[
  {
    "path": ".dockerignore",
    "content": ".dockerignore\n.gitignore\n*.md\n.git/\n.idea/\n.DS_Store/\ndocker-compose.*\nLICENSE\nnginx.conf\nyarn.lock\n"
  },
  {
    "path": ".editorconfig",
    "content": "root = true\n\n[*]\ncharset = utf-8\nend_of_line = lf\ninsert_final_newline = true\nindent_style = space\nindent_size = 4\ntrim_trailing_whitespace = true\n\n[*.md]\ntrim_trailing_whitespace = false\n\n[*.yml]\nindent_style = space\nindent_size = 2\n\n[*.vue]\nindent_size = 2\n\n[*.js]\nindent_size = 2\n\n[*.json]\nindent_size = 2\n"
  },
  {
    "path": ".eslintrc.js",
    "content": "// .eslintrc.js\n\nmodule.exports = {\n  extends: [\n    // add more generic rulesets here, such as:\n    // 'eslint:recommended',\n    \"plugin:vue/vue3-recommended\",\n    \"prettier\",\n  ],\n  rules: {\n    // override/add rules settings here, such as:\n    // 'vue/no-unused-vars': 'error'\n  },\n};\n"
  },
  {
    "path": ".gitattributes",
    "content": "* text=auto\n*.css linguist-vendored\n*.scss linguist-vendored\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/bug_report.md",
    "content": "---\nname: Bug report\nabout: Create a report to help us improve\ntitle: ''\nlabels: ''\nassignees: ''\n\n---\n\n**Describe the bug**\nA clear and concise description of what the bug is.\n\n**Expected behavior**\nA clear and concise description of what you expected to happen.\n\n**Screenshots**\nIf applicable, add screenshots to help explain your problem.\n\n**Please complete the following information:**\n- Crater version: \n- PHP version: \n- Database type and version: \n\n**Optional info**\n- OS:  [e.g. Ubuntu]\n- Browser: [e.g. chrome, safari]\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/feature_request.md",
    "content": "---\nname: Feature request\nabout: Suggest an idea for this project\ntitle: ''\nlabels: ''\nassignees: ''\n\n---\n\n**Is your feature request related to a problem? Please describe.**\nA clear and concise description of what the problem is. Ex. I'm always frustrated when [...]\n\n**Describe the solution you'd like**\nA clear and concise description of what you want to happen.\n\n**Describe alternatives you've considered**\nA clear and concise description of any alternative solutions or features you've considered.\n"
  },
  {
    "path": ".github/workflows/ci.yaml",
    "content": "name: CI\n\non: [push, pull_request]\n\njobs:\n  build-test:\n    runs-on: ubuntu-latest\n    strategy:\n      fail-fast: false\n      matrix:\n        php: ['7.4', '8.0']\n\n    name: PHP ${{ matrix.php }}\n\n    steps:\n    - name: Checkout\n      uses: actions/checkout@v2\n\n    - name: Install dependencies\n      uses: shivammathur/setup-php@v2\n      with:\n        php-version: ${{ matrix.php }}\n        extensions: exif\n\n    - name: Install PHP 7 dependencies\n      run: composer update --no-interaction --no-progress\n      if: \"matrix.php < 8\"\n\n    - name: Install PHP 8 dependencies\n      run: composer update --ignore-platform-req=php --no-interaction --no-progress\n      if: \"matrix.php >= 8\"\n\n    - name: Check coding style\n      run: ./vendor/bin/php-cs-fixer fix -v --dry-run --using-cache=no --config=.php-cs-fixer.dist.php\n\n    - name: Unit Tests\n      run: php ./vendor/bin/pest\n"
  },
  {
    "path": ".github/workflows/uffizzi-build.yml",
    "content": "name: Build PR Image\non:\n  pull_request:\n    types: [opened,synchronize,reopened,closed]\n\njobs:\n\n  build-application:\n    name: Build and Push `application`\n    runs-on: ubuntu-latest\n    if: ${{ github.event_name != 'pull_request' || github.event.action != 'closed' }}\n    outputs:\n      tags: ${{ steps.meta.outputs.tags }}\n    steps:\n      - name: Checkout git repo\n        uses: actions/checkout@v3\n      - name: Generate UUID image name\n        id: uuid\n        run: echo \"UUID_TAG_APP=$(uuidgen)\" >> $GITHUB_ENV\n      - name: Docker metadata\n        id: meta\n        uses: docker/metadata-action@v3\n        with:\n          images: registry.uffizzi.com/${{ env.UUID_TAG_APP }}\n          tags: type=raw,value=60d\n      - name: Build and Push Image to registry.uffizzi.com ephemeral registry\n        uses: docker/build-push-action@v2\n        with:\n          push: true\n          context: ./\n          tags: ${{ steps.meta.outputs.tags }}\n          labels: ${{ steps.meta.outputs.labels }}\n          file: ./uffizzi/Dockerfile\n\n  build-nginx:\n    needs: \n      - build-application\n    name: Build and Push `nginx`\n    runs-on: ubuntu-latest\n    if: ${{ github.event_name != 'pull_request' || github.event.action != 'closed' }}\n    outputs:\n      tags: ${{ steps.meta.outputs.tags }}\n    steps:\n      - name: Checkout git repo\n        uses: actions/checkout@v3\n      - name: Set up Docker Buildx\n        uses: docker/setup-buildx-action@v2        \n      - name: Generate UUID image name\n        id: uuid\n        run: echo \"UUID_TAG_NGINX=$(uuidgen)\" >> $GITHUB_ENV\n      - name: Docker metadata\n        id: meta\n        uses: docker/metadata-action@v3\n        with:\n          images: registry.uffizzi.com/${{ env.UUID_TAG_NGINX }}\n          tags: type=raw,value=60d\n      - name: Build and Push Image to Uffizzi ephemeral registry\n        uses: docker/build-push-action@v2\n        with:\n          push: true\n          context: ./\n          tags: ${{ steps.meta.outputs.tags }}\n          labels: ${{ steps.meta.outputs.labels }}\n          file: ./uffizzi/nginx/Dockerfile\n          build-args: |\n            BASE_IMAGE=${{ needs.build-application.outputs.tags }}\n          cache-from: type=gha\n          cache-to: type=gha,mode=max\n\n\n  build-crond:\n    name: Build and Push `crond`\n    runs-on: ubuntu-latest\n    if: ${{ github.event_name != 'pull_request' || github.event.action != 'closed' }}\n    outputs:\n      tags: ${{ steps.meta.outputs.tags }}\n    steps:\n      - name: Checkout git repo\n        uses: actions/checkout@v3\n      - name: Set up Docker Buildx\n        uses: docker/setup-buildx-action@v2        \n      - name: Generate UUID image name\n        id: uuid\n        run: echo \"UUID_TAG_CROND=$(uuidgen)\" >> $GITHUB_ENV\n      - name: Docker metadata\n        id: meta\n        uses: docker/metadata-action@v3\n        with:\n          images: registry.uffizzi.com/${{ env.UUID_TAG_CROND }}\n          tags: type=raw,value=60d\n      - name: Build and Push Image to registry.uffizzi.com ephemeral registry\n        uses: docker/build-push-action@v2\n        with:\n          push: true\n          context: ./\n          tags: ${{ steps.meta.outputs.tags }}\n          labels: ${{ steps.meta.outputs.labels }}\n          file: ./uffizzi/crond/Dockerfile      \n          cache-from: type=gha\n          cache-to: type=gha,mode=max\n\n\n\n  render-compose-file:\n    name: Render Docker Compose File\n    # Pass output of this workflow to another triggered by `workflow_run` event.\n    runs-on: ubuntu-latest\n    outputs:\n      compose-file-cache-key: ${{ steps.hash.outputs.hash }}\n    needs: \n      - build-application\n      - build-nginx\n      - build-crond\n    steps:\n      - name: Checkout git repo\n        uses: actions/checkout@v3\n      - name: Render Compose File\n        run: |\n          APP_IMAGE=$(echo ${{ needs.build-application.outputs.tags }})\n          export APP_IMAGE\n          NGINX_IMAGE=$(echo ${{ needs.build-nginx.outputs.tags }})\n          export NGINX_IMAGE\n          CROND_IMAGE=$(echo ${{ needs.build-crond.outputs.tags }})\n          export CROND_IMAGE\n          # Render simple template from environment variables.\n          envsubst < ./uffizzi/docker-compose.uffizzi.yml > docker-compose.rendered.yml\n          cat docker-compose.rendered.yml\n      - name: Upload Rendered Compose File as Artifact\n        uses: actions/upload-artifact@v3\n        with:\n          name: preview-spec\n          path: docker-compose.rendered.yml\n          retention-days: 2\n      - name: Serialize PR Event to File\n        run:  |\n          cat << EOF > event.json\n          ${{ toJSON(github.event) }} \n          \n          EOF\n      - name: Upload PR Event as Artifact\n        uses: actions/upload-artifact@v3\n        with:\n          name: preview-spec\n          path: event.json\n          retention-days: 2\n\n  delete-preview:\n    name: Call for Preview Deletion\n    runs-on: ubuntu-latest\n    if: ${{ github.event.action == 'closed' }}\n    steps:\n      # If this PR is closing, we will not render a compose file nor pass it to the next workflow.\n      - name: Serialize PR Event to File\n        run: echo '${{ toJSON(github.event) }}' > event.json\n      - name: Upload PR Event as Artifact\n        uses: actions/upload-artifact@v3\n        with:\n          name: preview-spec\n          path: event.json\n          retention-days: 2\n\n"
  },
  {
    "path": ".github/workflows/uffizzi-preview.yml",
    "content": "name: Deploy Uffizzi Preview\n\non:\n  workflow_run:\n    workflows:\n      - \"Build PR Image\"\n    types:\n      - completed\n\n\njobs:\n  cache-compose-file:\n    name: Cache Compose File\n    runs-on: ubuntu-latest\n    outputs:\n      compose-file-cache-key: ${{ env.COMPOSE_FILE_HASH }}\n      pr-number: ${{ env.PR_NUMBER }}\n    steps:\n      - name: 'Download artifacts'\n        # Fetch output (zip archive) from the workflow run that triggered this workflow.\n        uses: actions/github-script@v6\n        with:\n          script: |\n            let allArtifacts = await github.rest.actions.listWorkflowRunArtifacts({\n               owner: context.repo.owner,\n               repo: context.repo.repo,\n               run_id: context.payload.workflow_run.id,\n            });\n            let matchArtifact = allArtifacts.data.artifacts.filter((artifact) => {\n              return artifact.name == \"preview-spec\"\n            })[0];\n            let download = await github.rest.actions.downloadArtifact({\n               owner: context.repo.owner,\n               repo: context.repo.repo,\n               artifact_id: matchArtifact.id,\n               archive_format: 'zip',\n            });\n            let fs = require('fs');\n            fs.writeFileSync(`${process.env.GITHUB_WORKSPACE}/preview-spec.zip`, Buffer.from(download.data));\n      - name: 'Unzip artifact'\n        run: unzip preview-spec.zip\n      - name: Read Event into ENV\n        run: |\n          echo 'EVENT_JSON<<EOF' >> $GITHUB_ENV\n          cat event.json >> $GITHUB_ENV\n          echo 'EOF' >> $GITHUB_ENV\n      - name: Hash Rendered Compose File\n        id: hash\n        # If the previous workflow was triggered by a PR close event, we will not have a compose file artifact.\n        if: ${{ fromJSON(env.EVENT_JSON).action != 'closed' }}\n        run: echo \"COMPOSE_FILE_HASH=$(md5sum docker-compose.rendered.yml | awk '{ print $1 }')\" >> $GITHUB_ENV\n      - name: Cache Rendered Compose File\n        if: ${{ fromJSON(env.EVENT_JSON).action != 'closed' }}\n        uses: actions/cache@v3\n        with:\n          path: docker-compose.rendered.yml\n          key: ${{ env.COMPOSE_FILE_HASH }}\n\n      - name: Read PR Number From Event Object\n        id: pr\n        run: echo \"PR_NUMBER=${{ fromJSON(env.EVENT_JSON).number }}\" >> $GITHUB_ENV\n\n      - name: DEBUG - Print Job Outputs\n        if: ${{ runner.debug }}\n        run: |\n          echo \"PR number: ${{ env.PR_NUMBER }}\"\n          echo \"Compose file hash: ${{ env.COMPOSE_FILE_HASH }}\"\n          cat event.json\n  deploy-uffizzi-preview:\n    name: Use Remote Workflow to Preview on Uffizzi\n    needs:\n      - cache-compose-file\n    uses: UffizziCloud/preview-action/.github/workflows/reusable.yaml@v2.6.1\n    with:\n      # If this workflow was triggered by a PR close event, cache-key will be an empty string\n      # and this reusable workflow will delete the preview deployment.\n      compose-file-cache-key: ${{ needs.cache-compose-file.outputs.compose-file-cache-key }}\n      compose-file-cache-path: docker-compose.rendered.yml\n      server: https://app.uffizzi.com/\n      pr-number: ${{ needs.cache-compose-file.outputs.pr-number }}\n    permissions:\n      contents: read\n      pull-requests: write\n      id-token: write"
  },
  {
    "path": ".gitignore",
    "content": "/Modules\n/node_modules\n/public/storage\n/public/hot\n/storage/*.key\n/vendor\n/.idea\nHomestead.json\nHomestead.yaml\n.env\n.phpunit.result.cache\n.rnd\n/.expo\n/.vscode\n/docker-compose/db/data/\n.gitkeep\n/public/docs\n/.scribe\n!storage/fonts/.gitkeep\n.DS_Store\n"
  },
  {
    "path": ".php-cs-fixer.dist.php",
    "content": "<?php\n\n$finder = PhpCsFixer\\Finder::create()\n    ->in(__DIR__)\n    ->exclude(['bootstrap', 'storage', 'vendor'])\n    ->name('*.php')\n    ->name('_ide_helper')\n    ->notName('*.blade.php')\n    ->ignoreDotFiles(true)\n    ->ignoreVCS(true);\n\n$rules = [\n    '@PSR12' => true,\n    'array_syntax' => ['syntax' => 'short'],\n    'ordered_imports' => ['sort_algorithm' => 'alpha'],\n    'concat_space' => true,\n    'no_unused_imports' => true,\n    'not_operator_with_successor_space' => true,\n    'phpdoc_scalar' => true,\n    'unary_operator_spaces' => true,\n    'binary_operator_spaces' => true,\n    'blank_line_before_statement' => [\n        'statements' => ['break', 'continue', 'declare', 'return', 'throw', 'try'],\n    ],\n    'phpdoc_single_line_var_spacing' => true,\n    'phpdoc_var_without_name' => true,\n    'class_attributes_separation' => [\n        'elements' => [\n            'method' => 'one',\n            'property' => 'one',\n        ],\n    ],\n    'method_argument_space' => [\n        'on_multiline' => 'ensure_fully_multiline',\n        'keep_multiple_spaces_after_comma' => true,\n    ],\n];\n\nreturn (new PhpCsFixer\\Config())\n    ->setUsingCache(true)\n    ->setRules($rules)\n    ->setFinder($finder);\n"
  },
  {
    "path": ".prettierrc.json",
    "content": "{\n  \"semi\": false,\n  \"singleQuote\": true,\n  \"tabWidth\": 2\n}\n"
  },
  {
    "path": "CODE_OF_CONDUCT.md",
    "content": "# Contributor Covenant Code of Conduct\n\n## Our Pledge\n\nWe as members, contributors, and leaders pledge to make participation in our\ncommunity a harassment-free experience for everyone, regardless of age, body\nsize, visible or invisible disability, ethnicity, sex characteristics, gender\nidentity and expression, level of experience, education, socio-economic status,\nnationality, personal appearance, race, religion, or sexual identity\nand orientation.\n\nWe pledge to act and interact in ways that contribute to an open, welcoming,\ndiverse, inclusive, and healthy community.\n\n## Our Standards\n\nExamples of behavior that contributes to a positive environment for our\ncommunity include:\n\n* Demonstrating empathy and kindness toward other people\n* Being respectful of differing opinions, viewpoints, and experiences\n* Giving and gracefully accepting constructive feedback\n* Accepting responsibility and apologizing to those affected by our mistakes,\n  and learning from the experience\n* Focusing on what is best not just for us as individuals, but for the\n  overall community\n\nExamples of unacceptable behavior include:\n\n* The use of sexualized language or imagery, and sexual attention or\n  advances of any kind\n* Trolling, insulting or derogatory comments, and personal or political attacks\n* Public or private harassment\n* Publishing others' private information, such as a physical or email\n  address, without their explicit permission\n* Other conduct which could reasonably be considered inappropriate in a\n  professional setting\n\n## Enforcement Responsibilities\n\nCommunity leaders are responsible for clarifying and enforcing our standards of\nacceptable behavior and will take appropriate and fair corrective action in\nresponse to any behavior that they deem inappropriate, threatening, offensive,\nor harmful.\n\nCommunity leaders have the right and responsibility to remove, edit, or reject\ncomments, commits, code, wiki edits, issues, and other contributions that are\nnot aligned to this Code of Conduct, and will communicate reasons for moderation\ndecisions when appropriate.\n\n## Scope\n\nThis Code of Conduct applies within all community spaces, and also applies when\nan individual is officially representing the community in public spaces.\nExamples of representing our community include using an official e-mail address,\nposting via an official social media account, or acting as an appointed\nrepresentative at an online or offline event.\n\n## Enforcement\n\nInstances of abusive, harassing, or otherwise unacceptable behavior may be\nreported to the community leaders responsible for enforcement at\ninfo@craterapp.com.\nAll complaints will be reviewed and investigated promptly and fairly.\n\nAll community leaders are obligated to respect the privacy and security of the\nreporter of any incident.\n\n## Enforcement Guidelines\n\nCommunity leaders will follow these Community Impact Guidelines in determining\nthe consequences for any action they deem in violation of this Code of Conduct:\n\n### 1. Correction\n\n**Community Impact**: Use of inappropriate language or other behavior deemed\nunprofessional or unwelcome in the community.\n\n**Consequence**: A private, written warning from community leaders, providing\nclarity around the nature of the violation and an explanation of why the\nbehavior was inappropriate. A public apology may be requested.\n\n### 2. Warning\n\n**Community Impact**: A violation through a single incident or series\nof actions.\n\n**Consequence**: A warning with consequences for continued behavior. No\ninteraction with the people involved, including unsolicited interaction with\nthose enforcing the Code of Conduct, for a specified period of time. This\nincludes avoiding interactions in community spaces as well as external channels\nlike social media. Violating these terms may lead to a temporary or\npermanent ban.\n\n### 3. Temporary Ban\n\n**Community Impact**: A serious violation of community standards, including\nsustained inappropriate behavior.\n\n**Consequence**: A temporary ban from any sort of interaction or public\ncommunication with the community for a specified period of time. No public or\nprivate interaction with the people involved, including unsolicited interaction\nwith those enforcing the Code of Conduct, is allowed during this period.\nViolating these terms may lead to a permanent ban.\n\n### 4. Permanent Ban\n\n**Community Impact**: Demonstrating a pattern of violation of community\nstandards, including sustained inappropriate behavior,  harassment of an\nindividual, or aggression toward or disparagement of classes of individuals.\n\n**Consequence**: A permanent ban from any sort of public interaction within\nthe community.\n\n## Attribution\n\nThis Code of Conduct is adapted from the [Contributor Covenant][homepage],\nversion 2.0, available at\nhttps://www.contributor-covenant.org/version/2/0/code_of_conduct.html.\n\nCommunity Impact Guidelines were inspired by [Mozilla's code of conduct\nenforcement ladder](https://github.com/mozilla/diversity).\n\n[homepage]: https://www.contributor-covenant.org\n\nFor answers to common questions about this code of conduct, see the FAQ at\nhttps://www.contributor-covenant.org/faq. Translations are available at\nhttps://www.contributor-covenant.org/translations.\n"
  },
  {
    "path": "Dockerfile",
    "content": "FROM php:8.1-fpm\n\n# Arguments defined in docker-compose.yml\nARG user\nARG uid\n\n# Install system dependencies\nRUN apt-get update && apt-get install -y \\\n    git \\\n    curl \\\n    libpng-dev \\\n    libonig-dev \\\n    libxml2-dev \\\n    zip \\\n    unzip \\\n    libzip-dev \\\n    libmagickwand-dev \\\n    mariadb-client\n\n# Clear cache\nRUN apt-get clean && rm -rf /var/lib/apt/lists/*\n\nRUN pecl install imagick \\\n    && docker-php-ext-enable imagick\n\n# Install PHP extensions\nRUN docker-php-ext-install pdo_mysql mbstring zip exif pcntl bcmath gd\n\n# Get latest Composer\nCOPY --from=composer:latest /usr/bin/composer /usr/bin/composer\n\n# Create system user to run Composer and Artisan Commands\nRUN useradd -G www-data,root -u $uid -d /home/$user $user\nRUN mkdir -p /home/$user/.composer && \\\n    chown -R $user:$user /home/$user\n\n# Set working directory\nWORKDIR /var/www\n\nUSER $user\n"
  },
  {
    "path": "LICENSE",
    "content": "                    GNU AFFERO GENERAL PUBLIC LICENSE\n                       Version 3, 19 November 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>\n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n                            Preamble\n\n  The GNU Affero General Public License is a free, copyleft license for\nsoftware and other kinds of works, specifically designed to ensure\ncooperation with the community in the case of network server software.\n\n  The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works.  By contrast,\nour General Public Licenses are intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users.\n\n  When we speak of free software, we are referring to freedom, not\nprice.  Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n  Developers that use our General Public Licenses protect your rights\nwith two steps: (1) assert copyright on the software, and (2) offer\nyou this License which gives you legal permission to copy, distribute\nand/or modify the software.\n\n  A secondary benefit of defending all users' freedom is that\nimprovements made in alternate versions of the program, if they\nreceive widespread use, become available for other developers to\nincorporate.  Many developers of free software are heartened and\nencouraged by the resulting cooperation.  However, in the case of\nsoftware used on network servers, this result may fail to come about.\nThe GNU General Public License permits making a modified version and\nletting the public access it on a server without ever releasing its\nsource code to the public.\n\n  The GNU Affero General Public License is designed specifically to\nensure that, in such cases, the modified source code becomes available\nto the community.  It requires the operator of a network server to\nprovide the source code of the modified version running there to the\nusers of that server.  Therefore, public use of a modified version, on\na publicly accessible server, gives the public access to the source\ncode of the modified version.\n\n  An older license, called the Affero General Public License and\npublished by Affero, was designed to accomplish similar goals.  This is\na different license, not a version of the Affero GPL, but Affero has\nreleased a new version of the Affero GPL which permits relicensing under\nthis license.\n\n  The precise terms and conditions for copying, distribution and\nmodification follow.\n\n                       TERMS AND CONDITIONS\n\n  0. Definitions.\n\n  \"This License\" refers to version 3 of the GNU Affero General Public License.\n\n  \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n\n  \"The Program\" refers to any copyrightable work licensed under this\nLicense.  Each licensee is addressed as \"you\".  \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n  To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy.  The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n  A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n  To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy.  Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n  To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies.  Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n  An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License.  If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n  1. Source Code.\n\n  The \"source code\" for a work means the preferred form of the work\nfor making modifications to it.  \"Object code\" means any non-source\nform of a work.\n\n  A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n  The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form.  A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n  The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities.  However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work.  For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n  The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n  The Corresponding Source for a work in source code form is that\nsame work.\n\n  2. Basic Permissions.\n\n  All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met.  This License explicitly affirms your unlimited\npermission to run the unmodified Program.  The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work.  This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n  You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force.  You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright.  Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n  Conveying under any other circumstances is permitted solely under\nthe conditions stated below.  Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n  3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n  No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n  When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n  4. Conveying Verbatim Copies.\n\n  You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n  You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n  5. Conveying Modified Source Versions.\n\n  You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n    a) The work must carry prominent notices stating that you modified\n    it, and giving a relevant date.\n\n    b) The work must carry prominent notices stating that it is\n    released under this License and any conditions added under section\n    7.  This requirement modifies the requirement in section 4 to\n    \"keep intact all notices\".\n\n    c) You must license the entire work, as a whole, under this\n    License to anyone who comes into possession of a copy.  This\n    License will therefore apply, along with any applicable section 7\n    additional terms, to the whole of the work, and all its parts,\n    regardless of how they are packaged.  This License gives no\n    permission to license the work in any other way, but it does not\n    invalidate such permission if you have separately received it.\n\n    d) If the work has interactive user interfaces, each must display\n    Appropriate Legal Notices; however, if the Program has interactive\n    interfaces that do not display Appropriate Legal Notices, your\n    work need not make them do so.\n\n  A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit.  Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n  6. Conveying Non-Source Forms.\n\n  You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n    a) Convey the object code in, or embodied in, a physical product\n    (including a physical distribution medium), accompanied by the\n    Corresponding Source fixed on a durable physical medium\n    customarily used for software interchange.\n\n    b) Convey the object code in, or embodied in, a physical product\n    (including a physical distribution medium), accompanied by a\n    written offer, valid for at least three years and valid for as\n    long as you offer spare parts or customer support for that product\n    model, to give anyone who possesses the object code either (1) a\n    copy of the Corresponding Source for all the software in the\n    product that is covered by this License, on a durable physical\n    medium customarily used for software interchange, for a price no\n    more than your reasonable cost of physically performing this\n    conveying of source, or (2) access to copy the\n    Corresponding Source from a network server at no charge.\n\n    c) Convey individual copies of the object code with a copy of the\n    written offer to provide the Corresponding Source.  This\n    alternative is allowed only occasionally and noncommercially, and\n    only if you received the object code with such an offer, in accord\n    with subsection 6b.\n\n    d) Convey the object code by offering access from a designated\n    place (gratis or for a charge), and offer equivalent access to the\n    Corresponding Source in the same way through the same place at no\n    further charge.  You need not require recipients to copy the\n    Corresponding Source along with the object code.  If the place to\n    copy the object code is a network server, the Corresponding Source\n    may be on a different server (operated by you or a third party)\n    that supports equivalent copying facilities, provided you maintain\n    clear directions next to the object code saying where to find the\n    Corresponding Source.  Regardless of what server hosts the\n    Corresponding Source, you remain obligated to ensure that it is\n    available for as long as needed to satisfy these requirements.\n\n    e) Convey the object code using peer-to-peer transmission, provided\n    you inform other peers where the object code and Corresponding\n    Source of the work are being offered to the general public at no\n    charge under subsection 6d.\n\n  A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n  A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling.  In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage.  For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product.  A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n  \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source.  The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n  If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information.  But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n  The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed.  Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n  Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n  7. Additional Terms.\n\n  \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law.  If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n  When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit.  (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.)  You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n  Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n    a) Disclaiming warranty or limiting liability differently from the\n    terms of sections 15 and 16 of this License; or\n\n    b) Requiring preservation of specified reasonable legal notices or\n    author attributions in that material or in the Appropriate Legal\n    Notices displayed by works containing it; or\n\n    c) Prohibiting misrepresentation of the origin of that material, or\n    requiring that modified versions of such material be marked in\n    reasonable ways as different from the original version; or\n\n    d) Limiting the use for publicity purposes of names of licensors or\n    authors of the material; or\n\n    e) Declining to grant rights under trademark law for use of some\n    trade names, trademarks, or service marks; or\n\n    f) Requiring indemnification of licensors and authors of that\n    material by anyone who conveys the material (or modified versions of\n    it) with contractual assumptions of liability to the recipient, for\n    any liability that these contractual assumptions directly impose on\n    those licensors and authors.\n\n  All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10.  If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term.  If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n  If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n  Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n  8. Termination.\n\n  You may not propagate or modify a covered work except as expressly\nprovided under this License.  Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n  However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n  Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n  Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License.  If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n  9. Acceptance Not Required for Having Copies.\n\n  You are not required to accept this License in order to receive or\nrun a copy of the Program.  Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance.  However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work.  These actions infringe copyright if you do\nnot accept this License.  Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n  10. Automatic Licensing of Downstream Recipients.\n\n  Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License.  You are not responsible\nfor enforcing compliance by third parties with this License.\n\n  An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations.  If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n  You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License.  For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n  11. Patents.\n\n  A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based.  The\nwork thus licensed is called the contributor's \"contributor version\".\n\n  A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version.  For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n  Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n  In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement).  To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n  If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients.  \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n\n  If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n  A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License.  You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n  Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n  12. No Surrender of Others' Freedom.\n\n  If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License.  If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all.  For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n  13. Remote Network Interaction; Use with the GNU General Public License.\n\n  Notwithstanding any other provision of this License, if you modify the\nProgram, your modified version must prominently offer all users\ninteracting with it remotely through a computer network (if your version\nsupports such interaction) an opportunity to receive the Corresponding\nSource of your version by providing access to the Corresponding Source\nfrom a network server at no charge, through some standard or customary\nmeans of facilitating copying of software.  This Corresponding Source\nshall include the Corresponding Source for any work covered by version 3\nof the GNU General Public License that is incorporated pursuant to the\nfollowing paragraph.\n\n  Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU General Public License into a single\ncombined work, and to convey the resulting work.  The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the work with which it is combined will remain governed by version\n3 of the GNU General Public License.\n\n  14. Revised Versions of this License.\n\n  The Free Software Foundation may publish revised and/or new versions of\nthe GNU Affero General Public License from time to time.  Such new versions\nwill be similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n  Each version is given a distinguishing version number.  If the\nProgram specifies that a certain numbered version of the GNU Affero General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation.  If the Program does not specify a version number of the\nGNU Affero General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n  If the Program specifies that a proxy can decide which future\nversions of the GNU Affero General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n  Later license versions may give you additional or different\npermissions.  However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n  15. Disclaimer of Warranty.\n\n  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n  16. Limitation of Liability.\n\n  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n  17. Interpretation of Sections 15 and 16.\n\n  If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n                     END OF TERMS AND CONDITIONS\n\n            How to Apply These Terms to Your New Programs\n\n  If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n  To do so, attach the following notices to the program.  It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n    <one line to give the program's name and a brief idea of what it does.>\n    Copyright (C) <year>  <name of author>\n\n    This program is free software: you can redistribute it and/or modify\n    it under the terms of the GNU Affero General Public License as published\n    by the Free Software Foundation, either version 3 of the License, or\n    (at your option) any later version.\n\n    This program is distributed in the hope that it will be useful,\n    but WITHOUT ANY WARRANTY; without even the implied warranty of\n    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n    GNU Affero General Public License for more details.\n\n    You should have received a copy of the GNU Affero General Public License\n    along with this program.  If not, see <https://www.gnu.org/licenses/>.\n\nAlso add information on how to contact you by electronic and paper mail.\n\n  If your software can interact with users remotely through a computer\nnetwork, you should also make sure that it provides a way for users to\nget its source.  For example, if your program is a web application, its\ninterface could display a \"Source\" link that leads users to an archive\nof the code.  There are many ways you could offer source, and different\nsolutions will be better for different programs; see section 13 for the\nspecific requirements.\n\n  You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU AGPL, see\n<https://www.gnu.org/licenses/>.\n"
  },
  {
    "path": "SECURITY.md",
    "content": "# Security Policy\n\n## Reporting a Vulnerability\n\nPlease email security@craterapp.com to report any security vulnerabilities. We will acknowledge receipt of your vulnerability and strive to send you regular updates about our progress. If you're curious about the status of your disclosure please feel free to email us again.\n"
  },
  {
    "path": "_ide_helper.php",
    "content": "<?php\n/**\n * A helper file for Laravel 5, to provide autocomplete information to your IDE\n * Generated for Laravel 5.4.6 on 2017-01-30.\n *\n * @author Barry vd. Heuvel <barryvdh@gmail.com>\n * @see https://github.com/barryvdh/laravel-ide-helper\n */\n\nnamespace {\n    exit(\"This file should not be included, only analyzed by your IDE\");\n\n    class App extends \\Illuminate\\Support\\Facades\\App\n    {\n        /**\n         * Get the version number of the application.\n         *\n         * @return string\n         * @static\n         */\n        public static function version()\n        {\n            return \\Illuminate\\Foundation\\Application::version();\n        }\n\n        /**\n         * Run the given array of bootstrap classes.\n         *\n         * @param array $bootstrappers\n         * @return void\n         * @static\n         */\n        public static function bootstrapWith($bootstrappers)\n        {\n            \\Illuminate\\Foundation\\Application::bootstrapWith($bootstrappers);\n        }\n\n        /**\n         * Register a callback to run after loading the environment.\n         *\n         * @param \\Closure $callback\n         * @return void\n         * @static\n         */\n        public static function afterLoadingEnvironment($callback)\n        {\n            \\Illuminate\\Foundation\\Application::afterLoadingEnvironment($callback);\n        }\n\n        /**\n         * Register a callback to run before a bootstrapper.\n         *\n         * @param string $bootstrapper\n         * @param \\Closure $callback\n         * @return void\n         * @static\n         */\n        public static function beforeBootstrapping($bootstrapper, $callback)\n        {\n            \\Illuminate\\Foundation\\Application::beforeBootstrapping($bootstrapper, $callback);\n        }\n\n        /**\n         * Register a callback to run after a bootstrapper.\n         *\n         * @param string $bootstrapper\n         * @param \\Closure $callback\n         * @return void\n         * @static\n         */\n        public static function afterBootstrapping($bootstrapper, $callback)\n        {\n            \\Illuminate\\Foundation\\Application::afterBootstrapping($bootstrapper, $callback);\n        }\n\n        /**\n         * Determine if the application has been bootstrapped before.\n         *\n         * @return bool\n         * @static\n         */\n        public static function hasBeenBootstrapped()\n        {\n            return \\Illuminate\\Foundation\\Application::hasBeenBootstrapped();\n        }\n\n        /**\n         * Set the base path for the application.\n         *\n         * @param string $basePath\n         * @return $this\n         * @static\n         */\n        public static function setBasePath($basePath)\n        {\n            return \\Illuminate\\Foundation\\Application::setBasePath($basePath);\n        }\n\n        /**\n         * Get the path to the application \"app\" directory.\n         *\n         * @return string\n         * @static\n         */\n        public static function path()\n        {\n            return \\Illuminate\\Foundation\\Application::path();\n        }\n\n        /**\n         * Get the base path of the Laravel installation.\n         *\n         * @return string\n         * @static\n         */\n        public static function basePath()\n        {\n            return \\Illuminate\\Foundation\\Application::basePath();\n        }\n\n        /**\n         * Get the path to the bootstrap directory.\n         *\n         * @return string\n         * @static\n         */\n        public static function bootstrapPath()\n        {\n            return \\Illuminate\\Foundation\\Application::bootstrapPath();\n        }\n\n        /**\n         * Get the path to the application configuration files.\n         *\n         * @return string\n         * @static\n         */\n        public static function configPath()\n        {\n            return \\Illuminate\\Foundation\\Application::configPath();\n        }\n\n        /**\n         * Get the path to the database directory.\n         *\n         * @return string\n         * @static\n         */\n        public static function databasePath()\n        {\n            return \\Illuminate\\Foundation\\Application::databasePath();\n        }\n\n        /**\n         * Set the database directory.\n         *\n         * @param string $path\n         * @return $this\n         * @static\n         */\n        public static function useDatabasePath($path)\n        {\n            return \\Illuminate\\Foundation\\Application::useDatabasePath($path);\n        }\n\n        /**\n         * Get the path to the language files.\n         *\n         * @return string\n         * @static\n         */\n        public static function langPath()\n        {\n            return \\Illuminate\\Foundation\\Application::langPath();\n        }\n\n        /**\n         * Get the path to the public / web directory.\n         *\n         * @return string\n         * @static\n         */\n        public static function publicPath()\n        {\n            return \\Illuminate\\Foundation\\Application::publicPath();\n        }\n\n        /**\n         * Get the path to the storage directory.\n         *\n         * @return string\n         * @static\n         */\n        public static function storagePath()\n        {\n            return \\Illuminate\\Foundation\\Application::storagePath();\n        }\n\n        /**\n         * Set the storage directory.\n         *\n         * @param string $path\n         * @return $this\n         * @static\n         */\n        public static function useStoragePath($path)\n        {\n            return \\Illuminate\\Foundation\\Application::useStoragePath($path);\n        }\n\n        /**\n         * Get the path to the resources directory.\n         *\n         * @return string\n         * @static\n         */\n        public static function resourcePath()\n        {\n            return \\Illuminate\\Foundation\\Application::resourcePath();\n        }\n\n        /**\n         * Get the path to the environment file directory.\n         *\n         * @return string\n         * @static\n         */\n        public static function environmentPath()\n        {\n            return \\Illuminate\\Foundation\\Application::environmentPath();\n        }\n\n        /**\n         * Set the directory for the environment file.\n         *\n         * @param string $path\n         * @return $this\n         * @static\n         */\n        public static function useEnvironmentPath($path)\n        {\n            return \\Illuminate\\Foundation\\Application::useEnvironmentPath($path);\n        }\n\n        /**\n         * Set the environment file to be loaded during bootstrapping.\n         *\n         * @param string $file\n         * @return $this\n         * @static\n         */\n        public static function loadEnvironmentFrom($file)\n        {\n            return \\Illuminate\\Foundation\\Application::loadEnvironmentFrom($file);\n        }\n\n        /**\n         * Get the environment file the application is using.\n         *\n         * @return string\n         * @static\n         */\n        public static function environmentFile()\n        {\n            return \\Illuminate\\Foundation\\Application::environmentFile();\n        }\n\n        /**\n         * Get the fully qualified path to the environment file.\n         *\n         * @return string\n         * @static\n         */\n        public static function environmentFilePath()\n        {\n            return \\Illuminate\\Foundation\\Application::environmentFilePath();\n        }\n\n        /**\n         * Get or check the current application environment.\n         *\n         * @return string|bool\n         * @static\n         */\n        public static function environment()\n        {\n            return \\Illuminate\\Foundation\\Application::environment();\n        }\n\n        /**\n         * Determine if application is in local environment.\n         *\n         * @return bool\n         * @static\n         */\n        public static function isLocal()\n        {\n            return \\Illuminate\\Foundation\\Application::isLocal();\n        }\n\n        /**\n         * Detect the application's current environment.\n         *\n         * @param \\Closure $callback\n         * @return string\n         * @static\n         */\n        public static function detectEnvironment($callback)\n        {\n            return \\Illuminate\\Foundation\\Application::detectEnvironment($callback);\n        }\n\n        /**\n         * Determine if we are running in the console.\n         *\n         * @return bool\n         * @static\n         */\n        public static function runningInConsole()\n        {\n            return \\Illuminate\\Foundation\\Application::runningInConsole();\n        }\n\n        /**\n         * Determine if we are running unit tests.\n         *\n         * @return bool\n         * @static\n         */\n        public static function runningUnitTests()\n        {\n            return \\Illuminate\\Foundation\\Application::runningUnitTests();\n        }\n\n        /**\n         * Register all of the configured providers.\n         *\n         * @return void\n         * @static\n         */\n        public static function registerConfiguredProviders()\n        {\n            \\Illuminate\\Foundation\\Application::registerConfiguredProviders();\n        }\n\n        /**\n         * Register a service provider with the application.\n         *\n         * @param \\Illuminate\\Support\\ServiceProvider|string $provider\n         * @param array $options\n         * @param bool $force\n         * @return \\Illuminate\\Support\\ServiceProvider\n         * @static\n         */\n        public static function register($provider, $options = [], $force = false)\n        {\n            return \\Illuminate\\Foundation\\Application::register($provider, $options, $force);\n        }\n\n        /**\n         * Get the registered service provider instance if it exists.\n         *\n         * @param \\Illuminate\\Support\\ServiceProvider|string $provider\n         * @return \\Illuminate\\Support\\ServiceProvider|null\n         * @static\n         */\n        public static function getProvider($provider)\n        {\n            return \\Illuminate\\Foundation\\Application::getProvider($provider);\n        }\n\n        /**\n         * Resolve a service provider instance from the class name.\n         *\n         * @param string $provider\n         * @return \\Illuminate\\Support\\ServiceProvider\n         * @static\n         */\n        public static function resolveProvider($provider)\n        {\n            return \\Illuminate\\Foundation\\Application::resolveProvider($provider);\n        }\n\n        /**\n         * Load and boot all of the remaining deferred providers.\n         *\n         * @return void\n         * @static\n         */\n        public static function loadDeferredProviders()\n        {\n            \\Illuminate\\Foundation\\Application::loadDeferredProviders();\n        }\n\n        /**\n         * Load the provider for a deferred service.\n         *\n         * @param string $service\n         * @return void\n         * @static\n         */\n        public static function loadDeferredProvider($service)\n        {\n            \\Illuminate\\Foundation\\Application::loadDeferredProvider($service);\n        }\n\n        /**\n         * Register a deferred provider and service.\n         *\n         * @param string $provider\n         * @param string $service\n         * @return void\n         * @static\n         */\n        public static function registerDeferredProvider($provider, $service = null)\n        {\n            \\Illuminate\\Foundation\\Application::registerDeferredProvider($provider, $service);\n        }\n\n        /**\n         * Resolve the given type from the container.\n         *\n         * (Overriding Container::make)\n         *\n         * @param string $abstract\n         * @return mixed\n         * @static\n         */\n        public static function make($abstract)\n        {\n            return \\Illuminate\\Foundation\\Application::make($abstract);\n        }\n\n        /**\n         * Determine if the given abstract type has been bound.\n         *\n         * (Overriding Container::bound)\n         *\n         * @param string $abstract\n         * @return bool\n         * @static\n         */\n        public static function bound($abstract)\n        {\n            return \\Illuminate\\Foundation\\Application::bound($abstract);\n        }\n\n        /**\n         * Determine if the application has booted.\n         *\n         * @return bool\n         * @static\n         */\n        public static function isBooted()\n        {\n            return \\Illuminate\\Foundation\\Application::isBooted();\n        }\n\n        /**\n         * Boot the application's service providers.\n         *\n         * @return void\n         * @static\n         */\n        public static function boot()\n        {\n            \\Illuminate\\Foundation\\Application::boot();\n        }\n\n        /**\n         * Register a new boot listener.\n         *\n         * @param mixed $callback\n         * @return void\n         * @static\n         */\n        public static function booting($callback)\n        {\n            \\Illuminate\\Foundation\\Application::booting($callback);\n        }\n\n        /**\n         * Register a new \"booted\" listener.\n         *\n         * @param mixed $callback\n         * @return void\n         * @static\n         */\n        public static function booted($callback)\n        {\n            \\Illuminate\\Foundation\\Application::booted($callback);\n        }\n\n        /**\n         * {@inheritdoc}\n         *\n         * @static\n         */\n        public static function handle($request, $type = 1, $catch = true)\n        {\n            return \\Illuminate\\Foundation\\Application::handle($request, $type, $catch);\n        }\n\n        /**\n         * Determine if middleware has been disabled for the application.\n         *\n         * @return bool\n         * @static\n         */\n        public static function shouldSkipMiddleware()\n        {\n            return \\Illuminate\\Foundation\\Application::shouldSkipMiddleware();\n        }\n\n        /**\n         * Get the path to the cached services.php file.\n         *\n         * @return string\n         * @static\n         */\n        public static function getCachedServicesPath()\n        {\n            return \\Illuminate\\Foundation\\Application::getCachedServicesPath();\n        }\n\n        /**\n         * Determine if the application configuration is cached.\n         *\n         * @return bool\n         * @static\n         */\n        public static function configurationIsCached()\n        {\n            return \\Illuminate\\Foundation\\Application::configurationIsCached();\n        }\n\n        /**\n         * Get the path to the configuration cache file.\n         *\n         * @return string\n         * @static\n         */\n        public static function getCachedConfigPath()\n        {\n            return \\Illuminate\\Foundation\\Application::getCachedConfigPath();\n        }\n\n        /**\n         * Determine if the application routes are cached.\n         *\n         * @return bool\n         * @static\n         */\n        public static function routesAreCached()\n        {\n            return \\Illuminate\\Foundation\\Application::routesAreCached();\n        }\n\n        /**\n         * Get the path to the routes cache file.\n         *\n         * @return string\n         * @static\n         */\n        public static function getCachedRoutesPath()\n        {\n            return \\Illuminate\\Foundation\\Application::getCachedRoutesPath();\n        }\n\n        /**\n         * Determine if the application is currently down for maintenance.\n         *\n         * @return bool\n         * @static\n         */\n        public static function isDownForMaintenance()\n        {\n            return \\Illuminate\\Foundation\\Application::isDownForMaintenance();\n        }\n\n        /**\n         * Throw an HttpException with the given data.\n         *\n         * @param int $code\n         * @param string $message\n         * @param array $headers\n         * @return void\n         * @throws \\Symfony\\Component\\HttpKernel\\Exception\\HttpException\n         * @static\n         */\n        public static function abort($code, $message = '', $headers = [])\n        {\n            \\Illuminate\\Foundation\\Application::abort($code, $message, $headers);\n        }\n\n        /**\n         * Register a terminating callback with the application.\n         *\n         * @param \\Closure $callback\n         * @return $this\n         * @static\n         */\n        public static function terminating($callback)\n        {\n            return \\Illuminate\\Foundation\\Application::terminating($callback);\n        }\n\n        /**\n         * Terminate the application.\n         *\n         * @return void\n         * @static\n         */\n        public static function terminate()\n        {\n            \\Illuminate\\Foundation\\Application::terminate();\n        }\n\n        /**\n         * Get the service providers that have been loaded.\n         *\n         * @return array\n         * @static\n         */\n        public static function getLoadedProviders()\n        {\n            return \\Illuminate\\Foundation\\Application::getLoadedProviders();\n        }\n\n        /**\n         * Get the application's deferred services.\n         *\n         * @return array\n         * @static\n         */\n        public static function getDeferredServices()\n        {\n            return \\Illuminate\\Foundation\\Application::getDeferredServices();\n        }\n\n        /**\n         * Set the application's deferred services.\n         *\n         * @param array $services\n         * @return void\n         * @static\n         */\n        public static function setDeferredServices($services)\n        {\n            \\Illuminate\\Foundation\\Application::setDeferredServices($services);\n        }\n\n        /**\n         * Add an array of services to the application's deferred services.\n         *\n         * @param array $services\n         * @return void\n         * @static\n         */\n        public static function addDeferredServices($services)\n        {\n            \\Illuminate\\Foundation\\Application::addDeferredServices($services);\n        }\n\n        /**\n         * Determine if the given service is a deferred service.\n         *\n         * @param string $service\n         * @return bool\n         * @static\n         */\n        public static function isDeferredService($service)\n        {\n            return \\Illuminate\\Foundation\\Application::isDeferredService($service);\n        }\n\n        /**\n         * Configure the real-time facade namespace.\n         *\n         * @param string $namespace\n         * @return void\n         * @static\n         */\n        public static function provideFacades($namespace)\n        {\n            \\Illuminate\\Foundation\\Application::provideFacades($namespace);\n        }\n\n        /**\n         * Define a callback to be used to configure Monolog.\n         *\n         * @param callable $callback\n         * @return $this\n         * @static\n         */\n        public static function configureMonologUsing($callback)\n        {\n            return \\Illuminate\\Foundation\\Application::configureMonologUsing($callback);\n        }\n\n        /**\n         * Determine if the application has a custom Monolog configurator.\n         *\n         * @return bool\n         * @static\n         */\n        public static function hasMonologConfigurator()\n        {\n            return \\Illuminate\\Foundation\\Application::hasMonologConfigurator();\n        }\n\n        /**\n         * Get the custom Monolog configurator for the application.\n         *\n         * @return callable\n         * @static\n         */\n        public static function getMonologConfigurator()\n        {\n            return \\Illuminate\\Foundation\\Application::getMonologConfigurator();\n        }\n\n        /**\n         * Get the current application locale.\n         *\n         * @return string\n         * @static\n         */\n        public static function getLocale()\n        {\n            return \\Illuminate\\Foundation\\Application::getLocale();\n        }\n\n        /**\n         * Set the current application locale.\n         *\n         * @param string $locale\n         * @return void\n         * @static\n         */\n        public static function setLocale($locale)\n        {\n            \\Illuminate\\Foundation\\Application::setLocale($locale);\n        }\n\n        /**\n         * Determine if application locale is the given locale.\n         *\n         * @param string $locale\n         * @return bool\n         * @static\n         */\n        public static function isLocale($locale)\n        {\n            return \\Illuminate\\Foundation\\Application::isLocale($locale);\n        }\n\n        /**\n         * Register the core class aliases in the container.\n         *\n         * @return void\n         * @static\n         */\n        public static function registerCoreContainerAliases()\n        {\n            \\Illuminate\\Foundation\\Application::registerCoreContainerAliases();\n        }\n\n        /**\n         * Flush the container of all bindings and resolved instances.\n         *\n         * @return void\n         * @static\n         */\n        public static function flush()\n        {\n            \\Illuminate\\Foundation\\Application::flush();\n        }\n\n        /**\n         * Get the application namespace.\n         *\n         * @return string\n         * @throws \\RuntimeException\n         * @static\n         */\n        public static function getNamespace()\n        {\n            return \\Illuminate\\Foundation\\Application::getNamespace();\n        }\n\n        /**\n         * Define a contextual binding.\n         *\n         * @param string $concrete\n         * @return \\Illuminate\\Contracts\\Container\\ContextualBindingBuilder\n         * @static\n         */\n        public static function when($concrete)\n        {\n            //Method inherited from \\Illuminate\\Container\\Container\n            return \\Illuminate\\Foundation\\Application::when($concrete);\n        }\n\n        /**\n         * Determine if the given abstract type has been resolved.\n         *\n         * @param string $abstract\n         * @return bool\n         * @static\n         */\n        public static function resolved($abstract)\n        {\n            //Method inherited from \\Illuminate\\Container\\Container\n            return \\Illuminate\\Foundation\\Application::resolved($abstract);\n        }\n\n        /**\n         * Determine if a given type is shared.\n         *\n         * @param string $abstract\n         * @return bool\n         * @static\n         */\n        public static function isShared($abstract)\n        {\n            //Method inherited from \\Illuminate\\Container\\Container\n            return \\Illuminate\\Foundation\\Application::isShared($abstract);\n        }\n\n        /**\n         * Determine if a given string is an alias.\n         *\n         * @param string $name\n         * @return bool\n         * @static\n         */\n        public static function isAlias($name)\n        {\n            //Method inherited from \\Illuminate\\Container\\Container\n            return \\Illuminate\\Foundation\\Application::isAlias($name);\n        }\n\n        /**\n         * Register a binding with the container.\n         *\n         * @param string|array $abstract\n         * @param \\Closure|string|null $concrete\n         * @param bool $shared\n         * @return void\n         * @static\n         */\n        public static function bind($abstract, $concrete = null, $shared = false)\n        {\n            //Method inherited from \\Illuminate\\Container\\Container\n            \\Illuminate\\Foundation\\Application::bind($abstract, $concrete, $shared);\n        }\n\n        /**\n         * Determine if the container has a method binding.\n         *\n         * @param string $method\n         * @return bool\n         * @static\n         */\n        public static function hasMethodBinding($method)\n        {\n            //Method inherited from \\Illuminate\\Container\\Container\n            return \\Illuminate\\Foundation\\Application::hasMethodBinding($method);\n        }\n\n        /**\n         * Bind a callback to resolve with Container::call.\n         *\n         * @param string $method\n         * @param \\Closure $callback\n         * @return void\n         * @static\n         */\n        public static function bindMethod($method, $callback)\n        {\n            //Method inherited from \\Illuminate\\Container\\Container\n            \\Illuminate\\Foundation\\Application::bindMethod($method, $callback);\n        }\n\n        /**\n         * Get the method binding for the given method.\n         *\n         * @param string $method\n         * @param mixed $instance\n         * @return mixed\n         * @static\n         */\n        public static function callMethodBinding($method, $instance)\n        {\n            //Method inherited from \\Illuminate\\Container\\Container\n            return \\Illuminate\\Foundation\\Application::callMethodBinding($method, $instance);\n        }\n\n        /**\n         * Add a contextual binding to the container.\n         *\n         * @param string $concrete\n         * @param string $abstract\n         * @param \\Closure|string $implementation\n         * @return void\n         * @static\n         */\n        public static function addContextualBinding($concrete, $abstract, $implementation)\n        {\n            //Method inherited from \\Illuminate\\Container\\Container\n            \\Illuminate\\Foundation\\Application::addContextualBinding($concrete, $abstract, $implementation);\n        }\n\n        /**\n         * Register a binding if it hasn't already been registered.\n         *\n         * @param string $abstract\n         * @param \\Closure|string|null $concrete\n         * @param bool $shared\n         * @return void\n         * @static\n         */\n        public static function bindIf($abstract, $concrete = null, $shared = false)\n        {\n            //Method inherited from \\Illuminate\\Container\\Container\n            \\Illuminate\\Foundation\\Application::bindIf($abstract, $concrete, $shared);\n        }\n\n        /**\n         * Register a shared binding in the container.\n         *\n         * @param string|array $abstract\n         * @param \\Closure|string|null $concrete\n         * @return void\n         * @static\n         */\n        public static function singleton($abstract, $concrete = null)\n        {\n            //Method inherited from \\Illuminate\\Container\\Container\n            \\Illuminate\\Foundation\\Application::singleton($abstract, $concrete);\n        }\n\n        /**\n         * \"Extend\" an abstract type in the container.\n         *\n         * @param string $abstract\n         * @param \\Closure $closure\n         * @return void\n         * @throws \\InvalidArgumentException\n         * @static\n         */\n        public static function extend($abstract, $closure)\n        {\n            //Method inherited from \\Illuminate\\Container\\Container\n            \\Illuminate\\Foundation\\Application::extend($abstract, $closure);\n        }\n\n        /**\n         * Register an existing instance as shared in the container.\n         *\n         * @param string $abstract\n         * @param mixed $instance\n         * @return void\n         * @static\n         */\n        public static function instance($abstract, $instance)\n        {\n            //Method inherited from \\Illuminate\\Container\\Container\n            \\Illuminate\\Foundation\\Application::instance($abstract, $instance);\n        }\n\n        /**\n         * Assign a set of tags to a given binding.\n         *\n         * @param array|string $abstracts\n         * @param array|mixed $tags\n         * @return void\n         * @static\n         */\n        public static function tag($abstracts, $tags)\n        {\n            //Method inherited from \\Illuminate\\Container\\Container\n            \\Illuminate\\Foundation\\Application::tag($abstracts, $tags);\n        }\n\n        /**\n         * Resolve all of the bindings for a given tag.\n         *\n         * @param string $tag\n         * @return array\n         * @static\n         */\n        public static function tagged($tag)\n        {\n            //Method inherited from \\Illuminate\\Container\\Container\n            return \\Illuminate\\Foundation\\Application::tagged($tag);\n        }\n\n        /**\n         * Alias a type to a different name.\n         *\n         * @param string $abstract\n         * @param string $alias\n         * @return void\n         * @static\n         */\n        public static function alias($abstract, $alias)\n        {\n            //Method inherited from \\Illuminate\\Container\\Container\n            \\Illuminate\\Foundation\\Application::alias($abstract, $alias);\n        }\n\n        /**\n         * Bind a new callback to an abstract's rebind event.\n         *\n         * @param string $abstract\n         * @param \\Closure $callback\n         * @return mixed\n         * @static\n         */\n        public static function rebinding($abstract, $callback)\n        {\n            //Method inherited from \\Illuminate\\Container\\Container\n            return \\Illuminate\\Foundation\\Application::rebinding($abstract, $callback);\n        }\n\n        /**\n         * Refresh an instance on the given target and method.\n         *\n         * @param string $abstract\n         * @param mixed $target\n         * @param string $method\n         * @return mixed\n         * @static\n         */\n        public static function refresh($abstract, $target, $method)\n        {\n            //Method inherited from \\Illuminate\\Container\\Container\n            return \\Illuminate\\Foundation\\Application::refresh($abstract, $target, $method);\n        }\n\n        /**\n         * Wrap the given closure such that its dependencies will be injected when executed.\n         *\n         * @param \\Closure $callback\n         * @param array $parameters\n         * @return \\Closure\n         * @static\n         */\n        public static function wrap($callback, $parameters = [])\n        {\n            //Method inherited from \\Illuminate\\Container\\Container\n            return \\Illuminate\\Foundation\\Application::wrap($callback, $parameters);\n        }\n\n        /**\n         * Call the given Closure / class@method and inject its dependencies.\n         *\n         * @param callable|string $callback\n         * @param array $parameters\n         * @param string|null $defaultMethod\n         * @return mixed\n         * @static\n         */\n        public static function call($callback, $parameters = [], $defaultMethod = null)\n        {\n            //Method inherited from \\Illuminate\\Container\\Container\n            return \\Illuminate\\Foundation\\Application::call($callback, $parameters, $defaultMethod);\n        }\n\n        /**\n         * Get a closure to resolve the given type from the container.\n         *\n         * @param string $abstract\n         * @return \\Closure\n         * @static\n         */\n        public static function factory($abstract)\n        {\n            //Method inherited from \\Illuminate\\Container\\Container\n            return \\Illuminate\\Foundation\\Application::factory($abstract);\n        }\n\n        /**\n         * Instantiate a concrete instance of the given type.\n         *\n         * @param string $concrete\n         * @return mixed\n         * @throws \\Illuminate\\Contracts\\Container\\BindingResolutionException\n         * @static\n         */\n        public static function build($concrete)\n        {\n            //Method inherited from \\Illuminate\\Container\\Container\n            return \\Illuminate\\Foundation\\Application::build($concrete);\n        }\n\n        /**\n         * Register a new resolving callback.\n         *\n         * @param string $abstract\n         * @param \\Closure|null $callback\n         * @return void\n         * @static\n         */\n        public static function resolving($abstract, $callback = null)\n        {\n            //Method inherited from \\Illuminate\\Container\\Container\n            \\Illuminate\\Foundation\\Application::resolving($abstract, $callback);\n        }\n\n        /**\n         * Register a new after resolving callback for all types.\n         *\n         * @param string $abstract\n         * @param \\Closure|null $callback\n         * @return void\n         * @static\n         */\n        public static function afterResolving($abstract, $callback = null)\n        {\n            //Method inherited from \\Illuminate\\Container\\Container\n            \\Illuminate\\Foundation\\Application::afterResolving($abstract, $callback);\n        }\n\n        /**\n         * Get the container's bindings.\n         *\n         * @return array\n         * @static\n         */\n        public static function getBindings()\n        {\n            //Method inherited from \\Illuminate\\Container\\Container\n            return \\Illuminate\\Foundation\\Application::getBindings();\n        }\n\n        /**\n         * Get the alias for an abstract if available.\n         *\n         * @param string $abstract\n         * @return string\n         * @throws \\LogicException\n         * @static\n         */\n        public static function getAlias($abstract)\n        {\n            //Method inherited from \\Illuminate\\Container\\Container\n            return \\Illuminate\\Foundation\\Application::getAlias($abstract);\n        }\n\n        /**\n         * Remove a resolved instance from the instance cache.\n         *\n         * @param string $abstract\n         * @return void\n         * @static\n         */\n        public static function forgetInstance($abstract)\n        {\n            //Method inherited from \\Illuminate\\Container\\Container\n            \\Illuminate\\Foundation\\Application::forgetInstance($abstract);\n        }\n\n        /**\n         * Clear all of the instances from the container.\n         *\n         * @return void\n         * @static\n         */\n        public static function forgetInstances()\n        {\n            //Method inherited from \\Illuminate\\Container\\Container\n            \\Illuminate\\Foundation\\Application::forgetInstances();\n        }\n\n        /**\n         * Set the globally available instance of the container.\n         *\n         * @return static\n         * @static\n         */\n        public static function getInstance()\n        {\n            //Method inherited from \\Illuminate\\Container\\Container\n            return \\Illuminate\\Foundation\\Application::getInstance();\n        }\n\n        /**\n         * Set the shared instance of the container.\n         *\n         * @param \\Illuminate\\Contracts\\Container\\Container|null $container\n         * @return static\n         * @static\n         */\n        public static function setInstance($container = null)\n        {\n            //Method inherited from \\Illuminate\\Container\\Container\n            return \\Illuminate\\Foundation\\Application::setInstance($container);\n        }\n\n        /**\n         * Determine if a given offset exists.\n         *\n         * @param string $key\n         * @return bool\n         * @static\n         */\n        public static function offsetExists($key)\n        {\n            //Method inherited from \\Illuminate\\Container\\Container\n            return \\Illuminate\\Foundation\\Application::offsetExists($key);\n        }\n\n        /**\n         * Get the value at a given offset.\n         *\n         * @param string $key\n         * @return mixed\n         * @static\n         */\n        public static function offsetGet($key)\n        {\n            //Method inherited from \\Illuminate\\Container\\Container\n            return \\Illuminate\\Foundation\\Application::offsetGet($key);\n        }\n\n        /**\n         * Set the value at a given offset.\n         *\n         * @param string $key\n         * @param mixed $value\n         * @return void\n         * @static\n         */\n        public static function offsetSet($key, $value)\n        {\n            //Method inherited from \\Illuminate\\Container\\Container\n            \\Illuminate\\Foundation\\Application::offsetSet($key, $value);\n        }\n\n        /**\n         * Unset the value at a given offset.\n         *\n         * @param string $key\n         * @return void\n         * @static\n         */\n        public static function offsetUnset($key)\n        {\n            //Method inherited from \\Illuminate\\Container\\Container\n            \\Illuminate\\Foundation\\Application::offsetUnset($key);\n        }\n    }\n\n\n    class Artisan extends \\Illuminate\\Support\\Facades\\Artisan\n    {\n        /**\n         * Run the console application.\n         *\n         * @param \\Symfony\\Component\\Console\\Input\\InputInterface $input\n         * @param \\Symfony\\Component\\Console\\Output\\OutputInterface $output\n         * @return int\n         * @static\n         */\n        public static function handle($input, $output = null)\n        {\n            //Method inherited from \\Illuminate\\Foundation\\Console\\Kernel\n            return \\Crater\\Console\\Kernel::handle($input, $output);\n        }\n\n        /**\n         * Terminate the application.\n         *\n         * @param \\Symfony\\Component\\Console\\Input\\InputInterface $input\n         * @param int $status\n         * @return void\n         * @static\n         */\n        public static function terminate($input, $status)\n        {\n            //Method inherited from \\Illuminate\\Foundation\\Console\\Kernel\n            \\Crater\\Console\\Kernel::terminate($input, $status);\n        }\n\n        /**\n         * Register a Closure based command with the application.\n         *\n         * @param string $signature\n         * @param \\Closure $callback\n         * @return \\Illuminate\\Foundation\\Console\\ClosureCommand\n         * @static\n         */\n        public static function command($signature, $callback)\n        {\n            //Method inherited from \\Illuminate\\Foundation\\Console\\Kernel\n            return \\Crater\\Console\\Kernel::command($signature, $callback);\n        }\n\n        /**\n         * Register the given command with the console application.\n         *\n         * @param \\Symfony\\Component\\Console\\Command\\Command $command\n         * @return void\n         * @static\n         */\n        public static function registerCommand($command)\n        {\n            //Method inherited from \\Illuminate\\Foundation\\Console\\Kernel\n            \\Crater\\Console\\Kernel::registerCommand($command);\n        }\n\n        /**\n         * Run an Artisan console command by name.\n         *\n         * @param string $command\n         * @param array $parameters\n         * @param \\Symfony\\Component\\Console\\Output\\OutputInterface $outputBuffer\n         * @return int\n         * @static\n         */\n        public static function call($command, $parameters = [], $outputBuffer = null)\n        {\n            //Method inherited from \\Illuminate\\Foundation\\Console\\Kernel\n            return \\Crater\\Console\\Kernel::call($command, $parameters, $outputBuffer);\n        }\n\n        /**\n         * Queue the given console command.\n         *\n         * @param string $command\n         * @param array $parameters\n         * @return void\n         * @static\n         */\n        public static function queue($command, $parameters = [])\n        {\n            //Method inherited from \\Illuminate\\Foundation\\Console\\Kernel\n            \\Crater\\Console\\Kernel::queue($command, $parameters);\n        }\n\n        /**\n         * Get all of the commands registered with the console.\n         *\n         * @return array\n         * @static\n         */\n        public static function all()\n        {\n            //Method inherited from \\Illuminate\\Foundation\\Console\\Kernel\n            return \\Crater\\Console\\Kernel::all();\n        }\n\n        /**\n         * Get the output for the last run command.\n         *\n         * @return string\n         * @static\n         */\n        public static function output()\n        {\n            //Method inherited from \\Illuminate\\Foundation\\Console\\Kernel\n            return \\Crater\\Console\\Kernel::output();\n        }\n\n        /**\n         * Bootstrap the application for artisan commands.\n         *\n         * @return void\n         * @static\n         */\n        public static function bootstrap()\n        {\n            //Method inherited from \\Illuminate\\Foundation\\Console\\Kernel\n            \\Crater\\Console\\Kernel::bootstrap();\n        }\n\n        /**\n         * Set the Artisan application instance.\n         *\n         * @param \\Illuminate\\Console\\Application $artisan\n         * @return void\n         * @static\n         */\n        public static function setArtisan($artisan)\n        {\n            //Method inherited from \\Illuminate\\Foundation\\Console\\Kernel\n            \\Crater\\Console\\Kernel::setArtisan($artisan);\n        }\n    }\n\n\n    class Auth extends \\Illuminate\\Support\\Facades\\Auth\n    {\n        /**\n         * Attempt to get the guard from the local cache.\n         *\n         * @param string $name\n         * @return \\Illuminate\\Contracts\\Auth\\Guard|\\Illuminate\\Contracts\\Auth\\StatefulGuard\n         * @static\n         */\n        public static function guard($name = null)\n        {\n            return \\Illuminate\\Auth\\AuthManager::guard($name);\n        }\n\n        /**\n         * Create a session based authentication guard.\n         *\n         * @param string $name\n         * @param array $config\n         * @return \\Illuminate\\Auth\\SessionGuard\n         * @static\n         */\n        public static function createSessionDriver($name, $config)\n        {\n            return \\Illuminate\\Auth\\AuthManager::createSessionDriver($name, $config);\n        }\n\n        /**\n         * Create a token based authentication guard.\n         *\n         * @param string $name\n         * @param array $config\n         * @return \\Illuminate\\Auth\\TokenGuard\n         * @static\n         */\n        public static function createTokenDriver($name, $config)\n        {\n            return \\Illuminate\\Auth\\AuthManager::createTokenDriver($name, $config);\n        }\n\n        /**\n         * Get the default authentication driver name.\n         *\n         * @return string\n         * @static\n         */\n        public static function getDefaultDriver()\n        {\n            return \\Illuminate\\Auth\\AuthManager::getDefaultDriver();\n        }\n\n        /**\n         * Set the default guard driver the factory should serve.\n         *\n         * @param string $name\n         * @return void\n         * @static\n         */\n        public static function shouldUse($name)\n        {\n            \\Illuminate\\Auth\\AuthManager::shouldUse($name);\n        }\n\n        /**\n         * Set the default authentication driver name.\n         *\n         * @param string $name\n         * @return void\n         * @static\n         */\n        public static function setDefaultDriver($name)\n        {\n            \\Illuminate\\Auth\\AuthManager::setDefaultDriver($name);\n        }\n\n        /**\n         * Register a new callback based request guard.\n         *\n         * @param string $driver\n         * @param callable $callback\n         * @return $this\n         * @static\n         */\n        public static function viaRequest($driver, $callback)\n        {\n            return \\Illuminate\\Auth\\AuthManager::viaRequest($driver, $callback);\n        }\n\n        /**\n         * Get the user resolver callback.\n         *\n         * @return \\Closure\n         * @static\n         */\n        public static function userResolver()\n        {\n            return \\Illuminate\\Auth\\AuthManager::userResolver();\n        }\n\n        /**\n         * Set the callback to be used to resolve users.\n         *\n         * @param \\Closure $userResolver\n         * @return $this\n         * @static\n         */\n        public static function resolveUsersUsing($userResolver)\n        {\n            return \\Illuminate\\Auth\\AuthManager::resolveUsersUsing($userResolver);\n        }\n\n        /**\n         * Register a custom driver creator Closure.\n         *\n         * @param string $driver\n         * @param \\Closure $callback\n         * @return $this\n         * @static\n         */\n        public static function extend($driver, $callback)\n        {\n            return \\Illuminate\\Auth\\AuthManager::extend($driver, $callback);\n        }\n\n        /**\n         * Register a custom provider creator Closure.\n         *\n         * @param string $name\n         * @param \\Closure $callback\n         * @return $this\n         * @static\n         */\n        public static function provider($name, $callback)\n        {\n            return \\Illuminate\\Auth\\AuthManager::provider($name, $callback);\n        }\n\n        /**\n         * Create the user provider implementation for the driver.\n         *\n         * @param string $provider\n         * @return \\Illuminate\\Contracts\\Auth\\UserProvider\n         * @throws \\InvalidArgumentException\n         * @static\n         */\n        public static function createUserProvider($provider)\n        {\n            return \\Illuminate\\Auth\\AuthManager::createUserProvider($provider);\n        }\n\n        /**\n         * Get the currently authenticated user.\n         *\n         * @return \\Crater\\User|null\n         * @static\n         */\n        public static function user()\n        {\n            return \\Illuminate\\Auth\\SessionGuard::user();\n        }\n\n        /**\n         * Get the ID for the currently authenticated user.\n         *\n         * @return int|null\n         * @static\n         */\n        public static function id()\n        {\n            return \\Illuminate\\Auth\\SessionGuard::id();\n        }\n\n        /**\n         * Log a user into the application without sessions or cookies.\n         *\n         * @param array $credentials\n         * @return bool\n         * @static\n         */\n        public static function once($credentials = [])\n        {\n            return \\Illuminate\\Auth\\SessionGuard::once($credentials);\n        }\n\n        /**\n         * Log the given user ID into the application without sessions or cookies.\n         *\n         * @param mixed $id\n         * @return \\Crater\\User|false\n         * @static\n         */\n        public static function onceUsingId($id)\n        {\n            return \\Illuminate\\Auth\\SessionGuard::onceUsingId($id);\n        }\n\n        /**\n         * Validate a user's credentials.\n         *\n         * @param array $credentials\n         * @return bool\n         * @static\n         */\n        public static function validate($credentials = [])\n        {\n            return \\Illuminate\\Auth\\SessionGuard::validate($credentials);\n        }\n\n        /**\n         * Attempt to authenticate using HTTP Basic Auth.\n         *\n         * @param string $field\n         * @param array $extraConditions\n         * @return \\Symfony\\Component\\HttpFoundation\\Response|null\n         * @static\n         */\n        public static function basic($field = 'email', $extraConditions = [])\n        {\n            return \\Illuminate\\Auth\\SessionGuard::basic($field, $extraConditions);\n        }\n\n        /**\n         * Perform a stateless HTTP Basic login attempt.\n         *\n         * @param string $field\n         * @param array $extraConditions\n         * @return \\Symfony\\Component\\HttpFoundation\\Response|null\n         * @static\n         */\n        public static function onceBasic($field = 'email', $extraConditions = [])\n        {\n            return \\Illuminate\\Auth\\SessionGuard::onceBasic($field, $extraConditions);\n        }\n\n        /**\n         * Attempt to authenticate a user using the given credentials.\n         *\n         * @param array $credentials\n         * @param bool $remember\n         * @return bool\n         * @static\n         */\n        public static function attempt($credentials = [], $remember = false)\n        {\n            return \\Illuminate\\Auth\\SessionGuard::attempt($credentials, $remember);\n        }\n\n        /**\n         * Log the given user ID into the application.\n         *\n         * @param mixed $id\n         * @param bool $remember\n         * @return \\Crater\\User|false\n         * @static\n         */\n        public static function loginUsingId($id, $remember = false)\n        {\n            return \\Illuminate\\Auth\\SessionGuard::loginUsingId($id, $remember);\n        }\n\n        /**\n         * Log a user into the application.\n         *\n         * @param \\Illuminate\\Contracts\\Auth\\Authenticatable $user\n         * @param bool $remember\n         * @return void\n         * @static\n         */\n        public static function login($user, $remember = false)\n        {\n            \\Illuminate\\Auth\\SessionGuard::login($user, $remember);\n        }\n\n        /**\n         * Log the user out of the application.\n         *\n         * @return void\n         * @static\n         */\n        public static function logout()\n        {\n            \\Illuminate\\Auth\\SessionGuard::logout();\n        }\n\n        /**\n         * Register an authentication attempt event listener.\n         *\n         * @param mixed $callback\n         * @return void\n         * @static\n         */\n        public static function attempting($callback)\n        {\n            \\Illuminate\\Auth\\SessionGuard::attempting($callback);\n        }\n\n        /**\n         * Get the last user we attempted to authenticate.\n         *\n         * @return \\Crater\\User\n         * @static\n         */\n        public static function getLastAttempted()\n        {\n            return \\Illuminate\\Auth\\SessionGuard::getLastAttempted();\n        }\n\n        /**\n         * Get a unique identifier for the auth session value.\n         *\n         * @return string\n         * @static\n         */\n        public static function getName()\n        {\n            return \\Illuminate\\Auth\\SessionGuard::getName();\n        }\n\n        /**\n         * Get the name of the cookie used to store the \"recaller\".\n         *\n         * @return string\n         * @static\n         */\n        public static function getRecallerName()\n        {\n            return \\Illuminate\\Auth\\SessionGuard::getRecallerName();\n        }\n\n        /**\n         * Determine if the user was authenticated via \"remember me\" cookie.\n         *\n         * @return bool\n         * @static\n         */\n        public static function viaRemember()\n        {\n            return \\Illuminate\\Auth\\SessionGuard::viaRemember();\n        }\n\n        /**\n         * Get the cookie creator instance used by the guard.\n         *\n         * @return \\Illuminate\\Contracts\\Cookie\\QueueingFactory\n         * @throws \\RuntimeException\n         * @static\n         */\n        public static function getCookieJar()\n        {\n            return \\Illuminate\\Auth\\SessionGuard::getCookieJar();\n        }\n\n        /**\n         * Set the cookie creator instance used by the guard.\n         *\n         * @param \\Illuminate\\Contracts\\Cookie\\QueueingFactory $cookie\n         * @return void\n         * @static\n         */\n        public static function setCookieJar($cookie)\n        {\n            \\Illuminate\\Auth\\SessionGuard::setCookieJar($cookie);\n        }\n\n        /**\n         * Get the event dispatcher instance.\n         *\n         * @return \\Illuminate\\Contracts\\Events\\Dispatcher\n         * @static\n         */\n        public static function getDispatcher()\n        {\n            return \\Illuminate\\Auth\\SessionGuard::getDispatcher();\n        }\n\n        /**\n         * Set the event dispatcher instance.\n         *\n         * @param \\Illuminate\\Contracts\\Events\\Dispatcher $events\n         * @return void\n         * @static\n         */\n        public static function setDispatcher($events)\n        {\n            \\Illuminate\\Auth\\SessionGuard::setDispatcher($events);\n        }\n\n        /**\n         * Get the session store used by the guard.\n         *\n         * @return \\Illuminate\\Session\\Store\n         * @static\n         */\n        public static function getSession()\n        {\n            return \\Illuminate\\Auth\\SessionGuard::getSession();\n        }\n\n        /**\n         * Get the user provider used by the guard.\n         *\n         * @return \\Illuminate\\Contracts\\Auth\\UserProvider\n         * @static\n         */\n        public static function getProvider()\n        {\n            return \\Illuminate\\Auth\\SessionGuard::getProvider();\n        }\n\n        /**\n         * Set the user provider used by the guard.\n         *\n         * @param \\Illuminate\\Contracts\\Auth\\UserProvider $provider\n         * @return void\n         * @static\n         */\n        public static function setProvider($provider)\n        {\n            \\Illuminate\\Auth\\SessionGuard::setProvider($provider);\n        }\n\n        /**\n         * Return the currently cached user.\n         *\n         * @return \\Crater\\User|null\n         * @static\n         */\n        public static function getUser()\n        {\n            return \\Illuminate\\Auth\\SessionGuard::getUser();\n        }\n\n        /**\n         * Set the current user.\n         *\n         * @param \\Illuminate\\Contracts\\Auth\\Authenticatable $user\n         * @return $this\n         * @static\n         */\n        public static function setUser($user)\n        {\n            return \\Illuminate\\Auth\\SessionGuard::setUser($user);\n        }\n\n        /**\n         * Get the current request instance.\n         *\n         * @return \\Symfony\\Component\\HttpFoundation\\Request\n         * @static\n         */\n        public static function getRequest()\n        {\n            return \\Illuminate\\Auth\\SessionGuard::getRequest();\n        }\n\n        /**\n         * Set the current request instance.\n         *\n         * @param \\Symfony\\Component\\HttpFoundation\\Request $request\n         * @return $this\n         * @static\n         */\n        public static function setRequest($request)\n        {\n            return \\Illuminate\\Auth\\SessionGuard::setRequest($request);\n        }\n\n        /**\n         * Determine if the current user is authenticated.\n         *\n         * @return \\Crater\\User\n         * @throws \\Illuminate\\Auth\\AuthenticationException\n         * @static\n         */\n        public static function authenticate()\n        {\n            return \\Illuminate\\Auth\\SessionGuard::authenticate();\n        }\n\n        /**\n         * Determine if the current user is authenticated.\n         *\n         * @return bool\n         * @static\n         */\n        public static function check()\n        {\n            return \\Illuminate\\Auth\\SessionGuard::check();\n        }\n\n        /**\n         * Determine if the current user is a guest.\n         *\n         * @return bool\n         * @static\n         */\n        public static function guest()\n        {\n            return \\Illuminate\\Auth\\SessionGuard::guest();\n        }\n    }\n\n\n    class Blade extends \\Illuminate\\Support\\Facades\\Blade\n    {\n        /**\n         * Compile the view at the given path.\n         *\n         * @param string $path\n         * @return void\n         * @static\n         */\n        public static function compile($path = null)\n        {\n            \\Illuminate\\View\\Compilers\\BladeCompiler::compile($path);\n        }\n\n        /**\n         * Get the path currently being compiled.\n         *\n         * @return string\n         * @static\n         */\n        public static function getPath()\n        {\n            return \\Illuminate\\View\\Compilers\\BladeCompiler::getPath();\n        }\n\n        /**\n         * Set the path currently being compiled.\n         *\n         * @param string $path\n         * @return void\n         * @static\n         */\n        public static function setPath($path)\n        {\n            \\Illuminate\\View\\Compilers\\BladeCompiler::setPath($path);\n        }\n\n        /**\n         * Compile the given Blade template contents.\n         *\n         * @param string $value\n         * @return string\n         * @static\n         */\n        public static function compileString($value)\n        {\n            return \\Illuminate\\View\\Compilers\\BladeCompiler::compileString($value);\n        }\n\n        /**\n         * Strip the parentheses from the given expression.\n         *\n         * @param string $expression\n         * @return string\n         * @static\n         */\n        public static function stripParentheses($expression)\n        {\n            return \\Illuminate\\View\\Compilers\\BladeCompiler::stripParentheses($expression);\n        }\n\n        /**\n         * Register a custom Blade compiler.\n         *\n         * @param callable $compiler\n         * @return void\n         * @static\n         */\n        public static function extend($compiler)\n        {\n            \\Illuminate\\View\\Compilers\\BladeCompiler::extend($compiler);\n        }\n\n        /**\n         * Get the extensions used by the compiler.\n         *\n         * @return array\n         * @static\n         */\n        public static function getExtensions()\n        {\n            return \\Illuminate\\View\\Compilers\\BladeCompiler::getExtensions();\n        }\n\n        /**\n         * Register a handler for custom directives.\n         *\n         * @param string $name\n         * @param callable $handler\n         * @return void\n         * @static\n         */\n        public static function directive($name, $handler)\n        {\n            \\Illuminate\\View\\Compilers\\BladeCompiler::directive($name, $handler);\n        }\n\n        /**\n         * Get the list of custom directives.\n         *\n         * @return array\n         * @static\n         */\n        public static function getCustomDirectives()\n        {\n            return \\Illuminate\\View\\Compilers\\BladeCompiler::getCustomDirectives();\n        }\n\n        /**\n         * Set the echo format to be used by the compiler.\n         *\n         * @param string $format\n         * @return void\n         * @static\n         */\n        public static function setEchoFormat($format)\n        {\n            \\Illuminate\\View\\Compilers\\BladeCompiler::setEchoFormat($format);\n        }\n\n        /**\n         * Get the path to the compiled version of a view.\n         *\n         * @param string $path\n         * @return string\n         * @static\n         */\n        public static function getCompiledPath($path)\n        {\n            //Method inherited from \\Illuminate\\View\\Compilers\\Compiler\n            return \\Illuminate\\View\\Compilers\\BladeCompiler::getCompiledPath($path);\n        }\n\n        /**\n         * Determine if the view at the given path is expired.\n         *\n         * @param string $path\n         * @return bool\n         * @static\n         */\n        public static function isExpired($path)\n        {\n            //Method inherited from \\Illuminate\\View\\Compilers\\Compiler\n            return \\Illuminate\\View\\Compilers\\BladeCompiler::isExpired($path);\n        }\n\n        /**\n         * Compile the default values for the echo statement.\n         *\n         * @param string $value\n         * @return string\n         * @static\n         */\n        public static function compileEchoDefaults($value)\n        {\n            return \\Illuminate\\View\\Compilers\\BladeCompiler::compileEchoDefaults($value);\n        }\n    }\n\n\n    class Bus extends \\Illuminate\\Support\\Facades\\Bus\n    {\n        /**\n         * Dispatch a command to its appropriate handler.\n         *\n         * @param mixed $command\n         * @return mixed\n         * @static\n         */\n        public static function dispatch($command)\n        {\n            return \\Illuminate\\Bus\\Dispatcher::dispatch($command);\n        }\n\n        /**\n         * Dispatch a command to its appropriate handler in the current process.\n         *\n         * @param mixed $command\n         * @param mixed $handler\n         * @return mixed\n         * @static\n         */\n        public static function dispatchNow($command, $handler = null)\n        {\n            return \\Illuminate\\Bus\\Dispatcher::dispatchNow($command, $handler);\n        }\n\n        /**\n         * Determine if the given command has a handler.\n         *\n         * @param mixed $command\n         * @return bool\n         * @static\n         */\n        public static function hasCommandHandler($command)\n        {\n            return \\Illuminate\\Bus\\Dispatcher::hasCommandHandler($command);\n        }\n\n        /**\n         * Retrieve the handler for a command.\n         *\n         * @param mixed $command\n         * @return bool|mixed\n         * @static\n         */\n        public static function getCommandHandler($command)\n        {\n            return \\Illuminate\\Bus\\Dispatcher::getCommandHandler($command);\n        }\n\n        /**\n         * Dispatch a command to its appropriate handler behind a queue.\n         *\n         * @param mixed $command\n         * @return mixed\n         * @throws \\RuntimeException\n         * @static\n         */\n        public static function dispatchToQueue($command)\n        {\n            return \\Illuminate\\Bus\\Dispatcher::dispatchToQueue($command);\n        }\n\n        /**\n         * Set the pipes through which commands should be piped before dispatching.\n         *\n         * @param array $pipes\n         * @return $this\n         * @static\n         */\n        public static function pipeThrough($pipes)\n        {\n            return \\Illuminate\\Bus\\Dispatcher::pipeThrough($pipes);\n        }\n\n        /**\n         * Map a command to a handler.\n         *\n         * @param array $map\n         * @return $this\n         * @static\n         */\n        public static function map($map)\n        {\n            return \\Illuminate\\Bus\\Dispatcher::map($map);\n        }\n    }\n\n\n    class Cache extends \\Illuminate\\Support\\Facades\\Cache\n    {\n        /**\n         * Get a cache store instance by name.\n         *\n         * @param string|null $name\n         * @return mixed\n         * @static\n         */\n        public static function store($name = null)\n        {\n            return \\Illuminate\\Cache\\CacheManager::store($name);\n        }\n\n        /**\n         * Get a cache driver instance.\n         *\n         * @param string $driver\n         * @return mixed\n         * @static\n         */\n        public static function driver($driver = null)\n        {\n            return \\Illuminate\\Cache\\CacheManager::driver($driver);\n        }\n\n        /**\n         * Create a new cache repository with the given implementation.\n         *\n         * @param \\Illuminate\\Contracts\\Cache\\Store $store\n         * @return \\Illuminate\\Cache\\Repository\n         * @static\n         */\n        public static function repository($store)\n        {\n            return \\Illuminate\\Cache\\CacheManager::repository($store);\n        }\n\n        /**\n         * Get the default cache driver name.\n         *\n         * @return string\n         * @static\n         */\n        public static function getDefaultDriver()\n        {\n            return \\Illuminate\\Cache\\CacheManager::getDefaultDriver();\n        }\n\n        /**\n         * Set the default cache driver name.\n         *\n         * @param string $name\n         * @return void\n         * @static\n         */\n        public static function setDefaultDriver($name)\n        {\n            \\Illuminate\\Cache\\CacheManager::setDefaultDriver($name);\n        }\n\n        /**\n         * Register a custom driver creator Closure.\n         *\n         * @param string $driver\n         * @param \\Closure $callback\n         * @return $this\n         * @static\n         */\n        public static function extend($driver, $callback)\n        {\n            return \\Illuminate\\Cache\\CacheManager::extend($driver, $callback);\n        }\n\n        /**\n         * Determine if an item exists in the cache.\n         *\n         * @param string $key\n         * @return bool\n         * @static\n         */\n        public static function has($key)\n        {\n            return \\Illuminate\\Cache\\Repository::has($key);\n        }\n\n        /**\n         * Retrieve an item from the cache by key.\n         *\n         * @param string $key\n         * @param mixed $default\n         * @return mixed\n         * @static\n         */\n        public static function get($key, $default = null)\n        {\n            return \\Illuminate\\Cache\\Repository::get($key, $default);\n        }\n\n        /**\n         * Retrieve multiple items from the cache by key.\n         *\n         * Items not found in the cache will have a null value.\n         *\n         * @param array $keys\n         * @return array\n         * @static\n         */\n        public static function many($keys)\n        {\n            return \\Illuminate\\Cache\\Repository::many($keys);\n        }\n\n        /**\n         * Retrieve an item from the cache and delete it.\n         *\n         * @param string $key\n         * @param mixed $default\n         * @return mixed\n         * @static\n         */\n        public static function pull($key, $default = null)\n        {\n            return \\Illuminate\\Cache\\Repository::pull($key, $default);\n        }\n\n        /**\n         * Store an item in the cache.\n         *\n         * @param string $key\n         * @param mixed $value\n         * @param \\DateTime|float|int $minutes\n         * @return void\n         * @static\n         */\n        public static function put($key, $value, $minutes = null)\n        {\n            \\Illuminate\\Cache\\Repository::put($key, $value, $minutes);\n        }\n\n        /**\n         * Store multiple items in the cache for a given number of minutes.\n         *\n         * @param array $values\n         * @param float|int $minutes\n         * @return void\n         * @static\n         */\n        public static function putMany($values, $minutes)\n        {\n            \\Illuminate\\Cache\\Repository::putMany($values, $minutes);\n        }\n\n        /**\n         * Store an item in the cache if the key does not exist.\n         *\n         * @param string $key\n         * @param mixed $value\n         * @param \\DateTime|float|int $minutes\n         * @return bool\n         * @static\n         */\n        public static function add($key, $value, $minutes)\n        {\n            return \\Illuminate\\Cache\\Repository::add($key, $value, $minutes);\n        }\n\n        /**\n         * Increment the value of an item in the cache.\n         *\n         * @param string $key\n         * @param mixed $value\n         * @return int|bool\n         * @static\n         */\n        public static function increment($key, $value = 1)\n        {\n            return \\Illuminate\\Cache\\Repository::increment($key, $value);\n        }\n\n        /**\n         * Decrement the value of an item in the cache.\n         *\n         * @param string $key\n         * @param mixed $value\n         * @return int|bool\n         * @static\n         */\n        public static function decrement($key, $value = 1)\n        {\n            return \\Illuminate\\Cache\\Repository::decrement($key, $value);\n        }\n\n        /**\n         * Store an item in the cache indefinitely.\n         *\n         * @param string $key\n         * @param mixed $value\n         * @return void\n         * @static\n         */\n        public static function forever($key, $value)\n        {\n            \\Illuminate\\Cache\\Repository::forever($key, $value);\n        }\n\n        /**\n         * Get an item from the cache, or store the default value.\n         *\n         * @param string $key\n         * @param \\DateTime|float|int $minutes\n         * @param \\Closure $callback\n         * @return mixed\n         * @static\n         */\n        public static function remember($key, $minutes, $callback)\n        {\n            return \\Illuminate\\Cache\\Repository::remember($key, $minutes, $callback);\n        }\n\n        /**\n         * Get an item from the cache, or store the default value forever.\n         *\n         * @param string $key\n         * @param \\Closure $callback\n         * @return mixed\n         * @static\n         */\n        public static function sear($key, $callback)\n        {\n            return \\Illuminate\\Cache\\Repository::sear($key, $callback);\n        }\n\n        /**\n         * Get an item from the cache, or store the default value forever.\n         *\n         * @param string $key\n         * @param \\Closure $callback\n         * @return mixed\n         * @static\n         */\n        public static function rememberForever($key, $callback)\n        {\n            return \\Illuminate\\Cache\\Repository::rememberForever($key, $callback);\n        }\n\n        /**\n         * Remove an item from the cache.\n         *\n         * @param string $key\n         * @return bool\n         * @static\n         */\n        public static function forget($key)\n        {\n            return \\Illuminate\\Cache\\Repository::forget($key);\n        }\n\n        /**\n         * Begin executing a new tags operation if the store supports it.\n         *\n         * @param array|mixed $names\n         * @return \\Illuminate\\Cache\\TaggedCache\n         * @throws \\BadMethodCallException\n         * @static\n         */\n        public static function tags($names)\n        {\n            return \\Illuminate\\Cache\\Repository::tags($names);\n        }\n\n        /**\n         * Get the default cache time.\n         *\n         * @return float|int\n         * @static\n         */\n        public static function getDefaultCacheTime()\n        {\n            return \\Illuminate\\Cache\\Repository::getDefaultCacheTime();\n        }\n\n        /**\n         * Set the default cache time in minutes.\n         *\n         * @param float|int $minutes\n         * @return $this\n         * @static\n         */\n        public static function setDefaultCacheTime($minutes)\n        {\n            return \\Illuminate\\Cache\\Repository::setDefaultCacheTime($minutes);\n        }\n\n        /**\n         * Get the cache store implementation.\n         *\n         * @return \\Illuminate\\Contracts\\Cache\\Store\n         * @static\n         */\n        public static function getStore()\n        {\n            return \\Illuminate\\Cache\\Repository::getStore();\n        }\n\n        /**\n         * Set the event dispatcher instance.\n         *\n         * @param \\Illuminate\\Contracts\\Events\\Dispatcher $events\n         * @return void\n         * @static\n         */\n        public static function setEventDispatcher($events)\n        {\n            \\Illuminate\\Cache\\Repository::setEventDispatcher($events);\n        }\n\n        /**\n         * Determine if a cached value exists.\n         *\n         * @param string $key\n         * @return bool\n         * @static\n         */\n        public static function offsetExists($key)\n        {\n            return \\Illuminate\\Cache\\Repository::offsetExists($key);\n        }\n\n        /**\n         * Retrieve an item from the cache by key.\n         *\n         * @param string $key\n         * @return mixed\n         * @static\n         */\n        public static function offsetGet($key)\n        {\n            return \\Illuminate\\Cache\\Repository::offsetGet($key);\n        }\n\n        /**\n         * Store an item in the cache for the default time.\n         *\n         * @param string $key\n         * @param mixed $value\n         * @return void\n         * @static\n         */\n        public static function offsetSet($key, $value)\n        {\n            \\Illuminate\\Cache\\Repository::offsetSet($key, $value);\n        }\n\n        /**\n         * Remove an item from the cache.\n         *\n         * @param string $key\n         * @return void\n         * @static\n         */\n        public static function offsetUnset($key)\n        {\n            \\Illuminate\\Cache\\Repository::offsetUnset($key);\n        }\n\n        /**\n         * Register a custom macro.\n         *\n         * @param string $name\n         * @param callable $macro\n         * @return void\n         * @static\n         */\n        public static function macro($name, $macro)\n        {\n            \\Illuminate\\Cache\\Repository::macro($name, $macro);\n        }\n\n        /**\n         * Checks if macro is registered.\n         *\n         * @param string $name\n         * @return bool\n         * @static\n         */\n        public static function hasMacro($name)\n        {\n            return \\Illuminate\\Cache\\Repository::hasMacro($name);\n        }\n\n        /**\n         * Dynamically handle calls to the class.\n         *\n         * @param string $method\n         * @param array $parameters\n         * @return mixed\n         * @throws \\BadMethodCallException\n         * @static\n         */\n        public static function macroCall($method, $parameters)\n        {\n            return \\Illuminate\\Cache\\Repository::macroCall($method, $parameters);\n        }\n\n        /**\n         * Remove all items from the cache.\n         *\n         * @return bool\n         * @static\n         */\n        public static function flush()\n        {\n            return \\Illuminate\\Cache\\FileStore::flush();\n        }\n\n        /**\n         * Get the Filesystem instance.\n         *\n         * @return \\Illuminate\\Filesystem\\Filesystem\n         * @static\n         */\n        public static function getFilesystem()\n        {\n            return \\Illuminate\\Cache\\FileStore::getFilesystem();\n        }\n\n        /**\n         * Get the working directory of the cache.\n         *\n         * @return string\n         * @static\n         */\n        public static function getDirectory()\n        {\n            return \\Illuminate\\Cache\\FileStore::getDirectory();\n        }\n\n        /**\n         * Get the cache key prefix.\n         *\n         * @return string\n         * @static\n         */\n        public static function getPrefix()\n        {\n            return \\Illuminate\\Cache\\FileStore::getPrefix();\n        }\n    }\n\n\n    class Config extends \\Illuminate\\Support\\Facades\\Config\n    {\n        /**\n         * Determine if the given configuration value exists.\n         *\n         * @param string $key\n         * @return bool\n         * @static\n         */\n        public static function has($key)\n        {\n            return \\Illuminate\\Config\\Repository::has($key);\n        }\n\n        /**\n         * Get the specified configuration value.\n         *\n         * @param string $key\n         * @param mixed $default\n         * @return mixed\n         * @static\n         */\n        public static function get($key, $default = null)\n        {\n            return \\Illuminate\\Config\\Repository::get($key, $default);\n        }\n\n        /**\n         * Set a given configuration value.\n         *\n         * @param array|string $key\n         * @param mixed $value\n         * @return void\n         * @static\n         */\n        public static function set($key, $value = null)\n        {\n            \\Illuminate\\Config\\Repository::set($key, $value);\n        }\n\n        /**\n         * Prepend a value onto an array configuration value.\n         *\n         * @param string $key\n         * @param mixed $value\n         * @return void\n         * @static\n         */\n        public static function prepend($key, $value)\n        {\n            \\Illuminate\\Config\\Repository::prepend($key, $value);\n        }\n\n        /**\n         * Push a value onto an array configuration value.\n         *\n         * @param string $key\n         * @param mixed $value\n         * @return void\n         * @static\n         */\n        public static function push($key, $value)\n        {\n            \\Illuminate\\Config\\Repository::push($key, $value);\n        }\n\n        /**\n         * Get all of the configuration items for the application.\n         *\n         * @return array\n         * @static\n         */\n        public static function all()\n        {\n            return \\Illuminate\\Config\\Repository::all();\n        }\n\n        /**\n         * Determine if the given configuration option exists.\n         *\n         * @param string $key\n         * @return bool\n         * @static\n         */\n        public static function offsetExists($key)\n        {\n            return \\Illuminate\\Config\\Repository::offsetExists($key);\n        }\n\n        /**\n         * Get a configuration option.\n         *\n         * @param string $key\n         * @return mixed\n         * @static\n         */\n        public static function offsetGet($key)\n        {\n            return \\Illuminate\\Config\\Repository::offsetGet($key);\n        }\n\n        /**\n         * Set a configuration option.\n         *\n         * @param string $key\n         * @param mixed $value\n         * @return void\n         * @static\n         */\n        public static function offsetSet($key, $value)\n        {\n            \\Illuminate\\Config\\Repository::offsetSet($key, $value);\n        }\n\n        /**\n         * Unset a configuration option.\n         *\n         * @param string $key\n         * @return void\n         * @static\n         */\n        public static function offsetUnset($key)\n        {\n            \\Illuminate\\Config\\Repository::offsetUnset($key);\n        }\n    }\n\n\n    class Cookie extends \\Illuminate\\Support\\Facades\\Cookie\n    {\n        /**\n         * Create a new cookie instance.\n         *\n         * @param string $name\n         * @param string $value\n         * @param int $minutes\n         * @param string $path\n         * @param string $domain\n         * @param bool $secure\n         * @param bool $httpOnly\n         * @return \\Symfony\\Component\\HttpFoundation\\Cookie\n         * @static\n         */\n        public static function make($name, $value, $minutes = 0, $path = null, $domain = null, $secure = false, $httpOnly = true)\n        {\n            return \\Illuminate\\Cookie\\CookieJar::make($name, $value, $minutes, $path, $domain, $secure, $httpOnly);\n        }\n\n        /**\n         * Create a cookie that lasts \"forever\" (five years).\n         *\n         * @param string $name\n         * @param string $value\n         * @param string $path\n         * @param string $domain\n         * @param bool $secure\n         * @param bool $httpOnly\n         * @return \\Symfony\\Component\\HttpFoundation\\Cookie\n         * @static\n         */\n        public static function forever($name, $value, $path = null, $domain = null, $secure = false, $httpOnly = true)\n        {\n            return \\Illuminate\\Cookie\\CookieJar::forever($name, $value, $path, $domain, $secure, $httpOnly);\n        }\n\n        /**\n         * Expire the given cookie.\n         *\n         * @param string $name\n         * @param string $path\n         * @param string $domain\n         * @return \\Symfony\\Component\\HttpFoundation\\Cookie\n         * @static\n         */\n        public static function forget($name, $path = null, $domain = null)\n        {\n            return \\Illuminate\\Cookie\\CookieJar::forget($name, $path, $domain);\n        }\n\n        /**\n         * Determine if a cookie has been queued.\n         *\n         * @param string $key\n         * @return bool\n         * @static\n         */\n        public static function hasQueued($key)\n        {\n            return \\Illuminate\\Cookie\\CookieJar::hasQueued($key);\n        }\n\n        /**\n         * Get a queued cookie instance.\n         *\n         * @param string $key\n         * @param mixed $default\n         * @return \\Symfony\\Component\\HttpFoundation\\Cookie\n         * @static\n         */\n        public static function queued($key, $default = null)\n        {\n            return \\Illuminate\\Cookie\\CookieJar::queued($key, $default);\n        }\n\n        /**\n         * Queue a cookie to send with the next response.\n         *\n         * @param array $parameters\n         * @return void\n         * @static\n         */\n        public static function queue($parameters = null)\n        {\n            \\Illuminate\\Cookie\\CookieJar::queue($parameters);\n        }\n\n        /**\n         * Remove a cookie from the queue.\n         *\n         * @param string $name\n         * @return void\n         * @static\n         */\n        public static function unqueue($name)\n        {\n            \\Illuminate\\Cookie\\CookieJar::unqueue($name);\n        }\n\n        /**\n         * Set the default path and domain for the jar.\n         *\n         * @param string $path\n         * @param string $domain\n         * @param bool $secure\n         * @return $this\n         * @static\n         */\n        public static function setDefaultPathAndDomain($path, $domain, $secure = false)\n        {\n            return \\Illuminate\\Cookie\\CookieJar::setDefaultPathAndDomain($path, $domain, $secure);\n        }\n\n        /**\n         * Get the cookies which have been queued for the next request.\n         *\n         * @return array\n         * @static\n         */\n        public static function getQueuedCookies()\n        {\n            return \\Illuminate\\Cookie\\CookieJar::getQueuedCookies();\n        }\n    }\n\n\n    class Crypt extends \\Illuminate\\Support\\Facades\\Crypt\n    {\n        /**\n         * Determine if the given key and cipher combination is valid.\n         *\n         * @param string $key\n         * @param string $cipher\n         * @return bool\n         * @static\n         */\n        public static function supported($key, $cipher)\n        {\n            return \\Illuminate\\Encryption\\Encrypter::supported($key, $cipher);\n        }\n\n        /**\n         * Encrypt the given value.\n         *\n         * @param mixed $value\n         * @param bool $serialize\n         * @return string\n         * @throws \\Illuminate\\Contracts\\Encryption\\EncryptException\n         * @static\n         */\n        public static function encrypt($value, $serialize = true)\n        {\n            return \\Illuminate\\Encryption\\Encrypter::encrypt($value, $serialize);\n        }\n\n        /**\n         * Encrypt a string without serialization.\n         *\n         * @param string $value\n         * @return string\n         * @static\n         */\n        public static function encryptString($value)\n        {\n            return \\Illuminate\\Encryption\\Encrypter::encryptString($value);\n        }\n\n        /**\n         * Decrypt the given value.\n         *\n         * @param mixed $payload\n         * @param bool $unserialize\n         * @return string\n         * @throws \\Illuminate\\Contracts\\Encryption\\DecryptException\n         * @static\n         */\n        public static function decrypt($payload, $unserialize = true)\n        {\n            return \\Illuminate\\Encryption\\Encrypter::decrypt($payload, $unserialize);\n        }\n\n        /**\n         * Decrypt the given string without unserialization.\n         *\n         * @param string $payload\n         * @return string\n         * @static\n         */\n        public static function decryptString($payload)\n        {\n            return \\Illuminate\\Encryption\\Encrypter::decryptString($payload);\n        }\n\n        /**\n         * Get the encryption key.\n         *\n         * @return string\n         * @static\n         */\n        public static function getKey()\n        {\n            return \\Illuminate\\Encryption\\Encrypter::getKey();\n        }\n    }\n\n\n    class DB extends \\Illuminate\\Support\\Facades\\DB\n    {\n        /**\n         * Get a database connection instance.\n         *\n         * @param string $name\n         * @return \\Illuminate\\Database\\Connection\n         * @static\n         */\n        public static function connection($name = null)\n        {\n            return \\Illuminate\\Database\\DatabaseManager::connection($name);\n        }\n\n        /**\n         * Disconnect from the given database and remove from local cache.\n         *\n         * @param string $name\n         * @return void\n         * @static\n         */\n        public static function purge($name = null)\n        {\n            \\Illuminate\\Database\\DatabaseManager::purge($name);\n        }\n\n        /**\n         * Disconnect from the given database.\n         *\n         * @param string $name\n         * @return void\n         * @static\n         */\n        public static function disconnect($name = null)\n        {\n            \\Illuminate\\Database\\DatabaseManager::disconnect($name);\n        }\n\n        /**\n         * Reconnect to the given database.\n         *\n         * @param string $name\n         * @return \\Illuminate\\Database\\Connection\n         * @static\n         */\n        public static function reconnect($name = null)\n        {\n            return \\Illuminate\\Database\\DatabaseManager::reconnect($name);\n        }\n\n        /**\n         * Get the default connection name.\n         *\n         * @return string\n         * @static\n         */\n        public static function getDefaultConnection()\n        {\n            return \\Illuminate\\Database\\DatabaseManager::getDefaultConnection();\n        }\n\n        /**\n         * Set the default connection name.\n         *\n         * @param string $name\n         * @return void\n         * @static\n         */\n        public static function setDefaultConnection($name)\n        {\n            \\Illuminate\\Database\\DatabaseManager::setDefaultConnection($name);\n        }\n\n        /**\n         * Get all of the support drivers.\n         *\n         * @return array\n         * @static\n         */\n        public static function supportedDrivers()\n        {\n            return \\Illuminate\\Database\\DatabaseManager::supportedDrivers();\n        }\n\n        /**\n         * Get all of the drivers that are actually available.\n         *\n         * @return array\n         * @static\n         */\n        public static function availableDrivers()\n        {\n            return \\Illuminate\\Database\\DatabaseManager::availableDrivers();\n        }\n\n        /**\n         * Register an extension connection resolver.\n         *\n         * @param string $name\n         * @param callable $resolver\n         * @return void\n         * @static\n         */\n        public static function extend($name, $resolver)\n        {\n            \\Illuminate\\Database\\DatabaseManager::extend($name, $resolver);\n        }\n\n        /**\n         * Return all of the created connections.\n         *\n         * @return array\n         * @static\n         */\n        public static function getConnections()\n        {\n            return \\Illuminate\\Database\\DatabaseManager::getConnections();\n        }\n\n        /**\n         * Get a schema builder instance for the connection.\n         *\n         * @return \\Illuminate\\Database\\Schema\\MySqlBuilder\n         * @static\n         */\n        public static function getSchemaBuilder()\n        {\n            return \\Illuminate\\Database\\MySqlConnection::getSchemaBuilder();\n        }\n\n        /**\n         * Bind values to their parameters in the given statement.\n         *\n         * @param \\PDOStatement $statement\n         * @param array $bindings\n         * @return void\n         * @static\n         */\n        public static function bindValues($statement, $bindings)\n        {\n            \\Illuminate\\Database\\MySqlConnection::bindValues($statement, $bindings);\n        }\n\n        /**\n         * Set the query grammar to the default implementation.\n         *\n         * @return void\n         * @static\n         */\n        public static function useDefaultQueryGrammar()\n        {\n            //Method inherited from \\Illuminate\\Database\\Connection\n            \\Illuminate\\Database\\MySqlConnection::useDefaultQueryGrammar();\n        }\n\n        /**\n         * Set the schema grammar to the default implementation.\n         *\n         * @return void\n         * @static\n         */\n        public static function useDefaultSchemaGrammar()\n        {\n            //Method inherited from \\Illuminate\\Database\\Connection\n            \\Illuminate\\Database\\MySqlConnection::useDefaultSchemaGrammar();\n        }\n\n        /**\n         * Set the query post processor to the default implementation.\n         *\n         * @return void\n         * @static\n         */\n        public static function useDefaultPostProcessor()\n        {\n            //Method inherited from \\Illuminate\\Database\\Connection\n            \\Illuminate\\Database\\MySqlConnection::useDefaultPostProcessor();\n        }\n\n        /**\n         * Begin a fluent query against a database table.\n         *\n         * @param string $table\n         * @return \\Illuminate\\Database\\Query\\Builder\n         * @static\n         */\n        public static function table($table)\n        {\n            //Method inherited from \\Illuminate\\Database\\Connection\n            return \\Illuminate\\Database\\MySqlConnection::table($table);\n        }\n\n        /**\n         * Get a new query builder instance.\n         *\n         * @return \\Illuminate\\Database\\Query\\Builder\n         * @static\n         */\n        public static function query()\n        {\n            //Method inherited from \\Illuminate\\Database\\Connection\n            return \\Illuminate\\Database\\MySqlConnection::query();\n        }\n\n        /**\n         * Run a select statement and return a single result.\n         *\n         * @param string $query\n         * @param array $bindings\n         * @param bool $useReadPdo\n         * @return mixed\n         * @static\n         */\n        public static function selectOne($query, $bindings = [], $useReadPdo = true)\n        {\n            //Method inherited from \\Illuminate\\Database\\Connection\n            return \\Illuminate\\Database\\MySqlConnection::selectOne($query, $bindings, $useReadPdo);\n        }\n\n        /**\n         * Run a select statement against the database.\n         *\n         * @param string $query\n         * @param array $bindings\n         * @return array\n         * @static\n         */\n        public static function selectFromWriteConnection($query, $bindings = [])\n        {\n            //Method inherited from \\Illuminate\\Database\\Connection\n            return \\Illuminate\\Database\\MySqlConnection::selectFromWriteConnection($query, $bindings);\n        }\n\n        /**\n         * Run a select statement against the database.\n         *\n         * @param string $query\n         * @param array $bindings\n         * @param bool $useReadPdo\n         * @return array\n         * @static\n         */\n        public static function select($query, $bindings = [], $useReadPdo = true)\n        {\n            //Method inherited from \\Illuminate\\Database\\Connection\n            return \\Illuminate\\Database\\MySqlConnection::select($query, $bindings, $useReadPdo);\n        }\n\n        /**\n         * Run a select statement against the database and returns a generator.\n         *\n         * @param string $query\n         * @param array $bindings\n         * @param bool $useReadPdo\n         * @return \\Generator\n         * @static\n         */\n        public static function cursor($query, $bindings = [], $useReadPdo = true)\n        {\n            //Method inherited from \\Illuminate\\Database\\Connection\n            return \\Illuminate\\Database\\MySqlConnection::cursor($query, $bindings, $useReadPdo);\n        }\n\n        /**\n         * Run an insert statement against the database.\n         *\n         * @param string $query\n         * @param array $bindings\n         * @return bool\n         * @static\n         */\n        public static function insert($query, $bindings = [])\n        {\n            //Method inherited from \\Illuminate\\Database\\Connection\n            return \\Illuminate\\Database\\MySqlConnection::insert($query, $bindings);\n        }\n\n        /**\n         * Run an update statement against the database.\n         *\n         * @param string $query\n         * @param array $bindings\n         * @return int\n         * @static\n         */\n        public static function update($query, $bindings = [])\n        {\n            //Method inherited from \\Illuminate\\Database\\Connection\n            return \\Illuminate\\Database\\MySqlConnection::update($query, $bindings);\n        }\n\n        /**\n         * Run a delete statement against the database.\n         *\n         * @param string $query\n         * @param array $bindings\n         * @return int\n         * @static\n         */\n        public static function delete($query, $bindings = [])\n        {\n            //Method inherited from \\Illuminate\\Database\\Connection\n            return \\Illuminate\\Database\\MySqlConnection::delete($query, $bindings);\n        }\n\n        /**\n         * Execute an SQL statement and return the boolean result.\n         *\n         * @param string $query\n         * @param array $bindings\n         * @return bool\n         * @static\n         */\n        public static function statement($query, $bindings = [])\n        {\n            //Method inherited from \\Illuminate\\Database\\Connection\n            return \\Illuminate\\Database\\MySqlConnection::statement($query, $bindings);\n        }\n\n        /**\n         * Run an SQL statement and get the number of rows affected.\n         *\n         * @param string $query\n         * @param array $bindings\n         * @return int\n         * @static\n         */\n        public static function affectingStatement($query, $bindings = [])\n        {\n            //Method inherited from \\Illuminate\\Database\\Connection\n            return \\Illuminate\\Database\\MySqlConnection::affectingStatement($query, $bindings);\n        }\n\n        /**\n         * Run a raw, unprepared query against the PDO connection.\n         *\n         * @param string $query\n         * @return bool\n         * @static\n         */\n        public static function unprepared($query)\n        {\n            //Method inherited from \\Illuminate\\Database\\Connection\n            return \\Illuminate\\Database\\MySqlConnection::unprepared($query);\n        }\n\n        /**\n         * Execute the given callback in \"dry run\" mode.\n         *\n         * @param \\Closure $callback\n         * @return array\n         * @static\n         */\n        public static function pretend($callback)\n        {\n            //Method inherited from \\Illuminate\\Database\\Connection\n            return \\Illuminate\\Database\\MySqlConnection::pretend($callback);\n        }\n\n        /**\n         * Prepare the query bindings for execution.\n         *\n         * @param array $bindings\n         * @return array\n         * @static\n         */\n        public static function prepareBindings($bindings)\n        {\n            //Method inherited from \\Illuminate\\Database\\Connection\n            return \\Illuminate\\Database\\MySqlConnection::prepareBindings($bindings);\n        }\n\n        /**\n         * Log a query in the connection's query log.\n         *\n         * @param string $query\n         * @param array $bindings\n         * @param float|null $time\n         * @return void\n         * @static\n         */\n        public static function logQuery($query, $bindings, $time = null)\n        {\n            //Method inherited from \\Illuminate\\Database\\Connection\n            \\Illuminate\\Database\\MySqlConnection::logQuery($query, $bindings, $time);\n        }\n\n        /**\n         * Register a database query listener with the connection.\n         *\n         * @param \\Closure $callback\n         * @return void\n         * @static\n         */\n        public static function listen($callback)\n        {\n            //Method inherited from \\Illuminate\\Database\\Connection\n            \\Illuminate\\Database\\MySqlConnection::listen($callback);\n        }\n\n        /**\n         * Get a new raw query expression.\n         *\n         * @param mixed $value\n         * @return \\Illuminate\\Database\\Query\\Expression\n         * @static\n         */\n        public static function raw($value)\n        {\n            //Method inherited from \\Illuminate\\Database\\Connection\n            return \\Illuminate\\Database\\MySqlConnection::raw($value);\n        }\n\n        /**\n         * Is Doctrine available?\n         *\n         * @return bool\n         * @static\n         */\n        public static function isDoctrineAvailable()\n        {\n            //Method inherited from \\Illuminate\\Database\\Connection\n            return \\Illuminate\\Database\\MySqlConnection::isDoctrineAvailable();\n        }\n\n        /**\n         * Get a Doctrine Schema Column instance.\n         *\n         * @param string $table\n         * @param string $column\n         * @return \\Doctrine\\DBAL\\Schema\\Column\n         * @static\n         */\n        public static function getDoctrineColumn($table, $column)\n        {\n            //Method inherited from \\Illuminate\\Database\\Connection\n            return \\Illuminate\\Database\\MySqlConnection::getDoctrineColumn($table, $column);\n        }\n\n        /**\n         * Get the Doctrine DBAL schema manager for the connection.\n         *\n         * @return \\Doctrine\\DBAL\\Schema\\AbstractSchemaManager\n         * @static\n         */\n        public static function getDoctrineSchemaManager()\n        {\n            //Method inherited from \\Illuminate\\Database\\Connection\n            return \\Illuminate\\Database\\MySqlConnection::getDoctrineSchemaManager();\n        }\n\n        /**\n         * Get the Doctrine DBAL database connection instance.\n         *\n         * @return \\Doctrine\\DBAL\\Connection\n         * @static\n         */\n        public static function getDoctrineConnection()\n        {\n            //Method inherited from \\Illuminate\\Database\\Connection\n            return \\Illuminate\\Database\\MySqlConnection::getDoctrineConnection();\n        }\n\n        /**\n         * Get the current PDO connection.\n         *\n         * @return \\PDO\n         * @static\n         */\n        public static function getPdo()\n        {\n            //Method inherited from \\Illuminate\\Database\\Connection\n            return \\Illuminate\\Database\\MySqlConnection::getPdo();\n        }\n\n        /**\n         * Get the current PDO connection used for reading.\n         *\n         * @return \\PDO\n         * @static\n         */\n        public static function getReadPdo()\n        {\n            //Method inherited from \\Illuminate\\Database\\Connection\n            return \\Illuminate\\Database\\MySqlConnection::getReadPdo();\n        }\n\n        /**\n         * Set the PDO connection.\n         *\n         * @param \\PDO|null $pdo\n         * @return $this\n         * @static\n         */\n        public static function setPdo($pdo)\n        {\n            //Method inherited from \\Illuminate\\Database\\Connection\n            return \\Illuminate\\Database\\MySqlConnection::setPdo($pdo);\n        }\n\n        /**\n         * Set the PDO connection used for reading.\n         *\n         * @param \\PDO|null $pdo\n         * @return $this\n         * @static\n         */\n        public static function setReadPdo($pdo)\n        {\n            //Method inherited from \\Illuminate\\Database\\Connection\n            return \\Illuminate\\Database\\MySqlConnection::setReadPdo($pdo);\n        }\n\n        /**\n         * Set the reconnect instance on the connection.\n         *\n         * @param callable $reconnector\n         * @return $this\n         * @static\n         */\n        public static function setReconnector($reconnector)\n        {\n            //Method inherited from \\Illuminate\\Database\\Connection\n            return \\Illuminate\\Database\\MySqlConnection::setReconnector($reconnector);\n        }\n\n        /**\n         * Get the database connection name.\n         *\n         * @return string|null\n         * @static\n         */\n        public static function getName()\n        {\n            //Method inherited from \\Illuminate\\Database\\Connection\n            return \\Illuminate\\Database\\MySqlConnection::getName();\n        }\n\n        /**\n         * Get an option from the configuration options.\n         *\n         * @param string $option\n         * @return mixed\n         * @static\n         */\n        public static function getConfig($option)\n        {\n            //Method inherited from \\Illuminate\\Database\\Connection\n            return \\Illuminate\\Database\\MySqlConnection::getConfig($option);\n        }\n\n        /**\n         * Get the PDO driver name.\n         *\n         * @return string\n         * @static\n         */\n        public static function getDriverName()\n        {\n            //Method inherited from \\Illuminate\\Database\\Connection\n            return \\Illuminate\\Database\\MySqlConnection::getDriverName();\n        }\n\n        /**\n         * Get the query grammar used by the connection.\n         *\n         * @return \\Illuminate\\Database\\Query\\Grammars\\Grammar\n         * @static\n         */\n        public static function getQueryGrammar()\n        {\n            //Method inherited from \\Illuminate\\Database\\Connection\n            return \\Illuminate\\Database\\MySqlConnection::getQueryGrammar();\n        }\n\n        /**\n         * Set the query grammar used by the connection.\n         *\n         * @param \\Illuminate\\Database\\Query\\Grammars\\Grammar $grammar\n         * @return void\n         * @static\n         */\n        public static function setQueryGrammar($grammar)\n        {\n            //Method inherited from \\Illuminate\\Database\\Connection\n            \\Illuminate\\Database\\MySqlConnection::setQueryGrammar($grammar);\n        }\n\n        /**\n         * Get the schema grammar used by the connection.\n         *\n         * @return \\Illuminate\\Database\\Schema\\Grammars\\Grammar\n         * @static\n         */\n        public static function getSchemaGrammar()\n        {\n            //Method inherited from \\Illuminate\\Database\\Connection\n            return \\Illuminate\\Database\\MySqlConnection::getSchemaGrammar();\n        }\n\n        /**\n         * Set the schema grammar used by the connection.\n         *\n         * @param \\Illuminate\\Database\\Schema\\Grammars\\Grammar $grammar\n         * @return void\n         * @static\n         */\n        public static function setSchemaGrammar($grammar)\n        {\n            //Method inherited from \\Illuminate\\Database\\Connection\n            \\Illuminate\\Database\\MySqlConnection::setSchemaGrammar($grammar);\n        }\n\n        /**\n         * Get the query post processor used by the connection.\n         *\n         * @return \\Illuminate\\Database\\Query\\Processors\\Processor\n         * @static\n         */\n        public static function getPostProcessor()\n        {\n            //Method inherited from \\Illuminate\\Database\\Connection\n            return \\Illuminate\\Database\\MySqlConnection::getPostProcessor();\n        }\n\n        /**\n         * Set the query post processor used by the connection.\n         *\n         * @param \\Illuminate\\Database\\Query\\Processors\\Processor $processor\n         * @return void\n         * @static\n         */\n        public static function setPostProcessor($processor)\n        {\n            //Method inherited from \\Illuminate\\Database\\Connection\n            \\Illuminate\\Database\\MySqlConnection::setPostProcessor($processor);\n        }\n\n        /**\n         * Get the event dispatcher used by the connection.\n         *\n         * @return \\Illuminate\\Contracts\\Events\\Dispatcher\n         * @static\n         */\n        public static function getEventDispatcher()\n        {\n            //Method inherited from \\Illuminate\\Database\\Connection\n            return \\Illuminate\\Database\\MySqlConnection::getEventDispatcher();\n        }\n\n        /**\n         * Set the event dispatcher instance on the connection.\n         *\n         * @param \\Illuminate\\Contracts\\Events\\Dispatcher $events\n         * @return void\n         * @static\n         */\n        public static function setEventDispatcher($events)\n        {\n            //Method inherited from \\Illuminate\\Database\\Connection\n            \\Illuminate\\Database\\MySqlConnection::setEventDispatcher($events);\n        }\n\n        /**\n         * Determine if the connection in a \"dry run\".\n         *\n         * @return bool\n         * @static\n         */\n        public static function pretending()\n        {\n            //Method inherited from \\Illuminate\\Database\\Connection\n            return \\Illuminate\\Database\\MySqlConnection::pretending();\n        }\n\n        /**\n         * Get the connection query log.\n         *\n         * @return array\n         * @static\n         */\n        public static function getQueryLog()\n        {\n            //Method inherited from \\Illuminate\\Database\\Connection\n            return \\Illuminate\\Database\\MySqlConnection::getQueryLog();\n        }\n\n        /**\n         * Clear the query log.\n         *\n         * @return void\n         * @static\n         */\n        public static function flushQueryLog()\n        {\n            //Method inherited from \\Illuminate\\Database\\Connection\n            \\Illuminate\\Database\\MySqlConnection::flushQueryLog();\n        }\n\n        /**\n         * Enable the query log on the connection.\n         *\n         * @return void\n         * @static\n         */\n        public static function enableQueryLog()\n        {\n            //Method inherited from \\Illuminate\\Database\\Connection\n            \\Illuminate\\Database\\MySqlConnection::enableQueryLog();\n        }\n\n        /**\n         * Disable the query log on the connection.\n         *\n         * @return void\n         * @static\n         */\n        public static function disableQueryLog()\n        {\n            //Method inherited from \\Illuminate\\Database\\Connection\n            \\Illuminate\\Database\\MySqlConnection::disableQueryLog();\n        }\n\n        /**\n         * Determine whether we're logging queries.\n         *\n         * @return bool\n         * @static\n         */\n        public static function logging()\n        {\n            //Method inherited from \\Illuminate\\Database\\Connection\n            return \\Illuminate\\Database\\MySqlConnection::logging();\n        }\n\n        /**\n         * Get the name of the connected database.\n         *\n         * @return string\n         * @static\n         */\n        public static function getDatabaseName()\n        {\n            //Method inherited from \\Illuminate\\Database\\Connection\n            return \\Illuminate\\Database\\MySqlConnection::getDatabaseName();\n        }\n\n        /**\n         * Set the name of the connected database.\n         *\n         * @param string $database\n         * @return string\n         * @static\n         */\n        public static function setDatabaseName($database)\n        {\n            //Method inherited from \\Illuminate\\Database\\Connection\n            return \\Illuminate\\Database\\MySqlConnection::setDatabaseName($database);\n        }\n\n        /**\n         * Get the table prefix for the connection.\n         *\n         * @return string\n         * @static\n         */\n        public static function getTablePrefix()\n        {\n            //Method inherited from \\Illuminate\\Database\\Connection\n            return \\Illuminate\\Database\\MySqlConnection::getTablePrefix();\n        }\n\n        /**\n         * Set the table prefix in use by the connection.\n         *\n         * @param string $prefix\n         * @return void\n         * @static\n         */\n        public static function setTablePrefix($prefix)\n        {\n            //Method inherited from \\Illuminate\\Database\\Connection\n            \\Illuminate\\Database\\MySqlConnection::setTablePrefix($prefix);\n        }\n\n        /**\n         * Set the table prefix and return the grammar.\n         *\n         * @param \\Illuminate\\Database\\Grammar $grammar\n         * @return \\Illuminate\\Database\\Grammar\n         * @static\n         */\n        public static function withTablePrefix($grammar)\n        {\n            //Method inherited from \\Illuminate\\Database\\Connection\n            return \\Illuminate\\Database\\MySqlConnection::withTablePrefix($grammar);\n        }\n\n        /**\n         * Register a connection resolver.\n         *\n         * @param string $driver\n         * @param \\Closure $callback\n         * @return void\n         * @static\n         */\n        public static function resolverFor($driver, $callback)\n        {\n            //Method inherited from \\Illuminate\\Database\\Connection\n            \\Illuminate\\Database\\MySqlConnection::resolverFor($driver, $callback);\n        }\n\n        /**\n         * Get the connection resolver for the given driver.\n         *\n         * @param string $driver\n         * @return mixed\n         * @static\n         */\n        public static function getResolver($driver)\n        {\n            //Method inherited from \\Illuminate\\Database\\Connection\n            return \\Illuminate\\Database\\MySqlConnection::getResolver($driver);\n        }\n\n        /**\n         * Execute a Closure within a transaction.\n         *\n         * @param \\Closure $callback\n         * @param int $attempts\n         * @return mixed\n         * @throws \\Exception|\\Throwable\n         * @static\n         */\n        public static function transaction($callback, $attempts = 1)\n        {\n            //Method inherited from \\Illuminate\\Database\\Connection\n            return \\Illuminate\\Database\\MySqlConnection::transaction($callback, $attempts);\n        }\n\n        /**\n         * Start a new database transaction.\n         *\n         * @return void\n         * @throws \\Exception\n         * @static\n         */\n        public static function beginTransaction()\n        {\n            //Method inherited from \\Illuminate\\Database\\Connection\n            \\Illuminate\\Database\\MySqlConnection::beginTransaction();\n        }\n\n        /**\n         * Commit the active database transaction.\n         *\n         * @return void\n         * @static\n         */\n        public static function commit()\n        {\n            //Method inherited from \\Illuminate\\Database\\Connection\n            \\Illuminate\\Database\\MySqlConnection::commit();\n        }\n\n        /**\n         * Rollback the active database transaction.\n         *\n         * @param int|null $toLevel\n         * @return void\n         * @static\n         */\n        public static function rollBack($toLevel = null)\n        {\n            //Method inherited from \\Illuminate\\Database\\Connection\n            \\Illuminate\\Database\\MySqlConnection::rollBack($toLevel);\n        }\n\n        /**\n         * Get the number of active transactions.\n         *\n         * @return int\n         * @static\n         */\n        public static function transactionLevel()\n        {\n            //Method inherited from \\Illuminate\\Database\\Connection\n            return \\Illuminate\\Database\\MySqlConnection::transactionLevel();\n        }\n    }\n\n\n    class Eloquent extends \\Illuminate\\Database\\Eloquent\\Model\n    {\n        /**\n         * Register a new global scope.\n         *\n         * @param string $identifier\n         * @param \\Illuminate\\Database\\Eloquent\\Scope|\\Closure $scope\n         * @return $this\n         * @static\n         */\n        public static function withGlobalScope($identifier, $scope)\n        {\n            return \\Illuminate\\Database\\Eloquent\\Builder::withGlobalScope($identifier, $scope);\n        }\n\n        /**\n         * Remove a registered global scope.\n         *\n         * @param \\Illuminate\\Database\\Eloquent\\Scope|string $scope\n         * @return $this\n         * @static\n         */\n        public static function withoutGlobalScope($scope)\n        {\n            return \\Illuminate\\Database\\Eloquent\\Builder::withoutGlobalScope($scope);\n        }\n\n        /**\n         * Remove all or passed registered global scopes.\n         *\n         * @param array|null $scopes\n         * @return $this\n         * @static\n         */\n        public static function withoutGlobalScopes($scopes = null)\n        {\n            return \\Illuminate\\Database\\Eloquent\\Builder::withoutGlobalScopes($scopes);\n        }\n\n        /**\n         * Get an array of global scopes that were removed from the query.\n         *\n         * @return array\n         * @static\n         */\n        public static function removedScopes()\n        {\n            return \\Illuminate\\Database\\Eloquent\\Builder::removedScopes();\n        }\n\n        /**\n         * Apply the callback's query changes if the given \"value\" is true.\n         *\n         * @param bool $value\n         * @param \\Closure $callback\n         * @param \\Closure $default\n         * @return $this\n         * @static\n         */\n        public static function when($value, $callback, $default = null)\n        {\n            return \\Illuminate\\Database\\Eloquent\\Builder::when($value, $callback, $default);\n        }\n\n        /**\n         * Add a where clause on the primary key to the query.\n         *\n         * @param mixed $id\n         * @return $this\n         * @static\n         */\n        public static function whereKey($id)\n        {\n            return \\Illuminate\\Database\\Eloquent\\Builder::whereKey($id);\n        }\n\n        /**\n         * Add a basic where clause to the query.\n         *\n         * @param string|\\Closure $column\n         * @param string $operator\n         * @param mixed $value\n         * @param string $boolean\n         * @return $this\n         * @static\n         */\n        public static function where($column, $operator = null, $value = null, $boolean = 'and')\n        {\n            return \\Illuminate\\Database\\Eloquent\\Builder::where($column, $operator, $value, $boolean);\n        }\n\n        /**\n         * Add an \"or where\" clause to the query.\n         *\n         * @param string|\\Closure $column\n         * @param string $operator\n         * @param mixed $value\n         * @return \\Illuminate\\Database\\Eloquent\\Builder|static\n         * @static\n         */\n        public static function orWhere($column, $operator = null, $value = null)\n        {\n            return \\Illuminate\\Database\\Eloquent\\Builder::orWhere($column, $operator, $value);\n        }\n\n        /**\n         * Create a collection of models from plain arrays.\n         *\n         * @param array $items\n         * @return \\Illuminate\\Database\\Eloquent\\Collection\n         * @static\n         */\n        public static function hydrate($items)\n        {\n            return \\Illuminate\\Database\\Eloquent\\Builder::hydrate($items);\n        }\n\n        /**\n         * Create a collection of models from a raw query.\n         *\n         * @param string $query\n         * @param array $bindings\n         * @return \\Illuminate\\Database\\Eloquent\\Collection\n         * @static\n         */\n        public static function fromQuery($query, $bindings = [])\n        {\n            return \\Illuminate\\Database\\Eloquent\\Builder::fromQuery($query, $bindings);\n        }\n\n        /**\n         * Find a model by its primary key.\n         *\n         * @param mixed $id\n         * @param array $columns\n         * @return mixed\n         * @static\n         */\n        public static function find($id, $columns = [])\n        {\n            return \\Illuminate\\Database\\Eloquent\\Builder::find($id, $columns);\n        }\n\n        /**\n         * Find multiple models by their primary keys.\n         *\n         * @param array $ids\n         * @param array $columns\n         * @return \\Illuminate\\Database\\Eloquent\\Collection\n         * @static\n         */\n        public static function findMany($ids, $columns = [])\n        {\n            return \\Illuminate\\Database\\Eloquent\\Builder::findMany($ids, $columns);\n        }\n\n        /**\n         * Find a model by its primary key or throw an exception.\n         *\n         * @param mixed $id\n         * @param array $columns\n         * @return \\Illuminate\\Database\\Eloquent\\Model|\\Illuminate\\Database\\Eloquent\\Collection\n         * @throws \\Illuminate\\Database\\Eloquent\\ModelNotFoundException\n         * @static\n         */\n        public static function findOrFail($id, $columns = [])\n        {\n            return \\Illuminate\\Database\\Eloquent\\Builder::findOrFail($id, $columns);\n        }\n\n        /**\n         * Find a model by its primary key or return fresh model instance.\n         *\n         * @param mixed $id\n         * @param array $columns\n         * @return \\Illuminate\\Database\\Eloquent\\Model\n         * @static\n         */\n        public static function findOrNew($id, $columns = [])\n        {\n            return \\Illuminate\\Database\\Eloquent\\Builder::findOrNew($id, $columns);\n        }\n\n        /**\n         * Get the first record matching the attributes or instantiate it.\n         *\n         * @param array $attributes\n         * @param array $values\n         * @return \\Illuminate\\Database\\Eloquent\\Model\n         * @static\n         */\n        public static function firstOrNew($attributes, $values = [])\n        {\n            return \\Illuminate\\Database\\Eloquent\\Builder::firstOrNew($attributes, $values);\n        }\n\n        /**\n         * Get the first record matching the attributes or create it.\n         *\n         * @param array $attributes\n         * @param array $values\n         * @return \\Illuminate\\Database\\Eloquent\\Model\n         * @static\n         */\n        public static function firstOrCreate($attributes, $values = [])\n        {\n            return \\Illuminate\\Database\\Eloquent\\Builder::firstOrCreate($attributes, $values);\n        }\n\n        /**\n         * Create or update a record matching the attributes, and fill it with values.\n         *\n         * @param array $attributes\n         * @param array $values\n         * @return \\Illuminate\\Database\\Eloquent\\Model\n         * @static\n         */\n        public static function updateOrCreate($attributes, $values = [])\n        {\n            return \\Illuminate\\Database\\Eloquent\\Builder::updateOrCreate($attributes, $values);\n        }\n\n        /**\n         * Execute the query and get the first result.\n         *\n         * @param array $columns\n         * @return \\Illuminate\\Database\\Eloquent\\Model|static|null\n         * @static\n         */\n        public static function first($columns = [])\n        {\n            return \\Illuminate\\Database\\Eloquent\\Builder::first($columns);\n        }\n\n        /**\n         * Execute the query and get the first result or throw an exception.\n         *\n         * @param array $columns\n         * @return \\Illuminate\\Database\\Eloquent\\Model|static\n         * @throws \\Illuminate\\Database\\Eloquent\\ModelNotFoundException\n         * @static\n         */\n        public static function firstOrFail($columns = [])\n        {\n            return \\Illuminate\\Database\\Eloquent\\Builder::firstOrFail($columns);\n        }\n\n        /**\n         * Execute the query and get the first result or call a callback.\n         *\n         * @param \\Closure|array $columns\n         * @param \\Closure|null $callback\n         * @return \\Illuminate\\Database\\Eloquent\\Model|static|mixed\n         * @static\n         */\n        public static function firstOr($columns = [], $callback = null)\n        {\n            return \\Illuminate\\Database\\Eloquent\\Builder::firstOr($columns, $callback);\n        }\n\n        /**\n         * Get a single column's value from the first result of a query.\n         *\n         * @param string $column\n         * @return mixed\n         * @static\n         */\n        public static function value($column)\n        {\n            return \\Illuminate\\Database\\Eloquent\\Builder::value($column);\n        }\n\n        /**\n         * Execute the query as a \"select\" statement.\n         *\n         * @param array $columns\n         * @return \\Illuminate\\Database\\Eloquent\\Collection|static[]\n         * @static\n         */\n        public static function get($columns = [])\n        {\n            return \\Illuminate\\Database\\Eloquent\\Builder::get($columns);\n        }\n\n        /**\n         * Get the hydrated models without eager loading.\n         *\n         * @param array $columns\n         * @return \\Illuminate\\Database\\Eloquent\\Model[]\n         * @static\n         */\n        public static function getModels($columns = [])\n        {\n            return \\Illuminate\\Database\\Eloquent\\Builder::getModels($columns);\n        }\n\n        /**\n         * Eager load the relationships for the models.\n         *\n         * @param array $models\n         * @return array\n         * @static\n         */\n        public static function eagerLoadRelations($models)\n        {\n            return \\Illuminate\\Database\\Eloquent\\Builder::eagerLoadRelations($models);\n        }\n\n        /**\n         * Get a generator for the given query.\n         *\n         * @return \\Generator\n         * @static\n         */\n        public static function cursor()\n        {\n            return \\Illuminate\\Database\\Eloquent\\Builder::cursor();\n        }\n\n        /**\n         * Chunk the results of the query.\n         *\n         * @param int $count\n         * @param callable $callback\n         * @return bool\n         * @static\n         */\n        public static function chunk($count, $callback)\n        {\n            return \\Illuminate\\Database\\Eloquent\\Builder::chunk($count, $callback);\n        }\n\n        /**\n         * Chunk the results of a query by comparing numeric IDs.\n         *\n         * @param int $count\n         * @param callable $callback\n         * @param string $column\n         * @param string|null $alias\n         * @return bool\n         * @static\n         */\n        public static function chunkById($count, $callback, $column = null, $alias = null)\n        {\n            return \\Illuminate\\Database\\Eloquent\\Builder::chunkById($count, $callback, $column, $alias);\n        }\n\n        /**\n         * Execute a callback over each item while chunking.\n         *\n         * @param callable $callback\n         * @param int $count\n         * @return bool\n         * @static\n         */\n        public static function each($callback, $count = 1000)\n        {\n            return \\Illuminate\\Database\\Eloquent\\Builder::each($callback, $count);\n        }\n\n        /**\n         * Get an array with the values of a given column.\n         *\n         * @param string $column\n         * @param string|null $key\n         * @return \\Illuminate\\Support\\Collection\n         * @static\n         */\n        public static function pluck($column, $key = null)\n        {\n            return \\Illuminate\\Database\\Eloquent\\Builder::pluck($column, $key);\n        }\n\n        /**\n         * Paginate the given query.\n         *\n         * @param int $perPage\n         * @param array $columns\n         * @param string $pageName\n         * @param int|null $page\n         * @return \\Illuminate\\Contracts\\Pagination\\LengthAwarePaginator\n         * @throws \\InvalidArgumentException\n         * @static\n         */\n        public static function paginate($perPage = null, $columns = [], $pageName = 'page', $page = null)\n        {\n            return \\Illuminate\\Database\\Eloquent\\Builder::paginate($perPage, $columns, $pageName, $page);\n        }\n\n        /**\n         * Paginate the given query into a simple paginator.\n         *\n         * @param int $perPage\n         * @param array $columns\n         * @param string $pageName\n         * @param int|null $page\n         * @return \\Illuminate\\Contracts\\Pagination\\Paginator\n         * @static\n         */\n        public static function simplePaginate($perPage = null, $columns = [], $pageName = 'page', $page = null)\n        {\n            return \\Illuminate\\Database\\Eloquent\\Builder::simplePaginate($perPage, $columns, $pageName, $page);\n        }\n\n        /**\n         * Save a new model and return the instance.\n         *\n         * @param array $attributes\n         * @return \\Illuminate\\Database\\Eloquent\\Model\n         * @static\n         */\n        public static function create($attributes = [])\n        {\n            return \\Illuminate\\Database\\Eloquent\\Builder::create($attributes);\n        }\n\n        /**\n         * Save a new model and return the instance. Allow mass-assignment.\n         *\n         * @param array $attributes\n         * @return \\Illuminate\\Database\\Eloquent\\Model\n         * @static\n         */\n        public static function forceCreate($attributes)\n        {\n            return \\Illuminate\\Database\\Eloquent\\Builder::forceCreate($attributes);\n        }\n\n        /**\n         * Register a replacement for the default delete function.\n         *\n         * @param \\Closure $callback\n         * @return void\n         * @static\n         */\n        public static function onDelete($callback)\n        {\n            \\Illuminate\\Database\\Eloquent\\Builder::onDelete($callback);\n        }\n\n        /**\n         * Call the given local model scopes.\n         *\n         * @param array $scopes\n         * @return mixed\n         * @static\n         */\n        public static function scopes($scopes)\n        {\n            return \\Illuminate\\Database\\Eloquent\\Builder::scopes($scopes);\n        }\n\n        /**\n         * Apply the scopes to the Eloquent builder instance and return it.\n         *\n         * @return \\Illuminate\\Database\\Eloquent\\Builder|static\n         * @static\n         */\n        public static function applyScopes()\n        {\n            return \\Illuminate\\Database\\Eloquent\\Builder::applyScopes();\n        }\n\n        /**\n         * Prevent the specified relations from being eager loaded.\n         *\n         * @param mixed $relations\n         * @return $this\n         * @static\n         */\n        public static function without($relations)\n        {\n            return \\Illuminate\\Database\\Eloquent\\Builder::without($relations);\n        }\n\n        /**\n         * Get the underlying query builder instance.\n         *\n         * @return \\Illuminate\\Database\\Query\\Builder\n         * @static\n         */\n        public static function getQuery()\n        {\n            return \\Illuminate\\Database\\Eloquent\\Builder::getQuery();\n        }\n\n        /**\n         * Set the underlying query builder instance.\n         *\n         * @param \\Illuminate\\Database\\Query\\Builder $query\n         * @return $this\n         * @static\n         */\n        public static function setQuery($query)\n        {\n            return \\Illuminate\\Database\\Eloquent\\Builder::setQuery($query);\n        }\n\n        /**\n         * Get a base query builder instance.\n         *\n         * @return \\Illuminate\\Database\\Query\\Builder\n         * @static\n         */\n        public static function toBase()\n        {\n            return \\Illuminate\\Database\\Eloquent\\Builder::toBase();\n        }\n\n        /**\n         * Get the relationships being eagerly loaded.\n         *\n         * @return array\n         * @static\n         */\n        public static function getEagerLoads()\n        {\n            return \\Illuminate\\Database\\Eloquent\\Builder::getEagerLoads();\n        }\n\n        /**\n         * Set the relationships being eagerly loaded.\n         *\n         * @param array $eagerLoad\n         * @return $this\n         * @static\n         */\n        public static function setEagerLoads($eagerLoad)\n        {\n            return \\Illuminate\\Database\\Eloquent\\Builder::setEagerLoads($eagerLoad);\n        }\n\n        /**\n         * Get the model instance being queried.\n         *\n         * @return \\Illuminate\\Database\\Eloquent\\Model\n         * @static\n         */\n        public static function getModel()\n        {\n            return \\Illuminate\\Database\\Eloquent\\Builder::getModel();\n        }\n\n        /**\n         * Set a model instance for the model being queried.\n         *\n         * @param \\Illuminate\\Database\\Eloquent\\Model $model\n         * @return $this\n         * @static\n         */\n        public static function setModel($model)\n        {\n            return \\Illuminate\\Database\\Eloquent\\Builder::setModel($model);\n        }\n\n        /**\n         * Extend the builder with a given callback.\n         *\n         * @param string $name\n         * @param \\Closure $callback\n         * @return void\n         * @static\n         */\n        public static function macro($name, $callback)\n        {\n            \\Illuminate\\Database\\Eloquent\\Builder::macro($name, $callback);\n        }\n\n        /**\n         * Get the given macro by name.\n         *\n         * @param string $name\n         * @return \\Closure\n         * @static\n         */\n        public static function getMacro($name)\n        {\n            return \\Illuminate\\Database\\Eloquent\\Builder::getMacro($name);\n        }\n\n        /**\n         * Add a relationship count / exists condition to the query.\n         *\n         * @param string $relation\n         * @param string $operator\n         * @param int $count\n         * @param string $boolean\n         * @param \\Closure|null $callback\n         * @return \\Illuminate\\Database\\Eloquent\\Builder|static\n         * @static\n         */\n        public static function has($relation, $operator = '>=', $count = 1, $boolean = 'and', $callback = null)\n        {\n            return \\Illuminate\\Database\\Eloquent\\Builder::has($relation, $operator, $count, $boolean, $callback);\n        }\n\n        /**\n         * Add a relationship count / exists condition to the query with an \"or\".\n         *\n         * @param string $relation\n         * @param string $operator\n         * @param int $count\n         * @return \\Illuminate\\Database\\Eloquent\\Builder|static\n         * @static\n         */\n        public static function orHas($relation, $operator = '>=', $count = 1)\n        {\n            return \\Illuminate\\Database\\Eloquent\\Builder::orHas($relation, $operator, $count);\n        }\n\n        /**\n         * Add a relationship count / exists condition to the query.\n         *\n         * @param string $relation\n         * @param string $boolean\n         * @param \\Closure|null $callback\n         * @return \\Illuminate\\Database\\Eloquent\\Builder|static\n         * @static\n         */\n        public static function doesntHave($relation, $boolean = 'and', $callback = null)\n        {\n            return \\Illuminate\\Database\\Eloquent\\Builder::doesntHave($relation, $boolean, $callback);\n        }\n\n        /**\n         * Add a relationship count / exists condition to the query with where clauses.\n         *\n         * @param string $relation\n         * @param \\Closure|null $callback\n         * @param string $operator\n         * @param int $count\n         * @return \\Illuminate\\Database\\Eloquent\\Builder|static\n         * @static\n         */\n        public static function whereHas($relation, $callback = null, $operator = '>=', $count = 1)\n        {\n            return \\Illuminate\\Database\\Eloquent\\Builder::whereHas($relation, $callback, $operator, $count);\n        }\n\n        /**\n         * Add a relationship count / exists condition to the query with where clauses and an \"or\".\n         *\n         * @param string $relation\n         * @param \\Closure $callback\n         * @param string $operator\n         * @param int $count\n         * @return \\Illuminate\\Database\\Eloquent\\Builder|static\n         * @static\n         */\n        public static function orWhereHas($relation, $callback, $operator = '>=', $count = 1)\n        {\n            return \\Illuminate\\Database\\Eloquent\\Builder::orWhereHas($relation, $callback, $operator, $count);\n        }\n\n        /**\n         * Add a relationship count / exists condition to the query with where clauses.\n         *\n         * @param string $relation\n         * @param \\Closure|null $callback\n         * @return \\Illuminate\\Database\\Eloquent\\Builder|static\n         * @static\n         */\n        public static function whereDoesntHave($relation, $callback = null)\n        {\n            return \\Illuminate\\Database\\Eloquent\\Builder::whereDoesntHave($relation, $callback);\n        }\n\n        /**\n         * Add subselect queries to count the relations.\n         *\n         * @param mixed $relations\n         * @return $this\n         * @static\n         */\n        public static function withCount($relations)\n        {\n            return \\Illuminate\\Database\\Eloquent\\Builder::withCount($relations);\n        }\n\n        /**\n         * Merge the where constraints from another query to the current query.\n         *\n         * @param \\Illuminate\\Database\\Eloquent\\Builder $from\n         * @return \\Illuminate\\Database\\Eloquent\\Builder|static\n         * @static\n         */\n        public static function mergeConstraintsFrom($from)\n        {\n            return \\Illuminate\\Database\\Eloquent\\Builder::mergeConstraintsFrom($from);\n        }\n\n        /**\n         * Set the columns to be selected.\n         *\n         * @param array|mixed $columns\n         * @return $this\n         * @static\n         */\n        public static function select($columns = [])\n        {\n            return \\Illuminate\\Database\\Query\\Builder::select($columns);\n        }\n\n        /**\n         * Add a new \"raw\" select expression to the query.\n         *\n         * @param string $expression\n         * @param array $bindings\n         * @return \\Illuminate\\Database\\Query\\Builder|static\n         * @static\n         */\n        public static function selectRaw($expression, $bindings = [])\n        {\n            return \\Illuminate\\Database\\Query\\Builder::selectRaw($expression, $bindings);\n        }\n\n        /**\n         * Add a subselect expression to the query.\n         *\n         * @param \\Closure|\\Illuminate\\Database\\Query\\Builder|string $query\n         * @param string $as\n         * @return \\Illuminate\\Database\\Query\\Builder|static\n         * @throws \\InvalidArgumentException\n         * @static\n         */\n        public static function selectSub($query, $as)\n        {\n            return \\Illuminate\\Database\\Query\\Builder::selectSub($query, $as);\n        }\n\n        /**\n         * Add a new select column to the query.\n         *\n         * @param array|mixed $column\n         * @return $this\n         * @static\n         */\n        public static function addSelect($column)\n        {\n            return \\Illuminate\\Database\\Query\\Builder::addSelect($column);\n        }\n\n        /**\n         * Force the query to only return distinct results.\n         *\n         * @return $this\n         * @static\n         */\n        public static function distinct()\n        {\n            return \\Illuminate\\Database\\Query\\Builder::distinct();\n        }\n\n        /**\n         * Set the table which the query is targeting.\n         *\n         * @param string $table\n         * @return $this\n         * @static\n         */\n        public static function from($table)\n        {\n            return \\Illuminate\\Database\\Query\\Builder::from($table);\n        }\n\n        /**\n         * Add a join clause to the query.\n         *\n         * @param string $table\n         * @param string $first\n         * @param string $operator\n         * @param string $second\n         * @param string $type\n         * @param bool $where\n         * @return $this\n         * @static\n         */\n        public static function join($table, $first, $operator = null, $second = null, $type = 'inner', $where = false)\n        {\n            return \\Illuminate\\Database\\Query\\Builder::join($table, $first, $operator, $second, $type, $where);\n        }\n\n        /**\n         * Add a \"join where\" clause to the query.\n         *\n         * @param string $table\n         * @param string $first\n         * @param string $operator\n         * @param string $second\n         * @param string $type\n         * @return \\Illuminate\\Database\\Query\\Builder|static\n         * @static\n         */\n        public static function joinWhere($table, $first, $operator, $second, $type = 'inner')\n        {\n            return \\Illuminate\\Database\\Query\\Builder::joinWhere($table, $first, $operator, $second, $type);\n        }\n\n        /**\n         * Add a left join to the query.\n         *\n         * @param string $table\n         * @param string $first\n         * @param string $operator\n         * @param string $second\n         * @return \\Illuminate\\Database\\Query\\Builder|static\n         * @static\n         */\n        public static function leftJoin($table, $first, $operator = null, $second = null)\n        {\n            return \\Illuminate\\Database\\Query\\Builder::leftJoin($table, $first, $operator, $second);\n        }\n\n        /**\n         * Add a \"join where\" clause to the query.\n         *\n         * @param string $table\n         * @param string $first\n         * @param string $operator\n         * @param string $second\n         * @return \\Illuminate\\Database\\Query\\Builder|static\n         * @static\n         */\n        public static function leftJoinWhere($table, $first, $operator, $second)\n        {\n            return \\Illuminate\\Database\\Query\\Builder::leftJoinWhere($table, $first, $operator, $second);\n        }\n\n        /**\n         * Add a right join to the query.\n         *\n         * @param string $table\n         * @param string $first\n         * @param string $operator\n         * @param string $second\n         * @return \\Illuminate\\Database\\Query\\Builder|static\n         * @static\n         */\n        public static function rightJoin($table, $first, $operator = null, $second = null)\n        {\n            return \\Illuminate\\Database\\Query\\Builder::rightJoin($table, $first, $operator, $second);\n        }\n\n        /**\n         * Add a \"right join where\" clause to the query.\n         *\n         * @param string $table\n         * @param string $first\n         * @param string $operator\n         * @param string $second\n         * @return \\Illuminate\\Database\\Query\\Builder|static\n         * @static\n         */\n        public static function rightJoinWhere($table, $first, $operator, $second)\n        {\n            return \\Illuminate\\Database\\Query\\Builder::rightJoinWhere($table, $first, $operator, $second);\n        }\n\n        /**\n         * Add a \"cross join\" clause to the query.\n         *\n         * @param string $table\n         * @param string $first\n         * @param string $operator\n         * @param string $second\n         * @return \\Illuminate\\Database\\Query\\Builder|static\n         * @static\n         */\n        public static function crossJoin($table, $first = null, $operator = null, $second = null)\n        {\n            return \\Illuminate\\Database\\Query\\Builder::crossJoin($table, $first, $operator, $second);\n        }\n\n        /**\n         * Merge an array of where clauses and bindings.\n         *\n         * @param array $wheres\n         * @param array $bindings\n         * @return void\n         * @static\n         */\n        public static function mergeWheres($wheres, $bindings)\n        {\n            \\Illuminate\\Database\\Query\\Builder::mergeWheres($wheres, $bindings);\n        }\n\n        /**\n         * Add a \"where\" clause comparing two columns to the query.\n         *\n         * @param string|array $first\n         * @param string|null $operator\n         * @param string|null $second\n         * @param string|null $boolean\n         * @return \\Illuminate\\Database\\Query\\Builder|static\n         * @static\n         */\n        public static function whereColumn($first, $operator = null, $second = null, $boolean = 'and')\n        {\n            return \\Illuminate\\Database\\Query\\Builder::whereColumn($first, $operator, $second, $boolean);\n        }\n\n        /**\n         * Add an \"or where\" clause comparing two columns to the query.\n         *\n         * @param string|array $first\n         * @param string|null $operator\n         * @param string|null $second\n         * @return \\Illuminate\\Database\\Query\\Builder|static\n         * @static\n         */\n        public static function orWhereColumn($first, $operator = null, $second = null)\n        {\n            return \\Illuminate\\Database\\Query\\Builder::orWhereColumn($first, $operator, $second);\n        }\n\n        /**\n         * Add a raw where clause to the query.\n         *\n         * @param string $sql\n         * @param mixed $bindings\n         * @param string $boolean\n         * @return $this\n         * @static\n         */\n        public static function whereRaw($sql, $bindings = [], $boolean = 'and')\n        {\n            return \\Illuminate\\Database\\Query\\Builder::whereRaw($sql, $bindings, $boolean);\n        }\n\n        /**\n         * Add a raw or where clause to the query.\n         *\n         * @param string $sql\n         * @param array $bindings\n         * @return \\Illuminate\\Database\\Query\\Builder|static\n         * @static\n         */\n        public static function orWhereRaw($sql, $bindings = [])\n        {\n            return \\Illuminate\\Database\\Query\\Builder::orWhereRaw($sql, $bindings);\n        }\n\n        /**\n         * Add a \"where in\" clause to the query.\n         *\n         * @param string $column\n         * @param mixed $values\n         * @param string $boolean\n         * @param bool $not\n         * @return $this\n         * @static\n         */\n        public static function whereIn($column, $values, $boolean = 'and', $not = false)\n        {\n            return \\Illuminate\\Database\\Query\\Builder::whereIn($column, $values, $boolean, $not);\n        }\n\n        /**\n         * Add an \"or where in\" clause to the query.\n         *\n         * @param string $column\n         * @param mixed $values\n         * @return \\Illuminate\\Database\\Query\\Builder|static\n         * @static\n         */\n        public static function orWhereIn($column, $values)\n        {\n            return \\Illuminate\\Database\\Query\\Builder::orWhereIn($column, $values);\n        }\n\n        /**\n         * Add a \"where not in\" clause to the query.\n         *\n         * @param string $column\n         * @param mixed $values\n         * @param string $boolean\n         * @return \\Illuminate\\Database\\Query\\Builder|static\n         * @static\n         */\n        public static function whereNotIn($column, $values, $boolean = 'and')\n        {\n            return \\Illuminate\\Database\\Query\\Builder::whereNotIn($column, $values, $boolean);\n        }\n\n        /**\n         * Add an \"or where not in\" clause to the query.\n         *\n         * @param string $column\n         * @param mixed $values\n         * @return \\Illuminate\\Database\\Query\\Builder|static\n         * @static\n         */\n        public static function orWhereNotIn($column, $values)\n        {\n            return \\Illuminate\\Database\\Query\\Builder::orWhereNotIn($column, $values);\n        }\n\n        /**\n         * Add a \"where null\" clause to the query.\n         *\n         * @param string $column\n         * @param string $boolean\n         * @param bool $not\n         * @return $this\n         * @static\n         */\n        public static function whereNull($column, $boolean = 'and', $not = false)\n        {\n            return \\Illuminate\\Database\\Query\\Builder::whereNull($column, $boolean, $not);\n        }\n\n        /**\n         * Add an \"or where null\" clause to the query.\n         *\n         * @param string $column\n         * @return \\Illuminate\\Database\\Query\\Builder|static\n         * @static\n         */\n        public static function orWhereNull($column)\n        {\n            return \\Illuminate\\Database\\Query\\Builder::orWhereNull($column);\n        }\n\n        /**\n         * Add a \"where not null\" clause to the query.\n         *\n         * @param string $column\n         * @param string $boolean\n         * @return \\Illuminate\\Database\\Query\\Builder|static\n         * @static\n         */\n        public static function whereNotNull($column, $boolean = 'and')\n        {\n            return \\Illuminate\\Database\\Query\\Builder::whereNotNull($column, $boolean);\n        }\n\n        /**\n         * Add a where between statement to the query.\n         *\n         * @param string $column\n         * @param array $values\n         * @param string $boolean\n         * @param bool $not\n         * @return $this\n         * @static\n         */\n        public static function whereBetween($column, $values, $boolean = 'and', $not = false)\n        {\n            return \\Illuminate\\Database\\Query\\Builder::whereBetween($column, $values, $boolean, $not);\n        }\n\n        /**\n         * Add an or where between statement to the query.\n         *\n         * @param string $column\n         * @param array $values\n         * @return \\Illuminate\\Database\\Query\\Builder|static\n         * @static\n         */\n        public static function orWhereBetween($column, $values)\n        {\n            return \\Illuminate\\Database\\Query\\Builder::orWhereBetween($column, $values);\n        }\n\n        /**\n         * Add a where not between statement to the query.\n         *\n         * @param string $column\n         * @param array $values\n         * @param string $boolean\n         * @return \\Illuminate\\Database\\Query\\Builder|static\n         * @static\n         */\n        public static function whereNotBetween($column, $values, $boolean = 'and')\n        {\n            return \\Illuminate\\Database\\Query\\Builder::whereNotBetween($column, $values, $boolean);\n        }\n\n        /**\n         * Add an or where not between statement to the query.\n         *\n         * @param string $column\n         * @param array $values\n         * @return \\Illuminate\\Database\\Query\\Builder|static\n         * @static\n         */\n        public static function orWhereNotBetween($column, $values)\n        {\n            return \\Illuminate\\Database\\Query\\Builder::orWhereNotBetween($column, $values);\n        }\n\n        /**\n         * Add an \"or where not null\" clause to the query.\n         *\n         * @param string $column\n         * @return \\Illuminate\\Database\\Query\\Builder|static\n         * @static\n         */\n        public static function orWhereNotNull($column)\n        {\n            return \\Illuminate\\Database\\Query\\Builder::orWhereNotNull($column);\n        }\n\n        /**\n         * Add a \"where date\" statement to the query.\n         *\n         * @param string $column\n         * @param string $operator\n         * @param mixed $value\n         * @param string $boolean\n         * @return \\Illuminate\\Database\\Query\\Builder|static\n         * @static\n         */\n        public static function whereDate($column, $operator, $value = null, $boolean = 'and')\n        {\n            return \\Illuminate\\Database\\Query\\Builder::whereDate($column, $operator, $value, $boolean);\n        }\n\n        /**\n         * Add an \"or where date\" statement to the query.\n         *\n         * @param string $column\n         * @param string $operator\n         * @param string $value\n         * @return \\Illuminate\\Database\\Query\\Builder|static\n         * @static\n         */\n        public static function orWhereDate($column, $operator, $value)\n        {\n            return \\Illuminate\\Database\\Query\\Builder::orWhereDate($column, $operator, $value);\n        }\n\n        /**\n         * Add a \"where time\" statement to the query.\n         *\n         * @param string $column\n         * @param string $operator\n         * @param int $value\n         * @param string $boolean\n         * @return \\Illuminate\\Database\\Query\\Builder|static\n         * @static\n         */\n        public static function whereTime($column, $operator, $value, $boolean = 'and')\n        {\n            return \\Illuminate\\Database\\Query\\Builder::whereTime($column, $operator, $value, $boolean);\n        }\n\n        /**\n         * Add an \"or where time\" statement to the query.\n         *\n         * @param string $column\n         * @param string $operator\n         * @param int $value\n         * @return \\Illuminate\\Database\\Query\\Builder|static\n         * @static\n         */\n        public static function orWhereTime($column, $operator, $value)\n        {\n            return \\Illuminate\\Database\\Query\\Builder::orWhereTime($column, $operator, $value);\n        }\n\n        /**\n         * Add a \"where day\" statement to the query.\n         *\n         * @param string $column\n         * @param string $operator\n         * @param mixed $value\n         * @param string $boolean\n         * @return \\Illuminate\\Database\\Query\\Builder|static\n         * @static\n         */\n        public static function whereDay($column, $operator, $value = null, $boolean = 'and')\n        {\n            return \\Illuminate\\Database\\Query\\Builder::whereDay($column, $operator, $value, $boolean);\n        }\n\n        /**\n         * Add a \"where month\" statement to the query.\n         *\n         * @param string $column\n         * @param string $operator\n         * @param mixed $value\n         * @param string $boolean\n         * @return \\Illuminate\\Database\\Query\\Builder|static\n         * @static\n         */\n        public static function whereMonth($column, $operator, $value = null, $boolean = 'and')\n        {\n            return \\Illuminate\\Database\\Query\\Builder::whereMonth($column, $operator, $value, $boolean);\n        }\n\n        /**\n         * Add a \"where year\" statement to the query.\n         *\n         * @param string $column\n         * @param string $operator\n         * @param mixed $value\n         * @param string $boolean\n         * @return \\Illuminate\\Database\\Query\\Builder|static\n         * @static\n         */\n        public static function whereYear($column, $operator, $value = null, $boolean = 'and')\n        {\n            return \\Illuminate\\Database\\Query\\Builder::whereYear($column, $operator, $value, $boolean);\n        }\n\n        /**\n         * Add a nested where statement to the query.\n         *\n         * @param \\Closure $callback\n         * @param string $boolean\n         * @return \\Illuminate\\Database\\Query\\Builder|static\n         * @static\n         */\n        public static function whereNested($callback, $boolean = 'and')\n        {\n            return \\Illuminate\\Database\\Query\\Builder::whereNested($callback, $boolean);\n        }\n\n        /**\n         * Create a new query instance for nested where condition.\n         *\n         * @return \\Illuminate\\Database\\Query\\Builder\n         * @static\n         */\n        public static function forNestedWhere()\n        {\n            return \\Illuminate\\Database\\Query\\Builder::forNestedWhere();\n        }\n\n        /**\n         * Add another query builder as a nested where to the query builder.\n         *\n         * @param \\Illuminate\\Database\\Query\\Builder|static $query\n         * @param string $boolean\n         * @return $this\n         * @static\n         */\n        public static function addNestedWhereQuery($query, $boolean = 'and')\n        {\n            return \\Illuminate\\Database\\Query\\Builder::addNestedWhereQuery($query, $boolean);\n        }\n\n        /**\n         * Add an exists clause to the query.\n         *\n         * @param \\Closure $callback\n         * @param string $boolean\n         * @param bool $not\n         * @return $this\n         * @static\n         */\n        public static function whereExists($callback, $boolean = 'and', $not = false)\n        {\n            return \\Illuminate\\Database\\Query\\Builder::whereExists($callback, $boolean, $not);\n        }\n\n        /**\n         * Add an or exists clause to the query.\n         *\n         * @param \\Closure $callback\n         * @param bool $not\n         * @return \\Illuminate\\Database\\Query\\Builder|static\n         * @static\n         */\n        public static function orWhereExists($callback, $not = false)\n        {\n            return \\Illuminate\\Database\\Query\\Builder::orWhereExists($callback, $not);\n        }\n\n        /**\n         * Add a where not exists clause to the query.\n         *\n         * @param \\Closure $callback\n         * @param string $boolean\n         * @return \\Illuminate\\Database\\Query\\Builder|static\n         * @static\n         */\n        public static function whereNotExists($callback, $boolean = 'and')\n        {\n            return \\Illuminate\\Database\\Query\\Builder::whereNotExists($callback, $boolean);\n        }\n\n        /**\n         * Add a where not exists clause to the query.\n         *\n         * @param \\Closure $callback\n         * @return \\Illuminate\\Database\\Query\\Builder|static\n         * @static\n         */\n        public static function orWhereNotExists($callback)\n        {\n            return \\Illuminate\\Database\\Query\\Builder::orWhereNotExists($callback);\n        }\n\n        /**\n         * Add an exists clause to the query.\n         *\n         * @param \\Illuminate\\Database\\Query\\Builder $query\n         * @param string $boolean\n         * @param bool $not\n         * @return $this\n         * @static\n         */\n        public static function addWhereExistsQuery($query, $boolean = 'and', $not = false)\n        {\n            return \\Illuminate\\Database\\Query\\Builder::addWhereExistsQuery($query, $boolean, $not);\n        }\n\n        /**\n         * Handles dynamic \"where\" clauses to the query.\n         *\n         * @param string $method\n         * @param string $parameters\n         * @return $this\n         * @static\n         */\n        public static function dynamicWhere($method, $parameters)\n        {\n            return \\Illuminate\\Database\\Query\\Builder::dynamicWhere($method, $parameters);\n        }\n\n        /**\n         * Add a \"group by\" clause to the query.\n         *\n         * @param array $groups\n         * @return $this\n         * @static\n         */\n        public static function groupBy($groups = null)\n        {\n            return \\Illuminate\\Database\\Query\\Builder::groupBy($groups);\n        }\n\n        /**\n         * Add a \"having\" clause to the query.\n         *\n         * @param string $column\n         * @param string $operator\n         * @param string $value\n         * @param string $boolean\n         * @return $this\n         * @static\n         */\n        public static function having($column, $operator = null, $value = null, $boolean = 'and')\n        {\n            return \\Illuminate\\Database\\Query\\Builder::having($column, $operator, $value, $boolean);\n        }\n\n        /**\n         * Add a \"or having\" clause to the query.\n         *\n         * @param string $column\n         * @param string $operator\n         * @param string $value\n         * @return \\Illuminate\\Database\\Query\\Builder|static\n         * @static\n         */\n        public static function orHaving($column, $operator = null, $value = null)\n        {\n            return \\Illuminate\\Database\\Query\\Builder::orHaving($column, $operator, $value);\n        }\n\n        /**\n         * Add a raw having clause to the query.\n         *\n         * @param string $sql\n         * @param array $bindings\n         * @param string $boolean\n         * @return $this\n         * @static\n         */\n        public static function havingRaw($sql, $bindings = [], $boolean = 'and')\n        {\n            return \\Illuminate\\Database\\Query\\Builder::havingRaw($sql, $bindings, $boolean);\n        }\n\n        /**\n         * Add a raw or having clause to the query.\n         *\n         * @param string $sql\n         * @param array $bindings\n         * @return \\Illuminate\\Database\\Query\\Builder|static\n         * @static\n         */\n        public static function orHavingRaw($sql, $bindings = [])\n        {\n            return \\Illuminate\\Database\\Query\\Builder::orHavingRaw($sql, $bindings);\n        }\n\n        /**\n         * Add an \"order by\" clause to the query.\n         *\n         * @param string $column\n         * @param string $direction\n         * @return $this\n         * @static\n         */\n        public static function orderBy($column, $direction = 'asc')\n        {\n            return \\Illuminate\\Database\\Query\\Builder::orderBy($column, $direction);\n        }\n\n        /**\n         * Add an \"order by\" clause for a timestamp to the query.\n         *\n         * @param string $column\n         * @return \\Illuminate\\Database\\Query\\Builder|static\n         * @static\n         */\n        public static function latest($column = 'created_at')\n        {\n            return \\Illuminate\\Database\\Query\\Builder::latest($column);\n        }\n\n        /**\n         * Add an \"order by\" clause for a timestamp to the query.\n         *\n         * @param string $column\n         * @return \\Illuminate\\Database\\Query\\Builder|static\n         * @static\n         */\n        public static function oldest($column = 'created_at')\n        {\n            return \\Illuminate\\Database\\Query\\Builder::oldest($column);\n        }\n\n        /**\n         * Put the query's results in random order.\n         *\n         * @param string $seed\n         * @return $this\n         * @static\n         */\n        public static function inRandomOrder($seed = '')\n        {\n            return \\Illuminate\\Database\\Query\\Builder::inRandomOrder($seed);\n        }\n\n        /**\n         * Add a raw \"order by\" clause to the query.\n         *\n         * @param string $sql\n         * @param array $bindings\n         * @return $this\n         * @static\n         */\n        public static function orderByRaw($sql, $bindings = [])\n        {\n            return \\Illuminate\\Database\\Query\\Builder::orderByRaw($sql, $bindings);\n        }\n\n        /**\n         * Alias to set the \"offset\" value of the query.\n         *\n         * @param int $value\n         * @return \\Illuminate\\Database\\Query\\Builder|static\n         * @static\n         */\n        public static function skip($value)\n        {\n            return \\Illuminate\\Database\\Query\\Builder::skip($value);\n        }\n\n        /**\n         * Set the \"offset\" value of the query.\n         *\n         * @param int $value\n         * @return $this\n         * @static\n         */\n        public static function offset($value)\n        {\n            return \\Illuminate\\Database\\Query\\Builder::offset($value);\n        }\n\n        /**\n         * Alias to set the \"limit\" value of the query.\n         *\n         * @param int $value\n         * @return \\Illuminate\\Database\\Query\\Builder|static\n         * @static\n         */\n        public static function take($value)\n        {\n            return \\Illuminate\\Database\\Query\\Builder::take($value);\n        }\n\n        /**\n         * Set the \"limit\" value of the query.\n         *\n         * @param int $value\n         * @return $this\n         * @static\n         */\n        public static function limit($value)\n        {\n            return \\Illuminate\\Database\\Query\\Builder::limit($value);\n        }\n\n        /**\n         * Set the limit and offset for a given page.\n         *\n         * @param int $page\n         * @param int $perPage\n         * @return \\Illuminate\\Database\\Query\\Builder|static\n         * @static\n         */\n        public static function forPage($page, $perPage = 15)\n        {\n            return \\Illuminate\\Database\\Query\\Builder::forPage($page, $perPage);\n        }\n\n        /**\n         * Constrain the query to the next \"page\" of results after a given ID.\n         *\n         * @param int $perPage\n         * @param int $lastId\n         * @param string $column\n         * @return \\Illuminate\\Database\\Query\\Builder|static\n         * @static\n         */\n        public static function forPageAfterId($perPage = 15, $lastId = 0, $column = 'id')\n        {\n            return \\Illuminate\\Database\\Query\\Builder::forPageAfterId($perPage, $lastId, $column);\n        }\n\n        /**\n         * Add a union statement to the query.\n         *\n         * @param \\Illuminate\\Database\\Query\\Builder|\\Closure $query\n         * @param bool $all\n         * @return \\Illuminate\\Database\\Query\\Builder|static\n         * @static\n         */\n        public static function union($query, $all = false)\n        {\n            return \\Illuminate\\Database\\Query\\Builder::union($query, $all);\n        }\n\n        /**\n         * Add a union all statement to the query.\n         *\n         * @param \\Illuminate\\Database\\Query\\Builder|\\Closure $query\n         * @return \\Illuminate\\Database\\Query\\Builder|static\n         * @static\n         */\n        public static function unionAll($query)\n        {\n            return \\Illuminate\\Database\\Query\\Builder::unionAll($query);\n        }\n\n        /**\n         * Lock the selected rows in the table.\n         *\n         * @param string|bool $value\n         * @return $this\n         * @static\n         */\n        public static function lock($value = true)\n        {\n            return \\Illuminate\\Database\\Query\\Builder::lock($value);\n        }\n\n        /**\n         * Lock the selected rows in the table for updating.\n         *\n         * @return \\Illuminate\\Database\\Query\\Builder\n         * @static\n         */\n        public static function lockForUpdate()\n        {\n            return \\Illuminate\\Database\\Query\\Builder::lockForUpdate();\n        }\n\n        /**\n         * Share lock the selected rows in the table.\n         *\n         * @return \\Illuminate\\Database\\Query\\Builder\n         * @static\n         */\n        public static function sharedLock()\n        {\n            return \\Illuminate\\Database\\Query\\Builder::sharedLock();\n        }\n\n        /**\n         * Get the SQL representation of the query.\n         *\n         * @return string\n         * @static\n         */\n        public static function toSql()\n        {\n            return \\Illuminate\\Database\\Query\\Builder::toSql();\n        }\n\n        /**\n         * Get the count of the total records for the paginator.\n         *\n         * @param array $columns\n         * @return int\n         * @static\n         */\n        public static function getCountForPagination($columns = [])\n        {\n            return \\Illuminate\\Database\\Query\\Builder::getCountForPagination($columns);\n        }\n\n        /**\n         * Concatenate values of a given column as a string.\n         *\n         * @param string $column\n         * @param string $glue\n         * @return string\n         * @static\n         */\n        public static function implode($column, $glue = '')\n        {\n            return \\Illuminate\\Database\\Query\\Builder::implode($column, $glue);\n        }\n\n        /**\n         * Determine if any rows exist for the current query.\n         *\n         * @return bool\n         * @static\n         */\n        public static function exists()\n        {\n            return \\Illuminate\\Database\\Query\\Builder::exists();\n        }\n\n        /**\n         * Retrieve the \"count\" result of the query.\n         *\n         * @param string $columns\n         * @return int\n         * @static\n         */\n        public static function count($columns = '*')\n        {\n            return \\Illuminate\\Database\\Query\\Builder::count($columns);\n        }\n\n        /**\n         * Retrieve the minimum value of a given column.\n         *\n         * @param string $column\n         * @return mixed\n         * @static\n         */\n        public static function min($column)\n        {\n            return \\Illuminate\\Database\\Query\\Builder::min($column);\n        }\n\n        /**\n         * Retrieve the maximum value of a given column.\n         *\n         * @param string $column\n         * @return mixed\n         * @static\n         */\n        public static function max($column)\n        {\n            return \\Illuminate\\Database\\Query\\Builder::max($column);\n        }\n\n        /**\n         * Retrieve the sum of the values of a given column.\n         *\n         * @param string $column\n         * @return mixed\n         * @static\n         */\n        public static function sum($column)\n        {\n            return \\Illuminate\\Database\\Query\\Builder::sum($column);\n        }\n\n        /**\n         * Retrieve the average of the values of a given column.\n         *\n         * @param string $column\n         * @return mixed\n         * @static\n         */\n        public static function avg($column)\n        {\n            return \\Illuminate\\Database\\Query\\Builder::avg($column);\n        }\n\n        /**\n         * Alias for the \"avg\" method.\n         *\n         * @param string $column\n         * @return mixed\n         * @static\n         */\n        public static function average($column)\n        {\n            return \\Illuminate\\Database\\Query\\Builder::average($column);\n        }\n\n        /**\n         * Execute an aggregate function on the database.\n         *\n         * @param string $function\n         * @param array $columns\n         * @return mixed\n         * @static\n         */\n        public static function aggregate($function, $columns = [])\n        {\n            return \\Illuminate\\Database\\Query\\Builder::aggregate($function, $columns);\n        }\n\n        /**\n         * Execute a numeric aggregate function on the database.\n         *\n         * @param string $function\n         * @param array $columns\n         * @return float|int\n         * @static\n         */\n        public static function numericAggregate($function, $columns = [])\n        {\n            return \\Illuminate\\Database\\Query\\Builder::numericAggregate($function, $columns);\n        }\n\n        /**\n         * Insert a new record into the database.\n         *\n         * @param array $values\n         * @return bool\n         * @static\n         */\n        public static function insert($values)\n        {\n            return \\Illuminate\\Database\\Query\\Builder::insert($values);\n        }\n\n        /**\n         * Insert a new record and get the value of the primary key.\n         *\n         * @param array $values\n         * @param string $sequence\n         * @return int\n         * @static\n         */\n        public static function insertGetId($values, $sequence = null)\n        {\n            return \\Illuminate\\Database\\Query\\Builder::insertGetId($values, $sequence);\n        }\n\n        /**\n         * Insert or update a record matching the attributes, and fill it with values.\n         *\n         * @param array $attributes\n         * @param array $values\n         * @return bool\n         * @static\n         */\n        public static function updateOrInsert($attributes, $values = [])\n        {\n            return \\Illuminate\\Database\\Query\\Builder::updateOrInsert($attributes, $values);\n        }\n\n        /**\n         * Run a truncate statement on the table.\n         *\n         * @return void\n         * @static\n         */\n        public static function truncate()\n        {\n            \\Illuminate\\Database\\Query\\Builder::truncate();\n        }\n\n        /**\n         * Create a raw database expression.\n         *\n         * @param mixed $value\n         * @return \\Illuminate\\Database\\Query\\Expression\n         * @static\n         */\n        public static function raw($value)\n        {\n            return \\Illuminate\\Database\\Query\\Builder::raw($value);\n        }\n\n        /**\n         * Get the current query value bindings in a flattened array.\n         *\n         * @return array\n         * @static\n         */\n        public static function getBindings()\n        {\n            return \\Illuminate\\Database\\Query\\Builder::getBindings();\n        }\n\n        /**\n         * Get the raw array of bindings.\n         *\n         * @return array\n         * @static\n         */\n        public static function getRawBindings()\n        {\n            return \\Illuminate\\Database\\Query\\Builder::getRawBindings();\n        }\n\n        /**\n         * Set the bindings on the query builder.\n         *\n         * @param array $bindings\n         * @param string $type\n         * @return $this\n         * @throws \\InvalidArgumentException\n         * @static\n         */\n        public static function setBindings($bindings, $type = 'where')\n        {\n            return \\Illuminate\\Database\\Query\\Builder::setBindings($bindings, $type);\n        }\n\n        /**\n         * Add a binding to the query.\n         *\n         * @param mixed $value\n         * @param string $type\n         * @return $this\n         * @throws \\InvalidArgumentException\n         * @static\n         */\n        public static function addBinding($value, $type = 'where')\n        {\n            return \\Illuminate\\Database\\Query\\Builder::addBinding($value, $type);\n        }\n\n        /**\n         * Merge an array of bindings into our bindings.\n         *\n         * @param \\Illuminate\\Database\\Query\\Builder $query\n         * @return $this\n         * @static\n         */\n        public static function mergeBindings($query)\n        {\n            return \\Illuminate\\Database\\Query\\Builder::mergeBindings($query);\n        }\n\n        /**\n         * Get the database query processor instance.\n         *\n         * @return \\Illuminate\\Database\\Query\\Processors\\Processor\n         * @static\n         */\n        public static function getProcessor()\n        {\n            return \\Illuminate\\Database\\Query\\Builder::getProcessor();\n        }\n\n        /**\n         * Get the query grammar instance.\n         *\n         * @return \\Illuminate\\Database\\Query\\Grammars\\Grammar\n         * @static\n         */\n        public static function getGrammar()\n        {\n            return \\Illuminate\\Database\\Query\\Builder::getGrammar();\n        }\n\n        /**\n         * Use the write pdo for query.\n         *\n         * @return $this\n         * @static\n         */\n        public static function useWritePdo()\n        {\n            return \\Illuminate\\Database\\Query\\Builder::useWritePdo();\n        }\n\n        /**\n         * Clone the query without the given properties.\n         *\n         * @param array $except\n         * @return static\n         * @static\n         */\n        public static function cloneWithout($except)\n        {\n            return \\Illuminate\\Database\\Query\\Builder::cloneWithout($except);\n        }\n\n        /**\n         * Clone the query without the given bindings.\n         *\n         * @param array $except\n         * @return static\n         * @static\n         */\n        public static function cloneWithoutBindings($except)\n        {\n            return \\Illuminate\\Database\\Query\\Builder::cloneWithoutBindings($except);\n        }\n\n        /**\n         * Checks if macro is registered.\n         *\n         * @param string $name\n         * @return bool\n         * @static\n         */\n        public static function hasMacro($name)\n        {\n            return \\Illuminate\\Database\\Query\\Builder::hasMacro($name);\n        }\n\n        /**\n         * Dynamically handle calls to the class.\n         *\n         * @param string $method\n         * @param array $parameters\n         * @return mixed\n         * @throws \\BadMethodCallException\n         * @static\n         */\n        public static function macroCall($method, $parameters)\n        {\n            return \\Illuminate\\Database\\Query\\Builder::macroCall($method, $parameters);\n        }\n    }\n\n\n    class Event extends \\Illuminate\\Support\\Facades\\Event\n    {\n        /**\n         * Register an event listener with the dispatcher.\n         *\n         * @param string|array $events\n         * @param mixed $listener\n         * @return void\n         * @static\n         */\n        public static function listen($events, $listener)\n        {\n            \\Illuminate\\Events\\Dispatcher::listen($events, $listener);\n        }\n\n        /**\n         * Determine if a given event has listeners.\n         *\n         * @param string $eventName\n         * @return bool\n         * @static\n         */\n        public static function hasListeners($eventName)\n        {\n            return \\Illuminate\\Events\\Dispatcher::hasListeners($eventName);\n        }\n\n        /**\n         * Register an event and payload to be fired later.\n         *\n         * @param string $event\n         * @param array $payload\n         * @return void\n         * @static\n         */\n        public static function push($event, $payload = [])\n        {\n            \\Illuminate\\Events\\Dispatcher::push($event, $payload);\n        }\n\n        /**\n         * Flush a set of pushed events.\n         *\n         * @param string $event\n         * @return void\n         * @static\n         */\n        public static function flush($event)\n        {\n            \\Illuminate\\Events\\Dispatcher::flush($event);\n        }\n\n        /**\n         * Register an event subscriber with the dispatcher.\n         *\n         * @param object|string $subscriber\n         * @return void\n         * @static\n         */\n        public static function subscribe($subscriber)\n        {\n            \\Illuminate\\Events\\Dispatcher::subscribe($subscriber);\n        }\n\n        /**\n         * Fire an event until the first non-null response is returned.\n         *\n         * @param string|object $event\n         * @param mixed $payload\n         * @return array|null\n         * @static\n         */\n        public static function until($event, $payload = [])\n        {\n            return \\Illuminate\\Events\\Dispatcher::until($event, $payload);\n        }\n\n        /**\n         * Fire an event and call the listeners.\n         *\n         * @param string|object $event\n         * @param mixed $payload\n         * @param bool $halt\n         * @return array|null\n         * @static\n         */\n        public static function fire($event, $payload = [], $halt = false)\n        {\n            return \\Illuminate\\Events\\Dispatcher::fire($event, $payload, $halt);\n        }\n\n        /**\n         * Fire an event and call the listeners.\n         *\n         * @param string|object $event\n         * @param mixed $payload\n         * @param bool $halt\n         * @return array|null\n         * @static\n         */\n        public static function dispatch($event, $payload = [], $halt = false)\n        {\n            return \\Illuminate\\Events\\Dispatcher::dispatch($event, $payload, $halt);\n        }\n\n        /**\n         * Get all of the listeners for a given event name.\n         *\n         * @param string $eventName\n         * @return array\n         * @static\n         */\n        public static function getListeners($eventName)\n        {\n            return \\Illuminate\\Events\\Dispatcher::getListeners($eventName);\n        }\n\n        /**\n         * Register an event listener with the dispatcher.\n         *\n         * @param string|\\Closure $listener\n         * @param bool $wildcard\n         * @return mixed\n         * @static\n         */\n        public static function makeListener($listener, $wildcard = false)\n        {\n            return \\Illuminate\\Events\\Dispatcher::makeListener($listener, $wildcard);\n        }\n\n        /**\n         * Create a class based listener using the IoC container.\n         *\n         * @param string $listener\n         * @param bool $wildcard\n         * @return \\Closure\n         * @static\n         */\n        public static function createClassListener($listener, $wildcard = false)\n        {\n            return \\Illuminate\\Events\\Dispatcher::createClassListener($listener, $wildcard);\n        }\n\n        /**\n         * Remove a set of listeners from the dispatcher.\n         *\n         * @param string $event\n         * @return void\n         * @static\n         */\n        public static function forget($event)\n        {\n            \\Illuminate\\Events\\Dispatcher::forget($event);\n        }\n\n        /**\n         * Forget all of the pushed listeners.\n         *\n         * @return void\n         * @static\n         */\n        public static function forgetPushed()\n        {\n            \\Illuminate\\Events\\Dispatcher::forgetPushed();\n        }\n\n        /**\n         * Set the queue resolver implementation.\n         *\n         * @param callable $resolver\n         * @return $this\n         * @static\n         */\n        public static function setQueueResolver($resolver)\n        {\n            return \\Illuminate\\Events\\Dispatcher::setQueueResolver($resolver);\n        }\n    }\n\n\n    class File extends \\Illuminate\\Support\\Facades\\File\n    {\n        /**\n         * Determine if a file or directory exists.\n         *\n         * @param string $path\n         * @return bool\n         * @static\n         */\n        public static function exists($path)\n        {\n            return \\Illuminate\\Filesystem\\Filesystem::exists($path);\n        }\n\n        /**\n         * Get the contents of a file.\n         *\n         * @param string $path\n         * @param bool $lock\n         * @return string\n         * @throws \\Illuminate\\Contracts\\Filesystem\\FileNotFoundException\n         * @static\n         */\n        public static function get($path, $lock = false)\n        {\n            return \\Illuminate\\Filesystem\\Filesystem::get($path, $lock);\n        }\n\n        /**\n         * Get contents of a file with shared access.\n         *\n         * @param string $path\n         * @return string\n         * @static\n         */\n        public static function sharedGet($path)\n        {\n            return \\Illuminate\\Filesystem\\Filesystem::sharedGet($path);\n        }\n\n        /**\n         * Get the returned value of a file.\n         *\n         * @param string $path\n         * @return mixed\n         * @throws \\Illuminate\\Contracts\\Filesystem\\FileNotFoundException\n         * @static\n         */\n        public static function getRequire($path)\n        {\n            return \\Illuminate\\Filesystem\\Filesystem::getRequire($path);\n        }\n\n        /**\n         * Require the given file once.\n         *\n         * @param string $file\n         * @return mixed\n         * @static\n         */\n        public static function requireOnce($file)\n        {\n            return \\Illuminate\\Filesystem\\Filesystem::requireOnce($file);\n        }\n\n        /**\n         * Write the contents of a file.\n         *\n         * @param string $path\n         * @param string $contents\n         * @param bool $lock\n         * @return int\n         * @static\n         */\n        public static function put($path, $contents, $lock = false)\n        {\n            return \\Illuminate\\Filesystem\\Filesystem::put($path, $contents, $lock);\n        }\n\n        /**\n         * Prepend to a file.\n         *\n         * @param string $path\n         * @param string $data\n         * @return int\n         * @static\n         */\n        public static function prepend($path, $data)\n        {\n            return \\Illuminate\\Filesystem\\Filesystem::prepend($path, $data);\n        }\n\n        /**\n         * Append to a file.\n         *\n         * @param string $path\n         * @param string $data\n         * @return int\n         * @static\n         */\n        public static function append($path, $data)\n        {\n            return \\Illuminate\\Filesystem\\Filesystem::append($path, $data);\n        }\n\n        /**\n         * Get or set UNIX mode of a file or directory.\n         *\n         * @param string $path\n         * @param int $mode\n         * @return mixed\n         * @static\n         */\n        public static function chmod($path, $mode = null)\n        {\n            return \\Illuminate\\Filesystem\\Filesystem::chmod($path, $mode);\n        }\n\n        /**\n         * Delete the file at a given path.\n         *\n         * @param string|array $paths\n         * @return bool\n         * @static\n         */\n        public static function delete($paths)\n        {\n            return \\Illuminate\\Filesystem\\Filesystem::delete($paths);\n        }\n\n        /**\n         * Move a file to a new location.\n         *\n         * @param string $path\n         * @param string $target\n         * @return bool\n         * @static\n         */\n        public static function move($path, $target)\n        {\n            return \\Illuminate\\Filesystem\\Filesystem::move($path, $target);\n        }\n\n        /**\n         * Copy a file to a new location.\n         *\n         * @param string $path\n         * @param string $target\n         * @return bool\n         * @static\n         */\n        public static function copy($path, $target)\n        {\n            return \\Illuminate\\Filesystem\\Filesystem::copy($path, $target);\n        }\n\n        /**\n         * Create a hard link to the target file or directory.\n         *\n         * @param string $target\n         * @param string $link\n         * @return void\n         * @static\n         */\n        public static function link($target, $link)\n        {\n            \\Illuminate\\Filesystem\\Filesystem::link($target, $link);\n        }\n\n        /**\n         * Extract the file name from a file path.\n         *\n         * @param string $path\n         * @return string\n         * @static\n         */\n        public static function name($path)\n        {\n            return \\Illuminate\\Filesystem\\Filesystem::name($path);\n        }\n\n        /**\n         * Extract the trailing name component from a file path.\n         *\n         * @param string $path\n         * @return string\n         * @static\n         */\n        public static function basename($path)\n        {\n            return \\Illuminate\\Filesystem\\Filesystem::basename($path);\n        }\n\n        /**\n         * Extract the parent directory from a file path.\n         *\n         * @param string $path\n         * @return string\n         * @static\n         */\n        public static function dirname($path)\n        {\n            return \\Illuminate\\Filesystem\\Filesystem::dirname($path);\n        }\n\n        /**\n         * Extract the file extension from a file path.\n         *\n         * @param string $path\n         * @return string\n         * @static\n         */\n        public static function extension($path)\n        {\n            return \\Illuminate\\Filesystem\\Filesystem::extension($path);\n        }\n\n        /**\n         * Get the file type of a given file.\n         *\n         * @param string $path\n         * @return string\n         * @static\n         */\n        public static function type($path)\n        {\n            return \\Illuminate\\Filesystem\\Filesystem::type($path);\n        }\n\n        /**\n         * Get the mime-type of a given file.\n         *\n         * @param string $path\n         * @return string|false\n         * @static\n         */\n        public static function mimeType($path)\n        {\n            return \\Illuminate\\Filesystem\\Filesystem::mimeType($path);\n        }\n\n        /**\n         * Get the file size of a given file.\n         *\n         * @param string $path\n         * @return int\n         * @static\n         */\n        public static function size($path)\n        {\n            return \\Illuminate\\Filesystem\\Filesystem::size($path);\n        }\n\n        /**\n         * Get the file's last modification time.\n         *\n         * @param string $path\n         * @return int\n         * @static\n         */\n        public static function lastModified($path)\n        {\n            return \\Illuminate\\Filesystem\\Filesystem::lastModified($path);\n        }\n\n        /**\n         * Determine if the given path is a directory.\n         *\n         * @param string $directory\n         * @return bool\n         * @static\n         */\n        public static function isDirectory($directory)\n        {\n            return \\Illuminate\\Filesystem\\Filesystem::isDirectory($directory);\n        }\n\n        /**\n         * Determine if the given path is readable.\n         *\n         * @param string $path\n         * @return bool\n         * @static\n         */\n        public static function isReadable($path)\n        {\n            return \\Illuminate\\Filesystem\\Filesystem::isReadable($path);\n        }\n\n        /**\n         * Determine if the given path is writable.\n         *\n         * @param string $path\n         * @return bool\n         * @static\n         */\n        public static function isWritable($path)\n        {\n            return \\Illuminate\\Filesystem\\Filesystem::isWritable($path);\n        }\n\n        /**\n         * Determine if the given path is a file.\n         *\n         * @param string $file\n         * @return bool\n         * @static\n         */\n        public static function isFile($file)\n        {\n            return \\Illuminate\\Filesystem\\Filesystem::isFile($file);\n        }\n\n        /**\n         * Find path names matching a given pattern.\n         *\n         * @param string $pattern\n         * @param int $flags\n         * @return array\n         * @static\n         */\n        public static function glob($pattern, $flags = 0)\n        {\n            return \\Illuminate\\Filesystem\\Filesystem::glob($pattern, $flags);\n        }\n\n        /**\n         * Get an array of all files in a directory.\n         *\n         * @param string $directory\n         * @return array\n         * @static\n         */\n        public static function files($directory)\n        {\n            return \\Illuminate\\Filesystem\\Filesystem::files($directory);\n        }\n\n        /**\n         * Get all of the files from the given directory (recursive).\n         *\n         * @param string $directory\n         * @param bool $hidden\n         * @return array\n         * @static\n         */\n        public static function allFiles($directory, $hidden = false)\n        {\n            return \\Illuminate\\Filesystem\\Filesystem::allFiles($directory, $hidden);\n        }\n\n        /**\n         * Get all of the directories within a given directory.\n         *\n         * @param string $directory\n         * @return array\n         * @static\n         */\n        public static function directories($directory)\n        {\n            return \\Illuminate\\Filesystem\\Filesystem::directories($directory);\n        }\n\n        /**\n         * Create a directory.\n         *\n         * @param string $path\n         * @param int $mode\n         * @param bool $recursive\n         * @param bool $force\n         * @return bool\n         * @static\n         */\n        public static function makeDirectory($path, $mode = 493, $recursive = false, $force = false)\n        {\n            return \\Illuminate\\Filesystem\\Filesystem::makeDirectory($path, $mode, $recursive, $force);\n        }\n\n        /**\n         * Move a directory.\n         *\n         * @param string $from\n         * @param string $to\n         * @param bool $overwrite\n         * @return bool\n         * @static\n         */\n        public static function moveDirectory($from, $to, $overwrite = false)\n        {\n            return \\Illuminate\\Filesystem\\Filesystem::moveDirectory($from, $to, $overwrite);\n        }\n\n        /**\n         * Copy a directory from one location to another.\n         *\n         * @param string $directory\n         * @param string $destination\n         * @param int $options\n         * @return bool\n         * @static\n         */\n        public static function copyDirectory($directory, $destination, $options = null)\n        {\n            return \\Illuminate\\Filesystem\\Filesystem::copyDirectory($directory, $destination, $options);\n        }\n\n        /**\n         * Recursively delete a directory.\n         *\n         * The directory itself may be optionally preserved.\n         *\n         * @param string $directory\n         * @param bool $preserve\n         * @return bool\n         * @static\n         */\n        public static function deleteDirectory($directory, $preserve = false)\n        {\n            return \\Illuminate\\Filesystem\\Filesystem::deleteDirectory($directory, $preserve);\n        }\n\n        /**\n         * Empty the specified directory of all files and folders.\n         *\n         * @param string $directory\n         * @return bool\n         * @static\n         */\n        public static function cleanDirectory($directory)\n        {\n            return \\Illuminate\\Filesystem\\Filesystem::cleanDirectory($directory);\n        }\n\n        /**\n         * Register a custom macro.\n         *\n         * @param string $name\n         * @param callable $macro\n         * @return void\n         * @static\n         */\n        public static function macro($name, $macro)\n        {\n            \\Illuminate\\Filesystem\\Filesystem::macro($name, $macro);\n        }\n\n        /**\n         * Checks if macro is registered.\n         *\n         * @param string $name\n         * @return bool\n         * @static\n         */\n        public static function hasMacro($name)\n        {\n            return \\Illuminate\\Filesystem\\Filesystem::hasMacro($name);\n        }\n    }\n\n\n    class Gate extends \\Illuminate\\Support\\Facades\\Gate\n    {\n        /**\n         * Determine if a given ability has been defined.\n         *\n         * @param string $ability\n         * @return bool\n         * @static\n         */\n        public static function has($ability)\n        {\n            return \\Illuminate\\Auth\\Access\\Gate::has($ability);\n        }\n\n        /**\n         * Define a new ability.\n         *\n         * @param string $ability\n         * @param callable|string $callback\n         * @return $this\n         * @throws \\InvalidArgumentException\n         * @static\n         */\n        public static function define($ability, $callback)\n        {\n            return \\Illuminate\\Auth\\Access\\Gate::define($ability, $callback);\n        }\n\n        /**\n         * Define a policy class for a given class type.\n         *\n         * @param string $class\n         * @param string $policy\n         * @return $this\n         * @static\n         */\n        public static function policy($class, $policy)\n        {\n            return \\Illuminate\\Auth\\Access\\Gate::policy($class, $policy);\n        }\n\n        /**\n         * Register a callback to run before all Gate checks.\n         *\n         * @param callable $callback\n         * @return $this\n         * @static\n         */\n        public static function before($callback)\n        {\n            return \\Illuminate\\Auth\\Access\\Gate::before($callback);\n        }\n\n        /**\n         * Register a callback to run after all Gate checks.\n         *\n         * @param callable $callback\n         * @return $this\n         * @static\n         */\n        public static function after($callback)\n        {\n            return \\Illuminate\\Auth\\Access\\Gate::after($callback);\n        }\n\n        /**\n         * Determine if the given ability should be granted for the current user.\n         *\n         * @param string $ability\n         * @param array|mixed $arguments\n         * @return bool\n         * @static\n         */\n        public static function allows($ability, $arguments = [])\n        {\n            return \\Illuminate\\Auth\\Access\\Gate::allows($ability, $arguments);\n        }\n\n        /**\n         * Determine if the given ability should be denied for the current user.\n         *\n         * @param string $ability\n         * @param array|mixed $arguments\n         * @return bool\n         * @static\n         */\n        public static function denies($ability, $arguments = [])\n        {\n            return \\Illuminate\\Auth\\Access\\Gate::denies($ability, $arguments);\n        }\n\n        /**\n         * Determine if the given ability should be granted for the current user.\n         *\n         * @param string $ability\n         * @param array|mixed $arguments\n         * @return bool\n         * @static\n         */\n        public static function check($ability, $arguments = [])\n        {\n            return \\Illuminate\\Auth\\Access\\Gate::check($ability, $arguments);\n        }\n\n        /**\n         * Determine if the given ability should be granted for the current user.\n         *\n         * @param string $ability\n         * @param array|mixed $arguments\n         * @return \\Illuminate\\Auth\\Access\\Response\n         * @throws \\Illuminate\\Auth\\Access\\AuthorizationException\n         * @static\n         */\n        public static function authorize($ability, $arguments = [])\n        {\n            return \\Illuminate\\Auth\\Access\\Gate::authorize($ability, $arguments);\n        }\n\n        /**\n         * Get a policy instance for a given class.\n         *\n         * @param object|string $class\n         * @return mixed\n         * @static\n         */\n        public static function getPolicyFor($class)\n        {\n            return \\Illuminate\\Auth\\Access\\Gate::getPolicyFor($class);\n        }\n\n        /**\n         * Build a policy class instance of the given type.\n         *\n         * @param object|string $class\n         * @return mixed\n         * @static\n         */\n        public static function resolvePolicy($class)\n        {\n            return \\Illuminate\\Auth\\Access\\Gate::resolvePolicy($class);\n        }\n\n        /**\n         * Get a gate instance for the given user.\n         *\n         * @param \\Illuminate\\Contracts\\Auth\\Authenticatable|mixed $user\n         * @return static\n         * @static\n         */\n        public static function forUser($user)\n        {\n            return \\Illuminate\\Auth\\Access\\Gate::forUser($user);\n        }\n    }\n\n\n    class Hash extends \\Illuminate\\Support\\Facades\\Hash\n    {\n        /**\n         * Hash the given value.\n         *\n         * @param string $value\n         * @param array $options\n         * @return string\n         * @throws \\RuntimeException\n         * @static\n         */\n        public static function make($value, $options = [])\n        {\n            return \\Illuminate\\Hashing\\BcryptHasher::make($value, $options);\n        }\n\n        /**\n         * Check the given plain value against a hash.\n         *\n         * @param string $value\n         * @param string $hashedValue\n         * @param array $options\n         * @return bool\n         * @static\n         */\n        public static function check($value, $hashedValue, $options = [])\n        {\n            return \\Illuminate\\Hashing\\BcryptHasher::check($value, $hashedValue, $options);\n        }\n\n        /**\n         * Check if the given hash has been hashed using the given options.\n         *\n         * @param string $hashedValue\n         * @param array $options\n         * @return bool\n         * @static\n         */\n        public static function needsRehash($hashedValue, $options = [])\n        {\n            return \\Illuminate\\Hashing\\BcryptHasher::needsRehash($hashedValue, $options);\n        }\n\n        /**\n         * Set the default password work factor.\n         *\n         * @param int $rounds\n         * @return $this\n         * @static\n         */\n        public static function setRounds($rounds)\n        {\n            return \\Illuminate\\Hashing\\BcryptHasher::setRounds($rounds);\n        }\n    }\n\n\n    class Lang extends \\Illuminate\\Support\\Facades\\Lang\n    {\n        /**\n         * Determine if a translation exists for a given locale.\n         *\n         * @param string $key\n         * @param string|null $locale\n         * @return bool\n         * @static\n         */\n        public static function hasForLocale($key, $locale = null)\n        {\n            return \\Illuminate\\Translation\\Translator::hasForLocale($key, $locale);\n        }\n\n        /**\n         * Determine if a translation exists.\n         *\n         * @param string $key\n         * @param string|null $locale\n         * @param bool $fallback\n         * @return bool\n         * @static\n         */\n        public static function has($key, $locale = null, $fallback = true)\n        {\n            return \\Illuminate\\Translation\\Translator::has($key, $locale, $fallback);\n        }\n\n        /**\n         * Get the translation for a given key.\n         *\n         * @param string $key\n         * @param array $replace\n         * @param string $locale\n         * @return string|array|null\n         * @static\n         */\n        public static function trans($key, $replace = [], $locale = null)\n        {\n            return \\Illuminate\\Translation\\Translator::trans($key, $replace, $locale);\n        }\n\n        /**\n         * Get the translation for the given key.\n         *\n         * @param string $key\n         * @param array $replace\n         * @param string|null $locale\n         * @param bool $fallback\n         * @return string|array|null\n         * @static\n         */\n        public static function get($key, $replace = [], $locale = null, $fallback = true)\n        {\n            return \\Illuminate\\Translation\\Translator::get($key, $replace, $locale, $fallback);\n        }\n\n        /**\n         * Get the translation for a given key from the JSON translation files.\n         *\n         * @param string $key\n         * @param array $replace\n         * @param string $locale\n         * @return string\n         * @static\n         */\n        public static function getFromJson($key, $replace = [], $locale = null)\n        {\n            return \\Illuminate\\Translation\\Translator::getFromJson($key, $replace, $locale);\n        }\n\n        /**\n         * Get a translation according to an integer value.\n         *\n         * @param string $key\n         * @param int|array|\\Countable $number\n         * @param array $replace\n         * @param string $locale\n         * @return string\n         * @static\n         */\n        public static function transChoice($key, $number, $replace = [], $locale = null)\n        {\n            return \\Illuminate\\Translation\\Translator::transChoice($key, $number, $replace, $locale);\n        }\n\n        /**\n         * Get a translation according to an integer value.\n         *\n         * @param string $key\n         * @param int|array|\\Countable $number\n         * @param array $replace\n         * @param string $locale\n         * @return string\n         * @static\n         */\n        public static function choice($key, $number, $replace = [], $locale = null)\n        {\n            return \\Illuminate\\Translation\\Translator::choice($key, $number, $replace, $locale);\n        }\n\n        /**\n         * Add translation lines to the given locale.\n         *\n         * @param array $lines\n         * @param string $locale\n         * @param string $namespace\n         * @return void\n         * @static\n         */\n        public static function addLines($lines, $locale, $namespace = '*')\n        {\n            \\Illuminate\\Translation\\Translator::addLines($lines, $locale, $namespace);\n        }\n\n        /**\n         * Load the specified language group.\n         *\n         * @param string $namespace\n         * @param string $group\n         * @param string $locale\n         * @return void\n         * @static\n         */\n        public static function load($namespace, $group, $locale)\n        {\n            \\Illuminate\\Translation\\Translator::load($namespace, $group, $locale);\n        }\n\n        /**\n         * Add a new namespace to the loader.\n         *\n         * @param string $namespace\n         * @param string $hint\n         * @return void\n         * @static\n         */\n        public static function addNamespace($namespace, $hint)\n        {\n            \\Illuminate\\Translation\\Translator::addNamespace($namespace, $hint);\n        }\n\n        /**\n         * Parse a key into namespace, group, and item.\n         *\n         * @param string $key\n         * @return array\n         * @static\n         */\n        public static function parseKey($key)\n        {\n            return \\Illuminate\\Translation\\Translator::parseKey($key);\n        }\n\n        /**\n         * Get the message selector instance.\n         *\n         * @return \\Illuminate\\Translation\\MessageSelector\n         * @static\n         */\n        public static function getSelector()\n        {\n            return \\Illuminate\\Translation\\Translator::getSelector();\n        }\n\n        /**\n         * Set the message selector instance.\n         *\n         * @param \\Illuminate\\Translation\\MessageSelector $selector\n         * @return void\n         * @static\n         */\n        public static function setSelector($selector)\n        {\n            \\Illuminate\\Translation\\Translator::setSelector($selector);\n        }\n\n        /**\n         * Get the language line loader implementation.\n         *\n         * @return \\Illuminate\\Translation\\LoaderInterface\n         * @static\n         */\n        public static function getLoader()\n        {\n            return \\Illuminate\\Translation\\Translator::getLoader();\n        }\n\n        /**\n         * Get the default locale being used.\n         *\n         * @return string\n         * @static\n         */\n        public static function locale()\n        {\n            return \\Illuminate\\Translation\\Translator::locale();\n        }\n\n        /**\n         * Get the default locale being used.\n         *\n         * @return string\n         * @static\n         */\n        public static function getLocale()\n        {\n            return \\Illuminate\\Translation\\Translator::getLocale();\n        }\n\n        /**\n         * Set the default locale.\n         *\n         * @param string $locale\n         * @return void\n         * @static\n         */\n        public static function setLocale($locale)\n        {\n            \\Illuminate\\Translation\\Translator::setLocale($locale);\n        }\n\n        /**\n         * Get the fallback locale being used.\n         *\n         * @return string\n         * @static\n         */\n        public static function getFallback()\n        {\n            return \\Illuminate\\Translation\\Translator::getFallback();\n        }\n\n        /**\n         * Set the fallback locale being used.\n         *\n         * @param string $fallback\n         * @return void\n         * @static\n         */\n        public static function setFallback($fallback)\n        {\n            \\Illuminate\\Translation\\Translator::setFallback($fallback);\n        }\n\n        /**\n         * Set the parsed value of a key.\n         *\n         * @param string $key\n         * @param array $parsed\n         * @return void\n         * @static\n         */\n        public static function setParsedKey($key, $parsed)\n        {\n            //Method inherited from \\Illuminate\\Support\\NamespacedItemResolver\n            \\Illuminate\\Translation\\Translator::setParsedKey($key, $parsed);\n        }\n\n        /**\n         * Register a custom macro.\n         *\n         * @param string $name\n         * @param callable $macro\n         * @return void\n         * @static\n         */\n        public static function macro($name, $macro)\n        {\n            \\Illuminate\\Translation\\Translator::macro($name, $macro);\n        }\n\n        /**\n         * Checks if macro is registered.\n         *\n         * @param string $name\n         * @return bool\n         * @static\n         */\n        public static function hasMacro($name)\n        {\n            return \\Illuminate\\Translation\\Translator::hasMacro($name);\n        }\n    }\n\n\n    class Log extends \\Illuminate\\Support\\Facades\\Log\n    {\n        /**\n         * Adds a log record at the DEBUG level.\n         *\n         * @param string $message The log message\n         * @param array $context The log context\n         * @return Boolean Whether the record has been processed\n         * @static\n         */\n        public static function debug($message, $context = [])\n        {\n            return \\Monolog\\Logger::debug($message, $context);\n        }\n\n        /**\n         * Adds a log record at the INFO level.\n         *\n         * @param string $message The log message\n         * @param array $context The log context\n         * @return Boolean Whether the record has been processed\n         * @static\n         */\n        public static function info($message, $context = [])\n        {\n            return \\Monolog\\Logger::info($message, $context);\n        }\n\n        /**\n         * Adds a log record at the NOTICE level.\n         *\n         * @param string $message The log message\n         * @param array $context The log context\n         * @return Boolean Whether the record has been processed\n         * @static\n         */\n        public static function notice($message, $context = [])\n        {\n            return \\Monolog\\Logger::notice($message, $context);\n        }\n\n        /**\n         * Adds a log record at the WARNING level.\n         *\n         * @param string $message The log message\n         * @param array $context The log context\n         * @return Boolean Whether the record has been processed\n         * @static\n         */\n        public static function warning($message, $context = [])\n        {\n            return \\Monolog\\Logger::warning($message, $context);\n        }\n\n        /**\n         * Adds a log record at the ERROR level.\n         *\n         * @param string $message The log message\n         * @param array $context The log context\n         * @return Boolean Whether the record has been processed\n         * @static\n         */\n        public static function error($message, $context = [])\n        {\n            return \\Monolog\\Logger::error($message, $context);\n        }\n\n        /**\n         * Adds a log record at the CRITICAL level.\n         *\n         * @param string $message The log message\n         * @param array $context The log context\n         * @return Boolean Whether the record has been processed\n         * @static\n         */\n        public static function critical($message, $context = [])\n        {\n            return \\Monolog\\Logger::critical($message, $context);\n        }\n\n        /**\n         * Adds a log record at the ALERT level.\n         *\n         * @param string $message The log message\n         * @param array $context The log context\n         * @return Boolean Whether the record has been processed\n         * @static\n         */\n        public static function alert($message, $context = [])\n        {\n            return \\Monolog\\Logger::alert($message, $context);\n        }\n\n        /**\n         * Adds a log record at the EMERGENCY level.\n         *\n         * @param string $message The log message\n         * @param array $context The log context\n         * @return Boolean Whether the record has been processed\n         * @static\n         */\n        public static function emergency($message, $context = [])\n        {\n            return \\Monolog\\Logger::emergency($message, $context);\n        }\n\n        /**\n         * Log a message to the logs.\n         *\n         * @param string $level\n         * @param string $message\n         * @param array $context\n         * @return void\n         * @static\n         */\n        public static function log($level, $message, $context = [])\n        {\n            \\Illuminate\\Log\\Writer::log($level, $message, $context);\n        }\n\n        /**\n         * Dynamically pass log calls into the writer.\n         *\n         * @param string $level\n         * @param string $message\n         * @param array $context\n         * @return void\n         * @static\n         */\n        public static function write($level, $message, $context = [])\n        {\n            \\Illuminate\\Log\\Writer::write($level, $message, $context);\n        }\n\n        /**\n         * Register a file log handler.\n         *\n         * @param string $path\n         * @param string $level\n         * @return void\n         * @static\n         */\n        public static function useFiles($path, $level = 'debug')\n        {\n            \\Illuminate\\Log\\Writer::useFiles($path, $level);\n        }\n\n        /**\n         * Register a daily file log handler.\n         *\n         * @param string $path\n         * @param int $days\n         * @param string $level\n         * @return void\n         * @static\n         */\n        public static function useDailyFiles($path, $days = 0, $level = 'debug')\n        {\n            \\Illuminate\\Log\\Writer::useDailyFiles($path, $days, $level);\n        }\n\n        /**\n         * Register a Syslog handler.\n         *\n         * @param string $name\n         * @param string $level\n         * @return \\Psr\\Log\\LoggerInterface\n         * @static\n         */\n        public static function useSyslog($name = 'laravel', $level = 'debug')\n        {\n            return \\Illuminate\\Log\\Writer::useSyslog($name, $level);\n        }\n\n        /**\n         * Register an error_log handler.\n         *\n         * @param string $level\n         * @param int $messageType\n         * @return void\n         * @static\n         */\n        public static function useErrorLog($level = 'debug', $messageType = 0)\n        {\n            \\Illuminate\\Log\\Writer::useErrorLog($level, $messageType);\n        }\n\n        /**\n         * Register a new callback handler for when a log event is triggered.\n         *\n         * @param \\Closure $callback\n         * @return void\n         * @throws \\RuntimeException\n         * @static\n         */\n        public static function listen($callback)\n        {\n            \\Illuminate\\Log\\Writer::listen($callback);\n        }\n\n        /**\n         * Get the underlying Monolog instance.\n         *\n         * @return \\Monolog\\Logger\n         * @static\n         */\n        public static function getMonolog()\n        {\n            return \\Illuminate\\Log\\Writer::getMonolog();\n        }\n\n        /**\n         * Get the event dispatcher instance.\n         *\n         * @return \\Illuminate\\Contracts\\Events\\Dispatcher\n         * @static\n         */\n        public static function getEventDispatcher()\n        {\n            return \\Illuminate\\Log\\Writer::getEventDispatcher();\n        }\n\n        /**\n         * Set the event dispatcher instance.\n         *\n         * @param \\Illuminate\\Contracts\\Events\\Dispatcher $dispatcher\n         * @return void\n         * @static\n         */\n        public static function setEventDispatcher($dispatcher)\n        {\n            \\Illuminate\\Log\\Writer::setEventDispatcher($dispatcher);\n        }\n    }\n\n\n    class Mail extends \\Illuminate\\Support\\Facades\\Mail\n    {\n        /**\n         * Set the global from address and name.\n         *\n         * @param string $address\n         * @param string|null $name\n         * @return void\n         * @static\n         */\n        public static function alwaysFrom($address, $name = null)\n        {\n            \\Illuminate\\Mail\\Mailer::alwaysFrom($address, $name);\n        }\n\n        /**\n         * Set the global reply-to address and name.\n         *\n         * @param string $address\n         * @param string|null $name\n         * @return void\n         * @static\n         */\n        public static function alwaysReplyTo($address, $name = null)\n        {\n            \\Illuminate\\Mail\\Mailer::alwaysReplyTo($address, $name);\n        }\n\n        /**\n         * Set the global to address and name.\n         *\n         * @param string $address\n         * @param string|null $name\n         * @return void\n         * @static\n         */\n        public static function alwaysTo($address, $name = null)\n        {\n            \\Illuminate\\Mail\\Mailer::alwaysTo($address, $name);\n        }\n\n        /**\n         * Begin the process of mailing a mailable class instance.\n         *\n         * @param mixed $users\n         * @return \\Illuminate\\Mail\\PendingMail\n         * @static\n         */\n        public static function to($users)\n        {\n            return \\Illuminate\\Mail\\Mailer::to($users);\n        }\n\n        /**\n         * Begin the process of mailing a mailable class instance.\n         *\n         * @param mixed $users\n         * @return \\Illuminate\\Mail\\PendingMail\n         * @static\n         */\n        public static function bcc($users)\n        {\n            return \\Illuminate\\Mail\\Mailer::bcc($users);\n        }\n\n        /**\n         * Send a new message when only a raw text part.\n         *\n         * @param string $text\n         * @param mixed $callback\n         * @return void\n         * @static\n         */\n        public static function raw($text, $callback)\n        {\n            \\Illuminate\\Mail\\Mailer::raw($text, $callback);\n        }\n\n        /**\n         * Send a new message when only a plain part.\n         *\n         * @param string $view\n         * @param array $data\n         * @param mixed $callback\n         * @return void\n         * @static\n         */\n        public static function plain($view, $data, $callback)\n        {\n            \\Illuminate\\Mail\\Mailer::plain($view, $data, $callback);\n        }\n\n        /**\n         * Send a new message using a view.\n         *\n         * @param string|array $view\n         * @param array $data\n         * @param \\Closure|string $callback\n         * @return void\n         * @static\n         */\n        public static function send($view, $data = [], $callback = null)\n        {\n            \\Illuminate\\Mail\\Mailer::send($view, $data, $callback);\n        }\n\n        /**\n         * Queue a new e-mail message for sending.\n         *\n         * @param string|array $view\n         * @param array $data\n         * @param \\Closure|string $callback\n         * @param string|null $queue\n         * @return mixed\n         * @static\n         */\n        public static function queue($view, $data = [], $callback = null, $queue = null)\n        {\n            return \\Illuminate\\Mail\\Mailer::queue($view, $data, $callback, $queue);\n        }\n\n        /**\n         * Queue a new e-mail message for sending on the given queue.\n         *\n         * @param string $queue\n         * @param string|array $view\n         * @param array $data\n         * @param \\Closure|string $callback\n         * @return mixed\n         * @static\n         */\n        public static function onQueue($queue, $view, $data, $callback)\n        {\n            return \\Illuminate\\Mail\\Mailer::onQueue($queue, $view, $data, $callback);\n        }\n\n        /**\n         * Queue a new e-mail message for sending on the given queue.\n         *\n         * This method didn't match rest of framework's \"onQueue\" phrasing. Added \"onQueue\".\n         *\n         * @param string $queue\n         * @param string|array $view\n         * @param array $data\n         * @param \\Closure|string $callback\n         * @return mixed\n         * @static\n         */\n        public static function queueOn($queue, $view, $data, $callback)\n        {\n            return \\Illuminate\\Mail\\Mailer::queueOn($queue, $view, $data, $callback);\n        }\n\n        /**\n         * Queue a new e-mail message for sending after (n) seconds.\n         *\n         * @param int $delay\n         * @param string|array $view\n         * @param array $data\n         * @param \\Closure|string $callback\n         * @param string|null $queue\n         * @return mixed\n         * @static\n         */\n        public static function later($delay, $view, $data = [], $callback = null, $queue = null)\n        {\n            return \\Illuminate\\Mail\\Mailer::later($delay, $view, $data, $callback, $queue);\n        }\n\n        /**\n         * Queue a new e-mail message for sending after (n) seconds on the given queue.\n         *\n         * @param string $queue\n         * @param int $delay\n         * @param string|array $view\n         * @param array $data\n         * @param \\Closure|string $callback\n         * @return mixed\n         * @static\n         */\n        public static function laterOn($queue, $delay, $view, $data, $callback)\n        {\n            return \\Illuminate\\Mail\\Mailer::laterOn($queue, $delay, $view, $data, $callback);\n        }\n\n        /**\n         * Get the view factory instance.\n         *\n         * @return \\Illuminate\\Contracts\\View\\Factory\n         * @static\n         */\n        public static function getViewFactory()\n        {\n            return \\Illuminate\\Mail\\Mailer::getViewFactory();\n        }\n\n        /**\n         * Get the Swift Mailer instance.\n         *\n         * @return \\Swift_Mailer\n         * @static\n         */\n        public static function getSwiftMailer()\n        {\n            return \\Illuminate\\Mail\\Mailer::getSwiftMailer();\n        }\n\n        /**\n         * Get the array of failed recipients.\n         *\n         * @return array\n         * @static\n         */\n        public static function failures()\n        {\n            return \\Illuminate\\Mail\\Mailer::failures();\n        }\n\n        /**\n         * Set the Swift Mailer instance.\n         *\n         * @param \\Swift_Mailer $swift\n         * @return void\n         * @static\n         */\n        public static function setSwiftMailer($swift)\n        {\n            \\Illuminate\\Mail\\Mailer::setSwiftMailer($swift);\n        }\n\n        /**\n         * Set the queue manager instance.\n         *\n         * @param \\Illuminate\\Contracts\\Queue\\Factory $queue\n         * @return $this\n         * @static\n         */\n        public static function setQueue($queue)\n        {\n            return \\Illuminate\\Mail\\Mailer::setQueue($queue);\n        }\n    }\n\n\n    class Notification extends \\Illuminate\\Support\\Facades\\Notification\n    {\n        /**\n         * Send the given notification to the given notifiable entities.\n         *\n         * @param \\Illuminate\\Support\\Collection|array|mixed $notifiables\n         * @param mixed $notification\n         * @return void\n         * @static\n         */\n        public static function send($notifiables, $notification)\n        {\n            \\Illuminate\\Notifications\\ChannelManager::send($notifiables, $notification);\n        }\n\n        /**\n         * Send the given notification immediately.\n         *\n         * @param \\Illuminate\\Support\\Collection|array|mixed $notifiables\n         * @param mixed $notification\n         * @param array|null $channels\n         * @return void\n         * @static\n         */\n        public static function sendNow($notifiables, $notification, $channels = null)\n        {\n            \\Illuminate\\Notifications\\ChannelManager::sendNow($notifiables, $notification, $channels);\n        }\n\n        /**\n         * Get a channel instance.\n         *\n         * @param string|null $name\n         * @return mixed\n         * @static\n         */\n        public static function channel($name = null)\n        {\n            return \\Illuminate\\Notifications\\ChannelManager::channel($name);\n        }\n\n        /**\n         * Get the default channel driver name.\n         *\n         * @return string\n         * @static\n         */\n        public static function getDefaultDriver()\n        {\n            return \\Illuminate\\Notifications\\ChannelManager::getDefaultDriver();\n        }\n\n        /**\n         * Get the default channel driver name.\n         *\n         * @return string\n         * @static\n         */\n        public static function deliversVia()\n        {\n            return \\Illuminate\\Notifications\\ChannelManager::deliversVia();\n        }\n\n        /**\n         * Set the default channel driver name.\n         *\n         * @param string $channel\n         * @return void\n         * @static\n         */\n        public static function deliverVia($channel)\n        {\n            \\Illuminate\\Notifications\\ChannelManager::deliverVia($channel);\n        }\n\n        /**\n         * Get a driver instance.\n         *\n         * @param string $driver\n         * @return mixed\n         * @static\n         */\n        public static function driver($driver = null)\n        {\n            //Method inherited from \\Illuminate\\Support\\Manager\n            return \\Illuminate\\Notifications\\ChannelManager::driver($driver);\n        }\n\n        /**\n         * Register a custom driver creator Closure.\n         *\n         * @param string $driver\n         * @param \\Closure $callback\n         * @return $this\n         * @static\n         */\n        public static function extend($driver, $callback)\n        {\n            //Method inherited from \\Illuminate\\Support\\Manager\n            return \\Illuminate\\Notifications\\ChannelManager::extend($driver, $callback);\n        }\n\n        /**\n         * Get all of the created \"drivers\".\n         *\n         * @return array\n         * @static\n         */\n        public static function getDrivers()\n        {\n            //Method inherited from \\Illuminate\\Support\\Manager\n            return \\Illuminate\\Notifications\\ChannelManager::getDrivers();\n        }\n    }\n\n\n    class Password extends \\Illuminate\\Support\\Facades\\Password\n    {\n        /**\n         * Attempt to get the broker from the local cache.\n         *\n         * @param string $name\n         * @return \\Illuminate\\Contracts\\Auth\\PasswordBroker\n         * @static\n         */\n        public static function broker($name = null)\n        {\n            return \\Illuminate\\Auth\\Passwords\\PasswordBrokerManager::broker($name);\n        }\n\n        /**\n         * Get the default password broker name.\n         *\n         * @return string\n         * @static\n         */\n        public static function getDefaultDriver()\n        {\n            return \\Illuminate\\Auth\\Passwords\\PasswordBrokerManager::getDefaultDriver();\n        }\n\n        /**\n         * Set the default password broker name.\n         *\n         * @param string $name\n         * @return void\n         * @static\n         */\n        public static function setDefaultDriver($name)\n        {\n            \\Illuminate\\Auth\\Passwords\\PasswordBrokerManager::setDefaultDriver($name);\n        }\n    }\n\n\n    class Queue extends \\Illuminate\\Support\\Facades\\Queue\n    {\n        /**\n         * Register an event listener for the before job event.\n         *\n         * @param mixed $callback\n         * @return void\n         * @static\n         */\n        public static function before($callback)\n        {\n            \\Illuminate\\Queue\\QueueManager::before($callback);\n        }\n\n        /**\n         * Register an event listener for the after job event.\n         *\n         * @param mixed $callback\n         * @return void\n         * @static\n         */\n        public static function after($callback)\n        {\n            \\Illuminate\\Queue\\QueueManager::after($callback);\n        }\n\n        /**\n         * Register an event listener for the exception occurred job event.\n         *\n         * @param mixed $callback\n         * @return void\n         * @static\n         */\n        public static function exceptionOccurred($callback)\n        {\n            \\Illuminate\\Queue\\QueueManager::exceptionOccurred($callback);\n        }\n\n        /**\n         * Register an event listener for the daemon queue loop.\n         *\n         * @param mixed $callback\n         * @return void\n         * @static\n         */\n        public static function looping($callback)\n        {\n            \\Illuminate\\Queue\\QueueManager::looping($callback);\n        }\n\n        /**\n         * Register an event listener for the failed job event.\n         *\n         * @param mixed $callback\n         * @return void\n         * @static\n         */\n        public static function failing($callback)\n        {\n            \\Illuminate\\Queue\\QueueManager::failing($callback);\n        }\n\n        /**\n         * Register an event listener for the daemon queue stopping.\n         *\n         * @param mixed $callback\n         * @return void\n         * @static\n         */\n        public static function stopping($callback)\n        {\n            \\Illuminate\\Queue\\QueueManager::stopping($callback);\n        }\n\n        /**\n         * Determine if the driver is connected.\n         *\n         * @param string $name\n         * @return bool\n         * @static\n         */\n        public static function connected($name = null)\n        {\n            return \\Illuminate\\Queue\\QueueManager::connected($name);\n        }\n\n        /**\n         * Resolve a queue connection instance.\n         *\n         * @param string $name\n         * @return \\Illuminate\\Contracts\\Queue\\Queue\n         * @static\n         */\n        public static function connection($name = null)\n        {\n            return \\Illuminate\\Queue\\QueueManager::connection($name);\n        }\n\n        /**\n         * Add a queue connection resolver.\n         *\n         * @param string $driver\n         * @param \\Closure $resolver\n         * @return void\n         * @static\n         */\n        public static function extend($driver, $resolver)\n        {\n            \\Illuminate\\Queue\\QueueManager::extend($driver, $resolver);\n        }\n\n        /**\n         * Add a queue connection resolver.\n         *\n         * @param string $driver\n         * @param \\Closure $resolver\n         * @return void\n         * @static\n         */\n        public static function addConnector($driver, $resolver)\n        {\n            \\Illuminate\\Queue\\QueueManager::addConnector($driver, $resolver);\n        }\n\n        /**\n         * Get the name of the default queue connection.\n         *\n         * @return string\n         * @static\n         */\n        public static function getDefaultDriver()\n        {\n            return \\Illuminate\\Queue\\QueueManager::getDefaultDriver();\n        }\n\n        /**\n         * Set the name of the default queue connection.\n         *\n         * @param string $name\n         * @return void\n         * @static\n         */\n        public static function setDefaultDriver($name)\n        {\n            \\Illuminate\\Queue\\QueueManager::setDefaultDriver($name);\n        }\n\n        /**\n         * Get the full name for the given connection.\n         *\n         * @param string $connection\n         * @return string\n         * @static\n         */\n        public static function getName($connection = null)\n        {\n            return \\Illuminate\\Queue\\QueueManager::getName($connection);\n        }\n\n        /**\n         * Determine if the application is in maintenance mode.\n         *\n         * @return bool\n         * @static\n         */\n        public static function isDownForMaintenance()\n        {\n            return \\Illuminate\\Queue\\QueueManager::isDownForMaintenance();\n        }\n\n        /**\n         * Get the size of the queue.\n         *\n         * @param string $queue\n         * @return int\n         * @static\n         */\n        public static function size($queue = null)\n        {\n            return \\Illuminate\\Queue\\SyncQueue::size($queue);\n        }\n\n        /**\n         * Push a new job onto the queue.\n         *\n         * @param string $job\n         * @param mixed $data\n         * @param string $queue\n         * @return mixed\n         * @throws \\Exception|\\Throwable\n         * @static\n         */\n        public static function push($job, $data = '', $queue = null)\n        {\n            return \\Illuminate\\Queue\\SyncQueue::push($job, $data, $queue);\n        }\n\n        /**\n         * Push a raw payload onto the queue.\n         *\n         * @param string $payload\n         * @param string $queue\n         * @param array $options\n         * @return mixed\n         * @static\n         */\n        public static function pushRaw($payload, $queue = null, $options = [])\n        {\n            return \\Illuminate\\Queue\\SyncQueue::pushRaw($payload, $queue, $options);\n        }\n\n        /**\n         * Push a new job onto the queue after a delay.\n         *\n         * @param \\DateTime|int $delay\n         * @param string $job\n         * @param mixed $data\n         * @param string $queue\n         * @return mixed\n         * @static\n         */\n        public static function later($delay, $job, $data = '', $queue = null)\n        {\n            return \\Illuminate\\Queue\\SyncQueue::later($delay, $job, $data, $queue);\n        }\n\n        /**\n         * Pop the next job off of the queue.\n         *\n         * @param string $queue\n         * @return \\Illuminate\\Contracts\\Queue\\Job|null\n         * @static\n         */\n        public static function pop($queue = null)\n        {\n            return \\Illuminate\\Queue\\SyncQueue::pop($queue);\n        }\n\n        /**\n         * Push a new job onto the queue.\n         *\n         * @param string $queue\n         * @param string $job\n         * @param mixed $data\n         * @return mixed\n         * @static\n         */\n        public static function pushOn($queue, $job, $data = '')\n        {\n            //Method inherited from \\Illuminate\\Queue\\Queue\n            return \\Illuminate\\Queue\\SyncQueue::pushOn($queue, $job, $data);\n        }\n\n        /**\n         * Push a new job onto the queue after a delay.\n         *\n         * @param string $queue\n         * @param \\DateTime|int $delay\n         * @param string $job\n         * @param mixed $data\n         * @return mixed\n         * @static\n         */\n        public static function laterOn($queue, $delay, $job, $data = '')\n        {\n            //Method inherited from \\Illuminate\\Queue\\Queue\n            return \\Illuminate\\Queue\\SyncQueue::laterOn($queue, $delay, $job, $data);\n        }\n\n        /**\n         * Push an array of jobs onto the queue.\n         *\n         * @param array $jobs\n         * @param mixed $data\n         * @param string $queue\n         * @return mixed\n         * @static\n         */\n        public static function bulk($jobs, $data = '', $queue = null)\n        {\n            //Method inherited from \\Illuminate\\Queue\\Queue\n            return \\Illuminate\\Queue\\SyncQueue::bulk($jobs, $data, $queue);\n        }\n\n        /**\n         * Get the connection name for the queue.\n         *\n         * @return string\n         * @static\n         */\n        public static function getConnectionName()\n        {\n            //Method inherited from \\Illuminate\\Queue\\Queue\n            return \\Illuminate\\Queue\\SyncQueue::getConnectionName();\n        }\n\n        /**\n         * Set the connection name for the queue.\n         *\n         * @param string $name\n         * @return $this\n         * @static\n         */\n        public static function setConnectionName($name)\n        {\n            //Method inherited from \\Illuminate\\Queue\\Queue\n            return \\Illuminate\\Queue\\SyncQueue::setConnectionName($name);\n        }\n\n        /**\n         * Set the IoC container instance.\n         *\n         * @param \\Illuminate\\Container\\Container $container\n         * @return void\n         * @static\n         */\n        public static function setContainer($container)\n        {\n            //Method inherited from \\Illuminate\\Queue\\Queue\n            \\Illuminate\\Queue\\SyncQueue::setContainer($container);\n        }\n    }\n\n\n    class Redirect extends \\Illuminate\\Support\\Facades\\Redirect\n    {\n        /**\n         * Create a new redirect response to the \"home\" route.\n         *\n         * @param int $status\n         * @return \\Illuminate\\Http\\RedirectResponse\n         * @static\n         */\n        public static function home($status = 302)\n        {\n            return \\Illuminate\\Routing\\Redirector::home($status);\n        }\n\n        /**\n         * Create a new redirect response to the previous location.\n         *\n         * @param int $status\n         * @param array $headers\n         * @param mixed $fallback\n         * @return \\Illuminate\\Http\\RedirectResponse\n         * @static\n         */\n        public static function back($status = 302, $headers = [], $fallback = false)\n        {\n            return \\Illuminate\\Routing\\Redirector::back($status, $headers, $fallback);\n        }\n\n        /**\n         * Create a new redirect response to the current URI.\n         *\n         * @param int $status\n         * @param array $headers\n         * @return \\Illuminate\\Http\\RedirectResponse\n         * @static\n         */\n        public static function refresh($status = 302, $headers = [])\n        {\n            return \\Illuminate\\Routing\\Redirector::refresh($status, $headers);\n        }\n\n        /**\n         * Create a new redirect response, while putting the current URL in the session.\n         *\n         * @param string $path\n         * @param int $status\n         * @param array $headers\n         * @param bool $secure\n         * @return \\Illuminate\\Http\\RedirectResponse\n         * @static\n         */\n        public static function guest($path, $status = 302, $headers = [], $secure = null)\n        {\n            return \\Illuminate\\Routing\\Redirector::guest($path, $status, $headers, $secure);\n        }\n\n        /**\n         * Create a new redirect response to the previously intended location.\n         *\n         * @param string $default\n         * @param int $status\n         * @param array $headers\n         * @param bool $secure\n         * @return \\Illuminate\\Http\\RedirectResponse\n         * @static\n         */\n        public static function intended($default = '/', $status = 302, $headers = [], $secure = null)\n        {\n            return \\Illuminate\\Routing\\Redirector::intended($default, $status, $headers, $secure);\n        }\n\n        /**\n         * Create a new redirect response to the given path.\n         *\n         * @param string $path\n         * @param int $status\n         * @param array $headers\n         * @param bool $secure\n         * @return \\Illuminate\\Http\\RedirectResponse\n         * @static\n         */\n        public static function to($path, $status = 302, $headers = [], $secure = null)\n        {\n            return \\Illuminate\\Routing\\Redirector::to($path, $status, $headers, $secure);\n        }\n\n        /**\n         * Create a new redirect response to an external URL (no validation).\n         *\n         * @param string $path\n         * @param int $status\n         * @param array $headers\n         * @return \\Illuminate\\Http\\RedirectResponse\n         * @static\n         */\n        public static function away($path, $status = 302, $headers = [])\n        {\n            return \\Illuminate\\Routing\\Redirector::away($path, $status, $headers);\n        }\n\n        /**\n         * Create a new redirect response to the given HTTPS path.\n         *\n         * @param string $path\n         * @param int $status\n         * @param array $headers\n         * @return \\Illuminate\\Http\\RedirectResponse\n         * @static\n         */\n        public static function secure($path, $status = 302, $headers = [])\n        {\n            return \\Illuminate\\Routing\\Redirector::secure($path, $status, $headers);\n        }\n\n        /**\n         * Create a new redirect response to a named route.\n         *\n         * @param string $route\n         * @param array $parameters\n         * @param int $status\n         * @param array $headers\n         * @return \\Illuminate\\Http\\RedirectResponse\n         * @static\n         */\n        public static function route($route, $parameters = [], $status = 302, $headers = [])\n        {\n            return \\Illuminate\\Routing\\Redirector::route($route, $parameters, $status, $headers);\n        }\n\n        /**\n         * Create a new redirect response to a controller action.\n         *\n         * @param string $action\n         * @param array $parameters\n         * @param int $status\n         * @param array $headers\n         * @return \\Illuminate\\Http\\RedirectResponse\n         * @static\n         */\n        public static function action($action, $parameters = [], $status = 302, $headers = [])\n        {\n            return \\Illuminate\\Routing\\Redirector::action($action, $parameters, $status, $headers);\n        }\n\n        /**\n         * Get the URL generator instance.\n         *\n         * @return \\Illuminate\\Routing\\UrlGenerator\n         * @static\n         */\n        public static function getUrlGenerator()\n        {\n            return \\Illuminate\\Routing\\Redirector::getUrlGenerator();\n        }\n\n        /**\n         * Set the active session store.\n         *\n         * @param \\Illuminate\\Session\\Store $session\n         * @return void\n         * @static\n         */\n        public static function setSession($session)\n        {\n            \\Illuminate\\Routing\\Redirector::setSession($session);\n        }\n    }\n\n\n    class Request extends \\Illuminate\\Support\\Facades\\Request\n    {\n        /**\n         * Create a new Illuminate HTTP request from server variables.\n         *\n         * @return static\n         * @static\n         */\n        public static function capture()\n        {\n            return \\Illuminate\\Http\\Request::capture();\n        }\n\n        /**\n         * Return the Request instance.\n         *\n         * @return $this\n         * @static\n         */\n        public static function instance()\n        {\n            return \\Illuminate\\Http\\Request::instance();\n        }\n\n        /**\n         * Get the request method.\n         *\n         * @return string\n         * @static\n         */\n        public static function method()\n        {\n            return \\Illuminate\\Http\\Request::method();\n        }\n\n        /**\n         * Get the root URL for the application.\n         *\n         * @return string\n         * @static\n         */\n        public static function root()\n        {\n            return \\Illuminate\\Http\\Request::root();\n        }\n\n        /**\n         * Get the URL (no query string) for the request.\n         *\n         * @return string\n         * @static\n         */\n        public static function url()\n        {\n            return \\Illuminate\\Http\\Request::url();\n        }\n\n        /**\n         * Get the full URL for the request.\n         *\n         * @return string\n         * @static\n         */\n        public static function fullUrl()\n        {\n            return \\Illuminate\\Http\\Request::fullUrl();\n        }\n\n        /**\n         * Get the full URL for the request with the added query string parameters.\n         *\n         * @param array $query\n         * @return string\n         * @static\n         */\n        public static function fullUrlWithQuery($query)\n        {\n            return \\Illuminate\\Http\\Request::fullUrlWithQuery($query);\n        }\n\n        /**\n         * Get the current path info for the request.\n         *\n         * @return string\n         * @static\n         */\n        public static function path()\n        {\n            return \\Illuminate\\Http\\Request::path();\n        }\n\n        /**\n         * Get the current encoded path info for the request.\n         *\n         * @return string\n         * @static\n         */\n        public static function decodedPath()\n        {\n            return \\Illuminate\\Http\\Request::decodedPath();\n        }\n\n        /**\n         * Get a segment from the URI (1 based index).\n         *\n         * @param int $index\n         * @param string|null $default\n         * @return string|null\n         * @static\n         */\n        public static function segment($index, $default = null)\n        {\n            return \\Illuminate\\Http\\Request::segment($index, $default);\n        }\n\n        /**\n         * Get all of the segments for the request path.\n         *\n         * @return array\n         * @static\n         */\n        public static function segments()\n        {\n            return \\Illuminate\\Http\\Request::segments();\n        }\n\n        /**\n         * Determine if the current request URI matches a pattern.\n         *\n         * @return bool\n         * @static\n         */\n        public static function is()\n        {\n            return \\Illuminate\\Http\\Request::is();\n        }\n\n        /**\n         * Determine if the current request URL and query string matches a pattern.\n         *\n         * @return bool\n         * @static\n         */\n        public static function fullUrlIs()\n        {\n            return \\Illuminate\\Http\\Request::fullUrlIs();\n        }\n\n        /**\n         * Determine if the request is the result of an AJAX call.\n         *\n         * @return bool\n         * @static\n         */\n        public static function ajax()\n        {\n            return \\Illuminate\\Http\\Request::ajax();\n        }\n\n        /**\n         * Determine if the request is the result of an PJAX call.\n         *\n         * @return bool\n         * @static\n         */\n        public static function pjax()\n        {\n            return \\Illuminate\\Http\\Request::pjax();\n        }\n\n        /**\n         * Determine if the request is over HTTPS.\n         *\n         * @return bool\n         * @static\n         */\n        public static function secure()\n        {\n            return \\Illuminate\\Http\\Request::secure();\n        }\n\n        /**\n         * Returns the client IP address.\n         *\n         * @return string\n         * @static\n         */\n        public static function ip()\n        {\n            return \\Illuminate\\Http\\Request::ip();\n        }\n\n        /**\n         * Returns the client IP addresses.\n         *\n         * @return array\n         * @static\n         */\n        public static function ips()\n        {\n            return \\Illuminate\\Http\\Request::ips();\n        }\n\n        /**\n         * Merge new input into the current request's input array.\n         *\n         * @param array $input\n         * @return void\n         * @static\n         */\n        public static function merge($input)\n        {\n            \\Illuminate\\Http\\Request::merge($input);\n        }\n\n        /**\n         * Replace the input for the current request.\n         *\n         * @param array $input\n         * @return void\n         * @static\n         */\n        public static function replace($input)\n        {\n            \\Illuminate\\Http\\Request::replace($input);\n        }\n\n        /**\n         * Get the JSON payload for the request.\n         *\n         * @param string $key\n         * @param mixed $default\n         * @return mixed\n         * @static\n         */\n        public static function json($key = null, $default = null)\n        {\n            return \\Illuminate\\Http\\Request::json($key, $default);\n        }\n\n        /**\n         * Create an Illuminate request from a Symfony instance.\n         *\n         * @param \\Symfony\\Component\\HttpFoundation\\Request $request\n         * @return \\Illuminate\\Http\\Request\n         * @static\n         */\n        public static function createFromBase($request)\n        {\n            return \\Illuminate\\Http\\Request::createFromBase($request);\n        }\n\n        /**\n         * Clones a request and overrides some of its parameters.\n         *\n         * @param array $query The GET parameters\n         * @param array $request The POST parameters\n         * @param array $attributes The request attributes (parameters parsed from the PATH_INFO, ...)\n         * @param array $cookies The COOKIE parameters\n         * @param array $files The FILES parameters\n         * @param array $server The SERVER parameters\n         * @return static\n         * @static\n         */\n        public static function duplicate($query = null, $request = null, $attributes = null, $cookies = null, $files = null, $server = null)\n        {\n            return \\Illuminate\\Http\\Request::duplicate($query, $request, $attributes, $cookies, $files, $server);\n        }\n\n        /**\n         * Get the session associated with the request.\n         *\n         * @return \\Illuminate\\Session\\Store\n         * @throws \\RuntimeException\n         * @static\n         */\n        public static function session()\n        {\n            return \\Illuminate\\Http\\Request::session();\n        }\n\n        /**\n         * Set the session instance on the request.\n         *\n         * @param \\Illuminate\\Contracts\\Session\\Session $session\n         * @return void\n         * @static\n         */\n        public static function setLaravelSession($session)\n        {\n            \\Illuminate\\Http\\Request::setLaravelSession($session);\n        }\n\n        /**\n         * Get the user making the request.\n         *\n         * @param string|null $guard\n         * @return mixed\n         * @static\n         */\n        public static function user($guard = null)\n        {\n            return \\Illuminate\\Http\\Request::user($guard);\n        }\n\n        /**\n         * Get the route handling the request.\n         *\n         * @param string|null $param\n         * @return \\Illuminate\\Routing\\Route|object|string\n         * @static\n         */\n        public static function route($param = null)\n        {\n            return \\Illuminate\\Http\\Request::route($param);\n        }\n\n        /**\n         * Get a unique fingerprint for the request / route / IP address.\n         *\n         * @return string\n         * @throws \\RuntimeException\n         * @static\n         */\n        public static function fingerprint()\n        {\n            return \\Illuminate\\Http\\Request::fingerprint();\n        }\n\n        /**\n         * Get the user resolver callback.\n         *\n         * @return \\Closure\n         * @static\n         */\n        public static function getUserResolver()\n        {\n            return \\Illuminate\\Http\\Request::getUserResolver();\n        }\n\n        /**\n         * Set the user resolver callback.\n         *\n         * @param \\Closure $callback\n         * @return $this\n         * @static\n         */\n        public static function setUserResolver($callback)\n        {\n            return \\Illuminate\\Http\\Request::setUserResolver($callback);\n        }\n\n        /**\n         * Get the route resolver callback.\n         *\n         * @return \\Closure\n         * @static\n         */\n        public static function getRouteResolver()\n        {\n            return \\Illuminate\\Http\\Request::getRouteResolver();\n        }\n\n        /**\n         * Set the route resolver callback.\n         *\n         * @param \\Closure $callback\n         * @return $this\n         * @static\n         */\n        public static function setRouteResolver($callback)\n        {\n            return \\Illuminate\\Http\\Request::setRouteResolver($callback);\n        }\n\n        /**\n         * Get all of the input and files for the request.\n         *\n         * @return array\n         * @static\n         */\n        public static function toArray()\n        {\n            return \\Illuminate\\Http\\Request::toArray();\n        }\n\n        /**\n         * Determine if the given offset exists.\n         *\n         * @param string $offset\n         * @return bool\n         * @static\n         */\n        public static function offsetExists($offset)\n        {\n            return \\Illuminate\\Http\\Request::offsetExists($offset);\n        }\n\n        /**\n         * Get the value at the given offset.\n         *\n         * @param string $offset\n         * @return mixed\n         * @static\n         */\n        public static function offsetGet($offset)\n        {\n            return \\Illuminate\\Http\\Request::offsetGet($offset);\n        }\n\n        /**\n         * Set the value at the given offset.\n         *\n         * @param string $offset\n         * @param mixed $value\n         * @return void\n         * @static\n         */\n        public static function offsetSet($offset, $value)\n        {\n            \\Illuminate\\Http\\Request::offsetSet($offset, $value);\n        }\n\n        /**\n         * Remove the value at the given offset.\n         *\n         * @param string $offset\n         * @return void\n         * @static\n         */\n        public static function offsetUnset($offset)\n        {\n            \\Illuminate\\Http\\Request::offsetUnset($offset);\n        }\n\n        /**\n         * Sets the parameters for this request.\n         *\n         * This method also re-initializes all properties.\n         *\n         * @param array $query The GET parameters\n         * @param array $request The POST parameters\n         * @param array $attributes The request attributes (parameters parsed from the PATH_INFO, ...)\n         * @param array $cookies The COOKIE parameters\n         * @param array $files The FILES parameters\n         * @param array $server The SERVER parameters\n         * @param string|resource $content The raw body data\n         * @static\n         */\n        public static function initialize($query = [], $request = [], $attributes = [], $cookies = [], $files = [], $server = [], $content = null)\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::initialize($query, $request, $attributes, $cookies, $files, $server, $content);\n        }\n\n        /**\n         * Creates a new request with values from PHP's super globals.\n         *\n         * @return static\n         * @static\n         */\n        public static function createFromGlobals()\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::createFromGlobals();\n        }\n\n        /**\n         * Creates a Request based on a given URI and configuration.\n         *\n         * The information contained in the URI always take precedence\n         * over the other information (server and parameters).\n         *\n         * @param string $uri The URI\n         * @param string $method The HTTP method\n         * @param array $parameters The query (GET) or request (POST) parameters\n         * @param array $cookies The request cookies ($_COOKIE)\n         * @param array $files The request files ($_FILES)\n         * @param array $server The server parameters ($_SERVER)\n         * @param string $content The raw body data\n         * @return static\n         * @static\n         */\n        public static function create($uri, $method = 'GET', $parameters = [], $cookies = [], $files = [], $server = [], $content = null)\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::create($uri, $method, $parameters, $cookies, $files, $server, $content);\n        }\n\n        /**\n         * Sets a callable able to create a Request instance.\n         *\n         * This is mainly useful when you need to override the Request class\n         * to keep BC with an existing system. It should not be used for any\n         * other purpose.\n         *\n         * @param callable|null $callable A PHP callable\n         * @static\n         */\n        public static function setFactory($callable)\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::setFactory($callable);\n        }\n\n        /**\n         * Overrides the PHP global variables according to this request instance.\n         *\n         * It overrides $_GET, $_POST, $_REQUEST, $_SERVER, $_COOKIE.\n         * $_FILES is never overridden, see rfc1867\n         *\n         * @static\n         */\n        public static function overrideGlobals()\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::overrideGlobals();\n        }\n\n        /**\n         * Sets a list of trusted proxies.\n         *\n         * You should only list the reverse proxies that you manage directly.\n         *\n         * @param array $proxies A list of trusted proxies\n         * @static\n         */\n        public static function setTrustedProxies($proxies)\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::setTrustedProxies($proxies);\n        }\n\n        /**\n         * Gets the list of trusted proxies.\n         *\n         * @return array An array of trusted proxies\n         * @static\n         */\n        public static function getTrustedProxies()\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::getTrustedProxies();\n        }\n\n        /**\n         * Sets a list of trusted host patterns.\n         *\n         * You should only list the hosts you manage using regexs.\n         *\n         * @param array $hostPatterns A list of trusted host patterns\n         * @static\n         */\n        public static function setTrustedHosts($hostPatterns)\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::setTrustedHosts($hostPatterns);\n        }\n\n        /**\n         * Gets the list of trusted host patterns.\n         *\n         * @return array An array of trusted host patterns\n         * @static\n         */\n        public static function getTrustedHosts()\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::getTrustedHosts();\n        }\n\n        /**\n         * Sets the name for trusted headers.\n         *\n         * The following header keys are supported:\n         *\n         *  * Request::HEADER_CLIENT_IP:    defaults to X-Forwarded-For   (see getClientIp())\n         *  * Request::HEADER_CLIENT_HOST:  defaults to X-Forwarded-Host  (see getHost())\n         *  * Request::HEADER_CLIENT_PORT:  defaults to X-Forwarded-Port  (see getPort())\n         *  * Request::HEADER_CLIENT_PROTO: defaults to X-Forwarded-Proto (see getScheme() and isSecure())\n         *\n         * Setting an empty value allows to disable the trusted header for the given key.\n         *\n         * @param string $key The header key\n         * @param string $value The header name\n         * @throws \\InvalidArgumentException\n         * @static\n         */\n        public static function setTrustedHeaderName($key, $value)\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::setTrustedHeaderName($key, $value);\n        }\n\n        /**\n         * Gets the trusted proxy header name.\n         *\n         * @param string $key The header key\n         * @return string The header name\n         * @throws \\InvalidArgumentException\n         * @static\n         */\n        public static function getTrustedHeaderName($key)\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::getTrustedHeaderName($key);\n        }\n\n        /**\n         * Normalizes a query string.\n         *\n         * It builds a normalized query string, where keys/value pairs are alphabetized,\n         * have consistent escaping and unneeded delimiters are removed.\n         *\n         * @param string $qs Query string\n         * @return string A normalized query string for the Request\n         * @static\n         */\n        public static function normalizeQueryString($qs)\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::normalizeQueryString($qs);\n        }\n\n        /**\n         * Enables support for the _method request parameter to determine the intended HTTP method.\n         *\n         * Be warned that enabling this feature might lead to CSRF issues in your code.\n         * Check that you are using CSRF tokens when required.\n         * If the HTTP method parameter override is enabled, an html-form with method \"POST\" can be altered\n         * and used to send a \"PUT\" or \"DELETE\" request via the _method request parameter.\n         * If these methods are not protected against CSRF, this presents a possible vulnerability.\n         *\n         * The HTTP method can only be overridden when the real HTTP method is POST.\n         *\n         * @static\n         */\n        public static function enableHttpMethodParameterOverride()\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::enableHttpMethodParameterOverride();\n        }\n\n        /**\n         * Checks whether support for the _method request parameter is enabled.\n         *\n         * @return bool True when the _method request parameter is enabled, false otherwise\n         * @static\n         */\n        public static function getHttpMethodParameterOverride()\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::getHttpMethodParameterOverride();\n        }\n\n        /**\n         * Gets a \"parameter\" value from any bag.\n         *\n         * This method is mainly useful for libraries that want to provide some flexibility. If you don't need the\n         * flexibility in controllers, it is better to explicitly get request parameters from the appropriate\n         * public property instead (attributes, query, request).\n         *\n         * Order of precedence: PATH (routing placeholders or custom attributes), GET, BODY\n         *\n         * @param string $key the key\n         * @param mixed $default the default value if the parameter key does not exist\n         * @return mixed\n         * @static\n         */\n        public static function get($key, $default = null)\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::get($key, $default);\n        }\n\n        /**\n         * Gets the Session.\n         *\n         * @return \\Symfony\\Component\\HttpFoundation\\SessionInterface|null The session\n         * @static\n         */\n        public static function getSession()\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::getSession();\n        }\n\n        /**\n         * Whether the request contains a Session which was started in one of the\n         * previous requests.\n         *\n         * @return bool\n         * @static\n         */\n        public static function hasPreviousSession()\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::hasPreviousSession();\n        }\n\n        /**\n         * Whether the request contains a Session object.\n         *\n         * This method does not give any information about the state of the session object,\n         * like whether the session is started or not. It is just a way to check if this Request\n         * is associated with a Session instance.\n         *\n         * @return bool true when the Request contains a Session object, false otherwise\n         * @static\n         */\n        public static function hasSession()\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::hasSession();\n        }\n\n        /**\n         * Sets the Session.\n         *\n         * @param \\Symfony\\Component\\HttpFoundation\\SessionInterface $session The Session\n         * @static\n         */\n        public static function setSession($session)\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::setSession($session);\n        }\n\n        /**\n         * Returns the client IP addresses.\n         *\n         * In the returned array the most trusted IP address is first, and the\n         * least trusted one last. The \"real\" client IP address is the last one,\n         * but this is also the least trusted one. Trusted proxies are stripped.\n         *\n         * Use this method carefully; you should use getClientIp() instead.\n         *\n         * @return array The client IP addresses\n         * @see getClientIp()\n         * @static\n         */\n        public static function getClientIps()\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::getClientIps();\n        }\n\n        /**\n         * Returns the client IP address.\n         *\n         * This method can read the client IP address from the \"X-Forwarded-For\" header\n         * when trusted proxies were set via \"setTrustedProxies()\". The \"X-Forwarded-For\"\n         * header value is a comma+space separated list of IP addresses, the left-most\n         * being the original client, and each successive proxy that passed the request\n         * adding the IP address where it received the request from.\n         *\n         * If your reverse proxy uses a different header name than \"X-Forwarded-For\",\n         * (\"Client-Ip\" for instance), configure it via \"setTrustedHeaderName()\" with\n         * the \"client-ip\" key.\n         *\n         * @return string The client IP address\n         * @see getClientIps()\n         * @see http://en.wikipedia.org/wiki/X-Forwarded-For\n         * @static\n         */\n        public static function getClientIp()\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::getClientIp();\n        }\n\n        /**\n         * Returns current script name.\n         *\n         * @return string\n         * @static\n         */\n        public static function getScriptName()\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::getScriptName();\n        }\n\n        /**\n         * Returns the path being requested relative to the executed script.\n         *\n         * The path info always starts with a /.\n         *\n         * Suppose this request is instantiated from /mysite on localhost:\n         *\n         *  * http://localhost/mysite              returns an empty string\n         *  * http://localhost/mysite/about        returns '/about'\n         *  * http://localhost/mysite/enco%20ded   returns '/enco%20ded'\n         *  * http://localhost/mysite/about?var=1  returns '/about'\n         *\n         * @return string The raw path (i.e. not urldecoded)\n         * @static\n         */\n        public static function getPathInfo()\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::getPathInfo();\n        }\n\n        /**\n         * Returns the root path from which this request is executed.\n         *\n         * Suppose that an index.php file instantiates this request object:\n         *\n         *  * http://localhost/index.php         returns an empty string\n         *  * http://localhost/index.php/page    returns an empty string\n         *  * http://localhost/web/index.php     returns '/web'\n         *  * http://localhost/we%20b/index.php  returns '/we%20b'\n         *\n         * @return string The raw path (i.e. not urldecoded)\n         * @static\n         */\n        public static function getBasePath()\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::getBasePath();\n        }\n\n        /**\n         * Returns the root URL from which this request is executed.\n         *\n         * The base URL never ends with a /.\n         *\n         * This is similar to getBasePath(), except that it also includes the\n         * script filename (e.g. index.php) if one exists.\n         *\n         * @return string The raw URL (i.e. not urldecoded)\n         * @static\n         */\n        public static function getBaseUrl()\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::getBaseUrl();\n        }\n\n        /**\n         * Gets the request's scheme.\n         *\n         * @return string\n         * @static\n         */\n        public static function getScheme()\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::getScheme();\n        }\n\n        /**\n         * Returns the port on which the request is made.\n         *\n         * This method can read the client port from the \"X-Forwarded-Port\" header\n         * when trusted proxies were set via \"setTrustedProxies()\".\n         *\n         * The \"X-Forwarded-Port\" header must contain the client port.\n         *\n         * If your reverse proxy uses a different header name than \"X-Forwarded-Port\",\n         * configure it via \"setTrustedHeaderName()\" with the \"client-port\" key.\n         *\n         * @return string\n         * @static\n         */\n        public static function getPort()\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::getPort();\n        }\n\n        /**\n         * Returns the user.\n         *\n         * @return string|null\n         * @static\n         */\n        public static function getUser()\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::getUser();\n        }\n\n        /**\n         * Returns the password.\n         *\n         * @return string|null\n         * @static\n         */\n        public static function getPassword()\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::getPassword();\n        }\n\n        /**\n         * Gets the user info.\n         *\n         * @return string A user name and, optionally, scheme-specific information about how to gain authorization to access the server\n         * @static\n         */\n        public static function getUserInfo()\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::getUserInfo();\n        }\n\n        /**\n         * Returns the HTTP host being requested.\n         *\n         * The port name will be appended to the host if it's non-standard.\n         *\n         * @return string\n         * @static\n         */\n        public static function getHttpHost()\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::getHttpHost();\n        }\n\n        /**\n         * Returns the requested URI (path and query string).\n         *\n         * @return string The raw URI (i.e. not URI decoded)\n         * @static\n         */\n        public static function getRequestUri()\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::getRequestUri();\n        }\n\n        /**\n         * Gets the scheme and HTTP host.\n         *\n         * If the URL was called with basic authentication, the user\n         * and the password are not added to the generated string.\n         *\n         * @return string The scheme and HTTP host\n         * @static\n         */\n        public static function getSchemeAndHttpHost()\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::getSchemeAndHttpHost();\n        }\n\n        /**\n         * Generates a normalized URI (URL) for the Request.\n         *\n         * @return string A normalized URI (URL) for the Request\n         * @see getQueryString()\n         * @static\n         */\n        public static function getUri()\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::getUri();\n        }\n\n        /**\n         * Generates a normalized URI for the given path.\n         *\n         * @param string $path A path to use instead of the current one\n         * @return string The normalized URI for the path\n         * @static\n         */\n        public static function getUriForPath($path)\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::getUriForPath($path);\n        }\n\n        /**\n         * Returns the path as relative reference from the current Request path.\n         *\n         * Only the URIs path component (no schema, host etc.) is relevant and must be given.\n         * Both paths must be absolute and not contain relative parts.\n         * Relative URLs from one resource to another are useful when generating self-contained downloadable document archives.\n         * Furthermore, they can be used to reduce the link size in documents.\n         *\n         * Example target paths, given a base path of \"/a/b/c/d\":\n         * - \"/a/b/c/d\"     -> \"\"\n         * - \"/a/b/c/\"      -> \"./\"\n         * - \"/a/b/\"        -> \"../\"\n         * - \"/a/b/c/other\" -> \"other\"\n         * - \"/a/x/y\"       -> \"../../x/y\"\n         *\n         * @param string $path The target path\n         * @return string The relative target path\n         * @static\n         */\n        public static function getRelativeUriForPath($path)\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::getRelativeUriForPath($path);\n        }\n\n        /**\n         * Generates the normalized query string for the Request.\n         *\n         * It builds a normalized query string, where keys/value pairs are alphabetized\n         * and have consistent escaping.\n         *\n         * @return string|null A normalized query string for the Request\n         * @static\n         */\n        public static function getQueryString()\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::getQueryString();\n        }\n\n        /**\n         * Checks whether the request is secure or not.\n         *\n         * This method can read the client protocol from the \"X-Forwarded-Proto\" header\n         * when trusted proxies were set via \"setTrustedProxies()\".\n         *\n         * The \"X-Forwarded-Proto\" header must contain the protocol: \"https\" or \"http\".\n         *\n         * If your reverse proxy uses a different header name than \"X-Forwarded-Proto\"\n         * (\"SSL_HTTPS\" for instance), configure it via \"setTrustedHeaderName()\" with\n         * the \"client-proto\" key.\n         *\n         * @return bool\n         * @static\n         */\n        public static function isSecure()\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::isSecure();\n        }\n\n        /**\n         * Returns the host name.\n         *\n         * This method can read the client host name from the \"X-Forwarded-Host\" header\n         * when trusted proxies were set via \"setTrustedProxies()\".\n         *\n         * The \"X-Forwarded-Host\" header must contain the client host name.\n         *\n         * If your reverse proxy uses a different header name than \"X-Forwarded-Host\",\n         * configure it via \"setTrustedHeaderName()\" with the \"client-host\" key.\n         *\n         * @return string\n         * @throws \\UnexpectedValueException when the host name is invalid\n         * @static\n         */\n        public static function getHost()\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::getHost();\n        }\n\n        /**\n         * Sets the request method.\n         *\n         * @param string $method\n         * @static\n         */\n        public static function setMethod($method)\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::setMethod($method);\n        }\n\n        /**\n         * Gets the request \"intended\" method.\n         *\n         * If the X-HTTP-Method-Override header is set, and if the method is a POST,\n         * then it is used to determine the \"real\" intended HTTP method.\n         *\n         * The _method request parameter can also be used to determine the HTTP method,\n         * but only if enableHttpMethodParameterOverride() has been called.\n         *\n         * The method is always an uppercased string.\n         *\n         * @return string The request method\n         * @see getRealMethod()\n         * @static\n         */\n        public static function getMethod()\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::getMethod();\n        }\n\n        /**\n         * Gets the \"real\" request method.\n         *\n         * @return string The request method\n         * @see getMethod()\n         * @static\n         */\n        public static function getRealMethod()\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::getRealMethod();\n        }\n\n        /**\n         * Gets the mime type associated with the format.\n         *\n         * @param string $format The format\n         * @return string The associated mime type (null if not found)\n         * @static\n         */\n        public static function getMimeType($format)\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::getMimeType($format);\n        }\n\n        /**\n         * Gets the mime types associated with the format.\n         *\n         * @param string $format The format\n         * @return array The associated mime types\n         * @static\n         */\n        public static function getMimeTypes($format)\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::getMimeTypes($format);\n        }\n\n        /**\n         * Gets the format associated with the mime type.\n         *\n         * @param string $mimeType The associated mime type\n         * @return string|null The format (null if not found)\n         * @static\n         */\n        public static function getFormat($mimeType)\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::getFormat($mimeType);\n        }\n\n        /**\n         * Associates a format with mime types.\n         *\n         * @param string $format The format\n         * @param string|array $mimeTypes The associated mime types (the preferred one must be the first as it will be used as the content type)\n         * @static\n         */\n        public static function setFormat($format, $mimeTypes)\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::setFormat($format, $mimeTypes);\n        }\n\n        /**\n         * Gets the request format.\n         *\n         * Here is the process to determine the format:\n         *\n         *  * format defined by the user (with setRequestFormat())\n         *  * _format request attribute\n         *  * $default\n         *\n         * @param string $default The default format\n         * @return string The request format\n         * @static\n         */\n        public static function getRequestFormat($default = 'html')\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::getRequestFormat($default);\n        }\n\n        /**\n         * Sets the request format.\n         *\n         * @param string $format The request format\n         * @static\n         */\n        public static function setRequestFormat($format)\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::setRequestFormat($format);\n        }\n\n        /**\n         * Gets the format associated with the request.\n         *\n         * @return string|null The format (null if no content type is present)\n         * @static\n         */\n        public static function getContentType()\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::getContentType();\n        }\n\n        /**\n         * Sets the default locale.\n         *\n         * @param string $locale\n         * @static\n         */\n        public static function setDefaultLocale($locale)\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::setDefaultLocale($locale);\n        }\n\n        /**\n         * Get the default locale.\n         *\n         * @return string\n         * @static\n         */\n        public static function getDefaultLocale()\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::getDefaultLocale();\n        }\n\n        /**\n         * Sets the locale.\n         *\n         * @param string $locale\n         * @static\n         */\n        public static function setLocale($locale)\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::setLocale($locale);\n        }\n\n        /**\n         * Get the locale.\n         *\n         * @return string\n         * @static\n         */\n        public static function getLocale()\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::getLocale();\n        }\n\n        /**\n         * Checks if the request method is of specified type.\n         *\n         * @param string $method Uppercase request method (GET, POST etc)\n         * @return bool\n         * @static\n         */\n        public static function isMethod($method)\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::isMethod($method);\n        }\n\n        /**\n         * Checks whether or not the method is safe.\n         *\n         * @see https://tools.ietf.org/html/rfc7231#section-4.2.1\n         * @param bool $andCacheable Adds the additional condition that the method should be cacheable. True by default.\n         * @return bool\n         * @static\n         */\n        public static function isMethodSafe()\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::isMethodSafe();\n        }\n\n        /**\n         * Checks whether or not the method is idempotent.\n         *\n         * @return bool\n         * @static\n         */\n        public static function isMethodIdempotent()\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::isMethodIdempotent();\n        }\n\n        /**\n         * Checks whether the method is cacheable or not.\n         *\n         * @see https://tools.ietf.org/html/rfc7231#section-4.2.3\n         * @return bool\n         * @static\n         */\n        public static function isMethodCacheable()\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::isMethodCacheable();\n        }\n\n        /**\n         * Returns the request body content.\n         *\n         * @param bool $asResource If true, a resource will be returned\n         * @return string|resource The request body content or a resource to read the body stream\n         * @throws \\LogicException\n         * @static\n         */\n        public static function getContent($asResource = false)\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::getContent($asResource);\n        }\n\n        /**\n         * Gets the Etags.\n         *\n         * @return array The entity tags\n         * @static\n         */\n        public static function getETags()\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::getETags();\n        }\n\n        /**\n         *\n         *\n         * @return bool\n         * @static\n         */\n        public static function isNoCache()\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::isNoCache();\n        }\n\n        /**\n         * Returns the preferred language.\n         *\n         * @param array $locales An array of ordered available locales\n         * @return string|null The preferred locale\n         * @static\n         */\n        public static function getPreferredLanguage($locales = null)\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::getPreferredLanguage($locales);\n        }\n\n        /**\n         * Gets a list of languages acceptable by the client browser.\n         *\n         * @return array Languages ordered in the user browser preferences\n         * @static\n         */\n        public static function getLanguages()\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::getLanguages();\n        }\n\n        /**\n         * Gets a list of charsets acceptable by the client browser.\n         *\n         * @return array List of charsets in preferable order\n         * @static\n         */\n        public static function getCharsets()\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::getCharsets();\n        }\n\n        /**\n         * Gets a list of encodings acceptable by the client browser.\n         *\n         * @return array List of encodings in preferable order\n         * @static\n         */\n        public static function getEncodings()\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::getEncodings();\n        }\n\n        /**\n         * Gets a list of content types acceptable by the client browser.\n         *\n         * @return array List of content types in preferable order\n         * @static\n         */\n        public static function getAcceptableContentTypes()\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::getAcceptableContentTypes();\n        }\n\n        /**\n         * Returns true if the request is a XMLHttpRequest.\n         *\n         * It works if your JavaScript library sets an X-Requested-With HTTP header.\n         * It is known to work with common JavaScript frameworks:\n         *\n         * @see http://en.wikipedia.org/wiki/List_of_Ajax_frameworks#JavaScript\n         * @return bool true if the request is an XMLHttpRequest, false otherwise\n         * @static\n         */\n        public static function isXmlHttpRequest()\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::isXmlHttpRequest();\n        }\n\n        /**\n         * Indicates whether this request originated from a trusted proxy.\n         *\n         * This can be useful to determine whether or not to trust the\n         * contents of a proxy-specific header.\n         *\n         * @return bool true if the request came from a trusted proxy, false otherwise\n         * @static\n         */\n        public static function isFromTrustedProxy()\n        {\n            //Method inherited from \\Symfony\\Component\\HttpFoundation\\Request\n            return \\Illuminate\\Http\\Request::isFromTrustedProxy();\n        }\n\n        /**\n         * Determine if the given content types match.\n         *\n         * @param string $actual\n         * @param string $type\n         * @return bool\n         * @static\n         */\n        public static function matchesType($actual, $type)\n        {\n            return \\Illuminate\\Http\\Request::matchesType($actual, $type);\n        }\n\n        /**\n         * Determine if the request is sending JSON.\n         *\n         * @return bool\n         * @static\n         */\n        public static function isJson()\n        {\n            return \\Illuminate\\Http\\Request::isJson();\n        }\n\n        /**\n         * Determine if the current request probably expects a JSON response.\n         *\n         * @return bool\n         * @static\n         */\n        public static function expectsJson()\n        {\n            return \\Illuminate\\Http\\Request::expectsJson();\n        }\n\n        /**\n         * Determine if the current request is asking for JSON in return.\n         *\n         * @return bool\n         * @static\n         */\n        public static function wantsJson()\n        {\n            return \\Illuminate\\Http\\Request::wantsJson();\n        }\n\n        /**\n         * Determines whether the current requests accepts a given content type.\n         *\n         * @param string|array $contentTypes\n         * @return bool\n         * @static\n         */\n        public static function accepts($contentTypes)\n        {\n            return \\Illuminate\\Http\\Request::accepts($contentTypes);\n        }\n\n        /**\n         * Return the most suitable content type from the given array based on content negotiation.\n         *\n         * @param string|array $contentTypes\n         * @return string|null\n         * @static\n         */\n        public static function prefers($contentTypes)\n        {\n            return \\Illuminate\\Http\\Request::prefers($contentTypes);\n        }\n\n        /**\n         * Determines whether a request accepts JSON.\n         *\n         * @return bool\n         * @static\n         */\n        public static function acceptsJson()\n        {\n            return \\Illuminate\\Http\\Request::acceptsJson();\n        }\n\n        /**\n         * Determines whether a request accepts HTML.\n         *\n         * @return bool\n         * @static\n         */\n        public static function acceptsHtml()\n        {\n            return \\Illuminate\\Http\\Request::acceptsHtml();\n        }\n\n        /**\n         * Get the data format expected in the response.\n         *\n         * @param string $default\n         * @return string\n         * @static\n         */\n        public static function format($default = 'html')\n        {\n            return \\Illuminate\\Http\\Request::format($default);\n        }\n\n        /**\n         * Retrieve an old input item.\n         *\n         * @param string $key\n         * @param string|array|null $default\n         * @return string|array\n         * @static\n         */\n        public static function old($key = null, $default = null)\n        {\n            return \\Illuminate\\Http\\Request::old($key, $default);\n        }\n\n        /**\n         * Flash the input for the current request to the session.\n         *\n         * @return void\n         * @static\n         */\n        public static function flash()\n        {\n            \\Illuminate\\Http\\Request::flash();\n        }\n\n        /**\n         * Flash only some of the input to the session.\n         *\n         * @param array|mixed $keys\n         * @return void\n         * @static\n         */\n        public static function flashOnly($keys)\n        {\n            \\Illuminate\\Http\\Request::flashOnly($keys);\n        }\n\n        /**\n         * Flash only some of the input to the session.\n         *\n         * @param array|mixed $keys\n         * @return void\n         * @static\n         */\n        public static function flashExcept($keys)\n        {\n            \\Illuminate\\Http\\Request::flashExcept($keys);\n        }\n\n        /**\n         * Flush all of the old input from the session.\n         *\n         * @return void\n         * @static\n         */\n        public static function flush()\n        {\n            \\Illuminate\\Http\\Request::flush();\n        }\n\n        /**\n         * Retrieve a server variable from the request.\n         *\n         * @param string $key\n         * @param string|array|null $default\n         * @return string|array\n         * @static\n         */\n        public static function server($key = null, $default = null)\n        {\n            return \\Illuminate\\Http\\Request::server($key, $default);\n        }\n\n        /**\n         * Determine if a header is set on the request.\n         *\n         * @param string $key\n         * @return bool\n         * @static\n         */\n        public static function hasHeader($key)\n        {\n            return \\Illuminate\\Http\\Request::hasHeader($key);\n        }\n\n        /**\n         * Retrieve a header from the request.\n         *\n         * @param string $key\n         * @param string|array|null $default\n         * @return string|array\n         * @static\n         */\n        public static function header($key = null, $default = null)\n        {\n            return \\Illuminate\\Http\\Request::header($key, $default);\n        }\n\n        /**\n         * Get the bearer token from the request headers.\n         *\n         * @return string|null\n         * @static\n         */\n        public static function bearerToken()\n        {\n            return \\Illuminate\\Http\\Request::bearerToken();\n        }\n\n        /**\n         * Determine if the request contains a given input item key.\n         *\n         * @param string|array $key\n         * @return bool\n         * @static\n         */\n        public static function exists($key)\n        {\n            return \\Illuminate\\Http\\Request::exists($key);\n        }\n\n        /**\n         * Determine if the request contains a non-empty value for an input item.\n         *\n         * @param string|array $key\n         * @return bool\n         * @static\n         */\n        public static function has($key)\n        {\n            return \\Illuminate\\Http\\Request::has($key);\n        }\n\n        /**\n         * Get all of the input and files for the request.\n         *\n         * @return array\n         * @static\n         */\n        public static function all()\n        {\n            return \\Illuminate\\Http\\Request::all();\n        }\n\n        /**\n         * Retrieve an input item from the request.\n         *\n         * @param string $key\n         * @param string|array|null $default\n         * @return string|array\n         * @static\n         */\n        public static function input($key = null, $default = null)\n        {\n            return \\Illuminate\\Http\\Request::input($key, $default);\n        }\n\n        /**\n         * Get a subset containing the provided keys with values from the input data.\n         *\n         * @param array|mixed $keys\n         * @return array\n         * @static\n         */\n        public static function only($keys)\n        {\n            return \\Illuminate\\Http\\Request::only($keys);\n        }\n\n        /**\n         * Get all of the input except for a specified array of items.\n         *\n         * @param array|mixed $keys\n         * @return array\n         * @static\n         */\n        public static function except($keys)\n        {\n            return \\Illuminate\\Http\\Request::except($keys);\n        }\n\n        /**\n         * Intersect an array of items with the input data.\n         *\n         * @param array|mixed $keys\n         * @return array\n         * @static\n         */\n        public static function intersect($keys)\n        {\n            return \\Illuminate\\Http\\Request::intersect($keys);\n        }\n\n        /**\n         * Retrieve a query string item from the request.\n         *\n         * @param string $key\n         * @param string|array|null $default\n         * @return string|array\n         * @static\n         */\n        public static function query($key = null, $default = null)\n        {\n            return \\Illuminate\\Http\\Request::query($key, $default);\n        }\n\n        /**\n         * Determine if a cookie is set on the request.\n         *\n         * @param string $key\n         * @return bool\n         * @static\n         */\n        public static function hasCookie($key)\n        {\n            return \\Illuminate\\Http\\Request::hasCookie($key);\n        }\n\n        /**\n         * Retrieve a cookie from the request.\n         *\n         * @param string $key\n         * @param string|array|null $default\n         * @return string|array\n         * @static\n         */\n        public static function cookie($key = null, $default = null)\n        {\n            return \\Illuminate\\Http\\Request::cookie($key, $default);\n        }\n\n        /**\n         * Get an array of all of the files on the request.\n         *\n         * @return array\n         * @static\n         */\n        public static function allFiles()\n        {\n            return \\Illuminate\\Http\\Request::allFiles();\n        }\n\n        /**\n         * Determine if the uploaded data contains a file.\n         *\n         * @param string $key\n         * @return bool\n         * @static\n         */\n        public static function hasFile($key)\n        {\n            return \\Illuminate\\Http\\Request::hasFile($key);\n        }\n\n        /**\n         * Retrieve a file from the request.\n         *\n         * @param string $key\n         * @param mixed $default\n         * @return \\Illuminate\\Http\\UploadedFile|array|null\n         * @static\n         */\n        public static function file($key = null, $default = null)\n        {\n            return \\Illuminate\\Http\\Request::file($key, $default);\n        }\n\n        /**\n         * Register a custom macro.\n         *\n         * @param string $name\n         * @param callable $macro\n         * @return void\n         * @static\n         */\n        public static function macro($name, $macro)\n        {\n            \\Illuminate\\Http\\Request::macro($name, $macro);\n        }\n\n        /**\n         * Checks if macro is registered.\n         *\n         * @param string $name\n         * @return bool\n         * @static\n         */\n        public static function hasMacro($name)\n        {\n            return \\Illuminate\\Http\\Request::hasMacro($name);\n        }\n    }\n\n\n    class Response extends \\Illuminate\\Support\\Facades\\Response\n    {\n        /**\n         * Return a new response from the application.\n         *\n         * @param string $content\n         * @param int $status\n         * @param array $headers\n         * @return \\Illuminate\\Http\\Response\n         * @static\n         */\n        public static function make($content = '', $status = 200, $headers = [])\n        {\n            return \\Illuminate\\Routing\\ResponseFactory::make($content, $status, $headers);\n        }\n\n        /**\n         * Return a new view response from the application.\n         *\n         * @param string $view\n         * @param array $data\n         * @param int $status\n         * @param array $headers\n         * @return \\Illuminate\\Http\\Response\n         * @static\n         */\n        public static function view($view, $data = [], $status = 200, $headers = [])\n        {\n            return \\Illuminate\\Routing\\ResponseFactory::view($view, $data, $status, $headers);\n        }\n\n        /**\n         * Return a new JSON response from the application.\n         *\n         * @param mixed $data\n         * @param int $status\n         * @param array $headers\n         * @param int $options\n         * @return \\Illuminate\\Http\\JsonResponse\n         * @static\n         */\n        public static function json($data = [], $status = 200, $headers = [], $options = 0)\n        {\n            return \\Illuminate\\Routing\\ResponseFactory::json($data, $status, $headers, $options);\n        }\n\n        /**\n         * Return a new JSONP response from the application.\n         *\n         * @param string $callback\n         * @param mixed $data\n         * @param int $status\n         * @param array $headers\n         * @param int $options\n         * @return \\Illuminate\\Http\\JsonResponse\n         * @static\n         */\n        public static function jsonp($callback, $data = [], $status = 200, $headers = [], $options = 0)\n        {\n            return \\Illuminate\\Routing\\ResponseFactory::jsonp($callback, $data, $status, $headers, $options);\n        }\n\n        /**\n         * Return a new streamed response from the application.\n         *\n         * @param \\Closure $callback\n         * @param int $status\n         * @param array $headers\n         * @return \\Symfony\\Component\\HttpFoundation\\StreamedResponse\n         * @static\n         */\n        public static function stream($callback, $status = 200, $headers = [])\n        {\n            return \\Illuminate\\Routing\\ResponseFactory::stream($callback, $status, $headers);\n        }\n\n        /**\n         * Create a new file download response.\n         *\n         * @param \\SplFileInfo|string $file\n         * @param string $name\n         * @param array $headers\n         * @param string|null $disposition\n         * @return \\Symfony\\Component\\HttpFoundation\\BinaryFileResponse\n         * @static\n         */\n        public static function download($file, $name = null, $headers = [], $disposition = 'attachment')\n        {\n            return \\Illuminate\\Routing\\ResponseFactory::download($file, $name, $headers, $disposition);\n        }\n\n        /**\n         * Return the raw contents of a binary file.\n         *\n         * @param \\SplFileInfo|string $file\n         * @param array $headers\n         * @return \\Symfony\\Component\\HttpFoundation\\BinaryFileResponse\n         * @static\n         */\n        public static function file($file, $headers = [])\n        {\n            return \\Illuminate\\Routing\\ResponseFactory::file($file, $headers);\n        }\n\n        /**\n         * Create a new redirect response to the given path.\n         *\n         * @param string $path\n         * @param int $status\n         * @param array $headers\n         * @param bool|null $secure\n         * @return \\Illuminate\\Http\\RedirectResponse\n         * @static\n         */\n        public static function redirectTo($path, $status = 302, $headers = [], $secure = null)\n        {\n            return \\Illuminate\\Routing\\ResponseFactory::redirectTo($path, $status, $headers, $secure);\n        }\n\n        /**\n         * Create a new redirect response to a named route.\n         *\n         * @param string $route\n         * @param array $parameters\n         * @param int $status\n         * @param array $headers\n         * @return \\Illuminate\\Http\\RedirectResponse\n         * @static\n         */\n        public static function redirectToRoute($route, $parameters = [], $status = 302, $headers = [])\n        {\n            return \\Illuminate\\Routing\\ResponseFactory::redirectToRoute($route, $parameters, $status, $headers);\n        }\n\n        /**\n         * Create a new redirect response to a controller action.\n         *\n         * @param string $action\n         * @param array $parameters\n         * @param int $status\n         * @param array $headers\n         * @return \\Illuminate\\Http\\RedirectResponse\n         * @static\n         */\n        public static function redirectToAction($action, $parameters = [], $status = 302, $headers = [])\n        {\n            return \\Illuminate\\Routing\\ResponseFactory::redirectToAction($action, $parameters, $status, $headers);\n        }\n\n        /**\n         * Create a new redirect response, while putting the current URL in the session.\n         *\n         * @param string $path\n         * @param int $status\n         * @param array $headers\n         * @param bool|null $secure\n         * @return \\Illuminate\\Http\\RedirectResponse\n         * @static\n         */\n        public static function redirectGuest($path, $status = 302, $headers = [], $secure = null)\n        {\n            return \\Illuminate\\Routing\\ResponseFactory::redirectGuest($path, $status, $headers, $secure);\n        }\n\n        /**\n         * Create a new redirect response to the previously intended location.\n         *\n         * @param string $default\n         * @param int $status\n         * @param array $headers\n         * @param bool|null $secure\n         * @return \\Illuminate\\Http\\RedirectResponse\n         * @static\n         */\n        public static function redirectToIntended($default = '/', $status = 302, $headers = [], $secure = null)\n        {\n            return \\Illuminate\\Routing\\ResponseFactory::redirectToIntended($default, $status, $headers, $secure);\n        }\n\n        /**\n         * Register a custom macro.\n         *\n         * @param string $name\n         * @param callable $macro\n         * @return void\n         * @static\n         */\n        public static function macro($name, $macro)\n        {\n            \\Illuminate\\Routing\\ResponseFactory::macro($name, $macro);\n        }\n\n        /**\n         * Checks if macro is registered.\n         *\n         * @param string $name\n         * @return bool\n         * @static\n         */\n        public static function hasMacro($name)\n        {\n            return \\Illuminate\\Routing\\ResponseFactory::hasMacro($name);\n        }\n    }\n\n\n    class Route extends \\Illuminate\\Support\\Facades\\Route\n    {\n        /**\n         * Register a new GET route with the router.\n         *\n         * @param string $uri\n         * @param \\Closure|array|string|null $action\n         * @return \\Illuminate\\Routing\\Route\n         * @static\n         */\n        public static function get($uri, $action = null)\n        {\n            return \\Illuminate\\Routing\\Router::get($uri, $action);\n        }\n\n        /**\n         * Register a new POST route with the router.\n         *\n         * @param string $uri\n         * @param \\Closure|array|string|null $action\n         * @return \\Illuminate\\Routing\\Route\n         * @static\n         */\n        public static function post($uri, $action = null)\n        {\n            return \\Illuminate\\Routing\\Router::post($uri, $action);\n        }\n\n        /**\n         * Register a new PUT route with the router.\n         *\n         * @param string $uri\n         * @param \\Closure|array|string|null $action\n         * @return \\Illuminate\\Routing\\Route\n         * @static\n         */\n        public static function put($uri, $action = null)\n        {\n            return \\Illuminate\\Routing\\Router::put($uri, $action);\n        }\n\n        /**\n         * Register a new PATCH route with the router.\n         *\n         * @param string $uri\n         * @param \\Closure|array|string|null $action\n         * @return \\Illuminate\\Routing\\Route\n         * @static\n         */\n        public static function patch($uri, $action = null)\n        {\n            return \\Illuminate\\Routing\\Router::patch($uri, $action);\n        }\n\n        /**\n         * Register a new DELETE route with the router.\n         *\n         * @param string $uri\n         * @param \\Closure|array|string|null $action\n         * @return \\Illuminate\\Routing\\Route\n         * @static\n         */\n        public static function delete($uri, $action = null)\n        {\n            return \\Illuminate\\Routing\\Router::delete($uri, $action);\n        }\n\n        /**\n         * Register a new OPTIONS route with the router.\n         *\n         * @param string $uri\n         * @param \\Closure|array|string|null $action\n         * @return \\Illuminate\\Routing\\Route\n         * @static\n         */\n        public static function options($uri, $action = null)\n        {\n            return \\Illuminate\\Routing\\Router::options($uri, $action);\n        }\n\n        /**\n         * Register a new route responding to all verbs.\n         *\n         * @param string $uri\n         * @param \\Closure|array|string|null $action\n         * @return \\Illuminate\\Routing\\Route\n         * @static\n         */\n        public static function any($uri, $action = null)\n        {\n            return \\Illuminate\\Routing\\Router::any($uri, $action);\n        }\n\n        /**\n         * Register a new route with the given verbs.\n         *\n         * @param array|string $methods\n         * @param string $uri\n         * @param \\Closure|array|string|null $action\n         * @return \\Illuminate\\Routing\\Route\n         * @static\n         */\n        public static function match($methods, $uri, $action = null)\n        {\n            return \\Illuminate\\Routing\\Router::match($methods, $uri, $action);\n        }\n\n        /**\n         * Register an array of resource controllers.\n         *\n         * @param array $resources\n         * @return void\n         * @static\n         */\n        public static function resources($resources)\n        {\n            \\Illuminate\\Routing\\Router::resources($resources);\n        }\n\n        /**\n         * Route a resource to a controller.\n         *\n         * @param string $name\n         * @param string $controller\n         * @param array $options\n         * @return void\n         * @static\n         */\n        public static function resource($name, $controller, $options = [])\n        {\n            \\Illuminate\\Routing\\Router::resource($name, $controller, $options);\n        }\n\n        /**\n         * Create a route group with shared attributes.\n         *\n         * @param array $attributes\n         * @param \\Closure|string $routes\n         * @return void\n         * @static\n         */\n        public static function group($attributes, $routes)\n        {\n            \\Illuminate\\Routing\\Router::group($attributes, $routes);\n        }\n\n        /**\n         * Merge the given array with the last group stack.\n         *\n         * @param array $new\n         * @return array\n         * @static\n         */\n        public static function mergeWithLastGroup($new)\n        {\n            return \\Illuminate\\Routing\\Router::mergeWithLastGroup($new);\n        }\n\n        /**\n         * Get the prefix from the last group on the stack.\n         *\n         * @return string\n         * @static\n         */\n        public static function getLastGroupPrefix()\n        {\n            return \\Illuminate\\Routing\\Router::getLastGroupPrefix();\n        }\n\n        /**\n         * Dispatch the request to the application.\n         *\n         * @param \\Illuminate\\Http\\Request $request\n         * @return \\Illuminate\\Http\\Response\n         * @static\n         */\n        public static function dispatch($request)\n        {\n            return \\Illuminate\\Routing\\Router::dispatch($request);\n        }\n\n        /**\n         * Dispatch the request to a route and return the response.\n         *\n         * @param \\Illuminate\\Http\\Request $request\n         * @return mixed\n         * @static\n         */\n        public static function dispatchToRoute($request)\n        {\n            return \\Illuminate\\Routing\\Router::dispatchToRoute($request);\n        }\n\n        /**\n         * Gather the middleware for the given route with resolved class names.\n         *\n         * @param \\Illuminate\\Routing\\Route $route\n         * @return array\n         * @static\n         */\n        public static function gatherRouteMiddleware($route)\n        {\n            return \\Illuminate\\Routing\\Router::gatherRouteMiddleware($route);\n        }\n\n        /**\n         * Create a response instance from the given value.\n         *\n         * @param \\Symfony\\Component\\HttpFoundation\\Request $request\n         * @param mixed $response\n         * @return \\Illuminate\\Http\\Response\n         * @static\n         */\n        public static function prepareResponse($request, $response)\n        {\n            return \\Illuminate\\Routing\\Router::prepareResponse($request, $response);\n        }\n\n        /**\n         * Substitute the route bindings onto the route.\n         *\n         * @param \\Illuminate\\Routing\\Route $route\n         * @return \\Illuminate\\Routing\\Route\n         * @static\n         */\n        public static function substituteBindings($route)\n        {\n            return \\Illuminate\\Routing\\Router::substituteBindings($route);\n        }\n\n        /**\n         * Substitute the implicit Eloquent model bindings for the route.\n         *\n         * @param \\Illuminate\\Routing\\Route $route\n         * @return void\n         * @static\n         */\n        public static function substituteImplicitBindings($route)\n        {\n            \\Illuminate\\Routing\\Router::substituteImplicitBindings($route);\n        }\n\n        /**\n         * Register a route matched event listener.\n         *\n         * @param string|callable $callback\n         * @return void\n         * @static\n         */\n        public static function matched($callback)\n        {\n            \\Illuminate\\Routing\\Router::matched($callback);\n        }\n\n        /**\n         * Get all of the defined middleware short-hand names.\n         *\n         * @return array\n         * @static\n         */\n        public static function getMiddleware()\n        {\n            return \\Illuminate\\Routing\\Router::getMiddleware();\n        }\n\n        /**\n         * Register a short-hand name for a middleware.\n         *\n         * @param string $name\n         * @param string $class\n         * @return $this\n         * @static\n         */\n        public static function aliasMiddleware($name, $class)\n        {\n            return \\Illuminate\\Routing\\Router::aliasMiddleware($name, $class);\n        }\n\n        /**\n         * Check if a middlewareGroup with the given name exists.\n         *\n         * @param string $name\n         * @return bool\n         * @static\n         */\n        public static function hasMiddlewareGroup($name)\n        {\n            return \\Illuminate\\Routing\\Router::hasMiddlewareGroup($name);\n        }\n\n        /**\n         * Get all of the defined middleware groups.\n         *\n         * @return array\n         * @static\n         */\n        public static function getMiddlewareGroups()\n        {\n            return \\Illuminate\\Routing\\Router::getMiddlewareGroups();\n        }\n\n        /**\n         * Register a group of middleware.\n         *\n         * @param string $name\n         * @param array $middleware\n         * @return $this\n         * @static\n         */\n        public static function middlewareGroup($name, $middleware)\n        {\n            return \\Illuminate\\Routing\\Router::middlewareGroup($name, $middleware);\n        }\n\n        /**\n         * Add a middleware to the beginning of a middleware group.\n         *\n         * If the middleware is already in the group, it will not be added again.\n         *\n         * @param string $group\n         * @param string $middleware\n         * @return $this\n         * @static\n         */\n        public static function prependMiddlewareToGroup($group, $middleware)\n        {\n            return \\Illuminate\\Routing\\Router::prependMiddlewareToGroup($group, $middleware);\n        }\n\n        /**\n         * Add a middleware to the end of a middleware group.\n         *\n         * If the middleware is already in the group, it will not be added again.\n         *\n         * @param string $group\n         * @param string $middleware\n         * @return $this\n         * @static\n         */\n        public static function pushMiddlewareToGroup($group, $middleware)\n        {\n            return \\Illuminate\\Routing\\Router::pushMiddlewareToGroup($group, $middleware);\n        }\n\n        /**\n         * Add a new route parameter binder.\n         *\n         * @param string $key\n         * @param string|callable $binder\n         * @return void\n         * @static\n         */\n        public static function bind($key, $binder)\n        {\n            \\Illuminate\\Routing\\Router::bind($key, $binder);\n        }\n\n        /**\n         * Register a model binder for a wildcard.\n         *\n         * @param string $key\n         * @param string $class\n         * @param \\Closure|null $callback\n         * @return void\n         * @throws \\Illuminate\\Database\\Eloquent\\ModelNotFoundException\n         * @static\n         */\n        public static function model($key, $class, $callback = null)\n        {\n            \\Illuminate\\Routing\\Router::model($key, $class, $callback);\n        }\n\n        /**\n         * Get the binding callback for a given binding.\n         *\n         * @param string $key\n         * @return \\Closure|null\n         * @static\n         */\n        public static function getBindingCallback($key)\n        {\n            return \\Illuminate\\Routing\\Router::getBindingCallback($key);\n        }\n\n        /**\n         * Get the global \"where\" patterns.\n         *\n         * @return array\n         * @static\n         */\n        public static function getPatterns()\n        {\n            return \\Illuminate\\Routing\\Router::getPatterns();\n        }\n\n        /**\n         * Set a global where pattern on all routes.\n         *\n         * @param string $key\n         * @param string $pattern\n         * @return void\n         * @static\n         */\n        public static function pattern($key, $pattern)\n        {\n            \\Illuminate\\Routing\\Router::pattern($key, $pattern);\n        }\n\n        /**\n         * Set a group of global where patterns on all routes.\n         *\n         * @param array $patterns\n         * @return void\n         * @static\n         */\n        public static function patterns($patterns)\n        {\n            \\Illuminate\\Routing\\Router::patterns($patterns);\n        }\n\n        /**\n         * Determine if the router currently has a group stack.\n         *\n         * @return bool\n         * @static\n         */\n        public static function hasGroupStack()\n        {\n            return \\Illuminate\\Routing\\Router::hasGroupStack();\n        }\n\n        /**\n         * Get the current group stack for the router.\n         *\n         * @return array\n         * @static\n         */\n        public static function getGroupStack()\n        {\n            return \\Illuminate\\Routing\\Router::getGroupStack();\n        }\n\n        /**\n         * Get a route parameter for the current route.\n         *\n         * @param string $key\n         * @param string $default\n         * @return mixed\n         * @static\n         */\n        public static function input($key, $default = null)\n        {\n            return \\Illuminate\\Routing\\Router::input($key, $default);\n        }\n\n        /**\n         * Get the request currently being dispatched.\n         *\n         * @return \\Illuminate\\Http\\Request\n         * @static\n         */\n        public static function getCurrentRequest()\n        {\n            return \\Illuminate\\Routing\\Router::getCurrentRequest();\n        }\n\n        /**\n         * Get the currently dispatched route instance.\n         *\n         * @return \\Illuminate\\Routing\\Route\n         * @static\n         */\n        public static function getCurrentRoute()\n        {\n            return \\Illuminate\\Routing\\Router::getCurrentRoute();\n        }\n\n        /**\n         * Get the currently dispatched route instance.\n         *\n         * @return \\Illuminate\\Routing\\Route\n         * @static\n         */\n        public static function current()\n        {\n            return \\Illuminate\\Routing\\Router::current();\n        }\n\n        /**\n         * Check if a route with the given name exists.\n         *\n         * @param string $name\n         * @return bool\n         * @static\n         */\n        public static function has($name)\n        {\n            return \\Illuminate\\Routing\\Router::has($name);\n        }\n\n        /**\n         * Get the current route name.\n         *\n         * @return string|null\n         * @static\n         */\n        public static function currentRouteName()\n        {\n            return \\Illuminate\\Routing\\Router::currentRouteName();\n        }\n\n        /**\n         * Alias for the \"currentRouteNamed\" method.\n         *\n         * @return bool\n         * @static\n         */\n        public static function is()\n        {\n            return \\Illuminate\\Routing\\Router::is();\n        }\n\n        /**\n         * Determine if the current route matches a given name.\n         *\n         * @param string $name\n         * @return bool\n         * @static\n         */\n        public static function currentRouteNamed($name)\n        {\n            return \\Illuminate\\Routing\\Router::currentRouteNamed($name);\n        }\n\n        /**\n         * Get the current route action.\n         *\n         * @return string|null\n         * @static\n         */\n        public static function currentRouteAction()\n        {\n            return \\Illuminate\\Routing\\Router::currentRouteAction();\n        }\n\n        /**\n         * Alias for the \"currentRouteUses\" method.\n         *\n         * @return bool\n         * @static\n         */\n        public static function uses()\n        {\n            return \\Illuminate\\Routing\\Router::uses();\n        }\n\n        /**\n         * Determine if the current route action matches a given action.\n         *\n         * @param string $action\n         * @return bool\n         * @static\n         */\n        public static function currentRouteUses($action)\n        {\n            return \\Illuminate\\Routing\\Router::currentRouteUses($action);\n        }\n\n        /**\n         * Register the typical authentication routes for an application.\n         *\n         * @return void\n         * @static\n         */\n        public static function auth()\n        {\n            \\Illuminate\\Routing\\Router::auth();\n        }\n\n        /**\n         * Set the unmapped global resource parameters to singular.\n         *\n         * @param bool $singular\n         * @return void\n         * @static\n         */\n        public static function singularResourceParameters($singular = true)\n        {\n            \\Illuminate\\Routing\\Router::singularResourceParameters($singular);\n        }\n\n        /**\n         * Set the global resource parameter mapping.\n         *\n         * @param array $parameters\n         * @return void\n         * @static\n         */\n        public static function resourceParameters($parameters = [])\n        {\n            \\Illuminate\\Routing\\Router::resourceParameters($parameters);\n        }\n\n        /**\n         * Get or set the verbs used in the resource URIs.\n         *\n         * @param array $verbs\n         * @return array|null\n         * @static\n         */\n        public static function resourceVerbs($verbs = [])\n        {\n            return \\Illuminate\\Routing\\Router::resourceVerbs($verbs);\n        }\n\n        /**\n         * Get the underlying route collection.\n         *\n         * @return \\Illuminate\\Routing\\RouteCollection\n         * @static\n         */\n        public static function getRoutes()\n        {\n            return \\Illuminate\\Routing\\Router::getRoutes();\n        }\n\n        /**\n         * Set the route collection instance.\n         *\n         * @param \\Illuminate\\Routing\\RouteCollection $routes\n         * @return void\n         * @static\n         */\n        public static function setRoutes($routes)\n        {\n            \\Illuminate\\Routing\\Router::setRoutes($routes);\n        }\n\n        /**\n         * Register a custom macro.\n         *\n         * @param string $name\n         * @param callable $macro\n         * @return void\n         * @static\n         */\n        public static function macro($name, $macro)\n        {\n            \\Illuminate\\Routing\\Router::macro($name, $macro);\n        }\n\n        /**\n         * Checks if macro is registered.\n         *\n         * @param string $name\n         * @return bool\n         * @static\n         */\n        public static function hasMacro($name)\n        {\n            return \\Illuminate\\Routing\\Router::hasMacro($name);\n        }\n\n        /**\n         * Dynamically handle calls to the class.\n         *\n         * @param string $method\n         * @param array $parameters\n         * @return mixed\n         * @throws \\BadMethodCallException\n         * @static\n         */\n        public static function macroCall($method, $parameters)\n        {\n            return \\Illuminate\\Routing\\Router::macroCall($method, $parameters);\n        }\n    }\n\n\n    class Schema extends \\Illuminate\\Support\\Facades\\Schema\n    {\n        /**\n         * Determine if the given table exists.\n         *\n         * @param string $table\n         * @return bool\n         * @static\n         */\n        public static function hasTable($table)\n        {\n            return \\Illuminate\\Database\\Schema\\MySqlBuilder::hasTable($table);\n        }\n\n        /**\n         * Get the column listing for a given table.\n         *\n         * @param string $table\n         * @return array\n         * @static\n         */\n        public static function getColumnListing($table)\n        {\n            return \\Illuminate\\Database\\Schema\\MySqlBuilder::getColumnListing($table);\n        }\n\n        /**\n         * Set the default string length for migrations.\n         *\n         * @param int $length\n         * @return void\n         * @static\n         */\n        public static function defaultStringLength($length)\n        {\n            //Method inherited from \\Illuminate\\Database\\Schema\\Builder\n            \\Illuminate\\Database\\Schema\\MySqlBuilder::defaultStringLength($length);\n        }\n\n        /**\n         * Determine if the given table has a given column.\n         *\n         * @param string $table\n         * @param string $column\n         * @return bool\n         * @static\n         */\n        public static function hasColumn($table, $column)\n        {\n            //Method inherited from \\Illuminate\\Database\\Schema\\Builder\n            return \\Illuminate\\Database\\Schema\\MySqlBuilder::hasColumn($table, $column);\n        }\n\n        /**\n         * Determine if the given table has given columns.\n         *\n         * @param string $table\n         * @param array $columns\n         * @return bool\n         * @static\n         */\n        public static function hasColumns($table, $columns)\n        {\n            //Method inherited from \\Illuminate\\Database\\Schema\\Builder\n            return \\Illuminate\\Database\\Schema\\MySqlBuilder::hasColumns($table, $columns);\n        }\n\n        /**\n         * Get the data type for the given column name.\n         *\n         * @param string $table\n         * @param string $column\n         * @return string\n         * @static\n         */\n        public static function getColumnType($table, $column)\n        {\n            //Method inherited from \\Illuminate\\Database\\Schema\\Builder\n            return \\Illuminate\\Database\\Schema\\MySqlBuilder::getColumnType($table, $column);\n        }\n\n        /**\n         * Modify a table on the schema.\n         *\n         * @param string $table\n         * @param \\Closure $callback\n         * @return void\n         * @static\n         */\n        public static function table($table, $callback)\n        {\n            //Method inherited from \\Illuminate\\Database\\Schema\\Builder\n            \\Illuminate\\Database\\Schema\\MySqlBuilder::table($table, $callback);\n        }\n\n        /**\n         * Create a new table on the schema.\n         *\n         * @param string $table\n         * @param \\Closure $callback\n         * @return void\n         * @static\n         */\n        public static function create($table, $callback)\n        {\n            //Method inherited from \\Illuminate\\Database\\Schema\\Builder\n            \\Illuminate\\Database\\Schema\\MySqlBuilder::create($table, $callback);\n        }\n\n        /**\n         * Drop a table from the schema.\n         *\n         * @param string $table\n         * @return void\n         * @static\n         */\n        public static function drop($table)\n        {\n            //Method inherited from \\Illuminate\\Database\\Schema\\Builder\n            \\Illuminate\\Database\\Schema\\MySqlBuilder::drop($table);\n        }\n\n        /**\n         * Drop a table from the schema if it exists.\n         *\n         * @param string $table\n         * @return void\n         * @static\n         */\n        public static function dropIfExists($table)\n        {\n            //Method inherited from \\Illuminate\\Database\\Schema\\Builder\n            \\Illuminate\\Database\\Schema\\MySqlBuilder::dropIfExists($table);\n        }\n\n        /**\n         * Rename a table on the schema.\n         *\n         * @param string $from\n         * @param string $to\n         * @return void\n         * @static\n         */\n        public static function rename($from, $to)\n        {\n            //Method inherited from \\Illuminate\\Database\\Schema\\Builder\n            \\Illuminate\\Database\\Schema\\MySqlBuilder::rename($from, $to);\n        }\n\n        /**\n         * Enable foreign key constraints.\n         *\n         * @return bool\n         * @static\n         */\n        public static function enableForeignKeyConstraints()\n        {\n            //Method inherited from \\Illuminate\\Database\\Schema\\Builder\n            return \\Illuminate\\Database\\Schema\\MySqlBuilder::enableForeignKeyConstraints();\n        }\n\n        /**\n         * Disable foreign key constraints.\n         *\n         * @return bool\n         * @static\n         */\n        public static function disableForeignKeyConstraints()\n        {\n            //Method inherited from \\Illuminate\\Database\\Schema\\Builder\n            return \\Illuminate\\Database\\Schema\\MySqlBuilder::disableForeignKeyConstraints();\n        }\n\n        /**\n         * Get the database connection instance.\n         *\n         * @return \\Illuminate\\Database\\Connection\n         * @static\n         */\n        public static function getConnection()\n        {\n            //Method inherited from \\Illuminate\\Database\\Schema\\Builder\n            return \\Illuminate\\Database\\Schema\\MySqlBuilder::getConnection();\n        }\n\n        /**\n         * Set the database connection instance.\n         *\n         * @param \\Illuminate\\Database\\Connection $connection\n         * @return $this\n         * @static\n         */\n        public static function setConnection($connection)\n        {\n            //Method inherited from \\Illuminate\\Database\\Schema\\Builder\n            return \\Illuminate\\Database\\Schema\\MySqlBuilder::setConnection($connection);\n        }\n\n        /**\n         * Set the Schema Blueprint resolver callback.\n         *\n         * @param \\Closure $resolver\n         * @return void\n         * @static\n         */\n        public static function blueprintResolver($resolver)\n        {\n            //Method inherited from \\Illuminate\\Database\\Schema\\Builder\n            \\Illuminate\\Database\\Schema\\MySqlBuilder::blueprintResolver($resolver);\n        }\n    }\n\n\n    class Session extends \\Illuminate\\Support\\Facades\\Session\n    {\n        /**\n         * Get the session configuration.\n         *\n         * @return array\n         * @static\n         */\n        public static function getSessionConfig()\n        {\n            return \\Illuminate\\Session\\SessionManager::getSessionConfig();\n        }\n\n        /**\n         * Get the default session driver name.\n         *\n         * @return string\n         * @static\n         */\n        public static function getDefaultDriver()\n        {\n            return \\Illuminate\\Session\\SessionManager::getDefaultDriver();\n        }\n\n        /**\n         * Set the default session driver name.\n         *\n         * @param string $name\n         * @return void\n         * @static\n         */\n        public static function setDefaultDriver($name)\n        {\n            \\Illuminate\\Session\\SessionManager::setDefaultDriver($name);\n        }\n\n        /**\n         * Get a driver instance.\n         *\n         * @param string $driver\n         * @return mixed\n         * @static\n         */\n        public static function driver($driver = null)\n        {\n            //Method inherited from \\Illuminate\\Support\\Manager\n            return \\Illuminate\\Session\\SessionManager::driver($driver);\n        }\n\n        /**\n         * Register a custom driver creator Closure.\n         *\n         * @param string $driver\n         * @param \\Closure $callback\n         * @return $this\n         * @static\n         */\n        public static function extend($driver, $callback)\n        {\n            //Method inherited from \\Illuminate\\Support\\Manager\n            return \\Illuminate\\Session\\SessionManager::extend($driver, $callback);\n        }\n\n        /**\n         * Get all of the created \"drivers\".\n         *\n         * @return array\n         * @static\n         */\n        public static function getDrivers()\n        {\n            //Method inherited from \\Illuminate\\Support\\Manager\n            return \\Illuminate\\Session\\SessionManager::getDrivers();\n        }\n\n        /**\n         * Start the session, reading the data from a handler.\n         *\n         * @return bool\n         * @static\n         */\n        public static function start()\n        {\n            return \\Illuminate\\Session\\Store::start();\n        }\n\n        /**\n         * Save the session data to storage.\n         *\n         * @return bool\n         * @static\n         */\n        public static function save()\n        {\n            return \\Illuminate\\Session\\Store::save();\n        }\n\n        /**\n         * Age the flash data for the session.\n         *\n         * @return void\n         * @static\n         */\n        public static function ageFlashData()\n        {\n            \\Illuminate\\Session\\Store::ageFlashData();\n        }\n\n        /**\n         * Get all of the session data.\n         *\n         * @return array\n         * @static\n         */\n        public static function all()\n        {\n            return \\Illuminate\\Session\\Store::all();\n        }\n\n        /**\n         * Checks if a key exists.\n         *\n         * @param string|array $key\n         * @return bool\n         * @static\n         */\n        public static function exists($key)\n        {\n            return \\Illuminate\\Session\\Store::exists($key);\n        }\n\n        /**\n         * Checks if an a key is present and not null.\n         *\n         * @param string|array $key\n         * @return bool\n         * @static\n         */\n        public static function has($key)\n        {\n            return \\Illuminate\\Session\\Store::has($key);\n        }\n\n        /**\n         * Get an item from the session.\n         *\n         * @param string $key\n         * @param mixed $default\n         * @return mixed\n         * @static\n         */\n        public static function get($key, $default = null)\n        {\n            return \\Illuminate\\Session\\Store::get($key, $default);\n        }\n\n        /**\n         * Get the value of a given key and then forget it.\n         *\n         * @param string $key\n         * @param string $default\n         * @return mixed\n         * @static\n         */\n        public static function pull($key, $default = null)\n        {\n            return \\Illuminate\\Session\\Store::pull($key, $default);\n        }\n\n        /**\n         * Determine if the session contains old input.\n         *\n         * @param string $key\n         * @return bool\n         * @static\n         */\n        public static function hasOldInput($key = null)\n        {\n            return \\Illuminate\\Session\\Store::hasOldInput($key);\n        }\n\n        /**\n         * Get the requested item from the flashed input array.\n         *\n         * @param string $key\n         * @param mixed $default\n         * @return mixed\n         * @static\n         */\n        public static function getOldInput($key = null, $default = null)\n        {\n            return \\Illuminate\\Session\\Store::getOldInput($key, $default);\n        }\n\n        /**\n         * Replace the given session attributes entirely.\n         *\n         * @param array $attributes\n         * @return void\n         * @static\n         */\n        public static function replace($attributes)\n        {\n            \\Illuminate\\Session\\Store::replace($attributes);\n        }\n\n        /**\n         * Put a key / value pair or array of key / value pairs in the session.\n         *\n         * @param string|array $key\n         * @param mixed $value\n         * @return void\n         * @static\n         */\n        public static function put($key, $value = null)\n        {\n            \\Illuminate\\Session\\Store::put($key, $value);\n        }\n\n        /**\n         * Get an item from the session, or store the default value.\n         *\n         * @param string $key\n         * @param \\Closure $callback\n         * @return mixed\n         * @static\n         */\n        public static function remember($key, $callback)\n        {\n            return \\Illuminate\\Session\\Store::remember($key, $callback);\n        }\n\n        /**\n         * Push a value onto a session array.\n         *\n         * @param string $key\n         * @param mixed $value\n         * @return void\n         * @static\n         */\n        public static function push($key, $value)\n        {\n            \\Illuminate\\Session\\Store::push($key, $value);\n        }\n\n        /**\n         * Increment the value of an item in the session.\n         *\n         * @param string $key\n         * @param int $amount\n         * @return mixed\n         * @static\n         */\n        public static function increment($key, $amount = 1)\n        {\n            return \\Illuminate\\Session\\Store::increment($key, $amount);\n        }\n\n        /**\n         * Decrement the value of an item in the session.\n         *\n         * @param string $key\n         * @param int $amount\n         * @return int\n         * @static\n         */\n        public static function decrement($key, $amount = 1)\n        {\n            return \\Illuminate\\Session\\Store::decrement($key, $amount);\n        }\n\n        /**\n         * Flash a key / value pair to the session.\n         *\n         * @param string $key\n         * @param mixed $value\n         * @return void\n         * @static\n         */\n        public static function flash($key, $value)\n        {\n            \\Illuminate\\Session\\Store::flash($key, $value);\n        }\n\n        /**\n         * Flash a key / value pair to the session for immediate use.\n         *\n         * @param string $key\n         * @param mixed $value\n         * @return void\n         * @static\n         */\n        public static function now($key, $value)\n        {\n            \\Illuminate\\Session\\Store::now($key, $value);\n        }\n\n        /**\n         * Reflash all of the session flash data.\n         *\n         * @return void\n         * @static\n         */\n        public static function reflash()\n        {\n            \\Illuminate\\Session\\Store::reflash();\n        }\n\n        /**\n         * Reflash a subset of the current flash data.\n         *\n         * @param array|mixed $keys\n         * @return void\n         * @static\n         */\n        public static function keep($keys = null)\n        {\n            \\Illuminate\\Session\\Store::keep($keys);\n        }\n\n        /**\n         * Flash an input array to the session.\n         *\n         * @param array $value\n         * @return void\n         * @static\n         */\n        public static function flashInput($value)\n        {\n            \\Illuminate\\Session\\Store::flashInput($value);\n        }\n\n        /**\n         * Remove an item from the session, returning its value.\n         *\n         * @param string $key\n         * @return mixed\n         * @static\n         */\n        public static function remove($key)\n        {\n            return \\Illuminate\\Session\\Store::remove($key);\n        }\n\n        /**\n         * Remove one or many items from the session.\n         *\n         * @param string|array $keys\n         * @return void\n         * @static\n         */\n        public static function forget($keys)\n        {\n            \\Illuminate\\Session\\Store::forget($keys);\n        }\n\n        /**\n         * Remove all of the items from the session.\n         *\n         * @return void\n         * @static\n         */\n        public static function flush()\n        {\n            \\Illuminate\\Session\\Store::flush();\n        }\n\n        /**\n         * Flush the session data and regenerate the ID.\n         *\n         * @return bool\n         * @static\n         */\n        public static function invalidate()\n        {\n            return \\Illuminate\\Session\\Store::invalidate();\n        }\n\n        /**\n         * Generate a new session identifier.\n         *\n         * @param bool $destroy\n         * @return bool\n         * @static\n         */\n        public static function regenerate($destroy = false)\n        {\n            return \\Illuminate\\Session\\Store::regenerate($destroy);\n        }\n\n        /**\n         * Generate a new session ID for the session.\n         *\n         * @param bool $destroy\n         * @return bool\n         * @static\n         */\n        public static function migrate($destroy = false)\n        {\n            return \\Illuminate\\Session\\Store::migrate($destroy);\n        }\n\n        /**\n         * Determine if the session has been started.\n         *\n         * @return bool\n         * @static\n         */\n        public static function isStarted()\n        {\n            return \\Illuminate\\Session\\Store::isStarted();\n        }\n\n        /**\n         * Get the name of the session.\n         *\n         * @return string\n         * @static\n         */\n        public static function getName()\n        {\n            return \\Illuminate\\Session\\Store::getName();\n        }\n\n        /**\n         * Set the name of the session.\n         *\n         * @param string $name\n         * @return void\n         * @static\n         */\n        public static function setName($name)\n        {\n            \\Illuminate\\Session\\Store::setName($name);\n        }\n\n        /**\n         * Get the current session ID.\n         *\n         * @return string\n         * @static\n         */\n        public static function getId()\n        {\n            return \\Illuminate\\Session\\Store::getId();\n        }\n\n        /**\n         * Set the session ID.\n         *\n         * @param string $id\n         * @return void\n         * @static\n         */\n        public static function setId($id)\n        {\n            \\Illuminate\\Session\\Store::setId($id);\n        }\n\n        /**\n         * Determine if this is a valid session ID.\n         *\n         * @param string $id\n         * @return bool\n         * @static\n         */\n        public static function isValidId($id)\n        {\n            return \\Illuminate\\Session\\Store::isValidId($id);\n        }\n\n        /**\n         * Set the existence of the session on the handler if applicable.\n         *\n         * @param bool $value\n         * @return void\n         * @static\n         */\n        public static function setExists($value)\n        {\n            \\Illuminate\\Session\\Store::setExists($value);\n        }\n\n        /**\n         * Get the CSRF token value.\n         *\n         * @return string\n         * @static\n         */\n        public static function token()\n        {\n            return \\Illuminate\\Session\\Store::token();\n        }\n\n        /**\n         * Regenerate the CSRF token value.\n         *\n         * @return void\n         * @static\n         */\n        public static function regenerateToken()\n        {\n            \\Illuminate\\Session\\Store::regenerateToken();\n        }\n\n        /**\n         * Get the previous URL from the session.\n         *\n         * @return string|null\n         * @static\n         */\n        public static function previousUrl()\n        {\n            return \\Illuminate\\Session\\Store::previousUrl();\n        }\n\n        /**\n         * Set the \"previous\" URL in the session.\n         *\n         * @param string $url\n         * @return void\n         * @static\n         */\n        public static function setPreviousUrl($url)\n        {\n            \\Illuminate\\Session\\Store::setPreviousUrl($url);\n        }\n\n        /**\n         * Get the underlying session handler implementation.\n         *\n         * @return \\SessionHandlerInterface\n         * @static\n         */\n        public static function getHandler()\n        {\n            return \\Illuminate\\Session\\Store::getHandler();\n        }\n\n        /**\n         * Determine if the session handler needs a request.\n         *\n         * @return bool\n         * @static\n         */\n        public static function handlerNeedsRequest()\n        {\n            return \\Illuminate\\Session\\Store::handlerNeedsRequest();\n        }\n\n        /**\n         * Set the request on the handler instance.\n         *\n         * @param \\Illuminate\\Http\\Request $request\n         * @return void\n         * @static\n         */\n        public static function setRequestOnHandler($request)\n        {\n            \\Illuminate\\Session\\Store::setRequestOnHandler($request);\n        }\n    }\n\n\n    class Storage extends \\Illuminate\\Support\\Facades\\Storage\n    {\n        /**\n         * Get a filesystem instance.\n         *\n         * @param string $name\n         * @return \\Illuminate\\Filesystem\\FilesystemAdapter\n         * @static\n         */\n        public static function drive($name = null)\n        {\n            return \\Illuminate\\Filesystem\\FilesystemManager::drive($name);\n        }\n\n        /**\n         * Get a filesystem instance.\n         *\n         * @param string $name\n         * @return \\Illuminate\\Filesystem\\FilesystemAdapter\n         * @static\n         */\n        public static function disk($name = null)\n        {\n            return \\Illuminate\\Filesystem\\FilesystemManager::disk($name);\n        }\n\n        /**\n         * Get a default cloud filesystem instance.\n         *\n         * @return \\Illuminate\\Filesystem\\FilesystemAdapter\n         * @static\n         */\n        public static function cloud()\n        {\n            return \\Illuminate\\Filesystem\\FilesystemManager::cloud();\n        }\n\n        /**\n         * Create an instance of the local driver.\n         *\n         * @param array $config\n         * @return \\Illuminate\\Filesystem\\FilesystemAdapter\n         * @static\n         */\n        public static function createLocalDriver($config)\n        {\n            return \\Illuminate\\Filesystem\\FilesystemManager::createLocalDriver($config);\n        }\n\n        /**\n         * Create an instance of the ftp driver.\n         *\n         * @param array $config\n         * @return \\Illuminate\\Filesystem\\FilesystemAdapter\n         * @static\n         */\n        public static function createFtpDriver($config)\n        {\n            return \\Illuminate\\Filesystem\\FilesystemManager::createFtpDriver($config);\n        }\n\n        /**\n         * Create an instance of the Amazon S3 driver.\n         *\n         * @param array $config\n         * @return \\Illuminate\\Contracts\\Filesystem\\Cloud\n         * @static\n         */\n        public static function createS3Driver($config)\n        {\n            return \\Illuminate\\Filesystem\\FilesystemManager::createS3Driver($config);\n        }\n\n        /**\n         * Create an instance of the Rackspace driver.\n         *\n         * @param array $config\n         * @return \\Illuminate\\Contracts\\Filesystem\\Cloud\n         * @static\n         */\n        public static function createRackspaceDriver($config)\n        {\n            return \\Illuminate\\Filesystem\\FilesystemManager::createRackspaceDriver($config);\n        }\n\n        /**\n         * Get the default driver name.\n         *\n         * @return string\n         * @static\n         */\n        public static function getDefaultDriver()\n        {\n            return \\Illuminate\\Filesystem\\FilesystemManager::getDefaultDriver();\n        }\n\n        /**\n         * Get the default cloud driver name.\n         *\n         * @return string\n         * @static\n         */\n        public static function getDefaultCloudDriver()\n        {\n            return \\Illuminate\\Filesystem\\FilesystemManager::getDefaultCloudDriver();\n        }\n\n        /**\n         * Register a custom driver creator Closure.\n         *\n         * @param string $driver\n         * @param \\Closure $callback\n         * @return $this\n         * @static\n         */\n        public static function extend($driver, $callback)\n        {\n            return \\Illuminate\\Filesystem\\FilesystemManager::extend($driver, $callback);\n        }\n\n        /**\n         * Determine if a file exists.\n         *\n         * @param string $path\n         * @return bool\n         * @static\n         */\n        public static function exists($path)\n        {\n            return \\Illuminate\\Filesystem\\FilesystemAdapter::exists($path);\n        }\n\n        /**\n         * Get the contents of a file.\n         *\n         * @param string $path\n         * @return string\n         * @throws \\Illuminate\\Contracts\\Filesystem\\FileNotFoundException\n         * @static\n         */\n        public static function get($path)\n        {\n            return \\Illuminate\\Filesystem\\FilesystemAdapter::get($path);\n        }\n\n        /**\n         * Write the contents of a file.\n         *\n         * @param string $path\n         * @param string|resource $contents\n         * @param array $options\n         * @return bool\n         * @static\n         */\n        public static function put($path, $contents, $options = [])\n        {\n            return \\Illuminate\\Filesystem\\FilesystemAdapter::put($path, $contents, $options);\n        }\n\n        /**\n         * Store the uploaded file on the disk.\n         *\n         * @param string $path\n         * @param \\Illuminate\\Http\\UploadedFile $file\n         * @param array $options\n         * @return string|false\n         * @static\n         */\n        public static function putFile($path, $file, $options = [])\n        {\n            return \\Illuminate\\Filesystem\\FilesystemAdapter::putFile($path, $file, $options);\n        }\n\n        /**\n         * Store the uploaded file on the disk with a given name.\n         *\n         * @param string $path\n         * @param \\Illuminate\\Http\\File|\\Illuminate\\Http\\UploadedFile $file\n         * @param string $name\n         * @param array $options\n         * @return string|false\n         * @static\n         */\n        public static function putFileAs($path, $file, $name, $options = [])\n        {\n            return \\Illuminate\\Filesystem\\FilesystemAdapter::putFileAs($path, $file, $name, $options);\n        }\n\n        /**\n         * Get the visibility for the given path.\n         *\n         * @param string $path\n         * @return string\n         * @static\n         */\n        public static function getVisibility($path)\n        {\n            return \\Illuminate\\Filesystem\\FilesystemAdapter::getVisibility($path);\n        }\n\n        /**\n         * Set the visibility for the given path.\n         *\n         * @param string $path\n         * @param string $visibility\n         * @return void\n         * @static\n         */\n        public static function setVisibility($path, $visibility)\n        {\n            \\Illuminate\\Filesystem\\FilesystemAdapter::setVisibility($path, $visibility);\n        }\n\n        /**\n         * Prepend to a file.\n         *\n         * @param string $path\n         * @param string $data\n         * @param string $separator\n         * @return int\n         * @static\n         */\n        public static function prepend($path, $data, $separator = '')\n        {\n            return \\Illuminate\\Filesystem\\FilesystemAdapter::prepend($path, $data, $separator);\n        }\n\n        /**\n         * Append to a file.\n         *\n         * @param string $path\n         * @param string $data\n         * @param string $separator\n         * @return int\n         * @static\n         */\n        public static function append($path, $data, $separator = '')\n        {\n            return \\Illuminate\\Filesystem\\FilesystemAdapter::append($path, $data, $separator);\n        }\n\n        /**\n         * Delete the file at a given path.\n         *\n         * @param string|array $paths\n         * @return bool\n         * @static\n         */\n        public static function delete($paths)\n        {\n            return \\Illuminate\\Filesystem\\FilesystemAdapter::delete($paths);\n        }\n\n        /**\n         * Copy a file to a new location.\n         *\n         * @param string $from\n         * @param string $to\n         * @return bool\n         * @static\n         */\n        public static function copy($from, $to)\n        {\n            return \\Illuminate\\Filesystem\\FilesystemAdapter::copy($from, $to);\n        }\n\n        /**\n         * Move a file to a new location.\n         *\n         * @param string $from\n         * @param string $to\n         * @return bool\n         * @static\n         */\n        public static function move($from, $to)\n        {\n            return \\Illuminate\\Filesystem\\FilesystemAdapter::move($from, $to);\n        }\n\n        /**\n         * Get the file size of a given file.\n         *\n         * @param string $path\n         * @return int\n         * @static\n         */\n        public static function size($path)\n        {\n            return \\Illuminate\\Filesystem\\FilesystemAdapter::size($path);\n        }\n\n        /**\n         * Get the mime-type of a given file.\n         *\n         * @param string $path\n         * @return string|false\n         * @static\n         */\n        public static function mimeType($path)\n        {\n            return \\Illuminate\\Filesystem\\FilesystemAdapter::mimeType($path);\n        }\n\n        /**\n         * Get the file's last modification time.\n         *\n         * @param string $path\n         * @return int\n         * @static\n         */\n        public static function lastModified($path)\n        {\n            return \\Illuminate\\Filesystem\\FilesystemAdapter::lastModified($path);\n        }\n\n        /**\n         * Get the URL for the file at the given path.\n         *\n         * @param string $path\n         * @return string\n         * @static\n         */\n        public static function url($path)\n        {\n            return \\Illuminate\\Filesystem\\FilesystemAdapter::url($path);\n        }\n\n        /**\n         * Get an array of all files in a directory.\n         *\n         * @param string|null $directory\n         * @param bool $recursive\n         * @return array\n         * @static\n         */\n        public static function files($directory = null, $recursive = false)\n        {\n            return \\Illuminate\\Filesystem\\FilesystemAdapter::files($directory, $recursive);\n        }\n\n        /**\n         * Get all of the files from the given directory (recursive).\n         *\n         * @param string|null $directory\n         * @return array\n         * @static\n         */\n        public static function allFiles($directory = null)\n        {\n            return \\Illuminate\\Filesystem\\FilesystemAdapter::allFiles($directory);\n        }\n\n        /**\n         * Get all of the directories within a given directory.\n         *\n         * @param string|null $directory\n         * @param bool $recursive\n         * @return array\n         * @static\n         */\n        public static function directories($directory = null, $recursive = false)\n        {\n            return \\Illuminate\\Filesystem\\FilesystemAdapter::directories($directory, $recursive);\n        }\n\n        /**\n         * Get all (recursive) of the directories within a given directory.\n         *\n         * @param string|null $directory\n         * @return array\n         * @static\n         */\n        public static function allDirectories($directory = null)\n        {\n            return \\Illuminate\\Filesystem\\FilesystemAdapter::allDirectories($directory);\n        }\n\n        /**\n         * Create a directory.\n         *\n         * @param string $path\n         * @return bool\n         * @static\n         */\n        public static function makeDirectory($path)\n        {\n            return \\Illuminate\\Filesystem\\FilesystemAdapter::makeDirectory($path);\n        }\n\n        /**\n         * Recursively delete a directory.\n         *\n         * @param string $directory\n         * @return bool\n         * @static\n         */\n        public static function deleteDirectory($directory)\n        {\n            return \\Illuminate\\Filesystem\\FilesystemAdapter::deleteDirectory($directory);\n        }\n\n        /**\n         * Get the Flysystem driver.\n         *\n         * @return \\League\\Flysystem\\FilesystemInterface\n         * @static\n         */\n        public static function getDriver()\n        {\n            return \\Illuminate\\Filesystem\\FilesystemAdapter::getDriver();\n        }\n    }\n\n\n    class URL extends \\Illuminate\\Support\\Facades\\URL\n    {\n        /**\n         * Get the full URL for the current request.\n         *\n         * @return string\n         * @static\n         */\n        public static function full()\n        {\n            return \\Illuminate\\Routing\\UrlGenerator::full();\n        }\n\n        /**\n         * Get the current URL for the request.\n         *\n         * @return string\n         * @static\n         */\n        public static function current()\n        {\n            return \\Illuminate\\Routing\\UrlGenerator::current();\n        }\n\n        /**\n         * Get the URL for the previous request.\n         *\n         * @param mixed $fallback\n         * @return string\n         * @static\n         */\n        public static function previous($fallback = false)\n        {\n            return \\Illuminate\\Routing\\UrlGenerator::previous($fallback);\n        }\n\n        /**\n         * Generate an absolute URL to the given path.\n         *\n         * @param string $path\n         * @param mixed $extra\n         * @param bool|null $secure\n         * @return string\n         * @static\n         */\n        public static function to($path, $extra = [], $secure = null)\n        {\n            return \\Illuminate\\Routing\\UrlGenerator::to($path, $extra, $secure);\n        }\n\n        /**\n         * Generate a secure, absolute URL to the given path.\n         *\n         * @param string $path\n         * @param array $parameters\n         * @return string\n         * @static\n         */\n        public static function secure($path, $parameters = [])\n        {\n            return \\Illuminate\\Routing\\UrlGenerator::secure($path, $parameters);\n        }\n\n        /**\n         * Generate the URL to an application asset.\n         *\n         * @param string $path\n         * @param bool|null $secure\n         * @return string\n         * @static\n         */\n        public static function asset($path, $secure = null)\n        {\n            return \\Illuminate\\Routing\\UrlGenerator::asset($path, $secure);\n        }\n\n        /**\n         * Generate the URL to a secure asset.\n         *\n         * @param string $path\n         * @return string\n         * @static\n         */\n        public static function secureAsset($path)\n        {\n            return \\Illuminate\\Routing\\UrlGenerator::secureAsset($path);\n        }\n\n        /**\n         * Generate the URL to an asset from a custom root domain such as CDN, etc.\n         *\n         * @param string $root\n         * @param string $path\n         * @param bool|null $secure\n         * @return string\n         * @static\n         */\n        public static function assetFrom($root, $path, $secure = null)\n        {\n            return \\Illuminate\\Routing\\UrlGenerator::assetFrom($root, $path, $secure);\n        }\n\n        /**\n         * Get the default scheme for a raw URL.\n         *\n         * @param bool|null $secure\n         * @return string\n         * @static\n         */\n        public static function formatScheme($secure)\n        {\n            return \\Illuminate\\Routing\\UrlGenerator::formatScheme($secure);\n        }\n\n        /**\n         * Get the URL to a named route.\n         *\n         * @param string $name\n         * @param mixed $parameters\n         * @param bool $absolute\n         * @return string\n         * @throws \\InvalidArgumentException\n         * @static\n         */\n        public static function route($name, $parameters = [], $absolute = true)\n        {\n            return \\Illuminate\\Routing\\UrlGenerator::route($name, $parameters, $absolute);\n        }\n\n        /**\n         * Get the URL to a controller action.\n         *\n         * @param string $action\n         * @param mixed $parameters\n         * @param bool $absolute\n         * @return string\n         * @throws \\InvalidArgumentException\n         * @static\n         */\n        public static function action($action, $parameters = [], $absolute = true)\n        {\n            return \\Illuminate\\Routing\\UrlGenerator::action($action, $parameters, $absolute);\n        }\n\n        /**\n         * Format the array of URL parameters.\n         *\n         * @param mixed|array $parameters\n         * @return array\n         * @static\n         */\n        public static function formatParameters($parameters)\n        {\n            return \\Illuminate\\Routing\\UrlGenerator::formatParameters($parameters);\n        }\n\n        /**\n         * Get the base URL for the request.\n         *\n         * @param string $scheme\n         * @param string $root\n         * @return string\n         * @static\n         */\n        public static function formatRoot($scheme, $root = null)\n        {\n            return \\Illuminate\\Routing\\UrlGenerator::formatRoot($scheme, $root);\n        }\n\n        /**\n         * Format the given URL segments into a single URL.\n         *\n         * @param string $root\n         * @param string $path\n         * @return string\n         * @static\n         */\n        public static function format($root, $path)\n        {\n            return \\Illuminate\\Routing\\UrlGenerator::format($root, $path);\n        }\n\n        /**\n         * Determine if the given path is a valid URL.\n         *\n         * @param string $path\n         * @return bool\n         * @static\n         */\n        public static function isValidUrl($path)\n        {\n            return \\Illuminate\\Routing\\UrlGenerator::isValidUrl($path);\n        }\n\n        /**\n         * Set the default named parameters used by the URL generator.\n         *\n         * @param array $defaults\n         * @return void\n         * @static\n         */\n        public static function defaults($defaults)\n        {\n            \\Illuminate\\Routing\\UrlGenerator::defaults($defaults);\n        }\n\n        /**\n         * Force the scheme for URLs.\n         *\n         * @param string $schema\n         * @return void\n         * @static\n         */\n        public static function forceScheme($schema)\n        {\n            \\Illuminate\\Routing\\UrlGenerator::forceScheme($schema);\n        }\n\n        /**\n         * Set the forced root URL.\n         *\n         * @param string $root\n         * @return void\n         * @static\n         */\n        public static function forceRootUrl($root)\n        {\n            \\Illuminate\\Routing\\UrlGenerator::forceRootUrl($root);\n        }\n\n        /**\n         * Set a callback to be used to format the host of generated URLs.\n         *\n         * @param \\Closure $callback\n         * @return $this\n         * @static\n         */\n        public static function formatHostUsing($callback)\n        {\n            return \\Illuminate\\Routing\\UrlGenerator::formatHostUsing($callback);\n        }\n\n        /**\n         * Set a callback to be used to format the path of generated URLs.\n         *\n         * @param \\Closure $callback\n         * @return $this\n         * @static\n         */\n        public static function formatPathUsing($callback)\n        {\n            return \\Illuminate\\Routing\\UrlGenerator::formatPathUsing($callback);\n        }\n\n        /**\n         * Get the path formatter being used by the URL generator.\n         *\n         * @return \\Closure\n         * @static\n         */\n        public static function pathFormatter()\n        {\n            return \\Illuminate\\Routing\\UrlGenerator::pathFormatter();\n        }\n\n        /**\n         * Get the request instance.\n         *\n         * @return \\Illuminate\\Http\\Request\n         * @static\n         */\n        public static function getRequest()\n        {\n            return \\Illuminate\\Routing\\UrlGenerator::getRequest();\n        }\n\n        /**\n         * Set the current request instance.\n         *\n         * @param \\Illuminate\\Http\\Request $request\n         * @return void\n         * @static\n         */\n        public static function setRequest($request)\n        {\n            \\Illuminate\\Routing\\UrlGenerator::setRequest($request);\n        }\n\n        /**\n         * Set the route collection.\n         *\n         * @param \\Illuminate\\Routing\\RouteCollection $routes\n         * @return $this\n         * @static\n         */\n        public static function setRoutes($routes)\n        {\n            return \\Illuminate\\Routing\\UrlGenerator::setRoutes($routes);\n        }\n\n        /**\n         * Set the session resolver for the generator.\n         *\n         * @param callable $sessionResolver\n         * @return $this\n         * @static\n         */\n        public static function setSessionResolver($sessionResolver)\n        {\n            return \\Illuminate\\Routing\\UrlGenerator::setSessionResolver($sessionResolver);\n        }\n\n        /**\n         * Set the root controller namespace.\n         *\n         * @param string $rootNamespace\n         * @return $this\n         * @static\n         */\n        public static function setRootControllerNamespace($rootNamespace)\n        {\n            return \\Illuminate\\Routing\\UrlGenerator::setRootControllerNamespace($rootNamespace);\n        }\n\n        /**\n         * Register a custom macro.\n         *\n         * @param string $name\n         * @param callable $macro\n         * @return void\n         * @static\n         */\n        public static function macro($name, $macro)\n        {\n            \\Illuminate\\Routing\\UrlGenerator::macro($name, $macro);\n        }\n\n        /**\n         * Checks if macro is registered.\n         *\n         * @param string $name\n         * @return bool\n         * @static\n         */\n        public static function hasMacro($name)\n        {\n            return \\Illuminate\\Routing\\UrlGenerator::hasMacro($name);\n        }\n    }\n\n\n    class Validator extends \\Illuminate\\Support\\Facades\\Validator\n    {\n        /**\n         * Create a new Validator instance.\n         *\n         * @param array $data\n         * @param array $rules\n         * @param array $messages\n         * @param array $customAttributes\n         * @return \\Illuminate\\Validation\\Validator\n         * @static\n         */\n        public static function make($data, $rules, $messages = [], $customAttributes = [])\n        {\n            return \\Illuminate\\Validation\\Factory::make($data, $rules, $messages, $customAttributes);\n        }\n\n        /**\n         * Validate the given data against the provided rules.\n         *\n         * @param array $data\n         * @param array $rules\n         * @param array $messages\n         * @param array $customAttributes\n         * @return void\n         * @throws \\Illuminate\\Validation\\ValidationException\n         * @static\n         */\n        public static function validate($data, $rules, $messages = [], $customAttributes = [])\n        {\n            \\Illuminate\\Validation\\Factory::validate($data, $rules, $messages, $customAttributes);\n        }\n\n        /**\n         * Register a custom validator extension.\n         *\n         * @param string $rule\n         * @param \\Closure|string $extension\n         * @param string $message\n         * @return void\n         * @static\n         */\n        public static function extend($rule, $extension, $message = null)\n        {\n            \\Illuminate\\Validation\\Factory::extend($rule, $extension, $message);\n        }\n\n        /**\n         * Register a custom implicit validator extension.\n         *\n         * @param string $rule\n         * @param \\Closure|string $extension\n         * @param string $message\n         * @return void\n         * @static\n         */\n        public static function extendImplicit($rule, $extension, $message = null)\n        {\n            \\Illuminate\\Validation\\Factory::extendImplicit($rule, $extension, $message);\n        }\n\n        /**\n         * Register a custom implicit validator message replacer.\n         *\n         * @param string $rule\n         * @param \\Closure|string $replacer\n         * @return void\n         * @static\n         */\n        public static function replacer($rule, $replacer)\n        {\n            \\Illuminate\\Validation\\Factory::replacer($rule, $replacer);\n        }\n\n        /**\n         * Set the Validator instance resolver.\n         *\n         * @param \\Closure $resolver\n         * @return void\n         * @static\n         */\n        public static function resolver($resolver)\n        {\n            \\Illuminate\\Validation\\Factory::resolver($resolver);\n        }\n\n        /**\n         * Get the Translator implementation.\n         *\n         * @return \\Illuminate\\Contracts\\Translation\\Translator\n         * @static\n         */\n        public static function getTranslator()\n        {\n            return \\Illuminate\\Validation\\Factory::getTranslator();\n        }\n\n        /**\n         * Get the Presence Verifier implementation.\n         *\n         * @return \\Illuminate\\Validation\\PresenceVerifierInterface\n         * @static\n         */\n        public static function getPresenceVerifier()\n        {\n            return \\Illuminate\\Validation\\Factory::getPresenceVerifier();\n        }\n\n        /**\n         * Set the Presence Verifier implementation.\n         *\n         * @param \\Illuminate\\Validation\\PresenceVerifierInterface $presenceVerifier\n         * @return void\n         * @static\n         */\n        public static function setPresenceVerifier($presenceVerifier)\n        {\n            \\Illuminate\\Validation\\Factory::setPresenceVerifier($presenceVerifier);\n        }\n    }\n\n\n    class View extends \\Illuminate\\Support\\Facades\\View\n    {\n        /**\n         * Get the evaluated view contents for the given view.\n         *\n         * @param string $path\n         * @param array $data\n         * @param array $mergeData\n         * @return \\Illuminate\\Contracts\\View\\View\n         * @static\n         */\n        public static function file($path, $data = [], $mergeData = [])\n        {\n            return \\Illuminate\\View\\Factory::file($path, $data, $mergeData);\n        }\n\n        /**\n         * Get the evaluated view contents for the given view.\n         *\n         * @param string $view\n         * @param array $data\n         * @param array $mergeData\n         * @return \\Illuminate\\Contracts\\View\\View\n         * @static\n         */\n        public static function make($view, $data = [], $mergeData = [])\n        {\n            return \\Illuminate\\View\\Factory::make($view, $data, $mergeData);\n        }\n\n        /**\n         * Get the rendered contents of a partial from a loop.\n         *\n         * @param string $view\n         * @param array $data\n         * @param string $iterator\n         * @param string $empty\n         * @return string\n         * @static\n         */\n        public static function renderEach($view, $data, $iterator, $empty = 'raw|')\n        {\n            return \\Illuminate\\View\\Factory::renderEach($view, $data, $iterator, $empty);\n        }\n\n        /**\n         * Determine if a given view exists.\n         *\n         * @param string $view\n         * @return bool\n         * @static\n         */\n        public static function exists($view)\n        {\n            return \\Illuminate\\View\\Factory::exists($view);\n        }\n\n        /**\n         * Get the appropriate view engine for the given path.\n         *\n         * @param string $path\n         * @return \\Illuminate\\View\\Engines\\EngineInterface\n         * @throws \\InvalidArgumentException\n         * @static\n         */\n        public static function getEngineFromPath($path)\n        {\n            return \\Illuminate\\View\\Factory::getEngineFromPath($path);\n        }\n\n        /**\n         * Add a piece of shared data to the environment.\n         *\n         * @param array|string $key\n         * @param mixed $value\n         * @return mixed\n         * @static\n         */\n        public static function share($key, $value = null)\n        {\n            return \\Illuminate\\View\\Factory::share($key, $value);\n        }\n\n        /**\n         * Increment the rendering counter.\n         *\n         * @return void\n         * @static\n         */\n        public static function incrementRender()\n        {\n            \\Illuminate\\View\\Factory::incrementRender();\n        }\n\n        /**\n         * Decrement the rendering counter.\n         *\n         * @return void\n         * @static\n         */\n        public static function decrementRender()\n        {\n            \\Illuminate\\View\\Factory::decrementRender();\n        }\n\n        /**\n         * Check if there are no active render operations.\n         *\n         * @return bool\n         * @static\n         */\n        public static function doneRendering()\n        {\n            return \\Illuminate\\View\\Factory::doneRendering();\n        }\n\n        /**\n         * Add a location to the array of view locations.\n         *\n         * @param string $location\n         * @return void\n         * @static\n         */\n        public static function addLocation($location)\n        {\n            \\Illuminate\\View\\Factory::addLocation($location);\n        }\n\n        /**\n         * Add a new namespace to the loader.\n         *\n         * @param string $namespace\n         * @param string|array $hints\n         * @return $this\n         * @static\n         */\n        public static function addNamespace($namespace, $hints)\n        {\n            return \\Illuminate\\View\\Factory::addNamespace($namespace, $hints);\n        }\n\n        /**\n         * Prepend a new namespace to the loader.\n         *\n         * @param string $namespace\n         * @param string|array $hints\n         * @return $this\n         * @static\n         */\n        public static function prependNamespace($namespace, $hints)\n        {\n            return \\Illuminate\\View\\Factory::prependNamespace($namespace, $hints);\n        }\n\n        /**\n         * Replace the namespace hints for the given namespace.\n         *\n         * @param string $namespace\n         * @param string|array $hints\n         * @return $this\n         * @static\n         */\n        public static function replaceNamespace($namespace, $hints)\n        {\n            return \\Illuminate\\View\\Factory::replaceNamespace($namespace, $hints);\n        }\n\n        /**\n         * Register a valid view extension and its engine.\n         *\n         * @param string $extension\n         * @param string $engine\n         * @param \\Closure $resolver\n         * @return void\n         * @static\n         */\n        public static function addExtension($extension, $engine, $resolver = null)\n        {\n            \\Illuminate\\View\\Factory::addExtension($extension, $engine, $resolver);\n        }\n\n        /**\n         * Flush all of the factory state like sections and stacks.\n         *\n         * @return void\n         * @static\n         */\n        public static function flushState()\n        {\n            \\Illuminate\\View\\Factory::flushState();\n        }\n\n        /**\n         * Flush all of the section contents if done rendering.\n         *\n         * @return void\n         * @static\n         */\n        public static function flushStateIfDoneRendering()\n        {\n            \\Illuminate\\View\\Factory::flushStateIfDoneRendering();\n        }\n\n        /**\n         * Get the extension to engine bindings.\n         *\n         * @return array\n         * @static\n         */\n        public static function getExtensions()\n        {\n            return \\Illuminate\\View\\Factory::getExtensions();\n        }\n\n        /**\n         * Get the engine resolver instance.\n         *\n         * @return \\Illuminate\\View\\Engines\\EngineResolver\n         * @static\n         */\n        public static function getEngineResolver()\n        {\n            return \\Illuminate\\View\\Factory::getEngineResolver();\n        }\n\n        /**\n         * Get the view finder instance.\n         *\n         * @return \\Illuminate\\View\\ViewFinderInterface\n         * @static\n         */\n        public static function getFinder()\n        {\n            return \\Illuminate\\View\\Factory::getFinder();\n        }\n\n        /**\n         * Set the view finder instance.\n         *\n         * @param \\Illuminate\\View\\ViewFinderInterface $finder\n         * @return void\n         * @static\n         */\n        public static function setFinder($finder)\n        {\n            \\Illuminate\\View\\Factory::setFinder($finder);\n        }\n\n        /**\n         * Flush the cache of views located by the finder.\n         *\n         * @return void\n         * @static\n         */\n        public static function flushFinderCache()\n        {\n            \\Illuminate\\View\\Factory::flushFinderCache();\n        }\n\n        /**\n         * Get the event dispatcher instance.\n         *\n         * @return \\Illuminate\\Contracts\\Events\\Dispatcher\n         * @static\n         */\n        public static function getDispatcher()\n        {\n            return \\Illuminate\\View\\Factory::getDispatcher();\n        }\n\n        /**\n         * Set the event dispatcher instance.\n         *\n         * @param \\Illuminate\\Contracts\\Events\\Dispatcher $events\n         * @return void\n         * @static\n         */\n        public static function setDispatcher($events)\n        {\n            \\Illuminate\\View\\Factory::setDispatcher($events);\n        }\n\n        /**\n         * Get the IoC container instance.\n         *\n         * @return \\Illuminate\\Contracts\\Container\\Container\n         * @static\n         */\n        public static function getContainer()\n        {\n            return \\Illuminate\\View\\Factory::getContainer();\n        }\n\n        /**\n         * Set the IoC container instance.\n         *\n         * @param \\Illuminate\\Contracts\\Container\\Container $container\n         * @return void\n         * @static\n         */\n        public static function setContainer($container)\n        {\n            \\Illuminate\\View\\Factory::setContainer($container);\n        }\n\n        /**\n         * Get an item from the shared data.\n         *\n         * @param string $key\n         * @param mixed $default\n         * @return mixed\n         * @static\n         */\n        public static function shared($key, $default = null)\n        {\n            return \\Illuminate\\View\\Factory::shared($key, $default);\n        }\n\n        /**\n         * Get all of the shared data for the environment.\n         *\n         * @return array\n         * @static\n         */\n        public static function getShared()\n        {\n            return \\Illuminate\\View\\Factory::getShared();\n        }\n\n        /**\n         * Start a component rendering process.\n         *\n         * @param string $name\n         * @param array $data\n         * @return void\n         * @static\n         */\n        public static function startComponent($name, $data = [])\n        {\n            \\Illuminate\\View\\Factory::startComponent($name, $data);\n        }\n\n        /**\n         * Render the current component.\n         *\n         * @return string\n         * @static\n         */\n        public static function renderComponent()\n        {\n            return \\Illuminate\\View\\Factory::renderComponent();\n        }\n\n        /**\n         * Start the slot rendering process.\n         *\n         * @param string $name\n         * @param string|null $content\n         * @return void\n         * @static\n         */\n        public static function slot($name, $content = null)\n        {\n            \\Illuminate\\View\\Factory::slot($name, $content);\n        }\n\n        /**\n         * Save the slot content for rendering.\n         *\n         * @return void\n         * @static\n         */\n        public static function endSlot()\n        {\n            \\Illuminate\\View\\Factory::endSlot();\n        }\n\n        /**\n         * Register a view creator event.\n         *\n         * @param array|string $views\n         * @param \\Closure|string $callback\n         * @return array\n         * @static\n         */\n        public static function creator($views, $callback)\n        {\n            return \\Illuminate\\View\\Factory::creator($views, $callback);\n        }\n\n        /**\n         * Register multiple view composers via an array.\n         *\n         * @param array $composers\n         * @return array\n         * @static\n         */\n        public static function composers($composers)\n        {\n            return \\Illuminate\\View\\Factory::composers($composers);\n        }\n\n        /**\n         * Register a view composer event.\n         *\n         * @param array|string $views\n         * @param \\Closure|string $callback\n         * @return array\n         * @static\n         */\n        public static function composer($views, $callback)\n        {\n            return \\Illuminate\\View\\Factory::composer($views, $callback);\n        }\n\n        /**\n         * Call the composer for a given view.\n         *\n         * @param \\Illuminate\\Contracts\\View\\View $view\n         * @return void\n         * @static\n         */\n        public static function callComposer($view)\n        {\n            \\Illuminate\\View\\Factory::callComposer($view);\n        }\n\n        /**\n         * Call the creator for a given view.\n         *\n         * @param \\Illuminate\\Contracts\\View\\View $view\n         * @return void\n         * @static\n         */\n        public static function callCreator($view)\n        {\n            \\Illuminate\\View\\Factory::callCreator($view);\n        }\n\n        /**\n         * Start injecting content into a section.\n         *\n         * @param string $section\n         * @param string|null $content\n         * @return void\n         * @static\n         */\n        public static function startSection($section, $content = null)\n        {\n            \\Illuminate\\View\\Factory::startSection($section, $content);\n        }\n\n        /**\n         * Inject inline content into a section.\n         *\n         * @param string $section\n         * @param string $content\n         * @return void\n         * @static\n         */\n        public static function inject($section, $content)\n        {\n            \\Illuminate\\View\\Factory::inject($section, $content);\n        }\n\n        /**\n         * Stop injecting content into a section and return its contents.\n         *\n         * @return string\n         * @static\n         */\n        public static function yieldSection()\n        {\n            return \\Illuminate\\View\\Factory::yieldSection();\n        }\n\n        /**\n         * Stop injecting content into a section.\n         *\n         * @param bool $overwrite\n         * @return string\n         * @throws \\InvalidArgumentException\n         * @static\n         */\n        public static function stopSection($overwrite = false)\n        {\n            return \\Illuminate\\View\\Factory::stopSection($overwrite);\n        }\n\n        /**\n         * Stop injecting content into a section and append it.\n         *\n         * @return string\n         * @throws \\InvalidArgumentException\n         * @static\n         */\n        public static function appendSection()\n        {\n            return \\Illuminate\\View\\Factory::appendSection();\n        }\n\n        /**\n         * Get the string contents of a section.\n         *\n         * @param string $section\n         * @param string $default\n         * @return string\n         * @static\n         */\n        public static function yieldContent($section, $default = '')\n        {\n            return \\Illuminate\\View\\Factory::yieldContent($section, $default);\n        }\n\n        /**\n         * Get the parent placeholder for the current request.\n         *\n         * @param string $section\n         * @return string\n         * @static\n         */\n        public static function parentPlaceholder($section = '')\n        {\n            return \\Illuminate\\View\\Factory::parentPlaceholder($section);\n        }\n\n        /**\n         * Check if section exists.\n         *\n         * @param string $name\n         * @return bool\n         * @static\n         */\n        public static function hasSection($name)\n        {\n            return \\Illuminate\\View\\Factory::hasSection($name);\n        }\n\n        /**\n         * Get the entire array of sections.\n         *\n         * @return array\n         * @static\n         */\n        public static function getSections()\n        {\n            return \\Illuminate\\View\\Factory::getSections();\n        }\n\n        /**\n         * Flush all of the sections.\n         *\n         * @return void\n         * @static\n         */\n        public static function flushSections()\n        {\n            \\Illuminate\\View\\Factory::flushSections();\n        }\n\n        /**\n         * Add new loop to the stack.\n         *\n         * @param \\Countable|array $data\n         * @return void\n         * @static\n         */\n        public static function addLoop($data)\n        {\n            \\Illuminate\\View\\Factory::addLoop($data);\n        }\n\n        /**\n         * Increment the top loop's indices.\n         *\n         * @return void\n         * @static\n         */\n        public static function incrementLoopIndices()\n        {\n            \\Illuminate\\View\\Factory::incrementLoopIndices();\n        }\n\n        /**\n         * Pop a loop from the top of the loop stack.\n         *\n         * @return void\n         * @static\n         */\n        public static function popLoop()\n        {\n            \\Illuminate\\View\\Factory::popLoop();\n        }\n\n        /**\n         * Get an instance of the last loop in the stack.\n         *\n         * @return \\StdClass|null\n         * @static\n         */\n        public static function getLastLoop()\n        {\n            return \\Illuminate\\View\\Factory::getLastLoop();\n        }\n\n        /**\n         * Get the entire loop stack.\n         *\n         * @return array\n         * @static\n         */\n        public static function getLoopStack()\n        {\n            return \\Illuminate\\View\\Factory::getLoopStack();\n        }\n\n        /**\n         * Start injecting content into a push section.\n         *\n         * @param string $section\n         * @param string $content\n         * @return void\n         * @static\n         */\n        public static function startPush($section, $content = '')\n        {\n            \\Illuminate\\View\\Factory::startPush($section, $content);\n        }\n\n        /**\n         * Stop injecting content into a push section.\n         *\n         * @return string\n         * @throws \\InvalidArgumentException\n         * @static\n         */\n        public static function stopPush()\n        {\n            return \\Illuminate\\View\\Factory::stopPush();\n        }\n\n        /**\n         * Get the string contents of a push section.\n         *\n         * @param string $section\n         * @param string $default\n         * @return string\n         * @static\n         */\n        public static function yieldPushContent($section, $default = '')\n        {\n            return \\Illuminate\\View\\Factory::yieldPushContent($section, $default);\n        }\n\n        /**\n         * Flush all of the stacks.\n         *\n         * @return void\n         * @static\n         */\n        public static function flushStacks()\n        {\n            \\Illuminate\\View\\Factory::flushStacks();\n        }\n\n        /**\n         * Start a translation block.\n         *\n         * @param array $replacements\n         * @return void\n         * @static\n         */\n        public static function startTranslation($replacements = [])\n        {\n            \\Illuminate\\View\\Factory::startTranslation($replacements);\n        }\n\n        /**\n         * Render the current translation.\n         *\n         * @return string\n         * @static\n         */\n        public static function renderTranslation()\n        {\n            return \\Illuminate\\View\\Factory::renderTranslation();\n        }\n    }\n\n\n    class JWTAuth extends \\Tymon\\JWTAuth\\Facades\\JWTAuth\n    {\n        /**\n         * Find a user using the user identifier in the subject claim.\n         *\n         * @param bool|string $token\n         * @return mixed\n         * @static\n         */\n        public static function toUser($token = false)\n        {\n            return \\Tymon\\JWTAuth\\JWTAuth::toUser($token);\n        }\n\n        /**\n         * Generate a token using the user identifier as the subject claim.\n         *\n         * @param mixed $user\n         * @param array $customClaims\n         * @return string\n         * @static\n         */\n        public static function fromUser($user, $customClaims = [])\n        {\n            return \\Tymon\\JWTAuth\\JWTAuth::fromUser($user, $customClaims);\n        }\n\n        /**\n         * Attempt to authenticate the user and return the token.\n         *\n         * @param array $credentials\n         * @param array $customClaims\n         * @return false|string\n         * @static\n         */\n        public static function attempt($credentials = [], $customClaims = [])\n        {\n            return \\Tymon\\JWTAuth\\JWTAuth::attempt($credentials, $customClaims);\n        }\n\n        /**\n         * Authenticate a user via a token.\n         *\n         * @param mixed $token\n         * @return mixed\n         * @static\n         */\n        public static function authenticate($token = false)\n        {\n            return \\Tymon\\JWTAuth\\JWTAuth::authenticate($token);\n        }\n\n        /**\n         * Refresh an expired token.\n         *\n         * @param mixed $token\n         * @return string\n         * @static\n         */\n        public static function refresh($token = false)\n        {\n            return \\Tymon\\JWTAuth\\JWTAuth::refresh($token);\n        }\n\n        /**\n         * Invalidate a token (add it to the blacklist).\n         *\n         * @param mixed $token\n         * @return bool\n         * @static\n         */\n        public static function invalidate($token = false)\n        {\n            return \\Tymon\\JWTAuth\\JWTAuth::invalidate($token);\n        }\n\n        /**\n         * Get the token.\n         *\n         * @return bool|string\n         * @static\n         */\n        public static function getToken()\n        {\n            return \\Tymon\\JWTAuth\\JWTAuth::getToken();\n        }\n\n        /**\n         * Get the raw Payload instance.\n         *\n         * @param mixed $token\n         * @return \\Tymon\\JWTAuth\\Payload\n         * @static\n         */\n        public static function getPayload($token = false)\n        {\n            return \\Tymon\\JWTAuth\\JWTAuth::getPayload($token);\n        }\n\n        /**\n         * Parse the token from the request.\n         *\n         * @param string $query\n         * @return \\JWTAuth\n         * @static\n         */\n        public static function parseToken($method = 'bearer', $header = 'authorization', $query = 'token')\n        {\n            return \\Tymon\\JWTAuth\\JWTAuth::parseToken($method, $header, $query);\n        }\n\n        /**\n         * Set the identifier.\n         *\n         * @param string $identifier\n         * @return $this\n         * @static\n         */\n        public static function setIdentifier($identifier)\n        {\n            return \\Tymon\\JWTAuth\\JWTAuth::setIdentifier($identifier);\n        }\n\n        /**\n         * Get the identifier.\n         *\n         * @return string\n         * @static\n         */\n        public static function getIdentifier()\n        {\n            return \\Tymon\\JWTAuth\\JWTAuth::getIdentifier();\n        }\n\n        /**\n         * Set the token.\n         *\n         * @param string $token\n         * @return $this\n         * @static\n         */\n        public static function setToken($token)\n        {\n            return \\Tymon\\JWTAuth\\JWTAuth::setToken($token);\n        }\n\n        /**\n         * Set the request instance.\n         *\n         * @param \\Request $request\n         * @static\n         */\n        public static function setRequest($request)\n        {\n            return \\Tymon\\JWTAuth\\JWTAuth::setRequest($request);\n        }\n\n        /**\n         * Get the JWTManager instance.\n         *\n         * @return \\Tymon\\JWTAuth\\JWTManager\n         * @static\n         */\n        public static function manager()\n        {\n            return \\Tymon\\JWTAuth\\JWTAuth::manager();\n        }\n    }\n\n\n}\n"
  },
  {
    "path": "app/Console/Commands/CheckEstimateStatus.php",
    "content": "<?php\n\nnamespace Crater\\Console\\Commands;\n\nuse Carbon\\Carbon;\nuse Crater\\Models\\Estimate;\nuse Illuminate\\Console\\Command;\n\nclass CheckEstimateStatus extends Command\n{\n    /**\n     * The name and signature of the console command.\n     *\n     * @var string\n     */\n    protected $signature = 'check:estimates:status';\n\n    /**\n     * The console command description.\n     *\n     * @var string\n     */\n    protected $description = 'Check invoices status.';\n\n    /**\n     * Create a new command instance.\n     *\n     * @return void\n     */\n    public function __construct()\n    {\n        parent::__construct();\n    }\n\n    /**\n     * Execute the console command.\n     *\n     * @return mixed\n     */\n    public function handle()\n    {\n        $date = Carbon::now();\n        $status = [Estimate::STATUS_ACCEPTED, Estimate::STATUS_REJECTED, Estimate::STATUS_EXPIRED];\n        $estimates = Estimate::whereNotIn('status', $status)->whereDate('expiry_date', '<', $date)->get();\n\n        foreach ($estimates as $estimate) {\n            $estimate->status = Estimate::STATUS_EXPIRED;\n            printf(\"Estimate %s is EXPIRED \\n\", $estimate->estimate_number);\n            $estimate->save();\n        }\n    }\n}\n"
  },
  {
    "path": "app/Console/Commands/CheckInvoiceStatus.php",
    "content": "<?php\n\nnamespace Crater\\Console\\Commands;\n\nuse Carbon\\Carbon;\nuse Crater\\Models\\Invoice;\nuse Illuminate\\Console\\Command;\n\nclass CheckInvoiceStatus extends Command\n{\n    /**\n     * The name and signature of the console command.\n     *\n     * @var string\n     */\n    protected $signature = 'check:invoices:status';\n\n    /**\n     * The console command description.\n     *\n     * @var string\n     */\n    protected $description = 'Check invoices status.';\n\n    /**\n     * Create a new command instance.\n     *\n     * @return void\n     */\n    public function __construct()\n    {\n        parent::__construct();\n    }\n\n    /**\n     * Execute the console command.\n     *\n     * @return mixed\n     */\n    public function handle()\n    {\n        $date = Carbon::now();\n        $invoices = Invoice::whereNotIn('status', [Invoice::STATUS_COMPLETED, Invoice::STATUS_DRAFT])\n            ->where('overdue', false)\n            ->whereDate('due_date', '<', $date)\n            ->get();\n\n        foreach ($invoices as $invoice) {\n            $invoice->overdue = true;\n            printf(\"Invoice %s is OVERDUE \\n\", $invoice->invoice_number);\n            $invoice->save();\n        }\n    }\n}\n"
  },
  {
    "path": "app/Console/Commands/CreateTemplateCommand.php",
    "content": "<?php\n\nnamespace Crater\\Console\\Commands;\n\nuse Illuminate\\Console\\Command;\nuse Illuminate\\Support\\Facades\\Storage;\n\nclass CreateTemplateCommand extends Command\n{\n    /**\n     * The name and signature of the console command.\n     *\n     * @var string\n     */\n    protected $signature = 'make:template {name} {--type=}';\n\n    /**\n     * The console command description.\n     *\n     * @var string\n     */\n    protected $description = 'Create estimate or invoice pdf template.                               ';\n\n    /**\n     * Create a new command instance.\n     *\n     * @return void\n     */\n    public function __construct()\n    {\n        parent::__construct();\n    }\n\n    /**\n     * Execute the console command.\n     *\n     * @return int\n     */\n    public function handle()\n    {\n        $templateName = $this->argument('name');\n        $type = $this->option('type');\n\n        if (! $type) {\n            $type = $this->choice('Create a template for?', ['invoice', 'estimate']);\n        }\n\n        if (Storage::disk('views')->exists(\"/app/pdf/{$type}/{$templateName}.blade.php\")) {\n            $this->info(\"Template with given name already exists.\");\n\n            return 0;\n        }\n\n        Storage::disk('views')->copy(\"/app/pdf/{$type}/{$type}1.blade.php\", \"/app/pdf/{$type}/{$templateName}.blade.php\");\n        copy(public_path(\"/build/img/PDF/{$type}1.png\"), public_path(\"/build/img/PDF/{$templateName}.png\"));\n        copy(resource_path(\"/static/img/PDF/{$type}1.png\"), resource_path(\"/static/img/PDF/{$templateName}.png\"));\n\n        $path = resource_path(\"views/app/pdf/{$type}/{$templateName}.blade.php\");\n        $type = ucfirst($type);\n        $this->info(\"{$type} Template created successfully at \".$path);\n\n        return 0;\n    }\n}\n"
  },
  {
    "path": "app/Console/Commands/InstallModuleCommand.php",
    "content": "<?php\n\nnamespace Crater\\Console\\Commands;\n\nuse Crater\\Space\\ModuleInstaller;\nuse Illuminate\\Console\\Command;\n\nclass InstallModuleCommand extends Command\n{\n    /**\n     * The name and signature of the console command.\n     *\n     * @var string\n     */\n    protected $signature = 'install:module {module} {version}';\n\n    /**\n     * The console command description.\n     *\n     * @var string\n     */\n    protected $description = 'Install cloned module.';\n\n    /**\n     * Create a new command instance.\n     *\n     * @return void\n     */\n    public function __construct()\n    {\n        parent::__construct();\n    }\n\n    /**\n     * Execute the console command.\n     *\n     * @return int\n     */\n    public function handle()\n    {\n        ModuleInstaller::complete($this->argument('module'), $this->argument('version'));\n\n        return Command::SUCCESS;\n    }\n}\n"
  },
  {
    "path": "app/Console/Commands/ResetApp.php",
    "content": "<?php\n\nnamespace Crater\\Console\\Commands;\n\nuse Illuminate\\Console\\Command;\nuse Illuminate\\Console\\ConfirmableTrait;\nuse Illuminate\\Support\\Facades\\Artisan;\n\nclass ResetApp extends Command\n{\n    use ConfirmableTrait;\n\n    /**\n     * The name and signature of the console command.\n     *\n     * @var string\n     */\n    protected $signature = 'reset:app {--force}';\n\n    /**\n     * The console command description.\n     *\n     * @var string\n     */\n    protected $description = 'Clean database, database_created and public/storage folder';\n\n    /**\n     * Create a new command instance.\n     *\n     * @return void\n     */\n    public function __construct()\n    {\n        parent::__construct();\n    }\n\n    /**\n     * Execute the console command.\n     *\n     * @return mixed\n     */\n    public function handle()\n    {\n        if (! $this->confirmToProceed()) {\n            return;\n        }\n\n        $this->info('Running migrate:fresh');\n\n        Artisan::call('migrate:fresh --seed --force');\n\n        $this->info('Seeding database');\n\n        Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);\n\n        $path = base_path('.env');\n\n        if (file_exists($path)) {\n            file_put_contents($path, str_replace(\n                'APP_DEBUG=true',\n                'APP_DEBUG=false',\n                file_get_contents($path)\n            ));\n        }\n\n        $this->info('App has been reset successfully');\n    }\n}\n"
  },
  {
    "path": "app/Console/Commands/UpdateCommand.php",
    "content": "<?php\n\nnamespace Crater\\Console\\Commands;\n\nuse Crater\\Models\\Setting;\nuse Crater\\Space\\Updater;\nuse Illuminate\\Console\\Command;\n\n// Implementation taken from Akaunting - https://github.com/akaunting/akaunting\nclass UpdateCommand extends Command\n{\n    public $installed;\n\n    public $version;\n\n    public $response;\n\n    /**\n     * The name and signature of the console command.\n     *\n     * @var string\n     */\n    protected $signature = 'crater:update';\n\n    /**\n     * The console command description.\n     *\n     * @var string\n     */\n    protected $description = 'Automatically update your crater app';\n\n    /**\n     * Create a new command instance.\n     *\n     * @return void\n     */\n    public function __construct()\n    {\n        parent::__construct();\n    }\n\n    /**\n     * Execute the console command.\n     */\n    public function handle()\n    {\n        set_time_limit(3600); // 1 hour\n\n        $this->installed = $this->getInstalledVersion();\n        $this->response = $this->getLatestVersionResponse();\n        $this->version = ($this->response) ? $this->response->version : false;\n\n        if ($this->response == 'extension_required') {\n            $this->info('Sorry! Your system does not meet the minimum requirements for this update.');\n            $this->info('Please retry after installing the required version/extensions.');\n\n            return;\n        }\n\n        if (! $this->version) {\n            $this->info('No Update Available! You are already on the latest version.');\n\n            return;\n        }\n\n        if (! $this->confirm(\"Do you wish to update to {$this->version}?\")) {\n            return;\n        }\n\n        if (! $path = $this->download()) {\n            return;\n        }\n\n        if (! $path = $this->unzip($path)) {\n            return;\n        }\n\n        if (! $this->copyFiles($path)) {\n            return;\n        }\n\n        if (isset($this->response->deleted_files) && ! empty($this->response->deleted_files)) {\n            if (! $this->deleteFiles($this->response->deleted_files)) {\n                return;\n            }\n        }\n\n        if (! $this->migrateUpdate()) {\n            return;\n        }\n\n        if (! $this->finish()) {\n            return;\n        }\n\n        $this->info('Successfully updated to '.$this->version);\n    }\n\n    public function getInstalledVersion()\n    {\n        return Setting::getSetting('version');\n    }\n\n    public function getLatestVersionResponse()\n    {\n        $this->info('Your currently installed version is '.$this->installed);\n        $this->line('');\n        $this->info('Checking for update...');\n\n        try {\n            $response = Updater::checkForUpdate($this->installed);\n\n            if ($response->success) {\n                $extensions = $response->version->extensions;\n\n                $is_required = false;\n\n                foreach ($extensions as $key => $extension) {\n                    if (! $extension) {\n                        $is_required = true;\n                        $this->info('❌ '.$key);\n                    }\n\n                    $this->info('✅ '.$key);\n                }\n\n                if ($is_required) {\n                    return 'extension_required';\n                }\n\n                return $response->version;\n            }\n\n            return false;\n        } catch (\\Exception $e) {\n            $this->error($e->getMessage());\n\n            return false;\n        }\n    }\n\n    public function download()\n    {\n        $this->info('Downloading update...');\n\n        try {\n            $path = Updater::download($this->version, 1);\n            if (! is_string($path)) {\n                $this->error('Download exception');\n\n                return false;\n            }\n        } catch (\\Exception $e) {\n            $this->error($e->getMessage());\n\n            return false;\n        }\n\n        return $path;\n    }\n\n    public function unzip($path)\n    {\n        $this->info('Unzipping update package...');\n\n        try {\n            $path = Updater::unzip($path);\n            if (! is_string($path)) {\n                $this->error('Unzipping exception');\n\n                return false;\n            }\n        } catch (\\Exception $e) {\n            $this->error($e->getMessage());\n\n            return false;\n        }\n\n        return $path;\n    }\n\n    public function copyFiles($path)\n    {\n        $this->info('Copying update files...');\n\n        try {\n            Updater::copyFiles($path);\n        } catch (\\Exception $e) {\n            $this->error($e->getMessage());\n\n            return false;\n        }\n\n        return true;\n    }\n\n    public function deleteFiles($files)\n    {\n        $this->info('Deleting unused old files...');\n\n        try {\n            Updater::deleteFiles($files);\n        } catch (\\Exception $e) {\n            $this->error($e->getMessage());\n\n            return false;\n        }\n\n        return true;\n    }\n\n    public function migrateUpdate()\n    {\n        $this->info('Running Migrations...');\n\n        try {\n            Updater::migrateUpdate();\n        } catch (\\Exception $e) {\n            $this->error($e->getMessage());\n\n            return false;\n        }\n\n        return true;\n    }\n\n    public function finish()\n    {\n        $this->info('Finishing update...');\n\n        try {\n            Updater::finishUpdate($this->installed, $this->version);\n        } catch (\\Exception $e) {\n            $this->error($e->getMessage());\n\n            return false;\n        }\n\n        return true;\n    }\n}\n"
  },
  {
    "path": "app/Console/Kernel.php",
    "content": "<?php\n\nnamespace Crater\\Console;\n\nuse Crater\\Models\\CompanySetting;\nuse Crater\\Models\\RecurringInvoice;\nuse Illuminate\\Console\\Scheduling\\Schedule;\nuse Illuminate\\Foundation\\Console\\Kernel as ConsoleKernel;\n\nclass Kernel extends ConsoleKernel\n{\n    /**\n     * The Artisan commands provided by your application.\n     *\n     * @var array\n     */\n    protected $commands = [\n        Commands\\ResetApp::class,\n        Commands\\UpdateCommand::class,\n        Commands\\CreateTemplateCommand::class,\n        Commands\\InstallModuleCommand::class,\n    ];\n\n    /**\n     * Define the application's command schedule.\n     *\n     * @param  \\Illuminate\\Console\\Scheduling\\Schedule $schedule\n     * @return void\n     */\n    protected function schedule(Schedule $schedule)\n    {\n        if (\\Storage::disk('local')->has('database_created')) {\n            $schedule->command('check:invoices:status')\n            ->daily();\n\n            $schedule->command('check:estimates:status')\n            ->daily();\n\n            $recurringInvoices = RecurringInvoice::where('status', 'ACTIVE')->get();\n            foreach ($recurringInvoices as $recurringInvoice) {\n                $timeZone = CompanySetting::getSetting('time_zone', $recurringInvoice->company_id);\n\n                $schedule->call(function () use ($recurringInvoice) {\n                    $recurringInvoice->generateInvoice();\n                })->cron($recurringInvoice->frequency)->timezone($timeZone);\n            }\n        }\n    }\n\n    /**\n     * Register the Closure based commands for the application.\n     *\n     * @return void\n     */\n    protected function commands()\n    {\n        $this->load(__DIR__.'/Commands');\n        require base_path('routes/console.php');\n    }\n}\n"
  },
  {
    "path": "app/Events/ModuleDisabledEvent.php",
    "content": "<?php\n\nnamespace Crater\\Events;\n\nuse Illuminate\\Broadcasting\\InteractsWithSockets;\nuse Illuminate\\Foundation\\Events\\Dispatchable;\nuse Illuminate\\Queue\\SerializesModels;\n\nclass ModuleDisabledEvent\n{\n    use Dispatchable;\n    use InteractsWithSockets;\n    use SerializesModels;\n\n    public $module;\n\n    /**\n     * Create a new event instance.\n     *\n     * @return void\n     */\n    public function __construct($module)\n    {\n        $this->module = $module;\n    }\n}\n"
  },
  {
    "path": "app/Events/ModuleEnabledEvent.php",
    "content": "<?php\n\nnamespace Crater\\Events;\n\nuse Illuminate\\Broadcasting\\InteractsWithSockets;\nuse Illuminate\\Foundation\\Events\\Dispatchable;\nuse Illuminate\\Queue\\SerializesModels;\n\nclass ModuleEnabledEvent\n{\n    use Dispatchable;\n    use InteractsWithSockets;\n    use SerializesModels;\n\n    public $module;\n\n    /**\n     * Create a new event instance.\n     *\n     * @return void\n     */\n    public function __construct($module)\n    {\n        $this->module = $module;\n    }\n}\n"
  },
  {
    "path": "app/Events/ModuleInstalledEvent.php",
    "content": "<?php\n\nnamespace Crater\\Events;\n\nuse Illuminate\\Broadcasting\\InteractsWithSockets;\nuse Illuminate\\Foundation\\Events\\Dispatchable;\nuse Illuminate\\Queue\\SerializesModels;\n\nclass ModuleInstalledEvent\n{\n    use Dispatchable;\n    use InteractsWithSockets;\n    use SerializesModels;\n\n    public $module;\n\n    /**\n     * Create a new event instance.\n     *\n     * @return void\n     */\n    public function __construct($module)\n    {\n        $this->module = $module;\n    }\n}\n"
  },
  {
    "path": "app/Events/UpdateFinished.php",
    "content": "<?php\n\nnamespace Crater\\Events;\n\nuse Illuminate\\Foundation\\Events\\Dispatchable;\n\nclass UpdateFinished\n{\n    use Dispatchable;\n\n    public $new;\n\n    public $old;\n\n    /**\n     * Create a new event instance.\n     *\n     * @return void\n     */\n    public function __construct($old, $new)\n    {\n        $this->old = $old;\n        $this->new = $new;\n    }\n}\n"
  },
  {
    "path": "app/Exceptions/Handler.php",
    "content": "<?php\n\nnamespace Crater\\Exceptions;\n\nuse Illuminate\\Foundation\\Exceptions\\Handler as ExceptionHandler;\nuse Throwable;\n\nclass Handler extends ExceptionHandler\n{\n    /**\n     * A list of the exception types that are not reported.\n     *\n     * @var array\n     */\n    protected $dontReport = [\n        //\n    ];\n\n    /**\n     * A list of the inputs that are never flashed for validation exceptions.\n     *\n     * @var array\n     */\n    protected $dontFlash = [\n        'password',\n        'password_confirmation',\n    ];\n\n    /**\n     * Report or log an exception.\n     *\n     * This is a great spot to send exceptions to Sentry, Bugsnag, etc.\n     *\n     * @param  \\Throwable $exception\n     * @return void\n     */\n    public function report(Throwable $exception)\n    {\n        parent::report($exception);\n    }\n\n    /**\n     * Render an exception into an HTTP response.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @param  \\Throwable  $exception\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function render($request, Throwable $exception)\n    {\n        return parent::render($request, $exception);\n    }\n}\n"
  },
  {
    "path": "app/Generators/CustomPathGenerator.php",
    "content": "<?php\n\nnamespace Crater\\Generators;\n\nuse Crater\\Models\\Estimate;\nuse Crater\\Models\\Invoice;\nuse Crater\\Models\\Payment;\nuse Spatie\\MediaLibrary\\MediaCollections\\Models\\Media;\nuse Spatie\\MediaLibrary\\Support\\PathGenerator\\PathGenerator;\n\nclass CustomPathGenerator implements PathGenerator\n{\n    public function getPath(Media $media): string\n    {\n        return $this->getBasePath($media).'/';\n    }\n\n    public function getPathForConversions(Media $media): string\n    {\n        return $this->getBasePath($media).'/conversations/';\n    }\n\n    public function getPathForResponsiveImages(Media $media): string\n    {\n        return $this->getBasePath($media).'/responsive-images/';\n    }\n\n    /*\n     * Get a unique base path for the given media.\n     */\n    protected function getBasePath(Media $media): string\n    {\n        $folderName = null;\n\n        if ($media->model_type == Invoice::class) {\n            $folderName = 'Invoices';\n        } elseif ($media->model_type == Estimate::class) {\n            $folderName = 'Estimates';\n        } elseif ($media->model_type == Payment::class) {\n            $folderName = 'Payments';\n        } else {\n            $folderName = $media->getKey();\n        }\n\n        return $folderName;\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/AppVersionController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers;\n\nuse Crater\\Models\\Setting;\nuse Illuminate\\Http\\Request;\n\nclass AppVersionController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function __invoke(Request $request)\n    {\n        $version = Setting::getSetting('version');\n\n        return response()->json([\n            'version' => $version,\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/Controller.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers;\n\nuse Illuminate\\Foundation\\Auth\\Access\\AuthorizesRequests;\nuse Illuminate\\Foundation\\Bus\\DispatchesJobs;\nuse Illuminate\\Foundation\\Validation\\ValidatesRequests;\nuse Illuminate\\Routing\\Controller as BaseController;\n\nclass Controller extends BaseController\n{\n    use AuthorizesRequests;\n    use DispatchesJobs;\n    use ValidatesRequests;\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Auth/ConfirmPasswordController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Auth;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Providers\\RouteServiceProvider;\nuse Illuminate\\Foundation\\Auth\\ConfirmsPasswords;\n\nclass ConfirmPasswordController extends Controller\n{\n    /*\n    |--------------------------------------------------------------------------\n    | Confirm Password Controller\n    |--------------------------------------------------------------------------\n    |\n    | This controller is responsible for handling password confirmations and\n    | uses a simple trait to include the behavior. You're free to explore\n    | this trait and override any functions that require customization.\n    |\n    */\n\n    use ConfirmsPasswords;\n\n    /**\n     * Where to redirect users when the intended url fails.\n     *\n     * @var string\n     */\n    protected $redirectTo = RouteServiceProvider::HOME;\n\n    /**\n     * Create a new controller instance.\n     *\n     * @return void\n     */\n    public function __construct()\n    {\n        $this->middleware('auth');\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Auth/ForgotPasswordController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Auth;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Illuminate\\Foundation\\Auth\\SendsPasswordResetEmails;\nuse Illuminate\\Http\\Request;\n\nclass ForgotPasswordController extends Controller\n{\n    /*\n    |--------------------------------------------------------------------------\n    | Password Reset Controller\n    |--------------------------------------------------------------------------\n    |\n    | This controller is responsible for handling password reset emails and\n    | includes a trait which assists in sending these notifications from\n    | your application to your users. Feel free to explore this trait.\n    |\n    */\n\n    use SendsPasswordResetEmails;\n\n    /**\n     * Get the response for a successful password reset link.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @param  string  $response\n     * @return \\Illuminate\\Http\\RedirectResponse|\\Illuminate\\Http\\JsonResponse\n     */\n    protected function sendResetLinkResponse(Request $request, $response)\n    {\n        return response()->json([\n            'message' => 'Password reset email sent.',\n            'data' => $response,\n        ]);\n    }\n\n    /**\n     * Get the response for a failed password reset link.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @param  string  $response\n     * @return \\Illuminate\\Http\\RedirectResponse|\\Illuminate\\Http\\JsonResponse\n     */\n    protected function sendResetLinkFailedResponse(Request $request, $response)\n    {\n        return response()->json([\n            'error' => 'Email could not be sent to this email address.'\n        ], 403);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Auth/LoginController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Auth;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Providers\\RouteServiceProvider;\nuse Illuminate\\Foundation\\Auth\\AuthenticatesUsers;\n\nclass LoginController extends Controller\n{\n    /*\n    |--------------------------------------------------------------------------\n    | Login Controller\n    |--------------------------------------------------------------------------\n    |\n    | This controller handles authenticating users for the application and\n    | redirecting them to your home screen. The controller uses a trait\n    | to conveniently provide its functionality to your applications.\n    |\n    */\n\n    use AuthenticatesUsers;\n\n    /**\n     * Where to redirect users after login.\n     *\n     * @var string\n     */\n    protected $redirectTo = RouteServiceProvider::HOME;\n\n    /**\n     * Create a new controller instance.\n     *\n     * @return void\n     */\n    public function __construct()\n    {\n        $this->middleware('guest')->except('logout');\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Auth/RegisterController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Auth;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Models\\User;\nuse Crater\\Providers\\RouteServiceProvider;\nuse Illuminate\\Foundation\\Auth\\RegistersUsers;\nuse Illuminate\\Support\\Facades\\Validator;\n\nclass RegisterController extends Controller\n{\n    /*\n    |--------------------------------------------------------------------------\n    | Register Controller\n    |--------------------------------------------------------------------------\n    |\n    | This controller handles the registration of new users as well as their\n    | validation and creation. By default this controller uses a trait to\n    | provide this functionality without requiring any additional code.\n    |\n    */\n\n    use RegistersUsers;\n\n    /**\n     * Where to redirect users after registration.\n     *\n     * @var string\n     */\n    protected $redirectTo = RouteServiceProvider::HOME;\n\n    /**\n     * Create a new controller instance.\n     *\n     * @return void\n     */\n    public function __construct()\n    {\n        $this->middleware('guest');\n    }\n\n    /**\n     * Get a validator for an incoming registration request.\n     *\n     * @param  array  $data\n     * @return \\Illuminate\\Contracts\\Validation\\Validator\n     */\n    protected function validator(array $data)\n    {\n        return Validator::make($data, [\n            'name' => ['required', 'string', 'max:255'],\n            'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],\n            'password' => ['required', 'string', 'min:8', 'confirmed'],\n        ]);\n    }\n\n    /**\n     * Create a new user instance after a valid registration.\n     *\n     * @param  array  $data\n     * @return \\App\\User\n     */\n    protected function create(array $data)\n    {\n        return User::create([\n            'name' => $data['name'],\n            'email' => $data['email'],\n            'password' => $data['password'],\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Auth/ResetPasswordController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Auth;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Providers\\RouteServiceProvider;\nuse Illuminate\\Auth\\Events\\PasswordReset;\nuse Illuminate\\Foundation\\Auth\\ResetsPasswords;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Str;\n\nclass ResetPasswordController extends Controller\n{\n    /*\n    |--------------------------------------------------------------------------\n    | Password Reset Controller\n    |--------------------------------------------------------------------------\n    |\n    | This controller is responsible for handling password reset requests\n    | and uses a simple trait to include this behavior. You're free to\n    | explore this trait and override any methods you wish to tweak.\n    |\n    */\n\n    use ResetsPasswords;\n\n    /**\n     * Where to redirect users after resetting their password.\n     *\n     * @var string\n     */\n    protected $redirectTo = RouteServiceProvider::HOME;\n\n    /**\n     * Get the response for a successful password reset.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @param  string  $response\n     * @return \\Illuminate\\Http\\RedirectResponse|\\Illuminate\\Http\\JsonResponse\n     */\n    protected function sendResetResponse(Request $request, $response)\n    {\n        return response()->json([\n            'message' => 'Password reset successfully.',\n        ]);\n    }\n\n    /**\n     * Reset the given user's password.\n     *\n     * @param  \\Illuminate\\Contracts\\Auth\\CanResetPassword  $user\n     * @param  string  $password\n     * @return void\n     */\n    protected function resetPassword($user, $password)\n    {\n        $user->password = $password;\n\n        $user->setRememberToken(Str::random(60));\n\n        $user->save();\n\n        event(new PasswordReset($user));\n    }\n\n    /**\n     * Get the response for a failed password reset.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @param  string  $response\n     * @return \\Illuminate\\Http\\RedirectResponse|\\Illuminate\\Http\\JsonResponse\n     */\n    protected function sendResetFailedResponse(Request $request, $response)\n    {\n        return response('Failed, Invalid Token.', 403);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Auth/VerificationController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Auth;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Providers\\RouteServiceProvider;\nuse Illuminate\\Foundation\\Auth\\VerifiesEmails;\n\nclass VerificationController extends Controller\n{\n    /*\n    |--------------------------------------------------------------------------\n    | Email Verification Controller\n    |--------------------------------------------------------------------------\n    |\n    | This controller is responsible for handling email verification for any\n    | user that recently registered with the application. Emails may also\n    | be re-sent if the user didn't receive the original email message.\n    |\n    */\n\n    use VerifiesEmails;\n\n    /**\n     * Where to redirect users after verification.\n     *\n     * @var string\n     */\n    protected $redirectTo = RouteServiceProvider::HOME;\n\n    /**\n     * Create a new controller instance.\n     *\n     * @return void\n     */\n    public function __construct()\n    {\n        $this->middleware('auth');\n        $this->middleware('signed')->only('verify');\n        $this->middleware('throttle:6,1')->only('verify', 'resend');\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Backup/ApiController.php",
    "content": "<?php\n\n// Implementation taken from nova-backup-tool - https://github.com/spatie/nova-backup-tool/\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Backup;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Illuminate\\Http\\JsonResponse;\n\nclass ApiController extends Controller\n{\n    /**\n     *\n     * @return JsonResponse\n     */\n    public function respondSuccess(): JsonResponse\n    {\n        return response()->json([\n            'success' => true,\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Backup/BackupsController.php",
    "content": "<?php\n\n// Implementation taken from nova-backup-tool - https://github.com/spatie/nova-backup-tool/\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Backup;\n\nuse Crater\\Jobs\\CreateBackupJob;\nuse Crater\\Rules\\Backup\\PathToZip;\nuse Illuminate\\Http\\JsonResponse;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\Cache;\nuse Spatie\\Backup\\BackupDestination\\Backup;\nuse Spatie\\Backup\\BackupDestination\\BackupDestination;\nuse Spatie\\Backup\\Helpers\\Format;\n\nclass BackupsController extends ApiController\n{\n    /**\n     * Display a listing of the resource.\n     *\n     * @return JsonResponse\n     */\n    public function index(Request $request)\n    {\n        $this->authorize('manage backups');\n\n        $configuredBackupDisks = config('backup.backup.destination.disks');\n\n        try {\n            $backupDestination = BackupDestination::create(config('filesystems.default'), config('backup.backup.name'));\n\n            $backups = Cache::remember(\"backups-{$request->file_disk_id}\", now()->addSeconds(4), function () use ($backupDestination) {\n                return $backupDestination\n                    ->backups()\n                    ->map(function (Backup $backup) {\n                        return [\n                            'path' => $backup->path(),\n                            'created_at' => $backup->date()->format('Y-m-d H:i:s'),\n                            'size' => Format::humanReadableSize($backup->size()),\n                        ];\n                    })\n                    ->toArray();\n            });\n\n            return response()->json([\n                'backups' => $backups,\n                'disks' => $configuredBackupDisks,\n            ]);\n        } catch (\\Exception $e) {\n            return response()->json([\n                'backups' => [],\n                'error' => 'invalid_disk_credentials',\n                'error_message' => $e->getMessage(),\n                'disks' => $configuredBackupDisks,\n            ]);\n        }\n    }\n\n    /**\n     * Store a newly created resource in storage.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return JsonResponse\n     */\n    public function store(Request $request)\n    {\n        $this->authorize('manage backups');\n\n        dispatch(new CreateBackupJob($request->all()))->onQueue(config('backup.queue.name'));\n\n        return $this->respondSuccess();\n    }\n\n    /**\n     * Remove the specified resource from storage.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return JsonResponse\n     */\n    public function destroy($disk, Request $request)\n    {\n        $this->authorize('manage backups');\n\n        $validated = $request->validate([\n            'path' => ['required', new PathToZip()],\n        ]);\n\n        $backupDestination = BackupDestination::create(config('filesystems.default'), config('backup.backup.name'));\n\n        $backupDestination\n            ->backups()\n            ->first(function (Backup $backup) use ($validated) {\n                return $backup->path() === $validated['path'];\n            })\n            ->delete();\n\n        return $this->respondSuccess();\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Backup/DownloadBackupController.php",
    "content": "<?php\n\n// Implementation taken from nova-backup-tool - https://github.com/spatie/nova-backup-tool/\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Backup;\n\nuse Crater\\Rules\\Backup\\PathToZip;\nuse Illuminate\\Http\\Request;\nuse Spatie\\Backup\\BackupDestination\\Backup;\nuse Spatie\\Backup\\BackupDestination\\BackupDestination;\nuse Symfony\\Component\\HttpFoundation\\Response;\nuse Symfony\\Component\\HttpFoundation\\StreamedResponse;\n\nclass DownloadBackupController extends ApiController\n{\n    public function __invoke(Request $request)\n    {\n        $this->authorize('manage backups');\n\n        $validated = $request->validate([\n            'path' => ['required', new PathToZip()],\n        ]);\n\n        $backupDestination = BackupDestination::create(config('filesystems.default'), config('backup.backup.name'));\n\n        $backup = $backupDestination->backups()->first(function (Backup $backup) use ($validated) {\n            return $backup->path() === $validated['path'];\n        });\n\n        if (! $backup) {\n            return response('Backup not found', Response::HTTP_UNPROCESSABLE_ENTITY);\n        }\n\n        return $this->respondWithBackupStream($backup);\n    }\n\n    public function respondWithBackupStream(Backup $backup): StreamedResponse\n    {\n        $fileName = pathinfo($backup->path(), PATHINFO_BASENAME);\n\n        $downloadHeaders = [\n            'Cache-Control' => 'must-revalidate, post-check=0, pre-check=0',\n            'Content-Type' => 'application/zip',\n            'Content-Length' => $backup->size(),\n            'Content-Disposition' => 'attachment; filename=\"'.$fileName.'\"',\n            'Pragma' => 'public',\n        ];\n\n        return response()->stream(function () use ($backup) {\n            $stream = $backup->stream();\n\n            fpassthru($stream);\n\n            if (is_resource($stream)) {\n                fclose($stream);\n            }\n        }, 200, $downloadHeaders);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Company/CompaniesController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Company;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Http\\Requests\\CompaniesRequest;\nuse Crater\\Http\\Resources\\CompanyResource;\nuse Crater\\Models\\Company;\nuse Crater\\Models\\User;\nuse Illuminate\\Http\\Request;\nuse Silber\\Bouncer\\BouncerFacade;\nuse Vinkla\\Hashids\\Facades\\Hashids;\n\nclass CompaniesController extends Controller\n{\n    public function store(CompaniesRequest $request)\n    {\n        $this->authorize('create company');\n\n        $user = $request->user();\n\n        $company = Company::create($request->getCompanyPayload());\n        $company->unique_hash = Hashids::connection(Company::class)->encode($company->id);\n        $company->save();\n        $company->setupDefaultData();\n        $user->companies()->attach($company->id);\n        $user->assign('super admin');\n\n        if ($request->address) {\n            $company->address()->create($request->address);\n        }\n\n        return new CompanyResource($company);\n    }\n\n    public function destroy(Request $request)\n    {\n        $company = Company::find($request->header('company'));\n\n        $this->authorize('delete company', $company);\n\n        $user = $request->user();\n\n        if ($request->name !== $company->name) {\n            return respondJson('company_name_must_match_with_given_name', 'Company name must match with given name');\n        }\n\n        if ($user->loadCount('companies')->companies_count <= 1) {\n            return respondJson('You_cannot_delete_all_companies', 'You cannot delete all companies');\n        }\n\n        $company->deleteCompany($user);\n\n        return response()->json([\n            'success' => true\n        ]);\n    }\n\n    public function transferOwnership(Request $request, User $user)\n    {\n        $company = Company::find($request->header('company'));\n        $this->authorize('transfer company ownership', $company);\n\n        if ($user->hasCompany($company->id)) {\n            return response()->json([\n                'success' => false,\n                'message' => 'User does not belongs to this company.'\n            ]);\n        }\n\n        $company->update(['owner_id' => $user->id]);\n        BouncerFacade::sync($user)->roles(['super admin']);\n\n        return response()->json([\n            'success' => true\n        ]);\n    }\n\n    public function getUserCompanies(Request $request)\n    {\n        $companies = $request->user()->companies;\n\n        return CompanyResource::collection($companies);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Company/CompanyController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Company;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Http\\Resources\\CompanyResource;\nuse Crater\\Models\\Company;\nuse Illuminate\\Http\\Request;\n\nclass CompanyController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function __invoke(Request $request)\n    {\n        $company = Company::find($request->header('company'));\n\n        return new CompanyResource($company);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Config/FiscalYearsController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Config;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Illuminate\\Http\\Request;\n\nclass FiscalYearsController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function __invoke(Request $request)\n    {\n        return response()->json([\n            'fiscal_years' => config('crater.fiscal_years'),\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Config/LanguagesController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Config;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Illuminate\\Http\\Request;\n\nclass LanguagesController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function __invoke(Request $request)\n    {\n        return response()->json([\n            'languages' => config('crater.languages'),\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Config/RetrospectiveEditsController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Config;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Illuminate\\Http\\Request;\n\nclass RetrospectiveEditsController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function __invoke(Request $request)\n    {\n        return response()->json([\n            'retrospective_edits' => config('crater.retrospective_edits'),\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/CustomField/CustomFieldsController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\CustomField;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Http\\Requests\\CustomFieldRequest;\nuse Crater\\Http\\Resources\\CustomFieldResource;\nuse Crater\\Models\\CustomField;\nuse Illuminate\\Http\\Request;\n\nclass CustomFieldsController extends Controller\n{\n    /**\n     * Display a listing of the resource.\n     *\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function index(Request $request)\n    {\n        $this->authorize('viewAny', CustomField::class);\n\n        $limit = $request->has('limit') ? $request->limit : 5;\n\n        $customFields = CustomField::applyFilters($request->all())\n            ->whereCompany()\n            ->latest()\n            ->paginateData($limit);\n\n        return CustomFieldResource::collection($customFields);\n    }\n\n    /**\n     * Store a newly created resource in storage.\n     *\n     * @param  \\Illuminate\\Http\\CustomFieldRequest  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function store(CustomFieldRequest $request)\n    {\n        $this->authorize('create', CustomField::class);\n\n        $customField = CustomField::createCustomField($request);\n\n        return new CustomFieldResource($customField);\n    }\n\n    /**\n     * Display the specified resource.\n     *\n     * @param  int  $id\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function show(CustomField $customField)\n    {\n        $this->authorize('view', $customField);\n\n        return new CustomFieldResource($customField);\n    }\n\n    /**\n     * Update the specified resource in storage.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @param  int  $id\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function update(CustomFieldRequest $request, CustomField $customField)\n    {\n        $this->authorize('update', $customField);\n\n        $customField->updateCustomField($request);\n\n        return new CustomFieldResource($customField);\n    }\n\n    /**\n     * Remove the specified resource from storage.\n     *\n     * @param  int  $id\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function destroy(CustomField $customField)\n    {\n        $this->authorize('delete', $customField);\n\n        if ($customField->customFieldValues()->exists()) {\n            $customField->customFieldValues()->delete();\n        }\n\n        $customField->forceDelete();\n\n        return response()->json([\n            'success' => true,\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Customer/CustomerStatsController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Customer;\n\nuse Carbon\\Carbon;\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Http\\Resources\\CustomerResource;\nuse Crater\\Models\\CompanySetting;\nuse Crater\\Models\\Customer;\nuse Crater\\Models\\Expense;\nuse Crater\\Models\\Invoice;\nuse Crater\\Models\\Payment;\nuse Illuminate\\Http\\Request;\n\nclass CustomerStatsController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function __invoke(Request $request, Customer $customer)\n    {\n        $this->authorize('view', $customer);\n\n        $i = 0;\n        $months = [];\n        $invoiceTotals = [];\n        $expenseTotals = [];\n        $receiptTotals = [];\n        $netProfits = [];\n        $monthCounter = 0;\n        $fiscalYear = CompanySetting::getSetting('fiscal_year', $request->header('company'));\n        $startDate = Carbon::now();\n        $start = Carbon::now();\n        $end = Carbon::now();\n        $terms = explode('-', $fiscalYear);\n\n        if ($terms[0] <= $start->month) {\n            $startDate->month($terms[0])->startOfMonth();\n            $start->month($terms[0])->startOfMonth();\n            $end->month($terms[0])->endOfMonth();\n        } else {\n            $startDate->subYear()->month($terms[0])->startOfMonth();\n            $start->subYear()->month($terms[0])->startOfMonth();\n            $end->subYear()->month($terms[0])->endOfMonth();\n        }\n\n        if ($request->has('previous_year')) {\n            $startDate->subYear()->startOfMonth();\n            $start->subYear()->startOfMonth();\n            $end->subYear()->endOfMonth();\n        }\n        while ($monthCounter < 12) {\n            array_push(\n                $invoiceTotals,\n                Invoice::whereBetween(\n                    'invoice_date',\n                    [$start->format('Y-m-d'), $end->format('Y-m-d')]\n                )\n                    ->whereCompany()\n                    ->whereCustomer($customer->id)\n                    ->sum('total') ?? 0\n            );\n            array_push(\n                $expenseTotals,\n                Expense::whereBetween(\n                    'expense_date',\n                    [$start->format('Y-m-d'), $end->format('Y-m-d')]\n                )\n                    ->whereCompany()\n                    ->whereUser($customer->id)\n                    ->sum('amount') ?? 0\n            );\n            array_push(\n                $receiptTotals,\n                Payment::whereBetween(\n                    'payment_date',\n                    [$start->format('Y-m-d'), $end->format('Y-m-d')]\n                )\n                    ->whereCompany()\n                    ->whereCustomer($customer->id)\n                    ->sum('amount') ?? 0\n            );\n            array_push(\n                $netProfits,\n                ($receiptTotals[$i] - $expenseTotals[$i])\n            );\n            $i++;\n            array_push($months, $start->format('M'));\n            $monthCounter++;\n            $end->startOfMonth();\n            $start->addMonth()->startOfMonth();\n            $end->addMonth()->endOfMonth();\n        }\n\n        $start->subMonth()->endOfMonth();\n\n        $salesTotal = Invoice::whereBetween(\n            'invoice_date',\n            [$startDate->format('Y-m-d'), $start->format('Y-m-d')]\n        )\n            ->whereCompany()\n            ->whereCustomer($customer->id)\n            ->sum('total');\n        $totalReceipts = Payment::whereBetween(\n            'payment_date',\n            [$startDate->format('Y-m-d'), $start->format('Y-m-d')]\n        )\n            ->whereCompany()\n            ->whereCustomer($customer->id)\n            ->sum('amount');\n        $totalExpenses = Expense::whereBetween(\n            'expense_date',\n            [$startDate->format('Y-m-d'), $start->format('Y-m-d')]\n        )\n            ->whereCompany()\n            ->whereUser($customer->id)\n            ->sum('amount');\n        $netProfit = (int) $totalReceipts - (int) $totalExpenses;\n\n        $chartData = [\n            'months' => $months,\n            'invoiceTotals' => $invoiceTotals,\n            'expenseTotals' => $expenseTotals,\n            'receiptTotals' => $receiptTotals,\n            'netProfit' => $netProfit,\n            'netProfits' => $netProfits,\n            'salesTotal' => $salesTotal,\n            'totalReceipts' => $totalReceipts,\n            'totalExpenses' => $totalExpenses,\n        ];\n\n        $customer = Customer::find($customer->id);\n\n        return (new CustomerResource($customer))\n            ->additional(['meta' => [\n                'chartData' => $chartData\n            ]]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Customer/CustomersController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Customer;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Http\\Requests;\nuse Crater\\Http\\Requests\\DeleteCustomersRequest;\nuse Crater\\Http\\Resources\\CustomerResource;\nuse Crater\\Models\\Customer;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\DB;\n\nclass CustomersController extends Controller\n{\n    /**\n     * Display a listing of the resource.\n     *\n     * @return \\Illuminate\\Http\\JsonResponse\n     */\n    public function index(Request $request)\n    {\n        $this->authorize('viewAny', Customer::class);\n\n        $limit = $request->has('limit') ? $request->limit : 10;\n\n        $customers = Customer::with('creator')\n            ->whereCompany()\n            ->applyFilters($request->all())\n            ->select(\n                'customers.*',\n                DB::raw('sum(invoices.base_due_amount) as base_due_amount'),\n                DB::raw('sum(invoices.due_amount) as due_amount'),\n            )\n            ->groupBy('customers.id')\n            ->leftJoin('invoices', 'customers.id', '=', 'invoices.customer_id')\n            ->paginateData($limit);\n\n        return (CustomerResource::collection($customers))\n            ->additional(['meta' => [\n                'customer_total_count' => Customer::whereCompany()->count(),\n            ]]);\n    }\n\n    /**\n     * Store a newly created resource in storage.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\JsonResponse\n     */\n    public function store(Requests\\CustomerRequest $request)\n    {\n        $this->authorize('create', Customer::class);\n\n        $customer = Customer::createCustomer($request);\n\n        return new CustomerResource($customer);\n    }\n\n    /**\n     * Display the specified resource.\n     *\n     * @param  Customer $customer\n     * @return \\Illuminate\\Http\\JsonResponse\n     */\n    public function show(Customer $customer)\n    {\n        $this->authorize('view', $customer);\n\n        return new CustomerResource($customer);\n    }\n\n    /**\n     * Update the specified resource in storage.\n     *\n     * @param  \\Illuminate\\Http\\Request $request\n     * @param  \\Crater\\Models\\Customer $customer\n     * @return \\Illuminate\\Http\\JsonResponse\n     */\n    public function update(Requests\\CustomerRequest $request, Customer $customer)\n    {\n        $this->authorize('update', $customer);\n\n        $customer = Customer::updateCustomer($request, $customer);\n\n        if (is_string($customer)) {\n            return respondJson('you_cannot_edit_currency', 'Cannot change currency once transactions created');\n        }\n\n        return new CustomerResource($customer);\n    }\n\n    /**\n     * Remove a list of Customers along side all their resources (ie. Estimates, Invoices, Payments and Addresses)\n     *\n     * @param  \\Illuminate\\Http\\Request $request\n     * @return \\Illuminate\\Http\\JsonResponse\n     */\n    public function delete(DeleteCustomersRequest $request)\n    {\n        $this->authorize('delete multiple customers');\n\n        Customer::deleteCustomers($request->ids);\n\n        return response()->json([\n            'success' => true,\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Dashboard/DashboardController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Dashboard;\n\nuse Carbon\\Carbon;\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Models\\Company;\nuse Crater\\Models\\CompanySetting;\nuse Crater\\Models\\Customer;\nuse Crater\\Models\\Estimate;\nuse Crater\\Models\\Expense;\nuse Crater\\Models\\Invoice;\nuse Crater\\Models\\Payment;\nuse Illuminate\\Http\\Request;\nuse Silber\\Bouncer\\BouncerFacade;\n\nclass DashboardController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\JsonResponse\n     */\n    public function __invoke(Request $request)\n    {\n        $company = Company::find($request->header('company'));\n\n        $this->authorize('view dashboard', $company);\n\n        $invoice_totals = [];\n        $expense_totals = [];\n        $receipt_totals = [];\n        $net_income_totals = [];\n\n        $i = 0;\n        $months = [];\n        $monthCounter = 0;\n        $fiscalYear = CompanySetting::getSetting('fiscal_year', $request->header('company'));\n        $startDate = Carbon::now();\n        $start = Carbon::now();\n        $end = Carbon::now();\n        $terms = explode('-', $fiscalYear);\n\n        if ($terms[0] <= $start->month) {\n            $startDate->month($terms[0])->startOfMonth();\n            $start->month($terms[0])->startOfMonth();\n            $end->month($terms[0])->endOfMonth();\n        } else {\n            $startDate->subYear()->month($terms[0])->startOfMonth();\n            $start->subYear()->month($terms[0])->startOfMonth();\n            $end->subYear()->month($terms[0])->endOfMonth();\n        }\n\n        if ($request->has('previous_year')) {\n            $startDate->subYear()->startOfMonth();\n            $start->subYear()->startOfMonth();\n            $end->subYear()->endOfMonth();\n        }\n\n        while ($monthCounter < 12) {\n            array_push(\n                $invoice_totals,\n                Invoice::whereBetween(\n                    'invoice_date',\n                    [$start->format('Y-m-d'), $end->format('Y-m-d')]\n                )\n                ->whereCompany()\n                ->sum('base_total')\n            );\n            array_push(\n                $expense_totals,\n                Expense::whereBetween(\n                    'expense_date',\n                    [$start->format('Y-m-d'), $end->format('Y-m-d')]\n                )\n                ->whereCompany()\n                ->sum('base_amount')\n            );\n            array_push(\n                $receipt_totals,\n                Payment::whereBetween(\n                    'payment_date',\n                    [$start->format('Y-m-d'), $end->format('Y-m-d')]\n                )\n                ->whereCompany()\n                ->sum('base_amount')\n            );\n            array_push(\n                $net_income_totals,\n                ($receipt_totals[$i] - $expense_totals[$i])\n            );\n            $i++;\n            array_push($months, $start->format('M'));\n            $monthCounter++;\n            $end->startOfMonth();\n            $start->addMonth()->startOfMonth();\n            $end->addMonth()->endOfMonth();\n        }\n\n        $start->subMonth()->endOfMonth();\n\n        $total_sales = Invoice::whereBetween(\n            'invoice_date',\n            [$startDate->format('Y-m-d'), $start->format('Y-m-d')]\n        )\n            ->whereCompany()\n            ->sum('base_total');\n\n        $total_receipts = Payment::whereBetween(\n            'payment_date',\n            [$startDate->format('Y-m-d'), $start->format('Y-m-d')]\n        )\n            ->whereCompany()\n            ->sum('base_amount');\n\n        $total_expenses = Expense::whereBetween(\n            'expense_date',\n            [$startDate->format('Y-m-d'), $start->format('Y-m-d')]\n        )\n            ->whereCompany()\n            ->sum('base_amount');\n\n        $total_net_income = (int)$total_receipts - (int)$total_expenses;\n\n        $chart_data = [\n            'months' => $months,\n            'invoice_totals' => $invoice_totals,\n            'expense_totals' => $expense_totals,\n            'receipt_totals' => $receipt_totals,\n            'net_income_totals' => $net_income_totals,\n        ];\n\n        $total_customer_count = Customer::whereCompany()->count();\n        $total_invoice_count = Invoice::whereCompany()\n            ->count();\n        $total_estimate_count = Estimate::whereCompany()->count();\n        $total_amount_due = Invoice::whereCompany()\n            ->sum('base_due_amount');\n\n        $recent_due_invoices = Invoice::with('customer')\n            ->whereCompany()\n            ->where('base_due_amount', '>', 0)\n            ->take(5)\n            ->latest()\n            ->get();\n        $recent_estimates = Estimate::with('customer')->whereCompany()->take(5)->latest()->get();\n\n        return response()->json([\n            'total_amount_due' => $total_amount_due,\n            'total_customer_count' => $total_customer_count,\n            'total_invoice_count' => $total_invoice_count,\n            'total_estimate_count' => $total_estimate_count,\n\n            'recent_due_invoices' => BouncerFacade::can('view-invoice', Invoice::class) ? $recent_due_invoices : [],\n            'recent_estimates' => BouncerFacade::can('view-estimate', Estimate::class) ? $recent_estimates : [],\n\n            'chart_data' => $chart_data,\n\n            'total_sales' => $total_sales,\n            'total_receipts' => $total_receipts,\n            'total_expenses' => $total_expenses,\n            'total_net_income' => $total_net_income,\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Estimate/ChangeEstimateStatusController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Estimate;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Models\\Estimate;\nuse Illuminate\\Http\\Request;\n\nclass ChangeEstimateStatusController extends Controller\n{\n    /**\n    * Handle the incoming request.\n    *\n    * @param  \\Illuminate\\Http\\Request  $request\n    * @param  Estimate $estimate\n    * @return \\Illuminate\\Http\\Response\n    */\n    public function __invoke(Request $request, Estimate $estimate)\n    {\n        $this->authorize('send estimate', $estimate);\n\n        $estimate->update($request->only('status'));\n\n        return response()->json([\n            'success' => true,\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Estimate/ConvertEstimateController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Estimate;\n\nuse Carbon\\Carbon;\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Http\\Resources\\InvoiceResource;\nuse Crater\\Models\\CompanySetting;\nuse Crater\\Models\\Estimate;\nuse Crater\\Models\\Invoice;\nuse Crater\\Services\\SerialNumberFormatter;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\Auth;\nuse Vinkla\\Hashids\\Facades\\Hashids;\n\nclass ConvertEstimateController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @param  \\Crater\\Models\\Estimate $estimate\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function __invoke(Request $request, Estimate $estimate, Invoice $invoice)\n    {\n        $this->authorize('create', Invoice::class);\n\n        $estimate->load(['items', 'items.taxes', 'customer', 'taxes']);\n\n        $invoice_date = Carbon::now();\n        $due_date = null;\n\n        $dueDateEnabled = CompanySetting::getSetting(\n            'invoice_set_due_date_automatically',\n            $request->header('company')\n        );\n\n        if ($dueDateEnabled === 'YES') {\n            $dueDateDays = CompanySetting::getSetting(\n                'invoice_due_date_days',\n                $request->header('company')\n            );\n            $due_date = Carbon::now()->addDays($dueDateDays)->format('Y-m-d');\n        }\n\n        $serial = (new SerialNumberFormatter())\n            ->setModel($invoice)\n            ->setCompany($estimate->company_id)\n            ->setCustomer($estimate->customer_id)\n            ->setNextNumbers();\n\n        $templateName = $estimate->getInvoiceTemplateName();\n\n        $exchange_rate = $estimate->exchange_rate;\n\n        $invoice = Invoice::create([\n            'creator_id' => Auth::id(),\n            'invoice_date' => $invoice_date->format('Y-m-d'),\n            'due_date' => $due_date,\n            'invoice_number' => $serial->getNextNumber(),\n            'sequence_number' => $serial->nextSequenceNumber,\n            'customer_sequence_number' => $serial->nextCustomerSequenceNumber,\n            'reference_number' => $serial->getNextNumber(),\n            'customer_id' => $estimate->customer_id,\n            'company_id' => $request->header('company'),\n            'template_name' => $templateName,\n            'status' => Invoice::STATUS_DRAFT,\n            'paid_status' => Invoice::STATUS_UNPAID,\n            'sub_total' => $estimate->sub_total,\n            'discount' => $estimate->discount,\n            'discount_type' => $estimate->discount_type,\n            'discount_val' => $estimate->discount_val,\n            'total' => $estimate->total,\n            'due_amount' => $estimate->total,\n            'tax_per_item' => $estimate->tax_per_item,\n            'discount_per_item' => $estimate->discount_per_item,\n            'tax' => $estimate->tax,\n            'notes' => $estimate->notes,\n            'exchange_rate' => $exchange_rate,\n            'base_discount_val' => $estimate->discount_val * $exchange_rate,\n            'base_sub_total' => $estimate->sub_total * $exchange_rate,\n            'base_total' => $estimate->total * $exchange_rate,\n            'base_tax' => $estimate->tax * $exchange_rate,\n            'currency_id' => $estimate->currency_id,\n            'sales_tax_type' => $estimate->sales_tax_type,\n            'sales_tax_address_type' => $estimate->sales_tax_address_type,\n        ]);\n\n        $invoice->unique_hash = Hashids::connection(Invoice::class)->encode($invoice->id);\n        $invoice->save();\n        $invoiceItems = $estimate->items->toArray();\n\n        foreach ($invoiceItems as $invoiceItem) {\n            $invoiceItem['company_id'] = $request->header('company');\n            $invoiceItem['name'] = $invoiceItem['name'];\n            $estimateItem['exchange_rate'] = $exchange_rate;\n            $estimateItem['base_price'] = $invoiceItem['price'] * $exchange_rate;\n            $estimateItem['base_discount_val'] = $invoiceItem['discount_val'] * $exchange_rate;\n            $estimateItem['base_tax'] = $invoiceItem['tax'] * $exchange_rate;\n            $estimateItem['base_total'] = $invoiceItem['total'] * $exchange_rate;\n\n            $item = $invoice->items()->create($invoiceItem);\n\n            if (array_key_exists('taxes', $invoiceItem) && $invoiceItem['taxes']) {\n                foreach ($invoiceItem['taxes'] as $tax) {\n                    $tax['company_id'] = $request->header('company');\n\n                    if ($tax['amount']) {\n                        $item->taxes()->create($tax);\n                    }\n                }\n            }\n        }\n\n        if ($estimate->taxes) {\n            foreach ($estimate->taxes->toArray() as $tax) {\n                $tax['company_id'] = $request->header('company');\n                $tax['exchange_rate'] = $exchange_rate;\n                $tax['base_amount'] = $tax['amount'] * $exchange_rate;\n                $tax['currency_id'] = $estimate->currency_id;\n                unset($tax['estimate_id']);\n\n                $invoice->taxes()->create($tax);\n            }\n        }\n\n        $estimate->checkForEstimateConvertAction();\n\n        $invoice = Invoice::find($invoice->id);\n\n        return new InvoiceResource($invoice);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Estimate/EstimateTemplatesController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Estimate;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Models\\Estimate;\nuse Illuminate\\Http\\Request;\n\nclass EstimateTemplatesController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function __invoke(Request $request)\n    {\n        $this->authorize('viewAny', Estimate::class);\n\n        $estimateTemplates = Estimate::estimateTemplates();\n\n        return response()->json([\n            'estimateTemplates' => $estimateTemplates\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Estimate/EstimatesController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Estimate;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Http\\Requests\\DeleteEstimatesRequest;\nuse Crater\\Http\\Requests\\EstimatesRequest;\nuse Crater\\Http\\Resources\\EstimateResource;\nuse Crater\\Jobs\\GenerateEstimatePdfJob;\nuse Crater\\Models\\Estimate;\nuse Illuminate\\Http\\Request;\n\nclass EstimatesController extends Controller\n{\n    public function index(Request $request)\n    {\n        $this->authorize('viewAny', Estimate::class);\n\n        $limit = $request->has('limit') ? $request->limit : 10;\n\n        $estimates = Estimate::whereCompany()\n            ->join('customers', 'customers.id', '=', 'estimates.customer_id')\n            ->applyFilters($request->all())\n            ->select('estimates.*', 'customers.name')\n            ->latest()\n            ->paginateData($limit);\n\n        return (EstimateResource::collection($estimates))\n            ->additional(['meta' => [\n                'estimate_total_count' => Estimate::whereCompany()->count(),\n            ]]);\n    }\n\n    public function store(EstimatesRequest $request)\n    {\n        $this->authorize('create', Estimate::class);\n\n        $estimate = Estimate::createEstimate($request);\n\n        if ($request->has('estimateSend')) {\n            $estimate->send($request->title, $request->body);\n        }\n\n        GenerateEstimatePdfJob::dispatch($estimate);\n\n        return new EstimateResource($estimate);\n    }\n\n    public function show(Request $request, Estimate $estimate)\n    {\n        $this->authorize('view', $estimate);\n\n        return new EstimateResource($estimate);\n    }\n\n    public function update(EstimatesRequest $request, Estimate $estimate)\n    {\n        $this->authorize('update', $estimate);\n\n        $estimate = $estimate->updateEstimate($request);\n\n        GenerateEstimatePdfJob::dispatch($estimate, true);\n\n        return new EstimateResource($estimate);\n    }\n\n    public function delete(DeleteEstimatesRequest $request)\n    {\n        $this->authorize('delete multiple estimates');\n\n        Estimate::destroy($request->ids);\n\n        return response()->json([\n            'success' => true,\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Estimate/SendEstimateController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Estimate;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Http\\Requests\\SendEstimatesRequest;\nuse Crater\\Models\\Estimate;\n\nclass SendEstimateController extends Controller\n{\n    /**\n    * Handle the incoming request.\n    *\n    * @param  \\Crater\\Http\\Requests\\SendEstimatesRequest  $request\n    * @return \\Illuminate\\Http\\JsonResponse\n    */\n    public function __invoke(SendEstimatesRequest $request, Estimate $estimate)\n    {\n        $this->authorize('send estimate', $estimate);\n\n        $response = $estimate->send($request->all());\n\n        return response()->json($response);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Estimate/SendEstimatePreviewController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Estimate;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Http\\Requests\\SendEstimatesRequest;\nuse Crater\\Models\\Estimate;\nuse Illuminate\\Mail\\Markdown;\n\nclass SendEstimatePreviewController extends Controller\n{\n    /**\n    * Handle the incoming request.\n    *\n    * @param  \\Crater\\Http\\Requests\\SendEstimatesRequest  $request\n    * @return \\Illuminate\\Http\\JsonResponse\n    */\n    public function __invoke(SendEstimatesRequest $request, Estimate $estimate)\n    {\n        $this->authorize('send estimate', $estimate);\n\n        $markdown = new Markdown(view(), config('mail.markdown'));\n\n        $data = $estimate->sendEstimateData($request->all());\n        $data['url'] = $estimate->estimatePdfUrl;\n\n        return $markdown->render('emails.send.estimate', ['data' => $data]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/ExchangeRate/ExchangeRateProviderController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\ExchangeRate;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Http\\Requests\\ExchangeRateProviderRequest;\nuse Crater\\Http\\Resources\\ExchangeRateProviderResource;\nuse Crater\\Models\\ExchangeRateProvider;\nuse Illuminate\\Http\\Request;\n\nclass ExchangeRateProviderController extends Controller\n{\n    /**\n     * Display a listing of the resource.\n     *\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function index(Request $request)\n    {\n        $this->authorize('viewAny', ExchangeRateProvider::class);\n\n        $limit = $request->has('limit') ? $request->limit : 5;\n\n        $exchangeRateProviders = ExchangeRateProvider::whereCompany()->paginate($limit);\n\n        return ExchangeRateProviderResource::collection($exchangeRateProviders);\n    }\n\n    /**\n     * Store a newly created resource in storage.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function store(ExchangeRateProviderRequest $request)\n    {\n        $this->authorize('create', ExchangeRateProvider::class);\n\n        $query = ExchangeRateProvider::checkActiveCurrencies($request);\n\n        if (count($query) !== 0) {\n            return respondJson('currency_used', 'Currency used.');\n        }\n\n        $checkConverterApi = ExchangeRateProvider::checkExchangeRateProviderStatus($request);\n\n        if ($checkConverterApi->status() == 200) {\n            $exchangeRateProvider = ExchangeRateProvider::createFromRequest($request);\n\n            return new ExchangeRateProviderResource($exchangeRateProvider);\n        }\n\n        return $checkConverterApi;\n    }\n\n    /**\n     * Display the specified resource.\n     *\n     * @param  \\Crater\\Models\\ExchangeRateProvider  $exchangeRateProvider\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function show(ExchangeRateProvider $exchangeRateProvider)\n    {\n        $this->authorize('view', $exchangeRateProvider);\n\n        return new ExchangeRateProviderResource($exchangeRateProvider);\n    }\n\n    /**\n     * Update the specified resource in storage.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @param  \\Crater\\Models\\ExchangeRateProvider  $exchangeRateProvider\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function update(ExchangeRateProviderRequest $request, ExchangeRateProvider $exchangeRateProvider)\n    {\n        $this->authorize('update', $exchangeRateProvider);\n\n        $query = $exchangeRateProvider->checkUpdateActiveCurrencies($request);\n\n        if (count($query) !== 0) {\n            return respondJson('currency_used', 'Currency used.');\n        }\n\n        $checkConverterApi = ExchangeRateProvider::checkExchangeRateProviderStatus($request);\n\n        if ($checkConverterApi->status() == 200) {\n            $exchangeRateProvider->updateFromRequest($request);\n\n            return new ExchangeRateProviderResource($exchangeRateProvider);\n        }\n\n        return $checkConverterApi;\n    }\n\n    /**\n     * Remove the specified resource from storage.\n     *\n     * @param  \\Crater\\Models\\ExchangeRateProvider  $exchangeRateProvider\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function destroy(ExchangeRateProvider $exchangeRateProvider)\n    {\n        $this->authorize('delete', $exchangeRateProvider);\n\n        if ($exchangeRateProvider->active == true) {\n            return respondJson('provider_active', 'Provider Active.');\n        }\n\n        $exchangeRateProvider->delete();\n\n        return response()->json([\n            'success' => true,\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/ExchangeRate/GetActiveProviderController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\ExchangeRate;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Models\\Currency;\nuse Crater\\Models\\ExchangeRateProvider;\nuse Illuminate\\Http\\Request;\n\nclass GetActiveProviderController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function __invoke(Request $request, Currency $currency)\n    {\n        $query = ExchangeRateProvider::whereCompany()->whereJsonContains('currencies', $currency->code)\n                ->where('active', true)\n                ->get();\n\n        if (count($query) !== 0) {\n            return response()->json([\n                'success' => true,\n                'message' => 'provider_active',\n            ], 200);\n        }\n\n        return response()->json([\n            'error' => 'no_active_provider',\n        ], 200);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/ExchangeRate/GetExchangeRateController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\ExchangeRate;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Models\\CompanySetting;\nuse Crater\\Models\\Currency;\nuse Crater\\Models\\ExchangeRateLog;\nuse Crater\\Models\\ExchangeRateProvider;\nuse Crater\\Traits\\ExchangeRateProvidersTrait;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Arr;\n\nclass GetExchangeRateController extends Controller\n{\n    use ExchangeRateProvidersTrait;\n\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function __invoke(Request $request, Currency $currency)\n    {\n        $settings = CompanySetting::getSettings(['currency'], $request->header('company'));\n        $baseCurrency = Currency::findOrFail($settings['currency']);\n\n        $query = ExchangeRateProvider::whereJsonContains('currencies', $currency->code)\n                ->where('active', true)\n                ->get()\n                ->toArray();\n\n        $exchange_rate = ExchangeRateLog::where('base_currency_id', $currency->id)\n                ->where('currency_id', $baseCurrency->id)\n                ->orderBy('created_at', 'desc')\n                ->value('exchange_rate');\n\n        if ($query) {\n            $filter = Arr::only($query[0], ['key', 'driver', 'driver_config']);\n            $exchange_rate_value = $this->getExchangeRate($filter, $currency->code, $baseCurrency->code);\n\n            if ($exchange_rate_value->status() == 200) {\n                return $exchange_rate_value;\n            }\n        }\n        if ($exchange_rate) {\n            return response()->json([\n                'exchangeRate' => [$exchange_rate],\n            ], 200);\n        }\n\n        return response()->json([\n            'error' => 'no_exchange_rate_available',\n        ], 200);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/ExchangeRate/GetSupportedCurrenciesController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\ExchangeRate;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Models\\ExchangeRateProvider;\nuse Crater\\Traits\\ExchangeRateProvidersTrait;\nuse Illuminate\\Http\\Request;\n\nclass GetSupportedCurrenciesController extends Controller\n{\n    use ExchangeRateProvidersTrait;\n\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function __invoke(Request $request)\n    {\n        $this->authorize('viewAny', ExchangeRateProvider::class);\n\n        return $this->getSupportedCurrencies($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/ExchangeRate/GetUsedCurrenciesController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\ExchangeRate;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Models\\ExchangeRateProvider;\nuse Illuminate\\Http\\Request;\n\nclass GetUsedCurrenciesController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function __invoke(Request $request)\n    {\n        $this->authorize('viewAny', ExchangeRateProvider::class);\n\n        $providerId = $request->provider_id;\n\n        $activeExchangeRateProviders = ExchangeRateProvider::where('active', true)\n            ->whereCompany()\n            ->when($providerId, function ($query) use ($providerId) {\n                return $query->where('id', '<>', $providerId);\n            })\n            ->pluck('currencies');\n        $activeExchangeRateProvider = [];\n\n        foreach ($activeExchangeRateProviders as $data) {\n            if (is_array($data)) {\n                for ($limit = 0; $limit < count($data); $limit++) {\n                    $activeExchangeRateProvider[] = $data[$limit];\n                }\n            }\n        }\n\n        $allExchangeRateProviders = ExchangeRateProvider::whereCompany()->pluck('currencies');\n        $allExchangeRateProvider = [];\n\n        foreach ($allExchangeRateProviders as $data) {\n            if (is_array($data)) {\n                for ($limit = 0; $limit < count($data); $limit++) {\n                    $allExchangeRateProvider[] = $data[$limit];\n                }\n            }\n        }\n\n        return response()->json([\n            'allUsedCurrencies' => $allExchangeRateProvider ? $allExchangeRateProvider : [],\n            'activeUsedCurrencies' => $activeExchangeRateProvider ? $activeExchangeRateProvider : [],\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Expense/ExpenseCategoriesController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Expense;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Http\\Requests\\ExpenseCategoryRequest;\nuse Crater\\Http\\Resources\\ExpenseCategoryResource;\nuse Crater\\Models\\ExpenseCategory;\nuse Illuminate\\Http\\Request;\n\nclass ExpenseCategoriesController extends Controller\n{\n    /**\n     * Display a listing of the resource.\n     *\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function index(Request $request)\n    {\n        $this->authorize('viewAny', ExpenseCategory::class);\n\n        $limit = $request->has('limit') ? $request->limit : 5;\n\n        $categories = ExpenseCategory::applyFilters($request->all())\n            ->whereCompany()\n            ->latest()\n            ->paginateData($limit);\n\n        return ExpenseCategoryResource::collection($categories);\n    }\n\n    /**\n     * Store a newly created resource in storage.\n     *\n     * @param  \\Illuminate\\Http\\Request $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function store(ExpenseCategoryRequest $request)\n    {\n        $this->authorize('create', ExpenseCategory::class);\n\n        $category = ExpenseCategory::create($request->getExpenseCategoryPayload());\n\n        return new ExpenseCategoryResource($category);\n    }\n\n    /**\n     * Display the specified resource.\n     *\n     * @param  \\Crater\\Models\\ExpenseCategory $category\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function show(ExpenseCategory $category)\n    {\n        $this->authorize('view', $category);\n\n        return new ExpenseCategoryResource($category);\n    }\n\n    /**\n     * Update the specified resource in storage.\n     *\n     * @param  \\Illuminate\\Http\\Request $request\n     * @param  \\Crater\\Models\\ExpenseCategory $ExpenseCategory\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function update(ExpenseCategoryRequest $request, ExpenseCategory $category)\n    {\n        $this->authorize('update', $category);\n\n        $category->update($request->getExpenseCategoryPayload());\n\n        return new ExpenseCategoryResource($category);\n    }\n\n    /**\n     * Remove the specified resource from storage.\n     *\n     * @param  \\Crater\\ExpensesCategory $category\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function destroy(ExpenseCategory $category)\n    {\n        $this->authorize('delete', $category);\n\n        if ($category->expenses() && $category->expenses()->count() > 0) {\n            return respondJson('expense_attached', 'Expense Attached');\n        }\n\n        $category->delete();\n\n        return response()->json([\n            'success' => true,\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Expense/ExpensesController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Expense;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Http\\Requests\\DeleteExpensesRequest;\nuse Crater\\Http\\Requests\\ExpenseRequest;\nuse Crater\\Http\\Resources\\ExpenseResource;\nuse Crater\\Models\\Expense;\nuse Illuminate\\Http\\Request;\n\nclass ExpensesController extends Controller\n{\n    /**\n     * Display a listing of the resource.\n     *\n     * @return \\Illuminate\\Http\\JsonResponse\n     */\n    public function index(Request $request)\n    {\n        $this->authorize('viewAny', Expense::class);\n\n        $limit = $request->has('limit') ? $request->limit : 10;\n\n        $expenses = Expense::with('category', 'creator', 'fields')\n            ->whereCompany()\n            ->leftJoin('customers', 'customers.id', '=', 'expenses.customer_id')\n            ->join('expense_categories', 'expense_categories.id', '=', 'expenses.expense_category_id')\n            ->applyFilters($request->all())\n            ->select('expenses.*', 'expense_categories.name', 'customers.name as user_name')\n            ->paginateData($limit);\n\n        return (ExpenseResource::collection($expenses))\n            ->additional(['meta' => [\n                'expense_total_count' => Expense::whereCompany()->count(),\n            ]]);\n    }\n\n    /**\n     * Store a newly created resource in storage.\n     *\n     * @param  \\Crater\\Http\\Requests\\ExpenseRequest $request\n     * @return \\Illuminate\\Http\\JsonResponse\n     */\n    public function store(ExpenseRequest $request)\n    {\n        $this->authorize('create', Expense::class);\n\n        $expense = Expense::createExpense($request);\n\n        return new ExpenseResource($expense);\n    }\n\n    /**\n     * Display the specified resource.\n     *\n     * @param  \\Crater\\Models\\Expense $expense\n     * @return \\Illuminate\\Http\\JsonResponse\n     */\n    public function show(Expense $expense)\n    {\n        $this->authorize('view', $expense);\n\n        return new ExpenseResource($expense);\n    }\n\n    /**\n     * Update the specified resource in storage.\n     *\n     * @param  \\Crater\\Http\\Requests\\ExpenseRequest $request\n     * @param  \\Crater\\Models\\Expense $expense\n     * @return \\Illuminate\\Http\\JsonResponse\n     */\n    public function update(ExpenseRequest $request, Expense $expense)\n    {\n        $this->authorize('update', $expense);\n\n        $expense->updateExpense($request);\n\n        return new ExpenseResource($expense);\n    }\n\n    public function delete(DeleteExpensesRequest $request)\n    {\n        $this->authorize('delete multiple expenses');\n\n        Expense::destroy($request->ids);\n\n        return response()->json([\n            'success' => true,\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Expense/ShowReceiptController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Expense;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Models\\Expense;\n\nclass ShowReceiptController extends Controller\n{\n    /**\n     * Retrieve details of an expense receipt from storage.\n     *\n     * @param   \\Crater\\Models\\Expense $expense\n     * @return  \\Illuminate\\Http\\JsonResponse\n     */\n    public function __invoke(Expense $expense)\n    {\n        $this->authorize('view', $expense);\n\n        if ($expense) {\n            $media = $expense->getFirstMedia('receipts');\n\n            if ($media) {\n                return response()->file($media->getPath());\n            }\n\n            return respondJson('receipt_does_not_exist', 'Receipt does not exist.');\n        }\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Expense/UploadReceiptController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Expense;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Http\\Requests\\UploadExpenseReceiptRequest;\nuse Crater\\Models\\Expense;\n\nclass UploadReceiptController extends Controller\n{\n    /**\n     * Upload the expense receipts to storage.\n     *\n     * @param  \\Crater\\Http\\Requests\\ExpenseRequest $request\n     * @param  Expense $expense\n     * @return \\Illuminate\\Http\\JsonResponse\n     */\n    public function __invoke(UploadExpenseReceiptRequest $request, Expense $expense)\n    {\n        $this->authorize('update', $expense);\n\n        $data = json_decode($request->attachment_receipt);\n\n        if ($data) {\n            if ($request->type === 'edit') {\n                $expense->clearMediaCollection('receipts');\n            }\n\n            $expense->addMediaFromBase64($data->data)\n                ->usingFileName($data->name)\n                ->toMediaCollection('receipts');\n        }\n\n        return response()->json([\n            'success' => 'Expense receipts uploaded successfully',\n        ], 200);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/General/BootstrapController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\General;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Http\\Resources\\CompanyResource;\nuse Crater\\Http\\Resources\\UserResource;\nuse Crater\\Models\\Company;\nuse Crater\\Models\\CompanySetting;\nuse Crater\\Models\\Currency;\nuse Crater\\Models\\Module;\nuse Crater\\Models\\Setting;\nuse Crater\\Traits\\GeneratesMenuTrait;\nuse Illuminate\\Http\\Request;\nuse Silber\\Bouncer\\BouncerFacade;\n\nclass BootstrapController extends Controller\n{\n    use GeneratesMenuTrait;\n\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\JsonResponse\n     */\n    public function __invoke(Request $request)\n    {\n        $current_user = $request->user();\n        $current_user_settings = $current_user->getAllSettings();\n\n        $main_menu = $this->generateMenu('main_menu', $current_user);\n\n        $setting_menu = $this->generateMenu('setting_menu', $current_user);\n\n        $companies = $current_user->companies;\n\n        $current_company = Company::find($request->header('company'));\n\n        if ((! $current_company) || ($current_company && ! $current_user->hasCompany($current_company->id))) {\n            $current_company = $current_user->companies()->first();\n        }\n\n        $current_company_settings = CompanySetting::getAllSettings($current_company->id);\n\n        $current_company_currency = $current_company_settings->has('currency')\n            ? Currency::find($current_company_settings->get('currency'))\n            : Currency::first();\n\n        BouncerFacade::refreshFor($current_user);\n\n        $global_settings = Setting::getSettings([\n            'api_token',\n            'admin_portal_theme',\n            'admin_portal_logo',\n            'login_page_logo',\n            'login_page_heading',\n            'login_page_description',\n            'admin_page_title',\n            'copyright_text'\n        ]);\n\n        return response()->json([\n            'current_user' => new UserResource($current_user),\n            'current_user_settings' => $current_user_settings,\n            'current_user_abilities' => $current_user->getAbilities(),\n            'companies' => CompanyResource::collection($companies),\n            'current_company' => new CompanyResource($current_company),\n            'current_company_settings' => $current_company_settings,\n            'current_company_currency' => $current_company_currency,\n            'config' => config('crater'),\n            'global_settings' => $global_settings,\n            'main_menu' => $main_menu,\n            'setting_menu' => $setting_menu,\n            'modules' => Module::where('enabled', true)->pluck('name'),\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/General/BulkExchangeRateController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\General;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Http\\Requests\\BulkExchangeRateRequest;\nuse Crater\\Models\\CompanySetting;\nuse Crater\\Models\\Estimate;\nuse Crater\\Models\\Invoice;\nuse Crater\\Models\\Payment;\nuse Crater\\Models\\Tax;\n\nclass BulkExchangeRateController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function __invoke(BulkExchangeRateRequest $request)\n    {\n        $bulkExchangeRate = CompanySetting::getSetting('bulk_exchange_rate_configured', $request->header('company'));\n\n        if ($bulkExchangeRate == 'NO') {\n            if ($request->currencies) {\n                foreach ($request->currencies as $currency) {\n                    $currency['exchange_rate'] = $currency['exchange_rate'] ?? 1;\n\n                    $invoices = Invoice::where('currency_id', $currency['id'])->get();\n\n                    if ($invoices) {\n                        foreach ($invoices as $invoice) {\n                            $invoice->update([\n                                'exchange_rate' => $currency['exchange_rate'],\n                                'base_discount_val' => $invoice->sub_total * $currency['exchange_rate'],\n                                'base_sub_total' => $invoice->sub_total * $currency['exchange_rate'],\n                                'base_total' => $invoice->total * $currency['exchange_rate'],\n                                'base_tax' => $invoice->tax * $currency['exchange_rate'],\n                                'base_due_amount' => $invoice->due_amount * $currency['exchange_rate']\n                            ]);\n\n                            $this->items($invoice);\n                        }\n                    }\n\n                    $estimates = Estimate::where('currency_id', $currency['id'])->get();\n\n                    if ($estimates) {\n                        foreach ($estimates as $estimate) {\n                            $estimate->update([\n                                'exchange_rate' => $currency['exchange_rate'],\n                                'base_discount_val' => $estimate->sub_total * $currency['exchange_rate'],\n                                'base_sub_total' => $estimate->sub_total * $currency['exchange_rate'],\n                                'base_total' => $estimate->total * $currency['exchange_rate'],\n                                'base_tax' => $estimate->tax * $currency['exchange_rate']\n                            ]);\n\n                            $this->items($estimate);\n                        }\n                    }\n\n                    $taxes = Tax::where('currency_id', $currency['id'])->get();\n\n                    if ($taxes) {\n                        foreach ($taxes as $tax) {\n                            $tax->base_amount = $tax->base_amount * $currency['exchange_rate'];\n                            $tax->save();\n                        }\n                    }\n\n                    $payments = Payment::where('currency_id', $currency['id'])->get();\n\n                    if ($payments) {\n                        foreach ($payments as $payment) {\n                            $payment->exchange_rate = $currency['exchange_rate'];\n                            $payment->base_amount = $payment->amount * $currency['exchange_rate'];\n                            $payment->save();\n                        }\n                    }\n                }\n            }\n\n            $settings = [\n                'bulk_exchange_rate_configured' => 'YES'\n            ];\n\n            CompanySetting::setSettings($settings, $request->header('company'));\n\n            return response()->json([\n                'success' => true\n            ]);\n        }\n\n        return response()->json([\n            'error' => false\n        ]);\n    }\n\n    public function items($model)\n    {\n        foreach ($model->items as $item) {\n            $item->update([\n                'exchange_rate' => $model->exchange_rate,\n                'base_discount_val' => $item->discount_val * $model->exchange_rate,\n                'base_price' => $item->price * $model->exchange_rate,\n                'base_tax' => $item->tax * $model->exchange_rate,\n                'base_total' => $item->total * $model->exchange_rate\n            ]);\n\n            $this->taxes($item);\n        }\n\n        $this->taxes($model);\n    }\n\n    public function taxes($model)\n    {\n        if ($model->taxes()->exists()) {\n            $model->taxes->map(function ($tax) use ($model) {\n                $tax->update([\n                    'exchange_rate' => $model->exchange_rate,\n                    'base_amount' => $tax->amount * $model->exchange_rate,\n                ]);\n            });\n        }\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/General/ConfigController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\General;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Illuminate\\Http\\Request;\n\nclass ConfigController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function __invoke(Request $request)\n    {\n        return response()->json([\n            $request->key => config('crater.'.$request->key),\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/General/CountriesController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\General;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Http\\Resources\\CountryResource;\nuse Crater\\Models\\Country;\nuse Illuminate\\Http\\Request;\n\nclass CountriesController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\JsonResponse\n     */\n    public function __invoke(Request $request)\n    {\n        $countries = Country::all();\n\n        return CountryResource::collection($countries);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/General/CurrenciesController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\General;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Http\\Resources\\CurrencyResource;\nuse Crater\\Models\\Currency;\nuse Illuminate\\Http\\Request;\n\nclass CurrenciesController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function __invoke(Request $request)\n    {\n        $currencies = Currency::latest()->get();\n\n        return CurrencyResource::collection($currencies);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/General/DateFormatsController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\General;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Space\\DateFormatter;\nuse Illuminate\\Http\\Request;\n\nclass DateFormatsController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function __invoke(Request $request)\n    {\n        return response()->json([\n            'date_formats' => DateFormatter::get_list(),\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/General/GetAllUsedCurrenciesController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\General;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Models\\Currency;\nuse Crater\\Models\\Estimate;\nuse Crater\\Models\\Invoice;\nuse Crater\\Models\\Payment;\nuse Crater\\Models\\Tax;\nuse Illuminate\\Http\\Request;\n\nclass GetAllUsedCurrenciesController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function __invoke(Request $request)\n    {\n        $invoices = Invoice::where('exchange_rate', null)->pluck('currency_id')->toArray();\n\n        $taxes = Tax::where('exchange_rate', null)->pluck('currency_id')->toArray();\n\n        $estimates = Estimate::where('exchange_rate', null)->pluck('currency_id')->toArray();\n\n        $payments = Payment::where('exchange_rate', null)->pluck('currency_id')->toArray();\n\n        $currencies = array_merge($invoices, $taxes, $estimates, $payments);\n\n        return response()->json([\n            'currencies' => Currency::whereIn('id', $currencies)->get()\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/General/NextNumberController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\General;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Models\\Estimate;\nuse Crater\\Models\\Invoice;\nuse Crater\\Models\\Payment;\nuse Crater\\Services\\SerialNumberFormatter;\nuse Illuminate\\Http\\Request;\n\nclass NextNumberController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function __invoke(Request $request, Invoice $invoice, Estimate $estimate, Payment $payment)\n    {\n        $key = $request->key;\n        $nextNumber = null;\n        $serial = (new SerialNumberFormatter())\n            ->setCompany($request->header('company'))\n            ->setCustomer($request->userId);\n\n        try {\n            switch ($key) {\n                case 'invoice':\n                    $nextNumber = $serial->setModel($invoice)\n                        ->setModelObject($request->model_id)\n                        ->getNextNumber();\n\n                    break;\n\n                case 'estimate':\n                    $nextNumber = $serial->setModel($estimate)\n                        ->setModelObject($request->model_id)\n                        ->getNextNumber();\n\n                    break;\n\n                case 'payment':\n                    $nextNumber = $serial->setModel($payment)\n                        ->setModelObject($request->model_id)\n                        ->getNextNumber();\n\n                    break;\n\n                default:\n                    return;\n            }\n        } catch (\\Exception $exception) {\n            return response()->json([\n                'success' => false,\n                'message' => $exception->getMessage()\n            ]);\n        }\n\n        return response()->json([\n            'success' => true,\n            'nextNumber' => $nextNumber,\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/General/NotesController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\General;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Http\\Requests\\NotesRequest;\nuse Crater\\Http\\Resources\\NoteResource;\nuse Crater\\Models\\Note;\nuse Illuminate\\Http\\Request;\n\nclass NotesController extends Controller\n{\n    /**\n     * Display a listing of the resource.\n     *\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function index(Request $request)\n    {\n        $this->authorize('view notes');\n\n        $limit = $request->limit ?? 10;\n\n        $notes = Note::latest()\n            ->whereCompany()\n            ->applyFilters($request->all())\n            ->paginate($limit);\n\n        return NoteResource::collection($notes);\n    }\n\n    /**\n     * Store a newly created resource in storage.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function store(NotesRequest $request)\n    {\n        $this->authorize('manage notes');\n\n        $note = Note::create($request->getNotesPayload());\n\n        return new NoteResource($note);\n    }\n\n    /**\n     * Display the specified resource.\n     *\n     * @param  \\Crater\\Models\\Note  $note\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function show(Note $note)\n    {\n        $this->authorize('view notes');\n\n        return new NoteResource($note);\n    }\n\n    /**\n     * Update the specified resource in storage.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @param  \\Crater\\Models\\Note  $note\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function update(NotesRequest $request, Note $note)\n    {\n        $this->authorize('manage notes');\n\n        $note->update($request->getNotesPayload());\n\n        return new NoteResource($note);\n    }\n\n    /**\n     * Remove the specified resource from storage.\n     *\n     * @param  \\Crater\\Models\\Note  $note\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function destroy(Note $note)\n    {\n        $this->authorize('manage notes');\n\n        $note->delete();\n\n        return response()->json([\n            'success' => true,\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/General/NumberPlaceholdersController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\General;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Services\\SerialNumberFormatter;\nuse Illuminate\\Http\\Request;\n\nclass NumberPlaceholdersController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function __invoke(Request $request)\n    {\n        if ($request->format) {\n            $placeholders = SerialNumberFormatter::getPlaceholders($request->format);\n        } else {\n            $placeholders = [];\n        }\n\n        return response()->json([\n            'success' => true,\n            'placeholders' => $placeholders,\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/General/SearchController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\General;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Models\\Customer;\nuse Crater\\Models\\User;\nuse Illuminate\\Http\\Request;\n\nclass SearchController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function __invoke(Request $request)\n    {\n        $user = $request->user();\n\n        $customers = Customer::applyFilters($request->only(['search']))\n            ->whereCompany()\n            ->latest()\n            ->paginate(10);\n\n        if ($user->isOwner()) {\n            $users = User::applyFilters($request->only(['search']))\n                ->latest()\n                ->paginate(10);\n        }\n\n        return response()->json([\n            'customers' => $customers,\n            'users' => $users ?? [],\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/General/SearchUsersController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\General;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Models\\User;\nuse Illuminate\\Http\\Request;\n\nclass SearchUsersController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function __invoke(Request $request)\n    {\n        $this->authorize('create', User::class);\n\n        $users = User::whereEmail($request->email)\n            ->latest()\n            ->paginate(10);\n\n        return response()->json(['users' => $users]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/General/TimezonesController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\General;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Space\\TimeZones;\nuse Illuminate\\Http\\Request;\n\nclass TimezonesController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function __invoke(Request $request)\n    {\n        return response()->json([\n            'time_zones' => TimeZones::get_list(),\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Invoice/ChangeInvoiceStatusController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Invoice;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Models\\Invoice;\nuse Illuminate\\Http\\Request;\n\nclass ChangeInvoiceStatusController extends Controller\n{\n    /**\n    * Handle the incoming request.\n    *\n    * @param  \\Illuminate\\Http\\Request  $request\n    * @return \\Illuminate\\Http\\JsonResponse\n    */\n    public function __invoke(Request $request, Invoice $invoice)\n    {\n        $this->authorize('send invoice', $invoice);\n\n        if ($request->status == Invoice::STATUS_SENT) {\n            $invoice->status = Invoice::STATUS_SENT;\n            $invoice->sent = true;\n            $invoice->save();\n        } elseif ($request->status == Invoice::STATUS_COMPLETED) {\n            $invoice->status = Invoice::STATUS_COMPLETED;\n            $invoice->paid_status = Invoice::STATUS_PAID;\n            $invoice->due_amount = 0;\n            $invoice->save();\n        }\n\n        return response()->json([\n            'success' => true,\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Invoice/CloneInvoiceController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Invoice;\n\nuse Carbon\\Carbon;\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Http\\Resources\\InvoiceResource;\nuse Crater\\Models\\CompanySetting;\nuse Crater\\Models\\Invoice;\nuse Crater\\Services\\SerialNumberFormatter;\nuse Illuminate\\Http\\Request;\nuse Vinkla\\Hashids\\Facades\\Hashids;\n\nclass CloneInvoiceController extends Controller\n{\n    /**\n     * Mail a specific invoice to the corresponding customer's email address.\n     *\n     * @param  \\Illuminate\\Http\\Request $request\n     * @return \\Illuminate\\Http\\JsonResponse\n     */\n    public function __invoke(Request $request, Invoice $invoice)\n    {\n        $this->authorize('create', Invoice::class);\n\n        $date = Carbon::now();\n\n        $serial = (new SerialNumberFormatter())\n            ->setModel($invoice)\n            ->setCompany($invoice->company_id)\n            ->setCustomer($invoice->customer_id)\n            ->setNextNumbers();\n\n        $due_date = null;\n        $dueDateEnabled = CompanySetting::getSetting(\n            'invoice_set_due_date_automatically',\n            $request->header('company')\n        );\n\n        if ($dueDateEnabled === 'YES') {\n            $dueDateDays = CompanySetting::getSetting(\n                'invoice_due_date_days',\n                $request->header('company')\n            );\n            $due_date = Carbon::now()->addDays($dueDateDays)->format('Y-m-d');\n        }\n\n        $exchange_rate = $invoice->exchange_rate;\n\n        $newInvoice = Invoice::create([\n            'invoice_date' => $date->format('Y-m-d'),\n            'due_date' => $due_date,\n            'invoice_number' => $serial->getNextNumber(),\n            'sequence_number' => $serial->nextSequenceNumber,\n            'customer_sequence_number' => $serial->nextCustomerSequenceNumber,\n            'reference_number' => $invoice->reference_number,\n            'customer_id' => $invoice->customer_id,\n            'company_id' => $request->header('company'),\n            'template_name' => $invoice->template_name,\n            'status' => Invoice::STATUS_DRAFT,\n            'paid_status' => Invoice::STATUS_UNPAID,\n            'sub_total' => $invoice->sub_total,\n            'discount' => $invoice->discount,\n            'discount_type' => $invoice->discount_type,\n            'discount_val' => $invoice->discount_val,\n            'total' => $invoice->total,\n            'due_amount' => $invoice->total,\n            'tax_per_item' => $invoice->tax_per_item,\n            'discount_per_item' => $invoice->discount_per_item,\n            'tax' => $invoice->tax,\n            'notes' => $invoice->notes,\n            'exchange_rate' => $exchange_rate,\n            'base_total' => $invoice->total * $exchange_rate,\n            'base_discount_val' => $invoice->discount_val * $exchange_rate,\n            'base_sub_total' => $invoice->sub_total * $exchange_rate,\n            'base_tax' => $invoice->tax * $exchange_rate,\n            'base_due_amount' => $invoice->total * $exchange_rate,\n            'currency_id' => $invoice->currency_id,\n            'sales_tax_type' => $invoice->sales_tax_type,\n            'sales_tax_address_type' => $invoice->sales_tax_address_type,\n        ]);\n\n        $newInvoice->unique_hash = Hashids::connection(Invoice::class)->encode($newInvoice->id);\n        $newInvoice->save();\n        $invoice->load('items.taxes');\n\n        $invoiceItems = $invoice->items->toArray();\n\n        foreach ($invoiceItems as $invoiceItem) {\n            $invoiceItem['company_id'] = $request->header('company');\n            $invoiceItem['name'] = $invoiceItem['name'];\n            $invoiceItem['exchange_rate'] = $exchange_rate;\n            $invoiceItem['base_price'] = $invoiceItem['price'] * $exchange_rate;\n            $invoiceItem['base_discount_val'] = $invoiceItem['discount_val'] * $exchange_rate;\n            $invoiceItem['base_tax'] = $invoiceItem['tax'] * $exchange_rate;\n            $invoiceItem['base_total'] = $invoiceItem['total'] * $exchange_rate;\n\n            $item = $newInvoice->items()->create($invoiceItem);\n\n            if (array_key_exists('taxes', $invoiceItem) && $invoiceItem['taxes']) {\n                foreach ($invoiceItem['taxes'] as $tax) {\n                    $tax['company_id'] = $request->header('company');\n\n                    if ($tax['amount']) {\n                        $item->taxes()->create($tax);\n                    }\n                }\n            }\n        }\n\n        if ($invoice->taxes) {\n            foreach ($invoice->taxes->toArray() as $tax) {\n                $tax['company_id'] = $request->header('company');\n                $newInvoice->taxes()->create($tax);\n            }\n        }\n\n        if ($invoice->fields()->exists()) {\n            $customFields = [];\n\n            foreach ($invoice->fields as $data) {\n                $customFields[] = [\n                    'id' => $data->custom_field_id,\n                    'value' => $data->defaultAnswer\n                ];\n            }\n\n            $newInvoice->addCustomFields($customFields);\n        }\n\n        return new InvoiceResource($newInvoice);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Invoice/InvoiceTemplatesController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Invoice;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Models\\Invoice;\nuse Illuminate\\Http\\Request;\n\nclass InvoiceTemplatesController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function __invoke(Request $request)\n    {\n        $this->authorize('viewAny', Invoice::class);\n\n        $invoiceTemplates = Invoice::invoiceTemplates();\n\n        return response()->json([\n            'invoiceTemplates' => $invoiceTemplates,\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Invoice/InvoicesController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Invoice;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Http\\Requests;\nuse Crater\\Http\\Requests\\DeleteInvoiceRequest;\nuse Crater\\Http\\Resources\\InvoiceResource;\nuse Crater\\Jobs\\GenerateInvoicePdfJob;\nuse Crater\\Models\\Invoice;\nuse Illuminate\\Http\\Request;\n\nclass InvoicesController extends Controller\n{\n    /**\n     * Display a listing of the resource.\n     *\n     * @return \\Illuminate\\Http\\JsonResponse\n     */\n    public function index(Request $request)\n    {\n        $this->authorize('viewAny', Invoice::class);\n\n        $limit = $request->has('limit') ? $request->limit : 10;\n\n        $invoices = Invoice::whereCompany()\n            ->join('customers', 'customers.id', '=', 'invoices.customer_id')\n            ->applyFilters($request->all())\n            ->select('invoices.*', 'customers.name')\n            ->latest()\n            ->paginateData($limit);\n\n        return (InvoiceResource::collection($invoices))\n            ->additional(['meta' => [\n                'invoice_total_count' => Invoice::whereCompany()->count(),\n            ]]);\n    }\n\n    /**\n     * Store a newly created resource in storage.\n     *\n     * @param  \\Illuminate\\Http\\Request $request\n     * @return \\Illuminate\\Http\\JsonResponse\n     */\n    public function store(Requests\\InvoicesRequest $request)\n    {\n        $this->authorize('create', Invoice::class);\n\n        $invoice = Invoice::createInvoice($request);\n\n        if ($request->has('invoiceSend')) {\n            $invoice->send($request->subject, $request->body);\n        }\n\n        GenerateInvoicePdfJob::dispatch($invoice);\n\n        return new InvoiceResource($invoice);\n    }\n\n    /**\n     * Display the specified resource.\n     *\n     * @param  \\Crater\\Models\\Invoice $invoice\n     * @return \\Illuminate\\Http\\JsonResponse\n     */\n    public function show(Request $request, Invoice $invoice)\n    {\n        $this->authorize('view', $invoice);\n\n        return new InvoiceResource($invoice);\n    }\n\n    /**\n     * Update the specified resource in storage.\n     *\n     * @param  \\Illuminate\\Http\\Request $request\n     * @param  Invoice $invoice\n     * @return \\Illuminate\\Http\\JsonResponse\n     */\n    public function update(Requests\\InvoicesRequest $request, Invoice $invoice)\n    {\n        $this->authorize('update', $invoice);\n\n        $invoice = $invoice->updateInvoice($request);\n\n        if (is_string($invoice)) {\n            return respondJson($invoice, $invoice);\n        }\n\n        GenerateInvoicePdfJob::dispatch($invoice, true);\n\n        return new InvoiceResource($invoice);\n    }\n\n    /**\n     * delete the specified resources in storage.\n     *\n     * @param  \\Illuminate\\Http\\Request $request\n     * @return \\Illuminate\\Http\\JsonResponse\n     */\n    public function delete(DeleteInvoiceRequest $request)\n    {\n        $this->authorize('delete multiple invoices');\n\n        Invoice::deleteInvoices($request->ids);\n\n        return response()->json([\n            'success' => true,\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Invoice/SendInvoiceController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Invoice;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Http\\Requests\\SendInvoiceRequest;\nuse Crater\\Models\\Invoice;\n\nclass SendInvoiceController extends Controller\n{\n    /**\n     * Mail a specific invoice to the corresponding customer's email address.\n     *\n     * @param  \\Illuminate\\Http\\Request $request\n     * @return \\Illuminate\\Http\\JsonResponse\n     */\n    public function __invoke(SendInvoiceRequest $request, Invoice $invoice)\n    {\n        $this->authorize('send invoice', $invoice);\n\n        $invoice->send($request->all());\n\n        return response()->json([\n            'success' => true,\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Invoice/SendInvoicePreviewController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Invoice;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Http\\Requests\\SendInvoiceRequest;\nuse Crater\\Models\\Invoice;\nuse Illuminate\\Mail\\Markdown;\n\nclass SendInvoicePreviewController extends Controller\n{\n    /**\n     * Mail a specific invoice to the corresponding customer's email address.\n     *\n     * @param  \\Illuminate\\Http\\Request $request\n     * @return \\Illuminate\\Http\\JsonResponse\n     */\n    public function __invoke(SendInvoiceRequest $request, Invoice $invoice)\n    {\n        $this->authorize('send invoice', $invoice);\n\n        $markdown = new Markdown(view(), config('mail.markdown'));\n\n        $data = $invoice->sendInvoiceData($request->all());\n        $data['url'] = $invoice->invoicePdfUrl;\n\n        return $markdown->render('emails.send.invoice', ['data' => $data]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Item/ItemsController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Item;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Http\\Requests;\nuse Crater\\Http\\Requests\\DeleteItemsRequest;\nuse Crater\\Http\\Resources\\ItemResource;\nuse Crater\\Models\\Item;\nuse Crater\\Models\\TaxType;\nuse Illuminate\\Http\\Request;\n\nclass ItemsController extends Controller\n{\n    /**\n     * Retrieve a list of existing Items.\n     *\n     * @param  \\Illuminate\\Http\\Request $request\n     * @return \\Illuminate\\Http\\JsonResponse\n     */\n    public function index(Request $request)\n    {\n        $this->authorize('viewAny', Item::class);\n\n        $limit = $request->has('limit') ? $request->limit : 10;\n\n        $items = Item::whereCompany()\n            ->leftJoin('units', 'units.id', '=', 'items.unit_id')\n            ->applyFilters($request->all())\n            ->select('items.*', 'units.name as unit_name')\n            ->latest()\n            ->paginateData($limit);\n\n        return (ItemResource::collection($items))\n            ->additional(['meta' => [\n                'tax_types' => TaxType::whereCompany()->latest()->get(),\n                'item_total_count' => Item::whereCompany()->count(),\n            ]]);\n    }\n\n    /**\n     * Create Item.\n     *\n     * @param  Crater\\Http\\Requests\\ItemsRequest $request\n     * @return \\Illuminate\\Http\\JsonResponse\n     */\n    public function store(Requests\\ItemsRequest $request)\n    {\n        $this->authorize('create', Item::class);\n\n        $item = Item::createItem($request);\n\n        return new ItemResource($item);\n    }\n\n    /**\n     * get an existing Item.\n     *\n     * @param  Item $item\n     * @return \\Illuminate\\Http\\JsonResponse\n     */\n    public function show(Item $item)\n    {\n        $this->authorize('view', $item);\n\n        return new ItemResource($item);\n    }\n\n    /**\n     * Update an existing Item.\n     *\n     * @param  Crater\\Http\\Requests\\ItemsRequest $request\n     * @param  \\Crater\\Models\\Item $item\n     * @return \\Illuminate\\Http\\JsonResponse\n     */\n    public function update(Requests\\ItemsRequest $request, Item $item)\n    {\n        $this->authorize('update', $item);\n\n        $item = $item->updateItem($request);\n\n        return new ItemResource($item);\n    }\n\n    /**\n     * Delete a list of existing Items.\n     *\n     * @param  \\Illuminate\\Http\\Request $request\n     * @return \\Illuminate\\Http\\JsonResponse\n     */\n    public function delete(DeleteItemsRequest $request)\n    {\n        $this->authorize('delete multiple items');\n\n        Item::destroy($request->ids);\n\n        return response()->json([\n            'success' => true,\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Item/UnitsController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Item;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Http\\Requests\\UnitRequest;\nuse Crater\\Http\\Resources\\UnitResource;\nuse Crater\\Models\\Unit;\nuse Illuminate\\Http\\Request;\n\nclass UnitsController extends Controller\n{\n    /**\n     * Display a listing of the resource.\n     *\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function index(Request $request)\n    {\n        $this->authorize('viewAny', Unit::class);\n\n        $limit = $request->has('limit') ? $request->limit : 5;\n\n        $units = Unit::applyFilters($request->all())\n            ->whereCompany()\n            ->latest()\n            ->paginateData($limit);\n\n        return UnitResource::collection($units);\n    }\n\n    /**\n     * Store a newly created resource in storage.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function store(UnitRequest $request)\n    {\n        $this->authorize('create', Unit::class);\n\n        $unit = Unit::create($request->getUnitPayload());\n\n        return new UnitResource($unit);\n    }\n\n    /**\n     * Display the specified resource.\n     *\n     * @param  \\Crater\\Models\\Unit  $unit\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function show(Unit $unit)\n    {\n        $this->authorize('view', $unit);\n\n        return new UnitResource($unit);\n    }\n\n    /**\n     * Update the specified resource in storage.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @param  \\Crater\\Models\\Unit  $unit\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function update(UnitRequest $request, Unit $unit)\n    {\n        $this->authorize('update', $unit);\n\n        $unit->update($request->getUnitPayload());\n\n        return new UnitResource($unit);\n    }\n\n    /**\n     * Remove the specified resource from storage.\n     *\n     * @param  \\Crater\\Models\\Unit  $unit\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function destroy(Unit $unit)\n    {\n        $this->authorize('delete', $unit);\n\n        if ($unit->items()->exists()) {\n            return respondJson('items_attached', 'Items Attached');\n        }\n\n        $unit->delete();\n\n        return response()->json([\n            'success' => 'Unit deleted successfully',\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Mobile/AuthController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Mobile;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Http\\Requests\\LoginRequest;\nuse Crater\\Models\\User;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\Auth;\nuse Illuminate\\Support\\Facades\\Hash;\nuse Illuminate\\Validation\\ValidationException;\n\nclass AuthController extends Controller\n{\n    public function login(LoginRequest $request)\n    {\n        $user = User::where('email', $request->username)->first();\n\n        if (! $user || ! Hash::check($request->password, $user->password)) {\n            throw ValidationException::withMessages([\n                'email' => ['The provided credentials are incorrect.'],\n            ]);\n        }\n\n        return response()->json([\n            'type' => 'Bearer',\n            'token' => $user->createToken($request->device_name)->plainTextToken,\n        ]);\n    }\n\n    public function logout(Request $request)\n    {\n        $request->user()->currentAccessToken()->delete();\n\n        return response()->json([\n            'success' => true,\n        ]);\n    }\n\n    public function check()\n    {\n        return Auth::check();\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Modules/ApiTokenController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Modules;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Space\\ModuleInstaller;\nuse Illuminate\\Http\\Request;\n\nclass ApiTokenController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function __invoke(Request $request)\n    {\n        $this->authorize('manage modules');\n\n        $response = ModuleInstaller::checkToken($request->api_token);\n\n        return $response;\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Modules/CompleteModuleInstallationController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Modules;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Space\\ModuleInstaller;\nuse Illuminate\\Http\\Request;\n\nclass CompleteModuleInstallationController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function __invoke(Request $request)\n    {\n        $this->authorize('manage modules');\n\n        $response = ModuleInstaller::complete($request->module, $request->version);\n\n        return response()->json([\n            'success' => $response\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Modules/CopyModuleController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Modules;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Space\\ModuleInstaller;\nuse Illuminate\\Http\\Request;\n\nclass CopyModuleController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function __invoke(Request $request)\n    {\n        $this->authorize('manage modules');\n\n        $response = ModuleInstaller::copyFiles($request->module, $request->path);\n\n        return response()->json([\n            'success' => $response\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Modules/DisableModuleController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Modules;\n\nuse Crater\\Events\\ModuleDisabledEvent;\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Models\\Module as ModelsModule;\nuse Illuminate\\Http\\Request;\nuse Nwidart\\Modules\\Facades\\Module;\n\nclass DisableModuleController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function __invoke(Request $request, string $module)\n    {\n        $this->authorize('manage modules');\n\n        $module = ModelsModule::where('name', $module)->first();\n        $module->update(['enabled' => false]);\n        $installedModule = Module::find($module->name);\n        $installedModule->disable();\n\n        ModuleDisabledEvent::dispatch($module);\n\n        return response()->json(['success' => true]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Modules/DownloadModuleController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Modules;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Space\\ModuleInstaller;\nuse Illuminate\\Http\\Request;\n\nclass DownloadModuleController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function __invoke(Request $request)\n    {\n        $this->authorize('manage modules');\n\n        $response = ModuleInstaller::download($request->module, $request->version);\n\n        return response()->json($response);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Modules/EnableModuleController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Modules;\n\nuse Crater\\Events\\ModuleEnabledEvent;\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Models\\Module as ModelsModule;\nuse Illuminate\\Http\\Request;\nuse Nwidart\\Modules\\Facades\\Module;\n\nclass EnableModuleController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function __invoke(Request $request, string $module)\n    {\n        $this->authorize('manage modules');\n\n        $module = ModelsModule::where('name', $module)->first();\n        $module->update(['enabled' => true]);\n        $installedModule = Module::find($module->name);\n        $installedModule->enable();\n\n        ModuleEnabledEvent::dispatch($module);\n\n        return response()->json(['success' => true]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Modules/ModuleController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Modules;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Http\\Resources\\ModuleResource;\nuse Crater\\Space\\ModuleInstaller;\nuse Illuminate\\Http\\Request;\n\nclass ModuleController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function __invoke(Request $request, string $module)\n    {\n        $this->authorize('manage modules');\n\n        $response = ModuleInstaller::getModule($module);\n\n        if (! $response->success) {\n            return response()->json($response);\n        }\n\n        return (new ModuleResource($response->module))\n            ->additional(['meta' => [\n                'modules' => ModuleResource::collection(collect($response->modules))\n            ]]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Modules/ModulesController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Modules;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Space\\ModuleInstaller;\nuse Illuminate\\Http\\Request;\n\nclass ModulesController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function __invoke(Request $request)\n    {\n        $this->authorize('manage modules');\n\n        $response = ModuleInstaller::getModules();\n\n        return $response;\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Modules/UnzipModuleController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Modules;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Http\\Requests\\UnzipUpdateRequest;\nuse Crater\\Space\\ModuleInstaller;\n\nclass UnzipModuleController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Crater\\Http\\Requests\\UnzipUpdateRequest  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function __invoke(UnzipUpdateRequest $request)\n    {\n        $this->authorize('manage modules');\n\n        $path = ModuleInstaller::unzip($request->module, $request->path);\n\n        return response()->json([\n            'success' => true,\n            'path' => $path\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Modules/UploadModuleController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Modules;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Http\\Requests\\UploadModuleRequest;\nuse Crater\\Space\\ModuleInstaller;\n\nclass UploadModuleController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Crater\\Http\\Requests\\UploadModuleRequest  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function __invoke(UploadModuleRequest $request)\n    {\n        $this->authorize('manage modules');\n\n        $response = ModuleInstaller::upload($request);\n\n        return response()->json($response);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Payment/PaymentMethodsController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Payment;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Http\\Requests\\PaymentMethodRequest;\nuse Crater\\Http\\Resources\\PaymentMethodResource;\nuse Crater\\Models\\PaymentMethod;\nuse Illuminate\\Http\\Request;\n\nclass PaymentMethodsController extends Controller\n{\n    /**\n     * Display a listing of the resource.\n     *\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function index(Request $request)\n    {\n        $this->authorize('viewAny', PaymentMethod::class);\n\n        $limit = $request->has('limit') ? $request->limit : 5;\n\n        $paymentMethods = PaymentMethod::applyFilters($request->all())\n            ->where('type', PaymentMethod::TYPE_GENERAL)\n            ->whereCompany()\n            ->latest()\n            ->paginateData($limit);\n\n        return PaymentMethodResource::collection($paymentMethods);\n    }\n\n    /**\n     * Store a newly created resource in storage.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function store(PaymentMethodRequest $request)\n    {\n        $this->authorize('create', PaymentMethod::class);\n\n        $paymentMethod = PaymentMethod::createPaymentMethod($request);\n\n        return new PaymentMethodResource($paymentMethod);\n    }\n\n    /**\n     * Display the specified resource.\n     *\n     * @param  \\Crater\\Models\\PaymentMethod  $paymentMethod\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function show(PaymentMethod $paymentMethod)\n    {\n        $this->authorize('view', $paymentMethod);\n\n        return new PaymentMethodResource($paymentMethod);\n    }\n\n    /**\n     * Update the specified resource in storage.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @param  \\Crater\\Models\\PaymentMethod  $paymentMethod\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function update(PaymentMethodRequest $request, PaymentMethod $paymentMethod)\n    {\n        $this->authorize('update', $paymentMethod);\n\n        $paymentMethod->update($request->getPaymentMethodPayload());\n\n        return new PaymentMethodResource($paymentMethod);\n    }\n\n    /**\n     * Remove the specified resource from storage.\n     *\n     * @param  \\Crater\\Models\\PaymentMethod  $paymentMethod\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function destroy(PaymentMethod $paymentMethod)\n    {\n        $this->authorize('delete', $paymentMethod);\n\n        if ($paymentMethod->payments()->exists()) {\n            return respondJson('payments_attached', 'Payments Attached.');\n        }\n\n        if ($paymentMethod->expenses()->exists()) {\n            return respondJson('expenses_attached', 'Expenses Attached.');\n        }\n\n        $paymentMethod->delete();\n\n        return response()->json([\n            'success' => 'Payment method deleted successfully',\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Payment/PaymentsController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Payment;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Http\\Requests\\DeletePaymentsRequest;\nuse Crater\\Http\\Requests\\PaymentRequest;\nuse Crater\\Http\\Resources\\PaymentResource;\nuse Crater\\Models\\Payment;\nuse Illuminate\\Http\\Request;\n\nclass PaymentsController extends Controller\n{\n    /**\n     * Display a listing of the resource.\n     *\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function index(Request $request)\n    {\n        $this->authorize('viewAny', Payment::class);\n\n        $limit = $request->has('limit') ? $request->limit : 10;\n\n        $payments = Payment::whereCompany()\n            ->join('customers', 'customers.id', '=', 'payments.customer_id')\n            ->leftJoin('invoices', 'invoices.id', '=', 'payments.invoice_id')\n            ->leftJoin('payment_methods', 'payment_methods.id', '=', 'payments.payment_method_id')\n            ->applyFilters($request->all())\n            ->select('payments.*', 'customers.name', 'invoices.invoice_number', 'payment_methods.name as payment_mode')\n            ->latest()\n            ->paginateData($limit);\n\n        return (PaymentResource::collection($payments))\n            ->additional(['meta' => [\n                'payment_total_count' => Payment::whereCompany()->count(),\n            ]]);\n    }\n\n    /**\n     * Store a newly created resource in storage.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function store(PaymentRequest $request)\n    {\n        $this->authorize('create', Payment::class);\n\n        $payment = Payment::createPayment($request);\n\n        return new PaymentResource($payment);\n    }\n\n    public function show(Request $request, Payment $payment)\n    {\n        $this->authorize('view', $payment);\n\n        return new PaymentResource($payment);\n    }\n\n    public function update(PaymentRequest $request, Payment $payment)\n    {\n        $this->authorize('update', $payment);\n\n        $payment = $payment->updatePayment($request);\n\n        return new PaymentResource($payment);\n    }\n\n    public function delete(DeletePaymentsRequest $request)\n    {\n        $this->authorize('delete multiple payments');\n\n        Payment::deletePayments($request->ids);\n\n        return response()->json([\n            'success' => true,\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Payment/SendPaymentController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Payment;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Http\\Requests\\SendPaymentRequest;\nuse Crater\\Models\\Payment;\n\nclass SendPaymentController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\JsonResponse\n     */\n    public function __invoke(SendPaymentRequest $request, Payment $payment)\n    {\n        $this->authorize('send payment', $payment);\n\n        $response = $payment->send($request->all());\n\n        return response()->json($response);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Payment/SendPaymentPreviewController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Payment;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Models\\Payment;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Mail\\Markdown;\n\nclass SendPaymentPreviewController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function __invoke(Request $request, Payment $payment)\n    {\n        $this->authorize('send payment', $payment);\n\n        $markdown = new Markdown(view(), config('mail.markdown'));\n\n        $data = $payment->sendPaymentData($request->all());\n        $data['url'] = $payment->paymentPdfUrl;\n\n        return $markdown->render('emails.send.payment', ['data' => $data]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/RecurringInvoice/RecurringInvoiceController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\RecurringInvoice;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Http\\Requests\\RecurringInvoiceRequest;\nuse Crater\\Http\\Resources\\RecurringInvoiceResource;\nuse Crater\\Models\\RecurringInvoice;\nuse Illuminate\\Http\\Request;\n\nclass RecurringInvoiceController extends Controller\n{\n    /**\n     * Display a listing of the resource.\n     *\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function index(Request $request)\n    {\n        $this->authorize('viewAny', RecurringInvoice::class);\n\n        $limit = $request->has('limit') ? $request->limit : 10;\n\n        $recurringInvoices = RecurringInvoice::whereCompany()\n            ->applyFilters($request->all())\n            ->paginateData($limit);\n\n        return (RecurringInvoiceResource::collection($recurringInvoices))\n            ->additional(['meta' => [\n                'recurring_invoice_total_count' => RecurringInvoice::whereCompany()->count(),\n            ]]);\n    }\n\n    /**\n     * Store a newly created resource in storage.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function store(RecurringInvoiceRequest $request)\n    {\n        $this->authorize('create', RecurringInvoice::class);\n\n        $recurringInvoice = RecurringInvoice::createFromRequest($request);\n\n        return new RecurringInvoiceResource($recurringInvoice);\n    }\n\n    /**\n     * Display the specified resource.\n     *\n     * @param  \\Crater\\Models\\RecurringInvoice  $recurringInvoice\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function show(RecurringInvoice $recurringInvoice)\n    {\n        $this->authorize('view', $recurringInvoice);\n\n        return new RecurringInvoiceResource($recurringInvoice);\n    }\n\n    /**\n     * Update the specified resource in storage.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @param  \\Crater\\Models\\RecurringInvoice  $recurringInvoice\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function update(RecurringInvoiceRequest $request, RecurringInvoice $recurringInvoice)\n    {\n        $this->authorize('update', $recurringInvoice);\n\n        $recurringInvoice->updateFromRequest($request);\n\n        return new RecurringInvoiceResource($recurringInvoice);\n    }\n\n    /**\n     * Remove the specified resource from storage.\n     *\n     * @param  \\Crater\\Models\\RecurringInvoice  $recurringInvoice\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function delete(Request $request)\n    {\n        $this->authorize('delete multiple recurring invoices');\n\n        RecurringInvoice::deleteRecurringInvoice($request->ids);\n\n        return response()->json([\n            'success' => true,\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/RecurringInvoice/RecurringInvoiceFrequencyController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\RecurringInvoice;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Models\\RecurringInvoice;\nuse Illuminate\\Http\\Request;\n\nclass RecurringInvoiceFrequencyController extends Controller\n{\n    public function __invoke(Request $request)\n    {\n        $nextInvoiceAt = RecurringInvoice::getNextInvoiceDate($request->frequency, $request->starts_at);\n\n        return response()->json([\n            'success' => true,\n            'next_invoice_at' => $nextInvoiceAt,\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Report/CustomerSalesReportController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Report;\n\nuse PDF;\nuse Carbon\\Carbon;\nuse Crater\\Models\\Company;\nuse Crater\\Models\\Currency;\nuse Crater\\Models\\Customer;\nuse Illuminate\\Http\\Request;\nuse Crater\\Models\\CompanySetting;\nuse Illuminate\\Support\\Facades\\App;\nuse Crater\\Http\\Controllers\\Controller;\n\nclass CustomerSalesReportController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @param  string  $hash\n     * @return \\Illuminate\\Http\\JsonResponse\n     */\n    public function __invoke(Request $request, $hash)\n    {\n        $company = Company::where('unique_hash', $hash)->first();\n\n        $this->authorize('view report', $company);\n\n        $locale = CompanySetting::getSetting('language',  $company->id);\n\n        App::setLocale($locale);\n\n        $start = Carbon::createFromFormat('Y-m-d', $request->from_date);\n        $end = Carbon::createFromFormat('Y-m-d', $request->to_date);\n\n        $customers = Customer::with(['invoices' => function ($query) use ($start, $end) {\n            $query->whereBetween(\n                'invoice_date',\n                [$start->format('Y-m-d'), $end->format('Y-m-d')]\n            );\n        }])\n            ->where('company_id', $company->id)\n            ->applyInvoiceFilters($request->only(['from_date', 'to_date']))\n            ->get();\n\n        $totalAmount = 0;\n        foreach ($customers as $customer) {\n            $customerTotalAmount = 0;\n            foreach ($customer->invoices as $invoice) {\n                $customerTotalAmount += $invoice->base_total;\n            }\n            $customer->totalAmount = $customerTotalAmount;\n            $totalAmount += $customerTotalAmount;\n        }\n\n        $dateFormat = CompanySetting::getSetting('carbon_date_format', $company->id);\n        $from_date = Carbon::createFromFormat('Y-m-d', $request->from_date)->format($dateFormat);\n        $to_date = Carbon::createFromFormat('Y-m-d', $request->to_date)->format($dateFormat);\n        $currency = Currency::findOrFail(CompanySetting::getSetting('currency', $company->id));\n\n        $colors = [\n            'primary_text_color',\n            'heading_text_color',\n            'section_heading_text_color',\n            'border_color',\n            'body_text_color',\n            'footer_text_color',\n            'footer_total_color',\n            'footer_bg_color',\n            'date_text_color',\n        ];\n\n        $colorSettings = CompanySetting::whereIn('option', $colors)\n            ->whereCompany($company->id)\n            ->get();\n\n        view()->share([\n            'customers' => $customers,\n            'totalAmount' => $totalAmount,\n            'colorSettings' => $colorSettings,\n            'company' => $company,\n            'from_date' => $from_date,\n            'to_date' => $to_date,\n            'currency' => $currency,\n        ]);\n\n        $pdf = PDF::loadView('app.pdf.reports.sales-customers');\n\n        if ($request->has('preview')) {\n            return view('app.pdf.reports.sales-customers');\n        }\n\n        if ($request->has('download')) {\n            return $pdf->download();\n        }\n\n        return $pdf->stream();\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Report/ExpensesReportController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Report;\n\nuse PDF;\nuse Carbon\\Carbon;\nuse Crater\\Models\\Company;\nuse Crater\\Models\\Expense;\nuse Crater\\Models\\Currency;\nuse Illuminate\\Http\\Request;\nuse Crater\\Models\\CompanySetting;\nuse Illuminate\\Support\\Facades\\App;\nuse Crater\\Http\\Controllers\\Controller;\n\nclass ExpensesReportController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @param  string  $hash\n     * @return \\Illuminate\\Http\\JsonResponse\n     */\n    public function __invoke(Request $request, $hash)\n    {\n        $company = Company::where('unique_hash', $hash)->first();\n\n        $this->authorize('view report', $company);\n\n        $locale = CompanySetting::getSetting('language',  $company->id);\n\n        App::setLocale($locale);\n\n        $expenseCategories = Expense::with('category')\n            ->whereCompanyId($company->id)\n            ->applyFilters($request->only(['from_date', 'to_date']))\n            ->expensesAttributes()\n            ->get();\n        $totalAmount = 0;\n        foreach ($expenseCategories as $category) {\n            $totalAmount += $category->total_amount;\n        }\n\n        $dateFormat = CompanySetting::getSetting('carbon_date_format', $company->id);\n        $from_date = Carbon::createFromFormat('Y-m-d', $request->from_date)->format($dateFormat);\n        $to_date = Carbon::createFromFormat('Y-m-d', $request->to_date)->format($dateFormat);\n        $currency = Currency::findOrFail(CompanySetting::getSetting('currency', $company->id));\n\n        $colors = [\n            'primary_text_color',\n            'heading_text_color',\n            'section_heading_text_color',\n            'border_color',\n            'body_text_color',\n            'footer_text_color',\n            'footer_total_color',\n            'footer_bg_color',\n            'date_text_color',\n        ];\n        $colorSettings = CompanySetting::whereIn('option', $colors)\n            ->whereCompany($company->id)\n            ->get();\n\n        view()->share([\n            'expenseCategories' => $expenseCategories,\n            'colorSettings' => $colorSettings,\n            'totalExpense' => $totalAmount,\n            'company' => $company,\n            'from_date' => $from_date,\n            'to_date' => $to_date,\n            'currency' => $currency,\n        ]);\n        $pdf = PDF::loadView('app.pdf.reports.expenses');\n\n        if ($request->has('preview')) {\n            return view('app.pdf.reports.expenses');\n        }\n\n        if ($request->has('download')) {\n            return $pdf->download();\n        }\n\n        return $pdf->stream();\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Report/ItemSalesReportController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Report;\n\nuse PDF;\nuse Carbon\\Carbon;\nuse Crater\\Models\\Company;\nuse Crater\\Models\\Currency;\nuse Illuminate\\Http\\Request;\nuse Crater\\Models\\InvoiceItem;\nuse Crater\\Models\\CompanySetting;\nuse Illuminate\\Support\\Facades\\App;\nuse Crater\\Http\\Controllers\\Controller;\n\nclass ItemSalesReportController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @param  string  $hash\n     * @return \\Illuminate\\Http\\JsonResponse\n     */\n    public function __invoke(Request $request, $hash)\n    {\n        $company = Company::where('unique_hash', $hash)->first();\n\n        $this->authorize('view report', $company);\n\n        $locale = CompanySetting::getSetting('language',  $company->id);\n\n        App::setLocale($locale);\n\n        $items = InvoiceItem::whereCompany($company->id)\n            ->applyInvoiceFilters($request->only(['from_date', 'to_date']))\n            ->itemAttributes()\n            ->get();\n\n        $totalAmount = 0;\n        foreach ($items as $item) {\n            $totalAmount += $item->total_amount;\n        }\n\n        $dateFormat = CompanySetting::getSetting('carbon_date_format', $company->id);\n        $from_date = Carbon::createFromFormat('Y-m-d', $request->from_date)->format($dateFormat);\n        $to_date = Carbon::createFromFormat('Y-m-d', $request->to_date)->format($dateFormat);\n        $currency = Currency::findOrFail(CompanySetting::getSetting('currency', $company->id));\n\n        $colors = [\n            'primary_text_color',\n            'heading_text_color',\n            'section_heading_text_color',\n            'border_color',\n            'body_text_color',\n            'footer_text_color',\n            'footer_total_color',\n            'footer_bg_color',\n            'date_text_color',\n        ];\n        $colorSettings = CompanySetting::whereIn('option', $colors)\n            ->whereCompany($company->id)\n            ->get();\n\n        view()->share([\n            'items' => $items,\n            'colorSettings' => $colorSettings,\n            'totalAmount' => $totalAmount,\n            'company' => $company,\n            'from_date' => $from_date,\n            'to_date' => $to_date,\n            'currency' => $currency,\n        ]);\n        $pdf = PDF::loadView('app.pdf.reports.sales-items');\n\n        if ($request->has('preview')) {\n            return view('app.pdf.reports.sales-items');\n        }\n\n        if ($request->has('download')) {\n            return $pdf->download();\n        }\n\n        return $pdf->stream();\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Report/ProfitLossReportController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Report;\n\nuse PDF;\nuse Carbon\\Carbon;\nuse Crater\\Models\\Company;\nuse Crater\\Models\\Expense;\nuse Crater\\Models\\Payment;\nuse Crater\\Models\\Currency;\nuse Illuminate\\Http\\Request;\nuse Crater\\Models\\CompanySetting;\nuse Illuminate\\Support\\Facades\\App;\nuse Crater\\Http\\Controllers\\Controller;\n\nclass ProfitLossReportController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @param  string  $hash\n     * @return \\Illuminate\\Http\\JsonResponse\n     */\n    public function __invoke(Request $request, $hash)\n    {\n        $company = Company::where('unique_hash', $hash)->first();\n\n        $this->authorize('view report', $company);\n\n        $locale = CompanySetting::getSetting('language',  $company->id);\n\n        App::setLocale($locale);\n\n        $paymentsAmount = Payment::whereCompanyId($company->id)\n            ->applyFilters($request->only(['from_date', 'to_date']))\n            ->sum('base_amount');\n\n        $expenseCategories = Expense::with('category')\n            ->whereCompanyId($company->id)\n            ->applyFilters($request->only(['from_date', 'to_date']))\n            ->expensesAttributes()\n            ->get();\n\n        $totalAmount = 0;\n        foreach ($expenseCategories as $category) {\n            $totalAmount += $category->total_amount;\n        }\n\n        $dateFormat = CompanySetting::getSetting('carbon_date_format', $company->id);\n        $from_date = Carbon::createFromFormat('Y-m-d', $request->from_date)->format($dateFormat);\n        $to_date = Carbon::createFromFormat('Y-m-d', $request->to_date)->format($dateFormat);\n        $currency = Currency::findOrFail(CompanySetting::getSetting('currency', $company->id));\n\n\n        $colors = [\n            'primary_text_color',\n            'heading_text_color',\n            'section_heading_text_color',\n            'border_color',\n            'body_text_color',\n            'footer_text_color',\n            'footer_total_color',\n            'footer_bg_color',\n            'date_text_color',\n        ];\n        $colorSettings = CompanySetting::whereIn('option', $colors)\n            ->whereCompany($company->id)\n            ->get();\n\n        view()->share([\n            'company' => $company,\n            'income' => $paymentsAmount,\n            'expenseCategories' => $expenseCategories,\n            'totalExpense' => $totalAmount,\n            'colorSettings' => $colorSettings,\n            'company' => $company,\n            'from_date' => $from_date,\n            'to_date' => $to_date,\n            'currency' => $currency,\n        ]);\n        $pdf = PDF::loadView('app.pdf.reports.profit-loss');\n\n        if ($request->has('preview')) {\n            return view('app.pdf.reports.profit-loss');\n        }\n\n        if ($request->has('download')) {\n            return $pdf->download();\n        }\n\n        return $pdf->stream();\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Report/TaxSummaryReportController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Report;\n\nuse PDF;\nuse Carbon\\Carbon;\nuse Crater\\Models\\Tax;\nuse Crater\\Models\\Company;\nuse Crater\\Models\\Currency;\nuse Illuminate\\Http\\Request;\nuse Crater\\Models\\CompanySetting;\nuse Illuminate\\Support\\Facades\\App;\nuse Crater\\Http\\Controllers\\Controller;\n\nclass TaxSummaryReportController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @param  string  $hash\n     * @return \\Illuminate\\Http\\JsonResponse\n     */\n    public function __invoke(Request $request, $hash)\n    {\n        $company = Company::where('unique_hash', $hash)->first();\n\n        $this->authorize('view report', $company);\n\n        $locale = CompanySetting::getSetting('language',  $company->id);\n\n        App::setLocale($locale);\n\n        $taxTypes = Tax::with('taxType', 'invoice', 'invoiceItem')\n            ->whereCompany($company->id)\n            ->whereInvoicesFilters($request->only(['from_date', 'to_date']))\n            ->taxAttributes()\n            ->get();\n\n        $totalAmount = 0;\n        foreach ($taxTypes as $taxType) {\n            $totalAmount += $taxType->total_tax_amount;\n        }\n\n        $dateFormat = CompanySetting::getSetting('carbon_date_format', $company->id);\n        $from_date = Carbon::createFromFormat('Y-m-d', $request->from_date)->format($dateFormat);\n        $to_date = Carbon::createFromFormat('Y-m-d', $request->to_date)->format($dateFormat);\n        $currency = Currency::findOrFail(CompanySetting::getSetting('currency', $company->id));\n\n\n        $colors = [\n            'primary_text_color',\n            'heading_text_color',\n            'section_heading_text_color',\n            'border_color',\n            'body_text_color',\n            'footer_text_color',\n            'footer_total_color',\n            'footer_bg_color',\n            'date_text_color',\n        ];\n\n        $colorSettings = CompanySetting::whereIn('option', $colors)\n            ->whereCompany($company->id)\n            ->get();\n\n        view()->share([\n            'taxTypes' => $taxTypes,\n            'totalTaxAmount' => $totalAmount,\n            'colorSettings' => $colorSettings,\n            'company' => $company,\n            'from_date' => $from_date,\n            'to_date' => $to_date,\n            'currency' => $currency,\n        ]);\n\n        $pdf = PDF::loadView('app.pdf.reports.tax-summary');\n\n        if ($request->has('preview')) {\n            return view('app.pdf.reports.tax-summary');\n        }\n\n        if ($request->has('download')) {\n            return $pdf->download();\n        }\n\n        return $pdf->stream();\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Role/AbilitiesController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Role;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Illuminate\\Http\\Request;\n\nclass AbilitiesController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function __invoke(Request $request)\n    {\n        return response()->json(['abilities' => config('abilities.abilities')]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Role/RolesController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Role;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Http\\Requests\\RoleRequest;\nuse Crater\\Http\\Resources\\RoleResource;\nuse Crater\\Models\\User;\nuse Illuminate\\Http\\Request;\nuse Silber\\Bouncer\\BouncerFacade;\nuse Silber\\Bouncer\\Database\\Role;\n\nclass RolesController extends Controller\n{\n    /**\n     * Display a listing of the resource.\n     *\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function index(Request $request)\n    {\n        $this->authorize('viewAny', Role::class);\n\n        $roles = Role::when($request->has('orderByField'), function ($query) use ($request) {\n            return $query->orderBy($request['orderByField'], $request['orderBy']);\n        })\n            ->when($request->company_id, function ($query) use ($request) {\n                return $query->where('scope', $request->company_id);\n            })\n            ->get();\n\n        return RoleResource::collection($roles);\n    }\n\n    /**\n     * Store a newly created resource in storage.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function store(RoleRequest $request)\n    {\n        $this->authorize('create', Role::class);\n\n        $role = Role::create($request->getRolePayload());\n\n        $this->syncAbilities($request, $role);\n\n        return new RoleResource($role);\n    }\n\n    /**\n     * Display the specified resource.\n     *\n     * @param  \\Spatie\\Permission\\Models\\Role $role\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function show(Role $role)\n    {\n        $this->authorize('view', $role);\n\n        return new RoleResource($role);\n    }\n\n    /**\n     * Update the specified resource in storage.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @param  \\Spatie\\Permission\\Models\\Role $role\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function update(RoleRequest $request, Role $role)\n    {\n        $this->authorize('update', $role);\n\n        $role->update($request->getRolePayload());\n\n        $this->syncAbilities($request, $role);\n\n        return new RoleResource($role);\n    }\n\n    /**\n     * Remove the specified resource from storage.\n     *\n     * @param  \\Spatie\\Permission\\Models\\Role $role\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function destroy(Role $role)\n    {\n        $this->authorize('delete', $role);\n\n        $users = User::whereIs($role->name)->get()->toArray();\n\n        if (! empty($users)) {\n            return respondJson('role_attached_to_users', 'Roles Attached to user');\n        }\n\n        $role->delete();\n\n        return response()->json([\n            'success' => true\n        ]);\n    }\n\n    private function syncAbilities(RoleRequest $request, $role)\n    {\n        foreach (config('abilities.abilities') as $ability) {\n            $check = array_search($ability['ability'], array_column($request->abilities, 'ability'));\n            if ($check !== false) {\n                BouncerFacade::allow($role)->to($ability['ability'], $ability['model']);\n            } else {\n                BouncerFacade::disallow($role)->to($ability['ability'], $ability['model']);\n            }\n        }\n\n        return true;\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Settings/CompanyController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Settings;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Http\\Requests\\AvatarRequest;\nuse Crater\\Http\\Requests\\CompanyLogoRequest;\nuse Crater\\Http\\Requests\\CompanyRequest;\nuse Crater\\Http\\Requests\\ProfileRequest;\nuse Crater\\Http\\Resources\\CompanyResource;\nuse Crater\\Http\\Resources\\UserResource;\nuse Crater\\Models\\Company;\nuse Illuminate\\Http\\Request;\n\nclass CompanyController extends Controller\n{\n    /**\n     * Retrive the Admin account.\n     * @return \\Illuminate\\Http\\JsonResponse\n     */\n    public function getUser(Request $request)\n    {\n        return new UserResource($request->user());\n    }\n\n    /**\n     * Update the Admin profile.\n     * Includes name, email and (or) password\n     *\n     * @param  \\Crater\\Http\\Requests\\ProfileRequest $request\n     * @return \\Illuminate\\Http\\JsonResponse\n     */\n    public function updateProfile(ProfileRequest $request)\n    {\n        $user = $request->user();\n\n        $user->update($request->validated());\n\n        return new UserResource($user);\n    }\n\n    /**\n     * Update Admin Company Details\n     * @param \\Crater\\Http\\Requests\\CompanyRequest $request\n     * @return \\Illuminate\\Http\\JsonResponse\n     */\n    public function updateCompany(CompanyRequest $request)\n    {\n        $company = Company::find($request->header('company'));\n\n        $this->authorize('manage company', $company);\n\n        $company->update($request->getCompanyPayload());\n\n        $company->address()->updateOrCreate(['company_id' => $company->id], $request->address);\n\n        return new CompanyResource($company);\n    }\n\n    /**\n     * Upload the company logo to storage.\n     *\n     * @param  \\Crater\\Http\\Requests\\CompanyLogoRequest $request\n     * @return \\Illuminate\\Http\\JsonResponse\n     */\n    public function uploadCompanyLogo(CompanyLogoRequest $request)\n    {\n        $company = Company::find($request->header('company'));\n\n        $this->authorize('manage company', $company);\n\n        $data = json_decode($request->company_logo);\n\n        if (isset($request->is_company_logo_removed) && (bool) $request->is_company_logo_removed) {\n            $company->clearMediaCollection('logo');\n        }\n        if ($data) {\n            $company = Company::find($request->header('company'));\n\n            if ($company) {\n                $company->clearMediaCollection('logo');\n\n                $company->addMediaFromBase64($data->data)\n                    ->usingFileName($data->name)\n                    ->toMediaCollection('logo');\n            }\n        }\n\n        return response()->json([\n            'success' => true,\n        ]);\n    }\n\n    /**\n     * Upload the Admin Avatar to public storage.\n     *\n     * @param  \\Crater\\Http\\Requests\\AvatarRequest $request\n     * @return \\Illuminate\\Http\\JsonResponse\n     */\n    public function uploadAvatar(AvatarRequest $request)\n    {\n        $user = auth()->user();\n\n        if (isset($request->is_admin_avatar_removed) && (bool) $request->is_admin_avatar_removed) {\n            $user->clearMediaCollection('admin_avatar');\n        }\n        if ($user && $request->hasFile('admin_avatar')) {\n            $user->clearMediaCollection('admin_avatar');\n\n            $user->addMediaFromRequest('admin_avatar')\n                ->toMediaCollection('admin_avatar');\n        }\n\n        if ($user && $request->has('avatar')) {\n            $data = json_decode($request->avatar);\n            $user->clearMediaCollection('admin_avatar');\n\n            $user->addMediaFromBase64($data->data)\n                ->usingFileName($data->name)\n                ->toMediaCollection('admin_avatar');\n        }\n\n        return new UserResource($user);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Settings/CompanyCurrencyCheckTransactionsController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Settings;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Models\\Company;\nuse Illuminate\\Http\\Request;\n\nclass CompanyCurrencyCheckTransactionsController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function __invoke(Request $request)\n    {\n        $company = Company::find($request->header('company'));\n\n        $this->authorize('manage company', $company);\n\n        return response()->json([\n            'has_transactions' => $company->hasTransactions(),\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Settings/DiskController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Settings;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Http\\Requests\\DiskEnvironmentRequest;\nuse Crater\\Http\\Resources\\FileDiskResource;\nuse Crater\\Models\\FileDisk;\nuse Illuminate\\Http\\JsonResponse;\nuse Illuminate\\Http\\Request;\n\nclass DiskController extends Controller\n{\n    /**\n     *\n     * @return JsonResponse\n     */\n    public function index(Request $request)\n    {\n        $this->authorize('manage file disk');\n\n        $limit = $request->has('limit') ? $request->limit : 5;\n        $disks = FileDisk::applyFilters($request->all())\n            ->latest()\n            ->paginateData($limit);\n\n        return FileDiskResource::collection($disks);\n    }\n\n    /**\n     *\n     * @param DiskEnvironmentRequest $request\n     * @return JsonResponse\n     */\n    public function store(DiskEnvironmentRequest $request)\n    {\n        $this->authorize('manage file disk');\n\n        if (! FileDisk::validateCredentials($request->credentials, $request->driver)) {\n            return respondJson('invalid_credentials', 'Invalid Credentials.');\n        }\n\n        $disk = FileDisk::createDisk($request);\n\n        return new FileDiskResource($disk);\n    }\n\n    /**\n     *\n     * @param Request $request\n     * @param \\Crater\\Models\\FileDisk $file_disk\n     * @return JsonResponse\n     */\n    public function update(FileDisk $disk, Request $request)\n    {\n        $this->authorize('manage file disk');\n\n        $credentials = $request->credentials;\n        $driver = $request->driver;\n\n        if ($credentials && $driver && $disk->type !== 'SYSTEM') {\n            if (! FileDisk::validateCredentials($credentials, $driver)) {\n                return respondJson('invalid_credentials', 'Invalid Credentials.');\n            }\n\n            $disk->updateDisk($request);\n        } elseif ($request->set_as_default) {\n            $disk->setAsDefaultDisk();\n        }\n\n        return new FileDiskResource($disk);\n    }\n\n    /**\n     * @param Request $request\n     * @return JsonResponse\n     */\n    public function show($disk)\n    {\n        $this->authorize('manage file disk');\n\n        $diskData = [];\n        switch ($disk) {\n            case 'local':\n                $diskData = [\n                    'root' => config('filesystems.disks.local.root'),\n                ];\n\n                break;\n\n\n            case 's3':\n                $diskData = [\n                    'key' => '',\n                    'secret' => '',\n                    'region' => '',\n                    'bucket' => '',\n                    'root' => '',\n                ];\n\n                break;\n\n            case 'doSpaces':\n                $diskData = [\n                    'key' => '',\n                    'secret' => '',\n                    'region' => '',\n                    'bucket' => '',\n                    'endpoint' => '',\n                    'root' => '',\n                ];\n\n                break;\n\n            case 'dropbox':\n                $diskData = [\n                    'token' => '',\n                    'key' => '',\n                    'secret' => '',\n                    'app' => '',\n                    'root' => '',\n                ];\n\n                break;\n        }\n\n        $data = array_merge($diskData);\n\n        return response()->json($data);\n    }\n\n    /**\n     * Remove the specified resource from storage.\n     *\n     * @param  \\Crater\\Models\\FileDisk  $taxType\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function destroy(FileDisk $disk)\n    {\n        $this->authorize('manage file disk');\n\n        if ($disk->setAsDefault() && $disk->type === 'SYSTEM') {\n            return respondJson('not_allowed', 'Not Allowed');\n        }\n\n        $disk->delete();\n\n        return response()->json([\n            'success' => true,\n        ]);\n    }\n\n    /**\n     *\n     * @return JsonResponse\n     */\n    public function getDiskDrivers()\n    {\n        $this->authorize('manage file disk');\n\n        $drivers = [\n            [\n                'name' => 'Local',\n                'value' => 'local',\n            ],\n            [\n                'name' => 'Amazon S3',\n                'value' => 's3',\n            ],\n            [\n                'name' => 'Digital Ocean Spaces',\n                'value' => 'doSpaces',\n            ],\n            [\n                'name' => 'Dropbox',\n                'value' => 'dropbox',\n            ],\n        ];\n\n        $default = config('filesystems.default');\n\n        return response()->json([\n            'drivers' => $drivers,\n            'default' => $default,\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Settings/GetCompanyMailConfigurationController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Settings;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Illuminate\\Http\\Request;\n\nclass GetCompanyMailConfigurationController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function __invoke(Request $request)\n    {\n        $mailConfig = [\n            'from_name' => config('mail.from.name'),\n            'from_mail' => config('mail.from.address'),\n        ];\n\n        return response()->json($mailConfig);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Settings/GetCompanySettingsController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Settings;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Http\\Requests\\GetSettingsRequest;\nuse Crater\\Models\\CompanySetting;\n\nclass GetCompanySettingsController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\JsonResponse\n     */\n    public function __invoke(GetSettingsRequest $request)\n    {\n        $settings = CompanySetting::getSettings($request->settings, $request->header('company'));\n\n        return response()->json($settings);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Settings/GetSettingsController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Settings;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Http\\Requests\\GetSettingRequest;\nuse Crater\\Models\\Setting;\nuse Illuminate\\Http\\Request;\n\nclass GetSettingsController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function __invoke(GetSettingRequest $request)\n    {\n        $this->authorize('manage settings');\n\n        $setting = Setting::getSetting($request->key);\n\n        return response()->json([\n            $request->key => $setting\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Settings/GetUserSettingsController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Settings;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Http\\Requests\\GetSettingsRequest;\n\nclass GetUserSettingsController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\GetSettingsRequest  $request\n     * @return \\Illuminate\\Http\\JsonResponse\n     */\n    public function __invoke(GetSettingsRequest $request)\n    {\n        $user = $request->user();\n\n        return response()->json($user->getSettings($request->settings));\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Settings/MailConfigurationController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Settings;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Http\\Requests\\MailEnvironmentRequest;\nuse Crater\\Mail\\TestMail;\nuse Crater\\Models\\Setting;\nuse Crater\\Space\\EnvironmentManager;\nuse Illuminate\\Http\\JsonResponse;\nuse Illuminate\\Http\\Request;\nuse Mail;\n\nclass MailConfigurationController extends Controller\n{\n    /**\n     * @var EnvironmentManager\n     */\n    protected $environmentManager;\n\n    /**\n     * @param EnvironmentManager $environmentManager\n     */\n    public function __construct(EnvironmentManager $environmentManager)\n    {\n        $this->environmentManager = $environmentManager;\n    }\n\n    /**\n     *\n     * @param MailEnvironmentRequest $request\n     * @return JsonResponse\n     */\n    public function saveMailEnvironment(MailEnvironmentRequest $request)\n    {\n        $this->authorize('manage email config');\n\n        $setting = Setting::getSetting('profile_complete');\n        $results = $this->environmentManager->saveMailVariables($request);\n\n        if ($setting !== 'COMPLETED') {\n            Setting::setSetting('profile_complete', 4);\n        }\n\n        return response()->json($results);\n    }\n\n    public function getMailEnvironment()\n    {\n        $this->authorize('manage email config');\n\n        $MailData = [\n            'mail_driver' => config('mail.driver'),\n            'mail_host' => config('mail.host'),\n            'mail_port' => config('mail.port'),\n            'mail_username' => config('mail.username'),\n            'mail_password' => config('mail.password'),\n            'mail_encryption' => config('mail.encryption'),\n            'from_name' => config('mail.from.name'),\n            'from_mail' => config('mail.from.address'),\n            'mail_mailgun_endpoint' => config('services.mailgun.endpoint'),\n            'mail_mailgun_domain' => config('services.mailgun.domain'),\n            'mail_mailgun_secret' => config('services.mailgun.secret'),\n            'mail_ses_key' => config('services.ses.key'),\n            'mail_ses_secret' => config('services.ses.secret'),\n        ];\n\n\n        return response()->json($MailData);\n    }\n\n    /**\n     *\n     * @return JsonResponse\n     */\n    public function getMailDrivers()\n    {\n        $this->authorize('manage email config');\n\n        $drivers = [\n            'smtp',\n            'mail',\n            'sendmail',\n            'mailgun',\n            'ses',\n        ];\n\n        return response()->json($drivers);\n    }\n\n    public function testEmailConfig(Request $request)\n    {\n        $this->authorize('manage email config');\n\n        $this->validate($request, [\n            'to' => 'required|email',\n            'subject' => 'required',\n            'message' => 'required',\n        ]);\n\n        Mail::to($request->to)->send(new TestMail($request->subject, $request->message));\n\n        return response()->json([\n            'success' => true,\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Settings/TaxTypesController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Settings;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Http\\Requests\\TaxTypeRequest;\nuse Crater\\Http\\Resources\\TaxTypeResource;\nuse Crater\\Models\\TaxType;\nuse Illuminate\\Http\\Request;\n\nclass TaxTypesController extends Controller\n{\n    /**\n     * Display a listing of the resource.\n     *\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function index(Request $request)\n    {\n        $this->authorize('viewAny', TaxType::class);\n\n        $limit = $request->has('limit') ? $request->limit : 5;\n\n        $taxTypes = TaxType::applyFilters($request->all())\n            ->where('type', TaxType::TYPE_GENERAL)\n            ->whereCompany()\n            ->latest()\n            ->paginateData($limit);\n\n        return TaxTypeResource::collection($taxTypes);\n    }\n\n    /**\n     * Store a newly created resource in storage.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function store(TaxTypeRequest $request)\n    {\n        $this->authorize('create', TaxType::class);\n\n        $taxType = TaxType::create($request->getTaxTypePayload());\n\n        return new TaxTypeResource($taxType);\n    }\n\n    /**\n     * Display the specified resource.\n     *\n     * @param  \\Crater\\Models\\TaxType  $taxType\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function show(TaxType $taxType)\n    {\n        $this->authorize('view', $taxType);\n\n        return new TaxTypeResource($taxType);\n    }\n\n    /**\n     * Update the specified resource in storage.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @param  \\Crater\\Models\\TaxType  $taxType\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function update(TaxTypeRequest $request, TaxType $taxType)\n    {\n        $this->authorize('update', $taxType);\n\n        $taxType->update($request->getTaxTypePayload());\n\n        return new TaxTypeResource($taxType);\n    }\n\n    /**\n     * Remove the specified resource from storage.\n     *\n     * @param  \\Crater\\Models\\TaxType  $taxType\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function destroy(TaxType $taxType)\n    {\n        $this->authorize('delete', $taxType);\n\n        if ($taxType->taxes() && $taxType->taxes()->count() > 0) {\n            return respondJson('taxes_attached', 'Taxes Attached.');\n        }\n\n        $taxType->delete();\n\n        return response()->json([\n            'success' => true,\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Settings/UpdateCompanySettingsController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Settings;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Http\\Requests\\UpdateSettingsRequest;\nuse Crater\\Models\\Company;\nuse Crater\\Models\\CompanySetting;\nuse Illuminate\\Support\\Arr;\n\nclass UpdateCompanySettingsController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\UpdateSettingsRequest  $request\n     * @return \\Illuminate\\Http\\JsonResponse\n     */\n    public function __invoke(UpdateSettingsRequest $request)\n    {\n        $company = Company::find($request->header('company'));\n        $this->authorize('manage company', $company);\n\n        $data = $request->settings;\n\n        if (\n            Arr::exists($data, 'currency') &&\n            (CompanySetting::getSetting('currency', $company->id) !== $data['currency']) &&\n            $company->hasTransactions()\n        ) {\n            return response()->json([\n                'success' => false,\n                'message' => 'Cannot update company currency after transactions are created.'\n            ]);\n        }\n\n        CompanySetting::setSettings($data, $request->header('company'));\n\n        return response()->json([\n            'success' => true,\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Settings/UpdateSettingsController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Settings;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Http\\Requests\\SettingRequest;\nuse Crater\\Models\\Setting;\nuse Illuminate\\Http\\Request;\n\nclass UpdateSettingsController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function __invoke(SettingRequest $request)\n    {\n        $this->authorize('manage settings');\n\n        Setting::setSettings($request->settings);\n\n        return response()->json([\n            'success' => true,\n            $request->settings\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Settings/UpdateUserSettingsController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Settings;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Http\\Requests\\UpdateSettingsRequest;\n\nclass UpdateUserSettingsController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\UpdateSettingsRequest  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function __invoke(UpdateSettingsRequest $request)\n    {\n        $user = $request->user();\n\n        $user->setSettings($request->settings);\n\n        return response()->json([\n            'success' => true,\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Update/CheckVersionController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Update;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Models\\Setting;\nuse Crater\\Space\\Updater;\nuse Illuminate\\Http\\Request;\n\nclass CheckVersionController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\JsonResponse\n     */\n    public function __invoke(Request $request)\n    {\n        if ((! $request->user()) || (! $request->user()->isOwner())) {\n            return response()->json([\n                'success' => false,\n                'message' => 'You are not allowed to update this app.'\n            ], 401);\n        }\n\n        set_time_limit(600); // 10 minutes\n\n        $json = Updater::checkForUpdate(Setting::getSetting('version'));\n\n        return response()->json($json);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Update/CopyFilesController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Update;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Space\\Updater;\nuse Illuminate\\Http\\Request;\n\nclass CopyFilesController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function __invoke(Request $request)\n    {\n        if ((! $request->user()) || (! $request->user()->isOwner())) {\n            return response()->json([\n                'success' => false,\n                'message' => 'You are not allowed to update this app.'\n            ], 401);\n        }\n\n        $request->validate([\n            'path' => 'required',\n        ]);\n\n        $path = Updater::copyFiles($request->path);\n\n        return response()->json([\n            'success' => true,\n            'path' => $path,\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Update/DeleteFilesController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Update;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Space\\Updater;\nuse Illuminate\\Http\\Request;\n\nclass DeleteFilesController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function __invoke(Request $request)\n    {\n        if ((! $request->user()) || (! $request->user()->isOwner())) {\n            return response()->json([\n                'success' => false,\n                'message' => 'You are not allowed to update this app.'\n            ], 401);\n        }\n\n        if (isset($request->deleted_files) && ! empty($request->deleted_files)) {\n            Updater::deleteFiles($request->deleted_files);\n        }\n\n        return response()->json([\n            'success' => true,\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Update/DownloadUpdateController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Update;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Space\\Updater;\nuse Illuminate\\Http\\Request;\n\nclass DownloadUpdateController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function __invoke(Request $request)\n    {\n        if ((! $request->user()) || (! $request->user()->isOwner())) {\n            return response()->json([\n                'success' => false,\n                'message' => 'You are not allowed to update this app.'\n            ], 401);\n        }\n\n        $request->validate([\n            'version' => 'required',\n        ]);\n\n        $path = Updater::download($request->version);\n\n        return response()->json([\n            'success' => true,\n            'path' => $path,\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Update/FinishUpdateController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Update;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Space\\Updater;\nuse Illuminate\\Http\\Request;\n\nclass FinishUpdateController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function __invoke(Request $request)\n    {\n        if ((! $request->user()) || (! $request->user()->isOwner())) {\n            return response()->json([\n                'success' => false,\n                'message' => 'You are not allowed to update this app.'\n            ], 401);\n        }\n\n        $request->validate([\n            'installed' => 'required',\n            'version' => 'required',\n        ]);\n\n        $json = Updater::finishUpdate($request->installed, $request->version);\n\n        return response()->json($json);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Update/MigrateUpdateController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Update;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Space\\Updater;\nuse Illuminate\\Http\\Request;\n\nclass MigrateUpdateController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function __invoke(Request $request)\n    {\n        if ((! $request->user()) || (! $request->user()->isOwner())) {\n            return response()->json([\n                'success' => false,\n                'message' => 'You are not allowed to update this app.'\n            ], 401);\n        }\n\n        Updater::migrateUpdate();\n\n        return response()->json([\n            'success' => true,\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Update/UnzipUpdateController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Update;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Space\\Updater;\nuse Illuminate\\Http\\Request;\n\nclass UnzipUpdateController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function __invoke(Request $request)\n    {\n        if ((! $request->user()) || (! $request->user()->isOwner())) {\n            return response()->json([\n                'success' => false,\n                'message' => 'You are not allowed to update this app.'\n            ], 401);\n        }\n\n        $request->validate([\n            'path' => 'required',\n        ]);\n\n        try {\n            $path = Updater::unzip($request->path);\n\n            return response()->json([\n                'success' => true,\n                'path' => $path,\n            ]);\n        } catch (\\Exception $e) {\n            return response()->json([\n                'success' => false,\n                'error' => $e->getMessage(),\n            ], 500);\n        }\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Update/UpdateController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Update;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Models\\Setting;\nuse Crater\\Space\\Updater;\nuse Illuminate\\Http\\Request;\n\nclass UpdateController extends Controller\n{\n    public function download(Request $request)\n    {\n        $this->authorize('manage update app');\n\n        $request->validate([\n            'version' => 'required',\n        ]);\n\n        $path = Updater::download($request->version);\n\n        return response()->json([\n            'success' => true,\n            'path' => $path,\n        ]);\n    }\n\n    public function unzip(Request $request)\n    {\n        $this->authorize('manage update app');\n\n        $request->validate([\n            'path' => 'required',\n        ]);\n\n        try {\n            $path = Updater::unzip($request->path);\n\n            return response()->json([\n                'success' => true,\n                'path' => $path,\n            ]);\n        } catch (\\Exception $e) {\n            return response()->json([\n                'success' => false,\n                'error' => $e->getMessage(),\n            ], 500);\n        }\n    }\n\n    public function copyFiles(Request $request)\n    {\n        $this->authorize('manage update app');\n\n        $request->validate([\n            'path' => 'required',\n        ]);\n\n        $path = Updater::copyFiles($request->path);\n\n        return response()->json([\n            'success' => true,\n            'path' => $path,\n        ]);\n    }\n\n    public function migrate(Request $request)\n    {\n        $this->authorize('manage update app');\n\n        Updater::migrateUpdate();\n\n        return response()->json([\n            'success' => true,\n        ]);\n    }\n\n    public function finishUpdate(Request $request)\n    {\n        $this->authorize('manage update app');\n\n        $request->validate([\n            'installed' => 'required',\n            'version' => 'required',\n        ]);\n\n        $json = Updater::finishUpdate($request->installed, $request->version);\n\n        return response()->json($json);\n    }\n\n    public function checkLatestVersion(Request $request)\n    {\n        $this->authorize('manage update app');\n\n        set_time_limit(600); // 10 minutes\n\n        $json = Updater::checkForUpdate(Setting::getSetting('version'));\n\n        return response()->json($json);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Admin/Users/UsersController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Admin\\Users;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Http\\Requests\\DeleteUserRequest;\nuse Crater\\Http\\Requests\\UserRequest;\nuse Crater\\Http\\Resources\\UserResource;\nuse Crater\\Models\\User;\nuse Illuminate\\Http\\Request;\n\nclass UsersController extends Controller\n{\n    /**\n     * Display a listing of the resource.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\JsonResponse\n     */\n    public function index(Request $request)\n    {\n        $this->authorize('viewAny', User::class);\n\n        $limit = $request->has('limit') ? $request->limit : 10;\n\n        $user = $request->user();\n\n        $users = User::applyFilters($request->all())\n            ->where('id', '<>', $user->id)\n            ->latest()\n            ->paginate($limit);\n\n        return UserResource::collection($users)\n            ->additional(['meta' => [\n                'user_total_count' => User::count(),\n            ]]);\n    }\n\n    /**\n     * Store a newly created resource in storage.\n     *\n     * @param  \\Illuminate\\Http\\UserRequest  $request\n     * @return \\Illuminate\\Http\\JsonResponse\n     */\n    public function store(UserRequest $request)\n    {\n        $this->authorize('create', User::class);\n\n        $user = User::createFromRequest($request);\n\n        return new UserResource($user);\n    }\n\n    /**\n     * Display the specified resource.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @return \\Illuminate\\Http\\JsonResponse\n     */\n    public function show(User $user)\n    {\n        $this->authorize('view', $user);\n\n        return new UserResource($user);\n    }\n\n    /**\n     * Update the specified resource in storage.\n     *\n     * @param  \\Illuminate\\Http\\UserRequest  $request\n     * @param  \\Crater\\Models\\User  $user\n     * @return \\Illuminate\\Http\\JsonResponse\n     */\n    public function update(UserRequest $request, User $user)\n    {\n        $this->authorize('update', $user);\n\n        $user->updateFromRequest($request);\n\n        return new UserResource($user);\n    }\n\n    /**\n     * Display a listing of the resource.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\JsonResponse\n     */\n    public function delete(DeleteUserRequest $request)\n    {\n        $this->authorize('delete multiple users', User::class);\n\n        if ($request->users) {\n            User::deleteUsers($request->users);\n        }\n\n        return response()->json([\n            'success' => true,\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Customer/Auth/ForgotPasswordController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Customer\\Auth;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Illuminate\\Foundation\\Auth\\SendsPasswordResetEmails;\nuse Illuminate\\Http\\Request;\nuse Password;\n\nclass ForgotPasswordController extends Controller\n{\n    /*\n    |--------------------------------------------------------------------------\n    | Password Reset Controller\n    |--------------------------------------------------------------------------\n    |\n    | This controller is responsible for handling password reset emails and\n    | includes a trait which assists in sending these notifications from\n    | your application to your users. Feel free to explore this trait.\n    |\n    */\n\n    use SendsPasswordResetEmails;\n\n    public function broker()\n    {\n        return Password::broker('customers');\n    }\n\n    /**\n     * Get the response for a successful password reset link.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @param  string  $response\n     * @return \\Illuminate\\Http\\RedirectResponse|\\Illuminate\\Http\\JsonResponse\n     */\n    protected function sendResetLinkResponse(Request $request, $response)\n    {\n        return response()->json([\n            'message' => 'Password reset email sent.',\n            'data' => $response,\n        ]);\n    }\n\n    /**\n     * Get the response for a failed password reset link.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @param  string  $response\n     * @return \\Illuminate\\Http\\RedirectResponse|\\Illuminate\\Http\\JsonResponse\n     */\n    protected function sendResetLinkFailedResponse(Request $request, $response)\n    {\n        return response('Email could not be sent to this email address.', 403);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Customer/Auth/LoginController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Customer\\Auth;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Http\\Requests\\Customer\\CustomerLoginRequest;\nuse Crater\\Models\\Company;\nuse Crater\\Models\\Customer;\nuse Hash;\nuse Illuminate\\Support\\Facades\\Auth;\nuse Illuminate\\Validation\\ValidationException;\n\nclass LoginController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Crater\\Http\\Requests\\Customer\\CustomerLoginRequest  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function __invoke(CustomerLoginRequest $request, Company $company)\n    {\n        $user = Customer::where('email', $request->email)\n            ->where('company_id', $company->id)\n            ->first();\n\n        if (! $user || ! Hash::check($request->password, $user->password)) {\n            throw ValidationException::withMessages([\n                'email' => ['The provided credentials are incorrect.'],\n            ]);\n        }\n\n        if (! $user->enable_portal) {\n            throw ValidationException::withMessages([\n                'email' => ['Customer portal not available for this user.'],\n            ]);\n        }\n\n        Auth::guard('customer')->login($user);\n\n        return response()->json([\n            'success' => true\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Customer/Auth/ResetPasswordController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Customer\\Auth;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Providers\\RouteServiceProvider;\nuse Illuminate\\Auth\\Events\\PasswordReset;\nuse Illuminate\\Foundation\\Auth\\ResetsPasswords;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Str;\nuse Password;\n\nclass ResetPasswordController extends Controller\n{\n    /*\n    |--------------------------------------------------------------------------\n    | Password Reset Controller\n    |--------------------------------------------------------------------------\n    |\n    | This controller is responsible for handling password reset requests\n    | and uses a simple trait to include this behavior. You're free to\n    | explore this trait and override any methods you wish to tweak.\n    |\n    */\n\n    use ResetsPasswords;\n\n    /**\n     * Where to redirect users after resetting their password.\n     *\n     * @var string\n     */\n    protected $redirectTo = RouteServiceProvider::CUSTOMER_HOME;\n\n    public function broker()\n    {\n        return Password::broker('customers');\n    }\n\n    /**\n     * Get the response for a successful password reset.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @param  string  $response\n     * @return \\Illuminate\\Http\\RedirectResponse|\\Illuminate\\Http\\JsonResponse\n     */\n    protected function sendResetResponse(Request $request, $response)\n    {\n        return response()->json([\n            'message' => 'Password reset successfully.',\n        ]);\n    }\n\n    /**\n     * Reset the given user's password.\n     *\n     * @param  \\Illuminate\\Contracts\\Auth\\CanResetPassword  $user\n     * @param  string  $password\n     * @return void\n     */\n    protected function resetPassword($user, $password)\n    {\n        $user->password = $password;\n\n        $user->setRememberToken(Str::random(60));\n\n        $user->save();\n\n        event(new PasswordReset($user));\n    }\n\n    /**\n     * Get the response for a failed password reset.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @param  string  $response\n     * @return \\Illuminate\\Http\\RedirectResponse|\\Illuminate\\Http\\JsonResponse\n     */\n    protected function sendResetFailedResponse(Request $request, $response)\n    {\n        return response('Failed, Invalid Token.', 403);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Customer/Estimate/AcceptEstimateController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Customer\\Estimate;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Http\\Resources\\Customer\\EstimateResource;\nuse Crater\\Models\\Company;\nuse Crater\\Models\\Estimate;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\Auth;\n\nclass AcceptEstimateController extends Controller\n{\n    /**\n    * Handle the incoming request.\n    *\n    * @param  \\Illuminate\\Http\\Request  $request\n    * @param  Estimate $estimate\n    * @return \\Illuminate\\Http\\Response\n    */\n    public function __invoke(Request $request, Company $company, $id)\n    {\n        $estimate = $company->estimates()\n            ->whereCustomer(Auth::guard('customer')->id())\n            ->where('id', $id)\n            ->first();\n\n        if (! $estimate) {\n            return response()->json(['error' => 'estimate_not_found'], 404);\n        }\n\n        $estimate->update($request->only('status'));\n\n        return new EstimateResource($estimate);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Customer/Estimate/EstimatesController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Customer\\Estimate;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Http\\Resources\\Customer\\EstimateResource;\nuse Crater\\Models\\Company;\nuse Crater\\Models\\Estimate;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\Auth;\n\nclass EstimatesController extends Controller\n{\n    /**\n     * Display a listing of the resource.\n     *\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function index(Request $request)\n    {\n        $limit = $request->has('limit') ? $request->limit : 10;\n\n        $estimates = Estimate::with([\n                'items',\n                'customer',\n                'taxes',\n                'creator',\n            ])\n            ->where('status', '<>', 'DRAFT')\n            ->whereCustomer(Auth::guard('customer')->id())\n            ->applyFilters($request->only([\n                'status',\n                'estimate_number',\n                'from_date',\n                'to_date',\n                'orderByField',\n                'orderBy',\n            ]))\n            ->latest()\n            ->paginateData($limit);\n\n        return (EstimateResource::collection($estimates))\n            ->additional(['meta' => [\n                'estimateTotalCount' => Estimate::where('status', '<>', 'DRAFT')->whereCustomer(Auth::guard('customer')->id())->count(),\n            ]]);\n    }\n\n    /**\n     * Display the specified resource.\n     *\n     * @param  Estimate $estimate\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function show(Company $company, $id)\n    {\n        $estimate = $company->estimates()\n            ->whereCustomer(Auth::guard('customer')->id())\n            ->where('id', $id)\n            ->first();\n\n        if (! $estimate) {\n            return response()->json(['error' => 'estimate_not_found'], 404);\n        }\n\n        return new EstimateResource($estimate);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Customer/EstimatePdfController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Customer;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Http\\Resources\\EstimateResource;\nuse Crater\\Mail\\EstimateViewedMail;\nuse Crater\\Models\\CompanySetting;\nuse Crater\\Models\\Customer;\nuse Crater\\Models\\EmailLog;\nuse Crater\\Models\\Estimate;\nuse Illuminate\\Http\\Request;\n\nclass EstimatePdfController extends Controller\n{\n    public function getPdf(EmailLog $emailLog, Request $request)\n    {\n        $estimate = Estimate::find($emailLog->mailable_id);\n\n        if (! $emailLog->isExpired()) {\n            if ($estimate && ($estimate->status == Estimate::STATUS_SENT || $estimate->status == Estimate::STATUS_DRAFT)) {\n                $estimate->status = Estimate::STATUS_VIEWED;\n                $estimate->save();\n                $notifyEstimateViewed = CompanySetting::getSetting(\n                    'notify_estimate_viewed',\n                    $estimate->company_id\n                );\n\n                if ($notifyEstimateViewed == 'YES') {\n                    $data['estimate'] = Estimate::findOrFail($estimate->id)->toArray();\n                    $data['user'] = Customer::find($estimate->customer_id)->toArray();\n                    $notificationEmail = CompanySetting::getSetting(\n                        'notification_email',\n                        $estimate->company_id\n                    );\n\n                    \\Mail::to($notificationEmail)->send(new EstimateViewedMail($data));\n                }\n            }\n\n            return $estimate->getGeneratedPDFOrStream('estimate');\n        }\n\n        abort(403, 'Link Expired.');\n    }\n\n    public function getEstimate(EmailLog $emailLog)\n    {\n        $estimate = Estimate::find($emailLog->mailable_id);\n\n        return new EstimateResource($estimate);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Customer/Expense/ExpensesController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Customer\\Expense;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Http\\Resources\\Customer\\ExpenseResource;\nuse Crater\\Models\\Company;\nuse Crater\\Models\\Expense;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\Auth;\n\nclass ExpensesController extends Controller\n{\n    /**\n     * Display a listing of the resource.\n     *\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function index(Request $request)\n    {\n        $limit = $request->has('limit') ? $request->limit : 10;\n\n        $expenses = Expense::with('category', 'creator', 'fields')\n            ->whereUser(Auth::guard('customer')->id())\n            ->applyFilters($request->only([\n                'expense_category_id',\n                'from_date',\n                'to_date',\n                'orderByField',\n                'orderBy',\n            ]))\n            ->paginateData($limit);\n\n        return (ExpenseResource::collection($expenses))\n            ->additional(['meta' => [\n                'expenseTotalCount' => Expense::whereCustomer(Auth::guard('customer')->id())->count(),\n            ]]);\n    }\n\n    /**\n     * Display the specified resource.\n     *\n     * @param  \\Crater\\Models\\Expense  $expense\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function show(Company $company, $id)\n    {\n        $expense = $company->expenses()\n            ->whereUser(Auth::guard('customer')->id())\n            ->where('id', $id)\n            ->first();\n\n        if (! $expense) {\n            return response()->json(['error' => 'expense_not_found'], 404);\n        }\n\n        return new ExpenseResource($expense);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Customer/General/BootstrapController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Customer\\General;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Http\\Resources\\Customer\\CustomerResource;\nuse Crater\\Models\\Currency;\nuse Crater\\Models\\Module;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\Auth;\n\nclass BootstrapController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function __invoke(Request $request)\n    {\n        $customer = Auth::guard('customer')->user();\n\n        foreach (\\Menu::get('customer_portal_menu')->items->toArray() as $data) {\n            if ($customer) {\n                $menu[] = [\n                    'title' => $data->title,\n                    'link' => $data->link->path['url'],\n                ];\n            }\n        }\n\n        return (new CustomerResource($customer))\n            ->additional(['meta' => [\n                'menu' => $menu,\n                'current_customer_currency' => Currency::find($customer->currency_id),\n                'modules' => Module::where('enabled', true)->pluck('name'),\n            ]]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Customer/General/DashboardController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Customer\\General;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Models\\Estimate;\nuse Crater\\Models\\Invoice;\nuse Crater\\Models\\Payment;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\Auth;\n\nclass DashboardController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function __invoke(Request $request)\n    {\n        $user = Auth::guard('customer')->user();\n\n        $amountDue = Invoice::whereCustomer($user->id)\n            ->where('status', '<>', 'DRAFT')\n            ->sum('due_amount');\n        $invoiceCount = Invoice::whereCustomer($user->id)\n            ->where('status', '<>', 'DRAFT')\n            ->count();\n        $estimatesCount = Estimate::whereCustomer($user->id)\n            ->where('status', '<>', 'DRAFT')\n            ->count();\n        $paymentCount = Payment::whereCustomer($user->id)\n            ->count();\n\n        return response()->json([\n            'due_amount' => $amountDue,\n            'recentInvoices' => Invoice::whereCustomer($user->id)->where('status', '<>', 'DRAFT')->take(5)->latest()->get(),\n            'recentEstimates' => Estimate::whereCustomer($user->id)->where('status', '<>', 'DRAFT')->take(5)->latest()->get(),\n            'invoice_count' => $invoiceCount,\n            'estimate_count' => $estimatesCount,\n            'payment_count' => $paymentCount,\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Customer/General/ProfileController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Customer\\General;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Http\\Requests\\Customer\\CustomerProfileRequest;\nuse Crater\\Http\\Resources\\Customer\\CustomerResource;\nuse Crater\\Models\\Company;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\Auth;\n\nclass ProfileController extends Controller\n{\n    public function updateProfile(Company $company, CustomerProfileRequest $request)\n    {\n        $customer = Auth::guard('customer')->user();\n\n        $customer->update($request->validated());\n\n        if (isset($request->is_customer_avatar_removed) && (bool) $request->is_customer_avatar_removed) {\n            $customer->clearMediaCollection('customer_avatar');\n        }\n        if ($customer && $request->hasFile('customer_avatar')) {\n            $customer->clearMediaCollection('customer_avatar');\n\n            $customer->addMediaFromRequest('customer_avatar')\n            ->toMediaCollection('customer_avatar');\n        }\n\n        if ($request->billing !== null) {\n            $customer->shippingAddress()->delete();\n            $customer->addresses()->create($request->getShippingAddress());\n        }\n\n        if ($request->shipping !== null) {\n            $customer->billingAddress()->delete();\n            $customer->addresses()->create($request->getBillingAddress());\n        }\n\n        return new CustomerResource($customer);\n    }\n\n    public function getUser(Request $request)\n    {\n        $customer = Auth::guard('customer')->user();\n\n        return new CustomerResource($customer);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Customer/Invoice/InvoicesController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Customer\\Invoice;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Http\\Resources\\Customer\\InvoiceResource;\nuse Crater\\Models\\Company;\nuse Crater\\Models\\Invoice;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\Auth;\n\nclass InvoicesController extends Controller\n{\n    /**\n     * Display a listing of the resource.\n     *\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function index(Request $request)\n    {\n        $limit = $request->has('limit') ? $request->limit : 10;\n\n        $invoices = Invoice::with(['items', 'customer', 'creator', 'taxes'])\n            ->where('status', '<>', 'DRAFT')\n            ->applyFilters($request->all())\n            ->whereCustomer(Auth::guard('customer')->id())\n            ->latest()\n            ->paginateData($limit);\n\n        return (InvoiceResource::collection($invoices))\n            ->additional(['meta' => [\n                'invoiceTotalCount' => Invoice::where('status', '<>', 'DRAFT')->whereCustomer(Auth::guard('customer')->id())->count(),\n            ]]);\n    }\n\n    public function show(Company $company, $id)\n    {\n        $invoice = $company->invoices()\n            ->whereCustomer(Auth::guard('customer')->id())\n            ->where('id', $id)\n            ->first();\n\n        if (! $invoice) {\n            return response()->json(['error' => 'invoice_not_found'], 404);\n        }\n\n        return new InvoiceResource($invoice);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Customer/InvoicePdfController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Customer;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Http\\Resources\\Customer\\InvoiceResource as CustomerInvoiceResource;\nuse Crater\\Mail\\InvoiceViewedMail;\nuse Crater\\Models\\CompanySetting;\nuse Crater\\Models\\Customer;\nuse Crater\\Models\\EmailLog;\nuse Crater\\Models\\Invoice;\nuse Illuminate\\Http\\Request;\n\nclass InvoicePdfController extends Controller\n{\n    public function getPdf(EmailLog $emailLog, Request $request)\n    {\n        $invoice = Invoice::find($emailLog->mailable_id);\n\n        if (! $emailLog->isExpired()) {\n            if ($invoice && ($invoice->status == Invoice::STATUS_SENT || $invoice->status == Invoice::STATUS_DRAFT)) {\n                $invoice->status = Invoice::STATUS_VIEWED;\n                $invoice->viewed = true;\n                $invoice->save();\n                $notifyInvoiceViewed = CompanySetting::getSetting(\n                    'notify_invoice_viewed',\n                    $invoice->company_id\n                );\n\n                if ($notifyInvoiceViewed == 'YES') {\n                    $data['invoice'] = Invoice::findOrFail($invoice->id)->toArray();\n                    $data['user'] = Customer::find($invoice->customer_id)->toArray();\n                    $notificationEmail = CompanySetting::getSetting(\n                        'notification_email',\n                        $invoice->company_id\n                    );\n\n                    \\Mail::to($notificationEmail)->send(new InvoiceViewedMail($data));\n                }\n            }\n\n            if ($request->has('pdf')) {\n                return $invoice->getGeneratedPDFOrStream('invoice');\n            }\n\n            return view('app')->with([\n                'customer_logo' => get_company_setting('customer_portal_logo', $invoice->company_id),\n                'current_theme' => get_company_setting('customer_portal_theme', $invoice->company_id)\n            ]);\n        }\n\n        abort(403, 'Link Expired.');\n    }\n\n    public function getInvoice(EmailLog $emailLog)\n    {\n        $invoice = Invoice::find($emailLog->mailable_id);\n\n        return new CustomerInvoiceResource($invoice);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Customer/Payment/PaymentMethodController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Customer\\Payment;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Http\\Resources\\Customer\\PaymentMethodResource;\nuse Crater\\Models\\Company;\nuse Crater\\Models\\PaymentMethod;\nuse Illuminate\\Http\\Request;\n\nclass PaymentMethodController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function __invoke(Request $request, Company $company)\n    {\n        return PaymentMethodResource::collection(PaymentMethod::where('company_id', $company->id)->get());\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Customer/Payment/PaymentsController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Customer\\Payment;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Http\\Resources\\Customer\\PaymentResource;\nuse Crater\\Models\\Company;\nuse Crater\\Models\\Payment;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\Auth;\n\nclass PaymentsController extends Controller\n{\n    /**\n     * Display a listing of the resource.\n     *\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function index(Request $request)\n    {\n        $limit = $request->has('limit') ? $request->limit : 10;\n\n        $payments = Payment::with(['customer', 'invoice', 'paymentMethod', 'creator'])\n            ->whereCustomer(Auth::guard('customer')->id())\n            ->leftJoin('invoices', 'invoices.id', '=', 'payments.invoice_id')\n            ->applyFilters($request->only([\n                'payment_number',\n                'payment_method_id',\n                'orderByField',\n                'orderBy',\n            ]))\n            ->select('payments.*', 'invoices.invoice_number')\n            ->latest()\n            ->paginateData($limit);\n\n        return (PaymentResource::collection($payments))\n            ->additional(['meta' => [\n                'paymentTotalCount' => Payment::whereCustomer(Auth::guard('customer')->id())->count(),\n            ]]);\n    }\n\n    /**\n     * Display the specified resource.\n     *\n     * @param  \\Crater\\Models\\Payment  $payment\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function show(Company $company, $id)\n    {\n        $payment = $company->payments()\n            ->whereCustomer(Auth::guard('customer')->id())\n            ->where('id', $id)\n            ->first();\n\n        if (! $payment) {\n            return response()->json(['error' => 'payment_not_found'], 404);\n        }\n\n        return new PaymentResource($payment);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Customer/PaymentPdfController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Customer;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Http\\Resources\\PaymentResource;\nuse Crater\\Models\\EmailLog;\nuse Crater\\Models\\Payment;\nuse Illuminate\\Http\\Request;\n\nclass PaymentPdfController extends Controller\n{\n    public function getPdf(EmailLog $emailLog, Request $request)\n    {\n        if (! $emailLog->isExpired()) {\n            return $emailLog->mailable->getGeneratedPDFOrStream('payment');\n        }\n\n        abort(403, 'Link Expired.');\n    }\n\n    public function getPayment(EmailLog $emailLog)\n    {\n        $payment = Payment::find($emailLog->mailable_id);\n\n        return new PaymentResource($payment);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Installation/AppDomainController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Installation;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Http\\Requests\\DomainEnvironmentRequest;\nuse Crater\\Space\\EnvironmentManager;\nuse Illuminate\\Support\\Facades\\Artisan;\n\nclass AppDomainController extends Controller\n{\n    /**\n     *\n     * @param DomainEnvironmentRequest $request\n     */\n    public function __invoke(DomainEnvironmentRequest $request)\n    {\n        Artisan::call('optimize:clear');\n\n        $environmentManager = new EnvironmentManager();\n\n        $results = $environmentManager->saveDomainVariables($request);\n\n        if (in_array('error', $results)) {\n            return response()->json($results);\n        }\n\n        return response()->json([\n            'success' => true,\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Installation/DatabaseConfigurationController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Installation;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Http\\Requests\\DatabaseEnvironmentRequest;\nuse Crater\\Space\\EnvironmentManager;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\Artisan;\n\nclass DatabaseConfigurationController extends Controller\n{\n    /**\n     * @var EnvironmentManager\n     */\n    protected $EnvironmentManager;\n\n    /**\n     * @param EnvironmentManager $environmentManager\n     */\n    public function __construct(EnvironmentManager $environmentManager)\n    {\n        $this->environmentManager = $environmentManager;\n    }\n\n    /**\n     *\n     * @param DatabaseEnvironmentRequest $request\n     */\n    public function saveDatabaseEnvironment(DatabaseEnvironmentRequest $request)\n    {\n        Artisan::call('config:clear');\n        Artisan::call('cache:clear');\n\n        $results = $this->environmentManager->saveDatabaseVariables($request);\n\n        if (array_key_exists(\"success\", $results)) {\n            Artisan::call('key:generate --force');\n            Artisan::call('optimize:clear');\n            Artisan::call('config:clear');\n            Artisan::call('cache:clear');\n            Artisan::call('storage:link');\n            Artisan::call('migrate --seed --force');\n        }\n\n        return response()->json($results);\n    }\n\n    public function getDatabaseEnvironment(Request $request)\n    {\n        $databaseData = [];\n\n        switch ($request->connection) {\n            case 'sqlite':\n                $databaseData = [\n                    'database_connection' => 'sqlite',\n                    'database_name' => database_path('database.sqlite'),\n                ];\n\n                break;\n\n            case 'pgsql':\n                $databaseData = [\n                    'database_connection' => 'pgsql',\n                    'database_host' => '127.0.0.1',\n                    'database_port' => 5432,\n                ];\n\n                break;\n\n            case 'mysql':\n                $databaseData = [\n                    'database_connection' => 'mysql',\n                    'database_host' => '127.0.0.1',\n                    'database_port' => 3306,\n                ];\n\n                break;\n\n        }\n\n\n        return response()->json([\n            'config' => $databaseData,\n            'success' => true,\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Installation/FilePermissionsController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Installation;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Space\\FilePermissionChecker;\nuse Illuminate\\Http\\JsonResponse;\n\nclass FilePermissionsController extends Controller\n{\n    /**\n     * @var PermissionsChecker\n     */\n    protected $permissions;\n\n    /**\n     * @param PermissionsChecker $checker\n     */\n    public function __construct(FilePermissionChecker $checker)\n    {\n        $this->permissions = $checker;\n    }\n\n    /**\n     * Display the permissions check page.\n     *\n     * @return JsonResponse\n     */\n    public function permissions()\n    {\n        $permissions = $this->permissions->check(\n            config('installer.permissions')\n        );\n\n        return response()->json([\n            'permissions' => $permissions,\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Installation/FinishController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Installation;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Illuminate\\Http\\Request;\n\nclass FinishController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function __invoke(Request $request)\n    {\n        \\Storage::disk('local')->put('database_created', 'database_created');\n\n        return response()->json(['success' => true]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Installation/LoginController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Installation;\n\nuse Auth;\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Models\\User;\nuse Illuminate\\Http\\Request;\n\nclass LoginController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function __invoke(Request $request)\n    {\n        $user = User::where('role', 'super admin')->first();\n        Auth::login($user);\n\n        return response()->json([\n            'success' => true,\n            'user' => $user,\n            'company' => $user->companies()->first()\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Installation/OnboardingWizardController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Installation;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Models\\Setting;\nuse Illuminate\\Http\\Request;\n\nclass OnboardingWizardController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function getStep(Request $request)\n    {\n        if (! \\Storage::disk('local')->has('database_created')) {\n            return response()->json([\n                'profile_complete' => 0,\n            ]);\n        }\n\n        return response()->json([\n            'profile_complete' => Setting::getSetting('profile_complete'),\n        ]);\n    }\n\n    public function updateStep(Request $request)\n    {\n        $setting = Setting::getSetting('profile_complete');\n\n        if ($setting === 'COMPLETED') {\n            return response()->json([\n                'profile_complete' => $setting,\n            ]);\n        }\n\n        Setting::setSetting('profile_complete', $request->profile_complete);\n\n        return response()->json([\n            'profile_complete' => Setting::getSetting('profile_complete'),\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Installation/RequirementsController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Installation;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Space\\RequirementsChecker;\nuse Illuminate\\Http\\JsonResponse;\n\nclass RequirementsController extends Controller\n{\n    /**\n     * @var RequirementsChecker\n     */\n    protected $requirements;\n\n    /**\n     * @param RequirementsChecker $checker\n     */\n    public function __construct(RequirementsChecker $checker)\n    {\n        $this->requirements = $checker;\n    }\n\n    /**\n     * Display the requirements page.\n     *\n     * @return JsonResponse\n     */\n    public function requirements()\n    {\n        $phpSupportInfo = $this->requirements->checkPHPVersion(\n            config('installer.core.minPhpVersion')\n        );\n\n        $requirements = $this->requirements->check(\n            config('installer.requirements')\n        );\n\n        return response()->json([\n            'phpSupportInfo' => $phpSupportInfo,\n            'requirements' => $requirements,\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Modules/ScriptController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Modules;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Services\\Module\\ModuleFacade;\nuse DateTime;\nuse Illuminate\\Support\\Arr;\nuse Request;\n\nclass ScriptController extends Controller\n{\n    /**\n     * Serve the requested script.\n     *\n     * @param  \\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     *\n     * @throws \\Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException\n     */\n    public function __invoke(Request $request, string $script)\n    {\n        $path = Arr::get(ModuleFacade::allScripts(), $script);\n\n        abort_if(is_null($path), 404);\n\n        return response(\n            file_get_contents($path),\n            200,\n            [\n                'Content-Type' => 'application/javascript',\n            ]\n        )->setLastModified(DateTime::createFromFormat('U', filemtime($path)));\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Modules/StyleController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Modules;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Services\\Module\\ModuleFacade;\nuse DateTime;\nuse Illuminate\\Support\\Arr;\nuse Request;\n\nclass StyleController extends Controller\n{\n    /**\n     * Serve the requested stylesheet.\n     *\n     * @param  \\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     *\n     * @throws \\Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException\n     */\n    public function __invoke(Request $request, string $style)\n    {\n        $path = Arr::get(ModuleFacade::allStyles(), $style);\n\n        abort_if(is_null($path), 404);\n\n        return response(\n            file_get_contents($path),\n            200,\n            [\n                'Content-Type' => 'text/css',\n            ]\n        )->setLastModified(DateTime::createFromFormat('U', filemtime($path)));\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/PDF/DownloadInvoicePdfController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\PDF;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Models\\Invoice;\n\nclass DownloadInvoicePdfController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function __invoke(Invoice $invoice)\n    {\n        $path = storage_path('app/temp/invoice/'.$invoice->id.'.pdf');\n\n        return response()->download($path);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/PDF/DownloadPaymentPdfController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\PDF;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Models\\Payment;\n\nclass DownloadPaymentPdfController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function __invoke(Payment $payment)\n    {\n        $path = storage_path('app/temp/payment/'.$payment->id.'.pdf');\n\n        return response()->download($path);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/PDF/DownloadReceiptController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\PDF;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Models\\Expense;\n\nclass DownloadReceiptController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @param  Expense $expense\n     * @param   string $hash\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function __invoke(Expense $expense)\n    {\n        $this->authorize('view', $expense);\n\n        if ($expense) {\n            $media = $expense->getFirstMedia('receipts');\n            if ($media) {\n                $imagePath = $media->getPath();\n                $response = \\Response::download($imagePath, $media->file_name);\n                if (ob_get_contents()) {\n                    ob_end_clean();\n                }\n\n                return $response;\n            }\n        }\n\n        return response()->json([\n            'error' => 'receipt_not_found',\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/PDF/EstimatePdfController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\PDF;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Models\\Estimate;\nuse Illuminate\\Http\\Request;\n\nclass EstimatePdfController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function __invoke(Request $request, Estimate $estimate)\n    {\n        if ($request->has('preview')) {\n            return $estimate->getPDFData();\n        }\n\n\n        return $estimate->getGeneratedPDFOrStream('estimate');\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/PDF/InvoicePdfController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\PDF;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Models\\Invoice;\nuse Illuminate\\Http\\Request;\n\nclass InvoicePdfController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function __invoke(Request $request, Invoice $invoice)\n    {\n        if ($request->has('preview')) {\n            return $invoice->getPDFData();\n        }\n\n        return $invoice->getGeneratedPDFOrStream('invoice');\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/PDF/PaymentPdfController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\PDF;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Crater\\Models\\Payment;\nuse Illuminate\\Http\\Request;\n\nclass PaymentPdfController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function __invoke(Request $request, Payment $payment)\n    {\n        if ($request->has('preview')) {\n            return view('app.pdf.payment.payment');\n        }\n\n        return $payment->getGeneratedPDFOrStream('payment');\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/V1/Webhook/CronJobController.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Controllers\\V1\\Webhook;\n\nuse Crater\\Http\\Controllers\\Controller;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\Artisan;\n\nclass CronJobController extends Controller\n{\n    /**\n     * Handle the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function __invoke(Request $request)\n    {\n        Artisan::call('schedule:run');\n\n        return response()->json(['success' => true]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Kernel.php",
    "content": "<?php\n\nnamespace Crater\\Http;\n\nuse Illuminate\\Foundation\\Http\\Kernel as HttpKernel;\nuse Laravel\\Sanctum\\Http\\Middleware\\EnsureFrontendRequestsAreStateful;\n\nclass Kernel extends HttpKernel\n{\n    /**\n     * The application's global HTTP middleware stack.\n     *\n     * These middleware are run during every request to your application.\n     *\n     * @var array\n     */\n    protected $middleware = [\n        \\Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode::class,\n        \\Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize::class,\n        \\Crater\\Http\\Middleware\\TrimStrings::class,\n        \\Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull::class,\n        \\Crater\\Http\\Middleware\\TrustProxies::class,\n        \\Crater\\Http\\Middleware\\ConfigMiddleware::class,\n        \\Fruitcake\\Cors\\HandleCors::class,\n    ];\n\n    /**\n     * The application's route middleware groups.\n     *\n     * @var array\n     */\n    protected $middlewareGroups = [\n        'web' => [\n            \\Crater\\Http\\Middleware\\EncryptCookies::class,\n            \\Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse::class,\n            \\Illuminate\\Session\\Middleware\\StartSession::class,\n            // \\Illuminate\\Session\\Middleware\\AuthenticateSession::class,\n            \\Illuminate\\View\\Middleware\\ShareErrorsFromSession::class,\n            \\Crater\\Http\\Middleware\\VerifyCsrfToken::class,\n            \\Illuminate\\Routing\\Middleware\\SubstituteBindings::class,\n        ],\n\n        'api' => [\n            EnsureFrontendRequestsAreStateful::class,\n            'throttle:180,1',\n            \\Illuminate\\Routing\\Middleware\\SubstituteBindings::class,\n        ],\n    ];\n\n    /**\n     * The application's route middleware.\n     *\n     * These middleware may be assigned to groups or used individually.\n     *\n     * @var array\n     */\n    protected $routeMiddleware = [\n        'auth' => \\Crater\\Http\\Middleware\\Authenticate::class,\n        'bouncer' => \\Crater\\Http\\Middleware\\ScopeBouncer::class,\n        'auth.basic' => \\Illuminate\\Auth\\Middleware\\AuthenticateWithBasicAuth::class,\n        'bindings' => \\Illuminate\\Routing\\Middleware\\SubstituteBindings::class,\n        'can' => \\Illuminate\\Auth\\Middleware\\Authorize::class,\n        'guest' => \\Crater\\Http\\Middleware\\RedirectIfAuthenticated::class,\n        'customer' => \\Crater\\Http\\Middleware\\CustomerRedirectIfAuthenticated::class,\n        'throttle' => \\Illuminate\\Routing\\Middleware\\ThrottleRequests::class,\n        'verified' => \\Illuminate\\Auth\\Middleware\\EnsureEmailIsVerified::class,\n        'install' => \\Crater\\Http\\Middleware\\InstallationMiddleware::class,\n        'redirect-if-installed' => \\Crater\\Http\\Middleware\\RedirectIfInstalled::class,\n        'redirect-if-unauthenticated' => \\Crater\\Http\\Middleware\\RedirectIfUnauthorized::class,\n        'customer-guest' => \\Crater\\Http\\Middleware\\CustomerGuest::class,\n        'company' => \\Crater\\Http\\Middleware\\CompanyMiddleware::class,\n        'pdf-auth' => \\Crater\\Http\\Middleware\\PdfMiddleware::class,\n        'cron-job' => \\Crater\\Http\\Middleware\\CronJobMiddleware::class,\n        'customer-portal' => \\Crater\\Http\\Middleware\\CustomerPortalMiddleware::class,\n    ];\n\n    /**\n     * The priority-sorted list of middleware.\n     *\n     * This forces the listed middleware to always be in the given order.\n     *\n     * @var array\n     */\n    protected $middlewarePriority = [\n        \\Illuminate\\Session\\Middleware\\StartSession::class,\n        \\Illuminate\\View\\Middleware\\ShareErrorsFromSession::class,\n        \\Crater\\Http\\Middleware\\Authenticate::class,\n        \\Illuminate\\Session\\Middleware\\AuthenticateSession::class,\n        \\Illuminate\\Routing\\Middleware\\SubstituteBindings::class,\n        \\Illuminate\\Auth\\Middleware\\Authorize::class,\n    ];\n}\n"
  },
  {
    "path": "app/Http/Middleware/AdminMiddleware.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Middleware;\n\nuse Auth;\nuse Closure;\n\nclass AdminMiddleware\n{\n    /**\n     * Handle an incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request $request\n     * @param  \\Closure $next\n     * @param null $guard\n     * @return mixed\n     */\n    public function handle($request, Closure $next, $guard = null)\n    {\n        if (Auth::guard($guard)->guest() || ! Auth::user()->isSuperAdminOrAdmin()) {\n            if ($request->ajax() || $request->wantsJson()) {\n                return response('Unauthorized.', 401);\n            } else {\n                return response()->json(['error' => 'user_is_not_admin'], 404);\n            }\n        }\n\n        return $next($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Middleware/Authenticate.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Middleware;\n\nuse Illuminate\\Auth\\Middleware\\Authenticate as Middleware;\n\nclass Authenticate extends Middleware\n{\n    /**\n     * Get the path the user should be redirected to when they are not authenticated.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return string\n     */\n    protected function redirectTo($request)\n    {\n        if (! $request->expectsJson()) {\n            return route('login');\n        }\n    }\n}\n"
  },
  {
    "path": "app/Http/Middleware/CompanyMiddleware.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Middleware;\n\nuse Closure;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CompanyMiddleware\n{\n    /**\n     * Handle an incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @param  \\Closure  $next\n     * @return mixed\n     */\n    public function handle(Request $request, Closure $next)\n    {\n        if (Schema::hasTable('user_company')) {\n            $user = $request->user();\n\n            if ((! $request->header('company')) || (! $user->hasCompany($request->header('company')))) {\n                $request->headers->set('company', $user->companies()->first()->id);\n            }\n        }\n\n        return $next($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Middleware/ConfigMiddleware.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Middleware;\n\nuse Closure;\nuse Crater\\Models\\FileDisk;\n\nclass ConfigMiddleware\n{\n    /**\n     * Handle an incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @param  \\Closure  $next\n     * @return mixed\n     */\n    public function handle($request, Closure $next)\n    {\n        if (\\Storage::disk('local')->has('database_created')) {\n            if ($request->has('file_disk_id')) {\n                $file_disk = FileDisk::find($request->file_disk_id);\n            } else {\n                $file_disk = FileDisk::whereSetAsDefault(true)->first();\n            }\n\n            if ($file_disk) {\n                $file_disk->setConfig();\n            }\n        }\n\n        return $next($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Middleware/CronJobMiddleware.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Middleware;\n\nuse Closure;\nuse Illuminate\\Http\\Request;\n\nclass CronJobMiddleware\n{\n    /**\n     * Handle an incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @param  \\Closure  $next\n     * @return mixed\n     */\n    public function handle(Request $request, Closure $next)\n    {\n        if ($request->header('x-authorization-token') && $request->header('x-authorization-token') == config('services.cron_job.auth_token')) {\n            return $next($request);\n        }\n\n        return response()->json(['unauthorized'], 401);\n    }\n}\n"
  },
  {
    "path": "app/Http/Middleware/CustomerPortalMiddleware.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Middleware;\n\nuse Closure;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\Auth;\n\nclass CustomerPortalMiddleware\n{\n    /**\n     * Handle an incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @param  \\Closure(\\Illuminate\\Http\\Request): (\\Illuminate\\Http\\Response|\\Illuminate\\Http\\RedirectResponse)  $next\n     * @return \\Illuminate\\Http\\Response|\\Illuminate\\Http\\RedirectResponse\n     */\n    public function handle(Request $request, Closure $next)\n    {\n        $user = Auth::guard('customer')->user();\n\n        if (! $user->enable_portal) {\n            Auth::guard('customer')->logout();\n\n            return response('Unauthorized.', 401);\n        }\n\n        return $next($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Middleware/EncryptCookies.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Middleware;\n\nuse Illuminate\\Cookie\\Middleware\\EncryptCookies as Middleware;\n\nclass EncryptCookies extends Middleware\n{\n    /**\n     * Indicates if cookies should be serialized.\n     *\n     * @var bool\n     */\n    protected static $serialize = false;\n\n    /**\n     * The names of the cookies that should not be encrypted.\n     *\n     * @var array\n     */\n    protected $except = [\n        //\n    ];\n}\n"
  },
  {
    "path": "app/Http/Middleware/InstallationMiddleware.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Middleware;\n\nuse Closure;\nuse Crater\\Models\\Setting;\n\nclass InstallationMiddleware\n{\n    /**\n     * Handle an incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @param  \\Closure  $next\n     * @return mixed\n     */\n    public function handle($request, Closure $next)\n    {\n        if (! \\Storage::disk('local')->has('database_created')) {\n            return redirect('/installation');\n        }\n\n        if (\\Storage::disk('local')->has('database_created')) {\n            if (Setting::getSetting('profile_complete') !== 'COMPLETED') {\n                return redirect('/installation');\n            }\n        }\n\n        return $next($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Middleware/PdfMiddleware.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Middleware;\n\nuse Closure;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\Auth;\n\nclass PdfMiddleware\n{\n    /**\n     * Handle an incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @param  \\Closure(\\Illuminate\\Http\\Request): (\\Illuminate\\Http\\Response|\\Illuminate\\Http\\RedirectResponse)  $next\n     * @return \\Illuminate\\Http\\Response|\\Illuminate\\Http\\RedirectResponse\n     */\n    public function handle(Request $request, Closure $next)\n    {\n        if (Auth::guard('web')->check() || Auth::guard('sanctum')->check() || Auth::guard('customer')->check()) {\n            return $next($request);\n        }\n\n        return redirect('/login');\n    }\n}\n"
  },
  {
    "path": "app/Http/Middleware/RedirectIfAuthenticated.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Middleware;\n\nuse Closure;\nuse Crater\\Providers\\RouteServiceProvider;\nuse Illuminate\\Support\\Facades\\Auth;\n\nclass RedirectIfAuthenticated\n{\n    /**\n     * Handle an incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @param  \\Closure  $next\n     * @param  string|null  $guard\n     * @return mixed\n     */\n    public function handle($request, Closure $next, $guard = null)\n    {\n        if (Auth::guard($guard)->check()) {\n            return redirect(RouteServiceProvider::HOME);\n        }\n\n        return $next($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Middleware/RedirectIfInstalled.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Middleware;\n\nuse Closure;\nuse Crater\\Models\\Setting;\n\nclass RedirectIfInstalled\n{\n    /**\n     * Handle an incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @param  \\Closure  $next\n     * @return mixed\n     */\n    public function handle($request, Closure $next)\n    {\n        if (\\Storage::disk('local')->has('database_created')) {\n            if (Setting::getSetting('profile_complete') === 'COMPLETED') {\n                return redirect('login');\n            }\n        }\n\n        return $next($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Middleware/RedirectIfUnauthorized.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Middleware;\n\nuse Closure;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\Auth;\n\nclass RedirectIfUnauthorized\n{\n    /**\n     * Handle an incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @param  \\Closure  $next\n     * @return mixed\n     */\n    public function handle(Request $request, Closure $next, $guard = null)\n    {\n        if (Auth::guard($guard)->check()) {\n            return $next($request);\n        }\n\n        return redirect('/login');\n    }\n}\n"
  },
  {
    "path": "app/Http/Middleware/ScopeBouncer.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Middleware;\n\nuse Closure;\nuse Silber\\Bouncer\\Bouncer;\n\nclass ScopeBouncer\n{\n    /**\n     * The Bouncer instance.\n     *\n     * @var \\Silber\\Bouncer\\Bouncer\n     */\n    protected $bouncer;\n\n    /**\n     * Constructor.\n     *\n     * @param \\Silber\\Bouncer\\Bouncer  $bouncer\n     */\n    public function __construct(Bouncer $bouncer)\n    {\n        $this->bouncer = $bouncer;\n    }\n\n    /**\n     * Set the proper Bouncer scope for the incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @param  \\Closure  $next\n     * @return mixed\n     */\n    public function handle($request, Closure $next)\n    {\n        $user = $request->user();\n        $tenantId = $request->header('company')\n            ? $request->header('company')\n            : $user->companies()->first()->id;\n\n        $this->bouncer->scope()->to($tenantId);\n\n        return $next($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Middleware/TrimStrings.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Middleware;\n\nuse Illuminate\\Foundation\\Http\\Middleware\\TrimStrings as Middleware;\n\nclass TrimStrings extends Middleware\n{\n    /**\n     * The names of the attributes that should not be trimmed.\n     *\n     * @var array\n     */\n    protected $except = [\n        'password',\n        'password_confirmation',\n    ];\n}\n"
  },
  {
    "path": "app/Http/Middleware/TrustProxies.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Middleware;\n\nuse Fideloper\\Proxy\\TrustProxies as Middleware;\nuse Illuminate\\Http\\Request;\n\nclass TrustProxies extends Middleware\n{\n    /**\n     * The trusted proxies for this application.\n     *\n     * @var array\n     */\n    protected $proxies;\n\n    /**\n     * The current proxy header mappings.\n     *\n     * @var array\n     */\n    protected $headers = Request::HEADER_X_FORWARDED_ALL;\n}\n"
  },
  {
    "path": "app/Http/Middleware/VerifyCsrfToken.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Middleware;\n\nuse Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken as Middleware;\n\nclass VerifyCsrfToken extends Middleware\n{\n    /**\n     * Indicates whether the XSRF-TOKEN cookie should be set on the response.\n     *\n     * @var bool\n     */\n    protected $addHttpCookie = true;\n\n    /**\n     * The URIs that should be excluded from CSRF verification.\n     *\n     * @var array\n     */\n    protected $except = [\n        'login',\n    ];\n}\n"
  },
  {
    "path": "app/Http/Requests/AvatarRequest.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Requests;\n\nuse Crater\\Rules\\Base64Mime;\nuse Illuminate\\Foundation\\Http\\FormRequest;\n\nclass AvatarRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n        return [\n            'admin_avatar' => [\n                'nullable',\n                'file',\n                'mimes:gif,jpg,png',\n                'max:20000'\n            ],\n            'avatar' => [\n                'nullable',\n                new Base64Mime(['gif', 'jpg', 'png'])\n            ]\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/BulkExchangeRateRequest.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Requests;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\n\nclass BulkExchangeRateRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n        return [\n            'currencies' => [\n                'required'\n            ],\n            'currencies.*.id' => [\n                'required',\n                'numeric'\n            ],\n            'currencies.*.exchange_rate' => [\n                'required'\n            ]\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/CompaniesRequest.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Requests;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\nuse Illuminate\\Support\\Str;\nuse Illuminate\\Validation\\Rule;\n\nclass CompaniesRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n        return [\n            'name' => [\n                'required',\n                Rule::unique('companies'),\n                'string'\n            ],\n            'currency' => [\n                'required'\n            ],\n            'address.name' => [\n                'nullable',\n            ],\n            'address.address_street_1' => [\n                'nullable',\n            ],\n            'address.address_street_2' => [\n                'nullable',\n            ],\n            'address.city' => [\n                'nullable',\n            ],\n            'address.state' => [\n                'nullable',\n            ],\n            'address.country_id' => [\n                'required',\n            ],\n            'address.zip' => [\n                'nullable',\n            ],\n            'address.phone' => [\n                'nullable',\n            ],\n            'address.fax' => [\n                'nullable',\n            ],\n        ];\n    }\n\n    public function getCompanyPayload()\n    {\n        return collect($this->validated())\n            ->only([\n                'name'\n            ])\n            ->merge([\n                'owner_id' => $this->user()->id,\n                'slug' => Str::slug($this->name)\n            ])\n            ->toArray();\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/CompanyLogoRequest.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Requests;\n\nuse Crater\\Rules\\Base64Mime;\nuse Illuminate\\Foundation\\Http\\FormRequest;\n\nclass CompanyLogoRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n        return [\n            'company_logo' => [\n                'nullable',\n                new Base64Mime(['gif', 'jpg', 'png'])\n            ]\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/CompanyRequest.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Requests;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\nuse Illuminate\\Validation\\Rule;\n\nclass CompanyRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n        return [\n            'name' => [\n                'required',\n                Rule::unique('companies')->ignore($this->header('company'), 'id'),\n            ],\n            'slug' => [\n                'nullable'\n            ],\n            'address.country_id' => [\n                'required',\n            ],\n        ];\n    }\n\n    public function getCompanyPayload()\n    {\n        return collect($this->validated())\n            ->only([\n                'name',\n                'slug'\n            ])\n            ->toArray();\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/CompanySettingRequest.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Requests;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\n\nclass CompanySettingRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n        return [\n            'currency' => [\n                'required',\n            ],\n            'time_zone' => [\n                'required',\n            ],\n            'language' => [\n                'required',\n            ],\n            'fiscal_year' => [\n                'required',\n            ],\n            'moment_date_format' => [\n                'required',\n            ],\n            'carbon_date_format' => [\n                'required',\n            ],\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/CustomFieldRequest.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Requests;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\n\nclass CustomFieldRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n        return [\n            'name' => 'required',\n            'label' => 'required',\n            'model_type' => 'required',\n            'order' => 'required',\n            'type' => 'required',\n            'is_required' => 'required|boolean',\n            'options' => 'array',\n            'placeholder' => 'string|nullable',\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/Customer/CustomerLoginRequest.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Requests\\Customer;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\n\nclass CustomerLoginRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n        return [\n            'email' => [\n                'required',\n                'string'\n            ],\n            'password' => [\n                'required',\n                'string'\n            ]\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/Customer/CustomerProfileRequest.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Requests\\Customer;\n\nuse Crater\\Models\\Address;\nuse Illuminate\\Foundation\\Http\\FormRequest;\nuse Illuminate\\Support\\Facades\\Auth;\nuse Illuminate\\Validation\\Rule;\n\nclass CustomerProfileRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n        return [\n            'name' => [\n                'nullable',\n            ],\n            'password' => [\n                'nullable',\n                'min:8',\n            ],\n            'email' => [\n                'nullable',\n                'email',\n                Rule::unique('customers')->where('company_id', $this->header('company'))->ignore(Auth::id(), 'id'),\n            ],\n            'billing.name' => [\n                'nullable',\n            ],\n            'billing.address_street_1' => [\n                'nullable',\n            ],\n            'billing.address_street_2' => [\n                'nullable',\n            ],\n            'billing.city' => [\n                'nullable',\n            ],\n            'billing.state' => [\n                'nullable',\n            ],\n            'billing.country_id' => [\n                'nullable',\n            ],\n            'billing.zip' => [\n                'nullable',\n            ],\n            'billing.phone' => [\n                'nullable',\n            ],\n            'billing.fax' => [\n                'nullable',\n            ],\n            'shipping.name' => [\n                'nullable',\n            ],\n            'shipping.address_street_1' => [\n                'nullable',\n            ],\n            'shipping.address_street_2' => [\n                'nullable',\n            ],\n            'shipping.city' => [\n                'nullable',\n            ],\n            'shipping.state' => [\n                'nullable',\n            ],\n            'shipping.country_id' => [\n                'nullable',\n            ],\n            'shipping.zip' => [\n                'nullable',\n            ],\n            'shipping.phone' => [\n                'nullable',\n            ],\n            'shipping.fax' => [\n                'nullable',\n            ],\n            'customer_avatar' => [\n                'nullable',\n                'file',\n                'mimes:gif,jpg,png',\n                'max:20000'\n            ]\n        ];\n    }\n\n    public function getShippingAddress()\n    {\n        return collect($this->shipping)\n            ->merge([\n                'type' => Address::SHIPPING_TYPE\n            ])\n            ->toArray();\n    }\n\n    public function getBillingAddress()\n    {\n        return collect($this->billing)\n            ->merge([\n                'type' => Address::BILLING_TYPE\n            ])\n            ->toArray();\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/CustomerEstimateStatusRequest.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Requests;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\n\nclass CustomerEstimateStatusRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n        return [\n            'status' => [\n                'required',\n                'in:ACCEPTED,REJECTED',\n            ]\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/CustomerRequest.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Requests;\n\nuse Crater\\Models\\Address;\nuse Illuminate\\Foundation\\Http\\FormRequest;\nuse Illuminate\\Support\\Arr;\nuse Illuminate\\Validation\\Rule;\n\nclass CustomerRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n        $rules = [\n            'name' => [\n                'required',\n            ],\n            'email' => [\n                'email',\n                'nullable',\n                Rule::unique('customers')->where('company_id', $this->header('company'))\n            ],\n            'password' => [\n                'nullable',\n            ],\n            'phone' => [\n                'nullable',\n            ],\n            'company_name' => [\n                'nullable',\n            ],\n            'contact_name' => [\n                'nullable',\n            ],\n            'website' => [\n                'nullable',\n            ],\n            'prefix' => [\n                'nullable',\n            ],\n            'enable_portal' => [\n\n                'boolean'\n            ],\n            'currency_id' => [\n                'nullable',\n            ],\n            'billing.name' => [\n                'nullable',\n            ],\n            'billing.address_street_1' => [\n                'nullable',\n            ],\n            'billing.address_street_2' => [\n                'nullable',\n            ],\n            'billing.city' => [\n                'nullable',\n            ],\n            'billing.state' => [\n                'nullable',\n            ],\n            'billing.country_id' => [\n                'nullable',\n            ],\n            'billing.zip' => [\n                'nullable',\n            ],\n            'billing.phone' => [\n                'nullable',\n            ],\n            'billing.fax' => [\n                'nullable',\n            ],\n            'shipping.name' => [\n                'nullable',\n            ],\n            'shipping.address_street_1' => [\n                'nullable',\n            ],\n            'shipping.address_street_2' => [\n                'nullable',\n            ],\n            'shipping.city' => [\n                'nullable',\n            ],\n            'shipping.state' => [\n                'nullable',\n            ],\n            'shipping.country_id' => [\n                'nullable',\n            ],\n            'shipping.zip' => [\n                'nullable',\n            ],\n            'shipping.phone' => [\n                'nullable',\n            ],\n            'shipping.fax' => [\n                'nullable',\n            ]\n        ];\n\n        if ($this->isMethod('PUT') && $this->email != null) {\n            $rules['email'] = [\n                'email',\n                'nullable',\n                Rule::unique('customers')->where('company_id', $this->header('company'))->ignore($this->route('customer')->id),\n            ];\n        };\n\n        return $rules;\n    }\n\n    public function getCustomerPayload()\n    {\n        return collect($this->validated())\n            ->only([\n                'name',\n                'email',\n                'currency_id',\n                'password',\n                'phone',\n                'prefix',\n                'company_name',\n                'contact_name',\n                'website',\n                'enable_portal',\n                'estimate_prefix',\n                'payment_prefix',\n                'invoice_prefix',\n            ])\n            ->merge([\n                'creator_id' => $this->user()->id,\n                'company_id' => $this->header('company'),\n            ])\n            ->toArray();\n    }\n\n    public function getShippingAddress()\n    {\n        return collect($this->shipping)\n            ->merge([\n                'type' => Address::SHIPPING_TYPE\n            ])\n            ->toArray();\n    }\n\n    public function getBillingAddress()\n    {\n        return collect($this->billing)\n            ->merge([\n                'type' => Address::BILLING_TYPE\n            ])\n            ->toArray();\n    }\n\n    public function hasAddress(array $address)\n    {\n        $data = Arr::where($address, function ($value, $key) {\n            return isset($value);\n        });\n\n        return $data;\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/DatabaseEnvironmentRequest.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Requests;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\n\nclass DatabaseEnvironmentRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n        switch ($this->get('database_connection')) {\n            case 'sqlite':\n                return [\n                    'app_url' => [\n                        'required',\n                        'url',\n                    ],\n                    'database_connection' => [\n                        'required',\n                        'string',\n                    ],\n                    'database_name' => [\n                        'required',\n                        'string',\n                    ],\n                ];\n\n                break;\n            default:\n                return [\n                    'app_url' => [\n                        'required',\n                        'url',\n                    ],\n                    'database_connection' => [\n                        'required',\n                        'string',\n                    ],\n                    'database_hostname' => [\n                        'required',\n                        'string',\n                    ],\n                    'database_port' => [\n                        'required',\n                        'numeric',\n                    ],\n                    'database_name' => [\n                        'required',\n                        'string',\n                    ],\n                    'database_username' => [\n                        'required',\n                        'string',\n                    ],\n                ];\n\n            break;\n\n        }\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/DeleteCustomersRequest.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Requests;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\nuse Illuminate\\Validation\\Rule;\n\nclass DeleteCustomersRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n        return [\n            'ids' => [\n                'required',\n            ],\n            'ids.*' => [\n                'required',\n                Rule::exists('customers', 'id'),\n            ],\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/DeleteEstimatesRequest.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Requests;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\nuse Illuminate\\Validation\\Rule;\n\nclass DeleteEstimatesRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n        return [\n            'ids' => [\n                'required',\n            ],\n            'ids.*' => [\n                'required',\n                Rule::exists('estimates', 'id'),\n            ],\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/DeleteExpensesRequest.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Requests;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\nuse Illuminate\\Validation\\Rule;\n\nclass DeleteExpensesRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n        return [\n            'ids' => [\n                'required',\n            ],\n            'ids.*' => [\n                'required',\n                Rule::exists('expenses', 'id'),\n            ],\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/DeleteInvoiceRequest.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Requests;\n\nuse Crater\\Models\\Invoice;\nuse Crater\\Rules\\RelationNotExist;\nuse Illuminate\\Foundation\\Http\\FormRequest;\nuse Illuminate\\Validation\\Rule;\n\nclass DeleteInvoiceRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n        return [\n            'ids' => [\n                'required',\n            ],\n            'ids.*' => [\n                'required',\n                Rule::exists('invoices', 'id'),\n                new RelationNotExist(Invoice::class, 'payments'),\n            ],\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/DeleteItemsRequest.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Requests;\n\nuse Crater\\Models\\Item;\nuse Crater\\Rules\\RelationNotExist;\nuse Illuminate\\Foundation\\Http\\FormRequest;\nuse Illuminate\\Validation\\Rule;\n\nclass DeleteItemsRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n        return [\n            'ids' => [\n                'required',\n            ],\n            'ids.*' => [\n                'required',\n                Rule::exists('items', 'id'),\n                new RelationNotExist(Item::class, 'invoiceItems'),\n                new RelationNotExist(Item::class, 'estimateItems'),\n                new RelationNotExist(Item::class, 'taxes'),\n            ],\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/DeletePaymentsRequest.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Requests;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\nuse Illuminate\\Validation\\Rule;\n\nclass DeletePaymentsRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n        return [\n            'ids' => [\n                'required',\n            ],\n            'ids.*' => [\n                'required',\n                Rule::exists('payments', 'id'),\n            ],\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/DeleteUserRequest.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Requests;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\nuse Illuminate\\Validation\\Rule;\n\nclass DeleteUserRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n        return [\n            'users' => [\n                'required',\n            ],\n            'users.*' => [\n                'required',\n                Rule::exists('users', 'id'),\n            ],\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/DiskEnvironmentRequest.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Requests;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\n\nclass DiskEnvironmentRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n        $rules = [];\n        switch ($this->get('driver')) {\n            case 's3':\n                $rules = [\n                    'credentials.key' => [\n                        'required',\n                        'string',\n                    ],\n                    'credentials.secret' => [\n                        'required',\n                        'string',\n                    ],\n                    'credentials.region' => [\n                        'required',\n                        'string',\n                    ],\n                    'credentials.bucket' => [\n                        'required',\n                        'string',\n                    ],\n                    'credentials.root' => [\n                        'required',\n                        'string',\n                    ],\n                ];\n\n                break;\n\n            case 'doSpaces':\n                $rules = [\n                    'credentials.key' => [\n                        'required',\n                        'string',\n                    ],\n                    'credentials.secret' => [\n                        'required',\n                        'string',\n                    ],\n                    'credentials.region' => [\n                        'required',\n                        'string',\n                    ],\n                    'credentials.bucket' => [\n                        'required',\n                        'string',\n                    ],\n                    'credentials.endpoint' => [\n                        'required',\n                        'string',\n                    ],\n                    'credentials.root' => [\n                        'required',\n                        'string',\n                    ],\n                ];\n\n                break;\n\n            case 'dropbox':\n                $rules = [\n                    'credentials.token' => [\n                        'required',\n                        'string',\n                    ],\n                    'credentials.key' => [\n                        'required',\n                        'string',\n                    ],\n                    'credentials.secret' => [\n                        'required',\n                        'string',\n                    ],\n                    'credentials.app' => [\n                        'required',\n                        'string',\n                    ],\n                    'credentials.root' => [\n                        'required',\n                        'string',\n                    ],\n                ];\n\n                break;\n        }\n\n        $defaultRules = [\n            'name' => [\n                'required',\n            ],\n            'driver' => [\n                'required',\n            ],\n        ];\n\n        return array_merge($rules, $defaultRules);\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/DomainEnvironmentRequest.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Requests;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\n\nclass DomainEnvironmentRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n        return [\n            'app_domain' => [\n                'required',\n            ],\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/EstimatesRequest.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Requests;\n\nuse Crater\\Models\\CompanySetting;\nuse Crater\\Models\\Customer;\nuse Crater\\Models\\Estimate;\nuse Illuminate\\Foundation\\Http\\FormRequest;\nuse Illuminate\\Validation\\Rule;\n\nclass EstimatesRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n        $rules = [\n            'estimate_date' => [\n                'required',\n            ],\n            'expiry_date' => [\n                'nullable',\n            ],\n            'customer_id' => [\n                'required',\n            ],\n            'estimate_number' => [\n                'required',\n                Rule::unique('estimates')->where('company_id', $this->header('company'))\n            ],\n            'exchange_rate' => [\n                'nullable'\n            ],\n            'discount' => [\n                'required',\n            ],\n            'discount_val' => [\n                'required',\n            ],\n            'sub_total' => [\n                'required',\n            ],\n            'total' => [\n                'required',\n            ],\n            'tax' => [\n                'required',\n            ],\n            'template_name' => [\n                'required'\n            ],\n            'items' => [\n                'required',\n                'array',\n            ],\n            'items.*.description' => [\n                'nullable',\n            ],\n            'items.*' => [\n                'required',\n                'max:255',\n            ],\n            'items.*.name' => [\n                'required',\n            ],\n            'items.*.quantity' => [\n                'required',\n            ],\n            'items.*.price' => [\n                'required',\n            ],\n        ];\n\n        $companyCurrency = CompanySetting::getSetting('currency', $this->header('company'));\n\n        $customer = Customer::find($this->customer_id);\n\n        if ($companyCurrency && $customer) {\n            if ((string)$customer->currency_id !== $companyCurrency) {\n                $rules['exchange_rate'] = [\n                    'required',\n                ];\n            };\n        }\n\n        if ($this->isMethod('PUT')) {\n            $rules['estimate_number'] = [\n                'required',\n                Rule::unique('estimates')\n                    ->ignore($this->route('estimate')->id)\n                    ->where('company_id', $this->header('company')),\n            ];\n        }\n\n        return $rules;\n    }\n\n    public function getEstimatePayload()\n    {\n        $company_currency = CompanySetting::getSetting('currency', $this->header('company'));\n        $current_currency = $this->currency_id;\n        $exchange_rate = $company_currency != $current_currency ? $this->exchange_rate : 1;\n        $currency = Customer::find($this->customer_id)->currency_id;\n\n        return collect($this->except('items', 'taxes'))\n            ->merge([\n                'creator_id' => $this->user()->id ?? null,\n                'status' => $this->has('estimateSend') ? Estimate::STATUS_SENT : Estimate::STATUS_DRAFT,\n                'company_id' => $this->header('company'),\n                'tax_per_item' => CompanySetting::getSetting('tax_per_item', $this->header('company')) ?? 'NO ',\n                'discount_per_item' => CompanySetting::getSetting('discount_per_item', $this->header('company')) ?? 'NO',\n                'exchange_rate' => $exchange_rate,\n                'base_discount_val' => $this->discount_val * $exchange_rate,\n                'base_sub_total' => $this->sub_total * $exchange_rate,\n                'base_total' => $this->total * $exchange_rate,\n                'base_tax' => $this->tax * $exchange_rate,\n                'currency_id' => $currency,\n            ])\n            ->toArray();\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/ExchangeRateLogRequest.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Requests;\n\nuse Crater\\Models\\CompanySetting;\nuse Illuminate\\Foundation\\Http\\FormRequest;\n\nclass ExchangeRateLogRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n        return [\n            'exchange_rate' => [\n                'required',\n            ],\n            'currency_id' => [\n                'required'\n            ]\n        ];\n    }\n\n    public function getExchangeRateLogPayload()\n    {\n        $companyCurrency = CompanySetting::getSetting(\n            'currency',\n            $this->header('company')\n        );\n\n        if ($this->currency_id !== $companyCurrency) {\n            return collect($this->validated())\n                ->merge([\n                    'company_id' => $this->header('company'),\n                    'base_currency_id' => $companyCurrency,\n                ])\n                ->toArray();\n        }\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/ExchangeRateProviderRequest.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Requests;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\n\nclass ExchangeRateProviderRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n        $rules = [\n            'driver' => [\n                'required'\n            ],\n            'key' => [\n                'required',\n            ],\n            'currencies' => [\n                'nullable',\n            ],\n            'currencies.*' => [\n                'nullable',\n            ],\n            'driver_config' => [\n                'nullable'\n            ],\n            'active' => [\n                'nullable',\n                'boolean'\n            ],\n        ];\n\n        return $rules;\n    }\n\n    public function getExchangeRateProviderPayload()\n    {\n        return collect($this->validated())\n            ->merge([\n                'company_id' => $this->header('company')\n            ])\n            ->toArray();\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/ExpenseCategoryRequest.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Requests;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\n\nclass ExpenseCategoryRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n        return [\n            'name' => [\n                'required',\n            ],\n            'description' => [\n                'nullable',\n            ],\n        ];\n    }\n\n    public function getExpenseCategoryPayload()\n    {\n        return collect($this->validated())\n            ->merge([\n                'company_id' => $this->header('company')\n            ])\n            ->toArray();\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/ExpenseRequest.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Requests;\n\nuse Crater\\Models\\CompanySetting;\nuse Illuminate\\Foundation\\Http\\FormRequest;\n\nclass ExpenseRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n        $companyCurrency = CompanySetting::getSetting('currency', $this->header('company'));\n\n        $rules = [\n            'expense_date' => [\n                'required',\n            ],\n            'expense_category_id' => [\n                'required',\n            ],\n            'exchange_rate' => [\n                'nullable'\n            ],\n            'payment_method_id' => [\n                'nullable',\n            ],\n            'amount' => [\n                'required',\n            ],\n            'customer_id' => [\n                'nullable',\n            ],\n            'notes' => [\n                'nullable',\n            ],\n            'currency_id' => [\n                'required'\n            ],\n            'attachment_receipt' => [\n                'nullable',\n                'file',\n                'mimes:jpg,png,pdf,doc,docx,xls,xlsx,ppt,pptx',\n                'max:20000'\n            ]\n        ];\n\n        if ($companyCurrency && $this->currency_id) {\n            if ($companyCurrency !== $this->currency_id) {\n                $rules['exchange_rate'] = [\n                    'required',\n                ];\n            };\n        }\n\n        return $rules;\n    }\n\n    public function getExpensePayload()\n    {\n        $company_currency = CompanySetting::getSetting('currency', $this->header('company'));\n        $current_currency = $this->currency_id;\n        $exchange_rate = $company_currency != $current_currency ? $this->exchange_rate : 1;\n\n        return collect($this->validated())\n            ->merge([\n                'creator_id' => $this->user()->id,\n                'company_id' => $this->header('company'),\n                'exchange_rate' => $exchange_rate,\n                'base_amount' => $this->amount * $exchange_rate,\n                'currency_id' => $current_currency\n            ])\n            ->toArray();\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/GetSettingRequest.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Requests;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\n\nclass GetSettingRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n        return [\n            'key' => [\n                'required',\n                'string'\n            ]\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/GetSettingsRequest.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Requests;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\n\nclass GetSettingsRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n        return [\n            'settings' => [\n                'required',\n            ],\n            'settings.*' => [\n                'required',\n                'string',\n            ],\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/InvoicesRequest.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Requests;\n\nuse Crater\\Models\\CompanySetting;\nuse Crater\\Models\\Customer;\nuse Crater\\Models\\Invoice;\nuse Illuminate\\Foundation\\Http\\FormRequest;\nuse Illuminate\\Validation\\Rule;\n\nclass InvoicesRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.s\n     *\n     * @return array\n     */\n    public function rules()\n    {\n        $rules = [\n            'invoice_date' => [\n                'required',\n            ],\n            'due_date' => [\n                'nullable',\n            ],\n            'customer_id' => [\n                'required',\n            ],\n            'invoice_number' => [\n                'required',\n                Rule::unique('invoices')->where('company_id', $this->header('company'))\n            ],\n            'exchange_rate' => [\n                'nullable'\n            ],\n            'discount' => [\n                'required',\n            ],\n            'discount_val' => [\n                'required',\n            ],\n            'sub_total' => [\n                'required',\n            ],\n            'total' => [\n                'required',\n            ],\n            'tax' => [\n                'required',\n            ],\n            'template_name' => [\n                'required'\n            ],\n            'items' => [\n                'required',\n                'array',\n            ],\n            'items.*' => [\n                'required',\n                'max:255',\n            ],\n            'items.*.description' => [\n                'nullable',\n            ],\n            'items.*.name' => [\n                'required',\n            ],\n            'items.*.quantity' => [\n                'required',\n            ],\n            'items.*.price' => [\n                'required',\n            ],\n        ];\n\n        $companyCurrency = CompanySetting::getSetting('currency', $this->header('company'));\n\n        $customer = Customer::find($this->customer_id);\n\n        if ($customer && $companyCurrency) {\n            if ((string)$customer->currency_id !== $companyCurrency) {\n                $rules['exchange_rate'] = [\n                    'required',\n                ];\n            };\n        }\n\n        if ($this->isMethod('PUT')) {\n            $rules['invoice_number'] = [\n                'required',\n                Rule::unique('invoices')\n                    ->ignore($this->route('invoice')->id)\n                    ->where('company_id', $this->header('company')),\n            ];\n        }\n\n        return $rules;\n    }\n\n    public function getInvoicePayload()\n    {\n        $company_currency = CompanySetting::getSetting('currency', $this->header('company'));\n        $current_currency = $this->currency_id;\n        $exchange_rate = $company_currency != $current_currency ? $this->exchange_rate : 1;\n        $currency = Customer::find($this->customer_id)->currency_id;\n\n        return collect($this->except('items', 'taxes'))\n            ->merge([\n                'creator_id' => $this->user()->id ?? null,\n                'status' => $this->has('invoiceSend') ? Invoice::STATUS_SENT : Invoice::STATUS_DRAFT,\n                'paid_status' => Invoice::STATUS_UNPAID,\n                'company_id' => $this->header('company'),\n                'tax_per_item' => CompanySetting::getSetting('tax_per_item', $this->header('company')) ?? 'NO ',\n                'discount_per_item' => CompanySetting::getSetting('discount_per_item', $this->header('company')) ?? 'NO',\n                'due_amount' => $this->total,\n                'exchange_rate' => $exchange_rate,\n                'base_total' => $this->total * $exchange_rate,\n                'base_discount_val' => $this->discount_val * $exchange_rate,\n                'base_sub_total' => $this->sub_total * $exchange_rate,\n                'base_tax' => $this->tax * $exchange_rate,\n                'base_due_amount' => $this->total * $exchange_rate,\n                'currency_id' => $currency,\n            ])\n            ->toArray();\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/ItemsRequest.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Requests;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\n\nclass ItemsRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n        return [\n            'name' => [\n                'required',\n            ],\n            'price' => [\n                'required',\n            ],\n            'unit_id' => [\n                'nullable',\n            ],\n            'description' => [\n                'nullable',\n            ],\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/LoginRequest.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Requests;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\n\nclass LoginRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n        return [\n            'username' => [\n                'required',\n            ],\n            'password' => [\n                'required',\n            ],\n            'device_name' => [\n                'required'\n            ],\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/MailEnvironmentRequest.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Requests;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\n\nclass MailEnvironmentRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n        switch ($this->get('mail_driver')) {\n            case 'smtp':\n                return [\n                    'mail_driver' => [\n                        'required',\n                        'string',\n                    ],\n                    'mail_host' => [\n                        'required',\n                        'string',\n                    ],\n                    'mail_port' => [\n                        'required',\n                    ],\n                    'mail_encryption' => [\n                        'required',\n                        'string',\n                    ],\n                    'from_name' => [\n                        'required',\n                        'string',\n                    ],\n                    'from_mail' => [\n                        'required',\n                        'string',\n                    ],\n                ];\n\n                break;\n\n            case 'mailgun':\n                return [\n                    'mail_driver' => [\n                        'required',\n                        'string',\n                    ],\n                    'mail_mailgun_domain' => [\n                        'required',\n                        'string',\n                    ],\n                    'mail_mailgun_secret' => [\n                        'required',\n                        'string',\n                    ],\n                    'mail_mailgun_endpoint' => [\n                        'required',\n                        'string',\n                    ],\n                    'from_name' => [\n                        'required',\n                        'string',\n                    ],\n                    'from_mail' => [\n                        'required',\n                        'string',\n                    ],\n                ];\n\n                break;\n\n            case 'ses':\n                return [\n                    'mail_driver' => [\n                        'required',\n                        'string',\n                    ],\n                    'mail_host' => [\n                        'required',\n                        'string',\n                    ],\n                    'mail_port' => [\n                        'required',\n                    ],\n                    'mail_ses_key' => [\n                        'required',\n                        'string',\n                    ],\n                    'mail_ses_secret' => [\n                        'required',\n                        'string',\n                    ],\n                    'mail_encryption' => [\n                        'nullable',\n                        'string',\n                    ],\n                    'from_name' => [\n                        'required',\n                        'string',\n                    ],\n                    'from_mail' => [\n                        'required',\n                        'string',\n                    ],\n                ];\n\n                break;\n\n            case 'mail':\n                return [\n                    'from_name' => [\n                        'required',\n                        'string',\n                    ],\n                    'from_mail' => [\n                        'required',\n                        'string',\n                    ],\n                ];\n\n                break;\n\n            case 'sendmail':\n                return [\n                    'from_name' => [\n                        'required',\n                        'string',\n                    ],\n                    'from_mail' => [\n                        'required',\n                        'string',\n                    ],\n                ];\n\n                break;\n        }\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/NotesRequest.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Requests;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\nuse Illuminate\\Validation\\Rule;\n\nclass NotesRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n        $rules = [\n            'type' => [\n                'required'\n            ],\n            'name' => [\n                'required',\n                Rule::unique('notes')\n                    ->where('company_id', $this->header('company'))\n                    ->where('type', $this->type)\n            ],\n            'notes' => [\n                'required'\n            ],\n        ];\n\n        if ($this->isMethod('PUT')) {\n            $rules['name'] = [\n                'required',\n                Rule::unique('notes')\n                    ->ignore($this->route('note')->id)\n                    ->where('type', $this->type)\n                    ->where('company_id', $this->header('company'))\n            ];\n        }\n\n        return $rules;\n    }\n\n    public function getNotesPayload()\n    {\n        return collect($this->validated())\n            ->merge([\n                'company_id' => $this->header('company')\n            ])\n            ->toArray();\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/PaymentMethodRequest.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Requests;\n\nuse Crater\\Models\\PaymentMethod;\nuse Illuminate\\Foundation\\Http\\FormRequest;\nuse Illuminate\\Validation\\Rule;\n\nclass PaymentMethodRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n        $data = [\n            'name' => [\n                'required',\n                Rule::unique('payment_methods')\n                    ->where('company_id', $this->header('company')),\n            ],\n        ];\n\n        if ($this->getMethod() == 'PUT') {\n            $data['name'] = [\n                'required',\n                Rule::unique('payment_methods')\n                    ->ignore($this->route('payment_method'), 'id')\n                    ->where('company_id', $this->header('company')),\n            ];\n        }\n\n        return $data;\n    }\n\n    public function getPaymentMethodPayload()\n    {\n        return collect($this->validated())\n            ->merge([\n                'company_id' => $this->header('company'),\n                'type' => PaymentMethod::TYPE_GENERAL,\n            ])\n            ->toArray();\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/PaymentRequest.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Requests;\n\nuse Crater\\Models\\CompanySetting;\nuse Crater\\Models\\Customer;\nuse Illuminate\\Foundation\\Http\\FormRequest;\nuse Illuminate\\Validation\\Rule;\n\nclass PaymentRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n        $rules = [\n            'payment_date' => [\n                'required',\n            ],\n            'customer_id' => [\n                'required',\n            ],\n            'exchange_rate' => [\n                'nullable'\n            ],\n            'amount' => [\n                'required',\n            ],\n            'payment_number' => [\n                'required',\n                Rule::unique('payments')->where('company_id', $this->header('company'))\n            ],\n            'invoice_id' => [\n                'nullable',\n            ],\n            'payment_method_id' => [\n                'nullable',\n            ],\n            'notes' => [\n                'nullable',\n            ],\n        ];\n\n        if ($this->isMethod('PUT')) {\n            $rules['payment_number'] = [\n                'required',\n                Rule::unique('payments')\n                    ->ignore($this->route('payment')->id)\n                    ->where('company_id', $this->header('company')),\n            ];\n        }\n\n        $companyCurrency = CompanySetting::getSetting('currency', $this->header('company'));\n\n        $customer = Customer::find($this->customer_id);\n\n        if ($customer && $companyCurrency) {\n            if ((string)$customer->currency_id !== $companyCurrency) {\n                $rules['exchange_rate'] = [\n                    'required',\n                ];\n            };\n        }\n\n        return $rules;\n    }\n\n    public function getPaymentPayload()\n    {\n        $company_currency = CompanySetting::getSetting('currency', $this->header('company'));\n        $current_currency = $this->currency_id;\n        $exchange_rate = $company_currency != $current_currency ? $this->exchange_rate : 1;\n        $currency = Customer::find($this->customer_id)->currency_id;\n\n        return collect($this->validated())\n            ->merge([\n                'creator_id' => $this->user()->id,\n                'company_id' => $this->header('company'),\n                'exchange_rate' => $exchange_rate,\n                'base_amount' => $this->amount * $exchange_rate,\n                'currency_id' => $currency\n            ])\n            ->toArray();\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/ProfileRequest.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Requests;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\nuse Illuminate\\Support\\Facades\\Auth;\nuse Illuminate\\Validation\\Rule;\n\nclass ProfileRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n        return [\n            'name' => [\n                'required',\n            ],\n            'password' => [\n                'nullable',\n                'min:8',\n            ],\n            'email' => [\n                'required',\n                'email',\n                Rule::unique('users')->ignore(Auth::id(), 'id'),\n            ],\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/RecurringInvoiceRequest.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Requests;\n\nuse Crater\\Models\\CompanySetting;\nuse Crater\\Models\\Customer;\nuse Crater\\Models\\RecurringInvoice;\nuse Illuminate\\Foundation\\Http\\FormRequest;\n\nclass RecurringInvoiceRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n        $companyCurrency = CompanySetting::getSetting('currency', $this->header('company'));\n\n        $rules = [\n            'starts_at' => [\n                'required'\n            ],\n            'send_automatically' => [\n                'required',\n                'boolean'\n            ],\n            'customer_id' => [\n                'required'\n            ],\n            'exchange_rate' => [\n                'nullable'\n            ],\n            'discount' => [\n                'required',\n            ],\n            'discount_val' => [\n                'required',\n            ],\n            'sub_total' => [\n                'required',\n            ],\n            'total' => [\n                'required',\n            ],\n            'tax' => [\n                'required',\n            ],\n            'status' => [\n                'required'\n            ],\n            'exchange_rate' => [\n                'nullable'\n            ],\n            'frequency' => [\n                'required'\n            ],\n            'limit_by' => [\n                'required'\n            ],\n            'limit_count' => [\n                'required_if:limit_by,COUNT',\n            ],\n            'limit_date' => [\n                'required_if:limit_by,DATE',\n            ],\n            'items' => [\n                'required'\n            ],\n            'items.*' => [\n                'required'\n            ]\n        ];\n\n        $customer = Customer::find($this->customer_id);\n\n        if ($customer && $companyCurrency) {\n            if ((string)$customer->currency_id !== $companyCurrency) {\n                $rules['exchange_rate'] = [\n                    'required',\n                ];\n            };\n        }\n\n        return  $rules;\n    }\n\n    public function getRecurringInvoicePayload()\n    {\n        $company_currency = CompanySetting::getSetting('currency', $this->header('company'));\n        $current_currency = $this->currency_id;\n        $exchange_rate = $company_currency != $current_currency ? $this->exchange_rate : 1;\n        $currency = Customer::find($this->customer_id)->currency_id;\n\n        $nextInvoiceAt = RecurringInvoice::getNextInvoiceDate($this->frequency, $this->starts_at);\n\n        return collect($this->except('items', 'taxes'))\n            ->merge([\n                'creator_id' => $this->user()->id,\n                'company_id' => $this->header('company'),\n                'next_invoice_at' => $nextInvoiceAt,\n                'tax_per_item' => CompanySetting::getSetting('tax_per_item', $this->header('company')) ?? 'NO ',\n                'discount_per_item' => CompanySetting::getSetting('discount_per_item', $this->header('company')) ?? 'NO',\n                'due_amount' => $this->total,\n                'exchange_rate' => $exchange_rate,\n                'currency_id' => $currency\n            ])\n            ->toArray();\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/Request.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Requests;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\n\nabstract class Request extends FormRequest\n{\n    //\n}\n"
  },
  {
    "path": "app/Http/Requests/RoleRequest.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Requests;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\nuse Illuminate\\Validation\\Rule;\n\nclass RoleRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n        $rules = [\n            'name' => [\n                'required',\n                'string',\n                Rule::unique('roles')->where('scope', $this->header('company'))\n            ],\n            'abilities' => [\n                'required'\n            ],\n            'abilities.*' => [\n                'required'\n            ]\n        ];\n\n        if ($this->getMethod() == 'PUT') {\n            $rules['name'] = [\n                'required',\n                'string',\n                Rule::unique('roles')\n                    ->ignore($this->route('role')->id, 'id')\n                    ->where('scope', $this->header('company'))\n            ];\n        }\n\n        return $rules;\n    }\n\n    public function getRolePayload()\n    {\n        return collect($this->except('abilities'))\n            ->merge([\n                'scope' => $this->header('company'),\n            ])\n            ->toArray();\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/SendEstimatesRequest.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Requests;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\n\nclass SendEstimatesRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n        return [\n            'subject' => [\n                'required',\n            ],\n            'body' => [\n                'required',\n            ],\n            'from' => [\n                'required',\n            ],\n            'to' => [\n                'required',\n            ],\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/SendInvoiceRequest.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Requests;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\n\nclass SendInvoiceRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n        return [\n            'body' => [\n                'required',\n            ],\n            'subject' => [\n                'required',\n            ],\n            'from' => [\n                'required',\n            ],\n            'to' => [\n                'required',\n            ],\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/SendPaymentRequest.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Requests;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\n\nclass SendPaymentRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n        return [\n            'subject' => [\n                'required',\n            ],\n            'body' => [\n                'required',\n            ],\n            'from' => [\n                'required',\n            ],\n            'to' => [\n                'required',\n            ],\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/SettingKeyRequest.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Requests;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\n\nclass SettingKeyRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n        return [\n            'key' => [\n                'required',\n            ],\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/SettingRequest.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Requests;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\n\nclass SettingRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n        return [\n            'settings' => [\n                'required',\n            ],\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/TaxTypeRequest.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Requests;\n\nuse Crater\\Models\\TaxType;\nuse Illuminate\\Foundation\\Http\\FormRequest;\nuse Illuminate\\Validation\\Rule;\n\nclass TaxTypeRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n        $rules = [\n            'name' => [\n                'required',\n                Rule::unique('tax_types')\n                ->where('type', TaxType::TYPE_GENERAL)\n                ->where('company_id', $this->header('company'))\n            ],\n            'percent' => [\n                'required',\n            ],\n            'description' => [\n                'nullable',\n            ],\n            'compound_tax' => [\n                'nullable',\n            ],\n            'collective_tax' => [\n                'nullable',\n            ],\n        ];\n\n        if ($this->isMethod('PUT')) {\n            $rules['name'] = [\n                'required',\n                Rule::unique('tax_types')\n                    ->ignore($this->route('tax_type')->id)\n                    ->where('type', TaxType::TYPE_GENERAL)\n                    ->where('company_id', $this->header('company'))\n            ];\n        }\n\n        return $rules;\n    }\n\n    public function getTaxTypePayload()\n    {\n        return collect($this->validated())\n            ->merge([\n                'company_id' => $this->header('company'),\n                'type' => TaxType::TYPE_GENERAL\n            ])\n            ->toArray();\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/UnitRequest.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Requests;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\nuse Illuminate\\Validation\\Rule;\n\nclass UnitRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n        $data = [\n            'name' => [\n                'required',\n                Rule::unique('units')\n                    ->where('company_id', $this->header('company')),\n            ],\n        ];\n\n        if ($this->getMethod() == 'PUT') {\n            $data['name'] = [\n                'required',\n                Rule::unique('units')\n                    ->ignore($this->route('unit'), 'id')\n                    ->where('company_id', $this->header('company')),\n            ];\n        }\n\n        return $data;\n    }\n\n    public function getUnitPayload()\n    {\n        return collect($this->validated())\n            ->merge([\n                'company_id' => $this->header('company')\n            ])\n            ->toArray();\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/UnzipUpdateRequest.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Requests;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\n\nclass UnzipUpdateRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n        return [\n            'path' => [\n                'required',\n                'regex:/^[\\.\\/\\w\\-]+$/'\n            ],\n            'module' => [\n                'required',\n                'string'\n            ]\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/UpdateSettingsRequest.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Requests;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\n\nclass UpdateSettingsRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n        return [\n            'settings' => [\n                'required',\n            ],\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/UploadExpenseReceiptRequest.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Requests;\n\nuse Crater\\Rules\\Base64Mime;\nuse Illuminate\\Foundation\\Http\\FormRequest;\n\nclass UploadExpenseReceiptRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n        return [\n            'attachment_receipt' => [\n                'nullable',\n                new Base64Mime(['gif', 'jpg', 'png'])\n            ]\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/UploadModuleRequest.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Requests;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\n\nclass UploadModuleRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n        return [\n            'avatar' => [\n                'required',\n                'file',\n                'mimes:zip',\n                'max:20000'\n            ],\n            'module' => [\n                'required',\n                'string',\n                'max:100'\n            ]\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/UserRequest.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Requests;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\nuse Illuminate\\Validation\\Rule;\n\nclass UserRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n        $rules = [\n            'name' => [\n                'required',\n            ],\n            'email' => [\n                'required',\n                'email',\n                Rule::unique('users'),\n            ],\n            'phone' => [\n                'nullable',\n            ],\n            'password' => [\n                'required',\n                'min:8',\n            ],\n            'companies' => [\n                'required',\n            ],\n            'companies.*.id' => [\n                'required',\n            ],\n            'companies.*.role' => [\n                'required',\n            ],\n        ];\n\n        if ($this->getMethod() == 'PUT') {\n            $rules['email'] = [\n                'required',\n                'email',\n                Rule::unique('users')->ignore($this->user),\n            ];\n            $rules['password'] = [\n                'nullable',\n                'min:8',\n            ];\n        }\n\n        return $rules;\n    }\n\n    public function getUserPayload()\n    {\n        return collect($this->validated())\n            ->merge([\n                'creator_id' => $this->user()->id,\n            ])\n            ->toArray();\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/AbilityCollection.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources;\n\nuse Illuminate\\Http\\Resources\\Json\\ResourceCollection;\n\nclass AbilityCollection extends ResourceCollection\n{\n    /**\n     * Transform the resource collection into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return parent::toArray($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/AbilityResource.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources;\n\nuse Illuminate\\Http\\Resources\\Json\\JsonResource;\n\nclass AbilityResource extends JsonResource\n{\n    /**\n     * Transform the resource into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return [\n            'id' => $this->id,\n            'name' => $this->name,\n            'entity_id' => $this->entity_id,\n            'entity_type' => $this->entity_type,\n            'only_owned' => $this->only_owned,\n            'options' => $this->options,\n            'scope' => $this->scope,\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/AddressCollection.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources;\n\nuse Illuminate\\Http\\Resources\\Json\\ResourceCollection;\n\nclass AddressCollection extends ResourceCollection\n{\n    /**\n     * Transform the resource collection into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return parent::toArray($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/AddressResource.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources;\n\nuse Illuminate\\Http\\Resources\\Json\\JsonResource;\n\nclass AddressResource extends JsonResource\n{\n    /**\n     * Transform the resource into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return [\n            'id' => $this->id,\n            'name' => $this->name,\n            'address_street_1' => $this->address_street_1,\n            'address_street_2' => $this->address_street_2,\n            'city' => $this->city,\n            'state' => $this->state,\n            'country_id' => $this->country_id,\n            'zip' => $this->zip,\n            'phone' => $this->phone,\n            'fax' => $this->fax,\n            'type' => $this->type,\n            'user_id' => $this->user_id,\n            'company_id' => $this->company_id,\n            'customer_id' => $this->customer_id,\n            'country' => $this->when($this->country()->exists(), function () {\n                return new CountryResource($this->country);\n            }),\n            'user' => $this->when($this->user()->exists(), function () {\n                return new UserResource($this->user);\n            }),\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/CompanyCollection.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources;\n\nuse Illuminate\\Http\\Resources\\Json\\ResourceCollection;\n\nclass CompanyCollection extends ResourceCollection\n{\n    /**\n     * Transform the resource collection into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return parent::toArray($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/CompanyResource.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources;\n\nuse Illuminate\\Http\\Resources\\Json\\JsonResource;\n\nclass CompanyResource extends JsonResource\n{\n    /**\n     * Transform the resource into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return [\n            'id' => $this->id,\n            'name' => $this->name,\n            'logo' => $this->logo,\n            'logo_path' => $this->logo_path,\n            'unique_hash' => $this->unique_hash,\n            'owner_id' => $this->owner_id,\n            'slug' => $this->slug,\n            'address' => $this->when($this->address()->exists(), function () {\n                return new AddressResource($this->address);\n            }),\n            'roles' => RoleResource::collection($this->roles)\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/CountryCollection.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources;\n\nuse Illuminate\\Http\\Resources\\Json\\ResourceCollection;\n\nclass CountryCollection extends ResourceCollection\n{\n    /**\n     * Transform the resource collection into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return parent::toArray($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/CountryResource.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources;\n\nuse Illuminate\\Http\\Resources\\Json\\JsonResource;\n\nclass CountryResource extends JsonResource\n{\n    /**\n     * Transform the resource into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return [\n            'id' => $this->id,\n            'code' => $this->code,\n            'name' => $this->name,\n            'phone_code' => $this->phone_code,\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/CurrencyCollection.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources;\n\nuse Illuminate\\Http\\Resources\\Json\\ResourceCollection;\n\nclass CurrencyCollection extends ResourceCollection\n{\n    /**\n     * Transform the resource collection into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return parent::toArray($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/CurrencyResource.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources;\n\nuse Illuminate\\Http\\Resources\\Json\\JsonResource;\n\nclass CurrencyResource extends JsonResource\n{\n    /**\n     * Transform the resource into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return [\n            'id' => $this->id,\n            'name' => $this->name,\n            'code' => $this->code,\n            'symbol' => $this->symbol,\n            'precision' => $this->precision,\n            'thousand_separator' => $this->thousand_separator,\n            'decimal_separator' => $this->decimal_separator,\n            'swap_currency_symbol' => $this->swap_currency_symbol,\n            'exchange_rate' => $this->exchange_rate\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/CustomFieldCollection.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources;\n\nuse Illuminate\\Http\\Resources\\Json\\ResourceCollection;\n\nclass CustomFieldCollection extends ResourceCollection\n{\n    /**\n     * Transform the resource collection into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return parent::toArray($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/CustomFieldResource.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources;\n\nuse Illuminate\\Http\\Resources\\Json\\JsonResource;\n\nclass CustomFieldResource extends JsonResource\n{\n    /**\n     * Transform the resource into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return [\n            'id' => $this->id,\n            'name' => $this->name,\n            'slug' => $this->slug,\n            'label' => $this->label,\n            'model_type' => $this->model_type,\n            'type' => $this->type,\n            'placeholder' => $this->placeholder,\n            'options' => $this->options,\n            'boolean_answer' => $this->boolean_answer,\n            'date_answer' => $this->date_answer,\n            'time_answer' => $this->time_answer,\n            'string_answer' => $this->string_answer,\n            'number_answer' => $this->number_answer,\n            'date_time_answer' => $this->date_time_answer,\n            'is_required' => $this->is_required,\n            'in_use' => $this->in_use,\n            'order' => $this->order,\n            'company_id' => $this->company_id,\n            'default_answer' => $this->default_answer,\n            'company' => $this->when($this->company()->exists(), function () {\n                return new CompanyResource($this->company);\n            }),\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/CustomFieldValueCollection.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources;\n\nuse Illuminate\\Http\\Resources\\Json\\ResourceCollection;\n\nclass CustomFieldValueCollection extends ResourceCollection\n{\n    /**\n     * Transform the resource collection into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return parent::toArray($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/CustomFieldValueResource.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources;\n\nuse Crater\\Models\\CompanySetting;\nuse Illuminate\\Http\\Resources\\Json\\JsonResource;\n\nclass CustomFieldValueResource extends JsonResource\n{\n    /**\n     * Transform the resource into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return [\n            'id' => $this->id,\n            'custom_field_valuable_type' => $this->custom_field_valuable_type,\n            'custom_field_valuable_id' => $this->custom_field_valuable_id,\n            'type' => $this->type,\n            'boolean_answer' => $this->boolean_answer,\n            'date_answer' => $this->date_answer,\n            'time_answer' => $this->time_answer,\n            'string_answer' => $this->string_answer,\n            'number_answer' => $this->number_answer,\n            'date_time_answer' => $this->date_time_answer,\n            'custom_field_id' => $this->custom_field_id,\n            'company_id' => $this->company_id,\n            'default_answer' => $this->defaultAnswer,\n            'default_formatted_answer' => $this->dateTimeFormat(),\n            'custom_field' => $this->when($this->customField()->exists(), function () {\n                return new CustomFieldResource($this->customField);\n            }),\n            'company' => $this->when($this->company()->exists(), function () {\n                return new CompanyResource($this->company);\n            }),\n        ];\n    }\n\n    public function dateTimeFormat()\n    {\n        $key = getCustomFieldValueKey($this->type);\n\n        $answer = $this->default_answer;\n        if (! $answer) {\n            return null;\n        }\n\n        if ($key == 'date_time_answer') {\n            return $answer->format('Y-m-d H:i');\n        }\n\n        if ($key == 'date_answer') {\n            return $answer->format(CompanySetting::getSetting('carbon_date_format', $this->company_id));\n        }\n\n        return $answer;\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/Customer/AddressCollection.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources\\Customer;\n\nuse Illuminate\\Http\\Resources\\Json\\ResourceCollection;\n\nclass AddressCollection extends ResourceCollection\n{\n    /**\n     * Transform the resource collection into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return parent::toArray($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/Customer/AddressResource.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources\\Customer;\n\nuse Illuminate\\Http\\Resources\\Json\\JsonResource;\n\nclass AddressResource extends JsonResource\n{\n    /**\n     * Transform the resource into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return [\n            'id' => $this->id,\n            'name' => $this->name,\n            'address_street_1' => $this->address_street_1,\n            'address_street_2' => $this->address_street_2,\n            'city' => $this->city,\n            'state' => $this->state,\n            'country_id' => $this->country_id,\n            'zip' => $this->zip,\n            'phone' => $this->phone,\n            'fax' => $this->fax,\n            'type' => $this->type,\n            'user_id' => $this->user_id,\n            'company_id' => $this->company_id,\n            'customer_id' => $this->customer_id,\n            'country' => $this->when($this->country()->exists(), function () {\n                return new CountryResource($this->country);\n            }),\n            'user' => $this->when($this->user()->exists(), function () {\n                return new UserResource($this->user);\n            }),\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/Customer/CompanyResource.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources\\Customer;\n\nuse Illuminate\\Http\\Resources\\Json\\JsonResource;\n\nclass CompanyResource extends JsonResource\n{\n    /**\n     * Transform the resource into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return [\n            'id' => $this->id,\n            'name' => $this->name,\n            'slug' => $this->slug,\n            'logo' => $this->logo,\n            'logo_path' => $this->logo_path,\n            'unique_hash' => $this->unique_hash,\n            'owner_id' => $this->owner_id,\n            'address' => $this->when($this->address()->exists(), function () {\n                return new AddressResource($this->address);\n            }),\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/Customer/CountryCollection.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources\\Customer;\n\nuse Illuminate\\Http\\Resources\\Json\\ResourceCollection;\n\nclass CountryCollection extends ResourceCollection\n{\n    /**\n     * Transform the resource collection into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return parent::toArray($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/Customer/CountryResource.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources\\Customer;\n\nuse Illuminate\\Http\\Resources\\Json\\JsonResource;\n\nclass CountryResource extends JsonResource\n{\n    /**\n     * Transform the resource into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return [\n            'id' => $this->id,\n            'code' => $this->code,\n            'name' => $this->name,\n            'phonecode' => $this->phonecode,\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/Customer/CurrencyCollection.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources\\Customer;\n\nuse Illuminate\\Http\\Resources\\Json\\ResourceCollection;\n\nclass CurrencyCollection extends ResourceCollection\n{\n    /**\n     * Transform the resource collection into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return parent::toArray($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/Customer/CurrencyResource.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources\\Customer;\n\nuse Illuminate\\Http\\Resources\\Json\\JsonResource;\n\nclass CurrencyResource extends JsonResource\n{\n    /**\n     * Transform the resource into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return [\n            'id' => $this->id,\n            'name' => $this->name,\n            'code' => $this->code,\n            'symbol' => $this->symbol,\n            'precision' => $this->precision,\n            'thousand_separator' => $this->thousand_separator,\n            'decimal_separator' => $this->decimal_separator,\n            'swap_currency_symbol' => $this->swap_currency_symbol,\n            'exchange_rate' => $this->exchange_rate\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/Customer/CustomFieldCollection.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources\\Customer;\n\nuse Illuminate\\Http\\Resources\\Json\\ResourceCollection;\n\nclass CustomFieldCollection extends ResourceCollection\n{\n    /**\n     * Transform the resource collection into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return parent::toArray($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/Customer/CustomFieldResource.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources\\Customer;\n\nuse Illuminate\\Http\\Resources\\Json\\JsonResource;\n\nclass CustomFieldResource extends JsonResource\n{\n    /**\n     * Transform the resource into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return [\n            'id' => $this->id,\n            'name' => $this->name,\n            'slug' => $this->slug,\n            'label' => $this->label,\n            'model_type' => $this->model_type,\n            'type' => $this->type,\n            'placeholder' => $this->placeholder,\n            'options' => $this->options,\n            'boolean_answer' => $this->boolean_answer,\n            'date_answer' => $this->date_answer,\n            'time_answer' => $this->time_answer,\n            'string_answer' => $this->string_answer,\n            'number_answer' => $this->number_answer,\n            'date_time_answer' => $this->date_time_answer,\n            'is_required' => $this->is_required,\n            'in_use' => $this->in_use,\n            'order' => $this->order,\n            'company_id' => $this->company_id,\n            'default_answer' => $this->default_answer,\n            'company' => $this->when($this->company()->exists(), function () {\n                return new CompanyResource($this->company);\n            }),\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/Customer/CustomFieldValueCollection.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources\\Customer;\n\nuse Illuminate\\Http\\Resources\\Json\\ResourceCollection;\n\nclass CustomFieldValueCollection extends ResourceCollection\n{\n    /**\n     * Transform the resource collection into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return parent::toArray($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/Customer/CustomFieldValueResource.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources\\Customer;\n\nuse Illuminate\\Http\\Resources\\Json\\JsonResource;\n\nclass CustomFieldValueResource extends JsonResource\n{\n    /**\n     * Transform the resource into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return [\n            'id' => $this->id,\n            'custom_field_valuable_type' => $this->custom_field_valuable_type,\n            'custom_field_valuable_id' => $this->custom_field_valuable_id,\n            'type' => $this->type,\n            'boolean_answer' => $this->boolean_answer,\n            'date_answer' => $this->date_answer,\n            'time_answer' => $this->time_answer,\n            'string_answer' => $this->string_answer,\n            'number_answer' => $this->number_answer,\n            'date_time_answer' => $this->date_time_answer,\n            'custom_field_id' => $this->custom_field_id,\n            'company_id' => $this->company_id,\n            'default_answer' => $this->defaultAnswer,\n            'custom_field' => $this->when($this->customField()->exists(), function () {\n                return new CustomFieldResource($this->customField);\n            }),\n            'company' => $this->when($this->company()->exists(), function () {\n                return new CompanyResource($this->company);\n            }),\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/Customer/CustomerCollection.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources\\Customer;\n\nuse Illuminate\\Http\\Resources\\Json\\ResourceCollection;\n\nclass CustomerCollection extends ResourceCollection\n{\n    /**\n     * Transform the resource collection into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return parent::toArray($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/Customer/CustomerResource.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources\\Customer;\n\nuse Illuminate\\Http\\Resources\\Json\\JsonResource;\n\nclass CustomerResource extends JsonResource\n{\n    /**\n     * Transform the resource into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return [\n            'id' => $this->id,\n            'name' => $this->name,\n            'email' => $this->email,\n            'phone' => $this->phone,\n            'contact_name' => $this->contact_name,\n            'company_name' => $this->company_name,\n            'website' => $this->website,\n            'enable_portal' => $this->enable_portal,\n            'currency_id' => $this->currency_id,\n            'company_id' => $this->company_id,\n            'facebook_id' => $this->facebook_id,\n            'google_id' => $this->google_id,\n            'github_id' => $this->github_id,\n            'formatted_created_at' => $this->formattedCreatedAt,\n            'avatar' => $this->avatar,\n            'prefix' => $this->prefix,\n            'billing' => $this->when($this->billingAddress()->exists(), function () {\n                return new AddressResource($this->billingAddress);\n            }),\n            'shipping' => $this->when($this->shippingAddress()->exists(), function () {\n                return new AddressResource($this->shippingAddress);\n            }),\n            'fields' => $this->when($this->fields()->exists(), function () {\n                return CustomFieldValueResource::collection($this->fields);\n            }),\n            'company' => $this->when($this->company()->exists(), function () {\n                return new CompanyResource($this->company);\n            }),\n            'currency' => $this->when($this->currency()->exists(), function () {\n                return new CurrencyResource($this->currency);\n            }),\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/Customer/EstimateCollection.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources\\Customer;\n\nuse Illuminate\\Http\\Resources\\Json\\ResourceCollection;\n\nclass EstimateCollection extends ResourceCollection\n{\n    /**\n     * Transform the resource collection into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return parent::toArray($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/Customer/EstimateItemCollection.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources\\Customer;\n\nuse Illuminate\\Http\\Resources\\Json\\ResourceCollection;\n\nclass EstimateItemCollection extends ResourceCollection\n{\n    /**\n     * Transform the resource collection into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return parent::toArray($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/Customer/EstimateItemResource.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources\\Customer;\n\nuse Illuminate\\Http\\Resources\\Json\\JsonResource;\n\nclass EstimateItemResource extends JsonResource\n{\n    /**\n     * Transform the resource into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return [\n            'id' => $this->id,\n            'name' => $this->name,\n            'description' => $this->description,\n            'discount_type' => $this->discount_type,\n            'quantity' => $this->quantity,\n            'unit_name' => $this->unit_name,\n            'discount' => $this->discount,\n            'discount_val' => $this->discount_val,\n            'price' => $this->price,\n            'tax' => $this->tax,\n            'total' => $this->total,\n            'item_id' => $this->item_id,\n            'estimate_id' => $this->estimate_id,\n            'company_id' => $this->company_id,\n            'exchange_rate' => $this->exchange_rate,\n            'base_discount_val' => $this->base_discount_val,\n            'base_price' => $this->base_price,\n            'base_tax' => $this->base_tax,\n            'base_total' => $this->base_total,\n            'taxes' => $this->when($this->taxes()->exists(), function () {\n                return TaxResource::collection($this->taxes);\n            }),\n            'fields' => $this->when($this->fields()->exists(), function () {\n                return CustomFieldValueResource::collection($this->fields);\n            }),\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/Customer/EstimateResource.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources\\Customer;\n\nuse Illuminate\\Http\\Resources\\Json\\JsonResource;\n\nclass EstimateResource extends JsonResource\n{\n    /**\n     * Transform the resource into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return [\n            'id' => $this->id,\n            'estimate_date' => $this->estimate_date,\n            'expiry_date' => $this->expiry_date,\n            'estimate_number' => $this->estimate_number,\n            'status' => $this->status,\n            'reference_number' => $this->reference_number,\n            'tax_per_item' => $this->tax_per_item,\n            'discount_per_item' => $this->discount_per_item,\n            'notes' => $this->notes,\n            'discount' => $this->discount,\n            'discount_type' => $this->discount_type,\n            'discount_val' => $this->discount_val,\n            'sub_total' => $this->sub_total,\n            'total' => $this->total,\n            'tax' => $this->tax,\n            'unique_hash' => $this->unique_hash,\n            'template_name' => $this->template_name,\n            'customer_id' => $this->customer_id,\n            'exchange_rate' => $this->exchange_rate,\n            'base_discount_val' => $this->base_discount_val,\n            'base_sub_total' => $this->base_sub_total,\n            'base_total' => $this->base_total,\n            'base_tax' => $this->base_tax,\n            'currency_id' => $this->currency_id,\n            'formatted_expiry_date' => $this->formattedExpiryDate,\n            'formatted_estimate_date' => $this->formattedEstimateDate,\n            'estimate_pdf_url' => $this->estimatePdfUrl,\n            'items' => $this->when($this->items()->exists(), function () {\n                return EstimateItemResource::collection($this->items);\n            }),\n            'customer' => $this->when($this->customer()->exists(), function () {\n                return new CustomerResource($this->customer);\n            }),\n            'taxes' => $this->when($this->taxes()->exists(), function () {\n                return TaxResource::collection($this->taxes);\n            }),\n            'fields' => $this->when($this->fields()->exists(), function () {\n                return CustomFieldValueResource::collection($this->fields);\n            }),\n            'company' => $this->when($this->company()->exists(), function () {\n                return new CompanyResource($this->company);\n            }),\n            'currency' => $this->when($this->currency()->exists(), function () {\n                return new CurrencyResource($this->currency);\n            }),\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/Customer/ExpenseCategoryCollection.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources\\Customer;\n\nuse Illuminate\\Http\\Resources\\Json\\ResourceCollection;\n\nclass ExpenseCategoryCollection extends ResourceCollection\n{\n    /**\n     * Transform the resource collection into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return parent::toArray($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/Customer/ExpenseCategoryResource.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources\\Customer;\n\nuse Illuminate\\Http\\Resources\\Json\\JsonResource;\n\nclass ExpenseCategoryResource extends JsonResource\n{\n    /**\n     * Transform the resource into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return [\n            'id' => $this->id,\n            'name' => $this->name,\n            'description' => $this->description,\n            'company_id' => $this->company_id,\n            'amount' => $this->amount,\n            'formatted_created_at' => $this->formattedCreatedAt,\n            'company' => $this->when($this->company()->exists(), function () {\n                return new CompanyResource($this->company);\n            }),\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/Customer/ExpenseCollection.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources\\Customer;\n\nuse Illuminate\\Http\\Resources\\Json\\ResourceCollection;\n\nclass ExpenseCollection extends ResourceCollection\n{\n    /**\n     * Transform the resource collection into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return parent::toArray($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/Customer/ExpenseResource.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources\\Customer;\n\nuse Illuminate\\Http\\Resources\\Json\\JsonResource;\n\nclass ExpenseResource extends JsonResource\n{\n    /**\n     * Transform the resource into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return [\n            'id' => $this->id,\n            'expense_date' => $this->expense_date,\n            'amount' => $this->amount,\n            'notes' => $this->notes,\n            'customer_id' => $this->customer_id,\n            'attachment_receipt_url' => $this->receipt_url,\n            'attachment_receipt' => $this->receipt,\n            'attachment_receipt_meta' => $this->receipt_meta,\n            'company_id' => $this->company_id,\n            'expense_category_id' => $this->expense_category_id,\n            'formatted_expense_date' => $this->formattedExpenseDate,\n            'formatted_created_at' => $this->formattedCreatedAt,\n            'exchange_rate' => $this->exchange_rate,\n            'currency_id' => $this->currency_id,\n            'base_amount' => $this->base_amount,\n            'payment_method_id' => $this->payment_method_id,\n            'customer' => $this->when($this->customer()->exists(), function () {\n                return new CustomerResource($this->customer);\n            }),\n            'expense_category' => $this->when($this->category()->exists(), function () {\n                return new ExpenseCategoryResource($this->category);\n            }),\n            'fields' => $this->when($this->fields()->exists(), function () {\n                return CustomFieldValueResource::collection($this->fields);\n            }),\n            'company' => $this->when($this->company()->exists(), function () {\n                return new CompanyResource($this->company);\n            }),\n            'currency' => $this->when($this->currency()->exists(), function () {\n                return new CurrencyResource($this->currency);\n            }),\n            'payment_method' => $this->when($this->paymentMethod()->exists(), function () {\n                return new PaymentMethodResource($this->paymentMethod);\n            }),\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/Customer/InvoiceCollection.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources\\Customer;\n\nuse Illuminate\\Http\\Resources\\Json\\ResourceCollection;\n\nclass InvoiceCollection extends ResourceCollection\n{\n    /**\n     * Transform the resource collection into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return parent::toArray($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/Customer/InvoiceItemCollection.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources\\Customer;\n\nuse Illuminate\\Http\\Resources\\Json\\ResourceCollection;\n\nclass InvoiceItemCollection extends ResourceCollection\n{\n    /**\n     * Transform the resource collection into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return parent::toArray($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/Customer/InvoiceItemResource.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources\\Customer;\n\nuse Illuminate\\Http\\Resources\\Json\\JsonResource;\n\nclass InvoiceItemResource extends JsonResource\n{\n    /**\n     * Transform the resource into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return [\n            'id' => $this->id,\n            'name' => $this->name,\n            'description' => $this->description,\n            'discount_type' => $this->discount_type,\n            'price' => $this->price,\n            'quantity' => $this->quantity,\n            'unit_name' => $this->unit_name,\n            'discount' => $this->discount,\n            'discount_val' => $this->discount_val,\n            'tax' => $this->tax,\n            'total' => $this->total,\n            'invoice_id' => $this->invoice_id,\n            'item_id' => $this->item_id,\n            'company_id' => $this->company_id,\n            'base_price' => $this->base_price,\n            'exchange_rate' => $this->exchange_rate,\n            'base_discount_val' => $this->base_discount_val,\n            'base_tax' => $this->base_tax,\n            'base_total' => $this->base_total,\n            'recurring_invoice_id' => $this->recurring_invoice_id,\n            'taxes' => $this->when($this->taxes()->exists(), function () {\n                return TaxResource::collection($this->taxes);\n            }),\n            'fields' => $this->when($this->fields()->exists(), function () {\n                return CustomFieldValueResource::collection($this->fields);\n            }),\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/Customer/InvoiceResource.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources\\Customer;\n\nuse Illuminate\\Http\\Resources\\Json\\JsonResource;\n\nclass InvoiceResource extends JsonResource\n{\n    /**\n     * Transform the resource into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return [\n            'id' => $this->id,\n            'invoice_date' => $this->invoice_date,\n            'due_date' => $this->due_date,\n            'invoice_number' => $this->invoice_number,\n            'reference_number' => $this->reference_number,\n            'status' => $this->status,\n            'paid_status' => $this->paid_status,\n            'tax_per_item' => $this->tax_per_item,\n            'discount_per_item' => $this->discount_per_item,\n            'notes' => $this->getNotes(),\n            'discount_type' => $this->discount_type,\n            'discount' => $this->discount,\n            'discount_val' => $this->discount_val,\n            'sub_total' => $this->sub_total,\n            'total' => $this->total,\n            'tax' => $this->tax,\n            'due_amount' => $this->due_amount,\n            'sent' => $this->sent,\n            'viewed' => $this->viewed,\n            'unique_hash' => $this->unique_hash,\n            'template_name' => $this->template_name,\n            'customer_id' => $this->customer_id,\n            'recurring_invoice_id' => $this->recurring_invoice_id,\n            'sequence_number' => $this->sequence_number,\n            'base_discount_val' => $this->base_discount_val,\n            'base_sub_total' => $this->base_sub_total,\n            'base_total' => $this->base_total,\n            'base_tax' => $this->base_tax,\n            'base_due_amount' => $this->base_due_amount,\n            'currency_id' => $this->currency_id,\n            'formatted_created_at' => $this->formattedCreatedAt,\n            'formatted_notes' => $this->formattedNotes,\n            'invoice_pdf_url' => $this->invoicePdfUrl,\n            'formatted_invoice_date' => $this->formattedInvoiceDate,\n            'formatted_due_date' => $this->formattedDueDate,\n            'payment_module_enabled' => $this->payment_module_enabled,\n            'overdue' => $this->overdue,\n            'items' => $this->when($this->items()->exists(), function () {\n                return InvoiceItemResource::collection($this->items);\n            }),\n            'customer' => $this->when($this->customer()->exists(), function () {\n                return new CustomerResource($this->customer);\n            }),\n            'taxes' => $this->when($this->taxes()->exists(), function () {\n                return TaxResource::collection($this->taxes);\n            }),\n            'fields' => $this->when($this->fields()->exists(), function () {\n                return CustomFieldValueResource::collection($this->fields);\n            }),\n            'company' => $this->when($this->company()->exists(), function () {\n                return new CompanyResource($this->company);\n            }),\n            'currency' => $this->when($this->currency()->exists(), function () {\n                return new CurrencyResource($this->currency);\n            }),\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/Customer/ItemCollection.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources\\Customer;\n\nuse Illuminate\\Http\\Resources\\Json\\ResourceCollection;\n\nclass ItemCollection extends ResourceCollection\n{\n    /**\n     * Transform the resource collection into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return parent::toArray($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/Customer/PaymentCollection.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources\\Customer;\n\nuse Illuminate\\Http\\Resources\\Json\\ResourceCollection;\n\nclass PaymentCollection extends ResourceCollection\n{\n    /**\n     * Transform the resource collection into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return parent::toArray($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/Customer/PaymentMethodCollection.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources\\Customer;\n\nuse Illuminate\\Http\\Resources\\Json\\ResourceCollection;\n\nclass PaymentMethodCollection extends ResourceCollection\n{\n    /**\n     * Transform the resource collection into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return parent::toArray($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/Customer/PaymentMethodResource.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources\\Customer;\n\nuse Illuminate\\Http\\Resources\\Json\\JsonResource;\n\nclass PaymentMethodResource extends JsonResource\n{\n    /**\n     * Transform the resource into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return [\n            'id' => $this->id,\n            'name' => $this->name,\n            'company_id' => $this->company_id,\n            'company' => $this->when($this->company()->exists(), function () {\n                return new CompanyResource($this->company);\n            }),\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/Customer/PaymentResource.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources\\Customer;\n\nuse Illuminate\\Http\\Resources\\Json\\JsonResource;\n\nclass PaymentResource extends JsonResource\n{\n    /**\n     * Transform the resource into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return [\n            'id' => $this->id,\n            'payment_number' => $this->payment_number,\n            'payment_date' => $this->payment_date,\n            'notes' => $this->notes,\n            'amount' => $this->amount,\n            'unique_hash' => $this->unique_hash,\n            'invoice_id' => $this->invoice_id,\n            'company_id' => $this->company_id,\n            'payment_method_id' => $this->payment_method_id,\n            'customer_id' => $this->customer_id,\n            'exchange_rate' => $this->exchange_rate,\n            'base_amount' => $this->base_amount,\n            'currency_id' => $this->currency_id,\n            'transaction_id' => $this->transaction_id,\n            'formatted_created_at' => $this->formattedCreatedAt,\n            'formatted_payment_date' => $this->formattedPaymentDate,\n            'payment_pdf_url' => $this->paymentPdfUrl,\n            'customer' => $this->when($this->customer()->exists(), function () {\n                return new CustomerResource($this->customer);\n            }),\n            'invoice' => $this->when($this->invoice()->exists(), function () {\n                return new InvoiceResource($this->invoice);\n            }),\n            'payment_method' => $this->when($this->paymentMethod()->exists(), function () {\n                return new PaymentMethodResource($this->paymentMethod);\n            }),\n            'fields' => $this->when($this->fields()->exists(), function () {\n                return CustomFieldValueResource::collection($this->fields);\n            }),\n            'company' => $this->when($this->company()->exists(), function () {\n                return new CompanyResource($this->company);\n            }),\n            'currency' => $this->when($this->currency()->exists(), function () {\n                return new CurrencyResource($this->currency);\n            }),\n            'transaction' => $this->when($this->transaction()->exists(), function () {\n                return new TransactionResource($this->transaction);\n            }),\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/Customer/RecurringInvoiceCollection.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources\\Customer;\n\nuse Illuminate\\Http\\Resources\\Json\\ResourceCollection;\n\nclass RecurringInvoiceCollection extends ResourceCollection\n{\n    /**\n     * Transform the resource collection into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return parent::toArray($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/Customer/RecurringInvoiceResource.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources\\Customer;\n\nuse Illuminate\\Http\\Resources\\Json\\JsonResource;\n\nclass RecurringInvoiceResource extends JsonResource\n{\n    /**\n     * Transform the resource into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return [\n            'id' => $this->id,\n            'starts_at' => $this->starts_at,\n            'formatted_starts_at' => $this->formattedStartsAt,\n            'formatted_created_at' => $this->formattedCreatedAt,\n            'formatted_next_invoice_at' => $this->formattedNextInvoiceAt,\n            'formatted_limit_date' => $this->formattedLimitDate,\n            'send_automatically' => $this->send_automatically,\n            'customer_id' => $this->customer_id,\n            'company_id' => $this->company_id,\n            'status' => $this->status,\n            'next_invoice_at' => $this->next_invoice_at,\n            'frequency' => $this->frequency,\n            'limit_by' => $this->limit_by,\n            'limit_count' => $this->limit_count,\n            'limit_date' => $this->limit_date,\n            'exchange_rate' => $this->exchange_rate,\n            'tax_per_item' => $this->tax_per_item,\n            'discount_per_item' => $this->discount_per_item,\n            'notes' => $this->notes,\n            'discount_type' => $this->discount_type,\n            'discount' => $this->discount,\n            'discount_val' => $this->discount_val,\n            'sub_total' => $this->sub_total,\n            'total' => $this->total,\n            'tax' => $this->tax,\n            'due_amount' => $this->due_amount,\n            'template_name' => $this->template_name,\n            'fields' => $this->when($this->fields()->exists(), function () {\n                return CustomFieldValueResource::collection($this->fields);\n            }),\n            'items' => $this->when($this->items()->exists(), function () {\n                return InvoiceItemResource::collection($this->items);\n            }),\n            'customer' => $this->when($this->customer()->exists(), function () {\n                return new CustomerResource($this->customer);\n            }),\n            'company' => $this->when($this->company()->exists(), function () {\n                return new CompanyResource($this->company);\n            }),\n            'invoices' => $this->when($this->invoices()->exists(), function () {\n                return InvoiceResource::collection($this->invoices);\n            }),\n            'taxes' => $this->when($this->taxes()->exists(), function () {\n                return TaxResource::collection($this->taxes);\n            }),\n            'currency' => $this->when($this->currency()->exists(), function () {\n                return new CurrencyResource($this->currency);\n            }),\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/Customer/TaxCollection.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources\\Customer;\n\nuse Illuminate\\Http\\Resources\\Json\\ResourceCollection;\n\nclass TaxCollection extends ResourceCollection\n{\n    /**\n     * Transform the resource collection into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return parent::toArray($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/Customer/TaxResource.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources\\Customer;\n\nuse Illuminate\\Http\\Resources\\Json\\JsonResource;\n\nclass TaxResource extends JsonResource\n{\n    /**\n     * Transform the resource into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return [\n            'id' => $this->id,\n            'tax_type_id' => $this->tax_type_id,\n            'invoice_id' => $this->invoice_id,\n            'estimate_id' => $this->estimate_id,\n            'invoice_item_id' => $this->invoice_item_id,\n            'estimate_item_id' => $this->estimate_item_id,\n            'item_id' => $this->item_id,\n            'company_id' => $this->company_id,\n            'name' => $this->name,\n            'amount' => $this->amount,\n            'percent' => $this->percent,\n            'compound_tax' => $this->compound_tax,\n            'base_amount' => $this->base_amount,\n            'currency_id' => $this->currency_id,\n            'recurring_invoice_id' => $this->recurring_invoice_id,\n            'tax_type' => $this->when($this->taxType()->exists(), function () {\n                return new TaxTypeResource($this->taxType);\n            }),\n            'currency' => $this->when($this->currency()->exists(), function () {\n                return new CurrencyResource($this->currency);\n            }),\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/Customer/TaxTypeCollection.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources\\Customer;\n\nuse Illuminate\\Http\\Resources\\Json\\ResourceCollection;\n\nclass TaxTypeCollection extends ResourceCollection\n{\n    /**\n     * Transform the resource collection into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return parent::toArray($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/Customer/TaxTypeResource.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources\\Customer;\n\nuse Illuminate\\Http\\Resources\\Json\\JsonResource;\n\nclass TaxTypeResource extends JsonResource\n{\n    /**\n     * Transform the resource into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return [\n            'id' => $this->id,\n            'name' => $this->name,\n            'percent' => $this->percent,\n            'compound_tax' => $this->compound_tax,\n            'collective_tax' => $this->collective_tax,\n            'description' => $this->description,\n            'company_id' => $this->company_id,\n            'company' => $this->when($this->company()->exists(), function () {\n                return new CompanyResource($this->company);\n            }),\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/Customer/TransactionCollection.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources\\Customer;\n\nuse Illuminate\\Http\\Resources\\Json\\ResourceCollection;\n\nclass TransactionCollection extends ResourceCollection\n{\n    /**\n     * Transform the resource collection into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array|\\Illuminate\\Contracts\\Support\\Arrayable|\\JsonSerializable\n     */\n    public function toArray($request)\n    {\n        return parent::toArray($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/Customer/TransactionResource.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources\\Customer;\n\nuse Illuminate\\Http\\Resources\\Json\\JsonResource;\n\nclass TransactionResource extends JsonResource\n{\n    /**\n     * Transform the resource into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array|\\Illuminate\\Contracts\\Support\\Arrayable|\\JsonSerializable\n     */\n    public function toArray($request)\n    {\n        return [\n            'id' => $this->id,\n            'transaction_id' => $this->transaction_id,\n            'type' => $this->type,\n            'status' => $this->status,\n            'transaction_date' => $this->transaction_date,\n            'invoice_id' => $this->invoice_id,\n            'invoice' => $this->when($this->invoice()->exists(), function () {\n                return new InvoiceResource($this->invoice);\n            }),\n            'company' => $this->when($this->company()->exists(), function () {\n                return new CompanyResource($this->company);\n            }),\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/Customer/UserCollection.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources\\Customer;\n\nuse Illuminate\\Http\\Resources\\Json\\ResourceCollection;\n\nclass UserCollection extends ResourceCollection\n{\n    /**\n     * Transform the resource collection into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return parent::toArray($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/Customer/UserResource.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources\\Customer;\n\nuse Illuminate\\Http\\Resources\\Json\\JsonResource;\n\nclass UserResource extends JsonResource\n{\n    /**\n     * Transform the resource into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return [\n            'id' => $this->id,\n            'name' => $this->name,\n            'email' => $this->email,\n            'phone' => $this->phone,\n            'role' => $this->role,\n            'contact_name' => $this->contact_name,\n            'company_name' => $this->company_name,\n            'website' => $this->website,\n            'enable_portal' => $this->enable_portal,\n            'currency_id' => $this->currency_id,\n            'facebook_id' => $this->facebook_id,\n            'google_id' => $this->google_id,\n            'github_id' => $this->github_id,\n            'created_at' => $this->created_at,\n            'updated_at' => $this->updated_at,\n            'avatar' => $this->avatar,\n            'is_owner' => $this->isOwner(),\n            'roles' => $this->roles,\n            'formatted_created_at' => $this->formattedCreatedAt,\n            'currency' => $this->when($this->currency()->exists(), function () {\n                return new CurrencyResource($this->currency);\n            }),\n            'companies' => $this->when($this->companies()->exists(), function () {\n                return CompanyResource::collection($this->companies);\n            }),\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/CustomerCollection.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources;\n\nuse Illuminate\\Http\\Resources\\Json\\ResourceCollection;\n\nclass CustomerCollection extends ResourceCollection\n{\n    /**\n     * Transform the resource collection into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return parent::toArray($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/CustomerResource.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources;\n\nuse Illuminate\\Http\\Resources\\Json\\JsonResource;\n\nclass CustomerResource extends JsonResource\n{\n    /**\n     * Transform the resource into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return [\n            'id' => $this->id,\n            'name' => $this->name,\n            'email' => $this->email,\n            'phone' => $this->phone,\n            'contact_name' => $this->contact_name,\n            'company_name' => $this->company_name,\n            'website' => $this->website,\n            'enable_portal' => $this->enable_portal,\n            'password_added' => $this->password ? true : false,\n            'currency_id' => $this->currency_id,\n            'company_id' => $this->company_id,\n            'facebook_id' => $this->facebook_id,\n            'google_id' => $this->google_id,\n            'github_id' => $this->github_id,\n            'created_at' => $this->created_at,\n            'formatted_created_at' => $this->formattedCreatedAt,\n            'updated_at' => $this->updated_at,\n            'avatar' => $this->avatar,\n            'due_amount' => $this->due_amount,\n            'base_due_amount' => $this->base_due_amount,\n            'prefix' => $this->prefix,\n            'billing' => $this->when($this->billingAddress()->exists(), function () {\n                return new AddressResource($this->billingAddress);\n            }),\n            'shipping' => $this->when($this->shippingAddress()->exists(), function () {\n                return new AddressResource($this->shippingAddress);\n            }),\n            'fields' => $this->when($this->fields()->exists(), function () {\n                return CustomFieldValueResource::collection($this->fields);\n            }),\n            'company' => $this->when($this->company()->exists(), function () {\n                return new CompanyResource($this->company);\n            }),\n            'currency' => $this->when($this->currency()->exists(), function () {\n                return new CurrencyResource($this->currency);\n            }),\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/EstimateCollection.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources;\n\nuse Illuminate\\Http\\Resources\\Json\\ResourceCollection;\n\nclass EstimateCollection extends ResourceCollection\n{\n    /**\n     * Transform the resource collection into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return parent::toArray($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/EstimateItemCollection.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources;\n\nuse Illuminate\\Http\\Resources\\Json\\ResourceCollection;\n\nclass EstimateItemCollection extends ResourceCollection\n{\n    /**\n     * Transform the resource collection into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return parent::toArray($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/EstimateItemResource.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources;\n\nuse Illuminate\\Http\\Resources\\Json\\JsonResource;\n\nclass EstimateItemResource extends JsonResource\n{\n    /**\n     * Transform the resource into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return [\n            'id' => $this->id,\n            'name' => $this->name,\n            'description' => $this->description,\n            'discount_type' => $this->discount_type,\n            'quantity' => $this->quantity,\n            'unit_name' => $this->unit_name,\n            'discount' => $this->discount,\n            'discount_val' => $this->discount_val,\n            'price' => $this->price,\n            'tax' => $this->tax,\n            'total' => $this->total,\n            'item_id' => $this->item_id,\n            'estimate_id' => $this->estimate_id,\n            'company_id' => $this->company_id,\n            'exchange_rate' => $this->exchange_rate,\n            'base_discount_val' => $this->base_discount_val,\n            'base_price' => $this->base_price,\n            'base_tax' => $this->base_tax,\n            'base_total' => $this->base_total,\n            'taxes' => $this->when($this->taxes()->exists(), function () {\n                return TaxResource::collection($this->taxes);\n            }),\n            'fields' => $this->when($this->fields()->exists(), function () {\n                return CustomFieldValueResource::collection($this->fields);\n            }),\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/EstimateResource.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources;\n\nuse Illuminate\\Http\\Resources\\Json\\JsonResource;\n\nclass EstimateResource extends JsonResource\n{\n    /**\n     * Transform the resource into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return [\n            'id' => $this->id,\n            'estimate_date' => $this->estimate_date,\n            'expiry_date' => $this->expiry_date,\n            'estimate_number' => $this->estimate_number,\n            'status' => $this->status,\n            'reference_number' => $this->reference_number,\n            'tax_per_item' => $this->tax_per_item,\n            'discount_per_item' => $this->discount_per_item,\n            'notes' => $this->getNotes(),\n            'discount' => $this->discount,\n            'discount_type' => $this->discount_type,\n            'discount_val' => $this->discount_val,\n            'sub_total' => $this->sub_total,\n            'total' => $this->total,\n            'tax' => $this->tax,\n            'unique_hash' => $this->unique_hash,\n            'creator_id' => $this->creator_id,\n            'template_name' => $this->template_name,\n            'customer_id' => $this->customer_id,\n            'exchange_rate' => $this->exchange_rate,\n            'base_discount_val' => $this->base_discount_val,\n            'base_sub_total' => $this->base_sub_total,\n            'base_total' => $this->base_total,\n            'base_tax' => $this->base_tax,\n            'sequence_number' => $this->sequence_number,\n            'currency_id' => $this->currency_id,\n            'formatted_expiry_date' => $this->formattedExpiryDate,\n            'formatted_estimate_date' => $this->formattedEstimateDate,\n            'estimate_pdf_url' => $this->estimatePdfUrl,\n            'sales_tax_type' => $this->sales_tax_type,\n            'sales_tax_address_type' => $this->sales_tax_address_type,\n            'items' => $this->when($this->items()->exists(), function () {\n                return EstimateItemResource::collection($this->items);\n            }),\n            'customer' => $this->when($this->customer()->exists(), function () {\n                return new CustomerResource($this->customer);\n            }),\n            'creator' => $this->when($this->creator()->exists(), function () {\n                return new UserResource($this->creator);\n            }),\n            'taxes' => $this->when($this->taxes()->exists(), function () {\n                return TaxResource::collection($this->taxes);\n            }),\n            'fields' => $this->when($this->fields()->exists(), function () {\n                return CustomFieldValueResource::collection($this->fields);\n            }),\n            'company' => $this->when($this->company()->exists(), function () {\n                return new CompanyResource($this->company);\n            }),\n            'currency' => $this->when($this->currency()->exists(), function () {\n                return new CurrencyResource($this->currency);\n            }),\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/ExchangeRateLogCollection.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources;\n\nuse Illuminate\\Http\\Resources\\Json\\ResourceCollection;\n\nclass ExchangeRateLogCollection extends ResourceCollection\n{\n    /**\n     * Transform the resource collection into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return parent::toArray($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/ExchangeRateLogResource.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources;\n\nuse Illuminate\\Http\\Resources\\Json\\JsonResource;\n\nclass ExchangeRateLogResource extends JsonResource\n{\n    /**\n     * Transform the resource into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return [\n            'id' => $this->id,\n            'company_id' => $this->company_id,\n            'base_currency_id' => $this->base_currency_id,\n            'currency_id' => $this->currency_id,\n            'exchange_rate' => $this->exchange_rate,\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/ExchangeRateProviderCollection.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources;\n\nuse Illuminate\\Http\\Resources\\Json\\ResourceCollection;\n\nclass ExchangeRateProviderCollection extends ResourceCollection\n{\n    /**\n     * Transform the resource collection into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return parent::toArray($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/ExchangeRateProviderResource.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources;\n\nuse Illuminate\\Http\\Resources\\Json\\JsonResource;\n\nclass ExchangeRateProviderResource extends JsonResource\n{\n    /**\n     * Transform the resource into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return [\n            'id' => $this->id,\n            'key' => $this->key,\n            'driver' => $this->driver,\n            'currencies' => $this->currencies,\n            'driver_config' => $this->driver_config,\n            'company_id' => $this->company_id,\n            'active' => $this->active,\n            'company' => $this->when($this->company()->exists(), function () {\n                return new CompanyResource($this->company);\n            }),\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/ExpenseCategoryCollection.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources;\n\nuse Illuminate\\Http\\Resources\\Json\\ResourceCollection;\n\nclass ExpenseCategoryCollection extends ResourceCollection\n{\n    /**\n     * Transform the resource collection into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return parent::toArray($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/ExpenseCategoryResource.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources;\n\nuse Illuminate\\Http\\Resources\\Json\\JsonResource;\n\nclass ExpenseCategoryResource extends JsonResource\n{\n    /**\n     * Transform the resource into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return [\n            'id' => $this->id,\n            'name' => $this->name,\n            'description' => $this->description,\n            'company_id' => $this->company_id,\n            'amount' => $this->amount,\n            'formatted_created_at' => $this->formattedCreatedAt,\n            'company' => $this->when($this->company()->exists(), function () {\n                return new CompanyResource($this->company);\n            }),\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/ExpenseCollection.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources;\n\nuse Illuminate\\Http\\Resources\\Json\\ResourceCollection;\n\nclass ExpenseCollection extends ResourceCollection\n{\n    /**\n     * Transform the resource collection into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return parent::toArray($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/ExpenseResource.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources;\n\nuse Illuminate\\Http\\Resources\\Json\\JsonResource;\n\nclass ExpenseResource extends JsonResource\n{\n    /**\n     * Transform the resource into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return [\n            'id' => $this->id,\n            'expense_date' => $this->expense_date,\n            'amount' => $this->amount,\n            'notes' => $this->notes,\n            'customer_id' => $this->customer_id,\n            'attachment_receipt_url' => $this->receipt_url,\n            'attachment_receipt' => $this->receipt,\n            'attachment_receipt_meta' => $this->receipt_meta,\n            'company_id' => $this->company_id,\n            'expense_category_id' => $this->expense_category_id,\n            'creator_id' => $this->creator_id,\n            'formatted_expense_date' => $this->formattedExpenseDate,\n            'formatted_created_at' => $this->formattedCreatedAt,\n            'exchange_rate' => $this->exchange_rate,\n            'currency_id' => $this->currency_id,\n            'base_amount' => $this->base_amount,\n            'payment_method_id' => $this->payment_method_id,\n            'customer' => $this->when($this->customer()->exists(), function () {\n                return new CustomerResource($this->customer);\n            }),\n            'expense_category' => $this->when($this->category()->exists(), function () {\n                return new ExpenseCategoryResource($this->category);\n            }),\n            'creator' => $this->when($this->creator()->exists(), function () {\n                return new UserResource($this->creator);\n            }),\n            'fields' => $this->when($this->fields()->exists(), function () {\n                return CustomFieldValueResource::collection($this->fields);\n            }),\n            'company' => $this->when($this->company()->exists(), function () {\n                return new CompanyResource($this->company);\n            }),\n            'currency' => $this->when($this->currency()->exists(), function () {\n                return new CurrencyResource($this->currency);\n            }),\n            'payment_method' => $this->when($this->paymentMethod()->exists(), function () {\n                return new PaymentMethodResource($this->paymentMethod);\n            }),\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/FileDiskCollection.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources;\n\nuse Illuminate\\Http\\Resources\\Json\\ResourceCollection;\n\nclass FileDiskCollection extends ResourceCollection\n{\n    /**\n     * Transform the resource collection into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return parent::toArray($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/FileDiskResource.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources;\n\nuse Illuminate\\Http\\Resources\\Json\\JsonResource;\n\nclass FileDiskResource extends JsonResource\n{\n    /**\n     * Transform the resource into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return [\n            'id' => $this->id,\n            'name' => $this->name,\n            'type' => $this->type,\n            'driver' => $this->driver,\n            'set_as_default' => $this->set_as_default,\n            'credentials' => $this->credentials,\n            'company_id' => $this->company_id,\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/InvoiceCollection.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources;\n\nuse Illuminate\\Http\\Resources\\Json\\ResourceCollection;\n\nclass InvoiceCollection extends ResourceCollection\n{\n    /**\n     * Transform the resource collection into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return parent::toArray($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/InvoiceItemCollection.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources;\n\nuse Illuminate\\Http\\Resources\\Json\\ResourceCollection;\n\nclass InvoiceItemCollection extends ResourceCollection\n{\n    /**\n     * Transform the resource collection into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return parent::toArray($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/InvoiceItemResource.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources;\n\nuse Illuminate\\Http\\Resources\\Json\\JsonResource;\n\nclass InvoiceItemResource extends JsonResource\n{\n    /**\n     * Transform the resource into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return [\n            'id' => $this->id,\n            'name' => $this->name,\n            'description' => $this->description,\n            'discount_type' => $this->discount_type,\n            'price' => $this->price,\n            'quantity' => $this->quantity,\n            'unit_name' => $this->unit_name,\n            'discount' => $this->discount,\n            'discount_val' => $this->discount_val,\n            'tax' => $this->tax,\n            'total' => $this->total,\n            'invoice_id' => $this->invoice_id,\n            'item_id' => $this->item_id,\n            'company_id' => $this->company_id,\n            'base_price' => $this->base_price,\n            'exchange_rate' => $this->exchange_rate,\n            'base_discount_val' => $this->base_discount_val,\n            'base_tax' => $this->base_tax,\n            'base_total' => $this->base_total,\n            'recurring_invoice_id' => $this->recurring_invoice_id,\n            'taxes' => $this->when($this->taxes()->exists(), function () {\n                return TaxResource::collection($this->taxes);\n            }),\n            'fields' => $this->when($this->fields()->exists(), function () {\n                return CustomFieldValueResource::collection($this->fields);\n            }),\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/InvoiceResource.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources;\n\nuse Illuminate\\Http\\Resources\\Json\\JsonResource;\n\nclass InvoiceResource extends JsonResource\n{\n    /**\n     * Transform the resource into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return [\n            'id' => $this->id,\n            'invoice_date' => $this->invoice_date,\n            'due_date' => $this->due_date,\n            'invoice_number' => $this->invoice_number,\n            'reference_number' => $this->reference_number,\n            'status' => $this->status,\n            'paid_status' => $this->paid_status,\n            'tax_per_item' => $this->tax_per_item,\n            'discount_per_item' => $this->discount_per_item,\n            'notes' => $this->notes,\n            'discount_type' => $this->discount_type,\n            'discount' => $this->discount,\n            'discount_val' => $this->discount_val,\n            'sub_total' => $this->sub_total,\n            'total' => $this->total,\n            'tax' => $this->tax,\n            'due_amount' => $this->due_amount,\n            'sent' => $this->sent,\n            'viewed' => $this->viewed,\n            'unique_hash' => $this->unique_hash,\n            'template_name' => $this->template_name,\n            'customer_id' => $this->customer_id,\n            'recurring_invoice_id' => $this->recurring_invoice_id,\n            'sequence_number' => $this->sequence_number,\n            'exchange_rate' => $this->exchange_rate,\n            'base_discount_val' => $this->base_discount_val,\n            'base_sub_total' => $this->base_sub_total,\n            'base_total' => $this->base_total,\n            'creator_id' => $this->creator_id,\n            'base_tax' => $this->base_tax,\n            'base_due_amount' => $this->base_due_amount,\n            'currency_id' => $this->currency_id,\n            'formatted_created_at' => $this->formattedCreatedAt,\n            'invoice_pdf_url' => $this->invoicePdfUrl,\n            'formatted_invoice_date' => $this->formattedInvoiceDate,\n            'formatted_due_date' => $this->formattedDueDate,\n            'allow_edit' => $this->allow_edit,\n            'payment_module_enabled' => $this->payment_module_enabled,\n            'sales_tax_type' => $this->sales_tax_type,\n            'sales_tax_address_type' => $this->sales_tax_address_type,\n            'overdue' => $this->overdue,\n            'items' => $this->when($this->items()->exists(), function () {\n                return InvoiceItemResource::collection($this->items);\n            }),\n            'customer' => $this->when($this->customer()->exists(), function () {\n                return new CustomerResource($this->customer);\n            }),\n            'creator' => $this->when($this->creator()->exists(), function () {\n                return new UserResource($this->creator);\n            }),\n            'taxes' => $this->when($this->taxes()->exists(), function () {\n                return TaxResource::collection($this->taxes);\n            }),\n            'fields' => $this->when($this->fields()->exists(), function () {\n                return CustomFieldValueResource::collection($this->fields);\n            }),\n            'company' => $this->when($this->company()->exists(), function () {\n                return new CompanyResource($this->company);\n            }),\n            'currency' => $this->when($this->currency()->exists(), function () {\n                return new CurrencyResource($this->currency);\n            }),\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/ItemCollection.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources;\n\nuse Illuminate\\Http\\Resources\\Json\\ResourceCollection;\n\nclass ItemCollection extends ResourceCollection\n{\n    /**\n     * Transform the resource collection into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return parent::toArray($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/ItemResource.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources;\n\nuse Illuminate\\Http\\Resources\\Json\\JsonResource;\n\nclass ItemResource extends JsonResource\n{\n    /**\n     * Transform the resource into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return [\n            'id' => $this->id,\n            'name' => $this->name,\n            'description' => $this->description,\n            'price' => $this->price,\n            'unit_id' => $this->unit_id,\n            'company_id' => $this->company_id,\n            'creator_id' => $this->creator_id,\n            'currency_id' => $this->currency_id,\n            'created_at' => $this->created_at,\n            'updated_at' => $this->updated_at,\n            'tax_per_item' => $this->tax_per_item,\n            'formatted_created_at' => $this->formattedCreatedAt,\n            'unit' => $this->when($this->unit()->exists(), function () {\n                return new UnitResource($this->unit);\n            }),\n            'company' => $this->when($this->company()->exists(), function () {\n                return new CompanyResource($this->company);\n            }),\n            'taxes' => $this->when($this->taxes()->exists(), function () {\n                return TaxResource::collection($this->taxes);\n            }),\n            'currency' => $this->when($this->currency()->exists(), function () {\n                return new CurrencyResource($this->currency);\n            }),\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/ModuleCollection.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources;\n\nuse Illuminate\\Http\\Resources\\Json\\ResourceCollection;\n\nclass ModuleCollection extends ResourceCollection\n{\n    /**\n     * Transform the resource collection into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array|\\Illuminate\\Contracts\\Support\\Arrayable|\\JsonSerializable\n     */\n    public function toArray($request)\n    {\n        return parent::toArray($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/ModuleResource.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources;\n\nuse Crater\\Models\\Module as ModelsModule;\nuse Crater\\Models\\Setting;\nuse Illuminate\\Http\\Resources\\Json\\JsonResource;\nuse Nwidart\\Modules\\Facades\\Module;\n\nclass ModuleResource extends JsonResource\n{\n    /**\n     * Transform the resource into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array|\\Illuminate\\Contracts\\Support\\Arrayable|\\JsonSerializable\n     */\n    public function toArray($request)\n    {\n        $this->checkPurchased();\n        $this->installed_module = ModelsModule::where('name', $this->module_name)->first();\n\n        return [\n            'id' => $this->id,\n            'average_rating' => $this->average_rating,\n            'cover' => $this->cover,\n            'slug' => $this->slug,\n            'module_name' => $this->module_name,\n            'faq' => $this->faq,\n            'highlights' => $this->highlights,\n            'installed_module_version' => $this->getInstalledModuleVersion(),\n            'installed_module_version_updated_at' => $this->getInstalledModuleUpdatedAt(),\n            'latest_module_version' => $this->latest_module_version->module_version,\n            'latest_module_version_updated_at' => $this->latest_module_version->created_at,\n            'is_dev' => $this->is_dev,\n            'license' => $this->license,\n            'long_description' => $this->long_description,\n            'monthly_price' => $this->monthly_price,\n            'name' => $this->name,\n            'purchased' => $this->purchased,\n            'reviews' => $this->reviews ?? [],\n            'screenshots' => $this->screenshots,\n            'short_description' => $this->short_description,\n            'type' => $this->type,\n            'yearly_price' => $this->yearly_price,\n            'author_name' => $this->author->name,\n            'author_avatar' => $this->author->avatar,\n            'installed' => $this->moduleInstalled(),\n            'enabled' => $this->moduleEnabled(),\n            'update_available' => $this->updateAvailable(),\n            'video_link' => $this->video_link,\n            'video_thumbnail' => $this->video_thumbnail,\n            'links' => $this->links\n        ];\n    }\n\n    public function getInstalledModuleVersion()\n    {\n        if (isset($this->installed_module) && $this->installed_module->installed) {\n            return $this->installed_module->version;\n        }\n\n        return null;\n    }\n\n    public function getInstalledModuleUpdatedAt()\n    {\n        if (isset($this->installed_module) && $this->installed_module->installed) {\n            return $this->installed_module->updated_at;\n        }\n\n        return null;\n    }\n\n    public function moduleInstalled()\n    {\n        if (isset($this->installed_module) && $this->installed_module->installed) {\n            return true;\n        }\n\n        return false;\n    }\n\n    public function moduleEnabled()\n    {\n        if (isset($this->installed_module) && $this->installed_module->installed) {\n            return $this->installed_module->enabled;\n        }\n\n        return false;\n    }\n\n    public function updateAvailable()\n    {\n        if (! isset($this->installed_module)) {\n            return false;\n        }\n\n        if (! $this->installed_module->installed) {\n            return false;\n        }\n\n        if (! isset($this->latest_module_version)) {\n            return false;\n        }\n\n        if (version_compare($this->installed_module->version, $this->latest_module_version->module_version, '>=')) {\n            return false;\n        }\n\n        if (version_compare(Setting::getSetting('version'), $this->latest_module_version->crater_version, '<')) {\n            return false;\n        }\n\n        return true;\n    }\n\n    public function checkPurchased()\n    {\n        if ($this->purchased) {\n            return true;\n        }\n\n        if (Module::has($this->module_name)) {\n            $module = Module::find($this->module_name);\n            $module->disable();\n            ModelsModule::where('name', $this->module_name)->update(['enabled' => false]);\n        }\n\n        return false;\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/NoteCollection.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources;\n\nuse Illuminate\\Http\\Resources\\Json\\ResourceCollection;\n\nclass NoteCollection extends ResourceCollection\n{\n    /**\n     * Transform the resource collection into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return parent::toArray($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/NoteResource.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources;\n\nuse Illuminate\\Http\\Resources\\Json\\JsonResource;\n\nclass NoteResource extends JsonResource\n{\n    /**\n     * Transform the resource into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return [\n            'id' => $this->id,\n            'type' => $this->type,\n            'name' => $this->name,\n            'notes' => $this->notes,\n            'company' => $this->when($this->company()->exists(), function () {\n                return new CompanyResource($this->company);\n            }),\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/PaymentCollection.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources;\n\nuse Illuminate\\Http\\Resources\\Json\\ResourceCollection;\n\nclass PaymentCollection extends ResourceCollection\n{\n    /**\n     * Transform the resource collection into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return parent::toArray($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/PaymentMethodCollection.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources;\n\nuse Illuminate\\Http\\Resources\\Json\\ResourceCollection;\n\nclass PaymentMethodCollection extends ResourceCollection\n{\n    /**\n     * Transform the resource collection into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return parent::toArray($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/PaymentMethodResource.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources;\n\nuse Illuminate\\Http\\Resources\\Json\\JsonResource;\n\nclass PaymentMethodResource extends JsonResource\n{\n    /**\n     * Transform the resource into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return [\n            'id' => $this->id,\n            'name' => $this->name,\n            'company_id' => $this->company_id,\n            'type' => $this->type,\n            'company' => $this->when($this->company()->exists(), function () {\n                return new CompanyResource($this->company);\n            }),\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/PaymentResource.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources;\n\nuse Illuminate\\Http\\Resources\\Json\\JsonResource;\n\nclass PaymentResource extends JsonResource\n{\n    /**\n     * Transform the resource into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return [\n            'id' => $this->id,\n            'payment_number' => $this->payment_number,\n            'payment_date' => $this->payment_date,\n            'notes' => $this->getNotes(),\n            'amount' => $this->amount,\n            'unique_hash' => $this->unique_hash,\n            'invoice_id' => $this->invoice_id,\n            'company_id' => $this->company_id,\n            'payment_method_id' => $this->payment_method_id,\n            'creator_id' => $this->creator_id,\n            'customer_id' => $this->customer_id,\n            'exchange_rate' => $this->exchange_rate,\n            'base_amount' => $this->base_amount,\n            'currency_id' => $this->currency_id,\n            'transaction_id' => $this->transaction_id,\n            'sequence_number' => $this->sequence_number,\n            'formatted_created_at' => $this->formattedCreatedAt,\n            'formatted_payment_date' => $this->formattedPaymentDate,\n            'payment_pdf_url' => $this->paymentPdfUrl,\n            'customer' => $this->when($this->customer()->exists(), function () {\n                return new CustomerResource($this->customer);\n            }),\n            'invoice' => $this->when($this->invoice()->exists(), function () {\n                return new InvoiceResource($this->invoice);\n            }),\n            'payment_method' => $this->when($this->paymentMethod()->exists(), function () {\n                return new PaymentMethodResource($this->paymentMethod);\n            }),\n            'fields' => $this->when($this->fields()->exists(), function () {\n                return CustomFieldValueResource::collection($this->fields);\n            }),\n            'company' => $this->when($this->company()->exists(), function () {\n                return new CompanyResource($this->company);\n            }),\n            'currency' => $this->when($this->currency()->exists(), function () {\n                return new CurrencyResource($this->currency);\n            }),\n            'transaction' => $this->when($this->transaction()->exists(), function () {\n                return new TransactionResource($this->transaction);\n            }),\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/RecurringInvoiceCollection.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources;\n\nuse Illuminate\\Http\\Resources\\Json\\ResourceCollection;\n\nclass RecurringInvoiceCollection extends ResourceCollection\n{\n    /**\n     * Transform the resource collection into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return parent::toArray($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/RecurringInvoiceResource.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources;\n\nuse Illuminate\\Http\\Resources\\Json\\JsonResource;\n\nclass RecurringInvoiceResource extends JsonResource\n{\n    /**\n     * Transform the resource into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return [\n            'id' => $this->id,\n            'starts_at' => $this->starts_at,\n            'formatted_starts_at' => $this->formattedStartsAt,\n            'formatted_created_at' => $this->formattedCreatedAt,\n            'formatted_next_invoice_at' => $this->formattedNextInvoiceAt,\n            'formatted_limit_date' => $this->formattedLimitDate,\n            'send_automatically' => $this->send_automatically,\n            'customer_id' => $this->customer_id,\n            'company_id' => $this->company_id,\n            'creator_id' => $this->creator_id,\n            'status' => $this->status,\n            'next_invoice_at' => $this->next_invoice_at,\n            'frequency' => $this->frequency,\n            'limit_by' => $this->limit_by,\n            'limit_count' => $this->limit_count,\n            'limit_date' => $this->limit_date,\n            'exchange_rate' => $this->exchange_rate,\n            'tax_per_item' => $this->tax_per_item,\n            'discount_per_item' => $this->discount_per_item,\n            'notes' => $this->notes,\n            'discount_type' => $this->discount_type,\n            'discount' => $this->discount,\n            'discount_val' => $this->discount_val,\n            'sub_total' => $this->sub_total,\n            'total' => $this->total,\n            'tax' => $this->tax,\n            'due_amount' => $this->due_amount,\n            'template_name' => $this->template_name,\n            'sales_tax_type' => $this->sales_tax_type,\n            'sales_tax_address_type' => $this->sales_tax_address_type,\n            'fields' => $this->when($this->fields()->exists(), function () {\n                return CustomFieldValueResource::collection($this->fields);\n            }),\n            'items' => $this->when($this->items()->exists(), function () {\n                return InvoiceItemResource::collection($this->items);\n            }),\n            'customer' => $this->when($this->customer()->exists(), function () {\n                return new CustomerResource($this->customer);\n            }),\n            'company' => $this->when($this->company()->exists(), function () {\n                return new CompanyResource($this->company);\n            }),\n            'invoices' => $this->when($this->invoices()->exists(), function () {\n                return InvoiceResource::collection($this->invoices);\n            }),\n            'taxes' => $this->when($this->taxes()->exists(), function () {\n                return TaxResource::collection($this->taxes);\n            }),\n            'creator' => $this->when($this->creator()->exists(), function () {\n                return new UserResource($this->creator);\n            }),\n            'currency' => $this->when($this->currency()->exists(), function () {\n                return new CurrencyResource($this->currency);\n            }),\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/RoleCollection.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources;\n\nuse Illuminate\\Http\\Resources\\Json\\ResourceCollection;\n\nclass RoleCollection extends ResourceCollection\n{\n    /**\n     * Transform the resource collection into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return parent::toArray($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/RoleResource.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources;\n\nuse Carbon\\Carbon;\nuse Crater\\Models\\CompanySetting;\nuse Illuminate\\Http\\Resources\\Json\\JsonResource;\n\nclass RoleResource extends JsonResource\n{\n    /**\n     * Transform the resource into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return [\n            'id' => $this->id,\n            'name' => $this->name,\n            'title' => $this->title,\n            'level' => $this->level,\n            'formatted_created_at' => $this->getFormattedAt(),\n            'abilities' => $this->getAbilities()\n        ];\n    }\n\n    public function getFormattedAt()\n    {\n        $dateFormat = CompanySetting::getSetting('carbon_date_format', $this->scope);\n\n        return Carbon::parse($this->created_at)->format($dateFormat);\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/TaxCollection.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources;\n\nuse Illuminate\\Http\\Resources\\Json\\ResourceCollection;\n\nclass TaxCollection extends ResourceCollection\n{\n    /**\n     * Transform the resource collection into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return parent::toArray($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/TaxResource.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources;\n\nuse Illuminate\\Http\\Resources\\Json\\JsonResource;\n\nclass TaxResource extends JsonResource\n{\n    /**\n     * Transform the resource into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return [\n            'id' => $this->id,\n            'tax_type_id' => $this->tax_type_id,\n            'invoice_id' => $this->invoice_id,\n            'estimate_id' => $this->estimate_id,\n            'invoice_item_id' => $this->invoice_item_id,\n            'estimate_item_id' => $this->estimate_item_id,\n            'item_id' => $this->item_id,\n            'company_id' => $this->company_id,\n            'name' => $this->name,\n            'amount' => $this->amount,\n            'percent' => $this->percent,\n            'compound_tax' => $this->compound_tax,\n            'base_amount' => $this->base_amount,\n            'currency_id' => $this->currency_id,\n            'type' => $this->taxType->type,\n            'recurring_invoice_id' => $this->recurring_invoice_id,\n            'tax_type' => $this->when($this->taxType()->exists(), function () {\n                return new TaxTypeResource($this->taxType);\n            }),\n            'currency' => $this->when($this->currency()->exists(), function () {\n                return new CurrencyResource($this->currency);\n            }),\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/TaxTypeCollection.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources;\n\nuse Illuminate\\Http\\Resources\\Json\\ResourceCollection;\n\nclass TaxTypeCollection extends ResourceCollection\n{\n    /**\n     * Transform the resource collection into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return parent::toArray($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/TaxTypeResource.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources;\n\nuse Illuminate\\Http\\Resources\\Json\\JsonResource;\n\nclass TaxTypeResource extends JsonResource\n{\n    /**\n     * Transform the resource into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return [\n            'id' => $this->id,\n            'name' => $this->name,\n            'percent' => $this->percent,\n            'type' => $this->type,\n            'compound_tax' => $this->compound_tax,\n            'collective_tax' => $this->collective_tax,\n            'description' => $this->description,\n            'company_id' => $this->company_id,\n            'company' => $this->when($this->company()->exists(), function () {\n                return new CompanyResource($this->company);\n            }),\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/TransactionCollection.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources;\n\nuse Illuminate\\Http\\Resources\\Json\\ResourceCollection;\n\nclass TransactionCollection extends ResourceCollection\n{\n    /**\n     * Transform the resource collection into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array|\\Illuminate\\Contracts\\Support\\Arrayable|\\JsonSerializable\n     */\n    public function toArray($request)\n    {\n        return parent::toArray($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/TransactionResource.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources;\n\nuse Illuminate\\Http\\Resources\\Json\\JsonResource;\n\nclass TransactionResource extends JsonResource\n{\n    /**\n     * Transform the resource into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array|\\Illuminate\\Contracts\\Support\\Arrayable|\\JsonSerializable\n     */\n    public function toArray($request)\n    {\n        return [\n            'id' => $this->id,\n            'transaction_id' => $this->transaction_id,\n            'type' => $this->type,\n            'status' => $this->status,\n            'transaction_date' => $this->transaction_date,\n            'invoice_id' => $this->invoice_id,\n            'invoice' => $this->when($this->invoice()->exists(), function () {\n                return new InvoiceResource($this->invoice);\n            }),\n            'company' => $this->when($this->company()->exists(), function () {\n                return new CompanyResource($this->company);\n            }),\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/UnitCollection.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources;\n\nuse Illuminate\\Http\\Resources\\Json\\ResourceCollection;\n\nclass UnitCollection extends ResourceCollection\n{\n    /**\n     * Transform the resource collection into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return parent::toArray($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/UnitResource.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources;\n\nuse Illuminate\\Http\\Resources\\Json\\JsonResource;\n\nclass UnitResource extends JsonResource\n{\n    /**\n     * Transform the resource into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return [\n            'id' => $this->id,\n            'name' => $this->name,\n            'company_id' => $this->company_id,\n            'company' => $this->when($this->company()->exists(), function () {\n                return new CompanyResource($this->company);\n            }),\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/UserCollection.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources;\n\nuse Illuminate\\Http\\Resources\\Json\\ResourceCollection;\n\nclass UserCollection extends ResourceCollection\n{\n    /**\n     * Transform the resource collection into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return parent::toArray($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/UserResource.php",
    "content": "<?php\n\nnamespace Crater\\Http\\Resources;\n\nuse Illuminate\\Http\\Resources\\Json\\JsonResource;\n\nclass UserResource extends JsonResource\n{\n    /**\n     * Transform the resource into an array.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return array\n     */\n    public function toArray($request)\n    {\n        return [\n            'id' => $this->id,\n            'name' => $this->name,\n            'email' => $this->email,\n            'phone' => $this->phone,\n            'role' => $this->role,\n            'contact_name' => $this->contact_name,\n            'company_name' => $this->company_name,\n            'website' => $this->website,\n            'enable_portal' => $this->enable_portal,\n            'currency_id' => $this->currency_id,\n            'facebook_id' => $this->facebook_id,\n            'google_id' => $this->google_id,\n            'github_id' => $this->github_id,\n            'created_at' => $this->created_at,\n            'updated_at' => $this->updated_at,\n            'avatar' => $this->avatar,\n            'is_owner' => $this->isOwner(),\n            'roles' => $this->roles,\n            'formatted_created_at' => $this->formattedCreatedAt,\n            'currency' => $this->when($this->currency()->exists(), function () {\n                return new CurrencyResource($this->currency);\n            }),\n            'companies' => $this->when($this->companies()->exists(), function () {\n                return CompanyResource::collection($this->companies);\n            })\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Jobs/CreateBackupJob.php",
    "content": "<?php\n\nnamespace Crater\\Jobs;\n\nuse Crater\\Models\\FileDisk;\nuse Illuminate\\Bus\\Queueable;\nuse Illuminate\\Contracts\\Queue\\ShouldQueue;\nuse Illuminate\\Foundation\\Bus\\Dispatchable;\nuse Illuminate\\Queue\\InteractsWithQueue;\nuse Illuminate\\Queue\\SerializesModels;\nuse Spatie\\Backup\\Tasks\\Backup\\BackupJobFactory;\n\nclass CreateBackupJob implements ShouldQueue\n{\n    use Dispatchable;\n    use InteractsWithQueue;\n    use Queueable;\n    use SerializesModels;\n\n    protected $data;\n\n    /**\n     * Create a new job instance.\n     *\n     * @return void\n     */\n    public function __construct($data = '')\n    {\n        $this->data = $data;\n    }\n\n    /**\n     * Execute the job.\n     *\n     * @return void\n     */\n    public function handle()\n    {\n        $fileDisk = FileDisk::find($this->data['file_disk_id']);\n        $fileDisk->setConfig();\n\n        $prefix = env('DYNAMIC_DISK_PREFIX', 'temp_');\n\n        config(['backup.backup.destination.disks' => [$prefix.$fileDisk->driver]]);\n\n        $backupJob = BackupJobFactory::createFromArray(config('backup'));\n\n        if ($this->data['option'] === 'only-db') {\n            $backupJob->dontBackupFilesystem();\n        }\n\n        if ($this->data['option'] === 'only-files') {\n            $backupJob->dontBackupDatabases();\n        }\n\n        if (! empty($this->data['option'])) {\n            $prefix = str_replace('_', '-', $this->data['option']).'-';\n\n            $backupJob->setFilename($prefix.date('Y-m-d-H-i-s').'.zip');\n        }\n\n        $backupJob->run();\n    }\n}\n"
  },
  {
    "path": "app/Jobs/GenerateEstimatePdfJob.php",
    "content": "<?php\n\nnamespace Crater\\Jobs;\n\nuse Illuminate\\Bus\\Queueable;\nuse Illuminate\\Contracts\\Queue\\ShouldQueue;\nuse Illuminate\\Foundation\\Bus\\Dispatchable;\nuse Illuminate\\Queue\\InteractsWithQueue;\nuse Illuminate\\Queue\\SerializesModels;\n\nclass GenerateEstimatePdfJob implements ShouldQueue\n{\n    use Dispatchable;\n    use InteractsWithQueue;\n    use Queueable;\n    use SerializesModels;\n\n    public $estimate;\n\n    public $deleteExistingFile;\n\n    /**\n     * Create a new job instance.\n     *\n     * @return void\n     */\n    public function __construct($estimate, $deleteExistingFile = false)\n    {\n        $this->estimate = $estimate;\n        $this->deleteExistingFile = $deleteExistingFile;\n    }\n\n    /**\n     * Execute the job.\n     *\n     * @return void\n     */\n    public function handle()\n    {\n        $this->estimate->generatePDF('estimate', $this->estimate->estimate_number, $this->deleteExistingFile);\n\n        return 0;\n    }\n}\n"
  },
  {
    "path": "app/Jobs/GenerateInvoicePdfJob.php",
    "content": "<?php\n\nnamespace Crater\\Jobs;\n\nuse Illuminate\\Bus\\Queueable;\nuse Illuminate\\Contracts\\Queue\\ShouldQueue;\nuse Illuminate\\Foundation\\Bus\\Dispatchable;\nuse Illuminate\\Queue\\InteractsWithQueue;\nuse Illuminate\\Queue\\SerializesModels;\n\nclass GenerateInvoicePdfJob implements ShouldQueue\n{\n    use Dispatchable;\n    use InteractsWithQueue;\n    use Queueable;\n    use SerializesModels;\n\n    public $invoice;\n\n    public $deleteExistingFile;\n\n    /**\n     * Create a new job instance.\n     *\n     * @return void\n     */\n    public function __construct($invoice, $deleteExistingFile = false)\n    {\n        $this->invoice = $invoice;\n        $this->deleteExistingFile = $deleteExistingFile;\n    }\n\n    /**\n     * Execute the job.\n     *\n     * @return void\n     */\n    public function handle()\n    {\n        $this->invoice->generatePDF('invoice', $this->invoice->invoice_number, $this->deleteExistingFile);\n\n        return 0;\n    }\n}\n"
  },
  {
    "path": "app/Jobs/GeneratePaymentPdfJob.php",
    "content": "<?php\n\nnamespace Crater\\Jobs;\n\nuse Illuminate\\Bus\\Queueable;\nuse Illuminate\\Contracts\\Queue\\ShouldQueue;\nuse Illuminate\\Foundation\\Bus\\Dispatchable;\nuse Illuminate\\Queue\\InteractsWithQueue;\nuse Illuminate\\Queue\\SerializesModels;\n\nclass GeneratePaymentPdfJob implements ShouldQueue\n{\n    use Dispatchable;\n    use InteractsWithQueue;\n    use Queueable;\n    use SerializesModels;\n\n    public $payment;\n\n    public $deleteExistingFile;\n\n    /**\n     * Create a new job instance.\n     *\n     * @return void\n     */\n    public function __construct($payment, $deleteExistingFile = false)\n    {\n        $this->payment = $payment;\n        $this->deleteExistingFile = $deleteExistingFile;\n    }\n\n    /**\n     * Execute the job.\n     *\n     * @return void\n     */\n    public function handle()\n    {\n        $this->payment->generatePDF('payment', $this->payment->payment_number, $this->deleteExistingFile);\n\n        return 0;\n    }\n}\n"
  },
  {
    "path": "app/Listeners/Updates/Listener.php",
    "content": "<?php\n\nnamespace Crater\\Listeners\\Updates;\n\n// Implementation taken from Akaunting - https://github.com/akaunting/akaunting\nclass Listener\n{\n    public const VERSION = '';\n\n    /**\n     * Check if should listen.\n     *\n     * @param  $event\n     * @return bool\n     */\n    protected function isListenerFired($event)\n    {\n        // Do not apply to the same or newer versions\n        if (version_compare(static::VERSION, $event->old, '<=')) {\n            return true;\n        }\n\n        return false;\n    }\n}\n"
  },
  {
    "path": "app/Listeners/Updates/v1/Version110.php",
    "content": "<?php\n\nnamespace Crater\\Listeners\\Updates\\v1;\n\nuse Crater\\Events\\UpdateFinished;\nuse Crater\\Listeners\\Updates\\Listener;\nuse Crater\\Models\\Currency;\nuse Crater\\Models\\Setting;\n\nclass Version110 extends Listener\n{\n    public const VERSION = '1.1.0';\n\n    /**\n     * Create the event listener.\n     *\n     * @return void\n     */\n    public function __construct()\n    {\n        //\n    }\n\n    /**\n     * Handle the event.\n     *\n     * @param  object  $event\n     * @return void\n     */\n    public function handle(UpdateFinished $event)\n    {\n        if ($this->isListenerFired($event)) {\n            return;\n        }\n\n        // Add currencies\n        $this->addCurrencies();\n\n        // Update Crater app version\n        Setting::setSetting('version', static::VERSION);\n    }\n\n    private function addCurrencies()\n    {\n        $currencies = [\n            '13' => [\n                'symbol' => 'S$',\n            ],\n            '16' => [\n                'symbol' => '₫',\n            ],\n            '17' => [\n                'symbol' => 'Fr.',\n            ],\n            '21' => [\n                'symbol' => '฿',\n            ],\n            '22' => [\n                'symbol' => '₦',\n            ],\n            '26' => [\n                'symbol' => 'HK$',\n            ],\n            '35' => [\n                'symbol' => 'NAƒ',\n            ],\n            '38' => [\n                'symbol' => 'GH₵',\n            ],\n            '39' => [\n                'symbol' => 'Лв.',\n            ],\n            '42' => [\n                'symbol' => 'RON',\n            ],\n            '44' => [\n                'symbol' => 'SِAR',\n            ],\n            '46' => [\n                'symbol' => 'Rf',\n            ],\n            '47' => [\n                'symbol' => '₡',\n            ],\n            '54' => [\n                'symbol' => '‎د.ت',\n            ],\n            '55' => [\n                'symbol' => '₽',\n            ],\n            '57' => [\n                'symbol' => 'ر.ع.',\n            ],\n            '58' => [\n                'symbol' => '₴',\n            ],\n\n        ];\n\n        foreach ($currencies as $key => $currency) {\n            Currency::updateOrCreate(['id' => $key], $currency);\n        }\n\n        Currency::create([\n            'name' => 'Kuwaiti Dinar',\n            'code' => 'KWD',\n            'symbol' => 'KWD ',\n            'precision' => '3',\n            'thousand_separator' => ',',\n            'decimal_separator' => '.',\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Listeners/Updates/v2/Version200.php",
    "content": "<?php\n\nnamespace Crater\\Listeners\\Updates\\v2;\n\nuse Crater\\Events\\UpdateFinished;\nuse Crater\\Listeners\\Updates\\Listener;\nuse Crater\\Models\\Setting;\nuse Illuminate\\Database\\Schema\\Blueprint;\n\nclass Version200 extends Listener\n{\n    public const VERSION = '2.0.0';\n\n    /**\n     * Create the event listener.\n     *\n     * @return void\n     */\n    public function __construct()\n    {\n        //\n    }\n\n    /**\n     * Handle the event.\n     *\n     * @param  object  $event\n     * @return void\n     */\n    public function handle(UpdateFinished $event)\n    {\n        if ($this->isListenerFired($event)) {\n            return;\n        }\n\n        // Replace state and city id to name\n        $this->replaceStateAndCityName();\n\n        // Drop states and cities foreign key\n        $this->dropForeignKey();\n\n        // Remove states and cities tables\n        $this->dropSchemas();\n\n        // Delete state & city models, migrations & seeders\n        $this->deleteFiles();\n\n        // Update Crater app version\n        $this->updateVersion();\n    }\n\n    private function replaceStateAndCityName()\n    {\n        \\Schema::table('addresses', function (Blueprint $table) {\n            $table->string('state')->nullable();\n            $table->string('city')->nullable();\n        });\n\n        $addresses = \\Crater\\Models\\Address::all();\n        foreach ($addresses as $add) {\n            $city = \\Crater\\City::find($add->city_id);\n            if ($city) {\n                $add->city = $city->name;\n            }\n\n            $state = \\Crater\\State::find($add->state_id);\n            if ($state) {\n                $add->state = $state->name;\n            }\n\n            $add->save();\n        }\n    }\n\n    private function dropForeignKey()\n    {\n        \\Schema::table('addresses', function (Blueprint $table) {\n            $table->dropForeign('addresses_state_id_foreign');\n            $table->dropForeign('addresses_city_id_foreign');\n            $table->dropColumn('state_id');\n            $table->dropColumn('city_id');\n        });\n    }\n\n    private function dropSchemas()\n    {\n        \\Schema::disableForeignKeyConstraints();\n\n        \\Schema::dropIfExists('states');\n        \\Schema::dropIfExists('cities');\n\n        \\Schema::enableForeignKeyConstraints();\n    }\n\n    private function deleteFiles()\n    {\n        \\File::delete(\n            database_path('migrations/2017_05_06_172817_create_cities_table.php'),\n            database_path('migrations/2017_05_06_173711_create_states_table.php'),\n            database_path('seeds/StatesTableSeeder.php'),\n            database_path('seeds/CitiesTableSeeder.php'),\n            app_path('City.php'),\n            app_path('State.php')\n        );\n    }\n\n    private function updateVersion()\n    {\n        Setting::setSetting('version', static::VERSION);\n    }\n}\n"
  },
  {
    "path": "app/Listeners/Updates/v2/Version201.php",
    "content": "<?php\n\nnamespace Crater\\Listeners\\Updates\\v2;\n\nuse Crater\\Events\\UpdateFinished;\nuse Crater\\Listeners\\Updates\\Listener;\nuse Crater\\Models\\Setting;\nuse Illuminate\\Database\\Schema\\Blueprint;\n\nclass Version201 extends Listener\n{\n    public const VERSION = '2.0.1';\n\n    /**\n     * Create the event listener.\n     *\n     * @return void\n     */\n    public function __construct()\n    {\n        //\n    }\n\n    /**\n     * Handle the event.\n     *\n     * @param  object  $event\n     * @return void\n     */\n    public function handle(UpdateFinished $event)\n    {\n        if ($this->isListenerFired($event)) {\n            return;\n        }\n\n        // Remove the language files\n        $this->removeLanguageFiles();\n\n        // Change estimate & invoice migrations\n        $this->changeMigrations();\n\n        // Update Crater app version\n        Setting::setSetting('version', static::VERSION);\n    }\n\n    private function removeLanguageFiles()\n    {\n        $en = resource_path('assets/js/plugins/en.js');\n        $es = resource_path('assets/js/plugins/es.js');\n        $fr = resource_path('assets/js/plugins/fr.js');\n\n        if (file_exists($en)) {\n            unlink($en);\n        }\n\n        if (file_exists($es)) {\n            unlink($es);\n        }\n\n        if (file_exists($fr)) {\n            unlink($fr);\n        }\n    }\n\n    private function changeMigrations()\n    {\n        \\Schema::table('invoices', function (Blueprint $table) {\n            $table->decimal('discount', 15, 2)->nullable()->change();\n        });\n\n        \\Schema::table('estimates', function (Blueprint $table) {\n            $table->decimal('discount', 15, 2)->nullable()->change();\n        });\n\n        \\Schema::table('invoice_items', function (Blueprint $table) {\n            $table->decimal('quantity', 15, 2)->change();\n            $table->decimal('discount', 15, 2)->nullable()->change();\n        });\n\n        \\Schema::table('estimate_items', function (Blueprint $table) {\n            $table->decimal('quantity', 15, 2)->change();\n            $table->decimal('discount', 15, 2)->nullable()->change();\n            $table->unsignedBigInteger('discount_val')->nullable()->change();\n        });\n    }\n}\n"
  },
  {
    "path": "app/Listeners/Updates/v2/Version202.php",
    "content": "<?php\n\nnamespace Crater\\Listeners\\Updates\\v2;\n\nuse Crater\\Events\\UpdateFinished;\nuse Crater\\Listeners\\Updates\\Listener;\nuse Crater\\Models\\Setting;\n\nclass Version202 extends Listener\n{\n    public const VERSION = '2.0.2';\n\n    /**\n     * Create the event listener.\n     *\n     * @return void\n     */\n    public function __construct()\n    {\n        //\n    }\n\n    /**\n     * Handle the event.\n     *\n     * @param  object  $event\n     * @return void\n     */\n    public function handle(UpdateFinished $event)\n    {\n        if ($this->isListenerFired($event)) {\n            return;\n        }\n\n        // Update Crater app version\n        Setting::setSetting('version', static::VERSION);\n    }\n}\n"
  },
  {
    "path": "app/Listeners/Updates/v2/Version210.php",
    "content": "<?php\n\nnamespace Crater\\Listeners\\Updates\\v2;\n\nuse Crater\\Events\\UpdateFinished;\nuse Crater\\Listeners\\Updates\\Listener;\nuse Crater\\Models\\CompanySetting;\nuse Crater\\Models\\Setting;\n\nclass Version210 extends Listener\n{\n    public const VERSION = '2.1.0';\n\n    /**\n     * Create the event listener.\n     *\n     * @return void\n     */\n    public function __construct()\n    {\n        //\n    }\n\n    /**\n     * Handle the event.\n     *\n     * @param  object  $event\n     * @return void\n     */\n    public function handle(UpdateFinished $event)\n    {\n        if ($this->isListenerFired($event)) {\n            return;\n        }\n\n        // Add initial auto generate value\n        $this->addAutoGenerateSettings();\n\n        // Update Crater app version\n        Setting::setSetting('version', static::VERSION);\n    }\n\n    private function addAutoGenerateSettings()\n    {\n        $settings = [\n            'invoice_auto_generate' => 'YES',\n            'invoice_prefix' => 'INV',\n            'estimate_prefix' => 'EST',\n            'estimate_auto_generate' => 'YES',\n            'payment_prefix' => 'PAY',\n            'payment_auto_generate' => 'YES',\n        ];\n\n        foreach ($settings as $key => $value) {\n            CompanySetting::setSetting(\n                $key,\n                $value,\n                auth()->user()->company->id\n            );\n        }\n    }\n}\n"
  },
  {
    "path": "app/Listeners/Updates/v3/Version300.php",
    "content": "<?php\n\nnamespace Crater\\Listeners\\Updates\\v3;\n\nuse Crater\\Listeners\\Updates\\Listener;\nuse Crater\\Models\\Currency;\nuse Crater\\Models\\Item;\nuse Crater\\Models\\Payment;\nuse Crater\\Models\\PaymentMethod;\nuse Crater\\Models\\Setting;\nuse Crater\\Models\\Unit;\nuse Crater\\Models\\User;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Vinkla\\Hashids\\Facades\\Hashids;\n\nclass Version300 extends Listener\n{\n    public const VERSION = '3.0.0';\n\n    /**\n     * Create the event listener.\n     *\n     * @return void\n     */\n    public function __construct()\n    {\n        //\n    }\n\n    /**\n     * Handle the event.\n     *\n     * @param  object  $event\n     * @return void\n     */\n    public function handle($event)\n    {\n        if ($this->isListenerFired($event)) {\n            return;\n        }\n\n        $this->changeMigrations();\n\n        $this->addSeederData();\n\n        $this->databaseChanges();\n\n        $this->changeMigrations(true);\n\n        Setting::setSetting('version', static::VERSION);\n    }\n\n    public function changeMigrations($removeColumn = false)\n    {\n        if ($removeColumn) {\n            \\Schema::table('items', function (Blueprint $table) {\n                $table->dropColumn('unit');\n            });\n\n            \\Schema::table('payments', function (Blueprint $table) {\n                $table->dropColumn('payment_mode');\n            });\n\n            return true;\n        }\n\n        \\Schema::create('units', function (Blueprint $table) {\n            $table->increments('id');\n            $table->string('name');\n            $table->integer('company_id')->unsigned()->nullable();\n            $table->foreign('company_id')->references('id')->on('companies');\n            $table->timestamps();\n        });\n\n        \\Schema::table('items', function (Blueprint $table) {\n            $table->integer('unit_id')->unsigned()->nullable();\n            $table->foreign('unit_id')->references('id')->on('units')->onDelete('cascade');\n        });\n\n        \\Schema::create('payment_methods', function (Blueprint $table) {\n            $table->increments('id');\n            $table->string('name');\n            $table->integer('company_id')->unsigned()->nullable();\n            $table->foreign('company_id')->references('id')->on('companies');\n            $table->timestamps();\n        });\n\n        \\Schema::table('payments', function (Blueprint $table) {\n            $table->string('unique_hash')->nullable();\n            $table->integer('payment_method_id')->unsigned()->nullable();\n            $table->foreign('payment_method_id')->references('id')->on('payment_methods')->onDelete('cascade');\n        });\n\n        return true;\n    }\n\n    public function addSeederData()\n    {\n        $company_id = User::where('role', 'admin')->first()->company_id;\n\n        Unit::create(['name' => 'box', 'company_id' => $company_id]);\n        Unit::create(['name' => 'cm', 'company_id' => $company_id]);\n        Unit::create(['name' => 'dz', 'company_id' => $company_id]);\n        Unit::create(['name' => 'ft', 'company_id' => $company_id]);\n        Unit::create(['name' => 'g', 'company_id' => $company_id]);\n        Unit::create(['name' => 'in', 'company_id' => $company_id]);\n        Unit::create(['name' => 'kg', 'company_id' => $company_id]);\n        Unit::create(['name' => 'km', 'company_id' => $company_id]);\n        Unit::create(['name' => 'lb', 'company_id' => $company_id]);\n        Unit::create(['name' => 'mg', 'company_id' => $company_id]);\n        Unit::create(['name' => 'pc', 'company_id' => $company_id]);\n\n        PaymentMethod::create(['name' => 'Cash', 'company_id' => $company_id]);\n        PaymentMethod::create(['name' => 'Check', 'company_id' => $company_id]);\n        PaymentMethod::create(['name' => 'Credit Card', 'company_id' => $company_id]);\n        PaymentMethod::create(['name' => 'Bank Transfer', 'company_id' => $company_id]);\n\n        Currency::create([\n            'name' => 'Serbian Dinar',\n            'code' => 'RSD',\n            'symbol' => 'RSD',\n            'precision' => '2',\n            'thousand_separator' => '.',\n            'decimal_separator' => ',',\n        ]);\n    }\n\n    public function databaseChanges()\n    {\n        $payments = Payment::all();\n\n        if ($payments) {\n            foreach ($payments as $payment) {\n                $payment->unique_hash = Hashids::connection(Payment::class)->encode($payment->id);\n                $payment->save();\n\n                $paymentMethod = PaymentMethod::where('name', $payment->payment_mode)\n                    ->first();\n\n                if ($paymentMethod) {\n                    $payment->payment_method_id = $paymentMethod->id;\n                    $payment->save();\n                }\n            }\n        }\n\n        $items = Item::all();\n\n        if ($items) {\n            foreach ($items as $item) {\n                $unit = Unit::where('name', $item->unit)\n                    ->first();\n\n                if ($unit) {\n                    $item->unit_id = $unit->id;\n                    $item->save();\n                }\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "app/Listeners/Updates/v3/Version310.php",
    "content": "<?php\n\nnamespace Crater\\Listeners\\Updates\\v3;\n\nuse Artisan;\nuse Crater\\Events\\UpdateFinished;\nuse Crater\\Listeners\\Updates\\Listener;\nuse Crater\\Models\\Currency;\nuse Crater\\Models\\Setting;\n\nclass Version310 extends Listener\n{\n    public const VERSION = '3.1.0';\n\n    /**\n     * Handle the event.\n     *\n     * @param UpdateFinished $event\n     * @return void\n     */\n    public function handle(UpdateFinished $event)\n    {\n        if ($this->isListenerFired($event)) {\n            return;\n        }\n\n        Currency::firstOrCreate(\n            [\n                'name' => 'Kyrgyzstani som',\n                'code' => 'KGS',\n            ],\n            [\n                'name' => 'Kyrgyzstani som',\n                'code' => 'KGS',\n                'symbol' => 'С̲ ',\n                'precision' => '2',\n                'thousand_separator' => '.',\n                'decimal_separator' => ',',\n            ]\n        );\n\n        Artisan::call('migrate', ['--force' => true]);\n\n        // Update Crater app version\n        Setting::setSetting('version', static::VERSION);\n    }\n}\n"
  },
  {
    "path": "app/Listeners/Updates/v3/Version311.php",
    "content": "<?php\n\nnamespace Crater\\Listeners\\Updates\\v3;\n\nuse Artisan;\nuse Crater\\Events\\UpdateFinished;\nuse Crater\\Listeners\\Updates\\Listener;\nuse Crater\\Models\\Setting;\n\nclass Version311 extends Listener\n{\n    public const VERSION = '3.1.1';\n\n    /**\n     * Handle the event.\n     *\n     * @param UpdateFinished $event\n     * @return void\n     */\n    public function handle(UpdateFinished $event)\n    {\n        if ($this->isListenerFired($event)) {\n            return;\n        }\n\n        Artisan::call('migrate', ['--force' => true]);\n\n        // Update Crater app version\n        Setting::setSetting('version', static::VERSION);\n    }\n}\n"
  },
  {
    "path": "app/Mail/EstimateViewedMail.php",
    "content": "<?php\n\nnamespace Crater\\Mail;\n\nuse Illuminate\\Bus\\Queueable;\nuse Illuminate\\Mail\\Mailable;\nuse Illuminate\\Queue\\SerializesModels;\n\nclass EstimateViewedMail extends Mailable\n{\n    use Queueable;\n    use SerializesModels;\n\n    public $data;\n\n    /**\n     * Create a new message instance.\n     *\n     * @return void\n     */\n    public function __construct($data)\n    {\n        $this->data = $data;\n    }\n\n    /**\n     * Build the message.\n     *\n     * @return $this\n     */\n    public function build()\n    {\n        return $this->from(config('mail.from.address'), config('mail.from.name'))\n                    ->markdown('emails.viewed.estimate', ['data', $this->data]);\n    }\n}\n"
  },
  {
    "path": "app/Mail/InvoiceViewedMail.php",
    "content": "<?php\n\nnamespace Crater\\Mail;\n\nuse Illuminate\\Bus\\Queueable;\nuse Illuminate\\Mail\\Mailable;\nuse Illuminate\\Queue\\SerializesModels;\n\nclass InvoiceViewedMail extends Mailable\n{\n    use Queueable;\n    use SerializesModels;\n\n    public $data;\n\n    /**\n     * Create a new message instance.\n     *\n     * @return void\n     */\n    public function __construct($data)\n    {\n        $this->data = $data;\n    }\n\n    /**\n     * Build the message.\n     *\n     * @return $this\n     */\n    public function build()\n    {\n        return $this->from(config('mail.from.address'), config('mail.from.name'))\n                    ->markdown('emails.viewed.invoice', ['data', $this->data]);\n    }\n}\n"
  },
  {
    "path": "app/Mail/SendEstimateMail.php",
    "content": "<?php\n\nnamespace Crater\\Mail;\n\nuse Crater\\Models\\EmailLog;\nuse Crater\\Models\\Estimate;\nuse Illuminate\\Bus\\Queueable;\nuse Illuminate\\Mail\\Mailable;\nuse Illuminate\\Queue\\SerializesModels;\nuse Vinkla\\Hashids\\Facades\\Hashids;\n\nclass SendEstimateMail extends Mailable\n{\n    use Queueable;\n    use SerializesModels;\n\n    public $data = [];\n\n    /**\n     * Create a new message instance.\n     *\n     * @return void\n     */\n    public function __construct($data)\n    {\n        $this->data = $data;\n    }\n\n    /**\n     * Build the message.\n     *\n     * @return $this\n     */\n    public function build()\n    {\n        $log = EmailLog::create([\n            'from' => $this->data['from'],\n            'to' => $this->data['to'],\n            'subject' => $this->data['subject'],\n            'body' => $this->data['body'],\n            'mailable_type' => Estimate::class,\n            'mailable_id' => $this->data['estimate']['id'],\n        ]);\n\n        $log->token = Hashids::connection(EmailLog::class)->encode($log->id);\n        $log->save();\n\n        $this->data['url'] = route('estimate', ['email_log' => $log->token]);\n\n        $mailContent = $this->from($this->data['from'], config('mail.from.name'))\n                    ->subject($this->data['subject'])\n                    ->markdown('emails.send.estimate', ['data', $this->data]);\n\n        if ($this->data['attach']['data']) {\n            $mailContent->attachData(\n                $this->data['attach']['data']->output(),\n                $this->data['estimate']['estimate_number'].'.pdf'\n            );\n        }\n\n        return $mailContent;\n    }\n}\n"
  },
  {
    "path": "app/Mail/SendInvoiceMail.php",
    "content": "<?php\n\nnamespace Crater\\Mail;\n\nuse Crater\\Models\\EmailLog;\nuse Crater\\Models\\Invoice;\nuse Illuminate\\Bus\\Queueable;\nuse Illuminate\\Mail\\Mailable;\nuse Illuminate\\Queue\\SerializesModels;\nuse Vinkla\\Hashids\\Facades\\Hashids;\n\nclass SendInvoiceMail extends Mailable\n{\n    use Queueable;\n    use SerializesModels;\n\n    public $data = [];\n\n    /**\n     * Create a new message instance.\n     *\n     * @return void\n     */\n    public function __construct($data)\n    {\n        $this->data = $data;\n    }\n\n    /**\n     * Build the message.\n     *\n     * @return $this\n     */\n    public function build()\n    {\n        $log = EmailLog::create([\n            'from' => $this->data['from'],\n            'to' => $this->data['to'],\n            'subject' => $this->data['subject'],\n            'body' => $this->data['body'],\n            'mailable_type' => Invoice::class,\n            'mailable_id' => $this->data['invoice']['id'],\n        ]);\n\n        $log->token = Hashids::connection(EmailLog::class)->encode($log->id);\n        $log->save();\n\n        $this->data['url'] = route('invoice', ['email_log' => $log->token]);\n\n        $mailContent = $this->from($this->data['from'], config('mail.from.name'))\n            ->subject($this->data['subject'])\n            ->markdown('emails.send.invoice', ['data', $this->data]);\n\n        if ($this->data['attach']['data']) {\n            $mailContent->attachData(\n                $this->data['attach']['data']->output(),\n                $this->data['invoice']['invoice_number'].'.pdf'\n            );\n        }\n\n        return $mailContent;\n    }\n}\n"
  },
  {
    "path": "app/Mail/SendPaymentMail.php",
    "content": "<?php\n\nnamespace Crater\\Mail;\n\nuse Crater\\Models\\EmailLog;\nuse Crater\\Models\\Payment;\nuse Illuminate\\Bus\\Queueable;\nuse Illuminate\\Mail\\Mailable;\nuse Illuminate\\Queue\\SerializesModels;\nuse Vinkla\\Hashids\\Facades\\Hashids;\n\nclass SendPaymentMail extends Mailable\n{\n    use Queueable;\n    use SerializesModels;\n\n    public $data = [];\n\n    /**\n     * Create a new message instance.\n     *\n     * @return void\n     */\n    public function __construct($data)\n    {\n        $this->data = $data;\n    }\n\n    /**\n     * Build the message.\n     *\n     * @return $this\n     */\n    public function build()\n    {\n        $log = EmailLog::create([\n            'from' => $this->data['from'],\n            'to' => $this->data['to'],\n            'subject' => $this->data['subject'],\n            'body' => $this->data['body'],\n            'mailable_type' => Payment::class,\n            'mailable_id' => $this->data['payment']['id'],\n        ]);\n\n        $log->token = Hashids::connection(EmailLog::class)->encode($log->id);\n        $log->save();\n\n        $this->data['url'] = route('payment', ['email_log' => $log->token]);\n\n        $mailContent = $this->from($this->data['from'], config('mail.from.name'))\n                    ->subject($this->data['subject'])\n                    ->markdown('emails.send.payment', ['data', $this->data]);\n\n        if ($this->data['attach']['data']) {\n            $mailContent->attachData(\n                $this->data['attach']['data']->output(),\n                $this->data['payment']['payment_number'].'.pdf'\n            );\n        }\n\n        return $mailContent;\n    }\n}\n"
  },
  {
    "path": "app/Mail/TestMail.php",
    "content": "<?php\n\nnamespace Crater\\Mail;\n\nuse Illuminate\\Bus\\Queueable;\nuse Illuminate\\Mail\\Mailable;\nuse Illuminate\\Queue\\SerializesModels;\n\nclass TestMail extends Mailable\n{\n    use Queueable;\n    use SerializesModels;\n\n    public $subject;\n\n    public $message;\n\n    /**\n     * Create a new message instance.\n     *\n     * @param $subject\n     * @param $message\n     */\n    public function __construct($subject, $message)\n    {\n        $this->subject = $subject;\n        $this->message = $message;\n    }\n\n    /**\n     * Build the message.\n     *\n     * @return $this\n     */\n    public function build()\n    {\n        return $this->subject($this->subject)->markdown('emails.test')->with([\n            'my_message' => $this->message,\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Models/Address.php",
    "content": "<?php\n\nnamespace Crater\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Factories\\HasFactory;\nuse Illuminate\\Database\\Eloquent\\Model;\n\nclass Address extends Model\n{\n    use HasFactory;\n    public const BILLING_TYPE = 'billing';\n    public const SHIPPING_TYPE = 'shipping';\n\n    protected $guarded = ['id'];\n\n    public function getCountryNameAttribute()\n    {\n        $name = $this->country ? $this->country->name : null;\n\n        return $name;\n    }\n\n    public function user()\n    {\n        return $this->belongsTo(User::class);\n    }\n\n    public function customer()\n    {\n        return $this->belongsTo(Customer::class);\n    }\n\n    public function company()\n    {\n        return $this->belongsTo(Company::class);\n    }\n\n    public function country()\n    {\n        return $this->belongsTo(Country::class);\n    }\n}\n"
  },
  {
    "path": "app/Models/Company.php",
    "content": "<?php\n\nnamespace Crater\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Factories\\HasFactory;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Silber\\Bouncer\\BouncerFacade;\nuse Silber\\Bouncer\\Database\\Role;\nuse Spatie\\MediaLibrary\\HasMedia;\nuse Spatie\\MediaLibrary\\InteractsWithMedia;\n\nclass Company extends Model implements HasMedia\n{\n    use InteractsWithMedia;\n\n    use HasFactory;\n\n    protected $guarded = [\n        'id'\n    ];\n\n    public const COMPANY_LEVEL = 'company_level';\n    public const CUSTOMER_LEVEL = 'customer_level';\n\n    protected $appends = ['logo', 'logo_path'];\n\n    public function getRolesAttribute()\n    {\n        return Role::where('scope', $this->id)\n            ->get();\n    }\n\n    public function getLogoPathAttribute()\n    {\n        $logo = $this->getMedia('logo')->first();\n\n        $isSystem = FileDisk::whereSetAsDefault(true)->first()->isSystem();\n\n        if ($logo) {\n            if ($isSystem) {\n                return $logo->getPath();\n            } else {\n                return $logo->getFullUrl();\n            }\n        }\n\n        return null;\n    }\n\n    public function getLogoAttribute()\n    {\n        $logo = $this->getMedia('logo')->first();\n\n        if ($logo) {\n            return $logo->getFullUrl();\n        }\n\n        return null;\n    }\n\n    public function customers()\n    {\n        return $this->hasMany(Customer::class);\n    }\n\n    public function owner()\n    {\n        return $this->belongsTo(User::class, 'owner_id');\n    }\n\n    public function settings()\n    {\n        return $this->hasMany(CompanySetting::class);\n    }\n\n    public function recurringInvoices()\n    {\n        return $this->hasMany(RecurringInvoice::class);\n    }\n\n    public function customFields()\n    {\n        return $this->hasMany(CustomField::class);\n    }\n\n    public function customFieldValues()\n    {\n        return $this->hasMany(CustomFieldValue::class);\n    }\n\n    public function exchangeRateLogs()\n    {\n        return $this->hasMany(ExchangeRateLog::class);\n    }\n\n    public function exchangeRateProviders()\n    {\n        return $this->hasMany(ExchangeRateProvider::class);\n    }\n\n    public function invoices()\n    {\n        return $this->hasMany(Invoice::class);\n    }\n\n    public function expenses()\n    {\n        return $this->hasMany(Expense::class);\n    }\n\n    public function units()\n    {\n        return $this->hasMany(Unit::class);\n    }\n\n    public function expenseCategories()\n    {\n        return $this->hasMany(ExpenseCategory::class);\n    }\n\n    public function taxTypes()\n    {\n        return $this->hasMany(TaxType::class);\n    }\n\n    public function items()\n    {\n        return $this->hasMany(Item::class);\n    }\n\n    public function payments()\n    {\n        return $this->hasMany(Payment::class);\n    }\n\n    public function paymentMethods()\n    {\n        return $this->hasMany(PaymentMethod::class);\n    }\n\n    public function estimates()\n    {\n        return $this->hasMany(Estimate::class);\n    }\n\n    public function address()\n    {\n        return $this->hasOne(Address::class);\n    }\n\n    public function users()\n    {\n        return $this->belongsToMany(User::class, 'user_company', 'company_id', 'user_id');\n    }\n\n    public function setupRoles()\n    {\n        BouncerFacade::scope()->to($this->id);\n\n        $super_admin = BouncerFacade::role()->firstOrCreate([\n            'name' => 'super admin',\n            'title' => 'Super Admin',\n            'scope' => $this->id\n        ]);\n\n        foreach (config('abilities.abilities') as $ability) {\n            BouncerFacade::allow($super_admin)->to($ability['ability'], $ability['model']);\n        }\n    }\n\n    public function setupDefaultPaymentMethods()\n    {\n        PaymentMethod::create(['name' => 'Cash', 'company_id' => $this->id]);\n        PaymentMethod::create(['name' => 'Check', 'company_id' => $this->id]);\n        PaymentMethod::create(['name' => 'Credit Card', 'company_id' => $this->id]);\n        PaymentMethod::create(['name' => 'Bank Transfer', 'company_id' => $this->id]);\n    }\n\n    public function setupDefaultUnits()\n    {\n        Unit::create(['name' => 'box', 'company_id' => $this->id]);\n        Unit::create(['name' => 'cm', 'company_id' => $this->id]);\n        Unit::create(['name' => 'dz', 'company_id' => $this->id]);\n        Unit::create(['name' => 'ft', 'company_id' => $this->id]);\n        Unit::create(['name' => 'g', 'company_id' => $this->id]);\n        Unit::create(['name' => 'in', 'company_id' => $this->id]);\n        Unit::create(['name' => 'kg', 'company_id' => $this->id]);\n        Unit::create(['name' => 'km', 'company_id' => $this->id]);\n        Unit::create(['name' => 'lb', 'company_id' => $this->id]);\n        Unit::create(['name' => 'mg', 'company_id' => $this->id]);\n        Unit::create(['name' => 'pc', 'company_id' => $this->id]);\n    }\n\n    public function setupDefaultSettings()\n    {\n        $defaultInvoiceEmailBody = 'You have received a new invoice from <b>{COMPANY_NAME}</b>.</br> Please download using the button below:';\n        $defaultEstimateEmailBody = 'You have received a new estimate from <b>{COMPANY_NAME}</b>.</br> Please download using the button below:';\n        $defaultPaymentEmailBody = 'Thank you for the payment.</b></br> Please download your payment receipt using the button below:';\n        $billingAddressFormat = '<h3>{BILLING_ADDRESS_NAME}</h3><p>{BILLING_ADDRESS_STREET_1}</p><p>{BILLING_ADDRESS_STREET_2}</p><p>{BILLING_CITY}  {BILLING_STATE}</p><p>{BILLING_COUNTRY}  {BILLING_ZIP_CODE}</p><p>{BILLING_PHONE}</p>';\n        $shippingAddressFormat = '<h3>{SHIPPING_ADDRESS_NAME}</h3><p>{SHIPPING_ADDRESS_STREET_1}</p><p>{SHIPPING_ADDRESS_STREET_2}</p><p>{SHIPPING_CITY}  {SHIPPING_STATE}</p><p>{SHIPPING_COUNTRY}  {SHIPPING_ZIP_CODE}</p><p>{SHIPPING_PHONE}</p>';\n        $companyAddressFormat = '<h3><strong>{COMPANY_NAME}</strong></h3><p>{COMPANY_ADDRESS_STREET_1}</p><p>{COMPANY_ADDRESS_STREET_2}</p><p>{COMPANY_CITY} {COMPANY_STATE}</p><p>{COMPANY_COUNTRY}  {COMPANY_ZIP_CODE}</p><p>{COMPANY_PHONE}</p>';\n        $paymentFromCustomerAddress = '<h3>{BILLING_ADDRESS_NAME}</h3><p>{BILLING_ADDRESS_STREET_1}</p><p>{BILLING_ADDRESS_STREET_2}</p><p>{BILLING_CITY} {BILLING_STATE} {BILLING_ZIP_CODE}</p><p>{BILLING_COUNTRY}</p><p>{BILLING_PHONE}</p>';\n\n        $settings = [\n            'invoice_auto_generate' => 'YES',\n            'payment_auto_generate' => 'YES',\n            'estimate_auto_generate' => 'YES',\n            'save_pdf_to_disk' => 'NO',\n            'invoice_mail_body' => $defaultInvoiceEmailBody,\n            'estimate_mail_body' => $defaultEstimateEmailBody,\n            'payment_mail_body' => $defaultPaymentEmailBody,\n            'invoice_company_address_format' => $companyAddressFormat,\n            'invoice_shipping_address_format' => $shippingAddressFormat,\n            'invoice_billing_address_format' => $billingAddressFormat,\n            'estimate_company_address_format' => $companyAddressFormat,\n            'estimate_shipping_address_format' => $shippingAddressFormat,\n            'estimate_billing_address_format' => $billingAddressFormat,\n            'payment_company_address_format' => $companyAddressFormat,\n            'payment_from_customer_address_format' => $paymentFromCustomerAddress,\n            'currency' => request()->currency ?? 13,\n            'time_zone' => 'Asia/Kolkata',\n            'language' => 'en',\n            'fiscal_year' => '1-12',\n            'carbon_date_format' => 'Y/m/d',\n            'moment_date_format' => 'YYYY/MM/DD',\n            'notification_email' => 'noreply@crater.in',\n            'notify_invoice_viewed' => 'NO',\n            'notify_estimate_viewed' => 'NO',\n            'tax_per_item' => 'NO',\n            'discount_per_item' => 'NO',\n            'invoice_auto_generate' => 'YES',\n            'invoice_email_attachment' => 'NO',\n            'estimate_auto_generate' => 'YES',\n            'estimate_email_attachment' => 'NO',\n            'payment_auto_generate' => 'YES',\n            'payment_email_attachment' => 'NO',\n            'save_pdf_to_disk' => 'NO',\n            'retrospective_edits' => 'allow',\n            'invoice_number_format' => '{{SERIES:INV}}{{DELIMITER:-}}{{SEQUENCE:6}}',\n            'estimate_number_format' => '{{SERIES:EST}}{{DELIMITER:-}}{{SEQUENCE:6}}',\n            'payment_number_format' => '{{SERIES:PAY}}{{DELIMITER:-}}{{SEQUENCE:6}}',\n            'estimate_set_expiry_date_automatically' => 'YES',\n            'estimate_expiry_date_days' => 7,\n            'invoice_set_due_date_automatically' => 'YES',\n            'invoice_due_date_days' => 7,\n            'bulk_exchange_rate_configured' => 'YES',\n            'estimate_convert_action' => 'no_action',\n            'automatically_expire_public_links' => 'YES',\n            'link_expiry_days' => 7,\n        ];\n\n        CompanySetting::setSettings($settings, $this->id);\n    }\n\n    public function setupDefaultData()\n    {\n        $this->setupRoles();\n        $this->setupDefaultPaymentMethods();\n        $this->setupDefaultUnits();\n        $this->setupDefaultSettings();\n\n        return true;\n    }\n\n    public function deleteCompany($user)\n    {\n        if ($this->exchangeRateLogs()->exists()) {\n            $this->exchangeRateLogs()->delete();\n        }\n\n        if ($this->exchangeRateProviders()->exists()) {\n            $this->exchangeRateProviders()->delete();\n        }\n\n        if ($this->expenses()->exists()) {\n            $this->expenses()->delete();\n        }\n\n        if ($this->expenseCategories()->exists()) {\n            $this->expenseCategories()->delete();\n        }\n\n        if ($this->payments()->exists()) {\n            $this->payments()->delete();\n        }\n\n        if ($this->paymentMethods()->exists()) {\n            $this->paymentMethods()->delete();\n        }\n\n        if ($this->customFieldValues()->exists()) {\n            $this->customFieldValues()->delete();\n        }\n\n\n        if ($this->customFields()->exists()) {\n            $this->customFields()->delete();\n        }\n\n        if ($this->invoices()->exists()) {\n            $this->invoices->map(function ($invoice) {\n                $this->checkModelData($invoice);\n\n                if ($invoice->transactions()->exists()) {\n                    $invoice->transactions()->delete();\n                }\n            });\n\n            $this->invoices()->delete();\n        }\n\n        if ($this->recurringInvoices()->exists()) {\n            $this->recurringInvoices->map(function ($recurringInvoice) {\n                $this->checkModelData($recurringInvoice);\n            });\n\n            $this->recurringInvoices()->delete();\n        }\n\n        if ($this->estimates()->exists()) {\n            $this->estimates->map(function ($estimate) {\n                $this->checkModelData($estimate);\n            });\n\n            $this->estimates()->delete();\n        }\n\n        if ($this->items()->exists()) {\n            $this->items()->delete();\n        }\n\n        if ($this->taxTypes()->exists()) {\n            $this->taxTypes()->delete();\n        }\n\n        if ($this->customers()->exists()) {\n            $this->customers->map(function ($customer) {\n                if ($customer->addresses()->exists()) {\n                    $customer->addresses()->delete();\n                }\n\n                $customer->delete();\n            });\n        }\n\n        $roles = Role::when($this->id, function ($query) {\n            return $query->where('scope', $this->id);\n        })->get();\n\n        if ($roles) {\n            $roles->map(function ($role) {\n                $role->delete();\n            });\n        }\n\n        if ($this->users()->exists()) {\n            $user->companies()->detach($this->id);\n        }\n\n        $this->settings()->delete();\n\n        $this->address()->delete();\n\n        $this->delete();\n\n        return true;\n    }\n\n    public function checkModelData($model)\n    {\n        $model->items->map(function ($item) {\n            if ($item->taxes()->exists()) {\n                $item->taxes()->delete();\n            }\n\n            $item->delete();\n        });\n\n        if ($model->taxes()->exists()) {\n            $model->taxes()->delete();\n        }\n    }\n\n    public function hasTransactions()\n    {\n        if (\n            $this->customers()->exists() ||\n            $this->items()->exists() ||\n            $this->invoices()->exists() ||\n            $this->estimates()->exists() ||\n            $this->expenses()->exists() ||\n            $this->payments()->exists() ||\n            $this->recurringInvoices()->exists()\n        ) {\n            return true;\n        }\n\n        return false;\n    }\n}\n"
  },
  {
    "path": "app/Models/CompanySetting.php",
    "content": "<?php\n\nnamespace Crater\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Factories\\HasFactory;\nuse Illuminate\\Database\\Eloquent\\Model;\n\nclass CompanySetting extends Model\n{\n    use HasFactory;\n\n    protected $fillable = ['company_id', 'option', 'value'];\n\n    public function company()\n    {\n        return $this->belongsTo(Company::class);\n    }\n\n    public function scopeWhereCompany($query, $company_id)\n    {\n        $query->where('company_id', $company_id);\n    }\n\n    public static function setSettings($settings, $company_id)\n    {\n        foreach ($settings as $key => $value) {\n            self::updateOrCreate(\n                [\n                    'option' => $key,\n                    'company_id' => $company_id,\n                ],\n                [\n                    'option' => $key,\n                    'company_id' => $company_id,\n                    'value' => $value,\n                ]\n            );\n        }\n    }\n\n    public static function getAllSettings($company_id)\n    {\n        return static::whereCompany($company_id)->get()->mapWithKeys(function ($item) {\n            return [$item['option'] => $item['value']];\n        });\n    }\n\n    public static function getSettings($settings, $company_id)\n    {\n        return static::whereIn('option', $settings)->whereCompany($company_id)\n            ->get()->mapWithKeys(function ($item) {\n                return [$item['option'] => $item['value']];\n            });\n    }\n\n    public static function getSetting($key, $company_id)\n    {\n        $setting = static::whereOption($key)->whereCompany($company_id)->first();\n\n        if ($setting) {\n            return $setting->value;\n        } else {\n            return null;\n        }\n    }\n}\n"
  },
  {
    "path": "app/Models/Country.php",
    "content": "<?php\n\nnamespace Crater\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Factories\\HasFactory;\nuse Illuminate\\Database\\Eloquent\\Model;\n\nclass Country extends Model\n{\n    use HasFactory;\n\n    public function address()\n    {\n        return $this->hasMany(Address::class);\n    }\n}\n"
  },
  {
    "path": "app/Models/Currency.php",
    "content": "<?php\n\nnamespace Crater\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Factories\\HasFactory;\nuse Illuminate\\Database\\Eloquent\\Model;\n\nclass Currency extends Model\n{\n    use HasFactory;\n\n    protected $guarded = [\n        'id'\n    ];\n}\n"
  },
  {
    "path": "app/Models/CustomField.php",
    "content": "<?php\n\nnamespace Crater\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Factories\\HasFactory;\nuse Illuminate\\Database\\Eloquent\\Model;\n\nclass CustomField extends Model\n{\n    use HasFactory;\n\n    protected $guarded = [\n        'id',\n    ];\n\n    protected $dates = [\n        'date_answer',\n        'date_time_answer'\n    ];\n\n    protected $appends = [\n        'defaultAnswer',\n    ];\n\n    protected $casts = [\n        'options' => 'array',\n    ];\n\n    public function setTimeAnswerAttribute($value)\n    {\n        if ($value && $value != null) {\n            $this->attributes['time_answer'] = date(\"H:i:s\", strtotime($value));\n        }\n    }\n\n    public function setOptionsAttribute($value)\n    {\n        $this->attributes['options'] = json_encode($value);\n    }\n\n    public function getDefaultAnswerAttribute()\n    {\n        $value_type = getCustomFieldValueKey($this->type);\n\n        return $this->$value_type;\n    }\n\n    public function getInUseAttribute()\n    {\n        return $this->customFieldValues()->exists();\n    }\n\n    public function company()\n    {\n        return $this->belongsTo(Company::class);\n    }\n\n    public function customFieldValues()\n    {\n        return $this->hasMany(CustomFieldValue::class);\n    }\n\n    public function scopeWhereCompany($query)\n    {\n        return $query->where('custom_fields.company_id', request()->header('company'));\n    }\n\n    public function scopeWhereSearch($query, $search)\n    {\n        $query->where(function ($query) use ($search) {\n            $query->where('label', 'LIKE', '%'.$search.'%')\n                ->orWhere('name', 'LIKE', '%'.$search.'%');\n        });\n    }\n\n    public function scopePaginateData($query, $limit)\n    {\n        if ($limit == 'all') {\n            return $query->get();\n        }\n\n        return $query->paginate($limit);\n    }\n\n    public function scopeApplyFilters($query, array $filters)\n    {\n        $filters = collect($filters);\n\n        if ($filters->get('type')) {\n            $query->whereType($filters->get('type'));\n        }\n\n        if ($filters->get('search')) {\n            $query->whereSearch($filters->get('search'));\n        }\n    }\n\n    public function scopeWhereType($query, $type)\n    {\n        $query->where('custom_fields.model_type', $type);\n    }\n\n    public static function createCustomField($request)\n    {\n        $data = $request->validated();\n        $data[getCustomFieldValueKey($request->type)] = $request->default_answer;\n        $data['company_id'] = $request->header('company');\n        $data['slug'] = clean_slug($request->model_type, $request->name);\n\n        return CustomField::create($data);\n    }\n\n    public function updateCustomField($request)\n    {\n        $data = $request->validated();\n        $data[getCustomFieldValueKey($request->type)] = $request->default_answer;\n        $this->update($data);\n\n        return $this;\n    }\n}\n"
  },
  {
    "path": "app/Models/CustomFieldValue.php",
    "content": "<?php\n\nnamespace Crater\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Factories\\HasFactory;\nuse Illuminate\\Database\\Eloquent\\Model;\n\nclass CustomFieldValue extends Model\n{\n    use HasFactory;\n\n    protected $dates = [\n        'date_answer',\n        'date_time_answer'\n    ];\n\n    protected $guarded = [\n        'id',\n    ];\n\n    protected $appends = [\n        'defaultAnswer',\n    ];\n\n    public function setTimeAnswerAttribute($value)\n    {\n        if ($value && $value != null) {\n            $this->attributes['time_answer'] = date(\"H:i:s\", strtotime($value));\n        } else {\n            $this->attributes['time_answer'] = null;\n        }\n    }\n\n    public function getDefaultAnswerAttribute()\n    {\n        $value_type = getCustomFieldValueKey($this->type);\n\n        return $this->$value_type;\n    }\n\n    public function company()\n    {\n        return $this->belongsTo(Company::class);\n    }\n\n    public function customField()\n    {\n        return $this->belongsTo(CustomField::class);\n    }\n\n    public function customFieldValuable()\n    {\n        return $this->morphTo();\n    }\n}\n"
  },
  {
    "path": "app/Models/Customer.php",
    "content": "<?php\n\nnamespace Crater\\Models;\n\nuse Carbon\\Carbon;\nuse Crater\\Notifications\\CustomerMailResetPasswordNotification;\nuse Crater\\Traits\\HasCustomFieldsTrait;\nuse Illuminate\\Database\\Eloquent\\Factories\\HasFactory;\nuse Illuminate\\Foundation\\Auth\\User as Authenticatable;\nuse Illuminate\\Notifications\\Notifiable;\nuse Laravel\\Sanctum\\HasApiTokens;\nuse Silber\\Bouncer\\Database\\HasRolesAndAbilities;\nuse Spatie\\MediaLibrary\\HasMedia;\nuse Spatie\\MediaLibrary\\InteractsWithMedia;\n\nclass Customer extends Authenticatable implements HasMedia\n{\n    use HasApiTokens;\n    use Notifiable;\n    use InteractsWithMedia;\n    use HasCustomFieldsTrait;\n    use HasFactory;\n    use HasRolesAndAbilities;\n\n    protected $guarded = [\n        'id'\n    ];\n\n    protected $hidden = [\n        'password',\n        'remember_token',\n    ];\n\n    protected $with = [\n        'currency',\n    ];\n\n    protected $appends = [\n        'formattedCreatedAt',\n        'avatar'\n    ];\n\n    protected $casts = [\n        'enable_portal' => 'boolean',\n    ];\n\n    public function getFormattedCreatedAtAttribute($value)\n    {\n        $dateFormat = CompanySetting::getSetting('carbon_date_format', $this->company_id);\n\n        return Carbon::parse($this->created_at)->format($dateFormat);\n    }\n\n    public function setPasswordAttribute($value)\n    {\n        if ($value != null) {\n            $this->attributes['password'] = bcrypt($value);\n        }\n    }\n\n    public function estimates()\n    {\n        return $this->hasMany(Estimate::class);\n    }\n\n    public function expenses()\n    {\n        return $this->hasMany(Expense::class);\n    }\n\n    public function invoices()\n    {\n        return $this->hasMany(Invoice::class);\n    }\n\n    public function payments()\n    {\n        return $this->hasMany(Payment::class);\n    }\n\n    public function addresses()\n    {\n        return $this->hasMany(Address::class);\n    }\n\n    public function recurringInvoices()\n    {\n        return $this->hasMany(RecurringInvoice::class);\n    }\n\n    public function currency()\n    {\n        return $this->belongsTo(Currency::class);\n    }\n\n    public function creator()\n    {\n        return $this->belongsTo(Customer::class, 'creator_id');\n    }\n\n    public function company()\n    {\n        return $this->belongsTo(Company::class);\n    }\n\n    public function billingAddress()\n    {\n        return $this->hasOne(Address::class)->where('type', Address::BILLING_TYPE);\n    }\n\n    public function shippingAddress()\n    {\n        return $this->hasOne(Address::class)->where('type', Address::SHIPPING_TYPE);\n    }\n\n    public function sendPasswordResetNotification($token)\n    {\n        $this->notify(new CustomerMailResetPasswordNotification($token));\n    }\n\n    public function getAvatarAttribute()\n    {\n        $avatar = $this->getMedia('customer_avatar')->first();\n\n        if ($avatar) {\n            return  asset($avatar->getUrl());\n        }\n\n        return 0;\n    }\n\n    public static function deleteCustomers($ids)\n    {\n        foreach ($ids as $id) {\n            $customer = self::find($id);\n\n            if ($customer->estimates()->exists()) {\n                $customer->estimates()->delete();\n            }\n\n            if ($customer->invoices()->exists()) {\n                $customer->invoices->map(function ($invoice) {\n                    if ($invoice->transactions()->exists()) {\n                        $invoice->transactions()->delete();\n                    }\n                    $invoice->delete();\n                });\n            }\n\n            if ($customer->payments()->exists()) {\n                $customer->payments()->delete();\n            }\n\n            if ($customer->addresses()->exists()) {\n                $customer->addresses()->delete();\n            }\n\n            if ($customer->expenses()->exists()) {\n                $customer->expenses()->delete();\n            }\n\n            if ($customer->recurringInvoices()->exists()) {\n                foreach ($customer->recurringInvoices as $recurringInvoice) {\n                    if ($recurringInvoice->items()->exists()) {\n                        $recurringInvoice->items()->delete();\n                    }\n\n                    $recurringInvoice->delete();\n                }\n            }\n\n            $customer->delete();\n        }\n\n        return true;\n    }\n\n    public static function createCustomer($request)\n    {\n        $customer = Customer::create($request->getCustomerPayload());\n\n        if ($request->shipping) {\n            if ($request->hasAddress($request->shipping)) {\n                $customer->addresses()->create($request->getShippingAddress());\n            }\n        }\n\n        if ($request->billing) {\n            if ($request->hasAddress($request->billing)) {\n                $customer->addresses()->create($request->getBillingAddress());\n            }\n        }\n\n        $customFields = $request->customFields;\n\n        if ($customFields) {\n            $customer->addCustomFields($customFields);\n        }\n\n        $customer = Customer::with('billingAddress', 'shippingAddress', 'fields')->find($customer->id);\n\n        return $customer;\n    }\n\n    public static function updateCustomer($request, $customer)\n    {\n        $condition = $customer->estimates()->exists() || $customer->invoices()->exists() || $customer->payments()->exists() || $customer->recurringInvoices()->exists();\n\n        if (($customer->currency_id !== $request->currency_id) && $condition) {\n            return 'you_cannot_edit_currency';\n        }\n\n        $customer->update($request->getCustomerPayload());\n\n        $customer->addresses()->delete();\n\n        if ($request->shipping) {\n            if ($request->hasAddress($request->shipping)) {\n                $customer->addresses()->create($request->getShippingAddress());\n            }\n        }\n\n        if ($request->billing) {\n            if ($request->hasAddress($request->billing)) {\n                $customer->addresses()->create($request->getBillingAddress());\n            }\n        }\n\n        $customFields = $request->customFields;\n\n        if ($customFields) {\n            $customer->updateCustomFields($customFields);\n        }\n\n        $customer = Customer::with('billingAddress', 'shippingAddress', 'fields')->find($customer->id);\n\n        return $customer;\n    }\n\n    public function scopePaginateData($query, $limit)\n    {\n        if ($limit == 'all') {\n            return $query->get();\n        }\n\n        return $query->paginate($limit);\n    }\n\n    public function scopeWhereCompany($query)\n    {\n        return $query->where('customers.company_id', request()->header('company'));\n    }\n\n    public function scopeWhereContactName($query, $contactName)\n    {\n        return $query->where('contact_name', 'LIKE', '%'.$contactName.'%');\n    }\n\n    public function scopeWhereDisplayName($query, $displayName)\n    {\n        return $query->where('name', 'LIKE', '%'.$displayName.'%');\n    }\n\n    public function scopeWhereOrder($query, $orderByField, $orderBy)\n    {\n        $query->orderBy($orderByField, $orderBy);\n    }\n\n    public function scopeWhereSearch($query, $search)\n    {\n        foreach (explode(' ', $search) as $term) {\n            $query->where(function ($query) use ($term) {\n                $query->where('name', 'LIKE', '%'.$term.'%')\n                    ->orWhere('email', 'LIKE', '%'.$term.'%')\n                    ->orWhere('phone', 'LIKE', '%'.$term.'%');\n            });\n        }\n    }\n\n    public function scopeWherePhone($query, $phone)\n    {\n        return $query->where('phone', 'LIKE', '%'.$phone.'%');\n    }\n\n    public function scopeWhereCustomer($query, $customer_id)\n    {\n        $query->orWhere('customers.id', $customer_id);\n    }\n\n    public function scopeApplyInvoiceFilters($query, array $filters)\n    {\n        $filters = collect($filters);\n\n        if ($filters->get('from_date') && $filters->get('to_date')) {\n            $start = Carbon::createFromFormat('Y-m-d', $filters->get('from_date'));\n            $end = Carbon::createFromFormat('Y-m-d', $filters->get('to_date'));\n            $query->invoicesBetween($start, $end);\n        }\n    }\n\n    public function scopeInvoicesBetween($query, $start, $end)\n    {\n        $query->whereHas('invoices', function ($query) use ($start, $end) {\n            $query->whereBetween(\n                'invoice_date',\n                [$start->format('Y-m-d'), $end->format('Y-m-d')]\n            );\n        });\n    }\n\n    public function scopeApplyFilters($query, array $filters)\n    {\n        $filters = collect($filters);\n\n        if ($filters->get('search')) {\n            $query->whereSearch($filters->get('search'));\n        }\n\n        if ($filters->get('contact_name')) {\n            $query->whereContactName($filters->get('contact_name'));\n        }\n\n        if ($filters->get('display_name')) {\n            $query->whereDisplayName($filters->get('display_name'));\n        }\n\n        if ($filters->get('customer_id')) {\n            $query->whereCustomer($filters->get('customer_id'));\n        }\n\n        if ($filters->get('phone')) {\n            $query->wherePhone($filters->get('phone'));\n        }\n\n        if ($filters->get('orderByField') || $filters->get('orderBy')) {\n            $field = $filters->get('orderByField') ? $filters->get('orderByField') : 'name';\n            $orderBy = $filters->get('orderBy') ? $filters->get('orderBy') : 'asc';\n            $query->whereOrder($field, $orderBy);\n        }\n    }\n}\n"
  },
  {
    "path": "app/Models/EmailLog.php",
    "content": "<?php\n\nnamespace Crater\\Models;\n\nuse Carbon\\Carbon;\nuse Illuminate\\Database\\Eloquent\\Factories\\HasFactory;\nuse Illuminate\\Database\\Eloquent\\Model;\n\nclass EmailLog extends Model\n{\n    use HasFactory;\n\n    protected $guarded = ['id'];\n\n    public function mailable()\n    {\n        return $this->morphTo();\n    }\n\n    public function isExpired()\n    {\n        $linkexpiryDays = CompanySetting::getSetting('link_expiry_days', $this->mailable()->get()->toArray()[0]['company_id']);\n        $checkExpiryLinks = CompanySetting::getSetting('automatically_expire_public_links', $this->mailable()->get()->toArray()[0]['company_id']);\n\n        $expiryDate = $this->created_at->addDays($linkexpiryDays);\n\n        if ($checkExpiryLinks == 'YES' && Carbon::now()->format('Y-m-d') > $expiryDate->format('Y-m-d')) {\n            return true;\n        }\n\n        return false;\n    }\n}\n"
  },
  {
    "path": "app/Models/Estimate.php",
    "content": "<?php\n\nnamespace Crater\\Models;\n\nuse App;\nuse Barryvdh\\DomPDF\\Facade as PDF;\nuse Carbon\\Carbon;\nuse Crater\\Mail\\SendEstimateMail;\nuse Crater\\Services\\SerialNumberFormatter;\nuse Crater\\Traits\\GeneratesPdfTrait;\nuse Crater\\Traits\\HasCustomFieldsTrait;\nuse Illuminate\\Database\\Eloquent\\Factories\\HasFactory;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Facades\\Storage;\nuse Illuminate\\Support\\Str;\nuse Spatie\\MediaLibrary\\HasMedia;\nuse Spatie\\MediaLibrary\\InteractsWithMedia;\nuse Vinkla\\Hashids\\Facades\\Hashids;\n\nclass Estimate extends Model implements HasMedia\n{\n    use HasFactory;\n    use InteractsWithMedia;\n    use GeneratesPdfTrait;\n    use HasCustomFieldsTrait;\n\n    public const STATUS_DRAFT = 'DRAFT';\n    public const STATUS_SENT = 'SENT';\n    public const STATUS_VIEWED = 'VIEWED';\n    public const STATUS_EXPIRED = 'EXPIRED';\n    public const STATUS_ACCEPTED = 'ACCEPTED';\n    public const STATUS_REJECTED = 'REJECTED';\n\n    protected $dates = [\n        'created_at',\n        'updated_at',\n        'deleted_at',\n        'estimate_date',\n        'expiry_date'\n    ];\n\n    protected $appends = [\n        'formattedExpiryDate',\n        'formattedEstimateDate',\n        'estimatePdfUrl',\n    ];\n\n    protected $guarded = ['id'];\n\n    protected $casts = [\n        'total' => 'integer',\n        'tax' => 'integer',\n        'sub_total' => 'integer',\n        'discount' => 'float',\n        'discount_val' => 'integer',\n        'exchange_rate' => 'float'\n    ];\n\n    public function getEstimatePdfUrlAttribute()\n    {\n        return url('/estimates/pdf/'.$this->unique_hash);\n    }\n\n    public function emailLogs()\n    {\n        return $this->morphMany('App\\Models\\EmailLog', 'mailable');\n    }\n\n    public function items()\n    {\n        return $this->hasMany('Crater\\Models\\EstimateItem');\n    }\n\n    public function customer()\n    {\n        return $this->belongsTo(Customer::class, 'customer_id');\n    }\n\n    public function creator()\n    {\n        return $this->belongsTo('Crater\\Models\\User', 'creator_id');\n    }\n\n    public function company()\n    {\n        return $this->belongsTo('Crater\\Models\\Company');\n    }\n\n    public function currency()\n    {\n        return $this->belongsTo(Currency::class);\n    }\n\n    public function taxes()\n    {\n        return $this->hasMany(Tax::class);\n    }\n\n    public function getFormattedExpiryDateAttribute($value)\n    {\n        $dateFormat = CompanySetting::getSetting('carbon_date_format', $this->company_id);\n\n        return Carbon::parse($this->expiry_date)->format($dateFormat);\n    }\n\n    public function getFormattedEstimateDateAttribute($value)\n    {\n        $dateFormat = CompanySetting::getSetting('carbon_date_format', $this->company_id);\n\n        return Carbon::parse($this->estimate_date)->format($dateFormat);\n    }\n\n    public function scopeEstimatesBetween($query, $start, $end)\n    {\n        return $query->whereBetween(\n            'estimates.estimate_date',\n            [$start->format('Y-m-d'), $end->format('Y-m-d')]\n        );\n    }\n\n    public function scopeWhereStatus($query, $status)\n    {\n        return $query->where('estimates.status', $status);\n    }\n\n    public function scopeWhereEstimateNumber($query, $estimateNumber)\n    {\n        return $query->where('estimates.estimate_number', 'LIKE', '%'.$estimateNumber.'%');\n    }\n\n    public function scopeWhereEstimate($query, $estimate_id)\n    {\n        $query->orWhere('id', $estimate_id);\n    }\n\n    public function scopeWhereSearch($query, $search)\n    {\n        foreach (explode(' ', $search) as $term) {\n            $query->whereHas('customer', function ($query) use ($term) {\n                $query->where('name', 'LIKE', '%'.$term.'%')\n                    ->orWhere('contact_name', 'LIKE', '%'.$term.'%')\n                    ->orWhere('company_name', 'LIKE', '%'.$term.'%');\n            });\n        }\n    }\n\n    public function scopeApplyFilters($query, array $filters)\n    {\n        $filters = collect($filters);\n\n        if ($filters->get('search')) {\n            $query->whereSearch($filters->get('search'));\n        }\n\n        if ($filters->get('estimate_number')) {\n            $query->whereEstimateNumber($filters->get('estimate_number'));\n        }\n\n        if ($filters->get('status')) {\n            $query->whereStatus($filters->get('status'));\n        }\n\n        if ($filters->get('estimate_id')) {\n            $query->whereEstimate($filters->get('estimate_id'));\n        }\n\n        if ($filters->get('from_date') && $filters->get('to_date')) {\n            $start = Carbon::createFromFormat('Y-m-d', $filters->get('from_date'));\n            $end = Carbon::createFromFormat('Y-m-d', $filters->get('to_date'));\n            $query->estimatesBetween($start, $end);\n        }\n\n        if ($filters->get('customer_id')) {\n            $query->whereCustomer($filters->get('customer_id'));\n        }\n\n        if ($filters->get('orderByField') || $filters->get('orderBy')) {\n            $field = $filters->get('orderByField') ? $filters->get('orderByField') : 'sequence_number';\n            $orderBy = $filters->get('orderBy') ? $filters->get('orderBy') : 'desc';\n            $query->whereOrder($field, $orderBy);\n        }\n    }\n\n    public function scopeWhereOrder($query, $orderByField, $orderBy)\n    {\n        $query->orderBy($orderByField, $orderBy);\n    }\n\n    public function scopeWhereCompany($query)\n    {\n        $query->where('estimates.company_id', request()->header('company'));\n    }\n\n    public function scopeWhereCustomer($query, $customer_id)\n    {\n        $query->where('estimates.customer_id', $customer_id);\n    }\n\n    public function scopePaginateData($query, $limit)\n    {\n        if ($limit == 'all') {\n            return $query->get();\n        }\n\n        return $query->paginate($limit);\n    }\n\n    public static function createEstimate($request)\n    {\n        $data = $request->getEstimatePayload();\n\n        if ($request->has('estimateSend')) {\n            $data['status'] = self::STATUS_SENT;\n        }\n\n        $estimate = self::create($data);\n        $estimate->unique_hash = Hashids::connection(Estimate::class)->encode($estimate->id);\n        $serial = (new SerialNumberFormatter())\n            ->setModel($estimate)\n            ->setCompany($estimate->company_id)\n            ->setCustomer($estimate->customer_id)\n            ->setNextNumbers();\n\n        $estimate->sequence_number = $serial->nextSequenceNumber;\n        $estimate->customer_sequence_number = $serial->nextCustomerSequenceNumber;\n        $estimate->save();\n\n        $company_currency = CompanySetting::getSetting('currency', $request->header('company'));\n\n        if ((string)$data['currency_id'] !== $company_currency) {\n            ExchangeRateLog::addExchangeRateLog($estimate);\n        }\n\n        self::createItems($estimate, $request, $estimate->exchange_rate);\n\n        if ($request->has('taxes') && (! empty($request->taxes))) {\n            self::createTaxes($estimate, $request, $estimate->exchange_rate);\n        }\n\n        $customFields = $request->customFields;\n\n        if ($customFields) {\n            $estimate->addCustomFields($customFields);\n        }\n\n        return $estimate;\n    }\n\n    public function updateEstimate($request)\n    {\n        $data = $request->getEstimatePayload();\n\n        $serial = (new SerialNumberFormatter())\n            ->setModel($this)\n            ->setCompany($this->company_id)\n            ->setCustomer($request->customer_id)\n            ->setModelObject($this->id)\n            ->setNextNumbers();\n\n        $data['customer_sequence_number'] = $serial->nextCustomerSequenceNumber;\n\n        $this->update($data);\n\n        $company_currency = CompanySetting::getSetting('currency', $request->header('company'));\n\n        if ((string)$data['currency_id'] !== $company_currency) {\n            ExchangeRateLog::addExchangeRateLog($this);\n        }\n\n        $this->items->map(function ($item) {\n            $fields = $item->fields()->get();\n\n            $fields->map(function ($field) {\n                $field->delete();\n            });\n        });\n\n        $this->items()->delete();\n        $this->taxes()->delete();\n\n        self::createItems($this, $request, $this->exchange_rate);\n\n        if ($request->has('taxes') && (! empty($request->taxes))) {\n            self::createTaxes($this, $request, $this->exchange_rate);\n        }\n\n        if ($request->customFields) {\n            $this->updateCustomFields($request->customFields);\n        }\n\n        return Estimate::with([\n                'items.taxes',\n                'items.fields',\n                'items.fields.customField',\n                'customer',\n                'taxes'\n            ])\n            ->find($this->id);\n    }\n\n    public static function createItems($estimate, $request, $exchange_rate)\n    {\n        $estimateItems = $request->items;\n\n        foreach ($estimateItems as $estimateItem) {\n            $estimateItem['company_id'] = $request->header('company');\n            $estimateItem['exchange_rate'] = $exchange_rate;\n            $estimateItem['base_price'] = $estimateItem['price'] * $exchange_rate;\n            $estimateItem['base_discount_val'] = $estimateItem['discount_val'] * $exchange_rate;\n            $estimateItem['base_tax'] = $estimate['tax'] * $exchange_rate;\n            $estimateItem['base_total'] = $estimateItem['total'] * $exchange_rate;\n\n            $item = $estimate->items()->create($estimateItem);\n\n            if (array_key_exists('taxes', $estimateItem) && $estimateItem['taxes']) {\n                foreach ($estimateItem['taxes'] as $tax) {\n                    if (gettype($tax['amount']) !== \"NULL\") {\n                        $tax['company_id'] = $request->header('company');\n                        $item->taxes()->create($tax);\n                    }\n                }\n            }\n\n            if (array_key_exists('custom_fields', $estimateItem) && $estimateItem['custom_fields']) {\n                $item->addCustomFields($estimateItem['custom_fields']);\n            }\n        }\n    }\n\n    public static function createTaxes($estimate, $request, $exchange_rate)\n    {\n        $estimateTaxes = $request->taxes;\n\n        foreach ($estimateTaxes as $tax) {\n            if (gettype($tax['amount']) !== \"NULL\") {\n                $tax['company_id'] = $request->header('company');\n                $tax['exchange_rate'] = $exchange_rate;\n                $tax['base_amount'] = $tax['amount'] * $exchange_rate;\n                $tax['currency_id'] = $estimate->currency_id;\n\n                $estimate->taxes()->create($tax);\n            }\n        }\n    }\n\n    public function sendEstimateData($data)\n    {\n        $data['estimate'] = $this->toArray();\n        $data['user'] = $this->customer->toArray();\n        $data['company'] = $this->company->toArray();\n        $data['body'] = $this->getEmailBody($data['body']);\n        $data['attach']['data'] = ($this->getEmailAttachmentSetting()) ? $this->getPDFData() : null;\n\n        return $data;\n    }\n\n    public function send($data)\n    {\n        $data = $this->sendEstimateData($data);\n\n        if ($this->status == Estimate::STATUS_DRAFT) {\n            $this->status = Estimate::STATUS_SENT;\n            $this->save();\n        }\n\n        \\Mail::to($data['to'])->send(new SendEstimateMail($data));\n\n        return [\n            'success' => true,\n            'type' => 'send',\n        ];\n    }\n\n    public function getPDFData()\n    {\n        $taxes = collect();\n\n        if ($this->tax_per_item === 'YES') {\n            foreach ($this->items as $item) {\n                foreach ($item->taxes as $tax) {\n                    $found = $taxes->filter(function ($item) use ($tax) {\n                        return $item->tax_type_id == $tax->tax_type_id;\n                    })->first();\n\n                    if ($found) {\n                        $found->amount += $tax->amount;\n                    } else {\n                        $taxes->push($tax);\n                    }\n                }\n            }\n        }\n\n        $estimateTemplate = self::find($this->id)->template_name;\n\n        $company = Company::find($this->company_id);\n        $locale = CompanySetting::getSetting('language', $company->id);\n        $customFields = CustomField::where('model_type', 'Item')->get();\n\n        App::setLocale($locale);\n\n        $logo = $company->logo_path;\n\n        view()->share([\n            'estimate' => $this,\n            'customFields' => $customFields,\n            'logo' => $logo ?? null,\n            'company_address' => $this->getCompanyAddress(),\n            'shipping_address' => $this->getCustomerShippingAddress(),\n            'billing_address' => $this->getCustomerBillingAddress(),\n            'notes' => $this->getNotes(),\n            'taxes' => $taxes,\n        ]);\n\n        if (request()->has('preview')) {\n            return view('app.pdf.estimate.'.$estimateTemplate);\n        }\n\n        return PDF::loadView('app.pdf.estimate.'.$estimateTemplate);\n    }\n\n    public function getCompanyAddress()\n    {\n        if ($this->company && (! $this->company->address()->exists())) {\n            return false;\n        }\n\n        $format = CompanySetting::getSetting('estimate_company_address_format', $this->company_id);\n\n        return $this->getFormattedString($format);\n    }\n\n    public function getCustomerShippingAddress()\n    {\n        if ($this->customer && (! $this->customer->shippingAddress()->exists())) {\n            return false;\n        }\n\n        $format = CompanySetting::getSetting('estimate_shipping_address_format', $this->company_id);\n\n        return $this->getFormattedString($format);\n    }\n\n    public function getCustomerBillingAddress()\n    {\n        if ($this->customer && (! $this->customer->billingAddress()->exists())) {\n            return false;\n        }\n\n        $format = CompanySetting::getSetting('estimate_billing_address_format', $this->company_id);\n\n        return $this->getFormattedString($format);\n    }\n\n    public function getNotes()\n    {\n        return $this->getFormattedString($this->notes);\n    }\n\n    public function getEmailAttachmentSetting()\n    {\n        $estimateAsAttachment = CompanySetting::getSetting('estimate_email_attachment', $this->company_id);\n\n        if ($estimateAsAttachment == 'NO') {\n            return false;\n        }\n\n        return true;\n    }\n\n    public function getEmailBody($body)\n    {\n        $values = array_merge($this->getFieldsArray(), $this->getExtraFields());\n\n        $body = strtr($body, $values);\n\n        return preg_replace('/{(.*?)}/', '', $body);\n    }\n\n    public function getExtraFields()\n    {\n        return [\n            '{ESTIMATE_DATE}' => $this->formattedEstimateDate,\n            '{ESTIMATE_EXPIRY_DATE}' => $this->formattedExpiryDate,\n            '{ESTIMATE_NUMBER}' => $this->estimate_number,\n            '{ESTIMATE_REF_NUMBER}' => $this->reference_number,\n        ];\n    }\n\n    public static function estimateTemplates()\n    {\n        $templates = Storage::disk('views')->files('/app/pdf/estimate');\n        $estimateTemplates = [];\n\n        foreach ($templates as $key => $template) {\n            $templateName = Str::before(basename($template), '.blade.php');\n            $estimateTemplates[$key]['name'] = $templateName;\n            $estimateTemplates[$key]['path'] = vite_asset('/img/PDF/'.$templateName.'.png');\n        }\n\n        return $estimateTemplates;\n    }\n\n    public function getInvoiceTemplateName()\n    {\n        $templateName = Str::replace('estimate', 'invoice', $this->template_name);\n\n        $name = [];\n\n        foreach (Invoice::invoiceTemplates() as $template) {\n            $name[] = $template['name'];\n        }\n\n        if (in_array($templateName, $name) == false) {\n            $templateName = 'invoice1';\n        }\n\n        return $templateName;\n    }\n\n    public function checkForEstimateConvertAction()\n    {\n        $convertEstimateAction = CompanySetting::getSetting(\n            'estimate_convert_action',\n            $this->company_id\n        );\n\n        if ($convertEstimateAction === 'delete_estimate') {\n            $this->delete();\n        }\n\n        if ($convertEstimateAction === 'mark_estimate_as_accepted') {\n            $this->status = self::STATUS_ACCEPTED;\n            $this->save();\n        }\n\n        return true;\n    }\n}\n"
  },
  {
    "path": "app/Models/EstimateItem.php",
    "content": "<?php\n\nnamespace Crater\\Models;\n\nuse Crater\\Traits\\HasCustomFieldsTrait;\nuse Illuminate\\Database\\Eloquent\\Factories\\HasFactory;\nuse Illuminate\\Database\\Eloquent\\Model;\n\nclass EstimateItem extends Model\n{\n    use HasFactory;\n    use HasCustomFieldsTrait;\n\n    protected $guarded = [\n        'id'\n    ];\n\n    protected $casts = [\n        'price' => 'integer',\n        'total' => 'integer',\n        'discount' => 'float',\n        'quantity' => 'float',\n        'discount_val' => 'integer',\n        'tax' => 'integer',\n    ];\n\n    public function estimate()\n    {\n        return $this->belongsTo(Estimate::class);\n    }\n\n    public function item()\n    {\n        return $this->belongsTo(Item::class);\n    }\n\n    public function taxes()\n    {\n        return $this->hasMany(Tax::class);\n    }\n\n    public function scopeWhereCompany($query, $company_id)\n    {\n        $query->where('company_id', $company_id);\n    }\n}\n"
  },
  {
    "path": "app/Models/ExchangeRateLog.php",
    "content": "<?php\n\nnamespace Crater\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Factories\\HasFactory;\nuse Illuminate\\Database\\Eloquent\\Model;\n\nclass ExchangeRateLog extends Model\n{\n    use HasFactory;\n\n    protected $guarded = [\n        'id',\n    ];\n\n    protected $casts = [\n        'exchange_rate' => 'float'\n    ];\n\n    public function currency()\n    {\n        return $this->belongsTo(Currency::class);\n    }\n\n    public function company()\n    {\n        return $this->belongsTo(Company::class);\n    }\n\n    public static function addExchangeRateLog($model)\n    {\n        $data = [\n            'exchange_rate' => $model->exchange_rate,\n            'company_id' => $model->company_id,\n            'base_currency_id' => $model->currency_id,\n            'currency_id' => CompanySetting::getSetting('currency', $model->company_id),\n        ];\n\n        return self::create($data);\n    }\n}\n"
  },
  {
    "path": "app/Models/ExchangeRateProvider.php",
    "content": "<?php\n\nnamespace Crater\\Models;\n\nuse Crater\\Http\\Requests\\ExchangeRateProviderRequest;\nuse Illuminate\\Database\\Eloquent\\Factories\\HasFactory;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Facades\\Http;\n\nclass ExchangeRateProvider extends Model\n{\n    use HasFactory;\n\n    protected $guarded = [\n        'id',\n    ];\n\n    protected $casts = [\n        'currencies' => 'array',\n        'driver_config' => 'array',\n        'active' => 'boolean'\n    ];\n\n    public function company()\n    {\n        return $this->belongsTo(Company::class);\n    }\n\n    public function setCurrenciesAttribute($value)\n    {\n        $this->attributes['currencies'] = json_encode($value);\n    }\n\n    public function setDriverConfigAttribute($value)\n    {\n        $this->attributes['driver_config'] = json_encode($value);\n    }\n\n    public function scopeWhereCompany($query)\n    {\n        $query->where('exchange_rate_providers.company_id', request()->header('company'));\n    }\n\n    public static function createFromRequest(ExchangeRateProviderRequest $request)\n    {\n        $exchangeRateProvider = self::create($request->getExchangeRateProviderPayload());\n\n        return $exchangeRateProvider;\n    }\n\n    public function updateFromRequest(ExchangeRateProviderRequest $request)\n    {\n        $this->update($request->getExchangeRateProviderPayload());\n\n        return $this;\n    }\n\n    public static function checkActiveCurrencies($request)\n    {\n        $query = ExchangeRateProvider::whereJsonContains('currencies', $request->currencies)\n            ->where('active', true)\n            ->get();\n\n        return $query;\n    }\n\n    public function checkUpdateActiveCurrencies($request)\n    {\n        $query = ExchangeRateProvider::where('active', $request->active)\n            ->where('id', '<>', $this->id)\n            ->whereJsonContains('currencies', $request->currencies)\n            ->get();\n\n        return $query;\n    }\n\n    public static function checkExchangeRateProviderStatus($request)\n    {\n        switch ($request['driver']) {\n            case 'currency_freak':\n                $url = \"https://api.currencyfreaks.com/latest?apikey=\".$request['key'].\"&symbols=INR&base=USD\";\n                $response = Http::get($url)->json();\n\n                if (array_key_exists('success', $response)) {\n                    if ($response[\"success\"] == false) {\n                        return respondJson($response[\"error\"][\"message\"], $response[\"error\"][\"message\"]);\n                    }\n                }\n\n                return response()->json([\n                    'exchangeRate' => array_values($response[\"rates\"]),\n                ], 200);\n\n                break;\n\n            case 'currency_layer':\n                $url = \"http://api.currencylayer.com/live?access_key=\".$request['key'].\"&source=INR&currencies=USD\";\n                $response = Http::get($url)->json();\n\n                if (array_key_exists('success', $response)) {\n                    if ($response[\"success\"] == false) {\n                        return respondJson($response[\"error\"][\"info\"], $response[\"error\"][\"info\"]);\n                    }\n                }\n\n                return response()->json([\n                    'exchangeRate' => array_values($response['quotes']),\n                ], 200);\n\n                break;\n\n            case 'open_exchange_rate':\n                $url = \"https://openexchangerates.org/api/latest.json?app_id=\".$request['key'].\"&base=INR&symbols=USD\";\n                $response = Http::get($url)->json();\n\n                if (array_key_exists(\"error\", $response)) {\n                    return respondJson($response['message'], $response[\"description\"]);\n                }\n\n                return response()->json([\n                    'exchangeRate' => array_values($response[\"rates\"]),\n                ], 200);\n\n                break;\n\n            case 'currency_converter':\n                $url = self::getCurrencyConverterUrl($request['driver_config']);\n                $url = $url.\"/api/v7/convert?apiKey=\".$request['key'];\n\n                $query = \"INR_USD\";\n                $url = $url.\"&q={$query}\".\"&compact=y\";\n                $response = Http::get($url)->json();\n\n                return response()->json([\n                    'exchangeRate' => array_values($response[$query]),\n                ], 200);\n\n                break;\n        }\n    }\n\n    public static function getCurrencyConverterUrl($data)\n    {\n        switch ($data['type']) {\n            case 'PREMIUM':\n                return \"https://api.currconv.com\";\n\n                break;\n\n            case 'PREPAID':\n                return \"https://prepaid.currconv.com\";\n\n                break;\n\n            case 'FREE':\n                return \"https://free.currconv.com\";\n\n                break;\n\n            case 'DEDICATED':\n                return $data['url'];\n\n                break;\n        }\n    }\n}\n"
  },
  {
    "path": "app/Models/Expense.php",
    "content": "<?php\n\nnamespace Crater\\Models;\n\nuse Carbon\\Carbon;\nuse Crater\\Traits\\HasCustomFieldsTrait;\nuse Illuminate\\Database\\Eloquent\\Factories\\HasFactory;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Facades\\DB;\nuse Spatie\\MediaLibrary\\HasMedia;\nuse Spatie\\MediaLibrary\\InteractsWithMedia;\n\nclass Expense extends Model implements HasMedia\n{\n    use HasFactory;\n    use InteractsWithMedia;\n    use HasCustomFieldsTrait;\n\n    protected $dates = [\n        'expense_date',\n    ];\n\n    protected $guarded = ['id'];\n\n    protected $appends = [\n        'formattedExpenseDate',\n        'formattedCreatedAt',\n        'receipt',\n        'receiptMeta'\n    ];\n\n    protected $casts = [\n        'notes' => 'string',\n        'exchange_rate' => 'float'\n    ];\n\n    public function category()\n    {\n        return $this->belongsTo(ExpenseCategory::class, 'expense_category_id');\n    }\n\n    public function customer()\n    {\n        return $this->belongsTo(Customer::class, 'customer_id');\n    }\n\n    public function company()\n    {\n        return $this->belongsTo(Company::class, 'company_id');\n    }\n\n    public function paymentMethod()\n    {\n        return $this->belongsTo(PaymentMethod::class);\n    }\n\n    public function currency()\n    {\n        return $this->belongsTo(Currency::class, 'currency_id');\n    }\n\n    public function creator()\n    {\n        return $this->belongsTo('Crater\\Models\\User', 'creator_id');\n    }\n\n    public function getFormattedExpenseDateAttribute($value)\n    {\n        $dateFormat = CompanySetting::getSetting('carbon_date_format', $this->company_id);\n\n        return Carbon::parse($this->expense_date)->format($dateFormat);\n    }\n\n    public function getFormattedCreatedAtAttribute($value)\n    {\n        $dateFormat = CompanySetting::getSetting('carbon_date_format', $this->company_id);\n\n        return Carbon::parse($this->created_at)->format($dateFormat);\n    }\n\n    public function getReceiptUrlAttribute($value)\n    {\n        $media = $this->getFirstMedia('receipts');\n\n        if ($media) {\n            return [\n                'url' => $media->getFullUrl(),\n                'type' => $media->type\n            ];\n        }\n\n        return null;\n    }\n\n    public function getReceiptAttribute($value)\n    {\n        $media = $this->getFirstMedia('receipts');\n\n        if ($media) {\n            return $media->getPath();\n        }\n\n        return null;\n    }\n\n    public function getReceiptMetaAttribute($value)\n    {\n        $media = $this->getFirstMedia('receipts');\n\n        if ($media) {\n            return $media;\n        }\n\n        return null;\n    }\n\n    public function scopeExpensesBetween($query, $start, $end)\n    {\n        return $query->whereBetween(\n            'expenses.expense_date',\n            [$start->format('Y-m-d'), $end->format('Y-m-d')]\n        );\n    }\n\n    public function scopeWhereCategoryName($query, $search)\n    {\n        foreach (explode(' ', $search) as $term) {\n            $query->whereHas('category', function ($query) use ($term) {\n                $query->where('name', 'LIKE', '%'.$term.'%');\n            });\n        }\n    }\n\n    public function scopeWhereNotes($query, $search)\n    {\n        $query->where('notes', 'LIKE', '%'.$search.'%');\n    }\n\n    public function scopeWhereCategory($query, $categoryId)\n    {\n        return $query->where('expenses.expense_category_id', $categoryId);\n    }\n\n    public function scopeWhereUser($query, $customer_id)\n    {\n        return $query->where('expenses.customer_id', $customer_id);\n    }\n\n    public function scopeApplyFilters($query, array $filters)\n    {\n        $filters = collect($filters);\n\n        if ($filters->get('expense_category_id')) {\n            $query->whereCategory($filters->get('expense_category_id'));\n        }\n\n        if ($filters->get('customer_id')) {\n            $query->whereUser($filters->get('customer_id'));\n        }\n\n        if ($filters->get('expense_id')) {\n            $query->whereExpense($filters->get('expense_id'));\n        }\n\n        if ($filters->get('from_date') && $filters->get('to_date')) {\n            $start = Carbon::createFromFormat('Y-m-d', $filters->get('from_date'));\n            $end = Carbon::createFromFormat('Y-m-d', $filters->get('to_date'));\n            $query->expensesBetween($start, $end);\n        }\n\n        if ($filters->get('orderByField') || $filters->get('orderBy')) {\n            $field = $filters->get('orderByField') ? $filters->get('orderByField') : 'expense_date';\n            $orderBy = $filters->get('orderBy') ? $filters->get('orderBy') : 'asc';\n            $query->whereOrder($field, $orderBy);\n        }\n\n        if ($filters->get('search')) {\n            $query->whereSearch($filters->get('search'));\n        }\n    }\n\n    public function scopeWhereExpense($query, $expense_id)\n    {\n        $query->orWhere('id', $expense_id);\n    }\n\n    public function scopeWhereSearch($query, $search)\n    {\n        foreach (explode(' ', $search) as $term) {\n            $query->whereHas('category', function ($query) use ($term) {\n                $query->where('name', 'LIKE', '%'.$term.'%');\n            })\n                ->orWhere('notes', 'LIKE', '%'.$term.'%');\n        }\n    }\n\n    public function scopeWhereOrder($query, $orderByField, $orderBy)\n    {\n        $query->orderBy($orderByField, $orderBy);\n    }\n\n    public function scopeWhereCompany($query)\n    {\n        $query->where('expenses.company_id', request()->header('company'));\n    }\n\n    public function scopeWhereCompanyId($query, $company)\n    {\n        $query->where('expenses.company_id', $company);\n    }\n\n    public function scopePaginateData($query, $limit)\n    {\n        if ($limit == 'all') {\n            return $query->get();\n        }\n\n        return $query->paginate($limit);\n    }\n\n    public function scopeExpensesAttributes($query)\n    {\n        $query->select(\n            DB::raw('\n                count(*) as expenses_count,\n                sum(base_amount) as total_amount,\n                expense_category_id')\n        )\n            ->groupBy('expense_category_id');\n    }\n\n    public static function createExpense($request)\n    {\n        $expense = self::create($request->getExpensePayload());\n\n        $company_currency = CompanySetting::getSetting('currency', $request->header('company'));\n\n        if ((string)$expense['currency_id'] !== $company_currency) {\n            ExchangeRateLog::addExchangeRateLog($expense);\n        }\n\n        if ($request->hasFile('attachment_receipt')) {\n            $expense->addMediaFromRequest('attachment_receipt')->toMediaCollection('receipts');\n        }\n\n        if ($request->customFields) {\n            $expense->addCustomFields(json_decode($request->customFields));\n        }\n\n        return $expense;\n    }\n\n    public function updateExpense($request)\n    {\n        $data = $request->getExpensePayload();\n\n        $this->update($data);\n\n        $company_currency = CompanySetting::getSetting('currency', $request->header('company'));\n\n        if ((string)$data['currency_id'] !== $company_currency) {\n            ExchangeRateLog::addExchangeRateLog($this);\n        }\n\n        if (isset($request->is_attachment_receipt_removed) && (bool) $request->is_attachment_receipt_removed) {\n            $this->clearMediaCollection('receipts');\n        }\n        if ($request->hasFile('attachment_receipt')) {\n            $this->clearMediaCollection('receipts');\n            $this->addMediaFromRequest('attachment_receipt')->toMediaCollection('receipts');\n        }\n\n        if ($request->customFields) {\n            $this->updateCustomFields(json_decode($request->customFields));\n        }\n\n        return true;\n    }\n}\n"
  },
  {
    "path": "app/Models/ExpenseCategory.php",
    "content": "<?php\n\nnamespace Crater\\Models;\n\nuse Carbon\\Carbon;\nuse Illuminate\\Database\\Eloquent\\Factories\\HasFactory;\nuse Illuminate\\Database\\Eloquent\\Model;\n\nclass ExpenseCategory extends Model\n{\n    use HasFactory;\n\n    protected $fillable = ['name', 'company_id', 'description'];\n\n    /**\n     * The accessors to append to the model's array form.\n     *\n     * @var array\n     */\n    protected $appends = ['amount', 'formattedCreatedAt'];\n\n    public function expenses()\n    {\n        return $this->hasMany(Expense::class);\n    }\n\n    public function company()\n    {\n        return $this->belongsTo(Company::class);\n    }\n\n    public function getFormattedCreatedAtAttribute($value)\n    {\n        $dateFormat = CompanySetting::getSetting('carbon_date_format', $this->company_id);\n\n        return Carbon::parse($this->created_at)->format($dateFormat);\n    }\n\n    public function getAmountAttribute()\n    {\n        return $this->expenses()->sum('amount');\n    }\n\n    public function scopeWhereCompany($query)\n    {\n        $query->where('company_id', request()->header('company'));\n    }\n\n    public function scopeWhereCategory($query, $category_id)\n    {\n        $query->orWhere('id', $category_id);\n    }\n\n    public function scopeWhereSearch($query, $search)\n    {\n        $query->where('name', 'LIKE', '%'.$search.'%');\n    }\n\n    public function scopeApplyFilters($query, array $filters)\n    {\n        $filters = collect($filters);\n\n        if ($filters->get('category_id')) {\n            $query->whereCategory($filters->get('category_id'));\n        }\n\n        if ($filters->get('company_id')) {\n            $query->whereCompany($filters->get('company_id'));\n        }\n\n        if ($filters->get('search')) {\n            $query->whereSearch($filters->get('search'));\n        }\n    }\n\n    public function scopePaginateData($query, $limit)\n    {\n        if ($limit == 'all') {\n            return $query->get();\n        }\n\n        return $query->paginate($limit);\n    }\n}\n"
  },
  {
    "path": "app/Models/FileDisk.php",
    "content": "<?php\n\nnamespace Crater\\Models;\n\nuse Crater\\Carbon;\nuse Illuminate\\Database\\Eloquent\\Factories\\HasFactory;\nuse Illuminate\\Database\\Eloquent\\Model;\n\nclass FileDisk extends Model\n{\n    use HasFactory;\n    public const DISK_TYPE_SYSTEM = 'SYSTEM';\n    public const DISK_TYPE_REMOTE = 'REMOTE';\n\n    protected $guarded = [\n        'id',\n    ];\n\n    protected $casts = [\n        'set_as_default' => 'boolean',\n    ];\n\n    public function setCredentialsAttribute($value)\n    {\n        $this->attributes['credentials'] = json_encode($value);\n    }\n\n    public function scopeWhereOrder($query, $orderByField, $orderBy)\n    {\n        $query->orderBy($orderByField, $orderBy);\n    }\n\n    public function scopeFileDisksBetween($query, $start, $end)\n    {\n        return $query->whereBetween(\n            'file_disks.created_at',\n            [$start->format('Y-m-d'), $end->format('Y-m-d')]\n        );\n    }\n\n    public function scopeWhereSearch($query, $search)\n    {\n        foreach (explode(' ', $search) as $term) {\n            $query->where('name', 'LIKE', '%'.$term.'%')\n                ->orWhere('driver', 'LIKE', '%'.$term.'%');\n        }\n    }\n\n    public function scopePaginateData($query, $limit)\n    {\n        if ($limit == 'all') {\n            return $query->get();\n        }\n\n        return $query->paginate($limit);\n    }\n\n    public function scopeApplyFilters($query, array $filters)\n    {\n        $filters = collect($filters);\n        if ($filters->get('search')) {\n            $query->whereSearch($filters->get('search'));\n        }\n\n        if ($filters->get('from_date') && $filters->get('to_date')) {\n            $start = Carbon::createFromFormat('Y-m-d', $filters->get('from_date'));\n            $end = Carbon::createFromFormat('Y-m-d', $filters->get('to_date'));\n            $query->fileDisksBetween($start, $end);\n        }\n\n        if ($filters->get('orderByField') || $filters->get('orderBy')) {\n            $field = $filters->get('orderByField') ? $filters->get('orderByField') : 'sequence_number';\n            $orderBy = $filters->get('orderBy') ? $filters->get('orderBy') : 'asc';\n            $query->whereOrder($field, $orderBy);\n        }\n    }\n\n    public function setConfig()\n    {\n        $driver = $this->driver;\n\n        $credentials = collect(json_decode($this['credentials']));\n\n        self::setFilesystem($credentials, $driver);\n    }\n\n    public function setAsDefault()\n    {\n        return $this->set_as_default;\n    }\n\n    public static function setFilesystem($credentials, $driver)\n    {\n        $prefix = env('DYNAMIC_DISK_PREFIX', 'temp_');\n\n        config(['filesystems.default' => $prefix.$driver]);\n\n        $disks = config('filesystems.disks.'.$driver);\n\n        foreach ($disks as $key => $value) {\n            if ($credentials->has($key)) {\n                $disks[$key] = $credentials[$key];\n            }\n        }\n\n        config(['filesystems.disks.'.$prefix.$driver => $disks]);\n    }\n\n    public static function validateCredentials($credentials, $disk)\n    {\n        $exists = false;\n\n        self::setFilesystem(collect($credentials), $disk);\n\n        $prefix = env('DYNAMIC_DISK_PREFIX', 'temp_');\n\n        try {\n            $root = '';\n            if ($disk == 'dropbox') {\n                $root = $credentials['root'].'/';\n            }\n            \\Storage::disk($prefix.$disk)->put($root.'crater_temp.text', 'Check Credentials');\n\n            if (\\Storage::disk($prefix.$disk)->exists($root.'crater_temp.text')) {\n                $exists = true;\n                \\Storage::disk($prefix.$disk)->delete($root.'crater_temp.text');\n            }\n        } catch (\\Exception $e) {\n            $exists = false;\n        }\n\n        return $exists;\n    }\n\n    public static function createDisk($request)\n    {\n        if ($request->set_as_default) {\n            self::updateDefaultDisks();\n        }\n\n        $disk = self::create([\n            'credentials' => $request->credentials,\n            'name' => $request->name,\n            'driver' => $request->driver,\n            'set_as_default' => $request->set_as_default,\n            'company_id' => $request->header('company'),\n        ]);\n\n        return $disk;\n    }\n\n    public static function updateDefaultDisks()\n    {\n        $disks = self::get();\n\n        foreach ($disks as $disk) {\n            $disk->set_as_default = false;\n            $disk->save();\n        }\n\n        return true;\n    }\n\n    public function updateDisk($request)\n    {\n        $data = [\n            'credentials' => $request->credentials,\n            'name' => $request->name,\n            'driver' => $request->driver,\n        ];\n\n        if (! $this->setAsDefault()) {\n            if ($request->set_as_default) {\n                self::updateDefaultDisks();\n            }\n\n            $data['set_as_default'] = $request->set_as_default;\n        }\n\n        $this->update($data);\n\n        return $this;\n    }\n\n    public function setAsDefaultDisk()\n    {\n        self::updateDefaultDisks();\n\n        $this->set_as_default = true;\n        $this->save();\n\n        return $this;\n    }\n\n    public function isSystem()\n    {\n        return $this->type === self::DISK_TYPE_SYSTEM;\n    }\n\n    public function isRemote()\n    {\n        return $this->type === self::DISK_TYPE_REMOTE;\n    }\n}\n"
  },
  {
    "path": "app/Models/Invoice.php",
    "content": "<?php\n\nnamespace Crater\\Models;\n\nuse App;\nuse Barryvdh\\DomPDF\\Facade as PDF;\nuse Carbon\\Carbon;\nuse Crater\\Mail\\SendInvoiceMail;\nuse Crater\\Services\\SerialNumberFormatter;\nuse Crater\\Traits\\GeneratesPdfTrait;\nuse Crater\\Traits\\HasCustomFieldsTrait;\nuse Illuminate\\Database\\Eloquent\\Factories\\HasFactory;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Facades\\Storage;\nuse Illuminate\\Support\\Str;\nuse Nwidart\\Modules\\Facades\\Module;\nuse Spatie\\MediaLibrary\\HasMedia;\nuse Spatie\\MediaLibrary\\InteractsWithMedia;\nuse Vinkla\\Hashids\\Facades\\Hashids;\n\nclass Invoice extends Model implements HasMedia\n{\n    use HasFactory;\n    use InteractsWithMedia;\n    use GeneratesPdfTrait;\n    use HasCustomFieldsTrait;\n\n    public const STATUS_DRAFT = 'DRAFT';\n    public const STATUS_SENT = 'SENT';\n    public const STATUS_VIEWED = 'VIEWED';\n    public const STATUS_COMPLETED = 'COMPLETED';\n\n    public const STATUS_UNPAID = 'UNPAID';\n    public const STATUS_PARTIALLY_PAID = 'PARTIALLY_PAID';\n    public const STATUS_PAID = 'PAID';\n\n    protected $dates = [\n        'created_at',\n        'updated_at',\n        'deleted_at',\n        'invoice_date',\n        'due_date'\n    ];\n\n    protected $casts = [\n        'total' => 'integer',\n        'tax' => 'integer',\n        'sub_total' => 'integer',\n        'discount' => 'float',\n        'discount_val' => 'integer',\n        'exchange_rate' => 'float'\n    ];\n\n    protected $guarded = [\n        'id',\n    ];\n\n    protected $appends = [\n        'formattedCreatedAt',\n        'formattedInvoiceDate',\n        'formattedDueDate',\n        'invoicePdfUrl',\n    ];\n\n    public function transactions()\n    {\n        return $this->hasMany(Transaction::class);\n    }\n\n    public function emailLogs()\n    {\n        return $this->morphMany('App\\Models\\EmailLog', 'mailable');\n    }\n\n    public function items()\n    {\n        return $this->hasMany('Crater\\Models\\InvoiceItem');\n    }\n\n    public function taxes()\n    {\n        return $this->hasMany(Tax::class);\n    }\n\n    public function payments()\n    {\n        return $this->hasMany(Payment::class);\n    }\n\n    public function currency()\n    {\n        return $this->belongsTo(Currency::class);\n    }\n\n    public function company()\n    {\n        return $this->belongsTo(Company::class);\n    }\n\n    public function customer()\n    {\n        return $this->belongsTo(Customer::class, 'customer_id');\n    }\n\n    public function recurringInvoice()\n    {\n        return $this->belongsTo(RecurringInvoice::class);\n    }\n\n    public function creator()\n    {\n        return $this->belongsTo(User::class, 'creator_id');\n    }\n\n    public function getInvoicePdfUrlAttribute()\n    {\n        return url('/invoices/pdf/'.$this->unique_hash);\n    }\n\n    public function getPaymentModuleEnabledAttribute()\n    {\n        if (Module::has('Payments')) {\n            return Module::isEnabled('Payments');\n        }\n\n        return false;\n    }\n\n    public function getAllowEditAttribute()\n    {\n        $retrospective_edit = CompanySetting::getSetting('retrospective_edits', $this->company_id);\n\n        $allowed = true;\n\n        $status = [\n            self::STATUS_DRAFT,\n            self::STATUS_SENT,\n            self::STATUS_VIEWED,\n            self::STATUS_COMPLETED,\n        ];\n\n        if ($retrospective_edit == 'disable_on_invoice_sent' && (in_array($this->status, $status)) && ($this->paid_status === Invoice::STATUS_PARTIALLY_PAID || $this->paid_status === Invoice::STATUS_PAID)) {\n            $allowed = false;\n        } elseif ($retrospective_edit == 'disable_on_invoice_partial_paid' && ($this->paid_status === Invoice::STATUS_PARTIALLY_PAID || $this->paid_status === Invoice::STATUS_PAID)) {\n            $allowed = false;\n        } elseif ($retrospective_edit == 'disable_on_invoice_paid' && $this->paid_status === Invoice::STATUS_PAID) {\n            $allowed = false;\n        }\n\n        return $allowed;\n    }\n\n    public function getPreviousStatus()\n    {\n        if ($this->viewed) {\n            return self::STATUS_VIEWED;\n        } elseif ($this->sent) {\n            return self::STATUS_SENT;\n        } else {\n            return self::STATUS_DRAFT;\n        }\n    }\n\n    public function getFormattedNotesAttribute($value)\n    {\n        return $this->getNotes();\n    }\n\n    public function getFormattedCreatedAtAttribute($value)\n    {\n        $dateFormat = CompanySetting::getSetting('carbon_date_format', $this->company_id);\n\n        return Carbon::parse($this->created_at)->format($dateFormat);\n    }\n\n    public function getFormattedDueDateAttribute($value)\n    {\n        $dateFormat = CompanySetting::getSetting('carbon_date_format', $this->company_id);\n\n        return Carbon::parse($this->due_date)->format($dateFormat);\n    }\n\n    public function getFormattedInvoiceDateAttribute($value)\n    {\n        $dateFormat = CompanySetting::getSetting('carbon_date_format', $this->company_id);\n\n        return Carbon::parse($this->invoice_date)->format($dateFormat);\n    }\n\n    public function scopeWhereStatus($query, $status)\n    {\n        return $query->where('invoices.status', $status);\n    }\n\n    public function scopeWherePaidStatus($query, $status)\n    {\n        return $query->where('invoices.paid_status', $status);\n    }\n\n    public function scopeWhereDueStatus($query, $status)\n    {\n        return $query->whereIn('invoices.paid_status', [\n            self::STATUS_UNPAID,\n            self::STATUS_PARTIALLY_PAID,\n        ]);\n    }\n\n    public function scopeWhereInvoiceNumber($query, $invoiceNumber)\n    {\n        return $query->where('invoices.invoice_number', 'LIKE', '%'.$invoiceNumber.'%');\n    }\n\n    public function scopeInvoicesBetween($query, $start, $end)\n    {\n        return $query->whereBetween(\n            'invoices.invoice_date',\n            [$start->format('Y-m-d'), $end->format('Y-m-d')]\n        );\n    }\n\n    public function scopeWhereSearch($query, $search)\n    {\n        foreach (explode(' ', $search) as $term) {\n            $query->whereHas('customer', function ($query) use ($term) {\n                $query->where('name', 'LIKE', '%'.$term.'%')\n                    ->orWhere('contact_name', 'LIKE', '%'.$term.'%')\n                    ->orWhere('company_name', 'LIKE', '%'.$term.'%');\n            });\n        }\n    }\n\n    public function scopeWhereOrder($query, $orderByField, $orderBy)\n    {\n        $query->orderBy($orderByField, $orderBy);\n    }\n\n    public function scopeApplyFilters($query, array $filters)\n    {\n        $filters = collect($filters);\n\n        if ($filters->get('search')) {\n            $query->whereSearch($filters->get('search'));\n        }\n\n        if ($filters->get('status')) {\n            if (\n                $filters->get('status') == self::STATUS_UNPAID ||\n                $filters->get('status') == self::STATUS_PARTIALLY_PAID ||\n                $filters->get('status') == self::STATUS_PAID\n            ) {\n                $query->wherePaidStatus($filters->get('status'));\n            } elseif ($filters->get('status') == 'DUE') {\n                $query->whereDueStatus($filters->get('status'));\n            } else {\n                $query->whereStatus($filters->get('status'));\n            }\n        }\n\n        if ($filters->get('paid_status')) {\n            $query->wherePaidStatus($filters->get('status'));\n        }\n\n        if ($filters->get('invoice_id')) {\n            $query->whereInvoice($filters->get('invoice_id'));\n        }\n\n        if ($filters->get('invoice_number')) {\n            $query->whereInvoiceNumber($filters->get('invoice_number'));\n        }\n\n        if ($filters->get('from_date') && $filters->get('to_date')) {\n            $start = Carbon::createFromFormat('Y-m-d', $filters->get('from_date'));\n            $end = Carbon::createFromFormat('Y-m-d', $filters->get('to_date'));\n            $query->invoicesBetween($start, $end);\n        }\n\n        if ($filters->get('customer_id')) {\n            $query->whereCustomer($filters->get('customer_id'));\n        }\n\n        if ($filters->get('orderByField') || $filters->get('orderBy')) {\n            $field = $filters->get('orderByField') ? $filters->get('orderByField') : 'sequence_number';\n            $orderBy = $filters->get('orderBy') ? $filters->get('orderBy') : 'desc';\n            $query->whereOrder($field, $orderBy);\n        }\n    }\n\n    public function scopeWhereInvoice($query, $invoice_id)\n    {\n        $query->orWhere('id', $invoice_id);\n    }\n\n    public function scopeWhereCompany($query)\n    {\n        $query->where('invoices.company_id', request()->header('company'));\n    }\n\n    public function scopeWhereCompanyId($query, $company)\n    {\n        $query->where('invoices.company_id', $company);\n    }\n\n    public function scopeWhereCustomer($query, $customer_id)\n    {\n        $query->where('invoices.customer_id', $customer_id);\n    }\n\n    public function scopePaginateData($query, $limit)\n    {\n        if ($limit == 'all') {\n            return $query->get();\n        }\n\n        return $query->paginate($limit);\n    }\n\n    public static function createInvoice($request)\n    {\n        $data = $request->getInvoicePayload();\n\n        if ($request->has('invoiceSend')) {\n            $data['status'] = Invoice::STATUS_SENT;\n        }\n\n        $invoice = Invoice::create($data);\n\n        $serial = (new SerialNumberFormatter())\n            ->setModel($invoice)\n            ->setCompany($invoice->company_id)\n            ->setCustomer($invoice->customer_id)\n            ->setNextNumbers();\n\n        $invoice->sequence_number = $serial->nextSequenceNumber;\n        $invoice->customer_sequence_number = $serial->nextCustomerSequenceNumber;\n        $invoice->unique_hash = Hashids::connection(Invoice::class)->encode($invoice->id);\n        $invoice->save();\n\n        self::createItems($invoice, $request->items);\n\n        $company_currency = CompanySetting::getSetting('currency', $request->header('company'));\n\n        if ((string)$data['currency_id'] !== $company_currency) {\n            ExchangeRateLog::addExchangeRateLog($invoice);\n        }\n\n        if ($request->has('taxes') && (! empty($request->taxes))) {\n            self::createTaxes($invoice, $request->taxes);\n        }\n\n        if ($request->customFields) {\n            $invoice->addCustomFields($request->customFields);\n        }\n\n        $invoice = Invoice::with([\n            'items',\n            'items.fields',\n            'items.fields.customField',\n            'customer',\n            'taxes'\n        ])\n            ->find($invoice->id);\n\n        return $invoice;\n    }\n\n    public function updateInvoice($request)\n    {\n        $serial = (new SerialNumberFormatter())\n            ->setModel($this)\n            ->setCompany($this->company_id)\n            ->setCustomer($request->customer_id)\n            ->setModelObject($this->id)\n            ->setNextNumbers();\n\n        $data = $request->getInvoicePayload();\n        $oldTotal = $this->total;\n\n        $total_paid_amount = $this->total - $this->due_amount;\n\n        if ($total_paid_amount > 0 && $this->customer_id !== $request->customer_id) {\n            return 'customer_cannot_be_changed_after_payment_is_added';\n        }\n\n        if ($request->total < $total_paid_amount) {\n            return 'total_invoice_amount_must_be_more_than_paid_amount';\n        }\n\n        if ($oldTotal != $request->total) {\n            $oldTotal = (int) round($request->total) - (int) $oldTotal;\n        } else {\n            $oldTotal = 0;\n        }\n\n        $data['due_amount'] = ($this->due_amount + $oldTotal);\n        $data['base_due_amount'] = $data['due_amount'] * $data['exchange_rate'];\n        $data['customer_sequence_number'] = $serial->nextCustomerSequenceNumber;\n\n        $this->changeInvoiceStatus($data['due_amount']);\n\n        $this->update($data);\n\n        $company_currency = CompanySetting::getSetting('currency', $request->header('company'));\n\n        if ((string)$data['currency_id'] !== $company_currency) {\n            ExchangeRateLog::addExchangeRateLog($this);\n        }\n\n        $this->items->map(function ($item) {\n            $fields = $item->fields()->get();\n\n            $fields->map(function ($field) {\n                $field->delete();\n            });\n        });\n\n        $this->items()->delete();\n        $this->taxes()->delete();\n\n        self::createItems($this, $request->items);\n\n        if ($request->has('taxes') && (! empty($request->taxes))) {\n            self::createTaxes($this, $request->taxes);\n        }\n\n        if ($request->customFields) {\n            $this->updateCustomFields($request->customFields);\n        }\n\n        $invoice = Invoice::with([\n            'items',\n            'items.fields',\n            'items.fields.customField',\n            'customer',\n            'taxes'\n        ])\n            ->find($this->id);\n\n        return $invoice;\n    }\n\n    public function sendInvoiceData($data)\n    {\n        $data['invoice'] = $this->toArray();\n        $data['customer'] = $this->customer->toArray();\n        $data['company'] = Company::find($this->company_id);\n        $data['subject'] = $this->getEmailString($data['subject']);\n        $data['body'] = $this->getEmailString($data['body']);\n        $data['attach']['data'] = ($this->getEmailAttachmentSetting()) ? $this->getPDFData() : null;\n\n        return $data;\n    }\n\n    public function preview($data)\n    {\n        $data = $this->sendInvoiceData($data);\n\n        return [\n            'type' => 'preview',\n            'view' => new SendInvoiceMail($data)\n        ];\n    }\n\n    public function send($data)\n    {\n        $data = $this->sendInvoiceData($data);\n\n        \\Mail::to($data['to'])->send(new SendInvoiceMail($data));\n\n        if ($this->status == Invoice::STATUS_DRAFT) {\n            $this->status = Invoice::STATUS_SENT;\n            $this->sent = true;\n            $this->save();\n        }\n\n        return [\n            'success' => true,\n            'type' => 'send',\n        ];\n    }\n\n    public static function createItems($invoice, $invoiceItems)\n    {\n        $exchange_rate = $invoice->exchange_rate;\n\n        foreach ($invoiceItems as $invoiceItem) {\n            $invoiceItem['company_id'] = $invoice->company_id;\n            $invoiceItem['exchange_rate'] = $exchange_rate;\n            $invoiceItem['base_price'] = $invoiceItem['price'] * $exchange_rate;\n            $invoiceItem['base_discount_val'] = $invoiceItem['discount_val'] * $exchange_rate;\n            $invoiceItem['base_tax'] = $invoiceItem['tax'] * $exchange_rate;\n            $invoiceItem['base_total'] = $invoiceItem['total'] * $exchange_rate;\n\n            if (array_key_exists('recurring_invoice_id', $invoiceItem)) {\n                unset($invoiceItem['recurring_invoice_id']);\n            }\n\n            $item = $invoice->items()->create($invoiceItem);\n\n            if (array_key_exists('taxes', $invoiceItem) && $invoiceItem['taxes']) {\n                foreach ($invoiceItem['taxes'] as $tax) {\n                    $tax['company_id'] = $invoice->company_id;\n                    $tax['exchange_rate'] = $invoice->exchange_rate;\n                    $tax['base_amount'] = $tax['amount'] * $exchange_rate;\n                    $tax['currency_id'] = $invoice->currency_id;\n\n                    if (gettype($tax['amount']) !== \"NULL\") {\n                        if (array_key_exists('recurring_invoice_id', $invoiceItem)) {\n                            unset($invoiceItem['recurring_invoice_id']);\n                        }\n\n                        $item->taxes()->create($tax);\n                    }\n                }\n            }\n\n            if (array_key_exists('custom_fields', $invoiceItem) && $invoiceItem['custom_fields']) {\n                $item->addCustomFields($invoiceItem['custom_fields']);\n            }\n        }\n    }\n\n    public static function createTaxes($invoice, $taxes)\n    {\n        $exchange_rate = $invoice->exchange_rate;\n\n        foreach ($taxes as $tax) {\n            $tax['company_id'] = $invoice->company_id;\n            $tax['exchange_rate'] = $invoice->exchange_rate;\n            $tax['base_amount'] = $tax['amount'] * $exchange_rate;\n            $tax['currency_id'] = $invoice->currency_id;\n\n            if (gettype($tax['amount']) !== \"NULL\") {\n                if (array_key_exists('recurring_invoice_id', $tax)) {\n                    unset($tax['recurring_invoice_id']);\n                }\n\n                $invoice->taxes()->create($tax);\n            }\n        }\n    }\n\n    public function getPDFData()\n    {\n        $taxes = collect();\n\n        if ($this->tax_per_item === 'YES') {\n            foreach ($this->items as $item) {\n                foreach ($item->taxes as $tax) {\n                    $found = $taxes->filter(function ($item) use ($tax) {\n                        return $item->tax_type_id == $tax->tax_type_id;\n                    })->first();\n\n                    if ($found) {\n                        $found->amount += $tax->amount;\n                    } else {\n                        $taxes->push($tax);\n                    }\n                }\n            }\n        }\n\n        $invoiceTemplate = self::find($this->id)->template_name;\n\n        $company = Company::find($this->company_id);\n        $locale = CompanySetting::getSetting('language', $company->id);\n        $customFields = CustomField::where('model_type', 'Item')->get();\n\n        App::setLocale($locale);\n\n        $logo = $company->logo_path;\n\n        view()->share([\n            'invoice' => $this,\n            'customFields' => $customFields,\n            'company_address' => $this->getCompanyAddress(),\n            'shipping_address' => $this->getCustomerShippingAddress(),\n            'billing_address' => $this->getCustomerBillingAddress(),\n            'notes' => $this->getNotes(),\n            'logo' => $logo ?? null,\n            'taxes' => $taxes,\n        ]);\n\n        if (request()->has('preview')) {\n            return view('app.pdf.invoice.'.$invoiceTemplate);\n        }\n\n        return PDF::loadView('app.pdf.invoice.'.$invoiceTemplate);\n    }\n\n    public function getEmailAttachmentSetting()\n    {\n        $invoiceAsAttachment = CompanySetting::getSetting('invoice_email_attachment', $this->company_id);\n\n        if ($invoiceAsAttachment == 'NO') {\n            return false;\n        }\n\n        return true;\n    }\n\n    public function getCompanyAddress()\n    {\n        if ($this->company && (! $this->company->address()->exists())) {\n            return false;\n        }\n\n        $format = CompanySetting::getSetting('invoice_company_address_format', $this->company_id);\n\n        return $this->getFormattedString($format);\n    }\n\n    public function getCustomerShippingAddress()\n    {\n        if ($this->customer && (! $this->customer->shippingAddress()->exists())) {\n            return false;\n        }\n\n        $format = CompanySetting::getSetting('invoice_shipping_address_format', $this->company_id);\n\n        return $this->getFormattedString($format);\n    }\n\n    public function getCustomerBillingAddress()\n    {\n        if ($this->customer && (! $this->customer->billingAddress()->exists())) {\n            return false;\n        }\n\n        $format = CompanySetting::getSetting('invoice_billing_address_format', $this->company_id);\n\n        return $this->getFormattedString($format);\n    }\n\n    public function getNotes()\n    {\n        return $this->getFormattedString($this->notes);\n    }\n\n    public function getEmailString($body)\n    {\n        $values = array_merge($this->getFieldsArray(), $this->getExtraFields());\n\n        $body = strtr($body, $values);\n\n        return preg_replace('/{(.*?)}/', '', $body);\n    }\n\n    public function getExtraFields()\n    {\n        return [\n            '{INVOICE_DATE}' => $this->formattedInvoiceDate,\n            '{INVOICE_DUE_DATE}' => $this->formattedDueDate,\n            '{INVOICE_NUMBER}' => $this->invoice_number,\n            '{INVOICE_REF_NUMBER}' => $this->reference_number,\n        ];\n    }\n\n    public static function invoiceTemplates()\n    {\n        $templates = Storage::disk('views')->files('/app/pdf/invoice');\n        $invoiceTemplates = [];\n\n        foreach ($templates as $key => $template) {\n            $templateName = Str::before(basename($template), '.blade.php');\n            $invoiceTemplates[$key]['name'] = $templateName;\n            $invoiceTemplates[$key]['path'] = vite_asset('img/PDF/'.$templateName.'.png');\n        }\n\n        return $invoiceTemplates;\n    }\n\n    public function addInvoicePayment($amount)\n    {\n        $this->due_amount += $amount;\n        $this->base_due_amount = $this->due_amount * $this->exchange_rate;\n\n        $this->changeInvoiceStatus($this->due_amount);\n    }\n\n    public function subtractInvoicePayment($amount)\n    {\n        $this->due_amount -= $amount;\n        $this->base_due_amount = $this->due_amount * $this->exchange_rate;\n\n        $this->changeInvoiceStatus($this->due_amount);\n    }\n\n    public function changeInvoiceStatus($amount)\n    {\n        if ($amount < 0) {\n            return [\n                'error' => 'invalid_amount',\n            ];\n        }\n\n        if ($amount == 0) {\n            $this->status = Invoice::STATUS_COMPLETED;\n            $this->paid_status = Invoice::STATUS_PAID;\n            $this->overdue = false;\n        } elseif ($amount == $this->total) {\n            $this->status = $this->getPreviousStatus();\n            $this->paid_status = Invoice::STATUS_UNPAID;\n        } else {\n            $this->status = $this->getPreviousStatus();\n            $this->paid_status = Invoice::STATUS_PARTIALLY_PAID;\n        }\n\n        $this->save();\n    }\n\n    public static function deleteInvoices($ids)\n    {\n        foreach ($ids as $id) {\n            $invoice = self::find($id);\n\n            if ($invoice->transactions()->exists()) {\n                $invoice->transactions()->delete();\n            }\n\n            $invoice->delete();\n        }\n\n        return true;\n    }\n}\n"
  },
  {
    "path": "app/Models/InvoiceItem.php",
    "content": "<?php\n\nnamespace Crater\\Models;\n\nuse Carbon\\Carbon;\nuse Crater\\Traits\\HasCustomFieldsTrait;\nuse Illuminate\\Database\\Eloquent\\Factories\\HasFactory;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Facades\\DB;\n\nclass InvoiceItem extends Model\n{\n    use HasFactory;\n    use HasCustomFieldsTrait;\n\n    protected $guarded = [\n        'id'\n    ];\n\n    protected $casts = [\n        'price' => 'integer',\n        'total' => 'integer',\n        'discount' => 'float',\n        'quantity' => 'float',\n        'discount_val' => 'integer',\n        'tax' => 'integer',\n    ];\n\n    public function invoice()\n    {\n        return $this->belongsTo(Invoice::class);\n    }\n\n    public function item()\n    {\n        return $this->belongsTo(Item::class);\n    }\n\n    public function taxes()\n    {\n        return $this->hasMany(Tax::class);\n    }\n\n    public function recurringInvoice()\n    {\n        return $this->belongsTo(RecurringInvoice::class);\n    }\n\n    public function scopeWhereCompany($query, $company_id)\n    {\n        $query->where('company_id', $company_id);\n    }\n\n    public function scopeInvoicesBetween($query, $start, $end)\n    {\n        $query->whereHas('invoice', function ($query) use ($start, $end) {\n            $query->whereBetween(\n                'invoice_date',\n                [$start->format('Y-m-d'), $end->format('Y-m-d')]\n            );\n        });\n    }\n\n    public function scopeApplyInvoiceFilters($query, array $filters)\n    {\n        $filters = collect($filters);\n\n        if ($filters->get('from_date') && $filters->get('to_date')) {\n            $start = Carbon::createFromFormat('Y-m-d', $filters->get('from_date'));\n            $end = Carbon::createFromFormat('Y-m-d', $filters->get('to_date'));\n            $query->invoicesBetween($start, $end);\n        }\n    }\n\n    public function scopeItemAttributes($query)\n    {\n        $query->select(\n            DB::raw('sum(quantity) as total_quantity, sum(base_total) as total_amount, invoice_items.name')\n        )->groupBy('invoice_items.name');\n    }\n}\n"
  },
  {
    "path": "app/Models/Item.php",
    "content": "<?php\n\nnamespace Crater\\Models;\n\nuse Carbon\\Carbon;\nuse Illuminate\\Database\\Eloquent\\Factories\\HasFactory;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Facades\\Auth;\n\nclass Item extends Model\n{\n    use HasFactory;\n\n    protected $guarded = ['id'];\n\n    protected $casts = [\n        'price' => 'integer',\n    ];\n\n    protected $appends = [\n        'formattedCreatedAt',\n    ];\n\n    public function unit()\n    {\n        return $this->belongsTo(Unit::class, 'unit_id');\n    }\n\n    public function company()\n    {\n        return $this->belongsTo(Company::class);\n    }\n\n    public function creator()\n    {\n        return $this->belongsTo('Crater\\Models\\User', 'creator_id');\n    }\n\n    public function currency()\n    {\n        return $this->belongsTo(Currency::class);\n    }\n\n    public function scopeWhereSearch($query, $search)\n    {\n        return $query->where('items.name', 'LIKE', '%'.$search.'%');\n    }\n\n    public function scopeWherePrice($query, $price)\n    {\n        return $query->where('items.price', $price);\n    }\n\n    public function scopeWhereUnit($query, $unit_id)\n    {\n        return $query->where('items.unit_id', $unit_id);\n    }\n\n    public function scopeWhereOrder($query, $orderByField, $orderBy)\n    {\n        $query->orderBy($orderByField, $orderBy);\n    }\n\n    public function scopeWhereItem($query, $item_id)\n    {\n        $query->orWhere('id', $item_id);\n    }\n\n    public function scopeApplyFilters($query, array $filters)\n    {\n        $filters = collect($filters);\n\n        if ($filters->get('search')) {\n            $query->whereSearch($filters->get('search'));\n        }\n\n        if ($filters->get('price')) {\n            $query->wherePrice($filters->get('price'));\n        }\n\n        if ($filters->get('unit_id')) {\n            $query->whereUnit($filters->get('unit_id'));\n        }\n\n        if ($filters->get('item_id')) {\n            $query->whereItem($filters->get('item_id'));\n        }\n\n        if ($filters->get('orderByField') || $filters->get('orderBy')) {\n            $field = $filters->get('orderByField') ? $filters->get('orderByField') : 'name';\n            $orderBy = $filters->get('orderBy') ? $filters->get('orderBy') : 'asc';\n            $query->whereOrder($field, $orderBy);\n        }\n    }\n\n    public function scopePaginateData($query, $limit)\n    {\n        if ($limit == 'all') {\n            return $query->get();\n        }\n\n        return $query->paginate($limit);\n    }\n\n    public function getFormattedCreatedAtAttribute($value)\n    {\n        $dateFormat = CompanySetting::getSetting('carbon_date_format', request()->header('company'));\n\n        return Carbon::parse($this->created_at)->format($dateFormat);\n    }\n\n    public function taxes()\n    {\n        return $this->hasMany(Tax::class)\n            ->where('invoice_item_id', null)\n            ->where('estimate_item_id', null);\n    }\n\n    public function scopeWhereCompany($query)\n    {\n        $query->where('items.company_id', request()->header('company'));\n    }\n\n    public function invoiceItems()\n    {\n        return $this->hasMany(InvoiceItem::class);\n    }\n\n    public function estimateItems()\n    {\n        return $this->hasMany(EstimateItem::class);\n    }\n\n    public static function createItem($request)\n    {\n        $data = $request->validated();\n        $data['company_id'] = $request->header('company');\n        $data['creator_id'] = Auth::id();\n        $company_currency = CompanySetting::getSetting('currency', $request->header('company'));\n        $data['currency_id'] = $company_currency;\n        $item = self::create($data);\n\n        if ($request->has('taxes')) {\n            foreach ($request->taxes as $tax) {\n                $item->tax_per_item = true;\n                $item->save();\n                $tax['company_id'] = $request->header('company');\n                $item->taxes()->create($tax);\n            }\n        }\n\n        $item = self::with('taxes')->find($item->id);\n\n        return $item;\n    }\n\n    public function updateItem($request)\n    {\n        $this->update($request->validated());\n\n        $this->taxes()->delete();\n\n        if ($request->has('taxes')) {\n            foreach ($request->taxes as $tax) {\n                $this->tax_per_item = true;\n                $this->save();\n                $tax['company_id'] = $request->header('company');\n                $this->taxes()->create($tax);\n            }\n        }\n\n        return Item::with('taxes')->find($this->id);\n    }\n}\n"
  },
  {
    "path": "app/Models/Module.php",
    "content": "<?php\n\nnamespace Crater\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Factories\\HasFactory;\nuse Illuminate\\Database\\Eloquent\\Model;\n\nclass Module extends Model\n{\n    use HasFactory;\n\n    protected $guarded = ['id'];\n}\n"
  },
  {
    "path": "app/Models/Note.php",
    "content": "<?php\n\nnamespace Crater\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Factories\\HasFactory;\nuse Illuminate\\Database\\Eloquent\\Model;\n\nclass Note extends Model\n{\n    use HasFactory;\n\n    protected $guarded = ['id'];\n\n    public function company()\n    {\n        return $this->belongsTo(Company::class);\n    }\n\n    public function scopeApplyFilters($query, array $filters)\n    {\n        $filters = collect($filters);\n\n        if ($filters->get('type')) {\n            $query->whereType($filters->get('type'));\n        }\n\n        if ($filters->get('search')) {\n            $query->whereSearch($filters->get('search'));\n        }\n    }\n\n    public function scopeWhereSearch($query, $search)\n    {\n        $query->where('name', 'LIKE', '%'.$search.'%');\n    }\n\n    public function scopeWhereType($query, $type)\n    {\n        return $query->where('type', $type);\n    }\n\n    public function scopeWhereCompany($query)\n    {\n        $query->where('notes.company_id', request()->header('company'));\n    }\n}\n"
  },
  {
    "path": "app/Models/Payment.php",
    "content": "<?php\n\nnamespace Crater\\Models;\n\nuse Barryvdh\\DomPDF\\Facade as PDF;\nuse Carbon\\Carbon;\nuse Crater\\Jobs\\GeneratePaymentPdfJob;\nuse Crater\\Mail\\SendPaymentMail;\nuse Crater\\Services\\SerialNumberFormatter;\nuse Crater\\Traits\\GeneratesPdfTrait;\nuse Crater\\Traits\\HasCustomFieldsTrait;\nuse Illuminate\\Database\\Eloquent\\Factories\\HasFactory;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Spatie\\MediaLibrary\\HasMedia;\nuse Spatie\\MediaLibrary\\InteractsWithMedia;\nuse Vinkla\\Hashids\\Facades\\Hashids;\n\nclass Payment extends Model implements HasMedia\n{\n    use HasFactory;\n    use InteractsWithMedia;\n    use GeneratesPdfTrait;\n    use HasCustomFieldsTrait;\n\n    public const PAYMENT_MODE_CHECK = 'CHECK';\n    public const PAYMENT_MODE_OTHER = 'OTHER';\n    public const PAYMENT_MODE_CASH = 'CASH';\n    public const PAYMENT_MODE_CREDIT_CARD = 'CREDIT_CARD';\n    public const PAYMENT_MODE_BANK_TRANSFER = 'BANK_TRANSFER';\n\n    protected $dates = ['created_at', 'updated_at', 'payment_date'];\n\n    protected $guarded = ['id'];\n\n    protected $appends = [\n        'formattedCreatedAt',\n        'formattedPaymentDate',\n        'paymentPdfUrl',\n    ];\n\n    protected $casts = [\n        'notes' => 'string',\n        'exchange_rate' => 'float'\n    ];\n\n    protected static function booted()\n    {\n        static::created(function ($payment) {\n            GeneratePaymentPdfJob::dispatch($payment);\n        });\n\n        static::updated(function ($payment) {\n            GeneratePaymentPdfJob::dispatch($payment, true);\n        });\n    }\n\n    public function setSettingsAttribute($value)\n    {\n        if ($value) {\n            $this->attributes['settings'] = json_encode($value);\n        }\n    }\n\n    public function getFormattedCreatedAtAttribute($value)\n    {\n        $dateFormat = CompanySetting::getSetting('carbon_date_format', $this->company_id);\n\n        return Carbon::parse($this->created_at)->format($dateFormat);\n    }\n\n    public function getFormattedPaymentDateAttribute($value)\n    {\n        $dateFormat = CompanySetting::getSetting('carbon_date_format', $this->company_id);\n\n        return Carbon::parse($this->payment_date)->format($dateFormat);\n    }\n\n    public function getPaymentPdfUrlAttribute()\n    {\n        return url('/payments/pdf/'.$this->unique_hash);\n    }\n\n    public function transaction()\n    {\n        return $this->belongsTo(Transaction::class);\n    }\n\n    public function emailLogs()\n    {\n        return $this->morphMany('App\\Models\\EmailLog', 'mailable');\n    }\n\n    public function customer()\n    {\n        return $this->belongsTo(Customer::class, 'customer_id');\n    }\n\n    public function company()\n    {\n        return $this->belongsTo(Company::class);\n    }\n\n    public function invoice()\n    {\n        return $this->belongsTo(Invoice::class);\n    }\n\n    public function creator()\n    {\n        return $this->belongsTo('Crater\\Models\\User', 'creator_id');\n    }\n\n    public function currency()\n    {\n        return $this->belongsTo(Currency::class);\n    }\n\n    public function paymentMethod()\n    {\n        return $this->belongsTo(PaymentMethod::class);\n    }\n\n    public function sendPaymentData($data)\n    {\n        $data['payment'] = $this->toArray();\n        $data['user'] = $this->customer->toArray();\n        $data['company'] = Company::find($this->company_id);\n        $data['body'] = $this->getEmailBody($data['body']);\n        $data['attach']['data'] = ($this->getEmailAttachmentSetting()) ? $this->getPDFData() : null;\n\n        return $data;\n    }\n\n    public function send($data)\n    {\n        $data = $this->sendPaymentData($data);\n\n        \\Mail::to($data['to'])->send(new SendPaymentMail($data));\n\n        return [\n            'success' => true,\n        ];\n    }\n\n    public static function createPayment($request)\n    {\n        $data = $request->getPaymentPayload();\n\n        if ($request->invoice_id) {\n            $invoice = Invoice::find($request->invoice_id);\n            $invoice->subtractInvoicePayment($request->amount);\n        }\n\n        $payment = Payment::create($data);\n        $payment->unique_hash = Hashids::connection(Payment::class)->encode($payment->id);\n\n        $serial = (new SerialNumberFormatter())\n            ->setModel($payment)\n            ->setCompany($payment->company_id)\n            ->setCustomer($payment->customer_id)\n            ->setNextNumbers();\n\n        $payment->sequence_number = $serial->nextSequenceNumber;\n        $payment->customer_sequence_number = $serial->nextCustomerSequenceNumber;\n        $payment->save();\n\n        $company_currency = CompanySetting::getSetting('currency', $request->header('company'));\n\n        if ((string)$payment['currency_id'] !== $company_currency) {\n            ExchangeRateLog::addExchangeRateLog($payment);\n        }\n\n        $customFields = $request->customFields;\n\n        if ($customFields) {\n            $payment->addCustomFields($customFields);\n        }\n\n        $payment = Payment::with([\n            'customer',\n            'invoice',\n            'paymentMethod',\n            'fields'\n        ])->find($payment->id);\n\n        return $payment;\n    }\n\n    public function updatePayment($request)\n    {\n        $data = $request->getPaymentPayload();\n\n        if ($request->invoice_id && (! $this->invoice_id || $this->invoice_id !== $request->invoice_id)) {\n            $invoice = Invoice::find($request->invoice_id);\n            $invoice->subtractInvoicePayment($request->amount);\n        }\n\n        if ($this->invoice_id && (! $request->invoice_id || $this->invoice_id !== $request->invoice_id)) {\n            $invoice = Invoice::find($this->invoice_id);\n            $invoice->addInvoicePayment($this->amount);\n        }\n\n        if ($this->invoice_id && $this->invoice_id === $request->invoice_id && $request->amount !== $this->amount) {\n            $invoice = Invoice::find($this->invoice_id);\n            $invoice->addInvoicePayment($this->amount);\n            $invoice->subtractInvoicePayment($request->amount);\n        }\n\n        $serial = (new SerialNumberFormatter())\n            ->setModel($this)\n            ->setCompany($this->company_id)\n            ->setCustomer($request->customer_id)\n            ->setModelObject($this->id)\n            ->setNextNumbers();\n\n        $data['customer_sequence_number'] = $serial->nextCustomerSequenceNumber;\n        $this->update($data);\n\n        $company_currency = CompanySetting::getSetting('currency', $request->header('company'));\n\n        if ((string)$data['currency_id'] !== $company_currency) {\n            ExchangeRateLog::addExchangeRateLog($this);\n        }\n\n        $customFields = $request->customFields;\n\n        if ($customFields) {\n            $this->updateCustomFields($customFields);\n        }\n\n        $payment = Payment::with([\n            'customer',\n            'invoice',\n            'paymentMethod',\n        ])\n            ->find($this->id);\n\n        return $payment;\n    }\n\n    public static function deletePayments($ids)\n    {\n        foreach ($ids as $id) {\n            $payment = Payment::find($id);\n\n            if ($payment->invoice_id != null) {\n                $invoice = Invoice::find($payment->invoice_id);\n                $invoice->due_amount = ((int)$invoice->due_amount + (int)$payment->amount);\n\n                if ($invoice->due_amount == $invoice->total) {\n                    $invoice->paid_status = Invoice::STATUS_UNPAID;\n                } else {\n                    $invoice->paid_status = Invoice::STATUS_PARTIALLY_PAID;\n                }\n\n                $invoice->status = $invoice->getPreviousStatus();\n                $invoice->save();\n            }\n\n            $payment->delete();\n        }\n\n        return true;\n    }\n\n    public function scopeWhereSearch($query, $search)\n    {\n        foreach (explode(' ', $search) as $term) {\n            $query->whereHas('customer', function ($query) use ($term) {\n                $query->where('name', 'LIKE', '%'.$term.'%')\n                    ->orWhere('contact_name', 'LIKE', '%'.$term.'%')\n                    ->orWhere('company_name', 'LIKE', '%'.$term.'%');\n            });\n        }\n    }\n\n    public function scopePaymentNumber($query, $paymentNumber)\n    {\n        return $query->where('payments.payment_number', 'LIKE', '%'.$paymentNumber.'%');\n    }\n\n    public function scopePaymentMethod($query, $paymentMethodId)\n    {\n        return $query->where('payments.payment_method_id', $paymentMethodId);\n    }\n\n    public function scopePaginateData($query, $limit)\n    {\n        if ($limit == 'all') {\n            return $query->get();\n        }\n\n        return $query->paginate($limit);\n    }\n\n    public function scopeApplyFilters($query, array $filters)\n    {\n        $filters = collect($filters);\n\n        if ($filters->get('search')) {\n            $query->whereSearch($filters->get('search'));\n        }\n\n        if ($filters->get('payment_number')) {\n            $query->paymentNumber($filters->get('payment_number'));\n        }\n\n        if ($filters->get('payment_id')) {\n            $query->wherePayment($filters->get('payment_id'));\n        }\n\n        if ($filters->get('payment_method_id')) {\n            $query->paymentMethod($filters->get('payment_method_id'));\n        }\n\n        if ($filters->get('customer_id')) {\n            $query->whereCustomer($filters->get('customer_id'));\n        }\n\n        if ($filters->get('from_date') && $filters->get('to_date')) {\n            $start = Carbon::createFromFormat('Y-m-d', $filters->get('from_date'));\n            $end = Carbon::createFromFormat('Y-m-d', $filters->get('to_date'));\n            $query->paymentsBetween($start, $end);\n        }\n\n        if ($filters->get('orderByField') || $filters->get('orderBy')) {\n            $field = $filters->get('orderByField') ? $filters->get('orderByField') : 'sequence_number';\n            $orderBy = $filters->get('orderBy') ? $filters->get('orderBy') : 'desc';\n            $query->whereOrder($field, $orderBy);\n        }\n    }\n\n    public function scopePaymentsBetween($query, $start, $end)\n    {\n        return $query->whereBetween(\n            'payments.payment_date',\n            [$start->format('Y-m-d'), $end->format('Y-m-d')]\n        );\n    }\n\n    public function scopeWhereOrder($query, $orderByField, $orderBy)\n    {\n        $query->orderBy($orderByField, $orderBy);\n    }\n\n    public function scopeWherePayment($query, $payment_id)\n    {\n        $query->orWhere('id', $payment_id);\n    }\n\n    public function scopeWhereCompany($query)\n    {\n        $query->where('payments.company_id', request()->header('company'));\n    }\n\n    public function scopeWhereCustomer($query, $customer_id)\n    {\n        $query->where('payments.customer_id', $customer_id);\n    }\n\n    public function getPDFData()\n    {\n        $company = Company::find($this->company_id);\n        $locale = CompanySetting::getSetting('language', $company->id);\n\n        \\App::setLocale($locale);\n\n        $logo = $company->logo_path;\n\n        view()->share([\n            'payment' => $this,\n            'company_address' => $this->getCompanyAddress(),\n            'billing_address' => $this->getCustomerBillingAddress(),\n            'notes' => $this->getNotes(),\n            'logo' => $logo ?? null,\n        ]);\n\n        if (request()->has('preview')) {\n            return view('app.pdf.payment.payment');\n        }\n\n        return PDF::loadView('app.pdf.payment.payment');\n    }\n\n    public function getCompanyAddress()\n    {\n        if ($this->company && (! $this->company->address()->exists())) {\n            return false;\n        }\n\n        $format = CompanySetting::getSetting('payment_company_address_format', $this->company_id);\n\n        return $this->getFormattedString($format);\n    }\n\n    public function getCustomerBillingAddress()\n    {\n        if ($this->customer && (! $this->customer->billingAddress()->exists())) {\n            return false;\n        }\n\n        $format = CompanySetting::getSetting('payment_from_customer_address_format', $this->company_id);\n\n        return $this->getFormattedString($format);\n    }\n\n    public function getEmailAttachmentSetting()\n    {\n        $paymentAsAttachment = CompanySetting::getSetting('payment_email_attachment', $this->company_id);\n\n        if ($paymentAsAttachment == 'NO') {\n            return false;\n        }\n\n        return true;\n    }\n\n    public function getNotes()\n    {\n        return $this->getFormattedString($this->notes);\n    }\n\n    public function getEmailBody($body)\n    {\n        $values = array_merge($this->getFieldsArray(), $this->getExtraFields());\n\n        $body = strtr($body, $values);\n\n        return preg_replace('/{(.*?)}/', '', $body);\n    }\n\n    public function getExtraFields()\n    {\n        return [\n            '{PAYMENT_DATE}' => $this->formattedPaymentDate,\n            '{PAYMENT_MODE}' => $this->paymentMethod ? $this->paymentMethod->name : null,\n            '{PAYMENT_NUMBER}' => $this->payment_number,\n            '{PAYMENT_AMOUNT}' => $this->reference_number,\n        ];\n    }\n\n    public static function generatePayment($transaction)\n    {\n        $invoice = Invoice::find($transaction->invoice_id);\n\n        $serial = (new SerialNumberFormatter())\n            ->setModel(new Payment())\n            ->setCompany($invoice->company_id)\n            ->setCustomer($invoice->customer_id)\n            ->setNextNumbers();\n\n        $data['payment_number'] = $serial->getNextNumber();\n        $data['payment_date'] = Carbon::now()->format('y-m-d');\n        $data['amount'] = $invoice->total;\n        $data['invoice_id'] = $invoice->id;\n        $data['payment_method_id'] = request()->payment_method_id;\n        $data['customer_id'] = $invoice->customer_id;\n        $data['exchange_rate'] = $invoice->exchange_rate;\n        $data['base_amount'] = $data['amount'] * $data['exchange_rate'];\n        $data['currency_id'] = $invoice->currency_id;\n        $data['company_id'] = $invoice->company_id;\n        $data['transaction_id'] = $transaction->id;\n\n        $payment = Payment::create($data);\n        $payment->unique_hash = Hashids::connection(Payment::class)->encode($payment->id);\n        $payment->sequence_number = $serial->nextSequenceNumber;\n        $payment->customer_sequence_number = $serial->nextCustomerSequenceNumber;\n        $payment->save();\n\n        $invoice->subtractInvoicePayment($invoice->total);\n\n        return $payment;\n    }\n}\n"
  },
  {
    "path": "app/Models/PaymentMethod.php",
    "content": "<?php\n\nnamespace Crater\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Factories\\HasFactory;\nuse Illuminate\\Database\\Eloquent\\Model;\n\nclass PaymentMethod extends Model\n{\n    use HasFactory;\n\n    protected $guarded = [\n        'id'\n    ];\n\n    public const TYPE_GENERAL = 'GENERAL';\n    public const TYPE_MODULE = 'MODULE';\n\n    protected $casts = [\n        'settings' => 'array',\n        'use_test_env' => 'boolean'\n    ];\n\n    public function setSettingsAttribute($value)\n    {\n        $this->attributes['settings'] = json_encode($value);\n    }\n\n    public function payments()\n    {\n        return $this->hasMany(Payment::class);\n    }\n\n    public function expenses()\n    {\n        return $this->hasMany(Expense::class);\n    }\n\n    public function company()\n    {\n        return $this->belongsTo(Company::class);\n    }\n\n    public function scopeWhereCompanyId($query, $id)\n    {\n        $query->where('company_id', $id);\n    }\n\n    public function scopeWhereCompany($query)\n    {\n        $query->where('company_id', request()->header('company'));\n    }\n\n    public function scopeWherePaymentMethod($query, $payment_id)\n    {\n        $query->orWhere('id', $payment_id);\n    }\n\n    public function scopeWhereSearch($query, $search)\n    {\n        $query->where('name', 'LIKE', '%'.$search.'%');\n    }\n\n    public function scopeApplyFilters($query, array $filters)\n    {\n        $filters = collect($filters);\n\n        if ($filters->get('method_id')) {\n            $query->wherePaymentMethod($filters->get('method_id'));\n        }\n\n        if ($filters->get('company_id')) {\n            $query->whereCompany($filters->get('company_id'));\n        }\n\n        if ($filters->get('search')) {\n            $query->whereSearch($filters->get('search'));\n        }\n    }\n\n    public function scopePaginateData($query, $limit)\n    {\n        if ($limit == 'all') {\n            return $query->get();\n        }\n\n        return $query->paginate($limit);\n    }\n\n    public static function createPaymentMethod($request)\n    {\n        $data = $request->getPaymentMethodPayload();\n\n        $paymentMethod = self::create($data);\n\n        return $paymentMethod;\n    }\n\n    public static function getSettings($id)\n    {\n        $settings = PaymentMethod::find($id)\n            ->settings;\n\n        return $settings;\n    }\n}\n"
  },
  {
    "path": "app/Models/RecurringInvoice.php",
    "content": "<?php\n\nnamespace Crater\\Models;\n\nuse Carbon\\Carbon;\nuse Crater\\Http\\Requests\\RecurringInvoiceRequest;\nuse Crater\\Services\\SerialNumberFormatter;\nuse Crater\\Traits\\HasCustomFieldsTrait;\nuse Cron;\nuse Illuminate\\Database\\Eloquent\\Factories\\HasFactory;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Vinkla\\Hashids\\Facades\\Hashids;\n\nclass RecurringInvoice extends Model\n{\n    use HasFactory;\n    use HasCustomFieldsTrait;\n\n    protected $guarded = [\n        'id',\n    ];\n\n    protected $dates = [\n        'starts_at'\n    ];\n\n    public const NONE = 'NONE';\n    public const COUNT = 'COUNT';\n    public const DATE = 'DATE';\n\n    public const COMPLETED = 'COMPLETED';\n    public const ON_HOLD = 'ON_HOLD';\n    public const ACTIVE = 'ACTIVE';\n\n    protected $appends = [\n        'formattedCreatedAt',\n        'formattedStartsAt',\n        'formattedNextInvoiceAt',\n        'formattedLimitDate'\n    ];\n\n    protected $casts = [\n        'exchange_rate' => 'float',\n        'send_automatically' => 'boolean'\n    ];\n\n    public function getFormattedStartsAtAttribute()\n    {\n        $dateFormat = CompanySetting::getSetting('carbon_date_format', $this->company_id);\n\n        return Carbon::parse($this->starts_at)->format($dateFormat);\n    }\n\n    public function getFormattedNextInvoiceAtAttribute()\n    {\n        $dateFormat = CompanySetting::getSetting('carbon_date_format', $this->company_id);\n\n        return Carbon::parse($this->next_invoice_at)->format($dateFormat);\n    }\n\n    public function getFormattedLimitDateAttribute()\n    {\n        $dateFormat = CompanySetting::getSetting('carbon_date_format', $this->company_id);\n\n        return Carbon::parse($this->limit_date)->format($dateFormat);\n    }\n\n    public function getFormattedCreatedAtAttribute()\n    {\n        $dateFormat = CompanySetting::getSetting('carbon_date_format', $this->company_id);\n\n        return Carbon::parse($this->created_at)->format($dateFormat);\n    }\n\n    public function invoices()\n    {\n        return $this->hasMany(Invoice::class);\n    }\n\n    public function taxes()\n    {\n        return $this->hasMany(Tax::class);\n    }\n\n    public function items()\n    {\n        return $this->hasMany(InvoiceItem::class);\n    }\n\n    public function customer()\n    {\n        return $this->belongsTo(Customer::class);\n    }\n\n    public function company()\n    {\n        return $this->belongsTo(Company::class);\n    }\n\n    public function creator()\n    {\n        return $this->belongsTo(User::class, 'creator_id');\n    }\n\n    public function currency()\n    {\n        return $this->belongsTo(Currency::class);\n    }\n\n    public function scopeWhereCompany($query)\n    {\n        $query->where('recurring_invoices.company_id', request()->header('company'));\n    }\n\n    public function scopePaginateData($query, $limit)\n    {\n        if ($limit == 'all') {\n            return $query->get();\n        }\n\n        return $query->paginate($limit);\n    }\n\n    public function scopeWhereOrder($query, $orderByField, $orderBy)\n    {\n        $query->orderBy($orderByField, $orderBy);\n    }\n\n    public function scopeWhereStatus($query, $status)\n    {\n        return $query->where('recurring_invoices.status', $status);\n    }\n\n    public function scopeWhereCustomer($query, $customer_id)\n    {\n        $query->where('customer_id', $customer_id);\n    }\n\n    public function scopeRecurringInvoicesStartBetween($query, $start, $end)\n    {\n        return $query->whereBetween(\n            'starts_at',\n            [$start->format('Y-m-d'), $end->format('Y-m-d')]\n        );\n    }\n\n    public function scopeWhereSearch($query, $search)\n    {\n        foreach (explode(' ', $search) as $term) {\n            $query->whereHas('customer', function ($query) use ($term) {\n                $query->where('name', 'LIKE', '%'.$term.'%')\n                    ->orWhere('contact_name', 'LIKE', '%'.$term.'%')\n                    ->orWhere('company_name', 'LIKE', '%'.$term.'%');\n            });\n        }\n    }\n\n    public function scopeApplyFilters($query, array $filters)\n    {\n        $filters = collect($filters);\n\n        if ($filters->get('status') && $filters->get('status') !== 'ALL') {\n            $query->whereStatus($filters->get('status'));\n        }\n\n        if ($filters->get('search')) {\n            $query->whereSearch($filters->get('search'));\n        }\n\n        if ($filters->get('from_date') && $filters->get('to_date')) {\n            $start = Carbon::createFromFormat('Y-m-d', $filters->get('from_date'));\n            $end = Carbon::createFromFormat('Y-m-d', $filters->get('to_date'));\n            $query->recurringInvoicesStartBetween($start, $end);\n        }\n\n        if ($filters->get('customer_id')) {\n            $query->whereCustomer($filters->get('customer_id'));\n        }\n\n        if ($filters->get('orderByField') || $filters->get('orderBy')) {\n            $field = $filters->get('orderByField') ? $filters->get('orderByField') : 'created_at';\n            $orderBy = $filters->get('orderBy') ? $filters->get('orderBy') : 'asc';\n            $query->whereOrder($field, $orderBy);\n        }\n    }\n\n    public static function createFromRequest(RecurringInvoiceRequest $request)\n    {\n        $recurringInvoice = self::create($request->getRecurringInvoicePayload());\n\n        $company_currency = CompanySetting::getSetting('currency', $request->header('company'));\n\n        if ((string)$recurringInvoice['currency_id'] !== $company_currency) {\n            ExchangeRateLog::addExchangeRateLog($recurringInvoice);\n        }\n\n        self::createItems($recurringInvoice, $request->items);\n\n        if ($request->has('taxes') && (! empty($request->taxes))) {\n            self::createTaxes($recurringInvoice, $request->taxes);\n        }\n\n        if ($request->customFields) {\n            $recurringInvoice->addCustomFields($request->customFields);\n        }\n\n        return $recurringInvoice;\n    }\n\n    public function updateFromRequest(RecurringInvoiceRequest $request)\n    {\n        $data = $request->getRecurringInvoicePayload();\n\n        $this->update($data);\n\n        $company_currency = CompanySetting::getSetting('currency', $request->header('company'));\n\n        if ((string)$data['currency_id'] !== $company_currency) {\n            ExchangeRateLog::addExchangeRateLog($this);\n        }\n\n        $this->items()->delete();\n        self::createItems($this, $request->items);\n\n        $this->taxes()->delete();\n        if ($request->has('taxes') && (! empty($request->taxes))) {\n            self::createTaxes($this, $request->taxes);\n        }\n\n        if ($request->customFields) {\n            $this->updateCustomFields($request->customFields);\n        }\n\n        return $this;\n    }\n\n    public static function createItems($recurringInvoice, $invoiceItems)\n    {\n        foreach ($invoiceItems as $invoiceItem) {\n            $invoiceItem['company_id'] = $recurringInvoice->company_id;\n            $item = $recurringInvoice->items()->create($invoiceItem);\n            if (array_key_exists('taxes', $invoiceItem) && $invoiceItem['taxes']) {\n                foreach ($invoiceItem['taxes'] as $tax) {\n                    $tax['company_id'] = $recurringInvoice->company_id;\n                    if (gettype($tax['amount']) !== \"NULL\") {\n                        $item->taxes()->create($tax);\n                    }\n                }\n            }\n        }\n    }\n\n    public static function createTaxes($recurringInvoice, $taxes)\n    {\n        foreach ($taxes as $tax) {\n            $tax['company_id'] = $recurringInvoice->company_id;\n\n            if (gettype($tax['amount']) !== \"NULL\") {\n                $recurringInvoice->taxes()->create($tax);\n            }\n        }\n    }\n\n    public function generateInvoice()\n    {\n        if (Carbon::now()->lessThan($this->starts_at)) {\n            return;\n        }\n\n        if ($this->limit_by == 'DATE') {\n            $startDate = Carbon::today()->format('Y-m-d');\n\n            $endDate = $this->limit_date;\n\n            if ($endDate >= $startDate) {\n                $this->createInvoice();\n\n                $this->updateNextInvoiceDate();\n            } else {\n                $this->markStatusAsCompleted();\n            }\n        } elseif ($this->limit_by == 'COUNT') {\n            $invoiceCount = Invoice::where('recurring_invoice_id', $this->id)->count();\n\n            if ($invoiceCount < $this->limit_count) {\n                $this->createInvoice();\n\n                $this->updateNextInvoiceDate();\n            } else {\n                $this->markStatusAsCompleted();\n            }\n        } else {\n            $this->createInvoice();\n\n            $this->updateNextInvoiceDate();\n        }\n    }\n\n    public function createInvoice()\n    {\n        //get invoice_number\n        $serial = (new SerialNumberFormatter())\n            ->setModel(new Invoice())\n            ->setCompany($this->company_id)\n            ->setCustomer($this->customer_id)\n            ->setNextNumbers();\n\n        $days = CompanySetting::getSetting('invoice_due_date_days', $this->company_id);\n\n        if (! $days || $days == \"null\") {\n            $days = 7;\n        }\n\n        $newInvoice['creator_id'] = $this->creator_id;\n        $newInvoice['invoice_date'] = Carbon::today()->format('Y-m-d');\n        $newInvoice['due_date'] = Carbon::today()->addDays($days)->format('Y-m-d');\n        $newInvoice['status'] = Invoice::STATUS_DRAFT;\n        $newInvoice['company_id'] = $this->company_id;\n        $newInvoice['paid_status'] = Invoice::STATUS_UNPAID;\n        $newInvoice['sub_total'] = $this->sub_total;\n        $newInvoice['tax_per_item'] = $this->tax_per_item;\n        $newInvoice['discount_per_item'] = $this->discount_per_item;\n        $newInvoice['tax'] = $this->tax;\n        $newInvoice['total'] = $this->total;\n        $newInvoice['customer_id'] = $this->customer_id;\n        $newInvoice['currency_id'] = Customer::find($this->customer_id)->currency_id;\n        $newInvoice['template_name'] = $this->template_name;\n        $newInvoice['due_amount'] = $this->total;\n        $newInvoice['recurring_invoice_id'] = $this->id;\n        $newInvoice['discount_val'] = $this->discount_val;\n        $newInvoice['discount'] = $this->discount;\n        $newInvoice['discount_type'] = $this->discount_type;\n        $newInvoice['notes'] = $this->notes;\n        $newInvoice['exchange_rate'] = $this->exchange_rate;\n        $newInvoice['sales_tax_type'] = $this->sales_tax_type;\n        $newInvoice['sales_tax_address_type'] = $this->sales_tax_address_type;\n        $newInvoice['invoice_number'] = $serial->getNextNumber();\n        $newInvoice['sequence_number'] = $serial->nextSequenceNumber;\n        $newInvoice['customer_sequence_number'] = $serial->nextCustomerSequenceNumber;\n        $newInvoice['base_due_amount'] = $this->exchange_rate * $this->due_amount;\n        $newInvoice['base_discount_val'] = $this->exchange_rate * $this->discount_val;\n        $newInvoice['base_sub_total'] = $this->exchange_rate * $this->sub_total;\n        $newInvoice['base_tax'] = $this->exchange_rate * $this->tax;\n        $newInvoice['base_total'] = $this->exchange_rate * $this->total;\n        $invoice = Invoice::create($newInvoice);\n        $invoice->unique_hash = Hashids::connection(Invoice::class)->encode($invoice->id);\n        $invoice->save();\n\n        $this->load('items.taxes');\n        Invoice::createItems($invoice, $this->items->toArray());\n\n        if ($this->taxes()->exists()) {\n            Invoice::createTaxes($invoice, $this->taxes->toArray());\n        }\n\n        if ($this->fields()->exists()) {\n            $customField = [];\n\n            foreach ($this->fields as $data) {\n                $customField[] = [\n                    'id' => $data->custom_field_id,\n                    'value' => $data->defaultAnswer\n                ];\n            }\n\n            $invoice->addCustomFields($customField);\n        }\n\n        //send automatically\n        if ($this->send_automatically == true) {\n            $data = [\n                'body' => CompanySetting::getSetting('invoice_mail_body', $this->company_id),\n                'from' => config('mail.from.address'),\n                'to' => $this->customer->email,\n                'subject' => 'New Invoice',\n                'invoice' => $invoice->toArray(),\n                'customer' => $invoice->customer->toArray(),\n                'company' => Company::find($invoice->company_id)\n            ];\n\n            $invoice->send($data);\n        }\n    }\n\n    public function markStatusAsCompleted()\n    {\n        if ($this->status == $this->status) {\n            $this->status = self::COMPLETED;\n            $this->save();\n        }\n    }\n\n    public static function getNextInvoiceDate($frequency, $starts_at)\n    {\n        $cron = new Cron\\CronExpression($frequency);\n\n        return $cron->getNextRunDate($starts_at)->format('Y-m-d H:i:s');\n    }\n\n    public function updateNextInvoiceDate()\n    {\n        $nextInvoiceAt = self::getNextInvoiceDate($this->frequency, $this->starts_at);\n\n        $this->next_invoice_at = $nextInvoiceAt;\n        $this->save();\n    }\n\n    public static function deleteRecurringInvoice($ids)\n    {\n        foreach ($ids as $id) {\n            $recurringInvoice = self::find($id);\n\n            if ($recurringInvoice->invoices()->exists()) {\n                $recurringInvoice->invoices()->update(['recurring_invoice_id' => null]);\n            }\n\n            if ($recurringInvoice->items()->exists()) {\n                $recurringInvoice->items()->delete();\n            }\n\n            if ($recurringInvoice->taxes()->exists()) {\n                $recurringInvoice->taxes()->delete();\n            }\n\n            $recurringInvoice->delete();\n        }\n\n        return true;\n    }\n}\n"
  },
  {
    "path": "app/Models/Setting.php",
    "content": "<?php\n\nnamespace Crater\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Factories\\HasFactory;\nuse Illuminate\\Database\\Eloquent\\Model;\n\nclass Setting extends Model\n{\n    use HasFactory;\n\n    protected $fillable = ['option', 'value'];\n\n    public static function setSetting($key, $setting)\n    {\n        $old = self::whereOption($key)->first();\n\n        if ($old) {\n            $old->value = $setting;\n            $old->save();\n\n            return;\n        }\n\n        $set = new Setting();\n        $set->option = $key;\n        $set->value = $setting;\n        $set->save();\n    }\n\n    public static function setSettings($settings)\n    {\n        foreach ($settings as $key => $value) {\n            self::updateOrCreate(\n                [\n                    'option' => $key,\n                ],\n                [\n                    'option' => $key,\n                    'value' => $value,\n                ]\n            );\n        }\n    }\n\n    public static function getSetting($key)\n    {\n        $setting = static::whereOption($key)->first();\n\n        if ($setting) {\n            return $setting->value;\n        } else {\n            return null;\n        }\n    }\n\n    public static function getSettings($settings)\n    {\n        return static::whereIn('option', $settings)\n            ->get()->mapWithKeys(function ($item) {\n                return [$item['option'] => $item['value']];\n            });\n    }\n}\n"
  },
  {
    "path": "app/Models/Tax.php",
    "content": "<?php\n\nnamespace Crater\\Models;\n\nuse Carbon\\Carbon;\nuse Illuminate\\Database\\Eloquent\\Factories\\HasFactory;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Facades\\DB;\n\nclass Tax extends Model\n{\n    use HasFactory;\n\n    protected $guarded = [\n        'id'\n    ];\n\n    protected $casts = [\n        'amount' => 'integer',\n        'percent' => 'float',\n    ];\n\n    public function taxType()\n    {\n        return $this->belongsTo(TaxType::class);\n    }\n\n    public function invoice()\n    {\n        return $this->belongsTo(Invoice::class);\n    }\n\n    public function recurringInvoice()\n    {\n        return $this->belongsTo(RecurringInvoice::class);\n    }\n\n    public function estimate()\n    {\n        return $this->belongsTo(Estimate::class);\n    }\n\n    public function currency()\n    {\n        return $this->belongsTo(Currency::class);\n    }\n\n    public function invoiceItem()\n    {\n        return $this->belongsTo(InvoiceItem::class);\n    }\n\n    public function estimateItem()\n    {\n        return $this->belongsTo(EstimateItem::class);\n    }\n\n    public function item()\n    {\n        return $this->belongsTo(Item::class);\n    }\n\n    public function scopeWhereCompany($query, $company_id)\n    {\n        $query->where('company_id', $company_id);\n    }\n\n    public function scopeTaxAttributes($query)\n    {\n        $query->select(\n            DB::raw('sum(base_amount) as total_tax_amount, tax_type_id')\n        )->groupBy('tax_type_id');\n    }\n\n    public function scopeInvoicesBetween($query, $start, $end)\n    {\n        $query->whereHas('invoice', function ($query) use ($start, $end) {\n            $query->where('paid_status', Invoice::STATUS_PAID)\n                ->whereBetween(\n                    'invoice_date',\n                    [$start->format('Y-m-d'), $end->format('Y-m-d')]\n                );\n        })\n            ->orWhereHas('invoiceItem.invoice', function ($query) use ($start, $end) {\n                $query->where('paid_status', Invoice::STATUS_PAID)\n                    ->whereBetween(\n                        'invoice_date',\n                        [$start->format('Y-m-d'), $end->format('Y-m-d')]\n                    );\n            });\n    }\n\n    public function scopeWhereInvoicesFilters($query, array $filters)\n    {\n        $filters = collect($filters);\n\n        if ($filters->get('from_date') && $filters->get('to_date')) {\n            $start = Carbon::createFromFormat('Y-m-d', $filters->get('from_date'));\n            $end = Carbon::createFromFormat('Y-m-d', $filters->get('to_date'));\n\n            $query->invoicesBetween($start, $end);\n        }\n    }\n}\n"
  },
  {
    "path": "app/Models/TaxType.php",
    "content": "<?php\n\nnamespace Crater\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Factories\\HasFactory;\nuse Illuminate\\Database\\Eloquent\\Model;\n\nclass TaxType extends Model\n{\n    use HasFactory;\n\n    protected $guarded = [\n        'id',\n    ];\n\n    protected $casts = [\n        'percent' => 'float',\n        'compound_tax' => 'boolean'\n    ];\n\n    public const TYPE_GENERAL = 'GENERAL';\n    public const TYPE_MODULE = 'MODULE';\n\n    public function taxes()\n    {\n        return $this->hasMany(Tax::class);\n    }\n\n    public function company()\n    {\n        return $this->belongsTo(Company::class);\n    }\n\n    public function scopeWhereCompany($query)\n    {\n        $query->where('company_id', request()->header('company'));\n    }\n\n    public function scopeWhereTaxType($query, $tax_type_id)\n    {\n        $query->orWhere('id', $tax_type_id);\n    }\n\n    public function scopeApplyFilters($query, array $filters)\n    {\n        $filters = collect($filters);\n\n        if ($filters->get('tax_type_id')) {\n            $query->whereTaxType($filters->get('tax_type_id'));\n        }\n\n        if ($filters->get('company_id')) {\n            $query->whereCompany($filters->get('company_id'));\n        }\n\n        if ($filters->get('search')) {\n            $query->whereSearch($filters->get('search'));\n        }\n\n        if ($filters->get('orderByField') || $filters->get('orderBy')) {\n            $field = $filters->get('orderByField') ? $filters->get('orderByField') : 'payment_number';\n            $orderBy = $filters->get('orderBy') ? $filters->get('orderBy') : 'asc';\n            $query->whereOrder($field, $orderBy);\n        }\n    }\n\n    public function scopeWhereOrder($query, $orderByField, $orderBy)\n    {\n        $query->orderBy($orderByField, $orderBy);\n    }\n\n    public function scopeWhereSearch($query, $search)\n    {\n        $query->where('name', 'LIKE', '%'.$search.'%');\n    }\n\n    public function scopePaginateData($query, $limit)\n    {\n        if ($limit == 'all') {\n            return $query->get();\n        }\n\n        return $query->paginate($limit);\n    }\n}\n"
  },
  {
    "path": "app/Models/Transaction.php",
    "content": "<?php\n\nnamespace Crater\\Models;\n\nuse Carbon\\Carbon;\nuse Illuminate\\Database\\Eloquent\\Factories\\HasFactory;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Vinkla\\Hashids\\Facades\\Hashids;\n\nclass Transaction extends Model\n{\n    use HasFactory;\n\n    protected $guarded = [\n        'id'\n    ];\n\n    protected $dates = [\n        'transaction_date'\n    ];\n\n    public const PENDING = 'PENDING';\n    public const FAILED = 'FAILED';\n    public const SUCCESS = 'SUCCESS';\n\n    public function payments()\n    {\n        return $this->hasMany(Payment::class);\n    }\n\n    public function invoice()\n    {\n        return $this->belongsTo(Invoice::class);\n    }\n\n    public function company()\n    {\n        return $this->belongsTo(Company::class);\n    }\n\n    public function completeTransaction()\n    {\n        $this->status = self::SUCCESS;\n        $this->save();\n    }\n\n    public function failedTransaction()\n    {\n        $this->status = self::FAILED;\n        $this->save();\n    }\n\n    public static function createTransaction($data)\n    {\n        $transaction = self::create($data);\n        $transaction->unique_hash = Hashids::connection(Transaction::class)->encode($transaction->id);\n        $transaction->save();\n\n        return $transaction;\n    }\n\n    public function isExpired()\n    {\n        $linkexpiryDays = CompanySetting::getSetting('link_expiry_days', $this->company_id);\n        $checkExpiryLinks = CompanySetting::getSetting('automatically_expire_public_links', $this->company_id);\n\n        $expiryDate = $this->updated_at->addDays($linkexpiryDays);\n\n        if ($checkExpiryLinks == 'YES' && $this->status == self::SUCCESS && Carbon::now()->format('Y-m-d') > $expiryDate->format('Y-m-d')) {\n            return true;\n        }\n\n        return false;\n    }\n}\n"
  },
  {
    "path": "app/Models/Unit.php",
    "content": "<?php\n\nnamespace Crater\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Factories\\HasFactory;\nuse Illuminate\\Database\\Eloquent\\Model;\n\nclass Unit extends Model\n{\n    use HasFactory;\n\n    protected $fillable = ['name', 'company_id'];\n\n    public function items()\n    {\n        return $this->hasMany(Item::class);\n    }\n\n    public function company()\n    {\n        return $this->belongsTo(Company::class);\n    }\n\n    public function scopeWhereCompany($query)\n    {\n        $query->where('company_id', request()->header('company'));\n    }\n\n    public function scopeWhereUnit($query, $unit_id)\n    {\n        $query->orWhere('id', $unit_id);\n    }\n\n    public function scopeWhereSearch($query, $search)\n    {\n        return $query->where('name', 'LIKE', '%'.$search.'%');\n    }\n\n    public function scopeApplyFilters($query, array $filters)\n    {\n        $filters = collect($filters);\n\n        if ($filters->get('search')) {\n            $query->whereSearch($filters->get('search'));\n        }\n\n        if ($filters->get('unit_id')) {\n            $query->whereUnit($filters->get('unit_id'));\n        }\n\n        if ($filters->get('company_id')) {\n            $query->whereCompany($filters->get('company_id'));\n        }\n\n        return $query;\n    }\n\n    public function scopePaginateData($query, $limit)\n    {\n        if ($limit == 'all') {\n            return $query->get();\n        }\n\n        return $query->paginate($limit);\n    }\n}\n"
  },
  {
    "path": "app/Models/User.php",
    "content": "<?php\n\nnamespace Crater\\Models;\n\nuse Carbon\\Carbon;\nuse Crater\\Http\\Requests\\UserRequest;\nuse Crater\\Notifications\\MailResetPasswordNotification;\nuse Crater\\Traits\\HasCustomFieldsTrait;\nuse Illuminate\\Database\\Eloquent\\Factories\\HasFactory;\nuse Illuminate\\Foundation\\Auth\\User as Authenticatable;\nuse Illuminate\\Notifications\\Notifiable;\nuse Illuminate\\Support\\Facades\\Schema;\nuse Laravel\\Sanctum\\HasApiTokens;\nuse Silber\\Bouncer\\BouncerFacade;\nuse Silber\\Bouncer\\Database\\HasRolesAndAbilities;\nuse Spatie\\MediaLibrary\\HasMedia;\nuse Spatie\\MediaLibrary\\InteractsWithMedia;\n\nclass User extends Authenticatable implements HasMedia\n{\n    use HasApiTokens;\n    use Notifiable;\n    use InteractsWithMedia;\n    use HasCustomFieldsTrait;\n    use HasFactory;\n    use HasRolesAndAbilities;\n\n    /**\n     * The attributes that are mass assignable.\n     *\n     * @var array\n     */\n    protected $guarded = [\n        'id'\n    ];\n\n    /**\n     * The attributes that should be hidden for arrays.\n     *\n     * @var array\n     */\n    protected $hidden = [\n        'password',\n        'remember_token',\n    ];\n\n    protected $with = [\n        'currency',\n    ];\n\n    protected $appends = [\n        'formattedCreatedAt',\n        'avatar',\n    ];\n\n    /**\n     * Find the user instance for the given username.\n     *\n     * @param  string  $username\n     * @return \\App\\User\n     */\n    public function findForPassport($username)\n    {\n        return $this->where('email', $username)->first();\n    }\n\n    public function setPasswordAttribute($value)\n    {\n        if ($value != null) {\n            $this->attributes['password'] = bcrypt($value);\n        }\n    }\n\n    public function isSuperAdminOrAdmin()\n    {\n        return ($this->role == 'super admin') || ($this->role == 'admin');\n    }\n\n    public static function login($request)\n    {\n        $remember = $request->remember;\n        $email = $request->email;\n        $password = $request->password;\n\n        return (\\Auth::attempt(['email' => $email, 'password' => $password], $remember));\n    }\n\n    public function getFormattedCreatedAtAttribute($value)\n    {\n        $dateFormat = CompanySetting::getSetting('carbon_date_format', request()->header('company'));\n\n        return Carbon::parse($this->created_at)->format($dateFormat);\n    }\n\n    public function estimates()\n    {\n        return $this->hasMany(Estimate::class, 'creator_id');\n    }\n\n    public function customers()\n    {\n        return $this->hasMany(Customer::class, 'creator_id');\n    }\n\n    public function recurringInvoices()\n    {\n        return $this->hasMany(RecurringInvoice::class, 'creator_id');\n    }\n\n    public function currency()\n    {\n        return $this->belongsTo(Currency::class, 'currency_id');\n    }\n\n    public function creator()\n    {\n        return $this->belongsTo('Crater\\Models\\User', 'creator_id');\n    }\n\n    public function companies()\n    {\n        return $this->belongsToMany(Company::class, 'user_company', 'user_id', 'company_id');\n    }\n\n    public function expenses()\n    {\n        return $this->hasMany(Expense::class, 'creator_id');\n    }\n\n    public function payments()\n    {\n        return $this->hasMany(Payment::class, 'creator_id');\n    }\n\n    public function invoices()\n    {\n        return $this->hasMany(Invoice::class, 'creator_id');\n    }\n\n    public function items()\n    {\n        return $this->hasMany(Item::class, 'creator_id');\n    }\n\n    public function settings()\n    {\n        return $this->hasMany(UserSetting::class, 'user_id');\n    }\n\n    public function addresses()\n    {\n        return $this->hasMany(Address::class);\n    }\n\n    public function billingAddress()\n    {\n        return $this->hasOne(Address::class)->where('type', Address::BILLING_TYPE);\n    }\n\n    public function shippingAddress()\n    {\n        return $this->hasOne(Address::class)->where('type', Address::SHIPPING_TYPE);\n    }\n\n    /**\n     * Override the mail body for reset password notification mail.\n     */\n    public function sendPasswordResetNotification($token)\n    {\n        $this->notify(new MailResetPasswordNotification($token));\n    }\n\n    public function scopeWhereOrder($query, $orderByField, $orderBy)\n    {\n        $query->orderBy($orderByField, $orderBy);\n    }\n\n    public function scopeWhereSearch($query, $search)\n    {\n        foreach (explode(' ', $search) as $term) {\n            $query->where(function ($query) use ($term) {\n                $query->where('name', 'LIKE', '%'.$term.'%')\n                    ->orWhere('email', 'LIKE', '%'.$term.'%')\n                    ->orWhere('phone', 'LIKE', '%'.$term.'%');\n            });\n        }\n    }\n\n    public function scopeWhereContactName($query, $contactName)\n    {\n        return $query->where('contact_name', 'LIKE', '%'.$contactName.'%');\n    }\n\n    public function scopeWhereDisplayName($query, $displayName)\n    {\n        return $query->where('name', 'LIKE', '%'.$displayName.'%');\n    }\n\n    public function scopeWherePhone($query, $phone)\n    {\n        return $query->where('phone', 'LIKE', '%'.$phone.'%');\n    }\n\n    public function scopeWhereEmail($query, $email)\n    {\n        return $query->where('email', 'LIKE', '%'.$email.'%');\n    }\n\n    public function scopePaginateData($query, $limit)\n    {\n        if ($limit == 'all') {\n            return $query->get();\n        }\n\n        return $query->paginate($limit);\n    }\n\n    public function scopeApplyFilters($query, array $filters)\n    {\n        $filters = collect($filters);\n\n        if ($filters->get('search')) {\n            $query->whereSearch($filters->get('search'));\n        }\n\n        if ($filters->get('display_name')) {\n            $query->whereDisplayName($filters->get('display_name'));\n        }\n\n        if ($filters->get('email')) {\n            $query->whereEmail($filters->get('email'));\n        }\n\n        if ($filters->get('phone')) {\n            $query->wherePhone($filters->get('phone'));\n        }\n\n        if ($filters->get('orderByField') || $filters->get('orderBy')) {\n            $field = $filters->get('orderByField') ? $filters->get('orderByField') : 'name';\n            $orderBy = $filters->get('orderBy') ? $filters->get('orderBy') : 'asc';\n            $query->whereOrder($field, $orderBy);\n        }\n    }\n\n    public function scopeWhereSuperAdmin($query)\n    {\n        $query->orWhere('role', 'super admin');\n    }\n\n    public function scopeApplyInvoiceFilters($query, array $filters)\n    {\n        $filters = collect($filters);\n\n        if ($filters->get('from_date') && $filters->get('to_date')) {\n            $start = Carbon::createFromFormat('Y-m-d', $filters->get('from_date'));\n            $end = Carbon::createFromFormat('Y-m-d', $filters->get('to_date'));\n            $query->invoicesBetween($start, $end);\n        }\n    }\n\n    public function scopeInvoicesBetween($query, $start, $end)\n    {\n        $query->whereHas('invoices', function ($query) use ($start, $end) {\n            $query->whereBetween(\n                'invoice_date',\n                [$start->format('Y-m-d'), $end->format('Y-m-d')]\n            );\n        });\n    }\n\n    public function getAvatarAttribute()\n    {\n        $avatar = $this->getMedia('admin_avatar')->first();\n\n        if ($avatar) {\n            return  asset($avatar->getUrl());\n        }\n\n        return 0;\n    }\n\n    public function setSettings($settings)\n    {\n        foreach ($settings as $key => $value) {\n            $this->settings()->updateOrCreate(\n                [\n                    'key' => $key,\n                ],\n                [\n                    'key' => $key,\n                    'value' => $value,\n                ]\n            );\n        }\n    }\n\n    public function hasCompany($company_id)\n    {\n        $companies = $this->companies()->pluck('company_id')->toArray();\n\n        return in_array($company_id, $companies);\n    }\n\n    public function getAllSettings()\n    {\n        return $this->settings()->get()->mapWithKeys(function ($item) {\n            return [$item['key'] => $item['value']];\n        });\n    }\n\n    public function getSettings($settings)\n    {\n        return $this->settings()->whereIn('key', $settings)->get()->mapWithKeys(function ($item) {\n            return [$item['key'] => $item['value']];\n        });\n    }\n\n    public function isOwner()\n    {\n        if (Schema::hasColumn('companies', 'owner_id')) {\n            $company = Company::find(request()->header('company'));\n\n            if ($company && $this->id == $company->owner_id) {\n                return true;\n            }\n        } else {\n            return $this->role == 'super admin' || $this->role == 'admin';\n        }\n\n        return false;\n    }\n\n    public static function createFromRequest(UserRequest $request)\n    {\n        $user = self::create($request->getUserPayload());\n\n        $user->setSettings([\n            'language' => CompanySetting::getSetting('language', $request->header('company')),\n        ]);\n\n        $companies = collect($request->companies);\n        $user->companies()->sync($companies->pluck('id'));\n\n        foreach ($companies as $company) {\n            BouncerFacade::scope()->to($company['id']);\n\n            BouncerFacade::sync($user)->roles([$company['role']]);\n        }\n\n        return $user;\n    }\n\n    public function updateFromRequest(UserRequest $request)\n    {\n        $this->update($request->getUserPayload());\n\n        $companies = collect($request->companies);\n        $this->companies()->sync($companies->pluck('id'));\n\n        foreach ($companies as $company) {\n            BouncerFacade::scope()->to($company['id']);\n\n            BouncerFacade::sync($this)->roles([$company['role']]);\n        }\n\n        return $this;\n    }\n\n    public function checkAccess($data)\n    {\n        if ($this->isOwner()) {\n            return true;\n        }\n\n        if ((! $data->data['owner_only']) && empty($data->data['ability'])) {\n            return true;\n        }\n\n        if ((! $data->data['owner_only']) && (! empty($data->data['ability'])) && (! empty($data->data['model'])) && $this->can($data->data['ability'], $data->data['model'])) {\n            return true;\n        }\n\n        if ((! $data->data['owner_only']) && $this->can($data->data['ability'])) {\n            return true;\n        }\n\n        return false;\n    }\n\n    public static function deleteUsers($ids)\n    {\n        foreach ($ids as $id) {\n            $user = self::find($id);\n\n            if ($user->invoices()->exists()) {\n                $user->invoices()->update(['creator_id' => null]);\n            }\n\n            if ($user->estimates()->exists()) {\n                $user->estimates()->update(['creator_id' => null]);\n            }\n\n            if ($user->customers()->exists()) {\n                $user->customers()->update(['creator_id' => null]);\n            }\n\n            if ($user->recurringInvoices()->exists()) {\n                $user->recurringInvoices()->update(['creator_id' => null]);\n            }\n\n            if ($user->expenses()->exists()) {\n                $user->expenses()->update(['creator_id' => null]);\n            }\n\n            if ($user->payments()->exists()) {\n                $user->payments()->update(['creator_id' => null]);\n            }\n\n            if ($user->items()->exists()) {\n                $user->items()->update(['creator_id' => null]);\n            }\n\n            if ($user->settings()->exists()) {\n                $user->settings()->delete();\n            }\n\n            $user->delete();\n        }\n\n        return true;\n    }\n}\n"
  },
  {
    "path": "app/Models/UserSetting.php",
    "content": "<?php\n\nnamespace Crater\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Factories\\HasFactory;\nuse Illuminate\\Database\\Eloquent\\Model;\n\nclass UserSetting extends Model\n{\n    use HasFactory;\n\n    protected $guarded = ['id'];\n\n    public function user()\n    {\n        return $this->belongsTo(User::class);\n    }\n}\n"
  },
  {
    "path": "app/Notifications/CustomerMailResetPasswordNotification.php",
    "content": "<?php\n\nnamespace Crater\\Notifications;\n\nuse Illuminate\\Auth\\Notifications\\ResetPassword;\nuse Illuminate\\Bus\\Queueable;\nuse Illuminate\\Notifications\\Messages\\MailMessage;\n\nuse Illuminate\\Notifications\\Notification;\n\nclass CustomerMailResetPasswordNotification extends ResetPassword\n{\n    use Queueable;\n\n    /**\n     * Create a new notification instance.\n     *\n     * @return void\n     */\n    public function __construct($token)\n    {\n        parent::__construct($token);\n    }\n\n    /**\n     * Get the notification's delivery channels.\n     *\n     * @param  mixed  $notifiable\n     * @return array\n     */\n    public function via($notifiable)\n    {\n        return ['mail'];\n    }\n\n    /**\n     * Get the mail representation of the notification.\n     *\n     * @param  mixed  $notifiable\n     * @return \\Illuminate\\Notifications\\Messages\\MailMessage\n     */\n    public function toMail($notifiable)\n    {\n        $link = url(\"/{$notifiable->company->slug}/customer/reset/password/\".$this->token);\n\n        return ( new MailMessage() )\n            ->subject('Reset Password Notification')\n            ->line(\"Hello! You are receiving this email because we received a password reset request for your account.\")\n            ->action('Reset Password', $link)\n            ->line(\"This password reset link will expire in \".config('auth.passwords.users.expire').\" minutes\")\n            ->line(\"If you did not request a password reset, no further action is required.\");\n    }\n\n    /**\n     * Get the array representation of the notification.\n     *\n     * @param  mixed  $notifiable\n     * @return array\n     */\n    public function toArray($notifiable)\n    {\n        return [\n            //\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Notifications/MailResetPasswordNotification.php",
    "content": "<?php\n\nnamespace Crater\\Notifications;\n\nuse Illuminate\\Auth\\Notifications\\ResetPassword;\nuse Illuminate\\Bus\\Queueable;\nuse Illuminate\\Notifications\\Messages\\MailMessage;\n\nuse Illuminate\\Notifications\\Notification;\n\nclass MailResetPasswordNotification extends ResetPassword\n{\n    use Queueable;\n\n    /**\n     * Create a new notification instance.\n     *\n     * @return void\n     */\n    public function __construct($token)\n    {\n        parent::__construct($token);\n    }\n\n    /**\n     * Get the notification's delivery channels.\n     *\n     * @param  mixed  $notifiable\n     * @return array\n     */\n    public function via($notifiable)\n    {\n        return ['mail'];\n    }\n\n    /**\n     * Get the mail representation of the notification.\n     *\n     * @param  mixed  $notifiable\n     * @return \\Illuminate\\Notifications\\Messages\\MailMessage\n     */\n    public function toMail($notifiable)\n    {\n        $link = url(\"/reset-password/\".$this->token);\n\n        return ( new MailMessage() )\n            ->subject('Reset Password Notification')\n            ->line(\"Hello! You are receiving this email because we received a password reset request for your account.\")\n            ->action('Reset Password', $link)\n            ->line(\"This password reset link will expire in \".config('auth.passwords.users.expire').\" minutes\")\n            ->line(\"If you did not request a password reset, no further action is required.\");\n    }\n\n    /**\n     * Get the array representation of the notification.\n     *\n     * @param  mixed  $notifiable\n     * @return array\n     */\n    public function toArray($notifiable)\n    {\n        return [\n            //\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Policies/CompanyPolicy.php",
    "content": "<?php\n\nnamespace Crater\\Policies;\n\nuse Crater\\Models\\Company;\nuse Crater\\Models\\User;\nuse Illuminate\\Auth\\Access\\HandlesAuthorization;\n\nclass CompanyPolicy\n{\n    use HandlesAuthorization;\n\n    public function create(User $user)\n    {\n        if ($user->isOwner()) {\n            return true;\n        }\n\n        return false;\n    }\n\n    public function delete(User $user, Company $company)\n    {\n        if ($user->id == $company->owner_id) {\n            return true;\n        }\n\n        return false;\n    }\n\n    public function transferOwnership(User $user, Company $company)\n    {\n        if ($user->id == $company->owner_id) {\n            return true;\n        }\n\n        return false;\n    }\n}\n"
  },
  {
    "path": "app/Policies/CustomFieldPolicy.php",
    "content": "<?php\n\nnamespace Crater\\Policies;\n\nuse Crater\\Models\\CustomField;\nuse Crater\\Models\\User;\nuse Illuminate\\Auth\\Access\\HandlesAuthorization;\nuse Silber\\Bouncer\\BouncerFacade;\n\nclass CustomFieldPolicy\n{\n    use HandlesAuthorization;\n\n    /**\n     * Determine whether the user can view any models.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @return mixed\n     */\n    public function viewAny(User $user)\n    {\n        if (BouncerFacade::can('view-custom-field', CustomField::class)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can view the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\CustomField  $customField\n     * @return mixed\n     */\n    public function view(User $user, CustomField $customField)\n    {\n        if (BouncerFacade::can('view-custom-field', $customField) && $user->hasCompany($customField->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can create models.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @return mixed\n     */\n    public function create(User $user)\n    {\n        if (BouncerFacade::can('create-custom-field', CustomField::class)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can update the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\CustomField  $customField\n     * @return mixed\n     */\n    public function update(User $user, CustomField $customField)\n    {\n        if (BouncerFacade::can('edit-custom-field', $customField) && $user->hasCompany($customField->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can delete the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\CustomField  $customField\n     * @return mixed\n     */\n    public function delete(User $user, CustomField $customField)\n    {\n        if (BouncerFacade::can('delete-custom-field', $customField) && $user->hasCompany($customField->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can restore the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\CustomField  $customField\n     * @return mixed\n     */\n    public function restore(User $user, CustomField $customField)\n    {\n        if (BouncerFacade::can('delete-custom-field', $customField) && $user->hasCompany($customField->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can permanently delete the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\CustomField  $customField\n     * @return mixed\n     */\n    public function forceDelete(User $user, CustomField $customField)\n    {\n        if (BouncerFacade::can('delete-custom-field', $customField) && $user->hasCompany($customField->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n}\n"
  },
  {
    "path": "app/Policies/CustomerPolicy.php",
    "content": "<?php\n\nnamespace Crater\\Policies;\n\nuse Crater\\Models\\Customer;\nuse Crater\\Models\\User;\nuse Illuminate\\Auth\\Access\\HandlesAuthorization;\nuse Silber\\Bouncer\\BouncerFacade;\n\nclass CustomerPolicy\n{\n    use HandlesAuthorization;\n\n    /**\n     * Determine whether the user can view any models.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @return mixed\n     */\n    public function viewAny(User $user)\n    {\n        if (BouncerFacade::can('view-customer', Customer::class)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can view the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\Customer  $customer\n     * @return mixed\n     */\n    public function view(User $user, Customer $customer)\n    {\n        if (BouncerFacade::can('view-customer', $customer)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can create models.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @return mixed\n     */\n    public function create(User $user)\n    {\n        if (BouncerFacade::can('create-customer', Customer::class)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can update the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\Customer  $customer\n     * @return mixed\n     */\n    public function update(User $user, Customer $customer)\n    {\n        if (BouncerFacade::can('edit-customer', $customer)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can delete the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\Customer  $customer\n     * @return mixed\n     */\n    public function delete(User $user, Customer $customer)\n    {\n        if (BouncerFacade::can('delete-customer', $customer)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can restore the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\Customer  $customer\n     * @return mixed\n     */\n    public function restore(User $user, Customer $customer)\n    {\n        if (BouncerFacade::can('delete-customer', $customer)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can permanently delete the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\Customer  $customer\n     * @return mixed\n     */\n    public function forceDelete(User $user, Customer $customer)\n    {\n        if (BouncerFacade::can('delete-customer', $customer)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can delete models.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @return mixed\n     */\n    public function deleteMultiple(User $user)\n    {\n        if (BouncerFacade::can('delete-customer', Customer::class)) {\n            return true;\n        }\n\n        return false;\n    }\n}\n"
  },
  {
    "path": "app/Policies/DashboardPolicy.php",
    "content": "<?php\n\nnamespace Crater\\Policies;\n\nuse Crater\\Models\\Company;\nuse Crater\\Models\\User;\nuse Illuminate\\Auth\\Access\\HandlesAuthorization;\nuse Silber\\Bouncer\\BouncerFacade;\n\nclass DashboardPolicy\n{\n    use HandlesAuthorization;\n\n    public function view(User $user, Company $company)\n    {\n        if (BouncerFacade::can('dashboard') && $user->hasCompany($company->id)) {\n            return true;\n        }\n\n        return false;\n    }\n}\n"
  },
  {
    "path": "app/Policies/EstimatePolicy.php",
    "content": "<?php\n\nnamespace Crater\\Policies;\n\nuse Crater\\Models\\Estimate;\nuse Crater\\Models\\User;\nuse Illuminate\\Auth\\Access\\HandlesAuthorization;\nuse Silber\\Bouncer\\BouncerFacade;\n\nclass EstimatePolicy\n{\n    use HandlesAuthorization;\n\n    /**\n     * Determine whether the user can view any models.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @return mixed\n     */\n    public function viewAny(User $user)\n    {\n        if (BouncerFacade::can('view-estimate', Estimate::class)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can view the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\Estimate  $estimate\n     * @return mixed\n     */\n    public function view(User $user, Estimate $estimate)\n    {\n        if (BouncerFacade::can('view-estimate', $estimate) && $user->hasCompany($estimate->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can create models.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @return mixed\n     */\n    public function create(User $user)\n    {\n        if (BouncerFacade::can('create-estimate', Estimate::class)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can update the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\Estimate  $estimate\n     * @return mixed\n     */\n    public function update(User $user, Estimate $estimate)\n    {\n        if (BouncerFacade::can('edit-estimate', $estimate) && $user->hasCompany($estimate->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can delete the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\Estimate  $estimate\n     * @return mixed\n     */\n    public function delete(User $user, Estimate $estimate)\n    {\n        if (BouncerFacade::can('delete-estimate', $estimate) && $user->hasCompany($estimate->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can restore the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\Estimate  $estimate\n     * @return mixed\n     */\n    public function restore(User $user, Estimate $estimate)\n    {\n        if (BouncerFacade::can('delete-estimate', $estimate) && $user->hasCompany($estimate->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can permanently delete the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\Estimate  $estimate\n     * @return mixed\n     */\n    public function forceDelete(User $user, Estimate $estimate)\n    {\n        if (BouncerFacade::can('delete-estimate', $estimate) && $user->hasCompany($estimate->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can send email of the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\Estimate  $payment\n     * @return mixed\n     */\n    public function send(User $user, Estimate $estimate)\n    {\n        if (BouncerFacade::can('send-estimate', $estimate) && $user->hasCompany($estimate->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can delete models.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @return mixed\n     */\n    public function deleteMultiple(User $user)\n    {\n        if (BouncerFacade::can('delete-estimate', Estimate::class)) {\n            return true;\n        }\n\n        return false;\n    }\n}\n"
  },
  {
    "path": "app/Policies/ExchangeRateProviderPolicy.php",
    "content": "<?php\n\nnamespace Crater\\Policies;\n\nuse Crater\\Models\\ExchangeRateProvider;\nuse Crater\\Models\\User;\nuse Illuminate\\Auth\\Access\\HandlesAuthorization;\nuse Silber\\Bouncer\\BouncerFacade;\n\nclass ExchangeRateProviderPolicy\n{\n    use HandlesAuthorization;\n\n    /**\n     * Determine whether the user can view any models.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @return \\Illuminate\\Auth\\Access\\Response|bool\n     */\n    public function viewAny(User $user)\n    {\n        if (BouncerFacade::can('view-exchange-rate-provider', ExchangeRateProvider::class)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can view the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\ExchangeRateProvider  $exchangeRateProvider\n     * @return \\Illuminate\\Auth\\Access\\Response|bool\n     */\n    public function view(User $user, ExchangeRateProvider $exchangeRateProvider)\n    {\n        if (BouncerFacade::can('view-exchange-rate-provider', $exchangeRateProvider) && $user->hasCompany($exchangeRateProvider->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can create models.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @return \\Illuminate\\Auth\\Access\\Response|bool\n     */\n    public function create(User $user)\n    {\n        if (BouncerFacade::can('create-exchange-rate-provider', ExchangeRateProvider::class)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can update the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\ExchangeRateProvider  $exchangeRateProvider\n     * @return \\Illuminate\\Auth\\Access\\Response|bool\n     */\n    public function update(User $user, ExchangeRateProvider $exchangeRateProvider)\n    {\n        if (BouncerFacade::can('edit-exchange-rate-provider', $exchangeRateProvider) && $user->hasCompany($exchangeRateProvider->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can delete the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\ExchangeRateProvider  $exchangeRateProvider\n     * @return \\Illuminate\\Auth\\Access\\Response|bool\n     */\n    public function delete(User $user, ExchangeRateProvider $exchangeRateProvider)\n    {\n        if (BouncerFacade::can('delete-exchange-rate-provider', $exchangeRateProvider) && $user->hasCompany($exchangeRateProvider->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can restore the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\ExchangeRateProvider  $exchangeRateProvider\n     * @return \\Illuminate\\Auth\\Access\\Response|bool\n     */\n    public function restore(User $user, ExchangeRateProvider $exchangeRateProvider)\n    {\n        //\n    }\n\n    /**\n     * Determine whether the user can permanently delete the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\ExchangeRateProvider  $exchangeRateProvider\n     * @return \\Illuminate\\Auth\\Access\\Response|bool\n     */\n    public function forceDelete(User $user, ExchangeRateProvider $exchangeRateProvider)\n    {\n        //\n    }\n}\n"
  },
  {
    "path": "app/Policies/ExpenseCategoryPolicy.php",
    "content": "<?php\n\nnamespace Crater\\Policies;\n\nuse Crater\\Models\\Expense;\nuse Crater\\Models\\ExpenseCategory;\nuse Crater\\Models\\User;\nuse Illuminate\\Auth\\Access\\HandlesAuthorization;\nuse Silber\\Bouncer\\BouncerFacade;\n\nclass ExpenseCategoryPolicy\n{\n    use HandlesAuthorization;\n\n    /**\n     * Determine whether the user can view any models.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @return mixed\n     */\n    public function viewAny(User $user)\n    {\n        if (BouncerFacade::can('view-expense', Expense::class)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can view the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\ExpenseCategory  $expenseCategory\n     * @return mixed\n     */\n    public function view(User $user, ExpenseCategory $expenseCategory)\n    {\n        if (BouncerFacade::can('view-expense', Expense::class) && $user->hasCompany($expenseCategory->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can create models.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @return mixed\n     */\n    public function create(User $user)\n    {\n        if (BouncerFacade::can('view-expense', Expense::class)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can update the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\ExpenseCategory  $expenseCategory\n     * @return mixed\n     */\n    public function update(User $user, ExpenseCategory $expenseCategory)\n    {\n        if (BouncerFacade::can('view-expense', Expense::class) && $user->hasCompany($expenseCategory->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can delete the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\ExpenseCategory  $expenseCategory\n     * @return mixed\n     */\n    public function delete(User $user, ExpenseCategory $expenseCategory)\n    {\n        if (BouncerFacade::can('view-expense', Expense::class) && $user->hasCompany($expenseCategory->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can restore the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\ExpenseCategory  $expenseCategory\n     * @return mixed\n     */\n    public function restore(User $user, ExpenseCategory $expenseCategory)\n    {\n        if (BouncerFacade::can('view-expense', Expense::class) && $user->hasCompany($expenseCategory->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can permanently delete the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\ExpenseCategory  $expenseCategory\n     * @return mixed\n     */\n    public function forceDelete(User $user, ExpenseCategory $expenseCategory)\n    {\n        if (BouncerFacade::can('view-expense', Expense::class) && $user->hasCompany($expenseCategory->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n}\n"
  },
  {
    "path": "app/Policies/ExpensePolicy.php",
    "content": "<?php\n\nnamespace Crater\\Policies;\n\nuse Crater\\Models\\Expense;\nuse Crater\\Models\\User;\nuse Illuminate\\Auth\\Access\\HandlesAuthorization;\nuse Silber\\Bouncer\\BouncerFacade;\n\nclass ExpensePolicy\n{\n    use HandlesAuthorization;\n\n    /**\n     * Determine whether the user can view any models.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @return mixed\n     */\n    public function viewAny(User $user)\n    {\n        if (BouncerFacade::can('view-expense', Expense::class)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can view the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\Expense  $expense\n     * @return mixed\n     */\n    public function view(User $user, Expense $expense)\n    {\n        if (BouncerFacade::can('view-expense', $expense) && $user->hasCompany($expense->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can create models.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @return mixed\n     */\n    public function create(User $user)\n    {\n        if (BouncerFacade::can('create-expense', Expense::class)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can update the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\Expense  $expense\n     * @return mixed\n     */\n    public function update(User $user, Expense $expense)\n    {\n        if (BouncerFacade::can('edit-expense', $expense) && $user->hasCompany($expense->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can delete the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\Expense  $expense\n     * @return mixed\n     */\n    public function delete(User $user, Expense $expense)\n    {\n        if (BouncerFacade::can('delete-expense', $expense) && $user->hasCompany($expense->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can restore the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\Expense  $expense\n     * @return mixed\n     */\n    public function restore(User $user, Expense $expense)\n    {\n        if (BouncerFacade::can('delete-expense', $expense) && $user->hasCompany($expense->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can permanently delete the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\Expense  $expense\n     * @return mixed\n     */\n    public function forceDelete(User $user, Expense $expense)\n    {\n        if (BouncerFacade::can('delete-expense', $expense) && $user->hasCompany($expense->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can delete models.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @return mixed\n     */\n    public function deleteMultiple(User $user)\n    {\n        if (BouncerFacade::can('delete-expense', Expense::class)) {\n            return true;\n        }\n\n        return false;\n    }\n}\n"
  },
  {
    "path": "app/Policies/InvoicePolicy.php",
    "content": "<?php\n\nnamespace Crater\\Policies;\n\nuse Crater\\Models\\Invoice;\nuse Crater\\Models\\User;\nuse Illuminate\\Auth\\Access\\HandlesAuthorization;\nuse Silber\\Bouncer\\BouncerFacade;\n\nclass InvoicePolicy\n{\n    use HandlesAuthorization;\n\n    /**\n     * Determine whether the user can view any models.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @return mixed\n     */\n    public function viewAny(User $user)\n    {\n        if (BouncerFacade::can('view-invoice', Invoice::class)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can view the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\Invoice  $invoice\n     * @return mixed\n     */\n    public function view(User $user, Invoice $invoice)\n    {\n        if (BouncerFacade::can('view-invoice', $invoice) && $user->hasCompany($invoice->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can create models.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @return mixed\n     */\n    public function create(User $user)\n    {\n        if (BouncerFacade::can('create-invoice', Invoice::class)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can update the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\Invoice  $invoice\n     * @return mixed\n     */\n    public function update(User $user, Invoice $invoice)\n    {\n        if (BouncerFacade::can('edit-invoice', $invoice) && $user->hasCompany($invoice->company_id)) {\n            return $invoice->allow_edit;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can delete the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\Invoice  $invoice\n     * @return mixed\n     */\n    public function delete(User $user, Invoice $invoice)\n    {\n        if (BouncerFacade::can('delete-invoice', $invoice) && $user->hasCompany($invoice->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can restore the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\Invoice  $invoice\n     * @return mixed\n     */\n    public function restore(User $user, Invoice $invoice)\n    {\n        if (BouncerFacade::can('delete-invoice', $invoice) && $user->hasCompany($invoice->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can permanently delete the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\Invoice  $invoice\n     * @return mixed\n     */\n    public function forceDelete(User $user, Invoice $invoice)\n    {\n        if (BouncerFacade::can('delete-invoice', $invoice) && $user->hasCompany($invoice->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can send email of the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\Payment  $payment\n     * @return mixed\n     */\n    public function send(User $user, Invoice $invoice)\n    {\n        if (BouncerFacade::can('send-invoice', $invoice) && $user->hasCompany($invoice->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can delete models.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @return mixed\n     */\n    public function deleteMultiple(User $user)\n    {\n        if (BouncerFacade::can('delete-invoice', Invoice::class)) {\n            return true;\n        }\n\n        return false;\n    }\n}\n"
  },
  {
    "path": "app/Policies/ItemPolicy.php",
    "content": "<?php\n\nnamespace Crater\\Policies;\n\nuse Crater\\Models\\Item;\nuse Crater\\Models\\User;\nuse Illuminate\\Auth\\Access\\HandlesAuthorization;\nuse Silber\\Bouncer\\BouncerFacade;\n\nclass ItemPolicy\n{\n    use HandlesAuthorization;\n\n    /**\n     * Determine whether the user can view any models.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @return mixed\n     */\n    public function viewAny(User $user)\n    {\n        if (BouncerFacade::can('view-item', Item::class)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can view the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\Item  $item\n     * @return mixed\n     */\n    public function view(User $user, Item $item)\n    {\n        if (BouncerFacade::can('view-item', $item) && $user->hasCompany($item->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can create models.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @return mixed\n     */\n    public function create(User $user)\n    {\n        if (BouncerFacade::can('create-item', Item::class)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can update the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\Item  $item\n     * @return mixed\n     */\n    public function update(User $user, Item $item)\n    {\n        if (BouncerFacade::can('edit-item', $item) && $user->hasCompany($item->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can delete the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\Item  $item\n     * @return mixed\n     */\n    public function delete(User $user, Item $item)\n    {\n        if (BouncerFacade::can('delete-item', $item) && $user->hasCompany($item->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can restore the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\Item  $item\n     * @return mixed\n     */\n    public function restore(User $user, Item $item)\n    {\n        if (BouncerFacade::can('delete-item', $item) && $user->hasCompany($item->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can permanently delete the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\Item  $item\n     * @return mixed\n     */\n    public function forceDelete(User $user, Item $item)\n    {\n        if (BouncerFacade::can('delete-item', $item) && $user->hasCompany($item->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can delete models.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @return mixed\n     */\n    public function deleteMultiple(User $user)\n    {\n        if (BouncerFacade::can('delete-item', Item::class)) {\n            return true;\n        }\n\n        return false;\n    }\n}\n"
  },
  {
    "path": "app/Policies/ModulesPolicy.php",
    "content": "<?php\n\nnamespace Crater\\Policies;\n\nuse Crater\\Models\\User;\nuse Illuminate\\Auth\\Access\\HandlesAuthorization;\n\nclass ModulesPolicy\n{\n    use HandlesAuthorization;\n\n    public function manageModules(User $user)\n    {\n        if ($user->isOwner()) {\n            return true;\n        }\n\n        return false;\n    }\n}\n"
  },
  {
    "path": "app/Policies/NotePolicy.php",
    "content": "<?php\n\nnamespace Crater\\Policies;\n\nuse Crater\\Models\\Note;\nuse Crater\\Models\\User;\nuse Illuminate\\Auth\\Access\\HandlesAuthorization;\nuse Silber\\Bouncer\\BouncerFacade;\n\nclass NotePolicy\n{\n    use HandlesAuthorization;\n\n    public function manageNotes(User $user)\n    {\n        if (BouncerFacade::can('manage-all-notes', Note::class)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    public function viewNotes(User $user)\n    {\n        if (BouncerFacade::can('view-all-notes', Note::class)) {\n            return true;\n        }\n\n        return false;\n    }\n}\n"
  },
  {
    "path": "app/Policies/OwnerPolicy.php",
    "content": "<?php\n\nnamespace Crater\\Policies;\n\nuse Crater\\Models\\User;\nuse Illuminate\\Auth\\Access\\HandlesAuthorization;\n\nclass OwnerPolicy\n{\n    use HandlesAuthorization;\n\n    public function managedByOwner(User $user)\n    {\n        if ($user->isOwner()) {\n            return true;\n        }\n\n        return false;\n    }\n}\n"
  },
  {
    "path": "app/Policies/PaymentMethodPolicy.php",
    "content": "<?php\n\nnamespace Crater\\Policies;\n\nuse Crater\\Models\\Payment;\nuse Crater\\Models\\PaymentMethod;\nuse Crater\\Models\\User;\nuse Illuminate\\Auth\\Access\\HandlesAuthorization;\nuse Silber\\Bouncer\\BouncerFacade;\n\nclass PaymentMethodPolicy\n{\n    use HandlesAuthorization;\n\n    /**\n     * Determine whether the user can view any models.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @return mixed\n     */\n    public function viewAny(User $user)\n    {\n        if (BouncerFacade::can('view-payment', Payment::class)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can view the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\PaymentMethod  $paymentMethod\n     * @return mixed\n     */\n    public function view(User $user, PaymentMethod $paymentMethod)\n    {\n        if (BouncerFacade::can('view-payment', Payment::class) && $user->hasCompany($paymentMethod->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can create models.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @return mixed\n     */\n    public function create(User $user)\n    {\n        if (BouncerFacade::can('view-payment', Payment::class)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can update the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\PaymentMethod  $paymentMethod\n     * @return mixed\n     */\n    public function update(User $user, PaymentMethod $paymentMethod)\n    {\n        if (BouncerFacade::can('view-payment', Payment::class) && $user->hasCompany($paymentMethod->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can delete the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\PaymentMethod  $paymentMethod\n     * @return mixed\n     */\n    public function delete(User $user, PaymentMethod $paymentMethod)\n    {\n        if (BouncerFacade::can('view-payment', Payment::class) && $user->hasCompany($paymentMethod->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can restore the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\PaymentMethod  $paymentMethod\n     * @return mixed\n     */\n    public function restore(User $user, PaymentMethod $paymentMethod)\n    {\n        if (BouncerFacade::can('view-payment', Payment::class) && $user->hasCompany($paymentMethod->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can permanently delete the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\PaymentMethod  $paymentMethod\n     * @return mixed\n     */\n    public function forceDelete(User $user, PaymentMethod $paymentMethod)\n    {\n        if (BouncerFacade::can('view-payment', Payment::class) && $user->hasCompany($paymentMethod->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n}\n"
  },
  {
    "path": "app/Policies/PaymentPolicy.php",
    "content": "<?php\n\nnamespace Crater\\Policies;\n\nuse Crater\\Models\\Payment;\nuse Crater\\Models\\User;\nuse Illuminate\\Auth\\Access\\HandlesAuthorization;\nuse Silber\\Bouncer\\BouncerFacade;\n\nclass PaymentPolicy\n{\n    use HandlesAuthorization;\n\n    /**\n     * Determine whether the user can view any models.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @return mixed\n     */\n    public function viewAny(User $user)\n    {\n        if (BouncerFacade::can('view-payment', Payment::class)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can view the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\Payment  $payment\n     * @return mixed\n     */\n    public function view(User $user, Payment $payment)\n    {\n        if (BouncerFacade::can('view-payment', $payment) && $user->hasCompany($payment->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can create models.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @return mixed\n     */\n    public function create(User $user)\n    {\n        if (BouncerFacade::can('create-payment', Payment::class)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can update the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\Payment  $payment\n     * @return mixed\n     */\n    public function update(User $user, Payment $payment)\n    {\n        if (BouncerFacade::can('edit-payment', $payment) && $user->hasCompany($payment->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can delete the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\Payment  $payment\n     * @return mixed\n     */\n    public function delete(User $user, Payment $payment)\n    {\n        if (BouncerFacade::can('delete-payment', $payment) && $user->hasCompany($payment->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can restore the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\Payment  $payment\n     * @return mixed\n     */\n    public function restore(User $user, Payment $payment)\n    {\n        if (BouncerFacade::can('delete-payment', $payment) && $user->hasCompany($payment->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can permanently delete the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\Payment  $payment\n     * @return mixed\n     */\n    public function forceDelete(User $user, Payment $payment)\n    {\n        if (BouncerFacade::can('delete-payment', $payment) && $user->hasCompany($payment->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can send email of the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\Payment  $payment\n     * @return mixed\n     */\n    public function send(User $user, Payment $payment)\n    {\n        if (BouncerFacade::can('send-payment', $payment) && $user->hasCompany($payment->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can delete models.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @return mixed\n     */\n    public function deleteMultiple(User $user)\n    {\n        if (BouncerFacade::can('delete-payment', Payment::class)) {\n            return true;\n        }\n\n        return false;\n    }\n}\n"
  },
  {
    "path": "app/Policies/RecurringInvoicePolicy.php",
    "content": "<?php\n\nnamespace Crater\\Policies;\n\nuse Crater\\Models\\RecurringInvoice;\nuse Crater\\Models\\User;\nuse Illuminate\\Auth\\Access\\HandlesAuthorization;\nuse Silber\\Bouncer\\BouncerFacade;\n\nclass RecurringInvoicePolicy\n{\n    use HandlesAuthorization;\n\n    /**\n     * Determine whether the user can view any models.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @return \\Illuminate\\Auth\\Access\\Response|bool\n     */\n    public function viewAny(User $user)\n    {\n        if (BouncerFacade::can('view-recurring-invoice', RecurringInvoice::class)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can view the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\RecurringInvoice  $recurringInvoice\n     * @return \\Illuminate\\Auth\\Access\\Response|bool\n     */\n    public function view(User $user, RecurringInvoice $recurringInvoice)\n    {\n        if (BouncerFacade::can('view-recurring-invoice', $recurringInvoice) && $user->hasCompany($recurringInvoice->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can create models.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @return \\Illuminate\\Auth\\Access\\Response|bool\n     */\n    public function create(User $user)\n    {\n        if (BouncerFacade::can('create-recurring-invoice', RecurringInvoice::class)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can update the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\RecurringInvoice  $recurringInvoice\n     * @return \\Illuminate\\Auth\\Access\\Response|bool\n     */\n    public function update(User $user, RecurringInvoice $recurringInvoice)\n    {\n        if (BouncerFacade::can('edit-recurring-invoice', $recurringInvoice) && $user->hasCompany($recurringInvoice->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can delete the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\RecurringInvoice  $recurringInvoice\n     * @return \\Illuminate\\Auth\\Access\\Response|bool\n     */\n    public function delete(User $user, RecurringInvoice $recurringInvoice)\n    {\n        if (BouncerFacade::can('delete-recurring-invoice', $recurringInvoice) && $user->hasCompany($recurringInvoice->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can restore the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\RecurringInvoice  $recurringInvoice\n     * @return \\Illuminate\\Auth\\Access\\Response|bool\n     */\n    public function restore(User $user, RecurringInvoice $recurringInvoice)\n    {\n        if (BouncerFacade::can('delete-recurring-invoice', $recurringInvoice) && $user->hasCompany($recurringInvoice->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can permanently delete the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\RecurringInvoice  $recurringInvoice\n     * @return \\Illuminate\\Auth\\Access\\Response|bool\n     */\n    public function forceDelete(User $user, RecurringInvoice $recurringInvoice)\n    {\n        if (BouncerFacade::can('delete-recurring-invoice', $recurringInvoice) && $user->hasCompany($recurringInvoice->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can delete models.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @return mixed\n     */\n    public function deleteMultiple(User $user)\n    {\n        if (BouncerFacade::can('delete-recurring-invoice', RecurringInvoice::class)) {\n            return true;\n        }\n\n        return false;\n    }\n}\n"
  },
  {
    "path": "app/Policies/ReportPolicy.php",
    "content": "<?php\n\nnamespace Crater\\Policies;\n\nuse Crater\\Models\\Company;\nuse Crater\\Models\\User;\nuse Illuminate\\Auth\\Access\\HandlesAuthorization;\nuse Silber\\Bouncer\\BouncerFacade;\n\nclass ReportPolicy\n{\n    use HandlesAuthorization;\n\n    public function viewReport(User $user, Company $company)\n    {\n        if (BouncerFacade::can('view-financial-reports') && $user->hasCompany($company->id)) {\n            return true;\n        }\n\n        return false;\n    }\n}\n"
  },
  {
    "path": "app/Policies/RolePolicy.php",
    "content": "<?php\n\nnamespace Crater\\Policies;\n\nuse Crater\\Models\\User;\nuse Illuminate\\Auth\\Access\\HandlesAuthorization;\nuse Silber\\Bouncer\\Database\\Role;\n\nclass RolePolicy\n{\n    use HandlesAuthorization;\n\n    /**\n     * Determine whether the user can view any models.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @return mixed\n     */\n    public function viewAny(User $user)\n    {\n        if ($user->isOwner()) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can view the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Silber\\Bouncer\\Database\\Role  $role\n     * @return mixed\n     */\n    public function view(User $user, Role $role)\n    {\n        if ($user->isOwner()) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can create models.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @return mixed\n     */\n    public function create(User $user)\n    {\n        if ($user->isOwner()) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can update the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Silber\\Bouncer\\Database\\Role  $role\n     * @return mixed\n     */\n    public function update(User $user, Role $role)\n    {\n        if ($user->isOwner()) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can delete the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Silber\\Bouncer\\Database\\Role  $role\n     * @return mixed\n     */\n    public function delete(User $user, Role $role)\n    {\n        if ($user->isOwner()) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can restore the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Silber\\Bouncer\\Database\\Role  $role\n     * @return mixed\n     */\n    public function restore(User $user, Role $role)\n    {\n        if ($user->isOwner()) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can permanently delete the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Silber\\Bouncer\\Database\\Role  $role\n     * @return mixed\n     */\n    public function forceDelete(User $user, Role $role)\n    {\n        if ($user->isOwner()) {\n            return true;\n        }\n\n        return false;\n    }\n}\n"
  },
  {
    "path": "app/Policies/SettingsPolicy.php",
    "content": "<?php\n\nnamespace Crater\\Policies;\n\nuse Crater\\Models\\Company;\nuse Crater\\Models\\User;\nuse Illuminate\\Auth\\Access\\HandlesAuthorization;\n\nclass SettingsPolicy\n{\n    use HandlesAuthorization;\n\n    public function manageCompany(User $user, Company $company)\n    {\n        if ($user->id == $company->owner_id) {\n            return true;\n        }\n\n        return false;\n    }\n\n    public function manageBackups(User $user)\n    {\n        if ($user->isOwner()) {\n            return true;\n        }\n\n        return false;\n    }\n\n    public function manageFileDisk(User $user)\n    {\n        if ($user->isOwner()) {\n            return true;\n        }\n\n        return false;\n    }\n\n    public function manageEmailConfig(User $user)\n    {\n        if ($user->isOwner()) {\n            return true;\n        }\n\n        return false;\n    }\n\n    public function manageSettings(User $user)\n    {\n        if ($user->isOwner()) {\n            return true;\n        }\n\n        return false;\n    }\n}\n"
  },
  {
    "path": "app/Policies/TaxTypePolicy.php",
    "content": "<?php\n\nnamespace Crater\\Policies;\n\nuse Crater\\Models\\TaxType;\nuse Crater\\Models\\User;\nuse Illuminate\\Auth\\Access\\HandlesAuthorization;\nuse Silber\\Bouncer\\BouncerFacade;\n\nclass TaxTypePolicy\n{\n    use HandlesAuthorization;\n\n    /**\n     * Determine whether the user can view any models.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @return mixed\n     */\n    public function viewAny(User $user)\n    {\n        if (BouncerFacade::can('view-tax-type', TaxType::class)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can view the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\TaxType  $taxType\n     * @return mixed\n     */\n    public function view(User $user, TaxType $taxType)\n    {\n        if (BouncerFacade::can('view-tax-type', $taxType) && $user->hasCompany($taxType->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can create models.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @return mixed\n     */\n    public function create(User $user)\n    {\n        if (BouncerFacade::can('create-tax-type', TaxType::class)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can update the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\TaxType  $taxType\n     * @return mixed\n     */\n    public function update(User $user, TaxType $taxType)\n    {\n        if (BouncerFacade::can('edit-tax-type', $taxType) && $user->hasCompany($taxType->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can delete the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\TaxType  $taxType\n     * @return mixed\n     */\n    public function delete(User $user, TaxType $taxType)\n    {\n        if (BouncerFacade::can('delete-tax-type', $taxType) && $user->hasCompany($taxType->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can restore the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\TaxType  $taxType\n     * @return mixed\n     */\n    public function restore(User $user, TaxType $taxType)\n    {\n        if (BouncerFacade::can('delete-tax-type', $taxType) && $user->hasCompany($taxType->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can permanently delete the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\TaxType  $taxType\n     * @return mixed\n     */\n    public function forceDelete(User $user, TaxType $taxType)\n    {\n        if (BouncerFacade::can('delete-tax-type', $taxType) && $user->hasCompany($taxType->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n}\n"
  },
  {
    "path": "app/Policies/UnitPolicy.php",
    "content": "<?php\n\nnamespace Crater\\Policies;\n\nuse Crater\\Models\\Item;\nuse Crater\\Models\\Unit;\nuse Crater\\Models\\User;\nuse Illuminate\\Auth\\Access\\HandlesAuthorization;\nuse Silber\\Bouncer\\BouncerFacade;\n\nclass UnitPolicy\n{\n    use HandlesAuthorization;\n\n    /**\n     * Determine whether the user can view any models.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @return mixed\n     */\n    public function viewAny(User $user)\n    {\n        if (BouncerFacade::can('view-item', Item::class)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can view the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\Unit  $unit\n     * @return mixed\n     */\n    public function view(User $user, Unit $unit)\n    {\n        if (BouncerFacade::can('view-item', Item::class) && $user->hasCompany($unit->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can create models.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @return mixed\n     */\n    public function create(User $user)\n    {\n        if (BouncerFacade::can('view-item', Item::class)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can update the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\Unit  $unit\n     * @return mixed\n     */\n    public function update(User $user, Unit $unit)\n    {\n        if (BouncerFacade::can('view-item', Item::class) && $user->hasCompany($unit->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can delete the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\Unit  $unit\n     * @return mixed\n     */\n    public function delete(User $user, Unit $unit)\n    {\n        if (BouncerFacade::can('view-item', Item::class) && $user->hasCompany($unit->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can restore the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\Unit  $unit\n     * @return mixed\n     */\n    public function restore(User $user, Unit $unit)\n    {\n        if (BouncerFacade::can('view-item', Item::class) && $user->hasCompany($unit->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can permanently delete the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\Unit  $unit\n     * @return mixed\n     */\n    public function forceDelete(User $user, Unit $unit)\n    {\n        if (BouncerFacade::can('view-item', Item::class) && $user->hasCompany($unit->company_id)) {\n            return true;\n        }\n\n        return false;\n    }\n}\n"
  },
  {
    "path": "app/Policies/UserPolicy.php",
    "content": "<?php\n\nnamespace Crater\\Policies;\n\nuse Crater\\Models\\User;\nuse Illuminate\\Auth\\Access\\HandlesAuthorization;\n\nclass UserPolicy\n{\n    use HandlesAuthorization;\n\n    /**\n     * Determine whether the user can view any models.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @return mixed\n     */\n    public function viewAny(User $user)\n    {\n        if ($user->isOwner()) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can view the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\User  $model\n     * @return mixed\n     */\n    public function view(User $user, User $model)\n    {\n        if ($user->isOwner()) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can create models.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @return mixed\n     */\n    public function create(User $user)\n    {\n        if ($user->isOwner()) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can update the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\User  $model\n     * @return mixed\n     */\n    public function update(User $user, User $model)\n    {\n        if ($user->isOwner()) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can delete the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\User  $model\n     * @return mixed\n     */\n    public function delete(User $user, User $model)\n    {\n        if ($user->isOwner()) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can restore the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\User  $model\n     * @return mixed\n     */\n    public function restore(User $user, User $model)\n    {\n        if ($user->isOwner()) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can permanently delete the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\User  $model\n     * @return mixed\n     */\n    public function forceDelete(User $user, User $model)\n    {\n        if ($user->isOwner()) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can invite the model.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @param  \\Crater\\Models\\User  $model\n     * @return mixed\n     */\n    public function invite(User $user, User $model)\n    {\n        if ($user->isOwner()) {\n            return true;\n        }\n\n        return false;\n    }\n\n    /**\n     * Determine whether the user can delete models.\n     *\n     * @param  \\Crater\\Models\\User  $user\n     * @return mixed\n     */\n    public function deleteMultiple(User $user)\n    {\n        if ($user->isOwner()) {\n            return true;\n        }\n\n        return false;\n    }\n}\n"
  },
  {
    "path": "app/Providers/AppServiceProvider.php",
    "content": "<?php\n\nnamespace Crater\\Providers;\n\nuse Illuminate\\Pagination\\Paginator;\nuse Illuminate\\Support\\Facades\\Schema;\nuse Illuminate\\Support\\ServiceProvider;\n\nclass AppServiceProvider extends ServiceProvider\n{\n    /**\n     * Bootstrap any application services.\n     *\n     * @return void\n     */\n    public function boot()\n    {\n        Paginator::useBootstrapThree();\n        $this->loadJsonTranslationsFrom(resource_path('scripts/locales'));\n\n        if (\\Storage::disk('local')->has('database_created') && Schema::hasTable('abilities')) {\n            $this->addMenus();\n        }\n    }\n\n    /**\n     * Register any application services.\n     *\n     * @return void\n     */\n    public function register()\n    {\n        //\n    }\n\n    public function addMenus()\n    {\n        //main menu\n        \\Menu::make('main_menu', function ($menu) {\n            foreach (config('crater.main_menu') as $data) {\n                $this->generateMenu($menu, $data);\n            }\n        });\n\n        //setting menu\n        \\Menu::make('setting_menu', function ($menu) {\n            foreach (config('crater.setting_menu') as $data) {\n                $this->generateMenu($menu, $data);\n            }\n        });\n\n        \\Menu::make('customer_portal_menu', function ($menu) {\n            foreach (config('crater.customer_menu') as $data) {\n                $this->generateMenu($menu, $data);\n            }\n        });\n    }\n\n    public function generateMenu($menu, $data)\n    {\n        $menu->add($data['title'], $data['link'])\n            ->data('icon', $data['icon'])\n            ->data('name', $data['name'])\n            ->data('owner_only', $data['owner_only'])\n            ->data('ability', $data['ability'])\n            ->data('model', $data['model'])\n            ->data('group', $data['group']);\n    }\n}\n"
  },
  {
    "path": "app/Providers/AuthServiceProvider.php",
    "content": "<?php\n\nnamespace Crater\\Providers;\n\nuse Crater\\Policies\\CompanyPolicy;\nuse Crater\\Policies\\CustomerPolicy;\nuse Crater\\Policies\\DashboardPolicy;\nuse Crater\\Policies\\EstimatePolicy;\nuse Crater\\Policies\\ExpensePolicy;\nuse Crater\\Policies\\InvoicePolicy;\nuse Crater\\Policies\\ItemPolicy;\nuse Crater\\Policies\\ModulesPolicy;\nuse Crater\\Policies\\NotePolicy;\nuse Crater\\Policies\\OwnerPolicy;\nuse Crater\\Policies\\PaymentPolicy;\nuse Crater\\Policies\\RecurringInvoicePolicy;\nuse Crater\\Policies\\ReportPolicy;\nuse Crater\\Policies\\SettingsPolicy;\nuse Crater\\Policies\\UserPolicy;\nuse Gate;\nuse Illuminate\\Foundation\\Support\\Providers\\AuthServiceProvider as ServiceProvider;\n\nclass AuthServiceProvider extends ServiceProvider\n{\n    /**\n     * The policy mappings for the application.\n     *\n     * @var array\n     */\n    protected $policies = [\n        \\Crater\\Models\\Customer::class => \\Crater\\Policies\\CustomerPolicy::class,\n        \\Crater\\Models\\Invoice::class => \\Crater\\Policies\\InvoicePolicy::class,\n        \\Crater\\Models\\Estimate::class => \\Crater\\Policies\\EstimatePolicy::class,\n        \\Crater\\Models\\Payment::class => \\Crater\\Policies\\PaymentPolicy::class,\n        \\Crater\\Models\\Expense::class => \\Crater\\Policies\\ExpensePolicy::class,\n        \\Crater\\Models\\ExpenseCategory::class => \\Crater\\Policies\\ExpenseCategoryPolicy::class,\n        \\Crater\\Models\\PaymentMethod::class => \\Crater\\Policies\\PaymentMethodPolicy::class,\n        \\Crater\\Models\\TaxType::class => \\Crater\\Policies\\TaxTypePolicy::class,\n        \\Crater\\Models\\CustomField::class => \\Crater\\Policies\\CustomFieldPolicy::class,\n        \\Crater\\Models\\User::class => \\Crater\\Policies\\UserPolicy::class,\n        \\Crater\\Models\\Item::class => \\Crater\\Policies\\ItemPolicy::class,\n        \\Silber\\Bouncer\\Database\\Role::class => \\Crater\\Policies\\RolePolicy::class,\n        \\Crater\\Models\\Unit::class => \\Crater\\Policies\\UnitPolicy::class,\n        \\Crater\\Models\\RecurringInvoice::class => \\Crater\\Policies\\RecurringInvoicePolicy::class,\n        \\Crater\\Models\\ExchangeRateProvider::class => \\Crater\\Policies\\ExchangeRateProviderPolicy::class,\n    ];\n\n    /**\n     * Register any authentication / authorization services.\n     *\n     * @return void\n     */\n    public function boot()\n    {\n        $this->registerPolicies();\n\n        Gate::define('create company', [CompanyPolicy::class, 'create']);\n        Gate::define('transfer company ownership', [CompanyPolicy::class, 'transferOwnership']);\n        Gate::define('delete company', [CompanyPolicy::class, 'delete']);\n\n        Gate::define('manage modules', [ModulesPolicy::class, 'manageModules']);\n\n        Gate::define('manage settings', [SettingsPolicy::class, 'manageSettings']);\n        Gate::define('manage company', [SettingsPolicy::class, 'manageCompany']);\n        Gate::define('manage backups', [SettingsPolicy::class, 'manageBackups']);\n        Gate::define('manage file disk', [SettingsPolicy::class, 'manageFileDisk']);\n        Gate::define('manage email config', [SettingsPolicy::class, 'manageEmailConfig']);\n        Gate::define('manage notes', [NotePolicy::class, 'manageNotes']);\n        Gate::define('view notes', [NotePolicy::class, 'viewNotes']);\n\n        Gate::define('send invoice', [InvoicePolicy::class, 'send']);\n        Gate::define('send estimate', [EstimatePolicy::class, 'send']);\n        Gate::define('send payment', [PaymentPolicy::class, 'send']);\n\n        Gate::define('delete multiple items', [ItemPolicy::class, 'deleteMultiple']);\n        Gate::define('delete multiple customers', [CustomerPolicy::class, 'deleteMultiple']);\n        Gate::define('delete multiple users', [UserPolicy::class, 'deleteMultiple']);\n        Gate::define('delete multiple invoices', [InvoicePolicy::class, 'deleteMultiple']);\n        Gate::define('delete multiple estimates', [EstimatePolicy::class, 'deleteMultiple']);\n        Gate::define('delete multiple expenses', [ExpensePolicy::class, 'deleteMultiple']);\n        Gate::define('delete multiple payments', [PaymentPolicy::class, 'deleteMultiple']);\n        Gate::define('delete multiple recurring invoices', [RecurringInvoicePolicy::class, 'deleteMultiple']);\n\n        Gate::define('view dashboard', [DashboardPolicy::class, 'view']);\n\n        Gate::define('view report', [ReportPolicy::class, 'viewReport']);\n\n        Gate::define('owner only', [OwnerPolicy::class, 'managedByOwner']);\n    }\n}\n"
  },
  {
    "path": "app/Providers/BroadcastServiceProvider.php",
    "content": "<?php\n\nnamespace Crater\\Providers;\n\nuse Illuminate\\Support\\Facades\\Broadcast;\nuse Illuminate\\Support\\ServiceProvider;\n\nclass BroadcastServiceProvider extends ServiceProvider\n{\n    /**\n     * Bootstrap any application services.\n     *\n     * @return void\n     */\n    public function boot()\n    {\n        Broadcast::routes();\n        Broadcast::routes([\"middleware\" => 'api.auth']);\n        require base_path('routes/channels.php');\n    }\n}\n"
  },
  {
    "path": "app/Providers/DropboxServiceProvider.php",
    "content": "<?php\n\nnamespace Crater\\Providers;\n\nuse Illuminate\\Support\\Facades\\Storage;\nuse Illuminate\\Support\\ServiceProvider;\nuse League\\Flysystem\\Filesystem;\nuse Spatie\\Dropbox\\Client as DropboxClient;\nuse Spatie\\FlysystemDropbox\\DropboxAdapter;\n\nclass DropboxServiceProvider extends ServiceProvider\n{\n    /**\n     * Register services.\n     *\n     * @return void\n     */\n    public function register()\n    {\n        //\n    }\n\n    /**\n     * Bootstrap services.\n     *\n     * @return void\n     */\n    public function boot()\n    {\n        Storage::extend('dropbox', function ($app, $config) {\n            $client = new DropboxClient(\n                $config['token']\n            );\n\n            return new Filesystem(new DropboxAdapter($client));\n        });\n    }\n}\n"
  },
  {
    "path": "app/Providers/EventServiceProvider.php",
    "content": "<?php\n\nnamespace Crater\\Providers;\n\nuse Crater\\Events\\UpdateFinished;\nuse Crater\\Listeners\\Updates\\v1\\Version110;\nuse Crater\\Listeners\\Updates\\v2\\Version200;\nuse Crater\\Listeners\\Updates\\v2\\Version201;\nuse Crater\\Listeners\\Updates\\v2\\Version202;\nuse Crater\\Listeners\\Updates\\v2\\Version210;\nuse Crater\\Listeners\\Updates\\v3\\Version300;\nuse Crater\\Listeners\\Updates\\v3\\Version310;\nuse Crater\\Listeners\\Updates\\v3\\Version311;\nuse Illuminate\\Auth\\Events\\Registered;\nuse Illuminate\\Auth\\Listeners\\SendEmailVerificationNotification;\nuse Illuminate\\Foundation\\Support\\Providers\\EventServiceProvider as ServiceProvider;\n\nclass EventServiceProvider extends ServiceProvider\n{\n    /**\n     * The event listener mappings for the application.\n     *\n     * @var array\n     */\n    protected $listen = [\n        UpdateFinished::class => [\n            Version110::class,\n            Version200::class,\n            Version201::class,\n            Version202::class,\n            Version210::class,\n            Version300::class,\n            Version310::class,\n            Version311::class,\n        ],\n        Registered::class => [\n            SendEmailVerificationNotification::class,\n        ],\n    ];\n\n    /**\n     * Register any events for your application.\n     *\n     * @return void\n     */\n    public function boot()\n    {\n        parent::boot();\n\n        //\n    }\n}\n"
  },
  {
    "path": "app/Providers/RouteServiceProvider.php",
    "content": "<?php\n\nnamespace Crater\\Providers;\n\nuse Illuminate\\Cache\\RateLimiting\\Limit;\nuse Illuminate\\Foundation\\Support\\Providers\\RouteServiceProvider as ServiceProvider;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\RateLimiter;\nuse Illuminate\\Support\\Facades\\Route;\n\nclass RouteServiceProvider extends ServiceProvider\n{\n    /**\n     * The path to the \"home\" route for your application.\n     *\n     * This is used by Laravel authentication to redirect users after login.\n     *\n     * @var string\n     */\n    public const HOME = '/admin/dashboard';\n\n    /**\n     * The path to the \"customer home\" route for your application.\n     *\n     * This is used by Laravel authentication to redirect customers after login.\n     *\n     * @var string\n     */\n    public const CUSTOMER_HOME = '/customer/dashboard';\n\n    /**\n     * The controller namespace for the application.\n     *\n     * When present, controller route declarations will automatically be prefixed with this namespace.\n     *\n     * @var string|null\n     */\n    // protected $namespace = 'Crater\\\\Http\\\\Controllers';\n\n    /**\n     * Define your route model bindings, pattern filters, etc.\n     *\n     * @return void\n     */\n    public function boot()\n    {\n        $this->configureRateLimiting();\n\n        $this->routes(function () {\n            Route::prefix('api')\n                ->middleware('api')\n                ->namespace($this->namespace)\n                ->group(base_path('routes/api.php'));\n\n            Route::middleware('web')\n                ->namespace($this->namespace)\n                ->group(base_path('routes/web.php'));\n        });\n    }\n\n    /**\n     * Configure the rate limiters for the application.\n     *\n     * @return void\n     */\n    protected function configureRateLimiting()\n    {\n        RateLimiter::for('api', function (Request $request) {\n            return Limit::perMinute(60);\n        });\n    }\n}\n"
  },
  {
    "path": "app/Providers/ViewServiceProvider.php",
    "content": "<?php\n\nnamespace Crater\\Providers;\n\nuse Illuminate\\Support\\Facades\\View;\nuse Illuminate\\Support\\ServiceProvider;\nuse Schema;\n\nclass ViewServiceProvider extends ServiceProvider\n{\n    /**\n     * Register services.\n     *\n     * @return void\n     */\n    public function register()\n    {\n        //\n    }\n\n    /**\n     * Bootstrap services.\n     *\n     * @return void\n     */\n    public function boot()\n    {\n        if (\\Storage::disk('local')->has('database_created') && Schema::hasTable('settings')) {\n            View::share('login_page_logo', get_app_setting('login_page_logo'));\n            View::share('login_page_heading', get_app_setting('login_page_heading'));\n            View::share('login_page_description', get_app_setting('login_page_description'));\n            View::share('admin_page_title', get_app_setting('admin_page_title'));\n            View::share('copyright_text', get_app_setting('copyright_text'));\n        }\n    }\n}\n"
  },
  {
    "path": "app/Rules/Backup/BackupDisk.php",
    "content": "<?php\n\nnamespace Crater\\Rules\\Backup;\n\nuse Illuminate\\Contracts\\Validation\\Rule;\n\nclass BackupDisk implements Rule\n{\n    /**\n     * Create a new rule instance.\n     *\n     * @return void\n     */\n    public function __construct()\n    {\n        //\n    }\n\n    /**\n     * Determine if the validation rule passes.\n     *\n     * @param  string  $attribute\n     * @param  mixed  $value\n     * @return bool\n     */\n    public function passes($attribute, $value)\n    {\n        $configuredBackupDisks = config('backup.backup.destination.disks');\n\n        return in_array($value, $configuredBackupDisks);\n    }\n\n    /**\n     * Get the validation error message.\n     *\n     * @return string\n     */\n    public function message()\n    {\n        return 'This disk is not configured as a backup disk.';\n    }\n}\n"
  },
  {
    "path": "app/Rules/Backup/FilesystemDisks.php",
    "content": "<?php\n\nnamespace Crater\\Rules\\Backup;\n\nuse Illuminate\\Contracts\\Validation\\Rule;\n\nclass FilesystemDisks implements Rule\n{\n    /**\n     * Create a new rule instance.\n     *\n     * @return void\n     */\n    public function __construct()\n    {\n        //\n    }\n\n    /**\n     * Determine if the validation rule passes.\n     *\n     * @param  string  $attribute\n     * @param  mixed  $value\n     * @return bool\n     */\n    public function passes($attribute, $value)\n    {\n        $configuredFileSystemDisks = config('filesystem.disks');\n\n        return in_array($value, $configuredFileSystemDisks);\n    }\n\n    /**\n     * Get the validation error message.\n     *\n     * @return string\n     */\n    public function message()\n    {\n        return 'This disk is not configured as a filesystem disk.';\n    }\n}\n"
  },
  {
    "path": "app/Rules/Backup/PathToZip.php",
    "content": "<?php\n\nnamespace Crater\\Rules\\Backup;\n\nuse Illuminate\\Contracts\\Validation\\Rule;\nuse Illuminate\\Support\\Str;\n\nclass PathToZip implements Rule\n{\n    /**\n     * Create a new rule instance.\n     *\n     * @return void\n     */\n    public function __construct()\n    {\n        //\n    }\n\n    /**\n     * Determine if the validation rule passes.\n     *\n     * @param  string  $attribute\n     * @param  mixed  $value\n     * @return bool\n     */\n    public function passes($attribute, $value)\n    {\n        return Str::endsWith($value, '.zip');\n    }\n\n    /**\n     * Get the validation error message.\n     *\n     * @return string\n     */\n    public function message()\n    {\n        return 'The given value must be a path to a zip file.';\n    }\n}\n"
  },
  {
    "path": "app/Rules/Base64Mime.php",
    "content": "<?php\n\nnamespace Crater\\Rules;\n\nuse Illuminate\\Contracts\\Validation\\Rule;\n\nclass Base64Mime implements Rule\n{\n    private $attribute;\n\n    private $extensions;\n\n    /**\n     * Create a new rule instance.\n     *\n     * @return void\n     */\n    public function __construct(array $extensions)\n    {\n        $this->extensions = $extensions;\n    }\n\n    /**\n     * Determine if the validation rule passes.\n     *\n     * @param  string  $attribute\n     * @param  mixed  $value\n     * @return bool\n     */\n    public function passes($attribute, $value)\n    {\n        $this->attribute = $attribute;\n\n        try {\n            $data = json_decode($value)->data;\n        } catch (\\Exception $e) {\n            return false;\n        }\n\n        $pattern = '/^data:\\w+\\/[\\w\\+]+;base64,[\\w\\+\\=\\/]+$/';\n\n        if (! preg_match($pattern, $data)) {\n            return false;\n        }\n\n        $data = explode(',', $data);\n\n        if (! isset($data[1]) || empty($data[1])) {\n            return false;\n        }\n\n        try {\n            $data = base64_decode($data[1]);\n            $f = finfo_open();\n            $result = finfo_buffer($f, $data, FILEINFO_EXTENSION);\n\n            if ($result === '???') {\n                return false;\n            }\n\n            if (strpos($result, '/')) {\n                foreach (explode('/', $result) as $ext) {\n                    if (in_array($ext, $this->extensions)) {\n                        return true;\n                    }\n                }\n            } else {\n                if (in_array($result, $this->extensions)) {\n                    return true;\n                }\n            }\n        } catch (\\Exception $e) {\n            return false;\n        }\n\n        return false;\n    }\n\n    /**\n     * Get the validation error message.\n     *\n     * @return string\n     */\n    public function message()\n    {\n        return 'The '.$this->attribute.' must be a json with file of type: '.implode(', ', $this->extensions).' encoded in base64.';\n    }\n}\n"
  },
  {
    "path": "app/Rules/RelationNotExist.php",
    "content": "<?php\n\nnamespace Crater\\Rules;\n\nuse Illuminate\\Contracts\\Validation\\Rule;\n\nclass RelationNotExist implements Rule\n{\n    public $class;\n\n    public $relation;\n\n    /**\n     * Create a new rule instance.\n     * @param  string  $class\n     * @param  string  $relation\n     * @return void\n     */\n    public function __construct(string $class = null, string $relation = null)\n    {\n        $this->class = $class;\n        $this->relation = $relation;\n    }\n\n    /**\n     * Determine if the validation rule passes.\n     *\n     * @param  string  $attribute\n     * @param  mixed  $value\n     * @return bool\n     */\n    public function passes($attribute, $value)\n    {\n        $relation = $this->relation;\n\n        if ($this->class::find($value)->$relation()->exists()) {\n            return false;\n        }\n\n        return true;\n    }\n\n    /**\n     * Get the validation error message.\n     *\n     * @return string\n     */\n    public function message()\n    {\n        return \"Relation {$this->relation} exists.\";\n    }\n}\n"
  },
  {
    "path": "app/Services/Module/Module.php",
    "content": "<?php\n\nnamespace Crater\\Services\\Module;\n\nclass Module\n{\n    /**\n     * All of the registered Modules scripts.\n     *\n     * @var array\n     */\n    public static $scripts = [];\n\n    /**\n     * All of the registered company settings.\n     *\n     * @var array\n     */\n    public static $settings = [];\n\n    /**\n     * All of the registered Modules CSS.\n     *\n     * @var array\n     */\n    public static $styles = [];\n\n    /**\n     * Register the given script file with Module.\n     *\n     * @param  string  $name\n     * @param  string  $path\n     * @return static\n     */\n    public static function script($name, $path)\n    {\n        static::$scripts[$name] = $path;\n\n        return new static();\n    }\n\n    /**\n     * Register the given CSS file with Module.\n     *\n     * @param  string  $name\n     * @param  string  $path\n     * @return static\n     */\n    public static function style($name, $path)\n    {\n        static::$styles[$name] = $path;\n\n        return new static();\n    }\n\n    /**\n     * Get all of the additional scripts that should be registered.\n     *\n     * @return array\n     */\n    public static function allScripts()\n    {\n        return static::$scripts;\n    }\n\n    /**\n     * Get all of the additional stylesheets that should be registered.\n     *\n     * @return array\n     */\n    public static function allStyles()\n    {\n        return static::$styles;\n    }\n}\n"
  },
  {
    "path": "app/Services/Module/ModuleFacade.php",
    "content": "<?php\n\nnamespace Crater\\Services\\Module;\n\nuse Illuminate\\Support\\Facades\\Facade as BaseFacade;\n\nclass ModuleFacade extends BaseFacade\n{\n    /**\n     * Get the registered name of the component.\n     *\n     * @return string\n     */\n    protected static function getFacadeAccessor()\n    {\n        return Module::class;\n    }\n}\n"
  },
  {
    "path": "app/Services/SerialNumberFormatter.php",
    "content": "<?php\n\nnamespace Crater\\Services;\n\nuse Crater\\Models\\CompanySetting;\nuse Crater\\Models\\Customer;\n\n/**\n * SerialNumberFormatter\n * @package Crater\\Services;\n */\n\nclass SerialNumberFormatter\n{\n    public const VALID_PLACEHOLDERS = ['CUSTOMER_SERIES', 'SEQUENCE', 'DATE_FORMAT', 'SERIES', 'RANDOM_SEQUENCE', 'DELIMITER', 'CUSTOMER_SEQUENCE'];\n\n    private $model;\n\n    private $ob;\n\n    private $customer;\n\n    private $company;\n\n    /**\n     * @var string\n     */\n    public $nextSequenceNumber;\n\n    /**\n     * @var string\n     */\n    public $nextCustomerSequenceNumber;\n\n    /**\n     * @param $model\n     * @return $this\n     */\n    public function setModel($model)\n    {\n        $this->model = $model;\n\n        return $this;\n    }\n\n    public function setModelObject($id = null)\n    {\n        $this->ob = $this->model::find($id);\n\n        if ($this->ob && $this->ob->sequence_number) {\n            $this->nextSequenceNumber = $this->ob->sequence_number;\n        }\n\n        if (isset($this->ob) && isset($this->ob->customer_sequence_number) && isset($this->customer) && $this->ob->customer_id == $this->customer->id) {\n            $this->nextCustomerSequenceNumber = $this->ob->customer_sequence_number;\n        }\n\n        return $this;\n    }\n\n    /**\n     * @param $company\n     * @return $this\n     */\n    public function setCompany($company)\n    {\n        $this->company = $company;\n\n        return $this;\n    }\n\n    /**\n     * @param $customer\n     * @return $this\n     */\n    public function setCustomer($customer = null)\n    {\n        $this->customer = Customer::find($customer);\n\n        return $this;\n    }\n\n    /**\n     * @return string\n     */\n    public function getNextNumber($data = null)\n    {\n        $modelName = strtolower(class_basename($this->model));\n        $settingKey = $modelName.'_number_format';\n        $companyId = $this->company;\n\n        if (request()->has('format')) {\n            $format = request()->format;\n        } else {\n            $format = CompanySetting::getSetting(\n                $settingKey,\n                $companyId\n            );\n        }\n        $this->setNextNumbers();\n\n        $serialNumber = $this->generateSerialNumber(\n            $format\n        );\n\n        return $serialNumber;\n    }\n\n    public function setNextNumbers()\n    {\n        $this->nextSequenceNumber ?\n            $this->nextSequenceNumber : $this->setNextSequenceNumber();\n\n        $this->nextCustomerSequenceNumber ?\n            $this->nextCustomerSequenceNumber : $this->setNextCustomerSequenceNumber();\n\n        return $this;\n    }\n\n    /**\n     * @return $this\n     */\n    public function setNextSequenceNumber()\n    {\n        $companyId = $this->company;\n\n        $last = $this->model::orderBy('sequence_number', 'desc')\n            ->where('company_id', $companyId)\n            ->where('sequence_number', '<>', null)\n            ->take(1)\n            ->first();\n\n        $this->nextSequenceNumber = ($last) ? $last->sequence_number + 1 : 1;\n\n        return $this;\n    }\n\n    /**\n     * @return self\n     */\n    public function setNextCustomerSequenceNumber()\n    {\n        $customer_id = ($this->customer) ? $this->customer->id : 1;\n\n        $last = $this->model::orderBy('customer_sequence_number', 'desc')\n            ->where('company_id', $this->company)\n            ->where('customer_id', $customer_id)\n            ->where('customer_sequence_number', '<>', null)\n            ->take(1)\n            ->first();\n\n        $this->nextCustomerSequenceNumber = ($last) ? $last->customer_sequence_number + 1 : 1;\n\n        return $this;\n    }\n\n    public static function getPlaceholders(string $format)\n    {\n        $regex = \"/{{([A-Z_]{1,})(?::)?([a-zA-Z0-9_]{1,6}|.{1})?}}/\";\n\n        preg_match_all($regex, $format, $placeholders);\n        array_shift($placeholders);\n        $validPlaceholders = collect();\n\n        /** @var array */\n        $mappedPlaceholders = array_map(\n            null,\n            current($placeholders),\n            end($placeholders)\n        );\n\n        foreach ($mappedPlaceholders as $placeholder) {\n            $name = current($placeholder);\n            $value = end($placeholder);\n\n            if (in_array($name, self::VALID_PLACEHOLDERS)) {\n                $validPlaceholders->push([\n                    \"name\" => $name,\n                    \"value\" => $value\n                ]);\n            }\n        }\n\n        return $validPlaceholders;\n    }\n\n    /**\n     * @return string\n     */\n    private function generateSerialNumber(string $format)\n    {\n        $serialNumber = '';\n\n        $placeholders = self::getPlaceholders($format);\n\n        foreach ($placeholders as $placeholder) {\n            $name = $placeholder['name'];\n            $value = $placeholder['value'];\n\n            switch ($name) {\n                    case \"SEQUENCE\":\n                        $value = $value ? $value : 6;\n                        $serialNumber .= str_pad($this->nextSequenceNumber, $value, 0, STR_PAD_LEFT);\n\n                        break;\n                    case \"DATE_FORMAT\":\n                        $value = $value ? $value : 'Y';\n                        $serialNumber .= date($value);\n\n                        break;\n                    case \"RANDOM_SEQUENCE\":\n                        $value = $value ? $value : 6;\n                        $serialNumber .= substr(bin2hex(random_bytes($value)), 0, $value);\n\n                        break;\n                    case \"CUSTOMER_SERIES\":\n                        if (isset($this->customer)) {\n                            $serialNumber .= $this->customer->prefix ?? 'CST';\n                        } else {\n                            $serialNumber .= 'CST';\n                        }\n\n                        break;\n                    case \"CUSTOMER_SEQUENCE\":\n                        $serialNumber .= str_pad($this->nextCustomerSequenceNumber, $value, 0, STR_PAD_LEFT);\n\n                        break;\n                    default:\n                        $serialNumber .= $value;\n                }\n        }\n\n        return $serialNumber;\n    }\n}\n"
  },
  {
    "path": "app/Space/DateFormatter.php",
    "content": "<?php\n\nnamespace Crater\\Space;\n\nuse Carbon\\Carbon;\n\nclass DateFormatter\n{\n    protected static $formats = [\n        [\n            \"carbon_format\" => \"Y M d\",\n            \"moment_format\" => \"YYYY MMM DD\",\n        ],\n        [\n            \"carbon_format\" => \"d M Y\",\n            \"moment_format\" => \"DD MMM YYYY\",\n        ],\n        [\n            \"carbon_format\" => \"d/m/Y\",\n            \"moment_format\" => \"DD/MM/YYYY\",\n        ],\n        [\n            \"carbon_format\" => \"d.m.Y\",\n            \"moment_format\" => \"DD.MM.YYYY\",\n        ],\n        [\n            \"carbon_format\" => \"d-m-Y\",\n            \"moment_format\" => \"DD-MM-YYYY\",\n        ],\n        [\n            \"carbon_format\" => \"m/d/Y\",\n            \"moment_format\" => \"MM/DD/YYYY\",\n        ],\n        [\n            \"carbon_format\" => \"Y/m/d\",\n            \"moment_format\" => \" YYYY/MM/DD\",\n        ],\n        [\n            \"carbon_format\" => \"Y-m-d\",\n            \"moment_format\" => \"YYYY-MM-DD\",\n        ],\n    ];\n\n    public static function get_list()\n    {\n        $new = [];\n\n        foreach (static::$formats as $format) {\n            $new[] = [\n                \"display_date\" => Carbon::now()->format($format['carbon_format']) ,\n                \"carbon_format_value\" => $format['carbon_format'],\n                \"moment_format_value\" => $format['moment_format'],\n            ];\n        }\n\n        return $new;\n    }\n}\n"
  },
  {
    "path": "app/Space/EnvironmentManager.php",
    "content": "<?php\n\nnamespace Crater\\Space;\n\nuse Crater\\Http\\Requests\\DatabaseEnvironmentRequest;\nuse Crater\\Http\\Requests\\DiskEnvironmentRequest;\nuse Crater\\Http\\Requests\\DomainEnvironmentRequest;\nuse Crater\\Http\\Requests\\MailEnvironmentRequest;\nuse Exception;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\DB;\n\nclass EnvironmentManager\n{\n    /**\n     * @var string\n     */\n    private $envPath;\n\n    /**\n     * Set the .env and .env.example paths.\n     */\n    public function __construct()\n    {\n        $this->envPath = base_path('.env');\n    }\n\n    /**\n     * Save the database content to the .env file.\n     *\n     * @param DatabaseEnvironmentRequest $request\n     * @return array\n     */\n    public function saveDatabaseVariables(DatabaseEnvironmentRequest $request)\n    {\n        $oldDatabaseData =\n            'DB_CONNECTION='.config('database.default').\"\\n\";\n\n        $newDatabaseData =\n            'DB_CONNECTION='.$request->database_connection.\"\\n\";\n\n        if ($request->has('database_username') && $request->has('database_password')) {\n            if (env('DB_USERNAME') && env('DB_HOST')) {\n                $oldDatabaseData = $oldDatabaseData.\n                    'DB_HOST='.config('database.connections.'.config('database.default').'.host').\"\\n\".\n                    'DB_PORT='.config('database.connections.'.config('database.default').'.port').\"\\n\".\n                    'DB_DATABASE='.config('database.connections.'.config('database.default').'.database').\"\\n\".\n                    'DB_USERNAME='.config('database.connections.'.config('database.default').'.username').\"\\n\".\n                    'DB_PASSWORD=\"'.config('database.connections.'.config('database.default').'.password').\"\\\"\\n\\n\";\n            } else {\n                $oldDatabaseData = $oldDatabaseData.\n                    'DB_DATABASE='.config('database.connections.'.config('database.default').'.database').\"\\n\\n\";\n            }\n\n            $newDatabaseData = $newDatabaseData.\n                'DB_HOST='.$request->database_hostname.\"\\n\".\n                'DB_PORT='.$request->database_port.\"\\n\".\n                'DB_DATABASE='.$request->database_name.\"\\n\".\n                'DB_USERNAME='.$request->database_username.\"\\n\".\n                'DB_PASSWORD=\"'.$request->database_password.\"\\\"\\n\\n\";\n        } else {\n            if (env('DB_USERNAME') && env('DB_HOST')) {\n                $oldDatabaseData = $oldDatabaseData.\n                    'DB_HOST='.config('database.connections.'.config('database.default').'.host').\"\\n\".\n                    'DB_PORT='.config('database.connections.'.config('database.default').'.port').\"\\n\".\n                    'DB_DATABASE='.config('database.connections.'.config('database.default').'.database').\"\\n\".\n                    'DB_USERNAME='.config('database.connections.'.config('database.default').'.username').\"\\n\".\n                    'DB_PASSWORD=\"'.config('database.connections.'.config('database.default').'.password').\"\\\"\\n\\n\";\n            } else {\n                $oldDatabaseData = $oldDatabaseData.\n                    'DB_DATABASE='.config('database.connections.'.config('database.default').'.database').\"\\n\\n\";\n            }\n\n            $newDatabaseData = $newDatabaseData.\n                'DB_DATABASE='.$request->database_name.\"\\n\\n\";\n        }\n\n        try {\n            $conn = $this->checkDatabaseConnection($request);\n\n            // $requirement = $this->checkVersionRequirements($request, $conn);\n\n            // if ($requirement) {\n            //     return [\n            //         'error' => 'minimum_version_requirement',\n            //         'requirement' => $requirement,\n            //     ];\n            // }\n\n            if (\\Schema::hasTable('users')) {\n                return [\n                    'error' => 'database_should_be_empty',\n                ];\n            }\n        } catch (Exception $e) {\n            return [\n                'error_message' => $e->getMessage(),\n            ];\n        }\n\n        try {\n            file_put_contents($this->envPath, str_replace(\n                $oldDatabaseData,\n                $newDatabaseData,\n                file_get_contents($this->envPath)\n            ));\n\n            file_put_contents($this->envPath, str_replace(\n                'APP_URL='.config('app.url'),\n                'APP_URL='.$request->app_url,\n                file_get_contents($this->envPath)\n            ));\n\n            file_put_contents($this->envPath, str_replace(\n                'SANCTUM_STATEFUL_DOMAINS='.env('SANCTUM_STATEFUL_DOMAINS'),\n                'SANCTUM_STATEFUL_DOMAINS='.$request->app_domain,\n                file_get_contents($this->envPath)\n            ));\n\n\n            file_put_contents($this->envPath, str_replace(\n                'SESSION_DOMAIN='.config('session.domain'),\n                'SESSION_DOMAIN='.explode(':', $request->app_domain)[0],\n                file_get_contents($this->envPath)\n            ));\n        } catch (Exception $e) {\n            return [\n                'error' => 'database_variables_save_error',\n            ];\n        }\n\n        return [\n            'success' => 'database_variables_save_successfully',\n        ];\n    }\n\n    /**\n     *\n     * @param DatabaseEnvironmentRequest $request\n     * @return bool\n     */\n    private function checkDatabaseConnection(DatabaseEnvironmentRequest $request)\n    {\n        $connection = $request->database_connection;\n\n        $settings = config(\"database.connections.$connection\");\n        $settings = config(\"database.connections.$connection\");\n\n        $connectionArray = array_merge($settings, [\n            'driver' => $connection,\n            'database' => $request->database_name,\n        ]);\n\n        if ($request->has('database_username') && $request->has('database_password')) {\n            $connectionArray = array_merge($connectionArray, [\n                'username' => $request->database_username,\n                'password' => $request->database_password,\n                'host' => $request->database_hostname,\n                'port' => $request->database_port,\n            ]);\n        }\n\n        config([\n            'database' => [\n                'migrations' => 'migrations',\n                'default' => $connection,\n                'connections' => [$connection => $connectionArray],\n            ],\n        ]);\n\n        return DB::connection()->getPdo();\n    }\n\n    /**\n     *\n     * @param DatabaseEnvironmentRequest $request\n     * @return bool\n     */\n    private function checkVersionRequirements(DatabaseEnvironmentRequest $request, $conn)\n    {\n        $connection = $request->database_connection;\n\n        $checker = new RequirementsChecker();\n\n        $phpSupportInfo = $checker->checkPHPVersion(\n            config('crater.min_php_version')\n        );\n\n        if (! $phpSupportInfo['supported']) {\n            return $phpSupportInfo;\n        }\n\n        $dbSupportInfo = [];\n\n        switch ($connection) {\n            case 'mysql':\n                $dbSupportInfo = $checker->checkMysqlVersion($conn);\n\n                break;\n\n            case 'pgsql':\n                $conn = pg_connect(\"host={$request->database_hostname} port={$request->database_port} dbname={$request->database_name} user={$request->database_username} password={$request->database_password}\");\n                $dbSupportInfo = $checker->checkPgsqlVersion(\n                    $conn,\n                    config('crater.min_pgsql_version')\n                );\n\n                break;\n\n            case 'sqlite':\n                $dbSupportInfo = $checker->checkSqliteVersion(\n                    config('crater.min_sqlite_version')\n                );\n\n                break;\n\n        }\n\n        if (! $dbSupportInfo['supported']) {\n            return $dbSupportInfo;\n        }\n\n        return false;\n    }\n\n    /**\n    * Save the mail content to the .env file.\n    *\n    * @param Request $request\n    * @return array\n    */\n    public function saveMailVariables(MailEnvironmentRequest $request)\n    {\n        $mailData = $this->getMailData($request);\n\n        try {\n            file_put_contents($this->envPath, str_replace(\n                $mailData['old_mail_data'],\n                $mailData['new_mail_data'],\n                file_get_contents($this->envPath)\n            ));\n\n            if ($mailData['extra_old_mail_data']) {\n                file_put_contents($this->envPath, str_replace(\n                    $mailData['extra_old_mail_data'],\n                    $mailData['extra_mail_data'],\n                    file_get_contents($this->envPath)\n                ));\n            } else {\n                file_put_contents(\n                    $this->envPath,\n                    \"\\n\".$mailData['extra_mail_data'],\n                    FILE_APPEND\n                );\n            }\n        } catch (Exception $e) {\n            return [\n                'error' => 'mail_variables_save_error',\n            ];\n        }\n\n        return [\n            'success' => 'mail_variables_save_successfully',\n        ];\n    }\n\n    private function getMailData($request)\n    {\n        $mailFromCredential = \"\";\n        $extraMailData = \"\";\n        $extraOldMailData = \"\";\n        $oldMailData = \"\";\n        $newMailData = \"\";\n\n        if (env('MAIL_FROM_ADDRESS') !== null && env('MAIL_FROM_NAME') !== null) {\n            $mailFromCredential =\n                'MAIL_FROM_ADDRESS='.config('mail.from.address').\"\\n\".\n                'MAIL_FROM_NAME=\"'.config('mail.from.name').\"\\\"\\n\\n\";\n        }\n\n        switch ($request->mail_driver) {\n            case 'smtp':\n\n                $oldMailData =\n                    'MAIL_DRIVER='.config('mail.driver').\"\\n\".\n                    'MAIL_HOST='.config('mail.host').\"\\n\".\n                    'MAIL_PORT='.config('mail.port').\"\\n\".\n                    'MAIL_USERNAME='.config('mail.username').\"\\n\".\n                    'MAIL_PASSWORD='.config('mail.password').\"\\n\".\n                    'MAIL_ENCRYPTION='.config('mail.encryption').\"\\n\\n\".\n                    $mailFromCredential;\n\n                $newMailData =\n                    'MAIL_DRIVER='.$request->mail_driver.\"\\n\".\n                    'MAIL_HOST='.$request->mail_host.\"\\n\".\n                    'MAIL_PORT='.$request->mail_port.\"\\n\".\n                    'MAIL_USERNAME='.$request->mail_username.\"\\n\".\n                    'MAIL_PASSWORD='.$request->mail_password.\"\\n\".\n                    'MAIL_ENCRYPTION='.$request->mail_encryption.\"\\n\\n\".\n                    'MAIL_FROM_ADDRESS='.$request->from_mail.\"\\n\".\n                    'MAIL_FROM_NAME=\"'.$request->from_name.\"\\\"\\n\\n\";\n\n                break;\n\n            case 'mailgun':\n                $oldMailData =\n                    'MAIL_DRIVER='.config('mail.driver').\"\\n\".\n                    'MAIL_HOST='.config('mail.host').\"\\n\".\n                    'MAIL_PORT='.config('mail.port').\"\\n\".\n                    'MAIL_USERNAME='.config('mail.username').\"\\n\".\n                    'MAIL_PASSWORD='.config('mail.password').\"\\n\".\n                    'MAIL_ENCRYPTION='.config('mail.encryption').\"\\n\\n\".\n                    $mailFromCredential;\n\n                $newMailData =\n                    'MAIL_DRIVER='.$request->mail_driver.\"\\n\".\n                    'MAIL_HOST='.$request->mail_host.\"\\n\".\n                    'MAIL_PORT='.$request->mail_port.\"\\n\".\n                    'MAIL_USERNAME='.config('mail.username').\"\\n\".\n                    'MAIL_PASSWORD='.config('mail.password').\"\\n\".\n                    'MAIL_ENCRYPTION='.$request->mail_encryption.\"\\n\\n\".\n                    'MAIL_FROM_ADDRESS='.$request->from_mail.\"\\n\".\n                    'MAIL_FROM_NAME=\"'.$request->from_name.\"\\\"\\n\\n\";\n\n                $extraMailData =\n                    'MAILGUN_DOMAIN='.$request->mail_mailgun_domain.\"\\n\".\n                    'MAILGUN_SECRET='.$request->mail_mailgun_secret.\"\\n\".\n                    'MAILGUN_ENDPOINT='.$request->mail_mailgun_endpoint.\"\\n\";\n\n                if (env('MAILGUN_DOMAIN') !== null && env('MAILGUN_SECRET') !== null && env('MAILGUN_ENDPOINT') !== null) {\n                    $extraOldMailData =\n                        'MAILGUN_DOMAIN='.config('services.mailgun.domain').\"\\n\".\n                        'MAILGUN_SECRET='.config('services.mailgun.secret').\"\\n\".\n                        'MAILGUN_ENDPOINT='.config('services.mailgun.endpoint').\"\\n\";\n                }\n\n                break;\n\n            case 'ses':\n                $oldMailData =\n                    'MAIL_DRIVER='.config('mail.driver').\"\\n\".\n                    'MAIL_HOST='.config('mail.host').\"\\n\".\n                    'MAIL_PORT='.config('mail.port').\"\\n\".\n                    'MAIL_USERNAME='.config('mail.username').\"\\n\".\n                    'MAIL_PASSWORD='.config('mail.password').\"\\n\".\n                    'MAIL_ENCRYPTION='.config('mail.encryption').\"\\n\\n\".\n                    $mailFromCredential;\n\n                $newMailData =\n                    'MAIL_DRIVER='.$request->mail_driver.\"\\n\".\n                    'MAIL_HOST='.$request->mail_host.\"\\n\".\n                    'MAIL_PORT='.$request->mail_port.\"\\n\".\n                    'MAIL_USERNAME='.config('mail.username').\"\\n\".\n                    'MAIL_PASSWORD='.config('mail.password').\"\\n\".\n                    'MAIL_ENCRYPTION='.$request->mail_encryption.\"\\n\\n\".\n                    'MAIL_FROM_ADDRESS='.$request->from_mail.\"\\n\".\n                    'MAIL_FROM_NAME=\"'.$request->from_name.\"\\\"\\n\\n\";\n\n                $extraMailData =\n                    'SES_KEY='.$request->mail_ses_key.\"\\n\".\n                    'SES_SECRET='.$request->mail_ses_secret.\"\\n\";\n\n                if (env('SES_KEY') !== null && env('SES_SECRET') !== null) {\n                    $extraOldMailData =\n                        'SES_KEY='.config('services.ses.key').\"\\n\".\n                        'SES_SECRET='.config('services.ses.secret').\"\\n\";\n                }\n\n                break;\n\n            case 'mail':\n                $oldMailData =\n                    'MAIL_DRIVER='.config('mail.driver').\"\\n\".\n                    'MAIL_HOST='.config('mail.host').\"\\n\".\n                    'MAIL_PORT='.config('mail.port').\"\\n\".\n                    'MAIL_USERNAME='.config('mail.username').\"\\n\".\n                    'MAIL_PASSWORD='.config('mail.password').\"\\n\".\n                    'MAIL_ENCRYPTION='.config('mail.encryption').\"\\n\\n\".\n                    $mailFromCredential;\n\n                $newMailData =\n                    'MAIL_DRIVER='.$request->mail_driver.\"\\n\".\n                    'MAIL_HOST='.config('mail.host').\"\\n\".\n                    'MAIL_PORT='.config('mail.port').\"\\n\".\n                    'MAIL_USERNAME='.config('mail.username').\"\\n\".\n                    'MAIL_PASSWORD='.config('mail.password').\"\\n\".\n                    'MAIL_ENCRYPTION='.config('mail.encryption').\"\\n\\n\".\n                    'MAIL_FROM_ADDRESS='.$request->from_mail.\"\\n\".\n                    'MAIL_FROM_NAME=\"'.$request->from_name.\"\\\"\\n\\n\";\n\n                break;\n\n            case 'sendmail':\n                $oldMailData =\n                    'MAIL_DRIVER='.config('mail.driver').\"\\n\".\n                    'MAIL_HOST='.config('mail.host').\"\\n\".\n                    'MAIL_PORT='.config('mail.port').\"\\n\".\n                    'MAIL_USERNAME='.config('mail.username').\"\\n\".\n                    'MAIL_PASSWORD='.config('mail.password').\"\\n\".\n                    'MAIL_ENCRYPTION='.config('mail.encryption').\"\\n\\n\".\n                    $mailFromCredential;\n\n                $newMailData =\n                    'MAIL_DRIVER='.$request->mail_driver.\"\\n\".\n                    'MAIL_HOST='.config('mail.host').\"\\n\".\n                    'MAIL_PORT='.config('mail.port').\"\\n\".\n                    'MAIL_USERNAME='.config('mail.username').\"\\n\".\n                    'MAIL_PASSWORD='.config('mail.password').\"\\n\".\n                    'MAIL_ENCRYPTION='.config('mail.encryption').\"\\n\\n\".\n                    'MAIL_FROM_ADDRESS='.$request->from_mail.\"\\n\".\n                    'MAIL_FROM_NAME=\"'.$request->from_name.\"\\\"\\n\\n\";\n\n                break;\n        }\n\n        return [\n            'old_mail_data' => $oldMailData,\n            'new_mail_data' => $newMailData,\n            'extra_mail_data' => $extraMailData,\n            'extra_old_mail_data' => $extraOldMailData,\n        ];\n    }\n\n    /**\n     * Save the disk content to the .env file.\n     *\n     * @param Request $request\n     * @return array\n     */\n    public function saveDiskVariables(DiskEnvironmentRequest $request)\n    {\n        $diskData = $this->getDiskData($request);\n\n        try {\n            if (! $diskData['old_default_driver']) {\n                file_put_contents($this->envPath, $diskData['default_driver'], FILE_APPEND);\n            } else {\n                file_put_contents($this->envPath, str_replace(\n                    $diskData['old_default_driver'],\n                    $diskData['default_driver'],\n                    file_get_contents($this->envPath)\n                ));\n            }\n\n            if (! $diskData['old_disk_data']) {\n                file_put_contents($this->envPath, $diskData['new_disk_data'], FILE_APPEND);\n            } else {\n                file_put_contents($this->envPath, str_replace(\n                    $diskData['old_disk_data'],\n                    $diskData['new_disk_data'],\n                    file_get_contents($this->envPath)\n                ));\n            }\n        } catch (Exception $e) {\n            return [\n                'error' => 'disk_variables_save_error',\n            ];\n        }\n\n        return [\n            'success' => 'disk_variables_save_successfully',\n        ];\n    }\n\n    private function getDiskData($request)\n    {\n        $oldDefaultDriver = \"\";\n        $defaultDriver = \"\";\n        $oldDiskData = \"\";\n        $newDiskData = \"\";\n\n        if ($request->default_driver) {\n            if (env('FILESYSTEM_DRIVER') !== null) {\n                $defaultDriver = \"\\n\".'FILESYSTEM_DRIVER='.$request->default_driver.\"\\n\";\n\n                $oldDefaultDriver =\n                    \"\\n\".'FILESYSTEM_DRIVER='.config('filesystems.default').\"\\n\";\n            } else {\n                $defaultDriver =\n                    \"\\n\".'FILESYSTEM_DRIVER='.$request->default_driver.\"\\n\";\n            }\n        }\n\n        switch ($request->selected_driver) {\n            case 's3':\n                if (env('AWS_KEY') !== null) {\n                    $oldDiskData = \"\\n\".\n                        'AWS_KEY='.config('filesystems.disks.s3.key').\"\\n\".\n                        'AWS_SECRET=\"'.config('filesystems.disks.s3.secret').\"\\\"\\n\".\n                        'AWS_REGION='.config('filesystems.disks.s3.region').\"\\n\".\n                        'AWS_BUCKET='.config('filesystems.disks.s3.bucket').\"\\n\".\n                        'AWS_ROOT='.config('filesystems.disks.s3.root').\"\\n\";\n                }\n\n                $newDiskData = \"\\n\".\n                    'AWS_KEY='.$request->aws_key.\"\\n\".\n                    'AWS_SECRET=\"'.$request->aws_secret.\"\\\"\\n\".\n                    'AWS_REGION='.$request->aws_region.\"\\n\".\n                    'AWS_BUCKET='.$request->aws_bucket.\"\\n\".\n                    'AWS_ROOT='.$request->aws_root.\"\\n\";\n\n                break;\n\n            case 'doSpaces':\n                if (env('DO_SPACES_KEY') !== null) {\n                    $oldDiskData = \"\\n\".\n                        'DO_SPACES_KEY='.config('filesystems.disks.doSpaces.key').\"\\n\".\n                        'DO_SPACES_SECRET=\"'.config('filesystems.disks.doSpaces.secret').\"\\\"\\n\".\n                        'DO_SPACES_REGION='.config('filesystems.disks.doSpaces.region').\"\\n\".\n                        'DO_SPACES_BUCKET='.config('filesystems.disks.doSpaces.bucket').\"\\n\".\n                        'DO_SPACES_ENDPOINT='.config('filesystems.disks.doSpaces.endpoint').\"\\n\";\n                    'DO_SPACES_ROOT='.config('filesystems.disks.doSpaces.root').\"\\n\";\n                }\n\n                $newDiskData = \"\\n\".\n                    'DO_SPACES_KEY='.$request->do_spaces_key.\"\\n\".\n                    'DO_SPACES_SECRET=\"'.$request->do_spaces_secret.\"\\\"\\n\".\n                    'DO_SPACES_REGION='.$request->do_spaces_region.\"\\n\".\n                    'DO_SPACES_BUCKET='.$request->do_spaces_bucket.\"\\n\".\n                    'DO_SPACES_ENDPOINT='.$request->do_spaces_endpoint.\"\\n\";\n                    'DO_SPACES_ROOT='.$request->do_spaces_root.\"\\n\\n\";\n\n                break;\n\n            case 'dropbox':\n                if (env('DROPBOX_TOKEN') !== null) {\n                    $oldDiskData = \"\\n\".\n                        'DROPBOX_TOKEN='.config('filesystems.disks.dropbox.token').\"\\n\".\n                        'DROPBOX_KEY='.config('filesystems.disks.dropbox.key').\"\\n\".\n                        'DROPBOX_SECRET=\"'.config('filesystems.disks.dropbox.secret').\"\\\"\\n\".\n                        'DROPBOX_APP='.config('filesystems.disks.dropbox.app').\"\\n\".\n                        'DROPBOX_ROOT='.config('filesystems.disks.dropbox.root').\"\\n\";\n                }\n\n                $newDiskData = \"\\n\".\n                    'DROPBOX_TOKEN='.$request->dropbox_token.\"\\n\".\n                    'DROPBOX_KEY='.$request->dropbox_key.\"\\n\".\n                    'DROPBOX_SECRET=\"'.$request->dropbox_secret.\"\\\"\\n\".\n                    'DROPBOX_APP='.$request->dropbox_app.\"\\n\".\n                    'DROPBOX_ROOT='.$request->dropbox_root.\"\\n\";\n\n                break;\n        }\n\n        return [\n            'old_disk_data' => $oldDiskData,\n            'new_disk_data' => $newDiskData,\n            'default_driver' => $defaultDriver,\n            'old_default_driver' => $oldDefaultDriver,\n        ];\n    }\n\n    /**\n     * Save sanctum statful domain to the .env file.\n     *\n     * @param DomainEnvironmentRequest $request\n     * @return array\n     */\n    public function saveDomainVariables(DomainEnvironmentRequest $request)\n    {\n        try {\n            file_put_contents($this->envPath, str_replace(\n                'SANCTUM_STATEFUL_DOMAINS='.env('SANCTUM_STATEFUL_DOMAINS'),\n                'SANCTUM_STATEFUL_DOMAINS='.$request->app_domain,\n                file_get_contents($this->envPath)\n            ));\n\n            file_put_contents($this->envPath, str_replace(\n                'SESSION_DOMAIN='.config('session.domain'),\n                'SESSION_DOMAIN='.explode(':', $request->app_domain)[0],\n                file_get_contents($this->envPath)\n            ));\n        } catch (Exception $e) {\n            return [\n                'error' => 'domain_verification_failed'\n            ];\n        }\n\n        return [\n            'success' => 'domain_variable_save_successfully'\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Space/FilePermissionChecker.php",
    "content": "<?php\n\nnamespace Crater\\Space;\n\nclass FilePermissionChecker\n{\n    /**\n     * @var array\n     */\n    protected $results = [];\n\n    /**\n     * Set the result array permissions and errors.\n     *\n     * @return mixed\n     */\n    public function __construct()\n    {\n        $this->results['permissions'] = [];\n\n        $this->results['errors'] = null;\n    }\n\n    /**\n     * Check for the folders permissions.\n     *\n     * @param array $folders\n     * @return array\n     */\n    public function check(array $folders)\n    {\n        foreach ($folders as $folder => $permission) {\n            if (! ($this->getPermission($folder) >= $permission)) {\n                $this->addFileAndSetErrors($folder, $permission, false);\n            } else {\n                $this->addFile($folder, $permission, true);\n            }\n        }\n\n        return $this->results;\n    }\n\n    /**\n     * Get a folder permission.\n     *\n     * @param $folder\n     * @return string\n     */\n    private function getPermission($folder)\n    {\n        return substr(sprintf('%o', fileperms(base_path($folder))), -4);\n    }\n\n    /**\n     * Add the file to the list of results.\n     *\n     * @param $folder\n     * @param $permission\n     * @param $isSet\n     */\n    private function addFile($folder, $permission, $isSet)\n    {\n        array_push($this->results['permissions'], [\n            'folder' => $folder,\n            'permission' => $permission,\n            'isSet' => $isSet,\n        ]);\n    }\n\n    /**\n     * Add the file and set the errors.\n     *\n     * @param $folder\n     * @param $permission\n     * @param $isSet\n     */\n    private function addFileAndSetErrors($folder, $permission, $isSet)\n    {\n        $this->addFile($folder, $permission, $isSet);\n\n        $this->results['errors'] = true;\n    }\n}\n"
  },
  {
    "path": "app/Space/ModuleInstaller.php",
    "content": "<?php\n\nnamespace Crater\\Space;\n\nuse Artisan;\nuse Crater\\Events\\ModuleEnabledEvent;\nuse Crater\\Events\\ModuleInstalledEvent;\nuse Crater\\Http\\Resources\\ModuleResource;\nuse Crater\\Models\\Module as ModelsModule;\nuse Crater\\Models\\Setting;\nuse File;\nuse GuzzleHttp\\Exception\\RequestException;\nuse Nwidart\\Modules\\Facades\\Module;\nuse ZipArchive;\n\n// Implementation taken from Akaunting - https://github.com/akaunting/akaunting\nclass ModuleInstaller\n{\n    use SiteApi;\n\n    public static function getModules()\n    {\n        $data = null;\n        if (env('APP_ENV') === 'development') {\n            $url = 'api/marketplace/modules?is_dev=1';\n        } else {\n            $url = 'api/marketplace/modules';\n        }\n\n        $token = Setting::getSetting('api_token');\n        $response = static::getRemote($url, ['timeout' => 100, 'track_redirects' => true], $token);\n\n        if ($response && ($response->getStatusCode() == 401)) {\n            return response()->json(['error' => 'invalid_token']);\n        }\n\n        if ($response && ($response->getStatusCode() == 200)) {\n            $data = $response->getBody()->getContents();\n        }\n\n        $data = json_decode($data);\n\n        return ModuleResource::collection(collect($data->modules));\n    }\n\n    public static function getModule($module)\n    {\n        $data = null;\n        if (env('APP_ENV') === 'development') {\n            $url = 'api/marketplace/modules/'.$module.'?is_dev=1';\n        } else {\n            $url = 'api/marketplace/modules/'.$module;\n        }\n\n        $token = Setting::getSetting('api_token');\n        $response = static::getRemote($url, ['timeout' => 100, 'track_redirects' => true], $token);\n\n        if ($response && ($response->getStatusCode() == 401)) {\n            return (object)['success' => false, 'error' => 'invalid_token'];\n        }\n\n        if ($response && ($response->getStatusCode() == 200)) {\n            $data = $response->getBody()->getContents();\n        }\n\n        $data = json_decode($data);\n\n        return $data;\n    }\n\n    public static function upload($request)\n    {\n        // Create temp directory\n        $temp_dir = storage_path('app/temp-'.md5(mt_rand()));\n\n        if (! File::isDirectory($temp_dir)) {\n            File::makeDirectory($temp_dir);\n        }\n\n        $path = $request->file('avatar')->storeAs(\n            'temp-'.md5(mt_rand()),\n            $request->module.'.zip',\n            'local'\n        );\n\n        return $path;\n    }\n\n    public static function download($module, $version)\n    {\n        $data = null;\n        $path = null;\n\n        if (env('APP_ENV') === 'development') {\n            $url = \"api/marketplace/modules/file/{$module}?version={$version}&is_dev=1\";\n        } else {\n            $url = \"api/marketplace/modules/file/{$module}?version={$version}\";\n        }\n\n        $token = Setting::getSetting('api_token');\n        $response = static::getRemote($url, ['timeout' => 100, 'track_redirects' => true], $token);\n\n        // Exception\n        if ($response instanceof RequestException) {\n            return [\n                'success' => false,\n                'error' => 'Download Exception',\n                'data' => [\n                    'path' => $path,\n                ],\n            ];\n        }\n\n        if ($response && ($response->getStatusCode() == 401 || $response->getStatusCode() == 404 || $response->getStatusCode() == 500)) {\n            return json_decode($response->getBody()->getContents());\n        }\n\n        if ($response && ($response->getStatusCode() == 200)) {\n            $data = $response->getBody()->getContents();\n        }\n\n        // Create temp directory\n        $temp_dir = storage_path('app/temp-'.md5(mt_rand()));\n\n        if (! File::isDirectory($temp_dir)) {\n            File::makeDirectory($temp_dir);\n        }\n\n        $zip_file_path = $temp_dir.'/upload.zip';\n\n        // Add content to the Zip file\n        $uploaded = is_int(file_put_contents($zip_file_path, $data)) ? true : false;\n\n        if (! $uploaded) {\n            return false;\n        }\n\n        return [\n            'success' => true,\n            'path' => $zip_file_path\n        ];\n    }\n\n    public static function unzip($module, $zip_file_path)\n    {\n        if (! file_exists($zip_file_path)) {\n            throw new \\Exception('Zip file not found');\n        }\n\n        $temp_extract_dir = storage_path('app/temp2-'.md5(mt_rand()));\n\n        if (! File::isDirectory($temp_extract_dir)) {\n            File::makeDirectory($temp_extract_dir);\n        }\n        // Unzip the file\n        $zip = new ZipArchive();\n\n        if ($zip->open($zip_file_path)) {\n            $zip->extractTo($temp_extract_dir);\n        }\n\n        $zip->close();\n\n        // Delete zip file\n        File::delete($zip_file_path);\n\n        return $temp_extract_dir;\n    }\n\n    public static function copyFiles($module, $temp_extract_dir)\n    {\n        if (! File::isDirectory(base_path('Modules'))) {\n            File::makeDirectory(base_path('Modules'));\n        }\n\n        // Delete Existing Module directory\n        if (! File::isDirectory(base_path('Modules').'/'.$module)) {\n            File::deleteDirectory(base_path('Modules').'/'.$module);\n        }\n\n        if (! File::copyDirectory($temp_extract_dir, base_path('Modules').'/')) {\n            return false;\n        }\n\n        // Delete temp directory\n        File::deleteDirectory($temp_extract_dir);\n\n        return true;\n    }\n\n    public static function deleteFiles($json)\n    {\n        $files = json_decode($json);\n\n        foreach ($files as $file) {\n            \\File::delete(base_path($file));\n        }\n\n        return true;\n    }\n\n    public static function complete($module, $version)\n    {\n        Module::register();\n\n        Artisan::call(\"module:migrate $module --force\");\n        Artisan::call(\"module:seed $module --force\");\n        Artisan::call(\"module:enable $module\");\n\n        $module = ModelsModule::updateOrCreate(['name' => $module], ['version' => $version, 'installed' => true, 'enabled' => true]);\n\n        ModuleInstalledEvent::dispatch($module);\n        ModuleEnabledEvent::dispatch($module);\n\n        return true;\n    }\n\n    public static function checkToken(String $token)\n    {\n        $url = 'api/marketplace/ping';\n        $response = static::getRemote($url, ['timeout' => 100, 'track_redirects' => true], $token);\n\n        if ($response && ($response->getStatusCode() == 200)) {\n            $data = $response->getBody()->getContents();\n\n            return response()->json(json_decode($data));\n        }\n\n        return response()->json(['error' => 'invalid_token']);\n    }\n}\n"
  },
  {
    "path": "app/Space/RequirementsChecker.php",
    "content": "<?php\n\nnamespace Crater\\Space;\n\nuse Illuminate\\Support\\Str;\nuse PDO;\nuse SQLite3;\n\nclass RequirementsChecker\n{\n    /**\n     * Minimum PHP Version Supported (Override is in installer.php config file).\n     *\n     * @var _minPhpVersion\n     */\n    private $_minPhpVersion = '7.0.0';\n\n    /**\n     * Check for the server requirements.\n     *\n     * @param array $requirements\n     * @return array\n     */\n    public function check(array $requirements)\n    {\n        $results = [];\n\n        foreach ($requirements as $type => $requirement) {\n            switch ($type) {\n                // check php requirements\n                case 'php':\n                    foreach ($requirements[$type] as $requirement) {\n                        $results['requirements'][$type][$requirement] = true;\n\n                        if (! extension_loaded($requirement)) {\n                            $results['requirements'][$type][$requirement] = false;\n\n                            $results['errors'] = true;\n                        }\n                    }\n\n                    break;\n                // check apache requirements\n                case 'apache':\n                    foreach ($requirements[$type] as $requirement) {\n                        // if function doesn't exist we can't check apache modules\n                        if (function_exists('apache_get_modules')) {\n                            $results['requirements'][$type][$requirement] = true;\n\n                            if (! in_array($requirement, apache_get_modules())) {\n                                $results['requirements'][$type][$requirement] = false;\n\n                                $results['errors'] = true;\n                            }\n                        }\n                    }\n\n                    break;\n            }\n        }\n\n        return $results;\n    }\n\n    /**\n     * Check PHP version requirement.\n     *\n     * @return array\n     */\n    public function checkPHPVersion(string $minPhpVersion = null)\n    {\n        $minVersionPhp = $minPhpVersion;\n        $currentPhpVersion = $this->getPhpVersionInfo();\n        $supported = false;\n\n        if ($minPhpVersion == null) {\n            $minVersionPhp = $this->getMinPhpVersion();\n        }\n\n        if (version_compare($currentPhpVersion['version'], $minVersionPhp) >= 0) {\n            $supported = true;\n        }\n\n        $phpStatus = [\n            'full' => $currentPhpVersion['full'],\n            'current' => $currentPhpVersion['version'],\n            'minimum' => $minVersionPhp,\n            'supported' => $supported,\n        ];\n\n        return $phpStatus;\n    }\n\n    /**\n     * Get current Php version information.\n     *\n     * @return array\n     */\n    private static function getPhpVersionInfo()\n    {\n        $currentVersionFull = PHP_VERSION;\n        preg_match(\"#^\\d+(\\.\\d+)*#\", $currentVersionFull, $filtered);\n        $currentVersion = $filtered[0];\n\n        return [\n            'full' => $currentVersionFull,\n            'version' => $currentVersion,\n        ];\n    }\n\n    /**\n     * Get minimum PHP version ID.\n     *\n     * @return string _minPhpVersion\n     */\n    protected function getMinPhpVersion()\n    {\n        return $this->_minPhpVersion;\n    }\n\n    /**\n     * Check PHP version requirement.\n     *\n     * @return array\n     */\n    public function checkMysqlVersion($conn)\n    {\n        $version_info = $conn->getAttribute(PDO::ATTR_SERVER_VERSION);\n\n        $isMariaDb = Str::contains($version_info, 'MariaDB');\n\n        $minVersionMysql = $isMariaDb ? config('crater.min_mariadb_version') : config('crater.min_mysql_version');\n\n        $currentMysqlVersion = $this->getMysqlVersionInfo($conn);\n\n        $supported = false;\n\n        if (version_compare($currentMysqlVersion, $minVersionMysql) >= 0) {\n            $supported = true;\n        }\n\n        $phpStatus = [\n            'current' => $currentMysqlVersion,\n            'minimum' => $minVersionMysql,\n            'supported' => $supported,\n        ];\n\n        return $phpStatus;\n    }\n\n    /**\n     * Get current Mysql version information.\n     *\n     * @return string\n     */\n    private static function getMysqlVersionInfo($pdo)\n    {\n        $version = $pdo->query('select version()')->fetchColumn();\n\n        preg_match(\"/^[0-9\\.]+/\", $version, $match);\n\n        return $match[0];\n    }\n\n    /**\n     * Check Sqlite version requirement.\n     *\n     * @return array\n     */\n    public function checkSqliteVersion(string $minSqliteVersion = null)\n    {\n        $minVersionSqlite = $minSqliteVersion;\n        $currentSqliteVersion = $this->getSqliteVersionInfo();\n        $supported = false;\n\n        if (version_compare($currentSqliteVersion, $minVersionSqlite) >= 0) {\n            $supported = true;\n        }\n\n        $phpStatus = [\n            'current' => $currentSqliteVersion,\n            'minimum' => $minVersionSqlite,\n            'supported' => $supported,\n        ];\n\n        return $phpStatus;\n    }\n\n    /**\n     * Get current Sqlite version information.\n     *\n     * @return string\n     */\n    private static function getSqliteVersionInfo()\n    {\n        $currentVersion = SQLite3::version();\n\n        return $currentVersion['versionString'];\n    }\n\n    /**\n     * Check Pgsql version requirement.\n     *\n     * @return array\n     */\n    public function checkPgsqlVersion($conn, string $minPgsqlVersion = null)\n    {\n        $minVersionPgsql = $minPgsqlVersion;\n        $currentPgsqlVersion = $this->getPgsqlVersionInfo($conn);\n        $supported = false;\n\n        if (version_compare($currentPgsqlVersion, $minVersionPgsql) >= 0) {\n            $supported = true;\n        }\n\n        $phpStatus = [\n            'current' => $currentPgsqlVersion,\n            'minimum' => $minVersionPgsql,\n            'supported' => $supported,\n        ];\n\n        return $phpStatus;\n    }\n\n    /**\n     * Get current Pgsql version information.\n     *\n     * @return string\n     */\n    private static function getPgsqlVersionInfo($conn)\n    {\n        $currentVersion = pg_version($conn);\n\n        return $currentVersion['server'];\n    }\n}\n"
  },
  {
    "path": "app/Space/SiteApi.php",
    "content": "<?php\n\nnamespace Crater\\Space;\n\nuse Crater\\Models\\Setting;\nuse GuzzleHttp\\Client;\nuse GuzzleHttp\\Exception\\RequestException;\n\n// Implementation taken from Akaunting - https://github.com/akaunting/akaunting\ntrait SiteApi\n{\n    protected static function getRemote($url, $data = [], $token = null)\n    {\n        $client = new Client(['verify' => false, 'base_uri' => config('crater.base_url').'/']);\n\n        $headers['headers'] = [\n            'Accept' => 'application/json',\n            'Referer' => url('/'),\n            'crater' => Setting::getSetting('version'),\n            'Authorization' => \"Bearer {$token}\",\n        ];\n\n        $data['http_errors'] = false;\n\n        $data = array_merge($data, $headers);\n\n        try {\n            $result = $client->get($url, $data);\n        } catch (RequestException $e) {\n            $result = $e;\n        }\n\n        return $result;\n    }\n}\n"
  },
  {
    "path": "app/Space/TimeZones.php",
    "content": "<?php\n\nnamespace Crater\\Space;\n\nclass TimeZones\n{\n    public static function get_list()\n    {\n        return [\n            ['value' => 'Pacific/Midway', 'key' => '(UTC-11:00) Midway'],\n            ['value' => 'Pacific/Niue', 'key' => '(UTC-11:00) Niue'],\n            ['value' => 'Pacific/Pago_Pago', 'key' => '(UTC-11:00) Pago Pago'],\n            ['value' => 'America/Adak', 'key' => '(UTC-10:00) Adak'],\n            ['value' => 'Pacific/Honolulu', 'key' => '(UTC-10:00) Honolulu'],\n            ['value' => 'Pacific/Johnston', 'key' => '(UTC-10:00) Johnston'],\n            ['value' => 'Pacific/Rarotonga', 'key' => '(UTC-10:00) Rarotonga'],\n            ['value' => 'Pacific/Tahiti', 'key' => '(UTC-10:00) Tahiti'],\n            ['value' => 'Pacific/Marquesas', 'key' => '(UTC-09:30) Marquesas'],\n            ['value' => 'America/Anchorage', 'key' => '(UTC-09:00) Anchorage'],\n            ['value' => 'Pacific/Gambier', 'key' => '(UTC-09:00) Gambier'],\n            ['value' => 'America/Juneau', 'key' => '(UTC-09:00) Juneau'],\n            ['value' => 'America/Nome', 'key' => '(UTC-09:00) Nome'],\n            ['value' => 'America/Sitka', 'key' => '(UTC-09:00) Sitka'],\n            ['value' => 'America/Yakutat', 'key' => '(UTC-09:00) Yakutat'],\n            ['value' => 'America/Dawson', 'key' => '(UTC-08:00) Dawson'],\n            ['value' => 'America/Los_Angeles', 'key' => '(UTC-08:00) Los Angeles'],\n            ['value' => 'America/Metlakatla', 'key' => '(UTC-08:00) Metlakatla'],\n            ['value' => 'Pacific/Pitcairn', 'key' => '(UTC-08:00) Pitcairn'],\n            ['value' => 'America/Santa_Isabel', 'key' => '(UTC-08:00) Santa Isabel'],\n            ['value' => 'America/Tijuana', 'key' => '(UTC-08:00) Tijuana'],\n            ['value' => 'America/Vancouver', 'key' => '(UTC-08:00) Vancouver'],\n            ['value' => 'America/Whitehorse', 'key' => '(UTC-08:00) Whitehorse'],\n            ['value' => 'America/Boise', 'key' => '(UTC-07:00) Boise'],\n            ['value' => 'America/Cambridge_Bay', 'key' => '(UTC-07:00) Cambridge Bay'],\n            ['value' => 'America/Chihuahua', 'key' => '(UTC-07:00) Chihuahua'],\n            ['value' => 'America/Creston', 'key' => '(UTC-07:00) Creston'],\n            ['value' => 'America/Dawson_Creek', 'key' => '(UTC-07:00) Dawson Creek'],\n            ['value' => 'America/Denver', 'key' => '(UTC-07:00) Denver'],\n            ['value' => 'America/Edmonton', 'key' => '(UTC-07:00) Edmonton'],\n            ['value' => 'America/Hermosillo', 'key' => '(UTC-07:00) Hermosillo'],\n            ['value' => 'America/Inuvik', 'key' => '(UTC-07:00) Inuvik'],\n            ['value' => 'America/Mazatlan', 'key' => '(UTC-07:00) Mazatlan'],\n            ['value' => 'America/Ojinaga', 'key' => '(UTC-07:00) Ojinaga'],\n            ['value' => 'America/Phoenix', 'key' => '(UTC-07:00) Phoenix'],\n            ['value' => 'America/Shiprock', 'key' => '(UTC-07:00) Shiprock'],\n            ['value' => 'America/Yellowknife', 'key' => '(UTC-07:00) Yellowknife'],\n            ['value' => 'America/Bahia_Banderas', 'key' => '(UTC-06:00) Bahia Banderas'],\n            ['value' => 'America/Belize', 'key' => '(UTC-06:00) Belize'],\n            ['value' => 'America/North_Dakota/Beulah', 'key' => '(UTC-06:00) Beulah'],\n            ['value' => 'America/Cancun', 'key' => '(UTC-06:00) Cancun'],\n            ['value' => 'America/North_Dakota/Center', 'key' => '(UTC-06:00) Center'],\n            ['value' => 'America/Chicago', 'key' => '(UTC-06:00) Chicago'],\n            ['value' => 'America/Costa_Rica', 'key' => '(UTC-06:00) Costa Rica'],\n            ['value' => 'Pacific/Easter', 'key' => '(UTC-06:00) Easter'],\n            ['value' => 'America/El_Salvador', 'key' => '(UTC-06:00) El Salvador'],\n            ['value' => 'Pacific/Galapagos', 'key' => '(UTC-06:00) Galapagos'],\n            ['value' => 'America/Guatemala', 'key' => '(UTC-06:00) Guatemala'],\n            ['value' => 'America/Indiana/Knox', 'key' => '(UTC-06:00) Knox'],\n            ['value' => 'America/Managua', 'key' => '(UTC-06:00) Managua'],\n            ['value' => 'America/Matamoros', 'key' => '(UTC-06:00) Matamoros'],\n            ['value' => 'America/Menominee', 'key' => '(UTC-06:00) Menominee'],\n            ['value' => 'America/Merida', 'key' => '(UTC-06:00) Merida'],\n            ['value' => 'America/Mexico_City', 'key' => '(UTC-06:00) Mexico City'],\n            ['value' => 'America/Monterrey', 'key' => '(UTC-06:00) Monterrey'],\n            ['value' => 'America/North_Dakota/New_Salem', 'key' => '(UTC-06:00) New Salem'],\n            ['value' => 'America/Rainy_River', 'key' => '(UTC-06:00) Rainy River'],\n            ['value' => 'America/Rankin_Inlet', 'key' => '(UTC-06:00) Rankin Inlet'],\n            ['value' => 'America/Regina', 'key' => '(UTC-06:00) Regina'],\n            ['value' => 'America/Resolute', 'key' => '(UTC-06:00) Resolute'],\n            ['value' => 'America/Swift_Current', 'key' => '(UTC-06:00) Swift Current'],\n            ['value' => 'America/Tegucigalpa', 'key' => '(UTC-06:00) Tegucigalpa'],\n            ['value' => 'America/Indiana/Tell_City', 'key' => '(UTC-06:00) Tell City'],\n            ['value' => 'America/Winnipeg', 'key' => '(UTC-06:00) Winnipeg'],\n            ['value' => 'America/Atikokan', 'key' => '(UTC-05:00) Atikokan'],\n            ['value' => 'America/Bogota', 'key' => '(UTC-05:00) Bogota'],\n            ['value' => 'America/Cayman', 'key' => '(UTC-05:00) Cayman'],\n            ['value' => 'America/Detroit', 'key' => '(UTC-05:00) Detroit'],\n            ['value' => 'America/Grand_Turk', 'key' => '(UTC-05:00) Grand Turk'],\n            ['value' => 'America/Guayaquil', 'key' => '(UTC-05:00) Guayaquil'],\n            ['value' => 'America/Havana', 'key' => '(UTC-05:00) Havana'],\n            ['value' => 'America/Indiana/Indianapolis', 'key' => '(UTC-05:00) Indianapolis'],\n            ['value' => 'America/Iqaluit', 'key' => '(UTC-05:00) Iqaluit'],\n            ['value' => 'America/Jamaica', 'key' => '(UTC-05:00) Jamaica'],\n            ['value' => 'America/Lima', 'key' => '(UTC-05:00) Lima'],\n            ['value' => 'America/Kentucky/Louisville', 'key' => '(UTC-05:00) Louisville'],\n            ['value' => 'America/Indiana/Marengo', 'key' => '(UTC-05:00) Marengo'],\n            ['value' => 'America/Kentucky/Monticello', 'key' => '(UTC-05:00) Monticello'],\n            ['value' => 'America/Montreal', 'key' => '(UTC-05:00) Montreal'],\n            ['value' => 'America/Nassau', 'key' => '(UTC-05:00) Nassau'],\n            ['value' => 'America/New_York', 'key' => '(UTC-05:00) New York'],\n            ['value' => 'America/Nipigon', 'key' => '(UTC-05:00) Nipigon'],\n            ['value' => 'America/Panama', 'key' => '(UTC-05:00) Panama'],\n            ['value' => 'America/Pangnirtung', 'key' => '(UTC-05:00) Pangnirtung'],\n            ['value' => 'America/Indiana/Petersburg', 'key' => '(UTC-05:00) Petersburg'],\n            ['value' => 'America/Port-au-Prince', 'key' => '(UTC-05:00) Port-au-Prince'],\n            ['value' => 'America/Thunder_Bay', 'key' => '(UTC-05:00) Thunder Bay'],\n            ['value' => 'America/Toronto', 'key' => '(UTC-05:00) Toronto'],\n            ['value' => 'America/Indiana/Vevay', 'key' => '(UTC-05:00) Vevay'],\n            ['value' => 'America/Indiana/Vincennes', 'key' => '(UTC-05:00) Vincennes'],\n            ['value' => 'America/Indiana/Winamac', 'key' => '(UTC-05:00) Winamac'],\n            ['value' => 'America/Caracas', 'key' => '(UTC-04:30) Caracas'],\n            ['value' => 'America/Anguilla', 'key' => '(UTC-04:00) Anguilla'],\n            ['value' => 'America/Antigua', 'key' => '(UTC-04:00) Antigua'],\n            ['value' => 'America/Aruba', 'key' => '(UTC-04:00) Aruba'],\n            ['value' => 'America/Asuncion', 'key' => '(UTC-04:00) Asuncion'],\n            ['value' => 'America/Barbados', 'key' => '(UTC-04:00) Barbados'],\n            ['value' => 'Atlantic/Bermuda', 'key' => '(UTC-04:00) Bermuda'],\n            ['value' => 'America/Blanc-Sablon', 'key' => '(UTC-04:00) Blanc-Sablon'],\n            ['value' => 'America/Boa_Vista', 'key' => '(UTC-04:00) Boa Vista'],\n            ['value' => 'America/Campo_Grande', 'key' => '(UTC-04:00) Campo Grande'],\n            ['value' => 'America/Cuiaba', 'key' => '(UTC-04:00) Cuiaba'],\n            ['value' => 'America/Curacao', 'key' => '(UTC-04:00) Curacao'],\n            ['value' => 'America/Dominica', 'key' => '(UTC-04:00) Dominica'],\n            ['value' => 'America/Eirunepe', 'key' => '(UTC-04:00) Eirunepe'],\n            ['value' => 'America/Glace_Bay', 'key' => '(UTC-04:00) Glace Bay'],\n            ['value' => 'America/Goose_Bay', 'key' => '(UTC-04:00) Goose Bay'],\n            ['value' => 'America/Grenada', 'key' => '(UTC-04:00) Grenada'],\n            ['value' => 'America/Guadeloupe', 'key' => '(UTC-04:00) Guadeloupe'],\n            ['value' => 'America/Guyana', 'key' => '(UTC-04:00) Guyana'],\n            ['value' => 'America/Halifax', 'key' => '(UTC-04:00) Halifax'],\n            ['value' => 'America/Kralendijk', 'key' => '(UTC-04:00) Kralendijk'],\n            ['value' => 'America/La_Paz', 'key' => '(UTC-04:00) La Paz'],\n            ['value' => 'America/Lower_Princes', 'key' => '(UTC-04:00) Lower Princes'],\n            ['value' => 'America/Manaus', 'key' => '(UTC-04:00) Manaus'],\n            ['value' => 'America/Marigot', 'key' => '(UTC-04:00) Marigot'],\n            ['value' => 'America/Martinique', 'key' => '(UTC-04:00) Martinique'],\n            ['value' => 'America/Moncton', 'key' => '(UTC-04:00) Moncton'],\n            ['value' => 'America/Montserrat', 'key' => '(UTC-04:00) Montserrat'],\n            ['value' => 'Antarctica/Palmer', 'key' => '(UTC-04:00) Palmer'],\n            ['value' => 'America/Port_of_Spain', 'key' => '(UTC-04:00) Port of Spain'],\n            ['value' => 'America/Porto_Velho', 'key' => '(UTC-04:00) Porto Velho'],\n            ['value' => 'America/Puerto_Rico', 'key' => '(UTC-04:00) Puerto Rico'],\n            ['value' => 'America/Rio_Branco', 'key' => '(UTC-04:00) Rio Branco'],\n            ['value' => 'America/Santiago', 'key' => '(UTC-04:00) Santiago'],\n            ['value' => 'America/Santo_Domingo', 'key' => '(UTC-04:00) Santo Domingo'],\n            ['value' => 'America/St_Barthelemy', 'key' => '(UTC-04:00) St. Barthelemy'],\n            ['value' => 'America/St_Kitts', 'key' => '(UTC-04:00) St. Kitts'],\n            ['value' => 'America/St_Lucia', 'key' => '(UTC-04:00) St. Lucia'],\n            ['value' => 'America/St_Thomas', 'key' => '(UTC-04:00) St. Thomas'],\n            ['value' => 'America/St_Vincent', 'key' => '(UTC-04:00) St. Vincent'],\n            ['value' => 'America/Thule', 'key' => '(UTC-04:00) Thule'],\n            ['value' => 'America/Tortola', 'key' => '(UTC-04:00) Tortola'],\n            ['value' => 'America/St_Johns', 'key' => '(UTC-03:30) St. Johns'],\n            ['value' => 'America/Araguaina', 'key' => '(UTC-03:00) Araguaina'],\n            ['value' => 'America/Bahia', 'key' => '(UTC-03:00) Bahia'],\n            ['value' => 'America/Belem', 'key' => '(UTC-03:00) Belem'],\n            ['value' => 'America/Argentina/Buenos_Aires', 'key' => '(UTC-03:00) Buenos Aires'],\n            ['value' => 'America/Argentina/Catamarca', 'key' => '(UTC-03:00) Catamarca'],\n            ['value' => 'America/Cayenne', 'key' => '(UTC-03:00) Cayenne'],\n            ['value' => 'America/Argentina/Cordoba', 'key' => '(UTC-03:00) Cordoba'],\n            ['value' => 'America/Fortaleza', 'key' => '(UTC-03:00) Fortaleza'],\n            ['value' => 'America/Godthab', 'key' => '(UTC-03:00) Godthab'],\n            ['value' => 'America/Argentina/Jujuy', 'key' => '(UTC-03:00) Jujuy'],\n            ['value' => 'America/Argentina/La_Rioja', 'key' => '(UTC-03:00) La Rioja'],\n            ['value' => 'America/Maceio', 'key' => '(UTC-03:00) Maceio'],\n            ['value' => 'America/Argentina/Mendoza', 'key' => '(UTC-03:00) Mendoza'],\n            ['value' => 'America/Miquelon', 'key' => '(UTC-03:00) Miquelon'],\n            ['value' => 'America/Montevideo', 'key' => '(UTC-03:00) Montevideo'],\n            ['value' => 'America/Paramaribo', 'key' => '(UTC-03:00) Paramaribo'],\n            ['value' => 'America/Recife', 'key' => '(UTC-03:00) Recife'],\n            ['value' => 'America/Argentina/Rio_Gallegos', 'key' => '(UTC-03:00) Rio Gallegos'],\n            ['value' => 'Antarctica/Rothera', 'key' => '(UTC-03:00) Rothera'],\n            ['value' => 'America/Argentina/Salta', 'key' => '(UTC-03:00) Salta'],\n            ['value' => 'America/Argentina/San_Juan', 'key' => '(UTC-03:00) San Juan'],\n            ['value' => 'America/Argentina/San_Luis', 'key' => '(UTC-03:00) San Luis'],\n            ['value' => 'America/Santarem', 'key' => '(UTC-03:00) Santarem'],\n            ['value' => 'America/Sao_Paulo', 'key' => '(UTC-03:00) Sao Paulo'],\n            ['value' => 'Atlantic/Stanley', 'key' => '(UTC-03:00) Stanley'],\n            ['value' => 'America/Argentina/Tucuman', 'key' => '(UTC-03:00) Tucuman'],\n            ['value' => 'America/Argentina/Ushuaia', 'key' => '(UTC-03:00) Ushuaia'],\n            ['value' => 'America/Noronha', 'key' => '(UTC-02:00) Noronha'],\n            ['value' => 'Atlantic/South_Georgia', 'key' => '(UTC-02:00) South Georgia'],\n            ['value' => 'Atlantic/Azores', 'key' => '(UTC-01:00) Azores'],\n            ['value' => 'Atlantic/Cape_Verde', 'key' => '(UTC-01:00) Cape Verde'],\n            ['value' => 'America/Scoresbysund', 'key' => '(UTC-01:00) Scoresbysund'],\n            ['value' => 'Africa/Abidjan', 'key' => '(UTC+00:00) Abidjan'],\n            ['value' => 'Africa/Accra', 'key' => '(UTC+00:00) Accra'],\n            ['value' => 'Africa/Bamako', 'key' => '(UTC+00:00) Bamako'],\n            ['value' => 'Africa/Banjul', 'key' => '(UTC+00:00) Banjul'],\n            ['value' => 'Africa/Bissau', 'key' => '(UTC+00:00) Bissau'],\n            ['value' => 'Atlantic/Canary', 'key' => '(UTC+00:00) Canary'],\n            ['value' => 'Africa/Casablanca', 'key' => '(UTC+00:00) Casablanca'],\n            ['value' => 'Africa/Conakry', 'key' => '(UTC+00:00) Conakry'],\n            ['value' => 'Africa/Dakar', 'key' => '(UTC+00:00) Dakar'],\n            ['value' => 'America/Danmarkshavn', 'key' => '(UTC+00:00) Danmarkshavn'],\n            ['value' => 'Europe/Dublin', 'key' => '(UTC+00:00) Dublin'],\n            ['value' => 'Africa/El_Aaiun', 'key' => '(UTC+00:00) El Aaiun'],\n            ['value' => 'Atlantic/Faroe', 'key' => '(UTC+00:00) Faroe'],\n            ['value' => 'Africa/Freetown', 'key' => '(UTC+00:00) Freetown'],\n            ['value' => 'Europe/Guernsey', 'key' => '(UTC+00:00) Guernsey'],\n            ['value' => 'Europe/Isle_of_Man', 'key' => '(UTC+00:00) Isle of Man'],\n            ['value' => 'Europe/Jersey', 'key' => '(UTC+00:00) Jersey'],\n            ['value' => 'Europe/Lisbon', 'key' => '(UTC+00:00) Lisbon'],\n            ['value' => 'Africa/Lome', 'key' => '(UTC+00:00) Lome'],\n            ['value' => 'Europe/London', 'key' => '(UTC+00:00) London'],\n            ['value' => 'Atlantic/Madeira', 'key' => '(UTC+00:00) Madeira'],\n            ['value' => 'Africa/Monrovia', 'key' => '(UTC+00:00) Monrovia'],\n            ['value' => 'Africa/Nouakchott', 'key' => '(UTC+00:00) Nouakchott'],\n            ['value' => 'Africa/Ouagadougou', 'key' => '(UTC+00:00) Ouagadougou'],\n            ['value' => 'Atlantic/Reykjavik', 'key' => '(UTC+00:00) Reykjavik'],\n            ['value' => 'Africa/Sao_Tome', 'key' => '(UTC+00:00) Sao Tome'],\n            ['value' => 'Atlantic/St_Helena', 'key' => '(UTC+00:00) St. Helena'],\n            ['value' => 'UTC', 'key' => '(UTC+00:00) UTC'],\n            ['value' => 'Africa/Algiers', 'key' => '(UTC+01:00) Algiers'],\n            ['value' => 'Europe/Amsterdam', 'key' => '(UTC+01:00) Amsterdam'],\n            ['value' => 'Europe/Andorra', 'key' => '(UTC+01:00) Andorra'],\n            ['value' => 'Africa/Bangui', 'key' => '(UTC+01:00) Bangui'],\n            ['value' => 'Europe/Belgrade', 'key' => '(UTC+01:00) Belgrade'],\n            ['value' => 'Europe/Berlin', 'key' => '(UTC+01:00) Berlin'],\n            ['value' => 'Europe/Bratislava', 'key' => '(UTC+01:00) Bratislava'],\n            ['value' => 'Africa/Brazzaville', 'key' => '(UTC+01:00) Brazzaville'],\n            ['value' => 'Europe/Brussels', 'key' => '(UTC+01:00) Brussels'],\n            ['value' => 'Europe/Budapest', 'key' => '(UTC+01:00) Budapest'],\n            ['value' => 'Europe/Busingen', 'key' => '(UTC+01:00) Busingen'],\n            ['value' => 'Africa/Ceuta', 'key' => '(UTC+01:00) Ceuta'],\n            ['value' => 'Europe/Copenhagen', 'key' => '(UTC+01:00) Copenhagen'],\n            ['value' => 'Africa/Douala', 'key' => '(UTC+01:00) Douala'],\n            ['value' => 'Europe/Gibraltar', 'key' => '(UTC+01:00) Gibraltar'],\n            ['value' => 'Africa/Kinshasa', 'key' => '(UTC+01:00) Kinshasa'],\n            ['value' => 'Africa/Lagos', 'key' => '(UTC+01:00) Lagos'],\n            ['value' => 'Africa/Libreville', 'key' => '(UTC+01:00) Libreville'],\n            ['value' => 'Europe/Ljubljana', 'key' => '(UTC+01:00) Ljubljana'],\n            ['value' => 'Arctic/Longyearbyen', 'key' => '(UTC+01:00) Longyearbyen'],\n            ['value' => 'Africa/Luanda', 'key' => '(UTC+01:00) Luanda'],\n            ['value' => 'Europe/Luxembourg', 'key' => '(UTC+01:00) Luxembourg'],\n            ['value' => 'Europe/Madrid', 'key' => '(UTC+01:00) Madrid'],\n            ['value' => 'Africa/Malabo', 'key' => '(UTC+01:00) Malabo'],\n            ['value' => 'Europe/Malta', 'key' => '(UTC+01:00) Malta'],\n            ['value' => 'Europe/Monaco', 'key' => '(UTC+01:00) Monaco'],\n            ['value' => 'Africa/Ndjamena', 'key' => '(UTC+01:00) Ndjamena'],\n            ['value' => 'Africa/Niamey', 'key' => '(UTC+01:00) Niamey'],\n            ['value' => 'Europe/Oslo', 'key' => '(UTC+01:00) Oslo'],\n            ['value' => 'Europe/Paris', 'key' => '(UTC+01:00) Paris'],\n            ['value' => 'Europe/Podgorica', 'key' => '(UTC+01:00) Podgorica'],\n            ['value' => 'Africa/Porto-Novo', 'key' => '(UTC+01:00) Porto-Novo'],\n            ['value' => 'Europe/Prague', 'key' => '(UTC+01:00) Prague'],\n            ['value' => 'Europe/Rome', 'key' => '(UTC+01:00) Rome'],\n            ['value' => 'Europe/San_Marino', 'key' => '(UTC+01:00) San Marino'],\n            ['value' => 'Europe/Sarajevo', 'key' => '(UTC+01:00) Sarajevo'],\n            ['value' => 'Europe/Skopje', 'key' => '(UTC+01:00) Skopje'],\n            ['value' => 'Europe/Stockholm', 'key' => '(UTC+01:00) Stockholm'],\n            ['value' => 'Europe/Tirane', 'key' => '(UTC+01:00) Tirane'],\n            ['value' => 'Africa/Tripoli', 'key' => '(UTC+01:00) Tripoli'],\n            ['value' => 'Africa/Tunis', 'key' => '(UTC+01:00) Tunis'],\n            ['value' => 'Europe/Vaduz', 'key' => '(UTC+01:00) Vaduz'],\n            ['value' => 'Europe/Vatican', 'key' => '(UTC+01:00) Vatican'],\n            ['value' => 'Europe/Vienna', 'key' => '(UTC+01:00) Vienna'],\n            ['value' => 'Europe/Warsaw', 'key' => '(UTC+01:00) Warsaw'],\n            ['value' => 'Africa/Windhoek', 'key' => '(UTC+01:00) Windhoek'],\n            ['value' => 'Europe/Zagreb', 'key' => '(UTC+01:00) Zagreb'],\n            ['value' => 'Europe/Zurich', 'key' => '(UTC+01:00) Zurich'],\n            ['value' => 'Europe/Athens', 'key' => '(UTC+02:00) Athens'],\n            ['value' => 'Asia/Beirut', 'key' => '(UTC+02:00) Beirut'],\n            ['value' => 'Africa/Blantyre', 'key' => '(UTC+02:00) Blantyre'],\n            ['value' => 'Europe/Bucharest', 'key' => '(UTC+02:00) Bucharest'],\n            ['value' => 'Africa/Bujumbura', 'key' => '(UTC+02:00) Bujumbura'],\n            ['value' => 'Africa/Cairo', 'key' => '(UTC+02:00) Cairo'],\n            ['value' => 'Europe/Chisinau', 'key' => '(UTC+02:00) Chisinau'],\n            ['value' => 'Asia/Damascus', 'key' => '(UTC+02:00) Damascus'],\n            ['value' => 'Africa/Gaborone', 'key' => '(UTC+02:00) Gaborone'],\n            ['value' => 'Asia/Gaza', 'key' => '(UTC+02:00) Gaza'],\n            ['value' => 'Africa/Harare', 'key' => '(UTC+02:00) Harare'],\n            ['value' => 'Asia/Hebron', 'key' => '(UTC+02:00) Hebron'],\n            ['value' => 'Europe/Helsinki', 'key' => '(UTC+02:00) Helsinki'],\n            ['value' => 'Europe/Istanbul', 'key' => '(UTC+02:00) Istanbul'],\n            ['value' => 'Asia/Jerusalem', 'key' => '(UTC+02:00) Jerusalem'],\n            ['value' => 'Africa/Johannesburg', 'key' => '(UTC+02:00) Johannesburg'],\n            ['value' => 'Europe/Kiev', 'key' => '(UTC+02:00) Kiev'],\n            ['value' => 'Africa/Kigali', 'key' => '(UTC+02:00) Kigali'],\n            ['value' => 'Africa/Lubumbashi', 'key' => '(UTC+02:00) Lubumbashi'],\n            ['value' => 'Africa/Lusaka', 'key' => '(UTC+02:00) Lusaka'],\n            ['value' => 'Africa/Maputo', 'key' => '(UTC+02:00) Maputo'],\n            ['value' => 'Europe/Mariehamn', 'key' => '(UTC+02:00) Mariehamn'],\n            ['value' => 'Africa/Maseru', 'key' => '(UTC+02:00) Maseru'],\n            ['value' => 'Africa/Mbabane', 'key' => '(UTC+02:00) Mbabane'],\n            ['value' => 'Asia/Nicosia', 'key' => '(UTC+02:00) Nicosia'],\n            ['value' => 'Europe/Riga', 'key' => '(UTC+02:00) Riga'],\n            ['value' => 'Europe/Simferopol', 'key' => '(UTC+02:00) Simferopol'],\n            ['value' => 'Europe/Sofia', 'key' => '(UTC+02:00) Sofia'],\n            ['value' => 'Europe/Tallinn', 'key' => '(UTC+02:00) Tallinn'],\n            ['value' => 'Europe/Uzhgorod', 'key' => '(UTC+02:00) Uzhgorod'],\n            ['value' => 'Europe/Vilnius', 'key' => '(UTC+02:00) Vilnius'],\n            ['value' => 'Europe/Zaporozhye', 'key' => '(UTC+02:00) Zaporozhye'],\n            ['value' => 'Africa/Addis_Ababa', 'key' => '(UTC+03:00) Addis Ababa'],\n            ['value' => 'Asia/Aden', 'key' => '(UTC+03:00) Aden'],\n            ['value' => 'Asia/Amman', 'key' => '(UTC+03:00) Amman'],\n            ['value' => 'Indian/Antananarivo', 'key' => '(UTC+03:00) Antananarivo'],\n            ['value' => 'Africa/Asmara', 'key' => '(UTC+03:00) Asmara'],\n            ['value' => 'Asia/Baghdad', 'key' => '(UTC+03:00) Baghdad'],\n            ['value' => 'Asia/Bahrain', 'key' => '(UTC+03:00) Bahrain'],\n            ['value' => 'Indian/Comoro', 'key' => '(UTC+03:00) Comoro'],\n            ['value' => 'Africa/Dar_es_Salaam', 'key' => '(UTC+03:00) Dar es Salaam'],\n            ['value' => 'Africa/Djibouti', 'key' => '(UTC+03:00) Djibouti'],\n            ['value' => 'Africa/Juba', 'key' => '(UTC+03:00) Juba'],\n            ['value' => 'Europe/Kaliningrad', 'key' => '(UTC+03:00) Kaliningrad'],\n            ['value' => 'Africa/Kampala', 'key' => '(UTC+03:00) Kampala'],\n            ['value' => 'Africa/Khartoum', 'key' => '(UTC+03:00) Khartoum'],\n            ['value' => 'Asia/Kuwait', 'key' => '(UTC+03:00) Kuwait'],\n            ['value' => 'Indian/Mayotte', 'key' => '(UTC+03:00) Mayotte'],\n            ['value' => 'Europe/Minsk', 'key' => '(UTC+03:00) Minsk'],\n            ['value' => 'Africa/Mogadishu', 'key' => '(UTC+03:00) Mogadishu'],\n            ['value' => 'Africa/Nairobi', 'key' => '(UTC+03:00) Nairobi'],\n            ['value' => 'Asia/Qatar', 'key' => '(UTC+03:00) Qatar'],\n            ['value' => 'Asia/Riyadh', 'key' => '(UTC+03:00) Riyadh'],\n            ['value' => 'Antarctica/Syowa', 'key' => '(UTC+03:00) Syowa'],\n            ['value' => 'Asia/Tehran', 'key' => '(UTC+03:30) Tehran'],\n            ['value' => 'Asia/Baku', 'key' => '(UTC+04:00) Baku'],\n            ['value' => 'Asia/Dubai', 'key' => '(UTC+04:00) Dubai'],\n            ['value' => 'Indian/Mahe', 'key' => '(UTC+04:00) Mahe'],\n            ['value' => 'Indian/Mauritius', 'key' => '(UTC+04:00) Mauritius'],\n            ['value' => 'Europe/Moscow', 'key' => '(UTC+04:00) Moscow'],\n            ['value' => 'Asia/Muscat', 'key' => '(UTC+04:00) Muscat'],\n            ['value' => 'Indian/Reunion', 'key' => '(UTC+04:00) Reunion'],\n            ['value' => 'Europe/Samara', 'key' => '(UTC+04:00) Samara'],\n            ['value' => 'Asia/Tbilisi', 'key' => '(UTC+04:00) Tbilisi'],\n            ['value' => 'Europe/Volgograd', 'key' => '(UTC+04:00) Volgograd'],\n            ['value' => 'Asia/Yerevan', 'key' => '(UTC+04:00) Yerevan'],\n            ['value' => 'Asia/Kabul', 'key' => '(UTC+04:30) Kabul'],\n            ['value' => 'Asia/Aqtau', 'key' => '(UTC+05:00) Aqtau'],\n            ['value' => 'Asia/Aqtobe', 'key' => '(UTC+05:00) Aqtobe'],\n            ['value' => 'Asia/Ashgabat', 'key' => '(UTC+05:00) Ashgabat'],\n            ['value' => 'Asia/Dushanbe', 'key' => '(UTC+05:00) Dushanbe'],\n            ['value' => 'Asia/Karachi', 'key' => '(UTC+05:00) Karachi'],\n            ['value' => 'Indian/Kerguelen', 'key' => '(UTC+05:00) Kerguelen'],\n            ['value' => 'Indian/Maldives', 'key' => '(UTC+05:00) Maldives'],\n            ['value' => 'Antarctica/Mawson', 'key' => '(UTC+05:00) Mawson'],\n            ['value' => 'Asia/Oral', 'key' => '(UTC+05:00) Oral'],\n            ['value' => 'Asia/Samarkand', 'key' => '(UTC+05:00) Samarkand'],\n            ['value' => 'Asia/Tashkent', 'key' => '(UTC+05:00) Tashkent'],\n            ['value' => 'Asia/Colombo', 'key' => '(UTC+05:30) Colombo'],\n            ['value' => 'Asia/Kolkata', 'key' => '(UTC+05:30) Kolkata'],\n            ['value' => 'Asia/Kathmandu', 'key' => '(UTC+05:45) Kathmandu'],\n            ['value' => 'Asia/Almaty', 'key' => '(UTC+06:00) Almaty'],\n            ['value' => 'Asia/Bishkek', 'key' => '(UTC+06:00) Bishkek'],\n            ['value' => 'Indian/Chagos', 'key' => '(UTC+06:00) Chagos'],\n            ['value' => 'Asia/Dhaka', 'key' => '(UTC+06:00) Dhaka'],\n            ['value' => 'Asia/Qyzylorda', 'key' => '(UTC+06:00) Qyzylorda'],\n            ['value' => 'Asia/Thimphu', 'key' => '(UTC+06:00) Thimphu'],\n            ['value' => 'Antarctica/Vostok', 'key' => '(UTC+06:00) Vostok'],\n            ['value' => 'Asia/Yekaterinburg', 'key' => '(UTC+06:00) Yekaterinburg'],\n            ['value' => 'Indian/Cocos', 'key' => '(UTC+06:30) Cocos'],\n            ['value' => 'Asia/Rangoon', 'key' => '(UTC+06:30) Rangoon'],\n            ['value' => 'Asia/Bangkok', 'key' => '(UTC+07:00) Bangkok'],\n            ['value' => 'Indian/Christmas', 'key' => '(UTC+07:00) Christmas'],\n            ['value' => 'Antarctica/Davis', 'key' => '(UTC+07:00) Davis'],\n            ['value' => 'Asia/Ho_Chi_Minh', 'key' => '(UTC+07:00) Ho Chi Minh'],\n            ['value' => 'Asia/Hovd', 'key' => '(UTC+07:00) Hovd'],\n            ['value' => 'Asia/Jakarta', 'key' => '(UTC+07:00) Jakarta'],\n            ['value' => 'Asia/Novokuznetsk', 'key' => '(UTC+07:00) Novokuznetsk'],\n            ['value' => 'Asia/Novosibirsk', 'key' => '(UTC+07:00) Novosibirsk'],\n            ['value' => 'Asia/Omsk', 'key' => '(UTC+07:00) Omsk'],\n            ['value' => 'Asia/Phnom_Penh', 'key' => '(UTC+07:00) Phnom Penh'],\n            ['value' => 'Asia/Pontianak', 'key' => '(UTC+07:00) Pontianak'],\n            ['value' => 'Asia/Vientiane', 'key' => '(UTC+07:00) Vientiane'],\n            ['value' => 'Asia/Brunei', 'key' => '(UTC+08:00) Brunei'],\n            ['value' => 'Antarctica/Casey', 'key' => '(UTC+08:00) Casey'],\n            ['value' => 'Asia/Choibalsan', 'key' => '(UTC+08:00) Choibalsan'],\n            ['value' => 'Asia/Chongqing', 'key' => '(UTC+08:00) Chongqing'],\n            ['value' => 'Asia/Harbin', 'key' => '(UTC+08:00) Harbin'],\n            ['value' => 'Asia/Hong_Kong', 'key' => '(UTC+08:00) Hong Kong'],\n            ['value' => 'Asia/Kashgar', 'key' => '(UTC+08:00) Kashgar'],\n            ['value' => 'Asia/Krasnoyarsk', 'key' => '(UTC+08:00) Krasnoyarsk'],\n            ['value' => 'Asia/Kuala_Lumpur', 'key' => '(UTC+08:00) Kuala Lumpur'],\n            ['value' => 'Asia/Kuching', 'key' => '(UTC+08:00) Kuching'],\n            ['value' => 'Asia/Macau', 'key' => '(UTC+08:00) Macau'],\n            ['value' => 'Asia/Makassar', 'key' => '(UTC+08:00) Makassar'],\n            ['value' => 'Asia/Manila', 'key' => '(UTC+08:00) Manila'],\n            ['value' => 'Australia/Perth', 'key' => '(UTC+08:00) Perth'],\n            ['value' => 'Asia/Shanghai', 'key' => '(UTC+08:00) Shanghai'],\n            ['value' => 'Asia/Singapore', 'key' => '(UTC+08:00) Singapore'],\n            ['value' => 'Asia/Taipei', 'key' => '(UTC+08:00) Taipei'],\n            ['value' => 'Asia/Ulaanbaatar', 'key' => '(UTC+08:00) Ulaanbaatar'],\n            ['value' => 'Asia/Urumqi', 'key' => '(UTC+08:00) Urumqi'],\n            ['value' => 'Australia/Eucla', 'key' => '(UTC+08:45) Eucla'],\n            ['value' => 'Asia/Dili', 'key' => '(UTC+09:00) Dili'],\n            ['value' => 'Asia/Irkutsk', 'key' => '(UTC+09:00) Irkutsk'],\n            ['value' => 'Asia/Jayapura', 'key' => '(UTC+09:00) Jayapura'],\n            ['value' => 'Pacific/Palau', 'key' => '(UTC+09:00) Palau'],\n            ['value' => 'Asia/Pyongyang', 'key' => '(UTC+09:00) Pyongyang'],\n            ['value' => 'Asia/Seoul', 'key' => '(UTC+09:00) Seoul'],\n            ['value' => 'Asia/Tokyo', 'key' => '(UTC+09:00) Tokyo'],\n            ['value' => 'Australia/Adelaide', 'key' => '(UTC+09:30) Adelaide'],\n            ['value' => 'Australia/Broken_Hill', 'key' => '(UTC+09:30) Broken Hill'],\n            ['value' => 'Australia/Darwin', 'key' => '(UTC+09:30) Darwin'],\n            ['value' => 'Australia/Brisbane', 'key' => '(UTC+10:00) Brisbane'],\n            ['value' => 'Pacific/Chuuk', 'key' => '(UTC+10:00) Chuuk'],\n            ['value' => 'Australia/Currie', 'key' => '(UTC+10:00) Currie'],\n            ['value' => 'Antarctica/DumontDUrville', 'key' => '(UTC+10:00) DumontDUrville'],\n            ['value' => 'Pacific/Guam', 'key' => '(UTC+10:00) Guam'],\n            ['value' => 'Australia/Hobart', 'key' => '(UTC+10:00) Hobart'],\n            ['value' => 'Asia/Khandyga', 'key' => '(UTC+10:00) Khandyga'],\n            ['value' => 'Australia/Lindeman', 'key' => '(UTC+10:00) Lindeman'],\n            ['value' => 'Australia/Melbourne', 'key' => '(UTC+10:00) Melbourne'],\n            ['value' => 'Pacific/Port_Moresby', 'key' => '(UTC+10:00) Port Moresby'],\n            ['value' => 'Pacific/Saipan', 'key' => '(UTC+10:00) Saipan'],\n            ['value' => 'Australia/Sydney', 'key' => '(UTC+10:00) Sydney'],\n            ['value' => 'Asia/Yakutsk', 'key' => '(UTC+10:00) Yakutsk'],\n            ['value' => 'Australia/Lord_Howe', 'key' => '(UTC+10:30) Lord Howe'],\n            ['value' => 'Pacific/Efate', 'key' => '(UTC+11:00) Efate'],\n            ['value' => 'Pacific/Guadalcanal', 'key' => '(UTC+11:00) Guadalcanal'],\n            ['value' => 'Pacific/Kosrae', 'key' => '(UTC+11:00) Kosrae'],\n            ['value' => 'Antarctica/Macquarie', 'key' => '(UTC+11:00) Macquarie'],\n            ['value' => 'Pacific/Noumea', 'key' => '(UTC+11:00) Noumea'],\n            ['value' => 'Pacific/Pohnpei', 'key' => '(UTC+11:00) Pohnpei'],\n            ['value' => 'Asia/Sakhalin', 'key' => '(UTC+11:00) Sakhalin'],\n            ['value' => 'Asia/Ust-Nera', 'key' => '(UTC+11:00) Ust-Nera'],\n            ['value' => 'Asia/Vladivostok', 'key' => '(UTC+11:00) Vladivostok'],\n            ['value' => 'Pacific/Norfolk', 'key' => '(UTC+11:30) Norfolk'],\n            ['value' => 'Asia/Anadyr', 'key' => '(UTC+12:00) Anadyr'],\n            ['value' => 'Pacific/Auckland', 'key' => '(UTC+12:00) Auckland'],\n            ['value' => 'Pacific/Fiji', 'key' => '(UTC+12:00) Fiji'],\n            ['value' => 'Pacific/Funafuti', 'key' => '(UTC+12:00) Funafuti'],\n            ['value' => 'Asia/Kamchatka', 'key' => '(UTC+12:00) Kamchatka'],\n            ['value' => 'Pacific/Kwajalein', 'key' => '(UTC+12:00) Kwajalein'],\n            ['value' => 'Asia/Magadan', 'key' => '(UTC+12:00) Magadan'],\n            ['value' => 'Pacific/Majuro', 'key' => '(UTC+12:00) Majuro'],\n            ['value' => 'Antarctica/McMurdo', 'key' => '(UTC+12:00) McMurdo'],\n            ['value' => 'Pacific/Nauru', 'key' => '(UTC+12:00) Nauru'],\n            ['value' => 'Antarctica/South_Pole', 'key' => '(UTC+12:00) South Pole'],\n            ['value' => 'Pacific/Tarawa', 'key' => '(UTC+12:00) Tarawa'],\n            ['value' => 'Pacific/Wake', 'key' => '(UTC+12:00) Wake'],\n            ['value' => 'Pacific/Wallis', 'key' => '(UTC+12:00) Wallis'],\n            ['value' => 'Pacific/Chatham', 'key' => '(UTC+12:45) Chatham'],\n            ['value' => 'Pacific/Apia', 'key' => '(UTC+13:00) Apia'],\n            ['value' => 'Pacific/Enderbury', 'key' => '(UTC+13:00) Enderbury'],\n            ['value' => 'Pacific/Fakaofo', 'key' => '(UTC+13:00) Fakaofo'],\n            ['value' => 'Pacific/Tongatapu', 'key' => '(UTC+13:00) Tongatapu'],\n            ['value' => 'Pacific/Kiritimati', 'key' => '(UTC+14:00) Kiritimati'],\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Space/Updater.php",
    "content": "<?php\n\nnamespace Crater\\Space;\n\nuse Artisan;\nuse Crater\\Events\\UpdateFinished;\nuse File;\nuse GuzzleHttp\\Exception\\RequestException;\nuse ZipArchive;\n\n// Implementation taken from Akaunting - https://github.com/akaunting/akaunting\nclass Updater\n{\n    use SiteApi;\n\n    public static function checkForUpdate($installed_version)\n    {\n        $data = null;\n        if (env('APP_ENV') === 'development' || env('APP_ENV') === 'local') {\n            $url = 'downloads/check/latest/'.$installed_version.'?type=update&is_dev=1';\n        } else {\n            $url = 'downloads/check/latest/'.$installed_version.'?type=update';\n        }\n\n        $response = static::getRemote($url, ['timeout' => 100, 'track_redirects' => true]);\n\n        if ($response && ($response->getStatusCode() == 200)) {\n            $data = $response->getBody()->getContents();\n        }\n\n        $data = json_decode($data);\n\n        if ($data->success && $data->version && property_exists($data->version, 'extensions')) {\n            $extensions = $data->version->extensions;\n            $extensionData = [];\n            foreach (json_decode($extensions) as $extension) {\n                $extensionData[$extension] = phpversion($extension) ? true : false;\n            }\n            $extensionData['php'.'('.$data->version->minimum_php_version.')'] = version_compare(phpversion(), $data->version->minimum_php_version, \">=\");\n            $data->version->extensions = $extensionData;\n        }\n\n        return $data;\n    }\n\n    public static function download($new_version, $is_cmd = 0)\n    {\n        $data = null;\n        $path = null;\n\n        if (env('APP_ENV') === 'development') {\n            $url = 'downloads/file/'.$new_version.'?type=update&is_dev=1&is_cmd='.$is_cmd;\n        } else {\n            $url = 'downloads/file/'.$new_version.'?type=update&is_cmd='.$is_cmd;\n        }\n\n        $response = static::getRemote($url, ['timeout' => 100, 'track_redirects' => true]);\n\n        // Exception\n        if ($response instanceof RequestException) {\n            return [\n                'success' => false,\n                'error' => 'Download Exception',\n                'data' => [\n                    'path' => $path,\n                ],\n            ];\n        }\n\n        if ($response && ($response->getStatusCode() == 200)) {\n            $data = $response->getBody()->getContents();\n        }\n\n        // Create temp directory\n        $temp_dir = storage_path('app/temp-'.md5(mt_rand()));\n\n        if (! File::isDirectory($temp_dir)) {\n            File::makeDirectory($temp_dir);\n        }\n\n        $zip_file_path = $temp_dir.'/upload.zip';\n\n        // Add content to the Zip file\n        $uploaded = is_int(file_put_contents($zip_file_path, $data)) ? true : false;\n\n        if (! $uploaded) {\n            return false;\n        }\n\n        return $zip_file_path;\n    }\n\n    public static function unzip($zip_file_path)\n    {\n        if (! file_exists($zip_file_path)) {\n            throw new \\Exception('Zip file not found');\n        }\n\n        $temp_extract_dir = storage_path('app/temp2-'.md5(mt_rand()));\n\n        if (! File::isDirectory($temp_extract_dir)) {\n            File::makeDirectory($temp_extract_dir);\n        }\n        // Unzip the file\n        $zip = new ZipArchive();\n\n        if ($zip->open($zip_file_path)) {\n            $zip->extractTo($temp_extract_dir);\n        }\n\n        $zip->close();\n\n        // Delete zip file\n        File::delete($zip_file_path);\n\n        return $temp_extract_dir;\n    }\n\n    public static function copyFiles($temp_extract_dir)\n    {\n        if (! File::copyDirectory($temp_extract_dir.'/Crater', base_path())) {\n            return false;\n        }\n\n        // Delete temp directory\n        File::deleteDirectory($temp_extract_dir);\n\n        return true;\n    }\n\n    public static function deleteFiles($json)\n    {\n        $files = json_decode($json);\n\n        foreach ($files as $file) {\n            \\File::delete(base_path($file));\n        }\n\n        return true;\n    }\n\n    public static function migrateUpdate()\n    {\n        Artisan::call('migrate --force');\n\n        return true;\n    }\n\n    public static function finishUpdate($installed, $version)\n    {\n        event(new UpdateFinished($installed, $version));\n\n        return [\n            'success' => true,\n            'error' => false,\n            'data' => [],\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Space/helpers.php",
    "content": "<?php\n\nuse Crater\\Models\\CompanySetting;\nuse Crater\\Models\\Currency;\nuse Crater\\Models\\CustomField;\nuse Crater\\Models\\Setting;\nuse Illuminate\\Support\\Str;\n\n/**\n * Get company setting\n *\n * @param $company_id\n * @return string\n */\nfunction get_company_setting($key, $company_id)\n{\n    if (\\Storage::disk('local')->has('database_created')) {\n        return CompanySetting::getSetting($key, $company_id);\n    }\n}\n\n/**\n * Get app setting\n *\n * @param $company_id\n * @return string\n */\nfunction get_app_setting($key)\n{\n    if (\\Storage::disk('local')->has('database_created')) {\n        return Setting::getSetting($key);\n    }\n}\n\n/**\n * Get page title\n *\n * @param $company_id\n * @return string\n */\nfunction get_page_title($company_id)\n{\n    $routeName = Route::currentRouteName();\n\n    $pageTitle = null;\n    $defaultPageTitle = 'Crater - Self Hosted Invoicing Platform';\n\n    if (\\Storage::disk('local')->has('database_created')) {\n        if ($routeName === 'customer.dashboard') {\n            $pageTitle = CompanySetting::getSetting('customer_portal_page_title', $company_id);\n\n            return $pageTitle ? $pageTitle : $defaultPageTitle;\n        }\n\n        $pageTitle = Setting::getSetting('admin_page_title');\n\n        return $pageTitle ? $pageTitle : $defaultPageTitle;\n    }\n}\n\n/**\n * Set Active Path\n *\n * @param $path\n * @param string $active\n * @return string\n */\nfunction set_active($path, $active = 'active')\n{\n    return call_user_func_array('Request::is', (array)$path) ? $active : '';\n}\n\n/**\n * @param $path\n * @return mixed\n */\nfunction is_url($path)\n{\n    return call_user_func_array('Request::is', (array)$path);\n}\n\n/**\n * @param string $type\n * @return string\n */\nfunction getCustomFieldValueKey(string $type)\n{\n    switch ($type) {\n        case 'Input':\n            return 'string_answer';\n\n        case 'TextArea':\n            return 'string_answer';\n\n        case 'Phone':\n            return 'number_answer';\n\n        case 'Url':\n            return 'string_answer';\n\n        case 'Number':\n            return 'number_answer';\n\n        case 'Dropdown':\n            return 'string_answer';\n\n        case 'Switch':\n            return 'boolean_answer';\n\n        case 'Date':\n            return 'date_answer';\n\n        case 'Time':\n            return 'time_answer';\n\n        case 'DateTime':\n            return 'date_time_answer';\n\n        default:\n            return 'string_answer';\n    }\n}\n\n/**\n * @param $money\n * @return formated_money\n */\nfunction format_money_pdf($money, $currency = null)\n{\n    $money = $money / 100;\n\n    if (! $currency) {\n        $currency = Currency::findOrFail(CompanySetting::getSetting('currency', 1));\n    }\n\n    $format_money = number_format(\n        $money,\n        $currency->precision,\n        $currency->decimal_separator,\n        $currency->thousand_separator\n    );\n\n    $currency_with_symbol = '';\n    if ($currency->swap_currency_symbol) {\n        $currency_with_symbol = $format_money.'<span style=\"font-family: DejaVu Sans;\">'.$currency->symbol.'</span>';\n    } else {\n        $currency_with_symbol = '<span style=\"font-family: DejaVu Sans;\">'.$currency->symbol.'</span>'.$format_money;\n    }\n\n    return $currency_with_symbol;\n}\n\n/**\n * @param $string\n * @return string\n */\nfunction clean_slug($model, $title, $id = 0)\n{\n    // Normalize the title\n    $slug = Str::upper('CUSTOM_'.$model.'_'.Str::slug($title, '_'));\n\n    // Get any that could possibly be related.\n    // This cuts the queries down by doing it once.\n    $allSlugs = getRelatedSlugs($model, $slug, $id);\n\n    // If we haven't used it before then we are all good.\n    if (! $allSlugs->contains('slug', $slug)) {\n        return $slug;\n    }\n\n    // Just append numbers like a savage until we find not used.\n    for ($i = 1; $i <= 10; $i++) {\n        $newSlug = $slug.'_'.$i;\n        if (! $allSlugs->contains('slug', $newSlug)) {\n            return $newSlug;\n        }\n    }\n\n    throw new \\Exception('Can not create a unique slug');\n}\n\nfunction getRelatedSlugs($type, $slug, $id = 0)\n{\n    return CustomField::select('slug')->where('slug', 'like', $slug.'%')\n        ->where('model_type', $type)\n        ->where('id', '<>', $id)\n        ->get();\n}\n\nfunction respondJson($error, $message)\n{\n    return response()->json([\n        'error' => $error,\n        'message' => $message\n    ], 422);\n}\n"
  },
  {
    "path": "app/Traits/ExchangeRateProvidersTrait.php",
    "content": "<?php\n\nnamespace Crater\\Traits;\n\nuse Illuminate\\Support\\Facades\\Http;\n\ntrait ExchangeRateProvidersTrait\n{\n    public function getExchangeRate($filter, $baseCurrencyCode, $currencyCode)\n    {\n        switch ($filter['driver']) {\n            case 'currency_freak':\n                $url = \"https://api.currencyfreaks.com/latest?apikey=\".$filter['key'];\n\n                $url = $url.\"&symbols={$currencyCode}\".\"&base={$baseCurrencyCode}\";\n                $response = Http::get($url)->json();\n\n                if (array_key_exists('success', $response)) {\n                    if ($response[\"success\"] == false) {\n                        return respondJson($response[\"error\"][\"message\"], $response[\"error\"][\"message\"]);\n                    }\n                }\n\n                return response()->json([\n                    'exchangeRate' => array_values($response[\"rates\"]),\n                ], 200);\n\n                break;\n\n            case 'currency_layer':\n                $url = \"http://api.currencylayer.com/live?access_key=\".$filter['key'].\"&source={$baseCurrencyCode}&currencies={$currencyCode}\";\n                $response = Http::get($url)->json();\n\n                if (array_key_exists('success', $response)) {\n                    if ($response[\"success\"] == false) {\n                        return respondJson($response[\"error\"][\"info\"], $response[\"error\"][\"info\"]);\n                    }\n                }\n\n                return response()->json([\n                    'exchangeRate' => array_values($response['quotes']),\n                ], 200);\n\n                break;\n\n            case 'open_exchange_rate':\n                $url = \"https://openexchangerates.org/api/latest.json?app_id=\".$filter['key'].\"&base={$baseCurrencyCode}&symbols={$currencyCode}\";\n                $response = Http::get($url)->json();\n\n                if (array_key_exists(\"error\", $response)) {\n                    return respondJson($response[\"message\"], $response[\"description\"]);\n                }\n\n                return response()->json([\n                    'exchangeRate' => array_values($response[\"rates\"]),\n                ], 200);\n\n                break;\n\n            case 'currency_converter':\n                $url = $this->getCurrencyConverterUrl($filter['driver_config']);\n                $url = $url.\"/api/v7/convert?apiKey=\".$filter['key'];\n\n                $query = \"{$baseCurrencyCode}_{$currencyCode}\";\n                $url = $url.\"&q={$query}\".\"&compact=y\";\n                $response = Http::get($url)->json();\n\n                return response()->json([\n                    'exchangeRate' => array_values($response[$query]),\n                ], 200);\n\n                break;\n        }\n    }\n\n    public function getCurrencyConverterUrl($data)\n    {\n        switch ($data['type']) {\n            case 'PREMIUM':\n                return \"https://api.currconv.com\";\n\n                break;\n\n            case 'PREPAID':\n                return \"https://prepaid.currconv.com\";\n\n                break;\n\n            case 'FREE':\n                return \"https://free.currconv.com\";\n\n                break;\n\n            case 'DEDICATED':\n                return $data['url'];\n\n                break;\n        }\n    }\n\n    public function getSupportedCurrencies($request)\n    {\n        $message = 'Please Enter Valid Provider Key.';\n        $error = 'invalid_key';\n\n        $server_message = 'Server not responding';\n        $error_message = 'server_error';\n\n        switch ($request->driver) {\n            case 'currency_freak':\n                $url = \"https://api.currencyfreaks.com/currency-symbols\";\n                $response = Http::get($url)->json();\n                $checkKey = $this->getUrl($request);\n\n                if ($response == null || $checkKey == null) {\n                    return respondJson($error_message, $server_message);\n                }\n\n                if (array_key_exists('success', $checkKey) && array_key_exists('error', $checkKey)) {\n                    if ($checkKey['error']['status'] == 404) {\n                        return respondJson($error, $message);\n                    }\n                }\n\n                return response()->json(['supportedCurrencies' => array_keys($response)]);\n\n                break;\n\n            case 'currency_layer':\n                $url = \"http://api.currencylayer.com/list?access_key=\".$request->key;\n                $response = Http::get($url)->json();\n\n                if ($response == null) {\n                    return respondJson($error_message, $server_message);\n                }\n\n                if (array_key_exists('currencies', $response)) {\n                    return response()->json(['supportedCurrencies' => array_keys($response['currencies'])]);\n                }\n\n                return respondJson($error, $message);\n\n                break;\n\n            case 'open_exchange_rate':\n                $url = \"https://openexchangerates.org/api/currencies.json\";\n                $response = Http::get($url)->json();\n                $checkKey = $this->getUrl($request);\n\n                if ($response == null || $checkKey == null) {\n                    return respondJson($error_message, $server_message);\n                }\n\n                if (array_key_exists('error', $checkKey)) {\n                    if ($checkKey['status'] == 401) {\n                        return respondJson($error, $message);\n                    }\n                }\n\n                return response()->json(['supportedCurrencies' => array_keys($response)]);\n\n                break;\n\n            case 'currency_converter':\n                $response = $this->getUrl($request);\n\n                if ($response == null) {\n                    return respondJson($error_message, $server_message);\n                }\n\n                if (array_key_exists('results', $response)) {\n                    return response()->json(['supportedCurrencies' => array_keys($response['results'])]);\n                }\n\n                return respondJson($error, $message);\n\n                break;\n        }\n    }\n\n    public function getUrl($request)\n    {\n        switch ($request->driver) {\n            case 'currency_freak':\n                $url = \"https://api.currencyfreaks.com/latest?apikey=\".$request->key.\"&symbols=INR&base=USD\";\n\n                return Http::get($url)->json();\n\n                break;\n\n            case 'currency_layer':\n                $url = \"http://api.currencylayer.com/live?access_key=\".$request->key.\"&source=INR&currencies=USD\";\n\n                return Http::get($url)->json();\n\n                break;\n\n            case 'open_exchange_rate':\n                $url = \"https://openexchangerates.org/api/latest.json?app_id=\".$request->key.\"&base=INR&symbols=USD\";\n\n                return Http::get($url)->json();\n\n                break;\n\n            case 'currency_converter':\n                $url = $this->getCurrencyConverterUrl($request).\"/api/v7/currencies?apiKey=\".$request->key;\n\n                return Http::get($url)->json();\n\n                break;\n        }\n    }\n}\n"
  },
  {
    "path": "app/Traits/GeneratesMenuTrait.php",
    "content": "<?php\n\nnamespace Crater\\Traits;\n\ntrait GeneratesMenuTrait\n{\n    public function generateMenu($key, $user)\n    {\n        $menu = [];\n\n        foreach (\\Menu::get($key)->items->toArray() as $data) {\n            if ($user->checkAccess($data)) {\n                $menu[] = [\n                    'title' => $data->title,\n                    'link' => $data->link->path['url'],\n                    'icon' => $data->data['icon'],\n                    'name' => $data->data['name'],\n                    'group' => $data->data['group'],\n                ];\n            }\n        }\n\n        return $menu;\n    }\n}\n"
  },
  {
    "path": "app/Traits/GeneratesPdfTrait.php",
    "content": "<?php\n\nnamespace Crater\\Traits;\n\nuse Carbon\\Carbon;\nuse Crater\\Models\\Address;\nuse Crater\\Models\\CompanySetting;\nuse Crater\\Models\\FileDisk;\nuse Illuminate\\Support\\Facades\\App;\n\ntrait GeneratesPdfTrait\n{\n    public function getGeneratedPDFOrStream($collection_name)\n    {\n        $pdf = $this->getGeneratedPDF($collection_name);\n        if ($pdf && file_exists($pdf['path'])) {\n            return response()->make(file_get_contents($pdf['path']), 200, [\n                'Content-Type' => 'application/pdf',\n                'Content-Disposition' => 'inline; filename=\"'.$pdf['file_name'].'\"',\n            ]);\n        }\n\n        $locale = CompanySetting::getSetting('language',  $this->company_id);\n\n        App::setLocale($locale);\n\n        $pdf = $this->getPDFData();\n\n        return response()->make($pdf->stream(), 200, [\n            'Content-Type' => 'application/pdf',\n            'Content-Disposition' => 'inline; filename=\"'.$this[$collection_name.'_number'].'.pdf\"',\n        ]);\n    }\n\n    public function getGeneratedPDF($collection_name)\n    {\n        try {\n            $media = $this->getMedia($collection_name)->first();\n\n            if ($media) {\n                $file_disk = FileDisk::find($media->custom_properties['file_disk_id']);\n\n                if (! $file_disk) {\n                    return false;\n                }\n\n                $file_disk->setConfig();\n\n                $path = null;\n\n                if ($file_disk->driver == 'local') {\n                    $path = $media->getPath();\n                } else {\n                    $path = $media->getTemporaryUrl(Carbon::now()->addMinutes(5));\n                }\n\n                return collect([\n                    'path' => $path,\n                    'file_name' => $media->file_name,\n                ]);\n            }\n        } catch (\\Exception $e) {\n            return false;\n        }\n\n        return false;\n    }\n\n    public function generatePDF($collection_name, $file_name, $deleteExistingFile = false)\n    {\n        $save_pdf_to_disk = CompanySetting::getSetting('save_pdf_to_disk',  $this->company_id);\n\n        if ($save_pdf_to_disk == 'NO') {\n            return 0;\n        }\n\n        $locale = CompanySetting::getSetting('language',  $this->company_id);\n\n        App::setLocale($locale);\n\n        $pdf = $this->getPDFData();\n\n        \\Storage::disk('local')->put('temp/'.$collection_name.'/'.$this->id.'/temp.pdf', $pdf->output());\n\n        if ($deleteExistingFile) {\n            $this->clearMediaCollection($this->id);\n        }\n\n        $file_disk = FileDisk::whereSetAsDefault(true)->first();\n\n        if ($file_disk) {\n            $file_disk->setConfig();\n        }\n\n        $media = \\Storage::disk('local')->path('temp/'.$collection_name.'/'.$this->id.'/temp.pdf');\n\n        try {\n            $this->addMedia($media)\n                ->withCustomProperties(['file_disk_id' => $file_disk->id])\n                ->usingFileName($file_name.'.pdf')\n                ->toMediaCollection($collection_name, config('filesystems.default'));\n\n            \\Storage::disk('local')->deleteDirectory('temp/'.$collection_name.'/'.$this->id);\n\n            return true;\n        } catch (\\Exception $e) {\n            return $e->getMessage();\n        }\n    }\n\n    public function getFieldsArray()\n    {\n        $customer = $this->customer;\n        $shippingAddress = $customer->shippingAddress ?? new Address();\n        $billingAddress = $customer->billingAddress ?? new Address();\n        $companyAddress = $this->company->address ?? new Address();\n\n        $fields = [\n            '{SHIPPING_ADDRESS_NAME}' => $shippingAddress->name,\n            '{SHIPPING_COUNTRY}' => $shippingAddress->country_name,\n            '{SHIPPING_STATE}' => $shippingAddress->state,\n            '{SHIPPING_CITY}' => $shippingAddress->city,\n            '{SHIPPING_ADDRESS_STREET_1}' => $shippingAddress->address_street_1,\n            '{SHIPPING_ADDRESS_STREET_2}' => $shippingAddress->address_street_2,\n            '{SHIPPING_PHONE}' => $shippingAddress->phone,\n            '{SHIPPING_ZIP_CODE}' => $shippingAddress->zip,\n            '{BILLING_ADDRESS_NAME}' => $billingAddress->name,\n            '{BILLING_COUNTRY}' => $billingAddress->country_name,\n            '{BILLING_STATE}' => $billingAddress->state,\n            '{BILLING_CITY}' => $billingAddress->city,\n            '{BILLING_ADDRESS_STREET_1}' => $billingAddress->address_street_1,\n            '{BILLING_ADDRESS_STREET_2}' => $billingAddress->address_street_2,\n            '{BILLING_PHONE}' => $billingAddress->phone,\n            '{BILLING_ZIP_CODE}' => $billingAddress->zip,\n            '{COMPANY_NAME}' => $this->company->name,\n            '{COMPANY_COUNTRY}' => $companyAddress->country_name,\n            '{COMPANY_STATE}' => $companyAddress->state,\n            '{COMPANY_CITY}' => $companyAddress->city,\n            '{COMPANY_ADDRESS_STREET_1}' => $companyAddress->address_street_1,\n            '{COMPANY_ADDRESS_STREET_2}' => $companyAddress->address_street_2,\n            '{COMPANY_PHONE}' => $companyAddress->phone,\n            '{COMPANY_ZIP_CODE}' => $companyAddress->zip,\n            '{CONTACT_DISPLAY_NAME}' => $customer->name,\n            '{PRIMARY_CONTACT_NAME}' => $customer->contact_name,\n            '{CONTACT_EMAIL}' => $customer->email,\n            '{CONTACT_PHONE}' => $customer->phone,\n            '{CONTACT_WEBSITE}' => $customer->website,\n        ];\n\n        $customFields = $this->fields;\n        $customerCustomFields = $this->customer->fields;\n\n        foreach ($customFields as $customField) {\n            $fields['{'.$customField->customField->slug.'}'] = $customField->defaultAnswer;\n        }\n\n        foreach ($customerCustomFields as $customField) {\n            $fields['{'.$customField->customField->slug.'}'] = $customField->defaultAnswer;\n        }\n\n        foreach ($fields as $key => $field) {\n            $fields[$key] = htmlspecialchars($field, ENT_QUOTES, 'UTF-8');\n        }\n\n        return $fields;\n    }\n\n    public function getFormattedString($format)\n    {\n        $values = array_merge($this->getFieldsArray(), $this->getExtraFields());\n\n        $str = nl2br(strtr($format, $values));\n\n        $str = preg_replace('/{(.*?)}/', '', $str);\n\n        $str = preg_replace(\"/<[^\\/>]*>([\\s]?)*<\\/[^>]*>/\", '', $str);\n\n        $str = str_replace(\"<p>\", \"\", $str);\n\n        $str = str_replace(\"</p>\", \"</br>\", $str);\n\n        return $str;\n    }\n}\n"
  },
  {
    "path": "app/Traits/HasCustomFieldsTrait.php",
    "content": "<?php\n\nnamespace Crater\\Traits;\n\nuse Crater\\Models\\CustomField;\n\ntrait HasCustomFieldsTrait\n{\n    public function fields()\n    {\n        return $this->morphMany('Crater\\Models\\CustomFieldValue', 'custom_field_valuable');\n    }\n\n    protected static function booted()\n    {\n        static::deleting(function ($data) {\n            if ($data->fields()->exists()) {\n                $data->fields()->delete();\n            }\n        });\n    }\n\n    public function addCustomFields($customFields)\n    {\n        foreach ($customFields as $field) {\n            if (! is_array($field)) {\n                $field = (array)$field;\n            }\n            $customField = CustomField::find($field['id']);\n\n            $customFieldValue = [\n                'type' => $customField->type,\n                'custom_field_id' => $customField->id,\n                'company_id' => $customField->company_id,\n                getCustomFieldValueKey($customField->type) => $field['value'],\n            ];\n\n            $this->fields()->create($customFieldValue);\n        }\n    }\n\n    public function updateCustomFields($customFields)\n    {\n        foreach ($customFields as $field) {\n            if (! is_array($field)) {\n                $field = (array)$field;\n            }\n\n            $customField = CustomField::find($field['id']);\n            $customFieldValue = $this->fields()->firstOrCreate([\n                'custom_field_id' => $customField->id,\n                'type' => $customField->type,\n                'company_id' => $this->company_id,\n            ]);\n\n            $type = getCustomFieldValueKey($customField->type);\n            $customFieldValue->$type = $field['value'];\n            $customFieldValue->save();\n        }\n    }\n\n    public function getCustomFieldBySlug($slug)\n    {\n        return $this->fields()\n            ->with('customField')\n            ->whereHas('customField', function ($query) use ($slug) {\n                $query->where('slug', $slug);\n            })->first();\n    }\n\n    public function getCustomFieldValueBySlug($slug)\n    {\n        $value = $this->getCustomFieldBySlug($slug);\n\n        if ($value) {\n            return $value->defaultAnswer;\n        }\n\n        return null;\n    }\n}\n"
  },
  {
    "path": "artisan",
    "content": "#!/usr/bin/env php\n<?php\n\ndefine('LARAVEL_START', microtime(true));\n\n/*\n|--------------------------------------------------------------------------\n| Register The Auto Loader\n|--------------------------------------------------------------------------\n|\n| Composer provides a convenient, automatically generated class loader\n| for our application. We just need to utilize it! We'll require it\n| into the script here so that we do not have to worry about the\n| loading of any our classes \"manually\". Feels great to relax.\n|\n*/\n\nrequire __DIR__.'/vendor/autoload.php';\n\n$app = require_once __DIR__.'/bootstrap/app.php';\n\n/*\n|--------------------------------------------------------------------------\n| Run The Artisan Application\n|--------------------------------------------------------------------------\n|\n| When we run the console application, the current CLI command will be\n| executed in this console and the response sent back to a terminal\n| or another output device for the developers. Here goes nothing!\n|\n*/\n\n$kernel = $app->make(Illuminate\\Contracts\\Console\\Kernel::class);\n\n$status = $kernel->handle(\n    $input = new Symfony\\Component\\Console\\Input\\ArgvInput,\n    new Symfony\\Component\\Console\\Output\\ConsoleOutput\n);\n\n/*\n|--------------------------------------------------------------------------\n| Shutdown The Application\n|--------------------------------------------------------------------------\n|\n| Once Artisan has finished running, we will fire off the shutdown events\n| so that any final work may be done by the application before we shut\n| down the process. This is the last thing to happen to the request.\n|\n*/\n\n$kernel->terminate($input, $status);\n\nexit($status);\n"
  },
  {
    "path": "bootstrap/app.php",
    "content": "<?php\n\n/*\n|--------------------------------------------------------------------------\n| Create The Application\n|--------------------------------------------------------------------------\n|\n| The first thing we will do is create a new Laravel application instance\n| which serves as the \"glue\" for all the components of Laravel, and is\n| the IoC container for the system binding all of the various parts.\n|\n*/\n\n$app = new Illuminate\\Foundation\\Application(\n    realpath(__DIR__.'/../')\n);\n\n/*\n|--------------------------------------------------------------------------\n| Bind Important Interfaces\n|--------------------------------------------------------------------------\n|\n| Next, we need to bind some important interfaces into the container so\n| we will be able to resolve them when needed. The kernels serve the\n| incoming requests to this application from both the web and CLI.\n|\n*/\n\n$app->singleton(\n    Illuminate\\Contracts\\Http\\Kernel::class,\n    Crater\\Http\\Kernel::class\n);\n\n$app->singleton(\n    Illuminate\\Contracts\\Console\\Kernel::class,\n    Crater\\Console\\Kernel::class\n);\n\n$app->singleton(\n    Illuminate\\Contracts\\Debug\\ExceptionHandler::class,\n    Crater\\Exceptions\\Handler::class\n);\n\n/*\n|--------------------------------------------------------------------------\n| Return The Application\n|--------------------------------------------------------------------------\n|\n| This script returns the application instance. The instance is given to\n| the calling script so we can separate the building of the instances\n| from the actual running of the application and sending responses.\n|\n*/\n\nreturn $app;\n"
  },
  {
    "path": "bootstrap/cache/.gitignore",
    "content": "*\n!.gitignore\n"
  },
  {
    "path": "composer.json",
    "content": "{\n  \"name\": \"crater-invoice/crater\",\n  \"description\": \"Free & Open Source Invoice App for Individuals & Small Businesses. https://craterapp.com\",\n  \"keywords\": [\n    \"framework\",\n    \"laravel\"\n  ],\n  \"license\": \"MIT\",\n  \"type\": \"project\",\n  \"require\": {\n    \"php\": \"^7.4 || ^8.0\",\n    \"aws/aws-sdk-php\": \"^3.142\",\n    \"barryvdh/laravel-dompdf\": \"^0.9.0\",\n    \"crater-invoice/modules\": \"^1.0.0\",\n    \"doctrine/dbal\": \"^2.10\",\n    \"dragonmantank/cron-expression\": \"^3.1\",\n    \"fideloper/proxy\": \"^4.0\",\n    \"fruitcake/laravel-cors\": \"^1.0\",\n    \"guzzlehttp/guzzle\": \"^7.0.1\",\n    \"innocenzi/laravel-vite\": \"^0.1.1\",\n    \"intervention/image\": \"^2.3\",\n    \"jasonmccreary/laravel-test-assertions\": \"^2.0\",\n    \"laravel/framework\": \"^8.0\",\n    \"laravel/helpers\": \"^1.1\",\n    \"laravel/sanctum\": \"^2.6\",\n    \"laravel/tinker\": \"^2.0\",\n    \"laravel/ui\": \"^3.0\",\n    \"lavary/laravel-menu\": \"^1.8\",\n    \"league/flysystem-aws-s3-v3\": \"^1.0\",\n    \"predis/predis\": \"^1.1\",\n    \"silber/bouncer\": \"v1.0.0-rc.10\",\n    \"spatie/flysystem-dropbox\": \"^1.2\",\n    \"spatie/laravel-backup\": \"^6.11\",\n    \"spatie/laravel-medialibrary\": \"^8.7\",\n    \"vinkla/hashids\": \"^9.0\"\n  },\n  \"require-dev\": {\n    \"barryvdh/laravel-ide-helper\": \"^2.6\",\n    \"beyondcode/laravel-dump-server\": \"^1.0\",\n    \"facade/ignition\": \"^2.3.6\",\n    \"friendsofphp/php-cs-fixer\": \"^3.8\",\n    \"fakerphp/faker\": \"^1.9.1\",\n    \"mockery/mockery\": \"^1.3.1\",\n    \"nunomaduro/collision\": \"^5.0\",\n    \"pestphp/pest\": \"^1.0\",\n    \"pestphp/pest-plugin-faker\": \"^1.0\",\n    \"pestphp/pest-plugin-laravel\": \"^1.0\",\n    \"pestphp/pest-plugin-parallel\": \"^0.2.1\",\n    \"phpunit/phpunit\": \"^9.3\"\n  },\n  \"autoload\": {\n    \"psr-4\": {\n      \"Crater\\\\\": \"app/\",\n      \"Database\\\\Factories\\\\\": \"database/factories/\",\n      \"Database\\\\Seeders\\\\\": \"database/seeders/\",\n      \"Modules\\\\\": \"Modules/\"\n    },\n    \"files\": [\n      \"app/Space/helpers.php\"\n    ]\n  },\n  \"autoload-dev\": {\n    \"psr-4\": {\n      \"Tests\\\\\": \"tests/\"\n    }\n  },\n  \"minimum-stability\": \"dev\",\n  \"prefer-stable\": true,\n  \"scripts\": {\n    \"post-autoload-dump\": [\n      \"Illuminate\\\\Foundation\\\\ComposerScripts::postAutoloadDump\",\n      \"@php artisan package:discover --ansi\"\n    ],\n    \"post-root-package-install\": [\n      \"@php -r \\\"file_exists('.env') || copy('.env.example', '.env');\\\"\"\n    ],\n    \"post-create-project-cmd\": [\n      \"@php artisan key:generate --ansi\"\n    ]\n  },\n  \"config\": {\n    \"optimize-autoloader\": true,\n    \"preferred-install\": \"dist\",\n    \"sort-packages\": true,\n    \"allow-plugins\": {\n      \"pestphp/pest-plugin\": true\n    }\n  },\n  \"extra\": {\n    \"laravel\": {\n      \"dont-discover\": []\n    }\n  }\n}\n"
  },
  {
    "path": "config/abilities.php",
    "content": "<?php\n\nuse Crater\\Models\\Customer;\nuse Crater\\Models\\CustomField;\nuse Crater\\Models\\Estimate;\nuse Crater\\Models\\ExchangeRateProvider;\nuse Crater\\Models\\Expense;\nuse Crater\\Models\\Invoice;\nuse Crater\\Models\\Item;\nuse Crater\\Models\\Note;\nuse Crater\\Models\\Payment;\nuse Crater\\Models\\RecurringInvoice;\nuse Crater\\Models\\TaxType;\n\nreturn [\n    'abilities' => [\n\n        // Customer\n        [\n            \"name\" => \"view customer\",\n            \"ability\" => \"view-customer\",\n            \"model\" => Customer::class,\n        ],\n        [\n            \"name\" => \"create customer\",\n            \"ability\" => \"create-customer\",\n            \"model\" => Customer::class,\n            \"depends_on\" => [\n                'view-customer',\n                'view-custom-field',\n            ]\n        ],\n        [\n            \"name\" => \"edit customer\",\n            \"ability\" => \"edit-customer\",\n            \"model\" => Customer::class,\n            \"depends_on\" => [\n                'view-customer',\n                'view-custom-field',\n            ]\n        ],\n        [\n            \"name\" => \"delete customer\",\n            \"ability\" => \"delete-customer\",\n            \"model\" => Customer::class,\n            \"depends_on\" => [\n                'view-customer',\n            ]\n        ],\n\n        // Item\n        [\n            \"name\" => \"view item\",\n            \"ability\" => \"view-item\",\n            \"model\" => Item::class,\n        ],\n        [\n            \"name\" => \"create item\",\n            \"ability\" => \"create-item\",\n            \"model\" => Item::class,\n            \"depends_on\" => [\n                'view-item',\n                'view-tax-type'\n            ]\n        ],\n        [\n            \"name\" => \"edit item\",\n            \"ability\" => \"edit-item\",\n            \"model\" => Item::class,\n            \"depends_on\" => [\n                'view-item',\n            ]\n        ],\n        [\n            \"name\" => \"delete item\",\n            \"ability\" => \"delete-item\",\n            \"model\" => Item::class,\n            \"depends_on\" => [\n                'view-item',\n            ]\n        ],\n\n        // Tax Type\n        [\n            \"name\" => \"view tax type\",\n            \"ability\" => \"view-tax-type\",\n            \"model\" => TaxType::class,\n        ],\n        [\n            \"name\" => \"create tax type\",\n            \"ability\" => \"create-tax-type\",\n            \"model\" => TaxType::class,\n            \"depends_on\" => [\n                'view-tax-type',\n            ]\n        ],\n        [\n            \"name\" => \"edit tax type\",\n            \"ability\" => \"edit-tax-type\",\n            \"model\" => TaxType::class,\n            \"depends_on\" => [\n                'view-tax-type',\n            ]\n        ],\n        [\n            \"name\" => \"delete tax type\",\n            \"ability\" => \"delete-tax-type\",\n            \"model\" => TaxType::class,\n            \"depends_on\" => [\n                'view-tax-type',\n            ]\n        ],\n\n        // Estimate\n        [\n            \"name\" => \"view estimate\",\n            \"ability\" => \"view-estimate\",\n            \"model\" => Estimate::class,\n        ],\n        [\n            \"name\" => \"create estimate\",\n            \"ability\" => \"create-estimate\",\n            \"model\" => Estimate::class,\n            \"depends_on\" => [\n                'view-estimate',\n                'view-item',\n                'view-tax-type',\n                'view-customer',\n                'view-custom-field',\n                'view-all-notes'\n            ]\n        ],\n        [\n            \"name\" => \"edit estimate\",\n            \"ability\" => \"edit-estimate\",\n            \"model\" => Estimate::class,\n            \"depends_on\" => [\n                'view-item',\n                'view-estimate',\n                'view-tax-type',\n                'view-customer',\n                'view-custom-field',\n                'view-all-notes'\n            ]\n        ],\n        [\n            \"name\" => \"delete estimate\",\n            \"ability\" => \"delete-estimate\",\n            \"model\" => Estimate::class,\n            \"depends_on\" => [\n                'view-estimate',\n            ]\n        ],\n        [\n            \"name\" => \"send estimate\",\n            \"ability\" => \"send-estimate\",\n            \"model\" => Estimate::class,\n        ],\n\n        // Invoice\n        [\n            \"name\" => \"view invoice\",\n            \"ability\" => \"view-invoice\",\n            \"model\" => Invoice::class,\n        ],\n        [\n            \"name\" => \"create invoice\",\n            \"ability\" => \"create-invoice\",\n            \"model\" => Invoice::class,\n            'owner_only' => false,\n            \"depends_on\" => [\n                'view-item',\n                'view-invoice',\n                'view-tax-type',\n                'view-customer',\n                'view-custom-field',\n                'view-all-notes'\n            ]\n        ],\n        [\n            \"name\" => \"edit invoice\",\n            \"ability\" => \"edit-invoice\",\n            \"model\" => Invoice::class,\n            \"depends_on\" => [\n                'view-item',\n                'view-invoice',\n                'view-tax-type',\n                'view-customer',\n                'view-custom-field',\n                'view-all-notes'\n            ]\n        ],\n        [\n            \"name\" => \"delete invoice\",\n            \"ability\" => \"delete-invoice\",\n            \"model\" => Invoice::class,\n            \"depends_on\" => [\n                'view-invoice'\n            ]\n        ],\n        [\n            \"name\" => \"send invoice\",\n            \"ability\" => \"send-invoice\",\n            \"model\" => Invoice::class,\n        ],\n\n        // Recurring Invoice\n        [\n            \"name\" => \"view recurring invoice\",\n            \"ability\" => \"view-recurring-invoice\",\n            \"model\" => RecurringInvoice::class,\n        ],\n        [\n            \"name\" => \"create recurring invoice\",\n            \"ability\" => \"create-recurring-invoice\",\n            \"model\" => RecurringInvoice::class,\n            \"depends_on\" => [\n                'view-item',\n                'view-recurring-invoice',\n                'view-tax-type',\n                'view-customer',\n                'view-all-notes',\n                'send-invoice'\n            ]\n        ],\n        [\n            \"name\" => \"edit recurring invoice\",\n            \"ability\" => \"edit-recurring-invoice\",\n            \"model\" => RecurringInvoice::class,\n            \"depends_on\" => [\n                'view-item',\n                'view-recurring-invoice',\n                'view-tax-type',\n                'view-customer',\n                'view-all-notes',\n                'send-invoice'\n            ]\n        ],\n        [\n            \"name\" => \"delete recurring invoice\",\n            \"ability\" => \"delete-recurring-invoice\",\n            \"model\" => RecurringInvoice::class,\n            \"depends_on\" => [\n                'view-recurring-invoice',\n            ]\n        ],\n\n        // Payment\n        [\n            \"name\" => \"view payment\",\n            \"ability\" => \"view-payment\",\n            \"model\" => Payment::class,\n        ],\n        [\n            \"name\" => \"create payment\",\n            \"ability\" => \"create-payment\",\n            \"model\" => Payment::class,\n            \"depends_on\" => [\n                'view-customer',\n                'view-payment',\n                'view-invoice',\n                'view-custom-field',\n                'view-all-notes'\n            ]\n        ],\n        [\n            \"name\" => \"edit payment\",\n            \"ability\" => \"edit-payment\",\n            \"model\" => Payment::class,\n            \"depends_on\" => [\n                'view-customer',\n                'view-payment',\n                'view-invoice',\n                'view-custom-field',\n                'view-all-notes'\n            ]\n        ],\n        [\n            \"name\" => \"delete payment\",\n            \"ability\" => \"delete-payment\",\n            \"model\" => Payment::class,\n            \"depends_on\" => [\n                'view-payment',\n            ]\n        ],\n        [\n            \"name\" => \"send payment\",\n            \"ability\" => \"send-payment\",\n            \"model\" => Payment::class,\n        ],\n\n        // Expense\n        [\n            \"name\" => \"view expense\",\n            \"ability\" => \"view-expense\",\n            \"model\" => Expense::class,\n        ],\n        [\n            \"name\" => \"create expense\",\n            \"ability\" => \"create-expense\",\n            \"model\" => Expense::class,\n            \"depends_on\" => [\n                'view-customer',\n                'view-expense',\n                'view-custom-field',\n            ]\n        ],\n        [\n            \"name\" => \"edit expense\",\n            \"ability\" => \"edit-expense\",\n            \"model\" => Expense::class,\n            \"depends_on\" => [\n                'view-customer',\n                'view-expense',\n                'view-custom-field',\n            ]\n        ],\n        [\n            \"name\" => \"delete expense\",\n            \"ability\" => \"delete-expense\",\n            \"model\" => Expense::class,\n            \"depends_on\" => [\n                'view-expense',\n            ]\n        ],\n\n        // Custom Field\n        [\n            \"name\" => \"view custom field\",\n            \"ability\" => \"view-custom-field\",\n            \"model\" => CustomField::class,\n        ],\n        [\n            \"name\" => \"create custom field\",\n            \"ability\" => \"create-custom-field\",\n            \"model\" => CustomField::class,\n            \"depends_on\" => [\n                'view-custom-field',\n            ]\n        ],\n        [\n            \"name\" => \"edit custom field\",\n            \"ability\" => \"edit-custom-field\",\n            \"model\" => CustomField::class,\n            \"depends_on\" => [\n                'view-custom-field',\n            ]\n        ],\n        [\n            \"name\" => \"delete custom field\",\n            \"ability\" => \"delete-custom-field\",\n            \"model\" => CustomField::class,\n            \"depends_on\" => [\n                'view-custom-field',\n            ]\n        ],\n\n        // Financial Reports\n        [\n            \"name\" => \"view financial reports\",\n            \"ability\" => \"view-financial-reports\",\n            \"model\" => null,\n        ],\n\n        // Exchange Rate Provider\n        [\n            \"name\" => \"view exchange rate provider\",\n            \"ability\" => \"view-exchange-rate-provider\",\n            \"model\" => ExchangeRateProvider::class,\n            'owner_only' => false,\n        ],\n        [\n            \"name\" => \"create exchange rate provider\",\n            \"ability\" => \"create-exchange-rate-provider\",\n            \"model\" => ExchangeRateProvider::class,\n            'owner_only' => false,\n            \"depends_on\" => [\n                'view-exchange-rate-provider',\n            ]\n        ],\n        [\n            \"name\" => \"edit exchange rate provider\",\n            \"ability\" => \"edit-exchange-rate-provider\",\n            \"model\" => ExchangeRateProvider::class,\n            'owner_only' => false,\n            \"depends_on\" => [\n                'view-exchange-rate-provider',\n            ]\n        ],\n        [\n            \"name\" => \"delete exchange rate provider\",\n            \"ability\" => \"delete-exchange-rate-provider\",\n            \"model\" => ExchangeRateProvider::class,\n            'owner_only' => false,\n            \"depends_on\" => [\n                'view-exchange-rate-provider',\n            ]\n        ],\n\n        // Settings\n        [\n            \"name\" => \"view company dashboard\",\n            \"ability\" => \"dashboard\",\n            \"model\" => null,\n        ],\n        [\n            \"name\" => \"view all notes\",\n            \"ability\" => \"view-all-notes\",\n            \"model\" => Note::class,\n        ],\n        [\n            \"name\" => \"manage notes\",\n            \"ability\" => \"manage-all-notes\",\n            \"model\" => Note::class,\n            \"depends_on\" => [\n                'view-all-notes'\n            ]\n        ]\n    ]\n];\n"
  },
  {
    "path": "config/app.php",
    "content": "<?php\n\nreturn [\n\n    /*\n    |--------------------------------------------------------------------------\n    | Application Name\n    |--------------------------------------------------------------------------\n    |\n    | This value is the name of your application. This value is used when the\n    | framework needs to place the application's name in a notification or\n    | any other location as required by the application or its packages.\n    */\n\n    'name' => 'Crater',\n\n    /*\n    |--------------------------------------------------------------------------\n    | Application Environment\n    |--------------------------------------------------------------------------\n    |\n    | This value determines the \"environment\" your application is currently\n    | running in. This may determine how you prefer to configure various\n    | services your application utilizes. Set this in your \".env\" file.\n    |\n    */\n\n    'env' => env('APP_ENV', 'production'),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Application Debug Mode\n    |--------------------------------------------------------------------------\n    |\n    | When your application is in debug mode, detailed error messages with\n    | stack traces will be shown on every error that occurs within your\n    | application. If disabled, a simple generic error page is shown.\n    |\n    */\n\n    'debug' => env('APP_DEBUG', false),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Application URL\n    |--------------------------------------------------------------------------\n    |\n    | This URL is used by the console to properly generate URLs when using\n    | the Artisan command line tool. You should set this to the root of\n    | your application so that it is used when running Artisan tasks.\n    |\n    */\n\n    'url' => env('APP_URL', 'http://localhost'),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Application Timezone\n    |--------------------------------------------------------------------------\n    |\n    | Here you may specify the default timezone for your application, which\n    | will be used by the PHP date and date-time functions. We have gone\n    | ahead and set this to a sensible default for you out of the box.\n    |\n    */\n\n    'timezone' => 'UTC',\n\n    /*\n    |--------------------------------------------------------------------------\n    | Application Locale Configuration\n    |--------------------------------------------------------------------------\n    |\n    | The application locale determines the default locale that will be used\n    | by the translation service provider. You are free to set this value\n    | to any of the locales which will be supported by the application.\n    |\n    */\n\n    'locale' => 'en',\n\n    /*\n    |--------------------------------------------------------------------------\n    | Application Fallback Locale\n    |--------------------------------------------------------------------------\n    |\n    | The fallback locale determines the locale to use when the current one\n    | is not available. You may change the value to correspond to any of\n    | the language folders that are provided through your application.\n    |\n    */\n\n    'fallback_locale' => 'en',\n\n    /*\n    |--------------------------------------------------------------------------\n    | Faker Locale\n    |--------------------------------------------------------------------------\n    |\n    | This locale will be used by the Faker PHP library when generating fake\n    | data for your database seeds. For example, this will be used to get\n    | localized telephone numbers, street address information and more.\n    |\n    */\n    'faker_locale' => 'en_US',\n\n    /*\n    |--------------------------------------------------------------------------\n    | Encryption Key\n    |--------------------------------------------------------------------------\n    |\n    | This key is used by the Illuminate encrypter service and should be set\n    | to a random, 32 character string, otherwise these encrypted strings\n    | will not be safe. Please do this before deploying an application!\n    |\n    */\n\n    'key' => env('APP_KEY'),\n\n    'cipher' => 'AES-256-CBC',\n\n    /*\n    |--------------------------------------------------------------------------\n    | Autoloaded Service Providers\n    |--------------------------------------------------------------------------\n    |\n    | The service providers listed here will be automatically loaded on the\n    | request to your application. Feel free to add your own services to\n    | this array to grant expanded functionality to your applications.\n    |\n    */\n\n    'providers' => [\n\n        /*\n         * Laravel Framework Service Providers...\n         */\n        Illuminate\\Auth\\AuthServiceProvider::class,\n        Illuminate\\Broadcasting\\BroadcastServiceProvider::class,\n        Illuminate\\Bus\\BusServiceProvider::class,\n        Illuminate\\Cache\\CacheServiceProvider::class,\n        Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider::class,\n        Illuminate\\Cookie\\CookieServiceProvider::class,\n        Illuminate\\Database\\DatabaseServiceProvider::class,\n        Illuminate\\Encryption\\EncryptionServiceProvider::class,\n        Illuminate\\Filesystem\\FilesystemServiceProvider::class,\n        Illuminate\\Foundation\\Providers\\FoundationServiceProvider::class,\n        Illuminate\\Hashing\\HashServiceProvider::class,\n        Illuminate\\Mail\\MailServiceProvider::class,\n        Illuminate\\Notifications\\NotificationServiceProvider::class,\n        Illuminate\\Pagination\\PaginationServiceProvider::class,\n        Illuminate\\Pipeline\\PipelineServiceProvider::class,\n        Illuminate\\Queue\\QueueServiceProvider::class,\n        Illuminate\\Redis\\RedisServiceProvider::class,\n        Illuminate\\Auth\\Passwords\\PasswordResetServiceProvider::class,\n        Illuminate\\Session\\SessionServiceProvider::class,\n        Illuminate\\Translation\\TranslationServiceProvider::class,\n        Illuminate\\Validation\\ValidationServiceProvider::class,\n        Illuminate\\View\\ViewServiceProvider::class,\n        Lavary\\Menu\\ServiceProvider::class,\n\n        /*\n         * Application Service Providers...\n         */\n        Crater\\Providers\\AppServiceProvider::class,\n        Crater\\Providers\\AuthServiceProvider::class,\n        Crater\\Providers\\BroadcastServiceProvider::class,\n        Crater\\Providers\\EventServiceProvider::class,\n        Crater\\Providers\\RouteServiceProvider::class,\n        Crater\\Providers\\DropboxServiceProvider::class,\n        Crater\\Providers\\ViewServiceProvider::class,\n        Barryvdh\\LaravelIdeHelper\\IdeHelperServiceProvider::class,\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Class Aliases\n    |--------------------------------------------------------------------------\n    |\n    | This array of class aliases will be registered when this application\n    | is started. However, feel free to register as many as you wish as\n    | the aliases are \"lazy\" loaded so they don't hinder performance.\n    |\n    */\n\n    'aliases' => [\n\n        'App' => Illuminate\\Support\\Facades\\App::class,\n        'Artisan' => Illuminate\\Support\\Facades\\Artisan::class,\n        'Auth' => Illuminate\\Support\\Facades\\Auth::class,\n        'Blade' => Illuminate\\Support\\Facades\\Blade::class,\n        'Bus' => Illuminate\\Support\\Facades\\Bus::class,\n        'Cache' => Illuminate\\Support\\Facades\\Cache::class,\n        'Config' => Illuminate\\Support\\Facades\\Config::class,\n        'Cookie' => Illuminate\\Support\\Facades\\Cookie::class,\n        'Crypt' => Illuminate\\Support\\Facades\\Crypt::class,\n        'DB' => Illuminate\\Support\\Facades\\DB::class,\n        'Eloquent' => Illuminate\\Database\\Eloquent\\Model::class,\n        'Event' => Illuminate\\Support\\Facades\\Event::class,\n        'File' => Illuminate\\Support\\Facades\\File::class,\n        'Gate' => Illuminate\\Support\\Facades\\Gate::class,\n        'Hash' => Illuminate\\Support\\Facades\\Hash::class,\n        'Lang' => Illuminate\\Support\\Facades\\Lang::class,\n        'Log' => Illuminate\\Support\\Facades\\Log::class,\n        'Mail' => Illuminate\\Support\\Facades\\Mail::class,\n        'Notification' => Illuminate\\Support\\Facades\\Notification::class,\n        'Password' => Illuminate\\Support\\Facades\\Password::class,\n        'Queue' => Illuminate\\Support\\Facades\\Queue::class,\n        'Redirect' => Illuminate\\Support\\Facades\\Redirect::class,\n        'Redis' => Illuminate\\Support\\Facades\\Redis::class,\n        'Http' => Illuminate\\Support\\Facades\\Http::class,\n        'Request' => Illuminate\\Support\\Facades\\Request::class,\n        'Response' => Illuminate\\Support\\Facades\\Response::class,\n        'Route' => Illuminate\\Support\\Facades\\Route::class,\n        'Schema' => Illuminate\\Support\\Facades\\Schema::class,\n        'Session' => Illuminate\\Support\\Facades\\Session::class,\n        'Storage' => Illuminate\\Support\\Facades\\Storage::class,\n        'URL' => Illuminate\\Support\\Facades\\URL::class,\n        'Validator' => Illuminate\\Support\\Facades\\Validator::class,\n        'View' => Illuminate\\Support\\Facades\\View::class,\n        'Flash' => Laracasts\\Flash\\Flash::class,\n        // 'JWTAuth' => Tymon\\JWTAuth\\Facades\\JWTAuth::class,\n        'Pusher' => Pusher\\Pusher::class,\n        'Menu' => Lavary\\Menu\\Facade::class\n    ],\n];\n"
  },
  {
    "path": "config/auth.php",
    "content": "<?php\n\nreturn [\n\n    /*\n    |--------------------------------------------------------------------------\n    | Authentication Defaults\n    |--------------------------------------------------------------------------\n    |\n    | This option controls the default authentication \"guard\" and password\n    | reset options for your application. You may change these defaults\n    | as required, but they're a perfect start for most applications.\n    |\n    */\n\n    'defaults' => [\n        'guard' => 'web',\n        'passwords' => 'users',\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Authentication Guards\n    |--------------------------------------------------------------------------\n    |\n    | Next, you may define every authentication guard for your application.\n    | Of course, a great default configuration has been defined for you\n    | here which uses session storage and the Eloquent user provider.\n    |\n    | All authentication drivers have a user provider. This defines how the\n    | users are actually retrieved out of your database or other storage\n    | mechanisms used by this application to persist your user's data.\n    |\n    | Supported: \"session\", \"token\"\n    |\n    */\n\n    'guards' => [\n        'web' => [\n            'driver' => 'session',\n            'provider' => 'users',\n        ],\n\n        'api' => [\n            'driver' => 'token',\n            'provider' => 'users',\n            'hash' => false,\n        ],\n\n        'customer' => [\n            'driver' => 'session',\n            'provider' => 'customers',\n            'hash' => false,\n        ],\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | User Providers\n    |--------------------------------------------------------------------------\n    |\n    | All authentication drivers have a user provider. This defines how the\n    | users are actually retrieved out of your database or other storage\n    | mechanisms used by this application to persist your user's data.\n    |\n    | If you have multiple user tables or models you may configure multiple\n    | sources which represent each model / table. These sources may then\n    | be assigned to any extra authentication guards you have defined.\n    |\n    | Supported: \"database\", \"eloquent\"\n    |\n    */\n\n    'providers' => [\n        'users' => [\n            'driver' => 'eloquent',\n            'model' => \\Crater\\Models\\User::class,\n        ],\n\n        'customers' => [\n            'driver' => 'eloquent',\n            'model' => \\Crater\\Models\\Customer::class,\n        ],\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Resetting Passwords\n    |--------------------------------------------------------------------------\n    |\n    | You may specify multiple password reset configurations if you have more\n    | than one user table or model in the application and you want to have\n    | separate password reset settings based on the specific user types.\n    |\n    | The expire time is the number of minutes that the reset token should be\n    | considered valid. This security feature keeps tokens short-lived so\n    | they have less time to be guessed. You may change this as needed.\n    |\n    */\n\n    'passwords' => [\n        'users' => [\n            'provider' => 'users',\n            'table' => 'password_resets',\n            'expire' => 60,\n            'throttle' => 60,\n        ],\n\n        'customers' => [\n            'provider' => 'customers',\n            'table' => 'password_resets',\n            'expire' => 60,\n            'throttle' => 60,\n        ],\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Password Confirmation Timeout\n    |--------------------------------------------------------------------------\n    |\n    | Here you may define the amount of seconds before a password confirmation\n    | times out and the user is prompted to re-enter their password via the\n    | confirmation screen. By default, the timeout lasts for three hours.\n    |\n    */\n\n    'password_timeout' => 10800,\n\n];\n"
  },
  {
    "path": "config/backup.php",
    "content": "<?php\n\nreturn [\n\n    'backup' => [\n\n        /*\n         * The name of this application. You can use this name to monitor\n         * the backups.\n         */\n        'name' => env('APP_NAME', 'laravel-backup'),\n\n        'source' => [\n\n            'files' => [\n\n                /*\n                 * The list of directories and files that will be included in the backup.\n                 */\n                'include' => [\n                    base_path(),\n                ],\n\n                /*\n                 * These directories and files will be excluded from the backup.\n                 *\n                 * Directories used by the backup process will automatically be excluded.\n                 */\n                'exclude' => [\n                    base_path('vendor'),\n                    base_path('node_modules'),\n                    base_path('.git'),\n                ],\n\n                /*\n                 * Determines if symlinks should be followed.\n                 */\n                'follow_links' => false,\n\n                /*\n                 * Determines if it should avoid unreadable folders.\n                 */\n                'ignore_unreadable_directories' => false,\n            ],\n\n            /*\n             * The names of the connections to the databases that should be backed up\n             * MySQL, PostgreSQL, SQLite and Mongo databases are supported.\n             *\n             * The content of the database dump may be customized for each connection\n             * by adding a 'dump' key to the connection settings in config/database.php.\n             * E.g.\n             * 'mysql' => [\n             *       ...\n             *      'dump' => [\n             *           'excludeTables' => [\n             *                'table_to_exclude_from_backup',\n             *                'another_table_to_exclude'\n             *            ]\n             *       ],\n             * ],\n             *\n             * If you are using only InnoDB tables on a MySQL server, you can\n             * also supply the useSingleTransaction option to avoid table locking.\n             *\n             * E.g.\n             * 'mysql' => [\n             *       ...\n             *      'dump' => [\n             *           'useSingleTransaction' => true,\n             *       ],\n             * ],\n             *\n             * For a complete list of available customization options, see https://github.com/spatie/db-dumper\n             */\n            'databases' => [\n                'mysql',\n            ],\n        ],\n\n        /*\n         * The database dump can be compressed to decrease diskspace usage.\n         *\n         * Out of the box Laravel-backup supplies\n         * Spatie\\DbDumper\\Compressors\\GzipCompressor::class.\n         *\n         * You can also create custom compressor. More info on that here:\n         * https://github.com/spatie/db-dumper#using-compression\n         *\n         * If you do not want any compressor at all, set it to null.\n         */\n        'database_dump_compressor' => null,\n\n        'destination' => [\n\n            /*\n             * The filename prefix used for the backup zip file.\n             */\n            'filename_prefix' => '',\n\n            /*\n             * The disk names on which the backups will be stored.\n             */\n            'disks' => [\n                'local',\n            ],\n        ],\n\n        /*\n         * The directory where the temporary files will be stored.\n         */\n        'temporary_directory' => storage_path('app/backup-temp'),\n    ],\n\n    /*\n     * You can get notified when specific events occur. Out of the box you can use 'mail' and 'slack'.\n     * For Slack you need to install guzzlehttp/guzzle and laravel/slack-notification-channel.\n     *\n     * You can also use your own notification classes, just make sure the class is named after one of\n     * the `Spatie\\Backup\\Events` classes.\n     */\n    'notifications' => [\n\n        'notifications' => [\n            \\Spatie\\Backup\\Notifications\\Notifications\\BackupHasFailed::class => [],\n            \\Spatie\\Backup\\Notifications\\Notifications\\UnhealthyBackupWasFound::class => [],\n            \\Spatie\\Backup\\Notifications\\Notifications\\CleanupHasFailed::class => [],\n            \\Spatie\\Backup\\Notifications\\Notifications\\BackupWasSuccessful::class => [],\n            \\Spatie\\Backup\\Notifications\\Notifications\\HealthyBackupWasFound::class => [],\n            \\Spatie\\Backup\\Notifications\\Notifications\\CleanupWasSuccessful::class => [],\n        ],\n\n        /*\n         * Here you can specify the notifiable to which the notifications should be sent. The default\n         * notifiable will use the variables specified in this config file.\n         */\n        'notifiable' => \\Spatie\\Backup\\Notifications\\Notifiable::class,\n\n        'mail' => [\n            'to' => 'your@example.com',\n\n            'from' => [\n                'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'),\n                'name' => env('MAIL_FROM_NAME', 'Example'),\n            ],\n        ],\n\n        'slack' => [\n            'webhook_url' => '',\n\n            /*\n             * If this is set to null the default channel of the webhook will be used.\n             */\n            'channel' => null,\n\n            'username' => null,\n\n            'icon' => null,\n\n        ],\n    ],\n\n    /*\n     * Here you can specify which backups should be monitored.\n     * If a backup does not meet the specified requirements the\n     * UnHealthyBackupWasFound event will be fired.\n     */\n    'monitor_backups' => [\n        [\n            'name' => env('APP_NAME', 'laravel-backup'),\n            'disks' => ['local'],\n            'health_checks' => [\n                \\Spatie\\Backup\\Tasks\\Monitor\\HealthChecks\\MaximumAgeInDays::class => 1,\n                \\Spatie\\Backup\\Tasks\\Monitor\\HealthChecks\\MaximumStorageInMegabytes::class => 5000,\n            ],\n        ],\n\n        /*\n        [\n            'name' => 'name of the second app',\n            'disks' => ['local', 's3'],\n            'health_checks' => [\n                \\Spatie\\Backup\\Tasks\\Monitor\\HealthChecks\\MaximumAgeInDays::class => 1,\n                \\Spatie\\Backup\\Tasks\\Monitor\\HealthChecks\\MaximumStorageInMegabytes::class => 5000,\n            ],\n        ],\n        */\n    ],\n\n    'cleanup' => [\n        /*\n         * The strategy that will be used to cleanup old backups. The default strategy\n         * will keep all backups for a certain amount of days. After that period only\n         * a daily backup will be kept. After that period only weekly backups will\n         * be kept and so on.\n         *\n         * No matter how you configure it the default strategy will never\n         * delete the newest backup.\n         */\n        'strategy' => \\Spatie\\Backup\\Tasks\\Cleanup\\Strategies\\DefaultStrategy::class,\n\n        'default_strategy' => [\n\n            /*\n             * The number of days for which backups must be kept.\n             */\n            'keep_all_backups_for_days' => 7,\n\n            /*\n             * The number of days for which daily backups must be kept.\n             */\n            'keep_daily_backups_for_days' => 16,\n\n            /*\n             * The number of weeks for which one weekly backup must be kept.\n             */\n            'keep_weekly_backups_for_weeks' => 8,\n\n            /*\n             * The number of months for which one monthly backup must be kept.\n             */\n            'keep_monthly_backups_for_months' => 4,\n\n            /*\n             * The number of years for which one yearly backup must be kept.\n             */\n            'keep_yearly_backups_for_years' => 2,\n\n            /*\n             * After cleaning up the backups remove the oldest backup until\n             * this amount of megabytes has been reached.\n             */\n            'delete_oldest_backups_when_using_more_megabytes_than' => 5000,\n        ],\n    ],\n\n    'queue' => [\n        'name' => env('BACKUP_QUEUE_NAME', 'backup'),\n    ],\n\n];\n"
  },
  {
    "path": "config/broadcasting.php",
    "content": "<?php\n\nreturn [\n\n    /*\n    |--------------------------------------------------------------------------\n    | Default Broadcaster\n    |--------------------------------------------------------------------------\n    |\n    | This option controls the default broadcaster that will be used by the\n    | framework when an event needs to be broadcast. You may set this to\n    | any of the connections defined in the \"connections\" array below.\n    |\n    | Supported: \"pusher\", \"redis\", \"log\", \"null\"\n    |\n    */\n\n    'default' => env('BROADCAST_DRIVER', 'null'),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Broadcast Connections\n    |--------------------------------------------------------------------------\n    |\n    | Here you may define all of the broadcast connections that will be used\n    | to broadcast events to other systems or over websockets. Samples of\n    | each available type of connection are provided inside this array.\n    |\n    */\n\n    'connections' => [\n\n        'pusher' => [\n            'driver' => 'pusher',\n            'key' => env('PUSHER_APP_KEY'),\n            'secret' => env('PUSHER_APP_SECRET'),\n            'app_id' => env('PUSHER_APP_ID'),\n            'options' => [\n                'cluster' => 'ap2',\n                'encrypted' => true,\n            ],\n        ],\n\n        'redis' => [\n            'driver' => 'redis',\n            'connection' => 'default',\n        ],\n\n        'log' => [\n            'driver' => 'log',\n        ],\n\n        'null' => [\n            'driver' => 'null',\n        ],\n\n    ],\n\n];\n"
  },
  {
    "path": "config/cache.php",
    "content": "<?php\n\nuse Illuminate\\Support\\Str;\n\nreturn [\n\n    /*\n    |--------------------------------------------------------------------------\n    | Default Cache Store\n    |--------------------------------------------------------------------------\n    |\n    | This option controls the default cache connection that gets used while\n    | using this caching library. This connection is used when another is\n    | not explicitly specified when executing a given caching function.\n    |\n    | Supported: \"apc\", \"array\", \"database\", \"file\", \"memcached\", \"redis\"\n    |\n    */\n\n    'default' => env('CACHE_DRIVER', 'file'),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Cache Stores\n    |--------------------------------------------------------------------------\n    |\n    | Here you may define all of the cache \"stores\" for your application as\n    | well as their drivers. You may even define multiple stores for the\n    | same cache driver to group types of items stored in your caches.\n    |\n    */\n\n    'stores' => [\n\n        'apc' => [\n            'driver' => 'apc',\n        ],\n\n        'array' => [\n            'driver' => 'array',\n            'serialize' => false,\n        ],\n\n        'database' => [\n            'driver' => 'database',\n            'table' => 'cache',\n            'connection' => null,\n        ],\n\n        'file' => [\n            'driver' => 'file',\n            'path' => storage_path('framework/cache/data'),\n        ],\n\n        'memcached' => [\n            'driver' => 'memcached',\n            'persistent_id' => env('MEMCACHED_PERSISTENT_ID'),\n            'sasl' => [\n                env('MEMCACHED_USERNAME'),\n                env('MEMCACHED_PASSWORD'),\n            ],\n            'options' => [\n                // Memcached::OPT_CONNECT_TIMEOUT  => 2000,\n            ],\n            'servers' => [\n                [\n                    'host' => env('MEMCACHED_HOST', '127.0.0.1'),\n                    'port' => env('MEMCACHED_PORT', 11211),\n                    'weight' => 100,\n                ],\n            ],\n        ],\n\n        'redis' => [\n            'driver' => 'redis',\n            'connection' => 'cache',\n        ],\n\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Cache Key Prefix\n    |--------------------------------------------------------------------------\n    |\n    | When utilizing a RAM based store such as APC or Memcached, there might\n    | be other applications utilizing the same cache. So, we'll specify a\n    | value to get prefixed to all our keys so we can avoid collisions.\n    |\n    */\n\n    'prefix' => env('CACHE_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_cache'),\n];\n"
  },
  {
    "path": "config/compile.php",
    "content": "<?php\n\nreturn [\n\n    /*\n    |--------------------------------------------------------------------------\n    | Additional Compiled Classes\n    |--------------------------------------------------------------------------\n    |\n    | Here you may specify additional classes to include in the compiled file\n    | generated by the `artisan optimize` command. These should be classes\n    | that are included on basically every request into the application.\n    |\n    */\n\n    'files' => [\n        //\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Compiled File Providers\n    |--------------------------------------------------------------------------\n    |\n    | Here you may list service providers which define a \"compiles\" function\n    | that returns additional files that should be compiled, providing an\n    | easy way to get common files from any packages you are utilizing.\n    |\n    */\n\n    'providers' => [\n        //\n    ],\n\n];\n"
  },
  {
    "path": "config/cors.php",
    "content": "<?php\n\nreturn [\n\n    /*\n    |--------------------------------------------------------------------------\n    | Cross-Origin Resource Sharing (CORS) Configuration\n    |--------------------------------------------------------------------------\n    |\n    | Here you may configure your settings for cross-origin resource sharing\n    | or \"CORS\". This determines what cross-origin operations may execute\n    | in web browsers. You are free to adjust these settings as needed.\n    |\n    | To learn more: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS\n    |\n    */\n\n    'paths' => ['api/*'],\n\n    'allowed_methods' => ['*'],\n\n    'allowed_origins' => ['*'],\n\n    'allowed_origins_patterns' => [],\n\n    'allowed_headers' => ['*'],\n\n    'exposed_headers' => [],\n\n    'max_age' => 0,\n\n    'supports_credentials' => false,\n\n];\n"
  },
  {
    "path": "config/crater.php",
    "content": "<?php\n\nuse Crater\\Models\\Customer;\nuse Crater\\Models\\CustomField;\nuse Crater\\Models\\Estimate;\nuse Crater\\Models\\ExchangeRateProvider;\nuse Crater\\Models\\Expense;\nuse Crater\\Models\\Invoice;\nuse Crater\\Models\\Item;\nuse Crater\\Models\\Note;\nuse Crater\\Models\\Payment;\nuse Crater\\Models\\RecurringInvoice;\nuse Crater\\Models\\TaxType;\n\nreturn [\n\n    /*\n    * Minimum php version.\n    */\n    'min_php_version' => '7.4.0',\n\n    /*\n    * Minimum mysql version.\n    */\n\n    'min_mysql_version' => '5.7.7',\n\n    /*\n    * Minimum mariadb version.\n    */\n\n    'min_mariadb_version' => '10.2.7',\n\n    /*\n    * Minimum pgsql version.\n    */\n\n    'min_pgsql_version' => '9.2.0',\n\n    /*\n    * Minimum sqlite version.\n    */\n\n    'min_sqlite_version' => '3.24.0',\n\n    /*\n    * Marketplace url.\n    */\n    'base_url' => 'https://craterapp.com',\n\n    /*\n    * List of languages supported by Crater.\n    */\n    'languages' => [\n        [\"code\" => \"ar\", \"name\" => \"Arabic\"],\n        [\"code\" => \"nl\", \"name\" => \"Dutch\"],\n        [\"code\" => \"en\", \"name\" => \"English\"],\n        [\"code\" => \"fr\", \"name\" => \"French\"],\n        [\"code\" => \"de\", \"name\" => \"German\"],\n        [\"code\" => \"ja\", \"name\" => \"Japanese\"],\n        [\"code\" => \"it\", \"name\" => \"Italian\"],\n        [\"code\" => \"lv\", \"name\" => \"Latvian\"],\n        [\"code\" => \"pl\", \"name\" => \"Polish\"],\n        [\"code\" => \"pt_BR\", \"name\" => \"Portuguese (Brazilian)\"],\n        [\"code\" => \"sr\", \"name\" => \"Serbian Latin\"],\n        [\"code\" => \"ko\", \"name\" => \"Korean\"],\n        [\"code\" => \"es\", \"name\" => \"Spanish\"],\n        [\"code\" => \"sv\", \"name\" => \"Svenska\"],\n        [\"code\" => \"sk\", \"name\" => \"Slovak\"],\n        [\"code\" => \"vi\", \"name\" => \"Tiếng Việt\"],\n        [\"code\" => \"cs\", \"name\" => \"Czech\"],\n        [\"code\" => \"el\", \"name\" => \"Greek\"],\n        [\"code\" => \"hr\", \"name\" => \"Crotian\"],\n        [\"code\" => \"th\", \"name\" => \"ไทย\"],\n    ],\n\n    /*\n    * List of Fiscal Years\n    */\n    'fiscal_years' => [\n        ['key' => 'january-december' , 'value' => '1-12'],\n        ['key' => 'february-january' , 'value' => '2-1'],\n        ['key' => 'march-february'   , 'value' => '3-2'],\n        ['key' => 'april-march'      , 'value' => '4-3'],\n        ['key' => 'may-april'        , 'value' => '5-4'],\n        ['key' => 'june-may'         , 'value' => '6-5'],\n        ['key' => 'july-june'        , 'value' => '7-6'],\n        ['key' => 'august-july'      , 'value' => '8-7'],\n        ['key' => 'september-august' , 'value' => '9-8'],\n        ['key' => 'october-september', 'value' => '10-9'],\n        ['key' => 'november-october' , 'value' => '11-10'],\n        ['key' => 'december-november', 'value' => '12-11'],\n    ],\n\n    /*\n    * List of convert estimate options\n    */\n    'convert_estimate_options' => [\n        ['key' => 'settings.preferences.no_action', 'value' => 'no_action'],\n        ['key' => 'settings.preferences.delete_estimate', 'value' => 'delete_estimate'],\n        ['key' => 'settings.preferences.mark_estimate_as_accepted', 'value' => 'mark_estimate_as_accepted'],\n    ],\n\n    /*\n    * List of retrospective edits\n    */\n    'retrospective_edits' => [\n        ['key' => 'settings.preferences.allow', 'value' => 'allow'],\n        ['key' => 'settings.preferences.disable_on_invoice_partial_paid', 'value' => 'disable_on_invoice_partial_paid'],\n        ['key' => 'settings.preferences.disable_on_invoice_paid', 'value' => 'disable_on_invoice_paid'],\n        ['key' => 'settings.preferences.disable_on_invoice_sent', 'value' => 'disable_on_invoice_sent'],\n    ],\n\n    /*\n    * List of setting menu\n    */\n    'setting_menu' => [\n        [\n            'title' => 'settings.menu_title.account_settings',\n            'group' => '',\n            'name' => 'Account Settings',\n            'link' => '/admin/settings/account-settings',\n            'icon' => 'UserIcon',\n            'owner_only' => false,\n            'ability' => '',\n            'model' => ''\n        ],\n        [\n            'title' => 'settings.menu_title.company_information',\n            'group' => '',\n            'name' => 'Company information',\n            'link' => '/admin/settings/company-info',\n            'icon' => 'OfficeBuildingIcon',\n            'owner_only' => true,\n            'ability' => '',\n            'model' => ''\n        ],\n        [\n            'title' => 'settings.menu_title.preferences',\n            'group' => '',\n            'name' => 'Preferences',\n            'link' => '/admin/settings/preferences',\n            'icon' => 'CogIcon',\n            'owner_only' => true,\n            'ability' => '',\n            'model' => ''\n        ],\n        [\n            'title' => 'settings.menu_title.customization',\n            'group' => '',\n            'name' => 'Customization',\n            'link' => '/admin/settings/customization',\n            'icon' => 'PencilAltIcon',\n            'owner_only' => true,\n            'ability' => '',\n            'model' => ''\n        ],\n        [\n            'title' => 'settings.roles.title',\n            'group' => '',\n            'name' => 'Roles',\n            'link' => '/admin/settings/roles-settings',\n            'icon' => 'UserGroupIcon',\n            'owner_only' => true,\n            'ability' => '',\n            'model' => ''\n        ],\n        [\n            'title' => 'settings.menu_title.exchange_rate',\n            'group' => '',\n            'name' => 'Exchange Rate Provider',\n            'link' => '/admin/settings/exchange-rate-provider',\n            'icon' => 'CashIcon',\n            'owner_only' => false,\n            'ability' => 'view-exchange-rate-provider',\n            'model' => ExchangeRateProvider::class\n        ],\n        [\n            'title' => 'settings.menu_title.notifications',\n            'group' => '',\n            'name' => 'Notifications',\n            'link' => '/admin/settings/notifications',\n            'icon' => 'BellIcon',\n            'owner_only' => true,\n            'ability' => '',\n            'model' => ''\n        ],\n        [\n            'title' => 'settings.menu_title.tax_types',\n            'group' => '',\n            'name' => 'Tax types',\n            'link' => '/admin/settings/tax-types',\n            'icon' => 'CheckCircleIcon',\n            'owner_only' => false,\n            'ability' => 'view-tax-type',\n            'model' => TaxType::class\n        ],\n        [\n            'title' => 'settings.menu_title.payment_modes',\n            'group' => '',\n            'name' => 'Payment modes',\n            'link' => '/admin/settings/payment-mode',\n            'icon' => 'CreditCardIcon',\n            'owner_only' => false,\n            'ability' => 'view-payment',\n            'model' => Payment::class\n        ],\n        [\n            'title' => 'settings.menu_title.custom_fields',\n            'group' => '',\n            'name' => 'Custom fields',\n            'link' => '/admin/settings/custom-fields',\n            'icon' => 'CubeIcon',\n            'owner_only' => false,\n            'ability' => 'view-custom-field',\n            'model' => CustomField::class\n        ],\n        [\n            'title' => 'settings.menu_title.notes',\n            'group' => '',\n            'name' => 'Notes',\n            'link' => '/admin/settings/notes',\n            'icon' => 'ClipboardCheckIcon',\n            'owner_only' => false,\n            'ability' => 'view-all-notes',\n            'model' => Note::class\n        ],\n        [\n            'title' => 'settings.menu_title.expense_category',\n            'group' => '',\n            'name' => 'Expense Category',\n            'link' => '/admin/settings/expense-category',\n            'icon' => 'ClipboardListIcon',\n            'owner_only' => false,\n            'ability' => 'view-expense',\n            'model' => Expense::class\n        ],\n        [\n            'title' => 'settings.mail.mail_config',\n            'group' => '',\n            'name' => 'Mail Configuration',\n            'link' => '/admin/settings/mail-configuration',\n            'icon' => 'MailIcon',\n            'owner_only' => true,\n            'ability' => '',\n            'model' => ''\n        ],\n        [\n            'title' => 'settings.menu_title.file_disk',\n            'group' => '',\n            'name' => 'File Disk',\n            'link' => '/admin/settings/file-disk',\n            'icon' => 'FolderIcon',\n            'owner_only' => true,\n            'ability' => '',\n            'model' => ''\n        ],\n        [\n            'title' => 'settings.menu_title.backup',\n            'group' => '',\n            'name' => 'Backup',\n            'link' => '/admin/settings/backup',\n            'icon' => 'DatabaseIcon',\n            'owner_only' => true,\n            'ability' => '',\n            'model' => ''\n        ],\n        [\n            'title' => 'settings.menu_title.update_app',\n            'group' => '',\n            'name' => 'Update App',\n            'link' => '/admin/settings/update-app',\n            'icon' => 'RefreshIcon',\n            'owner_only' => true,\n            'ability' => '',\n            'model' => ''\n        ],\n    ],\n\n    /*\n    * List of main menu\n    */\n    'main_menu' => [\n        [\n            'title' => 'navigation.dashboard',\n            'group' => 1,\n            'link' => '/admin/dashboard',\n            'icon' => 'HomeIcon',\n            'name' => 'Dashboard',\n            'owner_only' => false,\n            'ability' => 'dashboard',\n            'model' => ''\n        ],\n        [\n            'title' => 'navigation.customers',\n            'group' => 1,\n            'link' => '/admin/customers',\n            'icon' => 'UserIcon',\n            'name' => 'Customers',\n            'owner_only' => false,\n            'ability' => 'view-customer',\n            'model' => Customer::class\n        ],\n        [\n            'title' => 'navigation.items',\n            'group' => 1,\n            'link' => '/admin/items',\n            'icon' => 'StarIcon',\n            'name' => 'Items',\n            'owner_only' => false,\n            'ability' => 'view-item',\n            'model' => Item::class\n        ],\n        [\n            'title' => 'navigation.estimates',\n            'group' => 2,\n            'link' => '/admin/estimates',\n            'icon' => 'DocumentIcon',\n            'name' => 'Estimates',\n            'owner_only' => false,\n            'ability' => 'view-estimate',\n            'model' => Estimate::class\n        ],\n        [\n            'title' => 'navigation.invoices',\n            'group' => 2,\n            'link' => '/admin/invoices',\n            'icon' => 'DocumentTextIcon',\n            'name' => 'Invoices',\n            'owner_only' => false,\n            'ability' => 'view-invoice',\n            'model' => Invoice::class\n        ],\n        [\n            'title' => 'navigation.recurring-invoices',\n            'group' => 2,\n            'link' => '/admin/recurring-invoices',\n            'icon' => 'DocumentTextIcon',\n            'name' => 'Recurring Invoices',\n            'owner_only' => false,\n            'ability' => 'view-recurring-invoice',\n            'model' => RecurringInvoice::class\n        ],\n        [\n            'title' => 'navigation.payments',\n            'group' => 2,\n            'link' => '/admin/payments',\n            'icon' => 'CreditCardIcon',\n            'name' => 'Payments',\n            'owner_only' => false,\n            'ability' => 'view-payment',\n            'model' => Payment::class\n        ],\n        [\n            'title' => 'navigation.expenses',\n            'group' => 2,\n            'link' => '/admin/expenses',\n            'icon' => 'CalculatorIcon',\n            'name' => 'Expenses',\n            'owner_only' => false,\n            'ability' => 'view-expense',\n            'model' => Expense::class\n        ],\n        [\n            'title' => 'navigation.modules',\n            'group' => 3,\n            'link' => '/admin/modules',\n            'icon' => 'PuzzleIcon',\n            'name' => 'Modules',\n            'owner_only' => true,\n            'ability' => '',\n            'model' => ''\n        ],\n        [\n            'title' => 'navigation.users',\n            'group' => 3,\n            'link' => '/admin/users',\n            'icon' => 'UsersIcon',\n            'name' => 'Users',\n            'owner_only' => true,\n            'ability' => '',\n            'model' => ''\n        ],\n        [\n            'title' => 'navigation.reports',\n            'group' => 3,\n            'link' => '/admin/reports',\n            'icon' => 'ChartBarIcon',\n            'name' => 'Reports',\n            'owner_only' => false,\n            'ability' => 'view-financial-reports',\n            'model' => ''\n        ],\n        [\n            'title' => 'navigation.settings',\n            'group' => 3,\n            'link' => '/admin/settings',\n            'icon' => 'CogIcon',\n            'name' => 'Settings',\n            'owner_only' => false,\n            'ability' => '',\n            'model' => ''\n        ],\n    ],\n\n    /*\n    * List of customer portal menu\n    */\n    'customer_menu' => [\n        [\n            'title' => 'Dashboard',\n            'link' => '/customer/dashboard',\n            'icon' => '',\n            'name' => '',\n            'ability' => '',\n            'owner_only' => false,\n            'group' => '',\n            'model' => ''\n        ],\n        [\n            'title' => 'Invoices',\n            'link' => '/customer/invoices',\n            'icon' => '',\n            'name' => '',\n            'ability' => '',\n            'owner_only' => false,\n            'group' => '',\n            'model' => ''\n        ],\n        [\n            'title' => 'Estimates',\n            'link' => '/customer/estimates',\n            'icon' => '',\n            'name' => '',\n            'owner_only' => false,\n            'ability' => '',\n            'group' => '',\n            'model' => ''\n        ],\n        [\n            'title' => 'Payments',\n            'link' => '/customer/payments',\n            'icon' => '',\n            'name' => '',\n            'owner_only' => false,\n            'ability' => '',\n            'group' => '',\n            'model' => ''\n        ],\n        [\n            'title' => 'Settings',\n            'link' => '/customer/settings',\n            'icon' => '',\n            'name' => '',\n            'owner_only' => false,\n            'ability' => '',\n            'group' => '',\n            'model' => ''\n        ],\n    ],\n\n    /*\n    * List of recurring invoice status\n    */\n    'recurring_invoice_status' => [\n       'create_status' => [\n            ['key' => 'settings.preferences.active', 'value' => 'ACTIVE'],\n            ['key' => 'settings.preferences.on_hold', 'value' => 'ON_HOLD']\n       ],\n       'update_status' => [\n            ['key' => 'settings.preferences.active', 'value' => 'ACTIVE'],\n            ['key' => 'settings.preferences.on_hold', 'value' => 'ON_HOLD'],\n            ['key' => 'settings.preferences.completed', 'value' => 'COMPLETED'],\n       ]\n    ],\n\n    /*\n    * List of exchange rate provider (currency converter server's)\n    */\n    'currency_converter_servers' => [\n        ['key' => 'settings.preferences.premium', 'value' => 'PREMIUM'],\n        ['key' => 'settings.preferences.prepaid', 'value' => 'PREPAID'],\n        ['key' => 'settings.preferences.free', 'value' => 'FREE'],\n        ['key' => 'settings.preferences.dedicated', 'value' => 'DEDICATED'],\n    ],\n\n    /*\n    * List of exchange rate drivers\n    */\n    'exchange_rate_drivers' => [\n        ['key' => 'settings.exchange_rate.currency_converter', 'value' => 'currency_converter'],\n        ['key' => 'settings.exchange_rate.currency_freak', 'value' => 'currency_freak'],\n        ['key' => 'settings.exchange_rate.currency_layer', 'value' => 'currency_layer'],\n        ['key' => 'settings.exchange_rate.open_exchange_rate', 'value' => 'open_exchange_rate'],\n    ],\n\n    /*\n    * List of Custom field supported models\n    */\n    'custom_field_models' => [\n        'Customer',\n        'Estimate',\n        'Invoice',\n        'Payment',\n        'Expense',\n    ]\n];\n"
  },
  {
    "path": "config/database.php",
    "content": "<?php\n\nreturn [\n\n    /*\n    |--------------------------------------------------------------------------\n    | Default Database Connection Name\n    |--------------------------------------------------------------------------\n    |\n    | Here you may specify which of the database connections below you wish\n    | to use as your default connection for all database work. Of course\n    | you may use many connections at once using the Database library.\n    |\n    */\n\n    'default' => env('DB_CONNECTION', 'mysql'),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Database Connections\n    |--------------------------------------------------------------------------\n    |\n    | Here are each of the database connections setup for your application.\n    | Of course, examples of configuring each database platform that is\n    | supported by Laravel is shown below to make development simple.\n    |\n    |\n    | All database work in Laravel is done through the PHP PDO facilities\n    | so make sure you have the driver for your particular database of\n    | choice installed on your machine before you begin development.\n    |\n    */\n\n    'connections' => [\n\n        'sqlite' => [\n            'driver' => 'sqlite',\n            'database' => env('DB_DATABASE', database_path('database.sqlite')),\n            'prefix' => '',\n        ],\n\n        'mysql' => [\n            'driver' => 'mysql',\n            'host' => env('DB_HOST', '127.0.0.1'),\n            'port' => env('DB_PORT', '3306'),\n            'database' => env('DB_DATABASE', 'forge'),\n            'username' => env('DB_USERNAME', 'forge'),\n            'password' => env('DB_PASSWORD', ''),\n            'unix_socket' => env('DB_SOCKET', ''),\n            'charset' => 'utf8',\n            'collation' => 'utf8_unicode_ci',\n            'prefix' => '',\n            'prefix_indexes' => true,\n            'strict' => false,\n            'engine' => null,\n        ],\n\n        'pgsql' => [\n            'driver' => 'pgsql',\n            'host' => env('DB_HOST', '127.0.0.1'),\n            'port' => env('DB_PORT', '5432'),\n            'database' => env('DB_DATABASE', 'forge'),\n            'username' => env('DB_USERNAME', 'forge'),\n            'password' => env('DB_PASSWORD', ''),\n            'charset' => 'utf8',\n            'prefix' => '',\n            'prefix_indexes' => true,\n            'schema' => 'public',\n            'sslmode' => 'prefer',\n        ],\n\n        'sqlsrv' => [\n            'driver' => 'sqlsrv',\n            'host' => env('DB_HOST', 'localhost'),\n            'port' => env('DB_PORT', '1433'),\n            'database' => env('DB_DATABASE', 'forge'),\n            'username' => env('DB_USERNAME', 'forge'),\n            'password' => env('DB_PASSWORD', ''),\n            'charset' => 'utf8',\n            'prefix' => '',\n            'prefix_indexes' => true,\n        ],\n\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Migration Repository Table\n    |--------------------------------------------------------------------------\n    |\n    | This table keeps track of all the migrations that have already run for\n    | your application. Using this information, we can determine which of\n    | the migrations on disk haven't actually been run in the database.\n    |\n    */\n\n    'migrations' => 'migrations',\n\n    /*\n    |--------------------------------------------------------------------------\n    | Redis Databases\n    |--------------------------------------------------------------------------\n    |\n    | Redis is an open source, fast, and advanced key-value store that also\n    | provides a richer set of commands than a typical key-value systems\n    | such as APC or Memcached. Laravel makes it easy to dig right in.\n    |\n    */\n\n    'redis' => [\n\n        'client' => 'predis',\n\n        'default' => [\n            'host' => env('REDIS_HOST', '127.0.0.1'),\n            'password' => env('REDIS_PASSWORD', null),\n            'port' => env('REDIS_PORT', 6379),\n            'database' => 0,\n            'read_write_timeout' => 60,\n        ],\n        'cache' => [\n            'host' => env('REDIS_HOST', '127.0.0.1'),\n            'password' => env('REDIS_PASSWORD', null),\n            'port' => env('REDIS_PORT', 6379),\n            'database' => env('REDIS_CACHE_DB', 1),\n        ],\n    ],\n\n];\n"
  },
  {
    "path": "config/dompdf.php",
    "content": "<?php\n\nreturn [\n\n    /*\n    |--------------------------------------------------------------------------\n    | Settings\n    |--------------------------------------------------------------------------\n    |\n    | Set some default values. It is possible to add all defines that can be set\n    | in dompdf_config.inc.php. You can also override the entire config file.\n    |\n    */\n    'show_warnings' => false,   // Throw an Exception on warnings from dompdf\n    'orientation' => 'portrait',\n    'defines' => [\n        /**\n         * The location of the DOMPDF font directory\n         *\n         * The location of the directory where DOMPDF will store fonts and font metrics\n         * Note: This directory must exist and be writable by the webserver process.\n         * *Please note the trailing slash.*\n         *\n         * Notes regarding fonts:\n         * Additional .afm font metrics can be added by executing load_font.php from command line.\n         *\n         * Only the original \"Base 14 fonts\" are present on all pdf viewers. Additional fonts must\n         * be embedded in the pdf file or the PDF may not display correctly. This can significantly\n         * increase file size unless font subsetting is enabled. Before embedding a font please\n         * review your rights under the font license.\n         *\n         * Any font specification in the source HTML is translated to the closest font available\n         * in the font directory.\n         *\n         * The pdf standard \"Base 14 fonts\" are:\n         * Courier, Courier-Bold, Courier-BoldOblique, Courier-Oblique,\n         * Helvetica, Helvetica-Bold, Helvetica-BoldOblique, Helvetica-Oblique,\n         * Times-Roman, Times-Bold, Times-BoldItalic, Times-Italic,\n         * Symbol, ZapfDingbats.\n         */\n        \"font_dir\" => storage_path('fonts/'), // advised by dompdf (https://github.com/dompdf/dompdf/pull/782)\n\n        /**\n         * The location of the DOMPDF font cache directory\n         *\n         * This directory contains the cached font metrics for the fonts used by DOMPDF.\n         * This directory can be the same as DOMPDF_FONT_DIR\n         *\n         * Note: This directory must exist and be writable by the webserver process.\n         */\n        \"font_cache\" => storage_path('fonts/'),\n\n        /**\n         * The location of a temporary directory.\n         *\n         * The directory specified must be writeable by the webserver process.\n         * The temporary directory is required to download remote images and when\n         * using the PFDLib back end.\n         */\n        \"temp_dir\" => sys_get_temp_dir(),\n\n        /**\n         * ==== IMPORTANT ====\n         *\n         * dompdf's \"chroot\": Prevents dompdf from accessing system files or other\n         * files on the webserver.  All local files opened by dompdf must be in a\n         * subdirectory of this directory.  DO NOT set it to '/' since this could\n         * allow an attacker to use dompdf to read any files on the server.  This\n         * should be an absolute path.\n         * This is only checked on command line call by dompdf.php, but not by\n         * direct class use like:\n         * $dompdf = new DOMPDF();\t$dompdf->load_html($htmldata); $dompdf->render(); $pdfdata = $dompdf->output();\n         */\n        \"chroot\" => realpath(base_path()),\n\n        /**\n         * Whether to enable font subsetting or not.\n         */\n        \"enable_font_subsetting\" => false,\n\n        /**\n         * The PDF rendering backend to use\n         *\n         * Valid settings are 'PDFLib', 'CPDF' (the bundled R&OS PDF class), 'GD' and\n         * 'auto'. 'auto' will look for PDFLib and use it if found, or if not it will\n         * fall back on CPDF. 'GD' renders PDFs to graphic files. {@link\n         * Canvas_Factory} ultimately determines which rendering class to instantiate\n         * based on this setting.\n         *\n         * Both PDFLib & CPDF rendering backends provide sufficient rendering\n         * capabilities for dompdf, however additional features (e.g. object,\n         * image and font support, etc.) differ between backends.  Please see\n         * {@link PDFLib_Adapter} for more information on the PDFLib backend\n         * and {@link CPDF_Adapter} and lib/class.pdf.php for more information\n         * on CPDF. Also see the documentation for each backend at the links\n         * below.\n         *\n         * The GD rendering backend is a little different than PDFLib and\n         * CPDF. Several features of CPDF and PDFLib are not supported or do\n         * not make any sense when creating image files.  For example,\n         * multiple pages are not supported, nor are PDF 'objects'.  Have a\n         * look at {@link GD_Adapter} for more information.  GD support is\n         * experimental, so use it at your own risk.\n         *\n         * @link http://www.pdflib.com\n         * @link http://www.ros.co.nz/pdf\n         * @link http://www.php.net/image\n         */\n        \"pdf_backend\" => \"CPDF\",\n\n        /**\n         * PDFlib license key\n         *\n         * If you are using a licensed, commercial version of PDFlib, specify\n         * your license key here.  If you are using PDFlib-Lite or are evaluating\n         * the commercial version of PDFlib, comment out this setting.\n         *\n         * @link http://www.pdflib.com\n         *\n         * If pdflib present in web server and auto or selected explicitly above,\n         * a real license code must exist!\n         */\n        //\"DOMPDF_PDFLIB_LICENSE\" => \"your license key here\",\n\n        /**\n         * html target media view which should be rendered into pdf.\n         * List of types and parsing rules for future extensions:\n         * http://www.w3.org/TR/REC-html40/types.html\n         *   screen, tty, tv, projection, handheld, print, braille, aural, all\n         * Note: aural is deprecated in CSS 2.1 because it is replaced by speech in CSS 3.\n         * Note, even though the generated pdf file is intended for print output,\n         * the desired content might be different (e.g. screen or projection view of html file).\n         * Therefore allow specification of content here.\n         */\n        \"default_media_type\" => \"screen\",\n\n        /**\n         * The default paper size.\n         *\n         * North America standard is \"letter\"; other countries generally \"a4\"\n         *\n         * @see CPDF_Adapter::PAPER_SIZES for valid sizes ('letter', 'legal', 'A4', etc.)\n         */\n        \"default_paper_size\" => \"a4\",\n\n        /**\n         * The default font family\n         *\n         * Used if no suitable fonts can be found. This must exist in the font folder.\n         * @var string\n         */\n        \"default_font\" => \"DejaVu Sans\",\n\n        /**\n         * Image DPI setting\n         *\n         * This setting determines the default DPI setting for images and fonts.  The\n         * DPI may be overridden for inline images by explicitly setting the\n         * image's width & height style attributes (i.e. if the image's native\n         * width is 600 pixels and you specify the image's width as 72 points,\n         * the image will have a DPI of 600 in the rendered PDF.  The DPI of\n         * background images can not be overridden and is controlled entirely\n         * via this parameter.\n         *\n         * For the purposes of DOMPDF, pixels per inch (PPI) = dots per inch (DPI).\n         * If a size in html is given as px (or without unit as image size),\n         * this tells the corresponding size in pt.\n         * This adjusts the relative sizes to be similar to the rendering of the\n         * html page in a reference browser.\n         *\n         * In pdf, always 1 pt = 1/72 inch\n         *\n         * Rendering resolution of various browsers in px per inch:\n         * Windows Firefox and Internet Explorer:\n         *   SystemControl->Display properties->FontResolution: Default:96, largefonts:120, custom:?\n         * Linux Firefox:\n         *   about:config *resolution: Default:96\n         *   (xorg screen dimension in mm and Desktop font dpi settings are ignored)\n         *\n         * Take care about extra font/image zoom factor of browser.\n         *\n         * In images, <img> size in pixel attribute, img css style, are overriding\n         * the real image dimension in px for rendering.\n         *\n         * @var int\n         */\n        \"dpi\" => 96,\n\n        /**\n         * Enable inline PHP\n         *\n         * If this setting is set to true then DOMPDF will automatically evaluate\n         * inline PHP contained within <script type=\"text/php\"> ... </script> tags.\n         *\n         * Enabling this for documents you do not trust (e.g. arbitrary remote html\n         * pages) is a security risk.  Set this option to false if you wish to process\n         * untrusted documents.\n         *\n         * @var bool\n         */\n        \"enable_php\" => false,\n\n        /**\n         * Enable inline Javascript\n         *\n         * If this setting is set to true then DOMPDF will automatically insert\n         * JavaScript code contained within <script type=\"text/javascript\"> ... </script> tags.\n         *\n         * @var bool\n         */\n        \"enable_javascript\" => true,\n\n        /**\n         * Enable remote file access\n         *\n         * If this setting is set to true, DOMPDF will access remote sites for\n         * images and CSS files as required.\n         * This is required for part of test case www/test/image_variants.html through www/examples.php\n         *\n         * Attention!\n         * This can be a security risk, in particular in combination with DOMPDF_ENABLE_PHP and\n         * allowing remote access to dompdf.php or on allowing remote html code to be passed to\n         * $dompdf = new DOMPDF(, $dompdf->load_html(...,\n         * This allows anonymous users to download legally doubtful internet content which on\n         * tracing back appears to being downloaded by your server, or allows malicious php code\n         * in remote html pages to be executed by your server with your account privileges.\n         *\n         * @var bool\n         */\n        \"enable_remote\" => true,\n\n        /**\n         * A ratio applied to the fonts height to be more like browsers' line height\n         */\n        \"font_height_ratio\" => 1.1,\n\n        /**\n         * Use the more-than-experimental HTML5 Lib parser\n         */\n        \"enable_html5_parser\" => true,\n    ],\n\n\n];\n"
  },
  {
    "path": "config/filesystems.php",
    "content": "<?php\n\nreturn [\n\n    /*\n    |--------------------------------------------------------------------------\n    | Default Filesystem Disk\n    |--------------------------------------------------------------------------\n    |\n    | Here you may specify the default filesystem disk that should be used\n    | by the framework. The \"local\" disk, as well as a variety of cloud\n    | based disks are available to your application. Just store away!\n    |\n    */\n\n    'default' => env('FILESYSTEM_DRIVER', 'local'),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Default Cloud Filesystem Disk\n    |--------------------------------------------------------------------------\n    |\n    | Many applications store files both locally and in the cloud. For this\n    | reason, you may specify a default \"cloud\" driver here. This driver\n    | will be bound as the Cloud disk implementation in the container.\n    |\n    */\n\n    'cloud' => env('FILESYSTEM_CLOUD', 's3'),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Filesystem Disks\n    |--------------------------------------------------------------------------\n    |\n    | Here you may configure as many filesystem \"disks\" as you wish, and you\n    | may even configure multiple disks of the same driver. Defaults have\n    | been setup for each driver as an example of the required options.\n    |\n    | Supported Drivers: \"local\", \"ftp\", \"s3\"\n    |\n    */\n\n    'disks' => [\n\n        'local' => [\n            'driver' => 'local',\n            'root' => storage_path('app'),\n        ],\n\n        'public' => [\n            'driver' => 'local',\n            'root' => storage_path('app/public'),\n            'url' => env('APP_URL').'/storage',\n            'visibility' => 'public',\n        ],\n\n        's3' => [\n            'driver' => 's3',\n            'key' => env('AWS_KEY'),\n            'secret' => env('AWS_SECRET'),\n            'region' => env('AWS_REGION'),\n            'bucket' => env('AWS_BUCKET'),\n            'root' => env('AWS_ROOT'),\n        ],\n\n        'media' => [\n            'driver' => 'local',\n            'root' => public_path('media'),\n        ],\n\n        'doSpaces' => [\n            'type' => 'AwsS3',\n            'driver' => 's3',\n            'key' => env('DO_SPACES_KEY'),\n            'secret' => env('DO_SPACES_SECRET'),\n            'region' => env('DO_SPACES_REGION'),\n            'bucket' => env('DO_SPACES_BUCKET'),\n            'root' => env('DO_SPACES_ROOT'),\n            'endpoint' => env('DO_SPACES_ENDPOINT'),\n            'use_path_style_endpoint' => false,\n        ],\n\n        'dropbox' => [\n            'driver' => 'dropbox',\n            'type' => 'DropboxV2',\n            'token' => env('DROPBOX_TOKEN'),\n            'key' => env('DROPBOX_KEY'),\n            'secret' => env('DROPBOX_SECRET'),\n            'app' => env('DROPBOX_APP'),\n            'root' => env('DROPBOX_ROOT'),\n        ],\n\n        'views' => [\n            'driver' => 'local',\n            'root' => resource_path('views'),\n        ],\n\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Symbolic Links\n    |--------------------------------------------------------------------------\n    |\n    | Here you may configure the symbolic links that will be created when the\n    | `storage:link` Artisan command is executed. The array keys should be\n    | the locations of the links and the values should be their targets.\n    |\n    */\n\n    'links' => [\n        public_path('storage') => storage_path('app/public'),\n    ],\n\n];\n"
  },
  {
    "path": "config/hashids.php",
    "content": "<?php\n\n/**\n * Copyright (c) Vincent Klaiber.\n *\n * For the full copyright and license information, please view the LICENSE\n * file that was distributed with this source code.\n *\n * @see https://github.com/vinkla/laravel-hashids\n */\n\nuse Crater\\Models\\Company;\nuse Crater\\Models\\EmailLog;\nuse Crater\\Models\\Estimate;\nuse Crater\\Models\\Invoice;\nuse Crater\\Models\\Payment;\nuse Crater\\Models\\Transaction;\n\nreturn [\n\n    /*\n    |--------------------------------------------------------------------------\n    | Default Connection Name\n    |--------------------------------------------------------------------------\n    |\n    | Here you may specify which of the connections below you wish to use as\n    | your default connection for all work. Of course, you may use many\n    | connections at once using the manager class.\n    |\n    */\n\n    'default' => 'main',\n\n    /*\n    |--------------------------------------------------------------------------\n    | Hashids Connections\n    |--------------------------------------------------------------------------\n    |\n    | Here are each of the connections setup for your application. Example\n    | configuration has been included, but you may add as many connections as\n    | you would like.\n    |\n    */\n\n    'connections' => [\n        Invoice::class => [\n            'salt' => Invoice::class.config('app.key'),\n            'length' => '20',\n            'alphabet' => 'XKyIAR7mgt8jD2vbqPrOSVenNGpiYLx4M61T',\n        ],\n        Estimate::class => [\n            'salt' => Estimate::class.config('app.key'),\n            'length' => '20',\n            'alphabet' => 'yLJWP79M8rYVqbn1NXjulO6IUDdvekRQGo40',\n        ],\n        Payment::class => [\n            'salt' => Payment::class.config('app.key'),\n            'length' => '20',\n            'alphabet' => 'asqtW3eDRIxB65GYl7UVLS1dybn9XrKTZ4zO',\n        ],\n        Company::class => [\n            'salt' => Company::class.config('app.key'),\n            'length' => '20',\n            'alphabet' => 's0DxOFtEYEnuKPmP08Ch6A1iHlLmBTBVWms5',\n        ],\n        EmailLog::class => [\n            'salt' => EmailLog::class.config('app.key'),\n            'length' => '20',\n            'alphabet' => 'BRAMEz5str5UVe9oCqzoYY2oKgUi8wQQSmrR',\n        ],\n        Transaction::class => [\n            'salt' => Transaction::class.config('app.key'),\n            'length' => '20',\n            'alphabet' => 'ADyQWE8mgt7jF2vbnPrKLJenHVpiUIq4M12T',\n        ],\n    ],\n];\n"
  },
  {
    "path": "config/hashing.php",
    "content": "<?php\n\nreturn [\n    /*\n    |--------------------------------------------------------------------------\n    | Default Hash Driver\n    |--------------------------------------------------------------------------\n    |\n    | This option controls the default hash driver that will be used to hash\n    | passwords for your application. By default, the bcrypt algorithm is\n    | used; however, you remain free to modify this option if you wish.\n    |\n    | Supported: \"bcrypt\", \"argon\", \"argon2id\"\n    |\n    */\n    'driver' => 'bcrypt',\n    /*\n    |--------------------------------------------------------------------------\n    | Bcrypt Options\n    |--------------------------------------------------------------------------\n    |\n    | Here you may specify the configuration options that should be used when\n    | passwords are hashed using the Bcrypt algorithm. This will allow you\n    | to control the amount of time it takes to hash the given password.\n    |\n    */\n    'bcrypt' => [\n        'rounds' => env('BCRYPT_ROUNDS', 10),\n    ],\n    /*\n    |--------------------------------------------------------------------------\n    | Argon Options\n    |--------------------------------------------------------------------------\n    |\n    | Here you may specify the configuration options that should be used when\n    | passwords are hashed using the Argon algorithm. These will allow you\n    | to control the amount of time it takes to hash the given password.\n    |\n    */\n    'argon' => [\n        'memory' => 1024,\n        'threads' => 2,\n        'time' => 2,\n    ],\n];\n"
  },
  {
    "path": "config/image.php",
    "content": "<?php\n\nreturn [\n\n    /*\n    |--------------------------------------------------------------------------\n    | Image Driver\n    |--------------------------------------------------------------------------\n    |\n    | Intervention Image supports \"GD Library\" and \"Imagick\" to process images\n    | internally. You may choose one of them according to your PHP\n    | configuration. By default PHP's \"GD Library\" implementation is used.\n    |\n    | Supported: \"gd\", \"imagick\"\n    |\n    */\n\n    'driver' => 'gd',\n\n];\n"
  },
  {
    "path": "config/installer.php",
    "content": "<?php\n\nreturn [\n\n    /*\n    |--------------------------------------------------------------------------\n    | Server Requirements\n    |--------------------------------------------------------------------------\n    |\n    | This is the default Laravel server requirements, you can add as many\n    | as your application require, we check if the extension is enabled\n    | by looping through the array and run \"extension_loaded\" on it.\n    |\n    */\n    'core' => [\n        'minPhpVersion' => '7.4.0',\n    ],\n    'final' => [\n        'key' => true,\n        'publish' => false,\n    ],\n    'requirements' => [\n        'php' => [\n            'openssl',\n            'pdo',\n            'mbstring',\n            'tokenizer',\n            'JSON',\n            'cURL',\n            'zip',\n        ],\n        'apache' => [\n            'mod_rewrite',\n        ],\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Folders Permissions\n    |--------------------------------------------------------------------------\n    |\n    | This is the default Laravel folders permissions, if your application\n    | requires more permissions just add them to the array list below.\n    |\n    */\n    'permissions' => [\n        'storage/framework/' => '775',\n        'storage/logs/' => '775',\n        'bootstrap/cache/' => '775',\n    ],\n];\n"
  },
  {
    "path": "config/logging.php",
    "content": "<?php\n\nuse Monolog\\Handler\\StreamHandler;\nuse Monolog\\Handler\\SyslogUdpHandler;\n\nreturn [\n    /*\n    |--------------------------------------------------------------------------\n    | Default Log Channel\n    |--------------------------------------------------------------------------\n    |\n    | This option defines the default log channel that gets used when writing\n    | messages to the logs. The name specified in this option should match\n    | one of the channels defined in the \"channels\" configuration array.\n    |\n    */\n    'default' => env('LOG_CHANNEL', 'stack'),\n    /*\n    |--------------------------------------------------------------------------\n    | Log Channels\n    |--------------------------------------------------------------------------\n    |\n    | Here you may configure the log channels for your application. Out of\n    | the box, Laravel uses the Monolog PHP logging library. This gives\n    | you a variety of powerful log handlers / formatters to utilize.\n    |\n    | Available Drivers: \"single\", \"daily\", \"slack\", \"syslog\",\n    |                    \"errorlog\", \"monolog\",\n    |                    \"custom\", \"stack\"\n    |\n    */\n    'channels' => [\n        'stack' => [\n            'driver' => 'stack',\n            'channels' => ['daily'],\n        ],\n        'single' => [\n            'driver' => 'single',\n            'path' => storage_path('logs/laravel.log'),\n            'level' => 'debug',\n        ],\n        'daily' => [\n            'driver' => 'daily',\n            'path' => storage_path('logs/laravel.log'),\n            'level' => 'debug',\n            'days' => 14,\n        ],\n        'slack' => [\n            'driver' => 'slack',\n            'url' => env('LOG_SLACK_WEBHOOK_URL'),\n            'username' => 'Laravel Log',\n            'emoji' => ':boom:',\n            'level' => 'critical',\n        ],\n        'papertrail' => [\n            'driver' => 'monolog',\n            'level' => 'debug',\n            'handler' => SyslogUdpHandler::class,\n            'handler_with' => [\n                'host' => env('PAPERTRAIL_URL'),\n                'port' => env('PAPERTRAIL_PORT'),\n            ],\n        ],\n        'stderr' => [\n            'driver' => 'monolog',\n            'handler' => StreamHandler::class,\n            'with' => [\n                'stream' => 'php://stderr',\n            ],\n        ],\n        'syslog' => [\n            'driver' => 'syslog',\n            'level' => 'debug',\n        ],\n        'errorlog' => [\n            'driver' => 'errorlog',\n            'level' => 'debug',\n        ],\n    ],\n];\n"
  },
  {
    "path": "config/mail.php",
    "content": "<?php\n\nreturn [\n\n    /*\n    |--------------------------------------------------------------------------\n    | Mail Driver\n    |--------------------------------------------------------------------------\n    |\n    | Laravel supports both SMTP and PHP's \"mail\" function as drivers for the\n    | sending of e-mail. You may specify which one you're using throughout\n    | your application here. By default, Laravel is setup for SMTP mail.\n    |\n    | Supported: \"smtp\", \"mail\", \"sendmail\", \"mailgun\", \"mandrill\",\n    |            \"ses\", \"sparkpost\", \"log\"\n    |\n    */\n\n    'driver' => env('MAIL_DRIVER', 'smtp'),\n\n    /*\n    |--------------------------------------------------------------------------\n    | SMTP Host Address\n    |--------------------------------------------------------------------------\n    |\n    | Here you may provide the host address of the SMTP server used by your\n    | applications. A default option is provided that is compatible with\n    | the Mailgun mail service which will provide reliable deliveries.\n    |\n    */\n\n    'host' => env('MAIL_HOST', 'smtp.mailgun.org'),\n\n    /*\n    |--------------------------------------------------------------------------\n    | SMTP Host Port\n    |--------------------------------------------------------------------------\n    |\n    | This is the SMTP port used by your application to deliver e-mails to\n    | users of the application. Like the host we have set this value to\n    | stay compatible with the Mailgun e-mail application by default.\n    |\n    */\n\n    'port' => env('MAIL_PORT', 587),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Global \"From\" Address\n    |--------------------------------------------------------------------------\n    |\n    | You may wish for all e-mails sent by your application to be sent from\n    | the same address. Here, you may specify a name and address that is\n    | used globally for all e-mails that are sent by your application.\n    |\n    */\n\n    'from' => [\n        'address' => env('MAIL_FROM_ADDRESS', 'admin@crater.in'),\n        'name' => env('MAIL_FROM_NAME', 'Crater'),\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | E-Mail Encryption Protocol\n    |--------------------------------------------------------------------------\n    |\n    | Here you may specify the encryption protocol that should be used when\n    | the application send e-mail messages. A sensible default using the\n    | transport layer security protocol should provide great security.\n    |\n    */\n\n    'encryption' => env('MAIL_ENCRYPTION', 'tls'),\n\n    /*\n    |--------------------------------------------------------------------------\n    | SMTP Server Username\n    |--------------------------------------------------------------------------\n    |\n    | If your SMTP server requires a username for authentication, you should\n    | set it here. This will get used to authenticate with your server on\n    | connection. You may also set the \"password\" value below this one.\n    |\n    */\n\n    'username' => env('MAIL_USERNAME'),\n\n    /*\n    |--------------------------------------------------------------------------\n    | SMTP Server Password\n    |--------------------------------------------------------------------------\n    |\n    | Here you may set the password required by your SMTP server to send out\n    | messages from your application. This will be given to the server on\n    | connection so that the application will be able to send messages.\n    |\n    */\n\n    'password' => env('MAIL_PASSWORD'),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Sendmail System Path\n    |--------------------------------------------------------------------------\n    |\n    | When using the \"sendmail\" driver to send e-mails, we will need to know\n    | the path to where Sendmail lives on this server. A default path has\n    | been provided here, which will work well on most of your systems.\n    |\n    */\n\n    'sendmail' => '/usr/sbin/sendmail -bs',\n\n    /*\n    |--------------------------------------------------------------------------\n    | Markdown Mail Settings\n    |--------------------------------------------------------------------------\n    |\n    | If you are using Markdown based email rendering, you may configure your\n    | theme and component paths here, allowing you to customize the design\n    | of the emails. Or, you may simply stick with the Laravel defaults!\n    |\n    */\n\n    'markdown' => [\n        'theme' => 'default',\n\n        'paths' => [\n            resource_path('views/vendor/mail'),\n        ],\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Log Channel\n    |--------------------------------------------------------------------------\n    |\n    | If you are using the \"log\" driver, you may specify the logging channel\n    | if you prefer to keep mail messages separate from other log entries\n    | for simpler reading. Otherwise, the default channel will be used.\n    |\n    */\n\n    'log_channel' => env('MAIL_LOG_CHANNEL'),\n];\n"
  },
  {
    "path": "config/media-library.php",
    "content": "<?php\n\nreturn [\n\n    /*\n     * The disk on which to store added files and derived images by default. Choose\n     * one or more of the disks you've configured in config/filesystems.php.\n     */\n    'disk_name' => env('MEDIA_DISK', 'public'),\n\n    /*\n     * The maximum file size of an item in bytes.\n     * Adding a larger file will result in an exception.\n     */\n    'max_file_size' => 1024 * 1024 * 10,\n\n    /*\n     * This queue will be used to generate derived and responsive images.\n     * Leave empty to use the default queue.\n     */\n    'queue_name' => '',\n\n    /*\n     * The fully qualified class name of the media model.\n     */\n    'media_model' => Spatie\\MediaLibrary\\MediaCollections\\Models\\Media::class,\n\n    'remote' => [\n        /*\n         * Any extra headers that should be included when uploading media to\n         * a remote disk. Even though supported headers may vary between\n         * different drivers, a sensible default has been provided.\n         *\n         * Supported by S3: CacheControl, Expires, StorageClass,\n         * ServerSideEncryption, Metadata, ACL, ContentEncoding\n         */\n        'extra_headers' => [\n            'CacheControl' => 'max-age=604800',\n        ],\n    ],\n\n    'responsive_images' => [\n\n        /*\n         * This class is responsible for calculating the target widths of the responsive\n         * images. By default we optimize for filesize and create variations that each are 20%\n         * smaller than the previous one. More info in the documentation.\n         *\n         * https://docs.spatie.be/laravel-medialibrary/v8/advanced-usage/generating-responsive-images\n         */\n        'width_calculator' => Spatie\\MediaLibrary\\ResponsiveImages\\WidthCalculator\\FileSizeOptimizedWidthCalculator::class,\n\n        /*\n         * By default rendering media to a responsive image will add some javascript and a tiny placeholder.\n         * This ensures that the browser can already determine the correct layout.\n         */\n        'use_tiny_placeholders' => true,\n\n        /*\n         * This class will generate the tiny placeholder used for progressive image loading. By default\n         * the medialibrary will use a tiny blurred jpg image.\n         */\n        'tiny_placeholder_generator' => Spatie\\MediaLibrary\\ResponsiveImages\\TinyPlaceholderGenerator\\Blurred::class,\n    ],\n\n    /*\n     * When converting Media instances to response the medialibrary will add\n     * a `loading` attribute to the `img` tag. Here you can set the default\n     * value of that attribute.\n     *\n     * Possible values: 'auto', 'lazy' and 'eager,\n     *\n     * More info: https://css-tricks.com/native-lazy-loading/\n     */\n    'default_loading_attribute_value' => 'auto',\n\n    /*\n     * This is the class that is responsible for naming conversion files. By default,\n     * it will use the filename of the original and concatenate the conversion name to it.\n     */\n    'conversion_file_namer' => \\Spatie\\MediaLibrary\\Conversions\\DefaultConversionFileNamer::class,\n\n    /*\n     * The class that contains the strategy for determining a media file's path.\n     */\n    'path_generator' => \\Crater\\Generators\\CustomPathGenerator::class,\n\n    /*\n     * When urls to files get generated, this class will be called. Use the default\n     * if your files are stored locally above the site root or on s3.\n     */\n    'url_generator' => Spatie\\MediaLibrary\\Support\\UrlGenerator\\DefaultUrlGenerator::class,\n\n    /*\n     * Whether to activate versioning when urls to files get generated.\n     * When activated, this attaches a ?v=xx query string to the URL.\n     */\n    'version_urls' => false,\n\n    /*\n     * The media library will try to optimize all converted images by removing\n     * metadata and applying a little bit of compression. These are\n     * the optimizers that will be used by default.\n     */\n    'image_optimizers' => [\n        Spatie\\ImageOptimizer\\Optimizers\\Jpegoptim::class => [\n            '--strip-all', // this strips out all text information such as comments and EXIF data\n            '--all-progressive', // this will make sure the resulting image is a progressive one\n        ],\n        Spatie\\ImageOptimizer\\Optimizers\\Pngquant::class => [\n            '--force', // required parameter for this package\n        ],\n        Spatie\\ImageOptimizer\\Optimizers\\Optipng::class => [\n            '-i0', // this will result in a non-interlaced, progressive scanned image\n            '-o2', // this set the optimization level to two (multiple IDAT compression trials)\n            '-quiet', // required parameter for this package\n        ],\n        Spatie\\ImageOptimizer\\Optimizers\\Svgo::class => [\n            '--disable=cleanupIDs', // disabling because it is known to cause troubles\n        ],\n        Spatie\\ImageOptimizer\\Optimizers\\Gifsicle::class => [\n            '-b', // required parameter for this package\n            '-O3', // this produces the slowest but best results\n        ],\n    ],\n\n    /*\n     * These generators will be used to create an image of media files.\n     */\n    'image_generators' => [\n        Spatie\\MediaLibrary\\Conversions\\ImageGenerators\\Image::class,\n        Spatie\\MediaLibrary\\Conversions\\ImageGenerators\\Webp::class,\n        Spatie\\MediaLibrary\\Conversions\\ImageGenerators\\Pdf::class,\n        Spatie\\MediaLibrary\\Conversions\\ImageGenerators\\Svg::class,\n        Spatie\\MediaLibrary\\Conversions\\ImageGenerators\\Video::class,\n    ],\n\n    /*\n     * The engine that should perform the image conversions.\n     * Should be either `gd` or `imagick`.\n     */\n    'image_driver' => env('IMAGE_DRIVER', 'gd'),\n\n    /*\n     * FFMPEG & FFProbe binaries paths, only used if you try to generate video\n     * thumbnails and have installed the php-ffmpeg/php-ffmpeg composer\n     * dependency.\n     */\n    'ffmpeg_path' => env('FFMPEG_PATH', '/usr/bin/ffmpeg'),\n    'ffprobe_path' => env('FFPROBE_PATH', '/usr/bin/ffprobe'),\n\n    /*\n     * The path where to store temporary files while performing image conversions.\n     * If set to null, storage_path('media-library/temp') will be used.\n     */\n    'temporary_directory_path' => null,\n\n    /*\n     * Here you can override the class names of the jobs used by this package. Make sure\n     * your custom jobs extend the ones provided by the package.\n     */\n    'jobs' => [\n        'perform_conversions' => \\Spatie\\MediaLibrary\\Conversions\\Jobs\\PerformConversionsJob::class,\n        'generate_responsive_images' => \\Spatie\\MediaLibrary\\ResponsiveImages\\Jobs\\GenerateResponsiveImagesJob::class,\n    ],\n];\n"
  },
  {
    "path": "config/modules.php",
    "content": "<?php\n\nuse Nwidart\\Modules\\Activators\\FileActivator;\nuse Nwidart\\Modules\\Commands;\n\nreturn [\n\n    /*\n    |--------------------------------------------------------------------------\n    | Module Namespace\n    |--------------------------------------------------------------------------\n    |\n    | Default module namespace.\n    |\n    */\n\n    'namespace' => 'Modules',\n\n    /*\n    |--------------------------------------------------------------------------\n    | Module Stubs\n    |--------------------------------------------------------------------------\n    |\n    | Default module stubs.\n    |\n    */\n\n    'stubs' => [\n        'enabled' => false,\n        'path' => base_path('vendor/nwidart/laravel-modules/src/Commands/stubs'),\n        'files' => [\n            'routes/web' => 'Routes/web.php',\n            'routes/api' => 'Routes/api.php',\n            'views/index' => 'Resources/views/index.blade.php',\n            'views/master' => 'Resources/views/layouts/master.blade.php',\n            'scaffold/config' => 'Config/config.php',\n            'composer' => 'composer.json',\n            'resources/scripts/module' => 'Resources/scripts/module.js',\n            'resources/sass/module' => 'Resources/sass/module.scss',\n            'resources/scripts/stores/sample-store' => 'Resources/scripts/stores/sample-store.js',\n            'resources/scripts/views/SamplePage' => 'Resources/scripts/views/SamplePage.vue',\n            'resources/locales/en' => 'Resources/locales/en.json',\n            'resources/locales/locales' => 'Resources/locales/locales.js',\n            'package' => 'package.json',\n            'postcss.config' => 'postcss.config.js',\n            'tailwind.config' => 'tailwind.config.js',\n            'vite.config' => 'vite.config.js',\n        ],\n        'replacements' => [\n            'routes/web' => ['LOWER_NAME', 'STUDLY_NAME'],\n            'routes/api' => ['LOWER_NAME'],\n            'webpack' => ['LOWER_NAME'],\n            'json' => ['LOWER_NAME', 'STUDLY_NAME', 'MODULE_NAMESPACE', 'PROVIDER_NAMESPACE'],\n            'views/index' => ['LOWER_NAME'],\n            'views/master' => ['LOWER_NAME', 'STUDLY_NAME'],\n            'scaffold/config' => ['STUDLY_NAME'],\n            'composer' => [\n                'LOWER_NAME',\n                'STUDLY_NAME',\n                'VENDOR',\n                'AUTHOR_NAME',\n                'AUTHOR_EMAIL',\n                'MODULE_NAMESPACE',\n                'PROVIDER_NAMESPACE',\n            ],\n            'assets/scripts/module' => ['LOWER_NAME'],\n            'assets/scripts/stores/sample-store' => ['LOWER_NAME'],\n            'vite.config' => ['LOWER_NAME'],\n        ],\n        'gitkeep' => true,\n    ],\n    'paths' => [\n        /*\n        |--------------------------------------------------------------------------\n        | Modules path\n        |--------------------------------------------------------------------------\n        |\n        | This path used for save the generated module. This path also will be added\n        | automatically to list of scanned folders.\n        |\n        */\n\n        'modules' => base_path('Modules'),\n        /*\n        |--------------------------------------------------------------------------\n        | Modules assets path\n        |--------------------------------------------------------------------------\n        |\n        | Here you may update the modules assets path.\n        |\n        */\n\n        'assets' => public_path('modules'),\n        /*\n        |--------------------------------------------------------------------------\n        | The migrations path\n        |--------------------------------------------------------------------------\n        |\n        | Where you run 'module:publish-migration' command, where do you publish the\n        | the migration files?\n        |\n        */\n\n        'migration' => base_path('database/migrations'),\n        /*\n        |--------------------------------------------------------------------------\n        | Generator path\n        |--------------------------------------------------------------------------\n        | Customise the paths where the folders will be generated.\n        | Set the generate key to false to not generate that folder\n        */\n        'generator' => [\n            'config' => ['path' => 'Config', 'generate' => true],\n            'command' => ['path' => 'Console', 'generate' => true],\n            'migration' => ['path' => 'Database/Migrations', 'generate' => true],\n            'seeder' => ['path' => 'Database/Seeders', 'generate' => true],\n            'factory' => ['path' => 'Database/factories', 'generate' => true],\n            'model' => ['path' => 'Entities', 'generate' => true],\n            'routes' => ['path' => 'Routes', 'generate' => true],\n            'controller' => ['path' => 'Http/Controllers', 'generate' => true],\n            'filter' => ['path' => 'Http/Middleware', 'generate' => true],\n            'request' => ['path' => 'Http/Requests', 'generate' => true],\n            'provider' => ['path' => 'Providers', 'generate' => true],\n            'assets' => ['path' => 'Resources/assets', 'generate' => true],\n            'lang' => ['path' => 'Resources/lang', 'generate' => true],\n            'views' => ['path' => 'Resources/views', 'generate' => true],\n            'test' => ['path' => 'Tests/Unit', 'generate' => true],\n            'test-feature' => ['path' => 'Tests/Feature', 'generate' => true],\n            'repository' => ['path' => 'Repositories', 'generate' => false],\n            'event' => ['path' => 'Events', 'generate' => false],\n            'listener' => ['path' => 'Listeners', 'generate' => false],\n            'policies' => ['path' => 'Policies', 'generate' => false],\n            'rules' => ['path' => 'Rules', 'generate' => false],\n            'jobs' => ['path' => 'Jobs', 'generate' => false],\n            'emails' => ['path' => 'Emails', 'generate' => false],\n            'notifications' => ['path' => 'Notifications', 'generate' => false],\n            'resource' => ['path' => 'Transformers', 'generate' => false],\n            'component-view' => ['path' => 'Resources/views/components', 'generate' => false],\n            'component-class' => ['path' => 'View/Components', 'generate' => false],\n        ],\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Package commands\n    |--------------------------------------------------------------------------\n    |\n    | Here you can define which commands will be visible and used in your\n    | application. If for example you don't use some of the commands provided\n    | you can simply comment them out.\n    |\n    */\n    'commands' => [\n        Commands\\CommandMakeCommand::class,\n        Commands\\ComponentClassMakeCommand::class,\n        Commands\\ComponentViewMakeCommand::class,\n        Commands\\ControllerMakeCommand::class,\n        Commands\\DisableCommand::class,\n        Commands\\DumpCommand::class,\n        Commands\\EnableCommand::class,\n        Commands\\EventMakeCommand::class,\n        Commands\\JobMakeCommand::class,\n        Commands\\ListenerMakeCommand::class,\n        Commands\\MailMakeCommand::class,\n        Commands\\MiddlewareMakeCommand::class,\n        Commands\\NotificationMakeCommand::class,\n        Commands\\ProviderMakeCommand::class,\n        Commands\\RouteProviderMakeCommand::class,\n        Commands\\InstallCommand::class,\n        Commands\\ListCommand::class,\n        Commands\\ModuleDeleteCommand::class,\n        Commands\\ModuleMakeCommand::class,\n        Commands\\FactoryMakeCommand::class,\n        Commands\\PolicyMakeCommand::class,\n        Commands\\RequestMakeCommand::class,\n        Commands\\RuleMakeCommand::class,\n        Commands\\MigrateCommand::class,\n        Commands\\MigrateRefreshCommand::class,\n        Commands\\MigrateResetCommand::class,\n        Commands\\MigrateRollbackCommand::class,\n        Commands\\MigrateStatusCommand::class,\n        Commands\\MigrationMakeCommand::class,\n        Commands\\ModelMakeCommand::class,\n        Commands\\PublishCommand::class,\n        Commands\\PublishConfigurationCommand::class,\n        Commands\\PublishMigrationCommand::class,\n        Commands\\PublishTranslationCommand::class,\n        Commands\\SeedCommand::class,\n        Commands\\SeedMakeCommand::class,\n        Commands\\SetupCommand::class,\n        Commands\\UnUseCommand::class,\n        Commands\\UpdateCommand::class,\n        Commands\\UseCommand::class,\n        Commands\\ResourceMakeCommand::class,\n        Commands\\TestMakeCommand::class,\n        Commands\\LaravelModulesV6Migrator::class,\n        Commands\\ComponentClassMakeCommand::class,\n        Commands\\ComponentViewMakeCommand::class,\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Scan Path\n    |--------------------------------------------------------------------------\n    |\n    | Here you define which folder will be scanned. By default will scan vendor\n    | directory. This is useful if you host the package in packagist website.\n    |\n    */\n\n    'scan' => [\n        'enabled' => false,\n        'paths' => [\n            base_path('vendor/*/*'),\n        ],\n    ],\n    /*\n    |--------------------------------------------------------------------------\n    | Composer File Template\n    |--------------------------------------------------------------------------\n    |\n    | Here is the config for composer.json file, generated by this package\n    |\n    */\n\n    'composer' => [\n        'vendor' => 'nwidart',\n        'author' => [\n            'name' => 'Nicolas Widart',\n            'email' => 'n.widart@gmail.com',\n        ],\n        'composer-output' => false,\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Caching\n    |--------------------------------------------------------------------------\n    |\n    | Here is the config for setting up caching feature.\n    |\n    */\n    'cache' => [\n        'enabled' => false,\n        'key' => 'laravel-modules',\n        'lifetime' => 60,\n    ],\n    /*\n    |--------------------------------------------------------------------------\n    | Choose what laravel-modules will register as custom namespaces.\n    | Setting one to false will require you to register that part\n    | in your own Service Provider class.\n    |--------------------------------------------------------------------------\n    */\n    'register' => [\n        'translations' => true,\n        /**\n         * load files on boot or register method\n         *\n         * Note: boot not compatible with asgardcms\n         *\n         * @example boot|register\n         */\n        'files' => 'register',\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Activators\n    |--------------------------------------------------------------------------\n    |\n    | You can define new types of activators here, file, database etc. The only\n    | required parameter is 'class'.\n    | The file activator will store the activation status in storage/installed_modules\n    */\n    'activators' => [\n        'file' => [\n            'class' => FileActivator::class,\n            'statuses-file' => base_path('storage/app/modules_statuses.json'),\n            'cache-key' => 'activator.installed',\n            'cache-lifetime' => 604800,\n        ],\n    ],\n\n    'activator' => 'file',\n];\n"
  },
  {
    "path": "config/queue.php",
    "content": "<?php\n\nreturn [\n\n    /*\n    |--------------------------------------------------------------------------\n    | Default Queue Driver\n    |--------------------------------------------------------------------------\n    |\n    | Laravel's queue API supports an assortment of back-ends via a single\n    | API, giving you convenient access to each back-end using the same\n    | syntax for each one. Here you may set the default queue driver.\n    |\n    | Supported: \"sync\", \"database\", \"beanstalkd\", \"sqs\", \"redis\", \"null\"\n    |\n    */\n\n    'default' => env('QUEUE_CONNECTION', 'sync'),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Queue Connections\n    |--------------------------------------------------------------------------\n    |\n    | Here you may configure the connection information for each server that\n    | is used by your application. A default configuration has been added\n    | for each back-end shipped with Laravel. You are free to add more.\n    |\n    */\n\n    'connections' => [\n\n        'sync' => [\n            'driver' => 'sync',\n        ],\n\n        'database' => [\n            'driver' => 'database',\n            'table' => 'jobs',\n            'queue' => 'default',\n            'retry_after' => 90,\n        ],\n\n        'beanstalkd' => [\n            'driver' => 'beanstalkd',\n            'host' => 'localhost',\n            'queue' => 'default',\n            'retry_after' => 90,\n        ],\n\n        'sqs' => [\n            'driver' => 'sqs',\n            'key' => 'your-public-key',\n            'secret' => 'your-secret-key',\n            'prefix' => 'https://sqs.us-east-1.amazonaws.com/your-account-id',\n            'queue' => 'your-queue-name',\n            'region' => 'us-east-1',\n        ],\n\n        'redis' => [\n            'driver' => 'redis',\n            'connection' => 'default',\n            'queue' => 'default',\n            'retry_after' => 90,\n        ],\n\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Failed Queue Jobs\n    |--------------------------------------------------------------------------\n    |\n    | These options configure the behavior of failed queue job logging so you\n    | can control which database and table are used to store the jobs that\n    | have failed. You may change them to any database / table you wish.\n    |\n    */\n\n    'failed' => [\n        'database' => env('DB_CONNECTION', 'mysql'),\n        'table' => 'failed_jobs',\n    ],\n\n];\n"
  },
  {
    "path": "config/sanctum.php",
    "content": "<?php\n\nreturn [\n\n    /*\n    |--------------------------------------------------------------------------\n    | Stateful Domains\n    |--------------------------------------------------------------------------\n    |\n    | Requests from the following domains / hosts will receive stateful API\n    | authentication cookies. Typically, these should include your local\n    | and production domains which access your API via a frontend SPA.\n    |\n    */\n\n    'stateful' => explode(',', env('SANCTUM_STATEFUL_DOMAINS', 'localhost,127.0.0.1,127.0.0.1:8000,::1')),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Expiration Minutes\n    |--------------------------------------------------------------------------\n    |\n    | This value controls the number of minutes until an issued token will be\n    | considered expired. If this value is null, personal access tokens do\n    | not expire. This won't tweak the lifetime of first-party sessions.\n    |\n    */\n\n    'expiration' => null,\n\n    /*\n    |--------------------------------------------------------------------------\n    | Sanctum Middleware\n    |--------------------------------------------------------------------------\n    |\n    | When authenticating your first-party SPA with Sanctum you may need to\n    | customize some of the middleware Sanctum uses while processing the\n    | request. You may change the middleware listed below as required.\n    |\n    */\n\n    'middleware' => [\n        'verify_csrf_token' => Crater\\Http\\Middleware\\VerifyCsrfToken::class,\n        'encrypt_cookies' => Crater\\Http\\Middleware\\EncryptCookies::class,\n    ],\n\n];\n"
  },
  {
    "path": "config/services.php",
    "content": "<?php\n\nreturn [\n\n    /*\n    |--------------------------------------------------------------------------\n    | Third Party Services\n    |--------------------------------------------------------------------------\n    |\n    | This file is for storing the credentials for third party services such\n    | as Stripe, Mailgun, SparkPost and others. This file provides a sane\n    | default location for this type of information, allowing packages\n    | to have a conventional place to find your various credentials.\n    |\n    */\n\n    'mailgun' => [\n        'domain' => env('MAILGUN_DOMAIN'),\n        'secret' => env('MAILGUN_SECRET'),\n        'endpoint' => env('MAILGUN_ENDPOINT', 'api.mailgun.net'),\n    ],\n\n    'ses' => [\n        'key' => env('SES_KEY'),\n        'secret' => env('SES_SECRET'),\n        'region' => 'us-east-1',\n    ],\n\n    'sparkpost' => [\n        'secret' => env('SPARKPOST_SECRET'),\n    ],\n\n    'sendgrid' => [\n        'api_key' => env('SENDGRID_API_KEY'),\n    ],\n\n    'stripe' => [\n        'model' => \\Crater\\Models\\User::class,\n        'key' => env('STRIPE_KEY'),\n        'secret' => env('STRIPE_SECRET'),\n        'webhook' => [\n            'secret' => env('STRIPE_WEBHOOK_SECRET'),\n            'tolerance' => env('STRIPE_WEBHOOK_TOLERANCE', 300),\n        ],\n    ],\n\n    'facebook' => [\n        'client_id' => env('FACEBOOK_CLIENT_ID'),\n        'client_secret' => env('FACEBOOK_CLIENT_SECRET'),\n        'redirect' => env('FACEBOOK_REDIRECT_URL'),\n    ],\n\n    'google' => [\n        'client_id' => env('GOOGLE_CLIENT_ID'),\n        'client_secret' => env('GOOGLE_CLIENT_SECRET'),\n        'redirect' => env('GOOGLE_REDIRECT_URL'),\n    ],\n\n    'github' => [\n        'client_id' => env('GITHUB_CLIENT_ID'),\n        'client_secret' => env('GITHUB_CLIENT_SECRET'),\n        'redirect' => env('GITHUB_REDIRECT_URL'),\n    ],\n\n    'cron_job' => [\n        'auth_token' => env('CRON_JOB_AUTH_TOKEN', 0)\n    ],\n];\n"
  },
  {
    "path": "config/session.php",
    "content": "<?php\n\nuse Illuminate\\Support\\Str;\n\nreturn [\n\n    /*\n    |--------------------------------------------------------------------------\n    | Default Session Driver\n    |--------------------------------------------------------------------------\n    |\n    | This option controls the default session \"driver\" that will be used on\n    | requests. By default, we will use the lightweight native driver but\n    | you may specify any of the other wonderful drivers provided here.\n    |\n    | Supported: \"file\", \"cookie\", \"database\", \"apc\",\n    |            \"memcached\", \"redis\", \"dynamodb\", \"array\"\n    |\n    */\n\n    'driver' => env('SESSION_DRIVER', 'file'),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Session Lifetime\n    |--------------------------------------------------------------------------\n    |\n    | Here you may specify the number of minutes that you wish the session\n    | to be allowed to remain idle before it expires. If you want them\n    | to immediately expire on the browser closing, set that option.\n    |\n    */\n\n    'lifetime' => env('SESSION_LIFETIME', 120),\n\n    'expire_on_close' => false,\n\n    /*\n    |--------------------------------------------------------------------------\n    | Session Encryption\n    |--------------------------------------------------------------------------\n    |\n    | This option allows you to easily specify that all of your session data\n    | should be encrypted before it is stored. All encryption will be run\n    | automatically by Laravel and you can use the Session like normal.\n    |\n    */\n\n    'encrypt' => false,\n\n    /*\n    |--------------------------------------------------------------------------\n    | Session File Location\n    |--------------------------------------------------------------------------\n    |\n    | When using the native session driver, we need a location where session\n    | files may be stored. A default has been set for you but a different\n    | location may be specified. This is only needed for file sessions.\n    |\n    */\n\n    'files' => storage_path('framework/sessions'),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Session Database Connection\n    |--------------------------------------------------------------------------\n    |\n    | When using the \"database\" or \"redis\" session drivers, you may specify a\n    | connection that should be used to manage these sessions. This should\n    | correspond to a connection in your database configuration options.\n    |\n    */\n\n    'connection' => env('SESSION_CONNECTION', null),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Session Database Table\n    |--------------------------------------------------------------------------\n    |\n    | When using the \"database\" session driver, you may specify the table we\n    | should use to manage the sessions. Of course, a sensible default is\n    | provided for you; however, you are free to change this as needed.\n    |\n    */\n\n    'table' => 'sessions',\n\n    /*\n    |--------------------------------------------------------------------------\n    | Session Cache Store\n    |--------------------------------------------------------------------------\n    |\n    | When using the \"apc\", \"memcached\", or \"dynamodb\" session drivers you may\n    | list a cache store that should be used for these sessions. This value\n    | must match with one of the application's configured cache \"stores\".\n    |\n    */\n\n    'store' => env('SESSION_STORE', null),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Session Sweeping Lottery\n    |--------------------------------------------------------------------------\n    |\n    | Some session drivers must manually sweep their storage location to get\n    | rid of old sessions from storage. Here are the chances that it will\n    | happen on a given request. By default, the odds are 2 out of 100.\n    |\n    */\n\n    'lottery' => [2, 100],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Session Cookie Name\n    |--------------------------------------------------------------------------\n    |\n    | Here you may change the name of the cookie used to identify a session\n    | instance by ID. The name specified here will get used every time a\n    | new session cookie is created by the framework for every driver.\n    |\n    */\n\n    'cookie' => env(\n        'SESSION_COOKIE',\n        Str::slug(env('APP_NAME', 'laravel'), '_').'_session'\n    ),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Session Cookie Path\n    |--------------------------------------------------------------------------\n    |\n    | The session cookie path determines the path for which the cookie will\n    | be regarded as available. Typically, this will be the root path of\n    | your application but you are free to change this when necessary.\n    |\n    */\n\n    'path' => '/',\n\n    /*\n    |--------------------------------------------------------------------------\n    | Session Cookie Domain\n    |--------------------------------------------------------------------------\n    |\n    | Here you may change the domain of the cookie used to identify a session\n    | in your application. This will determine which domains the cookie is\n    | available to in your application. A sensible default has been set.\n    |\n    */\n\n    'domain' => env('SESSION_DOMAIN', null),\n\n    /*\n    |--------------------------------------------------------------------------\n    | HTTPS Only Cookies\n    |--------------------------------------------------------------------------\n    |\n    | By setting this option to true, session cookies will only be sent back\n    | to the server if the browser has a HTTPS connection. This will keep\n    | the cookie from being sent to you if it can not be done securely.\n    |\n    */\n\n    'secure' => env('SESSION_SECURE_COOKIE'),\n\n    /*\n    |--------------------------------------------------------------------------\n    | HTTP Access Only\n    |--------------------------------------------------------------------------\n    |\n    | Setting this value to true will prevent JavaScript from accessing the\n    | value of the cookie and the cookie will only be accessible through\n    | the HTTP protocol. You are free to modify this option if needed.\n    |\n    */\n\n    'http_only' => true,\n\n    /*\n    |--------------------------------------------------------------------------\n    | Same-Site Cookies\n    |--------------------------------------------------------------------------\n    |\n    | This option determines how your cookies behave when cross-site requests\n    | take place, and can be used to mitigate CSRF attacks. By default, we\n    | will set this value to \"lax\" since this is a secure default value.\n    |\n    | Supported: \"lax\", \"strict\", \"none\", null\n    |\n    */\n\n    'same_site' => 'lax',\n\n];\n"
  },
  {
    "path": "config/trustedproxy.php",
    "content": "<?php\n\nreturn [\n\n    /*\n     * Set trusted proxy IP addresses.\n     *\n     * Both IPv4 and IPv6 addresses are\n     * supported, along with CIDR notation.\n     *\n     * The \"*\" character is syntactic sugar\n     * within TrustedProxy to trust any proxy\n     * that connects directly to your server,\n     * a requirement when you cannot know the address\n     * of your proxy (e.g. if using ELB or similar).\n     *\n     */\n    // 'proxies' => null, // [<ip addresses>,], '*', '<ip addresses>,'\n\n    /*\n     * To trust one or more specific proxies that connect\n     * directly to your server, use an array or a string separated by comma of IP addresses:\n     */\n    // 'proxies' => ['192.168.1.1'],\n    // 'proxies' => '192.168.1.1, 192.168.1.2',\n\n    /*\n     * Or, to trust all proxies that connect\n     * directly to your server, use a \"*\"\n     */\n    'proxies' => env('TRUSTED_PROXIES', '*'),\n\n    /*\n     * Which headers to use to detect proxy related data (For, Host, Proto, Port)\n     *\n     * Options include:\n     *\n     * - Illuminate\\Http\\Request::HEADER_X_FORWARDED_ALL (use all x-forwarded-* headers to establish trust)\n     * - Illuminate\\Http\\Request::HEADER_FORWARDED (use the FORWARDED header to establish trust)\n     * - Illuminate\\Http\\Request::HEADER_X_FORWARDED_AWS_ELB (If you are using AWS Elastic Load Balancer)\n     *\n     * - 'HEADER_X_FORWARDED_ALL' (use all x-forwarded-* headers to establish trust)\n     * - 'HEADER_FORWARDED' (use the FORWARDED header to establish trust)\n     * - 'HEADER_X_FORWARDED_AWS_ELB' (If you are using AWS Elastic Load Balancer)\n     *\n     * @link https://symfony.com/doc/current/deployment/proxies.html\n     */\n    'headers' => Illuminate\\Http\\Request::HEADER_X_FORWARDED_ALL,\n\n];\n"
  },
  {
    "path": "config/view.php",
    "content": "<?php\n\nreturn [\n\n    /*\n    |--------------------------------------------------------------------------\n    | View Storage Paths\n    |--------------------------------------------------------------------------\n    |\n    | Most templating systems load templates from disk. Here you may specify\n    | an array of paths that should be checked for your views. Of course\n    | the usual Laravel view path has already been registered for you.\n    |\n    */\n\n    'paths' => [\n        resource_path('views'),\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Compiled View Path\n    |--------------------------------------------------------------------------\n    |\n    | This option determines where all the compiled Blade templates will be\n    | stored for your application. Typically, this is within the storage\n    | directory. However, as usual, you are free to change this value.\n    |\n    */\n\n    'compiled' => realpath(storage_path('framework/views')),\n\n];\n"
  },
  {
    "path": "config/vite.php",
    "content": "<?php\n\nreturn [\n    /*\n    |--------------------------------------------------------------------------\n    | Entrypoints\n    |--------------------------------------------------------------------------\n    | The files in the configured directories will be considered\n    | entry points and will not be required in the configuration file.\n    | To disable the feature, set to false.\n    */\n    'entrypoints' => [\n        'resources/scripts/main.js',\n    ],\n    'ignore_patterns' => [\"/\\.d\\.ts$/\"],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Aliases\n    |--------------------------------------------------------------------------\n    | These aliases will be added to the Vite configuration and used\n    | to generate a proper tsconfig.json file.\n    */\n    'aliases' => [\n        '@' => 'resources',\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Static assets path\n    |--------------------------------------------------------------------------\n    | This option defines the directory that Vite considers as the\n    | public directory. Its content will be copied to the build directory\n    | at build-time.\n    | https://vitejs.dev/config/#publicdir\n    */\n    'public_directory' => resource_path('static'),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Ping timeout\n    |--------------------------------------------------------------------------\n    | The maximum duration, in seconds, that the ping to the development\n    | server should take while trying to determine whether to use the\n    | manifest or the server in a local environment.\n    */\n    'ping_timeout' => .1,\n\n    /*\n    |--------------------------------------------------------------------------\n    | Build path\n    |--------------------------------------------------------------------------\n    | The directory, relative to /public, in which Vite will build\n    | the production files. This should match \"build.outDir\" in the Vite\n    | configuration file.\n    */\n    'build_path' => 'build',\n\n    /*\n    |--------------------------------------------------------------------------\n    | Development URL\n    |--------------------------------------------------------------------------\n    | The URL at which the Vite development server runs.\n    | This is used to generate the script tags when developing.\n    */\n    'dev_url' => 'http://localhost:3000',\n];\n"
  },
  {
    "path": "crater.code-workspace",
    "content": "{\n    \"folders\": [\n        {\n            \"path\": \".\"\n        }\n    ],\n    \"settings\": {\n        \"search.exclude\": {\n            \"**/public\": true\n        },\n        \"editor.formatOnSave\": true,\n        \"vetur.validation.template\": false,\n        \"editor.codeActionsOnSave\": {\n            \"source.fixAll.eslint\": true\n        },\n        \"editor.formatOnPaste\": true,\n        \"editor.formatOnType\": true,\n        \"editor.codeActionsOnSaveTimeout\": 2000,\n        \"prettier.semi\": false,\n        \"prettier.singleQuote\": true,\n        \"files.associations\": {},\n        \"eslint.codeAction.disableRuleComment\": {},\n        \"eslint.codeAction.showDocumentation\": {\n            \"enable\": true\n        },\n        \"eslint.validate\": [\n            \"javascript\",\n            \"javascriptreact\",\n            \"vue\"\n        ],\n        \"[php]\": {\n            \"editor.defaultFormatter\": \"junstyle.php-cs-fixer\"\n        },\n        \"debug.allowBreakpointsEverywhere\": true,\n        \"files.autoGuessEncoding\": true,\n        \"files.exclude\": {\n            \"**/.vscode\": true,\n            \"compile_commands.json\": true,\n            \"*.hrccproj\": true,\n            \"*.sln\": true,\n            \"*.suo\": true\n        },\n    }\n}"
  },
  {
    "path": "crowdin.yml",
    "content": "files:\n  - source: /resources/scripts/locales/en.json\n    translation: /resources/scripts/locales/%two_letters_code%.json\n"
  },
  {
    "path": "database/.gitignore",
    "content": "*.sqlite\n"
  },
  {
    "path": "database/factories/AddressFactory.php",
    "content": "<?php\n\nnamespace Database\\Factories;\n\nuse Crater\\Models\\Address;\nuse Crater\\Models\\Customer;\nuse Crater\\Models\\User;\nuse Illuminate\\Database\\Eloquent\\Factories\\Factory;\n\nclass AddressFactory extends Factory\n{\n    /**\n     * The name of the factory's corresponding model.\n     *\n     * @var string\n     */\n    protected $model = Address::class;\n\n    /**\n     * Define the model's default state.\n     *\n     * @return array\n     */\n    public function definition()\n    {\n        return [\n            'name' => $this->faker->name,\n            'address_street_1' => $this->faker->streetAddress,\n            'address_street_2' => $this->faker->streetAddress,\n            'city' => $this->faker->city,\n            'state' => $this->faker->state,\n            'country_id' => 231,\n            'company_id' => User::find(1)->companies()->first()->id,\n            'zip' => $this->faker->postcode,\n            'phone' => $this->faker->phoneNumber,\n            'fax' => $this->faker->phoneNumber,\n            'type' => $this->faker->randomElement([Address::BILLING_TYPE, Address::SHIPPING_TYPE]),\n            'user_id' => User::factory(),\n            'customer_id' => Customer::factory()\n        ];\n    }\n}\n"
  },
  {
    "path": "database/factories/CompanyFactory.php",
    "content": "<?php\n\nnamespace Database\\Factories;\n\nuse Crater\\Models\\Company;\nuse Crater\\Models\\User;\nuse Illuminate\\Database\\Eloquent\\Factories\\Factory;\n\nclass CompanyFactory extends Factory\n{\n    /**\n     * The name of the factory's corresponding model.\n     *\n     * @var string\n     */\n    protected $model = Company::class;\n\n    /**\n     * Define the model's default state.\n     *\n     * @return array\n     */\n    public function definition()\n    {\n        return [\n            'unique_hash' => str_random(20),\n            'name' => $this->faker->name(),\n            'owner_id' => User::where('role', 'super admin')->first()->id,\n            'slug' => $this->faker->word\n        ];\n    }\n}\n"
  },
  {
    "path": "database/factories/CompanySettingFactory.php",
    "content": "<?php\n\nnamespace Database\\Factories;\n\nuse Crater\\Models\\CompanySetting;\nuse Crater\\Models\\User;\nuse Illuminate\\Database\\Eloquent\\Factories\\Factory;\n\nclass CompanySettingFactory extends Factory\n{\n    /**\n     * The name of the factory's corresponding model.\n     *\n     * @var string\n     */\n    protected $model = CompanySetting::class;\n\n    /**\n     * Define the model's default state.\n     *\n     * @return array\n     */\n    public function definition()\n    {\n        return [\n            'option' => $this->faker->word,\n            'value' => $this->faker->word,\n            'company_id' => User::find(1)->companies()->first()->id,\n        ];\n    }\n}\n"
  },
  {
    "path": "database/factories/CustomFieldFactory.php",
    "content": "<?php\n\nnamespace Database\\Factories;\n\nuse Crater\\Models\\CustomField;\nuse Crater\\Models\\User;\nuse Illuminate\\Database\\Eloquent\\Factories\\Factory;\n\nclass CustomFieldFactory extends Factory\n{\n    /**\n     * The name of the factory's corresponding model.\n     *\n     * @var string\n     */\n    protected $model = CustomField::class;\n\n    /**\n     * Define the model's default state.\n     *\n     * @return array\n     */\n    public function definition()\n    {\n        return [\n            'name' => $this->faker->name,\n            'label' => $this->faker->name,\n            'order' => $this->faker->randomDigitNotNull,\n            'is_required' => $this->faker->randomElement([true, false]),\n            'model_type' => $this->faker->randomElement(['Customer', 'Invoice', 'Estimate', 'Expense', 'Payment']),\n            'slug' => function (array $item) {\n                return clean_slug($item['model_type'], $item['label']);\n            },\n            'type' => $this->faker->randomElement(['Text', 'Textarea', 'Phone', 'URL', 'Number','Dropdown' , 'Switch', 'Date', 'DateTime', 'Time']),\n            'company_id' => User::find(1)->companies()->first()->id,\n        ];\n    }\n}\n"
  },
  {
    "path": "database/factories/CustomFieldValueFactory.php",
    "content": "<?php\n\nnamespace Database\\Factories;\n\nuse Crater\\Models\\CustomField;\nuse Crater\\Models\\CustomFieldValue;\nuse Crater\\Models\\User;\nuse Illuminate\\Database\\Eloquent\\Factories\\Factory;\n\nclass CustomFieldValueFactory extends Factory\n{\n    /**\n     * The name of the factory's corresponding model.\n     *\n     * @var string\n     */\n    protected $model = CustomFieldValue::class;\n\n    /**\n     * Define the model's default state.\n     *\n     * @return array\n     */\n    public function definition()\n    {\n        return [\n            'custom_field_valuable_type' => $this->faker->name ,\n            'custom_field_valuable_id' => 1,\n            'type' => $this->faker->name,\n            'custom_field_id' => CustomField::factory(),\n            'company_id' => User::find(1)->companies()->first()->id,\n        ];\n    }\n}\n"
  },
  {
    "path": "database/factories/CustomerFactory.php",
    "content": "<?php\n\nnamespace Database\\Factories;\n\nuse Crater\\Models\\Currency;\nuse Crater\\Models\\Customer;\nuse Crater\\Models\\User;\nuse Illuminate\\Database\\Eloquent\\Factories\\Factory;\nuse Illuminate\\Support\\Facades\\Hash;\n\nclass CustomerFactory extends Factory\n{\n    /**\n     * The name of the factory's corresponding model.\n     *\n     * @var string\n     */\n    protected $model = Customer::class;\n\n    /**\n     * Define the model's default state.\n     *\n     * @return array\n     */\n    public function definition()\n    {\n        return [\n            'name' => $this->faker->name,\n            'company_name' => $this->faker->company,\n            'contact_name' => $this->faker->name,\n            'prefix' => $this->faker->randomDigitNotNull,\n            'website' => $this->faker->url,\n            'enable_portal' => true,\n            'email' => $this->faker->unique()->safeEmail,\n            'phone' => $this->faker->phoneNumber,\n            'company_id' => User::find(1)->companies()->first()->id,\n            'password' => Hash::make('secret'),\n            'currency_id' => Currency::find(1)->id,\n        ];\n    }\n}\n"
  },
  {
    "path": "database/factories/EmailLogFactory.php",
    "content": "<?php\n\nnamespace Database\\Factories;\n\nuse Crater\\Models\\EmailLog;\nuse Crater\\Models\\Estimate;\nuse Crater\\Models\\Invoice;\nuse Crater\\Models\\Payment;\nuse Illuminate\\Database\\Eloquent\\Factories\\Factory;\n\nclass EmailLogFactory extends Factory\n{\n    /**\n     * The name of the factory's corresponding model.\n     *\n     * @var string\n     */\n    protected $model = EmailLog::class;\n\n    /**\n     * Define the model's default state.\n     *\n     * @return array\n     */\n    public function definition()\n    {\n        return [\n            'from' => $this->faker->unique()->safeEmail,\n            'to' => $this->faker->unique()->safeEmail,\n            'subject' => $this->faker->sentence,\n            'body' => $this->faker->text,\n            'mailable_type' => $this->faker->randomElement([Invoice::class, Estimate::class, Payment::class]),\n            'mailable_id' => function (array $log) {\n                return $log['mailable_type']::factory();\n            },\n        ];\n    }\n}\n"
  },
  {
    "path": "database/factories/EstimateFactory.php",
    "content": "<?php\n\nnamespace Database\\Factories;\n\nuse Crater\\Models\\Currency;\nuse Crater\\Models\\Customer;\nuse Crater\\Models\\Estimate;\nuse Crater\\Models\\User;\nuse Crater\\Services\\SerialNumberFormatter;\nuse Illuminate\\Database\\Eloquent\\Factories\\Factory;\n\nclass EstimateFactory extends Factory\n{\n    /**\n     * The name of the factory's corresponding model.\n     *\n     * @var string\n     */\n    protected $model = Estimate::class;\n\n    public function sent()\n    {\n        return $this->state(function (array $attributes) {\n            return [\n                'status' => Estimate::STATUS_SENT,\n            ];\n        });\n    }\n\n    public function viewed()\n    {\n        return $this->state(function (array $attributes) {\n            return [\n                'status' => Estimate::STATUS_VIEWED,\n            ];\n        });\n    }\n\n    public function expired()\n    {\n        return $this->state(function (array $attributes) {\n            return [\n                'status' => Estimate::STATUS_EXPIRED,\n            ];\n        });\n    }\n\n    public function accepted()\n    {\n        return $this->state(function (array $attributes) {\n            return [\n                'status' => Estimate::STATUS_ACCEPTED,\n            ];\n        });\n    }\n\n    public function rejected()\n    {\n        return $this->state(function (array $attributes) {\n            return [\n                'status' => Estimate::STATUS_REJECTED,\n            ];\n        });\n    }\n\n    /**\n     * Define the model's default state.\n     *\n     * @return array\n     */\n    public function definition()\n    {\n        $sequenceNumber = (new SerialNumberFormatter())\n            ->setModel(new Estimate())\n            ->setCompany(User::find(1)->companies()->first()->id)\n            ->setNextNumbers();\n\n        return [\n            'estimate_date' => $this->faker->date('Y-m-d', 'now'),\n            'expiry_date' => $this->faker->date('Y-m-d', 'now'),\n            'estimate_number' => $sequenceNumber->getNextNumber(),\n            'sequence_number' => $sequenceNumber->nextSequenceNumber,\n            'customer_sequence_number' => $sequenceNumber->nextCustomerSequenceNumber,\n            'reference_number' => $sequenceNumber->getNextNumber(),\n            'company_id' => User::find(1)->companies()->first()->id,\n            'status' => Estimate::STATUS_DRAFT,\n            'template_name' => 'estimate1',\n            'sub_total' => $this->faker->randomDigitNotNull,\n            'total' => $this->faker->randomDigitNotNull,\n            'discount_type' => $this->faker->randomElement(['percentage', 'fixed']),\n            'discount_val' => function (array $estimate) {\n                return $estimate['discount_type'] == 'percentage' ? $this->faker->numberBetween($min = 0, $max = 100) : $this->faker->randomDigitNotNull;\n            },\n            'discount' => function (array $estimate) {\n                return $estimate['discount_type'] == 'percentage' ? (($estimate['discount_val'] * $estimate['total']) / 100) : $estimate['discount_val'];\n            },\n            'tax_per_item' => 'YES',\n            'discount_per_item' => 'No',\n            'tax' => $this->faker->randomDigitNotNull,\n            'notes' => $this->faker->text(80),\n            'unique_hash' => str_random(60),\n            'customer_id' => Customer::factory(),\n            'exchange_rate' => $this->faker->randomDigitNotNull,\n            'base_discount_val' => $this->faker->randomDigitNotNull,\n            'base_sub_total' => $this->faker->randomDigitNotNull,\n            'base_total' => $this->faker->randomDigitNotNull,\n            'base_tax' => $this->faker->randomDigitNotNull,\n            'currency_id' => Currency::find(1)->id,\n        ];\n    }\n}\n"
  },
  {
    "path": "database/factories/EstimateItemFactory.php",
    "content": "<?php\n\nnamespace Database\\Factories;\n\nuse Crater\\Models\\Estimate;\nuse Crater\\Models\\EstimateItem;\nuse Crater\\Models\\Item;\nuse Crater\\Models\\User;\nuse Illuminate\\Database\\Eloquent\\Factories\\Factory;\n\nclass EstimateItemFactory extends Factory\n{\n    /**\n     * The name of the factory's corresponding model.\n     *\n     * @var string\n     */\n    protected $model = EstimateItem::class;\n\n    /**\n     * Define the model's default state.\n     *\n     * @return array\n     */\n    public function definition()\n    {\n        return [\n            'item_id' => Item::factory(),\n            'name' => function (array $item) {\n                return Item::find($item['item_id'])->name;\n            },\n            'description' => function (array $item) {\n                return Item::find($item['item_id'])->description;\n            },\n            'price' => function (array $item) {\n                return Item::find($item['item_id'])->price;\n            },\n            'estimate_id' => Estimate::factory(),\n            'quantity' => $this->faker->randomDigitNotNull,\n            'company_id' => User::find(1)->companies()->first()->id,\n            'tax' => $this->faker->randomDigitNotNull,\n            'total' => function (array $item) {\n                return ($item['price'] * $item['quantity']);\n            },\n            'discount_type' => $this->faker->randomElement(['percentage', 'fixed']),\n            'discount_val' => function (array $estimate) {\n                return $estimate['discount_type'] == 'percentage' ? $this->faker->numberBetween($min = 0, $max = 100) : $this->faker->randomDigitNotNull;\n            },\n            'discount' => function (array $estimate) {\n                return $estimate['discount_type'] == 'percentage' ? (($estimate['discount_val'] * $estimate['total']) / 100) : $estimate['discount_val'];\n            },\n            'exchange_rate' => $this->faker->randomDigitNotNull,\n            'base_discount_val' => $this->faker->randomDigitNotNull,\n            'base_price' => $this->faker->randomDigitNotNull,\n            'base_total' => $this->faker->randomDigitNotNull,\n            'base_tax' => $this->faker->randomDigitNotNull,\n        ];\n    }\n}\n"
  },
  {
    "path": "database/factories/ExchangeRateLogFactory.php",
    "content": "<?php\n\nnamespace Database\\Factories;\n\nuse Crater\\Models\\Currency;\nuse Crater\\Models\\ExchangeRateLog;\nuse Crater\\Models\\User;\nuse Illuminate\\Database\\Eloquent\\Factories\\Factory;\n\nclass ExchangeRateLogFactory extends Factory\n{\n    /**\n     * The name of the factory's corresponding model.\n     *\n     * @var string\n     */\n    protected $model = ExchangeRateLog::class;\n\n    /**\n     * Define the model's default state.\n     *\n     * @return array\n     */\n    public function definition()\n    {\n        return [\n            'company_id' => Currency::find(1)->id,\n            'base_currency_id' => User::find(1)->companies()->first()->id,\n            'currency_id' => Currency::find(4)->id,\n            'exchange_rate' => $this->faker->randomDigitNotNull\n        ];\n    }\n}\n"
  },
  {
    "path": "database/factories/ExchangeRateProviderFactory.php",
    "content": "<?php\n\nnamespace Database\\Factories;\n\nuse Crater\\Models\\ExchangeRateProvider;\nuse Illuminate\\Database\\Eloquent\\Factories\\Factory;\n\nclass ExchangeRateProviderFactory extends Factory\n{\n    /**\n     * The name of the factory's corresponding model.\n     *\n     * @var string\n     */\n    protected $model = ExchangeRateProvider::class;\n\n    /**\n     * Define the model's default state.\n     *\n     * @return array\n     */\n    public function definition()\n    {\n        return [\n            'driver' => $this->faker->word,\n            'key' => str_random(10),\n            'active' => $this->faker->randomElement([true, false]),\n        ];\n    }\n}\n"
  },
  {
    "path": "database/factories/ExpenseCategoryFactory.php",
    "content": "<?php\n\nnamespace Database\\Factories;\n\nuse Crater\\Models\\ExpenseCategory;\nuse Crater\\Models\\User;\nuse Illuminate\\Database\\Eloquent\\Factories\\Factory;\n\nclass ExpenseCategoryFactory extends Factory\n{\n    /**\n     * The name of the factory's corresponding model.\n     *\n     * @var string\n     */\n    protected $model = ExpenseCategory::class;\n\n    /**\n     * Define the model's default state.\n     *\n     * @return array\n     */\n    public function definition()\n    {\n        return [\n            'name' => $this->faker->word,\n            'company_id' => User::find(1)->companies()->first()->id,\n            'description' => $this->faker->text,\n        ];\n    }\n}\n"
  },
  {
    "path": "database/factories/ExpenseFactory.php",
    "content": "<?php\n\nnamespace Database\\Factories;\n\nuse Crater\\Models\\Currency;\nuse Crater\\Models\\Customer;\nuse Crater\\Models\\Expense;\nuse Crater\\Models\\ExpenseCategory;\nuse Crater\\Models\\User;\nuse Illuminate\\Database\\Eloquent\\Factories\\Factory;\n\nclass ExpenseFactory extends Factory\n{\n    /**\n     * The name of the factory's corresponding model.\n     *\n     * @var string\n     */\n    protected $model = Expense::class;\n\n    /**\n     * Define the model's default state.\n     *\n     * @return array\n     */\n    public function definition()\n    {\n        return [\n            'expense_date' => $this->faker->date('Y-m-d', 'now'),\n            'expense_category_id' => ExpenseCategory::factory(),\n            'company_id' => User::find(1)->companies()->first()->id,\n            'amount' => $this->faker->randomDigitNotNull,\n            'notes' => $this->faker->text,\n            'attachment_receipt' => null,\n            'customer_id' => Customer::factory(),\n            'exchange_rate' => $this->faker->randomDigitNotNull,\n            'base_amount' => $this->faker->randomDigitNotNull,\n            'currency_id' => Currency::find(1)->id,\n        ];\n    }\n}\n"
  },
  {
    "path": "database/factories/FileDiskFactory.php",
    "content": "<?php\n\nnamespace Database\\Factories;\n\nuse Crater\\Models\\FileDisk;\nuse Illuminate\\Database\\Eloquent\\Factories\\Factory;\n\nclass FileDiskFactory extends Factory\n{\n    /**\n     * The name of the factory's corresponding model.\n     *\n     * @var string\n     */\n    protected $model = FileDisk::class;\n\n    /**\n     * Define the model's default state.\n     *\n     * @return array\n     */\n    public function definition()\n    {\n        return [\n            'name' => $this->faker->word,\n            'driver' => 'local',\n            'set_as_default' => false,\n            'credentials' => [\n                'driver' => 'local',\n                'root' => storage_path('app'),\n            ],\n\n        ];\n    }\n}\n"
  },
  {
    "path": "database/factories/InvoiceFactory.php",
    "content": "<?php\n\nnamespace Database\\Factories;\n\nuse Crater\\Models\\Currency;\nuse Crater\\Models\\Customer;\nuse Crater\\Models\\Invoice;\nuse Crater\\Models\\RecurringInvoice;\nuse Crater\\Models\\User;\nuse Crater\\Services\\SerialNumberFormatter;\nuse Illuminate\\Database\\Eloquent\\Factories\\Factory;\n\nclass InvoiceFactory extends Factory\n{\n    /**\n     * The name of the factory's corresponding model.\n     *\n     * @var string\n     */\n    protected $model = Invoice::class;\n\n    public function sent()\n    {\n        return $this->state(function (array $attributes) {\n            return [\n                'status' => Invoice::STATUS_SENT,\n            ];\n        });\n    }\n\n    public function viewed()\n    {\n        return $this->state(function (array $attributes) {\n            return [\n                'status' => Invoice::STATUS_VIEWED,\n            ];\n        });\n    }\n\n    public function completed()\n    {\n        return $this->state(function (array $attributes) {\n            return [\n                'status' => Invoice::STATUS_COMPLETED,\n            ];\n        });\n    }\n\n    public function unpaid()\n    {\n        return $this->state(function (array $attributes) {\n            return [\n                'status' => Invoice::STATUS_UNPAID,\n            ];\n        });\n    }\n\n    public function partiallyPaid()\n    {\n        return $this->state(function (array $attributes) {\n            return [\n                'status' => Invoice::STATUS_PARTIALLY_PAID,\n            ];\n        });\n    }\n\n    public function paid()\n    {\n        return $this->state(function (array $attributes) {\n            return [\n                'status' => Invoice::STATUS_PAID,\n            ];\n        });\n    }\n\n    /**\n     * Define the model's default state.\n     *\n     * @return array\n     */\n    public function definition()\n    {\n        $sequenceNumber = (new SerialNumberFormatter())\n            ->setModel(new Invoice())\n            ->setCompany(User::find(1)->companies()->first()->id)\n            ->setNextNumbers();\n\n        return [\n            'invoice_date' => $this->faker->date('Y-m-d', 'now'),\n            'due_date' => $this->faker->date('Y-m-d', 'now'),\n            'invoice_number' => $sequenceNumber->getNextNumber(),\n            'sequence_number' => $sequenceNumber->nextSequenceNumber,\n            'customer_sequence_number' => $sequenceNumber->nextCustomerSequenceNumber,\n            'reference_number' => $sequenceNumber->getNextNumber(),\n            'template_name' => 'invoice1',\n            'status' => Invoice::STATUS_DRAFT,\n            'tax_per_item' => 'NO',\n            'discount_per_item' => 'NO',\n            'paid_status' => Invoice::STATUS_UNPAID,\n            'company_id' => User::find(1)->companies()->first()->id,\n            'sub_total' => $this->faker->randomDigitNotNull,\n            'total' => $this->faker->randomDigitNotNull,\n            'discount_type' => $this->faker->randomElement(['percentage', 'fixed']),\n            'discount_val' => function (array $invoice) {\n                return $invoice['discount_type'] == 'percentage' ? $this->faker->numberBetween($min = 0, $max = 100) : $this->faker->randomDigitNotNull;\n            },\n            'discount' => function (array $invoice) {\n                return $invoice['discount_type'] == 'percentage' ? (($invoice['discount_val'] * $invoice['total']) / 100) : $invoice['discount_val'];\n            },\n            'tax' => $this->faker->randomDigitNotNull,\n            'due_amount' => function (array $invoice) {\n                return $invoice['total'];\n            },\n            'notes' => $this->faker->text(80),\n            'unique_hash' => str_random(60),\n            'customer_id' => Customer::factory(),\n            'recurring_invoice_id' => RecurringInvoice::factory(),\n            'exchange_rate' => $this->faker->randomDigitNotNull,\n            'base_discount_val' => $this->faker->randomDigitNotNull,\n            'base_sub_total' => $this->faker->randomDigitNotNull,\n            'base_total' => $this->faker->randomDigitNotNull,\n            'base_tax' => $this->faker->randomDigitNotNull,\n            'base_due_amount' => $this->faker->randomDigitNotNull,\n            'currency_id' => Currency::find(1)->id,\n        ];\n    }\n}\n"
  },
  {
    "path": "database/factories/InvoiceItemFactory.php",
    "content": "<?php\n\nnamespace Database\\Factories;\n\nuse Crater\\Models\\InvoiceItem;\nuse Crater\\Models\\Item;\nuse Crater\\Models\\RecurringInvoice;\nuse Crater\\Models\\User;\nuse Illuminate\\Database\\Eloquent\\Factories\\Factory;\n\nclass InvoiceItemFactory extends Factory\n{\n    /**\n     * The name of the factory's corresponding model.\n     *\n     * @var string\n     */\n    protected $model = InvoiceItem::class;\n\n    /**\n     * Define the model's default state.\n     *\n     * @return array\n     */\n    public function definition()\n    {\n        return [\n            'item_id' => Item::factory(),\n            'name' => function (array $item) {\n                return Item::find($item['item_id'])->name;\n            },\n            'description' => function (array $item) {\n                return Item::find($item['item_id'])->description;\n            },\n            'price' => function (array $item) {\n                return Item::find($item['item_id'])->price;\n            },\n            'company_id' => User::find(1)->companies()->first()->id,\n            'quantity' => $this->faker->randomDigitNotNull,\n            'total' => function (array $item) {\n                return ($item['price'] * $item['quantity']);\n            },\n            'discount_type' => $this->faker->randomElement(['percentage', 'fixed']),\n            'discount_val' => function (array $invoice) {\n                return $invoice['discount_type'] == 'percentage' ? $this->faker->numberBetween($min = 0, $max = 100) : $this->faker->randomDigitNotNull;\n            },\n            'discount' => function (array $invoice) {\n                return $invoice['discount_type'] == 'percentage' ? (($invoice['discount_val'] * $invoice['total']) / 100) : $invoice['discount_val'];\n            },\n            'tax' => $this->faker->randomDigitNotNull,\n            'recurring_invoice_id' => RecurringInvoice::factory(),\n            'exchange_rate' => $this->faker->randomDigitNotNull,\n            'base_discount_val' => $this->faker->randomDigitNotNull,\n            'base_price' => $this->faker->randomDigitNotNull,\n            'base_total' => $this->faker->randomDigitNotNull,\n            'base_tax' => $this->faker->randomDigitNotNull,\n        ];\n    }\n}\n"
  },
  {
    "path": "database/factories/ItemFactory.php",
    "content": "<?php\n\nnamespace Database\\Factories;\n\nuse Crater\\Models\\Currency;\nuse Crater\\Models\\Item;\nuse Crater\\Models\\Unit;\nuse Crater\\Models\\User;\nuse Illuminate\\Database\\Eloquent\\Factories\\Factory;\n\nclass ItemFactory extends Factory\n{\n    /**\n     * The name of the factory's corresponding model.\n     *\n     * @var string\n     */\n    protected $model = Item::class;\n\n    /**\n     * Define the model's default state.\n     *\n     * @return array\n     */\n    public function definition()\n    {\n        return [\n            'name' => $this->faker->name,\n            'description' => $this->faker->text,\n            'company_id' => User::find(1)->companies()->first()->id,\n            'price' => $this->faker->randomDigitNotNull,\n            'unit_id' => Unit::factory(),\n            'creator_id' => User::where('role', 'super admin')->first()->company_id,\n            'currency_id' => Currency::find(1)->id,\n            'tax_per_item' => $this->faker->randomElement([true, false])\n        ];\n    }\n}\n"
  },
  {
    "path": "database/factories/NoteFactory.php",
    "content": "<?php\n\nnamespace Database\\Factories;\n\nuse Crater\\Models\\Note;\nuse Crater\\Models\\User;\nuse Illuminate\\Database\\Eloquent\\Factories\\Factory;\n\nclass NoteFactory extends Factory\n{\n    /**\n     * The name of the factory's corresponding model.\n     *\n     * @var string\n     */\n    protected $model = Note::class;\n\n    /**\n     * Define the model's default state.\n     *\n     * @return array\n     */\n    public function definition()\n    {\n        return [\n            'type' => $this->faker->randomElement(['Invoice', 'Estimate', 'Payment']),\n            'name' => $this->faker->word,\n            'notes' => $this->faker->text,\n            'company_id' => User::find(1)->companies()->first()->id,\n        ];\n    }\n}\n"
  },
  {
    "path": "database/factories/PaymentFactory.php",
    "content": "<?php\n\nnamespace Database\\Factories;\n\nuse Crater\\Models\\Currency;\nuse Crater\\Models\\Customer;\nuse Crater\\Models\\Payment;\nuse Crater\\Models\\PaymentMethod;\nuse Crater\\Models\\User;\nuse Crater\\Services\\SerialNumberFormatter;\nuse Illuminate\\Database\\Eloquent\\Factories\\Factory;\n\nclass PaymentFactory extends Factory\n{\n    /**\n     * The name of the factory's corresponding model.\n     *\n     * @var string\n     */\n    protected $model = Payment::class;\n\n    /**\n     * Define the model's default state.\n     *\n     * @return array\n     */\n    public function definition()\n    {\n        $sequenceNumber = (new SerialNumberFormatter())\n            ->setModel(new Payment())\n            ->setCompany(User::find(1)->companies()->first()->id)\n            ->setNextNumbers();\n\n        return [\n            'company_id' => User::find(1)->companies()->first()->id,\n            'payment_date' => $this->faker->date('Y-m-d', 'now'),\n            'notes' => $this->faker->text(80),\n            'amount' => $this->faker->randomDigitNotNull,\n            'sequence_number' => $sequenceNumber->nextSequenceNumber,\n            'customer_sequence_number' => $sequenceNumber->nextCustomerSequenceNumber,\n            'payment_number' => $sequenceNumber->getNextNumber(),\n            'unique_hash' => str_random(60),\n            'payment_method_id' => PaymentMethod::find(1)->id,\n            'customer_id' => Customer::factory(),\n            'base_amount' => $this->faker->randomDigitNotNull,\n            'currency_id' => Currency::find(1)->id,\n        ];\n    }\n}\n"
  },
  {
    "path": "database/factories/PaymentMethodFactory.php",
    "content": "<?php\n\nnamespace Database\\Factories;\n\nuse Crater\\Models\\PaymentMethod;\nuse Crater\\Models\\User;\nuse Illuminate\\Database\\Eloquent\\Factories\\Factory;\n\nclass PaymentMethodFactory extends Factory\n{\n    /**\n     * The name of the factory's corresponding model.\n     *\n     * @var string\n     */\n    protected $model = PaymentMethod::class;\n\n    /**\n     * Define the model's default state.\n     *\n     * @return array\n     */\n    public function definition()\n    {\n        return [\n            'name' => $this->faker->name,\n            'company_id' => User::find(1)->companies()->first()->id,\n        ];\n    }\n}\n"
  },
  {
    "path": "database/factories/RecurringInvoiceFactory.php",
    "content": "<?php\n\nnamespace Database\\Factories;\n\nuse Crater\\Models\\Customer;\nuse Crater\\Models\\RecurringInvoice;\nuse Crater\\Models\\User;\nuse Illuminate\\Database\\Eloquent\\Factories\\Factory;\n\nclass RecurringInvoiceFactory extends Factory\n{\n    /**\n     * The name of the factory's corresponding model.\n     *\n     * @var string\n     */\n    protected $model = RecurringInvoice::class;\n\n    /**\n     * Define the model's default state.\n     *\n     * @return array\n     */\n    public function definition()\n    {\n        return [\n            'starts_at' => $this->faker->iso8601(),\n            'send_automatically' => false,\n            'status' => $this->faker->randomElement(['COMPLETED', 'ON_HOLD', 'ACTIVE']),\n            'tax_per_item' => 'NO',\n            'discount_per_item' => 'NO',\n            'sub_total' => $this->faker->randomDigitNotNull,\n            'total' => $this->faker->randomDigitNotNull,\n            'tax' => $this->faker->randomDigitNotNull,\n            'due_amount' => $this->faker->randomDigitNotNull,\n            'discount' => $this->faker->randomDigitNotNull,\n            'discount_val' => $this->faker->randomDigitNotNull,\n            'customer_id' => Customer::factory(),\n            'company_id' => User::find(1)->companies()->first()->id,\n            'frequency' => '* * 18 * *',\n            'limit_by' => $this->faker->randomElement(['NONE', 'COUNT', 'DATE']),\n            'limit_count' => $this->faker->randomDigit,\n            'limit_date' => $this->faker->date(),\n            'exchange_rate' => $this->faker->randomDigitNotNull\n        ];\n    }\n}\n"
  },
  {
    "path": "database/factories/TaxFactory.php",
    "content": "<?php\n\nnamespace Database\\Factories;\n\nuse Crater\\Models\\Currency;\nuse Crater\\Models\\Tax;\nuse Crater\\Models\\TaxType;\nuse Crater\\Models\\User;\nuse Illuminate\\Database\\Eloquent\\Factories\\Factory;\n\nclass TaxFactory extends Factory\n{\n    /**\n     * The name of the factory's corresponding model.\n     *\n     * @var string\n     */\n    protected $model = Tax::class;\n\n    /**\n     * Define the model's default state.\n     *\n     * @return array\n     */\n    public function definition()\n    {\n        return [\n            'tax_type_id' => TaxType::factory(),\n            'percent' => function (array $item) {\n                return TaxType::find($item['tax_type_id'])->percent;\n            },\n            'name' => function (array $item) {\n                return TaxType::find($item['tax_type_id'])->name;\n            },\n            'company_id' => User::find(1)->companies()->first()->id,\n            'amount' => $this->faker->randomDigitNotNull,\n            'compound_tax' => $this->faker->randomDigitNotNull,\n            'base_amount' => $this->faker->randomDigitNotNull,\n            'currency_id' => Currency::where('name', 'US Dollar')->first()->id,\n        ];\n    }\n}\n"
  },
  {
    "path": "database/factories/TaxTypeFactory.php",
    "content": "<?php\n\nnamespace Database\\Factories;\n\nuse Crater\\Models\\TaxType;\nuse Crater\\Models\\User;\nuse Illuminate\\Database\\Eloquent\\Factories\\Factory;\n\nclass TaxTypeFactory extends Factory\n{\n    /**\n     * The name of the factory's corresponding model.\n     *\n     * @var string\n     */\n    protected $model = TaxType::class;\n\n    /**\n     * Define the model's default state.\n     *\n     * @return array\n     */\n    public function definition()\n    {\n        return [\n            'name' => $this->faker->word,\n            'company_id' => User::find(1)->companies()->first()->id,\n            'percent' => $this->faker->numberBetween($min = 0, $max = 100),\n            'description' => $this->faker->text,\n            'compound_tax' => 0,\n            'collective_tax' => 0,\n        ];\n    }\n}\n"
  },
  {
    "path": "database/factories/UnitFactory.php",
    "content": "<?php\n\nnamespace Database\\Factories;\n\nuse Crater\\Models\\Unit;\nuse Crater\\Models\\User;\nuse Illuminate\\Database\\Eloquent\\Factories\\Factory;\n\nclass UnitFactory extends Factory\n{\n    /**\n     * The name of the factory's corresponding model.\n     *\n     * @var string\n     */\n    protected $model = Unit::class;\n\n    /**\n     * Define the model's default state.\n     *\n     * @return array\n     */\n    public function definition()\n    {\n        return [\n            'name' => $this->faker->name,\n            'company_id' => User::find(1)->companies()->first()->id,\n        ];\n    }\n}\n"
  },
  {
    "path": "database/factories/UserFactory.php",
    "content": "<?php\n\nnamespace Database\\Factories;\n\nuse Crater\\Models\\Currency;\nuse Crater\\Models\\User;\nuse Illuminate\\Database\\Eloquent\\Factories\\Factory;\nuse Illuminate\\Support\\Facades\\Hash;\n\nclass UserFactory extends Factory\n{\n    /**\n     * The name of the factory's corresponding model.\n     *\n     * @var string\n     */\n    protected $model = User::class;\n\n    /**\n     * Define the model's default state.\n     *\n     * @return array\n     */\n    public function definition()\n    {\n        return [\n            'name' => $this->faker->name,\n            'company_name' => $this->faker->company,\n            'contact_name' => $this->faker->name,\n            'website' => $this->faker->url,\n            'enable_portal' => true,\n            'email' => $this->faker->unique()->safeEmail,\n            'phone' => $this->faker->phoneNumber,\n            'role' => 'super admin',\n            'password' => Hash::make('secret'),\n            'currency_id' => Currency::first()->id,\n        ];\n    }\n}\n"
  },
  {
    "path": "database/migrations/2014_10_11_071840_create_companies_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreateCompaniesTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('companies', function (Blueprint $table) {\n            $table->increments('id');\n            $table->string('name');\n            $table->string('logo')->nullable();\n            $table->string('unique_hash')->nullable();\n            $table->timestamps();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('companies');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2014_10_11_125754_create_currencies_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreateCurrenciesTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('currencies', function (Blueprint $table) {\n            $table->increments('id');\n            $table->string('name');\n            $table->string('code');\n            $table->string('symbol')->nullable();\n            $table->integer('precision');\n            $table->string('thousand_separator');\n            $table->string('decimal_separator');\n            $table->boolean('swap_currency_symbol')->default(false);\n            $table->timestamps();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('currencies');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2014_10_12_000000_create_users_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreateUsersTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('users', function (Blueprint $table) {\n            $table->increments('id');\n            $table->string('name');\n            $table->string('email')->unique()->nullable();\n            $table->string('phone')->nullable();\n            $table->string('password')->nullable();\n            $table->string('role')->default('user');\n            $table->rememberToken();\n            $table->string('facebook_id')->nullable();\n            $table->string('google_id')->nullable();\n            $table->string('github_id')->nullable();\n            $table->string('contact_name')->nullable();\n            $table->string('company_name')->nullable();\n            $table->string('website')->nullable();\n            $table->boolean('enable_portal')->nullable();\n            $table->integer('currency_id')->unsigned()->nullable();\n            $table->foreign('currency_id')->references('id')->on('currencies')->onDelete('cascade');\n            $table->integer('company_id')->unsigned()->nullable();\n            $table->foreign('company_id')->references('id')->on('companies')->onDelete('cascade');\n            $table->timestamps();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('users');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2014_10_12_100000_create_password_resets_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreatePasswordResetsTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('password_resets', function (Blueprint $table) {\n            $table->string('email')->index();\n            $table->string('token');\n            $table->timestamp('created_at')->nullable();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('password_resets');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2016_05_13_060834_create_settings_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\n\nclass CreateSettingsTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('settings', function (Blueprint $table) {\n            $table->increments('id');\n            $table->string('option');\n            $table->string('value');\n            $table->timestamps();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::drop('settings');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2017_04_11_064308_create_units_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreateUnitsTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        if (! Schema::hasTable('units')) {\n            Schema::create('units', function (Blueprint $table) {\n                $table->increments('id');\n                $table->string('name');\n                $table->integer('company_id')->unsigned()->nullable();\n                $table->foreign('company_id')->references('id')->on('companies')->onDelete('cascade');\n                $table->timestamps();\n            });\n        }\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('units');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2017_04_11_081227_create_items_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreateItemsTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('items', function (Blueprint $table) {\n            $table->increments('id');\n            $table->string('name');\n            $table->string('description')->nullable();\n            $table->string('unit')->nullable();\n            $table->unsignedBigInteger('price');\n            $table->integer('company_id')->unsigned()->nullable();\n            $table->foreign('company_id')->references('id')->on('companies')->onDelete('cascade');\n            $table->integer('unit_id')->unsigned()->nullable();\n            $table->foreign('unit_id')->references('id')->on('units')->onDelete('cascade');\n            $table->timestamps();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('items');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2017_04_12_090759_create_invoices_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreateInvoicesTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('invoices', function (Blueprint $table) {\n            $table->increments('id');\n            $table->date('invoice_date');\n            $table->date('due_date');\n            $table->string('invoice_number');\n            $table->string('reference_number')->nullable();\n            $table->string('status');\n            $table->string('paid_status');\n            $table->string('tax_per_item');\n            $table->string('discount_per_item');\n            $table->text('notes')->nullable();\n            $table->string('discount_type')->nullable();\n            $table->decimal('discount', 15, 2)->nullable();\n            $table->unsignedBigInteger('discount_val')->nullable();\n            $table->unsignedBigInteger('sub_total');\n            $table->unsignedBigInteger('total');\n            $table->unsignedBigInteger('tax');\n            $table->unsignedBigInteger('due_amount');\n            $table->boolean('sent')->default(false);\n            $table->boolean('viewed')->default(false);\n            $table->string('unique_hash')->nullable();\n            $table->integer('user_id')->unsigned()->nullable();\n            $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');\n            $table->integer('company_id')->unsigned()->nullable();\n            $table->foreign('company_id')->references('id')->on('companies')->onDelete('cascade');\n            $table->timestamps();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('invoices');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2017_04_12_091015_create_invoice_items_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreateInvoiceItemsTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('invoice_items', function (Blueprint $table) {\n            $table->increments('id');\n            $table->string('name');\n            $table->string('description')->nullable();\n            $table->string('discount_type');\n            $table->unsignedBigInteger('price');\n            $table->decimal('quantity', 15, 2);\n            $table->decimal('discount', 15, 2)->nullable();\n            $table->unsignedBigInteger('discount_val');\n            $table->unsignedBigInteger('tax');\n            $table->unsignedBigInteger('total');\n            $table->integer('invoice_id')->unsigned();\n            $table->foreign('invoice_id')->references('id')->on('invoices')->onDelete('cascade');\n            $table->integer('item_id')->unsigned()->nullable();\n            $table->foreign('item_id')->references('id')->on('items')->onDelete('cascade');\n            $table->integer('company_id')->unsigned()->nullable();\n            $table->foreign('company_id')->references('id')->on('companies')->onDelete('cascade');\n            $table->timestamps();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('invoice_items');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2017_05_05_055609_create_estimates_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreateEstimatesTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('estimates', function (Blueprint $table) {\n            $table->increments('id');\n            $table->date('estimate_date');\n            $table->date('expiry_date');\n            $table->string('estimate_number');\n            $table->string('status');\n            $table->string('reference_number')->nullable();\n            $table->string('tax_per_item');\n            $table->string('discount_per_item');\n            $table->string('notes')->nullable();\n            $table->decimal('discount', 15, 2)->nullable();\n            $table->string('discount_type')->nullable();\n            $table->unsignedBigInteger('discount_val')->nullable();\n            $table->unsignedBigInteger('sub_total');\n            $table->unsignedBigInteger('total');\n            $table->unsignedBigInteger('tax');\n            $table->string('unique_hash')->nullable();\n            $table->integer('user_id')->unsigned()->nullable();\n            $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');\n            $table->integer('company_id')->unsigned()->nullable();\n            $table->foreign('company_id')->references('id')->on('companies')->onDelete('cascade');\n            $table->timestamps();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('estimates');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2017_05_05_073927_create_notifications_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreateNotificationsTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('notifications', function (Blueprint $table) {\n            $table->uuid('id')->primary();\n            $table->string('type');\n            $table->morphs('notifiable');\n            $table->text('data');\n            $table->timestamp('read_at')->nullable();\n            $table->timestamps();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('notifications');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2017_05_06_173745_create_countries_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreateCountriesTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('countries', function (Blueprint $table) {\n            $table->engine = 'InnoDB';\n            $table->increments('id')->index();\n            $table->string('code');\n            $table->string('name');\n            $table->integer('phonecode');\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('countries');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2017_10_02_123501_create_estimate_items_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreateEstimateItemsTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('estimate_items', function (Blueprint $table) {\n            $table->increments('id');\n            $table->string('name');\n            $table->string('description')->nullable();\n            $table->string('discount_type');\n            $table->decimal('quantity', 15, 2);\n            $table->decimal('discount', 15, 2)->nullable();\n            $table->unsignedBigInteger('discount_val')->nullable();\n            $table->unsignedBigInteger('price');\n            $table->unsignedBigInteger('tax');\n            $table->unsignedBigInteger('total');\n            $table->integer('item_id')->unsigned()->nullable();\n            $table->foreign('item_id')->references('id')->on('items')->onDelete('cascade');\n            $table->integer('estimate_id')->unsigned();\n            $table->foreign('estimate_id')->references('id')->on('estimates')->onDelete('cascade');\n            $table->integer('company_id')->unsigned()->nullable();\n            $table->foreign('company_id')->references('id')->on('companies')->onDelete('cascade');\n            $table->timestamps();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('estimate_items');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2018_11_02_133825_create_ expense_categories_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreateExpenseCategoriesTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('expense_categories', function (Blueprint $table) {\n            $table->increments('id');\n            $table->string('name');\n            $table->string('description')->nullable();\n            $table->integer('company_id')->unsigned()->nullable();\n            $table->foreign('company_id')->references('id')->on('companies')->onDelete('cascade');\n            $table->timestamps();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('expense_categories');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2018_11_02_133956_create_expenses_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreateExpensesTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('expenses', function (Blueprint $table) {\n            $table->increments('id');\n            $table->date('expense_date');\n            $table->string('attachment_receipt')->nullable();\n            $table->unsignedBigInteger('amount');\n            $table->string('notes')->nullable();\n            $table->integer('expense_category_id')->unsigned();\n            $table->foreign('expense_category_id')->references('id')->on('expense_categories')->onDelete('cascade');\n            $table->integer('company_id')->unsigned()->nullable();\n            $table->foreign('company_id')->references('id')->on('companies')->onDelete('cascade');\n            $table->timestamps();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('expenses');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2019_08_30_072639_create_addresses_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreateAddressesTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('addresses', function (Blueprint $table) {\n            $table->bigIncrements('id');\n            $table->string('name')->nullable();\n            $table->string('address_street_1')->nullable();\n            $table->string('address_street_2')->nullable();\n            $table->string('city')->nullable();\n            $table->string('state')->nullable();\n            $table->integer('country_id')->unsigned()->nullable();\n            $table->foreign('country_id')->references('id')->on('countries');\n            $table->string('zip')->nullable();\n            $table->string('phone')->nullable();\n            $table->string('fax')->nullable();\n            $table->string('type')->nullable();\n            $table->integer('user_id')->unsigned();\n            $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');\n            $table->timestamps();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('addresses');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2019_09_02_053155_create_payment_methods_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreatePaymentMethodsTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        if (! Schema::hasTable('payment_methods')) {\n            Schema::create('payment_methods', function (Blueprint $table) {\n                $table->increments('id');\n                $table->string('name');\n                $table->integer('company_id')->unsigned()->nullable();\n                $table->foreign('company_id')->references('id')->on('companies')->onDelete('cascade');\n                $table->timestamps();\n            });\n        }\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('payment_methods');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2019_09_03_135234_create_payments_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreatePaymentsTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('payments', function (Blueprint $table) {\n            $table->bigIncrements('id');\n            $table->string('payment_number');\n            $table->date('payment_date');\n            $table->text('notes')->nullable();\n            $table->unsignedBigInteger('amount');\n            $table->string('unique_hash')->nullable();\n            $table->integer('user_id')->unsigned();\n            $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');\n            $table->integer('invoice_id')->unsigned()->nullable();\n            $table->foreign('invoice_id')->references('id')->on('invoices')->onDelete('cascade');\n            $table->integer('company_id')->unsigned()->nullable();\n            $table->foreign('company_id')->references('id')->on('companies')->onDelete('cascade');\n            $table->integer('payment_method_id')->unsigned()->nullable();\n            $table->foreign('payment_method_id')->references('id')->on('payment_methods')->onDelete('cascade');\n            $table->timestamps();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('payments');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2019_09_14_120124_create_media_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreateMediaTable extends Migration\n{\n    /**\n     * Run the migrations.\n     */\n    public function up()\n    {\n        Schema::create('media', function (Blueprint $table) {\n            $table->bigIncrements('id');\n            $table->morphs('model');\n            $table->string('collection_name');\n            $table->string('name');\n            $table->string('file_name');\n            $table->string('mime_type')->nullable();\n            $table->string('disk');\n            $table->unsignedInteger('size');\n            $table->text('manipulations');\n            $table->text('custom_properties');\n            $table->text('responsive_images');\n            $table->unsignedInteger('order_column')->nullable();\n            $table->nullableTimestamps();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     */\n    public function down()\n    {\n        Schema::dropIfExists('media');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2019_09_21_052540_create_tax_types_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreateTaxTypesTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('tax_types', function (Blueprint $table) {\n            $table->increments('id');\n            $table->string('name');\n            $table->decimal('percent', 5, 2);\n            $table->tinyInteger('compound_tax')->default(0);\n            $table->tinyInteger('collective_tax')->default(0);\n            $table->text('description')->nullable();\n            $table->integer('company_id')->unsigned()->nullable();\n            $table->foreign('company_id')->references('id')->on('companies');\n            $table->timestamps();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('tax_types');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2019_09_21_052548_create_taxes_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreateTaxesTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('taxes', function (Blueprint $table) {\n            $table->increments('id');\n            $table->integer('tax_type_id')->unsigned();\n            $table->foreign('tax_type_id')->references('id')->on('tax_types');\n            $table->integer('invoice_id')->unsigned()->nullable();\n            $table->foreign('invoice_id')->references('id')->on('invoices')->onDelete('cascade');\n            $table->integer('estimate_id')->unsigned()->nullable();\n            $table->foreign('estimate_id')->references('id')->on('estimates')->onDelete('cascade');\n            $table->integer('invoice_item_id')->unsigned()->nullable();\n            $table->foreign('invoice_item_id')->references('id')->on('invoice_items')->onDelete('cascade');\n            $table->integer('estimate_item_id')->unsigned()->nullable();\n            $table->foreign('estimate_item_id')->references('id')->on('estimate_items')->onDelete('cascade');\n            $table->integer('item_id')->unsigned()->nullable();\n            $table->foreign('item_id')->references('id')->on('items')->onDelete('cascade');\n            $table->integer('company_id')->unsigned()->nullable();\n            $table->foreign('company_id')->references('id')->on('companies');\n            $table->string('name');\n            $table->unsignedBigInteger('amount');\n            $table->decimal('percent', 5, 2);\n            $table->tinyInteger('compound_tax')->default(0);\n            $table->timestamps();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('taxes');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2019_09_26_145012_create_company_settings_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreateCompanySettingsTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('company_settings', function (Blueprint $table) {\n            $table->increments('id');\n            $table->string('option');\n            $table->string('value');\n            $table->integer('company_id')->unsigned()->nullable();\n            $table->foreign('company_id')->references('id')->on('companies');\n            $table->timestamps();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('company_settings');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2019_12_14_000001_create_personal_access_tokens_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreatePersonalAccessTokensTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('personal_access_tokens', function (Blueprint $table) {\n            $table->bigIncrements('id');\n            $table->morphs('tokenable');\n            $table->string('name');\n            $table->string('token', 64)->unique();\n            $table->text('abilities')->nullable();\n            $table->timestamp('last_used_at')->nullable();\n            $table->timestamps();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('personal_access_tokens');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_02_01_063235_create_custom_fields_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreateCustomFieldsTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('custom_fields', function (Blueprint $table) {\n            $table->bigIncrements('id');\n            $table->string('name');\n            $table->string('slug');\n            $table->string('label');\n            $table->string('model_type');\n            $table->string('type');\n            $table->string('placeholder')->nullable();\n            $table->json('options')->nullable();\n            $table->boolean('boolean_answer')->nullable();\n            $table->date('date_answer')->nullable();\n            $table->time('time_answer')->nullable();\n            $table->text('string_answer')->nullable();\n            $table->unsignedBigInteger('number_answer')->nullable();\n            $table->dateTime('date_time_answer')->nullable();\n            $table->boolean('is_required')->default(false);\n            $table->unsignedBigInteger('order')->default(1);\n            $table->integer('company_id')->unsigned();\n            $table->foreign('company_id')->references('id')->on('companies');\n            $table->timestamps();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('custom_fields');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_02_01_063509_create_custom_field_values_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreateCustomFieldValuesTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('custom_field_values', function (Blueprint $table) {\n            $table->bigIncrements('id');\n            $table->string('custom_field_valuable_type');\n            $table->unsignedInteger('custom_field_valuable_id');\n            $table->string('type');\n            $table->boolean('boolean_answer')->nullable();\n            $table->date('date_answer')->nullable();\n            $table->time('time_answer')->nullable();\n            $table->text('string_answer')->nullable();\n            $table->unsignedBigInteger('number_answer')->nullable();\n            $table->dateTime('date_time_answer')->nullable();\n            $table->unsignedBigInteger('custom_field_id');\n            $table->foreign('custom_field_id')->references('id')->on('custom_fields');\n            $table->integer('company_id')->unsigned();\n            $table->foreign('company_id')->references('id')->on('companies');\n            $table->timestamps();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('answers');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_05_12_154129_add_user_id_to_expenses_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AddUserIdToExpensesTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('expenses', function (Blueprint $table) {\n            $table->integer('user_id')->unsigned()->nullable();\n            $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('expenses', function (Blueprint $table) {\n            $table->dropColumn('paid');\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_09_07_103054_create_file_disks_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreateFileDisksTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('file_disks', function (Blueprint $table) {\n            $table->id();\n            $table->string('name');\n            $table->string('type')->default('REMOTE');\n            $table->string('driver');\n            $table->boolean('set_as_default')->default(false);\n            $table->json('credentials');\n            $table->timestamps();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('file_disks');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_09_22_153617_add_columns_to_media_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AddColumnsToMediaTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('media', function (Blueprint $table) {\n            $table->uuid('uuid')->nullable();\n            $table->string('conversions_disk')->nullable();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('media', function (Blueprint $table) {\n            $table->dropColumn('uuid');\n            $table->dropColumn('conversions_disk');\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_09_26_100951_create_user_settings_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreateUserSettingsTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('user_settings', function (Blueprint $table) {\n            $table->id();\n            $table->string('key');\n            $table->text('value');\n            $table->integer('user_id')->unsigned();\n            $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');\n            $table->timestamps();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('user_settings');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_10_01_102913_add_company_to_addresses_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AddCompanyToAddressesTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('addresses', function (Blueprint $table) {\n            $table->integer('user_id')->unsigned()->nullable()->change();\n            $table->unsignedInteger('company_id')->nullable();\n            $table->foreign('company_id')->references('id')->on('companies')->onDelete('cascade');\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('addresses', function (Blueprint $table) {\n            $table->dropForeign(['company_id']);\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_10_17_074745_create_notes_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreateNotesTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('notes', function (Blueprint $table) {\n            $table->id();\n            $table->string('type');\n            $table->string('name');\n            $table->text('notes');\n            $table->timestamps();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('notes');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_10_24_091934_change_value_column_to_text_on_company_settings_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass ChangeValueColumnToTextOnCompanySettingsTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('company_settings', function (Blueprint $table) {\n            $table->text('value')->change();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('company_settings', function (Blueprint $table) {\n            $table->string('value')->change();\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_11_23_050206_add_creator_in_invoices_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AddCreatorInInvoicesTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('invoices', function (Blueprint $table) {\n            $table->unsignedInteger('creator_id')->nullable();\n            $table->foreign('creator_id')->references('id')->on('users')->onDelete('cascade');\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('invoices', function (Blueprint $table) {\n            $table->dropForeign(['creator_id']);\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_11_23_050252_add_creator_in_estimates_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AddCreatorInEstimatesTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('estimates', function (Blueprint $table) {\n            $table->unsignedInteger('creator_id')->nullable();\n            $table->foreign('creator_id')->references('id')->on('users')->onDelete('cascade');\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('estimates', function (Blueprint $table) {\n            $table->dropForeign(['creator_id']);\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_11_23_050316_add_creator_in_payments_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AddCreatorInPaymentsTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('payments', function (Blueprint $table) {\n            $table->unsignedInteger('creator_id')->nullable();\n            $table->foreign('creator_id')->references('id')->on('users')->onDelete('cascade');\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('payments', function (Blueprint $table) {\n            $table->dropForeign(['creator_id']);\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_11_23_050333_add_creator_in_expenses_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AddCreatorInExpensesTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('expenses', function (Blueprint $table) {\n            $table->unsignedInteger('creator_id')->nullable();\n            $table->foreign('creator_id')->references('id')->on('users')->onDelete('cascade');\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('expenses', function (Blueprint $table) {\n            $table->dropForeign(['creator_id']);\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_11_23_050406_add_creator_in_items_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AddCreatorInItemsTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('items', function (Blueprint $table) {\n            $table->unsignedInteger('creator_id')->nullable();\n            $table->foreign('creator_id')->references('id')->on('users')->onDelete('cascade');\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('items', function (Blueprint $table) {\n            $table->dropForeign(['creator_id']);\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_11_23_065815_add_creator_in_users_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AddCreatorInUsersTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('users', function (Blueprint $table) {\n            $table->unsignedInteger('creator_id')->nullable();\n            $table->foreign('creator_id')->references('id')->on('users')->onDelete('cascade');\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('users', function (Blueprint $table) {\n            $table->dropForeign(['creator_id']);\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_11_23_074154_create_email_logs_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreateEmailLogsTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('email_logs', function (Blueprint $table) {\n            $table->id();\n            $table->string('from');\n            $table->string('to');\n            $table->string('subject');\n            $table->text('body');\n            $table->string('mailable_type');\n            $table->string('mailable_id');\n            $table->timestamps();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('email_logs');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_12_02_064933_update_crater_version_320.php",
    "content": "<?php\n\nuse Crater\\Models\\Setting;\nuse Illuminate\\Database\\Migrations\\Migration;\n\nclass UpdateCraterVersion320 extends Migration\n{\n    public const VERSION = '3.2.0';\n\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Setting::setSetting('version', static::VERSION);\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        //\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_12_02_090527_update_crater_version_400.php",
    "content": "<?php\n\nuse Crater\\Models\\Address;\nuse Crater\\Models\\CompanySetting;\nuse Crater\\Models\\Estimate;\nuse Crater\\Models\\Expense;\nuse Crater\\Models\\FileDisk;\nuse Crater\\Models\\Invoice;\nuse Crater\\Models\\Item;\nuse Crater\\Models\\Payment;\nuse Crater\\Models\\Setting;\nuse Crater\\Models\\User;\nuse Illuminate\\Database\\Migrations\\Migration;\n\nclass UpdateCraterVersion400 extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        // seed the file disk\n        $this->fileDiskSeed();\n\n        Setting::setSetting('version', '4.0.0');\n\n        $user = User::where('role', 'admin')->first();\n\n        if ($user && $user->role == 'admin') {\n            $user->update([\n                'role' => 'super admin',\n            ]);\n\n            // Update language\n            $user->setSettings(['language' => CompanySetting::getSetting('language', $user->company_id)]);\n\n            Address::where('user_id', $user->id)->update([\n                'company_id' => $user->company_id,\n                'user_id' => null\n            ]);\n\n            // Update company settings\n            $this->updateCompanySettings($user);\n\n            // Update Creator\n            $this->updateCreatorId($user);\n        }\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        //\n    }\n\n    private function fileDiskSeed()\n    {\n        $privateDisk = [\n            'root' => config('filesystems.disks.local.root'),\n            'driver' => 'local',\n        ];\n\n        $publicDisk = [\n            'driver' => 'local',\n            'root' => storage_path('app/public'),\n            'url' => env('APP_URL').'/storage',\n            'visibility' => 'public',\n        ];\n\n        FileDisk::create([\n            'credentials' => json_encode($publicDisk),\n            'name' => 'local_public',\n            'type' => 'SYSTEM',\n            'driver' => 'local',\n            'set_as_default' => false,\n        ]);\n\n        FileDisk::create([\n            'credentials' => json_encode($privateDisk),\n            'name' => 'local_private',\n            'type' => 'SYSTEM',\n            'driver' => 'local',\n            'set_as_default' => true,\n        ]);\n    }\n\n    private function updateCreatorId($user)\n    {\n        Invoice::where('company_id', '<>', null)->update(['creator_id' => $user->id]);\n        Estimate::where('company_id', '<>', null)->update(['creator_id' => $user->id]);\n        Expense::where('company_id', '<>', null)->update(['creator_id' => $user->id]);\n        Payment::where('company_id', '<>', null)->update(['creator_id' => $user->id]);\n        Item::where('company_id', '<>', null)->update(['creator_id' => $user->id]);\n        User::where('role', 'customer')->update(['creator_id' => $user->id]);\n    }\n\n    private function updateCompanySettings($user)\n    {\n        $defaultInvoiceEmailBody = 'You have received a new invoice from <b>{COMPANY_NAME}</b>.</br> Please download using the button below:';\n        $defaultEstimateEmailBody = 'You have received a new estimate from <b>{COMPANY_NAME}</b>.</br> Please download using the button below:';\n        $defaultPaymentEmailBody = 'Thank you for the payment.</b></br> Please download your payment receipt using the button below:';\n        $billingAddressFormat = '<h3>{BILLING_ADDRESS_NAME}</h3><p>{BILLING_ADDRESS_STREET_1}</p><p>{BILLING_ADDRESS_STREET_2}</p><p>{BILLING_CITY}  {BILLING_STATE}</p><p>{BILLING_COUNTRY}  {BILLING_ZIP_CODE}</p><p>{BILLING_PHONE}</p>';\n        $shippingAddressFormat = '<h3>{SHIPPING_ADDRESS_NAME}</h3><p>{SHIPPING_ADDRESS_STREET_1}</p><p>{SHIPPING_ADDRESS_STREET_2}</p><p>{SHIPPING_CITY}  {SHIPPING_STATE}</p><p>{SHIPPING_COUNTRY}  {SHIPPING_ZIP_CODE}</p><p>{SHIPPING_PHONE}</p>';\n        $companyAddressFormat = '<h3><strong>{COMPANY_NAME}</strong></h3><p>{COMPANY_ADDRESS_STREET_1}</p><p>{COMPANY_ADDRESS_STREET_2}</p><p>{COMPANY_CITY} {COMPANY_STATE}</p><p>{COMPANY_COUNTRY}  {COMPANY_ZIP_CODE}</p><p>{COMPANY_PHONE}</p>';\n        $paymentFromCustomerAddress = '<h3>{BILLING_ADDRESS_NAME}</h3><p>{BILLING_ADDRESS_STREET_1}</p><p>{BILLING_ADDRESS_STREET_2}</p><p>{BILLING_CITY} {BILLING_STATE} {BILLING_ZIP_CODE}</p><p>{BILLING_COUNTRY}</p><p>{BILLING_PHONE}</p>';\n\n        $settings = [\n            'invoice_auto_generate' => 'YES',\n            'payment_auto_generate' => 'YES',\n            'estimate_auto_generate' => 'YES',\n            'save_pdf_to_disk' => 'NO',\n            'invoice_mail_body' => $defaultInvoiceEmailBody,\n            'estimate_mail_body' => $defaultEstimateEmailBody,\n            'payment_mail_body' => $defaultPaymentEmailBody,\n            'invoice_company_address_format' => $companyAddressFormat,\n            'invoice_shipping_address_format' => $shippingAddressFormat,\n            'invoice_billing_address_format' => $billingAddressFormat,\n            'estimate_company_address_format' => $companyAddressFormat,\n            'estimate_shipping_address_format' => $shippingAddressFormat,\n            'estimate_billing_address_format' => $billingAddressFormat,\n            'payment_company_address_format' => $companyAddressFormat,\n            'payment_from_customer_address_format' => $paymentFromCustomerAddress,\n        ];\n\n        CompanySetting::setSettings($settings, $user->company_id);\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_12_08_065715_change_description_and_notes_column_type.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass ChangeDescriptionAndNotesColumnType extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('estimates', function (Blueprint $table) {\n            $table->text('notes')->nullable()->change();\n        });\n\n        Schema::table('expenses', function (Blueprint $table) {\n            $table->text('notes')->nullable()->change();\n        });\n\n        Schema::table('estimate_items', function (Blueprint $table) {\n            $table->text('description')->nullable()->change();\n        });\n\n        Schema::table('invoice_items', function (Blueprint $table) {\n            $table->text('description')->nullable()->change();\n        });\n\n        Schema::table('items', function (Blueprint $table) {\n            $table->text('description')->nullable()->change();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        //\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_12_08_133131_update_crater_version_401.php",
    "content": "<?php\n\nuse Crater\\Models\\Setting;\nuse Illuminate\\Database\\Migrations\\Migration;\n\nclass UpdateCraterVersion401 extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Setting::setSetting('version', '4.0.1');\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        //\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_12_14_044717_add_template_name_to_invoices_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AddTemplateNameToInvoicesTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('invoices', function (Blueprint $table) {\n            $table->string('template_name')->nullable();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('invoices', function (Blueprint $table) {\n            $table->dropColumn('template_name');\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_12_14_045310_add_template_name_to_estimates_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AddTemplateNameToEstimatesTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('estimates', function (Blueprint $table) {\n            $table->string('template_name')->nullable();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('estimates', function (Blueprint $table) {\n            $table->dropColumn('template_name');\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_12_14_051450_remove_template_id_from_invoices_and_estimates_table.php",
    "content": "<?php\n\nuse Crater\\Models\\Estimate;\nuse Crater\\Models\\Invoice;\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass RemoveTemplateIdFromInvoicesAndEstimatesTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        if (Schema::hasColumn('invoices', 'invoice_template_id')) {\n            $invoices = Invoice::all();\n\n            $invoices->map(function ($invoice) {\n                $invoice->template_name = 'invoice'.$invoice->invoice_template_id;\n                $invoice->save();\n            });\n\n            Schema::table('invoices', function (Blueprint $table) {\n                if (config('database.default') !== 'sqlite') {\n                    $table->dropForeign(['invoice_template_id']);\n                }\n                $table->dropColumn('invoice_template_id');\n            });\n        }\n\n        if (Schema::hasColumn('estimates', 'estimate_template_id')) {\n            $estimates = Estimate::all();\n\n            $estimates->map(function ($estimate) {\n                $estimate->template_name = 'estimate'.$estimate->estimate_template_id;\n                $estimate->save();\n            });\n\n            Schema::table('estimates', function (Blueprint $table) {\n                if (config('database.default') !== 'sqlite') {\n                    $table->dropForeign(['estimate_template_id']);\n                }\n                $table->dropColumn('estimate_template_id');\n            });\n        }\n\n        Schema::dropIfExists('invoice_templates');\n        Schema::dropIfExists('estimate_templates');\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        //\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_12_23_061302_update_crater_version_402.php",
    "content": "<?php\n\nuse Crater\\Models\\Setting;\nuse Illuminate\\Database\\Migrations\\Migration;\n\nclass UpdateCraterVersion402 extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Setting::setSetting('version', '4.0.2');\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        //\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_12_31_100816_update_crater_version_403.php",
    "content": "<?php\n\nuse Crater\\Models\\Setting;\nuse Illuminate\\Database\\Migrations\\Migration;\n\nclass UpdateCraterVersion403 extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Setting::setSetting('version', '4.0.3');\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        //\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_01_22_085644_update_crater_version_404.php",
    "content": "<?php\n\nuse Crater\\Models\\Setting;\nuse Illuminate\\Database\\Migrations\\Migration;\n\nclass UpdateCraterVersion404 extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Setting::setSetting('version', '4.0.4');\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        //\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_03_03_155223_add_unit_name_to_pdf.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AddUnitNameToPdf extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('invoice_items', function (Blueprint $table) {\n            $table->string('unit_name')->nullable()->after('quantity');\n        });\n        Schema::table('estimate_items', function (Blueprint $table) {\n            $table->string('unit_name')->nullable()->after('quantity');\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('invoice_items', function (Blueprint $table) {\n            $table->dropColumn('unit_name');\n        });\n        Schema::table('estimate_items', function (Blueprint $table) {\n            $table->dropColumn('unit_name');\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_03_23_145012_add_number_length_setting.php",
    "content": "<?php\n\nuse Crater\\Models\\CompanySetting;\nuse Crater\\Models\\User;\nuse Illuminate\\Database\\Migrations\\Migration;\n\nclass AddNumberLengthSetting extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        $user = User::where('role', 'super admin')->first();\n\n        if ($user) {\n            $invoice_number_length = CompanySetting::getSetting('invoice_number_length', $user->company_id);\n            if (empty($invoice_number_length)) {\n                CompanySetting::setSettings(['invoice_number_length' => '6'], $user->company_id);\n            }\n\n            $estimate_number_length = CompanySetting::getSetting('estimate_number_length', $user->company_id);\n            if (empty($estimate_number_length)) {\n                CompanySetting::setSettings(['estimate_number_length' => '6'], $user->company_id);\n            }\n\n            $payment_number_length = CompanySetting::getSetting('payment_number_length', $user->company_id);\n            if (empty($payment_number_length)) {\n                CompanySetting::setSettings(['payment_number_length' => '6'], $user->company_id);\n            }\n        }\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        //\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_05_05_063533_update_crater_version_410.php",
    "content": "<?php\n\nuse Crater\\Models\\Setting;\nuse Illuminate\\Database\\Migrations\\Migration;\n\nclass UpdateCraterVersion410 extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Setting::setSetting('version', '4.1.0');\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        //\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_06_19_121939_update_crater_version_420.php",
    "content": "<?php\n\nuse Crater\\Models\\Setting;\nuse Illuminate\\Database\\Migrations\\Migration;\n\nclass UpdateCraterVersion420 extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Setting::setSetting('version', '4.2.0');\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        //\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_06_28_105334_create_bouncer_tables.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\n\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\nuse Silber\\Bouncer\\Database\\Models;\n\nclass CreateBouncerTables extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        if (Schema::hasTable('role_has_permissions')) {\n            Schema::drop('role_has_permissions');\n        }\n\n        if (Schema::hasTable('model_has_roles')) {\n            Schema::drop('model_has_roles');\n        }\n\n        if (Schema::hasTable('model_has_permissions')) {\n            Schema::drop('model_has_permissions');\n        }\n\n        if (Schema::hasTable('permissions')) {\n            Schema::drop('permissions');\n        }\n\n        if (Schema::hasTable('roles')) {\n            Schema::drop('roles');\n        }\n\n        Schema::create(Models::table('abilities'), function (Blueprint $table) {\n            $table->bigIncrements('id');\n            $table->string('name');\n            $table->string('title')->nullable();\n            $table->bigInteger('entity_id')->unsigned()->nullable();\n            $table->string('entity_type')->nullable();\n            $table->boolean('only_owned')->default(false);\n            $table->json('options')->nullable();\n            $table->integer('scope')->nullable()->index();\n            $table->timestamps();\n        });\n\n        Schema::create(Models::table('roles'), function (Blueprint $table) {\n            $table->bigIncrements('id');\n            $table->string('name');\n            $table->string('title')->nullable();\n            $table->integer('level')->unsigned()->nullable();\n            $table->integer('scope')->nullable()->index();\n            $table->timestamps();\n\n            $table->unique(\n                ['name', 'scope'],\n                'roles_name_unique'\n            );\n        });\n\n        Schema::create(Models::table('assigned_roles'), function (Blueprint $table) {\n            $table->bigIncrements('id');\n            $table->bigInteger('role_id')->unsigned()->index();\n            $table->bigInteger('entity_id')->unsigned();\n            $table->string('entity_type');\n            $table->bigInteger('restricted_to_id')->unsigned()->nullable();\n            $table->string('restricted_to_type')->nullable();\n            $table->integer('scope')->nullable()->index();\n\n            $table->index(\n                ['entity_id', 'entity_type', 'scope'],\n                'assigned_roles_entity_index'\n            );\n\n            $table->foreign('role_id')\n                  ->references('id')->on(Models::table('roles'))\n                  ->onUpdate('cascade')->onDelete('cascade');\n        });\n\n        Schema::create(Models::table('permissions'), function (Blueprint $table) {\n            $table->bigIncrements('id');\n            $table->bigInteger('ability_id')->unsigned()->index();\n            $table->bigInteger('entity_id')->unsigned()->nullable();\n            $table->string('entity_type')->nullable();\n            $table->boolean('forbidden')->default(false);\n            $table->integer('scope')->nullable()->index();\n\n            $table->index(\n                ['entity_id', 'entity_type', 'scope'],\n                'permissions_entity_index'\n            );\n\n            $table->foreign('ability_id')\n                  ->references('id')->on(Models::table('abilities'))\n                  ->onUpdate('cascade')->onDelete('cascade');\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::drop(Models::table('permissions'));\n        Schema::drop(Models::table('assigned_roles'));\n        Schema::drop(Models::table('roles'));\n        Schema::drop(Models::table('abilities'));\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_06_28_111647_create_customers_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreateCustomersTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('customers', function (Blueprint $table) {\n            $table->id();\n            $table->string('name');\n            $table->string('email')->unique()->nullable();\n            $table->string('phone')->nullable();\n            $table->string('password')->nullable();\n            $table->rememberToken();\n            $table->string('facebook_id')->nullable();\n            $table->string('google_id')->nullable();\n            $table->string('github_id')->nullable();\n            $table->string('contact_name')->nullable();\n            $table->string('company_name')->nullable();\n            $table->string('website')->nullable();\n            $table->boolean('enable_portal')->nullable();\n            $table->integer('currency_id')->unsigned()->nullable();\n            $table->foreign('currency_id')->references('id')->on('currencies');\n            $table->integer('company_id')->unsigned()->nullable();\n            $table->foreign('company_id')->references('id')->on('companies');\n            $table->unsignedInteger('creator_id')->nullable();\n            $table->foreign('creator_id')->references('id')->on('users');\n            $table->timestamps();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('customers');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_06_28_120010_add_customer_id_to_estimates_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AddCustomerIdToEstimatesTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('estimates', function (Blueprint $table) {\n            $table->unsignedBigInteger('customer_id')->nullable();\n            $table->foreign('customer_id')->references('id')->on('customers');\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('estimates', function (Blueprint $table) {\n            if (config('database.default') !== 'sqlite') {\n                $table->dropForeign(['customer_id']);\n            }\n            $table->dropColumn('customer_id');\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_06_28_120133_add_customer_id_to_expenses_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AddCustomerIdToExpensesTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('expenses', function (Blueprint $table) {\n            $table->unsignedBigInteger('customer_id')->nullable();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('expenses', function (Blueprint $table) {\n            $table->dropColumn('customer_id');\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_06_28_120208_add_customer_id_to_invoices_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AddCustomerIdToInvoicesTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('invoices', function (Blueprint $table) {\n            $table->unsignedBigInteger('customer_id')->nullable();\n            $table->foreign('customer_id')->references('id')->on('customers');\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('invoices', function (Blueprint $table) {\n            if (config('database.default') !== 'sqlite') {\n                $table->dropForeign(['customer_id']);\n            }\n            $table->dropColumn('customer_id');\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_06_28_120231_add_customer_id_to_payments_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AddCustomerIdToPaymentsTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::disableForeignKeyConstraints();\n        Schema::table('payments', function (Blueprint $table) {\n            $table->unsignedInteger('user_id')->nullable()->change();\n            $table->unsignedBigInteger('customer_id')->nullable();\n            $table->foreign('customer_id')->references('id')->on('customers');\n        });\n        Schema::enableForeignKeyConstraints();\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('payments', function (Blueprint $table) {\n            if (config('database.default') !== 'sqlite') {\n                $table->dropForeign(['customer_id']);\n            }\n            $table->dropColumn('customer_id');\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_06_29_052745_add_customer_id_to_addresses_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AddCustomerIdToAddressesTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('addresses', function (Blueprint $table) {\n            $table->unsignedBigInteger('customer_id')->nullable();\n            $table->foreign('customer_id')->references('id')->on('customers');\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('addresses', function (Blueprint $table) {\n            if (config('database.default') !== 'sqlite') {\n                $table->dropForeign(['customer_id']);\n            }\n            $table->dropColumn('customer_id');\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_06_30_062411_update_customer_id_in_all_tables.php",
    "content": "<?php\n\nuse Crater\\Models\\Address;\nuse Crater\\Models\\Customer;\nuse Crater\\Models\\CustomField;\nuse Crater\\Models\\CustomFieldValue;\nuse Crater\\Models\\Estimate;\nuse Crater\\Models\\Expense;\nuse Crater\\Models\\Invoice;\nuse Crater\\Models\\Payment;\nuse Crater\\Models\\User;\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\nuse Illuminate\\Support\\Str;\n\nclass UpdateCustomerIdInAllTables extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        $users = User::where('role', 'customer')\n            ->get();\n\n        $users->makeVisible('password', 'remember_token');\n\n        if ($users) {\n            foreach ($users as $user) {\n                $newCustomer = Customer::create($user->toArray());\n\n                Address::where('user_id', $user->id)->update([\n                    'customer_id' => $newCustomer->id,\n                    'user_id' => null\n                ]);\n\n                Expense::where('user_id', $user->id)->update([\n                    'customer_id' => $newCustomer->id,\n                    'user_id' => null\n                ]);\n\n                Estimate::where('user_id', $user->id)->update([\n                    'customer_id' => $newCustomer->id,\n                    'user_id' => null\n                ]);\n\n                Invoice::where('user_id', $user->id)->update([\n                    'customer_id' => $newCustomer->id,\n                    'user_id' => null\n                ]);\n\n                Payment::where('user_id', $user->id)->update([\n                    'customer_id' => $newCustomer->id,\n                    'user_id' => null\n                ]);\n\n                CustomFieldValue::where('custom_field_valuable_id', $user->id)\n                    ->where('custom_field_valuable_type', 'Crater\\Models\\User')\n                    ->update([\n                        'custom_field_valuable_type' => 'Crater\\Models\\Customer',\n                        'custom_field_valuable_id' => $newCustomer->id\n                    ]);\n            }\n\n            $customFields = CustomField::where('model_type', 'User')->get();\n\n            if ($customFields) {\n                foreach ($customFields as $customField) {\n                    $customField->model_type = \"Customer\";\n                    $customField->slug = Str::upper('CUSTOM_'.$customField->model_type.'_'.Str::slug($customField->label, '_'));\n                    $customField->save();\n                }\n            }\n        }\n\n        Schema::table('estimates', function (Blueprint $table) {\n            if (config('database.default') !== 'sqlite') {\n                $table->dropForeign(['user_id']);\n            }\n            $table->dropColumn('user_id');\n        });\n\n        Schema::table('expenses', function (Blueprint $table) {\n            if (config('database.default') !== 'sqlite') {\n                $table->dropForeign(['user_id']);\n            }\n            $table->dropColumn('user_id');\n        });\n\n        Schema::table('invoices', function (Blueprint $table) {\n            if (config('database.default') !== 'sqlite') {\n                $table->dropForeign(['user_id']);\n            }\n            $table->dropColumn('user_id');\n        });\n\n        Schema::table('payments', function (Blueprint $table) {\n            if (config('database.default') !== 'sqlite') {\n                $table->dropForeign(['user_id']);\n            }\n            $table->dropColumn('user_id');\n        });\n\n        Schema::table('items', function (Blueprint $table) {\n            $table->dropColumn('unit');\n        });\n\n        $users = User::where('role', 'customer')\n            ->delete();\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        //\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_07_01_060700_create_user_company_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreateUserCompanyTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('user_company', function (Blueprint $table) {\n            $table->id();\n            $table->unsignedInteger('user_id')->nullable();\n            $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');\n            $table->unsignedInteger('company_id')->nullable();\n            $table->foreign('company_id')->references('id')->on('companies')->onDelete('cascade');\n            $table->timestamps();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('user_company');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_07_05_100256_change_relationship_of_company.php",
    "content": "<?php\n\nuse Crater\\Models\\User;\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass ChangeRelationshipOfCompany extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        $users = User::all();\n\n        if ($users) {\n            foreach ($users as $user) {\n                $user->companies()->attach($user->company_id);\n                $user->company_id = null;\n                $user->save();\n            }\n        }\n\n        Schema::table('users', function (Blueprint $table) {\n            if (config('database.default') !== 'sqlite') {\n                $table->dropForeign(['company_id']);\n            }\n            $table->dropColumn('company_id');\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        //\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_07_06_070204_add_owner_id_to_companies_table.php",
    "content": "<?php\n\nuse Crater\\Models\\Company;\nuse Crater\\Models\\User;\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\nuse Illuminate\\Support\\Str;\n\nclass AddOwnerIdToCompaniesTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('companies', function (Blueprint $table) {\n            $table->string('slug')->nullable();\n            $table->unsignedInteger('owner_id')->nullable();\n            $table->foreign('owner_id')->references('id')->on('users');\n        });\n\n        $user = User::where('role', 'super admin')->first();\n\n        $companies = Company::all();\n\n        if ($companies && $user) {\n            foreach ($companies as $company) {\n                $company->owner_id = $user->id;\n                $company->slug = Str::slug($company->name);\n                $company->save();\n\n                $company->setupRoles();\n                $user->assign('super admin');\n\n                $users = User::where('role', 'admin')->get();\n                $users->map(function ($user) {\n                    $user->assign('super admin');\n                });\n            }\n        }\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('companies', function (Blueprint $table) {\n            $table->dropColumn('slug');\n            $table->dropForeign(['owner_id']);\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_07_08_110940_add_company_to_notes_table.php",
    "content": "<?php\n\nuse Crater\\Models\\Note;\nuse Crater\\Models\\User;\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AddCompanyToNotesTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('notes', function (Blueprint $table) {\n            $table->unsignedInteger('company_id')->nullable();\n            $table->foreign('company_id')->references('id')->on('companies')->onDelete('cascade');\n        });\n\n        $user = User::where('role', 'super admin')->first();\n\n        if ($user) {\n            $notes = Note::where('company_id', null)->get();\n            $notes->map(function ($note) use ($user) {\n                $note->company_id = $user->companies()->first()->id;\n                $note->save();\n            });\n        }\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('notes', function (Blueprint $table) {\n            $table->dropForeign(['company_id']);\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_07_09_063502_create_recurring_invoices_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreateRecurringInvoicesTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('recurring_invoices', function (Blueprint $table) {\n            $table->id();\n            $table->dateTime('starts_at', $precision = 0);\n            $table->boolean('send_automatically')->default(false);\n            $table->unsignedBigInteger('customer_id')->nullable();\n            $table->foreign('customer_id')->references('id')->on('customers');\n            $table->integer('company_id')->unsigned()->nullable();\n            $table->foreign('company_id')->references('id')->on('companies');\n            $table->enum('status', ['COMPLETED', 'ON_HOLD', 'ACTIVE'])->default('ACTIVE');\n            $table->dateTime('next_invoice_at', $precision = 0)->nullable();\n            $table->unsignedInteger('creator_id')->nullable();\n            $table->foreign('creator_id')->references('id')->on('users');\n            $table->string('frequency');\n            $table->enum('limit_by', ['NONE', 'COUNT', 'DATE'])->default('NONE');\n            $table->integer('limit_count')->nullable();\n            $table->date('limit_date')->nullable();\n            $table->unsignedInteger('currency_id')->nullable();\n            $table->foreign('currency_id')->references('id')->on('currencies');\n            $table->decimal('exchange_rate', 19, 6)->nullable();\n            $table->string('tax_per_item');\n            $table->string('discount_per_item');\n            $table->text('notes')->nullable();\n            $table->string('discount_type')->nullable();\n            $table->decimal('discount', 15, 2)->nullable();\n            $table->unsignedBigInteger('discount_val')->nullable();\n            $table->unsignedBigInteger('sub_total');\n            $table->unsignedBigInteger('total');\n            $table->unsignedBigInteger('tax');\n            $table->string('template_name')->nullable();\n            $table->unsignedBigInteger('due_amount');\n            $table->timestamps();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('recurring_invoices');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_07_09_063712_add_recurring_invoice_id_to_invoices_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AddRecurringInvoiceIdToInvoicesTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('invoices', function (Blueprint $table) {\n            $table->unsignedBigInteger('recurring_invoice_id')->nullable();\n            $table->foreign('recurring_invoice_id')->references('id')->on('recurring_invoices');\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('invoices', function (Blueprint $table) {\n            $table->dropColumn('recurring_invoice_id');\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_07_09_063755_add_recurring_invoice_id_to_invoice_items_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AddRecurringInvoiceIdToInvoiceItemsTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('invoice_items', function (Blueprint $table) {\n            $table->integer('invoice_id')->unsigned()->nullable()->change();\n            $table->unsignedBigInteger('recurring_invoice_id')->nullable();\n            $table->foreign('recurring_invoice_id')->references('id')->on('recurring_invoices');\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('invoice_items', function (Blueprint $table) {\n            $table->dropColumn('recurring_invoice_id');\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_07_15_054753_make_due_date_optional_in_invoices_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass MakeDueDateOptionalInInvoicesTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('invoices', function (Blueprint $table) {\n            $table->date('due_date')->nullable()->change();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('invoices', function (Blueprint $table) {\n            //\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_07_15_054929_make_expiry_date_optional_estimates_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass MakeExpiryDateOptionalEstimatesTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('estimates', function (Blueprint $table) {\n            $table->date('expiry_date')->nullable()->change();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        //\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_07_16_072458_add_base_columns_into_invoices_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AddBaseColumnsIntoInvoicesTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('invoices', function (Blueprint $table) {\n            $table->decimal('exchange_rate', 19, 6)->nullable();\n            $table->unsignedBigInteger('base_discount_val')->nullable();\n            $table->unsignedBigInteger('base_sub_total')->nullable();\n            $table->unsignedBigInteger('base_total')->nullable();\n            $table->unsignedBigInteger('base_tax')->nullable();\n            $table->unsignedBigInteger('base_due_amount')->nullable();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('invoices', function (Blueprint $table) {\n            $table->dropColumn([\n                'base_discount_val',\n                'exchange_rate',\n                'base_sub_total',\n                'base_total',\n                'base_tax',\n                'base_due_amount'\n            ]);\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_07_16_072925_add_base_columns_into_invoice_items_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AddBaseColumnsIntoInvoiceItemsTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('invoice_items', function (Blueprint $table) {\n            $table->unsignedBigInteger('base_price')->nullable();\n            $table->decimal('exchange_rate', 19, 6)->nullable();\n            $table->unsignedBigInteger('base_discount_val')->nullable();\n            $table->unsignedBigInteger('base_tax')->nullable();\n            $table->unsignedBigInteger('base_total')->nullable();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('invoice_items', function (Blueprint $table) {\n            $table->dropColumn([\n                'base_price',\n                'exchange_rate',\n                'base_discount_val',\n                'base_tax',\n                'base_total'\n            ]);\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_07_16_073040_add_base_columns_into_estimates_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AddBaseColumnsIntoEstimatesTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('estimates', function (Blueprint $table) {\n            $table->decimal('exchange_rate', 19, 6)->nullable();\n            $table->unsignedBigInteger('base_discount_val')->nullable();\n            $table->unsignedBigInteger('base_sub_total')->nullable();\n            $table->unsignedBigInteger('base_total')->nullable();\n            $table->unsignedBigInteger('base_tax')->nullable();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('estimates', function (Blueprint $table) {\n            $table->dropColumn([\n                'exchange_rate',\n                'base_discount_val',\n                'base_sub_total',\n                'base_total',\n                'base_tax',\n            ]);\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_07_16_073441_add_base_columns_into_estimate_items_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AddBaseColumnsIntoEstimateItemsTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('estimate_items', function (Blueprint $table) {\n            $table->decimal('exchange_rate', 19, 6)->nullable();\n            $table->unsignedBigInteger('base_discount_val')->nullable();\n            $table->unsignedBigInteger('base_price')->nullable();\n            $table->unsignedBigInteger('base_tax')->nullable();\n            $table->unsignedBigInteger('base_total')->nullable();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('estimate_items', function (Blueprint $table) {\n            $table->dropColumn([\n                'exchange_rate',\n                'base_discount_val',\n                'base_price',\n                'base_tax',\n                'base_total'\n            ]);\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_07_16_074810_add_base_column_into_payments_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AddBaseColumnIntoPaymentsTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('payments', function (Blueprint $table) {\n            $table->decimal('exchange_rate', 19, 6)->nullable();\n            $table->unsignedBigInteger('base_amount')->nullable();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('payments', function (Blueprint $table) {\n            $table->dropColumn('base_amount');\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_07_16_075100_add_base_values_into_taxes_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AddBaseValuesIntoTaxesTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('taxes', function (Blueprint $table) {\n            $table->decimal('exchange_rate', 19, 6)->nullable();\n            $table->unsignedBigInteger('base_amount')->nullable();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('taxes', function (Blueprint $table) {\n            $table->dropColumn([\n                'exchange_rate',\n                'base_amount',\n            ]);\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_07_16_080253_add_currency_id_into_invoices_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AddCurrencyIdIntoInvoicesTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('invoices', function (Blueprint $table) {\n            $table->unsignedInteger('currency_id')->nullable();\n            $table->foreign('currency_id')->references('id')->on('currencies');\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('invoices', function (Blueprint $table) {\n            $table->dropColumn('currency_id');\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_07_16_080508_add_currency_id_into_payments_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AddCurrencyIdIntoPaymentsTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('payments', function (Blueprint $table) {\n            $table->unsignedInteger('currency_id')->nullable();\n            $table->foreign('currency_id')->references('id')->on('currencies');\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('payments', function (Blueprint $table) {\n            $table->dropColumn('currency_id');\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_07_16_080611_add_currency_id_into_items_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AddCurrencyIdIntoItemsTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('items', function (Blueprint $table) {\n            $table->unsignedInteger('currency_id')->nullable();\n            $table->foreign('currency_id')->references('id')->on('currencies');\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('items', function (Blueprint $table) {\n            $table->dropColumn('currency_id');\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_07_16_080702_add_currency_id_into_taxes_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AddCurrencyIdIntoTaxesTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('taxes', function (Blueprint $table) {\n            $table->unsignedInteger('currency_id')->nullable();\n            $table->foreign('currency_id')->references('id')->on('currencies');\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('taxes', function (Blueprint $table) {\n            $table->dropColumn('currency_id');\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_07_16_112429_add_currency_id_into_estimates_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AddCurrencyIdIntoEstimatesTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('estimates', function (Blueprint $table) {\n            $table->unsignedInteger('currency_id')->nullable();\n            $table->foreign('currency_id')->references('id')->on('currencies');\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('estimates', function (Blueprint $table) {\n            $table->dropColumn('currency_id');\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_08_05_103535_create_exchange_rate_logs_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreateExchangeRateLogsTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('exchange_rate_logs', function (Blueprint $table) {\n            $table->id();\n            $table->integer('company_id')->unsigned()->nullable();\n            $table->foreign('company_id')->references('id')->on('companies');\n            $table->unsignedInteger('base_currency_id')->nullable();\n            $table->foreign('base_currency_id')->references('id')->on('currencies');\n            $table->unsignedInteger('currency_id')->nullable();\n            $table->foreign('currency_id')->references('id')->on('currencies');\n            $table->decimal('exchange_rate', 19, 6)->nullable();\n            $table->timestamps();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('exchange_rates');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_08_16_091413_add_tax_per_item_into_items_table.php",
    "content": "<?php\n\nuse Crater\\Models\\Item;\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AddTaxPerItemIntoItemsTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('items', function (Blueprint $table) {\n            $table->boolean('tax_per_item')->default(false);\n        });\n\n        $items = Item::with('taxes')->get();\n\n        if ($items) {\n            foreach ($items as $item) {\n                if (! $item->taxes()->get()->isEmpty()) {\n                    $item->tax_per_item = true;\n                    $item->save();\n                }\n            }\n        }\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('items', function (Blueprint $table) {\n            $table->dropColumn('tax_per_item');\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_08_19_063244_add_base_columns_to_expense_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AddBaseColumnsToExpenseTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('expenses', function (Blueprint $table) {\n            $table->decimal('exchange_rate', 19, 6)->nullable();\n            $table->unsignedBigInteger('base_amount')->nullable();\n            $table->unsignedInteger('currency_id')->nullable();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('expenses', function (Blueprint $table) {\n            $table->dropColumn([\n                'exchange_rate',\n                'base_amount',\n                'currency_id',\n            ]);\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_09_28_081543_create_exchange_rate_providers_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreateExchangeRateProvidersTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('exchange_rate_providers', function (Blueprint $table) {\n            $table->id();\n            $table->string('driver');\n            $table->string('key');\n            $table->json('currencies')->nullable();\n            $table->json('driver_config')->nullable();\n            $table->boolean('active')->default(true);\n            $table->integer('company_id')->unsigned()->nullable();\n            $table->foreign('company_id')->references('id')->on('companies');\n            $table->timestamps();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('exchange_rate_providers');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_09_28_130822_add_sequence_column.php",
    "content": "<?php\n\nuse Crater\\Models\\Customer;\nuse Crater\\Models\\User;\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AddSequenceColumn extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('customers', function (Blueprint $table) {\n            $table->string('prefix')->nullable()->after('id');\n        });\n\n        Schema::table('invoices', function (Blueprint $table) {\n            $table->mediumInteger('sequence_number')->unsigned()->nullable()->after('id');\n            $table->mediumInteger('customer_sequence_number')->unsigned()->nullable()->after('sequence_number');\n        });\n\n        Schema::table('estimates', function (Blueprint $table) {\n            $table->mediumInteger('sequence_number')->unsigned()->nullable()->after('id');\n            $table->mediumInteger('customer_sequence_number')->unsigned()->nullable()->after('sequence_number');\n        });\n\n        Schema::table('payments', function (Blueprint $table) {\n            $table->mediumInteger('sequence_number')->unsigned()->nullable()->after('id');\n            $table->mediumInteger('customer_sequence_number')->unsigned()->nullable()->after('sequence_number');\n        });\n\n        $user = User::where('role', 'super admin')->first();\n\n        if ($user && $user->role == 'super admin') {\n            $customers = Customer::all();\n            foreach ($customers as $customer) {\n                $invoices = $customer->invoices;\n                if ($invoices) {\n                    $customerSequence = 1;\n                    $invoices->map(function ($invoice) use ($customerSequence) {\n                        $invoiceNumber = explode(\"-\", $invoice->invoice_number);\n                        $invoice->sequence_number = intval(end($invoiceNumber));\n                        $invoice->customer_sequence_number = $customerSequence;\n                        $invoice->save();\n                        $customerSequence += 1;\n                    });\n                }\n\n                $estimates = $customer->estimates;\n                if ($estimates) {\n                    $customerSequence = 1;\n                    $estimates->map(function ($estimate) use ($customerSequence) {\n                        $estimateNumber = explode(\"-\", $estimate->estimate_number);\n                        $estimate->sequence_number = intval(end($estimateNumber));\n                        $estimate->customer_sequence_number = $customerSequence;\n                        $estimate->save();\n                        $customerSequence += 1;\n                    });\n                }\n\n                $payments = $customer->payments;\n                if ($estimates) {\n                    $customerSequence = 1;\n                    $payments->map(function ($payment) use ($customerSequence) {\n                        $paymentNumber = explode(\"-\", $payment->payment_number);\n                        $payment->sequence_number = intval(end($paymentNumber));\n                        $payment->customer_sequence_number = $customerSequence;\n                        $payment->save();\n                        $customerSequence += 1;\n                    });\n                }\n            }\n        }\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('invoices', function (Blueprint $table) {\n            $table->dropColumn('sequence_number');\n            $table->dropColumn('customer_sequence_number');\n        });\n        Schema::table('estimates', function (Blueprint $table) {\n            $table->dropColumn('sequence_number');\n            $table->dropColumn('customer_sequence_number');\n        });\n        Schema::table('payments', function (Blueprint $table) {\n            $table->dropColumn('sequence_number');\n            $table->dropColumn('customer_sequence_number');\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_10_06_100539_add_recurring_invoice_id_to_taxes_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AddRecurringInvoiceIdToTaxesTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('taxes', function (Blueprint $table) {\n            $table->unsignedBigInteger('recurring_invoice_id')->nullable();\n            $table->foreign('recurring_invoice_id')->references('id')->on('recurring_invoices');\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('taxes', function (Blueprint $table) {\n            $table->dropColumn('recurring_invoice_id');\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_11_13_051127_add_payment_method_to_expense_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AddPaymentMethodToExpenseTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('expenses', function (Blueprint $table) {\n            $table->integer('payment_method_id')->unsigned()->nullable();\n            $table->foreign('payment_method_id')->references('id')->on('payment_methods');\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('expenses', function (Blueprint $table) {\n            $table->dropColumn('payment_method_id');\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_11_13_114808_calculate_base_values_for_existing_data.php",
    "content": "<?php\n\nuse Crater\\Models\\CompanySetting;\nuse Crater\\Models\\Customer;\nuse Crater\\Models\\Item;\nuse Crater\\Models\\User;\nuse Illuminate\\Database\\Migrations\\Migration;\n\nclass CalculateBaseValuesForExistingData extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        $user = User::where('role', 'super admin')->first();\n\n        if ($user) {\n            $companyId = $user->companies()->first()->id;\n\n            $currency_id = CompanySetting::getSetting('currency', $companyId);\n\n            $items = Item::all();\n\n            foreach ($items as $item) {\n                $item->currency_id = $currency_id;\n                $item->save();\n            }\n\n            $customers = Customer::all();\n\n            foreach ($customers as $customer) {\n                if ($customer->invoices()->exists()) {\n                    $customer->invoices->map(function ($invoice) use ($currency_id, $customer) {\n                        if ($customer->currency_id == $currency_id) {\n                            $invoice->update([\n                                'currency_id' => $currency_id,\n                                'exchange_rate' => 1,\n                                'base_discount_val' => $invoice->sub_total,\n                                'base_sub_total' => $invoice->sub_total,\n                                'base_total' => $invoice->total,\n                                'base_tax' => $invoice->tax,\n                                'base_due_amount' => $invoice->due_amount\n                            ]);\n                        } else {\n                            $invoice->update([\n                                'currency_id' => $customer->currency_id,\n                            ]);\n                        }\n                        $this->items($invoice);\n                    });\n                }\n\n                if ($customer->expenses()->exists()) {\n                    $customer->expenses->map(function ($expense) use ($currency_id) {\n                        $expense->update([\n                            'currency_id' => $currency_id,\n                            'exchange_rate' => 1,\n                            'base_amount' => $expense->amount,\n                        ]);\n                    });\n                }\n\n                if ($customer->estimates()->exists()) {\n                    $customer->estimates->map(function ($estimate) use ($currency_id, $customer) {\n                        if ($customer->currency_id == $currency_id) {\n                            $estimate->update([\n                                'currency_id' => $currency_id,\n                                'exchange_rate' => 1,\n                                'base_discount_val' => $estimate->sub_total,\n                                'base_sub_total' => $estimate->sub_total,\n                                'base_total' => $estimate->total,\n                                'base_tax' => $estimate->tax\n                            ]);\n                        } else {\n                            $estimate->update([\n                                'currency_id' => $customer->currency_id,\n                            ]);\n                        }\n                        $this->items($estimate);\n                    });\n                }\n\n                if ($customer->payments()->exists()) {\n                    $customer->payments->map(function ($payment) use ($currency_id, $customer) {\n                        if ($customer->currency_id == $currency_id) {\n                            $payment->update([\n                                'currency_id' => $currency_id,\n                                'base_amount' => $payment->amount,\n                                'exchange_rate' => 1\n                            ]);\n                        } else {\n                            $payment->update([\n                                'currency_id' => $customer->currency_id,\n                            ]);\n                        }\n                    });\n                }\n            }\n        }\n    }\n\n    public function items($model)\n    {\n        $model->items->map(function ($item) use ($model) {\n            $item->update([\n                'exchange_rate' => $model->exchange_rate,\n                'base_discount_val' => $item->discount_val * $model->exchange_rate,\n                'base_price' => $item->price * $model->exchange_rate,\n                'base_tax' => $item->tax * $model->exchange_rate,\n                'base_total' => $item->total * $model->exchange_rate\n            ]);\n\n            $this->taxes($item, $model->currency_id);\n        });\n\n        $this->taxes($model, $model->currency_id);\n    }\n\n    public function taxes($model, $currency_id)\n    {\n        if ($model->taxes()->exists()) {\n            $model->taxes->map(function ($tax) use ($model, $currency_id) {\n                $tax->update([\n                    'currency_id' => $currency_id,\n                    'exchange_rate' => $model->exchange_rate,\n                    'base_amount' => $tax->amount * $model->exchange_rate,\n                ]);\n            });\n        }\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        //\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_11_23_092111_add_new_company_settings.php",
    "content": "<?php\n\nuse Crater\\Models\\Company;\nuse Crater\\Models\\CompanySetting;\nuse Illuminate\\Database\\Migrations\\Migration;\n\nclass AddNewCompanySettings extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        $companies = Company::all();\n\n        if ($companies) {\n            $companies->map(function ($company) {\n                $settingsToRemove = [\n                    'invoice_number_length',\n                    'estimate_number_length',\n                    'payment_number_length',\n                    'invoice_prefix',\n                    'estimate_prefix',\n                    'payment_prefix',\n                ];\n\n                $oldSettings = CompanySetting::getSettings($settingsToRemove, $company->id);\n                $oldSettings = $oldSettings->toArray();\n\n                $settings = [\n                    'invoice_set_due_date_automatically' => 'YES',\n                    'invoice_due_date_days' => 7,\n                    'estimate_set_expiry_date_automatically' => 'YES',\n                    'estimate_expiry_date_days' => 7,\n                    'estimate_convert_action' => 'no_action',\n                    'bulk_exchange_rate_configured' => \"NO\",\n                    'invoice_number_format' => \"{{SERIES:{$oldSettings['invoice_prefix']}}}{{DELIMITER:-}}{{SEQUENCE:{$oldSettings['invoice_number_length']}}}\",\n                    'estimate_number_format' => \"{{SERIES:{$oldSettings['estimate_prefix']}}}{{DELIMITER:-}}{{SEQUENCE:{$oldSettings['estimate_number_length']}}}\",\n                    'payment_number_format' => \"{{SERIES:{$oldSettings['payment_prefix']}}}{{DELIMITER:-}}{{SEQUENCE:{$oldSettings['payment_number_length']}}}\",\n                ];\n\n                CompanySetting::whereIn('option', $settingsToRemove)->delete();\n\n                CompanySetting::setSettings($settings, $company->id);\n            });\n        }\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        //\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_11_23_093811_update_crater_version_500.php",
    "content": "<?php\n\nuse Crater\\Models\\Setting;\nuse Illuminate\\Database\\Migrations\\Migration;\n\nclass UpdateCraterVersion500 extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Setting::setSetting('version', '5.0.0');\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        //\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_12_01_120956_update_crater_version_501.php",
    "content": "<?php\n\nuse Crater\\Models\\Setting;\nuse Illuminate\\Database\\Migrations\\Migration;\n\nclass UpdateCraterVersion501 extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Setting::setSetting('version', '5.0.1');\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        //\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_12_02_063005_calculate_base_due_amount.php",
    "content": "<?php\n\nuse Crater\\Models\\Invoice;\nuse Illuminate\\Database\\Migrations\\Migration;\n\nclass CalculateBaseDueAmount extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        $invoices = Invoice::all();\n\n        foreach ($invoices as $invoice) {\n            if ($invoice->exchange_rate) {\n                $invoice->base_due_amount = $invoice->due_amount * $invoice->exchange_rate;\n                $invoice->save();\n            }\n        }\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        //\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_12_02_074516_migrate_templates_from_version_4.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Support\\Str;\n\nclass MigrateTemplatesFromVersion4 extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        $templates = Storage::disk('views')->files('/app/pdf/invoice');\n\n        foreach ($templates as $key => $template) {\n            $templateName = Str::before(basename($template), '.blade.php');\n            if (! file_exists(resource_path(\"/static/img/PDF/{$templateName}.png\"))) {\n                copy(public_path(\"/assets/img/PDF/{$templateName}.png\"), public_path(\"/build/img/PDF/{$templateName}.png\"));\n                copy(public_path(\"/assets/img/PDF/{$templateName}.png\"), resource_path(\"/static/img/PDF/{$templateName}.png\"));\n            }\n        }\n\n        $templates = Storage::disk('views')->files('/app/pdf/estimate');\n\n        foreach ($templates as $key => $template) {\n            $templateName = Str::before(basename($template), '.blade.php');\n            if (! file_exists(resource_path(\"/static/img/PDF/{$templateName}.png\"))) {\n                copy(public_path(\"/assets/img/PDF/{$templateName}.png\"), public_path(\"/build/img/PDF/{$templateName}.png\"));\n                copy(public_path(\"/assets/img/PDF/{$templateName}.png\"), resource_path(\"/static/img/PDF/{$templateName}.png\"));\n            }\n        }\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        //\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_12_02_123007_update_crater_version_502.php",
    "content": "<?php\n\nuse Crater\\Models\\Setting;\nuse Illuminate\\Database\\Migrations\\Migration;\n\nclass UpdateCraterVersion502 extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Setting::setSetting('version', '5.0.2');\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        //\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_12_03_154423_update_crater_version_503.php",
    "content": "<?php\n\nuse Crater\\Models\\Setting;\nuse Illuminate\\Database\\Migrations\\Migration;\n\nclass UpdateCraterVersion503 extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Setting::setSetting('version', '5.0.3');\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        //\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_12_04_122255_create_transactions_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreateTransactionsTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('transactions', function (Blueprint $table) {\n            $table->id();\n            $table->string('transaction_id')->nullable();\n            $table->string('unique_hash')->nullable();\n            $table->string('type')->nullable();\n            $table->string('status');\n            $table->dateTime('transaction_date');\n            $table->integer('company_id')->unsigned()->nullable();\n            $table->foreign('company_id')->references('id')->on('companies');\n            $table->unsignedInteger('invoice_id');\n            $table->foreign('invoice_id')->references('id')->on('invoices');\n            $table->timestamps();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('transactions');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_12_04_123315_add_transaction_id_to_payments_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AddTransactionIdToPaymentsTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('payments', function (Blueprint $table) {\n            $table->unsignedBigInteger('transaction_id')->nullable();\n            $table->foreign('transaction_id')->references('id')->on('transactions');\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('payments', function (Blueprint $table) {\n            $table->dropColumn('transaction_id');\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_12_04_123415_add_type_to_payment_methods_table.php",
    "content": "<?php\n\nuse Crater\\Models\\PaymentMethod;\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AddTypeToPaymentMethodsTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('payment_methods', function (Blueprint $table) {\n            $table->string('driver')->nullable();\n            $table->enum('type', ['GENERAL', 'MODULE'])->default(PaymentMethod::TYPE_GENERAL);\n            $table->json('settings')->nullable();\n            $table->boolean('active')->default(false);\n            $table->boolean('use_test_env')->default(false);\n        });\n\n        $paymentMethods = PaymentMethod::all();\n\n        if ($paymentMethods) {\n            foreach ($paymentMethods as $paymentMethod) {\n                $paymentMethod->type = PaymentMethod::TYPE_GENERAL;\n                $paymentMethod->save();\n            }\n        }\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('payment_methods', function (Blueprint $table) {\n            $table->dropColumn([\n                'driver',\n                'type',\n                'settings',\n                'active'\n            ]);\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_12_06_131201_update_crater_version_504.php",
    "content": "<?php\n\nuse Crater\\Models\\Setting;\nuse Illuminate\\Database\\Migrations\\Migration;\n\nclass UpdateCraterVersion504 extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Setting::setSetting('version', '5.0.4');\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        //\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_12_09_054033_calculate_base_values_for_expenses.php",
    "content": "<?php\n\nuse Crater\\Models\\CompanySetting;\nuse Crater\\Models\\Expense;\nuse Crater\\Models\\User;\nuse Illuminate\\Database\\Migrations\\Migration;\n\nclass CalculateBaseValuesForExpenses extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        $user = User::where('role', 'super admin')->first();\n        if ($user) {\n            $companyId = $user->companies()->first()->id;\n\n            $currency_id = CompanySetting::getSetting('currency', $companyId);\n\n            $expenses = Expense::where('company_id', $companyId)->where('currency_id', null)->get();\n            if ($expenses) {\n                $expenses->map(function ($expense) use ($currency_id) {\n                    $expense->update([\n                        'currency_id' => $currency_id,\n                        'exchange_rate' => 1,\n                        'base_amount' => $expense->amount,\n                    ]);\n                });\n            }\n        }\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        //\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_12_09_062434_update_crater_version_505.php",
    "content": "<?php\n\nuse Crater\\Models\\Setting;\nuse Illuminate\\Database\\Migrations\\Migration;\n\nclass UpdateCraterVersion505 extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Setting::setSetting('version', '5.0.5');\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        //\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_12_09_065718_drop_unique_email_on_customers_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass DropUniqueEmailOnCustomersTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('customers', function (Blueprint $table) {\n            $table->dropUnique(['email']);\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        //\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_12_10_121739_update_creater_version_506.php",
    "content": "<?php\n\nuse Crater\\Models\\Setting;\nuse Illuminate\\Database\\Migrations\\Migration;\n\nclass UpdateCreaterVersion506 extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Setting::setSetting('version', '5.0.6');\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        //\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_12_13_055813_calculate_base_amount_of_payments_table.php",
    "content": "<?php\n\nuse Crater\\Models\\Payment;\nuse Illuminate\\Database\\Migrations\\Migration;\n\nclass CalculateBaseAmountOfPaymentsTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        $payments = Payment::where('exchange_rate', '<>', null)->get();\n\n        if ($payments) {\n            foreach ($payments as $payment) {\n                $payment->base_amount = $payment->exchange_rate * $payment->amount;\n                $payment->save();\n            }\n        }\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        //\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_12_13_093701_add_fields_to_email_logs_table.php",
    "content": "<?php\n\nuse Crater\\Models\\Company;\nuse Crater\\Models\\CompanySetting;\nuse Crater\\Models\\User;\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AddFieldsToEmailLogsTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('email_logs', function (Blueprint $table) {\n            $table->string('token')->unique()->nullable();\n        });\n\n        $user = User::where('role', 'super admin')->first();\n\n        if ($user) {\n            $settings = [\n                'automatically_expire_public_links' => 'Yes',\n                'link_expiry_days' => 7\n            ];\n\n            $companies = Company::all();\n\n            foreach ($companies as $company) {\n                CompanySetting::setSettings($settings, $company->id);\n            }\n        }\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('email_logs', function (Blueprint $table) {\n            $table->dropColumn('token');\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_12_15_053223_create_modules_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreateModulesTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('modules', function (Blueprint $table) {\n            $table->id();\n            $table->string('name');\n            $table->string('version');\n            $table->boolean('installed')->default(false);\n            $table->boolean('enabled')->default(false);\n            $table->timestamps();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('modules');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_12_21_102521_change_enable_portal_field_of_customers_table.php",
    "content": "<?php\n\nuse Crater\\Models\\Customer;\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass ChangeEnablePortalFieldOfCustomersTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('customers', function (Blueprint $table) {\n            $table->boolean('enable_portal')->default(false)->change();\n        });\n\n        $customers = Customer::all();\n\n        if ($customers) {\n            $customers->map(function ($customer) {\n                $customer->enable_portal = false;\n                $customer->save();\n            });\n        }\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        //\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_12_31_042453_add_type_to_tax_types_table.php",
    "content": "<?php\n\nuse Crater\\Models\\TaxType;\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AddTypeToTaxTypesTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('tax_types', function (Blueprint $table) {\n            $table->enum('type', ['GENERAL', 'MODULE'])->default(TaxType::TYPE_GENERAL);\n        });\n\n        $taxTypes = TaxType::all();\n\n        if ($taxTypes) {\n            foreach ($taxTypes as $taxType) {\n                $taxType->type = TaxType::TYPE_GENERAL;\n                $taxType->save();\n            }\n        }\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('tax_types', function (Blueprint $table) {\n            $table->dropColumn('type');\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2022_01_05_101841_add_sales_tax_fields_to_invoices_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AddSalesTaxFieldsToInvoicesTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('invoices', function (Blueprint $table) {\n            $table->string('sales_tax_type')->nullable();\n            $table->string('sales_tax_address_type')->nullable();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('invoices', function (Blueprint $table) {\n            $table->dropColumn([\n                'sales_tax_type',\n                'sales_tax_address_type',\n            ]);\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2022_01_05_102538_add_sales_tax_fields_to_estimates_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AddSalesTaxFieldsToEstimatesTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('estimates', function (Blueprint $table) {\n            $table->string('sales_tax_type')->nullable();\n            $table->string('sales_tax_address_type')->nullable();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('estimates', function (Blueprint $table) {\n            $table->dropColumn([\n                'sales_tax_type',\n                'sales_tax_address_type',\n            ]);\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2022_01_05_103607_add_sales_tax_fields_to_recurring_invoices_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AddSalesTaxFieldsToRecurringInvoicesTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('recurring_invoices', function (Blueprint $table) {\n            $table->string('sales_tax_type')->nullable();\n            $table->string('sales_tax_address_type')->nullable();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('recurring_invoices', function (Blueprint $table) {\n            $table->dropColumn([\n                'sales_tax_type',\n                'sales_tax_address_type',\n            ]);\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2022_01_05_115423_update_crater_version_600.php",
    "content": "<?php\n\nuse Crater\\Models\\Setting;\nuse Illuminate\\Database\\Migrations\\Migration;\n\nclass UpdateCraterVersion600 extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Setting::setSetting('version', '6.0.0');\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        //\n    }\n}\n"
  },
  {
    "path": "database/migrations/2022_01_06_103536_add_slug_to_companies.php",
    "content": "<?php\n\nuse Crater\\Models\\Company;\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Support\\Str;\n\nclass AddSlugToCompanies extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        $companies = Company::where('slug', null)->get();\n\n        if ($companies) {\n            foreach ($companies as $company) {\n                $company->slug = Str::slug($company->name);\n                $company->save();\n            }\n        }\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        //\n    }\n}\n"
  },
  {
    "path": "database/migrations/2022_01_12_132859_update_crater_version_601.php",
    "content": "<?php\n\nuse Crater\\Models\\Setting;\nuse Illuminate\\Database\\Migrations\\Migration;\n\nclass UpdateCraterVersion601 extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Setting::setSetting('version', '6.0.1');\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        //\n    }\n}\n"
  },
  {
    "path": "database/migrations/2022_01_13_123829_update_crater_version_602.php",
    "content": "<?php\n\nuse Crater\\Models\\Setting;\nuse Illuminate\\Database\\Migrations\\Migration;\n\nclass UpdateCraterVersion602 extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Setting::setSetting('version', '6.0.2');\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        //\n    }\n}\n"
  },
  {
    "path": "database/migrations/2022_02_15_113648_update_crater_version_603.php",
    "content": "<?php\n\nuse Crater\\Models\\Setting;\nuse Illuminate\\Database\\Migrations\\Migration;\n\nclass UpdateCraterVersion603 extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Setting::setSetting('version', '6.0.3');\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        //\n    }\n}\n"
  },
  {
    "path": "database/migrations/2022_02_17_081723_update_crater_version_604.php",
    "content": "<?php\n\nuse Crater\\Models\\Setting;\nuse Illuminate\\Database\\Migrations\\Migration;\n\nclass UpdateCraterVersion604 extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Setting::setSetting('version', '6.0.4');\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        //\n    }\n}\n"
  },
  {
    "path": "database/migrations/2022_02_23_130108_update_value_column_to_nullable_on_settings_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass UpdateValueColumnToNullableOnSettingsTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('settings', function (Blueprint $table) {\n            $table->string('value')->nullable()->change();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        //\n    }\n}\n"
  },
  {
    "path": "database/migrations/2022_03_02_120210_add_overdue_to_invoices_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AddOverdueToInvoicesTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('invoices', function (Blueprint $table) {\n            $table->boolean('overdue')->default(false);\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('invoices', function (Blueprint $table) {\n            $table->dropForeign(['overdue']);\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2022_03_03_060121_crater_version_605.php",
    "content": "<?php\n\nuse Crater\\Models\\Setting;\nuse Illuminate\\Database\\Migrations\\Migration;\n\nclass CraterVersion605 extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Setting::setSetting('version', '6.0.5');\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        //\n    }\n}\n"
  },
  {
    "path": "database/migrations/2022_03_03_063237_change_over_due_status_to_sent.php",
    "content": "<?php\n\nuse Crater\\Models\\Invoice;\nuse Illuminate\\Database\\Migrations\\Migration;\n\nclass ChangeOverDueStatusToSent extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        $overdueInvoices = Invoice::where('status', 'OVERDUE')->get();\n\n        if ($overdueInvoices) {\n            $overdueInvoices->map(function ($overdueInvoice) {\n                $overdueInvoice->status = Invoice::STATUS_SENT;\n                $overdueInvoice->overdue = true;\n                $overdueInvoice->save();\n            });\n        }\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        //\n    }\n}\n"
  },
  {
    "path": "database/migrations/2022_03_04_051438_calculate_base_values_for_invoice_items.php",
    "content": "<?php\n\nuse Crater\\Models\\InvoiceItem;\nuse Crater\\Models\\Tax;\nuse Illuminate\\Database\\Migrations\\Migration;\n\nclass CalculateBaseValuesForInvoiceItems extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        $taxes = Tax::whereRelation('invoiceItem', 'base_amount', null)->get();\n\n        if ($taxes) {\n            $taxes->map(function ($tax) {\n                $invoiceItem = InvoiceItem::find($tax->invoice_item_id);\n                $exchange_rate = $invoiceItem->exchange_rate;\n                $tax->exchange_rate = $exchange_rate;\n                $tax->base_amount = $tax->amount * $exchange_rate;\n                $tax->save();\n            });\n        }\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        //\n    }\n}\n"
  },
  {
    "path": "database/migrations/2022_03_06_070829_update_crater_version_606.php",
    "content": "<?php\n\nuse Crater\\Models\\Setting;\nuse Illuminate\\Database\\Migrations\\Migration;\n\nclass UpdateCraterVersion606 extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Setting::setSetting('version', '6.0.6');\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        //\n    }\n}\n"
  },
  {
    "path": "database/seeders/CountriesTableSeeder.php",
    "content": "<?php\n\nnamespace Database\\Seeders;\n\nuse Illuminate\\Database\\Seeder;\nuse Illuminate\\Support\\Facades\\DB;\n\nclass CountriesTableSeeder extends Seeder\n{\n    /**\n    * Run the database seeds.\n    *\n    * @return void\n    */\n    public function run()\n    {\n        DB::table('countries')->delete();\n        $countries = [\n        ['id' => 1,'code' => 'AF' ,'name' => \"Afghanistan\",'phonecode' => 93],\n        ['id' => 2,'code' => 'AL' ,'name' => \"Albania\",'phonecode' => 355],\n        ['id' => 3,'code' => 'DZ' ,'name' => \"Algeria\",'phonecode' => 213],\n        ['id' => 4,'code' => 'AS' ,'name' => \"American Samoa\",'phonecode' => 1684],\n        ['id' => 5,'code' => 'AD' ,'name' => \"Andorra\",'phonecode' => 376],\n        ['id' => 6,'code' => 'AO' ,'name' => \"Angola\",'phonecode' => 244],\n        ['id' => 7,'code' => 'AI' ,'name' => \"Anguilla\",'phonecode' => 1264],\n        ['id' => 8,'code' => 'AQ' ,'name' => \"Antarctica\",'phonecode' => 0],\n        ['id' => 9,'code' => 'AG' ,'name' => \"Antigua And Barbuda\",'phonecode' => 1268],\n        ['id' => 10,'code' => 'AR','name' => \"Argentina\",'phonecode' => 54],\n        ['id' => 11,'code' => 'AM','name' => \"Armenia\",'phonecode' => 374],\n        ['id' => 12,'code' => 'AW','name' => \"Aruba\",'phonecode' => 297],\n        ['id' => 13,'code' => 'AU','name' => \"Australia\",'phonecode' => 61],\n        ['id' => 14,'code' => 'AT','name' => \"Austria\",'phonecode' => 43],\n        ['id' => 15,'code' => 'AZ','name' => \"Azerbaijan\",'phonecode' => 994],\n        ['id' => 16,'code' => 'BS','name' => \"Bahamas The\",'phonecode' => 1242],\n        ['id' => 17,'code' => 'BH','name' => \"Bahrain\",'phonecode' => 973],\n        ['id' => 18,'code' => 'BD','name' => \"Bangladesh\",'phonecode' => 880],\n        ['id' => 19,'code' => 'BB','name' => \"Barbados\",'phonecode' => 1246],\n        ['id' => 20,'code' => 'BY','name' => \"Belarus\",'phonecode' => 375],\n        ['id' => 21,'code' => 'BE','name' => \"Belgium\",'phonecode' => 32],\n        ['id' => 22,'code' => 'BZ','name' => \"Belize\",'phonecode' => 501],\n        ['id' => 23,'code' => 'BJ','name' => \"Benin\",'phonecode' => 229],\n        ['id' => 24,'code' => 'BM','name' => \"Bermuda\",'phonecode' => 1441],\n        ['id' => 25,'code' => 'BT','name' => \"Bhutan\",'phonecode' => 975],\n        ['id' => 26,'code' => 'BO','name' => \"Bolivia\",'phonecode' => 591],\n        ['id' => 27,'code' => 'BA','name' => \"Bosnia and Herzegovina\",'phonecode' => 387],\n        ['id' => 28,'code' => 'BW','name' => \"Botswana\",'phonecode' => 267],\n        ['id' => 29,'code' => 'BV','name' => \"Bouvet Island\",'phonecode' => 0],\n        ['id' => 30,'code' => 'BR','name' => \"Brazil\",'phonecode' => 55],\n        ['id' => 31,'code' => 'IO','name' => \"British Indian Ocean Territory\",'phonecode' => 246],\n        ['id' => 32,'code' => 'BN','name' => \"Brunei\",'phonecode' => 673],\n        ['id' => 33,'code' => 'BG','name' => \"Bulgaria\",'phonecode' => 359],\n        ['id' => 34,'code' => 'BF','name' => \"Burkina Faso\",'phonecode' => 226],\n        ['id' => 35,'code' => 'BI','name' => \"Burundi\",'phonecode' => 257],\n        ['id' => 36,'code' => 'KH','name' => \"Cambodia\",'phonecode' => 855],\n        ['id' => 37,'code' => 'CM','name' => \"Cameroon\",'phonecode' => 237],\n        ['id' => 38,'code' => 'CA','name' => \"Canada\",'phonecode' => 1],\n        ['id' => 39,'code' => 'CV','name' => \"Cape Verde\",'phonecode' => 238],\n        ['id' => 40,'code' => 'KY','name' => \"Cayman Islands\",'phonecode' => 1345],\n        ['id' => 41,'code' => 'CF','name' => \"Central African Republic\",'phonecode' => 236],\n        ['id' => 42,'code' => 'TD','name' => \"Chad\",'phonecode' => 235],\n        ['id' => 43,'code' => 'CL','name' => \"Chile\",'phonecode' => 56],\n        ['id' => 44,'code' => 'CN','name' => \"China\",'phonecode' => 86],\n        ['id' => 45,'code' => 'CX','name' => \"Christmas Island\",'phonecode' => 61],\n        ['id' => 46,'code' => 'CC','name' => \"Cocos (Keeling) Islands\",'phonecode' => 672],\n        ['id' => 47,'code' => 'CO','name' => \"Colombia\",'phonecode' => 57],\n        ['id' => 48,'code' => 'KM','name' => \"Comoros\",'phonecode' => 269],\n        ['id' => 49,'code' => 'CG','name' => \"Congo\",'phonecode' => 242],\n        ['id' => 50,'code' => 'CD','name' => \"Congo The Democratic Republic Of The\",'phonecode' => 242],\n        ['id' => 51,'code' => 'CK','name' => \"Cook Islands\",'phonecode' => 682],\n        ['id' => 52,'code' => 'CR','name' => \"Costa Rica\",'phonecode' => 506],\n        ['id' => 53,'code' => 'CI','name' => \"Cote D Ivoire (Ivory Coast)\",'phonecode' => 225],\n        ['id' => 54,'code' => 'HR','name' => \"Croatia (Hrvatska)\",'phonecode' => 385],\n        ['id' => 55,'code' => 'CU','name' => \"Cuba\",'phonecode' => 53],\n        ['id' => 56,'code' => 'CY','name' => \"Cyprus\",'phonecode' => 357],\n        ['id' => 57,'code' => 'CZ','name' => \"Czech Republic\",'phonecode' => 420],\n        ['id' => 58,'code' => 'DK','name' => \"Denmark\",'phonecode' => 45],\n        ['id' => 59,'code' => 'DJ','name' => \"Djibouti\",'phonecode' => 253],\n        ['id' => 60,'code' => 'DM','name' => \"Dominica\",'phonecode' => 1767],\n        ['id' => 61,'code' => 'DO','name' => \"Dominican Republic\",'phonecode' => 1809],\n        ['id' => 62,'code' => 'TP','name' => \"East Timor\",'phonecode' => 670],\n        ['id' => 63,'code' => 'EC','name' => \"Ecuador\",'phonecode' => 593],\n        ['id' => 64,'code' => 'EG','name' => \"Egypt\",'phonecode' => 20],\n        ['id' => 65,'code' => 'SV','name' => \"El Salvador\",'phonecode' => 503],\n        ['id' => 66,'code' => 'GQ','name' => \"Equatorial Guinea\",'phonecode' => 240],\n        ['id' => 67,'code' => 'ER','name' => \"Eritrea\",'phonecode' => 291],\n        ['id' => 68,'code' => 'EE','name' => \"Estonia\",'phonecode' => 372],\n        ['id' => 69,'code' => 'ET','name' => \"Ethiopia\",'phonecode' => 251],\n        ['id' => 70,'code' => 'XA','name' => \"External Territories of Australia\",'phonecode' => 61],\n        ['id' => 71,'code' => 'FK','name' => \"Falkland Islands\",'phonecode' => 500],\n        ['id' => 72,'code' => 'FO','name' => \"Faroe Islands\",'phonecode' => 298],\n        ['id' => 73,'code' => 'FJ','name' => \"Fiji Islands\",'phonecode' => 679],\n        ['id' => 74,'code' => 'FI','name' => \"Finland\",'phonecode' => 358],\n        ['id' => 75,'code' => 'FR','name' => \"France\",'phonecode' => 33],\n        ['id' => 76,'code' => 'GF','name' => \"French Guiana\",'phonecode' => 594],\n        ['id' => 77,'code' => 'PF','name' => \"French Polynesia\",'phonecode' => 689],\n        ['id' => 78,'code' => 'TF','name' => \"French Southern Territories\",'phonecode' => 0],\n        ['id' => 79,'code' => 'GA','name' => \"Gabon\",'phonecode' => 241],\n        ['id' => 80,'code' => 'GM','name' => \"Gambia The\",'phonecode' => 220],\n        ['id' => 81,'code' => 'GE','name' => \"Georgia\",'phonecode' => 995],\n        ['id' => 82,'code' => 'DE','name' => \"Germany\",'phonecode' => 49],\n        ['id' => 83,'code' => 'GH','name' => \"Ghana\",'phonecode' => 233],\n        ['id' => 84,'code' => 'GI','name' => \"Gibraltar\",'phonecode' => 350],\n        ['id' => 85,'code' => 'GR','name' => \"Greece\",'phonecode' => 30],\n        ['id' => 86,'code' => 'GL','name' => \"Greenland\",'phonecode' => 299],\n        ['id' => 87,'code' => 'GD','name' => \"Grenada\",'phonecode' => 1473],\n        ['id' => 88,'code' => 'GP','name' => \"Guadeloupe\",'phonecode' => 590],\n        ['id' => 89,'code' => 'GU','name' => \"Guam\",'phonecode' => 1671],\n        ['id' => 90,'code' => 'GT','name' => \"Guatemala\",'phonecode' => 502],\n        ['id' => 91,'code' => 'XU','name' => \"Guernsey and Alderney\",'phonecode' => 44],\n        ['id' => 92,'code' => 'GN','name' => \"Guinea\",'phonecode' => 224],\n        ['id' => 93,'code' => 'GW','name' => \"Guinea-Bissau\",'phonecode' => 245],\n        ['id' => 94,'code' => 'GY','name' => \"Guyana\",'phonecode' => 592],\n        ['id' => 95,'code' => 'HT','name' => \"Haiti\",'phonecode' => 509],\n        ['id' => 96,'code' => 'HM','name' => \"Heard and McDonald Islands\",'phonecode' => 0],\n        ['id' => 97,'code' => 'HN','name' => \"Honduras\",'phonecode' => 504],\n        ['id' => 98,'code' => 'HK','name' => \"Hong Kong S.A.R.\",'phonecode' => 852],\n        ['id' => 99,'code' => 'HU','name' => \"Hungary\",'phonecode' => 36],\n        ['id' => 100,'code' => 'IS','name' => \"Iceland\",'phonecode' => 354],\n        ['id' => 101,'code' => 'IN','name' => \"India\",'phonecode' => 91],\n        ['id' => 102,'code' => 'ID','name' => \"Indonesia\",'phonecode' => 62],\n        ['id' => 103,'code' => 'IR','name' => \"Iran\",'phonecode' => 98],\n        ['id' => 104,'code' => 'IQ','name' => \"Iraq\",'phonecode' => 964],\n        ['id' => 105,'code' => 'IE','name' => \"Ireland\",'phonecode' => 353],\n        ['id' => 106,'code' => 'IL','name' => \"Israel\",'phonecode' => 972],\n        ['id' => 107,'code' => 'IT','name' => \"Italy\",'phonecode' => 39],\n        ['id' => 108,'code' => 'JM','name' => \"Jamaica\",'phonecode' => 1876],\n        ['id' => 109,'code' => 'JP','name' => \"Japan\",'phonecode' => 81],\n        ['id' => 110,'code' => 'XJ','name' => \"Jersey\",'phonecode' => 44],\n        ['id' => 111,'code' => 'JO','name' => \"Jordan\",'phonecode' => 962],\n        ['id' => 112,'code' => 'KZ','name' => \"Kazakhstan\",'phonecode' => 7],\n        ['id' => 113,'code' => 'KE','name' => \"Kenya\",'phonecode' => 254],\n        ['id' => 114,'code' => 'KI','name' => \"Kiribati\",'phonecode' => 686],\n        ['id' => 115,'code' => 'KP','name' => \"Korea North\",'phonecode' => 850],\n        ['id' => 116,'code' => 'KR','name' => \"Korea South\",'phonecode' => 82],\n        ['id' => 117,'code' => 'KW','name' => \"Kuwait\",'phonecode' => 965],\n        ['id' => 118,'code' => 'KG','name' => \"Kyrgyzstan\",'phonecode' => 996],\n        ['id' => 119,'code' => 'LA','name' => \"Laos\",'phonecode' => 856],\n        ['id' => 120,'code' => 'LV','name' => \"Latvia\",'phonecode' => 371],\n        ['id' => 121,'code' => 'LB','name' => \"Lebanon\",'phonecode' => 961],\n        ['id' => 122,'code' => 'LS','name' => \"Lesotho\",'phonecode' => 266],\n        ['id' => 123,'code' => 'LR','name' => \"Liberia\",'phonecode' => 231],\n        ['id' => 124,'code' => 'LY','name' => \"Libya\",'phonecode' => 218],\n        ['id' => 125,'code' => 'LI','name' => \"Liechtenstein\",'phonecode' => 423],\n        ['id' => 126,'code' => 'LT','name' => \"Lithuania\",'phonecode' => 370],\n        ['id' => 127,'code' => 'LU','name' => \"Luxembourg\",'phonecode' => 352],\n        ['id' => 128,'code' => 'MO','name' => \"Macau S.A.R.\",'phonecode' => 853],\n        ['id' => 129,'code' => 'MK','name' => \"Macedonia\",'phonecode' => 389],\n        ['id' => 130,'code' => 'MG','name' => \"Madagascar\",'phonecode' => 261],\n        ['id' => 131,'code' => 'MW','name' => \"Malawi\",'phonecode' => 265],\n        ['id' => 132,'code' => 'MY','name' => \"Malaysia\",'phonecode' => 60],\n        ['id' => 133,'code' => 'MV','name' => \"Maldives\",'phonecode' => 960],\n        ['id' => 134,'code' => 'ML','name' => \"Mali\",'phonecode' => 223],\n        ['id' => 135,'code' => 'MT','name' => \"Malta\",'phonecode' => 356],\n        ['id' => 136,'code' => 'XM','name' => \"Man (Isle of)\",'phonecode' => 44],\n        ['id' => 137,'code' => 'MH','name' => \"Marshall Islands\",'phonecode' => 692],\n        ['id' => 138,'code' => 'MQ','name' => \"Martinique\",'phonecode' => 596],\n        ['id' => 139,'code' => 'MR','name' => \"Mauritania\",'phonecode' => 222],\n        ['id' => 140,'code' => 'MU','name' => \"Mauritius\",'phonecode' => 230],\n        ['id' => 141,'code' => 'YT','name' => \"Mayotte\",'phonecode' => 269],\n        ['id' => 142,'code' => 'MX','name' => \"Mexico\",'phonecode' => 52],\n        ['id' => 143,'code' => 'FM','name' => \"Micronesia\",'phonecode' => 691],\n        ['id' => 144,'code' => 'MD','name' => \"Moldova\",'phonecode' => 373],\n        ['id' => 145,'code' => 'MC','name' => \"Monaco\",'phonecode' => 377],\n        ['id' => 146,'code' => 'MN','name' => \"Mongolia\",'phonecode' => 976],\n        ['id' => 147,'code' => 'MS','name' => \"Montserrat\",'phonecode' => 1664],\n        ['id' => 148,'code' => 'MA','name' => \"Morocco\",'phonecode' => 212],\n        ['id' => 149,'code' => 'MZ','name' => \"Mozambique\",'phonecode' => 258],\n        ['id' => 150,'code' => 'MM','name' => \"Myanmar\",'phonecode' => 95],\n        ['id' => 151,'code' => 'NA','name' => \"Namibia\",'phonecode' => 264],\n        ['id' => 152,'code' => 'NR','name' => \"Nauru\",'phonecode' => 674],\n        ['id' => 153,'code' => 'NP','name' => \"Nepal\",'phonecode' => 977],\n        ['id' => 154,'code' => 'AN','name' => \"Netherlands Antilles\",'phonecode' => 599],\n        ['id' => 155,'code' => 'NL','name' => \"Netherlands\",'phonecode' => 31],\n        ['id' => 156,'code' => 'NC','name' => \"New Caledonia\",'phonecode' => 687],\n        ['id' => 157,'code' => 'NZ','name' => \"New Zealand\",'phonecode' => 64],\n        ['id' => 158,'code' => 'NI','name' => \"Nicaragua\",'phonecode' => 505],\n        ['id' => 159,'code' => 'NE','name' => \"Niger\",'phonecode' => 227],\n        ['id' => 160,'code' => 'NG','name' => \"Nigeria\",'phonecode' => 234],\n        ['id' => 161,'code' => 'NU','name' => \"Niue\",'phonecode' => 683],\n        ['id' => 162,'code' => 'NF','name' => \"Norfolk Island\",'phonecode' => 672],\n        ['id' => 163,'code' => 'MP','name' => \"Northern Mariana Islands\",'phonecode' => 1670],\n        ['id' => 164,'code' => 'NO','name' => \"Norway\",'phonecode' => 47],\n        ['id' => 165,'code' => 'OM','name' => \"Oman\",'phonecode' => 968],\n        ['id' => 166,'code' => 'PK','name' => \"Pakistan\",'phonecode' => 92],\n        ['id' => 167,'code' => 'PW','name' => \"Palau\",'phonecode' => 680],\n        ['id' => 168,'code' => 'PS','name' => \"Palestinian Territory Occupied\",'phonecode' => 970],\n        ['id' => 169,'code' => 'PA','name' => \"Panama\",'phonecode' => 507],\n        ['id' => 170,'code' => 'PG','name' => \"Papua new Guinea\",'phonecode' => 675],\n        ['id' => 171,'code' => 'PY','name' => \"Paraguay\",'phonecode' => 595],\n        ['id' => 172,'code' => 'PE','name' => \"Peru\",'phonecode' => 51],\n        ['id' => 173,'code' => 'PH','name' => \"Philippines\",'phonecode' => 63],\n        ['id' => 174,'code' => 'PN','name' => \"Pitcairn Island\",'phonecode' => 0],\n        ['id' => 175,'code' => 'PL','name' => \"Poland\",'phonecode' => 48],\n        ['id' => 176,'code' => 'PT','name' => \"Portugal\",'phonecode' => 351],\n        ['id' => 177,'code' => 'PR','name' => \"Puerto Rico\",'phonecode' => 1787],\n        ['id' => 178,'code' => 'QA','name' => \"Qatar\",'phonecode' => 974],\n        ['id' => 179,'code' => 'RE','name' => \"Reunion\",'phonecode' => 262],\n        ['id' => 180,'code' => 'RO','name' => \"Romania\",'phonecode' => 40],\n        ['id' => 181,'code' => 'RU','name' => \"Russia\",'phonecode' => 70],\n        ['id' => 182,'code' => 'RW','name' => \"Rwanda\",'phonecode' => 250],\n        ['id' => 183,'code' => 'SH','name' => \"Saint Helena\",'phonecode' => 290],\n        ['id' => 184,'code' => 'KN','name' => \"Saint Kitts And Nevis\",'phonecode' => 1869],\n        ['id' => 185,'code' => 'LC','name' => \"Saint Lucia\",'phonecode' => 1758],\n        ['id' => 186,'code' => 'PM','name' => \"Saint Pierre and Miquelon\",'phonecode' => 508],\n        ['id' => 187,'code' => 'VC','name' => \"Saint Vincent And The Grenadines\",'phonecode' => 1784],\n        ['id' => 188,'code' => 'WS','name' => \"Samoa\",'phonecode' => 684],\n        ['id' => 189,'code' => 'SM','name' => \"San Marino\",'phonecode' => 378],\n        ['id' => 190,'code' => 'ST','name' => \"Sao Tome and Principe\",'phonecode' => 239],\n        ['id' => 191,'code' => 'SA','name' => \"Saudi Arabia\",'phonecode' => 966],\n        ['id' => 192,'code' => 'SN','name' => \"Senegal\",'phonecode' => 221],\n        ['id' => 193,'code' => 'RS','name' => \"Serbia\",'phonecode' => 381],\n        ['id' => 194,'code' => 'SC','name' => \"Seychelles\",'phonecode' => 248],\n        ['id' => 195,'code' => 'SL','name' => \"Sierra Leone\",'phonecode' => 232],\n        ['id' => 196,'code' => 'SG','name' => \"Singapore\",'phonecode' => 65],\n        ['id' => 197,'code' => 'SK','name' => \"Slovakia\",'phonecode' => 421],\n        ['id' => 198,'code' => 'SI','name' => \"Slovenia\",'phonecode' => 386],\n        ['id' => 199,'code' => 'XG','name' => \"Smaller Territories of the UK\",'phonecode' => 44],\n        ['id' => 200,'code' => 'SB','name' => \"Solomon Islands\",'phonecode' => 677],\n        ['id' => 201,'code' => 'SO','name' => \"Somalia\",'phonecode' => 252],\n        ['id' => 202,'code' => 'ZA','name' => \"South Africa\",'phonecode' => 27],\n        ['id' => 203,'code' => 'GS','name' => \"South Georgia\",'phonecode' => 0],\n        ['id' => 204,'code' => 'SS','name' => \"South Sudan\",'phonecode' => 211],\n        ['id' => 205,'code' => 'ES','name' => \"Spain\",'phonecode' => 34],\n        ['id' => 206,'code' => 'LK','name' => \"Sri Lanka\",'phonecode' => 94],\n        ['id' => 207,'code' => 'SD','name' => \"Sudan\",'phonecode' => 249],\n        ['id' => 208,'code' => 'SR','name' => \"Suriname\",'phonecode' => 597],\n        ['id' => 209,'code' => 'SJ','name' => \"Svalbard And Jan Mayen Islands\",'phonecode' => 47],\n        ['id' => 210,'code' => 'SZ','name' => \"Swaziland\",'phonecode' => 268],\n        ['id' => 211,'code' => 'SE','name' => \"Sweden\",'phonecode' => 46],\n        ['id' => 212,'code' => 'CH','name' => \"Switzerland\",'phonecode' => 41],\n        ['id' => 213,'code' => 'SY','name' => \"Syria\",'phonecode' => 963],\n        ['id' => 214,'code' => 'TW','name' => \"Taiwan\",'phonecode' => 886],\n        ['id' => 215,'code' => 'TJ','name' => \"Tajikistan\",'phonecode' => 992],\n        ['id' => 216,'code' => 'TZ','name' => \"Tanzania\",'phonecode' => 255],\n        ['id' => 217,'code' => 'TH','name' => \"Thailand\",'phonecode' => 66],\n        ['id' => 218,'code' => 'TG','name' => \"Togo\",'phonecode' => 228],\n        ['id' => 219,'code' => 'TK','name' => \"Tokelau\",'phonecode' => 690],\n        ['id' => 220,'code' => 'TO','name' => \"Tonga\",'phonecode' => 676],\n        ['id' => 221,'code' => 'TT','name' => \"Trinidad And Tobago\",'phonecode' => 1868],\n        ['id' => 222,'code' => 'TN','name' => \"Tunisia\",'phonecode' => 216],\n        ['id' => 223,'code' => 'TR','name' => \"Turkey\",'phonecode' => 90],\n        ['id' => 224,'code' => 'TM','name' => \"Turkmenistan\",'phonecode' => 7370],\n        ['id' => 225,'code' => 'TC','name' => \"Turks And Caicos Islands\",'phonecode' => 1649],\n        ['id' => 226,'code' => 'TV','name' => \"Tuvalu\",'phonecode' => 688],\n        ['id' => 227,'code' => 'UG','name' => \"Uganda\",'phonecode' => 256],\n        ['id' => 228,'code' => 'UA','name' => \"Ukraine\",'phonecode' => 380],\n        ['id' => 229,'code' => 'AE','name' => \"United Arab Emirates\",'phonecode' => 971],\n        ['id' => 230,'code' => 'GB','name' => \"United Kingdom\",'phonecode' => 44],\n        ['id' => 231,'code' => 'US','name' => \"United States\",'phonecode' => 1],\n        ['id' => 232,'code' => 'UM','name' => \"United States Minor Outlying Islands\",'phonecode' => 1],\n        ['id' => 233,'code' => 'UY','name' => \"Uruguay\",'phonecode' => 598],\n        ['id' => 234,'code' => 'UZ','name' => \"Uzbekistan\",'phonecode' => 998],\n        ['id' => 235,'code' => 'VU','name' => \"Vanuatu\",'phonecode' => 678],\n        ['id' => 236,'code' => 'VA','name' => \"Vatican City State (Holy See)\",'phonecode' => 39],\n        ['id' => 237,'code' => 'VE','name' => \"Venezuela\",'phonecode' => 58],\n        ['id' => 238,'code' => 'VN','name' => \"Vietnam\",'phonecode' => 84],\n        ['id' => 239,'code' => 'VG','name' => \"Virgin Islands (British)\",'phonecode' => 1284],\n        ['id' => 240,'code' => 'VI','name' => \"Virgin Islands (US)\",'phonecode' => 1340],\n        ['id' => 241,'code' => 'WF','name' => \"Wallis And Futuna Islands\",'phonecode' => 681],\n        ['id' => 242,'code' => 'EH','name' => \"Western Sahara\",'phonecode' => 212],\n        ['id' => 243,'code' => 'YE','name' => \"Yemen\",'phonecode' => 967],\n        ['id' => 244,'code' => 'YU','name' => \"Yugoslavia\",'phonecode' => 38],\n        ['id' => 245,'code' => 'ZM','name' => \"Zambia\",'phonecode' => 260],\n        ['id' => 246,'code' => 'ZW','name' => \"Zimbabwe\",'phonecode' => 263],\n        ];\n        DB::table('countries')->insert($countries);\n    }\n}\n"
  },
  {
    "path": "database/seeders/CurrenciesTableSeeder.php",
    "content": "<?php\n\nnamespace Database\\Seeders;\n\nuse Crater\\Models\\Currency;\nuse Illuminate\\Database\\Seeder;\n\nclass CurrenciesTableSeeder extends Seeder\n{\n    /**\n     * Run the database seeds.\n     *\n     * @return void\n     */\n    public function run()\n    {\n        $currencies = [\n            [\n                'name' => 'US Dollar',\n                'code' => 'USD',\n                'symbol' => '$',\n                'precision' => '2',\n                'thousand_separator' => ',',\n                'decimal_separator' => '.',\n            ],\n            [\n                'name' => 'British Pound',\n                'code' => 'GBP',\n                'symbol' => '£',\n                'precision' => '2',\n                'thousand_separator' => ',',\n                'decimal_separator' => '.',\n            ],\n            [\n                'name' => 'Euro',\n                'code' => 'EUR',\n                'symbol' => '€',\n                'precision' => '2',\n                'thousand_separator' => '.',\n                'decimal_separator' => ',',\n                'swap_currency_symbol' => true,\n            ],\n            [\n                'name' => 'South African Rand',\n                'code' => 'ZAR',\n                'symbol' => 'R',\n                'precision' => '2',\n                'thousand_separator' => '.',\n                'decimal_separator' => ',',\n            ],\n            [\n                'name' => 'Danish Krone',\n                'code' => 'DKK',\n                'symbol' => 'kr',\n                'precision' => '2',\n                'thousand_separator' => '.',\n                'decimal_separator' => ',',\n                'swap_currency_symbol' => true,\n            ],\n            [\n                'name' => 'Israeli Shekel',\n                'code' => 'ILS',\n                'symbol' => 'NIS ',\n                'precision' => '2',\n                'thousand_separator' => ',',\n                'decimal_separator' => '.',\n            ],\n            [\n                'name' => 'Swedish Krona',\n                'code' => 'SEK',\n                'symbol' => 'kr',\n                'precision' => '2',\n                'thousand_separator' => '.',\n                'decimal_separator' => ',',\n                'swap_currency_symbol' => true,\n            ],\n            [\n                'name' => 'Kenyan Shilling',\n                'code' => 'KES',\n                'symbol' => 'KSh ',\n                'precision' => '2',\n                'thousand_separator' => ',',\n                'decimal_separator' => '.',\n            ],\n            [\n                'name' => 'Kuwaiti Dinar',\n                'code' => 'KWD',\n                'symbol' => 'KWD ',\n                'precision' => '3',\n                'thousand_separator' => ',',\n                'decimal_separator' => '.',\n            ],\n            [\n                'name' => 'Canadian Dollar',\n                'code' => 'CAD',\n                'symbol' => 'C$',\n                'precision' => '2',\n                'thousand_separator' => ',',\n                'decimal_separator' => '.',\n            ],\n            [\n                'name' => 'Philippine Peso',\n                'code' => 'PHP',\n                'symbol' => 'P ',\n                'precision' => '2',\n                'thousand_separator' => ',',\n                'decimal_separator' => '.',\n            ],\n            [\n                'name' => 'Nepali Rupee',\n                'code' => 'NPR',\n                'symbol' => 'रू',\n                'precision' => '2',\n                'thousand_separator' => ',',\n                'decimal_separator' => '.',\n            ],\n            [\n                'name' => 'Indian Rupee',\n                'code' => 'INR',\n                'symbol' => '₹',\n                'precision' => '2',\n                'thousand_separator' => ',',\n                'decimal_separator' => '.',\n            ],\n            [\n                'name' => 'Australian Dollar',\n                'code' => 'AUD',\n                'symbol' => '$',\n                'precision' => '2',\n                'thousand_separator' => ',',\n                'decimal_separator' => '.',\n            ],\n            [\n                'name' => 'Singapore Dollar',\n                'code' => 'SGD',\n                'symbol' => 'S$',\n                'precision' => '2',\n                'thousand_separator' => ',',\n                'decimal_separator' => '.',\n            ],\n            [\n                'name' => 'Norske Kroner',\n                'code' => 'NOK',\n                'symbol' => 'kr',\n                'precision' => '2',\n                'thousand_separator' => '.',\n                'decimal_separator' => ',',\n                'swap_currency_symbol' => true,\n            ],\n            [\n                'name' => 'New Zealand Dollar',\n                'code' => 'NZD',\n                'symbol' => '$',\n                'precision' => '2',\n                'thousand_separator' => ',',\n                'decimal_separator' => '.',\n            ],\n            [\n                'name' => 'Vietnamese Dong',\n                'code' => 'VND',\n                'symbol' => '₫',\n                'precision' => '0',\n                'thousand_separator' => '.',\n                'decimal_separator' => ',',\n            ],\n            [\n                'name' => 'Swiss Franc',\n                'code' => 'CHF',\n                'symbol' => 'Fr.',\n                'precision' => '2',\n                'thousand_separator' => '\\'',\n                'decimal_separator' => '.',\n            ],\n            [\n                'name' => 'Guatemalan Quetzal',\n                'code' => 'GTQ',\n                'symbol' => 'Q',\n                'precision' => '2',\n                'thousand_separator' => ',',\n                'decimal_separator' => '.',\n            ],\n            [\n                'name' => 'Malaysian Ringgit',\n                'code' => 'MYR',\n                'symbol' => 'RM',\n                'precision' => '2',\n                'thousand_separator' => ',',\n                'decimal_separator' => '.',\n            ],\n            [\n                'name' => 'Brazilian Real',\n                'code' => 'BRL',\n                'symbol' => 'R$',\n                'precision' => '2',\n                'thousand_separator' => '.',\n                'decimal_separator' => ',',\n            ],\n            [\n                'name' => 'Thai Baht',\n                'code' => 'THB',\n                'symbol' => '฿',\n                'precision' => '2',\n                'thousand_separator' => ',',\n                'decimal_separator' => '.',\n            ],\n            [\n                'name' => 'Nigerian Naira',\n                'code' => 'NGN',\n                'symbol' => '₦',\n                'precision' => '2',\n                'thousand_separator' => ',',\n                'decimal_separator' => '.',\n            ],\n            [\n                'name' => 'Argentine Peso',\n                'code' => 'ARS',\n                'symbol' => '$',\n                'precision' => '2',\n                'thousand_separator' => '.',\n                'decimal_separator' => ',',\n            ],\n            [\n                'name' => 'Bangladeshi Taka',\n                'code' => 'BDT',\n                'symbol' => 'Tk',\n                'precision' => '2',\n                'thousand_separator' => ',',\n                'decimal_separator' => '.',\n            ],\n            [\n                'name' => 'United Arab Emirates Dirham',\n                'code' => 'AED',\n                'symbol' => 'DH ',\n                'precision' => '2',\n                'thousand_separator' => ',',\n                'decimal_separator' => '.',\n            ],\n            [\n                'name' => 'Hong Kong Dollar',\n                'code' => 'HKD',\n                'symbol' => 'HK$',\n                'precision' => '2',\n                'thousand_separator' => ',',\n                'decimal_separator' => '.',\n            ],\n            [\n                'name' => 'Indonesian Rupiah',\n                'code' => 'IDR',\n                'symbol' => 'Rp',\n                'precision' => '2',\n                'thousand_separator' => ',',\n                'decimal_separator' => '.',\n            ],\n            [\n                'name' => 'Mexican Peso',\n                'code' => 'MXN',\n                'symbol' => '$',\n                'precision' => '2',\n                'thousand_separator' => ',',\n                'decimal_separator' => '.',\n            ],\n            [\n                'name' => 'Egyptian Pound',\n                'code' => 'EGP',\n                'symbol' => 'E£',\n                'precision' => '2',\n                'thousand_separator' => ',',\n                'decimal_separator' => '.',\n            ],\n            [\n                'name' => 'Colombian Peso',\n                'code' => 'COP',\n                'symbol' => '$',\n                'precision' => '2',\n                'thousand_separator' => '.',\n                'decimal_separator' => ',',\n            ],\n            [\n                'name' => 'Central African Franc',\n                'code' => 'XAF',\n                'symbol' => 'CFA ',\n                'precision' => '2',\n                'thousand_separator' => ',',\n                'decimal_separator' => '.',\n            ],\n            [\n                'name' => 'West African Franc',\n                'code' => 'XOF',\n                'symbol' => 'CFA ',\n                'precision' => '2',\n                'thousand_separator' => ',',\n                'decimal_separator' => '.',\n            ],\n            [\n                'name' => 'Chinese Renminbi',\n                'code' => 'CNY',\n                'symbol' => 'RMB ',\n                'precision' => '2',\n                'thousand_separator' => ',',\n                'decimal_separator' => '.',\n            ],\n            [\n                'name' => 'Rwandan Franc',\n                'code' => 'RWF',\n                'symbol' => 'RF ',\n                'precision' => '2',\n                'thousand_separator' => ',',\n                'decimal_separator' => '.',\n            ],\n            [\n                'name' => 'Tanzanian Shilling',\n                'code' => 'TZS',\n                'symbol' => 'TSh ',\n                'precision' => '2',\n                'thousand_separator' => ',',\n                'decimal_separator' => '.',\n            ],\n            [\n                'name' => 'Netherlands Antillean Guilder',\n                'code' => 'ANG',\n                'symbol' => 'NAƒ',\n                'precision' => '2',\n                'thousand_separator' => '.',\n                'decimal_separator' => ',',\n            ],\n            [\n                'name' => 'Trinidad and Tobago Dollar',\n                'code' => 'TTD',\n                'symbol' => 'TT$',\n                'precision' => '2',\n                'thousand_separator' => ',',\n                'decimal_separator' => '.',\n            ],\n            [\n                'name' => 'East Caribbean Dollar',\n                'code' => 'XCD',\n                'symbol' => 'EC$',\n                'precision' => '2',\n                'thousand_separator' => ',',\n                'decimal_separator' => '.',\n            ],\n            [\n                'name' => 'Ghanaian Cedi',\n                'code' => 'GHS',\n                'symbol' => '‎GH₵',\n                'precision' => '2',\n                'thousand_separator' => ',',\n                'decimal_separator' => '.',\n            ],\n            [\n                'name' => 'Bulgarian Lev',\n                'code' => 'BGN',\n                'symbol' => 'Лв.',\n                'precision' => '2',\n                'thousand_separator' => ' ',\n                'decimal_separator' => '.',\n            ],\n            [\n                'name' => 'Aruban Florin',\n                'code' => 'AWG',\n                'symbol' => 'Afl. ',\n                'precision' => '2',\n                'thousand_separator' => ' ',\n                'decimal_separator' => '.',\n            ],\n            [\n                'name' => 'Turkish Lira',\n                'code' => 'TRY',\n                'symbol' => 'TL ',\n                'precision' => '2',\n                'thousand_separator' => '.',\n                'decimal_separator' => ',',\n            ],\n            [\n                'name' => 'Romanian New Leu',\n                'code' => 'RON',\n                'symbol' => 'RON',\n                'precision' => '2',\n                'thousand_separator' => ',',\n                'decimal_separator' => '.',\n            ],\n            [\n                'name' => 'Croatian Kuna',\n                'code' => 'HRK',\n                'symbol' => 'kn',\n                'precision' => '2',\n                'thousand_separator' => '.',\n                'decimal_separator' => ',',\n            ],\n            [\n                'name' => 'Saudi Riyal',\n                'code' => 'SAR',\n                'symbol' => '‎SِAR',\n                'precision' => '2',\n                'thousand_separator' => ',',\n                'decimal_separator' => '.',\n            ],\n            [\n                'name' => 'Japanese Yen',\n                'code' => 'JPY',\n                'symbol' => '¥',\n                'precision' => '0',\n                'thousand_separator' => ',',\n                'decimal_separator' => '.',\n            ],\n            [\n                'name' => 'Maldivian Rufiyaa',\n                'code' => 'MVR',\n                'symbol' => 'Rf',\n                'precision' => '2',\n                'thousand_separator' => ',',\n                'decimal_separator' => '.',\n            ],\n            [\n                'name' => 'Costa Rican Colón',\n                'code' => 'CRC',\n                'symbol' => '₡',\n                'precision' => '2',\n                'thousand_separator' => ',',\n                'decimal_separator' => '.',\n            ],\n            [\n                'name' => 'Pakistani Rupee',\n                'code' => 'PKR',\n                'symbol' => 'Rs ',\n                'precision' => '0',\n                'thousand_separator' => ',',\n                'decimal_separator' => '.',\n            ],\n            [\n                'name' => 'Polish Zloty',\n                'code' => 'PLN',\n                'symbol' => 'zł',\n                'precision' => '2',\n                'thousand_separator' => ' ',\n                'decimal_separator' => ',',\n                'swap_currency_symbol' => true,\n            ],\n            [\n                'name' => 'Sri Lankan Rupee',\n                'code' => 'LKR',\n                'symbol' => 'LKR',\n                'precision' => '2',\n                'thousand_separator' => ',',\n                'decimal_separator' => '.',\n                'swap_currency_symbol' => true,\n            ],\n            [\n                'name' => 'Czech Koruna',\n                'code' => 'CZK',\n                'symbol' => 'Kč',\n                'precision' => '2',\n                'thousand_separator' => ' ',\n                'decimal_separator' => ',',\n                'swap_currency_symbol' => true,\n            ],\n            [\n                'name' => 'Uruguayan Peso',\n                'code' => 'UYU',\n                'symbol' => '$',\n                'precision' => '2',\n                'thousand_separator' => '.',\n                'decimal_separator' => ',',\n            ],\n            [\n                'name' => 'Namibian Dollar',\n                'code' => 'NAD',\n                'symbol' => '$',\n                'precision' => '2',\n                'thousand_separator' => ',',\n                'decimal_separator' => '.',\n            ],\n            [\n                'name' => 'Tunisian Dinar',\n                'code' => 'TND',\n                'symbol' => '‎د.ت',\n                'precision' => '2',\n                'thousand_separator' => ',',\n                'decimal_separator' => '.',\n            ],\n            [\n                'name' => 'Russian Ruble',\n                'code' => 'RUB',\n                'symbol' => '₽',\n                'precision' => '2',\n                'thousand_separator' => ',',\n                'decimal_separator' => '.',\n            ],\n            [\n                'name' => 'Mozambican Metical',\n                'code' => 'MZN',\n                'symbol' => 'MT',\n                'precision' => '2',\n                'thousand_separator' => '.',\n                'decimal_separator' => ',',\n                'swap_currency_symbol' => true,\n            ],\n            [\n                'name' => 'Omani Rial',\n                'code' => 'OMR',\n                'symbol' => 'ر.ع.',\n                'precision' => '2',\n                'thousand_separator' => ',',\n                'decimal_separator' => '.',\n            ],\n            [\n                'name' => 'Ukrainian Hryvnia',\n                'code' => 'UAH',\n                'symbol' => '₴',\n                'precision' => '2',\n                'thousand_separator' => ',',\n                'decimal_separator' => '.',\n            ],\n            [\n                'name' => 'Macanese Pataca',\n                'code' => 'MOP',\n                'symbol' => 'MOP$',\n                'precision' => '2',\n                'thousand_separator' => ',',\n                'decimal_separator' => '.',\n            ],\n            [\n                'name' => 'Taiwan New Dollar',\n                'code' => 'TWD',\n                'symbol' => 'NT$',\n                'precision' => '2',\n                'thousand_separator' => ',',\n                'decimal_separator' => '.',\n            ],\n            [\n                'name' => 'Dominican Peso',\n                'code' => 'DOP',\n                'symbol' => 'RD$',\n                'precision' => '2',\n                'thousand_separator' => ',',\n                'decimal_separator' => '.',\n            ],\n            [\n                'name' => 'Chilean Peso',\n                'code' => 'CLP',\n                'symbol' => '$',\n                'precision' => '2',\n                'thousand_separator' => '.',\n                'decimal_separator' => ',',\n            ],\n            [\n                'name' => 'Serbian Dinar',\n                'code' => 'RSD',\n                'symbol' => 'RSD',\n                'precision' => '2',\n                'thousand_separator' => '.',\n                'decimal_separator' => ',',\n            ],\n            [\n                'name' => 'Kyrgyzstani som',\n                'code' => 'KGS',\n                'symbol' => 'С̲ ',\n                'precision' => '2',\n                'thousand_separator' => '.',\n                'decimal_separator' => ',',\n            ],\n            [\n                'name' => 'Iraqi Dinar',\n                'code' => 'IQD',\n                'symbol' => 'ع.د',\n                'precision' => '2',\n                'thousand_separator' => ',',\n                'decimal_separator' => '.',\n            ],\n            [\n                'name' => 'Peruvian Soles',\n                'code' => 'PEN',\n                'symbol' => 'S/',\n                'precision' => '2',\n                'thousand_separator' => ',',\n                'decimal_separator' => '.',\n            ],\n            [\n                'name' => 'Moroccan Dirham',\n                'code' => 'MAD',\n                'symbol' => 'DH',\n                'precision' => '2',\n                'thousand_separator' => ',',\n                'decimal_separator' => '.',\n            ],\n            [\n                'name' => 'Jamaican Dollar',\n                'code' => 'JMD',\n                'symbol' => '$',\n                'precision' => '0',\n                'thousand_separator' => ',',\n                'decimal_separator' => '.',\n            ],\n            [\n                'name' => 'Macedonian Denar',\n                'code' => 'MKD',\n                'symbol' => 'ден',\n                'precision' => '0',\n                'thousand_separator' => '.',\n                'decimal_separator' => ',',\n                'swap_currency_symbol' => true,\n            ],\n        ];\n\n\n        foreach ($currencies as $currency) {\n            Currency::create($currency);\n        }\n    }\n}\n"
  },
  {
    "path": "database/seeders/DatabaseSeeder.php",
    "content": "<?php\n\nnamespace Database\\Seeders;\n\nuse Illuminate\\Database\\Seeder;\n\nclass DatabaseSeeder extends Seeder\n{\n    /**\n     * Run the database seeds.\n     *\n     * @return void\n     */\n    public function run()\n    {\n        $this->call(CurrenciesTableSeeder::class);\n        $this->call(CountriesTableSeeder::class);\n        $this->call(UsersTableSeeder::class);\n    }\n}\n"
  },
  {
    "path": "database/seeders/DemoSeeder.php",
    "content": "<?php\n\nnamespace Database\\Seeders;\n\nuse Crater\\Models\\Address;\nuse Crater\\Models\\Setting;\nuse Crater\\Models\\User;\nuse Illuminate\\Database\\Seeder;\n\nclass DemoSeeder extends Seeder\n{\n    /**\n     * Run the database seeds.\n     *\n     * @return void\n     */\n    public function run()\n    {\n        $user = User::whereIs('super admin')->first();\n\n        $user->setSettings(['language' => 'en']);\n\n        Address::create(['company_id' => $user->companies()->first()->id, 'country_id' => 1]);\n\n        Setting::setSetting('profile_complete', 'COMPLETED');\n\n        \\Storage::disk('local')->put('database_created', 'database_created');\n    }\n}\n"
  },
  {
    "path": "database/seeders/UsersTableSeeder.php",
    "content": "<?php\n\nnamespace Database\\Seeders;\n\nuse Crater\\Models\\Company;\nuse Crater\\Models\\Setting;\nuse Crater\\Models\\User;\nuse Illuminate\\Database\\Seeder;\nuse Silber\\Bouncer\\BouncerFacade;\nuse Vinkla\\Hashids\\Facades\\Hashids;\n\nclass UsersTableSeeder extends Seeder\n{\n    /**\n     * Run the database seeds.\n     *\n     * @return void\n     */\n    public function run()\n    {\n        $user = User::create([\n            'email' => 'admin@craterapp.com',\n            'name' => 'Jane Doe',\n            'role' => 'super admin',\n            'password' => 'crater@123',\n        ]);\n\n        $company = Company::create([\n            'name' => 'xyz',\n            'owner_id' => $user->id,\n            'slug' => 'xyz'\n        ]);\n\n        $company->unique_hash = Hashids::connection(Company::class)->encode($company->id);\n        $company->save();\n        $company->setupDefaultData();\n        $user->companies()->attach($company->id);\n        BouncerFacade::scope()->to($company->id);\n\n        $user->assign('super admin');\n\n        Setting::setSetting('profile_complete', 0);\n    }\n}\n"
  },
  {
    "path": "docker-compose/cron.dockerfile",
    "content": "FROM php:8.0-fpm-alpine\n\nRUN apk add --no-cache \\\n    php8-bcmath\n\nRUN docker-php-ext-install pdo pdo_mysql bcmath\n\nCOPY docker-compose/crontab /etc/crontabs/root\n\nCMD [\"crond\", \"-f\"]\n"
  },
  {
    "path": "docker-compose/crontab",
    "content": "* * * * * cd /var/www && php artisan schedule:run >> /dev/stdout 2>&1\n"
  },
  {
    "path": "docker-compose/nginx/nginx.conf",
    "content": "server {\n    client_max_body_size 64M;\n    listen 80;\n    index index.php index.html;\n    error_log  /var/log/nginx/error.log;\n    access_log /var/log/nginx/access.log;\n    root /var/www/public;\n    location ~ \\.php$ {\n        try_files $uri =404;\n        fastcgi_split_path_info ^(.+\\.php)(/.+)$;\n        fastcgi_pass app:9000;\n        fastcgi_index index.php;\n        include fastcgi_params;\n        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;\n        fastcgi_param PATH_INFO $fastcgi_path_info;\n        fastcgi_read_timeout 300;\n    }\n    location / {\n        try_files $uri $uri/ /index.php?$query_string;\n        gzip_static on;\n    }\n}\n"
  },
  {
    "path": "docker-compose/php/uploads.ini",
    "content": "file_uploads = On\nupload_max_filesize = 64M\npost_max_size = 64M\nmax_execution_time = 300\n"
  },
  {
    "path": "docker-compose/setup.sh",
    "content": "#!/bin/sh\n\ndocker-compose exec app composer install --no-interaction --prefer-dist --optimize-autoloader\n\ndocker-compose exec app php artisan storage:link || true\ndocker-compose exec app php artisan key:generate\n"
  },
  {
    "path": "docker-compose.yml",
    "content": "version: '3'\n\nservices:\n  app:\n    build:\n      args:\n        user: crater-user\n        uid: 1000\n      context: ./\n      dockerfile: Dockerfile\n    image: crater-php\n    restart: unless-stopped\n    working_dir: /var/www/\n    volumes:\n      - ./:/var/www\n      - ./docker-compose/php/uploads.ini:/usr/local/etc/php/conf.d/uploads.ini:rw,delegated\n    networks:\n      - crater\n\n  db:\n    image: mariadb\n    restart: always\n    volumes:\n      - db:/var/lib/mysql\n      # If you want to persist data on the host, comment the line above this one...\n      # and uncomment the line under this one.\n      #- ./docker-compose/db/data:/var/lib/mysql:rw,delegated\n    environment:\n      MYSQL_USER: crater\n      MYSQL_PASSWORD: crater\n      MYSQL_DATABASE: crater\n      MYSQL_ROOT_PASSWORD: crater\n    ports:\n      - '33006:3306'\n    networks:\n      - crater\n\n  nginx:\n    image: nginx:1.17-alpine\n    restart: unless-stopped\n    ports:\n      - 80:80\n    volumes:\n      - ./:/var/www\n      - ./docker-compose/nginx:/etc/nginx/conf.d/\n    networks:\n      - crater\n\n  cron:\n    build:\n      context: ./\n      dockerfile: ./docker-compose/cron.dockerfile\n    volumes:\n      - ./:/var/www\n    networks:\n      - crater\n\nvolumes:\n  db:\n\nnetworks:\n  crater:\n    driver: bridge\n"
  },
  {
    "path": "package.json",
    "content": "{\n  \"private\": true,\n  \"scripts\": {\n    \"dev\": \"vite\",\n    \"build\": \"vite build\",\n    \"serve\": \"vite preview\",\n    \"test\": \"eslint ./resources/scripts --ext .js,.vue\"\n  },\n  \"devDependencies\": {\n    \"@rvxlab/tailwind-plugin-ios-full-height\": \"^1.0.0\",\n    \"@tailwindcss/aspect-ratio\": \"^0.4.0\",\n    \"@tailwindcss/forms\": \"^0.4.0\",\n    \"@tailwindcss/typography\": \"^0.5.0\",\n    \"@vitejs/plugin-vue\": \"^1.10.0\",\n    \"@vue/compiler-sfc\": \"^3.2.22\",\n    \"autoprefixer\": \"^10.4.0\",\n    \"cross-env\": \"^5.1\",\n    \"eslint\": \"^7.27.0\",\n    \"eslint-config-prettier\": \"^8.3.0\",\n    \"eslint-plugin-vue\": \"^7.0.0-beta.4\",\n    \"laravel-vite\": \"^0.0.7\",\n    \"postcss\": \"^8.4.5\",\n    \"prettier\": \"^2.3.0\",\n    \"sass\": \"^1.32.12\",\n    \"tailwind-scrollbar\": \"^1.3.1\",\n    \"tailwindcss\": \"^3.0.6\",\n    \"vite\": \"^2.6.1\"\n  },\n  \"dependencies\": {\n    \"@headlessui/vue\": \"^1.4.0\",\n    \"@heroicons/vue\": \"^1.0.1\",\n    \"@popperjs/core\": \"^2.9.2\",\n    \"@stripe/stripe-js\": \"^1.21.2\",\n    \"@tailwindcss/line-clamp\": \"^0.3.0\",\n    \"@tiptap/core\": \"^2.0.0-beta.85\",\n    \"@tiptap/extension-text-align\": \"^2.0.0-beta.29\",\n    \"@tiptap/starter-kit\": \"^2.0.0-beta.81\",\n    \"@tiptap/vue-3\": \"^2.0.0-beta.38\",\n    \"@vuelidate/components\": \"^1.1.12\",\n    \"@vuelidate/core\": \"^2.0.0-alpha.32\",\n    \"@vuelidate/validators\": \"^2.0.0-alpha.25\",\n    \"@vueuse/core\": \"^6.0.0\",\n    \"axios\": \"^0.19\",\n    \"chart.js\": \"^2.7.3\",\n    \"guid\": \"0.0.12\",\n    \"lodash\": \"^4.17.13\",\n    \"maska\": \"^1.4.6\",\n    \"mini-svg-data-uri\": \"^1.3.3\",\n    \"moment\": \"^2.29.1\",\n    \"pinia\": \"^2.0.4\",\n    \"v-money3\": \"^3.13.5\",\n    \"v-tooltip\": \"^4.0.0-alpha.1\",\n    \"vue\": \"^3.2.0-beta.5\",\n    \"vue-flatpickr-component\": \"^9.0.3\",\n    \"vue-i18n\": \"^9.1.7\",\n    \"vue-router\": \"^4.0.8\",\n    \"vue3-colorpicker\": \"^1.0.5\",\n    \"vuedraggable\": \"^4.1.0\"\n  }\n}\n"
  },
  {
    "path": "phpunit.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<phpunit xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n         xsi:noNamespaceSchemaLocation=\"./vendor/phpunit/phpunit/phpunit.xsd\"\n         bootstrap=\"vendor/autoload.php\"\n         colors=\"true\">\n    <testsuites>\n        <testsuite name=\"Unit\">\n            <directory suffix=\"Test.php\">./tests/Unit</directory>\n        </testsuite>\n        <testsuite name=\"Feature\">\n            <directory suffix=\"Test.php\">./tests/Feature</directory>\n        </testsuite>\n    </testsuites>\n    <filter>\n        <whitelist processUncoveredFilesFromWhitelist=\"true\">\n            <directory suffix=\".php\">./app</directory>\n        </whitelist>\n    </filter>\n    <php>\n        <server name=\"APP_ENV\" value=\"testing\"/>\n        <server name=\"BCRYPT_ROUNDS\" value=\"4\"/>\n        <server name=\"CACHE_DRIVER\" value=\"array\"/>\n        <server name=\"DB_CONNECTION\" value=\"sqlite\"/>\n        <server name=\"DB_DATABASE\" value=\":memory:\"/>\n        <server name=\"MAIL_MAILER\" value=\"array\"/>\n        <server name=\"QUEUE_CONNECTION\" value=\"sync\"/>\n        <server name=\"SESSION_DRIVER\" value=\"array\"/>\n        <server name=\"APP_URL\" value=\"http://crater.test\"/>\n    </php>\n</phpunit>\n"
  },
  {
    "path": "postcss.config.js",
    "content": "// postcss.config.js\nmodule.exports = {\n  plugins: {\n    tailwindcss: {},\n    autoprefixer: {},\n  },\n}\n"
  },
  {
    "path": "public/.htaccess",
    "content": "<IfModule mod_rewrite.c>\n    <IfModule mod_negotiation.c>\n        Options -MultiViews -Indexes\n    </IfModule>\n\n    RewriteEngine On\n\n    # Handle Authorization Header\n    RewriteCond %{HTTP:Authorization} .\n    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]\n\n    # Redirect Trailing Slashes If Not A Folder...\n    RewriteCond %{REQUEST_FILENAME} !-d\n    RewriteCond %{REQUEST_URI} (.+)/$\n    RewriteRule ^ %1 [L,R=301]\n\n    # Send Requests To Front Controller...\n    RewriteCond %{REQUEST_FILENAME} !-d\n    RewriteCond %{REQUEST_FILENAME} !-f\n    RewriteRule ^ index.php [L]\n</IfModule>\n"
  },
  {
    "path": "public/build/assets/404.e81599b7.js",
    "content": "import{G as u,aN as d,k as m,r as n,o as h,e as p,h as s,t as o,f as c,w as f,i as _,u as x}from\"./vendor.d12b5734.js\";const g={class:\"w-full h-screen\"},w={class:\"flex items-center justify-center w-full h-full\"},y={class:\"flex flex-col items-center justify-center\"},b={class:\"text-primary-500\",style:{\"font-size\":\"10rem\"}},v={class:\"mb-10 text-3xl text-primary-500\"},$={setup(k){const e=u();d();const l=m(()=>{if(e.path.indexOf(\"customer\")>-1&&e.params.company)return`/${e.params.company}/customer/dashboard`;if(e.params.catchAll){let a=e.params.catchAll.indexOf(\"/\");return a>-1?`/${e.params.catchAll.substring(a,0)}/customer/dashboard`:\"/\"}else return\"/admin/dashboard\"});return(t,a)=>{const r=n(\"BaseIcon\"),i=n(\"router-link\");return h(),p(\"div\",g,[s(\"div\",w,[s(\"div\",y,[s(\"h1\",b,o(t.$t(\"general.four_zero_four\")),1),s(\"h5\",v,o(t.$t(\"general.you_got_lost\")),1),c(i,{class:\"flex items-center w-32 h-12 px-3 py-1 text-base font-medium leading-none text-center text-white rounded whitespace-nowrap bg-primary-500 btn-lg hover:text-white\",to:x(l)},{default:f(()=>[c(r,{name:\"ArrowLeftIcon\",class:\"mr-2 text-white icon\"}),_(\" \"+o(t.$t(\"general.go_home\")),1)]),_:1},8,[\"to\"])])])])}}};export{$ as default};\n"
  },
  {
    "path": "public/build/assets/AccountSetting.7f3b69b7.js",
    "content": "var L=Object.defineProperty,P=Object.defineProperties;var T=Object.getOwnPropertyDescriptors;var V=Object.getOwnPropertySymbols;var z=Object.prototype.hasOwnProperty,E=Object.prototype.propertyIsEnumerable;var U=(u,s,i)=>s in u?L(u,s,{enumerable:!0,configurable:!0,writable:!0,value:i}):u[s]=i,S=(u,s)=>{for(var i in s||(s={}))z.call(s,i)&&U(u,i,s[i]);if(V)for(var i of V(s))E.call(s,i)&&U(u,i,s[i]);return u},I=(u,s)=>P(u,T(s));import{J,B as b,k as y,L as _,M as C,Q,N as H,P as K,a0 as O,T as W,r as m,o as M,e as X,f as r,w as d,u as e,x as Y,l as Z,m as x,j as ee,i as ae,t as se,U as te,h as ne}from\"./vendor.d12b5734.js\";import{e as oe,d as re,b as le}from\"./main.465728e1.js\";const ie=[\"onSubmit\"],ue=ne(\"span\",null,null,-1),ce={setup(u){const s=oe(),i=re(),F=le(),{t:v}=J();let p=b(!1),c=b(null),f=b([]);const $=b(!1);s.currentUser.avatar&&f.value.push({image:s.currentUser.avatar});const q=y(()=>({name:{required:_.withMessage(v(\"validation.required\"),C)},email:{required:_.withMessage(v(\"validation.required\"),C),email:_.withMessage(v(\"validation.email_incorrect\"),Q)},password:{minLength:_.withMessage(v(\"validation.password_length\",{count:8}),H(8))},confirm_password:{sameAsPassword:_.withMessage(v(\"validation.password_incorrect\"),K(t.password))}})),t=O({name:s.currentUser.name,email:s.currentUser.email,language:s.currentUserSettings.language||F.selectedCompanySettings.language,password:\"\",confirm_password:\"\"}),o=W(q,y(()=>t));function k(l,a){c.value=a}function N(){c.value=null,$.value=!0}async function A(){if(o.value.$touch(),o.value.$invalid)return!0;p.value=!0;let l={name:t.name,email:t.email};try{if(t.password!=null&&t.password!==void 0&&t.password!==\"\"&&(l=I(S({},l),{password:t.password})),s.currentUserSettings.language!==t.language&&await s.updateUserSettings({settings:{language:t.language}}),(await s.updateCurrentUser(l)).data.data){if(p.value=!1,c.value||$.value){let w=new FormData;c.value&&w.append(\"admin_avatar\",c.value),w.append(\"is_admin_avatar_removed\",$.value),await s.uploadAvatar(w),c.value=null,$.value=!1}t.password=\"\",t.confirm_password=\"\"}}catch{return p.value=!1,!0}}return(l,a)=>{const w=m(\"BaseFileUploader\"),g=m(\"BaseInputGroup\"),B=m(\"BaseInput\"),G=m(\"BaseMultiselect\"),D=m(\"BaseInputGrid\"),R=m(\"BaseIcon\"),h=m(\"BaseButton\"),j=m(\"BaseSettingCard\");return M(),X(\"form\",{class:\"relative\",onSubmit:te(A,[\"prevent\"])},[r(j,{title:l.$t(\"settings.account_settings.account_settings\"),description:l.$t(\"settings.account_settings.section_description\")},{default:d(()=>[r(D,null,{default:d(()=>[r(g,{label:l.$tc(\"settings.account_settings.profile_picture\")},{default:d(()=>[r(w,{modelValue:e(f),\"onUpdate:modelValue\":a[0]||(a[0]=n=>Y(f)?f.value=n:f=n),avatar:!0,accept:\"image/*\",onChange:k,onRemove:N},null,8,[\"modelValue\"])]),_:1},8,[\"label\"]),ue,r(g,{label:l.$tc(\"settings.account_settings.name\"),error:e(o).name.$error&&e(o).name.$errors[0].$message,required:\"\"},{default:d(()=>[r(B,{modelValue:e(t).name,\"onUpdate:modelValue\":a[1]||(a[1]=n=>e(t).name=n),invalid:e(o).name.$error,onInput:a[2]||(a[2]=n=>e(o).name.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"]),r(g,{label:l.$tc(\"settings.account_settings.email\"),error:e(o).email.$error&&e(o).email.$errors[0].$message,required:\"\"},{default:d(()=>[r(B,{modelValue:e(t).email,\"onUpdate:modelValue\":a[3]||(a[3]=n=>e(t).email=n),invalid:e(o).email.$error,onInput:a[4]||(a[4]=n=>e(o).email.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"]),r(g,{error:e(o).password.$error&&e(o).password.$errors[0].$message,label:l.$tc(\"settings.account_settings.password\")},{default:d(()=>[r(B,{modelValue:e(t).password,\"onUpdate:modelValue\":a[5]||(a[5]=n=>e(t).password=n),type:\"password\",onInput:a[6]||(a[6]=n=>e(o).password.$touch())},null,8,[\"modelValue\"])]),_:1},8,[\"error\",\"label\"]),r(g,{label:l.$tc(\"settings.account_settings.confirm_password\"),error:e(o).confirm_password.$error&&e(o).confirm_password.$errors[0].$message},{default:d(()=>[r(B,{modelValue:e(t).confirm_password,\"onUpdate:modelValue\":a[7]||(a[7]=n=>e(t).confirm_password=n),type:\"password\",onInput:a[8]||(a[8]=n=>e(o).confirm_password.$touch())},null,8,[\"modelValue\"])]),_:1},8,[\"label\",\"error\"]),r(g,{label:l.$tc(\"settings.language\")},{default:d(()=>[r(G,{modelValue:e(t).language,\"onUpdate:modelValue\":a[9]||(a[9]=n=>e(t).language=n),options:e(i).config.languages,label:\"name\",\"value-prop\":\"code\",\"track-by\":\"name\",\"open-direction\":\"top\"},null,8,[\"modelValue\",\"options\"])]),_:1},8,[\"label\"])]),_:1}),r(h,{loading:e(p),disabled:e(p),class:\"mt-6\"},{left:d(n=>[e(p)?ee(\"\",!0):(M(),Z(R,{key:0,name:\"SaveIcon\",class:x(n.class)},null,8,[\"class\"]))]),default:d(()=>[ae(\" \"+se(l.$tc(\"settings.company_info.save\")),1)]),_:1},8,[\"loading\",\"disabled\"])]),_:1},8,[\"title\",\"description\"])],40,ie)}}};export{ce as default};\n"
  },
  {
    "path": "public/build/assets/AddressInformation.7455dbc9.js",
    "content": "import{G as C,J as z,B as I,r as m,o as b,e as y,f as o,w as r,h as d,t as p,u as e,m as h,i as F,j as v,l as S,U as j}from\"./vendor.d12b5734.js\";import{a as k,u as w}from\"./global.dc565c4e.js\";import\"./auth.c88ceb4c.js\";import\"./main.465728e1.js\";const D=[\"onSubmit\"],G={class:\"mb-6\"},N={class:\"font-bold text-left\"},A={class:\"mt-2 text-sm leading-snug text-left text-gray-500\",style:{\"max-width\":\"680px\"}},T={class:\"grid grid-cols-5 gap-4 mb-8\"},E={class:\"col-span-5 text-lg font-semibold text-left lg:col-span-1\"},J={class:\"grid col-span-5 lg:col-span-4 gap-y-6 gap-x-4 md:grid-cols-6\"},R={class:\"md:col-span-3\"},q={class:\"flex items-center justify-start mb-6 md:justify-end md:mb-0\"},H={class:\"p-1\"},K={class:\"grid grid-cols-5 gap-4 mb-8\"},L={class:\"col-span-5 text-lg font-semibold text-left lg:col-span-1\"},O={key:0,class:\"grid col-span-5 lg:col-span-4 gap-y-6 gap-x-4 md:grid-cols-6\"},P={class:\"md:col-span-3\"},Q={class:\"flex items-center justify-end\"},se={setup(W){const s=k();C();const{tm:$,t:X}=z(),g=w();let u=I(!1);g.fetchCountries();function B(){u.value=!0;let a=s.userForm;s.updateCurrentUser({data:a,message:$(\"customers.address_updated_message\")}).then(t=>{u.value=!1}).catch(t=>{u.value=!1})}return(a,t)=>{const i=m(\"BaseInput\"),n=m(\"BaseInputGroup\"),f=m(\"BaseMultiselect\"),c=m(\"BaseTextarea\"),U=m(\"BaseDivider\"),_=m(\"BaseIcon\"),V=m(\"BaseButton\"),M=m(\"BaseCard\");return b(),y(\"form\",{class:\"relative h-full mt-4\",onSubmit:j(B,[\"prevent\"])},[o(M,null,{default:r(()=>[d(\"div\",G,[d(\"h6\",N,p(a.$t(\"settings.menu_title.address_information\")),1),d(\"p\",A,p(a.$t(\"settings.address_information.section_description\")),1)]),d(\"div\",T,[d(\"h6\",E,p(a.$t(\"customers.billing_address\")),1),d(\"div\",J,[o(n,{label:a.$t(\"customers.name\"),class:\"w-full md:col-span-3\"},{default:r(()=>[o(i,{modelValue:e(s).userForm.billing.name,\"onUpdate:modelValue\":t[0]||(t[0]=l=>e(s).userForm.billing.name=l),modelModifiers:{trim:!0},type:\"text\",class:\"w-full\",name:\"address_name\"},null,8,[\"modelValue\"])]),_:1},8,[\"label\"]),o(n,{label:a.$t(\"customers.country\"),class:\"md:col-span-3\"},{default:r(()=>[o(f,{modelValue:e(s).userForm.billing.country_id,\"onUpdate:modelValue\":t[1]||(t[1]=l=>e(s).userForm.billing.country_id=l),\"value-prop\":\"id\",label:\"name\",\"track-by\":\"name\",\"resolve-on-load\":\"\",searchable:\"\",options:e(g).countries,placeholder:a.$t(\"general.select_country\"),class:\"w-full\"},null,8,[\"modelValue\",\"options\",\"placeholder\"])]),_:1},8,[\"label\"]),o(n,{label:a.$t(\"customers.state\"),class:\"md:col-span-3\"},{default:r(()=>[o(i,{modelValue:e(s).userForm.billing.state,\"onUpdate:modelValue\":t[2]||(t[2]=l=>e(s).userForm.billing.state=l),name:\"billing.state\",type:\"text\"},null,8,[\"modelValue\"])]),_:1},8,[\"label\"]),o(n,{label:a.$t(\"customers.city\"),class:\"md:col-span-3\"},{default:r(()=>[o(i,{modelValue:e(s).userForm.billing.city,\"onUpdate:modelValue\":t[3]||(t[3]=l=>e(s).userForm.billing.city=l),name:\"billing.city\",type:\"text\"},null,8,[\"modelValue\"])]),_:1},8,[\"label\"]),o(n,{label:a.$t(\"customers.address\"),class:\"md:col-span-3\"},{default:r(()=>[o(c,{modelValue:e(s).userForm.billing.address_street_1,\"onUpdate:modelValue\":t[4]||(t[4]=l=>e(s).userForm.billing.address_street_1=l),modelModifiers:{trim:!0},placeholder:a.$t(\"general.street_1\"),type:\"text\",name:\"billing_street1\",\"container-class\":\"mt-3\"},null,8,[\"modelValue\",\"placeholder\"]),o(c,{modelValue:e(s).userForm.billing.address_street_2,\"onUpdate:modelValue\":t[5]||(t[5]=l=>e(s).userForm.billing.address_street_2=l),modelModifiers:{trim:!0},placeholder:a.$t(\"general.street_2\"),type:\"text\",class:\"mt-3\",name:\"billing_street2\",\"container-class\":\"mt-3\"},null,8,[\"modelValue\",\"placeholder\"])]),_:1},8,[\"label\"]),d(\"div\",R,[o(n,{label:a.$t(\"customers.phone\"),class:\"text-left\"},{default:r(()=>[o(i,{modelValue:e(s).userForm.billing.phone,\"onUpdate:modelValue\":t[6]||(t[6]=l=>e(s).userForm.billing.phone=l),modelModifiers:{trim:!0},type:\"text\",name:\"phone\"},null,8,[\"modelValue\"])]),_:1},8,[\"label\"]),o(n,{label:a.$t(\"customers.zip_code\"),class:\"mt-2 text-left\"},{default:r(()=>[o(i,{modelValue:e(s).userForm.billing.zip,\"onUpdate:modelValue\":t[7]||(t[7]=l=>e(s).userForm.billing.zip=l),modelModifiers:{trim:!0},type:\"text\",name:\"zip\"},null,8,[\"modelValue\"])]),_:1},8,[\"label\"])])])]),o(U,{class:\"mb-5 md:mb-8\"}),d(\"div\",q,[d(\"div\",H,[o(V,{ref:(l,x)=>{x.sameAddress=l},type:\"button\",onClick:t[8]||(t[8]=l=>e(s).copyAddress(!0))},{left:r(l=>[o(_,{name:\"DocumentDuplicateIcon\",class:h(l.class)},null,8,[\"class\"])]),default:r(()=>[F(\" \"+p(a.$t(\"customers.copy_billing_address\")),1)]),_:1},512)])]),d(\"div\",K,[d(\"h6\",L,p(a.$t(\"customers.shipping_address\")),1),e(s).userForm.shipping?(b(),y(\"div\",O,[o(n,{label:a.$t(\"customers.name\"),class:\"md:col-span-3\"},{default:r(()=>[o(i,{modelValue:e(s).userForm.shipping.name,\"onUpdate:modelValue\":t[9]||(t[9]=l=>e(s).userForm.shipping.name=l),modelModifiers:{trim:!0},type:\"text\",name:\"address_name\"},null,8,[\"modelValue\"])]),_:1},8,[\"label\"]),o(n,{label:a.$t(\"customers.country\"),class:\"md:col-span-3\"},{default:r(()=>[o(f,{modelValue:e(s).userForm.shipping.country_id,\"onUpdate:modelValue\":t[10]||(t[10]=l=>e(s).userForm.shipping.country_id=l),\"value-prop\":\"id\",label:\"name\",\"track-by\":\"name\",\"resolve-on-load\":\"\",searchable:\"\",options:e(g).countries,placeholder:a.$t(\"general.select_country\"),class:\"w-full\"},null,8,[\"modelValue\",\"options\",\"placeholder\"])]),_:1},8,[\"label\"]),o(n,{label:a.$t(\"customers.state\"),class:\"md:col-span-3\"},{default:r(()=>[o(i,{modelValue:e(s).userForm.shipping.state,\"onUpdate:modelValue\":t[11]||(t[11]=l=>e(s).userForm.shipping.state=l),name:\"shipping.state\",type:\"text\"},null,8,[\"modelValue\"])]),_:1},8,[\"label\"]),o(n,{label:a.$t(\"customers.city\"),class:\"md:col-span-3\"},{default:r(()=>[o(i,{modelValue:e(s).userForm.shipping.city,\"onUpdate:modelValue\":t[12]||(t[12]=l=>e(s).userForm.shipping.city=l),name:\"shipping.city\",type:\"text\"},null,8,[\"modelValue\"])]),_:1},8,[\"label\"]),o(n,{label:a.$t(\"customers.address\"),class:\"md:col-span-3\"},{default:r(()=>[o(c,{modelValue:e(s).userForm.shipping.address_street_1,\"onUpdate:modelValue\":t[13]||(t[13]=l=>e(s).userForm.shipping.address_street_1=l),modelModifiers:{trim:!0},type:\"text\",placeholder:a.$t(\"general.street_1\"),name:\"shipping_street1\"},null,8,[\"modelValue\",\"placeholder\"]),o(c,{modelValue:e(s).userForm.shipping.address_street_2,\"onUpdate:modelValue\":t[14]||(t[14]=l=>e(s).userForm.shipping.address_street_2=l),modelModifiers:{trim:!0},type:\"text\",placeholder:a.$t(\"general.street_2\"),name:\"shipping_street2\",class:\"mt-3\"},null,8,[\"modelValue\",\"placeholder\"])]),_:1},8,[\"label\"]),d(\"div\",P,[o(n,{label:a.$t(\"customers.phone\"),class:\"text-left\"},{default:r(()=>[o(i,{modelValue:e(s).userForm.shipping.phone,\"onUpdate:modelValue\":t[15]||(t[15]=l=>e(s).userForm.shipping.phone=l),modelModifiers:{trim:!0},type:\"text\",name:\"phone\"},null,8,[\"modelValue\"])]),_:1},8,[\"label\"]),o(n,{label:a.$t(\"customers.zip_code\"),class:\"mt-2 text-left\"},{default:r(()=>[o(i,{modelValue:e(s).userForm.shipping.zip,\"onUpdate:modelValue\":t[16]||(t[16]=l=>e(s).userForm.shipping.zip=l),modelModifiers:{trim:!0},type:\"text\",name:\"zip\"},null,8,[\"modelValue\"])]),_:1},8,[\"label\"])])])):v(\"\",!0)]),d(\"div\",Q,[o(V,{loading:e(u),disabled:e(u)},{left:r(l=>[e(u)?v(\"\",!0):(b(),S(_,{key:0,name:\"SaveIcon\",class:h(l.class)},null,8,[\"class\"]))]),default:r(()=>[F(\" \"+p(a.$t(\"general.save\")),1)]),_:1},8,[\"loading\",\"disabled\"])])]),_:1})],40,D)}}};export{se as default};\n"
  },
  {
    "path": "public/build/assets/AstronautIcon.82b952e2.js",
    "content": "import{o,e as i,h as l,m as d}from\"./vendor.d12b5734.js\";const n={width:\"125\",height:\"110\",viewBox:\"0 0 125 110\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\"},r={\"clip-path\":\"url(#clip0)\"},C=l(\"defs\",null,[l(\"clipPath\",{id:\"clip0\"},[l(\"rect\",{width:\"124.808\",height:\"110\",fill:\"white\"})])],-1),s={props:{primaryFillColor:{type:String,default:\"fill-primary-500\"},secondaryFillColor:{type:String,default:\"fill-gray-600\"}},setup(e){return(a,c)=>(o(),i(\"svg\",n,[l(\"g\",r,[l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M46.8031 84.4643C46.8031 88.8034 43.3104 92.3215 39.0026 92.3215C34.6948 92.3215 31.2021 88.8034 31.2021 84.4643C31.2021 80.1252 34.6948 76.6072 39.0026 76.6072C43.3104 76.6072 46.8031 80.1252 46.8031 84.4643Z\",class:d(e.primaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M60.4536 110H64.3539V72.6785H60.4536V110Z\",class:d(e.secondaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M85.8055 76.6072H70.2045C69.1319 76.6072 68.2544 77.4911 68.2544 78.5715V82.5C68.2544 83.5804 69.1319 84.4643 70.2045 84.4643H85.8055C86.878 84.4643 87.7556 83.5804 87.7556 82.5V78.5715C87.7556 77.4911 86.878 76.6072 85.8055 76.6072ZM70.2045 82.5H85.8055V78.5715H70.2045V82.5Z\",class:d(e.primaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M91.6556 1.96429C94.8811 1.96429 97.506 4.60821 97.506 7.85714V19.6429H83.8181L85.308 21.6071H99.4561V7.85714C99.4561 3.53571 95.9459 0 91.6556 0H33.152C28.8618 0 25.3516 3.53571 25.3516 7.85714V21.6071H39.3203L40.8745 19.6429H27.3017V7.85714C27.3017 4.60821 29.9265 1.96429 33.152 1.96429H91.6556Z\",class:d(e.secondaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M122.858 92.3213H117.007C115.935 92.3213 115.057 93.2052 115.057 94.2856V102.143C115.057 103.223 115.935 104.107 117.007 104.107H122.858C123.93 104.107 124.808 103.223 124.808 102.143V94.2856C124.808 93.2052 123.93 92.3213 122.858 92.3213ZM117.007 102.143H122.858V94.2856H117.007V102.143Z\",class:d(e.primaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M103.356 43.2142V70.7142H21.4511V43.2142H26.1821V41.2498H19.501V72.6783H105.306V41.2498H98.3541L98.2839 43.2142H103.356Z\",class:d(e.secondaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M101.406 21.6071C104.632 21.6071 107.257 24.251 107.257 27.5V41.25H98.2257L98.0853 43.2142H109.207V27.5C109.207 23.1609 105.714 19.6428 101.406 19.6428H83.8182L85.0878 21.6071H101.406ZM40.8746 19.6428H23.4016C19.0937 19.6428 15.6011 23.1609 15.6011 27.5V43.2142H26.1961L26.3365 41.25H17.5512V27.5C17.5512 24.251 20.1761 21.6071 23.4016 21.6071H39.3204L40.8746 19.6428Z\",class:d(e.secondaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M62.4041 9.82153C45.1709 9.82153 31.2021 23.8917 31.2021 41.2501C31.2021 58.6085 45.1709 72.6787 62.4041 72.6787C79.6373 72.6787 93.606 58.6085 93.606 41.2501C93.606 23.8917 79.6373 9.82153 62.4041 9.82153ZM62.4041 11.7858C78.5335 11.7858 91.6559 25.0035 91.6559 41.2501C91.6559 57.4967 78.5335 70.7144 62.4041 70.7144C46.2746 70.7144 33.1523 57.4967 33.1523 41.2501C33.1523 25.0035 46.2746 11.7858 62.4041 11.7858Z\",class:d(e.secondaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M62.4041 19.6428C45.1709 19.6428 31.2021 23.8916 31.2021 41.25C31.2021 58.6084 45.1709 66.7857 62.4041 66.7857C79.6373 66.7857 93.606 58.6084 93.606 41.25C93.606 23.8916 79.6373 19.6428 62.4041 19.6428ZM62.4041 21.6071C82.6346 21.6071 91.6559 27.665 91.6559 41.25C91.6559 56.0096 80.7216 64.8214 62.4041 64.8214C44.0866 64.8214 33.1523 56.0096 33.1523 41.25C33.1523 27.665 42.1735 21.6071 62.4041 21.6071Z\",class:d(e.secondaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M101.406 70.7144H23.4014C10.478 70.7144 0 81.2685 0 94.2858V110H124.808V94.2858C124.808 81.2685 114.33 70.7144 101.406 70.7144ZM101.406 72.6786C113.234 72.6786 122.858 82.3724 122.858 94.2858V108.036H1.95012V94.2858C1.95012 82.3724 11.574 72.6786 23.4014 72.6786H101.406Z\",class:d(e.secondaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M33.152 33.3928H29.2518C27.0969 33.3928 25.3516 35.1509 25.3516 37.3214V45.1785C25.3516 47.3491 27.0969 49.1071 29.2518 49.1071H33.152V33.3928ZM31.2019 35.3571V47.1428H29.2518C28.1773 47.1428 27.3017 46.2609 27.3017 45.1785V37.3214C27.3017 36.2391 28.1773 35.3571 29.2518 35.3571H31.2019Z\",class:d(e.secondaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M95.556 33.3928H91.6558V49.1071H95.556C97.7109 49.1071 99.4562 47.3491 99.4562 45.1785V37.3214C99.4562 35.1509 97.7109 33.3928 95.556 33.3928ZM95.556 35.3571C96.6305 35.3571 97.5061 36.2391 97.5061 37.3214V45.1785C97.5061 46.2609 96.6305 47.1428 95.556 47.1428H93.6059V35.3571H95.556Z\",class:d(e.secondaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M94.581 15.7144C94.0447 15.7144 93.606 16.1563 93.606 16.6965V34.3751C93.606 34.9152 94.0447 35.3572 94.581 35.3572C95.1173 35.3572 95.5561 34.9152 95.5561 34.3751V16.6965C95.5561 16.1563 95.1173 15.7144 94.581 15.7144Z\",class:d(e.secondaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M38.0273 41.2499C37.4891 41.2499 37.0522 40.8099 37.0522 40.2678C37.0522 33.3142 44.1409 25.5356 53.6283 25.5356C54.1665 25.5356 54.6033 25.9756 54.6033 26.5178C54.6033 27.0599 54.1665 27.4999 53.6283 27.4999C45.2564 27.4999 39.0024 34.2414 39.0024 40.2678C39.0024 40.8099 38.5655 41.2499 38.0273 41.2499Z\",class:d(e.primaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M97.5059 110H99.456V72.6785H97.5059V110Z\",class:d(e.secondaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M25.3516 110H27.3017V72.6785H25.3516V110Z\",class:d(e.secondaryFillColor)},null,2)]),C]))}};export{s as _};\n"
  },
  {
    "path": "public/build/assets/BackupSetting.135768cd.js",
    "content": "var te=Object.defineProperty,ae=Object.defineProperties;var se=Object.getOwnPropertyDescriptors;var U=Object.getOwnPropertySymbols;var oe=Object.prototype.hasOwnProperty,ne=Object.prototype.propertyIsEnumerable;var F=(u,t,l)=>t in u?te(u,t,{enumerable:!0,configurable:!0,writable:!0,value:l}):u[t]=l,q=(u,t)=>{for(var l in t||(t={}))oe.call(t,l)&&F(u,l,t[l]);if(U)for(var l of U(t))ne.call(t,l)&&F(u,l,t[l]);return u},G=(u,t)=>ae(u,se(t));import{a as x,d as le,B as w,a0 as E,J as O,k as D,L as R,M as A,T as ce,r as d,o as L,l as H,w as i,h as $,i as S,t as C,u as o,f as n,m as J,j as ie,U as re,e as de,F as ue}from\"./vendor.d12b5734.js\";import{h as P,u as X,c as K,j as pe}from\"./main.465728e1.js\";import{u as Q}from\"./disk.0ffde448.js\";const W=(u=!1)=>{const t=u?window.pinia.defineStore:le,{global:l}=window.i18n;return t({id:\"backup\",state:()=>({backups:[],currentBackupData:{option:\"full\",selected_disk:null}}),actions:{fetchBackups(b){return new Promise((c,s)=>{x.get(\"/api/v1/backups\",{params:b}).then(e=>{this.backups=e.data.data,c(e)}).catch(e=>{P(e),s(e)})})},createBackup(b){return new Promise((c,s)=>{x.post(\"/api/v1/backups\",b).then(e=>{X().showNotification({type:\"success\",message:l.t(\"settings.backup.created_message\")}),c(e)}).catch(e=>{P(e),s(e)})})},removeBackup(b){return new Promise((c,s)=>{x.delete(`/api/v1/backups/${b.disk}`,{params:b}).then(e=>{X().showNotification({type:\"success\",message:l.t(\"settings.backup.deleted_message\")}),c(e)}).catch(e=>{P(e),s(e)})})}}})()},ke={class:\"flex justify-between w-full\"},me=[\"onSubmit\"],fe={class:\"p-6\"},_e={class:\"z-0 flex justify-end p-4 border-t border-gray-200 border-solid\"},be={setup(u){w(null),w(!1);let t=w(!1),l=w(!1);const b=E([\"full\",\"only-db\",\"only-files\"]),c=W(),s=K(),e=Q(),{t:f}=O(),_=D(()=>s.active&&s.componentName===\"BackupModal\"),M=D(()=>e.disks.map(r=>G(q({},r),{name:r.name+\" \\u2014 [\"+r.driver+\"]\"}))),V=D(()=>({currentBackupData:{option:{required:R.withMessage(f(\"validation.required\"),A)},selected_disk:{required:R.withMessage(f(\"validation.required\"),A)}}})),g=ce(V,D(()=>c));async function N(){if(g.value.currentBackupData.$touch(),g.value.currentBackupData.$invalid)return!0;let r={option:c.currentBackupData.option,file_disk_id:c.currentBackupData.selected_disk.id};try{t.value=!0,(await c.createBackup(r)).data&&(t.value=!1,s.refreshData&&s.refreshData(),s.closeModal())}catch{t.value=!1}}async function j(){l.value=!0;let r=await e.fetchDisks({limit:\"all\"});c.currentBackupData.selected_disk=r.data.data[0],l.value=!1}function I(){s.closeModal(),setTimeout(()=>{g.value.$reset(),c.$reset()})}return(r,h)=>{const a=d(\"BaseIcon\"),p=d(\"BaseMultiselect\"),m=d(\"BaseInputGroup\"),k=d(\"BaseInputGrid\"),y=d(\"BaseButton\"),T=d(\"BaseModal\");return L(),H(T,{show:o(_),onClose:I,onOpen:j},{header:i(()=>[$(\"div\",ke,[S(C(o(s).title)+\" \",1),n(a,{name:\"XIcon\",class:\"w-6 h-6 text-gray-500 cursor-pointer\",onClick:I})])]),default:i(()=>[$(\"form\",{onSubmit:re(N,[\"prevent\"])},[$(\"div\",fe,[n(k,{layout:\"one-column\"},{default:i(()=>[n(m,{label:r.$t(\"settings.backup.select_backup_type\"),error:o(g).currentBackupData.option.$error&&o(g).currentBackupData.option.$errors[0].$message,horizontal:\"\",required:\"\",class:\"py-2\"},{default:i(()=>[n(p,{modelValue:o(c).currentBackupData.option,\"onUpdate:modelValue\":h[0]||(h[0]=v=>o(c).currentBackupData.option=v),options:o(b),\"can-deselect\":!1,placeholder:r.$t(\"settings.backup.select_backup_type\"),searchable:\"\"},null,8,[\"modelValue\",\"options\",\"placeholder\"])]),_:1},8,[\"label\",\"error\"]),n(m,{label:r.$t(\"settings.disk.select_disk\"),error:o(g).currentBackupData.selected_disk.$error&&o(g).currentBackupData.selected_disk.$errors[0].$message,horizontal:\"\",required:\"\",class:\"py-2\"},{default:i(()=>[n(p,{modelValue:o(c).currentBackupData.selected_disk,\"onUpdate:modelValue\":h[1]||(h[1]=v=>o(c).currentBackupData.selected_disk=v),\"content-loading\":o(l),options:o(M),searchable:!0,\"allow-empty\":!1,label:\"name\",\"value-prop\":\"id\",placeholder:r.$t(\"settings.disk.select_disk\"),\"track-by\":\"name\",object:\"\"},null,8,[\"modelValue\",\"content-loading\",\"options\",\"placeholder\"])]),_:1},8,[\"label\",\"error\"])]),_:1})]),$(\"div\",_e,[n(y,{class:\"mr-3\",variant:\"primary-outline\",type:\"button\",onClick:I},{default:i(()=>[S(C(r.$t(\"general.cancel\")),1)]),_:1}),n(y,{loading:o(t),disabled:o(t),variant:\"primary\",type:\"submit\"},{left:i(v=>[o(t)?ie(\"\",!0):(L(),H(a,{key:0,name:\"SaveIcon\",class:J(v.class)},null,8,[\"class\"]))]),default:i(()=>[S(\" \"+C(r.$t(\"general.create\")),1)]),_:1},8,[\"loading\",\"disabled\"])])],40,me)]),_:1},8,[\"show\"])}}},ge={class:\"grid my-14 md:grid-cols-3\"},Be={class:\"inline-block\"},De={setup(u){const t=pe(),l=W(),b=K(),c=Q(),{t:s}=O(),e=E({selected_disk:{driver:\"local\"}}),f=w(\"\");let _=w(!0);const M=D(()=>[{key:\"path\",label:s(\"settings.backup.path\"),thClass:\"extra\",tdClass:\"font-medium text-gray-900\"},{key:\"created_at\",label:s(\"settings.backup.created_at\"),tdClass:\"font-medium text-gray-900\"},{key:\"size\",label:s(\"settings.backup.size\"),tdClass:\"font-medium text-gray-900\"},{key:\"actions\",label:\"\",tdClass:\"text-right text-sm font-medium\",sortable:!1}]),V=D(()=>c.disks.map(a=>G(q({},a),{name:a.name+\" \\u2014 [\"+a.driver+\"]\"})));j();function g(a){t.openDialog({title:s(\"general.are_you_sure\"),message:s(\"settings.backup.backup_confirm_delete\"),yesLabel:s(\"general.ok\"),noLabel:s(\"general.cancel\"),variant:\"danger\",hideNoButton:!1,size:\"lg\"}).then(async p=>{if(p){let m={disk:e.selected_disk.driver,file_disk_id:e.selected_disk.id,path:a.path},k=await l.removeBackup(m);if(k.data.success||k.data.backup)return f.value&&f.value.refresh(),!0}})}function N(){setTimeout(()=>{f.value.refresh()},100)}async function j(){_.value=!0;let a=await c.fetchDisks({limit:\"all\"});a.data.error,e.selected_disk=a.data.data.find(p=>p.set_as_default==0),_.value=!1}async function I({page:a,filter:p,sort:m}){let k={disk:e.selected_disk.driver,filed_disk_id:e.selected_disk.id};_.value=!0;let y=await l.fetchBackups(k);return _.value=!1,{data:y.data.backups,pagination:{totalPages:1,currentPage:1}}}async function r(){b.openModal({title:s(\"settings.backup.create_backup\"),componentName:\"BackupModal\",refreshData:f.value&&f.value.refresh,size:\"sm\"})}async function h(a){_.value=!0,window.axios({method:\"GET\",url:\"/api/v1/download-backup\",responseType:\"blob\",params:{disk:e.selected_disk.driver,file_disk_id:e.selected_disk.id,path:a.path}}).then(p=>{const m=window.URL.createObjectURL(new Blob([p.data])),k=document.createElement(\"a\");k.href=m,k.setAttribute(\"download\",a.path.split(\"/\")[1]),document.body.appendChild(k),k.click(),_.value=!1}).catch(p=>{_.value=!1})}return(a,p)=>{const m=d(\"BaseIcon\"),k=d(\"BaseButton\"),y=d(\"BaseMultiselect\"),T=d(\"BaseInputGroup\"),v=d(\"BaseDropdownItem\"),Y=d(\"BaseDropdown\"),Z=d(\"BaseTable\"),ee=d(\"BaseSettingCard\");return L(),de(ue,null,[n(be),n(ee,{title:a.$tc(\"settings.backup.title\",1),description:a.$t(\"settings.backup.description\")},{action:i(()=>[n(k,{variant:\"primary-outline\",onClick:r},{left:i(B=>[n(m,{class:J(B.class),name:\"PlusIcon\"},null,8,[\"class\"])]),default:i(()=>[S(\" \"+C(a.$t(\"settings.backup.new_backup\")),1)]),_:1})]),default:i(()=>[$(\"div\",ge,[n(T,{label:a.$t(\"settings.disk.select_disk\"),\"content-loading\":o(_)},{default:i(()=>[n(y,{modelValue:o(e).selected_disk,\"onUpdate:modelValue\":p[0]||(p[0]=B=>o(e).selected_disk=B),\"content-loading\":o(_),options:o(V),\"track-by\":\"name\",placeholder:a.$t(\"settings.disk.select_disk\"),label:\"name\",searchable:!0,object:\"\",class:\"w-full\",\"value-prop\":\"id\",onSelect:N},null,8,[\"modelValue\",\"content-loading\",\"options\",\"placeholder\"])]),_:1},8,[\"label\",\"content-loading\"])]),n(Z,{ref:(B,z)=>{z.table=B,f.value=B},class:\"mt-10\",\"show-filter\":!1,data:I,columns:o(M)},{\"cell-actions\":i(({row:B})=>[n(Y,null,{activator:i(()=>[$(\"div\",Be,[n(m,{name:\"DotsHorizontalIcon\",class:\"text-gray-500\"})])]),default:i(()=>[n(v,{onClick:z=>h(B.data)},{default:i(()=>[n(m,{name:\"CloudDownloadIcon\",class:\"mr-3 text-gray-600\"}),S(\" \"+C(a.$t(\"general.download\")),1)]),_:2},1032,[\"onClick\"]),n(v,{onClick:z=>g(B.data)},{default:i(()=>[n(m,{name:\"TrashIcon\",class:\"mr-3 text-gray-600\"}),S(\" \"+C(a.$t(\"general.delete\")),1)]),_:2},1032,[\"onClick\"])]),_:2},1024)]),_:1},8,[\"columns\"])]),_:1},8,[\"title\",\"description\"])],64)}}};export{De as default};\n"
  },
  {
    "path": "public/build/assets/BaseEditor.bacb9608.css",
    "content": ".ProseMirror{min-height:200px;padding:8px 12px;outline:none;border-radius:.375rem;border-top-left-radius:0;border-top-right-radius:0;border-width:1px;border-color:transparent}.ProseMirror h1{font-size:2em;font-weight:700}.ProseMirror h2{font-size:1.5em;font-weight:700}.ProseMirror h3{font-size:1.17em;font-weight:700}.ProseMirror ul{padding:0 1rem;list-style:disc!important}.ProseMirror ol{padding:0 1rem;list-style:auto!important}.ProseMirror blockquote{padding-left:1rem;border-left:2px solid rgba(13,13,13,.1)}.ProseMirror code{background-color:#6161611a;color:#616161;border-radius:.4rem;font-size:.9rem;padding:.1rem .3rem}.ProseMirror pre{background:#0d0d0d;color:#fff;font-family:JetBrainsMono,monospace;padding:.75rem 1rem;border-radius:.5rem}.ProseMirror pre code{color:inherit;padding:0;background:none;font-size:.8rem}.ProseMirror:focus{border-width:1px;--tw-border-opacity: 1;border-color:rgba(var(--color-primary-400),var(--tw-border-opacity));--tw-ring-opacity: 1;--tw-ring-color: rgba(var(--color-primary-400), var(--tw-ring-opacity))}\n"
  },
  {
    "path": "public/build/assets/BaseEditor.c76beb41.js",
    "content": "var nc=Object.defineProperty,oc=Object.defineProperties;var ic=Object.getOwnPropertyDescriptors;var Mr=Object.getOwnPropertySymbols;var Ko=Object.prototype.hasOwnProperty,$o=Object.prototype.propertyIsEnumerable;var Uo=(e,t,r)=>t in e?nc(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,S=(e,t)=>{for(var r in t||(t={}))Ko.call(t,r)&&Uo(e,r,t[r]);if(Mr)for(var r of Mr(t))$o.call(t,r)&&Uo(e,r,t[r]);return e},Tt=(e,t)=>oc(e,ic(t));var Go=(e,t)=>{var r={};for(var n in e)Ko.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&Mr)for(var n of Mr(e))t.indexOf(n)<0&&$o.call(e,n)&&(r[n]=e[n]);return r};import{bf as sc,a8 as ac,bg as $e,B as xr,D as sn,b1 as Cr,E as ye,bh as cc,a7 as lc,be as uc,u as fc,al as pc,a0 as dc,bi as hc,bj as mc,o as gt,e as Mt,h as A,ai as vc,bk as gc,bl as yc,bm as bc,b6 as kc,C as Sc,aS as Mc,r as Q,l as xc,w as an,f as V,m as L,j as Cc}from\"./vendor.d12b5734.js\";import{_ as At}from\"./main.465728e1.js\";function ft(e){this.content=e}ft.prototype={constructor:ft,find:function(e){for(var t=0;t<this.content.length;t+=2)if(this.content[t]===e)return t;return-1},get:function(e){var t=this.find(e);return t==-1?void 0:this.content[t+1]},update:function(e,t,r){var n=r&&r!=e?this.remove(r):this,o=n.find(e),i=n.content.slice();return o==-1?i.push(r||e,t):(i[o+1]=t,r&&(i[o]=r)),new ft(i)},remove:function(e){var t=this.find(e);if(t==-1)return this;var r=this.content.slice();return r.splice(t,2),new ft(r)},addToStart:function(e,t){return new ft([e,t].concat(this.remove(e).content))},addToEnd:function(e,t){var r=this.remove(e).content.slice();return r.push(e,t),new ft(r)},addBefore:function(e,t,r){var n=this.remove(t),o=n.content.slice(),i=n.find(e);return o.splice(i==-1?o.length:i,0,t,r),new ft(o)},forEach:function(e){for(var t=0;t<this.content.length;t+=2)e(this.content[t],this.content[t+1])},prepend:function(e){return e=ft.from(e),e.size?new ft(e.content.concat(this.subtract(e).content)):this},append:function(e){return e=ft.from(e),e.size?new ft(this.subtract(e).content.concat(e.content)):this},subtract:function(e){var t=this;e=ft.from(e);for(var r=0;r<e.content.length;r+=2)t=t.remove(e.content[r]);return t},get size(){return this.content.length>>1}};ft.from=function(e){if(e instanceof ft)return e;var t=[];if(e)for(var r in e)t.push(r,e[r]);return new ft(t)};var Yo=ft;function Xo(e,t,r){for(var n=0;;n++){if(n==e.childCount||n==t.childCount)return e.childCount==t.childCount?null:r;var o=e.child(n),i=t.child(n);if(o==i){r+=o.nodeSize;continue}if(!o.sameMarkup(i))return r;if(o.isText&&o.text!=i.text){for(var s=0;o.text[s]==i.text[s];s++)r++;return r}if(o.content.size||i.content.size){var a=Xo(o.content,i.content,r+1);if(a!=null)return a}r+=o.nodeSize}}function Qo(e,t,r,n){for(var o=e.childCount,i=t.childCount;;){if(o==0||i==0)return o==i?null:{a:r,b:n};var s=e.child(--o),a=t.child(--i),c=s.nodeSize;if(s==a){r-=c,n-=c;continue}if(!s.sameMarkup(a))return{a:r,b:n};if(s.isText&&s.text!=a.text){for(var l=0,u=Math.min(s.text.length,a.text.length);l<u&&s.text[s.text.length-l-1]==a.text[a.text.length-l-1];)l++,r--,n--;return{a:r,b:n}}if(s.content.size||a.content.size){var f=Qo(s.content,a.content,r-1,n-1);if(f)return f}r-=c,n-=c}}var k=function(t,r){if(this.content=t,this.size=r||0,r==null)for(var n=0;n<t.length;n++)this.size+=t[n].nodeSize},Or={firstChild:{configurable:!0},lastChild:{configurable:!0},childCount:{configurable:!0}};k.prototype.nodesBetween=function(t,r,n,o,i){o===void 0&&(o=0);for(var s=0,a=0;a<r;s++){var c=this.content[s],l=a+c.nodeSize;if(l>t&&n(c,o+a,i,s)!==!1&&c.content.size){var u=a+1;c.nodesBetween(Math.max(0,t-u),Math.min(c.content.size,r-u),n,o+u)}a=l}};k.prototype.descendants=function(t){this.nodesBetween(0,this.size,t)};k.prototype.textBetween=function(t,r,n,o){var i=\"\",s=!0;return this.nodesBetween(t,r,function(a,c){a.isText?(i+=a.text.slice(Math.max(t,c)-c,r-c),s=!n):a.isLeaf&&o?(i+=o,s=!n):!s&&a.isBlock&&(i+=n,s=!0)},0),i};k.prototype.append=function(t){if(!t.size)return this;if(!this.size)return t;var r=this.lastChild,n=t.firstChild,o=this.content.slice(),i=0;for(r.isText&&r.sameMarkup(n)&&(o[o.length-1]=r.withText(r.text+n.text),i=1);i<t.content.length;i++)o.push(t.content[i]);return new k(o,this.size+t.size)};k.prototype.cut=function(t,r){if(r==null&&(r=this.size),t==0&&r==this.size)return this;var n=[],o=0;if(r>t)for(var i=0,s=0;s<r;i++){var a=this.content[i],c=s+a.nodeSize;c>t&&((s<t||c>r)&&(a.isText?a=a.cut(Math.max(0,t-s),Math.min(a.text.length,r-s)):a=a.cut(Math.max(0,t-s-1),Math.min(a.content.size,r-s-1))),n.push(a),o+=a.nodeSize),s=c}return new k(n,o)};k.prototype.cutByIndex=function(t,r){return t==r?k.empty:t==0&&r==this.content.length?this:new k(this.content.slice(t,r))};k.prototype.replaceChild=function(t,r){var n=this.content[t];if(n==r)return this;var o=this.content.slice(),i=this.size+r.nodeSize-n.nodeSize;return o[t]=r,new k(o,i)};k.prototype.addToStart=function(t){return new k([t].concat(this.content),this.size+t.nodeSize)};k.prototype.addToEnd=function(t){return new k(this.content.concat(t),this.size+t.nodeSize)};k.prototype.eq=function(t){if(this.content.length!=t.content.length)return!1;for(var r=0;r<this.content.length;r++)if(!this.content[r].eq(t.content[r]))return!1;return!0};Or.firstChild.get=function(){return this.content.length?this.content[0]:null};Or.lastChild.get=function(){return this.content.length?this.content[this.content.length-1]:null};Or.childCount.get=function(){return this.content.length};k.prototype.child=function(t){var r=this.content[t];if(!r)throw new RangeError(\"Index \"+t+\" out of range for \"+this);return r};k.prototype.maybeChild=function(t){return this.content[t]};k.prototype.forEach=function(t){for(var r=0,n=0;r<this.content.length;r++){var o=this.content[r];t(o,n,r),n+=o.nodeSize}};k.prototype.findDiffStart=function(t,r){return r===void 0&&(r=0),Xo(this,t,r)};k.prototype.findDiffEnd=function(t,r,n){return r===void 0&&(r=this.size),n===void 0&&(n=t.size),Qo(this,t,r,n)};k.prototype.findIndex=function(t,r){if(r===void 0&&(r=-1),t==0)return wr(0,t);if(t==this.size)return wr(this.content.length,t);if(t>this.size||t<0)throw new RangeError(\"Position \"+t+\" outside of fragment (\"+this+\")\");for(var n=0,o=0;;n++){var i=this.child(n),s=o+i.nodeSize;if(s>=t)return s==t||r>0?wr(n+1,s):wr(n,o);o=s}};k.prototype.toString=function(){return\"<\"+this.toStringInner()+\">\"};k.prototype.toStringInner=function(){return this.content.join(\", \")};k.prototype.toJSON=function(){return this.content.length?this.content.map(function(t){return t.toJSON()}):null};k.fromJSON=function(t,r){if(!r)return k.empty;if(!Array.isArray(r))throw new RangeError(\"Invalid input for Fragment.fromJSON\");return new k(r.map(t.nodeFromJSON))};k.fromArray=function(t){if(!t.length)return k.empty;for(var r,n=0,o=0;o<t.length;o++){var i=t[o];n+=i.nodeSize,o&&i.isText&&t[o-1].sameMarkup(i)?(r||(r=t.slice(0,o)),r[r.length-1]=i.withText(r[r.length-1].text+i.text)):r&&r.push(i)}return new k(r||t,n)};k.from=function(t){if(!t)return k.empty;if(t instanceof k)return t;if(Array.isArray(t))return this.fromArray(t);if(t.attrs)return new k([t],t.nodeSize);throw new RangeError(\"Can not convert \"+t+\" to a Fragment\"+(t.nodesBetween?\" (looks like multiple versions of prosemirror-model were loaded)\":\"\"))};Object.defineProperties(k.prototype,Or);var cn={index:0,offset:0};function wr(e,t){return cn.index=e,cn.offset=t,cn}k.empty=new k([],0);function Tr(e,t){if(e===t)return!0;if(!(e&&typeof e==\"object\")||!(t&&typeof t==\"object\"))return!1;var r=Array.isArray(e);if(Array.isArray(t)!=r)return!1;if(r){if(e.length!=t.length)return!1;for(var n=0;n<e.length;n++)if(!Tr(e[n],t[n]))return!1}else{for(var o in e)if(!(o in t)||!Tr(e[o],t[o]))return!1;for(var i in t)if(!(i in e))return!1}return!0}var P=function(t,r){this.type=t,this.attrs=r};P.prototype.addToSet=function(t){for(var r,n=!1,o=0;o<t.length;o++){var i=t[o];if(this.eq(i))return t;if(this.type.excludes(i.type))r||(r=t.slice(0,o));else{if(i.type.excludes(this.type))return t;!n&&i.type.rank>this.type.rank&&(r||(r=t.slice(0,o)),r.push(this),n=!0),r&&r.push(i)}}return r||(r=t.slice()),n||r.push(this),r};P.prototype.removeFromSet=function(t){for(var r=0;r<t.length;r++)if(this.eq(t[r]))return t.slice(0,r).concat(t.slice(r+1));return t};P.prototype.isInSet=function(t){for(var r=0;r<t.length;r++)if(this.eq(t[r]))return!0;return!1};P.prototype.eq=function(t){return this==t||this.type==t.type&&Tr(this.attrs,t.attrs)};P.prototype.toJSON=function(){var t={type:this.type.name};for(var r in this.attrs){t.attrs=this.attrs;break}return t};P.fromJSON=function(t,r){if(!r)throw new RangeError(\"Invalid input for Mark.fromJSON\");var n=t.marks[r.type];if(!n)throw new RangeError(\"There is no mark type \"+r.type+\" in this schema\");return n.create(r.attrs)};P.sameSet=function(t,r){if(t==r)return!0;if(t.length!=r.length)return!1;for(var n=0;n<t.length;n++)if(!t[n].eq(r[n]))return!1;return!0};P.setFrom=function(t){if(!t||t.length==0)return P.none;if(t instanceof P)return[t];var r=t.slice();return r.sort(function(n,o){return n.type.rank-o.type.rank}),r};P.none=[];function Jt(e){var t=Error.call(this,e);return t.__proto__=Jt.prototype,t}Jt.prototype=Object.create(Error.prototype);Jt.prototype.constructor=Jt;Jt.prototype.name=\"ReplaceError\";var C=function(t,r,n){this.content=t,this.openStart=r,this.openEnd=n},Zo={size:{configurable:!0}};Zo.size.get=function(){return this.content.size-this.openStart-this.openEnd};C.prototype.insertAt=function(t,r){var n=ei(this.content,t+this.openStart,r,null);return n&&new C(n,this.openStart,this.openEnd)};C.prototype.removeBetween=function(t,r){return new C(ti(this.content,t+this.openStart,r+this.openStart),this.openStart,this.openEnd)};C.prototype.eq=function(t){return this.content.eq(t.content)&&this.openStart==t.openStart&&this.openEnd==t.openEnd};C.prototype.toString=function(){return this.content+\"(\"+this.openStart+\",\"+this.openEnd+\")\"};C.prototype.toJSON=function(){if(!this.content.size)return null;var t={content:this.content.toJSON()};return this.openStart>0&&(t.openStart=this.openStart),this.openEnd>0&&(t.openEnd=this.openEnd),t};C.fromJSON=function(t,r){if(!r)return C.empty;var n=r.openStart||0,o=r.openEnd||0;if(typeof n!=\"number\"||typeof o!=\"number\")throw new RangeError(\"Invalid input for Slice.fromJSON\");return new C(k.fromJSON(t,r.content),n,o)};C.maxOpen=function(t,r){r===void 0&&(r=!0);for(var n=0,o=0,i=t.firstChild;i&&!i.isLeaf&&(r||!i.type.spec.isolating);i=i.firstChild)n++;for(var s=t.lastChild;s&&!s.isLeaf&&(r||!s.type.spec.isolating);s=s.lastChild)o++;return new C(t,n,o)};Object.defineProperties(C.prototype,Zo);function ti(e,t,r){var n=e.findIndex(t),o=n.index,i=n.offset,s=e.maybeChild(o),a=e.findIndex(r),c=a.index,l=a.offset;if(i==t||s.isText){if(l!=r&&!e.child(c).isText)throw new RangeError(\"Removing non-flat range\");return e.cut(0,t).append(e.cut(r))}if(o!=c)throw new RangeError(\"Removing non-flat range\");return e.replaceChild(o,s.copy(ti(s.content,t-i-1,r-i-1)))}function ei(e,t,r,n){var o=e.findIndex(t),i=o.index,s=o.offset,a=e.maybeChild(i);if(s==t||a.isText)return n&&!n.canReplace(i,i,r)?null:e.cut(0,t).append(r).append(e.cut(t));var c=ei(a.content,t-s-1,r);return c&&e.replaceChild(i,a.copy(c))}C.empty=new C(k.empty,0,0);function Oc(e,t,r){if(r.openStart>e.depth)throw new Jt(\"Inserted content deeper than insertion position\");if(e.depth-r.openStart!=t.depth-r.openEnd)throw new Jt(\"Inconsistent open depths\");return ri(e,t,r,0)}function ri(e,t,r,n){var o=e.index(n),i=e.node(n);if(o==t.index(n)&&n<e.depth-r.openStart){var s=ri(e,t,r,n+1);return i.copy(i.content.replaceChild(o,s))}else if(r.content.size)if(!r.openStart&&!r.openEnd&&e.depth==n&&t.depth==n){var a=e.parent,c=a.content;return ke(a,c.cut(0,e.parentOffset).append(r.content).append(c.cut(t.parentOffset)))}else{var l=wc(r,e),u=l.start,f=l.end;return ke(i,oi(e,u,f,t,n))}else return ke(i,Ar(e,t,n))}function ni(e,t){if(!t.type.compatibleContent(e.type))throw new Jt(\"Cannot join \"+t.type.name+\" onto \"+e.type.name)}function ln(e,t,r){var n=e.node(r);return ni(n,t.node(r)),n}function be(e,t){var r=t.length-1;r>=0&&e.isText&&e.sameMarkup(t[r])?t[r]=e.withText(t[r].text+e.text):t.push(e)}function Ue(e,t,r,n){var o=(t||e).node(r),i=0,s=t?t.index(r):o.childCount;e&&(i=e.index(r),e.depth>r?i++:e.textOffset&&(be(e.nodeAfter,n),i++));for(var a=i;a<s;a++)be(o.child(a),n);t&&t.depth==r&&t.textOffset&&be(t.nodeBefore,n)}function ke(e,t){if(!e.type.validContent(t))throw new Jt(\"Invalid content for node \"+e.type.name);return e.copy(t)}function oi(e,t,r,n,o){var i=e.depth>o&&ln(e,t,o+1),s=n.depth>o&&ln(r,n,o+1),a=[];return Ue(null,e,o,a),i&&s&&t.index(o)==r.index(o)?(ni(i,s),be(ke(i,oi(e,t,r,n,o+1)),a)):(i&&be(ke(i,Ar(e,t,o+1)),a),Ue(t,r,o,a),s&&be(ke(s,Ar(r,n,o+1)),a)),Ue(n,null,o,a),new k(a)}function Ar(e,t,r){var n=[];if(Ue(null,e,r,n),e.depth>r){var o=ln(e,t,r+1);be(ke(o,Ar(e,t,r+1)),n)}return Ue(t,null,r,n),new k(n)}function wc(e,t){for(var r=t.depth-e.openStart,n=t.node(r),o=n.copy(e.content),i=r-1;i>=0;i--)o=t.node(i).copy(k.from(o));return{start:o.resolveNoCache(e.openStart+r),end:o.resolveNoCache(o.content.size-e.openEnd-r)}}var $=function(t,r,n){this.pos=t,this.path=r,this.depth=r.length/3-1,this.parentOffset=n},De={parent:{configurable:!0},doc:{configurable:!0},textOffset:{configurable:!0},nodeAfter:{configurable:!0},nodeBefore:{configurable:!0}};$.prototype.resolveDepth=function(t){return t==null?this.depth:t<0?this.depth+t:t};De.parent.get=function(){return this.node(this.depth)};De.doc.get=function(){return this.node(0)};$.prototype.node=function(t){return this.path[this.resolveDepth(t)*3]};$.prototype.index=function(t){return this.path[this.resolveDepth(t)*3+1]};$.prototype.indexAfter=function(t){return t=this.resolveDepth(t),this.index(t)+(t==this.depth&&!this.textOffset?0:1)};$.prototype.start=function(t){return t=this.resolveDepth(t),t==0?0:this.path[t*3-1]+1};$.prototype.end=function(t){return t=this.resolveDepth(t),this.start(t)+this.node(t).content.size};$.prototype.before=function(t){if(t=this.resolveDepth(t),!t)throw new RangeError(\"There is no position before the top-level node\");return t==this.depth+1?this.pos:this.path[t*3-1]};$.prototype.after=function(t){if(t=this.resolveDepth(t),!t)throw new RangeError(\"There is no position after the top-level node\");return t==this.depth+1?this.pos:this.path[t*3-1]+this.path[t*3].nodeSize};De.textOffset.get=function(){return this.pos-this.path[this.path.length-1]};De.nodeAfter.get=function(){var e=this.parent,t=this.index(this.depth);if(t==e.childCount)return null;var r=this.pos-this.path[this.path.length-1],n=e.child(t);return r?e.child(t).cut(r):n};De.nodeBefore.get=function(){var e=this.index(this.depth),t=this.pos-this.path[this.path.length-1];return t?this.parent.child(e).cut(0,t):e==0?null:this.parent.child(e-1)};$.prototype.posAtIndex=function(t,r){r=this.resolveDepth(r);for(var n=this.path[r*3],o=r==0?0:this.path[r*3-1]+1,i=0;i<t;i++)o+=n.child(i).nodeSize;return o};$.prototype.marks=function(){var t=this.parent,r=this.index();if(t.content.size==0)return P.none;if(this.textOffset)return t.child(r).marks;var n=t.maybeChild(r-1),o=t.maybeChild(r);if(!n){var i=n;n=o,o=i}for(var s=n.marks,a=0;a<s.length;a++)s[a].type.spec.inclusive===!1&&(!o||!s[a].isInSet(o.marks))&&(s=s[a--].removeFromSet(s));return s};$.prototype.marksAcross=function(t){var r=this.parent.maybeChild(this.index());if(!r||!r.isInline)return null;for(var n=r.marks,o=t.parent.maybeChild(t.index()),i=0;i<n.length;i++)n[i].type.spec.inclusive===!1&&(!o||!n[i].isInSet(o.marks))&&(n=n[i--].removeFromSet(n));return n};$.prototype.sharedDepth=function(t){for(var r=this.depth;r>0;r--)if(this.start(r)<=t&&this.end(r)>=t)return r;return 0};$.prototype.blockRange=function(t,r){if(t===void 0&&(t=this),t.pos<this.pos)return t.blockRange(this);for(var n=this.depth-(this.parent.inlineContent||this.pos==t.pos?1:0);n>=0;n--)if(t.pos<=this.end(n)&&(!r||r(this.node(n))))return new Ge(this,t,n)};$.prototype.sameParent=function(t){return this.pos-this.parentOffset==t.pos-t.parentOffset};$.prototype.max=function(t){return t.pos>this.pos?t:this};$.prototype.min=function(t){return t.pos<this.pos?t:this};$.prototype.toString=function(){for(var t=\"\",r=1;r<=this.depth;r++)t+=(t?\"/\":\"\")+this.node(r).type.name+\"_\"+this.index(r-1);return t+\":\"+this.parentOffset};$.resolve=function(t,r){if(!(r>=0&&r<=t.content.size))throw new RangeError(\"Position \"+r+\" out of range\");for(var n=[],o=0,i=r,s=t;;){var a=s.content.findIndex(i),c=a.index,l=a.offset,u=i-l;if(n.push(s,c,o+l),!u||(s=s.child(c),s.isText))break;i=u-1,o+=l+1}return new $(r,n,i)};$.resolveCached=function(t,r){for(var n=0;n<un.length;n++){var o=un[n];if(o.pos==r&&o.doc==t)return o}var i=un[fn]=$.resolve(t,r);return fn=(fn+1)%Tc,i};Object.defineProperties($.prototype,De);var un=[],fn=0,Tc=12,Ge=function(t,r,n){this.$from=t,this.$to=r,this.depth=n},Ie={start:{configurable:!0},end:{configurable:!0},parent:{configurable:!0},startIndex:{configurable:!0},endIndex:{configurable:!0}};Ie.start.get=function(){return this.$from.before(this.depth+1)};Ie.end.get=function(){return this.$to.after(this.depth+1)};Ie.parent.get=function(){return this.$from.node(this.depth)};Ie.startIndex.get=function(){return this.$from.index(this.depth)};Ie.endIndex.get=function(){return this.$to.indexAfter(this.depth)};Object.defineProperties(Ge.prototype,Ie);var Ac=Object.create(null),B=function(t,r,n,o){this.type=t,this.attrs=r,this.content=n||k.empty,this.marks=o||P.none},_t={nodeSize:{configurable:!0},childCount:{configurable:!0},textContent:{configurable:!0},firstChild:{configurable:!0},lastChild:{configurable:!0},isBlock:{configurable:!0},isTextblock:{configurable:!0},inlineContent:{configurable:!0},isInline:{configurable:!0},isText:{configurable:!0},isLeaf:{configurable:!0},isAtom:{configurable:!0}};_t.nodeSize.get=function(){return this.isLeaf?1:2+this.content.size};_t.childCount.get=function(){return this.content.childCount};B.prototype.child=function(t){return this.content.child(t)};B.prototype.maybeChild=function(t){return this.content.maybeChild(t)};B.prototype.forEach=function(t){this.content.forEach(t)};B.prototype.nodesBetween=function(t,r,n,o){o===void 0&&(o=0),this.content.nodesBetween(t,r,n,o,this)};B.prototype.descendants=function(t){this.nodesBetween(0,this.content.size,t)};_t.textContent.get=function(){return this.textBetween(0,this.content.size,\"\")};B.prototype.textBetween=function(t,r,n,o){return this.content.textBetween(t,r,n,o)};_t.firstChild.get=function(){return this.content.firstChild};_t.lastChild.get=function(){return this.content.lastChild};B.prototype.eq=function(t){return this==t||this.sameMarkup(t)&&this.content.eq(t.content)};B.prototype.sameMarkup=function(t){return this.hasMarkup(t.type,t.attrs,t.marks)};B.prototype.hasMarkup=function(t,r,n){return this.type==t&&Tr(this.attrs,r||t.defaultAttrs||Ac)&&P.sameSet(this.marks,n||P.none)};B.prototype.copy=function(t){return t===void 0&&(t=null),t==this.content?this:new this.constructor(this.type,this.attrs,t,this.marks)};B.prototype.mark=function(t){return t==this.marks?this:new this.constructor(this.type,this.attrs,this.content,t)};B.prototype.cut=function(t,r){return t==0&&r==this.content.size?this:this.copy(this.content.cut(t,r))};B.prototype.slice=function(t,r,n){if(r===void 0&&(r=this.content.size),n===void 0&&(n=!1),t==r)return C.empty;var o=this.resolve(t),i=this.resolve(r),s=n?0:o.sharedDepth(r),a=o.start(s),c=o.node(s),l=c.content.cut(o.pos-a,i.pos-a);return new C(l,o.depth-s,i.depth-s)};B.prototype.replace=function(t,r,n){return Oc(this.resolve(t),this.resolve(r),n)};B.prototype.nodeAt=function(t){for(var r=this;;){var n=r.content.findIndex(t),o=n.index,i=n.offset;if(r=r.maybeChild(o),!r)return null;if(i==t||r.isText)return r;t-=i+1}};B.prototype.childAfter=function(t){var r=this.content.findIndex(t),n=r.index,o=r.offset;return{node:this.content.maybeChild(n),index:n,offset:o}};B.prototype.childBefore=function(t){if(t==0)return{node:null,index:0,offset:0};var r=this.content.findIndex(t),n=r.index,o=r.offset;if(o<t)return{node:this.content.child(n),index:n,offset:o};var i=this.content.child(n-1);return{node:i,index:n-1,offset:o-i.nodeSize}};B.prototype.resolve=function(t){return $.resolveCached(this,t)};B.prototype.resolveNoCache=function(t){return $.resolve(this,t)};B.prototype.rangeHasMark=function(t,r,n){var o=!1;return r>t&&this.nodesBetween(t,r,function(i){return n.isInSet(i.marks)&&(o=!0),!o}),o};_t.isBlock.get=function(){return this.type.isBlock};_t.isTextblock.get=function(){return this.type.isTextblock};_t.inlineContent.get=function(){return this.type.inlineContent};_t.isInline.get=function(){return this.type.isInline};_t.isText.get=function(){return this.type.isText};_t.isLeaf.get=function(){return this.type.isLeaf};_t.isAtom.get=function(){return this.type.isAtom};B.prototype.toString=function(){if(this.type.spec.toDebugString)return this.type.spec.toDebugString(this);var t=this.type.name;return this.content.size&&(t+=\"(\"+this.content.toStringInner()+\")\"),ii(this.marks,t)};B.prototype.contentMatchAt=function(t){var r=this.type.contentMatch.matchFragment(this.content,0,t);if(!r)throw new Error(\"Called contentMatchAt on a node with invalid content\");return r};B.prototype.canReplace=function(t,r,n,o,i){n===void 0&&(n=k.empty),o===void 0&&(o=0),i===void 0&&(i=n.childCount);var s=this.contentMatchAt(t).matchFragment(n,o,i),a=s&&s.matchFragment(this.content,r);if(!a||!a.validEnd)return!1;for(var c=o;c<i;c++)if(!this.type.allowsMarks(n.child(c).marks))return!1;return!0};B.prototype.canReplaceWith=function(t,r,n,o){if(o&&!this.type.allowsMarks(o))return!1;var i=this.contentMatchAt(t).matchType(n),s=i&&i.matchFragment(this.content,r);return s?s.validEnd:!1};B.prototype.canAppend=function(t){return t.content.size?this.canReplace(this.childCount,this.childCount,t.content):this.type.compatibleContent(t.type)};B.prototype.check=function(){if(!this.type.validContent(this.content))throw new RangeError(\"Invalid content for node \"+this.type.name+\": \"+this.content.toString().slice(0,50));for(var t=P.none,r=0;r<this.marks.length;r++)t=this.marks[r].addToSet(t);if(!P.sameSet(t,this.marks))throw new RangeError(\"Invalid collection of marks for node \"+this.type.name+\": \"+this.marks.map(function(n){return n.type.name}));this.content.forEach(function(n){return n.check()})};B.prototype.toJSON=function(){var t={type:this.type.name};for(var r in this.attrs){t.attrs=this.attrs;break}return this.content.size&&(t.content=this.content.toJSON()),this.marks.length&&(t.marks=this.marks.map(function(n){return n.toJSON()})),t};B.fromJSON=function(t,r){if(!r)throw new RangeError(\"Invalid input for Node.fromJSON\");var n=null;if(r.marks){if(!Array.isArray(r.marks))throw new RangeError(\"Invalid mark data for Node.fromJSON\");n=r.marks.map(t.markFromJSON)}if(r.type==\"text\"){if(typeof r.text!=\"string\")throw new RangeError(\"Invalid text node in JSON\");return t.text(r.text,n)}var o=k.fromJSON(t,r.content);return t.nodeType(r.type).create(r.attrs,o,n)};Object.defineProperties(B.prototype,_t);var _c=function(e){function t(n,o,i,s){if(e.call(this,n,o,null,s),!i)throw new RangeError(\"Empty text nodes are not allowed\");this.text=i}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var r={textContent:{configurable:!0},nodeSize:{configurable:!0}};return t.prototype.toString=function(){return this.type.spec.toDebugString?this.type.spec.toDebugString(this):ii(this.marks,JSON.stringify(this.text))},r.textContent.get=function(){return this.text},t.prototype.textBetween=function(o,i){return this.text.slice(o,i)},r.nodeSize.get=function(){return this.text.length},t.prototype.mark=function(o){return o==this.marks?this:new t(this.type,this.attrs,this.text,o)},t.prototype.withText=function(o){return o==this.text?this:new t(this.type,this.attrs,o,this.marks)},t.prototype.cut=function(o,i){return o===void 0&&(o=0),i===void 0&&(i=this.text.length),o==0&&i==this.text.length?this:this.withText(this.text.slice(o,i))},t.prototype.eq=function(o){return this.sameMarkup(o)&&this.text==o.text},t.prototype.toJSON=function(){var o=e.prototype.toJSON.call(this);return o.text=this.text,o},Object.defineProperties(t.prototype,r),t}(B);function ii(e,t){for(var r=e.length-1;r>=0;r--)t=e[r].type.name+\"(\"+t+\")\";return t}var pt=function(t){this.validEnd=t,this.next=[],this.wrapCache=[]},_r={inlineContent:{configurable:!0},defaultType:{configurable:!0},edgeCount:{configurable:!0}};pt.parse=function(t,r){var n=new Nr(t,r);if(n.next==null)return pt.empty;var o=ai(n);n.next&&n.err(\"Unexpected trailing text\");var i=Bc(Pc(o));return zc(i,n),i};pt.prototype.matchType=function(t){for(var r=0;r<this.next.length;r+=2)if(this.next[r]==t)return this.next[r+1];return null};pt.prototype.matchFragment=function(t,r,n){r===void 0&&(r=0),n===void 0&&(n=t.childCount);for(var o=this,i=r;o&&i<n;i++)o=o.matchType(t.child(i).type);return o};_r.inlineContent.get=function(){var e=this.next[0];return e?e.isInline:!1};_r.defaultType.get=function(){for(var e=0;e<this.next.length;e+=2){var t=this.next[e];if(!(t.isText||t.hasRequiredAttrs()))return t}};pt.prototype.compatible=function(t){for(var r=0;r<this.next.length;r+=2)for(var n=0;n<t.next.length;n+=2)if(this.next[r]==t.next[n])return!0;return!1};pt.prototype.fillBefore=function(t,r,n){r===void 0&&(r=!1),n===void 0&&(n=0);var o=[this];function i(s,a){var c=s.matchFragment(t,n);if(c&&(!r||c.validEnd))return k.from(a.map(function(d){return d.createAndFill()}));for(var l=0;l<s.next.length;l+=2){var u=s.next[l],f=s.next[l+1];if(!(u.isText||u.hasRequiredAttrs())&&o.indexOf(f)==-1){o.push(f);var p=i(f,a.concat(u));if(p)return p}}}return i(this,[])};pt.prototype.findWrapping=function(t){for(var r=0;r<this.wrapCache.length;r+=2)if(this.wrapCache[r]==t)return this.wrapCache[r+1];var n=this.computeWrapping(t);return this.wrapCache.push(t,n),n};pt.prototype.computeWrapping=function(t){for(var r=Object.create(null),n=[{match:this,type:null,via:null}];n.length;){var o=n.shift(),i=o.match;if(i.matchType(t)){for(var s=[],a=o;a.type;a=a.via)s.push(a.type);return s.reverse()}for(var c=0;c<i.next.length;c+=2){var l=i.next[c];!l.isLeaf&&!l.hasRequiredAttrs()&&!(l.name in r)&&(!o.type||i.next[c+1].validEnd)&&(n.push({match:l.contentMatch,type:l,via:o}),r[l.name]=!0)}}};_r.edgeCount.get=function(){return this.next.length>>1};pt.prototype.edge=function(t){var r=t<<1;if(r>=this.next.length)throw new RangeError(\"There's no \"+t+\"th edge in this content match\");return{type:this.next[r],next:this.next[r+1]}};pt.prototype.toString=function(){var t=[];function r(n){t.push(n);for(var o=1;o<n.next.length;o+=2)t.indexOf(n.next[o])==-1&&r(n.next[o])}return r(this),t.map(function(n,o){for(var i=o+(n.validEnd?\"*\":\" \")+\" \",s=0;s<n.next.length;s+=2)i+=(s?\", \":\"\")+n.next[s].name+\"->\"+t.indexOf(n.next[s+1]);return i}).join(`\n`)};Object.defineProperties(pt.prototype,_r);pt.empty=new pt(!0);var Nr=function(t,r){this.string=t,this.nodeTypes=r,this.inline=null,this.pos=0,this.tokens=t.split(/\\s*(?=\\b|\\W|$)/),this.tokens[this.tokens.length-1]==\"\"&&this.tokens.pop(),this.tokens[0]==\"\"&&this.tokens.shift()},si={next:{configurable:!0}};si.next.get=function(){return this.tokens[this.pos]};Nr.prototype.eat=function(t){return this.next==t&&(this.pos++||!0)};Nr.prototype.err=function(t){throw new SyntaxError(t+\" (in content expression '\"+this.string+\"')\")};Object.defineProperties(Nr.prototype,si);function ai(e){var t=[];do t.push(Nc(e));while(e.eat(\"|\"));return t.length==1?t[0]:{type:\"choice\",exprs:t}}function Nc(e){var t=[];do t.push(Ec(e));while(e.next&&e.next!=\")\"&&e.next!=\"|\");return t.length==1?t[0]:{type:\"seq\",exprs:t}}function Ec(e){for(var t=Rc(e);;)if(e.eat(\"+\"))t={type:\"plus\",expr:t};else if(e.eat(\"*\"))t={type:\"star\",expr:t};else if(e.eat(\"?\"))t={type:\"opt\",expr:t};else if(e.eat(\"{\"))t=Dc(e,t);else break;return t}function ci(e){/\\D/.test(e.next)&&e.err(\"Expected number, got '\"+e.next+\"'\");var t=Number(e.next);return e.pos++,t}function Dc(e,t){var r=ci(e),n=r;return e.eat(\",\")&&(e.next!=\"}\"?n=ci(e):n=-1),e.eat(\"}\")||e.err(\"Unclosed braced range\"),{type:\"range\",min:r,max:n,expr:t}}function Ic(e,t){var r=e.nodeTypes,n=r[t];if(n)return[n];var o=[];for(var i in r){var s=r[i];s.groups.indexOf(t)>-1&&o.push(s)}return o.length==0&&e.err(\"No node type or group '\"+t+\"' found\"),o}function Rc(e){if(e.eat(\"(\")){var t=ai(e);return e.eat(\")\")||e.err(\"Missing closing paren\"),t}else if(/\\W/.test(e.next))e.err(\"Unexpected token '\"+e.next+\"'\");else{var r=Ic(e,e.next).map(function(n){return e.inline==null?e.inline=n.isInline:e.inline!=n.isInline&&e.err(\"Mixing inline and block content\"),{type:\"name\",value:n}});return e.pos++,r.length==1?r[0]:{type:\"choice\",exprs:r}}}function Pc(e){var t=[[]];return o(i(e,0),r()),t;function r(){return t.push([])-1}function n(s,a,c){var l={term:c,to:a};return t[s].push(l),l}function o(s,a){s.forEach(function(c){return c.to=a})}function i(s,a){if(s.type==\"choice\")return s.exprs.reduce(function(M,y){return M.concat(i(y,a))},[]);if(s.type==\"seq\")for(var c=0;;c++){var l=i(s.exprs[c],a);if(c==s.exprs.length-1)return l;o(l,a=r())}else if(s.type==\"star\"){var u=r();return n(a,u),o(i(s.expr,u),u),[n(u)]}else if(s.type==\"plus\"){var f=r();return o(i(s.expr,a),f),o(i(s.expr,f),f),[n(f)]}else{if(s.type==\"opt\")return[n(a)].concat(i(s.expr,a));if(s.type==\"range\"){for(var p=a,d=0;d<s.min;d++){var h=r();o(i(s.expr,p),h),p=h}if(s.max==-1)o(i(s.expr,p),p);else for(var v=s.min;v<s.max;v++){var g=r();n(p,g),o(i(s.expr,p),g),p=g}return[n(p)]}else if(s.type==\"name\")return[n(a,null,s.value)]}}}function li(e,t){return t-e}function ui(e,t){var r=[];return n(t),r.sort(li);function n(o){var i=e[o];if(i.length==1&&!i[0].term)return n(i[0].to);r.push(o);for(var s=0;s<i.length;s++){var a=i[s],c=a.term,l=a.to;!c&&r.indexOf(l)==-1&&n(l)}}}function Bc(e){var t=Object.create(null);return r(ui(e,0));function r(n){var o=[];n.forEach(function(c){e[c].forEach(function(l){var u=l.term,f=l.to;if(!!u){var p=o.indexOf(u),d=p>-1&&o[p+1];ui(e,f).forEach(function(h){d||o.push(u,d=[]),d.indexOf(h)==-1&&d.push(h)})}})});for(var i=t[n.join(\",\")]=new pt(n.indexOf(e.length-1)>-1),s=0;s<o.length;s+=2){var a=o[s+1].sort(li);i.next.push(o[s],t[a.join(\",\")]||r(a))}return i}}function zc(e,t){for(var r=0,n=[e];r<n.length;r++){for(var o=n[r],i=!o.validEnd,s=[],a=0;a<o.next.length;a+=2){var c=o.next[a],l=o.next[a+1];s.push(c.name),i&&!(c.isText||c.hasRequiredAttrs())&&(i=!1),n.indexOf(l)==-1&&n.push(l)}i&&t.err(\"Only non-generatable nodes (\"+s.join(\", \")+\") in a required position (see https://prosemirror.net/docs/guide/#generatable)\")}}function fi(e){var t=Object.create(null);for(var r in e){var n=e[r];if(!n.hasDefault)return null;t[r]=n.default}return t}function pi(e,t){var r=Object.create(null);for(var n in e){var o=t&&t[n];if(o===void 0){var i=e[n];if(i.hasDefault)o=i.default;else throw new RangeError(\"No value supplied for attribute \"+n)}r[n]=o}return r}function di(e){var t=Object.create(null);if(e)for(var r in e)t[r]=new hi(e[r]);return t}var yt=function(t,r,n){this.name=t,this.schema=r,this.spec=n,this.groups=n.group?n.group.split(\" \"):[],this.attrs=di(n.attrs),this.defaultAttrs=fi(this.attrs),this.contentMatch=null,this.markSet=null,this.inlineContent=null,this.isBlock=!(n.inline||t==\"text\"),this.isText=t==\"text\"},Ye={isInline:{configurable:!0},isTextblock:{configurable:!0},isLeaf:{configurable:!0},isAtom:{configurable:!0}};Ye.isInline.get=function(){return!this.isBlock};Ye.isTextblock.get=function(){return this.isBlock&&this.inlineContent};Ye.isLeaf.get=function(){return this.contentMatch==pt.empty};Ye.isAtom.get=function(){return this.isLeaf||this.spec.atom};yt.prototype.hasRequiredAttrs=function(){for(var t in this.attrs)if(this.attrs[t].isRequired)return!0;return!1};yt.prototype.compatibleContent=function(t){return this==t||this.contentMatch.compatible(t.contentMatch)};yt.prototype.computeAttrs=function(t){return!t&&this.defaultAttrs?this.defaultAttrs:pi(this.attrs,t)};yt.prototype.create=function(t,r,n){if(this.isText)throw new Error(\"NodeType.create can't construct text nodes\");return new B(this,this.computeAttrs(t),k.from(r),P.setFrom(n))};yt.prototype.createChecked=function(t,r,n){if(r=k.from(r),!this.validContent(r))throw new RangeError(\"Invalid content for node \"+this.name);return new B(this,this.computeAttrs(t),r,P.setFrom(n))};yt.prototype.createAndFill=function(t,r,n){if(t=this.computeAttrs(t),r=k.from(r),r.size){var o=this.contentMatch.fillBefore(r);if(!o)return null;r=o.append(r)}var i=this.contentMatch.matchFragment(r).fillBefore(k.empty,!0);return i?new B(this,t,r.append(i),P.setFrom(n)):null};yt.prototype.validContent=function(t){var r=this.contentMatch.matchFragment(t);if(!r||!r.validEnd)return!1;for(var n=0;n<t.childCount;n++)if(!this.allowsMarks(t.child(n).marks))return!1;return!0};yt.prototype.allowsMarkType=function(t){return this.markSet==null||this.markSet.indexOf(t)>-1};yt.prototype.allowsMarks=function(t){if(this.markSet==null)return!0;for(var r=0;r<t.length;r++)if(!this.allowsMarkType(t[r].type))return!1;return!0};yt.prototype.allowedMarks=function(t){if(this.markSet==null)return t;for(var r,n=0;n<t.length;n++)this.allowsMarkType(t[n].type)?r&&r.push(t[n]):r||(r=t.slice(0,n));return r?r.length?r:P.empty:t};yt.compile=function(t,r){var n=Object.create(null);t.forEach(function(s,a){return n[s]=new yt(s,r,a)});var o=r.spec.topNode||\"doc\";if(!n[o])throw new RangeError(\"Schema is missing its top node type ('\"+o+\"')\");if(!n.text)throw new RangeError(\"Every schema needs a 'text' type\");for(var i in n.text.attrs)throw new RangeError(\"The text node type should not have attributes\");return n};Object.defineProperties(yt.prototype,Ye);var hi=function(t){this.hasDefault=Object.prototype.hasOwnProperty.call(t,\"default\"),this.default=t.default},mi={isRequired:{configurable:!0}};mi.isRequired.get=function(){return!this.hasDefault};Object.defineProperties(hi.prototype,mi);var ie=function(t,r,n,o){this.name=t,this.schema=n,this.spec=o,this.attrs=di(o.attrs),this.rank=r,this.excluded=null;var i=fi(this.attrs);this.instance=i&&new P(this,i)};ie.prototype.create=function(t){return!t&&this.instance?this.instance:new P(this,pi(this.attrs,t))};ie.compile=function(t,r){var n=Object.create(null),o=0;return t.forEach(function(i,s){return n[i]=new ie(i,o++,r,s)}),n};ie.prototype.removeFromSet=function(t){for(var r=0;r<t.length;r++)t[r].type==this&&(t=t.slice(0,r).concat(t.slice(r+1)),r--);return t};ie.prototype.isInSet=function(t){for(var r=0;r<t.length;r++)if(t[r].type==this)return t[r]};ie.prototype.excludes=function(t){return this.excluded.indexOf(t)>-1};var Se=function(t){this.spec={};for(var r in t)this.spec[r]=t[r];this.spec.nodes=Yo.from(t.nodes),this.spec.marks=Yo.from(t.marks),this.nodes=yt.compile(this.spec.nodes,this),this.marks=ie.compile(this.spec.marks,this);var n=Object.create(null);for(var o in this.nodes){if(o in this.marks)throw new RangeError(o+\" can not be both a node and a mark\");var i=this.nodes[o],s=i.spec.content||\"\",a=i.spec.marks;i.contentMatch=n[s]||(n[s]=pt.parse(s,this.nodes)),i.inlineContent=i.contentMatch.inlineContent,i.markSet=a==\"_\"?null:a?vi(this,a.split(\" \")):a==\"\"||!i.inlineContent?[]:null}for(var c in this.marks){var l=this.marks[c],u=l.spec.excludes;l.excluded=u==null?[l]:u==\"\"?[]:vi(this,u.split(\" \"))}this.nodeFromJSON=this.nodeFromJSON.bind(this),this.markFromJSON=this.markFromJSON.bind(this),this.topNodeType=this.nodes[this.spec.topNode||\"doc\"],this.cached=Object.create(null),this.cached.wrappings=Object.create(null)};Se.prototype.node=function(t,r,n,o){if(typeof t==\"string\")t=this.nodeType(t);else if(t instanceof yt){if(t.schema!=this)throw new RangeError(\"Node type from different schema used (\"+t.name+\")\")}else throw new RangeError(\"Invalid node type: \"+t);return t.createChecked(r,n,o)};Se.prototype.text=function(t,r){var n=this.nodes.text;return new _c(n,n.defaultAttrs,t,P.setFrom(r))};Se.prototype.mark=function(t,r){return typeof t==\"string\"&&(t=this.marks[t]),t.create(r)};Se.prototype.nodeFromJSON=function(t){return B.fromJSON(this,t)};Se.prototype.markFromJSON=function(t){return P.fromJSON(this,t)};Se.prototype.nodeType=function(t){var r=this.nodes[t];if(!r)throw new RangeError(\"Unknown node type: \"+t);return r};function vi(e,t){for(var r=[],n=0;n<t.length;n++){var o=t[n],i=e.marks[o],s=i;if(i)r.push(i);else for(var a in e.marks){var c=e.marks[a];(o==\"_\"||c.spec.group&&c.spec.group.split(\" \").indexOf(o)>-1)&&r.push(s=c)}if(!s)throw new SyntaxError(\"Unknown mark type: '\"+t[n]+\"'\")}return r}var Lt=function(t,r){var n=this;this.schema=t,this.rules=r,this.tags=[],this.styles=[],r.forEach(function(o){o.tag?n.tags.push(o):o.style&&n.styles.push(o)}),this.normalizeLists=!this.tags.some(function(o){if(!/^(ul|ol)\\b/.test(o.tag)||!o.node)return!1;var i=t.nodes[o.node];return i.contentMatch.matchType(i)})};Lt.prototype.parse=function(t,r){r===void 0&&(r={});var n=new K(this,r,!1);return n.addAll(t,null,r.from,r.to),n.finish()};Lt.prototype.parseSlice=function(t,r){r===void 0&&(r={});var n=new K(this,r,!0);return n.addAll(t,null,r.from,r.to),C.maxOpen(n.finish())};Lt.prototype.matchTag=function(t,r,n){for(var o=n?this.tags.indexOf(n)+1:0;o<this.tags.length;o++){var i=this.tags[o];if(Vc(t,i.tag)&&(i.namespace===void 0||t.namespaceURI==i.namespace)&&(!i.context||r.matchesContext(i.context))){if(i.getAttrs){var s=i.getAttrs(t);if(s===!1)continue;i.attrs=s}return i}}};Lt.prototype.matchStyle=function(t,r,n,o){for(var i=o?this.styles.indexOf(o)+1:0;i<this.styles.length;i++){var s=this.styles[i];if(!(s.style.indexOf(t)!=0||s.context&&!n.matchesContext(s.context)||s.style.length>t.length&&(s.style.charCodeAt(t.length)!=61||s.style.slice(t.length+1)!=r))){if(s.getAttrs){var a=s.getAttrs(r);if(a===!1)continue;s.attrs=a}return s}}};Lt.schemaRules=function(t){var r=[];function n(c){for(var l=c.priority==null?50:c.priority,u=0;u<r.length;u++){var f=r[u],p=f.priority==null?50:f.priority;if(p<l)break}r.splice(u,0,c)}var o=function(c){var l=t.marks[c].spec.parseDOM;l&&l.forEach(function(u){n(u=bi(u)),u.mark=c})};for(var i in t.marks)o(i);var s=function(c){var l=t.nodes[a].spec.parseDOM;l&&l.forEach(function(u){n(u=bi(u)),u.node=a})};for(var a in t.nodes)s();return r};Lt.fromSchema=function(t){return t.cached.domParser||(t.cached.domParser=new Lt(t,Lt.schemaRules(t)))};var pn={address:!0,article:!0,aside:!0,blockquote:!0,canvas:!0,dd:!0,div:!0,dl:!0,fieldset:!0,figcaption:!0,figure:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,li:!0,noscript:!0,ol:!0,output:!0,p:!0,pre:!0,section:!0,table:!0,tfoot:!0,ul:!0},Lc={head:!0,noscript:!0,object:!0,script:!0,style:!0,title:!0},gi={ol:!0,ul:!0},dn=1,hn=2,Xe=4;function yi(e){return(e?dn:0)|(e===\"full\"?hn:0)}var Zt=function(t,r,n,o,i,s,a){this.type=t,this.attrs=r,this.solid=i,this.match=s||(a&Xe?null:t.contentMatch),this.options=a,this.content=[],this.marks=n,this.activeMarks=P.none,this.pendingMarks=o,this.stashMarks=[]};Zt.prototype.findWrapping=function(t){if(!this.match){if(!this.type)return[];var r=this.type.contentMatch.fillBefore(k.from(t));if(r)this.match=this.type.contentMatch.matchFragment(r);else{var n=this.type.contentMatch,o;return(o=n.findWrapping(t.type))?(this.match=n,o):null}}return this.match.findWrapping(t.type)};Zt.prototype.finish=function(t){if(!(this.options&dn)){var r=this.content[this.content.length-1],n;r&&r.isText&&(n=/[ \\t\\r\\n\\u000c]+$/.exec(r.text))&&(r.text.length==n[0].length?this.content.pop():this.content[this.content.length-1]=r.withText(r.text.slice(0,r.text.length-n[0].length)))}var o=k.from(this.content);return!t&&this.match&&(o=o.append(this.match.fillBefore(k.empty,!0))),this.type?this.type.create(this.attrs,o,this.marks):o};Zt.prototype.popFromStashMark=function(t){for(var r=this.stashMarks.length-1;r>=0;r--)if(t.eq(this.stashMarks[r]))return this.stashMarks.splice(r,1)[0]};Zt.prototype.applyPending=function(t){for(var r=0,n=this.pendingMarks;r<n.length;r++){var o=n[r];(this.type?this.type.allowsMarkType(o.type):jc(o.type,t))&&!o.isInSet(this.activeMarks)&&(this.activeMarks=o.addToSet(this.activeMarks),this.pendingMarks=o.removeFromSet(this.pendingMarks))}};Zt.prototype.inlineContext=function(t){return this.type?this.type.inlineContent:this.content.length?this.content[0].isInline:t.parentNode&&!pn.hasOwnProperty(t.parentNode.nodeName.toLowerCase())};var K=function(t,r,n){this.parser=t,this.options=r,this.isOpen=n;var o=r.topNode,i,s=yi(r.preserveWhitespace)|(n?Xe:0);o?i=new Zt(o.type,o.attrs,P.none,P.none,!0,r.topMatch||o.type.contentMatch,s):n?i=new Zt(null,null,P.none,P.none,!0,null,s):i=new Zt(t.schema.topNodeType,null,P.none,P.none,!0,null,s),this.nodes=[i],this.open=0,this.find=r.findPositions,this.needsBlock=!1},mn={top:{configurable:!0},currentPos:{configurable:!0}};mn.top.get=function(){return this.nodes[this.open]};K.prototype.addDOM=function(t){if(t.nodeType==3)this.addTextNode(t);else if(t.nodeType==1){var r=t.getAttribute(\"style\"),n=r?this.readStyles(Hc(r)):null,o=this.top;if(n!=null)for(var i=0;i<n.length;i++)this.addPendingMark(n[i]);if(this.addElement(t),n!=null)for(var s=0;s<n.length;s++)this.removePendingMark(n[s],o)}};K.prototype.addTextNode=function(t){var r=t.nodeValue,n=this.top;if(n.options&hn||n.inlineContext(t)||/[^ \\t\\r\\n\\u000c]/.test(r)){if(n.options&dn)n.options&hn?r=r.replace(/\\r\\n?/g,`\n`):r=r.replace(/\\r?\\n|\\r/g,\" \");else if(r=r.replace(/[ \\t\\r\\n\\u000c]+/g,\" \"),/^[ \\t\\r\\n\\u000c]/.test(r)&&this.open==this.nodes.length-1){var o=n.content[n.content.length-1],i=t.previousSibling;(!o||i&&i.nodeName==\"BR\"||o.isText&&/[ \\t\\r\\n\\u000c]$/.test(o.text))&&(r=r.slice(1))}r&&this.insertNode(this.parser.schema.text(r)),this.findInText(t)}else this.findInside(t)};K.prototype.addElement=function(t,r){var n=t.nodeName.toLowerCase(),o;gi.hasOwnProperty(n)&&this.parser.normalizeLists&&Fc(t);var i=this.options.ruleFromNode&&this.options.ruleFromNode(t)||(o=this.parser.matchTag(t,this,r));if(i?i.ignore:Lc.hasOwnProperty(n))this.findInside(t),this.ignoreFallback(t);else if(!i||i.skip||i.closeParent){i&&i.closeParent?this.open=Math.max(0,this.open-1):i&&i.skip.nodeType&&(t=i.skip);var s,a=this.top,c=this.needsBlock;if(pn.hasOwnProperty(n))s=!0,a.type||(this.needsBlock=!0);else if(!t.firstChild){this.leafFallback(t);return}this.addAll(t),s&&this.sync(a),this.needsBlock=c}else this.addElementByRule(t,i,i.consuming===!1?o:null)};K.prototype.leafFallback=function(t){t.nodeName==\"BR\"&&this.top.type&&this.top.type.inlineContent&&this.addTextNode(t.ownerDocument.createTextNode(`\n`))};K.prototype.ignoreFallback=function(t){t.nodeName==\"BR\"&&(!this.top.type||!this.top.type.inlineContent)&&this.findPlace(this.parser.schema.text(\"-\"))};K.prototype.readStyles=function(t){var r=P.none;t:for(var n=0;n<t.length;n+=2)for(var o=null;;){var i=this.parser.matchStyle(t[n],t[n+1],this,o);if(!i)continue t;if(i.ignore)return null;if(r=this.parser.schema.marks[i.mark].create(i.attrs).addToSet(r),i.consuming===!1)o=i;else break}return r};K.prototype.addElementByRule=function(t,r,n){var o=this,i,s,a,c;r.node?(s=this.parser.schema.nodes[r.node],s.isLeaf?this.insertNode(s.create(r.attrs))||this.leafFallback(t):i=this.enter(s,r.attrs,r.preserveWhitespace)):(a=this.parser.schema.marks[r.mark],c=a.create(r.attrs),this.addPendingMark(c));var l=this.top;if(s&&s.isLeaf)this.findInside(t);else if(n)this.addElement(t,n);else if(r.getContent)this.findInside(t),r.getContent(t,this.parser.schema).forEach(function(f){return o.insertNode(f)});else{var u=r.contentElement;typeof u==\"string\"?u=t.querySelector(u):typeof u==\"function\"&&(u=u(t)),u||(u=t),this.findAround(t,u,!0),this.addAll(u,i)}i&&(this.sync(l),this.open--),c&&this.removePendingMark(c,l)};K.prototype.addAll=function(t,r,n,o){for(var i=n||0,s=n?t.childNodes[n]:t.firstChild,a=o==null?null:t.childNodes[o];s!=a;s=s.nextSibling,++i)this.findAtPoint(t,i),this.addDOM(s),r&&pn.hasOwnProperty(s.nodeName.toLowerCase())&&this.sync(r);this.findAtPoint(t,i)};K.prototype.findPlace=function(t){for(var r,n,o=this.open;o>=0;o--){var i=this.nodes[o],s=i.findWrapping(t);if(s&&(!r||r.length>s.length)&&(r=s,n=i,!s.length)||i.solid)break}if(!r)return!1;this.sync(n);for(var a=0;a<r.length;a++)this.enterInner(r[a],null,!1);return!0};K.prototype.insertNode=function(t){if(t.isInline&&this.needsBlock&&!this.top.type){var r=this.textblockFromContext();r&&this.enterInner(r)}if(this.findPlace(t)){this.closeExtra();var n=this.top;n.applyPending(t.type),n.match&&(n.match=n.match.matchType(t.type));for(var o=n.activeMarks,i=0;i<t.marks.length;i++)(!n.type||n.type.allowsMarkType(t.marks[i].type))&&(o=t.marks[i].addToSet(o));return n.content.push(t.mark(o)),!0}return!1};K.prototype.enter=function(t,r,n){var o=this.findPlace(t.create(r));return o&&this.enterInner(t,r,!0,n),o};K.prototype.enterInner=function(t,r,n,o){this.closeExtra();var i=this.top;i.applyPending(t),i.match=i.match&&i.match.matchType(t,r);var s=o==null?i.options&~Xe:yi(o);i.options&Xe&&i.content.length==0&&(s|=Xe),this.nodes.push(new Zt(t,r,i.activeMarks,i.pendingMarks,n,null,s)),this.open++};K.prototype.closeExtra=function(t){var r=this.nodes.length-1;if(r>this.open){for(;r>this.open;r--)this.nodes[r-1].content.push(this.nodes[r].finish(t));this.nodes.length=this.open+1}};K.prototype.finish=function(){return this.open=0,this.closeExtra(this.isOpen),this.nodes[0].finish(this.isOpen||this.options.topOpen)};K.prototype.sync=function(t){for(var r=this.open;r>=0;r--)if(this.nodes[r]==t){this.open=r;return}};mn.currentPos.get=function(){this.closeExtra();for(var e=0,t=this.open;t>=0;t--){for(var r=this.nodes[t].content,n=r.length-1;n>=0;n--)e+=r[n].nodeSize;t&&e++}return e};K.prototype.findAtPoint=function(t,r){if(this.find)for(var n=0;n<this.find.length;n++)this.find[n].node==t&&this.find[n].offset==r&&(this.find[n].pos=this.currentPos)};K.prototype.findInside=function(t){if(this.find)for(var r=0;r<this.find.length;r++)this.find[r].pos==null&&t.nodeType==1&&t.contains(this.find[r].node)&&(this.find[r].pos=this.currentPos)};K.prototype.findAround=function(t,r,n){if(t!=r&&this.find){for(var o=0;o<this.find.length;o++)if(this.find[o].pos==null&&t.nodeType==1&&t.contains(this.find[o].node)){var i=r.compareDocumentPosition(this.find[o].node);i&(n?2:4)&&(this.find[o].pos=this.currentPos)}}};K.prototype.findInText=function(t){if(this.find)for(var r=0;r<this.find.length;r++)this.find[r].node==t&&(this.find[r].pos=this.currentPos-(t.nodeValue.length-this.find[r].offset))};K.prototype.matchesContext=function(t){var r=this;if(t.indexOf(\"|\")>-1)return t.split(/\\s*\\|\\s*/).some(this.matchesContext,this);var n=t.split(\"/\"),o=this.options.context,i=!this.isOpen&&(!o||o.parent.type==this.nodes[0].type),s=-(o?o.depth+1:0)+(i?0:1),a=function(c,l){for(;c>=0;c--){var u=n[c];if(u==\"\"){if(c==n.length-1||c==0)continue;for(;l>=s;l--)if(a(c-1,l))return!0;return!1}else{var f=l>0||l==0&&i?r.nodes[l].type:o&&l>=s?o.node(l-s).type:null;if(!f||f.name!=u&&f.groups.indexOf(u)==-1)return!1;l--}}return!0};return a(n.length-1,this.open)};K.prototype.textblockFromContext=function(){var t=this.options.context;if(t)for(var r=t.depth;r>=0;r--){var n=t.node(r).contentMatchAt(t.indexAfter(r)).defaultType;if(n&&n.isTextblock&&n.defaultAttrs)return n}for(var o in this.parser.schema.nodes){var i=this.parser.schema.nodes[o];if(i.isTextblock&&i.defaultAttrs)return i}};K.prototype.addPendingMark=function(t){var r=qc(t,this.top.pendingMarks);r&&this.top.stashMarks.push(r),this.top.pendingMarks=t.addToSet(this.top.pendingMarks)};K.prototype.removePendingMark=function(t,r){for(var n=this.open;n>=0;n--){var o=this.nodes[n],i=o.pendingMarks.lastIndexOf(t);if(i>-1)o.pendingMarks=t.removeFromSet(o.pendingMarks);else{o.activeMarks=t.removeFromSet(o.activeMarks);var s=o.popFromStashMark(t);s&&o.type&&o.type.allowsMarkType(s.type)&&(o.activeMarks=s.addToSet(o.activeMarks))}if(o==r)break}};Object.defineProperties(K.prototype,mn);function Fc(e){for(var t=e.firstChild,r=null;t;t=t.nextSibling){var n=t.nodeType==1?t.nodeName.toLowerCase():null;n&&gi.hasOwnProperty(n)&&r?(r.appendChild(t),t=r):n==\"li\"?r=t:n&&(r=null)}}function Vc(e,t){return(e.matches||e.msMatchesSelector||e.webkitMatchesSelector||e.mozMatchesSelector).call(e,t)}function Hc(e){for(var t=/\\s*([\\w-]+)\\s*:\\s*([^;]+)/g,r,n=[];r=t.exec(e);)n.push(r[1],r[2].trim());return n}function bi(e){var t={};for(var r in e)t[r]=e[r];return t}function jc(e,t){var r=t.schema.nodes,n=function(s){var a=r[s];if(!!a.allowsMarkType(e)){var c=[],l=function(u){c.push(u);for(var f=0;f<u.edgeCount;f++){var p=u.edge(f),d=p.type,h=p.next;if(d==t||c.indexOf(h)<0&&l(h))return!0}};if(l(a.contentMatch))return{v:!0}}};for(var o in r){var i=n(o);if(i)return i.v}}function qc(e,t){for(var r=0;r<t.length;r++)if(e.eq(t[r]))return t[r]}var ot=function(t,r){this.nodes=t||{},this.marks=r||{}};ot.prototype.serializeFragment=function(t,r,n){var o=this;r===void 0&&(r={}),n||(n=vn(r).createDocumentFragment());var i=n,s=null;return t.forEach(function(a){if(s||a.marks.length){s||(s=[]);for(var c=0,l=0;c<s.length&&l<a.marks.length;){var u=a.marks[l];if(!o.marks[u.type.name]){l++;continue}if(!u.eq(s[c])||u.type.spec.spanning===!1)break;c+=2,l++}for(;c<s.length;)i=s.pop(),s.pop();for(;l<a.marks.length;){var f=a.marks[l++],p=o.serializeMark(f,a.isInline,r);p&&(s.push(f,i),i.appendChild(p.dom),i=p.contentDOM||p.dom)}}i.appendChild(o.serializeNodeInner(a,r))}),n};ot.prototype.serializeNodeInner=function(t,r){r===void 0&&(r={});var n=ot.renderSpec(vn(r),this.nodes[t.type.name](t)),o=n.dom,i=n.contentDOM;if(i){if(t.isLeaf)throw new RangeError(\"Content hole not allowed in a leaf node spec\");r.onContent?r.onContent(t,i,r):this.serializeFragment(t.content,r,i)}return o};ot.prototype.serializeNode=function(t,r){r===void 0&&(r={});for(var n=this.serializeNodeInner(t,r),o=t.marks.length-1;o>=0;o--){var i=this.serializeMark(t.marks[o],t.isInline,r);i&&((i.contentDOM||i.dom).appendChild(n),n=i.dom)}return n};ot.prototype.serializeMark=function(t,r,n){n===void 0&&(n={});var o=this.marks[t.type.name];return o&&ot.renderSpec(vn(n),o(t,r))};ot.renderSpec=function(t,r,n){if(n===void 0&&(n=null),typeof r==\"string\")return{dom:t.createTextNode(r)};if(r.nodeType!=null)return{dom:r};if(r.dom&&r.dom.nodeType!=null)return r;var o=r[0],i=o.indexOf(\" \");i>0&&(n=o.slice(0,i),o=o.slice(i+1));var s=null,a=n?t.createElementNS(n,o):t.createElement(o),c=r[1],l=1;if(c&&typeof c==\"object\"&&c.nodeType==null&&!Array.isArray(c)){l=2;for(var u in c)if(c[u]!=null){var f=u.indexOf(\" \");f>0?a.setAttributeNS(u.slice(0,f),u.slice(f+1),c[u]):a.setAttribute(u,c[u])}}for(var p=l;p<r.length;p++){var d=r[p];if(d===0){if(p<r.length-1||p>l)throw new RangeError(\"Content hole must be the only child of its parent node\");return{dom:a,contentDOM:a}}else{var h=ot.renderSpec(t,d,n),v=h.dom,g=h.contentDOM;if(a.appendChild(v),g){if(s)throw new RangeError(\"Multiple content holes\");s=g}}}return{dom:a,contentDOM:s}};ot.fromSchema=function(t){return t.cached.domSerializer||(t.cached.domSerializer=new ot(this.nodesFromSchema(t),this.marksFromSchema(t)))};ot.nodesFromSchema=function(t){var r=ki(t.nodes);return r.text||(r.text=function(n){return n.text}),r};ot.marksFromSchema=function(t){return ki(t.marks)};function ki(e){var t={};for(var r in e){var n=e[r].spec.toDOM;n&&(t[r]=n)}return t}function vn(e){return e.document||window.document}var Si=65535,Mi=Math.pow(2,16);function Jc(e,t){return e+t*Mi}function xi(e){return e&Si}function Wc(e){return(e-(e&Si))/Mi}var gn=function(t,r,n){r===void 0&&(r=!1),n===void 0&&(n=null),this.pos=t,this.deleted=r,this.recover=n},it=function(t,r){r===void 0&&(r=!1),this.ranges=t,this.inverted=r};it.prototype.recover=function(t){var r=0,n=xi(t);if(!this.inverted)for(var o=0;o<n;o++)r+=this.ranges[o*3+2]-this.ranges[o*3+1];return this.ranges[n*3]+r+Wc(t)};it.prototype.mapResult=function(t,r){return r===void 0&&(r=1),this._map(t,r,!1)};it.prototype.map=function(t,r){return r===void 0&&(r=1),this._map(t,r,!0)};it.prototype._map=function(t,r,n){for(var o=0,i=this.inverted?2:1,s=this.inverted?1:2,a=0;a<this.ranges.length;a+=3){var c=this.ranges[a]-(this.inverted?o:0);if(c>t)break;var l=this.ranges[a+i],u=this.ranges[a+s],f=c+l;if(t<=f){var p=l?t==c?-1:t==f?1:r:r,d=c+o+(p<0?0:u);if(n)return d;var h=t==(r<0?c:f)?null:Jc(a/3,t-c);return new gn(d,r<0?t!=c:t!=f,h)}o+=u-l}return n?t+o:new gn(t+o)};it.prototype.touches=function(t,r){for(var n=0,o=xi(r),i=this.inverted?2:1,s=this.inverted?1:2,a=0;a<this.ranges.length;a+=3){var c=this.ranges[a]-(this.inverted?n:0);if(c>t)break;var l=this.ranges[a+i],u=c+l;if(t<=u&&a==o*3)return!0;n+=this.ranges[a+s]-l}return!1};it.prototype.forEach=function(t){for(var r=this.inverted?2:1,n=this.inverted?1:2,o=0,i=0;o<this.ranges.length;o+=3){var s=this.ranges[o],a=s-(this.inverted?i:0),c=s+(this.inverted?0:i),l=this.ranges[o+r],u=this.ranges[o+n];t(a,a+l,c,c+u),i+=u-l}};it.prototype.invert=function(){return new it(this.ranges,!this.inverted)};it.prototype.toString=function(){return(this.inverted?\"-\":\"\")+JSON.stringify(this.ranges)};it.offset=function(t){return t==0?it.empty:new it(t<0?[0,-t,0]:[0,0,t])};it.empty=new it([]);var dt=function(t,r,n,o){this.maps=t||[],this.from=n||0,this.to=o==null?this.maps.length:o,this.mirror=r};dt.prototype.slice=function(t,r){return t===void 0&&(t=0),r===void 0&&(r=this.maps.length),new dt(this.maps,this.mirror,t,r)};dt.prototype.copy=function(){return new dt(this.maps.slice(),this.mirror&&this.mirror.slice(),this.from,this.to)};dt.prototype.appendMap=function(t,r){this.to=this.maps.push(t),r!=null&&this.setMirror(this.maps.length-1,r)};dt.prototype.appendMapping=function(t){for(var r=0,n=this.maps.length;r<t.maps.length;r++){var o=t.getMirror(r);this.appendMap(t.maps[r],o!=null&&o<r?n+o:null)}};dt.prototype.getMirror=function(t){if(this.mirror){for(var r=0;r<this.mirror.length;r++)if(this.mirror[r]==t)return this.mirror[r+(r%2?-1:1)]}};dt.prototype.setMirror=function(t,r){this.mirror||(this.mirror=[]),this.mirror.push(t,r)};dt.prototype.appendMappingInverted=function(t){for(var r=t.maps.length-1,n=this.maps.length+t.maps.length;r>=0;r--){var o=t.getMirror(r);this.appendMap(t.maps[r].invert(),o!=null&&o>r?n-o-1:null)}};dt.prototype.invert=function(){var t=new dt;return t.appendMappingInverted(this),t};dt.prototype.map=function(t,r){if(r===void 0&&(r=1),this.mirror)return this._map(t,r,!0);for(var n=this.from;n<this.to;n++)t=this.maps[n].map(t,r);return t};dt.prototype.mapResult=function(t,r){return r===void 0&&(r=1),this._map(t,r,!1)};dt.prototype._map=function(t,r,n){for(var o=!1,i=this.from;i<this.to;i++){var s=this.maps[i],a=s.mapResult(t,r);if(a.recover!=null){var c=this.getMirror(i);if(c!=null&&c>i&&c<this.to){i=c,t=this.maps[c].recover(a.recover);continue}}a.deleted&&(o=!0),t=a.pos}return n?t:new gn(t,o)};function Re(e){var t=Error.call(this,e);return t.__proto__=Re.prototype,t}Re.prototype=Object.create(Error.prototype);Re.prototype.constructor=Re;Re.prototype.name=\"TransformError\";var X=function(t){this.doc=t,this.steps=[],this.docs=[],this.mapping=new dt},yn={before:{configurable:!0},docChanged:{configurable:!0}};yn.before.get=function(){return this.docs.length?this.docs[0]:this.doc};X.prototype.step=function(t){var r=this.maybeStep(t);if(r.failed)throw new Re(r.failed);return this};X.prototype.maybeStep=function(t){var r=t.apply(this.doc);return r.failed||this.addStep(t,r.doc),r};yn.docChanged.get=function(){return this.steps.length>0};X.prototype.addStep=function(t,r){this.docs.push(this.doc),this.steps.push(t),this.mapping.appendMap(t.getMap()),this.doc=r};Object.defineProperties(X.prototype,yn);function Er(){throw new Error(\"Override me\")}var bn=Object.create(null),ht=function(){};ht.prototype.apply=function(t){return Er()};ht.prototype.getMap=function(){return it.empty};ht.prototype.invert=function(t){return Er()};ht.prototype.map=function(t){return Er()};ht.prototype.merge=function(t){return null};ht.prototype.toJSON=function(){return Er()};ht.fromJSON=function(t,r){if(!r||!r.stepType)throw new RangeError(\"Invalid input for Step.fromJSON\");var n=bn[r.stepType];if(!n)throw new RangeError(\"No step type \"+r.stepType+\" defined\");return n.fromJSON(t,r)};ht.jsonID=function(t,r){if(t in bn)throw new RangeError(\"Duplicate use of step JSON ID \"+t);return bn[t]=r,r.prototype.jsonID=t,r};var bt=function(t,r){this.doc=t,this.failed=r};bt.ok=function(t){return new bt(t,null)};bt.fail=function(t){return new bt(null,t)};bt.fromReplace=function(t,r,n,o){try{return bt.ok(t.replace(r,n,o))}catch(i){if(i instanceof Jt)return bt.fail(i.message);throw i}};var te=function(e){function t(r,n,o,i){e.call(this),this.from=r,this.to=n,this.slice=o,this.structure=!!i}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.apply=function(n){return this.structure&&kn(n,this.from,this.to)?bt.fail(\"Structure replace would overwrite content\"):bt.fromReplace(n,this.from,this.to,this.slice)},t.prototype.getMap=function(){return new it([this.from,this.to-this.from,this.slice.size])},t.prototype.invert=function(n){return new t(this.from,this.from+this.slice.size,n.slice(this.from,this.to))},t.prototype.map=function(n){var o=n.mapResult(this.from,1),i=n.mapResult(this.to,-1);return o.deleted&&i.deleted?null:new t(o.pos,Math.max(o.pos,i.pos),this.slice)},t.prototype.merge=function(n){if(!(n instanceof t)||n.structure||this.structure)return null;if(this.from+this.slice.size==n.from&&!this.slice.openEnd&&!n.slice.openStart){var o=this.slice.size+n.slice.size==0?C.empty:new C(this.slice.content.append(n.slice.content),this.slice.openStart,n.slice.openEnd);return new t(this.from,this.to+(n.to-n.from),o,this.structure)}else if(n.to==this.from&&!this.slice.openStart&&!n.slice.openEnd){var i=this.slice.size+n.slice.size==0?C.empty:new C(n.slice.content.append(this.slice.content),n.slice.openStart,this.slice.openEnd);return new t(n.from,this.to,i,this.structure)}else return null},t.prototype.toJSON=function(){var n={stepType:\"replace\",from:this.from,to:this.to};return this.slice.size&&(n.slice=this.slice.toJSON()),this.structure&&(n.structure=!0),n},t.fromJSON=function(n,o){if(typeof o.from!=\"number\"||typeof o.to!=\"number\")throw new RangeError(\"Invalid input for ReplaceStep.fromJSON\");return new t(o.from,o.to,C.fromJSON(n,o.slice),!!o.structure)},t}(ht);ht.jsonID(\"replace\",te);var xt=function(e){function t(r,n,o,i,s,a,c){e.call(this),this.from=r,this.to=n,this.gapFrom=o,this.gapTo=i,this.slice=s,this.insert=a,this.structure=!!c}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.apply=function(n){if(this.structure&&(kn(n,this.from,this.gapFrom)||kn(n,this.gapTo,this.to)))return bt.fail(\"Structure gap-replace would overwrite content\");var o=n.slice(this.gapFrom,this.gapTo);if(o.openStart||o.openEnd)return bt.fail(\"Gap is not a flat range\");var i=this.slice.insertAt(this.insert,o.content);return i?bt.fromReplace(n,this.from,this.to,i):bt.fail(\"Content does not fit in gap\")},t.prototype.getMap=function(){return new it([this.from,this.gapFrom-this.from,this.insert,this.gapTo,this.to-this.gapTo,this.slice.size-this.insert])},t.prototype.invert=function(n){var o=this.gapTo-this.gapFrom;return new t(this.from,this.from+this.slice.size+o,this.from+this.insert,this.from+this.insert+o,n.slice(this.from,this.to).removeBetween(this.gapFrom-this.from,this.gapTo-this.from),this.gapFrom-this.from,this.structure)},t.prototype.map=function(n){var o=n.mapResult(this.from,1),i=n.mapResult(this.to,-1),s=n.map(this.gapFrom,-1),a=n.map(this.gapTo,1);return o.deleted&&i.deleted||s<o.pos||a>i.pos?null:new t(o.pos,i.pos,s,a,this.slice,this.insert,this.structure)},t.prototype.toJSON=function(){var n={stepType:\"replaceAround\",from:this.from,to:this.to,gapFrom:this.gapFrom,gapTo:this.gapTo,insert:this.insert};return this.slice.size&&(n.slice=this.slice.toJSON()),this.structure&&(n.structure=!0),n},t.fromJSON=function(n,o){if(typeof o.from!=\"number\"||typeof o.to!=\"number\"||typeof o.gapFrom!=\"number\"||typeof o.gapTo!=\"number\"||typeof o.insert!=\"number\")throw new RangeError(\"Invalid input for ReplaceAroundStep.fromJSON\");return new t(o.from,o.to,o.gapFrom,o.gapTo,C.fromJSON(n,o.slice),o.insert,!!o.structure)},t}(ht);ht.jsonID(\"replaceAround\",xt);function kn(e,t,r){for(var n=e.resolve(t),o=r-t,i=n.depth;o>0&&i>0&&n.indexAfter(i)==n.node(i).childCount;)i--,o--;if(o>0)for(var s=n.node(i).maybeChild(n.indexAfter(i));o>0;){if(!s||s.isLeaf)return!0;s=s.firstChild,o--}return!1}function Kc(e,t,r){return(t==0||e.canReplace(t,e.childCount))&&(r==e.childCount||e.canReplace(0,r))}function Pe(e){for(var t=e.parent,r=t.content.cutByIndex(e.startIndex,e.endIndex),n=e.depth;;--n){var o=e.$from.node(n),i=e.$from.index(n),s=e.$to.indexAfter(n);if(n<e.depth&&o.canReplace(i,s,r))return n;if(n==0||o.type.spec.isolating||!Kc(o,i,s))break}}X.prototype.lift=function(e,t){for(var r=e.$from,n=e.$to,o=e.depth,i=r.before(o+1),s=n.after(o+1),a=i,c=s,l=k.empty,u=0,f=o,p=!1;f>t;f--)p||r.index(f)>0?(p=!0,l=k.from(r.node(f).copy(l)),u++):a--;for(var d=k.empty,h=0,v=o,g=!1;v>t;v--)g||n.after(v+1)<n.end(v)?(g=!0,d=k.from(n.node(v).copy(d)),h++):c++;return this.step(new xt(a,c,i,s,new C(l.append(d),u,h),l.size-u,!0))};function Sn(e,t,r,n){n===void 0&&(n=e);var o=$c(e,t),i=o&&Uc(n,t);return i?o.map(Ci).concat({type:t,attrs:r}).concat(i.map(Ci)):null}function Ci(e){return{type:e,attrs:null}}function $c(e,t){var r=e.parent,n=e.startIndex,o=e.endIndex,i=r.contentMatchAt(n).findWrapping(t);if(!i)return null;var s=i.length?i[0]:t;return r.canReplaceWith(n,o,s)?i:null}function Uc(e,t){var r=e.parent,n=e.startIndex,o=e.endIndex,i=r.child(n),s=t.contentMatch.findWrapping(i.type);if(!s)return null;for(var a=s.length?s[s.length-1]:t,c=a.contentMatch,l=n;c&&l<o;l++)c=c.matchType(r.child(l).type);return!c||!c.validEnd?null:s}X.prototype.wrap=function(e,t){for(var r=k.empty,n=t.length-1;n>=0;n--)r=k.from(t[n].type.create(t[n].attrs,r));var o=e.start,i=e.end;return this.step(new xt(o,i,o,i,new C(r,0,0),t.length,!0))};X.prototype.setBlockType=function(e,t,r,n){var o=this;if(t===void 0&&(t=e),!r.isTextblock)throw new RangeError(\"Type given to setBlockType should be a textblock\");var i=this.steps.length;return this.doc.nodesBetween(e,t,function(s,a){if(s.isTextblock&&!s.hasMarkup(r,n)&&Gc(o.doc,o.mapping.slice(i).map(a),r)){o.clearIncompatible(o.mapping.slice(i).map(a,1),r);var c=o.mapping.slice(i),l=c.map(a,1),u=c.map(a+s.nodeSize,1);return o.step(new xt(l,u,l+1,u-1,new C(k.from(r.create(n,null,s.marks)),0,0),1,!0)),!1}}),this};function Gc(e,t,r){var n=e.resolve(t),o=n.index();return n.parent.canReplaceWith(o,o+1,r)}X.prototype.setNodeMarkup=function(e,t,r,n){var o=this.doc.nodeAt(e);if(!o)throw new RangeError(\"No node at given position\");t||(t=o.type);var i=t.create(r,null,n||o.marks);if(o.isLeaf)return this.replaceWith(e,e+o.nodeSize,i);if(!t.validContent(o.content))throw new RangeError(\"Invalid content for node type \"+t.name);return this.step(new xt(e,e+o.nodeSize,e+1,e+o.nodeSize-1,new C(k.from(i),0,0),1,!0))};function ee(e,t,r,n){r===void 0&&(r=1);var o=e.resolve(t),i=o.depth-r,s=n&&n[n.length-1]||o.parent;if(i<0||o.parent.type.spec.isolating||!o.parent.canReplace(o.index(),o.parent.childCount)||!s.type.validContent(o.parent.content.cutByIndex(o.index(),o.parent.childCount)))return!1;for(var a=o.depth-1,c=r-2;a>i;a--,c--){var l=o.node(a),u=o.index(a);if(l.type.spec.isolating)return!1;var f=l.content.cutByIndex(u,l.childCount),p=n&&n[c]||l;if(p!=l&&(f=f.replaceChild(0,p.type.create(p.attrs))),!l.canReplace(u+1,l.childCount)||!p.type.validContent(f))return!1}var d=o.indexAfter(i),h=n&&n[0];return o.node(i).canReplaceWith(d,d,h?h.type:o.node(i+1).type)}X.prototype.split=function(e,t,r){t===void 0&&(t=1);for(var n=this.doc.resolve(e),o=k.empty,i=k.empty,s=n.depth,a=n.depth-t,c=t-1;s>a;s--,c--){o=k.from(n.node(s).copy(o));var l=r&&r[c];i=k.from(l?l.type.create(l.attrs,i):n.node(s).copy(i))}return this.step(new te(e,e,new C(o.append(i),t,t),!0))};function Mn(e,t){var r=e.resolve(t),n=r.index();return Yc(r.nodeBefore,r.nodeAfter)&&r.parent.canReplace(n,n+1)}function Yc(e,t){return e&&t&&!e.isLeaf&&e.canAppend(t)}X.prototype.join=function(e,t){t===void 0&&(t=1);var r=new te(e-t,e+t,C.empty,!0);return this.step(r)};function Xc(e,t,r){var n=e.resolve(t);if(n.parent.canReplaceWith(n.index(),n.index(),r))return t;if(n.parentOffset==0)for(var o=n.depth-1;o>=0;o--){var i=n.index(o);if(n.node(o).canReplaceWith(i,i,r))return n.before(o+1);if(i>0)return null}if(n.parentOffset==n.parent.content.size)for(var s=n.depth-1;s>=0;s--){var a=n.indexAfter(s);if(n.node(s).canReplaceWith(a,a,r))return n.after(s+1);if(a<n.node(s).childCount)return null}}function Oi(e,t,r){var n=e.resolve(t);if(!r.content.size)return t;for(var o=r.content,i=0;i<r.openStart;i++)o=o.firstChild.content;for(var s=1;s<=(r.openStart==0&&r.size?2:1);s++)for(var a=n.depth;a>=0;a--){var c=a==n.depth?0:n.pos<=(n.start(a+1)+n.end(a+1))/2?-1:1,l=n.index(a)+(c>0?1:0),u=n.node(a),f=!1;if(s==1)f=u.canReplace(l,l,o);else{var p=u.contentMatchAt(l).findWrapping(o.firstChild.type);f=p&&u.canReplaceWith(l,l,p[0])}if(f)return c==0?n.pos:c<0?n.before(a+1):n.after(a+1)}return null}function xn(e,t,r){for(var n=[],o=0;o<e.childCount;o++){var i=e.child(o);i.content.size&&(i=i.copy(xn(i.content,t,i))),i.isInline&&(i=t(i,r,o)),n.push(i)}return k.fromArray(n)}var Cn=function(e){function t(r,n,o){e.call(this),this.from=r,this.to=n,this.mark=o}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.apply=function(n){var o=this,i=n.slice(this.from,this.to),s=n.resolve(this.from),a=s.node(s.sharedDepth(this.to)),c=new C(xn(i.content,function(l,u){return!l.isAtom||!u.type.allowsMarkType(o.mark.type)?l:l.mark(o.mark.addToSet(l.marks))},a),i.openStart,i.openEnd);return bt.fromReplace(n,this.from,this.to,c)},t.prototype.invert=function(){return new Qe(this.from,this.to,this.mark)},t.prototype.map=function(n){var o=n.mapResult(this.from,1),i=n.mapResult(this.to,-1);return o.deleted&&i.deleted||o.pos>=i.pos?null:new t(o.pos,i.pos,this.mark)},t.prototype.merge=function(n){if(n instanceof t&&n.mark.eq(this.mark)&&this.from<=n.to&&this.to>=n.from)return new t(Math.min(this.from,n.from),Math.max(this.to,n.to),this.mark)},t.prototype.toJSON=function(){return{stepType:\"addMark\",mark:this.mark.toJSON(),from:this.from,to:this.to}},t.fromJSON=function(n,o){if(typeof o.from!=\"number\"||typeof o.to!=\"number\")throw new RangeError(\"Invalid input for AddMarkStep.fromJSON\");return new t(o.from,o.to,n.markFromJSON(o.mark))},t}(ht);ht.jsonID(\"addMark\",Cn);var Qe=function(e){function t(r,n,o){e.call(this),this.from=r,this.to=n,this.mark=o}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.apply=function(n){var o=this,i=n.slice(this.from,this.to),s=new C(xn(i.content,function(a){return a.mark(o.mark.removeFromSet(a.marks))}),i.openStart,i.openEnd);return bt.fromReplace(n,this.from,this.to,s)},t.prototype.invert=function(){return new Cn(this.from,this.to,this.mark)},t.prototype.map=function(n){var o=n.mapResult(this.from,1),i=n.mapResult(this.to,-1);return o.deleted&&i.deleted||o.pos>=i.pos?null:new t(o.pos,i.pos,this.mark)},t.prototype.merge=function(n){if(n instanceof t&&n.mark.eq(this.mark)&&this.from<=n.to&&this.to>=n.from)return new t(Math.min(this.from,n.from),Math.max(this.to,n.to),this.mark)},t.prototype.toJSON=function(){return{stepType:\"removeMark\",mark:this.mark.toJSON(),from:this.from,to:this.to}},t.fromJSON=function(n,o){if(typeof o.from!=\"number\"||typeof o.to!=\"number\")throw new RangeError(\"Invalid input for RemoveMarkStep.fromJSON\");return new t(o.from,o.to,n.markFromJSON(o.mark))},t}(ht);ht.jsonID(\"removeMark\",Qe);X.prototype.addMark=function(e,t,r){var n=this,o=[],i=[],s=null,a=null;return this.doc.nodesBetween(e,t,function(c,l,u){if(!!c.isInline){var f=c.marks;if(!r.isInSet(f)&&u.type.allowsMarkType(r.type)){for(var p=Math.max(l,e),d=Math.min(l+c.nodeSize,t),h=r.addToSet(f),v=0;v<f.length;v++)f[v].isInSet(h)||(s&&s.to==p&&s.mark.eq(f[v])?s.to=d:o.push(s=new Qe(p,d,f[v])));a&&a.to==p?a.to=d:i.push(a=new Cn(p,d,r))}}}),o.forEach(function(c){return n.step(c)}),i.forEach(function(c){return n.step(c)}),this};X.prototype.removeMark=function(e,t,r){var n=this;r===void 0&&(r=null);var o=[],i=0;return this.doc.nodesBetween(e,t,function(s,a){if(!!s.isInline){i++;var c=null;if(r instanceof ie)for(var l=s.marks,u;u=r.isInSet(l);)(c||(c=[])).push(u),l=u.removeFromSet(l);else r?r.isInSet(s.marks)&&(c=[r]):c=s.marks;if(c&&c.length)for(var f=Math.min(a+s.nodeSize,t),p=0;p<c.length;p++){for(var d=c[p],h=void 0,v=0;v<o.length;v++){var g=o[v];g.step==i-1&&d.eq(o[v].style)&&(h=g)}h?(h.to=f,h.step=i):o.push({style:d,from:Math.max(a,e),to:f,step:i})}}}),o.forEach(function(s){return n.step(new Qe(s.from,s.to,s.style))}),this};X.prototype.clearIncompatible=function(e,t,r){r===void 0&&(r=t.contentMatch);for(var n=this.doc.nodeAt(e),o=[],i=e+1,s=0;s<n.childCount;s++){var a=n.child(s),c=i+a.nodeSize,l=r.matchType(a.type,a.attrs);if(!l)o.push(new te(i,c,C.empty));else{r=l;for(var u=0;u<a.marks.length;u++)t.allowsMarkType(a.marks[u].type)||this.step(new Qe(i,c,a.marks[u]))}i=c}if(!r.validEnd){var f=r.fillBefore(k.empty,!0);this.replace(i,i,new C(f,0,0))}for(var p=o.length-1;p>=0;p--)this.step(o[p]);return this};function Qc(e,t,r,n){if(r===void 0&&(r=t),n===void 0&&(n=C.empty),t==r&&!n.size)return null;var o=e.resolve(t),i=e.resolve(r);return wi(o,i,n)?new te(t,r,n):new It(o,i,n).fit()}X.prototype.replace=function(e,t,r){t===void 0&&(t=e),r===void 0&&(r=C.empty);var n=Qc(this.doc,e,t,r);return n&&this.step(n),this};X.prototype.replaceWith=function(e,t,r){return this.replace(e,t,new C(k.from(r),0,0))};X.prototype.delete=function(e,t){return this.replace(e,t,C.empty)};X.prototype.insert=function(e,t){return this.replaceWith(e,e,t)};function wi(e,t,r){return!r.openStart&&!r.openEnd&&e.start()==t.start()&&e.parent.canReplace(e.index(),t.index(),r.content)}var It=function(t,r,n){this.$to=r,this.$from=t,this.unplaced=n,this.frontier=[];for(var o=0;o<=t.depth;o++){var i=t.node(o);this.frontier.push({type:i.type,match:i.contentMatchAt(t.indexAfter(o))})}this.placed=k.empty;for(var s=t.depth;s>0;s--)this.placed=k.from(t.node(s).copy(this.placed))},Ti={depth:{configurable:!0}};Ti.depth.get=function(){return this.frontier.length-1};It.prototype.fit=function(){for(;this.unplaced.size;){var t=this.findFittable();t?this.placeNodes(t):this.openMore()||this.dropNode()}var r=this.mustMoveInline(),n=this.placed.size-this.depth-this.$from.depth,o=this.$from,i=this.close(r<0?this.$to:o.doc.resolve(r));if(!i)return null;for(var s=this.placed,a=o.depth,c=i.depth;a&&c&&s.childCount==1;)s=s.firstChild.content,a--,c--;var l=new C(s,a,c);if(r>-1)return new xt(o.pos,r,this.$to.pos,this.$to.end(),l,n);if(l.size||o.pos!=this.$to.pos)return new te(o.pos,i.pos,l)};It.prototype.findFittable=function(){for(var t=1;t<=2;t++)for(var r=this.unplaced.openStart;r>=0;r--){var n=void 0,o=void 0;r?(o=On(this.unplaced.content,r-1).firstChild,n=o.content):n=this.unplaced.content;for(var i=n.firstChild,s=this.depth;s>=0;s--){var a=this.frontier[s],c=a.type,l=a.match,u=void 0,f=void 0;if(t==1&&(i?l.matchType(i.type)||(f=l.fillBefore(k.from(i),!1)):c.compatibleContent(o.type)))return{sliceDepth:r,frontierDepth:s,parent:o,inject:f};if(t==2&&i&&(u=l.findWrapping(i.type)))return{sliceDepth:r,frontierDepth:s,parent:o,wrap:u};if(o&&l.matchType(o.type))break}}};It.prototype.openMore=function(){var t=this.unplaced,r=t.content,n=t.openStart,o=t.openEnd,i=On(r,n);return!i.childCount||i.firstChild.isLeaf?!1:(this.unplaced=new C(r,n+1,Math.max(o,i.size+n>=r.size-o?n+1:0)),!0)};It.prototype.dropNode=function(){var t=this.unplaced,r=t.content,n=t.openStart,o=t.openEnd,i=On(r,n);if(i.childCount<=1&&n>0){var s=r.size-n<=n+i.size;this.unplaced=new C(Ze(r,n-1,1),n-1,s?n-1:o)}else this.unplaced=new C(Ze(r,n,1),n,o)};It.prototype.placeNodes=function(t){for(var r=t.sliceDepth,n=t.frontierDepth,o=t.parent,i=t.inject,s=t.wrap;this.depth>n;)this.closeFrontierNode();if(s)for(var a=0;a<s.length;a++)this.openFrontierNode(s[a]);var c=this.unplaced,l=o?o.content:c.content,u=c.openStart-r,f=0,p=[],d=this.frontier[n],h=d.match,v=d.type;if(i){for(var g=0;g<i.childCount;g++)p.push(i.child(g));h=h.matchFragment(i)}for(var M=l.size+r-(c.content.size-c.openEnd);f<l.childCount;){var y=l.child(f),R=h.matchType(y.type);if(!R)break;f++,(f>1||u==0||y.content.size)&&(h=R,p.push(Ai(y.mark(v.allowedMarks(y.marks)),f==1?u:0,f==l.childCount?M:-1)))}var m=f==l.childCount;m||(M=-1),this.placed=tr(this.placed,n,k.from(p)),this.frontier[n].match=h,m&&M<0&&o&&o.type==this.frontier[this.depth].type&&this.frontier.length>1&&this.closeFrontierNode();for(var I=0,O=l;I<M;I++){var F=O.lastChild;this.frontier.push({type:F.type,match:F.contentMatchAt(F.childCount)}),O=F.content}this.unplaced=m?r==0?C.empty:new C(Ze(c.content,r-1,1),r-1,M<0?c.openEnd:r-1):new C(Ze(c.content,r,f),c.openStart,c.openEnd)};It.prototype.mustMoveInline=function(){if(!this.$to.parent.isTextblock||this.$to.end()==this.$to.pos)return-1;var t=this.frontier[this.depth],r;if(!t.type.isTextblock||!wn(this.$to,this.$to.depth,t.type,t.match,!1)||this.$to.depth==this.depth&&(r=this.findCloseLevel(this.$to))&&r.depth==this.depth)return-1;for(var n=this.$to,o=n.depth,i=this.$to.after(o);o>1&&i==this.$to.end(--o);)++i;return i};It.prototype.findCloseLevel=function(t){t:for(var r=Math.min(this.depth,t.depth);r>=0;r--){var n=this.frontier[r],o=n.match,i=n.type,s=r<t.depth&&t.end(r+1)==t.pos+(t.depth-(r+1)),a=wn(t,r,i,o,s);if(!!a){for(var c=r-1;c>=0;c--){var l=this.frontier[c],u=l.match,f=l.type,p=wn(t,c,f,u,!0);if(!p||p.childCount)continue t}return{depth:r,fit:a,move:s?t.doc.resolve(t.after(r+1)):t}}}};It.prototype.close=function(t){var r=this.findCloseLevel(t);if(!r)return null;for(;this.depth>r.depth;)this.closeFrontierNode();r.fit.childCount&&(this.placed=tr(this.placed,r.depth,r.fit)),t=r.move;for(var n=r.depth+1;n<=t.depth;n++){var o=t.node(n),i=o.type.contentMatch.fillBefore(o.content,!0,t.index(n));this.openFrontierNode(o.type,o.attrs,i)}return t};It.prototype.openFrontierNode=function(t,r,n){var o=this.frontier[this.depth];o.match=o.match.matchType(t),this.placed=tr(this.placed,this.depth,k.from(t.create(r,n))),this.frontier.push({type:t,match:t.contentMatch})};It.prototype.closeFrontierNode=function(){var t=this.frontier.pop(),r=t.match.fillBefore(k.empty,!0);r.childCount&&(this.placed=tr(this.placed,this.frontier.length,r))};Object.defineProperties(It.prototype,Ti);function Ze(e,t,r){return t==0?e.cutByIndex(r):e.replaceChild(0,e.firstChild.copy(Ze(e.firstChild.content,t-1,r)))}function tr(e,t,r){return t==0?e.append(r):e.replaceChild(e.childCount-1,e.lastChild.copy(tr(e.lastChild.content,t-1,r)))}function On(e,t){for(var r=0;r<t;r++)e=e.firstChild.content;return e}function Ai(e,t,r){if(t<=0)return e;var n=e.content;return t>1&&(n=n.replaceChild(0,Ai(n.firstChild,t-1,n.childCount==1?r-1:0))),t>0&&(n=e.type.contentMatch.fillBefore(n).append(n),r<=0&&(n=n.append(e.type.contentMatch.matchFragment(n).fillBefore(k.empty,!0)))),e.copy(n)}function wn(e,t,r,n,o){var i=e.node(t),s=o?e.indexAfter(t):e.index(t);if(s==i.childCount&&!r.compatibleContent(i.type))return null;var a=n.fillBefore(i.content,!0,s);return a&&!Zc(r,i.content,s)?a:null}function Zc(e,t,r){for(var n=r;n<t.childCount;n++)if(!e.allowsMarks(t.child(n).marks))return!0;return!1}X.prototype.replaceRange=function(e,t,r){if(!r.size)return this.deleteRange(e,t);var n=this.doc.resolve(e),o=this.doc.resolve(t);if(wi(n,o,r))return this.step(new te(e,t,r));var i=Ni(n,this.doc.resolve(t));i[i.length-1]==0&&i.pop();var s=-(n.depth+1);i.unshift(s);for(var a=n.depth,c=n.pos-1;a>0;a--,c--){var l=n.node(a).type.spec;if(l.defining||l.isolating)break;i.indexOf(a)>-1?s=a:n.before(a)==c&&i.splice(1,0,-a)}for(var u=i.indexOf(s),f=[],p=r.openStart,d=r.content,h=0;;h++){var v=d.firstChild;if(f.push(v),h==r.openStart)break;d=v.content}p>0&&f[p-1].type.spec.defining&&n.node(u).type!=f[p-1].type?p-=1:p>=2&&f[p-1].isTextblock&&f[p-2].type.spec.defining&&n.node(u).type!=f[p-2].type&&(p-=2);for(var g=r.openStart;g>=0;g--){var M=(g+p+1)%(r.openStart+1),y=f[M];if(!!y)for(var R=0;R<i.length;R++){var m=i[(R+u)%i.length],I=!0;m<0&&(I=!1,m=-m);var O=n.node(m-1),F=n.index(m-1);if(O.canReplaceWith(F,F,y.type,y.marks))return this.replace(n.before(m),I?o.after(m):t,new C(_i(r.content,0,r.openStart,M),M,r.openEnd))}}for(var J=this.steps.length,U=i.length-1;U>=0&&(this.replace(e,t,r),!(this.steps.length>J));U--){var T=i[U];T<0||(e=n.before(T),t=o.after(T))}return this};function _i(e,t,r,n,o){if(t<r){var i=e.firstChild;e=e.replaceChild(0,i.copy(_i(i.content,t+1,r,n,i)))}if(t>n){var s=o.contentMatchAt(0),a=s.fillBefore(e).append(e);e=a.append(s.matchFragment(a).fillBefore(k.empty,!0))}return e}X.prototype.replaceRangeWith=function(e,t,r){if(!r.isInline&&e==t&&this.doc.resolve(e).parent.content.size){var n=Xc(this.doc,e,r.type);n!=null&&(e=t=n)}return this.replaceRange(e,t,new C(k.from(r),0,0))};X.prototype.deleteRange=function(e,t){for(var r=this.doc.resolve(e),n=this.doc.resolve(t),o=Ni(r,n),i=0;i<o.length;i++){var s=o[i],a=i==o.length-1;if(a&&s==0||r.node(s).type.contentMatch.validEnd)return this.delete(r.start(s),n.end(s));if(s>0&&(a||r.node(s-1).canReplace(r.index(s-1),n.indexAfter(s-1))))return this.delete(r.before(s),n.after(s))}for(var c=1;c<=r.depth&&c<=n.depth;c++)if(e-r.start(c)==r.depth-c&&t>r.end(c)&&n.end(c)-t!=n.depth-c)return this.delete(r.before(c),t);return this.delete(e,t)};function Ni(e,t){for(var r=[],n=Math.min(e.depth,t.depth),o=n;o>=0;o--){var i=e.start(o);if(i<e.pos-(e.depth-o)||t.end(o)>t.pos+(t.depth-o)||e.node(o).type.spec.isolating||t.node(o).type.spec.isolating)break;i==t.start(o)&&r.push(o)}return r}var Tn=Object.create(null),D=function(t,r,n){this.ranges=n||[new tl(t.min(r),t.max(r))],this.$anchor=t,this.$head=r},se={anchor:{configurable:!0},head:{configurable:!0},from:{configurable:!0},to:{configurable:!0},$from:{configurable:!0},$to:{configurable:!0},empty:{configurable:!0}};se.anchor.get=function(){return this.$anchor.pos};se.head.get=function(){return this.$head.pos};se.from.get=function(){return this.$from.pos};se.to.get=function(){return this.$to.pos};se.$from.get=function(){return this.ranges[0].$from};se.$to.get=function(){return this.ranges[0].$to};se.empty.get=function(){for(var e=this.ranges,t=0;t<e.length;t++)if(e[t].$from.pos!=e[t].$to.pos)return!1;return!0};D.prototype.content=function(){return this.$from.node(0).slice(this.from,this.to,!0)};D.prototype.replace=function(t,r){r===void 0&&(r=C.empty);for(var n=r.content.lastChild,o=null,i=0;i<r.openEnd;i++)o=n,n=n.lastChild;for(var s=t.steps.length,a=this.ranges,c=0;c<a.length;c++){var l=a[c],u=l.$from,f=l.$to,p=t.mapping.slice(s);t.replaceRange(p.map(u.pos),p.map(f.pos),c?C.empty:r),c==0&&Ei(t,s,(n?n.isInline:o&&o.isTextblock)?-1:1)}};D.prototype.replaceWith=function(t,r){for(var n=t.steps.length,o=this.ranges,i=0;i<o.length;i++){var s=o[i],a=s.$from,c=s.$to,l=t.mapping.slice(n),u=l.map(a.pos),f=l.map(c.pos);i?t.deleteRange(u,f):(t.replaceRangeWith(u,f,r),Ei(t,n,r.isInline?-1:1))}};D.findFrom=function(t,r,n){var o=t.parent.inlineContent?new H(t):Be(t.node(0),t.parent,t.pos,t.index(),r,n);if(o)return o;for(var i=t.depth-1;i>=0;i--){var s=r<0?Be(t.node(0),t.node(i),t.before(i+1),t.index(i),r,n):Be(t.node(0),t.node(i),t.after(i+1),t.index(i)+1,r,n);if(s)return s}};D.near=function(t,r){return r===void 0&&(r=1),this.findFrom(t,r)||this.findFrom(t,-r)||new re(t.node(0))};D.atStart=function(t){return Be(t,t,0,0,1)||new re(t)};D.atEnd=function(t){return Be(t,t,t.content.size,t.childCount,-1)||new re(t)};D.fromJSON=function(t,r){if(!r||!r.type)throw new RangeError(\"Invalid input for Selection.fromJSON\");var n=Tn[r.type];if(!n)throw new RangeError(\"No selection type \"+r.type+\" defined\");return n.fromJSON(t,r)};D.jsonID=function(t,r){if(t in Tn)throw new RangeError(\"Duplicate use of selection JSON ID \"+t);return Tn[t]=r,r.prototype.jsonID=t,r};D.prototype.getBookmark=function(){return H.between(this.$anchor,this.$head).getBookmark()};Object.defineProperties(D.prototype,se);D.prototype.visible=!0;var tl=function(t,r){this.$from=t,this.$to=r},H=function(e){function t(n,o){o===void 0&&(o=n),e.call(this,n,o)}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var r={$cursor:{configurable:!0}};return r.$cursor.get=function(){return this.$anchor.pos==this.$head.pos?this.$head:null},t.prototype.map=function(o,i){var s=o.resolve(i.map(this.head));if(!s.parent.inlineContent)return e.near(s);var a=o.resolve(i.map(this.anchor));return new t(a.parent.inlineContent?a:s,s)},t.prototype.replace=function(o,i){if(i===void 0&&(i=C.empty),e.prototype.replace.call(this,o,i),i==C.empty){var s=this.$from.marksAcross(this.$to);s&&o.ensureMarks(s)}},t.prototype.eq=function(o){return o instanceof t&&o.anchor==this.anchor&&o.head==this.head},t.prototype.getBookmark=function(){return new er(this.anchor,this.head)},t.prototype.toJSON=function(){return{type:\"text\",anchor:this.anchor,head:this.head}},t.fromJSON=function(o,i){if(typeof i.anchor!=\"number\"||typeof i.head!=\"number\")throw new RangeError(\"Invalid input for TextSelection.fromJSON\");return new t(o.resolve(i.anchor),o.resolve(i.head))},t.create=function(o,i,s){s===void 0&&(s=i);var a=o.resolve(i);return new this(a,s==i?a:o.resolve(s))},t.between=function(o,i,s){var a=o.pos-i.pos;if((!s||a)&&(s=a>=0?1:-1),!i.parent.inlineContent){var c=e.findFrom(i,s,!0)||e.findFrom(i,-s,!0);if(c)i=c.$head;else return e.near(i,s)}return o.parent.inlineContent||(a==0?o=i:(o=(e.findFrom(o,-s,!0)||e.findFrom(o,s,!0)).$anchor,o.pos<i.pos!=a<0&&(o=i))),new t(o,i)},Object.defineProperties(t.prototype,r),t}(D);D.jsonID(\"text\",H);var er=function(t,r){this.anchor=t,this.head=r};er.prototype.map=function(t){return new er(t.map(this.anchor),t.map(this.head))};er.prototype.resolve=function(t){return H.between(t.resolve(this.anchor),t.resolve(this.head))};var E=function(e){function t(r){var n=r.nodeAfter,o=r.node(0).resolve(r.pos+n.nodeSize);e.call(this,r,o),this.node=n}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.map=function(n,o){var i=o.mapResult(this.anchor),s=i.deleted,a=i.pos,c=n.resolve(a);return s?e.near(c):new t(c)},t.prototype.content=function(){return new C(k.from(this.node),0,0)},t.prototype.eq=function(n){return n instanceof t&&n.anchor==this.anchor},t.prototype.toJSON=function(){return{type:\"node\",anchor:this.anchor}},t.prototype.getBookmark=function(){return new Dr(this.anchor)},t.fromJSON=function(n,o){if(typeof o.anchor!=\"number\")throw new RangeError(\"Invalid input for NodeSelection.fromJSON\");return new t(n.resolve(o.anchor))},t.create=function(n,o){return new this(n.resolve(o))},t.isSelectable=function(n){return!n.isText&&n.type.spec.selectable!==!1},t}(D);E.prototype.visible=!1;D.jsonID(\"node\",E);var Dr=function(t){this.anchor=t};Dr.prototype.map=function(t){var r=t.mapResult(this.anchor),n=r.deleted,o=r.pos;return n?new er(o,o):new Dr(o)};Dr.prototype.resolve=function(t){var r=t.resolve(this.anchor),n=r.nodeAfter;return n&&E.isSelectable(n)?new E(r):D.near(r)};var re=function(e){function t(r){e.call(this,r.resolve(0),r.resolve(r.content.size))}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.replace=function(n,o){if(o===void 0&&(o=C.empty),o==C.empty){n.delete(0,n.doc.content.size);var i=e.atStart(n.doc);i.eq(n.selection)||n.setSelection(i)}else e.prototype.replace.call(this,n,o)},t.prototype.toJSON=function(){return{type:\"all\"}},t.fromJSON=function(n){return new t(n)},t.prototype.map=function(n){return new t(n)},t.prototype.eq=function(n){return n instanceof t},t.prototype.getBookmark=function(){return el},t}(D);D.jsonID(\"all\",re);var el={map:function(){return this},resolve:function(t){return new re(t)}};function Be(e,t,r,n,o,i){if(t.inlineContent)return H.create(e,r);for(var s=n-(o>0?0:1);o>0?s<t.childCount:s>=0;s+=o){var a=t.child(s);if(a.isAtom){if(!i&&E.isSelectable(a))return E.create(e,r-(o<0?a.nodeSize:0))}else{var c=Be(e,a,r+o,o<0?a.childCount:0,o,i);if(c)return c}r+=a.nodeSize*o}}function Ei(e,t,r){var n=e.steps.length-1;if(!(n<t)){var o=e.steps[n];if(o instanceof te||o instanceof xt){var i=e.mapping.maps[n],s;i.forEach(function(a,c,l,u){s==null&&(s=u)}),e.setSelection(D.near(e.doc.resolve(s),r))}}}var Di=1,Ir=2,Ii=4,rl=function(e){function t(n){e.call(this,n.doc),this.time=Date.now(),this.curSelection=n.selection,this.curSelectionFor=0,this.storedMarks=n.storedMarks,this.updated=0,this.meta=Object.create(null)}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var r={selection:{configurable:!0},selectionSet:{configurable:!0},storedMarksSet:{configurable:!0},isGeneric:{configurable:!0},scrolledIntoView:{configurable:!0}};return r.selection.get=function(){return this.curSelectionFor<this.steps.length&&(this.curSelection=this.curSelection.map(this.doc,this.mapping.slice(this.curSelectionFor)),this.curSelectionFor=this.steps.length),this.curSelection},t.prototype.setSelection=function(o){if(o.$from.doc!=this.doc)throw new RangeError(\"Selection passed to setSelection must point at the current document\");return this.curSelection=o,this.curSelectionFor=this.steps.length,this.updated=(this.updated|Di)&~Ir,this.storedMarks=null,this},r.selectionSet.get=function(){return(this.updated&Di)>0},t.prototype.setStoredMarks=function(o){return this.storedMarks=o,this.updated|=Ir,this},t.prototype.ensureMarks=function(o){return P.sameSet(this.storedMarks||this.selection.$from.marks(),o)||this.setStoredMarks(o),this},t.prototype.addStoredMark=function(o){return this.ensureMarks(o.addToSet(this.storedMarks||this.selection.$head.marks()))},t.prototype.removeStoredMark=function(o){return this.ensureMarks(o.removeFromSet(this.storedMarks||this.selection.$head.marks()))},r.storedMarksSet.get=function(){return(this.updated&Ir)>0},t.prototype.addStep=function(o,i){e.prototype.addStep.call(this,o,i),this.updated=this.updated&~Ir,this.storedMarks=null},t.prototype.setTime=function(o){return this.time=o,this},t.prototype.replaceSelection=function(o){return this.selection.replace(this,o),this},t.prototype.replaceSelectionWith=function(o,i){var s=this.selection;return i!==!1&&(o=o.mark(this.storedMarks||(s.empty?s.$from.marks():s.$from.marksAcross(s.$to)||P.none))),s.replaceWith(this,o),this},t.prototype.deleteSelection=function(){return this.selection.replace(this),this},t.prototype.insertText=function(o,i,s){s===void 0&&(s=i);var a=this.doc.type.schema;if(i==null)return o?this.replaceSelectionWith(a.text(o),!0):this.deleteSelection();if(!o)return this.deleteRange(i,s);var c=this.storedMarks;if(!c){var l=this.doc.resolve(i);c=s==i?l.marks():l.marksAcross(this.doc.resolve(s))}return this.replaceRangeWith(i,s,a.text(o,c)),this.selection.empty||this.setSelection(D.near(this.selection.$to)),this},t.prototype.setMeta=function(o,i){return this.meta[typeof o==\"string\"?o:o.key]=i,this},t.prototype.getMeta=function(o){return this.meta[typeof o==\"string\"?o:o.key]},r.isGeneric.get=function(){for(var n in this.meta)return!1;return!0},t.prototype.scrollIntoView=function(){return this.updated|=Ii,this},r.scrolledIntoView.get=function(){return(this.updated&Ii)>0},Object.defineProperties(t.prototype,r),t}(X);function Ri(e,t){return!t||!e?e:e.bind(t)}var rr=function(t,r,n){this.name=t,this.init=Ri(r.init,n),this.apply=Ri(r.apply,n)},nl=[new rr(\"doc\",{init:function(t){return t.doc||t.schema.topNodeType.createAndFill()},apply:function(t){return t.doc}}),new rr(\"selection\",{init:function(t,r){return t.selection||D.atStart(r.doc)},apply:function(t){return t.selection}}),new rr(\"storedMarks\",{init:function(t){return t.storedMarks||null},apply:function(t,r,n,o){return o.selection.$cursor?t.storedMarks:null}}),new rr(\"scrollToSelection\",{init:function(){return 0},apply:function(t,r){return t.scrolledIntoView?r+1:r}})],An=function(t,r){var n=this;this.schema=t,this.fields=nl.concat(),this.plugins=[],this.pluginsByKey=Object.create(null),r&&r.forEach(function(o){if(n.pluginsByKey[o.key])throw new RangeError(\"Adding different instances of a keyed plugin (\"+o.key+\")\");n.plugins.push(o),n.pluginsByKey[o.key]=o,o.spec.state&&n.fields.push(new rr(o.key,o.spec.state,o))})},mt=function(t){this.config=t},Rr={schema:{configurable:!0},plugins:{configurable:!0},tr:{configurable:!0}};Rr.schema.get=function(){return this.config.schema};Rr.plugins.get=function(){return this.config.plugins};mt.prototype.apply=function(t){return this.applyTransaction(t).state};mt.prototype.filterTransaction=function(t,r){r===void 0&&(r=-1);for(var n=0;n<this.config.plugins.length;n++)if(n!=r){var o=this.config.plugins[n];if(o.spec.filterTransaction&&!o.spec.filterTransaction.call(o,t,this))return!1}return!0};mt.prototype.applyTransaction=function(t){if(!this.filterTransaction(t))return{state:this,transactions:[]};for(var r=[t],n=this.applyInner(t),o=null;;){for(var i=!1,s=0;s<this.config.plugins.length;s++){var a=this.config.plugins[s];if(a.spec.appendTransaction){var c=o?o[s].n:0,l=o?o[s].state:this,u=c<r.length&&a.spec.appendTransaction.call(a,c?r.slice(c):r,l,n);if(u&&n.filterTransaction(u,s)){if(u.setMeta(\"appendedTransaction\",t),!o){o=[];for(var f=0;f<this.config.plugins.length;f++)o.push(f<s?{state:n,n:r.length}:{state:this,n:0})}r.push(u),n=n.applyInner(u),i=!0}o&&(o[s]={state:n,n:r.length})}}if(!i)return{state:n,transactions:r}}};mt.prototype.applyInner=function(t){if(!t.before.eq(this.doc))throw new RangeError(\"Applying a mismatched transaction\");for(var r=new mt(this.config),n=this.config.fields,o=0;o<n.length;o++){var i=n[o];r[i.name]=i.apply(t,this[i.name],this,r)}for(var s=0;s<nr.length;s++)nr[s](this,t,r);return r};Rr.tr.get=function(){return new rl(this)};mt.create=function(t){for(var r=new An(t.doc?t.doc.type.schema:t.schema,t.plugins),n=new mt(r),o=0;o<r.fields.length;o++)n[r.fields[o].name]=r.fields[o].init(t,n);return n};mt.prototype.reconfigure=function(t){for(var r=new An(this.schema,t.plugins),n=r.fields,o=new mt(r),i=0;i<n.length;i++){var s=n[i].name;o[s]=this.hasOwnProperty(s)?this[s]:n[i].init(t,o)}return o};mt.prototype.toJSON=function(t){var r={doc:this.doc.toJSON(),selection:this.selection.toJSON()};if(this.storedMarks&&(r.storedMarks=this.storedMarks.map(function(s){return s.toJSON()})),t&&typeof t==\"object\")for(var n in t){if(n==\"doc\"||n==\"selection\")throw new RangeError(\"The JSON fields `doc` and `selection` are reserved\");var o=t[n],i=o.spec.state;i&&i.toJSON&&(r[n]=i.toJSON.call(o,this[o.key]))}return r};mt.fromJSON=function(t,r,n){if(!r)throw new RangeError(\"Invalid input for EditorState.fromJSON\");if(!t.schema)throw new RangeError(\"Required config field 'schema' missing\");var o=new An(t.schema,t.plugins),i=new mt(o);return o.fields.forEach(function(s){if(s.name==\"doc\")i.doc=B.fromJSON(t.schema,r.doc);else if(s.name==\"selection\")i.selection=D.fromJSON(i.doc,r.selection);else if(s.name==\"storedMarks\")r.storedMarks&&(i.storedMarks=r.storedMarks.map(t.schema.markFromJSON));else{if(n)for(var a in n){var c=n[a],l=c.spec.state;if(c.key==s.name&&l&&l.fromJSON&&Object.prototype.hasOwnProperty.call(r,a)){i[s.name]=l.fromJSON.call(c,t,r[a],i);return}}i[s.name]=s.init(t,i)}}),i};mt.addApplyListener=function(t){nr.push(t)};mt.removeApplyListener=function(t){var r=nr.indexOf(t);r>-1&&nr.splice(r,1)};Object.defineProperties(mt.prototype,Rr);var nr=[];function Pi(e,t,r){for(var n in e){var o=e[n];o instanceof Function?o=o.bind(t):n==\"handleDOMEvents\"&&(o=Pi(o,t,{})),r[n]=o}return r}var Rt=function(t){this.props={},t.props&&Pi(t.props,this,this.props),this.spec=t,this.key=t.key?t.key.key:Bi(\"plugin\")};Rt.prototype.getState=function(t){return t[this.key]};var _n=Object.create(null);function Bi(e){return e in _n?e+\"$\"+ ++_n[e]:(_n[e]=0,e+\"$\")}var Wt=function(t){t===void 0&&(t=\"key\"),this.key=Bi(t)};Wt.prototype.get=function(t){return t.config.pluginsByKey[this.key]};Wt.prototype.getState=function(t){return t[this.key]};var x={};if(typeof navigator!=\"undefined\"&&typeof document!=\"undefined\"){var Nn=/Edge\\/(\\d+)/.exec(navigator.userAgent),zi=/MSIE \\d/.test(navigator.userAgent),En=/Trident\\/(?:[7-9]|\\d{2,})\\..*rv:(\\d+)/.exec(navigator.userAgent);x.mac=/Mac/.test(navigator.platform);var Dn=x.ie=!!(zi||En||Nn);x.ie_version=zi?document.documentMode||6:En?+En[1]:Nn?+Nn[1]:null,x.gecko=!Dn&&/gecko\\/(\\d+)/i.test(navigator.userAgent),x.gecko_version=x.gecko&&+(/Firefox\\/(\\d+)/.exec(navigator.userAgent)||[0,0])[1];var In=!Dn&&/Chrome\\/(\\d+)/.exec(navigator.userAgent);x.chrome=!!In,x.chrome_version=In&&+In[1],x.safari=!Dn&&/Apple Computer/.test(navigator.vendor),x.ios=x.safari&&(/Mobile\\/\\w+/.test(navigator.userAgent)||navigator.maxTouchPoints>2),x.android=/Android \\d/.test(navigator.userAgent),x.webkit=\"webkitFontSmoothing\"in document.documentElement.style,x.webkit_version=x.webkit&&+(/\\bAppleWebKit\\/(\\d+)/.exec(navigator.userAgent)||[0,0])[1]}var Pt=function(e){for(var t=0;;t++)if(e=e.previousSibling,!e)return t},Rn=function(e){var t=e.assignedSlot||e.parentNode;return t&&t.nodeType==11?t.host:t},Li=null,ne=function(e,t,r){var n=Li||(Li=document.createRange());return n.setEnd(e,r==null?e.nodeValue.length:r),n.setStart(e,t||0),n},Pr=function(e,t,r,n){return r&&(Fi(e,t,r,n,-1)||Fi(e,t,r,n,1))},ol=/^(img|br|input|textarea|hr)$/i;function Fi(e,t,r,n,o){for(;;){if(e==r&&t==n)return!0;if(t==(o<0?0:Kt(e))){var i=e.parentNode;if(i.nodeType!=1||sl(e)||ol.test(e.nodeName)||e.contentEditable==\"false\")return!1;t=Pt(e)+(o<0?0:1),e=i}else if(e.nodeType==1){if(e=e.childNodes[t+(o<0?-1:0)],e.contentEditable==\"false\")return!1;t=o<0?Kt(e):0}else return!1}}function Kt(e){return e.nodeType==3?e.nodeValue.length:e.childNodes.length}function il(e,t,r){for(var n=t==0,o=t==Kt(e);n||o;){if(e==r)return!0;var i=Pt(e);if(e=e.parentNode,!e)return!1;n=n&&i==0,o=o&&i==Kt(e)}}function sl(e){for(var t,r=e;r&&!(t=r.pmViewDesc);r=r.parentNode);return t&&t.node&&t.node.isBlock&&(t.dom==e||t.contentDOM==e)}var Pn=function(e){var t=e.isCollapsed;return t&&x.chrome&&e.rangeCount&&!e.getRangeAt(0).collapsed&&(t=!1),t};function ze(e,t){var r=document.createEvent(\"Event\");return r.initEvent(\"keydown\",!0,!0),r.keyCode=e,r.key=r.code=t,r}function al(e){return{left:0,right:e.documentElement.clientWidth,top:0,bottom:e.documentElement.clientHeight}}function ae(e,t){return typeof e==\"number\"?e:e[t]}function cl(e){var t=e.getBoundingClientRect(),r=t.width/e.offsetWidth||1,n=t.height/e.offsetHeight||1;return{left:t.left,right:t.left+e.clientWidth*r,top:t.top,bottom:t.top+e.clientHeight*n}}function Vi(e,t,r){for(var n=e.someProp(\"scrollThreshold\")||0,o=e.someProp(\"scrollMargin\")||5,i=e.dom.ownerDocument,s=r||e.dom;s;s=Rn(s))if(s.nodeType==1){var a=s==i.body||s.nodeType!=1,c=a?al(i):cl(s),l=0,u=0;if(t.top<c.top+ae(n,\"top\")?u=-(c.top-t.top+ae(o,\"top\")):t.bottom>c.bottom-ae(n,\"bottom\")&&(u=t.bottom-c.bottom+ae(o,\"bottom\")),t.left<c.left+ae(n,\"left\")?l=-(c.left-t.left+ae(o,\"left\")):t.right>c.right-ae(n,\"right\")&&(l=t.right-c.right+ae(o,\"right\")),l||u)if(a)i.defaultView.scrollBy(l,u);else{var f=s.scrollLeft,p=s.scrollTop;u&&(s.scrollTop+=u),l&&(s.scrollLeft+=l);var d=s.scrollLeft-f,h=s.scrollTop-p;t={left:t.left-d,top:t.top-h,right:t.right-d,bottom:t.bottom-h}}if(a)break}}function ll(e){for(var t=e.dom.getBoundingClientRect(),r=Math.max(0,t.top),n,o,i=(t.left+t.right)/2,s=r+1;s<Math.min(innerHeight,t.bottom);s+=5){var a=e.root.elementFromPoint(i,s);if(!(a==e.dom||!e.dom.contains(a))){var c=a.getBoundingClientRect();if(c.top>=r-20){n=a,o=c.top;break}}}return{refDOM:n,refTop:o,stack:Hi(e.dom)}}function Hi(e){for(var t=[],r=e.ownerDocument;e&&(t.push({dom:e,top:e.scrollTop,left:e.scrollLeft}),e!=r);e=Rn(e));return t}function ul(e){var t=e.refDOM,r=e.refTop,n=e.stack,o=t?t.getBoundingClientRect().top:0;ji(n,o==0?0:o-r)}function ji(e,t){for(var r=0;r<e.length;r++){var n=e[r],o=n.dom,i=n.top,s=n.left;o.scrollTop!=i+t&&(o.scrollTop=i+t),o.scrollLeft!=s&&(o.scrollLeft=s)}}var Le=null;function fl(e){if(e.setActive)return e.setActive();if(Le)return e.focus(Le);var t=Hi(e);e.focus(Le==null?{get preventScroll(){return Le={preventScroll:!0},!0}}:void 0),Le||(Le=!1,ji(t,0))}function qi(e,t){for(var r,n=2e8,o,i=0,s=t.top,a=t.top,c=e.firstChild,l=0;c;c=c.nextSibling,l++){var u=void 0;if(c.nodeType==1)u=c.getClientRects();else if(c.nodeType==3)u=ne(c).getClientRects();else continue;for(var f=0;f<u.length;f++){var p=u[f];if(p.top<=s&&p.bottom>=a){s=Math.max(p.bottom,s),a=Math.min(p.top,a);var d=p.left>t.left?p.left-t.left:p.right<t.left?t.left-p.right:0;if(d<n){r=c,n=d,o=d&&r.nodeType==3?{left:p.right<t.left?p.right:p.left,top:t.top}:t,c.nodeType==1&&d&&(i=l+(t.left>=(p.left+p.right)/2?1:0));continue}}!r&&(t.left>=p.right&&t.top>=p.top||t.left>=p.left&&t.top>=p.bottom)&&(i=l+1)}}return r&&r.nodeType==3?pl(r,o):!r||n&&r.nodeType==1?{node:e,offset:i}:qi(r,o)}function pl(e,t){for(var r=e.nodeValue.length,n=document.createRange(),o=0;o<r;o++){n.setEnd(e,o+1),n.setStart(e,o);var i=ce(n,1);if(i.top!=i.bottom&&Bn(t,i))return{node:e,offset:o+(t.left>=(i.left+i.right)/2?1:0)}}return{node:e,offset:0}}function Bn(e,t){return e.left>=t.left-1&&e.left<=t.right+1&&e.top>=t.top-1&&e.top<=t.bottom+1}function dl(e,t){var r=e.parentNode;return r&&/^li$/i.test(r.nodeName)&&t.left<e.getBoundingClientRect().left?r:e}function hl(e,t,r){var n=qi(t,r),o=n.node,i=n.offset,s=-1;if(o.nodeType==1&&!o.firstChild){var a=o.getBoundingClientRect();s=a.left!=a.right&&r.left>(a.left+a.right)/2?1:-1}return e.docView.posFromDOM(o,i,s)}function ml(e,t,r,n){for(var o=-1,i=t;i!=e.dom;){var s=e.docView.nearestDesc(i,!0);if(!s)return null;if(s.node.isBlock&&s.parent){var a=s.dom.getBoundingClientRect();if(a.left>n.left||a.top>n.top)o=s.posBefore;else if(a.right<n.left||a.bottom<n.top)o=s.posAfter;else break}i=s.dom.parentNode}return o>-1?o:e.docView.posFromDOM(t,r)}function Ji(e,t,r){var n=e.childNodes.length;if(n&&r.top<r.bottom)for(var o=Math.max(0,Math.min(n-1,Math.floor(n*(t.top-r.top)/(r.bottom-r.top))-2)),i=o;;){var s=e.childNodes[i];if(s.nodeType==1)for(var a=s.getClientRects(),c=0;c<a.length;c++){var l=a[c];if(Bn(t,l))return Ji(s,t,l)}if((i=(i+1)%n)==o)break}return e}function vl(e,t){var r,n,o=e.root,i,s;if(o.caretPositionFromPoint)try{var a=o.caretPositionFromPoint(t.left,t.top);a&&(r=a,i=r.offsetNode,s=r.offset)}catch{}if(!i&&o.caretRangeFromPoint){var c=o.caretRangeFromPoint(t.left,t.top);c&&(n=c,i=n.startContainer,s=n.startOffset)}var l=o.elementFromPoint(t.left,t.top+1),u;if(!l||!e.dom.contains(l.nodeType!=1?l.parentNode:l)){var f=e.dom.getBoundingClientRect();if(!Bn(t,f)||(l=Ji(e.dom,t,f),!l))return null}if(x.safari)for(var p=l;i&&p;p=Rn(p))p.draggable&&(i=s=null);if(l=dl(l,t),i){if(x.gecko&&i.nodeType==1&&(s=Math.min(s,i.childNodes.length),s<i.childNodes.length)){var d=i.childNodes[s],h;d.nodeName==\"IMG\"&&(h=d.getBoundingClientRect()).right<=t.left&&h.bottom>t.top&&s++}i==e.dom&&s==i.childNodes.length-1&&i.lastChild.nodeType==1&&t.top>i.lastChild.getBoundingClientRect().bottom?u=e.state.doc.content.size:(s==0||i.nodeType!=1||i.childNodes[s-1].nodeName!=\"BR\")&&(u=ml(e,i,s,t))}u==null&&(u=hl(e,l,t));var v=e.docView.nearestDesc(l,!0);return{pos:u,inside:v?v.posAtStart-v.border:-1}}function ce(e,t){var r=e.getClientRects();return r.length?r[t<0?0:r.length-1]:e.getBoundingClientRect()}var gl=/[\\u0590-\\u05f4\\u0600-\\u06ff\\u0700-\\u08ac]/;function Wi(e,t,r){var n=e.docView.domFromPos(t,r<0?-1:1),o=n.node,i=n.offset,s=x.webkit||x.gecko;if(o.nodeType==3)if(s&&(gl.test(o.nodeValue)||(r<0?!i:i==o.nodeValue.length))){var a=ce(ne(o,i,i),r);if(x.gecko&&i&&/\\s/.test(o.nodeValue[i-1])&&i<o.nodeValue.length){var c=ce(ne(o,i-1,i-1),-1);if(c.top==a.top){var l=ce(ne(o,i,i+1),-1);if(l.top!=a.top)return or(l,l.left<c.left)}}return a}else{var u=i,f=i,p=r<0?1:-1;return r<0&&!i?(f++,p=-1):r>=0&&i==o.nodeValue.length?(u--,p=1):r<0?u--:f++,or(ce(ne(o,u,f),p),p<0)}if(!e.state.doc.resolve(t).parent.inlineContent){if(i&&(r<0||i==Kt(o))){var d=o.childNodes[i-1];if(d.nodeType==1)return zn(d.getBoundingClientRect(),!1)}if(i<Kt(o)){var h=o.childNodes[i];if(h.nodeType==1)return zn(h.getBoundingClientRect(),!0)}return zn(o.getBoundingClientRect(),r>=0)}if(i&&(r<0||i==Kt(o))){var v=o.childNodes[i-1],g=v.nodeType==3?ne(v,Kt(v)-(s?0:1)):v.nodeType==1&&(v.nodeName!=\"BR\"||!v.nextSibling)?v:null;if(g)return or(ce(g,1),!1)}if(i<Kt(o)){var M=o.childNodes[i],y=M.nodeType==3?ne(M,0,s?0:1):M.nodeType==1?M:null;if(y)return or(ce(y,-1),!0)}return or(ce(o.nodeType==3?ne(o):o,-r),r>=0)}function or(e,t){if(e.width==0)return e;var r=t?e.left:e.right;return{top:e.top,bottom:e.bottom,left:r,right:r}}function zn(e,t){if(e.height==0)return e;var r=t?e.top:e.bottom;return{top:r,bottom:r,left:e.left,right:e.right}}function Ki(e,t,r){var n=e.state,o=e.root.activeElement;n!=t&&e.updateState(t),o!=e.dom&&e.focus();try{return r()}finally{n!=t&&e.updateState(n),o!=e.dom&&o&&o.focus()}}function yl(e,t,r){var n=t.selection,o=r==\"up\"?n.$from:n.$to;return Ki(e,t,function(){for(var i=e.docView.domFromPos(o.pos,r==\"up\"?-1:1),s=i.node;;){var a=e.docView.nearestDesc(s,!0);if(!a)break;if(a.node.isBlock){s=a.dom;break}s=a.dom.parentNode}for(var c=Wi(e,o.pos,1),l=s.firstChild;l;l=l.nextSibling){var u=void 0;if(l.nodeType==1)u=l.getClientRects();else if(l.nodeType==3)u=ne(l,0,l.nodeValue.length).getClientRects();else continue;for(var f=0;f<u.length;f++){var p=u[f];if(p.bottom>p.top&&(r==\"up\"?p.bottom<c.top+1:p.top>c.bottom-1))return!1}}return!0})}var bl=/[\\u0590-\\u08ac]/;function kl(e,t,r){var n=t.selection,o=n.$head;if(!o.parent.isTextblock)return!1;var i=o.parentOffset,s=!i,a=i==o.parent.content.size,c=e.root.getSelection();return!bl.test(o.parent.textContent)||!c.modify?r==\"left\"||r==\"backward\"?s:a:Ki(e,t,function(){var l=c.getRangeAt(0),u=c.focusNode,f=c.focusOffset,p=c.caretBidiLevel;c.modify(\"move\",r,\"character\");var d=o.depth?e.docView.domAfterPos(o.before()):e.dom,h=!d.contains(c.focusNode.nodeType==1?c.focusNode:c.focusNode.parentNode)||u==c.focusNode&&f==c.focusOffset;return c.removeAllRanges(),c.addRange(l),p!=null&&(c.caretBidiLevel=p),h})}var $i=null,Ui=null,Gi=!1;function Sl(e,t,r){return $i==t&&Ui==r?Gi:($i=t,Ui=r,Gi=r==\"up\"||r==\"down\"?yl(e,t,r):kl(e,t,r))}var Ft=0,Yi=1,ir=2,le=3,W=function(t,r,n,o){this.parent=t,this.children=r,this.dom=n,n.pmViewDesc=this,this.contentDOM=o,this.dirty=Ft},$t={beforePosition:{configurable:!0},size:{configurable:!0},border:{configurable:!0},posBefore:{configurable:!0},posAtStart:{configurable:!0},posAfter:{configurable:!0},posAtEnd:{configurable:!0},contentLost:{configurable:!0},domAtom:{configurable:!0}};W.prototype.matchesWidget=function(){return!1};W.prototype.matchesMark=function(){return!1};W.prototype.matchesNode=function(){return!1};W.prototype.matchesHack=function(t){return!1};$t.beforePosition.get=function(){return!1};W.prototype.parseRule=function(){return null};W.prototype.stopEvent=function(){return!1};$t.size.get=function(){for(var e=0,t=0;t<this.children.length;t++)e+=this.children[t].size;return e};$t.border.get=function(){return 0};W.prototype.destroy=function(){this.parent=null,this.dom.pmViewDesc==this&&(this.dom.pmViewDesc=null);for(var t=0;t<this.children.length;t++)this.children[t].destroy()};W.prototype.posBeforeChild=function(t){for(var r=0,n=this.posAtStart;r<this.children.length;r++){var o=this.children[r];if(o==t)return n;n+=o.size}};$t.posBefore.get=function(){return this.parent.posBeforeChild(this)};$t.posAtStart.get=function(){return this.parent?this.parent.posBeforeChild(this)+this.border:0};$t.posAfter.get=function(){return this.posBefore+this.size};$t.posAtEnd.get=function(){return this.posAtStart+this.size-2*this.border};W.prototype.localPosFromDOM=function(t,r,n){if(this.contentDOM&&this.contentDOM.contains(t.nodeType==1?t:t.parentNode))if(n<0){var o,i;if(t==this.contentDOM)o=t.childNodes[r-1];else{for(;t.parentNode!=this.contentDOM;)t=t.parentNode;o=t.previousSibling}for(;o&&!((i=o.pmViewDesc)&&i.parent==this);)o=o.previousSibling;return o?this.posBeforeChild(i)+i.size:this.posAtStart}else{var s,a;if(t==this.contentDOM)s=t.childNodes[r];else{for(;t.parentNode!=this.contentDOM;)t=t.parentNode;s=t.nextSibling}for(;s&&!((a=s.pmViewDesc)&&a.parent==this);)s=s.nextSibling;return s?this.posBeforeChild(a):this.posAtEnd}var c;if(t==this.dom&&this.contentDOM)c=r>Pt(this.contentDOM);else if(this.contentDOM&&this.contentDOM!=this.dom&&this.dom.contains(this.contentDOM))c=t.compareDocumentPosition(this.contentDOM)&2;else if(this.dom.firstChild){if(r==0)for(var l=t;;l=l.parentNode){if(l==this.dom){c=!1;break}if(l.parentNode.firstChild!=l)break}if(c==null&&r==t.childNodes.length)for(var u=t;;u=u.parentNode){if(u==this.dom){c=!0;break}if(u.parentNode.lastChild!=u)break}}return(c==null?n>0:c)?this.posAtEnd:this.posAtStart};W.prototype.nearestDesc=function(t,r){for(var n=!0,o=t;o;o=o.parentNode){var i=this.getDesc(o);if(i&&(!r||i.node))if(n&&i.nodeDOM&&!(i.nodeDOM.nodeType==1?i.nodeDOM.contains(t.nodeType==1?t:t.parentNode):i.nodeDOM==t))n=!1;else return i}};W.prototype.getDesc=function(t){for(var r=t.pmViewDesc,n=r;n;n=n.parent)if(n==this)return r};W.prototype.posFromDOM=function(t,r,n){for(var o=t;o;o=o.parentNode){var i=this.getDesc(o);if(i)return i.localPosFromDOM(t,r,n)}return-1};W.prototype.descAt=function(t){for(var r=0,n=0;r<this.children.length;r++){var o=this.children[r],i=n+o.size;if(n==t&&i!=n){for(;!o.border&&o.children.length;)o=o.children[0];return o}if(t<i)return o.descAt(t-n-o.border);n=i}};W.prototype.domFromPos=function(t,r){if(!this.contentDOM)return{node:this.dom,offset:0};for(var n=0,o=0,i=!0;;o++,i=!1){for(;o<this.children.length&&(this.children[o].beforePosition||this.children[o].dom.parentNode!=this.contentDOM);)n+=this.children[o++].size;var s=o==this.children.length?null:this.children[o];if(n==t&&(r==0||!s||!s.size||s.border||r<0&&i)||s&&s.domAtom&&t<n+s.size)return{node:this.contentDOM,offset:s?Pt(s.dom):this.contentDOM.childNodes.length};if(!s)throw new Error(\"Invalid position \"+t);var a=n+s.size;if(!s.domAtom&&(r<0&&!s.border?a>=t:a>t)&&(a>t||o+1>=this.children.length||!this.children[o+1].beforePosition))return s.domFromPos(t-n-s.border,r);n=a}};W.prototype.parseRange=function(t,r,n){if(n===void 0&&(n=0),this.children.length==0)return{node:this.contentDOM,from:t,to:r,fromOffset:0,toOffset:this.contentDOM.childNodes.length};for(var o=-1,i=-1,s=n,a=0;;a++){var c=this.children[a],l=s+c.size;if(o==-1&&t<=l){var u=s+c.border;if(t>=u&&r<=l-c.border&&c.node&&c.contentDOM&&this.contentDOM.contains(c.contentDOM))return c.parseRange(t,r,u);t=s;for(var f=a;f>0;f--){var p=this.children[f-1];if(p.size&&p.dom.parentNode==this.contentDOM&&!p.emptyChildAt(1)){o=Pt(p.dom)+1;break}t-=p.size}o==-1&&(o=0)}if(o>-1&&(l>r||a==this.children.length-1)){r=l;for(var d=a+1;d<this.children.length;d++){var h=this.children[d];if(h.size&&h.dom.parentNode==this.contentDOM&&!h.emptyChildAt(-1)){i=Pt(h.dom);break}r+=h.size}i==-1&&(i=this.contentDOM.childNodes.length);break}s=l}return{node:this.contentDOM,from:t,to:r,fromOffset:o,toOffset:i}};W.prototype.emptyChildAt=function(t){if(this.border||!this.contentDOM||!this.children.length)return!1;var r=this.children[t<0?0:this.children.length-1];return r.size==0||r.emptyChildAt(t)};W.prototype.domAfterPos=function(t){var r=this.domFromPos(t,0),n=r.node,o=r.offset;if(n.nodeType!=1||o==n.childNodes.length)throw new RangeError(\"No node after pos \"+t);return n.childNodes[o]};W.prototype.setSelection=function(t,r,n,o){for(var i=Math.min(t,r),s=Math.max(t,r),a=0,c=0;a<this.children.length;a++){var l=this.children[a],u=c+l.size;if(i>c&&s<u)return l.setSelection(t-c-l.border,r-c-l.border,n,o);c=u}var f=this.domFromPos(t,t?-1:1),p=r==t?f:this.domFromPos(r,r?-1:1),d=n.getSelection(),h=!1;if((x.gecko||x.safari)&&t==r){var v=f.node,g=f.offset;if(v.nodeType==3){if(h=g&&v.nodeValue[g-1]==`\n`,h&&g==v.nodeValue.length)for(var M=v,y=void 0;M;M=M.parentNode){if(y=M.nextSibling){y.nodeName==\"BR\"&&(f=p={node:y.parentNode,offset:Pt(y)+1});break}var R=M.pmViewDesc;if(R&&R.node&&R.node.isBlock)break}}else{var m=v.childNodes[g-1];h=m&&(m.nodeName==\"BR\"||m.contentEditable==\"false\")}}if(x.gecko&&d.focusNode&&d.focusNode!=p.node&&d.focusNode.nodeType==1){var I=d.focusNode.childNodes[d.focusOffset];I&&I.contentEditable==\"false\"&&(o=!0)}if(!(!(o||h&&x.safari)&&Pr(f.node,f.offset,d.anchorNode,d.anchorOffset)&&Pr(p.node,p.offset,d.focusNode,d.focusOffset))){var O=!1;if((d.extend||t==r)&&!h){d.collapse(f.node,f.offset);try{t!=r&&d.extend(p.node,p.offset),O=!0}catch(U){if(!(U instanceof DOMException))throw U}}if(!O){if(t>r){var F=f;f=p,p=F}var J=document.createRange();J.setEnd(p.node,p.offset),J.setStart(f.node,f.offset),d.removeAllRanges(),d.addRange(J)}}};W.prototype.ignoreMutation=function(t){return!this.contentDOM&&t.type!=\"selection\"};$t.contentLost.get=function(){return this.contentDOM&&this.contentDOM!=this.dom&&!this.dom.contains(this.contentDOM)};W.prototype.markDirty=function(t,r){for(var n=0,o=0;o<this.children.length;o++){var i=this.children[o],s=n+i.size;if(n==s?t<=s&&r>=n:t<s&&r>n){var a=n+i.border,c=s-i.border;if(t>=a&&r<=c){this.dirty=t==n||r==s?ir:Yi,t==a&&r==c&&(i.contentLost||i.dom.parentNode!=this.contentDOM)?i.dirty=le:i.markDirty(t-a,r-a);return}else i.dirty=i.dom==i.contentDOM&&i.dom.parentNode==this.contentDOM?ir:le}n=s}this.dirty=ir};W.prototype.markParentsDirty=function(){for(var t=1,r=this.parent;r;r=r.parent,t++){var n=t==1?ir:Yi;r.dirty<n&&(r.dirty=n)}};$t.domAtom.get=function(){return!1};Object.defineProperties(W.prototype,$t);var ue=[],Ml=function(e){function t(n,o,i,s){var a,c=o.type.toDOM;if(typeof c==\"function\"&&(c=c(i,function(){if(!a)return s;if(a.parent)return a.parent.posBeforeChild(a)})),!o.type.spec.raw){if(c.nodeType!=1){var l=document.createElement(\"span\");l.appendChild(c),c=l}c.contentEditable=!1,c.classList.add(\"ProseMirror-widget\")}e.call(this,n,ue,c,null),this.widget=o,a=this}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var r={beforePosition:{configurable:!0},domAtom:{configurable:!0}};return r.beforePosition.get=function(){return this.widget.type.side<0},t.prototype.matchesWidget=function(o){return this.dirty==Ft&&o.type.eq(this.widget.type)},t.prototype.parseRule=function(){return{ignore:!0}},t.prototype.stopEvent=function(o){var i=this.widget.spec.stopEvent;return i?i(o):!1},t.prototype.ignoreMutation=function(o){return o.type!=\"selection\"||this.widget.spec.ignoreSelection},r.domAtom.get=function(){return!0},Object.defineProperties(t.prototype,r),t}(W),xl=function(e){function t(n,o,i,s){e.call(this,n,ue,o,null),this.textDOM=i,this.text=s}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var r={size:{configurable:!0}};return r.size.get=function(){return this.text.length},t.prototype.localPosFromDOM=function(o,i){return o!=this.textDOM?this.posAtStart+(i?this.size:0):this.posAtStart+i},t.prototype.domFromPos=function(o){return{node:this.textDOM,offset:o}},t.prototype.ignoreMutation=function(o){return o.type===\"characterData\"&&o.target.nodeValue==o.oldValue},Object.defineProperties(t.prototype,r),t}(W),Ln=function(e){function t(r,n,o,i){e.call(this,r,[],o,i),this.mark=n}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.create=function(n,o,i,s){var a=s.nodeViews[o.type.name],c=a&&a(o,s,i);return(!c||!c.dom)&&(c=ot.renderSpec(document,o.type.spec.toDOM(o,i))),new t(n,o,c.dom,c.contentDOM||c.dom)},t.prototype.parseRule=function(){return{mark:this.mark.type.name,attrs:this.mark.attrs,contentElement:this.contentDOM}},t.prototype.matchesMark=function(n){return this.dirty!=le&&this.mark.eq(n)},t.prototype.markDirty=function(n,o){if(e.prototype.markDirty.call(this,n,o),this.dirty!=Ft){for(var i=this.parent;!i.node;)i=i.parent;i.dirty<this.dirty&&(i.dirty=this.dirty),this.dirty=Ft}},t.prototype.slice=function(n,o,i){var s=t.create(this.parent,this.mark,!0,i),a=this.children,c=this.size;o<c&&(a=Hn(a,o,c,i)),n>0&&(a=Hn(a,0,n,i));for(var l=0;l<a.length;l++)a[l].parent=s;return s.children=a,s},t}(W),sr=function(e){function t(n,o,i,s,a,c,l,u,f){e.call(this,n,o.isLeaf?ue:[],a,c),this.nodeDOM=l,this.node=o,this.outerDeco=i,this.innerDeco=s,c&&this.updateChildren(u,f)}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var r={size:{configurable:!0},border:{configurable:!0},domAtom:{configurable:!0}};return t.create=function(o,i,s,a,c,l){var u,f=c.nodeViews[i.type.name],p,d=f&&f(i,c,function(){if(!p)return l;if(p.parent)return p.parent.posBeforeChild(p)},s,a),h=d&&d.dom,v=d&&d.contentDOM;if(i.isText){if(!h)h=document.createTextNode(i.text);else if(h.nodeType!=3)throw new RangeError(\"Text must be rendered as a DOM text node\")}else h||(u=ot.renderSpec(document,i.type.spec.toDOM(i)),h=u.dom,v=u.contentDOM);!v&&!i.isText&&h.nodeName!=\"BR\"&&(h.hasAttribute(\"contenteditable\")||(h.contentEditable=!1),i.type.spec.draggable&&(h.draggable=!0));var g=h;return h=es(h,s,i),d?p=new Ol(o,i,s,a,h,v,g,d,c,l+1):i.isText?new Qi(o,i,s,a,h,g,c):new t(o,i,s,a,h,v,g,c,l+1)},t.prototype.parseRule=function(){var o=this;if(this.node.type.spec.reparseInView)return null;var i={node:this.node.type.name,attrs:this.node.attrs};return this.node.type.spec.code&&(i.preserveWhitespace=\"full\"),this.contentDOM&&!this.contentLost?i.contentElement=this.contentDOM:i.getContent=function(){return o.contentDOM?k.empty:o.node.content},i},t.prototype.matchesNode=function(o,i,s){return this.dirty==Ft&&o.eq(this.node)&&Vn(i,this.outerDeco)&&s.eq(this.innerDeco)},r.size.get=function(){return this.node.nodeSize},r.border.get=function(){return this.node.isLeaf?0:1},t.prototype.updateChildren=function(o,i){var s=this,a=this.node.inlineContent,c=i,l=o.composing&&this.localCompositionInfo(o,i),u=l&&l.pos>-1?l:null,f=l&&l.pos<0,p=new Bt(this,u&&u.node);_l(this.node,this.innerDeco,function(d,h,v){d.spec.marks?p.syncToMarks(d.spec.marks,a,o):d.type.side>=0&&!v&&p.syncToMarks(h==s.node.childCount?P.none:s.node.child(h).marks,a,o),p.placeWidget(d,o,c)},function(d,h,v,g){p.syncToMarks(d.marks,a,o);var M;p.findNodeMatch(d,h,v,g)||f&&o.state.selection.from>c&&o.state.selection.to<c+d.nodeSize&&(M=p.findIndexWithChild(l.node))>-1&&p.updateNodeAt(d,h,v,M,o)||p.updateNextNode(d,h,v,o,g)||p.addNode(d,h,v,o,c),c+=d.nodeSize}),p.syncToMarks(ue,a,o),this.node.isTextblock&&p.addTextblockHacks(),p.destroyRest(),(p.changed||this.dirty==ir)&&(u&&this.protectLocalComposition(o,u),Zi(this.contentDOM,this.children,o),x.ios&&Nl(this.dom))},t.prototype.localCompositionInfo=function(o,i){var s=o.state.selection,a=s.from,c=s.to;if(!(!(o.state.selection instanceof H)||a<i||c>i+this.node.content.size)){var l=o.root.getSelection(),u=El(l.focusNode,l.focusOffset);if(!(!u||!this.dom.contains(u.parentNode)))if(this.node.inlineContent){var f=u.nodeValue,p=Dl(this.node.content,f,a-i,c-i);return p<0?null:{node:u,pos:p,text:f}}else return{node:u,pos:-1}}},t.prototype.protectLocalComposition=function(o,i){var s=i.node,a=i.pos,c=i.text;if(!this.getDesc(s)){for(var l=s;l.parentNode!=this.contentDOM;l=l.parentNode){for(;l.previousSibling;)l.parentNode.removeChild(l.previousSibling);for(;l.nextSibling;)l.parentNode.removeChild(l.nextSibling);l.pmViewDesc&&(l.pmViewDesc=null)}var u=new xl(this,l,s,c);o.compositionNodes.push(u),this.children=Hn(this.children,a,a+c.length,o,u)}},t.prototype.update=function(o,i,s,a){return this.dirty==le||!o.sameMarkup(this.node)?!1:(this.updateInner(o,i,s,a),!0)},t.prototype.updateInner=function(o,i,s,a){this.updateOuterDeco(i),this.node=o,this.innerDeco=s,this.contentDOM&&this.updateChildren(a,this.posAtStart),this.dirty=Ft},t.prototype.updateOuterDeco=function(o){if(!Vn(o,this.outerDeco)){var i=this.nodeDOM.nodeType!=1,s=this.dom;this.dom=ts(this.dom,this.nodeDOM,Fn(this.outerDeco,this.node,i),Fn(o,this.node,i)),this.dom!=s&&(s.pmViewDesc=null,this.dom.pmViewDesc=this),this.outerDeco=o}},t.prototype.selectNode=function(){this.nodeDOM.classList.add(\"ProseMirror-selectednode\"),(this.contentDOM||!this.node.type.spec.draggable)&&(this.dom.draggable=!0)},t.prototype.deselectNode=function(){this.nodeDOM.classList.remove(\"ProseMirror-selectednode\"),(this.contentDOM||!this.node.type.spec.draggable)&&this.dom.removeAttribute(\"draggable\")},r.domAtom.get=function(){return this.node.isAtom},Object.defineProperties(t.prototype,r),t}(W);function Xi(e,t,r,n,o){return es(n,t,e),new sr(null,e,t,r,n,n,n,o,0)}var Qi=function(e){function t(n,o,i,s,a,c,l){e.call(this,n,o,i,s,a,null,c,l)}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var r={domAtom:{configurable:!0}};return t.prototype.parseRule=function(){for(var o=this.nodeDOM.parentNode;o&&o!=this.dom&&!o.pmIsDeco;)o=o.parentNode;return{skip:o||!0}},t.prototype.update=function(o,i,s,a){return this.dirty==le||this.dirty!=Ft&&!this.inParent()||!o.sameMarkup(this.node)?!1:(this.updateOuterDeco(i),(this.dirty!=Ft||o.text!=this.node.text)&&o.text!=this.nodeDOM.nodeValue&&(this.nodeDOM.nodeValue=o.text,a.trackWrites==this.nodeDOM&&(a.trackWrites=null)),this.node=o,this.dirty=Ft,!0)},t.prototype.inParent=function(){for(var o=this.parent.contentDOM,i=this.nodeDOM;i;i=i.parentNode)if(i==o)return!0;return!1},t.prototype.domFromPos=function(o){return{node:this.nodeDOM,offset:o}},t.prototype.localPosFromDOM=function(o,i,s){return o==this.nodeDOM?this.posAtStart+Math.min(i,this.node.text.length):e.prototype.localPosFromDOM.call(this,o,i,s)},t.prototype.ignoreMutation=function(o){return o.type!=\"characterData\"&&o.type!=\"selection\"},t.prototype.slice=function(o,i,s){var a=this.node.cut(o,i),c=document.createTextNode(a.text);return new t(this.parent,a,this.outerDeco,this.innerDeco,c,c,s)},t.prototype.markDirty=function(o,i){e.prototype.markDirty.call(this,o,i),this.dom!=this.nodeDOM&&(o==0||i==this.nodeDOM.nodeValue.length)&&(this.dirty=le)},r.domAtom.get=function(){return!1},Object.defineProperties(t.prototype,r),t}(sr),Cl=function(e){function t(){e.apply(this,arguments)}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var r={domAtom:{configurable:!0}};return t.prototype.parseRule=function(){return{ignore:!0}},t.prototype.matchesHack=function(o){return this.dirty==Ft&&this.dom.nodeName==o},r.domAtom.get=function(){return!0},Object.defineProperties(t.prototype,r),t}(W),Ol=function(e){function t(r,n,o,i,s,a,c,l,u,f){e.call(this,r,n,o,i,s,a,c,u,f),this.spec=l}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.update=function(n,o,i,s){if(this.dirty==le)return!1;if(this.spec.update){var a=this.spec.update(n,o,i);return a&&this.updateInner(n,o,i,s),a}else return!this.contentDOM&&!n.isLeaf?!1:e.prototype.update.call(this,n,o,i,s)},t.prototype.selectNode=function(){this.spec.selectNode?this.spec.selectNode():e.prototype.selectNode.call(this)},t.prototype.deselectNode=function(){this.spec.deselectNode?this.spec.deselectNode():e.prototype.deselectNode.call(this)},t.prototype.setSelection=function(n,o,i,s){this.spec.setSelection?this.spec.setSelection(n,o,i):e.prototype.setSelection.call(this,n,o,i,s)},t.prototype.destroy=function(){this.spec.destroy&&this.spec.destroy(),e.prototype.destroy.call(this)},t.prototype.stopEvent=function(n){return this.spec.stopEvent?this.spec.stopEvent(n):!1},t.prototype.ignoreMutation=function(n){return this.spec.ignoreMutation?this.spec.ignoreMutation(n):e.prototype.ignoreMutation.call(this,n)},t}(sr);function Zi(e,t,r){for(var n=e.firstChild,o=!1,i=0;i<t.length;i++){var s=t[i],a=s.dom;if(a.parentNode==e){for(;a!=n;)n=rs(n),o=!0;n=n.nextSibling}else o=!0,e.insertBefore(a,n);if(s instanceof Ln){var c=n?n.previousSibling:e.lastChild;Zi(s.contentDOM,s.children,r),n=c?c.nextSibling:e.firstChild}}for(;n;)n=rs(n),o=!0;o&&r.trackWrites==e&&(r.trackWrites=null)}function ar(e){e&&(this.nodeName=e)}ar.prototype=Object.create(null);var Me=[new ar];function Fn(e,t,r){if(e.length==0)return Me;for(var n=r?Me[0]:new ar,o=[n],i=0;i<e.length;i++){var s=e[i].type.attrs;if(!!s){s.nodeName&&o.push(n=new ar(s.nodeName));for(var a in s){var c=s[a];c!=null&&(r&&o.length==1&&o.push(n=new ar(t.isInline?\"span\":\"div\")),a==\"class\"?n.class=(n.class?n.class+\" \":\"\")+c:a==\"style\"?n.style=(n.style?n.style+\";\":\"\")+c:a!=\"nodeName\"&&(n[a]=c))}}}return o}function ts(e,t,r,n){if(r==Me&&n==Me)return t;for(var o=t,i=0;i<n.length;i++){var s=n[i],a=r[i];if(i){var c=void 0;a&&a.nodeName==s.nodeName&&o!=e&&(c=o.parentNode)&&c.tagName.toLowerCase()==s.nodeName||(c=document.createElement(s.nodeName),c.pmIsDeco=!0,c.appendChild(o),a=Me[0]),o=c}wl(o,a||Me[0],s)}return o}function wl(e,t,r){for(var n in t)n!=\"class\"&&n!=\"style\"&&n!=\"nodeName\"&&!(n in r)&&e.removeAttribute(n);for(var o in r)o!=\"class\"&&o!=\"style\"&&o!=\"nodeName\"&&r[o]!=t[o]&&e.setAttribute(o,r[o]);if(t.class!=r.class){for(var i=t.class?t.class.split(\" \").filter(Boolean):ue,s=r.class?r.class.split(\" \").filter(Boolean):ue,a=0;a<i.length;a++)s.indexOf(i[a])==-1&&e.classList.remove(i[a]);for(var c=0;c<s.length;c++)i.indexOf(s[c])==-1&&e.classList.add(s[c])}if(t.style!=r.style){if(t.style)for(var l=/\\s*([\\w\\-\\xa1-\\uffff]+)\\s*:(?:\"(?:\\\\.|[^\"])*\"|'(?:\\\\.|[^'])*'|\\(.*?\\)|[^;])*/g,u;u=l.exec(t.style);)e.style.removeProperty(u[1]);r.style&&(e.style.cssText+=r.style)}}function es(e,t,r){return ts(e,e,Me,Fn(t,r,e.nodeType!=1))}function Vn(e,t){if(e.length!=t.length)return!1;for(var r=0;r<e.length;r++)if(!e[r].type.eq(t[r].type))return!1;return!0}function rs(e){var t=e.nextSibling;return e.parentNode.removeChild(e),t}var Bt=function(t,r){this.top=t,this.lock=r,this.index=0,this.stack=[],this.changed=!1,this.preMatch=Tl(t.node.content,t.children)};Bt.prototype.destroyBetween=function(t,r){if(t!=r){for(var n=t;n<r;n++)this.top.children[n].destroy();this.top.children.splice(t,r-t),this.changed=!0}};Bt.prototype.destroyRest=function(){this.destroyBetween(this.index,this.top.children.length)};Bt.prototype.syncToMarks=function(t,r,n){for(var o=0,i=this.stack.length>>1,s=Math.min(i,t.length);o<s&&(o==i-1?this.top:this.stack[o+1<<1]).matchesMark(t[o])&&t[o].type.spec.spanning!==!1;)o++;for(;o<i;)this.destroyRest(),this.top.dirty=Ft,this.index=this.stack.pop(),this.top=this.stack.pop(),i--;for(;i<t.length;){this.stack.push(this.top,this.index+1);for(var a=-1,c=this.index;c<Math.min(this.index+3,this.top.children.length);c++)if(this.top.children[c].matchesMark(t[i])){a=c;break}if(a>-1)a>this.index&&(this.changed=!0,this.destroyBetween(this.index,a)),this.top=this.top.children[this.index];else{var l=Ln.create(this.top,t[i],r,n);this.top.children.splice(this.index,0,l),this.top=l,this.changed=!0}this.index=0,i++}};Bt.prototype.findNodeMatch=function(t,r,n,o){var i=this.top.children,s=-1;if(o>=this.preMatch.index){for(var a=this.index;a<i.length;a++)if(i[a].matchesNode(t,r,n)){s=a;break}}else for(var c=this.index,l=Math.min(i.length,c+1);c<l;c++){var u=i[c];if(u.matchesNode(t,r,n)&&!this.preMatch.matched.has(u)){s=c;break}}return s<0?!1:(this.destroyBetween(this.index,s),this.index++,!0)};Bt.prototype.updateNodeAt=function(t,r,n,o,i){var s=this.top.children[o];return s.update(t,r,n,i)?(this.destroyBetween(this.index,o),this.index=o+1,!0):!1};Bt.prototype.findIndexWithChild=function(t){for(;;){var r=t.parentNode;if(!r)return-1;if(r==this.top.contentDOM){var n=t.pmViewDesc;if(n){for(var o=this.index;o<this.top.children.length;o++)if(this.top.children[o]==n)return o}return-1}t=r}};Bt.prototype.updateNextNode=function(t,r,n,o,i){for(var s=this.index;s<this.top.children.length;s++){var a=this.top.children[s];if(a instanceof sr){var c=this.preMatch.matched.get(a);if(c!=null&&c!=i)return!1;var l=a.dom,u=this.lock&&(l==this.lock||l.nodeType==1&&l.contains(this.lock.parentNode))&&!(t.isText&&a.node&&a.node.isText&&a.nodeDOM.nodeValue==t.text&&a.dirty!=le&&Vn(r,a.outerDeco));if(!u&&a.update(t,r,n,o))return this.destroyBetween(this.index,s),a.dom!=l&&(this.changed=!0),this.index++,!0;break}}return!1};Bt.prototype.addNode=function(t,r,n,o,i){this.top.children.splice(this.index++,0,sr.create(this.top,t,r,n,o,i)),this.changed=!0};Bt.prototype.placeWidget=function(t,r,n){var o=this.index<this.top.children.length?this.top.children[this.index]:null;if(o&&o.matchesWidget(t)&&(t==o.widget||!o.widget.type.toDOM.parentNode))this.index++;else{var i=new Ml(this.top,t,r,n);this.top.children.splice(this.index++,0,i),this.changed=!0}};Bt.prototype.addTextblockHacks=function(){for(var t=this.top.children[this.index-1];t instanceof Ln;)t=t.children[t.children.length-1];(!t||!(t instanceof Qi)||/\\n$/.test(t.node.text))&&((x.safari||x.chrome)&&t&&t.dom.contentEditable==\"false\"&&this.addHackNode(\"IMG\"),this.addHackNode(\"BR\"))};Bt.prototype.addHackNode=function(t){if(this.index<this.top.children.length&&this.top.children[this.index].matchesHack(t))this.index++;else{var r=document.createElement(t);t==\"IMG\"&&(r.className=\"ProseMirror-separator\"),this.top.children.splice(this.index++,0,new Cl(this.top,ue,r,null)),this.changed=!0}};function Tl(e,t){for(var r=e.childCount,n=t.length,o=new Map;r>0&&n>0;n--){var i=t[n-1],s=i.node;if(!!s){if(s!=e.child(r-1))break;--r,o.set(i,r)}}return{index:r,matched:o}}function Al(e,t){return e.type.side-t.type.side}function _l(e,t,r,n){var o=t.locals(e),i=0;if(o.length==0){for(var s=0;s<e.childCount;s++){var a=e.child(s);n(a,o,t.forChild(i,a),s),i+=a.nodeSize}return}for(var c=0,l=[],u=null,f=0;;){if(c<o.length&&o[c].to==i){for(var p=o[c++],d=void 0;c<o.length&&o[c].to==i;)(d||(d=[p])).push(o[c++]);if(d){d.sort(Al);for(var h=0;h<d.length;h++)r(d[h],f,!!u)}else r(p,f,!!u)}var v=void 0,g=void 0;if(u)g=-1,v=u,u=null;else if(f<e.childCount)g=f,v=e.child(f++);else break;for(var M=0;M<l.length;M++)l[M].to<=i&&l.splice(M--,1);for(;c<o.length&&o[c].from<=i&&o[c].to>i;)l.push(o[c++]);var y=i+v.nodeSize;if(v.isText){var R=y;c<o.length&&o[c].from<R&&(R=o[c].from);for(var m=0;m<l.length;m++)l[m].to<R&&(R=l[m].to);R<y&&(u=v.cut(R-i),v=v.cut(0,R-i),y=R,g=-1)}var I=l.length?v.isInline&&!v.isLeaf?l.filter(function(O){return!O.inline}):l.slice():ue;n(v,I,t.forChild(i,v),g),i=y}}function Nl(e){if(e.nodeName==\"UL\"||e.nodeName==\"OL\"){var t=e.style.cssText;e.style.cssText=t+\"; list-style: square !important\",window.getComputedStyle(e).listStyle,e.style.cssText=t}}function El(e,t){for(;;){if(e.nodeType==3)return e;if(e.nodeType==1&&t>0){if(e.childNodes.length>t&&e.childNodes[t].nodeType==3)return e.childNodes[t];e=e.childNodes[t-1],t=Kt(e)}else if(e.nodeType==1&&t<e.childNodes.length)e=e.childNodes[t],t=0;else return null}}function Dl(e,t,r,n){for(var o=0,i=0;o<e.childCount&&i<=n;){var s=e.child(o++),a=i;if(i+=s.nodeSize,!!s.isText){for(var c=s.text;o<e.childCount;){var l=e.child(o++);if(i+=l.nodeSize,!l.isText)break;c+=l.text}if(i>=r){var u=c.lastIndexOf(t,n-a);if(u>=0&&u+t.length+a>=r)return a+u}}}return-1}function Hn(e,t,r,n,o){for(var i=[],s=0,a=0;s<e.length;s++){var c=e[s],l=a,u=a+=c.size;l>=r||u<=t?i.push(c):(l<t&&i.push(c.slice(0,t-l,n)),o&&(i.push(o),o=null),u>r&&i.push(c.slice(r-l,c.size,n)))}return i}function ns(e,t){var r=e.root.getSelection(),n=e.state.doc;if(!r.focusNode)return null;var o=e.docView.nearestDesc(r.focusNode),i=o&&o.size==0,s=e.docView.posFromDOM(r.focusNode,r.focusOffset);if(s<0)return null;var a=n.resolve(s),c,l;if(Pn(r)){for(c=a;o&&!o.node;)o=o.parent;if(o&&o.node.isAtom&&E.isSelectable(o.node)&&o.parent&&!(o.node.isInline&&il(r.focusNode,r.focusOffset,o.dom))){var u=o.posBefore;l=new E(s==u?a:n.resolve(u))}}else{var f=e.docView.posFromDOM(r.anchorNode,r.anchorOffset);if(f<0)return null;c=n.resolve(f)}if(!l){var p=t==\"pointer\"||e.state.selection.head<a.pos&&!i?1:-1;l=qn(e,c,a,p)}return l}function is(e){return e.editable?e.hasFocus():Jn(e)&&document.activeElement&&document.activeElement.contains(e.dom)}function fe(e,t){var r=e.state.selection;if(ls(e,r),!!is(e)){if(!t&&e.mouseDown&&e.mouseDown.allowDefault){e.mouseDown.delayedSelectionSync=!0,e.domObserver.setCurSelection();return}if(e.domObserver.disconnectSelection(),e.cursorWrapper)Rl(e);else{var n=r.anchor,o=r.head,i,s;ss&&!(r instanceof H)&&(r.$from.parent.inlineContent||(i=as(e,r.from)),!r.empty&&!r.$from.parent.inlineContent&&(s=as(e,r.to))),e.docView.setSelection(n,o,e.root,t),ss&&(i&&cs(i),s&&cs(s)),r.visible?e.dom.classList.remove(\"ProseMirror-hideselection\"):(e.dom.classList.add(\"ProseMirror-hideselection\"),\"onselectionchange\"in document&&Il(e))}e.domObserver.setCurSelection(),e.domObserver.connectSelection()}}var ss=x.safari||x.chrome&&x.chrome_version<63;function as(e,t){var r=e.docView.domFromPos(t,0),n=r.node,o=r.offset,i=o<n.childNodes.length?n.childNodes[o]:null,s=o?n.childNodes[o-1]:null;if(x.safari&&i&&i.contentEditable==\"false\")return jn(i);if((!i||i.contentEditable==\"false\")&&(!s||s.contentEditable==\"false\")){if(i)return jn(i);if(s)return jn(s)}}function jn(e){return e.contentEditable=\"true\",x.safari&&e.draggable&&(e.draggable=!1,e.wasDraggable=!0),e}function cs(e){e.contentEditable=\"false\",e.wasDraggable&&(e.draggable=!0,e.wasDraggable=null)}function Il(e){var t=e.dom.ownerDocument;t.removeEventListener(\"selectionchange\",e.hideSelectionGuard);var r=e.root.getSelection(),n=r.anchorNode,o=r.anchorOffset;t.addEventListener(\"selectionchange\",e.hideSelectionGuard=function(){(r.anchorNode!=n||r.anchorOffset!=o)&&(t.removeEventListener(\"selectionchange\",e.hideSelectionGuard),setTimeout(function(){(!is(e)||e.state.selection.visible)&&e.dom.classList.remove(\"ProseMirror-hideselection\")},20))})}function Rl(e){var t=e.root.getSelection(),r=document.createRange(),n=e.cursorWrapper.dom,o=n.nodeName==\"IMG\";o?r.setEnd(n.parentNode,Pt(n)+1):r.setEnd(n,0),r.collapse(!1),t.removeAllRanges(),t.addRange(r),!o&&!e.state.selection.visible&&x.ie&&x.ie_version<=11&&(n.disabled=!0,n.disabled=!1)}function ls(e,t){if(t instanceof E){var r=e.docView.descAt(t.from);r!=e.lastSelectedViewDesc&&(us(e),r&&r.selectNode(),e.lastSelectedViewDesc=r)}else us(e)}function us(e){e.lastSelectedViewDesc&&(e.lastSelectedViewDesc.parent&&e.lastSelectedViewDesc.deselectNode(),e.lastSelectedViewDesc=null)}function qn(e,t,r,n){return e.someProp(\"createSelectionBetween\",function(o){return o(e,t,r)})||H.between(t,r,n)}function Pl(e){return e.editable&&e.root.activeElement!=e.dom?!1:Jn(e)}function Jn(e){var t=e.root.getSelection();if(!t.anchorNode)return!1;try{return e.dom.contains(t.anchorNode.nodeType==3?t.anchorNode.parentNode:t.anchorNode)&&(e.editable||e.dom.contains(t.focusNode.nodeType==3?t.focusNode.parentNode:t.focusNode))}catch{return!1}}function Bl(e){var t=e.docView.domFromPos(e.state.selection.anchor,0),r=e.root.getSelection();return Pr(t.node,t.offset,r.anchorNode,r.anchorOffset)}function Wn(e,t){var r=e.selection,n=r.$anchor,o=r.$head,i=t>0?n.max(o):n.min(o),s=i.parent.inlineContent?i.depth?e.doc.resolve(t>0?i.after():i.before()):null:i;return s&&D.findFrom(s,t)}function xe(e,t){return e.dispatch(e.state.tr.setSelection(t).scrollIntoView()),!0}function fs(e,t,r){var n=e.state.selection;if(n instanceof H){if(!n.empty||r.indexOf(\"s\")>-1)return!1;if(e.endOfTextblock(t>0?\"right\":\"left\")){var o=Wn(e.state,t);return o&&o instanceof E?xe(e,o):!1}else if(!(x.mac&&r.indexOf(\"m\")>-1)){var i=n.$head,s=i.textOffset?null:t<0?i.nodeBefore:i.nodeAfter,a;if(!s||s.isText)return!1;var c=t<0?i.pos-s.nodeSize:i.pos;return s.isAtom||(a=e.docView.descAt(c))&&!a.contentDOM?E.isSelectable(s)?xe(e,new E(t<0?e.state.doc.resolve(i.pos-s.nodeSize):i)):x.webkit?xe(e,new H(e.state.doc.resolve(t<0?c:c+s.nodeSize))):!1:!1}}else{if(n instanceof E&&n.node.isInline)return xe(e,new H(t>0?n.$to:n.$from));var l=Wn(e.state,t);return l?xe(e,l):!1}}function Br(e){return e.nodeType==3?e.nodeValue.length:e.childNodes.length}function cr(e){var t=e.pmViewDesc;return t&&t.size==0&&(e.nextSibling||e.nodeName!=\"BR\")}function Kn(e){var t=e.root.getSelection(),r=t.focusNode,n=t.focusOffset;if(!!r){var o,i,s=!1;for(x.gecko&&r.nodeType==1&&n<Br(r)&&cr(r.childNodes[n])&&(s=!0);;)if(n>0){if(r.nodeType!=1)break;var a=r.childNodes[n-1];if(cr(a))o=r,i=--n;else if(a.nodeType==3)r=a,n=r.nodeValue.length;else break}else{if(ps(r))break;for(var c=r.previousSibling;c&&cr(c);)o=r.parentNode,i=Pt(c),c=c.previousSibling;if(c)r=c,n=Br(r);else{if(r=r.parentNode,r==e.dom)break;n=0}}s?Un(e,t,r,n):o&&Un(e,t,o,i)}}function $n(e){var t=e.root.getSelection(),r=t.focusNode,n=t.focusOffset;if(!!r){for(var o=Br(r),i,s;;)if(n<o){if(r.nodeType!=1)break;var a=r.childNodes[n];if(cr(a))i=r,s=++n;else break}else{if(ps(r))break;for(var c=r.nextSibling;c&&cr(c);)i=c.parentNode,s=Pt(c)+1,c=c.nextSibling;if(c)r=c,n=0,o=Br(r);else{if(r=r.parentNode,r==e.dom)break;n=o=0}}i&&Un(e,t,i,s)}}function ps(e){var t=e.pmViewDesc;return t&&t.node&&t.node.isBlock}function Un(e,t,r,n){if(Pn(t)){var o=document.createRange();o.setEnd(r,n),o.setStart(r,n),t.removeAllRanges(),t.addRange(o)}else t.extend&&t.extend(r,n);e.domObserver.setCurSelection();var i=e.state;setTimeout(function(){e.state==i&&fe(e)},50)}function ds(e,t,r){var n=e.state.selection;if(n instanceof H&&!n.empty||r.indexOf(\"s\")>-1||x.mac&&r.indexOf(\"m\")>-1)return!1;var o=n.$from,i=n.$to;if(!o.parent.inlineContent||e.endOfTextblock(t<0?\"up\":\"down\")){var s=Wn(e.state,t);if(s&&s instanceof E)return xe(e,s)}if(!o.parent.inlineContent){var a=t<0?o:i,c=n instanceof re?D.near(a,t):D.findFrom(a,t);return c?xe(e,c):!1}return!1}function hs(e,t){if(!(e.state.selection instanceof H))return!0;var r=e.state.selection,n=r.$head,o=r.$anchor,i=r.empty;if(!n.sameParent(o))return!0;if(!i)return!1;if(e.endOfTextblock(t>0?\"forward\":\"backward\"))return!0;var s=!n.textOffset&&(t<0?n.nodeBefore:n.nodeAfter);if(s&&!s.isText){var a=e.state.tr;return t<0?a.delete(n.pos-s.nodeSize,n.pos):a.delete(n.pos,n.pos+s.nodeSize),e.dispatch(a),!0}return!1}function ms(e,t,r){e.domObserver.stop(),t.contentEditable=r,e.domObserver.start()}function zl(e){if(!(!x.safari||e.state.selection.$head.parentOffset>0)){var t=e.root.getSelection(),r=t.focusNode,n=t.focusOffset;if(r&&r.nodeType==1&&n==0&&r.firstChild&&r.firstChild.contentEditable==\"false\"){var o=r.firstChild;ms(e,o,!0),setTimeout(function(){return ms(e,o,!1)},20)}}}function Ll(e){var t=\"\";return e.ctrlKey&&(t+=\"c\"),e.metaKey&&(t+=\"m\"),e.altKey&&(t+=\"a\"),e.shiftKey&&(t+=\"s\"),t}function Fl(e,t){var r=t.keyCode,n=Ll(t);return r==8||x.mac&&r==72&&n==\"c\"?hs(e,-1)||Kn(e):r==46||x.mac&&r==68&&n==\"c\"?hs(e,1)||$n(e):r==13||r==27?!0:r==37?fs(e,-1,n)||Kn(e):r==39?fs(e,1,n)||$n(e):r==38?ds(e,-1,n)||Kn(e):r==40?zl(e)||ds(e,1,n)||$n(e):n==(x.mac?\"m\":\"c\")&&(r==66||r==73||r==89||r==90)}function Vl(e,t,r){var n=e.docView.parseRange(t,r),o=n.node,i=n.fromOffset,s=n.toOffset,a=n.from,c=n.to,l=e.root.getSelection(),u=null,f=l.anchorNode;if(f&&e.dom.contains(f.nodeType==1?f:f.parentNode)&&(u=[{node:f,offset:l.anchorOffset}],Pn(l)||u.push({node:l.focusNode,offset:l.focusOffset})),x.chrome&&e.lastKeyCode===8)for(var p=s;p>i;p--){var d=o.childNodes[p-1],h=d.pmViewDesc;if(d.nodeName==\"BR\"&&!h){s=p;break}if(!h||h.size)break}var v=e.state.doc,g=e.someProp(\"domParser\")||Lt.fromSchema(e.state.schema),M=v.resolve(a),y=null,R=g.parse(o,{topNode:M.parent,topMatch:M.parent.contentMatchAt(M.index()),topOpen:!0,from:i,to:s,preserveWhitespace:M.parent.type.spec.code?\"full\":!0,editableContent:!0,findPositions:u,ruleFromNode:Hl,context:M});if(u&&u[0].pos!=null){var m=u[0].pos,I=u[1]&&u[1].pos;I==null&&(I=m),y={anchor:m+a,head:I+a}}return{doc:R,sel:y,from:a,to:c}}function Hl(e){var t=e.pmViewDesc;if(t)return t.parseRule();if(e.nodeName==\"BR\"&&e.parentNode){if(x.safari&&/^(ul|ol)$/i.test(e.parentNode.nodeName)){var r=document.createElement(\"div\");return r.appendChild(document.createElement(\"li\")),{skip:r}}else if(e.parentNode.lastChild==e||x.safari&&/^(tr|table)$/i.test(e.parentNode.nodeName))return{ignore:!0}}else if(e.nodeName==\"IMG\"&&e.getAttribute(\"mark-placeholder\"))return{ignore:!0}}function jl(e,t,r,n,o){if(t<0){var i=e.lastSelectionTime>Date.now()-50?e.lastSelectionOrigin:null,s=ns(e,i);if(s&&!e.state.selection.eq(s)){var a=e.state.tr.setSelection(s);i==\"pointer\"?a.setMeta(\"pointer\",!0):i==\"key\"&&a.scrollIntoView(),e.dispatch(a)}return}var c=e.state.doc.resolve(t),l=c.sharedDepth(r);t=c.before(l+1),r=e.state.doc.resolve(r).after(l+1);var u=e.state.selection,f=Vl(e,t,r);if(x.chrome&&e.cursorWrapper&&f.sel&&f.sel.anchor==e.cursorWrapper.deco.from){var p=e.cursorWrapper.deco.type.toDOM.nextSibling,d=p&&p.nodeValue?p.nodeValue.length:1;f.sel={anchor:f.sel.anchor+d,head:f.sel.anchor+d}}var h=e.state.doc,v=h.slice(f.from,f.to),g,M;e.lastKeyCode===8&&Date.now()-100<e.lastKeyCodeTime?(g=e.state.selection.to,M=\"end\"):(g=e.state.selection.from,M=\"start\"),e.lastKeyCode=null;var y=Wl(v.content,f.doc.content,f.from,g,M);if(!y)if(n&&u instanceof H&&!u.empty&&u.$head.sameParent(u.$anchor)&&!e.composing&&!(f.sel&&f.sel.anchor!=f.sel.head))y={start:u.from,endA:u.to,endB:u.to};else if((x.ios&&e.lastIOSEnter>Date.now()-225||x.android)&&o.some(function(Y){return Y.nodeName==\"DIV\"||Y.nodeName==\"P\"})&&e.someProp(\"handleKeyDown\",function(Y){return Y(e,ze(13,\"Enter\"))})){e.lastIOSEnter=0;return}else{if(f.sel){var R=vs(e,e.state.doc,f.sel);R&&!R.eq(e.state.selection)&&e.dispatch(e.state.tr.setSelection(R))}return}e.domChangeCount++,e.state.selection.from<e.state.selection.to&&y.start==y.endB&&e.state.selection instanceof H&&(y.start>e.state.selection.from&&y.start<=e.state.selection.from+2?y.start=e.state.selection.from:y.endA<e.state.selection.to&&y.endA>=e.state.selection.to-2&&(y.endB+=e.state.selection.to-y.endA,y.endA=e.state.selection.to)),x.ie&&x.ie_version<=11&&y.endB==y.start+1&&y.endA==y.start&&y.start>f.from&&f.doc.textBetween(y.start-f.from-1,y.start-f.from+1)==\" \\xA0\"&&(y.start--,y.endA--,y.endB--);var m=f.doc.resolveNoCache(y.start-f.from),I=f.doc.resolveNoCache(y.endB-f.from),O=m.sameParent(I)&&m.parent.inlineContent,F;if((x.ios&&e.lastIOSEnter>Date.now()-225&&(!O||o.some(function(Y){return Y.nodeName==\"DIV\"||Y.nodeName==\"P\"}))||!O&&m.pos<f.doc.content.size&&(F=D.findFrom(f.doc.resolve(m.pos+1),1,!0))&&F.head==I.pos)&&e.someProp(\"handleKeyDown\",function(Y){return Y(e,ze(13,\"Enter\"))})){e.lastIOSEnter=0;return}if(e.state.selection.anchor>y.start&&Jl(h,y.start,y.endA,m,I)&&e.someProp(\"handleKeyDown\",function(Y){return Y(e,ze(8,\"Backspace\"))})){x.android&&x.chrome&&e.domObserver.suppressSelectionUpdates();return}x.chrome&&x.android&&y.toB==y.from&&(e.lastAndroidDelete=Date.now()),x.android&&!O&&m.start()!=I.start()&&I.parentOffset==0&&m.depth==I.depth&&f.sel&&f.sel.anchor==f.sel.head&&f.sel.head==y.endA&&(y.endB-=2,I=f.doc.resolveNoCache(y.endB-f.from),setTimeout(function(){e.someProp(\"handleKeyDown\",function(Y){return Y(e,ze(13,\"Enter\"))})},20));var J=y.start,U=y.endA,T,Qt,rt,ut;if(O){if(m.pos==I.pos)x.ie&&x.ie_version<=11&&m.parentOffset==0&&(e.domObserver.suppressSelectionUpdates(),setTimeout(function(){return fe(e)},20)),T=e.state.tr.delete(J,U),Qt=h.resolve(y.start).marksAcross(h.resolve(y.endA));else if(y.endA==y.endB&&(ut=h.resolve(y.start))&&(rt=ql(m.parent.content.cut(m.parentOffset,I.parentOffset),ut.parent.content.cut(ut.parentOffset,y.endA-ut.start()))))T=e.state.tr,rt.type==\"add\"?T.addMark(J,U,rt.mark):T.removeMark(J,U,rt.mark);else if(m.parent.child(m.index()).isText&&m.index()==I.index()-(I.textOffset?0:1)){var qt=m.parent.textBetween(m.parentOffset,I.parentOffset);if(e.someProp(\"handleTextInput\",function(Y){return Y(e,J,U,qt)}))return;T=e.state.tr.insertText(qt,J,U)}}if(T||(T=e.state.tr.replace(J,U,f.doc.slice(y.start-f.from,y.endB-f.from))),f.sel){var G=vs(e,T.doc,f.sel);G&&!(x.chrome&&x.android&&e.composing&&G.empty&&(y.start!=y.endB||e.lastAndroidDelete<Date.now()-100)&&(G.head==J||G.head==T.mapping.map(U)-1)||x.ie&&G.empty&&G.head==J)&&T.setSelection(G)}Qt&&T.ensureMarks(Qt),e.dispatch(T.scrollIntoView())}function vs(e,t,r){return Math.max(r.anchor,r.head)>t.content.size?null:qn(e,t.resolve(r.anchor),t.resolve(r.head))}function ql(e,t){for(var r=e.firstChild.marks,n=t.firstChild.marks,o=r,i=n,s,a,c,l=0;l<n.length;l++)o=n[l].removeFromSet(o);for(var u=0;u<r.length;u++)i=r[u].removeFromSet(i);if(o.length==1&&i.length==0)a=o[0],s=\"add\",c=function(d){return d.mark(a.addToSet(d.marks))};else if(o.length==0&&i.length==1)a=i[0],s=\"remove\",c=function(d){return d.mark(a.removeFromSet(d.marks))};else return null;for(var f=[],p=0;p<t.childCount;p++)f.push(c(t.child(p)));if(k.from(f).eq(e))return{mark:a,type:s}}function Jl(e,t,r,n,o){if(!n.parent.isTextblock||r-t<=o.pos-n.pos||Gn(n,!0,!1)<o.pos)return!1;var i=e.resolve(t);if(i.parentOffset<i.parent.content.size||!i.parent.isTextblock)return!1;var s=e.resolve(Gn(i,!0,!0));return!s.parent.isTextblock||s.pos>r||Gn(s,!0,!1)<r?!1:n.parent.content.cut(n.parentOffset).eq(s.parent.content)}function Gn(e,t,r){for(var n=e.depth,o=t?e.end():e.pos;n>0&&(t||e.indexAfter(n)==e.node(n).childCount);)n--,o++,t=!1;if(r)for(var i=e.node(n).maybeChild(e.indexAfter(n));i&&!i.isLeaf;)i=i.firstChild,o++;return o}function Wl(e,t,r,n,o){var i=e.findDiffStart(t,r);if(i==null)return null;var s=e.findDiffEnd(t,r+e.size,r+t.size),a=s.a,c=s.b;if(o==\"end\"){var l=Math.max(0,i-Math.min(a,c));n-=a+l-i}if(a<i&&e.size<t.size){var u=n<=i&&n>=a?i-n:0;i-=u,c=i+(c-a),a=i}else if(c<i){var f=n<=i&&n>=c?i-n:0;i-=f,a=i+(a-c),c=i}return{start:i,endA:a,endB:c}}function gs(e,t){for(var r=[],n=t.content,o=t.openStart,i=t.openEnd;o>1&&i>1&&n.childCount==1&&n.firstChild.childCount==1;){o--,i--;var s=n.firstChild;r.push(s.type.name,s.attrs!=s.type.defaultAttrs?s.attrs:null),n=s.content}var a=e.someProp(\"clipboardSerializer\")||ot.fromSchema(e.state.schema),c=Cs(),l=c.createElement(\"div\");l.appendChild(a.serializeFragment(n,{document:c}));for(var u=l.firstChild,f;u&&u.nodeType==1&&(f=Ms[u.nodeName.toLowerCase()]);){for(var p=f.length-1;p>=0;p--){for(var d=c.createElement(f[p]);l.firstChild;)d.appendChild(l.firstChild);l.appendChild(d),f[p]!=\"tbody\"&&(o++,i++)}u=l.firstChild}u&&u.nodeType==1&&u.setAttribute(\"data-pm-slice\",o+\" \"+i+\" \"+JSON.stringify(r));var h=e.someProp(\"clipboardTextSerializer\",function(v){return v(t)})||t.content.textBetween(0,t.content.size,`\n\n`);return{dom:l,text:h}}function ys(e,t,r,n,o){var i,s=o.parent.type.spec.code,a;if(!r&&!t)return null;var c=t&&(n||s||!r);if(c){if(e.someProp(\"transformPastedText\",function(M){t=M(t,s||n)}),s)return new C(k.from(e.state.schema.text(t.replace(/\\r\\n?/g,`\n`))),0,0);var l=e.someProp(\"clipboardTextParser\",function(M){return M(t,o,n)});if(l)a=l;else{var u=o.marks(),f=e.state,p=f.schema,d=ot.fromSchema(p);i=document.createElement(\"div\"),t.trim().split(/(?:\\r\\n?|\\n)+/).forEach(function(M){i.appendChild(document.createElement(\"p\")).appendChild(d.serializeNode(p.text(M,u)))})}}else e.someProp(\"transformPastedHTML\",function(M){r=M(r)}),i=Ul(r),x.webkit&&Gl(i);var h=i&&i.querySelector(\"[data-pm-slice]\"),v=h&&/^(\\d+) (\\d+) (.*)/.exec(h.getAttribute(\"data-pm-slice\"));if(!a){var g=e.someProp(\"clipboardParser\")||e.someProp(\"domParser\")||Lt.fromSchema(e.state.schema);a=g.parseSlice(i,{preserveWhitespace:!!(c||v),context:o})}return v?a=Yl($l(a,+v[1],+v[2]),v[3]):a=C.maxOpen(Kl(a.content,o),!1),e.someProp(\"transformPasted\",function(M){a=M(a)}),a}function Kl(e,t){if(e.childCount<2)return e;for(var r=function(i){var s=t.node(i),a=s.contentMatchAt(t.index(i)),c=void 0,l=[];if(e.forEach(function(u){if(!!l){var f=a.findWrapping(u.type),p;if(!f)return l=null;if(p=l.length&&c.length&&ks(f,c,u,l[l.length-1],0))l[l.length-1]=p;else{l.length&&(l[l.length-1]=Ss(l[l.length-1],c.length));var d=bs(u,f);l.push(d),a=a.matchType(d.type,d.attrs),c=f}}}),l)return{v:k.from(l)}},n=t.depth;n>=0;n--){var o=r(n);if(o)return o.v}return e}function bs(e,t,r){r===void 0&&(r=0);for(var n=t.length-1;n>=r;n--)e=t[n].create(null,k.from(e));return e}function ks(e,t,r,n,o){if(o<e.length&&o<t.length&&e[o]==t[o]){var i=ks(e,t,r,n.lastChild,o+1);if(i)return n.copy(n.content.replaceChild(n.childCount-1,i));var s=n.contentMatchAt(n.childCount);if(s.matchType(o==e.length-1?r.type:e[o+1]))return n.copy(n.content.append(k.from(bs(r,e,o+1))))}}function Ss(e,t){if(t==0)return e;var r=e.content.replaceChild(e.childCount-1,Ss(e.lastChild,t-1)),n=e.contentMatchAt(e.childCount).fillBefore(k.empty,!0);return e.copy(r.append(n))}function Yn(e,t,r,n,o,i){var s=t<0?e.firstChild:e.lastChild,a=s.content;return o<n-1&&(a=Yn(a,t,r,n,o+1,i)),o>=r&&(a=t<0?s.contentMatchAt(0).fillBefore(a,e.childCount>1||i<=o).append(a):a.append(s.contentMatchAt(s.childCount).fillBefore(k.empty,!0))),e.replaceChild(t<0?0:e.childCount-1,s.copy(a))}function $l(e,t,r){return t<e.openStart&&(e=new C(Yn(e.content,-1,t,e.openStart,0,e.openEnd),t,e.openEnd)),r<e.openEnd&&(e=new C(Yn(e.content,1,r,e.openEnd,0,0),e.openStart,r)),e}var Ms={thead:[\"table\"],tbody:[\"table\"],tfoot:[\"table\"],caption:[\"table\"],colgroup:[\"table\"],col:[\"table\",\"colgroup\"],tr:[\"table\",\"tbody\"],td:[\"table\",\"tbody\",\"tr\"],th:[\"table\",\"tbody\",\"tr\"]},xs=null;function Cs(){return xs||(xs=document.implementation.createHTMLDocument(\"title\"))}function Ul(e){var t=/^(\\s*<meta [^>]*>)*/.exec(e);t&&(e=e.slice(t[0].length));var r=Cs().createElement(\"div\"),n=/<([a-z][^>\\s]+)/i.exec(e),o;if((o=n&&Ms[n[1].toLowerCase()])&&(e=o.map(function(s){return\"<\"+s+\">\"}).join(\"\")+e+o.map(function(s){return\"</\"+s+\">\"}).reverse().join(\"\")),r.innerHTML=e,o)for(var i=0;i<o.length;i++)r=r.querySelector(o[i])||r;return r}function Gl(e){for(var t=e.querySelectorAll(x.chrome?\"span:not([class]):not([style])\":\"span.Apple-converted-space\"),r=0;r<t.length;r++){var n=t[r];n.childNodes.length==1&&n.textContent==\"\\xA0\"&&n.parentNode&&n.parentNode.replaceChild(e.ownerDocument.createTextNode(\" \"),n)}}function Yl(e,t){if(!e.size)return e;var r=e.content.firstChild.type.schema,n;try{n=JSON.parse(t)}catch{return e}for(var o=e.content,i=e.openStart,s=e.openEnd,a=n.length-2;a>=0;a-=2){var c=r.nodes[n[a]];if(!c||c.hasRequiredAttrs())break;o=k.from(c.create(n[a+1],o)),i++,s++}return new C(o,i,s)}var Xl={childList:!0,characterData:!0,characterDataOldValue:!0,attributes:!0,attributeOldValue:!0,subtree:!0},Xn=x.ie&&x.ie_version<=11,Qn=function(){this.anchorNode=this.anchorOffset=this.focusNode=this.focusOffset=null};Qn.prototype.set=function(t){this.anchorNode=t.anchorNode,this.anchorOffset=t.anchorOffset,this.focusNode=t.focusNode,this.focusOffset=t.focusOffset};Qn.prototype.eq=function(t){return t.anchorNode==this.anchorNode&&t.anchorOffset==this.anchorOffset&&t.focusNode==this.focusNode&&t.focusOffset==this.focusOffset};var Nt=function(t,r){var n=this;this.view=t,this.handleDOMChange=r,this.queue=[],this.flushingSoon=-1,this.observer=window.MutationObserver&&new window.MutationObserver(function(o){for(var i=0;i<o.length;i++)n.queue.push(o[i]);x.ie&&x.ie_version<=11&&o.some(function(s){return s.type==\"childList\"&&s.removedNodes.length||s.type==\"characterData\"&&s.oldValue.length>s.target.nodeValue.length})?n.flushSoon():n.flush()}),this.currentSelection=new Qn,Xn&&(this.onCharData=function(o){n.queue.push({target:o.target,type:\"characterData\",oldValue:o.prevValue}),n.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.suppressingSelectionUpdates=!1};Nt.prototype.flushSoon=function(){var t=this;this.flushingSoon<0&&(this.flushingSoon=window.setTimeout(function(){t.flushingSoon=-1,t.flush()},20))};Nt.prototype.forceFlush=function(){this.flushingSoon>-1&&(window.clearTimeout(this.flushingSoon),this.flushingSoon=-1,this.flush())};Nt.prototype.start=function(){this.observer&&this.observer.observe(this.view.dom,Xl),Xn&&this.view.dom.addEventListener(\"DOMCharacterDataModified\",this.onCharData),this.connectSelection()};Nt.prototype.stop=function(){var t=this;if(this.observer){var r=this.observer.takeRecords();if(r.length){for(var n=0;n<r.length;n++)this.queue.push(r[n]);window.setTimeout(function(){return t.flush()},20)}this.observer.disconnect()}Xn&&this.view.dom.removeEventListener(\"DOMCharacterDataModified\",this.onCharData),this.disconnectSelection()};Nt.prototype.connectSelection=function(){this.view.dom.ownerDocument.addEventListener(\"selectionchange\",this.onSelectionChange)};Nt.prototype.disconnectSelection=function(){this.view.dom.ownerDocument.removeEventListener(\"selectionchange\",this.onSelectionChange)};Nt.prototype.suppressSelectionUpdates=function(){var t=this;this.suppressingSelectionUpdates=!0,setTimeout(function(){return t.suppressingSelectionUpdates=!1},50)};Nt.prototype.onSelectionChange=function(){if(!!Pl(this.view)){if(this.suppressingSelectionUpdates)return fe(this.view);if(x.ie&&x.ie_version<=11&&!this.view.state.selection.empty){var t=this.view.root.getSelection();if(t.focusNode&&Pr(t.focusNode,t.focusOffset,t.anchorNode,t.anchorOffset))return this.flushSoon()}this.flush()}};Nt.prototype.setCurSelection=function(){this.currentSelection.set(this.view.root.getSelection())};Nt.prototype.ignoreSelectionChange=function(t){if(t.rangeCount==0)return!0;var r=t.getRangeAt(0).commonAncestorContainer,n=this.view.docView.nearestDesc(r);if(n&&n.ignoreMutation({type:\"selection\",target:r.nodeType==3?r.parentNode:r}))return this.setCurSelection(),!0};Nt.prototype.flush=function(){if(!(!this.view.docView||this.flushingSoon>-1)){var t=this.observer?this.observer.takeRecords():[];this.queue.length&&(t=this.queue.concat(t),this.queue.length=0);var r=this.view.root.getSelection(),n=!this.suppressingSelectionUpdates&&!this.currentSelection.eq(r)&&Jn(this.view)&&!this.ignoreSelectionChange(r),o=-1,i=-1,s=!1,a=[];if(this.view.editable)for(var c=0;c<t.length;c++){var l=this.registerMutation(t[c],a);l&&(o=o<0?l.from:Math.min(l.from,o),i=i<0?l.to:Math.max(l.to,i),l.typeOver&&(s=!0))}if(x.gecko&&a.length>1){var u=a.filter(function(d){return d.nodeName==\"BR\"});if(u.length==2){var f=u[0],p=u[1];f.parentNode&&f.parentNode.parentNode==p.parentNode?p.remove():f.remove()}}(o>-1||n)&&(o>-1&&(this.view.docView.markDirty(o,i),Ql(this.view)),this.handleDOMChange(o,i,s,a),this.view.docView.dirty?this.view.updateState(this.view.state):this.currentSelection.eq(r)||fe(this.view),this.currentSelection.set(r))}};Nt.prototype.registerMutation=function(t,r){if(r.indexOf(t.target)>-1)return null;var n=this.view.docView.nearestDesc(t.target);if(t.type==\"attributes\"&&(n==this.view.docView||t.attributeName==\"contenteditable\"||t.attributeName==\"style\"&&!t.oldValue&&!t.target.getAttribute(\"style\"))||!n||n.ignoreMutation(t))return null;if(t.type==\"childList\"){for(var o=0;o<t.addedNodes.length;o++)r.push(t.addedNodes[o]);if(n.contentDOM&&n.contentDOM!=n.dom&&!n.contentDOM.contains(t.target))return{from:n.posBefore,to:n.posAfter};var i=t.previousSibling,s=t.nextSibling;if(x.ie&&x.ie_version<=11&&t.addedNodes.length)for(var a=0;a<t.addedNodes.length;a++){var c=t.addedNodes[a],l=c.previousSibling,u=c.nextSibling;(!l||Array.prototype.indexOf.call(t.addedNodes,l)<0)&&(i=l),(!u||Array.prototype.indexOf.call(t.addedNodes,u)<0)&&(s=u)}var f=i&&i.parentNode==t.target?Pt(i)+1:0,p=n.localPosFromDOM(t.target,f,-1),d=s&&s.parentNode==t.target?Pt(s):t.target.childNodes.length,h=n.localPosFromDOM(t.target,d,1);return{from:p,to:h}}else return t.type==\"attributes\"?{from:n.posAtStart-n.border,to:n.posAtEnd+n.border}:{from:n.posAtStart,to:n.posAtEnd,typeOver:t.target.nodeValue==t.oldValue}};var Os=!1;function Ql(e){Os||(Os=!0,getComputedStyle(e.dom).whiteSpace==\"normal\"&&console.warn(\"ProseMirror expects the CSS white-space property to be set, preferably to 'pre-wrap'. It is recommended to load style/prosemirror.css from the prosemirror-view package.\"))}var Ct={},kt={};function Zl(e){e.shiftKey=!1,e.mouseDown=null,e.lastKeyCode=null,e.lastKeyCodeTime=0,e.lastClick={time:0,x:0,y:0,type:\"\"},e.lastSelectionOrigin=null,e.lastSelectionTime=0,e.lastIOSEnter=0,e.lastIOSEnterFallbackTimeout=null,e.lastAndroidDelete=0,e.composing=!1,e.composingTimeout=null,e.compositionNodes=[],e.compositionEndedAt=-2e8,e.domObserver=new Nt(e,function(n,o,i,s){return jl(e,n,o,i,s)}),e.domObserver.start(),e.domChangeCount=0,e.eventHandlers=Object.create(null);var t=function(n){var o=Ct[n];e.dom.addEventListener(n,e.eventHandlers[n]=function(i){eu(e,i)&&!to(e,i)&&(e.editable||!(i.type in kt))&&o(e,i)})};for(var r in Ct)t(r);x.safari&&e.dom.addEventListener(\"input\",function(){return null}),Zn(e)}function Ce(e,t){e.lastSelectionOrigin=t,e.lastSelectionTime=Date.now()}function tu(e){e.domObserver.stop();for(var t in e.eventHandlers)e.dom.removeEventListener(t,e.eventHandlers[t]);clearTimeout(e.composingTimeout),clearTimeout(e.lastIOSEnterFallbackTimeout)}function Zn(e){e.someProp(\"handleDOMEvents\",function(t){for(var r in t)e.eventHandlers[r]||e.dom.addEventListener(r,e.eventHandlers[r]=function(n){return to(e,n)})})}function to(e,t){return e.someProp(\"handleDOMEvents\",function(r){var n=r[t.type];return n?n(e,t)||t.defaultPrevented:!1})}function eu(e,t){if(!t.bubbles)return!0;if(t.defaultPrevented)return!1;for(var r=t.target;r!=e.dom;r=r.parentNode)if(!r||r.nodeType==11||r.pmViewDesc&&r.pmViewDesc.stopEvent(t))return!1;return!0}function ru(e,t){!to(e,t)&&Ct[t.type]&&(e.editable||!(t.type in kt))&&Ct[t.type](e,t)}kt.keydown=function(e,t){if(e.shiftKey=t.keyCode==16||t.shiftKey,!Ts(e,t))if(t.keyCode!=229&&e.domObserver.forceFlush(),e.lastKeyCode=t.keyCode,e.lastKeyCodeTime=Date.now(),x.ios&&t.keyCode==13&&!t.ctrlKey&&!t.altKey&&!t.metaKey){var r=Date.now();e.lastIOSEnter=r,e.lastIOSEnterFallbackTimeout=setTimeout(function(){e.lastIOSEnter==r&&(e.someProp(\"handleKeyDown\",function(n){return n(e,ze(13,\"Enter\"))}),e.lastIOSEnter=0)},200)}else e.someProp(\"handleKeyDown\",function(n){return n(e,t)})||Fl(e,t)?t.preventDefault():Ce(e,\"key\")};kt.keyup=function(e,t){t.keyCode==16&&(e.shiftKey=!1)};kt.keypress=function(e,t){if(!(Ts(e,t)||!t.charCode||t.ctrlKey&&!t.altKey||x.mac&&t.metaKey)){if(e.someProp(\"handleKeyPress\",function(o){return o(e,t)})){t.preventDefault();return}var r=e.state.selection;if(!(r instanceof H)||!r.$from.sameParent(r.$to)){var n=String.fromCharCode(t.charCode);e.someProp(\"handleTextInput\",function(o){return o(e,r.$from.pos,r.$to.pos,n)})||e.dispatch(e.state.tr.insertText(n).scrollIntoView()),t.preventDefault()}}};function zr(e){return{left:e.clientX,top:e.clientY}}function nu(e,t){var r=t.x-e.clientX,n=t.y-e.clientY;return r*r+n*n<100}function eo(e,t,r,n,o){if(n==-1)return!1;for(var i=e.state.doc.resolve(n),s=function(l){if(e.someProp(t,function(u){return l>i.depth?u(e,r,i.nodeAfter,i.before(l),o,!0):u(e,r,i.node(l),i.before(l),o,!1)}))return{v:!0}},a=i.depth+1;a>0;a--){var c=s(a);if(c)return c.v}return!1}function Fe(e,t,r){e.focused||e.focus();var n=e.state.tr.setSelection(t);r==\"pointer\"&&n.setMeta(\"pointer\",!0),e.dispatch(n)}function ou(e,t){if(t==-1)return!1;var r=e.state.doc.resolve(t),n=r.nodeAfter;return n&&n.isAtom&&E.isSelectable(n)?(Fe(e,new E(r),\"pointer\"),!0):!1}function iu(e,t){if(t==-1)return!1;var r=e.state.selection,n,o;r instanceof E&&(n=r.node);for(var i=e.state.doc.resolve(t),s=i.depth+1;s>0;s--){var a=s>i.depth?i.nodeAfter:i.node(s);if(E.isSelectable(a)){n&&r.$from.depth>0&&s>=r.$from.depth&&i.before(r.$from.depth+1)==r.$from.pos?o=i.before(r.$from.depth):o=i.before(s);break}}return o!=null?(Fe(e,E.create(e.state.doc,o),\"pointer\"),!0):!1}function su(e,t,r,n,o){return eo(e,\"handleClickOn\",t,r,n)||e.someProp(\"handleClick\",function(i){return i(e,t,n)})||(o?iu(e,r):ou(e,r))}function au(e,t,r,n){return eo(e,\"handleDoubleClickOn\",t,r,n)||e.someProp(\"handleDoubleClick\",function(o){return o(e,t,n)})}function cu(e,t,r,n){return eo(e,\"handleTripleClickOn\",t,r,n)||e.someProp(\"handleTripleClick\",function(o){return o(e,t,n)})||lu(e,r,n)}function lu(e,t,r){if(r.button!=0)return!1;var n=e.state.doc;if(t==-1)return n.inlineContent?(Fe(e,H.create(n,0,n.content.size),\"pointer\"),!0):!1;for(var o=n.resolve(t),i=o.depth+1;i>0;i--){var s=i>o.depth?o.nodeAfter:o.node(i),a=o.before(i);if(s.inlineContent)Fe(e,H.create(n,a+1,a+1+s.content.size),\"pointer\");else if(E.isSelectable(s))Fe(e,E.create(n,a),\"pointer\");else continue;return!0}}function ro(e){return Fr(e)}var ws=x.mac?\"metaKey\":\"ctrlKey\";Ct.mousedown=function(e,t){e.shiftKey=t.shiftKey;var r=ro(e),n=Date.now(),o=\"singleClick\";n-e.lastClick.time<500&&nu(t,e.lastClick)&&!t[ws]&&(e.lastClick.type==\"singleClick\"?o=\"doubleClick\":e.lastClick.type==\"doubleClick\"&&(o=\"tripleClick\")),e.lastClick={time:n,x:t.clientX,y:t.clientY,type:o};var i=e.posAtCoords(zr(t));!i||(o==\"singleClick\"?(e.mouseDown&&e.mouseDown.done(),e.mouseDown=new Lr(e,i,t,r)):(o==\"doubleClick\"?au:cu)(e,i.pos,i.inside,t)?t.preventDefault():Ce(e,\"pointer\"))};var Lr=function(t,r,n,o){var i=this;this.view=t,this.startDoc=t.state.doc,this.pos=r,this.event=n,this.flushed=o,this.selectNode=n[ws],this.allowDefault=n.shiftKey,this.delayedSelectionSync=!1;var s,a;if(r.inside>-1)s=t.state.doc.nodeAt(r.inside),a=r.inside;else{var c=t.state.doc.resolve(r.pos);s=c.parent,a=c.depth?c.before():0}this.mightDrag=null;var l=o?null:n.target,u=l?t.docView.nearestDesc(l,!0):null;this.target=u?u.dom:null;var f=t.state,p=f.selection;(n.button==0&&s.type.spec.draggable&&s.type.spec.selectable!==!1||p instanceof E&&p.from<=a&&p.to>a)&&(this.mightDrag={node:s,pos:a,addAttr:this.target&&!this.target.draggable,setUneditable:this.target&&x.gecko&&!this.target.hasAttribute(\"contentEditable\")}),this.target&&this.mightDrag&&(this.mightDrag.addAttr||this.mightDrag.setUneditable)&&(this.view.domObserver.stop(),this.mightDrag.addAttr&&(this.target.draggable=!0),this.mightDrag.setUneditable&&setTimeout(function(){i.view.mouseDown==i&&i.target.setAttribute(\"contentEditable\",\"false\")},20),this.view.domObserver.start()),t.root.addEventListener(\"mouseup\",this.up=this.up.bind(this)),t.root.addEventListener(\"mousemove\",this.move=this.move.bind(this)),Ce(t,\"pointer\")};Lr.prototype.done=function(){var t=this;this.view.root.removeEventListener(\"mouseup\",this.up),this.view.root.removeEventListener(\"mousemove\",this.move),this.mightDrag&&this.target&&(this.view.domObserver.stop(),this.mightDrag.addAttr&&this.target.removeAttribute(\"draggable\"),this.mightDrag.setUneditable&&this.target.removeAttribute(\"contentEditable\"),this.view.domObserver.start()),this.delayedSelectionSync&&setTimeout(function(){return fe(t.view)}),this.view.mouseDown=null};Lr.prototype.up=function(t){if(this.done(),!!this.view.dom.contains(t.target.nodeType==3?t.target.parentNode:t.target)){var r=this.pos;this.view.state.doc!=this.startDoc&&(r=this.view.posAtCoords(zr(t))),this.allowDefault||!r?Ce(this.view,\"pointer\"):su(this.view,r.pos,r.inside,t,this.selectNode)?t.preventDefault():t.button==0&&(this.flushed||x.safari&&this.mightDrag&&!this.mightDrag.node.isAtom||x.chrome&&!(this.view.state.selection instanceof H)&&Math.min(Math.abs(r.pos-this.view.state.selection.from),Math.abs(r.pos-this.view.state.selection.to))<=2)?(Fe(this.view,D.near(this.view.state.doc.resolve(r.pos)),\"pointer\"),t.preventDefault()):Ce(this.view,\"pointer\")}};Lr.prototype.move=function(t){!this.allowDefault&&(Math.abs(this.event.x-t.clientX)>4||Math.abs(this.event.y-t.clientY)>4)&&(this.allowDefault=!0),Ce(this.view,\"pointer\"),t.buttons==0&&this.done()};Ct.touchdown=function(e){ro(e),Ce(e,\"pointer\")};Ct.contextmenu=function(e){return ro(e)};function Ts(e,t){return e.composing?!0:x.safari&&Math.abs(t.timeStamp-e.compositionEndedAt)<500?(e.compositionEndedAt=-2e8,!0):!1}var uu=x.android?5e3:-1;kt.compositionstart=kt.compositionupdate=function(e){if(!e.composing){e.domObserver.flush();var t=e.state,r=t.selection.$from;if(t.selection.empty&&(t.storedMarks||!r.textOffset&&r.parentOffset&&r.nodeBefore.marks.some(function(a){return a.type.spec.inclusive===!1})))e.markCursor=e.state.storedMarks||r.marks(),Fr(e,!0),e.markCursor=null;else if(Fr(e),x.gecko&&t.selection.empty&&r.parentOffset&&!r.textOffset&&r.nodeBefore.marks.length)for(var n=e.root.getSelection(),o=n.focusNode,i=n.focusOffset;o&&o.nodeType==1&&i!=0;){var s=i<0?o.lastChild:o.childNodes[i-1];if(!s)break;if(s.nodeType==3){n.collapse(s,s.nodeValue.length);break}else o=s,i=-1}e.composing=!0}As(e,uu)};kt.compositionend=function(e,t){e.composing&&(e.composing=!1,e.compositionEndedAt=t.timeStamp,As(e,20))};function As(e,t){clearTimeout(e.composingTimeout),t>-1&&(e.composingTimeout=setTimeout(function(){return Fr(e)},t))}function _s(e){for(e.composing&&(e.composing=!1,e.compositionEndedAt=fu());e.compositionNodes.length>0;)e.compositionNodes.pop().markParentsDirty()}function fu(){var e=document.createEvent(\"Event\");return e.initEvent(\"event\",!0,!0),e.timeStamp}function Fr(e,t){if(e.domObserver.forceFlush(),_s(e),t||e.docView.dirty){var r=ns(e);return r&&!r.eq(e.state.selection)?e.dispatch(e.state.tr.setSelection(r)):e.updateState(e.state),!0}return!1}function pu(e,t){if(!!e.dom.parentNode){var r=e.dom.parentNode.appendChild(document.createElement(\"div\"));r.appendChild(t),r.style.cssText=\"position: fixed; left: -10000px; top: 10px\";var n=getSelection(),o=document.createRange();o.selectNodeContents(t),e.dom.blur(),n.removeAllRanges(),n.addRange(o),setTimeout(function(){r.parentNode&&r.parentNode.removeChild(r),e.focus()},50)}}var Ve=x.ie&&x.ie_version<15||x.ios&&x.webkit_version<604;Ct.copy=kt.cut=function(e,t){var r=e.state.selection,n=t.type==\"cut\";if(!r.empty){var o=Ve?null:t.clipboardData,i=r.content(),s=gs(e,i),a=s.dom,c=s.text;o?(t.preventDefault(),o.clearData(),o.setData(\"text/html\",a.innerHTML),o.setData(\"text/plain\",c)):pu(e,a),n&&e.dispatch(e.state.tr.deleteSelection().scrollIntoView().setMeta(\"uiEvent\",\"cut\"))}};function du(e){return e.openStart==0&&e.openEnd==0&&e.content.childCount==1?e.content.firstChild:null}function hu(e,t){if(!!e.dom.parentNode){var r=e.shiftKey||e.state.selection.$from.parent.type.spec.code,n=e.dom.parentNode.appendChild(document.createElement(r?\"textarea\":\"div\"));r||(n.contentEditable=\"true\"),n.style.cssText=\"position: fixed; left: -10000px; top: 10px\",n.focus(),setTimeout(function(){e.focus(),n.parentNode&&n.parentNode.removeChild(n),r?no(e,n.value,null,t):no(e,n.textContent,n.innerHTML,t)},50)}}function no(e,t,r,n){var o=ys(e,t,r,e.shiftKey,e.state.selection.$from);if(e.someProp(\"handlePaste\",function(a){return a(e,n,o||C.empty)}))return!0;if(!o)return!1;var i=du(o),s=i?e.state.tr.replaceSelectionWith(i,e.shiftKey):e.state.tr.replaceSelection(o);return e.dispatch(s.scrollIntoView().setMeta(\"paste\",!0).setMeta(\"uiEvent\",\"paste\")),!0}kt.paste=function(e,t){var r=Ve?null:t.clipboardData;r&&no(e,r.getData(\"text/plain\"),r.getData(\"text/html\"),t)?t.preventDefault():hu(e,t)};var mu=function(t,r){this.slice=t,this.move=r},Ns=x.mac?\"altKey\":\"ctrlKey\";Ct.dragstart=function(e,t){var r=e.mouseDown;if(r&&r.done(),!!t.dataTransfer){var n=e.state.selection,o=n.empty?null:e.posAtCoords(zr(t));if(!(o&&o.pos>=n.from&&o.pos<=(n instanceof E?n.to-1:n.to))){if(r&&r.mightDrag)e.dispatch(e.state.tr.setSelection(E.create(e.state.doc,r.mightDrag.pos)));else if(t.target&&t.target.nodeType==1){var i=e.docView.nearestDesc(t.target,!0);i&&i.node.type.spec.draggable&&i!=e.docView&&e.dispatch(e.state.tr.setSelection(E.create(e.state.doc,i.posBefore)))}}var s=e.state.selection.content(),a=gs(e,s),c=a.dom,l=a.text;t.dataTransfer.clearData(),t.dataTransfer.setData(Ve?\"Text\":\"text/html\",c.innerHTML),t.dataTransfer.effectAllowed=\"copyMove\",Ve||t.dataTransfer.setData(\"text/plain\",l),e.dragging=new mu(s,!t[Ns])}};Ct.dragend=function(e){var t=e.dragging;window.setTimeout(function(){e.dragging==t&&(e.dragging=null)},50)};kt.dragover=kt.dragenter=function(e,t){return t.preventDefault()};kt.drop=function(e,t){var r=e.dragging;if(e.dragging=null,!!t.dataTransfer){var n=e.posAtCoords(zr(t));if(!!n){var o=e.state.doc.resolve(n.pos);if(!!o){var i=r&&r.slice;i?e.someProp(\"transformPasted\",function(h){i=h(i)}):i=ys(e,t.dataTransfer.getData(Ve?\"Text\":\"text/plain\"),Ve?null:t.dataTransfer.getData(\"text/html\"),!1,o);var s=r&&!t[Ns];if(e.someProp(\"handleDrop\",function(h){return h(e,t,i||C.empty,s)})){t.preventDefault();return}if(!!i){t.preventDefault();var a=i?Oi(e.state.doc,o.pos,i):o.pos;a==null&&(a=o.pos);var c=e.state.tr;s&&c.deleteSelection();var l=c.mapping.map(a),u=i.openStart==0&&i.openEnd==0&&i.content.childCount==1,f=c.doc;if(u?c.replaceRangeWith(l,l,i.content.firstChild):c.replaceRange(l,l,i),!c.doc.eq(f)){var p=c.doc.resolve(l);if(u&&E.isSelectable(i.content.firstChild)&&p.nodeAfter&&p.nodeAfter.sameMarkup(i.content.firstChild))c.setSelection(new E(p));else{var d=c.mapping.map(a);c.mapping.maps[c.mapping.maps.length-1].forEach(function(h,v,g,M){return d=M}),c.setSelection(qn(e,p,c.doc.resolve(d)))}e.focus(),e.dispatch(c.setMeta(\"uiEvent\",\"drop\"))}}}}}};Ct.focus=function(e){e.focused||(e.domObserver.stop(),e.dom.classList.add(\"ProseMirror-focused\"),e.domObserver.start(),e.focused=!0,setTimeout(function(){e.docView&&e.hasFocus()&&!e.domObserver.currentSelection.eq(e.root.getSelection())&&fe(e)},20))};Ct.blur=function(e,t){e.focused&&(e.domObserver.stop(),e.dom.classList.remove(\"ProseMirror-focused\"),e.domObserver.start(),t.relatedTarget&&e.dom.contains(t.relatedTarget)&&e.domObserver.currentSelection.set({}),e.focused=!1)};Ct.beforeinput=function(e,t){if(x.chrome&&x.android&&t.inputType==\"deleteContentBackward\"){var r=e.domChangeCount;setTimeout(function(){if(e.domChangeCount==r&&(e.dom.blur(),e.focus(),!e.someProp(\"handleKeyDown\",function(i){return i(e,ze(8,\"Backspace\"))}))){var n=e.state.selection,o=n.$cursor;o&&o.pos>0&&e.dispatch(e.state.tr.delete(o.pos-1,o.pos).scrollIntoView())}},50)}};for(var Es in kt)Ct[Es]=kt[Es];function lr(e,t){if(e==t)return!0;for(var r in e)if(e[r]!==t[r])return!1;for(var n in t)if(!(n in e))return!1;return!0}var ur=function(t,r){this.spec=r||Oe,this.side=this.spec.side||0,this.toDOM=t};ur.prototype.map=function(t,r,n,o){var i=t.mapResult(r.from+o,this.side<0?-1:1),s=i.pos,a=i.deleted;return a?null:new nt(s-n,s-n,this)};ur.prototype.valid=function(){return!0};ur.prototype.eq=function(t){return this==t||t instanceof ur&&(this.spec.key&&this.spec.key==t.spec.key||this.toDOM==t.toDOM&&lr(this.spec,t.spec))};var Vt=function(t,r){this.spec=r||Oe,this.attrs=t};Vt.prototype.map=function(t,r,n,o){var i=t.map(r.from+o,this.spec.inclusiveStart?-1:1)-n,s=t.map(r.to+o,this.spec.inclusiveEnd?1:-1)-n;return i>=s?null:new nt(i,s,this)};Vt.prototype.valid=function(t,r){return r.from<r.to};Vt.prototype.eq=function(t){return this==t||t instanceof Vt&&lr(this.attrs,t.attrs)&&lr(this.spec,t.spec)};Vt.is=function(t){return t.type instanceof Vt};var fr=function(t,r){this.spec=r||Oe,this.attrs=t};fr.prototype.map=function(t,r,n,o){var i=t.mapResult(r.from+o,1);if(i.deleted)return null;var s=t.mapResult(r.to+o,-1);return s.deleted||s.pos<=i.pos?null:new nt(i.pos-n,s.pos-n,this)};fr.prototype.valid=function(t,r){var n=t.content.findIndex(r.from),o=n.index,i=n.offset;return i==r.from&&i+t.child(o).nodeSize==r.to};fr.prototype.eq=function(t){return this==t||t instanceof fr&&lr(this.attrs,t.attrs)&&lr(this.spec,t.spec)};var nt=function(t,r,n){this.from=t,this.to=r,this.type=n},oo={spec:{configurable:!0},inline:{configurable:!0}};nt.prototype.copy=function(t,r){return new nt(t,r,this.type)};nt.prototype.eq=function(t,r){return r===void 0&&(r=0),this.type.eq(t.type)&&this.from+r==t.from&&this.to+r==t.to};nt.prototype.map=function(t,r,n){return this.type.map(t,this,r,n)};nt.widget=function(t,r,n){return new nt(t,t,new ur(r,n))};nt.inline=function(t,r,n,o){return new nt(t,r,new Vt(n,o))};nt.node=function(t,r,n,o){return new nt(t,r,new fr(n,o))};oo.spec.get=function(){return this.type.spec};oo.inline.get=function(){return this.type instanceof Vt};Object.defineProperties(nt.prototype,oo);var Vr=[],Oe={},q=function(t,r){this.local=t&&t.length?t:Vr,this.children=r&&r.length?r:Vr};q.create=function(t,r){return r.length?Hr(r,t,0,Oe):st};q.prototype.find=function(t,r,n){var o=[];return this.findInner(t==null?0:t,r==null?1e9:r,o,0,n),o};q.prototype.findInner=function(t,r,n,o,i){for(var s=0;s<this.local.length;s++){var a=this.local[s];a.from<=r&&a.to>=t&&(!i||i(a.spec))&&n.push(a.copy(a.from+o,a.to+o))}for(var c=0;c<this.children.length;c+=3)if(this.children[c]<r&&this.children[c+1]>t){var l=this.children[c]+1;this.children[c+2].findInner(t-l,r-l,n,o+l,i)}};q.prototype.map=function(t,r,n){return this==st||t.maps.length==0?this:this.mapInner(t,r,0,0,n||Oe)};q.prototype.mapInner=function(t,r,n,o,i){for(var s,a=0;a<this.local.length;a++){var c=this.local[a].map(t,n,o);c&&c.type.valid(r,c)?(s||(s=[])).push(c):i.onRemove&&i.onRemove(this.local[a].spec)}return this.children.length?vu(this.children,s,t,r,n,o,i):s?new q(s.sort(we)):st};q.prototype.add=function(t,r){return r.length?this==st?q.create(t,r):this.addInner(t,r,0):this};q.prototype.addInner=function(t,r,n){var o=this,i,s=0;t.forEach(function(l,u){var f=u+n,p;if(!!(p=Is(r,l,f))){for(i||(i=o.children.slice());s<i.length&&i[s]<u;)s+=3;i[s]==u?i[s+2]=i[s+2].addInner(l,p,f+1):i.splice(s,0,u,u+l.nodeSize,Hr(p,l,f+1,Oe)),s+=3}});for(var a=Ds(s?Rs(r):r,-n),c=0;c<a.length;c++)a[c].type.valid(t,a[c])||a.splice(c--,1);return new q(a.length?this.local.concat(a).sort(we):this.local,i||this.children)};q.prototype.remove=function(t){return t.length==0||this==st?this:this.removeInner(t,0)};q.prototype.removeInner=function(t,r){for(var n=this.children,o=this.local,i=0;i<n.length;i+=3){for(var s=void 0,a=n[i]+r,c=n[i+1]+r,l=0,u=void 0;l<t.length;l++)(u=t[l])&&u.from>a&&u.to<c&&(t[l]=null,(s||(s=[])).push(u));if(!!s){n==this.children&&(n=this.children.slice());var f=n[i+2].removeInner(s,a+1);f!=st?n[i+2]=f:(n.splice(i,3),i-=3)}}if(o.length){for(var p=0,d=void 0;p<t.length;p++)if(d=t[p])for(var h=0;h<o.length;h++)o[h].eq(d,r)&&(o==this.local&&(o=this.local.slice()),o.splice(h--,1))}return n==this.children&&o==this.local?this:o.length||n.length?new q(o,n):st};q.prototype.forChild=function(t,r){if(this==st)return this;if(r.isLeaf)return q.empty;for(var n,o,i=0;i<this.children.length;i+=3)if(this.children[i]>=t){this.children[i]==t&&(n=this.children[i+2]);break}for(var s=t+1,a=s+r.content.size,c=0;c<this.local.length;c++){var l=this.local[c];if(l.from<a&&l.to>s&&l.type instanceof Vt){var u=Math.max(s,l.from)-s,f=Math.min(a,l.to)-s;u<f&&(o||(o=[])).push(l.copy(u,f))}}if(o){var p=new q(o.sort(we));return n?new zt([p,n]):p}return n||st};q.prototype.eq=function(t){if(this==t)return!0;if(!(t instanceof q)||this.local.length!=t.local.length||this.children.length!=t.children.length)return!1;for(var r=0;r<this.local.length;r++)if(!this.local[r].eq(t.local[r]))return!1;for(var n=0;n<this.children.length;n+=3)if(this.children[n]!=t.children[n]||this.children[n+1]!=t.children[n+1]||!this.children[n+2].eq(t.children[n+2]))return!1;return!0};q.prototype.locals=function(t){return io(this.localsInner(t))};q.prototype.localsInner=function(t){if(this==st)return Vr;if(t.inlineContent||!this.local.some(Vt.is))return this.local;for(var r=[],n=0;n<this.local.length;n++)this.local[n].type instanceof Vt||r.push(this.local[n]);return r};var st=new q;q.empty=st;q.removeOverlap=io;var zt=function(t){this.members=t};zt.prototype.map=function(t,r){var n=this.members.map(function(o){return o.map(t,r,Oe)});return zt.from(n)};zt.prototype.forChild=function(t,r){if(r.isLeaf)return q.empty;for(var n=[],o=0;o<this.members.length;o++){var i=this.members[o].forChild(t,r);i!=st&&(i instanceof zt?n=n.concat(i.members):n.push(i))}return zt.from(n)};zt.prototype.eq=function(t){if(!(t instanceof zt)||t.members.length!=this.members.length)return!1;for(var r=0;r<this.members.length;r++)if(!this.members[r].eq(t.members[r]))return!1;return!0};zt.prototype.locals=function(t){for(var r,n=!0,o=0;o<this.members.length;o++){var i=this.members[o].localsInner(t);if(!!i.length)if(!r)r=i;else{n&&(r=r.slice(),n=!1);for(var s=0;s<i.length;s++)r.push(i[s])}}return r?io(n?r:r.sort(we)):Vr};zt.from=function(t){switch(t.length){case 0:return st;case 1:return t[0];default:return new zt(t)}};function vu(e,t,r,n,o,i,s){for(var a=e.slice(),c=function(Qt,rt,ut,qt){for(var G=0;G<a.length;G+=3){var Y=a[G+1],oe=void 0;Y==-1||Qt>Y+i||(rt>=a[G]+i?a[G+1]=-1:ut>=o&&(oe=qt-ut-(rt-Qt))&&(a[G]+=oe,a[G+1]+=oe))}},l=0;l<r.maps.length;l++)r.maps[l].forEach(c);for(var u=!1,f=0;f<a.length;f+=3)if(a[f+1]==-1){var p=r.map(e[f]+i),d=p-o;if(d<0||d>=n.content.size){u=!0;continue}var h=r.map(e[f+1]+i,-1),v=h-o,g=n.content.findIndex(d),M=g.index,y=g.offset,R=n.maybeChild(M);if(R&&y==d&&y+R.nodeSize==v){var m=a[f+2].mapInner(r,R,p+1,e[f]+i+1,s);m!=st?(a[f]=d,a[f+1]=v,a[f+2]=m):(a[f+1]=-2,u=!0)}else u=!0}if(u){var I=gu(a,e,t||[],r,o,i,s),O=Hr(I,n,0,s);t=O.local;for(var F=0;F<a.length;F+=3)a[F+1]<0&&(a.splice(F,3),F-=3);for(var J=0,U=0;J<O.children.length;J+=3){for(var T=O.children[J];U<a.length&&a[U]<T;)U+=3;a.splice(U,0,O.children[J],O.children[J+1],O.children[J+2])}}return new q(t&&t.sort(we),a)}function Ds(e,t){if(!t||!e.length)return e;for(var r=[],n=0;n<e.length;n++){var o=e[n];r.push(new nt(o.from+t,o.to+t,o.type))}return r}function gu(e,t,r,n,o,i,s){function a(l,u){for(var f=0;f<l.local.length;f++){var p=l.local[f].map(n,o,u);p?r.push(p):s.onRemove&&s.onRemove(l.local[f].spec)}for(var d=0;d<l.children.length;d+=3)a(l.children[d+2],l.children[d]+u+1)}for(var c=0;c<e.length;c+=3)e[c+1]==-1&&a(e[c+2],t[c]+i+1);return r}function Is(e,t,r){if(t.isLeaf)return null;for(var n=r+t.nodeSize,o=null,i=0,s=void 0;i<e.length;i++)(s=e[i])&&s.from>r&&s.to<n&&((o||(o=[])).push(s),e[i]=null);return o}function Rs(e){for(var t=[],r=0;r<e.length;r++)e[r]!=null&&t.push(e[r]);return t}function Hr(e,t,r,n){var o=[],i=!1;t.forEach(function(c,l){var u=Is(e,c,l+r);if(u){i=!0;var f=Hr(u,c,r+l+1,n);f!=st&&o.push(l,l+c.nodeSize,f)}});for(var s=Ds(i?Rs(e):e,-r).sort(we),a=0;a<s.length;a++)s[a].type.valid(t,s[a])||(n.onRemove&&n.onRemove(s[a].spec),s.splice(a--,1));return s.length||o.length?new q(s,o):st}function we(e,t){return e.from-t.from||e.to-t.to}function io(e){for(var t=e,r=0;r<t.length-1;r++){var n=t[r];if(n.from!=n.to)for(var o=r+1;o<t.length;o++){var i=t[o];if(i.from==n.from){i.to!=n.to&&(t==e&&(t=e.slice()),t[o]=i.copy(i.from,n.to),Ps(t,o+1,i.copy(n.to,i.to)));continue}else{i.from<n.to&&(t==e&&(t=e.slice()),t[r]=n.copy(n.from,i.from),Ps(t,o,n.copy(i.from,n.to)));break}}}return t}function Ps(e,t,r){for(;t<e.length&&we(r,e[t])>0;)t++;e.splice(t,0,r)}function so(e){var t=[];return e.someProp(\"decorations\",function(r){var n=r(e.state);n&&n!=st&&t.push(n)}),e.cursorWrapper&&t.push(q.create(e.state.doc,[e.cursorWrapper.deco])),zt.from(t)}var Z=function(t,r){this._props=r,this.state=r.state,this.dispatch=this.dispatch.bind(this),this._root=null,this.focused=!1,this.trackWrites=null,this.dom=t&&t.mount||document.createElement(\"div\"),t&&(t.appendChild?t.appendChild(this.dom):t.apply?t(this.dom):t.mount&&(this.mounted=!0)),this.editable=Ls(this),this.markCursor=null,this.cursorWrapper=null,zs(this),this.nodeViews=Fs(this),this.docView=Xi(this.state.doc,Bs(this),so(this),this.dom,this),this.lastSelectedViewDesc=null,this.dragging=null,Zl(this),this.pluginViews=[],this.updatePluginViews()},ao={props:{configurable:!0},root:{configurable:!0}};ao.props.get=function(){if(this._props.state!=this.state){var e=this._props;this._props={};for(var t in e)this._props[t]=e[t];this._props.state=this.state}return this._props};Z.prototype.update=function(t){t.handleDOMEvents!=this._props.handleDOMEvents&&Zn(this),this._props=t,this.updateStateInner(t.state,!0)};Z.prototype.setProps=function(t){var r={};for(var n in this._props)r[n]=this._props[n];r.state=this.state;for(var o in t)r[o]=t[o];this.update(r)};Z.prototype.updateState=function(t){this.updateStateInner(t,this.state.plugins!=t.plugins)};Z.prototype.updateStateInner=function(t,r){var n=this,o=this.state,i=!1,s=!1;if(t.storedMarks&&this.composing&&(_s(this),s=!0),this.state=t,r){var a=Fs(this);bu(a,this.nodeViews)&&(this.nodeViews=a,i=!0),Zn(this)}this.editable=Ls(this),zs(this);var c=so(this),l=Bs(this),u=r?\"reset\":t.scrollToSelection>o.scrollToSelection?\"to selection\":\"preserve\",f=i||!this.docView.matchesNode(t.doc,l,c);(f||!t.selection.eq(o.selection))&&(s=!0);var p=u==\"preserve\"&&s&&this.dom.style.overflowAnchor==null&&ll(this);if(s){this.domObserver.stop();var d=f&&(x.ie||x.chrome)&&!this.composing&&!o.selection.empty&&!t.selection.empty&&yu(o.selection,t.selection);if(f){var h=x.chrome?this.trackWrites=this.root.getSelection().focusNode:null;(i||!this.docView.update(t.doc,l,c,this))&&(this.docView.updateOuterDeco([]),this.docView.destroy(),this.docView=Xi(t.doc,l,c,this.dom,this)),h&&!this.trackWrites&&(d=!0)}d||!(this.mouseDown&&this.domObserver.currentSelection.eq(this.root.getSelection())&&Bl(this))?fe(this,d):(ls(this,t.selection),this.domObserver.setCurSelection()),this.domObserver.start()}if(this.updatePluginViews(o),u==\"reset\")this.dom.scrollTop=0;else if(u==\"to selection\"){var v=this.root.getSelection().focusNode;this.someProp(\"handleScrollToSelection\",function(g){return g(n)})||(t.selection instanceof E?Vi(this,this.docView.domAfterPos(t.selection.from).getBoundingClientRect(),v):Vi(this,this.coordsAtPos(t.selection.head,1),v))}else p&&ul(p)};Z.prototype.destroyPluginViews=function(){for(var t;t=this.pluginViews.pop();)t.destroy&&t.destroy()};Z.prototype.updatePluginViews=function(t){if(!t||t.plugins!=this.state.plugins){this.destroyPluginViews();for(var r=0;r<this.state.plugins.length;r++){var n=this.state.plugins[r];n.spec.view&&this.pluginViews.push(n.spec.view(this))}}else for(var o=0;o<this.pluginViews.length;o++){var i=this.pluginViews[o];i.update&&i.update(this,t)}};Z.prototype.someProp=function(t,r){var n=this._props&&this._props[t],o;if(n!=null&&(o=r?r(n):n))return o;var i=this.state.plugins;if(i)for(var s=0;s<i.length;s++){var a=i[s].props[t];if(a!=null&&(o=r?r(a):a))return o}};Z.prototype.hasFocus=function(){return this.root.activeElement==this.dom};Z.prototype.focus=function(){this.domObserver.stop(),this.editable&&fl(this.dom),fe(this),this.domObserver.start()};ao.root.get=function(){var e=this._root;if(e==null){for(var t=this.dom.parentNode;t;t=t.parentNode)if(t.nodeType==9||t.nodeType==11&&t.host)return t.getSelection||(Object.getPrototypeOf(t).getSelection=function(){return document.getSelection()}),this._root=t}return e||document};Z.prototype.posAtCoords=function(t){return vl(this,t)};Z.prototype.coordsAtPos=function(t,r){return r===void 0&&(r=1),Wi(this,t,r)};Z.prototype.domAtPos=function(t,r){return r===void 0&&(r=0),this.docView.domFromPos(t,r)};Z.prototype.nodeDOM=function(t){var r=this.docView.descAt(t);return r?r.nodeDOM:null};Z.prototype.posAtDOM=function(t,r,n){n===void 0&&(n=-1);var o=this.docView.posFromDOM(t,r,n);if(o==null)throw new RangeError(\"DOM position not inside the editor\");return o};Z.prototype.endOfTextblock=function(t,r){return Sl(this,r||this.state,t)};Z.prototype.destroy=function(){!this.docView||(tu(this),this.destroyPluginViews(),this.mounted?(this.docView.update(this.state.doc,[],so(this),this),this.dom.textContent=\"\"):this.dom.parentNode&&this.dom.parentNode.removeChild(this.dom),this.docView.destroy(),this.docView=null)};Z.prototype.dispatchEvent=function(t){return ru(this,t)};Z.prototype.dispatch=function(t){var r=this._props.dispatchTransaction;r?r.call(this,t):this.updateState(this.state.apply(t))};Object.defineProperties(Z.prototype,ao);function Bs(e){var t=Object.create(null);return t.class=\"ProseMirror\",t.contenteditable=String(e.editable),t.translate=\"no\",e.someProp(\"attributes\",function(r){if(typeof r==\"function\"&&(r=r(e.state)),r)for(var n in r)n==\"class\"?t.class+=\" \"+r[n]:!t[n]&&n!=\"contenteditable\"&&n!=\"nodeName\"&&(t[n]=String(r[n]))}),[nt.node(0,e.state.doc.content.size,t)]}function zs(e){if(e.markCursor){var t=document.createElement(\"img\");t.className=\"ProseMirror-separator\",t.setAttribute(\"mark-placeholder\",\"true\"),e.cursorWrapper={dom:t,deco:nt.widget(e.state.selection.head,t,{raw:!0,marks:e.markCursor})}}else e.cursorWrapper=null}function Ls(e){return!e.someProp(\"editable\",function(t){return t(e.state)===!1})}function yu(e,t){var r=Math.min(e.$anchor.sharedDepth(e.head),t.$anchor.sharedDepth(t.head));return e.$anchor.start(r)!=t.$anchor.start(r)}function Fs(e){var t={};return e.someProp(\"nodeViews\",function(r){for(var n in r)Object.prototype.hasOwnProperty.call(t,n)||(t[n]=r[n])}),t}function bu(e,t){var r=0,n=0;for(var o in e){if(e[o]!=t[o])return!0;r++}for(var i in t)n++;return r!=n}var pe={8:\"Backspace\",9:\"Tab\",10:\"Enter\",12:\"NumLock\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",44:\"PrintScreen\",45:\"Insert\",46:\"Delete\",59:\";\",61:\"=\",91:\"Meta\",92:\"Meta\",106:\"*\",107:\"+\",108:\",\",109:\"-\",110:\".\",111:\"/\",144:\"NumLock\",145:\"ScrollLock\",160:\"Shift\",161:\"Shift\",162:\"Control\",163:\"Control\",164:\"Alt\",165:\"Alt\",173:\"-\",186:\";\",187:\"=\",188:\",\",189:\"-\",190:\".\",191:\"/\",192:\"`\",219:\"[\",220:\"\\\\\",221:\"]\",222:\"'\",229:\"q\"},jr={48:\")\",49:\"!\",50:\"@\",51:\"#\",52:\"$\",53:\"%\",54:\"^\",55:\"&\",56:\"*\",57:\"(\",59:\":\",61:\"+\",173:\"_\",186:\":\",187:\"+\",188:\"<\",189:\"_\",190:\">\",191:\"?\",192:\"~\",219:\"{\",220:\"|\",221:\"}\",222:'\"',229:\"Q\"},Vs=typeof navigator!=\"undefined\"&&/Chrome\\/(\\d+)/.exec(navigator.userAgent),ku=typeof navigator!=\"undefined\"&&/Apple Computer/.test(navigator.vendor),Su=typeof navigator!=\"undefined\"&&/Gecko\\/\\d+/.test(navigator.userAgent),Hs=typeof navigator!=\"undefined\"&&/Mac/.test(navigator.platform),Mu=typeof navigator!=\"undefined\"&&/MSIE \\d|Trident\\/(?:[7-9]|\\d{2,})\\..*rv:(\\d+)/.exec(navigator.userAgent),xu=Vs&&(Hs||+Vs[1]<57)||Su&&Hs;for(var at=0;at<10;at++)pe[48+at]=pe[96+at]=String(at);for(var at=1;at<=24;at++)pe[at+111]=\"F\"+at;for(var at=65;at<=90;at++)pe[at]=String.fromCharCode(at+32),jr[at]=String.fromCharCode(at);for(var co in pe)jr.hasOwnProperty(co)||(jr[co]=pe[co]);function Cu(e){var t=xu&&(e.ctrlKey||e.altKey||e.metaKey)||(ku||Mu)&&e.shiftKey&&e.key&&e.key.length==1,r=!t&&e.key||(e.shiftKey?jr:pe)[e.keyCode]||e.key||\"Unidentified\";return r==\"Esc\"&&(r=\"Escape\"),r==\"Del\"&&(r=\"Delete\"),r==\"Left\"&&(r=\"ArrowLeft\"),r==\"Up\"&&(r=\"ArrowUp\"),r==\"Right\"&&(r=\"ArrowRight\"),r==\"Down\"&&(r=\"ArrowDown\"),r}var Ou=typeof navigator!=\"undefined\"?/Mac/.test(navigator.platform):!1;function wu(e){var t=e.split(/-(?!$)/),r=t[t.length-1];r==\"Space\"&&(r=\" \");for(var n,o,i,s,a=0;a<t.length-1;a++){var c=t[a];if(/^(cmd|meta|m)$/i.test(c))s=!0;else if(/^a(lt)?$/i.test(c))n=!0;else if(/^(c|ctrl|control)$/i.test(c))o=!0;else if(/^s(hift)?$/i.test(c))i=!0;else if(/^mod$/i.test(c))Ou?s=!0:o=!0;else throw new Error(\"Unrecognized modifier name: \"+c)}return n&&(r=\"Alt-\"+r),o&&(r=\"Ctrl-\"+r),s&&(r=\"Meta-\"+r),i&&(r=\"Shift-\"+r),r}function Tu(e){var t=Object.create(null);for(var r in e)t[wu(r)]=e[r];return t}function lo(e,t,r){return t.altKey&&(e=\"Alt-\"+e),t.ctrlKey&&(e=\"Ctrl-\"+e),t.metaKey&&(e=\"Meta-\"+e),r!==!1&&t.shiftKey&&(e=\"Shift-\"+e),e}function Au(e){return new Rt({props:{handleKeyDown:js(e)}})}function js(e){var t=Tu(e);return function(r,n){var o=Cu(n),i=o.length==1&&o!=\" \",s,a=t[lo(o,n,!i)];if(a&&a(r.state,r.dispatch,r))return!0;if(i&&(n.shiftKey||n.altKey||n.metaKey||o.charCodeAt(0)>127)&&(s=pe[n.keyCode])&&s!=o){var c=t[lo(s,n,!0)];if(c&&c(r.state,r.dispatch,r))return!0}else if(i&&n.shiftKey){var l=t[lo(o,n,!0)];if(l&&l(r.state,r.dispatch,r))return!0}return!1}}var Ut=function(t,r){this.match=t,this.handler=typeof r==\"string\"?_u(r):r};function _u(e){return function(t,r,n,o){var i=e;if(r[1]){var s=r[0].lastIndexOf(r[1]);i+=r[0].slice(s+r[1].length),n+=s;var a=n-o;a>0&&(i=r[0].slice(s-a,s)+i,n=o)}return t.tr.insertText(i,n,o)}}var Nu=500;function Eu(e){var t=e.rules,r=new Rt({state:{init:function(){return null},apply:function(o,i){var s=o.getMeta(this);return s||(o.selectionSet||o.docChanged?null:i)}},props:{handleTextInput:function(o,i,s,a){return qs(o,i,s,a,t,r)},handleDOMEvents:{compositionend:function(n){setTimeout(function(){var o=n.state.selection,i=o.$cursor;i&&qs(n,i.pos,i.pos,\"\",t,r)})}}},isInputRules:!0});return r}function qs(e,t,r,n,o,i){if(e.composing)return!1;var s=e.state,a=s.doc.resolve(t);if(a.parent.type.spec.code)return!1;for(var c=a.parent.textBetween(Math.max(0,a.parentOffset-Nu),a.parentOffset,null,\"\\uFFFC\")+n,l=0;l<o.length;l++){var u=o[l].match.exec(c),f=u&&o[l].handler(s,u,t-(u[0].length-n.length),r);if(!!f)return e.dispatch(f.setMeta(i,{transform:f,from:t,to:r,text:n})),!0}return!1}function Du(e,t){for(var r=e.plugins,n=0;n<r.length;n++){var o=r[n],i=void 0;if(o.spec.isInputRules&&(i=o.getState(e))){if(t){for(var s=e.tr,a=i.transform,c=a.steps.length-1;c>=0;c--)s.step(a.steps[c].invert(a.docs[c]));if(i.text){var l=s.doc.resolve(i.from).marks();s.replaceWith(i.from,i.to,e.schema.text(i.text,l))}else s.delete(i.from,i.to);t(s)}return!0}}return!1}new Ut(/--$/,\"\\u2014\");new Ut(/\\.\\.\\.$/,\"\\u2026\");new Ut(/(?:^|[\\s\\{\\[\\(\\<'\"\\u2018\\u201C])(\")$/,\"\\u201C\");new Ut(/\"$/,\"\\u201D\");new Ut(/(?:^|[\\s\\{\\[\\(\\<'\"\\u2018\\u201C])(')$/,\"\\u2018\");new Ut(/'$/,\"\\u2019\");function uo(e,t,r,n){return new Ut(e,function(o,i,s,a){var c=r instanceof Function?r(i):r,l=o.tr.delete(s,a),u=l.doc.resolve(s),f=u.blockRange(),p=f&&Sn(f,t,c);if(!p)return null;l.wrap(f,p);var d=l.doc.resolve(s-1).nodeBefore;return d&&d.type==t&&Mn(l.doc,s-1)&&(!n||n(i,d))&&l.join(s-1),l})}function fo(e,t,r){return new Ut(e,function(n,o,i,s){var a=n.doc.resolve(i),c=r instanceof Function?r(o):r;return a.node(-1).canReplaceWith(a.index(-1),a.indexAfter(-1),t)?n.tr.delete(i,s).setBlockType(i,i,t,c):null})}function po(e,t){return e.selection.empty?!1:(t&&t(e.tr.deleteSelection().scrollIntoView()),!0)}function Js(e,t,r){var n=e.selection,o=n.$cursor;if(!o||(r?!r.endOfTextblock(\"backward\",e):o.parentOffset>0))return!1;var i=Ks(o);if(!i){var s=o.blockRange(),a=s&&Pe(s);return a==null?!1:(t&&t(e.tr.lift(s,a).scrollIntoView()),!0)}var c=i.nodeBefore;if(!c.type.spec.isolating&&ra(e,i,t))return!0;if(o.parent.content.size==0&&(He(c,\"end\")||E.isSelectable(c))){if(t){var l=e.tr.deleteRange(o.before(),o.after());l.setSelection(He(c,\"end\")?D.findFrom(l.doc.resolve(l.mapping.map(i.pos,-1)),-1):E.create(l.doc,i.pos-c.nodeSize)),t(l.scrollIntoView())}return!0}return c.isAtom&&i.depth==o.depth-1?(t&&t(e.tr.delete(i.pos-c.nodeSize,i.pos).scrollIntoView()),!0):!1}function He(e,t,r){for(;e;e=t==\"start\"?e.firstChild:e.lastChild){if(e.isTextblock)return!0;if(r&&e.childCount!=1)return!1}return!1}function Ws(e,t,r){var n=e.selection,o=n.$head,i=n.empty,s=o;if(!i)return!1;if(o.parent.isTextblock){if(r?!r.endOfTextblock(\"backward\",e):o.parentOffset>0)return!1;s=Ks(o)}var a=s&&s.nodeBefore;return!a||!E.isSelectable(a)?!1:(t&&t(e.tr.setSelection(E.create(e.doc,s.pos-a.nodeSize)).scrollIntoView()),!0)}function Ks(e){if(!e.parent.type.spec.isolating)for(var t=e.depth-1;t>=0;t--){if(e.index(t)>0)return e.doc.resolve(e.before(t+1));if(e.node(t).type.spec.isolating)break}return null}function $s(e,t,r){var n=e.selection,o=n.$cursor;if(!o||(r?!r.endOfTextblock(\"forward\",e):o.parentOffset<o.parent.content.size))return!1;var i=Gs(o);if(!i)return!1;var s=i.nodeAfter;if(ra(e,i,t))return!0;if(o.parent.content.size==0&&(He(s,\"start\")||E.isSelectable(s))){if(t){var a=e.tr.deleteRange(o.before(),o.after());a.setSelection(He(s,\"start\")?D.findFrom(a.doc.resolve(a.mapping.map(i.pos)),1):E.create(a.doc,a.mapping.map(i.pos))),t(a.scrollIntoView())}return!0}return s.isAtom&&i.depth==o.depth-1?(t&&t(e.tr.delete(i.pos,i.pos+s.nodeSize).scrollIntoView()),!0):!1}function Us(e,t,r){var n=e.selection,o=n.$head,i=n.empty,s=o;if(!i)return!1;if(o.parent.isTextblock){if(r?!r.endOfTextblock(\"forward\",e):o.parentOffset<o.parent.content.size)return!1;s=Gs(o)}var a=s&&s.nodeAfter;return!a||!E.isSelectable(a)?!1:(t&&t(e.tr.setSelection(E.create(e.doc,s.pos)).scrollIntoView()),!0)}function Gs(e){if(!e.parent.type.spec.isolating)for(var t=e.depth-1;t>=0;t--){var r=e.node(t);if(e.index(t)+1<r.childCount)return e.doc.resolve(e.after(t+1));if(r.type.spec.isolating)break}return null}function Ys(e,t){var r=e.selection,n=r.$from,o=r.$to,i=n.blockRange(o),s=i&&Pe(i);return s==null?!1:(t&&t(e.tr.lift(i,s).scrollIntoView()),!0)}function Xs(e,t){var r=e.selection,n=r.$head,o=r.$anchor;return!n.parent.type.spec.code||!n.sameParent(o)?!1:(t&&t(e.tr.insertText(`\n`).scrollIntoView()),!0)}function ho(e){for(var t=0;t<e.edgeCount;t++){var r=e.edge(t),n=r.type;if(n.isTextblock&&!n.hasRequiredAttrs())return n}return null}function Qs(e,t){var r=e.selection,n=r.$head,o=r.$anchor;if(!n.parent.type.spec.code||!n.sameParent(o))return!1;var i=n.node(-1),s=n.indexAfter(-1),a=ho(i.contentMatchAt(s));if(!i.canReplaceWith(s,s,a))return!1;if(t){var c=n.after(),l=e.tr.replaceWith(c,c,a.createAndFill());l.setSelection(D.near(l.doc.resolve(c),1)),t(l.scrollIntoView())}return!0}function Zs(e,t){var r=e.selection,n=r.$from,o=r.$to;if(r instanceof re||n.parent.inlineContent||o.parent.inlineContent)return!1;var i=ho(o.parent.contentMatchAt(o.indexAfter()));if(!i||!i.isTextblock)return!1;if(t){var s=(!n.parentOffset&&o.index()<o.parent.childCount?n:o).pos,a=e.tr.insert(s,i.createAndFill());a.setSelection(H.create(a.doc,s+1)),t(a.scrollIntoView())}return!0}function ta(e,t){var r=e.selection,n=r.$cursor;if(!n||n.parent.content.size)return!1;if(n.depth>1&&n.after()!=n.end(-1)){var o=n.before();if(ee(e.doc,o))return t&&t(e.tr.split(o).scrollIntoView()),!0}var i=n.blockRange(),s=i&&Pe(i);return s==null?!1:(t&&t(e.tr.lift(i,s).scrollIntoView()),!0)}function Iu(e,t){var r=e.selection,n=r.$from,o=r.$to;if(e.selection instanceof E&&e.selection.node.isBlock)return!n.parentOffset||!ee(e.doc,n.pos)?!1:(t&&t(e.tr.split(n.pos).scrollIntoView()),!0);if(!n.parent.isBlock)return!1;if(t){var i=o.parentOffset==o.parent.content.size,s=e.tr;(e.selection instanceof H||e.selection instanceof re)&&s.deleteSelection();var a=n.depth==0?null:ho(n.node(-1).contentMatchAt(n.indexAfter(-1))),c=i&&a?[{type:a}]:null,l=ee(s.doc,s.mapping.map(n.pos),1,c);if(!c&&!l&&ee(s.doc,s.mapping.map(n.pos),1,a&&[{type:a}])&&(c=[{type:a}],l=!0),l&&(s.split(s.mapping.map(n.pos),1,c),!i&&!n.parentOffset&&n.parent.type!=a)){var u=s.mapping.map(n.before()),f=s.doc.resolve(u);n.node(-1).canReplaceWith(f.index(),f.index()+1,a)&&s.setNodeMarkup(s.mapping.map(n.before()),a)}t(s.scrollIntoView())}return!0}function Ru(e,t){var r=e.selection,n=r.$from,o=r.to,i,s=n.sharedDepth(o);return s==0?!1:(i=n.before(s),t&&t(e.tr.setSelection(E.create(e.doc,i))),!0)}function ea(e,t){return t&&t(e.tr.setSelection(new re(e.doc))),!0}function Pu(e,t,r){var n=t.nodeBefore,o=t.nodeAfter,i=t.index();return!n||!o||!n.type.compatibleContent(o.type)?!1:!n.content.size&&t.parent.canReplace(i-1,i)?(r&&r(e.tr.delete(t.pos-n.nodeSize,t.pos).scrollIntoView()),!0):!t.parent.canReplace(i,i+1)||!(o.isTextblock||Mn(e.doc,t.pos))?!1:(r&&r(e.tr.clearIncompatible(t.pos,n.type,n.contentMatchAt(n.childCount)).join(t.pos).scrollIntoView()),!0)}function ra(e,t,r){var n=t.nodeBefore,o=t.nodeAfter,i,s;if(n.type.spec.isolating||o.type.spec.isolating)return!1;if(Pu(e,t,r))return!0;var a=t.parent.canReplace(t.index(),t.index()+1);if(a&&(i=(s=n.contentMatchAt(n.childCount)).findWrapping(o.type))&&s.matchType(i[0]||o.type).validEnd){if(r){for(var c=t.pos+o.nodeSize,l=k.empty,u=i.length-1;u>=0;u--)l=k.from(i[u].create(null,l));l=k.from(n.copy(l));var f=e.tr.step(new xt(t.pos-1,c,t.pos,c,new C(l,1,0),i.length,!0)),p=c+2*i.length;Mn(f.doc,p)&&f.join(p),r(f.scrollIntoView())}return!0}var d=D.findFrom(t,1),h=d&&d.$from.blockRange(d.$to),v=h&&Pe(h);if(v!=null&&v>=t.depth)return r&&r(e.tr.lift(h,v).scrollIntoView()),!0;if(a&&He(o,\"start\",!0)&&He(n,\"end\")){for(var g=n,M=[];M.push(g),!g.isTextblock;)g=g.lastChild;for(var y=o,R=1;!y.isTextblock;y=y.firstChild)R++;if(g.canReplace(g.childCount,g.childCount,y.content)){if(r){for(var m=k.empty,I=M.length-1;I>=0;I--)m=k.from(M[I].copy(m));var O=e.tr.step(new xt(t.pos-M.length,t.pos+o.nodeSize,t.pos+R,t.pos+o.nodeSize-R,new C(m,M.length,0),0,!0));r(O.scrollIntoView())}return!0}}return!1}function na(e,t){return function(r,n){var o=r.selection,i=o.$from,s=o.$to,a=i.blockRange(s),c=a&&Sn(a,e,t);return c?(n&&n(r.tr.wrap(a,c).scrollIntoView()),!0):!1}}function Bu(e,t){return function(r,n){var o=r.selection,i=o.from,s=o.to,a=!1;return r.doc.nodesBetween(i,s,function(c,l){if(a)return!1;if(!(!c.isTextblock||c.hasMarkup(e,t)))if(c.type==e)a=!0;else{var u=r.doc.resolve(l),f=u.index();a=u.parent.canReplaceWith(f,f+1,e)}}),a?(n&&n(r.tr.setBlockType(i,s,e,t).scrollIntoView()),!0):!1}}function mo(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return function(r,n,o){for(var i=0;i<e.length;i++)if(e[i](r,n,o))return!0;return!1}}var oa=mo(po,Js,Ws),ia=mo(po,$s,Us),de={Enter:mo(Xs,Zs,ta,Iu),\"Mod-Enter\":Qs,Backspace:oa,\"Mod-Backspace\":oa,Delete:ia,\"Mod-Delete\":ia,\"Mod-a\":ea},zu={\"Ctrl-h\":de.Backspace,\"Alt-Backspace\":de[\"Mod-Backspace\"],\"Ctrl-d\":de.Delete,\"Ctrl-Alt-Backspace\":de[\"Mod-Delete\"],\"Alt-Delete\":de[\"Mod-Delete\"],\"Alt-d\":de[\"Mod-Delete\"]};for(var sa in de)zu[sa]=de[sa];typeof navigator!=\"undefined\"?/Mac/.test(navigator.platform):typeof os!=\"undefined\"&&os.platform()==\"darwin\";function Lu(e,t){return function(r,n){var o=r.selection,i=o.$from,s=o.$to,a=i.blockRange(s),c=!1,l=a;if(!a)return!1;if(a.depth>=2&&i.node(a.depth-1).type.compatibleContent(e)&&a.startIndex==0){if(i.index(a.depth-1)==0)return!1;var u=r.doc.resolve(a.start-2);l=new Ge(u,u,a.depth),a.endIndex<a.parent.childCount&&(a=new Ge(i,r.doc.resolve(s.end(a.depth)),a.depth)),c=!0}var f=Sn(l,e,t,a);return f?(n&&n(Fu(r.tr,a,f,c,e).scrollIntoView()),!0):!1}}function Fu(e,t,r,n,o){for(var i=k.empty,s=r.length-1;s>=0;s--)i=k.from(r[s].type.create(r[s].attrs,i));e.step(new xt(t.start-(n?2:0),t.end,t.start,t.end,new C(i,0,0),r.length,!0));for(var a=0,c=0;c<r.length;c++)r[c].type==o&&(a=c+1);for(var l=r.length-a,u=t.start+r.length-(n?2:0),f=t.parent,p=t.startIndex,d=t.endIndex,h=!0;p<d;p++,h=!1)!h&&ee(e.doc,u,l)&&(e.split(u,l),u+=2*l),u+=f.child(p).nodeSize;return e}function Vu(e){return function(t,r){var n=t.selection,o=n.$from,i=n.$to,s=o.blockRange(i,function(a){return a.childCount&&a.firstChild.type==e});return s?r?o.node(s.depth-1).type==e?Hu(t,r,e,s):ju(t,r,s):!0:!1}}function Hu(e,t,r,n){var o=e.tr,i=n.end,s=n.$to.end(n.depth);return i<s&&(o.step(new xt(i-1,s,i,s,new C(k.from(r.create(null,n.parent.copy())),1,0),1,!0)),n=new Ge(o.doc.resolve(n.$from.pos),o.doc.resolve(s),n.depth)),t(o.lift(n,Pe(n)).scrollIntoView()),!0}function ju(e,t,r){for(var n=e.tr,o=r.parent,i=r.end,s=r.endIndex-1,a=r.startIndex;s>a;s--)i-=o.child(s).nodeSize,n.delete(i-1,i+1);var c=n.doc.resolve(r.start),l=c.nodeAfter,u=r.startIndex==0,f=r.endIndex==o.childCount,p=c.node(-1),d=c.index(-1);if(!p.canReplace(d+(u?0:1),d+1,l.content.append(f?k.empty:k.from(o))))return!1;var h=c.pos,v=h+l.nodeSize;return n.step(new xt(h-(u?1:0),v+(f?1:0),h+1,v-1,new C((u?k.empty:k.from(o.copy(k.empty))).append(f?k.empty:k.from(o.copy(k.empty))),u?0:1,f?0:1),u?0:1)),t(n.scrollIntoView()),!0}function qu(e){return function(t,r){var n=t.selection,o=n.$from,i=n.$to,s=o.blockRange(i,function(v){return v.childCount&&v.firstChild.type==e});if(!s)return!1;var a=s.startIndex;if(a==0)return!1;var c=s.parent,l=c.child(a-1);if(l.type!=e)return!1;if(r){var u=l.lastChild&&l.lastChild.type==c.type,f=k.from(u?e.create():null),p=new C(k.from(e.create(null,k.from(c.type.create(null,f)))),u?3:1,0),d=s.start,h=s.end;r(t.tr.step(new xt(d-(u?3:1),h,d,h,p,1,!0)).scrollIntoView())}return!0}}function qr(e,t){return t.nodes[e]?\"node\":t.marks[e]?\"mark\":null}function tt(e,t){if(typeof e==\"string\"){if(!t.nodes[e])throw Error(`There is no node type named '${e}'. Maybe you forgot to add the extension?`);return t.nodes[e]}return e}function Ju(e,t){const r=tt(t,e.schema),{from:n,to:o}=e.selection;let i=[];e.doc.nodesBetween(n,o,a=>{i=[...i,a]});const s=i.reverse().find(a=>a.type.name===r.name);return s?S({},s.attrs):{}}function he(e,t){if(typeof e==\"string\"){if(!t.marks[e])throw Error(`There is no mark type named '${e}'. Maybe you forgot to add the extension?`);return t.marks[e]}return e}function aa(e,t){const r=he(t,e.schema),{from:n,to:o,empty:i}=e.selection;let s=[];i?s=e.selection.$head.marks():e.doc.nodesBetween(n,o,c=>{s=[...s,...c.marks]});const a=s.find(c=>c.type.name===r.name);return a?S({},a.attrs):{}}function Wu(e,t){const r=qr(typeof t==\"string\"?t:t.name,e.schema);return r===\"node\"?Ju(e,t):r===\"mark\"?aa(e,t):{}}function pr(e,t){const r=Object.keys(t);return r.length?!!r.filter(n=>t[n]===e[n]).length:!0}function je(e,t,r={}){const{from:n,to:o,empty:i}=e.selection,s=t?tt(t,e.schema):null;let a=[];if(e.doc.nodesBetween(n,o,(u,f)=>{if(!u.isText){const p=Math.max(n,f),d=Math.min(o,f+u.nodeSize);a=[...a,{node:u,from:p,to:d}]}}),i)return!!a.filter(u=>s?s.name===u.node.type.name:!0).find(u=>pr(u.node.attrs,r));const c=o-n;return a.filter(u=>s?s.name===u.node.type.name:!0).filter(u=>pr(u.node.attrs,r)).reduce((u,f)=>{const p=f.to-f.from;return u+p},0)>=c}function vo(e,t,r={}){const{from:n,to:o,empty:i}=e.selection,s=t?he(t,e.schema):null;if(i)return!!(e.storedMarks||e.selection.$from.marks()).filter(p=>s?s.name===p.type.name:!0).find(p=>pr(p.attrs,r));let a=0,c=[];if(e.doc.nodesBetween(n,o,(p,d)=>{if(p.isText){const h=Math.max(n,d),v=Math.min(o,d+p.nodeSize);a+=v-h,c=[...c,...p.marks.map(M=>({mark:M,from:h,to:v}))]}}),a===0)return!1;const l=c.filter(p=>s?s.name===p.mark.type.name:!0).filter(p=>pr(p.mark.attrs,r)).reduce((p,d)=>{const h=d.to-d.from;return p+h},0),u=c.filter(p=>s?p.mark.type!==s&&p.mark.type.excludes(s):!0).reduce((p,d)=>{const h=d.to-d.from;return p+h},0);return(l>0?l+u:l)>=a}function Ku(e,t,r={}){if(!t)return je(e,null,r)||vo(e,null,r);const n=qr(t,e.schema);return n===\"node\"?je(e,t,r):n===\"mark\"?vo(e,t,r):!1}function $u(e){e&&e.parentNode&&e.parentNode.removeChild(e)}function ca(e){const t=`<body>${e}</body>`;return new window.DOMParser().parseFromString(t,\"text/html\").body}function Jr(e,t,r){if(r=S({slice:!0,parseOptions:{}},r),typeof e==\"object\"&&e!==null)try{return Array.isArray(e)?k.fromArray(e.map(n=>t.nodeFromJSON(n))):t.nodeFromJSON(e)}catch(n){return console.warn(\"[tiptap warn]: Invalid content.\",\"Passed value:\",e,\"Error:\",n),Jr(\"\",t,r)}if(typeof e==\"string\"){const n=Lt.fromSchema(t);return r.slice?n.parseSlice(ca(e),r.parseOptions).content:n.parse(ca(e),r.parseOptions)}return Jr(\"\",t,r)}function la(e,t,r={}){return Jr(e,t,{slice:!1,parseOptions:r})}function Uu(e,t){const r=ot.fromSchema(t).serializeFragment(e.content),o=document.implementation.createHTMLDocument().createElement(\"div\");return o.appendChild(r),o.innerHTML}function Gu(e){var t;const r=(t=e.type.createAndFill())===null||t===void 0?void 0:t.toJSON(),n=e.toJSON();return JSON.stringify(r)===JSON.stringify(n)}function Yu(e){const t=document.querySelector(\"style[data-tiptap-style]\");if(t!==null)return t;const r=document.createElement(\"style\");return r.setAttribute(\"data-tiptap-style\",\"\"),r.innerHTML=e,document.getElementsByTagName(\"head\")[0].appendChild(r),r}class Xu{constructor(t,r){this.editor=t,this.commands=r}createCommands(){const{commands:t,editor:r}=this,{state:n,view:o}=r,{tr:i}=n,s=this.buildProps(i);return Object.fromEntries(Object.entries(t).map(([a,c])=>[a,(...u)=>{const f=c(...u)(s);return i.getMeta(\"preventDispatch\")||o.dispatch(i),f}]))}createChain(t,r=!0){const{commands:n,editor:o}=this,{state:i,view:s}=o,a=[],c=!!t,l=t||i.tr,u=()=>(!c&&r&&!l.getMeta(\"preventDispatch\")&&s.dispatch(l),a.every(p=>p===!0)),f=Tt(S({},Object.fromEntries(Object.entries(n).map(([p,d])=>[p,(...v)=>{const g=this.buildProps(l,r),M=d(...v)(g);return a.push(M),f}]))),{run:u});return f}createCan(t){const{commands:r,editor:n}=this,{state:o}=n,i=void 0,s=t||o.tr,a=this.buildProps(s,i),c=Object.fromEntries(Object.entries(r).map(([l,u])=>[l,(...f)=>u(...f)(Tt(S({},a),{dispatch:i}))]));return Tt(S({},c),{chain:()=>this.createChain(s,i)})}buildProps(t,r=!0){const{editor:n,commands:o}=this,{state:i,view:s}=n;i.storedMarks&&t.setStoredMarks(i.storedMarks);const a={tr:t,editor:n,view:s,state:this.chainableState(t,i),dispatch:r?()=>{}:void 0,chain:()=>this.createChain(t),can:()=>this.createCan(t),get commands(){return Object.fromEntries(Object.entries(o).map(([c,l])=>[c,(...u)=>l(...u)(a)]))}};return a}chainableState(t,r){let{selection:n}=t,{doc:o}=t,{storedMarks:i}=t;return Tt(S({},r),{schema:r.schema,plugins:r.plugins,apply:r.apply.bind(r),applyTransaction:r.applyTransaction.bind(r),reconfigure:r.reconfigure.bind(r),toJSON:r.toJSON.bind(r),get storedMarks(){return i},get selection(){return n},get doc(){return o},get tr(){return n=t.selection,o=t.doc,i=t.storedMarks,t}})}}function _(e,t,r={}){return e.config[t]===void 0&&e.parent?_(e.parent,t,r):typeof e.config[t]==\"function\"?e.config[t].bind(Tt(S({},r),{parent:e.parent?_(e.parent,t,r):null})):e.config[t]}function dr(e){const t=e.filter(o=>o.type===\"extension\"),r=e.filter(o=>o.type===\"node\"),n=e.filter(o=>o.type===\"mark\");return{baseExtensions:t,nodeExtensions:r,markExtensions:n}}function ua(e){const t=[],{nodeExtensions:r,markExtensions:n}=dr(e),o=[...r,...n],i={default:null,rendered:!0,renderHTML:null,parseHTML:null,keepOnSplit:!0};return e.forEach(s=>{const a={name:s.name,options:s.options},c=_(s,\"addGlobalAttributes\",a);if(!c)return;c().forEach(u=>{u.types.forEach(f=>{Object.entries(u.attributes).forEach(([p,d])=>{t.push({type:f,name:p,attribute:S(S({},i),d)})})})})}),o.forEach(s=>{const a={name:s.name,options:s.options},c=_(s,\"addAttributes\",a);if(!c)return;const l=c();Object.entries(l).forEach(([u,f])=>{t.push({type:s.name,name:u,attribute:S(S({},i),f)})})}),t}function Ot(...e){return e.filter(t=>!!t).reduce((t,r)=>{const n=S({},t);return Object.entries(r).forEach(([o,i])=>{if(!n[o]){n[o]=i;return}o===\"class\"?n[o]=[n[o],i].join(\" \"):o===\"style\"?n[o]=[n[o],i].join(\"; \"):n[o]=i}),n},{})}function go(e,t){return t.filter(r=>r.attribute.rendered).map(r=>r.attribute.renderHTML?r.attribute.renderHTML(e.attrs)||{}:{[r.name]:e.attrs[r.name]}).reduce((r,n)=>Ot(r,n),{})}function Qu(e={}){return Object.keys(e).length===0&&e.constructor===Object}function Zu(e){return typeof e!=\"string\"?e:e.match(/^\\d*(\\.\\d+)?$/)?Number(e):e===\"true\"?!0:e===\"false\"?!1:e}function fa(e,t){return e.style?e:Tt(S({},e),{getAttrs:r=>{const n=e.getAttrs?e.getAttrs(r):e.attrs;if(n===!1)return!1;const o=t.filter(i=>i.attribute.rendered).reduce((i,s)=>{const a=s.attribute.parseHTML?s.attribute.parseHTML(r)||{}:{[s.name]:Zu(r.getAttribute(s.name))},c=Object.fromEntries(Object.entries(a).filter(([,l])=>l!=null));return S(S({},i),c)},{});return S(S({},n),o)}})}function et(e,t=void 0,...r){return typeof e==\"function\"?t?e.bind(t)(...r):e(...r):e}function pa(e){return Object.fromEntries(Object.entries(e).filter(([t,r])=>t===\"attrs\"&&Qu(r)?!1:r!=null))}function tf(e){var t;const r=ua(e),{nodeExtensions:n,markExtensions:o}=dr(e),i=(t=n.find(c=>_(c,\"topNode\")))===null||t===void 0?void 0:t.name,s=Object.fromEntries(n.map(c=>{const l=r.filter(v=>v.type===c.name),u={name:c.name,options:c.options},f=e.reduce((v,g)=>{const M=_(g,\"extendNodeSchema\",u);return S(S({},v),M?M(c):{})},{}),p=pa(Tt(S({},f),{content:et(_(c,\"content\",u)),marks:et(_(c,\"marks\",u)),group:et(_(c,\"group\",u)),inline:et(_(c,\"inline\",u)),atom:et(_(c,\"atom\",u)),selectable:et(_(c,\"selectable\",u)),draggable:et(_(c,\"draggable\",u)),code:et(_(c,\"code\",u)),defining:et(_(c,\"defining\",u)),isolating:et(_(c,\"isolating\",u)),attrs:Object.fromEntries(l.map(v=>{var g;return[v.name,{default:(g=v==null?void 0:v.attribute)===null||g===void 0?void 0:g.default}]}))})),d=et(_(c,\"parseHTML\",u));d&&(p.parseDOM=d.map(v=>fa(v,l)));const h=_(c,\"renderHTML\",u);return h&&(p.toDOM=v=>h({node:v,HTMLAttributes:go(v,l)})),[c.name,p]})),a=Object.fromEntries(o.map(c=>{const l=r.filter(v=>v.type===c.name),u={name:c.name,options:c.options},f=e.reduce((v,g)=>{const M=_(g,\"extendMarkSchema\",u);return S(S({},v),M?M(c):{})},{}),p=pa(Tt(S({},f),{inclusive:et(_(c,\"inclusive\",u)),excludes:et(_(c,\"excludes\",u)),group:et(_(c,\"group\",u)),spanning:et(_(c,\"spanning\",u)),attrs:Object.fromEntries(l.map(v=>{var g;return[v.name,{default:(g=v==null?void 0:v.attribute)===null||g===void 0?void 0:g.default}]}))})),d=et(_(c,\"parseHTML\",u));d&&(p.parseDOM=d.map(v=>fa(v,l)));const h=_(c,\"renderHTML\",u);return h&&(p.toDOM=v=>h({mark:v,HTMLAttributes:go(v,l)})),[c.name,p]}));return new Se({topNode:i,nodes:s,marks:a})}function yo(e,t){return t.nodes[e]?t.nodes[e]:t.marks[e]?t.marks[e]:null}class hr{constructor(t,r){this.splittableMarks=[],this.editor=r,this.extensions=hr.resolve(t),this.schema=tf(this.extensions),this.extensions.forEach(n=>{var o;const i={name:n.name,options:n.options,editor:this.editor,type:yo(n.name,this.schema)};n.type===\"mark\"&&((o=et(_(n,\"keepOnSplit\",i)))!==null&&o!==void 0?o:!0)&&this.splittableMarks.push(n.name);const s=_(n,\"onBeforeCreate\",i);s&&this.editor.on(\"beforeCreate\",s);const a=_(n,\"onCreate\",i);a&&this.editor.on(\"create\",a);const c=_(n,\"onUpdate\",i);c&&this.editor.on(\"update\",c);const l=_(n,\"onSelectionUpdate\",i);l&&this.editor.on(\"selectionUpdate\",l);const u=_(n,\"onTransaction\",i);u&&this.editor.on(\"transaction\",u);const f=_(n,\"onFocus\",i);f&&this.editor.on(\"focus\",f);const p=_(n,\"onBlur\",i);p&&this.editor.on(\"blur\",p);const d=_(n,\"onDestroy\",i);d&&this.editor.on(\"destroy\",d)})}static resolve(t){return hr.sort(hr.flatten(t))}static flatten(t){return t.map(r=>{const n={name:r.name,options:r.options},o=_(r,\"addExtensions\",n);return o?[r,...this.flatten(o())]:r}).flat(10)}static sort(t){const r=100;return t.sort((n,o)=>{const i=_(n,\"priority\")||r,s=_(o,\"priority\")||r;return i>s?-1:i<s?1:0})}get commands(){return this.extensions.reduce((t,r)=>{const n={name:r.name,options:r.options,editor:this.editor,type:yo(r.name,this.schema)},o=_(r,\"addCommands\",n);return o?S(S({},t),o()):t},{})}get plugins(){return[...this.extensions].reverse().map(t=>{const r={name:t.name,options:t.options,editor:this.editor,type:yo(t.name,this.schema)},n=[],o=_(t,\"addKeyboardShortcuts\",r);if(o){const c=Object.fromEntries(Object.entries(o()).map(([u,f])=>[u,()=>f({editor:this.editor})])),l=Au(c);n.push(l)}const i=_(t,\"addInputRules\",r);if(this.editor.options.enableInputRules&&i){const c=i(),l=c.length?[Eu({rules:c})]:[];n.push(...l)}const s=_(t,\"addPasteRules\",r);if(this.editor.options.enablePasteRules&&s){const c=s();n.push(...c)}const a=_(t,\"addProseMirrorPlugins\",r);if(a){const c=a();n.push(...c)}return n}).flat()}get attributes(){return ua(this.extensions)}get nodeViews(){const{editor:t}=this,{nodeExtensions:r}=dr(this.extensions);return Object.fromEntries(r.filter(n=>!!_(n,\"addNodeView\")).map(n=>{const o=this.attributes.filter(c=>c.type===n.name),i={name:n.name,options:n.options,editor:t,type:tt(n.name,this.schema)},s=_(n,\"addNodeView\",i);if(!s)return[];const a=(c,l,u,f)=>{const p=go(c,o);return s()({editor:t,node:c,getPos:u,decorations:f,HTMLAttributes:p,extension:n})};return[n.name,a]}))}get textSerializers(){const{editor:t}=this,{nodeExtensions:r}=dr(this.extensions);return Object.fromEntries(r.filter(n=>!!_(n,\"renderText\")).map(n=>{const o={name:n.name,options:n.options,editor:t,type:tt(n.name,this.schema)},i=_(n,\"renderText\",o);if(!i)return[];const s=a=>i(a);return[n.name,s]}))}}class ef{constructor(){this.callbacks={}}on(t,r){return this.callbacks[t]||(this.callbacks[t]=[]),this.callbacks[t].push(r),this}emit(t,...r){const n=this.callbacks[t];return n&&n.forEach(o=>o.apply(this,r)),this}off(t,r){const n=this.callbacks[t];return n&&(r?this.callbacks[t]=n.filter(o=>o!==r):delete this.callbacks[t]),this}removeAllListeners(){this.callbacks={}}}function rf(e){return Object.prototype.toString.call(e).slice(8,-1)}function bo(e){return rf(e)!==\"Object\"?!1:e.constructor===Object&&Object.getPrototypeOf(e)===Object.prototype}function Wr(e,t){const r=S({},e);return bo(e)&&bo(t)&&Object.keys(t).forEach(n=>{bo(t[n])?n in e?r[n]=Wr(e[n],t[n]):Object.assign(r,{[n]:t[n]}):Object.assign(r,{[n]:t[n]})}),r}class St{constructor(t={}){this.type=\"extension\",this.name=\"extension\",this.parent=null,this.child=null,this.config={name:this.name,defaultOptions:{}},this.config=S(S({},this.config),t),this.name=this.config.name,this.options=this.config.defaultOptions}static create(t={}){return new St(t)}configure(t={}){const r=this.extend();return r.options=Wr(this.options,t),r}extend(t={}){const r=new St(t);return r.parent=this,this.child=r,r.name=t.name?t.name:r.parent.name,r.options=t.defaultOptions?t.defaultOptions:r.parent.options,r}}const nf=(e,t,r,n,o)=>{let i=\"\",s=!0;return e.state.doc.nodesBetween(t,r,(a,c)=>{var l;const u=e.extensionManager.textSerializers[a.type.name];u?(i+=u({node:a}),s=!n):a.isText?(i+=(l=a==null?void 0:a.text)===null||l===void 0?void 0:l.slice(Math.max(t,c)-c,r-c),s=!n):a.isLeaf&&o?(i+=o,s=!n):!s&&a.isBlock&&(i+=n,s=!0)},0),i},of=St.create({name:\"editable\",addProseMirrorPlugins(){return[new Rt({key:new Wt(\"clipboardTextSerializer\"),props:{clipboardTextSerializer:()=>{const{editor:e}=this,{from:t,to:r}=e.state.selection;return nf(e,t,r,`\n`)}}})]}}),sf=()=>({editor:e,view:t})=>(requestAnimationFrame(()=>{e.isDestroyed||t.dom.blur()}),!0);var af=Object.freeze({__proto__:null,blur:sf});const cf=(e=!1)=>({commands:t})=>t.setContent(\"\",e);var lf=Object.freeze({__proto__:null,clearContent:cf});const uf=()=>({state:e,tr:t,dispatch:r})=>{const{selection:n}=t,{ranges:o}=n;return o.forEach(i=>{e.doc.nodesBetween(i.$from.pos,i.$to.pos,(s,a)=>{if(s.type.isText)return;const c=t.doc.resolve(t.mapping.map(a)),l=t.doc.resolve(t.mapping.map(a+s.nodeSize)),u=c.blockRange(l);if(!u)return;const f=Pe(u);if(s.type.isTextblock&&r){const{defaultType:p}=c.parent.contentMatchAt(c.index());t.setNodeMarkup(u.start,p)}(f||f===0)&&r&&t.lift(u,f)})}),!0};var ff=Object.freeze({__proto__:null,clearNodes:uf});const pf=e=>t=>e(t);var df=Object.freeze({__proto__:null,command:pf});const hf=()=>({state:e,dispatch:t})=>Zs(e,t);var mf=Object.freeze({__proto__:null,createParagraphNear:hf});const vf=e=>({tr:t,state:r,dispatch:n})=>{const o=tt(e,r.schema),i=t.selection.$anchor;for(let s=i.depth;s>0;s-=1)if(i.node(s).type===o){if(n){const c=i.before(s),l=i.after(s);t.delete(c,l).scrollIntoView()}return!0}return!1};var gf=Object.freeze({__proto__:null,deleteNode:vf});const yf=e=>({tr:t,dispatch:r})=>{const{from:n,to:o}=e;return r&&t.delete(n,o),!0};var bf=Object.freeze({__proto__:null,deleteRange:yf});const kf=()=>({state:e,dispatch:t})=>po(e,t);var Sf=Object.freeze({__proto__:null,deleteSelection:kf});const Mf=()=>({commands:e})=>e.keyboardShortcut(\"Enter\");var xf=Object.freeze({__proto__:null,enter:Mf});const Cf=()=>({state:e,dispatch:t})=>Qs(e,t);var Of=Object.freeze({__proto__:null,exitCode:Cf});function ko(e,t,r={}){return e.find(n=>n.type===t&&pr(n.attrs,r))}function wf(e,t,r={}){return!!ko(e,t,r)}function da(e,t,r={}){if(!e||!t)return;const n=e.parent.childAfter(e.parentOffset);if(!n.node)return;const o=ko(n.node.marks,t,r);if(!o)return;let i=e.index(),s=e.start()+n.offset,a=i+1,c=s+n.node.nodeSize;for(ko(n.node.marks,t,r);i>0&&o.isInSet(e.parent.child(i-1).marks);)i-=1,s-=e.parent.child(i).nodeSize;for(;a<e.parent.childCount&&wf(e.parent.child(a).marks,t,r);)c+=e.parent.child(a).nodeSize,a+=1;return{from:s,to:c}}const Tf=(e,t={})=>({tr:r,state:n,dispatch:o})=>{const i=he(e,n.schema),{doc:s,selection:a}=r,{$from:c,from:l,to:u}=a;if(o){const f=da(c,i,t);if(f&&f.from<=l&&f.to>=u){const p=H.create(s,f.from,f.to);r.setSelection(p)}}return!0};var Af=Object.freeze({__proto__:null,extendMarkRange:Tf});const _f=e=>t=>{const r=typeof e==\"function\"?e(t):e;for(let n=0;n<r.length;n+=1)if(r[n](t))return!0;return!1};var Nf=Object.freeze({__proto__:null,first:_f});function mr(e=0,t=0,r=0){return Math.min(Math.max(e,t),r)}function Ef(e){var t;return((t=e.constructor)===null||t===void 0?void 0:t.toString().substring(0,5))===\"class\"}function ha(e){return e&&typeof e==\"object\"&&!Array.isArray(e)&&!Ef(e)}function ma(e){return ha(e)&&e instanceof H}function Df(e,t=null){if(!t)return null;if(t===\"start\"||t===!0)return{from:0,to:0};if(t===\"end\"){const{size:r}=e.doc.content;return{from:r,to:r}}return{from:t,to:t}}const If=(e=null)=>({editor:t,view:r,tr:n,dispatch:o})=>{const i=()=>{requestAnimationFrame(()=>{t.isDestroyed||r.focus()})};if(r.hasFocus()&&e===null||e===!1)return!0;if(o&&e===null&&!ma(t.state.selection))return i(),!0;const{from:s,to:a}=Df(t.state,e)||t.state.selection,{doc:c,storedMarks:l}=n,u=D.atStart(c).from,f=D.atEnd(c).to,p=mr(s,u,f),d=mr(a,u,f),h=H.create(c,p,d),v=t.state.selection.eq(h);return o&&(v||n.setSelection(h),v&&l&&n.setStoredMarks(l),i()),!0};var Rf=Object.freeze({__proto__:null,focus:If});const Pf=(e,t)=>r=>e.every((n,o)=>t(n,Tt(S({},r),{index:o})));var Bf=Object.freeze({__proto__:null,forEach:Pf});const zf=(e,t)=>({tr:r,commands:n})=>n.insertContentAt({from:r.selection.from,to:r.selection.to},e,t);var Lf=Object.freeze({__proto__:null,insertContent:zf});function Ff(e,t,r){const n=e.steps.length-1;if(n<t)return;const o=e.steps[n];if(!(o instanceof te||o instanceof xt))return;const i=e.mapping.maps[n];let s=0;i.forEach((a,c,l,u)=>{s===0&&(s=u)}),e.setSelection(D.near(e.doc.resolve(s),r))}const Vf=(e,t,r)=>({tr:n,dispatch:o,editor:i})=>{if(o){const s=Jr(t,i.schema,S({parseOptions:{preserveWhitespace:\"full\"}},r||{}));if(s.toString()===\"<>\")return!0;const{from:a,to:c}=typeof e==\"number\"?{from:e,to:e}:e;n.replaceWith(a,c,s),Ff(n,n.steps.length-1,1)}return!0};var Hf=Object.freeze({__proto__:null,insertContentAt:Vf});const jf=()=>({state:e,dispatch:t})=>Js(e,t);var qf=Object.freeze({__proto__:null,joinBackward:jf});const Jf=()=>({state:e,dispatch:t})=>$s(e,t);var Wf=Object.freeze({__proto__:null,joinForward:Jf});const Kf=typeof navigator!=\"undefined\"?/Mac/.test(navigator.platform):!1;function $f(e){const t=e.split(/-(?!$)/);let r=t[t.length-1];r===\"Space\"&&(r=\" \");let n,o,i,s;for(let a=0;a<t.length-1;a+=1){const c=t[a];if(/^(cmd|meta|m)$/i.test(c))s=!0;else if(/^a(lt)?$/i.test(c))n=!0;else if(/^(c|ctrl|control)$/i.test(c))o=!0;else if(/^s(hift)?$/i.test(c))i=!0;else if(/^mod$/i.test(c))Kf?s=!0:o=!0;else throw new Error(`Unrecognized modifier name: ${c}`)}return n&&(r=`Alt-${r}`),o&&(r=`Ctrl-${r}`),s&&(r=`Meta-${r}`),i&&(r=`Shift-${r}`),r}const Uf=e=>({editor:t,view:r,tr:n,dispatch:o})=>{const i=$f(e).split(/-(?!$)/),s=i.find(l=>![\"Alt\",\"Ctrl\",\"Meta\",\"Shift\"].includes(l)),a=new KeyboardEvent(\"keydown\",{key:s===\"Space\"?\" \":s,altKey:i.includes(\"Alt\"),ctrlKey:i.includes(\"Ctrl\"),metaKey:i.includes(\"Meta\"),shiftKey:i.includes(\"Shift\"),bubbles:!0,cancelable:!0}),c=t.captureTransaction(()=>{r.someProp(\"handleKeyDown\",l=>l(r,a))});return c==null||c.steps.forEach(l=>{const u=l.map(n.mapping);u&&o&&n.maybeStep(u)}),!0};var Gf=Object.freeze({__proto__:null,keyboardShortcut:Uf});const Yf=(e,t={})=>({state:r,dispatch:n})=>{const o=tt(e,r.schema);return je(r,o,t)?Ys(r,n):!1};var Xf=Object.freeze({__proto__:null,lift:Yf});const Qf=()=>({state:e,dispatch:t})=>ta(e,t);var Zf=Object.freeze({__proto__:null,liftEmptyBlock:Qf});const tp=e=>({state:t,dispatch:r})=>{const n=tt(e,t.schema);return Vu(n)(t,r)};var ep=Object.freeze({__proto__:null,liftListItem:tp});const rp=()=>({state:e,dispatch:t})=>Xs(e,t);var np=Object.freeze({__proto__:null,newlineInCode:rp});function va(e,t){const r=typeof t==\"string\"?[t]:t;return Object.keys(e).reduce((n,o)=>(r.includes(o)||(n[o]=e[o]),n),{})}const op=(e,t)=>({tr:r,state:n,dispatch:o})=>{let i=null,s=null;const a=qr(typeof e==\"string\"?e:e.name,n.schema);return a?(a===\"node\"&&(i=tt(e,n.schema)),a===\"mark\"&&(s=he(e,n.schema)),o&&r.selection.ranges.forEach(c=>{n.doc.nodesBetween(c.$from.pos,c.$to.pos,(l,u)=>{i&&i===l.type&&r.setNodeMarkup(u,void 0,va(l.attrs,t)),s&&l.marks.length&&l.marks.forEach(f=>{s===f.type&&r.addMark(u,u+l.nodeSize,s.create(va(f.attrs,t)))})})}),!0):!1};var ip=Object.freeze({__proto__:null,resetAttributes:op});const sp=()=>({tr:e,dispatch:t})=>(t&&e.scrollIntoView(),!0);var ap=Object.freeze({__proto__:null,scrollIntoView:sp});const cp=()=>({state:e,dispatch:t})=>ea(e,t);var lp=Object.freeze({__proto__:null,selectAll:cp});const up=()=>({state:e,dispatch:t})=>Ws(e,t);var fp=Object.freeze({__proto__:null,selectNodeBackward:up});const pp=()=>({state:e,dispatch:t})=>Us(e,t);var dp=Object.freeze({__proto__:null,selectNodeForward:pp});const hp=()=>({state:e,dispatch:t})=>Ru(e,t);var mp=Object.freeze({__proto__:null,selectParentNode:hp});const vp=(e,t=!1,r={})=>({tr:n,editor:o,dispatch:i})=>{const{doc:s}=n,a=la(e,o.schema,r),c=H.create(s,0,s.content.size);return i&&n.setSelection(c).replaceSelectionWith(a,!1).setMeta(\"preventUpdate\",!t),!0};var gp=Object.freeze({__proto__:null,setContent:vp});const yp=(e,t={})=>({tr:r,state:n,dispatch:o})=>{const{selection:i}=r,{empty:s,ranges:a}=i,c=he(e,n.schema);if(o)if(s){const l=aa(n,c);r.addStoredMark(c.create(S(S({},l),t)))}else a.forEach(l=>{const u=l.$from.pos,f=l.$to.pos;n.doc.nodesBetween(u,f,(p,d)=>{const h=Math.max(d,u),v=Math.min(d+p.nodeSize,f);p.marks.find(M=>M.type===c)?p.marks.forEach(M=>{c===M.type&&r.addMark(h,v,c.create(S(S({},M.attrs),t)))}):r.addMark(h,v,c.create(t))})});return!0};var bp=Object.freeze({__proto__:null,setMark:yp});const kp=(e,t)=>({tr:r})=>(r.setMeta(e,t),!0);var Sp=Object.freeze({__proto__:null,setMeta:kp});const Mp=(e,t={})=>({state:r,dispatch:n})=>{const o=tt(e,r.schema);return Bu(o,t)(r,n)};var xp=Object.freeze({__proto__:null,setNode:Mp});const Cp=e=>({tr:t,dispatch:r})=>{if(r){const{doc:n}=t,o=D.atStart(n).from,i=D.atEnd(n).to,s=mr(e,o,i),a=E.create(n,s);t.setSelection(a)}return!0};var Op=Object.freeze({__proto__:null,setNodeSelection:Cp});const wp=e=>({tr:t,dispatch:r})=>{if(r){const{doc:n}=t,{from:o,to:i}=typeof e==\"number\"?{from:e,to:e}:e,s=D.atStart(n).from,a=D.atEnd(n).to,c=mr(o,s,a),l=mr(i,s,a),u=H.create(n,c,l);t.setSelection(u)}return!0};var Tp=Object.freeze({__proto__:null,setTextSelection:wp});const Ap=e=>({state:t,dispatch:r})=>{const n=tt(e,t.schema);return qu(n)(t,r)};var _p=Object.freeze({__proto__:null,sinkListItem:Ap});function Kr(e,t,r){return Object.fromEntries(Object.entries(r).filter(([n])=>{const o=e.find(i=>i.type===t&&i.name===n);return o?o.attribute.keepOnSplit:!1}))}function Np(e){for(let t=0;t<e.edgeCount;t+=1){const{type:r}=e.edge(t);if(r.isTextblock&&!r.hasRequiredAttrs())return r}return null}function ga(e,t){const r=e.storedMarks||e.selection.$to.parentOffset&&e.selection.$from.marks();if(r){const n=r.filter(o=>t==null?void 0:t.includes(o.type.name));e.tr.ensureMarks(n)}}const Ep=({keepMarks:e=!0}={})=>({tr:t,state:r,dispatch:n,editor:o})=>{const{selection:i,doc:s}=t,{$from:a,$to:c}=i,l=o.extensionManager.attributes,u=Kr(l,a.node().type.name,a.node().attrs);if(i instanceof E&&i.node.isBlock)return!a.parentOffset||!ee(s,a.pos)?!1:(n&&(e&&ga(r,o.extensionManager.splittableMarks),t.split(a.pos).scrollIntoView()),!0);if(!a.parent.isBlock)return!1;if(n){const f=c.parentOffset===c.parent.content.size;i instanceof H&&t.deleteSelection();const p=a.depth===0?void 0:Np(a.node(-1).contentMatchAt(a.indexAfter(-1)));let d=f&&p?[{type:p,attrs:u}]:void 0,h=ee(t.doc,t.mapping.map(a.pos),1,d);if(!d&&!h&&ee(t.doc,t.mapping.map(a.pos),1,p?[{type:p}]:void 0)&&(h=!0,d=p?[{type:p,attrs:u}]:void 0),h&&(t.split(t.mapping.map(a.pos),1,d),p&&!f&&!a.parentOffset&&a.parent.type!==p)){const v=t.mapping.map(a.before()),g=t.doc.resolve(v);a.node(-1).canReplaceWith(g.index(),g.index()+1,p)&&t.setNodeMarkup(t.mapping.map(a.before()),p)}e&&ga(r,o.extensionManager.splittableMarks),t.scrollIntoView()}return!0};var Dp=Object.freeze({__proto__:null,splitBlock:Ep});const Ip=e=>({tr:t,state:r,dispatch:n,editor:o})=>{var i;const s=tt(e,r.schema),{$from:a,$to:c}=r.selection,l=r.selection.node;if(l&&l.isBlock||a.depth<2||!a.sameParent(c))return!1;const u=a.node(-1);if(u.type!==s)return!1;const f=o.extensionManager.attributes;if(a.parent.content.size===0&&a.node(-1).childCount===a.indexAfter(-1)){if(a.depth===2||a.node(-3).type!==s||a.index(-2)!==a.node(-2).childCount-1)return!1;if(n){let g=k.empty;const M=a.index(-1)?1:a.index(-2)?2:3;for(let F=a.depth-M;F>=a.depth-3;F-=1)g=k.from(a.node(F).copy(g));const y=a.indexAfter(-1)<a.node(-2).childCount?1:a.indexAfter(-2)<a.node(-3).childCount?2:3,R=Kr(f,a.node().type.name,a.node().attrs),m=((i=s.contentMatch.defaultType)===null||i===void 0?void 0:i.createAndFill(R))||void 0;g=g.append(k.from(s.createAndFill(null,m)||void 0));const I=a.before(a.depth-(M-1));t.replace(I,a.after(-y),new C(g,4-M,0));let O=-1;t.doc.nodesBetween(I,t.doc.content.size,(F,J)=>{if(O>-1)return!1;F.isTextblock&&F.content.size===0&&(O=J+1)}),O>-1&&t.setSelection(H.near(t.doc.resolve(O))),t.scrollIntoView()}return!0}const p=c.pos===a.end()?u.contentMatchAt(0).defaultType:null,d=Kr(f,u.type.name,u.attrs),h=Kr(f,a.node().type.name,a.node().attrs);t.delete(a.pos,c.pos);const v=p?[{type:s,attrs:d},{type:p,attrs:h}]:[{type:s,attrs:d}];return ee(t.doc,a.pos,2)?(n&&t.split(a.pos,2,v).scrollIntoView(),!0):!1};var Rp=Object.freeze({__proto__:null,splitListItem:Ip});function Pp(e,t){for(let r=e.depth;r>0;r-=1){const n=e.node(r);if(t(n))return{pos:r>0?e.before(r):0,start:e.start(r),depth:r,node:n}}}function Bp(e){return t=>Pp(t.$from,e)}function ya(e,t){const{nodeExtensions:r}=dr(t),n=r.find(s=>s.name===e);if(!n)return!1;const o={name:n.name,options:n.options},i=et(_(n,\"group\",o));return typeof i!=\"string\"?!1:i.split(\" \").includes(\"list\")}const zp=(e,t)=>({editor:r,tr:n,state:o,dispatch:i,chain:s,commands:a,can:c})=>{const{extensions:l}=r.extensionManager,u=tt(e,o.schema),f=tt(t,o.schema),{selection:p}=o,{$from:d,$to:h}=p,v=d.blockRange(h);if(!v)return!1;const g=Bp(y=>ya(y.type.name,l))(p);if(v.depth>=1&&g&&v.depth-g.depth<=1){if(g.node.type===u)return a.liftListItem(f);if(ya(g.node.type.name,l)&&u.validContent(g.node.content)&&i)return n.setNodeMarkup(g.pos,u),!0}return c().wrapInList(u)?a.wrapInList(u):s().clearNodes().wrapInList(u).run()};var Lp=Object.freeze({__proto__:null,toggleList:zp});const Fp=(e,t={})=>({state:r,commands:n})=>{const o=he(e,r.schema);return vo(r,o,t)?n.unsetMark(o):n.setMark(o,t)};var Vp=Object.freeze({__proto__:null,toggleMark:Fp});const Hp=(e,t,r={})=>({state:n,commands:o})=>{const i=tt(e,n.schema),s=tt(t,n.schema);return je(n,i,r)?o.setNode(s):o.setNode(i,r)};var jp=Object.freeze({__proto__:null,toggleNode:Hp});const qp=(e,t={})=>({state:r,dispatch:n})=>{const o=tt(e,r.schema);return je(r,o,t)?Ys(r,n):na(o,t)(r,n)};var Jp=Object.freeze({__proto__:null,toggleWrap:qp});const Wp=()=>({state:e,dispatch:t})=>Du(e,t);var Kp=Object.freeze({__proto__:null,undoInputRule:Wp});const $p=()=>({tr:e,state:t,dispatch:r})=>{const{selection:n}=e,{empty:o,ranges:i}=n;return o||r&&Object.entries(t.schema.marks).forEach(([,s])=>{i.forEach(a=>{e.removeMark(a.$from.pos,a.$to.pos,s)})}),!0};var Up=Object.freeze({__proto__:null,unsetAllMarks:$p});const Gp=e=>({tr:t,state:r,dispatch:n})=>{const{selection:o}=t,i=he(e,r.schema),{$from:s,empty:a,ranges:c}=o;if(n){if(a){let{from:l,to:u}=o;const f=da(s,i);f&&(l=f.from,u=f.to),t.removeMark(l,u,i)}else c.forEach(l=>{t.removeMark(l.$from.pos,l.$to.pos,i)});t.removeStoredMark(i)}return!0};var Yp=Object.freeze({__proto__:null,unsetMark:Gp});const Xp=(e,t={})=>({tr:r,state:n,dispatch:o})=>{let i=null,s=null;const a=qr(typeof e==\"string\"?e:e.name,n.schema);return a?(a===\"node\"&&(i=tt(e,n.schema)),a===\"mark\"&&(s=he(e,n.schema)),o&&r.selection.ranges.forEach(c=>{const l=c.$from.pos,u=c.$to.pos;n.doc.nodesBetween(l,u,(f,p)=>{i&&i===f.type&&r.setNodeMarkup(p,void 0,S(S({},f.attrs),t)),s&&f.marks.length&&f.marks.forEach(d=>{if(s===d.type){const h=Math.max(p,l),v=Math.min(p+f.nodeSize,u);r.addMark(h,v,s.create(S(S({},d.attrs),t)))}})})}),!0):!1};var Qp=Object.freeze({__proto__:null,updateAttributes:Xp});const Zp=(e,t={})=>({state:r,dispatch:n})=>{const o=tt(e,r.schema);return je(r,o,t)?!1:na(o,t)(r,n)};var td=Object.freeze({__proto__:null,wrapIn:Zp});const ed=(e,t={})=>({state:r,dispatch:n})=>{const o=tt(e,r.schema);return Lu(o,t)(r,n)};var rd=Object.freeze({__proto__:null,wrapInList:ed});const nd=St.create({name:\"commands\",addCommands(){return S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S({},af),lf),ff),df),mf),gf),bf),Sf),xf),Of),Af),Nf),Rf),Bf),Lf),Hf),qf),Wf),Gf),Xf),Zf),ep),np),ip),ap),lp),fp),dp),mp),gp),bp),Sp),xp),Op),Tp),_p),Dp),Rp),Lp),Vp),jp),Jp),Kp),Up),Yp),Qp),td),rd)}}),od=St.create({name:\"editable\",addProseMirrorPlugins(){return[new Rt({key:new Wt(\"editable\"),props:{editable:()=>this.editor.options.editable}})]}}),id=St.create({name:\"focusEvents\",addProseMirrorPlugins(){const{editor:e}=this;return[new Rt({key:new Wt(\"focusEvents\"),props:{attributes:{tabindex:\"0\"},handleDOMEvents:{focus:(t,r)=>{e.isFocused=!0;const n=e.state.tr.setMeta(\"focus\",{event:r}).setMeta(\"addToHistory\",!1);return t.dispatch(n),!1},blur:(t,r)=>{e.isFocused=!1;const n=e.state.tr.setMeta(\"blur\",{event:r}).setMeta(\"addToHistory\",!1);return t.dispatch(n),!1}}}})]}}),sd=St.create({name:\"keymap\",addKeyboardShortcuts(){const e=()=>this.editor.commands.first(({commands:r})=>[()=>r.undoInputRule(),()=>r.deleteSelection(),()=>r.joinBackward(),()=>r.selectNodeBackward()]),t=()=>this.editor.commands.first(({commands:r})=>[()=>r.deleteSelection(),()=>r.joinForward(),()=>r.selectNodeForward()]);return{Enter:()=>this.editor.commands.first(({commands:r})=>[()=>r.newlineInCode(),()=>r.createParagraphNear(),()=>r.liftEmptyBlock(),()=>r.splitBlock()]),\"Mod-Enter\":()=>this.editor.commands.exitCode(),Backspace:()=>e(),\"Mod-Backspace\":()=>e(),Delete:()=>t(),\"Mod-Delete\":()=>t()}}});var ad=Object.freeze({__proto__:null,ClipboardTextSerializer:of,Commands:nd,Editable:od,FocusEvents:id,Keymap:sd});const cd=`.ProseMirror {\n  position: relative;\n}\n\n.ProseMirror {\n  word-wrap: break-word;\n  white-space: pre-wrap;\n  -webkit-font-variant-ligatures: none;\n  font-variant-ligatures: none;\n}\n\n.ProseMirror [contenteditable=\"false\"] {\n  white-space: normal;\n}\n\n.ProseMirror [contenteditable=\"false\"] [contenteditable=\"true\"] {\n  white-space: pre-wrap;\n}\n\n.ProseMirror pre {\n  white-space: pre-wrap;\n}\n\n.ProseMirror-gapcursor {\n  display: none;\n  pointer-events: none;\n  position: absolute;\n}\n\n.ProseMirror-gapcursor:after {\n  content: \"\";\n  display: block;\n  position: absolute;\n  top: -2px;\n  width: 20px;\n  border-top: 1px solid black;\n  animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite;\n}\n\n@keyframes ProseMirror-cursor-blink {\n  to {\n    visibility: hidden;\n  }\n}\n\n.ProseMirror-hideselection *::selection {\n  background: transparent;\n}\n\n.ProseMirror-hideselection *::-moz-selection {\n  background: transparent;\n}\n\n.ProseMirror-hideselection * {\n  caret-color: transparent;\n}\n\n.ProseMirror-focused .ProseMirror-gapcursor {\n  display: block;\n}\n\n.tippy-box[data-animation=fade][data-state=hidden] {\n  opacity: 0\n}`;class ld extends ef{constructor(t={}){super();this.isFocused=!1,this.options={element:document.createElement(\"div\"),content:\"\",injectCSS:!0,extensions:[],autofocus:!1,editable:!0,editorProps:{},parseOptions:{},enableInputRules:!0,enablePasteRules:!0,onBeforeCreate:()=>null,onCreate:()=>null,onUpdate:()=>null,onSelectionUpdate:()=>null,onTransaction:()=>null,onFocus:()=>null,onBlur:()=>null,onDestroy:()=>null},this.isCapturingTransaction=!1,this.capturedTransaction=null,this.setOptions(t),this.createExtensionManager(),this.createCommandManager(),this.createSchema(),this.on(\"beforeCreate\",this.options.onBeforeCreate),this.emit(\"beforeCreate\",{editor:this}),this.createView(),this.injectCSS(),this.on(\"create\",this.options.onCreate),this.on(\"update\",this.options.onUpdate),this.on(\"selectionUpdate\",this.options.onSelectionUpdate),this.on(\"transaction\",this.options.onTransaction),this.on(\"focus\",this.options.onFocus),this.on(\"blur\",this.options.onBlur),this.on(\"destroy\",this.options.onDestroy),window.setTimeout(()=>{this.isDestroyed||(this.commands.focus(this.options.autofocus),this.emit(\"create\",{editor:this}))},0)}get commands(){return this.commandManager.createCommands()}chain(){return this.commandManager.createChain()}can(){return this.commandManager.createCan()}injectCSS(){this.options.injectCSS&&document&&(this.css=Yu(cd))}setOptions(t={}){this.options=S(S({},this.options),t),!(!this.view||!this.state||this.isDestroyed)&&(this.options.editorProps&&this.view.setProps(this.options.editorProps),this.view.updateState(this.state))}setEditable(t){this.setOptions({editable:t})}get isEditable(){return this.options.editable&&this.view&&this.view.editable}get state(){return this.view.state}registerPlugin(t,r){const n=typeof r==\"function\"?r(t,this.state.plugins):[...this.state.plugins,t],o=this.state.reconfigure({plugins:n});this.view.updateState(o)}unregisterPlugin(t){if(this.isDestroyed)return;const r=typeof t==\"string\"?`${t}$`:t.key,n=this.state.reconfigure({plugins:this.state.plugins.filter(o=>!o.key.startsWith(r))});this.view.updateState(n)}createExtensionManager(){const r=[...Object.entries(ad).map(([,n])=>n),...this.options.extensions].filter(n=>[\"extension\",\"node\",\"mark\"].includes(n==null?void 0:n.type));this.extensionManager=new hr(r,this)}createCommandManager(){this.commandManager=new Xu(this,this.extensionManager.commands)}createSchema(){this.schema=this.extensionManager.schema}createView(){this.view=new Z(this.options.element,Tt(S({},this.options.editorProps),{dispatchTransaction:this.dispatchTransaction.bind(this),state:mt.create({doc:la(this.options.content,this.schema,this.options.parseOptions)})}));const t=this.state.reconfigure({plugins:this.extensionManager.plugins});this.view.updateState(t),this.createNodeViews();const r=this.view.dom;r.editor=this}createNodeViews(){this.view.setProps({nodeViews:this.extensionManager.nodeViews})}captureTransaction(t){this.isCapturingTransaction=!0,t(),this.isCapturingTransaction=!1;const r=this.capturedTransaction;return this.capturedTransaction=null,r}dispatchTransaction(t){if(this.isCapturingTransaction){if(!this.capturedTransaction){this.capturedTransaction=t;return}t.steps.forEach(s=>{var a;return(a=this.capturedTransaction)===null||a===void 0?void 0:a.step(s)});return}const r=this.state.apply(t),n=!this.state.selection.eq(r.selection);this.view.updateState(r),this.emit(\"transaction\",{editor:this,transaction:t}),n&&this.emit(\"selectionUpdate\",{editor:this,transaction:t});const o=t.getMeta(\"focus\"),i=t.getMeta(\"blur\");o&&this.emit(\"focus\",{editor:this,event:o.event,transaction:t}),i&&this.emit(\"blur\",{editor:this,event:i.event,transaction:t}),!(!t.docChanged||t.getMeta(\"preventUpdate\"))&&this.emit(\"update\",{editor:this,transaction:t})}getAttributes(t){return Wu(this.state,t)}isActive(t,r){const n=typeof t==\"string\"?t:null,o=typeof t==\"string\"?r:t;return Ku(this.state,n,o)}getJSON(){return this.state.doc.toJSON()}getHTML(){return Uu(this.state.doc,this.schema)}get isEmpty(){return Gu(this.state.doc)}getCharacterCount(){return this.state.doc.content.size-2}destroy(){this.emit(\"destroy\"),this.view&&this.view.destroy(),this.removeAllListeners(),$u(this.css)}get isDestroyed(){var t;return!((t=this.view)===null||t===void 0?void 0:t.docView)}}class wt{constructor(t={}){this.type=\"node\",this.name=\"node\",this.parent=null,this.child=null,this.config={name:this.name,defaultOptions:{}},this.config=S(S({},this.config),t),this.name=this.config.name,this.options=this.config.defaultOptions}static create(t={}){return new wt(t)}configure(t={}){const r=this.extend();return r.options=Wr(this.options,t),r}extend(t={}){const r=new wt(t);return r.parent=this,this.child=r,r.name=t.name?t.name:r.parent.name,r.options=t.defaultOptions?t.defaultOptions:r.parent.options,r}}class Te{constructor(t={}){this.type=\"mark\",this.name=\"mark\",this.parent=null,this.child=null,this.config={name:this.name,defaultOptions:{}},this.config=S(S({},this.config),t),this.name=this.config.name,this.options=this.config.defaultOptions}static create(t={}){return new Te(t)}configure(t={}){const r=this.extend();return r.options=Wr(this.options,t),r}extend(t={}){const r=new Te(t);return r.parent=this,this.child=r,r.name=t.name?t.name:r.parent.name,r.options=t.defaultOptions?t.defaultOptions:r.parent.options,r}}function ud(e,t,r){return new Ut(e,(n,o,i,s)=>{const a=r instanceof Function?r(o):r,{tr:c}=n;return o[0]&&c.replaceWith(i-1,s,t.create(a)),c})}function fd(e,t,r){let n=[];return r.doc.nodesBetween(e,t,(o,i)=>{n=[...n,...o.marks.map(s=>({from:i,to:i+o.nodeSize,mark:s}))]}),n}function qe(e,t,r){return new Ut(e,(n,o,i,s)=>{const a=r instanceof Function?r(o):r,{tr:c}=n,l=o[o.length-1],u=o[0];let f=s;if(l){const p=u.search(/\\S/),d=i+u.indexOf(l),h=d+l.length;if(fd(i,s,n).filter(g=>{const{excluded:M}=g.mark.type;return M.find(y=>y.name===t.name)}).filter(g=>g.to>d).length)return null;h<s&&c.delete(h,s),d>i&&c.delete(i+p,d),f=i+p+l.length,c.addMark(i+p,f,t.create(a)),c.removeStoredMark(t)}return c})}function Je(e,t,r){const n=(o,i)=>{const s=[];return o.forEach(a=>{if(a.isText&&a.text){const{text:c}=a;let l=0,u;for(;(u=e.exec(c))!==null;){const f=Math.max(u.length-2,0),p=Math.max(u.length-1,0);if(i==null?void 0:i.type.allowsMarkType(t)){const h=u.index+u[0].indexOf(u[f]),v=h+u[f].length,g=h+u[f].lastIndexOf(u[p]),M=g+u[p].length,y=r instanceof Function?r(u):r;if(!y&&y!==void 0)continue;h>0&&s.push(a.cut(l,h)),s.push(a.cut(g,M).mark(t.create(y).addToSet(a.marks))),l=v}}l<c.length&&s.push(a.cut(l))}else s.push(a.copy(n(a.content,a)))}),k.fromArray(s)};return new Rt({key:new Wt(\"markPasteRule\"),props:{transformPasted:o=>new C(n(o.content),o.openStart,o.openEnd)}})}function pd(e){return ha(e)&&e instanceof E}function ba(e,t,r){const n=e.coordsAtPos(t),o=e.coordsAtPos(r,-1),i=Math.min(n.top,o.top),s=Math.max(n.bottom,o.bottom),a=Math.min(n.left,o.left),c=Math.max(n.right,o.right),l=c-a,u=s-i,d={top:i,bottom:s,left:a,right:c,width:l,height:u,x:a,y:i};return Tt(S({},d),{toJSON:()=>d})}var dd=\"tippy-box\",ka=\"tippy-content\",hd=\"tippy-backdrop\",Sa=\"tippy-arrow\",Ma=\"tippy-svg-arrow\",Ae={passive:!0,capture:!0};function So(e,t,r){if(Array.isArray(e)){var n=e[t];return n==null?Array.isArray(r)?r[t]:r:n}return e}function Mo(e,t){var r={}.toString.call(e);return r.indexOf(\"[object\")===0&&r.indexOf(t+\"]\")>-1}function xa(e,t){return typeof e==\"function\"?e.apply(void 0,t):e}function Ca(e,t){if(t===0)return e;var r;return function(n){clearTimeout(r),r=setTimeout(function(){e(n)},t)}}function md(e){return e.split(/\\s+/).filter(Boolean)}function vr(e){return[].concat(e)}function Oa(e,t){e.indexOf(t)===-1&&e.push(t)}function vd(e){return e.filter(function(t,r){return e.indexOf(t)===r})}function gd(e){return e.split(\"-\")[0]}function $r(e){return[].slice.call(e)}function yd(e){return Object.keys(e).reduce(function(t,r){return e[r]!==void 0&&(t[r]=e[r]),t},{})}function gr(){return document.createElement(\"div\")}function Ur(e){return[\"Element\",\"Fragment\"].some(function(t){return Mo(e,t)})}function bd(e){return Mo(e,\"NodeList\")}function kd(e){return Mo(e,\"MouseEvent\")}function Sd(e){return!!(e&&e._tippy&&e._tippy.reference===e)}function Md(e){return Ur(e)?[e]:bd(e)?$r(e):Array.isArray(e)?e:$r(document.querySelectorAll(e))}function xo(e,t){e.forEach(function(r){r&&(r.style.transitionDuration=t+\"ms\")})}function wa(e,t){e.forEach(function(r){r&&r.setAttribute(\"data-state\",t)})}function xd(e){var t,r=vr(e),n=r[0];return(n==null||(t=n.ownerDocument)==null?void 0:t.body)?n.ownerDocument:document}function Cd(e,t){var r=t.clientX,n=t.clientY;return e.every(function(o){var i=o.popperRect,s=o.popperState,a=o.props,c=a.interactiveBorder,l=gd(s.placement),u=s.modifiersData.offset;if(!u)return!0;var f=l===\"bottom\"?u.top.y:0,p=l===\"top\"?u.bottom.y:0,d=l===\"right\"?u.left.x:0,h=l===\"left\"?u.right.x:0,v=i.top-n+f>c,g=n-i.bottom-p>c,M=i.left-r+d>c,y=r-i.right-h>c;return v||g||M||y})}function Co(e,t,r){var n=t+\"EventListener\";[\"transitionend\",\"webkitTransitionEnd\"].forEach(function(o){e[n](o,r)})}var Gt={isTouch:!1},Ta=0;function Od(){Gt.isTouch||(Gt.isTouch=!0,window.performance&&document.addEventListener(\"mousemove\",Aa))}function Aa(){var e=performance.now();e-Ta<20&&(Gt.isTouch=!1,document.removeEventListener(\"mousemove\",Aa)),Ta=e}function wd(){var e=document.activeElement;if(Sd(e)){var t=e._tippy;e.blur&&!t.state.isVisible&&e.blur()}}function Td(){document.addEventListener(\"touchstart\",Od,Ae),window.addEventListener(\"blur\",wd)}var Ad=typeof window!=\"undefined\"&&typeof document!=\"undefined\",_d=Ad?navigator.userAgent:\"\",Nd=/MSIE |Trident\\//.test(_d),Ed={animateFill:!1,followCursor:!1,inlinePositioning:!1,sticky:!1},Dd={allowHTML:!1,animation:\"fade\",arrow:!0,content:\"\",inertia:!1,maxWidth:350,role:\"tooltip\",theme:\"\",zIndex:9999},Ht=Object.assign({appendTo:function(){return document.body},aria:{content:\"auto\",expanded:\"auto\"},delay:0,duration:[300,250],getReferenceClientRect:null,hideOnClick:!0,ignoreAttributes:!1,interactive:!1,interactiveBorder:2,interactiveDebounce:0,moveTransition:\"\",offset:[0,10],onAfterUpdate:function(){},onBeforeUpdate:function(){},onCreate:function(){},onDestroy:function(){},onHidden:function(){},onHide:function(){},onMount:function(){},onShow:function(){},onShown:function(){},onTrigger:function(){},onUntrigger:function(){},onClickOutside:function(){},placement:\"top\",plugins:[],popperOptions:{},render:null,showOnCreate:!1,touch:!0,trigger:\"mouseenter focus\",triggerTarget:null},Ed,{},Dd),Id=Object.keys(Ht),Rd=function(t){var r=Object.keys(t);r.forEach(function(n){Ht[n]=t[n]})};function _a(e){var t=e.plugins||[],r=t.reduce(function(n,o){var i=o.name,s=o.defaultValue;return i&&(n[i]=e[i]!==void 0?e[i]:s),n},{});return Object.assign({},e,{},r)}function Pd(e,t){var r=t?Object.keys(_a(Object.assign({},Ht,{plugins:t}))):Id,n=r.reduce(function(o,i){var s=(e.getAttribute(\"data-tippy-\"+i)||\"\").trim();if(!s)return o;if(i===\"content\")o[i]=s;else try{o[i]=JSON.parse(s)}catch{o[i]=s}return o},{});return n}function Na(e,t){var r=Object.assign({},t,{content:xa(t.content,[e])},t.ignoreAttributes?{}:Pd(e,t.plugins));return r.aria=Object.assign({},Ht.aria,{},r.aria),r.aria={expanded:r.aria.expanded===\"auto\"?t.interactive:r.aria.expanded,content:r.aria.content===\"auto\"?t.interactive?null:\"describedby\":r.aria.content},r}var Bd=function(){return\"innerHTML\"};function Oo(e,t){e[Bd()]=t}function Ea(e){var t=gr();return e===!0?t.className=Sa:(t.className=Ma,Ur(e)?t.appendChild(e):Oo(t,e)),t}function Da(e,t){Ur(t.content)?(Oo(e,\"\"),e.appendChild(t.content)):typeof t.content!=\"function\"&&(t.allowHTML?Oo(e,t.content):e.textContent=t.content)}function wo(e){var t=e.firstElementChild,r=$r(t.children);return{box:t,content:r.find(function(n){return n.classList.contains(ka)}),arrow:r.find(function(n){return n.classList.contains(Sa)||n.classList.contains(Ma)}),backdrop:r.find(function(n){return n.classList.contains(hd)})}}function Ia(e){var t=gr(),r=gr();r.className=dd,r.setAttribute(\"data-state\",\"hidden\"),r.setAttribute(\"tabindex\",\"-1\");var n=gr();n.className=ka,n.setAttribute(\"data-state\",\"hidden\"),Da(n,e.props),t.appendChild(r),r.appendChild(n),o(e.props,e.props);function o(i,s){var a=wo(t),c=a.box,l=a.content,u=a.arrow;s.theme?c.setAttribute(\"data-theme\",s.theme):c.removeAttribute(\"data-theme\"),typeof s.animation==\"string\"?c.setAttribute(\"data-animation\",s.animation):c.removeAttribute(\"data-animation\"),s.inertia?c.setAttribute(\"data-inertia\",\"\"):c.removeAttribute(\"data-inertia\"),c.style.maxWidth=typeof s.maxWidth==\"number\"?s.maxWidth+\"px\":s.maxWidth,s.role?c.setAttribute(\"role\",s.role):c.removeAttribute(\"role\"),(i.content!==s.content||i.allowHTML!==s.allowHTML)&&Da(l,e.props),s.arrow?u?i.arrow!==s.arrow&&(c.removeChild(u),c.appendChild(Ea(s.arrow))):c.appendChild(Ea(s.arrow)):u&&c.removeChild(u)}return{popper:t,onUpdate:o}}Ia.$$tippy=!0;var zd=1,Gr=[],To=[];function Ld(e,t){var r=Na(e,Object.assign({},Ht,{},_a(yd(t)))),n,o,i,s=!1,a=!1,c=!1,l=!1,u,f,p,d=[],h=Ca(Lo,r.interactiveDebounce),v,g=zd++,M=null,y=vd(r.plugins),R={isEnabled:!0,isVisible:!1,isDestroyed:!1,isMounted:!1,isShown:!1},m={id:g,reference:e,popper:gr(),popperInstance:M,props:r,state:R,plugins:y,clearDelayTimeouts:Ua,setProps:Ga,setContent:Ya,show:Xa,hide:Qa,hideWithInteractivity:Za,enable:Ka,disable:$a,unmount:tc,destroy:ec};if(!r.render)return m;var I=r.render(m),O=I.popper,F=I.onUpdate;O.setAttribute(\"data-tippy-root\",\"\"),O.id=\"tippy-\"+m.id,m.popper=O,e._tippy=m,O._tippy=m;var J=y.map(function(b){return b.fn(m)}),U=e.hasAttribute(\"aria-expanded\");return Po(),Ke(),oe(),Et(\"onCreate\",[m]),r.showOnCreate&&Jo(),O.addEventListener(\"mouseenter\",function(){m.props.interactive&&m.state.isVisible&&m.clearDelayTimeouts()}),O.addEventListener(\"mouseleave\",function(b){m.props.interactive&&m.props.trigger.indexOf(\"mouseenter\")>=0&&(qt().addEventListener(\"mousemove\",h),h(b))}),m;function T(){var b=m.props.touch;return Array.isArray(b)?b:[b,0]}function Qt(){return T()[0]===\"hold\"}function rt(){var b;return!!((b=m.props.render)==null?void 0:b.$$tippy)}function ut(){return v||e}function qt(){var b=ut().parentNode;return b?xd(b):document}function G(){return wo(O)}function Y(b){return m.state.isMounted&&!m.state.isVisible||Gt.isTouch||u&&u.type===\"focus\"?0:So(m.props.delay,b?0:1,Ht.delay)}function oe(){O.style.pointerEvents=m.props.interactive&&m.state.isVisible?\"\":\"none\",O.style.zIndex=\"\"+m.props.zIndex}function Et(b,w,N){if(N===void 0&&(N=!0),J.forEach(function(z){z[b]&&z[b].apply(void 0,w)}),N){var j;(j=m.props)[b].apply(j,w)}}function No(){var b=m.props.aria;if(!!b.content){var w=\"aria-\"+b.content,N=O.id,j=vr(m.props.triggerTarget||e);j.forEach(function(z){var vt=z.getAttribute(w);if(m.state.isVisible)z.setAttribute(w,vt?vt+\" \"+N:N);else{var Dt=vt&&vt.replace(N,\"\").trim();Dt?z.setAttribute(w,Dt):z.removeAttribute(w)}})}}function Ke(){if(!(U||!m.props.aria.expanded)){var b=vr(m.props.triggerTarget||e);b.forEach(function(w){m.props.interactive?w.setAttribute(\"aria-expanded\",m.state.isVisible&&w===ut()?\"true\":\"false\"):w.removeAttribute(\"aria-expanded\")})}}function tn(){qt().removeEventListener(\"mousemove\",h),Gr=Gr.filter(function(b){return b!==h})}function yr(b){if(!(Gt.isTouch&&(c||b.type===\"mousedown\"))&&!(m.props.interactive&&O.contains(b.target))){if(ut().contains(b.target)){if(Gt.isTouch||m.state.isVisible&&m.props.trigger.indexOf(\"click\")>=0)return}else Et(\"onClickOutside\",[m,b]);m.props.hideOnClick===!0&&(m.clearDelayTimeouts(),m.hide(),a=!0,setTimeout(function(){a=!1}),m.state.isMounted||en())}}function Eo(){c=!0}function Do(){c=!1}function Io(){var b=qt();b.addEventListener(\"mousedown\",yr,!0),b.addEventListener(\"touchend\",yr,Ae),b.addEventListener(\"touchstart\",Do,Ae),b.addEventListener(\"touchmove\",Eo,Ae)}function en(){var b=qt();b.removeEventListener(\"mousedown\",yr,!0),b.removeEventListener(\"touchend\",yr,Ae),b.removeEventListener(\"touchstart\",Do,Ae),b.removeEventListener(\"touchmove\",Eo,Ae)}function qa(b,w){Ro(b,function(){!m.state.isVisible&&O.parentNode&&O.parentNode.contains(O)&&w()})}function Ja(b,w){Ro(b,w)}function Ro(b,w){var N=G().box;function j(z){z.target===N&&(Co(N,\"remove\",j),w())}if(b===0)return w();Co(N,\"remove\",f),Co(N,\"add\",j),f=j}function _e(b,w,N){N===void 0&&(N=!1);var j=vr(m.props.triggerTarget||e);j.forEach(function(z){z.addEventListener(b,w,N),d.push({node:z,eventType:b,handler:w,options:N})})}function Po(){Qt()&&(_e(\"touchstart\",zo,{passive:!0}),_e(\"touchend\",Fo,{passive:!0})),md(m.props.trigger).forEach(function(b){if(b!==\"manual\")switch(_e(b,zo),b){case\"mouseenter\":_e(\"mouseleave\",Fo);break;case\"focus\":_e(Nd?\"focusout\":\"blur\",Vo);break;case\"focusin\":_e(\"focusout\",Vo);break}})}function Bo(){d.forEach(function(b){var w=b.node,N=b.eventType,j=b.handler,z=b.options;w.removeEventListener(N,j,z)}),d=[]}function zo(b){var w,N=!1;if(!(!m.state.isEnabled||Ho(b)||a)){var j=((w=u)==null?void 0:w.type)===\"focus\";u=b,v=b.currentTarget,Ke(),!m.state.isVisible&&kd(b)&&Gr.forEach(function(z){return z(b)}),b.type===\"click\"&&(m.props.trigger.indexOf(\"mouseenter\")<0||s)&&m.props.hideOnClick!==!1&&m.state.isVisible?N=!0:Jo(b),b.type===\"click\"&&(s=!N),N&&!j&&br(b)}}function Lo(b){var w=b.target,N=ut().contains(w)||O.contains(w);if(!(b.type===\"mousemove\"&&N)){var j=rn().concat(O).map(function(z){var vt,Dt=z._tippy,Ne=(vt=Dt.popperInstance)==null?void 0:vt.state;return Ne?{popperRect:z.getBoundingClientRect(),popperState:Ne,props:r}:null}).filter(Boolean);Cd(j,b)&&(tn(),br(b))}}function Fo(b){var w=Ho(b)||m.props.trigger.indexOf(\"click\")>=0&&s;if(!w){if(m.props.interactive){m.hideWithInteractivity(b);return}br(b)}}function Vo(b){m.props.trigger.indexOf(\"focusin\")<0&&b.target!==ut()||m.props.interactive&&b.relatedTarget&&O.contains(b.relatedTarget)||br(b)}function Ho(b){return Gt.isTouch?Qt()!==b.type.indexOf(\"touch\")>=0:!1}function jo(){qo();var b=m.props,w=b.popperOptions,N=b.placement,j=b.offset,z=b.getReferenceClientRect,vt=b.moveTransition,Dt=rt()?wo(O).arrow:null,Ne=z?{getBoundingClientRect:z,contextElement:z.contextElement||ut()}:e,Wo={name:\"$$tippy\",enabled:!0,phase:\"beforeWrite\",requires:[\"computeStyles\"],fn:function(kr){var Ee=kr.state;if(rt()){var rc=G(),on=rc.box;[\"placement\",\"reference-hidden\",\"escaped\"].forEach(function(Sr){Sr===\"placement\"?on.setAttribute(\"data-placement\",Ee.placement):Ee.attributes.popper[\"data-popper-\"+Sr]?on.setAttribute(\"data-\"+Sr,\"\"):on.removeAttribute(\"data-\"+Sr)}),Ee.attributes.popper={}}}},ge=[{name:\"offset\",options:{offset:j}},{name:\"preventOverflow\",options:{padding:{top:2,bottom:2,left:5,right:5}}},{name:\"flip\",options:{padding:5}},{name:\"computeStyles\",options:{adaptive:!vt}},Wo];rt()&&Dt&&ge.push({name:\"arrow\",options:{element:Dt,padding:3}}),ge.push.apply(ge,(w==null?void 0:w.modifiers)||[]),m.popperInstance=ac(Ne,O,Object.assign({},w,{placement:N,onFirstUpdate:p,modifiers:ge}))}function qo(){m.popperInstance&&(m.popperInstance.destroy(),m.popperInstance=null)}function Wa(){var b=m.props.appendTo,w,N=ut();m.props.interactive&&b===Ht.appendTo||b===\"parent\"?w=N.parentNode:w=xa(b,[N]),w.contains(O)||w.appendChild(O),jo()}function rn(){return $r(O.querySelectorAll(\"[data-tippy-root]\"))}function Jo(b){m.clearDelayTimeouts(),b&&Et(\"onTrigger\",[m,b]),Io();var w=Y(!0),N=T(),j=N[0],z=N[1];Gt.isTouch&&j===\"hold\"&&z&&(w=z),w?n=setTimeout(function(){m.show()},w):m.show()}function br(b){if(m.clearDelayTimeouts(),Et(\"onUntrigger\",[m,b]),!m.state.isVisible){en();return}if(!(m.props.trigger.indexOf(\"mouseenter\")>=0&&m.props.trigger.indexOf(\"click\")>=0&&[\"mouseleave\",\"mousemove\"].indexOf(b.type)>=0&&s)){var w=Y(!1);w?o=setTimeout(function(){m.state.isVisible&&m.hide()},w):i=requestAnimationFrame(function(){m.hide()})}}function Ka(){m.state.isEnabled=!0}function $a(){m.hide(),m.state.isEnabled=!1}function Ua(){clearTimeout(n),clearTimeout(o),cancelAnimationFrame(i)}function Ga(b){if(!m.state.isDestroyed){Et(\"onBeforeUpdate\",[m,b]),Bo();var w=m.props,N=Na(e,Object.assign({},m.props,{},b,{ignoreAttributes:!0}));m.props=N,Po(),w.interactiveDebounce!==N.interactiveDebounce&&(tn(),h=Ca(Lo,N.interactiveDebounce)),w.triggerTarget&&!N.triggerTarget?vr(w.triggerTarget).forEach(function(j){j.removeAttribute(\"aria-expanded\")}):N.triggerTarget&&e.removeAttribute(\"aria-expanded\"),Ke(),oe(),F&&F(w,N),m.popperInstance&&(jo(),rn().forEach(function(j){requestAnimationFrame(j._tippy.popperInstance.forceUpdate)})),Et(\"onAfterUpdate\",[m,b])}}function Ya(b){m.setProps({content:b})}function Xa(){var b=m.state.isVisible,w=m.state.isDestroyed,N=!m.state.isEnabled,j=Gt.isTouch&&!m.props.touch,z=So(m.props.duration,0,Ht.duration);if(!(b||w||N||j)&&!ut().hasAttribute(\"disabled\")&&(Et(\"onShow\",[m],!1),m.props.onShow(m)!==!1)){if(m.state.isVisible=!0,rt()&&(O.style.visibility=\"visible\"),oe(),Io(),m.state.isMounted||(O.style.transition=\"none\"),rt()){var vt=G(),Dt=vt.box,Ne=vt.content;xo([Dt,Ne],0)}p=function(){var ge;if(!(!m.state.isVisible||l)){if(l=!0,O.offsetHeight,O.style.transition=m.props.moveTransition,rt()&&m.props.animation){var nn=G(),kr=nn.box,Ee=nn.content;xo([kr,Ee],z),wa([kr,Ee],\"visible\")}No(),Ke(),Oa(To,m),(ge=m.popperInstance)==null||ge.forceUpdate(),m.state.isMounted=!0,Et(\"onMount\",[m]),m.props.animation&&rt()&&Ja(z,function(){m.state.isShown=!0,Et(\"onShown\",[m])})}},Wa()}}function Qa(){var b=!m.state.isVisible,w=m.state.isDestroyed,N=!m.state.isEnabled,j=So(m.props.duration,1,Ht.duration);if(!(b||w||N)&&(Et(\"onHide\",[m],!1),m.props.onHide(m)!==!1)){if(m.state.isVisible=!1,m.state.isShown=!1,l=!1,s=!1,rt()&&(O.style.visibility=\"hidden\"),tn(),en(),oe(),rt()){var z=G(),vt=z.box,Dt=z.content;m.props.animation&&(xo([vt,Dt],j),wa([vt,Dt],\"hidden\"))}No(),Ke(),m.props.animation?rt()&&qa(j,m.unmount):m.unmount()}}function Za(b){qt().addEventListener(\"mousemove\",h),Oa(Gr,h),h(b)}function tc(){m.state.isVisible&&m.hide(),!!m.state.isMounted&&(qo(),rn().forEach(function(b){b._tippy.unmount()}),O.parentNode&&O.parentNode.removeChild(O),To=To.filter(function(b){return b!==m}),m.state.isMounted=!1,Et(\"onHidden\",[m]))}function ec(){m.state.isDestroyed||(m.clearDelayTimeouts(),m.unmount(),Bo(),delete e._tippy,m.state.isDestroyed=!0,Et(\"onDestroy\",[m]))}}function We(e,t){t===void 0&&(t={});var r=Ht.plugins.concat(t.plugins||[]);Td();var n=Object.assign({},t,{plugins:r}),o=Md(e),i=o.reduce(function(s,a){var c=a&&Ld(a,n);return c&&s.push(c),s},[]);return Ur(e)?i[0]:i}We.defaultProps=Ht;We.setDefaultProps=Rd;We.currentInput=Gt;Object.assign({},sc,{effect:function(t){var r=t.state,n={popper:{position:r.options.strategy,left:\"0\",top:\"0\",margin:\"0\"},arrow:{position:\"absolute\"},reference:{}};Object.assign(r.elements.popper.style,n.popper),r.styles=n,r.elements.arrow&&Object.assign(r.elements.arrow.style,n.arrow)}});We.setDefaultProps({render:Ia});class Fd{constructor({editor:t,element:r,view:n,tippyOptions:o,shouldShow:i}){this.preventHide=!1,this.shouldShow=({state:s,from:a,to:c})=>{const{doc:l,selection:u}=s,{empty:f}=u,p=!l.textBetween(a,c).length&&ma(s.selection);return!(f||p)},this.mousedownHandler=()=>{this.preventHide=!0},this.dragstartHandler=()=>{this.hide()},this.focusHandler=()=>{setTimeout(()=>this.update(this.editor.view))},this.blurHandler=({event:s})=>{var a;if(this.preventHide){this.preventHide=!1;return}(s==null?void 0:s.relatedTarget)&&((a=this.element.parentNode)===null||a===void 0?void 0:a.contains(s.relatedTarget))||this.hide()},this.editor=t,this.element=r,this.view=n,i&&(this.shouldShow=i),this.element.addEventListener(\"mousedown\",this.mousedownHandler,{capture:!0}),this.view.dom.addEventListener(\"dragstart\",this.dragstartHandler),this.editor.on(\"focus\",this.focusHandler),this.editor.on(\"blur\",this.blurHandler),this.element.style.visibility=\"visible\",requestAnimationFrame(()=>{this.createTooltip(o)})}createTooltip(t={}){this.tippy=We(this.editor.options.element,S({duration:0,getReferenceClientRect:null,content:this.element,interactive:!0,trigger:\"manual\",placement:\"top\",hideOnClick:\"toggle\"},t))}update(t,r){var n;const{state:o,composing:i}=t,{doc:s,selection:a}=o,c=r&&r.doc.eq(s)&&r.selection.eq(a);if(i||c)return;const{ranges:l}=a,u=Math.min(...l.map(d=>d.$from.pos)),f=Math.max(...l.map(d=>d.$to.pos));if(!this.shouldShow({editor:this.editor,view:t,state:o,oldState:r,from:u,to:f})){this.hide();return}(n=this.tippy)===null||n===void 0||n.setProps({getReferenceClientRect:()=>{if(pd(o.selection)){const d=t.nodeDOM(u);if(d)return d.getBoundingClientRect()}return ba(t,u,f)}}),this.show()}show(){var t;(t=this.tippy)===null||t===void 0||t.show()}hide(){var t;(t=this.tippy)===null||t===void 0||t.hide()}destroy(){var t;(t=this.tippy)===null||t===void 0||t.destroy(),this.element.removeEventListener(\"mousedown\",this.mousedownHandler),this.view.dom.removeEventListener(\"dragstart\",this.dragstartHandler),this.editor.off(\"focus\",this.focusHandler),this.editor.off(\"blur\",this.blurHandler)}}const Ra=e=>new Rt({key:typeof e.pluginKey==\"string\"?new Wt(e.pluginKey):e.pluginKey,view:t=>new Fd(S({view:t},e))});St.create({name:\"bubbleMenu\",defaultOptions:{element:null,tippyOptions:{},pluginKey:\"bubbleMenu\",shouldShow:null},addProseMirrorPlugins(){return this.options.element?[Ra({pluginKey:this.options.pluginKey,editor:this.editor,element:this.options.element,tippyOptions:this.options.tippyOptions,shouldShow:this.options.shouldShow})]:[]}});class Vd{constructor({editor:t,element:r,view:n,tippyOptions:o,shouldShow:i}){this.preventHide=!1,this.shouldShow=({state:s})=>{const{selection:a}=s,{$anchor:c,empty:l}=a,u=c.depth===1,f=c.parent.isTextblock&&!c.parent.type.spec.code&&!c.parent.textContent;return!(!l||!u||!f)},this.mousedownHandler=()=>{this.preventHide=!0},this.focusHandler=()=>{setTimeout(()=>this.update(this.editor.view))},this.blurHandler=({event:s})=>{var a;if(this.preventHide){this.preventHide=!1;return}(s==null?void 0:s.relatedTarget)&&((a=this.element.parentNode)===null||a===void 0?void 0:a.contains(s.relatedTarget))||this.hide()},this.editor=t,this.element=r,this.view=n,i&&(this.shouldShow=i),this.element.addEventListener(\"mousedown\",this.mousedownHandler,{capture:!0}),this.editor.on(\"focus\",this.focusHandler),this.editor.on(\"blur\",this.blurHandler),this.element.style.visibility=\"visible\",requestAnimationFrame(()=>{this.createTooltip(o)})}createTooltip(t={}){this.tippy=We(this.editor.options.element,S({duration:0,getReferenceClientRect:null,content:this.element,interactive:!0,trigger:\"manual\",placement:\"right\",hideOnClick:\"toggle\"},t))}update(t,r){var n;const{state:o,composing:i}=t,{doc:s,selection:a}=o,{from:c,to:l}=a,u=r&&r.doc.eq(s)&&r.selection.eq(a);if(i||u)return;if(!this.shouldShow({editor:this.editor,view:t,state:o,oldState:r})){this.hide();return}(n=this.tippy)===null||n===void 0||n.setProps({getReferenceClientRect:()=>ba(t,c,l)}),this.show()}show(){var t;(t=this.tippy)===null||t===void 0||t.show()}hide(){var t;(t=this.tippy)===null||t===void 0||t.hide()}destroy(){var t;(t=this.tippy)===null||t===void 0||t.destroy(),this.element.removeEventListener(\"mousedown\",this.mousedownHandler),this.editor.off(\"focus\",this.focusHandler),this.editor.off(\"blur\",this.blurHandler)}}const Pa=e=>new Rt({key:typeof e.pluginKey==\"string\"?new Wt(e.pluginKey):e.pluginKey,view:t=>new Vd(S({view:t},e))});St.create({name:\"floatingMenu\",defaultOptions:{element:null,tippyOptions:{},pluginKey:\"floatingMenu\",shouldShow:null},addProseMirrorPlugins(){return this.options.element?[Pa({pluginKey:this.options.pluginKey,editor:this.editor,element:this.options.element,tippyOptions:this.options.tippyOptions,shouldShow:this.options.shouldShow})]:[]}});$e({name:\"BubbleMenu\",props:{pluginKey:{type:[String,Object],default:\"bubbleMenu\"},editor:{type:Object,required:!0},tippyOptions:{type:Object,default:()=>({})},shouldShow:{type:Function,default:null}},setup(e,{slots:t}){const r=xr(null);return sn(()=>{const{pluginKey:n,editor:o,tippyOptions:i,shouldShow:s}=e;o.registerPlugin(Ra({pluginKey:n,editor:o,element:r.value,tippyOptions:i,shouldShow:s}))}),Cr(()=>{const{pluginKey:n,editor:o}=e;o.unregisterPlugin(n)}),()=>{var n;return ye(\"div\",{ref:r},(n=t.default)===null||n===void 0?void 0:n.call(t))}}});function Hd(e){return hc((t,r)=>({get(){return t(),e},set(n){e=n,requestAnimationFrame(()=>{requestAnimationFrame(()=>{r()})})}}))}class jd extends ld{constructor(t={}){super(t);return this.vueRenderers=dc(new Map),this.contentComponent=null,this.reactiveState=Hd(this.view.state),this.on(\"transaction\",()=>{this.reactiveState.value=this.view.state}),mc(this)}get state(){return this.reactiveState?this.reactiveState.value:this.view.state}registerPlugin(t,r){super.registerPlugin(t,r),this.reactiveState.value=this.view.state}unregisterPlugin(t){super.unregisterPlugin(t),this.reactiveState.value=this.view.state}}const qd=$e({name:\"EditorContent\",props:{editor:{default:null,type:Object}},setup(e){const t=xr(),r=cc();return lc(()=>{const n=e.editor;n&&n.options.element&&t.value&&uc(()=>{if(!t.value||!n.options.element.firstChild)return;const o=fc(t.value);t.value.append(...n.options.element.childNodes),n.contentComponent=r.ctx._,n.setOptions({element:o}),n.createNodeViews()})}),Cr(()=>{const n=e.editor;if(!n||(n.isDestroyed||n.view.setProps({nodeViews:{}}),n.contentComponent=null,!n.options.element.firstChild))return;const o=document.createElement(\"div\");o.append(...n.options.element.childNodes),n.setOptions({element:o})}),{rootEl:t}},render(){const e=[];return this.editor&&this.editor.vueRenderers.forEach(t=>{const r=ye(pc,{to:t.teleportElement,key:t.id},ye(t.component,S({ref:t.id},t.props)));e.push(r)}),ye(\"div\",{ref:t=>{this.rootEl=t}},...e)}});$e({name:\"FloatingMenu\",props:{pluginKey:{type:[String,Object],default:\"floatingMenu\"},editor:{type:Object,required:!0},tippyOptions:{type:Object,default:()=>({})},shouldShow:{type:Function,default:null}},setup(e,{slots:t}){const r=xr(null);return sn(()=>{const{pluginKey:n,editor:o,tippyOptions:i,shouldShow:s}=e;o.registerPlugin(Pa({pluginKey:n,editor:o,element:r.value,tippyOptions:i,shouldShow:s}))}),Cr(()=>{const{pluginKey:n,editor:o}=e;o.unregisterPlugin(n)}),()=>{var n;return ye(\"div\",{ref:r},(n=t.default)===null||n===void 0?void 0:n.call(t))}}});const Jd=(e={})=>{const t=xr();return sn(()=>{t.value=new jd(e)}),Cr(()=>{var r;(r=t.value)===null||r===void 0||r.destroy()}),t};$e({props:{as:{type:String,default:\"div\"}},inject:[\"onDragStart\",\"decorationClasses\"],render(){var e,t;return ye(this.as,{class:this.decorationClasses.value,style:{whiteSpace:\"normal\"},\"data-node-view-wrapper\":\"\",onDragStart:this.onDragStart},(t=(e=this.$slots).default)===null||t===void 0?void 0:t.call(e))}});$e({props:{as:{type:String,default:\"div\"}},render(){return ye(this.as,{style:{whiteSpace:\"pre-wrap\"},\"data-node-view-content\":\"\"})}});const Wd=/^\\s*>\\s$/gm,Kd=wt.create({name:\"blockquote\",defaultOptions:{HTMLAttributes:{}},content:\"block*\",group:\"block\",defining:!0,parseHTML(){return[{tag:\"blockquote\"}]},renderHTML({HTMLAttributes:e}){return[\"blockquote\",Ot(this.options.HTMLAttributes,e),0]},addCommands(){return{setBlockquote:()=>({commands:e})=>e.wrapIn(\"blockquote\"),toggleBlockquote:()=>({commands:e})=>e.toggleWrap(\"blockquote\"),unsetBlockquote:()=>({commands:e})=>e.lift(\"blockquote\")}},addKeyboardShortcuts(){return{\"Mod-Shift-b\":()=>this.editor.commands.toggleBlockquote()}},addInputRules(){return[uo(Wd,this.type)]}}),$d=/(?:^|\\s)((?:\\*\\*)((?:[^*]+))(?:\\*\\*))$/gm,Ud=/(?:^|\\s)((?:\\*\\*)((?:[^*]+))(?:\\*\\*))/gm,Gd=/(?:^|\\s)((?:__)((?:[^__]+))(?:__))$/gm,Yd=/(?:^|\\s)((?:__)((?:[^__]+))(?:__))/gm,Xd=Te.create({name:\"bold\",defaultOptions:{HTMLAttributes:{}},parseHTML(){return[{tag:\"strong\"},{tag:\"b\",getAttrs:e=>e.style.fontWeight!==\"normal\"&&null},{style:\"font-weight\",getAttrs:e=>/^(bold(er)?|[5-9]\\d{2,})$/.test(e)&&null}]},renderHTML({HTMLAttributes:e}){return[\"strong\",Ot(this.options.HTMLAttributes,e),0]},addCommands(){return{setBold:()=>({commands:e})=>e.setMark(\"bold\"),toggleBold:()=>({commands:e})=>e.toggleMark(\"bold\"),unsetBold:()=>({commands:e})=>e.unsetMark(\"bold\")}},addKeyboardShortcuts(){return{\"Mod-b\":()=>this.editor.commands.toggleBold()}},addInputRules(){return[qe($d,this.type),qe(Gd,this.type)]},addPasteRules(){return[Je(Ud,this.type),Je(Yd,this.type)]}}),Qd=/^\\s*([-+*])\\s$/,Zd=wt.create({name:\"bulletList\",defaultOptions:{HTMLAttributes:{}},group:\"block list\",content:\"listItem+\",parseHTML(){return[{tag:\"ul\"}]},renderHTML({HTMLAttributes:e}){return[\"ul\",Ot(this.options.HTMLAttributes,e),0]},addCommands(){return{toggleBulletList:()=>({commands:e})=>e.toggleList(\"bulletList\",\"listItem\")}},addKeyboardShortcuts(){return{\"Mod-Shift-8\":()=>this.editor.commands.toggleBulletList()}},addInputRules(){return[uo(Qd,this.type)]}}),th=/(?:^|\\s)((?:`)((?:[^`]+))(?:`))$/gm,eh=/(?:^|\\s)((?:`)((?:[^`]+))(?:`))/gm,rh=Te.create({name:\"code\",defaultOptions:{HTMLAttributes:{}},excludes:\"_\",parseHTML(){return[{tag:\"code\"}]},renderHTML({HTMLAttributes:e}){return[\"code\",Ot(this.options.HTMLAttributes,e),0]},addCommands(){return{setCode:()=>({commands:e})=>e.setMark(\"code\"),toggleCode:()=>({commands:e})=>e.toggleMark(\"code\"),unsetCode:()=>({commands:e})=>e.unsetMark(\"code\")}},addKeyboardShortcuts(){return{\"Mod-e\":()=>this.editor.commands.toggleCode()}},addInputRules(){return[qe(th,this.type)]},addPasteRules(){return[Je(eh,this.type)]}}),nh=/^```(?<language>[a-z]*)? $/,oh=/^~~~(?<language>[a-z]*)? $/,ih=wt.create({name:\"codeBlock\",defaultOptions:{languageClassPrefix:\"language-\",HTMLAttributes:{}},content:\"text*\",marks:\"\",group:\"block\",code:!0,defining:!0,addAttributes(){return{language:{default:null,parseHTML:e=>{var t;const r=(t=e.firstElementChild)===null||t===void 0?void 0:t.getAttribute(\"class\");if(!r)return null;const n=new RegExp(`^(${this.options.languageClassPrefix})`);return{language:r.replace(n,\"\")}},renderHTML:e=>e.language?{class:this.options.languageClassPrefix+e.language}:null}}},parseHTML(){return[{tag:\"pre\",preserveWhitespace:\"full\"}]},renderHTML({HTMLAttributes:e}){return[\"pre\",this.options.HTMLAttributes,[\"code\",e,0]]},addCommands(){return{setCodeBlock:e=>({commands:t})=>t.setNode(\"codeBlock\",e),toggleCodeBlock:e=>({commands:t})=>t.toggleNode(\"codeBlock\",\"paragraph\",e)}},addKeyboardShortcuts(){return{\"Mod-Alt-c\":()=>this.editor.commands.toggleCodeBlock(),Backspace:()=>{const{empty:e,$anchor:t}=this.editor.state.selection,r=t.pos===1;return!e||t.parent.type.name!==this.name?!1:r||!t.parent.textContent.length?this.editor.commands.clearNodes():!1}}},addInputRules(){return[fo(nh,this.type,({groups:e})=>e),fo(oh,this.type,({groups:e})=>e)]}}),sh=wt.create({name:\"doc\",topNode:!0,content:\"block+\"});function ah(e){return e===void 0&&(e={}),new Rt({view:function(r){return new Yt(r,e)}})}var Yt=function(t,r){var n=this;this.editorView=t,this.width=r.width||1,this.color=r.color||\"black\",this.class=r.class,this.cursorPos=null,this.element=null,this.timeout=null,this.handlers=[\"dragover\",\"dragend\",\"drop\",\"dragleave\"].map(function(o){var i=function(s){return n[o](s)};return t.dom.addEventListener(o,i),{name:o,handler:i}})};Yt.prototype.destroy=function(){var t=this;this.handlers.forEach(function(r){var n=r.name,o=r.handler;return t.editorView.dom.removeEventListener(n,o)})};Yt.prototype.update=function(t,r){this.cursorPos!=null&&r.doc!=t.state.doc&&(this.cursorPos>t.state.doc.content.size?this.setCursor(null):this.updateOverlay())};Yt.prototype.setCursor=function(t){t!=this.cursorPos&&(this.cursorPos=t,t==null?(this.element.parentNode.removeChild(this.element),this.element=null):this.updateOverlay())};Yt.prototype.updateOverlay=function(){var t=this.editorView.state.doc.resolve(this.cursorPos),r;if(!t.parent.inlineContent){var n=t.nodeBefore,o=t.nodeAfter;if(n||o){var i=this.editorView.nodeDOM(this.cursorPos-(n?n.nodeSize:0)).getBoundingClientRect(),s=n?i.bottom:i.top;n&&o&&(s=(s+this.editorView.nodeDOM(this.cursorPos).getBoundingClientRect().top)/2),r={left:i.left,right:i.right,top:s-this.width/2,bottom:s+this.width/2}}}if(!r){var a=this.editorView.coordsAtPos(this.cursorPos);r={left:a.left-this.width/2,right:a.left+this.width/2,top:a.top,bottom:a.bottom}}var c=this.editorView.dom.offsetParent;this.element||(this.element=c.appendChild(document.createElement(\"div\")),this.class&&(this.element.className=this.class),this.element.style.cssText=\"position: absolute; z-index: 50; pointer-events: none; background-color: \"+this.color);var l,u;if(!c||c==document.body&&getComputedStyle(c).position==\"static\")l=-pageXOffset,u=-pageYOffset;else{var f=c.getBoundingClientRect();l=f.left-c.scrollLeft,u=f.top-c.scrollTop}this.element.style.left=r.left-l+\"px\",this.element.style.top=r.top-u+\"px\",this.element.style.width=r.right-r.left+\"px\",this.element.style.height=r.bottom-r.top+\"px\"};Yt.prototype.scheduleRemoval=function(t){var r=this;clearTimeout(this.timeout),this.timeout=setTimeout(function(){return r.setCursor(null)},t)};Yt.prototype.dragover=function(t){if(!!this.editorView.editable){var r=this.editorView.posAtCoords({left:t.clientX,top:t.clientY});if(r){var n=r.pos;if(this.editorView.dragging&&this.editorView.dragging.slice&&(n=Oi(this.editorView.state.doc,n,this.editorView.dragging.slice),n==null))return this.setCursor(null);this.setCursor(n),this.scheduleRemoval(5e3)}}};Yt.prototype.dragend=function(){this.scheduleRemoval(20)};Yt.prototype.drop=function(){this.scheduleRemoval(20)};Yt.prototype.dragleave=function(t){(t.target==this.editorView.dom||!this.editorView.dom.contains(t.relatedTarget))&&this.setCursor(null)};const ch=St.create({name:\"dropCursor\",defaultOptions:{color:\"currentColor\",width:1,class:null},addProseMirrorPlugins(){return[ah(this.options)]}});var jt=function(e){function t(r){e.call(this,r,r)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.map=function(n,o){var i=n.resolve(o.map(this.head));return t.valid(i)?new t(i):e.near(i)},t.prototype.content=function(){return C.empty},t.prototype.eq=function(n){return n instanceof t&&n.head==this.head},t.prototype.toJSON=function(){return{type:\"gapcursor\",pos:this.head}},t.fromJSON=function(n,o){if(typeof o.pos!=\"number\")throw new RangeError(\"Invalid input for GapCursor.fromJSON\");return new t(n.resolve(o.pos))},t.prototype.getBookmark=function(){return new Yr(this.anchor)},t.valid=function(n){var o=n.parent;if(o.isTextblock||!lh(n)||!uh(n))return!1;var i=o.type.spec.allowGapCursor;if(i!=null)return i;var s=o.contentMatchAt(n.index()).defaultType;return s&&s.isTextblock},t.findFrom=function(n,o,i){t:for(;;){if(!i&&t.valid(n))return n;for(var s=n.pos,a=null,c=n.depth;;c--){var l=n.node(c);if(o>0?n.indexAfter(c)<l.childCount:n.index(c)>0){a=l.child(o>0?n.indexAfter(c):n.index(c)-1);break}else if(c==0)return null;s+=o;var u=n.doc.resolve(s);if(t.valid(u))return u}for(;;){var f=o>0?a.firstChild:a.lastChild;if(!f){if(a.isAtom&&!a.isText&&!E.isSelectable(a)){n=n.doc.resolve(s+a.nodeSize*o),i=!1;continue t}break}a=f,s+=o;var p=n.doc.resolve(s);if(t.valid(p))return p}return null}},t}(D);jt.prototype.visible=!1;D.jsonID(\"gapcursor\",jt);var Yr=function(t){this.pos=t};Yr.prototype.map=function(t){return new Yr(t.map(this.pos))};Yr.prototype.resolve=function(t){var r=t.resolve(this.pos);return jt.valid(r)?new jt(r):D.near(r)};function lh(e){for(var t=e.depth;t>=0;t--){var r=e.index(t);if(r!=0)for(var n=e.node(t).child(r-1);;n=n.lastChild){if(n.childCount==0&&!n.inlineContent||n.isAtom||n.type.spec.isolating)return!0;if(n.inlineContent)return!1}}return!0}function uh(e){for(var t=e.depth;t>=0;t--){var r=e.indexAfter(t),n=e.node(t);if(r!=n.childCount)for(var o=n.child(r);;o=o.firstChild){if(o.childCount==0&&!o.inlineContent||o.isAtom||o.type.spec.isolating)return!0;if(o.inlineContent)return!1}}return!0}var fh=function(){return new Rt({props:{decorations:hh,createSelectionBetween:function(t,r,n){if(r.pos==n.pos&&jt.valid(n))return new jt(n)},handleClick:dh,handleKeyDown:ph}})},ph=js({ArrowLeft:Xr(\"horiz\",-1),ArrowRight:Xr(\"horiz\",1),ArrowUp:Xr(\"vert\",-1),ArrowDown:Xr(\"vert\",1)});function Xr(e,t){var r=e==\"vert\"?t>0?\"down\":\"up\":t>0?\"right\":\"left\";return function(n,o,i){var s=n.selection,a=t>0?s.$to:s.$from,c=s.empty;if(s instanceof H){if(!i.endOfTextblock(r)||a.depth==0)return!1;c=!1,a=n.doc.resolve(t>0?a.after():a.before())}var l=jt.findFrom(a,t,c);return l?(o&&o(n.tr.setSelection(new jt(l))),!0):!1}}function dh(e,t,r){if(!e.editable)return!1;var n=e.state.doc.resolve(t);if(!jt.valid(n))return!1;var o=e.posAtCoords({left:r.clientX,top:r.clientY}),i=o.inside;return i>-1&&E.isSelectable(e.state.doc.nodeAt(i))?!1:(e.dispatch(e.state.tr.setSelection(new jt(n))),!0)}function hh(e){if(!(e.selection instanceof jt))return null;var t=document.createElement(\"div\");return t.className=\"ProseMirror-gapcursor\",q.create(e.doc,[nt.widget(e.selection.head,t,{key:\"gapcursor\"})])}const mh=St.create({name:\"gapCursor\",addProseMirrorPlugins(){return[fh()]},extendNodeSchema(e){var t;const r={name:e.name,options:e.options};return{allowGapCursor:(t=et(_(e,\"allowGapCursor\",r)))!==null&&t!==void 0?t:null}}}),vh=wt.create({name:\"hardBreak\",defaultOptions:{HTMLAttributes:{}},inline:!0,group:\"inline\",selectable:!1,parseHTML(){return[{tag:\"br\"}]},renderHTML({HTMLAttributes:e}){return[\"br\",Ot(this.options.HTMLAttributes,e)]},addCommands(){return{setHardBreak:()=>({commands:e})=>e.first([()=>e.exitCode(),()=>e.insertContent({type:this.name})])}},addKeyboardShortcuts(){return{\"Mod-Enter\":()=>this.editor.commands.setHardBreak(),\"Shift-Enter\":()=>this.editor.commands.setHardBreak()}}}),gh=wt.create({name:\"heading\",defaultOptions:{levels:[1,2,3,4,5,6],HTMLAttributes:{}},content:\"inline*\",group:\"block\",defining:!0,addAttributes(){return{level:{default:1,rendered:!1}}},parseHTML(){return this.options.levels.map(e=>({tag:`h${e}`,attrs:{level:e}}))},renderHTML({node:e,HTMLAttributes:t}){return[`h${this.options.levels.includes(e.attrs.level)?e.attrs.level:this.options.levels[0]}`,Ot(this.options.HTMLAttributes,t),0]},addCommands(){return{setHeading:e=>({commands:t})=>this.options.levels.includes(e.level)?t.setNode(\"heading\",e):!1,toggleHeading:e=>({commands:t})=>this.options.levels.includes(e.level)?t.toggleNode(\"heading\",\"paragraph\",e):!1}},addKeyboardShortcuts(){return this.options.levels.reduce((e,t)=>Tt(S({},e),{[`Mod-Alt-${t}`]:()=>this.editor.commands.toggleHeading({level:t})}),{})},addInputRules(){return this.options.levels.map(e=>fo(new RegExp(`^(#{1,${e}})\\\\s$`),this.type,{level:e}))}});var Qr=200,ct=function(){};ct.prototype.append=function(t){return t.length?(t=ct.from(t),!this.length&&t||t.length<Qr&&this.leafAppend(t)||this.length<Qr&&t.leafPrepend(this)||this.appendInner(t)):this};ct.prototype.prepend=function(t){return t.length?ct.from(t).append(this):this};ct.prototype.appendInner=function(t){return new yh(this,t)};ct.prototype.slice=function(t,r){return t===void 0&&(t=0),r===void 0&&(r=this.length),t>=r?ct.empty:this.sliceInner(Math.max(0,t),Math.min(this.length,r))};ct.prototype.get=function(t){if(!(t<0||t>=this.length))return this.getInner(t)};ct.prototype.forEach=function(t,r,n){r===void 0&&(r=0),n===void 0&&(n=this.length),r<=n?this.forEachInner(t,r,n,0):this.forEachInvertedInner(t,r,n,0)};ct.prototype.map=function(t,r,n){r===void 0&&(r=0),n===void 0&&(n=this.length);var o=[];return this.forEach(function(i,s){return o.push(t(i,s))},r,n),o};ct.from=function(t){return t instanceof ct?t:t&&t.length?new Ba(t):ct.empty};var Ba=function(e){function t(n){e.call(this),this.values=n}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var r={length:{configurable:!0},depth:{configurable:!0}};return t.prototype.flatten=function(){return this.values},t.prototype.sliceInner=function(o,i){return o==0&&i==this.length?this:new t(this.values.slice(o,i))},t.prototype.getInner=function(o){return this.values[o]},t.prototype.forEachInner=function(o,i,s,a){for(var c=i;c<s;c++)if(o(this.values[c],a+c)===!1)return!1},t.prototype.forEachInvertedInner=function(o,i,s,a){for(var c=i-1;c>=s;c--)if(o(this.values[c],a+c)===!1)return!1},t.prototype.leafAppend=function(o){if(this.length+o.length<=Qr)return new t(this.values.concat(o.flatten()))},t.prototype.leafPrepend=function(o){if(this.length+o.length<=Qr)return new t(o.flatten().concat(this.values))},r.length.get=function(){return this.values.length},r.depth.get=function(){return 0},Object.defineProperties(t.prototype,r),t}(ct);ct.empty=new Ba([]);var yh=function(e){function t(r,n){e.call(this),this.left=r,this.right=n,this.length=r.length+n.length,this.depth=Math.max(r.depth,n.depth)+1}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.flatten=function(){return this.left.flatten().concat(this.right.flatten())},t.prototype.getInner=function(n){return n<this.left.length?this.left.get(n):this.right.get(n-this.left.length)},t.prototype.forEachInner=function(n,o,i,s){var a=this.left.length;if(o<a&&this.left.forEachInner(n,o,Math.min(i,a),s)===!1||i>a&&this.right.forEachInner(n,Math.max(o-a,0),Math.min(this.length,i)-a,s+a)===!1)return!1},t.prototype.forEachInvertedInner=function(n,o,i,s){var a=this.left.length;if(o>a&&this.right.forEachInvertedInner(n,o-a,Math.max(i,a)-a,s+a)===!1||i<a&&this.left.forEachInvertedInner(n,Math.min(o,a),i,s)===!1)return!1},t.prototype.sliceInner=function(n,o){if(n==0&&o==this.length)return this;var i=this.left.length;return o<=i?this.left.slice(n,o):n>=i?this.right.slice(n-i,o-i):this.left.slice(n,i).append(this.right.slice(0,o-i))},t.prototype.leafAppend=function(n){var o=this.right.leafAppend(n);if(o)return new t(this.left,o)},t.prototype.leafPrepend=function(n){var o=this.left.leafPrepend(n);if(o)return new t(o,this.right)},t.prototype.appendInner=function(n){return this.left.depth>=Math.max(this.right.depth,n.depth)+1?new t(this.left,new t(this.right,n)):new t(this,n)},t}(ct),za=ct,bh=500,lt=function(t,r){this.items=t,this.eventCount=r};lt.prototype.popEvent=function(t,r){var n=this;if(this.eventCount==0)return null;for(var o=this.items.length;;o--){var i=this.items.get(o-1);if(i.selection){--o;break}}var s,a;r&&(s=this.remapping(o,this.items.length),a=s.maps.length);var c=t.tr,l,u,f=[],p=[];return this.items.forEach(function(d,h){if(!d.step){s||(s=n.remapping(o,h+1),a=s.maps.length),a--,p.push(d);return}if(s){p.push(new Xt(d.map));var v=d.step.map(s.slice(a)),g;v&&c.maybeStep(v).doc&&(g=c.mapping.maps[c.mapping.maps.length-1],f.push(new Xt(g,null,null,f.length+p.length))),a--,g&&s.appendMap(g,a)}else c.maybeStep(d.step);if(d.selection)return l=s?d.selection.map(s.slice(a)):d.selection,u=new lt(n.items.slice(0,o).append(p.reverse().concat(f)),n.eventCount-1),!1},this.items.length,0),{remaining:u,transform:c,selection:l}};lt.prototype.addTransform=function(t,r,n,o){for(var i=[],s=this.eventCount,a=this.items,c=!o&&a.length?a.get(a.length-1):null,l=0;l<t.steps.length;l++){var u=t.steps[l].invert(t.docs[l]),f=new Xt(t.mapping.maps[l],u,r),p=void 0;(p=c&&c.merge(f))&&(f=p,l?i.pop():a=a.slice(0,a.length-1)),i.push(f),r&&(s++,r=null),o||(c=f)}var d=s-n.depth;return d>Sh&&(a=kh(a,d),s-=d),new lt(a.append(i),s)};lt.prototype.remapping=function(t,r){var n=new dt;return this.items.forEach(function(o,i){var s=o.mirrorOffset!=null&&i-o.mirrorOffset>=t?n.maps.length-o.mirrorOffset:null;n.appendMap(o.map,s)},t,r),n};lt.prototype.addMaps=function(t){return this.eventCount==0?this:new lt(this.items.append(t.map(function(r){return new Xt(r)})),this.eventCount)};lt.prototype.rebased=function(t,r){if(!this.eventCount)return this;var n=[],o=Math.max(0,this.items.length-r),i=t.mapping,s=t.steps.length,a=this.eventCount;this.items.forEach(function(d){d.selection&&a--},o);var c=r;this.items.forEach(function(d){var h=i.getMirror(--c);if(h!=null){s=Math.min(s,h);var v=i.maps[h];if(d.step){var g=t.steps[h].invert(t.docs[h]),M=d.selection&&d.selection.map(i.slice(c+1,h));M&&a++,n.push(new Xt(v,g,M))}else n.push(new Xt(v))}},o);for(var l=[],u=r;u<s;u++)l.push(new Xt(i.maps[u]));var f=this.items.slice(0,o).append(l).append(n),p=new lt(f,a);return p.emptyItemCount()>bh&&(p=p.compress(this.items.length-n.length)),p};lt.prototype.emptyItemCount=function(){var t=0;return this.items.forEach(function(r){r.step||t++}),t};lt.prototype.compress=function(t){t===void 0&&(t=this.items.length);var r=this.remapping(0,t),n=r.maps.length,o=[],i=0;return this.items.forEach(function(s,a){if(a>=t)o.push(s),s.selection&&i++;else if(s.step){var c=s.step.map(r.slice(n)),l=c&&c.getMap();if(n--,l&&r.appendMap(l,n),c){var u=s.selection&&s.selection.map(r.slice(n));u&&i++;var f=new Xt(l.invert(),c,u),p,d=o.length-1;(p=o.length&&o[d].merge(f))?o[d]=p:o.push(f)}}else s.map&&n--},this.items.length,0),new lt(za.from(o.reverse()),i)};lt.empty=new lt(za.empty,0);function kh(e,t){var r;return e.forEach(function(n,o){if(n.selection&&t--==0)return r=o,!1}),e.slice(r)}var Xt=function(t,r,n,o){this.map=t,this.step=r,this.selection=n,this.mirrorOffset=o};Xt.prototype.merge=function(t){if(this.step&&t.step&&!t.selection){var r=t.step.merge(this.step);if(r)return new Xt(r.getMap().invert(),r,this.selection)}};var me=function(t,r,n,o){this.done=t,this.undone=r,this.prevRanges=n,this.prevTime=o},Sh=20;function Mh(e,t,r,n){var o=r.getMeta(ve),i;if(o)return o.historyState;r.getMeta(Ch)&&(e=new me(e.done,e.undone,null,0));var s=r.getMeta(\"appendedTransaction\");if(r.steps.length==0)return e;if(s&&s.getMeta(ve))return s.getMeta(ve).redo?new me(e.done.addTransform(r,null,n,Zr(t)),e.undone,La(r.mapping.maps[r.steps.length-1]),e.prevTime):new me(e.done,e.undone.addTransform(r,null,n,Zr(t)),null,e.prevTime);if(r.getMeta(\"addToHistory\")!==!1&&!(s&&s.getMeta(\"addToHistory\")===!1)){var a=e.prevTime==0||!s&&(e.prevTime<(r.time||0)-n.newGroupDelay||!xh(r,e.prevRanges)),c=s?Ao(e.prevRanges,r.mapping):La(r.mapping.maps[r.steps.length-1]);return new me(e.done.addTransform(r,a?t.selection.getBookmark():null,n,Zr(t)),lt.empty,c,r.time)}else return(i=r.getMeta(\"rebased\"))?new me(e.done.rebased(r,i),e.undone.rebased(r,i),Ao(e.prevRanges,r.mapping),e.prevTime):new me(e.done.addMaps(r.mapping.maps),e.undone.addMaps(r.mapping.maps),Ao(e.prevRanges,r.mapping),e.prevTime)}function xh(e,t){if(!t)return!1;if(!e.docChanged)return!0;var r=!1;return e.mapping.maps[0].forEach(function(n,o){for(var i=0;i<t.length;i+=2)n<=t[i+1]&&o>=t[i]&&(r=!0)}),r}function La(e){var t=[];return e.forEach(function(r,n,o,i){return t.push(o,i)}),t}function Ao(e,t){if(!e)return null;for(var r=[],n=0;n<e.length;n+=2){var o=t.map(e[n],1),i=t.map(e[n+1],-1);o<=i&&r.push(o,i)}return r}function Fa(e,t,r,n){var o=Zr(t),i=ve.get(t).spec.config,s=(n?e.undone:e.done).popEvent(t,o);if(!!s){var a=s.selection.resolve(s.transform.doc),c=(n?e.done:e.undone).addTransform(s.transform,t.selection.getBookmark(),i,o),l=new me(n?c:s.remaining,n?s.remaining:c,null,0);r(s.transform.setSelection(a).setMeta(ve,{redo:n,historyState:l}).scrollIntoView())}}var _o=!1,Va=null;function Zr(e){var t=e.plugins;if(Va!=t){_o=!1,Va=t;for(var r=0;r<t.length;r++)if(t[r].spec.historyPreserveItems){_o=!0;break}}return _o}var ve=new Wt(\"history\"),Ch=new Wt(\"closeHistory\");function Oh(e){return e={depth:e&&e.depth||100,newGroupDelay:e&&e.newGroupDelay||500},new Rt({key:ve,state:{init:function(){return new me(lt.empty,lt.empty,null,0)},apply:function(r,n,o){return Mh(n,o,r,e)}},config:e,props:{handleDOMEvents:{beforeinput:function(r,n){var o=n.inputType==\"historyUndo\"?Ha(r.state,r.dispatch):n.inputType==\"historyRedo\"?ja(r.state,r.dispatch):!1;return o&&n.preventDefault(),o}}}})}function Ha(e,t){var r=ve.getState(e);return!r||r.done.eventCount==0?!1:(t&&Fa(r,e,t,!1),!0)}function ja(e,t){var r=ve.getState(e);return!r||r.undone.eventCount==0?!1:(t&&Fa(r,e,t,!0),!0)}const wh=St.create({name:\"history\",defaultOptions:{depth:100,newGroupDelay:500},addCommands(){return{undo:()=>({state:e,dispatch:t})=>Ha(e,t),redo:()=>({state:e,dispatch:t})=>ja(e,t)}},addProseMirrorPlugins(){return[Oh(this.options)]},addKeyboardShortcuts(){return{\"Mod-z\":()=>this.editor.commands.undo(),\"Mod-y\":()=>this.editor.commands.redo(),\"Shift-Mod-z\":()=>this.editor.commands.redo(),\"Mod-\\u044F\":()=>this.editor.commands.undo(),\"Shift-Mod-\\u044F\":()=>this.editor.commands.redo()}}}),Th=wt.create({name:\"horizontalRule\",defaultOptions:{HTMLAttributes:{}},group:\"block\",parseHTML(){return[{tag:\"hr\"}]},renderHTML({HTMLAttributes:e}){return[\"hr\",Ot(this.options.HTMLAttributes,e)]},addCommands(){return{setHorizontalRule:()=>({chain:e})=>e().command(({tr:t,dispatch:r})=>{const{selection:n}=t,{empty:o,$anchor:i}=n,s=i.parent.isTextblock&&!i.parent.type.spec.code&&!i.parent.textContent;if(!o||!s||!r)return!0;const a=i.before();return t.deleteRange(a,a+1),!0}).insertContent({type:this.name}).command(({tr:t,dispatch:r})=>{var n;if(r){const{parent:o,pos:i}=t.selection.$from,s=i+1;if(!t.doc.nodeAt(s)){const c=(n=o.type.contentMatch.defaultType)===null||n===void 0?void 0:n.create();c&&(t.insert(s,c),t.setSelection(H.create(t.doc,s)))}t.scrollIntoView()}return!0}).run()}},addInputRules(){return[ud(/^(?:---|—-|___\\s|\\*\\*\\*\\s)$/,this.type)]}}),Ah=/(?:^|\\s)((?:\\*)((?:[^*]+))(?:\\*))$/gm,_h=/(?:^|\\s)((?:\\*)((?:[^*]+))(?:\\*))/gm,Nh=/(?:^|\\s)((?:_)((?:[^_]+))(?:_))$/gm,Eh=/(?:^|\\s)((?:_)((?:[^_]+))(?:_))/gm,Dh=Te.create({name:\"italic\",defaultOptions:{HTMLAttributes:{}},parseHTML(){return[{tag:\"em\"},{tag:\"i\",getAttrs:e=>e.style.fontStyle!==\"normal\"&&null},{style:\"font-style=italic\"}]},renderHTML({HTMLAttributes:e}){return[\"em\",Ot(this.options.HTMLAttributes,e),0]},addCommands(){return{setItalic:()=>({commands:e})=>e.setMark(\"italic\"),toggleItalic:()=>({commands:e})=>e.toggleMark(\"italic\"),unsetItalic:()=>({commands:e})=>e.unsetMark(\"italic\")}},addKeyboardShortcuts(){return{\"Mod-i\":()=>this.editor.commands.toggleItalic()}},addInputRules(){return[qe(Ah,this.type),qe(Nh,this.type)]},addPasteRules(){return[Je(_h,this.type),Je(Eh,this.type)]}}),Ih=wt.create({name:\"listItem\",defaultOptions:{HTMLAttributes:{}},content:\"paragraph block*\",defining:!0,parseHTML(){return[{tag:\"li\"}]},renderHTML({HTMLAttributes:e}){return[\"li\",Ot(this.options.HTMLAttributes,e),0]},addKeyboardShortcuts(){return{Enter:()=>this.editor.commands.splitListItem(\"listItem\"),Tab:()=>this.editor.commands.sinkListItem(\"listItem\"),\"Shift-Tab\":()=>this.editor.commands.liftListItem(\"listItem\")}}}),Rh=/^(\\d+)\\.\\s$/,Ph=wt.create({name:\"orderedList\",defaultOptions:{HTMLAttributes:{}},group:\"block list\",content:\"listItem+\",addAttributes(){return{start:{default:1,parseHTML:e=>({start:e.hasAttribute(\"start\")?parseInt(e.getAttribute(\"start\")||\"\",10):1})}}},parseHTML(){return[{tag:\"ol\"}]},renderHTML({HTMLAttributes:e}){const n=e,{start:t}=n,r=Go(n,[\"start\"]);return t===1?[\"ol\",Ot(this.options.HTMLAttributes,r),0]:[\"ol\",Ot(this.options.HTMLAttributes,e),0]},addCommands(){return{toggleOrderedList:()=>({commands:e})=>e.toggleList(\"orderedList\",\"listItem\")}},addKeyboardShortcuts(){return{\"Mod-Shift-7\":()=>this.editor.commands.toggleOrderedList()}},addInputRules(){return[uo(Rh,this.type,e=>({start:+e[1]}),(e,t)=>t.childCount+t.attrs.start===+e[1])]}}),Bh=wt.create({name:\"paragraph\",priority:1e3,defaultOptions:{HTMLAttributes:{}},group:\"block\",content:\"inline*\",parseHTML(){return[{tag:\"p\"}]},renderHTML({HTMLAttributes:e}){return[\"p\",Ot(this.options.HTMLAttributes,e),0]},addCommands(){return{setParagraph:()=>({commands:e})=>e.setNode(\"paragraph\")}},addKeyboardShortcuts(){return{\"Mod-Alt-0\":()=>this.editor.commands.setParagraph()}}}),zh=/(?:^|\\s)((?:~~)((?:[^~]+))(?:~~))$/gm,Lh=/(?:^|\\s)((?:~~)((?:[^~]+))(?:~~))/gm,Fh=Te.create({name:\"strike\",defaultOptions:{HTMLAttributes:{}},parseHTML(){return[{tag:\"s\"},{tag:\"del\"},{tag:\"strike\"},{style:\"text-decoration\",consuming:!1,getAttrs:e=>e.includes(\"line-through\")?{}:!1}]},renderHTML({HTMLAttributes:e}){return[\"s\",Ot(this.options.HTMLAttributes,e),0]},addCommands(){return{setStrike:()=>({commands:e})=>e.setMark(\"strike\"),toggleStrike:()=>({commands:e})=>e.toggleMark(\"strike\"),unsetStrike:()=>({commands:e})=>e.unsetMark(\"strike\")}},addKeyboardShortcuts(){return{\"Mod-Shift-x\":()=>this.editor.commands.toggleStrike()}},addInputRules(){return[qe(zh,this.type)]},addPasteRules(){return[Je(Lh,this.type)]}}),Vh=wt.create({name:\"text\",group:\"inline\"}),Hh=St.create({name:\"starterKit\",addExtensions(){var e,t,r,n,o,i,s,a,c,l,u,f,p,d,h,v,g,M;const y=[];return this.options.blockquote!==!1&&y.push(Kd.configure((e=this.options)===null||e===void 0?void 0:e.blockquote)),this.options.bold!==!1&&y.push(Xd.configure((t=this.options)===null||t===void 0?void 0:t.bold)),this.options.bulletList!==!1&&y.push(Zd.configure((r=this.options)===null||r===void 0?void 0:r.bulletList)),this.options.code!==!1&&y.push(rh.configure((n=this.options)===null||n===void 0?void 0:n.code)),this.options.codeBlock!==!1&&y.push(ih.configure((o=this.options)===null||o===void 0?void 0:o.codeBlock)),this.options.document!==!1&&y.push(sh.configure((i=this.options)===null||i===void 0?void 0:i.document)),this.options.dropcursor!==!1&&y.push(ch.configure((s=this.options)===null||s===void 0?void 0:s.dropcursor)),this.options.gapcursor!==!1&&y.push(mh.configure((a=this.options)===null||a===void 0?void 0:a.gapcursor)),this.options.hardBreak!==!1&&y.push(vh.configure((c=this.options)===null||c===void 0?void 0:c.hardBreak)),this.options.heading!==!1&&y.push(gh.configure((l=this.options)===null||l===void 0?void 0:l.heading)),this.options.history!==!1&&y.push(wh.configure((u=this.options)===null||u===void 0?void 0:u.history)),this.options.horizontalRule!==!1&&y.push(Th.configure((f=this.options)===null||f===void 0?void 0:f.horizontalRule)),this.options.italic!==!1&&y.push(Dh.configure((p=this.options)===null||p===void 0?void 0:p.italic)),this.options.listItem!==!1&&y.push(Ih.configure((d=this.options)===null||d===void 0?void 0:d.listItem)),this.options.orderedList!==!1&&y.push(Ph.configure((h=this.options)===null||h===void 0?void 0:h.orderedList)),this.options.paragraph!==!1&&y.push(Bh.configure((v=this.options)===null||v===void 0?void 0:v.paragraph)),this.options.strike!==!1&&y.push(Fh.configure((g=this.options)===null||g===void 0?void 0:g.strike)),this.options.text!==!1&&y.push(Vh.configure((M=this.options)===null||M===void 0?void 0:M.text)),y}}),jh=St.create({name:\"textAlign\",addOptions(){return{types:[],alignments:[\"left\",\"center\",\"right\",\"justify\"],defaultAlignment:\"left\"}},addGlobalAttributes(){return[{types:this.options.types,attributes:{textAlign:{default:this.options.defaultAlignment,parseHTML:e=>e.style.textAlign||this.options.defaultAlignment,renderHTML:e=>e.textAlign===this.options.defaultAlignment?{}:{style:`text-align: ${e.textAlign}`}}}}]},addCommands(){return{setTextAlign:e=>({commands:t})=>this.options.alignments.includes(e)?this.options.types.every(r=>t.updateAttributes(r,{textAlign:e})):!1,unsetTextAlign:()=>({commands:e})=>this.options.types.every(t=>e.resetAttributes(t,\"textAlign\"))}},addKeyboardShortcuts(){return{\"Mod-Shift-l\":()=>this.editor.commands.setTextAlign(\"left\"),\"Mod-Shift-e\":()=>this.editor.commands.setTextAlign(\"center\"),\"Mod-Shift-r\":()=>this.editor.commands.setTextAlign(\"right\"),\"Mod-Shift-j\":()=>this.editor.commands.setTextAlign(\"justify\")}}}),qh={},Jh={viewBox:\"0 0 24 24\"},Wh=A(\"path\",{d:\"M17.194 10.962A6.271 6.271 0 0012.844.248H4.3a1.25 1.25 0 000 2.5h1.013a.25.25 0 01.25.25V21a.25.25 0 01-.25.25H4.3a1.25 1.25 0 100 2.5h9.963a6.742 6.742 0 002.93-12.786zm-4.35-8.214a3.762 3.762 0 010 7.523H8.313a.25.25 0 01-.25-.25V3a.25.25 0 01.25-.25zm1.42 18.5H8.313a.25.25 0 01-.25-.25v-7.977a.25.25 0 01.25-.25h5.951a4.239 4.239 0 010 8.477z\"},null,-1),Kh=[Wh];function $h(e,t){return gt(),Mt(\"svg\",Jh,Kh)}var Uh=At(qh,[[\"render\",$h]]);const Gh={},Yh={viewBox:\"0 0 24 24\"},Xh=A(\"path\",{d:\"M9.147 21.552a1.244 1.244 0 01-.895-.378L.84 13.561a2.257 2.257 0 010-3.125l7.412-7.613a1.25 1.25 0 011.791 1.744l-6.9 7.083a.5.5 0 000 .7l6.9 7.082a1.25 1.25 0 01-.9 2.122zm5.707 0a1.25 1.25 0 01-.9-2.122l6.9-7.083a.5.5 0 000-.7l-6.9-7.082a1.25 1.25 0 011.791-1.744l7.411 7.612a2.257 2.257 0 010 3.125l-7.412 7.614a1.244 1.244 0 01-.89.38zm6.514-9.373z\"},null,-1),Qh=[Xh];function Zh(e,t){return gt(),Mt(\"svg\",Yh,Qh)}var tm=At(Gh,[[\"render\",Zh]]);const em={},rm={viewBox:\"0 0 24 24\"},nm=A(\"path\",{d:\"M22.5.248h-7.637a1.25 1.25 0 000 2.5h1.086a.25.25 0 01.211.384L4.78 21.017a.5.5 0 01-.422.231H1.5a1.25 1.25 0 000 2.5h7.637a1.25 1.25 0 000-2.5H8.051a.25.25 0 01-.211-.384L19.22 2.98a.5.5 0 01.422-.232H22.5a1.25 1.25 0 000-2.5z\"},null,-1),om=[nm];function im(e,t){return gt(),Mt(\"svg\",rm,om)}var sm=At(em,[[\"render\",im]]);const am={},cm={viewBox:\"0 0 24 24\"},lm=A(\"path\",{d:\"M7.75 4.5h15a1 1 0 000-2h-15a1 1 0 000 2zm15 6.5h-15a1 1 0 100 2h15a1 1 0 000-2zm0 8.5h-15a1 1 0 000 2h15a1 1 0 000-2zM2.212 17.248a2 2 0 00-1.933 1.484.75.75 0 101.45.386.5.5 0 11.483.63.75.75 0 100 1.5.5.5 0 11-.482.635.75.75 0 10-1.445.4 2 2 0 103.589-1.648.251.251 0 010-.278 2 2 0 00-1.662-3.111zm2.038-6.5a2 2 0 00-4 0 .75.75 0 001.5 0 .5.5 0 011 0 1.031 1.031 0 01-.227.645L.414 14.029A.75.75 0 001 15.248h2.5a.75.75 0 000-1.5h-.419a.249.249 0 01-.195-.406L3.7 12.33a2.544 2.544 0 00.55-1.582zM4 5.248h-.25A.25.25 0 013.5 5V1.623A1.377 1.377 0 002.125.248H1.5a.75.75 0 000 1.5h.25A.25.25 0 012 2v3a.25.25 0 01-.25.25H1.5a.75.75 0 000 1.5H4a.75.75 0 000-1.5z\"},null,-1),um=[lm];function fm(e,t){return gt(),Mt(\"svg\",cm,um)}var pm=At(am,[[\"render\",fm]]);const dm={},hm={viewBox:\"0 0 24 24\"},mm=vc('<circle cx=\"2.5\" cy=\"3.998\" r=\"2.5\"></circle><path d=\"M8.5 5H23a1 1 0 000-2H8.5a1 1 0 000 2z\"></path><circle cx=\"2.5\" cy=\"11.998\" r=\"2.5\"></circle><path d=\"M23 11H8.5a1 1 0 000 2H23a1 1 0 000-2z\"></path><circle cx=\"2.5\" cy=\"19.998\" r=\"2.5\"></circle><path d=\"M23 19H8.5a1 1 0 000 2H23a1 1 0 000-2z\"></path>',6),vm=[mm];function gm(e,t){return gt(),Mt(\"svg\",hm,vm)}var ym=At(dm,[[\"render\",gm]]);const bm={},km={viewBox:\"0 0 24 24\"},Sm=A(\"path\",{d:\"M22.5.248H7.228a6.977 6.977 0 100 13.954h2.318a.25.25 0 01.25.25V22.5a1.25 1.25 0 002.5 0V3a.25.25 0 01.25-.25h3.682a.25.25 0 01.25.25v19.5a1.25 1.25 0 002.5 0V3a.249.249 0 01.25-.25H22.5a1.25 1.25 0 000-2.5zM9.8 11.452a.25.25 0 01-.25.25H7.228a4.477 4.477 0 110-8.954h2.318A.25.25 0 019.8 3z\"},null,-1),Mm=[Sm];function xm(e,t){return gt(),Mt(\"svg\",km,Mm)}var Cm=At(bm,[[\"render\",xm]]);const Om={},wm={viewBox:\"0 0 24 24\"},Tm=A(\"path\",{d:\"M18.559 3.932a4.942 4.942 0 100 9.883 4.609 4.609 0 001.115-.141.25.25 0 01.276.368 6.83 6.83 0 01-5.878 3.523 1.25 1.25 0 000 2.5 9.71 9.71 0 009.428-9.95V8.873a4.947 4.947 0 00-4.941-4.941zm-12.323 0a4.942 4.942 0 000 9.883 4.6 4.6 0 001.115-.141.25.25 0 01.277.368 6.83 6.83 0 01-5.878 3.523 1.25 1.25 0 000 2.5 9.711 9.711 0 009.428-9.95V8.873a4.947 4.947 0 00-4.942-4.941z\"},null,-1),Am=[Tm];function _m(e,t){return gt(),Mt(\"svg\",wm,Am)}var Nm=At(Om,[[\"render\",_m]]);const Em={},Dm={viewBox:\"0 0 24 24\"},Im=A(\"path\",{d:\"M23.75 12.952A1.25 1.25 0 0022.5 11.7h-8.936a.492.492 0 01-.282-.09c-.722-.513-1.482-.981-2.218-1.432-2.8-1.715-4.5-2.9-4.5-4.863 0-2.235 2.207-2.569 3.523-2.569a4.54 4.54 0 013.081.764 2.662 2.662 0 01.447 1.99v.3a1.25 1.25 0 102.5 0v-.268a4.887 4.887 0 00-1.165-3.777C13.949.741 12.359.248 10.091.248c-3.658 0-6.023 1.989-6.023 5.069 0 2.773 1.892 4.512 4 5.927a.25.25 0 01-.139.458H1.5a1.25 1.25 0 000 2.5h10.977a.251.251 0 01.159.058 4.339 4.339 0 011.932 3.466c0 3.268-3.426 3.522-4.477 3.522-1.814 0-3.139-.405-3.834-1.173a3.394 3.394 0 01-.65-2.7 1.25 1.25 0 00-2.488-.246A5.76 5.76 0 004.4 21.753c1.2 1.324 3.114 2 5.688 2 4.174 0 6.977-2.42 6.977-6.022a6.059 6.059 0 00-.849-3.147.25.25 0 01.216-.377H22.5a1.25 1.25 0 001.25-1.255z\"},null,-1),Rm=[Im];function Pm(e,t){return gt(),Mt(\"svg\",Dm,Rm)}var Bm=At(Em,[[\"render\",Pm]]);const zm={},Lm={viewBox:\"0 0 24 24\"},Fm=A(\"path\",{d:\"M17.786 3.77a12.542 12.542 0 00-12.965-.865.249.249 0 01-.292-.045L1.937.269A.507.507 0 001.392.16a.5.5 0 00-.308.462v6.7a.5.5 0 00.5.5h6.7a.5.5 0 00.354-.854L6.783 5.115a.253.253 0 01-.068-.228.249.249 0 01.152-.181 10 10 0 019.466 1.1 9.759 9.759 0 01.094 15.809 1.25 1.25 0 001.473 2.016 12.122 12.122 0 005.013-9.961 12.125 12.125 0 00-5.127-9.9z\"},null,-1),Vm=[Fm];function Hm(e,t){return gt(),Mt(\"svg\",Lm,Vm)}var jm=At(zm,[[\"render\",Hm]]);const qm={},Jm={viewBox:\"0 0 24 24\"},Wm=A(\"path\",{d:\"M22.608.161a.5.5 0 00-.545.108L19.472 2.86a.25.25 0 01-.292.045 12.537 12.537 0 00-12.966.865A12.259 12.259 0 006.1 23.632a1.25 1.25 0 001.476-2.018 9.759 9.759 0 01.091-15.809 10 10 0 019.466-1.1.25.25 0 01.084.409l-1.85 1.85a.5.5 0 00.354.853h6.7a.5.5 0 00.5-.5V.623a.5.5 0 00-.313-.462z\"},null,-1),Km=[Wm];function $m(e,t){return gt(),Mt(\"svg\",Jm,Km)}var Um=At(qm,[[\"render\",$m]]);const Gm={},Ym={viewBox:\"0 0 24 24\"},Xm=A(\"path\",{d:\"M9.147 21.552a1.244 1.244 0 01-.895-.378L.84 13.561a2.257 2.257 0 010-3.125l7.412-7.613a1.25 1.25 0 011.791 1.744l-6.9 7.083a.5.5 0 000 .7l6.9 7.082a1.25 1.25 0 01-.9 2.122zm5.707 0a1.25 1.25 0 01-.9-2.122l6.9-7.083a.5.5 0 000-.7l-6.9-7.082a1.25 1.25 0 011.791-1.744l7.411 7.612a2.257 2.257 0 010 3.125l-7.412 7.614a1.244 1.244 0 01-.89.38zm6.514-9.373z\"},null,-1),Qm=[Xm];function Zm(e,t){return gt(),Mt(\"svg\",Ym,Qm)}var tv=At(Gm,[[\"render\",Zm]]);const ev={},rv={viewBox:\"0 0 24 24\"},nv=A(\"path\",{fill:\"currentColor\",\"fill-rule\":\"evenodd\",d:\"M3.75 5.25h16.5a.75.75 0 1 1 0 1.5H3.75a.75.75 0 0 1 0-1.5zm4 4h8.5a.75.75 0 1 1 0 1.5h-8.5a.75.75 0 1 1 0-1.5zm-4 4h16.5a.75.75 0 1 1 0 1.5H3.75a.75.75 0 1 1 0-1.5zm4 4h8.5a.75.75 0 1 1 0 1.5h-8.5a.75.75 0 1 1 0-1.5z\"},null,-1),ov=[nv];function iv(e,t){return gt(),Mt(\"svg\",rv,ov)}var sv=At(ev,[[\"render\",iv]]);const av={components:{EditorContent:qd,BoldIcon:Uh,CodingIcon:tm,ItalicIcon:sm,ListIcon:pm,ListUlIcon:ym,ParagraphIcon:Cm,QuoteIcon:Nm,StrikethroughIcon:Bm,UndoIcon:jm,RedoIcon:Um,CodeBlockIcon:tv,DotsVerticalIcon:gc,MenuCenterIcon:sv,MenuAlt2Icon:yc,MenuAlt3Icon:bc,MenuIcon:kc},props:{modelValue:{type:String,default:\"\"},contentLoading:{type:Boolean,default:!1}},emits:[\"update:modelValue\"],setup(e,{emit:t}){const r=Jd({content:e.modelValue,extensions:[Hh,jh.configure({types:[\"heading\",\"paragraph\"],alignments:[\"left\",\"right\",\"center\",\"justify\"]})],onUpdate:()=>{t(\"update:modelValue\",r.value.getHTML())}});return Sc(()=>e.modelValue,n=>{r.value.getHTML()!==n&&r.value.commands.setContent(e.modelValue,!1)}),Mc(()=>{setTimeout(()=>{r.value.destroy()},500)}),{editor:r}}},cv={key:1,class:\"box-border w-full text-sm leading-8 text-left bg-white border border-gray-200 rounded-md min-h-[200px] overflow-hidden\"},lv={key:0,class:\"editor-content\"},uv={class:\"flex justify-end p-2 border-b border-gray-200 md:hidden\"},fv={class:\"flex items-center justify-center w-6 h-6 ml-2 text-sm text-black bg-white rounded-sm md:h-9 md:w-9\"},pv={class:\"flex flex-wrap space-x-1\"},dv={class:\"hidden p-2 border-b border-gray-200 md:flex\"},hv={class:\"flex flex-wrap space-x-1\"};function mv(e,t,r,n,o,i){const s=Q(\"BaseContentPlaceholdersBox\"),a=Q(\"BaseContentPlaceholders\"),c=Q(\"dots-vertical-icon\"),l=Q(\"bold-icon\"),u=Q(\"italic-icon\"),f=Q(\"strikethrough-icon\"),p=Q(\"coding-icon\"),d=Q(\"paragraph-icon\"),h=Q(\"list-ul-icon\"),v=Q(\"list-icon\"),g=Q(\"quote-icon\"),M=Q(\"code-block-icon\"),y=Q(\"undo-icon\"),R=Q(\"redo-icon\"),m=Q(\"BaseDropdown\"),I=Q(\"menu-alt2-icon\"),O=Q(\"menu-alt3-icon\"),F=Q(\"menu-icon\"),J=Q(\"menu-center-icon\"),U=Q(\"editor-content\");return r.contentLoading?(gt(),xc(a,{key:0},{default:an(()=>[V(s,{rounded:!0,class:\"w-full\",style:{height:\"200px\"}})]),_:1})):(gt(),Mt(\"div\",cv,[n.editor?(gt(),Mt(\"div\",lv,[A(\"div\",uv,[V(m,{\"width-class\":\"w-48\"},{activator:an(()=>[A(\"div\",fv,[V(c,{class:\"w-6 h-6 text-gray-600\"})])]),default:an(()=>[A(\"div\",pv,[A(\"span\",{class:L([\"flex items-center justify-center w-6 h-6 rounded-sm cursor-pointer hover:bg-gray-100\",{\"bg-gray-200\":n.editor.isActive(\"bold\")}]),onClick:t[0]||(t[0]=T=>n.editor.chain().focus().toggleBold().run())},[V(l,{class:\"h-3 cursor-pointer fill-current\"})],2),A(\"span\",{class:L([\"flex items-center justify-center w-6 h-6 rounded-sm cursor-pointer hover:bg-gray-100\",{\"bg-gray-200\":n.editor.isActive(\"italic\")}]),onClick:t[1]||(t[1]=T=>n.editor.chain().focus().toggleItalic().run())},[V(u,{class:\"h-3 cursor-pointer fill-current\"})],2),A(\"span\",{class:L([\"flex items-center justify-center w-6 h-6 rounded-sm cursor-pointer hover:bg-gray-100\",{\"bg-gray-200\":n.editor.isActive(\"strike\")}]),onClick:t[2]||(t[2]=T=>n.editor.chain().focus().toggleStrike().run())},[V(f,{class:\"h-3 cursor-pointer fill-current\"})],2),A(\"span\",{class:L([\"flex items-center justify-center w-6 h-6 rounded-sm cursor-pointer hover:bg-gray-100\",{\"bg-gray-200\":n.editor.isActive(\"code\")}]),onClick:t[3]||(t[3]=T=>n.editor.chain().focus().toggleCode().run())},[V(p,{class:\"h-3 cursor-pointer fill-current\"})],2),A(\"span\",{class:L([\"flex items-center justify-center w-6 h-6 rounded-sm cursor-pointer hover:bg-gray-100\",{\"bg-gray-200\":n.editor.isActive(\"paragraph\")}]),onClick:t[4]||(t[4]=T=>n.editor.chain().focus().setParagraph().run())},[V(d,{class:\"h-3 cursor-pointer fill-current\"})],2),A(\"span\",{class:L([\"flex items-center justify-center w-6 h-6 rounded-sm cursor-pointer hover:bg-gray-100\",{\"bg-gray-200\":n.editor.isActive(\"heading\",{level:1})}]),onClick:t[5]||(t[5]=T=>n.editor.chain().focus().toggleHeading({level:1}).run())},\" H1 \",2),A(\"span\",{class:L([\"flex items-center justify-center w-6 h-6 rounded-sm cursor-pointer hover:bg-gray-100\",{\"bg-gray-200\":n.editor.isActive(\"heading\",{level:2})}]),onClick:t[6]||(t[6]=T=>n.editor.chain().focus().toggleHeading({level:2}).run())},\" H2 \",2),A(\"span\",{class:L([\"flex items-center justify-center w-6 h-6 rounded-sm cursor-pointer hover:bg-gray-100\",{\"bg-gray-200\":n.editor.isActive(\"heading\",{level:3})}]),onClick:t[7]||(t[7]=T=>n.editor.chain().focus().toggleHeading({level:3}).run())},\" H3 \",2),A(\"span\",{class:L([\"flex items-center justify-center w-6 h-6 rounded-sm cursor-pointer hover:bg-gray-100\",{\"bg-gray-200\":n.editor.isActive(\"bulletList\")}]),onClick:t[8]||(t[8]=T=>n.editor.chain().focus().toggleBulletList().run())},[V(h,{class:\"h-3 cursor-pointer fill-current\"})],2),A(\"span\",{class:L([\"flex items-center justify-center w-6 h-6 rounded-sm cursor-pointer hover:bg-gray-100\",{\"bg-gray-200\":n.editor.isActive(\"orderedList\")}]),onClick:t[9]||(t[9]=T=>n.editor.chain().focus().toggleOrderedList().run())},[V(v,{class:\"h-3 cursor-pointer fill-current\"})],2),A(\"span\",{class:L([\"flex items-center justify-center w-6 h-6 rounded-sm cursor-pointer hover:bg-gray-100\",{\"bg-gray-200\":n.editor.isActive(\"blockquote\")}]),onClick:t[10]||(t[10]=T=>n.editor.chain().focus().toggleBlockquote().run())},[V(g,{class:\"h-3 cursor-pointer fill-current\"})],2),A(\"span\",{class:L([\"flex items-center justify-center w-6 h-6 rounded-sm cursor-pointer hover:bg-gray-100\",{\"bg-gray-200\":n.editor.isActive(\"codeBlock\")}]),onClick:t[11]||(t[11]=T=>n.editor.chain().focus().toggleCodeBlock().run())},[V(M,{class:\"h-3 cursor-pointer fill-current\"})],2),A(\"span\",{class:L([\"flex items-center justify-center w-6 h-6 rounded-sm cursor-pointer hover:bg-gray-100\",{\"bg-gray-200\":n.editor.isActive(\"undo\")}]),onClick:t[12]||(t[12]=T=>n.editor.chain().focus().undo().run())},[V(y,{class:\"h-3 cursor-pointer fill-current\"})],2),A(\"span\",{class:L([\"flex items-center justify-center w-6 h-6 rounded-sm cursor-pointer hover:bg-gray-100\",{\"bg-gray-200\":n.editor.isActive(\"redo\")}]),onClick:t[13]||(t[13]=T=>n.editor.chain().focus().redo().run())},[V(R,{class:\"h-3 cursor-pointer fill-current\"})],2)])]),_:1})]),A(\"div\",dv,[A(\"div\",hv,[A(\"span\",{class:L([\"flex items-center justify-center w-6 h-6 rounded-sm cursor-pointer hover:bg-gray-100\",{\"bg-gray-200\":n.editor.isActive(\"bold\")}]),onClick:t[14]||(t[14]=T=>n.editor.chain().focus().toggleBold().run())},[V(l,{class:\"h-3 cursor-pointer fill-current\"})],2),A(\"span\",{class:L([\"flex items-center justify-center w-6 h-6 rounded-sm cursor-pointer hover:bg-gray-100\",{\"bg-gray-200\":n.editor.isActive(\"italic\")}]),onClick:t[15]||(t[15]=T=>n.editor.chain().focus().toggleItalic().run())},[V(u,{class:\"h-3 cursor-pointer fill-current\"})],2),A(\"span\",{class:L([\"flex items-center justify-center w-6 h-6 rounded-sm cursor-pointer hover:bg-gray-100\",{\"bg-gray-200\":n.editor.isActive(\"strike\")}]),onClick:t[16]||(t[16]=T=>n.editor.chain().focus().toggleStrike().run())},[V(f,{class:\"h-3 cursor-pointer fill-current\"})],2),A(\"span\",{class:L([\"flex items-center justify-center w-6 h-6 rounded-sm cursor-pointer hover:bg-gray-100\",{\"bg-gray-200\":n.editor.isActive(\"code\")}]),onClick:t[17]||(t[17]=T=>n.editor.chain().focus().toggleCode().run())},[V(p,{class:\"h-3 cursor-pointer fill-current\"})],2),A(\"span\",{class:L([\"flex items-center justify-center w-6 h-6 rounded-sm cursor-pointer hover:bg-gray-100\",{\"bg-gray-200\":n.editor.isActive(\"paragraph\")}]),onClick:t[18]||(t[18]=T=>n.editor.chain().focus().setParagraph().run())},[V(d,{class:\"h-3 cursor-pointer fill-current\"})],2),A(\"span\",{class:L([\"flex items-center justify-center w-6 h-6 rounded-sm cursor-pointer hover:bg-gray-100\",{\"bg-gray-200\":n.editor.isActive(\"heading\",{level:1})}]),onClick:t[19]||(t[19]=T=>n.editor.chain().focus().toggleHeading({level:1}).run())},\" H1 \",2),A(\"span\",{class:L([\"flex items-center justify-center w-6 h-6 rounded-sm cursor-pointer hover:bg-gray-100\",{\"bg-gray-200\":n.editor.isActive(\"heading\",{level:2})}]),onClick:t[20]||(t[20]=T=>n.editor.chain().focus().toggleHeading({level:2}).run())},\" H2 \",2),A(\"span\",{class:L([\"flex items-center justify-center w-6 h-6 rounded-sm cursor-pointer hover:bg-gray-100\",{\"bg-gray-200\":n.editor.isActive(\"heading\",{level:3})}]),onClick:t[21]||(t[21]=T=>n.editor.chain().focus().toggleHeading({level:3}).run())},\" H3 \",2),A(\"span\",{class:L([\"flex items-center justify-center w-6 h-6 rounded-sm cursor-pointer hover:bg-gray-100\",{\"bg-gray-200\":n.editor.isActive(\"bulletList\")}]),onClick:t[22]||(t[22]=T=>n.editor.chain().focus().toggleBulletList().run())},[V(h,{class:\"h-3 cursor-pointer fill-current\"})],2),A(\"span\",{class:L([\"flex items-center justify-center w-6 h-6 rounded-sm cursor-pointer hover:bg-gray-100\",{\"bg-gray-200\":n.editor.isActive(\"orderedList\")}]),onClick:t[23]||(t[23]=T=>n.editor.chain().focus().toggleOrderedList().run())},[V(v,{class:\"h-3 cursor-pointer fill-current\"})],2),A(\"span\",{class:L([\"flex items-center justify-center w-6 h-6 rounded-sm cursor-pointer hover:bg-gray-100\",{\"bg-gray-200\":n.editor.isActive(\"blockquote\")}]),onClick:t[24]||(t[24]=T=>n.editor.chain().focus().toggleBlockquote().run())},[V(g,{class:\"h-3 cursor-pointer fill-current\"})],2),A(\"span\",{class:L([\"flex items-center justify-center w-6 h-6 rounded-sm cursor-pointer hover:bg-gray-100\",{\"bg-gray-200\":n.editor.isActive(\"codeBlock\")}]),onClick:t[25]||(t[25]=T=>n.editor.chain().focus().toggleCodeBlock().run())},[V(M,{class:\"h-3 cursor-pointer fill-current\"})],2),A(\"span\",{class:L([\"flex items-center justify-center w-6 h-6 rounded-sm cursor-pointer hover:bg-gray-100\",{\"bg-gray-200\":n.editor.isActive(\"undo\")}]),onClick:t[26]||(t[26]=T=>n.editor.chain().focus().undo().run())},[V(y,{class:\"h-3 cursor-pointer fill-current\"})],2),A(\"span\",{class:L([\"flex items-center justify-center w-6 h-6 rounded-sm cursor-pointer hover:bg-gray-100\",{\"bg-gray-200\":n.editor.isActive(\"redo\")}]),onClick:t[27]||(t[27]=T=>n.editor.chain().focus().redo().run())},[V(R,{class:\"h-3 cursor-pointer fill-current\"})],2),A(\"span\",{class:L([\"flex items-center justify-center w-6 h-6 rounded-sm cursor-pointer hover:bg-gray-100\",{\"bg-gray-200\":n.editor.isActive({textAlign:\"left\"})}]),onClick:t[28]||(t[28]=T=>n.editor.chain().focus().setTextAlign(\"left\").run())},[V(I,{class:\"h-5 cursor-pointer fill-current\"})],2),A(\"span\",{class:L([\"flex items-center justify-center w-6 h-6 rounded-sm cursor-pointer hover:bg-gray-100\",{\"bg-gray-200\":n.editor.isActive({textAlign:\"right\"})}]),onClick:t[29]||(t[29]=T=>n.editor.chain().focus().setTextAlign(\"right\").run())},[V(O,{class:\"h-5 cursor-pointer fill-current\"})],2),A(\"span\",{class:L([\"flex items-center justify-center w-6 h-6 rounded-sm cursor-pointer hover:bg-gray-100\",{\"bg-gray-200\":n.editor.isActive({textAlign:\"justify\"})}]),onClick:t[30]||(t[30]=T=>n.editor.chain().focus().setTextAlign(\"justify\").run())},[V(F,{class:\"h-5 cursor-pointer fill-current\"})],2),A(\"span\",{class:L([\"flex items-center justify-center w-6 h-6 rounded-sm cursor-pointer hover:bg-gray-100\",{\"bg-gray-200\":n.editor.isActive({textAlign:\"center\"})}]),onClick:t[31]||(t[31]=T=>n.editor.chain().focus().setTextAlign(\"center\").run())},[V(J,{class:\"h-5 cursor-pointer fill-current\"})],2)])]),V(U,{editor:n.editor,class:\"box-border relative w-full text-sm leading-8 text-left editor__content\"},null,8,[\"editor\"])])):Cc(\"\",!0)]))}var bv=At(av,[[\"render\",mv]]);export{bv as default};\n"
  },
  {
    "path": "public/build/assets/BaseListItem.3b6ffe7a.js",
    "content": "import{_ as o}from\"./main.465728e1.js\";import{o as n,e as i,g as l,k as c,r as d,l as m,w as _,j as f,h as $,t as h,s as B}from\"./vendor.d12b5734.js\";const k={name:\"List\"},v={class:\"list-none\"};function x(e,r,t,s,a,p){return n(),i(\"div\",v,[l(e.$slots,\"default\")])}var L=o(k,[[\"render\",x]]);const y={name:\"ListItem\",props:{title:{type:String,required:!1,default:\"\"},active:{type:Boolean,required:!0},index:{type:Number,default:null}},setup(e,{slots:r}){const t=\"cursor-pointer pb-2 pr-0 text-sm font-medium leading-5  flex items-center\";let s=c(()=>!!r.icon),a=c(()=>e.active?`${t} text-primary-500`:`${t} text-gray-500`);return{hasIconSlot:s,containerClass:a}}},g={key:0,class:\"mr-3\"};function C(e,r,t,s,a,p){const u=d(\"router-link\");return n(),m(u,B(e.$attrs,{class:s.containerClass}),{default:_(()=>[s.hasIconSlot?(n(),i(\"span\",g,[l(e.$slots,\"icon\")])):f(\"\",!0),$(\"span\",null,h(t.title),1)]),_:3},16,[\"class\"])}var b=o(y,[[\"render\",C]]);export{b as B,L as a};\n"
  },
  {
    "path": "public/build/assets/BaseMultiselect.2950bd7a.js",
    "content": "var Xe=Object.defineProperty,Ye=Object.defineProperties;var Ze=Object.getOwnPropertyDescriptors;var Be=Object.getOwnPropertySymbols;var $e=Object.prototype.hasOwnProperty,_e=Object.prototype.propertyIsEnumerable;var qe=(e,n,a)=>n in e?Xe(e,n,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[n]=a,G=(e,n)=>{for(var a in n||(n={}))$e.call(n,a)&&qe(e,a,n[a]);if(Be)for(var a of Be(n))_e.call(n,a)&&qe(e,a,n[a]);return e},Ce=(e,n)=>Ye(e,Ze(n));import{bd as x,B as N,k as w,C as re,be as Te,r as De,o as I,l as el,w as ll,f as al,e as B,m as O,U as ve,j as E,F as ae,y as se,g as T,i as tl,t as J,h as P}from\"./vendor.d12b5734.js\";import{_ as nl}from\"./main.465728e1.js\";function F(e){return[null,void 0,!1].indexOf(e)!==-1}function rl(e,n,a){const{object:i,valueProp:o,mode:v}=x(e),f=a.iv,g=p=>{f.value=c(p);const b=t(p);n.emit(\"change\",b),n.emit(\"input\",b),n.emit(\"update:modelValue\",b)},t=p=>i.value||F(p)?p:Array.isArray(p)?p.map(b=>b[o.value]):p[o.value],c=p=>F(p)?v.value===\"single\"?{}:[]:p;return{update:g}}function sl(e,n){const{value:a,modelValue:i,mode:o,valueProp:v}=x(e),f=N(o.value!==\"single\"?[]:{}),g=n.expose!==void 0?i:a,t=w(()=>o.value===\"single\"?f.value[v.value]:f.value.map(p=>p[v.value])),c=w(()=>o.value!==\"single\"?f.value.map(p=>p[v.value]).join(\",\"):f.value[v.value]);return{iv:f,internalValue:f,ev:g,externalValue:g,textValue:c,plainValue:t}}function ul(e,n,a){const{preserveSearch:i}=x(e),o=N(e.initialSearch)||N(null),v=N(null),f=()=>{i.value||(o.value=\"\")},g=c=>{o.value=c.target.value},t=c=>{n.emit(\"paste\",c)};return re(o,c=>{n.emit(\"search-change\",c)}),{search:o,input:v,clearSearch:f,handleSearchInput:g,handlePaste:t}}function ol(e,n,a){const{groupSelect:i,mode:o,groups:v}=x(e),f=N(null),g=c=>{c===void 0||c!==null&&c.disabled||v.value&&c&&c.group&&(o.value===\"single\"||!i.value)||(f.value=c)};return{pointer:f,setPointer:g,clearPointer:()=>{g(null)}}}function Ee(e,n=!0){return n?String(e).toLowerCase().trim():String(e).normalize(\"NFD\").replace(/\\p{Diacritic}/gu,\"\").toLowerCase().trim()}function il(e){return Object.prototype.toString.call(e)===\"[object Object]\"}function cl(e,n){const a=n.slice().sort();return e.length===n.length&&e.slice().sort().every(function(i,o){return i===a[o]})}function dl(e,n,a){const{options:i,mode:o,trackBy:v,limit:f,hideSelected:g,createTag:t,label:c,appendNewTag:p,multipleLabel:b,object:q,loading:V,delay:D,resolveOnLoad:m,minChars:s,filterResults:A,clearOnSearch:Z,clearOnSelect:k,valueProp:d,canDeselect:j,max:L,strict:Q,closeOnSelect:X,groups:$,groupLabel:ue,groupOptions:M,groupHideEmpty:pe,groupSelect:fe}=x(e),S=a.iv,z=a.ev,C=a.search,_=a.clearSearch,ee=a.update,ge=a.pointer,oe=a.clearPointer,W=a.blur,te=a.deactivate,r=N([]),h=N([]),R=N(!1),H=w(()=>{if($.value){let l=h.value||[],u=[];return l.forEach(y=>{ke(y[M.value]).forEach(U=>{u.push(Object.assign({},U,y.disabled?{disabled:!0}:{}))})}),u}else{let l=ke(h.value||[]);return r.value.length&&(l=l.concat(r.value)),l}}),Oe=w(()=>$.value?Ue((h.value||[]).map(l=>{const u=ke(l[M.value]);return Ce(G({},l),{group:!0,[M.value]:Se(u,!1).map(y=>Object.assign({},y,l.disabled?{disabled:!0}:{})),__VISIBLE__:Se(u).map(y=>Object.assign({},y,l.disabled?{disabled:!0}:{}))})})):[]),ie=w(()=>{let l=H.value;return me.value.length&&(l=me.value.concat(l)),l=Se(l),f.value>0&&(l=l.slice(0,f.value)),l}),be=w(()=>{switch(o.value){case\"single\":return!F(S.value[d.value]);case\"multiple\":case\"tags\":return!F(S.value)&&S.value.length>0}}),Ve=w(()=>b!==void 0&&b.value!==void 0?b.value(S.value):S.value&&S.value.length>1?`${S.value.length} options selected`:\"1 option selected\"),je=w(()=>!H.value.length&&!R.value&&!me.value.length),Re=w(()=>H.value.length>0&&ie.value.length==0&&(C.value&&$.value||!$.value)),me=w(()=>t.value===!1||!C.value?[]:ze(C.value)!==-1?[]:[{[d.value]:C.value,[c.value]:C.value,[v.value]:C.value}]),Ge=w(()=>{switch(o.value){case\"single\":return null;case\"multiple\":case\"tags\":return[]}}),Ae=w(()=>V.value||R.value),ne=l=>{switch(typeof l!=\"object\"&&(l=K(l)),o.value){case\"single\":ee(l);break;case\"multiple\":case\"tags\":ee(S.value.concat(l));break}n.emit(\"select\",Le(l),l)},le=l=>{switch(typeof l!=\"object\"&&(l=K(l)),o.value){case\"single\":Ie();break;case\"tags\":case\"multiple\":ee(Array.isArray(l)?S.value.filter(u=>l.map(y=>y[d.value]).indexOf(u[d.value])===-1):S.value.filter(u=>u[d.value]!=l[d.value]));break}n.emit(\"deselect\",Le(l),l)},Le=l=>q.value?l:l[d.value],Pe=l=>{le(l)},Me=(l,u)=>{if(u.button!==0){u.preventDefault();return}Pe(l)},Ie=()=>{n.emit(\"clear\"),ee(Ge.value)},Y=l=>{if(l.group!==void 0)return o.value===\"single\"?!1:Fe(l[M.value])&&l[M.value].length;switch(o.value){case\"single\":return!F(S.value)&&S.value[d.value]==l[d.value];case\"tags\":case\"multiple\":return!F(S.value)&&S.value.map(u=>u[d.value]).indexOf(l[d.value])!==-1}},he=l=>l.disabled===!0,ye=()=>L===void 0||L.value===-1||!be.value&&L.value>0?!1:S.value.length>=L.value,Ne=l=>{if(!he(l)){switch(o.value){case\"single\":if(Y(l)){j.value&&le(l);return}W(),ne(l);break;case\"multiple\":if(Y(l)){le(l);return}if(ye())return;ne(l),k.value&&_(),g.value&&oe(),X.value&&W();break;case\"tags\":if(Y(l)){le(l);return}if(ye())return;K(l[d.value])===void 0&&t.value&&(n.emit(\"tag\",l[d.value]),p.value&&We(l),_()),k.value&&_(),ne(l),g.value&&oe(),X.value&&W();break}X.value&&te()}},He=l=>{if(!(he(l)||o.value===\"single\"||!fe.value)){switch(o.value){case\"multiple\":case\"tags\":xe(l[M.value])?le(l[M.value]):ne(l[M.value].filter(u=>S.value.map(y=>y[d.value]).indexOf(u[d.value])===-1).filter(u=>!u.disabled).filter((u,y)=>S.value.length+1+y<=L.value||L.value===-1));break}X.value&&te()}},xe=l=>l.find(u=>!Y(u)&&!u.disabled)===void 0,Fe=l=>l.find(u=>!Y(u))===void 0,K=l=>H.value[H.value.map(u=>String(u[d.value])).indexOf(String(l))],ze=(l,u=!0)=>H.value.map(y=>y[v.value]).indexOf(l),Ke=l=>[\"tags\",\"multiple\"].indexOf(o.value)!==-1&&g.value&&Y(l),We=l=>{r.value.push(l)},Ue=l=>pe.value?l.filter(u=>C.value?u.__VISIBLE__.length:u[M.value].length):l.filter(u=>C.value?u.__VISIBLE__.length:!0),Se=(l,u=!0)=>{let y=l;return C.value&&A.value&&(y=y.filter(U=>Ee(U[v.value],Q.value).indexOf(Ee(C.value,Q.value))!==-1)),g.value&&u&&(y=y.filter(U=>!Ke(U))),y},ke=l=>{let u=l;return il(u)&&(u=Object.keys(u).map(y=>{let U=u[y];return{[d.value]:y,[v.value]:U,[c.value]:U}})),u=u.map(y=>typeof y==\"object\"?y:{[d.value]:y,[v.value]:y,[c.value]:y}),u},ce=()=>{F(z.value)||(S.value=de(z.value))},we=l=>{R.value=!0,i.value(C.value).then(u=>{h.value=u,typeof l==\"function\"&&l(u),R.value=!1})},Je=()=>{if(!!be.value)if(o.value===\"single\"){let l=K(S.value[d.value])[c.value];S.value[c.value]=l,q.value&&(z.value[c.value]=l)}else S.value.forEach((l,u)=>{let y=K(S.value[u][d.value])[c.value];S.value[u][c.value]=y,q.value&&(z.value[u][c.value]=y)})},Qe=l=>{we(l)},de=l=>F(l)?o.value===\"single\"?{}:[]:q.value?l:o.value===\"single\"?K(l)||{}:l.filter(u=>!!K(u)).map(u=>K(u));if(o.value!==\"single\"&&!F(z.value)&&!Array.isArray(z.value))throw new Error(`v-model must be an array when using \"${o.value}\" mode`);return i&&typeof i.value==\"function\"?m.value?we(ce):q.value==!0&&ce():(h.value=i.value,ce()),D.value>-1&&re(C,l=>{l.length<s.value||(R.value=!0,Z.value&&(h.value=[]),setTimeout(()=>{l==C.value&&i.value(C.value).then(u=>{l==C.value&&(h.value=u,ge.value=ie.value.filter(y=>y.disabled!==!0)[0]||null,R.value=!1)})},D.value))},{flush:\"sync\"}),re(z,l=>{if(F(l)){S.value=de(l);return}switch(o.value){case\"single\":(q.value?l[d.value]!=S.value[d.value]:l!=S.value[d.value])&&(S.value=de(l));break;case\"multiple\":case\"tags\":cl(q.value?l.map(u=>u[d.value]):l,S.value.map(u=>u[d.value]))||(S.value=de(l));break}},{deep:!0}),typeof e.options!=\"function\"&&re(i,(l,u)=>{h.value=e.options,Object.keys(S.value).length||ce(),Je()}),{fo:ie,filteredOptions:ie,hasSelected:be,multipleLabelText:Ve,eo:H,extendedOptions:H,fg:Oe,filteredGroups:Oe,noOptions:je,noResults:Re,resolving:R,busy:Ae,select:ne,deselect:le,remove:Pe,clear:Ie,isSelected:Y,isDisabled:he,isMax:ye,getOption:K,handleOptionClick:Ne,handleGroupClick:He,handleTagRemove:Me,refreshOptions:Qe,resolveOptions:we}}function vl(e,n,a){const{valueProp:i,showOptions:o,searchable:v,groupLabel:f,groups:g,mode:t,groupSelect:c}=x(e),p=a.fo,b=a.fg,q=a.handleOptionClick,V=a.handleGroupClick,D=a.search,m=a.pointer,s=a.setPointer,A=a.clearPointer,Z=a.multiselect,k=w(()=>p.value.filter(r=>!r.disabled)),d=w(()=>b.value.filter(r=>!r.disabled)),j=w(()=>t.value!==\"single\"&&c.value),L=w(()=>m.value&&m.value.group),Q=w(()=>W(m.value)),X=w(()=>{const r=L.value?m.value:W(m.value),h=d.value.map(H=>H[f.value]).indexOf(r[f.value]);let R=d.value[h-1];return R===void 0&&(R=ue.value),R}),$=w(()=>{let r=d.value.map(h=>h.label).indexOf(L.value?m.value[f.value]:W(m.value)[f.value])+1;return d.value.length<=r&&(r=0),d.value[r]}),ue=w(()=>[...d.value].slice(-1)[0]),M=w(()=>m.value.__VISIBLE__.filter(r=>!r.disabled)[0]),pe=w(()=>{const r=Q.value.__VISIBLE__.filter(h=>!h.disabled);return r[r.map(h=>h[i.value]).indexOf(m.value[i.value])-1]}),fe=w(()=>{const r=W(m.value).__VISIBLE__.filter(h=>!h.disabled);return r[r.map(h=>h[i.value]).indexOf(m.value[i.value])+1]}),S=w(()=>[...X.value.__VISIBLE__.filter(r=>!r.disabled)].slice(-1)[0]),z=w(()=>[...ue.value.__VISIBLE__.filter(r=>!r.disabled)].slice(-1)[0]),C=r=>{if(!!m.value)return r.group?m.value[f.value]==r[f.value]:m.value[i.value]==r[i.value]},_=()=>{s(k.value[0]||null)},ee=()=>{!m.value||m.value.disabled===!0||(L.value?V(m.value):q(m.value))},ge=()=>{if(m.value===null)s((g.value&&j.value?d.value[0]:k.value[0])||null);else if(g.value&&j.value){let r=L.value?M.value:fe.value;r===void 0&&(r=$.value),s(r||null)}else{let r=k.value.map(h=>h[i.value]).indexOf(m.value[i.value])+1;k.value.length<=r&&(r=0),s(k.value[r]||null)}Te(()=>{te()})},oe=()=>{if(m.value===null){let r=k.value[k.value.length-1];g.value&&j.value&&(r=z.value,r===void 0&&(r=ue.value)),s(r||null)}else if(g.value&&j.value){let r=L.value?S.value:pe.value;r===void 0&&(r=L.value?X.value:Q.value),s(r||null)}else{let r=k.value.map(h=>h[i.value]).indexOf(m.value[i.value])-1;r<0&&(r=k.value.length-1),s(k.value[r]||null)}Te(()=>{te()})},W=r=>d.value.find(h=>h.__VISIBLE__.map(R=>R[i.value]).indexOf(r[i.value])!==-1),te=()=>{let r=Z.value.querySelector(\"[data-pointed]\");if(!r)return;let h=r.parentElement.parentElement;g.value&&(h=L.value?r.parentElement.parentElement.parentElement:r.parentElement.parentElement.parentElement.parentElement),r.offsetTop+r.offsetHeight>h.clientHeight+h.scrollTop&&(h.scrollTop=r.offsetTop+r.offsetHeight-h.clientHeight),r.offsetTop<h.scrollTop&&(h.scrollTop=r.offsetTop)};return re(D,r=>{v.value&&(r.length&&o.value?_():A())}),{pointer:m,canPointGroups:j,isPointed:C,setPointerFirst:_,selectPointer:ee,forwardPointer:ge,backwardPointer:oe}}function pl(e,n,a){const{disabled:i}=x(e),o=N(!1);return{isOpen:o,open:()=>{o.value||i.value||(o.value=!0,n.emit(\"open\"))},close:()=>{!o.value||(o.value=!1,n.emit(\"close\"))}}}function fl(e,n,a){const{searchable:i,disabled:o}=x(e),v=a.input,f=a.open,g=a.close,t=a.clearSearch,c=N(null),p=N(!1),b=w(()=>i.value||o.value?-1:0),q=()=>{i.value&&v.value.blur(),c.value.blur()},V=()=>{i.value&&!o.value&&v.value.focus()},D=()=>{o.value||(p.value=!0,f())},m=()=>{p.value=!1,setTimeout(()=>{p.value||(g(),t())},1)};return{multiselect:c,tabindex:b,isActive:p,blur:q,handleFocus:V,activate:D,deactivate:m,handleCaretClick:()=>{p.value?(m(),q()):D()}}}function gl(e,n,a){const{mode:i,addTagOn:o,createTag:v,openDirection:f,searchable:g,showOptions:t,valueProp:c,groups:p}=x(e),b=a.iv,q=a.update,V=a.search,D=a.setPointer,m=a.selectPointer,s=a.backwardPointer,A=a.forwardPointer,Z=a.blur,k=a.fo,d=()=>{i.value===\"tags\"&&!t.value&&v.value&&g.value&&!p.value&&D(k.value[k.value.map(L=>L[c.value]).indexOf(V.value)])};return{handleKeydown:L=>{switch(L.keyCode){case 8:if(i.value===\"single\"||g.value&&[null,\"\"].indexOf(V.value)===-1||b.value.length===0)return;q([...b.value].slice(0,-1));break;case 13:if(L.preventDefault(),i.value===\"tags\"&&o.value.indexOf(\"enter\")===-1&&v.value)return;d(),m();break;case 32:if(g.value&&i.value!==\"tags\"&&!v.value||i.value===\"tags\"&&(o.value.indexOf(\"space\")===-1&&v.value||!v.value))return;L.preventDefault(),d(),m();break;case 9:case 186:case 188:if(i.value!==\"tags\")return;const Q={9:\"tab\",186:\";\",188:\",\"};if(o.value.indexOf(Q[L.keyCode])===-1||!v.value)return;d(),m(),L.preventDefault();break;case 27:Z();break;case 38:if(L.preventDefault(),!t.value)return;f.value===\"top\"?A():s();break;case 40:if(L.preventDefault(),!t.value)return;f.value===\"top\"?s():A();break}},preparePointer:d}}function bl(e,n,a){const i=x(e),{disabled:o,openDirection:v,showOptions:f,invalid:g}=i,t=a.isOpen,c=a.isPointed,p=a.isSelected,b=a.isDisabled,q=a.isActive,V=a.canPointGroups,D=a.resolving,m=a.fo,s=G({container:\"multiselect\",containerDisabled:\"is-disabled\",containerOpen:\"is-open\",containerOpenTop:\"is-open-top\",containerActive:\"is-active\",containerInvalid:\"is-invalid\",containerInvalidActive:\"is-invalid-active\",singleLabel:\"multiselect-single-label\",multipleLabel:\"multiselect-multiple-label\",search:\"multiselect-search\",tags:\"multiselect-tags\",tag:\"multiselect-tag\",tagDisabled:\"is-disabled\",tagRemove:\"multiselect-tag-remove\",tagRemoveIcon:\"multiselect-tag-remove-icon\",tagsSearchWrapper:\"multiselect-tags-search-wrapper\",tagsSearch:\"multiselect-tags-search\",tagsSearchCopy:\"multiselect-tags-search-copy\",placeholder:\"multiselect-placeholder\",caret:\"multiselect-caret\",caretOpen:\"is-open\",clear:\"multiselect-clear\",clearIcon:\"multiselect-clear-icon\",spinner:\"multiselect-spinner\",dropdown:\"multiselect-dropdown\",dropdownTop:\"is-top\",dropdownHidden:\"is-hidden\",options:\"multiselect-options\",optionsTop:\"is-top\",group:\"multiselect-group\",groupLabel:\"multiselect-group-label\",groupLabelPointable:\"is-pointable\",groupLabelPointed:\"is-pointed\",groupLabelSelected:\"is-selected\",groupLabelDisabled:\"is-disabled\",groupLabelSelectedPointed:\"is-selected is-pointed\",groupLabelSelectedDisabled:\"is-selected is-disabled\",groupOptions:\"multiselect-group-options\",option:\"multiselect-option\",optionPointed:\"is-pointed\",optionSelected:\"is-selected\",optionDisabled:\"is-disabled\",optionSelectedPointed:\"is-selected is-pointed\",optionSelectedDisabled:\"is-selected is-disabled\",noOptions:\"multiselect-no-options\",noResults:\"multiselect-no-results\",fakeInput:\"multiselect-fake-input\",spacer:\"multiselect-spacer\"},i.classes.value),A=w(()=>!!(t.value&&f.value&&(!D.value||D.value&&m.value.length)));return{classList:w(()=>({container:[s.container].concat(o.value?s.containerDisabled:[]).concat(A.value&&v.value===\"top\"?s.containerOpenTop:[]).concat(A.value&&v.value!==\"top\"?s.containerOpen:[]).concat(q.value?s.containerActive:[]).concat(g.value?s.containerInvalid:[]),spacer:s.spacer,singleLabel:s.singleLabel,multipleLabel:s.multipleLabel,search:s.search,tags:s.tags,tag:[s.tag].concat(o.value?s.tagDisabled:[]),tagRemove:s.tagRemove,tagRemoveIcon:s.tagRemoveIcon,tagsSearchWrapper:s.tagsSearchWrapper,tagsSearch:s.tagsSearch,tagsSearchCopy:s.tagsSearchCopy,placeholder:s.placeholder,caret:[s.caret].concat(t.value?s.caretOpen:[]),clear:s.clear,clearIcon:s.clearIcon,spinner:s.spinner,dropdown:[s.dropdown].concat(v.value===\"top\"?s.dropdownTop:[]).concat(!t.value||!f.value||!A.value?s.dropdownHidden:[]),options:[s.options].concat(v.value===\"top\"?s.optionsTop:[]),group:s.group,groupLabel:k=>{let d=[s.groupLabel];return c(k)?d.push(p(k)?s.groupLabelSelectedPointed:s.groupLabelPointed):p(k)&&V.value?d.push(b(k)?s.groupLabelSelectedDisabled:s.groupLabelSelected):b(k)&&d.push(s.groupLabelDisabled),V.value&&d.push(s.groupLabelPointable),d},groupOptions:s.groupOptions,option:(k,d)=>{let j=[s.option];return c(k)?j.push(p(k)?s.optionSelectedPointed:s.optionPointed):p(k)?j.push(b(k)?s.optionSelectedDisabled:s.optionSelected):(b(k)||d&&b(d))&&j.push(s.optionDisabled),j},noOptions:s.noOptions,noResults:s.noResults,fakeInput:s.fakeInput})),showDropdown:A}}const ml={name:\"BaseMultiselect\",props:{preserveSearch:{type:Boolean,default:!1},initialSearch:{type:String,default:null},contentLoading:{type:Boolean,default:!1},value:{required:!1},modelValue:{required:!1},options:{type:[Array,Object,Function],required:!1,default:()=>[]},id:{type:[String,Number],required:!1},name:{type:[String,Number],required:!1,default:\"multiselect\"},disabled:{type:Boolean,required:!1,default:!1},label:{type:String,required:!1,default:\"label\"},trackBy:{type:String,required:!1,default:\"label\"},valueProp:{type:String,required:!1,default:\"value\"},placeholder:{type:String,required:!1,default:null},mode:{type:String,required:!1,default:\"single\"},searchable:{type:Boolean,required:!1,default:!1},limit:{type:Number,required:!1,default:-1},hideSelected:{type:Boolean,required:!1,default:!0},createTag:{type:Boolean,required:!1,default:!1},appendNewTag:{type:Boolean,required:!1,default:!0},caret:{type:Boolean,required:!1,default:!0},loading:{type:Boolean,required:!1,default:!1},noOptionsText:{type:String,required:!1,default:\"The list is empty\"},noResultsText:{type:String,required:!1,default:\"No results found\"},multipleLabel:{type:Function,required:!1},object:{type:Boolean,required:!1,default:!1},delay:{type:Number,required:!1,default:-1},minChars:{type:Number,required:!1,default:0},resolveOnLoad:{type:Boolean,required:!1,default:!0},filterResults:{type:Boolean,required:!1,default:!0},clearOnSearch:{type:Boolean,required:!1,default:!1},clearOnSelect:{type:Boolean,required:!1,default:!0},canDeselect:{type:Boolean,required:!1,default:!0},canClear:{type:Boolean,required:!1,default:!1},max:{type:Number,required:!1,default:-1},showOptions:{type:Boolean,required:!1,default:!0},addTagOn:{type:Array,required:!1,default:()=>[\"enter\"]},required:{type:Boolean,required:!1,default:!1},openDirection:{type:String,required:!1,default:\"bottom\"},nativeSupport:{type:Boolean,required:!1,default:!1},invalid:{type:Boolean,required:!1,default:!1},classes:{type:Object,required:!1,default:()=>({container:\"p-0 relative mx-auto w-full flex items-center justify-end box-border cursor-pointer border border-gray-200 rounded-md bg-white text-sm leading-snug outline-none max-h-10\",containerDisabled:\"cursor-default bg-gray-200 bg-opacity-50 !text-gray-400\",containerOpen:\"\",containerOpenTop:\"\",containerActive:\"ring-1 ring-primary-400 border-primary-400\",containerInvalid:\"border-red-400 ring-red-400 focus:ring-red-400 focus:border-red-400\",containerInvalidActive:\"ring-1 border-red-400 ring-red-400\",singleLabel:\"flex items-center h-full absolute left-0 top-0 pointer-events-none bg-transparent leading-snug pl-3.5\",multipleLabel:\"flex items-center h-full absolute left-0 top-0 pointer-events-none bg-transparent leading-snug pl-3.5\",search:\"w-full absolute inset-0 outline-none appearance-none box-border border-0 text-sm font-sans bg-white rounded-md pl-3.5\",tags:\"grow shrink flex flex-wrap mt-1 pl-2\",tag:\"bg-primary-500 text-white text-sm font-semibold py-0.5 pl-2 rounded mr-1 mb-1 flex items-center whitespace-nowrap\",tagDisabled:\"pr-2 !bg-gray-400 text-white\",tagRemove:\"flex items-center justify-center p-1 mx-0.5 rounded-sm hover:bg-black hover:bg-opacity-10 group\",tagRemoveIcon:\"bg-multiselect-remove text-white bg-center bg-no-repeat opacity-30 inline-block w-3 h-3 group-hover:opacity-60\",tagsSearchWrapper:\"inline-block relative mx-1 mb-1 grow shrink h-full\",tagsSearch:\"absolute inset-0 border-0 focus:outline-none !shadow-none !focus:shadow-none appearance-none p-0 text-sm font-sans box-border w-full\",tagsSearchCopy:\"invisible whitespace-pre-wrap inline-block h-px\",placeholder:\"flex items-center h-full absolute left-0 top-0 pointer-events-none bg-transparent leading-snug pl-3.5 text-gray-400 text-sm\",caret:\"bg-multiselect-caret bg-center bg-no-repeat w-5 h-5 py-px box-content z-5 relative mr-1 opacity-40 shrink-0 grow-0 transition-transform\",caretOpen:\"rotate-180 pointer-events-auto\",clear:\"pr-3.5 relative z-10 opacity-40 transition duration-300 shrink-0 grow-0 flex hover:opacity-80\",clearIcon:\"bg-multiselect-remove bg-center bg-no-repeat w-2.5 h-4 py-px box-content inline-block\",spinner:\"bg-multiselect-spinner bg-center bg-no-repeat w-4 h-4 z-10 mr-3.5 animate-spin shrink-0 grow-0\",dropdown:\"max-h-60 shadow-lg absolute -left-px -right-px -bottom-1 translate-y-full border border-gray-300 mt-1 overflow-y-auto z-50 bg-white flex flex-col rounded-md\",dropdownTop:\"-translate-y-full -top-2 bottom-auto flex-col-reverse rounded-md\",dropdownHidden:\"hidden\",options:\"flex flex-col p-0 m-0 list-none\",optionsTop:\"flex-col-reverse\",group:\"p-0 m-0\",groupLabel:\"flex text-sm box-border items-center justify-start text-left py-1 px-3 font-semibold bg-gray-200 cursor-default leading-normal\",groupLabelPointable:\"cursor-pointer\",groupLabelPointed:\"bg-gray-300 text-gray-700\",groupLabelSelected:\"bg-primary-600 text-white\",groupLabelDisabled:\"bg-gray-100 text-gray-300 cursor-not-allowed\",groupLabelSelectedPointed:\"bg-primary-600 text-white opacity-90\",groupLabelSelectedDisabled:\"text-primary-100 bg-primary-600 bg-opacity-50 cursor-not-allowed\",groupOptions:\"p-0 m-0\",option:\"flex items-center justify-start box-border text-left cursor-pointer text-sm leading-snug py-2 px-3\",optionPointed:\"text-gray-800 bg-gray-100\",optionSelected:\"text-white bg-primary-500\",optionDisabled:\"text-gray-300 cursor-not-allowed\",optionSelectedPointed:\"text-white bg-primary-500 opacity-90\",optionSelectedDisabled:\"text-primary-100 bg-primary-500 bg-opacity-50 cursor-not-allowed\",noOptions:\"py-2 px-3 text-gray-600 bg-white\",noResults:\"py-2 px-3 text-gray-600 bg-white\",fakeInput:\"bg-transparent absolute left-0 right-0 -bottom-px w-full h-px border-0 p-0 appearance-none outline-none text-transparent\",spacer:\"h-9 py-px box-content\"})},strict:{type:Boolean,required:!1,default:!0},closeOnSelect:{type:Boolean,required:!1,default:!0},autocomplete:{type:String,required:!1},groups:{type:Boolean,required:!1,default:!1},groupLabel:{type:String,required:!1,default:\"label\"},groupOptions:{type:String,required:!1,default:\"options\"},groupHideEmpty:{type:Boolean,required:!1,default:!1},groupSelect:{type:Boolean,required:!1,default:!0},inputType:{type:String,required:!1,default:\"text\"}},emits:[\"open\",\"close\",\"select\",\"deselect\",\"input\",\"search-change\",\"tag\",\"update:modelValue\",\"change\",\"clear\"],setup(e,n){const a=sl(e,n),i=ol(e),o=pl(e,n),v=ul(e,n),f=rl(e,n,{iv:a.iv}),g=fl(e,n,{input:v.input,open:o.open,close:o.close,clearSearch:v.clearSearch}),t=dl(e,n,{ev:a.ev,iv:a.iv,search:v.search,clearSearch:v.clearSearch,update:f.update,pointer:i.pointer,clearPointer:i.clearPointer,blur:g.blur,deactivate:g.deactivate}),c=vl(e,n,{fo:t.fo,fg:t.fg,handleOptionClick:t.handleOptionClick,handleGroupClick:t.handleGroupClick,search:v.search,pointer:i.pointer,setPointer:i.setPointer,clearPointer:i.clearPointer,multiselect:g.multiselect}),p=gl(e,n,{iv:a.iv,update:f.update,search:v.search,setPointer:i.setPointer,selectPointer:c.selectPointer,backwardPointer:c.backwardPointer,forwardPointer:c.forwardPointer,blur:g.blur,fo:t.fo}),b=bl(e,n,{isOpen:o.isOpen,isPointed:c.isPointed,canPointGroups:c.canPointGroups,isSelected:t.isSelected,isDisabled:t.isDisabled,isActive:g.isActive,resolving:t.resolving,fo:t.fo});return G(G(G(G(G(G(G(G(G(G({},a),o),g),i),f),v),t),c),p),b)}},hl=[\"id\",\"tabindex\"],yl=[\"type\",\"modelValue\",\"value\",\"autocomplete\"],Sl=[\"onMousedown\"],kl=[\"type\",\"modelValue\",\"value\",\"autocomplete\"],wl={class:\"w-full overflow-y-auto\"},Ol=[\"data-pointed\",\"onMouseenter\",\"onClick\"],Ll=[\"data-pointed\",\"onMouseenter\",\"onClick\"],Pl=[\"data-pointed\",\"onMouseenter\",\"onClick\"],Il=[\"innerHTML\"],Bl=[\"innerHTML\"],ql=[\"value\"],Cl=[\"name\",\"value\"],Tl=[\"name\",\"value\"];function Dl(e,n,a,i,o,v){const f=De(\"BaseContentPlaceholdersBox\"),g=De(\"BaseContentPlaceholders\");return a.contentLoading?(I(),el(g,{key:0},{default:ll(()=>[al(f,{rounded:!0,class:\"w-full\",style:{height:\"40px\"}})]),_:1})):(I(),B(\"div\",{key:1,id:a.id,ref:\"multiselect\",tabindex:e.tabindex,class:O(e.classList.container),onFocusin:n[6]||(n[6]=(...t)=>e.activate&&e.activate(...t)),onFocusout:n[7]||(n[7]=(...t)=>e.deactivate&&e.deactivate(...t)),onKeydown:n[8]||(n[8]=(...t)=>e.handleKeydown&&e.handleKeydown(...t)),onFocus:n[9]||(n[9]=(...t)=>e.handleFocus&&e.handleFocus(...t))},[a.mode!==\"tags\"&&a.searchable&&!a.disabled?(I(),B(\"input\",{key:0,ref:\"input\",type:a.inputType,modelValue:e.search,value:e.search,class:O(e.classList.search),autocomplete:a.autocomplete,onInput:n[0]||(n[0]=(...t)=>e.handleSearchInput&&e.handleSearchInput(...t)),onPaste:n[1]||(n[1]=ve((...t)=>e.handlePaste&&e.handlePaste(...t),[\"stop\"]))},null,42,yl)):E(\"\",!0),a.mode==\"tags\"?(I(),B(\"div\",{key:1,class:O(e.classList.tags)},[(I(!0),B(ae,null,se(e.iv,(t,c,p)=>T(e.$slots,\"tag\",{option:t,handleTagRemove:e.handleTagRemove,disabled:a.disabled},()=>[(I(),B(\"span\",{key:p,class:O(e.classList.tag)},[tl(J(t[a.label])+\" \",1),a.disabled?E(\"\",!0):(I(),B(\"span\",{key:0,class:O(e.classList.tagRemove),onMousedown:ve(b=>e.handleTagRemove(t,b),[\"stop\"])},[P(\"span\",{class:O(e.classList.tagRemoveIcon)},null,2)],42,Sl))],2))])),256)),P(\"div\",{class:O(e.classList.tagsSearchWrapper)},[P(\"span\",{class:O(e.classList.tagsSearchCopy)},J(e.search),3),a.searchable&&!a.disabled?(I(),B(\"input\",{key:0,ref:\"input\",type:a.inputType,modelValue:e.search,value:e.search,class:O(e.classList.tagsSearch),autocomplete:a.autocomplete,style:{\"box-shadow\":\"none !important\"},onInput:n[2]||(n[2]=(...t)=>e.handleSearchInput&&e.handleSearchInput(...t)),onPaste:n[3]||(n[3]=ve((...t)=>e.handlePaste&&e.handlePaste(...t),[\"stop\"]))},null,42,kl)):E(\"\",!0)],2)],2)):E(\"\",!0),a.mode==\"single\"&&e.hasSelected&&!e.search&&e.iv?T(e.$slots,\"singlelabel\",{key:2,value:e.iv},()=>[P(\"div\",{class:O(e.classList.singleLabel)},J(e.iv[a.label]),3)]):E(\"\",!0),a.mode==\"multiple\"&&e.hasSelected&&!e.search?T(e.$slots,\"multiplelabel\",{key:3,values:e.iv},()=>[P(\"div\",{class:O(e.classList.multipleLabel)},J(e.multipleLabelText),3)]):E(\"\",!0),a.placeholder&&!e.hasSelected&&!e.search?T(e.$slots,\"placeholder\",{key:4},()=>[P(\"div\",{class:O(e.classList.placeholder)},J(a.placeholder),3)]):E(\"\",!0),e.busy?T(e.$slots,\"spinner\",{key:5},()=>[P(\"span\",{class:O(e.classList.spinner)},null,2)]):E(\"\",!0),e.hasSelected&&!a.disabled&&a.canClear&&!e.busy?T(e.$slots,\"clear\",{key:6,clear:e.clear},()=>[P(\"span\",{class:O(e.classList.clear),onMousedown:n[4]||(n[4]=(...t)=>e.clear&&e.clear(...t))},[P(\"span\",{class:O(e.classList.clearIcon)},null,2)],34)]):E(\"\",!0),a.caret?T(e.$slots,\"caret\",{key:7},()=>[P(\"span\",{class:O(e.classList.caret),onMousedown:n[5]||(n[5]=ve((...t)=>e.handleCaretClick&&e.handleCaretClick(...t),[\"prevent\",\"stop\"]))},null,34)]):E(\"\",!0),P(\"div\",{class:O(e.classList.dropdown),tabindex:\"-1\"},[P(\"div\",wl,[T(e.$slots,\"beforelist\",{options:e.fo}),P(\"ul\",{class:O(e.classList.options)},[a.groups?(I(!0),B(ae,{key:0},se(e.fg,(t,c,p)=>(I(),B(\"li\",{key:p,class:O(e.classList.group)},[P(\"div\",{class:O(e.classList.groupLabel(t)),\"data-pointed\":e.isPointed(t),onMouseenter:b=>e.setPointer(t),onClick:b=>e.handleGroupClick(t)},[T(e.$slots,\"grouplabel\",{group:t},()=>[P(\"span\",null,J(t[a.groupLabel]),1)])],42,Ol),P(\"ul\",{class:O(e.classList.groupOptions)},[(I(!0),B(ae,null,se(t.__VISIBLE__,(b,q,V)=>(I(),B(\"li\",{key:V,class:O(e.classList.option(b,t)),\"data-pointed\":e.isPointed(b),onMouseenter:D=>e.setPointer(b),onClick:D=>e.handleOptionClick(b)},[T(e.$slots,\"option\",{option:b,search:e.search},()=>[P(\"span\",null,J(b[a.label]),1)])],42,Ll))),128))],2)],2))),128)):(I(!0),B(ae,{key:1},se(e.fo,(t,c,p)=>(I(),B(\"li\",{key:p,class:O(e.classList.option(t)),\"data-pointed\":e.isPointed(t),onMouseenter:b=>e.setPointer(t),onClick:b=>e.handleOptionClick(t)},[T(e.$slots,\"option\",{option:t,search:e.search},()=>[P(\"span\",null,J(t[a.label]),1)])],42,Pl))),128))],2),e.noOptions?T(e.$slots,\"nooptions\",{key:0},()=>[P(\"div\",{class:O(e.classList.noOptions),innerHTML:a.noOptionsText},null,10,Il)]):E(\"\",!0),e.noResults?T(e.$slots,\"noresults\",{key:1},()=>[P(\"div\",{class:O(e.classList.noResults),innerHTML:a.noResultsText},null,10,Bl)]):E(\"\",!0),T(e.$slots,\"afterlist\",{options:e.fo})]),T(e.$slots,\"action\")],2),a.required?(I(),B(\"input\",{key:8,class:O(e.classList.fakeInput),tabindex:\"-1\",value:e.textValue,required:\"\"},null,10,ql)):E(\"\",!0),a.nativeSupport?(I(),B(ae,{key:9},[a.mode==\"single\"?(I(),B(\"input\",{key:0,type:\"hidden\",name:a.name,value:e.plainValue!==void 0?e.plainValue:\"\"},null,8,Cl)):(I(!0),B(ae,{key:1},se(e.plainValue,(t,c)=>(I(),B(\"input\",{key:c,type:\"hidden\",name:`${a.name}[]`,value:t},null,8,Tl))),128))],64)):E(\"\",!0),P(\"div\",{class:O(e.classList.spacer)},null,2)],42,hl))}var Rl=nl(ml,[[\"render\",Dl]]);export{Rl as default};\n"
  },
  {
    "path": "public/build/assets/BaseTable.ec8995dc.js",
    "content": "import{I as O,r as T,o as i,e as s,h as u,m as c,t as h,j as m,f as k,F as C,y as P,i as _,a0 as N,B as F,k as A,C as J,D as K,g as L,u as y,w as Q,A as U,l as X}from\"./vendor.d12b5734.js\";import{_ as Z,S as $}from\"./main.465728e1.js\";function V(a,t){if(!t||a===null||typeof a!=\"object\")return a;const[e,n]=t.split(/\\.(.+)/);return V(a[e],n)}function ee(a,t){return t.reduce((e,n)=>(e[n]=a[n],e),{})}class te{constructor(t,e){this.data=t,this.columns=e}getValue(t){return V(this.data,t)}getColumn(t){return this.columns.find(e=>e.key===t)}getSortableValue(t){const e=this.getColumn(t).dataType;let n=this.getValue(t);if(n==null)return\"\";if(n instanceof String&&(n=n.toLowerCase()),e.startsWith(\"date\")){const b=e.replace(\"date:\",\"\");return O(n,b).format(\"YYYYMMDDHHmmss\")}return e===\"numeric\"?n:n.toString()}}class ae{constructor(t){const e=ee(t,[\"key\",\"label\",\"thClass\",\"tdClass\",\"sortBy\",\"sortable\",\"hidden\",\"dataType\"]);for(const n in e)this[n]=t[n];e.dataType||(this.dataType=\"string\"),e.sortable===void 0&&(this.sortable=!0)}getFilterFieldName(){return this.filterOn||this.key}isSortable(){return this.sortable}getSortPredicate(t,e){const n=this.getSortFieldName(),l=e.find(g=>g.key===n).dataType;return l.startsWith(\"date\")||l===\"numeric\"?(g,d)=>{const p=g.getSortableValue(n),x=d.getSortableValue(n);return t===\"desc\"?x<p?-1:1:p<x?-1:1}:(g,d)=>{const p=g.getSortableValue(n),x=d.getSortableValue(n);return t===\"desc\"?x.localeCompare(p):p.localeCompare(x)}}getSortFieldName(){return this.sortBy||this.key}}const ne={props:{pagination:{type:Object,default:()=>({})}},computed:{pages(){return this.pagination.totalPages===void 0?[]:this.pageLinks()},hasFirst(){return this.pagination.currentPage>=4||this.pagination.totalPages<10},hasLast(){return this.pagination.currentPage<=this.pagination.totalPages-3||this.pagination.totalPages<10},hasFirstEllipsis(){return this.pagination.currentPage>=4&&this.pagination.totalPages>=10},hasLastEllipsis(){return this.pagination.currentPage<=this.pagination.totalPages-3&&this.pagination.totalPages>=10},shouldShowPagination(){return this.pagination.totalPages===void 0||this.pagination.count===0?!1:this.pagination.totalPages>1}},methods:{isActive(a){return(this.pagination.currentPage||1)===a},pageClicked(a){a===\"...\"||a===this.pagination.currentPage||a>this.pagination.totalPages||a<1||this.$emit(\"pageChange\",a)},pageLinks(){const a=[];let t=2,e=this.pagination.totalPages-1;this.pagination.totalPages>=10&&(t=Math.max(1,this.pagination.currentPage-2),e=Math.min(this.pagination.currentPage+2,this.pagination.totalPages));for(let n=t;n<=e;n++)a.push(n);return a}}},re={key:0,class:\"flex items-center justify-between px-4 py-3 bg-white border-t border-gray-200 sm:px-6\"},ie={class:\"flex justify-between flex-1 sm:hidden\"},se={class:\"hidden sm:flex-1 sm:flex sm:items-center sm:justify-between\"},le={class:\"text-sm text-gray-700\"},oe=_(\" Showing \"+h(\" \")+\" \"),de={key:0,class:\"font-medium\"},ge=_(\" \"+h(\" \")+\" to \"+h(\" \")+\" \"),ue={key:1,class:\"font-medium\"},ce={key:0},he={key:1},ye=_(\" \"+h(\" \")+\" of \"+h(\" \")+\" \"),fe={key:2,class:\"font-medium\"},me=_(\" \"+h(\" \")+\" results \"),pe={class:\"relative z-0 inline-flex -space-x-px rounded-md shadow-sm\",\"aria-label\":\"Pagination\"},be=u(\"span\",{class:\"sr-only\"},\"Previous\",-1),xe={key:1,class:\"relative inline-flex items-center px-4 py-2 text-sm font-medium text-gray-700 bg-white border border-gray-300\"},ve=[\"onClick\"],ke={key:2,class:\"relative inline-flex items-center px-4 py-2 text-sm font-medium text-gray-700 bg-white border border-gray-300\"},Ce=u(\"span\",{class:\"sr-only\"},\"Next\",-1);function Pe(a,t,e,n,b,l){const g=T(\"BaseIcon\");return l.shouldShowPagination?(i(),s(\"div\",re,[u(\"div\",ie,[u(\"a\",{href:\"#\",class:c([{\"disabled cursor-normal pointer-events-none !bg-gray-100 !text-gray-400\":e.pagination.currentPage===1},\"relative inline-flex items-center px-4 py-2 text-sm font-medium text-gray-700 bg-white border border-gray-300 rounded-md hover:bg-gray-50\"]),onClick:t[0]||(t[0]=d=>l.pageClicked(e.pagination.currentPage-1))},\" Previous \",2),u(\"a\",{href:\"#\",class:c([{\"disabled cursor-default pointer-events-none !bg-gray-100 !text-gray-400\":e.pagination.currentPage===e.pagination.totalPages},\"relative inline-flex items-center px-4 py-2 ml-3 text-sm font-medium text-gray-700 bg-white border border-gray-300 rounded-md hover:bg-gray-50\"]),onClick:t[1]||(t[1]=d=>l.pageClicked(e.pagination.currentPage+1))},\" Next \",2)]),u(\"div\",se,[u(\"div\",null,[u(\"p\",le,[oe,e.pagination.limit&&e.pagination.currentPage?(i(),s(\"span\",de,h(e.pagination.currentPage*e.pagination.limit-(e.pagination.limit-1)),1)):m(\"\",!0),ge,e.pagination.limit&&e.pagination.currentPage?(i(),s(\"span\",ue,[e.pagination.currentPage*e.pagination.limit<=e.pagination.totalCount?(i(),s(\"span\",ce,h(e.pagination.currentPage*e.pagination.limit),1)):(i(),s(\"span\",he,h(e.pagination.totalCount),1))])):m(\"\",!0),ye,e.pagination.totalCount?(i(),s(\"span\",fe,h(e.pagination.totalCount),1)):m(\"\",!0),me])]),u(\"div\",null,[u(\"nav\",pe,[u(\"a\",{href:\"#\",class:c([{\"disabled cursor-normal pointer-events-none !bg-gray-100 !text-gray-400\":e.pagination.currentPage===1},\"relative inline-flex items-center px-2 py-2 text-sm font-medium text-gray-500 bg-white border border-gray-300 rounded-l-md hover:bg-gray-50\"]),onClick:t[2]||(t[2]=d=>l.pageClicked(e.pagination.currentPage-1))},[be,k(g,{name:\"ChevronLeftIcon\"})],2),l.hasFirst?(i(),s(\"a\",{key:0,href:\"#\",\"aria-current\":\"page\",class:c([{\"z-10 bg-primary-50 border-primary-500 text-primary-600\":l.isActive(1),\"bg-white border-gray-300 text-gray-500 hover:bg-gray-50\":!l.isActive(1)},\"relative inline-flex items-center px-4 py-2 text-sm font-medium border\"]),onClick:t[3]||(t[3]=d=>l.pageClicked(1))},\" 1 \",2)):m(\"\",!0),l.hasFirstEllipsis?(i(),s(\"span\",xe,\" ... \")):m(\"\",!0),(i(!0),s(C,null,P(l.pages,d=>(i(),s(\"a\",{key:d,href:\"#\",class:c([{\"z-10 bg-primary-50 border-primary-500 text-primary-600\":l.isActive(d),\"bg-white border-gray-300 text-gray-500 hover:bg-gray-50\":!l.isActive(d),disabled:d===\"...\"},\"relative items-center hidden px-4 py-2 text-sm font-medium text-gray-500 bg-white border border-gray-300 hover:bg-gray-50 md:inline-flex\"]),onClick:p=>l.pageClicked(d)},h(d),11,ve))),128)),l.hasLastEllipsis?(i(),s(\"span\",ke,\" ... \")):m(\"\",!0),l.hasLast?(i(),s(\"a\",{key:3,href:\"#\",\"aria-current\":\"page\",class:c([{\"z-10 bg-primary-50 border-primary-500 text-primary-600\":l.isActive(e.pagination.totalPages),\"bg-white border-gray-300 text-gray-500 hover:bg-gray-50\":!l.isActive(e.pagination.totalPages)},\"relative inline-flex items-center px-4 py-2 text-sm font-medium border\"]),onClick:t[4]||(t[4]=d=>l.pageClicked(e.pagination.totalPages))},h(e.pagination.totalPages),3)):m(\"\",!0),u(\"a\",{href:\"#\",class:c([\"relative inline-flex items-center px-2 py-2 text-sm font-medium text-gray-500 bg-white border border-gray-300 rounded-r-md hover:bg-gray-50\",{\"disabled cursor-default pointer-events-none !bg-gray-100 !text-gray-400\":e.pagination.currentPage===e.pagination.totalPages}]),onClick:t[5]||(t[5]=d=>l.pageClicked(e.pagination.currentPage+1))},[Ce,k(g,{name:\"ChevronRightIcon\"})],2)])])])])):m(\"\",!0)}var _e=Z(ne,[[\"render\",Pe]]);const we={class:\"flex flex-col\"},Se={class:\"-my-2 overflow-x-auto sm:-mx-6 lg:-mx-8 pb-4 lg:pb-0\"},Te={class:\"inline-block min-w-full py-2 align-middle sm:px-6 lg:px-8\"},Ne={class:\"relative overflow-hidden bg-white border-b border-gray-200 shadow sm:rounded-lg\"},Be=[\"onClick\"],Fe={key:0,class:\"asc-direction\"},Ae={key:1,class:\"desc-direction\"},Le={key:0},Ve={key:1},Ie={key:0,class:\"absolute top-0 left-0 z-10 flex items-center justify-center w-full h-full bg-white bg-opacity-60\"},De={key:1,class:\"text-center text-gray-500 pb-2 flex h-[160px] justify-center items-center flex-col\"},Me={class:\"block mt-1\"},Re={props:{columns:{type:Array,required:!0},data:{type:[Array,Function],required:!0},sortBy:{type:String,default:\"\"},sortOrder:{type:String,default:\"\"},tableClass:{type:String,default:\"min-w-full divide-y divide-gray-200\"},theadClass:{type:String,default:\"bg-gray-50\"},tbodyClass:{type:String,default:\"\"},noResultsMessage:{type:String,default:\"No Results Found\"},loading:{type:Boolean,default:!1},loadingType:{type:String,default:\"placeholder\",validator:function(a){return[\"placeholder\",\"spinner\"].indexOf(a)!==-1}},placeholderCount:{type:Number,default:3}},setup(a,{expose:t}){const e=a;let n=N([]),b=F(!1),l=N(e.columns.map(r=>new ae(r))),g=N({fieldName:\"\",order:\"\"}),d=F(\"\");const p=A(()=>Array.isArray(e.data)),x=A(()=>{if(!p.value||g.fieldName===\"\"||l.length===0)return n.value;const r=I(g.fieldName);return r?[...n.value].sort(r.getSortPredicate(g.order,l)):n.value});function I(r){return l.find(o=>o.key===r)}function D(r){let o=\"whitespace-nowrap px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider\";return r.defaultThClass&&(o=r.defaultThClass),r.sortable?o=`${o} cursor-pointer`:o=`${o} pointer-events-none`,r.thClass&&(o=`${o} ${r.thClass}`),o}function B(r){let o=\"px-6 py-4 text-sm text-gray-500 whitespace-nowrap\";return r.defaultTdClass&&(o=r.defaultTdClass),r.tdClass&&(o=`${o} ${r.tdClass}`),o}function M(r){let o=\"w-full\";return r.placeholderClass&&(o=`${o} ${r.placeholderClass}`),o}function z(){return d.value=null,e.data}async function E(){const r=d.value&&d.value.currentPage||1;b.value=!0;const o=await e.data({sort:g,page:r});return b.value=!1,d.value=o.pagination,o.data}function R(r){g.fieldName!==r.key?(g.fieldName=r.key,g.order=\"asc\"):g.order=g.order===\"asc\"?\"desc\":\"asc\",p.value||w()}async function w(){const r=p.value?z():await E();n.value=r.map(o=>new te(o,l))}async function j(r){d.value.currentPage=r,await w()}async function Y(){await w()}function H(r,o){return U.exports.get(r,o)}return p.value&&J(()=>e.data,()=>{w()}),K(async()=>{await w()}),t({refresh:Y}),(r,o)=>{const q=T(\"base-content-placeholders-text\"),W=T(\"base-content-placeholders\"),G=T(\"BaseIcon\");return i(),s(\"div\",we,[u(\"div\",Se,[u(\"div\",Te,[u(\"div\",Ne,[L(r.$slots,\"header\"),u(\"table\",{class:c(a.tableClass)},[u(\"thead\",{class:c(a.theadClass)},[u(\"tr\",null,[(i(!0),s(C,null,P(y(l),f=>(i(),s(\"th\",{key:f.key,class:c([D(f),{\"text-bold text-black\":y(g).fieldName===f.key}]),onClick:v=>R(f)},[_(h(f.label)+\" \",1),y(g).fieldName===f.key&&y(g).order===\"asc\"?(i(),s(\"span\",Fe,\" \\u2191 \")):m(\"\",!0),y(g).fieldName===f.key&&y(g).order===\"desc\"?(i(),s(\"span\",Ae,\" \\u2193 \")):m(\"\",!0)],10,Be))),128))])],2),a.loadingType===\"placeholder\"&&(a.loading||y(b))?(i(),s(\"tbody\",Le,[(i(!0),s(C,null,P(a.placeholderCount,f=>(i(),s(\"tr\",{key:f,class:c(f%2==0?\"bg-white\":\"bg-gray-50\")},[(i(!0),s(C,null,P(a.columns,v=>(i(),s(\"td\",{key:v.key,class:c([\"\",B(v)])},[k(W,{class:c(M(v)),rounded:!0},{default:Q(()=>[k(q,{class:\"w-full h-6\",lines:1})]),_:2},1032,[\"class\"])],2))),128))],2))),128))])):(i(),s(\"tbody\",Ve,[(i(!0),s(C,null,P(y(x),(f,v)=>(i(),s(\"tr\",{key:v,class:c(v%2==0?\"bg-white\":\"bg-gray-50\")},[(i(!0),s(C,null,P(a.columns,S=>(i(),s(\"td\",{key:S.key,class:c([\"\",B(S)])},[L(r.$slots,\"cell-\"+S.key,{row:f},()=>[_(h(H(f.data,S.key)),1)])],2))),128))],2))),128))]))],2),a.loadingType===\"spinner\"&&(a.loading||y(b))?(i(),s(\"div\",Ie,[k($,{class:\"w-10 h-10 text-primary-500\"})])):!a.loading&&!y(b)&&y(x)&&y(x).length===0?(i(),s(\"div\",De,[k(G,{name:\"ExclamationCircleIcon\",class:\"w-6 h-6 text-gray-400\"}),u(\"span\",Me,h(a.noResultsMessage),1)])):m(\"\",!0),y(d)?(i(),X(_e,{key:2,pagination:y(d),onPageChange:j},null,8,[\"pagination\"])):m(\"\",!0)])])])])}}};export{Re as default};\n"
  },
  {
    "path": "public/build/assets/CapsuleIcon.37dfa933.js",
    "content": "import{o as d,e as i,h as l,m as C}from\"./vendor.d12b5734.js\";const o={width:\"118\",height:\"110\",viewBox:\"0 0 118 110\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\"},r={\"clip-path\":\"url(#clip0)\"},n=l(\"defs\",null,[l(\"clipPath\",{id:\"clip0\"},[l(\"rect\",{width:\"117.333\",height:\"110\",fill:\"white\"})])],-1),s={props:{primaryFillColor:{type:String,default:\"fill-primary-500\"},secondaryFillColor:{type:String,default:\"fill-gray-600\"}},setup(e){return(a,c)=>(d(),i(\"svg\",o,[l(\"g\",r,[l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M58.6672 32.9999C42.1415 32.9999 32.973 28.5119 32.5898 28.3194L33.4093 26.6804C33.4992 26.7244 42.6127 31.1666 58.6672 31.1666C74.542 31.1666 83.8388 26.7208 83.9323 26.6768L84.7354 28.3231C84.3449 28.5156 74.9618 32.9999 58.6672 32.9999Z\",class:C(e.primaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M25.2438 39.0117L28.4191 40.8451C28.839 41.0871 29.1415 41.4831 29.2698 41.9597C29.3963 42.4346 29.3321 42.9296 29.0901 43.3494L14.4235 68.7521C14.099 69.3167 13.4866 69.6669 12.8248 69.6669C12.504 69.6669 12.1978 69.5844 11.9191 69.4231L8.74382 67.5897L7.82715 69.1774L11.0025 71.0107C11.5763 71.3426 12.2051 71.5002 12.8248 71.5002C14.0953 71.5002 15.3346 70.8421 16.0111 69.6687L30.6778 44.2661C31.6861 42.5189 31.083 40.2657 29.3358 39.2574L26.1605 37.4241L25.2438 39.0117Z\",class:C(e.primaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M91.1729 37.4241L87.9976 39.2574C86.2504 40.2657 85.6472 42.5189 86.6556 44.2661L101.322 69.6687C101.999 70.8421 103.238 71.5002 104.509 71.5002C105.128 71.5002 105.757 71.3426 106.331 71.0107L109.506 69.1774L108.59 67.5897L105.414 69.4231C105.139 69.5826 104.826 69.6669 104.509 69.6669C103.847 69.6669 103.234 69.3167 102.91 68.7521L88.2432 43.3494C88.0012 42.9296 87.9371 42.4346 88.0636 41.9597C88.1919 41.4831 88.4944 41.0871 88.9142 40.8451L92.0896 39.0117L91.1729 37.4241Z\",class:C(e.primaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M115.5 84.3333V87.6993C115.5 89.2797 114.424 90.6308 112.88 90.9883C112.013 91.19 111.049 91.4393 109.96 91.7198C102.573 93.6228 88.8268 97.1667 58.6667 97.1667C28.292 97.1667 14.6942 93.6338 7.38833 91.7345C6.29383 91.4503 5.324 91.1992 4.44767 90.9938C2.90767 90.6363 1.83333 89.2833 1.83333 87.7067V84.3333L0 82.5V87.7067C0 90.134 1.66833 92.2295 4.0315 92.7795C10.9322 94.3873 23.6812 99 58.6667 99C93.3478 99 106.372 94.3818 113.296 92.7758C115.661 92.2258 117.333 90.1285 117.333 87.6993V82.5\",class:C(e.primaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M79.6139 20.1666L115.245 81.7354C115.841 82.7566 115.344 84.0656 114.214 84.4102C107.345 86.4966 89.3159 89.8333 58.6662 89.8333C27.9744 89.8333 9.97652 86.3371 3.12535 84.2526C1.99602 83.9079 1.49919 82.5989 2.09502 81.5778L37.7204 20.1666L36.6662 18.3333L0.503686 80.6666C-0.686148 82.7071 0.322186 85.3251 2.58085 86.0163C9.60985 88.1704 27.7104 91.6666 58.6662 91.6666C89.4625 91.6666 107.664 88.3189 114.742 86.1666C117.008 85.4772 118.022 82.8574 116.829 80.8133L80.6662 18.3333\",class:C(e.secondaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M110.814 92.4116L115.245 100.069C115.841 101.089 115.344 102.4 114.214 102.742C107.345 104.831 89.3159 108.167 58.6662 108.167C27.9744 108.167 9.97469 104.671 3.12535 102.585C1.99602 102.242 1.49919 100.931 2.09502 99.9117L6.41985 92.4556L4.75885 91.6672L0.503686 99.0006C-0.686148 101.041 0.322185 103.657 2.58085 104.35C9.60985 106.504 27.7104 110.001 58.6662 110.001C89.4625 110.001 107.664 106.653 114.742 104.501C117.007 103.811 118.022 101.191 116.829 99.1472L112.682 91.9789L110.814 92.4116Z\",class:C(e.secondaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M58.667 0C47.238 0 36.667 7.1335 36.667 18.3407V20.1667C36.667 20.1667 42.6052 23.8333 58.667 23.8333C74.6665 23.8333 80.667 20.1667 80.667 20.1667V18.3333C80.667 7.24167 70.767 0 58.667 0ZM58.667 1.83333C70.3527 1.83333 78.8337 8.7725 78.8337 18.3333V19.0172C76.6887 19.9302 70.5103 22 58.667 22C46.7705 22 40.6197 19.9283 38.5003 19.0227V18.3407C38.5003 12.3658 41.7692 8.55617 44.51 6.41117C48.2317 3.50167 53.3907 1.83333 58.667 1.83333Z\",class:C(e.secondaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M69.6667 53.1666C70.6768 53.1666 71.5 53.9898 71.5 54.9999V89.8333H73.3333V54.9999C73.3333 52.9741 71.6925 51.3333 69.6667 51.3333H47.6667C45.6408 51.3333 44 52.9741 44 54.9999V89.8333H45.8333V54.9999C45.8333 53.9898 46.6565 53.1666 47.6667 53.1666H69.6667Z\",class:C(e.secondaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M58.6667 56.8333C53.6048 56.8333 49.5 60.9381 49.5 65.9999C49.5 71.0618 53.6048 75.1666 58.6667 75.1666C63.7285 75.1666 67.8333 71.0618 67.8333 65.9999C67.8333 60.9381 63.7285 56.8333 58.6667 56.8333ZM58.6667 58.6666C62.711 58.6666 66 61.9556 66 65.9999C66 70.0443 62.711 73.3333 58.6667 73.3333C54.6223 73.3333 51.3333 70.0443 51.3333 65.9999C51.3333 61.9556 54.6223 58.6666 58.6667 58.6666Z\",class:C(e.secondaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M63.2503 66C62.7443 66 62.3337 65.5893 62.3337 65.0833C62.3337 63.5672 61.0998 62.3333 59.5837 62.3333C59.0777 62.3333 58.667 61.9227 58.667 61.4167C58.667 60.9107 59.0777 60.5 59.5837 60.5C62.11 60.5 64.167 62.5552 64.167 65.0833C64.167 65.5893 63.7563 66 63.2503 66Z\",class:C(e.primaryFillColor)},null,2)]),n]))}};export{s as _};\n"
  },
  {
    "path": "public/build/assets/CategoryModal.6fabb0b3.js",
    "content": "import{J as j,B as k,k as g,L as y,M as N,N as L,S as T,T as q,r as i,o as B,l as b,w as r,h as m,i as f,t as C,u as e,f as n,m as D,j as G,U}from\"./vendor.d12b5734.js\";import{u as z}from\"./category.c88b90cd.js\";import{c as E}from\"./main.465728e1.js\";const A={class:\"flex justify-between w-full\"},J=[\"onSubmit\"],X={class:\"p-8 sm:p-6\"},F={class:\"z-0 flex justify-end p-4 border-t border-gray-200 border-solid border-modal-bg\"},Q={setup(H){const t=z(),u=E(),{t:p}=j();let c=k(!1);const h=g(()=>({currentCategory:{name:{required:y.withMessage(p(\"validation.required\"),N),minLength:y.withMessage(p(\"validation.name_min_length\",{count:3}),L(3))},description:{maxLength:y.withMessage(p(\"validation.description_maxlength\",{count:255}),T(255))}}})),o=q(h,g(()=>t)),w=g(()=>u.active&&u.componentName===\"CategoryModal\");async function I(){if(o.value.currentCategory.$touch(),o.value.currentCategory.$invalid)return!0;const s=t.isEdit?t.updateCategory:t.addCategory;c.value=!0,await s(t.currentCategory),c.value=!1,u.refreshData&&u.refreshData(),d()}function d(){u.closeModal(),setTimeout(()=>{t.$reset(),o.value.$reset()},300)}return(s,a)=>{const v=i(\"BaseIcon\"),x=i(\"BaseInput\"),_=i(\"BaseInputGroup\"),M=i(\"BaseTextarea\"),V=i(\"BaseInputGrid\"),$=i(\"BaseButton\"),S=i(\"BaseModal\");return B(),b(S,{show:e(w),onClose:d},{header:r(()=>[m(\"div\",A,[f(C(e(u).title)+\" \",1),n(v,{name:\"XIcon\",class:\"w-6 h-6 text-gray-500 cursor-pointer\",onClick:d})])]),default:r(()=>[m(\"form\",{action:\"\",onSubmit:U(I,[\"prevent\"])},[m(\"div\",X,[n(V,{layout:\"one-column\"},{default:r(()=>[n(_,{label:s.$t(\"expenses.category\"),error:e(o).currentCategory.name.$error&&e(o).currentCategory.name.$errors[0].$message,required:\"\"},{default:r(()=>[n(x,{modelValue:e(t).currentCategory.name,\"onUpdate:modelValue\":a[0]||(a[0]=l=>e(t).currentCategory.name=l),invalid:e(o).currentCategory.name.$error,type:\"text\",onInput:a[1]||(a[1]=l=>e(o).currentCategory.name.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"]),n(_,{label:s.$t(\"expenses.description\"),error:e(o).currentCategory.description.$error&&e(o).currentCategory.description.$errors[0].$message},{default:r(()=>[n(M,{modelValue:e(t).currentCategory.description,\"onUpdate:modelValue\":a[2]||(a[2]=l=>e(t).currentCategory.description=l),rows:\"4\",cols:\"50\",onInput:a[3]||(a[3]=l=>e(o).currentCategory.description.$touch())},null,8,[\"modelValue\"])]),_:1},8,[\"label\",\"error\"])]),_:1})]),m(\"div\",F,[n($,{type:\"button\",variant:\"primary-outline\",class:\"mr-3 text-sm\",onClick:d},{default:r(()=>[f(C(s.$t(\"general.cancel\")),1)]),_:1}),n($,{loading:e(c),disabled:e(c),variant:\"primary\",type:\"submit\"},{left:r(l=>[e(c)?G(\"\",!0):(B(),b(v,{key:0,name:\"SaveIcon\",class:D(l.class)},null,8,[\"class\"]))]),default:r(()=>[f(\" \"+C(e(t).isEdit?s.$t(\"general.update\"):s.$t(\"general.save\")),1)]),_:1},8,[\"loading\",\"disabled\"])])],40,J)]),_:1},8,[\"show\"])}}};export{Q as _};\n"
  },
  {
    "path": "public/build/assets/CompanyInfoSettings.23b88ef4.js",
    "content": "var oe=Object.defineProperty;var T=Object.getOwnPropertySymbols;var se=Object.prototype.hasOwnProperty,ne=Object.prototype.propertyIsEnumerable;var R=(f,s,d)=>s in f?oe(f,s,{enumerable:!0,configurable:!0,writable:!0,value:d}):f[s]=d,A=(f,s)=>{for(var d in s||(s={}))se.call(s,d)&&R(f,d,s[d]);if(T)for(var d of T(s))ne.call(s,d)&&R(f,d,s[d]);return f};import{aN as le,J,B as C,a0 as E,k as F,L as h,M as k,P as de,T as O,r as u,o as I,l as q,w as r,h as m,t as b,u as e,f as o,i as j,m as P,j as z,U as H,ah as re,N as ie,e as K,x as ue,F as me}from\"./vendor.d12b5734.js\";import{b as Q,c as W,d as X}from\"./main.465728e1.js\";const ce={class:\"flex justify-between w-full\"},pe={class:\"px-6 pt-6\"},_e={class:\"font-medium text-lg text-left\"},fe={class:\"mt-2 text-sm leading-snug text-gray-500\",style:{\"max-width\":\"680px\"}},ye=[\"onSubmit\"],ge={class:\"p-4 sm:p-6 space-y-4\"},ve={class:\"z-0 flex justify-end p-4 bg-gray-50 border-modal-bg\"},be={setup(f){const s=Q(),d=W(),S=X(),B=le(),{t:M}=J();let c=C(!1);const a=E({id:s.selectedCompany.id,name:null}),$=F(()=>d.active&&d.componentName===\"DeleteCompanyModal\"),g={formData:{name:{required:h.withMessage(M(\"validation.required\"),k),sameAsName:h.withMessage(M(\"validation.company_name_not_same\"),de(s.selectedCompany.name))}}},_=O(g,{formData:a},{$scope:!1});async function V(){if(_.value.$touch(),_.value.$invalid)return!0;const v=s.companies[0];c.value=!0;try{const y=await s.deleteCompany(a);console.log(y.data.success),y.data.success&&(p(),await s.setSelectedCompany(v),B.push(\"/admin/dashboard\"),await S.setIsAppLoaded(!1),await S.bootstrap()),c.value=!1}catch{c.value=!1}}function N(){a.id=null,a.name=\"\",_.value.$reset()}function p(){d.closeModal(),setTimeout(()=>{N(),_.value.$reset()},300)}return(v,y)=>{const U=u(\"BaseInput\"),x=u(\"BaseInputGroup\"),l=u(\"BaseButton\"),t=u(\"BaseIcon\"),D=u(\"BaseModal\");return I(),q(D,{show:e($),onClose:p},{default:r(()=>[m(\"div\",ce,[m(\"div\",pe,[m(\"h6\",_e,b(e(d).title),1),m(\"p\",fe,b(v.$t(\"settings.company_info.delete_company_modal_desc\",{company:e(s).selectedCompany.name})),1)])]),m(\"form\",{action:\"\",onSubmit:H(V,[\"prevent\"])},[m(\"div\",ge,[o(x,{label:v.$t(\"settings.company_info.delete_company_modal_label\",{company:e(s).selectedCompany.name}),error:e(_).formData.name.$error&&e(_).formData.name.$errors[0].$message,required:\"\"},{default:r(()=>[o(U,{modelValue:e(a).name,\"onUpdate:modelValue\":y[0]||(y[0]=i=>e(a).name=i),invalid:e(_).formData.name.$error,onInput:y[1]||(y[1]=i=>e(_).formData.name.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"])]),m(\"div\",ve,[o(l,{class:\"mr-3 text-sm\",variant:\"primary-outline\",outline:\"\",type:\"button\",onClick:p},{default:r(()=>[j(b(v.$t(\"general.cancel\")),1)]),_:1}),o(l,{loading:e(c),disabled:e(c),variant:\"danger\",type:\"submit\"},{left:r(i=>[e(c)?z(\"\",!0):(I(),q(t,{key:0,name:\"TrashIcon\",class:P(i.class)},null,8,[\"class\"]))]),default:r(()=>[j(\" \"+b(v.$t(\"general.delete\")),1)]),_:1},8,[\"loading\",\"disabled\"])])],40,ye)]),_:1},8,[\"show\"])}}},$e=[\"onSubmit\"],Be={key:0,class:\"py-5\"},Ve={class:\"text-lg leading-6 font-medium text-gray-900\"},Ce={class:\"mt-2 max-w-xl text-sm text-gray-500\"},we={class:\"mt-5\"},Me={setup(f){const s=Q(),d=X(),S=W(),{t:B}=J(),M=re(\"utils\");let c=C(!1);const a=E({name:null,logo:null,address:{address_street_1:\"\",address_street_2:\"\",website:\"\",country_id:null,state:\"\",city:\"\",phone:\"\",zip:\"\"}});M.mergeSettings(a,A({},s.selectedCompany));let $=C([]),g=C(null),_=C(null);const V=C(!1);a.logo&&$.value.push({image:a.logo});const N=F(()=>({name:{required:h.withMessage(B(\"validation.required\"),k),minLength:h.withMessage(B(\"validation.name_min_length\"),ie(3))},address:{country_id:{required:h.withMessage(B(\"validation.required\"),k)}}})),p=O(N,F(()=>a));d.fetchCountries();function v(l,t,D,i){_.value=i.name,g.value=t}function y(){g.value=null,V.value=!0}async function U(){if(p.value.$touch(),p.value.$invalid)return!0;if(c.value=!0,(await s.updateCompany(a)).data.data){if(g.value||V.value){let t=new FormData;g.value&&t.append(\"company_logo\",JSON.stringify({name:_.value,data:g.value})),t.append(\"is_company_logo_removed\",V.value),await s.updateCompanyLogo(t),g.value=null,V.value=!1}c.value=!1}c.value=!1}function x(l){S.openModal({title:B(\"settings.company_info.are_you_absolutely_sure\"),componentName:\"DeleteCompanyModal\",size:\"sm\"})}return(l,t)=>{const D=u(\"BaseFileUploader\"),i=u(\"BaseInputGroup\"),G=u(\"BaseInputGrid\"),w=u(\"BaseInput\"),Y=u(\"BaseMultiselect\"),L=u(\"BaseTextarea\"),Z=u(\"BaseIcon\"),ee=u(\"BaseButton\"),ae=u(\"BaseDivider\"),te=u(\"BaseSettingCard\");return I(),K(me,null,[m(\"form\",{onSubmit:H(U,[\"prevent\"])},[o(te,{title:l.$t(\"settings.company_info.company_info\"),description:l.$t(\"settings.company_info.section_description\")},{default:r(()=>[o(G,{class:\"mt-5\"},{default:r(()=>[o(i,{label:l.$tc(\"settings.company_info.company_logo\")},{default:r(()=>[o(D,{modelValue:e($),\"onUpdate:modelValue\":t[0]||(t[0]=n=>ue($)?$.value=n:$=n),base64:\"\",onChange:v,onRemove:y},null,8,[\"modelValue\"])]),_:1},8,[\"label\"])]),_:1}),o(G,{class:\"mt-5\"},{default:r(()=>[o(i,{label:l.$tc(\"settings.company_info.company_name\"),error:e(p).name.$error&&e(p).name.$errors[0].$message,required:\"\"},{default:r(()=>[o(w,{modelValue:e(a).name,\"onUpdate:modelValue\":t[1]||(t[1]=n=>e(a).name=n),invalid:e(p).name.$error,onBlur:t[2]||(t[2]=n=>e(p).name.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"]),o(i,{label:l.$tc(\"settings.company_info.phone\")},{default:r(()=>[o(w,{modelValue:e(a).address.phone,\"onUpdate:modelValue\":t[3]||(t[3]=n=>e(a).address.phone=n)},null,8,[\"modelValue\"])]),_:1},8,[\"label\"]),o(i,{label:l.$tc(\"settings.company_info.country\"),error:e(p).address.country_id.$error&&e(p).address.country_id.$errors[0].$message,required:\"\"},{default:r(()=>[o(Y,{modelValue:e(a).address.country_id,\"onUpdate:modelValue\":t[4]||(t[4]=n=>e(a).address.country_id=n),label:\"name\",invalid:e(p).address.country_id.$error,options:e(d).countries,\"value-prop\":\"id\",\"can-deselect\":!0,\"can-clear\":!1,searchable:\"\",\"track-by\":\"name\"},null,8,[\"modelValue\",\"invalid\",\"options\"])]),_:1},8,[\"label\",\"error\"]),o(i,{label:l.$tc(\"settings.company_info.state\")},{default:r(()=>[o(w,{modelValue:e(a).address.state,\"onUpdate:modelValue\":t[5]||(t[5]=n=>e(a).address.state=n),name:\"state\",type:\"text\"},null,8,[\"modelValue\"])]),_:1},8,[\"label\"]),o(i,{label:l.$tc(\"settings.company_info.city\")},{default:r(()=>[o(w,{modelValue:e(a).address.city,\"onUpdate:modelValue\":t[6]||(t[6]=n=>e(a).address.city=n),type:\"text\"},null,8,[\"modelValue\"])]),_:1},8,[\"label\"]),o(i,{label:l.$tc(\"settings.company_info.zip\")},{default:r(()=>[o(w,{modelValue:e(a).address.zip,\"onUpdate:modelValue\":t[7]||(t[7]=n=>e(a).address.zip=n)},null,8,[\"modelValue\"])]),_:1},8,[\"label\"]),m(\"div\",null,[o(i,{label:l.$tc(\"settings.company_info.address\")},{default:r(()=>[o(L,{modelValue:e(a).address.address_street_1,\"onUpdate:modelValue\":t[8]||(t[8]=n=>e(a).address.address_street_1=n),rows:\"2\"},null,8,[\"modelValue\"])]),_:1},8,[\"label\"]),o(L,{modelValue:e(a).address.address_street_2,\"onUpdate:modelValue\":t[9]||(t[9]=n=>e(a).address.address_street_2=n),rows:\"2\",row:2,class:\"mt-2\"},null,8,[\"modelValue\"])])]),_:1}),o(ee,{loading:e(c),disabled:e(c),type:\"submit\",class:\"mt-6\"},{left:r(n=>[e(c)?z(\"\",!0):(I(),q(Z,{key:0,class:P(n.class),name:\"SaveIcon\"},null,8,[\"class\"]))]),default:r(()=>[j(\" \"+b(l.$tc(\"settings.company_info.save\")),1)]),_:1},8,[\"loading\",\"disabled\"]),e(s).companies.length!==1?(I(),K(\"div\",Be,[o(ae,{class:\"my-4\"}),m(\"h3\",Ve,b(l.$tc(\"settings.company_info.delete_company\")),1),m(\"div\",Ce,[m(\"p\",null,b(l.$tc(\"settings.company_info.delete_company_description\")),1)]),m(\"div\",we,[m(\"button\",{type:\"button\",class:\"inline-flex items-center justify-center px-4 py-2 border border-transparent font-medium rounded-md text-red-700 bg-red-100 hover:bg-red-200 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-red-500 sm:text-sm\",onClick:x},b(l.$tc(\"general.delete\")),1)])])):z(\"\",!0)]),_:1},8,[\"title\",\"description\"])],40,$e),o(be)],64)}}};export{Me as default};\n"
  },
  {
    "path": "public/build/assets/Create.1d6bd807.js",
    "content": "var ce=Object.defineProperty;var R=Object.getOwnPropertySymbols;var de=Object.prototype.hasOwnProperty,ye=Object.prototype.propertyIsEnumerable;var L=(_,s,c)=>s in _?ce(_,s,{enumerable:!0,configurable:!0,writable:!0,value:c}):_[s]=c,T=(_,s)=>{for(var c in s||(s={}))de.call(s,c)&&L(_,c,s[c]);if(R)for(var c of R(s))ye.call(s,c)&&L(_,c,s[c]);return _};import{G as pe,aN as _e,ah as ve,J as fe,B as w,a0 as Pe,k as S,L as C,M as q,aX as ge,O as be,aP as Be,T as $e,a7 as he,b1 as Ce,r as m,o as k,e as Ie,f as r,w as l,h as I,u as e,l as j,m as z,j as U,i as N,t as b,x as Se,U as Ve,F as Me}from\"./vendor.d12b5734.js\";import{_ as we}from\"./ExchangeRateConverter.d865db6a.js\";import{u as qe,l as ke,m as Ne,b as je,c as Ue,i as xe,d as De}from\"./main.465728e1.js\";import{u as Ae}from\"./payment.93619753.js\";import{_ as Ee}from\"./SelectNotePopup.2e678c03.js\";import{_ as Fe}from\"./CreateCustomFields.c1c460e4.js\";import{_ as Ge}from\"./PaymentModeModal.a0b58785.js\";import\"./exchange-rate.85b564e2.js\";import\"./NoteModal.ebe10cf0.js\";const Re=[\"onSubmit\"],Le={class:\"absolute left-3.5\"},Te={class:\"relative w-full\"},ze={class:\"relative mt-6\"},He={class:\"z-20 float-right text-sm font-semibold leading-5 text-primary-400\"},Je={class:\"mb-4 text-sm font-medium text-gray-800\"},nt={setup(_){const s=pe(),c=_e(),t=Ae();qe();const V=ke();Ne(),je();const H=Ue(),x=xe();De();const D=ve(\"utils\"),{t:p}=fe();let B=w(!1),M=w(!1),v=w([]);const f=w(null),A=\"newEstimate\",J=Pe([\"customer\",\"company\",\"customerCustom\",\"payment\",\"paymentCustom\"]),$=S({get:()=>t.currentPayment.amount/100,set:a=>{t.currentPayment.amount=Math.round(a*100)}}),u=S(()=>t.isFetchingInitialData),d=S(()=>s.name===\"payments.edit\"),E=S(()=>d.value?p(\"payments.edit_payment\"):p(\"payments.new_payment\")),O=S(()=>({currentPayment:{customer_id:{required:C.withMessage(p(\"validation.required\"),q)},payment_date:{required:C.withMessage(p(\"validation.required\"),q)},amount:{required:C.withMessage(p(\"validation.required\"),q),between:C.withMessage(p(\"validation.payment_greater_than_due_amount\"),ge(0,t.currentPayment.maxPayableAmount))},exchange_rate:{required:be(function(){return C.withMessage(p(\"validation.required\"),q),t.showExchangeRate}),decimal:C.withMessage(p(\"validation.valid_exchange_rate\"),Be)}}})),i=$e(O,t,{$scope:A});he(()=>{t.currentPayment.customer_id&&Y(t.currentPayment.customer_id),s.query.customer&&(t.currentPayment.customer_id=s.query.customer)}),t.resetCurrentPayment(),s.query.customer&&(t.currentPayment.customer_id=s.query.customer),t.fetchPaymentInitialData(d.value),s.params.id&&!d.value&&Q();async function X(){H.openModal({title:p(\"settings.payment_modes.add_payment_mode\"),componentName:\"PaymentModeModal\"})}function K(a){t.currentPayment.notes=\"\"+a.notes}async function Q(){var n;let a=await x.fetchInvoice((n=s==null?void 0:s.params)==null?void 0:n.id);t.currentPayment.customer_id=a.data.data.customer.id,t.currentPayment.invoice_id=a.data.data.id}async function W(a){a&&(f.value=v.value.find(n=>n.id===a),$.value=f.value.due_amount/100,t.currentPayment.maxPayableAmount=f.value.due_amount)}function Y(a){if(a){let n={customer_id:a,status:\"DUE\",limit:\"all\"};d.value&&(n.status=\"\"),M.value=!0,Promise.all([x.fetchInvoices(n),V.fetchCustomer(a)]).then(async([y,P])=>{y&&(v.value=[...y.data.data]),P&&P.data&&(t.currentPayment.selectedCustomer=P.data.data,t.currentPayment.customer=P.data.data,t.currentPayment.currency=P.data.data.currency,d.value&&!V.editCustomer&&t.currentPayment.customer_id&&(V.editCustomer=P.data.data)),t.currentPayment.invoice_id&&(f.value=v.value.find(g=>g.id===t.currentPayment.invoice_id),t.currentPayment.maxPayableAmount=f.value.due_amount+t.currentPayment.amount,$.value===0&&($.value=f.value.due_amount/100)),d.value&&(v.value=v.value.filter(g=>g.due_amount>0||g.id==t.currentPayment.invoice_id)),M.value=!1}).catch(y=>{M.value=!1,console.error(y,\"error\")})}}Ce(()=>{t.resetCurrentPayment(),v.value=[],V.editCustomer=null});async function Z(){if(i.value.$touch(),i.value.$invalid)return!1;B.value=!0;let a=T({},t.currentPayment),n=null;try{n=await(d.value?t.updatePayment:t.addPayment)(a),c.push(`/admin/payments/${n.data.data.id}/view`)}catch{B.value=!1}}function ee(a){let n={userId:a};s.params.id&&(n.model_id=s.params.id),t.currentPayment.invoice_id=f.value=null,t.currentPayment.amount=0,v.value=[],t.getNextNumber(n,!0)}return(a,n)=>{const y=m(\"BaseBreadcrumbItem\"),P=m(\"BaseBreadcrumb\"),g=m(\"BaseIcon\"),F=m(\"BaseButton\"),te=m(\"BasePageHeader\"),ae=m(\"BaseDatePicker\"),h=m(\"BaseInputGroup\"),ne=m(\"BaseInput\"),oe=m(\"BaseCustomerSelectInput\"),G=m(\"BaseMultiselect\"),re=m(\"BaseMoney\"),se=m(\"BaseSelectAction\"),le=m(\"BaseInputGrid\"),ue=m(\"BaseCustomInput\"),me=m(\"BaseCard\"),ie=m(\"BasePage\");return k(),Ie(Me,null,[r(Ge),r(ie,{class:\"relative payment-create\"},{default:l(()=>[I(\"form\",{action:\"\",onSubmit:Ve(Z,[\"prevent\"])},[r(te,{title:e(E),class:\"mb-5\"},{actions:l(()=>[r(F,{loading:e(B),disabled:e(B),variant:\"primary\",type:\"submit\",class:\"hidden sm:flex\"},{left:l(o=>[e(B)?U(\"\",!0):(k(),j(g,{key:0,name:\"SaveIcon\",class:z(o.class)},null,8,[\"class\"]))]),default:l(()=>[N(\" \"+b(e(d)?a.$t(\"payments.update_payment\"):a.$t(\"payments.save_payment\")),1)]),_:1},8,[\"loading\",\"disabled\"])]),default:l(()=>[r(P,null,{default:l(()=>[r(y,{title:a.$t(\"general.home\"),to:\"/admin/dashboard\"},null,8,[\"title\"]),r(y,{title:a.$tc(\"payments.payment\",2),to:\"/admin/payments\"},null,8,[\"title\"]),r(y,{title:e(E),to:\"#\",active:\"\"},null,8,[\"title\"])]),_:1})]),_:1},8,[\"title\"]),r(me,null,{default:l(()=>[r(le,null,{default:l(()=>[r(h,{label:a.$t(\"payments.date\"),\"content-loading\":e(u),required:\"\",error:e(i).currentPayment.payment_date.$error&&e(i).currentPayment.payment_date.$errors[0].$message},{default:l(()=>[r(ae,{modelValue:e(t).currentPayment.payment_date,\"onUpdate:modelValue\":[n[0]||(n[0]=o=>e(t).currentPayment.payment_date=o),n[1]||(n[1]=o=>e(i).currentPayment.payment_date.$touch())],\"content-loading\":e(u),\"calendar-button\":!0,\"calendar-button-icon\":\"calendar\",invalid:e(i).currentPayment.payment_date.$error},null,8,[\"modelValue\",\"content-loading\",\"invalid\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"]),r(h,{label:a.$t(\"payments.payment_number\"),\"content-loading\":e(u),required:\"\"},{default:l(()=>[r(ne,{modelValue:e(t).currentPayment.payment_number,\"onUpdate:modelValue\":n[2]||(n[2]=o=>e(t).currentPayment.payment_number=o),\"content-loading\":e(u)},null,8,[\"modelValue\",\"content-loading\"])]),_:1},8,[\"label\",\"content-loading\"]),r(h,{label:a.$t(\"payments.customer\"),error:e(i).currentPayment.customer_id.$error&&e(i).currentPayment.customer_id.$errors[0].$message,\"content-loading\":e(u),required:\"\"},{default:l(()=>[e(u)?U(\"\",!0):(k(),j(oe,{key:0,modelValue:e(t).currentPayment.customer_id,\"onUpdate:modelValue\":[n[3]||(n[3]=o=>e(t).currentPayment.customer_id=o),n[4]||(n[4]=o=>ee(e(t).currentPayment.customer_id))],\"content-loading\":e(u),invalid:e(i).currentPayment.customer_id.$error,placeholder:a.$t(\"customers.select_a_customer\"),\"show-action\":\"\"},null,8,[\"modelValue\",\"content-loading\",\"invalid\",\"placeholder\"]))]),_:1},8,[\"label\",\"error\",\"content-loading\"]),r(h,{\"content-loading\":e(u),label:a.$t(\"payments.invoice\"),\"help-text\":f.value?`Due Amount: ${e(t).currentPayment.maxPayableAmount/100}`:\"\"},{default:l(()=>[r(G,{modelValue:e(t).currentPayment.invoice_id,\"onUpdate:modelValue\":n[5]||(n[5]=o=>e(t).currentPayment.invoice_id=o),\"content-loading\":e(u),\"value-prop\":\"id\",\"track-by\":\"invoice_number\",label:\"invoice_number\",options:e(v),loading:e(M),placeholder:a.$t(\"invoices.select_invoice\"),onSelect:W},{singlelabel:l(({value:o})=>[I(\"div\",Le,b(o.invoice_number)+\" (\"+b(e(D).formatMoney(o.total,o.customer.currency))+\") \",1)]),option:l(({option:o})=>[N(b(o.invoice_number)+\" (\"+b(e(D).formatMoney(o.total,o.customer.currency))+\") \",1)]),_:1},8,[\"modelValue\",\"content-loading\",\"options\",\"loading\",\"placeholder\"])]),_:1},8,[\"content-loading\",\"label\",\"help-text\"]),r(h,{label:a.$t(\"payments.amount\"),\"content-loading\":e(u),error:e(i).currentPayment.amount.$error&&e(i).currentPayment.amount.$errors[0].$message,required:\"\"},{default:l(()=>[I(\"div\",Te,[r(re,{key:e(t).currentPayment.currency,modelValue:e($),\"onUpdate:modelValue\":[n[6]||(n[6]=o=>Se($)?$.value=o:null),n[7]||(n[7]=o=>e(i).currentPayment.amount.$touch())],currency:e(t).currentPayment.currency,\"content-loading\":e(u),invalid:e(i).currentPayment.amount.$error},null,8,[\"modelValue\",\"currency\",\"content-loading\",\"invalid\"])])]),_:1},8,[\"label\",\"content-loading\",\"error\"]),r(h,{\"content-loading\":e(u),label:a.$t(\"payments.payment_mode\")},{default:l(()=>[r(G,{modelValue:e(t).currentPayment.payment_method_id,\"onUpdate:modelValue\":n[8]||(n[8]=o=>e(t).currentPayment.payment_method_id=o),\"content-loading\":e(u),label:\"name\",\"value-prop\":\"id\",\"track-by\":\"name\",options:e(t).paymentModes,placeholder:a.$t(\"payments.select_payment_mode\"),searchable:\"\"},{action:l(()=>[r(se,{onClick:X},{default:l(()=>[r(g,{name:\"PlusIcon\",class:\"h-4 mr-2 -ml-2 text-center text-primary-400\"}),N(\" \"+b(a.$t(\"settings.payment_modes.add_payment_mode\")),1)]),_:1})]),_:1},8,[\"modelValue\",\"content-loading\",\"options\",\"placeholder\"])]),_:1},8,[\"content-loading\",\"label\"]),r(we,{store:e(t),\"store-prop\":\"currentPayment\",v:e(i).currentPayment,\"is-loading\":e(u),\"is-edit\":e(d),\"customer-currency\":e(t).currentPayment.currency_id},null,8,[\"store\",\"v\",\"is-loading\",\"is-edit\",\"customer-currency\"])]),_:1}),r(Fe,{type:\"Payment\",\"is-edit\":e(d),\"is-loading\":e(u),store:e(t),\"store-prop\":\"currentPayment\",\"custom-field-scope\":A,class:\"mt-6\"},null,8,[\"is-edit\",\"is-loading\",\"store\"]),I(\"div\",ze,[I(\"div\",He,[r(Ee,{type:\"Payment\",onSelect:K})]),I(\"label\",Je,b(a.$t(\"estimates.notes\")),1),r(ue,{modelValue:e(t).currentPayment.notes,\"onUpdate:modelValue\":n[9]||(n[9]=o=>e(t).currentPayment.notes=o),\"content-loading\":e(u),fields:e(J),class:\"mt-1\"},null,8,[\"modelValue\",\"content-loading\",\"fields\"])]),r(F,{loading:e(B),\"content-loading\":e(u),variant:\"primary\",type:\"submit\",class:\"flex justify-center w-full mt-4 sm:hidden md:hidden\"},{left:l(o=>[e(B)?U(\"\",!0):(k(),j(g,{key:0,name:\"SaveIcon\",class:z(o.class)},null,8,[\"class\"]))]),default:l(()=>[N(\" \"+b(e(d)?a.$t(\"payments.update_payment\"):a.$t(\"payments.save_payment\")),1)]),_:1},8,[\"loading\",\"content-loading\"])]),_:1})],40,Re)]),_:1})],64)}}};export{nt as default};\n"
  },
  {
    "path": "public/build/assets/Create.68c99c93.js",
    "content": "import{G as ie,aN as de,J as ue,B as q,k as b,L as m,M as $,b2 as ce,S as N,O as pe,aP as me,T as ge,b1 as xe,r as d,o as v,e as _e,f as r,w as o,h as F,u as e,l as h,m as U,i as w,t as S,j as C,x as ye,U as fe,F as ve}from\"./vendor.d12b5734.js\";import{u as Ee}from\"./expense.ea1e799e.js\";import{u as be}from\"./category.c88b90cd.js\";import{l as $e,b as he,m as Ce,c as Be,d as Ve}from\"./main.465728e1.js\";import{_ as we}from\"./CreateCustomFields.c1c460e4.js\";import{_ as Se}from\"./CategoryModal.6fabb0b3.js\";import{_ as Me}from\"./ExchangeRateConverter.d865db6a.js\";import\"./exchange-rate.85b564e2.js\";const Ie=[\"onSubmit\"],ke={class:\"hidden md:block\"},qe={class:\"block md:hidden\"},Ae={setup(Fe){const _=$e(),j=he(),t=Ee(),y=be(),G=Ce(),T=Be(),f=ie(),A=de(),{t:u}=ue(),D=Ve();let g=q(!1),i=q(!1);const R=\"newExpense\",M=q(!1),L=b(()=>({currentExpense:{expense_category_id:{required:m.withMessage(u(\"validation.required\"),$)},expense_date:{required:m.withMessage(u(\"validation.required\"),$)},amount:{required:m.withMessage(u(\"validation.required\"),$),minValue:m.withMessage(u(\"validation.price_minvalue\"),ce(.1)),maxLength:m.withMessage(u(\"validation.price_maxlength\"),N(20))},notes:{maxLength:m.withMessage(u(\"validation.description_maxlength\"),N(65e3))},currency_id:{required:m.withMessage(u(\"validation.required\"),$)},exchange_rate:{required:pe(function(){return m.withMessage(u(\"validation.required\"),$),t.showExchangeRate}),decimal:m.withMessage(u(\"validation.valid_exchange_rate\"),me)}}})),l=ge(L,t,{$scope:R}),I=b({get:()=>t.currentExpense.amount/100,set:a=>{t.currentExpense.amount=Math.round(a*100)}}),c=b(()=>f.name===\"expenses.edit\"),P=b(()=>c.value?u(\"expenses.edit_expense\"):u(\"expenses.new_expense\")),O=b(()=>c.value?`/reports/expenses/${f.params.id}/download-receipt`:\"\");t.resetCurrentExpenseData(),G.resetCustomFields(),X();function z(a,n){t.currentExpense.attachment_receipt=n}function H(){t.currentExpense.attachment_receipt=null,M.value=!0}function J(){T.openModal({title:u(\"settings.expense_category.add_category\"),componentName:\"CategoryModal\",size:\"sm\"})}function K(a){t.currentExpense.selectedCurrency=D.currencies.find(n=>n.id===a)}async function Q(a){let n=await y.fetchCategories({search:a});if(n.data.data.length>0&&y.editCategory&&!n.data.data.find(p=>p.id==y.editCategory.id)){let p=Object.assign({},y.editCategory);n.data.data.unshift(p)}return n.data.data}async function W(a){let n=await _.fetchCustomers({search:a});if(n.data.data.length>0&&_.editCustomer&&!n.data.data.find(p=>p.id==_.editCustomer.id)){let p=Object.assign({},_.editCustomer);n.data.data.unshift(p)}return n.data.data}async function X(){if(c.value||(t.currentExpense.currency_id=j.selectedCompanyCurrency.id,t.currentExpense.selectedCurrency=j.selectedCompanyCurrency),i.value=!0,await t.fetchPaymentModes({limit:\"all\"}),c.value){const a=await t.fetchExpense(f.params.id);t.currentExpense.currency_id=t.currentExpense.selectedCurrency.id,a.data&&(!y.editCategory&&a.data.data.expense_category&&(y.editCategory=a.data.data.expense_category),!_.editCustomer&&a.data.data.customer&&(_.editCustomer=a.data.data.customer))}else f.query.customer&&(t.currentExpense.customer_id=f.query.customer);i.value=!1}async function Y(){if(l.value.$touch(),l.value.$invalid)return;g.value=!0;let a=t.currentExpense;try{c.value?await t.updateExpense({id:f.params.id,data:a,isAttachmentReceiptRemoved:M.value}):await t.addExpense(a),g.value=!1,t.currentExpense.attachment_receipt=null,M.value=!1,A.push(\"/admin/expenses\")}catch(n){console.error(n),g.value=!1;return}}return xe(()=>{t.resetCurrentExpenseData(),_.editCustomer=null,y.editCategory=null}),(a,n)=>{const E=d(\"BaseBreadcrumbItem\"),p=d(\"BaseBreadcrumb\"),B=d(\"BaseIcon\"),k=d(\"BaseButton\"),Z=d(\"BasePageHeader\"),ee=d(\"BaseSelectAction\"),V=d(\"BaseMultiselect\"),x=d(\"BaseInputGroup\"),te=d(\"BaseDatePicker\"),ne=d(\"BaseMoney\"),ae=d(\"BaseTextarea\"),re=d(\"BaseFileUploader\"),se=d(\"BaseInputGrid\"),oe=d(\"BaseCard\"),le=d(\"BasePage\");return v(),_e(ve,null,[r(Se),r(le,{class:\"relative\"},{default:o(()=>[F(\"form\",{action:\"\",onSubmit:fe(Y,[\"prevent\"])},[r(Z,{title:e(P),class:\"mb-5\"},{actions:o(()=>[e(c)&&e(t).currentExpense.attachment_receipt_url?(v(),h(k,{key:0,href:e(O),tag:\"a\",variant:\"primary-outline\",type:\"button\",class:\"mr-2\"},{left:o(s=>[r(B,{name:\"DownloadIcon\",class:U(s.class)},null,8,[\"class\"])]),default:o(()=>[w(\" \"+S(a.$t(\"expenses.download_receipt\")),1)]),_:1},8,[\"href\"])):C(\"\",!0),F(\"div\",ke,[r(k,{loading:e(g),\"content-loading\":e(i),disabled:e(g),variant:\"primary\",type:\"submit\"},{left:o(s=>[e(g)?C(\"\",!0):(v(),h(B,{key:0,name:\"SaveIcon\",class:U(s.class)},null,8,[\"class\"]))]),default:o(()=>[w(\" \"+S(e(c)?a.$t(\"expenses.update_expense\"):a.$t(\"expenses.save_expense\")),1)]),_:1},8,[\"loading\",\"content-loading\",\"disabled\"])])]),default:o(()=>[r(p,null,{default:o(()=>[r(E,{title:a.$t(\"general.home\"),to:\"/admin/dashboard\"},null,8,[\"title\"]),r(E,{title:a.$tc(\"expenses.expense\",2),to:\"/admin/expenses\"},null,8,[\"title\"]),r(E,{title:e(P),to:\"#\",active:\"\"},null,8,[\"title\"])]),_:1})]),_:1},8,[\"title\"]),r(oe,null,{default:o(()=>[r(se,null,{default:o(()=>[r(x,{label:a.$t(\"expenses.category\"),error:e(l).currentExpense.expense_category_id.$error&&e(l).currentExpense.expense_category_id.$errors[0].$message,\"content-loading\":e(i),required:\"\"},{default:o(()=>[e(i)?C(\"\",!0):(v(),h(V,{key:0,modelValue:e(t).currentExpense.expense_category_id,\"onUpdate:modelValue\":n[0]||(n[0]=s=>e(t).currentExpense.expense_category_id=s),\"content-loading\":e(i),\"value-prop\":\"id\",label:\"name\",\"track-by\":\"id\",options:Q,\"filter-results\":!1,\"resolve-on-load\":\"\",delay:500,searchable:\"\",invalid:e(l).currentExpense.expense_category_id.$error,placeholder:a.$t(\"expenses.categories.select_a_category\"),onInput:n[1]||(n[1]=s=>e(l).currentExpense.expense_category_id.$touch())},{action:o(()=>[r(ee,{onClick:J},{default:o(()=>[r(B,{name:\"PlusIcon\",class:\"h-4 mr-2 -ml-2 text-center text-primary-400\"}),w(\" \"+S(a.$t(\"settings.expense_category.add_new_category\")),1)]),_:1})]),_:1},8,[\"modelValue\",\"content-loading\",\"invalid\",\"placeholder\"]))]),_:1},8,[\"label\",\"error\",\"content-loading\"]),r(x,{label:a.$t(\"expenses.expense_date\"),error:e(l).currentExpense.expense_date.$error&&e(l).currentExpense.expense_date.$errors[0].$message,\"content-loading\":e(i),required:\"\"},{default:o(()=>[r(te,{modelValue:e(t).currentExpense.expense_date,\"onUpdate:modelValue\":n[2]||(n[2]=s=>e(t).currentExpense.expense_date=s),\"content-loading\":e(i),\"calendar-button\":!0,invalid:e(l).currentExpense.expense_date.$error,onInput:n[3]||(n[3]=s=>e(l).currentExpense.expense_date.$touch())},null,8,[\"modelValue\",\"content-loading\",\"invalid\"])]),_:1},8,[\"label\",\"error\",\"content-loading\"]),r(x,{label:a.$t(\"expenses.amount\"),error:e(l).currentExpense.amount.$error&&e(l).currentExpense.amount.$errors[0].$message,\"content-loading\":e(i),required:\"\"},{default:o(()=>[r(ne,{key:e(t).currentExpense.selectedCurrency,modelValue:e(I),\"onUpdate:modelValue\":n[4]||(n[4]=s=>ye(I)?I.value=s:null),class:\"focus:border focus:border-solid focus:border-primary-500\",invalid:e(l).currentExpense.amount.$error,currency:e(t).currentExpense.selectedCurrency,onInput:n[5]||(n[5]=s=>e(l).currentExpense.amount.$touch())},null,8,[\"modelValue\",\"invalid\",\"currency\"])]),_:1},8,[\"label\",\"error\",\"content-loading\"]),r(x,{label:a.$t(\"expenses.currency\"),\"content-loading\":e(i),error:e(l).currentExpense.currency_id.$error&&e(l).currentExpense.currency_id.$errors[0].$message,required:\"\"},{default:o(()=>[r(V,{modelValue:e(t).currentExpense.currency_id,\"onUpdate:modelValue\":[n[6]||(n[6]=s=>e(t).currentExpense.currency_id=s),K],\"value-prop\":\"id\",label:\"name\",\"track-by\":\"name\",\"content-loading\":e(i),options:e(D).currencies,searchable:\"\",\"can-deselect\":!1,placeholder:a.$t(\"customers.select_currency\"),invalid:e(l).currentExpense.currency_id.$error,class:\"w-full\"},null,8,[\"modelValue\",\"content-loading\",\"options\",\"placeholder\",\"invalid\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"]),r(Me,{store:e(t),\"store-prop\":\"currentExpense\",v:e(l).currentExpense,\"is-loading\":e(i),\"is-edit\":e(c),\"customer-currency\":e(t).currentExpense.currency_id},null,8,[\"store\",\"v\",\"is-loading\",\"is-edit\",\"customer-currency\"]),r(x,{\"content-loading\":e(i),label:a.$t(\"expenses.customer\")},{default:o(()=>[e(i)?C(\"\",!0):(v(),h(V,{key:0,modelValue:e(t).currentExpense.customer_id,\"onUpdate:modelValue\":n[7]||(n[7]=s=>e(t).currentExpense.customer_id=s),\"content-loading\":e(i),\"value-prop\":\"id\",label:\"name\",\"track-by\":\"id\",options:W,\"filter-results\":!1,\"resolve-on-load\":\"\",delay:500,searchable:\"\",placeholder:a.$t(\"customers.select_a_customer\")},null,8,[\"modelValue\",\"content-loading\",\"placeholder\"]))]),_:1},8,[\"content-loading\",\"label\"]),r(x,{\"content-loading\":e(i),label:a.$t(\"payments.payment_mode\")},{default:o(()=>[r(V,{modelValue:e(t).currentExpense.payment_method_id,\"onUpdate:modelValue\":n[8]||(n[8]=s=>e(t).currentExpense.payment_method_id=s),\"content-loading\":e(i),label:\"name\",\"value-prop\":\"id\",\"track-by\":\"name\",options:e(t).paymentModes,placeholder:a.$t(\"payments.select_payment_mode\"),searchable:\"\"},null,8,[\"modelValue\",\"content-loading\",\"options\",\"placeholder\"])]),_:1},8,[\"content-loading\",\"label\"]),r(x,{\"content-loading\":e(i),label:a.$t(\"expenses.note\"),error:e(l).currentExpense.notes.$error&&e(l).currentExpense.notes.$errors[0].$message},{default:o(()=>[r(ae,{modelValue:e(t).currentExpense.notes,\"onUpdate:modelValue\":n[9]||(n[9]=s=>e(t).currentExpense.notes=s),\"content-loading\":e(i),row:4,rows:\"4\",onInput:n[10]||(n[10]=s=>e(l).currentExpense.notes.$touch())},null,8,[\"modelValue\",\"content-loading\"])]),_:1},8,[\"content-loading\",\"label\",\"error\"]),r(x,{label:a.$t(\"expenses.receipt\")},{default:o(()=>[r(re,{modelValue:e(t).currentExpense.receiptFiles,\"onUpdate:modelValue\":n[11]||(n[11]=s=>e(t).currentExpense.receiptFiles=s),accept:\"image/*,.doc,.docx,.pdf,.csv,.xlsx,.xls\",onChange:z,onRemove:H},null,8,[\"modelValue\"])]),_:1},8,[\"label\"]),r(we,{\"is-edit\":e(c),class:\"col-span-2\",\"is-loading\":e(i),type:\"Expense\",store:e(t),\"store-prop\":\"currentExpense\",\"custom-field-scope\":R},null,8,[\"is-edit\",\"is-loading\",\"store\"]),F(\"div\",qe,[r(k,{loading:e(g),tabindex:6,variant:\"primary\",type:\"submit\",class:\"flex justify-center w-full\"},{left:o(s=>[e(g)?C(\"\",!0):(v(),h(B,{key:0,name:\"SaveIcon\",class:U(s.class)},null,8,[\"class\"]))]),default:o(()=>[w(\" \"+S(e(c)?a.$t(\"expenses.update_expense\"):a.$t(\"expenses.save_expense\")),1)]),_:1},8,[\"loading\"])])]),_:1})]),_:1})],40,Ie)]),_:1})],64)}}};export{Ae as default};\n"
  },
  {
    "path": "public/build/assets/Create.c666337c.js",
    "content": "var W=Object.defineProperty,X=Object.defineProperties;var Y=Object.getOwnPropertyDescriptors;var S=Object.getOwnPropertySymbols;var Z=Object.prototype.hasOwnProperty,x=Object.prototype.propertyIsEnumerable;var k=(m,a,o)=>a in m?W(m,a,{enumerable:!0,configurable:!0,writable:!0,value:o}):m[a]=o,j=(m,a)=>{for(var o in a||(a={}))Z.call(a,o)&&k(m,o,a[o]);if(S)for(var o of S(a))x.call(a,o)&&k(m,o,a[o]);return m},N=(m,a)=>X(m,Y(a));import{J as ee,G as ae,aN as te,B as b,k as V,L as p,M as $,N as G,Q as oe,O as se,T as ne,r as d,o as w,l as h,w as u,f as s,u as e,h as y,e as re,y as le,F as ie,m as ue,j as de,i as me,t as ce,U as pe}from\"./vendor.d12b5734.js\";import{b as ge}from\"./main.465728e1.js\";import{V as fe}from\"./index.esm.85b4999a.js\";import{u as ve}from\"./users.27a53e97.js\";const $e=[\"onSubmit\"],De={class:\"grid grid-cols-12\"},Be={class:\"space-y-6\"},ye={setup(m){const a=ve(),{t:o}=ee(),q=ae(),L=te(),P=ge();let g=b(!1),l=b(!1);b([]);let I=b([]);const f=V(()=>q.name===\"users.edit\"),M=V(()=>f.value?o(\"users.edit_user\"):o(\"users.new_user\")),E=V(()=>({userData:{name:{required:p.withMessage(o(\"validation.required\"),$),minLength:p.withMessage(o(\"validation.name_min_length\",{count:3}),G(3))},email:{required:p.withMessage(o(\"validation.required\"),$),email:p.withMessage(o(\"validation.email_incorrect\"),oe)},password:{required:se(function(){return p.withMessage(o(\"validation.required\"),$),!f.value}),minLength:p.withMessage(o(\"validation.password_min_length\",{count:8}),G(8))},companies:{required:p.withMessage(o(\"validation.required\"),$)}}})),F={role:{required:p.withMessage(o(\"validation.required\"),$)}},n=ne(E,a,{$scope:!0});R(),a.resetUserData();async function R(){var i;l.value=!0;try{f.value&&await a.fetchUser(q.params.id);let t=await P.fetchUserCompanies();((i=t==null?void 0:t.data)==null?void 0:i.data)&&(I.value=t.data.data.map(c=>(c.role=null,c)))}catch{l.value=!1}l.value=!1}async function T(){if(n.value.$touch(),n.value.$invalid)return!0;try{g.value=!0;let i=N(j({},a.userData),{companies:a.userData.companies.map(c=>({role:c.role,id:c.id}))});await(f.value?a.updateUser:a.addUser)(i),L.push(\"/admin/users\"),g.value=!1}catch{g.value=!1}}return(i,t)=>{const c=d(\"BaseBreadcrumbItem\"),H=d(\"BaseBreadcrumb\"),z=d(\"BasePageHeader\"),D=d(\"BaseInput\"),v=d(\"BaseInputGroup\"),U=d(\"BaseMultiselect\"),A=d(\"BaseInputGrid\"),J=d(\"BaseIcon\"),O=d(\"BaseButton\"),Q=d(\"BaseCard\"),K=d(\"BasePage\");return w(),h(K,null,{default:u(()=>[s(z,{title:e(M)},{default:u(()=>[s(H,null,{default:u(()=>[s(c,{title:i.$t(\"general.home\"),to:\"dashboard\"},null,8,[\"title\"]),s(c,{title:i.$tc(\"users.user\",2),to:\"/admin/users\"},null,8,[\"title\"]),s(c,{title:e(M),to:\"#\",active:\"\"},null,8,[\"title\"])]),_:1})]),_:1},8,[\"title\"]),y(\"form\",{action:\"\",autocomplete:\"off\",onSubmit:pe(T,[\"prevent\"])},[y(\"div\",De,[s(Q,{class:\"mt-6 col-span-12 md:col-span-8\"},{default:u(()=>[s(A,{layout:\"one-column\"},{default:u(()=>[s(v,{\"content-loading\":e(l),label:i.$t(\"users.name\"),error:e(n).userData.name.$error&&e(n).userData.name.$errors[0].$message,required:\"\"},{default:u(()=>[s(D,{modelValue:e(a).userData.name,\"onUpdate:modelValue\":t[0]||(t[0]=r=>e(a).userData.name=r),modelModifiers:{trim:!0},\"content-loading\":e(l),invalid:e(n).userData.name.$error,onInput:t[1]||(t[1]=r=>e(n).userData.name.$touch())},null,8,[\"modelValue\",\"content-loading\",\"invalid\"])]),_:1},8,[\"content-loading\",\"label\",\"error\"]),s(v,{\"content-loading\":e(l),label:i.$t(\"users.email\"),error:e(n).userData.email.$error&&e(n).userData.email.$errors[0].$message,required:\"\"},{default:u(()=>[s(D,{modelValue:e(a).userData.email,\"onUpdate:modelValue\":t[2]||(t[2]=r=>e(a).userData.email=r),modelModifiers:{trim:!0},type:\"email\",\"content-loading\":e(l),invalid:e(n).userData.email.$error,onInput:t[3]||(t[3]=r=>e(n).userData.email.$touch())},null,8,[\"modelValue\",\"content-loading\",\"invalid\"])]),_:1},8,[\"content-loading\",\"label\",\"error\"]),s(v,{\"content-loading\":e(l),label:i.$t(\"users.companies\"),error:e(n).userData.companies.$error&&e(n).userData.companies.$errors[0].$message,required:\"\"},{default:u(()=>[s(U,{modelValue:e(a).userData.companies,\"onUpdate:modelValue\":t[4]||(t[4]=r=>e(a).userData.companies=r),mode:\"tags\",object:!0,autocomplete:\"new-password\",label:\"name\",options:e(I),\"value-prop\":\"id\",invalid:e(n).userData.companies.$error,\"content-loading\":e(l),searchable:\"\",\"can-deselect\":!1,class:\"w-full\",\"track-by\":\"name\"},null,8,[\"modelValue\",\"options\",\"invalid\",\"content-loading\"])]),_:1},8,[\"content-loading\",\"label\",\"error\"]),(w(!0),re(ie,null,le(e(a).userData.companies,(r,B)=>(w(),h(e(fe),{key:B,state:r,rules:F},{default:u(({v:_})=>[y(\"div\",Be,[s(v,{\"content-loading\":e(l),label:i.$t(\"users.select_company_role\",{company:r.name}),error:_.role.$error&&_.role.$errors[0].$message,required:\"\"},{default:u(()=>[s(U,{modelValue:e(a).userData.companies[B].role,\"onUpdate:modelValue\":C=>e(a).userData.companies[B].role=C,\"value-prop\":\"name\",\"track-by\":\"id\",autocomplete:\"off\",\"content-loading\":e(l),label:\"name\",options:e(a).userData.companies[B].roles,\"can-deselect\":!1,invalid:_.role.$invalid,onChange:C=>_.role.$touch()},null,8,[\"modelValue\",\"onUpdate:modelValue\",\"content-loading\",\"options\",\"invalid\",\"onChange\"])]),_:2},1032,[\"content-loading\",\"label\",\"error\"])])]),_:2},1032,[\"state\"]))),128)),s(v,{\"content-loading\":e(l),label:i.$tc(\"users.password\"),error:e(n).userData.password.$error&&e(n).userData.password.$errors[0].$message,required:!e(f)},{default:u(()=>[s(D,{modelValue:e(a).userData.password,\"onUpdate:modelValue\":t[5]||(t[5]=r=>e(a).userData.password=r),name:\"new-password\",autocomplete:\"new-password\",\"content-loading\":e(l),type:\"password\",invalid:e(n).userData.password.$error,onInput:t[6]||(t[6]=r=>e(n).userData.password.$touch())},null,8,[\"modelValue\",\"content-loading\",\"invalid\"])]),_:1},8,[\"content-loading\",\"label\",\"error\",\"required\"]),s(v,{\"content-loading\":e(l),label:i.$t(\"users.phone\")},{default:u(()=>[s(D,{modelValue:e(a).userData.phone,\"onUpdate:modelValue\":t[7]||(t[7]=r=>e(a).userData.phone=r),modelModifiers:{trim:!0},\"content-loading\":e(l)},null,8,[\"modelValue\",\"content-loading\"])]),_:1},8,[\"content-loading\",\"label\"])]),_:1}),s(O,{\"content-loading\":e(l),type:\"submit\",loading:e(g),disabled:e(g),class:\"mt-6\"},{left:u(r=>[e(g)?de(\"\",!0):(w(),h(J,{key:0,name:\"SaveIcon\",class:ue(r.class)},null,8,[\"class\"]))]),default:u(()=>[me(\" \"+ce(e(f)?i.$t(\"users.update_user\"):i.$t(\"users.save_user\")),1)]),_:1},8,[\"content-loading\",\"loading\",\"disabled\"])]),_:1})])],40,$e)]),_:1})}}};export{ye as default};\n"
  },
  {
    "path": "public/build/assets/Create.ddeb574a.js",
    "content": "var ae=Object.defineProperty;var G=Object.getOwnPropertySymbols;var ie=Object.prototype.hasOwnProperty,ue=Object.prototype.propertyIsEnumerable;var N=(y,o,b)=>o in y?ae(y,o,{enumerable:!0,configurable:!0,writable:!0,value:b}):y[o]=b,T=(y,o)=>{for(var b in o||(o={}))ie.call(o,b)&&N(y,b,o[b]);if(G)for(var b of G(o))ue.call(o,b)&&N(y,b,o[b]);return y};import{J as de,aN as me,G as ce,B,k as M,L as g,M as R,N as F,O as A,Q as pe,P as ge,R as be,S as q,T as Ce,r as p,o as _,l as $,w as i,h as m,f as r,m as O,i as H,t as v,u as e,j as V,x as L,e as J,U as fe}from\"./vendor.d12b5734.js\";import{l as _e,m as $e,d as ye,b as ve,n as Ve}from\"./main.465728e1.js\";import{_ as we}from\"./CreateCustomFields.c1c460e4.js\";const he=[\"onSubmit\"],Be={class:\"flex items-center justify-end\"},Me={class:\"grid grid-cols-5 gap-4 mb-8\"},Ie={class:\"col-span-5 text-lg font-semibold text-left lg:col-span-1\"},xe={class:\"grid grid-cols-5 gap-4 mb-8\"},Ue={class:\"col-span-5 text-lg font-semibold text-left lg:col-span-1\"},ke={class:\"md:col-span-2\"},Se={class:\"text-sm text-gray-500\"},qe={class:\"grid grid-cols-5 gap-4 mb-8\"},Le={class:\"col-span-5 text-lg font-semibold text-left lg:col-span-1\"},ze={class:\"space-y-6\"},Pe={class:\"flex items-center justify-start mb-6 md:justify-end md:mb-0\"},Fe={class:\"p-1\"},je={key:0,class:\"grid grid-cols-5 gap-4 mb-8\"},De={class:\"col-span-5 text-lg font-semibold text-left lg:col-span-1\"},Ee={class:\"space-y-6\"},Ge={class:\"grid grid-cols-5 gap-2 mb-8\"},Ne={key:0,class:\"col-span-5 text-lg font-semibold text-left lg:col-span-1\"},Te={class:\"col-span-5 lg:col-span-4\"},Je={setup(y){const o=_e(),b=$e(),z=ye(),Q=ve(),j=\"customFields\",{t:c}=de(),K=me(),W=ce();let s=B(!1),C=B(!1),f=B(!1);B(!1);const I=B(!1),h=M(()=>W.name===\"customers.edit\");let X=M(()=>o.isFetchingInitialSettings);const D=M(()=>h.value?c(\"customers.edit_customer\"):c(\"customers.new_customer\")),Y=M(()=>({currentCustomer:{name:{required:g.withMessage(c(\"validation.required\"),R),minLength:g.withMessage(c(\"validation.name_min_length\",{count:3}),F(3))},prefix:{minLength:g.withMessage(c(\"validation.name_min_length\",{count:3}),F(3))},currency_id:{required:g.withMessage(c(\"validation.required\"),R)},email:{required:g.withMessage(c(\"validation.required\"),A(o.currentCustomer.enable_portal==!0)),email:g.withMessage(c(\"validation.email_incorrect\"),pe)},password:{required:g.withMessage(c(\"validation.required\"),A(o.currentCustomer.enable_portal==!0&&!o.currentCustomer.password_added)),minLength:g.withMessage(c(\"validation.password_min_length\",{count:8}),F(8))},confirm_password:{sameAsPassword:g.withMessage(c(\"validation.password_incorrect\"),ge(o.currentCustomer.password))},website:{url:g.withMessage(c(\"validation.invalid_url\"),be)},billing:{address_street_1:{maxLength:g.withMessage(c(\"validation.address_maxlength\",{count:255}),q(255))},address_street_2:{maxLength:g.withMessage(c(\"validation.address_maxlength\",{count:255}),q(255))}},shipping:{address_street_1:{maxLength:g.withMessage(c(\"validation.address_maxlength\",{count:255}),q(255))},address_street_2:{maxLength:g.withMessage(c(\"validation.address_maxlength\",{count:255}),q(255))}}}})),Z=M(()=>`${window.location.origin}/${Q.selectedCompany.slug}/customer/login`),a=Ce(Y,o,{$scope:j});o.resetCurrentCustomer(),o.fetchCustomerInitialSettings(h.value);async function ee(){if(a.value.$touch(),a.value.$invalid)return!0;I.value=!0;let l=T({},o.currentCustomer),t=null;try{t=await(h.value?o.updateCustomer:o.addCustomer)(l)}catch{I.value=!1;return}K.push(`/admin/customers/${t.data.data.id}/view`)}return(l,t)=>{const x=p(\"BaseBreadcrumbItem\"),te=p(\"BaseBreadcrumb-item\"),oe=p(\"BaseBreadcrumb\"),w=p(\"BaseIcon\"),E=p(\"BaseButton\"),ne=p(\"BasePageHeader\"),d=p(\"BaseInput\"),u=p(\"BaseInputGroup\"),P=p(\"BaseMultiselect\"),U=p(\"BaseInputGrid\"),k=p(\"BaseDivider\"),re=p(\"BaseSwitch\"),S=p(\"BaseTextarea\"),se=p(\"BaseCard\"),le=p(\"BasePage\");return _(),$(le,null,{default:i(()=>[m(\"form\",{onSubmit:fe(ee,[\"prevent\"])},[r(ne,{title:e(D)},{actions:i(()=>[m(\"div\",Be,[r(E,{type:\"submit\",loading:I.value,disabled:I.value},{left:i(n=>[r(w,{name:\"SaveIcon\",class:O(n.class)},null,8,[\"class\"])]),default:i(()=>[H(\" \"+v(e(h)?l.$t(\"customers.update_customer\"):l.$t(\"customers.save_customer\")),1)]),_:1},8,[\"loading\",\"disabled\"])])]),default:i(()=>[r(oe,null,{default:i(()=>[r(x,{title:l.$t(\"general.home\"),to:\"dashboard\"},null,8,[\"title\"]),r(x,{title:l.$tc(\"customers.customer\",2),to:\"/admin/customers\"},null,8,[\"title\"]),r(te,{title:e(D),to:\"#\",active:\"\"},null,8,[\"title\"])]),_:1})]),_:1},8,[\"title\"]),r(se,{class:\"mt-5\"},{default:i(()=>[m(\"div\",Me,[m(\"h6\",Ie,v(l.$t(\"customers.basic_info\")),1),r(U,{class:\"col-span-5 lg:col-span-4\"},{default:i(()=>[r(u,{label:l.$t(\"customers.display_name\"),required:\"\",error:e(a).currentCustomer.name.$error&&e(a).currentCustomer.name.$errors[0].$message,\"content-loading\":e(s)},{default:i(()=>[r(d,{modelValue:e(o).currentCustomer.name,\"onUpdate:modelValue\":t[0]||(t[0]=n=>e(o).currentCustomer.name=n),\"content-loading\":e(s),type:\"text\",name:\"name\",class:\"\",invalid:e(a).currentCustomer.name.$error,onInput:t[1]||(t[1]=n=>e(a).currentCustomer.name.$touch())},null,8,[\"modelValue\",\"content-loading\",\"invalid\"])]),_:1},8,[\"label\",\"error\",\"content-loading\"]),r(u,{label:l.$t(\"customers.primary_contact_name\"),\"content-loading\":e(s)},{default:i(()=>[r(d,{modelValue:e(o).currentCustomer.contact_name,\"onUpdate:modelValue\":t[2]||(t[2]=n=>e(o).currentCustomer.contact_name=n),modelModifiers:{trim:!0},\"content-loading\":e(s),type:\"text\"},null,8,[\"modelValue\",\"content-loading\"])]),_:1},8,[\"label\",\"content-loading\"]),r(u,{error:e(a).currentCustomer.email.$error&&e(a).currentCustomer.email.$errors[0].$message,\"content-loading\":e(s),label:l.$t(\"customers.email\")},{default:i(()=>[r(d,{modelValue:e(o).currentCustomer.email,\"onUpdate:modelValue\":t[3]||(t[3]=n=>e(o).currentCustomer.email=n),modelModifiers:{trim:!0},\"content-loading\":e(s),type:\"text\",name:\"email\",invalid:e(a).currentCustomer.email.$error,onInput:t[4]||(t[4]=n=>e(a).currentCustomer.email.$touch())},null,8,[\"modelValue\",\"content-loading\",\"invalid\"])]),_:1},8,[\"error\",\"content-loading\",\"label\"]),r(u,{label:l.$t(\"customers.phone\"),\"content-loading\":e(s)},{default:i(()=>[r(d,{modelValue:e(o).currentCustomer.phone,\"onUpdate:modelValue\":t[5]||(t[5]=n=>e(o).currentCustomer.phone=n),modelModifiers:{trim:!0},\"content-loading\":e(s),type:\"text\",name:\"phone\"},null,8,[\"modelValue\",\"content-loading\"])]),_:1},8,[\"label\",\"content-loading\"]),r(u,{label:l.$t(\"customers.primary_currency\"),\"content-loading\":e(s),error:e(a).currentCustomer.currency_id.$error&&e(a).currentCustomer.currency_id.$errors[0].$message,required:\"\"},{default:i(()=>[r(P,{modelValue:e(o).currentCustomer.currency_id,\"onUpdate:modelValue\":t[6]||(t[6]=n=>e(o).currentCustomer.currency_id=n),\"value-prop\":\"id\",label:\"name\",\"track-by\":\"name\",\"content-loading\":e(s),options:e(z).currencies,searchable:\"\",\"can-deselect\":!1,placeholder:l.$t(\"customers.select_currency\"),invalid:e(a).currentCustomer.currency_id.$error,class:\"w-full\"},null,8,[\"modelValue\",\"content-loading\",\"options\",\"placeholder\",\"invalid\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"]),r(u,{error:e(a).currentCustomer.website.$error&&e(a).currentCustomer.website.$errors[0].$message,label:l.$t(\"customers.website\"),\"content-loading\":e(s)},{default:i(()=>[r(d,{modelValue:e(o).currentCustomer.website,\"onUpdate:modelValue\":t[7]||(t[7]=n=>e(o).currentCustomer.website=n),\"content-loading\":e(s),type:\"url\",onInput:t[8]||(t[8]=n=>e(a).currentCustomer.website.$touch())},null,8,[\"modelValue\",\"content-loading\"])]),_:1},8,[\"error\",\"label\",\"content-loading\"]),r(u,{label:l.$t(\"customers.prefix\"),error:e(a).currentCustomer.prefix.$error&&e(a).currentCustomer.prefix.$errors[0].$message,\"content-loading\":e(s)},{default:i(()=>[r(d,{modelValue:e(o).currentCustomer.prefix,\"onUpdate:modelValue\":t[9]||(t[9]=n=>e(o).currentCustomer.prefix=n),\"content-loading\":e(s),type:\"text\",name:\"name\",class:\"\",invalid:e(a).currentCustomer.prefix.$error,onInput:t[10]||(t[10]=n=>e(a).currentCustomer.prefix.$touch())},null,8,[\"modelValue\",\"content-loading\",\"invalid\"])]),_:1},8,[\"label\",\"error\",\"content-loading\"])]),_:1})]),r(k,{class:\"mb-5 md:mb-8\"}),m(\"div\",xe,[m(\"h6\",Ue,v(l.$t(\"customers.portal_access\")),1),r(U,{class:\"col-span-5 lg:col-span-4\"},{default:i(()=>[m(\"div\",ke,[m(\"p\",Se,v(l.$t(\"customers.portal_access_text\")),1),r(re,{modelValue:e(o).currentCustomer.enable_portal,\"onUpdate:modelValue\":t[11]||(t[11]=n=>e(o).currentCustomer.enable_portal=n),class:\"mt-1 flex\"},null,8,[\"modelValue\"])]),e(o).currentCustomer.enable_portal?(_(),$(u,{key:0,\"content-loading\":e(s),label:l.$t(\"customers.portal_access_url\"),class:\"md:col-span-2\",\"help-text\":l.$t(\"customers.portal_access_url_help\")},{default:i(()=>[r(Ve,{token:e(Z)},null,8,[\"token\"])]),_:1},8,[\"content-loading\",\"label\",\"help-text\"])):V(\"\",!0),e(o).currentCustomer.enable_portal?(_(),$(u,{key:1,\"content-loading\":e(s),error:e(a).currentCustomer.password.$error&&e(a).currentCustomer.password.$errors[0].$message,label:l.$t(\"customers.password\")},{default:i(()=>[r(d,{modelValue:e(o).currentCustomer.password,\"onUpdate:modelValue\":t[14]||(t[14]=n=>e(o).currentCustomer.password=n),modelModifiers:{trim:!0},\"content-loading\":e(s),type:e(C)?\"text\":\"password\",name:\"password\",invalid:e(a).currentCustomer.password.$error,onInput:t[15]||(t[15]=n=>e(a).currentCustomer.password.$touch())},{right:i(()=>[e(C)?(_(),$(w,{key:0,name:\"EyeOffIcon\",class:\"w-5 h-5 mr-1 text-gray-500 cursor-pointer\",onClick:t[12]||(t[12]=n=>L(C)?C.value=!e(C):C=!e(C))})):(_(),$(w,{key:1,name:\"EyeIcon\",class:\"w-5 h-5 mr-1 text-gray-500 cursor-pointer\",onClick:t[13]||(t[13]=n=>L(C)?C.value=!e(C):C=!e(C))}))]),_:1},8,[\"modelValue\",\"content-loading\",\"type\",\"invalid\"])]),_:1},8,[\"content-loading\",\"error\",\"label\"])):V(\"\",!0),e(o).currentCustomer.enable_portal?(_(),$(u,{key:2,error:e(a).currentCustomer.confirm_password.$error&&e(a).currentCustomer.confirm_password.$errors[0].$message,\"content-loading\":e(s),label:\"Confirm Password\"},{default:i(()=>[r(d,{modelValue:e(o).currentCustomer.confirm_password,\"onUpdate:modelValue\":t[18]||(t[18]=n=>e(o).currentCustomer.confirm_password=n),modelModifiers:{trim:!0},\"content-loading\":e(s),type:e(f)?\"text\":\"password\",name:\"confirm_password\",invalid:e(a).currentCustomer.confirm_password.$error,onInput:t[19]||(t[19]=n=>e(a).currentCustomer.confirm_password.$touch())},{right:i(()=>[e(f)?(_(),$(w,{key:0,name:\"EyeOffIcon\",class:\"w-5 h-5 mr-1 text-gray-500 cursor-pointer\",onClick:t[16]||(t[16]=n=>L(f)?f.value=!e(f):f=!e(f))})):(_(),$(w,{key:1,name:\"EyeIcon\",class:\"w-5 h-5 mr-1 text-gray-500 cursor-pointer\",onClick:t[17]||(t[17]=n=>L(f)?f.value=!e(f):f=!e(f))}))]),_:1},8,[\"modelValue\",\"content-loading\",\"type\",\"invalid\"])]),_:1},8,[\"error\",\"content-loading\"])):V(\"\",!0)]),_:1})]),r(k,{class:\"mb-5 md:mb-8\"}),m(\"div\",qe,[m(\"h6\",Le,v(l.$t(\"customers.billing_address\")),1),e(o).currentCustomer.billing?(_(),$(U,{key:0,class:\"col-span-5 lg:col-span-4\"},{default:i(()=>[r(u,{label:l.$t(\"customers.name\"),\"content-loading\":e(s)},{default:i(()=>[r(d,{modelValue:e(o).currentCustomer.billing.name,\"onUpdate:modelValue\":t[20]||(t[20]=n=>e(o).currentCustomer.billing.name=n),modelModifiers:{trim:!0},\"content-loading\":e(s),type:\"text\",class:\"w-full\",name:\"address_name\"},null,8,[\"modelValue\",\"content-loading\"])]),_:1},8,[\"label\",\"content-loading\"]),r(u,{label:l.$t(\"customers.country\"),\"content-loading\":e(s)},{default:i(()=>[r(P,{modelValue:e(o).currentCustomer.billing.country_id,\"onUpdate:modelValue\":t[21]||(t[21]=n=>e(o).currentCustomer.billing.country_id=n),\"value-prop\":\"id\",label:\"name\",\"track-by\":\"name\",\"resolve-on-load\":\"\",searchable:\"\",\"content-loading\":e(s),options:e(z).countries,placeholder:l.$t(\"general.select_country\"),class:\"w-full\"},null,8,[\"modelValue\",\"content-loading\",\"options\",\"placeholder\"])]),_:1},8,[\"label\",\"content-loading\"]),r(u,{label:l.$t(\"customers.state\"),\"content-loading\":e(s)},{default:i(()=>[r(d,{modelValue:e(o).currentCustomer.billing.state,\"onUpdate:modelValue\":t[22]||(t[22]=n=>e(o).currentCustomer.billing.state=n),\"content-loading\":e(s),name:\"billing.state\",type:\"text\"},null,8,[\"modelValue\",\"content-loading\"])]),_:1},8,[\"label\",\"content-loading\"]),r(u,{\"content-loading\":e(s),label:l.$t(\"customers.city\")},{default:i(()=>[r(d,{modelValue:e(o).currentCustomer.billing.city,\"onUpdate:modelValue\":t[23]||(t[23]=n=>e(o).currentCustomer.billing.city=n),\"content-loading\":e(s),name:\"billing.city\",type:\"text\"},null,8,[\"modelValue\",\"content-loading\"])]),_:1},8,[\"content-loading\",\"label\"]),r(u,{label:l.$t(\"customers.address\"),error:e(a).currentCustomer.billing.address_street_1.$error&&e(a).currentCustomer.billing.address_street_1.$errors[0].$message||e(a).currentCustomer.billing.address_street_2.$error&&e(a).currentCustomer.billing.address_street_2.$errors[0].$message,\"content-loading\":e(s)},{default:i(()=>[r(S,{modelValue:e(o).currentCustomer.billing.address_street_1,\"onUpdate:modelValue\":t[24]||(t[24]=n=>e(o).currentCustomer.billing.address_street_1=n),modelModifiers:{trim:!0},\"content-loading\":e(s),placeholder:l.$t(\"general.street_1\"),type:\"text\",name:\"billing_street1\",\"container-class\":\"mt-3\",onInput:t[25]||(t[25]=n=>e(a).currentCustomer.billing.address_street_1.$touch())},null,8,[\"modelValue\",\"content-loading\",\"placeholder\"]),r(S,{modelValue:e(o).currentCustomer.billing.address_street_2,\"onUpdate:modelValue\":t[26]||(t[26]=n=>e(o).currentCustomer.billing.address_street_2=n),modelModifiers:{trim:!0},\"content-loading\":e(s),placeholder:l.$t(\"general.street_2\"),type:\"text\",class:\"mt-3\",name:\"billing_street2\",\"container-class\":\"mt-3\",onInput:t[27]||(t[27]=n=>e(a).currentCustomer.billing.address_street_2.$touch())},null,8,[\"modelValue\",\"content-loading\",\"placeholder\"])]),_:1},8,[\"label\",\"error\",\"content-loading\"]),m(\"div\",ze,[r(u,{\"content-loading\":e(s),label:l.$t(\"customers.phone\"),class:\"text-left\"},{default:i(()=>[r(d,{modelValue:e(o).currentCustomer.billing.phone,\"onUpdate:modelValue\":t[28]||(t[28]=n=>e(o).currentCustomer.billing.phone=n),modelModifiers:{trim:!0},\"content-loading\":e(s),type:\"text\",name:\"phone\"},null,8,[\"modelValue\",\"content-loading\"])]),_:1},8,[\"content-loading\",\"label\"]),r(u,{label:l.$t(\"customers.zip_code\"),\"content-loading\":e(s),class:\"mt-2 text-left\"},{default:i(()=>[r(d,{modelValue:e(o).currentCustomer.billing.zip,\"onUpdate:modelValue\":t[29]||(t[29]=n=>e(o).currentCustomer.billing.zip=n),modelModifiers:{trim:!0},\"content-loading\":e(s),type:\"text\",name:\"zip\"},null,8,[\"modelValue\",\"content-loading\"])]),_:1},8,[\"label\",\"content-loading\"])])]),_:1})):V(\"\",!0)]),r(k,{class:\"mb-5 md:mb-8\"}),m(\"div\",Pe,[m(\"div\",Fe,[r(E,{type:\"button\",\"content-loading\":e(s),size:\"sm\",variant:\"primary-outline\",onClick:t[30]||(t[30]=n=>e(o).copyAddress(!0))},{left:i(n=>[r(w,{name:\"DocumentDuplicateIcon\",class:O(n.class)},null,8,[\"class\"])]),default:i(()=>[H(\" \"+v(l.$t(\"customers.copy_billing_address\")),1)]),_:1},8,[\"content-loading\"])])]),e(o).currentCustomer.shipping?(_(),J(\"div\",je,[m(\"h6\",De,v(l.$t(\"customers.shipping_address\")),1),r(U,{class:\"col-span-5 lg:col-span-4\"},{default:i(()=>[r(u,{\"content-loading\":e(s),label:l.$t(\"customers.name\")},{default:i(()=>[r(d,{modelValue:e(o).currentCustomer.shipping.name,\"onUpdate:modelValue\":t[31]||(t[31]=n=>e(o).currentCustomer.shipping.name=n),modelModifiers:{trim:!0},\"content-loading\":e(s),type:\"text\",name:\"address_name\"},null,8,[\"modelValue\",\"content-loading\"])]),_:1},8,[\"content-loading\",\"label\"]),r(u,{label:l.$t(\"customers.country\"),\"content-loading\":e(s)},{default:i(()=>[r(P,{modelValue:e(o).currentCustomer.shipping.country_id,\"onUpdate:modelValue\":t[32]||(t[32]=n=>e(o).currentCustomer.shipping.country_id=n),\"value-prop\":\"id\",label:\"name\",\"track-by\":\"name\",\"resolve-on-load\":\"\",searchable:\"\",\"content-loading\":e(s),options:e(z).countries,placeholder:l.$t(\"general.select_country\"),class:\"w-full\"},null,8,[\"modelValue\",\"content-loading\",\"options\",\"placeholder\"])]),_:1},8,[\"label\",\"content-loading\"]),r(u,{label:l.$t(\"customers.state\"),\"content-loading\":e(s)},{default:i(()=>[r(d,{modelValue:e(o).currentCustomer.shipping.state,\"onUpdate:modelValue\":t[33]||(t[33]=n=>e(o).currentCustomer.shipping.state=n),\"content-loading\":e(s),name:\"shipping.state\",type:\"text\"},null,8,[\"modelValue\",\"content-loading\"])]),_:1},8,[\"label\",\"content-loading\"]),r(u,{\"content-loading\":e(s),label:l.$t(\"customers.city\")},{default:i(()=>[r(d,{modelValue:e(o).currentCustomer.shipping.city,\"onUpdate:modelValue\":t[34]||(t[34]=n=>e(o).currentCustomer.shipping.city=n),\"content-loading\":e(s),name:\"shipping.city\",type:\"text\"},null,8,[\"modelValue\",\"content-loading\"])]),_:1},8,[\"content-loading\",\"label\"]),r(u,{label:l.$t(\"customers.address\"),\"content-loading\":e(s),error:e(a).currentCustomer.shipping.address_street_1.$error&&e(a).currentCustomer.shipping.address_street_1.$errors[0].$message||e(a).currentCustomer.shipping.address_street_2.$error&&e(a).currentCustomer.shipping.address_street_2.$errors[0].$message},{default:i(()=>[r(S,{modelValue:e(o).currentCustomer.shipping.address_street_1,\"onUpdate:modelValue\":t[35]||(t[35]=n=>e(o).currentCustomer.shipping.address_street_1=n),modelModifiers:{trim:!0},\"content-loading\":e(s),type:\"text\",placeholder:l.$t(\"general.street_1\"),name:\"shipping_street1\",onInput:t[36]||(t[36]=n=>e(a).currentCustomer.shipping.address_street_1.$touch())},null,8,[\"modelValue\",\"content-loading\",\"placeholder\"]),r(S,{modelValue:e(o).currentCustomer.shipping.address_street_2,\"onUpdate:modelValue\":t[37]||(t[37]=n=>e(o).currentCustomer.shipping.address_street_2=n),modelModifiers:{trim:!0},\"content-loading\":e(s),type:\"text\",placeholder:l.$t(\"general.street_2\"),name:\"shipping_street2\",class:\"mt-3\",\"container-class\":\"mt-3\",onInput:t[38]||(t[38]=n=>e(a).currentCustomer.shipping.address_street_2.$touch())},null,8,[\"modelValue\",\"content-loading\",\"placeholder\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"]),m(\"div\",Ee,[r(u,{\"content-loading\":e(s),label:l.$t(\"customers.phone\"),class:\"text-left\"},{default:i(()=>[r(d,{modelValue:e(o).currentCustomer.shipping.phone,\"onUpdate:modelValue\":t[39]||(t[39]=n=>e(o).currentCustomer.shipping.phone=n),modelModifiers:{trim:!0},\"content-loading\":e(s),type:\"text\",name:\"phone\"},null,8,[\"modelValue\",\"content-loading\"])]),_:1},8,[\"content-loading\",\"label\"]),r(u,{label:l.$t(\"customers.zip_code\"),\"content-loading\":e(s),class:\"mt-2 text-left\"},{default:i(()=>[r(d,{modelValue:e(o).currentCustomer.shipping.zip,\"onUpdate:modelValue\":t[40]||(t[40]=n=>e(o).currentCustomer.shipping.zip=n),modelModifiers:{trim:!0},\"content-loading\":e(s),type:\"text\",name:\"zip\"},null,8,[\"modelValue\",\"content-loading\"])]),_:1},8,[\"label\",\"content-loading\"])])]),_:1})])):V(\"\",!0),e(b).customFields.length>0?(_(),$(k,{key:1,class:\"mb-5 md:mb-8\"})):V(\"\",!0),m(\"div\",Ge,[e(b).customFields.length>0?(_(),J(\"h6\",Ne,v(l.$t(\"settings.custom_fields.title\")),1)):V(\"\",!0),m(\"div\",Te,[r(we,{type:\"Customer\",store:e(o),\"store-prop\":\"currentCustomer\",\"is-edit\":e(h),\"is-loading\":e(X),\"custom-field-scope\":j},null,8,[\"store\",\"is-edit\",\"is-loading\"])])])]),_:1})],40,he)]),_:1})}}};export{Je as default};\n"
  },
  {
    "path": "public/build/assets/Create.f0feda6b.js",
    "content": "var oe=Object.defineProperty,se=Object.defineProperties;var le=Object.getOwnPropertyDescriptors;var N=Object.getOwnPropertySymbols;var re=Object.prototype.hasOwnProperty,ie=Object.prototype.propertyIsEnumerable;var P=(u,e,r)=>e in u?oe(u,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):u[e]=r,b=(u,e)=>{for(var r in e||(e={}))re.call(e,r)&&P(u,r,e[r]);if(N)for(var r of N(e))ie.call(e,r)&&P(u,r,e[r]);return u},h=(u,e)=>se(u,le(e));import{J as me,G as ue,aN as ce,B as T,k as p,L as x,M as de,N as pe,S as _e,T as ge,r as s,o as M,l as w,w as l,f as o,u as t,h as j,x as q,i as E,t as G,j as L,m as Ie,U as fe}from\"./vendor.d12b5734.js\";import{p as ve,q as Be,c as be,b as $e,e as ye,g as Ve}from\"./main.465728e1.js\";import{_ as Se}from\"./ItemUnitModal.031bb625.js\";const he=[\"onSubmit\"],Ue={setup(u){const e=ve(),r=Be(),$=be(),z=$e(),{t:_}=me(),y=ue(),A=ce(),D=ye(),I=T(!1),V=T(z.selectedCompanySettings.tax_per_item);let i=T(!1);e.$reset(),J();const v=p({get:()=>e.currentItem.price/100,set:n=>{e.currentItem.price=Math.round(n*100)}}),S=p({get:()=>{var n,a;return(a=(n=e==null?void 0:e.currentItem)==null?void 0:n.taxes)==null?void 0:a.map(d=>{if(d)return h(b({},d),{tax_type_id:d.id,tax_name:d.name+\" (\"+d.percent+\"%)\"})})},set:n=>{e.currentItem.taxes=n}}),B=p(()=>y.name===\"items.edit\"),U=p(()=>B.value?_(\"items.edit_item\"):_(\"items.new_item\")),R=p(()=>r.taxTypes.map(n=>h(b({},n),{tax_type_id:n.id,tax_name:n.name+\" (\"+n.percent+\"%)\"}))),Y=p(()=>V.value===\"YES\"),H=p(()=>({currentItem:{name:{required:x.withMessage(_(\"validation.required\"),de),minLength:x.withMessage(_(\"validation.name_min_length\",{count:3}),pe(3))},description:{maxLength:x.withMessage(_(\"validation.description_maxlength\"),_e(65e3))}}})),c=ge(H,e);async function F(){$.openModal({title:_(\"settings.customization.items.add_item_unit\"),componentName:\"ItemUnitModal\",size:\"sm\"})}async function J(){if(i.value=!0,await e.fetchItemUnits({limit:\"all\"}),D.hasAbilities(Ve.VIEW_TAX_TYPE)&&await r.fetchTaxTypes({limit:\"all\"}),B.value){let n=y.params.id;await e.fetchItem(n),e.currentItem.tax_per_item===1?V.value=\"YES\":V.value=\"NO\"}i.value=!1}async function O(){if(c.value.currentItem.$touch(),c.value.currentItem.$invalid)return!1;I.value=!0;try{let a=b({id:y.params.id},e.currentItem);e.currentItem&&e.currentItem.taxes&&(a.taxes=e.currentItem.taxes.map(g=>({tax_type_id:g.tax_type_id,amount:v.value*g.percent,percent:g.percent,name:g.name,collective_tax:0}))),await(B.value?e.updateItem:e.addItem)(a),I.value=!1,A.push(\"/admin/items\"),n()}catch{I.value=!1;return}function n(){$.closeModal(),setTimeout(()=>{e.resetCurrentItem(),$.$reset(),c.value.$reset()},300)}}return(n,a)=>{const d=s(\"BaseBreadcrumbItem\"),g=s(\"BaseBreadcrumb\"),W=s(\"BasePageHeader\"),X=s(\"BaseInput\"),f=s(\"BaseInputGroup\"),K=s(\"BaseMoney\"),C=s(\"BaseIcon\"),Q=s(\"BaseSelectAction\"),k=s(\"BaseMultiselect\"),Z=s(\"BaseTextarea\"),ee=s(\"BaseButton\"),te=s(\"BaseInputGrid\"),ne=s(\"BaseCard\"),ae=s(\"BasePage\");return M(),w(ae,null,{default:l(()=>[o(W,{title:t(U)},{default:l(()=>[o(g,null,{default:l(()=>[o(d,{title:n.$t(\"general.home\"),to:\"dashboard\"},null,8,[\"title\"]),o(d,{title:n.$tc(\"items.item\",2),to:\"/admin/items\"},null,8,[\"title\"]),o(d,{title:t(U),to:\"#\",active:\"\"},null,8,[\"title\"])]),_:1})]),_:1},8,[\"title\"]),o(Se),j(\"form\",{class:\"grid lg:grid-cols-2 mt-6\",action:\"submit\",onSubmit:fe(O,[\"prevent\"])},[o(ne,{class:\"w-full\"},{default:l(()=>[o(te,{layout:\"one-column\"},{default:l(()=>[o(f,{label:n.$t(\"items.name\"),\"content-loading\":t(i),required:\"\",error:t(c).currentItem.name.$error&&t(c).currentItem.name.$errors[0].$message},{default:l(()=>[o(X,{modelValue:t(e).currentItem.name,\"onUpdate:modelValue\":a[0]||(a[0]=m=>t(e).currentItem.name=m),\"content-loading\":t(i),invalid:t(c).currentItem.name.$error,onInput:a[1]||(a[1]=m=>t(c).currentItem.name.$touch())},null,8,[\"modelValue\",\"content-loading\",\"invalid\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"]),o(f,{label:n.$t(\"items.price\"),\"content-loading\":t(i)},{default:l(()=>[o(K,{modelValue:t(v),\"onUpdate:modelValue\":a[2]||(a[2]=m=>q(v)?v.value=m:null),\"content-loading\":t(i)},null,8,[\"modelValue\",\"content-loading\"])]),_:1},8,[\"label\",\"content-loading\"]),o(f,{\"content-loading\":t(i),label:n.$t(\"items.unit\")},{default:l(()=>[o(k,{modelValue:t(e).currentItem.unit_id,\"onUpdate:modelValue\":a[3]||(a[3]=m=>t(e).currentItem.unit_id=m),\"content-loading\":t(i),label:\"name\",options:t(e).itemUnits,\"value-prop\":\"id\",\"can-deselect\":!1,\"can-clear\":!1,placeholder:n.$t(\"items.select_a_unit\"),searchable:\"\",\"track-by\":\"name\"},{action:l(()=>[o(Q,{onClick:F},{default:l(()=>[o(C,{name:\"PlusIcon\",class:\"h-4 mr-2 -ml-2 text-center text-primary-400\"}),E(\" \"+G(n.$t(\"settings.customization.items.add_item_unit\")),1)]),_:1})]),_:1},8,[\"modelValue\",\"content-loading\",\"options\",\"placeholder\"])]),_:1},8,[\"content-loading\",\"label\"]),t(Y)?(M(),w(f,{key:0,label:n.$t(\"items.taxes\"),\"content-loading\":t(i)},{default:l(()=>[o(k,{modelValue:t(S),\"onUpdate:modelValue\":a[4]||(a[4]=m=>q(S)?S.value=m:null),\"content-loading\":t(i),options:t(R),mode:\"tags\",label:\"tax_name\",class:\"w-full\",\"value-prop\":\"id\",\"can-deselect\":!1,\"can-clear\":!1,searchable:\"\",\"track-by\":\"tax_name\",object:\"\"},null,8,[\"modelValue\",\"content-loading\",\"options\"])]),_:1},8,[\"label\",\"content-loading\"])):L(\"\",!0),o(f,{label:n.$t(\"items.description\"),\"content-loading\":t(i),error:t(c).currentItem.description.$error&&t(c).currentItem.description.$errors[0].$message},{default:l(()=>[o(Z,{modelValue:t(e).currentItem.description,\"onUpdate:modelValue\":a[5]||(a[5]=m=>t(e).currentItem.description=m),\"content-loading\":t(i),name:\"description\",row:2,rows:\"2\",onInput:a[6]||(a[6]=m=>t(c).currentItem.description.$touch())},null,8,[\"modelValue\",\"content-loading\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"]),j(\"div\",null,[o(ee,{\"content-loading\":t(i),type:\"submit\",loading:I.value},{left:l(m=>[I.value?L(\"\",!0):(M(),w(C,{key:0,name:\"SaveIcon\",class:Ie(m.class)},null,8,[\"class\"]))]),default:l(()=>[E(\" \"+G(t(B)?n.$t(\"items.update_item\"):n.$t(\"items.save_item\")),1)]),_:1},8,[\"content-loading\",\"loading\"])])]),_:1})]),_:1})],40,he)]),_:1})}}};export{Ue as default};\n"
  },
  {
    "path": "public/build/assets/CreateCustomFields.c1c460e4.js",
    "content": "var I=Object.defineProperty,b=Object.defineProperties;var g=Object.getOwnPropertyDescriptors;var y=Object.getOwnPropertySymbols;var q=Object.prototype.hasOwnProperty,h=Object.prototype.propertyIsEnumerable;var f=(e,t,r)=>t in e?I(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,_=(e,t)=>{for(var r in t||(t={}))q.call(t,r)&&f(e,r,t[r]);if(y)for(var r of y(t))h.call(t,r)&&f(e,r,t[r]);return e},v=(e,t)=>b(e,g(t));import{J as j,L as w,O as V,T as L,k as T,aE as F,r as E,o as n,l as m,w as P,aj as O,u as c,_ as S,C as x,e as D,f as A,F as R,y as k,j as B,I as C}from\"./vendor.d12b5734.js\";import{o as i,m as Y}from\"./main.465728e1.js\";function $(e){switch(e){case\"./types/DateTimeType.vue\":return i(()=>import(\"./DateTimeType.6886ff98.js\"),[\"assets/DateTimeType.6886ff98.js\",\"assets/vendor.d12b5734.js\"]);case\"./types/DateType.vue\":return i(()=>import(\"./DateType.12fc8765.js\"),[\"assets/DateType.12fc8765.js\",\"assets/vendor.d12b5734.js\"]);case\"./types/DropdownType.vue\":return i(()=>import(\"./DropdownType.2d01b840.js\"),[\"assets/DropdownType.2d01b840.js\",\"assets/vendor.d12b5734.js\"]);case\"./types/InputType.vue\":return i(()=>import(\"./InputType.cf0dfc7c.js\"),[\"assets/InputType.cf0dfc7c.js\",\"assets/vendor.d12b5734.js\"]);case\"./types/NumberType.vue\":return i(()=>import(\"./NumberType.7b73360f.js\"),[\"assets/NumberType.7b73360f.js\",\"assets/vendor.d12b5734.js\"]);case\"./types/PhoneType.vue\":return i(()=>import(\"./PhoneType.29ae66c8.js\"),[\"assets/PhoneType.29ae66c8.js\",\"assets/vendor.d12b5734.js\"]);case\"./types/SwitchType.vue\":return i(()=>import(\"./SwitchType.591a8b07.js\"),[\"assets/SwitchType.591a8b07.js\",\"assets/vendor.d12b5734.js\"]);case\"./types/TextAreaType.vue\":return i(()=>import(\"./TextAreaType.27565abe.js\"),[\"assets/TextAreaType.27565abe.js\",\"assets/vendor.d12b5734.js\"]);case\"./types/TimeType.vue\":return i(()=>import(\"./TimeType.8ac8afd1.js\"),[\"assets/TimeType.8ac8afd1.js\",\"assets/vendor.d12b5734.js\"]);case\"./types/UrlType.vue\":return i(()=>import(\"./UrlType.d123ab64.js\"),[\"assets/UrlType.d123ab64.js\",\"assets/vendor.d12b5734.js\"]);default:return new Promise(function(t,r){(typeof queueMicrotask==\"function\"?queueMicrotask:setTimeout)(r.bind(null,new Error(\"Unknown variable dynamic import: \"+e)))})}}const M={props:{field:{type:Object,required:!0},customFieldScope:{type:String,required:!0},index:{type:Number,required:!0},store:{type:Object,required:!0},storeProp:{type:String,required:!0}},setup(e){const t=e,{t:r}=j(),d={value:{required:w.withMessage(r(\"validation.required\"),V(t.field.is_required))}},a=L(d,T(()=>t.field),{$scope:t.customFieldScope}),o=T(()=>t.field.type?F(()=>$(`./types/${t.field.type}Type.vue`)):!1);return(u,s)=>{const l=E(\"BaseInputGroup\");return n(),m(l,{label:e.field.label,required:!!e.field.is_required,error:c(a).value.$error&&c(a).value.$errors[0].$message},{default:P(()=>[(n(),m(O(c(o)),{modelValue:e.field.value,\"onUpdate:modelValue\":s[0]||(s[0]=p=>e.field.value=p),options:e.field.options,invalid:c(a).value.$error,placeholder:e.field.placeholder},null,8,[\"modelValue\",\"options\",\"invalid\",\"placeholder\"]))]),_:1},8,[\"label\",\"required\",\"error\"])}}},N={key:0},J={props:{store:{type:Object,required:!0},storeProp:{type:String,required:!0},isEdit:{type:Boolean,default:!1},type:{type:String,default:null},gridLayout:{type:String,default:\"two-column\"},isLoading:{type:Boolean,default:null},customFieldScope:{type:String,required:!0}},setup(e){const t=e,r=Y();a();function d(){t.isEdit&&t.store[t.storeProp].fields.forEach(o=>{const u=t.store[t.storeProp].customFields.findIndex(s=>s.id===o.custom_field_id);if(u>-1){let s=o.default_answer;s&&o.custom_field.type===\"DateTime\"&&(s=C(o.default_answer,\"YYYY-MM-DD HH:mm:ss\").format(\"YYYY-MM-DD HH:mm\")),t.store[t.storeProp].customFields[u]=v(_({},o),{id:o.custom_field_id,value:s,label:o.custom_field.label,options:o.custom_field.options,is_required:o.custom_field.is_required,placeholder:o.custom_field.placeholder,order:o.custom_field.order})}})}async function a(){let u=(await r.fetchCustomFields({type:t.type,limit:\"all\"})).data.data;u.map(s=>s.value=s.default_answer),t.store[t.storeProp].customFields=S.sortBy(u,s=>s.order),d()}return x(()=>t.store[t.storeProp].fields,o=>{d()}),(o,u)=>{const s=E(\"BaseInputGrid\");return e.store[e.storeProp]&&e.store[e.storeProp].customFields.length>0&&!e.isLoading?(n(),D(\"div\",N,[A(s,{layout:e.gridLayout},{default:P(()=>[(n(!0),D(R,null,k(e.store[e.storeProp].customFields,(l,p)=>(n(),m(M,{key:l.id,\"custom-field-scope\":e.customFieldScope,store:e.store,\"store-prop\":e.storeProp,index:p,field:l},null,8,[\"custom-field-scope\",\"store\",\"store-prop\",\"index\",\"field\"]))),128))]),_:1},8,[\"layout\"])])):B(\"\",!0)}}};export{J as _};\n"
  },
  {
    "path": "public/build/assets/CustomFieldsSetting.feceee26.js",
    "content": "var ie=Object.defineProperty;var W=Object.getOwnPropertySymbols;var de=Object.prototype.hasOwnProperty,me=Object.prototype.propertyIsEnumerable;var Z=(m,n,e)=>n in m?ie(m,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):m[n]=e,ee=(m,n)=>{for(var e in n||(n={}))de.call(n,e)&&Z(m,e,n[e]);if(W)for(var e of W(n))me.call(n,e)&&Z(m,e,n[e]);return m};import{J as H,G as ce,ah as te,r as d,o as C,l as F,w as u,f as l,u as t,i as B,t as $,j as M,B as L,e as z,aY as pe,U as se,a0 as le,k as D,aE as _e,L as k,M as A,aT as fe,T as ye,h as O,x as oe,y as ve,m as G,F as Ce,aj as be,V as ge}from\"./vendor.d12b5734.js\";import{j as Fe,u as Te,m as K,e as ae,c as Y,g as U,o as T}from\"./main.465728e1.js\";const we={props:{row:{type:Object,default:null},table:{type:Object,default:null},loadData:{type:Function,default:null}},setup(m){const n=m,e=Fe();Te();const{t:i}=H(),v=K();ce();const f=ae(),c=Y();te(\"utils\");async function p(b){await v.fetchCustomField(b),c.openModal({title:i(\"settings.custom_fields.edit_custom_field\"),componentName:\"CustomFieldModal\",size:\"sm\",data:b,refreshData:n.loadData})}async function V(b){e.openDialog({title:i(\"general.are_you_sure\"),message:i(\"settings.custom_fields.custom_field_confirm_delete\"),yesLabel:i(\"general.ok\"),noLabel:i(\"general.cancel\"),variant:\"danger\",hideNoButton:!1,size:\"lg\"}).then(async g=>{g&&(await v.deleteCustomFields(b),n.loadData&&n.loadData())})}return(b,g)=>{const y=d(\"BaseIcon\"),I=d(\"BaseDropdownItem\"),h=d(\"BaseDropdown\");return C(),F(h,null,{activator:u(()=>[l(y,{name:\"DotsHorizontalIcon\",class:\"h-5 text-gray-500\"})]),default:u(()=>[t(f).hasAbilities(t(U).EDIT_CUSTOM_FIELDS)?(C(),F(I,{key:0,onClick:g[0]||(g[0]=o=>p(m.row.id))},{default:u(()=>[l(y,{name:\"PencilIcon\",class:\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"}),B(\" \"+$(b.$t(\"general.edit\")),1)]),_:1})):M(\"\",!0),t(f).hasAbilities(t(U).DELETE_CUSTOM_FIELDS)?(C(),F(I,{key:1,onClick:g[1]||(g[1]=o=>V(m.row.id))},{default:u(()=>[l(y,{name:\"TrashIcon\",class:\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"}),B(\" \"+$(b.$t(\"general.delete\")),1)]),_:1})):M(\"\",!0)]),_:1})}}},$e={class:\"flex items-center mt-1\"},Ie={emits:[\"onAdd\"],setup(m,{emit:n}){const e=L(null);function i(){if(e.value==null||e.value==\"\"||e.value==null)return!0;n(\"onAdd\",e.value),e.value=null}return(v,f)=>{const c=d(\"BaseInput\"),p=d(\"BaseIcon\");return C(),z(\"div\",$e,[l(c,{modelValue:e.value,\"onUpdate:modelValue\":f[0]||(f[0]=V=>e.value=V),type:\"text\",class:\"w-full md:w-96\",placeholder:v.$t(\"settings.custom_fields.press_enter_to_add\"),onClick:i,onKeydown:pe(se(i,[\"prevent\",\"stop\"]),[\"enter\"])},null,8,[\"modelValue\",\"placeholder\",\"onKeydown\"]),l(p,{name:\"PlusCircleIcon\",class:\"ml-1 text-primary-500 cursor-pointer\",onClick:i})])}}};function he(m){switch(m){case\"../../custom-fields/types/DateTimeType.vue\":return T(()=>import(\"./DateTimeType.6886ff98.js\"),[\"assets/DateTimeType.6886ff98.js\",\"assets/vendor.d12b5734.js\"]);case\"../../custom-fields/types/DateType.vue\":return T(()=>import(\"./DateType.12fc8765.js\"),[\"assets/DateType.12fc8765.js\",\"assets/vendor.d12b5734.js\"]);case\"../../custom-fields/types/DropdownType.vue\":return T(()=>import(\"./DropdownType.2d01b840.js\"),[\"assets/DropdownType.2d01b840.js\",\"assets/vendor.d12b5734.js\"]);case\"../../custom-fields/types/InputType.vue\":return T(()=>import(\"./InputType.cf0dfc7c.js\"),[\"assets/InputType.cf0dfc7c.js\",\"assets/vendor.d12b5734.js\"]);case\"../../custom-fields/types/NumberType.vue\":return T(()=>import(\"./NumberType.7b73360f.js\"),[\"assets/NumberType.7b73360f.js\",\"assets/vendor.d12b5734.js\"]);case\"../../custom-fields/types/PhoneType.vue\":return T(()=>import(\"./PhoneType.29ae66c8.js\"),[\"assets/PhoneType.29ae66c8.js\",\"assets/vendor.d12b5734.js\"]);case\"../../custom-fields/types/SwitchType.vue\":return T(()=>import(\"./SwitchType.591a8b07.js\"),[\"assets/SwitchType.591a8b07.js\",\"assets/vendor.d12b5734.js\"]);case\"../../custom-fields/types/TextAreaType.vue\":return T(()=>import(\"./TextAreaType.27565abe.js\"),[\"assets/TextAreaType.27565abe.js\",\"assets/vendor.d12b5734.js\"]);case\"../../custom-fields/types/TimeType.vue\":return T(()=>import(\"./TimeType.8ac8afd1.js\"),[\"assets/TimeType.8ac8afd1.js\",\"assets/vendor.d12b5734.js\"]);case\"../../custom-fields/types/UrlType.vue\":return T(()=>import(\"./UrlType.d123ab64.js\"),[\"assets/UrlType.d123ab64.js\",\"assets/vendor.d12b5734.js\"]);default:return new Promise(function(n,e){(typeof queueMicrotask==\"function\"?queueMicrotask:setTimeout)(e.bind(null,new Error(\"Unknown variable dynamic import: \"+m)))})}}const Be={class:\"flex justify-between w-full\"},De=[\"onSubmit\"],Ve={class:\"overflow-y-auto max-h-[550px]\"},Se={class:\"px-4 md:px-8 py-8 overflow-y-auto sm:p-6\"},Ee={class:\"z-0 flex justify-end p-4 border-t border-solid border-gray-light border-modal-bg\"},qe={setup(m){const n=Y(),e=K(),{t:i}=H();let v=L(!1);const f=le([\"Customer\",\"Invoice\",\"Estimate\",\"Expense\",\"Payment\"]),c=le([{label:\"Text\",value:\"Input\"},{label:\"Textarea\",value:\"TextArea\"},{label:\"Phone\",value:\"Phone\"},{label:\"URL\",value:\"Url\"},{label:\"Number\",value:\"Number\"},{label:\"Select Field\",value:\"Dropdown\"},{label:\"Switch Toggle\",value:\"Switch\"},{label:\"Date\",value:\"Date\"},{label:\"Time\",value:\"Time\"},{label:\"Date & Time\",value:\"DateTime\"}]);let p=L(c[0]);const V=D(()=>n.active&&n.componentName===\"CustomFieldModal\"),b=D(()=>p.value&&p.value.label===\"Switch Toggle\"),g=D(()=>p.value&&p.value.label===\"Select Field\"),y=D(()=>e.currentCustomField.type?_e(()=>he(`../../custom-fields/types/${e.currentCustomField.type}Type.vue`)):!1),I=D({get:()=>e.currentCustomField.is_required===1,set:s=>{const a=s?1:0;e.currentCustomField.is_required=a}}),h=D(()=>({currentCustomField:{type:{required:k.withMessage(i(\"validation.required\"),A)},name:{required:k.withMessage(i(\"validation.required\"),A)},label:{required:k.withMessage(i(\"validation.required\"),A)},model_type:{required:k.withMessage(i(\"validation.required\"),A)},order:{required:k.withMessage(i(\"validation.required\"),A),numeric:k.withMessage(i(\"validation.numbers_only\"),fe)},type:{required:k.withMessage(i(\"validation.required\"),A)}}})),o=ye(h,D(()=>e));function S(){e.isEdit?p.value=c.find(s=>s.value==e.currentCustomField.type):(e.currentCustomField.model_type=f[0],e.currentCustomField.type=c[0].value,p.value=c[0])}async function P(){if(o.value.currentCustomField.$touch(),o.value.currentCustomField.$invalid)return!0;v.value=!0;let s=ee({},e.currentCustomField);if(e.currentCustomField.options&&(s.options=e.currentCustomField.options.map(E=>E.name)),s.type==\"Time\"&&typeof s.default_answer==\"object\"){let E=s&&s.default_answer&&s.default_answer.HH?s.default_answer.HH:null,q=s&&s.default_answer&&s.default_answer.mm?s.default_answer.mm:null;s&&s.default_answer&&s.default_answer.ss&&s.default_answer.ss,s.default_answer=`${E}:${q}`}await(e.isEdit?e.updateCustomField:e.addCustomField)(s),v.value=!1,n.refreshData&&n.refreshData(),R()}function x(s){e.currentCustomField.options=[{name:s},...e.currentCustomField.options]}function _(s){if(e.isEdit&&e.currentCustomField.in_use)return;e.currentCustomField.options[s].name===e.currentCustomField.default_answer&&(e.currentCustomField.default_answer=null),e.currentCustomField.options.splice(s,1)}function N(s){e.currentCustomField.type=s.value}function R(){n.closeModal(),setTimeout(()=>{e.resetCurrentCustomField(),o.value.$reset()},300)}return(s,a)=>{const E=d(\"BaseIcon\"),q=d(\"BaseInput\"),w=d(\"BaseInputGroup\"),J=d(\"BaseMultiselect\"),re=d(\"BaseSwitch\"),ne=d(\"BaseInputGrid\"),X=d(\"BaseButton\"),ue=d(\"BaseModal\");return C(),F(ue,{show:t(V),onOpen:S},{header:u(()=>[O(\"div\",Be,[B($(t(n).title)+\" \",1),l(E,{name:\"XIcon\",class:\"w-6 h-6 text-gray-500 cursor-pointer\",onClick:R})])]),default:u(()=>[O(\"form\",{action:\"\",onSubmit:se(P,[\"prevent\"])},[O(\"div\",Ve,[O(\"div\",Se,[l(ne,{layout:\"one-column\"},{default:u(()=>[l(w,{label:s.$t(\"settings.custom_fields.name\"),required:\"\",error:t(o).currentCustomField.name.$error&&t(o).currentCustomField.name.$errors[0].$message},{default:u(()=>[l(q,{ref:(r,j)=>{j.name=r},modelValue:t(e).currentCustomField.name,\"onUpdate:modelValue\":a[0]||(a[0]=r=>t(e).currentCustomField.name=r),invalid:t(o).currentCustomField.name.$error,onInput:a[1]||(a[1]=r=>t(o).currentCustomField.name.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"]),l(w,{label:s.$t(\"settings.custom_fields.model\"),error:t(o).currentCustomField.model_type.$error&&t(o).currentCustomField.model_type.$errors[0].$message,\"help-text\":t(e).currentCustomField.in_use?s.$t(\"settings.custom_fields.model_in_use\"):\"\",required:\"\"},{default:u(()=>[l(J,{modelValue:t(e).currentCustomField.model_type,\"onUpdate:modelValue\":a[2]||(a[2]=r=>t(e).currentCustomField.model_type=r),options:t(f),\"can-deselect\":!1,invalid:t(o).currentCustomField.model_type.$error,searchable:!0,disabled:t(e).currentCustomField.in_use,onInput:a[3]||(a[3]=r=>t(o).currentCustomField.model_type.$touch())},null,8,[\"modelValue\",\"options\",\"invalid\",\"disabled\"])]),_:1},8,[\"label\",\"error\",\"help-text\"]),l(w,{class:\"flex items-center space-x-4\",label:s.$t(\"settings.custom_fields.required\")},{default:u(()=>[l(re,{modelValue:t(I),\"onUpdate:modelValue\":a[4]||(a[4]=r=>oe(I)?I.value=r:null)},null,8,[\"modelValue\"])]),_:1},8,[\"label\"]),l(w,{label:s.$t(\"settings.custom_fields.type\"),error:t(o).currentCustomField.type.$error&&t(o).currentCustomField.type.$errors[0].$message,\"help-text\":t(e).currentCustomField.in_use?s.$t(\"settings.custom_fields.type_in_use\"):\"\",required:\"\"},{default:u(()=>[l(J,{modelValue:t(p),\"onUpdate:modelValue\":[a[5]||(a[5]=r=>oe(p)?p.value=r:p=r),N],options:t(c),invalid:t(o).currentCustomField.type.$error,disabled:t(e).currentCustomField.in_use,searchable:!0,\"can-deselect\":!1,object:\"\"},null,8,[\"modelValue\",\"options\",\"invalid\",\"disabled\"])]),_:1},8,[\"label\",\"error\",\"help-text\"]),l(w,{label:s.$t(\"settings.custom_fields.label\"),required:\"\",error:t(o).currentCustomField.label.$error&&t(o).currentCustomField.label.$errors[0].$message},{default:u(()=>[l(q,{modelValue:t(e).currentCustomField.label,\"onUpdate:modelValue\":a[6]||(a[6]=r=>t(e).currentCustomField.label=r),invalid:t(o).currentCustomField.label.$error,onInput:a[7]||(a[7]=r=>t(o).currentCustomField.label.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"]),t(g)?(C(),F(w,{key:0,label:s.$t(\"settings.custom_fields.options\")},{default:u(()=>[l(Ie,{onOnAdd:x}),(C(!0),z(Ce,null,ve(t(e).currentCustomField.options,(r,j)=>(C(),z(\"div\",{key:j,class:\"flex items-center mt-5\"},[l(q,{modelValue:r.name,\"onUpdate:modelValue\":Q=>r.name=Q,class:\"w-64\"},null,8,[\"modelValue\",\"onUpdate:modelValue\"]),l(E,{name:\"MinusCircleIcon\",class:G([\"ml-1 cursor-pointer\",t(e).currentCustomField.in_use?\"text-gray-300\":\"text-red-300\"]),onClick:Q=>_(j)},null,8,[\"class\",\"onClick\"])]))),128))]),_:1},8,[\"label\"])):M(\"\",!0),l(w,{label:s.$t(\"settings.custom_fields.default_value\"),class:\"relative\"},{default:u(()=>[(C(),F(be(t(y)),{modelValue:t(e).currentCustomField.default_answer,\"onUpdate:modelValue\":a[8]||(a[8]=r=>t(e).currentCustomField.default_answer=r),options:t(e).currentCustomField.options,\"default-date-time\":t(e).currentCustomField.dateTimeValue},null,8,[\"modelValue\",\"options\",\"default-date-time\"]))]),_:1},8,[\"label\"]),t(b)?M(\"\",!0):(C(),F(w,{key:1,label:s.$t(\"settings.custom_fields.placeholder\")},{default:u(()=>[l(q,{modelValue:t(e).currentCustomField.placeholder,\"onUpdate:modelValue\":a[9]||(a[9]=r=>t(e).currentCustomField.placeholder=r)},null,8,[\"modelValue\"])]),_:1},8,[\"label\"])),l(w,{label:s.$t(\"settings.custom_fields.order\"),error:t(o).currentCustomField.order.$error&&t(o).currentCustomField.order.$errors[0].$message,required:\"\"},{default:u(()=>[l(q,{modelValue:t(e).currentCustomField.order,\"onUpdate:modelValue\":a[10]||(a[10]=r=>t(e).currentCustomField.order=r),type:\"number\",invalid:t(o).currentCustomField.order.$error,onInput:a[11]||(a[11]=r=>t(o).currentCustomField.order.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"])]),_:1})])]),O(\"div\",Ee,[l(X,{class:\"mr-3\",type:\"button\",variant:\"primary-outline\",onClick:R},{default:u(()=>[B($(s.$t(\"general.cancel\")),1)]),_:1}),l(X,{variant:\"primary\",loading:t(v),disabled:t(v),type:\"submit\"},{left:u(r=>[t(v)?M(\"\",!0):(C(),F(E,{key:0,class:G(r.class),name:\"SaveIcon\"},null,8,[\"class\"]))]),default:u(()=>[B(\" \"+$(t(e).isEdit?s.$t(\"general.update\"):s.$t(\"general.save\")),1)]),_:1},8,[\"loading\",\"disabled\"])])],40,De)]),_:1},8,[\"show\"])}}},ke={class:\"text-xs text-gray-500\"},Ue={setup(m){const n=Y(),e=K(),i=ae(),v=te(\"utils\"),{t:f}=H(),c=L(null),p=D(()=>[{key:\"name\",label:f(\"settings.custom_fields.name\"),thClass:\"extra\",tdClass:\"font-medium text-gray-900\"},{key:\"model_type\",label:f(\"settings.custom_fields.model\")},{key:\"type\",label:f(\"settings.custom_fields.type\")},{key:\"is_required\",label:f(\"settings.custom_fields.required\")},{key:\"actions\",label:\"\",tdClass:\"text-right text-sm font-medium\",sortable:!1}]);async function V({page:y,filter:I,sort:h}){let o={orderByField:h.fieldName||\"created_at\",orderBy:h.order||\"desc\",page:y},S=await e.fetchCustomFields(o);return{data:S.data.data,pagination:{totalPages:S.data.meta.last_page,currentPage:y,limit:5,totalCount:S.data.meta.total}}}function b(){n.openModal({title:f(\"settings.custom_fields.add_custom_field\"),componentName:\"CustomFieldModal\",size:\"sm\",refreshData:c.value&&c.value.refresh})}async function g(){c.value&&c.value.refresh()}return(y,I)=>{const h=d(\"BaseIcon\"),o=d(\"BaseButton\"),S=d(\"BaseBadge\"),P=d(\"BaseTable\"),x=d(\"BaseSettingCard\");return C(),F(x,{title:y.$t(\"settings.menu_title.custom_fields\"),description:y.$t(\"settings.custom_fields.section_description\")},{action:u(()=>[t(i).hasAbilities(t(U).CREATE_CUSTOM_FIELDS)?(C(),F(o,{key:0,variant:\"primary-outline\",onClick:b},{left:u(_=>[l(h,{class:G(_.class),name:\"PlusIcon\"},null,8,[\"class\"]),B(\" \"+$(y.$t(\"settings.custom_fields.add_custom_field\")),1)]),_:1})):M(\"\",!0)]),default:u(()=>[l(qe),l(P,{ref:(_,N)=>{N.table=_,c.value=_},data:V,columns:t(p),class:\"mt-16\"},ge({\"cell-name\":u(({row:_})=>[B($(_.data.name)+\" \",1),O(\"span\",ke,\" (\"+$(_.data.slug)+\")\",1)]),\"cell-is_required\":u(({row:_})=>[l(S,{\"bg-color\":t(v).getBadgeStatusColor(_.data.is_required?\"YES\":\"NO\").bgColor,color:t(v).getBadgeStatusColor(_.data.is_required?\"YES\":\"NO\").color},{default:u(()=>[B($(_.data.is_required?y.$t(\"settings.custom_fields.yes\"):y.$t(\"settings.custom_fields.no\").replace(\"_\",\" \")),1)]),_:2},1032,[\"bg-color\",\"color\"])]),_:2},[t(i).hasAbilities([t(U).DELETE_CUSTOM_FIELDS,t(U).EDIT_CUSTOM_FIELDS])?{name:\"cell-actions\",fn:u(({row:_})=>[l(we,{row:_.data,table:c.value,\"load-data\":g},null,8,[\"row\",\"table\"])])}:void 0]),1032,[\"columns\"])]),_:1},8,[\"title\",\"description\"])}}};export{Ue as default};\n"
  },
  {
    "path": "public/build/assets/CustomerIndexDropdown.bf4b48d6.js",
    "content": "import{l as S,u as b,j as C,e as x,g}from\"./main.465728e1.js\";import{J as E,G as j,aN as T,ah as N,r as l,o as a,l as s,w as t,u as e,f as n,i as p,t as f,j as y}from\"./vendor.d12b5734.js\";const V={props:{row:{type:Object,default:null},table:{type:Object,default:null},loadData:{type:Function,default:()=>{}}},setup(i){const w=i,_=S();b();const v=C(),m=x(),{t:u}=E(),h=j();T(),N(\"utils\");function B(r){v.openDialog({title:u(\"general.are_you_sure\"),message:u(\"customers.confirm_delete\",1),yesLabel:u(\"general.ok\"),noLabel:u(\"general.cancel\"),variant:\"danger\",hideNoButton:!1,size:\"lg\"}).then(c=>{c&&_.deleteCustomer({ids:[r]}).then(o=>{if(o.data.success)return w.loadData&&w.loadData(),!0})})}return(r,c)=>{const o=l(\"BaseIcon\"),I=l(\"BaseButton\"),d=l(\"BaseDropdownItem\"),D=l(\"router-link\"),k=l(\"BaseDropdown\");return a(),s(k,{\"content-loading\":e(_).isFetchingViewData},{activator:t(()=>[e(h).name===\"customers.view\"?(a(),s(I,{key:0,variant:\"primary\"},{default:t(()=>[n(o,{name:\"DotsHorizontalIcon\",class:\"h-5 text-white\"})]),_:1})):(a(),s(o,{key:1,name:\"DotsHorizontalIcon\",class:\"h-5 text-gray-500\"}))]),default:t(()=>[e(m).hasAbilities(e(g).EDIT_CUSTOMER)?(a(),s(D,{key:0,to:`/admin/customers/${i.row.id}/edit`},{default:t(()=>[n(d,null,{default:t(()=>[n(o,{name:\"PencilIcon\",class:\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"}),p(\" \"+f(r.$t(\"general.edit\")),1)]),_:1})]),_:1},8,[\"to\"])):y(\"\",!0),e(h).name!==\"customers.view\"&&e(m).hasAbilities(e(g).VIEW_CUSTOMER)?(a(),s(D,{key:1,to:`customers/${i.row.id}/view`},{default:t(()=>[n(d,null,{default:t(()=>[n(o,{name:\"EyeIcon\",class:\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"}),p(\" \"+f(r.$t(\"general.view\")),1)]),_:1})]),_:1},8,[\"to\"])):y(\"\",!0),e(m).hasAbilities(e(g).DELETE_CUSTOMER)?(a(),s(d,{key:2,onClick:c[0]||(c[0]=$=>B(i.row.id))},{default:t(()=>[n(o,{name:\"TrashIcon\",class:\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"}),p(\" \"+f(r.$t(\"general.delete\")),1)]),_:1})):y(\"\",!0)]),_:1},8,[\"content-loading\"])}}};export{V as _};\n"
  },
  {
    "path": "public/build/assets/CustomerSettings.295ae76d.js",
    "content": "import{G as R,J as G,B as p,k as C,L as c,M as k,N as S,Q as L,P,T as A,r as v,o as g,e as D,f as u,w as i,h as _,t as h,u as e,x as b,l as y,m as O,j as T,i as z,U as J}from\"./vendor.d12b5734.js\";import{a as Q,u as H}from\"./global.dc565c4e.js\";import\"./auth.c88ceb4c.js\";import\"./main.465728e1.js\";const K=[\"onSubmit\"],W={class:\"font-bold text-left\"},X={class:\"mt-2 text-sm leading-snug text-left text-gray-500\",style:{\"max-width\":\"680px\"}},Y={class:\"grid gap-6 sm:grid-col-1 md:grid-cols-2 mt-6\"},Z=_(\"span\",null,null,-1),te={setup(ee){const r=Q();H(),R();const{t:m,tm:U}=G();let f=p([]),d=p(!1),w=p(null),n=p(!1),l=p(!1);const I=p(!1);r.userForm.avatar&&f.value.push({image:r.userForm.avatar});const x=C(()=>({userForm:{name:{required:c.withMessage(m(\"validation.required\"),k),minLength:c.withMessage(m(\"validation.name_min_length\",{count:3}),S(3))},email:{required:c.withMessage(m(\"validation.required\"),k),email:c.withMessage(m(\"validation.email_incorrect\"),L)},password:{minLength:c.withMessage(m(\"validation.password_min_length\",{count:8}),S(8))},confirm_password:{sameAsPassword:c.withMessage(m(\"validation.password_incorrect\"),P(r.userForm.password))}}})),o=A(x,C(()=>r));function M(t,s){w.value=s}function q(){w.value=null,I.value=!0}function N(){if(o.value.userForm.$touch(),o.value.userForm.$invalid)return!0;d.value=!0;let t=new FormData;t.append(\"name\",r.userForm.name),t.append(\"email\",r.userForm.email),r.userForm.password!=null&&r.userForm.password!==void 0&&r.userForm.password!==\"\"&&t.append(\"password\",r.userForm.password),w.value&&t.append(\"customer_avatar\",w.value),t.append(\"is_customer_avatar_removed\",I.value),r.updateCurrentUser({data:t,message:U(\"settings.account_settings.updated_message\")}).then(s=>{s.data.data&&(d.value=!1,r.$patch(B=>{B.userForm.password=\"\",B.userForm.confirm_password=\"\"}),w.value=null,I.value=!1)}).catch(s=>{d.value=!1})}return(t,s)=>{const B=v(\"BaseFileUploader\"),F=v(\"BaseInputGroup\"),V=v(\"BaseInput\"),$=v(\"BaseIcon\"),j=v(\"BaseButton\"),E=v(\"BaseCard\");return g(),D(\"form\",{class:\"relative h-full mt-4\",onSubmit:J(N,[\"prevent\"])},[u(E,null,{default:i(()=>[_(\"div\",null,[_(\"h6\",W,h(t.$t(\"settings.account_settings.account_settings\")),1),_(\"p\",X,h(t.$t(\"settings.account_settings.section_description\")),1)]),_(\"div\",Y,[u(F,{label:t.$tc(\"settings.account_settings.profile_picture\")},{default:i(()=>[u(B,{modelValue:e(f),\"onUpdate:modelValue\":s[0]||(s[0]=a=>b(f)?f.value=a:f=a),avatar:!0,accept:\"image/*\",onChange:M,onRemove:q},null,8,[\"modelValue\"])]),_:1},8,[\"label\"]),Z,u(F,{label:t.$tc(\"settings.account_settings.name\"),error:e(o).userForm.name.$error&&e(o).userForm.name.$errors[0].$message,required:\"\"},{default:i(()=>[u(V,{modelValue:e(r).userForm.name,\"onUpdate:modelValue\":s[1]||(s[1]=a=>e(r).userForm.name=a),invalid:e(o).userForm.name.$error,onInput:s[2]||(s[2]=a=>e(o).userForm.name.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"]),u(F,{label:t.$tc(\"settings.account_settings.email\"),error:e(o).userForm.email.$error&&e(o).userForm.email.$errors[0].$message,required:\"\"},{default:i(()=>[u(V,{modelValue:e(r).userForm.email,\"onUpdate:modelValue\":s[3]||(s[3]=a=>e(r).userForm.email=a),invalid:e(o).userForm.email.$error,onInput:s[4]||(s[4]=a=>e(o).userForm.email.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"]),u(F,{error:e(o).userForm.password.$error&&e(o).userForm.password.$errors[0].$message,label:t.$tc(\"settings.account_settings.password\")},{default:i(()=>[u(V,{modelValue:e(r).userForm.password,\"onUpdate:modelValue\":s[7]||(s[7]=a=>e(r).userForm.password=a),type:e(n)?\"text\":\"password\",invalid:e(o).userForm.password.$error,onInput:s[8]||(s[8]=a=>e(o).userForm.password.$touch())},{right:i(()=>[e(n)?(g(),y($,{key:0,name:\"EyeOffIcon\",class:\"w-5 h-5 mr-1 text-gray-500 cursor-pointer\",onClick:s[5]||(s[5]=a=>b(n)?n.value=!e(n):n=!e(n))})):(g(),y($,{key:1,name:\"EyeIcon\",class:\"w-5 h-5 mr-1 text-gray-500 cursor-pointer\",onClick:s[6]||(s[6]=a=>b(n)?n.value=!e(n):n=!e(n))}))]),_:1},8,[\"modelValue\",\"type\",\"invalid\"])]),_:1},8,[\"error\",\"label\"]),u(F,{label:t.$tc(\"settings.account_settings.confirm_password\"),error:e(o).userForm.confirm_password.$error&&e(o).userForm.confirm_password.$errors[0].$message},{default:i(()=>[u(V,{modelValue:e(r).userForm.confirm_password,\"onUpdate:modelValue\":s[11]||(s[11]=a=>e(r).userForm.confirm_password=a),type:e(l)?\"text\":\"password\",invalid:e(o).userForm.confirm_password.$error,onInput:s[12]||(s[12]=a=>e(o).userForm.confirm_password.$touch())},{right:i(()=>[e(l)?(g(),y($,{key:0,name:\"EyeOffIcon\",class:\"w-5 h-5 mr-1 text-gray-500 cursor-pointer\",onClick:s[9]||(s[9]=a=>b(l)?l.value=!e(l):l=!e(l))})):(g(),y($,{key:1,name:\"EyeIcon\",class:\"w-5 h-5 mr-1 text-gray-500 cursor-pointer\",onClick:s[10]||(s[10]=a=>b(l)?l.value=!e(l):l=!e(l))}))]),_:1},8,[\"modelValue\",\"type\",\"invalid\"])]),_:1},8,[\"label\",\"error\"])]),u(j,{loading:e(d),disabled:e(d),class:\"mt-6\"},{left:i(a=>[e(d)?T(\"\",!0):(g(),y($,{key:0,name:\"SaveIcon\",class:O(a.class)},null,8,[\"class\"]))]),default:i(()=>[z(\" \"+h(t.$t(\"general.save\")),1)]),_:1},8,[\"loading\",\"disabled\"])]),_:1})],40,K)}}};export{te as default};\n"
  },
  {
    "path": "public/build/assets/CustomizationSetting.31d8c655.js",
    "content": "var ut=Object.defineProperty,rt=Object.defineProperties;var dt=Object.getOwnPropertyDescriptors;var et=Object.getOwnPropertySymbols;var ct=Object.prototype.hasOwnProperty,_t=Object.prototype.propertyIsEnumerable;var st=(v,o,i)=>o in v?ut(v,o,{enumerable:!0,configurable:!0,writable:!0,value:i}):v[o]=i,x=(v,o)=>{for(var i in o||(o={}))ct.call(o,i)&&st(v,i,o[i]);if(et)for(var i of et(o))_t.call(o,i)&&st(v,i,o[i]);return v},W=(v,o)=>rt(v,dt(o));import{b as N,d as Z,i as pt,k as gt,p as yt,c as ft,j as vt}from\"./main.465728e1.js\";import{J as j,B as z,k as F,C as bt,H as at,$ as St,r as d,o as $,e as D,h as c,t as b,f as t,w as r,U as Y,m as G,i as k,F as L,y as $t,l as E,u as e,j as R,ah as M,a0 as T,L as X,O as nt,aT as it,T as ot,x as H}from\"./vendor.d12b5734.js\";import{D as Bt,d as ht}from\"./DragIcon.2da3872a.js\";import{u as zt}from\"./payment.93619753.js\";import{_ as Vt}from\"./ItemUnitModal.031bb625.js\";const It={class:\"text-gray-900 text-lg font-medium\"},xt={class:\"mt-1 text-sm text-gray-500\"},wt={class:\"overflow-x-auto\"},Ct={class:\"w-full mt-6 table-fixed\"},Dt=c(\"colgroup\",null,[c(\"col\",{style:{width:\"4%\"}}),c(\"col\",{style:{width:\"45%\"}}),c(\"col\",{style:{width:\"27%\"}}),c(\"col\",{style:{width:\"24%\"}})],-1),Ut=c(\"thead\",null,[c(\"tr\",null,[c(\"th\",{class:\"px-5 py-3 text-sm not-italic font-medium leading-5 text-left text-gray-700 border-t border-b border-gray-200 border-solid\"}),c(\"th\",{class:\"px-5 py-3 text-sm not-italic font-medium leading-5 text-left text-gray-700 border-t border-b border-gray-200 border-solid\"},\" Component \"),c(\"th\",{class:\"px-5 py-3 text-sm not-italic font-medium leading-5 text-left text-gray-700 border-t border-b border-gray-200 border-solid\"},\" Parameter \"),c(\"th\",{class:\"px-5 py-3 text-sm not-italic font-medium leading-5 text-left text-gray-700 border-t border-b border-gray-200 border-solid\"})])],-1),Ft={class:\"relative\"},kt={class:\"text-gray-300 cursor-move handle align-middle\"},Et={class:\"px-5 py-4\"},Nt={class:\"block text-sm not-italic font-medium text-primary-800 whitespace-nowrap mr-2 min-w-[200px]\"},Mt={class:\"text-xs text-gray-500 mt-1\"},Tt={class:\"px-5 py-4 text-left align-middle\"},Gt={class:\"px-5 py-4 text-right align-middle pt-10\"},qt=k(\" Remove \"),Lt={colspan:\"2\",class:\"px-5 py-4\"},Rt={class:\"px-5 py-4 text-right align-middle\",colspan:\"2\"},tt={props:{type:{type:String,required:!0},typeStore:{type:Object,required:!0},defaultSeries:{type:String,default:\"INV\"}},setup(v){const o=v,{t:i}=j(),p=N(),g=Z(),u=z([]),a=z(!1),m=z([{label:i(\"settings.customization.series\"),description:i(\"settings.customization.series_description\"),name:\"SERIES\",paramLabel:i(\"settings.customization.series_param_label\"),value:o.defaultSeries,inputDisabled:!1,inputType:\"text\",allowMultiple:!1},{label:i(\"settings.customization.sequence\"),description:i(\"settings.customization.sequence_description\"),name:\"SEQUENCE\",paramLabel:i(\"settings.customization.sequence_param_label\"),value:\"6\",inputDisabled:!1,inputType:\"number\",allowMultiple:!1},{label:i(\"settings.customization.delimiter\"),description:i(\"settings.customization.delimiter_description\"),name:\"DELIMITER\",paramLabel:i(\"settings.customization.delimiter_param_label\"),value:\"-\",inputDisabled:!1,inputType:\"text\",allowMultiple:!0},{label:i(\"settings.customization.customer_series\"),description:i(\"settings.customization.customer_series_description\"),name:\"CUSTOMER_SERIES\",paramLabel:\"\",value:\"\",inputDisabled:!0,inputType:\"text\",allowMultiple:!1},{label:i(\"settings.customization.customer_sequence\"),description:i(\"settings.customization.customer_sequence_description\"),name:\"CUSTOMER_SEQUENCE\",paramLabel:i(\"settings.customization.customer_sequence_param_label\"),value:\"6\",inputDisabled:!1,inputType:\"number\",allowMultiple:!1},{label:i(\"settings.customization.date_format\"),description:i(\"settings.customization.date_format_description\"),name:\"DATE_FORMAT\",paramLabel:i(\"settings.customization.date_format_param_label\"),value:\"Y\",inputDisabled:!1,inputType:\"text\",allowMultiple:!0},{label:i(\"settings.customization.random_sequence\"),description:i(\"settings.customization.random_sequence_description\"),name:\"RANDOM_SEQUENCE\",paramLabel:i(\"settings.customization.random_sequence_param_label\"),value:\"6\",inputDisabled:!1,inputType:\"number\",allowMultiple:!1}]),s=F(()=>m.value.filter(function(f){return!u.value.some(function(V){return f.allowMultiple?!1:f.name==V.name})})),_=z(\"\"),n=z(!1),l=z(!1),y=F(()=>{let f=\"\";return u.value.forEach(V=>{let q=`{{${V.name}`;V.value&&(q+=`:${V.value}`),f+=`${q}}}`}),f});bt(u,f=>{U()}),B();async function B(){let f={format:p.selectedCompanySettings[`${o.type}_number_format`]};l.value=!0,(await g.fetchPlaceholders(f)).data.placeholders.forEach(q=>{var O;let J=m.value.find(K=>K.name===q.name);const Q=(O=q.value)!=null?O:\"\";u.value.push(W(x({},J),{value:Q,id:at.raw()}))}),l.value=!1,U()}function C(f){return u.value.find(V=>V.name===f.name)}function h(f){C(f)&&!f.allowMultiple||(u.value.push(W(x({},f),{id:at.raw()})),U())}function S(f){u.value=u.value.filter(function(V){return f.id!==V.id})}function w(f,V){switch(V.name){case\"SERIES\":f.length>=6&&(f=f.substring(0,6));break;case\"DELIMITER\":f.length>=1&&(f=f.substring(0,1));break}setTimeout(()=>{V.value=f,U()},100)}const U=St(()=>{P()},500);async function P(){if(!y.value){_.value=\"\";return}let f={key:o.type,format:y.value};n.value=!0;let V=await o.typeStore.getNextNumber(f);n.value=!1,V.data&&(_.value=V.data.nextNumber)}async function lt(){if(n.value||l.value)return;a.value=!0;let f={settings:{}};return f.settings[o.type+\"_number_format\"]=y.value,await p.updateCompanySettings({data:f,message:`settings.customization.${o.type}s.${o.type}_settings_updated`}),a.value=!1,!0}return(f,V)=>{const q=d(\"BaseInput\"),J=d(\"BaseInputGroup\"),Q=d(\"BaseIcon\"),O=d(\"BaseButton\"),K=d(\"BaseDropdownItem\"),mt=d(\"BaseDropdown\");return $(),D(L,null,[c(\"h6\",It,b(f.$t(`settings.customization.${v.type}s.${v.type}_number_format`)),1),c(\"p\",xt,b(f.$t(`settings.customization.${v.type}s.${v.type}_number_format_description`)),1),c(\"div\",wt,[c(\"table\",Ct,[Dt,Ut,t(e(ht),{modelValue:u.value,\"onUpdate:modelValue\":V[1]||(V[1]=I=>u.value=I),class:\"divide-y divide-gray-200\",\"item-key\":\"id\",tag:\"tbody\",handle:\".handle\",filter:\".ignore-element\"},{item:r(({element:I})=>[c(\"tr\",Ft,[c(\"td\",kt,[t(Bt)]),c(\"td\",Et,[c(\"label\",Nt,b(I.label),1),c(\"p\",Mt,b(I.description),1)]),c(\"td\",Tt,[t(J,{label:I.paramLabel,class:\"lg:col-span-3\",required:\"\"},{default:r(()=>[t(q,{modelValue:I.value,\"onUpdate:modelValue\":[A=>I.value=A,A=>w(A,I)],disabled:I.inputDisabled,type:I.inputType},null,8,[\"modelValue\",\"onUpdate:modelValue\",\"disabled\",\"type\"])]),_:2},1032,[\"label\"])]),c(\"td\",Gt,[t(O,{variant:\"white\",onClick:Y(A=>S(I),[\"prevent\"])},{left:r(A=>[t(Q,{name:\"XIcon\",class:G([\"!sm:m-0\",A.class])},null,8,[\"class\"])]),default:r(()=>[qt]),_:2},1032,[\"onClick\"])])])]),footer:r(()=>[c(\"tr\",null,[c(\"td\",Lt,[t(J,{label:f.$t(`settings.customization.${v.type}s.preview_${v.type}_number`)},{default:r(()=>[t(q,{modelValue:_.value,\"onUpdate:modelValue\":V[0]||(V[0]=I=>_.value=I),disabled:\"\",loading:n.value},null,8,[\"modelValue\",\"loading\"])]),_:1},8,[\"label\"])]),c(\"td\",Rt,[t(mt,{\"wrapper-class\":\"flex items-center justify-end mt-5\"},{activator:r(()=>[t(O,{variant:\"primary-outline\"},{left:r(I=>[t(Q,{class:G(I.class),name:\"PlusIcon\"},null,8,[\"class\"])]),default:r(()=>[k(\" \"+b(f.$t(\"settings.customization.add_new_component\")),1)]),_:1})]),default:r(()=>[($(!0),D(L,null,$t(e(s),I=>($(),E(K,{key:I.label,onClick:Y(A=>h(I),[\"prevent\"])},{default:r(()=>[k(b(I.label),1)]),_:2},1032,[\"onClick\"]))),128))]),_:1})])])]),_:1},8,[\"modelValue\"])])]),t(O,{loading:a.value,disabled:a.value,variant:\"primary\",type:\"submit\",class:\"mt-4\",onClick:lt},{left:r(I=>[a.value?R(\"\",!0):($(),E(Q,{key:0,class:G(I.class),name:\"SaveIcon\"},null,8,[\"class\"]))]),default:r(()=>[k(\" \"+b(f.$t(\"settings.customization.save\")),1)]),_:1},8,[\"loading\",\"disabled\"])],64)}}},At={setup(v){const o=pt();return(i,p)=>($(),E(tt,{type:\"invoice\",\"type-store\":e(o),\"default-series\":\"INV\"},null,8,[\"type-store\"]))}},Yt={class:\"text-gray-900 text-lg font-medium\"},Ot={class:\"mt-1 text-sm text-gray-500\"},jt={setup(v){const{t:o,tm:i}=j(),p=N(),g=Z(),u=M(\"utils\"),a=T({retrospective_edits:null});u.mergeSettings(a,x({},p.selectedCompanySettings)),F(()=>g.config.retrospective_edits.map(s=>(s.title=o(s.key),s)));async function m(){let s={settings:x({},a)};return await p.updateCompanySettings({data:s,message:\"settings.customization.invoices.invoice_settings_updated\"}),!0}return(s,_)=>{const n=d(\"BaseRadio\"),l=d(\"BaseInputGroup\");return $(),D(L,null,[c(\"h6\",Yt,b(s.$tc(\"settings.customization.invoices.retrospective_edits\")),1),c(\"p\",Ot,b(s.$t(\"settings.customization.invoices.retrospective_edits_description\")),1),t(l,{required:\"\"},{default:r(()=>[t(n,{id:\"allow\",modelValue:e(a).retrospective_edits,\"onUpdate:modelValue\":[_[0]||(_[0]=y=>e(a).retrospective_edits=y),m],label:s.$t(\"settings.customization.invoices.allow\"),size:\"sm\",name:\"filter\",value:\"allow\",class:\"mt-2\"},null,8,[\"modelValue\",\"label\"]),t(n,{id:\"disable_on_invoice_partial_paid\",modelValue:e(a).retrospective_edits,\"onUpdate:modelValue\":[_[1]||(_[1]=y=>e(a).retrospective_edits=y),m],label:s.$t(\"settings.customization.invoices.disable_on_invoice_partial_paid\"),size:\"sm\",name:\"filter\",value:\"disable_on_invoice_partial_paid\",class:\"mt-2\"},null,8,[\"modelValue\",\"label\"]),t(n,{id:\"disable_on_invoice_paid\",modelValue:e(a).retrospective_edits,\"onUpdate:modelValue\":[_[2]||(_[2]=y=>e(a).retrospective_edits=y),m],label:s.$t(\"settings.customization.invoices.disable_on_invoice_paid\"),size:\"sm\",name:\"filter\",value:\"disable_on_invoice_paid\",class:\"my-2\"},null,8,[\"modelValue\",\"label\"]),t(n,{id:\"disable_on_invoice_sent\",modelValue:e(a).retrospective_edits,\"onUpdate:modelValue\":[_[3]||(_[3]=y=>e(a).retrospective_edits=y),m],label:s.$t(\"settings.customization.invoices.disable_on_invoice_sent\"),size:\"sm\",name:\"filter\",value:\"disable_on_invoice_sent\"},null,8,[\"modelValue\",\"label\"])]),_:1})],64)}}},Pt=[\"onSubmit\"],Qt={class:\"text-gray-900 text-lg font-medium\"},Ht={class:\"mt-1 text-sm text-gray-500 mb-2\"},Jt={class:\"w-full sm:w-1/2 md:w-1/4 lg:w-1/5\"},Xt={setup(v){const{t:o}=j(),i=N(),p=M(\"utils\");let g=z(!1);const u=T({invoice_set_due_date_automatically:null,invoice_due_date_days:null});p.mergeSettings(u,x({},i.selectedCompanySettings));const a=F({get:()=>u.invoice_set_due_date_automatically===\"YES\",set:async n=>{const l=n?\"YES\":\"NO\";u.invoice_set_due_date_automatically=l}}),m=F(()=>({dueDateSettings:{invoice_due_date_days:{required:X.withMessage(o(\"validation.required\"),nt(a.value)),numeric:X.withMessage(o(\"validation.numbers_only\"),it)}}})),s=ot(m,{dueDateSettings:u});async function _(){if(s.value.dueDateSettings.$touch(),s.value.dueDateSettings.$invalid)return!1;g.value=!0;let n={settings:x({},u)};return a.value||delete n.settings.invoice_due_date_days,await i.updateCompanySettings({data:n,message:\"settings.customization.invoices.invoice_settings_updated\"}),g.value=!1,!0}return(n,l)=>{const y=d(\"BaseSwitchSection\"),B=d(\"BaseInput\"),C=d(\"BaseInputGroup\"),h=d(\"BaseIcon\"),S=d(\"BaseButton\");return $(),D(\"form\",{onSubmit:Y(_,[\"prevent\"])},[c(\"h6\",Qt,b(n.$t(\"settings.customization.invoices.due_date\")),1),c(\"p\",Ht,b(n.$t(\"settings.customization.invoices.due_date_description\")),1),t(y,{modelValue:e(a),\"onUpdate:modelValue\":l[0]||(l[0]=w=>H(a)?a.value=w:null),title:n.$t(\"settings.customization.invoices.set_due_date_automatically\"),description:n.$t(\"settings.customization.invoices.set_due_date_automatically_description\")},null,8,[\"modelValue\",\"title\",\"description\"]),e(a)?($(),E(C,{key:0,label:n.$t(\"settings.customization.invoices.due_date_days\"),error:e(s).dueDateSettings.invoice_due_date_days.$error&&e(s).dueDateSettings.invoice_due_date_days.$errors[0].$message,class:\"mt-2 mb-4\"},{default:r(()=>[c(\"div\",Jt,[t(B,{modelValue:e(u).invoice_due_date_days,\"onUpdate:modelValue\":l[1]||(l[1]=w=>e(u).invoice_due_date_days=w),invalid:e(s).dueDateSettings.invoice_due_date_days.$error,type:\"number\",onInput:l[2]||(l[2]=w=>e(s).dueDateSettings.invoice_due_date_days.$touch())},null,8,[\"modelValue\",\"invalid\"])])]),_:1},8,[\"label\",\"error\"])):R(\"\",!0),t(S,{loading:e(g),disabled:e(g),variant:\"primary\",type:\"submit\",class:\"mt-4\"},{left:r(w=>[e(g)?R(\"\",!0):($(),E(h,{key:0,class:G(w.class),name:\"SaveIcon\"},null,8,[\"class\"]))]),default:r(()=>[k(\" \"+b(n.$t(\"settings.customization.save\")),1)]),_:1},8,[\"loading\",\"disabled\"])],40,Pt)}}},Kt=[\"onSubmit\"],Wt={class:\"text-gray-900 text-lg font-medium\"},Zt={class:\"mt-1 text-sm text-gray-500 mb-2\"},te={setup(v){const o=N(),i=M(\"utils\"),p=z([\"customer\",\"customerCustom\",\"invoice\",\"invoiceCustom\",\"company\"]),g=z([\"billing\",\"customer\",\"customerCustom\",\"invoiceCustom\"]),u=z([\"shipping\",\"customer\",\"customerCustom\",\"invoiceCustom\"]),a=z([\"company\",\"invoiceCustom\"]);let m=z(!1);const s=T({invoice_mail_body:null,invoice_company_address_format:null,invoice_shipping_address_format:null,invoice_billing_address_format:null});i.mergeSettings(s,x({},o.selectedCompanySettings));async function _(){m.value=!0;let n={settings:x({},s)};return await o.updateCompanySettings({data:n,message:\"settings.customization.invoices.invoice_settings_updated\"}),m.value=!1,!0}return(n,l)=>{const y=d(\"BaseCustomInput\"),B=d(\"BaseInputGroup\"),C=d(\"BaseIcon\"),h=d(\"BaseButton\");return $(),D(\"form\",{onSubmit:Y(_,[\"prevent\"])},[c(\"h6\",Wt,b(n.$t(\"settings.customization.invoices.default_formats\")),1),c(\"p\",Zt,b(n.$t(\"settings.customization.invoices.default_formats_description\")),1),t(B,{label:n.$t(\"settings.customization.invoices.default_invoice_email_body\"),class:\"mt-6 mb-4\"},{default:r(()=>[t(y,{modelValue:e(s).invoice_mail_body,\"onUpdate:modelValue\":l[0]||(l[0]=S=>e(s).invoice_mail_body=S),fields:p.value},null,8,[\"modelValue\",\"fields\"])]),_:1},8,[\"label\"]),t(B,{label:n.$t(\"settings.customization.invoices.company_address_format\"),class:\"mt-6 mb-4\"},{default:r(()=>[t(y,{modelValue:e(s).invoice_company_address_format,\"onUpdate:modelValue\":l[1]||(l[1]=S=>e(s).invoice_company_address_format=S),fields:a.value},null,8,[\"modelValue\",\"fields\"])]),_:1},8,[\"label\"]),t(B,{label:n.$t(\"settings.customization.invoices.shipping_address_format\"),class:\"mt-6 mb-4\"},{default:r(()=>[t(y,{modelValue:e(s).invoice_shipping_address_format,\"onUpdate:modelValue\":l[2]||(l[2]=S=>e(s).invoice_shipping_address_format=S),fields:u.value},null,8,[\"modelValue\",\"fields\"])]),_:1},8,[\"label\"]),t(B,{label:n.$t(\"settings.customization.invoices.billing_address_format\"),class:\"mt-6 mb-4\"},{default:r(()=>[t(y,{modelValue:e(s).invoice_billing_address_format,\"onUpdate:modelValue\":l[3]||(l[3]=S=>e(s).invoice_billing_address_format=S),fields:g.value},null,8,[\"modelValue\",\"fields\"])]),_:1},8,[\"label\"]),t(h,{loading:e(m),disabled:e(m),variant:\"primary\",type:\"submit\",class:\"mt-4\"},{left:r(S=>[e(m)?R(\"\",!0):($(),E(C,{key:0,class:G(S.class),name:\"SaveIcon\"},null,8,[\"class\"]))]),default:r(()=>[k(\" \"+b(n.$t(\"settings.customization.save\")),1)]),_:1},8,[\"loading\",\"disabled\"])],40,Kt)}}},ee={class:\"divide-y divide-gray-200\"},se={setup(v){const o=M(\"utils\"),i=N(),p=T({invoice_email_attachment:null});o.mergeSettings(p,x({},i.selectedCompanySettings));const g=F({get:()=>p.invoice_email_attachment===\"YES\",set:async u=>{const a=u?\"YES\":\"NO\";let m={settings:{invoice_email_attachment:a}};p.invoice_email_attachment=a,await i.updateCompanySettings({data:m,message:\"general.setting_updated\"})}});return(u,a)=>{const m=d(\"BaseDivider\"),s=d(\"BaseSwitchSection\");return $(),D(L,null,[t(At),t(m,{class:\"my-8\"}),t(Xt),t(m,{class:\"my-8\"}),t(jt),t(m,{class:\"my-8\"}),t(te),t(m,{class:\"mt-6 mb-2\"}),c(\"ul\",ee,[t(s,{modelValue:e(g),\"onUpdate:modelValue\":a[0]||(a[0]=_=>H(g)?g.value=_:null),title:u.$t(\"settings.customization.invoices.invoice_email_attachment\"),description:u.$t(\"settings.customization.invoices.invoice_email_attachment_setting_description\")},null,8,[\"modelValue\",\"title\",\"description\"])])],64)}}},ae={setup(v){const o=gt();return(i,p)=>($(),E(tt,{type:\"estimate\",\"type-store\":e(o),\"default-series\":\"EST\"},null,8,[\"type-store\"]))}},ne=[\"onSubmit\"],ie={class:\"text-gray-900 text-lg font-medium\"},oe={class:\"mt-1 text-sm text-gray-500 mb-2\"},le={class:\"w-full sm:w-1/2 md:w-1/4 lg:w-1/5\"},me={setup(v){const{t:o}=j(),i=N(),p=M(\"utils\");let g=z(!1);const u=T({estimate_set_expiry_date_automatically:null,estimate_expiry_date_days:null});p.mergeSettings(u,x({},i.selectedCompanySettings));const a=F({get:()=>u.estimate_set_expiry_date_automatically===\"YES\",set:async n=>{const l=n?\"YES\":\"NO\";u.estimate_set_expiry_date_automatically=l}}),m=F(()=>({expiryDateSettings:{estimate_expiry_date_days:{required:X.withMessage(o(\"validation.required\"),nt(a.value)),numeric:X.withMessage(o(\"validation.numbers_only\"),it)}}})),s=ot(m,{expiryDateSettings:u});async function _(){if(s.value.expiryDateSettings.$touch(),s.value.expiryDateSettings.$invalid)return!1;g.value=!0;let n={settings:x({},u)};return a.value||delete n.settings.estimate_expiry_date_days,await i.updateCompanySettings({data:n,message:\"settings.customization.estimates.estimate_settings_updated\"}),g.value=!1,!0}return(n,l)=>{const y=d(\"BaseSwitchSection\"),B=d(\"BaseInput\"),C=d(\"BaseInputGroup\"),h=d(\"BaseIcon\"),S=d(\"BaseButton\");return $(),D(\"form\",{onSubmit:Y(_,[\"prevent\"])},[c(\"h6\",ie,b(n.$t(\"settings.customization.estimates.expiry_date\")),1),c(\"p\",oe,b(n.$t(\"settings.customization.estimates.expiry_date_description\")),1),t(y,{modelValue:e(a),\"onUpdate:modelValue\":l[0]||(l[0]=w=>H(a)?a.value=w:null),title:n.$t(\"settings.customization.estimates.set_expiry_date_automatically\"),description:n.$t(\"settings.customization.estimates.set_expiry_date_automatically_description\")},null,8,[\"modelValue\",\"title\",\"description\"]),e(a)?($(),E(C,{key:0,label:n.$t(\"settings.customization.estimates.expiry_date_days\"),error:e(s).expiryDateSettings.estimate_expiry_date_days.$error&&e(s).expiryDateSettings.estimate_expiry_date_days.$errors[0].$message,class:\"mt-2 mb-4\"},{default:r(()=>[c(\"div\",le,[t(B,{modelValue:e(u).estimate_expiry_date_days,\"onUpdate:modelValue\":l[1]||(l[1]=w=>e(u).estimate_expiry_date_days=w),invalid:e(s).expiryDateSettings.estimate_expiry_date_days.$error,type:\"number\",onInput:l[2]||(l[2]=w=>e(s).expiryDateSettings.estimate_expiry_date_days.$touch())},null,8,[\"modelValue\",\"invalid\"])])]),_:1},8,[\"label\",\"error\"])):R(\"\",!0),t(S,{loading:e(g),disabled:e(g),variant:\"primary\",type:\"submit\",class:\"mt-4\"},{left:r(w=>[e(g)?R(\"\",!0):($(),E(h,{key:0,class:G(w.class),name:\"SaveIcon\"},null,8,[\"class\"]))]),default:r(()=>[k(\" \"+b(n.$t(\"settings.customization.save\")),1)]),_:1},8,[\"loading\",\"disabled\"])],40,ne)}}},ue=[\"onSubmit\"],re={class:\"text-gray-900 text-lg font-medium\"},de={class:\"mt-1 text-sm text-gray-500 mb-2\"},ce={setup(v){const o=N(),i=M(\"utils\"),p=z([\"customer\",\"customerCustom\",\"estimate\",\"estimateCustom\",\"company\"]),g=z([\"billing\",\"customer\",\"customerCustom\",\"estimateCustom\"]),u=z([\"shipping\",\"customer\",\"customerCustom\",\"estimateCustom\"]),a=z([\"company\",\"estimateCustom\"]);let m=z(!1);const s=T({estimate_mail_body:null,estimate_company_address_format:null,estimate_shipping_address_format:null,estimate_billing_address_format:null});i.mergeSettings(s,x({},o.selectedCompanySettings));async function _(){m.value=!0;let n={settings:x({},s)};return await o.updateCompanySettings({data:n,message:\"settings.customization.estimates.estimate_settings_updated\"}),m.value=!1,!0}return(n,l)=>{const y=d(\"BaseCustomInput\"),B=d(\"BaseInputGroup\"),C=d(\"BaseIcon\"),h=d(\"BaseButton\");return $(),D(\"form\",{onSubmit:Y(_,[\"prevent\"])},[c(\"h6\",re,b(n.$t(\"settings.customization.estimates.default_formats\")),1),c(\"p\",de,b(n.$t(\"settings.customization.estimates.default_formats_description\")),1),t(B,{label:n.$t(\"settings.customization.estimates.default_estimate_email_body\"),class:\"mt-6 mb-4\"},{default:r(()=>[t(y,{modelValue:e(s).estimate_mail_body,\"onUpdate:modelValue\":l[0]||(l[0]=S=>e(s).estimate_mail_body=S),fields:p.value},null,8,[\"modelValue\",\"fields\"])]),_:1},8,[\"label\"]),t(B,{label:n.$t(\"settings.customization.estimates.company_address_format\"),class:\"mt-6 mb-4\"},{default:r(()=>[t(y,{modelValue:e(s).estimate_company_address_format,\"onUpdate:modelValue\":l[1]||(l[1]=S=>e(s).estimate_company_address_format=S),fields:a.value},null,8,[\"modelValue\",\"fields\"])]),_:1},8,[\"label\"]),t(B,{label:n.$t(\"settings.customization.estimates.shipping_address_format\"),class:\"mt-6 mb-4\"},{default:r(()=>[t(y,{modelValue:e(s).estimate_shipping_address_format,\"onUpdate:modelValue\":l[2]||(l[2]=S=>e(s).estimate_shipping_address_format=S),fields:u.value},null,8,[\"modelValue\",\"fields\"])]),_:1},8,[\"label\"]),t(B,{label:n.$t(\"settings.customization.estimates.billing_address_format\"),class:\"mt-6 mb-4\"},{default:r(()=>[t(y,{modelValue:e(s).estimate_billing_address_format,\"onUpdate:modelValue\":l[3]||(l[3]=S=>e(s).estimate_billing_address_format=S),fields:g.value},null,8,[\"modelValue\",\"fields\"])]),_:1},8,[\"label\"]),t(h,{loading:e(m),disabled:e(m),variant:\"primary\",type:\"submit\",class:\"mt-4\"},{left:r(S=>[e(m)?R(\"\",!0):($(),E(C,{key:0,class:G(S.class),name:\"SaveIcon\"},null,8,[\"class\"]))]),default:r(()=>[k(\" \"+b(n.$t(\"settings.customization.save\")),1)]),_:1},8,[\"loading\",\"disabled\"])],40,ue)}}},_e={class:\"text-gray-900 text-lg font-medium\"},pe={class:\"mt-1 text-sm text-gray-500\"},ge={setup(v){const{t:o,tm:i}=j(),p=N(),g=Z(),u=M(\"utils\"),a=T({estimate_convert_action:null});u.mergeSettings(a,x({},p.selectedCompanySettings)),F(()=>g.config.estimate_convert_action.map(s=>(s.title=o(s.key),s)));async function m(){let s={settings:x({},a)};return await p.updateCompanySettings({data:s,message:\"settings.customization.estimates.estimate_settings_updated\"}),!0}return(s,_)=>{const n=d(\"BaseRadio\"),l=d(\"BaseInputGroup\");return $(),D(L,null,[c(\"h6\",_e,b(s.$tc(\"settings.customization.estimates.convert_estimate_options\")),1),c(\"p\",pe,b(s.$t(\"settings.customization.estimates.convert_estimate_description\")),1),t(l,{required:\"\"},{default:r(()=>[t(n,{id:\"no_action\",modelValue:e(a).estimate_convert_action,\"onUpdate:modelValue\":[_[0]||(_[0]=y=>e(a).estimate_convert_action=y),m],label:s.$t(\"settings.customization.estimates.no_action\"),size:\"sm\",name:\"filter\",value:\"no_action\",class:\"mt-2\"},null,8,[\"modelValue\",\"label\"]),t(n,{id:\"delete_estimate\",modelValue:e(a).estimate_convert_action,\"onUpdate:modelValue\":[_[1]||(_[1]=y=>e(a).estimate_convert_action=y),m],label:s.$t(\"settings.customization.estimates.delete_estimate\"),size:\"sm\",name:\"filter\",value:\"delete_estimate\",class:\"my-2\"},null,8,[\"modelValue\",\"label\"]),t(n,{id:\"mark_estimate_as_accepted\",modelValue:e(a).estimate_convert_action,\"onUpdate:modelValue\":[_[2]||(_[2]=y=>e(a).estimate_convert_action=y),m],label:s.$t(\"settings.customization.estimates.mark_estimate_as_accepted\"),size:\"sm\",name:\"filter\",value:\"mark_estimate_as_accepted\"},null,8,[\"modelValue\",\"label\"])]),_:1})],64)}}},ye={class:\"divide-y divide-gray-200\"},fe={setup(v){const o=M(\"utils\"),i=N(),p=T({estimate_email_attachment:null});o.mergeSettings(p,x({},i.selectedCompanySettings));const g=F({get:()=>p.estimate_email_attachment===\"YES\",set:async u=>{const a=u?\"YES\":\"NO\";let m={settings:{estimate_email_attachment:a}};p.estimate_email_attachment=a,await i.updateCompanySettings({data:m,message:\"general.setting_updated\"})}});return(u,a)=>{const m=d(\"BaseDivider\"),s=d(\"BaseSwitchSection\");return $(),D(L,null,[t(ae),t(m,{class:\"my-8\"}),t(me),t(m,{class:\"my-8\"}),t(ge),t(m,{class:\"my-8\"}),t(ce),t(m,{class:\"mt-6 mb-2\"}),c(\"ul\",ye,[t(s,{modelValue:e(g),\"onUpdate:modelValue\":a[0]||(a[0]=_=>H(g)?g.value=_:null),title:u.$t(\"settings.customization.estimates.estimate_email_attachment\"),description:u.$t(\"settings.customization.estimates.estimate_email_attachment_setting_description\")},null,8,[\"modelValue\",\"title\",\"description\"])])],64)}}},ve={setup(v){const o=zt();return(i,p)=>($(),E(tt,{type:\"payment\",\"type-store\":e(o),\"default-series\":\"PAY\"},null,8,[\"type-store\"]))}},be=[\"onSubmit\"],Se={class:\"text-gray-900 text-lg font-medium\"},$e={class:\"mt-1 text-sm text-gray-500 mb-2\"},Be={setup(v){const o=N(),i=M(\"utils\"),p=z([\"customer\",\"customerCustom\",\"company\",\"payment\",\"paymentCustom\"]),g=z([\"billing\",\"customer\",\"customerCustom\",\"paymentCustom\"]),u=z([\"company\",\"paymentCustom\"]);let a=z(!1);const m=T({payment_mail_body:null,payment_company_address_format:null,payment_from_customer_address_format:null});i.mergeSettings(m,x({},o.selectedCompanySettings));async function s(){a.value=!0;let _={settings:x({},m)};return await o.updateCompanySettings({data:_,message:\"settings.customization.payments.payment_settings_updated\"}),a.value=!1,!0}return(_,n)=>{const l=d(\"BaseCustomInput\"),y=d(\"BaseInputGroup\"),B=d(\"BaseIcon\"),C=d(\"BaseButton\");return $(),D(\"form\",{onSubmit:Y(s,[\"prevent\"])},[c(\"h6\",Se,b(_.$t(\"settings.customization.payments.default_formats\")),1),c(\"p\",$e,b(_.$t(\"settings.customization.payments.default_formats_description\")),1),t(y,{label:_.$t(\"settings.customization.payments.default_payment_email_body\"),class:\"mt-6 mb-4\"},{default:r(()=>[t(l,{modelValue:e(m).payment_mail_body,\"onUpdate:modelValue\":n[0]||(n[0]=h=>e(m).payment_mail_body=h),fields:p.value},null,8,[\"modelValue\",\"fields\"])]),_:1},8,[\"label\"]),t(y,{label:_.$t(\"settings.customization.payments.company_address_format\"),class:\"mt-6 mb-4\"},{default:r(()=>[t(l,{modelValue:e(m).payment_company_address_format,\"onUpdate:modelValue\":n[1]||(n[1]=h=>e(m).payment_company_address_format=h),fields:u.value},null,8,[\"modelValue\",\"fields\"])]),_:1},8,[\"label\"]),t(y,{label:_.$t(\"settings.customization.payments.from_customer_address_format\"),class:\"mt-6 mb-4\"},{default:r(()=>[t(l,{modelValue:e(m).payment_from_customer_address_format,\"onUpdate:modelValue\":n[2]||(n[2]=h=>e(m).payment_from_customer_address_format=h),fields:g.value},null,8,[\"modelValue\",\"fields\"])]),_:1},8,[\"label\"]),t(C,{loading:e(a),disabled:e(a),variant:\"primary\",type:\"submit\",class:\"mt-4\"},{left:r(h=>[e(a)?R(\"\",!0):($(),E(B,{key:0,class:G(h.class),name:\"SaveIcon\"},null,8,[\"class\"]))]),default:r(()=>[k(\" \"+b(_.$t(\"settings.customization.save\")),1)]),_:1},8,[\"loading\",\"disabled\"])],40,be)}}},he={class:\"divide-y divide-gray-200\"},ze={setup(v){const o=M(\"utils\"),i=N(),p=T({payment_email_attachment:null});o.mergeSettings(p,x({},i.selectedCompanySettings));const g=F({get:()=>p.payment_email_attachment===\"YES\",set:async u=>{const a=u?\"YES\":\"NO\";let m={settings:{payment_email_attachment:a}};p.payment_email_attachment=a,await i.updateCompanySettings({data:m,message:\"general.setting_updated\"})}});return(u,a)=>{const m=d(\"BaseDivider\"),s=d(\"BaseSwitchSection\");return $(),D(L,null,[t(ve),t(m,{class:\"my-8\"}),t(Be),t(m,{class:\"mt-6 mb-2\"}),c(\"ul\",he,[t(s,{modelValue:e(g),\"onUpdate:modelValue\":a[0]||(a[0]=_=>H(g)?g.value=_:null),title:u.$t(\"settings.customization.payments.payment_email_attachment\"),description:u.$t(\"settings.customization.payments.payment_email_attachment_setting_description\")},null,8,[\"modelValue\",\"title\",\"description\"])])],64)}}},Ve={class:\"flex flex-wrap justify-end mt-2 lg:flex-nowrap\"},Ie={class:\"inline-block\"},xe={setup(v){const{t:o}=j(),i=z(null),p=yt(),g=ft(),u=vt(),a=F(()=>[{key:\"name\",label:o(\"settings.customization.items.unit_name\"),thClass:\"extra\",tdClass:\"font-medium text-gray-900\"},{key:\"actions\",label:\"\",tdClass:\"text-right text-sm font-medium\",sortable:!1}]);async function m({page:l,filter:y,sort:B}){let C={orderByField:B.fieldName||\"created_at\",orderBy:B.order||\"desc\",page:l},h=await p.fetchItemUnits(C);return{data:h.data.data,pagination:{totalPages:h.data.meta.last_page,currentPage:l,totalCount:h.data.meta.total,limit:5}}}async function s(){g.openModal({title:o(\"settings.customization.items.add_item_unit\"),componentName:\"ItemUnitModal\",refreshData:i.value.refresh,size:\"sm\"})}async function _(l){p.fetchItemUnit(l.data.id),g.openModal({title:o(\"settings.customization.items.edit_item_unit\"),componentName:\"ItemUnitModal\",id:l.data.id,data:l.data,refreshData:i.value&&i.value.refresh})}function n(l){u.openDialog({title:o(\"general.are_you_sure\"),message:o(\"settings.customization.items.item_unit_confirm_delete\"),yesLabel:o(\"general.yes\"),noLabel:o(\"general.no\"),variant:\"danger\",hideNoButton:!1,size:\"lg\"}).then(async y=>{y&&(await p.deleteItemUnit(l.data.id),i.value&&i.value.refresh())})}return(l,y)=>{const B=d(\"BaseIcon\"),C=d(\"BaseButton\"),h=d(\"BaseDropdownItem\"),S=d(\"BaseDropdown\"),w=d(\"BaseTable\");return $(),D(L,null,[t(Vt),c(\"div\",Ve,[t(C,{variant:\"primary-outline\",onClick:s},{left:r(U=>[t(B,{class:G(U.class),name:\"PlusIcon\"},null,8,[\"class\"])]),default:r(()=>[k(\" \"+b(l.$t(\"settings.customization.items.add_item_unit\")),1)]),_:1})]),t(w,{ref:(U,P)=>{P.table=U,i.value=U},class:\"mt-10\",data:m,columns:e(a)},{\"cell-actions\":r(({row:U})=>[t(S,null,{activator:r(()=>[c(\"div\",Ie,[t(B,{name:\"DotsHorizontalIcon\",class:\"text-gray-500\"})])]),default:r(()=>[t(h,{onClick:P=>_(U)},{default:r(()=>[t(B,{name:\"PencilIcon\",class:\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"}),k(\" \"+b(l.$t(\"general.edit\")),1)]),_:2},1032,[\"onClick\"]),t(h,{onClick:P=>n(U)},{default:r(()=>[t(B,{name:\"TrashIcon\",class:\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"}),k(\" \"+b(l.$t(\"general.delete\")),1)]),_:2},1032,[\"onClick\"])]),_:2},1024)]),_:1},8,[\"columns\"])],64)}}},we={class:\"relative\"},Ne={setup(v){return(o,i)=>{const p=d(\"BaseTab\"),g=d(\"BaseTabGroup\"),u=d(\"BaseCard\");return $(),D(\"div\",we,[t(u,{\"container-class\":\"px-4 py-5 sm:px-8 sm:py-2\"},{default:r(()=>[t(g,null,{default:r(()=>[t(p,{\"tab-panel-container\":\"py-4 mt-px\",title:o.$t(\"settings.customization.invoices.title\")},{default:r(()=>[t(se)]),_:1},8,[\"title\"]),t(p,{\"tab-panel-container\":\"py-4 mt-px\",title:o.$t(\"settings.customization.estimates.title\")},{default:r(()=>[t(fe)]),_:1},8,[\"title\"]),t(p,{\"tab-panel-container\":\"py-4 mt-px\",title:o.$t(\"settings.customization.payments.title\")},{default:r(()=>[t(ze)]),_:1},8,[\"title\"]),t(p,{\"tab-panel-container\":\"py-4 mt-px\",title:o.$t(\"settings.customization.items.title\")},{default:r(()=>[t(xe)]),_:1},8,[\"title\"])]),_:1})]),_:1})])}}};export{Ne as default};\n"
  },
  {
    "path": "public/build/assets/Dashboard.db3b8908.js",
    "content": "import{D as I,_ as L,a as M}from\"./EstimateIcon.7f89fb19.js\";import{o as m,e as v,m as $,h as c,a as V,r as i,l as h,w as s,f as t,g as F,t as u,aj as T,ah as w,u as n,i as _,J as z,G as A,k as D}from\"./vendor.d12b5734.js\";import{u as C}from\"./global.dc565c4e.js\";import{h as Z}from\"./auth.c88ceb4c.js\";import{_ as k}from\"./main.465728e1.js\";import S from\"./BaseTable.ec8995dc.js\";const q=c(\"circle\",{cx:\"25\",cy:\"25\",r:\"25\",fill:\"#EAF1FB\"},null,-1),N=c(\"path\",{d:\"M17.8 17.8C17.1635 17.8 16.5531 18.0529 16.103 18.503C15.6529 18.9531 15.4 19.5635 15.4 20.2V21.4H34.6V20.2C34.6 19.5635 34.3472 18.9531 33.8971 18.503C33.447 18.0529 32.8365 17.8 32.2 17.8H17.8Z\",fill:\"currentColor\"},null,-1),G=c(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M34.6 23.8H15.4V29.8C15.4 30.4366 15.6529 31.047 16.103 31.4971C16.5531 31.9472 17.1635 32.2 17.8 32.2H32.2C32.8365 32.2 33.447 31.9472 33.8971 31.4971C34.3472 31.047 34.6 30.4366 34.6 29.8V23.8ZM17.8 28.6C17.8 28.2818 17.9265 27.9766 18.1515 27.7515C18.3765 27.5265 18.6818 27.4 19 27.4H20.2C20.5183 27.4 20.8235 27.5265 21.0486 27.7515C21.2736 27.9766 21.4 28.2818 21.4 28.6C21.4 28.9183 21.2736 29.2235 21.0486 29.4486C20.8235 29.6736 20.5183 29.8 20.2 29.8H19C18.6818 29.8 18.3765 29.6736 18.1515 29.4486C17.9265 29.2235 17.8 28.9183 17.8 28.6ZM23.8 27.4C23.4818 27.4 23.1765 27.5265 22.9515 27.7515C22.7265 27.9766 22.6 28.2818 22.6 28.6C22.6 28.9183 22.7265 29.2235 22.9515 29.4486C23.1765 29.6736 23.4818 29.8 23.8 29.8H25C25.3183 29.8 25.6235 29.6736 25.8486 29.4486C26.0736 29.2235 26.2 28.9183 26.2 28.6C26.2 28.2818 26.0736 27.9766 25.8486 27.7515C25.6235 27.5265 25.3183 27.4 25 27.4H23.8Z\",fill:\"currentColor\"},null,-1),O=[q,N,G],J={props:{colorClass:{type:String,default:\"text-primary-500\"}},setup(r){return(a,o)=>(m(),v(\"svg\",{width:\"50\",height:\"50\",viewBox:\"0 0 50 50\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",class:$(r.colorClass)},O,2))}},{defineStore:R}=window.pinia,P=R({id:\"dashboard\",state:()=>({recentInvoices:[],recentEstimates:[],invoiceCount:0,estimateCount:0,paymentCount:0,totalDueAmount:[],isDashboardDataLoaded:!1}),actions:{loadData(r){const a=C();return new Promise((o,d)=>{V.get(`/api/v1/${a.companySlug}/customer/dashboard`,{data:r}).then(e=>{this.totalDueAmount=e.data.due_amount,this.estimateCount=e.data.estimate_count,this.invoiceCount=e.data.invoice_count,this.paymentCount=e.data.payment_count,this.recentInvoices=e.data.recentInvoices,this.recentEstimates=e.data.recentEstimates,a.getDashboardDataLoaded=!0,o(e)}).catch(e=>{Z(e),d(e)})})}}}),K={},Q={class:\"flex items-center\"};function U(r,a){const o=i(\"BaseContentPlaceholdersText\"),d=i(\"BaseContentPlaceholdersBox\"),e=i(\"BaseContentPlaceholders\");return m(),h(e,{rounded:!0,class:\"relative flex justify-between w-full p-3 bg-white rounded shadow lg:col-span-3 xl:p-4\"},{default:s(()=>[c(\"div\",null,[t(o,{class:\"h-5 -mb-1 w-14 xl:mb-6 xl:h-7\",lines:1}),t(o,{class:\"h-3 w-28 xl:h-4\",lines:1})]),c(\"div\",Q,[t(d,{circle:!0,class:\"w-10 h-10 xl:w-12 xl:h-12\"})])]),_:1})}var W=k(K,[[\"render\",U]]);const X={},Y={class:\"flex items-center\"};function ee(r,a){const o=i(\"BaseContentPlaceholdersText\"),d=i(\"BaseContentPlaceholdersBox\"),e=i(\"BaseContentPlaceholders\");return m(),h(e,{rounded:!0,class:\"relative flex justify-between w-full p-3 bg-white rounded shadow lg:col-span-2 xl:p-4\"},{default:s(()=>[c(\"div\",null,[t(o,{class:\"w-12 h-5 -mb-1 xl:mb-6 xl:h-7\",lines:1}),t(o,{class:\"w-20 h-3 xl:h-4\",lines:1})]),c(\"div\",Y,[t(d,{circle:!0,class:\"w-10 h-10 xl:w-12 xl:h-12\"})])]),_:1})}var te=k(X,[[\"render\",ee]]);const ae={class:\"text-xl font-semibold leading-tight text-black xl:text-3xl\"},se={class:\"block mt-1 text-sm leading-tight text-gray-500 xl:text-lg\"},oe={class:\"flex items-center\"},f={props:{iconComponent:{type:Object,required:!0},loading:{type:Boolean,default:!1},route:{type:Object,required:!0},label:{type:String,required:!0},large:{type:Boolean,default:!1}},setup(r){return(a,o)=>{const d=i(\"router-link\");return r.loading?r.large?(m(),h(W,{key:1})):(m(),h(te,{key:2})):(m(),h(d,{key:0,class:$([\"relative flex justify-between p-3 bg-white rounded shadow hover:bg-gray-50 xl:p-4 lg:col-span-2\",{\"lg:!col-span-3\":r.large}]),to:r.route},{default:s(()=>[c(\"div\",null,[c(\"span\",ae,[F(a.$slots,\"default\")]),c(\"span\",se,u(r.label),1)]),c(\"div\",oe,[(m(),h(T(r.iconComponent),{class:\"w-10 h-10 xl:w-12 xl:h-12\"}))])]),_:3},8,[\"class\",\"to\"]))}}},ne={class:\"grid gap-6 sm:grid-cols-2 lg:grid-cols-9 xl:gap-8\"},le={setup(r){w(\"utils\");const a=C(),o=P();return o.loadData(),(d,e)=>{const g=i(\"BaseFormatMoney\");return m(),v(\"div\",ne,[t(f,{\"icon-component\":I,loading:!n(a).getDashboardDataLoaded,route:{name:\"invoices.dashboard\"},large:!0,label:d.$t(\"dashboard.cards.due_amount\")},{default:s(()=>[t(g,{amount:n(o).totalDueAmount,currency:n(a).currency},null,8,[\"amount\",\"currency\"])]),_:1},8,[\"loading\",\"route\",\"label\"]),t(f,{\"icon-component\":L,loading:!n(a).getDashboardDataLoaded,route:{name:\"invoices.dashboard\"},label:d.$t(\"dashboard.cards.invoices\")},{default:s(()=>[_(u(n(o).invoiceCount),1)]),_:1},8,[\"loading\",\"route\",\"label\"]),t(f,{\"icon-component\":M,loading:!n(a).getDashboardDataLoaded,route:{name:\"estimates.dashboard\"},label:d.$t(\"dashboard.cards.estimates\")},{default:s(()=>[_(u(n(o).estimateCount),1)]),_:1},8,[\"loading\",\"route\",\"label\"]),t(f,{\"icon-component\":J,loading:!n(a).getDashboardDataLoaded,route:{name:\"payments.dashboard\"},label:d.$t(\"dashboard.cards.payments\")},{default:s(()=>[_(u(n(o).paymentCount),1)]),_:1},8,[\"loading\",\"route\",\"label\"])])}}},ce={class:\"grid grid-cols-1 gap-6 mt-10 xl:grid-cols-2\"},re={class:\"due-invoices\"},de={class:\"relative z-10 flex items-center justify-between mb-3\"},ie={class:\"mb-0 text-xl font-semibold leading-normal\"},ue={class:\"recent-estimates\"},me={class:\"relative z-10 flex items-center justify-between mb-3\"},_e={class:\"mb-0 text-xl font-semibold leading-normal\"},he={setup(r){const a=C(),o=P(),{tm:d,t:e}=z();w(\"utils\"),A();const g=D(()=>[{key:\"formattedDueDate\",label:e(\"dashboard.recent_invoices_card.due_on\")},{key:\"invoice_number\",label:e(\"invoices.number\")},{key:\"paid_status\",label:e(\"invoices.status\")},{key:\"due_amount\",label:e(\"dashboard.recent_invoices_card.amount_due\")}]),j=D(()=>[{key:\"formattedEstimateDate\",label:e(\"dashboard.recent_estimate_card.date\")},{key:\"estimate_number\",label:e(\"estimates.number\")},{key:\"status\",label:e(\"estimates.status\")},{key:\"total\",label:e(\"dashboard.recent_estimate_card.amount_due\")}]);return(b,p)=>{const x=i(\"BaseButton\"),y=i(\"router-link\"),E=i(\"BasePaidStatusBadge\"),B=i(\"BaseFormatMoney\"),H=i(\"BaseEstimateStatusBadge\");return m(),v(\"div\",ce,[c(\"div\",re,[c(\"div\",de,[c(\"h6\",ie,u(b.$t(\"dashboard.recent_invoices_card.title\")),1),t(x,{size:\"sm\",variant:\"primary-outline\",onClick:p[0]||(p[0]=l=>b.$router.push({name:\"invoices.dashboard\"}))},{default:s(()=>[_(u(b.$t(\"dashboard.recent_invoices_card.view_all\")),1)]),_:1})]),t(S,{data:n(o).recentInvoices,columns:n(g),loading:!n(a).getDashboardDataLoaded},{\"cell-invoice_number\":s(({row:l})=>[t(y,{to:{path:`/${n(a).companySlug}/customer/invoices/${l.data.id}/view`},class:\"font-medium text-primary-500\"},{default:s(()=>[_(u(l.data.invoice_number),1)]),_:2},1032,[\"to\"])]),\"cell-paid_status\":s(({row:l})=>[t(E,{status:l.data.paid_status},{default:s(()=>[_(u(l.data.paid_status),1)]),_:2},1032,[\"status\"])]),\"cell-due_amount\":s(({row:l})=>[t(B,{amount:l.data.due_amount,currency:n(a).currency},null,8,[\"amount\",\"currency\"])]),_:1},8,[\"data\",\"columns\",\"loading\"])]),c(\"div\",ue,[c(\"div\",me,[c(\"h6\",_e,u(b.$t(\"dashboard.recent_estimate_card.title\")),1),t(x,{variant:\"primary-outline\",size:\"sm\",onClick:p[1]||(p[1]=l=>b.$router.push({name:\"estimates.dashboard\"}))},{default:s(()=>[_(u(b.$t(\"dashboard.recent_estimate_card.view_all\")),1)]),_:1})]),t(S,{data:n(o).recentEstimates,columns:n(j),loading:!n(a).getDashboardDataLoaded},{\"cell-estimate_number\":s(({row:l})=>[t(y,{to:{path:`/${n(a).companySlug}/customer/estimates/${l.data.id}/view`},class:\"font-medium text-primary-500\"},{default:s(()=>[_(u(l.data.estimate_number),1)]),_:2},1032,[\"to\"])]),\"cell-status\":s(({row:l})=>[t(H,{status:l.data.status,class:\"px-3 py-1\"},{default:s(()=>[_(u(l.data.status),1)]),_:2},1032,[\"status\"])]),\"cell-total\":s(({row:l})=>[t(B,{amount:l.data.total,currency:n(a).currency},null,8,[\"amount\",\"currency\"])]),_:1},8,[\"data\",\"columns\",\"loading\"])])])}}},xe={setup(r){return(a,o)=>{const d=i(\"BasePage\");return m(),h(d,null,{default:s(()=>[t(le),t(he)]),_:1})}}};export{xe as default};\n"
  },
  {
    "path": "public/build/assets/Dashboard.f55bd37e.js",
    "content": "import{D as L,_ as F,a as R}from\"./EstimateIcon.7f89fb19.js\";import{o as c,e as C,m as j,h as t,r,l as p,w as i,f as a,g as W,t as _,aj as z,a as q,d as H,ah as V,u as e,j as v,i as y,B as D,C as U,J as Z,k as M,V as N,G,aN as J,D as Y}from\"./vendor.d12b5734.js\";import{_ as T,h as K,b as O,e as E,g as h}from\"./main.465728e1.js\";import{_ as Q}from\"./LineChart.8ef63104.js\";import{_ as X}from\"./InvoiceIndexDropdown.c4bcaa08.js\";import{_ as tt}from\"./EstimateIndexDropdown.8917d9cc.js\";const et=t(\"circle\",{cx:\"25\",cy:\"25\",r:\"25\",fill:\"#EAF1FB\"},null,-1),at=t(\"path\",{d:\"M28.2656 23.0547C27.3021 24.0182 26.1302 24.5 24.75 24.5C23.3698 24.5 22.1849 24.0182 21.1953 23.0547C20.2318 22.0651 19.75 20.8802 19.75 19.5C19.75 18.1198 20.2318 16.9479 21.1953 15.9844C22.1849 14.9948 23.3698 14.5 24.75 14.5C26.1302 14.5 27.3021 14.9948 28.2656 15.9844C29.2552 16.9479 29.75 18.1198 29.75 19.5C29.75 20.8802 29.2552 22.0651 28.2656 23.0547ZM28.2656 25.75C29.6979 25.75 30.9219 26.2708 31.9375 27.3125C32.9792 28.3281 33.5 29.5521 33.5 30.9844V32.625C33.5 33.1458 33.3177 33.5885 32.9531 33.9531C32.5885 34.3177 32.1458 34.5 31.625 34.5H17.875C17.3542 34.5 16.9115 34.3177 16.5469 33.9531C16.1823 33.5885 16 33.1458 16 32.625V30.9844C16 29.5521 16.5078 28.3281 17.5234 27.3125C18.5651 26.2708 19.8021 25.75 21.2344 25.75H21.8984C22.8099 26.1667 23.7604 26.375 24.75 26.375C25.7396 26.375 26.6901 26.1667 27.6016 25.75H28.2656Z\",fill:\"currentColor\"},null,-1),st=[et,at],ot={props:{colorClass:{type:String,default:\"text-primary-500\"}},setup(d){return(o,s)=>(c(),C(\"svg\",{width:\"50\",height:\"50\",viewBox:\"0 0 50 50\",class:j(d.colorClass),fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\"},st,2))}},lt={},nt={class:\"flex items-center\"};function ct(d,o){const s=r(\"BaseContentPlaceholdersText\"),n=r(\"BaseContentPlaceholdersBox\"),u=r(\"BaseContentPlaceholders\");return c(),p(u,{rounded:!0,class:\"relative flex justify-between w-full p-3 bg-white rounded shadow lg:col-span-3 xl:p-4\"},{default:i(()=>[t(\"div\",null,[a(s,{class:\"h-5 -mb-1 w-14 xl:mb-6 xl:h-7\",lines:1}),a(s,{class:\"h-3 w-28 xl:h-4\",lines:1})]),t(\"div\",nt,[a(n,{circle:!0,class:\"w-10 h-10 xl:w-12 xl:h-12\"})])]),_:1})}var rt=T(lt,[[\"render\",ct]]);const it={},dt={class:\"flex items-center\"};function ut(d,o){const s=r(\"BaseContentPlaceholdersText\"),n=r(\"BaseContentPlaceholdersBox\"),u=r(\"BaseContentPlaceholders\");return c(),p(u,{rounded:!0,class:\"relative flex justify-between w-full p-3 bg-white rounded shadow lg:col-span-2 xl:p-4\"},{default:i(()=>[t(\"div\",null,[a(s,{class:\"w-12 h-5 -mb-1 xl:mb-6 xl:h-7\",lines:1}),a(s,{class:\"w-20 h-3 xl:h-4\",lines:1})]),t(\"div\",dt,[a(n,{circle:!0,class:\"w-10 h-10 xl:w-12 xl:h-12\"})])]),_:1})}var mt=T(it,[[\"render\",ut]]);const _t={class:\"text-xl font-semibold leading-tight text-black xl:text-3xl\"},ht={class:\"block mt-1 text-sm leading-tight text-gray-500 xl:text-lg\"},pt={class:\"flex items-center\"},B={props:{iconComponent:{type:Object,required:!0},loading:{type:Boolean,default:!1},route:{type:String,required:!0},label:{type:String,required:!0},large:{type:Boolean,default:!1}},setup(d){return(o,s)=>{const n=r(\"router-link\");return d.loading?d.large?(c(),p(rt,{key:1})):(c(),p(mt,{key:2})):(c(),p(n,{key:0,class:j([\"relative flex justify-between p-3 bg-white rounded shadow hover:bg-gray-50 xl:p-4 lg:col-span-2\",{\"lg:!col-span-3\":d.large}]),to:d.route},{default:i(()=>[t(\"div\",null,[t(\"span\",_t,[W(o.$slots,\"default\")]),t(\"span\",ht,_(d.label),1)]),t(\"div\",pt,[(c(),p(z(d.iconComponent),{class:\"w-10 h-10 xl:w-12 xl:h-12\"}))])]),_:3},8,[\"class\",\"to\"]))}}},S=(d=!1)=>(d?window.pinia.defineStore:H)({id:\"dashboard\",state:()=>({stats:{totalAmountDue:0,totalCustomerCount:0,totalInvoiceCount:0,totalEstimateCount:0},chartData:{months:[],invoiceTotals:[],expenseTotals:[],receiptTotals:[],netIncomeTotals:[]},totalSales:null,totalReceipts:null,totalExpenses:null,totalNetIncome:null,recentDueInvoices:[],recentEstimates:[],isDashboardDataLoaded:!1}),actions:{loadData(s){return new Promise((n,u)=>{q.get(\"/api/v1/dashboard\",{params:s}).then(l=>{this.stats.totalAmountDue=l.data.total_amount_due,this.stats.totalCustomerCount=l.data.total_customer_count,this.stats.totalInvoiceCount=l.data.total_invoice_count,this.stats.totalEstimateCount=l.data.total_estimate_count,this.chartData&&l.data.chart_data&&(this.chartData.months=l.data.chart_data.months,this.chartData.invoiceTotals=l.data.chart_data.invoice_totals,this.chartData.expenseTotals=l.data.chart_data.expense_totals,this.chartData.receiptTotals=l.data.chart_data.receipt_totals,this.chartData.netIncomeTotals=l.data.chart_data.net_income_totals),this.totalSales=l.data.total_sales,this.totalReceipts=l.data.total_receipts,this.totalExpenses=l.data.total_expenses,this.totalNetIncome=l.data.total_net_income,this.recentDueInvoices=l.data.recent_due_invoices,this.recentEstimates=l.data.recent_estimates,this.isDashboardDataLoaded=!0,n(l)}).catch(l=>{K(l),u(l)})})}}})(),bt={class:\"grid gap-6 sm:grid-cols-2 lg:grid-cols-9 xl:gap-8\"},xt={setup(d){V(\"utils\");const o=S(),s=O(),n=E();return(u,l)=>{const f=r(\"BaseFormatMoney\");return c(),C(\"div\",bt,[e(n).hasAbilities(e(h).VIEW_INVOICE)?(c(),p(B,{key:0,\"icon-component\":L,loading:!e(o).isDashboardDataLoaded,route:\"/admin/invoices\",large:!0,label:u.$t(\"dashboard.cards.due_amount\")},{default:i(()=>[a(f,{amount:e(o).stats.totalAmountDue,currency:e(s).selectedCompanyCurrency},null,8,[\"amount\",\"currency\"])]),_:1},8,[\"loading\",\"label\"])):v(\"\",!0),e(n).hasAbilities(e(h).VIEW_CUSTOMER)?(c(),p(B,{key:1,\"icon-component\":ot,loading:!e(o).isDashboardDataLoaded,route:\"/admin/customers\",label:u.$t(\"dashboard.cards.customers\")},{default:i(()=>[y(_(e(o).stats.totalCustomerCount),1)]),_:1},8,[\"loading\",\"label\"])):v(\"\",!0),e(n).hasAbilities(e(h).VIEW_INVOICE)?(c(),p(B,{key:2,\"icon-component\":F,loading:!e(o).isDashboardDataLoaded,route:\"/admin/invoices\",label:u.$t(\"dashboard.cards.invoices\")},{default:i(()=>[y(_(e(o).stats.totalInvoiceCount),1)]),_:1},8,[\"loading\",\"label\"])):v(\"\",!0),e(n).hasAbilities(e(h).VIEW_ESTIMATE)?(c(),p(B,{key:3,\"icon-component\":R,loading:!e(o).isDashboardDataLoaded,route:\"/admin/estimates\",label:u.$t(\"dashboard.cards.estimates\")},{default:i(()=>[y(_(e(o).stats.totalEstimateCount),1)]),_:1},8,[\"loading\",\"label\"])):v(\"\",!0)])}}},ft={},gt={class:\"grid grid-cols-1 col-span-10 px-4 py-5 lg:col-span-7 xl:col-span-8 sm:p-8\"},yt={class:\"flex items-center justify-between mb-2 xl:mb-4\"},Ct={class:\"grid grid-cols-3 col-span-10 text-center border-t border-l border-gray-200 border-solid lg:border-t-0 lg:text-right lg:col-span-3 xl:col-span-2 lg:grid-cols-1\"},vt={class:\"flex flex-col items-center justify-center p-6 lg:justify-end lg:items-end\"},wt={class:\"flex flex-col items-center justify-center p-6 lg:justify-end lg:items-end\"},$t={class:\"flex flex-col items-center justify-center p-6 lg:justify-end lg:items-end\"},Dt={class:\"flex flex-col items-center justify-center col-span-3 p-6 border-t border-gray-200 border-solid lg:justify-end lg:items-end lg:col-span-1\"};function Et(d,o){const s=r(\"BaseContentPlaceholdersText\"),n=r(\"BaseContentPlaceholdersBox\"),u=r(\"BaseContentPlaceholders\");return c(),p(u,{class:\"grid grid-cols-10 mt-8 bg-white rounded shadow\"},{default:i(()=>[t(\"div\",gt,[t(\"div\",yt,[a(s,{class:\"h-10 w-36\",lines:1}),a(s,{class:\"h-10 w-36 !mt-0\",lines:1})]),a(n,{class:\"h-80 xl:h-72 sm:w-full\"})]),t(\"div\",Ct,[t(\"div\",vt,[a(s,{class:\"h-3 w-14 xl:h-4\",lines:1}),a(s,{class:\"w-20 h-5 xl:h-6\",lines:1})]),t(\"div\",wt,[a(s,{class:\"h-3 w-14 xl:h-4\",lines:1}),a(s,{class:\"w-20 h-5 xl:h-6\",lines:1})]),t(\"div\",$t,[a(s,{class:\"h-3 w-14 xl:h-4\",lines:1}),a(s,{class:\"w-20 h-5 xl:h-6\",lines:1})]),t(\"div\",Dt,[a(s,{class:\"h-3 w-14 xl:h-4\",lines:1}),a(s,{class:\"w-20 h-5 xl:h-6\",lines:1})])])]),_:1})}var Bt=T(ft,[[\"render\",Et]]);const It={key:0,class:\"grid grid-cols-10 mt-8 bg-white rounded shadow\"},Tt={class:\"grid grid-cols-1 col-span-10 px-4 py-5 lg:col-span-7 xl:col-span-8 sm:p-6\"},St={class:\"flex justify-between mt-1 mb-4 flex-col md:flex-row\"},kt={class:\"flex items-center sw-section-title h-10\"},At={class:\"w-full my-2 md:m-0 md:w-40 h-10\"},Pt={class:\"grid grid-cols-3 col-span-10 text-center border-t border-l border-gray-200 border-solid lg:border-t-0 lg:text-right lg:col-span-3 xl:col-span-2 lg:grid-cols-1\"},jt={class:\"p-6\"},Vt={class:\"text-xs leading-5 lg:text-sm\"},Mt=t(\"br\",null,null,-1),Nt={class:\"block mt-1 text-xl font-semibold leading-8 lg:text-2xl\"},Ot={class:\"p-6\"},Lt={class:\"text-xs leading-5 lg:text-sm\"},Ft=t(\"br\",null,null,-1),Rt={class:\"block mt-1 text-xl font-semibold leading-8 lg:text-2xl text-green-400\"},Wt={class:\"p-6\"},zt={class:\"text-xs leading-5 lg:text-sm\"},qt=t(\"br\",null,null,-1),Ht={class:\"block mt-1 text-xl font-semibold leading-8 lg:text-2xl text-red-400\"},Ut={class:\"col-span-3 p-6 border-t border-gray-200 border-solid lg:col-span-1\"},Zt={class:\"text-xs leading-5 lg:text-sm\"},Gt=t(\"br\",null,null,-1),Jt={class:\"block mt-1 text-xl font-semibold leading-8 lg:text-2xl text-primary-500\"},Yt={setup(d){const o=S(),s=O();V(\"utils\");const n=E(),u=D([\"This year\",\"Previous year\"]),l=D(\"This year\");U(l,b=>{b===\"Previous year\"?f({previous_year:!0}):f()},{immediate:!0});async function f(b){n.hasAbilities(h.DASHBOARD)&&await o.loadData(b)}return(b,w)=>{const I=r(\"BaseIcon\"),g=r(\"BaseMultiselect\"),x=r(\"BaseFormatMoney\");return c(),C(\"div\",null,[e(o).isDashboardDataLoaded?(c(),C(\"div\",It,[t(\"div\",Tt,[t(\"div\",St,[t(\"h6\",kt,[a(I,{name:\"ChartSquareBarIcon\",class:\"text-primary-400 mr-1\"}),y(\" \"+_(b.$t(\"dashboard.monthly_chart.title\")),1)]),t(\"div\",At,[a(g,{modelValue:l.value,\"onUpdate:modelValue\":w[0]||(w[0]=$=>l.value=$),options:u.value,\"allow-empty\":!1,\"show-labels\":!1,placeholder:b.$t(\"dashboard.select_year\"),\"can-deselect\":!1},null,8,[\"modelValue\",\"options\",\"placeholder\"])])]),a(Q,{invoices:e(o).chartData.invoiceTotals,expenses:e(o).chartData.expenseTotals,receipts:e(o).chartData.receiptTotals,income:e(o).chartData.netIncomeTotals,labels:e(o).chartData.months,class:\"sm:w-full\"},null,8,[\"invoices\",\"expenses\",\"receipts\",\"income\",\"labels\"])]),t(\"div\",Pt,[t(\"div\",jt,[t(\"span\",Vt,_(b.$t(\"dashboard.chart_info.total_sales\")),1),Mt,t(\"span\",Nt,[a(x,{amount:e(o).totalSales,currency:e(s).selectedCompanyCurrency},null,8,[\"amount\",\"currency\"])])]),t(\"div\",Ot,[t(\"span\",Lt,_(b.$t(\"dashboard.chart_info.total_receipts\")),1),Ft,t(\"span\",Rt,[a(x,{amount:e(o).totalReceipts,currency:e(s).selectedCompanyCurrency},null,8,[\"amount\",\"currency\"])])]),t(\"div\",Wt,[t(\"span\",zt,_(b.$t(\"dashboard.chart_info.total_expense\")),1),qt,t(\"span\",Ht,[a(x,{amount:e(o).totalExpenses,currency:e(s).selectedCompanyCurrency},null,8,[\"amount\",\"currency\"])])]),t(\"div\",Ut,[t(\"span\",Zt,_(b.$t(\"dashboard.chart_info.net_income\")),1),Gt,t(\"span\",Jt,[a(x,{amount:e(o).totalNetIncome,currency:e(s).selectedCompanyCurrency},null,8,[\"amount\",\"currency\"])])])])])):(c(),p(Bt,{key:1}))])}}},Kt={class:\"grid grid-cols-1 gap-6 mt-10 xl:grid-cols-2\"},Qt={key:0,class:\"due-invoices\"},Xt={class:\"relative z-10 flex items-center justify-between mb-3\"},te={class:\"mb-0 text-xl font-semibold leading-normal\"},ee={key:1,class:\"recent-estimates\"},ae={class:\"relative z-10 flex items-center justify-between mb-3\"},se={class:\"mb-0 text-xl font-semibold leading-normal\"},oe={setup(d){const o=S(),{t:s}=Z(),n=E(),u=D(null),l=D(null),f=M(()=>[{key:\"formattedDueDate\",label:s(\"dashboard.recent_invoices_card.due_on\")},{key:\"user\",label:s(\"dashboard.recent_invoices_card.customer\")},{key:\"due_amount\",label:s(\"dashboard.recent_invoices_card.amount_due\")},{key:\"actions\",tdClass:\"text-right text-sm font-medium pl-0\",thClass:\"text-right pl-0\",sortable:!1}]),b=M(()=>[{key:\"formattedEstimateDate\",label:s(\"dashboard.recent_estimate_card.date\")},{key:\"user\",label:s(\"dashboard.recent_estimate_card.customer\")},{key:\"total\",label:s(\"dashboard.recent_estimate_card.amount_due\")},{key:\"actions\",tdClass:\"text-right text-sm font-medium pl-0\",thClass:\"text-right pl-0\",sortable:!1}]);function w(){return n.hasAbilities([h.DELETE_INVOICE,h.EDIT_INVOICE,h.VIEW_INVOICE,h.SEND_INVOICE])}function I(){return n.hasAbilities([h.CREATE_ESTIMATE,h.EDIT_ESTIMATE,h.VIEW_ESTIMATE,h.SEND_ESTIMATE])}return(g,x)=>{const $=r(\"BaseButton\"),k=r(\"router-link\"),A=r(\"BaseFormatMoney\"),P=r(\"BaseTable\");return c(),C(\"div\",null,[t(\"div\",Kt,[e(n).hasAbilities(e(h).VIEW_INVOICE)?(c(),C(\"div\",Qt,[t(\"div\",Xt,[t(\"h6\",te,_(g.$t(\"dashboard.recent_invoices_card.title\")),1),a($,{size:\"sm\",variant:\"primary-outline\",onClick:x[0]||(x[0]=m=>g.$router.push(\"/admin/invoices\"))},{default:i(()=>[y(_(g.$t(\"dashboard.recent_invoices_card.view_all\")),1)]),_:1})]),a(P,{data:e(o).recentDueInvoices,columns:e(f),loading:!e(o).isDashboardDataLoaded},N({\"cell-user\":i(({row:m})=>[a(k,{to:{path:`invoices/${m.data.id}/view`},class:\"font-medium text-primary-500\"},{default:i(()=>[y(_(m.data.customer.name),1)]),_:2},1032,[\"to\"])]),\"cell-due_amount\":i(({row:m})=>[a(A,{amount:m.data.due_amount,currency:m.data.customer.currency},null,8,[\"amount\",\"currency\"])]),_:2},[w()?{name:\"cell-actions\",fn:i(({row:m})=>[a(X,{row:m.data,table:u.value},null,8,[\"row\",\"table\"])])}:void 0]),1032,[\"data\",\"columns\",\"loading\"])])):v(\"\",!0),e(n).hasAbilities(e(h).VIEW_ESTIMATE)?(c(),C(\"div\",ee,[t(\"div\",ae,[t(\"h6\",se,_(g.$t(\"dashboard.recent_estimate_card.title\")),1),a($,{variant:\"primary-outline\",size:\"sm\",onClick:x[1]||(x[1]=m=>g.$router.push(\"/admin/estimates\"))},{default:i(()=>[y(_(g.$t(\"dashboard.recent_estimate_card.view_all\")),1)]),_:1})]),a(P,{data:e(o).recentEstimates,columns:e(b),loading:!e(o).isDashboardDataLoaded},N({\"cell-user\":i(({row:m})=>[a(k,{to:{path:`estimates/${m.data.id}/view`},class:\"font-medium text-primary-500\"},{default:i(()=>[y(_(m.data.customer.name),1)]),_:2},1032,[\"to\"])]),\"cell-total\":i(({row:m})=>[a(A,{amount:m.data.total,currency:m.data.customer.currency},null,8,[\"amount\",\"currency\"])]),_:2},[I()?{name:\"cell-actions\",fn:i(({row:m})=>[a(tt,{row:m,table:l.value},null,8,[\"row\",\"table\"])])}:void 0]),1032,[\"data\",\"columns\",\"loading\"])])):v(\"\",!0)])])}}},ue={setup(d){const o=G(),s=E(),n=J();return Y(()=>{o.meta.ability&&!s.hasAbilities(o.meta.ability)?n.push({name:\"account.settings\"}):o.meta.isOwner&&!s.currentUser.is_owner&&n.push({name:\"account.settings\"})}),(u,l)=>{const f=r(\"BasePage\");return c(),p(f,null,{default:i(()=>[a(xt),a(Yt),a(oe)]),_:1})}}};export{ue as default};\n"
  },
  {
    "path": "public/build/assets/DateTimeType.6886ff98.js",
    "content": "import{I as r,k as d,r as m,o as p,l as c,u as i,x as f}from\"./vendor.d12b5734.js\";const k={props:{modelValue:{type:String,default:r().format(\"YYYY-MM-DD hh:MM\")}},emits:[\"update:modelValue\"],setup(t,{emit:l}){const s=t,e=d({get:()=>s.modelValue,set:o=>{l(\"update:modelValue\",o)}});return(o,a)=>{const u=m(\"BaseDatePicker\");return p(),c(u,{modelValue:i(e),\"onUpdate:modelValue\":a[0]||(a[0]=n=>f(e)?e.value=n:null),\"enable-time\":\"\"},null,8,[\"modelValue\"])}}};export{k as default};\n"
  },
  {
    "path": "public/build/assets/DateType.12fc8765.js",
    "content": "import{I as r,k as d,r as m,o as p,l as c,u as f,x as i}from\"./vendor.d12b5734.js\";const k={props:{modelValue:{type:[String,Date],default:r().format(\"YYYY-MM-DD\")}},emits:[\"update:modelValue\"],setup(t,{emit:l}){const s=t,e=d({get:()=>s.modelValue,set:o=>{l(\"update:modelValue\",o)}});return(o,a)=>{const u=m(\"BaseDatePicker\");return p(),c(u,{modelValue:f(e),\"onUpdate:modelValue\":a[0]||(a[0]=n=>i(e)?e.value=n:null)},null,8,[\"modelValue\"])}}};export{k as default};\n"
  },
  {
    "path": "public/build/assets/DragIcon.2da3872a.js",
    "content": "import{aU as $r,aV as Br,aQ as Kr,aW as Hr,o as Wr,e as Xr,h as Yr}from\"./vendor.d12b5734.js\";import{_ as Vr}from\"./main.465728e1.js\";var gr={exports:{}};/**!\n * Sortable 1.14.0\n * @author\tRubaXa   <trash@rubaxa.org>\n * @author\towenm    <owen23355@gmail.com>\n * @license MIT\n */function pr(l,r){var n=Object.keys(l);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(l);r&&(i=i.filter(function(e){return Object.getOwnPropertyDescriptor(l,e).enumerable})),n.push.apply(n,i)}return n}function Bt(l){for(var r=1;r<arguments.length;r++){var n=arguments[r]!=null?arguments[r]:{};r%2?pr(Object(n),!0).forEach(function(i){zr(l,i,n[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(l,Object.getOwnPropertyDescriptors(n)):pr(Object(n)).forEach(function(i){Object.defineProperty(l,i,Object.getOwnPropertyDescriptor(n,i))})}return l}function Me(l){return typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?Me=function(r){return typeof r}:Me=function(r){return r&&typeof Symbol==\"function\"&&r.constructor===Symbol&&r!==Symbol.prototype?\"symbol\":typeof r},Me(l)}function zr(l,r,n){return r in l?Object.defineProperty(l,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):l[r]=n,l}function Nt(){return Nt=Object.assign||function(l){for(var r=1;r<arguments.length;r++){var n=arguments[r];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(l[i]=n[i])}return l},Nt.apply(this,arguments)}function Jr(l,r){if(l==null)return{};var n={},i=Object.keys(l),e,f;for(f=0;f<i.length;f++)e=i[f],!(r.indexOf(e)>=0)&&(n[e]=l[e]);return n}function Qr(l,r){if(l==null)return{};var n=Jr(l,r),i,e;if(Object.getOwnPropertySymbols){var f=Object.getOwnPropertySymbols(l);for(e=0;e<f.length;e++)i=f[e],!(r.indexOf(i)>=0)&&(!Object.prototype.propertyIsEnumerable.call(l,i)||(n[i]=l[i]))}return n}function Zr(l){return kr(l)||qr(l)||_r(l)||tn()}function kr(l){if(Array.isArray(l))return Ze(l)}function qr(l){if(typeof Symbol!=\"undefined\"&&l[Symbol.iterator]!=null||l[\"@@iterator\"]!=null)return Array.from(l)}function _r(l,r){if(!!l){if(typeof l==\"string\")return Ze(l,r);var n=Object.prototype.toString.call(l).slice(8,-1);if(n===\"Object\"&&l.constructor&&(n=l.constructor.name),n===\"Map\"||n===\"Set\")return Array.from(l);if(n===\"Arguments\"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Ze(l,r)}}function Ze(l,r){(r==null||r>l.length)&&(r=l.length);for(var n=0,i=new Array(r);n<r;n++)i[n]=l[n];return i}function tn(){throw new TypeError(`Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var en=\"1.14.0\";function Wt(l){if(typeof window!=\"undefined\"&&window.navigator)return!!navigator.userAgent.match(l)}var Xt=Wt(/(?:Trident.*rv[ :]?11\\.|msie|iemobile|Windows Phone)/i),ge=Wt(/Edge/i),mr=Wt(/firefox/i),pe=Wt(/safari/i)&&!Wt(/chrome/i)&&!Wt(/android/i),yr=Wt(/iP(ad|od|hone)/i),rn=Wt(/chrome/i)&&Wt(/android/i),Sr={capture:!1,passive:!1};function Z(l,r,n){l.addEventListener(r,n,!Xt&&Sr)}function Q(l,r,n){l.removeEventListener(r,n,!Xt&&Sr)}function Ne(l,r){if(!!r){if(r[0]===\">\"&&(r=r.substring(1)),l)try{if(l.matches)return l.matches(r);if(l.msMatchesSelector)return l.msMatchesSelector(r);if(l.webkitMatchesSelector)return l.webkitMatchesSelector(r)}catch{return!1}return!1}}function nn(l){return l.host&&l!==document&&l.host.nodeType?l.host:l.parentNode}function wt(l,r,n,i){if(l){n=n||document;do{if(r!=null&&(r[0]===\">\"?l.parentNode===n&&Ne(l,r):Ne(l,r))||i&&l===n)return l;if(l===n)break}while(l=nn(l))}return null}var br=/\\s+/g;function lt(l,r,n){if(l&&r)if(l.classList)l.classList[n?\"add\":\"remove\"](r);else{var i=(\" \"+l.className+\" \").replace(br,\" \").replace(\" \"+r+\" \",\" \");l.className=(i+(n?\" \"+r:\"\")).replace(br,\" \")}}function L(l,r,n){var i=l&&l.style;if(i){if(n===void 0)return document.defaultView&&document.defaultView.getComputedStyle?n=document.defaultView.getComputedStyle(l,\"\"):l.currentStyle&&(n=l.currentStyle),r===void 0?n:n[r];!(r in i)&&r.indexOf(\"webkit\")===-1&&(r=\"-webkit-\"+r),i[r]=n+(typeof n==\"string\"?\"\":\"px\")}}function qt(l,r){var n=\"\";if(typeof l==\"string\")n=l;else do{var i=L(l,\"transform\");i&&i!==\"none\"&&(n=i+\" \"+n)}while(!r&&(l=l.parentNode));var e=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return e&&new e(n)}function Er(l,r,n){if(l){var i=l.getElementsByTagName(r),e=0,f=i.length;if(n)for(;e<f;e++)n(i[e],e);return i}return[]}function Kt(){var l=document.scrollingElement;return l||document.documentElement}function ot(l,r,n,i,e){if(!(!l.getBoundingClientRect&&l!==window)){var f,t,o,a,s,c,u;if(l!==window&&l.parentNode&&l!==Kt()?(f=l.getBoundingClientRect(),t=f.top,o=f.left,a=f.bottom,s=f.right,c=f.height,u=f.width):(t=0,o=0,a=window.innerHeight,s=window.innerWidth,c=window.innerHeight,u=window.innerWidth),(r||n)&&l!==window&&(e=e||l.parentNode,!Xt))do if(e&&e.getBoundingClientRect&&(L(e,\"transform\")!==\"none\"||n&&L(e,\"position\")!==\"static\")){var d=e.getBoundingClientRect();t-=d.top+parseInt(L(e,\"border-top-width\")),o-=d.left+parseInt(L(e,\"border-left-width\")),a=t+f.height,s=o+f.width;break}while(e=e.parentNode);if(i&&l!==window){var v=qt(e||l),h=v&&v.a,g=v&&v.d;v&&(t/=g,o/=h,u/=h,c/=g,a=t+c,s=o+u)}return{top:t,left:o,bottom:a,right:s,width:u,height:c}}}function xr(l,r,n){for(var i=zt(l,!0),e=ot(l)[r];i;){var f=ot(i)[n],t=void 0;if(n===\"top\"||n===\"left\"?t=e>=f:t=e<=f,!t)return i;if(i===Kt())break;i=zt(i,!1)}return!1}function ne(l,r,n,i){for(var e=0,f=0,t=l.children;f<t.length;){if(t[f].style.display!==\"none\"&&t[f]!==K.ghost&&(i||t[f]!==K.dragged)&&wt(t[f],n.draggable,l,!1)){if(e===r)return t[f];e++}f++}return null}function ke(l,r){for(var n=l.lastElementChild;n&&(n===K.ghost||L(n,\"display\")===\"none\"||r&&!Ne(n,r));)n=n.previousElementSibling;return n||null}function ut(l,r){var n=0;if(!l||!l.parentNode)return-1;for(;l=l.previousElementSibling;)l.nodeName.toUpperCase()!==\"TEMPLATE\"&&l!==K.clone&&(!r||Ne(l,r))&&n++;return n}function Or(l){var r=0,n=0,i=Kt();if(l)do{var e=qt(l),f=e.a,t=e.d;r+=l.scrollLeft*f,n+=l.scrollTop*t}while(l!==i&&(l=l.parentNode));return[r,n]}function on(l,r){for(var n in l)if(!!l.hasOwnProperty(n)){for(var i in r)if(r.hasOwnProperty(i)&&r[i]===l[n][i])return Number(n)}return-1}function zt(l,r){if(!l||!l.getBoundingClientRect)return Kt();var n=l,i=!1;do if(n.clientWidth<n.scrollWidth||n.clientHeight<n.scrollHeight){var e=L(n);if(n.clientWidth<n.scrollWidth&&(e.overflowX==\"auto\"||e.overflowX==\"scroll\")||n.clientHeight<n.scrollHeight&&(e.overflowY==\"auto\"||e.overflowY==\"scroll\")){if(!n.getBoundingClientRect||n===document.body)return Kt();if(i||r)return n;i=!0}}while(n=n.parentNode);return Kt()}function an(l,r){if(l&&r)for(var n in r)r.hasOwnProperty(n)&&(l[n]=r[n]);return l}function qe(l,r){return Math.round(l.top)===Math.round(r.top)&&Math.round(l.left)===Math.round(r.left)&&Math.round(l.height)===Math.round(r.height)&&Math.round(l.width)===Math.round(r.width)}var me;function Tr(l,r){return function(){if(!me){var n=arguments,i=this;n.length===1?l.call(i,n[0]):l.apply(i,n),me=setTimeout(function(){me=void 0},r)}}}function ln(){clearTimeout(me),me=void 0}function Ir(l,r,n){l.scrollLeft+=r,l.scrollTop+=n}function _e(l){var r=window.Polymer,n=window.jQuery||window.Zepto;return r&&r.dom?r.dom(l).cloneNode(!0):n?n(l).clone(!0)[0]:l.cloneNode(!0)}function Pr(l,r){L(l,\"position\",\"absolute\"),L(l,\"top\",r.top),L(l,\"left\",r.left),L(l,\"width\",r.width),L(l,\"height\",r.height)}function tr(l){L(l,\"position\",\"\"),L(l,\"top\",\"\"),L(l,\"left\",\"\"),L(l,\"width\",\"\"),L(l,\"height\",\"\")}var xt=\"Sortable\"+new Date().getTime();function sn(){var l=[],r;return{captureAnimationState:function(){if(l=[],!!this.options.animation){var i=[].slice.call(this.el.children);i.forEach(function(e){if(!(L(e,\"display\")===\"none\"||e===K.ghost)){l.push({target:e,rect:ot(e)});var f=Bt({},l[l.length-1].rect);if(e.thisAnimationDuration){var t=qt(e,!0);t&&(f.top-=t.f,f.left-=t.e)}e.fromRect=f}})}},addAnimationState:function(i){l.push(i)},removeAnimationState:function(i){l.splice(on(l,{target:i}),1)},animateAll:function(i){var e=this;if(!this.options.animation){clearTimeout(r),typeof i==\"function\"&&i();return}var f=!1,t=0;l.forEach(function(o){var a=0,s=o.target,c=s.fromRect,u=ot(s),d=s.prevFromRect,v=s.prevToRect,h=o.rect,g=qt(s,!0);g&&(u.top-=g.f,u.left-=g.e),s.toRect=u,s.thisAnimationDuration&&qe(d,u)&&!qe(c,u)&&(h.top-u.top)/(h.left-u.left)==(c.top-u.top)/(c.left-u.left)&&(a=un(h,d,v,e.options)),qe(u,c)||(s.prevFromRect=c,s.prevToRect=u,a||(a=e.options.animation),e.animate(s,h,u,a)),a&&(f=!0,t=Math.max(t,a),clearTimeout(s.animationResetTimer),s.animationResetTimer=setTimeout(function(){s.animationTime=0,s.prevFromRect=null,s.fromRect=null,s.prevToRect=null,s.thisAnimationDuration=null},a),s.thisAnimationDuration=a)}),clearTimeout(r),f?r=setTimeout(function(){typeof i==\"function\"&&i()},t):typeof i==\"function\"&&i(),l=[]},animate:function(i,e,f,t){if(t){L(i,\"transition\",\"\"),L(i,\"transform\",\"\");var o=qt(this.el),a=o&&o.a,s=o&&o.d,c=(e.left-f.left)/(a||1),u=(e.top-f.top)/(s||1);i.animatingX=!!c,i.animatingY=!!u,L(i,\"transform\",\"translate3d(\"+c+\"px,\"+u+\"px,0)\"),this.forRepaintDummy=fn(i),L(i,\"transition\",\"transform \"+t+\"ms\"+(this.options.easing?\" \"+this.options.easing:\"\")),L(i,\"transform\",\"translate3d(0,0,0)\"),typeof i.animated==\"number\"&&clearTimeout(i.animated),i.animated=setTimeout(function(){L(i,\"transition\",\"\"),L(i,\"transform\",\"\"),i.animated=!1,i.animatingX=!1,i.animatingY=!1},t)}}}}function fn(l){return l.offsetWidth}function un(l,r,n,i){return Math.sqrt(Math.pow(r.top-l.top,2)+Math.pow(r.left-l.left,2))/Math.sqrt(Math.pow(r.top-n.top,2)+Math.pow(r.left-n.left,2))*i.animation}var oe=[],er={initializeByDefault:!0},ye={mount:function(r){for(var n in er)er.hasOwnProperty(n)&&!(n in r)&&(r[n]=er[n]);oe.forEach(function(i){if(i.pluginName===r.pluginName)throw\"Sortable: Cannot mount plugin \".concat(r.pluginName,\" more than once\")}),oe.push(r)},pluginEvent:function(r,n,i){var e=this;this.eventCanceled=!1,i.cancel=function(){e.eventCanceled=!0};var f=r+\"Global\";oe.forEach(function(t){!n[t.pluginName]||(n[t.pluginName][f]&&n[t.pluginName][f](Bt({sortable:n},i)),n.options[t.pluginName]&&n[t.pluginName][r]&&n[t.pluginName][r](Bt({sortable:n},i)))})},initializePlugins:function(r,n,i,e){oe.forEach(function(o){var a=o.pluginName;if(!(!r.options[a]&&!o.initializeByDefault)){var s=new o(r,n,r.options);s.sortable=r,s.options=r.options,r[a]=s,Nt(i,s.defaults)}});for(var f in r.options)if(!!r.options.hasOwnProperty(f)){var t=this.modifyOption(r,f,r.options[f]);typeof t!=\"undefined\"&&(r.options[f]=t)}},getEventProperties:function(r,n){var i={};return oe.forEach(function(e){typeof e.eventProperties==\"function\"&&Nt(i,e.eventProperties.call(n[e.pluginName],r))}),i},modifyOption:function(r,n,i){var e;return oe.forEach(function(f){!r[f.pluginName]||f.optionListeners&&typeof f.optionListeners[n]==\"function\"&&(e=f.optionListeners[n].call(r[f.pluginName],i))}),e}};function Se(l){var r=l.sortable,n=l.rootEl,i=l.name,e=l.targetEl,f=l.cloneEl,t=l.toEl,o=l.fromEl,a=l.oldIndex,s=l.newIndex,c=l.oldDraggableIndex,u=l.newDraggableIndex,d=l.originalEvent,v=l.putSortable,h=l.extraEventProperties;if(r=r||n&&n[xt],!!r){var g,p=r.options,S=\"on\"+i.charAt(0).toUpperCase()+i.substr(1);window.CustomEvent&&!Xt&&!ge?g=new CustomEvent(i,{bubbles:!0,cancelable:!0}):(g=document.createEvent(\"Event\"),g.initEvent(i,!0,!0)),g.to=t||n,g.from=o||n,g.item=e||n,g.clone=f,g.oldIndex=a,g.newIndex=s,g.oldDraggableIndex=c,g.newDraggableIndex=u,g.originalEvent=d,g.pullMode=v?v.lastPutMode:void 0;var b=Bt(Bt({},h),ye.getEventProperties(i,r));for(var I in b)g[I]=b[I];n&&n.dispatchEvent(g),p[S]&&p[S].call(r,g)}}var cn=[\"evt\"],Dt=function(r,n){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},e=i.evt,f=Qr(i,cn);ye.pluginEvent.bind(K)(r,n,Bt({dragEl:A,parentEl:ct,ghostEl:z,rootEl:at,nextEl:_t,lastDownEl:je,cloneEl:dt,cloneHidden:Jt,dragStarted:Ee,putSortable:Et,activeSortable:K.active,originalEvent:e,oldIndex:ae,oldDraggableIndex:be,newIndex:Rt,newDraggableIndex:Qt,hideGhostForTarget:jr,unhideGhostForTarget:Fr,cloneNowHidden:function(){Jt=!0},cloneNowShown:function(){Jt=!1},dispatchSortableEvent:function(o){It({sortable:n,name:o,originalEvent:e})}},f))};function It(l){Se(Bt({putSortable:Et,cloneEl:dt,targetEl:A,rootEl:at,oldIndex:ae,oldDraggableIndex:be,newIndex:Rt,newDraggableIndex:Qt},l))}var A,ct,z,at,_t,je,dt,Jt,ae,Rt,be,Qt,Fe,Et,ie=!1,we=!1,Le=[],te,Lt,rr,nr,Dr,Cr,Ee,le,xe,Oe=!1,Ue=!1,Ge,Ot,or=[],ar=!1,$e=[],Be=typeof document!=\"undefined\",Ke=yr,Ar=ge||Xt?\"cssFloat\":\"float\",dn=Be&&!rn&&!yr&&\"draggable\"in document.createElement(\"div\"),Rr=function(){if(!!Be){if(Xt)return!1;var l=document.createElement(\"x\");return l.style.cssText=\"pointer-events:auto\",l.style.pointerEvents===\"auto\"}}(),Mr=function(r,n){var i=L(r),e=parseInt(i.width)-parseInt(i.paddingLeft)-parseInt(i.paddingRight)-parseInt(i.borderLeftWidth)-parseInt(i.borderRightWidth),f=ne(r,0,n),t=ne(r,1,n),o=f&&L(f),a=t&&L(t),s=o&&parseInt(o.marginLeft)+parseInt(o.marginRight)+ot(f).width,c=a&&parseInt(a.marginLeft)+parseInt(a.marginRight)+ot(t).width;if(i.display===\"flex\")return i.flexDirection===\"column\"||i.flexDirection===\"column-reverse\"?\"vertical\":\"horizontal\";if(i.display===\"grid\")return i.gridTemplateColumns.split(\" \").length<=1?\"vertical\":\"horizontal\";if(f&&o.float&&o.float!==\"none\"){var u=o.float===\"left\"?\"left\":\"right\";return t&&(a.clear===\"both\"||a.clear===u)?\"vertical\":\"horizontal\"}return f&&(o.display===\"block\"||o.display===\"flex\"||o.display===\"table\"||o.display===\"grid\"||s>=e&&i[Ar]===\"none\"||t&&i[Ar]===\"none\"&&s+c>e)?\"vertical\":\"horizontal\"},vn=function(r,n,i){var e=i?r.left:r.top,f=i?r.right:r.bottom,t=i?r.width:r.height,o=i?n.left:n.top,a=i?n.right:n.bottom,s=i?n.width:n.height;return e===o||f===a||e+t/2===o+s/2},hn=function(r,n){var i;return Le.some(function(e){var f=e[xt].options.emptyInsertThreshold;if(!(!f||ke(e))){var t=ot(e),o=r>=t.left-f&&r<=t.right+f,a=n>=t.top-f&&n<=t.bottom+f;if(o&&a)return i=e}}),i},Nr=function(r){function n(f,t){return function(o,a,s,c){var u=o.options.group.name&&a.options.group.name&&o.options.group.name===a.options.group.name;if(f==null&&(t||u))return!0;if(f==null||f===!1)return!1;if(t&&f===\"clone\")return f;if(typeof f==\"function\")return n(f(o,a,s,c),t)(o,a,s,c);var d=(t?o:a).options.group.name;return f===!0||typeof f==\"string\"&&f===d||f.join&&f.indexOf(d)>-1}}var i={},e=r.group;(!e||Me(e)!=\"object\")&&(e={name:e}),i.name=e.name,i.checkPull=n(e.pull,!0),i.checkPut=n(e.put),i.revertClone=e.revertClone,r.group=i},jr=function(){!Rr&&z&&L(z,\"display\",\"none\")},Fr=function(){!Rr&&z&&L(z,\"display\",\"\")};Be&&document.addEventListener(\"click\",function(l){if(we)return l.preventDefault(),l.stopPropagation&&l.stopPropagation(),l.stopImmediatePropagation&&l.stopImmediatePropagation(),we=!1,!1},!0);var ee=function(r){if(A){r=r.touches?r.touches[0]:r;var n=hn(r.clientX,r.clientY);if(n){var i={};for(var e in r)r.hasOwnProperty(e)&&(i[e]=r[e]);i.target=i.rootEl=n,i.preventDefault=void 0,i.stopPropagation=void 0,n[xt]._onDragOver(i)}}},gn=function(r){A&&A.parentNode[xt]._isOutsideThisEl(r.target)};function K(l,r){if(!(l&&l.nodeType&&l.nodeType===1))throw\"Sortable: `el` must be an HTMLElement, not \".concat({}.toString.call(l));this.el=l,this.options=r=Nt({},r),l[xt]=this;var n={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(l.nodeName)?\">li\":\">*\",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return Mr(l,this.options)},ghostClass:\"sortable-ghost\",chosenClass:\"sortable-chosen\",dragClass:\"sortable-drag\",ignore:\"a, img\",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(t,o){t.setData(\"Text\",o.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:\"data-id\",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:\"sortable-fallback\",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:K.supportPointer!==!1&&\"PointerEvent\"in window&&!pe,emptyInsertThreshold:5};ye.initializePlugins(this,l,n);for(var i in n)!(i in r)&&(r[i]=n[i]);Nr(r);for(var e in this)e.charAt(0)===\"_\"&&typeof this[e]==\"function\"&&(this[e]=this[e].bind(this));this.nativeDraggable=r.forceFallback?!1:dn,this.nativeDraggable&&(this.options.touchStartThreshold=1),r.supportPointer?Z(l,\"pointerdown\",this._onTapStart):(Z(l,\"mousedown\",this._onTapStart),Z(l,\"touchstart\",this._onTapStart)),this.nativeDraggable&&(Z(l,\"dragover\",this),Z(l,\"dragenter\",this)),Le.push(this.el),r.store&&r.store.get&&this.sort(r.store.get(this)||[]),Nt(this,sn())}K.prototype={constructor:K,_isOutsideThisEl:function(r){!this.el.contains(r)&&r!==this.el&&(le=null)},_getDirection:function(r,n){return typeof this.options.direction==\"function\"?this.options.direction.call(this,r,n,A):this.options.direction},_onTapStart:function(r){if(!!r.cancelable){var n=this,i=this.el,e=this.options,f=e.preventOnFilter,t=r.type,o=r.touches&&r.touches[0]||r.pointerType&&r.pointerType===\"touch\"&&r,a=(o||r).target,s=r.target.shadowRoot&&(r.path&&r.path[0]||r.composedPath&&r.composedPath()[0])||a,c=e.filter;if(On(i),!A&&!(/mousedown|pointerdown/.test(t)&&r.button!==0||e.disabled)&&!s.isContentEditable&&!(!this.nativeDraggable&&pe&&a&&a.tagName.toUpperCase()===\"SELECT\")&&(a=wt(a,e.draggable,i,!1),!(a&&a.animated)&&je!==a)){if(ae=ut(a),be=ut(a,e.draggable),typeof c==\"function\"){if(c.call(this,r,a,this)){It({sortable:n,rootEl:s,name:\"filter\",targetEl:a,toEl:i,fromEl:i}),Dt(\"filter\",n,{evt:r}),f&&r.cancelable&&r.preventDefault();return}}else if(c&&(c=c.split(\",\").some(function(u){if(u=wt(s,u.trim(),i,!1),u)return It({sortable:n,rootEl:u,name:\"filter\",targetEl:a,fromEl:i,toEl:i}),Dt(\"filter\",n,{evt:r}),!0}),c)){f&&r.cancelable&&r.preventDefault();return}e.handle&&!wt(s,e.handle,i,!1)||this._prepareDragStart(r,o,a)}}},_prepareDragStart:function(r,n,i){var e=this,f=e.el,t=e.options,o=f.ownerDocument,a;if(i&&!A&&i.parentNode===f){var s=ot(i);if(at=f,A=i,ct=A.parentNode,_t=A.nextSibling,je=i,Fe=t.group,K.dragged=A,te={target:A,clientX:(n||r).clientX,clientY:(n||r).clientY},Dr=te.clientX-s.left,Cr=te.clientY-s.top,this._lastX=(n||r).clientX,this._lastY=(n||r).clientY,A.style[\"will-change\"]=\"all\",a=function(){if(Dt(\"delayEnded\",e,{evt:r}),K.eventCanceled){e._onDrop();return}e._disableDelayedDragEvents(),!mr&&e.nativeDraggable&&(A.draggable=!0),e._triggerDragStart(r,n),It({sortable:e,name:\"choose\",originalEvent:r}),lt(A,t.chosenClass,!0)},t.ignore.split(\",\").forEach(function(c){Er(A,c.trim(),ir)}),Z(o,\"dragover\",ee),Z(o,\"mousemove\",ee),Z(o,\"touchmove\",ee),Z(o,\"mouseup\",e._onDrop),Z(o,\"touchend\",e._onDrop),Z(o,\"touchcancel\",e._onDrop),mr&&this.nativeDraggable&&(this.options.touchStartThreshold=4,A.draggable=!0),Dt(\"delayStart\",this,{evt:r}),t.delay&&(!t.delayOnTouchOnly||n)&&(!this.nativeDraggable||!(ge||Xt))){if(K.eventCanceled){this._onDrop();return}Z(o,\"mouseup\",e._disableDelayedDrag),Z(o,\"touchend\",e._disableDelayedDrag),Z(o,\"touchcancel\",e._disableDelayedDrag),Z(o,\"mousemove\",e._delayedDragTouchMoveHandler),Z(o,\"touchmove\",e._delayedDragTouchMoveHandler),t.supportPointer&&Z(o,\"pointermove\",e._delayedDragTouchMoveHandler),e._dragStartTimer=setTimeout(a,t.delay)}else a()}},_delayedDragTouchMoveHandler:function(r){var n=r.touches?r.touches[0]:r;Math.max(Math.abs(n.clientX-this._lastX),Math.abs(n.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){A&&ir(A),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var r=this.el.ownerDocument;Q(r,\"mouseup\",this._disableDelayedDrag),Q(r,\"touchend\",this._disableDelayedDrag),Q(r,\"touchcancel\",this._disableDelayedDrag),Q(r,\"mousemove\",this._delayedDragTouchMoveHandler),Q(r,\"touchmove\",this._delayedDragTouchMoveHandler),Q(r,\"pointermove\",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(r,n){n=n||r.pointerType==\"touch\"&&r,!this.nativeDraggable||n?this.options.supportPointer?Z(document,\"pointermove\",this._onTouchMove):n?Z(document,\"touchmove\",this._onTouchMove):Z(document,\"mousemove\",this._onTouchMove):(Z(A,\"dragend\",this),Z(at,\"dragstart\",this._onDragStart));try{document.selection?We(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch{}},_dragStarted:function(r,n){if(ie=!1,at&&A){Dt(\"dragStarted\",this,{evt:n}),this.nativeDraggable&&Z(document,\"dragover\",gn);var i=this.options;!r&&lt(A,i.dragClass,!1),lt(A,i.ghostClass,!0),K.active=this,r&&this._appendGhost(),It({sortable:this,name:\"start\",originalEvent:n})}else this._nulling()},_emulateDragOver:function(){if(Lt){this._lastX=Lt.clientX,this._lastY=Lt.clientY,jr();for(var r=document.elementFromPoint(Lt.clientX,Lt.clientY),n=r;r&&r.shadowRoot&&(r=r.shadowRoot.elementFromPoint(Lt.clientX,Lt.clientY),r!==n);)n=r;if(A.parentNode[xt]._isOutsideThisEl(r),n)do{if(n[xt]){var i=void 0;if(i=n[xt]._onDragOver({clientX:Lt.clientX,clientY:Lt.clientY,target:r,rootEl:n}),i&&!this.options.dragoverBubble)break}r=n}while(n=n.parentNode);Fr()}},_onTouchMove:function(r){if(te){var n=this.options,i=n.fallbackTolerance,e=n.fallbackOffset,f=r.touches?r.touches[0]:r,t=z&&qt(z,!0),o=z&&t&&t.a,a=z&&t&&t.d,s=Ke&&Ot&&Or(Ot),c=(f.clientX-te.clientX+e.x)/(o||1)+(s?s[0]-or[0]:0)/(o||1),u=(f.clientY-te.clientY+e.y)/(a||1)+(s?s[1]-or[1]:0)/(a||1);if(!K.active&&!ie){if(i&&Math.max(Math.abs(f.clientX-this._lastX),Math.abs(f.clientY-this._lastY))<i)return;this._onDragStart(r,!0)}if(z){t?(t.e+=c-(rr||0),t.f+=u-(nr||0)):t={a:1,b:0,c:0,d:1,e:c,f:u};var d=\"matrix(\".concat(t.a,\",\").concat(t.b,\",\").concat(t.c,\",\").concat(t.d,\",\").concat(t.e,\",\").concat(t.f,\")\");L(z,\"webkitTransform\",d),L(z,\"mozTransform\",d),L(z,\"msTransform\",d),L(z,\"transform\",d),rr=c,nr=u,Lt=f}r.cancelable&&r.preventDefault()}},_appendGhost:function(){if(!z){var r=this.options.fallbackOnBody?document.body:at,n=ot(A,!0,Ke,!0,r),i=this.options;if(Ke){for(Ot=r;L(Ot,\"position\")===\"static\"&&L(Ot,\"transform\")===\"none\"&&Ot!==document;)Ot=Ot.parentNode;Ot!==document.body&&Ot!==document.documentElement?(Ot===document&&(Ot=Kt()),n.top+=Ot.scrollTop,n.left+=Ot.scrollLeft):Ot=Kt(),or=Or(Ot)}z=A.cloneNode(!0),lt(z,i.ghostClass,!1),lt(z,i.fallbackClass,!0),lt(z,i.dragClass,!0),L(z,\"transition\",\"\"),L(z,\"transform\",\"\"),L(z,\"box-sizing\",\"border-box\"),L(z,\"margin\",0),L(z,\"top\",n.top),L(z,\"left\",n.left),L(z,\"width\",n.width),L(z,\"height\",n.height),L(z,\"opacity\",\"0.8\"),L(z,\"position\",Ke?\"absolute\":\"fixed\"),L(z,\"zIndex\",\"100000\"),L(z,\"pointerEvents\",\"none\"),K.ghost=z,r.appendChild(z),L(z,\"transform-origin\",Dr/parseInt(z.style.width)*100+\"% \"+Cr/parseInt(z.style.height)*100+\"%\")}},_onDragStart:function(r,n){var i=this,e=r.dataTransfer,f=i.options;if(Dt(\"dragStart\",this,{evt:r}),K.eventCanceled){this._onDrop();return}Dt(\"setupClone\",this),K.eventCanceled||(dt=_e(A),dt.draggable=!1,dt.style[\"will-change\"]=\"\",this._hideClone(),lt(dt,this.options.chosenClass,!1),K.clone=dt),i.cloneId=We(function(){Dt(\"clone\",i),!K.eventCanceled&&(i.options.removeCloneOnHide||at.insertBefore(dt,A),i._hideClone(),It({sortable:i,name:\"clone\"}))}),!n&&lt(A,f.dragClass,!0),n?(we=!0,i._loopId=setInterval(i._emulateDragOver,50)):(Q(document,\"mouseup\",i._onDrop),Q(document,\"touchend\",i._onDrop),Q(document,\"touchcancel\",i._onDrop),e&&(e.effectAllowed=\"move\",f.setData&&f.setData.call(i,e,A)),Z(document,\"drop\",i),L(A,\"transform\",\"translateZ(0)\")),ie=!0,i._dragStartId=We(i._dragStarted.bind(i,n,r)),Z(document,\"selectstart\",i),Ee=!0,pe&&L(document.body,\"user-select\",\"none\")},_onDragOver:function(r){var n=this.el,i=r.target,e,f,t,o=this.options,a=o.group,s=K.active,c=Fe===a,u=o.sort,d=Et||s,v,h=this,g=!1;if(ar)return;function p(_,rt){Dt(_,h,Bt({evt:r,isOwner:c,axis:v?\"vertical\":\"horizontal\",revert:t,dragRect:e,targetRect:f,canSort:u,fromSortable:d,target:i,completed:b,onMove:function(st,ft){return He(at,n,A,e,st,ot(st),r,ft)},changed:I},rt))}function S(){p(\"dragOverAnimationCapture\"),h.captureAnimationState(),h!==d&&d.captureAnimationState()}function b(_){return p(\"dragOverCompleted\",{insertion:_}),_&&(c?s._hideClone():s._showClone(h),h!==d&&(lt(A,Et?Et.options.ghostClass:s.options.ghostClass,!1),lt(A,o.ghostClass,!0)),Et!==h&&h!==K.active?Et=h:h===K.active&&Et&&(Et=null),d===h&&(h._ignoreWhileAnimating=i),h.animateAll(function(){p(\"dragOverAnimationComplete\"),h._ignoreWhileAnimating=null}),h!==d&&(d.animateAll(),d._ignoreWhileAnimating=null)),(i===A&&!A.animated||i===n&&!i.animated)&&(le=null),!o.dragoverBubble&&!r.rootEl&&i!==document&&(A.parentNode[xt]._isOutsideThisEl(r.target),!_&&ee(r)),!o.dragoverBubble&&r.stopPropagation&&r.stopPropagation(),g=!0}function I(){Rt=ut(A),Qt=ut(A,o.draggable),It({sortable:h,name:\"change\",toEl:n,newIndex:Rt,newDraggableIndex:Qt,originalEvent:r})}if(r.preventDefault!==void 0&&r.cancelable&&r.preventDefault(),i=wt(i,o.draggable,n,!0),p(\"dragOver\"),K.eventCanceled)return g;if(A.contains(r.target)||i.animated&&i.animatingX&&i.animatingY||h._ignoreWhileAnimating===i)return b(!1);if(we=!1,s&&!o.disabled&&(c?u||(t=ct!==at):Et===this||(this.lastPutMode=Fe.checkPull(this,s,A,r))&&a.checkPut(this,s,A,r))){if(v=this._getDirection(r,i)===\"vertical\",e=ot(A),p(\"dragOverValid\"),K.eventCanceled)return g;if(t)return ct=at,S(),this._hideClone(),p(\"revert\"),K.eventCanceled||(_t?at.insertBefore(A,_t):at.appendChild(A)),b(!0);var x=ke(n,o.draggable);if(!x||Sn(r,v,this)&&!x.animated){if(x===A)return b(!1);if(x&&n===r.target&&(i=x),i&&(f=ot(i)),He(at,n,A,e,i,f,r,!!i)!==!1)return S(),n.appendChild(A),ct=n,I(),b(!0)}else if(x&&yn(r,v,this)){var P=ne(n,0,o,!0);if(P===A)return b(!1);if(i=P,f=ot(i),He(at,n,A,e,i,f,r,!1)!==!1)return S(),n.insertBefore(A,P),ct=n,I(),b(!0)}else if(i.parentNode===n){f=ot(i);var O=0,w,U=A.parentNode!==n,T=!vn(A.animated&&A.toRect||e,i.animated&&i.toRect||f,v),M=v?\"top\":\"left\",j=xr(i,\"top\",\"top\")||xr(A,\"top\",\"top\"),Y=j?j.scrollTop:void 0;le!==i&&(w=f[M],Oe=!1,Ue=!T&&o.invertSwap||U),O=bn(r,i,f,v,T?1:o.swapThreshold,o.invertedSwapThreshold==null?o.swapThreshold:o.invertedSwapThreshold,Ue,le===i);var C;if(O!==0){var R=ut(A);do R-=O,C=ct.children[R];while(C&&(L(C,\"display\")===\"none\"||C===z))}if(O===0||C===i)return b(!1);le=i,xe=O;var X=i.nextElementSibling,N=!1;N=O===1;var $=He(at,n,A,e,i,f,r,N);if($!==!1)return($===1||$===-1)&&(N=$===1),ar=!0,setTimeout(mn,30),S(),N&&!X?n.appendChild(A):i.parentNode.insertBefore(A,N?X:i),j&&Ir(j,0,Y-j.scrollTop),ct=A.parentNode,w!==void 0&&!Ue&&(Ge=Math.abs(w-ot(i)[M])),I(),b(!0)}if(n.contains(A))return b(!1)}return!1},_ignoreWhileAnimating:null,_offMoveEvents:function(){Q(document,\"mousemove\",this._onTouchMove),Q(document,\"touchmove\",this._onTouchMove),Q(document,\"pointermove\",this._onTouchMove),Q(document,\"dragover\",ee),Q(document,\"mousemove\",ee),Q(document,\"touchmove\",ee)},_offUpEvents:function(){var r=this.el.ownerDocument;Q(r,\"mouseup\",this._onDrop),Q(r,\"touchend\",this._onDrop),Q(r,\"pointerup\",this._onDrop),Q(r,\"touchcancel\",this._onDrop),Q(document,\"selectstart\",this)},_onDrop:function(r){var n=this.el,i=this.options;if(Rt=ut(A),Qt=ut(A,i.draggable),Dt(\"drop\",this,{evt:r}),ct=A&&A.parentNode,Rt=ut(A),Qt=ut(A,i.draggable),K.eventCanceled){this._nulling();return}ie=!1,Ue=!1,Oe=!1,clearInterval(this._loopId),clearTimeout(this._dragStartTimer),lr(this.cloneId),lr(this._dragStartId),this.nativeDraggable&&(Q(document,\"drop\",this),Q(n,\"dragstart\",this._onDragStart)),this._offMoveEvents(),this._offUpEvents(),pe&&L(document.body,\"user-select\",\"\"),L(A,\"transform\",\"\"),r&&(Ee&&(r.cancelable&&r.preventDefault(),!i.dropBubble&&r.stopPropagation()),z&&z.parentNode&&z.parentNode.removeChild(z),(at===ct||Et&&Et.lastPutMode!==\"clone\")&&dt&&dt.parentNode&&dt.parentNode.removeChild(dt),A&&(this.nativeDraggable&&Q(A,\"dragend\",this),ir(A),A.style[\"will-change\"]=\"\",Ee&&!ie&&lt(A,Et?Et.options.ghostClass:this.options.ghostClass,!1),lt(A,this.options.chosenClass,!1),It({sortable:this,name:\"unchoose\",toEl:ct,newIndex:null,newDraggableIndex:null,originalEvent:r}),at!==ct?(Rt>=0&&(It({rootEl:ct,name:\"add\",toEl:ct,fromEl:at,originalEvent:r}),It({sortable:this,name:\"remove\",toEl:ct,originalEvent:r}),It({rootEl:ct,name:\"sort\",toEl:ct,fromEl:at,originalEvent:r}),It({sortable:this,name:\"sort\",toEl:ct,originalEvent:r})),Et&&Et.save()):Rt!==ae&&Rt>=0&&(It({sortable:this,name:\"update\",toEl:ct,originalEvent:r}),It({sortable:this,name:\"sort\",toEl:ct,originalEvent:r})),K.active&&((Rt==null||Rt===-1)&&(Rt=ae,Qt=be),It({sortable:this,name:\"end\",toEl:ct,originalEvent:r}),this.save()))),this._nulling()},_nulling:function(){Dt(\"nulling\",this),at=A=ct=z=_t=dt=je=Jt=te=Lt=Ee=Rt=Qt=ae=be=le=xe=Et=Fe=K.dragged=K.ghost=K.clone=K.active=null,$e.forEach(function(r){r.checked=!0}),$e.length=rr=nr=0},handleEvent:function(r){switch(r.type){case\"drop\":case\"dragend\":this._onDrop(r);break;case\"dragenter\":case\"dragover\":A&&(this._onDragOver(r),pn(r));break;case\"selectstart\":r.preventDefault();break}},toArray:function(){for(var r=[],n,i=this.el.children,e=0,f=i.length,t=this.options;e<f;e++)n=i[e],wt(n,t.draggable,this.el,!1)&&r.push(n.getAttribute(t.dataIdAttr)||xn(n));return r},sort:function(r,n){var i={},e=this.el;this.toArray().forEach(function(f,t){var o=e.children[t];wt(o,this.options.draggable,e,!1)&&(i[f]=o)},this),n&&this.captureAnimationState(),r.forEach(function(f){i[f]&&(e.removeChild(i[f]),e.appendChild(i[f]))}),n&&this.animateAll()},save:function(){var r=this.options.store;r&&r.set&&r.set(this)},closest:function(r,n){return wt(r,n||this.options.draggable,this.el,!1)},option:function(r,n){var i=this.options;if(n===void 0)return i[r];var e=ye.modifyOption(this,r,n);typeof e!=\"undefined\"?i[r]=e:i[r]=n,r===\"group\"&&Nr(i)},destroy:function(){Dt(\"destroy\",this);var r=this.el;r[xt]=null,Q(r,\"mousedown\",this._onTapStart),Q(r,\"touchstart\",this._onTapStart),Q(r,\"pointerdown\",this._onTapStart),this.nativeDraggable&&(Q(r,\"dragover\",this),Q(r,\"dragenter\",this)),Array.prototype.forEach.call(r.querySelectorAll(\"[draggable]\"),function(n){n.removeAttribute(\"draggable\")}),this._onDrop(),this._disableDelayedDragEvents(),Le.splice(Le.indexOf(this.el),1),this.el=r=null},_hideClone:function(){if(!Jt){if(Dt(\"hideClone\",this),K.eventCanceled)return;L(dt,\"display\",\"none\"),this.options.removeCloneOnHide&&dt.parentNode&&dt.parentNode.removeChild(dt),Jt=!0}},_showClone:function(r){if(r.lastPutMode!==\"clone\"){this._hideClone();return}if(Jt){if(Dt(\"showClone\",this),K.eventCanceled)return;A.parentNode==at&&!this.options.group.revertClone?at.insertBefore(dt,A):_t?at.insertBefore(dt,_t):at.appendChild(dt),this.options.group.revertClone&&this.animate(A,dt),L(dt,\"display\",\"\"),Jt=!1}}};function pn(l){l.dataTransfer&&(l.dataTransfer.dropEffect=\"move\"),l.cancelable&&l.preventDefault()}function He(l,r,n,i,e,f,t,o){var a,s=l[xt],c=s.options.onMove,u;return window.CustomEvent&&!Xt&&!ge?a=new CustomEvent(\"move\",{bubbles:!0,cancelable:!0}):(a=document.createEvent(\"Event\"),a.initEvent(\"move\",!0,!0)),a.to=r,a.from=l,a.dragged=n,a.draggedRect=i,a.related=e||r,a.relatedRect=f||ot(r),a.willInsertAfter=o,a.originalEvent=t,l.dispatchEvent(a),c&&(u=c.call(s,a,t)),u}function ir(l){l.draggable=!1}function mn(){ar=!1}function yn(l,r,n){var i=ot(ne(n.el,0,n.options,!0)),e=10;return r?l.clientX<i.left-e||l.clientY<i.top&&l.clientX<i.right:l.clientY<i.top-e||l.clientY<i.bottom&&l.clientX<i.left}function Sn(l,r,n){var i=ot(ke(n.el,n.options.draggable)),e=10;return r?l.clientX>i.right+e||l.clientX<=i.right&&l.clientY>i.bottom&&l.clientX>=i.left:l.clientX>i.right&&l.clientY>i.top||l.clientX<=i.right&&l.clientY>i.bottom+e}function bn(l,r,n,i,e,f,t,o){var a=i?l.clientY:l.clientX,s=i?n.height:n.width,c=i?n.top:n.left,u=i?n.bottom:n.right,d=!1;if(!t){if(o&&Ge<s*e){if(!Oe&&(xe===1?a>c+s*f/2:a<u-s*f/2)&&(Oe=!0),Oe)d=!0;else if(xe===1?a<c+Ge:a>u-Ge)return-xe}else if(a>c+s*(1-e)/2&&a<u-s*(1-e)/2)return En(r)}return d=d||t,d&&(a<c+s*f/2||a>u-s*f/2)?a>c+s/2?1:-1:0}function En(l){return ut(A)<ut(l)?1:-1}function xn(l){for(var r=l.tagName+l.className+l.src+l.href+l.textContent,n=r.length,i=0;n--;)i+=r.charCodeAt(n);return i.toString(36)}function On(l){$e.length=0;for(var r=l.getElementsByTagName(\"input\"),n=r.length;n--;){var i=r[n];i.checked&&$e.push(i)}}function We(l){return setTimeout(l,0)}function lr(l){return clearTimeout(l)}Be&&Z(document,\"touchmove\",function(l){(K.active||ie)&&l.cancelable&&l.preventDefault()});K.utils={on:Z,off:Q,css:L,find:Er,is:function(r,n){return!!wt(r,n,r,!1)},extend:an,throttle:Tr,closest:wt,toggleClass:lt,clone:_e,index:ut,nextTick:We,cancelNextTick:lr,detectDirection:Mr,getChild:ne};K.get=function(l){return l[xt]};K.mount=function(){for(var l=arguments.length,r=new Array(l),n=0;n<l;n++)r[n]=arguments[n];r[0].constructor===Array&&(r=r[0]),r.forEach(function(i){if(!i.prototype||!i.prototype.constructor)throw\"Sortable: Mounted plugin must be a constructor function, not \".concat({}.toString.call(i));i.utils&&(K.utils=Bt(Bt({},K.utils),i.utils)),ye.mount(i)})};K.create=function(l,r){return new K(l,r)};K.version=en;var gt=[],Te,sr,fr=!1,ur,cr,Xe,Ie;function Tn(){function l(){this.defaults={scroll:!0,forceAutoScrollFallback:!1,scrollSensitivity:30,scrollSpeed:10,bubbleScroll:!0};for(var r in this)r.charAt(0)===\"_\"&&typeof this[r]==\"function\"&&(this[r]=this[r].bind(this))}return l.prototype={dragStarted:function(n){var i=n.originalEvent;this.sortable.nativeDraggable?Z(document,\"dragover\",this._handleAutoScroll):this.options.supportPointer?Z(document,\"pointermove\",this._handleFallbackAutoScroll):i.touches?Z(document,\"touchmove\",this._handleFallbackAutoScroll):Z(document,\"mousemove\",this._handleFallbackAutoScroll)},dragOverCompleted:function(n){var i=n.originalEvent;!this.options.dragOverBubble&&!i.rootEl&&this._handleAutoScroll(i)},drop:function(){this.sortable.nativeDraggable?Q(document,\"dragover\",this._handleAutoScroll):(Q(document,\"pointermove\",this._handleFallbackAutoScroll),Q(document,\"touchmove\",this._handleFallbackAutoScroll),Q(document,\"mousemove\",this._handleFallbackAutoScroll)),wr(),Ye(),ln()},nulling:function(){Xe=sr=Te=fr=Ie=ur=cr=null,gt.length=0},_handleFallbackAutoScroll:function(n){this._handleAutoScroll(n,!0)},_handleAutoScroll:function(n,i){var e=this,f=(n.touches?n.touches[0]:n).clientX,t=(n.touches?n.touches[0]:n).clientY,o=document.elementFromPoint(f,t);if(Xe=n,i||this.options.forceAutoScrollFallback||ge||Xt||pe){dr(n,this.options,o,i);var a=zt(o,!0);fr&&(!Ie||f!==ur||t!==cr)&&(Ie&&wr(),Ie=setInterval(function(){var s=zt(document.elementFromPoint(f,t),!0);s!==a&&(a=s,Ye()),dr(n,e.options,s,i)},10),ur=f,cr=t)}else{if(!this.options.bubbleScroll||zt(o,!0)===Kt()){Ye();return}dr(n,this.options,zt(o,!1),!1)}}},Nt(l,{pluginName:\"scroll\",initializeByDefault:!0})}function Ye(){gt.forEach(function(l){clearInterval(l.pid)}),gt=[]}function wr(){clearInterval(Ie)}var dr=Tr(function(l,r,n,i){if(!!r.scroll){var e=(l.touches?l.touches[0]:l).clientX,f=(l.touches?l.touches[0]:l).clientY,t=r.scrollSensitivity,o=r.scrollSpeed,a=Kt(),s=!1,c;sr!==n&&(sr=n,Ye(),Te=r.scroll,c=r.scrollFn,Te===!0&&(Te=zt(n,!0)));var u=0,d=Te;do{var v=d,h=ot(v),g=h.top,p=h.bottom,S=h.left,b=h.right,I=h.width,x=h.height,P=void 0,O=void 0,w=v.scrollWidth,U=v.scrollHeight,T=L(v),M=v.scrollLeft,j=v.scrollTop;v===a?(P=I<w&&(T.overflowX===\"auto\"||T.overflowX===\"scroll\"||T.overflowX===\"visible\"),O=x<U&&(T.overflowY===\"auto\"||T.overflowY===\"scroll\"||T.overflowY===\"visible\")):(P=I<w&&(T.overflowX===\"auto\"||T.overflowX===\"scroll\"),O=x<U&&(T.overflowY===\"auto\"||T.overflowY===\"scroll\"));var Y=P&&(Math.abs(b-e)<=t&&M+I<w)-(Math.abs(S-e)<=t&&!!M),C=O&&(Math.abs(p-f)<=t&&j+x<U)-(Math.abs(g-f)<=t&&!!j);if(!gt[u])for(var R=0;R<=u;R++)gt[R]||(gt[R]={});(gt[u].vx!=Y||gt[u].vy!=C||gt[u].el!==v)&&(gt[u].el=v,gt[u].vx=Y,gt[u].vy=C,clearInterval(gt[u].pid),(Y!=0||C!=0)&&(s=!0,gt[u].pid=setInterval(function(){i&&this.layer===0&&K.active._onTouchMove(Xe);var X=gt[this.layer].vy?gt[this.layer].vy*o:0,N=gt[this.layer].vx?gt[this.layer].vx*o:0;typeof c==\"function\"&&c.call(K.dragged.parentNode[xt],N,X,l,Xe,gt[this.layer].el)!==\"continue\"||Ir(gt[this.layer].el,N,X)}.bind({layer:u}),24))),u++}while(r.bubbleScroll&&d!==a&&(d=zt(d,!1)));fr=s}},30),Lr=function(r){var n=r.originalEvent,i=r.putSortable,e=r.dragEl,f=r.activeSortable,t=r.dispatchSortableEvent,o=r.hideGhostForTarget,a=r.unhideGhostForTarget;if(!!n){var s=i||f;o();var c=n.changedTouches&&n.changedTouches.length?n.changedTouches[0]:n,u=document.elementFromPoint(c.clientX,c.clientY);a(),s&&!s.el.contains(u)&&(t(\"spill\"),this.onSpill({dragEl:e,putSortable:i}))}};function vr(){}vr.prototype={startIndex:null,dragStart:function(r){var n=r.oldDraggableIndex;this.startIndex=n},onSpill:function(r){var n=r.dragEl,i=r.putSortable;this.sortable.captureAnimationState(),i&&i.captureAnimationState();var e=ne(this.sortable.el,this.startIndex,this.options);e?this.sortable.el.insertBefore(n,e):this.sortable.el.appendChild(n),this.sortable.animateAll(),i&&i.animateAll()},drop:Lr};Nt(vr,{pluginName:\"revertOnSpill\"});function hr(){}hr.prototype={onSpill:function(r){var n=r.dragEl,i=r.putSortable,e=i||this.sortable;e.captureAnimationState(),n.parentNode&&n.parentNode.removeChild(n),e.animateAll()},drop:Lr};Nt(hr,{pluginName:\"removeOnSpill\"});var jt;function In(){function l(){this.defaults={swapClass:\"sortable-swap-highlight\"}}return l.prototype={dragStart:function(n){var i=n.dragEl;jt=i},dragOverValid:function(n){var i=n.completed,e=n.target,f=n.onMove,t=n.activeSortable,o=n.changed,a=n.cancel;if(!!t.options.swap){var s=this.sortable.el,c=this.options;if(e&&e!==s){var u=jt;f(e)!==!1?(lt(e,c.swapClass,!0),jt=e):jt=null,u&&u!==jt&&lt(u,c.swapClass,!1)}o(),i(!0),a()}},drop:function(n){var i=n.activeSortable,e=n.putSortable,f=n.dragEl,t=e||this.sortable,o=this.options;jt&&lt(jt,o.swapClass,!1),jt&&(o.swap||e&&e.options.swap)&&f!==jt&&(t.captureAnimationState(),t!==i&&i.captureAnimationState(),Pn(f,jt),t.animateAll(),t!==i&&i.animateAll())},nulling:function(){jt=null}},Nt(l,{pluginName:\"swap\",eventProperties:function(){return{swapItem:jt}}})}function Pn(l,r){var n=l.parentNode,i=r.parentNode,e,f;!n||!i||n.isEqualNode(r)||i.isEqualNode(l)||(e=ut(l),f=ut(r),n.isEqualNode(i)&&e<f&&f++,n.insertBefore(r,n.children[e]),i.insertBefore(l,i.children[f]))}var V=[],Mt=[],Pe,Ut,De=!1,Ct=!1,se=!1,et,Ce,Ve;function Dn(){function l(r){for(var n in this)n.charAt(0)===\"_\"&&typeof this[n]==\"function\"&&(this[n]=this[n].bind(this));r.options.supportPointer?Z(document,\"pointerup\",this._deselectMultiDrag):(Z(document,\"mouseup\",this._deselectMultiDrag),Z(document,\"touchend\",this._deselectMultiDrag)),Z(document,\"keydown\",this._checkKeyDown),Z(document,\"keyup\",this._checkKeyUp),this.defaults={selectedClass:\"sortable-selected\",multiDragKey:null,setData:function(e,f){var t=\"\";V.length&&Ut===r?V.forEach(function(o,a){t+=(a?\", \":\"\")+o.textContent}):t=f.textContent,e.setData(\"Text\",t)}}}return l.prototype={multiDragKeyDown:!1,isMultiDrag:!1,delayStartGlobal:function(n){var i=n.dragEl;et=i},delayEnded:function(){this.isMultiDrag=~V.indexOf(et)},setupClone:function(n){var i=n.sortable,e=n.cancel;if(!!this.isMultiDrag){for(var f=0;f<V.length;f++)Mt.push(_e(V[f])),Mt[f].sortableIndex=V[f].sortableIndex,Mt[f].draggable=!1,Mt[f].style[\"will-change\"]=\"\",lt(Mt[f],this.options.selectedClass,!1),V[f]===et&&lt(Mt[f],this.options.chosenClass,!1);i._hideClone(),e()}},clone:function(n){var i=n.sortable,e=n.rootEl,f=n.dispatchSortableEvent,t=n.cancel;!this.isMultiDrag||this.options.removeCloneOnHide||V.length&&Ut===i&&(Ur(!0,e),f(\"clone\"),t())},showClone:function(n){var i=n.cloneNowShown,e=n.rootEl,f=n.cancel;!this.isMultiDrag||(Ur(!1,e),Mt.forEach(function(t){L(t,\"display\",\"\")}),i(),Ve=!1,f())},hideClone:function(n){var i=this;n.sortable;var e=n.cloneNowHidden,f=n.cancel;!this.isMultiDrag||(Mt.forEach(function(t){L(t,\"display\",\"none\"),i.options.removeCloneOnHide&&t.parentNode&&t.parentNode.removeChild(t)}),e(),Ve=!0,f())},dragStartGlobal:function(n){n.sortable,!this.isMultiDrag&&Ut&&Ut.multiDrag._deselectMultiDrag(),V.forEach(function(i){i.sortableIndex=ut(i)}),V=V.sort(function(i,e){return i.sortableIndex-e.sortableIndex}),se=!0},dragStarted:function(n){var i=this,e=n.sortable;if(!!this.isMultiDrag){if(this.options.sort&&(e.captureAnimationState(),this.options.animation)){V.forEach(function(t){t!==et&&L(t,\"position\",\"absolute\")});var f=ot(et,!1,!0,!0);V.forEach(function(t){t!==et&&Pr(t,f)}),Ct=!0,De=!0}e.animateAll(function(){Ct=!1,De=!1,i.options.animation&&V.forEach(function(t){tr(t)}),i.options.sort&&ze()})}},dragOver:function(n){var i=n.target,e=n.completed,f=n.cancel;Ct&&~V.indexOf(i)&&(e(!1),f())},revert:function(n){var i=n.fromSortable,e=n.rootEl,f=n.sortable,t=n.dragRect;V.length>1&&(V.forEach(function(o){f.addAnimationState({target:o,rect:Ct?ot(o):t}),tr(o),o.fromRect=t,i.removeAnimationState(o)}),Ct=!1,Cn(!this.options.removeCloneOnHide,e))},dragOverCompleted:function(n){var i=n.sortable,e=n.isOwner,f=n.insertion,t=n.activeSortable,o=n.parentEl,a=n.putSortable,s=this.options;if(f){if(e&&t._hideClone(),De=!1,s.animation&&V.length>1&&(Ct||!e&&!t.options.sort&&!a)){var c=ot(et,!1,!0,!0);V.forEach(function(d){d!==et&&(Pr(d,c),o.appendChild(d))}),Ct=!0}if(!e)if(Ct||ze(),V.length>1){var u=Ve;t._showClone(i),t.options.animation&&!Ve&&u&&Mt.forEach(function(d){t.addAnimationState({target:d,rect:Ce}),d.fromRect=Ce,d.thisAnimationDuration=null})}else t._showClone(i)}},dragOverAnimationCapture:function(n){var i=n.dragRect,e=n.isOwner,f=n.activeSortable;if(V.forEach(function(o){o.thisAnimationDuration=null}),f.options.animation&&!e&&f.multiDrag.isMultiDrag){Ce=Nt({},i);var t=qt(et,!0);Ce.top-=t.f,Ce.left-=t.e}},dragOverAnimationComplete:function(){Ct&&(Ct=!1,ze())},drop:function(n){var i=n.originalEvent,e=n.rootEl,f=n.parentEl,t=n.sortable,o=n.dispatchSortableEvent,a=n.oldIndex,s=n.putSortable,c=s||this.sortable;if(!!i){var u=this.options,d=f.children;if(!se)if(u.multiDragKey&&!this.multiDragKeyDown&&this._deselectMultiDrag(),lt(et,u.selectedClass,!~V.indexOf(et)),~V.indexOf(et))V.splice(V.indexOf(et),1),Pe=null,Se({sortable:t,rootEl:e,name:\"deselect\",targetEl:et,originalEvt:i});else{if(V.push(et),Se({sortable:t,rootEl:e,name:\"select\",targetEl:et,originalEvt:i}),i.shiftKey&&Pe&&t.el.contains(Pe)){var v=ut(Pe),h=ut(et);if(~v&&~h&&v!==h){var g,p;for(h>v?(p=v,g=h):(p=h,g=v+1);p<g;p++)~V.indexOf(d[p])||(lt(d[p],u.selectedClass,!0),V.push(d[p]),Se({sortable:t,rootEl:e,name:\"select\",targetEl:d[p],originalEvt:i}))}}else Pe=et;Ut=c}if(se&&this.isMultiDrag){if(Ct=!1,(f[xt].options.sort||f!==e)&&V.length>1){var S=ot(et),b=ut(et,\":not(.\"+this.options.selectedClass+\")\");if(!De&&u.animation&&(et.thisAnimationDuration=null),c.captureAnimationState(),!De&&(u.animation&&(et.fromRect=S,V.forEach(function(x){if(x.thisAnimationDuration=null,x!==et){var P=Ct?ot(x):S;x.fromRect=P,c.addAnimationState({target:x,rect:P})}})),ze(),V.forEach(function(x){d[b]?f.insertBefore(x,d[b]):f.appendChild(x),b++}),a===ut(et))){var I=!1;V.forEach(function(x){if(x.sortableIndex!==ut(x)){I=!0;return}}),I&&o(\"update\")}V.forEach(function(x){tr(x)}),c.animateAll()}Ut=c}(e===f||s&&s.lastPutMode!==\"clone\")&&Mt.forEach(function(x){x.parentNode&&x.parentNode.removeChild(x)})}},nullingGlobal:function(){this.isMultiDrag=se=!1,Mt.length=0},destroyGlobal:function(){this._deselectMultiDrag(),Q(document,\"pointerup\",this._deselectMultiDrag),Q(document,\"mouseup\",this._deselectMultiDrag),Q(document,\"touchend\",this._deselectMultiDrag),Q(document,\"keydown\",this._checkKeyDown),Q(document,\"keyup\",this._checkKeyUp)},_deselectMultiDrag:function(n){if(!(typeof se!=\"undefined\"&&se)&&Ut===this.sortable&&!(n&&wt(n.target,this.options.draggable,this.sortable.el,!1))&&!(n&&n.button!==0))for(;V.length;){var i=V[0];lt(i,this.options.selectedClass,!1),V.shift(),Se({sortable:this.sortable,rootEl:this.sortable.el,name:\"deselect\",targetEl:i,originalEvt:n})}},_checkKeyDown:function(n){n.key===this.options.multiDragKey&&(this.multiDragKeyDown=!0)},_checkKeyUp:function(n){n.key===this.options.multiDragKey&&(this.multiDragKeyDown=!1)}},Nt(l,{pluginName:\"multiDrag\",utils:{select:function(n){var i=n.parentNode[xt];!i||!i.options.multiDrag||~V.indexOf(n)||(Ut&&Ut!==i&&(Ut.multiDrag._deselectMultiDrag(),Ut=i),lt(n,i.options.selectedClass,!0),V.push(n))},deselect:function(n){var i=n.parentNode[xt],e=V.indexOf(n);!i||!i.options.multiDrag||!~e||(lt(n,i.options.selectedClass,!1),V.splice(e,1))}},eventProperties:function(){var n=this,i=[],e=[];return V.forEach(function(f){i.push({multiDragElement:f,index:f.sortableIndex});var t;Ct&&f!==et?t=-1:Ct?t=ut(f,\":not(.\"+n.options.selectedClass+\")\"):t=ut(f),e.push({multiDragElement:f,index:t})}),{items:Zr(V),clones:[].concat(Mt),oldIndicies:i,newIndicies:e}},optionListeners:{multiDragKey:function(n){return n=n.toLowerCase(),n===\"ctrl\"?n=\"Control\":n.length>1&&(n=n.charAt(0).toUpperCase()+n.substr(1)),n}}})}function Cn(l,r){V.forEach(function(n,i){var e=r.children[n.sortableIndex+(l?Number(i):0)];e?r.insertBefore(n,e):r.appendChild(n)})}function Ur(l,r){Mt.forEach(function(n,i){var e=r.children[n.sortableIndex+(l?Number(i):0)];e?r.insertBefore(n,e):r.appendChild(n)})}function ze(){V.forEach(function(l){l!==et&&l.parentNode&&l.parentNode.removeChild(l)})}K.mount(new Tn);K.mount(hr,vr);var An=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:K,MultiDrag:Dn,Sortable:K,Swap:In}),Rn=$r(An);(function(l,r){(function(i,e){l.exports=e(Br,Rn)})(typeof self!=\"undefined\"?self:Kr,function(n,i){return function(e){var f={};function t(o){if(f[o])return f[o].exports;var a=f[o]={i:o,l:!1,exports:{}};return e[o].call(a.exports,a,a.exports,t),a.l=!0,a.exports}return t.m=e,t.c=f,t.d=function(o,a,s){t.o(o,a)||Object.defineProperty(o,a,{enumerable:!0,get:s})},t.r=function(o){typeof Symbol!=\"undefined\"&&Symbol.toStringTag&&Object.defineProperty(o,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(o,\"__esModule\",{value:!0})},t.t=function(o,a){if(a&1&&(o=t(o)),a&8||a&4&&typeof o==\"object\"&&o&&o.__esModule)return o;var s=Object.create(null);if(t.r(s),Object.defineProperty(s,\"default\",{enumerable:!0,value:o}),a&2&&typeof o!=\"string\")for(var c in o)t.d(s,c,function(u){return o[u]}.bind(null,c));return s},t.n=function(o){var a=o&&o.__esModule?function(){return o.default}:function(){return o};return t.d(a,\"a\",a),a},t.o=function(o,a){return Object.prototype.hasOwnProperty.call(o,a)},t.p=\"\",t(t.s=\"fb15\")}({\"00ee\":function(e,f,t){var o=t(\"b622\"),a=o(\"toStringTag\"),s={};s[a]=\"z\",e.exports=String(s)===\"[object z]\"},\"0366\":function(e,f,t){var o=t(\"1c0b\");e.exports=function(a,s,c){if(o(a),s===void 0)return a;switch(c){case 0:return function(){return a.call(s)};case 1:return function(u){return a.call(s,u)};case 2:return function(u,d){return a.call(s,u,d)};case 3:return function(u,d,v){return a.call(s,u,d,v)}}return function(){return a.apply(s,arguments)}}},\"057f\":function(e,f,t){var o=t(\"fc6a\"),a=t(\"241c\").f,s={}.toString,c=typeof window==\"object\"&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],u=function(d){try{return a(d)}catch{return c.slice()}};e.exports.f=function(v){return c&&s.call(v)==\"[object Window]\"?u(v):a(o(v))}},\"06cf\":function(e,f,t){var o=t(\"83ab\"),a=t(\"d1e7\"),s=t(\"5c6c\"),c=t(\"fc6a\"),u=t(\"c04e\"),d=t(\"5135\"),v=t(\"0cfb\"),h=Object.getOwnPropertyDescriptor;f.f=o?h:function(p,S){if(p=c(p),S=u(S,!0),v)try{return h(p,S)}catch{}if(d(p,S))return s(!a.f.call(p,S),p[S])}},\"0cfb\":function(e,f,t){var o=t(\"83ab\"),a=t(\"d039\"),s=t(\"cc12\");e.exports=!o&&!a(function(){return Object.defineProperty(s(\"div\"),\"a\",{get:function(){return 7}}).a!=7})},\"13d5\":function(e,f,t){var o=t(\"23e7\"),a=t(\"d58f\").left,s=t(\"a640\"),c=t(\"ae40\"),u=s(\"reduce\"),d=c(\"reduce\",{1:0});o({target:\"Array\",proto:!0,forced:!u||!d},{reduce:function(h){return a(this,h,arguments.length,arguments.length>1?arguments[1]:void 0)}})},\"14c3\":function(e,f,t){var o=t(\"c6b6\"),a=t(\"9263\");e.exports=function(s,c){var u=s.exec;if(typeof u==\"function\"){var d=u.call(s,c);if(typeof d!=\"object\")throw TypeError(\"RegExp exec method returned something other than an Object or null\");return d}if(o(s)!==\"RegExp\")throw TypeError(\"RegExp#exec called on incompatible receiver\");return a.call(s,c)}},\"159b\":function(e,f,t){var o=t(\"da84\"),a=t(\"fdbc\"),s=t(\"17c2\"),c=t(\"9112\");for(var u in a){var d=o[u],v=d&&d.prototype;if(v&&v.forEach!==s)try{c(v,\"forEach\",s)}catch{v.forEach=s}}},\"17c2\":function(e,f,t){var o=t(\"b727\").forEach,a=t(\"a640\"),s=t(\"ae40\"),c=a(\"forEach\"),u=s(\"forEach\");e.exports=!c||!u?function(v){return o(this,v,arguments.length>1?arguments[1]:void 0)}:[].forEach},\"1be4\":function(e,f,t){var o=t(\"d066\");e.exports=o(\"document\",\"documentElement\")},\"1c0b\":function(e,f){e.exports=function(t){if(typeof t!=\"function\")throw TypeError(String(t)+\" is not a function\");return t}},\"1c7e\":function(e,f,t){var o=t(\"b622\"),a=o(\"iterator\"),s=!1;try{var c=0,u={next:function(){return{done:!!c++}},return:function(){s=!0}};u[a]=function(){return this},Array.from(u,function(){throw 2})}catch{}e.exports=function(d,v){if(!v&&!s)return!1;var h=!1;try{var g={};g[a]=function(){return{next:function(){return{done:h=!0}}}},d(g)}catch{}return h}},\"1d80\":function(e,f){e.exports=function(t){if(t==null)throw TypeError(\"Can't call method on \"+t);return t}},\"1dde\":function(e,f,t){var o=t(\"d039\"),a=t(\"b622\"),s=t(\"2d00\"),c=a(\"species\");e.exports=function(u){return s>=51||!o(function(){var d=[],v=d.constructor={};return v[c]=function(){return{foo:1}},d[u](Boolean).foo!==1})}},\"23cb\":function(e,f,t){var o=t(\"a691\"),a=Math.max,s=Math.min;e.exports=function(c,u){var d=o(c);return d<0?a(d+u,0):s(d,u)}},\"23e7\":function(e,f,t){var o=t(\"da84\"),a=t(\"06cf\").f,s=t(\"9112\"),c=t(\"6eeb\"),u=t(\"ce4e\"),d=t(\"e893\"),v=t(\"94ca\");e.exports=function(h,g){var p=h.target,S=h.global,b=h.stat,I,x,P,O,w,U;if(S?x=o:b?x=o[p]||u(p,{}):x=(o[p]||{}).prototype,x)for(P in g){if(w=g[P],h.noTargetGet?(U=a(x,P),O=U&&U.value):O=x[P],I=v(S?P:p+(b?\".\":\"#\")+P,h.forced),!I&&O!==void 0){if(typeof w==typeof O)continue;d(w,O)}(h.sham||O&&O.sham)&&s(w,\"sham\",!0),c(x,P,w,h)}}},\"241c\":function(e,f,t){var o=t(\"ca84\"),a=t(\"7839\"),s=a.concat(\"length\",\"prototype\");f.f=Object.getOwnPropertyNames||function(u){return o(u,s)}},\"25f0\":function(e,f,t){var o=t(\"6eeb\"),a=t(\"825a\"),s=t(\"d039\"),c=t(\"ad6d\"),u=\"toString\",d=RegExp.prototype,v=d[u],h=s(function(){return v.call({source:\"a\",flags:\"b\"})!=\"/a/b\"}),g=v.name!=u;(h||g)&&o(RegExp.prototype,u,function(){var S=a(this),b=String(S.source),I=S.flags,x=String(I===void 0&&S instanceof RegExp&&!(\"flags\"in d)?c.call(S):I);return\"/\"+b+\"/\"+x},{unsafe:!0})},\"2ca0\":function(e,f,t){var o=t(\"23e7\"),a=t(\"06cf\").f,s=t(\"50c4\"),c=t(\"5a34\"),u=t(\"1d80\"),d=t(\"ab13\"),v=t(\"c430\"),h=\"\".startsWith,g=Math.min,p=d(\"startsWith\"),S=!v&&!p&&!!function(){var b=a(String.prototype,\"startsWith\");return b&&!b.writable}();o({target:\"String\",proto:!0,forced:!S&&!p},{startsWith:function(I){var x=String(u(this));c(I);var P=s(g(arguments.length>1?arguments[1]:void 0,x.length)),O=String(I);return h?h.call(x,O,P):x.slice(P,P+O.length)===O}})},\"2d00\":function(e,f,t){var o=t(\"da84\"),a=t(\"342f\"),s=o.process,c=s&&s.versions,u=c&&c.v8,d,v;u?(d=u.split(\".\"),v=d[0]+d[1]):a&&(d=a.match(/Edge\\/(\\d+)/),(!d||d[1]>=74)&&(d=a.match(/Chrome\\/(\\d+)/),d&&(v=d[1]))),e.exports=v&&+v},\"342f\":function(e,f,t){var o=t(\"d066\");e.exports=o(\"navigator\",\"userAgent\")||\"\"},\"35a1\":function(e,f,t){var o=t(\"f5df\"),a=t(\"3f8c\"),s=t(\"b622\"),c=s(\"iterator\");e.exports=function(u){if(u!=null)return u[c]||u[\"@@iterator\"]||a[o(u)]}},\"37e8\":function(e,f,t){var o=t(\"83ab\"),a=t(\"9bf2\"),s=t(\"825a\"),c=t(\"df75\");e.exports=o?Object.defineProperties:function(d,v){s(d);for(var h=c(v),g=h.length,p=0,S;g>p;)a.f(d,S=h[p++],v[S]);return d}},\"3bbe\":function(e,f,t){var o=t(\"861d\");e.exports=function(a){if(!o(a)&&a!==null)throw TypeError(\"Can't set \"+String(a)+\" as a prototype\");return a}},\"3ca3\":function(e,f,t){var o=t(\"6547\").charAt,a=t(\"69f3\"),s=t(\"7dd0\"),c=\"String Iterator\",u=a.set,d=a.getterFor(c);s(String,\"String\",function(v){u(this,{type:c,string:String(v),index:0})},function(){var h=d(this),g=h.string,p=h.index,S;return p>=g.length?{value:void 0,done:!0}:(S=o(g,p),h.index+=S.length,{value:S,done:!1})})},\"3f8c\":function(e,f){e.exports={}},\"4160\":function(e,f,t){var o=t(\"23e7\"),a=t(\"17c2\");o({target:\"Array\",proto:!0,forced:[].forEach!=a},{forEach:a})},\"428f\":function(e,f,t){var o=t(\"da84\");e.exports=o},\"44ad\":function(e,f,t){var o=t(\"d039\"),a=t(\"c6b6\"),s=\"\".split;e.exports=o(function(){return!Object(\"z\").propertyIsEnumerable(0)})?function(c){return a(c)==\"String\"?s.call(c,\"\"):Object(c)}:Object},\"44d2\":function(e,f,t){var o=t(\"b622\"),a=t(\"7c73\"),s=t(\"9bf2\"),c=o(\"unscopables\"),u=Array.prototype;u[c]==null&&s.f(u,c,{configurable:!0,value:a(null)}),e.exports=function(d){u[c][d]=!0}},\"44e7\":function(e,f,t){var o=t(\"861d\"),a=t(\"c6b6\"),s=t(\"b622\"),c=s(\"match\");e.exports=function(u){var d;return o(u)&&((d=u[c])!==void 0?!!d:a(u)==\"RegExp\")}},\"4930\":function(e,f,t){var o=t(\"d039\");e.exports=!!Object.getOwnPropertySymbols&&!o(function(){return!String(Symbol())})},\"4d64\":function(e,f,t){var o=t(\"fc6a\"),a=t(\"50c4\"),s=t(\"23cb\"),c=function(u){return function(d,v,h){var g=o(d),p=a(g.length),S=s(h,p),b;if(u&&v!=v){for(;p>S;)if(b=g[S++],b!=b)return!0}else for(;p>S;S++)if((u||S in g)&&g[S]===v)return u||S||0;return!u&&-1}};e.exports={includes:c(!0),indexOf:c(!1)}},\"4de4\":function(e,f,t){var o=t(\"23e7\"),a=t(\"b727\").filter,s=t(\"1dde\"),c=t(\"ae40\"),u=s(\"filter\"),d=c(\"filter\");o({target:\"Array\",proto:!0,forced:!u||!d},{filter:function(h){return a(this,h,arguments.length>1?arguments[1]:void 0)}})},\"4df4\":function(e,f,t){var o=t(\"0366\"),a=t(\"7b0b\"),s=t(\"9bdd\"),c=t(\"e95a\"),u=t(\"50c4\"),d=t(\"8418\"),v=t(\"35a1\");e.exports=function(g){var p=a(g),S=typeof this==\"function\"?this:Array,b=arguments.length,I=b>1?arguments[1]:void 0,x=I!==void 0,P=v(p),O=0,w,U,T,M,j,Y;if(x&&(I=o(I,b>2?arguments[2]:void 0,2)),P!=null&&!(S==Array&&c(P)))for(M=P.call(p),j=M.next,U=new S;!(T=j.call(M)).done;O++)Y=x?s(M,I,[T.value,O],!0):T.value,d(U,O,Y);else for(w=u(p.length),U=new S(w);w>O;O++)Y=x?I(p[O],O):p[O],d(U,O,Y);return U.length=O,U}},\"4fad\":function(e,f,t){var o=t(\"23e7\"),a=t(\"6f53\").entries;o({target:\"Object\",stat:!0},{entries:function(c){return a(c)}})},\"50c4\":function(e,f,t){var o=t(\"a691\"),a=Math.min;e.exports=function(s){return s>0?a(o(s),9007199254740991):0}},\"5135\":function(e,f){var t={}.hasOwnProperty;e.exports=function(o,a){return t.call(o,a)}},\"5319\":function(e,f,t){var o=t(\"d784\"),a=t(\"825a\"),s=t(\"7b0b\"),c=t(\"50c4\"),u=t(\"a691\"),d=t(\"1d80\"),v=t(\"8aa5\"),h=t(\"14c3\"),g=Math.max,p=Math.min,S=Math.floor,b=/\\$([$&'`]|\\d\\d?|<[^>]*>)/g,I=/\\$([$&'`]|\\d\\d?)/g,x=function(P){return P===void 0?P:String(P)};o(\"replace\",2,function(P,O,w,U){var T=U.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,M=U.REPLACE_KEEPS_$0,j=T?\"$\":\"$0\";return[function(R,X){var N=d(this),$=R==null?void 0:R[P];return $!==void 0?$.call(R,N,X):O.call(String(N),R,X)},function(C,R){if(!T&&M||typeof R==\"string\"&&R.indexOf(j)===-1){var X=w(O,C,this,R);if(X.done)return X.value}var N=a(C),$=String(this),_=typeof R==\"function\";_||(R=String(R));var rt=N.global;if(rt){var yt=N.unicode;N.lastIndex=0}for(var st=[];;){var ft=h(N,$);if(ft===null||(st.push(ft),!rt))break;var pt=String(ft[0]);pt===\"\"&&(N.lastIndex=v($,c(N.lastIndex),yt))}for(var mt=\"\",ht=0,nt=0;nt<st.length;nt++){ft=st[nt];for(var it=String(ft[0]),At=g(p(u(ft.index),$.length),0),Tt=[],Ht=1;Ht<ft.length;Ht++)Tt.push(x(ft[Ht]));var Zt=ft.groups;if(_){var Yt=[it].concat(Tt,At,$);Zt!==void 0&&Yt.push(Zt);var St=String(R.apply(void 0,Yt))}else St=Y(it,$,At,Tt,Zt,R);At>=ht&&(mt+=$.slice(ht,At)+St,ht=At+it.length)}return mt+$.slice(ht)}];function Y(C,R,X,N,$,_){var rt=X+C.length,yt=N.length,st=I;return $!==void 0&&($=s($),st=b),O.call(_,st,function(ft,pt){var mt;switch(pt.charAt(0)){case\"$\":return\"$\";case\"&\":return C;case\"`\":return R.slice(0,X);case\"'\":return R.slice(rt);case\"<\":mt=$[pt.slice(1,-1)];break;default:var ht=+pt;if(ht===0)return ft;if(ht>yt){var nt=S(ht/10);return nt===0?ft:nt<=yt?N[nt-1]===void 0?pt.charAt(1):N[nt-1]+pt.charAt(1):ft}mt=N[ht-1]}return mt===void 0?\"\":mt})}})},\"5692\":function(e,f,t){var o=t(\"c430\"),a=t(\"c6cd\");(e.exports=function(s,c){return a[s]||(a[s]=c!==void 0?c:{})})(\"versions\",[]).push({version:\"3.6.5\",mode:o?\"pure\":\"global\",copyright:\"\\xA9 2020 Denis Pushkarev (zloirock.ru)\"})},\"56ef\":function(e,f,t){var o=t(\"d066\"),a=t(\"241c\"),s=t(\"7418\"),c=t(\"825a\");e.exports=o(\"Reflect\",\"ownKeys\")||function(d){var v=a.f(c(d)),h=s.f;return h?v.concat(h(d)):v}},\"5a34\":function(e,f,t){var o=t(\"44e7\");e.exports=function(a){if(o(a))throw TypeError(\"The method doesn't accept regular expressions\");return a}},\"5c6c\":function(e,f){e.exports=function(t,o){return{enumerable:!(t&1),configurable:!(t&2),writable:!(t&4),value:o}}},\"5db7\":function(e,f,t){var o=t(\"23e7\"),a=t(\"a2bf\"),s=t(\"7b0b\"),c=t(\"50c4\"),u=t(\"1c0b\"),d=t(\"65f0\");o({target:\"Array\",proto:!0},{flatMap:function(h){var g=s(this),p=c(g.length),S;return u(h),S=d(g,0),S.length=a(S,g,g,p,0,1,h,arguments.length>1?arguments[1]:void 0),S}})},\"6547\":function(e,f,t){var o=t(\"a691\"),a=t(\"1d80\"),s=function(c){return function(u,d){var v=String(a(u)),h=o(d),g=v.length,p,S;return h<0||h>=g?c?\"\":void 0:(p=v.charCodeAt(h),p<55296||p>56319||h+1===g||(S=v.charCodeAt(h+1))<56320||S>57343?c?v.charAt(h):p:c?v.slice(h,h+2):(p-55296<<10)+(S-56320)+65536)}};e.exports={codeAt:s(!1),charAt:s(!0)}},\"65f0\":function(e,f,t){var o=t(\"861d\"),a=t(\"e8b5\"),s=t(\"b622\"),c=s(\"species\");e.exports=function(u,d){var v;return a(u)&&(v=u.constructor,typeof v==\"function\"&&(v===Array||a(v.prototype))?v=void 0:o(v)&&(v=v[c],v===null&&(v=void 0))),new(v===void 0?Array:v)(d===0?0:d)}},\"69f3\":function(e,f,t){var o=t(\"7f9a\"),a=t(\"da84\"),s=t(\"861d\"),c=t(\"9112\"),u=t(\"5135\"),d=t(\"f772\"),v=t(\"d012\"),h=a.WeakMap,g,p,S,b=function(T){return S(T)?p(T):g(T,{})},I=function(T){return function(M){var j;if(!s(M)||(j=p(M)).type!==T)throw TypeError(\"Incompatible receiver, \"+T+\" required\");return j}};if(o){var x=new h,P=x.get,O=x.has,w=x.set;g=function(T,M){return w.call(x,T,M),M},p=function(T){return P.call(x,T)||{}},S=function(T){return O.call(x,T)}}else{var U=d(\"state\");v[U]=!0,g=function(T,M){return c(T,U,M),M},p=function(T){return u(T,U)?T[U]:{}},S=function(T){return u(T,U)}}e.exports={set:g,get:p,has:S,enforce:b,getterFor:I}},\"6eeb\":function(e,f,t){var o=t(\"da84\"),a=t(\"9112\"),s=t(\"5135\"),c=t(\"ce4e\"),u=t(\"8925\"),d=t(\"69f3\"),v=d.get,h=d.enforce,g=String(String).split(\"String\");(e.exports=function(p,S,b,I){var x=I?!!I.unsafe:!1,P=I?!!I.enumerable:!1,O=I?!!I.noTargetGet:!1;if(typeof b==\"function\"&&(typeof S==\"string\"&&!s(b,\"name\")&&a(b,\"name\",S),h(b).source=g.join(typeof S==\"string\"?S:\"\")),p===o){P?p[S]=b:c(S,b);return}else x?!O&&p[S]&&(P=!0):delete p[S];P?p[S]=b:a(p,S,b)})(Function.prototype,\"toString\",function(){return typeof this==\"function\"&&v(this).source||u(this)})},\"6f53\":function(e,f,t){var o=t(\"83ab\"),a=t(\"df75\"),s=t(\"fc6a\"),c=t(\"d1e7\").f,u=function(d){return function(v){for(var h=s(v),g=a(h),p=g.length,S=0,b=[],I;p>S;)I=g[S++],(!o||c.call(h,I))&&b.push(d?[I,h[I]]:h[I]);return b}};e.exports={entries:u(!0),values:u(!1)}},\"73d9\":function(e,f,t){var o=t(\"44d2\");o(\"flatMap\")},\"7418\":function(e,f){f.f=Object.getOwnPropertySymbols},\"746f\":function(e,f,t){var o=t(\"428f\"),a=t(\"5135\"),s=t(\"e538\"),c=t(\"9bf2\").f;e.exports=function(u){var d=o.Symbol||(o.Symbol={});a(d,u)||c(d,u,{value:s.f(u)})}},\"7839\":function(e,f){e.exports=[\"constructor\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"toLocaleString\",\"toString\",\"valueOf\"]},\"7b0b\":function(e,f,t){var o=t(\"1d80\");e.exports=function(a){return Object(o(a))}},\"7c73\":function(e,f,t){var o=t(\"825a\"),a=t(\"37e8\"),s=t(\"7839\"),c=t(\"d012\"),u=t(\"1be4\"),d=t(\"cc12\"),v=t(\"f772\"),h=\">\",g=\"<\",p=\"prototype\",S=\"script\",b=v(\"IE_PROTO\"),I=function(){},x=function(T){return g+S+h+T+g+\"/\"+S+h},P=function(T){T.write(x(\"\")),T.close();var M=T.parentWindow.Object;return T=null,M},O=function(){var T=d(\"iframe\"),M=\"java\"+S+\":\",j;return T.style.display=\"none\",u.appendChild(T),T.src=String(M),j=T.contentWindow.document,j.open(),j.write(x(\"document.F=Object\")),j.close(),j.F},w,U=function(){try{w=document.domain&&new ActiveXObject(\"htmlfile\")}catch{}U=w?P(w):O();for(var T=s.length;T--;)delete U[p][s[T]];return U()};c[b]=!0,e.exports=Object.create||function(M,j){var Y;return M!==null?(I[p]=o(M),Y=new I,I[p]=null,Y[b]=M):Y=U(),j===void 0?Y:a(Y,j)}},\"7dd0\":function(e,f,t){var o=t(\"23e7\"),a=t(\"9ed3\"),s=t(\"e163\"),c=t(\"d2bb\"),u=t(\"d44e\"),d=t(\"9112\"),v=t(\"6eeb\"),h=t(\"b622\"),g=t(\"c430\"),p=t(\"3f8c\"),S=t(\"ae93\"),b=S.IteratorPrototype,I=S.BUGGY_SAFARI_ITERATORS,x=h(\"iterator\"),P=\"keys\",O=\"values\",w=\"entries\",U=function(){return this};e.exports=function(T,M,j,Y,C,R,X){a(j,M,Y);var N=function(nt){if(nt===C&&st)return st;if(!I&&nt in rt)return rt[nt];switch(nt){case P:return function(){return new j(this,nt)};case O:return function(){return new j(this,nt)};case w:return function(){return new j(this,nt)}}return function(){return new j(this)}},$=M+\" Iterator\",_=!1,rt=T.prototype,yt=rt[x]||rt[\"@@iterator\"]||C&&rt[C],st=!I&&yt||N(C),ft=M==\"Array\"&&rt.entries||yt,pt,mt,ht;if(ft&&(pt=s(ft.call(new T)),b!==Object.prototype&&pt.next&&(!g&&s(pt)!==b&&(c?c(pt,b):typeof pt[x]!=\"function\"&&d(pt,x,U)),u(pt,$,!0,!0),g&&(p[$]=U))),C==O&&yt&&yt.name!==O&&(_=!0,st=function(){return yt.call(this)}),(!g||X)&&rt[x]!==st&&d(rt,x,st),p[M]=st,C)if(mt={values:N(O),keys:R?st:N(P),entries:N(w)},X)for(ht in mt)(I||_||!(ht in rt))&&v(rt,ht,mt[ht]);else o({target:M,proto:!0,forced:I||_},mt);return mt}},\"7f9a\":function(e,f,t){var o=t(\"da84\"),a=t(\"8925\"),s=o.WeakMap;e.exports=typeof s==\"function\"&&/native code/.test(a(s))},\"825a\":function(e,f,t){var o=t(\"861d\");e.exports=function(a){if(!o(a))throw TypeError(String(a)+\" is not an object\");return a}},\"83ab\":function(e,f,t){var o=t(\"d039\");e.exports=!o(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7})},\"8418\":function(e,f,t){var o=t(\"c04e\"),a=t(\"9bf2\"),s=t(\"5c6c\");e.exports=function(c,u,d){var v=o(u);v in c?a.f(c,v,s(0,d)):c[v]=d}},\"861d\":function(e,f){e.exports=function(t){return typeof t==\"object\"?t!==null:typeof t==\"function\"}},\"8875\":function(e,f,t){var o,a,s;(function(c,u){a=[],o=u,s=typeof o==\"function\"?o.apply(f,a):o,s!==void 0&&(e.exports=s)})(typeof self!=\"undefined\"?self:this,function(){function c(){var u=Object.getOwnPropertyDescriptor(document,\"currentScript\");if(!u&&\"currentScript\"in document&&document.currentScript||u&&u.get!==c&&document.currentScript)return document.currentScript;try{throw new Error}catch(w){var d=/.*at [^(]*\\((.*):(.+):(.+)\\)$/ig,v=/@([^@]*):(\\d+):(\\d+)\\s*$/ig,h=d.exec(w.stack)||v.exec(w.stack),g=h&&h[1]||!1,p=h&&h[2]||!1,S=document.location.href.replace(document.location.hash,\"\"),b,I,x,P=document.getElementsByTagName(\"script\");g===S&&(b=document.documentElement.outerHTML,I=new RegExp(\"(?:[^\\\\n]+?\\\\n){0,\"+(p-2)+\"}[^<]*<script>([\\\\d\\\\D]*?)<\\\\/script>[\\\\d\\\\D]*\",\"i\"),x=b.replace(I,\"$1\").trim());for(var O=0;O<P.length;O++)if(P[O].readyState===\"interactive\"||P[O].src===g||g===S&&P[O].innerHTML&&P[O].innerHTML.trim()===x)return P[O];return null}}return c})},\"8925\":function(e,f,t){var o=t(\"c6cd\"),a=Function.toString;typeof o.inspectSource!=\"function\"&&(o.inspectSource=function(s){return a.call(s)}),e.exports=o.inspectSource},\"8aa5\":function(e,f,t){var o=t(\"6547\").charAt;e.exports=function(a,s,c){return s+(c?o(a,s).length:1)}},\"8bbf\":function(e,f){e.exports=n},\"90e3\":function(e,f){var t=0,o=Math.random();e.exports=function(a){return\"Symbol(\"+String(a===void 0?\"\":a)+\")_\"+(++t+o).toString(36)}},\"9112\":function(e,f,t){var o=t(\"83ab\"),a=t(\"9bf2\"),s=t(\"5c6c\");e.exports=o?function(c,u,d){return a.f(c,u,s(1,d))}:function(c,u,d){return c[u]=d,c}},\"9263\":function(e,f,t){var o=t(\"ad6d\"),a=t(\"9f7f\"),s=RegExp.prototype.exec,c=String.prototype.replace,u=s,d=function(){var p=/a/,S=/b*/g;return s.call(p,\"a\"),s.call(S,\"a\"),p.lastIndex!==0||S.lastIndex!==0}(),v=a.UNSUPPORTED_Y||a.BROKEN_CARET,h=/()??/.exec(\"\")[1]!==void 0,g=d||h||v;g&&(u=function(S){var b=this,I,x,P,O,w=v&&b.sticky,U=o.call(b),T=b.source,M=0,j=S;return w&&(U=U.replace(\"y\",\"\"),U.indexOf(\"g\")===-1&&(U+=\"g\"),j=String(S).slice(b.lastIndex),b.lastIndex>0&&(!b.multiline||b.multiline&&S[b.lastIndex-1]!==`\n`)&&(T=\"(?: \"+T+\")\",j=\" \"+j,M++),x=new RegExp(\"^(?:\"+T+\")\",U)),h&&(x=new RegExp(\"^\"+T+\"$(?!\\\\s)\",U)),d&&(I=b.lastIndex),P=s.call(w?x:b,j),w?P?(P.input=P.input.slice(M),P[0]=P[0].slice(M),P.index=b.lastIndex,b.lastIndex+=P[0].length):b.lastIndex=0:d&&P&&(b.lastIndex=b.global?P.index+P[0].length:I),h&&P&&P.length>1&&c.call(P[0],x,function(){for(O=1;O<arguments.length-2;O++)arguments[O]===void 0&&(P[O]=void 0)}),P}),e.exports=u},\"94ca\":function(e,f,t){var o=t(\"d039\"),a=/#|\\.prototype\\./,s=function(h,g){var p=u[c(h)];return p==v?!0:p==d?!1:typeof g==\"function\"?o(g):!!g},c=s.normalize=function(h){return String(h).replace(a,\".\").toLowerCase()},u=s.data={},d=s.NATIVE=\"N\",v=s.POLYFILL=\"P\";e.exports=s},\"99af\":function(e,f,t){var o=t(\"23e7\"),a=t(\"d039\"),s=t(\"e8b5\"),c=t(\"861d\"),u=t(\"7b0b\"),d=t(\"50c4\"),v=t(\"8418\"),h=t(\"65f0\"),g=t(\"1dde\"),p=t(\"b622\"),S=t(\"2d00\"),b=p(\"isConcatSpreadable\"),I=9007199254740991,x=\"Maximum allowed index exceeded\",P=S>=51||!a(function(){var T=[];return T[b]=!1,T.concat()[0]!==T}),O=g(\"concat\"),w=function(T){if(!c(T))return!1;var M=T[b];return M!==void 0?!!M:s(T)},U=!P||!O;o({target:\"Array\",proto:!0,forced:U},{concat:function(M){var j=u(this),Y=h(j,0),C=0,R,X,N,$,_;for(R=-1,N=arguments.length;R<N;R++)if(_=R===-1?j:arguments[R],w(_)){if($=d(_.length),C+$>I)throw TypeError(x);for(X=0;X<$;X++,C++)X in _&&v(Y,C,_[X])}else{if(C>=I)throw TypeError(x);v(Y,C++,_)}return Y.length=C,Y}})},\"9bdd\":function(e,f,t){var o=t(\"825a\");e.exports=function(a,s,c,u){try{return u?s(o(c)[0],c[1]):s(c)}catch(v){var d=a.return;throw d!==void 0&&o(d.call(a)),v}}},\"9bf2\":function(e,f,t){var o=t(\"83ab\"),a=t(\"0cfb\"),s=t(\"825a\"),c=t(\"c04e\"),u=Object.defineProperty;f.f=o?u:function(v,h,g){if(s(v),h=c(h,!0),s(g),a)try{return u(v,h,g)}catch{}if(\"get\"in g||\"set\"in g)throw TypeError(\"Accessors not supported\");return\"value\"in g&&(v[h]=g.value),v}},\"9ed3\":function(e,f,t){var o=t(\"ae93\").IteratorPrototype,a=t(\"7c73\"),s=t(\"5c6c\"),c=t(\"d44e\"),u=t(\"3f8c\"),d=function(){return this};e.exports=function(v,h,g){var p=h+\" Iterator\";return v.prototype=a(o,{next:s(1,g)}),c(v,p,!1,!0),u[p]=d,v}},\"9f7f\":function(e,f,t){var o=t(\"d039\");function a(s,c){return RegExp(s,c)}f.UNSUPPORTED_Y=o(function(){var s=a(\"a\",\"y\");return s.lastIndex=2,s.exec(\"abcd\")!=null}),f.BROKEN_CARET=o(function(){var s=a(\"^r\",\"gy\");return s.lastIndex=2,s.exec(\"str\")!=null})},a2bf:function(e,f,t){var o=t(\"e8b5\"),a=t(\"50c4\"),s=t(\"0366\"),c=function(u,d,v,h,g,p,S,b){for(var I=g,x=0,P=S?s(S,b,3):!1,O;x<h;){if(x in v){if(O=P?P(v[x],x,d):v[x],p>0&&o(O))I=c(u,d,O,a(O.length),I,p-1)-1;else{if(I>=9007199254740991)throw TypeError(\"Exceed the acceptable array length\");u[I]=O}I++}x++}return I};e.exports=c},a352:function(e,f){e.exports=i},a434:function(e,f,t){var o=t(\"23e7\"),a=t(\"23cb\"),s=t(\"a691\"),c=t(\"50c4\"),u=t(\"7b0b\"),d=t(\"65f0\"),v=t(\"8418\"),h=t(\"1dde\"),g=t(\"ae40\"),p=h(\"splice\"),S=g(\"splice\",{ACCESSORS:!0,0:0,1:2}),b=Math.max,I=Math.min,x=9007199254740991,P=\"Maximum allowed length exceeded\";o({target:\"Array\",proto:!0,forced:!p||!S},{splice:function(w,U){var T=u(this),M=c(T.length),j=a(w,M),Y=arguments.length,C,R,X,N,$,_;if(Y===0?C=R=0:Y===1?(C=0,R=M-j):(C=Y-2,R=I(b(s(U),0),M-j)),M+C-R>x)throw TypeError(P);for(X=d(T,R),N=0;N<R;N++)$=j+N,$ in T&&v(X,N,T[$]);if(X.length=R,C<R){for(N=j;N<M-R;N++)$=N+R,_=N+C,$ in T?T[_]=T[$]:delete T[_];for(N=M;N>M-R+C;N--)delete T[N-1]}else if(C>R)for(N=M-R;N>j;N--)$=N+R-1,_=N+C-1,$ in T?T[_]=T[$]:delete T[_];for(N=0;N<C;N++)T[N+j]=arguments[N+2];return T.length=M-R+C,X}})},a4d3:function(e,f,t){var o=t(\"23e7\"),a=t(\"da84\"),s=t(\"d066\"),c=t(\"c430\"),u=t(\"83ab\"),d=t(\"4930\"),v=t(\"fdbf\"),h=t(\"d039\"),g=t(\"5135\"),p=t(\"e8b5\"),S=t(\"861d\"),b=t(\"825a\"),I=t(\"7b0b\"),x=t(\"fc6a\"),P=t(\"c04e\"),O=t(\"5c6c\"),w=t(\"7c73\"),U=t(\"df75\"),T=t(\"241c\"),M=t(\"057f\"),j=t(\"7418\"),Y=t(\"06cf\"),C=t(\"9bf2\"),R=t(\"d1e7\"),X=t(\"9112\"),N=t(\"6eeb\"),$=t(\"5692\"),_=t(\"f772\"),rt=t(\"d012\"),yt=t(\"90e3\"),st=t(\"b622\"),ft=t(\"e538\"),pt=t(\"746f\"),mt=t(\"d44e\"),ht=t(\"69f3\"),nt=t(\"b727\").forEach,it=_(\"hidden\"),At=\"Symbol\",Tt=\"prototype\",Ht=st(\"toPrimitive\"),Zt=ht.set,Yt=ht.getterFor(At),St=Object[Tt],bt=a.Symbol,kt=s(\"JSON\",\"stringify\"),Gt=Y.f,$t=C.f,Ae=M.f,Je=R.f,Ft=$(\"symbols\"),Vt=$(\"op-symbols\"),re=$(\"string-to-symbol-registry\"),fe=$(\"symbol-to-string-registry\"),ue=$(\"wks\"),ce=a.QObject,de=!ce||!ce[Tt]||!ce[Tt].findChild,ve=u&&h(function(){return w($t({},\"a\",{get:function(){return $t(this,\"a\",{value:7}).a}})).a!=7})?function(W,G,B){var k=Gt(St,G);k&&delete St[G],$t(W,G,B),k&&W!==St&&$t(St,G,k)}:$t,he=function(W,G){var B=Ft[W]=w(bt[Tt]);return Zt(B,{type:At,tag:W,description:G}),u||(B.description=G),B},y=v?function(W){return typeof W==\"symbol\"}:function(W){return Object(W)instanceof bt},m=function(G,B,k){G===St&&m(Vt,B,k),b(G);var q=P(B,!0);return b(k),g(Ft,q)?(k.enumerable?(g(G,it)&&G[it][q]&&(G[it][q]=!1),k=w(k,{enumerable:O(0,!1)})):(g(G,it)||$t(G,it,O(1,{})),G[it][q]=!0),ve(G,q,k)):$t(G,q,k)},E=function(G,B){b(G);var k=x(B),q=U(k).concat(tt(k));return nt(q,function(Pt){(!u||F.call(k,Pt))&&m(G,Pt,k[Pt])}),G},D=function(G,B){return B===void 0?w(G):E(w(G),B)},F=function(G){var B=P(G,!0),k=Je.call(this,B);return this===St&&g(Ft,B)&&!g(Vt,B)?!1:k||!g(this,B)||!g(Ft,B)||g(this,it)&&this[it][B]?k:!0},H=function(G,B){var k=x(G),q=P(B,!0);if(!(k===St&&g(Ft,q)&&!g(Vt,q))){var Pt=Gt(k,q);return Pt&&g(Ft,q)&&!(g(k,it)&&k[it][q])&&(Pt.enumerable=!0),Pt}},J=function(G){var B=Ae(x(G)),k=[];return nt(B,function(q){!g(Ft,q)&&!g(rt,q)&&k.push(q)}),k},tt=function(G){var B=G===St,k=Ae(B?Vt:x(G)),q=[];return nt(k,function(Pt){g(Ft,Pt)&&(!B||g(St,Pt))&&q.push(Ft[Pt])}),q};if(d||(bt=function(){if(this instanceof bt)throw TypeError(\"Symbol is not a constructor\");var G=!arguments.length||arguments[0]===void 0?void 0:String(arguments[0]),B=yt(G),k=function(q){this===St&&k.call(Vt,q),g(this,it)&&g(this[it],B)&&(this[it][B]=!1),ve(this,B,O(1,q))};return u&&de&&ve(St,B,{configurable:!0,set:k}),he(B,G)},N(bt[Tt],\"toString\",function(){return Yt(this).tag}),N(bt,\"withoutSetter\",function(W){return he(yt(W),W)}),R.f=F,C.f=m,Y.f=H,T.f=M.f=J,j.f=tt,ft.f=function(W){return he(st(W),W)},u&&($t(bt[Tt],\"description\",{configurable:!0,get:function(){return Yt(this).description}}),c||N(St,\"propertyIsEnumerable\",F,{unsafe:!0}))),o({global:!0,wrap:!0,forced:!d,sham:!d},{Symbol:bt}),nt(U(ue),function(W){pt(W)}),o({target:At,stat:!0,forced:!d},{for:function(W){var G=String(W);if(g(re,G))return re[G];var B=bt(G);return re[G]=B,fe[B]=G,B},keyFor:function(G){if(!y(G))throw TypeError(G+\" is not a symbol\");if(g(fe,G))return fe[G]},useSetter:function(){de=!0},useSimple:function(){de=!1}}),o({target:\"Object\",stat:!0,forced:!d,sham:!u},{create:D,defineProperty:m,defineProperties:E,getOwnPropertyDescriptor:H}),o({target:\"Object\",stat:!0,forced:!d},{getOwnPropertyNames:J,getOwnPropertySymbols:tt}),o({target:\"Object\",stat:!0,forced:h(function(){j.f(1)})},{getOwnPropertySymbols:function(G){return j.f(I(G))}}),kt){var vt=!d||h(function(){var W=bt();return kt([W])!=\"[null]\"||kt({a:W})!=\"{}\"||kt(Object(W))!=\"{}\"});o({target:\"JSON\",stat:!0,forced:vt},{stringify:function(G,B,k){for(var q=[G],Pt=1,Qe;arguments.length>Pt;)q.push(arguments[Pt++]);if(Qe=B,!(!S(B)&&G===void 0||y(G)))return p(B)||(B=function(Gr,Re){if(typeof Qe==\"function\"&&(Re=Qe.call(this,Gr,Re)),!y(Re))return Re}),q[1]=B,kt.apply(null,q)}})}bt[Tt][Ht]||X(bt[Tt],Ht,bt[Tt].valueOf),mt(bt,At),rt[it]=!0},a630:function(e,f,t){var o=t(\"23e7\"),a=t(\"4df4\"),s=t(\"1c7e\"),c=!s(function(u){Array.from(u)});o({target:\"Array\",stat:!0,forced:c},{from:a})},a640:function(e,f,t){var o=t(\"d039\");e.exports=function(a,s){var c=[][a];return!!c&&o(function(){c.call(null,s||function(){throw 1},1)})}},a691:function(e,f){var t=Math.ceil,o=Math.floor;e.exports=function(a){return isNaN(a=+a)?0:(a>0?o:t)(a)}},ab13:function(e,f,t){var o=t(\"b622\"),a=o(\"match\");e.exports=function(s){var c=/./;try{\"/./\"[s](c)}catch{try{return c[a]=!1,\"/./\"[s](c)}catch{}}return!1}},ac1f:function(e,f,t){var o=t(\"23e7\"),a=t(\"9263\");o({target:\"RegExp\",proto:!0,forced:/./.exec!==a},{exec:a})},ad6d:function(e,f,t){var o=t(\"825a\");e.exports=function(){var a=o(this),s=\"\";return a.global&&(s+=\"g\"),a.ignoreCase&&(s+=\"i\"),a.multiline&&(s+=\"m\"),a.dotAll&&(s+=\"s\"),a.unicode&&(s+=\"u\"),a.sticky&&(s+=\"y\"),s}},ae40:function(e,f,t){var o=t(\"83ab\"),a=t(\"d039\"),s=t(\"5135\"),c=Object.defineProperty,u={},d=function(v){throw v};e.exports=function(v,h){if(s(u,v))return u[v];h||(h={});var g=[][v],p=s(h,\"ACCESSORS\")?h.ACCESSORS:!1,S=s(h,0)?h[0]:d,b=s(h,1)?h[1]:void 0;return u[v]=!!g&&!a(function(){if(p&&!o)return!0;var I={length:-1};p?c(I,1,{enumerable:!0,get:d}):I[1]=1,g.call(I,S,b)})}},ae93:function(e,f,t){var o=t(\"e163\"),a=t(\"9112\"),s=t(\"5135\"),c=t(\"b622\"),u=t(\"c430\"),d=c(\"iterator\"),v=!1,h=function(){return this},g,p,S;[].keys&&(S=[].keys(),\"next\"in S?(p=o(o(S)),p!==Object.prototype&&(g=p)):v=!0),g==null&&(g={}),!u&&!s(g,d)&&a(g,d,h),e.exports={IteratorPrototype:g,BUGGY_SAFARI_ITERATORS:v}},b041:function(e,f,t){var o=t(\"00ee\"),a=t(\"f5df\");e.exports=o?{}.toString:function(){return\"[object \"+a(this)+\"]\"}},b0c0:function(e,f,t){var o=t(\"83ab\"),a=t(\"9bf2\").f,s=Function.prototype,c=s.toString,u=/^\\s*function ([^ (]*)/,d=\"name\";o&&!(d in s)&&a(s,d,{configurable:!0,get:function(){try{return c.call(this).match(u)[1]}catch{return\"\"}}})},b622:function(e,f,t){var o=t(\"da84\"),a=t(\"5692\"),s=t(\"5135\"),c=t(\"90e3\"),u=t(\"4930\"),d=t(\"fdbf\"),v=a(\"wks\"),h=o.Symbol,g=d?h:h&&h.withoutSetter||c;e.exports=function(p){return s(v,p)||(u&&s(h,p)?v[p]=h[p]:v[p]=g(\"Symbol.\"+p)),v[p]}},b64b:function(e,f,t){var o=t(\"23e7\"),a=t(\"7b0b\"),s=t(\"df75\"),c=t(\"d039\"),u=c(function(){s(1)});o({target:\"Object\",stat:!0,forced:u},{keys:function(v){return s(a(v))}})},b727:function(e,f,t){var o=t(\"0366\"),a=t(\"44ad\"),s=t(\"7b0b\"),c=t(\"50c4\"),u=t(\"65f0\"),d=[].push,v=function(h){var g=h==1,p=h==2,S=h==3,b=h==4,I=h==6,x=h==5||I;return function(P,O,w,U){for(var T=s(P),M=a(T),j=o(O,w,3),Y=c(M.length),C=0,R=U||u,X=g?R(P,Y):p?R(P,0):void 0,N,$;Y>C;C++)if((x||C in M)&&(N=M[C],$=j(N,C,T),h)){if(g)X[C]=$;else if($)switch(h){case 3:return!0;case 5:return N;case 6:return C;case 2:d.call(X,N)}else if(b)return!1}return I?-1:S||b?b:X}};e.exports={forEach:v(0),map:v(1),filter:v(2),some:v(3),every:v(4),find:v(5),findIndex:v(6)}},c04e:function(e,f,t){var o=t(\"861d\");e.exports=function(a,s){if(!o(a))return a;var c,u;if(s&&typeof(c=a.toString)==\"function\"&&!o(u=c.call(a))||typeof(c=a.valueOf)==\"function\"&&!o(u=c.call(a))||!s&&typeof(c=a.toString)==\"function\"&&!o(u=c.call(a)))return u;throw TypeError(\"Can't convert object to primitive value\")}},c430:function(e,f){e.exports=!1},c6b6:function(e,f){var t={}.toString;e.exports=function(o){return t.call(o).slice(8,-1)}},c6cd:function(e,f,t){var o=t(\"da84\"),a=t(\"ce4e\"),s=\"__core-js_shared__\",c=o[s]||a(s,{});e.exports=c},c740:function(e,f,t){var o=t(\"23e7\"),a=t(\"b727\").findIndex,s=t(\"44d2\"),c=t(\"ae40\"),u=\"findIndex\",d=!0,v=c(u);u in[]&&Array(1)[u](function(){d=!1}),o({target:\"Array\",proto:!0,forced:d||!v},{findIndex:function(g){return a(this,g,arguments.length>1?arguments[1]:void 0)}}),s(u)},c8ba:function(e,f){var t;t=function(){return this}();try{t=t||new Function(\"return this\")()}catch{typeof window==\"object\"&&(t=window)}e.exports=t},c975:function(e,f,t){var o=t(\"23e7\"),a=t(\"4d64\").indexOf,s=t(\"a640\"),c=t(\"ae40\"),u=[].indexOf,d=!!u&&1/[1].indexOf(1,-0)<0,v=s(\"indexOf\"),h=c(\"indexOf\",{ACCESSORS:!0,1:0});o({target:\"Array\",proto:!0,forced:d||!v||!h},{indexOf:function(p){return d?u.apply(this,arguments)||0:a(this,p,arguments.length>1?arguments[1]:void 0)}})},ca84:function(e,f,t){var o=t(\"5135\"),a=t(\"fc6a\"),s=t(\"4d64\").indexOf,c=t(\"d012\");e.exports=function(u,d){var v=a(u),h=0,g=[],p;for(p in v)!o(c,p)&&o(v,p)&&g.push(p);for(;d.length>h;)o(v,p=d[h++])&&(~s(g,p)||g.push(p));return g}},caad:function(e,f,t){var o=t(\"23e7\"),a=t(\"4d64\").includes,s=t(\"44d2\"),c=t(\"ae40\"),u=c(\"indexOf\",{ACCESSORS:!0,1:0});o({target:\"Array\",proto:!0,forced:!u},{includes:function(v){return a(this,v,arguments.length>1?arguments[1]:void 0)}}),s(\"includes\")},cc12:function(e,f,t){var o=t(\"da84\"),a=t(\"861d\"),s=o.document,c=a(s)&&a(s.createElement);e.exports=function(u){return c?s.createElement(u):{}}},ce4e:function(e,f,t){var o=t(\"da84\"),a=t(\"9112\");e.exports=function(s,c){try{a(o,s,c)}catch{o[s]=c}return c}},d012:function(e,f){e.exports={}},d039:function(e,f){e.exports=function(t){try{return!!t()}catch{return!0}}},d066:function(e,f,t){var o=t(\"428f\"),a=t(\"da84\"),s=function(c){return typeof c==\"function\"?c:void 0};e.exports=function(c,u){return arguments.length<2?s(o[c])||s(a[c]):o[c]&&o[c][u]||a[c]&&a[c][u]}},d1e7:function(e,f,t){var o={}.propertyIsEnumerable,a=Object.getOwnPropertyDescriptor,s=a&&!o.call({1:2},1);f.f=s?function(u){var d=a(this,u);return!!d&&d.enumerable}:o},d28b:function(e,f,t){var o=t(\"746f\");o(\"iterator\")},d2bb:function(e,f,t){var o=t(\"825a\"),a=t(\"3bbe\");e.exports=Object.setPrototypeOf||(\"__proto__\"in{}?function(){var s=!1,c={},u;try{u=Object.getOwnPropertyDescriptor(Object.prototype,\"__proto__\").set,u.call(c,[]),s=c instanceof Array}catch{}return function(v,h){return o(v),a(h),s?u.call(v,h):v.__proto__=h,v}}():void 0)},d3b7:function(e,f,t){var o=t(\"00ee\"),a=t(\"6eeb\"),s=t(\"b041\");o||a(Object.prototype,\"toString\",s,{unsafe:!0})},d44e:function(e,f,t){var o=t(\"9bf2\").f,a=t(\"5135\"),s=t(\"b622\"),c=s(\"toStringTag\");e.exports=function(u,d,v){u&&!a(u=v?u:u.prototype,c)&&o(u,c,{configurable:!0,value:d})}},d58f:function(e,f,t){var o=t(\"1c0b\"),a=t(\"7b0b\"),s=t(\"44ad\"),c=t(\"50c4\"),u=function(d){return function(v,h,g,p){o(h);var S=a(v),b=s(S),I=c(S.length),x=d?I-1:0,P=d?-1:1;if(g<2)for(;;){if(x in b){p=b[x],x+=P;break}if(x+=P,d?x<0:I<=x)throw TypeError(\"Reduce of empty array with no initial value\")}for(;d?x>=0:I>x;x+=P)x in b&&(p=h(p,b[x],x,S));return p}};e.exports={left:u(!1),right:u(!0)}},d784:function(e,f,t){t(\"ac1f\");var o=t(\"6eeb\"),a=t(\"d039\"),s=t(\"b622\"),c=t(\"9263\"),u=t(\"9112\"),d=s(\"species\"),v=!a(function(){var b=/./;return b.exec=function(){var I=[];return I.groups={a:\"7\"},I},\"\".replace(b,\"$<a>\")!==\"7\"}),h=function(){return\"a\".replace(/./,\"$0\")===\"$0\"}(),g=s(\"replace\"),p=function(){return/./[g]?/./[g](\"a\",\"$0\")===\"\":!1}(),S=!a(function(){var b=/(?:)/,I=b.exec;b.exec=function(){return I.apply(this,arguments)};var x=\"ab\".split(b);return x.length!==2||x[0]!==\"a\"||x[1]!==\"b\"});e.exports=function(b,I,x,P){var O=s(b),w=!a(function(){var C={};return C[O]=function(){return 7},\"\"[b](C)!=7}),U=w&&!a(function(){var C=!1,R=/a/;return b===\"split\"&&(R={},R.constructor={},R.constructor[d]=function(){return R},R.flags=\"\",R[O]=/./[O]),R.exec=function(){return C=!0,null},R[O](\"\"),!C});if(!w||!U||b===\"replace\"&&!(v&&h&&!p)||b===\"split\"&&!S){var T=/./[O],M=x(O,\"\"[b],function(C,R,X,N,$){return R.exec===c?w&&!$?{done:!0,value:T.call(R,X,N)}:{done:!0,value:C.call(X,R,N)}:{done:!1}},{REPLACE_KEEPS_$0:h,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:p}),j=M[0],Y=M[1];o(String.prototype,b,j),o(RegExp.prototype,O,I==2?function(C,R){return Y.call(C,this,R)}:function(C){return Y.call(C,this)})}P&&u(RegExp.prototype[O],\"sham\",!0)}},d81d:function(e,f,t){var o=t(\"23e7\"),a=t(\"b727\").map,s=t(\"1dde\"),c=t(\"ae40\"),u=s(\"map\"),d=c(\"map\");o({target:\"Array\",proto:!0,forced:!u||!d},{map:function(h){return a(this,h,arguments.length>1?arguments[1]:void 0)}})},da84:function(e,f,t){(function(o){var a=function(s){return s&&s.Math==Math&&s};e.exports=a(typeof globalThis==\"object\"&&globalThis)||a(typeof window==\"object\"&&window)||a(typeof self==\"object\"&&self)||a(typeof o==\"object\"&&o)||Function(\"return this\")()}).call(this,t(\"c8ba\"))},dbb4:function(e,f,t){var o=t(\"23e7\"),a=t(\"83ab\"),s=t(\"56ef\"),c=t(\"fc6a\"),u=t(\"06cf\"),d=t(\"8418\");o({target:\"Object\",stat:!0,sham:!a},{getOwnPropertyDescriptors:function(h){for(var g=c(h),p=u.f,S=s(g),b={},I=0,x,P;S.length>I;)P=p(g,x=S[I++]),P!==void 0&&d(b,x,P);return b}})},dbf1:function(e,f,t){(function(o){t.d(f,\"a\",function(){return s});function a(){return typeof window!=\"undefined\"?window.console:o.console}var s=a()}).call(this,t(\"c8ba\"))},ddb0:function(e,f,t){var o=t(\"da84\"),a=t(\"fdbc\"),s=t(\"e260\"),c=t(\"9112\"),u=t(\"b622\"),d=u(\"iterator\"),v=u(\"toStringTag\"),h=s.values;for(var g in a){var p=o[g],S=p&&p.prototype;if(S){if(S[d]!==h)try{c(S,d,h)}catch{S[d]=h}if(S[v]||c(S,v,g),a[g]){for(var b in s)if(S[b]!==s[b])try{c(S,b,s[b])}catch{S[b]=s[b]}}}}},df75:function(e,f,t){var o=t(\"ca84\"),a=t(\"7839\");e.exports=Object.keys||function(c){return o(c,a)}},e01a:function(e,f,t){var o=t(\"23e7\"),a=t(\"83ab\"),s=t(\"da84\"),c=t(\"5135\"),u=t(\"861d\"),d=t(\"9bf2\").f,v=t(\"e893\"),h=s.Symbol;if(a&&typeof h==\"function\"&&(!(\"description\"in h.prototype)||h().description!==void 0)){var g={},p=function(){var O=arguments.length<1||arguments[0]===void 0?void 0:String(arguments[0]),w=this instanceof p?new h(O):O===void 0?h():h(O);return O===\"\"&&(g[w]=!0),w};v(p,h);var S=p.prototype=h.prototype;S.constructor=p;var b=S.toString,I=String(h(\"test\"))==\"Symbol(test)\",x=/^Symbol\\((.*)\\)[^)]+$/;d(S,\"description\",{configurable:!0,get:function(){var O=u(this)?this.valueOf():this,w=b.call(O);if(c(g,O))return\"\";var U=I?w.slice(7,-1):w.replace(x,\"$1\");return U===\"\"?void 0:U}}),o({global:!0,forced:!0},{Symbol:p})}},e163:function(e,f,t){var o=t(\"5135\"),a=t(\"7b0b\"),s=t(\"f772\"),c=t(\"e177\"),u=s(\"IE_PROTO\"),d=Object.prototype;e.exports=c?Object.getPrototypeOf:function(v){return v=a(v),o(v,u)?v[u]:typeof v.constructor==\"function\"&&v instanceof v.constructor?v.constructor.prototype:v instanceof Object?d:null}},e177:function(e,f,t){var o=t(\"d039\");e.exports=!o(function(){function a(){}return a.prototype.constructor=null,Object.getPrototypeOf(new a)!==a.prototype})},e260:function(e,f,t){var o=t(\"fc6a\"),a=t(\"44d2\"),s=t(\"3f8c\"),c=t(\"69f3\"),u=t(\"7dd0\"),d=\"Array Iterator\",v=c.set,h=c.getterFor(d);e.exports=u(Array,\"Array\",function(g,p){v(this,{type:d,target:o(g),index:0,kind:p})},function(){var g=h(this),p=g.target,S=g.kind,b=g.index++;return!p||b>=p.length?(g.target=void 0,{value:void 0,done:!0}):S==\"keys\"?{value:b,done:!1}:S==\"values\"?{value:p[b],done:!1}:{value:[b,p[b]],done:!1}},\"values\"),s.Arguments=s.Array,a(\"keys\"),a(\"values\"),a(\"entries\")},e439:function(e,f,t){var o=t(\"23e7\"),a=t(\"d039\"),s=t(\"fc6a\"),c=t(\"06cf\").f,u=t(\"83ab\"),d=a(function(){c(1)}),v=!u||d;o({target:\"Object\",stat:!0,forced:v,sham:!u},{getOwnPropertyDescriptor:function(g,p){return c(s(g),p)}})},e538:function(e,f,t){var o=t(\"b622\");f.f=o},e893:function(e,f,t){var o=t(\"5135\"),a=t(\"56ef\"),s=t(\"06cf\"),c=t(\"9bf2\");e.exports=function(u,d){for(var v=a(d),h=c.f,g=s.f,p=0;p<v.length;p++){var S=v[p];o(u,S)||h(u,S,g(d,S))}}},e8b5:function(e,f,t){var o=t(\"c6b6\");e.exports=Array.isArray||function(s){return o(s)==\"Array\"}},e95a:function(e,f,t){var o=t(\"b622\"),a=t(\"3f8c\"),s=o(\"iterator\"),c=Array.prototype;e.exports=function(u){return u!==void 0&&(a.Array===u||c[s]===u)}},f5df:function(e,f,t){var o=t(\"00ee\"),a=t(\"c6b6\"),s=t(\"b622\"),c=s(\"toStringTag\"),u=a(function(){return arguments}())==\"Arguments\",d=function(v,h){try{return v[h]}catch{}};e.exports=o?a:function(v){var h,g,p;return v===void 0?\"Undefined\":v===null?\"Null\":typeof(g=d(h=Object(v),c))==\"string\"?g:u?a(h):(p=a(h))==\"Object\"&&typeof h.callee==\"function\"?\"Arguments\":p}},f772:function(e,f,t){var o=t(\"5692\"),a=t(\"90e3\"),s=o(\"keys\");e.exports=function(c){return s[c]||(s[c]=a(c))}},fb15:function(e,f,t){if(t.r(f),typeof window!=\"undefined\"){var o=window.document.currentScript;{var a=t(\"8875\");o=a(),\"currentScript\"in document||Object.defineProperty(document,\"currentScript\",{get:a})}var s=o&&o.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/);s&&(t.p=s[1])}t(\"99af\"),t(\"4de4\"),t(\"4160\"),t(\"c975\"),t(\"d81d\"),t(\"a434\"),t(\"159b\"),t(\"a4d3\"),t(\"e439\"),t(\"dbb4\"),t(\"b64b\");function c(y,m,E){return m in y?Object.defineProperty(y,m,{value:E,enumerable:!0,configurable:!0,writable:!0}):y[m]=E,y}function u(y,m){var E=Object.keys(y);if(Object.getOwnPropertySymbols){var D=Object.getOwnPropertySymbols(y);m&&(D=D.filter(function(F){return Object.getOwnPropertyDescriptor(y,F).enumerable})),E.push.apply(E,D)}return E}function d(y){for(var m=1;m<arguments.length;m++){var E=arguments[m]!=null?arguments[m]:{};m%2?u(Object(E),!0).forEach(function(D){c(y,D,E[D])}):Object.getOwnPropertyDescriptors?Object.defineProperties(y,Object.getOwnPropertyDescriptors(E)):u(Object(E)).forEach(function(D){Object.defineProperty(y,D,Object.getOwnPropertyDescriptor(E,D))})}return y}function v(y){if(Array.isArray(y))return y}t(\"e01a\"),t(\"d28b\"),t(\"e260\"),t(\"d3b7\"),t(\"3ca3\"),t(\"ddb0\");function h(y,m){if(!(typeof Symbol==\"undefined\"||!(Symbol.iterator in Object(y)))){var E=[],D=!0,F=!1,H=void 0;try{for(var J=y[Symbol.iterator](),tt;!(D=(tt=J.next()).done)&&(E.push(tt.value),!(m&&E.length===m));D=!0);}catch(vt){F=!0,H=vt}finally{try{!D&&J.return!=null&&J.return()}finally{if(F)throw H}}return E}}t(\"a630\"),t(\"fb6a\"),t(\"b0c0\"),t(\"25f0\");function g(y,m){(m==null||m>y.length)&&(m=y.length);for(var E=0,D=new Array(m);E<m;E++)D[E]=y[E];return D}function p(y,m){if(!!y){if(typeof y==\"string\")return g(y,m);var E=Object.prototype.toString.call(y).slice(8,-1);if(E===\"Object\"&&y.constructor&&(E=y.constructor.name),E===\"Map\"||E===\"Set\")return Array.from(y);if(E===\"Arguments\"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(E))return g(y,m)}}function S(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function b(y,m){return v(y)||h(y,m)||p(y,m)||S()}function I(y){if(Array.isArray(y))return g(y)}function x(y){if(typeof Symbol!=\"undefined\"&&Symbol.iterator in Object(y))return Array.from(y)}function P(){throw new TypeError(`Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function O(y){return I(y)||x(y)||p(y)||P()}var w=t(\"a352\"),U=t.n(w);function T(y){y.parentElement!==null&&y.parentElement.removeChild(y)}function M(y,m,E){var D=E===0?y.children[0]:y.children[E-1].nextSibling;y.insertBefore(m,D)}var j=t(\"dbf1\");t(\"13d5\"),t(\"4fad\"),t(\"ac1f\"),t(\"5319\");function Y(y){var m=Object.create(null);return function(D){var F=m[D];return F||(m[D]=y(D))}}var C=/-(\\w)/g,R=Y(function(y){return y.replace(C,function(m,E){return E.toUpperCase()})});t(\"5db7\"),t(\"73d9\");var X=[\"Start\",\"Add\",\"Remove\",\"Update\",\"End\"],N=[\"Choose\",\"Unchoose\",\"Sort\",\"Filter\",\"Clone\"],$=[\"Move\"],_=[$,X,N].flatMap(function(y){return y}).map(function(y){return\"on\".concat(y)}),rt={manage:$,manageAndEmit:X,emit:N};function yt(y){return _.indexOf(y)!==-1}t(\"caad\"),t(\"2ca0\");var st=[\"a\",\"abbr\",\"address\",\"area\",\"article\",\"aside\",\"audio\",\"b\",\"base\",\"bdi\",\"bdo\",\"blockquote\",\"body\",\"br\",\"button\",\"canvas\",\"caption\",\"cite\",\"code\",\"col\",\"colgroup\",\"data\",\"datalist\",\"dd\",\"del\",\"details\",\"dfn\",\"dialog\",\"div\",\"dl\",\"dt\",\"em\",\"embed\",\"fieldset\",\"figcaption\",\"figure\",\"footer\",\"form\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"head\",\"header\",\"hgroup\",\"hr\",\"html\",\"i\",\"iframe\",\"img\",\"input\",\"ins\",\"kbd\",\"label\",\"legend\",\"li\",\"link\",\"main\",\"map\",\"mark\",\"math\",\"menu\",\"menuitem\",\"meta\",\"meter\",\"nav\",\"noscript\",\"object\",\"ol\",\"optgroup\",\"option\",\"output\",\"p\",\"param\",\"picture\",\"pre\",\"progress\",\"q\",\"rb\",\"rp\",\"rt\",\"rtc\",\"ruby\",\"s\",\"samp\",\"script\",\"section\",\"select\",\"slot\",\"small\",\"source\",\"span\",\"strong\",\"style\",\"sub\",\"summary\",\"sup\",\"svg\",\"table\",\"tbody\",\"td\",\"template\",\"textarea\",\"tfoot\",\"th\",\"thead\",\"time\",\"title\",\"tr\",\"track\",\"u\",\"ul\",\"var\",\"video\",\"wbr\"];function ft(y){return st.includes(y)}function pt(y){return[\"transition-group\",\"TransitionGroup\"].includes(y)}function mt(y){return[\"id\",\"class\",\"role\",\"style\"].includes(y)||y.startsWith(\"data-\")||y.startsWith(\"aria-\")||y.startsWith(\"on\")}function ht(y){return y.reduce(function(m,E){var D=b(E,2),F=D[0],H=D[1];return m[F]=H,m},{})}function nt(y){var m=y.$attrs,E=y.componentData,D=E===void 0?{}:E,F=ht(Object.entries(m).filter(function(H){var J=b(H,2),tt=J[0];return J[1],mt(tt)}));return d(d({},F),D)}function it(y){var m=y.$attrs,E=y.callBackBuilder,D=ht(At(m));Object.entries(E).forEach(function(H){var J=b(H,2),tt=J[0],vt=J[1];rt[tt].forEach(function(W){D[\"on\".concat(W)]=vt(W)})});var F=\"[data-draggable]\".concat(D.draggable||\"\");return d(d({},D),{},{draggable:F})}function At(y){return Object.entries(y).filter(function(m){var E=b(m,2),D=E[0];return E[1],!mt(D)}).map(function(m){var E=b(m,2),D=E[0],F=E[1];return[R(D),F]}).filter(function(m){var E=b(m,2),D=E[0];return E[1],!yt(D)})}t(\"c740\");function Tt(y,m){if(!(y instanceof m))throw new TypeError(\"Cannot call a class as a function\")}function Ht(y,m){for(var E=0;E<m.length;E++){var D=m[E];D.enumerable=D.enumerable||!1,D.configurable=!0,\"value\"in D&&(D.writable=!0),Object.defineProperty(y,D.key,D)}}function Zt(y,m,E){return m&&Ht(y.prototype,m),E&&Ht(y,E),y}var Yt=function(m){var E=m.el;return E},St=function(m,E){return m.__draggable_context=E},bt=function(m){return m.__draggable_context},kt=function(){function y(m){var E=m.nodes,D=E.header,F=E.default,H=E.footer,J=m.root,tt=m.realList;Tt(this,y),this.defaultNodes=F,this.children=[].concat(O(D),O(F),O(H)),this.externalComponent=J.externalComponent,this.rootTransition=J.transition,this.tag=J.tag,this.realList=tt}return Zt(y,[{key:\"render\",value:function(E,D){var F=this.tag,H=this.children,J=this._isRootComponent,tt=J?{default:function(){return H}}:H;return E(F,D,tt)}},{key:\"updated\",value:function(){var E=this.defaultNodes,D=this.realList;E.forEach(function(F,H){St(Yt(F),{element:D[H],index:H})})}},{key:\"getUnderlyingVm\",value:function(E){return bt(E)}},{key:\"getVmIndexFromDomIndex\",value:function(E,D){var F=this.defaultNodes,H=F.length,J=D.children,tt=J.item(E);if(tt===null)return H;var vt=bt(tt);if(vt)return vt.index;if(H===0)return 0;var W=Yt(F[0]),G=O(J).findIndex(function(B){return B===W});return E<G?0:H}},{key:\"_isRootComponent\",get:function(){return this.externalComponent||this.rootTransition}}]),y}(),Gt=t(\"8bbf\");function $t(y,m){var E=y[m];return E?E():[]}function Ae(y){var m=y.$slots,E=y.realList,D=y.getKey,F=E||[],H=[\"header\",\"footer\"].map(function(B){return $t(m,B)}),J=b(H,2),tt=J[0],vt=J[1],W=m.item;if(!W)throw new Error(\"draggable element must have an item slot\");var G=F.flatMap(function(B,k){return W({element:B,index:k}).map(function(q){return q.key=D(B),q.props=d(d({},q.props||{}),{},{\"data-draggable\":!0}),q})});if(G.length!==F.length)throw new Error(\"Item slot must have only one child\");return{header:tt,footer:vt,default:G}}function Je(y){var m=pt(y),E=!ft(y)&&!m;return{transition:m,externalComponent:E,tag:E?Object(Gt.resolveComponent)(y):m?Gt.TransitionGroup:y}}function Ft(y){var m=y.$slots,E=y.tag,D=y.realList,F=y.getKey,H=Ae({$slots:m,realList:D,getKey:F}),J=Je(E);return new kt({nodes:H,root:J,realList:D})}function Vt(y,m){var E=this;Object(Gt.nextTick)(function(){return E.$emit(y.toLowerCase(),m)})}function re(y){var m=this;return function(E,D){if(m.realList!==null)return m[\"onDrag\".concat(y)](E,D)}}function fe(y){var m=this,E=re.call(this,y);return function(D,F){E.call(m,D,F),Vt.call(m,y,D)}}var ue=null,ce={list:{type:Array,required:!1,default:null},modelValue:{type:Array,required:!1,default:null},itemKey:{type:[String,Function],required:!0},clone:{type:Function,default:function(m){return m}},tag:{type:String,default:\"div\"},move:{type:Function,default:null},componentData:{type:Object,required:!1,default:null}},de=[\"update:modelValue\",\"change\"].concat(O([].concat(O(rt.manageAndEmit),O(rt.emit)).map(function(y){return y.toLowerCase()}))),ve=Object(Gt.defineComponent)({name:\"draggable\",inheritAttrs:!1,props:ce,emits:de,data:function(){return{error:!1}},render:function(){try{this.error=!1;var m=this.$slots,E=this.$attrs,D=this.tag,F=this.componentData,H=this.realList,J=this.getKey,tt=Ft({$slots:m,tag:D,realList:H,getKey:J});this.componentStructure=tt;var vt=nt({$attrs:E,componentData:F});return tt.render(Gt.h,vt)}catch(W){return this.error=!0,Object(Gt.h)(\"pre\",{style:{color:\"red\"}},W.stack)}},created:function(){this.list!==null&&this.modelValue!==null&&j.a.error(\"modelValue and list props are mutually exclusive! Please set one or another.\")},mounted:function(){var m=this;if(!this.error){var E=this.$attrs,D=this.$el,F=this.componentStructure;F.updated();var H=it({$attrs:E,callBackBuilder:{manageAndEmit:function(vt){return fe.call(m,vt)},emit:function(vt){return Vt.bind(m,vt)},manage:function(vt){return re.call(m,vt)}}}),J=D.nodeType===1?D:D.parentElement;this._sortable=new U.a(J,H),this.targetDomElement=J,J.__draggable_component__=this}},updated:function(){this.componentStructure.updated()},beforeUnmount:function(){this._sortable!==void 0&&this._sortable.destroy()},computed:{realList:function(){var m=this.list;return m||this.modelValue},getKey:function(){var m=this.itemKey;return typeof m==\"function\"?m:function(E){return E[m]}}},watch:{$attrs:{handler:function(m){var E=this._sortable;!E||At(m).forEach(function(D){var F=b(D,2),H=F[0],J=F[1];E.option(H,J)})},deep:!0}},methods:{getUnderlyingVm:function(m){return this.componentStructure.getUnderlyingVm(m)||null},getUnderlyingPotencialDraggableComponent:function(m){return m.__draggable_component__},emitChanges:function(m){var E=this;Object(Gt.nextTick)(function(){return E.$emit(\"change\",m)})},alterList:function(m){if(this.list){m(this.list);return}var E=O(this.modelValue);m(E),this.$emit(\"update:modelValue\",E)},spliceList:function(){var m=arguments,E=function(F){return F.splice.apply(F,O(m))};this.alterList(E)},updatePosition:function(m,E){var D=function(H){return H.splice(E,0,H.splice(m,1)[0])};this.alterList(D)},getRelatedContextFromMoveEvent:function(m){var E=m.to,D=m.related,F=this.getUnderlyingPotencialDraggableComponent(E);if(!F)return{component:F};var H=F.realList,J={list:H,component:F};if(E!==D&&H){var tt=F.getUnderlyingVm(D)||{};return d(d({},tt),J)}return J},getVmIndexFromDomIndex:function(m){return this.componentStructure.getVmIndexFromDomIndex(m,this.targetDomElement)},onDragStart:function(m){this.context=this.getUnderlyingVm(m.item),m.item._underlying_vm_=this.clone(this.context.element),ue=m.item},onDragAdd:function(m){var E=m.item._underlying_vm_;if(E!==void 0){T(m.item);var D=this.getVmIndexFromDomIndex(m.newIndex);this.spliceList(D,0,E);var F={element:E,newIndex:D};this.emitChanges({added:F})}},onDragRemove:function(m){if(M(this.$el,m.item,m.oldIndex),m.pullMode===\"clone\"){T(m.clone);return}var E=this.context,D=E.index,F=E.element;this.spliceList(D,1);var H={element:F,oldIndex:D};this.emitChanges({removed:H})},onDragUpdate:function(m){T(m.item),M(m.from,m.item,m.oldIndex);var E=this.context.index,D=this.getVmIndexFromDomIndex(m.newIndex);this.updatePosition(E,D);var F={element:this.context.element,oldIndex:E,newIndex:D};this.emitChanges({moved:F})},computeFutureIndex:function(m,E){if(!m.element)return 0;var D=O(E.to.children).filter(function(tt){return tt.style.display!==\"none\"}),F=D.indexOf(E.related),H=m.component.getVmIndexFromDomIndex(F),J=D.indexOf(ue)!==-1;return J||!E.willInsertAfter?H:H+1},onDragMove:function(m,E){var D=this.move,F=this.realList;if(!D||!F)return!0;var H=this.getRelatedContextFromMoveEvent(m),J=this.computeFutureIndex(H,m),tt=d(d({},this.context),{},{futureIndex:J}),vt=d(d({},m),{},{relatedContext:H,draggedContext:tt});return D(vt,E)},onDragEnd:function(){ue=null}}}),he=ve;f.default=he},fb6a:function(e,f,t){var o=t(\"23e7\"),a=t(\"861d\"),s=t(\"e8b5\"),c=t(\"23cb\"),u=t(\"50c4\"),d=t(\"fc6a\"),v=t(\"8418\"),h=t(\"b622\"),g=t(\"1dde\"),p=t(\"ae40\"),S=g(\"slice\"),b=p(\"slice\",{ACCESSORS:!0,0:0,1:2}),I=h(\"species\"),x=[].slice,P=Math.max;o({target:\"Array\",proto:!0,forced:!S||!b},{slice:function(w,U){var T=d(this),M=u(T.length),j=c(w,M),Y=c(U===void 0?M:U,M),C,R,X;if(s(T)&&(C=T.constructor,typeof C==\"function\"&&(C===Array||s(C.prototype))?C=void 0:a(C)&&(C=C[I],C===null&&(C=void 0)),C===Array||C===void 0))return x.call(T,j,Y);for(R=new(C===void 0?Array:C)(P(Y-j,0)),X=0;j<Y;j++,X++)j in T&&v(R,X,T[j]);return R.length=X,R}})},fc6a:function(e,f,t){var o=t(\"44ad\"),a=t(\"1d80\");e.exports=function(s){return o(a(s))}},fdbc:function(e,f){e.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},fdbf:function(e,f,t){var o=t(\"4930\");e.exports=o&&!Symbol.sham&&typeof Symbol.iterator==\"symbol\"}}).default})})(gr);var Gn=Hr(gr.exports);const Mn={},Nn={\"aria-hidden\":\"true\",focusable:\"false\",\"data-prefix\":\"fas\",\"data-icon\":\"grip-vertical\",class:\"svg-inline--fa fa-grip-vertical fa-w-10\",role:\"img\",xmlns:\"http://www.w3.org/2000/svg\",viewBox:\"0 0 320 512\",width:\"15\",height:\"15\"},jn=Yr(\"path\",{fill:\"currentColor\",d:\"M96 32H32C14.33 32 0 46.33 0 64v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32zm0 160H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm0 160H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zM288 32h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32zm0 160h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm0 160h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32z\"},null,-1),Fn=[jn];function wn(l,r){return Wr(),Xr(\"svg\",Nn,Fn)}var $n=Vr(Mn,[[\"render\",wn]]);export{$n as D,Gn as d};\n"
  },
  {
    "path": "public/build/assets/DropdownType.2d01b840.js",
    "content": "import{k as p,r,o as d,l as m,u as c,x as i}from\"./vendor.d12b5734.js\";const f={props:{modelValue:{type:[String,Object,Number],default:null},options:{type:Array,default:()=>[]},valueProp:{type:String,default:\"name\"},label:{type:String,default:\"name\"},object:{type:Boolean,default:!1}},emits:[\"update:modelValue\"],setup(e,{emit:a}){const u=e,l=p({get:()=>u.modelValue,set:t=>{a(\"update:modelValue\",t)}});return(t,o)=>{const n=r(\"BaseMultiselect\");return d(),m(n,{modelValue:c(l),\"onUpdate:modelValue\":o[0]||(o[0]=s=>i(l)?l.value=s:null),options:e.options,label:e.label,\"value-prop\":e.valueProp,object:e.object},null,8,[\"modelValue\",\"options\",\"label\",\"value-prop\",\"object\"])}}};export{f as default};\n"
  },
  {
    "path": "public/build/assets/EstimateCreate.82c0b5df.js",
    "content": "var K=Object.defineProperty,Q=Object.defineProperties;var W=Object.getOwnPropertyDescriptors;var V=Object.getOwnPropertySymbols;var X=Object.prototype.hasOwnProperty,Z=Object.prototype.propertyIsEnumerable;var j=(a,e,n)=>e in a?K(a,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):a[e]=n,q=(a,e)=>{for(var n in e||(e={}))X.call(e,n)&&j(a,n,e[n]);if(V)for(var n of V(e))Z.call(e,n)&&j(a,n,e[n]);return a},L=(a,e)=>Q(a,W(e));import{r as o,o as g,e as T,f as s,u as t,w as l,J as ee,B as h,G as te,aN as ae,k as b,L as v,M as E,S as se,O as ne,aP as ie,T as oe,C as le,l as y,j as C,h as B,t as M,m as re,i as me,U as de,F as ue}from\"./vendor.d12b5734.js\";import{k as P,r as ce,b as pe,m as ge}from\"./main.465728e1.js\";import{_ as _e,a as fe,b as ve,c as be,d as ye,e as we,f as Ee}from\"./SalesTax.75d66dd0.js\";import{_ as Be}from\"./CreateCustomFields.c1c460e4.js\";import{_ as $e}from\"./ExchangeRateConverter.d865db6a.js\";import{_ as Se}from\"./TaxTypeModal.d37d74ed.js\";import\"./DragIcon.2da3872a.js\";import\"./SelectNotePopup.2e678c03.js\";import\"./NoteModal.ebe10cf0.js\";import\"./payment.93619753.js\";import\"./exchange-rate.85b564e2.js\";const he={class:\"md:grid-cols-12 grid-cols-1 md:gap-x-6 mt-6 mb-8 grid gap-y-5\"},Ce={props:{v:{type:Object,default:null},isLoading:{type:Boolean,default:!1},isEdit:{type:Boolean,default:!1}},setup(a){const e=P();return(n,r)=>{const $=o(\"BaseCustomerSelectPopup\"),m=o(\"BaseDatePicker\"),c=o(\"BaseInputGroup\"),p=o(\"BaseInput\"),S=o(\"BaseInputGrid\");return g(),T(\"div\",he,[s($,{modelValue:t(e).newEstimate.customer,\"onUpdate:modelValue\":r[0]||(r[0]=d=>t(e).newEstimate.customer=d),valid:a.v.customer_id,\"content-loading\":a.isLoading,type:\"estimate\",class:\"col-span-5 pr-0\"},null,8,[\"modelValue\",\"valid\",\"content-loading\"]),s(S,{class:\"col-span-7\"},{default:l(()=>[s(c,{label:n.$t(\"reports.estimates.estimate_date\"),\"content-loading\":a.isLoading,required:\"\",error:a.v.estimate_date.$error&&a.v.estimate_date.$errors[0].$message},{default:l(()=>[s(m,{modelValue:t(e).newEstimate.estimate_date,\"onUpdate:modelValue\":r[1]||(r[1]=d=>t(e).newEstimate.estimate_date=d),\"content-loading\":a.isLoading,\"calendar-button\":!0,\"calendar-button-icon\":\"calendar\"},null,8,[\"modelValue\",\"content-loading\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"]),s(c,{label:n.$t(\"estimates.expiry_date\"),\"content-loading\":a.isLoading},{default:l(()=>[s(m,{modelValue:t(e).newEstimate.expiry_date,\"onUpdate:modelValue\":r[2]||(r[2]=d=>t(e).newEstimate.expiry_date=d),\"content-loading\":a.isLoading,\"calendar-button\":!0,\"calendar-button-icon\":\"calendar\"},null,8,[\"modelValue\",\"content-loading\"])]),_:1},8,[\"label\",\"content-loading\"]),s(c,{label:n.$t(\"estimates.estimate_number\"),\"content-loading\":a.isLoading,required:\"\",error:a.v.estimate_number.$error&&a.v.estimate_number.$errors[0].$message},{default:l(()=>[s(p,{modelValue:t(e).newEstimate.estimate_number,\"onUpdate:modelValue\":r[3]||(r[3]=d=>t(e).newEstimate.estimate_number=d),\"content-loading\":a.isLoading},null,8,[\"modelValue\",\"content-loading\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"]),s($e,{store:t(e),\"store-prop\":\"newEstimate\",v:a.v,\"is-loading\":a.isLoading,\"is-edit\":a.isEdit,\"customer-currency\":t(e).newEstimate.currency_id},null,8,[\"store\",\"v\",\"is-loading\",\"is-edit\",\"customer-currency\"])]),_:1})])}}},ke=[\"onSubmit\"],xe={class:\"flex\"},Ie={class:\"block mt-10 estimate-foot lg:flex lg:justify-between lg:items-start\"},Ve={class:\"relative w-full lg:w-1/2\"},He={setup(a){const e=P(),n=ce(),r=pe(),$=ge(),{t:m}=ee(),c=\"newEstimate\";let p=h(!1);const S=h(!1),d=h([\"customer\",\"company\",\"customerCustom\",\"estimate\",\"estimateCustom\"]);let k=te(),F=ae(),_=b(()=>e.isFetchingInitialSettings),N=b(()=>f.value?m(\"estimates.edit_estimate\"):m(\"estimates.new_estimate\")),f=b(()=>k.name===\"estimates.edit\");const U=b(()=>r.selectedCompanySettings.sales_tax_us_enabled===\"YES\"&&n.salesTaxUSEnabled),D={estimate_date:{required:v.withMessage(m(\"validation.required\"),E)},estimate_number:{required:v.withMessage(m(\"validation.required\"),E)},reference_number:{maxLength:v.withMessage(m(\"validation.price_maxlength\"),se(255))},customer_id:{required:v.withMessage(m(\"validation.required\"),E)},exchange_rate:{required:ne(function(){return v.withMessage(m(\"validation.required\"),E),e.showExchangeRate}),decimal:v.withMessage(m(\"validation.valid_exchange_rate\"),ie)}},w=oe(D,b(()=>e.newEstimate),{$scope:c});le(()=>e.newEstimate.customer,i=>{i&&i.currency?e.newEstimate.selectedCurrency=i.currency:e.newEstimate.selectedCurrency=r.selectedCompanyCurrency}),e.resetCurrentEstimate(),$.resetCustomFields(),w.value.$reset,e.fetchEstimateInitialSettings(f.value);async function G(){if(w.value.$touch(),w.value.$invalid)return!1;p.value=!0;let i=L(q({},e.newEstimate),{sub_total:e.getSubTotal,total:e.getTotal,tax:e.getTotalTax});const x=f.value?e.updateEstimate:e.addEstimate;try{let u=await x(i);u.data.data&&F.push(`/admin/estimates/${u.data.data.id}/view`)}catch(u){console.error(u)}p.value=!1}return(i,x)=>{const u=o(\"BaseBreadcrumbItem\"),R=o(\"BaseBreadcrumb\"),I=o(\"BaseButton\"),H=o(\"router-link\"),O=o(\"BaseIcon\"),z=o(\"BasePageHeader\"),A=o(\"BaseScrollPane\"),J=o(\"BasePage\");return g(),T(ue,null,[s(_e),s(fe),s(Se),t(U)&&(!t(_)||t(k).query.customer)?(g(),y(ve,{key:0,store:t(e),\"store-prop\":\"newEstimate\",\"is-edit\":t(f),customer:t(e).newEstimate.customer},null,8,[\"store\",\"is-edit\",\"customer\"])):C(\"\",!0),s(J,{class:\"relative estimate-create-page\"},{default:l(()=>[B(\"form\",{onSubmit:de(G,[\"prevent\"])},[s(z,{title:t(N)},{actions:l(()=>[i.$route.name===\"estimates.edit\"?(g(),y(H,{key:0,to:`/estimates/pdf/${t(e).newEstimate.unique_hash}`,target:\"_blank\"},{default:l(()=>[s(I,{class:\"mr-3\",variant:\"primary-outline\",type:\"button\"},{default:l(()=>[B(\"span\",xe,M(i.$t(\"general.view_pdf\")),1)]),_:1})]),_:1},8,[\"to\"])):C(\"\",!0),s(I,{loading:t(p),disabled:t(p),\"content-loading\":t(_),variant:\"primary\",type:\"submit\"},{left:l(Y=>[t(p)?C(\"\",!0):(g(),y(O,{key:0,class:re(Y.class),name:\"SaveIcon\"},null,8,[\"class\"]))]),default:l(()=>[me(\" \"+M(i.$t(\"estimates.save_estimate\")),1)]),_:1},8,[\"loading\",\"disabled\",\"content-loading\"])]),default:l(()=>[s(R,null,{default:l(()=>[s(u,{title:i.$t(\"general.home\"),to:\"/admin/dashboard\"},null,8,[\"title\"]),s(u,{title:i.$tc(\"estimates.estimate\",2),to:\"/admin/estimates\"},null,8,[\"title\"]),i.$route.name===\"estimates.edit\"?(g(),y(u,{key:0,title:i.$t(\"estimates.edit_estimate\"),to:\"#\",active:\"\"},null,8,[\"title\"])):(g(),y(u,{key:1,title:i.$t(\"estimates.new_estimate\"),to:\"#\",active:\"\"},null,8,[\"title\"]))]),_:1})]),_:1},8,[\"title\"]),s(Ce,{v:t(w),\"is-loading\":t(_),\"is-edit\":t(f)},null,8,[\"v\",\"is-loading\",\"is-edit\"]),s(A,null,{default:l(()=>[s(be,{currency:t(e).newEstimate.selectedCurrency,\"is-loading\":t(_),\"item-validation-scope\":c,store:t(e),\"store-prop\":\"newEstimate\"},null,8,[\"currency\",\"is-loading\",\"store\"]),B(\"div\",Ie,[B(\"div\",Ve,[s(ye,{store:t(e),\"store-prop\":\"newEstimate\",fields:d.value,type:\"Estimate\"},null,8,[\"store\",\"fields\"]),s(Be,{type:\"Estimate\",\"is-edit\":t(f),\"is-loading\":t(_),store:t(e),\"store-prop\":\"newEstimate\",\"custom-field-scope\":c,class:\"mb-6\"},null,8,[\"is-edit\",\"is-loading\",\"store\"]),s(we,{store:t(e),\"component-name\":\"EstimateTemplate\",\"store-prop\":\"newEstimate\",\"is-mark-as-default\":S.value},null,8,[\"store\",\"is-mark-as-default\"])]),s(Ee,{currency:t(e).newEstimate.selectedCurrency,\"is-loading\":t(_),store:t(e),\"store-prop\":\"newEstimate\",\"tax-popup-type\":\"estimate\"},null,8,[\"currency\",\"is-loading\",\"store\"])])]),_:1})],40,ke)]),_:1})],64)}}};export{He as default};\n"
  },
  {
    "path": "public/build/assets/EstimateIcon.7f89fb19.js",
    "content": "import{_ as r}from\"./main.465728e1.js\";import{o as s,e as o,h as C,m as l}from\"./vendor.d12b5734.js\";const n={},i={width:\"50\",height:\"50\",viewBox:\"0 0 50 50\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\"},_=C(\"circle\",{cx:\"25\",cy:\"25\",r:\"25\",fill:\"#FDE4E5\"},null,-1),a=C(\"path\",{d:\"M27.2031 23.6016C28.349 23.9401 29.2083 24.6562 29.7812 25.75C30.3802 26.8438 30.4714 27.9766 30.0547 29.1484C29.7422 30.0078 29.2083 30.6979 28.4531 31.2188C27.6979 31.7135 26.8516 31.974 25.9141 32V33.875C25.9141 34.0573 25.849 34.2005 25.7188 34.3047C25.6146 34.4349 25.4714 34.5 25.2891 34.5H24.0391C23.8568 34.5 23.7005 34.4349 23.5703 34.3047C23.4661 34.2005 23.4141 34.0573 23.4141 33.875V32C22.1641 32 21.0443 31.6094 20.0547 30.8281C19.8984 30.6979 19.8073 30.5417 19.7812 30.3594C19.7552 30.1771 19.8203 30.0208 19.9766 29.8906L21.3047 28.5625C21.5651 28.3281 21.8255 28.3021 22.0859 28.4844C22.4766 28.7448 22.9193 28.875 23.4141 28.875H25.9922C26.3307 28.875 26.6042 28.7708 26.8125 28.5625C27.0469 28.3281 27.1641 28.0417 27.1641 27.7031C27.1641 27.1302 26.8906 26.7656 26.3438 26.6094L22.3203 25.4375C21.4349 25.1771 20.6927 24.7083 20.0938 24.0312C19.4948 23.3542 19.1432 22.5729 19.0391 21.6875C18.9349 20.4115 19.2995 19.3177 20.1328 18.4062C20.9922 17.4688 22.0599 17 23.3359 17H23.4141V15.125C23.4141 14.9427 23.4661 14.7995 23.5703 14.6953C23.7005 14.5651 23.8568 14.5 24.0391 14.5H25.2891C25.4714 14.5 25.6146 14.5651 25.7188 14.6953C25.849 14.7995 25.9141 14.9427 25.9141 15.125V17C27.1641 17 28.2839 17.3906 29.2734 18.1719C29.4297 18.3021 29.5208 18.4583 29.5469 18.6406C29.5729 18.8229 29.5078 18.9792 29.3516 19.1094L28.0234 20.4375C27.763 20.6719 27.5026 20.6979 27.2422 20.5156C26.8516 20.2552 26.4089 20.125 25.9141 20.125H23.3359C22.9974 20.125 22.7109 20.2422 22.4766 20.4766C22.2682 20.6849 22.1641 20.9583 22.1641 21.2969C22.1641 21.5312 22.2422 21.7526 22.3984 21.9609C22.5547 22.1693 22.75 22.3125 22.9844 22.3906L27.2031 23.6016Z\",fill:\"#FB7178\"},null,-1),h=[_,a];function H(t,e){return s(),o(\"svg\",i,h)}var g=r(n,[[\"render\",H]]);const V=C(\"circle\",{cx:\"25\",cy:\"25\",r:\"25\",fill:\"#EAF1FB\"},null,-1),d=C(\"path\",{d:\"M28.25 24.5V27H20.75V24.5H28.25ZM31.7266 18.6016C31.9089 18.7839 32 19.0052 32 19.2656V19.5H27V14.5H27.2344C27.4948 14.5 27.7161 14.5911 27.8984 14.7734L31.7266 18.6016ZM25.75 19.8125C25.75 20.0729 25.8411 20.2943 26.0234 20.4766C26.2057 20.6589 26.4271 20.75 26.6875 20.75H32V33.5625C32 33.8229 31.9089 34.0443 31.7266 34.2266C31.5443 34.4089 31.3229 34.5 31.0625 34.5H17.9375C17.6771 34.5 17.4557 34.4089 17.2734 34.2266C17.0911 34.0443 17 33.8229 17 33.5625V15.4375C17 15.1771 17.0911 14.9557 17.2734 14.7734C17.4557 14.5911 17.6771 14.5 17.9375 14.5H25.75V19.8125ZM19.5 17.3125V17.9375C19.5 18.1458 19.6042 18.25 19.8125 18.25H22.9375C23.1458 18.25 23.25 18.1458 23.25 17.9375V17.3125C23.25 17.1042 23.1458 17 22.9375 17H19.8125C19.6042 17 19.5 17.1042 19.5 17.3125ZM19.5 19.8125V20.4375C19.5 20.6458 19.6042 20.75 19.8125 20.75H22.9375C23.1458 20.75 23.25 20.6458 23.25 20.4375V19.8125C23.25 19.6042 23.1458 19.5 22.9375 19.5H19.8125C19.6042 19.5 19.5 19.6042 19.5 19.8125ZM29.5 31.6875V31.0625C29.5 30.8542 29.3958 30.75 29.1875 30.75H26.0625C25.8542 30.75 25.75 30.8542 25.75 31.0625V31.6875C25.75 31.8958 25.8542 32 26.0625 32H29.1875C29.3958 32 29.5 31.8958 29.5 31.6875ZM29.5 23.875C29.5 23.6927 29.4349 23.5495 29.3047 23.4453C29.2005 23.3151 29.0573 23.25 28.875 23.25H20.125C19.9427 23.25 19.7865 23.3151 19.6562 23.4453C19.5521 23.5495 19.5 23.6927 19.5 23.875V27.625C19.5 27.8073 19.5521 27.9635 19.6562 28.0938C19.7865 28.1979 19.9427 28.25 20.125 28.25H28.875C29.0573 28.25 29.2005 28.1979 29.3047 28.0938C29.4349 27.9635 29.5 27.8073 29.5 27.625V23.875Z\",fill:\"currentColor\"},null,-1),p=[V,d],v={props:{colorClass:{type:String,default:\"text-primary-500\"}},setup(t){return(e,c)=>(s(),o(\"svg\",{width:\"50\",height:\"50\",viewBox:\"0 0 50 50\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",class:l(t.colorClass)},p,2))}},f=C(\"circle\",{cx:\"25\",cy:\"25\",r:\"25\",fill:\"#EAF1FB\"},null,-1),u=C(\"path\",{d:\"M26.75 19.8125C26.75 20.0729 26.8411 20.2943 27.0234 20.4766C27.2057 20.6589 27.4271 20.75 27.6875 20.75H33V33.5625C33 33.8229 32.9089 34.0443 32.7266 34.2266C32.5443 34.4089 32.3229 34.5 32.0625 34.5H18.9375C18.6771 34.5 18.4557 34.4089 18.2734 34.2266C18.0911 34.0443 18 33.8229 18 33.5625V15.4375C18 15.1771 18.0911 14.9557 18.2734 14.7734C18.4557 14.5911 18.6771 14.5 18.9375 14.5H26.75V19.8125ZM33 19.2656V19.5H28V14.5H28.2344C28.4948 14.5 28.7161 14.5911 28.8984 14.7734L32.7266 18.6016C32.9089 18.7839 33 19.0052 33 19.2656Z\",fill:\"currentColor\"},null,-1),w=[f,u],M={props:{colorClass:{type:String,default:\"text-primary-500\"}},setup(t){return(e,c)=>(s(),o(\"svg\",{width:\"50\",height:\"50\",viewBox:\"0 0 50 50\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",class:l(t.colorClass)},w,2))}};export{g as D,v as _,M as a};\n"
  },
  {
    "path": "public/build/assets/EstimateIndexDropdown.8917d9cc.js",
    "content": "import{k as R,c as z,u as P,j as V,e as J,g as E}from\"./main.465728e1.js\";import{ah as O,J as U,G as H,aN as W,r as T,o as i,l,w as r,u as n,f as m,i as c,t as d,j as g}from\"./vendor.d12b5734.js\";const G={props:{row:{type:Object,default:null},table:{type:Object,default:null}},setup(o){const y=o,S=O(\"utils\"),k=R(),D=z(),_=P(),p=V(),f=J(),{t:s}=U(),v=H(),b=W();async function C(e){p.openDialog({title:s(\"general.are_you_sure\"),message:s(\"estimates.confirm_delete\"),yesLabel:s(\"general.ok\"),noLabel:s(\"general.cancel\"),variant:\"danger\",hideNoButton:!1,size:\"lg\"}).then(t=>{e=e,t&&k.deleteEstimate({ids:[e]}).then(a=>{a&&(y.table&&y.table.refresh(),a.data&&b.push(\"/admin/estimates\"),k.$patch(h=>{h.selectedEstimates=[],h.selectAllField=!1}))})})}function $(e){p.openDialog({title:s(\"general.are_you_sure\"),message:s(\"estimates.confirm_conversion\"),yesLabel:s(\"general.ok\"),noLabel:s(\"general.cancel\"),variant:\"primary\",hideNoButton:!1,size:\"lg\"}).then(t=>{t&&k.convertToInvoice(e).then(a=>{a.data&&b.push(`/admin/invoices/${a.data.data.id}/edit`)})})}async function N(e){p.openDialog({title:s(\"general.are_you_sure\"),message:s(\"estimates.confirm_mark_as_sent\"),yesLabel:s(\"general.ok\"),noLabel:s(\"general.cancel\"),variant:\"primary\",hideNoButton:!1,size:\"lg\"}).then(t=>{const a={id:e,status:\"SENT\"};t&&k.markAsSent(a).then(h=>{y.table&&y.table.refresh()})})}function x(e){return(e.status==\"SENT\"||e.status==\"VIEWED\")&&v.name!==\"estimates.view\"&&f.hasAbilities(E.SEND_ESTIMATE)}async function I(e){D.openModal({title:s(\"estimates.send_estimate\"),componentName:\"SendEstimateModal\",id:e.id,data:e,variant:\"lg\"})}async function B(e){p.openDialog({title:s(\"general.are_you_sure\"),message:s(\"estimates.confirm_mark_as_accepted\"),yesLabel:s(\"general.ok\"),noLabel:s(\"general.cancel\"),variant:\"primary\",hideNoButton:!1,size:\"lg\"}).then(t=>{const a={id:e,status:\"ACCEPTED\"};t&&k.markAsAccepted(a).then(h=>{y.table&&y.table.refresh()})})}async function M(e){p.openDialog({title:s(\"general.are_you_sure\"),message:s(\"estimates.confirm_mark_as_rejected\"),yesLabel:s(\"general.ok\"),noLabel:s(\"general.cancel\"),variant:\"primary\",hideNoButton:!1,size:\"lg\"}).then(t=>{const a={id:e,status:\"REJECTED\"};t&&k.markAsRejected(a).then(h=>{y.table&&y.table.refresh()})})}function L(){let e=`${window.location.origin}/estimates/pdf/${y.row.unique_hash}`;S.copyTextToClipboard(e),_.showNotification({type:\"success\",message:s(\"general.copied_pdf_url_clipboard\")})}return(e,t)=>{const a=T(\"BaseIcon\"),h=T(\"BaseButton\"),u=T(\"BaseDropdownItem\"),A=T(\"router-link\"),j=T(\"BaseDropdown\");return i(),l(j,null,{activator:r(()=>[n(v).name===\"estimates.view\"?(i(),l(h,{key:0,variant:\"primary\"},{default:r(()=>[m(a,{name:\"DotsHorizontalIcon\",class:\"text-white\"})]),_:1})):(i(),l(a,{key:1,class:\"text-gray-500\",name:\"DotsHorizontalIcon\"}))]),default:r(()=>[n(v).name===\"estimates.view\"?(i(),l(u,{key:0,onClick:L},{default:r(()=>[m(a,{name:\"LinkIcon\",class:\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"}),c(\" \"+d(e.$t(\"general.copy_pdf_url\")),1)]),_:1})):g(\"\",!0),n(f).hasAbilities(n(E).EDIT_ESTIMATE)?(i(),l(A,{key:1,to:`/admin/estimates/${o.row.id}/edit`},{default:r(()=>[m(u,null,{default:r(()=>[m(a,{name:\"PencilIcon\",class:\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"}),c(\" \"+d(e.$t(\"general.edit\")),1)]),_:1})]),_:1},8,[\"to\"])):g(\"\",!0),n(f).hasAbilities(n(E).DELETE_ESTIMATE)?(i(),l(u,{key:2,onClick:t[0]||(t[0]=w=>C(o.row.id))},{default:r(()=>[m(a,{name:\"TrashIcon\",class:\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"}),c(\" \"+d(e.$t(\"general.delete\")),1)]),_:1})):g(\"\",!0),n(v).name!==\"estimates.view\"&&n(f).hasAbilities(n(E).VIEW_ESTIMATE)?(i(),l(A,{key:3,to:`estimates/${o.row.id}/view`},{default:r(()=>[m(u,null,{default:r(()=>[m(a,{name:\"EyeIcon\",class:\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"}),c(\" \"+d(e.$t(\"general.view\")),1)]),_:1})]),_:1},8,[\"to\"])):g(\"\",!0),n(f).hasAbilities(n(E).CREATE_INVOICE)?(i(),l(u,{key:4,onClick:t[1]||(t[1]=w=>$(o.row.id))},{default:r(()=>[m(a,{name:\"DocumentTextIcon\",class:\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"}),c(\" \"+d(e.$t(\"estimates.convert_to_invoice\")),1)]),_:1})):g(\"\",!0),o.row.status!==\"SENT\"&&n(v).name!==\"estimates.view\"&&n(f).hasAbilities(n(E).SEND_ESTIMATE)?(i(),l(u,{key:5,onClick:t[2]||(t[2]=w=>N(o.row.id))},{default:r(()=>[m(a,{name:\"CheckCircleIcon\",class:\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"}),c(\" \"+d(e.$t(\"estimates.mark_as_sent\")),1)]),_:1})):g(\"\",!0),o.row.status!==\"SENT\"&&n(v).name!==\"estimates.view\"&&n(f).hasAbilities(n(E).SEND_ESTIMATE)?(i(),l(u,{key:6,onClick:t[3]||(t[3]=w=>I(o.row))},{default:r(()=>[m(a,{name:\"PaperAirplaneIcon\",class:\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"}),c(\" \"+d(e.$t(\"estimates.send_estimate\")),1)]),_:1})):g(\"\",!0),x(o.row)?(i(),l(u,{key:7,onClick:t[4]||(t[4]=w=>I(o.row))},{default:r(()=>[m(a,{name:\"PaperAirplaneIcon\",class:\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"}),c(\" \"+d(e.$t(\"estimates.resend_estimate\")),1)]),_:1})):g(\"\",!0),o.row.status!==\"ACCEPTED\"&&n(f).hasAbilities(n(E).EDIT_ESTIMATE)?(i(),l(u,{key:8,onClick:t[5]||(t[5]=w=>B(o.row.id))},{default:r(()=>[m(a,{name:\"CheckCircleIcon\",class:\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"}),c(\" \"+d(e.$t(\"estimates.mark_as_accepted\")),1)]),_:1})):g(\"\",!0),o.row.status!==\"REJECTED\"&&n(f).hasAbilities(n(E).EDIT_ESTIMATE)?(i(),l(u,{key:9,onClick:t[6]||(t[6]=w=>M(o.row.id))},{default:r(()=>[m(a,{name:\"XCircleIcon\",class:\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"}),c(\" \"+d(e.$t(\"estimates.mark_as_rejected\")),1)]),_:1})):g(\"\",!0)]),_:1})}}};export{G as _};\n"
  },
  {
    "path": "public/build/assets/ExchangeRateConverter.d865db6a.js",
    "content": "import{d as V,b as _}from\"./main.465728e1.js\";import{u as D}from\"./exchange-rate.85b564e2.js\";import{B as p,k as u,C as l,b1 as F,r as d,K as N,u as n,o as x,l as A,w as h,e as G,q,f as v,m as L,j as C,h as b,t as E}from\"./vendor.d12b5734.js\";const O={key:0},U={class:\"text-gray-500 sm:text-sm\"},z={class:\"text-gray-400 text-xs mt-2 font-light\"},M={props:{v:{type:Object,default:null},isLoading:{type:Boolean,default:!1},store:{type:Object,default:null},storeProp:{type:String,default:\"\"},isEdit:{type:Boolean,default:!1},customerCurrency:{type:[String,Number],default:null}},setup(r){const e=r,m=V(),B=_(),g=D(),f=p(!1);let a=p(!1);m.fetchCurrencies();const s=u(()=>B.selectedCompanyCurrency),c=u(()=>m.currencies.find(t=>t.id===e.store[e.storeProp].currency_id)),P=u(()=>s.value.id!==e.customerCurrency);l(()=>e.store[e.storeProp].customer,t=>{R(t)},{deep:!0}),l(()=>e.store[e.storeProp].currency_id,t=>{$(t)},{immediate:!0}),l(()=>e.customerCurrency,t=>{t&&e.isEdit&&w()},{immediate:!0});function w(){P.value&&g.checkForActiveProvider(e.customerCurrency).then(t=>{t.data.success&&(f.value=!0)})}function R(t){t?e.store[e.storeProp].currency_id=t.currency.id:e.store[e.storeProp].currency_id=s.value.id}async function $(t){t!==s.value.id?(!e.isEdit&&t&&await y(t),e.store.showExchangeRate=!0):e.store.showExchangeRate=!1}function y(t){a.value=!0,g.getCurrentExchangeRate(t).then(o=>{o.data&&!o.data.error?e.store[e.storeProp].exchange_rate=o.data.exchangeRate[0]:e.store[e.storeProp].exchange_rate=\"\",a.value=!1}).catch(o=>{a.value=!1})}return F(()=>{e.store.showExchangeRate=!1}),(t,o)=>{const k=d(\"BaseIcon\"),S=d(\"BaseInput\"),I=d(\"BaseInputGroup\"),j=N(\"tooltip\");return r.store.showExchangeRate&&n(c)?(x(),A(I,{key:0,\"content-loading\":n(a)&&!r.isEdit,label:t.$t(\"settings.exchange_rate.exchange_rate\"),error:r.v.exchange_rate.$error&&r.v.exchange_rate.$errors[0].$message,required:\"\"},{labelRight:h(()=>[f.value&&r.isEdit?(x(),G(\"div\",O,[q(v(k,{name:\"RefreshIcon\",class:L(`h-4 w-4 text-primary-500 cursor-pointer outline-none ${n(a)?\" animate-spin rotate-180 cursor-not-allowed pointer-events-none \":\"\"}`),onClick:o[0]||(o[0]=i=>y(r.customerCurrency))},null,8,[\"class\"]),[[j,{content:\"Fetch Latest Exchange rate\"}]])])):C(\"\",!0)]),default:h(()=>[v(S,{modelValue:r.store[r.storeProp].exchange_rate,\"onUpdate:modelValue\":o[1]||(o[1]=i=>r.store[r.storeProp].exchange_rate=i),\"content-loading\":n(a)&&!r.isEdit,addon:`1 ${n(c).code} =`,disabled:n(a),onInput:o[2]||(o[2]=i=>r.v.exchange_rate.$touch())},{right:h(()=>[b(\"span\",U,E(n(s).code),1)]),_:1},8,[\"modelValue\",\"content-loading\",\"addon\",\"disabled\"]),b(\"span\",z,E(t.$t(\"settings.exchange_rate.exchange_help_text\",{currency:n(c).code,baseCurrency:n(s).code})),1)]),_:1},8,[\"content-loading\",\"label\",\"error\"])):C(\"\",!0)}}};export{M as _};\n"
  },
  {
    "path": "public/build/assets/ExchangeRateProviderSetting.3f82b267.js",
    "content": "var ie=Object.defineProperty;var J=Object.getOwnPropertySymbols;var ue=Object.prototype.hasOwnProperty,de=Object.prototype.propertyIsEnumerable;var X=(C,c,n)=>c in C?ie(C,c,{enumerable:!0,configurable:!0,writable:!0,value:n}):C[c]=n,T=(C,c)=>{for(var n in c||(c={}))ue.call(c,n)&&X(C,n,c[n]);if(J)for(var n of J(c))de.call(c,n)&&X(C,n,c[n]);return C};import{u as Z}from\"./exchange-rate.85b564e2.js\";import{c as K,b as ge,j as ve}from\"./main.465728e1.js\";import{J as Q,B as k,k as b,L as V,M as G,O as W,R as pe,T as he,C as L,A as me,r as v,o as B,l as I,w as l,h as y,i as w,t as x,u as e,f as s,j as D,m as ee,U as fe,ah as ye,e as _e,aZ as xe,x as Ce,a_ as Ee,a$ as $e,b0 as be,F as Re,a0 as ke}from\"./vendor.d12b5734.js\";import Be from\"./BaseTable.ec8995dc.js\";const we={class:\"flex justify-between w-full\"},Ve=[\"onSubmit\"],Ie={class:\"px-4 md:px-8 py-8 overflow-y-auto sm:p-6\"},Se={class:\"z-0 flex justify-end p-4 border-t border-gray-200 border-solid\"},Me={setup(C){const{t:c}=Q();let n=k(!1),u=k(!1),E=k(!1),m=k([]),p=k([]);const _=K(),t=Z();let q=k([]);const A=b(()=>({currentExchangeRate:{key:{required:V.withMessage(c(\"validation.required\"),G)},driver:{required:V.withMessage(c(\"validation.required\"),G)},currencies:{required:V.withMessage(c(\"validation.required\"),G)}},currencyConverter:{type:{required:V.withMessage(c(\"validation.required\"),W(i))},url:{required:V.withMessage(c(\"validation.required\"),W($)),url:V.withMessage(c(\"validation.invalid_url\"),pe)}}})),O=b(()=>t.drivers.map(r=>Object.assign({},r,{key:c(r.key)}))),z=b(()=>_.active&&_.componentName===\"ExchangeRateProviderModal\");b(()=>_.title);const i=b(()=>t.currentExchangeRate.driver===\"currency_converter\"),$=b(()=>t.currencyConverter&&t.currencyConverter.type===\"DEDICATED\"),S=b(()=>{switch(t.currentExchangeRate.driver){case\"currency_converter\":return\"https://www.currencyconverterapi.com\";case\"currency_freak\":return\"https://currencyfreaks.com\";case\"currency_layer\":return\"https://currencylayer.com\";case\"open_exchange_rate\":return\"https://openexchangerates.org\";default:return\"\"}}),o=he(A,b(()=>t));function N(){m.value=[]}function F(){const{currencies:r}=t.currentExchangeRate;m.value.forEach(a=>{r.forEach((h,f)=>{h===a&&r.splice(f,1)})}),m.value=[]}function j(){t.currentExchangeRate.key=null,t.currentExchangeRate.currencies=[],t.supportedCurrencies=[]}function d(){t.supportedCurrencies=[],p.value=[],t.currentExchangeRate={id:null,name:\"\",driver:\"\",key:\"\",active:!0,currencies:[]},t.currencyConverter={type:\"\",url:\"\"},m.value=[]}async function M(){t.currentExchangeRate.driver=\"currency_converter\";let r={};t.isEdit&&(r.provider_id=t.currentExchangeRate.id),u.value=!0,await t.fetchDefaultProviders(),await t.fetchActiveCurrency(r),p.value=t.currentExchangeRate.currencies,u.value=!1}L(()=>i.value,(r,a)=>{r&&ae()},{immediate:!0}),L(()=>t.currentExchangeRate.key,(r,a)=>{r&&P()}),L(()=>{var r;return(r=t==null?void 0:t.currencyConverter)==null?void 0:r.type},(r,a)=>{r&&P()}),P=me.exports.debounce(P,500);function te(){return o.value.$touch(),ne(),!!(o.value.$invalid||m.value.length&&t.currentExchangeRate.active)}async function re(){if(te())return!0;let r=T({},t.currentExchangeRate);i.value&&(r.driver_config=T({},t.currencyConverter),$.value||(r.driver_config.url=\"\"));const a=t.isEdit?t.updateProvider:t.addProvider;n.value=!0,await a(r).then(h=>{n.value=!1,_.refreshData&&_.refreshData(),U()}).catch(h=>{n.value=!1})}async function ae(){let r=await t.getCurrencyConverterServers();q.value=r.data.currency_converter_servers,t.currencyConverter.type=\"FREE\"}function P(){var h;const{driver:r,key:a}=t.currentExchangeRate;if(r&&a){E.value=!0;let f={driver:r,key:a};if(i.value&&!t.currencyConverter.type){E.value=!1;return}((h=t==null?void 0:t.currencyConverter)==null?void 0:h.type)&&(f.type=t.currencyConverter.type),t.fetchCurrencies(f).then(R=>{E.value=!1}).catch(R=>{E.value=!1})}}function ne(r=!0){var h;m.value=[];const{currencies:a}=t.currentExchangeRate;a.length&&((h=t.activeUsedCurrencies)==null?void 0:h.length)&&a.forEach(f=>{t.activeUsedCurrencies.includes(f)&&m.value.push(f)})}function U(){_.closeModal(),setTimeout(()=>{d(),o.value.$reset()},300)}return(r,a)=>{const h=v(\"BaseIcon\"),f=v(\"BaseMultiselect\"),R=v(\"BaseInputGroup\"),Y=v(\"BaseInput\"),oe=v(\"BaseSwitch\"),se=v(\"BaseInputGrid\"),le=v(\"BaseInfoAlert\"),H=v(\"BaseButton\"),ce=v(\"BaseModal\");return B(),I(ce,{show:e(z),onClose:U,onOpen:M},{header:l(()=>[y(\"div\",we,[w(x(e(_).title)+\" \",1),s(h,{name:\"XIcon\",class:\"w-6 h-6 text-gray-500 cursor-pointer\",onClick:U})])]),default:l(()=>[y(\"form\",{onSubmit:fe(re,[\"prevent\"])},[y(\"div\",Ie,[s(se,{layout:\"one-column\"},{default:l(()=>[s(R,{label:r.$tc(\"settings.exchange_rate.driver\"),\"content-loading\":e(u),required:\"\",error:e(o).currentExchangeRate.driver.$error&&e(o).currentExchangeRate.driver.$errors[0].$message,\"help-text\":e(S)},{default:l(()=>[s(f,{modelValue:e(t).currentExchangeRate.driver,\"onUpdate:modelValue\":[a[0]||(a[0]=g=>e(t).currentExchangeRate.driver=g),j],options:e(O),\"content-loading\":e(u),\"value-prop\":\"value\",\"can-deselect\":!0,label:\"key\",searchable:!0,invalid:e(o).currentExchangeRate.driver.$error,\"track-by\":\"key\",onInput:a[1]||(a[1]=g=>e(o).currentExchangeRate.driver.$touch())},null,8,[\"modelValue\",\"options\",\"content-loading\",\"invalid\"])]),_:1},8,[\"label\",\"content-loading\",\"error\",\"help-text\"]),e(i)?(B(),I(R,{key:0,required:\"\",label:r.$t(\"settings.exchange_rate.server\"),\"content-loading\":e(u),error:e(o).currencyConverter.type.$error&&e(o).currencyConverter.type.$errors[0].$message},{default:l(()=>[s(f,{modelValue:e(t).currencyConverter.type,\"onUpdate:modelValue\":[a[2]||(a[2]=g=>e(t).currencyConverter.type=g),j],\"content-loading\":e(u),\"value-prop\":\"value\",searchable:\"\",options:e(q),invalid:e(o).currencyConverter.type.$error,label:\"value\",\"track-by\":\"value\"},null,8,[\"modelValue\",\"content-loading\",\"options\",\"invalid\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"])):D(\"\",!0),s(R,{label:r.$t(\"settings.exchange_rate.key\"),required:\"\",\"content-loading\":e(u),error:e(o).currentExchangeRate.key.$error&&e(o).currentExchangeRate.key.$errors[0].$message},{default:l(()=>[s(Y,{modelValue:e(t).currentExchangeRate.key,\"onUpdate:modelValue\":a[3]||(a[3]=g=>e(t).currentExchangeRate.key=g),\"content-loading\":e(u),type:\"text\",name:\"key\",loading:e(E),\"loading-position\":\"right\",invalid:e(o).currentExchangeRate.key.$error},null,8,[\"modelValue\",\"content-loading\",\"loading\",\"invalid\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"]),e(t).supportedCurrencies.length?(B(),I(R,{key:1,label:r.$t(\"settings.exchange_rate.currency\"),\"content-loading\":e(u),error:e(o).currentExchangeRate.currencies.$error&&e(o).currentExchangeRate.currencies.$errors[0].$message,\"help-text\":r.$t(\"settings.exchange_rate.currency_help_text\")},{default:l(()=>[s(f,{modelValue:e(t).currentExchangeRate.currencies,\"onUpdate:modelValue\":a[4]||(a[4]=g=>e(t).currentExchangeRate.currencies=g),\"content-loading\":e(u),\"value-prop\":\"code\",mode:\"tags\",searchable:\"\",options:e(t).supportedCurrencies,invalid:e(o).currentExchangeRate.currencies.$error,label:\"code\",\"track-by\":\"code\",\"open-direction\":\"top\",onInput:a[5]||(a[5]=g=>e(o).currentExchangeRate.currencies.$touch())},null,8,[\"modelValue\",\"content-loading\",\"options\",\"invalid\"])]),_:1},8,[\"label\",\"content-loading\",\"error\",\"help-text\"])):D(\"\",!0),e($)?(B(),I(R,{key:2,label:r.$t(\"settings.exchange_rate.url\"),\"content-loading\":e(u),error:e(o).currencyConverter.url.$error&&e(o).currencyConverter.url.$errors[0].$message},{default:l(()=>[s(Y,{modelValue:e(t).currencyConverter.url,\"onUpdate:modelValue\":a[6]||(a[6]=g=>e(t).currencyConverter.url=g),\"content-loading\":e(u),type:\"url\",invalid:e(o).currencyConverter.url.$error,onInput:a[7]||(a[7]=g=>e(o).currencyConverter.url.$touch())},null,8,[\"modelValue\",\"content-loading\",\"invalid\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"])):D(\"\",!0),s(oe,{modelValue:e(t).currentExchangeRate.active,\"onUpdate:modelValue\":a[8]||(a[8]=g=>e(t).currentExchangeRate.active=g),class:\"flex\",\"label-right\":r.$t(\"settings.exchange_rate.active\")},null,8,[\"modelValue\",\"label-right\"])]),_:1}),e(m).length&&e(t).currentExchangeRate.active?(B(),I(le,{key:0,class:\"mt-5\",title:r.$t(\"settings.exchange_rate.currency_in_used\"),lists:[e(m).toString()],actions:[\"Remove\"],onHide:N,onRemove:F},null,8,[\"title\",\"lists\"])):D(\"\",!0)]),y(\"div\",Se,[s(H,{class:\"mr-3\",variant:\"primary-outline\",type:\"button\",disabled:e(n),onClick:U},{default:l(()=>[w(x(r.$t(\"general.cancel\")),1)]),_:1},8,[\"disabled\"]),s(H,{loading:e(n),disabled:e(n)||e(E),variant:\"primary\",type:\"submit\"},{left:l(g=>[e(n)?D(\"\",!0):(B(),I(h,{key:0,name:\"SaveIcon\",class:ee(g.class)},null,8,[\"class\"]))]),default:l(()=>[w(\" \"+x(e(t).isEdit?r.$t(\"general.update\"):r.$t(\"general.save\")),1)]),_:1},8,[\"loading\",\"disabled\"])])],40,Ve)]),_:1},8,[\"show\"])}}},De={slot:\"header\",class:\"flex flex-wrap justify-between lg:flex-nowrap\"},qe={class:\"text-lg font-medium text-left\"},Ne={class:\"mt-2 text-sm leading-snug text-left text-gray-500\",style:{\"max-width\":\"680px\"}},je={class:\"mt-4 lg:mt-0 lg:ml-2\"},Pe={class:\"capitalize\"},Ue={class:\"inline-block\"},Ge={setup(C){const{tm:c,t:n}=Q();ge();const u=Z(),E=K(),m=ve();let p=k(\"\");const _=ye(\"utils\"),t=b(()=>[{key:\"driver\",label:n(\"settings.exchange_rate.driver\"),thClass:\"extra\",tdClass:\"font-medium text-gray-900\"},{key:\"key\",label:n(\"settings.exchange_rate.key\"),thClass:\"extra\",tdClass:\"font-medium text-gray-900\"},{key:\"active\",label:n(\"settings.exchange_rate.active\"),thClass:\"extra\",tdClass:\"font-medium text-gray-900\"},{key:\"actions\",label:\"\",tdClass:\"text-right text-sm font-medium\",sortable:!1}]);async function q({page:i,sort:$}){let S=ke({orderByField:$.fieldName||\"created_at\",orderBy:$.order||\"desc\",page:i}),o=await u.fetchProviders(S);return{data:o.data.data,pagination:{totalPages:o.data.meta.last_page,currentPage:i,totalCount:o.data.meta.total,limit:5}}}function A(){E.openModal({title:n(\"settings.exchange_rate.new_driver\"),componentName:\"ExchangeRateProviderModal\",size:\"md\",refreshData:p.value&&p.value.refresh})}function O(i){u.fetchProvider(i),E.openModal({title:n(\"settings.exchange_rate.edit_driver\"),componentName:\"ExchangeRateProviderModal\",size:\"md\",data:i,refreshData:p.value&&p.value.refresh})}function z(i){m.openDialog({title:n(\"general.are_you_sure\"),message:n(\"settings.exchange_rate.exchange_rate_confirm_delete\"),yesLabel:n(\"general.ok\"),noLabel:n(\"general.cancel\"),variant:\"danger\",hideNoButton:!1,size:\"lg\"}).then(async $=>{$&&(await u.deleteExchangeRate(i),p.value&&p.value.refresh())})}return(i,$)=>{const S=v(\"BaseButton\"),o=v(\"BaseBadge\"),N=v(\"BaseDropdownItem\"),F=v(\"BaseDropdown\"),j=v(\"BaseCard\");return B(),_e(Re,null,[s(Me),s(j,null,{default:l(()=>[y(\"div\",De,[y(\"div\",null,[y(\"h6\",qe,x(i.$t(\"settings.menu_title.exchange_rate\")),1),y(\"p\",Ne,x(i.$t(\"settings.exchange_rate.providers_description\")),1)]),y(\"div\",je,[s(S,{variant:\"primary-outline\",size:\"lg\",onClick:A},{left:l(d=>[s(e(xe),{class:ee(d.class)},null,8,[\"class\"])]),default:l(()=>[w(\" \"+x(i.$t(\"settings.exchange_rate.new_driver\")),1)]),_:1})])]),s(Be,{ref:(d,M)=>{M.table=d,Ce(p)?p.value=d:p=d},class:\"mt-16\",data:q,columns:e(t)},{\"cell-driver\":l(({row:d})=>[y(\"span\",Pe,x(d.data.driver.replace(\"_\",\" \")),1)]),\"cell-active\":l(({row:d})=>[s(o,{\"bg-color\":e(_).getBadgeStatusColor(d.data.active?\"YES\":\"NO\").bgColor,color:e(_).getBadgeStatusColor(d.data.active?\"YES\":\"NO\").color},{default:l(()=>[w(x(d.data.active?\"YES\":\"NO\"),1)]),_:2},1032,[\"bg-color\",\"color\"])]),\"cell-actions\":l(({row:d})=>[s(F,null,{activator:l(()=>[y(\"div\",Ue,[s(e(Ee),{class:\"w-5 text-gray-500\"})])]),default:l(()=>[s(N,{onClick:M=>O(d.data.id)},{default:l(()=>[s(e($e),{class:\"h-5 mr-3 text-gray-600\"}),w(\" \"+x(i.$t(\"general.edit\")),1)]),_:2},1032,[\"onClick\"]),s(N,{onClick:M=>z(d.data.id)},{default:l(()=>[s(e(be),{class:\"h-5 mr-3 text-gray-600\"}),w(\" \"+x(i.$t(\"general.delete\")),1)]),_:2},1032,[\"onClick\"])]),_:2},1024)]),_:1},8,[\"columns\"])]),_:1})],64)}}};export{Ge as default};\n"
  },
  {
    "path": "public/build/assets/ExpenseCategorySetting.424a740a.js",
    "content": "import{j as v,u as $,e as M,c as S,g as k}from\"./main.465728e1.js\";import{u as E}from\"./category.c88b90cd.js\";import{J as I,G as T,ah as z,r as i,o as m,l as p,w as e,u as g,f as n,i as w,t as C,j as N,B as P,k as F,e as V,m as L,h as j,F as A}from\"./vendor.d12b5734.js\";import{_ as H}from\"./CategoryModal.6fabb0b3.js\";const O={props:{row:{type:Object,default:null},table:{type:Object,default:null},loadData:{type:Function,default:null}},setup(y){const d=y,B=v();$();const{t:o}=I(),s=E(),h=T(),_=M(),b=S();z(\"utils\");function x(l){s.fetchCategory(l),b.openModal({title:o(\"settings.expense_category.edit_category\"),componentName:\"CategoryModal\",refreshData:d.loadData,size:\"sm\"})}function r(l){B.openDialog({title:o(\"general.are_you_sure\"),message:o(\"settings.expense_category.confirm_delete\"),yesLabel:o(\"general.ok\"),noLabel:o(\"general.cancel\"),variant:\"danger\",hideNoButton:!1,size:\"lg\"}).then(async()=>{if((await s.deleteCategory(l)).data.success)return d.loadData&&d.loadData(),!0;d.loadData&&d.loadData()})}return(l,t)=>{const c=i(\"BaseIcon\"),u=i(\"BaseButton\"),f=i(\"BaseDropdownItem\"),a=i(\"BaseDropdown\");return m(),p(a,null,{activator:e(()=>[g(h).name===\"expenseCategorys.view\"?(m(),p(u,{key:0,variant:\"primary\"},{default:e(()=>[n(c,{name:\"DotsHorizontalIcon\",class:\"h-5 text-white\"})]),_:1})):(m(),p(c,{key:1,name:\"DotsHorizontalIcon\",class:\"h-5 text-gray-500\"}))]),default:e(()=>[g(_).hasAbilities(g(k).EDIT_EXPENSE)?(m(),p(f,{key:0,onClick:t[0]||(t[0]=D=>x(y.row.id))},{default:e(()=>[n(c,{name:\"PencilIcon\",class:\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"}),w(\" \"+C(l.$t(\"general.edit\")),1)]),_:1})):N(\"\",!0),g(_).hasAbilities(g(k).DELETE_EXPENSE)?(m(),p(f,{key:1,onClick:t[1]||(t[1]=D=>r(y.row.id))},{default:e(()=>[n(c,{name:\"TrashIcon\",class:\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"}),w(\" \"+C(l.$t(\"general.delete\")),1)]),_:1})):N(\"\",!0)]),_:1})}}},X={class:\"w-64\"},G={class:\"truncate\"},K={setup(y){const d=E();v();const B=S(),{t:o}=I(),s=P(null),h=F(()=>[{key:\"name\",label:o(\"settings.expense_category.category_name\"),thClass:\"extra\",tdClass:\"font-medium text-gray-900\"},{key:\"description\",label:o(\"settings.expense_category.category_description\"),thClass:\"extra\",tdClass:\"font-medium text-gray-900\"},{key:\"actions\",label:\"\",tdClass:\"text-right text-sm font-medium\",sortable:!1}]);async function _({page:r,filter:l,sort:t}){let c={orderByField:t.fieldName||\"created_at\",orderBy:t.order||\"desc\",page:r},u=await d.fetchCategories(c);return{data:u.data.data,pagination:{totalPages:u.data.meta.last_page,currentPage:r,totalCount:u.data.meta.total,limit:5}}}function b(){B.openModal({title:o(\"settings.expense_category.add_category\"),componentName:\"CategoryModal\",size:\"sm\",refreshData:s.value&&s.value.refresh})}async function x(){s.value&&s.value.refresh()}return(r,l)=>{const t=i(\"BaseIcon\"),c=i(\"BaseButton\"),u=i(\"BaseTable\"),f=i(\"BaseSettingCard\");return m(),V(A,null,[n(H),n(f,{title:r.$t(\"settings.expense_category.title\"),description:r.$t(\"settings.expense_category.description\")},{action:e(()=>[n(c,{variant:\"primary-outline\",type:\"button\",onClick:b},{left:e(a=>[n(t,{class:L(a.class),name:\"PlusIcon\"},null,8,[\"class\"])]),default:e(()=>[w(\" \"+C(r.$t(\"settings.expense_category.add_new_category\")),1)]),_:1})]),default:e(()=>[n(u,{ref:(a,D)=>{D.table=a,s.value=a},data:_,columns:g(h),class:\"mt-16\"},{\"cell-description\":e(({row:a})=>[j(\"div\",X,[j(\"p\",G,C(a.data.description),1)])]),\"cell-actions\":e(({row:a})=>[n(O,{row:a.data,table:s.value,\"load-data\":x},null,8,[\"row\",\"table\"])]),_:1},8,[\"columns\"])]),_:1},8,[\"title\",\"description\"])],64)}}};export{K as default};\n"
  },
  {
    "path": "public/build/assets/FileDiskSetting.9303276f.js",
    "content": "var re=Object.defineProperty;var X=Object.getOwnPropertySymbols;var se=Object.prototype.hasOwnProperty,le=Object.prototype.propertyIsEnumerable;var Q=(t,i,a)=>i in t?re(t,i,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[i]=a,W=(t,i)=>{for(var a in i||(i={}))se.call(i,a)&&Q(t,a,i[a]);if(X)for(var a of X(i))le.call(i,a)&&Q(t,a,i[a]);return t};import{u as j}from\"./disk.0ffde448.js\";import{_ as F,c as G,b as ne,j as de}from\"./main.465728e1.js\";import{J as A,B as p,k as S,L as g,M as D,T as R,b1 as Y,a0 as L,r as f,o as y,e as h,h as b,f as r,w as n,t as V,j as E,g as z,U as K,R as ue,a7 as fe,l as N,i as U,aj as ke,ah as me,m as ve,x as Z,u as P,F as ge}from\"./vendor.d12b5734.js\";const ce={props:{isEdit:{type:Boolean,require:!0,default:!1},loading:{type:Boolean,require:!0,default:!1},disks:{type:Array,require:!0,default:Array}},emits:[\"submit\",\"onChangeDisk\"],setup(t,{emit:i}){const a=j(),e=G(),{t:u}=A();let k=p(!1),s=p(!1),l=p(null),d=p(null);const c=S({get:()=>a.selected_driver,set:v=>{a.selected_driver=v,a.dropBoxDiskConfig.selected_driver=v}}),m=S(()=>({dropBoxDiskConfig:{root:{required:g.withMessage(u(\"validation.required\"),D)},key:{required:g.withMessage(u(\"validation.required\"),D)},secret:{required:g.withMessage(u(\"validation.required\"),D)},token:{required:g.withMessage(u(\"validation.required\"),D)},app:{required:g.withMessage(u(\"validation.required\"),D)},selected_driver:{required:g.withMessage(u(\"validation.required\"),D)},name:{required:g.withMessage(u(\"validation.required\"),D)}}})),o=R(m,S(()=>a));Y(()=>{a.dropBoxDiskConfig={name:null,selected_driver:\"dropbox\",token:null,key:null,secret:null,app:null}}),B();async function B(){s.value=!0;let v=L({disk:\"dropbox\"});if(t.isEdit)Object.assign(a.dropBoxDiskConfig,e.data),k.value=e.data.set_as_default,k.value&&(l.value=!0);else{let $=await a.fetchDiskEnv(v);Object.assign(a.dropBoxDiskConfig,$.data)}d.value=t.disks.find($=>$.value==\"dropbox\"),s.value=!1}const M=S(()=>!!(t.isEdit&&k.value&&l.value));async function w(){if(o.value.dropBoxDiskConfig.$touch(),o.value.dropBoxDiskConfig.$invalid)return!0;let v={credentials:a.dropBoxDiskConfig,name:a.dropBoxDiskConfig.name,driver:d.value.value,set_as_default:k.value};return i(\"submit\",v),!1}function I(){i(\"onChangeDisk\",a.dropBoxDiskConfig.selected_driver)}return{v$:o,diskStore:a,selected_driver:c,set_as_default:k,isLoading:s,is_current_disk:l,selected_disk:d,isDisabled:M,loadData:B,submitData:w,onChangeDriver:I}}},De={class:\"px-8 py-6\"},Ce={key:0,class:\"flex items-center mt-6\"},pe={class:\"relative flex items-center w-12\"},_e={class:\"ml-4 right\"},be={class:\"p-0 mb-1 text-base leading-snug text-black box-title\"};function Se(t,i,a,e,u,k){const s=f(\"BaseInput\"),l=f(\"BaseInputGroup\"),d=f(\"BaseMultiselect\"),c=f(\"BaseInputGrid\"),m=f(\"BaseSwitch\");return y(),h(\"form\",{onSubmit:i[15]||(i[15]=K((...o)=>e.submitData&&e.submitData(...o),[\"prevent\"]))},[b(\"div\",De,[r(c,null,{default:n(()=>[r(l,{label:t.$t(\"settings.disk.name\"),error:e.v$.dropBoxDiskConfig.name.$error&&e.v$.dropBoxDiskConfig.name.$errors[0].$message,required:\"\"},{default:n(()=>[r(s,{modelValue:e.diskStore.dropBoxDiskConfig.name,\"onUpdate:modelValue\":i[0]||(i[0]=o=>e.diskStore.dropBoxDiskConfig.name=o),type:\"text\",name:\"name\",invalid:e.v$.dropBoxDiskConfig.name.$error,onInput:i[1]||(i[1]=o=>e.v$.dropBoxDiskConfig.name.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"]),r(l,{label:t.$t(\"settings.disk.driver\"),error:e.v$.dropBoxDiskConfig.selected_driver.$error&&e.v$.dropBoxDiskConfig.selected_driver.$errors[0].$message,required:\"\"},{default:n(()=>[r(d,{modelValue:e.selected_driver,\"onUpdate:modelValue\":[i[2]||(i[2]=o=>e.selected_driver=o),i[3]||(i[3]=o=>e.onChangeDriver(t.data))],invalid:e.v$.dropBoxDiskConfig.selected_driver.$error,\"value-prop\":\"value\",options:a.disks,searchable:\"\",label:\"name\",\"can-deselect\":!1},null,8,[\"modelValue\",\"invalid\",\"options\"])]),_:1},8,[\"label\",\"error\"]),r(l,{label:t.$t(\"settings.disk.dropbox_root\"),error:e.v$.dropBoxDiskConfig.root.$error&&e.v$.dropBoxDiskConfig.root.$errors[0].$message,required:\"\"},{default:n(()=>[r(s,{modelValue:e.diskStore.dropBoxDiskConfig.root,\"onUpdate:modelValue\":i[4]||(i[4]=o=>e.diskStore.dropBoxDiskConfig.root=o),modelModifiers:{trim:!0},type:\"text\",name:\"name\",placeholder:\"Ex. /user/root/\",invalid:e.v$.dropBoxDiskConfig.root.$error,onInput:i[5]||(i[5]=o=>e.v$.dropBoxDiskConfig.root.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"]),r(l,{label:t.$t(\"settings.disk.dropbox_token\"),error:e.v$.dropBoxDiskConfig.token.$error&&e.v$.dropBoxDiskConfig.token.$errors[0].$message,required:\"\"},{default:n(()=>[r(s,{modelValue:e.diskStore.dropBoxDiskConfig.token,\"onUpdate:modelValue\":i[6]||(i[6]=o=>e.diskStore.dropBoxDiskConfig.token=o),modelModifiers:{trim:!0},type:\"text\",name:\"name\",invalid:e.v$.dropBoxDiskConfig.token.$error,onInput:i[7]||(i[7]=o=>e.v$.dropBoxDiskConfig.token.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"]),r(l,{label:t.$t(\"settings.disk.dropbox_key\"),error:e.v$.dropBoxDiskConfig.key.$error&&e.v$.dropBoxDiskConfig.key.$errors[0].$message,required:\"\"},{default:n(()=>[r(s,{modelValue:e.diskStore.dropBoxDiskConfig.key,\"onUpdate:modelValue\":i[8]||(i[8]=o=>e.diskStore.dropBoxDiskConfig.key=o),modelModifiers:{trim:!0},type:\"text\",name:\"name\",placeholder:\"Ex. KEIS4S39SERSDS\",invalid:e.v$.dropBoxDiskConfig.key.$error,onInput:i[9]||(i[9]=o=>e.v$.dropBoxDiskConfig.key.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"]),r(l,{label:t.$t(\"settings.disk.dropbox_secret\"),error:e.v$.dropBoxDiskConfig.secret.$error&&e.v$.dropBoxDiskConfig.secret.$errors[0].$message,required:\"\"},{default:n(()=>[r(s,{modelValue:e.diskStore.dropBoxDiskConfig.secret,\"onUpdate:modelValue\":i[10]||(i[10]=o=>e.diskStore.dropBoxDiskConfig.secret=o),modelModifiers:{trim:!0},type:\"text\",name:\"name\",placeholder:\"Ex. ********\",invalid:e.v$.dropBoxDiskConfig.secret.$error,onInput:i[11]||(i[11]=o=>e.v$.dropBoxDiskConfig.secret.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"]),r(l,{label:t.$t(\"settings.disk.dropbox_app\"),error:e.v$.dropBoxDiskConfig.app.$error&&e.v$.dropBoxDiskConfig.app.$errors[0].$message,required:\"\"},{default:n(()=>[r(s,{modelValue:e.diskStore.dropBoxDiskConfig.app,\"onUpdate:modelValue\":i[12]||(i[12]=o=>e.diskStore.dropBoxDiskConfig.app=o),modelModifiers:{trim:!0},type:\"text\",name:\"name\",invalid:e.v$.dropBoxDiskConfig.app.$error,onInput:i[13]||(i[13]=o=>e.v$.dropBoxDiskConfig.app.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"])]),_:1}),e.isDisabled?E(\"\",!0):(y(),h(\"div\",Ce,[b(\"div\",pe,[r(m,{modelValue:e.set_as_default,\"onUpdate:modelValue\":i[14]||(i[14]=o=>e.set_as_default=o),class:\"flex\"},null,8,[\"modelValue\"])]),b(\"div\",_e,[b(\"p\",be,V(t.$t(\"settings.disk.is_default\")),1)])]))]),z(t.$slots,\"default\",{diskData:{isLoading:e.isLoading,submitData:e.submitData}})],32)}var $e=F(ce,[[\"render\",Se]]);const ye={props:{isEdit:{type:Boolean,require:!0,default:!1},loading:{type:Boolean,require:!0,default:!1},disks:{type:Array,require:!0,default:Array}},emits:[\"submit\",\"onChangeDisk\"],setup(t,{emit:i}){const a=j(),e=G(),{t:u}=A();let k=p(!1),s=p(!1),l=p(\"\"),d=p(null);const c=S({get:()=>a.selected_driver,set:v=>{a.selected_driver=v,a.localDiskConfig.selected_driver=v}}),m=S(()=>({localDiskConfig:{name:{required:g.withMessage(u(\"validation.required\"),D)},selected_driver:{required:g.withMessage(u(\"validation.required\"),D)},root:{required:g.withMessage(u(\"validation.required\"),D)}}})),o=R(m,S(()=>a));Y(()=>{a.localDiskConfig={name:null,selected_driver:\"local\",root:null}}),B();async function B(){k.value=!0;let v=L({disk:\"local\"});if(t.isEdit)Object.assign(a.localDiskConfig,e.data),a.localDiskConfig.root=e.data.credentials,s.value=e.data.set_as_default,s.value&&(d.value=!0);else{let $=await a.fetchDiskEnv(v);Object.assign(a.localDiskConfig,$.data)}l.value=t.disks.find($=>$.value==\"local\"),k.value=!1}const M=S(()=>!!(t.isEdit&&s.value&&d.value));async function w(){if(o.value.localDiskConfig.$touch(),o.value.localDiskConfig.$invalid)return!0;let v=L({credentials:a.localDiskConfig.root,name:a.localDiskConfig.name,driver:a.localDiskConfig.selected_driver,set_as_default:s.value});return i(\"submit\",v),!1}function I(){i(\"onChangeDisk\",a.localDiskConfig.selected_driver)}return{v$:o,diskStore:a,modalStore:e,selected_driver:c,selected_disk:l,isLoading:k,set_as_default:s,is_current_disk:d,submitData:w,onChangeDriver:I,isDisabled:M}}},Be={class:\"px-4 sm:px-8 py-6\"},xe={key:0,class:\"flex items-center mt-6\"},Ve={class:\"relative flex items-center w-12\"},qe={class:\"ml-4 right\"},Me={class:\"p-0 mb-1 text-base leading-snug text-black box-title\"};function we(t,i,a,e,u,k){const s=f(\"BaseInput\"),l=f(\"BaseInputGroup\"),d=f(\"BaseMultiselect\"),c=f(\"BaseInputGrid\"),m=f(\"BaseSwitch\");return y(),h(\"form\",{action:\"\",onSubmit:i[7]||(i[7]=K((...o)=>e.submitData&&e.submitData(...o),[\"prevent\"]))},[b(\"div\",Be,[r(c,null,{default:n(()=>[r(l,{label:t.$t(\"settings.disk.name\"),error:e.v$.localDiskConfig.name.$error&&e.v$.localDiskConfig.name.$errors[0].$message,required:\"\"},{default:n(()=>[r(s,{modelValue:e.diskStore.localDiskConfig.name,\"onUpdate:modelValue\":i[0]||(i[0]=o=>e.diskStore.localDiskConfig.name=o),type:\"text\",name:\"name\",invalid:e.v$.localDiskConfig.name.$error,onInput:i[1]||(i[1]=o=>e.v$.localDiskConfig.name.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"]),r(l,{label:t.$tc(\"settings.disk.driver\"),error:e.v$.localDiskConfig.selected_driver.$error&&e.v$.localDiskConfig.selected_driver.$errors[0].$message,required:\"\"},{default:n(()=>[r(d,{modelValue:e.selected_driver,\"onUpdate:modelValue\":[i[2]||(i[2]=o=>e.selected_driver=o),i[3]||(i[3]=o=>e.onChangeDriver(t.data))],\"value-prop\":\"value\",invalid:e.v$.localDiskConfig.selected_driver.$error,options:a.disks,searchable:\"\",label:\"name\",\"can-deselect\":!1},null,8,[\"modelValue\",\"invalid\",\"options\"])]),_:1},8,[\"label\",\"error\"]),r(l,{label:t.$t(\"settings.disk.local_root\"),error:e.v$.localDiskConfig.root.$error&&e.v$.localDiskConfig.root.$errors[0].$message,required:\"\"},{default:n(()=>[r(s,{modelValue:e.diskStore.localDiskConfig.root,\"onUpdate:modelValue\":i[4]||(i[4]=o=>e.diskStore.localDiskConfig.root=o),modelModifiers:{trim:!0},type:\"text\",name:\"name\",invalid:e.v$.localDiskConfig.root.$error,placeholder:\"Ex./user/root/\",onInput:i[5]||(i[5]=o=>e.v$.localDiskConfig.root.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"])]),_:1}),e.isDisabled?E(\"\",!0):(y(),h(\"div\",xe,[b(\"div\",Ve,[r(m,{modelValue:e.set_as_default,\"onUpdate:modelValue\":i[6]||(i[6]=o=>e.set_as_default=o),class:\"flex\"},null,8,[\"modelValue\"])]),b(\"div\",qe,[b(\"p\",Me,V(t.$t(\"settings.disk.is_default\")),1)])]))]),z(t.$slots,\"default\",{diskData:{isLoading:e.isLoading,submitData:e.submitData}})],32)}var Ie=F(ye,[[\"render\",we]]);const he={props:{isEdit:{type:Boolean,require:!0,default:!1},loading:{type:Boolean,require:!0,default:!1},disks:{type:Array,require:!0,default:Array}},emits:[\"submit\",\"onChangeDisk\"],setup(t,{emit:i}){const a=j(),e=G(),{t:u}=A();let k=p(!1),s=p(!1),l=p(null),d=p(null);const c=S({get:()=>a.selected_driver,set:v=>{a.selected_driver=v,a.s3DiskConfigData.selected_driver=v}}),m=S(()=>({s3DiskConfigData:{name:{required:g.withMessage(u(\"validation.required\"),D)},root:{required:g.withMessage(u(\"validation.required\"),D)},key:{required:g.withMessage(u(\"validation.required\"),D)},secret:{required:g.withMessage(u(\"validation.required\"),D)},region:{required:g.withMessage(u(\"validation.required\"),D)},bucket:{required:g.withMessage(u(\"validation.required\"),D)},selected_driver:{required:g.withMessage(u(\"validation.required\"),D)}}})),o=R(m,S(()=>a));Y(()=>{a.s3DiskConfigData={name:null,selected_driver:\"s3\",key:null,secret:null,region:null,bucket:null,root:null}}),B();async function B(){s.value=!0;let v=L({disk:\"s3\"});if(t.isEdit)Object.assign(a.s3DiskConfigData,e.data),k.value=e.data.set_as_default,k.value&&(d.value=!0);else{let $=await a.fetchDiskEnv(v);Object.assign(a.s3DiskConfigData,$.data)}l.value=t.disks.find($=>$.value==\"s3\"),s.value=!1}const M=S(()=>!!(t.isEdit&&k.value&&d.value));async function w(){if(o.value.s3DiskConfigData.$touch(),o.value.s3DiskConfigData.$invalid)return!0;let v={credentials:a.s3DiskConfigData,name:a.s3DiskConfigData.name,driver:l.value.value,set_as_default:k.value};return i(\"submit\",v),!1}function I(){i(\"onChangeDisk\",a.s3DiskConfigData.selected_driver)}return{v$:o,diskStore:a,modalStore:e,set_as_default:k,isLoading:s,selected_disk:l,selected_driver:c,is_current_disk:d,loadData:B,submitData:w,onChangeDriver:I,isDisabled:M}}},Ee={class:\"px-8 py-6\"},Ue={key:0,class:\"flex items-center mt-6\"},Le={class:\"relative flex items-center w-12\"},Ne={class:\"ml-4 right\"},je={class:\"p-0 mb-1 text-base leading-snug text-black box-title\"};function Ge(t,i,a,e,u,k){const s=f(\"BaseInput\"),l=f(\"BaseInputGroup\"),d=f(\"BaseMultiselect\"),c=f(\"BaseInputGrid\"),m=f(\"BaseSwitch\");return y(),h(\"form\",{onSubmit:i[15]||(i[15]=K((...o)=>e.submitData&&e.submitData(...o),[\"prevent\"]))},[b(\"div\",Ee,[r(c,null,{default:n(()=>[r(l,{label:t.$t(\"settings.disk.name\"),error:e.v$.s3DiskConfigData.name.$error&&e.v$.s3DiskConfigData.name.$errors[0].$message,required:\"\"},{default:n(()=>[r(s,{modelValue:e.diskStore.s3DiskConfigData.name,\"onUpdate:modelValue\":i[0]||(i[0]=o=>e.diskStore.s3DiskConfigData.name=o),type:\"text\",name:\"name\",invalid:e.v$.s3DiskConfigData.name.$error,onInput:i[1]||(i[1]=o=>e.v$.s3DiskConfigData.name.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"]),r(l,{label:t.$tc(\"settings.disk.driver\"),error:e.v$.s3DiskConfigData.selected_driver.$error&&e.v$.s3DiskConfigData.selected_driver.$errors[0].$message,required:\"\"},{default:n(()=>[r(d,{modelValue:e.selected_driver,\"onUpdate:modelValue\":[i[2]||(i[2]=o=>e.selected_driver=o),i[3]||(i[3]=o=>e.onChangeDriver(t.data))],invalid:e.v$.s3DiskConfigData.selected_driver.$error,\"value-prop\":\"value\",options:a.disks,searchable:\"\",label:\"name\",\"can-deselect\":!1},null,8,[\"modelValue\",\"invalid\",\"options\"])]),_:1},8,[\"label\",\"error\"]),r(l,{label:t.$t(\"settings.disk.aws_root\"),error:e.v$.s3DiskConfigData.root.$error&&e.v$.s3DiskConfigData.root.$errors[0].$message,required:\"\"},{default:n(()=>[r(s,{modelValue:e.diskStore.s3DiskConfigData.root,\"onUpdate:modelValue\":i[4]||(i[4]=o=>e.diskStore.s3DiskConfigData.root=o),modelModifiers:{trim:!0},type:\"text\",name:\"name\",placeholder:\"Ex. /user/root/\",invalid:e.v$.s3DiskConfigData.root.$error,onInput:i[5]||(i[5]=o=>e.v$.s3DiskConfigData.root.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"]),r(l,{label:t.$t(\"settings.disk.aws_key\"),error:e.v$.s3DiskConfigData.key.$error&&e.v$.s3DiskConfigData.key.$errors[0].$message,required:\"\"},{default:n(()=>[r(s,{modelValue:e.diskStore.s3DiskConfigData.key,\"onUpdate:modelValue\":i[6]||(i[6]=o=>e.diskStore.s3DiskConfigData.key=o),modelModifiers:{trim:!0},type:\"text\",name:\"name\",placeholder:\"Ex. KEIS4S39SERSDS\",invalid:e.v$.s3DiskConfigData.key.$error,onInput:i[7]||(i[7]=o=>e.v$.s3DiskConfigData.key.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"]),r(l,{label:t.$t(\"settings.disk.aws_secret\"),error:e.v$.s3DiskConfigData.secret.$error&&e.v$.s3DiskConfigData.secret.$errors[0].$message,required:\"\"},{default:n(()=>[r(s,{modelValue:e.diskStore.s3DiskConfigData.secret,\"onUpdate:modelValue\":i[8]||(i[8]=o=>e.diskStore.s3DiskConfigData.secret=o),modelModifiers:{trim:!0},type:\"text\",name:\"name\",placeholder:\"Ex. ********\",invalid:e.v$.s3DiskConfigData.secret.$error,onInput:i[9]||(i[9]=o=>e.v$.s3DiskConfigData.secret.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"]),r(l,{label:t.$t(\"settings.disk.aws_region\"),error:e.v$.s3DiskConfigData.region.$error&&e.v$.s3DiskConfigData.region.$errors[0].$message,required:\"\"},{default:n(()=>[r(s,{modelValue:e.diskStore.s3DiskConfigData.region,\"onUpdate:modelValue\":i[10]||(i[10]=o=>e.diskStore.s3DiskConfigData.region=o),modelModifiers:{trim:!0},type:\"text\",name:\"name\",placeholder:\"Ex. us-west\",invalid:e.v$.s3DiskConfigData.region.$error,onInput:i[11]||(i[11]=o=>e.v$.s3DiskConfigData.region.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"]),r(l,{label:t.$t(\"settings.disk.aws_bucket\"),error:e.v$.s3DiskConfigData.bucket.$error&&e.v$.s3DiskConfigData.bucket.$errors[0].$message,required:\"\"},{default:n(()=>[r(s,{modelValue:e.diskStore.s3DiskConfigData.bucket,\"onUpdate:modelValue\":i[12]||(i[12]=o=>e.diskStore.s3DiskConfigData.bucket=o),modelModifiers:{trim:!0},type:\"text\",name:\"name\",placeholder:\"Ex. AppName\",invalid:e.v$.s3DiskConfigData.bucket.$error,onInput:i[13]||(i[13]=o=>e.v$.s3DiskConfigData.bucket.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"])]),_:1}),e.isDisabled?E(\"\",!0):(y(),h(\"div\",Ue,[b(\"div\",Le,[r(m,{modelValue:e.set_as_default,\"onUpdate:modelValue\":i[14]||(i[14]=o=>e.set_as_default=o),class:\"flex\"},null,8,[\"modelValue\"])]),b(\"div\",Ne,[b(\"p\",je,V(t.$t(\"settings.disk.is_default\")),1)])]))]),z(t.$slots,\"default\",{diskData:{isLoading:e.isLoading,submitData:e.submitData}})],32)}var Oe=F(he,[[\"render\",Ge]]);const Fe={props:{isEdit:{type:Boolean,require:!0,default:!1},loading:{type:Boolean,require:!0,default:!1},disks:{type:Array,require:!0,default:Array}},emits:[\"submit\",\"onChangeDisk\"],setup(t,{emit:i}){const a=j(),e=G(),{t:u}=A();let k=p(!1),s=p(!1),l=p(\"\"),d=p(null);const c=S({get:()=>a.selected_driver,set:v=>{a.selected_driver=v,a.doSpaceDiskConfig.selected_driver=v}}),m=S(()=>({doSpaceDiskConfig:{root:{required:g.withMessage(u(\"validation.required\"),D)},key:{required:g.withMessage(u(\"validation.required\"),D)},secret:{required:g.withMessage(u(\"validation.required\"),D)},region:{required:g.withMessage(u(\"validation.required\"),D)},endpoint:{required:g.withMessage(u(\"validation.required\"),D),url:g.withMessage(u(\"validation.invalid_url\"),ue)},bucket:{required:g.withMessage(u(\"validation.required\"),D)},selected_driver:{required:g.withMessage(u(\"validation.required\"),D)},name:{required:g.withMessage(u(\"validation.required\"),D)}}})),o=R(m,S(()=>a));Y(()=>{a.doSpaceDiskConfig={name:null,selected_driver:\"doSpaces\",key:null,secret:null,region:null,bucket:null,endpoint:null,root:null}}),B();async function B(){k.value=!0;let v=L({disk:\"doSpaces\"});if(t.isEdit)Object.assign(a.doSpaceDiskConfig,JSON.parse(e.data.credentials)),s.value=e.data.set_as_default,s.value&&(d.value=!0);else{let $=await a.fetchDiskEnv(v);Object.assign(a.doSpaceDiskConfig,$.data)}l.value=t.disks.find($=>$.value==\"doSpaces\"),k.value=!1}const M=S(()=>!!(t.isEdit&&s.value&&d.value));async function w(){if(o.value.doSpaceDiskConfig.$touch(),o.value.doSpaceDiskConfig.$invalid)return!0;let v={credentials:a.doSpaceDiskConfig,name:a.doSpaceDiskConfig.name,driver:l.value.value,set_as_default:s.value};return i(\"submit\",v),!1}function I(){i(\"onChangeDisk\",a.doSpaceDiskConfig.selected_driver)}return{v$:o,diskStore:a,selected_driver:c,isLoading:k,set_as_default:s,selected_disk:l,is_current_disk:d,loadData:B,submitData:w,onChangeDriver:I,isDisabled:M}}},Ae={class:\"px-8 py-6\"},Te={key:0,class:\"flex items-center mt-6\"},Re={class:\"relative flex items-center w-12\"},Ye={class:\"ml-4 right\"},ze={class:\"p-0 mb-1 text-base leading-snug text-black box-title\"};function Ke(t,i,a,e,u,k){const s=f(\"BaseInput\"),l=f(\"BaseInputGroup\"),d=f(\"BaseMultiselect\"),c=f(\"BaseInputGrid\"),m=f(\"BaseSwitch\");return y(),h(\"form\",{onSubmit:i[17]||(i[17]=K((...o)=>e.submitData&&e.submitData(...o),[\"prevent\"]))},[b(\"div\",Ae,[r(c,null,{default:n(()=>[r(l,{label:t.$t(\"settings.disk.name\"),error:e.v$.doSpaceDiskConfig.name.$error&&e.v$.doSpaceDiskConfig.name.$errors[0].$message,required:\"\"},{default:n(()=>[r(s,{modelValue:e.diskStore.doSpaceDiskConfig.name,\"onUpdate:modelValue\":i[0]||(i[0]=o=>e.diskStore.doSpaceDiskConfig.name=o),type:\"text\",name:\"name\",invalid:e.v$.doSpaceDiskConfig.name.$error,onInput:i[1]||(i[1]=o=>e.v$.doSpaceDiskConfig.name.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"]),r(l,{label:t.$tc(\"settings.disk.driver\"),error:e.v$.doSpaceDiskConfig.selected_driver.$error&&e.v$.doSpaceDiskConfig.selected_driver.$errors[0].$message,required:\"\"},{default:n(()=>[r(d,{modelValue:e.selected_driver,\"onUpdate:modelValue\":[i[2]||(i[2]=o=>e.selected_driver=o),i[3]||(i[3]=o=>e.onChangeDriver(t.data))],invalid:e.v$.doSpaceDiskConfig.selected_driver.$error,\"value-prop\":\"value\",options:a.disks,searchable:\"\",label:\"name\",\"can-deselect\":!1,\"track-by\":\"name\"},null,8,[\"modelValue\",\"invalid\",\"options\"])]),_:1},8,[\"label\",\"error\"]),r(l,{label:t.$t(\"settings.disk.do_spaces_root\"),error:e.v$.doSpaceDiskConfig.root.$error&&e.v$.doSpaceDiskConfig.root.$errors[0].$message,required:\"\"},{default:n(()=>[r(s,{modelValue:e.diskStore.doSpaceDiskConfig.root,\"onUpdate:modelValue\":i[4]||(i[4]=o=>e.diskStore.doSpaceDiskConfig.root=o),modelModifiers:{trim:!0},type:\"text\",name:\"name\",placeholder:\"Ex. /user/root/\",invalid:e.v$.doSpaceDiskConfig.root.$error,onInput:i[5]||(i[5]=o=>e.v$.doSpaceDiskConfig.root.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"]),r(l,{label:t.$t(\"settings.disk.do_spaces_key\"),error:e.v$.doSpaceDiskConfig.key.$error&&e.v$.doSpaceDiskConfig.key.$errors[0].$message,required:\"\"},{default:n(()=>[r(s,{modelValue:e.diskStore.doSpaceDiskConfig.key,\"onUpdate:modelValue\":i[6]||(i[6]=o=>e.diskStore.doSpaceDiskConfig.key=o),modelModifiers:{trim:!0},type:\"text\",name:\"name\",placeholder:\"Ex. KEIS4S39SERSDS\",invalid:e.v$.doSpaceDiskConfig.key.$error,onInput:i[7]||(i[7]=o=>e.v$.doSpaceDiskConfig.key.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"]),r(l,{label:t.$t(\"settings.disk.do_spaces_secret\"),error:e.v$.doSpaceDiskConfig.secret.$error&&e.v$.doSpaceDiskConfig.secret.$errors[0].$message,required:\"\"},{default:n(()=>[r(s,{modelValue:e.diskStore.doSpaceDiskConfig.secret,\"onUpdate:modelValue\":i[8]||(i[8]=o=>e.diskStore.doSpaceDiskConfig.secret=o),modelModifiers:{trim:!0},type:\"text\",name:\"name\",placeholder:\"Ex. ********\",invalid:e.v$.doSpaceDiskConfig.secret.$error,onInput:i[9]||(i[9]=o=>e.v$.doSpaceDiskConfig.secret.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"]),r(l,{label:t.$t(\"settings.disk.do_spaces_region\"),error:e.v$.doSpaceDiskConfig.region.$error&&e.v$.doSpaceDiskConfig.region.$errors[0].$message,required:\"\"},{default:n(()=>[r(s,{modelValue:e.diskStore.doSpaceDiskConfig.region,\"onUpdate:modelValue\":i[10]||(i[10]=o=>e.diskStore.doSpaceDiskConfig.region=o),modelModifiers:{trim:!0},type:\"text\",name:\"name\",placeholder:\"Ex. nyc3\",invalid:e.v$.doSpaceDiskConfig.region.$error,onInput:i[11]||(i[11]=o=>e.v$.doSpaceDiskConfig.region.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"]),r(l,{label:t.$t(\"settings.disk.do_spaces_endpoint\"),error:e.v$.doSpaceDiskConfig.endpoint.$error&&e.v$.doSpaceDiskConfig.endpoint.$errors[0].$message,required:\"\"},{default:n(()=>[r(s,{modelValue:e.diskStore.doSpaceDiskConfig.endpoint,\"onUpdate:modelValue\":i[12]||(i[12]=o=>e.diskStore.doSpaceDiskConfig.endpoint=o),modelModifiers:{trim:!0},type:\"text\",name:\"name\",placeholder:\"Ex. https://nyc3.digitaloceanspaces.com\",invalid:e.v$.doSpaceDiskConfig.endpoint.$error,onInput:i[13]||(i[13]=o=>e.v$.doSpaceDiskConfig.endpoint.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"]),r(l,{label:t.$t(\"settings.disk.do_spaces_bucket\"),error:e.v$.doSpaceDiskConfig.bucket.$error&&e.v$.doSpaceDiskConfig.bucket.$errors[0].$message,required:\"\"},{default:n(()=>[r(s,{modelValue:e.diskStore.doSpaceDiskConfig.bucket,\"onUpdate:modelValue\":i[14]||(i[14]=o=>e.diskStore.doSpaceDiskConfig.bucket=o),modelModifiers:{trim:!0},type:\"text\",name:\"name\",placeholder:\"Ex. my-new-space\",invalid:e.v$.doSpaceDiskConfig.bucket.$error,onInput:i[15]||(i[15]=o=>e.v$.doSpaceDiskConfig.bucket.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"])]),_:1}),e.isDisabled?E(\"\",!0):(y(),h(\"div\",Te,[b(\"div\",Re,[r(m,{modelValue:e.set_as_default,\"onUpdate:modelValue\":i[16]||(i[16]=o=>e.set_as_default=o),class:\"flex\"},null,8,[\"modelValue\"])]),b(\"div\",Ye,[b(\"p\",ze,V(t.$t(\"settings.disk.is_default\")),1)])]))]),z(t.$slots,\"default\",{diskData:{isLoading:e.isLoading,submitData:e.submitData}})],32)}var Pe=F(Fe,[[\"render\",Ke]]);const Je={components:{Dropbox:$e,Local:Ie,S3:Oe,DoSpaces:Pe},setup(){const t=j(),i=G();let a=p(!1),e=p(!1);fe(()=>{i.id&&(e.value=!0)});const u=S(()=>i.active&&i.componentName===\"FileDiskModal\");function k(m){return m&&(m.diskData.isLoading.value||a.value)}async function s(){a.value=!0;let m=await t.fetchDiskDrivers();e.value?t.selected_driver=i.data.driver:t.selected_driver=m.data.drivers[0].value,a.value=!1}async function l(m){Object.assign(t.diskConfigData,m),a.value=!0;let o=W({id:i.id},m);await(e.value?t.updateDisk:t.createDisk)(o),a.value=!1,i.refreshData(),d()}function d(){i.closeModal()}function c(m){t.selected_driver=m,t.diskConfigData.selected_driver=m}return{isEdit:e,createNewDisk:l,isRequestFire:k,diskStore:t,closeDiskModal:d,loadData:s,diskChange:c,modalStore:i,isLoading:a,modalActive:u}}},He={class:\"flex justify-between w-full\"},Xe={class:\"file-disk-modal\"},Qe={class:\"z-0 flex justify-end p-4 border-t border-solid border-gray-light\"};function We(t,i,a,e,u,k){const s=f(\"BaseIcon\"),l=f(\"BaseButton\"),d=f(\"BaseModal\");return y(),N(d,{show:e.modalActive,onClose:e.closeDiskModal,onOpen:e.loadData},{header:n(()=>[b(\"div\",He,[U(V(e.modalStore.title)+\" \",1),r(s,{name:\"XIcon\",class:\"h-6 w-6 text-gray-500 cursor-pointer\",onClick:e.closeDiskModal},null,8,[\"onClick\"])])]),default:n(()=>[b(\"div\",Xe,[(y(),N(ke(e.diskStore.selected_driver),{loading:e.isLoading,disks:e.diskStore.getDiskDrivers,\"is-edit\":e.isEdit,onOnChangeDisk:i[0]||(i[0]=c=>e.diskChange(c)),onSubmit:e.createNewDisk},{default:n(c=>[b(\"div\",Qe,[r(l,{class:\"mr-3 text-sm\",variant:\"primary-outline\",type:\"button\",onClick:e.closeDiskModal},{default:n(()=>[U(V(t.$t(\"general.cancel\")),1)]),_:1},8,[\"onClick\"]),r(l,{loading:e.isRequestFire(c),disabled:e.isRequestFire(c),variant:\"primary\",type:\"submit\"},{default:n(()=>[e.isRequestFire(c)?E(\"\",!0):(y(),N(s,{key:0,name:\"SaveIcon\",class:\"w-6 mr-2\"})),U(\" \"+V(t.$t(\"general.save\")),1)]),_:2},1032,[\"loading\",\"disabled\"])])]),_:1},8,[\"loading\",\"disks\",\"is-edit\",\"onSubmit\"]))])]),_:1},8,[\"show\",\"onClose\",\"onOpen\"])}var Ze=F(Je,[[\"render\",We]]);const ei={class:\"inline-block\"},ri={setup(t){const i=me(\"utils\"),a=G(),e=j(),u=ne(),k=de(),{t:s}=A();let l=p(!1),d=p(\"\");const c=S(()=>[{key:\"name\",label:s(\"settings.disk.disk_name\"),thClass:\"extra\",tdClass:\"font-medium text-gray-900\"},{key:\"driver\",label:s(\"settings.disk.filesystem_driver\"),thClass:\"extra\",tdClass:\"font-medium text-gray-900\"},{key:\"type\",label:s(\"settings.disk.disk_type\"),thClass:\"extra\",tdClass:\"font-medium text-gray-900\"},{key:\"set_as_default\",label:s(\"settings.disk.is_default\"),thClass:\"extra\",tdClass:\"font-medium text-gray-900\"},{key:\"actions\",label:\"\",tdClass:\"text-right text-sm font-medium\",sortable:!1}]),m=p(u.selectedCompanySettings.save_pdf_to_disk),o=S({get:()=>m.value===\"YES\",set:async C=>{const q=C?\"YES\":\"NO\";let x={settings:{save_pdf_to_disk:q}};m.value=q,await u.updateCompanySettings({data:x,message:\"general.setting_updated\"})}});async function B({page:C,filter:q,sort:x}){let J=L({orderByField:x.fieldName||\"created_at\",orderBy:x.order||\"desc\",page:C}),O=await e.fetchDisks(J);return{data:O.data.data,pagination:{totalPages:O.data.meta.last_page,currentPage:C,totalCount:O.data.meta.total}}}function M(C){return C.set_as_default?!(C.type==\"SYSTEM\"&&C.set_as_default):!0}function w(){a.openModal({title:s(\"settings.disk.new_disk\"),componentName:\"FileDiskModal\",variant:\"lg\",refreshData:d.value&&d.value.refresh})}function I(C){a.openModal({title:s(\"settings.disk.edit_file_disk\"),componentName:\"FileDiskModal\",variant:\"lg\",id:C.id,data:C,refreshData:d.value&&d.value.refresh})}function v(C){k.openDialog({title:s(\"general.are_you_sure\"),message:s(\"settings.disk.set_default_disk_confirm\"),yesLabel:s(\"general.ok\"),noLabel:s(\"general.cancel\"),variant:\"primary\",hideNoButton:!1,size:\"lg\"}).then(async q=>{if(q){l.value=!0;let x=L({set_as_default:!0,id:C});await e.updateDisk(x).then(()=>{d.value&&d.value.refresh()})}})}function $(C){k.openDialog({title:s(\"general.are_you_sure\"),message:s(\"settings.disk.confirm_delete\"),yesLabel:s(\"general.ok\"),noLabel:s(\"general.cancel\"),variant:\"danger\",hideNoButton:!1,size:\"lg\"}).then(async q=>{if(q&&(await e.deleteFileDisk(C)).data.success)return d.value&&d.value.refresh(),!0})}return(C,q)=>{const x=f(\"BaseIcon\"),J=f(\"BaseButton\"),O=f(\"BaseBadge\"),H=f(\"BaseDropdownItem\"),ee=f(\"BaseDropdown\"),ie=f(\"BaseTable\"),oe=f(\"BaseDivider\"),ae=f(\"BaseSwitchSection\"),te=f(\"BaseSettingCard\");return y(),h(ge,null,[r(Ze),r(te,{title:C.$tc(\"settings.disk.title\",1),description:C.$t(\"settings.disk.description\")},{action:n(()=>[r(J,{variant:\"primary-outline\",onClick:w},{left:n(_=>[r(x,{class:ve(_.class),name:\"PlusIcon\"},null,8,[\"class\"])]),default:n(()=>[U(\" \"+V(C.$t(\"settings.disk.new_disk\")),1)]),_:1})]),default:n(()=>[r(ie,{ref:(_,T)=>{T.table=_,Z(d)?d.value=_:d=_},class:\"mt-16\",data:B,columns:P(c)},{\"cell-set_as_default\":n(({row:_})=>[r(O,{\"bg-color\":P(i).getBadgeStatusColor(_.data.set_as_default?\"YES\":\"NO\").bgColor,color:P(i).getBadgeStatusColor(_.data.set_as_default?\"YES\":\"NO\").color},{default:n(()=>[U(V(_.data.set_as_default?\"Yes\":\"No\".replace(\"_\",\" \")),1)]),_:2},1032,[\"bg-color\",\"color\"])]),\"cell-actions\":n(({row:_})=>[M(_.data)?(y(),N(ee,{key:0},{activator:n(()=>[b(\"div\",ei,[r(x,{name:\"DotsHorizontalIcon\",class:\"text-gray-500\"})])]),default:n(()=>[_.data.set_as_default?E(\"\",!0):(y(),N(H,{key:0,onClick:T=>v(_.data.id)},{default:n(()=>[r(x,{class:\"mr-3 tetx-gray-600\",name:\"CheckCircleIcon\"}),U(\" \"+V(C.$t(\"settings.disk.set_default_disk\")),1)]),_:2},1032,[\"onClick\"])),_.data.type!==\"SYSTEM\"?(y(),N(H,{key:1,onClick:T=>I(_.data)},{default:n(()=>[r(x,{name:\"PencilIcon\",class:\"mr-3 text-gray-600\"}),U(\" \"+V(C.$t(\"general.edit\")),1)]),_:2},1032,[\"onClick\"])):E(\"\",!0),_.data.type!==\"SYSTEM\"&&!_.data.set_as_default?(y(),N(H,{key:2,onClick:T=>$(_.data.id)},{default:n(()=>[r(x,{name:\"TrashIcon\",class:\"mr-3 text-gray-600\"}),U(\" \"+V(C.$t(\"general.delete\")),1)]),_:2},1032,[\"onClick\"])):E(\"\",!0)]),_:2},1024)):E(\"\",!0)]),_:1},8,[\"columns\"]),r(oe,{class:\"mt-8 mb-2\"}),r(ae,{modelValue:P(o),\"onUpdate:modelValue\":q[0]||(q[0]=_=>Z(o)?o.value=_:null),title:C.$t(\"settings.disk.save_pdf_to_disk\"),description:C.$t(\"settings.disk.disk_setting_description\")},null,8,[\"modelValue\",\"title\",\"description\"])]),_:1},8,[\"title\",\"description\"])],64)}}};export{ri as default};\n"
  },
  {
    "path": "public/build/assets/ForgotPassword.5c338168.js",
    "content": "var M=Object.defineProperty,j=Object.defineProperties;var G=Object.getOwnPropertyDescriptors;var h=Object.getOwnPropertySymbols;var N=Object.prototype.hasOwnProperty,C=Object.prototype.propertyIsEnumerable;var b=(a,e,t)=>e in a?M(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,B=(a,e)=>{for(var t in e||(e={}))N.call(e,t)&&b(a,t,e[t]);if(h)for(var t of h(e))C.call(e,t)&&b(a,t,e[t]);return a},$=(a,e)=>j(a,G(e));import{J as D,G as L,a0 as T,B as y,k as U,L as k,M as A,Q as E,T as F,r as u,o as c,e as p,f as m,w as v,u as r,t as _,h as J,i as P,U as Q}from\"./vendor.d12b5734.js\";import{u as R}from\"./auth.c88ceb4c.js\";import\"./main.465728e1.js\";const z=[\"onSubmit\"],H={key:0},K={key:1},O={class:\"mt-4 mb-4 text-sm\"},ee={setup(a){const e=R(),{t}=D(),S=L(),l=T({email:\"\",company:\"\"}),f=y(!1),n=y(!1),V=U(()=>({email:{required:k.withMessage(t(\"validation.required\"),A),email:k.withMessage(t(\"validation.email_incorrect\"),E)}})),o=F(V,l);function w(i){if(o.value.$touch(),o.value.$invalid)return!0;n.value=!0;let s=$(B({},l),{company:S.params.company});e.forgotPassword(s).then(d=>{n.value=!1}).catch(d=>{n.value=!1}),f.value=!0}return(i,s)=>{const d=u(\"BaseInput\"),I=u(\"BaseInputGroup\"),q=u(\"BaseButton\"),x=u(\"router-link\");return c(),p(\"form\",{id:\"loginForm\",onSubmit:Q(w,[\"prevent\"])},[m(I,{error:r(o).email.$error&&r(o).email.$errors[0].$message,label:i.$t(\"login.enter_email\"),class:\"mb-4\",required:\"\"},{default:v(()=>[m(d,{modelValue:r(l).email,\"onUpdate:modelValue\":s[0]||(s[0]=g=>r(l).email=g),type:\"email\",name:\"email\",invalid:r(o).email.$error,onInput:s[1]||(s[1]=g=>r(o).email.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"error\",\"label\"]),m(q,{loading:n.value,disabled:n.value,type:\"submit\",variant:\"primary\"},{default:v(()=>[f.value?(c(),p(\"div\",K,_(i.$t(\"validation.not_yet\")),1)):(c(),p(\"div\",H,_(i.$t(\"validation.send_reset_link\")),1))]),_:1},8,[\"loading\",\"disabled\"]),J(\"div\",O,[m(x,{to:\"login\",class:\"text-sm text-primary-400 hover:text-gray-700\"},{default:v(()=>[P(_(i.$t(\"general.back_to_login\")),1)]),_:1})])],40,z)}}};export{ee as default};\n"
  },
  {
    "path": "public/build/assets/ForgotPassword.cb7a698c.js",
    "content": "import{J as w,a0 as S,B as _,L as f,M as V,Q as I,T as x,r as n,o as l,e as u,f as r,w as m,u as t,t as d,h as M,i as N,U as q,a as j}from\"./vendor.d12b5734.js\";import{u as C,h as D}from\"./main.465728e1.js\";const E=[\"onSubmit\"],G={key:0},L={key:1},T={class:\"mt-4 mb-4 text-sm\"},Q={setup(U){const g=C(),{t:c}=w(),i=S({email:\"\"}),p=_(!1),o=_(!1),h={email:{required:f.withMessage(c(\"validation.required\"),V),email:f.withMessage(c(\"validation.email_incorrect\"),I)}},a=x(h,i);async function y(s){if(a.value.$touch(),!a.value.$invalid)try{o.value=!0,(await j.post(\"/api/v1/auth/password/email\",i)).data&&g.showNotification({type:\"success\",message:\"Mail sent successfully\"}),p.value=!0,o.value=!1}catch(e){D(e),o.value=!1}}return(s,e)=>{const $=n(\"BaseInput\"),b=n(\"BaseInputGroup\"),B=n(\"BaseButton\"),k=n(\"router-link\");return l(),u(\"form\",{id:\"loginForm\",onSubmit:q(y,[\"prevent\"])},[r(b,{error:t(a).email.$error&&t(a).email.$errors[0].$message,label:s.$t(\"login.enter_email\"),class:\"mb-4\",required:\"\"},{default:m(()=>[r($,{modelValue:t(i).email,\"onUpdate:modelValue\":e[0]||(e[0]=v=>t(i).email=v),invalid:t(a).email.$error,focus:\"\",type:\"email\",name:\"email\",onInput:e[1]||(e[1]=v=>t(a).email.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"error\",\"label\"]),r(B,{loading:o.value,disabled:o.value,type:\"submit\",variant:\"primary\"},{default:m(()=>[p.value?(l(),u(\"div\",L,d(s.$t(\"validation.not_yet\")),1)):(l(),u(\"div\",G,d(s.$t(\"validation.send_reset_link\")),1))]),_:1},8,[\"loading\",\"disabled\"]),M(\"div\",T,[r(k,{to:\"/login\",class:\"text-sm text-primary-400 hover:text-gray-700\"},{default:m(()=>[N(d(s.$t(\"general.back_to_login\")),1)]),_:1})])],40,E)}}};export{Q as default};\n"
  },
  {
    "path": "public/build/assets/Index.0d95203a.js",
    "content": "import{J as z,G as ue,aN as me,ah as H,r as o,o as m,l as C,w as t,u as a,f as l,i as g,t as y,j as M,e as pe,h as n,m as u,B as Z,a0 as Ce,k as A,aR as fe,aS as he,q as P,ag as U,V as ye,x as ve}from\"./vendor.d12b5734.js\";import{j as G,u as W,p as O,e as q,g as L,b as _e}from\"./main.465728e1.js\";const ge={props:{row:{type:Object,default:null},table:{type:Object,default:null},loadData:{type:Function,default:null}},setup(i){const r=i,F=G();W();const{t:B}=z(),b=O(),f=ue();me();const _=q();H(\"utils\");function I(d){F.openDialog({title:B(\"general.are_you_sure\"),message:B(\"items.confirm_delete\"),yesLabel:B(\"general.ok\"),noLabel:B(\"general.cancel\"),variant:\"danger\",hideNoButton:!1,size:\"lg\"}).then(p=>{p&&b.deleteItem({ids:[d]}).then(v=>(v.data.success&&r.loadData&&r.loadData(),!0))})}return(d,p)=>{const v=o(\"BaseIcon\"),w=o(\"BaseButton\"),$=o(\"BaseDropdownItem\"),D=o(\"router-link\"),E=o(\"BaseDropdown\");return m(),C(E,null,{activator:t(()=>[a(f).name===\"items.view\"?(m(),C(w,{key:0,variant:\"primary\"},{default:t(()=>[l(v,{name:\"DotsHorizontalIcon\",class:\"h-5 text-white\"})]),_:1})):(m(),C(v,{key:1,name:\"DotsHorizontalIcon\",class:\"h-5 text-gray-500\"}))]),default:t(()=>[a(_).hasAbilities(a(L).EDIT_ITEM)?(m(),C(D,{key:0,to:`/admin/items/${i.row.id}/edit`},{default:t(()=>[l($,null,{default:t(()=>[l(v,{name:\"PencilIcon\",class:\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"}),g(\" \"+y(d.$t(\"general.edit\")),1)]),_:1})]),_:1},8,[\"to\"])):M(\"\",!0),a(_).hasAbilities(a(L).DELETE_ITEM)?(m(),C($,{key:1,onClick:p[0]||(p[0]=j=>I(i.row.id))},{default:t(()=>[l(v,{name:\"TrashIcon\",class:\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"}),g(\" \"+y(d.$t(\"general.delete\")),1)]),_:1})):M(\"\",!0)]),_:1})}}},Be={width:\"110\",height:\"110\",viewBox:\"0 0 110 110\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\"},Le={\"clip-path\":\"url(#clip0)\"},be=n(\"defs\",null,[n(\"clipPath\",{id:\"clip0\"},[n(\"rect\",{width:\"110\",height:\"110\",fill:\"white\"})])],-1),Ie={props:{primaryFillColor:{type:String,default:\"fill-primary-500\"},secondaryFillColor:{type:String,default:\"fill-gray-600\"}},setup(i){return(r,F)=>(m(),pe(\"svg\",Be,[n(\"g\",Le,[n(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M5.76398 22.9512L4.54883 21.7361L21.7363 4.54858L22.9515 5.76374L5.76398 22.9512Z\",class:u(i.secondaryFillColor)},null,2),n(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M88.264 105.451L87.0488 104.236L104.236 87.0486L105.451 88.2637L88.264 105.451Z\",class:u(i.secondaryFillColor)},null,2),n(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M29.8265 81.3887L28.6113 80.1736L38.9238 69.8611L40.139 71.0762L29.8265 81.3887Z\",class:u(i.primaryFillColor)},null,2),n(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M30.9375 81.6406C30.9375 83.0637 29.7825 84.2188 28.3594 84.2188C26.9362 84.2188 25.7812 83.0637 25.7812 81.6406C25.7812 80.2175 26.9362 79.0625 28.3594 79.0625C29.7825 79.0625 30.9375 80.2175 30.9375 81.6406Z\",class:u(i.primaryFillColor)},null,2),n(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M77.3435 61.5801C76.4635 61.5801 75.5835 61.9152 74.9132 62.5873L62.5863 74.9124C61.244 76.2548 61.244 78.4324 62.5863 79.7748L92.8123 110.001L110 92.8132L79.7738 62.5873C79.1035 61.9152 78.2235 61.5801 77.3435 61.5801ZM77.3435 63.2988C77.8024 63.2988 78.2338 63.4776 78.5587 63.8024L107.569 92.8132L92.8123 107.569L63.8015 78.5596C63.4767 78.2348 63.2979 77.8034 63.2979 77.3445C63.2979 76.8838 63.4767 76.4524 63.8015 76.1276L76.1284 63.8024C76.4532 63.4776 76.8846 63.2988 77.3435 63.2988Z\",class:u(i.secondaryFillColor)},null,2),n(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M17.1875 0L0 17.1875L30.2259 47.4134C30.8963 48.0838 31.7763 48.4206 32.6562 48.4206C33.5363 48.4206 34.4162 48.0838 35.0866 47.4134L47.4134 35.0866C48.7558 33.7442 48.7558 31.5683 47.4134 30.2259L17.1875 0ZM17.1875 2.43031L46.1983 31.4411C46.5231 31.7659 46.7019 32.1973 46.7019 32.6562C46.7019 33.1152 46.5231 33.5466 46.1983 33.8714L33.8714 46.1983C33.5466 46.5231 33.1152 46.7019 32.6562 46.7019C32.1973 46.7019 31.7659 46.5231 31.4411 46.1983L2.43031 17.1875L17.1875 2.43031Z\",class:u(i.secondaryFillColor)},null,2),n(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M60.156 28.9238C59.276 28.9238 58.396 29.259 57.7257 29.931L29.9301 57.7249C28.5878 59.0673 28.5878 61.2449 29.9301 62.5873L47.4132 80.0687C48.0835 80.7407 48.9635 81.0759 49.8435 81.0759C50.7235 81.0759 51.6035 80.7407 52.2738 80.0687L80.0695 52.2748C81.4118 50.9324 81.4118 48.7548 80.0695 47.4124L62.5863 29.931C61.916 29.259 61.036 28.9238 60.156 28.9238ZM60.156 30.6426C60.6149 30.6426 61.0463 30.8213 61.3712 31.1462L78.8543 48.6276C79.1792 48.9524 79.3579 49.3838 79.3579 49.8445C79.3579 50.3034 79.1792 50.7348 78.8543 51.0596L51.0587 78.8535C50.7338 79.1784 50.3024 79.3571 49.8435 79.3571C49.3846 79.3571 48.9532 79.1784 48.6284 78.8535L31.1453 61.3721C30.8204 61.0473 30.6417 60.6159 30.6417 60.157C30.6417 59.6963 30.8204 59.2649 31.1453 58.9401L58.9409 31.1462C59.2657 30.8213 59.6971 30.6426 60.156 30.6426Z\",class:u(i.secondaryFillColor)},null,2),n(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M71.0765 40.1387L69.8613 38.9236L72.4395 36.3455L73.6546 37.5606L71.0765 40.1387Z\",class:u(i.secondaryFillColor)},null,2),n(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M72.9858 24.8608C69.6291 28.2176 69.6291 33.6574 72.9858 37.0141C74.6633 38.6916 76.8633 39.5321 79.0633 39.5321C81.2616 39.5321 83.4616 38.6916 85.1391 37.0141L72.9858 24.8608ZM73.1388 27.4441L82.5558 36.8612C81.5091 37.4816 80.3111 37.8133 79.0633 37.8133C77.226 37.8133 75.5003 37.0966 74.201 35.799C72.9033 34.4996 72.1883 32.774 72.1883 30.9383C72.1883 29.6888 72.5183 28.4908 73.1388 27.4441Z\",class:u(i.secondaryFillColor)},null,2),n(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M86.1459 32.0051C85.9259 32.0051 85.7059 31.9209 85.5374 31.7542C85.2023 31.4173 85.2023 30.8742 85.5374 30.5373C86.3504 29.7261 86.7973 28.6467 86.7973 27.5003C86.7973 26.3522 86.3504 25.2728 85.5374 24.4615C83.9149 22.839 81.0859 22.839 79.4616 24.4615C79.1265 24.7984 78.5834 24.7984 78.2465 24.4615C77.9113 24.1264 77.9113 23.5833 78.2465 23.2464C80.5187 20.9742 84.4821 20.9742 86.7543 23.2464C87.8904 24.3825 88.516 25.8933 88.516 27.5003C88.516 29.1073 87.8904 30.6181 86.7543 31.7542C86.5859 31.9209 86.3659 32.0051 86.1459 32.0051Z\",class:u(i.primaryFillColor)},null,2),n(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M89.792 35.6514C89.572 35.6514 89.352 35.5672 89.1836 35.4004C88.8484 35.0636 88.8484 34.5204 89.1836 34.1836C90.9711 32.3978 91.9525 30.0259 91.9525 27.4994C91.9525 24.9745 90.9711 22.6009 89.1836 20.8151C87.3978 19.0294 85.0259 18.0462 82.4994 18.0462C79.9745 18.0462 77.6009 19.0294 75.8152 20.8151C75.48 21.1503 74.9352 21.1503 74.6 20.8151C74.2648 20.48 74.2648 19.9351 74.6 19.6C78.9553 15.2447 86.0434 15.2447 90.4005 19.6C94.7558 23.9553 94.7558 31.0434 90.4005 35.4004C90.232 35.5672 90.012 35.6514 89.792 35.6514Z\",class:u(i.primaryFillColor)},null,2),n(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M93.4379 39.297C93.2179 39.297 92.9979 39.2128 92.8295 39.0461C92.4944 38.7092 92.4944 38.1661 92.8295 37.8292C95.5898 35.0706 97.1092 31.4028 97.1092 27.4995C97.1092 23.5979 95.5898 19.9284 92.8295 17.1698C90.0709 14.4112 86.4031 12.8901 82.4998 12.8901C78.5983 12.8901 74.9287 14.4112 72.1701 17.1698C71.835 17.505 71.2901 17.505 70.955 17.1698C70.6198 16.8347 70.6198 16.2898 70.955 15.9547C74.0384 12.8712 78.1394 11.1714 82.4998 11.1714C86.862 11.1714 90.9612 12.8712 94.0464 15.9547C97.1298 19.0381 98.8279 23.139 98.8279 27.4995C98.8279 31.8617 97.1298 35.9609 94.0464 39.0461C93.8779 39.2128 93.6579 39.297 93.4379 39.297Z\",class:u(i.primaryFillColor)},null,2),n(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M39.7832 40.9981L8.8457 10.0606L10.0609 8.84546L40.9984 39.783L39.7832 40.9981Z\",class:u(i.primaryFillColor)},null,2),n(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M99.9395 101.154L69.002 70.2169L70.2171 69.0017L101.155 99.9392L99.9395 101.154Z\",class:u(i.primaryFillColor)},null,2)]),be]))}},we={class:\"flex items-center justify-end space-x-5\"},ke={class:\"relative table-container\"},Me={class:\"relative flex items-center justify-end h-5 border-gray-200 border-solid\"},Fe={class:\"flex text-sm font-medium cursor-pointer select-none text-primary-400\"},$e={class:\"absolute items-center left-6 top-2.5 select-none\"},De={class:\"relative block\"},Se={setup(i){H(\"utils\");const r=O(),F=_e();W();const B=G(),b=q(),{t:f}=z();let _=Z(!1),I=Z(!0);const d=Ce({name:\"\",unit_id:\"\",price:\"\"}),p=Z(null),v=A(()=>!r.totalItems&&!I.value),w=A({get:()=>r.selectedItems,set:s=>r.selectItem(s)}),$=A(()=>[{key:\"status\",thClass:\"extra w-10\",tdClass:\"font-medium text-gray-900\",placeholderClass:\"w-10\",sortable:!1},{key:\"name\",label:f(\"items.name\"),thClass:\"extra\",tdClass:\"font-medium text-gray-900\"},{key:\"unit_name\",label:f(\"items.unit\")},{key:\"price\",label:f(\"items.price\")},{key:\"created_at\",label:f(\"items.added_on\")},{key:\"actions\",thClass:\"text-right\",tdClass:\"text-right text-sm font-medium\",sortable:!1}]);fe(d,()=>{J()},{debounce:500}),r.fetchItemUnits({limit:\"all\"}),he(()=>{r.selectAllField&&r.selectAllItems()});function D(){d.name=\"\",d.unit_id=\"\",d.price=\"\"}function E(){return b.hasAbilities([L.DELETE_ITEM,L.EDIT_ITEM])}function j(){_.value&&D(),_.value=!_.value}function N(){p.value&&p.value.refresh()}function J(){N()}async function X(s){return(await r.fetchItemUnits({search:s})).data.data}async function K({page:s,filter:c,sort:k}){let V={search:d.name,unit_id:d.unit_id!==null?d.unit_id:\"\",price:Math.round(d.price*100),orderByField:k.fieldName||\"created_at\",orderBy:k.order||\"desc\",page:s};I.value=!0;let h=await r.fetchItems(V);return I.value=!1,{data:h.data.data,pagination:{totalPages:h.data.meta.last_page,currentPage:s,totalCount:h.data.meta.total,limit:10}}}function Q(){B.openDialog({title:f(\"general.are_you_sure\"),message:f(\"items.confirm_delete\",2),yesLabel:f(\"general.ok\"),noLabel:f(\"general.cancel\"),variant:\"danger\",hideNoButton:!1,size:\"lg\"}).then(s=>{s&&r.deleteMultipleItems().then(c=>{c.data.success&&p.value&&p.value.refresh()})})}return(s,c)=>{const k=o(\"BaseBreadcrumbItem\"),V=o(\"BaseBreadcrumb\"),h=o(\"BaseIcon\"),S=o(\"BaseButton\"),Y=o(\"BasePageHeader\"),ee=o(\"BaseInput\"),x=o(\"BaseInputGroup\"),te=o(\"BaseMultiselect\"),le=o(\"BaseMoney\"),ae=o(\"BaseFilterWrapper\"),ne=o(\"BaseEmptyPlaceholder\"),se=o(\"BaseDropdownItem\"),oe=o(\"BaseDropdown\"),R=o(\"BaseCheckbox\"),ie=o(\"router-link\"),re=o(\"BaseFormatMoney\"),de=o(\"BaseTable\"),ce=o(\"BasePage\");return m(),C(ce,null,{default:t(()=>[l(Y,{title:s.$t(\"items.title\")},{actions:t(()=>[n(\"div\",we,[P(l(S,{variant:\"primary-outline\",onClick:j},{right:t(e=>[a(_)?(m(),C(h,{key:1,name:\"XIcon\",class:u(e.class)},null,8,[\"class\"])):(m(),C(h,{key:0,class:u(e.class),name:\"FilterIcon\"},null,8,[\"class\"]))]),default:t(()=>[g(y(s.$t(\"general.filter\"))+\" \",1)]),_:1},512),[[U,a(r).totalItems]]),a(b).hasAbilities(a(L).CREATE_ITEM)?(m(),C(S,{key:0,onClick:c[0]||(c[0]=e=>s.$router.push(\"/admin/items/create\"))},{left:t(e=>[l(h,{name:\"PlusIcon\",class:u(e.class)},null,8,[\"class\"])]),default:t(()=>[g(\" \"+y(s.$t(\"items.add_item\")),1)]),_:1})):M(\"\",!0)])]),default:t(()=>[l(V,null,{default:t(()=>[l(k,{title:s.$t(\"general.home\"),to:\"dashboard\"},null,8,[\"title\"]),l(k,{title:s.$tc(\"items.item\",2),to:\"#\",active:\"\"},null,8,[\"title\"])]),_:1})]),_:1},8,[\"title\"]),l(ae,{show:a(_),class:\"mt-5\",onClear:D},{default:t(()=>[l(x,{label:s.$tc(\"items.name\"),class:\"text-left\"},{default:t(()=>[l(ee,{modelValue:a(d).name,\"onUpdate:modelValue\":c[1]||(c[1]=e=>a(d).name=e),type:\"text\",name:\"name\",autocomplete:\"off\"},null,8,[\"modelValue\"])]),_:1},8,[\"label\"]),l(x,{label:s.$tc(\"items.unit\"),class:\"text-left\"},{default:t(()=>[l(te,{modelValue:a(d).unit_id,\"onUpdate:modelValue\":c[2]||(c[2]=e=>a(d).unit_id=e),placeholder:s.$t(\"items.select_a_unit\"),\"value-prop\":\"id\",\"track-by\":\"name\",\"filter-results\":!1,label:\"name\",\"resolve-on-load\":\"\",delay:500,searchable:\"\",class:\"w-full\",options:X},null,8,[\"modelValue\",\"placeholder\"])]),_:1},8,[\"label\"]),l(x,{class:\"text-left\",label:s.$tc(\"items.price\")},{default:t(()=>[l(le,{modelValue:a(d).price,\"onUpdate:modelValue\":c[3]||(c[3]=e=>a(d).price=e)},null,8,[\"modelValue\"])]),_:1},8,[\"label\"])]),_:1},8,[\"show\"]),P(l(ne,{title:s.$t(\"items.no_items\"),description:s.$t(\"items.list_of_items\")},{actions:t(()=>[a(b).hasAbilities(a(L).CREATE_ITEM)?(m(),C(S,{key:0,variant:\"primary-outline\",onClick:c[4]||(c[4]=e=>s.$router.push(\"/admin/items/create\"))},{left:t(e=>[l(h,{name:\"PlusIcon\",class:u(e.class)},null,8,[\"class\"])]),default:t(()=>[g(\" \"+y(s.$t(\"items.add_new_item\")),1)]),_:1})):M(\"\",!0)]),default:t(()=>[l(Ie,{class:\"mt-5 mb-4\"})]),_:1},8,[\"title\",\"description\"]),[[U,a(v)]]),P(n(\"div\",ke,[n(\"div\",Me,[a(r).selectedItems.length?(m(),C(oe,{key:0},{activator:t(()=>[n(\"span\",Fe,[g(y(s.$t(\"general.actions\"))+\" \",1),l(h,{name:\"ChevronDownIcon\"})])]),default:t(()=>[l(se,{onClick:Q},{default:t(()=>[l(h,{name:\"TrashIcon\",class:\"mr-3 text-gray-600\"}),g(\" \"+y(s.$t(\"general.delete\")),1)]),_:1})]),_:1})):M(\"\",!0)]),l(de,{ref:(e,T)=>{T.table=e,p.value=e},data:K,columns:a($),\"placeholder-count\":a(r).totalItems>=20?10:5,class:\"mt-3\"},ye({header:t(()=>[n(\"div\",$e,[l(R,{modelValue:a(r).selectAllField,\"onUpdate:modelValue\":c[5]||(c[5]=e=>a(r).selectAllField=e),variant:\"primary\",onChange:a(r).selectAllItems},null,8,[\"modelValue\",\"onChange\"])])]),\"cell-status\":t(({row:e})=>[n(\"div\",De,[l(R,{id:e.id,modelValue:a(w),\"onUpdate:modelValue\":c[6]||(c[6]=T=>ve(w)?w.value=T:null),value:e.data.id},null,8,[\"id\",\"modelValue\",\"value\"])])]),\"cell-name\":t(({row:e})=>[l(ie,{to:{path:`items/${e.data.id}/edit`},class:\"font-medium text-primary-500\"},{default:t(()=>[g(y(e.data.name),1)]),_:2},1032,[\"to\"])]),\"cell-unit_name\":t(({row:e})=>[n(\"span\",null,y(e.data.unit?e.data.unit.name:\"-\"),1)]),\"cell-price\":t(({row:e})=>[l(re,{amount:e.data.price,currency:a(F).selectedCompanyCurrency},null,8,[\"amount\",\"currency\"])]),\"cell-created_at\":t(({row:e})=>[n(\"span\",null,y(e.data.formatted_created_at),1)]),_:2},[E()?{name:\"cell-actions\",fn:t(({row:e})=>[l(ge,{row:e.data,table:p.value,\"load-data\":N},null,8,[\"row\",\"table\"])])}:void 0]),1032,[\"columns\",\"placeholder-count\"])],512),[[U,!a(v)]])]),_:1})}}};export{Se as default};\n"
  },
  {
    "path": "public/build/assets/Index.113c6776.js",
    "content": "import{J as I,k as v,r as l,o as n,e as i,t as c,j as y,h as t,f as e,u as r,l as $,w as u,B as k,L as j,M as J,N as O,T as K,F as Q,y as W,U as X,m as Y,i as P}from\"./vendor.d12b5734.js\";import{_ as Z,r as ee,d as te}from\"./main.465728e1.js\";const se={key:0,class:\"absolute mt-5 px-6 w-full flex justify-end\"},ae={key:0,class:\"bg-white bg-opacity-75 text-xs px-3 py-1 font-semibold tracking-wide rounded\"},ne={key:1,class:\"ml-2 bg-white bg-opacity-75 text-xs px-3 py-1 font-semibold tracking-wide rounded\"},oe={key:0},le={key:1},re=[\"src\"],ie={class:\"px-6 py-5 flex flex-col bg-gray-50 flex-1 justify-between\"},de={class:\"text-lg sm:text-2xl font-medium whitespace-nowrap truncate text-primary-500\"},ce={key:0,class:\"flex items-center mt-2\"},ue=[\"src\"],me=t(\"span\",null,\"by\",-1),_e={class:\"ml-2 text-base font-semibold truncate\"},he={class:\"flex justify-between mt-4 flex-col space-y-2 sm:space-y-0 sm:flex-row\"},pe={class:\"text-xl md:text-2xl font-semibold whitespace-nowrap text-primary-500\"},fe={props:{data:{type:Object,default:null,required:!0}},setup(a){const o=a;I();let m=v(()=>parseInt(o.data.average_rating));return(d,_)=>{const h=l(\"base-text\"),g=l(\"BaseRating\");return n(),i(\"div\",{class:\"relative shadow-md border-2 border-gray-200 border-opacity-60 rounded-lg cursor-pointer overflow-hidden h-100\",onClick:_[0]||(_[0]=w=>d.$router.push(`/admin/modules/${a.data.slug}`))},[a.data.purchased?(n(),i(\"div\",se,[a.data.purchased?(n(),i(\"label\",ae,c(d.$t(\"modules.purchased\")),1)):y(\"\",!0),a.data.installed?(n(),i(\"label\",ne,[a.data.update_available?(n(),i(\"span\",oe,c(d.$t(\"modules.update_available\")),1)):(n(),i(\"span\",le,c(d.$t(\"modules.installed\")),1))])):y(\"\",!0)])):y(\"\",!0),t(\"img\",{class:\"lg:h-64 md:h-48 w-full object-cover object-center\",src:a.data.cover,alt:\"cover\"},null,8,re),t(\"div\",ie,[t(\"span\",de,c(a.data.name),1),a.data.author_avatar?(n(),i(\"div\",ce,[t(\"img\",{class:\"hidden h-10 w-10 rounded-full sm:inline-block mr-2\",src:a.data.author_avatar?a.data.author_avatar:\"http://localhost:3000/img/default-avatar.jpg\",alt:\"\"},null,8,ue),me,t(\"span\",_e,c(a.data.author_name),1)])):y(\"\",!0),e(h,{text:a.data.short_description,class:\"pt-4 text-gray-500 h-16 line-clamp-2\",length:110},null,8,[\"text\"]),t(\"div\",he,[t(\"div\",null,[e(g,{rating:r(m)},null,8,[\"rating\"])]),t(\"div\",pe,\" $ \"+c(a.data.monthly_price?a.data.monthly_price/100:a.data.yearly_price/100),1)])])])}}},ge={},ve={class:\"shadow-md border-2 border-gray-200 border-opacity-60 rounded-lg cursor-pointer overflow-hidden h-100\"},be={class:\"px-6 py-5 flex flex-col bg-gray-50 flex-1 justify-between\"},ye={class:\"flex items-center mt-2\"},xe={class:\"flex justify-between mt-4 flex-col space-y-2 sm:space-y-0 sm:flex-row\"};function $e(a,o){const m=l(\"BaseContentPlaceholdersBox\"),d=l(\"BaseContentPlaceholdersText\"),_=l(\"BaseContentPlaceholders\");return n(),$(_,null,{default:u(()=>[t(\"div\",ve,[e(m,{class:\"h-48 lg:h-64 md:h-48 w-full\",rounded:\"\"}),t(\"div\",be,[e(d,{class:\"w-32 h-8\",lines:1,rounded:\"\"}),t(\"div\",ye,[e(m,{class:\"h-10 w-10 rounded-full sm:inline-block mr-2\"}),t(\"div\",null,[e(d,{class:\"w-32 h-8 ml-2\",lines:1,rounded:\"\"})])]),e(d,{class:\"pt-4 w-full h-16\",lines:1,rounded:\"\"}),t(\"div\",xe,[e(d,{class:\"w-32 h-8\",lines:1,rounded:\"\"}),e(d,{class:\"w-32 h-8\",lines:1,rounded:\"\"})])])])]),_:1})}var B=Z(ge,[[\"render\",$e]]);const ke={key:0},Be={key:0,class:\"grid mt-6 w-full grid-cols-1 items-start gap-6 lg:grid-cols-2 xl:grid-cols-3\"},we={key:1},Te={key:0,class:\"grid mt-6 w-full grid-cols-1 items-start gap-6 lg:grid-cols-2 xl:grid-cols-3\"},Ce={key:1,class:\"mt-24\"},Se={class:\"flex items-center justify-center text-gray-500\"},Ie={class:\"text-gray-900 text-lg font-medium\"},je={class:\"mt-1 text-sm text-gray-500\"},Pe={class:\"grid lg:grid-cols-2 mt-6\"},Me=[\"onSubmit\"],Le={class:\"flex space-x-2\"},Ue=[\"href\"],Ve=P(\" Sign up & Get Token \"),Ae={setup(a){const o=ee(),m=te(),d=k(\"\"),{t:_}=I();let h=k(!1),g=k(!1);const w=v(()=>({api_token:{required:j.withMessage(_(\"validation.required\"),J),minLength:j.withMessage(_(\"validation.name_min_length\",{count:3}),O(3))}})),M=v(()=>o.apiToken?(L(),!0):!1),p=K(w,v(()=>o.currentUser)),x=v(()=>d.value===\"INSTALLED\"?o.modules.filter(s=>s.installed):o.modules);async function L(){g.value=!0,await o.fetchModules().then(()=>{g.value=!1})}async function U(){if(p.value.$touch(),p.value.$invalid)return!0;h.value=!0,o.checkApiToken(o.currentUser.api_token).then(s=>{if(s.data.success){V();return}h.value=!1})}async function V(){try{await m.updateGlobalSettings({data:{settings:{api_token:o.currentUser.api_token}},message:\"settings.preferences.updated_message\"}).then(s=>{if(s.data.success){o.apiToken=o.currentUser.api_token;return}}),h.value=!1}catch(s){h.value=!1,console.error(s);return}}function G(s){d.value=s.filter}return(s,b)=>{const T=l(\"BaseBreadcrumbItem\"),N=l(\"BaseBreadcrumb\"),A=l(\"BasePageHeader\"),C=l(\"BaseTab\"),q=l(\"BaseTabGroup\"),D=l(\"BaseInput\"),F=l(\"BaseInputGroup\"),E=l(\"BaseIcon\"),S=l(\"BaseButton\"),R=l(\"BaseCard\"),H=l(\"BasePage\");return n(),$(H,null,{default:u(()=>[e(A,{title:s.$t(\"modules.title\")},{default:u(()=>[e(N,null,{default:u(()=>[e(T,{title:s.$t(\"general.home\"),to:\"dashboard\"},null,8,[\"title\"]),e(T,{title:s.$tc(\"modules.module\",2),to:\"#\",active:\"\"},null,8,[\"title\"])]),_:1})]),_:1},8,[\"title\"]),r(M)&&r(o).modules?(n(),i(\"div\",ke,[e(q,{class:\"-mb-5\",onChange:G},{default:u(()=>[e(C,{title:s.$t(\"general.all\"),filter:\"\"},null,8,[\"title\"]),e(C,{title:s.$t(\"modules.installed\"),filter:\"INSTALLED\"},null,8,[\"title\"])]),_:1}),r(g)?(n(),i(\"div\",Be,[e(B),e(B),e(B)])):(n(),i(\"div\",we,[r(x)&&r(x).length?(n(),i(\"div\",Te,[(n(!0),i(Q,null,W(r(x),(f,z)=>(n(),i(\"div\",{key:z},[e(fe,{data:f},null,8,[\"data\"])]))),128))])):(n(),i(\"div\",Ce,[t(\"label\",Se,c(s.$t(\"modules.no_modules_installed\")),1)]))]))])):(n(),$(R,{key:1,class:\"mt-6\"},{default:u(()=>[t(\"h6\",Ie,c(s.$t(\"modules.connect_installation\")),1),t(\"p\",je,c(s.$t(\"modules.api_token_description\",{url:r(m).config.base_url.replace(/^http:\\/\\//,\"\")})),1),t(\"div\",Pe,[t(\"form\",{action:\"\",class:\"mt-6\",onSubmit:X(U,[\"prevent\"])},[e(F,{label:s.$t(\"modules.api_token\"),required:\"\",error:r(p).api_token.$error&&r(p).api_token.$errors[0].$message},{default:u(()=>[e(D,{modelValue:r(o).currentUser.api_token,\"onUpdate:modelValue\":b[0]||(b[0]=f=>r(o).currentUser.api_token=f),invalid:r(p).api_token.$error,onInput:b[1]||(b[1]=f=>r(p).api_token.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"]),t(\"div\",Le,[e(S,{class:\"mt-6\",loading:r(h),type:\"submit\"},{left:u(f=>[e(E,{name:\"SaveIcon\",class:Y(f.class)},null,8,[\"class\"])]),default:u(()=>[P(\" \"+c(s.$t(\"general.save\")),1)]),_:1},8,[\"loading\"]),t(\"a\",{href:`${r(m).config.base_url}/auth/customer/register`,class:\"mt-6 block\",target:\"_blank\"},[e(S,{variant:\"primary-outline\",type:\"button\"},{default:u(()=>[Ve]),_:1})],8,Ue)])],40,Me)])]),_:1}))]),_:1})}}};export{Ae as default};\n"
  },
  {
    "path": "public/build/assets/Index.17f3f1bc.js",
    "content": "import{J as A,B as b,a0 as K,ah as O,G as Q,k as I,aR as Y,r as o,o as B,l as h,w as t,f as n,q as P,ag as C,u as l,m as M,i as v,t as c,j as Z,h as g,x as ee}from\"./vendor.d12b5734.js\";import te from\"./BaseTable.ec8995dc.js\";import{_ as ae}from\"./CapsuleIcon.37dfa933.js\";import{x as ne,w as le}from\"./main.465728e1.js\";import{u as oe}from\"./payment.e5b74251.js\";import{u as se}from\"./global.dc565c4e.js\";import\"./auth.c88ceb4c.js\";const me={class:\"relative table-container\"},re=[\"innerHTML\"],Be={setup(ce){const{tm:ue,t:u}=A();let i=b(!1);b(\"created_at\");let $=b(!0),y=b(null);const s=K({payment_mode:\"\",payment_number:\"\"}),D=O(\"utils\");Q();const p=oe(),_=se(),w=I(()=>!p.totalPayments&&!$.value),H=I(()=>_.currency),N=I(()=>[{key:\"payment_date\",label:u(\"payments.date\"),thClass:\"extra\",tdClass:\"font-medium text-gray-900\"},{key:\"payment_number\",label:u(\"payments.payment_number\")},{key:\"payment_mode\",label:u(\"payments.payment_mode\")},{key:\"invoice_number\",label:u(\"invoices.invoice_number\")},{key:\"amount\",label:u(\"payments.amount\")},{key:\"actions\",label:\"\",tdClass:\"text-right text-sm font-medium\",sortable:!1}]);Y(s,()=>{R()},{debounce:500});async function T(a){return(await p.fetchPaymentModes(a,_.companySlug)).data.data}async function E({page:a,filter:r,sort:d}){let k={payment_method_id:s.payment_mode!==null?s.payment_mode:\"\",payment_number:s.payment_number,orderByField:d.fieldName||\"created_at\",orderBy:d.order||\"desc\",page:a};$.value=!0;let m=await p.fetchPayments(k,_.companySlug);return $.value=!1,{data:m.data.data,pagination:{totalPages:m.data.meta.last_page,currentPage:a,totalCount:m.data.meta.total,limit:10}}}function G(){y.value.refresh()}function R(){G()}function S(){s.customer=\"\",s.payment_mode=\"\",s.payment_number=\"\"}function W(){i.value&&S(),i.value=!i.value}return(a,r)=>{const d=o(\"BaseBreadcrumbItem\"),k=o(\"BaseBreadcrumb\"),m=o(\"BaseIcon\"),x=o(\"BaseButton\"),z=o(\"BasePageHeader\"),L=o(\"BaseInput\"),V=o(\"BaseInputGroup\"),U=o(\"BaseMultiselect\"),q=o(\"BaseFilterWrapper\"),J=o(\"BaseEmptyPlaceholder\"),j=o(\"router-link\"),X=o(\"BasePage\");return B(),h(X,null,{default:t(()=>[n(z,{title:a.$t(\"payments.title\")},{actions:t(()=>[P(n(x,{variant:\"primary-outline\",onClick:W},{right:t(e=>[l(i)?(B(),h(m,{key:1,class:M(e.class),name:\"XIcon\"},null,8,[\"class\"])):(B(),h(m,{key:0,class:M(e.class),name:\"FilterIcon\"},null,8,[\"class\"]))]),default:t(()=>[v(c(a.$t(\"general.filter\"))+\" \",1)]),_:1},512),[[C,l(p).totalPayments]])]),default:t(()=>[n(k,{slot:\"breadcrumbs\"},{default:t(()=>[n(d,{title:a.$t(\"general.home\"),to:`/${l(_).companySlug}/customer/dashboard`},null,8,[\"title\",\"to\"]),n(d,{title:a.$tc(\"payments.payment\",2),to:\"#\",active:\"\"},null,8,[\"title\"])]),_:1})]),_:1},8,[\"title\"]),P(n(q,{onClear:S},{default:t(()=>[n(V,{label:a.$t(\"payments.payment_number\"),class:\"px-3\"},{default:t(()=>[n(L,{modelValue:l(s).payment_number,\"onUpdate:modelValue\":r[0]||(r[0]=e=>l(s).payment_number=e),placeholder:a.$t(\"payments.payment_number\")},null,8,[\"modelValue\",\"placeholder\"])]),_:1},8,[\"label\"]),n(V,{label:a.$t(\"payments.payment_mode\"),class:\"px-3\"},{default:t(()=>[n(U,{modelValue:l(s).payment_mode,\"onUpdate:modelValue\":r[1]||(r[1]=e=>l(s).payment_mode=e),\"value-prop\":\"id\",\"track-by\":\"name\",\"filter-results\":!1,label:\"name\",\"resolve-on-load\":\"\",delay:100,searchable:\"\",options:T,placeholder:a.$t(\"payments.payment_mode\")},null,8,[\"modelValue\",\"placeholder\"])]),_:1},8,[\"label\"])]),_:1},512),[[C,l(i)]]),l(w)?(B(),h(J,{key:0,title:a.$t(\"payments.no_payments\"),description:a.$t(\"payments.list_of_payments\")},{default:t(()=>[n(ae,{class:\"mt-5 mb-4\"})]),_:1},8,[\"title\",\"description\"])):Z(\"\",!0),P(g(\"div\",me,[n(te,{ref:(e,f)=>{f.table=e,ee(y)?y.value=e:y=e},data:E,columns:l(N),\"placeholder-count\":l(p).totalPayments>=20?10:5,class:\"mt-10\"},{\"cell-payment_date\":t(({row:e})=>[v(c(e.data.formatted_payment_date),1)]),\"cell-payment_number\":t(({row:e})=>[n(j,{to:{path:`payments/${e.data.id}/view`},class:\"font-medium text-primary-500\"},{default:t(()=>[v(c(e.data.payment_number),1)]),_:2},1032,[\"to\"])]),\"cell-payment_mode\":t(({row:e})=>[g(\"span\",null,c(e.data.payment_method?e.data.payment_method.name:a.$t(\"payments.not_selected\")),1)]),\"cell-invoice_number\":t(({row:e})=>{var f,F;return[g(\"span\",null,c(((f=e.data.invoice)==null?void 0:f.invoice_number)?(F=e.data.invoice)==null?void 0:F.invoice_number:a.$t(\"payments.no_invoice\")),1)]}),\"cell-amount\":t(({row:e})=>[g(\"div\",{innerHTML:l(D).formatMoney(e.data.amount,l(H))},null,8,re)]),\"cell-actions\":t(({row:e})=>[n(ne,null,{activator:t(()=>[n(m,{name:\"DotsHorizontalIcon\",class:\"w-5 text-gray-500\"})]),default:t(()=>[n(j,{to:`payments/${e.data.id}/view`},{default:t(()=>[n(le,null,{default:t(()=>[n(m,{name:\"EyeIcon\",class:\"h-5 mr-3 text-gray-600\"}),v(\" \"+c(a.$t(\"general.view\")),1)]),_:1})]),_:2},1032,[\"to\"])]),_:2},1024)]),_:1},8,[\"columns\",\"placeholder-count\"])],512),[[C,!l(w)]])]),_:1})}}};export{Be as default};\n"
  },
  {
    "path": "public/build/assets/Index.5bf16119.js",
    "content": "var ge=Object.defineProperty,he=Object.defineProperties;var Ce=Object.getOwnPropertyDescriptors;var G=Object.getOwnPropertySymbols;var be=Object.prototype.hasOwnProperty,xe=Object.prototype.propertyIsEnumerable;var W=(r,s,u)=>s in r?ge(r,s,{enumerable:!0,configurable:!0,writable:!0,value:u}):r[s]=u,O=(r,s)=>{for(var u in s||(s={}))be.call(s,u)&&W(r,u,s[u]);if(G)for(var u of G(s))xe.call(s,u)&&W(r,u,s[u]);return r},q=(r,s)=>he(r,Ce(s));import{o as m,e as ve,h as c,m as y,J,G as Be,aN as Ee,ah as ke,r as o,l as _,w as t,u as a,f as l,i as b,t as g,j as I,B as M,a0 as we,k as F,aR as Se,aS as De,D as Ie,q as j,ag as X,V as K,x as U}from\"./vendor.d12b5734.js\";import{u as Q}from\"./expense.ea1e799e.js\";import{u as $e}from\"./category.c88b90cd.js\";import{j as Y,u as Fe,e as ee,g as v,b as Ve}from\"./main.465728e1.js\";const Pe={width:\"110\",height:\"110\",viewBox:\"0 0 110 110\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\"},Le={props:{primaryFillColor:{type:String,default:\"fill-primary-500\"},secondaryFillColor:{type:String,default:\"fill-gray-600\"}},setup(r){return(s,u)=>(m(),ve(\"svg\",Pe,[c(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M55 13.75C24.6245 13.75 0 22.9848 0 34.375C0 45.7652 24.6245 55 55 55C85.3755 55 110 45.7652 110 34.375C110 22.9848 85.3755 13.75 55 13.75ZM55 15.4688C86.8708 15.4688 108.281 25.245 108.281 34.375C108.281 43.505 86.8708 53.2812 55 53.2812C23.1292 53.2812 1.71875 43.505 1.71875 34.375C1.71875 25.245 23.1292 15.4688 55 15.4688Z\",class:y(r.secondaryFillColor)},null,2),c(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M54.9999 1.71875C66.0842 1.71875 75.7452 7.92172 80.697 17.038L82.732 17.2081C77.6737 7.01078 67.1549 0 54.9999 0C42.7985 0 32.2454 7.06406 27.2095 17.3267L29.2479 17.1411C34.1824 7.96812 43.8745 1.71875 54.9999 1.71875Z\",class:y(r.primaryFillColor)},null,2),c(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M55 96.25C40.7619 96.25 25.7812 99.3283 25.7812 103.125C25.7812 106.922 40.7619 110 55 110C69.2381 110 84.2188 106.922 84.2188 103.125C84.2188 99.3283 69.2381 96.25 55 96.25ZM55 97.9688C70.4602 97.9688 81.5959 101.317 82.4811 103.125C81.5959 104.933 70.4602 108.281 55 108.281C39.5398 108.281 28.4041 104.933 27.5189 103.125C28.4041 101.317 39.5398 97.9688 55 97.9688Z\",class:y(r.primaryFillColor)},null,2),c(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M27.4756 103.328L25.8049 102.922L41.2737 39.3286L42.9443 39.7342L27.4756 103.328Z\",class:y(r.primaryFillColor)},null,2),c(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M82.5247 103.328L67.0559 39.7342L68.7265 39.3286L84.1953 102.922L82.5247 103.328Z\",class:y(r.primaryFillColor)},null,2),c(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M68.75 39.5312C68.75 42.3792 62.5934 44.6875 55 44.6875C47.4066 44.6875 41.25 42.3792 41.25 39.5312C41.25 36.6833 47.4066 34.375 55 34.375C62.5934 34.375 68.75 36.6833 68.75 39.5312Z\",class:y(r.secondaryFillColor)},null,2)]))}},Ne={props:{row:{type:Object,default:null},table:{type:Object,default:null},loadData:{type:Function,default:null}},setup(r){const s=r,u=Y();Fe();const{t:B}=J(),E=Q(),w=Be();Ee();const x=ee();ke(\"utils\");function d(h){u.openDialog({title:B(\"general.are_you_sure\"),message:B(\"expenses.confirm_delete\",1),yesLabel:B(\"general.ok\"),noLabel:B(\"general.cancel\"),variant:\"danger\",size:\"lg\",hideNoButton:!1}).then(p=>{p&&E.deleteExpense({ids:[h]}).then(C=>{C&&s.loadData&&s.loadData()})})}return(h,p)=>{const C=o(\"BaseIcon\"),S=o(\"BaseButton\"),k=o(\"BaseDropdownItem\"),V=o(\"router-link\"),P=o(\"BaseDropdown\");return m(),_(P,null,{activator:t(()=>[a(w).name===\"expenses.view\"?(m(),_(S,{key:0,variant:\"primary\"},{default:t(()=>[l(C,{name:\"DotsHorizontalIcon\",class:\"h-5 text-white\"})]),_:1})):(m(),_(C,{key:1,name:\"DotsHorizontalIcon\",class:\"h-5 text-gray-500\"}))]),default:t(()=>[a(x).hasAbilities(a(v).EDIT_EXPENSE)?(m(),_(V,{key:0,to:`/admin/expenses/${r.row.id}/edit`},{default:t(()=>[l(k,null,{default:t(()=>[l(C,{name:\"PencilIcon\",class:\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"}),b(\" \"+g(h.$t(\"general.edit\")),1)]),_:1})]),_:1},8,[\"to\"])):I(\"\",!0),a(x).hasAbilities(a(v).DELETE_EXPENSE)?(m(),_(k,{key:1,onClick:p[0]||(p[0]=Z=>d(r.row.id))},{default:t(()=>[l(C,{name:\"TrashIcon\",class:\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"}),b(\" \"+g(h.$t(\"general.delete\")),1)]),_:1})):I(\"\",!0)]),_:1})}}},Ae=c(\"div\",{class:\"hidden w-8 h-0 mx-4 border border-gray-400 border-solid xl:block\",style:{\"margin-top\":\"1.5rem\"}},null,-1),Te={class:\"relative table-container\"},Me={class:\"relative flex items-center justify-end h-5\"},je={class:\"flex text-sm font-medium cursor-pointer select-none text-primary-400\"},Xe={class:\"absolute items-center left-6 top-2.5 select-none\"},Ue={class:\"relative block\"},Ze={class:\"notes\"},Re={class:\"truncate note w-60\"},qe={setup(r){Ve();const s=Q(),u=Y(),B=$e(),E=ee();let w=M(!0),x=M(null);const d=we({expense_category_id:\"\",from_date:\"\",to_date:\"\",customer_id:\"\"}),{t:h}=J();let p=M(null);const C=F(()=>!s.totalExpenses&&!w.value),S=F({get:()=>s.selectedExpenses,set:n=>s.selectExpense(n)}),k=F({get:()=>s.selectAllField,set:n=>s.setSelectAllState(n)}),V=F(()=>[{key:\"status\",thClass:\"extra w-10\",tdClass:\"font-medium text-gray-900\",placeholderClass:\"w-10\",sortable:!1},{key:\"expense_date\",label:\"Date\",thClass:\"extra\",tdClass:\"font-medium text-gray-900\"},{key:\"name\",label:\"Category\",thClass:\"extra\",tdClass:\"cursor-pointer font-medium text-primary-500\"},{key:\"user_name\",label:\"Customer\"},{key:\"notes\",label:\"Note\"},{key:\"amount\",label:\"Amount\"},{key:\"actions\",sortable:!1,tdClass:\"text-right text-sm font-medium\"}]);Se(d,()=>{te()},{debounce:500}),De(()=>{s.selectAllField&&s.selectAllExpenses()}),Ie(()=>{B.fetchCategories({limit:\"all\"})});async function P(n){return(await B.fetchCategories({search:n})).data.data}async function Z({page:n,filter:i,sort:D}){let N=q(O({},d),{orderByField:D.fieldName||\"created_at\",orderBy:D.order||\"desc\",page:n});w.value=!0;let f=await s.fetchExpenses(N);return w.value=!1,{data:f.data.data,pagination:{data:f.data.data,totalPages:f.data.meta.last_page,currentPage:n,totalCount:f.data.meta.total,limit:10}}}function L(){p.value&&p.value.refresh()}function te(){L()}function R(){d.expense_category_id=\"\",d.from_date=\"\",d.to_date=\"\",d.customer_id=\"\"}function ae(){x.value&&R(),x.value=!x.value}function le(){return E.hasAbilities([v.DELETE_EXPENSE,v.EDIT_EXPENSE])}function se(){u.openDialog({title:h(\"general.are_you_sure\"),message:h(\"expenses.confirm_delete\",2),yesLabel:h(\"general.ok\"),noLabel:h(\"general.cancel\"),variant:\"danger\",size:\"lg\",hideNoButton:!1}).then(n=>{n&&s.deleteMultipleExpenses().then(i=>{i.data&&L()})})}return(n,i)=>{const D=o(\"BaseBreadcrumbItem\"),N=o(\"BaseBreadcrumb\"),f=o(\"BaseIcon\"),A=o(\"BaseButton\"),ne=o(\"BasePageHeader\"),oe=o(\"BaseCustomerSelectInput\"),$=o(\"BaseInputGroup\"),re=o(\"BaseMultiselect\"),z=o(\"BaseDatePicker\"),ie=o(\"BaseFilterWrapper\"),de=o(\"BaseEmptyPlaceholder\"),ue=o(\"BaseDropdownItem\"),ce=o(\"BaseDropdown\"),H=o(\"BaseCheckbox\"),me=o(\"router-link\"),pe=o(\"BaseFormatMoney\"),fe=o(\"BaseText\"),_e=o(\"BaseTable\"),ye=o(\"BasePage\");return m(),_(ye,null,{default:t(()=>[l(ne,{title:n.$t(\"expenses.title\")},{actions:t(()=>[j(l(A,{variant:\"primary-outline\",onClick:ae},{right:t(e=>[a(x)?(m(),_(f,{key:1,name:\"XIcon\",class:y(e.class)},null,8,[\"class\"])):(m(),_(f,{key:0,name:\"FilterIcon\",class:y(e.class)},null,8,[\"class\"]))]),default:t(()=>[b(g(n.$t(\"general.filter\"))+\" \",1)]),_:1},512),[[X,a(s).totalExpenses]]),a(E).hasAbilities(a(v).CREATE_EXPENSE)?(m(),_(A,{key:0,class:\"ml-4\",variant:\"primary\",onClick:i[0]||(i[0]=e=>n.$router.push(\"expenses/create\"))},{left:t(e=>[l(f,{name:\"PlusIcon\",class:y(e.class)},null,8,[\"class\"])]),default:t(()=>[b(\" \"+g(n.$t(\"expenses.add_expense\")),1)]),_:1})):I(\"\",!0)]),default:t(()=>[l(N,null,{default:t(()=>[l(D,{title:n.$t(\"general.home\"),to:\"dashboard\"},null,8,[\"title\"]),l(D,{title:n.$tc(\"expenses.expense\",2),to:\"#\",active:\"\"},null,8,[\"title\"])]),_:1})]),_:1},8,[\"title\"]),l(ie,{show:a(x),class:\"mt-5\",onClear:R},{default:t(()=>[l($,{label:n.$t(\"expenses.customer\")},{default:t(()=>[l(oe,{modelValue:a(d).customer_id,\"onUpdate:modelValue\":i[1]||(i[1]=e=>a(d).customer_id=e),placeholder:n.$t(\"customers.type_or_click\"),\"value-prop\":\"id\",label:\"name\"},null,8,[\"modelValue\",\"placeholder\"])]),_:1},8,[\"label\"]),l($,{label:n.$t(\"expenses.category\")},{default:t(()=>[l(re,{modelValue:a(d).expense_category_id,\"onUpdate:modelValue\":i[2]||(i[2]=e=>a(d).expense_category_id=e),\"value-prop\":\"id\",label:\"name\",\"track-by\":\"name\",\"filter-results\":!1,\"resolve-on-load\":\"\",delay:500,options:P,searchable:\"\",placeholder:n.$t(\"expenses.categories.select_a_category\")},null,8,[\"modelValue\",\"placeholder\"])]),_:1},8,[\"label\"]),l($,{label:n.$t(\"expenses.from_date\")},{default:t(()=>[l(z,{modelValue:a(d).from_date,\"onUpdate:modelValue\":i[3]||(i[3]=e=>a(d).from_date=e),\"calendar-button\":!0,\"calendar-button-icon\":\"calendar\"},null,8,[\"modelValue\"])]),_:1},8,[\"label\"]),Ae,l($,{label:n.$t(\"expenses.to_date\")},{default:t(()=>[l(z,{modelValue:a(d).to_date,\"onUpdate:modelValue\":i[4]||(i[4]=e=>a(d).to_date=e),\"calendar-button\":!0,\"calendar-button-icon\":\"calendar\"},null,8,[\"modelValue\"])]),_:1},8,[\"label\"])]),_:1},8,[\"show\"]),j(l(de,{title:n.$t(\"expenses.no_expenses\"),description:n.$t(\"expenses.list_of_expenses\")},K({default:t(()=>[l(Le,{class:\"mt-5 mb-4\"})]),_:2},[a(E).hasAbilities(a(v).CREATE_EXPENSE)?{name:\"actions\",fn:t(()=>[l(A,{variant:\"primary-outline\",onClick:i[5]||(i[5]=e=>n.$router.push(\"/admin/expenses/create\"))},{left:t(e=>[l(f,{name:\"PlusIcon\",class:y(e.class)},null,8,[\"class\"])]),default:t(()=>[b(\" \"+g(n.$t(\"expenses.add_new_expense\")),1)]),_:1})])}:void 0]),1032,[\"title\",\"description\"]),[[X,a(C)]]),j(c(\"div\",Te,[c(\"div\",Me,[a(s).selectedExpenses.length&&a(E).hasAbilities(a(v).DELETE_EXPENSE)?(m(),_(ce,{key:0},{activator:t(()=>[c(\"span\",je,[b(g(n.$t(\"general.actions\"))+\" \",1),l(f,{name:\"ChevronDownIcon\"})])]),default:t(()=>[a(E).hasAbilities(a(v).DELETE_EXPENSE)?(m(),_(ue,{key:0,onClick:se},{default:t(()=>[l(f,{name:\"TrashIcon\",class:\"h-5 mr-3 text-gray-600\"}),b(\" \"+g(n.$t(\"general.delete\")),1)]),_:1})):I(\"\",!0)]),_:1})):I(\"\",!0)]),l(_e,{ref:(e,T)=>{T.tableComponent=e,U(p)?p.value=e:p=e},data:Z,columns:a(V),class:\"mt-3\"},K({header:t(()=>[c(\"div\",Xe,[l(H,{modelValue:a(k),\"onUpdate:modelValue\":i[6]||(i[6]=e=>U(k)?k.value=e:null),variant:\"primary\",onChange:a(s).selectAllExpenses},null,8,[\"modelValue\",\"onChange\"])])]),\"cell-status\":t(({row:e})=>[c(\"div\",Ue,[l(H,{id:e.id,modelValue:a(S),\"onUpdate:modelValue\":i[7]||(i[7]=T=>U(S)?S.value=T:null),value:e.data.id,variant:\"primary\"},null,8,[\"id\",\"modelValue\",\"value\"])])]),\"cell-name\":t(({row:e})=>[l(me,{to:{path:`expenses/${e.data.id}/edit`},class:\"font-medium text-primary-500\"},{default:t(()=>[b(g(e.data.expense_category.name),1)]),_:2},1032,[\"to\"])]),\"cell-amount\":t(({row:e})=>[l(pe,{amount:e.data.amount,currency:e.data.currency},null,8,[\"amount\",\"currency\"])]),\"cell-expense_date\":t(({row:e})=>[b(g(e.data.formatted_expense_date),1)]),\"cell-user_name\":t(({row:e})=>[l(fe,{text:e.data.customer?e.data.customer.name:\"-\",length:30},null,8,[\"text\"])]),\"cell-notes\":t(({row:e})=>[c(\"div\",Ze,[c(\"div\",Re,g(e.data.notes?e.data.notes:\"-\"),1)])]),_:2},[le()?{name:\"cell-actions\",fn:t(({row:e})=>[l(Ne,{row:e.data,table:a(p),\"load-data\":L},null,8,[\"row\",\"table\"])])}:void 0]),1032,[\"columns\"])],512),[[X,!a(C)]])]),_:1})}}};export{qe as default};\n"
  },
  {
    "path": "public/build/assets/Index.622e547e.js",
    "content": "import{B as C,J as le,a0 as oe,k as g,aR as ne,aS as re,I as ue,r as n,o as p,l as _,w as t,f as a,h as i,q as F,ag as A,u as l,m as v,i as B,t as d,j as U,V as ce,x as M}from\"./vendor.d12b5734.js\";import{b as me,j as ie,l as de,e as pe,g as b}from\"./main.465728e1.js\";import{_ as _e}from\"./CustomerIndexDropdown.bf4b48d6.js\";import{_ as fe}from\"./AstronautIcon.82b952e2.js\";const he={class:\"flex items-center justify-end space-x-5\"},ye={class:\"relative table-container\"},Be={class:\"relative flex items-center justify-end h-5\"},be={class:\"flex text-sm font-medium cursor-pointer select-none text-primary-400\"},Ce={class:\"absolute z-10 items-center left-6 top-2.5 select-none\"},ge={class:\"relative block\"},Se={setup(ve){me();const W=ie(),u=de(),k=pe();let f=C(null),h=C(!1),x=C(!0);const{t:m}=le();let r=oe({display_name:\"\",contact_name:\"\",phone:\"\"});const P=g(()=>!u.totalCustomers&&!x.value),I=g({get:()=>u.selectedCustomers,set:s=>u.selectCustomer(s)}),V=g({get:()=>u.selectAllField,set:s=>u.setSelectAllState(s)}),Y=g(()=>[{key:\"status\",thClass:\"extra w-10 pr-0\",sortable:!1,tdClass:\"font-medium text-gray-900 pr-0\"},{key:\"name\",label:m(\"customers.name\"),thClass:\"extra\",tdClass:\"font-medium text-gray-900\"},{key:\"phone\",label:m(\"customers.phone\")},{key:\"due_amount\",label:m(\"customers.amount_due\")},{key:\"created_at\",label:m(\"items.added_on\")},{key:\"actions\",tdClass:\"text-right text-sm font-medium pl-0\",thClass:\"pl-0\",sortable:!1}]);ne(r,()=>{z()},{debounce:500}),re(()=>{u.selectAllField&&u.selectAllCustomers()});function S(){f.value.refresh()}function z(){S()}function L(){return k.hasAbilities([b.DELETE_CUSTOMER,b.EDIT_CUSTOMER,b.VIEW_CUSTOMER])}async function G({page:s,filter:o,sort:y}){let $={display_name:r.display_name,contact_name:r.contact_name,phone:r.phone,orderByField:y.fieldName||\"created_at\",orderBy:y.order||\"desc\",page:s};x.value=!0;let c=await u.fetchCustomers($);return x.value=!1,{data:c.data.data,pagination:{totalPages:c.data.meta.last_page,currentPage:s,totalCount:c.data.meta.total,limit:10}}}function R(){r.display_name=\"\",r.contact_name=\"\",r.phone=\"\"}function H(){h.value&&R(),h.value=!h.value}let j=C(new Date);j.value=ue(j).format(\"YYYY-MM-DD\");function q(){W.openDialog({title:m(\"general.are_you_sure\"),message:m(\"customers.confirm_delete\",2),yesLabel:m(\"general.ok\"),noLabel:m(\"general.cancel\"),variant:\"danger\",hideNoButton:!1,size:\"lg\"}).then(s=>{s&&u.deleteMultipleCustomers().then(o=>{o.data&&S()})})}return(s,o)=>{const y=n(\"BaseBreadcrumbItem\"),$=n(\"BaseBreadcrumb\"),c=n(\"BaseIcon\"),D=n(\"BaseButton\"),J=n(\"BasePageHeader\"),E=n(\"BaseInput\"),w=n(\"BaseInputGroup\"),X=n(\"BaseFilterWrapper\"),K=n(\"BaseEmptyPlaceholder\"),Q=n(\"BaseDropdownItem\"),Z=n(\"BaseDropdown\"),N=n(\"BaseCheckbox\"),O=n(\"BaseText\"),ee=n(\"router-link\"),te=n(\"BaseFormatMoney\"),ae=n(\"BaseTable\"),se=n(\"BasePage\");return p(),_(se,null,{default:t(()=>[a(J,{title:s.$t(\"customers.title\")},{actions:t(()=>[i(\"div\",he,[F(a(D,{variant:\"primary-outline\",onClick:H},{right:t(e=>[l(h)?(p(),_(c,{key:1,name:\"XIcon\",class:v(e.class)},null,8,[\"class\"])):(p(),_(c,{key:0,name:\"FilterIcon\",class:v(e.class)},null,8,[\"class\"]))]),default:t(()=>[B(d(s.$t(\"general.filter\"))+\" \",1)]),_:1},512),[[A,l(u).totalCustomers]]),l(k).hasAbilities(l(b).CREATE_CUSTOMER)?(p(),_(D,{key:0,onClick:o[0]||(o[0]=e=>s.$router.push(\"customers/create\"))},{left:t(e=>[a(c,{name:\"PlusIcon\",class:v(e.class)},null,8,[\"class\"])]),default:t(()=>[B(\" \"+d(s.$t(\"customers.new_customer\")),1)]),_:1})):U(\"\",!0)])]),default:t(()=>[a($,null,{default:t(()=>[a(y,{title:s.$t(\"general.home\"),to:\"dashboard\"},null,8,[\"title\"]),a(y,{title:s.$tc(\"customers.customer\",2),to:\"#\",active:\"\"},null,8,[\"title\"])]),_:1})]),_:1},8,[\"title\"]),a(X,{show:l(h),class:\"mt-5\",onClear:R},{default:t(()=>[a(w,{label:s.$t(\"customers.display_name\"),class:\"text-left\"},{default:t(()=>[a(E,{modelValue:l(r).display_name,\"onUpdate:modelValue\":o[1]||(o[1]=e=>l(r).display_name=e),type:\"text\",name:\"name\",autocomplete:\"off\"},null,8,[\"modelValue\"])]),_:1},8,[\"label\"]),a(w,{label:s.$t(\"customers.contact_name\"),class:\"text-left\"},{default:t(()=>[a(E,{modelValue:l(r).contact_name,\"onUpdate:modelValue\":o[2]||(o[2]=e=>l(r).contact_name=e),type:\"text\",name:\"address_name\",autocomplete:\"off\"},null,8,[\"modelValue\"])]),_:1},8,[\"label\"]),a(w,{label:s.$t(\"customers.phone\"),class:\"text-left\"},{default:t(()=>[a(E,{modelValue:l(r).phone,\"onUpdate:modelValue\":o[3]||(o[3]=e=>l(r).phone=e),type:\"text\",name:\"phone\",autocomplete:\"off\"},null,8,[\"modelValue\"])]),_:1},8,[\"label\"])]),_:1},8,[\"show\"]),F(a(K,{title:s.$t(\"customers.no_customers\"),description:s.$t(\"customers.list_of_customers\")},{actions:t(()=>[l(k).hasAbilities(l(b).CREATE_CUSTOMER)?(p(),_(D,{key:0,variant:\"primary-outline\",onClick:o[4]||(o[4]=e=>s.$router.push(\"/admin/customers/create\"))},{left:t(e=>[a(c,{name:\"PlusIcon\",class:v(e.class)},null,8,[\"class\"])]),default:t(()=>[B(\" \"+d(s.$t(\"customers.add_new_customer\")),1)]),_:1})):U(\"\",!0)]),default:t(()=>[a(fe,{class:\"mt-5 mb-4\"})]),_:1},8,[\"title\",\"description\"]),[[A,l(P)]]),F(i(\"div\",ye,[i(\"div\",Be,[l(u).selectedCustomers.length?(p(),_(Z,{key:0},{activator:t(()=>[i(\"span\",be,[B(d(s.$t(\"general.actions\"))+\" \",1),a(c,{name:\"ChevronDownIcon\"})])]),default:t(()=>[a(Q,{onClick:q},{default:t(()=>[a(c,{name:\"TrashIcon\",class:\"mr-3 text-gray-600\"}),B(\" \"+d(s.$t(\"general.delete\")),1)]),_:1})]),_:1})):U(\"\",!0)]),a(ae,{ref:(e,T)=>{T.tableComponent=e,M(f)?f.value=e:f=e},class:\"mt-3\",data:G,columns:l(Y)},ce({header:t(()=>[i(\"div\",Ce,[a(N,{modelValue:l(V),\"onUpdate:modelValue\":o[5]||(o[5]=e=>M(V)?V.value=e:null),variant:\"primary\",onChange:l(u).selectAllCustomers},null,8,[\"modelValue\",\"onChange\"])])]),\"cell-status\":t(({row:e})=>[i(\"div\",ge,[a(N,{id:e.data.id,modelValue:l(I),\"onUpdate:modelValue\":o[6]||(o[6]=T=>M(I)?I.value=T:null),value:e.data.id,variant:\"primary\"},null,8,[\"id\",\"modelValue\",\"value\"])])]),\"cell-name\":t(({row:e})=>[a(ee,{to:{path:`customers/${e.data.id}/view`}},{default:t(()=>[a(O,{text:e.data.name,length:30,tag:\"span\",class:\"font-medium text-primary-500 flex flex-col\"},null,8,[\"text\"]),a(O,{text:e.data.contact_name?e.data.contact_name:\"\",length:30,tag:\"span\",class:\"text-xs text-gray-400\"},null,8,[\"text\"])]),_:2},1032,[\"to\"])]),\"cell-phone\":t(({row:e})=>[i(\"span\",null,d(e.data.phone?e.data.phone:\"-\"),1)]),\"cell-due_amount\":t(({row:e})=>[a(te,{amount:e.data.due_amount||0,currency:e.data.currency},null,8,[\"amount\",\"currency\"])]),\"cell-created_at\":t(({row:e})=>[i(\"span\",null,d(e.data.formatted_created_at),1)]),_:2},[L()?{name:\"cell-actions\",fn:t(({row:e})=>[a(_e,{row:e.data,table:l(f),\"load-data\":S},null,8,[\"row\",\"table\"])])}:void 0]),1032,[\"columns\"])],512),[[A,!l(P)]])]),_:1})}}};export{Se as default};\n"
  },
  {
    "path": "public/build/assets/Index.6424247c.js",
    "content": "import{J as ve,ah as pe,B as h,aN as fe,a0 as be,k as w,aR as ge,aS as Be,r as i,o as b,l as g,w as l,f as t,q as V,ag as D,u as o,m as y,i as m,t as _,j as F,V as W,h as p,x as Ie}from\"./vendor.d12b5734.js\";import{i as he,j as ye,u as ke,e as Ee,g as f}from\"./main.465728e1.js\";import{_ as Ce}from\"./MoonwalkerIcon.b55d3604.js\";import{_ as Ve}from\"./InvoiceIndexDropdown.c4bcaa08.js\";import{_ as De}from\"./SendInvoiceModal.f818e383.js\";import\"./mail-driver.0a974f6a.js\";const Te=p(\"div\",{class:\"hidden w-8 h-0 mx-4 border border-gray-400 border-solid xl:block\",style:{\"margin-top\":\"1.5rem\"}},null,-1),$e={class:\"relative table-container\"},Ae={class:\"relative flex items-center justify-between h-10 mt-5 list-none border-b-2 border-gray-200 border-solid\"},Se={class:\"flex text-sm font-medium cursor-pointer select-none text-primary-400\"},Pe={class:\"absolute items-center left-6 top-2.5 select-none\"},Ne={class:\"relative block\"},we={class:\"flex justify-between\"},Me={setup(Fe){const c=he(),G=ye();ke();const{t:n}=ve();pe(\"$utils\");const k=h(null),B=h(!1),H=h([{label:\"Status\",options:[\"DRAFT\",\"DUE\",\"SENT\",\"VIEWED\",\"COMPLETED\"]},{label:\"Paid Status\",options:[\"UNPAID\",\"PAID\",\"PARTIALLY_PAID\"]},,]),T=h(!0),u=h(\"general.draft\");fe();const E=Ee();let s=be({customer_id:\"\",status:\"\",from_date:\"\",to_date:\"\",invoice_number:\"\"});const U=w(()=>!c.invoiceTotalCount&&!T.value),$=w({get:()=>c.selectedInvoices,set:a=>c.selectInvoice(a)}),q=w(()=>[{key:\"checkbox\",thClass:\"extra w-10\",tdClass:\"font-medium text-gray-900\",placeholderClass:\"w-10\",sortable:!1},{key:\"invoice_date\",label:n(\"invoices.date\"),thClass:\"extra\",tdClass:\"font-medium\"},{key:\"invoice_number\",label:n(\"invoices.number\")},{key:\"name\",label:n(\"invoices.customer\")},{key:\"status\",label:n(\"invoices.status\")},{key:\"due_amount\",label:n(\"dashboard.recent_invoices_card.amount_due\")},{key:\"total\",label:n(\"invoices.total\"),tdClass:\"font-medium text-gray-900\"},{key:\"actions\",label:n(\"invoices.action\"),tdClass:\"text-right text-sm font-medium\",thClass:\"text-right\",sortable:!1}]);ge(s,()=>{K()},{debounce:500}),Be(()=>{c.selectAllField&&c.selectAllInvoices()});function z(){return E.hasAbilities([f.DELETE_INVOICE,f.EDIT_INVOICE,f.VIEW_INVOICE,f.SEND_INVOICE])}async function Y(a,r){s.status=\"\",A()}function A(){k.value&&k.value.refresh()}async function J({page:a,filter:r,sort:v}){let S={customer_id:s.customer_id,status:s.status,from_date:s.from_date,to_date:s.to_date,invoice_number:s.invoice_number,orderByField:v.fieldName||\"created_at\",orderBy:v.order||\"desc\",page:a};T.value=!0;let d=await c.fetchInvoices(S);return T.value=!1,{data:d.data.data,pagination:{totalPages:d.data.meta.last_page,currentPage:a,totalCount:d.data.meta.total,limit:10}}}function X(a){if(u.value==a.title)return!0;switch(u.value=a.title,a.title){case n(\"general.draft\"):s.status=\"DRAFT\";break;case n(\"general.sent\"):s.status=\"SENT\";break;case n(\"general.due\"):s.status=\"DUE\";break;default:s.status=\"\";break}}function K(){c.$patch(a=>{a.selectedInvoices=[],a.selectAllField=!1}),A()}function R(){s.customer_id=\"\",s.status=\"\",s.from_date=\"\",s.to_date=\"\",s.invoice_number=\"\",u.value=n(\"general.all\")}async function Q(){G.openDialog({title:n(\"general.are_you_sure\"),message:n(\"invoices.confirm_delete\"),yesLabel:n(\"general.ok\"),noLabel:n(\"general.cancel\"),variant:\"danger\",hideNoButton:!1,size:\"lg\"}).then(async a=>{a&&await c.deleteMultipleInvoices().then(r=>{r.data.success&&(A(),c.$patch(v=>{v.selectedInvoices=[],v.selectAllField=!1}))})})}function Z(){B.value&&R(),B.value=!B.value}function ee(a){switch(a){case\"DRAFT\":u.value=n(\"general.draft\");break;case\"SENT\":u.value=n(\"general.sent\");break;case\"DUE\":u.value=n(\"general.due\");break;case\"COMPLETED\":u.value=n(\"invoices.completed\");break;case\"PAID\":u.value=n(\"invoices.paid\");break;case\"UNPAID\":u.value=n(\"invoices.unpaid\");break;case\"PARTIALLY_PAID\":u.value=n(\"invoices.partially_paid\");break;case\"VIEWED\":u.value=n(\"invoices.viewed\");break;default:u.value=n(\"general.all\");break}}return(a,r)=>{const v=i(\"BaseBreadcrumbItem\"),S=i(\"BaseBreadcrumb\"),d=i(\"BaseIcon\"),P=i(\"BaseButton\"),O=i(\"router-link\"),te=i(\"BasePageHeader\"),ae=i(\"BaseCustomerSelectInput\"),I=i(\"BaseInputGroup\"),le=i(\"BaseMultiselect\"),j=i(\"BaseDatePicker\"),se=i(\"BaseInput\"),oe=i(\"BaseFilterWrapper\"),ne=i(\"BaseEmptyPlaceholder\"),C=i(\"BaseTab\"),ie=i(\"BaseTabGroup\"),re=i(\"BaseDropdownItem\"),ce=i(\"BaseDropdown\"),x=i(\"BaseCheckbox\"),ue=i(\"BaseText\"),L=i(\"BaseFormatMoney\"),de=i(\"BaseInvoiceStatusBadge\"),M=i(\"BasePaidStatusBadge\"),me=i(\"BaseTable\"),_e=i(\"BasePage\");return b(),g(_e,null,{default:l(()=>[t(De),t(te,{title:a.$t(\"invoices.title\")},{actions:l(()=>[V(t(P,{variant:\"primary-outline\",onClick:Z},{right:l(e=>[B.value?(b(),g(d,{key:1,name:\"XIcon\",class:y(e.class)},null,8,[\"class\"])):(b(),g(d,{key:0,name:\"FilterIcon\",class:y(e.class)},null,8,[\"class\"]))]),default:l(()=>[m(_(a.$t(\"general.filter\"))+\" \",1)]),_:1},512),[[D,o(c).invoiceTotalCount]]),o(E).hasAbilities(o(f).CREATE_INVOICE)?(b(),g(O,{key:0,to:\"invoices/create\"},{default:l(()=>[t(P,{variant:\"primary\",class:\"ml-4\"},{left:l(e=>[t(d,{name:\"PlusIcon\",class:y(e.class)},null,8,[\"class\"])]),default:l(()=>[m(\" \"+_(a.$t(\"invoices.new_invoice\")),1)]),_:1})]),_:1})):F(\"\",!0)]),default:l(()=>[t(S,null,{default:l(()=>[t(v,{title:a.$t(\"general.home\"),to:\"dashboard\"},null,8,[\"title\"]),t(v,{title:a.$tc(\"invoices.invoice\",2),to:\"#\",active:\"\"},null,8,[\"title\"])]),_:1})]),_:1},8,[\"title\"]),V(t(oe,{\"row-on-xl\":!0,onClear:R},{default:l(()=>[t(I,{label:a.$tc(\"customers.customer\",1)},{default:l(()=>[t(ae,{modelValue:o(s).customer_id,\"onUpdate:modelValue\":r[0]||(r[0]=e=>o(s).customer_id=e),placeholder:a.$t(\"customers.type_or_click\"),\"value-prop\":\"id\",label:\"name\"},null,8,[\"modelValue\",\"placeholder\"])]),_:1},8,[\"label\"]),t(I,{label:a.$t(\"invoices.status\")},{default:l(()=>[t(le,{modelValue:o(s).status,\"onUpdate:modelValue\":[r[1]||(r[1]=e=>o(s).status=e),ee],groups:!0,options:H.value,searchable:\"\",placeholder:a.$t(\"general.select_a_status\"),onRemove:r[2]||(r[2]=e=>Y())},null,8,[\"modelValue\",\"options\",\"placeholder\"])]),_:1},8,[\"label\"]),t(I,{label:a.$t(\"general.from\")},{default:l(()=>[t(j,{modelValue:o(s).from_date,\"onUpdate:modelValue\":r[3]||(r[3]=e=>o(s).from_date=e),\"calendar-button\":!0,\"calendar-button-icon\":\"calendar\"},null,8,[\"modelValue\"])]),_:1},8,[\"label\"]),Te,t(I,{label:a.$t(\"general.to\"),class:\"mt-2\"},{default:l(()=>[t(j,{modelValue:o(s).to_date,\"onUpdate:modelValue\":r[4]||(r[4]=e=>o(s).to_date=e),\"calendar-button\":!0,\"calendar-button-icon\":\"calendar\"},null,8,[\"modelValue\"])]),_:1},8,[\"label\"]),t(I,{label:a.$t(\"invoices.invoice_number\")},{default:l(()=>[t(se,{modelValue:o(s).invoice_number,\"onUpdate:modelValue\":r[5]||(r[5]=e=>o(s).invoice_number=e)},{left:l(e=>[t(d,{name:\"HashtagIcon\",class:y(e.class)},null,8,[\"class\"])]),_:1},8,[\"modelValue\"])]),_:1},8,[\"label\"])]),_:1},512),[[D,B.value]]),V(t(ne,{title:a.$t(\"invoices.no_invoices\"),description:a.$t(\"invoices.list_of_invoices\")},W({default:l(()=>[t(Ce,{class:\"mt-5 mb-4\"})]),_:2},[o(E).hasAbilities(o(f).CREATE_INVOICE)?{name:\"actions\",fn:l(()=>[t(P,{variant:\"primary-outline\",onClick:r[6]||(r[6]=e=>a.$router.push(\"/admin/invoices/create\"))},{left:l(e=>[t(d,{name:\"PlusIcon\",class:y(e.class)},null,8,[\"class\"])]),default:l(()=>[m(\" \"+_(a.$t(\"invoices.add_new_invoice\")),1)]),_:1})])}:void 0]),1032,[\"title\",\"description\"]),[[D,o(U)]]),V(p(\"div\",$e,[p(\"div\",Ae,[t(ie,{class:\"-mb-5\",onChange:X},{default:l(()=>[t(C,{title:a.$t(\"general.all\"),filter:\"\"},null,8,[\"title\"]),t(C,{title:a.$t(\"general.draft\"),filter:\"DRAFT\"},null,8,[\"title\"]),t(C,{title:a.$t(\"general.sent\"),filter:\"SENT\"},null,8,[\"title\"]),t(C,{title:a.$t(\"general.due\"),filter:\"DUE\"},null,8,[\"title\"])]),_:1}),o(c).selectedInvoices.length&&o(E).hasAbilities(o(f).DELETE_INVOICE)?(b(),g(ce,{key:0,class:\"absolute float-right\"},{activator:l(()=>[p(\"span\",Se,[m(_(a.$t(\"general.actions\"))+\" \",1),t(d,{name:\"ChevronDownIcon\"})])]),default:l(()=>[t(re,{onClick:Q},{default:l(()=>[t(d,{name:\"TrashIcon\",class:\"mr-3 text-gray-600\"}),m(\" \"+_(a.$t(\"general.delete\")),1)]),_:1})]),_:1})):F(\"\",!0)]),t(me,{ref:(e,N)=>{N.table=e,k.value=e},data:J,columns:o(q),\"placeholder-count\":o(c).invoiceTotalCount>=20?10:5,class:\"mt-10\"},W({header:l(()=>[p(\"div\",Pe,[t(x,{modelValue:o(c).selectAllField,\"onUpdate:modelValue\":r[7]||(r[7]=e=>o(c).selectAllField=e),variant:\"primary\",onChange:o(c).selectAllInvoices},null,8,[\"modelValue\",\"onChange\"])])]),\"cell-checkbox\":l(({row:e})=>[p(\"div\",Ne,[t(x,{id:e.id,modelValue:o($),\"onUpdate:modelValue\":r[8]||(r[8]=N=>Ie($)?$.value=N:null),value:e.data.id},null,8,[\"id\",\"modelValue\",\"value\"])])]),\"cell-name\":l(({row:e})=>[t(ue,{text:e.data.customer.name,length:30},null,8,[\"text\"])]),\"cell-invoice_number\":l(({row:e})=>[t(O,{to:{path:`invoices/${e.data.id}/view`},class:\"font-medium text-primary-500\"},{default:l(()=>[m(_(e.data.invoice_number),1)]),_:2},1032,[\"to\"])]),\"cell-invoice_date\":l(({row:e})=>[m(_(e.data.formatted_invoice_date),1)]),\"cell-total\":l(({row:e})=>[t(L,{amount:e.data.total,currency:e.data.customer.currency},null,8,[\"amount\",\"currency\"])]),\"cell-status\":l(({row:e})=>[t(de,{status:e.data.status,class:\"px-3 py-1\"},{default:l(()=>[m(_(e.data.status),1)]),_:2},1032,[\"status\"])]),\"cell-due_amount\":l(({row:e})=>[p(\"div\",we,[t(L,{amount:e.data.due_amount,currency:e.data.currency},null,8,[\"amount\",\"currency\"]),e.data.overdue?(b(),g(M,{key:0,status:\"OVERDUE\",class:\"px-1 py-0.5 ml-2\"},{default:l(()=>[m(_(a.$t(\"invoices.overdue\")),1)]),_:1})):F(\"\",!0),t(M,{status:e.data.paid_status,class:\"px-1 py-0.5 ml-2\"},{default:l(()=>[m(_(e.data.paid_status),1)]),_:2},1032,[\"status\"])])]),_:2},[z()?{name:\"cell-actions\",fn:l(({row:e})=>[t(Ve,{row:e.data,table:k.value},null,8,[\"row\",\"table\"])])}:void 0]),1032,[\"columns\",\"placeholder-count\"])],512),[[D,!o(U)]])]),_:1})}}};export{Me as default};\n"
  },
  {
    "path": "public/build/assets/Index.7f1d6a8c.js",
    "content": "import{J as Q,ah as Y,G as Z,B as y,a0 as ee,k as I,aR as te,r as l,o as c,l as d,w as a,f as t,u as o,m as w,i as _,t as p,j as C,q as S,ag as F,h as P}from\"./vendor.d12b5734.js\";import ae from\"./BaseTable.ec8995dc.js\";import{u as se}from\"./global.dc565c4e.js\";import{u as le}from\"./estimate.f77ffc39.js\";import{_ as oe}from\"./ObservatoryIcon.528a64ab.js\";import\"./main.465728e1.js\";import\"./auth.c88ceb4c.js\";const ne=P(\"div\",{class:\"hidden w-8 h-0 mx-4 border border-gray-400 border-solid xl:block\",style:{\"margin-top\":\"1.5rem\"}},null,-1),re={class:\"relative table-container\"},be={setup(me){const{t:f}=Q();Y(\"utils\"),Z();const E=y(null);let u=y(!1),h=y(!0);const j=y([\"DRAFT\",\"SENT\",\"VIEWED\",\"EXPIRED\",\"ACCEPTED\",\"REJECTED\"]),s=ee({status:\"\",from_date:\"\",to_date:\"\",estimate_number:\"\"}),v=se(),b=le(),x=I(()=>[{key:\"estimate_date\",label:f(\"estimates.date\"),thClass:\"extra\",tdClass:\"font-medium text-gray-900\"},{key:\"estimate_number\",label:f(\"estimates.number\",2)},{key:\"status\",label:f(\"estimates.status\")},{key:\"total\",label:f(\"estimates.total\")},{key:\"actions\",thClass:\"text-right\",tdClass:\"text-right text-sm font-medium\",sortable:!1}]),k=I(()=>!b.totalEstimates&&!h.value);I(()=>v.currency),te(s,()=>{N()},{debounce:500});function T(){E.value.refresh()}function N(){T()}function D(){s.status=\"\",s.from_date=\"\",s.to_date=\"\",s.estimate_number=\"\"}function H(){u.value&&D(),u.value=!u.value}async function R({page:n,sort:r}){let B={status:s.status,estimate_number:s.estimate_number,from_date:s.from_date,to_date:s.to_date,orderByField:r.fieldName||\"created_at\",orderBy:r.order||\"desc\",page:n};h.value=!0;let i=await b.fetchEstimate(B,v.companySlug);return h.value=!1,{data:i.data.data,pagination:{totalPages:i.data.meta.last_page,currentPage:n,totalCount:i.data.meta.total,limit:10}}}return(n,r)=>{const B=l(\"BaseBreadcrumbItem\"),i=l(\"BaseBreadcrumb\"),m=l(\"BaseIcon\"),G=l(\"BaseButton\"),U=l(\"BasePageHeader\"),W=l(\"BaseSelectInput\"),g=l(\"BaseInputGroup\"),z=l(\"BaseInput\"),V=l(\"BaseDatePicker\"),A=l(\"BaseFilterWrapper\"),J=l(\"BaseEmptyPlaceholder\"),$=l(\"router-link\"),M=l(\"BaseEstimateStatusBadge\"),X=l(\"BaseFormatMoney\"),q=l(\"BaseDropdownItem\"),O=l(\"BaseDropdown\"),K=l(\"BasePage\");return c(),d(K,null,{default:a(()=>[t(U,{title:n.$t(\"estimates.title\")},{actions:a(()=>[o(b).totalEstimates?(c(),d(G,{key:0,variant:\"primary-outline\",onClick:H},{right:a(e=>[o(u)?(c(),d(m,{key:1,name:\"XIcon\",class:w(e.class)},null,8,[\"class\"])):(c(),d(m,{key:0,name:\"FilterIcon\",class:w(e.class)},null,8,[\"class\"]))]),default:a(()=>[_(p(n.$t(\"general.filter\"))+\" \",1)]),_:1})):C(\"\",!0)]),default:a(()=>[t(i,null,{default:a(()=>[t(B,{title:n.$t(\"general.home\"),to:`/${o(v).companySlug}/customer/dashboard`},null,8,[\"title\",\"to\"]),t(B,{title:n.$tc(\"estimates.estimate\",2),to:\"#\",active:\"\"},null,8,[\"title\"])]),_:1})]),_:1},8,[\"title\"]),S(t(A,{onClear:D},{default:a(()=>[t(g,{label:n.$t(\"estimates.status\"),class:\"px-3\"},{default:a(()=>[t(W,{modelValue:o(s).status,\"onUpdate:modelValue\":r[0]||(r[0]=e=>o(s).status=e),options:j.value,searchable:\"\",\"show-labels\":!1,\"allow-empty\":!1,placeholder:n.$t(\"general.select_a_status\")},null,8,[\"modelValue\",\"options\",\"placeholder\"])]),_:1},8,[\"label\"]),t(g,{label:n.$t(\"estimates.estimate_number\"),color:\"black-light\",class:\"px-3 mt-2\"},{default:a(()=>[t(z,{modelValue:o(s).estimate_number,\"onUpdate:modelValue\":r[1]||(r[1]=e=>o(s).estimate_number=e)},{default:a(()=>[t(m,{name:\"DotsHorizontalIcon\",class:\"h-5 text-gray-500\"}),t(m,{name:\"HashtagIcon\",class:\"h-5 mr-3 text-gray-600\"})]),_:1},8,[\"modelValue\"])]),_:1},8,[\"label\"]),t(g,{label:n.$t(\"general.from\"),class:\"px-3\"},{default:a(()=>[t(V,{modelValue:o(s).from_date,\"onUpdate:modelValue\":r[2]||(r[2]=e=>o(s).from_date=e),\"calendar-button\":!0,\"calendar-button-icon\":\"calendar\"},null,8,[\"modelValue\"])]),_:1},8,[\"label\"]),ne,t(g,{label:n.$t(\"general.to\"),class:\"px-3\"},{default:a(()=>[t(V,{modelValue:o(s).to_date,\"onUpdate:modelValue\":r[3]||(r[3]=e=>o(s).to_date=e),\"calendar-button\":!0,\"calendar-button-icon\":\"calendar\"},null,8,[\"modelValue\"])]),_:1},8,[\"label\"])]),_:1},512),[[F,o(u)]]),o(k)?(c(),d(J,{key:0,title:n.$t(\"estimates.no_estimates\"),description:n.$t(\"estimates.list_of_estimates\")},{default:a(()=>[t(oe,{class:\"mt-5 mb-4\"})]),_:1},8,[\"title\",\"description\"])):C(\"\",!0),S(P(\"div\",re,[t(ae,{ref:(e,L)=>{L.table=e,E.value=e},data:R,columns:o(x),\"placeholder-count\":o(b).totalEstimates>=20?10:5,class:\"mt-10\"},{\"cell-estimate_date\":a(({row:e})=>[_(p(e.data.formatted_estimate_date),1)]),\"cell-estimate_number\":a(({row:e})=>[t($,{to:{path:`estimates/${e.data.id}/view`},class:\"font-medium text-primary-500\"},{default:a(()=>[_(p(e.data.estimate_number),1)]),_:2},1032,[\"to\"])]),\"cell-status\":a(({row:e})=>[t(M,{status:e.data.status,class:\"px-3 py-1\"},{default:a(()=>[_(p(e.data.status),1)]),_:2},1032,[\"status\"])]),\"cell-total\":a(({row:e})=>[t(X,{amount:e.data.total},null,8,[\"amount\"])]),\"cell-actions\":a(({row:e})=>[t(O,null,{activator:a(()=>[t(m,{name:\"DotsHorizontalIcon\",class:\"h-5 text-gray-500\"})]),default:a(()=>[t($,{to:`estimates/${e.data.id}/view`},{default:a(()=>[t(q,null,{default:a(()=>[t(m,{name:\"EyeIcon\",class:\"h-5 mr-3 text-gray-600\"}),_(\" \"+p(n.$t(\"general.view\")),1)]),_:1})]),_:2},1032,[\"to\"])]),_:2},1024)]),_:1},8,[\"columns\",\"placeholder-count\"])],512),[[F,!o(k)]])]),_:1})}}};export{be as default};\n"
  },
  {
    "path": "public/build/assets/Index.91b66939.js",
    "content": "import{J as G,G as oe,aN as M,ah as re,r as o,o as p,l as f,w as t,u as n,f as a,i as g,t as d,B as b,a0 as ue,k as D,C as ie,D as ce,aS as de,h as B,q as T,ag as z,m as V,j as E,V as me,x as H}from\"./vendor.d12b5734.js\";import{u as O}from\"./users.27a53e97.js\";import{j as W,u as q,e as J}from\"./main.465728e1.js\";import{_ as pe}from\"./AstronautIcon.82b952e2.js\";const fe={props:{row:{type:Object,default:null},table:{type:Object,default:null},loadData:{type:Function,default:null}},setup(U){const $=U,u=W();q();const{t:_}=G();J();const y=oe();M();const k=O();re(\"utils\");function m(i){u.openDialog({title:_(\"general.are_you_sure\"),message:_(\"users.confirm_delete\",1),yesLabel:_(\"general.ok\"),noLabel:_(\"general.cancel\"),variant:\"danger\",size:\"lg\",hideNoButton:!1}).then(l=>{l&&k.deleteUser({ids:[i]}).then(h=>{h&&$.loadData&&$.loadData()})})}return(i,l)=>{const h=o(\"BaseIcon\"),C=o(\"BaseButton\"),v=o(\"BaseDropdownItem\"),w=o(\"router-link\"),x=o(\"BaseDropdown\");return p(),f(x,null,{activator:t(()=>[n(y).name===\"users.view\"?(p(),f(C,{key:0,variant:\"primary\"},{default:t(()=>[a(h,{name:\"DotsHorizontalIcon\",class:\"h-5 text-white\"})]),_:1})):(p(),f(h,{key:1,name:\"DotsHorizontalIcon\",class:\"h-5 text-gray-500\"}))]),default:t(()=>[a(w,{to:`/admin/users/${U.row.id}/edit`},{default:t(()=>[a(v,null,{default:t(()=>[a(h,{name:\"PencilIcon\",class:\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"}),g(\" \"+d(i.$t(\"general.edit\")),1)]),_:1})]),_:1},8,[\"to\"]),a(v,{onClick:l[0]||(l[0]=S=>m(U.row.id))},{default:t(()=>[a(h,{name:\"TrashIcon\",class:\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"}),g(\" \"+d(i.$t(\"general.delete\")),1)]),_:1})]),_:1})}}},_e={class:\"flex items-center justify-end space-x-5\"},he={class:\"relative table-container\"},ge={class:\"relative flex items-center justify-end h-5 border-gray-200 border-solid\"},Be={class:\"flex text-sm font-medium cursor-pointer select-none text-primary-400\"},ye={class:\"absolute z-10 items-center left-6 top-2.5 select-none\"},ve={class:\"custom-control custom-checkbox\"},Ue={setup(U){q();const $=W(),u=O(),_=J();M();let y=b(!1),k=b(!0);b(null),b(\"created_at\"),b(!1);const{t:m}=G();let i=b(null),l=ue({name:\"\",email:\"\",phone:\"\"});const h=D(()=>[{key:\"status\",thClass:\"extra\",tdClass:\"font-medium text-gray-900\",sortable:!1},{key:\"name\",label:m(\"users.name\"),thClass:\"extra\",tdClass:\"font-medium text-gray-900\"},{key:\"email\",label:\"Email\"},{key:\"phone\",label:m(\"users.phone\")},{key:\"created_at\",label:m(\"users.added_on\")},{key:\"actions\",tdClass:\"text-right text-sm font-medium\",sortable:!1}]),C=D(()=>!u.totalUsers&&!k.value),v=D({get:()=>u.selectedUsers,set:s=>u.selectUser(s)}),w=D({get:()=>u.selectAllField,set:s=>u.setSelectAllState(s)});ie(l,()=>{x()},{deep:!0}),ce(()=>{u.fetchUsers(),u.fetchRoles()}),de(()=>{u.selectAllField&&u.selectAllUsers()});function x(){S()}function S(){i.value&&i.value.refresh()}async function X({page:s,filter:r,sort:I}){let F={display_name:l.name!==null?l.name:\"\",phone:l.phone!==null?l.phone:\"\",email:l.email!==null?l.email:\"\",orderByField:I.fieldName||\"created_at\",orderBy:I.order||\"desc\",page:s};k.value=!0;let c=await u.fetchUsers(F);return k.value=!1,{data:c.data.data,pagination:{totalPages:c.data.meta.last_page,currentPage:s,totalCount:c.data.meta.total,limit:10}}}function L(){l.name=\"\",l.email=\"\",l.phone=null}function K(){y.value&&L(),y.value=!y.value}function Q(){$.openDialog({title:m(\"general.are_you_sure\"),message:m(\"users.confirm_delete\",2),yesLabel:m(\"general.ok\"),noLabel:m(\"general.cancel\"),variant:\"danger\",size:\"lg\",hideNoButton:!1}).then(s=>{s&&u.deleteMultipleUsers().then(r=>{r.data.success&&i.value&&i.value.refresh()})})}return(s,r)=>{const I=o(\"BaseBreadcrumbItem\"),F=o(\"BaseBreadcrumb\"),c=o(\"BaseIcon\"),j=o(\"BaseButton\"),Y=o(\"BasePageHeader\"),P=o(\"BaseInput\"),N=o(\"BaseInputGroup\"),Z=o(\"BaseFilterWrapper\"),ee=o(\"BaseEmptyPlaceholder\"),te=o(\"BaseDropdownItem\"),ae=o(\"BaseDropdown\"),R=o(\"BaseCheckbox\"),se=o(\"router-link\"),le=o(\"BaseTable\"),ne=o(\"BasePage\");return p(),f(ne,null,{default:t(()=>[a(Y,{title:s.$t(\"users.title\")},{actions:t(()=>[B(\"div\",_e,[T(a(j,{variant:\"primary-outline\",onClick:K},{right:t(e=>[n(y)?(p(),f(c,{key:1,name:\"XIcon\",class:V(e.class)},null,8,[\"class\"])):(p(),f(c,{key:0,name:\"FilterIcon\",class:V(e.class)},null,8,[\"class\"]))]),default:t(()=>[g(d(s.$t(\"general.filter\"))+\" \",1)]),_:1},512),[[z,n(u).totalUsers]]),n(_).currentUser.is_owner?(p(),f(j,{key:0,onClick:r[0]||(r[0]=e=>s.$router.push(\"users/create\"))},{left:t(e=>[a(c,{name:\"PlusIcon\",class:V(e.class),\"aria-hidden\":\"true\"},null,8,[\"class\"])]),default:t(()=>[g(\" \"+d(s.$t(\"users.add_user\")),1)]),_:1})):E(\"\",!0)])]),default:t(()=>[a(F,null,{default:t(()=>[a(I,{title:s.$t(\"general.home\"),to:\"dashboard\"},null,8,[\"title\"]),a(I,{title:s.$tc(\"users.title\",2),to:\"#\",active:\"\"},null,8,[\"title\"])]),_:1})]),_:1},8,[\"title\"]),a(Z,{show:n(y),class:\"mt-3\",onClear:L},{default:t(()=>[a(N,{label:s.$tc(\"users.name\"),class:\"flex-1 mt-2 mr-4\"},{default:t(()=>[a(P,{modelValue:n(l).name,\"onUpdate:modelValue\":r[1]||(r[1]=e=>n(l).name=e),type:\"text\",name:\"name\",autocomplete:\"off\"},null,8,[\"modelValue\"])]),_:1},8,[\"label\"]),a(N,{label:s.$tc(\"users.email\"),class:\"flex-1 mt-2 mr-4\"},{default:t(()=>[a(P,{modelValue:n(l).email,\"onUpdate:modelValue\":r[2]||(r[2]=e=>n(l).email=e),type:\"text\",name:\"email\",autocomplete:\"off\"},null,8,[\"modelValue\"])]),_:1},8,[\"label\"]),a(N,{class:\"flex-1 mt-2\",label:s.$tc(\"users.phone\")},{default:t(()=>[a(P,{modelValue:n(l).phone,\"onUpdate:modelValue\":r[3]||(r[3]=e=>n(l).phone=e),type:\"text\",name:\"phone\",autocomplete:\"off\"},null,8,[\"modelValue\"])]),_:1},8,[\"label\"])]),_:1},8,[\"show\"]),T(a(ee,{title:s.$t(\"users.no_users\"),description:s.$t(\"users.list_of_users\")},{actions:t(()=>[n(_).currentUser.is_owner?(p(),f(j,{key:0,variant:\"primary-outline\",onClick:r[4]||(r[4]=e=>s.$router.push(\"/admin/users/create\"))},{left:t(e=>[a(c,{name:\"PlusIcon\",class:V(e.class)},null,8,[\"class\"])]),default:t(()=>[g(\" \"+d(s.$t(\"users.add_user\")),1)]),_:1})):E(\"\",!0)]),default:t(()=>[a(pe,{class:\"mt-5 mb-4\"})]),_:1},8,[\"title\",\"description\"]),[[z,n(C)]]),T(B(\"div\",he,[B(\"div\",ge,[n(u).selectedUsers.length?(p(),f(ae,{key:0},{activator:t(()=>[B(\"span\",Be,[g(d(s.$t(\"general.actions\"))+\" \",1),a(c,{name:\"ChevronDownIcon\",class:\"h-5\"})])]),default:t(()=>[a(te,{onClick:Q},{default:t(()=>[a(c,{name:\"TrashIcon\",class:\"h-5 mr-3 text-gray-600\"}),g(\" \"+d(s.$t(\"general.delete\")),1)]),_:1})]),_:1})):E(\"\",!0)]),a(le,{ref:(e,A)=>{A.table=e,H(i)?i.value=e:i=e},data:X,columns:n(h),class:\"mt-3\"},me({header:t(()=>[B(\"div\",ye,[a(R,{modelValue:n(w),\"onUpdate:modelValue\":r[5]||(r[5]=e=>H(w)?w.value=e:null),variant:\"primary\",onChange:n(u).selectAllUsers},null,8,[\"modelValue\",\"onChange\"])])]),\"cell-status\":t(({row:e})=>[B(\"div\",ve,[a(R,{id:e.data.id,modelValue:n(v),\"onUpdate:modelValue\":r[6]||(r[6]=A=>H(v)?v.value=A:null),value:e.data.id,variant:\"primary\"},null,8,[\"id\",\"modelValue\",\"value\"])])]),\"cell-name\":t(({row:e})=>[a(se,{to:{path:`users/${e.data.id}/edit`},class:\"font-medium text-primary-500\"},{default:t(()=>[g(d(e.data.name),1)]),_:2},1032,[\"to\"])]),\"cell-phone\":t(({row:e})=>[B(\"span\",null,d(e.data.phone?e.data.phone:\"-\"),1)]),\"cell-created_at\":t(({row:e})=>[B(\"span\",null,d(e.data.formatted_created_at),1)]),_:2},[n(_).currentUser.is_owner?{name:\"cell-actions\",fn:t(({row:e})=>[a(fe,{row:e.data,table:n(i),\"load-data\":S},null,8,[\"row\",\"table\"])])}:void 0]),1032,[\"columns\"])],512),[[z,!n(C)]])]),_:1})}}};export{Ue as default};\n"
  },
  {
    "path": "public/build/assets/Index.9afe39cc.js",
    "content": "import{J as K,ah as Q,G as Y,B as b,a0 as Z,k as I,aR as ee,r as s,o as B,l as y,w as a,f as t,q as k,ag as V,u as n,m as x,i,t as u,j as te,h as E}from\"./vendor.d12b5734.js\";import{u as ae}from\"./invoice.735a98ac.js\";import oe from\"./BaseTable.ec8995dc.js\";import{u as se}from\"./global.dc565c4e.js\";import{_ as ne}from\"./MoonwalkerIcon.b55d3604.js\";import\"./auth.c88ceb4c.js\";import\"./main.465728e1.js\";const le=E(\"div\",{class:\"hidden w-8 h-0 mx-4 border border-gray-400 border-solid xl:block\",style:{\"margin-top\":\"1.5rem\"}},null,-1),ce={class:\"relative table-container\"},fe={setup(re){const{t:d}=K();Q(\"utils\"),Y();const $=b(null);let g=b(!0),m=b(!1);const P=b([\"DRAFT\",\"DUE\",\"SENT\",\"VIEWED\",\"COMPLETED\"]),o=Z({status:\"\",from_date:\"\",to_date:\"\",invoice_number:\"\"}),p=ae(),h=se();I(()=>h.currency);const j=I(()=>[{key:\"invoice_date\",label:d(\"invoices.date\"),thClass:\"extra\",tdClass:\"font-medium text-gray-900\"},{key:\"invoice_number\",label:d(\"invoices.number\")},{key:\"status\",label:d(\"invoices.status\")},{key:\"paid_status\",label:d(\"invoices.paid_status\")},{key:\"due_amount\",label:d(\"dashboard.recent_invoices_card.amount_due\")},{key:\"actions\",thClass:\"text-right\",tdClass:\"text-right text-sm font-medium\",sortable:!1}]),D=I(()=>!p.totalInvoices&&!g.value);ee(o,()=>{T()},{debounce:500});function N(){$.value.refresh()}function T(){N()}function S(){o.status=\"\",o.from_date=\"\",o.to_date=\"\",o.invoice_number=\"\"}function H(){m.value&&S(),m.value=!m.value}async function U({page:l,sort:c}){let v={status:o.status,invoice_number:o.invoice_number,from_date:o.from_date,to_date:o.to_date,orderByField:c.fieldName||\"created_at\",orderBy:c.order||\"desc\",page:l};g.value=!0;let _=await p.fetchInvoices(v,h.companySlug);return g.value=!1,{data:_.data.data,pagination:{totalPages:_.data.meta.last_page,currentPage:l,totalCount:_.data.meta.total,limit:10}}}return(l,c)=>{const v=s(\"BaseBreadcrumbItem\"),_=s(\"BaseBreadcrumb\"),r=s(\"BaseIcon\"),G=s(\"BaseButton\"),M=s(\"BasePageHeader\"),W=s(\"BaseSelectInput\"),f=s(\"BaseInputGroup\"),z=s(\"BaseInput\"),w=s(\"BaseDatePicker\"),R=s(\"BaseFilterWrapper\"),q=s(\"BaseEmptyPlaceholder\"),C=s(\"router-link\"),A=s(\"BaseFormatMoney\"),F=s(\"BaseInvoiceStatusBadge\"),J=s(\"BaseDropdownItem\"),L=s(\"BaseDropdown\"),O=s(\"BasePage\");return B(),y(O,null,{default:a(()=>[t(M,{title:l.$t(\"invoices.title\")},{actions:a(()=>[k(t(G,{variant:\"primary-outline\",onClick:H},{right:a(e=>[n(m)?(B(),y(r,{key:1,name:\"XIcon\",class:x(e.class)},null,8,[\"class\"])):(B(),y(r,{key:0,name:\"FilterIcon\",class:x(e.class)},null,8,[\"class\"]))]),default:a(()=>[i(u(l.$t(\"general.filter\"))+\" \",1)]),_:1},512),[[V,n(p).totalInvoices]])]),default:a(()=>[t(_,null,{default:a(()=>[t(v,{title:l.$t(\"general.home\"),to:`/${n(h).companySlug}/customer/dashboard`},null,8,[\"title\",\"to\"]),t(v,{title:l.$tc(\"invoices.invoice\",2),to:\"#\",active:\"\"},null,8,[\"title\"])]),_:1})]),_:1},8,[\"title\"]),k(t(R,{onClear:S},{default:a(()=>[t(f,{label:l.$t(\"invoices.status\"),class:\"px-3\"},{default:a(()=>[t(W,{modelValue:n(o).status,\"onUpdate:modelValue\":c[0]||(c[0]=e=>n(o).status=e),options:P.value,searchable:\"\",\"allow-empty\":!1,placeholder:l.$t(\"general.select_a_status\")},null,8,[\"modelValue\",\"options\",\"placeholder\"])]),_:1},8,[\"label\"]),t(f,{label:l.$t(\"invoices.invoice_number\"),color:\"black-light\",class:\"px-3 mt-2\"},{default:a(()=>[t(z,{modelValue:n(o).invoice_number,\"onUpdate:modelValue\":c[1]||(c[1]=e=>n(o).invoice_number=e)},{default:a(()=>[t(r,{name:\"DotsHorizontalIcon\",class:\"h-5 text-gray-500\"}),t(r,{name:\"HashtagIcon\",class:\"h-5 ml-3 text-gray-600\"})]),_:1},8,[\"modelValue\"])]),_:1},8,[\"label\"]),t(f,{label:l.$t(\"general.from\"),class:\"px-3\"},{default:a(()=>[t(w,{modelValue:n(o).from_date,\"onUpdate:modelValue\":c[2]||(c[2]=e=>n(o).from_date=e),\"calendar-button\":!0,\"calendar-button-icon\":\"calendar\"},null,8,[\"modelValue\"])]),_:1},8,[\"label\"]),le,t(f,{label:l.$t(\"general.to\"),class:\"px-3\"},{default:a(()=>[t(w,{modelValue:n(o).to_date,\"onUpdate:modelValue\":c[3]||(c[3]=e=>n(o).to_date=e),\"calendar-button\":!0,\"calendar-button-icon\":\"calendar\"},null,8,[\"modelValue\"])]),_:1},8,[\"label\"])]),_:1},512),[[V,n(m)]]),n(D)?(B(),y(q,{key:0,title:l.$t(\"invoices.no_invoices\"),description:l.$t(\"invoices.list_of_invoices\")},{default:a(()=>[t(ne,{class:\"mt-5 mb-4\"})]),_:1},8,[\"title\",\"description\"])):te(\"\",!0),k(E(\"div\",ce,[t(oe,{ref:(e,X)=>{X.table=e,$.value=e},data:U,columns:n(j),\"placeholder-count\":n(p).totalInvoices>=20?10:5,class:\"mt-10\"},{\"cell-invoice_date\":a(({row:e})=>[i(u(e.data.formatted_invoice_date),1)]),\"cell-invoice_number\":a(({row:e})=>[t(C,{to:{path:`invoices/${e.data.id}/view`},class:\"font-medium text-primary-500\"},{default:a(()=>[i(u(e.data.invoice_number),1)]),_:2},1032,[\"to\"])]),\"cell-due_amount\":a(({row:e})=>[t(A,{amount:e.data.total,currency:e.data.customer.currency},null,8,[\"amount\",\"currency\"])]),\"cell-status\":a(({row:e})=>[t(F,{status:e.data.status,class:\"px-3 py-1\"},{default:a(()=>[i(u(e.data.status),1)]),_:2},1032,[\"status\"])]),\"cell-paid_status\":a(({row:e})=>[t(F,{status:e.data.paid_status,class:\"px-3 py-1\"},{default:a(()=>[i(u(e.data.paid_status),1)]),_:2},1032,[\"status\"])]),\"cell-actions\":a(({row:e})=>[t(L,null,{activator:a(()=>[t(r,{name:\"DotsHorizontalIcon\",class:\"h-5 text-gray-500\"})]),default:a(()=>[t(C,{to:`invoices/${e.data.id}/view`},{default:a(()=>[t(J,null,{default:a(()=>[t(r,{name:\"EyeIcon\",class:\"h-5 mr-3 text-gray-600\"}),i(\" \"+u(l.$t(\"general.view\")),1)]),_:1})]),_:2},1032,[\"to\"])]),_:2},1024)]),_:1},8,[\"columns\",\"placeholder-count\"])],512),[[V,!n(D)]])]),_:1})}}};export{fe as default};\n"
  },
  {
    "path": "public/build/assets/Index.d826dbf4.js",
    "content": "import{J as ie,B as E,a0 as ce,k as C,aR as de,aS as pe,r as s,o as f,l as b,w as t,f as a,q as Y,ag as R,u as l,m as g,i as d,t as c,j as S,V as W,h as p,x as F}from\"./vendor.d12b5734.js\";import{b as ye,j as _e,e as fe,g as B}from\"./main.465728e1.js\";import{u as be}from\"./payment.93619753.js\";import{_ as Be}from\"./CapsuleIcon.37dfa933.js\";import{_ as ve,a as he}from\"./SendPaymentModal.26ce23d7.js\";import\"./mail-driver.0a974f6a.js\";const ge={class:\"relative table-container\"},Ce={class:\"relative flex items-center justify-end h-5\"},ke={class:\"flex text-sm font-medium cursor-pointer select-none text-primary-400\"},Pe={class:\"absolute items-center left-6 top-2.5 select-none\"},Ie={class:\"relative block\"},Me={setup($e){const{t:i}=ie();let v=E(!1),k=E(!0),y=E(null);const r=ce({customer:\"\",payment_mode:\"\",payment_number:\"\"}),m=be();ye();const H=_e(),P=fe(),M=C(()=>!m.paymentTotalCount&&!k.value),L=C(()=>[{key:\"status\",sortable:!1,thClass:\"extra w-10\",tdClass:\"text-left text-sm font-medium extra\"},{key:\"payment_date\",label:i(\"payments.date\"),thClass:\"extra\",tdClass:\"font-medium text-gray-900\"},{key:\"payment_number\",label:i(\"payments.payment_number\")},{key:\"name\",label:i(\"payments.customer\")},{key:\"payment_mode\",label:i(\"payments.payment_mode\")},{key:\"invoice_number\",label:i(\"invoices.invoice_number\")},{key:\"amount\",label:i(\"payments.amount\")},{key:\"actions\",label:\"\",tdClass:\"text-right text-sm font-medium\",sortable:!1}]),I=C({get:()=>m.selectedPayments,set:n=>m.selectPayment(n)}),$=C({get:()=>m.selectAllField,set:n=>m.setSelectAllState(n)});de(r,()=>{J()},{debounce:500}),pe(()=>{m.selectAllField&&m.selectAllPayments()}),m.fetchPaymentModes({limit:\"all\"});async function z(n){return(await m.fetchPaymentModes({search:n})).data.data}function G(){return P.hasAbilities([B.DELETE_PAYMENT,B.EDIT_PAYMENT,B.VIEW_PAYMENT,B.SEND_PAYMENT])}async function q({page:n,filter:o,sort:h}){let V={customer_id:r.customer_id,payment_method_id:r.payment_mode!==null?r.payment_mode:\"\",payment_number:r.payment_number,orderByField:h.fieldName||\"created_at\",orderBy:h.order||\"desc\",page:n};k.value=!0;let u=await m.fetchPayments(V);return k.value=!1,{data:u.data.data,pagination:{totalPages:u.data.meta.last_page,currentPage:n,totalCount:u.data.meta.total,limit:10}}}function D(){y.value&&y.value.refresh()}function J(){D()}function N(){r.customer_id=\"\",r.payment_mode=\"\",r.payment_number=\"\"}function O(){v.value&&N(),v.value=!v.value}function X(){H.openDialog({title:i(\"general.are_you_sure\"),message:i(\"payments.confirm_delete\",2),yesLabel:i(\"general.ok\"),noLabel:i(\"general.cancel\"),variant:\"danger\",hideNoButton:!1,size:\"lg\"}).then(n=>{n&&m.deleteMultiplePayments().then(o=>{o.data.success&&D()})})}return(n,o)=>{const h=s(\"BaseBreadcrumbItem\"),V=s(\"BaseBreadcrumb\"),u=s(\"BaseIcon\"),T=s(\"BaseButton\"),K=s(\"BasePageHeader\"),Q=s(\"BaseCustomerSelectInput\"),A=s(\"BaseInputGroup\"),Z=s(\"BaseInput\"),ee=s(\"BaseMultiselect\"),te=s(\"BaseFilterWrapper\"),ae=s(\"BaseEmptyPlaceholder\"),ne=s(\"BaseDropdownItem\"),le=s(\"BaseDropdown\"),j=s(\"BaseCheckbox\"),se=s(\"router-link\"),oe=s(\"BaseText\"),me=s(\"BaseFormatMoney\"),re=s(\"BaseTable\"),ue=s(\"BasePage\");return f(),b(ue,{class:\"payments\"},{default:t(()=>[a(ve),a(K,{title:n.$t(\"payments.title\")},{actions:t(()=>[Y(a(T,{variant:\"primary-outline\",onClick:O},{right:t(e=>[l(v)?(f(),b(u,{key:1,name:\"XIcon\",class:g(e.class)},null,8,[\"class\"])):(f(),b(u,{key:0,class:g(e.class),name:\"FilterIcon\"},null,8,[\"class\"]))]),default:t(()=>[d(c(n.$t(\"general.filter\"))+\" \",1)]),_:1},512),[[R,l(m).paymentTotalCount]]),l(P).hasAbilities(l(B).CREATE_PAYMENT)?(f(),b(T,{key:0,variant:\"primary\",class:\"ml-4\",onClick:o[0]||(o[0]=e=>n.$router.push(\"/admin/payments/create\"))},{left:t(e=>[a(u,{name:\"PlusIcon\",class:g(e.class)},null,8,[\"class\"])]),default:t(()=>[d(\" \"+c(n.$t(\"payments.add_payment\")),1)]),_:1})):S(\"\",!0)]),default:t(()=>[a(V,null,{default:t(()=>[a(h,{title:n.$t(\"general.home\"),to:\"dashboard\"},null,8,[\"title\"]),a(h,{title:n.$tc(\"payments.payment\",2),to:\"#\",active:\"\"},null,8,[\"title\"])]),_:1})]),_:1},8,[\"title\"]),a(te,{show:l(v),class:\"mt-3\",onClear:N},{default:t(()=>[a(A,{label:n.$t(\"payments.customer\")},{default:t(()=>[a(Q,{modelValue:l(r).customer_id,\"onUpdate:modelValue\":o[1]||(o[1]=e=>l(r).customer_id=e),placeholder:n.$t(\"customers.type_or_click\"),\"value-prop\":\"id\",label:\"name\"},null,8,[\"modelValue\",\"placeholder\"])]),_:1},8,[\"label\"]),a(A,{label:n.$t(\"payments.payment_number\")},{default:t(()=>[a(Z,{modelValue:l(r).payment_number,\"onUpdate:modelValue\":o[2]||(o[2]=e=>l(r).payment_number=e)},{left:t(e=>[a(u,{name:\"HashtagIcon\",class:g(e.class)},null,8,[\"class\"])]),_:1},8,[\"modelValue\"])]),_:1},8,[\"label\"]),a(A,{label:n.$t(\"payments.payment_mode\")},{default:t(()=>[a(ee,{modelValue:l(r).payment_mode,\"onUpdate:modelValue\":o[3]||(o[3]=e=>l(r).payment_mode=e),\"value-prop\":\"id\",\"track-by\":\"name\",\"filter-results\":!1,label:\"name\",\"resolve-on-load\":\"\",delay:500,searchable:\"\",options:z},null,8,[\"modelValue\"])]),_:1},8,[\"label\"])]),_:1},8,[\"show\"]),l(M)?(f(),b(ae,{key:0,title:n.$t(\"payments.no_payments\"),description:n.$t(\"payments.list_of_payments\")},W({default:t(()=>[a(Be,{class:\"mt-5 mb-4\"})]),_:2},[l(P).hasAbilities(l(B).CREATE_PAYMENT)?{name:\"actions\",fn:t(()=>[a(T,{variant:\"primary-outline\",onClick:o[4]||(o[4]=e=>n.$router.push(\"/admin/payments/create\"))},{left:t(e=>[a(u,{name:\"PlusIcon\",class:g(e.class)},null,8,[\"class\"])]),default:t(()=>[d(\" \"+c(n.$t(\"payments.add_new_payment\")),1)]),_:1})])}:void 0]),1032,[\"title\",\"description\"])):S(\"\",!0),Y(p(\"div\",ge,[p(\"div\",Ce,[l(m).selectedPayments.length?(f(),b(le,{key:0},{activator:t(()=>[p(\"span\",ke,[d(c(n.$t(\"general.actions\"))+\" \",1),a(u,{name:\"ChevronDownIcon\"})])]),default:t(()=>[a(ne,{onClick:X},{default:t(()=>[a(u,{name:\"TrashIcon\",class:\"mr-3 text-gray-600\"}),d(\" \"+c(n.$t(\"general.delete\")),1)]),_:1})]),_:1})):S(\"\",!0)]),a(re,{ref:(e,_)=>{_.tableComponent=e,F(y)?y.value=e:y=e},data:q,columns:l(L),\"placeholder-count\":l(m).paymentTotalCount>=20?10:5,class:\"mt-3\"},W({header:t(()=>[p(\"div\",Pe,[a(j,{modelValue:l($),\"onUpdate:modelValue\":o[5]||(o[5]=e=>F($)?$.value=e:null),variant:\"primary\",onChange:l(m).selectAllPayments},null,8,[\"modelValue\",\"onChange\"])])]),\"cell-status\":t(({row:e})=>[p(\"div\",Ie,[a(j,{id:e.id,modelValue:l(I),\"onUpdate:modelValue\":o[6]||(o[6]=_=>F(I)?I.value=_:null),value:e.data.id,variant:\"primary\"},null,8,[\"id\",\"modelValue\",\"value\"])])]),\"cell-payment_date\":t(({row:e})=>[d(c(e.data.formatted_payment_date),1)]),\"cell-payment_number\":t(({row:e})=>[a(se,{to:{path:`payments/${e.data.id}/view`},class:\"font-medium text-primary-500\"},{default:t(()=>[d(c(e.data.payment_number),1)]),_:2},1032,[\"to\"])]),\"cell-name\":t(({row:e})=>[a(oe,{text:e.data.customer.name,length:30,tag:\"span\"},null,8,[\"text\"])]),\"cell-payment_mode\":t(({row:e})=>[p(\"span\",null,c(e.data.payment_method?e.data.payment_method.name:\"-\"),1)]),\"cell-invoice_number\":t(({row:e})=>{var _,x,w,U;return[p(\"span\",null,c(((x=(_=e==null?void 0:e.data)==null?void 0:_.invoice)==null?void 0:x.invoice_number)?(U=(w=e==null?void 0:e.data)==null?void 0:w.invoice)==null?void 0:U.invoice_number:\"-\"),1)]}),\"cell-amount\":t(({row:e})=>[a(me,{amount:e.data.amount,currency:e.data.customer.currency},null,8,[\"amount\",\"currency\"])]),_:2},[G()?{name:\"cell-actions\",fn:t(({row:e})=>[a(he,{row:e.data,table:l(y)},null,8,[\"row\",\"table\"])])}:void 0]),1032,[\"columns\",\"placeholder-count\"])],512),[[R,!l(M)]])]),_:1})}}};export{Me as default};\n"
  },
  {
    "path": "public/build/assets/Index.edd0a47c.js",
    "content": "import{B as h,J as de,aN as _e,a0 as pe,k as R,aR as fe,aS as be,r as n,o as b,l as E,w as s,f as a,q as C,ag as I,u as l,m as y,i as _,t as p,j as P,h as g,V as Ee,x as ge}from\"./vendor.d12b5734.js\";import{k as Be,j as ve,e as he,g as f}from\"./main.465728e1.js\";import{_ as ye}from\"./ObservatoryIcon.528a64ab.js\";import{_ as Te}from\"./EstimateIndexDropdown.8917d9cc.js\";import{_ as ke}from\"./SendEstimateModal.01516700.js\";import\"./mail-driver.0a974f6a.js\";const Ce=g(\"div\",{class:\"hidden w-8 h-0 mx-4 border border-gray-400 border-solid xl:block\",style:{\"margin-top\":\"1.5rem\"}},null,-1),Ie={class:\"relative table-container\"},Se={class:\"relative flex items-center justify-between h-10 mt-5 list-none border-b-2 border-gray-200 border-solid\"},Ae={class:\"flex text-sm font-medium cursor-pointer select-none text-primary-400\"},Ve={class:\"absolute items-center left-6 top-2.5 select-none\"},$e={class:\"relative block\"},Ne={setup(De){const u=Be(),W=ve(),T=he(),k=h(null),{t:i}=de(),B=h(!1),G=h([\"DRAFT\",\"SENT\",\"VIEWED\",\"EXPIRED\",\"ACCEPTED\",\"REJECTED\"]),S=h(!0),c=h(\"general.draft\");_e();let o=pe({customer_id:\"\",status:\"\",from_date:\"\",to_date:\"\",estimate_number:\"\"});const M=R(()=>!u.totalEstimateCount&&!S.value),A=R({get:()=>u.selectedEstimates,set:t=>{u.selectEstimate(t)}}),O=R(()=>[{key:\"checkbox\",thClass:\"extra w-10 pr-0\",sortable:!1,tdClass:\"font-medium text-gray-900 pr-0\"},{key:\"estimate_date\",label:i(\"estimates.date\"),thClass:\"extra\",tdClass:\"font-medium text-gray-500\"},{key:\"estimate_number\",label:i(\"estimates.number\",2)},{key:\"name\",label:i(\"estimates.customer\")},{key:\"status\",label:i(\"estimates.status\")},{key:\"total\",label:i(\"estimates.total\"),tdClass:\"font-medium text-gray-900\"},{key:\"actions\",tdClass:\"text-right text-sm font-medium pl-0\",thClass:\"text-right pl-0\",sortable:!1}]);fe(o,()=>{q()},{debounce:500}),be(()=>{u.selectAllField&&u.selectAllEstimates()});function H(){return T.hasAbilities([f.CREATE_ESTIMATE,f.EDIT_ESTIMATE,f.VIEW_ESTIMATE,f.SEND_ESTIMATE])}async function J(t,r){o.status=\"\",V()}function V(){k.value&&k.value.refresh()}async function L({page:t,filter:r,sort:d}){let $={customer_id:o.customer_id,status:o.status,from_date:o.from_date,to_date:o.to_date,estimate_number:o.estimate_number,orderByField:d.fieldName||\"created_at\",orderBy:d.order||\"desc\",page:t};S.value=!0;let m=await u.fetchEstimates($);return S.value=!1,{data:m.data.data,pagination:{totalPages:m.data.meta.last_page,currentPage:t,totalCount:m.data.meta.total,limit:10}}}function X(t){if(c.value==t.title)return!0;switch(c.value=t.title,t.title){case i(\"general.draft\"):o.status=\"DRAFT\";break;case i(\"general.sent\"):o.status=\"SENT\";break;default:o.status=\"\";break}}function q(){u.$patch(t=>{t.selectedEstimates=[],t.selectAllField=!1}),V()}function x(){o.customer_id=\"\",o.status=\"\",o.from_date=\"\",o.to_date=\"\",o.estimate_number=\"\",c.value=i(\"general.all\")}function z(){B.value&&x(),B.value=!B.value}async function K(){W.openDialog({title:i(\"general.are_you_sure\"),message:i(\"estimates.confirm_delete\"),yesLabel:i(\"general.ok\"),noLabel:i(\"general.cancel\"),variant:\"danger\",hideNoButton:!1,size:\"lg\"}).then(t=>{t&&u.deleteMultipleEstimates().then(r=>{V(),r.data&&u.$patch(d=>{d.selectedEstimates=[],d.selectAllField=!1})})})}function Q(t){switch(t){case\"DRAFT\":c.value=i(\"general.draft\");break;case\"SENT\":c.value=i(\"general.sent\");break;case\"VIEWED\":c.value=i(\"estimates.viewed\");break;case\"EXPIRED\":c.value=i(\"estimates.expired\");break;case\"ACCEPTED\":c.value=i(\"estimates.accepted\");break;case\"REJECTED\":c.value=i(\"estimates.rejected\");break;default:c.value=i(\"general.all\");break}}return(t,r)=>{const d=n(\"BaseBreadcrumbItem\"),$=n(\"BaseBreadcrumb\"),m=n(\"BaseIcon\"),D=n(\"BaseButton\"),N=n(\"router-link\"),Y=n(\"BasePageHeader\"),Z=n(\"BaseCustomerSelectInput\"),v=n(\"BaseInputGroup\"),ee=n(\"BaseMultiselect\"),j=n(\"BaseDatePicker\"),te=n(\"BaseInput\"),ae=n(\"BaseFilterWrapper\"),se=n(\"BaseEmptyPlaceholder\"),w=n(\"BaseTab\"),le=n(\"BaseTabGroup\"),oe=n(\"BaseDropdownItem\"),ne=n(\"BaseDropdown\"),U=n(\"BaseCheckbox\"),re=n(\"BaseText\"),ie=n(\"BaseEstimateStatusBadge\"),ue=n(\"BaseFormatMoney\"),me=n(\"BaseTable\"),ce=n(\"BasePage\");return b(),E(ce,null,{default:s(()=>[a(ke),a(Y,{title:t.$t(\"estimates.title\")},{actions:s(()=>[C(a(D,{variant:\"primary-outline\",onClick:z},{right:s(e=>[B.value?(b(),E(m,{key:1,name:\"XIcon\",class:y(e.class)},null,8,[\"class\"])):(b(),E(m,{key:0,class:y(e.class),name:\"FilterIcon\"},null,8,[\"class\"]))]),default:s(()=>[_(p(t.$t(\"general.filter\"))+\" \",1)]),_:1},512),[[I,l(u).totalEstimateCount]]),l(T).hasAbilities(l(f).CREATE_ESTIMATE)?(b(),E(N,{key:0,to:\"estimates/create\"},{default:s(()=>[a(D,{variant:\"primary\",class:\"ml-4\"},{left:s(e=>[a(m,{name:\"PlusIcon\",class:y(e.class)},null,8,[\"class\"])]),default:s(()=>[_(\" \"+p(t.$t(\"estimates.new_estimate\")),1)]),_:1})]),_:1})):P(\"\",!0)]),default:s(()=>[a($,null,{default:s(()=>[a(d,{title:t.$t(\"general.home\"),to:\"dashboard\"},null,8,[\"title\"]),a(d,{title:t.$tc(\"estimates.estimate\",2),to:\"#\",active:\"\"},null,8,[\"title\"])]),_:1})]),_:1},8,[\"title\"]),C(a(ae,{\"row-on-xl\":!0,onClear:x},{default:s(()=>[a(v,{label:t.$tc(\"customers.customer\",1)},{default:s(()=>[a(Z,{modelValue:l(o).customer_id,\"onUpdate:modelValue\":r[0]||(r[0]=e=>l(o).customer_id=e),placeholder:t.$t(\"customers.type_or_click\"),\"value-prop\":\"id\",label:\"name\"},null,8,[\"modelValue\",\"placeholder\"])]),_:1},8,[\"label\"]),a(v,{label:t.$t(\"estimates.status\")},{default:s(()=>[a(ee,{modelValue:l(o).status,\"onUpdate:modelValue\":[r[1]||(r[1]=e=>l(o).status=e),Q],options:G.value,searchable:\"\",placeholder:t.$t(\"general.select_a_status\"),onRemove:r[2]||(r[2]=e=>J())},null,8,[\"modelValue\",\"options\",\"placeholder\"])]),_:1},8,[\"label\"]),a(v,{label:t.$t(\"general.from\")},{default:s(()=>[a(j,{modelValue:l(o).from_date,\"onUpdate:modelValue\":r[3]||(r[3]=e=>l(o).from_date=e),\"calendar-button\":!0,\"calendar-button-icon\":\"calendar\"},null,8,[\"modelValue\"])]),_:1},8,[\"label\"]),Ce,a(v,{label:t.$t(\"general.to\")},{default:s(()=>[a(j,{modelValue:l(o).to_date,\"onUpdate:modelValue\":r[4]||(r[4]=e=>l(o).to_date=e),\"calendar-button\":!0,\"calendar-button-icon\":\"calendar\"},null,8,[\"modelValue\"])]),_:1},8,[\"label\"]),a(v,{label:t.$t(\"estimates.estimate_number\")},{default:s(()=>[a(te,{modelValue:l(o).estimate_number,\"onUpdate:modelValue\":r[5]||(r[5]=e=>l(o).estimate_number=e)},{left:s(e=>[a(m,{name:\"HashtagIcon\",class:y(e.class)},null,8,[\"class\"])]),_:1},8,[\"modelValue\"])]),_:1},8,[\"label\"])]),_:1},512),[[I,B.value]]),C(a(se,{title:t.$t(\"estimates.no_estimates\"),description:t.$t(\"estimates.list_of_estimates\")},{actions:s(()=>[l(T).hasAbilities(l(f).CREATE_ESTIMATE)?(b(),E(D,{key:0,variant:\"primary-outline\",onClick:r[6]||(r[6]=e=>t.$router.push(\"/admin/estimates/create\"))},{left:s(e=>[a(m,{name:\"PlusIcon\",class:y(e.class)},null,8,[\"class\"])]),default:s(()=>[_(\" \"+p(t.$t(\"estimates.add_new_estimate\")),1)]),_:1})):P(\"\",!0)]),default:s(()=>[a(ye,{class:\"mt-5 mb-4\"})]),_:1},8,[\"title\",\"description\"]),[[I,l(M)]]),C(g(\"div\",Ie,[g(\"div\",Se,[a(le,{class:\"-mb-5\",onChange:X},{default:s(()=>[a(w,{title:t.$t(\"general.all\"),filter:\"\"},null,8,[\"title\"]),a(w,{title:t.$t(\"general.draft\"),filter:\"DRAFT\"},null,8,[\"title\"]),a(w,{title:t.$t(\"general.sent\"),filter:\"SENT\"},null,8,[\"title\"])]),_:1}),l(u).selectedEstimates.length&&l(T).hasAbilities(l(f).DELETE_ESTIMATE)?(b(),E(ne,{key:0,class:\"absolute float-right\"},{activator:s(()=>[g(\"span\",Ae,[_(p(t.$t(\"general.actions\"))+\" \",1),a(m,{name:\"ChevronDownIcon\"})])]),default:s(()=>[a(oe,{onClick:K},{default:s(()=>[a(m,{name:\"TrashIcon\",class:\"mr-3 text-gray-600\"}),_(\" \"+p(t.$t(\"general.delete\")),1)]),_:1})]),_:1})):P(\"\",!0)]),a(me,{ref:(e,F)=>{F.tableComponent=e,k.value=e},data:L,columns:l(O),\"placeholder-count\":l(u).totalEstimateCount>=20?10:5,class:\"mt-10\"},Ee({header:s(()=>[g(\"div\",Ve,[a(U,{modelValue:l(u).selectAllField,\"onUpdate:modelValue\":r[7]||(r[7]=e=>l(u).selectAllField=e),variant:\"primary\",onChange:l(u).selectAllEstimates},null,8,[\"modelValue\",\"onChange\"])])]),\"cell-checkbox\":s(({row:e})=>[g(\"div\",$e,[a(U,{id:e.id,modelValue:l(A),\"onUpdate:modelValue\":r[8]||(r[8]=F=>ge(A)?A.value=F:null),value:e.data.id},null,8,[\"id\",\"modelValue\",\"value\"])])]),\"cell-estimate_date\":s(({row:e})=>[_(p(e.data.formatted_estimate_date),1)]),\"cell-estimate_number\":s(({row:e})=>[a(N,{to:{path:`estimates/${e.data.id}/view`},class:\"font-medium text-primary-500\"},{default:s(()=>[_(p(e.data.estimate_number),1)]),_:2},1032,[\"to\"])]),\"cell-name\":s(({row:e})=>[a(re,{text:e.data.customer.name,length:30},null,8,[\"text\"])]),\"cell-status\":s(({row:e})=>[a(ie,{status:e.data.status,class:\"px-3 py-1\"},{default:s(()=>[_(p(e.data.status),1)]),_:2},1032,[\"status\"])]),\"cell-total\":s(({row:e})=>[a(ue,{amount:e.data.total,currency:e.data.customer.currency},null,8,[\"amount\",\"currency\"])]),_:2},[H()?{name:\"cell-actions\",fn:s(({row:e})=>[a(Te,{row:e.data,table:k.value},null,8,[\"row\",\"table\"])])}:void 0]),1032,[\"columns\",\"placeholder-count\"])],512),[[I,!l(M)]])]),_:1})}}};export{Ne as default};\n"
  },
  {
    "path": "public/build/assets/Index.f458eba6.js",
    "content": "import{B as b,J as ve,aN as pe,a0 as ge,k as R,aR as be,aS as Ie,r,o as I,l as B,w as s,f as a,q as k,ag as V,u as o,m as $,i as m,t as _,j as M,V as q,h as p,x as Be}from\"./vendor.d12b5734.js\";import{t as he,l as ye,j as Ce,u as Re,e as ke,g as h}from\"./main.465728e1.js\";import{_ as Ve}from\"./SendInvoiceModal.f818e383.js\";import{_ as $e}from\"./RecurringInvoiceIndexDropdown.5e1ae0da.js\";import{_ as Ee}from\"./MoonwalkerIcon.b55d3604.js\";import\"./mail-driver.0a974f6a.js\";const Ne=p(\"div\",{class:\"hidden w-8 h-0 mx-4 border border-gray-400 border-solid xl:block\",style:{\"margin-top\":\"1.5rem\"}},null,-1),Se={class:\"relative table-container\"},Ae={class:\"relative flex items-center justify-between h-10 mt-5 list-none border-b-2 border-gray-200 border-solid\"},Te={class:\"flex text-sm font-medium cursor-pointer select-none text-primary-400\"},we={class:\"absolute items-center left-6 top-2.5 select-none\"},xe={class:\"relative block\"},Ge={setup(De){const c=he();ye();const H=Ce(),D=Re(),E=ke(),y=b(null),{t:i}=ve(),g=b(!1),F=b([\"ACTIVE\",\"ON_HOLD\",\"ALL\"]),N=b(!0),f=b(\"recurring-invoices.all\");pe();let l=ge({customer_id:\"\",status:\"\",from_date:\"\",to_date:\"\"});const L=R(()=>!c.totalRecurringInvoices&&!N.value),S=R({get:()=>c.selectedRecurringInvoices,set:e=>c.selectRecurringInvoice(e)}),W=R(()=>[{key:\"checkbox\",thClass:\"extra\",tdClass:\"font-medium text-gray-900\"},{key:\"starts_at\",label:i(\"recurring_invoices.starts_at\"),thClass:\"extra\",tdClass:\"font-medium\"},{key:\"customer\",label:i(\"invoices.customer\")},{key:\"frequency\",label:i(\"recurring_invoices.frequency.title\")},{key:\"status\",label:i(\"invoices.status\")},{key:\"total\",label:i(\"invoices.total\")},{key:\"actions\",label:i(\"recurring_invoices.action\"),tdClass:\"text-right text-sm font-medium\",thClass:\"text-right\",sortable:!1}]);be(l,()=>{Y()},{debounce:500}),Ie(()=>{c.selectAllField&&c.selectAllRecurringInvoices()});const z=R(()=>F.value.findIndex(e=>e===l.status));function J(){return E.hasAbilities([h.DELETE_RECURRING_INVOICE,h.EDIT_RECURRING_INVOICE,h.VIEW_RECURRING_INVOICE])}function X(e){const n=c.frequencies.find(u=>u.value===e);return n?n.label:`CUSTOM: ${e}`}function A(){y.value&&y.value.refresh()}async function K({page:e,filter:n,sort:u}){let v={customer_id:l.customer_id,status:l.status,from_date:l.from_date,to_date:l.to_date,orderByField:u.fieldName||\"created_at\",orderBy:u.order||\"desc\",page:e};N.value=!0;let d=await c.fetchRecurringInvoices(v);return N.value=!1,{data:d.data.data,pagination:{totalPages:d.data.meta.last_page,currentPage:e,totalCount:d.data.meta.total,limit:10}}}function Q(e){if(f.value==e.title)return!0;switch(f.value=e.title,e.title){case i(\"recurring_invoices.active\"):l.status=\"ACTIVE\";break;case i(\"recurring_invoices.on_hold\"):l.status=\"ON_HOLD\";break;case i(\"recurring_invoices.all\"):l.status=\"ALL\";break}}function Y(){c.$patch(e=>{e.selectedRecurringInvoices=[],e.selectAllField=!1}),A()}function O(){l.customer_id=\"\",l.status=\"\",l.from_date=\"\",l.to_date=\"\",l.invoice_number=\"\",f.value=i(\"general.all\")}async function Z(e=null){H.openDialog({title:i(\"general.are_you_sure\"),message:i(\"invoices.confirm_delete\"),yesLabel:i(\"general.ok\"),noLabel:i(\"general.cancel\"),variant:\"danger\",hideNoButton:!1,size:\"lg\"}).then(async n=>{n&&await c.deleteMultipleRecurringInvoices(e).then(u=>{u.data.success?(A(),c.$patch(v=>{v.selectedRecurringInvoices=[],v.selectAllField=!1}),D.showNotification({type:\"success\",message:i(\"recurring_invoices.deleted_message\",2)})):u.data.error&&D.showNotification({type:\"error\",message:u.data.message})})})}function ee(){g.value&&O(),g.value=!g.value}async function te(e,n){l.status=\"\",A()}function ae(e){switch(e){case\"ACTIVE\":f.value=i(\"recurring_invoices.active\");break;case\"ON_HOLD\":f.value=i(\"recurring_invoices.on_hold\");break;case\"ALL\":f.value=i(\"recurring_invoices.all\");break}}return(e,n)=>{const u=r(\"BaseBreadcrumbItem\"),v=r(\"BaseBreadcrumb\"),d=r(\"BaseIcon\"),T=r(\"BaseButton\"),U=r(\"router-link\"),se=r(\"BasePageHeader\"),ne=r(\"BaseCustomerSelectInput\"),C=r(\"BaseInputGroup\"),le=r(\"BaseMultiselect\"),P=r(\"BaseDatePicker\"),oe=r(\"BaseFilterWrapper\"),re=r(\"BaseEmptyPlaceholder\"),w=r(\"BaseTab\"),ie=r(\"BaseTabGroup\"),ce=r(\"BaseDropdownItem\"),ue=r(\"BaseDropdown\"),j=r(\"BaseCheckbox\"),G=r(\"BaseText\"),de=r(\"BaseRecurringInvoiceStatusBadge\"),me=r(\"BaseFormatMoney\"),_e=r(\"BaseTable\"),fe=r(\"BasePage\");return I(),B(fe,null,{default:s(()=>[a(Ve),a(se,{title:e.$t(\"recurring_invoices.title\")},{actions:s(()=>[k(a(T,{variant:\"primary-outline\",onClick:ee},{right:s(t=>[g.value?(I(),B(d,{key:1,name:\"XIcon\",class:$(t.class)},null,8,[\"class\"])):(I(),B(d,{key:0,name:\"FilterIcon\",class:$(t.class)},null,8,[\"class\"]))]),default:s(()=>[m(_(e.$t(\"general.filter\"))+\" \",1)]),_:1},512),[[V,o(c).totalRecurringInvoices]]),o(E).hasAbilities(o(h).CREATE_RECURRING_INVOICE)?(I(),B(U,{key:0,to:\"recurring-invoices/create\"},{default:s(()=>[a(T,{variant:\"primary\",class:\"ml-4\"},{left:s(t=>[a(d,{name:\"PlusIcon\",class:$(t.class)},null,8,[\"class\"])]),default:s(()=>[m(\" \"+_(e.$t(\"recurring_invoices.new_invoice\")),1)]),_:1})]),_:1})):M(\"\",!0)]),default:s(()=>[a(v,null,{default:s(()=>[a(u,{title:e.$t(\"general.home\"),to:\"dashboard\"},null,8,[\"title\"]),a(u,{title:e.$tc(\"recurring_invoices.invoice\",2),to:\"#\",active:\"\"},null,8,[\"title\"])]),_:1})]),_:1},8,[\"title\"]),k(a(oe,{onClear:O},{default:s(()=>[a(C,{label:e.$tc(\"customers.customer\",1)},{default:s(()=>[a(ne,{modelValue:o(l).customer_id,\"onUpdate:modelValue\":n[0]||(n[0]=t=>o(l).customer_id=t),placeholder:e.$t(\"customers.type_or_click\"),\"value-prop\":\"id\",label:\"name\"},null,8,[\"modelValue\",\"placeholder\"])]),_:1},8,[\"label\"]),a(C,{label:e.$t(\"recurring_invoices.status\")},{default:s(()=>[a(le,{modelValue:o(l).status,\"onUpdate:modelValue\":[n[1]||(n[1]=t=>o(l).status=t),ae],options:F.value,searchable:\"\",placeholder:e.$t(\"general.select_a_status\"),onRemove:n[2]||(n[2]=t=>te())},null,8,[\"modelValue\",\"options\",\"placeholder\"])]),_:1},8,[\"label\"]),a(C,{label:e.$t(\"general.from\")},{default:s(()=>[a(P,{modelValue:o(l).from_date,\"onUpdate:modelValue\":n[3]||(n[3]=t=>o(l).from_date=t),\"calendar-button\":!0,\"calendar-button-icon\":\"calendar\"},null,8,[\"modelValue\"])]),_:1},8,[\"label\"]),Ne,a(C,{label:e.$t(\"general.to\")},{default:s(()=>[a(P,{modelValue:o(l).to_date,\"onUpdate:modelValue\":n[4]||(n[4]=t=>o(l).to_date=t),\"calendar-button\":!0,\"calendar-button-icon\":\"calendar\"},null,8,[\"modelValue\"])]),_:1},8,[\"label\"])]),_:1},512),[[V,g.value]]),k(a(re,{title:e.$t(\"recurring_invoices.no_invoices\"),description:e.$t(\"recurring_invoices.list_of_invoices\")},q({default:s(()=>[a(Ee,{class:\"mt-5 mb-4\"})]),_:2},[o(E).hasAbilities(o(h).CREATE_RECURRING_INVOICE)?{name:\"actions\",fn:s(()=>[a(T,{variant:\"primary-outline\",onClick:n[5]||(n[5]=t=>e.$router.push(\"/admin/recurring-invoices/create\"))},{left:s(t=>[a(d,{name:\"PlusIcon\",class:$(t.class)},null,8,[\"class\"])]),default:s(()=>[m(\" \"+_(e.$t(\"recurring_invoices.add_new_invoice\")),1)]),_:1})])}:void 0]),1032,[\"title\",\"description\"]),[[V,o(L)]]),k(p(\"div\",Se,[p(\"div\",Ae,[a(ie,{class:\"-mb-5\",\"default-index\":o(z),onChange:Q},{default:s(()=>[a(w,{title:e.$t(\"recurring_invoices.all\"),filter:\"ALL\"},null,8,[\"title\"]),a(w,{title:e.$t(\"recurring_invoices.active\"),filter:\"ACTIVE\"},null,8,[\"title\"]),a(w,{title:e.$t(\"recurring_invoices.on_hold\"),filter:\"ON_HOLD\"},null,8,[\"title\"])]),_:1},8,[\"default-index\"]),o(c).selectedRecurringInvoices.length?(I(),B(ue,{key:0,class:\"absolute float-right\"},{activator:s(()=>[p(\"span\",Te,[m(_(e.$t(\"general.actions\"))+\" \",1),a(d,{name:\"ChevronDownIcon\",class:\"h-5\"})])]),default:s(()=>[a(ce,{onClick:n[6]||(n[6]=t=>Z())},{default:s(()=>[a(d,{name:\"TrashIcon\",class:\"mr-3 text-gray-600\"}),m(\" \"+_(e.$t(\"general.delete\")),1)]),_:1})]),_:1})):M(\"\",!0)]),a(_e,{ref:(t,x)=>{x.table=t,y.value=t},data:K,columns:o(W),\"placeholder-count\":o(c).totalRecurringInvoices>=20?10:5,class:\"mt-10\"},q({header:s(()=>[p(\"div\",we,[a(j,{modelValue:o(c).selectAllField,\"onUpdate:modelValue\":n[7]||(n[7]=t=>o(c).selectAllField=t),variant:\"primary\",onChange:o(c).selectAllRecurringInvoices},null,8,[\"modelValue\",\"onChange\"])])]),\"cell-checkbox\":s(({row:t})=>[p(\"div\",xe,[a(j,{id:t.id,modelValue:o(S),\"onUpdate:modelValue\":n[8]||(n[8]=x=>Be(S)?S.value=x:null),value:t.data.id},null,8,[\"id\",\"modelValue\",\"value\"])])]),\"cell-starts_at\":s(({row:t})=>[m(_(t.data.formatted_starts_at),1)]),\"cell-customer\":s(({row:t})=>[a(U,{to:{path:`recurring-invoices/${t.data.id}/view`}},{default:s(()=>[a(G,{text:t.data.customer.name,length:30,tag:\"span\",class:\"font-medium text-primary-500 flex flex-col\"},null,8,[\"text\"]),a(G,{text:t.data.customer.contact_name?t.data.customer.contact_name:\"\",length:30,tag:\"span\",class:\"text-xs text-gray-400\"},null,8,[\"text\"])]),_:2},1032,[\"to\"])]),\"cell-frequency\":s(({row:t})=>[m(_(X(t.data.frequency)),1)]),\"cell-status\":s(({row:t})=>[a(de,{status:t.data.status,class:\"px-3 py-1\"},{default:s(()=>[m(_(t.data.status),1)]),_:2},1032,[\"status\"])]),\"cell-total\":s(({row:t})=>[a(me,{amount:t.data.total,currency:t.data.customer.currency},null,8,[\"amount\",\"currency\"])]),_:2},[J?{name:\"cell-actions\",fn:s(({row:t})=>[a($e,{row:t.data,table:y.value},null,8,[\"row\",\"table\"])])}:void 0]),1032,[\"columns\",\"placeholder-count\"])],512),[[V,!o(L)]])]),_:1})}}};export{Ge as default};\n"
  },
  {
    "path": "public/build/assets/Index.ff30d2b8.js",
    "content": "import{J as j,a0 as C,B as h,I as o,k as $,C as L,D as F,r as i,o as q,e as N,h as c,f as a,w as m,u as p,i as I,t as V,U as H,l as K,m as X}from\"./vendor.d12b5734.js\";import{d as U,b as z}from\"./main.465728e1.js\";const Z={class:\"grid gap-8 md:grid-cols-12 pt-10\"},ee={class:\"col-span-8 md:col-span-4\"},te={class:\"flex flex-col my-6 lg:space-x-3 lg:flex-row\"},ae=c(\"div\",{class:\"hidden w-5 h-0 mx-4 border border-gray-400 border-solid xl:block\",style:{\"margin-top\":\"2.5rem\"}},null,-1),oe={class:\"col-span-8\"},re=[\"src\"],ne={setup(Q){const{t:v}=j(),g=U();g.downloadReport=T;const u=C([{label:v(\"dateRange.today\"),key:\"Today\"},{label:v(\"dateRange.this_week\"),key:\"This Week\"},{label:v(\"dateRange.this_month\"),key:\"This Month\"},{label:v(\"dateRange.this_quarter\"),key:\"This Quarter\"},{label:v(\"dateRange.this_year\"),key:\"This Year\"},{label:v(\"dateRange.previous_week\"),key:\"Previous Week\"},{label:v(\"dateRange.previous_month\"),key:\"Previous Month\"},{label:v(\"dateRange.previous_quarter\"),key:\"Previous Quarter\"},{label:v(\"dateRange.previous_year\"),key:\"Previous Year\"},{label:v(\"dateRange.custom\"),key:\"Custom\"}]),B=h(u[2]),n=h([\"By Customer\",\"By Item\"]),y=h(\"By Customer\");let w=h(new Date),D=h(null),e=h(null),Y=h(null),s=C({from_date:o().startOf(\"month\").format(\"YYYY-MM-DD\").toString(),to_date:o().endOf(\"month\").format(\"YYYY-MM-DD\").toString()});const R=z(),r=$(()=>D.value),d=$(()=>R.selectedCompany),P=$(()=>`${e.value}?from_date=${o(s.from_date).format(\"YYYY-MM-DD\")}&to_date=${o(s.to_date).format(\"YYYY-MM-DD\")}`),x=$(()=>`${Y.value}?from_date=${o(s.from_date).format(\"YYYY-MM-DD\")}&to_date=${o(s.to_date).format(\"YYYY-MM-DD\")}`);L(w,f=>{s.from_date=o(f).startOf(\"year\").toString(),s.to_date=o(f).endOf(\"year\").toString()}),F(()=>{e.value=`/reports/sales/customers/${d.value.unique_hash}`,Y.value=`/reports/sales/items/${d.value.unique_hash}`,l()});function _(f,k){return o()[f](k).format(\"YYYY-MM-DD\")}function O(f,k){return o().subtract(1,k)[f](k).format(\"YYYY-MM-DD\")}function t(){switch(B.value.key){case\"Today\":s.from_date=o().format(\"YYYY-MM-DD\"),s.to_date=o().format(\"YYYY-MM-DD\");break;case\"This Week\":s.from_date=_(\"startOf\",\"isoWeek\"),s.to_date=_(\"endOf\",\"isoWeek\");break;case\"This Month\":s.from_date=_(\"startOf\",\"month\"),s.to_date=_(\"endOf\",\"month\");break;case\"This Quarter\":s.from_date=_(\"startOf\",\"quarter\"),s.to_date=_(\"endOf\",\"quarter\");break;case\"This Year\":s.from_date=_(\"startOf\",\"year\"),s.to_date=_(\"endOf\",\"year\");break;case\"Previous Week\":s.from_date=O(\"startOf\",\"isoWeek\"),s.to_date=O(\"endOf\",\"isoWeek\");break;case\"Previous Month\":s.from_date=O(\"startOf\",\"month\"),s.to_date=O(\"endOf\",\"month\");break;case\"Previous Quarter\":s.from_date=O(\"startOf\",\"quarter\"),s.to_date=O(\"endOf\",\"quarter\");break;case\"Previous Year\":s.from_date=O(\"startOf\",\"year\"),s.to_date=O(\"endOf\",\"year\");break}}async function l(){return y.value===\"By Customer\"?(D.value=P.value,!0):(D.value=x.value,!0)}async function S(){let f=await M();return window.open(r.value,\"_blank\"),f}function M(){return y.value===\"By Customer\"?(D.value=P.value,!0):(D.value=x.value,!0)}function T(){if(!M())return!1;window.open(r.value+\"&download=true\"),setTimeout(()=>y.value===\"By Customer\"?(D.value=P.value,!0):(D.value=x.value,!0),200)}return(f,k)=>{const b=i(\"BaseMultiselect\"),G=i(\"BaseInputGroup\"),E=i(\"BaseDatePicker\"),J=i(\"BaseButton\"),A=i(\"BaseIcon\");return q(),N(\"div\",Z,[c(\"div\",ee,[a(G,{label:f.$t(\"reports.sales.date_range\"),class:\"col-span-12 md:col-span-8\"},{default:m(()=>[a(b,{modelValue:B.value,\"onUpdate:modelValue\":[k[0]||(k[0]=W=>B.value=W),t],options:p(u),\"value-prop\":\"key\",\"track-by\":\"key\",label:\"label\",object:\"\"},null,8,[\"modelValue\",\"options\"])]),_:1},8,[\"label\"]),c(\"div\",te,[a(G,{label:f.$t(\"reports.sales.from_date\")},{default:m(()=>[a(E,{modelValue:p(s).from_date,\"onUpdate:modelValue\":k[1]||(k[1]=W=>p(s).from_date=W)},null,8,[\"modelValue\"])]),_:1},8,[\"label\"]),ae,a(G,{label:f.$t(\"reports.sales.to_date\")},{default:m(()=>[a(E,{modelValue:p(s).to_date,\"onUpdate:modelValue\":k[2]||(k[2]=W=>p(s).to_date=W)},null,8,[\"modelValue\"])]),_:1},8,[\"label\"])]),a(G,{label:f.$t(\"reports.sales.report_type\"),class:\"col-span-12 md:col-span-8\"},{default:m(()=>[a(b,{modelValue:y.value,\"onUpdate:modelValue\":[k[3]||(k[3]=W=>y.value=W),l],options:n.value,placeholder:f.$t(\"reports.sales.report_type\"),class:\"mt-1\"},null,8,[\"modelValue\",\"options\",\"placeholder\"])]),_:1},8,[\"label\"]),a(J,{variant:\"primary-outline\",class:\"content-center hidden mt-0 w-md md:flex md:mt-8\",type:\"submit\",onClick:H(M,[\"prevent\"])},{default:m(()=>[I(V(f.$t(\"reports.update_report\")),1)]),_:1},8,[\"onClick\"])]),c(\"div\",oe,[c(\"iframe\",{src:p(r),class:\"hidden w-full h-screen border-gray-100 border-solid rounded md:flex\"},null,8,re),c(\"a\",{class:\"flex items-center justify-center h-10 px-5 py-1 text-sm font-medium leading-none text-center text-white rounded whitespace-nowrap md:hidden bg-primary-500\",onClick:S},[a(A,{name:\"DocumentTextIcon\",class:\"h-5 mr-2\"}),c(\"span\",null,V(f.$t(\"reports.view_pdf\")),1)])])])}}},se={class:\"grid gap-8 md:grid-cols-12 pt-10\"},le={class:\"col-span-8 md:col-span-4\"},de={class:\"flex flex-col mt-6 lg:space-x-3 lg:flex-row\"},ue=c(\"div\",{class:\"hidden w-5 h-0 mx-4 border border-gray-400 border-solid xl:block\",style:{\"margin-top\":\"2.5rem\"}},null,-1),ie={class:\"col-span-8\"},ce=[\"src\"],me={setup(Q){const v=U(),g=z(),{t:u}=j();v.downloadReport=O;const B=C([{label:u(\"dateRange.today\"),key:\"Today\"},{label:u(\"dateRange.this_week\"),key:\"This Week\"},{label:u(\"dateRange.this_month\"),key:\"This Month\"},{label:u(\"dateRange.this_quarter\"),key:\"This Quarter\"},{label:u(\"dateRange.this_year\"),key:\"This Year\"},{label:u(\"dateRange.previous_week\"),key:\"Previous Week\"},{label:u(\"dateRange.previous_month\"),key:\"Previous Month\"},{label:u(\"dateRange.previous_quarter\"),key:\"Previous Quarter\"},{label:u(\"dateRange.previous_year\"),key:\"Previous Year\"},{label:u(\"dateRange.custom\"),key:\"Custom\"}]),n=h(B[2]);let y=h(new Date),w=h(null),D=h(null);const e=C({from_date:o().startOf(\"month\").toString(),to_date:o().endOf(\"month\").toString()}),Y=$(()=>w.value),s=$(()=>g.selectedCompany),R=$(()=>`${D.value}?from_date=${o(e.from_date).format(\"YYYY-MM-DD\")}&to_date=${o(e.to_date).format(\"YYYY-MM-DD\")}`);F(()=>{D.value=`/reports/expenses/${s.value.unique_hash}`,w.value=R.value}),L(()=>y,t=>{e.from_date=o(t).startOf(\"year\").toString(),e.to_date=o(t).endOf(\"year\").toString()});function r(t,l){return o()[t](l).format(\"YYYY-MM-DD\")}function d(t,l){return o().subtract(1,l)[t](l).format(\"YYYY-MM-DD\")}function P(){switch(n.value.key){case\"Today\":e.from_date=o().format(\"YYYY-MM-DD\"),e.to_date=o().format(\"YYYY-MM-DD\");break;case\"This Week\":e.from_date=r(\"startOf\",\"isoWeek\"),e.to_date=r(\"endOf\",\"isoWeek\");break;case\"This Month\":e.from_date=r(\"startOf\",\"month\"),e.to_date=r(\"endOf\",\"month\");break;case\"This Quarter\":e.from_date=r(\"startOf\",\"quarter\"),e.to_date=r(\"endOf\",\"quarter\");break;case\"This Year\":e.from_date=r(\"startOf\",\"year\"),e.to_date=r(\"endOf\",\"year\");break;case\"Previous Week\":e.from_date=d(\"startOf\",\"isoWeek\"),e.to_date=d(\"endOf\",\"isoWeek\");break;case\"Previous Month\":e.from_date=d(\"startOf\",\"month\"),e.to_date=d(\"endOf\",\"month\");break;case\"Previous Quarter\":e.from_date=d(\"startOf\",\"quarter\"),e.to_date=d(\"endOf\",\"quarter\");break;case\"Previous Year\":e.from_date=d(\"startOf\",\"year\"),e.to_date=d(\"endOf\",\"year\");break}}async function x(){let t=await _();return window.open(Y.value,\"_blank\"),t}function _(){return w.value=R.value,!0}function O(){!_(),window.open(Y.value+\"&download=true\"),setTimeout(()=>{w.value=R.value},200)}return(t,l)=>{const S=i(\"BaseMultiselect\"),M=i(\"BaseInputGroup\"),T=i(\"BaseDatePicker\"),f=i(\"BaseButton\"),k=i(\"BaseIcon\");return q(),N(\"div\",se,[c(\"div\",le,[a(M,{label:t.$t(\"reports.sales.date_range\"),class:\"col-span-12 md:col-span-8\"},{default:m(()=>[a(S,{modelValue:n.value,\"onUpdate:modelValue\":[l[0]||(l[0]=b=>n.value=b),P],options:p(B),\"value-prop\":\"key\",\"track-by\":\"key\",label:\"label\",object:\"\"},null,8,[\"modelValue\",\"options\"])]),_:1},8,[\"label\"]),c(\"div\",de,[a(M,{label:t.$t(\"reports.expenses.from_date\")},{default:m(()=>[a(T,{modelValue:p(e).from_date,\"onUpdate:modelValue\":l[1]||(l[1]=b=>p(e).from_date=b)},null,8,[\"modelValue\"])]),_:1},8,[\"label\"]),ue,a(M,{label:t.$t(\"reports.expenses.to_date\")},{default:m(()=>[a(T,{modelValue:p(e).to_date,\"onUpdate:modelValue\":l[2]||(l[2]=b=>p(e).to_date=b)},null,8,[\"modelValue\"])]),_:1},8,[\"label\"])]),a(f,{variant:\"primary-outline\",class:\"content-center hidden mt-0 w-md md:flex md:mt-8\",type:\"submit\",onClick:H(_,[\"prevent\"])},{default:m(()=>[I(V(t.$t(\"reports.update_report\")),1)]),_:1},8,[\"onClick\"])]),c(\"div\",ie,[c(\"iframe\",{src:p(Y),class:\"hidden w-full h-screen border-gray-100 border-solid rounded md:flex\"},null,8,ce),c(\"a\",{class:\"flex items-center justify-center h-10 px-5 py-1 text-sm font-medium leading-none text-center text-white rounded whitespace-nowrap md:hidden bg-primary-500 cursor-pointer\",onClick:x},[a(k,{name:\"DocumentTextIcon\",class:\"h-5 mr-2\"}),c(\"span\",null,V(t.$t(\"reports.view_pdf\")),1)])])])}}},pe={class:\"grid gap-8 md:grid-cols-12 pt-10\"},fe={class:\"col-span-8 md:col-span-4\"},_e={class:\"flex flex-col mt-6 lg:space-x-3 lg:flex-row\"},be=c(\"div\",{class:\"hidden w-5 h-0 mx-4 border border-gray-400 border-solid xl:block\",style:{\"margin-top\":\"2.5rem\"}},null,-1),ye={class:\"col-span-8\"},ke=[\"src\"],he={setup(Q){const v=U(),g=z(),{t:u}=j();v.downloadReport=O;const B=C([{label:u(\"dateRange.today\"),key:\"Today\"},{label:u(\"dateRange.this_week\"),key:\"This Week\"},{label:u(\"dateRange.this_month\"),key:\"This Month\"},{label:u(\"dateRange.this_quarter\"),key:\"This Quarter\"},{label:u(\"dateRange.this_year\"),key:\"This Year\"},{label:u(\"dateRange.previous_week\"),key:\"Previous Week\"},{label:u(\"dateRange.previous_month\"),key:\"Previous Month\"},{label:u(\"dateRange.previous_quarter\"),key:\"Previous Quarter\"},{label:u(\"dateRange.previous_year\"),key:\"Previous Year\"},{label:u(\"dateRange.custom\"),key:\"Custom\"}]),n=h(B[2]);let y=h(null),w=h(null),D=h(new Date);const e=C({from_date:o().startOf(\"month\").toString(),to_date:o().endOf(\"month\").toString()}),Y=$(()=>y.value),s=$(()=>g.selectedCompany),R=$(()=>`${w.value}?from_date=${o(e.from_date).format(\"YYYY-MM-DD\")}&to_date=${o(e.to_date).format(\"YYYY-MM-DD\")}`);L(D,t=>{e.from_date=o(t).startOf(\"year\").toString(),e.to_date=o(t).endOf(\"year\").toString()}),F(()=>{w.value=`/reports/profit-loss/${s.value.unique_hash}`,y.value=R.value});function r(t,l){return o()[t](l).format(\"YYYY-MM-DD\")}function d(t,l){return o().subtract(1,l)[t](l).format(\"YYYY-MM-DD\")}function P(){switch(n.value.key){case\"Today\":e.from_date=o().format(\"YYYY-MM-DD\"),e.to_date=o().format(\"YYYY-MM-DD\");break;case\"This Week\":e.from_date=r(\"startOf\",\"isoWeek\"),e.to_date=r(\"endOf\",\"isoWeek\");break;case\"This Month\":e.from_date=r(\"startOf\",\"month\"),e.to_date=r(\"endOf\",\"month\");break;case\"This Quarter\":e.from_date=r(\"startOf\",\"quarter\"),e.to_date=r(\"endOf\",\"quarter\");break;case\"This Year\":e.from_date=r(\"startOf\",\"year\"),e.to_date=r(\"endOf\",\"year\");break;case\"Previous Week\":e.from_date=d(\"startOf\",\"isoWeek\"),e.to_date=d(\"endOf\",\"isoWeek\");break;case\"Previous Month\":e.from_date=d(\"startOf\",\"month\"),e.to_date=d(\"endOf\",\"month\");break;case\"Previous Quarter\":e.from_date=d(\"startOf\",\"quarter\"),e.to_date=d(\"endOf\",\"quarter\");break;case\"Previous Year\":e.from_date=d(\"startOf\",\"year\"),e.to_date=d(\"endOf\",\"year\");break}}async function x(){let t=await _();return window.open(Y.value,\"_blank\"),t}function _(){return y.value=R.value,!0}function O(){!_(),window.open(Y.value+\"&download=true\"),setTimeout(()=>{y.value=R.value},200)}return(t,l)=>{const S=i(\"BaseMultiselect\"),M=i(\"BaseInputGroup\"),T=i(\"BaseDatePicker\"),f=i(\"BaseButton\"),k=i(\"BaseIcon\");return q(),N(\"div\",pe,[c(\"div\",fe,[a(M,{label:t.$t(\"reports.profit_loss.date_range\"),class:\"col-span-12 md:col-span-8\"},{default:m(()=>[a(S,{modelValue:n.value,\"onUpdate:modelValue\":[l[0]||(l[0]=b=>n.value=b),P],options:p(B),\"value-prop\":\"key\",\"track-by\":\"key\",label:\"label\",object:\"\"},null,8,[\"modelValue\",\"options\"])]),_:1},8,[\"label\"]),c(\"div\",_e,[a(M,{label:t.$t(\"reports.profit_loss.from_date\")},{default:m(()=>[a(T,{modelValue:p(e).from_date,\"onUpdate:modelValue\":l[1]||(l[1]=b=>p(e).from_date=b)},null,8,[\"modelValue\"])]),_:1},8,[\"label\"]),be,a(M,{label:t.$t(\"reports.profit_loss.to_date\")},{default:m(()=>[a(T,{modelValue:p(e).to_date,\"onUpdate:modelValue\":l[2]||(l[2]=b=>p(e).to_date=b)},null,8,[\"modelValue\"])]),_:1},8,[\"label\"])]),a(f,{variant:\"primary-outline\",class:\"content-center hidden mt-0 w-md md:flex md:mt-8\",type:\"submit\",onClick:H(_,[\"prevent\"])},{default:m(()=>[I(V(t.$t(\"reports.update_report\")),1)]),_:1},8,[\"onClick\"])]),c(\"div\",ye,[c(\"iframe\",{src:p(Y),class:\"hidden w-full h-screen border-gray-100 border-solid rounded md:flex\"},null,8,ke),c(\"a\",{class:\"flex items-center justify-center h-10 px-5 py-1 text-sm font-medium leading-none text-center text-white rounded whitespace-nowrap md:hidden bg-primary-500\",onClick:x},[a(k,{name:\"DocumentTextIcon\",class:\"h-5 mr-2\"}),c(\"span\",null,V(t.$t(\"reports.view_pdf\")),1)])])])}}},ve={class:\"grid gap-8 md:grid-cols-12 pt-10\"},ge={class:\"col-span-8 md:col-span-4\"},Ye={class:\"flex flex-col mt-6 lg:space-x-3 lg:flex-row\"},De=c(\"div\",{class:\"hidden w-5 h-0 mx-4 border border-gray-400 border-solid xl:block\",style:{\"margin-top\":\"2.5rem\"}},null,-1),we={class:\"col-span-8\"},Me=[\"src\"],Be={setup(Q){const v=U();v.downloadReport=O;const{t:g}=j(),u=C([{label:g(\"dateRange.today\"),key:\"Today\"},{label:g(\"dateRange.this_week\"),key:\"This Week\"},{label:g(\"dateRange.this_month\"),key:\"This Month\"},{label:g(\"dateRange.this_quarter\"),key:\"This Quarter\"},{label:g(\"dateRange.this_year\"),key:\"This Year\"},{label:g(\"dateRange.previous_week\"),key:\"Previous Week\"},{label:g(\"dateRange.previous_month\"),key:\"Previous Month\"},{label:g(\"dateRange.previous_quarter\"),key:\"Previous Quarter\"},{label:g(\"dateRange.previous_year\"),key:\"Previous Year\"},{label:g(\"dateRange.custom\"),key:\"Custom\"}]),B=h(u[2]),n=C({from_date:o().startOf(\"month\").format(\"YYYY-MM-DD\").toString(),to_date:o().endOf(\"month\").format(\"YYYY-MM-DD\").toString()});let y=h(null);const w=$(()=>y.value),D=z(),e=$(()=>D.selectedCompany);let Y=h(null);F(()=>{Y.value=`/reports/tax-summary/${e.value.unique_hash}`,y.value=s.value});const s=$(()=>`${Y.value}?from_date=${o(n.from_date).format(\"YYYY-MM-DD\")}&to_date=${o(n.to_date).format(\"YYYY-MM-DD\")}`);let R=h(new Date);L(R.value,t=>{n.from_date=o(t).startOf(\"year\").toString(),n.to_date=o(t).endOf(\"year\").toString()});function r(t,l){return o()[t](l).format(\"YYYY-MM-DD\")}function d(t,l){return o().subtract(1,l)[t](l).format(\"YYYY-MM-DD\")}function P(){switch(B.value.key){case\"Today\":n.from_date=o().format(\"YYYY-MM-DD\"),n.to_date=o().format(\"YYYY-MM-DD\");break;case\"This Week\":n.from_date=r(\"startOf\",\"isoWeek\"),n.to_date=r(\"endOf\",\"isoWeek\");break;case\"This Month\":n.from_date=r(\"startOf\",\"month\"),n.to_date=r(\"endOf\",\"month\");break;case\"This Quarter\":n.from_date=r(\"startOf\",\"quarter\"),n.to_date=r(\"endOf\",\"quarter\");break;case\"This Year\":n.from_date=r(\"startOf\",\"year\"),n.to_date=r(\"endOf\",\"year\");break;case\"Previous Week\":n.from_date=d(\"startOf\",\"isoWeek\"),n.to_date=d(\"endOf\",\"isoWeek\");break;case\"Previous Month\":n.from_date=d(\"startOf\",\"month\"),n.to_date=d(\"endOf\",\"month\");break;case\"Previous Quarter\":n.from_date=d(\"startOf\",\"quarter\"),n.to_date=d(\"endOf\",\"quarter\");break;case\"Previous Year\":n.from_date=d(\"startOf\",\"year\"),n.to_date=d(\"endOf\",\"year\");break}}async function x(){let t=await _();return window.open(w.value,\"_blank\"),t}function _(){return y.value=s.value,!0}function O(){!_(),window.open(w.value+\"&download=true\"),setTimeout(()=>{y.value=s.value},200)}return(t,l)=>{const S=i(\"BaseMultiselect\"),M=i(\"BaseInputGroup\"),T=i(\"BaseDatePicker\"),f=i(\"BaseButton\"),k=i(\"BaseIcon\");return q(),N(\"div\",ve,[c(\"div\",ge,[a(M,{label:t.$t(\"reports.taxes.date_range\"),class:\"col-span-12 md:col-span-8\"},{default:m(()=>[a(S,{modelValue:B.value,\"onUpdate:modelValue\":[l[0]||(l[0]=b=>B.value=b),P],options:p(u),\"value-prop\":\"key\",\"track-by\":\"key\",label:\"label\",object:\"\"},null,8,[\"modelValue\",\"options\"])]),_:1},8,[\"label\"]),c(\"div\",Ye,[a(M,{label:t.$t(\"reports.taxes.from_date\")},{default:m(()=>[a(T,{modelValue:p(n).from_date,\"onUpdate:modelValue\":l[1]||(l[1]=b=>p(n).from_date=b)},null,8,[\"modelValue\"])]),_:1},8,[\"label\"]),De,a(M,{label:t.$t(\"reports.taxes.to_date\")},{default:m(()=>[a(T,{modelValue:p(n).to_date,\"onUpdate:modelValue\":l[2]||(l[2]=b=>p(n).to_date=b)},null,8,[\"modelValue\"])]),_:1},8,[\"label\"])]),a(f,{variant:\"primary-outline\",class:\"content-center hidden mt-0 w-md md:flex md:mt-8\",type:\"submit\",onClick:H(_,[\"prevent\"])},{default:m(()=>[I(V(t.$t(\"reports.update_report\")),1)]),_:1},8,[\"onClick\"])]),c(\"div\",we,[c(\"iframe\",{src:p(w),class:\"hidden w-full h-screen border-gray-100 border-solid rounded md:flex\"},null,8,Me),c(\"a\",{class:\"flex items-center justify-center h-10 px-5 py-1 text-sm font-medium leading-none text-center text-white rounded whitespace-nowrap md:hidden bg-primary-500\",onClick:x},[a(k,{name:\"DocumentTextIcon\",class:\"h-5 mr-2\"}),c(\"span\",null,V(t.$t(\"reports.view_pdf\")),1)])])])}}},$e={setup(Q){const v=U();function g(){v.downloadReport()}return(u,B)=>{const n=i(\"BaseBreadcrumbItem\"),y=i(\"BaseBreadcrumb\"),w=i(\"BaseIcon\"),D=i(\"BaseButton\"),e=i(\"BasePageHeader\"),Y=i(\"BaseTab\"),s=i(\"BaseTabGroup\"),R=i(\"BasePage\");return q(),K(R,null,{default:m(()=>[a(e,{title:u.$tc(\"reports.report\",2)},{actions:m(()=>[a(D,{variant:\"primary\",class:\"ml-4\",onClick:g},{left:m(r=>[a(w,{name:\"DownloadIcon\",class:X(r.class)},null,8,[\"class\"])]),default:m(()=>[I(\" \"+V(u.$t(\"reports.download_pdf\")),1)]),_:1})]),default:m(()=>[a(y,null,{default:m(()=>[a(n,{title:u.$t(\"general.home\"),to:\"/admin/dashboard\"},null,8,[\"title\"]),a(n,{title:u.$tc(\"reports.report\",2),to:\"/admin/reports\",active:\"\"},null,8,[\"title\"])]),_:1})]),_:1},8,[\"title\"]),a(s,{class:\"p-2\"},{default:m(()=>[a(Y,{title:u.$t(\"reports.sales.sales\"),\"tab-panel-container\":\"px-0 py-0\"},{default:m(()=>[a(ne,{ref:(r,d)=>{d.report=r}},null,512)]),_:1},8,[\"title\"]),a(Y,{title:u.$t(\"reports.profit_loss.profit_loss\"),\"tab-panel-container\":\"px-0 py-0\"},{default:m(()=>[a(he,{ref:(r,d)=>{d.report=r}},null,512)]),_:1},8,[\"title\"]),a(Y,{title:u.$t(\"reports.expenses.expenses\"),\"tab-panel-container\":\"px-0 py-0\"},{default:m(()=>[a(me,{ref:(r,d)=>{d.report=r}},null,512)]),_:1},8,[\"title\"]),a(Y,{title:u.$t(\"reports.taxes.taxes\"),\"tab-panel-container\":\"px-0 py-0\"},{default:m(()=>[a(Be,{ref:(r,d)=>{d.report=r}},null,512)]),_:1},8,[\"title\"])]),_:1})]),_:1})}}};export{$e as default};\n"
  },
  {
    "path": "public/build/assets/InputType.cf0dfc7c.js",
    "content": "import{k as p,r as d,o as r,l as m,u as c,x as V}from\"./vendor.d12b5734.js\";const i={props:{modelValue:{type:String,default:null}},emits:[\"update:modelValue\"],setup(o,{emit:u}){const a=o,e=p({get:()=>a.modelValue,set:t=>{u(\"update:modelValue\",t)}});return(t,l)=>{const n=d(\"BaseInput\");return r(),m(n,{modelValue:c(e),\"onUpdate:modelValue\":l[0]||(l[0]=s=>V(e)?e.value=s:null),type:\"text\"},null,8,[\"modelValue\"])}}};export{i as default};\n"
  },
  {
    "path": "public/build/assets/Installation.f2c5c029.js",
    "content": "var $e=Object.defineProperty;var ue=Object.getOwnPropertySymbols;var we=Object.prototype.hasOwnProperty,he=Object.prototype.propertyIsEnumerable;var me=(n,q,d)=>q in n?$e(n,q,{enumerable:!0,configurable:!0,writable:!0,value:d}):n[q]=d,ce=(n,q)=>{for(var d in q||(q={}))we.call(q,d)&&me(n,d,q[d]);if(ue)for(var d of ue(q))he.call(q,d)&&me(n,d,q[d]);return n};import{a as L,d as ye,B as M,k as z,r as b,o as B,l as F,w as u,h as V,e as k,t as U,i as P,j as E,F as ne,y as ie,u as e,f as t,m as O,J as G,D as Q,q as oe,ag as re,a0 as j,ah as ee,L as I,M as D,aT as ae,T as W,U as T,aj as le,Q as H,x as Z,N as Ie,O as qe,P as Be,S as ge,aN as pe}from\"./vendor.d12b5734.js\";import{h as R,b as te,j as fe,_ as se,u as de,e as ve,d as _e,L as Ce}from\"./main.465728e1.js\";import{u as X}from\"./mail-driver.0a974f6a.js\";const A=(n=!1)=>{const q=n?window.pinia.defineStore:ye,d=te();return q({id:\"installation\",state:()=>({currentDataBaseData:{database_connection:\"mysql\",database_hostname:\"127.0.0.1\",database_port:\"3306\",database_name:null,database_username:null,database_password:null,app_url:window.location.origin}}),actions:{fetchInstallationRequirements(){return new Promise((r,i)=>{L.get(\"/api/v1/installation/requirements\").then(g=>{r(g)}).catch(g=>{R(g),i(g)})})},fetchInstallationStep(){return new Promise((r,i)=>{L.get(\"/api/v1/installation/wizard-step\").then(g=>{r(g)}).catch(g=>{R(g),i(g)})})},addInstallationStep(r){return new Promise((i,g)=>{L.post(\"/api/v1/installation/wizard-step\",r).then(o=>{i(o)}).catch(o=>{R(o),g(o)})})},fetchInstallationPermissions(){return new Promise((r,i)=>{L.get(\"/api/v1/installation/permissions\").then(g=>{r(g)}).catch(g=>{R(g),i(g)})})},fetchInstallationDatabase(r){return new Promise((i,g)=>{L.get(\"/api/v1/installation/database/config\",{params:r}).then(o=>{i(o)}).catch(o=>{R(o),g(o)})})},addInstallationDatabase(r){return new Promise((i,g)=>{L.post(\"/api/v1/installation/database/config\",r).then(o=>{i(o)}).catch(o=>{R(o),g(o)})})},addInstallationFinish(){return new Promise((r,i)=>{L.post(\"/api/v1/installation/finish\").then(g=>{r(g)}).catch(g=>{R(g),i(g)})})},setInstallationDomain(r){return new Promise((i,g)=>{L.put(\"/api/v1/installation/set-domain\",r).then(o=>{i(o)}).catch(o=>{R(o),g(o)})})},installationLogin(){return new Promise((r,i)=>{L.get(\"/sanctum/csrf-cookie\").then(g=>{g&&L.post(\"/api/v1/installation/login\").then(o=>{d.setSelectedCompany(o.data.company),r(o)}).catch(o=>{R(o),i(o)})})})},checkAutheticated(){return new Promise((r,i)=>{L.get(\"/api/v1/auth/check\").then(g=>{r(g)}).catch(g=>{i(g)})})}}})()},Ve={class:\"w-full md:w-2/3\"},De={class:\"mb-6\"},Se={key:0,class:\"grid grid-flow-row grid-cols-3 p-3 border border-gray-200 lg:gap-24 sm:gap-4\"},Fe={class:\"col-span-2 text-sm\"},Me={class:\"text-right\"},ze={key:0,class:\"inline-block w-4 h-4 ml-3 mr-2 bg-green-500 rounded-full\"},ke={key:1,class:\"inline-block w-4 h-4 ml-3 mr-2 bg-red-500 rounded-full\"},Ue={key:1},Pe={class:\"col-span-2 text-sm\"},Ne={class:\"text-right\"},Ee={key:0,class:\"inline-block w-4 h-4 ml-3 mr-2 bg-green-500 rounded-full\"},Ge={key:1,class:\"inline-block w-4 h-4 ml-3 mr-2 bg-red-500 rounded-full\"},Oe={emits:[\"next\"],setup(n,{emit:q}){const d=M(\"\"),r=M(\"\"),i=M(!1);M(!0);const g=A(),o=z(()=>{if(d.value){let m=!0;for(const s in d.value)return d.value[s]||(m=!1),d.value&&r.value.supported&&m}return!1});async function f(){var s,h,a,p;i.value=!0;const m=await g.fetchInstallationRequirements();m.data&&(d.value=(a=(h=(s=m==null?void 0:m.data)==null?void 0:s.requirements)==null?void 0:h.requirements)==null?void 0:a.php,r.value=(p=m==null?void 0:m.data)==null?void 0:p.phpSupportInfo)}function l(){i.value=!0,q(\"next\"),i.value=!1}return(m,s)=>{const h=b(\"BaseIcon\"),a=b(\"BaseButton\"),p=b(\"BaseWizardStep\");return B(),F(p,{title:m.$t(\"wizard.req.system_req\"),description:m.$t(\"wizard.req.system_req_desc\")},{default:u(()=>[V(\"div\",Ve,[V(\"div\",De,[r.value?(B(),k(\"div\",Se,[V(\"div\",Fe,U(m.$t(\"wizard.req.php_req_version\",{version:r.value.minimum})),1),V(\"div\",Me,[P(U(r.value.current)+\" \",1),r.value.supported?(B(),k(\"span\",ze)):(B(),k(\"span\",ke))])])):E(\"\",!0),d.value?(B(),k(\"div\",Ue,[(B(!0),k(ne,null,ie(d.value,($,C)=>(B(),k(\"div\",{key:C,class:\"grid grid-flow-row grid-cols-3 p-3 border border-gray-200 lg:gap-24 sm:gap-4\"},[V(\"div\",Pe,U(C),1),V(\"div\",Ne,[$?(B(),k(\"span\",Ee)):(B(),k(\"span\",Ge))])]))),128))])):E(\"\",!0)]),e(o)?(B(),F(a,{key:0,onClick:l},{left:u($=>[t(h,{name:\"ArrowRightIcon\",class:O($.class)},null,8,[\"class\"])]),default:u(()=>[P(U(m.$t(\"wizard.continue\"))+\" \",1)]),_:1})):E(\"\",!0),d.value?E(\"\",!0):(B(),F(a,{key:1,loading:i.value,disabled:i.value,onClick:f},{default:u(()=>[P(U(m.$t(\"wizard.req.check_req\")),1)]),_:1},8,[\"loading\",\"disabled\"]))])]),_:1},8,[\"title\",\"description\"])}}},xe={key:1,class:\"relative\"},Le={class:\"grid grid-flow-row grid-cols-3 lg:gap-24 sm:gap-4\"},We={class:\"col-span-2 p-3\"},Te={class:\"p-3 text-right\"},je={key:0,class:\"inline-block w-4 h-4 ml-3 mr-2 rounded-full bg-green-500\"},Re={key:1,class:\"inline-block w-4 h-4 ml-3 mr-2 rounded-full bg-red-500\"},Ae={emits:[\"next\"],setup(n,{emit:q}){let d=M(!1),r=M(!1),i=M([]);const{tm:g,t:o}=G(),f=A(),l=fe();Q(()=>{m()});async function m(){d.value=!0;const h=await f.fetchInstallationPermissions();i.value=h.data.permissions.permissions,h.data&&h.data.permissions.errors&&setTimeout(()=>{l.openDialog({title:g(\"wizard.permissions.permission_confirm_title\"),message:o(\"wizard.permissions.permission_confirm_desc\"),yesLabel:\"OK\",noLabel:\"Cancel\",variant:\"danger\",hideNoButton:!1,size:\"lg\"}).then(a=>{a.data&&(d.value=!1)})},500),d.value=!1}function s(){r.value=!0,q(\"next\"),r.value=!1}return(h,a)=>{const p=b(\"BaseContentPlaceholdersText\"),$=b(\"BaseContentPlaceholdersBox\"),C=b(\"BaseContentPlaceholders\"),c=b(\"BaseIcon\"),_=b(\"BaseButton\"),v=b(\"BaseWizardStep\");return B(),F(v,{title:h.$t(\"wizard.permissions.permissions\"),description:h.$t(\"wizard.permissions.permission_desc\")},{default:u(()=>[e(d)?(B(),F(C,{key:0},{default:u(()=>[(B(),k(ne,null,ie(3,(w,y)=>V(\"div\",{key:y,class:\"grid grid-flow-row grid-cols-3 lg:gap-24 sm:gap-4 border border-gray-200\"},[t(p,{lines:1,class:\"col-span-4 p-3\"})])),64)),t($,{rounded:!0,class:\"mt-10\",style:{width:\"96px\",height:\"42px\"}})]),_:1})):(B(),k(\"div\",xe,[(B(!0),k(ne,null,ie(e(i),(w,y)=>(B(),k(\"div\",{key:y,class:\"border border-gray-200\"},[V(\"div\",Le,[V(\"div\",We,U(w.folder),1),V(\"div\",Te,[w.isSet?(B(),k(\"span\",je)):(B(),k(\"span\",Re)),V(\"span\",null,U(w.permission),1)])])]))),128)),oe(t(_,{class:\"mt-10\",loading:e(r),disabled:e(r),onClick:s},{left:u(w=>[t(c,{name:\"ArrowRightIcon\",class:O(w.class)},null,8,[\"class\"])]),default:u(()=>[P(\" \"+U(h.$t(\"wizard.continue\")),1)]),_:1},8,[\"loading\",\"disabled\"]),[[re,!e(d)]])]))]),_:1},8,[\"title\",\"description\"])}}},Ye=[\"onSubmit\"],Je={class:\"grid grid-cols-1 gap-5 md:grid-cols-2 lg:mb-6 md:mb-6\"},Ze={props:{configData:{type:Object,require:!0,default:Object},isSaving:{type:Boolean,require:!0,default:!1},isFetchingInitialData:{type:Boolean,default:!1}},emits:[\"submit-data\",\"on-change-driver\"],setup(n,{emit:q}){const d=n,r=j([\"sqlite\",\"mysql\",\"pgsql\"]),{t:i}=G(),g=ee(\"utils\"),o=A();Q(()=>{for(const p in f.value)d.configData.hasOwnProperty(p)&&(f.value[p]=d.configData[p])});const f=z(()=>o.currentDataBaseData),l=p=>g.checkValidUrl(p),m={database_connection:{required:I.withMessage(i(\"validation.required\"),D)},database_hostname:{required:I.withMessage(i(\"validation.required\"),D)},database_port:{required:I.withMessage(i(\"validation.required\"),D),numeric:ae},database_name:{required:I.withMessage(i(\"validation.required\"),D)},database_username:{required:I.withMessage(i(\"validation.required\"),D)},app_url:{required:I.withMessage(i(\"validation.required\"),D),isUrl:I.withMessage(i(\"validation.invalid_url\"),l)}},s=W(m,f.value);function h(){if(s.value.$touch(),s.value.$invalid)return!0;q(\"submit-data\",f.value)}function a(){s.value.database_connection.$touch(),q(\"on-change-driver\",f.value.database_connection)}return(p,$)=>{const C=b(\"BaseInput\"),c=b(\"BaseInputGroup\"),_=b(\"BaseMultiselect\"),v=b(\"BaseIcon\"),w=b(\"BaseButton\");return B(),k(\"form\",{action:\"\",onSubmit:T(h,[\"prevent\"])},[V(\"div\",Je,[t(c,{label:p.$t(\"wizard.database.app_url\"),error:e(s).app_url.$error&&e(s).app_url.$errors[0].$message,required:\"\"},{default:u(()=>[t(C,{modelValue:e(f).app_url,\"onUpdate:modelValue\":$[0]||($[0]=y=>e(f).app_url=y),invalid:e(s).app_url.$error,type:\"text\"},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"]),t(c,{label:p.$t(\"wizard.database.connection\"),error:e(s).database_connection.$error&&e(s).database_connection.$errors[0].$message,required:\"\"},{default:u(()=>[t(_,{modelValue:e(f).database_connection,\"onUpdate:modelValue\":[$[1]||($[1]=y=>e(f).database_connection=y),a],invalid:e(s).database_connection.$error,options:e(r),\"can-deselect\":!1,\"can-clear\":!1},null,8,[\"modelValue\",\"invalid\",\"options\"])]),_:1},8,[\"label\",\"error\"]),t(c,{label:p.$t(\"wizard.database.port\"),error:e(s).database_port.$error&&e(s).database_port.$errors[0].$message,required:\"\"},{default:u(()=>[t(C,{modelValue:e(f).database_port,\"onUpdate:modelValue\":$[2]||($[2]=y=>e(f).database_port=y),invalid:e(s).database_port.$error},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"]),t(c,{label:p.$t(\"wizard.database.db_name\"),error:e(s).database_name.$error&&e(s).database_name.$errors[0].$message,required:\"\"},{default:u(()=>[t(C,{modelValue:e(f).database_name,\"onUpdate:modelValue\":$[3]||($[3]=y=>e(f).database_name=y),invalid:e(s).database_name.$error},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"]),t(c,{label:p.$t(\"wizard.database.username\"),error:e(s).database_username.$error&&e(s).database_username.$errors[0].$message,required:\"\"},{default:u(()=>[t(C,{modelValue:e(f).database_username,\"onUpdate:modelValue\":$[4]||($[4]=y=>e(f).database_username=y),invalid:e(s).database_username.$error},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"]),t(c,{label:p.$t(\"wizard.database.password\")},{default:u(()=>[t(C,{modelValue:e(f).database_password,\"onUpdate:modelValue\":$[5]||($[5]=y=>e(f).database_password=y),type:\"password\"},null,8,[\"modelValue\"])]),_:1},8,[\"label\"]),t(c,{label:p.$t(\"wizard.database.host\"),error:e(s).database_hostname.$error&&e(s).database_hostname.$errors[0].$message,required:\"\"},{default:u(()=>[t(C,{modelValue:e(f).database_hostname,\"onUpdate:modelValue\":$[6]||($[6]=y=>e(f).database_hostname=y),invalid:e(s).database_hostname.$error},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"])]),t(w,{type:\"submit\",class:\"mt-4\",loading:n.isSaving,disabled:n.isSaving},{left:u(y=>[n.isSaving?E(\"\",!0):(B(),F(v,{key:0,name:\"SaveIcon\",class:O(y.class)},null,8,[\"class\"]))]),default:u(()=>[P(\" \"+U(p.$t(\"wizard.save_cont\")),1)]),_:1},8,[\"loading\",\"disabled\"])],40,Ye)}}},Ke=[\"onSubmit\"],Qe={class:\"grid grid-cols-1 gap-5 md:grid-cols-2 lg:mb-6 md:mb-6\"},He={props:{configData:{type:Object,require:!0,default:Object},isSaving:{type:Boolean,require:!0,default:!1},isFetchingInitialData:{type:Boolean,require:!0,default:!1}},emits:[\"submit-data\",\"on-change-driver\"],setup(n,{emit:q}){const d=n,r=j([\"sqlite\",\"mysql\",\"pgsql\"]),{t:i}=G(),g=ee(\"utils\"),o=A(),f=z(()=>o.currentDataBaseData);Q(()=>{for(const p in f.value)d.configData.hasOwnProperty(p)&&(f.value[p]=d.configData[p])});const l=p=>g.checkValidUrl(p),m={database_connection:{required:I.withMessage(i(\"validation.required\"),D)},database_hostname:{required:I.withMessage(i(\"validation.required\"),D)},database_port:{required:I.withMessage(i(\"validation.required\"),D),numeric:ae},database_name:{required:I.withMessage(i(\"validation.required\"),D)},database_username:{required:I.withMessage(i(\"validation.required\"),D)},app_url:{required:I.withMessage(i(\"validation.required\"),D),isUrl:I.withMessage(i(\"validation.invalid_url\"),l)}},s=W(m,f.value);function h(){if(s.value.$touch(),s.value.$invalid)return!0;q(\"submit-data\",f.value)}function a(){s.value.database_connection.$touch(),q(\"on-change-driver\",f.value.database_connection)}return(p,$)=>{const C=b(\"BaseInput\"),c=b(\"BaseInputGroup\"),_=b(\"BaseMultiselect\"),v=b(\"BaseIcon\"),w=b(\"BaseButton\");return B(),k(\"form\",{action:\"\",onSubmit:T(h,[\"prevent\"])},[V(\"div\",Qe,[t(c,{label:p.$t(\"wizard.database.app_url\"),\"content-loading\":n.isFetchingInitialData,error:e(s).app_url.$error&&e(s).app_url.$errors[0].$message,required:\"\"},{default:u(()=>[t(C,{modelValue:e(f).app_url,\"onUpdate:modelValue\":$[0]||($[0]=y=>e(f).app_url=y),\"content-loading\":n.isFetchingInitialData,invalid:e(s).app_url.$error,type:\"text\"},null,8,[\"modelValue\",\"content-loading\",\"invalid\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"]),t(c,{label:p.$t(\"wizard.database.connection\"),\"content-loading\":n.isFetchingInitialData,error:e(s).database_connection.$error&&e(s).database_connection.$errors[0].$message,required:\"\"},{default:u(()=>[t(_,{modelValue:e(f).database_connection,\"onUpdate:modelValue\":[$[1]||($[1]=y=>e(f).database_connection=y),a],\"content-loading\":n.isFetchingInitialData,invalid:e(s).database_connection.$error,options:e(r),\"can-deselect\":!1,\"can-clear\":!1},null,8,[\"modelValue\",\"content-loading\",\"invalid\",\"options\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"]),t(c,{label:p.$t(\"wizard.database.port\"),\"content-loading\":n.isFetchingInitialData,error:e(s).database_port.$error&&e(s).database_port.$errors[0].$message,required:\"\"},{default:u(()=>[t(C,{modelValue:e(f).database_port,\"onUpdate:modelValue\":$[2]||($[2]=y=>e(f).database_port=y),\"content-loading\":n.isFetchingInitialData,invalid:e(s).database_port.$error},null,8,[\"modelValue\",\"content-loading\",\"invalid\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"]),t(c,{label:p.$t(\"wizard.database.db_name\"),\"content-loading\":n.isFetchingInitialData,error:e(s).database_name.$error&&e(s).database_name.$errors[0].$message,required:\"\"},{default:u(()=>[t(C,{modelValue:e(f).database_name,\"onUpdate:modelValue\":$[3]||($[3]=y=>e(f).database_name=y),\"content-loading\":n.isFetchingInitialData,invalid:e(s).database_name.$error},null,8,[\"modelValue\",\"content-loading\",\"invalid\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"]),t(c,{label:p.$t(\"wizard.database.username\"),\"content-loading\":n.isFetchingInitialData,error:e(s).database_username.$error&&e(s).database_username.$errors[0].$message,required:\"\"},{default:u(()=>[t(C,{modelValue:e(f).database_username,\"onUpdate:modelValue\":$[4]||($[4]=y=>e(f).database_username=y),\"content-loading\":n.isFetchingInitialData,invalid:e(s).database_username.$error},null,8,[\"modelValue\",\"content-loading\",\"invalid\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"]),t(c,{\"content-loading\":n.isFetchingInitialData,label:p.$t(\"wizard.database.password\")},{default:u(()=>[t(C,{modelValue:e(f).database_password,\"onUpdate:modelValue\":$[5]||($[5]=y=>e(f).database_password=y),\"content-loading\":n.isFetchingInitialData,type:\"password\"},null,8,[\"modelValue\",\"content-loading\"])]),_:1},8,[\"content-loading\",\"label\"]),t(c,{label:p.$t(\"wizard.database.host\"),\"content-loading\":n.isFetchingInitialData,error:e(s).database_hostname.$error&&e(s).database_hostname.$errors[0].$message,required:\"\"},{default:u(()=>[t(C,{modelValue:e(f).database_hostname,\"onUpdate:modelValue\":$[6]||($[6]=y=>e(f).database_hostname=y),\"content-loading\":n.isFetchingInitialData,invalid:e(s).database_hostname.$error},null,8,[\"modelValue\",\"content-loading\",\"invalid\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"])]),oe(t(w,{\"content-loading\":n.isFetchingInitialData,type:\"submit\",class:\"mt-4\",loading:n.isSaving,disabled:n.isSaving},{left:u(y=>[n.isSaving?E(\"\",!0):(B(),F(v,{key:0,name:\"SaveIcon\",class:O(y.class)},null,8,[\"class\"]))]),default:u(()=>[P(\" \"+U(p.$t(\"wizard.save_cont\")),1)]),_:1},8,[\"content-loading\",\"loading\",\"disabled\"]),[[re,!n.isFetchingInitialData]])],40,Ke)}}},Xe=[\"onSubmit\"],ea={class:\"grid grid-cols-1 gap-5 md:grid-cols-2 lg:mb-6 md:mb-6\"},aa={props:{configData:{type:Object,require:!0,default:Object},isSaving:{type:Boolean,require:!0,default:!1},isFetchingInitialData:{type:Boolean,require:!0,default:!1}},emits:[\"submit-data\",\"on-change-driver\"],setup(n,{emit:q}){const d=n,r=j([\"sqlite\",\"mysql\",\"pgsql\"]),{t:i}=G(),g=ee(\"utils\"),o=A(),f=z(()=>o.currentDataBaseData);Q(()=>{for(const p in f.value)d.configData.hasOwnProperty(p)&&(f.value[p]=d.configData[p])});const l=p=>g.checkValidUrl(p),m={database_connection:{required:I.withMessage(i(\"validation.required\"),D)},database_name:{required:I.withMessage(i(\"validation.required\"),D)},app_url:{required:I.withMessage(i(\"validation.required\"),D),isUrl:I.withMessage(i(\"validation.invalid_url\"),l)}},s=W(m,f.value);function h(){if(s.value.$touch(),s.value.$invalid)return!0;q(\"submit-data\",f.value)}function a(){s.value.database_connection.$touch(),q(\"on-change-driver\",f.value.database_connection)}return(p,$)=>{const C=b(\"BaseInput\"),c=b(\"BaseInputGroup\"),_=b(\"BaseMultiselect\"),v=b(\"BaseIcon\"),w=b(\"BaseButton\");return B(),k(\"form\",{action:\"\",onSubmit:T(h,[\"prevent\"])},[V(\"div\",ea,[t(c,{label:p.$t(\"wizard.database.app_url\"),\"content-loading\":n.isFetchingInitialData,error:e(s).app_url.$error&&e(s).app_url.$errors[0].$message,required:\"\"},{default:u(()=>[t(C,{modelValue:e(f).app_url,\"onUpdate:modelValue\":$[0]||($[0]=y=>e(f).app_url=y),\"content-loading\":n.isFetchingInitialData,invalid:e(s).app_url.$error,type:\"text\"},null,8,[\"modelValue\",\"content-loading\",\"invalid\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"]),t(c,{label:p.$t(\"wizard.database.connection\"),\"content-loading\":n.isFetchingInitialData,error:e(s).database_connection.$error&&e(s).database_connection.$errors[0].$message,required:\"\"},{default:u(()=>[t(_,{modelValue:e(f).database_connection,\"onUpdate:modelValue\":[$[1]||($[1]=y=>e(f).database_connection=y),a],\"content-loading\":n.isFetchingInitialData,invalid:e(s).database_connection.$error,options:e(r),\"can-deselect\":!1,\"can-clear\":!1},null,8,[\"modelValue\",\"content-loading\",\"invalid\",\"options\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"]),t(c,{label:p.$t(\"wizard.database.db_path\"),error:e(s).database_name.$error&&e(s).database_name.$errors[0].$message,\"content-loading\":n.isFetchingInitialData,required:\"\"},{default:u(()=>[t(C,{modelValue:e(f).database_name,\"onUpdate:modelValue\":$[2]||($[2]=y=>e(f).database_name=y),\"content-loading\":n.isFetchingInitialData,invalid:e(s).database_name.$error},null,8,[\"modelValue\",\"content-loading\",\"invalid\"])]),_:1},8,[\"label\",\"error\",\"content-loading\"])]),oe(t(w,{\"content-loading\":n.isFetchingInitialData,type:\"submit\",class:\"mt-4\",loading:n.isSaving,disabled:n.isSaving},{left:u(y=>[n.isSaving?E(\"\",!0):(B(),F(v,{key:0,name:\"SaveIcon\",class:O(y.class)},null,8,[\"class\"]))]),default:u(()=>[P(\" \"+U(p.$t(\"wizard.save_cont\")),1)]),_:1},8,[\"content-loading\",\"loading\",\"disabled\"]),[[re,!n.isFetchingInitialData]])],40,Xe)}}},ta={components:{Mysql:Ze,Pgsql:He,Sqlite:aa},emits:[\"next\"],setup(n,{emit:q}){const d=M(\"mysql\"),r=M(!1),{t:i}=G(),g=de(),o=A(),f=z(()=>o.currentDataBaseData);async function l(s){let h={connection:s};const a=await o.fetchInstallationDatabase(h);a.data.success&&(f.value.database_connection=a.data.config.database_connection),s===\"sqlite\"?f.value.database_name=a.data.config.database_name:f.value.database_name=null}async function m(s){r.value=!0;try{let h=await o.addInstallationDatabase(s);if(r.value=!1,h.data.success){await o.addInstallationFinish(),q(\"next\",3),g.showNotification({type:\"success\",message:i(\"wizard.success.\"+h.data.success)});return}else if(h.data.error){if(h.data.requirement){g.showNotification({type:\"error\",message:i(\"wizard.errors.\"+h.data.error,{version:h.data.requirement.minimum,name:s.value.database_connection})});return}g.showNotification({type:\"error\",message:i(\"wizard.errors.\"+h.data.error)})}else h.data.errors?g.showNotification({type:\"error\",message:h.data.errors[0]}):h.data.error_message&&g.showNotification({type:\"error\",message:h.data.error_message})}catch{g.showNotification({type:\"error\",message:i(\"validation.something_went_wrong\")}),r.value=!1}finally{r.value=!1}}return{databaseData:f,database_connection:d,isSaving:r,getDatabaseConfig:l,next:m}}};function na(n,q,d,r,i,g){const o=b(\"BaseWizardStep\");return B(),F(o,{title:n.$t(\"wizard.database.database\"),description:n.$t(\"wizard.database.desc\"),\"step-container\":\"w-full p-8 mb-8 bg-white border border-gray-200 border-solid rounded md:w-full\"},{default:u(()=>[(B(),F(le(r.databaseData.database_connection),{\"config-data\":r.databaseData,\"is-saving\":r.isSaving,onOnChangeDriver:r.getDatabaseConfig,onSubmitData:r.next},null,8,[\"config-data\",\"is-saving\",\"onOnChangeDriver\",\"onSubmitData\"]))]),_:1},8,[\"title\",\"description\"])}var ia=se(ta,[[\"render\",na]]);const oa={class:\"w-full md:w-2/3\"},ra=V(\"p\",{class:\"mt-4 mb-0 text-sm text-gray-600\"},\"Notes:\",-1),la=V(\"ul\",{class:\"w-full text-gray-600 list-disc list-inside\"},[V(\"li\",{class:\"text-sm leading-8\"},[P(\" App domain should not contain \"),V(\"b\",{class:\"inline-block px-1 bg-gray-100 rounded-sm\"},\"https://\"),P(\" or \"),V(\"b\",{class:\"inline-block px-1 bg-gray-100 rounded-sm\"},\"http\"),P(\" in front of the domain. \")]),V(\"li\",{class:\"text-sm leading-8\"},[P(\" If you're accessing the website on a different port, please mention the port. For example: \"),V(\"b\",{class:\"inline-block px-1 bg-gray-100\"},\"localhost:8080\")])],-1),sa={emits:[\"next\"],setup(n,{emit:q}){const d=j({app_domain:window.location.origin.replace(/(^\\w+:|^)\\/\\//,\"\")}),r=M(!1),{t:i}=G(),g=ee(\"utils\"),o=a=>g.checkValidDomainUrl(a),f=A(),l=de(),m={app_domain:{required:I.withMessage(i(\"validation.required\"),D),isUrl:I.withMessage(i(\"validation.invalid_domain_url\"),o)}},s=W(m,z(()=>d));async function h(){if(s.value.$touch(),s.value.$invalid)return!0;r.value=!0;try{await f.setInstallationDomain(d),await f.installationLogin(),(await f.checkAutheticated()).data&&q(\"next\",4),r.value=!1}catch{l.showNotification({type:\"error\",message:i(\"wizard.verify_domain.failed\")}),r.value=!1}}return(a,p)=>{const $=b(\"BaseInput\"),C=b(\"BaseInputGroup\"),c=b(\"BaseButton\"),_=b(\"BaseWizardStep\");return B(),F(_,{title:a.$t(\"wizard.verify_domain.title\"),description:a.$t(\"wizard.verify_domain.desc\")},{default:u(()=>[V(\"div\",oa,[t(C,{label:a.$t(\"wizard.verify_domain.app_domain\"),error:e(s).app_domain.$error&&e(s).app_domain.$errors[0].$message,required:\"\"},{default:u(()=>[t($,{modelValue:e(d).app_domain,\"onUpdate:modelValue\":p[0]||(p[0]=v=>e(d).app_domain=v),invalid:e(s).app_domain.$error,type:\"text\",onInput:p[1]||(p[1]=v=>e(s).app_domain.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"])]),ra,la,t(c,{loading:r.value,disabled:r.value,class:\"mt-8\",onClick:h},{default:u(()=>[P(U(a.$t(\"wizard.verify_domain.verify_now\")),1)]),_:1},8,[\"loading\",\"disabled\"])]),_:1},8,[\"title\",\"description\"])}}},da=[\"onSubmit\"],ua={class:\"grid grid-cols-1 gap-4 mb-4 md:grid-cols-2 md:mb-6\"},ma={class:\"grid grid-cols-1 gap-4 mb-4 md:grid-cols-2 md:mb-6\"},ca={class:\"grid grid-cols-1 gap-4 mb-4 md:grid-cols-2 md:mb-6\"},ga={class:\"grid grid-cols-1 gap-4 mb-6 md:grid-cols-2\"},pa={props:{isSaving:{type:Boolean,require:!0,default:!1},isFetchingInitialData:{type:Boolean,require:!0,default:!1}},emits:[\"submit-data\",\"on-change-driver\"],setup(n,{emit:q}){let d=M(!1);const r=j([\"tls\",\"ssl\",\"starttls\"]),{t:i}=G(),g=X(),o=z(()=>g.smtpConfig),f=z(()=>d.value?\"text\":\"password\");o.value.mail_driver=\"smtp\";const l=z(()=>({smtpConfig:{mail_driver:{required:I.withMessage(i(\"validation.required\"),D)},mail_host:{required:I.withMessage(i(\"validation.required\"),D)},mail_port:{required:I.withMessage(i(\"validation.required\"),D),numeric:I.withMessage(i(\"validation.numbers_only\"),ae)},mail_encryption:{required:I.withMessage(i(\"validation.required\"),D)},from_mail:{required:I.withMessage(i(\"validation.required\"),D),email:I.withMessage(i(\"validation.email_incorrect\"),H)},from_name:{required:I.withMessage(i(\"validation.required\"),D)}}})),m=W(l,z(()=>g));async function s(){return m.value.$touch(),m.value.$invalid||q(\"submit-data\",g.smtpConfig),!1}function h(){m.value.smtpConfig.mail_driver.$touch(),q(\"on-change-driver\",g.smtpConfig.mail_driver)}return(a,p)=>{const $=b(\"BaseMultiselect\"),C=b(\"BaseInputGroup\"),c=b(\"BaseInput\"),_=b(\"BaseIcon\"),v=b(\"BaseButton\");return B(),k(\"form\",{onSubmit:T(s,[\"prevent\"])},[V(\"div\",ua,[t(C,{label:a.$t(\"wizard.mail.driver\"),\"content-loading\":n.isFetchingInitialData,error:e(m).smtpConfig.mail_driver.$error&&e(m).smtpConfig.mail_driver.$errors[0].$message,required:\"\"},{default:u(()=>[t($,{modelValue:e(o).mail_driver,\"onUpdate:modelValue\":[p[0]||(p[0]=w=>e(o).mail_driver=w),h],options:e(g).mail_drivers,\"can-deselect\":!1,\"content-loading\":n.isFetchingInitialData,invalid:e(m).smtpConfig.mail_driver.$error},null,8,[\"modelValue\",\"options\",\"content-loading\",\"invalid\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"]),t(C,{label:a.$t(\"wizard.mail.host\"),\"content-loading\":n.isFetchingInitialData,error:e(m).smtpConfig.mail_host.$error&&e(m).smtpConfig.mail_host.$errors[0].$message,required:\"\"},{default:u(()=>[t(c,{modelValue:e(o).mail_host,\"onUpdate:modelValue\":p[1]||(p[1]=w=>e(o).mail_host=w),modelModifiers:{trim:!0},invalid:e(m).smtpConfig.mail_host.$error,\"content-loading\":n.isFetchingInitialData,type:\"text\",name:\"mail_host\",onInput:p[2]||(p[2]=w=>e(m).smtpConfig.mail_host.$touch())},null,8,[\"modelValue\",\"invalid\",\"content-loading\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"])]),V(\"div\",ma,[t(C,{label:a.$t(\"wizard.mail.username\"),\"content-loading\":n.isFetchingInitialData},{default:u(()=>[t(c,{modelValue:e(o).mail_username,\"onUpdate:modelValue\":p[3]||(p[3]=w=>e(o).mail_username=w),modelModifiers:{trim:!0},\"content-loading\":n.isFetchingInitialData,type:\"text\",name:\"db_name\"},null,8,[\"modelValue\",\"content-loading\"])]),_:1},8,[\"label\",\"content-loading\"]),t(C,{label:a.$t(\"wizard.mail.password\"),\"content-loading\":n.isFetchingInitialData},{default:u(()=>[t(c,{modelValue:e(o).mail_password,\"onUpdate:modelValue\":p[6]||(p[6]=w=>e(o).mail_password=w),modelModifiers:{trim:!0},type:e(f),\"content-loading\":n.isFetchingInitialData,autocomplete:\"off\",\"data-lpignore\":\"true\",name:\"password\"},{right:u(()=>[e(d)?(B(),F(_,{key:0,name:\"EyeOffIcon\",class:\"w-5 h-5 mr-1 text-gray-500 cursor-pointer\",onClick:p[4]||(p[4]=w=>Z(d)?d.value=!e(d):d=!e(d))})):(B(),F(_,{key:1,name:\"EyeIcon\",class:\"w-5 h-5 mr-1 text-gray-500 cursor-pointer\",onClick:p[5]||(p[5]=w=>Z(d)?d.value=!e(d):d=!e(d))}))]),_:1},8,[\"modelValue\",\"type\",\"content-loading\"])]),_:1},8,[\"label\",\"content-loading\"])]),V(\"div\",ca,[t(C,{label:a.$t(\"wizard.mail.port\"),error:e(m).smtpConfig.mail_port.$error&&e(m).smtpConfig.mail_port.$errors[0].$message,\"content-loading\":n.isFetchingInitialData,required:\"\"},{default:u(()=>[t(c,{modelValue:e(o).mail_port,\"onUpdate:modelValue\":p[7]||(p[7]=w=>e(o).mail_port=w),modelModifiers:{trim:!0},invalid:e(m).smtpConfig.mail_port.$error,\"content-loading\":n.isFetchingInitialData,type:\"text\",name:\"mail_port\",onInput:p[8]||(p[8]=w=>e(m).smtpConfig.mail_port.$touch())},null,8,[\"modelValue\",\"invalid\",\"content-loading\"])]),_:1},8,[\"label\",\"error\",\"content-loading\"]),t(C,{label:a.$t(\"wizard.mail.encryption\"),error:e(m).smtpConfig.mail_encryption.$error&&e(m).smtpConfig.mail_encryption.$errors[0].$message,\"content-loading\":n.isFetchingInitialData,required:\"\"},{default:u(()=>[t($,{modelValue:e(o).mail_encryption,\"onUpdate:modelValue\":p[9]||(p[9]=w=>e(o).mail_encryption=w),modelModifiers:{trim:!0},options:e(r),\"can-deselect\":!1,invalid:e(m).smtpConfig.mail_encryption.$error,\"content-loading\":n.isFetchingInitialData,onInput:p[10]||(p[10]=w=>e(m).smtpConfig.mail_encryption.$touch())},null,8,[\"modelValue\",\"options\",\"invalid\",\"content-loading\"])]),_:1},8,[\"label\",\"error\",\"content-loading\"])]),V(\"div\",ga,[t(C,{label:a.$t(\"wizard.mail.from_mail\"),error:e(m).smtpConfig.from_mail.$error&&e(m).smtpConfig.from_mail.$errors[0].$message,\"content-loading\":n.isFetchingInitialData,required:\"\"},{default:u(()=>[t(c,{modelValue:e(o).from_mail,\"onUpdate:modelValue\":p[11]||(p[11]=w=>e(o).from_mail=w),modelModifiers:{trim:!0},invalid:e(m).smtpConfig.from_mail.$error,\"content-loading\":n.isFetchingInitialData,type:\"text\",name:\"from_mail\",onInput:p[12]||(p[12]=w=>e(m).smtpConfig.from_mail.$touch())},null,8,[\"modelValue\",\"invalid\",\"content-loading\"])]),_:1},8,[\"label\",\"error\",\"content-loading\"]),t(C,{label:a.$t(\"wizard.mail.from_name\"),error:e(m).smtpConfig.from_name.$error&&e(m).smtpConfig.from_name.$errors[0].$message,\"content-loading\":n.isFetchingInitialData,required:\"\"},{default:u(()=>[t(c,{modelValue:e(o).from_name,\"onUpdate:modelValue\":p[13]||(p[13]=w=>e(o).from_name=w),modelModifiers:{trim:!0},invalid:e(m).smtpConfig.from_name.$error,\"content-loading\":n.isFetchingInitialData,type:\"text\",name:\"from_name\",onInput:p[14]||(p[14]=w=>e(m).smtpConfig.from_name.$touch())},null,8,[\"modelValue\",\"invalid\",\"content-loading\"])]),_:1},8,[\"label\",\"error\",\"content-loading\"])]),t(v,{loading:n.isSaving,disabled:n.isSaving,\"content-loading\":n.isFetchingInitialData,class:\"mt-4\"},{left:u(w=>[n.isSaving?E(\"\",!0):(B(),F(_,{key:0,name:\"SaveIcon\",class:O(w.class)},null,8,[\"class\"]))]),default:u(()=>[P(\" \"+U(a.$t(\"general.save\")),1)]),_:1},8,[\"loading\",\"disabled\",\"content-loading\"])],40,da)}}},fa=[\"onSubmit\"],va={class:\"grid grid-cols-1 gap-4 mb-4 md:grid-cols-2 lg:mb-6 md:mb-6\"},_a={class:\"grid grid-cols-1 gap-4 mb-4 md:grid-cols-2 lg:mb-6 md:mb-6\"},ba={class:\"grid grid-cols-1 gap-4 mb-6 md:grid-cols-2\"},$a={props:{isSaving:{type:Boolean,require:!0,default:!1},isFetchingInitialData:{type:Boolean,require:!0,default:!1}},emits:[\"submit-data\",\"on-change-driver\"],setup(n,{emit:q}){let d=M(!1);const r=X(),{t:i}=G(),g=z(()=>r.mailgunConfig),o=z(()=>d.value?\"text\":\"password\");g.value.mail_driver=\"mailgun\";const f=z(()=>({mailgunConfig:{mail_driver:{required:I.withMessage(i(\"validation.required\"),D)},mail_mailgun_domain:{required:I.withMessage(i(\"validation.required\"),D)},mail_mailgun_endpoint:{required:I.withMessage(i(\"validation.required\"),D)},mail_mailgun_secret:{required:I.withMessage(i(\"validation.required\"),D)},from_mail:{required:I.withMessage(i(\"validation.required\"),D),email:H},from_name:{required:I.withMessage(i(\"validation.required\"),D)}}})),l=W(f,z(()=>r));function m(){return l.value.$touch(),l.value.$invalid||q(\"submit-data\",r.mailgunConfig),!1}function s(){l.value.mailgunConfig.mail_driver.$touch(),q(\"on-change-driver\",r.mailgunConfig.mail_driver)}return(h,a)=>{const p=b(\"BaseMultiselect\"),$=b(\"BaseInputGroup\"),C=b(\"BaseInput\"),c=b(\"BaseIcon\"),_=b(\"BaseButton\");return B(),k(\"form\",{onSubmit:T(m,[\"prevent\"])},[V(\"div\",va,[t($,{label:h.$t(\"wizard.mail.driver\"),\"content-loading\":n.isFetchingInitialData,error:e(l).mailgunConfig.mail_driver.$error&&e(l).mailgunConfig.mail_driver.$errors[0].$message,required:\"\"},{default:u(()=>[t(p,{modelValue:e(g).mail_driver,\"onUpdate:modelValue\":[a[0]||(a[0]=v=>e(g).mail_driver=v),s],options:e(r).mail_drivers,\"can-deselect\":!1,invalid:e(l).mailgunConfig.mail_driver.$error,\"content-loading\":n.isFetchingInitialData},null,8,[\"modelValue\",\"options\",\"invalid\",\"content-loading\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"]),t($,{label:h.$t(\"wizard.mail.mailgun_domain\"),\"content-loading\":n.isFetchingInitialData,error:e(l).mailgunConfig.mail_mailgun_domain.$error&&e(l).mailgunConfig.mail_mailgun_domain.$errors[0].$message,required:\"\"},{default:u(()=>[t(C,{modelValue:e(g).mail_mailgun_domain,\"onUpdate:modelValue\":a[1]||(a[1]=v=>e(g).mail_mailgun_domain=v),modelModifiers:{trim:!0},invalid:e(l).mailgunConfig.mail_mailgun_domain.$error,\"content-loading\":n.isFetchingInitialData,type:\"text\",name:\"mailgun_domain\",onInput:a[2]||(a[2]=v=>e(l).mailgunConfig.mail_mailgun_domain.$touch())},null,8,[\"modelValue\",\"invalid\",\"content-loading\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"])]),V(\"div\",_a,[t($,{label:h.$t(\"wizard.mail.mailgun_secret\"),\"content-loading\":n.isFetchingInitialData,error:e(l).mailgunConfig.mail_mailgun_secret.$error&&e(l).mailgunConfig.mail_mailgun_secret.$errors[0].$message,required:\"\"},{default:u(()=>[t(C,{modelValue:e(g).mail_mailgun_secret,\"onUpdate:modelValue\":a[5]||(a[5]=v=>e(g).mail_mailgun_secret=v),modelModifiers:{trim:!0},invalid:e(l).mailgunConfig.mail_mailgun_secret.$error,type:e(o),\"content-loading\":n.isFetchingInitialData,name:\"mailgun_secret\",autocomplete:\"off\",\"data-lpignore\":\"true\",onInput:a[6]||(a[6]=v=>e(l).mailgunConfig.mail_mailgun_secret.$touch())},{right:u(()=>[e(d)?(B(),F(c,{key:0,name:\"EyeOffIcon\",class:\"w-5 h-5 mr-1 text-gray-500 cursor-pointer\",onClick:a[3]||(a[3]=v=>Z(d)?d.value=!e(d):d=!e(d))})):(B(),F(c,{key:1,name:\"EyeIcon\",class:\"w-5 h-5 mr-1 text-gray-500 cursor-pointer\",onClick:a[4]||(a[4]=v=>Z(d)?d.value=!e(d):d=!e(d))}))]),_:1},8,[\"modelValue\",\"invalid\",\"type\",\"content-loading\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"]),t($,{label:h.$t(\"wizard.mail.mailgun_endpoint\"),\"content-loading\":n.isFetchingInitialData,error:e(l).mailgunConfig.mail_mailgun_endpoint.$error&&e(l).mailgunConfig.mail_mailgun_endpoint.$errors[0].$message,required:\"\"},{default:u(()=>[t(C,{modelValue:e(g).mail_mailgun_endpoint,\"onUpdate:modelValue\":a[7]||(a[7]=v=>e(g).mail_mailgun_endpoint=v),modelModifiers:{trim:!0},invalid:e(l).mailgunConfig.mail_mailgun_endpoint.$error,\"content-loading\":n.isFetchingInitialData,type:\"text\",name:\"mailgun_endpoint\",onInput:a[8]||(a[8]=v=>e(l).mailgunConfig.mail_mailgun_endpoint.$touch())},null,8,[\"modelValue\",\"invalid\",\"content-loading\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"])]),V(\"div\",ba,[t($,{label:h.$t(\"wizard.mail.from_mail\"),\"content-loading\":n.isFetchingInitialData,error:e(l).mailgunConfig.from_mail.$error&&e(l).mailgunConfig.from_mail.$errors[0].$message,required:\"\"},{default:u(()=>[t(C,{modelValue:e(g).from_mail,\"onUpdate:modelValue\":a[9]||(a[9]=v=>e(g).from_mail=v),modelModifiers:{trim:!0},name:\"from_mail\",type:\"text\",invalid:e(l).mailgunConfig.from_mail.$error,\"content-loading\":n.isFetchingInitialData,onInput:a[10]||(a[10]=v=>e(l).mailgunConfig.from_mail.$touch())},null,8,[\"modelValue\",\"invalid\",\"content-loading\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"]),t($,{label:h.$t(\"wizard.mail.from_name\"),\"content-loading\":n.isFetchingInitialData,error:e(l).mailgunConfig.from_name.$error&&e(l).mailgunConfig.from_name.$errors[0].$message,required:\"\"},{default:u(()=>[t(C,{modelValue:e(g).from_name,\"onUpdate:modelValue\":a[11]||(a[11]=v=>e(g).from_name=v),modelModifiers:{trim:!0},invalid:e(l).mailgunConfig.from_name.$error,\"content-loading\":n.isFetchingInitialData,type:\"text\",name:\"from_name\",onInput:a[12]||(a[12]=v=>e(l).mailgunConfig.from_name.$touch())},null,8,[\"modelValue\",\"invalid\",\"content-loading\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"])]),t(_,{loading:h.loading,disabled:n.isSaving,\"content-loading\":n.isFetchingInitialData,class:\"mt-4\"},{left:u(v=>[n.isSaving?E(\"\",!0):(B(),F(c,{key:0,name:\"SaveIcon\",class:O(v.class)},null,8,[\"class\"]))]),default:u(()=>[P(\" \"+U(h.$t(\"general.save\")),1)]),_:1},8,[\"loading\",\"disabled\",\"content-loading\"])],40,fa)}}},wa=[\"onSubmit\"],ha={class:\"grid grid-cols-1 gap-4 mb-4 md:grid-cols-2 md:mb-6\"},ya={class:\"grid grid-cols-1 gap-4 mb-4 md:grid-cols-2 md:mb-6\"},Ia={class:\"grid grid-cols-1 gap-4 mb-4 md:grid-cols-2 md:mb-6\"},qa={class:\"grid grid-cols-1 gap-4 mb-6 md:grid-cols-2\"},Ba={props:{isSaving:{type:Boolean,require:!0,default:!1},isFetchingInitialData:{type:Boolean,require:!0,default:!1}},emits:[\"submit-data\",\"on-change-driver\"],setup(n,{emit:q}){const{t:d}=G(),r=j([\"tls\",\"ssl\",\"starttls\"]);let i=M(!1);const g=X(),o=z(()=>g.sesConfig);o.value.mail_driver=\"ses\";const f=z(()=>({sesConfig:{mail_driver:{required:I.withMessage(d(\"validation.required\"),D)},mail_host:{required:I.withMessage(d(\"validation.required\"),D)},mail_port:{required:I.withMessage(d(\"validation.required\"),D),numeric:ae},mail_ses_key:{required:I.withMessage(d(\"validation.required\"),D)},mail_ses_secret:{required:I.withMessage(d(\"validation.required\"),D)},mail_encryption:{required:I.withMessage(d(\"validation.required\"),D)},from_mail:{required:I.withMessage(d(\"validation.required\"),D),email:I.withMessage(d(\"validation.email_incorrect\"),H)},from_name:{required:I.withMessage(d(\"validation.required\"),D)}}})),l=W(f,z(()=>g));async function m(){return l.value.$touch(),l.value.$invalid||q(\"submit-data\",g.sesConfig),!1}function s(){l.value.sesConfig.mail_driver.$touch(),q(\"on-change-driver\",g.sesConfig.mail_driver)}return(h,a)=>{const p=b(\"BaseMultiselect\"),$=b(\"BaseInputGroup\"),C=b(\"BaseInput\"),c=b(\"BaseIcon\"),_=b(\"BaseButton\");return B(),k(\"form\",{onSubmit:T(m,[\"prevent\"])},[V(\"div\",ha,[t($,{label:h.$t(\"wizard.mail.driver\"),\"content-loading\":n.isFetchingInitialData,error:e(l).sesConfig.mail_driver.$error&&e(l).sesConfig.mail_driver.$errors[0].$message,required:\"\"},{default:u(()=>[t(p,{modelValue:e(o).mail_driver,\"onUpdate:modelValue\":[a[0]||(a[0]=v=>e(o).mail_driver=v),s],options:e(g).mail_drivers,\"can-deselect\":!1,\"content-loading\":n.isFetchingInitialData,invalid:e(l).sesConfig.mail_driver.$error},null,8,[\"modelValue\",\"options\",\"content-loading\",\"invalid\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"]),t($,{label:h.$t(\"wizard.mail.host\"),\"content-loading\":n.isFetchingInitialData,error:e(l).sesConfig.mail_host.$error&&e(l).sesConfig.mail_host.$errors[0].$message,required:\"\"},{default:u(()=>[t(C,{modelValue:e(o).mail_host,\"onUpdate:modelValue\":a[1]||(a[1]=v=>e(o).mail_host=v),modelModifiers:{trim:!0},invalid:e(l).sesConfig.mail_host.$error,\"content-loading\":n.isFetchingInitialData,type:\"text\",name:\"mail_host\",onInput:a[2]||(a[2]=v=>e(l).sesConfig.mail_host.$touch())},null,8,[\"modelValue\",\"invalid\",\"content-loading\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"])]),V(\"div\",ya,[t($,{label:h.$t(\"wizard.mail.port\"),\"content-loading\":n.isFetchingInitialData,error:e(l).sesConfig.mail_port.$error&&e(l).sesConfig.mail_port.$errors[0].$message,required:\"\"},{default:u(()=>[t(C,{modelValue:e(o).mail_port,\"onUpdate:modelValue\":a[3]||(a[3]=v=>e(o).mail_port=v),modelModifiers:{trim:!0},invalid:e(l).sesConfig.mail_port.$error,\"content-loading\":n.isFetchingInitialData,type:\"text\",name:\"mail_port\",onInput:a[4]||(a[4]=v=>e(l).sesConfig.mail_port.$touch())},null,8,[\"modelValue\",\"invalid\",\"content-loading\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"]),t($,{label:h.$t(\"wizard.mail.encryption\"),\"content-loading\":n.isFetchingInitialData,error:e(l).sesConfig.mail_encryption.$error&&e(l).sesConfig.mail_encryption.$errors[0].$message,required:\"\"},{default:u(()=>[t(p,{modelValue:e(o).mail_encryption,\"onUpdate:modelValue\":a[5]||(a[5]=v=>e(o).mail_encryption=v),modelModifiers:{trim:!0},invalid:e(l).sesConfig.mail_encryption.$error,options:e(r),\"content-loading\":n.isFetchingInitialData,onInput:a[6]||(a[6]=v=>e(l).sesConfig.mail_encryption.$touch())},null,8,[\"modelValue\",\"invalid\",\"options\",\"content-loading\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"])]),V(\"div\",Ia,[t($,{label:h.$t(\"wizard.mail.from_mail\"),\"content-loading\":n.isFetchingInitialData,error:e(l).sesConfig.from_mail.$error&&e(l).sesConfig.from_mail.$errors[0].$message,required:\"\"},{default:u(()=>[t(C,{modelValue:e(o).from_mail,\"onUpdate:modelValue\":a[7]||(a[7]=v=>e(o).from_mail=v),modelModifiers:{trim:!0},invalid:e(l).sesConfig.from_mail.$error,\"content-loading\":n.isFetchingInitialData,type:\"text\",name:\"from_mail\",onInput:a[8]||(a[8]=v=>e(l).sesConfig.from_mail.$touch())},null,8,[\"modelValue\",\"invalid\",\"content-loading\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"]),t($,{label:h.$t(\"wizard.mail.from_name\"),\"content-loading\":n.isFetchingInitialData,error:e(l).sesConfig.from_name.$error&&e(l).sesConfig.from_name.$errors[0].$message,required:\"\"},{default:u(()=>[t(C,{modelValue:e(o).from_name,\"onUpdate:modelValue\":a[9]||(a[9]=v=>e(o).from_name=v),modelModifiers:{trim:!0},invalid:e(l).sesConfig.from_name.$error,\"content-loading\":n.isFetchingInitialData,type:\"text\",name:\"name\",onInput:a[10]||(a[10]=v=>e(l).sesConfig.from_name.$touch())},null,8,[\"modelValue\",\"invalid\",\"content-loading\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"])]),V(\"div\",qa,[t($,{label:h.$t(\"wizard.mail.ses_key\"),\"content-loading\":n.isFetchingInitialData,error:e(l).sesConfig.mail_ses_key.$error&&e(l).sesConfig.mail_ses_key.$errors[0].$message,required:\"\"},{default:u(()=>[t(C,{modelValue:e(o).mail_ses_key,\"onUpdate:modelValue\":a[11]||(a[11]=v=>e(o).mail_ses_key=v),modelModifiers:{trim:!0},invalid:e(l).sesConfig.mail_ses_key.$error,\"content-loading\":n.isFetchingInitialData,type:\"text\",name:\"mail_ses_key\",onInput:a[12]||(a[12]=v=>e(l).sesConfig.mail_ses_key.$touch())},null,8,[\"modelValue\",\"invalid\",\"content-loading\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"]),t($,{label:h.$t(\"wizard.mail.ses_secret\"),\"content-loading\":n.isFetchingInitialData,error:e(l).sesConfig.mail_ses_secret.$error&&e(l).sesConfig.mail_ses_secret.$errors[0].$message,required:\"\"},{default:u(()=>[t(C,{modelValue:e(o).mail_ses_secret,\"onUpdate:modelValue\":a[15]||(a[15]=v=>e(o).mail_ses_secret=v),modelModifiers:{trim:!0},invalid:e(l).sesConfig.mail_ses_secret.$error,type:h.getInputType,\"content-loading\":n.isFetchingInitialData,name:\"mail_ses_secret\",autocomplete:\"off\",\"data-lpignore\":\"true\",onInput:a[16]||(a[16]=v=>e(l).sesConfig.mail_ses_secret.$touch())},{right:u(()=>[e(i)?(B(),F(c,{key:0,name:\"EyeOffIcon\",class:\"w-5 h-5 mr-1 text-gray-500 cursor-pointer\",onClick:a[13]||(a[13]=v=>Z(i)?i.value=!e(i):i=!e(i))})):(B(),F(c,{key:1,name:\"EyeIcon\",class:\"w-5 h-5 mr-1 text-gray-500 cursor-pointer\",onClick:a[14]||(a[14]=v=>Z(i)?i.value=!e(i):i=!e(i))}))]),_:1},8,[\"modelValue\",\"invalid\",\"type\",\"content-loading\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"])]),t(_,{loading:n.isSaving,disabled:n.isSaving,\"content-loading\":n.isFetchingInitialData,class:\"mt-4\"},{left:u(v=>[n.isSaving?E(\"\",!0):(B(),F(c,{key:0,name:\"SaveIcon\",class:O(v.class)},null,8,[\"class\"]))]),default:u(()=>[P(\" \"+U(h.$t(\"general.save\")),1)]),_:1},8,[\"loading\",\"disabled\",\"content-loading\"])],40,wa)}}},Ca=[\"onSubmit\"],Va={class:\"grid grid-cols-1 gap-4 mb-4 md:grid-cols-2 md:mb-6\"},Da={class:\"grid grid-cols-1 gap-4 mb-6 md:grid-cols-2\"},be={props:{isSaving:{type:Boolean,require:!0,default:!1},isFetchingInitialData:{type:Boolean,require:!0,default:!1}},emits:[\"submit-data\",\"on-change-driver\"],setup(n,{emit:q}){const{t:d}=G(),r=X(),i=z(()=>r.basicMailConfig);z(()=>r.mail_drivers),i.value.mail_driver=\"mail\";const g=z(()=>({basicMailConfig:{mail_driver:{required:I.withMessage(d(\"validation.required\"),D)},from_mail:{required:I.withMessage(d(\"validation.required\"),D),email:I.withMessage(d(\"validation.email_incorrect\"),H)},from_name:{required:I.withMessage(d(\"validation.required\"),D)}}})),o=W(g,z(()=>r));function f(){return o.value.$touch(),o.value.$invalid||q(\"submit-data\",r.basicMailConfig),!1}function l(){var m;o.value.basicMailConfig.mail_driver.$touch(),q(\"on-change-driver\",(m=r==null?void 0:r.basicMailConfig)==null?void 0:m.mail_driver)}return(m,s)=>{const h=b(\"BaseMultiselect\"),a=b(\"BaseInputGroup\"),p=b(\"BaseInput\"),$=b(\"BaseIcon\"),C=b(\"BaseButton\");return B(),k(\"form\",{onSubmit:T(f,[\"prevent\"])},[V(\"div\",Va,[t(a,{label:m.$t(\"wizard.mail.driver\"),\"content-loading\":n.isFetchingInitialData,error:e(o).basicMailConfig.mail_driver.$error&&e(o).basicMailConfig.mail_driver.$errors[0].$message,required:\"\"},{default:u(()=>[t(h,{modelValue:e(i).mail_driver,\"onUpdate:modelValue\":[s[0]||(s[0]=c=>e(i).mail_driver=c),l],invalid:e(o).basicMailConfig.mail_driver.$error,options:e(r).mail_drivers,\"can-deselect\":!1,\"content-loading\":n.isFetchingInitialData},null,8,[\"modelValue\",\"invalid\",\"options\",\"content-loading\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"])]),V(\"div\",Da,[t(a,{label:m.$t(\"wizard.mail.from_name\"),\"content-loading\":n.isFetchingInitialData,error:e(o).basicMailConfig.from_name.$error&&e(o).basicMailConfig.from_name.$errors[0].$message,required:\"\"},{default:u(()=>[t(p,{modelValue:e(i).from_name,\"onUpdate:modelValue\":s[1]||(s[1]=c=>e(i).from_name=c),modelModifiers:{trim:!0},invalid:e(o).basicMailConfig.from_name.$error,\"content-loading\":n.isFetchingInitialData,type:\"text\",name:\"name\",onInput:s[2]||(s[2]=c=>e(o).basicMailConfig.from_name.$touch())},null,8,[\"modelValue\",\"invalid\",\"content-loading\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"]),t(a,{label:m.$t(\"wizard.mail.from_mail\"),\"content-loading\":n.isFetchingInitialData,error:e(o).basicMailConfig.from_mail.$error&&e(o).basicMailConfig.from_mail.$errors[0].$message,required:\"\"},{default:u(()=>[t(p,{modelValue:e(i).from_mail,\"onUpdate:modelValue\":s[3]||(s[3]=c=>e(i).from_mail=c),modelModifiers:{trim:!0},invalid:e(o).basicMailConfig.from_mail.$error,\"content-loading\":n.isFetchingInitialData,type:\"text\",onInput:s[4]||(s[4]=c=>e(o).basicMailConfig.from_mail.$touch())},null,8,[\"modelValue\",\"invalid\",\"content-loading\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"])]),t(C,{loading:n.isSaving,disabled:n.isSaving,\"content-loading\":n.isFetchingInitialData,class:\"mt-4\"},{left:u(c=>[n.isSaving?E(\"\",!0):(B(),F($,{key:0,name:\"SaveIcon\",class:O(c.class)},null,8,[\"class\"]))]),default:u(()=>[P(\" \"+U(m.$t(\"general.save\")),1)]),_:1},8,[\"loading\",\"disabled\",\"content-loading\"])],40,Ca)}}},Sa={components:{Smtp:pa,Mailgun:$a,Ses:Ba,sendmail:be,Mail:be},emits:[\"next\"],setup(n,{emit:q}){const d=M(!1),r=M(!1),i=X();i.mail_driver=\"mail\",o();function g(l){i.mail_driver=l}async function o(){r.value=!0,await i.fetchMailDrivers(),r.value=!1}async function f(l){d.value=!0;let m=await i.updateMailConfig(l);d.value=!1,m.data.success&&await q(\"next\",5)}return{mailDriverStore:i,isSaving:d,isFetchingInitialData:r,changeDriver:g,next:f}}};function Fa(n,q,d,r,i,g){const o=b(\"BaseWizardStep\");return B(),F(o,{title:n.$t(\"wizard.mail.mail_config\"),description:n.$t(\"wizard.mail.mail_config_desc\")},{default:u(()=>[V(\"form\",{action:\"\",onSubmit:q[1]||(q[1]=T((...f)=>r.next&&r.next(...f),[\"prevent\"]))},[(B(),F(le(r.mailDriverStore.mail_driver),{\"config-data\":r.mailDriverStore.mailConfigData,\"is-saving\":r.isSaving,\"is-fetching-initial-data\":r.isFetchingInitialData,onOnChangeDriver:q[0]||(q[0]=f=>r.changeDriver(f)),onSubmitData:r.next},null,8,[\"config-data\",\"is-saving\",\"is-fetching-initial-data\",\"onSubmitData\"]))],32)]),_:1},8,[\"title\",\"description\"])}var Ma=se(Sa,[[\"render\",Fa]]);const za=[\"onSubmit\"],ka={class:\"grid grid-cols-1 mb-4 md:grid-cols-2 md:mb-6\"},Ua={class:\"grid grid-cols-1 gap-4 mb-4 md:grid-cols-2 md:mb-6\"},Pa={class:\"grid grid-cols-1 gap-4 mb-6 md:grid-cols-2\"},Na={emits:[\"next\"],setup(n,{emit:q}){let d=M(!1);const r=M(!1),i=M(!1);let g=M(\"\"),o=M(null);const f=ve(),l=te(),{t:m}=G(),s=z(()=>f.userForm),h=z(()=>({userForm:{name:{required:I.withMessage(m(\"validation.required\"),D)},email:{required:I.withMessage(m(\"validation.required\"),D),email:I.withMessage(m(\"validation.email_incorrect\"),H)},password:{required:I.withMessage(m(\"validation.required\"),D),minLength:I.withMessage(m(\"validation.password_min_length\",{count:8}),Ie(8))},confirm_password:{required:I.withMessage(m(\"validation.required\"),qe(f.userForm.password)),sameAsPassword:I.withMessage(m(\"validation.password_incorrect\"),Be(f.userForm.password))}}})),a=W(h,z(()=>f));function p(c,_){o.value=_}function $(){o.value=null}async function C(){if(a.value.userForm.$touch(),a.value.userForm.$invalid)return!0;d.value=!0;let c=await f.updateCurrentUser(s.value);if(d.value=!1,c.data.data){if(o.value){let v=new FormData;v.append(\"admin_avatar\",o.value),await f.uploadAvatar(v)}const _=c.data.data.companies[0];await l.setSelectedCompany(_),q(\"next\",6)}}return(c,_)=>{const v=b(\"BaseFileUploader\"),w=b(\"BaseInputGroup\"),y=b(\"BaseInput\"),x=b(\"EyeOffIcon\"),Y=b(\"EyeIcon\"),J=b(\"BaseIcon\"),K=b(\"BaseButton\"),N=b(\"BaseWizardStep\");return B(),F(N,{title:c.$t(\"wizard.account_info\"),description:c.$t(\"wizard.account_info_desc\")},{default:u(()=>[V(\"form\",{action:\"\",onSubmit:T(C,[\"prevent\"])},[V(\"div\",ka,[t(w,{label:c.$tc(\"settings.account_settings.profile_picture\")},{default:u(()=>[t(v,{avatar:!0,\"preview-image\":e(g),onChange:p,onRemove:$},null,8,[\"preview-image\"])]),_:1},8,[\"label\"])]),V(\"div\",Ua,[t(w,{label:c.$t(\"wizard.name\"),error:e(a).userForm.name.$error&&e(a).userForm.name.$errors[0].$message,required:\"\"},{default:u(()=>[t(y,{modelValue:e(s).name,\"onUpdate:modelValue\":_[0]||(_[0]=S=>e(s).name=S),modelModifiers:{trim:!0},invalid:e(a).userForm.name.$error,type:\"text\",name:\"name\",onInput:_[1]||(_[1]=S=>e(a).userForm.name.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"]),t(w,{label:c.$t(\"wizard.email\"),error:e(a).userForm.email.$error&&e(a).userForm.email.$errors[0].$message,required:\"\"},{default:u(()=>[t(y,{modelValue:e(s).email,\"onUpdate:modelValue\":_[2]||(_[2]=S=>e(s).email=S),modelModifiers:{trim:!0},invalid:e(a).userForm.email.$error,type:\"text\",name:\"email\",onInput:_[3]||(_[3]=S=>e(a).userForm.email.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"])]),V(\"div\",Pa,[t(w,{label:c.$t(\"wizard.password\"),error:e(a).userForm.password.$error&&e(a).userForm.password.$errors[0].$message,required:\"\"},{default:u(()=>[t(y,{modelValue:e(s).password,\"onUpdate:modelValue\":_[6]||(_[6]=S=>e(s).password=S),modelModifiers:{trim:!0},invalid:e(a).userForm.password.$error,type:r.value?\"text\":\"password\",name:\"password\",onInput:_[7]||(_[7]=S=>e(a).userForm.password.$touch())},{right:u(()=>[r.value?(B(),F(x,{key:0,class:\"w-5 h-5 mr-1 text-gray-500 cursor-pointer\",onClick:_[4]||(_[4]=S=>r.value=!r.value)})):(B(),F(Y,{key:1,class:\"w-5 h-5 mr-1 text-gray-500 cursor-pointer\",onClick:_[5]||(_[5]=S=>r.value=!r.value)}))]),_:1},8,[\"modelValue\",\"invalid\",\"type\"])]),_:1},8,[\"label\",\"error\"]),t(w,{label:c.$t(\"wizard.confirm_password\"),error:e(a).userForm.confirm_password.$error&&e(a).userForm.confirm_password.$errors[0].$message,required:\"\"},{default:u(()=>[t(y,{modelValue:e(s).confirm_password,\"onUpdate:modelValue\":_[10]||(_[10]=S=>e(s).confirm_password=S),modelModifiers:{trim:!0},invalid:e(a).userForm.confirm_password.$error,type:i.value?\"text\":\"password\",name:\"confirm_password\",onInput:_[11]||(_[11]=S=>e(a).userForm.confirm_password.$touch())},{right:u(()=>[i.value?(B(),F(J,{key:0,name:\"EyeOffIcon\",class:\"w-5 h-5 mr-1 text-gray-500 cursor-pointer\",onClick:_[8]||(_[8]=S=>i.value=!i.value)})):(B(),F(J,{key:1,name:\"EyeIcon\",class:\"w-5 h-5 mr-1 text-gray-500 cursor-pointer\",onClick:_[9]||(_[9]=S=>i.value=!i.value)}))]),_:1},8,[\"modelValue\",\"invalid\",\"type\"])]),_:1},8,[\"label\",\"error\"])]),t(K,{loading:e(d),disabled:e(d),class:\"mt-4\"},{left:u(S=>[e(d)?E(\"\",!0):(B(),F(J,{key:0,name:\"SaveIcon\",class:O(S.class)},null,8,[\"class\"]))]),default:u(()=>[P(\" \"+U(c.$t(\"wizard.save_cont\")),1)]),_:1},8,[\"loading\",\"disabled\"])],40,za)]),_:1},8,[\"title\",\"description\"])}}},Ea=[\"onSubmit\"],Ga={class:\"grid grid-cols-1 mb-4 md:grid-cols-2 md:mb-6\"},Oa={class:\"grid grid-cols-1 gap-4 mb-4 md:grid-cols-2 md:mb-6\"},xa={class:\"grid grid-cols-1 gap-4 mb-4 md:grid-cols-2 md:mb-6\"},La={class:\"grid grid-cols-1 gap-4 mb-6 md:grid-cols-2\"},Wa={emits:[\"next\"],setup(n,{emit:q}){let d=M(!1),r=M(!1);const{t:i}=G();let g=M(null),o=M(null),f=M(null);const l=j({name:null,address:{address_street_1:\"\",address_street_2:\"\",website:\"\",country_id:null,state:\"\",city:\"\",phone:\"\",zip:\"\"}}),m=te(),s=_e();Q(async()=>{var c;d.value=!0,await s.fetchCountries(),d.value=!1,l.address.country_id=(c=s.countries.find(_=>_.code==\"US\"))==null?void 0:c.id});const h={companyForm:{name:{required:I.withMessage(i(\"validation.required\"),D)},address:{country_id:{required:I.withMessage(i(\"validation.required\"),D)},address_street_1:{maxLength:I.withMessage(i(\"validation.address_maxlength\",{count:255}),ge(255))},address_street_2:{maxLength:I.withMessage(i(\"validation.address_maxlength\",{count:255}),ge(255))}}}},a=W(h,{companyForm:l});function p(c,_,v,w){f.value=w.name,o.value=_}function $(){o.value=null}async function C(){if(a.value.companyForm.$touch(),a.value.$invalid)return!0;if(r.value=!0,m.updateCompany(l)){if(o.value){let _=new FormData;_.append(\"company_logo\",JSON.stringify({name:f.value,data:o.value})),await m.updateCompanyLogo(_)}r.value=!1,q(\"next\",7)}}return(c,_)=>{const v=b(\"BaseFileUploader\"),w=b(\"BaseInputGroup\"),y=b(\"BaseInput\"),x=b(\"BaseMultiselect\"),Y=b(\"BaseTextarea\"),J=b(\"BaseIcon\"),K=b(\"BaseButton\"),N=b(\"BaseWizardStep\");return B(),F(N,{title:c.$t(\"wizard.company_info\"),description:c.$t(\"wizard.company_info_desc\"),\"step-container\":\"bg-white border border-gray-200 border-solid mb-8 md:w-full p-8 rounded w-full\"},{default:u(()=>[V(\"form\",{action:\"\",onSubmit:T(C,[\"prevent\"])},[V(\"div\",Ga,[t(w,{label:c.$tc(\"settings.company_info.company_logo\")},{default:u(()=>[t(v,{base64:\"\",\"preview-image\":e(g),onChange:p,onRemove:$},null,8,[\"preview-image\"])]),_:1},8,[\"label\"])]),V(\"div\",Oa,[t(w,{label:c.$t(\"wizard.company_name\"),error:e(a).companyForm.name.$error&&e(a).companyForm.name.$errors[0].$message,required:\"\"},{default:u(()=>[t(y,{modelValue:e(l).name,\"onUpdate:modelValue\":_[0]||(_[0]=S=>e(l).name=S),modelModifiers:{trim:!0},invalid:e(a).companyForm.name.$error,type:\"text\",name:\"name\",onInput:_[1]||(_[1]=S=>e(a).companyForm.name.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"]),t(w,{label:c.$t(\"wizard.country\"),error:e(a).companyForm.address.country_id.$error&&e(a).companyForm.address.country_id.$errors[0].$message,\"content-loading\":e(d),required:\"\"},{default:u(()=>[t(x,{modelValue:e(l).address.country_id,\"onUpdate:modelValue\":_[2]||(_[2]=S=>e(l).address.country_id=S),label:\"name\",invalid:e(a).companyForm.address.country_id.$error,options:e(s).countries,\"value-prop\":\"id\",\"can-deselect\":!1,\"can-clear\":!1,\"content-loading\":e(d),placeholder:c.$t(\"general.select_country\"),searchable:\"\",\"track-by\":\"name\"},null,8,[\"modelValue\",\"invalid\",\"options\",\"content-loading\",\"placeholder\"])]),_:1},8,[\"label\",\"error\",\"content-loading\"])]),V(\"div\",xa,[t(w,{label:c.$t(\"wizard.state\")},{default:u(()=>[t(y,{modelValue:e(l).address.state,\"onUpdate:modelValue\":_[3]||(_[3]=S=>e(l).address.state=S),name:\"state\",type:\"text\"},null,8,[\"modelValue\"])]),_:1},8,[\"label\"]),t(w,{label:c.$t(\"wizard.city\")},{default:u(()=>[t(y,{modelValue:e(l).address.city,\"onUpdate:modelValue\":_[4]||(_[4]=S=>e(l).address.city=S),name:\"city\",type:\"text\"},null,8,[\"modelValue\"])]),_:1},8,[\"label\"])]),V(\"div\",La,[V(\"div\",null,[t(w,{label:c.$t(\"wizard.address\"),error:e(a).companyForm.address.address_street_1.$error&&e(a).companyForm.address.address_street_1.$errors[0].$message},{default:u(()=>[t(Y,{modelValue:e(l).address.address_street_1,\"onUpdate:modelValue\":_[5]||(_[5]=S=>e(l).address.address_street_1=S),modelModifiers:{trim:!0},invalid:e(a).companyForm.address.address_street_1.$error,placeholder:c.$t(\"general.street_1\"),name:\"billing_street1\",rows:\"2\",onInput:_[6]||(_[6]=S=>e(a).companyForm.address.address_street_1.$touch())},null,8,[\"modelValue\",\"invalid\",\"placeholder\"])]),_:1},8,[\"label\",\"error\"]),t(w,{error:e(a).companyForm.address.address_street_2.$error&&e(a).companyForm.address.address_street_2.$errors[0].$message,class:\"mt-1 lg:mt-2 md:mt-2\"},{default:u(()=>[t(Y,{modelValue:e(l).address.address_street_2,\"onUpdate:modelValue\":_[7]||(_[7]=S=>e(l).address.address_street_2=S),invalid:e(a).companyForm.address.address_street_2.$error,placeholder:c.$t(\"general.street_2\"),name:\"billing_street2\",rows:\"2\",onInput:_[8]||(_[8]=S=>e(a).companyForm.address.address_street_2.$touch())},null,8,[\"modelValue\",\"invalid\",\"placeholder\"])]),_:1},8,[\"error\"])]),V(\"div\",null,[t(w,{label:c.$t(\"wizard.zip_code\")},{default:u(()=>[t(y,{modelValue:e(l).address.zip,\"onUpdate:modelValue\":_[9]||(_[9]=S=>e(l).address.zip=S),modelModifiers:{trim:!0},type:\"text\",name:\"zip\"},null,8,[\"modelValue\"])]),_:1},8,[\"label\"]),t(w,{label:c.$t(\"wizard.phone\"),class:\"mt-4\"},{default:u(()=>[t(y,{modelValue:e(l).address.phone,\"onUpdate:modelValue\":_[10]||(_[10]=S=>e(l).address.phone=S),modelModifiers:{trim:!0},type:\"text\",name:\"phone\"},null,8,[\"modelValue\"])]),_:1},8,[\"label\"])])]),t(K,{loading:e(r),disabled:e(r),class:\"mt-4\"},{left:u(S=>[e(r)?E(\"\",!0):(B(),F(J,{key:0,name:\"SaveIcon\",class:O(S.class)},null,8,[\"class\"]))]),default:u(()=>[P(\" \"+U(c.$t(\"wizard.save_cont\")),1)]),_:1},8,[\"loading\",\"disabled\"])],40,Ea)]),_:1},8,[\"title\",\"description\"])}}},Ta=[\"onSubmit\"],ja={class:\"grid grid-cols-1 gap-4 mb-4 md:grid-cols-2 md:mb-6\"},Ra={class:\"grid grid-cols-1 gap-4 mb-4 md:grid-cols-2 md:mb-6\"},Aa={class:\"grid grid-cols-1 gap-4 mb-6 md:grid-cols-2\"},Ya={emits:[\"next\"],setup(n,{emit:q}){const d=M(!1);let r=M(!1),i=j({currency:1,language:\"en\",carbon_date_format:\"d M Y\",time_zone:\"UTC\",fiscal_year:\"1-12\"});const{tm:g,t:o}=G(),f=pe();r.value=!0,j([{title:g(\"settings.customization.invoices.allow\"),value:\"allow\"},{title:g(\"settings.customization.invoices.disable_on_invoice_partial_paid\"),value:\"disable_on_invoice_partial_paid\"},{title:g(\"settings.customization.invoices.disable_on_invoice_paid\"),value:\"disable_on_invoice_paid\"},{title:g(\"settings.customization.invoices.disable_on_invoice_sent\"),value:\"disable_on_invoice_sent\"}]);const l=fe(),m=_e(),s=te(),h=ve(),a=de();let p={key:\"fiscal_years\"},$={key:\"languages\"};r.value=!0,Promise.all([m.fetchCurrencies(),m.fetchDateFormats(),m.fetchTimeZones(),m.fetchCountries(),m.fetchConfig(p),m.fetchConfig($)]).then(([v])=>{r.value=!1});const C=z(()=>({currentPreferences:{currency:{required:I.withMessage(o(\"validation.required\"),D)},language:{required:I.withMessage(o(\"validation.required\"),D)},carbon_date_format:{required:I.withMessage(o(\"validation.required\"),D)},time_zone:{required:I.withMessage(o(\"validation.required\"),D)},fiscal_year:{required:I.withMessage(o(\"validation.required\"),D)}}})),c=W(C,{currentPreferences:i});async function _(){if(c.value.currentPreferences.$touch(),c.value.$invalid)return!0;l.openDialog({title:o(\"general.do_you_wish_to_continue\"),message:o(\"wizard.currency_set_alert\"),yesLabel:o(\"general.ok\"),noLabel:o(\"general.cancel\"),variant:\"danger\",size:\"lg\",hideNoButton:!1}).then(async v=>{if(v){let w={settings:ce({},i)};d.value=!0,delete w.settings.discount_per_item;let y=await s.updateCompanySettings({data:w});if(y.data){d.value=!1;let x={settings:{language:i.language}};(await h.updateUserSettings(x)).data&&(q(\"next\",\"COMPLETED\"),a.showNotification({type:\"success\",message:\"Login Successful\"}),f.push(\"/admin/dashboard\")),Ce.set(\"auth.token\",y.data.token)}return!0}return d.value=!1,!0})}return(v,w)=>{const y=b(\"BaseMultiselect\"),x=b(\"BaseInputGroup\"),Y=b(\"BaseIcon\"),J=b(\"BaseButton\"),K=b(\"BaseWizardStep\");return B(),F(K,{title:v.$t(\"wizard.preferences\"),description:v.$t(\"wizard.preferences_desc\"),\"step-container\":\"bg-white border border-gray-200 border-solid mb-8 md:w-full p-8 rounded w-full\"},{default:u(()=>[V(\"form\",{action:\"\",onSubmit:T(_,[\"prevent\"])},[V(\"div\",null,[V(\"div\",ja,[t(x,{label:v.$t(\"wizard.currency\"),error:e(c).currentPreferences.currency.$error&&e(c).currentPreferences.currency.$errors[0].$message,\"content-loading\":e(r),required:\"\"},{default:u(()=>[t(y,{modelValue:e(i).currency,\"onUpdate:modelValue\":w[0]||(w[0]=N=>e(i).currency=N),\"content-loading\":e(r),options:e(m).currencies,label:\"name\",\"value-prop\":\"id\",searchable:!0,\"track-by\":\"name\",placeholder:v.$tc(\"settings.currencies.select_currency\"),invalid:e(c).currentPreferences.currency.$error,class:\"w-full\"},null,8,[\"modelValue\",\"content-loading\",\"options\",\"placeholder\",\"invalid\"])]),_:1},8,[\"label\",\"error\",\"content-loading\"]),t(x,{label:v.$t(\"settings.preferences.default_language\"),error:e(c).currentPreferences.language.$error&&e(c).currentPreferences.language.$errors[0].$message,\"content-loading\":e(r),required:\"\"},{default:u(()=>[t(y,{modelValue:e(i).language,\"onUpdate:modelValue\":w[1]||(w[1]=N=>e(i).language=N),\"content-loading\":e(r),options:e(m).languages,label:\"name\",\"value-prop\":\"code\",placeholder:v.$tc(\"settings.preferences.select_language\"),class:\"w-full\",\"track-by\":\"name\",searchable:!0,invalid:e(c).currentPreferences.language.$error},null,8,[\"modelValue\",\"content-loading\",\"options\",\"placeholder\",\"invalid\"])]),_:1},8,[\"label\",\"error\",\"content-loading\"])]),V(\"div\",Ra,[t(x,{label:v.$t(\"wizard.date_format\"),error:e(c).currentPreferences.carbon_date_format.$error&&e(c).currentPreferences.carbon_date_format.$errors[0].$message,\"content-loading\":e(r),required:\"\"},{default:u(()=>[t(y,{modelValue:e(i).carbon_date_format,\"onUpdate:modelValue\":w[2]||(w[2]=N=>e(i).carbon_date_format=N),\"content-loading\":e(r),options:e(m).dateFormats,label:\"display_date\",\"value-prop\":\"carbon_format_value\",placeholder:v.$tc(\"settings.preferences.select_date_format\"),\"track-by\":\"display_date\",searchable:\"\",invalid:e(c).currentPreferences.carbon_date_format.$error,class:\"w-full\"},null,8,[\"modelValue\",\"content-loading\",\"options\",\"placeholder\",\"invalid\"])]),_:1},8,[\"label\",\"error\",\"content-loading\"]),t(x,{label:v.$t(\"wizard.time_zone\"),error:e(c).currentPreferences.time_zone.$error&&e(c).currentPreferences.time_zone.$errors[0].$message,\"content-loading\":e(r),required:\"\"},{default:u(()=>[t(y,{modelValue:e(i).time_zone,\"onUpdate:modelValue\":w[3]||(w[3]=N=>e(i).time_zone=N),\"content-loading\":e(r),options:e(m).timeZones,label:\"key\",\"value-prop\":\"value\",placeholder:v.$tc(\"settings.preferences.select_time_zone\"),\"track-by\":\"key\",searchable:!0,invalid:e(c).currentPreferences.time_zone.$error},null,8,[\"modelValue\",\"content-loading\",\"options\",\"placeholder\",\"invalid\"])]),_:1},8,[\"label\",\"error\",\"content-loading\"])]),V(\"div\",Aa,[t(x,{label:v.$t(\"wizard.fiscal_year\"),error:e(c).currentPreferences.fiscal_year.$error&&e(c).currentPreferences.fiscal_year.$errors[0].$message,\"content-loading\":e(r),required:\"\"},{default:u(()=>[t(y,{modelValue:e(i).fiscal_year,\"onUpdate:modelValue\":w[4]||(w[4]=N=>e(i).fiscal_year=N),\"content-loading\":e(r),options:e(m).fiscalYears,label:\"key\",\"value-prop\":\"value\",placeholder:v.$tc(\"settings.preferences.select_financial_year\"),invalid:e(c).currentPreferences.fiscal_year.$error,\"track-by\":\"key\",searchable:!0,class:\"w-full\"},null,8,[\"modelValue\",\"content-loading\",\"options\",\"placeholder\",\"invalid\"])]),_:1},8,[\"label\",\"error\",\"content-loading\"])]),t(J,{loading:d.value,disabled:d.value,\"content-loading\":e(r),class:\"mt-4\"},{left:u(N=>[t(Y,{name:\"SaveIcon\",class:O(N.class)},null,8,[\"class\"])]),default:u(()=>[P(\" \"+U(v.$t(\"wizard.save_cont\")),1)]),_:1},8,[\"loading\",\"disabled\",\"content-loading\"])])],40,Ta)]),_:1},8,[\"title\",\"description\"])}}};var Ja=\"/build/img/crater-logo.png\";const Za={components:{step_1:Oe,step_2:Ae,step_3:ia,step_4:sa,step_5:Ma,step_6:Na,step_7:Wa,step_8:Ya},setup(){let n=M(\"step_1\"),q=M(1);const d=pe(),r=A();i();async function i(){let l=await r.fetchInstallationStep();if(l.data.profile_complete===\"COMPLETED\"){d.push(\"/admin/dashboard\");return}let m=parseInt(l.data.profile_complete);m&&(q.value=m+1,n.value=`step_${m+1}`)}async function g(l){var s,h;let m={profile_complete:l};try{return await r.addInstallationStep(m),!0}catch(a){return((h=(s=a==null?void 0:a.response)==null?void 0:s.data)==null?void 0:h.message)===\"The MAC is invalid.\"&&window.location.reload(),!1}}async function o(l){if(l&&!await g(l))return!1;q.value++,q.value<=8&&(n.value=\"step_\"+q.value)}function f(l){}return{stepComponent:n,currentStepNumber:q,onStepChange:o,saveStepProgress:g,onNavClick:f}}},Ka={class:\"flex flex-col items-center justify-between w-full pt-10\"},Qa=V(\"img\",{id:\"logo-crater\",src:Ja,alt:\"Crater Logo\",class:\"h-12 mb-5 md:mb-10\"},null,-1);function Ha(n,q,d,r,i,g){const o=b(\"BaseWizard\");return B(),k(\"div\",Ka,[Qa,t(o,{steps:7,\"current-step\":r.currentStepNumber,onClick:r.onNavClick},{default:u(()=>[(B(),F(le(r.stepComponent),{onNext:r.onStepChange},null,8,[\"onNext\"]))]),_:1},8,[\"current-step\",\"onClick\"])])}var nt=se(Za,[[\"render\",Ha]]);export{nt as default};\n"
  },
  {
    "path": "public/build/assets/InvoiceCreate.2736eea6.js",
    "content": "var K=Object.defineProperty,Q=Object.defineProperties;var W=Object.getOwnPropertyDescriptors;var j=Object.getOwnPropertySymbols;var X=Object.prototype.hasOwnProperty,Z=Object.prototype.propertyIsEnumerable;var q=(t,e,i)=>e in t?K(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i,L=(t,e)=>{for(var i in e||(e={}))X.call(e,i)&&q(t,i,e[i]);if(j)for(var i of j(e))Z.call(e,i)&&q(t,i,e[i]);return t},T=(t,e)=>Q(t,W(e));import{r as l,o as u,e as x,f as o,u as n,w as c,J as ee,G as ne,aN as te,B as C,k as I,L as p,M as y,S as oe,O as ie,aP as ae,T as se,C as le,l as b,j as k,h as $,t as M,m as ce,i as re,U as de,F as ue}from\"./vendor.d12b5734.js\";import{i as P,b as me,m as ve,r as ge}from\"./main.465728e1.js\";import{_ as pe,a as _e,b as fe,c as Ie,d as be,e as we,f as ye}from\"./SalesTax.75d66dd0.js\";import{_ as $e}from\"./ExchangeRateConverter.d865db6a.js\";import{_ as Be}from\"./CreateCustomFields.c1c460e4.js\";import{_ as Se}from\"./TaxTypeModal.d37d74ed.js\";import\"./DragIcon.2da3872a.js\";import\"./SelectNotePopup.2e678c03.js\";import\"./NoteModal.ebe10cf0.js\";import\"./payment.93619753.js\";import\"./exchange-rate.85b564e2.js\";const he={class:\"grid grid-cols-12 gap-8 mt-6 mb-8\"},Ce={props:{v:{type:Object,default:null},isLoading:{type:Boolean,default:!1},isEdit:{type:Boolean,default:!1}},setup(t){const e=P();return(i,r)=>{const B=l(\"BaseCustomerSelectPopup\"),d=l(\"BaseDatePicker\"),m=l(\"BaseInputGroup\"),S=l(\"BaseInput\"),_=l(\"BaseInputGrid\");return u(),x(\"div\",he,[o(B,{modelValue:n(e).newInvoice.customer,\"onUpdate:modelValue\":r[0]||(r[0]=a=>n(e).newInvoice.customer=a),valid:t.v.customer_id,\"content-loading\":t.isLoading,type:\"invoice\",class:\"col-span-12 lg:col-span-5 pr-0\"},null,8,[\"modelValue\",\"valid\",\"content-loading\"]),o(_,{class:\"col-span-12 lg:col-span-7\"},{default:c(()=>[o(m,{label:i.$t(\"invoices.invoice_date\"),\"content-loading\":t.isLoading,required:\"\",error:t.v.invoice_date.$error&&t.v.invoice_date.$errors[0].$message},{default:c(()=>[o(d,{modelValue:n(e).newInvoice.invoice_date,\"onUpdate:modelValue\":r[1]||(r[1]=a=>n(e).newInvoice.invoice_date=a),\"content-loading\":t.isLoading,\"calendar-button\":!0,\"calendar-button-icon\":\"calendar\"},null,8,[\"modelValue\",\"content-loading\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"]),o(m,{label:i.$t(\"invoices.due_date\"),\"content-loading\":t.isLoading},{default:c(()=>[o(d,{modelValue:n(e).newInvoice.due_date,\"onUpdate:modelValue\":r[2]||(r[2]=a=>n(e).newInvoice.due_date=a),\"content-loading\":t.isLoading,\"calendar-button\":!0,\"calendar-button-icon\":\"calendar\"},null,8,[\"modelValue\",\"content-loading\"])]),_:1},8,[\"label\",\"content-loading\"]),o(m,{label:i.$t(\"invoices.invoice_number\"),\"content-loading\":t.isLoading,error:t.v.invoice_number.$error&&t.v.invoice_number.$errors[0].$message,required:\"\"},{default:c(()=>[o(S,{modelValue:n(e).newInvoice.invoice_number,\"onUpdate:modelValue\":r[3]||(r[3]=a=>n(e).newInvoice.invoice_number=a),\"content-loading\":t.isLoading,onInput:r[4]||(r[4]=a=>t.v.invoice_number.$touch())},null,8,[\"modelValue\",\"content-loading\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"]),o($e,{store:n(e),\"store-prop\":\"newInvoice\",v:t.v,\"is-loading\":t.isLoading,\"is-edit\":t.isEdit,\"customer-currency\":n(e).newInvoice.currency_id},null,8,[\"store\",\"v\",\"is-loading\",\"is-edit\",\"customer-currency\"])]),_:1})])}}},ke=[\"onSubmit\"],Ve={class:\"flex\"},je={class:\"block mt-10 invoice-foot lg:flex lg:justify-between lg:items-start\"},qe={class:\"relative w-full lg:w-1/2 lg:mr-4\"},He={setup(t){const e=P(),i=me(),r=ve(),B=ge(),{t:d}=ee();let m=ne(),S=te();const _=\"newInvoice\";let a=C(!1);const F=C(!1),E=C([\"customer\",\"company\",\"customerCustom\",\"invoice\",\"invoiceCustom\"]);let f=I(()=>e.isFetchingInvoice||e.isFetchingInitialSettings),N=I(()=>v.value?d(\"invoices.edit_invoice\"):d(\"invoices.new_invoice\"));const U=I(()=>i.selectedCompanySettings.sales_tax_us_enabled===\"YES\"&&B.salesTaxUSEnabled);let v=I(()=>m.name===\"invoices.edit\");const D={invoice_date:{required:p.withMessage(d(\"validation.required\"),y)},reference_number:{maxLength:p.withMessage(d(\"validation.price_maxlength\"),oe(255))},customer_id:{required:p.withMessage(d(\"validation.required\"),y)},invoice_number:{required:p.withMessage(d(\"validation.required\"),y)},exchange_rate:{required:ie(function(){return p.withMessage(d(\"validation.required\"),y),e.showExchangeRate}),decimal:p.withMessage(d(\"validation.valid_exchange_rate\"),ae)}},w=se(D,I(()=>e.newInvoice),{$scope:_});r.resetCustomFields(),w.value.$reset,e.resetCurrentInvoice(),e.fetchInvoiceInitialSettings(v.value),le(()=>e.newInvoice.customer,s=>{s&&s.currency?e.newInvoice.selectedCurrency=s.currency:e.newInvoice.selectedCurrency=i.selectedCompanyCurrency});async function G(){if(w.value.$touch(),w.value.$invalid)return!1;a.value=!0;let s=T(L({},e.newInvoice),{sub_total:e.getSubTotal,total:e.getTotal,tax:e.getTotalTax});try{const g=await(v.value?e.updateInvoice:e.addInvoice)(s);S.push(`/admin/invoices/${g.data.data.id}/view`)}catch(h){console.error(h)}a.value=!1}return(s,h)=>{const g=l(\"BaseBreadcrumbItem\"),R=l(\"BaseBreadcrumb\"),V=l(\"BaseButton\"),H=l(\"router-link\"),O=l(\"BaseIcon\"),z=l(\"BasePageHeader\"),A=l(\"BaseScrollPane\"),J=l(\"BasePage\");return u(),x(ue,null,[o(pe),o(_e),o(Se),n(U)&&(!n(f)||n(m).query.customer)?(u(),b(fe,{key:0,store:n(e),\"is-edit\":n(v),\"store-prop\":\"newInvoice\",customer:n(e).newInvoice.customer},null,8,[\"store\",\"is-edit\",\"customer\"])):k(\"\",!0),o(J,{class:\"relative invoice-create-page\"},{default:c(()=>[$(\"form\",{onSubmit:de(G,[\"prevent\"])},[o(z,{title:n(N)},{actions:c(()=>[s.$route.name===\"invoices.edit\"?(u(),b(H,{key:0,to:`/invoices/pdf/${n(e).newInvoice.unique_hash}`,target:\"_blank\"},{default:c(()=>[o(V,{class:\"mr-3\",variant:\"primary-outline\",type:\"button\"},{default:c(()=>[$(\"span\",Ve,M(s.$t(\"general.view_pdf\")),1)]),_:1})]),_:1},8,[\"to\"])):k(\"\",!0),o(V,{loading:n(a),disabled:n(a),variant:\"primary\",type:\"submit\"},{left:c(Y=>[n(a)?k(\"\",!0):(u(),b(O,{key:0,name:\"SaveIcon\",class:ce(Y.class)},null,8,[\"class\"]))]),default:c(()=>[re(\" \"+M(s.$t(\"invoices.save_invoice\")),1)]),_:1},8,[\"loading\",\"disabled\"])]),default:c(()=>[o(R,null,{default:c(()=>[o(g,{title:s.$t(\"general.home\"),to:\"/admin/dashboard\"},null,8,[\"title\"]),o(g,{title:s.$tc(\"invoices.invoice\",2),to:\"/admin/invoices\"},null,8,[\"title\"]),s.$route.name===\"invoices.edit\"?(u(),b(g,{key:0,title:s.$t(\"invoices.edit_invoice\"),to:\"#\",active:\"\"},null,8,[\"title\"])):(u(),b(g,{key:1,title:s.$t(\"invoices.new_invoice\"),to:\"#\",active:\"\"},null,8,[\"title\"]))]),_:1})]),_:1},8,[\"title\"]),o(Ce,{v:n(w),\"is-loading\":n(f),\"is-edit\":n(v)},null,8,[\"v\",\"is-loading\",\"is-edit\"]),o(A,null,{default:c(()=>[o(Ie,{currency:n(e).newInvoice.selectedCurrency,\"is-loading\":n(f),\"item-validation-scope\":_,store:n(e),\"store-prop\":\"newInvoice\"},null,8,[\"currency\",\"is-loading\",\"store\"]),$(\"div\",je,[$(\"div\",qe,[o(be,{store:n(e),\"store-prop\":\"newInvoice\",fields:E.value,type:\"Invoice\"},null,8,[\"store\",\"fields\"]),o(Be,{type:\"Invoice\",\"is-edit\":n(v),\"is-loading\":n(f),store:n(e),\"store-prop\":\"newInvoice\",\"custom-field-scope\":_,class:\"mb-6\"},null,8,[\"is-edit\",\"is-loading\",\"store\"]),o(we,{store:n(e),\"store-prop\":\"newInvoice\",\"component-name\":\"InvoiceTemplate\",\"is-mark-as-default\":F.value},null,8,[\"store\",\"is-mark-as-default\"])]),o(ye,{currency:n(e).newInvoice.selectedCurrency,\"is-loading\":n(f),store:n(e),\"store-prop\":\"newInvoice\",\"tax-popup-type\":\"invoice\"},null,8,[\"currency\",\"is-loading\",\"store\"])])]),_:1})],40,ke)]),_:1})],64)}}};export{He as default};\n"
  },
  {
    "path": "public/build/assets/InvoiceIndexDropdown.c4bcaa08.js",
    "content": "import{J as O,G as j,aN as z,ah as R,r as I,o as r,l,w as o,u as c,f as s,q as M,ag as P,i as d,t as m,j as v}from\"./vendor.d12b5734.js\";import{i as F,c as U,u as q,j as H,e as W,g as y}from\"./main.465728e1.js\";const K={props:{row:{type:Object,default:null},table:{type:Object,default:null},loadData:{type:Function,default:()=>{}}},setup(a){const f=a,p=F(),N=U(),$=q(),b=H(),g=W(),{t:i}=O(),w=j(),C=z(),x=R(\"utils\");function _(e){return(e.status==\"SENT\"||e.status==\"VIEWED\")&&g.hasAbilities(y.SEND_INVOICE)}function D(e){return e.status==\"DRAFT\"&&w.name!==\"invoices.view\"&&g.hasAbilities(y.SEND_INVOICE)}async function B(e){b.openDialog({title:i(\"general.are_you_sure\"),message:i(\"invoices.confirm_delete\"),yesLabel:i(\"general.ok\"),noLabel:i(\"general.cancel\"),variant:\"danger\",hideNoButton:!1,size:\"lg\"}).then(n=>{e=e,n&&p.deleteInvoice({ids:[e]}).then(t=>{t.data.success&&(C.push(\"/admin/invoices\"),f.table&&f.table.refresh(),p.$patch(h=>{h.selectedInvoices=[],h.selectAllField=!1}))})})}async function A(e){b.openDialog({title:i(\"general.are_you_sure\"),message:i(\"invoices.confirm_clone\"),yesLabel:i(\"general.ok\"),noLabel:i(\"general.cancel\"),variant:\"primary\",hideNoButton:!1,size:\"lg\"}).then(n=>{n&&p.cloneInvoice(e).then(t=>{C.push(`/admin/invoices/${t.data.data.id}/edit`)})})}async function T(e){b.openDialog({title:i(\"general.are_you_sure\"),message:i(\"invoices.invoice_mark_as_sent\"),yesLabel:i(\"general.ok\"),noLabel:i(\"general.cancel\"),variant:\"primary\",hideNoButton:!1,size:\"lg\"}).then(n=>{const t={id:e,status:\"SENT\"};n&&p.markAsSent(t).then(h=>{f.table&&f.table.refresh()})})}async function E(e){N.openModal({title:i(\"invoices.send_invoice\"),componentName:\"SendInvoiceModal\",id:e.id,data:e,variant:\"sm\"})}function V(){let e=`${window.location.origin}/invoices/pdf/${f.row.unique_hash}`;x.copyTextToClipboard(e),$.showNotification({type:\"success\",message:i(\"general.copied_pdf_url_clipboard\")})}return(e,n)=>{const t=I(\"BaseIcon\"),h=I(\"BaseButton\"),u=I(\"BaseDropdownItem\"),S=I(\"router-link\"),L=I(\"BaseDropdown\");return r(),l(L,null,{activator:o(()=>[c(w).name===\"invoices.view\"?(r(),l(h,{key:0,variant:\"primary\"},{default:o(()=>[s(t,{name:\"DotsHorizontalIcon\",class:\"h-5 text-white\"})]),_:1})):(r(),l(t,{key:1,name:\"DotsHorizontalIcon\",class:\"h-5 text-gray-500\"}))]),default:o(()=>[c(g).hasAbilities(c(y).EDIT_INVOICE)?(r(),l(S,{key:0,to:`/admin/invoices/${a.row.id}/edit`},{default:o(()=>[M(s(u,null,{default:o(()=>[s(t,{name:\"PencilIcon\",class:\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"}),d(\" \"+m(e.$t(\"general.edit\")),1)]),_:1},512),[[P,a.row.allow_edit]])]),_:1},8,[\"to\"])):v(\"\",!0),c(w).name===\"invoices.view\"?(r(),l(u,{key:1,onClick:V},{default:o(()=>[s(t,{name:\"LinkIcon\",class:\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"}),d(\" \"+m(e.$t(\"general.copy_pdf_url\")),1)]),_:1})):v(\"\",!0),c(w).name!==\"invoices.view\"&&c(g).hasAbilities(c(y).VIEW_INVOICE)?(r(),l(S,{key:2,to:`/admin/invoices/${a.row.id}/view`},{default:o(()=>[s(u,null,{default:o(()=>[s(t,{name:\"EyeIcon\",class:\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"}),d(\" \"+m(e.$t(\"general.view\")),1)]),_:1})]),_:1},8,[\"to\"])):v(\"\",!0),D(a.row)?(r(),l(u,{key:3,onClick:n[0]||(n[0]=k=>E(a.row))},{default:o(()=>[s(t,{name:\"PaperAirplaneIcon\",class:\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"}),d(\" \"+m(e.$t(\"invoices.send_invoice\")),1)]),_:1})):v(\"\",!0),_(a.row)?(r(),l(u,{key:4,onClick:n[1]||(n[1]=k=>E(a.row))},{default:o(()=>[s(t,{name:\"PaperAirplaneIcon\",class:\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"}),d(\" \"+m(e.$t(\"invoices.resend_invoice\")),1)]),_:1})):v(\"\",!0),s(S,{to:`/admin/payments/${a.row.id}/create`},{default:o(()=>[a.row.status==\"SENT\"&&c(w).name!==\"invoices.view\"?(r(),l(u,{key:0},{default:o(()=>[s(t,{name:\"CreditCardIcon\",class:\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"}),d(\" \"+m(e.$t(\"invoices.record_payment\")),1)]),_:1})):v(\"\",!0)]),_:1},8,[\"to\"]),D(a.row)?(r(),l(u,{key:5,onClick:n[2]||(n[2]=k=>T(a.row.id))},{default:o(()=>[s(t,{name:\"CheckCircleIcon\",class:\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"}),d(\" \"+m(e.$t(\"invoices.mark_as_sent\")),1)]),_:1})):v(\"\",!0),c(g).hasAbilities(c(y).CREATE_INVOICE)?(r(),l(u,{key:6,onClick:n[3]||(n[3]=k=>A(a.row))},{default:o(()=>[s(t,{name:\"DocumentTextIcon\",class:\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"}),d(\" \"+m(e.$t(\"invoices.clone_invoice\")),1)]),_:1})):v(\"\",!0),c(g).hasAbilities(c(y).DELETE_INVOICE)?(r(),l(u,{key:7,onClick:n[4]||(n[4]=k=>B(a.row.id))},{default:o(()=>[s(t,{name:\"TrashIcon\",class:\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"}),d(\" \"+m(e.$t(\"general.delete\")),1)]),_:1})):v(\"\",!0)]),_:1})}}};export{K as _};\n"
  },
  {
    "path": "public/build/assets/InvoicePublicPage.57c1fc66.js",
    "content": "import{r as m,o as n,e as c,h as t,t as e,f as r,w as l,i as u,j as g,B as b,G as k,aN as j,a as L,k as h,u as i,l as C}from\"./vendor.d12b5734.js\";const I={class:\"bg-white shadow overflow-hidden rounded-lg mt-6\"},N={class:\"px-4 py-5 sm:px-6\"},S={class:\"text-lg leading-6 font-medium text-gray-900\"},H={key:0,class:\"border-t border-gray-200 px-4 py-5 sm:p-0\"},M={class:\"sm:divide-y sm:divide-gray-200\"},P={class:\"py-4 sm:py-5 sm:grid sm:grid-cols-3 sm:gap-4 sm:px-6\"},T={class:\"text-sm font-medium text-gray-500\"},V={class:\"mt-1 text-sm text-gray-900 sm:mt-0 sm:col-span-2\"},D={class:\"py-4 sm:py-5 sm:grid sm:grid-cols-3 sm:gap-4 sm:px-6\"},R={class:\"text-sm font-medium text-gray-500\"},U={class:\"mt-1 text-sm text-gray-900 sm:mt-0 sm:col-span-2\"},F={class:\"py-4 sm:py-5 sm:grid sm:grid-cols-3 sm:gap-4 sm:px-6\"},q={class:\"text-sm font-medium text-gray-500 capitalize\"},z={class:\"mt-1 text-sm text-gray-900 sm:mt-0 sm:col-span-2\"},A={class:\"py-4 sm:py-5 sm:grid sm:grid-cols-3 sm:gap-4 sm:px-6\"},E={class:\"text-sm font-medium text-gray-500\"},G={class:\"mt-1 text-sm text-gray-900 sm:mt-0 sm:col-span-2\"},O={key:0,class:\"py-4 sm:py-5 sm:grid sm:grid-cols-3 sm:gap-4 sm:px-6\"},J={class:\"text-sm font-medium text-gray-500\"},K={class:\"mt-1 text-sm text-gray-900 sm:mt-0 sm:col-span-2\"},Q=[\"innerHTML\"],W={key:1,class:\"w-full flex items-center justify-center p-5\"},X={props:{invoice:{type:[Object,null],required:!0}},setup(o){return(s,d)=>{const _=m(\"BaseInvoiceStatusBadge\"),p=m(\"BaseFormatMoney\"),y=m(\"BaseSpinner\");return n(),c(\"div\",I,[t(\"div\",N,[t(\"h3\",S,e(s.$t(\"invoices.invoice_information\")),1)]),o.invoice?(n(),c(\"div\",H,[t(\"dl\",M,[t(\"div\",P,[t(\"dt\",T,e(s.$t(\"general.from\")),1),t(\"dd\",V,e(o.invoice.company.name),1)]),t(\"div\",D,[t(\"dt\",R,e(s.$t(\"general.to\")),1),t(\"dd\",U,e(o.invoice.customer.name),1)]),t(\"div\",F,[t(\"dt\",q,e(s.$t(\"invoices.paid_status\").toLowerCase()),1),t(\"dd\",z,[r(_,{status:o.invoice.paid_status,class:\"px-3 py-1\"},{default:l(()=>[u(e(o.invoice.paid_status),1)]),_:1},8,[\"status\"])])]),t(\"div\",A,[t(\"dt\",E,e(s.$t(\"invoices.total\")),1),t(\"dd\",G,[r(p,{currency:o.invoice.currency,amount:o.invoice.total},null,8,[\"currency\",\"amount\"])])]),o.invoice.formatted_notes?(n(),c(\"div\",O,[t(\"dt\",J,e(s.$t(\"invoices.notes\")),1),t(\"dd\",K,[t(\"span\",{innerHTML:o.invoice.formatted_notes},null,8,Q)])])):g(\"\",!0)])])):(n(),c(\"div\",W,[r(y,{class:\"text-primary-500 h-10 w-10\"})]))])}}},Y={class:\"h-screen overflow-y-auto min-h-0\"},Z=t(\"div\",{class:\"bg-gradient-to-r from-primary-500 to-primary-400 h-5\"},null,-1),tt={class:\"relative p-6 pb-28 px-4 md:px-6 w-full md:w-auto md:max-w-xl mx-auto\"},st={class:\"flex flex-col md:flex-row absolute md:relative bottom-2 left-0 px-4 md:px-0 w-full md:space-x-4 md:space-y-0 space-y-2\"},et=[\"href\"],ot={key:0,class:\"flex items-center justify-center mt-4 text-gray-500 font-normal\"},at=u(\" Powered by \"),nt={href:\"https://craterapp.com\",target:\"_blank\"},it=[\"src\"],mt={setup(o){let s=b(null);const d=k(),_=j();p();async function p(){let a=await L.get(`/customer/invoices/${d.params.hash}`);s.value=a.data.data}const y=h(()=>d.path+\"?pdf\");function f(){return new URL(\"/build/img/crater-logo-gray.png\",self.location)}const x=h(()=>window.customer_logo?window.customer_logo:!1),w=h(()=>{var a;return(a=s.value)==null?void 0:a.invoice_number});function B(){_.push({name:\"invoice.pay\",params:{hash:d.params.hash,company:s.value.company.slug}})}return(a,ct)=>{const v=m(\"BaseButton\"),$=m(\"BasePageHeader\");return n(),c(\"div\",Y,[Z,t(\"div\",tt,[r($,{title:i(w)||\"\"},{actions:l(()=>[t(\"div\",st,[t(\"a\",{href:i(y),target:\"_blank\",class:\"block w-full\"},[r(v,{variant:\"primary-outline\",class:\"justify-center w-full\"},{default:l(()=>[u(e(a.$t(\"general.download_pdf\")),1)]),_:1})],8,et),i(s)&&i(s).paid_status!==\"PAID\"&&i(s).payment_module_enabled?(n(),C(v,{key:0,variant:\"primary\",class:\"justify-center\",onClick:B},{default:l(()=>[u(e(a.$t(\"general.pay_invoice\")),1)]),_:1})):g(\"\",!0)])]),_:1},8,[\"title\"]),r(X,{invoice:i(s)},null,8,[\"invoice\"]),i(x)?g(\"\",!0):(n(),c(\"div\",ot,[at,t(\"a\",nt,[t(\"img\",{src:f(),class:\"h-4 ml-1 mb-1\"},null,8,it)])]))])])}}};export{mt as default};\n"
  },
  {
    "path": "public/build/assets/ItemUnitModal.031bb625.js",
    "content": "import{J as S,B as V,k as h,L as g,M as C,N as k,T as N,r as i,o as b,l as B,w as r,h as c,i as p,t as f,u as e,f as l,m as j,j as x,U as q}from\"./vendor.d12b5734.js\";import{p as z,c as D}from\"./main.465728e1.js\";const L={class:\"flex justify-between w-full\"},T=[\"onSubmit\"],E={class:\"p-8 sm:p-6\"},G={class:\"z-0 flex justify-end p-4 border-t border-gray-200 border-solid border-modal-bg\"},F={setup(J){const t=z(),a=D(),{t:v}=S();let s=V(!1);const $=h(()=>({name:{required:g.withMessage(v(\"validation.required\"),C),minLength:g.withMessage(v(\"validation.name_min_length\",{count:3}),k(3))}})),n=N($,h(()=>t.currentItemUnit));async function U(){if(n.value.$touch(),n.value.$invalid)return!0;try{const o=t.isItemUnitEdit?t.updateItemUnit:t.addItemUnit;s.value=!0,await o(t.currentItemUnit),a.refreshData&&a.refreshData(),u(),s.value=!1}catch{return s.value=!1,!0}}function u(){a.closeModal(),setTimeout(()=>{t.currentItemUnit={id:null,name:\"\"},a.$reset(),n.value.$reset()},300)}return(o,m)=>{const _=i(\"BaseIcon\"),y=i(\"BaseInput\"),w=i(\"BaseInputGroup\"),I=i(\"BaseButton\"),M=i(\"BaseModal\");return b(),B(M,{show:e(a).active&&e(a).componentName===\"ItemUnitModal\",onClose:u},{header:r(()=>[c(\"div\",L,[p(f(e(a).title)+\" \",1),l(_,{name:\"XIcon\",class:\"w-6 h-6 text-gray-500 cursor-pointer\",onClick:u})])]),default:r(()=>[c(\"form\",{action:\"\",onSubmit:q(U,[\"prevent\"])},[c(\"div\",E,[l(w,{label:o.$t(\"settings.customization.items.unit_name\"),error:e(n).name.$error&&e(n).name.$errors[0].$message,variant:\"horizontal\",required:\"\"},{default:r(()=>[l(y,{modelValue:e(t).currentItemUnit.name,\"onUpdate:modelValue\":m[0]||(m[0]=d=>e(t).currentItemUnit.name=d),invalid:e(n).name.$error,type:\"text\",onInput:m[1]||(m[1]=d=>e(n).name.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"])]),c(\"div\",G,[l(I,{type:\"button\",variant:\"primary-outline\",class:\"mr-3 text-sm\",onClick:u},{default:r(()=>[p(f(o.$t(\"general.cancel\")),1)]),_:1}),l(I,{loading:e(s),disabled:e(s),variant:\"primary\",type:\"submit\"},{left:r(d=>[e(s)?x(\"\",!0):(b(),B(_,{key:0,name:\"SaveIcon\",class:j(d.class)},null,8,[\"class\"]))]),default:r(()=>[p(\" \"+f(e(t).isItemUnitEdit?o.$t(\"general.update\"):o.$t(\"general.save\")),1)]),_:1},8,[\"loading\",\"disabled\"])])],40,T)]),_:1},8,[\"show\"])}}};export{F as _};\n"
  },
  {
    "path": "public/build/assets/LayoutBasic.7c57f411.js",
    "content": "import{u as M}from\"./auth.c88ceb4c.js\";import{J as V,G as j,aN as I,B as z,k as b,C as F,r as h,o as n,l as c,w as a,h as t,u as e,e as u,y as v,m as x,i as d,t as l,F as w,f as r,a9 as G,b4 as O,b5 as E,ab as J,b6 as P,b7 as T,b8 as q,b9 as H,ba as K,j as Q}from\"./vendor.d12b5734.js\";import{u as N}from\"./global.dc565c4e.js\";import{f as W}from\"./main.465728e1.js\";import{N as X}from\"./NotificationRoot.5fd2c2c8.js\";const Y={class:\"mx-auto px-8\"},Z={class:\"flex justify-between h-16 w-full\"},tt={class:\"flex\"},et={class:\"shrink-0 flex items-center\"},st=[\"href\"],ot=[\"src\"],rt={class:\"hidden sm:-my-px sm:ml-6 sm:flex sm:space-x-8\"},at={class:\"hidden sm:ml-6 sm:flex sm:items-center\"},nt=t(\"button\",{type:\"button\",class:\"bg-white p-1 rounded-full text-gray-400 hover:text-gray-500 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-primary-500\"},null,-1),it=[\"src\"],lt={class:\"-mr-2 flex items-center sm:hidden\"},ct=t(\"span\",{class:\"sr-only\"},\"Open main menu\",-1),ut={class:\"pt-2 pb-3 space-y-1\"},dt={class:\"pt-4 pb-3 border-t border-gray-200\"},mt={class:\"flex items-center px-4\"},ft={class:\"shrink-0\"},pt=[\"src\"],ht={class:\"ml-3\"},_t={class:\"text-base font-medium text-gray-800\"},gt={class:\"text-sm font-medium text-gray-500\"},yt=t(\"button\",{type:\"button\",class:\"ml-auto bg-white shrink-0 p-1 rounded-full text-gray-400 hover:text-gray-500 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-primary-500\"},null,-1),bt={class:\"mt-3 space-y-1\"},vt={setup(U){const{t:m}=V(),f=j(),o=N(),_=[{title:m(\"navigation.logout\"),link:`/${o.companySlug}/customer/login`}],k=M(),$=I(),g=z(\"\"),B=b(()=>o.currentUser&&o.currentUser.avatar!==0?o.currentUser.avatar:A());function A(){return new URL(\"/build/img/default-avatar.jpg\",self.location)}F(f,i=>{g.value=i.path},{immediate:!0});const S=b(()=>window.customer_logo?window.customer_logo:!1);function y(i){return f.path.indexOf(i)>-1}function C(){k.logout(o.companySlug).then(i=>{i&&$.push({name:\"customer.login\"})})}return(i,kt)=>{const p=h(\"router-link\"),D=h(\"BaseDropdownItem\"),R=h(\"BaseDropdown\");return n(),c(e(K),{as:\"nav\",class:\"bg-white shadow-sm fixed top-0 left-0 z-20 w-full\"},{default:a(({open:L})=>[t(\"div\",Y,[t(\"div\",Z,[t(\"div\",tt,[t(\"div\",et,[t(\"a\",{href:`/${e(o).companySlug}/customer/dashboard`,class:\"float-none text-lg not-italic font-black tracking-wider text-white brand-main md:float-left font-base\"},[e(S)?(n(),u(\"img\",{key:1,src:e(S),class:\"h-6\"},null,8,ot)):(n(),c(W,{key:0,class:\"h-6\"}))],8,st)]),t(\"div\",rt,[(n(!0),u(w,null,v(e(o).mainMenu,s=>(n(),c(p,{key:s.title,to:`/${e(o).companySlug}${s.link}`,class:x([y(s.link)?\"border-primary-500 text-primary-600\":\"border-transparent text-gray-500 hover:text-gray-700 hover:border-gray-300\",\"inline-flex items-center px-1 pt-1 border-b-2 text-sm font-medium\"])},{default:a(()=>[d(l(s.title),1)]),_:2},1032,[\"to\",\"class\"]))),128))])]),t(\"div\",at,[nt,r(e(J),{as:\"div\",class:\"ml-3 relative\"},{default:a(()=>[r(R,{\"width-class\":\"w-48\"},{activator:a(()=>[r(e(G),{class:\"bg-white flex text-sm rounded-full focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-primary-500\"},{default:a(()=>[t(\"img\",{class:\"h-8 w-8 rounded-full\",src:e(B),alt:\"\"},null,8,it)]),_:1})]),default:a(()=>[r(p,{to:{name:\"customer.profile\"}},{default:a(()=>[r(D,null,{default:a(()=>[r(e(O),{class:\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\",\"aria-hidden\":\"true\"}),d(\" \"+l(i.$t(\"navigation.settings\")),1)]),_:1})]),_:1},8,[\"to\"]),r(D,{onClick:C},{default:a(()=>[r(e(E),{class:\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\",\"aria-hidden\":\"true\"}),d(\" \"+l(i.$t(\"navigation.logout\")),1)]),_:1})]),_:1})]),_:1})]),t(\"div\",lt,[r(e(q),{class:\"bg-white inline-flex items-center justify-center p-2 rounded-md text-gray-400 hover:text-gray-500 hover:bg-gray-100 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-primary-500\"},{default:a(()=>[ct,L?(n(),c(e(T),{key:1,class:\"block h-6 w-6\",\"aria-hidden\":\"true\"})):(n(),c(e(P),{key:0,class:\"block h-6 w-6\",\"aria-hidden\":\"true\"}))]),_:2},1024)])])]),r(e(H),{class:\"sm:hidden\"},{default:a(()=>[t(\"div\",ut,[(n(!0),u(w,null,v(e(o).mainMenu,s=>(n(),c(p,{key:s.title,to:`/${e(o).companySlug}${s.link}`,class:x([y(s.link)?\"bg-primary-50 border-primary-500 text-primary-700\":\"border-transparent text-gray-600 hover:bg-gray-50 hover:border-gray-300 hover:text-gray-800\",\"block pl-3 pr-4 py-2 border-l-4 text-base font-medium\"]),\"aria-current\":s.current?\"page\":void 0},{default:a(()=>[d(l(s.title),1)]),_:2},1032,[\"to\",\"class\",\"aria-current\"]))),128))]),t(\"div\",dt,[t(\"div\",mt,[t(\"div\",ft,[t(\"img\",{class:\"h-10 w-10 rounded-full\",src:e(B),alt:\"\"},null,8,pt)]),t(\"div\",ht,[t(\"div\",_t,l(e(o).currentUser.title),1),t(\"div\",gt,l(e(o).currentUser.email),1)]),yt]),t(\"div\",bt,[(n(),u(w,null,v(_,s=>r(p,{key:s.title,to:s.link,class:x([y(s.link)?\"bg-primary-50 border-primary-500 text-primary-700\":\"border-transparent text-gray-600 hover:bg-gray-50 hover:border-gray-300 hover:text-gray-800\",\"block pl-3 pr-4 py-2 border-l-4 text-base font-medium\"])},{default:a(()=>[d(l(s.title),1)]),_:2},1032,[\"to\",\"class\"])),64))])])]),_:1})]),_:1})}}},xt={key:0,class:\"h-full\"},wt={class:\"mt-16 pb-16 h-screen overflow-y-auto min-h-0\"},Nt={setup(U){const m=N(),f=j(),o=b(()=>m.isAppLoaded);_();async function _(){await m.bootstrap(f.params.company)}return(k,$)=>{const g=h(\"router-view\");return e(o)?(n(),u(\"div\",xt,[r(X),r(vt),t(\"main\",wt,[r(g)])])):Q(\"\",!0)}}};export{Nt as default};\n"
  },
  {
    "path": "public/build/assets/LayoutBasic.c6db5172.js",
    "content": "import{aN as z,J as P,B as C,a0 as _e,k as D,L as N,M as J,N as he,T as ae,r as h,o as a,l as w,w as n,h as s,i as U,t as m,u as e,f as t,e as i,m as F,j as S,U as H,G as X,C as oe,aO as se,F as V,y as L,Y as ne,A as ye,a5 as fe,a2 as K,a3 as ge,a6 as ve,aP as be,D as xe}from\"./vendor.d12b5734.js\";import{b as Y,c as W,d as O,e as Q,S as we,a as $e,f as re,g as j,u as ke}from\"./main.465728e1.js\";import{u as le}from\"./exchange-rate.85b564e2.js\";import{u as Ce}from\"./users.27a53e97.js\";import{N as Se}from\"./NotificationRoot.5fd2c2c8.js\";import{V as Be}from\"./index.esm.85b4999a.js\";const Ie={class:\"flex justify-between w-full\"},Me=[\"onSubmit\"],Ue={class:\"p-4 mb-16 sm:p-6 space-y-4\"},Ee={key:1,class:\"flex flex-col items-center\"},Ve={class:\"z-0 flex justify-end p-4 bg-gray-50 border-modal-bg\"},Ae={setup(R){const p=z(),r=Y(),c=W(),y=O(),{t:_}=P();let f=C(!1),b=C(null),d=C(!1),l=C(null),g=C(null);const u=_e({name:null,currency:\"\",address:{country_id:null}}),B=D(()=>c.active&&c.componentName===\"CompanyModal\"),$={newCompanyForm:{name:{required:N.withMessage(_(\"validation.required\"),J),minLength:N.withMessage(_(\"validation.name_min_length\",{count:3}),he(3))},address:{country_id:{required:N.withMessage(_(\"validation.required\"),J)}},currency:{required:N.withMessage(_(\"validation.required\"),J)}}},o=ae($,{newCompanyForm:u});async function v(){d.value=!0,await y.fetchCurrencies(),await y.fetchCountries(),u.currency=r.selectedCompanyCurrency.id,u.address.country_id=r.selectedCompany.address.country_id,d.value=!1}function x(I,M){g.value=I,l.value=M}function k(){g.value=null,l.value=null}async function E(){if(o.value.newCompanyForm.$touch(),o.value.$invalid)return!0;f.value=!0;try{const I=await r.addNewCompany(u);if(I.data.data){if(await r.setSelectedCompany(I.data.data),l&&l.value){let M=new FormData;M.append(\"company_logo\",JSON.stringify({name:g.value,data:l.value})),await r.updateCompanyLogo(M),p.push(\"/admin/dashboard\")}await y.setIsAppLoaded(!1),await y.bootstrap(),G()}f.value=!1}catch{f.value=!1}}function T(){u.name=\"\",u.currency=\"\",u.address.country_id=\"\",o.value.$reset()}function G(){c.closeModal(),setTimeout(()=>{T(),o.value.$reset()},300)}return(I,M)=>{const Z=h(\"BaseIcon\"),ie=h(\"BaseContentPlaceholdersBox\"),ce=h(\"BaseContentPlaceholders\"),de=h(\"BaseFileUploader\"),q=h(\"BaseInputGroup\"),ue=h(\"BaseInput\"),ee=h(\"BaseMultiselect\"),me=h(\"BaseInputGrid\"),te=h(\"BaseButton\"),pe=h(\"BaseModal\");return a(),w(pe,{show:e(B),onClose:G,onOpen:v},{header:n(()=>[s(\"div\",Ie,[U(m(e(c).title)+\" \",1),t(Z,{name:\"XIcon\",class:\"w-6 h-6 text-gray-500 cursor-pointer\",onClick:G})])]),default:n(()=>[s(\"form\",{action:\"\",onSubmit:H(E,[\"prevent\"])},[s(\"div\",Ue,[t(me,{layout:\"one-column\"},{default:n(()=>[t(q,{\"content-loading\":e(d),label:I.$tc(\"settings.company_info.company_logo\")},{default:n(()=>[e(d)?(a(),w(ce,{key:0},{default:n(()=>[t(ie,{rounded:!0,class:\"w-full h-24\"})]),_:1})):(a(),i(\"div\",Ee,[t(de,{\"preview-image\":e(b),base64:\"\",onRemove:k,onChange:x},null,8,[\"preview-image\"])]))]),_:1},8,[\"content-loading\",\"label\"]),t(q,{label:I.$tc(\"settings.company_info.company_name\"),error:e(o).newCompanyForm.name.$error&&e(o).newCompanyForm.name.$errors[0].$message,\"content-loading\":e(d),required:\"\"},{default:n(()=>[t(ue,{modelValue:e(u).name,\"onUpdate:modelValue\":M[0]||(M[0]=A=>e(u).name=A),invalid:e(o).newCompanyForm.name.$error,\"content-loading\":e(d),onInput:M[1]||(M[1]=A=>e(o).newCompanyForm.name.$touch())},null,8,[\"modelValue\",\"invalid\",\"content-loading\"])]),_:1},8,[\"label\",\"error\",\"content-loading\"]),t(q,{\"content-loading\":e(d),label:I.$tc(\"settings.company_info.country\"),error:e(o).newCompanyForm.address.country_id.$error&&e(o).newCompanyForm.address.country_id.$errors[0].$message,required:\"\"},{default:n(()=>[t(ee,{modelValue:e(u).address.country_id,\"onUpdate:modelValue\":M[2]||(M[2]=A=>e(u).address.country_id=A),\"content-loading\":e(d),label:\"name\",invalid:e(o).newCompanyForm.address.country_id.$error,options:e(y).countries,\"value-prop\":\"id\",\"can-deselect\":!0,\"can-clear\":!1,searchable:\"\",\"track-by\":\"name\"},null,8,[\"modelValue\",\"content-loading\",\"invalid\",\"options\"])]),_:1},8,[\"content-loading\",\"label\",\"error\"]),t(q,{label:I.$t(\"wizard.currency\"),error:e(o).newCompanyForm.currency.$error&&e(o).newCompanyForm.currency.$errors[0].$message,\"content-loading\":e(d),\"help-text\":I.$t(\"wizard.currency_set_alert\"),required:\"\"},{default:n(()=>[t(ee,{modelValue:e(u).currency,\"onUpdate:modelValue\":M[3]||(M[3]=A=>e(u).currency=A),\"content-loading\":e(d),options:e(y).currencies,label:\"name\",\"value-prop\":\"id\",searchable:!0,\"track-by\":\"name\",placeholder:I.$tc(\"settings.currencies.select_currency\"),invalid:e(o).newCompanyForm.currency.$error,class:\"w-full\"},null,8,[\"modelValue\",\"content-loading\",\"options\",\"placeholder\",\"invalid\"])]),_:1},8,[\"label\",\"error\",\"content-loading\",\"help-text\"])]),_:1})]),s(\"div\",Ve,[t(te,{class:\"mr-3 text-sm\",variant:\"primary-outline\",outline:\"\",type:\"button\",onClick:G},{default:n(()=>[U(m(I.$t(\"general.cancel\")),1)]),_:1}),t(te,{loading:e(f),disabled:e(f),variant:\"primary\",type:\"submit\"},{left:n(A=>[e(f)?S(\"\",!0):(a(),w(Z,{key:0,name:\"SaveIcon\",class:F(A.class)},null,8,[\"class\"]))]),default:n(()=>[U(\" \"+m(I.$t(\"general.save\")),1)]),_:1},8,[\"loading\",\"disabled\"])])],40,Me)]),_:1},8,[\"show\"])}}},Le={key:0,class:\"w-16 text-sm font-medium truncate sm:w-auto\"},Re={key:0,class:\"absolute right-0 mt-2 bg-white rounded-md shadow-lg\"},Fe={class:\"overflow-y-auto scrollbar-thin scrollbar-thumb-rounded-full w-[250px] max-h-[350px] scrollbar-thumb-gray-300 scrollbar-track-gray-10 pb-4\"},je={class:\"px-3 py-2 text-xs font-semibold text-gray-400 mb-0.5 block uppercase\"},Ne={key:0,class:\"flex flex-col items-center justify-center p-2 px-3 mt-4 text-base text-gray-400\"},Te={key:1},De={key:0},Oe=[\"onClick\"],Ge={class:\"flex items-center\"},qe={class:\"flex items-center justify-center mr-3 overflow-hidden text-base font-semibold bg-gray-200 rounded-md w-9 h-9 text-primary-500\"},ze={key:0},Pe=[\"src\"],Je={class:\"flex flex-col\"},Xe={class:\"text-sm\"},Ye={class:\"font-medium\"},We={setup(R){const p=Y(),r=W(),c=X(),y=z(),_=O(),{t:f}=P(),b=Q(),d=C(!1),l=C(\"\"),g=C(null);oe(c,()=>{d.value=!1,l.value=\"\"}),se(g,()=>{d.value=!1});function u(o){if(o)return o.split(\" \")[0].charAt(0).toUpperCase()}function B(){r.openModal({title:f(\"company_switcher.new_company\"),componentName:\"CompanyModal\",size:\"sm\"})}async function $(o){await p.setSelectedCompany(o),y.push(\"/admin/dashboard\"),await _.setIsAppLoaded(!1),await _.bootstrap()}return(o,v)=>{const x=h(\"BaseIcon\");return a(),i(\"div\",{ref:(k,E)=>{E.companySwitchBar=k,g.value=k},class:\"relative rounded\"},[t(Ae),s(\"div\",{class:\"flex items-center justify-center px-3 h-8 md:h-9 ml-2 text-sm text-white bg-white rounded cursor-pointer bg-opacity-20\",onClick:v[0]||(v[0]=k=>d.value=!d.value)},[e(p).selectedCompany?(a(),i(\"span\",Le,m(e(p).selectedCompany.name),1)):S(\"\",!0),t(x,{name:\"ChevronDownIcon\",class:\"h-5 ml-1 text-white\"})]),t(ne,{\"enter-active-class\":\"transition duration-200 ease-out\",\"enter-from-class\":\"translate-y-1 opacity-0\",\"enter-to-class\":\"translate-y-0 opacity-100\",\"leave-active-class\":\"transition duration-150 ease-in\",\"leave-from-class\":\"translate-y-0 opacity-100\",\"leave-to-class\":\"translate-y-1 opacity-0\"},{default:n(()=>[d.value?(a(),i(\"div\",Re,[s(\"div\",Fe,[s(\"label\",je,m(o.$t(\"company_switcher.label\")),1),e(p).companies.length<1?(a(),i(\"div\",Ne,[t(x,{name:\"ExclamationCircleIcon\",class:\"h-5 text-gray-400\"}),U(\" \"+m(o.$t(\"company_switcher.no_results_found\")),1)])):(a(),i(\"div\",Te,[e(p).companies.length>0?(a(),i(\"div\",De,[(a(!0),i(V,null,L(e(p).companies,(k,E)=>(a(),i(\"div\",{key:E,class:F([\"p-2 px-3 rounded-md cursor-pointer hover:bg-gray-100 hover:text-primary-500\",{\"bg-gray-100 text-primary-500\":e(p).selectedCompany.id===k.id}]),onClick:T=>$(k)},[s(\"div\",Ge,[s(\"span\",qe,[k.logo?(a(),i(\"img\",{key:1,src:k.logo,alt:\"Company logo\",class:\"w-full h-full object-contain\"},null,8,Pe)):(a(),i(\"span\",ze,m(u(k.name)),1))]),s(\"div\",Je,[s(\"span\",Xe,m(k.name),1)])])],10,Oe))),128))])):S(\"\",!0)]))]),e(b).currentUser.is_owner?(a(),i(\"div\",{key:0,class:\"flex items-center justify-center p-4 pl-3 border-t-2 border-gray-100 cursor-pointer text-primary-400 hover:text-primary-500\",onClick:B},[t(x,{name:\"PlusIcon\",class:\"h-5 mr-2\"}),s(\"span\",Ye,m(o.$t(\"company_switcher.add_new_company\")),1)])):S(\"\",!0)])):S(\"\",!0)]),_:1})],512)}}},He={key:0,class:\"scrollbar-thin scrollbar-thumb-rounded-full scrollbar-thumb-gray-300 scrollbar-track-gray-100 overflow-y-auto bg-white rounded-md mt-2 shadow-lg p-3 absolute w-[300px] h-[200px] right-0\"},Ke={key:0,class:\"flex items-center justify-center text-gray-400 text-base flex-col mt-4\"},Qe={key:1},Ze={key:0},et={class:\"text-sm text-gray-400 mb-0.5 block px-2 uppercase\"},tt={class:\"flex items-center justify-center w-9 h-9 mr-3 text-base font-semibold bg-gray-200 rounded-full text-primary-500\"},at={class:\"flex flex-col\"},ot={class:\"text-sm\"},st={key:0,class:\"text-xs text-gray-400\"},nt={key:1,class:\"text-xs text-gray-400\"},rt={key:1,class:\"mt-2\"},lt={class:\"text-sm text-gray-400 mb-2 block px-2 mb-0.5 uppercase\"},it={class:\"flex items-center justify-center w-9 h-9 mr-3 text-base font-semibold bg-gray-200 rounded-full text-primary-500\"},ct={class:\"flex flex-col\"},dt={class:\"text-sm\"},ut={class:\"text-xs text-gray-400\"},mt={setup(R){const p=Ce(),r=C(!1),c=C(\"\"),y=C(null),_=C(!1),f=X();oe(f,()=>{r.value=!1,c.value=\"\"}),b=ye.exports.debounce(b,500),se(y,()=>{r.value=!1,c.value=\"\"});function b(){let l={search:c.value};c.value&&(_.value=!0,p.searchUsers(l).then(()=>{r.value=!0}),_.value=!1),c.value===\"\"&&(r.value=!1)}function d(l){if(l)return l.split(\" \")[0].charAt(0).toUpperCase()}return(l,g)=>{const u=h(\"BaseIcon\"),B=h(\"BaseInput\"),$=h(\"router-link\");return a(),i(\"div\",{ref:(o,v)=>{v.searchBar=o,y.value=o},class:\"hidden rounded md:block relative\"},[s(\"div\",null,[t(B,{modelValue:c.value,\"onUpdate:modelValue\":g[0]||(g[0]=o=>c.value=o),placeholder:\"Search...\",\"container-class\":\"!rounded\",class:\"h-8 md:h-9 !rounded\",onInput:b},{left:n(()=>[t(u,{name:\"SearchIcon\",class:\"text-gray-400\"})]),right:n(()=>[_.value?(a(),w(we,{key:0,class:\"h-5 text-primary-500\"})):S(\"\",!0)]),_:1},8,[\"modelValue\"])]),t(ne,{\"enter-active-class\":\"transition duration-200 ease-out\",\"enter-from-class\":\"translate-y-1 opacity-0\",\"enter-to-class\":\"translate-y-0 opacity-100\",\"leave-active-class\":\"transition duration-150 ease-in\",\"leave-from-class\":\"translate-y-0 opacity-100\",\"leave-to-class\":\"translate-y-1 opacity-0\"},{default:n(()=>[r.value?(a(),i(\"div\",He,[e(p).userList.length<1&&e(p).customerList.length<1?(a(),i(\"div\",Ke,[t(u,{name:\"ExclamationCircleIcon\",class:\"text-gray-400\"}),U(\" \"+m(l.$t(\"global_search.no_results_found\")),1)])):(a(),i(\"div\",Qe,[e(p).customerList.length>0?(a(),i(\"div\",Ze,[s(\"label\",et,m(l.$t(\"global_search.customers\")),1),(a(!0),i(V,null,L(e(p).customerList,(o,v)=>(a(),i(\"div\",{key:v,class:\"p-2 hover:bg-gray-100 cursor-pointer rounded-md\"},[t($,{to:{path:`/admin/customers/${o.id}/view`},class:\"flex items-center\"},{default:n(()=>[s(\"span\",tt,m(d(o.name)),1),s(\"div\",at,[s(\"span\",ot,m(o.name),1),o.contact_name?(a(),i(\"span\",st,m(o.contact_name),1)):(a(),i(\"span\",nt,m(o.email),1))])]),_:2},1032,[\"to\"])]))),128))])):S(\"\",!0),e(p).userList.length>0?(a(),i(\"div\",rt,[s(\"label\",lt,m(l.$t(\"global_search.users\")),1),(a(!0),i(V,null,L(e(p).userList,(o,v)=>(a(),i(\"div\",{key:v,class:\"p-2 hover:bg-gray-100 cursor-pointer rounded-md\"},[t($,{to:{path:`/admin/users/${o.id}/edit`},class:\"flex items-center\"},{default:n(()=>[s(\"span\",it,m(d(o.name)),1),s(\"div\",ct,[s(\"span\",dt,m(o.name),1),s(\"span\",ut,m(o.email),1)])]),_:2},1032,[\"to\"])]))),128))])):S(\"\",!0)]))])):S(\"\",!0)]),_:1})],512)}}},pt={class:\"fixed top-0 left-0 z-20 flex items-center justify-between w-full px-4 py-3 md:h-16 md:px-8 bg-gradient-to-r from-primary-500 to-primary-400\"},_t=[\"src\"],ht=[\"onClick\"],yt={class:\"flex float-right h-8 m-0 list-none md:h-9\"},ft={key:0,class:\"relative hidden float-left m-0 md:block\"},gt={class:\"flex items-center justify-center w-8 h-8 ml-2 text-sm text-black bg-white rounded md:h-9 md:w-9\"},vt={class:\"ml-2\"},bt={class:\"relative block float-left ml-2\"},xt=[\"src\"],wt={setup(R){const p=$e(),r=Q(),c=O(),y=z(),_=D(()=>r.currentUser&&r.currentUser.avatar!==0?r.currentUser.avatar:b()),f=D(()=>c.globalSettings.admin_portal_logo?\"/storage/\"+c.globalSettings.admin_portal_logo:!1);function b(){return new URL(\"/build/img/default-avatar.jpg\",self.location)}function d(){return r.hasAbilities([j.CREATE_INVOICE,j.CREATE_ESTIMATE,j.CREATE_CUSTOMER])}async function l(){await p.logout(),y.push(\"/login\")}function g(){c.setSidebarVisibility(!0)}return(u,B)=>{const $=h(\"router-link\"),o=h(\"BaseIcon\"),v=h(\"BaseDropdownItem\"),x=h(\"BaseDropdown\");return a(),i(\"header\",pt,[t($,{to:\"/admin/dashboard\",class:\"float-none text-lg not-italic font-black tracking-wider text-white brand-main md:float-left font-base hidden md:block\"},{default:n(()=>[e(f)?(a(),i(\"img\",{key:0,src:e(f),class:\"h-6\"},null,8,_t)):(a(),w(re,{key:1,class:\"h-6\",\"light-color\":\"white\",\"dark-color\":\"white\"}))]),_:1}),s(\"div\",{class:F([{\"is-active\":e(c).isSidebarOpen},\"flex float-left p-1 overflow-visible text-sm ease-linear bg-white border-0 rounded cursor-pointer md:hidden md:ml-0 hover:bg-gray-100\"]),onClick:H(g,[\"prevent\"])},[t(o,{name:\"MenuIcon\",class:\"!w-6 !h-6 text-gray-500\"})],10,ht),s(\"ul\",yt,[d?(a(),i(\"li\",ft,[t(x,{\"width-class\":\"w-48\"},{activator:n(()=>[s(\"div\",gt,[t(o,{name:\"PlusIcon\",class:\"w-5 h-5 text-gray-600\"})])]),default:n(()=>[t($,{to:\"/admin/invoices/create\"},{default:n(()=>[e(r).hasAbilities(e(j).CREATE_INVOICE)?(a(),w(v,{key:0},{default:n(()=>[t(o,{name:\"DocumentTextIcon\",class:\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\",\"aria-hidden\":\"true\"}),U(\" \"+m(u.$t(\"invoices.new_invoice\")),1)]),_:1})):S(\"\",!0)]),_:1}),t($,{to:\"/admin/estimates/create\"},{default:n(()=>[e(r).hasAbilities(e(j).CREATE_ESTIMATE)?(a(),w(v,{key:0},{default:n(()=>[t(o,{name:\"DocumentIcon\",class:\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\",\"aria-hidden\":\"true\"}),U(\" \"+m(u.$t(\"estimates.new_estimate\")),1)]),_:1})):S(\"\",!0)]),_:1}),t($,{to:\"/admin/customers/create\"},{default:n(()=>[e(r).hasAbilities(e(j).CREATE_CUSTOMER)?(a(),w(v,{key:0},{default:n(()=>[t(o,{name:\"UserIcon\",class:\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\",\"aria-hidden\":\"true\"}),U(\" \"+m(u.$t(\"customers.new_customer\")),1)]),_:1})):S(\"\",!0)]),_:1})]),_:1})])):S(\"\",!0),s(\"li\",vt,[e(r).currentUser.is_owner||e(r).hasAbilities(e(j).VIEW_CUSTOMER)?(a(),w(mt,{key:0})):S(\"\",!0)]),s(\"li\",null,[t(We)]),s(\"li\",bt,[t(x,{\"width-class\":\"w-48\"},{activator:n(()=>[s(\"img\",{src:e(_),class:\"block w-8 h-8 rounded md:h-9 md:w-9\"},null,8,xt)]),default:n(()=>[t($,{to:\"/admin/settings/account-settings\"},{default:n(()=>[t(v,null,{default:n(()=>[t(o,{name:\"CogIcon\",class:\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\",\"aria-hidden\":\"true\"}),U(\" \"+m(u.$t(\"navigation.settings\")),1)]),_:1})]),_:1}),t(v,{onClick:l},{default:n(()=>[t(o,{name:\"LogoutIcon\",class:\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\",\"aria-hidden\":\"true\"}),U(\" \"+m(u.$t(\"navigation.logout\")),1)]),_:1})]),_:1})])])])}}},$t={class:\"relative flex flex-col flex-1 w-full max-w-xs bg-white\"},kt={class:\"absolute top-0 right-0 pt-2 -mr-12\"},Ct=s(\"span\",{class:\"sr-only\"},\"Close sidebar\",-1),St={class:\"flex-1 h-0 pt-5 pb-4 overflow-y-auto\"},Bt={class:\"flex items-center shrink-0 px-4 mb-10\"},It=s(\"div\",{class:\"shrink-0 w-14\"},null,-1),Mt={class:\"hidden w-56 h-screen pb-32 overflow-y-auto bg-white border-r border-gray-200 border-solid xl:w-64 md:fixed md:flex md:flex-col md:inset-y-0 pt-16\"},Ut={setup(R){const p=X(),r=O();function c(y){return p.path.indexOf(y)>-1}return(y,_)=>{const f=h(\"BaseIcon\"),b=h(\"router-link\");return a(),i(V,null,[t(e(ve),{as:\"template\",show:e(r).isSidebarOpen},{default:n(()=>[t(e(fe),{as:\"div\",class:\"fixed inset-0 z-40 flex md:hidden\",onClose:_[3]||(_[3]=d=>e(r).setSidebarVisibility(!1))},{default:n(()=>[t(e(K),{as:\"template\",enter:\"transition-opacity ease-linear duration-300\",\"enter-from\":\"opacity-0\",\"enter-to\":\"opacity-100\",leave:\"transition-opacity ease-linear duration-300\",\"leave-from\":\"opacity-100\",\"leave-to\":\"opacity-0\"},{default:n(()=>[t(e(ge),{class:\"fixed inset-0 bg-gray-600 bg-opacity-75\"})]),_:1}),t(e(K),{as:\"template\",enter:\"transition ease-in-out duration-300\",\"enter-from\":\"-translate-x-full\",\"enter-to\":\"translate-x-0\",leave:\"transition ease-in-out duration-300\",\"leave-from\":\"translate-x-0\",\"leave-to\":\"-translate-x-full\"},{default:n(()=>[s(\"div\",$t,[t(e(K),{as:\"template\",enter:\"ease-in-out duration-300\",\"enter-from\":\"opacity-0\",\"enter-to\":\"opacity-100\",leave:\"ease-in-out duration-300\",\"leave-from\":\"opacity-100\",\"leave-to\":\"opacity-0\"},{default:n(()=>[s(\"div\",kt,[s(\"button\",{class:\"flex items-center justify-center w-10 h-10 ml-1 rounded-full focus:outline-none focus:ring-2 focus:ring-inset focus:ring-white\",onClick:_[0]||(_[0]=d=>e(r).setSidebarVisibility(!1))},[Ct,t(f,{name:\"XIcon\",class:\"w-6 h-6 text-white\",\"aria-hidden\":\"true\"})])])]),_:1}),s(\"div\",St,[s(\"div\",Bt,[t(re,{class:\"block h-auto max-w-full w-36 text-primary-400\",alt:\"Crater Logo\"})]),(a(!0),i(V,null,L(e(r).menuGroups,d=>(a(),i(\"nav\",{key:d,class:\"mt-5 space-y-1\"},[(a(!0),i(V,null,L(d,l=>(a(),w(b,{key:l.name,to:l.link,class:F([c(l.link)?\"text-primary-500 border-primary-500 bg-gray-100 \":\"text-black\",\"cursor-pointer px-0 pl-4 py-3 border-transparent flex items-center border-l-4 border-solid text-sm not-italic font-medium\"]),onClick:_[2]||(_[2]=g=>e(r).setSidebarVisibility(!1))},{default:n(()=>[t(f,{name:l.icon,class:F([c(l.link)?\"text-primary-500 \":\"text-gray-400\",\"mr-4 shrink-0 h-5 w-5\"]),onClick:_[1]||(_[1]=g=>e(r).setSidebarVisibility(!1))},null,8,[\"name\",\"class\"]),U(\" \"+m(y.$t(l.title)),1)]),_:2},1032,[\"to\",\"class\"]))),128))]))),128))])])]),_:1}),It]),_:1})]),_:1},8,[\"show\"]),s(\"div\",Mt,[(a(!0),i(V,null,L(e(r).menuGroups,d=>(a(),i(\"div\",{key:d,class:\"p-0 m-0 mt-6 list-none\"},[(a(!0),i(V,null,L(d,l=>(a(),w(b,{key:l,to:l.link,class:F([c(l.link)?\"text-primary-500 border-primary-500 bg-gray-100 \":\"text-black\",\"cursor-pointer px-0 pl-6 hover:bg-gray-50 py-3 group flex items-center border-l-4 border-solid border-transparent text-sm not-italic font-medium\"])},{default:n(()=>[t(f,{name:l.icon,class:F([c(l.link)?\"text-primary-500 group-hover:text-primary-500 \":\"text-gray-400 group-hover:text-black\",\"mr-4 shrink-0 h-5 w-5 \"])},null,8,[\"name\",\"class\"]),U(\" \"+m(y.$t(l.title)),1)]),_:2},1032,[\"to\",\"class\"]))),128))]))),128))])],64)}}},Et={class:\"font-medium text-lg text-left\"},Vt={class:\"mt-2 text-sm leading-snug text-gray-500\",style:{\"max-width\":\"680px\"}},At=[\"onSubmit\"],Lt={class:\"text-gray-500 sm:text-sm\"},Rt={class:\"text-gray-400 text-xs mt-2 font-light\"},Ft={slot:\"footer\",class:\"z-0 flex justify-end mt-4 pt-4 border-t border-gray-200 border-solid border-modal-bg\"},jt={emits:[\"update\"],setup(R,{emit:p}){const r=le();ke();const c=Y(),{t:y,tm:_}=P();let f=C(!1);C(!1);const b={exchange_rate:{required:N.withMessage(y(\"validation.required\"),J),decimal:N.withMessage(y(\"validation.valid_exchange_rate\"),be)}},d=ae();async function l(){if(d.value.$touch(),d.value.$invalid)return!0;f.value=!0;let g=r.bulkCurrencies.map(B=>({id:B.id,exchange_rate:B.exchange_rate})),u=await r.updateBulkExchangeRate({currencies:g});u.data.success&&p(\"update\",u.data.success),f.value=!1}return(g,u)=>{const B=h(\"BaseInput\"),$=h(\"BaseInputGroup\"),o=h(\"BaseButton\"),v=h(\"BaseCard\");return a(),w(v,null,{default:n(()=>[s(\"h6\",Et,m(g.$t(\"settings.exchange_rate.title\")),1),s(\"p\",Vt,m(g.$t(\"settings.exchange_rate.description\",{currency:e(c).selectedCompanyCurrency.name})),1),s(\"form\",{action:\"\",onSubmit:H(l,[\"prevent\"])},[(a(!0),i(V,null,L(e(r).bulkCurrencies,(x,k)=>(a(),w(e(Be),{key:k,state:x,rules:b},{default:n(({v:E})=>[t($,{class:\"my-5\",label:`${x.code} to ${e(c).selectedCompanyCurrency.code}`,error:E.exchange_rate.$error&&E.exchange_rate.$errors[0].$message,required:\"\"},{default:n(()=>[t(B,{modelValue:x.exchange_rate,\"onUpdate:modelValue\":T=>x.exchange_rate=T,addon:`1 ${x.code} =`,invalid:E.exchange_rate.$error,onInput:T=>E.exchange_rate.$touch()},{right:n(()=>[s(\"span\",Lt,m(e(c).selectedCompanyCurrency.code),1)]),_:2},1032,[\"modelValue\",\"onUpdate:modelValue\",\"addon\",\"invalid\",\"onInput\"]),s(\"span\",Rt,m(g.$t(\"settings.exchange_rate.exchange_help_text\",{currency:x.code,baseCurrency:e(c).selectedCompanyCurrency.code})),1)]),_:2},1032,[\"label\",\"error\"])]),_:2},1032,[\"state\"]))),128)),s(\"div\",Ft,[t(o,{loading:e(f),variant:\"primary\",type:\"submit\"},{default:n(()=>[U(m(g.$t(\"general.save\")),1)]),_:1},8,[\"loading\"])])],40,At)]),_:1})}}},Nt={setup(R){const p=W(),r=D(()=>p.active&&p.componentName===\"ExchangeRateBulkUpdateModal\");function c(){p.closeModal()}return(y,_)=>{const f=h(\"BaseModal\");return a(),w(f,{show:e(r)},{default:n(()=>[t(jt,{onUpdate:_[0]||(_[0]=b=>c())})]),_:1},8,[\"show\"])}}},Tt={key:0,class:\"h-full\"},Dt={class:\"h-screen h-screen-ios overflow-y-auto md:pl-56 xl:pl-64 min-h-0\"},Ot={class:\"pt-16 pb-16\"},Yt={setup(R){const p=O(),r=X(),c=Q(),y=z(),_=W();P();const f=le(),b=Y(),d=D(()=>p.isAppLoaded);return xe(()=>{p.bootstrap().then(l=>{r.meta.ability&&!c.hasAbilities(r.meta.ability)?y.push({name:\"account.settings\"}):r.meta.isOwner&&!c.currentUser.is_owner&&y.push({name:\"account.settings\"}),l.data.current_company_settings.bulk_exchange_rate_configured===\"NO\"&&f.fetchBulkCurrencies().then(g=>{if(g.data.currencies.length)_.openModal({componentName:\"ExchangeRateBulkUpdateModal\",size:\"sm\"});else{let u={settings:{bulk_exchange_rate_configured:\"YES\"}};b.updateCompanySettings({data:u})}})})}),(l,g)=>{const u=h(\"router-view\"),B=h(\"BaseGlobalLoader\");return e(d)?(a(),i(\"div\",Tt,[t(Se),t(wt),t(Ut),t(Nt),s(\"main\",Dt,[s(\"div\",Ot,[t(u)])])])):(a(),w(B,{key:1}))}}};export{Yt as default};\n"
  },
  {
    "path": "public/build/assets/LayoutInstallation.356e17fb.js",
    "content": "import{N as t}from\"./NotificationRoot.5fd2c2c8.js\";import{r as s,o as r,e as a,f as o,h as c}from\"./vendor.d12b5734.js\";import\"./main.465728e1.js\";const n={class:\"h-screen overflow-y-auto text-base\"},i={class:\"container mx-auto px-4\"},u={setup(_){return(m,p)=>{const e=s(\"router-view\");return r(),a(\"div\",n,[o(t),c(\"div\",i,[o(e)])])}}};export{u as default};\n"
  },
  {
    "path": "public/build/assets/LayoutLogin.4f8baaf6.js",
    "content": "import{N as r}from\"./NotificationRoot.5fd2c2c8.js\";import{f as l}from\"./main.465728e1.js\";import{k as i,r as n,o,e,f as a,h as s,u as c,l as u}from\"./vendor.d12b5734.js\";const d={class:\"min-h-screen bg-gray-200 flex flex-col justify-center py-12 sm:px-6 lg:px-8\"},p={class:\"sm:mx-auto sm:w-full sm:max-w-md px-4 sm:px-0\"},_=[\"src\"],x={class:\"mt-8 sm:mx-auto sm:w-full sm:max-w-md px-4 sm:px-0\"},f={class:\"bg-white py-8 px-4 shadow rounded-lg sm:px-10\"},b={setup(w){const t=i(()=>window.customer_logo?window.customer_logo:!1);return(h,g)=>{const m=n(\"router-view\");return o(),e(\"div\",d,[a(r),s(\"div\",p,[c(t)?(o(),e(\"img\",{key:1,src:c(t),class:\"block w-48 h-auto max-w-full text-primary-400 mx-auto\"},null,8,_)):(o(),u(l,{key:0,class:\"block w-48 h-auto max-w-full text-primary-400 mx-auto\"}))]),s(\"div\",x,[s(\"div\",f,[a(m)])])])}}};export{b as default};\n"
  },
  {
    "path": "public/build/assets/LayoutLogin.b71420b8.js",
    "content": "import{N as C}from\"./NotificationRoot.5fd2c2c8.js\";import{_ as r,f as _}from\"./main.465728e1.js\";import{o as e,e as i,h as t,ai as g,k as n,r as m,f as l,u as o,l as w,t as c}from\"./vendor.d12b5734.js\";const u={},y={viewBox:\"0 0 1012 1023\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",preserveAspectRatio:\"none\",class:\"text-primary-500\"},x=t(\"path\",{d:\"M116.21 472.5C55.1239 693.5 78.5219 837.5 114.349 1023H1030.5V-1L0 -106C147.5 21.5 172.311 269.536 116.21 472.5Z\",fill:\"url(#paint0_linear)\"},null,-1),v=t(\"defs\",null,[t(\"linearGradient\",{id:\"paint0_linear\",x1:\"515.25\",y1:\"-106\",x2:\"515.25\",y2:\"1023\",gradientUnits:\"userSpaceOnUse\"},[t(\"stop\",{\"stop-color\":\"rgba(var(--color-primary-500), var(--tw-text-opacity))\"}),t(\"stop\",{offset:\"1\",\"stop-color\":\"rgba(var(--color-primary-400), var(--tw-text-opacity))\"})])],-1),b=[x,v];function $(s,a){return e(),i(\"svg\",y,b)}var M=r(u,[[\"render\",$]]);const Z={},k={width:\"422\",height:\"290\",viewBox:\"0 0 422 290\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\"},L=g('<g clip-path=\"url(#clip0)\"><path opacity=\"0.3\" d=\"M220.111 290.223C341.676 290.223 440.223 191.676 440.223 70.1115C440.223 -51.4527 341.676 -150 220.111 -150C98.5473 -150 0 -51.4527 0 70.1115C0 191.676 98.5473 290.223 220.111 290.223Z\" fill=\"white\" fill-opacity=\"0.1\"></path><path opacity=\"0.3\" d=\"M220.111 246.513C317.535 246.513 396.513 167.535 396.513 70.1114C396.513 -27.3124 317.535 -106.29 220.111 -106.29C122.688 -106.29 43.71 -27.3124 43.71 70.1114C43.71 167.535 122.688 246.513 220.111 246.513Z\" fill=\"white\" fill-opacity=\"0.1\"></path><path d=\"M97.0093 35.322C96.7863 35.991 96.5633 36.66 96.5633 37.3291C94.1101 46.4725 92.7721 55.6159 92.3261 64.5364C91.88 74.5718 92.7721 84.6073 94.5562 94.1968C103.477 140.137 137.374 179.387 185.545 192.991C224.794 204.141 265.159 195.444 295.712 173.143C309.538 163.107 321.358 150.172 330.278 135.231C335.854 125.864 340.314 115.606 343.436 104.678C346.335 94.6428 347.896 84.6073 348.119 74.7949C348.788 56.954 345.666 39.3362 339.422 23.2794C325.372 -12.6253 295.043 -41.8397 255.124 -52.9902C211.637 -65.2558 167.481 -53.6593 136.036 -26.452C117.749 -10.6182 103.923 10.3448 97.0093 35.322Z\" fill=\"white\" fill-opacity=\"0.1\"></path><path d=\"M97.0095 35.3223C96.7865 35.9913 96.5635 36.6603 96.5635 37.3294L347.896 74.7952C348.565 56.9543 345.443 39.3365 339.199 23.2797L136.036 -26.4517C117.749 -10.6179 103.923 10.3451 97.0095 35.3223Z\" fill=\"white\" fill-opacity=\"0.05\"></path><path d=\"M92.3261 64.7598C91.88 74.7952 92.7721 84.8307 94.5562 94.4202L295.489 173.366C309.315 163.33 321.135 150.396 330.055 135.454L92.3261 64.7598Z\" fill=\"white\" fill-opacity=\"0.05\"></path><path d=\"M153.431 11.9056C151.424 19.265 152.316 26.8473 155.661 33.0916C159.229 39.7819 165.473 45.1342 173.279 47.3643C188.443 51.6015 204.5 42.6811 208.737 27.5163C209.853 23.9482 210.076 20.157 209.629 16.5888C208.514 5.21529 200.486 -4.82018 188.889 -7.94233C173.502 -12.1795 157.668 -3.25911 153.431 11.9056Z\" class=\"fill-primary-700\" fill-opacity=\"0.8\"></path><path d=\"M156.553 22.3869C155.438 25.9551 155.215 29.7462 155.661 33.3144C159.229 40.0047 165.473 45.357 173.279 47.5871C188.443 51.8243 204.5 42.9039 208.737 27.7391C209.852 24.171 210.075 20.3798 209.629 16.8116C206.061 10.1213 199.817 4.76908 192.011 2.53897C176.624 -1.92124 160.79 6.99919 156.553 22.3869Z\" class=\"fill-primary-500\" fill-opacity=\"0.5\"></path><path d=\"M270.735 95.5343C267.613 100.887 266.944 106.685 268.282 112.26C269.62 118.058 273.411 123.411 278.986 126.533C289.914 132.777 303.74 128.986 309.985 118.281C311.546 115.605 312.438 112.929 312.884 110.03C314.222 101.11 309.985 91.9661 301.733 87.0599C290.806 81.0386 276.979 84.8298 270.735 95.5343Z\" class=\"fill-primary-700\" fill-opacity=\"0.8\"></path><path d=\"M270.958 104.232C269.397 106.908 268.505 109.584 268.059 112.483C269.397 118.281 273.188 123.634 278.764 126.756C289.691 133 303.518 129.209 309.762 118.504C311.323 115.828 312.215 113.152 312.661 110.253C311.323 104.455 307.532 99.1025 301.957 95.9804C291.252 89.5131 277.426 93.3043 270.958 104.232Z\" class=\"fill-primary-500\" fill-opacity=\"0.5\"></path><path d=\"M250.663 130.771C247.54 133.001 245.533 136.123 244.864 139.468C243.972 143.036 244.641 147.051 247.094 150.396C251.555 156.863 260.252 158.647 266.942 154.187C268.503 153.072 269.842 151.734 270.734 150.396C273.856 145.712 274.079 139.468 270.734 134.562C265.827 127.872 257.13 126.311 250.663 130.771Z\" class=\"fill-primary-700\" fill-opacity=\"0.8\"></path><path d=\"M248.433 135.677C246.872 136.792 245.534 138.13 244.642 139.468C243.75 143.036 244.419 147.051 246.872 150.396C251.332 156.863 260.03 158.647 266.72 154.187C268.281 153.072 269.619 151.734 270.511 150.396C271.403 146.828 270.734 142.813 268.281 139.468C263.821 132.778 254.901 131.217 248.433 135.677Z\" class=\"fill-primary-500\" fill-opacity=\"0.5\"></path><path d=\"M215.651 14.8049C214.759 18.15 215.205 21.4952 216.543 24.1713C218.104 27.0704 220.78 29.5236 224.348 30.4156C231.038 32.4227 238.175 28.4085 240.182 21.4952C240.628 19.9341 240.851 18.15 240.628 16.5889C240.182 11.4597 236.614 6.99951 231.484 5.66145C224.571 4.10037 217.435 8.11456 215.651 14.8049Z\" class=\"fill-primary-700\" fill-opacity=\"0.8\"></path><path d=\"M216.989 19.4876C216.543 21.0487 216.32 22.8328 216.543 24.3939C218.104 27.293 220.78 29.7461 224.348 30.6382C231.039 32.6453 238.175 28.6311 240.182 21.7177C240.628 20.1567 240.851 18.3726 240.628 16.8115C239.067 13.9124 236.391 11.4593 232.823 10.5672C225.91 8.78313 218.773 12.5743 216.989 19.4876Z\" class=\"fill-primary-500\"></path><path d=\"M122.209 124.526C121.763 125.864 121.986 127.202 122.655 128.54C123.324 129.878 124.439 130.77 126.001 131.216C128.9 132.108 131.799 130.324 132.468 127.648C132.691 126.979 132.691 126.31 132.691 125.641C132.468 123.634 130.907 121.627 128.9 121.181C126.001 120.066 123.101 121.85 122.209 124.526Z\" class=\"fill-primary-700\" fill-opacity=\"0.8\"></path><path d=\"M122.878 126.533C122.655 127.202 122.655 127.871 122.655 128.54C123.324 129.878 124.439 130.77 126 131.216C128.899 132.108 131.798 130.324 132.468 127.648C132.691 126.979 132.691 126.31 132.691 125.641C132.021 124.303 130.906 123.411 129.345 122.965C126.446 122.073 123.547 123.634 122.878 126.533Z\" class=\"fill-primary-500\" fill-opacity=\"0.5\"></path><path d=\"M169.487 123.188C168.149 123.411 166.811 124.08 166.142 125.195C165.25 126.31 164.804 127.648 165.027 129.209C165.473 132.108 168.149 134.116 171.048 133.67C171.717 133.67 172.386 133.224 172.832 133C174.617 131.885 175.732 129.878 175.286 127.648C175.063 124.749 172.386 122.742 169.487 123.188Z\" class=\"fill-primary-700\" fill-opacity=\"0.8\"></path><path d=\"M167.926 124.526C167.257 124.526 166.588 124.972 166.142 125.195C165.25 126.31 164.804 127.648 165.027 129.209C165.473 132.108 168.149 134.115 171.048 133.669C171.717 133.669 172.386 133.223 172.832 133C173.724 131.885 174.17 130.547 173.947 128.986C173.501 126.087 170.825 124.08 167.926 124.526Z\" class=\"fill-primary-500\" fill-opacity=\"0.5\"></path></g><defs><clipPath id=\"clip0\"><rect width=\"440\" height=\"440\" fill=\"white\" transform=\"translate(0 -150)\"></rect></clipPath></defs>',2),B=[L];function N(s,a){return e(),i(\"svg\",k,B)}var S=r(Z,[[\"render\",N]]);const V={},j={viewBox:\"0 0 1170 20\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\"},I=t(\"path\",{d:\"M690 4.08004C518 -9.91998 231 4.08004 -6 176.361L231 197.08L1170 219.08C1113.33 175.747 909.275 21.928 690 4.08004Z\",fill:\"white\",\"fill-opacity\":\"0.1\"},null,-1),P=[I];function R(s,a){return e(),i(\"svg\",j,P)}var U=r(V,[[\"render\",R]]);const z={},D={width:\"1122\",height:\"1017\",viewBox:\"0 0 1122 1017\",preserveAspectRatio:\"none\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\"},H=t(\"path\",{d:\"M226.002 466.5C164.935 687.5 188.326 831.5 224.141 1017H1140V-7L0 -109.5C142.5 -7.5 282.085 263.536 226.002 466.5Z\",fill:\"url(#paint0_linear)\",\"fill-opacity\":\"0.1\"},null,-1),O=t(\"defs\",null,[t(\"linearGradient\",{id:\"paint0_linear\",x1:\"649.5\",y1:\"-7\",x2:\"649.5\",y2:\"1017\",gradientUnits:\"userSpaceOnUse\"},[t(\"stop\",{\"stop-color\":\"rgba(var(--color-primary-500), var(--tw-text-opacity))\"}),t(\"stop\",{offset:\"1\",\"stop-color\":\"rgba(var(--color-primary-400), var(--tw-text-opacity))\"})])],-1),A=[H,O];function G(s,a){return e(),i(\"svg\",D,A)}var E=r(z,[[\"render\",G]]);const F={class:\"grid h-screen grid-cols-12 overflow-y-hidden bg-gray-100\"},T={class:\"flex items-center justify-center w-full max-w-sm col-span-12 p-4 mx-auto text-gray-900 md:p-8 md:col-span-6 lg:col-span-4 flex-2 md:pb-48 md:pt-40\"},Y={class:\"w-full\"},q=[\"src\"],J={class:\"pt-24 mt-0 text-sm not-italic font-medium leading-relaxed text-left text-gray-400 md:pt-40\"},K={class:\"mb-3\"},Q={class:\"relative flex-col items-center justify-center hidden w-full h-full pl-10 bg-no-repeat bg-cover md:col-span-6 lg:col-span-8 md:flex content-box overflow-hidden\"},W={class:\"md:pl-10 xl:pl-0 relative z-50 w-7/12 xl:w-5/12 xl:w-5/12\"},X={class:\"hidden mb-3 text-3xl leading-normal text-left text-white xl:text-5xl xl:leading-tight md:none lg:block\"},t1={class:\"hidden text-sm not-italic font-normal leading-normal text-left text-gray-100 xl:text-base xl:leading-6 md:none lg:block\"},s1={setup(s){const a=n(()=>window.login_page_heading?window.login_page_heading:\"Simple Invoicing for Individuals Small Businesses\"),d=n(()=>window.login_page_description?window.login_page_description:\"Crater helps you track expenses, record payments & generate beautiful invoices & estimates.\"),h=n(()=>window.copyright_text?window.copyright_text:\"Copyright @ Crater Invoice, Inc.\"),p=n(()=>window.login_page_logo?window.login_page_logo:!1);return(e1,i1)=>{const f=m(\"router-view\");return e(),i(\"div\",F,[l(C),t(\"div\",T,[t(\"div\",Y,[o(p)?(e(),i(\"img\",{key:1,src:o(p),class:\"block w-48 h-auto max-w-full mb-32 text-primary-500\"},null,8,q)):(e(),w(_,{key:0,class:\"block w-48 h-auto max-w-full mb-32 text-primary-500\"})),l(f),t(\"div\",J,[t(\"p\",K,c(o(h))+\" \"+c(new Date().getFullYear()),1)])])]),t(\"div\",Q,[l(M,{class:\"absolute h-full w-full\"}),l(S,{class:\"absolute z-10 top-0 right-0 h-[300px] w-[420px]\"}),l(E,{class:\"absolute h-full w-full right-[7.5%]\"}),t(\"div\",W,[t(\"h1\",X,c(o(a)),1),t(\"p\",t1,c(o(d)),1)]),l(U,{class:\"absolute z-50 w-full bg-no-repeat content-bottom h-[15vw] lg:h-[22vw] right-[32%] bottom-0\"})])])}}};export{s1 as default};\n"
  },
  {
    "path": "public/build/assets/LineChart.8ef63104.js",
    "content": "import{aQ as Zi,ah as Ji,B as Qi,k as eo,a7 as to,D as ro,a0 as ea,o as ao,e as no,h as io}from\"./vendor.d12b5734.js\";import{b as oo}from\"./main.465728e1.js\";var ta={exports:{}};/*!\n * Chart.js v2.9.4\n * https://www.chartjs.org\n * (c) 2020 Chart.js Contributors\n * Released under the MIT License\n */(function(lt,$){(function(O,j){lt.exports=j(function(){try{return require(\"moment\")}catch{}}())})(Zi,function(O){O=O&&O.hasOwnProperty(\"default\")?O.default:O;function j(e,t){return t={exports:{}},e(t,t.exports),t.exports}function Ie(e){return e&&e.default||e}var ae={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],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],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],rebeccapurple:[102,51,153],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]},F=j(function(e){var t={};for(var r in ae)ae.hasOwnProperty(r)&&(t[ae[r]]=r);var a=e.exports={rgb:{channels:3,labels:\"rgb\"},hsl:{channels:3,labels:\"hsl\"},hsv:{channels:3,labels:\"hsv\"},hwb:{channels:3,labels:\"hwb\"},cmyk:{channels:4,labels:\"cmyk\"},xyz:{channels:3,labels:\"xyz\"},lab:{channels:3,labels:\"lab\"},lch:{channels:3,labels:\"lch\"},hex:{channels:1,labels:[\"hex\"]},keyword:{channels:1,labels:[\"keyword\"]},ansi16:{channels:1,labels:[\"ansi16\"]},ansi256:{channels:1,labels:[\"ansi256\"]},hcg:{channels:3,labels:[\"h\",\"c\",\"g\"]},apple:{channels:3,labels:[\"r16\",\"g16\",\"b16\"]},gray:{channels:1,labels:[\"gray\"]}};for(var n in a)if(a.hasOwnProperty(n)){if(!(\"channels\"in a[n]))throw new Error(\"missing channels property: \"+n);if(!(\"labels\"in a[n]))throw new Error(\"missing channel labels property: \"+n);if(a[n].labels.length!==a[n].channels)throw new Error(\"channel and label counts mismatch: \"+n);var i=a[n].channels,o=a[n].labels;delete a[n].channels,delete a[n].labels,Object.defineProperty(a[n],\"channels\",{value:i}),Object.defineProperty(a[n],\"labels\",{value:o})}a.rgb.hsl=function(s){var u=s[0]/255,d=s[1]/255,f=s[2]/255,c=Math.min(u,d,f),v=Math.max(u,d,f),g=v-c,p,m,b;return v===c?p=0:u===v?p=(d-f)/g:d===v?p=2+(f-u)/g:f===v&&(p=4+(u-d)/g),p=Math.min(p*60,360),p<0&&(p+=360),b=(c+v)/2,v===c?m=0:b<=.5?m=g/(v+c):m=g/(2-v-c),[p,m*100,b*100]},a.rgb.hsv=function(s){var u,d,f,c,v,g=s[0]/255,p=s[1]/255,m=s[2]/255,b=Math.max(g,p,m),x=b-Math.min(g,p,m),y=function(w){return(b-w)/6/x+1/2};return x===0?c=v=0:(v=x/b,u=y(g),d=y(p),f=y(m),g===b?c=f-d:p===b?c=1/3+u-f:m===b&&(c=2/3+d-u),c<0?c+=1:c>1&&(c-=1)),[c*360,v*100,b*100]},a.rgb.hwb=function(s){var u=s[0],d=s[1],f=s[2],c=a.rgb.hsl(s)[0],v=1/255*Math.min(u,Math.min(d,f));return f=1-1/255*Math.max(u,Math.max(d,f)),[c,v*100,f*100]},a.rgb.cmyk=function(s){var u=s[0]/255,d=s[1]/255,f=s[2]/255,c,v,g,p;return p=Math.min(1-u,1-d,1-f),c=(1-u-p)/(1-p)||0,v=(1-d-p)/(1-p)||0,g=(1-f-p)/(1-p)||0,[c*100,v*100,g*100,p*100]};function l(s,u){return Math.pow(s[0]-u[0],2)+Math.pow(s[1]-u[1],2)+Math.pow(s[2]-u[2],2)}a.rgb.keyword=function(s){var u=t[s];if(u)return u;var d=1/0,f;for(var c in ae)if(ae.hasOwnProperty(c)){var v=ae[c],g=l(s,v);g<d&&(d=g,f=c)}return f},a.keyword.rgb=function(s){return ae[s]},a.rgb.xyz=function(s){var u=s[0]/255,d=s[1]/255,f=s[2]/255;u=u>.04045?Math.pow((u+.055)/1.055,2.4):u/12.92,d=d>.04045?Math.pow((d+.055)/1.055,2.4):d/12.92,f=f>.04045?Math.pow((f+.055)/1.055,2.4):f/12.92;var c=u*.4124+d*.3576+f*.1805,v=u*.2126+d*.7152+f*.0722,g=u*.0193+d*.1192+f*.9505;return[c*100,v*100,g*100]},a.rgb.lab=function(s){var u=a.rgb.xyz(s),d=u[0],f=u[1],c=u[2],v,g,p;return d/=95.047,f/=100,c/=108.883,d=d>.008856?Math.pow(d,1/3):7.787*d+16/116,f=f>.008856?Math.pow(f,1/3):7.787*f+16/116,c=c>.008856?Math.pow(c,1/3):7.787*c+16/116,v=116*f-16,g=500*(d-f),p=200*(f-c),[v,g,p]},a.hsl.rgb=function(s){var u=s[0]/360,d=s[1]/100,f=s[2]/100,c,v,g,p,m;if(d===0)return m=f*255,[m,m,m];f<.5?v=f*(1+d):v=f+d-f*d,c=2*f-v,p=[0,0,0];for(var b=0;b<3;b++)g=u+1/3*-(b-1),g<0&&g++,g>1&&g--,6*g<1?m=c+(v-c)*6*g:2*g<1?m=v:3*g<2?m=c+(v-c)*(2/3-g)*6:m=c,p[b]=m*255;return p},a.hsl.hsv=function(s){var u=s[0],d=s[1]/100,f=s[2]/100,c=d,v=Math.max(f,.01),g,p;return f*=2,d*=f<=1?f:2-f,c*=v<=1?v:2-v,p=(f+d)/2,g=f===0?2*c/(v+c):2*d/(f+d),[u,g*100,p*100]},a.hsv.rgb=function(s){var u=s[0]/60,d=s[1]/100,f=s[2]/100,c=Math.floor(u)%6,v=u-Math.floor(u),g=255*f*(1-d),p=255*f*(1-d*v),m=255*f*(1-d*(1-v));switch(f*=255,c){case 0:return[f,m,g];case 1:return[p,f,g];case 2:return[g,f,m];case 3:return[g,p,f];case 4:return[m,g,f];case 5:return[f,g,p]}},a.hsv.hsl=function(s){var u=s[0],d=s[1]/100,f=s[2]/100,c=Math.max(f,.01),v,g,p;return p=(2-d)*f,v=(2-d)*c,g=d*c,g/=v<=1?v:2-v,g=g||0,p/=2,[u,g*100,p*100]},a.hwb.rgb=function(s){var u=s[0]/360,d=s[1]/100,f=s[2]/100,c=d+f,v,g,p,m;c>1&&(d/=c,f/=c),v=Math.floor(6*u),g=1-f,p=6*u-v,(v&1)!=0&&(p=1-p),m=d+p*(g-d);var b,x,y;switch(v){default:case 6:case 0:b=g,x=m,y=d;break;case 1:b=m,x=g,y=d;break;case 2:b=d,x=g,y=m;break;case 3:b=d,x=m,y=g;break;case 4:b=m,x=d,y=g;break;case 5:b=g,x=d,y=m;break}return[b*255,x*255,y*255]},a.cmyk.rgb=function(s){var u=s[0]/100,d=s[1]/100,f=s[2]/100,c=s[3]/100,v,g,p;return v=1-Math.min(1,u*(1-c)+c),g=1-Math.min(1,d*(1-c)+c),p=1-Math.min(1,f*(1-c)+c),[v*255,g*255,p*255]},a.xyz.rgb=function(s){var u=s[0]/100,d=s[1]/100,f=s[2]/100,c,v,g;return c=u*3.2406+d*-1.5372+f*-.4986,v=u*-.9689+d*1.8758+f*.0415,g=u*.0557+d*-.204+f*1.057,c=c>.0031308?1.055*Math.pow(c,1/2.4)-.055:c*12.92,v=v>.0031308?1.055*Math.pow(v,1/2.4)-.055:v*12.92,g=g>.0031308?1.055*Math.pow(g,1/2.4)-.055:g*12.92,c=Math.min(Math.max(0,c),1),v=Math.min(Math.max(0,v),1),g=Math.min(Math.max(0,g),1),[c*255,v*255,g*255]},a.xyz.lab=function(s){var u=s[0],d=s[1],f=s[2],c,v,g;return u/=95.047,d/=100,f/=108.883,u=u>.008856?Math.pow(u,1/3):7.787*u+16/116,d=d>.008856?Math.pow(d,1/3):7.787*d+16/116,f=f>.008856?Math.pow(f,1/3):7.787*f+16/116,c=116*d-16,v=500*(u-d),g=200*(d-f),[c,v,g]},a.lab.xyz=function(s){var u=s[0],d=s[1],f=s[2],c,v,g;v=(u+16)/116,c=d/500+v,g=v-f/200;var p=Math.pow(v,3),m=Math.pow(c,3),b=Math.pow(g,3);return v=p>.008856?p:(v-16/116)/7.787,c=m>.008856?m:(c-16/116)/7.787,g=b>.008856?b:(g-16/116)/7.787,c*=95.047,v*=100,g*=108.883,[c,v,g]},a.lab.lch=function(s){var u=s[0],d=s[1],f=s[2],c,v,g;return c=Math.atan2(f,d),v=c*360/2/Math.PI,v<0&&(v+=360),g=Math.sqrt(d*d+f*f),[u,g,v]},a.lch.lab=function(s){var u=s[0],d=s[1],f=s[2],c,v,g;return g=f/360*2*Math.PI,c=d*Math.cos(g),v=d*Math.sin(g),[u,c,v]},a.rgb.ansi16=function(s){var u=s[0],d=s[1],f=s[2],c=1 in arguments?arguments[1]:a.rgb.hsv(s)[2];if(c=Math.round(c/50),c===0)return 30;var v=30+(Math.round(f/255)<<2|Math.round(d/255)<<1|Math.round(u/255));return c===2&&(v+=60),v},a.hsv.ansi16=function(s){return a.rgb.ansi16(a.hsv.rgb(s),s[2])},a.rgb.ansi256=function(s){var u=s[0],d=s[1],f=s[2];if(u===d&&d===f)return u<8?16:u>248?231:Math.round((u-8)/247*24)+232;var c=16+36*Math.round(u/255*5)+6*Math.round(d/255*5)+Math.round(f/255*5);return c},a.ansi16.rgb=function(s){var u=s%10;if(u===0||u===7)return s>50&&(u+=3.5),u=u/10.5*255,[u,u,u];var d=(~~(s>50)+1)*.5,f=(u&1)*d*255,c=(u>>1&1)*d*255,v=(u>>2&1)*d*255;return[f,c,v]},a.ansi256.rgb=function(s){if(s>=232){var u=(s-232)*10+8;return[u,u,u]}s-=16;var d,f=Math.floor(s/36)/5*255,c=Math.floor((d=s%36)/6)/5*255,v=d%6/5*255;return[f,c,v]},a.rgb.hex=function(s){var u=((Math.round(s[0])&255)<<16)+((Math.round(s[1])&255)<<8)+(Math.round(s[2])&255),d=u.toString(16).toUpperCase();return\"000000\".substring(d.length)+d},a.hex.rgb=function(s){var u=s.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!u)return[0,0,0];var d=u[0];u[0].length===3&&(d=d.split(\"\").map(function(p){return p+p}).join(\"\"));var f=parseInt(d,16),c=f>>16&255,v=f>>8&255,g=f&255;return[c,v,g]},a.rgb.hcg=function(s){var u=s[0]/255,d=s[1]/255,f=s[2]/255,c=Math.max(Math.max(u,d),f),v=Math.min(Math.min(u,d),f),g=c-v,p,m;return g<1?p=v/(1-g):p=0,g<=0?m=0:c===u?m=(d-f)/g%6:c===d?m=2+(f-u)/g:m=4+(u-d)/g+4,m/=6,m%=1,[m*360,g*100,p*100]},a.hsl.hcg=function(s){var u=s[1]/100,d=s[2]/100,f=1,c=0;return d<.5?f=2*u*d:f=2*u*(1-d),f<1&&(c=(d-.5*f)/(1-f)),[s[0],f*100,c*100]},a.hsv.hcg=function(s){var u=s[1]/100,d=s[2]/100,f=u*d,c=0;return f<1&&(c=(d-f)/(1-f)),[s[0],f*100,c*100]},a.hcg.rgb=function(s){var u=s[0]/360,d=s[1]/100,f=s[2]/100;if(d===0)return[f*255,f*255,f*255];var c=[0,0,0],v=u%1*6,g=v%1,p=1-g,m=0;switch(Math.floor(v)){case 0:c[0]=1,c[1]=g,c[2]=0;break;case 1:c[0]=p,c[1]=1,c[2]=0;break;case 2:c[0]=0,c[1]=1,c[2]=g;break;case 3:c[0]=0,c[1]=p,c[2]=1;break;case 4:c[0]=g,c[1]=0,c[2]=1;break;default:c[0]=1,c[1]=0,c[2]=p}return m=(1-d)*f,[(d*c[0]+m)*255,(d*c[1]+m)*255,(d*c[2]+m)*255]},a.hcg.hsv=function(s){var u=s[1]/100,d=s[2]/100,f=u+d*(1-u),c=0;return f>0&&(c=u/f),[s[0],c*100,f*100]},a.hcg.hsl=function(s){var u=s[1]/100,d=s[2]/100,f=d*(1-u)+.5*u,c=0;return f>0&&f<.5?c=u/(2*f):f>=.5&&f<1&&(c=u/(2*(1-f))),[s[0],c*100,f*100]},a.hcg.hwb=function(s){var u=s[1]/100,d=s[2]/100,f=u+d*(1-u);return[s[0],(f-u)*100,(1-f)*100]},a.hwb.hcg=function(s){var u=s[1]/100,d=s[2]/100,f=1-d,c=f-u,v=0;return c<1&&(v=(f-c)/(1-c)),[s[0],c*100,v*100]},a.apple.rgb=function(s){return[s[0]/65535*255,s[1]/65535*255,s[2]/65535*255]},a.rgb.apple=function(s){return[s[0]/255*65535,s[1]/255*65535,s[2]/255*65535]},a.gray.rgb=function(s){return[s[0]/100*255,s[0]/100*255,s[0]/100*255]},a.gray.hsl=a.gray.hsv=function(s){return[0,0,s[0]]},a.gray.hwb=function(s){return[0,100,s[0]]},a.gray.cmyk=function(s){return[0,0,0,s[0]]},a.gray.lab=function(s){return[s[0],0,0]},a.gray.hex=function(s){var u=Math.round(s[0]/100*255)&255,d=(u<<16)+(u<<8)+u,f=d.toString(16).toUpperCase();return\"000000\".substring(f.length)+f},a.rgb.gray=function(s){var u=(s[0]+s[1]+s[2])/3;return[u/255*100]}});F.rgb,F.hsl,F.hsv,F.hwb,F.cmyk,F.xyz,F.lab,F.lch,F.hex,F.keyword,F.ansi16,F.ansi256,F.hcg,F.apple,F.gray;function ut(){for(var e={},t=Object.keys(F),r=t.length,a=0;a<r;a++)e[t[a]]={distance:-1,parent:null};return e}function Y(e){var t=ut(),r=[e];for(t[e].distance=0;r.length;)for(var a=r.pop(),n=Object.keys(F[a]),i=n.length,o=0;o<i;o++){var l=n[o],s=t[l];s.distance===-1&&(s.distance=t[a].distance+1,s.parent=a,r.unshift(l))}return t}function Ue(e,t){return function(r){return t(e(r))}}function we(e,t){for(var r=[t[e].parent,e],a=F[t[e].parent][e],n=t[e].parent;t[n].parent;)r.unshift(t[n].parent),a=Ue(F[t[n].parent][n],a),n=t[n].parent;return a.conversion=r,a}var q=function(e){for(var t=Y(e),r={},a=Object.keys(t),n=a.length,i=0;i<n;i++){var o=a[i],l=t[o];l.parent!==null&&(r[o]=we(o,t))}return r},ce={},ra=Object.keys(F);function aa(e){var t=function(r){return r==null?r:(arguments.length>1&&(r=Array.prototype.slice.call(arguments)),e(r))};return\"conversion\"in e&&(t.conversion=e.conversion),t}function na(e){var t=function(r){if(r==null)return r;arguments.length>1&&(r=Array.prototype.slice.call(arguments));var a=e(r);if(typeof a==\"object\")for(var n=a.length,i=0;i<n;i++)a[i]=Math.round(a[i]);return a};return\"conversion\"in e&&(t.conversion=e.conversion),t}ra.forEach(function(e){ce[e]={},Object.defineProperty(ce[e],\"channels\",{value:F[e].channels}),Object.defineProperty(ce[e],\"labels\",{value:F[e].labels});var t=q(e),r=Object.keys(t);r.forEach(function(a){var n=t[a];ce[e][a]=na(n),ce[e][a].raw=aa(n)})});var ia=ce,dt={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],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],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],rebeccapurple:[102,51,153],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]},J={getRgba:ft,getHsla:ht,getRgb:oa,getHsl:sa,getHwb:Yt,getAlpha:la,hexString:ua,rgbString:da,rgbaString:Gt,percentString:fa,percentaString:Xt,hslString:ha,hslaString:Kt,hwbString:ca,keyword:va};function ft(e){if(!!e){var t=/^#([a-fA-F0-9]{3,4})$/i,r=/^#([a-fA-F0-9]{6}([a-fA-F0-9]{2})?)$/i,a=/^rgba?\\(\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/i,n=/^rgba?\\(\\s*([+-]?[\\d\\.]+)\\%\\s*,\\s*([+-]?[\\d\\.]+)\\%\\s*,\\s*([+-]?[\\d\\.]+)\\%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/i,i=/(\\w+)/,o=[0,0,0],l=1,s=e.match(t),u=\"\";if(s){s=s[1],u=s[3];for(var d=0;d<o.length;d++)o[d]=parseInt(s[d]+s[d],16);u&&(l=Math.round(parseInt(u+u,16)/255*100)/100)}else if(s=e.match(r)){u=s[2],s=s[1];for(var d=0;d<o.length;d++)o[d]=parseInt(s.slice(d*2,d*2+2),16);u&&(l=Math.round(parseInt(u,16)/255*100)/100)}else if(s=e.match(a)){for(var d=0;d<o.length;d++)o[d]=parseInt(s[d+1]);l=parseFloat(s[4])}else if(s=e.match(n)){for(var d=0;d<o.length;d++)o[d]=Math.round(parseFloat(s[d+1])*2.55);l=parseFloat(s[4])}else if(s=e.match(i)){if(s[1]==\"transparent\")return[0,0,0,0];if(o=dt[s[1]],!o)return}for(var d=0;d<o.length;d++)o[d]=Q(o[d],0,255);return!l&&l!=0?l=1:l=Q(l,0,1),o[3]=l,o}}function ht(e){if(!!e){var t=/^hsla?\\(\\s*([+-]?\\d+)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)/,r=e.match(t);if(r){var a=parseFloat(r[4]),n=Q(parseInt(r[1]),0,360),i=Q(parseFloat(r[2]),0,100),o=Q(parseFloat(r[3]),0,100),l=Q(isNaN(a)?1:a,0,1);return[n,i,o,l]}}}function Yt(e){if(!!e){var t=/^hwb\\(\\s*([+-]?\\d+)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)/,r=e.match(t);if(r){var a=parseFloat(r[4]),n=Q(parseInt(r[1]),0,360),i=Q(parseFloat(r[2]),0,100),o=Q(parseFloat(r[3]),0,100),l=Q(isNaN(a)?1:a,0,1);return[n,i,o,l]}}}function oa(e){var t=ft(e);return t&&t.slice(0,3)}function sa(e){var t=ht(e);return t&&t.slice(0,3)}function la(e){var t=ft(e);if(t)return t[3];if(t=ht(e))return t[3];if(t=Yt(e))return t[3]}function ua(e,t){var t=t!==void 0&&e.length===3?t:e[3];return\"#\"+$e(e[0])+$e(e[1])+$e(e[2])+(t>=0&&t<1?$e(Math.round(t*255)):\"\")}function da(e,t){return t<1||e[3]&&e[3]<1?Gt(e,t):\"rgb(\"+e[0]+\", \"+e[1]+\", \"+e[2]+\")\"}function Gt(e,t){return t===void 0&&(t=e[3]!==void 0?e[3]:1),\"rgba(\"+e[0]+\", \"+e[1]+\", \"+e[2]+\", \"+t+\")\"}function fa(e,t){if(t<1||e[3]&&e[3]<1)return Xt(e,t);var r=Math.round(e[0]/255*100),a=Math.round(e[1]/255*100),n=Math.round(e[2]/255*100);return\"rgb(\"+r+\"%, \"+a+\"%, \"+n+\"%)\"}function Xt(e,t){var r=Math.round(e[0]/255*100),a=Math.round(e[1]/255*100),n=Math.round(e[2]/255*100);return\"rgba(\"+r+\"%, \"+a+\"%, \"+n+\"%, \"+(t||e[3]||1)+\")\"}function ha(e,t){return t<1||e[3]&&e[3]<1?Kt(e,t):\"hsl(\"+e[0]+\", \"+e[1]+\"%, \"+e[2]+\"%)\"}function Kt(e,t){return t===void 0&&(t=e[3]!==void 0?e[3]:1),\"hsla(\"+e[0]+\", \"+e[1]+\"%, \"+e[2]+\"%, \"+t+\")\"}function ca(e,t){return t===void 0&&(t=e[3]!==void 0?e[3]:1),\"hwb(\"+e[0]+\", \"+e[1]+\"%, \"+e[2]+\"%\"+(t!==void 0&&t!==1?\", \"+t:\"\")+\")\"}function va(e){return Zt[e.slice(0,3)]}function Q(e,t,r){return Math.min(Math.max(t,e),r)}function $e(e){var t=e.toString(16).toUpperCase();return t.length<2?\"0\"+t:t}var Zt={};for(var Jt in dt)Zt[dt[Jt]]=Jt;var U=function(e){if(e instanceof U)return e;if(!(this instanceof U))return new U(e);this.valid=!1,this.values={rgb:[0,0,0],hsl:[0,0,0],hsv:[0,0,0],hwb:[0,0,0],cmyk:[0,0,0,0],alpha:1};var t;typeof e==\"string\"?(t=J.getRgba(e),t?this.setValues(\"rgb\",t):(t=J.getHsla(e))?this.setValues(\"hsl\",t):(t=J.getHwb(e))&&this.setValues(\"hwb\",t)):typeof e==\"object\"&&(t=e,t.r!==void 0||t.red!==void 0?this.setValues(\"rgb\",t):t.l!==void 0||t.lightness!==void 0?this.setValues(\"hsl\",t):t.v!==void 0||t.value!==void 0?this.setValues(\"hsv\",t):t.w!==void 0||t.whiteness!==void 0?this.setValues(\"hwb\",t):(t.c!==void 0||t.cyan!==void 0)&&this.setValues(\"cmyk\",t))};U.prototype={isValid:function(){return this.valid},rgb:function(){return this.setSpace(\"rgb\",arguments)},hsl:function(){return this.setSpace(\"hsl\",arguments)},hsv:function(){return this.setSpace(\"hsv\",arguments)},hwb:function(){return this.setSpace(\"hwb\",arguments)},cmyk:function(){return this.setSpace(\"cmyk\",arguments)},rgbArray:function(){return this.values.rgb},hslArray:function(){return this.values.hsl},hsvArray:function(){return this.values.hsv},hwbArray:function(){var e=this.values;return e.alpha!==1?e.hwb.concat([e.alpha]):e.hwb},cmykArray:function(){return this.values.cmyk},rgbaArray:function(){var e=this.values;return e.rgb.concat([e.alpha])},hslaArray:function(){var e=this.values;return e.hsl.concat([e.alpha])},alpha:function(e){return e===void 0?this.values.alpha:(this.setValues(\"alpha\",e),this)},red:function(e){return this.setChannel(\"rgb\",0,e)},green:function(e){return this.setChannel(\"rgb\",1,e)},blue:function(e){return this.setChannel(\"rgb\",2,e)},hue:function(e){return e&&(e%=360,e=e<0?360+e:e),this.setChannel(\"hsl\",0,e)},saturation:function(e){return this.setChannel(\"hsl\",1,e)},lightness:function(e){return this.setChannel(\"hsl\",2,e)},saturationv:function(e){return this.setChannel(\"hsv\",1,e)},whiteness:function(e){return this.setChannel(\"hwb\",1,e)},blackness:function(e){return this.setChannel(\"hwb\",2,e)},value:function(e){return this.setChannel(\"hsv\",2,e)},cyan:function(e){return this.setChannel(\"cmyk\",0,e)},magenta:function(e){return this.setChannel(\"cmyk\",1,e)},yellow:function(e){return this.setChannel(\"cmyk\",2,e)},black:function(e){return this.setChannel(\"cmyk\",3,e)},hexString:function(){return J.hexString(this.values.rgb)},rgbString:function(){return J.rgbString(this.values.rgb,this.values.alpha)},rgbaString:function(){return J.rgbaString(this.values.rgb,this.values.alpha)},percentString:function(){return J.percentString(this.values.rgb,this.values.alpha)},hslString:function(){return J.hslString(this.values.hsl,this.values.alpha)},hslaString:function(){return J.hslaString(this.values.hsl,this.values.alpha)},hwbString:function(){return J.hwbString(this.values.hwb,this.values.alpha)},keyword:function(){return J.keyword(this.values.rgb,this.values.alpha)},rgbNumber:function(){var e=this.values.rgb;return e[0]<<16|e[1]<<8|e[2]},luminosity:function(){for(var e=this.values.rgb,t=[],r=0;r<e.length;r++){var a=e[r]/255;t[r]=a<=.03928?a/12.92:Math.pow((a+.055)/1.055,2.4)}return .2126*t[0]+.7152*t[1]+.0722*t[2]},contrast:function(e){var t=this.luminosity(),r=e.luminosity();return t>r?(t+.05)/(r+.05):(r+.05)/(t+.05)},level:function(e){var t=this.contrast(e);return t>=7.1?\"AAA\":t>=4.5?\"AA\":\"\"},dark:function(){var e=this.values.rgb,t=(e[0]*299+e[1]*587+e[2]*114)/1e3;return t<128},light:function(){return!this.dark()},negate:function(){for(var e=[],t=0;t<3;t++)e[t]=255-this.values.rgb[t];return this.setValues(\"rgb\",e),this},lighten:function(e){var t=this.values.hsl;return t[2]+=t[2]*e,this.setValues(\"hsl\",t),this},darken:function(e){var t=this.values.hsl;return t[2]-=t[2]*e,this.setValues(\"hsl\",t),this},saturate:function(e){var t=this.values.hsl;return t[1]+=t[1]*e,this.setValues(\"hsl\",t),this},desaturate:function(e){var t=this.values.hsl;return t[1]-=t[1]*e,this.setValues(\"hsl\",t),this},whiten:function(e){var t=this.values.hwb;return t[1]+=t[1]*e,this.setValues(\"hwb\",t),this},blacken:function(e){var t=this.values.hwb;return t[2]+=t[2]*e,this.setValues(\"hwb\",t),this},greyscale:function(){var e=this.values.rgb,t=e[0]*.3+e[1]*.59+e[2]*.11;return this.setValues(\"rgb\",[t,t,t]),this},clearer:function(e){var t=this.values.alpha;return this.setValues(\"alpha\",t-t*e),this},opaquer:function(e){var t=this.values.alpha;return this.setValues(\"alpha\",t+t*e),this},rotate:function(e){var t=this.values.hsl,r=(t[0]+e)%360;return t[0]=r<0?360+r:r,this.setValues(\"hsl\",t),this},mix:function(e,t){var r=this,a=e,n=t===void 0?.5:t,i=2*n-1,o=r.alpha()-a.alpha(),l=((i*o==-1?i:(i+o)/(1+i*o))+1)/2,s=1-l;return this.rgb(l*r.red()+s*a.red(),l*r.green()+s*a.green(),l*r.blue()+s*a.blue()).alpha(r.alpha()*n+a.alpha()*(1-n))},toJSON:function(){return this.rgb()},clone:function(){var e=new U,t=this.values,r=e.values,a,n;for(var i in t)t.hasOwnProperty(i)&&(a=t[i],n={}.toString.call(a),n===\"[object Array]\"?r[i]=a.slice(0):n===\"[object Number]\"?r[i]=a:console.error(\"unexpected color value:\",a));return e}},U.prototype.spaces={rgb:[\"red\",\"green\",\"blue\"],hsl:[\"hue\",\"saturation\",\"lightness\"],hsv:[\"hue\",\"saturation\",\"value\"],hwb:[\"hue\",\"whiteness\",\"blackness\"],cmyk:[\"cyan\",\"magenta\",\"yellow\",\"black\"]},U.prototype.maxes={rgb:[255,255,255],hsl:[360,100,100],hsv:[360,100,100],hwb:[360,100,100],cmyk:[100,100,100,100]},U.prototype.getValues=function(e){for(var t=this.values,r={},a=0;a<e.length;a++)r[e.charAt(a)]=t[e][a];return t.alpha!==1&&(r.a=t.alpha),r},U.prototype.setValues=function(e,t){var r=this.values,a=this.spaces,n=this.maxes,i=1,o;if(this.valid=!0,e===\"alpha\")i=t;else if(t.length)r[e]=t.slice(0,e.length),i=t[e.length];else if(t[e.charAt(0)]!==void 0){for(o=0;o<e.length;o++)r[e][o]=t[e.charAt(o)];i=t.a}else if(t[a[e][0]]!==void 0){var l=a[e];for(o=0;o<e.length;o++)r[e][o]=t[l[o]];i=t.alpha}if(r.alpha=Math.max(0,Math.min(1,i===void 0?r.alpha:i)),e===\"alpha\")return!1;var s;for(o=0;o<e.length;o++)s=Math.max(0,Math.min(n[e][o],r[e][o])),r[e][o]=Math.round(s);for(var u in a)u!==e&&(r[u]=ia[e][u](r[e]));return!0},U.prototype.setSpace=function(e,t){var r=t[0];return r===void 0?this.getValues(e):(typeof r==\"number\"&&(r=Array.prototype.slice.call(t)),this.setValues(e,r),this)},U.prototype.setChannel=function(e,t,r){var a=this.values[e];return r===void 0?a[t]:r===a[t]?this:(a[t]=r,this.setValues(e,a),this)},typeof window!=\"undefined\"&&(window.Color=U);var Ye=U;function Qt(e){return[\"__proto__\",\"prototype\",\"constructor\"].indexOf(e)===-1}var S={noop:function(){},uid:function(){var e=0;return function(){return e++}}(),isNullOrUndef:function(e){return e===null||typeof e==\"undefined\"},isArray:function(e){if(Array.isArray&&Array.isArray(e))return!0;var t=Object.prototype.toString.call(e);return t.substr(0,7)===\"[object\"&&t.substr(-6)===\"Array]\"},isObject:function(e){return e!==null&&Object.prototype.toString.call(e)===\"[object Object]\"},isFinite:function(e){return(typeof e==\"number\"||e instanceof Number)&&isFinite(e)},valueOrDefault:function(e,t){return typeof e==\"undefined\"?t:e},valueAtIndexOrDefault:function(e,t,r){return S.valueOrDefault(S.isArray(e)?e[t]:e,r)},callback:function(e,t,r){if(e&&typeof e.call==\"function\")return e.apply(r,t)},each:function(e,t,r,a){var n,i,o;if(S.isArray(e))if(i=e.length,a)for(n=i-1;n>=0;n--)t.call(r,e[n],n);else for(n=0;n<i;n++)t.call(r,e[n],n);else if(S.isObject(e))for(o=Object.keys(e),i=o.length,n=0;n<i;n++)t.call(r,e[o[n]],o[n])},arrayEquals:function(e,t){var r,a,n,i;if(!e||!t||e.length!==t.length)return!1;for(r=0,a=e.length;r<a;++r)if(n=e[r],i=t[r],n instanceof Array&&i instanceof Array){if(!S.arrayEquals(n,i))return!1}else if(n!==i)return!1;return!0},clone:function(e){if(S.isArray(e))return e.map(S.clone);if(S.isObject(e)){for(var t=Object.create(e),r=Object.keys(e),a=r.length,n=0;n<a;++n)t[r[n]]=S.clone(e[r[n]]);return t}return e},_merger:function(e,t,r,a){if(!!Qt(e)){var n=t[e],i=r[e];S.isObject(n)&&S.isObject(i)?S.merge(n,i,a):t[e]=S.clone(i)}},_mergerIf:function(e,t,r){if(!!Qt(e)){var a=t[e],n=r[e];S.isObject(a)&&S.isObject(n)?S.mergeIf(a,n):t.hasOwnProperty(e)||(t[e]=S.clone(n))}},merge:function(e,t,r){var a=S.isArray(t)?t:[t],n=a.length,i,o,l,s,u;if(!S.isObject(e))return e;for(r=r||{},i=r.merger||S._merger,o=0;o<n;++o)if(t=a[o],!!S.isObject(t))for(l=Object.keys(t),u=0,s=l.length;u<s;++u)i(l[u],e,t,r);return e},mergeIf:function(e,t){return S.merge(e,t,{merger:S._mergerIf})},extend:Object.assign||function(e){return S.merge(e,[].slice.call(arguments,1),{merger:function(t,r,a){r[t]=a[t]}})},inherits:function(e){var t=this,r=e&&e.hasOwnProperty(\"constructor\")?e.constructor:function(){return t.apply(this,arguments)},a=function(){this.constructor=r};return a.prototype=t.prototype,r.prototype=new a,r.extend=S.inherits,e&&S.extend(r.prototype,e),r.__super__=t.prototype,r},_deprecated:function(e,t,r,a){t!==void 0&&console.warn(e+': \"'+r+'\" is deprecated. Please use \"'+a+'\" instead')}},G=S;S.callCallback=S.callback,S.indexOf=function(e,t,r){return Array.prototype.indexOf.call(e,t,r)},S.getValueOrDefault=S.valueOrDefault,S.getValueAtIndexOrDefault=S.valueAtIndexOrDefault;var Oe={linear:function(e){return e},easeInQuad:function(e){return e*e},easeOutQuad:function(e){return-e*(e-2)},easeInOutQuad:function(e){return(e/=.5)<1?.5*e*e:-.5*(--e*(e-2)-1)},easeInCubic:function(e){return e*e*e},easeOutCubic:function(e){return(e=e-1)*e*e+1},easeInOutCubic:function(e){return(e/=.5)<1?.5*e*e*e:.5*((e-=2)*e*e+2)},easeInQuart:function(e){return e*e*e*e},easeOutQuart:function(e){return-((e=e-1)*e*e*e-1)},easeInOutQuart:function(e){return(e/=.5)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2)},easeInQuint:function(e){return e*e*e*e*e},easeOutQuint:function(e){return(e=e-1)*e*e*e*e+1},easeInOutQuint:function(e){return(e/=.5)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2)},easeInSine:function(e){return-Math.cos(e*(Math.PI/2))+1},easeOutSine:function(e){return Math.sin(e*(Math.PI/2))},easeInOutSine:function(e){return-.5*(Math.cos(Math.PI*e)-1)},easeInExpo:function(e){return e===0?0:Math.pow(2,10*(e-1))},easeOutExpo:function(e){return e===1?1:-Math.pow(2,-10*e)+1},easeInOutExpo:function(e){return e===0?0:e===1?1:(e/=.5)<1?.5*Math.pow(2,10*(e-1)):.5*(-Math.pow(2,-10*--e)+2)},easeInCirc:function(e){return e>=1?e:-(Math.sqrt(1-e*e)-1)},easeOutCirc:function(e){return Math.sqrt(1-(e=e-1)*e)},easeInOutCirc:function(e){return(e/=.5)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1)},easeInElastic:function(e){var t=1.70158,r=0,a=1;return e===0?0:e===1?1:(r||(r=.3),t=r/(2*Math.PI)*Math.asin(1/a),-(a*Math.pow(2,10*(e-=1))*Math.sin((e-t)*(2*Math.PI)/r)))},easeOutElastic:function(e){var t=1.70158,r=0,a=1;return e===0?0:e===1?1:(r||(r=.3),t=r/(2*Math.PI)*Math.asin(1/a),a*Math.pow(2,-10*e)*Math.sin((e-t)*(2*Math.PI)/r)+1)},easeInOutElastic:function(e){var t=1.70158,r=0,a=1;return e===0?0:(e/=.5)==2?1:(r||(r=.45),t=r/(2*Math.PI)*Math.asin(1/a),e<1?-.5*(a*Math.pow(2,10*(e-=1))*Math.sin((e-t)*(2*Math.PI)/r)):a*Math.pow(2,-10*(e-=1))*Math.sin((e-t)*(2*Math.PI)/r)*.5+1)},easeInBack:function(e){var t=1.70158;return e*e*((t+1)*e-t)},easeOutBack:function(e){var t=1.70158;return(e=e-1)*e*((t+1)*e+t)+1},easeInOutBack:function(e){var t=1.70158;return(e/=.5)<1?.5*(e*e*(((t*=1.525)+1)*e-t)):.5*((e-=2)*e*(((t*=1.525)+1)*e+t)+2)},easeInBounce:function(e){return 1-Oe.easeOutBounce(1-e)},easeOutBounce:function(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},easeInOutBounce:function(e){return e<.5?Oe.easeInBounce(e*2)*.5:Oe.easeOutBounce(e*2-1)*.5+.5}},ga={effects:Oe};G.easingEffects=Oe;var z=Math.PI,pa=z/180,ma=z*2,X=z/2,Le=z/4,er=z*2/3,Ge={clear:function(e){e.ctx.clearRect(0,0,e.width,e.height)},roundedRect:function(e,t,r,a,n,i){if(i){var o=Math.min(i,n/2,a/2),l=t+o,s=r+o,u=t+a-o,d=r+n-o;e.moveTo(t,s),l<u&&s<d?(e.arc(l,s,o,-z,-X),e.arc(u,s,o,-X,0),e.arc(u,d,o,0,X),e.arc(l,d,o,X,z)):l<u?(e.moveTo(l,r),e.arc(u,s,o,-X,X),e.arc(l,s,o,X,z+X)):s<d?(e.arc(l,s,o,-z,0),e.arc(l,d,o,0,z)):e.arc(l,s,o,-z,z),e.closePath(),e.moveTo(t,r)}else e.rect(t,r,a,n)},drawPoint:function(e,t,r,a,n,i){var o,l,s,u,d,f=(i||0)*pa;if(t&&typeof t==\"object\"&&(o=t.toString(),o===\"[object HTMLImageElement]\"||o===\"[object HTMLCanvasElement]\")){e.save(),e.translate(a,n),e.rotate(f),e.drawImage(t,-t.width/2,-t.height/2,t.width,t.height),e.restore();return}if(!(isNaN(r)||r<=0)){switch(e.beginPath(),t){default:e.arc(a,n,r,0,ma),e.closePath();break;case\"triangle\":e.moveTo(a+Math.sin(f)*r,n-Math.cos(f)*r),f+=er,e.lineTo(a+Math.sin(f)*r,n-Math.cos(f)*r),f+=er,e.lineTo(a+Math.sin(f)*r,n-Math.cos(f)*r),e.closePath();break;case\"rectRounded\":d=r*.516,u=r-d,l=Math.cos(f+Le)*u,s=Math.sin(f+Le)*u,e.arc(a-l,n-s,d,f-z,f-X),e.arc(a+s,n-l,d,f-X,f),e.arc(a+l,n+s,d,f,f+X),e.arc(a-s,n+l,d,f+X,f+z),e.closePath();break;case\"rect\":if(!i){u=Math.SQRT1_2*r,e.rect(a-u,n-u,2*u,2*u);break}f+=Le;case\"rectRot\":l=Math.cos(f)*r,s=Math.sin(f)*r,e.moveTo(a-l,n-s),e.lineTo(a+s,n-l),e.lineTo(a+l,n+s),e.lineTo(a-s,n+l),e.closePath();break;case\"crossRot\":f+=Le;case\"cross\":l=Math.cos(f)*r,s=Math.sin(f)*r,e.moveTo(a-l,n-s),e.lineTo(a+l,n+s),e.moveTo(a+s,n-l),e.lineTo(a-s,n+l);break;case\"star\":l=Math.cos(f)*r,s=Math.sin(f)*r,e.moveTo(a-l,n-s),e.lineTo(a+l,n+s),e.moveTo(a+s,n-l),e.lineTo(a-s,n+l),f+=Le,l=Math.cos(f)*r,s=Math.sin(f)*r,e.moveTo(a-l,n-s),e.lineTo(a+l,n+s),e.moveTo(a+s,n-l),e.lineTo(a-s,n+l);break;case\"line\":l=Math.cos(f)*r,s=Math.sin(f)*r,e.moveTo(a-l,n-s),e.lineTo(a+l,n+s);break;case\"dash\":e.moveTo(a,n),e.lineTo(a+Math.cos(f)*r,n+Math.sin(f)*r);break}e.fill(),e.stroke()}},_isPointInArea:function(e,t){var r=1e-6;return e.x>t.left-r&&e.x<t.right+r&&e.y>t.top-r&&e.y<t.bottom+r},clipArea:function(e,t){e.save(),e.beginPath(),e.rect(t.left,t.top,t.right-t.left,t.bottom-t.top),e.clip()},unclipArea:function(e){e.restore()},lineTo:function(e,t,r,a){var n=r.steppedLine;if(n){if(n===\"middle\"){var i=(t.x+r.x)/2;e.lineTo(i,a?r.y:t.y),e.lineTo(i,a?t.y:r.y)}else n===\"after\"&&!a||n!==\"after\"&&a?e.lineTo(t.x,r.y):e.lineTo(r.x,t.y);e.lineTo(r.x,r.y);return}if(!r.tension){e.lineTo(r.x,r.y);return}e.bezierCurveTo(a?t.controlPointPreviousX:t.controlPointNextX,a?t.controlPointPreviousY:t.controlPointNextY,a?r.controlPointNextX:r.controlPointPreviousX,a?r.controlPointNextY:r.controlPointPreviousY,r.x,r.y)}},ba=Ge;G.clear=Ge.clear,G.drawRoundedRectangle=function(e){e.beginPath(),Ge.roundedRect.apply(Ge,arguments)};var tr={_set:function(e,t){return G.merge(this[e]||(this[e]={}),t)}};tr._set(\"global\",{defaultColor:\"rgba(0,0,0,0.1)\",defaultFontColor:\"#666\",defaultFontFamily:\"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif\",defaultFontSize:12,defaultFontStyle:\"normal\",defaultLineHeight:1.2,showLines:!0});var _=tr,Xe=G.valueOrDefault;function xa(e){return!e||G.isNullOrUndef(e.size)||G.isNullOrUndef(e.family)?null:(e.style?e.style+\" \":\"\")+(e.weight?e.weight+\" \":\"\")+e.size+\"px \"+e.family}var ya={toLineHeight:function(e,t){var r=(\"\"+e).match(/^(normal|(\\d+(?:\\.\\d+)?)(px|em|%)?)$/);if(!r||r[1]===\"normal\")return t*1.2;switch(e=+r[2],r[3]){case\"px\":return e;case\"%\":e/=100;break}return t*e},toPadding:function(e){var t,r,a,n;return G.isObject(e)?(t=+e.top||0,r=+e.right||0,a=+e.bottom||0,n=+e.left||0):t=r=a=n=+e||0,{top:t,right:r,bottom:a,left:n,height:t+a,width:n+r}},_parseFont:function(e){var t=_.global,r=Xe(e.fontSize,t.defaultFontSize),a={family:Xe(e.fontFamily,t.defaultFontFamily),lineHeight:G.options.toLineHeight(Xe(e.lineHeight,t.defaultLineHeight),r),size:r,style:Xe(e.fontStyle,t.defaultFontStyle),weight:null,string:\"\"};return a.string=xa(a),a},resolve:function(e,t,r,a){var n=!0,i,o,l;for(i=0,o=e.length;i<o;++i)if(l=e[i],l!==void 0&&(t!==void 0&&typeof l==\"function\"&&(l=l(t),n=!1),r!==void 0&&G.isArray(l)&&(l=l[r],n=!1),l!==void 0))return a&&!n&&(a.cacheable=!1),l}},rr={_factorize:function(e){var t=[],r=Math.sqrt(e),a;for(a=1;a<r;a++)e%a==0&&(t.push(a),t.push(e/a));return r===(r|0)&&t.push(r),t.sort(function(n,i){return n-i}).pop(),t},log10:Math.log10||function(e){var t=Math.log(e)*Math.LOG10E,r=Math.round(t),a=e===Math.pow(10,r);return a?r:t}},_a=rr;G.log10=rr.log10;var ka=function(e,t){return{x:function(r){return e+e+t-r},setWidth:function(r){t=r},textAlign:function(r){return r===\"center\"?r:r===\"right\"?\"left\":\"right\"},xPlus:function(r,a){return r-a},leftForLtr:function(r,a){return r-a}}},wa=function(){return{x:function(e){return e},setWidth:function(e){},textAlign:function(e){return e},xPlus:function(e,t){return e+t},leftForLtr:function(e,t){return e}}},Ma=function(e,t,r){return e?ka(t,r):wa()},Sa=function(e,t){var r,a;(t===\"ltr\"||t===\"rtl\")&&(r=e.canvas.style,a=[r.getPropertyValue(\"direction\"),r.getPropertyPriority(\"direction\")],r.setProperty(\"direction\",t,\"important\"),e.prevTextDirection=a)},Ca=function(e){var t=e.prevTextDirection;t!==void 0&&(delete e.prevTextDirection,e.canvas.style.setProperty(\"direction\",t[0],t[1]))},Da={getRtlAdapter:Ma,overrideTextDirection:Sa,restoreTextDirection:Ca},h=G,Pa=ga,Aa=ba,Ta=ya,Fa=_a,Ia=Da;h.easing=Pa,h.canvas=Aa,h.options=Ta,h.math=Fa,h.rtl=Ia;function Oa(e,t,r,a){var n=Object.keys(r),i,o,l,s,u,d,f,c,v;for(i=0,o=n.length;i<o;++i)if(l=n[i],d=r[l],t.hasOwnProperty(l)||(t[l]=d),s=t[l],!(s===d||l[0]===\"_\")){if(e.hasOwnProperty(l)||(e[l]=s),u=e[l],f=typeof d,f===typeof u){if(f===\"string\"){if(c=Ye(u),c.valid&&(v=Ye(d),v.valid)){t[l]=v.mix(c,a).rgbString();continue}}else if(h.isFinite(u)&&h.isFinite(d)){t[l]=u+(d-u)*a;continue}}t[l]=d}}var ct=function(e){h.extend(this,e),this.initialize.apply(this,arguments)};h.extend(ct.prototype,{_type:void 0,initialize:function(){this.hidden=!1},pivot:function(){var e=this;return e._view||(e._view=h.extend({},e._model)),e._start={},e},transition:function(e){var t=this,r=t._model,a=t._start,n=t._view;return!r||e===1?(t._view=h.extend({},r),t._start=null,t):(n||(n=t._view={}),a||(a=t._start={}),Oa(a,n,r,e),t)},tooltipPosition:function(){return{x:this._model.x,y:this._model.y}},hasValue:function(){return h.isNumber(this._model.x)&&h.isNumber(this._model.y)}}),ct.extend=h.inherits;var ee=ct,vt=ee.extend({chart:null,currentStep:0,numSteps:60,easing:\"\",render:null,onAnimationProgress:null,onAnimationComplete:null}),gt=vt;Object.defineProperty(vt.prototype,\"animationObject\",{get:function(){return this}}),Object.defineProperty(vt.prototype,\"chartInstance\",{get:function(){return this.chart},set:function(e){this.chart=e}}),_._set(\"global\",{animation:{duration:1e3,easing:\"easeOutQuart\",onProgress:h.noop,onComplete:h.noop}});var pt={animations:[],request:null,addAnimation:function(e,t,r,a){var n=this.animations,i,o;for(t.chart=e,t.startTime=Date.now(),t.duration=r,a||(e.animating=!0),i=0,o=n.length;i<o;++i)if(n[i].chart===e){n[i]=t;return}n.push(t),n.length===1&&this.requestAnimationFrame()},cancelAnimation:function(e){var t=h.findIndex(this.animations,function(r){return r.chart===e});t!==-1&&(this.animations.splice(t,1),e.animating=!1)},requestAnimationFrame:function(){var e=this;e.request===null&&(e.request=h.requestAnimFrame.call(window,function(){e.request=null,e.startDigest()}))},startDigest:function(){var e=this;e.advance(),e.animations.length>0&&e.requestAnimationFrame()},advance:function(){for(var e=this.animations,t,r,a,n,i=0;i<e.length;)t=e[i],r=t.chart,a=t.numSteps,n=Math.floor((Date.now()-t.startTime)/t.duration*a)+1,t.currentStep=Math.min(n,a),h.callback(t.render,[r,t],r),h.callback(t.onAnimationProgress,[t],r),t.currentStep>=a?(h.callback(t.onAnimationComplete,[t],r),r.animating=!1,e.splice(i,1)):++i}},Me=h.options.resolve,ar=[\"push\",\"pop\",\"shift\",\"splice\",\"unshift\"];function La(e,t){if(e._chartjs){e._chartjs.listeners.push(t);return}Object.defineProperty(e,\"_chartjs\",{configurable:!0,enumerable:!1,value:{listeners:[t]}}),ar.forEach(function(r){var a=\"onData\"+r.charAt(0).toUpperCase()+r.slice(1),n=e[r];Object.defineProperty(e,r,{configurable:!0,enumerable:!1,value:function(){var i=Array.prototype.slice.call(arguments),o=n.apply(this,i);return h.each(e._chartjs.listeners,function(l){typeof l[a]==\"function\"&&l[a].apply(l,i)}),o}})})}function nr(e,t){var r=e._chartjs;if(!!r){var a=r.listeners,n=a.indexOf(t);n!==-1&&a.splice(n,1),!(a.length>0)&&(ar.forEach(function(i){delete e[i]}),delete e._chartjs)}}var mt=function(e,t){this.initialize(e,t)};h.extend(mt.prototype,{datasetElementType:null,dataElementType:null,_datasetElementOptions:[\"backgroundColor\",\"borderCapStyle\",\"borderColor\",\"borderDash\",\"borderDashOffset\",\"borderJoinStyle\",\"borderWidth\"],_dataElementOptions:[\"backgroundColor\",\"borderColor\",\"borderWidth\",\"pointStyle\"],initialize:function(e,t){var r=this;r.chart=e,r.index=t,r.linkScales(),r.addElements(),r._type=r.getMeta().type},updateIndex:function(e){this.index=e},linkScales:function(){var e=this,t=e.getMeta(),r=e.chart,a=r.scales,n=e.getDataset(),i=r.options.scales;(t.xAxisID===null||!(t.xAxisID in a)||n.xAxisID)&&(t.xAxisID=n.xAxisID||i.xAxes[0].id),(t.yAxisID===null||!(t.yAxisID in a)||n.yAxisID)&&(t.yAxisID=n.yAxisID||i.yAxes[0].id)},getDataset:function(){return this.chart.data.datasets[this.index]},getMeta:function(){return this.chart.getDatasetMeta(this.index)},getScaleForId:function(e){return this.chart.scales[e]},_getValueScaleId:function(){return this.getMeta().yAxisID},_getIndexScaleId:function(){return this.getMeta().xAxisID},_getValueScale:function(){return this.getScaleForId(this._getValueScaleId())},_getIndexScale:function(){return this.getScaleForId(this._getIndexScaleId())},reset:function(){this._update(!0)},destroy:function(){this._data&&nr(this._data,this)},createMetaDataset:function(){var e=this,t=e.datasetElementType;return t&&new t({_chart:e.chart,_datasetIndex:e.index})},createMetaData:function(e){var t=this,r=t.dataElementType;return r&&new r({_chart:t.chart,_datasetIndex:t.index,_index:e})},addElements:function(){var e=this,t=e.getMeta(),r=e.getDataset().data||[],a=t.data,n,i;for(n=0,i=r.length;n<i;++n)a[n]=a[n]||e.createMetaData(n);t.dataset=t.dataset||e.createMetaDataset()},addElementAndReset:function(e){var t=this.createMetaData(e);this.getMeta().data.splice(e,0,t),this.updateElement(t,e,!0)},buildOrUpdateElements:function(){var e=this,t=e.getDataset(),r=t.data||(t.data=[]);e._data!==r&&(e._data&&nr(e._data,e),r&&Object.isExtensible(r)&&La(r,e),e._data=r),e.resyncElements()},_configure:function(){var e=this;e._config=h.merge(Object.create(null),[e.chart.options.datasets[e._type],e.getDataset()],{merger:function(t,r,a){t!==\"_meta\"&&t!==\"data\"&&h._merger(t,r,a)}})},_update:function(e){var t=this;t._configure(),t._cachedDataOpts=null,t.update(e)},update:h.noop,transition:function(e){for(var t=this.getMeta(),r=t.data||[],a=r.length,n=0;n<a;++n)r[n].transition(e);t.dataset&&t.dataset.transition(e)},draw:function(){var e=this.getMeta(),t=e.data||[],r=t.length,a=0;for(e.dataset&&e.dataset.draw();a<r;++a)t[a].draw()},getStyle:function(e){var t=this,r=t.getMeta(),a=r.dataset,n;return t._configure(),a&&e===void 0?n=t._resolveDatasetElementOptions(a||{}):(e=e||0,n=t._resolveDataElementOptions(r.data[e]||{},e)),(n.fill===!1||n.fill===null)&&(n.backgroundColor=n.borderColor),n},_resolveDatasetElementOptions:function(e,t){var r=this,a=r.chart,n=r._config,i=e.custom||{},o=a.options.elements[r.datasetElementType.prototype._type]||{},l=r._datasetElementOptions,s={},u,d,f,c,v={chart:a,dataset:r.getDataset(),datasetIndex:r.index,hover:t};for(u=0,d=l.length;u<d;++u)f=l[u],c=t?\"hover\"+f.charAt(0).toUpperCase()+f.slice(1):f,s[f]=Me([i[c],n[c],o[c]],v);return s},_resolveDataElementOptions:function(e,t){var r=this,a=e&&e.custom,n=r._cachedDataOpts;if(n&&!a)return n;var i=r.chart,o=r._config,l=i.options.elements[r.dataElementType.prototype._type]||{},s=r._dataElementOptions,u={},d={chart:i,dataIndex:t,dataset:r.getDataset(),datasetIndex:r.index},f={cacheable:!a},c,v,g,p;if(a=a||{},h.isArray(s))for(v=0,g=s.length;v<g;++v)p=s[v],u[p]=Me([a[p],o[p],l[p]],d,t,f);else for(c=Object.keys(s),v=0,g=c.length;v<g;++v)p=c[v],u[p]=Me([a[p],o[s[p]],o[p],l[p]],d,t,f);return f.cacheable&&(r._cachedDataOpts=Object.freeze(u)),u},removeHoverStyle:function(e){h.merge(e._model,e.$previousStyle||{}),delete e.$previousStyle},setHoverStyle:function(e){var t=this.chart.data.datasets[e._datasetIndex],r=e._index,a=e.custom||{},n=e._model,i=h.getHoverColor;e.$previousStyle={backgroundColor:n.backgroundColor,borderColor:n.borderColor,borderWidth:n.borderWidth},n.backgroundColor=Me([a.hoverBackgroundColor,t.hoverBackgroundColor,i(n.backgroundColor)],void 0,r),n.borderColor=Me([a.hoverBorderColor,t.hoverBorderColor,i(n.borderColor)],void 0,r),n.borderWidth=Me([a.hoverBorderWidth,t.hoverBorderWidth,n.borderWidth],void 0,r)},_removeDatasetHoverStyle:function(){var e=this.getMeta().dataset;e&&this.removeHoverStyle(e)},_setDatasetHoverStyle:function(){var e=this.getMeta().dataset,t={},r,a,n,i,o,l;if(!!e){for(l=e._model,o=this._resolveDatasetElementOptions(e,!0),i=Object.keys(o),r=0,a=i.length;r<a;++r)n=i[r],t[n]=l[n],l[n]=o[n];e.$previousStyle=t}},resyncElements:function(){var e=this,t=e.getMeta(),r=e.getDataset().data,a=t.data.length,n=r.length;n<a?t.data.splice(n,a-n):n>a&&e.insertElements(a,n-a)},insertElements:function(e,t){for(var r=0;r<t;++r)this.addElementAndReset(e+r)},onDataPush:function(){var e=arguments.length;this.insertElements(this.getDataset().data.length-e,e)},onDataPop:function(){this.getMeta().data.pop()},onDataShift:function(){this.getMeta().data.shift()},onDataSplice:function(e,t){this.getMeta().data.splice(e,t),this.insertElements(e,arguments.length-2)},onDataUnshift:function(){this.insertElements(0,arguments.length)}}),mt.extend=h.inherits;var K=mt,te=Math.PI*2;_._set(\"global\",{elements:{arc:{backgroundColor:_.global.defaultColor,borderColor:\"#fff\",borderWidth:2,borderAlign:\"center\"}}});function ir(e,t){var r=t.startAngle,a=t.endAngle,n=t.pixelMargin,i=n/t.outerRadius,o=t.x,l=t.y;e.beginPath(),e.arc(o,l,t.outerRadius,r-i,a+i),t.innerRadius>n?(i=n/t.innerRadius,e.arc(o,l,t.innerRadius-n,a+i,r-i,!0)):e.arc(o,l,n,a+Math.PI/2,r-Math.PI/2),e.closePath(),e.clip()}function Ra(e,t,r,a){var n=r.endAngle,i;for(a&&(r.endAngle=r.startAngle+te,ir(e,r),r.endAngle=n,r.endAngle===r.startAngle&&r.fullCircles&&(r.endAngle+=te,r.fullCircles--)),e.beginPath(),e.arc(r.x,r.y,r.innerRadius,r.startAngle+te,r.startAngle,!0),i=0;i<r.fullCircles;++i)e.stroke();for(e.beginPath(),e.arc(r.x,r.y,t.outerRadius,r.startAngle,r.startAngle+te),i=0;i<r.fullCircles;++i)e.stroke()}function Ba(e,t,r){var a=t.borderAlign===\"inner\";a?(e.lineWidth=t.borderWidth*2,e.lineJoin=\"round\"):(e.lineWidth=t.borderWidth,e.lineJoin=\"bevel\"),r.fullCircles&&Ra(e,t,r,a),a&&ir(e,r),e.beginPath(),e.arc(r.x,r.y,t.outerRadius,r.startAngle,r.endAngle),e.arc(r.x,r.y,r.innerRadius,r.endAngle,r.startAngle,!0),e.closePath(),e.stroke()}var Na=ee.extend({_type:\"arc\",inLabelRange:function(e){var t=this._view;return t?Math.pow(e-t.x,2)<Math.pow(t.radius+t.hoverRadius,2):!1},inRange:function(e,t){var r=this._view;if(r){for(var a=h.getAngleFromPoint(r,{x:e,y:t}),n=a.angle,i=a.distance,o=r.startAngle,l=r.endAngle;l<o;)l+=te;for(;n>l;)n-=te;for(;n<o;)n+=te;var s=n>=o&&n<=l,u=i>=r.innerRadius&&i<=r.outerRadius;return s&&u}return!1},getCenterPoint:function(){var e=this._view,t=(e.startAngle+e.endAngle)/2,r=(e.innerRadius+e.outerRadius)/2;return{x:e.x+Math.cos(t)*r,y:e.y+Math.sin(t)*r}},getArea:function(){var e=this._view;return Math.PI*((e.endAngle-e.startAngle)/(2*Math.PI))*(Math.pow(e.outerRadius,2)-Math.pow(e.innerRadius,2))},tooltipPosition:function(){var e=this._view,t=e.startAngle+(e.endAngle-e.startAngle)/2,r=(e.outerRadius-e.innerRadius)/2+e.innerRadius;return{x:e.x+Math.cos(t)*r,y:e.y+Math.sin(t)*r}},draw:function(){var e=this._chart.ctx,t=this._view,r=t.borderAlign===\"inner\"?.33:0,a={x:t.x,y:t.y,innerRadius:t.innerRadius,outerRadius:Math.max(t.outerRadius-r,0),pixelMargin:r,startAngle:t.startAngle,endAngle:t.endAngle,fullCircles:Math.floor(t.circumference/te)},n;if(e.save(),e.fillStyle=t.backgroundColor,e.strokeStyle=t.borderColor,a.fullCircles){for(a.endAngle=a.startAngle+te,e.beginPath(),e.arc(a.x,a.y,a.outerRadius,a.startAngle,a.endAngle),e.arc(a.x,a.y,a.innerRadius,a.endAngle,a.startAngle,!0),e.closePath(),n=0;n<a.fullCircles;++n)e.fill();a.endAngle=a.startAngle+t.circumference%te}e.beginPath(),e.arc(a.x,a.y,a.outerRadius,a.startAngle,a.endAngle),e.arc(a.x,a.y,a.innerRadius,a.endAngle,a.startAngle,!0),e.closePath(),e.fill(),t.borderWidth&&Ba(e,t,a),e.restore()}}),or=h.valueOrDefault,sr=_.global.defaultColor;_._set(\"global\",{elements:{line:{tension:.4,backgroundColor:sr,borderWidth:3,borderColor:sr,borderCapStyle:\"butt\",borderDash:[],borderDashOffset:0,borderJoinStyle:\"miter\",capBezierPoints:!0,fill:!0}}});var za=ee.extend({_type:\"line\",draw:function(){var e=this,t=e._view,r=e._chart.ctx,a=t.spanGaps,n=e._children.slice(),i=_.global,o=i.elements.line,l=-1,s=e._loop,u,d,f;if(!!n.length){if(e._loop){for(u=0;u<n.length;++u)if(d=h.previousItem(n,u),!n[u]._view.skip&&d._view.skip){n=n.slice(u).concat(n.slice(0,u)),s=a;break}s&&n.push(n[0])}for(r.save(),r.lineCap=t.borderCapStyle||o.borderCapStyle,r.setLineDash&&r.setLineDash(t.borderDash||o.borderDash),r.lineDashOffset=or(t.borderDashOffset,o.borderDashOffset),r.lineJoin=t.borderJoinStyle||o.borderJoinStyle,r.lineWidth=or(t.borderWidth,o.borderWidth),r.strokeStyle=t.borderColor||i.defaultColor,r.beginPath(),f=n[0]._view,f.skip||(r.moveTo(f.x,f.y),l=0),u=1;u<n.length;++u)f=n[u]._view,d=l===-1?h.previousItem(n,u):n[l],f.skip||(l!==u-1&&!a||l===-1?r.moveTo(f.x,f.y):h.canvas.lineTo(r,d._view,f),l=u);s&&r.closePath(),r.stroke(),r.restore()}}}),Ea=h.valueOrDefault,lr=_.global.defaultColor;_._set(\"global\",{elements:{point:{radius:3,pointStyle:\"circle\",backgroundColor:lr,borderColor:lr,borderWidth:1,hitRadius:1,hoverRadius:4,hoverBorderWidth:1}}});function ur(e){var t=this._view;return t?Math.abs(e-t.x)<t.radius+t.hitRadius:!1}function Wa(e){var t=this._view;return t?Math.abs(e-t.y)<t.radius+t.hitRadius:!1}var Ha=ee.extend({_type:\"point\",inRange:function(e,t){var r=this._view;return r?Math.pow(e-r.x,2)+Math.pow(t-r.y,2)<Math.pow(r.hitRadius+r.radius,2):!1},inLabelRange:ur,inXRange:ur,inYRange:Wa,getCenterPoint:function(){var e=this._view;return{x:e.x,y:e.y}},getArea:function(){return Math.PI*Math.pow(this._view.radius,2)},tooltipPosition:function(){var e=this._view;return{x:e.x,y:e.y,padding:e.radius+e.borderWidth}},draw:function(e){var t=this._view,r=this._chart.ctx,a=t.pointStyle,n=t.rotation,i=t.radius,o=t.x,l=t.y,s=_.global,u=s.defaultColor;t.skip||(e===void 0||h.canvas._isPointInArea(t,e))&&(r.strokeStyle=t.borderColor||u,r.lineWidth=Ea(t.borderWidth,s.elements.point.borderWidth),r.fillStyle=t.backgroundColor||u,h.canvas.drawPoint(r,a,i,o,l,n))}}),dr=_.global.defaultColor;_._set(\"global\",{elements:{rectangle:{backgroundColor:dr,borderColor:dr,borderSkipped:\"bottom\",borderWidth:0}}});function Ke(e){return e&&e.width!==void 0}function fr(e){var t,r,a,n,i;return Ke(e)?(i=e.width/2,t=e.x-i,r=e.x+i,a=Math.min(e.y,e.base),n=Math.max(e.y,e.base)):(i=e.height/2,t=Math.min(e.x,e.base),r=Math.max(e.x,e.base),a=e.y-i,n=e.y+i),{left:t,top:a,right:r,bottom:n}}function hr(e,t,r){return e===t?r:e===r?t:e}function Va(e){var t=e.borderSkipped,r={};return t&&(e.horizontal?e.base>e.x&&(t=hr(t,\"left\",\"right\")):e.base<e.y&&(t=hr(t,\"bottom\",\"top\")),r[t]=!0),r}function ja(e,t,r){var a=e.borderWidth,n=Va(e),i,o,l,s;return h.isObject(a)?(i=+a.top||0,o=+a.right||0,l=+a.bottom||0,s=+a.left||0):i=o=l=s=+a||0,{t:n.top||i<0?0:i>r?r:i,r:n.right||o<0?0:o>t?t:o,b:n.bottom||l<0?0:l>r?r:l,l:n.left||s<0?0:s>t?t:s}}function qa(e){var t=fr(e),r=t.right-t.left,a=t.bottom-t.top,n=ja(e,r/2,a/2);return{outer:{x:t.left,y:t.top,w:r,h:a},inner:{x:t.left+n.l,y:t.top+n.t,w:r-n.l-n.r,h:a-n.t-n.b}}}function Re(e,t,r){var a=t===null,n=r===null,i=!e||a&&n?!1:fr(e);return i&&(a||t>=i.left&&t<=i.right)&&(n||r>=i.top&&r<=i.bottom)}var Ua=ee.extend({_type:\"rectangle\",draw:function(){var e=this._chart.ctx,t=this._view,r=qa(t),a=r.outer,n=r.inner;e.fillStyle=t.backgroundColor,e.fillRect(a.x,a.y,a.w,a.h),!(a.w===n.w&&a.h===n.h)&&(e.save(),e.beginPath(),e.rect(a.x,a.y,a.w,a.h),e.clip(),e.fillStyle=t.borderColor,e.rect(n.x,n.y,n.w,n.h),e.fill(\"evenodd\"),e.restore())},height:function(){var e=this._view;return e.base-e.y},inRange:function(e,t){return Re(this._view,e,t)},inLabelRange:function(e,t){var r=this._view;return Ke(r)?Re(r,e,null):Re(r,null,t)},inXRange:function(e){return Re(this._view,e,null)},inYRange:function(e){return Re(this._view,null,e)},getCenterPoint:function(){var e=this._view,t,r;return Ke(e)?(t=e.x,r=(e.y+e.base)/2):(t=(e.x+e.base)/2,r=e.y),{x:t,y:r}},getArea:function(){var e=this._view;return Ke(e)?e.width*Math.abs(e.y-e.base):e.height*Math.abs(e.x-e.base)},tooltipPosition:function(){var e=this._view;return{x:e.x,y:e.y}}}),E={},$a=Na,Ya=za,Ga=Ha,Xa=Ua;E.Arc=$a,E.Line=Ya,E.Point=Ga,E.Rectangle=Xa;var Be=h._deprecated,Se=h.valueOrDefault;_._set(\"bar\",{hover:{mode:\"label\"},scales:{xAxes:[{type:\"category\",offset:!0,gridLines:{offsetGridLines:!0}}],yAxes:[{type:\"linear\"}]}}),_._set(\"global\",{datasets:{bar:{categoryPercentage:.8,barPercentage:.9}}});function Ka(e,t){var r=e._length,a,n,i,o;for(i=1,o=t.length;i<o;++i)r=Math.min(r,Math.abs(t[i]-t[i-1]));for(i=0,o=e.getTicks().length;i<o;++i)n=e.getPixelForTick(i),r=i>0?Math.min(r,Math.abs(n-a)):r,a=n;return r}function Za(e,t,r){var a=r.barThickness,n=t.stackCount,i=t.pixels[e],o=h.isNullOrUndef(a)?Ka(t.scale,t.pixels):-1,l,s;return h.isNullOrUndef(a)?(l=o*r.categoryPercentage,s=r.barPercentage):(l=a*n,s=1),{chunk:l/n,ratio:s,start:i-l/2}}function Ja(e,t,r){var a=t.pixels,n=a[e],i=e>0?a[e-1]:null,o=e<a.length-1?a[e+1]:null,l=r.categoryPercentage,s,u;return i===null&&(i=n-(o===null?t.end-t.start:o-n)),o===null&&(o=n+n-i),s=n-(n-Math.min(i,o))/2*l,u=Math.abs(o-i)/2*l,{chunk:u/t.stackCount,ratio:r.barPercentage,start:s}}var cr=K.extend({dataElementType:E.Rectangle,_dataElementOptions:[\"backgroundColor\",\"borderColor\",\"borderSkipped\",\"borderWidth\",\"barPercentage\",\"barThickness\",\"categoryPercentage\",\"maxBarThickness\",\"minBarLength\"],initialize:function(){var e=this,t,r;K.prototype.initialize.apply(e,arguments),t=e.getMeta(),t.stack=e.getDataset().stack,t.bar=!0,r=e._getIndexScale().options,Be(\"bar chart\",r.barPercentage,\"scales.[x/y]Axes.barPercentage\",\"dataset.barPercentage\"),Be(\"bar chart\",r.barThickness,\"scales.[x/y]Axes.barThickness\",\"dataset.barThickness\"),Be(\"bar chart\",r.categoryPercentage,\"scales.[x/y]Axes.categoryPercentage\",\"dataset.categoryPercentage\"),Be(\"bar chart\",e._getValueScale().options.minBarLength,\"scales.[x/y]Axes.minBarLength\",\"dataset.minBarLength\"),Be(\"bar chart\",r.maxBarThickness,\"scales.[x/y]Axes.maxBarThickness\",\"dataset.maxBarThickness\")},update:function(e){var t=this,r=t.getMeta().data,a,n;for(t._ruler=t.getRuler(),a=0,n=r.length;a<n;++a)t.updateElement(r[a],a,e)},updateElement:function(e,t,r){var a=this,n=a.getMeta(),i=a.getDataset(),o=a._resolveDataElementOptions(e,t);e._xScale=a.getScaleForId(n.xAxisID),e._yScale=a.getScaleForId(n.yAxisID),e._datasetIndex=a.index,e._index=t,e._model={backgroundColor:o.backgroundColor,borderColor:o.borderColor,borderSkipped:o.borderSkipped,borderWidth:o.borderWidth,datasetLabel:i.label,label:a.chart.data.labels[t]},h.isArray(i.data[t])&&(e._model.borderSkipped=null),a._updateElementGeometry(e,t,r,o),e.pivot()},_updateElementGeometry:function(e,t,r,a){var n=this,i=e._model,o=n._getValueScale(),l=o.getBasePixel(),s=o.isHorizontal(),u=n._ruler||n.getRuler(),d=n.calculateBarValuePixels(n.index,t,a),f=n.calculateBarIndexPixels(n.index,t,u,a);i.horizontal=s,i.base=r?l:d.base,i.x=s?r?l:d.head:f.center,i.y=s?f.center:r?l:d.head,i.height=s?f.size:void 0,i.width=s?void 0:f.size},_getStacks:function(e){var t=this,r=t._getIndexScale(),a=r._getMatchingVisibleMetas(t._type),n=r.options.stacked,i=a.length,o=[],l,s;for(l=0;l<i&&(s=a[l],(n===!1||o.indexOf(s.stack)===-1||n===void 0&&s.stack===void 0)&&o.push(s.stack),s.index!==e);++l);return o},getStackCount:function(){return this._getStacks().length},getStackIndex:function(e,t){var r=this._getStacks(e),a=t!==void 0?r.indexOf(t):-1;return a===-1?r.length-1:a},getRuler:function(){var e=this,t=e._getIndexScale(),r=[],a,n;for(a=0,n=e.getMeta().data.length;a<n;++a)r.push(t.getPixelForValue(null,a,e.index));return{pixels:r,start:t._startPixel,end:t._endPixel,stackCount:e.getStackCount(),scale:t}},calculateBarValuePixels:function(e,t,r){var a=this,n=a.chart,i=a._getValueScale(),o=i.isHorizontal(),l=n.data.datasets,s=i._getMatchingVisibleMetas(a._type),u=i._parseValue(l[e].data[t]),d=r.minBarLength,f=i.options.stacked,c=a.getMeta().stack,v=u.start===void 0?0:u.max>=0&&u.min>=0?u.min:u.max,g=u.start===void 0?u.end:u.max>=0&&u.min>=0?u.max-u.min:u.min-u.max,p=s.length,m,b,x,y,w,k,D;if(f||f===void 0&&c!==void 0)for(m=0;m<p&&(b=s[m],b.index!==e);++m)b.stack===c&&(D=i._parseValue(l[b.index].data[t]),x=D.start===void 0?D.end:D.min>=0&&D.max>=0?D.max:D.min,(u.min<0&&x<0||u.max>=0&&x>0)&&(v+=x));return y=i.getPixelForValue(v),w=i.getPixelForValue(v+g),k=w-y,d!==void 0&&Math.abs(k)<d&&(k=d,g>=0&&!o||g<0&&o?w=y-d:w=y+d),{size:k,base:y,head:w,center:w+k/2}},calculateBarIndexPixels:function(e,t,r,a){var n=this,i=a.barThickness===\"flex\"?Ja(t,r,a):Za(t,r,a),o=n.getStackIndex(e,n.getMeta().stack),l=i.start+i.chunk*o+i.chunk/2,s=Math.min(Se(a.maxBarThickness,1/0),i.chunk*i.ratio);return{base:l-s/2,head:l+s/2,center:l,size:s}},draw:function(){var e=this,t=e.chart,r=e._getValueScale(),a=e.getMeta().data,n=e.getDataset(),i=a.length,o=0;for(h.canvas.clipArea(t.ctx,t.chartArea);o<i;++o){var l=r._parseValue(n.data[o]);!isNaN(l.min)&&!isNaN(l.max)&&a[o].draw()}h.canvas.unclipArea(t.ctx)},_resolveDataElementOptions:function(){var e=this,t=h.extend({},K.prototype._resolveDataElementOptions.apply(e,arguments)),r=e._getIndexScale().options,a=e._getValueScale().options;return t.barPercentage=Se(r.barPercentage,t.barPercentage),t.barThickness=Se(r.barThickness,t.barThickness),t.categoryPercentage=Se(r.categoryPercentage,t.categoryPercentage),t.maxBarThickness=Se(r.maxBarThickness,t.maxBarThickness),t.minBarLength=Se(a.minBarLength,t.minBarLength),t}}),bt=h.valueOrDefault,Qa=h.options.resolve;_._set(\"bubble\",{hover:{mode:\"single\"},scales:{xAxes:[{type:\"linear\",position:\"bottom\",id:\"x-axis-0\"}],yAxes:[{type:\"linear\",position:\"left\",id:\"y-axis-0\"}]},tooltips:{callbacks:{title:function(){return\"\"},label:function(e,t){var r=t.datasets[e.datasetIndex].label||\"\",a=t.datasets[e.datasetIndex].data[e.index];return r+\": (\"+e.xLabel+\", \"+e.yLabel+\", \"+a.r+\")\"}}}});var en=K.extend({dataElementType:E.Point,_dataElementOptions:[\"backgroundColor\",\"borderColor\",\"borderWidth\",\"hoverBackgroundColor\",\"hoverBorderColor\",\"hoverBorderWidth\",\"hoverRadius\",\"hitRadius\",\"pointStyle\",\"rotation\"],update:function(e){var t=this,r=t.getMeta(),a=r.data;h.each(a,function(n,i){t.updateElement(n,i,e)})},updateElement:function(e,t,r){var a=this,n=a.getMeta(),i=e.custom||{},o=a.getScaleForId(n.xAxisID),l=a.getScaleForId(n.yAxisID),s=a._resolveDataElementOptions(e,t),u=a.getDataset().data[t],d=a.index,f=r?o.getPixelForDecimal(.5):o.getPixelForValue(typeof u==\"object\"?u:NaN,t,d),c=r?l.getBasePixel():l.getPixelForValue(u,t,d);e._xScale=o,e._yScale=l,e._options=s,e._datasetIndex=d,e._index=t,e._model={backgroundColor:s.backgroundColor,borderColor:s.borderColor,borderWidth:s.borderWidth,hitRadius:s.hitRadius,pointStyle:s.pointStyle,rotation:s.rotation,radius:r?0:s.radius,skip:i.skip||isNaN(f)||isNaN(c),x:f,y:c},e.pivot()},setHoverStyle:function(e){var t=e._model,r=e._options,a=h.getHoverColor;e.$previousStyle={backgroundColor:t.backgroundColor,borderColor:t.borderColor,borderWidth:t.borderWidth,radius:t.radius},t.backgroundColor=bt(r.hoverBackgroundColor,a(r.backgroundColor)),t.borderColor=bt(r.hoverBorderColor,a(r.borderColor)),t.borderWidth=bt(r.hoverBorderWidth,r.borderWidth),t.radius=r.radius+r.hoverRadius},_resolveDataElementOptions:function(e,t){var r=this,a=r.chart,n=r.getDataset(),i=e.custom||{},o=n.data[t]||{},l=K.prototype._resolveDataElementOptions.apply(r,arguments),s={chart:a,dataIndex:t,dataset:n,datasetIndex:r.index};return r._cachedDataOpts===l&&(l=h.extend({},l)),l.radius=Qa([i.radius,o.r,r._config.radius,a.options.elements.point.radius],s,t),l}}),Ze=h.valueOrDefault,ve=Math.PI,ne=ve*2,ge=ve/2;_._set(\"doughnut\",{animation:{animateRotate:!0,animateScale:!1},hover:{mode:\"single\"},legendCallback:function(e){var t=document.createElement(\"ul\"),r=e.data,a=r.datasets,n=r.labels,i,o,l,s;if(t.setAttribute(\"class\",e.id+\"-legend\"),a.length)for(i=0,o=a[0].data.length;i<o;++i)l=t.appendChild(document.createElement(\"li\")),s=l.appendChild(document.createElement(\"span\")),s.style.backgroundColor=a[0].backgroundColor[i],n[i]&&l.appendChild(document.createTextNode(n[i]));return t.outerHTML},legend:{labels:{generateLabels:function(e){var t=e.data;return t.labels.length&&t.datasets.length?t.labels.map(function(r,a){var n=e.getDatasetMeta(0),i=n.controller.getStyle(a);return{text:r,fillStyle:i.backgroundColor,strokeStyle:i.borderColor,lineWidth:i.borderWidth,hidden:isNaN(t.datasets[0].data[a])||n.data[a].hidden,index:a}}):[]}},onClick:function(e,t){var r=t.index,a=this.chart,n,i,o;for(n=0,i=(a.data.datasets||[]).length;n<i;++n)o=a.getDatasetMeta(n),o.data[r]&&(o.data[r].hidden=!o.data[r].hidden);a.update()}},cutoutPercentage:50,rotation:-ge,circumference:ne,tooltips:{callbacks:{title:function(){return\"\"},label:function(e,t){var r=t.labels[e.index],a=\": \"+t.datasets[e.datasetIndex].data[e.index];return h.isArray(r)?(r=r.slice(),r[0]+=a):r+=a,r}}}});var vr=K.extend({dataElementType:E.Arc,linkScales:h.noop,_dataElementOptions:[\"backgroundColor\",\"borderColor\",\"borderWidth\",\"borderAlign\",\"hoverBackgroundColor\",\"hoverBorderColor\",\"hoverBorderWidth\"],getRingIndex:function(e){for(var t=0,r=0;r<e;++r)this.chart.isDatasetVisible(r)&&++t;return t},update:function(e){var t=this,r=t.chart,a=r.chartArea,n=r.options,i=1,o=1,l=0,s=0,u=t.getMeta(),d=u.data,f=n.cutoutPercentage/100||0,c=n.circumference,v=t._getRingWeight(t.index),g,p,m,b;if(c<ne){var x=n.rotation%ne;x+=x>=ve?-ne:x<-ve?ne:0;var y=x+c,w=Math.cos(x),k=Math.sin(x),D=Math.cos(y),C=Math.sin(y),P=x<=0&&y>=0||y>=ne,T=x<=ge&&y>=ge||y>=ne+ge,R=x===-ve||y>=ve,L=x<=-ge&&y>=-ge||y>=ve+ge,I=R?-1:Math.min(w,w*f,D,D*f),B=L?-1:Math.min(k,k*f,C,C*f),Te=P?1:Math.max(w,w*f,D,D*f),Fe=T?1:Math.max(k,k*f,C,C*f);i=(Te-I)/2,o=(Fe-B)/2,l=-(Te+I)/2,s=-(Fe+B)/2}for(m=0,b=d.length;m<b;++m)d[m]._options=t._resolveDataElementOptions(d[m],m);for(r.borderWidth=t.getMaxBorderWidth(),g=(a.right-a.left-r.borderWidth)/i,p=(a.bottom-a.top-r.borderWidth)/o,r.outerRadius=Math.max(Math.min(g,p)/2,0),r.innerRadius=Math.max(r.outerRadius*f,0),r.radiusLength=(r.outerRadius-r.innerRadius)/(t._getVisibleDatasetWeightTotal()||1),r.offsetX=l*r.outerRadius,r.offsetY=s*r.outerRadius,u.total=t.calculateTotal(),t.outerRadius=r.outerRadius-r.radiusLength*t._getRingWeightOffset(t.index),t.innerRadius=Math.max(t.outerRadius-r.radiusLength*v,0),m=0,b=d.length;m<b;++m)t.updateElement(d[m],m,e)},updateElement:function(e,t,r){var a=this,n=a.chart,i=n.chartArea,o=n.options,l=o.animation,s=(i.left+i.right)/2,u=(i.top+i.bottom)/2,d=o.rotation,f=o.rotation,c=a.getDataset(),v=r&&l.animateRotate||e.hidden?0:a.calculateCircumference(c.data[t])*(o.circumference/ne),g=r&&l.animateScale?0:a.innerRadius,p=r&&l.animateScale?0:a.outerRadius,m=e._options||{};h.extend(e,{_datasetIndex:a.index,_index:t,_model:{backgroundColor:m.backgroundColor,borderColor:m.borderColor,borderWidth:m.borderWidth,borderAlign:m.borderAlign,x:s+n.offsetX,y:u+n.offsetY,startAngle:d,endAngle:f,circumference:v,outerRadius:p,innerRadius:g,label:h.valueAtIndexOrDefault(c.label,t,n.data.labels[t])}});var b=e._model;(!r||!l.animateRotate)&&(t===0?b.startAngle=o.rotation:b.startAngle=a.getMeta().data[t-1]._model.endAngle,b.endAngle=b.startAngle+b.circumference),e.pivot()},calculateTotal:function(){var e=this.getDataset(),t=this.getMeta(),r=0,a;return h.each(t.data,function(n,i){a=e.data[i],!isNaN(a)&&!n.hidden&&(r+=Math.abs(a))}),r},calculateCircumference:function(e){var t=this.getMeta().total;return t>0&&!isNaN(e)?ne*(Math.abs(e)/t):0},getMaxBorderWidth:function(e){var t=this,r=0,a=t.chart,n,i,o,l,s,u,d,f;if(!e){for(n=0,i=a.data.datasets.length;n<i;++n)if(a.isDatasetVisible(n)){o=a.getDatasetMeta(n),e=o.data,n!==t.index&&(s=o.controller);break}}if(!e)return 0;for(n=0,i=e.length;n<i;++n)l=e[n],s?(s._configure(),u=s._resolveDataElementOptions(l,n)):u=l._options,u.borderAlign!==\"inner\"&&(d=u.borderWidth,f=u.hoverBorderWidth,r=d>r?d:r,r=f>r?f:r);return r},setHoverStyle:function(e){var t=e._model,r=e._options,a=h.getHoverColor;e.$previousStyle={backgroundColor:t.backgroundColor,borderColor:t.borderColor,borderWidth:t.borderWidth},t.backgroundColor=Ze(r.hoverBackgroundColor,a(r.backgroundColor)),t.borderColor=Ze(r.hoverBorderColor,a(r.borderColor)),t.borderWidth=Ze(r.hoverBorderWidth,r.borderWidth)},_getRingWeightOffset:function(e){for(var t=0,r=0;r<e;++r)this.chart.isDatasetVisible(r)&&(t+=this._getRingWeight(r));return t},_getRingWeight:function(e){return Math.max(Ze(this.chart.data.datasets[e].weight,1),0)},_getVisibleDatasetWeightTotal:function(){return this._getRingWeightOffset(this.chart.data.datasets.length)}});_._set(\"horizontalBar\",{hover:{mode:\"index\",axis:\"y\"},scales:{xAxes:[{type:\"linear\",position:\"bottom\"}],yAxes:[{type:\"category\",position:\"left\",offset:!0,gridLines:{offsetGridLines:!0}}]},elements:{rectangle:{borderSkipped:\"left\"}},tooltips:{mode:\"index\",axis:\"y\"}}),_._set(\"global\",{datasets:{horizontalBar:{categoryPercentage:.8,barPercentage:.9}}});var tn=cr.extend({_getValueScaleId:function(){return this.getMeta().xAxisID},_getIndexScaleId:function(){return this.getMeta().yAxisID}}),ie=h.valueOrDefault,rn=h.options.resolve,xt=h.canvas._isPointInArea;_._set(\"line\",{showLines:!0,spanGaps:!1,hover:{mode:\"label\"},scales:{xAxes:[{type:\"category\",id:\"x-axis-0\"}],yAxes:[{type:\"linear\",id:\"y-axis-0\"}]}});function gr(e,t){var r=e&&e.options.ticks||{},a=r.reverse,n=r.min===void 0?t:0,i=r.max===void 0?t:0;return{start:a?i:n,end:a?n:i}}function an(e,t,r){var a=r/2,n=gr(e,a),i=gr(t,a);return{top:i.end,right:n.end,bottom:i.start,left:n.start}}function nn(e){var t,r,a,n;return h.isObject(e)?(t=e.top,r=e.right,a=e.bottom,n=e.left):t=r=a=n=e,{top:t,right:r,bottom:a,left:n}}var pr=K.extend({datasetElementType:E.Line,dataElementType:E.Point,_datasetElementOptions:[\"backgroundColor\",\"borderCapStyle\",\"borderColor\",\"borderDash\",\"borderDashOffset\",\"borderJoinStyle\",\"borderWidth\",\"cubicInterpolationMode\",\"fill\"],_dataElementOptions:{backgroundColor:\"pointBackgroundColor\",borderColor:\"pointBorderColor\",borderWidth:\"pointBorderWidth\",hitRadius:\"pointHitRadius\",hoverBackgroundColor:\"pointHoverBackgroundColor\",hoverBorderColor:\"pointHoverBorderColor\",hoverBorderWidth:\"pointHoverBorderWidth\",hoverRadius:\"pointHoverRadius\",pointStyle:\"pointStyle\",radius:\"pointRadius\",rotation:\"pointRotation\"},update:function(e){var t=this,r=t.getMeta(),a=r.dataset,n=r.data||[],i=t.chart.options,o=t._config,l=t._showLine=ie(o.showLine,i.showLines),s,u;for(t._xScale=t.getScaleForId(r.xAxisID),t._yScale=t.getScaleForId(r.yAxisID),l&&(o.tension!==void 0&&o.lineTension===void 0&&(o.lineTension=o.tension),a._scale=t._yScale,a._datasetIndex=t.index,a._children=n,a._model=t._resolveDatasetElementOptions(a),a.pivot()),s=0,u=n.length;s<u;++s)t.updateElement(n[s],s,e);for(l&&a._model.tension!==0&&t.updateBezierControlPoints(),s=0,u=n.length;s<u;++s)n[s].pivot()},updateElement:function(e,t,r){var a=this,n=a.getMeta(),i=e.custom||{},o=a.getDataset(),l=a.index,s=o.data[t],u=a._xScale,d=a._yScale,f=n.dataset._model,c,v,g=a._resolveDataElementOptions(e,t);c=u.getPixelForValue(typeof s==\"object\"?s:NaN,t,l),v=r?d.getBasePixel():a.calculatePointY(s,t,l),e._xScale=u,e._yScale=d,e._options=g,e._datasetIndex=l,e._index=t,e._model={x:c,y:v,skip:i.skip||isNaN(c)||isNaN(v),radius:g.radius,pointStyle:g.pointStyle,rotation:g.rotation,backgroundColor:g.backgroundColor,borderColor:g.borderColor,borderWidth:g.borderWidth,tension:ie(i.tension,f?f.tension:0),steppedLine:f?f.steppedLine:!1,hitRadius:g.hitRadius}},_resolveDatasetElementOptions:function(e){var t=this,r=t._config,a=e.custom||{},n=t.chart.options,i=n.elements.line,o=K.prototype._resolveDatasetElementOptions.apply(t,arguments);return o.spanGaps=ie(r.spanGaps,n.spanGaps),o.tension=ie(r.lineTension,i.tension),o.steppedLine=rn([a.steppedLine,r.steppedLine,i.stepped]),o.clip=nn(ie(r.clip,an(t._xScale,t._yScale,o.borderWidth))),o},calculatePointY:function(e,t,r){var a=this,n=a.chart,i=a._yScale,o=0,l=0,s,u,d,f,c,v,g;if(i.options.stacked){for(c=+i.getRightValue(e),v=n._getSortedVisibleDatasetMetas(),g=v.length,s=0;s<g&&(d=v[s],d.index!==r);++s)u=n.data.datasets[d.index],d.type===\"line\"&&d.yAxisID===i.id&&(f=+i.getRightValue(u.data[t]),f<0?l+=f||0:o+=f||0);return c<0?i.getPixelForValue(l+c):i.getPixelForValue(o+c)}return i.getPixelForValue(e)},updateBezierControlPoints:function(){var e=this,t=e.chart,r=e.getMeta(),a=r.dataset._model,n=t.chartArea,i=r.data||[],o,l,s,u;a.spanGaps&&(i=i.filter(function(f){return!f._model.skip}));function d(f,c,v){return Math.max(Math.min(f,v),c)}if(a.cubicInterpolationMode===\"monotone\")h.splineCurveMonotone(i);else for(o=0,l=i.length;o<l;++o)s=i[o]._model,u=h.splineCurve(h.previousItem(i,o)._model,s,h.nextItem(i,o)._model,a.tension),s.controlPointPreviousX=u.previous.x,s.controlPointPreviousY=u.previous.y,s.controlPointNextX=u.next.x,s.controlPointNextY=u.next.y;if(t.options.elements.line.capBezierPoints)for(o=0,l=i.length;o<l;++o)s=i[o]._model,xt(s,n)&&(o>0&&xt(i[o-1]._model,n)&&(s.controlPointPreviousX=d(s.controlPointPreviousX,n.left,n.right),s.controlPointPreviousY=d(s.controlPointPreviousY,n.top,n.bottom)),o<i.length-1&&xt(i[o+1]._model,n)&&(s.controlPointNextX=d(s.controlPointNextX,n.left,n.right),s.controlPointNextY=d(s.controlPointNextY,n.top,n.bottom)))},draw:function(){var e=this,t=e.chart,r=e.getMeta(),a=r.data||[],n=t.chartArea,i=t.canvas,o=0,l=a.length,s;for(e._showLine&&(s=r.dataset._model.clip,h.canvas.clipArea(t.ctx,{left:s.left===!1?0:n.left-s.left,right:s.right===!1?i.width:n.right+s.right,top:s.top===!1?0:n.top-s.top,bottom:s.bottom===!1?i.height:n.bottom+s.bottom}),r.dataset.draw(),h.canvas.unclipArea(t.ctx));o<l;++o)a[o].draw(n)},setHoverStyle:function(e){var t=e._model,r=e._options,a=h.getHoverColor;e.$previousStyle={backgroundColor:t.backgroundColor,borderColor:t.borderColor,borderWidth:t.borderWidth,radius:t.radius},t.backgroundColor=ie(r.hoverBackgroundColor,a(r.backgroundColor)),t.borderColor=ie(r.hoverBorderColor,a(r.borderColor)),t.borderWidth=ie(r.hoverBorderWidth,r.borderWidth),t.radius=ie(r.hoverRadius,r.radius)}}),on=h.options.resolve;_._set(\"polarArea\",{scale:{type:\"radialLinear\",angleLines:{display:!1},gridLines:{circular:!0},pointLabels:{display:!1},ticks:{beginAtZero:!0}},animation:{animateRotate:!0,animateScale:!0},startAngle:-.5*Math.PI,legendCallback:function(e){var t=document.createElement(\"ul\"),r=e.data,a=r.datasets,n=r.labels,i,o,l,s;if(t.setAttribute(\"class\",e.id+\"-legend\"),a.length)for(i=0,o=a[0].data.length;i<o;++i)l=t.appendChild(document.createElement(\"li\")),s=l.appendChild(document.createElement(\"span\")),s.style.backgroundColor=a[0].backgroundColor[i],n[i]&&l.appendChild(document.createTextNode(n[i]));return t.outerHTML},legend:{labels:{generateLabels:function(e){var t=e.data;return t.labels.length&&t.datasets.length?t.labels.map(function(r,a){var n=e.getDatasetMeta(0),i=n.controller.getStyle(a);return{text:r,fillStyle:i.backgroundColor,strokeStyle:i.borderColor,lineWidth:i.borderWidth,hidden:isNaN(t.datasets[0].data[a])||n.data[a].hidden,index:a}}):[]}},onClick:function(e,t){var r=t.index,a=this.chart,n,i,o;for(n=0,i=(a.data.datasets||[]).length;n<i;++n)o=a.getDatasetMeta(n),o.data[r].hidden=!o.data[r].hidden;a.update()}},tooltips:{callbacks:{title:function(){return\"\"},label:function(e,t){return t.labels[e.index]+\": \"+e.yLabel}}}});var sn=K.extend({dataElementType:E.Arc,linkScales:h.noop,_dataElementOptions:[\"backgroundColor\",\"borderColor\",\"borderWidth\",\"borderAlign\",\"hoverBackgroundColor\",\"hoverBorderColor\",\"hoverBorderWidth\"],_getIndexScaleId:function(){return this.chart.scale.id},_getValueScaleId:function(){return this.chart.scale.id},update:function(e){var t=this,r=t.getDataset(),a=t.getMeta(),n=t.chart.options.startAngle||0,i=t._starts=[],o=t._angles=[],l=a.data,s,u,d;for(t._updateRadius(),a.count=t.countVisibleElements(),s=0,u=r.data.length;s<u;s++)i[s]=n,d=t._computeAngle(s),o[s]=d,n+=d;for(s=0,u=l.length;s<u;++s)l[s]._options=t._resolveDataElementOptions(l[s],s),t.updateElement(l[s],s,e)},_updateRadius:function(){var e=this,t=e.chart,r=t.chartArea,a=t.options,n=Math.min(r.right-r.left,r.bottom-r.top);t.outerRadius=Math.max(n/2,0),t.innerRadius=Math.max(a.cutoutPercentage?t.outerRadius/100*a.cutoutPercentage:1,0),t.radiusLength=(t.outerRadius-t.innerRadius)/t.getVisibleDatasetCount(),e.outerRadius=t.outerRadius-t.radiusLength*e.index,e.innerRadius=e.outerRadius-t.radiusLength},updateElement:function(e,t,r){var a=this,n=a.chart,i=a.getDataset(),o=n.options,l=o.animation,s=n.scale,u=n.data.labels,d=s.xCenter,f=s.yCenter,c=o.startAngle,v=e.hidden?0:s.getDistanceFromCenterForValue(i.data[t]),g=a._starts[t],p=g+(e.hidden?0:a._angles[t]),m=l.animateScale?0:s.getDistanceFromCenterForValue(i.data[t]),b=e._options||{};h.extend(e,{_datasetIndex:a.index,_index:t,_scale:s,_model:{backgroundColor:b.backgroundColor,borderColor:b.borderColor,borderWidth:b.borderWidth,borderAlign:b.borderAlign,x:d,y:f,innerRadius:0,outerRadius:r?m:v,startAngle:r&&l.animateRotate?c:g,endAngle:r&&l.animateRotate?c:p,label:h.valueAtIndexOrDefault(u,t,u[t])}}),e.pivot()},countVisibleElements:function(){var e=this.getDataset(),t=this.getMeta(),r=0;return h.each(t.data,function(a,n){!isNaN(e.data[n])&&!a.hidden&&r++}),r},setHoverStyle:function(e){var t=e._model,r=e._options,a=h.getHoverColor,n=h.valueOrDefault;e.$previousStyle={backgroundColor:t.backgroundColor,borderColor:t.borderColor,borderWidth:t.borderWidth},t.backgroundColor=n(r.hoverBackgroundColor,a(r.backgroundColor)),t.borderColor=n(r.hoverBorderColor,a(r.borderColor)),t.borderWidth=n(r.hoverBorderWidth,r.borderWidth)},_computeAngle:function(e){var t=this,r=this.getMeta().count,a=t.getDataset(),n=t.getMeta();if(isNaN(a.data[e])||n.data[e].hidden)return 0;var i={chart:t.chart,dataIndex:e,dataset:a,datasetIndex:t.index};return on([t.chart.options.elements.arc.angle,2*Math.PI/r],i,e)}});_._set(\"pie\",h.clone(_.doughnut)),_._set(\"pie\",{cutoutPercentage:0});var ln=vr,pe=h.valueOrDefault;_._set(\"radar\",{spanGaps:!1,scale:{type:\"radialLinear\"},elements:{line:{fill:\"start\",tension:0}}});var un=K.extend({datasetElementType:E.Line,dataElementType:E.Point,linkScales:h.noop,_datasetElementOptions:[\"backgroundColor\",\"borderWidth\",\"borderColor\",\"borderCapStyle\",\"borderDash\",\"borderDashOffset\",\"borderJoinStyle\",\"fill\"],_dataElementOptions:{backgroundColor:\"pointBackgroundColor\",borderColor:\"pointBorderColor\",borderWidth:\"pointBorderWidth\",hitRadius:\"pointHitRadius\",hoverBackgroundColor:\"pointHoverBackgroundColor\",hoverBorderColor:\"pointHoverBorderColor\",hoverBorderWidth:\"pointHoverBorderWidth\",hoverRadius:\"pointHoverRadius\",pointStyle:\"pointStyle\",radius:\"pointRadius\",rotation:\"pointRotation\"},_getIndexScaleId:function(){return this.chart.scale.id},_getValueScaleId:function(){return this.chart.scale.id},update:function(e){var t=this,r=t.getMeta(),a=r.dataset,n=r.data||[],i=t.chart.scale,o=t._config,l,s;for(o.tension!==void 0&&o.lineTension===void 0&&(o.lineTension=o.tension),a._scale=i,a._datasetIndex=t.index,a._children=n,a._loop=!0,a._model=t._resolveDatasetElementOptions(a),a.pivot(),l=0,s=n.length;l<s;++l)t.updateElement(n[l],l,e);for(t.updateBezierControlPoints(),l=0,s=n.length;l<s;++l)n[l].pivot()},updateElement:function(e,t,r){var a=this,n=e.custom||{},i=a.getDataset(),o=a.chart.scale,l=o.getPointPositionForValue(t,i.data[t]),s=a._resolveDataElementOptions(e,t),u=a.getMeta().dataset._model,d=r?o.xCenter:l.x,f=r?o.yCenter:l.y;e._scale=o,e._options=s,e._datasetIndex=a.index,e._index=t,e._model={x:d,y:f,skip:n.skip||isNaN(d)||isNaN(f),radius:s.radius,pointStyle:s.pointStyle,rotation:s.rotation,backgroundColor:s.backgroundColor,borderColor:s.borderColor,borderWidth:s.borderWidth,tension:pe(n.tension,u?u.tension:0),hitRadius:s.hitRadius}},_resolveDatasetElementOptions:function(){var e=this,t=e._config,r=e.chart.options,a=K.prototype._resolveDatasetElementOptions.apply(e,arguments);return a.spanGaps=pe(t.spanGaps,r.spanGaps),a.tension=pe(t.lineTension,r.elements.line.tension),a},updateBezierControlPoints:function(){var e=this,t=e.getMeta(),r=e.chart.chartArea,a=t.data||[],n,i,o,l;t.dataset._model.spanGaps&&(a=a.filter(function(u){return!u._model.skip}));function s(u,d,f){return Math.max(Math.min(u,f),d)}for(n=0,i=a.length;n<i;++n)o=a[n]._model,l=h.splineCurve(h.previousItem(a,n,!0)._model,o,h.nextItem(a,n,!0)._model,o.tension),o.controlPointPreviousX=s(l.previous.x,r.left,r.right),o.controlPointPreviousY=s(l.previous.y,r.top,r.bottom),o.controlPointNextX=s(l.next.x,r.left,r.right),o.controlPointNextY=s(l.next.y,r.top,r.bottom)},setHoverStyle:function(e){var t=e._model,r=e._options,a=h.getHoverColor;e.$previousStyle={backgroundColor:t.backgroundColor,borderColor:t.borderColor,borderWidth:t.borderWidth,radius:t.radius},t.backgroundColor=pe(r.hoverBackgroundColor,a(r.backgroundColor)),t.borderColor=pe(r.hoverBorderColor,a(r.borderColor)),t.borderWidth=pe(r.hoverBorderWidth,r.borderWidth),t.radius=pe(r.hoverRadius,r.radius)}});_._set(\"scatter\",{hover:{mode:\"single\"},scales:{xAxes:[{id:\"x-axis-1\",type:\"linear\",position:\"bottom\"}],yAxes:[{id:\"y-axis-1\",type:\"linear\",position:\"left\"}]},tooltips:{callbacks:{title:function(){return\"\"},label:function(e){return\"(\"+e.xLabel+\", \"+e.yLabel+\")\"}}}}),_._set(\"global\",{datasets:{scatter:{showLine:!1}}});var dn=pr,mr={bar:cr,bubble:en,doughnut:vr,horizontalBar:tn,line:pr,polarArea:sn,pie:ln,radar:un,scatter:dn};function me(e,t){return e.native?{x:e.x,y:e.y}:h.getRelativePosition(e,t)}function Ne(e,t){var r=e._getSortedVisibleDatasetMetas(),a,n,i,o,l,s;for(n=0,o=r.length;n<o;++n)for(a=r[n].data,i=0,l=a.length;i<l;++i)s=a[i],s._view.skip||t(s)}function yt(e,t){var r=[];return Ne(e,function(a){a.inRange(t.x,t.y)&&r.push(a)}),r}function _t(e,t,r,a){var n=Number.POSITIVE_INFINITY,i=[];return Ne(e,function(o){if(!(r&&!o.inRange(t.x,t.y))){var l=o.getCenterPoint(),s=a(t,l);s<n?(i=[o],n=s):s===n&&i.push(o)}}),i}function kt(e){var t=e.indexOf(\"x\")!==-1,r=e.indexOf(\"y\")!==-1;return function(a,n){var i=t?Math.abs(a.x-n.x):0,o=r?Math.abs(a.y-n.y):0;return Math.sqrt(Math.pow(i,2)+Math.pow(o,2))}}function wt(e,t,r){var a=me(t,e);r.axis=r.axis||\"x\";var n=kt(r.axis),i=r.intersect?yt(e,a):_t(e,a,!1,n),o=[];return i.length?(e._getSortedVisibleDatasetMetas().forEach(function(l){var s=l.data[i[0]._index];s&&!s._view.skip&&o.push(s)}),o):[]}var Ce={modes:{single:function(e,t){var r=me(t,e),a=[];return Ne(e,function(n){if(n.inRange(r.x,r.y))return a.push(n),a}),a.slice(0,1)},label:wt,index:wt,dataset:function(e,t,r){var a=me(t,e);r.axis=r.axis||\"xy\";var n=kt(r.axis),i=r.intersect?yt(e,a):_t(e,a,!1,n);return i.length>0&&(i=e.getDatasetMeta(i[0]._datasetIndex).data),i},\"x-axis\":function(e,t){return wt(e,t,{intersect:!1})},point:function(e,t){var r=me(t,e);return yt(e,r)},nearest:function(e,t,r){var a=me(t,e);r.axis=r.axis||\"xy\";var n=kt(r.axis);return _t(e,a,r.intersect,n)},x:function(e,t,r){var a=me(t,e),n=[],i=!1;return Ne(e,function(o){o.inXRange(a.x)&&n.push(o),o.inRange(a.x,a.y)&&(i=!0)}),r.intersect&&!i&&(n=[]),n},y:function(e,t,r){var a=me(t,e),n=[],i=!1;return Ne(e,function(o){o.inYRange(a.y)&&n.push(o),o.inRange(a.x,a.y)&&(i=!0)}),r.intersect&&!i&&(n=[]),n}}},Mt=h.extend;function ze(e,t){return h.where(e,function(r){return r.pos===t})}function Je(e,t){return e.sort(function(r,a){var n=t?a:r,i=t?r:a;return n.weight===i.weight?n.index-i.index:n.weight-i.weight})}function fn(e){var t=[],r,a,n;for(r=0,a=(e||[]).length;r<a;++r)n=e[r],t.push({index:r,box:n,pos:n.position,horizontal:n.isHorizontal(),weight:n.weight});return t}function hn(e,t){var r,a,n;for(r=0,a=e.length;r<a;++r)n=e[r],n.width=n.horizontal?n.box.fullWidth&&t.availableWidth:t.vBoxMaxWidth,n.height=n.horizontal&&t.hBoxMaxHeight}function cn(e){var t=fn(e),r=Je(ze(t,\"left\"),!0),a=Je(ze(t,\"right\")),n=Je(ze(t,\"top\"),!0),i=Je(ze(t,\"bottom\"));return{leftAndTop:r.concat(n),rightAndBottom:a.concat(i),chartArea:ze(t,\"chartArea\"),vertical:r.concat(a),horizontal:n.concat(i)}}function br(e,t,r,a){return Math.max(e[r],t[r])+Math.max(e[a],t[a])}function vn(e,t,r){var a=r.box,n=e.maxPadding,i,o;if(r.size&&(e[r.pos]-=r.size),r.size=r.horizontal?a.height:a.width,e[r.pos]+=r.size,a.getPadding){var l=a.getPadding();n.top=Math.max(n.top,l.top),n.left=Math.max(n.left,l.left),n.bottom=Math.max(n.bottom,l.bottom),n.right=Math.max(n.right,l.right)}if(i=t.outerWidth-br(n,e,\"left\",\"right\"),o=t.outerHeight-br(n,e,\"top\",\"bottom\"),i!==e.w||o!==e.h){e.w=i,e.h=o;var s=r.horizontal?[i,e.w]:[o,e.h];return s[0]!==s[1]&&(!isNaN(s[0])||!isNaN(s[1]))}}function gn(e){var t=e.maxPadding;function r(a){var n=Math.max(t[a]-e[a],0);return e[a]+=n,n}e.y+=r(\"top\"),e.x+=r(\"left\"),r(\"right\"),r(\"bottom\")}function pn(e,t){var r=t.maxPadding;function a(n){var i={left:0,top:0,right:0,bottom:0};return n.forEach(function(o){i[o]=Math.max(t[o],r[o])}),i}return a(e?[\"left\",\"right\"]:[\"top\",\"bottom\"])}function Qe(e,t,r){var a=[],n,i,o,l,s,u;for(n=0,i=e.length;n<i;++n)o=e[n],l=o.box,l.update(o.width||t.w,o.height||t.h,pn(o.horizontal,t)),vn(t,r,o)&&(u=!0,a.length&&(s=!0)),l.fullWidth||a.push(o);return s&&Qe(a,t,r)||u}function xr(e,t,r){var a=r.padding,n=t.x,i=t.y,o,l,s,u;for(o=0,l=e.length;o<l;++o)s=e[o],u=s.box,s.horizontal?(u.left=u.fullWidth?a.left:t.left,u.right=u.fullWidth?r.outerWidth-a.right:t.left+t.w,u.top=i,u.bottom=i+u.height,u.width=u.right-u.left,i=u.bottom):(u.left=n,u.right=n+u.width,u.top=t.top,u.bottom=t.top+t.h,u.height=u.bottom-u.top,n=u.right);t.x=n,t.y=i}_._set(\"global\",{layout:{padding:{top:0,right:0,bottom:0,left:0}}});var Z={defaults:{},addBox:function(e,t){e.boxes||(e.boxes=[]),t.fullWidth=t.fullWidth||!1,t.position=t.position||\"top\",t.weight=t.weight||0,t._layers=t._layers||function(){return[{z:0,draw:function(){t.draw.apply(t,arguments)}}]},e.boxes.push(t)},removeBox:function(e,t){var r=e.boxes?e.boxes.indexOf(t):-1;r!==-1&&e.boxes.splice(r,1)},configure:function(e,t,r){for(var a=[\"fullWidth\",\"position\",\"weight\"],n=a.length,i=0,o;i<n;++i)o=a[i],r.hasOwnProperty(o)&&(t[o]=r[o])},update:function(e,t,r){if(!!e){var a=e.options.layout||{},n=h.options.toPadding(a.padding),i=t-n.width,o=r-n.height,l=cn(e.boxes),s=l.vertical,u=l.horizontal,d=Object.freeze({outerWidth:t,outerHeight:r,padding:n,availableWidth:i,vBoxMaxWidth:i/2/s.length,hBoxMaxHeight:o/2}),f=Mt({maxPadding:Mt({},n),w:i,h:o,x:n.left,y:n.top},n);hn(s.concat(u),d),Qe(s,f,d),Qe(u,f,d)&&Qe(s,f,d),gn(f),xr(l.leftAndTop,f,d),f.x+=f.w,f.y+=f.h,xr(l.rightAndBottom,f,d),e.chartArea={left:f.left,top:f.top,right:f.left+f.w,bottom:f.top+f.h},h.each(l.chartArea,function(c){var v=c.box;Mt(v,e.chartArea),v.update(f.w,f.h)})}}},mn={acquireContext:function(e){return e&&e.canvas&&(e=e.canvas),e&&e.getContext(\"2d\")||null}},bn=`/*\\r\n * DOM element rendering detection\\r\n * https://davidwalsh.name/detect-node-insertion\\r\n */\\r\n@keyframes chartjs-render-animation {\\r\n\tfrom { opacity: 0.99; }\\r\n\tto { opacity: 1; }\\r\n}\\r\n\\r\n.chartjs-render-monitor {\\r\n\tanimation: chartjs-render-animation 0.001s;\\r\n}\\r\n\\r\n/*\\r\n * DOM element resizing detection\\r\n * https://github.com/marcj/css-element-queries\\r\n */\\r\n.chartjs-size-monitor,\\r\n.chartjs-size-monitor-expand,\\r\n.chartjs-size-monitor-shrink {\\r\n\tposition: absolute;\\r\n\tdirection: ltr;\\r\n\tleft: 0;\\r\n\ttop: 0;\\r\n\tright: 0;\\r\n\tbottom: 0;\\r\n\toverflow: hidden;\\r\n\tpointer-events: none;\\r\n\tvisibility: hidden;\\r\n\tz-index: -1;\\r\n}\\r\n\\r\n.chartjs-size-monitor-expand > div {\\r\n\tposition: absolute;\\r\n\twidth: 1000000px;\\r\n\theight: 1000000px;\\r\n\tleft: 0;\\r\n\ttop: 0;\\r\n}\\r\n\\r\n.chartjs-size-monitor-shrink > div {\\r\n\tposition: absolute;\\r\n\twidth: 200%;\\r\n\theight: 200%;\\r\n\tleft: 0;\\r\n\ttop: 0;\\r\n}\\r\n`,xn=Object.freeze({__proto__:null,default:bn}),yn=Ie(xn),N=\"$chartjs\",St=\"chartjs-\",Ct=St+\"size-monitor\",yr=St+\"render-monitor\",_n=St+\"render-animation\",_r=[\"animationstart\",\"webkitAnimationStart\"],kn={touchstart:\"mousedown\",touchmove:\"mousemove\",touchend:\"mouseup\",pointerenter:\"mouseenter\",pointerdown:\"mousedown\",pointermove:\"mousemove\",pointerup:\"mouseup\",pointerleave:\"mouseout\",pointerout:\"mouseout\"};function kr(e,t){var r=h.getStyle(e,t),a=r&&r.match(/^(\\d+)(\\.\\d+)?px$/);return a?Number(a[1]):void 0}function wn(e,t){var r=e.style,a=e.getAttribute(\"height\"),n=e.getAttribute(\"width\");if(e[N]={initial:{height:a,width:n,style:{display:r.display,height:r.height,width:r.width}}},r.display=r.display||\"block\",n===null||n===\"\"){var i=kr(e,\"width\");i!==void 0&&(e.width=i)}if(a===null||a===\"\")if(e.style.height===\"\")e.height=e.width/(t.options.aspectRatio||2);else{var o=kr(e,\"height\");i!==void 0&&(e.height=o)}return e}var Mn=function(){var e=!1;try{var t=Object.defineProperty({},\"passive\",{get:function(){e=!0}});window.addEventListener(\"e\",null,t)}catch{}return e}(),wr=Mn?{passive:!0}:!1;function Ee(e,t,r){e.addEventListener(t,r,wr)}function Dt(e,t,r){e.removeEventListener(t,r,wr)}function Pt(e,t,r,a,n){return{type:e,chart:t,native:n||null,x:r!==void 0?r:null,y:a!==void 0?a:null}}function Sn(e,t){var r=kn[e.type]||e.type,a=h.getRelativePosition(e,t);return Pt(r,t,a.x,a.y,e)}function Cn(e,t){var r=!1,a=[];return function(){a=Array.prototype.slice.call(arguments),t=t||this,r||(r=!0,h.requestAnimFrame.call(window,function(){r=!1,e.apply(t,a)}))}}function We(e){var t=document.createElement(\"div\");return t.className=e||\"\",t}function Dn(e){var t=1e6,r=We(Ct),a=We(Ct+\"-expand\"),n=We(Ct+\"-shrink\");a.appendChild(We()),n.appendChild(We()),r.appendChild(a),r.appendChild(n),r._reset=function(){a.scrollLeft=t,a.scrollTop=t,n.scrollLeft=t,n.scrollTop=t};var i=function(){r._reset(),e()};return Ee(a,\"scroll\",i.bind(a,\"expand\")),Ee(n,\"scroll\",i.bind(n,\"shrink\")),r}function Pn(e,t){var r=e[N]||(e[N]={}),a=r.renderProxy=function(n){n.animationName===_n&&t()};h.each(_r,function(n){Ee(e,n,a)}),r.reflow=!!e.offsetParent,e.classList.add(yr)}function An(e){var t=e[N]||{},r=t.renderProxy;r&&(h.each(_r,function(a){Dt(e,a,r)}),delete t.renderProxy),e.classList.remove(yr)}function Tn(e,t,r){var a=e[N]||(e[N]={}),n=a.resizer=Dn(Cn(function(){if(a.resizer){var i=r.options.maintainAspectRatio&&e.parentNode,o=i?i.clientWidth:0;t(Pt(\"resize\",r)),i&&i.clientWidth<o&&r.canvas&&t(Pt(\"resize\",r))}}));Pn(e,function(){if(a.resizer){var i=e.parentNode;i&&i!==n.parentNode&&i.insertBefore(n,i.firstChild),n._reset()}})}function Fn(e){var t=e[N]||{},r=t.resizer;delete t.resizer,An(e),r&&r.parentNode&&r.parentNode.removeChild(r)}function In(e,t){var r=e[N]||(e[N]={});if(!r.containsStyles){r.containsStyles=!0,t=`/* Chart.js */\n`+t;var a=document.createElement(\"style\");a.setAttribute(\"type\",\"text/css\"),a.appendChild(document.createTextNode(t)),e.appendChild(a)}}var Mr={disableCSSInjection:!1,_enabled:typeof window!=\"undefined\"&&typeof document!=\"undefined\",_ensureLoaded:function(e){if(!this.disableCSSInjection){var t=e.getRootNode?e.getRootNode():document,r=t.host?t:document.head;In(r,yn)}},acquireContext:function(e,t){typeof e==\"string\"?e=document.getElementById(e):e.length&&(e=e[0]),e&&e.canvas&&(e=e.canvas);var r=e&&e.getContext&&e.getContext(\"2d\");return r&&r.canvas===e?(this._ensureLoaded(e),wn(e,t),r):null},releaseContext:function(e){var t=e.canvas;if(!!t[N]){var r=t[N].initial;[\"height\",\"width\"].forEach(function(a){var n=r[a];h.isNullOrUndef(n)?t.removeAttribute(a):t.setAttribute(a,n)}),h.each(r.style||{},function(a,n){t.style[n]=a}),t.width=t.width,delete t[N]}},addEventListener:function(e,t,r){var a=e.canvas;if(t===\"resize\"){Tn(a,r,e);return}var n=r[N]||(r[N]={}),i=n.proxies||(n.proxies={}),o=i[e.id+\"_\"+t]=function(l){r(Sn(l,e))};Ee(a,t,o)},removeEventListener:function(e,t,r){var a=e.canvas;if(t===\"resize\"){Fn(a);return}var n=r[N]||{},i=n.proxies||{},o=i[e.id+\"_\"+t];!o||Dt(a,t,o)}};h.addEvent=Ee,h.removeEvent=Dt;var On=Mr._enabled?Mr:mn,De=h.extend({initialize:function(){},acquireContext:function(){},releaseContext:function(){},addEventListener:function(){},removeEventListener:function(){}},On);_._set(\"global\",{plugins:{}});var A={_plugins:[],_cacheId:0,register:function(e){var t=this._plugins;[].concat(e).forEach(function(r){t.indexOf(r)===-1&&t.push(r)}),this._cacheId++},unregister:function(e){var t=this._plugins;[].concat(e).forEach(function(r){var a=t.indexOf(r);a!==-1&&t.splice(a,1)}),this._cacheId++},clear:function(){this._plugins=[],this._cacheId++},count:function(){return this._plugins.length},getAll:function(){return this._plugins},notify:function(e,t,r){var a=this.descriptors(e),n=a.length,i,o,l,s,u;for(i=0;i<n;++i)if(o=a[i],l=o.plugin,u=l[t],typeof u==\"function\"&&(s=[e].concat(r||[]),s.push(o.options),u.apply(l,s)===!1))return!1;return!0},descriptors:function(e){var t=e.$plugins||(e.$plugins={});if(t.id===this._cacheId)return t.descriptors;var r=[],a=[],n=e&&e.config||{},i=n.options&&n.options.plugins||{};return this._plugins.concat(n.plugins||[]).forEach(function(o){var l=r.indexOf(o);if(l===-1){var s=o.id,u=i[s];u!==!1&&(u===!0&&(u=h.clone(_.global.plugins[s])),r.push(o),a.push({plugin:o,options:u||{}}))}}),t.descriptors=a,t.id=this._cacheId,a},_invalidate:function(e){delete e.$plugins}},He={constructors:{},defaults:{},registerScaleType:function(e,t,r){this.constructors[e]=t,this.defaults[e]=h.clone(r)},getScaleConstructor:function(e){return this.constructors.hasOwnProperty(e)?this.constructors[e]:void 0},getScaleDefaults:function(e){return this.defaults.hasOwnProperty(e)?h.merge(Object.create(null),[_.scale,this.defaults[e]]):{}},updateScaleDefaults:function(e,t){var r=this;r.defaults.hasOwnProperty(e)&&(r.defaults[e]=h.extend(r.defaults[e],t))},addScalesToLayout:function(e){h.each(e.scales,function(t){t.fullWidth=t.options.fullWidth,t.position=t.options.position,t.weight=t.options.weight,Z.addBox(e,t)})}},oe=h.valueOrDefault,At=h.rtl.getRtlAdapter;_._set(\"global\",{tooltips:{enabled:!0,custom:null,mode:\"nearest\",position:\"average\",intersect:!0,backgroundColor:\"rgba(0,0,0,0.8)\",titleFontStyle:\"bold\",titleSpacing:2,titleMarginBottom:6,titleFontColor:\"#fff\",titleAlign:\"left\",bodySpacing:2,bodyFontColor:\"#fff\",bodyAlign:\"left\",footerFontStyle:\"bold\",footerSpacing:2,footerMarginTop:6,footerFontColor:\"#fff\",footerAlign:\"left\",yPadding:6,xPadding:6,caretPadding:2,caretSize:5,cornerRadius:6,multiKeyBackground:\"#fff\",displayColors:!0,borderColor:\"rgba(0,0,0,0)\",borderWidth:0,callbacks:{beforeTitle:h.noop,title:function(e,t){var r=\"\",a=t.labels,n=a?a.length:0;if(e.length>0){var i=e[0];i.label?r=i.label:i.xLabel?r=i.xLabel:n>0&&i.index<n&&(r=a[i.index])}return r},afterTitle:h.noop,beforeBody:h.noop,beforeLabel:h.noop,label:function(e,t){var r=t.datasets[e.datasetIndex].label||\"\";return r&&(r+=\": \"),h.isNullOrUndef(e.value)?r+=e.yLabel:r+=e.value,r},labelColor:function(e,t){var r=t.getDatasetMeta(e.datasetIndex),a=r.data[e.index],n=a._view;return{borderColor:n.borderColor,backgroundColor:n.backgroundColor}},labelTextColor:function(){return this._options.bodyFontColor},afterLabel:h.noop,afterBody:h.noop,beforeFooter:h.noop,footer:h.noop,afterFooter:h.noop}}});var Sr={average:function(e){if(!e.length)return!1;var t,r,a=0,n=0,i=0;for(t=0,r=e.length;t<r;++t){var o=e[t];if(o&&o.hasValue()){var l=o.tooltipPosition();a+=l.x,n+=l.y,++i}}return{x:a/i,y:n/i}},nearest:function(e,t){var r=t.x,a=t.y,n=Number.POSITIVE_INFINITY,i,o,l;for(i=0,o=e.length;i<o;++i){var s=e[i];if(s&&s.hasValue()){var u=s.getCenterPoint(),d=h.distanceBetweenPoints(t,u);d<n&&(n=d,l=s)}}if(l){var f=l.tooltipPosition();r=f.x,a=f.y}return{x:r,y:a}}};function re(e,t){return t&&(h.isArray(t)?Array.prototype.push.apply(e,t):e.push(t)),e}function se(e){return(typeof e==\"string\"||e instanceof String)&&e.indexOf(`\n`)>-1?e.split(`\n`):e}function Ln(e){var t=e._xScale,r=e._yScale||e._scale,a=e._index,n=e._datasetIndex,i=e._chart.getDatasetMeta(n).controller,o=i._getIndexScale(),l=i._getValueScale();return{xLabel:t?t.getLabelForIndex(a,n):\"\",yLabel:r?r.getLabelForIndex(a,n):\"\",label:o?\"\"+o.getLabelForIndex(a,n):\"\",value:l?\"\"+l.getLabelForIndex(a,n):\"\",index:a,datasetIndex:n,x:e._model.x,y:e._model.y}}function Cr(e){var t=_.global;return{xPadding:e.xPadding,yPadding:e.yPadding,xAlign:e.xAlign,yAlign:e.yAlign,rtl:e.rtl,textDirection:e.textDirection,bodyFontColor:e.bodyFontColor,_bodyFontFamily:oe(e.bodyFontFamily,t.defaultFontFamily),_bodyFontStyle:oe(e.bodyFontStyle,t.defaultFontStyle),_bodyAlign:e.bodyAlign,bodyFontSize:oe(e.bodyFontSize,t.defaultFontSize),bodySpacing:e.bodySpacing,titleFontColor:e.titleFontColor,_titleFontFamily:oe(e.titleFontFamily,t.defaultFontFamily),_titleFontStyle:oe(e.titleFontStyle,t.defaultFontStyle),titleFontSize:oe(e.titleFontSize,t.defaultFontSize),_titleAlign:e.titleAlign,titleSpacing:e.titleSpacing,titleMarginBottom:e.titleMarginBottom,footerFontColor:e.footerFontColor,_footerFontFamily:oe(e.footerFontFamily,t.defaultFontFamily),_footerFontStyle:oe(e.footerFontStyle,t.defaultFontStyle),footerFontSize:oe(e.footerFontSize,t.defaultFontSize),_footerAlign:e.footerAlign,footerSpacing:e.footerSpacing,footerMarginTop:e.footerMarginTop,caretSize:e.caretSize,cornerRadius:e.cornerRadius,backgroundColor:e.backgroundColor,opacity:0,legendColorBackground:e.multiKeyBackground,displayColors:e.displayColors,borderColor:e.borderColor,borderWidth:e.borderWidth}}function Rn(e,t){var r=e._chart.ctx,a=t.yPadding*2,n=0,i=t.body,o=i.reduce(function(g,p){return g+p.before.length+p.lines.length+p.after.length},0);o+=t.beforeBody.length+t.afterBody.length;var l=t.title.length,s=t.footer.length,u=t.titleFontSize,d=t.bodyFontSize,f=t.footerFontSize;a+=l*u,a+=l?(l-1)*t.titleSpacing:0,a+=l?t.titleMarginBottom:0,a+=o*d,a+=o?(o-1)*t.bodySpacing:0,a+=s?t.footerMarginTop:0,a+=s*f,a+=s?(s-1)*t.footerSpacing:0;var c=0,v=function(g){n=Math.max(n,r.measureText(g).width+c)};return r.font=h.fontString(u,t._titleFontStyle,t._titleFontFamily),h.each(t.title,v),r.font=h.fontString(d,t._bodyFontStyle,t._bodyFontFamily),h.each(t.beforeBody.concat(t.afterBody),v),c=t.displayColors?d+2:0,h.each(i,function(g){h.each(g.before,v),h.each(g.lines,v),h.each(g.after,v)}),c=0,r.font=h.fontString(f,t._footerFontStyle,t._footerFontFamily),h.each(t.footer,v),n+=2*t.xPadding,{width:n,height:a}}function Bn(e,t){var r=e._model,a=e._chart,n=e._chart.chartArea,i=\"center\",o=\"center\";r.y<t.height?o=\"top\":r.y>a.height-t.height&&(o=\"bottom\");var l,s,u,d,f,c=(n.left+n.right)/2,v=(n.top+n.bottom)/2;o===\"center\"?(l=function(p){return p<=c},s=function(p){return p>c}):(l=function(p){return p<=t.width/2},s=function(p){return p>=a.width-t.width/2}),u=function(p){return p+t.width+r.caretSize+r.caretPadding>a.width},d=function(p){return p-t.width-r.caretSize-r.caretPadding<0},f=function(p){return p<=v?\"top\":\"bottom\"},l(r.x)?(i=\"left\",u(r.x)&&(i=\"center\",o=f(r.y))):s(r.x)&&(i=\"right\",d(r.x)&&(i=\"center\",o=f(r.y)));var g=e._options;return{xAlign:g.xAlign?g.xAlign:i,yAlign:g.yAlign?g.yAlign:o}}function Nn(e,t,r,a){var n=e.x,i=e.y,o=e.caretSize,l=e.caretPadding,s=e.cornerRadius,u=r.xAlign,d=r.yAlign,f=o+l,c=s+l;return u===\"right\"?n-=t.width:u===\"center\"&&(n-=t.width/2,n+t.width>a.width&&(n=a.width-t.width),n<0&&(n=0)),d===\"top\"?i+=f:d===\"bottom\"?i-=t.height+f:i-=t.height/2,d===\"center\"?u===\"left\"?n+=f:u===\"right\"&&(n-=f):u===\"left\"?n-=c:u===\"right\"&&(n+=c),{x:n,y:i}}function et(e,t){return t===\"center\"?e.x+e.width/2:t===\"right\"?e.x+e.width-e.xPadding:e.x+e.xPadding}function Dr(e){return re([],se(e))}var zn=ee.extend({initialize:function(){this._model=Cr(this._options),this._lastActive=[]},getTitle:function(){var e=this,t=e._options,r=t.callbacks,a=r.beforeTitle.apply(e,arguments),n=r.title.apply(e,arguments),i=r.afterTitle.apply(e,arguments),o=[];return o=re(o,se(a)),o=re(o,se(n)),o=re(o,se(i)),o},getBeforeBody:function(){return Dr(this._options.callbacks.beforeBody.apply(this,arguments))},getBody:function(e,t){var r=this,a=r._options.callbacks,n=[];return h.each(e,function(i){var o={before:[],lines:[],after:[]};re(o.before,se(a.beforeLabel.call(r,i,t))),re(o.lines,a.label.call(r,i,t)),re(o.after,se(a.afterLabel.call(r,i,t))),n.push(o)}),n},getAfterBody:function(){return Dr(this._options.callbacks.afterBody.apply(this,arguments))},getFooter:function(){var e=this,t=e._options.callbacks,r=t.beforeFooter.apply(e,arguments),a=t.footer.apply(e,arguments),n=t.afterFooter.apply(e,arguments),i=[];return i=re(i,se(r)),i=re(i,se(a)),i=re(i,se(n)),i},update:function(e){var t=this,r=t._options,a=t._model,n=t._model=Cr(r),i=t._active,o=t._data,l={xAlign:a.xAlign,yAlign:a.yAlign},s={x:a.x,y:a.y},u={width:a.width,height:a.height},d={x:a.caretX,y:a.caretY},f,c;if(i.length){n.opacity=1;var v=[],g=[];d=Sr[r.position].call(t,i,t._eventPosition);var p=[];for(f=0,c=i.length;f<c;++f)p.push(Ln(i[f]));r.filter&&(p=p.filter(function(m){return r.filter(m,o)})),r.itemSort&&(p=p.sort(function(m,b){return r.itemSort(m,b,o)})),h.each(p,function(m){v.push(r.callbacks.labelColor.call(t,m,t._chart)),g.push(r.callbacks.labelTextColor.call(t,m,t._chart))}),n.title=t.getTitle(p,o),n.beforeBody=t.getBeforeBody(p,o),n.body=t.getBody(p,o),n.afterBody=t.getAfterBody(p,o),n.footer=t.getFooter(p,o),n.x=d.x,n.y=d.y,n.caretPadding=r.caretPadding,n.labelColors=v,n.labelTextColors=g,n.dataPoints=p,u=Rn(this,n),l=Bn(this,u),s=Nn(n,u,l,t._chart)}else n.opacity=0;return n.xAlign=l.xAlign,n.yAlign=l.yAlign,n.x=s.x,n.y=s.y,n.width=u.width,n.height=u.height,n.caretX=d.x,n.caretY=d.y,t._model=n,e&&r.custom&&r.custom.call(t,n),t},drawCaret:function(e,t){var r=this._chart.ctx,a=this._view,n=this.getCaretPosition(e,t,a);r.lineTo(n.x1,n.y1),r.lineTo(n.x2,n.y2),r.lineTo(n.x3,n.y3)},getCaretPosition:function(e,t,r){var a,n,i,o,l,s,u=r.caretSize,d=r.cornerRadius,f=r.xAlign,c=r.yAlign,v=e.x,g=e.y,p=t.width,m=t.height;if(c===\"center\")l=g+m/2,f===\"left\"?(a=v,n=a-u,i=a,o=l+u,s=l-u):(a=v+p,n=a+u,i=a,o=l-u,s=l+u);else if(f===\"left\"?(n=v+d+u,a=n-u,i=n+u):f===\"right\"?(n=v+p-d-u,a=n-u,i=n+u):(n=r.caretX,a=n-u,i=n+u),c===\"top\")o=g,l=o-u,s=o;else{o=g+m,l=o+u,s=o;var b=i;i=a,a=b}return{x1:a,x2:n,x3:i,y1:o,y2:l,y3:s}},drawTitle:function(e,t,r){var a=t.title,n=a.length,i,o,l;if(n){var s=At(t.rtl,t.x,t.width);for(e.x=et(t,t._titleAlign),r.textAlign=s.textAlign(t._titleAlign),r.textBaseline=\"middle\",i=t.titleFontSize,o=t.titleSpacing,r.fillStyle=t.titleFontColor,r.font=h.fontString(i,t._titleFontStyle,t._titleFontFamily),l=0;l<n;++l)r.fillText(a[l],s.x(e.x),e.y+i/2),e.y+=i+o,l+1===n&&(e.y+=t.titleMarginBottom-o)}},drawBody:function(e,t,r){var a=t.bodyFontSize,n=t.bodySpacing,i=t._bodyAlign,o=t.body,l=t.displayColors,s=0,u=l?et(t,\"left\"):0,d=At(t.rtl,t.x,t.width),f=function(D){r.fillText(D,d.x(e.x+s),e.y+a/2),e.y+=a+n},c,v,g,p,m,b,x,y,w=d.textAlign(i);for(r.textAlign=i,r.textBaseline=\"middle\",r.font=h.fontString(a,t._bodyFontStyle,t._bodyFontFamily),e.x=et(t,w),r.fillStyle=t.bodyFontColor,h.each(t.beforeBody,f),s=l&&w!==\"right\"?i===\"center\"?a/2+1:a+2:0,m=0,x=o.length;m<x;++m){for(c=o[m],v=t.labelTextColors[m],g=t.labelColors[m],r.fillStyle=v,h.each(c.before,f),p=c.lines,b=0,y=p.length;b<y;++b){if(l){var k=d.x(u);r.fillStyle=t.legendColorBackground,r.fillRect(d.leftForLtr(k,a),e.y,a,a),r.lineWidth=1,r.strokeStyle=g.borderColor,r.strokeRect(d.leftForLtr(k,a),e.y,a,a),r.fillStyle=g.backgroundColor,r.fillRect(d.leftForLtr(d.xPlus(k,1),a-2),e.y+1,a-2,a-2),r.fillStyle=v}f(p[b])}h.each(c.after,f)}s=0,h.each(t.afterBody,f),e.y-=n},drawFooter:function(e,t,r){var a=t.footer,n=a.length,i,o;if(n){var l=At(t.rtl,t.x,t.width);for(e.x=et(t,t._footerAlign),e.y+=t.footerMarginTop,r.textAlign=l.textAlign(t._footerAlign),r.textBaseline=\"middle\",i=t.footerFontSize,r.fillStyle=t.footerFontColor,r.font=h.fontString(i,t._footerFontStyle,t._footerFontFamily),o=0;o<n;++o)r.fillText(a[o],l.x(e.x),e.y+i/2),e.y+=i+t.footerSpacing}},drawBackground:function(e,t,r,a){r.fillStyle=t.backgroundColor,r.strokeStyle=t.borderColor,r.lineWidth=t.borderWidth;var n=t.xAlign,i=t.yAlign,o=e.x,l=e.y,s=a.width,u=a.height,d=t.cornerRadius;r.beginPath(),r.moveTo(o+d,l),i===\"top\"&&this.drawCaret(e,a),r.lineTo(o+s-d,l),r.quadraticCurveTo(o+s,l,o+s,l+d),i===\"center\"&&n===\"right\"&&this.drawCaret(e,a),r.lineTo(o+s,l+u-d),r.quadraticCurveTo(o+s,l+u,o+s-d,l+u),i===\"bottom\"&&this.drawCaret(e,a),r.lineTo(o+d,l+u),r.quadraticCurveTo(o,l+u,o,l+u-d),i===\"center\"&&n===\"left\"&&this.drawCaret(e,a),r.lineTo(o,l+d),r.quadraticCurveTo(o,l,o+d,l),r.closePath(),r.fill(),t.borderWidth>0&&r.stroke()},draw:function(){var e=this._chart.ctx,t=this._view;if(t.opacity!==0){var r={width:t.width,height:t.height},a={x:t.x,y:t.y},n=Math.abs(t.opacity<.001)?0:t.opacity,i=t.title.length||t.beforeBody.length||t.body.length||t.afterBody.length||t.footer.length;this._options.enabled&&i&&(e.save(),e.globalAlpha=n,this.drawBackground(a,t,e,r),a.y+=t.yPadding,h.rtl.overrideTextDirection(e,t.textDirection),this.drawTitle(a,t,e),this.drawBody(a,t,e),this.drawFooter(a,t,e),h.rtl.restoreTextDirection(e,t.textDirection),e.restore())}},handleEvent:function(e){var t=this,r=t._options,a=!1;return t._lastActive=t._lastActive||[],e.type===\"mouseout\"?t._active=[]:(t._active=t._chart.getElementsAtEventForMode(e,r.mode,r),r.reverse&&t._active.reverse()),a=!h.arrayEquals(t._active,t._lastActive),a&&(t._lastActive=t._active,(r.enabled||r.custom)&&(t._eventPosition={x:e.x,y:e.y},t.update(!0),t.pivot())),a}}),En=Sr,Tt=zn;Tt.positioners=En;var Ft=h.valueOrDefault;_._set(\"global\",{elements:{},events:[\"mousemove\",\"mouseout\",\"click\",\"touchstart\",\"touchmove\"],hover:{onHover:null,mode:\"nearest\",intersect:!0,animationDuration:400},onClick:null,maintainAspectRatio:!0,responsive:!0,responsiveAnimationDuration:0});function Pr(){return h.merge(Object.create(null),[].slice.call(arguments),{merger:function(e,t,r,a){if(e===\"xAxes\"||e===\"yAxes\"){var n=r[e].length,i,o,l;for(t[e]||(t[e]=[]),i=0;i<n;++i)l=r[e][i],o=Ft(l.type,e===\"xAxes\"?\"category\":\"linear\"),i>=t[e].length&&t[e].push({}),!t[e][i].type||l.type&&l.type!==t[e][i].type?h.merge(t[e][i],[He.getScaleDefaults(o),l]):h.merge(t[e][i],l)}else h._merger(e,t,r,a)}})}function It(){return h.merge(Object.create(null),[].slice.call(arguments),{merger:function(e,t,r,a){var n=t[e]||Object.create(null),i=r[e];e===\"scales\"?t[e]=Pr(n,i):e===\"scale\"?t[e]=h.merge(n,[He.getScaleDefaults(i.type),i]):h._merger(e,t,r,a)}})}function Wn(e){e=e||Object.create(null);var t=e.data=e.data||{};return t.datasets=t.datasets||[],t.labels=t.labels||[],e.options=It(_.global,_[e.type],e.options||{}),e}function Hn(e){var t=e.options;h.each(e.scales,function(r){Z.removeBox(e,r)}),t=It(_.global,_[e.config.type],t),e.options=e.config.options=t,e.ensureScalesHaveIDs(),e.buildOrUpdateScales(),e.tooltip._options=t.tooltips,e.tooltip.initialize()}function Ar(e,t,r){var a,n=function(i){return i.id===a};do a=t+r++;while(h.findIndex(e,n)>=0);return a}function Tr(e){return e===\"top\"||e===\"bottom\"}function Fr(e,t){return function(r,a){return r[e]===a[e]?r[t]-a[t]:r[e]-a[e]}}var ue=function(e,t){return this.construct(e,t),this};h.extend(ue.prototype,{construct:function(e,t){var r=this;t=Wn(t);var a=De.acquireContext(e,t),n=a&&a.canvas,i=n&&n.height,o=n&&n.width;if(r.id=h.uid(),r.ctx=a,r.canvas=n,r.config=t,r.width=o,r.height=i,r.aspectRatio=i?o/i:null,r.options=t.options,r._bufferedRender=!1,r._layers=[],r.chart=r,r.controller=r,ue.instances[r.id]=r,Object.defineProperty(r,\"data\",{get:function(){return r.config.data},set:function(l){r.config.data=l}}),!a||!n){console.error(\"Failed to create chart: can't acquire context from the given item\");return}r.initialize(),r.update()},initialize:function(){var e=this;return A.notify(e,\"beforeInit\"),h.retinaScale(e,e.options.devicePixelRatio),e.bindEvents(),e.options.responsive&&e.resize(!0),e.initToolTip(),A.notify(e,\"afterInit\"),e},clear:function(){return h.canvas.clear(this),this},stop:function(){return pt.cancelAnimation(this),this},resize:function(e){var t=this,r=t.options,a=t.canvas,n=r.maintainAspectRatio&&t.aspectRatio||null,i=Math.max(0,Math.floor(h.getMaximumWidth(a))),o=Math.max(0,Math.floor(n?i/n:h.getMaximumHeight(a)));if(!(t.width===i&&t.height===o)&&(a.width=t.width=i,a.height=t.height=o,a.style.width=i+\"px\",a.style.height=o+\"px\",h.retinaScale(t,r.devicePixelRatio),!e)){var l={width:i,height:o};A.notify(t,\"resize\",[l]),r.onResize&&r.onResize(t,l),t.stop(),t.update({duration:r.responsiveAnimationDuration})}},ensureScalesHaveIDs:function(){var e=this.options,t=e.scales||{},r=e.scale;h.each(t.xAxes,function(a,n){a.id||(a.id=Ar(t.xAxes,\"x-axis-\",n))}),h.each(t.yAxes,function(a,n){a.id||(a.id=Ar(t.yAxes,\"y-axis-\",n))}),r&&(r.id=r.id||\"scale\")},buildOrUpdateScales:function(){var e=this,t=e.options,r=e.scales||{},a=[],n=Object.keys(r).reduce(function(i,o){return i[o]=!1,i},{});t.scales&&(a=a.concat((t.scales.xAxes||[]).map(function(i){return{options:i,dtype:\"category\",dposition:\"bottom\"}}),(t.scales.yAxes||[]).map(function(i){return{options:i,dtype:\"linear\",dposition:\"left\"}}))),t.scale&&a.push({options:t.scale,dtype:\"radialLinear\",isDefault:!0,dposition:\"chartArea\"}),h.each(a,function(i){var o=i.options,l=o.id,s=Ft(o.type,i.dtype);Tr(o.position)!==Tr(i.dposition)&&(o.position=i.dposition),n[l]=!0;var u=null;if(l in r&&r[l].type===s)u=r[l],u.options=o,u.ctx=e.ctx,u.chart=e;else{var d=He.getScaleConstructor(s);if(!d)return;u=new d({id:l,type:s,options:o,ctx:e.ctx,chart:e}),r[u.id]=u}u.mergeTicksOptions(),i.isDefault&&(e.scale=u)}),h.each(n,function(i,o){i||delete r[o]}),e.scales=r,He.addScalesToLayout(this)},buildOrUpdateControllers:function(){var e=this,t=[],r=e.data.datasets,a,n;for(a=0,n=r.length;a<n;a++){var i=r[a],o=e.getDatasetMeta(a),l=i.type||e.config.type;if(o.type&&o.type!==l&&(e.destroyDatasetMeta(a),o=e.getDatasetMeta(a)),o.type=l,o.order=i.order||0,o.index=a,o.controller)o.controller.updateIndex(a),o.controller.linkScales();else{var s=mr[o.type];if(s===void 0)throw new Error('\"'+o.type+'\" is not a chart type.');o.controller=new s(e,a),t.push(o.controller)}}return t},resetElements:function(){var e=this;h.each(e.data.datasets,function(t,r){e.getDatasetMeta(r).controller.reset()},e)},reset:function(){this.resetElements(),this.tooltip.initialize()},update:function(e){var t=this,r,a;if((!e||typeof e!=\"object\")&&(e={duration:e,lazy:arguments[1]}),Hn(t),A._invalidate(t),A.notify(t,\"beforeUpdate\")!==!1){t.tooltip._data=t.data;var n=t.buildOrUpdateControllers();for(r=0,a=t.data.datasets.length;r<a;r++)t.getDatasetMeta(r).controller.buildOrUpdateElements();t.updateLayout(),t.options.animation&&t.options.animation.duration&&h.each(n,function(i){i.reset()}),t.updateDatasets(),t.tooltip.initialize(),t.lastActive=[],A.notify(t,\"afterUpdate\"),t._layers.sort(Fr(\"z\",\"_idx\")),t._bufferedRender?t._bufferedRequest={duration:e.duration,easing:e.easing,lazy:e.lazy}:t.render(e)}},updateLayout:function(){var e=this;A.notify(e,\"beforeLayout\")!==!1&&(Z.update(this,this.width,this.height),e._layers=[],h.each(e.boxes,function(t){t._configure&&t._configure(),e._layers.push.apply(e._layers,t._layers())},e),e._layers.forEach(function(t,r){t._idx=r}),A.notify(e,\"afterScaleUpdate\"),A.notify(e,\"afterLayout\"))},updateDatasets:function(){var e=this;if(A.notify(e,\"beforeDatasetsUpdate\")!==!1){for(var t=0,r=e.data.datasets.length;t<r;++t)e.updateDataset(t);A.notify(e,\"afterDatasetsUpdate\")}},updateDataset:function(e){var t=this,r=t.getDatasetMeta(e),a={meta:r,index:e};A.notify(t,\"beforeDatasetUpdate\",[a])!==!1&&(r.controller._update(),A.notify(t,\"afterDatasetUpdate\",[a]))},render:function(e){var t=this;(!e||typeof e!=\"object\")&&(e={duration:e,lazy:arguments[1]});var r=t.options.animation,a=Ft(e.duration,r&&r.duration),n=e.lazy;if(A.notify(t,\"beforeRender\")!==!1){var i=function(l){A.notify(t,\"afterRender\"),h.callback(r&&r.onComplete,[l],t)};if(r&&a){var o=new gt({numSteps:a/16.66,easing:e.easing||r.easing,render:function(l,s){var u=h.easing.effects[s.easing],d=s.currentStep,f=d/s.numSteps;l.draw(u(f),f,d)},onAnimationProgress:r.onProgress,onAnimationComplete:i});pt.addAnimation(t,o,a,n)}else t.draw(),i(new gt({numSteps:0,chart:t}));return t}},draw:function(e){var t=this,r,a;if(t.clear(),h.isNullOrUndef(e)&&(e=1),t.transition(e),!(t.width<=0||t.height<=0)&&A.notify(t,\"beforeDraw\",[e])!==!1){for(a=t._layers,r=0;r<a.length&&a[r].z<=0;++r)a[r].draw(t.chartArea);for(t.drawDatasets(e);r<a.length;++r)a[r].draw(t.chartArea);t._drawTooltip(e),A.notify(t,\"afterDraw\",[e])}},transition:function(e){for(var t=this,r=0,a=(t.data.datasets||[]).length;r<a;++r)t.isDatasetVisible(r)&&t.getDatasetMeta(r).controller.transition(e);t.tooltip.transition(e)},_getSortedDatasetMetas:function(e){var t=this,r=t.data.datasets||[],a=[],n,i;for(n=0,i=r.length;n<i;++n)(!e||t.isDatasetVisible(n))&&a.push(t.getDatasetMeta(n));return a.sort(Fr(\"order\",\"index\")),a},_getSortedVisibleDatasetMetas:function(){return this._getSortedDatasetMetas(!0)},drawDatasets:function(e){var t=this,r,a;if(A.notify(t,\"beforeDatasetsDraw\",[e])!==!1){for(r=t._getSortedVisibleDatasetMetas(),a=r.length-1;a>=0;--a)t.drawDataset(r[a],e);A.notify(t,\"afterDatasetsDraw\",[e])}},drawDataset:function(e,t){var r=this,a={meta:e,index:e.index,easingValue:t};A.notify(r,\"beforeDatasetDraw\",[a])!==!1&&(e.controller.draw(t),A.notify(r,\"afterDatasetDraw\",[a]))},_drawTooltip:function(e){var t=this,r=t.tooltip,a={tooltip:r,easingValue:e};A.notify(t,\"beforeTooltipDraw\",[a])!==!1&&(r.draw(),A.notify(t,\"afterTooltipDraw\",[a]))},getElementAtEvent:function(e){return Ce.modes.single(this,e)},getElementsAtEvent:function(e){return Ce.modes.label(this,e,{intersect:!0})},getElementsAtXAxis:function(e){return Ce.modes[\"x-axis\"](this,e,{intersect:!0})},getElementsAtEventForMode:function(e,t,r){var a=Ce.modes[t];return typeof a==\"function\"?a(this,e,r):[]},getDatasetAtEvent:function(e){return Ce.modes.dataset(this,e,{intersect:!0})},getDatasetMeta:function(e){var t=this,r=t.data.datasets[e];r._meta||(r._meta={});var a=r._meta[t.id];return a||(a=r._meta[t.id]={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:r.order||0,index:e}),a},getVisibleDatasetCount:function(){for(var e=0,t=0,r=this.data.datasets.length;t<r;++t)this.isDatasetVisible(t)&&e++;return e},isDatasetVisible:function(e){var t=this.getDatasetMeta(e);return typeof t.hidden==\"boolean\"?!t.hidden:!this.data.datasets[e].hidden},generateLegend:function(){return this.options.legendCallback(this)},destroyDatasetMeta:function(e){var t=this.id,r=this.data.datasets[e],a=r._meta&&r._meta[t];a&&(a.controller.destroy(),delete r._meta[t])},destroy:function(){var e=this,t=e.canvas,r,a;for(e.stop(),r=0,a=e.data.datasets.length;r<a;++r)e.destroyDatasetMeta(r);t&&(e.unbindEvents(),h.canvas.clear(e),De.releaseContext(e.ctx),e.canvas=null,e.ctx=null),A.notify(e,\"destroy\"),delete ue.instances[e.id]},toBase64Image:function(){return this.canvas.toDataURL.apply(this.canvas,arguments)},initToolTip:function(){var e=this;e.tooltip=new Tt({_chart:e,_chartInstance:e,_data:e.data,_options:e.options.tooltips},e)},bindEvents:function(){var e=this,t=e._listeners={},r=function(){e.eventHandler.apply(e,arguments)};h.each(e.options.events,function(a){De.addEventListener(e,a,r),t[a]=r}),e.options.responsive&&(r=function(){e.resize()},De.addEventListener(e,\"resize\",r),t.resize=r)},unbindEvents:function(){var e=this,t=e._listeners;!t||(delete e._listeners,h.each(t,function(r,a){De.removeEventListener(e,a,r)}))},updateHoverStyle:function(e,t,r){var a=r?\"set\":\"remove\",n,i,o;for(i=0,o=e.length;i<o;++i)n=e[i],n&&this.getDatasetMeta(n._datasetIndex).controller[a+\"HoverStyle\"](n);t===\"dataset\"&&this.getDatasetMeta(e[0]._datasetIndex).controller[\"_\"+a+\"DatasetHoverStyle\"]()},eventHandler:function(e){var t=this,r=t.tooltip;if(A.notify(t,\"beforeEvent\",[e])!==!1){t._bufferedRender=!0,t._bufferedRequest=null;var a=t.handleEvent(e);r&&(a=r._start?r.handleEvent(e):a|r.handleEvent(e)),A.notify(t,\"afterEvent\",[e]);var n=t._bufferedRequest;return n?t.render(n):a&&!t.animating&&(t.stop(),t.render({duration:t.options.hover.animationDuration,lazy:!0})),t._bufferedRender=!1,t._bufferedRequest=null,t}},handleEvent:function(e){var t=this,r=t.options||{},a=r.hover,n=!1;return t.lastActive=t.lastActive||[],e.type===\"mouseout\"?t.active=[]:t.active=t.getElementsAtEventForMode(e,a.mode,a),h.callback(r.onHover||r.hover.onHover,[e.native,t.active],t),(e.type===\"mouseup\"||e.type===\"click\")&&r.onClick&&r.onClick.call(t,e.native,t.active),t.lastActive.length&&t.updateHoverStyle(t.lastActive,a.mode,!1),t.active.length&&a.mode&&t.updateHoverStyle(t.active,a.mode,!0),n=!h.arrayEquals(t.active,t.lastActive),t.lastActive=t.active,n}}),ue.instances={};var M=ue;ue.Controller=ue,ue.types={},h.configMerge=It,h.scaleMerge=Pr;var Vn=function(){h.where=function(a,n){if(h.isArray(a)&&Array.prototype.filter)return a.filter(n);var i=[];return h.each(a,function(o){n(o)&&i.push(o)}),i},h.findIndex=Array.prototype.findIndex?function(a,n,i){return a.findIndex(n,i)}:function(a,n,i){i=i===void 0?a:i;for(var o=0,l=a.length;o<l;++o)if(n.call(i,a[o],o,a))return o;return-1},h.findNextWhere=function(a,n,i){h.isNullOrUndef(i)&&(i=-1);for(var o=i+1;o<a.length;o++){var l=a[o];if(n(l))return l}},h.findPreviousWhere=function(a,n,i){h.isNullOrUndef(i)&&(i=a.length);for(var o=i-1;o>=0;o--){var l=a[o];if(n(l))return l}},h.isNumber=function(a){return!isNaN(parseFloat(a))&&isFinite(a)},h.almostEquals=function(a,n,i){return Math.abs(a-n)<i},h.almostWhole=function(a,n){var i=Math.round(a);return i-n<=a&&i+n>=a},h.max=function(a){return a.reduce(function(n,i){return isNaN(i)?n:Math.max(n,i)},Number.NEGATIVE_INFINITY)},h.min=function(a){return a.reduce(function(n,i){return isNaN(i)?n:Math.min(n,i)},Number.POSITIVE_INFINITY)},h.sign=Math.sign?function(a){return Math.sign(a)}:function(a){return a=+a,a===0||isNaN(a)?a:a>0?1:-1},h.toRadians=function(a){return a*(Math.PI/180)},h.toDegrees=function(a){return a*(180/Math.PI)},h._decimalPlaces=function(a){if(!!h.isFinite(a)){for(var n=1,i=0;Math.round(a*n)/n!==a;)n*=10,i++;return i}},h.getAngleFromPoint=function(a,n){var i=n.x-a.x,o=n.y-a.y,l=Math.sqrt(i*i+o*o),s=Math.atan2(o,i);return s<-.5*Math.PI&&(s+=2*Math.PI),{angle:s,distance:l}},h.distanceBetweenPoints=function(a,n){return Math.sqrt(Math.pow(n.x-a.x,2)+Math.pow(n.y-a.y,2))},h.aliasPixel=function(a){return a%2==0?0:.5},h._alignPixel=function(a,n,i){var o=a.currentDevicePixelRatio,l=i/2;return Math.round((n-l)*o)/o+l},h.splineCurve=function(a,n,i,o){var l=a.skip?n:a,s=n,u=i.skip?n:i,d=Math.sqrt(Math.pow(s.x-l.x,2)+Math.pow(s.y-l.y,2)),f=Math.sqrt(Math.pow(u.x-s.x,2)+Math.pow(u.y-s.y,2)),c=d/(d+f),v=f/(d+f);c=isNaN(c)?0:c,v=isNaN(v)?0:v;var g=o*c,p=o*v;return{previous:{x:s.x-g*(u.x-l.x),y:s.y-g*(u.y-l.y)},next:{x:s.x+p*(u.x-l.x),y:s.y+p*(u.y-l.y)}}},h.EPSILON=Number.EPSILON||1e-14,h.splineCurveMonotone=function(a){var n=(a||[]).map(function(m){return{model:m._model,deltaK:0,mK:0}}),i=n.length,o,l,s,u;for(o=0;o<i;++o)if(s=n[o],!s.model.skip){if(l=o>0?n[o-1]:null,u=o<i-1?n[o+1]:null,u&&!u.model.skip){var d=u.model.x-s.model.x;s.deltaK=d!==0?(u.model.y-s.model.y)/d:0}!l||l.model.skip?s.mK=s.deltaK:!u||u.model.skip?s.mK=l.deltaK:this.sign(l.deltaK)!==this.sign(s.deltaK)?s.mK=0:s.mK=(l.deltaK+s.deltaK)/2}var f,c,v,g;for(o=0;o<i-1;++o)if(s=n[o],u=n[o+1],!(s.model.skip||u.model.skip)){if(h.almostEquals(s.deltaK,0,this.EPSILON)){s.mK=u.mK=0;continue}f=s.mK/s.deltaK,c=u.mK/s.deltaK,g=Math.pow(f,2)+Math.pow(c,2),!(g<=9)&&(v=3/Math.sqrt(g),s.mK=f*v*s.deltaK,u.mK=c*v*s.deltaK)}var p;for(o=0;o<i;++o)s=n[o],!s.model.skip&&(l=o>0?n[o-1]:null,u=o<i-1?n[o+1]:null,l&&!l.model.skip&&(p=(s.model.x-l.model.x)/3,s.model.controlPointPreviousX=s.model.x-p,s.model.controlPointPreviousY=s.model.y-p*s.mK),u&&!u.model.skip&&(p=(u.model.x-s.model.x)/3,s.model.controlPointNextX=s.model.x+p,s.model.controlPointNextY=s.model.y+p*s.mK))},h.nextItem=function(a,n,i){return i?n>=a.length-1?a[0]:a[n+1]:n>=a.length-1?a[a.length-1]:a[n+1]},h.previousItem=function(a,n,i){return i?n<=0?a[a.length-1]:a[n-1]:n<=0?a[0]:a[n-1]},h.niceNum=function(a,n){var i=Math.floor(h.log10(a)),o=a/Math.pow(10,i),l;return n?o<1.5?l=1:o<3?l=2:o<7?l=5:l=10:o<=1?l=1:o<=2?l=2:o<=5?l=5:l=10,l*Math.pow(10,i)},h.requestAnimFrame=function(){return typeof window==\"undefined\"?function(a){a()}:window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(a){return window.setTimeout(a,1e3/60)}}(),h.getRelativePosition=function(a,n){var i,o,l=a.originalEvent||a,s=a.target||a.srcElement,u=s.getBoundingClientRect(),d=l.touches;d&&d.length>0?(i=d[0].clientX,o=d[0].clientY):(i=l.clientX,o=l.clientY);var f=parseFloat(h.getStyle(s,\"padding-left\")),c=parseFloat(h.getStyle(s,\"padding-top\")),v=parseFloat(h.getStyle(s,\"padding-right\")),g=parseFloat(h.getStyle(s,\"padding-bottom\")),p=u.right-u.left-f-v,m=u.bottom-u.top-c-g;return i=Math.round((i-u.left-f)/p*s.width/n.currentDevicePixelRatio),o=Math.round((o-u.top-c)/m*s.height/n.currentDevicePixelRatio),{x:i,y:o}};function e(a,n,i){var o;return typeof a==\"string\"?(o=parseInt(a,10),a.indexOf(\"%\")!==-1&&(o=o/100*n.parentNode[i])):o=a,o}function t(a){return a!=null&&a!==\"none\"}function r(a,n,i){var o=document.defaultView,l=h._getParentNode(a),s=o.getComputedStyle(a)[n],u=o.getComputedStyle(l)[n],d=t(s),f=t(u),c=Number.POSITIVE_INFINITY;return d||f?Math.min(d?e(s,a,i):c,f?e(u,l,i):c):\"none\"}h.getConstraintWidth=function(a){return r(a,\"max-width\",\"clientWidth\")},h.getConstraintHeight=function(a){return r(a,\"max-height\",\"clientHeight\")},h._calculatePadding=function(a,n,i){return n=h.getStyle(a,n),n.indexOf(\"%\")>-1?i*parseInt(n,10)/100:parseInt(n,10)},h._getParentNode=function(a){var n=a.parentNode;return n&&n.toString()===\"[object ShadowRoot]\"&&(n=n.host),n},h.getMaximumWidth=function(a){var n=h._getParentNode(a);if(!n)return a.clientWidth;var i=n.clientWidth,o=h._calculatePadding(n,\"padding-left\",i),l=h._calculatePadding(n,\"padding-right\",i),s=i-o-l,u=h.getConstraintWidth(a);return isNaN(u)?s:Math.min(s,u)},h.getMaximumHeight=function(a){var n=h._getParentNode(a);if(!n)return a.clientHeight;var i=n.clientHeight,o=h._calculatePadding(n,\"padding-top\",i),l=h._calculatePadding(n,\"padding-bottom\",i),s=i-o-l,u=h.getConstraintHeight(a);return isNaN(u)?s:Math.min(s,u)},h.getStyle=function(a,n){return a.currentStyle?a.currentStyle[n]:document.defaultView.getComputedStyle(a,null).getPropertyValue(n)},h.retinaScale=function(a,n){var i=a.currentDevicePixelRatio=n||typeof window!=\"undefined\"&&window.devicePixelRatio||1;if(i!==1){var o=a.canvas,l=a.height,s=a.width;o.height=l*i,o.width=s*i,a.ctx.scale(i,i),!o.style.height&&!o.style.width&&(o.style.height=l+\"px\",o.style.width=s+\"px\")}},h.fontString=function(a,n,i){return n+\" \"+a+\"px \"+i},h.longestText=function(a,n,i,o){o=o||{};var l=o.data=o.data||{},s=o.garbageCollect=o.garbageCollect||[];o.font!==n&&(l=o.data={},s=o.garbageCollect=[],o.font=n),a.font=n;var u=0,d=i.length,f,c,v,g,p;for(f=0;f<d;f++)if(g=i[f],g!=null&&h.isArray(g)!==!0)u=h.measureText(a,l,s,u,g);else if(h.isArray(g))for(c=0,v=g.length;c<v;c++)p=g[c],p!=null&&!h.isArray(p)&&(u=h.measureText(a,l,s,u,p));var m=s.length/2;if(m>i.length){for(f=0;f<m;f++)delete l[s[f]];s.splice(0,m)}return u},h.measureText=function(a,n,i,o,l){var s=n[l];return s||(s=n[l]=a.measureText(l).width,i.push(l)),s>o&&(o=s),o},h.numberOfLabelLines=function(a){var n=1;return h.each(a,function(i){h.isArray(i)&&i.length>n&&(n=i.length)}),n},h.color=Ye?function(a){return a instanceof CanvasGradient&&(a=_.global.defaultColor),Ye(a)}:function(a){return console.error(\"Color.js not found!\"),a},h.getHoverColor=function(a){return a instanceof CanvasPattern||a instanceof CanvasGradient?a:h.color(a).saturate(.5).darken(.1).rgbString()}};function be(){throw new Error(\"This method is not implemented: either no adapter can be found or an incomplete integration was provided.\")}function tt(e){this.options=e||{}}h.extend(tt.prototype,{formats:be,parse:be,format:be,add:be,diff:be,startOf:be,endOf:be,_create:function(e){return e}}),tt.override=function(e){h.extend(tt.prototype,e)};var jn=tt,Ot={_date:jn},Ve={formatters:{values:function(e){return h.isArray(e)?e:\"\"+e},linear:function(e,t,r){var a=r.length>3?r[2]-r[1]:r[1]-r[0];Math.abs(a)>1&&e!==Math.floor(e)&&(a=e-Math.floor(e));var n=h.log10(Math.abs(a)),i=\"\";if(e!==0){var o=Math.max(Math.abs(r[0]),Math.abs(r[r.length-1]));if(o<1e-4){var l=h.log10(Math.abs(e)),s=Math.floor(l)-Math.floor(n);s=Math.max(Math.min(s,20),0),i=e.toExponential(s)}else{var u=-1*Math.floor(n);u=Math.max(Math.min(u,20),0),i=e.toFixed(u)}}else i=\"0\";return i},logarithmic:function(e,t,r){var a=e/Math.pow(10,Math.floor(h.log10(e)));return e===0?\"0\":a===1||a===2||a===5||t===0||t===r.length-1?e.toExponential():\"\"}}},xe=h.isArray,je=h.isNullOrUndef,ye=h.valueOrDefault,Pe=h.valueAtIndexOrDefault;_._set(\"scale\",{display:!0,position:\"left\",offset:!1,gridLines:{display:!0,color:\"rgba(0,0,0,0.1)\",lineWidth:1,drawBorder:!0,drawOnChartArea:!0,drawTicks:!0,tickMarkLength:10,zeroLineWidth:1,zeroLineColor:\"rgba(0,0,0,0.25)\",zeroLineBorderDash:[],zeroLineBorderDashOffset:0,offsetGridLines:!1,borderDash:[],borderDashOffset:0},scaleLabel:{display:!1,labelString:\"\",padding:{top:4,bottom:4}},ticks:{beginAtZero:!1,minRotation:0,maxRotation:50,mirror:!1,padding:0,reverse:!1,display:!0,autoSkip:!0,autoSkipPadding:0,labelOffset:0,callback:Ve.formatters.values,minor:{},major:{}}});function qn(e,t){for(var r=[],a=e.length/t,n=0,i=e.length;n<i;n+=a)r.push(e[Math.floor(n)]);return r}function Un(e,t,r){var a=e.getTicks().length,n=Math.min(t,a-1),i=e.getPixelForTick(n),o=e._startPixel,l=e._endPixel,s=1e-6,u;if(!(r&&(a===1?u=Math.max(i-o,l-i):t===0?u=(e.getPixelForTick(1)-i)/2:u=(i-e.getPixelForTick(n-1))/2,i+=n<t?u:-u,i<o-s||i>l+s)))return i}function $n(e,t){h.each(e,function(r){var a=r.gc,n=a.length/2,i;if(n>t){for(i=0;i<n;++i)delete r.data[a[i]];a.splice(0,n)}})}function Yn(e,t,r,a){var n=r.length,i=[],o=[],l=[],s=0,u=0,d,f,c,v,g,p,m,b,x,y,w,k,D;for(d=0;d<n;++d){if(v=r[d].label,g=r[d].major?t.major:t.minor,e.font=p=g.string,m=a[p]=a[p]||{data:{},gc:[]},b=g.lineHeight,x=y=0,!je(v)&&!xe(v))x=h.measureText(e,m.data,m.gc,x,v),y=b;else if(xe(v))for(f=0,c=v.length;f<c;++f)w=v[f],!je(w)&&!xe(w)&&(x=h.measureText(e,m.data,m.gc,x,w),y+=b);i.push(x),o.push(y),l.push(b/2),s=Math.max(x,s),u=Math.max(y,u)}$n(a,n),k=i.indexOf(s),D=o.indexOf(u);function C(P){return{width:i[P]||0,height:o[P]||0,offset:l[P]||0}}return{first:C(0),last:C(n-1),widest:C(k),highest:C(D)}}function qe(e){return e.drawTicks?e.tickMarkLength:0}function Lt(e){var t,r;return e.display?(t=h.options._parseFont(e),r=h.options.toPadding(e.padding),t.lineHeight+r.height):0}function Ir(e,t){return h.extend(h.options._parseFont({fontFamily:ye(t.fontFamily,e.fontFamily),fontSize:ye(t.fontSize,e.fontSize),fontStyle:ye(t.fontStyle,e.fontStyle),lineHeight:ye(t.lineHeight,e.lineHeight)}),{color:h.options.resolve([t.fontColor,e.fontColor,_.global.defaultFontColor])})}function Rt(e){var t=Ir(e,e.minor),r=e.major.enabled?Ir(e,e.major):t;return{minor:t,major:r}}function Bt(e){var t=[],r,a,n;for(a=0,n=e.length;a<n;++a)r=e[a],typeof r._index!=\"undefined\"&&t.push(r);return t}function Gn(e){var t=e.length,r,a;if(t<2)return!1;for(a=e[0],r=1;r<t;++r)if(e[r]-e[r-1]!==a)return!1;return a}function Xn(e,t,r,a){var n=Gn(e),i=(t.length-1)/a,o,l,s,u;if(!n)return Math.max(i,1);for(o=h.math._factorize(n),s=0,u=o.length-1;s<u;s++)if(l=o[s],l>i)return l;return Math.max(i,1)}function Kn(e){var t=[],r,a;for(r=0,a=e.length;r<a;r++)e[r].major&&t.push(r);return t}function Zn(e,t,r){var a=0,n=t[0],i,o;for(r=Math.ceil(r),i=0;i<e.length;i++)o=e[i],i===n?(o._index=i,a++,n=t[a*r]):delete o.label}function rt(e,t,r,a){var n=ye(r,0),i=Math.min(ye(a,e.length),e.length),o=0,l,s,u,d;for(t=Math.ceil(t),a&&(l=a-r,t=l/Math.floor(l/t)),d=n;d<0;)o++,d=Math.round(n+o*t);for(s=Math.max(n,0);s<i;s++)u=e[s],s===d?(u._index=s,o++,d=Math.round(n+o*t)):delete u.label}var Nt=ee.extend({zeroLineIndex:0,getPadding:function(){var e=this;return{left:e.paddingLeft||0,top:e.paddingTop||0,right:e.paddingRight||0,bottom:e.paddingBottom||0}},getTicks:function(){return this._ticks},_getLabels:function(){var e=this.chart.data;return this.options.labels||(this.isHorizontal()?e.xLabels:e.yLabels)||e.labels||[]},mergeTicksOptions:function(){},beforeUpdate:function(){h.callback(this.options.beforeUpdate,[this])},update:function(e,t,r){var a=this,n=a.options.ticks,i=n.sampleSize,o,l,s,u,d;if(a.beforeUpdate(),a.maxWidth=e,a.maxHeight=t,a.margins=h.extend({left:0,right:0,top:0,bottom:0},r),a._ticks=null,a.ticks=null,a._labelSizes=null,a._maxLabelLines=0,a.longestLabelWidth=0,a.longestTextCache=a.longestTextCache||{},a._gridLineItems=null,a._labelItems=null,a.beforeSetDimensions(),a.setDimensions(),a.afterSetDimensions(),a.beforeDataLimits(),a.determineDataLimits(),a.afterDataLimits(),a.beforeBuildTicks(),u=a.buildTicks()||[],u=a.afterBuildTicks(u)||u,(!u||!u.length)&&a.ticks)for(u=[],o=0,l=a.ticks.length;o<l;++o)u.push({value:a.ticks[o],major:!1});return a._ticks=u,d=i<u.length,s=a._convertTicksToLabels(d?qn(u,i):u),a._configure(),a.beforeCalculateTickRotation(),a.calculateTickRotation(),a.afterCalculateTickRotation(),a.beforeFit(),a.fit(),a.afterFit(),a._ticksToDraw=n.display&&(n.autoSkip||n.source===\"auto\")?a._autoSkip(u):u,d&&(s=a._convertTicksToLabels(a._ticksToDraw)),a.ticks=s,a.afterUpdate(),a.minSize},_configure:function(){var e=this,t=e.options.ticks.reverse,r,a;e.isHorizontal()?(r=e.left,a=e.right):(r=e.top,a=e.bottom,t=!t),e._startPixel=r,e._endPixel=a,e._reversePixels=t,e._length=a-r},afterUpdate:function(){h.callback(this.options.afterUpdate,[this])},beforeSetDimensions:function(){h.callback(this.options.beforeSetDimensions,[this])},setDimensions:function(){var e=this;e.isHorizontal()?(e.width=e.maxWidth,e.left=0,e.right=e.width):(e.height=e.maxHeight,e.top=0,e.bottom=e.height),e.paddingLeft=0,e.paddingTop=0,e.paddingRight=0,e.paddingBottom=0},afterSetDimensions:function(){h.callback(this.options.afterSetDimensions,[this])},beforeDataLimits:function(){h.callback(this.options.beforeDataLimits,[this])},determineDataLimits:h.noop,afterDataLimits:function(){h.callback(this.options.afterDataLimits,[this])},beforeBuildTicks:function(){h.callback(this.options.beforeBuildTicks,[this])},buildTicks:h.noop,afterBuildTicks:function(e){var t=this;return xe(e)&&e.length?h.callback(t.options.afterBuildTicks,[t,e]):(t.ticks=h.callback(t.options.afterBuildTicks,[t,t.ticks])||t.ticks,e)},beforeTickToLabelConversion:function(){h.callback(this.options.beforeTickToLabelConversion,[this])},convertTicksToLabels:function(){var e=this,t=e.options.ticks;e.ticks=e.ticks.map(t.userCallback||t.callback,this)},afterTickToLabelConversion:function(){h.callback(this.options.afterTickToLabelConversion,[this])},beforeCalculateTickRotation:function(){h.callback(this.options.beforeCalculateTickRotation,[this])},calculateTickRotation:function(){var e=this,t=e.options,r=t.ticks,a=e.getTicks().length,n=r.minRotation||0,i=r.maxRotation,o=n,l,s,u,d,f,c,v;if(!e._isVisible()||!r.display||n>=i||a<=1||!e.isHorizontal()){e.labelRotation=n;return}l=e._getLabelSizes(),s=l.widest.width,u=l.highest.height-l.highest.offset,d=Math.min(e.maxWidth,e.chart.width-s),f=t.offset?e.maxWidth/a:d/(a-1),s+6>f&&(f=d/(a-(t.offset?.5:1)),c=e.maxHeight-qe(t.gridLines)-r.padding-Lt(t.scaleLabel),v=Math.sqrt(s*s+u*u),o=h.toDegrees(Math.min(Math.asin(Math.min((l.highest.height+6)/f,1)),Math.asin(Math.min(c/v,1))-Math.asin(u/v))),o=Math.max(n,Math.min(i,o))),e.labelRotation=o},afterCalculateTickRotation:function(){h.callback(this.options.afterCalculateTickRotation,[this])},beforeFit:function(){h.callback(this.options.beforeFit,[this])},fit:function(){var e=this,t=e.minSize={width:0,height:0},r=e.chart,a=e.options,n=a.ticks,i=a.scaleLabel,o=a.gridLines,l=e._isVisible(),s=a.position===\"bottom\",u=e.isHorizontal();if(u?t.width=e.maxWidth:l&&(t.width=qe(o)+Lt(i)),u?l&&(t.height=qe(o)+Lt(i)):t.height=e.maxHeight,n.display&&l){var d=Rt(n),f=e._getLabelSizes(),c=f.first,v=f.last,g=f.widest,p=f.highest,m=d.minor.lineHeight*.4,b=n.padding;if(u){var x=e.labelRotation!==0,y=h.toRadians(e.labelRotation),w=Math.cos(y),k=Math.sin(y),D=k*g.width+w*(p.height-(x?p.offset:0))+(x?0:m);t.height=Math.min(e.maxHeight,t.height+D+b);var C=e.getPixelForTick(0)-e.left,P=e.right-e.getPixelForTick(e.getTicks().length-1),T,R;x?(T=s?w*c.width+k*c.offset:k*(c.height-c.offset),R=s?k*(v.height-v.offset):w*v.width+k*v.offset):(T=c.width/2,R=v.width/2),e.paddingLeft=Math.max((T-C)*e.width/(e.width-C),0)+3,e.paddingRight=Math.max((R-P)*e.width/(e.width-P),0)+3}else{var L=n.mirror?0:g.width+b+m;t.width=Math.min(e.maxWidth,t.width+L),e.paddingTop=c.height/2,e.paddingBottom=v.height/2}}e.handleMargins(),u?(e.width=e._length=r.width-e.margins.left-e.margins.right,e.height=t.height):(e.width=t.width,e.height=e._length=r.height-e.margins.top-e.margins.bottom)},handleMargins:function(){var e=this;e.margins&&(e.margins.left=Math.max(e.paddingLeft,e.margins.left),e.margins.top=Math.max(e.paddingTop,e.margins.top),e.margins.right=Math.max(e.paddingRight,e.margins.right),e.margins.bottom=Math.max(e.paddingBottom,e.margins.bottom))},afterFit:function(){h.callback(this.options.afterFit,[this])},isHorizontal:function(){var e=this.options.position;return e===\"top\"||e===\"bottom\"},isFullWidth:function(){return this.options.fullWidth},getRightValue:function(e){if(je(e))return NaN;if((typeof e==\"number\"||e instanceof Number)&&!isFinite(e))return NaN;if(e){if(this.isHorizontal()){if(e.x!==void 0)return this.getRightValue(e.x)}else if(e.y!==void 0)return this.getRightValue(e.y)}return e},_convertTicksToLabels:function(e){var t=this,r,a,n;for(t.ticks=e.map(function(i){return i.value}),t.beforeTickToLabelConversion(),r=t.convertTicksToLabels(e)||t.ticks,t.afterTickToLabelConversion(),a=0,n=e.length;a<n;++a)e[a].label=r[a];return r},_getLabelSizes:function(){var e=this,t=e._labelSizes;return t||(e._labelSizes=t=Yn(e.ctx,Rt(e.options.ticks),e.getTicks(),e.longestTextCache),e.longestLabelWidth=t.widest.width),t},_parseValue:function(e){var t,r,a,n;return xe(e)?(t=+this.getRightValue(e[0]),r=+this.getRightValue(e[1]),a=Math.min(t,r),n=Math.max(t,r)):(e=+this.getRightValue(e),t=void 0,r=e,a=e,n=e),{min:a,max:n,start:t,end:r}},_getScaleLabel:function(e){var t=this._parseValue(e);return t.start!==void 0?\"[\"+t.start+\", \"+t.end+\"]\":+this.getRightValue(e)},getLabelForIndex:h.noop,getPixelForValue:h.noop,getValueForPixel:h.noop,getPixelForTick:function(e){var t=this,r=t.options.offset,a=t._ticks.length,n=1/Math.max(a-(r?0:1),1);return e<0||e>a-1?null:t.getPixelForDecimal(e*n+(r?n/2:0))},getPixelForDecimal:function(e){var t=this;return t._reversePixels&&(e=1-e),t._startPixel+e*t._length},getDecimalForPixel:function(e){var t=(e-this._startPixel)/this._length;return this._reversePixels?1-t:t},getBasePixel:function(){return this.getPixelForValue(this.getBaseValue())},getBaseValue:function(){var e=this,t=e.min,r=e.max;return e.beginAtZero?0:t<0&&r<0?r:t>0&&r>0?t:0},_autoSkip:function(e){var t=this,r=t.options.ticks,a=t._length,n=r.maxTicksLimit||a/t._tickSize()+1,i=r.major.enabled?Kn(e):[],o=i.length,l=i[0],s=i[o-1],u,d,f,c;if(o>n)return Zn(e,i,o/n),Bt(e);if(f=Xn(i,e,a,n),o>0){for(u=0,d=o-1;u<d;u++)rt(e,f,i[u],i[u+1]);return c=o>1?(s-l)/(o-1):null,rt(e,f,h.isNullOrUndef(c)?0:l-c,l),rt(e,f,s,h.isNullOrUndef(c)?e.length:s+c),Bt(e)}return rt(e,f),Bt(e)},_tickSize:function(){var e=this,t=e.options.ticks,r=h.toRadians(e.labelRotation),a=Math.abs(Math.cos(r)),n=Math.abs(Math.sin(r)),i=e._getLabelSizes(),o=t.autoSkipPadding||0,l=i?i.widest.width+o:0,s=i?i.highest.height+o:0;return e.isHorizontal()?s*a>l*n?l/a:s/n:s*n<l*a?s/a:l/n},_isVisible:function(){var e=this,t=e.chart,r=e.options.display,a,n,i;if(r!==\"auto\")return!!r;for(a=0,n=t.data.datasets.length;a<n;++a)if(t.isDatasetVisible(a)&&(i=t.getDatasetMeta(a),i.xAxisID===e.id||i.yAxisID===e.id))return!0;return!1},_computeGridLineItems:function(e){var t=this,r=t.chart,a=t.options,n=a.gridLines,i=a.position,o=n.offsetGridLines,l=t.isHorizontal(),s=t._ticksToDraw,u=s.length+(o?1:0),d=qe(n),f=[],c=n.drawBorder?Pe(n.lineWidth,0,0):0,v=c/2,g=h._alignPixel,p=function(Ki){return g(r,Ki,c)},m,b,x,y,w,k,D,C,P,T,R,L,I,B,Te,Fe,$t;for(i===\"top\"?(m=p(t.bottom),D=t.bottom-d,P=m-v,R=p(e.top)+v,I=e.bottom):i===\"bottom\"?(m=p(t.top),R=e.top,I=p(e.bottom)-v,D=m+v,P=t.top+d):i===\"left\"?(m=p(t.right),k=t.right-d,C=m-v,T=p(e.left)+v,L=e.right):(m=p(t.left),T=e.left,L=p(e.right)-v,k=m+v,C=t.left+d),b=0;b<u;++b)x=s[b]||{},!(je(x.label)&&b<s.length)&&(b===t.zeroLineIndex&&a.offset===o?(B=n.zeroLineWidth,Te=n.zeroLineColor,Fe=n.zeroLineBorderDash||[],$t=n.zeroLineBorderDashOffset||0):(B=Pe(n.lineWidth,b,1),Te=Pe(n.color,b,\"rgba(0,0,0,0.1)\"),Fe=n.borderDash||[],$t=n.borderDashOffset||0),y=Un(t,x._index||b,o),y!==void 0&&(w=g(r,y,B),l?k=C=T=L=w:D=P=R=I=w,f.push({tx1:k,ty1:D,tx2:C,ty2:P,x1:T,y1:R,x2:L,y2:I,width:B,color:Te,borderDash:Fe,borderDashOffset:$t})));return f.ticksLength=u,f.borderValue=m,f},_computeLabelItems:function(){var e=this,t=e.options,r=t.ticks,a=t.position,n=r.mirror,i=e.isHorizontal(),o=e._ticksToDraw,l=Rt(r),s=r.padding,u=qe(t.gridLines),d=-h.toRadians(e.labelRotation),f=[],c,v,g,p,m,b,x,y,w,k,D,C;for(a===\"top\"?(b=e.bottom-u-s,x=d?\"left\":\"center\"):a===\"bottom\"?(b=e.top+u+s,x=d?\"right\":\"center\"):a===\"left\"?(m=e.right-(n?0:u)-s,x=n?\"left\":\"right\"):(m=e.left+(n?0:u)+s,x=n?\"right\":\"left\"),c=0,v=o.length;c<v;++c)g=o[c],p=g.label,!je(p)&&(y=e.getPixelForTick(g._index||c)+r.labelOffset,w=g.major?l.major:l.minor,k=w.lineHeight,D=xe(p)?p.length:1,i?(m=y,C=a===\"top\"?((d?1:.5)-D)*k:(d?0:.5)*k):(b=y,C=(1-D)*k/2),f.push({x:m,y:b,rotation:d,label:p,font:w,textOffset:C,textAlign:x}));return f},_drawGrid:function(e){var t=this,r=t.options.gridLines;if(!!r.display){var a=t.ctx,n=t.chart,i=h._alignPixel,o=r.drawBorder?Pe(r.lineWidth,0,0):0,l=t._gridLineItems||(t._gridLineItems=t._computeGridLineItems(e)),s,u,d,f,c;for(d=0,f=l.length;d<f;++d)c=l[d],s=c.width,u=c.color,s&&u&&(a.save(),a.lineWidth=s,a.strokeStyle=u,a.setLineDash&&(a.setLineDash(c.borderDash),a.lineDashOffset=c.borderDashOffset),a.beginPath(),r.drawTicks&&(a.moveTo(c.tx1,c.ty1),a.lineTo(c.tx2,c.ty2)),r.drawOnChartArea&&(a.moveTo(c.x1,c.y1),a.lineTo(c.x2,c.y2)),a.stroke(),a.restore());if(o){var v=o,g=Pe(r.lineWidth,l.ticksLength-1,1),p=l.borderValue,m,b,x,y;t.isHorizontal()?(m=i(n,t.left,v)-v/2,b=i(n,t.right,g)+g/2,x=y=p):(x=i(n,t.top,v)-v/2,y=i(n,t.bottom,g)+g/2,m=b=p),a.lineWidth=o,a.strokeStyle=Pe(r.color,0),a.beginPath(),a.moveTo(m,x),a.lineTo(b,y),a.stroke()}}},_drawLabels:function(){var e=this,t=e.options.ticks;if(!!t.display){var r=e.ctx,a=e._labelItems||(e._labelItems=e._computeLabelItems()),n,i,o,l,s,u,d,f;for(n=0,o=a.length;n<o;++n){if(s=a[n],u=s.font,r.save(),r.translate(s.x,s.y),r.rotate(s.rotation),r.font=u.string,r.fillStyle=u.color,r.textBaseline=\"middle\",r.textAlign=s.textAlign,d=s.label,f=s.textOffset,xe(d))for(i=0,l=d.length;i<l;++i)r.fillText(\"\"+d[i],0,f),f+=u.lineHeight;else r.fillText(d,0,f);r.restore()}}},_drawTitle:function(){var e=this,t=e.ctx,r=e.options,a=r.scaleLabel;if(!!a.display){var n=ye(a.fontColor,_.global.defaultFontColor),i=h.options._parseFont(a),o=h.options.toPadding(a.padding),l=i.lineHeight/2,s=r.position,u=0,d,f;if(e.isHorizontal())d=e.left+e.width/2,f=s===\"bottom\"?e.bottom-l-o.bottom:e.top+l+o.top;else{var c=s===\"left\";d=c?e.left+l+o.top:e.right-l-o.top,f=e.top+e.height/2,u=c?-.5*Math.PI:.5*Math.PI}t.save(),t.translate(d,f),t.rotate(u),t.textAlign=\"center\",t.textBaseline=\"middle\",t.fillStyle=n,t.font=i.string,t.fillText(a.labelString,0,0),t.restore()}},draw:function(e){var t=this;!t._isVisible()||(t._drawGrid(e),t._drawTitle(),t._drawLabels())},_layers:function(){var e=this,t=e.options,r=t.ticks&&t.ticks.z||0,a=t.gridLines&&t.gridLines.z||0;return!e._isVisible()||r===a||e.draw!==e._draw?[{z:r,draw:function(){e.draw.apply(e,arguments)}}]:[{z:a,draw:function(){e._drawGrid.apply(e,arguments),e._drawTitle.apply(e,arguments)}},{z:r,draw:function(){e._drawLabels.apply(e,arguments)}}]},_getMatchingVisibleMetas:function(e){var t=this,r=t.isHorizontal();return t.chart._getSortedVisibleDatasetMetas().filter(function(a){return(!e||a.type===e)&&(r?a.xAxisID===t.id:a.yAxisID===t.id)})}});Nt.prototype._draw=Nt.prototype.draw;var W=Nt,zt=h.isNullOrUndef,Jn={position:\"bottom\"},Or=W.extend({determineDataLimits:function(){var e=this,t=e._getLabels(),r=e.options.ticks,a=r.min,n=r.max,i=0,o=t.length-1,l;a!==void 0&&(l=t.indexOf(a),l>=0&&(i=l)),n!==void 0&&(l=t.indexOf(n),l>=0&&(o=l)),e.minIndex=i,e.maxIndex=o,e.min=t[i],e.max=t[o]},buildTicks:function(){var e=this,t=e._getLabels(),r=e.minIndex,a=e.maxIndex;e.ticks=r===0&&a===t.length-1?t:t.slice(r,a+1)},getLabelForIndex:function(e,t){var r=this,a=r.chart;return a.getDatasetMeta(t).controller._getValueScaleId()===r.id?r.getRightValue(a.data.datasets[t].data[e]):r._getLabels()[e]},_configure:function(){var e=this,t=e.options.offset,r=e.ticks;W.prototype._configure.call(e),e.isHorizontal()||(e._reversePixels=!e._reversePixels),!!r&&(e._startValue=e.minIndex-(t?.5:0),e._valueRange=Math.max(r.length-(t?0:1),1))},getPixelForValue:function(e,t,r){var a=this,n,i,o;return!zt(t)&&!zt(r)&&(e=a.chart.data.datasets[r].data[t]),zt(e)||(n=a.isHorizontal()?e.x:e.y),(n!==void 0||e!==void 0&&isNaN(t))&&(i=a._getLabels(),e=h.valueOrDefault(n,e),o=i.indexOf(e),t=o!==-1?o:t,isNaN(t)&&(t=e)),a.getPixelForDecimal((t-a._startValue)/a._valueRange)},getPixelForTick:function(e){var t=this.ticks;return e<0||e>t.length-1?null:this.getPixelForValue(t[e],e+this.minIndex)},getValueForPixel:function(e){var t=this,r=Math.round(t._startValue+t.getDecimalForPixel(e)*t._valueRange);return Math.min(Math.max(r,0),t.ticks.length-1)},getBasePixel:function(){return this.bottom}}),Qn=Jn;Or._defaults=Qn;var ei=h.noop,_e=h.isNullOrUndef;function ti(e,t){var r=[],a=1e-14,n=e.stepSize,i=n||1,o=e.maxTicks-1,l=e.min,s=e.max,u=e.precision,d=t.min,f=t.max,c=h.niceNum((f-d)/o/i)*i,v,g,p,m;if(c<a&&_e(l)&&_e(s))return[d,f];m=Math.ceil(f/c)-Math.floor(d/c),m>o&&(c=h.niceNum(m*c/o/i)*i),n||_e(u)?v=Math.pow(10,h._decimalPlaces(c)):(v=Math.pow(10,u),c=Math.ceil(c*v)/v),g=Math.floor(d/c)*c,p=Math.ceil(f/c)*c,n&&(!_e(l)&&h.almostWhole(l/c,c/1e3)&&(g=l),!_e(s)&&h.almostWhole(s/c,c/1e3)&&(p=s)),m=(p-g)/c,h.almostEquals(m,Math.round(m),c/1e3)?m=Math.round(m):m=Math.ceil(m),g=Math.round(g*v)/v,p=Math.round(p*v)/v,r.push(_e(l)?g:l);for(var b=1;b<m;++b)r.push(Math.round((g+b*c)*v)/v);return r.push(_e(s)?p:s),r}var at=W.extend({getRightValue:function(e){return typeof e==\"string\"?+e:W.prototype.getRightValue.call(this,e)},handleTickRangeOptions:function(){var e=this,t=e.options,r=t.ticks;if(r.beginAtZero){var a=h.sign(e.min),n=h.sign(e.max);a<0&&n<0?e.max=0:a>0&&n>0&&(e.min=0)}var i=r.min!==void 0||r.suggestedMin!==void 0,o=r.max!==void 0||r.suggestedMax!==void 0;r.min!==void 0?e.min=r.min:r.suggestedMin!==void 0&&(e.min===null?e.min=r.suggestedMin:e.min=Math.min(e.min,r.suggestedMin)),r.max!==void 0?e.max=r.max:r.suggestedMax!==void 0&&(e.max===null?e.max=r.suggestedMax:e.max=Math.max(e.max,r.suggestedMax)),i!==o&&e.min>=e.max&&(i?e.max=e.min+1:e.min=e.max-1),e.min===e.max&&(e.max++,r.beginAtZero||e.min--)},getTickLimit:function(){var e=this,t=e.options.ticks,r=t.stepSize,a=t.maxTicksLimit,n;return r?n=Math.ceil(e.max/r)-Math.floor(e.min/r)+1:(n=e._computeTickLimit(),a=a||11),a&&(n=Math.min(a,n)),n},_computeTickLimit:function(){return Number.POSITIVE_INFINITY},handleDirectionalChanges:ei,buildTicks:function(){var e=this,t=e.options,r=t.ticks,a=e.getTickLimit();a=Math.max(2,a);var n={maxTicks:a,min:r.min,max:r.max,precision:r.precision,stepSize:h.valueOrDefault(r.fixedStepSize,r.stepSize)},i=e.ticks=ti(n,e);e.handleDirectionalChanges(),e.max=h.max(i),e.min=h.min(i),r.reverse?(i.reverse(),e.start=e.max,e.end=e.min):(e.start=e.min,e.end=e.max)},convertTicksToLabels:function(){var e=this;e.ticksAsNumbers=e.ticks.slice(),e.zeroLineIndex=e.ticks.indexOf(0),W.prototype.convertTicksToLabels.call(e)},_configure:function(){var e=this,t=e.getTicks(),r=e.min,a=e.max,n;W.prototype._configure.call(e),e.options.offset&&t.length&&(n=(a-r)/Math.max(t.length-1,1)/2,r-=n,a+=n),e._startValue=r,e._endValue=a,e._valueRange=a-r}}),ri={position:\"left\",ticks:{callback:Ve.formatters.linear}},ai=0,ni=1;function ii(e,t,r){var a=[r.type,t===void 0&&r.stack===void 0?r.index:\"\",r.stack].join(\".\");return e[a]===void 0&&(e[a]={pos:[],neg:[]}),e[a]}function oi(e,t,r,a){var n=e.options,i=n.stacked,o=ii(t,i,r),l=o.pos,s=o.neg,u=a.length,d,f;for(d=0;d<u;++d)f=e._parseValue(a[d]),!(isNaN(f.min)||isNaN(f.max)||r.data[d].hidden)&&(l[d]=l[d]||0,s[d]=s[d]||0,n.relativePoints?l[d]=100:f.min<0||f.max<0?s[d]+=f.min:l[d]+=f.max)}function si(e,t,r){var a=r.length,n,i;for(n=0;n<a;++n)i=e._parseValue(r[n]),!(isNaN(i.min)||isNaN(i.max)||t.data[n].hidden)&&(e.min=Math.min(e.min,i.min),e.max=Math.max(e.max,i.max))}var Lr=at.extend({determineDataLimits:function(){var e=this,t=e.options,r=e.chart,a=r.data.datasets,n=e._getMatchingVisibleMetas(),i=t.stacked,o={},l=n.length,s,u,d,f;if(e.min=Number.POSITIVE_INFINITY,e.max=Number.NEGATIVE_INFINITY,i===void 0)for(s=0;!i&&s<l;++s)u=n[s],i=u.stack!==void 0;for(s=0;s<l;++s)u=n[s],d=a[u.index].data,i?oi(e,o,u,d):si(e,u,d);h.each(o,function(c){f=c.pos.concat(c.neg),e.min=Math.min(e.min,h.min(f)),e.max=Math.max(e.max,h.max(f))}),e.min=h.isFinite(e.min)&&!isNaN(e.min)?e.min:ai,e.max=h.isFinite(e.max)&&!isNaN(e.max)?e.max:ni,e.handleTickRangeOptions()},_computeTickLimit:function(){var e=this,t;return e.isHorizontal()?Math.ceil(e.width/40):(t=h.options._parseFont(e.options.ticks),Math.ceil(e.height/t.lineHeight))},handleDirectionalChanges:function(){this.isHorizontal()||this.ticks.reverse()},getLabelForIndex:function(e,t){return this._getScaleLabel(this.chart.data.datasets[t].data[e])},getPixelForValue:function(e){var t=this;return t.getPixelForDecimal((+t.getRightValue(e)-t._startValue)/t._valueRange)},getValueForPixel:function(e){return this._startValue+this.getDecimalForPixel(e)*this._valueRange},getPixelForTick:function(e){var t=this.ticksAsNumbers;return e<0||e>t.length-1?null:this.getPixelForValue(t[e])}}),li=ri;Lr._defaults=li;var Et=h.valueOrDefault,H=h.math.log10;function ui(e,t){var r=[],a=Et(e.min,Math.pow(10,Math.floor(H(t.min)))),n=Math.floor(H(t.max)),i=Math.ceil(t.max/Math.pow(10,n)),o,l;a===0?(o=Math.floor(H(t.minNotZero)),l=Math.floor(t.minNotZero/Math.pow(10,o)),r.push(a),a=l*Math.pow(10,o)):(o=Math.floor(H(a)),l=Math.floor(a/Math.pow(10,o)));var s=o<0?Math.pow(10,Math.abs(o)):1;do r.push(a),++l,l===10&&(l=1,++o,s=o>=0?1:s),a=Math.round(l*Math.pow(10,o)*s)/s;while(o<n||o===n&&l<i);var u=Et(e.max,a);return r.push(u),r}var di={position:\"left\",ticks:{callback:Ve.formatters.logarithmic}};function nt(e,t){return h.isFinite(e)&&e>=0?e:t}var Rr=W.extend({determineDataLimits:function(){var e=this,t=e.options,r=e.chart,a=r.data.datasets,n=e.isHorizontal();function i(m){return n?m.xAxisID===e.id:m.yAxisID===e.id}var o,l,s,u,d,f;e.min=Number.POSITIVE_INFINITY,e.max=Number.NEGATIVE_INFINITY,e.minNotZero=Number.POSITIVE_INFINITY;var c=t.stacked;if(c===void 0){for(o=0;o<a.length;o++)if(l=r.getDatasetMeta(o),r.isDatasetVisible(o)&&i(l)&&l.stack!==void 0){c=!0;break}}if(t.stacked||c){var v={};for(o=0;o<a.length;o++){l=r.getDatasetMeta(o);var g=[l.type,t.stacked===void 0&&l.stack===void 0?o:\"\",l.stack].join(\".\");if(r.isDatasetVisible(o)&&i(l))for(v[g]===void 0&&(v[g]=[]),u=a[o].data,d=0,f=u.length;d<f;d++){var p=v[g];s=e._parseValue(u[d]),!(isNaN(s.min)||isNaN(s.max)||l.data[d].hidden||s.min<0||s.max<0)&&(p[d]=p[d]||0,p[d]+=s.max)}}h.each(v,function(m){if(m.length>0){var b=h.min(m),x=h.max(m);e.min=Math.min(e.min,b),e.max=Math.max(e.max,x)}})}else for(o=0;o<a.length;o++)if(l=r.getDatasetMeta(o),r.isDatasetVisible(o)&&i(l))for(u=a[o].data,d=0,f=u.length;d<f;d++)s=e._parseValue(u[d]),!(isNaN(s.min)||isNaN(s.max)||l.data[d].hidden||s.min<0||s.max<0)&&(e.min=Math.min(s.min,e.min),e.max=Math.max(s.max,e.max),s.min!==0&&(e.minNotZero=Math.min(s.min,e.minNotZero)));e.min=h.isFinite(e.min)?e.min:null,e.max=h.isFinite(e.max)?e.max:null,e.minNotZero=h.isFinite(e.minNotZero)?e.minNotZero:null,this.handleTickRangeOptions()},handleTickRangeOptions:function(){var e=this,t=e.options.ticks,r=1,a=10;e.min=nt(t.min,e.min),e.max=nt(t.max,e.max),e.min===e.max&&(e.min!==0&&e.min!==null?(e.min=Math.pow(10,Math.floor(H(e.min))-1),e.max=Math.pow(10,Math.floor(H(e.max))+1)):(e.min=r,e.max=a)),e.min===null&&(e.min=Math.pow(10,Math.floor(H(e.max))-1)),e.max===null&&(e.max=e.min!==0?Math.pow(10,Math.floor(H(e.min))+1):a),e.minNotZero===null&&(e.min>0?e.minNotZero=e.min:e.max<1?e.minNotZero=Math.pow(10,Math.floor(H(e.max))):e.minNotZero=r)},buildTicks:function(){var e=this,t=e.options.ticks,r=!e.isHorizontal(),a={min:nt(t.min),max:nt(t.max)},n=e.ticks=ui(a,e);e.max=h.max(n),e.min=h.min(n),t.reverse?(r=!r,e.start=e.max,e.end=e.min):(e.start=e.min,e.end=e.max),r&&n.reverse()},convertTicksToLabels:function(){this.tickValues=this.ticks.slice(),W.prototype.convertTicksToLabels.call(this)},getLabelForIndex:function(e,t){return this._getScaleLabel(this.chart.data.datasets[t].data[e])},getPixelForTick:function(e){var t=this.tickValues;return e<0||e>t.length-1?null:this.getPixelForValue(t[e])},_getFirstTickValue:function(e){var t=Math.floor(H(e)),r=Math.floor(e/Math.pow(10,t));return r*Math.pow(10,t)},_configure:function(){var e=this,t=e.min,r=0;W.prototype._configure.call(e),t===0&&(t=e._getFirstTickValue(e.minNotZero),r=Et(e.options.ticks.fontSize,_.global.defaultFontSize)/e._length),e._startValue=H(t),e._valueOffset=r,e._valueRange=(H(e.max)-H(t))/(1-r)},getPixelForValue:function(e){var t=this,r=0;return e=+t.getRightValue(e),e>t.min&&e>0&&(r=(H(e)-t._startValue)/t._valueRange+t._valueOffset),t.getPixelForDecimal(r)},getValueForPixel:function(e){var t=this,r=t.getDecimalForPixel(e);return r===0&&t.min===0?0:Math.pow(10,t._startValue+(r-t._valueOffset)*t._valueRange)}}),fi=di;Rr._defaults=fi;var it=h.valueOrDefault,Wt=h.valueAtIndexOrDefault,Br=h.options.resolve,hi={display:!0,animate:!0,position:\"chartArea\",angleLines:{display:!0,color:\"rgba(0,0,0,0.1)\",lineWidth:1,borderDash:[],borderDashOffset:0},gridLines:{circular:!1},ticks:{showLabelBackdrop:!0,backdropColor:\"rgba(255,255,255,0.75)\",backdropPaddingY:2,backdropPaddingX:2,callback:Ve.formatters.linear},pointLabels:{display:!0,fontSize:10,callback:function(e){return e}}};function Ht(e){var t=e.ticks;return t.display&&e.display?it(t.fontSize,_.global.defaultFontSize)+t.backdropPaddingY*2:0}function ci(e,t,r){return h.isArray(r)?{w:h.longestText(e,e.font,r),h:r.length*t}:{w:e.measureText(r).width,h:t}}function Nr(e,t,r,a,n){return e===a||e===n?{start:t-r/2,end:t+r/2}:e<a||e>n?{start:t-r,end:t}:{start:t,end:t+r}}function vi(e){var t=h.options._parseFont(e.options.pointLabels),r={l:0,r:e.width,t:0,b:e.height-e.paddingTop},a={},n,i,o;e.ctx.font=t.string,e._pointLabelSizes=[];var l=e.chart.data.labels.length;for(n=0;n<l;n++){o=e.getPointPosition(n,e.drawingArea+5),i=ci(e.ctx,t.lineHeight,e.pointLabels[n]),e._pointLabelSizes[n]=i;var s=e.getIndexAngle(n),u=h.toDegrees(s)%360,d=Nr(u,o.x,i.w,0,180),f=Nr(u,o.y,i.h,90,270);d.start<r.l&&(r.l=d.start,a.l=s),d.end>r.r&&(r.r=d.end,a.r=s),f.start<r.t&&(r.t=f.start,a.t=s),f.end>r.b&&(r.b=f.end,a.b=s)}e.setReductions(e.drawingArea,r,a)}function gi(e){return e===0||e===180?\"center\":e<180?\"left\":\"right\"}function pi(e,t,r,a){var n=r.y+a/2,i,o;if(h.isArray(t))for(i=0,o=t.length;i<o;++i)e.fillText(t[i],r.x,n),n+=a;else e.fillText(t,r.x,n)}function mi(e,t,r){e===90||e===270?r.y-=t.h/2:(e>270||e<90)&&(r.y-=t.h)}function bi(e){var t=e.ctx,r=e.options,a=r.pointLabels,n=Ht(r),i=e.getDistanceFromCenterForValue(r.ticks.reverse?e.min:e.max),o=h.options._parseFont(a);t.save(),t.font=o.string,t.textBaseline=\"middle\";for(var l=e.chart.data.labels.length-1;l>=0;l--){var s=l===0?n/2:0,u=e.getPointPosition(l,i+s+5),d=Wt(a.fontColor,l,_.global.defaultFontColor);t.fillStyle=d;var f=e.getIndexAngle(l),c=h.toDegrees(f);t.textAlign=gi(c),mi(c,e._pointLabelSizes[l],u),pi(t,e.pointLabels[l],u,o.lineHeight)}t.restore()}function xi(e,t,r,a){var n=e.ctx,i=t.circular,o=e.chart.data.labels.length,l=Wt(t.color,a-1),s=Wt(t.lineWidth,a-1),u;if(!(!i&&!o||!l||!s)){if(n.save(),n.strokeStyle=l,n.lineWidth=s,n.setLineDash&&(n.setLineDash(t.borderDash||[]),n.lineDashOffset=t.borderDashOffset||0),n.beginPath(),i)n.arc(e.xCenter,e.yCenter,r,0,Math.PI*2);else{u=e.getPointPosition(0,r),n.moveTo(u.x,u.y);for(var d=1;d<o;d++)u=e.getPointPosition(d,r),n.lineTo(u.x,u.y)}n.closePath(),n.stroke(),n.restore()}}function ot(e){return h.isNumber(e)?e:0}var zr=at.extend({setDimensions:function(){var e=this;e.width=e.maxWidth,e.height=e.maxHeight,e.paddingTop=Ht(e.options)/2,e.xCenter=Math.floor(e.width/2),e.yCenter=Math.floor((e.height-e.paddingTop)/2),e.drawingArea=Math.min(e.height-e.paddingTop,e.width)/2},determineDataLimits:function(){var e=this,t=e.chart,r=Number.POSITIVE_INFINITY,a=Number.NEGATIVE_INFINITY;h.each(t.data.datasets,function(n,i){if(t.isDatasetVisible(i)){var o=t.getDatasetMeta(i);h.each(n.data,function(l,s){var u=+e.getRightValue(l);isNaN(u)||o.data[s].hidden||(r=Math.min(u,r),a=Math.max(u,a))})}}),e.min=r===Number.POSITIVE_INFINITY?0:r,e.max=a===Number.NEGATIVE_INFINITY?0:a,e.handleTickRangeOptions()},_computeTickLimit:function(){return Math.ceil(this.drawingArea/Ht(this.options))},convertTicksToLabels:function(){var e=this;at.prototype.convertTicksToLabels.call(e),e.pointLabels=e.chart.data.labels.map(function(){var t=h.callback(e.options.pointLabels.callback,arguments,e);return t||t===0?t:\"\"})},getLabelForIndex:function(e,t){return+this.getRightValue(this.chart.data.datasets[t].data[e])},fit:function(){var e=this,t=e.options;t.display&&t.pointLabels.display?vi(e):e.setCenterPoint(0,0,0,0)},setReductions:function(e,t,r){var a=this,n=t.l/Math.sin(r.l),i=Math.max(t.r-a.width,0)/Math.sin(r.r),o=-t.t/Math.cos(r.t),l=-Math.max(t.b-(a.height-a.paddingTop),0)/Math.cos(r.b);n=ot(n),i=ot(i),o=ot(o),l=ot(l),a.drawingArea=Math.min(Math.floor(e-(n+i)/2),Math.floor(e-(o+l)/2)),a.setCenterPoint(n,i,o,l)},setCenterPoint:function(e,t,r,a){var n=this,i=n.width-t-n.drawingArea,o=e+n.drawingArea,l=r+n.drawingArea,s=n.height-n.paddingTop-a-n.drawingArea;n.xCenter=Math.floor((o+i)/2+n.left),n.yCenter=Math.floor((l+s)/2+n.top+n.paddingTop)},getIndexAngle:function(e){var t=this.chart,r=360/t.data.labels.length,a=t.options||{},n=a.startAngle||0,i=(e*r+n)%360;return(i<0?i+360:i)*Math.PI*2/360},getDistanceFromCenterForValue:function(e){var t=this;if(h.isNullOrUndef(e))return NaN;var r=t.drawingArea/(t.max-t.min);return t.options.ticks.reverse?(t.max-e)*r:(e-t.min)*r},getPointPosition:function(e,t){var r=this,a=r.getIndexAngle(e)-Math.PI/2;return{x:Math.cos(a)*t+r.xCenter,y:Math.sin(a)*t+r.yCenter}},getPointPositionForValue:function(e,t){return this.getPointPosition(e,this.getDistanceFromCenterForValue(t))},getBasePosition:function(e){var t=this,r=t.min,a=t.max;return t.getPointPositionForValue(e||0,t.beginAtZero?0:r<0&&a<0?a:r>0&&a>0?r:0)},_drawGrid:function(){var e=this,t=e.ctx,r=e.options,a=r.gridLines,n=r.angleLines,i=it(n.lineWidth,a.lineWidth),o=it(n.color,a.color),l,s,u;if(r.pointLabels.display&&bi(e),a.display&&h.each(e.ticks,function(d,f){f!==0&&(s=e.getDistanceFromCenterForValue(e.ticksAsNumbers[f]),xi(e,a,s,f))}),n.display&&i&&o){for(t.save(),t.lineWidth=i,t.strokeStyle=o,t.setLineDash&&(t.setLineDash(Br([n.borderDash,a.borderDash,[]])),t.lineDashOffset=Br([n.borderDashOffset,a.borderDashOffset,0])),l=e.chart.data.labels.length-1;l>=0;l--)s=e.getDistanceFromCenterForValue(r.ticks.reverse?e.min:e.max),u=e.getPointPosition(l,s),t.beginPath(),t.moveTo(e.xCenter,e.yCenter),t.lineTo(u.x,u.y),t.stroke();t.restore()}},_drawLabels:function(){var e=this,t=e.ctx,r=e.options,a=r.ticks;if(!!a.display){var n=e.getIndexAngle(0),i=h.options._parseFont(a),o=it(a.fontColor,_.global.defaultFontColor),l,s;t.save(),t.font=i.string,t.translate(e.xCenter,e.yCenter),t.rotate(n),t.textAlign=\"center\",t.textBaseline=\"middle\",h.each(e.ticks,function(u,d){d===0&&!a.reverse||(l=e.getDistanceFromCenterForValue(e.ticksAsNumbers[d]),a.showLabelBackdrop&&(s=t.measureText(u).width,t.fillStyle=a.backdropColor,t.fillRect(-s/2-a.backdropPaddingX,-l-i.size/2-a.backdropPaddingY,s+a.backdropPaddingX*2,i.size+a.backdropPaddingY*2)),t.fillStyle=o,t.fillText(u,0,-l))}),t.restore()}},_drawTitle:h.noop}),yi=hi;zr._defaults=yi;var Vt=h._deprecated,Er=h.options.resolve,_i=h.valueOrDefault,Wr=Number.MIN_SAFE_INTEGER||-9007199254740991,jt=Number.MAX_SAFE_INTEGER||9007199254740991,st={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},V=Object.keys(st);function Hr(e,t){return e-t}function ki(e){var t={},r=[],a,n,i;for(a=0,n=e.length;a<n;++a)i=e[a],t[i]||(t[i]=!0,r.push(i));return r}function Vr(e){return h.valueOrDefault(e.time.min,e.ticks.min)}function jr(e){return h.valueOrDefault(e.time.max,e.ticks.max)}function wi(e,t,r,a){if(a===\"linear\"||!e.length)return[{time:t,pos:0},{time:r,pos:1}];var n=[],i=[t],o,l,s,u,d;for(o=0,l=e.length;o<l;++o)u=e[o],u>t&&u<r&&i.push(u);for(i.push(r),o=0,l=i.length;o<l;++o)d=i[o+1],s=i[o-1],u=i[o],(s===void 0||d===void 0||Math.round((d+s)/2)!==u)&&n.push({time:u,pos:o/(l-1)});return n}function Mi(e,t,r){for(var a=0,n=e.length-1,i,o,l;a>=0&&a<=n;)if(i=a+n>>1,o=e[i-1]||null,l=e[i],o)if(l[t]<r)a=i+1;else if(o[t]>r)n=i-1;else return{lo:o,hi:l};else return{lo:null,hi:l};return{lo:l,hi:null}}function Ae(e,t,r,a){var n=Mi(e,t,r),i=n.lo?n.hi?n.lo:e[e.length-2]:e[0],o=n.lo?n.hi?n.hi:e[e.length-1]:e[1],l=o[t]-i[t],s=l?(r-i[t])/l:0,u=(o[a]-i[a])*s;return i[a]+u}function qt(e,t){var r=e._adapter,a=e.options.time,n=a.parser,i=n||a.format,o=t;return typeof n==\"function\"&&(o=n(o)),h.isFinite(o)||(o=typeof i==\"string\"?r.parse(o,i):r.parse(o)),o!==null?+o:(!n&&typeof i==\"function\"&&(o=i(t),h.isFinite(o)||(o=r.parse(o))),o)}function ke(e,t){if(h.isNullOrUndef(t))return null;var r=e.options.time,a=qt(e,e.getRightValue(t));return a===null||r.round&&(a=+e._adapter.startOf(a,r.round)),a}function qr(e,t,r,a){var n=V.length,i,o,l;for(i=V.indexOf(e);i<n-1;++i)if(o=st[V[i]],l=o.steps?o.steps:jt,o.common&&Math.ceil((r-t)/(l*o.size))<=a)return V[i];return V[n-1]}function Si(e,t,r,a,n){var i,o;for(i=V.length-1;i>=V.indexOf(r);i--)if(o=V[i],st[o].common&&e._adapter.diff(n,a,o)>=t-1)return o;return V[r?V.indexOf(r):0]}function Ci(e){for(var t=V.indexOf(e)+1,r=V.length;t<r;++t)if(st[V[t]].common)return V[t]}function Di(e,t,r,a){var n=e._adapter,i=e.options,o=i.time,l=o.unit||qr(o.minUnit,t,r,a),s=Er([o.stepSize,o.unitStepSize,1]),u=l===\"week\"?o.isoWeekday:!1,d=t,f=[],c;if(u&&(d=+n.startOf(d,\"isoWeek\",u)),d=+n.startOf(d,u?\"day\":l),n.diff(r,t,l)>1e5*s)throw t+\" and \"+r+\" are too far apart with stepSize of \"+s+\" \"+l;for(c=d;c<r;c=+n.add(c,s,l))f.push(c);return(c===r||i.bounds===\"ticks\")&&f.push(c),f}function Pi(e,t,r,a,n){var i=0,o=0,l,s;return n.offset&&t.length&&(l=Ae(e,\"time\",t[0],\"pos\"),t.length===1?i=1-l:i=(Ae(e,\"time\",t[1],\"pos\")-l)/2,s=Ae(e,\"time\",t[t.length-1],\"pos\"),t.length===1?o=s:o=(s-Ae(e,\"time\",t[t.length-2],\"pos\"))/2),{start:i,end:o,factor:1/(i+1+o)}}function Ai(e,t,r,a){var n=e._adapter,i=+n.startOf(t[0].value,a),o=t[t.length-1].value,l,s;for(l=i;l<=o;l=+n.add(l,1,a))s=r[l],s>=0&&(t[s].major=!0);return t}function Ur(e,t,r){var a=[],n={},i=t.length,o,l;for(o=0;o<i;++o)l=t[o],n[l]=o,a.push({value:l,major:!1});return i===0||!r?a:Ai(e,a,n,r)}var Ti={position:\"bottom\",distribution:\"linear\",bounds:\"data\",adapters:{},time:{parser:!1,unit:!1,round:!1,displayFormat:!1,isoWeekday:!1,minUnit:\"millisecond\",displayFormats:{}},ticks:{autoSkip:!1,source:\"auto\",major:{enabled:!1}}},$r=W.extend({initialize:function(){this.mergeTicksOptions(),W.prototype.initialize.call(this)},update:function(){var e=this,t=e.options,r=t.time||(t.time={}),a=e._adapter=new Ot._date(t.adapters.date);return Vt(\"time scale\",r.format,\"time.format\",\"time.parser\"),Vt(\"time scale\",r.min,\"time.min\",\"ticks.min\"),Vt(\"time scale\",r.max,\"time.max\",\"ticks.max\"),h.mergeIf(r.displayFormats,a.formats()),W.prototype.update.apply(e,arguments)},getRightValue:function(e){return e&&e.t!==void 0&&(e=e.t),W.prototype.getRightValue.call(this,e)},determineDataLimits:function(){var e=this,t=e.chart,r=e._adapter,a=e.options,n=a.time.unit||\"day\",i=jt,o=Wr,l=[],s=[],u=[],d,f,c,v,g,p,m,b=e._getLabels();for(d=0,c=b.length;d<c;++d)u.push(ke(e,b[d]));for(d=0,c=(t.data.datasets||[]).length;d<c;++d)if(t.isDatasetVisible(d))if(g=t.data.datasets[d].data,h.isObject(g[0]))for(s[d]=[],f=0,v=g.length;f<v;++f)p=ke(e,g[f]),l.push(p),s[d][f]=p;else s[d]=u.slice(0),m||(l=l.concat(u),m=!0);else s[d]=[];u.length&&(i=Math.min(i,u[0]),o=Math.max(o,u[u.length-1])),l.length&&(l=c>1?ki(l).sort(Hr):l.sort(Hr),i=Math.min(i,l[0]),o=Math.max(o,l[l.length-1])),i=ke(e,Vr(a))||i,o=ke(e,jr(a))||o,i=i===jt?+r.startOf(Date.now(),n):i,o=o===Wr?+r.endOf(Date.now(),n)+1:o,e.min=Math.min(i,o),e.max=Math.max(i+1,o),e._table=[],e._timestamps={data:l,datasets:s,labels:u}},buildTicks:function(){var e=this,t=e.min,r=e.max,a=e.options,n=a.ticks,i=a.time,o=e._timestamps,l=[],s=e.getLabelCapacity(t),u=n.source,d=a.distribution,f,c,v;for(u===\"data\"||u===\"auto\"&&d===\"series\"?o=o.data:u===\"labels\"?o=o.labels:o=Di(e,t,r,s),a.bounds===\"ticks\"&&o.length&&(t=o[0],r=o[o.length-1]),t=ke(e,Vr(a))||t,r=ke(e,jr(a))||r,f=0,c=o.length;f<c;++f)v=o[f],v>=t&&v<=r&&l.push(v);return e.min=t,e.max=r,e._unit=i.unit||(n.autoSkip?qr(i.minUnit,e.min,e.max,s):Si(e,l.length,i.minUnit,e.min,e.max)),e._majorUnit=!n.major.enabled||e._unit===\"year\"?void 0:Ci(e._unit),e._table=wi(e._timestamps.data,t,r,d),e._offsets=Pi(e._table,l,t,r,a),n.reverse&&l.reverse(),Ur(e,l,e._majorUnit)},getLabelForIndex:function(e,t){var r=this,a=r._adapter,n=r.chart.data,i=r.options.time,o=n.labels&&e<n.labels.length?n.labels[e]:\"\",l=n.datasets[t].data[e];return h.isObject(l)&&(o=r.getRightValue(l)),i.tooltipFormat?a.format(qt(r,o),i.tooltipFormat):typeof o==\"string\"?o:a.format(qt(r,o),i.displayFormats.datetime)},tickFormatFunction:function(e,t,r,a){var n=this,i=n._adapter,o=n.options,l=o.time.displayFormats,s=l[n._unit],u=n._majorUnit,d=l[u],f=r[t],c=o.ticks,v=u&&d&&f&&f.major,g=i.format(e,a||(v?d:s)),p=v?c.major:c.minor,m=Er([p.callback,p.userCallback,c.callback,c.userCallback]);return m?m(g,t,r):g},convertTicksToLabels:function(e){var t=[],r,a;for(r=0,a=e.length;r<a;++r)t.push(this.tickFormatFunction(e[r].value,r,e));return t},getPixelForOffset:function(e){var t=this,r=t._offsets,a=Ae(t._table,\"time\",e,\"pos\");return t.getPixelForDecimal((r.start+a)*r.factor)},getPixelForValue:function(e,t,r){var a=this,n=null;if(t!==void 0&&r!==void 0&&(n=a._timestamps.datasets[r][t]),n===null&&(n=ke(a,e)),n!==null)return a.getPixelForOffset(n)},getPixelForTick:function(e){var t=this.getTicks();return e>=0&&e<t.length?this.getPixelForOffset(t[e].value):null},getValueForPixel:function(e){var t=this,r=t._offsets,a=t.getDecimalForPixel(e)/r.factor-r.end,n=Ae(t._table,\"pos\",a,\"time\");return t._adapter._create(n)},_getLabelSize:function(e){var t=this,r=t.options.ticks,a=t.ctx.measureText(e).width,n=h.toRadians(t.isHorizontal()?r.maxRotation:r.minRotation),i=Math.cos(n),o=Math.sin(n),l=_i(r.fontSize,_.global.defaultFontSize);return{w:a*i+l*o,h:a*o+l*i}},getLabelWidth:function(e){return this._getLabelSize(e).w},getLabelCapacity:function(e){var t=this,r=t.options.time,a=r.displayFormats,n=a[r.unit]||a.millisecond,i=t.tickFormatFunction(e,0,Ur(t,[e],t._majorUnit),n),o=t._getLabelSize(i),l=Math.floor(t.isHorizontal()?t.width/o.w:t.height/o.h);return t.options.offset&&l--,l>0?l:1}}),Fi=Ti;$r._defaults=Fi;var Ii={category:Or,linear:Lr,logarithmic:Rr,radialLinear:zr,time:$r},Oi={datetime:\"MMM D, YYYY, h:mm:ss a\",millisecond:\"h:mm:ss.SSS a\",second:\"h:mm:ss a\",minute:\"h:mm a\",hour:\"hA\",day:\"MMM D\",week:\"ll\",month:\"MMM YYYY\",quarter:\"[Q]Q - YYYY\",year:\"YYYY\"};Ot._date.override(typeof O==\"function\"?{_id:\"moment\",formats:function(){return Oi},parse:function(e,t){return typeof e==\"string\"&&typeof t==\"string\"?e=O(e,t):e instanceof O||(e=O(e)),e.isValid()?e.valueOf():null},format:function(e,t){return O(e).format(t)},add:function(e,t,r){return O(e).add(t,r).valueOf()},diff:function(e,t,r){return O(e).diff(O(t),r)},startOf:function(e,t,r){return e=O(e),t===\"isoWeek\"?e.isoWeekday(r).valueOf():e.startOf(t).valueOf()},endOf:function(e,t){return O(e).endOf(t).valueOf()},_create:function(e){return O(e)}}:{}),_._set(\"global\",{plugins:{filler:{propagate:!0}}});var Li={dataset:function(e){var t=e.fill,r=e.chart,a=r.getDatasetMeta(t),n=a&&r.isDatasetVisible(t),i=n&&a.dataset._children||[],o=i.length||0;return o?function(l,s){return s<o&&i[s]._view||null}:null},boundary:function(e){var t=e.boundary,r=t?t.x:null,a=t?t.y:null;return h.isArray(t)?function(n,i){return t[i]}:function(n){return{x:r===null?n.x:r,y:a===null?n.y:a}}}};function Ri(e,t,r){var a=e._model||{},n=a.fill,i;if(n===void 0&&(n=!!a.backgroundColor),n===!1||n===null)return!1;if(n===!0)return\"origin\";if(i=parseFloat(n,10),isFinite(i)&&Math.floor(i)===i)return(n[0]===\"-\"||n[0]===\"+\")&&(i=t+i),i===t||i<0||i>=r?!1:i;switch(n){case\"bottom\":return\"start\";case\"top\":return\"end\";case\"zero\":return\"origin\";case\"origin\":case\"start\":case\"end\":return n;default:return!1}}function Bi(e){var t=e.el._model||{},r=e.el._scale||{},a=e.fill,n=null,i;if(isFinite(a))return null;if(a===\"start\"?n=t.scaleBottom===void 0?r.bottom:t.scaleBottom:a===\"end\"?n=t.scaleTop===void 0?r.top:t.scaleTop:t.scaleZero!==void 0?n=t.scaleZero:r.getBasePixel&&(n=r.getBasePixel()),n!=null){if(n.x!==void 0&&n.y!==void 0)return n;if(h.isFinite(n))return i=r.isHorizontal(),{x:i?n:null,y:i?null:n}}return null}function Ni(e){var t=e.el._scale,r=t.options,a=t.chart.data.labels.length,n=e.fill,i=[],o,l,s,u,d;if(!a)return null;for(o=r.ticks.reverse?t.max:t.min,l=r.ticks.reverse?t.min:t.max,s=t.getPointPositionForValue(0,o),u=0;u<a;++u)d=n===\"start\"||n===\"end\"?t.getPointPositionForValue(u,n===\"start\"?o:l):t.getBasePosition(u),r.gridLines.circular&&(d.cx=s.x,d.cy=s.y,d.angle=t.getIndexAngle(u)-Math.PI/2),i.push(d);return i}function zi(e){var t=e.el._scale||{};return t.getPointPositionForValue?Ni(e):Bi(e)}function Ei(e,t,r){var a=e[t],n=a.fill,i=[t],o;if(!r)return n;for(;n!==!1&&i.indexOf(n)===-1;){if(!isFinite(n))return n;if(o=e[n],!o)return!1;if(o.visible)return n;i.push(n),n=o.fill}return!1}function Wi(e){var t=e.fill,r=\"dataset\";return t===!1?null:(isFinite(t)||(r=\"boundary\"),Li[r](e))}function Yr(e){return e&&!e.skip}function Gr(e,t,r,a,n){var i,o,l,s;if(!(!a||!n)){for(e.moveTo(t[0].x,t[0].y),i=1;i<a;++i)h.canvas.lineTo(e,t[i-1],t[i]);if(r[0].angle!==void 0){for(o=r[0].cx,l=r[0].cy,s=Math.sqrt(Math.pow(r[0].x-o,2)+Math.pow(r[0].y-l,2)),i=n-1;i>0;--i)e.arc(o,l,s,r[i].angle,r[i-1].angle,!0);return}for(e.lineTo(r[n-1].x,r[n-1].y),i=n-1;i>0;--i)h.canvas.lineTo(e,r[i],r[i-1],!0)}}function Hi(e,t,r,a,n,i){var o=t.length,l=a.spanGaps,s=[],u=[],d=0,f=0,c,v,g,p,m,b,x,y;for(e.beginPath(),c=0,v=o;c<v;++c)g=c%o,p=t[g]._view,m=r(p,g,a),b=Yr(p),x=Yr(m),i&&y===void 0&&b&&(y=c+1,v=o+y),b&&x?(d=s.push(p),f=u.push(m)):d&&f&&(l?(b&&s.push(p),x&&u.push(m)):(Gr(e,s,u,d,f),d=f=0,s=[],u=[]));Gr(e,s,u,d,f),e.closePath(),e.fillStyle=n,e.fill()}var Vi={id:\"filler\",afterDatasetsUpdate:function(e,t){var r=(e.data.datasets||[]).length,a=t.propagate,n=[],i,o,l,s;for(o=0;o<r;++o)i=e.getDatasetMeta(o),l=i.dataset,s=null,l&&l._model&&l instanceof E.Line&&(s={visible:e.isDatasetVisible(o),fill:Ri(l,o,r),chart:e,el:l}),i.$filler=s,n.push(s);for(o=0;o<r;++o)s=n[o],!!s&&(s.fill=Ei(n,o,a),s.boundary=zi(s),s.mapper=Wi(s))},beforeDatasetsDraw:function(e){var t=e._getSortedVisibleDatasetMetas(),r=e.ctx,a,n,i,o,l,s,u;for(n=t.length-1;n>=0;--n)a=t[n].$filler,!(!a||!a.visible)&&(i=a.el,o=i._view,l=i._children||[],s=a.mapper,u=o.backgroundColor||_.global.defaultColor,s&&u&&l.length&&(h.canvas.clipArea(r,e.chartArea),Hi(r,l,s,o,u,i._loop),h.canvas.unclipArea(r)))}},ji=h.rtl.getRtlAdapter,de=h.noop,fe=h.valueOrDefault;_._set(\"global\",{legend:{display:!0,position:\"top\",align:\"center\",fullWidth:!0,reverse:!1,weight:1e3,onClick:function(e,t){var r=t.datasetIndex,a=this.chart,n=a.getDatasetMeta(r);n.hidden=n.hidden===null?!a.data.datasets[r].hidden:null,a.update()},onHover:null,onLeave:null,labels:{boxWidth:40,padding:10,generateLabels:function(e){var t=e.data.datasets,r=e.options.legend||{},a=r.labels&&r.labels.usePointStyle;return e._getSortedDatasetMetas().map(function(n){var i=n.controller.getStyle(a?0:void 0);return{text:t[n.index].label,fillStyle:i.backgroundColor,hidden:!e.isDatasetVisible(n.index),lineCap:i.borderCapStyle,lineDash:i.borderDash,lineDashOffset:i.borderDashOffset,lineJoin:i.borderJoinStyle,lineWidth:i.borderWidth,strokeStyle:i.borderColor,pointStyle:i.pointStyle,rotation:i.rotation,datasetIndex:n.index}},this)}}},legendCallback:function(e){var t=document.createElement(\"ul\"),r=e.data.datasets,a,n,i,o;for(t.setAttribute(\"class\",e.id+\"-legend\"),a=0,n=r.length;a<n;a++)i=t.appendChild(document.createElement(\"li\")),o=i.appendChild(document.createElement(\"span\")),o.style.backgroundColor=r[a].backgroundColor,r[a].label&&i.appendChild(document.createTextNode(r[a].label));return t.outerHTML}});function Ut(e,t){return e.usePointStyle&&e.boxWidth>t?t:e.boxWidth}var Xr=ee.extend({initialize:function(e){var t=this;h.extend(t,e),t.legendHitBoxes=[],t._hoveredItem=null,t.doughnutMode=!1},beforeUpdate:de,update:function(e,t,r){var a=this;return a.beforeUpdate(),a.maxWidth=e,a.maxHeight=t,a.margins=r,a.beforeSetDimensions(),a.setDimensions(),a.afterSetDimensions(),a.beforeBuildLabels(),a.buildLabels(),a.afterBuildLabels(),a.beforeFit(),a.fit(),a.afterFit(),a.afterUpdate(),a.minSize},afterUpdate:de,beforeSetDimensions:de,setDimensions:function(){var e=this;e.isHorizontal()?(e.width=e.maxWidth,e.left=0,e.right=e.width):(e.height=e.maxHeight,e.top=0,e.bottom=e.height),e.paddingLeft=0,e.paddingTop=0,e.paddingRight=0,e.paddingBottom=0,e.minSize={width:0,height:0}},afterSetDimensions:de,beforeBuildLabels:de,buildLabels:function(){var e=this,t=e.options.labels||{},r=h.callback(t.generateLabels,[e.chart],e)||[];t.filter&&(r=r.filter(function(a){return t.filter(a,e.chart.data)})),e.options.reverse&&r.reverse(),e.legendItems=r},afterBuildLabels:de,beforeFit:de,fit:function(){var e=this,t=e.options,r=t.labels,a=t.display,n=e.ctx,i=h.options._parseFont(r),o=i.size,l=e.legendHitBoxes=[],s=e.minSize,u=e.isHorizontal();if(u?(s.width=e.maxWidth,s.height=a?10:0):(s.width=a?10:0,s.height=e.maxHeight),!a){e.width=s.width=e.height=s.height=0;return}if(n.font=i.string,u){var d=e.lineWidths=[0],f=0;n.textAlign=\"left\",n.textBaseline=\"middle\",h.each(e.legendItems,function(x,y){var w=Ut(r,o),k=w+o/2+n.measureText(x.text).width;(y===0||d[d.length-1]+k+2*r.padding>s.width)&&(f+=o+r.padding,d[d.length-(y>0?0:1)]=0),l[y]={left:0,top:0,width:k,height:o},d[d.length-1]+=k+r.padding}),s.height+=f}else{var c=r.padding,v=e.columnWidths=[],g=e.columnHeights=[],p=r.padding,m=0,b=0;h.each(e.legendItems,function(x,y){var w=Ut(r,o),k=w+o/2+n.measureText(x.text).width;y>0&&b+o+2*c>s.height&&(p+=m+r.padding,v.push(m),g.push(b),m=0,b=0),m=Math.max(m,k),b+=o+c,l[y]={left:0,top:0,width:k,height:o}}),p+=m,v.push(m),g.push(b),s.width+=p}e.width=s.width,e.height=s.height},afterFit:de,isHorizontal:function(){return this.options.position===\"top\"||this.options.position===\"bottom\"},draw:function(){var e=this,t=e.options,r=t.labels,a=_.global,n=a.defaultColor,i=a.elements.line,o=e.height,l=e.columnHeights,s=e.width,u=e.lineWidths;if(!!t.display){var d=ji(t.rtl,e.left,e.minSize.width),f=e.ctx,c=fe(r.fontColor,a.defaultFontColor),v=h.options._parseFont(r),g=v.size,p;f.textAlign=d.textAlign(\"left\"),f.textBaseline=\"middle\",f.lineWidth=.5,f.strokeStyle=c,f.fillStyle=c,f.font=v.string;var m=Ut(r,g),b=e.legendHitBoxes,x=function(C,P,T){if(!(isNaN(m)||m<=0)){f.save();var R=fe(T.lineWidth,i.borderWidth);if(f.fillStyle=fe(T.fillStyle,n),f.lineCap=fe(T.lineCap,i.borderCapStyle),f.lineDashOffset=fe(T.lineDashOffset,i.borderDashOffset),f.lineJoin=fe(T.lineJoin,i.borderJoinStyle),f.lineWidth=R,f.strokeStyle=fe(T.strokeStyle,n),f.setLineDash&&f.setLineDash(fe(T.lineDash,i.borderDash)),r&&r.usePointStyle){var L=m*Math.SQRT2/2,I=d.xPlus(C,m/2),B=P+g/2;h.canvas.drawPoint(f,T.pointStyle,L,I,B,T.rotation)}else f.fillRect(d.leftForLtr(C,m),P,m,g),R!==0&&f.strokeRect(d.leftForLtr(C,m),P,m,g);f.restore()}},y=function(C,P,T,R){var L=g/2,I=d.xPlus(C,m+L),B=P+L;f.fillText(T.text,I,B),T.hidden&&(f.beginPath(),f.lineWidth=2,f.moveTo(I,B),f.lineTo(d.xPlus(I,R),B),f.stroke())},w=function(C,P){switch(t.align){case\"start\":return r.padding;case\"end\":return C-P;default:return(C-P+r.padding)/2}},k=e.isHorizontal();k?p={x:e.left+w(s,u[0]),y:e.top+r.padding,line:0}:p={x:e.left+r.padding,y:e.top+w(o,l[0]),line:0},h.rtl.overrideTextDirection(e.ctx,t.textDirection);var D=g+r.padding;h.each(e.legendItems,function(C,P){var T=f.measureText(C.text).width,R=m+g/2+T,L=p.x,I=p.y;d.setWidth(e.minSize.width),k?P>0&&L+R+r.padding>e.left+e.minSize.width&&(I=p.y+=D,p.line++,L=p.x=e.left+w(s,u[p.line])):P>0&&I+D>e.top+e.minSize.height&&(L=p.x=L+e.columnWidths[p.line]+r.padding,p.line++,I=p.y=e.top+w(o,l[p.line]));var B=d.x(L);x(B,I,C),b[P].left=d.leftForLtr(B,b[P].width),b[P].top=I,y(B,I,C,T),k?p.x+=R+r.padding:p.y+=D}),h.rtl.restoreTextDirection(e.ctx,t.textDirection)}},_getLegendItemAt:function(e,t){var r=this,a,n,i;if(e>=r.left&&e<=r.right&&t>=r.top&&t<=r.bottom){for(i=r.legendHitBoxes,a=0;a<i.length;++a)if(n=i[a],e>=n.left&&e<=n.left+n.width&&t>=n.top&&t<=n.top+n.height)return r.legendItems[a]}return null},handleEvent:function(e){var t=this,r=t.options,a=e.type===\"mouseup\"?\"click\":e.type,n;if(a===\"mousemove\"){if(!r.onHover&&!r.onLeave)return}else if(a===\"click\"){if(!r.onClick)return}else return;n=t._getLegendItemAt(e.x,e.y),a===\"click\"?n&&r.onClick&&r.onClick.call(t,e.native,n):(r.onLeave&&n!==t._hoveredItem&&(t._hoveredItem&&r.onLeave.call(t,e.native,t._hoveredItem),t._hoveredItem=n),r.onHover&&n&&r.onHover.call(t,e.native,n))}});function Kr(e,t){var r=new Xr({ctx:e.ctx,options:t,chart:e});Z.configure(e,r,t),Z.addBox(e,r),e.legend=r}var qi={id:\"legend\",_element:Xr,beforeInit:function(e){var t=e.options.legend;t&&Kr(e,t)},beforeUpdate:function(e){var t=e.options.legend,r=e.legend;t?(h.mergeIf(t,_.global.legend),r?(Z.configure(e,r,t),r.options=t):Kr(e,t)):r&&(Z.removeBox(e,r),delete e.legend)},afterEvent:function(e,t){var r=e.legend;r&&r.handleEvent(t)}},le=h.noop;_._set(\"global\",{title:{display:!1,fontStyle:\"bold\",fullWidth:!0,padding:10,position:\"top\",text:\"\",weight:2e3}});var Zr=ee.extend({initialize:function(e){var t=this;h.extend(t,e),t.legendHitBoxes=[]},beforeUpdate:le,update:function(e,t,r){var a=this;return a.beforeUpdate(),a.maxWidth=e,a.maxHeight=t,a.margins=r,a.beforeSetDimensions(),a.setDimensions(),a.afterSetDimensions(),a.beforeBuildLabels(),a.buildLabels(),a.afterBuildLabels(),a.beforeFit(),a.fit(),a.afterFit(),a.afterUpdate(),a.minSize},afterUpdate:le,beforeSetDimensions:le,setDimensions:function(){var e=this;e.isHorizontal()?(e.width=e.maxWidth,e.left=0,e.right=e.width):(e.height=e.maxHeight,e.top=0,e.bottom=e.height),e.paddingLeft=0,e.paddingTop=0,e.paddingRight=0,e.paddingBottom=0,e.minSize={width:0,height:0}},afterSetDimensions:le,beforeBuildLabels:le,buildLabels:le,afterBuildLabels:le,beforeFit:le,fit:function(){var e=this,t=e.options,r=e.minSize={},a=e.isHorizontal(),n,i;if(!t.display){e.width=r.width=e.height=r.height=0;return}n=h.isArray(t.text)?t.text.length:1,i=n*h.options._parseFont(t).lineHeight+t.padding*2,e.width=r.width=a?e.maxWidth:i,e.height=r.height=a?i:e.maxHeight},afterFit:le,isHorizontal:function(){var e=this.options.position;return e===\"top\"||e===\"bottom\"},draw:function(){var e=this,t=e.ctx,r=e.options;if(!!r.display){var a=h.options._parseFont(r),n=a.lineHeight,i=n/2+r.padding,o=0,l=e.top,s=e.left,u=e.bottom,d=e.right,f,c,v;t.fillStyle=h.valueOrDefault(r.fontColor,_.global.defaultFontColor),t.font=a.string,e.isHorizontal()?(c=s+(d-s)/2,v=l+i,f=d-s):(c=r.position===\"left\"?s+i:d-i,v=l+(u-l)/2,f=u-l,o=Math.PI*(r.position===\"left\"?-.5:.5)),t.save(),t.translate(c,v),t.rotate(o),t.textAlign=\"center\",t.textBaseline=\"middle\";var g=r.text;if(h.isArray(g))for(var p=0,m=0;m<g.length;++m)t.fillText(g[m],0,p,f),p+=n;else t.fillText(g,0,0,f);t.restore()}}});function Jr(e,t){var r=new Zr({ctx:e.ctx,options:t,chart:e});Z.configure(e,r,t),Z.addBox(e,r),e.titleBlock=r}var Ui={id:\"title\",_element:Zr,beforeInit:function(e){var t=e.options.title;t&&Jr(e,t)},beforeUpdate:function(e){var t=e.options.title,r=e.titleBlock;t?(h.mergeIf(t,_.global.title),r?(Z.configure(e,r,t),r.options=t):Jr(e,t)):r&&(Z.removeBox(e,r),delete e.titleBlock)}},he={},$i=Vi,Yi=qi,Gi=Ui;he.filler=$i,he.legend=Yi,he.title=Gi,M.helpers=h,Vn(),M._adapters=Ot,M.Animation=gt,M.animationService=pt,M.controllers=mr,M.DatasetController=K,M.defaults=_,M.Element=ee,M.elements=E,M.Interaction=Ce,M.layouts=Z,M.platform=De,M.plugins=A,M.Scale=W,M.scaleService=He,M.Ticks=Ve,M.Tooltip=Tt,M.helpers.each(Ii,function(e,t){M.scaleService.registerScaleType(t,e,e._defaults)});for(var Qr in he)he.hasOwnProperty(Qr)&&M.plugins.register(he[Qr]);M.platform.initialize();var Xi=M;return typeof window!=\"undefined\"&&(window.Chart=M),M.Chart=M,M.Legend=he.legend._element,M.Title=he.title._element,M.pluginService=M.plugins,M.PluginBase=M.Element.extend({}),M.canvasHelpers=M.helpers.canvas,M.layoutService=M.layouts,M.LinearScaleBase=at,M.helpers.each([\"Bar\",\"Bubble\",\"Doughnut\",\"Line\",\"PolarArea\",\"Radar\",\"Scatter\"],function(e){M[e]=function(t,r){return new M(t,M.helpers.merge(r||{},{type:e.charAt(0).toLowerCase()+e.slice(1)}))}}),Xi})})(ta);var so=ta.exports;const lo={class:\"graph-container h-[300px]\"},ho={props:{labels:{type:Array,require:!0,default:Array},values:{type:Array,require:!0,default:Array},invoices:{type:Array,require:!0,default:Array},expenses:{type:Array,require:!0,default:Array},receipts:{type:Array,require:!0,default:Array},income:{type:Array,require:!0,default:Array}},setup(lt){const $=lt,O=Ji(\"utils\");let j=null;const Ie=Qi(null),ae=oo(),F=eo(()=>ae.selectedCompanyCurrency);to(()=>{$.labels&&j&&(j.reset(),ut())}),ro(()=>{let Y=Ie.value.getContext(\"2d\"),Ue=ea({responsive:!0,maintainAspectRatio:!1,tooltips:{enabled:!0,callbacks:{label:function(q,ce){return O.formatMoney(Math.round(q.value*100),F.value)}}},legend:{display:!1}}),we=ea({labels:$.labels,datasets:[{label:\"Sales\",fill:!1,lineTension:.3,backgroundColor:\"rgba(230, 254, 249)\",borderColor:\"#040405\",borderCapStyle:\"butt\",borderDash:[],borderDashOffset:0,borderJoinStyle:\"miter\",pointBorderColor:\"#040405\",pointBackgroundColor:\"#fff\",pointBorderWidth:1,pointHoverRadius:5,pointHoverBackgroundColor:\"#040405\",pointHoverBorderColor:\"rgba(220,220,220,1)\",pointHoverBorderWidth:2,pointRadius:4,pointHitRadius:10,data:$.invoices.map(q=>q/100)},{label:\"Receipts\",fill:!1,lineTension:.3,backgroundColor:\"rgba(230, 254, 249)\",borderColor:\"rgb(2, 201, 156)\",borderCapStyle:\"butt\",borderDash:[],borderDashOffset:0,borderJoinStyle:\"miter\",pointBorderColor:\"rgb(2, 201, 156)\",pointBackgroundColor:\"#fff\",pointBorderWidth:1,pointHoverRadius:5,pointHoverBackgroundColor:\"rgb(2, 201, 156)\",pointHoverBorderColor:\"rgba(220,220,220,1)\",pointHoverBorderWidth:2,pointRadius:4,pointHitRadius:10,data:$.receipts.map(q=>q/100)},{label:\"Expenses\",fill:!1,lineTension:.3,backgroundColor:\"rgba(245, 235, 242)\",borderColor:\"rgb(255,0,0)\",borderCapStyle:\"butt\",borderDash:[],borderDashOffset:0,borderJoinStyle:\"miter\",pointBorderColor:\"rgb(255,0,0)\",pointBackgroundColor:\"#fff\",pointBorderWidth:1,pointHoverRadius:5,pointHoverBackgroundColor:\"rgb(255,0,0)\",pointHoverBorderColor:\"rgba(220,220,220,1)\",pointHoverBorderWidth:2,pointRadius:4,pointHitRadius:10,data:$.expenses.map(q=>q/100)},{label:\"Net Income\",fill:!1,lineTension:.3,backgroundColor:\"rgba(236, 235, 249)\",borderColor:\"rgba(88, 81, 216, 1)\",borderCapStyle:\"butt\",borderDash:[],borderDashOffset:0,borderJoinStyle:\"miter\",pointBorderColor:\"rgba(88, 81, 216, 1)\",pointBackgroundColor:\"#fff\",pointBorderWidth:1,pointHoverRadius:5,pointHoverBackgroundColor:\"rgba(88, 81, 216, 1)\",pointHoverBorderColor:\"rgba(220,220,220,1)\",pointHoverBorderWidth:2,pointRadius:4,pointHitRadius:10,data:$.income.map(q=>q/100)}]});j=new so(Y,{type:\"line\",data:we,options:Ue})});function ut(){j.data.labels=$.labels,j.data.datasets[0].data=$.invoices.map(Y=>Y/100),j.data.datasets[1].data=$.receipts.map(Y=>Y/100),j.data.datasets[2].data=$.expenses.map(Y=>Y/100),j.data.datasets[3].data=$.income.map(Y=>Y/100),j.update({lazy:!0})}return(Y,Ue)=>(ao(),no(\"div\",lo,[io(\"canvas\",{id:\"graph\",ref:(we,q)=>{q.graph=we,Ie.value=we}},null,512)]))}};export{ho as _};\n"
  },
  {
    "path": "public/build/assets/LoadingIcon.b704202b.js",
    "content": "import{_ as e}from\"./main.465728e1.js\";import{o as s,e as t,h as o}from\"./vendor.d12b5734.js\";const c={},r={xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\"},n=o(\"circle\",{class:\"opacity-25\",cx:\"12\",cy:\"12\",r:\"10\",stroke:\"currentColor\",\"stroke-width\":\"4\"},null,-1),a=o(\"path\",{class:\"opacity-75\",fill:\"currentColor\",d:\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"},null,-1),l=[n,a];function i(_,d){return s(),t(\"svg\",r,l)}var p=e(c,[[\"render\",i]]);export{p as L};\n"
  },
  {
    "path": "public/build/assets/Login.30b20f3a.js",
    "content": "import{J as C,aN as M,B as w,L as p,M as $,Q as E,T as L,k as y,r as l,o as c,e as T,f as n,w as u,u as e,l as B,x as _,h as b,i as h,t as I,U,a as j}from\"./vendor.d12b5734.js\";import{u as G,a as R}from\"./main.465728e1.js\";const A=[\"onSubmit\"],F={class:\"mt-5 mb-8\"},J={class:\"mb-4\"},z={setup(O){const k=G(),s=R(),{t:m}=C(),V=M(),d=w(!1);let o=w(!1);const x={email:{required:p.withMessage(m(\"validation.required\"),$),email:p.withMessage(m(\"validation.email_incorrect\"),E)},password:{required:p.withMessage(m(\"validation.required\"),$)}},a=L(x,y(()=>s.loginData)),S=y(()=>o.value?\"text\":\"password\");async function q(){if(j.defaults.withCredentials=!0,a.value.$touch(),a.value.$invalid)return!0;d.value=!0;try{d.value=!0,await s.login(s.loginData),V.push(\"/admin/dashboard\"),k.showNotification({type:\"success\",message:\"Logged in successfully.\"})}catch{d.value=!1}}return(i,t)=>{const g=l(\"BaseInput\"),f=l(\"BaseInputGroup\"),v=l(\"BaseIcon\"),D=l(\"router-link\"),N=l(\"BaseButton\");return c(),T(\"form\",{id:\"loginForm\",class:\"mt-12 text-left\",onSubmit:U(q,[\"prevent\"])},[n(f,{error:e(a).email.$error&&e(a).email.$errors[0].$message,label:i.$t(\"login.email\"),class:\"mb-4\",required:\"\"},{default:u(()=>[n(g,{modelValue:e(s).loginData.email,\"onUpdate:modelValue\":t[0]||(t[0]=r=>e(s).loginData.email=r),invalid:e(a).email.$error,focus:\"\",type:\"email\",name:\"email\",onInput:t[1]||(t[1]=r=>e(a).email.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"error\",\"label\"]),n(f,{error:e(a).password.$error&&e(a).password.$errors[0].$message,label:i.$t(\"login.password\"),class:\"mb-4\",required:\"\"},{default:u(()=>[n(g,{modelValue:e(s).loginData.password,\"onUpdate:modelValue\":t[4]||(t[4]=r=>e(s).loginData.password=r),invalid:e(a).password.$error,type:e(S),name:\"password\",onInput:t[5]||(t[5]=r=>e(a).password.$touch())},{right:u(()=>[e(o)?(c(),B(v,{key:0,name:\"EyeOffIcon\",class:\"w-5 h-5 mr-1 text-gray-500 cursor-pointer\",onClick:t[2]||(t[2]=r=>_(o)?o.value=!e(o):o=!e(o))})):(c(),B(v,{key:1,name:\"EyeIcon\",class:\"w-5 h-5 mr-1 text-gray-500 cursor-pointer\",onClick:t[3]||(t[3]=r=>_(o)?o.value=!e(o):o=!e(o))}))]),_:1},8,[\"modelValue\",\"invalid\",\"type\"])]),_:1},8,[\"error\",\"label\"]),b(\"div\",F,[b(\"div\",J,[n(D,{to:\"forgot-password\",class:\"text-sm text-primary-400 hover:text-gray-700\"},{default:u(()=>[h(I(i.$t(\"login.forgot_password\")),1)]),_:1})])]),n(N,{loading:d.value,type:\"submit\"},{default:u(()=>[h(I(i.$t(\"login.login\")),1)]),_:1},8,[\"loading\"])],40,A)}}};export{z as default};\n"
  },
  {
    "path": "public/build/assets/Login.4db30a10.js",
    "content": "var E=Object.defineProperty,G=Object.defineProperties;var L=Object.getOwnPropertyDescriptors;var D=Object.getOwnPropertySymbols;var U=Object.prototype.hasOwnProperty,O=Object.prototype.propertyIsEnumerable;var b=(s,a,t)=>a in s?E(s,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[a]=t,B=(s,a)=>{for(var t in a||(a={}))U.call(a,t)&&b(s,t,a[t]);if(D)for(var t of D(a))O.call(a,t)&&b(s,t,a[t]);return s},I=(s,a)=>G(s,L(a));import{aN as P,G as R,J as z,B as _,k as h,L as f,M as k,Q as A,T as F,r as c,o as w,e as J,f as i,w as m,u as e,l as V,h as S,i as q,t as x,m as Q,U as H}from\"./vendor.d12b5734.js\";import{u as K}from\"./auth.c88ceb4c.js\";import\"./main.465728e1.js\";const W=[\"onSubmit\"],X={class:\"flex items-center justify-between\"},oe={setup(s){const a=P(),t=R(),l=K(),{t:g}=z();let p=_(!1);const u=_(!1),C=h(()=>u.value?\"text\":\"password\"),j=h(()=>({loginData:{email:{required:f.withMessage(g(\"validation.required\"),k),email:f.withMessage(g(\"validation.email_incorrect\"),A)},password:{required:f.withMessage(g(\"validation.required\"),k)}}})),r=F(j,l);async function M(){if(r.value.loginData.$touch(),r.value.loginData.$invalid)return!0;p.value=!0;let d=I(B({},l.loginData),{company:t.params.company});try{return await l.login(d),p.value=!1,a.push({name:\"customer.dashboard\"});l.$reset()}catch{p.value=!1}}return(d,o)=>{const $=c(\"BaseInput\"),y=c(\"BaseInputGroup\"),v=c(\"BaseIcon\"),N=c(\"router-link\"),T=c(\"BaseButton\");return w(),J(\"form\",{id:\"loginForm\",class:\"space-y-6\",action:\"#\",method:\"POST\",onSubmit:H(M,[\"prevent\"])},[i(y,{error:e(r).loginData.email.$error&&e(r).loginData.email.$errors[0].$message,label:d.$t(\"login.email\"),class:\"mb-4\",required:\"\"},{default:m(()=>[i($,{modelValue:e(l).loginData.email,\"onUpdate:modelValue\":o[0]||(o[0]=n=>e(l).loginData.email=n),type:\"email\",invalid:e(r).loginData.email.$error,onInput:o[1]||(o[1]=n=>e(r).loginData.email.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"error\",\"label\"]),i(y,{error:e(r).loginData.password.$error&&e(r).loginData.password.$errors[0].$message,label:d.$t(\"login.password\"),class:\"mb-4\",required:\"\"},{default:m(()=>[i($,{modelValue:e(l).loginData.password,\"onUpdate:modelValue\":o[4]||(o[4]=n=>e(l).loginData.password=n),type:e(C),invalid:e(r).loginData.password.$error,onInput:o[5]||(o[5]=n=>e(r).loginData.password.$touch())},{right:m(()=>[u.value?(w(),V(v,{key:0,name:\"EyeOffIcon\",class:\"w-5 h-5 mr-1 text-gray-500 cursor-pointer\",onClick:o[2]||(o[2]=n=>u.value=!u.value)})):(w(),V(v,{key:1,name:\"EyeIcon\",class:\"w-5 h-5 mr-1 text-gray-500 cursor-pointer\",onClick:o[3]||(o[3]=n=>u.value=!u.value)}))]),_:1},8,[\"modelValue\",\"type\",\"invalid\"])]),_:1},8,[\"error\",\"label\"]),S(\"div\",X,[i(N,{to:{name:\"customer.forgot-password\"},class:\"text-sm text-primary-600 hover:text-gray-500\"},{default:m(()=>[q(x(d.$t(\"login.forgot_password\")),1)]),_:1},8,[\"to\"])]),S(\"div\",null,[i(T,{loading:e(p),disabled:e(p),type:\"submit\",class:\"w-full justify-center\"},{left:m(n=>[i(v,{name:\"LockClosedIcon\",class:Q(n.class)},null,8,[\"class\"])]),default:m(()=>[q(\" \"+x(d.$t(\"login.login\")),1)]),_:1},8,[\"loading\",\"disabled\"])])],40,W)}}};export{oe as default};\n"
  },
  {
    "path": "public/build/assets/MailConfigSetting.cd95a416.js",
    "content": "import{J as j,B as G,a0 as Q,k as B,L as f,M as C,aT as R,Q as A,T as P,D as L,r as c,o as q,e as O,f as l,w as s,u as e,l as V,x as T,h as F,m as z,j as E,i as S,t as k,g as J,U as N,S as X,aj as Z,F as ee}from\"./vendor.d12b5734.js\";import{u as x}from\"./mail-driver.0a974f6a.js\";import{c as H}from\"./main.465728e1.js\";const ie=[\"onSubmit\"],ne={class:\"flex my-10\"},K={props:{configData:{type:Object,require:!0,default:Object},isSaving:{type:Boolean,require:!0,default:!1},isFetchingInitialData:{type:Boolean,require:!0,default:!1},mailDrivers:{type:Array,require:!0,default:Array}},emits:[\"submit-data\",\"on-change-driver\"],setup(a,{emit:D}){const $=a,i=x(),{t:u}=j();let m=G(!1);const b=Q([\"tls\",\"ssl\",\"starttls\"]),w=B(()=>m.value?\"text\":\"password\"),t=B(()=>({smtpConfig:{mail_driver:{required:f.withMessage(u(\"validation.required\"),C)},mail_host:{required:f.withMessage(u(\"validation.required\"),C)},mail_port:{required:f.withMessage(u(\"validation.required\"),C),numeric:f.withMessage(u(\"validation.numbers_only\"),R)},mail_encryption:{required:f.withMessage(u(\"validation.required\"),C)},from_mail:{required:f.withMessage(u(\"validation.required\"),C),email:f.withMessage(u(\"validation.email_incorrect\"),A)},from_name:{required:f.withMessage(u(\"validation.required\"),C)}}})),d=P(t,B(()=>i));L(()=>{for(const o in i.smtpConfig)$.configData.hasOwnProperty(o)&&(i.smtpConfig[o]=$.configData[o])});async function I(){return d.value.smtpConfig.$touch(),d.value.smtpConfig.$invalid||D(\"submit-data\",i.smtpConfig),!1}function g(){d.value.smtpConfig.mail_driver.$touch(),D(\"on-change-driver\",i.smtpConfig.mail_driver)}return(o,n)=>{const M=c(\"BaseMultiselect\"),v=c(\"BaseInputGroup\"),y=c(\"BaseInput\"),_=c(\"BaseIcon\"),U=c(\"BaseInputGrid\"),p=c(\"BaseButton\");return q(),O(\"form\",{onSubmit:N(I,[\"prevent\"])},[l(U,null,{default:s(()=>[l(v,{label:o.$t(\"settings.mail.driver\"),\"content-loading\":a.isFetchingInitialData,error:e(d).smtpConfig.mail_driver.$error&&e(d).smtpConfig.mail_driver.$errors[0].$message,required:\"\"},{default:s(()=>[l(M,{modelValue:e(i).smtpConfig.mail_driver,\"onUpdate:modelValue\":[n[0]||(n[0]=r=>e(i).smtpConfig.mail_driver=r),g],\"content-loading\":a.isFetchingInitialData,options:a.mailDrivers,\"can-deselect\":!1,invalid:e(d).smtpConfig.mail_driver.$error},null,8,[\"modelValue\",\"content-loading\",\"options\",\"invalid\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"]),l(v,{label:o.$t(\"settings.mail.host\"),\"content-loading\":a.isFetchingInitialData,error:e(d).smtpConfig.mail_host.$error&&e(d).smtpConfig.mail_host.$errors[0].$message,required:\"\"},{default:s(()=>[l(y,{modelValue:e(i).smtpConfig.mail_host,\"onUpdate:modelValue\":n[1]||(n[1]=r=>e(i).smtpConfig.mail_host=r),modelModifiers:{trim:!0},\"content-loading\":a.isFetchingInitialData,type:\"text\",name:\"mail_host\",invalid:e(d).smtpConfig.mail_host.$error,onInput:n[2]||(n[2]=r=>e(d).smtpConfig.mail_host.$touch())},null,8,[\"modelValue\",\"content-loading\",\"invalid\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"]),l(v,{\"content-loading\":a.isFetchingInitialData,label:o.$t(\"settings.mail.username\")},{default:s(()=>[l(y,{modelValue:e(i).smtpConfig.mail_username,\"onUpdate:modelValue\":n[3]||(n[3]=r=>e(i).smtpConfig.mail_username=r),modelModifiers:{trim:!0},\"content-loading\":a.isFetchingInitialData,type:\"text\",name:\"db_name\"},null,8,[\"modelValue\",\"content-loading\"])]),_:1},8,[\"content-loading\",\"label\"]),l(v,{\"content-loading\":a.isFetchingInitialData,label:o.$t(\"settings.mail.password\")},{default:s(()=>[l(y,{modelValue:e(i).smtpConfig.mail_password,\"onUpdate:modelValue\":n[6]||(n[6]=r=>e(i).smtpConfig.mail_password=r),modelModifiers:{trim:!0},\"content-loading\":a.isFetchingInitialData,type:e(w),name:\"password\"},{right:s(()=>[e(m)?(q(),V(_,{key:0,class:\"mr-1 text-gray-500 cursor-pointer\",name:\"EyeOffIcon\",onClick:n[4]||(n[4]=r=>T(m)?m.value=!e(m):m=!e(m))})):(q(),V(_,{key:1,class:\"mr-1 text-gray-500 cursor-pointer\",name:\"EyeIcon\",onClick:n[5]||(n[5]=r=>T(m)?m.value=!e(m):m=!e(m))}))]),_:1},8,[\"modelValue\",\"content-loading\",\"type\"])]),_:1},8,[\"content-loading\",\"label\"]),l(v,{label:o.$t(\"settings.mail.port\"),\"content-loading\":a.isFetchingInitialData,error:e(d).smtpConfig.mail_port.$error&&e(d).smtpConfig.mail_port.$errors[0].$message,required:\"\"},{default:s(()=>[l(y,{modelValue:e(i).smtpConfig.mail_port,\"onUpdate:modelValue\":n[7]||(n[7]=r=>e(i).smtpConfig.mail_port=r),modelModifiers:{trim:!0},\"content-loading\":a.isFetchingInitialData,type:\"text\",name:\"mail_port\",invalid:e(d).smtpConfig.mail_port.$error,onInput:n[8]||(n[8]=r=>e(d).smtpConfig.mail_port.$touch())},null,8,[\"modelValue\",\"content-loading\",\"invalid\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"]),l(v,{label:o.$t(\"settings.mail.encryption\"),\"content-loading\":a.isFetchingInitialData,error:e(d).smtpConfig.mail_encryption.$error&&e(d).smtpConfig.mail_encryption.$errors[0].$message,required:\"\"},{default:s(()=>[l(M,{modelValue:e(i).smtpConfig.mail_encryption,\"onUpdate:modelValue\":n[9]||(n[9]=r=>e(i).smtpConfig.mail_encryption=r),modelModifiers:{trim:!0},\"content-loading\":a.isFetchingInitialData,options:e(b),searchable:!0,\"show-labels\":!1,placeholder:\"Select option\",invalid:e(d).smtpConfig.mail_encryption.$error,onInput:n[10]||(n[10]=r=>e(d).smtpConfig.mail_encryption.$touch())},null,8,[\"modelValue\",\"content-loading\",\"options\",\"invalid\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"]),l(v,{label:o.$t(\"settings.mail.from_mail\"),\"content-loading\":a.isFetchingInitialData,error:e(d).smtpConfig.from_mail.$error&&e(d).smtpConfig.from_mail.$errors[0].$message,required:\"\"},{default:s(()=>[l(y,{modelValue:e(i).smtpConfig.from_mail,\"onUpdate:modelValue\":n[11]||(n[11]=r=>e(i).smtpConfig.from_mail=r),modelModifiers:{trim:!0},\"content-loading\":a.isFetchingInitialData,type:\"text\",name:\"from_mail\",invalid:e(d).smtpConfig.from_mail.$error,onInput:n[12]||(n[12]=r=>e(d).smtpConfig.from_mail.$touch())},null,8,[\"modelValue\",\"content-loading\",\"invalid\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"]),l(v,{label:o.$t(\"settings.mail.from_name\"),\"content-loading\":a.isFetchingInitialData,error:e(d).smtpConfig.from_name.$error&&e(d).smtpConfig.from_name.$errors[0].$message,required:\"\"},{default:s(()=>[l(y,{modelValue:e(i).smtpConfig.from_name,\"onUpdate:modelValue\":n[13]||(n[13]=r=>e(i).smtpConfig.from_name=r),modelModifiers:{trim:!0},\"content-loading\":a.isFetchingInitialData,type:\"text\",name:\"from_name\",invalid:e(d).smtpConfig.from_name.$error,onInput:n[14]||(n[14]=r=>e(d).smtpConfig.from_name.$touch())},null,8,[\"modelValue\",\"content-loading\",\"invalid\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"])]),_:1}),F(\"div\",ne,[l(p,{disabled:a.isSaving,\"content-loading\":a.isFetchingInitialData,loading:a.isSaving,type:\"submit\",variant:\"primary\"},{left:s(r=>[a.isSaving?E(\"\",!0):(q(),V(_,{key:0,name:\"SaveIcon\",class:z(r.class)},null,8,[\"class\"]))]),default:s(()=>[S(\" \"+k(o.$t(\"general.save\")),1)]),_:1},8,[\"disabled\",\"content-loading\",\"loading\"]),J(o.$slots,\"default\")])],40,ie)}}},te=[\"onSubmit\"],ae={class:\"flex my-10\"},oe={props:{configData:{type:Object,require:!0,default:Object},isSaving:{type:Boolean,require:!0,default:!1},isFetchingInitialData:{type:Boolean,require:!0,default:!1},mailDrivers:{type:Array,require:!0,default:Array}},emits:[\"submit-data\",\"on-change-driver\"],setup(a,{emit:D}){const $=a,i=x(),{t:u}=j();let m=G(!1);const b=B(()=>m.value?\"text\":\"password\"),w=B(()=>({mailgunConfig:{mail_driver:{required:f.withMessage(u(\"validation.required\"),C)},mail_mailgun_domain:{required:f.withMessage(u(\"validation.required\"),C)},mail_mailgun_endpoint:{required:f.withMessage(u(\"validation.required\"),C)},mail_mailgun_secret:{required:f.withMessage(u(\"validation.required\"),C)},from_mail:{required:f.withMessage(u(\"validation.required\"),C),email:A},from_name:{required:f.withMessage(u(\"validation.required\"),C)}}})),t=P(w,B(()=>i));L(()=>{for(const g in i.mailgunConfig)$.configData.hasOwnProperty(g)&&(i.mailgunConfig[g]=$.configData[g])});async function d(){return t.value.mailgunConfig.$touch(),t.value.mailgunConfig.$invalid||D(\"submit-data\",i.mailgunConfig),!1}function I(){t.value.mailgunConfig.mail_driver.$touch(),D(\"on-change-driver\",i.mailgunConfig.mail_driver)}return(g,o)=>{const n=c(\"BaseMultiselect\"),M=c(\"BaseInputGroup\"),v=c(\"BaseInput\"),y=c(\"BaseIcon\"),_=c(\"BaseInputGrid\"),U=c(\"BaseButton\");return q(),O(\"form\",{onSubmit:N(d,[\"prevent\"])},[l(_,null,{default:s(()=>[l(M,{label:g.$t(\"settings.mail.driver\"),\"content-loading\":a.isFetchingInitialData,error:e(t).mailgunConfig.mail_driver.$error&&e(t).mailgunConfig.mail_driver.$errors[0].$message,required:\"\"},{default:s(()=>[l(n,{modelValue:e(i).mailgunConfig.mail_driver,\"onUpdate:modelValue\":[o[0]||(o[0]=p=>e(i).mailgunConfig.mail_driver=p),I],\"content-loading\":a.isFetchingInitialData,options:a.mailDrivers,\"can-deselect\":!1,invalid:e(t).mailgunConfig.mail_driver.$error},null,8,[\"modelValue\",\"content-loading\",\"options\",\"invalid\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"]),l(M,{label:g.$t(\"settings.mail.mailgun_domain\"),\"content-loading\":a.isFetchingInitialData,error:e(t).mailgunConfig.mail_mailgun_domain.$error&&e(t).mailgunConfig.mail_mailgun_domain.$errors[0].$message,required:\"\"},{default:s(()=>[l(v,{modelValue:e(i).mailgunConfig.mail_mailgun_domain,\"onUpdate:modelValue\":o[1]||(o[1]=p=>e(i).mailgunConfig.mail_mailgun_domain=p),modelModifiers:{trim:!0},\"content-loading\":a.isFetchingInitialData,type:\"text\",name:\"mailgun_domain\",invalid:e(t).mailgunConfig.mail_mailgun_domain.$error,onInput:o[2]||(o[2]=p=>e(t).mailgunConfig.mail_mailgun_domain.$touch())},null,8,[\"modelValue\",\"content-loading\",\"invalid\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"]),l(M,{label:g.$t(\"settings.mail.mailgun_secret\"),\"content-loading\":a.isFetchingInitialData,error:e(t).mailgunConfig.mail_mailgun_secret.$error&&e(t).mailgunConfig.mail_mailgun_secret.$errors[0].$message,required:\"\"},{default:s(()=>[l(v,{modelValue:e(i).mailgunConfig.mail_mailgun_secret,\"onUpdate:modelValue\":o[5]||(o[5]=p=>e(i).mailgunConfig.mail_mailgun_secret=p),modelModifiers:{trim:!0},\"content-loading\":a.isFetchingInitialData,type:e(b),name:\"mailgun_secret\",autocomplete:\"off\",invalid:e(t).mailgunConfig.mail_mailgun_secret.$error,onInput:o[6]||(o[6]=p=>e(t).mailgunConfig.mail_mailgun_secret.$touch())},{right:s(()=>[e(m)?(q(),V(y,{key:0,class:\"mr-1 text-gray-500 cursor-pointer\",name:\"EyeOffIcon\",onClick:o[3]||(o[3]=p=>T(m)?m.value=!e(m):m=!e(m))})):(q(),V(y,{key:1,class:\"mr-1 text-gray-500 cursor-pointer\",name:\"EyeIcon\",onClick:o[4]||(o[4]=p=>T(m)?m.value=!e(m):m=!e(m))}))]),_:1},8,[\"modelValue\",\"content-loading\",\"type\",\"invalid\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"]),l(M,{label:g.$t(\"settings.mail.mailgun_endpoint\"),\"content-loading\":a.isFetchingInitialData,error:e(t).mailgunConfig.mail_mailgun_endpoint.$error&&e(t).mailgunConfig.mail_mailgun_endpoint.$errors[0].$message,required:\"\"},{default:s(()=>[l(v,{modelValue:e(i).mailgunConfig.mail_mailgun_endpoint,\"onUpdate:modelValue\":o[7]||(o[7]=p=>e(i).mailgunConfig.mail_mailgun_endpoint=p),modelModifiers:{trim:!0},\"content-loading\":a.isFetchingInitialData,type:\"text\",name:\"mailgun_endpoint\",invalid:e(t).mailgunConfig.mail_mailgun_endpoint.$error,onInput:o[8]||(o[8]=p=>e(t).mailgunConfig.mail_mailgun_endpoint.$touch())},null,8,[\"modelValue\",\"content-loading\",\"invalid\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"]),l(M,{label:g.$t(\"settings.mail.from_mail\"),\"content-loading\":a.isFetchingInitialData,error:e(t).mailgunConfig.from_mail.$error&&e(t).mailgunConfig.from_mail.$errors[0].$message,required:\"\"},{default:s(()=>[l(v,{modelValue:e(i).mailgunConfig.from_mail,\"onUpdate:modelValue\":o[9]||(o[9]=p=>e(i).mailgunConfig.from_mail=p),modelModifiers:{trim:!0},\"content-loading\":a.isFetchingInitialData,type:\"text\",name:\"from_mail\",invalid:e(t).mailgunConfig.from_mail.$error,onInput:o[10]||(o[10]=p=>e(t).mailgunConfig.from_mail.$touch())},null,8,[\"modelValue\",\"content-loading\",\"invalid\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"]),l(M,{label:g.$t(\"settings.mail.from_name\"),\"content-loading\":a.isFetchingInitialData,error:e(t).mailgunConfig.from_name.$error&&e(t).mailgunConfig.from_name.$errors[0].$message,required:\"\"},{default:s(()=>[l(v,{modelValue:e(i).mailgunConfig.from_name,\"onUpdate:modelValue\":o[11]||(o[11]=p=>e(i).mailgunConfig.from_name=p),modelModifiers:{trim:!0},\"content-loading\":a.isFetchingInitialData,type:\"text\",name:\"from_name\",invalid:e(t).mailgunConfig.from_name.$error,onInput:o[12]||(o[12]=p=>e(t).mailgunConfig.from_name.$touch())},null,8,[\"modelValue\",\"content-loading\",\"invalid\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"])]),_:1}),F(\"div\",ae,[l(U,{disabled:a.isSaving,\"content-loading\":a.isFetchingInitialData,loading:a.isSaving,variant:\"primary\",type:\"submit\"},{left:s(p=>[a.isSaving?E(\"\",!0):(q(),V(y,{key:0,name:\"SaveIcon\",class:z(p.class)},null,8,[\"class\"]))]),default:s(()=>[S(\" \"+k(g.$t(\"general.save\")),1)]),_:1},8,[\"disabled\",\"content-loading\",\"loading\"]),J(g.$slots,\"default\")])],40,te)}}},le=[\"onSubmit\"],re={class:\"flex my-10\"},se={props:{configData:{type:Object,require:!0,default:Object},isSaving:{type:Boolean,require:!0,default:!1},isFetchingInitialData:{type:Boolean,require:!0,default:!1},mailDrivers:{type:Array,require:!0,default:Array}},emits:[\"submit-data\",\"on-change-driver\"],setup(a,{emit:D}){const $=a,i=x(),{t:u}=j();let m=G(!1);const b=Q([\"tls\",\"ssl\",\"starttls\"]),w=B(()=>({sesConfig:{mail_driver:{required:f.withMessage(u(\"validation.required\"),C)},mail_host:{required:f.withMessage(u(\"validation.required\"),C)},mail_port:{required:f.withMessage(u(\"validation.required\"),C),numeric:R},mail_ses_key:{required:f.withMessage(u(\"validation.required\"),C)},mail_ses_secret:{required:f.withMessage(u(\"validation.required\"),C)},mail_encryption:{required:f.withMessage(u(\"validation.required\"),C)},from_mail:{required:f.withMessage(u(\"validation.required\"),C),email:f.withMessage(u(\"validation.email_incorrect\"),A)},from_name:{required:f.withMessage(u(\"validation.required\"),C)}}})),t=P(w,B(()=>i)),d=B(()=>m.value?\"text\":\"password\");L(()=>{for(const o in i.sesConfig)$.configData.hasOwnProperty(o)&&(i.sesConfig[o]=$.configData[o])});async function I(){return t.value.sesConfig.$touch(),t.value.sesConfig.$invalid||D(\"submit-data\",i.sesConfig),!1}function g(){t.value.sesConfig.mail_driver.$touch(),D(\"on-change-driver\",i.sesConfig.mail_driver)}return(o,n)=>{const M=c(\"BaseMultiselect\"),v=c(\"BaseInputGroup\"),y=c(\"BaseInput\"),_=c(\"BaseIcon\"),U=c(\"BaseInputGrid\"),p=c(\"BaseButton\");return q(),O(\"form\",{onSubmit:N(I,[\"prevent\"])},[l(U,null,{default:s(()=>[l(v,{label:o.$t(\"settings.mail.driver\"),\"content-loading\":a.isFetchingInitialData,error:e(t).sesConfig.mail_driver.$error&&e(t).sesConfig.mail_driver.$errors[0].$message,required:\"\"},{default:s(()=>[l(M,{modelValue:e(i).sesConfig.mail_driver,\"onUpdate:modelValue\":[n[0]||(n[0]=r=>e(i).sesConfig.mail_driver=r),g],\"content-loading\":a.isFetchingInitialData,options:a.mailDrivers,\"can-deselect\":!1,invalid:e(t).sesConfig.mail_driver.$error},null,8,[\"modelValue\",\"content-loading\",\"options\",\"invalid\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"]),l(v,{label:o.$t(\"settings.mail.host\"),\"content-loading\":a.isFetchingInitialData,error:e(t).sesConfig.mail_host.$error&&e(t).sesConfig.mail_host.$errors[0].$message,required:\"\"},{default:s(()=>[l(y,{modelValue:e(i).sesConfig.mail_host,\"onUpdate:modelValue\":n[1]||(n[1]=r=>e(i).sesConfig.mail_host=r),modelModifiers:{trim:!0},\"content-loading\":a.isFetchingInitialData,type:\"text\",name:\"mail_host\",invalid:e(t).sesConfig.mail_host.$error,onInput:n[2]||(n[2]=r=>e(t).sesConfig.mail_host.$touch())},null,8,[\"modelValue\",\"content-loading\",\"invalid\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"]),l(v,{label:o.$t(\"settings.mail.port\"),\"content-loading\":a.isFetchingInitialData,error:e(t).sesConfig.mail_port.$error&&e(t).sesConfig.mail_port.$errors[0].$message,required:\"\"},{default:s(()=>[l(y,{modelValue:e(i).sesConfig.mail_port,\"onUpdate:modelValue\":n[3]||(n[3]=r=>e(i).sesConfig.mail_port=r),modelModifiers:{trim:!0},\"content-loading\":a.isFetchingInitialData,type:\"text\",name:\"mail_port\",invalid:e(t).sesConfig.mail_port.$error,onInput:n[4]||(n[4]=r=>e(t).sesConfig.mail_port.$touch())},null,8,[\"modelValue\",\"content-loading\",\"invalid\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"]),l(v,{label:o.$t(\"settings.mail.encryption\"),\"content-loading\":a.isFetchingInitialData,error:e(t).sesConfig.mail_encryption.$error&&e(t).sesConfig.mail_encryption.$errors[0].$message,required:\"\"},{default:s(()=>[l(M,{modelValue:e(i).sesConfig.mail_encryption,\"onUpdate:modelValue\":n[5]||(n[5]=r=>e(i).sesConfig.mail_encryption=r),modelModifiers:{trim:!0},\"content-loading\":a.isFetchingInitialData,options:e(b),invalid:e(t).sesConfig.mail_encryption.$error,placeholder:\"Select option\",onInput:n[6]||(n[6]=r=>e(t).sesConfig.mail_encryption.$touch())},null,8,[\"modelValue\",\"content-loading\",\"options\",\"invalid\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"]),l(v,{label:o.$t(\"settings.mail.from_mail\"),\"content-loading\":a.isFetchingInitialData,error:e(t).sesConfig.from_mail.$error&&e(t).sesConfig.from_mail.$errors[0].$message,required:\"\"},{default:s(()=>[l(y,{modelValue:e(i).sesConfig.from_mail,\"onUpdate:modelValue\":n[7]||(n[7]=r=>e(i).sesConfig.from_mail=r),modelModifiers:{trim:!0},\"content-loading\":a.isFetchingInitialData,type:\"text\",name:\"from_mail\",invalid:e(t).sesConfig.from_mail.$error,onInput:n[8]||(n[8]=r=>e(t).sesConfig.from_mail.$touch())},null,8,[\"modelValue\",\"content-loading\",\"invalid\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"]),l(v,{label:o.$t(\"settings.mail.from_name\"),\"content-loading\":a.isFetchingInitialData,error:e(t).sesConfig.from_name.$error&&e(t).sesConfig.from_name.$errors[0].$message,required:\"\"},{default:s(()=>[l(y,{modelValue:e(i).sesConfig.from_name,\"onUpdate:modelValue\":n[9]||(n[9]=r=>e(i).sesConfig.from_name=r),modelModifiers:{trim:!0},\"content-loading\":a.isFetchingInitialData,type:\"text\",name:\"name\",invalid:e(t).sesConfig.from_name.$error,onInput:n[10]||(n[10]=r=>e(t).sesConfig.from_name.$touch())},null,8,[\"modelValue\",\"content-loading\",\"invalid\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"]),l(v,{label:o.$t(\"settings.mail.ses_key\"),\"content-loading\":a.isFetchingInitialData,error:e(t).sesConfig.mail_ses_key.$error&&e(t).sesConfig.mail_ses_key.$errors[0].$message,required:\"\"},{default:s(()=>[l(y,{modelValue:e(i).sesConfig.mail_ses_key,\"onUpdate:modelValue\":n[11]||(n[11]=r=>e(i).sesConfig.mail_ses_key=r),modelModifiers:{trim:!0},\"content-loading\":a.isFetchingInitialData,type:\"text\",name:\"mail_ses_key\",invalid:e(t).sesConfig.mail_ses_key.$error,onInput:n[12]||(n[12]=r=>e(t).sesConfig.mail_ses_key.$touch())},null,8,[\"modelValue\",\"content-loading\",\"invalid\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"]),l(v,{label:o.$t(\"settings.mail.ses_secret\"),\"content-loading\":a.isFetchingInitialData,error:e(t).sesConfig.mail_ses_secret.$error&&e(t).mail_ses_secret.$errors[0].$message,required:\"\"},{default:s(()=>[l(y,{modelValue:e(i).sesConfig.mail_ses_secret,\"onUpdate:modelValue\":n[15]||(n[15]=r=>e(i).sesConfig.mail_ses_secret=r),modelModifiers:{trim:!0},\"content-loading\":a.isFetchingInitialData,type:e(d),name:\"mail_ses_secret\",autocomplete:\"off\",invalid:e(t).sesConfig.mail_ses_secret.$error,onInput:n[16]||(n[16]=r=>e(t).sesConfig.mail_ses_secret.$touch())},{right:s(()=>[e(m)?(q(),V(_,{key:0,class:\"mr-1 text-gray-500 cursor-pointer\",name:\"EyeOffIcon\",onClick:n[13]||(n[13]=r=>T(m)?m.value=!e(m):m=!e(m))})):(q(),V(_,{key:1,class:\"mr-1 text-gray-500 cursor-pointer\",name:\"EyeIcon\",onClick:n[14]||(n[14]=r=>T(m)?m.value=!e(m):m=!e(m))}))]),_:1},8,[\"modelValue\",\"content-loading\",\"type\",\"invalid\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"])]),_:1}),F(\"div\",re,[l(p,{disabled:a.isSaving,\"content-loading\":a.isFetchingInitialData,loading:a.isSaving,variant:\"primary\",type:\"submit\"},{left:s(r=>[a.isSaving?E(\"\",!0):(q(),V(_,{key:0,name:\"SaveIcon\",class:z(r.class)},null,8,[\"class\"]))]),default:s(()=>[S(\" \"+k(o.$t(\"general.save\")),1)]),_:1},8,[\"disabled\",\"content-loading\",\"loading\"]),J(o.$slots,\"default\")])],40,le)}}},me=[\"onSubmit\"],de={class:\"flex mt-8\"},W={props:{configData:{type:Object,require:!0,default:Object},isSaving:{type:Boolean,require:!0,default:!1},isFetchingInitialData:{type:Boolean,require:!0,default:!1},mailDrivers:{type:Array,require:!0,default:Array}},emits:[\"submit-data\",\"on-change-driver\"],setup(a,{emit:D}){const $=a,i=x(),{t:u}=j(),m=B(()=>({basicMailConfig:{mail_driver:{required:f.withMessage(u(\"validation.required\"),C)},from_mail:{required:f.withMessage(u(\"validation.required\"),C),email:f.withMessage(u(\"validation.email_incorrect\"),A)},from_name:{required:f.withMessage(u(\"validation.required\"),C)}}})),b=P(m,B(()=>i));L(()=>{for(const d in i.basicMailConfig)$.configData.hasOwnProperty(d)&&i.$patch(I=>{I.basicMailConfig[d]=$.configData[d]})});async function w(){return b.value.basicMailConfig.$touch(),b.value.basicMailConfig.$invalid||D(\"submit-data\",i.basicMailConfig),!1}function t(){b.value.basicMailConfig.mail_driver.$touch(),D(\"on-change-driver\",i.basicMailConfig.mail_driver)}return(d,I)=>{const g=c(\"BaseMultiselect\"),o=c(\"BaseInputGroup\"),n=c(\"BaseInput\"),M=c(\"BaseInputGrid\"),v=c(\"BaseIcon\"),y=c(\"BaseButton\");return q(),O(\"form\",{onSubmit:N(w,[\"prevent\"])},[l(M,null,{default:s(()=>[l(o,{label:d.$t(\"settings.mail.driver\"),\"content-loading\":a.isFetchingInitialData,error:e(b).basicMailConfig.mail_driver.$error&&e(b).basicMailConfig.mail_driver.$errors[0].$message,required:\"\"},{default:s(()=>[l(g,{modelValue:e(i).basicMailConfig.mail_driver,\"onUpdate:modelValue\":[I[0]||(I[0]=_=>e(i).basicMailConfig.mail_driver=_),t],\"content-loading\":a.isFetchingInitialData,options:a.mailDrivers,\"can-deselect\":!1,invalid:e(b).basicMailConfig.mail_driver.$error},null,8,[\"modelValue\",\"content-loading\",\"options\",\"invalid\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"]),l(o,{label:d.$t(\"settings.mail.from_mail\"),\"content-loading\":a.isFetchingInitialData,error:e(b).basicMailConfig.from_mail.$error&&e(b).basicMailConfig.from_mail.$errors[0].$message,required:\"\"},{default:s(()=>[l(n,{modelValue:e(i).basicMailConfig.from_mail,\"onUpdate:modelValue\":I[1]||(I[1]=_=>e(i).basicMailConfig.from_mail=_),modelModifiers:{trim:!0},\"content-loading\":a.isFetchingInitialData,type:\"text\",name:\"from_mail\",invalid:e(b).basicMailConfig.from_mail.$error,onInput:I[2]||(I[2]=_=>e(b).basicMailConfig.from_mail.$touch())},null,8,[\"modelValue\",\"content-loading\",\"invalid\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"]),l(o,{label:d.$t(\"settings.mail.from_name\"),\"content-loading\":a.isFetchingInitialData,error:e(b).basicMailConfig.from_name.$error&&e(b).basicMailConfig.from_name.$errors[0].$message,required:\"\"},{default:s(()=>[l(n,{modelValue:e(i).basicMailConfig.from_name,\"onUpdate:modelValue\":I[3]||(I[3]=_=>e(i).basicMailConfig.from_name=_),modelModifiers:{trim:!0},\"content-loading\":a.isFetchingInitialData,type:\"text\",name:\"name\",invalid:e(b).basicMailConfig.from_name.$error,onInput:I[4]||(I[4]=_=>e(b).basicMailConfig.from_name.$touch())},null,8,[\"modelValue\",\"content-loading\",\"invalid\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"])]),_:1}),F(\"div\",de,[l(y,{\"content-loading\":a.isFetchingInitialData,disabled:a.isSaving,loading:a.isSaving,variant:\"primary\",type:\"submit\"},{left:s(_=>[a.isSaving?E(\"\",!0):(q(),V(v,{key:0,class:z(_.class),name:\"SaveIcon\"},null,8,[\"class\"]))]),default:s(()=>[S(\" \"+k(d.$t(\"general.save\")),1)]),_:1},8,[\"content-loading\",\"disabled\",\"loading\"]),J(d.$slots,\"default\")])],40,me)}}},ue={class:\"flex justify-between w-full\"},ge=[\"onSubmit\"],fe={class:\"p-4 md:p-8\"},ce={class:\"z-0 flex justify-end p-4 border-t border-gray-200 border-solid\"},ve={setup(a){let D=G(!1),$=Q({to:\"\",subject:\"\",message:\"\"});const i=H(),u=x(),{t:m}=j(),b=B(()=>i.active&&i.componentName===\"MailTestModal\"),w={formData:{to:{required:f.withMessage(m(\"validation.required\"),C),email:f.withMessage(m(\"validation.email_incorrect\"),A)},subject:{required:f.withMessage(m(\"validation.required\"),C),maxLength:f.withMessage(m(\"validation.subject_maxlength\"),X(100))},message:{required:f.withMessage(m(\"validation.required\"),C),maxLength:f.withMessage(m(\"validation.message_maxlength\"),X(255))}}},t=P(w,{formData:$});function d(){$.id=\"\",$.to=\"\",$.subject=\"\",$.message=\"\",t.value.$reset()}async function I(){if(t.value.formData.$touch(),t.value.$invalid)return!0;D.value=!0,(await u.sendTestMail($)).data&&(g(),D.value=!1)}function g(){i.closeModal(),setTimeout(()=>{i.resetModalData(),d()},300)}return(o,n)=>{const M=c(\"BaseIcon\"),v=c(\"BaseInput\"),y=c(\"BaseInputGroup\"),_=c(\"BaseTextarea\"),U=c(\"BaseInputGrid\"),p=c(\"BaseButton\"),r=c(\"BaseModal\");return q(),V(r,{show:e(b),onClose:g},{header:s(()=>[F(\"div\",ue,[S(k(e(i).title)+\" \",1),l(M,{name:\"XIcon\",class:\"w-6 h-6 text-gray-500 cursor-pointer\",onClick:g})])]),default:s(()=>[F(\"form\",{action:\"\",onSubmit:N(I,[\"prevent\"])},[F(\"div\",fe,[l(U,{layout:\"one-column\"},{default:s(()=>[l(y,{label:o.$t(\"general.to\"),error:e(t).formData.to.$error&&e(t).formData.to.$errors[0].$message,variant:\"horizontal\",required:\"\"},{default:s(()=>[l(v,{ref:(h,Y)=>{Y.to=h},modelValue:e($).to,\"onUpdate:modelValue\":n[0]||(n[0]=h=>e($).to=h),type:\"text\",invalid:e(t).formData.to.$error,onInput:n[1]||(n[1]=h=>e(t).formData.to.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"]),l(y,{label:o.$t(\"general.subject\"),error:e(t).formData.subject.$error&&e(t).formData.subject.$errors[0].$message,variant:\"horizontal\",required:\"\"},{default:s(()=>[l(v,{modelValue:e($).subject,\"onUpdate:modelValue\":n[2]||(n[2]=h=>e($).subject=h),type:\"text\",invalid:e(t).formData.subject.$error,onInput:n[3]||(n[3]=h=>e(t).formData.subject.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"]),l(y,{label:o.$t(\"general.message\"),error:e(t).formData.message.$error&&e(t).formData.message.$errors[0].$message,variant:\"horizontal\",required:\"\"},{default:s(()=>[l(_,{modelValue:e($).message,\"onUpdate:modelValue\":n[4]||(n[4]=h=>e($).message=h),rows:\"4\",cols:\"50\",invalid:e(t).formData.message.$error,onInput:n[5]||(n[5]=h=>e(t).formData.message.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"])]),_:1})]),F(\"div\",ce,[l(p,{variant:\"primary-outline\",type:\"button\",class:\"mr-3\",onClick:n[6]||(n[6]=h=>g())},{default:s(()=>[S(k(o.$t(\"general.cancel\")),1)]),_:1}),l(p,{loading:e(D),variant:\"primary\",type:\"submit\"},{left:s(h=>[e(D)?E(\"\",!0):(q(),V(M,{key:0,name:\"PaperAirplaneIcon\",class:z(h.class)},null,8,[\"class\"]))]),default:s(()=>[S(\" \"+k(o.$t(\"general.send\")),1)]),_:1},8,[\"loading\"])])],40,ge)]),_:1},8,[\"show\"])}}},$e={key:0,class:\"mt-14\"},ye={setup(a){let D=G(!1),$=G(!1);const i=x(),u=H(),{t:m}=j();w();function b(g){i.mail_driver=g,i.mailConfigData.mail_driver=g}async function w(){$.value=!0,Promise.all([await i.fetchMailDrivers(),await i.fetchMailConfig()]).then(([g])=>{$.value=!1})}const t=B(()=>i.mail_driver==\"smtp\"?K:i.mail_driver==\"mailgun\"?oe:i.mail_driver==\"sendmail\"?W:i.mail_driver==\"ses\"?se:i.mail_driver==\"mail\"?W:K);async function d(g){try{return D.value=!0,await i.updateMailConfig(g),D.value=!1,!0}catch(o){console.error(o)}}function I(){u.openModal({title:m(\"general.test_mail_conf\"),componentName:\"MailTestModal\",size:\"sm\"})}return(g,o)=>{const n=c(\"BaseButton\"),M=c(\"BaseSettingCard\");return q(),O(ee,null,[l(ve),l(M,{title:g.$t(\"settings.mail.mail_config\"),description:g.$t(\"settings.mail.mail_config_desc\")},{default:s(()=>[e(i)&&e(i).mailConfigData?(q(),O(\"div\",$e,[(q(),V(Z(e(t)),{\"config-data\":e(i).mailConfigData,\"is-saving\":e(D),\"mail-drivers\":e(i).mail_drivers,\"is-fetching-initial-data\":e($),onOnChangeDriver:o[0]||(o[0]=v=>b(v)),onSubmitData:d},{default:s(()=>[l(n,{variant:\"primary-outline\",type:\"button\",class:\"ml-2\",\"content-loading\":e($),onClick:I},{default:s(()=>[S(k(g.$t(\"general.test_mail_conf\")),1)]),_:1},8,[\"content-loading\"])]),_:1},8,[\"config-data\",\"is-saving\",\"mail-drivers\",\"is-fetching-initial-data\"]))])):E(\"\",!0)]),_:1},8,[\"title\",\"description\"])],64)}}};export{ye as default};\n"
  },
  {
    "path": "public/build/assets/MoonwalkerIcon.b55d3604.js",
    "content": "import{o as C,e as i,h as l,m as d}from\"./vendor.d12b5734.js\";const r={width:\"154\",height:\"110\",viewBox:\"0 0 154 110\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\"},o={\"clip-path\":\"url(#clip0)\"},n=l(\"defs\",null,[l(\"clipPath\",{id:\"clip0\"},[l(\"rect\",{width:\"153.043\",height:\"110\",fill:\"white\"})])],-1),s={props:{primaryFillColor:{type:String,default:\"fill-primary-500\"},secondaryFillColor:{type:String,default:\"fill-gray-600\"}},setup(e){return(a,c)=>(C(),i(\"svg\",r,[l(\"g\",o,[l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M33.4784 93.2609C33.4784 94.5809 32.4071 95.6522 31.0871 95.6522C29.7671 95.6522 28.6958 94.5809 28.6958 93.2609C28.6958 91.9409 29.7671 90.8696 31.0871 90.8696C32.4071 90.8696 33.4784 91.9409 33.4784 93.2609Z\",class:d(e.primaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M78.913 93.2609C78.913 94.5809 77.8417 95.6522 76.5217 95.6522C75.2017 95.6522 74.1304 94.5809 74.1304 93.2609C74.1304 91.9409 75.2017 90.8696 76.5217 90.8696C77.8417 90.8696 78.913 91.9409 78.913 93.2609Z\",class:d(e.primaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M124.348 93.2609C124.348 94.5809 123.277 95.6522 121.957 95.6522C120.637 95.6522 119.565 94.5809 119.565 93.2609C119.565 91.9409 120.637 90.8696 121.957 90.8696C123.277 90.8696 124.348 91.9409 124.348 93.2609Z\",class:d(e.primaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M148.261 54.9999C149.578 54.9999 150.652 56.0736 150.652 57.3913V83.6956C150.652 87.658 147.441 90.8695 143.478 90.8695H137.352V93.2608H143.478C148.761 93.2608 153.043 88.978 153.043 83.6956V57.3913C153.043 54.7489 150.903 52.6086 148.261 52.6086H4.78261C2.14022 52.6086 0 54.7489 0 57.3913V83.6956C0 88.978 4.28283 93.2608 9.56522 93.2608H15.4478V90.8695H9.56522C5.60283 90.8695 2.3913 87.658 2.3913 83.6956V57.3913C2.3913 56.0713 3.46261 54.9999 4.78261 54.9999H148.261ZM106.243 90.8695H91.7113L92.1011 93.2608H106.145L106.243 90.8695ZM60.8946 90.8695H46.5587L46.4607 93.2608H60.6985L60.8946 90.8695Z\",class:d(e.secondaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M38.2611 45.4348H23.9133C22.5933 45.4348 21.522 46.5061 21.522 47.8261V52.6087C21.522 53.9287 22.5933 55 23.9133 55H38.2611C39.5811 55 40.6524 53.9287 40.6524 52.6087V47.8261C40.6524 46.5061 39.5811 45.4348 38.2611 45.4348ZM23.9133 52.6087H38.2611V47.8261H23.9133V52.6087Z\",class:d(e.secondaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M28.6957 62.174C28.6957 63.494 27.6244 64.5653 26.3044 64.5653C24.9844 64.5653 23.9131 63.494 23.9131 62.174C23.9131 60.854 24.9844 59.7827 26.3044 59.7827C27.6244 59.7827 28.6957 60.854 28.6957 62.174Z\",class:d(e.primaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M38.2606 62.174C38.2606 63.494 37.1893 64.5653 35.8693 64.5653C34.5493 64.5653 33.478 63.494 33.478 62.174C33.478 60.854 34.5493 59.7827 35.8693 59.7827C37.1893 59.7827 38.2606 60.854 38.2606 62.174Z\",class:d(e.primaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M59.7826 64.5653H45.4348C44.1195 64.5653 43.0435 63.4892 43.0435 62.174C43.0435 60.8588 44.1195 59.7827 45.4348 59.7827H59.7826C61.0978 59.7827 62.1739 60.8588 62.1739 62.174C62.1739 63.4892 61.0978 64.5653 59.7826 64.5653Z\",class:d(e.primaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M101.793 40.0497L118.533 11.354L119.982 13.6162L104.754 39.722L101.793 40.0497Z\",class:d(e.primaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M110.163 40.0496L124.556 15.3761L127.383 15.2781L112.973 39.9826L110.163 40.0496Z\",class:d(e.primaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M74.1304 7.17402H119.565V4.78271H74.1304V7.17402Z\",class:d(e.primaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M74.1304 14.3478H119.565V11.9565H74.1304V14.3478Z\",class:d(e.primaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M71.7389 2.3913V16.7391H50.2172C48.8996 16.7391 47.8259 15.6654 47.8259 14.3478V11.9565H45.4346V14.3478C45.4346 16.9902 47.5748 19.1304 50.2172 19.1304H74.1302V0H50.2172C47.5748 0 45.4346 2.14022 45.4346 4.78261V7.17391H47.8259V4.78261C47.8259 3.465 48.8996 2.3913 50.2172 2.3913H71.7389Z\",class:d(e.secondaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M124.348 2.39136C120.385 2.39136 117.174 5.60288 117.174 9.56527C117.174 13.5277 120.385 16.7392 124.348 16.7392C128.31 16.7392 131.522 13.5277 131.522 9.56527C131.522 5.60288 128.31 2.39136 124.348 2.39136ZM124.348 4.78266C126.985 4.78266 129.13 6.92766 129.13 9.56527C129.13 12.2029 126.985 14.3479 124.348 14.3479C121.71 14.3479 119.565 12.2029 119.565 9.56527C119.565 6.92766 121.71 4.78266 124.348 4.78266Z\",class:d(e.secondaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M108.902 38.261C98.1965 38.261 89.1358 45.2986 86.0869 55.0001H131.718C128.669 45.2986 119.608 38.261 108.902 38.261ZM108.902 40.6523C117.219 40.6523 124.608 45.3416 128.191 52.6088H89.6141C93.1963 45.3416 100.585 40.6523 108.902 40.6523Z\",class:d(e.secondaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M31.0868 76.5217C21.842 76.5217 14.3477 84.0161 14.3477 93.2609C14.3477 102.506 21.842 110 31.0868 110C40.3316 110 47.8259 102.506 47.8259 93.2609C47.8259 84.0161 40.3316 76.5217 31.0868 76.5217ZM31.0868 78.913C38.9972 78.913 45.4346 85.3504 45.4346 93.2609C45.4346 101.171 38.9972 107.609 31.0868 107.609C23.1764 107.609 16.739 101.171 16.739 93.2609C16.739 85.3504 23.1764 78.913 31.0868 78.913Z\",class:d(e.secondaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M121.956 76.5217C112.712 76.5217 105.217 84.0161 105.217 93.2609C105.217 102.506 112.712 110 121.956 110C131.201 110 138.696 102.506 138.696 93.2609C138.696 84.0161 131.201 76.5217 121.956 76.5217ZM121.956 78.913C129.867 78.913 136.304 85.3504 136.304 93.2609C136.304 101.171 129.867 107.609 121.956 107.609C114.046 107.609 107.609 101.171 107.609 93.2609C107.609 85.3504 114.046 78.913 121.956 78.913Z\",class:d(e.secondaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M76.5218 76.5217C67.2771 76.5217 59.7827 84.0161 59.7827 93.2609C59.7827 102.506 67.2771 110 76.5218 110C85.7666 110 93.261 102.506 93.261 93.2609C93.261 84.0161 85.7666 76.5217 76.5218 76.5217ZM76.5218 78.913C84.4323 78.913 90.8697 85.3504 90.8697 93.2609C90.8697 101.171 84.4323 107.609 76.5218 107.609C68.6114 107.609 62.174 101.171 62.174 93.2609C62.174 85.3504 68.6114 78.913 76.5218 78.913Z\",class:d(e.secondaryFillColor)},null,2)]),n]))}};export{s as _};\n"
  },
  {
    "path": "public/build/assets/NoteModal.3245b7d3.css",
    "content": ".note-modal .header-editior .editor-menu-bar{margin-left:.5px;margin-right:0}\n"
  },
  {
    "path": "public/build/assets/NoteModal.ebe10cf0.js",
    "content": "var O=Object.defineProperty;var E=Object.getOwnPropertySymbols;var R=Object.prototype.hasOwnProperty,X=Object.prototype.propertyIsEnumerable;var x=(d,s,a)=>s in d?O(d,s,{enumerable:!0,configurable:!0,writable:!0,value:a}):d[s]=a,z=(d,s)=>{for(var a in s||(s={}))R.call(s,a)&&x(d,a,s[a]);if(E)for(var a of E(s))X.call(s,a)&&x(d,a,s[a]);return d};import{a as g,d as H,G as K,J as Q,B as k,a0 as W,k as S,L as w,M as b,N as Y,T as Z,C as ee,D as te,r as f,o as ae,l as oe,w as p,h as I,i as C,t as M,u as o,f as c,m as ne,U as se}from\"./vendor.d12b5734.js\";import{h as $,c as re,u as ie,i as ue,k as le}from\"./main.465728e1.js\";import{u as ce}from\"./payment.93619753.js\";const de=(d=!1)=>(d?window.pinia.defineStore:H)({id:\"notes\",state:()=>({notes:[],currentNote:{id:null,type:\"\",name:\"\",notes:\"\"}}),getters:{isEdit:a=>!!a.currentNote.id},actions:{resetCurrentNote(){this.currentNote={type:\"\",name:\"\",notes:\"\"}},fetchNotes(a){return new Promise((e,l)=>{g.get(\"/api/v1/notes\",{params:a}).then(t=>{this.notes=t.data.data,e(t)}).catch(t=>{$(t),l(t)})})},fetchNote(a){return new Promise((e,l)=>{g.get(`/api/v1/notes/${a}`).then(t=>{this.currentNote=t.data.data,e(t)}).catch(t=>{$(t),l(t)})})},addNote(a){return new Promise((e,l)=>{g.post(\"/api/v1/notes\",a).then(t=>{this.notes.push(t.data),e(t)}).catch(t=>{$(t),l(t)})})},updateNote(a){return new Promise((e,l)=>{g.put(`/api/v1/notes/${a.id}`,a).then(t=>{if(t.data){let y=this.notes.findIndex(u=>u.id===t.data.data.id);this.notes[y]=a.notes}e(t)}).catch(t=>{$(t),l(t)})})},deleteNote(a){return new Promise((e,l)=>{g.delete(`/api/v1/notes/${a}`).then(t=>{let y=this.notes.findIndex(u=>u.id===a);this.notes.splice(y,1),e(t)}).catch(t=>{$(t),l(t)})})}}})();const me={class:\"flex justify-between w-full\"},pe=[\"onSubmit\"],fe={class:\"px-8 py-8 sm:p-6\"},ve={class:\"z-0 flex justify-end px-4 py-4 border-t border-solid border-gray-light\"},ge={setup(d){const s=re(),a=ie(),e=de(),l=ue(),t=ce(),y=le(),u=K(),{t:N}=Q();let v=k(!1);const D=W([\"Invoice\",\"Estimate\",\"Payment\"]);let h=k([\"customer\",\"customerCustom\"]);const j=S(()=>s.active&&s.componentName===\"NoteModal\"),G=S(()=>({currentNote:{name:{required:w.withMessage(N(\"validation.required\"),b),minLength:w.withMessage(N(\"validation.name_min_length\",{count:3}),Y(3))},notes:{required:w.withMessage(N(\"validation.required\"),b)},type:{required:w.withMessage(N(\"validation.required\"),b)}}})),r=Z(G,S(()=>e));ee(()=>e.currentNote.type,n=>{V()}),te(()=>{u.name===\"estimates.create\"?e.currentNote.type=\"Estimate\":u.name===\"invoices.create\"?e.currentNote.type=\"Invoice\":e.currentNote.type=\"Payment\"});function V(){h.value=[\"customer\",\"customerCustom\"],e.currentNote.type==\"Invoice\"&&h.value.push(\"invoice\",\"invoiceCustom\"),e.currentNote.type==\"Estimate\"&&h.value.push(\"estimate\",\"estimateCustom\"),e.currentNote.type==\"Payment\"&&h.value.push(\"payment\",\"paymentCustom\")}async function U(){if(r.value.currentNote.$touch(),r.value.currentNote.$invalid)return!0;if(v.value=!0,e.isEdit){let n=z({id:e.currentNote.id},e.currentNote);await e.updateNote(n).then(i=>{v.value=!1,i.data&&(a.showNotification({type:\"success\",message:N(\"settings.customization.notes.note_updated\")}),s.refreshData&&s.refreshData(),_())}).catch(i=>{v.value=!1})}else await e.addNote(e.currentNote).then(n=>{v.value=!1,n.data&&(a.showNotification({type:\"success\",message:N(\"settings.customization.notes.note_added\")}),(u.name===\"invoices.create\"&&n.data.data.type===\"Invoice\"||u.name===\"invoices.edit\"&&n.data.data.type===\"Invoice\")&&l.selectNote(n.data.data),(u.name===\"estimates.create\"&&n.data.data.type===\"Estimate\"||u.name===\"estimates.edit\"&&n.data.data.type===\"Estimate\")&&y.selectNote(n.data.data),(u.name===\"payments.create\"&&n.data.data.type===\"Payment\"||u.name===\"payments.edit\"&&n.data.data.type===\"Payment\")&&t.selectNote(n.data.data)),s.refreshData&&s.refreshData(),_()}).catch(n=>{v.value=!1})}function _(){s.closeModal(),setTimeout(()=>{e.resetCurrentNote(),r.value.$reset()},300)}return(n,i)=>{const P=f(\"BaseIcon\"),F=f(\"BaseInput\"),B=f(\"BaseInputGroup\"),L=f(\"BaseMultiselect\"),T=f(\"BaseCustomInput\"),A=f(\"BaseInputGrid\"),q=f(\"BaseButton\"),J=f(\"BaseModal\");return ae(),oe(J,{show:o(j),onClose:_,onOpen:V},{header:p(()=>[I(\"div\",me,[C(M(o(s).title)+\" \",1),c(P,{name:\"XIcon\",class:\"h-6 w-6 text-gray-500 cursor-pointer\",onClick:_})])]),default:p(()=>[I(\"form\",{action:\"\",onSubmit:se(U,[\"prevent\"])},[I(\"div\",fe,[c(A,{layout:\"one-column\"},{default:p(()=>[c(B,{label:n.$t(\"settings.customization.notes.name\"),variant:\"vertical\",error:o(r).currentNote.name.$error&&o(r).currentNote.name.$errors[0].$message,required:\"\"},{default:p(()=>[c(F,{modelValue:o(e).currentNote.name,\"onUpdate:modelValue\":i[0]||(i[0]=m=>o(e).currentNote.name=m),invalid:o(r).currentNote.name.$error,type:\"text\",onInput:i[1]||(i[1]=m=>o(r).currentNote.name.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"]),c(B,{label:n.$t(\"settings.customization.notes.type\"),error:o(r).currentNote.type.$error&&o(r).currentNote.type.$errors[0].$message,required:\"\"},{default:p(()=>[c(L,{modelValue:o(e).currentNote.type,\"onUpdate:modelValue\":i[2]||(i[2]=m=>o(e).currentNote.type=m),options:o(D),\"value-prop\":\"type\",class:\"mt-2\"},null,8,[\"modelValue\",\"options\"])]),_:1},8,[\"label\",\"error\"]),c(B,{label:n.$t(\"settings.customization.notes.notes\"),error:o(r).currentNote.notes.$error&&o(r).currentNote.notes.$errors[0].$message,required:\"\"},{default:p(()=>[c(T,{modelValue:o(e).currentNote.notes,\"onUpdate:modelValue\":i[3]||(i[3]=m=>o(e).currentNote.notes=m),invalid:o(r).currentNote.notes.$error,fields:o(h),onInput:i[4]||(i[4]=m=>o(r).currentNote.notes.$touch())},null,8,[\"modelValue\",\"invalid\",\"fields\"])]),_:1},8,[\"label\",\"error\"])]),_:1})]),I(\"div\",ve,[c(q,{class:\"mr-2\",variant:\"primary-outline\",type:\"button\",onClick:_},{default:p(()=>[C(M(n.$t(\"general.cancel\")),1)]),_:1}),c(q,{loading:o(v),disabled:o(v),variant:\"primary\",type:\"submit\"},{left:p(m=>[c(P,{name:\"SaveIcon\",class:ne(m.class)},null,8,[\"class\"])]),default:p(()=>[C(\" \"+M(o(e).isEdit?n.$t(\"general.update\"):n.$t(\"general.save\")),1)]),_:1},8,[\"loading\",\"disabled\"])])],40,pe)]),_:1},8,[\"show\"])}}};export{ge as _,de as u};\n"
  },
  {
    "path": "public/build/assets/NotesSetting.b0c00c6b.js",
    "content": "import{J as k,G as $,ah as T,r,o as p,l as f,w as t,u as c,f as u,i as S,t as z,j as C,B as E,k as O,e as F,m as G,F as P,a0 as V}from\"./vendor.d12b5734.js\";import{j as x,u as I,e as M,c as j,g as D}from\"./main.465728e1.js\";import{u as A,_ as H}from\"./NoteModal.ebe10cf0.js\";import\"./payment.93619753.js\";const L={props:{row:{type:Object,default:null},table:{type:Object,default:null},loadData:{type:Function,default:null}},setup(g){const d=g,h=x(),_=I(),{t:a}=k(),o=A(),N=$(),y=M(),b=j();T(\"utils\");function w(n){o.fetchNote(n),b.openModal({title:a(\"settings.customization.notes.edit_note\"),componentName:\"NoteModal\",size:\"md\",refreshData:d.loadData})}function s(n){h.openDialog({title:a(\"general.are_you_sure\"),message:a(\"settings.customization.notes.note_confirm_delete\"),yesLabel:a(\"general.yes\"),noLabel:a(\"general.no\"),variant:\"danger\",hideNoButton:!1,size:\"lg\"}).then(async()=>{(await o.deleteNote(n)).data.success?_.showNotification({type:\"success\",message:a(\"settings.customization.notes.deleted_message\")}):_.showNotification({type:\"error\",message:a(\"settings.customization.notes.already_in_use\")}),d.loadData&&d.loadData()})}return(n,e)=>{const i=r(\"BaseIcon\"),m=r(\"BaseButton\"),B=r(\"BaseDropdownItem\"),l=r(\"BaseDropdown\");return p(),f(l,null,{activator:t(()=>[c(N).name===\"notes.view\"?(p(),f(m,{key:0,variant:\"primary\"},{default:t(()=>[u(i,{name:\"DotsHorizontalIcon\",class:\"h-5 text-white\"})]),_:1})):(p(),f(i,{key:1,name:\"DotsHorizontalIcon\",class:\"h-5 text-gray-500\"}))]),default:t(()=>[c(y).hasAbilities(c(D).MANAGE_NOTE)?(p(),f(B,{key:0,onClick:e[0]||(e[0]=v=>w(g.row.id))},{default:t(()=>[u(i,{name:\"PencilIcon\",class:\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"}),S(\" \"+z(n.$t(\"general.edit\")),1)]),_:1})):C(\"\",!0),c(y).hasAbilities(c(D).MANAGE_NOTE)?(p(),f(B,{key:1,onClick:e[1]||(e[1]=v=>s(g.row.id))},{default:t(()=>[u(i,{name:\"TrashIcon\",class:\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"}),S(\" \"+z(n.$t(\"general.delete\")),1)]),_:1})):C(\"\",!0)]),_:1})}}},K={setup(g){const{t:d}=k(),h=j();x();const _=A();I();const a=M(),o=E(\"\"),N=O(()=>[{key:\"name\",label:d(\"settings.customization.notes.name\"),thClass:\"extra\",tdClass:\"font-medium text-gray-900\"},{key:\"type\",label:d(\"settings.customization.notes.type\"),thClass:\"extra\",tdClass:\"font-medium text-gray-900\"},{key:\"actions\",label:\"\",tdClass:\"text-right text-sm font-medium\",sortable:!1}]);async function y({page:s,filter:n,sort:e}){let i=V({orderByField:e.fieldName||\"created_at\",orderBy:e.order||\"desc\",page:s}),m=await _.fetchNotes(i);return{data:m.data.data,pagination:{totalPages:m.data.meta.last_page,currentPage:s,totalCount:m.data.meta.total,limit:5}}}async function b(){await h.openModal({title:d(\"settings.customization.notes.add_note\"),componentName:\"NoteModal\",size:\"md\",refreshData:o.value&&o.value.refresh})}async function w(){o.value&&o.value.refresh()}return(s,n)=>{const e=r(\"BaseIcon\"),i=r(\"BaseButton\"),m=r(\"BaseTable\"),B=r(\"BaseSettingCard\");return p(),F(P,null,[u(H),u(B,{title:s.$t(\"settings.customization.notes.title\"),description:s.$t(\"settings.customization.notes.description\")},{action:t(()=>[c(a).hasAbilities(c(D).MANAGE_NOTE)?(p(),f(i,{key:0,variant:\"primary-outline\",onClick:b},{left:t(l=>[u(e,{class:G(l.class),name:\"PlusIcon\"},null,8,[\"class\"])]),default:t(()=>[S(\" \"+z(s.$t(\"settings.customization.notes.add_note\")),1)]),_:1})):C(\"\",!0)]),default:t(()=>[u(m,{ref:(l,v)=>{v.table=l,o.value=l},data:y,columns:c(N),class:\"mt-14\"},{\"cell-actions\":t(({row:l})=>[u(L,{row:l.data,table:o.value,\"load-data\":w},null,8,[\"row\",\"table\"])]),_:1},8,[\"columns\"])]),_:1},8,[\"title\",\"description\"])],64)}}};export{K as default};\n"
  },
  {
    "path": "public/build/assets/NotificationRoot.5fd2c2c8.js",
    "content": "import{B as w,k as d,D as g,o as a,e as c,h as t,u as e,j as m,m as u,t as p,U as y,r as k,f as N,w as C,F as M,y as z,l as B,aM as L}from\"./vendor.d12b5734.js\";import{u as v,_ as b}from\"./main.465728e1.js\";const S=[\"onClick\"],$={class:\"overflow-hidden rounded-lg shadow-xs\"},j={class:\"p-4\"},T={class:\"flex items-start\"},O={class:\"shrink-0\"},V={key:0,class:\"w-6 h-6 text-green-400\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},I=t(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z\"},null,-1),D=[I],E={key:1,class:\"w-6 h-6 text-blue-400\",fill:\"currentColor\",viewBox:\"0 0 20 20\",xmlns:\"http://www.w3.org/2000/svg\"},F=t(\"path\",{\"fill-rule\":\"evenodd\",d:\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7 4a1 1 0 11-2 0 1 1 0 012 0zm-1-9a1 1 0 00-1 1v4a1 1 0 102 0V6a1 1 0 00-1-1z\",\"clip-rule\":\"evenodd\"},null,-1),A=[F],G={key:2,class:\"w-6 h-6 text-red-400\",fill:\"currentColor\",viewBox:\"0 0 24 24\"},R=t(\"path\",{\"fill-rule\":\"evenodd\",d:\"M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z\",\"clip-rule\":\"evenodd\"},null,-1),U=[R],q={class:\"flex-1 w-0 ml-3 text-left\"},H={class:\"flex shrink-0\"},J=t(\"svg\",{class:\"w-6 h-6\",fill:\"currentColor\",viewBox:\"0 0 20 20\",xmlns:\"http://www.w3.org/2000/svg\"},[t(\"path\",{\"fill-rule\":\"evenodd\",d:\"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z\",\"clip-rule\":\"evenodd\"})],-1),K=[J],P={props:{notification:{type:Object,default:null}},setup(o){const i=o,f=v();let l=w(\"\");const s=d(()=>i.notification.type==\"success\"),h=d(()=>i.notification.type==\"error\"),n=d(()=>i.notification.type==\"info\");function r(){f.hideNotification(i.notification)}function x(){clearTimeout(l)}function _(){l=setTimeout(()=>{f.hideNotification(i.notification)},i.notification.time||5e3)}return g(()=>{_()}),(Y,Z)=>(a(),c(\"div\",{class:u([e(s)||e(n)?\"bg-white\":\"bg-red-50\",\"max-w-sm mb-3 rounded-lg shadow-lg cursor-pointer pointer-events-auto w-full md:w-96\"]),onClick:y(r,[\"stop\"]),onMouseenter:x,onMouseleave:_},[t(\"div\",$,[t(\"div\",j,[t(\"div\",T,[t(\"div\",O,[e(s)?(a(),c(\"svg\",V,D)):m(\"\",!0),e(n)?(a(),c(\"svg\",E,A)):m(\"\",!0),e(h)?(a(),c(\"svg\",G,U)):m(\"\",!0)]),t(\"div\",q,[t(\"p\",{class:u(`text-sm leading-5 font-medium ${e(s)||e(n)?\"text-gray-900\":\"text-red-800\"}`)},p(o.notification.title?o.notification.title:e(s)?\"Success!\":\"Error\"),3),t(\"p\",{class:u(`mt-1 text-sm leading-5 ${e(s)||e(n)?\"text-gray-500\":\"text-red-700\"}`)},p(o.notification.message?o.notification.message:e(s)?\"Successful\":\"Something went wrong\"),3)]),t(\"div\",H,[t(\"button\",{class:u([e(s)||e(n)?\" text-gray-400 focus:text-gray-500\":\"text-red-400 focus:text-red-500\",\"inline-flex w-5 h-5 transition duration-150 ease-in-out focus:outline-none\"]),onClick:r},K,2)])])])])],42,S))}},Q={components:{NotificationItem:P},setup(){const o=v();return{notifications:d(()=>o.notifications)}}},W={class:\"fixed inset-0 z-50 flex flex-col items-end justify-start w-full px-4 py-6 pointer-events-none sm:p-6\"};function X(o,i,f,l,s,h){const n=k(\"NotificationItem\");return a(),c(\"div\",W,[N(L,{\"enter-active-class\":\"transition duration-300 ease-out\",\"enter-from-class\":\"translate-y-2 opacity-0 sm:translate-y-0 sm:translate-x-2\",\"enter-to-class\":\"translate-y-0 opacity-100 sm:translate-x-0\",\"leave-active-class\":\"transition duration-100 ease-in\",\"leave-from-class\":\"opacity-100\",\"leave-to-class\":\"opacity-0\"},{default:C(()=>[(a(!0),c(M,null,z(l.notifications,r=>(a(),B(n,{key:r.id,notification:r},null,8,[\"notification\"]))),128))]),_:1})])}var ot=b(Q,[[\"render\",X]]);export{ot as N};\n"
  },
  {
    "path": "public/build/assets/NotificationsSetting.20e5fa7f.js",
    "content": "import{B as M,J as k,a0 as q,k as m,L as y,M as E,Q as F,T as U,r as o,o as w,l as S,w as u,h as v,f as d,u as i,m as Y,j,i as D,t as G,U as O,x as B}from\"./vendor.d12b5734.js\";import{b as T}from\"./main.465728e1.js\";const z=[\"onSubmit\"],J={class:\"grid-cols-2 col-span-1 mt-14\"},L={class:\"divide-y divide-gray-200\"},H={setup(Q){const s=T();let r=M(!1);const{t:f}=k(),n=q({notify_invoice_viewed:s.selectedCompanySettings.notify_invoice_viewed,notify_estimate_viewed:s.selectedCompanySettings.notify_estimate_viewed,notification_email:s.selectedCompanySettings.notification_email}),$=m(()=>({notification_email:{required:y.withMessage(f(\"validation.required\"),E),email:y.withMessage(f(\"validation.email_incorrect\"),F)}})),l=U($,m(()=>n)),_=m({get:()=>n.notify_invoice_viewed===\"YES\",set:async e=>{const t=e?\"YES\":\"NO\";let c={settings:{notify_invoice_viewed:t}};n.notify_invoice_viewed=t,await s.updateCompanySettings({data:c,message:\"general.setting_updated\"})}}),p=m({get:()=>n.notify_estimate_viewed===\"YES\",set:async e=>{const t=e?\"YES\":\"NO\";let c={settings:{notify_estimate_viewed:t}};n.notify_estimate_viewed=t,await s.updateCompanySettings({data:c,message:\"general.setting_updated\"})}});async function V(){if(l.value.$touch(),l.value.$invalid)return!0;r.value=!0;const e={settings:{notification_email:n.notification_email}};await s.updateCompanySettings({data:e,message:\"settings.notification.email_save_message\"}),r.value=!1}return(e,t)=>{const c=o(\"BaseInput\"),C=o(\"BaseInputGroup\"),b=o(\"BaseIcon\"),I=o(\"BaseButton\"),N=o(\"BaseDivider\"),g=o(\"BaseSwitchSection\"),h=o(\"BaseSettingCard\");return w(),S(h,{title:e.$t(\"settings.notification.title\"),description:e.$t(\"settings.notification.description\")},{default:u(()=>[v(\"form\",{action:\"\",onSubmit:O(V,[\"prevent\"])},[v(\"div\",J,[d(C,{error:i(l).notification_email.$error&&i(l).notification_email.$errors[0].$message,label:e.$t(\"settings.notification.email\"),class:\"my-2\",required:\"\"},{default:u(()=>[d(c,{modelValue:i(n).notification_email,\"onUpdate:modelValue\":t[0]||(t[0]=a=>i(n).notification_email=a),modelModifiers:{trim:!0},invalid:i(l).notification_email.$error,type:\"email\",onInput:t[1]||(t[1]=a=>i(l).notification_email.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"error\",\"label\"]),d(I,{disabled:i(r),loading:i(r),variant:\"primary\",type:\"submit\",class:\"mt-6\"},{left:u(a=>[i(r)?j(\"\",!0):(w(),S(b,{key:0,class:Y(a.class),name:\"SaveIcon\"},null,8,[\"class\"]))]),default:u(()=>[D(\" \"+G(e.$tc(\"settings.notification.save\")),1)]),_:1},8,[\"disabled\",\"loading\"])])],40,z),d(N,{class:\"mt-6 mb-2\"}),v(\"ul\",L,[d(g,{modelValue:i(_),\"onUpdate:modelValue\":t[2]||(t[2]=a=>B(_)?_.value=a:null),title:e.$t(\"settings.notification.invoice_viewed\"),description:e.$t(\"settings.notification.invoice_viewed_desc\")},null,8,[\"modelValue\",\"title\",\"description\"]),d(g,{modelValue:i(p),\"onUpdate:modelValue\":t[3]||(t[3]=a=>B(p)?p.value=a:null),title:e.$t(\"settings.notification.estimate_viewed\"),description:e.$t(\"settings.notification.estimate_viewed_desc\")},null,8,[\"modelValue\",\"title\",\"description\"])])]),_:1},8,[\"title\",\"description\"])}}};export{H as default};\n"
  },
  {
    "path": "public/build/assets/NumberType.7b73360f.js",
    "content": "import{k as p,r,o as m,l as d,u as c,x as V}from\"./vendor.d12b5734.js\";const i={props:{modelValue:{type:[String,Number],default:null}},emits:[\"update:modelValue\"],setup(t,{emit:u}){const a=t,e=p({get:()=>a.modelValue,set:l=>{u(\"update:modelValue\",l)}});return(l,o)=>{const n=r(\"BaseInput\");return m(),d(n,{modelValue:c(e),\"onUpdate:modelValue\":o[0]||(o[0]=s=>V(e)?e.value=s:null),type:\"number\"},null,8,[\"modelValue\"])}}};export{i as default};\n"
  },
  {
    "path": "public/build/assets/ObservatoryIcon.528a64ab.js",
    "content": "import{o,e as n,h as l,m as d}from\"./vendor.d12b5734.js\";const i={width:\"97\",height:\"110\",viewBox:\"0 0 97 110\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\"},r={\"clip-path\":\"url(#clip0)\"},C=l(\"defs\",null,[l(\"clipPath\",{id:\"clip0\"},[l(\"rect\",{width:\"96.25\",height:\"110\",fill:\"white\"})])],-1),s={props:{primaryFillColor:{type:String,default:\"fill-primary-500\"},secondaryFillColor:{type:String,default:\"fill-gray-600\"}},setup(e){return(a,c)=>(o(),n(\"svg\",i,[l(\"g\",r,[l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M41.25 104.844H55V84.2188H41.25V104.844ZM42.9688 103.125H53.2813V85.9375H42.9688V103.125Z\",class:d(e.secondaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M0 110H96.25V103.125H0V110ZM1.71875 108.281H94.5312V104.844H1.71875V108.281Z\",class:d(e.primaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M34.375 8.59375H61.875V6.875H34.375V8.59375Z\",class:d(e.secondaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M48.125 15.4688C42.4291 15.4688 37.8125 20.0853 37.8125 25.7812C37.8125 31.4772 42.4291 36.0938 48.125 36.0938C53.8209 36.0938 58.4375 31.4772 58.4375 25.7812C58.4375 20.0853 53.8209 15.4688 48.125 15.4688ZM48.125 17.1875C52.8636 17.1875 56.7188 21.0427 56.7188 25.7812C56.7188 30.5198 52.8636 34.375 48.125 34.375C43.3864 34.375 39.5312 30.5198 39.5312 25.7812C39.5312 21.0427 43.3864 17.1875 48.125 17.1875Z\",class:d(e.secondaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M12.8906 63.5938C12.418 63.5938 12.0312 63.207 12.0312 62.7344V55.8594C12.0312 55.3867 12.418 55 12.8906 55C13.3633 55 13.75 55.3867 13.75 55.8594V62.7344C13.75 63.207 13.3633 63.5938 12.8906 63.5938Z\",class:d(e.secondaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M21.4844 63.5938C21.0117 63.5938 20.625 63.207 20.625 62.7344V55.8594C20.625 55.3867 21.0117 55 21.4844 55C21.957 55 22.3438 55.3867 22.3438 55.8594V62.7344C22.3438 63.207 21.957 63.5938 21.4844 63.5938Z\",class:d(e.secondaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M30.0781 63.5938C29.6055 63.5938 29.2188 63.207 29.2188 62.7344V55.8594C29.2188 55.3867 29.6055 55 30.0781 55C30.5508 55 30.9375 55.3867 30.9375 55.8594V62.7344C30.9375 63.207 30.5508 63.5938 30.0781 63.5938Z\",class:d(e.secondaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M38.6719 63.5938C38.1992 63.5938 37.8125 63.207 37.8125 62.7344V55.8594C37.8125 55.3867 38.1992 55 38.6719 55C39.1445 55 39.5312 55.3867 39.5312 55.8594V62.7344C39.5312 63.207 39.1445 63.5938 38.6719 63.5938Z\",class:d(e.secondaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M47.2656 63.5938C46.793 63.5938 46.4062 63.207 46.4062 62.7344V55.8594C46.4062 55.3867 46.793 55 47.2656 55C47.7383 55 48.125 55.3867 48.125 55.8594V62.7344C48.125 63.207 47.7383 63.5938 47.2656 63.5938Z\",class:d(e.secondaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M55.8594 63.5938C55.3867 63.5938 55 63.207 55 62.7344V55.8594C55 55.3867 55.3867 55 55.8594 55C56.332 55 56.7187 55.3867 56.7187 55.8594V62.7344C56.7187 63.207 56.332 63.5938 55.8594 63.5938Z\",class:d(e.secondaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M64.4531 63.5938C63.9805 63.5938 63.5938 63.207 63.5938 62.7344V55.8594C63.5938 55.3867 63.9805 55 64.4531 55C64.9258 55 65.3125 55.3867 65.3125 55.8594V62.7344C65.3125 63.207 64.9258 63.5938 64.4531 63.5938Z\",class:d(e.secondaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M73.0469 63.5938C72.5742 63.5938 72.1875 63.207 72.1875 62.7344V55.8594C72.1875 55.3867 72.5742 55 73.0469 55C73.5195 55 73.9062 55.3867 73.9062 55.8594V62.7344C73.9062 63.207 73.5195 63.5938 73.0469 63.5938Z\",class:d(e.secondaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M81.6406 63.5938C81.168 63.5938 80.7812 63.207 80.7812 62.7344V55.8594C80.7812 55.3867 81.168 55 81.6406 55C82.1133 55 82.5 55.3867 82.5 55.8594V62.7344C82.5 63.207 82.1133 63.5938 81.6406 63.5938Z\",class:d(e.secondaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M3.4375 103.125H5.15625V56.7188H3.4375V103.125Z\",class:d(e.secondaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M91.0938 103.125H92.8125V56.7188H91.0938V103.125Z\",class:d(e.secondaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M34.375 0C17.2098 0.9075 3.4375 15.2745 3.4375 32.6562V51.5625H34.375V0ZM32.6562 1.86484V49.8438H5.15625V32.6562C5.15625 16.7853 17.0947 3.59391 32.6562 1.86484Z\",class:d(e.secondaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M61.875 0V51.5625H92.8125V32.6562C92.8125 15.2745 79.0402 0.9075 61.875 0ZM63.5938 1.86484C79.1553 3.59391 91.0938 16.7853 91.0938 32.6562V49.8438H63.5938V1.86484Z\",class:d(e.secondaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M9.45312 34.375C8.97875 34.375 8.59375 33.99 8.59375 33.5157C8.59375 22.9316 13.6262 14.1247 22.7648 8.71238C23.1756 8.47347 23.7033 8.60925 23.9422 9.01488C24.1845 9.42222 24.0487 9.9516 23.6414 10.1939C14.9222 15.3553 10.3125 23.4197 10.3125 33.5157C10.3125 33.99 9.9275 34.375 9.45312 34.375Z\",class:d(e.primaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M54.1406 25.7812C53.6663 25.7812 53.2813 25.3962 53.2813 24.9219C53.2813 22.8748 51.0314 20.625 48.9844 20.625C48.51 20.625 48.125 20.24 48.125 19.7656C48.125 19.2913 48.51 18.9062 48.9844 18.9062C51.963 18.9062 55 21.9433 55 24.9219C55 25.3962 54.615 25.7812 54.1406 25.7812Z\",class:d(e.primaryFillColor)},null,2),l(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M0 56.7188H96.25V49.8438H0V56.7188ZM1.71875 55H94.5312V51.5625H1.71875V55Z\",class:d(e.primaryFillColor)},null,2)]),C]))}};export{s as _};\n"
  },
  {
    "path": "public/build/assets/PaymentModeModal.a0b58785.js",
    "content": "import{J as I,B as S,k as p,L as P,M as V,N as C,T as j,r as u,o as k,l as N,w as r,h as c,i as y,t as v,u as t,f as s,m as q,U as x}from\"./vendor.d12b5734.js\";import{u as D}from\"./payment.93619753.js\";import{c as L}from\"./main.465728e1.js\";const T={class:\"flex justify-between w-full\"},z=[\"onSubmit\"],G={class:\"p-4 sm:p-6\"},U={class:\"z-0 flex justify-end p-4 border-t border-gray-200 border-solid\"},F={setup(A){const o=L(),e=D(),{t:M}=I(),l=S(!1),h=p(()=>({currentPaymentMode:{name:{required:P.withMessage(M(\"validation.required\"),V),minLength:P.withMessage(M(\"validation.name_min_length\",{count:3}),C(3))}}})),a=j(h,p(()=>e)),g=p(()=>o.active&&o.componentName===\"PaymentModeModal\");async function B(){if(a.value.currentPaymentMode.$touch(),a.value.currentPaymentMode.$invalid)return!0;try{const n=e.currentPaymentMode.id?e.updatePaymentMode:e.addPaymentMode;l.value=!0,await n(e.currentPaymentMode),l.value=!1,o.refreshData&&o.refreshData(),d()}catch{return l.value=!1,!0}}function d(){o.closeModal(),setTimeout(()=>{a.value.$reset(),e.currentPaymentMode={id:\"\",name:null}})}return(n,m)=>{const f=u(\"BaseIcon\"),b=u(\"BaseInput\"),$=u(\"BaseInputGroup\"),_=u(\"BaseButton\"),w=u(\"BaseModal\");return k(),N(w,{show:t(g),onClose:d},{header:r(()=>[c(\"div\",T,[y(v(t(o).title)+\" \",1),s(f,{name:\"XIcon\",class:\"w-6 h-6 text-gray-500 cursor-pointer\",onClick:d})])]),default:r(()=>[c(\"form\",{action:\"\",onSubmit:x(B,[\"prevent\"])},[c(\"div\",G,[s($,{label:n.$t(\"settings.payment_modes.mode_name\"),error:t(a).currentPaymentMode.name.$error&&t(a).currentPaymentMode.name.$errors[0].$message,required:\"\"},{default:r(()=>[s(b,{modelValue:t(e).currentPaymentMode.name,\"onUpdate:modelValue\":m[0]||(m[0]=i=>t(e).currentPaymentMode.name=i),invalid:t(a).currentPaymentMode.name.$error,onInput:m[1]||(m[1]=i=>t(a).currentPaymentMode.name.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"])]),c(\"div\",U,[s(_,{variant:\"primary-outline\",class:\"mr-3\",type:\"button\",onClick:d},{default:r(()=>[y(v(n.$t(\"general.cancel\")),1)]),_:1}),s(_,{loading:l.value,disabled:l.value,variant:\"primary\",type:\"submit\"},{left:r(i=>[s(f,{name:\"SaveIcon\",class:q(i.class)},null,8,[\"class\"])]),default:r(()=>[y(\" \"+v(t(e).currentPaymentMode.id?n.$t(\"general.update\"):n.$t(\"general.save\")),1)]),_:1},8,[\"loading\",\"disabled\"])])],40,z)]),_:1},8,[\"show\"])}}};export{F as _};\n"
  },
  {
    "path": "public/build/assets/PaymentsModeSetting.c898ec15.js",
    "content": "import{J as D,G as I,ah as x,r as d,o as p,l as b,w as a,u as M,f as t,i as v,t as w,B as $,k as j,e as N,m as z,F as T}from\"./vendor.d12b5734.js\";import{u as P}from\"./payment.93619753.js\";import{j as C,u as F,e as H,c as S}from\"./main.465728e1.js\";import{_ as L}from\"./PaymentModeModal.a0b58785.js\";const O={props:{row:{type:Object,default:null},table:{type:Object,default:null},loadData:{type:Function,default:null}},setup(u){const i=u,y=C();F();const{t:s}=D(),o=P(),f=I();H();const _=S();x(\"utils\");function g(e){o.fetchPaymentMode(e),_.openModal({title:s(\"settings.payment_modes.edit_payment_mode\"),componentName:\"PaymentModeModal\",refreshData:i.loadData&&i.loadData,size:\"sm\"})}function B(e){y.openDialog({title:s(\"general.are_you_sure\"),message:s(\"settings.payment_modes.payment_mode_confirm_delete\"),yesLabel:s(\"general.ok\"),noLabel:s(\"general.cancel\"),variant:\"danger\",hideNoButton:!1,size:\"lg\"}).then(async l=>{l&&(await o.deletePaymentMode(e),i.loadData&&i.loadData())})}return(e,l)=>{const n=d(\"BaseIcon\"),c=d(\"BaseButton\"),r=d(\"BaseDropdownItem\"),h=d(\"BaseDropdown\");return p(),b(h,null,{activator:a(()=>[M(f).name===\"paymentModes.view\"?(p(),b(c,{key:0,variant:\"primary\"},{default:a(()=>[t(n,{name:\"DotsHorizontalIcon\",class:\"h-5 text-white\"})]),_:1})):(p(),b(n,{key:1,name:\"DotsHorizontalIcon\",class:\"h-5 text-gray-500\"}))]),default:a(()=>[t(r,{onClick:l[0]||(l[0]=m=>g(u.row.id))},{default:a(()=>[t(n,{name:\"PencilIcon\",class:\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"}),v(\" \"+w(e.$t(\"general.edit\")),1)]),_:1}),t(r,{onClick:l[1]||(l[1]=m=>B(u.row.id))},{default:a(()=>[t(n,{name:\"TrashIcon\",class:\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"}),v(\" \"+w(e.$t(\"general.delete\")),1)]),_:1})]),_:1})}}},R={setup(u){const i=S();C();const y=P(),{t:s}=D(),o=$(null),f=j(()=>[{key:\"name\",label:s(\"settings.payment_modes.mode_name\"),thClass:\"extra\",tdClass:\"font-medium text-gray-900\"},{key:\"actions\",label:\"\",tdClass:\"text-right text-sm font-medium\",sortable:!1}]);async function _(){o.value&&o.value.refresh()}async function g({page:e,filter:l,sort:n}){let c={orderByField:n.fieldName||\"created_at\",orderBy:n.order||\"desc\",page:e},r=await y.fetchPaymentModes(c);return{data:r.data.data,pagination:{totalPages:r.data.meta.last_page,currentPage:e,totalCount:r.data.meta.total,limit:5}}}function B(){i.openModal({title:s(\"settings.payment_modes.add_payment_mode\"),componentName:\"PaymentModeModal\",refreshData:o.value&&o.value.refresh,size:\"sm\"})}return(e,l)=>{const n=d(\"BaseIcon\"),c=d(\"BaseButton\"),r=d(\"BaseTable\"),h=d(\"BaseSettingCard\");return p(),N(T,null,[t(L),t(h,{title:e.$t(\"settings.payment_modes.title\"),description:e.$t(\"settings.payment_modes.description\")},{action:a(()=>[t(c,{type:\"submit\",variant:\"primary-outline\",onClick:B},{left:a(m=>[t(n,{class:z(m.class),name:\"PlusIcon\"},null,8,[\"class\"])]),default:a(()=>[v(\" \"+w(e.$t(\"settings.payment_modes.add_payment_mode\")),1)]),_:1})]),default:a(()=>[t(r,{ref:(m,k)=>{k.table=m,o.value=m},data:g,columns:M(f),class:\"mt-16\"},{\"cell-actions\":a(({row:m})=>[t(O,{row:m.data,table:o.value,\"load-data\":_},null,8,[\"row\",\"table\"])]),_:1},8,[\"columns\"])]),_:1},8,[\"title\",\"description\"])],64)}}};export{R as default};\n"
  },
  {
    "path": "public/build/assets/PhoneType.29ae66c8.js",
    "content": "import{k as p,r,o as d,l as m,u as c,x as V}from\"./vendor.d12b5734.js\";const i={props:{modelValue:{type:[String,Number],default:null}},emits:[\"update:modelValue\"],setup(o,{emit:u}){const a=o,e=p({get:()=>a.modelValue,set:l=>{u(\"update:modelValue\",l)}});return(l,t)=>{const n=r(\"BaseInput\");return d(),m(n,{modelValue:c(e),\"onUpdate:modelValue\":t[0]||(t[0]=s=>V(e)?e.value=s:null),type:\"tel\"},null,8,[\"modelValue\"])}}};export{i as default};\n"
  },
  {
    "path": "public/build/assets/PreferencesSetting.1dc581b2.js",
    "content": "var J=Object.defineProperty;var C=Object.getOwnPropertySymbols;var L=Object.prototype.hasOwnProperty,R=Object.prototype.propertyIsEnumerable;var M=(p,d,l)=>d in p?J(p,d,{enumerable:!0,configurable:!0,writable:!0,value:l}):p[d]=l,S=(p,d)=>{for(var l in d||(d={}))L.call(d,l)&&M(p,l,d[l]);if(C)for(var l of C(d))R.call(d,l)&&M(p,l,d[l]);return p};import{J as A,B,a0 as H,k as y,C as K,L as f,M as b,T as Q,r as m,o as D,e as W,f as s,w as u,u as e,m as U,i as z,t as F,h as N,U as x,x as E,l as X,j as ee}from\"./vendor.d12b5734.js\";import{b as te,d as ae}from\"./main.465728e1.js\";const ne=[\"onSubmit\"],le=[\"onSubmit\"],de={setup(p){const d=te(),l=ae(),{t:g,tm:se}=A();let v=B(!1),$=B(!1),i=B(!1);const a=H(S({},d.selectedCompanySettings));y(()=>l.config.retrospective_edits.map(t=>(t.title=g(t.key),t))),K(()=>a.carbon_date_format,t=>{if(t){const n=l.dateFormats.find(c=>c.carbon_format_value===t);a.moment_date_format=n.moment_format_value}});const k=y({get:()=>a.discount_per_item===\"YES\",set:async t=>{const n=t?\"YES\":\"NO\";let c={settings:{discount_per_item:n}};a.discount_per_item=n,await d.updateCompanySettings({data:c,message:\"general.setting_updated\"})}}),V=y({get:()=>a.automatically_expire_public_links===\"YES\",set:async t=>{const n=t?\"YES\":\"NO\";a.automatically_expire_public_links=n}}),G=y(()=>({currency:{required:f.withMessage(g(\"validation.required\"),b)},language:{required:f.withMessage(g(\"validation.required\"),b)},carbon_date_format:{required:f.withMessage(g(\"validation.required\"),b)},moment_date_format:{required:f.withMessage(g(\"validation.required\"),b)},time_zone:{required:f.withMessage(g(\"validation.required\"),b)},fiscal_year:{required:f.withMessage(g(\"validation.required\"),b)}})),r=Q(G,y(()=>a));j();async function j(){i.value=!0,Promise.all([l.fetchCurrencies(),l.fetchDateFormats(),l.fetchTimeZones()]).then(([t])=>{i.value=!1})}async function O(){if(r.value.$touch(),r.value.$invalid)return;let t={settings:S({},a)};v.value=!0,delete t.settings.link_expiry_days,await d.updateCompanySettings({data:t,message:\"settings.preferences.updated_message\"}),v.value=!1}async function P(){$.value=!0,await d.updateCompanySettings({data:{settings:{link_expiry_days:a.link_expiry_days,automatically_expire_public_links:a.automatically_expire_public_links}},message:\"settings.preferences.updated_message\"}),$.value=!1}return(t,n)=>{const c=m(\"BaseMultiselect\"),_=m(\"BaseInputGroup\"),Y=m(\"BaseInputGrid\"),w=m(\"BaseIcon\"),q=m(\"BaseButton\"),I=m(\"BaseDivider\"),h=m(\"BaseSwitchSection\"),T=m(\"BaseInput\"),Z=m(\"BaseSettingCard\");return D(),W(\"form\",{action:\"\",class:\"relative\",onSubmit:x(O,[\"prevent\"])},[s(Z,{title:t.$t(\"settings.menu_title.preferences\"),description:t.$t(\"settings.preferences.general_settings\")},{default:u(()=>[s(Y,{class:\"mt-5\"},{default:u(()=>[s(_,{\"content-loading\":e(i),label:t.$tc(\"settings.preferences.currency\"),\"help-text\":t.$t(\"settings.preferences.company_currency_unchangeable\"),error:e(r).currency.$error&&e(r).currency.$errors[0].$message,required:\"\"},{default:u(()=>[s(c,{modelValue:e(a).currency,\"onUpdate:modelValue\":n[0]||(n[0]=o=>e(a).currency=o),\"content-loading\":e(i),options:e(l).currencies,label:\"name\",\"value-prop\":\"id\",searchable:!0,\"track-by\":\"name\",invalid:e(r).currency.$error,disabled:\"\",class:\"w-full\"},null,8,[\"modelValue\",\"content-loading\",\"options\",\"invalid\"])]),_:1},8,[\"content-loading\",\"label\",\"help-text\",\"error\"]),s(_,{label:t.$tc(\"settings.preferences.default_language\"),\"content-loading\":e(i),error:e(r).language.$error&&e(r).language.$errors[0].$message,required:\"\"},{default:u(()=>[s(c,{modelValue:e(a).language,\"onUpdate:modelValue\":n[1]||(n[1]=o=>e(a).language=o),\"content-loading\":e(i),options:e(l).config.languages,label:\"name\",\"value-prop\":\"code\",class:\"w-full\",\"track-by\":\"name\",searchable:!0,invalid:e(r).language.$error},null,8,[\"modelValue\",\"content-loading\",\"options\",\"invalid\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"]),s(_,{label:t.$tc(\"settings.preferences.time_zone\"),\"content-loading\":e(i),error:e(r).time_zone.$error&&e(r).time_zone.$errors[0].$message,required:\"\"},{default:u(()=>[s(c,{modelValue:e(a).time_zone,\"onUpdate:modelValue\":n[2]||(n[2]=o=>e(a).time_zone=o),\"content-loading\":e(i),options:e(l).timeZones,label:\"key\",\"value-prop\":\"value\",\"track-by\":\"key\",searchable:!0,invalid:e(r).time_zone.$error},null,8,[\"modelValue\",\"content-loading\",\"options\",\"invalid\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"]),s(_,{label:t.$tc(\"settings.preferences.date_format\"),\"content-loading\":e(i),error:e(r).carbon_date_format.$error&&e(r).carbon_date_format.$errors[0].$message,required:\"\"},{default:u(()=>[s(c,{modelValue:e(a).carbon_date_format,\"onUpdate:modelValue\":n[3]||(n[3]=o=>e(a).carbon_date_format=o),\"content-loading\":e(i),options:e(l).dateFormats,label:\"display_date\",\"value-prop\":\"carbon_format_value\",\"track-by\":\"display_date\",searchable:\"\",invalid:e(r).carbon_date_format.$error,class:\"w-full\"},null,8,[\"modelValue\",\"content-loading\",\"options\",\"invalid\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"]),s(_,{\"content-loading\":e(i),error:e(r).fiscal_year.$error&&e(r).fiscal_year.$errors[0].$message,label:t.$tc(\"settings.preferences.fiscal_year\"),required:\"\"},{default:u(()=>[s(c,{modelValue:e(a).fiscal_year,\"onUpdate:modelValue\":n[4]||(n[4]=o=>e(a).fiscal_year=o),\"content-loading\":e(i),options:e(l).config.fiscal_years,label:\"key\",\"value-prop\":\"value\",invalid:e(r).fiscal_year.$error,\"track-by\":\"key\",searchable:!0,class:\"w-full\"},null,8,[\"modelValue\",\"content-loading\",\"options\",\"invalid\"])]),_:1},8,[\"content-loading\",\"error\",\"label\"])]),_:1}),s(q,{\"content-loading\":e(i),disabled:e(v),loading:e(v),type:\"submit\",class:\"mt-6\"},{left:u(o=>[s(w,{name:\"SaveIcon\",class:U(o.class)},null,8,[\"class\"])]),default:u(()=>[z(\" \"+F(t.$tc(\"settings.company_info.save\")),1)]),_:1},8,[\"content-loading\",\"disabled\",\"loading\"]),s(I,{class:\"mt-6 mb-2\"}),N(\"ul\",null,[N(\"form\",{onSubmit:x(P,[\"prevent\"])},[s(h,{modelValue:e(V),\"onUpdate:modelValue\":n[5]||(n[5]=o=>E(V)?V.value=o:null),title:t.$t(\"settings.preferences.expire_public_links\"),description:t.$t(\"settings.preferences.expire_setting_description\")},null,8,[\"modelValue\",\"title\",\"description\"]),e(V)?(D(),X(_,{key:0,\"content-loading\":e(i),label:t.$t(\"settings.preferences.expire_public_links\"),class:\"mt-2 mb-4\"},{default:u(()=>[s(T,{modelValue:e(a).link_expiry_days,\"onUpdate:modelValue\":n[6]||(n[6]=o=>e(a).link_expiry_days=o),disabled:e(a).automatically_expire_public_links===\"NO\",\"content-loading\":e(i),type:\"number\"},null,8,[\"modelValue\",\"disabled\",\"content-loading\"])]),_:1},8,[\"content-loading\",\"label\"])):ee(\"\",!0),s(q,{\"content-loading\":e(i),disabled:e($),loading:e($),type:\"submit\",class:\"mt-6\"},{left:u(o=>[s(w,{name:\"SaveIcon\",class:U(o.class)},null,8,[\"class\"])]),default:u(()=>[z(\" \"+F(t.$tc(\"general.save\")),1)]),_:1},8,[\"content-loading\",\"disabled\",\"loading\"])],40,le),s(I,{class:\"mt-6 mb-2\"}),s(h,{modelValue:e(k),\"onUpdate:modelValue\":n[7]||(n[7]=o=>E(k)?k.value=o:null),title:t.$t(\"settings.preferences.discount_per_item\"),description:t.$t(\"settings.preferences.discount_setting_description\")},null,8,[\"modelValue\",\"title\",\"description\"])])]),_:1},8,[\"title\",\"description\"])],40,ne)}}};export{de as default};\n"
  },
  {
    "path": "public/build/assets/RecurringInvoiceCreate.30ae0989.js",
    "content": "var ie=Object.defineProperty,re=Object.defineProperties;var oe=Object.getOwnPropertyDescriptors;var D=Object.getOwnPropertySymbols;var ae=Object.prototype.hasOwnProperty,le=Object.prototype.propertyIsEnumerable;var E=(e,t,d)=>t in e?ie(e,t,{enumerable:!0,configurable:!0,writable:!0,value:d}):e[t]=d,P=(e,t)=>{for(var d in t||(t={}))ae.call(t,d)&&E(e,d,t[d]);if(D)for(var d of D(t))le.call(t,d)&&E(e,d,t[d]);return e},O=(e,t)=>re(e,oe(t));import{G as A,B as U,a0 as se,k as q,C as G,D as ce,r as g,o as y,e as H,h as v,f as r,u as n,t as T,w as u,l as _,j as C,F as z,$ as ue,J as de,aN as ge,L as b,M as S,O as x,aP as ve,T as me,m as fe,i as ye,U as be}from\"./vendor.d12b5734.js\";import{t as J,d as Ie,b as we,m as $e,r as _e,c as Re,l as pe,u as qe}from\"./main.465728e1.js\";import{_ as Se,a as he,b as Be,c as Ce,d as Ve,e as Fe,f as Le}from\"./SalesTax.75d66dd0.js\";import{_ as Me}from\"./ExchangeRateConverter.d865db6a.js\";import{_ as Te}from\"./CreateCustomFields.c1c460e4.js\";import{_ as Ne}from\"./TaxTypeModal.d37d74ed.js\";import\"./DragIcon.2da3872a.js\";import\"./SelectNotePopup.2e678c03.js\";import\"./NoteModal.ebe10cf0.js\";import\"./payment.93619753.js\";import\"./exchange-rate.85b564e2.js\";const ke={class:\"col-span-5 pr-0\"},Ue={class:\"flex mt-7\"},xe={class:\"relative w-20 mt-8\"},je={class:\"ml-2\"},De={class:\"p-0 mb-1 leading-snug text-left text-black\"},Ee={class:\"p-0 m-0 text-xs leading-tight text-left text-gray-500\",style:{\"max-width\":\"480px\"}},Pe={class:\"grid grid-cols-1 col-span-7 gap-4 mt-8 lg:gap-6 lg:mt-0 lg:grid-cols-2\"},Oe={props:{v:{type:Object,default:null},isLoading:{type:Boolean,default:!1},isEdit:{type:Boolean,default:!1}},setup(e){const t=e,d=A(),i=J(),F=Ie(),R=U(!1),N=se([{label:\"None\",value:\"NONE\"},{label:\"Date\",value:\"DATE\"},{label:\"Count\",value:\"COUNT\"}]),h=q(()=>i.newRecurringInvoice.selectedFrequency&&i.newRecurringInvoice.selectedFrequency.value===\"CUSTOM\"),k=q(()=>t.isEdit?F.config.recurring_invoice_status.update_status:F.config.recurring_invoice_status.create_status);G(()=>i.newRecurringInvoice.selectedFrequency,a=>{i.isFetchingInitialSettings||(a&&a.value!==\"CUSTOM\"?i.newRecurringInvoice.frequency=a.value:i.newRecurringInvoice.frequency=null)}),ce(()=>{d.params.id||B()});function c(a){return i.newRecurringInvoice.limit_by===a}const m=ue(()=>{B()},500);async function B(){const a=i.newRecurringInvoice.frequency;if(!a)return;R.value=!0;let o={starts_at:i.newRecurringInvoice.starts_at,frequency:a};try{await i.fetchRecurringInvoiceFrequencyDate(o)}catch(I){console.error(I),R.value=!1}R.value=!1}return(a,o)=>{const I=g(\"BaseCustomerSelectPopup\"),L=g(\"BaseSwitch\"),w=g(\"BaseDatePicker\"),f=g(\"BaseInputGroup\"),V=g(\"BaseMultiselect\"),p=g(\"BaseInput\");return y(),H(z,null,[v(\"div\",ke,[r(I,{modelValue:n(i).newRecurringInvoice.customer,\"onUpdate:modelValue\":o[0]||(o[0]=l=>n(i).newRecurringInvoice.customer=l),valid:e.v.customer_id,\"content-loading\":e.isLoading,type:\"recurring-invoice\"},null,8,[\"modelValue\",\"valid\",\"content-loading\"]),v(\"div\",Ue,[v(\"div\",xe,[r(L,{modelValue:n(i).newRecurringInvoice.send_automatically,\"onUpdate:modelValue\":o[1]||(o[1]=l=>n(i).newRecurringInvoice.send_automatically=l),class:\"absolute -top-4\"},null,8,[\"modelValue\"])]),v(\"div\",je,[v(\"p\",De,T(a.$t(\"recurring_invoices.send_automatically\")),1),v(\"p\",Ee,T(a.$t(\"recurring_invoices.send_automatically_desc\")),1)])])]),v(\"div\",Pe,[r(f,{label:a.$t(\"recurring_invoices.starts_at\"),\"content-loading\":e.isLoading,required:\"\",error:e.v.starts_at.$error&&e.v.starts_at.$errors[0].$message},{default:u(()=>[r(w,{modelValue:n(i).newRecurringInvoice.starts_at,\"onUpdate:modelValue\":o[2]||(o[2]=l=>n(i).newRecurringInvoice.starts_at=l),\"content-loading\":e.isLoading,\"calendar-button\":!0,\"calendar-button-icon\":\"calendar\",invalid:e.v.starts_at.$error,onChange:o[3]||(o[3]=l=>B())},null,8,[\"modelValue\",\"content-loading\",\"invalid\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"]),r(f,{label:a.$t(\"recurring_invoices.next_invoice_date\"),\"content-loading\":e.isLoading,required:\"\"},{default:u(()=>[r(w,{modelValue:n(i).newRecurringInvoice.next_invoice_at,\"onUpdate:modelValue\":o[4]||(o[4]=l=>n(i).newRecurringInvoice.next_invoice_at=l),\"content-loading\":e.isLoading,\"calendar-button\":!0,disabled:!0,loading:R.value,\"calendar-button-icon\":\"calendar\"},null,8,[\"modelValue\",\"content-loading\",\"loading\"])]),_:1},8,[\"label\",\"content-loading\"]),r(f,{label:a.$t(\"recurring_invoices.limit_by\"),\"content-loading\":e.isLoading,class:\"lg:mt-0\",required:\"\",error:e.v.limit_by.$error&&e.v.limit_by.$errors[0].$message},{default:u(()=>[r(V,{modelValue:n(i).newRecurringInvoice.limit_by,\"onUpdate:modelValue\":o[5]||(o[5]=l=>n(i).newRecurringInvoice.limit_by=l),\"content-loading\":e.isLoading,options:n(N),label:\"label\",invalid:e.v.limit_by.$error,\"value-prop\":\"value\"},null,8,[\"modelValue\",\"content-loading\",\"options\",\"invalid\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"]),c(\"DATE\")?(y(),_(f,{key:0,label:a.$t(\"recurring_invoices.limit_date\"),\"content-loading\":e.isLoading,required:c(\"DATE\"),error:e.v.limit_date.$error&&e.v.limit_date.$errors[0].$message},{default:u(()=>[r(w,{modelValue:n(i).newRecurringInvoice.limit_date,\"onUpdate:modelValue\":o[6]||(o[6]=l=>n(i).newRecurringInvoice.limit_date=l),\"content-loading\":e.isLoading,invalid:e.v.limit_date.$error,\"calendar-button-icon\":\"calendar\"},null,8,[\"modelValue\",\"content-loading\",\"invalid\"])]),_:1},8,[\"label\",\"content-loading\",\"required\",\"error\"])):C(\"\",!0),c(\"COUNT\")?(y(),_(f,{key:1,label:a.$t(\"recurring_invoices.count\"),\"content-loading\":e.isLoading,required:c(\"COUNT\"),error:e.v.limit_count.$error&&e.v.limit_count.$errors[0].$message},{default:u(()=>[r(p,{modelValue:n(i).newRecurringInvoice.limit_count,\"onUpdate:modelValue\":o[7]||(o[7]=l=>n(i).newRecurringInvoice.limit_count=l),\"content-loading\":e.isLoading,invalid:e.v.limit_count.$error,type:\"number\"},null,8,[\"modelValue\",\"content-loading\",\"invalid\"])]),_:1},8,[\"label\",\"content-loading\",\"required\",\"error\"])):C(\"\",!0),r(f,{label:a.$t(\"recurring_invoices.status\"),required:\"\",\"content-loading\":e.isLoading,error:e.v.status.$error&&e.v.status.$errors[0].$message},{default:u(()=>[r(V,{modelValue:n(i).newRecurringInvoice.status,\"onUpdate:modelValue\":o[8]||(o[8]=l=>n(i).newRecurringInvoice.status=l),options:n(k),\"content-loading\":e.isLoading,invalid:e.v.status.$error,placeholder:a.$t(\"recurring_invoices.select_a_status\"),\"value-prop\":\"value\",label:\"value\"},null,8,[\"modelValue\",\"options\",\"content-loading\",\"invalid\",\"placeholder\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"]),r(f,{label:a.$t(\"recurring_invoices.frequency.select_frequency\"),required:\"\",\"content-loading\":e.isLoading,error:e.v.selectedFrequency.$error&&e.v.selectedFrequency.$errors[0].$message},{default:u(()=>[r(V,{modelValue:n(i).newRecurringInvoice.selectedFrequency,\"onUpdate:modelValue\":o[9]||(o[9]=l=>n(i).newRecurringInvoice.selectedFrequency=l),\"content-loading\":e.isLoading,options:n(i).frequencies,label:\"label\",invalid:e.v.selectedFrequency.$error,object:\"\",onChange:B},null,8,[\"modelValue\",\"content-loading\",\"options\",\"invalid\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"]),n(h)?(y(),_(f,{key:2,label:a.$t(\"recurring_invoices.frequency.title\"),\"content-loading\":e.isLoading,required:\"\",error:e.v.frequency.$error&&e.v.frequency.$errors[0].$message},{default:u(()=>[r(p,{modelValue:n(i).newRecurringInvoice.frequency,\"onUpdate:modelValue\":[o[10]||(o[10]=l=>n(i).newRecurringInvoice.frequency=l),n(m)],\"content-loading\":e.isLoading,disabled:!n(h),invalid:e.v.frequency.$error,loading:R.value},null,8,[\"modelValue\",\"content-loading\",\"disabled\",\"invalid\",\"loading\",\"onUpdate:modelValue\"])]),_:1},8,[\"label\",\"content-loading\",\"error\"])):C(\"\",!0),r(Me,{store:n(i),\"store-prop\":\"newRecurringInvoice\",v:e.v,\"is-loading\":e.isLoading,\"is-edit\":e.isEdit,\"customer-currency\":n(i).newRecurringInvoice.currency_id},null,8,[\"store\",\"v\",\"is-loading\",\"is-edit\",\"customer-currency\"])])],64)}}},Ae=[\"onSubmit\"],Ge={class:\"flex\"},He={class:\"grid-cols-12 gap-8 mt-6 mb-8 lg:grid\"},ze={class:\"block mt-10 invoice-foot lg:flex lg:justify-between lg:items-start\"},Je={class:\"w-full relative lg:w-1/2\"},ln={setup(e){const t=J(),d=we(),i=$e(),F=_e(),R=Re(),N=pe(),h=\"newRecurringInvoice\",k=qe(),{t:c}=de();let m=U(!1);const B=U([\"customer\",\"company\",\"customerCustom\",\"invoice\",\"invoiceCustom\"]);let a=A(),o=ge(),I=q(()=>t.isFetchingInvoice||t.isFetchingInitialSettings),L=q(()=>w.value?c(\"recurring_invoices.edit_invoice\"):c(\"recurring_invoices.new_invoice\")),w=q(()=>a.name===\"recurring-invoices.edit\");const f=q(()=>d.selectedCompanySettings.sales_tax_us_enabled===\"YES\"&&F.salesTaxUSEnabled),V={starts_at:{required:b.withMessage(c(\"validation.required\"),S)},status:{required:b.withMessage(c(\"validation.required\"),S)},frequency:{required:b.withMessage(c(\"validation.required\"),S)},limit_by:{required:b.withMessage(c(\"validation.required\"),S)},limit_date:{required:b.withMessage(c(\"validation.required\"),x(function(){return t.newRecurringInvoice.limit_by===\"DATE\"}))},limit_count:{required:b.withMessage(c(\"validation.required\"),x(function(){return t.newRecurringInvoice.limit_by===\"COUNT\"}))},selectedFrequency:{required:b.withMessage(c(\"validation.required\"),S)},customer_id:{required:b.withMessage(c(\"validation.required\"),S)},exchange_rate:{required:x(function(){return b.withMessage(c(\"validation.required\"),S),t.showExchangeRate}),decimal:b.withMessage(c(\"validation.valid_exchange_rate\"),ve)}},p=me(V,q(()=>t.newRecurringInvoice),{$scope:h});t.resetCurrentRecurringInvoice(),t.fetchRecurringInvoiceInitialSettings(w.value),i.resetCustomFields(),p.value.$reset,G(()=>t.newRecurringInvoice.customer,s=>{s&&s.currency?t.newRecurringInvoice.currency=s.currency:t.newRecurringInvoice.currency=d.selectedCompanyCurrency});async function l(){if(p.value.$touch(),p.value.$invalid)return!1;m.value=!0;let s=O(P({},t.newRecurringInvoice),{sub_total:t.getSubTotal,total:t.getTotal,tax:t.getTotalTax});if(s.customer&&!s.customer.email&&s.send_automatically){k.showNotification({type:\"error\",message:c(\"recurring_invoices.add_customer_email\")}),Y(),m.value=!1;return}a.params.id?t.updateRecurringInvoice(s).then($=>{$.data.data&&o.push(`/admin/recurring-invoices/${$.data.data.id}/view`),m.value=!1}).catch($=>{m.value=!1}):K(s)}async function Y(){let s=t.newRecurringInvoice.customer.id;await N.fetchCustomer(s),R.openModal({title:c(\"customers.edit_customer\"),componentName:\"CustomerModal\"})}function K(s){t.addRecurringInvoice(s).then($=>{$.data.data&&o.push(`/admin/recurring-invoices/${$.data.data.id}/view`),m.value=!1}).catch($=>{m.value=!1})}return(s,$)=>{const M=g(\"BaseBreadcrumbItem\"),Q=g(\"BaseBreadcrumb\"),j=g(\"BaseButton\"),W=g(\"router-link\"),X=g(\"BaseIcon\"),Z=g(\"BasePageHeader\"),ee=g(\"BaseScrollPane\"),ne=g(\"BasePage\");return y(),H(z,null,[r(Se),r(he),r(Ne),n(f)&&!n(I)?(y(),_(Be,{key:0,store:n(t),\"store-prop\":\"newRecurringInvoice\",\"is-edit\":n(w),customer:n(t).newRecurringInvoice.customer},null,8,[\"store\",\"is-edit\",\"customer\"])):C(\"\",!0),r(ne,{class:\"relative invoice-create-page\"},{default:u(()=>[v(\"form\",{onSubmit:be(l,[\"prevent\"])},[r(Z,{title:n(L)},{actions:u(()=>[r(W,{to:`/invoices/pdf/${n(t).newRecurringInvoice.unique_hash}`},{default:u(()=>[s.$route.name===\"invoices.edit\"?(y(),_(j,{key:0,target:\"_blank\",class:\"mr-3\",variant:\"primary-outline\",type:\"button\"},{default:u(()=>[v(\"span\",Ge,T(s.$t(\"general.view_pdf\")),1)]),_:1})):C(\"\",!0)]),_:1},8,[\"to\"]),r(j,{loading:n(m),disabled:n(m),variant:\"primary\",type:\"submit\"},{left:u(te=>[n(m)?C(\"\",!0):(y(),_(X,{key:0,name:\"SaveIcon\",class:fe(te.class)},null,8,[\"class\"]))]),default:u(()=>[ye(\" \"+T(s.$t(\"recurring_invoices.save_invoice\")),1)]),_:1},8,[\"loading\",\"disabled\"])]),default:u(()=>[r(Q,null,{default:u(()=>[r(M,{title:s.$t(\"general.home\"),to:\"/admin/dashboard\"},null,8,[\"title\"]),r(M,{title:s.$t(\"recurring_invoices.title\",2),to:\"/admin/recurring-invoices\"},null,8,[\"title\"]),s.$route.name===\"invoices.edit\"?(y(),_(M,{key:0,title:s.$t(\"recurring_invoices.edit_invoice\"),to:\"#\",active:\"\"},null,8,[\"title\"])):(y(),_(M,{key:1,title:n(L),to:\"#\",active:\"\"},null,8,[\"title\"]))]),_:1})]),_:1},8,[\"title\"]),v(\"div\",He,[r(Oe,{v:n(p),\"is-loading\":n(I),\"is-edit\":n(w)},null,8,[\"v\",\"is-loading\",\"is-edit\"])]),r(ee,null,{default:u(()=>[r(Ce,{currency:n(t).newRecurringInvoice.currency,\"is-loading\":n(I),\"item-validation-scope\":h,store:n(t),\"store-prop\":\"newRecurringInvoice\"},null,8,[\"currency\",\"is-loading\",\"store\"]),v(\"div\",ze,[v(\"div\",Je,[r(Ve,{store:n(t),\"store-prop\":\"newRecurringInvoice\",fields:B.value,type:\"Invoice\"},null,8,[\"store\",\"fields\"]),r(Te,{type:\"Invoice\",\"is-edit\":n(w),\"is-loading\":n(I),store:n(t),\"store-prop\":\"newRecurringInvoice\",\"custom-field-scope\":h,class:\"mb-6\"},null,8,[\"is-edit\",\"is-loading\",\"store\"]),r(Fe,{store:n(t),\"store-prop\":\"newRecurringInvoice\"},null,8,[\"store\"])]),r(Le,{currency:n(t).newRecurringInvoice.currency,\"is-loading\":n(I),store:n(t),\"store-prop\":\"newRecurringInvoice\",\"tax-popup-type\":\"invoice\"},null,8,[\"currency\",\"is-loading\",\"store\"])])]),_:1})],40,Ae)]),_:1})],64)}}};export{ln as default};\n"
  },
  {
    "path": "public/build/assets/RecurringInvoiceIndexDropdown.5e1ae0da.js",
    "content": "import{J as b,G as E,aN as k,ah as C,r as c,o as a,l as n,w as o,u as t,f as r,i as p,t as I,j as v}from\"./vendor.d12b5734.js\";import{t as x,u as S,j as V,e as j,g as y}from\"./main.465728e1.js\";const G={props:{row:{type:Object,default:null},table:{type:Object,default:null},loadData:{type:Function,default:()=>{}}},setup(l){const _=l,g=x(),h=S(),N=V(),m=j(),{t:s}=b(),w=E();k(),C(\"utils\");async function B(i=null){N.openDialog({title:s(\"general.are_you_sure\"),message:s(\"invoices.confirm_delete\"),yesLabel:s(\"general.ok\"),noLabel:s(\"general.cancel\"),variant:\"danger\",hideNoButton:!1,size:\"lg\"}).then(async u=>{u&&await g.deleteMultipleRecurringInvoices(i).then(e=>{e.data.success?(_.table&&_.table.refresh(),g.$patch(d=>{d.selectedRecurringInvoices=[],d.selectAllField=!1}),h.showNotification({type:\"success\",message:s(\"recurring_invoices.deleted_message\",2)})):e.data.error&&h.showNotification({type:\"error\",message:e.data.message})})})}return(i,u)=>{const e=c(\"BaseIcon\"),d=c(\"BaseButton\"),f=c(\"BaseDropdownItem\"),R=c(\"router-link\"),D=c(\"BaseDropdown\");return a(),n(D,{\"content-loading\":t(g).isFetchingViewData},{activator:o(()=>[t(w).name===\"recurring-invoices.view\"?(a(),n(d,{key:0,variant:\"primary\"},{default:o(()=>[r(e,{name:\"DotsHorizontalIcon\",class:\"h-5 text-white\"})]),_:1})):(a(),n(e,{key:1,name:\"DotsHorizontalIcon\",class:\"h-5 text-gray-500\"}))]),default:o(()=>[t(m).hasAbilities(t(y).EDIT_RECURRING_INVOICE)?(a(),n(R,{key:0,to:`/admin/recurring-invoices/${l.row.id}/edit`},{default:o(()=>[r(f,null,{default:o(()=>[r(e,{name:\"PencilIcon\",class:\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"}),p(\" \"+I(i.$t(\"general.edit\")),1)]),_:1})]),_:1},8,[\"to\"])):v(\"\",!0),t(w).name!==\"recurring-invoices.view\"&&t(m).hasAbilities(t(y).VIEW_RECURRING_INVOICE)?(a(),n(R,{key:1,to:`recurring-invoices/${l.row.id}/view`},{default:o(()=>[r(f,null,{default:o(()=>[r(e,{name:\"EyeIcon\",class:\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"}),p(\" \"+I(i.$t(\"general.view\")),1)]),_:1})]),_:1},8,[\"to\"])):v(\"\",!0),t(m).hasAbilities(t(y).DELETE_RECURRING_INVOICE)?(a(),n(f,{key:2,onClick:u[0]||(u[0]=$=>B(l.row.id))},{default:o(()=>[r(e,{name:\"TrashIcon\",class:\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"}),p(\" \"+I(i.$t(\"general.delete\")),1)]),_:1})):v(\"\",!0)]),_:1},8,[\"content-loading\"])}}};export{G as _};\n"
  },
  {
    "path": "public/build/assets/ResetPassword.92fe39b8.js",
    "content": "import{G as S,aN as M,J as E,a0 as j,B as $,k as x,L as m,M as g,Q as C,N as G,P as L,T as N,r as u,o as c,e as P,f as n,w as p,u as e,l as _,x as y,i as U,t as A,U as R}from\"./vendor.d12b5734.js\";import{u as D}from\"./global.dc565c4e.js\";import{u as O}from\"./auth.c88ceb4c.js\";import\"./main.465728e1.js\";const T=[\"onSubmit\"],K={setup(F){const f=S(),b=M(),B=O(),{t:i}=E(),r=j({email:\"\",password:\"\",password_confirmation:\"\"});D();let a=$(!1),v=$(!1);const I=x(()=>({email:{required:m.withMessage(i(\"validation.required\"),g),email:m.withMessage(i(\"validation.email_incorrect\"),C)},password:{required:m.withMessage(i(\"validation.required\"),g),minLength:m.withMessage(i(\"validation.password_min_length\",{count:8}),G(8))},password_confirmation:{sameAsPassword:m.withMessage(i(\"validation.password_incorrect\"),L(r.password))}})),s=N(I,r);async function V(l){if(s.value.$touch(),!s.value.$invalid){let o={email:r.email,password:r.password,password_confirmation:r.password_confirmation,token:f.params.token};v.value=!0;let d=B.resetPassword(o,f.params.company);v.value=!1,d.data&&b.push({name:\"customer.login\"})}}return(l,o)=>{const d=u(\"BaseInput\"),w=u(\"BaseInputGroup\"),k=u(\"EyeOffIcon\"),h=u(\"EyeIcon\"),q=u(\"BaseButton\");return c(),P(\"form\",{id:\"loginForm\",onSubmit:R(V,[\"prevent\"])},[n(w,{error:e(s).email.$error&&e(s).email.$errors[0].$message,label:l.$t(\"login.email\"),class:\"mb-4\",required:\"\"},{default:p(()=>[n(d,{modelValue:e(r).email,\"onUpdate:modelValue\":o[0]||(o[0]=t=>e(r).email=t),type:\"email\",name:\"email\",invalid:e(s).email.$error,onInput:o[1]||(o[1]=t=>e(s).email.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"error\",\"label\"]),n(w,{error:e(s).password.$error&&e(s).password.$errors[0].$message,label:l.$t(\"login.password\"),class:\"mb-4\",required:\"\"},{default:p(()=>[n(d,{modelValue:e(r).password,\"onUpdate:modelValue\":o[4]||(o[4]=t=>e(r).password=t),type:e(a)?\"text\":\"password\",name:\"password\",invalid:e(s).password.$error,onInput:o[5]||(o[5]=t=>e(s).password.$touch())},{right:p(()=>[e(a)?(c(),_(k,{key:0,class:\"w-5 h-5 mr-1 text-gray-500 cursor-pointer\",onClick:o[2]||(o[2]=t=>y(a)?a.value=!e(a):a=!e(a))})):(c(),_(h,{key:1,class:\"w-5 h-5 mr-1 text-gray-500 cursor-pointer\",onClick:o[3]||(o[3]=t=>y(a)?a.value=!e(a):a=!e(a))}))]),_:1},8,[\"modelValue\",\"type\",\"invalid\"])]),_:1},8,[\"error\",\"label\"]),n(w,{error:e(s).password_confirmation.$error&&e(s).password_confirmation.$errors[0].$message,label:l.$t(\"login.retype_password\"),class:\"mb-4\",required:\"\"},{default:p(()=>[n(d,{modelValue:e(r).password_confirmation,\"onUpdate:modelValue\":o[6]||(o[6]=t=>e(r).password_confirmation=t),type:\"password\",name:\"password\",invalid:e(s).password_confirmation.$error,onInput:o[7]||(o[7]=t=>e(s).password_confirmation.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"error\",\"label\"]),n(q,{type:\"submit\",variant:\"primary\"},{default:p(()=>[U(A(l.$t(\"login.reset_password\")),1)]),_:1})],40,T)}}};export{K as default};\n"
  },
  {
    "path": "public/build/assets/ResetPassword.b82bdbf4.js",
    "content": "import{J as q,G as I,aN as h,a0 as N,B as S,k as d,M as w,Q as k,N as L,P,T as U,r as f,o as A,e as C,f as n,w as m,u as r,i as E,t as G,U as j,a as D}from\"./vendor.d12b5734.js\";import{u as M,h as R}from\"./main.465728e1.js\";const T=[\"onSubmit\"],Q={setup(x){const v=M(),{t}=q(),c=I(),$=h(),o=N({email:\"\",password:\"\",password_confirmation:\"\"}),u=S(!1),_=d(()=>({email:{required:w,email:k},password:{required:w,minLength:L(8)},password_confirmation:{sameAsPassword:P(o.password)}})),a=U(_,o),g=d(()=>a.value.email.$error?a.value.email.required.$invalid?t(\"validation.required\"):a.value.email.email?t(\"validation.email_incorrect\"):!1:\"\"),b=d(()=>a.value.password.$error?a.value.password.required.$invalid?t(\"validation.required\"):a.value.password.minLength?t(\"validation.password_min_length\",{count:a.value.password.minLength.$params.min}):!1:\"\"),V=d(()=>a.value.password_confirmation.$error?a.value.password_confirmation.sameAsPassword.$invalid?t(\"validation.password_incorrect\"):!1:\"\");async function y(i){if(a.value.$touch(),!a.value.$invalid)try{let e={email:o.email,password:o.password,password_confirmation:o.password_confirmation,token:c.params.token};u.value=!0;let l=await D.post(\"/api/v1/auth/reset/password\",e);u.value=!1,l.data&&(v.showNotification({type:\"success\",message:t(\"login.password_reset_successfully\")}),$.push(\"/login\"))}catch(e){R(e),u.value=!1,e.response&&e.response.status===403}}return(i,e)=>{const l=f(\"BaseInput\"),p=f(\"BaseInputGroup\"),B=f(\"BaseButton\");return A(),C(\"form\",{id:\"loginForm\",onSubmit:j(y,[\"prevent\"])},[n(p,{error:r(g),label:i.$t(\"login.email\"),class:\"mb-4\",required:\"\"},{default:m(()=>[n(l,{modelValue:r(o).email,\"onUpdate:modelValue\":e[0]||(e[0]=s=>r(o).email=s),invalid:r(a).email.$error,focus:\"\",type:\"email\",name:\"email\",onInput:e[1]||(e[1]=s=>r(a).email.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"error\",\"label\"]),n(p,{error:r(b),label:i.$t(\"login.password\"),class:\"mb-4\",required:\"\"},{default:m(()=>[n(l,{modelValue:r(o).password,\"onUpdate:modelValue\":e[2]||(e[2]=s=>r(o).password=s),invalid:r(a).password.$error,type:\"password\",name:\"password\",onInput:e[3]||(e[3]=s=>r(a).password.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"error\",\"label\"]),n(p,{error:r(V),label:i.$t(\"login.retype_password\"),class:\"mb-4\",required:\"\"},{default:m(()=>[n(l,{modelValue:r(o).password_confirmation,\"onUpdate:modelValue\":e[4]||(e[4]=s=>r(o).password_confirmation=s),invalid:r(a).password_confirmation.$error,type:\"password\",name:\"password\",onInput:e[5]||(e[5]=s=>r(a).password_confirmation.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"error\",\"label\"]),n(B,{loading:u.value,type:\"submit\",variant:\"primary\"},{default:m(()=>[E(G(i.$t(\"login.reset_password\")),1)]),_:1},8,[\"loading\"])],40,T)}}};export{Q as default};\n"
  },
  {
    "path": "public/build/assets/RolesSettings.72f183c6.js",
    "content": "var te=Object.defineProperty;var J=Object.getOwnPropertySymbols;var se=Object.prototype.hasOwnProperty,ae=Object.prototype.propertyIsEnumerable;var X=(f,n,e)=>n in f?te(f,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):f[n]=e,K=(f,n)=>{for(var e in n||(n={}))se.call(n,e)&&X(f,e,n[e]);if(J)for(var e of J(n))ae.call(n,e)&&X(f,e,n[e]);return f};import{h as L,u as j,j as oe,e as Q,c as P,b as ie}from\"./main.465728e1.js\";import{_ as ne,a as D,d as le,J as O,G as re,ah as de,r as g,o as _,l as I,w as m,u as c,f as h,i as C,t as w,j as V,B as z,k as U,L as T,M as W,N as ce,T as ue,h as y,e as E,y as Y,F,m as Z,U as me,V as fe}from\"./vendor.d12b5734.js\";const q=(f=!1)=>{const n=f?window.pinia.defineStore:le,{global:e}=window.i18n;return n({id:\"role\",state:()=>({roles:[],allAbilities:[],selectedRoles:[],currentRole:{id:null,name:\"\",abilities:[]}}),getters:{isEdit:a=>!!a.currentRole.id,abilitiesList:a=>{let i=a.allAbilities.map(l=>K({modelName:l.model?l.model.substring(l.model.lastIndexOf(\"\\\\\")+1):\"Common\",disabled:!1},l));return ne.groupBy(i,\"modelName\")}},actions:{fetchRoles(a){return new Promise((i,l)=>{D.get(\"/api/v1/roles\",{params:a}).then(t=>{this.roles=t.data.data,i(t)}).catch(t=>{L(t),l(t)})})},fetchRole(a){return new Promise((i,l)=>{D.get(`/api/v1/roles/${a}`).then(t=>{this.currentRole.name=t.data.data.name,this.currentRole.id=t.data.data.id,t.data.data.abilities.forEach(r=>{for(const u in this.abilitiesList)this.abilitiesList[u].forEach(v=>{v.ability===r.name&&this.currentRole.abilities.push(v)})}),i(t)}).catch(t=>{L(t),l(t)})})},addRole(a){const i=j();return new Promise((l,t)=>{D.post(\"/api/v1/roles\",a).then(r=>{this.roles.push(r.data.role),i.showNotification({type:\"success\",message:e.t(\"settings.roles.created_message\")}),l(r)}).catch(r=>{L(r),t(r)})})},updateRole(a){const i=j();return new Promise((l,t)=>{D.put(`/api/v1/roles/${a.id}`,a).then(r=>{if(r.data){let u=this.roles.findIndex(v=>v.id===r.data.data.id);this.roles[u]=a.role,i.showNotification({type:\"success\",message:e.t(\"settings.roles.updated_message\")})}l(r)}).catch(r=>{L(r),t(r)})})},fetchAbilities(a){return new Promise((i,l)=>{this.allAbilities.length?i(this.allAbilities):D.get(\"/api/v1/abilities\",{params:a}).then(t=>{this.allAbilities=t.data.abilities,i(t)}).catch(t=>{L(t),l(t)})})},deleteRole(a){const i=j();return new Promise((l,t)=>{D.delete(`/api/v1/roles/${a}`).then(r=>{let u=this.roles.findIndex(v=>v.id===a);this.roles.splice(u,1),i.showNotification({type:\"success\",message:e.t(\"settings.roles.deleted_message\")}),l(r)}).catch(r=>{L(r),t(r)})})}}})()},pe={props:{row:{type:Object,default:null},table:{type:Object,default:null},loadData:{type:Function,default:null}},setup(f){const n=f,e=oe();j();const{t:a}=O(),i=q(),l=re(),t=Q(),r=P();de(\"utils\");async function u(x){Promise.all([await i.fetchAbilities(),await i.fetchRole(x)]).then(()=>{r.openModal({title:a(\"settings.roles.edit_role\"),componentName:\"RolesModal\",size:\"lg\",refreshData:n.loadData})})}async function v(x){e.openDialog({title:a(\"general.are_you_sure\"),message:a(\"settings.roles.confirm_delete\"),yesLabel:a(\"general.ok\"),noLabel:a(\"general.cancel\"),variant:\"danger\",hideNoButton:!1,size:\"lg\"}).then(async b=>{b&&await i.deleteRole(x).then(R=>{R.data&&n.loadData&&n.loadData()})})}return(x,b)=>{const R=g(\"BaseIcon\"),B=g(\"BaseButton\"),s=g(\"BaseDropdownItem\"),d=g(\"BaseDropdown\");return _(),I(d,null,{activator:m(()=>[c(l).name===\"roles.view\"?(_(),I(B,{key:0,variant:\"primary\"},{default:m(()=>[h(R,{name:\"DotsHorizontalIcon\",class:\"h-5 text-white\"})]),_:1})):(_(),I(R,{key:1,name:\"DotsHorizontalIcon\",class:\"h-5 text-gray-500\"}))]),default:m(()=>[c(t).currentUser.is_owner?(_(),I(s,{key:0,onClick:b[0]||(b[0]=p=>u(f.row.id))},{default:m(()=>[h(R,{name:\"PencilIcon\",class:\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"}),C(\" \"+w(x.$t(\"general.edit\")),1)]),_:1})):V(\"\",!0),c(t).currentUser.is_owner?(_(),I(s,{key:1,onClick:b[1]||(b[1]=p=>v(f.row.id))},{default:m(()=>[h(R,{name:\"TrashIcon\",class:\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"}),C(\" \"+w(x.$t(\"general.delete\")),1)]),_:1})):V(\"\",!0)]),_:1})}}},he={class:\"flex justify-between w-full\"},be=[\"onSubmit\"],ge={class:\"px-4 md:px-8 py-4 md:py-6\"},_e={class:\"flex justify-between\"},ye={class:\"text-sm not-italic font-medium text-gray-800 px-4 md:px-8 py-1.5\"},ve=y(\"span\",{class:\"text-sm text-red-500\"},\" *\",-1),we={class:\"text-sm not-italic font-medium text-gray-300 px-4 md:px-8 py-1.5\"},Be=C(\" / \"),xe={class:\"border-t border-gray-200 py-3\"},Re={class:\"grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-4 px-8 sm:px-8\"},$e={class:\"text-sm text-gray-500 border-b border-gray-200 pb-1 mb-2\"},Se={key:0,class:\"block mt-0.5 text-sm text-red-500\"},ke={class:\"z-0 flex justify-end p-4 border-t border-solid border--200 border-modal-bg\"},Ce={setup(f){const n=P(),e=q(),{t:a}=O();let i=z(!1),l=z(!1);const t=U(()=>n.active&&n.componentName===\"RolesModal\"),r=U(()=>({name:{required:T.withMessage(a(\"validation.required\"),W),minLength:T.withMessage(a(\"validation.name_min_length\",{count:3}),ce(3))},abilities:{required:T.withMessage(a(\"validation.at_least_one_ability\"),W)}})),u=ue(r,U(()=>e.currentRole));async function v(){if(u.value.$touch(),u.value.$invalid)return!0;try{const s=e.isEdit?e.updateRole:e.addRole;i.value=!0,await s(e.currentRole),i.value=!1,n.refreshData&&n.refreshData(),B()}catch{return i.value=!1,!0}}function x(s){var p,o;if(!e.currentRole.abilities.find($=>$.ability===s.ability)&&((p=s==null?void 0:s.depends_on)==null?void 0:p.length)){R(s);return}(o=s==null?void 0:s.depends_on)==null||o.forEach($=>{Object.keys(e.abilitiesList).forEach(M=>{e.abilitiesList[M].forEach(k=>{$===k.ability&&(k.disabled=!0,e.currentRole.abilities.find(S=>S.ability===$)||e.currentRole.abilities.push(k))})})})}function b(s){let d=[];Object.keys(e.abilitiesList).forEach(p=>{e.abilitiesList[p].forEach(o=>{(o==null?void 0:o.depends_on)&&(d=[...d,...o.depends_on])})}),Object.keys(e.abilitiesList).forEach(p=>{e.abilitiesList[p].forEach(o=>{d.includes(o.ability)&&(s?o.disabled=!0:o.disabled=!1),e.currentRole.abilities.push(o)})}),s||(e.currentRole.abilities=[])}function R(s){s.depends_on.forEach(d=>{Object.keys(e.abilitiesList).forEach(p=>{e.abilitiesList[p].forEach(o=>{let $=e.currentRole.abilities.find(M=>{var k;return(k=M.depends_on)==null?void 0:k.includes(o.ability)});d===o.ability&&!$&&(o.disabled=!1)})})})}function B(){n.closeModal(),setTimeout(()=>{e.currentRole={id:null,name:\"\",abilities:[]},Object.keys(e.abilitiesList).forEach(s=>{e.abilitiesList[s].forEach(d=>{d.disabled=!1})}),u.value.$reset()},300)}return(s,d)=>{const p=g(\"BaseIcon\"),o=g(\"BaseInput\"),$=g(\"BaseInputGroup\"),M=g(\"BaseCheckbox\"),k=g(\"BaseButton\"),G=g(\"BaseModal\");return _(),I(G,{show:c(t),onClose:B},{header:m(()=>[y(\"div\",he,[C(w(c(n).title)+\" \",1),h(p,{name:\"XIcon\",class:\"w-6 h-6 text-gray-500 cursor-pointer\",onClick:B})])]),default:m(()=>[y(\"form\",{onSubmit:me(v,[\"prevent\"])},[y(\"div\",ge,[h($,{label:s.$t(\"settings.roles.name\"),class:\"mt-3\",error:c(u).name.$error&&c(u).name.$errors[0].$message,required:\"\",\"content-loading\":c(l)},{default:m(()=>[h(o,{modelValue:c(e).currentRole.name,\"onUpdate:modelValue\":d[0]||(d[0]=S=>c(e).currentRole.name=S),invalid:c(u).name.$error,type:\"text\",\"content-loading\":c(l),onInput:d[1]||(d[1]=S=>c(u).name.$touch())},null,8,[\"modelValue\",\"invalid\",\"content-loading\"])]),_:1},8,[\"label\",\"error\",\"content-loading\"])]),y(\"div\",_e,[y(\"h6\",ye,[C(w(s.$tc(\"settings.roles.permission\",2))+\" \",1),ve]),y(\"div\",we,[y(\"a\",{class:\"cursor-pointer text-primary-400\",onClick:d[2]||(d[2]=S=>b(!0))},w(s.$t(\"settings.roles.select_all\")),1),Be,y(\"a\",{class:\"cursor-pointer text-primary-400\",onClick:d[3]||(d[3]=S=>b(!1))},w(s.$t(\"settings.roles.none\")),1)])]),y(\"div\",xe,[y(\"div\",Re,[(_(!0),E(F,null,Y(c(e).abilitiesList,(S,H)=>(_(),E(\"div\",{key:H,class:\"flex flex-col space-y-1\"},[y(\"p\",$e,w(H),1),(_(!0),E(F,null,Y(S,(N,ee)=>(_(),E(\"div\",{key:ee,class:\"flex\"},[h(M,{modelValue:c(e).currentRole.abilities,\"onUpdate:modelValue\":[d[4]||(d[4]=A=>c(e).currentRole.abilities=A),A=>x(N)],\"set-initial-value\":!0,variant:\"primary\",disabled:N.disabled,label:N.name,value:N},null,8,[\"modelValue\",\"disabled\",\"label\",\"value\",\"onUpdate:modelValue\"])]))),128))]))),128)),c(u).abilities.$error?(_(),E(\"span\",Se,w(c(u).abilities.$errors[0].$message),1)):V(\"\",!0)])]),y(\"div\",ke,[h(k,{class:\"mr-3 text-sm\",variant:\"primary-outline\",type:\"button\",onClick:B},{default:m(()=>[C(w(s.$t(\"general.cancel\")),1)]),_:1}),h(k,{loading:c(i),disabled:c(i),variant:\"primary\",type:\"submit\"},{left:m(S=>[h(p,{name:\"SaveIcon\",class:Z(S.class)},null,8,[\"class\"])]),default:m(()=>[C(\" \"+w(c(e).isEdit?s.$t(\"general.update\"):s.$t(\"general.save\")),1)]),_:1},8,[\"loading\",\"disabled\"])])],40,be)]),_:1},8,[\"show\"])}}},Ee={setup(f){const n=P(),e=q(),a=Q(),i=ie(),{t:l}=O(),t=z(null),r=U(()=>[{key:\"name\",label:l(\"settings.roles.role_name\"),thClass:\"extra\",tdClass:\"font-medium text-gray-900\"},{key:\"created_at\",label:l(\"settings.roles.added_on\"),tdClass:\"font-medium text-gray-900\"},{key:\"actions\",label:\"\",tdClass:\"text-right text-sm font-medium\",sortable:!1}]);async function u({page:b,filter:R,sort:B}){let s={orderByField:B.fieldName||\"created_at\",orderBy:B.order||\"desc\",company_id:i.selectedCompany.id};return{data:(await e.fetchRoles(s)).data.data}}async function v(){t.value&&t.value.refresh()}async function x(){await e.fetchAbilities(),n.openModal({title:l(\"settings.roles.add_role\"),componentName:\"RolesModal\",size:\"lg\",refreshData:t.value&&t.value.refresh})}return(b,R)=>{const B=g(\"BaseIcon\"),s=g(\"BaseButton\"),d=g(\"BaseTable\"),p=g(\"BaseSettingCard\");return _(),E(F,null,[h(Ce),h(p,{title:b.$t(\"settings.roles.title\"),description:b.$t(\"settings.roles.description\")},fe({default:m(()=>[h(d,{ref:(o,$)=>{$.table=o,t.value=o},data:u,columns:c(r),class:\"mt-14\"},{\"cell-created_at\":m(({row:o})=>[C(w(o.data.formatted_created_at),1)]),\"cell-actions\":m(({row:o})=>[c(a).currentUser.is_owner&&o.data.name!==\"super admin\"?(_(),I(pe,{key:0,row:o.data,table:t.value,\"load-data\":v},null,8,[\"row\",\"table\"])):V(\"\",!0)]),_:1},8,[\"columns\"])]),_:2},[c(a).currentUser.is_owner?{name:\"action\",fn:m(()=>[h(s,{variant:\"primary-outline\",onClick:x},{left:m(o=>[h(B,{name:\"PlusIcon\",class:Z(o.class)},null,8,[\"class\"])]),default:m(()=>[C(\" \"+w(b.$t(\"settings.roles.add_new_role\")),1)]),_:1})])}:void 0]),1032,[\"title\",\"description\"])],64)}}};export{Ee as default};\n"
  },
  {
    "path": "public/build/assets/SalesTax.75d66dd0.js",
    "content": "var Se=Object.defineProperty,Ie=Object.defineProperties;var Pe=Object.getOwnPropertyDescriptors;var pe=Object.getOwnPropertySymbols;var ke=Object.prototype.hasOwnProperty,Te=Object.prototype.propertyIsEnumerable;var ye=(s,t,e)=>t in s?Se(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,N=(s,t)=>{for(var e in t||(t={}))ke.call(t,e)&&ye(s,e,t[e]);if(pe)for(var e of pe(t))Te.call(t,e)&&ye(s,e,t[e]);return s},G=(s,t)=>Ie(s,Pe(t));import{q as ee,c as H,e as ae,b as te,p as fe,g as ne,T as Ce,k as Me,u as De,d as Ve}from\"./main.465728e1.js\";import{D as je,d as qe}from\"./DragIcon.2da3872a.js\";import{B as W,a0 as xe,ah as re,J,k as B,C as le,r as y,o as l,e as $,h as n,t as h,f as a,V as Ae,u as o,w as c,i as E,l as q,j as L,G as Ee,A as Z,L as O,M as R,b2 as _e,S as oe,aX as Le,T as ie,x as K,F as Q,y as se,H as ge,a7 as Ue,W as Oe,m as X,Y as ze,X as Ne,Z as Fe,N as Ye,D as he,U as be}from\"./vendor.d12b5734.js\";import{_ as Ge}from\"./SelectNotePopup.2e678c03.js\";const We={class:\"flex items-center justify-between mb-3\"},Re={class:\"flex items-center text-base\",style:{flex:\"4\"}},Xe={class:\"pr-2 mb-0\",align:\"right\"},He={class:\"absolute left-3.5\"},Je={class:\"ml-2 text-sm leading-none text-primary-400 cursor-pointer\"},Ze=n(\"br\",null,null,-1),Ke={class:\"text-sm text-right\",style:{flex:\"3\"}},Qe={class:\"flex items-center justify-center w-6 h-10 mx-2 cursor-pointer\"},et={props:{ability:{type:String,default:\"\"},store:{type:Object,default:null},storeProp:{type:String,default:\"\"},itemIndex:{type:Number,required:!0},index:{type:Number,required:!0},taxData:{type:Object,required:!0},taxes:{type:Array,default:[]},total:{type:Number,default:0},totalTax:{type:Number,default:0},currency:{type:[Object,String],required:!0},updateItems:{type:Function,default:()=>{}}},emits:[\"remove\",\"update\"],setup(s,{emit:t}){const e=s,r=ee(),w=H(),b=ae(),S=W(null),f=xe(N({},e.taxData));re(\"utils\");const{t:D}=J(),p=B(()=>r.taxTypes.map(u=>N({},u)).map(u=>(e.taxes.find(x=>x.tax_type_id===u.id)?u.disabled=!0:u.disabled=!1,u))),j=B(()=>f.compound_tax&&e.total?(e.total+e.totalTax)*f.percent/100:e.total&&f.percent?e.total*f.percent/100:0);le(()=>e.total,()=>{T()}),le(()=>e.totalTax,()=>{T()}),e.taxData.tax_type_id>0&&(S.value=r.taxTypes.find(m=>m.id===e.taxData.tax_type_id)),T();function V(m){f.percent=m.percent,f.tax_type_id=m.id,f.compound_tax=m.compound_tax,f.name=m.name,T()}function T(){f.tax_type_id!==0&&t(\"update\",{index:e.index,item:G(N({},f),{amount:j.value})})}function d(){let m={itemIndex:e.itemIndex,taxIndex:e.index};w.openModal({title:D(\"settings.tax_types.add_tax\"),componentName:\"TaxTypeModal\",data:m,size:\"sm\"})}function i(m){e.store.$patch(u=>{u[e.storeProp].items[e.itemIndex].taxes.splice(m,1)})}return(m,u)=>{const k=y(\"BaseIcon\"),x=y(\"BaseMultiselect\"),M=y(\"BaseFormatMoney\");return l(),$(\"div\",We,[n(\"div\",Re,[n(\"label\",Xe,h(m.$t(\"invoices.item.tax\")),1),a(x,{modelValue:S.value,\"onUpdate:modelValue\":[u[0]||(u[0]=C=>S.value=C),u[1]||(u[1]=C=>V(C))],\"value-prop\":\"id\",options:o(p),placeholder:m.$t(\"general.select_a_tax\"),\"open-direction\":\"top\",\"track-by\":\"name\",searchable:\"\",object:\"\",label:\"name\"},Ae({singlelabel:c(({value:C})=>[n(\"div\",He,h(C.name)+\" - \"+h(C.percent)+\" % \",1)]),option:c(({option:C})=>[E(h(C.name)+\" - \"+h(C.percent)+\" % \",1)]),_:2},[o(b).hasAbilities(s.ability)?{name:\"action\",fn:c(()=>[n(\"button\",{type:\"button\",class:\"flex items-center justify-center w-full px-2 cursor-pointer py-2 bg-gray-200 border-none outline-none\",onClick:d},[a(k,{name:\"CheckCircleIcon\",class:\"h-5 text-primary-400\"}),n(\"label\",Je,h(m.$t(\"invoices.add_new_tax\")),1)])])}:void 0]),1032,[\"modelValue\",\"options\",\"placeholder\"]),Ze]),n(\"div\",Ke,[a(M,{amount:o(j),currency:s.currency},null,8,[\"amount\",\"currency\"])]),n(\"div\",Qe,[s.taxes.length&&s.index!==s.taxes.length-1?(l(),q(k,{key:0,name:\"TrashIcon\",class:\"h-5 text-gray-700 cursor-pointer\",onClick:u[2]||(u[2]=C=>i(s.index))})):L(\"\",!0)])])}}},tt={class:\"box-border bg-white border border-gray-200 border-solid rounded-b\"},st={colspan:\"5\",class:\"p-0 text-left align-top\"},ot={class:\"w-full\"},at=n(\"col\",{style:{width:\"40%\",\"min-width\":\"280px\"}},null,-1),nt=n(\"col\",{style:{width:\"10%\",\"min-width\":\"120px\"}},null,-1),rt=n(\"col\",{style:{width:\"15%\",\"min-width\":\"120px\"}},null,-1),lt={key:0,style:{width:\"15%\",\"min-width\":\"160px\"}},it=n(\"col\",{style:{width:\"15%\",\"min-width\":\"120px\"}},null,-1),dt={class:\"px-5 py-4 text-left align-top\"},ct={class:\"flex justify-start\"},ut={class:\"flex items-center justify-center w-5 h-5 mt-2 text-gray-300 cursor-move handle mr-2\"},mt={class:\"px-5 py-4 text-right align-top\"},pt={class:\"px-5 py-4 text-left align-top\"},yt={class:\"flex flex-col\"},ft={class:\"flex-auto flex-fill bd-highlight\"},xt={class:\"relative w-full\"},_t={key:0,class:\"px-5 py-4 text-left align-top\"},gt={class:\"flex flex-col\"},ht={class:\"flex\",style:{width:\"120px\"},role:\"group\"},bt={class:\"flex items-center\"},vt={class:\"px-5 py-4 text-right align-top\"},$t={class:\"flex items-center justify-end text-sm\"},wt={class:\"flex items-center justify-center w-6 h-10 mx-2\"},Bt={key:0},St=n(\"td\",{class:\"px-5 py-4 text-left align-top\"},null,-1),It={colspan:\"4\",class:\"px-5 py-4 text-left align-top\"},Pt={props:{store:{type:Object,default:null},storeProp:{type:String,default:\"\"},itemData:{type:Object,default:null},index:{type:Number,default:null},type:{type:String,default:\"\"},loading:{type:Boolean,default:!1},currency:{type:[Object,String],required:!0},invoiceItems:{type:Array,required:!0},itemValidationScope:{type:String,default:\"\"}},emits:[\"update\",\"remove\",\"itemValidate\"],setup(s,{emit:t}){const e=s,r=te(),w=fe();Ee();const{t:b}=J(),S=B({get:()=>e.itemData.quantity,set:g=>{A(\"quantity\",parseFloat(g))}}),f=B({get:()=>{const g=e.itemData.price;return parseFloat(g)>0?g/100:g},set:g=>{if(parseFloat(g)>0){let P=Math.round(g*100);A(\"price\",P)}else A(\"price\",g)}}),D=B(()=>e.itemData.price*e.itemData.quantity),p=B({get:()=>e.itemData.discount,set:g=>{e.itemData.discount_type===\"percentage\"?A(\"discount_val\",D.value*g/100):A(\"discount_val\",Math.round(g*100)),A(\"discount\",g)}}),j=B(()=>D.value-e.itemData.discount_val),V=B(()=>e.currency?e.currency:r.selectedCompanyCurrency),T=B(()=>e.store[e.storeProp].items.length!=1),d=B(()=>Math.round(Z.exports.sumBy(e.itemData.taxes,function(g){return g.compound_tax?0:g.amount}))),i=B(()=>Math.round(Z.exports.sumBy(e.itemData.taxes,function(g){return g.compound_tax?g.amount:0}))),m=B(()=>d.value+i.value),u={name:{required:O.withMessage(b(\"validation.required\"),R)},quantity:{required:O.withMessage(b(\"validation.required\"),R),minValue:O.withMessage(b(\"validation.qty_must_greater_than_zero\"),_e(0)),maxLength:O.withMessage(b(\"validation.amount_maxlength\"),oe(20))},price:{required:O.withMessage(b(\"validation.required\"),R),minValue:O.withMessage(b(\"validation.number_length_minvalue\"),_e(1)),maxLength:O.withMessage(b(\"validation.price_maxlength\"),oe(20))},discount_val:{between:O.withMessage(b(\"validation.discount_maxlength\"),Le(0,B(()=>D.value)))},description:{maxLength:O.withMessage(b(\"validation.notes_maxlength\"),oe(65e3))}},k=ie(u,B(()=>e.store[e.storeProp].items[e.index]),{$scope:e.itemValidationScope});function x(g){e.store.$patch(U=>{U[e.storeProp].items[e.index].taxes[g.index]=g.item});let P=e.itemData.taxes[e.itemData.taxes.length-1];(P==null?void 0:P.tax_type_id)!==0&&e.store.$patch(U=>{U[e.storeProp].items[e.index].taxes.push(G(N({},Ce),{id:ge.raw()}))}),I()}function M(g){A(\"name\",g)}function C(g){e.store.$patch(P=>{if(P[e.storeProp].items[e.index].name=g.name,P[e.storeProp].items[e.index].price=g.price,P[e.storeProp].items[e.index].item_id=g.id,P[e.storeProp].items[e.index].description=g.description,g.unit&&(P[e.storeProp].items[e.index].unit_name=g.unit.name),e.store[e.storeProp].tax_per_item===\"YES\"&&g.taxes){let U=0;g.taxes.forEach(Y=>{x({index:U,item:N({},Y)}),U++})}P[e.storeProp].exchange_rate&&(P[e.storeProp].items[e.index].price/=P[e.storeProp].exchange_rate)}),w.fetchItems(),I()}function _(){e.itemData.discount_type!==\"fixed\"&&(A(\"discount_val\",Math.round(e.itemData.discount*100)),A(\"discount_type\",\"fixed\"))}function v(){e.itemData.discount_type!==\"percentage\"&&(A(\"discount_val\",D.value*e.itemData.discount/100),A(\"discount_type\",\"percentage\"))}function I(){var U,Y;let g=(Y=(U=e.store[e.storeProp])==null?void 0:U.items[e.index])==null?void 0:Y.taxes;g||(g=[]);let P=G(N({},e.store[e.storeProp].items[e.index]),{index:e.index,total:j.value,sub_total:D.value,totalSimpleTax:d.value,totalCompoundTax:i.value,totalTax:m.value,tax:m.value,taxes:[...g]});e.store.updateItem(P)}function A(g,P){e.store.$patch(U=>{U[e.storeProp].items[e.index][g]=P}),I()}return(g,P)=>{const U=y(\"BaseItemSelect\"),Y=y(\"BaseInput\"),z=y(\"BaseMoney\"),de=y(\"BaseIcon\"),ve=y(\"BaseButton\"),ce=y(\"BaseDropdownItem\"),$e=y(\"BaseDropdown\"),ue=y(\"BaseContentPlaceholdersText\"),me=y(\"BaseContentPlaceholders\"),we=y(\"BaseFormatMoney\");return l(),$(\"tr\",tt,[n(\"td\",st,[n(\"table\",ot,[n(\"colgroup\",null,[at,nt,rt,s.store[s.storeProp].discount_per_item===\"YES\"?(l(),$(\"col\",lt)):L(\"\",!0),it]),n(\"tbody\",null,[n(\"tr\",null,[n(\"td\",dt,[n(\"div\",ct,[n(\"div\",ut,[a(je)]),a(U,{type:\"Invoice\",item:s.itemData,invalid:o(k).name.$error,\"invalid-description\":o(k).description.$error,taxes:s.itemData.taxes,index:s.index,\"store-prop\":s.storeProp,store:s.store,onSearch:M,onSelect:C},null,8,[\"item\",\"invalid\",\"invalid-description\",\"taxes\",\"index\",\"store-prop\",\"store\"])])]),n(\"td\",mt,[a(Y,{modelValue:o(S),\"onUpdate:modelValue\":P[0]||(P[0]=F=>K(S)?S.value=F:null),invalid:o(k).quantity.$error,\"content-loading\":s.loading,type:\"number\",small:\"\",min:\"0\",step:\"any\",onChange:P[1]||(P[1]=F=>I()),onInput:P[2]||(P[2]=F=>o(k).quantity.$touch())},null,8,[\"modelValue\",\"invalid\",\"content-loading\"])]),n(\"td\",pt,[n(\"div\",yt,[n(\"div\",ft,[n(\"div\",xt,[a(z,{key:o(V),modelValue:o(f),\"onUpdate:modelValue\":P[3]||(P[3]=F=>K(f)?f.value=F:null),invalid:o(k).price.$error,\"content-loading\":s.loading,currency:o(V)},null,8,[\"modelValue\",\"invalid\",\"content-loading\",\"currency\"])])])])]),s.store[s.storeProp].discount_per_item===\"YES\"?(l(),$(\"td\",_t,[n(\"div\",gt,[n(\"div\",ht,[a(Y,{modelValue:o(p),\"onUpdate:modelValue\":P[4]||(P[4]=F=>K(p)?p.value=F:null),invalid:o(k).discount_val.$error,\"content-loading\":s.loading,class:\"border-r-0 focus:border-r-2 rounded-tr-sm rounded-br-sm h-[38px]\"},null,8,[\"modelValue\",\"invalid\",\"content-loading\"]),a($e,{position:\"bottom-end\"},{activator:c(()=>[a(ve,{\"content-loading\":s.loading,class:\"rounded-tr-md rounded-br-md !p-2 rounded-none\",type:\"button\",variant:\"white\"},{default:c(()=>[n(\"span\",bt,[E(h(s.itemData.discount_type==\"fixed\"?s.currency.symbol:\"%\")+\" \",1),a(de,{name:\"ChevronDownIcon\",class:\"w-4 h-4 text-gray-500 ml-1\"})])]),_:1},8,[\"content-loading\"])]),default:c(()=>[a(ce,{onClick:_},{default:c(()=>[E(h(g.$t(\"general.fixed\")),1)]),_:1}),a(ce,{onClick:v},{default:c(()=>[E(h(g.$t(\"general.percentage\")),1)]),_:1})]),_:1})])])])):L(\"\",!0),n(\"td\",vt,[n(\"div\",$t,[n(\"span\",null,[s.loading?(l(),q(me,{key:0},{default:c(()=>[a(ue,{lines:1,class:\"w-16 h-5\"})]),_:1})):(l(),q(we,{key:1,amount:o(j),currency:o(V)},null,8,[\"amount\",\"currency\"]))]),n(\"div\",wt,[o(T)?(l(),q(de,{key:0,class:\"h-5 text-gray-700 cursor-pointer\",name:\"TrashIcon\",onClick:P[5]||(P[5]=F=>s.store.removeItem(s.index))})):L(\"\",!0)])])])]),s.store[s.storeProp].tax_per_item===\"YES\"?(l(),$(\"tr\",Bt,[St,n(\"td\",It,[s.loading?(l(),q(me,{key:0},{default:c(()=>[a(ue,{lines:1,class:\"w-24 h-8 rounded-md border\"})]),_:1})):(l(!0),$(Q,{key:1},se(s.itemData.taxes,(F,Be)=>(l(),q(et,{key:F.id,index:Be,\"item-index\":s.index,\"tax-data\":F,taxes:s.itemData.taxes,\"discounted-total\":o(j),\"total-tax\":o(d),total:o(D),currency:s.currency,\"update-items\":I,ability:o(ne).CREATE_INVOICE,store:s.store,\"store-prop\":s.storeProp,onUpdate:x},null,8,[\"index\",\"item-index\",\"tax-data\",\"taxes\",\"discounted-total\",\"total-tax\",\"total\",\"currency\",\"ability\",\"store\",\"store-prop\"]))),128))])])):L(\"\",!0)])])])])}}},kt={class:\"text-center item-table min-w-full\"},Tt=n(\"col\",{style:{width:\"40%\",\"min-width\":\"280px\"}},null,-1),Ct=n(\"col\",{style:{width:\"10%\",\"min-width\":\"120px\"}},null,-1),Mt=n(\"col\",{style:{width:\"15%\",\"min-width\":\"120px\"}},null,-1),Dt={key:0,style:{width:\"15%\",\"min-width\":\"160px\"}},Vt=n(\"col\",{style:{width:\"15%\",\"min-width\":\"120px\"}},null,-1),jt={class:\"bg-white border border-gray-200 border-solid\"},qt={class:\"px-5 py-3 text-sm not-italic font-medium leading-5 text-left text-gray-700 border-t border-b border-gray-200 border-solid\"},At={key:1,class:\"pl-7\"},Et={class:\"px-5 py-3 text-sm not-italic font-medium leading-5 text-right text-gray-700 border-t border-b border-gray-200 border-solid\"},Lt={key:1},Ut={class:\"px-5 py-3 text-sm not-italic font-medium leading-5 text-left text-gray-700 border-t border-b border-gray-200 border-solid\"},Ot={key:1},zt={key:0,class:\"px-5 py-3 text-sm not-italic font-medium leading-5 text-left text-gray-700 border-t border-b border-gray-200 border-solid\"},Nt={key:1},Ft={class:\"px-5 py-3 text-sm not-italic font-medium leading-5 text-right text-gray-700 border-t border-b border-gray-200 border-solid\"},Yt={key:1,class:\"pr-10 column-heading\"},Qs={props:{store:{type:Object,default:null},storeProp:{type:String,default:\"\"},currency:{type:[Object,String,null],required:!0},isLoading:{type:Boolean,default:!1},itemValidationScope:{type:String,default:\"\"}},setup(s){const t=s,e=te(),r=B(()=>t.currency?t.currency:e.selectedCompanyCurrency);return(w,b)=>{const S=y(\"BaseContentPlaceholdersText\"),f=y(\"BaseContentPlaceholders\"),D=y(\"BaseIcon\");return l(),$(Q,null,[n(\"table\",kt,[n(\"colgroup\",null,[Tt,Ct,Mt,s.store[s.storeProp].discount_per_item===\"YES\"?(l(),$(\"col\",Dt)):L(\"\",!0),Vt]),n(\"thead\",jt,[n(\"tr\",null,[n(\"th\",qt,[s.isLoading?(l(),q(f,{key:0},{default:c(()=>[a(S,{lines:1,class:\"w-16 h-5\"})]),_:1})):(l(),$(\"span\",At,h(w.$tc(\"items.item\",2)),1))]),n(\"th\",Et,[s.isLoading?(l(),q(f,{key:0},{default:c(()=>[a(S,{lines:1,class:\"w-16 h-5\"})]),_:1})):(l(),$(\"span\",Lt,h(w.$t(\"invoices.item.quantity\")),1))]),n(\"th\",Ut,[s.isLoading?(l(),q(f,{key:0},{default:c(()=>[a(S,{lines:1,class:\"w-16 h-5\"})]),_:1})):(l(),$(\"span\",Ot,h(w.$t(\"invoices.item.price\")),1))]),s.store[s.storeProp].discount_per_item===\"YES\"?(l(),$(\"th\",zt,[s.isLoading?(l(),q(f,{key:0},{default:c(()=>[a(S,{lines:1,class:\"w-16 h-5\"})]),_:1})):(l(),$(\"span\",Nt,h(w.$t(\"invoices.item.discount\")),1))])):L(\"\",!0),n(\"th\",Ft,[s.isLoading?(l(),q(f,{key:0},{default:c(()=>[a(S,{lines:1,class:\"w-16 h-5\"})]),_:1})):(l(),$(\"span\",Yt,h(w.$t(\"invoices.item.amount\")),1))])])]),a(o(qe),{modelValue:s.store[s.storeProp].items,\"onUpdate:modelValue\":b[0]||(b[0]=p=>s.store[s.storeProp].items=p),\"item-key\":\"id\",tag:\"tbody\",handle:\".handle\"},{item:c(({element:p,index:j})=>[a(Pt,{key:p.id,index:j,\"item-data\":p,loading:s.isLoading,currency:o(r),\"item-validation-scope\":s.itemValidationScope,\"invoice-items\":s.store[s.storeProp].items,store:s.store,\"store-prop\":s.storeProp},null,8,[\"index\",\"item-data\",\"loading\",\"currency\",\"item-validation-scope\",\"invoice-items\",\"store\",\"store-prop\"])]),_:1},8,[\"modelValue\"])]),n(\"div\",{class:\"flex items-center justify-center w-full px-6 py-3 text-base border border-t-0 border-gray-200 border-solid cursor-pointer text-primary-400 hover:bg-primary-100\",onClick:b[1]||(b[1]=(...p)=>s.store.addItem&&s.store.addItem(...p))},[a(D,{name:\"PlusCircleIcon\",class:\"mr-2\"}),E(\" \"+h(w.$t(\"general.add_new_item\")),1)])],64)}}},Gt={class:\"flex items-center justify-between w-full mt-2 text-sm\"},Wt={class:\"font-semibold leading-5 text-gray-500 uppercase\"},Rt={class:\"flex items-center justify-center text-lg text-black\"},Xt={props:{index:{type:Number,required:!0},tax:{type:Object,required:!0},taxes:{type:Array,required:!0},currency:{type:[Object,String],required:!0},store:{type:Object,default:null},data:{type:String,default:\"\"}},emits:[\"update\",\"remove\"],setup(s,{emit:t}){const e=s;re(\"$utils\");const r=B(()=>e.tax.compound_tax&&e.store.getSubtotalWithDiscount?Math.round((e.store.getSubtotalWithDiscount+e.store.getTotalSimpleTax)*e.tax.percent/100):e.store.getSubtotalWithDiscount&&e.tax.percent?Math.round(e.store.getSubtotalWithDiscount*e.tax.percent/100):0);Ue(()=>{e.store.getSubtotalWithDiscount&&w(),e.store.getTotalSimpleTax&&w()});function w(){t(\"update\",G(N({},e.tax),{amount:r.value}))}return(b,S)=>{const f=y(\"BaseFormatMoney\"),D=y(\"BaseIcon\");return l(),$(\"div\",Gt,[n(\"label\",Wt,h(s.tax.name)+\" (\"+h(s.tax.percent)+\" %) \",1),n(\"label\",Rt,[a(f,{amount:s.tax.amount,currency:s.currency},null,8,[\"amount\",\"currency\"]),a(D,{name:\"TrashIcon\",class:\"h-5 ml-2 cursor-pointer\",onClick:S[0]||(S[0]=p=>b.$emit(\"remove\",s.tax.id))})])])}}},Ht={class:\"w-full mt-4 tax-select\"},Jt={class:\"relative w-full max-w-md px-4\"},Zt={class:\"overflow-hidden rounded-md shadow-lg ring-1 ring-black ring-opacity-5\"},Kt={class:\"relative bg-white\"},Qt={class:\"relative p-4\"},es={key:0,class:\"relative flex flex-col overflow-auto list max-h-36 border-t border-gray-200\"},ts=[\"onClick\"],ss={class:\"flex justify-between px-2\"},os={class:\"m-0 text-base font-semibold leading-tight text-gray-700 cursor-pointer\"},as={class:\"m-0 text-base font-semibold text-gray-700 cursor-pointer\"},ns={key:1,class:\"flex justify-center p-5 text-gray-400\"},rs={class:\"text-base text-gray-500 cursor-pointer\"},ls={class:\"m-0 ml-3 text-sm leading-none cursor-pointer font-base text-primary-400\"},is={props:{type:{type:String,default:null},store:{type:Object,default:null},storeProp:{type:String,default:\"\"}},emits:[\"select:taxType\"],setup(s,{emit:t}){const e=s,r=H(),w=ee(),b=ae(),{t:S}=J(),f=W(null),D=B(()=>f.value?w.taxTypes.filter(function(T){return T.name.toLowerCase().indexOf(f.value.toLowerCase())!==-1}):w.taxTypes),p=B(()=>e.store[e.storeProp].taxes);function j(T,d){t(\"select:taxType\",N({},T)),d()}function V(){r.openModal({title:S(\"settings.tax_types.add_tax\"),componentName:\"TaxTypeModal\",size:\"sm\",refreshData:T=>t(\"select:taxType\",T)})}return(T,d)=>{const i=y(\"BaseIcon\"),m=y(\"BaseInput\");return l(),$(\"div\",Ht,[a(o(Fe),{class:\"relative\"},{default:c(({isOpen:u})=>[a(o(Oe),{class:X([u?\"\":\"text-opacity-90\",\"flex items-center text-sm font-medium text-primary-400 focus:outline-none focus:border-none\"])},{default:c(()=>[a(i,{name:\"PlusIcon\",class:\"w-4 h-4 font-medium text-primary-400\"}),E(\" \"+h(T.$t(\"settings.tax_types.add_tax\")),1)]),_:2},1032,[\"class\"]),n(\"div\",Jt,[a(ze,{\"enter-active-class\":\"transition duration-200 ease-out\",\"enter-from-class\":\"translate-y-1 opacity-0\",\"enter-to-class\":\"translate-y-0 opacity-100\",\"leave-active-class\":\"transition duration-150 ease-in\",\"leave-from-class\":\"translate-y-0 opacity-100\",\"leave-to-class\":\"translate-y-1 opacity-0\"},{default:c(()=>[a(o(Ne),{style:{\"min-width\":\"350px\",\"margin-left\":\"62px\",top:\"-28px\"},class:\"absolute z-10 px-4 py-2 -translate-x-full sm:px-0\"},{default:c(({close:k})=>[n(\"div\",Zt,[n(\"div\",Kt,[n(\"div\",Qt,[a(m,{modelValue:f.value,\"onUpdate:modelValue\":d[0]||(d[0]=x=>f.value=x),placeholder:T.$t(\"general.search\"),type:\"text\",class:\"text-black\"},null,8,[\"modelValue\",\"placeholder\"])]),o(D).length>0?(l(),$(\"div\",es,[(l(!0),$(Q,null,se(o(D),(x,M)=>(l(),$(\"div\",{key:M,class:X([{\"bg-gray-100 cursor-not-allowed opacity-50 pointer-events-none\":o(p).find(C=>C.tax_type_id===x.id)},\"px-6 py-4 border-b border-gray-200 border-solid cursor-pointer hover:bg-gray-100 hover:cursor-pointer last:border-b-0\"]),tabindex:\"2\",onClick:C=>j(x,k)},[n(\"div\",ss,[n(\"label\",os,h(x.name),1),n(\"label\",as,h(x.percent)+\" % \",1)])],10,ts))),128))])):(l(),$(\"div\",ns,[n(\"label\",rs,h(T.$t(\"general.no_tax_found\")),1)]))]),o(b).hasAbilities(o(ne).CREATE_TAX_TYPE)?(l(),$(\"button\",{key:0,type:\"button\",class:\"flex items-center justify-center w-full h-10 px-2 py-3 bg-gray-200 border-none outline-none\",onClick:V},[a(i,{name:\"CheckCircleIcon\",class:\"text-primary-400\"}),n(\"label\",ls,h(T.$t(\"estimates.add_new_tax\")),1)])):L(\"\",!0)])]),_:1})]),_:1})])]),_:1})])}}},ds={class:\"px-5 py-4 mt-6 bg-white border border-gray-200 border-solid rounded md:min-w-[390px] min-w-[300px] lg:mt-7\"},cs={class:\"flex items-center justify-between w-full\"},us={key:1,class:\"text-sm font-semibold leading-5 text-gray-400 uppercase\"},ms={key:3,class:\"flex items-center justify-center m-0 text-lg text-black uppercase\"},ps={key:1,class:\"m-0 text-sm font-semibold leading-5 text-gray-500 uppercase\"},ys={key:3,class:\"flex items-center justify-center m-0 text-lg text-black uppercase\"},fs={key:0,class:\"flex items-center justify-between w-full mt-2\"},xs={key:1,class:\"text-sm font-semibold leading-5 text-gray-400 uppercase\"},_s={key:3,class:\"flex\",style:{width:\"140px\"},role:\"group\"},gs={class:\"flex items-center\"},hs={key:1},bs={class:\"flex items-center justify-between w-full pt-2 mt-5 border-t border-gray-200 border-solid\"},vs={key:1,class:\"m-0 text-sm font-semibold leading-5 text-gray-400 uppercase\"},$s={key:3,class:\"flex items-center justify-center text-lg uppercase text-primary-400\"},eo={props:{store:{type:Object,default:null},storeProp:{type:String,default:\"\"},taxPopupType:{type:String,default:\"\"},currency:{type:[Object,String],default:\"\"},isLoading:{type:Boolean,default:!1}},setup(s){const t=s,e=W(null);re(\"$utils\");const r=te(),w=B({get:()=>t.store[t.storeProp].discount,set:d=>{t.store[t.storeProp].discount_type===\"percentage\"?t.store[t.storeProp].discount_val=Math.round(t.store.getSubTotal*d/100):t.store[t.storeProp].discount_val=Math.round(d*100),t.store[t.storeProp].discount=d}}),b=B({get:()=>t.store[t.storeProp].taxes,set:d=>{t.store.$patch(i=>{i[t.storeProp].taxes=d})}}),S=B(()=>{let d=[];return t.store[t.storeProp].items.forEach(i=>{i.taxes&&i.taxes.forEach(m=>{let u=d.find(k=>k.tax_type_id===m.tax_type_id);u?u.amount+=m.amount:m.tax_type_id&&d.push({tax_type_id:m.tax_type_id,amount:m.amount,percent:m.percent,name:m.name})})}),d}),f=B(()=>t.currency?t.currency:r.selectedCompanyCurrency);function D(){t.store[t.storeProp].discount_type!==\"fixed\"&&(t.store[t.storeProp].discount_val=Math.round(t.store[t.storeProp].discount*100),t.store[t.storeProp].discount_type=\"fixed\")}function p(){t.store[t.storeProp].discount_type!==\"percentage\"&&(t.store[t.storeProp].discount_val=t.store.getSubTotal*t.store[t.storeProp].discount/100,t.store[t.storeProp].discount_type=\"percentage\")}function j(d){let i=0;d.compound_tax&&t.store.getSubtotalWithDiscount?i=Math.round((t.store.getSubtotalWithDiscount+t.store.getTotalSimpleTax)*d.percent/100):t.store.getSubtotalWithDiscount&&d.percent&&(i=Math.round(t.store.getSubtotalWithDiscount*d.percent/100));let m=G(N({},ne),{id:ge.raw(),name:d.name,percent:d.percent,compound_tax:d.compound_tax,tax_type_id:d.id,amount:i});t.store.$patch(u=>{u[t.storeProp].taxes.push(N({},m))})}function V(d){const i=t.store[t.storeProp].taxes.find(m=>m.id===d.id);i&&Object.assign(i,N({},d))}function T(d){const i=t.store[t.storeProp].taxes.findIndex(m=>m.id===d);t.store.$patch(m=>{m[t.storeProp].taxes.splice(i,1)})}return(d,i)=>{const m=y(\"BaseContentPlaceholdersText\"),u=y(\"BaseContentPlaceholders\"),k=y(\"BaseFormatMoney\"),x=y(\"BaseInput\"),M=y(\"BaseIcon\"),C=y(\"BaseButton\"),_=y(\"BaseDropdownItem\"),v=y(\"BaseDropdown\");return l(),$(\"div\",ds,[n(\"div\",cs,[s.isLoading?(l(),q(u,{key:0},{default:c(()=>[a(m,{lines:1,class:\"w-16 h-5\"})]),_:1})):(l(),$(\"label\",us,h(d.$t(\"estimates.sub_total\")),1)),s.isLoading?(l(),q(u,{key:2},{default:c(()=>[a(m,{lines:1,class:\"w-16 h-5\"})]),_:1})):(l(),$(\"label\",ms,[a(k,{amount:s.store.getSubTotal,currency:o(f)},null,8,[\"amount\",\"currency\"])]))]),(l(!0),$(Q,null,se(o(S),I=>(l(),$(\"div\",{key:I.tax_type_id,class:\"flex items-center justify-between w-full\"},[s.isLoading?(l(),q(u,{key:0},{default:c(()=>[a(m,{lines:1,class:\"w-16 h-5\"})]),_:1})):s.store[s.storeProp].tax_per_item===\"YES\"?(l(),$(\"label\",ps,h(I.name)+\" - \"+h(I.percent)+\"% \",1)):L(\"\",!0),s.isLoading?(l(),q(u,{key:2},{default:c(()=>[a(m,{lines:1,class:\"w-16 h-5\"})]),_:1})):s.store[s.storeProp].tax_per_item===\"YES\"?(l(),$(\"label\",ys,[a(k,{amount:I.amount,currency:o(f)},null,8,[\"amount\",\"currency\"])])):L(\"\",!0)]))),128)),s.store[s.storeProp].discount_per_item===\"NO\"||s.store[s.storeProp].discount_per_item===null?(l(),$(\"div\",fs,[s.isLoading?(l(),q(u,{key:0},{default:c(()=>[a(m,{lines:1,class:\"w-16 h-5\"})]),_:1})):(l(),$(\"label\",xs,h(d.$t(\"estimates.discount\")),1)),s.isLoading?(l(),q(u,{key:2},{default:c(()=>[a(m,{lines:1,class:\"w-24 h-8 rounded-md border\"})]),_:1})):(l(),$(\"div\",_s,[a(x,{modelValue:o(w),\"onUpdate:modelValue\":i[0]||(i[0]=I=>K(w)?w.value=I:null),class:\"border-r-0 focus:border-r-2 rounded-tr-sm rounded-br-sm h-[38px]\"},null,8,[\"modelValue\"]),a(v,{position:\"bottom-end\"},{activator:c(()=>[a(C,{class:\"rounded-tr-md rounded-br-md p-2 rounded-none\",type:\"button\",variant:\"white\"},{default:c(()=>[n(\"span\",gs,[E(h(s.store[s.storeProp].discount_type==\"fixed\"?o(f).symbol:\"%\")+\" \",1),a(M,{name:\"ChevronDownIcon\",class:\"w-4 h-4 text-gray-500 ml-1\"})])]),_:1})]),default:c(()=>[a(_,{onClick:D},{default:c(()=>[E(h(d.$t(\"general.fixed\")),1)]),_:1}),a(_,{onClick:p},{default:c(()=>[E(h(d.$t(\"general.percentage\")),1)]),_:1})]),_:1})]))])):L(\"\",!0),s.store[s.storeProp].tax_per_item===\"NO\"||s.store[s.storeProp].tax_per_item===null?(l(),$(\"div\",hs,[(l(!0),$(Q,null,se(o(b),(I,A)=>(l(),q(Xt,{key:I.id,index:A,tax:I,taxes:o(b),currency:s.currency,store:s.store,onRemove:T,onUpdate:V},null,8,[\"index\",\"tax\",\"taxes\",\"currency\",\"store\"]))),128))])):L(\"\",!0),s.store[s.storeProp].tax_per_item===\"NO\"||s.store[s.storeProp].tax_per_item===null?(l(),$(\"div\",{key:2,ref:(I,A)=>{A.taxModal=I,e.value=I},class:\"float-right pt-2 pb-4\"},[a(is,{\"store-prop\":s.storeProp,store:s.store,type:s.taxPopupType,\"onSelect:taxType\":j},null,8,[\"store-prop\",\"store\",\"type\"])],512)):L(\"\",!0),n(\"div\",bs,[s.isLoading?(l(),q(u,{key:0},{default:c(()=>[a(m,{lines:1,class:\"w-16 h-5\"})]),_:1})):(l(),$(\"label\",vs,h(d.$t(\"estimates.total\"))+\" \"+h(d.$t(\"estimates.amount\"))+\":\",1)),s.isLoading?(l(),q(u,{key:2},{default:c(()=>[a(m,{lines:1,class:\"w-16 h-5\"})]),_:1})):(l(),$(\"label\",$s,[a(k,{amount:s.store.getTotal,currency:o(f)},null,8,[\"amount\",\"currency\"])]))])])}}},ws={class:\"flex text-gray-800 font-medium text-sm mb-2\"},Bs=n(\"span\",{class:\"text-sm text-red-500\"},\" *\",-1),to={props:{store:{type:Object,default:null},storeProp:{type:String,default:\"\"},isMarkAsDefault:{type:Boolean,default:!1}},setup(s){const t=s,e=H(),{t:r}=J();function w(){let b=\"\";t.storeProp==\"newEstimate\"?b=r(\"estimates.mark_as_default_estimate_template_description\"):t.storeProp==\"newInvoice\"&&(b=r(\"invoices.mark_as_default_invoice_template_description\")),e.openModal({title:r(\"general.choose_template\"),componentName:\"SelectTemplate\",data:{templates:t.store.templates,store:t.store,storeProp:t.storeProp,isMarkAsDefault:t.isMarkAsDefault,markAsDefaultDescription:b}})}return(b,S)=>{const f=y(\"BaseIcon\"),D=y(\"BaseButton\");return l(),$(\"div\",null,[n(\"label\",ws,[E(h(b.$t(\"general.select_template\"))+\" \",1),Bs]),a(D,{type:\"button\",class:\"flex justify-center w-full text-sm lg:w-auto hover:bg-gray-200\",variant:\"gray\",onClick:w},{right:c(p=>[a(f,{name:\"PencilIcon\",class:X(p.class)},null,8,[\"class\"])]),default:c(()=>[E(\" \"+h(s.store[s.storeProp].template_name),1)]),_:1})])}}},Ss={class:\"mb-6\"},Is={class:\"z-20 text-sm font-semibold leading-5 text-primary-400 float-right\"},Ps={class:\"text-gray-800 font-medium mb-4 text-sm\"},so={props:{store:{type:Object,default:null},storeProp:{type:String,default:\"\"},fields:{type:Object,default:null},type:{type:String,default:null}},setup(s){const t=s;function e(r){t.store[t.storeProp].notes=\"\"+r.notes}return(r,w)=>{const b=y(\"BaseCustomInput\");return l(),$(\"div\",Ss,[n(\"div\",Is,[a(Ge,{type:s.type,onSelect:e},null,8,[\"type\"])]),n(\"label\",Ps,h(r.$t(\"invoices.notes\")),1),a(b,{modelValue:s.store[s.storeProp].notes,\"onUpdate:modelValue\":w[0]||(w[0]=S=>s.store[s.storeProp].notes=S),\"content-loading\":s.store.isFetchingInitialSettings,fields:s.fields,class:\"mt-1\"},null,8,[\"modelValue\",\"content-loading\",\"fields\"])])}}},ks={class:\"flex justify-between w-full\"},Ts={class:\"px-8 py-8 sm:p-6\"},Cs={key:0,class:\"grid grid-cols-3 gap-2 p-1 overflow-x-auto\"},Ms=[\"onClick\"],Ds=[\"src\",\"alt\"],Vs=[\"alt\",\"src\"],js={key:1,class:\"z-0 flex ml-3 pt-5\"},qs={class:\"z-0 flex justify-end p-4 border-t border-gray-200 border-solid\"},oo={setup(s){const t=H(),e=ae(),r=W(\"\"),w=B(()=>t.active&&t.componentName===\"SelectTemplate\"),b=B(()=>t.title);function S(){t.data.store[t.data.storeProp].template_name?r.value=t.data.store[t.data.storeProp].template_name:r.value=t.data.templates[0]}async function f(){await t.data.store.setTemplate(r.value),!t.data.store.isEdit&&t.data.isMarkAsDefault&&(t.data.storeProp==\"newEstimate\"?await e.updateUserSettings({settings:{default_estimate_template:r.value}}):t.data.storeProp==\"newInvoice\"&&await e.updateUserSettings({settings:{default_invoice_template:r.value}})),p()}function D(){return new URL(\"/build/img/tick.png\",self.location)}function p(){t.closeModal(),setTimeout(()=>{t.$reset()},300)}return(j,V)=>{const T=y(\"BaseIcon\"),d=y(\"BaseCheckbox\"),i=y(\"BaseButton\"),m=y(\"BaseModal\");return l(),q(m,{show:o(w),onClose:p,onOpen:S},{header:c(()=>[n(\"div\",ks,[E(h(o(b))+\" \",1),a(T,{name:\"XIcon\",class:\"h-6 w-6 text-gray-500 cursor-pointer\",onClick:p})])]),default:c(()=>[n(\"div\",Ts,[o(t).data?(l(),$(\"div\",Cs,[(l(!0),$(Q,null,se(o(t).data.templates,(u,k)=>(l(),$(\"div\",{key:k,class:X([{\"border border-solid border-primary-500\":r.value===u.name},\"relative flex flex-col m-2 border border-gray-200 border-solid cursor-pointer hover:border-primary-300\"]),onClick:x=>r.value=u.name},[n(\"img\",{src:u.path,alt:u.name,class:\"w-full min-h-[100px]\"},null,8,Ds),r.value===u.name?(l(),$(\"img\",{key:0,alt:u.name,class:\"absolute z-10 w-5 h-5 text-primary-500\",style:{top:\"-6px\",right:\"-5px\"},src:D()},null,8,Vs)):L(\"\",!0),n(\"span\",{class:X([\"w-full p-1 bg-gray-200 text-sm text-center absolute bottom-0 left-0\",{\"text-primary-500 bg-primary-100\":r.value===u.name,\"text-gray-600\":r.value!=u.name}])},h(u.name),3)],10,Ms))),128))])):L(\"\",!0),o(t).data.store.isEdit?L(\"\",!0):(l(),$(\"div\",js,[a(d,{modelValue:o(t).data.isMarkAsDefault,\"onUpdate:modelValue\":V[0]||(V[0]=u=>o(t).data.isMarkAsDefault=u),\"set-initial-value\":!1,variant:\"primary\",label:j.$t(\"general.mark_as_default\"),description:o(t).data.markAsDefaultDescription},null,8,[\"modelValue\",\"label\",\"description\"])]))]),n(\"div\",qs,[a(i,{class:\"mr-3\",variant:\"primary-outline\",onClick:p},{default:c(()=>[E(h(j.$t(\"general.cancel\")),1)]),_:1}),a(i,{variant:\"primary\",onClick:V[1]||(V[1]=u=>f())},{left:c(u=>[a(T,{name:\"SaveIcon\",class:X(u.class)},null,8,[\"class\"])]),default:c(()=>[E(\" \"+h(j.$t(\"general.choose\")),1)]),_:1})])]),_:1},8,[\"show\"])}}},As={class:\"flex justify-between w-full\"},Es={class:\"item-modal\"},Ls=[\"onSubmit\"],Us={class:\"px-8 py-8 sm:p-6\"},Os={class:\"z-0 flex justify-end p-4 border-t border-gray-200 border-solid\"},ao={emits:[\"newItem\"],setup(s,{emit:t}){const e=H(),r=fe(),w=te(),b=ee();Me(),De();const{t:S}=J(),f=W(!1),D=W(w.selectedCompanySettings.tax_per_item),p=B(()=>e.active&&e.componentName===\"ItemModal\"),j=B({get:()=>r.currentItem.price/100,set:x=>{r.currentItem.price=Math.round(x*100)}}),V=B({get:()=>r.currentItem.taxes.map(x=>{if(x)return G(N({},x),{tax_type_id:x.id,tax_name:x.name+\" (\"+x.percent+\"%)\"})}),set:x=>{r.$patch(M=>{M.currentItem.taxes=x})}}),T=B(()=>D.value===\"YES\"),d={name:{required:O.withMessage(S(\"validation.required\"),R),minLength:O.withMessage(S(\"validation.name_min_length\",{count:3}),Ye(3))},description:{maxLength:O.withMessage(S(\"validation.description_maxlength\",{count:255}),oe(255))}},i=ie(d,B(()=>r.currentItem)),m=B(()=>b.taxTypes.map(x=>G(N({},x),{tax_name:x.name+\" (\"+x.percent+\"%)\"})));he(()=>{i.value.$reset(),r.fetchItemUnits({limit:\"all\"})});async function u(){if(i.value.$touch(),i.value.$invalid)return!0;let x=G(N({},r.currentItem),{taxes:r.currentItem.taxes.map(C=>({tax_type_id:C.id,amount:j.value*C.percent/100,percent:C.percent,name:C.name,collective_tax:0}))});f.value=!0,await(r.isEdit?r.updateItem:r.addItem)(x).then(C=>{f.value=!1,C.data.data&&e.data&&e.refreshData(C.data.data),k()})}function k(){e.closeModal(),setTimeout(()=>{r.resetCurrentItem(),e.$reset(),i.value.$reset()},300)}return(x,M)=>{const C=y(\"BaseIcon\"),_=y(\"BaseInput\"),v=y(\"BaseInputGroup\"),I=y(\"BaseMoney\"),A=y(\"BaseMultiselect\"),g=y(\"BaseTextarea\"),P=y(\"BaseInputGrid\"),U=y(\"BaseButton\"),Y=y(\"BaseModal\");return l(),q(Y,{show:o(p),onClose:k},{header:c(()=>[n(\"div\",As,[E(h(o(e).title)+\" \",1),a(C,{name:\"XIcon\",class:\"h-6 w-6 text-gray-500 cursor-pointer\",onClick:k})])]),default:c(()=>[n(\"div\",Es,[n(\"form\",{action:\"\",onSubmit:be(u,[\"prevent\"])},[n(\"div\",Us,[a(P,{layout:\"one-column\"},{default:c(()=>[a(v,{label:x.$t(\"items.name\"),required:\"\",error:o(i).name.$error&&o(i).name.$errors[0].$message},{default:c(()=>[a(_,{modelValue:o(r).currentItem.name,\"onUpdate:modelValue\":M[0]||(M[0]=z=>o(r).currentItem.name=z),type:\"text\",invalid:o(i).name.$error,onInput:M[1]||(M[1]=z=>o(i).name.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"]),a(v,{label:x.$t(\"items.price\")},{default:c(()=>[a(I,{key:o(w).selectedCompanyCurrency,modelValue:o(j),\"onUpdate:modelValue\":M[2]||(M[2]=z=>K(j)?j.value=z:null),currency:o(w).selectedCompanyCurrency,class:\"relative w-full focus:border focus:border-solid focus:border-primary\"},null,8,[\"modelValue\",\"currency\"])]),_:1},8,[\"label\"]),a(v,{label:x.$t(\"items.unit\")},{default:c(()=>[a(A,{modelValue:o(r).currentItem.unit_id,\"onUpdate:modelValue\":M[3]||(M[3]=z=>o(r).currentItem.unit_id=z),label:\"name\",options:o(r).itemUnits,\"value-prop\":\"id\",\"can-deselect\":!1,\"can-clear\":!1,placeholder:x.$t(\"items.select_a_unit\"),searchable:\"\",\"track-by\":\"name\"},null,8,[\"modelValue\",\"options\",\"placeholder\"])]),_:1},8,[\"label\"]),o(T)?(l(),q(v,{key:0,label:x.$t(\"items.taxes\")},{default:c(()=>[a(A,{modelValue:o(V),\"onUpdate:modelValue\":M[4]||(M[4]=z=>K(V)?V.value=z:null),options:o(m),mode:\"tags\",label:\"tax_name\",\"value-prop\":\"id\",class:\"w-full\",\"can-deselect\":!1,\"can-clear\":!1,searchable:\"\",\"track-by\":\"tax_name\",object:\"\"},null,8,[\"modelValue\",\"options\"])]),_:1},8,[\"label\"])):L(\"\",!0),a(v,{label:x.$t(\"items.description\"),error:o(i).description.$error&&o(i).description.$errors[0].$message},{default:c(()=>[a(g,{modelValue:o(r).currentItem.description,\"onUpdate:modelValue\":M[5]||(M[5]=z=>o(r).currentItem.description=z),rows:\"4\",cols:\"50\",invalid:o(i).description.$error,onInput:M[6]||(M[6]=z=>o(i).description.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"])]),_:1})]),n(\"div\",Os,[a(U,{class:\"mr-3\",variant:\"primary-outline\",type:\"button\",onClick:k},{default:c(()=>[E(h(x.$t(\"general.cancel\")),1)]),_:1}),a(U,{loading:f.value,disabled:f.value,variant:\"primary\",type:\"submit\"},{left:c(z=>[a(C,{name:\"SaveIcon\",class:X(z.class)},null,8,[\"class\"])]),default:c(()=>[E(\" \"+h(o(r).isEdit?x.$t(\"general.update\"):x.$t(\"general.save\")),1)]),_:1},8,[\"loading\",\"disabled\"])])],40,Ls)])]),_:1},8,[\"show\"])}}},zs={class:\"flex justify-between w-full\"},Ns={class:\"flex flex-col\"},Fs={class:\"text-sm text-gray-500 mt-1\"},Ys=[\"onSubmit\"],Gs={class:\"p-4 sm:p-6\"},Ws={class:\"z-0 flex justify-end p-4 border-t border-gray-200 border-solid\"},Rs={emits:[\"addTax\"],setup(s,{emit:t}){const e=H();Ve();const r=xe({state:\"\",city:\"\",address_street_1:\"\",zip:\"\"}),w=W(!1),b=ee(),{t:S}=J(),f=B(()=>e.active&&e.componentName===\"TaxationAddressModal\"),D=B(()=>({state:{required:O.withMessage(S(\"validation.required\"),R)},city:{required:O.withMessage(S(\"validation.required\"),R)},address_street_1:{required:O.withMessage(S(\"validation.required\"),R)},zip:{required:O.withMessage(S(\"validation.required\"),R)}})),p=ie(D,B(()=>r));async function j(){if(p.value.$touch(),p.value.$invalid)return!0;let d={address:r};e.id&&(d.customer_id=e.id),r.address_street_1=r.address_street_1.replace(/(\\r\\n|\\n|\\r)/gm,\"\"),w.value=!0,await b.fetchSalesTax(d).then(i=>{w.value=!1,t(\"addTax\",i.data.data),T()}).catch(i=>{w.value=!1})}function V(){var d,i,m,u;r.state=(d=e==null?void 0:e.data)==null?void 0:d.state,r.city=(i=e==null?void 0:e.data)==null?void 0:i.city,r.address_street_1=(m=e==null?void 0:e.data)==null?void 0:m.address_street_1,r.zip=(u=e==null?void 0:e.data)==null?void 0:u.zip}function T(){e.closeModal()}return(d,i)=>{const m=y(\"BaseIcon\"),u=y(\"BaseInput\"),k=y(\"BaseInputGroup\"),x=y(\"BaseTextarea\"),M=y(\"BaseInputGrid\"),C=y(\"BaseButton\"),_=y(\"BaseModal\");return l(),q(_,{show:o(f),onClose:T,onOpen:V},{header:c(()=>[n(\"div\",zs,[n(\"div\",Ns,[E(h(o(e).title)+\" \",1),n(\"p\",Fs,h(o(e).content),1)]),a(m,{name:\"XIcon\",class:\"h-6 w-6 text-gray-500 cursor-pointer\",onClick:T})])]),default:c(()=>[n(\"form\",{onSubmit:be(j,[\"prevent\"])},[n(\"div\",Gs,[a(M,{layout:\"one-column\"},{default:c(()=>[a(k,{required:\"\",error:o(p).state.$error&&o(p).state.$errors[0].$message,label:d.$t(\"customers.state\")},{default:c(()=>[a(u,{modelValue:o(r).state,\"onUpdate:modelValue\":i[0]||(i[0]=v=>o(r).state=v),type:\"text\",name:\"shippingState\",class:\"mt-1 md:mt-0\",invalid:o(p).state.$error,onInput:i[1]||(i[1]=v=>o(p).state.$touch()),placeholder:d.$t(\"settings.taxations.state_placeholder\")},null,8,[\"modelValue\",\"invalid\",\"placeholder\"])]),_:1},8,[\"error\",\"label\"]),a(k,{required:\"\",error:o(p).city.$error&&o(p).city.$errors[0].$message,label:d.$t(\"customers.city\")},{default:c(()=>[a(u,{modelValue:o(r).city,\"onUpdate:modelValue\":i[2]||(i[2]=v=>o(r).city=v),type:\"text\",name:\"shippingCity\",class:\"mt-1 md:mt-0\",invalid:o(p).city.$error,onInput:i[3]||(i[3]=v=>o(p).city.$touch()),placeholder:d.$t(\"settings.taxations.city_placeholder\")},null,8,[\"modelValue\",\"invalid\",\"placeholder\"])]),_:1},8,[\"error\",\"label\"]),a(k,{required:\"\",error:o(p).address_street_1.$error&&o(p).address_street_1.$errors[0].$message,label:d.$t(\"customers.address\")},{default:c(()=>[a(x,{modelValue:o(r).address_street_1,\"onUpdate:modelValue\":i[4]||(i[4]=v=>o(r).address_street_1=v),rows:\"2\",cols:\"50\",class:\"mt-1 md:mt-0\",invalid:o(p).address_street_1.$error,onInput:i[5]||(i[5]=v=>o(p).address_street_1.$touch()),placeholder:d.$t(\"settings.taxations.address_placeholder\")},null,8,[\"modelValue\",\"invalid\",\"placeholder\"])]),_:1},8,[\"error\",\"label\"]),a(k,{required:\"\",error:o(p).zip.$error&&o(p).zip.$errors[0].$message,label:d.$t(\"customers.zip_code\")},{default:c(()=>[a(u,{modelValue:o(r).zip,\"onUpdate:modelValue\":i[6]||(i[6]=v=>o(r).zip=v),invalid:o(p).zip.$error,onInput:i[7]||(i[7]=v=>o(p).zip.$touch()),type:\"text\",class:\"mt-1 md:mt-0\",placeholder:d.$t(\"settings.taxations.zip_placeholder\")},null,8,[\"modelValue\",\"invalid\",\"placeholder\"])]),_:1},8,[\"error\",\"label\"])]),_:1})]),n(\"div\",Ws,[a(C,{class:\"mr-3 text-sm\",type:\"button\",variant:\"primary-outline\",onClick:T},{default:c(()=>[E(h(d.$t(\"general.cancel\")),1)]),_:1}),a(C,{loading:w.value,variant:\"primary\",type:\"submit\"},{left:c(v=>[w.value?L(\"\",!0):(l(),q(m,{key:0,name:\"SaveIcon\",class:X(v.class)},null,8,[\"class\"]))]),default:c(()=>[E(\" \"+h(d.$t(\"general.save\")),1)]),_:1},8,[\"loading\"])])],40,Ys)]),_:1},8,[\"show\"])}}},no={props:{isEdit:{type:Boolean,default:null},type:{type:String,default:null},customer:{type:[Object],default:null},store:{type:Object,default:null},storeProp:{type:String,default:null}},setup(s){const t=s,e=\"Sales Tax\",r=\"MODULE\",w=H(),b=te(),S=ee(),{t:f}=J(),D=W(!1),p=B(()=>t.isEdit?t.store[t.storeProp].sales_tax_address_type===\"billing\":b.selectedCompanySettings.sales_tax_address_type===\"billing\"),j=B(()=>b.selectedCompanySettings.sales_tax_us_enabled===\"YES\"),V=B(()=>t.isEdit?t.store[t.storeProp].sales_tax_type===\"customer_level\":b.selectedCompanySettings.sales_tax_type===\"customer_level\"),T=B(()=>t.isEdit?t.store[t.storeProp].sales_tax_type===\"company_level\":b.selectedCompanySettings.sales_tax_type===\"company_level\"),d=B(()=>{if(V.value&&i.value){let _=p.value?t.customer.billing:t.customer.shipping;return{address:Z.exports.pick(_,[\"address_street_1\",\"city\",\"state\",\"zip\"]),customer_id:t.customer.id}}else if(T.value&&i.value)return{address:Z.exports.pick(address,[\"address_street_1\",\"city\",\"state\",\"zip\"])}}),i=B(()=>{var _,v;if(V.value){let I=p.value?(_=t.customer)==null?void 0:_.billing:(v=t.customer)==null?void 0:v.shipping;return m(I)}else if(T.value)return m(b.selectedCompany.address);return!1});le(()=>t.customer,(_,v)=>{if(_&&v&&V.value){u(_,v);return}!i.value&&V.value&&_?setTimeout(()=>{k()},500):V.value&&_?x():V.value&&!_&&C()}),he(()=>{T.value&&(i.value?x():k())});function m(_){return _?_.address_street_1&&_.city&&_.state&&_.zip:!1}function u(_,v){const I=p.value?_.billing:_.shipping,A=p.value?v.billing:v.shipping,g=Z.exports.pick(I,[\"address_street_1\",\"city\",\"state\",\"zip\"]),P=Z.exports.pick(A,[\"address_street_1\",\"city\",\"state\",\"zip\"]);Z.exports.isEqual(g,P)||x()}function k(){var I,A;if(!j.value)return;let _=null,v=\"\";V.value?p.value?(_=(I=t.customer)==null?void 0:I.billing,v=f(\"settings.taxations.add_billing_address\")):(_=(A=t.customer)==null?void 0:A.shipping,v=f(\"settings.taxations.add_shipping_address\")):(_=b.selectedCompany.address,v=f(\"settings.taxations.add_company_address\")),w.openModal({title:v,content:f(\"settings.taxations.modal_description\"),componentName:\"TaxationAddressModal\",data:_,id:V.value?t.customer.id:\"\"})}async function x(){!j.value||(D.value=!0,await S.fetchSalesTax(d.value).then(_=>{M(_.data.data),D.value=!1}).catch(_=>{_.response.data.error&&setTimeout(()=>{k()},500),D.value=!1}))}function M(_){_.tax_type_id=_.id;const v=t.store[t.storeProp].taxes.findIndex(I=>I.name===e&&I.type===r);v>-1?Object.assign(t.store[t.storeProp].taxes[v],_):t.store[t.storeProp].taxes.push(_)}function C(){const _=t.store[t.storeProp].taxes.findIndex(I=>I.name===e&&I.type===r);_>-1&&t.store[t.storeProp].taxes.splice(_,1);let v=S.taxTypes.findIndex(I=>I.name===e&&I.type===r);v>-1&&S.taxTypes.splice(v,1)}return(_,v)=>(l(),q(Rs,{onAddTax:M}))}};export{oo as _,ao as a,no as b,Qs as c,so as d,to as e,eo as f};\n"
  },
  {
    "path": "public/build/assets/SelectNotePopup.2e678c03.js",
    "content": "var P=Object.defineProperty;var b=Object.getOwnPropertySymbols;var A=Object.prototype.hasOwnProperty,T=Object.prototype.propertyIsEnumerable;var g=(s,t,e)=>t in s?P(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,x=(s,t)=>{for(var e in t||(t={}))A.call(t,e)&&g(s,e,t[e]);if(b)for(var e of b(t))T.call(t,e)&&g(s,e,t[e]);return s};import{B as k,J as F,k as L,r as w,o as l,e as i,f as r,h as n,w as p,u as o,l as O,i as D,t as m,m as U,W,j as N,Y as G,X as J,F as B,y as X,Z as Y}from\"./vendor.d12b5734.js\";import{u as Z,_ as q}from\"./NoteModal.ebe10cf0.js\";import{c as H,e as K,g as C}from\"./main.465728e1.js\";const Q={class:\"w-full\"},R={class:\"overflow-hidden rounded-md shadow-lg ring-1 ring-black ring-opacity-5\"},ee={class:\"relative grid bg-white\"},te={class:\"relative p-4\"},se={key:0,class:\"relative flex flex-col overflow-auto list max-h-36\"},oe=[\"onClick\"],ae={class:\"flex justify-between px-2\"},ne={class:\"m-0 text-base font-semibold leading-tight text-gray-700 cursor-pointer\"},le={key:1,class:\"flex justify-center p-5 text-gray-400\"},re={class:\"text-base text-gray-500\"},ie={class:\"m-0 ml-3 text-sm leading-none cursor-pointer font-base text-primary-400\"},fe={props:{type:{type:String,default:null}},emits:[\"select\"],setup(s,{emit:t}){const e=s;k(null);const{t:I}=F(),c=k(null),S=H(),d=Z(),y=K(),_=L(()=>c.value?d.notes.filter(function(a){return a.name.toLowerCase().indexOf(c.value.toLowerCase())!==-1}):d.notes);async function V(){await d.fetchNotes({filter:{},orderByField:\"\",orderBy:\"\",type:e.type?e.type:\"\"})}function j(a,u){t(\"select\",x({},d.notes[a])),c.value=null,u()}function z(){S.openModal({title:I(\"settings.customization.notes.add_note\"),componentName:\"NoteModal\",size:\"lg\",data:e.type})}return(a,u)=>{const h=w(\"BaseIcon\"),M=w(\"BaseInput\");return l(),i(B,null,[r(q),n(\"div\",Q,[r(o(Y),null,{default:p(({isOpen:$})=>[o(y).hasAbilities(o(C).VIEW_NOTE)?(l(),O(o(W),{key:0,class:U([$?\"\":\"text-opacity-90\",\"flex items-center z-10 font-medium text-primary-400 focus:outline-none focus:border-none\"]),onClick:V},{default:p(()=>[r(h,{name:\"PlusIcon\",class:\"w-4 h-4 font-medium text-primary-400\"}),D(\" \"+m(a.$t(\"general.insert_note\")),1)]),_:2},1032,[\"class\"])):N(\"\",!0),r(G,{\"enter-active-class\":\"transition duration-200 ease-out\",\"enter-from-class\":\"translate-y-1 opacity-0\",\"enter-to-class\":\"translate-y-0 opacity-100\",\"leave-active-class\":\"transition duration-150 ease-in\",\"leave-from-class\":\"translate-y-0 opacity-100\",\"leave-to-class\":\"translate-y-1 opacity-0\"},{default:p(()=>[r(o(J),{class:\"absolute z-20 px-4 mt-3 sm:px-0 w-screen max-w-full left-0 top-3\"},{default:p(({close:E})=>[n(\"div\",R,[n(\"div\",ee,[n(\"div\",te,[r(M,{modelValue:c.value,\"onUpdate:modelValue\":u[0]||(u[0]=f=>c.value=f),placeholder:a.$t(\"general.search\"),type:\"text\",class:\"text-black\"},null,8,[\"modelValue\",\"placeholder\"])]),o(_).length>0?(l(),i(\"div\",se,[(l(!0),i(B,null,X(o(_),(f,v)=>(l(),i(\"div\",{key:v,tabindex:\"2\",class:\"px-6 py-4 border-b border-gray-200 border-solid cursor-pointer hover:bg-gray-100 hover:cursor-pointer last:border-b-0\",onClick:ce=>j(v,E)},[n(\"div\",ae,[n(\"label\",ne,m(f.name),1)])],8,oe))),128))])):(l(),i(\"div\",le,[n(\"label\",re,m(a.$t(\"general.no_note_found\")),1)]))]),o(y).hasAbilities(o(C).MANAGE_NOTE)?(l(),i(\"button\",{key:0,type:\"button\",class:\"h-10 flex items-center justify-center w-full px-2 py-3 bg-gray-200 border-none outline-none\",onClick:z},[r(h,{name:\"CheckCircleIcon\",class:\"text-primary-400\"}),n(\"label\",ie,m(a.$t(\"settings.customization.notes.add_new_note\")),1)])):N(\"\",!0)])]),_:1})]),_:1})]),_:1})])],64)}}};export{fe as _};\n"
  },
  {
    "path": "public/build/assets/SendEstimateModal.01516700.js",
    "content": "import{J as O,B as h,a0 as J,k as C,L as p,M as B,Q as E,T as Q,r as d,o as g,l as M,w as l,h as v,i as f,t as $,u as e,f as a,e as N,j as x}from\"./vendor.d12b5734.js\";import{c as X,k as H,u as K,b as W}from\"./main.465728e1.js\";import{u as Y}from\"./mail-driver.0a974f6a.js\";const Z={class:\"flex justify-between w-full\"},ee={key:0,action:\"\"},te={class:\"px-8 py-8 sm:p-6\"},ae={class:\"z-0 flex justify-end p-4 border-t border-gray-200 border-solid\"},oe={key:1},re={class:\"my-6 mx-4 border border-gray-200 relative\"},se=f(\" Edit \"),le=[\"src\"],ne={class:\"z-0 flex justify-end p-4 border-t border-gray-200 border-solid\"},ce={emits:[\"update\"],setup(ie,{emit:U}){const m=X(),V=H(),P=K(),k=W();Y();const{t:u}=O(),n=h(!1),I=h(\"\"),b=h(!1),D=h([\"customer\",\"customerCustom\",\"estimate\",\"estimateCustom\",\"company\"]);let o=J({id:null,from:null,to:null,subject:\"New Estimate\",body:null});const G=C(()=>m.active&&m.componentName===\"SendEstimateModal\"),q=C(()=>m.data),L={from:{required:p.withMessage(u(\"validation.required\"),B),email:p.withMessage(u(\"validation.email_incorrect\"),E)},to:{required:p.withMessage(u(\"validation.required\"),B),email:p.withMessage(u(\"validation.email_incorrect\"),E)},subject:{required:p.withMessage(u(\"validation.required\"),B)},body:{required:p.withMessage(u(\"validation.required\"),B)}},r=Q(L,C(()=>o));function F(){b.value=!1}async function R(){let s=await k.fetchBasicMailConfig();o.id=m.id,s.data&&(o.from=s.data.from_mail),q.value&&(o.to=q.value.customer.email),o.body=k.selectedCompanySettings.estimate_mail_body}async function S(){if(r.value.$touch(),r.value.$invalid)return!0;try{if(n.value=!0,!b.value){const c=await V.previewEstimate(o);n.value=!1,b.value=!0;var s=new Blob([c.data],{type:\"text/html\"});I.value=URL.createObjectURL(s);return}const t=await V.sendEstimate(o);if(n.value=!1,t.data.success)return U(\"update\"),y(),!0}catch(t){console.error(t),n.value=!1,P.showNotification({type:\"error\",message:u(\"estimates.something_went_wrong\")})}}function y(){m.closeModal(),setTimeout(()=>{r.value.$reset(),b.value=!1,I.value=null},300)}return(s,t)=>{const c=d(\"BaseIcon\"),j=d(\"BaseInput\"),w=d(\"BaseInputGroup\"),T=d(\"BaseCustomInput\"),z=d(\"BaseInputGrid\"),_=d(\"BaseButton\"),A=d(\"BaseModal\");return g(),M(A,{show:e(G),onClose:y,onOpen:R},{header:l(()=>[v(\"div\",Z,[f($(e(m).title)+\" \",1),a(c,{name:\"XIcon\",class:\"h-6 w-6 text-gray-500 cursor-pointer\",onClick:y})])]),default:l(()=>[b.value?(g(),N(\"div\",oe,[v(\"div\",re,[a(_,{class:\"absolute top-4 right-4\",disabled:n.value,variant:\"primary-outline\",onClick:F},{default:l(()=>[a(c,{name:\"PencilIcon\",class:\"h-5 mr-2\"}),se]),_:1},8,[\"disabled\"]),v(\"iframe\",{src:I.value,frameborder:\"0\",class:\"w-full\",style:{\"min-height\":\"500px\"}},null,8,le)]),v(\"div\",ne,[a(_,{class:\"mr-3\",variant:\"primary-outline\",type:\"button\",onClick:y},{default:l(()=>[f($(s.$t(\"general.cancel\")),1)]),_:1}),a(_,{loading:n.value,disabled:n.value,variant:\"primary\",type:\"button\",onClick:S},{default:l(()=>[n.value?x(\"\",!0):(g(),M(c,{key:0,name:\"PaperAirplaneIcon\",class:\"mr-2\"})),f(\" \"+$(s.$t(\"general.send\")),1)]),_:1},8,[\"loading\",\"disabled\"])])])):(g(),N(\"form\",ee,[v(\"div\",te,[a(z,{layout:\"one-column\"},{default:l(()=>[a(w,{label:s.$t(\"general.from\"),required:\"\",error:e(r).from.$error&&e(r).from.$errors[0].$message},{default:l(()=>[a(j,{modelValue:e(o).from,\"onUpdate:modelValue\":t[0]||(t[0]=i=>e(o).from=i),type:\"text\",invalid:e(r).from.$error,onInput:t[1]||(t[1]=i=>e(r).from.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"]),a(w,{label:s.$t(\"general.to\"),required:\"\",error:e(r).to.$error&&e(r).to.$errors[0].$message},{default:l(()=>[a(j,{modelValue:e(o).to,\"onUpdate:modelValue\":t[2]||(t[2]=i=>e(o).to=i),type:\"text\",invalid:e(r).to.$error,onInput:t[3]||(t[3]=i=>e(r).to.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"]),a(w,{label:s.$t(\"general.subject\"),required:\"\",error:e(r).subject.$error&&e(r).subject.$errors[0].$message},{default:l(()=>[a(j,{modelValue:e(o).subject,\"onUpdate:modelValue\":t[4]||(t[4]=i=>e(o).subject=i),type:\"text\",invalid:e(r).subject.$error,onInput:t[5]||(t[5]=i=>e(r).subject.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"]),a(w,{label:s.$t(\"general.body\"),required:\"\"},{default:l(()=>[a(T,{modelValue:e(o).body,\"onUpdate:modelValue\":t[6]||(t[6]=i=>e(o).body=i),fields:D.value},null,8,[\"modelValue\",\"fields\"])]),_:1},8,[\"label\"])]),_:1})]),v(\"div\",ae,[a(_,{class:\"mr-3\",variant:\"primary-outline\",type:\"button\",onClick:y},{default:l(()=>[f($(s.$t(\"general.cancel\")),1)]),_:1}),a(_,{loading:n.value,disabled:n.value,variant:\"primary\",type:\"button\",class:\"mr-3\",onClick:S},{default:l(()=>[n.value?x(\"\",!0):(g(),M(c,{key:0,name:\"PhotographIcon\",class:\"h-5 mr-2\"})),f(\" \"+$(s.$t(\"general.preview\")),1)]),_:1},8,[\"loading\",\"disabled\"])])]))]),_:1},8,[\"show\"])}}};export{ce as _};\n"
  },
  {
    "path": "public/build/assets/SendInvoiceModal.f818e383.js",
    "content": "import{c as J,b as Q,u as X,i as H}from\"./main.465728e1.js\";import{J as K,B as I,a0 as W,k as B,L as p,M as h,Q as N,T as Y,r as c,o as _,l as M,w as n,h as v,i as f,t as $,u as e,f as a,e as x,m as Z,j as U}from\"./vendor.d12b5734.js\";import{u as ee}from\"./mail-driver.0a974f6a.js\";const oe={class:\"flex justify-between w-full\"},te={key:0,action:\"\"},ae={class:\"px-8 py-8 sm:p-6\"},re={class:\"z-0 flex justify-end p-4 border-t border-gray-200 border-solid\"},se={key:1},le={class:\"my-6 mx-4 border border-gray-200 relative\"},ne=f(\" Edit \"),ie=[\"src\"],ue={class:\"z-0 flex justify-end p-4 border-t border-gray-200 border-solid\"},ve={emits:[\"update\"],setup(de,{emit:P}){const u=J(),V=Q(),D=X(),k=H();ee();const{t:d}=K();let i=I(!1);const C=I(\"\"),b=I(!1),G=I([\"customer\",\"customerCustom\",\"invoice\",\"invoiceCustom\",\"company\"]),r=W({id:null,from:null,to:null,subject:\"New Invoice\",body:null}),L=B(()=>u.active&&u.componentName===\"SendInvoiceModal\"),T=B(()=>u.title),q=B(()=>u.data),z={from:{required:p.withMessage(d(\"validation.required\"),h),email:p.withMessage(d(\"validation.email_incorrect\"),N)},to:{required:p.withMessage(d(\"validation.required\"),h),email:p.withMessage(d(\"validation.email_incorrect\"),N)},subject:{required:p.withMessage(d(\"validation.required\"),h)},body:{required:p.withMessage(d(\"validation.required\"),h)}},t=Y(z,B(()=>r));function F(){b.value=!1}async function R(){let s=await V.fetchBasicMailConfig();r.id=u.id,s.data&&(r.from=s.data.from_mail),q.value&&(r.to=q.value.customer.email),r.body=V.selectedCompanySettings.invoice_mail_body}async function S(){if(t.value.$touch(),t.value.$invalid)return!0;try{if(i.value=!0,!b.value){const m=await k.previewInvoice(r);i.value=!1,b.value=!0;var s=new Blob([m.data],{type:\"text/html\"});C.value=URL.createObjectURL(s);return}const o=await k.sendInvoice(r);if(i.value=!1,o.data.success)return P(\"update\",u.id),y(),!0}catch(o){console.error(o),i.value=!1,D.showNotification({type:\"error\",message:d(\"invoices.something_went_wrong\")})}}function y(){u.closeModal(),setTimeout(()=>{t.value.$reset(),b.value=!1,C.value=null},300)}return(s,o)=>{const m=c(\"BaseIcon\"),j=c(\"BaseInput\"),w=c(\"BaseInputGroup\"),A=c(\"BaseCustomInput\"),E=c(\"BaseInputGrid\"),g=c(\"BaseButton\"),O=c(\"BaseModal\");return _(),M(O,{show:e(L),onClose:y,onOpen:R},{header:n(()=>[v(\"div\",oe,[f($(e(T))+\" \",1),a(m,{name:\"XIcon\",class:\"w-6 h-6 text-gray-500 cursor-pointer\",onClick:y})])]),default:n(()=>[b.value?(_(),x(\"div\",se,[v(\"div\",le,[a(g,{class:\"absolute top-4 right-4\",disabled:e(i),variant:\"primary-outline\",onClick:F},{default:n(()=>[a(m,{name:\"PencilIcon\",class:\"h-5 mr-2\"}),ne]),_:1},8,[\"disabled\"]),v(\"iframe\",{src:C.value,frameborder:\"0\",class:\"w-full\",style:{\"min-height\":\"500px\"}},null,8,ie)]),v(\"div\",ue,[a(g,{class:\"mr-3\",variant:\"primary-outline\",type:\"button\",onClick:y},{default:n(()=>[f($(s.$t(\"general.cancel\")),1)]),_:1}),a(g,{loading:e(i),disabled:e(i),variant:\"primary\",type:\"button\",onClick:o[7]||(o[7]=l=>S())},{default:n(()=>[e(i)?U(\"\",!0):(_(),M(m,{key:0,name:\"PaperAirplaneIcon\",class:\"h-5 mr-2\"})),f(\" \"+$(s.$t(\"general.send\")),1)]),_:1},8,[\"loading\",\"disabled\"])])])):(_(),x(\"form\",te,[v(\"div\",ae,[a(E,{layout:\"one-column\",class:\"col-span-7\"},{default:n(()=>[a(w,{label:s.$t(\"general.from\"),required:\"\",error:e(t).from.$error&&e(t).from.$errors[0].$message},{default:n(()=>[a(j,{modelValue:e(r).from,\"onUpdate:modelValue\":o[0]||(o[0]=l=>e(r).from=l),type:\"text\",invalid:e(t).from.$error,onInput:o[1]||(o[1]=l=>e(t).from.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"]),a(w,{label:s.$t(\"general.to\"),required:\"\",error:e(t).to.$error&&e(t).to.$errors[0].$message},{default:n(()=>[a(j,{modelValue:e(r).to,\"onUpdate:modelValue\":o[2]||(o[2]=l=>e(r).to=l),type:\"text\",invalid:e(t).to.$error,onInput:o[3]||(o[3]=l=>e(t).to.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"]),a(w,{error:e(t).subject.$error&&e(t).subject.$errors[0].$message,label:s.$t(\"general.subject\"),required:\"\"},{default:n(()=>[a(j,{modelValue:e(r).subject,\"onUpdate:modelValue\":o[4]||(o[4]=l=>e(r).subject=l),type:\"text\",invalid:e(t).subject.$error,onInput:o[5]||(o[5]=l=>e(t).subject.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"error\",\"label\"]),a(w,{label:s.$t(\"general.body\"),error:e(t).body.$error&&e(t).body.$errors[0].$message,required:\"\"},{default:n(()=>[a(A,{modelValue:e(r).body,\"onUpdate:modelValue\":o[6]||(o[6]=l=>e(r).body=l),fields:G.value},null,8,[\"modelValue\",\"fields\"])]),_:1},8,[\"label\",\"error\"])]),_:1})]),v(\"div\",re,[a(g,{class:\"mr-3\",variant:\"primary-outline\",type:\"button\",onClick:y},{default:n(()=>[f($(s.$t(\"general.cancel\")),1)]),_:1}),a(g,{loading:e(i),disabled:e(i),variant:\"primary\",type:\"button\",class:\"mr-3\",onClick:S},{left:n(l=>[e(i)?U(\"\",!0):(_(),M(m,{key:0,class:Z(l.class),name:\"PhotographIcon\"},null,8,[\"class\"]))]),default:n(()=>[f(\" \"+$(s.$t(\"general.preview\")),1)]),_:1},8,[\"loading\",\"disabled\"])])]))]),_:1},8,[\"show\"])}}};export{ve as _};\n"
  },
  {
    "path": "public/build/assets/SendPaymentModal.26ce23d7.js",
    "content": "import{j as G,u as R,e as K,c as Y,g as j,b as Z}from\"./main.465728e1.js\";import{J as O,G as ee,aN as te,ah as ae,r as d,o as m,l as p,w as o,u as e,f as a,i as y,t as v,j as B,B as E,a0 as oe,k as z,L as k,M as x,Q as F,T as ne,h as M,e as H,m as re}from\"./vendor.d12b5734.js\";import{u as W}from\"./payment.93619753.js\";import{u as se}from\"./mail-driver.0a974f6a.js\";const _e={props:{row:{type:Object,default:null},table:{type:Object,default:null},contentLoading:{type:Boolean,default:!1}},setup(w){const I=w,C=G(),_=R(),{t:$}=O(),g=W(),s=ee(),P=te(),c=K(),T=Y(),r=ae(\"utils\");function q(i){C.openDialog({title:$(\"general.are_you_sure\"),message:$(\"payments.confirm_delete\",1),yesLabel:$(\"general.ok\"),noLabel:$(\"general.cancel\"),variant:\"danger\",size:\"lg\",hideNoButton:!1}).then(async t=>{if(t)return await g.deletePayment({ids:[i]}),P.push(\"/admin/payments\"),I.table&&I.table.refresh(),!0})}function A(){var t;let i=`${window.location.origin}/payments/pdf/${(t=I.row)==null?void 0:t.unique_hash}`;r.copyTextToClipboard(i),_.showNotification({type:\"success\",message:$(\"general.copied_pdf_url_clipboard\")})}async function D(i){T.openModal({title:$(\"payments.send_payment\"),componentName:\"SendPaymentModal\",id:i.id,data:i,variant:\"lg\"})}return(i,t)=>{const b=d(\"BaseIcon\"),L=d(\"BaseButton\"),N=d(\"BaseDropdown-item\"),f=d(\"BaseDropdownItem\"),l=d(\"router-link\"),n=d(\"BaseDropdown\");return m(),p(n,{\"content-loading\":w.contentLoading},{activator:o(()=>[e(s).name===\"payments.view\"?(m(),p(L,{key:0,variant:\"primary\"},{default:o(()=>[a(b,{name:\"DotsHorizontalIcon\",class:\"h-5 text-white\"})]),_:1})):(m(),p(b,{key:1,name:\"DotsHorizontalIcon\",class:\"h-5 text-gray-500\"}))]),default:o(()=>[e(s).name===\"payments.view\"&&e(c).hasAbilities(e(j).VIEW_PAYMENT)?(m(),p(N,{key:0,class:\"rounded-md\",onClick:A},{default:o(()=>[a(b,{name:\"LinkIcon\",class:\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"}),y(\" \"+v(i.$t(\"general.copy_pdf_url\")),1)]),_:1})):B(\"\",!0),e(c).hasAbilities(e(j).EDIT_PAYMENT)?(m(),p(l,{key:1,to:`/admin/payments/${w.row.id}/edit`},{default:o(()=>[a(f,null,{default:o(()=>[a(b,{name:\"PencilIcon\",class:\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"}),y(\" \"+v(i.$t(\"general.edit\")),1)]),_:1})]),_:1},8,[\"to\"])):B(\"\",!0),e(s).name!==\"payments.view\"&&e(c).hasAbilities(e(j).VIEW_PAYMENT)?(m(),p(l,{key:2,to:`/admin/payments/${w.row.id}/view`},{default:o(()=>[a(f,null,{default:o(()=>[a(b,{name:\"EyeIcon\",class:\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"}),y(\" \"+v(i.$t(\"general.view\")),1)]),_:1})]),_:1},8,[\"to\"])):B(\"\",!0),w.row.status!==\"SENT\"&&e(s).name!==\"payments.view\"&&e(c).hasAbilities(e(j).SEND_PAYMENT)?(m(),p(f,{key:3,onClick:t[0]||(t[0]=h=>D(w.row))},{default:o(()=>[a(b,{name:\"PaperAirplaneIcon\",class:\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"}),y(\" \"+v(i.$t(\"payments.send_payment\")),1)]),_:1})):B(\"\",!0),e(c).hasAbilities(e(j).DELETE_PAYMENT)?(m(),p(f,{key:4,onClick:t[1]||(t[1]=h=>q(w.row.id))},{default:o(()=>[a(b,{name:\"TrashIcon\",class:\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"}),y(\" \"+v(i.$t(\"general.delete\")),1)]),_:1})):B(\"\",!0)]),_:1},8,[\"content-loading\"])}}},le={class:\"flex justify-between w-full\"},ie={key:0,action:\"\"},ue={class:\"px-8 py-8 sm:p-6\"},de={class:\"z-0 flex justify-end p-4 border-t border-gray-200 border-solid\"},me={key:1},ce={class:\"my-6 mx-4 border border-gray-200 relative\"},pe=y(\" Edit \"),ye=[\"src\"],fe={class:\"z-0 flex justify-end p-4 border-t border-gray-200 border-solid\"},$e={setup(w){const I=W(),C=Z(),_=Y(),$=R();se(),G();const{t:g}=O();let s=E(!1);const P=E(\"\"),c=E(!1),T=E([\"customer\",\"customerCustom\",\"payments\",\"paymentsCustom\",\"company\"]),r=oe({id:null,from:null,to:null,subject:\"New Payment\",body:null}),q=z(()=>_.active&&_.componentName===\"SendPaymentModal\"),A=z(()=>_.title),D=z(()=>_.data),i={from:{required:k.withMessage(g(\"validation.required\"),x),email:k.withMessage(g(\"validation.email_incorrect\"),F)},to:{required:k.withMessage(g(\"validation.required\"),x),email:k.withMessage(g(\"validation.email_incorrect\"),F)},subject:{required:k.withMessage(g(\"validation.required\"),x)},body:{required:k.withMessage(g(\"validation.required\"),x)}},t=ne(i,r);function b(){c.value=!1}async function L(){let l=await C.fetchBasicMailConfig();r.id=_.id,l.data&&(r.from=l.data.from_mail),D.value&&(r.to=D.value.customer.email),r.body=C.selectedCompanySettings.payment_mail_body}async function N(){if(t.value.$touch(),t.value.$invalid)return!0;try{if(s.value=!0,!c.value){const h=await I.previewPayment(r);s.value=!1,c.value=!0;var l=new Blob([h.data],{type:\"text/html\"});P.value=URL.createObjectURL(l);return}const n=await I.sendEmail(r);if(s.value=!1,n.data.success)return f(),!0}catch{s.value=!1,$.showNotification({type:\"error\",message:g(\"payments.something_went_wrong\")})}}function f(){setTimeout(()=>{t.value.$reset(),c.value=!1,P.value=null,_.resetModalData()},300)}return(l,n)=>{const h=d(\"BaseIcon\"),U=d(\"BaseInput\"),V=d(\"BaseInputGroup\"),J=d(\"BaseCustomInput\"),Q=d(\"BaseInputGrid\"),S=d(\"BaseButton\"),X=d(\"BaseModal\");return m(),p(X,{show:e(q),onClose:f,onOpen:L},{header:o(()=>[M(\"div\",le,[y(v(e(A))+\" \",1),a(h,{name:\"XIcon\",class:\"w-6 h-6 text-gray-500 cursor-pointer\",onClick:f})])]),default:o(()=>[c.value?(m(),H(\"div\",me,[M(\"div\",ce,[a(S,{class:\"absolute top-4 right-4\",disabled:e(s),variant:\"primary-outline\",onClick:b},{default:o(()=>[a(h,{name:\"PencilIcon\",class:\"h-5 mr-2\"}),pe]),_:1},8,[\"disabled\"]),M(\"iframe\",{src:P.value,frameborder:\"0\",class:\"w-full\",style:{\"min-height\":\"500px\"}},null,8,ye)]),M(\"div\",fe,[a(S,{class:\"mr-3\",variant:\"primary-outline\",type:\"button\",onClick:f},{default:o(()=>[y(v(l.$t(\"general.cancel\")),1)]),_:1}),a(S,{loading:e(s),disabled:e(s),variant:\"primary\",type:\"button\",onClick:n[7]||(n[7]=u=>N())},{default:o(()=>[e(s)?B(\"\",!0):(m(),p(h,{key:0,name:\"PaperAirplaneIcon\",class:\"h-5 mr-2\"})),y(\" \"+v(l.$t(\"general.send\")),1)]),_:1},8,[\"loading\",\"disabled\"])])])):(m(),H(\"form\",ie,[M(\"div\",ue,[a(Q,{layout:\"one-column\",class:\"col-span-7\"},{default:o(()=>[a(V,{label:l.$t(\"general.from\"),required:\"\",error:e(t).from.$error&&e(t).from.$errors[0].$message},{default:o(()=>[a(U,{modelValue:e(r).from,\"onUpdate:modelValue\":n[0]||(n[0]=u=>e(r).from=u),type:\"text\",invalid:e(t).from.$error,onInput:n[1]||(n[1]=u=>e(t).from.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"]),a(V,{label:l.$t(\"general.to\"),required:\"\",error:e(t).to.$error&&e(t).to.$errors[0].$message},{default:o(()=>[a(U,{modelValue:e(r).to,\"onUpdate:modelValue\":n[2]||(n[2]=u=>e(r).to=u),type:\"text\",invalid:e(t).to.$error,onInput:n[3]||(n[3]=u=>e(t).to.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"]),a(V,{error:e(t).subject.$error&&e(t).subject.$errors[0].$message,label:l.$t(\"general.subject\"),required:\"\"},{default:o(()=>[a(U,{modelValue:e(r).subject,\"onUpdate:modelValue\":n[4]||(n[4]=u=>e(r).subject=u),type:\"text\",invalid:e(t).subject.$error,onInput:n[5]||(n[5]=u=>e(t).subject.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"error\",\"label\"]),a(V,{label:l.$t(\"general.body\"),error:e(t).body.$error&&e(t).body.$errors[0].$message,required:\"\"},{default:o(()=>[a(J,{modelValue:e(r).body,\"onUpdate:modelValue\":n[6]||(n[6]=u=>e(r).body=u),fields:T.value},null,8,[\"modelValue\",\"fields\"])]),_:1},8,[\"label\",\"error\"])]),_:1})]),M(\"div\",de,[a(S,{class:\"mr-3\",variant:\"primary-outline\",type:\"button\",onClick:f},{default:o(()=>[y(v(l.$t(\"general.cancel\")),1)]),_:1}),a(S,{loading:e(s),disabled:e(s),variant:\"primary\",type:\"button\",class:\"mr-3\",onClick:N},{left:o(u=>[e(s)?B(\"\",!0):(m(),p(h,{key:0,class:re(u.class),name:\"PhotographIcon\"},null,8,[\"class\"]))]),default:o(()=>[y(\" \"+v(l.$t(\"general.preview\")),1)]),_:1},8,[\"loading\",\"disabled\"])])]))]),_:1},8,[\"show\"])}}};export{$e as _,_e as a};\n"
  },
  {
    "path": "public/build/assets/SettingsIndex.47aad06d.js",
    "content": "import{J as I,B as M,G as R,aN as y,k as L,a7 as P,r as n,o as r,l as B,w as o,f as t,h as i,u,x as S,e as N,y as $,F as C}from\"./vendor.d12b5734.js\";import{d as E}from\"./main.465728e1.js\";import{B as F,a as G}from\"./BaseListItem.3b6ffe7a.js\";const H={class:\"w-full mb-6 select-wrapper xl:hidden\"},O={class:\"flex\"},U={class:\"hidden mt-1 xl:block min-w-[240px]\"},A={class:\"w-full overflow-hidden\"},D={setup(J){const{t:g}=I();let a=M({});const d=E(),c=R(),m=y(),p=L(()=>d.settingMenu.map(e=>Object.assign({},e,{title:g(e.title)})));P(()=>{c.path===\"/admin/settings\"&&m.push(\"/admin/settings/account-settings\");const e=p.value.find(l=>l.link===c.path);a.value=e});function h(e){return c.path.indexOf(e)>-1}function b(e){return m.push(e.link)}return(e,l)=>{const _=n(\"BaseBreadcrumbItem\"),v=n(\"BaseBreadcrumb\"),k=n(\"BasePageHeader\"),w=n(\"BaseMultiselect\"),V=n(\"BaseIcon\"),x=n(\"RouterView\"),j=n(\"BasePage\");return r(),B(j,null,{default:o(()=>[t(k,{title:e.$tc(\"settings.setting\",1),class:\"mb-6\"},{default:o(()=>[t(v,null,{default:o(()=>[t(_,{title:e.$t(\"general.home\"),to:\"/admin/dashboard\"},null,8,[\"title\"]),t(_,{title:e.$tc(\"settings.setting\",2),to:\"/admin/settings/account-settings\",active:\"\"},null,8,[\"title\"])]),_:1})]),_:1},8,[\"title\"]),i(\"div\",H,[t(w,{modelValue:u(a),\"onUpdate:modelValue\":[l[0]||(l[0]=s=>S(a)?a.value=s:a=s),b],options:u(p),\"can-deselect\":!1,\"value-prop\":\"title\",\"track-by\":\"title\",label:\"title\",object:\"\"},null,8,[\"modelValue\",\"options\"])]),i(\"div\",O,[i(\"div\",U,[t(G,null,{default:o(()=>[(r(!0),N(C,null,$(u(d).settingMenu,(s,f)=>(r(),B(F,{key:f,title:e.$t(s.title),to:s.link,active:h(s.link),index:f,class:\"py-3\"},{icon:o(()=>[t(V,{name:s.icon},null,8,[\"name\"])]),_:2},1032,[\"title\",\"to\",\"active\",\"index\"]))),128))]),_:1})]),i(\"div\",A,[t(x)])])]),_:1})}}};export{D as default};\n"
  },
  {
    "path": "public/build/assets/SettingsIndex.f5b34c1b.js",
    "content": "var D=Object.defineProperty;var v=Object.getOwnPropertySymbols;var G=Object.prototype.hasOwnProperty,J=Object.prototype.propertyIsEnumerable;var k=(o,e,t)=>e in o?D(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t,w=(o,e)=>{for(var t in e||(e={}))G.call(e,t)&&k(o,t,e[t]);if(v)for(var t of v(e))J.call(e,t)&&k(o,t,e[t]);return o};import{B as y,a as $}from\"./BaseListItem.3b6ffe7a.js\";import{J as O,k as S,B as x,a0 as U,bb as q,bc as z,a7 as I,r as u,o as a,l as d,w as c,f as l,u as _,h as i,e as j,y as R,aj as V,F as L}from\"./vendor.d12b5734.js\";import{u as K}from\"./global.dc565c4e.js\";import\"./main.465728e1.js\";import\"./auth.c88ceb4c.js\";const M={class:\"w-full mb-6 select-wrapper xl:hidden\"},Q={class:\"pb-3 lg:col-span-3\"},T={class:\"space-y-1\"},W={class:\"flex\"},X={class:\"hidden mt-1 xl:block min-w-[240px]\"},Y={class:\"w-full overflow-hidden\"},ae={setup(o){const{t:e}=O(),{useRoute:t,useRouter:P}=window.VueRouter,f=t(),C=P(),m=K(),g=S(()=>m.companySlug);let E=x({});x();const p=U([{link:`/${m.companySlug}/customer/settings/customer-profile`,title:e(\"settings.account_settings.account_settings\"),icon:q},{link:`/${m.companySlug}/customer/settings/address-info`,title:e(\"settings.menu_title.address_information\"),icon:z}]);I(()=>{f.path===`/${m.companySlug}/customer/settings`&&C.push({name:\"customer.profile\"});const n=p.find(B=>B.link===f.path);E.value=w({},n)}),S(()=>p);function h(n){return f.path.indexOf(n)>-1}return(n,B)=>{const b=u(\"BaseBreadcrumbItem\"),F=u(\"BaseBreadcrumb\"),H=u(\"BasePageHeader\"),N=u(\"RouterView\"),A=u(\"BasePage\");return a(),d(A,null,{default:c(()=>[l(H,{title:n.$tc(\"settings.setting\",2),class:\"pb-6\"},{default:c(()=>[l(F,null,{default:c(()=>[l(b,{title:n.$t(\"general.home\"),to:`/${_(g)}/customer/dashboard`},null,8,[\"title\",\"to\"]),l(b,{title:n.$tc(\"settings.setting\",2),to:`/${_(g)}/customer/settings/customer-profile`,active:\"\"},null,8,[\"title\",\"to\"])]),_:1})]),_:1},8,[\"title\"]),i(\"div\",M,[i(\"aside\",Q,[i(\"nav\",T,[l($,null,{default:c(()=>[(a(!0),j(L,null,R(_(p),(s,r)=>(a(),d(y,{key:r,title:s.title,to:s.link,active:h(s.link),index:r,class:\"py-3\"},{icon:c(()=>[(a(),d(V(s.icon),{class:\"h-5 w-6\"}))]),_:2},1032,[\"title\",\"to\",\"active\",\"index\"]))),128))]),_:1})])])]),i(\"div\",W,[i(\"div\",X,[l($,null,{default:c(()=>[(a(!0),j(L,null,R(_(p),(s,r)=>(a(),d(y,{key:r,title:s.title,to:s.link,active:h(s.link),index:r,class:\"py-3\"},{icon:c(()=>[(a(),d(V(s.icon),{class:\"h-5 w-6\"}))]),_:2},1032,[\"title\",\"to\",\"active\",\"index\"]))),128))]),_:1})]),i(\"div\",Y,[l(N)])])]),_:1})}}};export{ae as default};\n"
  },
  {
    "path": "public/build/assets/SwitchType.591a8b07.js",
    "content": "import{k as p,r,o as d,l as m,u as c,x as i}from\"./vendor.d12b5734.js\";const f={props:{modelValue:{type:[String,Number,Boolean],default:null}},emits:[\"update:modelValue\"],setup(t,{emit:a}){const n=t,e=p({get:()=>n.modelValue===1,set:o=>{a(\"update:modelValue\",o?1:0)}});return(o,l)=>{const u=r(\"BaseSwitch\");return d(),m(u,{modelValue:c(e),\"onUpdate:modelValue\":l[0]||(l[0]=s=>i(e)?e.value=s:null)},null,8,[\"modelValue\"])}}};export{f as default};\n"
  },
  {
    "path": "public/build/assets/TaxTypeModal.d37d74ed.js",
    "content": "import{J as C,B as N,k as $,L as c,M as b,N as z,aX as j,S as L,T as U,r as i,o as B,l as g,w as l,h as y,i as x,t as v,u as e,f as o,m as D,j as G,U as E}from\"./vendor.d12b5734.js\";import{q as X,c as J,u as A,k as F}from\"./main.465728e1.js\";const H={class:\"flex justify-between w-full\"},K=[\"onSubmit\"],O={class:\"p-4 sm:p-6\"},P={class:\"z-0 flex justify-end p-4 border-t border-solid border--200 border-modal-bg\"},Z={setup(Q){const a=X(),u=J();A(),F();const{t:p,tm:R}=C();let d=N(!1);const h=$(()=>({currentTaxType:{name:{required:c.withMessage(p(\"validation.required\"),b),minLength:c.withMessage(p(\"validation.name_min_length\",{count:3}),z(3))},percent:{required:c.withMessage(p(\"validation.required\"),b),between:c.withMessage(p(\"validation.enter_valid_tax_rate\"),j(0,100))},description:{maxLength:c.withMessage(p(\"validation.description_maxlength\",{count:255}),L(255))}}})),r=U(h,$(()=>a));async function w(){if(r.value.currentTaxType.$touch(),r.value.currentTaxType.$invalid)return!0;try{const s=a.isEdit?a.updateTaxType:a.addTaxType;d.value=!0;let t=await s(a.currentTaxType);d.value=!1,u.refreshData&&u.refreshData(t.data.data),m()}catch{return d.value=!1,!0}}function m(){u.closeModal(),setTimeout(()=>{a.resetCurrentTaxType(),r.value.$reset()},300)}return(s,t)=>{const f=i(\"BaseIcon\"),V=i(\"BaseInput\"),T=i(\"BaseInputGroup\"),M=i(\"BaseMoney\"),I=i(\"BaseTextarea\"),S=i(\"BaseSwitch\"),k=i(\"BaseInputGrid\"),_=i(\"BaseButton\"),q=i(\"BaseModal\");return B(),g(q,{show:e(u).active&&e(u).componentName===\"TaxTypeModal\",onClose:m},{header:l(()=>[y(\"div\",H,[x(v(e(u).title)+\" \",1),o(f,{name:\"XIcon\",class:\"h-6 w-6 text-gray-500 cursor-pointer\",onClick:m})])]),default:l(()=>[y(\"form\",{action:\"\",onSubmit:E(w,[\"prevent\"])},[y(\"div\",O,[o(k,{layout:\"one-column\"},{default:l(()=>[o(T,{label:s.$t(\"tax_types.name\"),variant:\"horizontal\",error:e(r).currentTaxType.name.$error&&e(r).currentTaxType.name.$errors[0].$message,required:\"\"},{default:l(()=>[o(V,{modelValue:e(a).currentTaxType.name,\"onUpdate:modelValue\":t[0]||(t[0]=n=>e(a).currentTaxType.name=n),invalid:e(r).currentTaxType.name.$error,type:\"text\",onInput:t[1]||(t[1]=n=>e(r).currentTaxType.name.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"]),o(T,{label:s.$t(\"tax_types.percent\"),variant:\"horizontal\",error:e(r).currentTaxType.percent.$error&&e(r).currentTaxType.percent.$errors[0].$message,required:\"\"},{default:l(()=>[o(M,{modelValue:e(a).currentTaxType.percent,\"onUpdate:modelValue\":t[2]||(t[2]=n=>e(a).currentTaxType.percent=n),currency:{decimal:\".\",thousands:\",\",symbol:\"% \",precision:2,masked:!1},invalid:e(r).currentTaxType.percent.$error,class:\"relative w-full focus:border focus:border-solid focus:border-primary\",onInput:t[3]||(t[3]=n=>e(r).currentTaxType.percent.$touch())},null,8,[\"modelValue\",\"currency\",\"invalid\"])]),_:1},8,[\"label\",\"error\"]),o(T,{label:s.$t(\"tax_types.description\"),error:e(r).currentTaxType.description.$error&&e(r).currentTaxType.description.$errors[0].$message,variant:\"horizontal\"},{default:l(()=>[o(I,{modelValue:e(a).currentTaxType.description,\"onUpdate:modelValue\":t[4]||(t[4]=n=>e(a).currentTaxType.description=n),invalid:e(r).currentTaxType.description.$error,rows:\"4\",cols:\"50\",onInput:t[5]||(t[5]=n=>e(r).currentTaxType.description.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"]),o(T,{label:s.$t(\"tax_types.compound_tax\"),variant:\"horizontal\",class:\"flex flex-row-reverse\"},{default:l(()=>[o(S,{modelValue:e(a).currentTaxType.compound_tax,\"onUpdate:modelValue\":t[6]||(t[6]=n=>e(a).currentTaxType.compound_tax=n),class:\"flex items-center\"},null,8,[\"modelValue\"])]),_:1},8,[\"label\"])]),_:1})]),y(\"div\",P,[o(_,{class:\"mr-3 text-sm\",variant:\"primary-outline\",type:\"button\",onClick:m},{default:l(()=>[x(v(s.$t(\"general.cancel\")),1)]),_:1}),o(_,{loading:e(d),disabled:e(d),variant:\"primary\",type:\"submit\"},{left:l(n=>[e(d)?G(\"\",!0):(B(),g(f,{key:0,name:\"SaveIcon\",class:D(n.class)},null,8,[\"class\"]))]),default:l(()=>[x(\" \"+v(e(a).isEdit?s.$t(\"general.update\"):s.$t(\"general.save\")),1)]),_:1},8,[\"loading\",\"disabled\"])])],40,K)]),_:1},8,[\"show\"])}}};export{Z as _};\n"
  },
  {
    "path": "public/build/assets/TaxTypesSetting.320c1628.js",
    "content": "import{j as H,u as q,q as Y,e as $,c as j,g as f,b as G,r as J}from\"./main.465728e1.js\";import{J as M,G as K,ah as V,r as o,o as p,l as g,w as t,u as a,f as n,i as T,t as B,j as N,B as z,k as P,V as O,m as Q,e as W,x as Z}from\"./vendor.d12b5734.js\";import{_ as ee}from\"./TaxTypeModal.d37d74ed.js\";const te={props:{row:{type:Object,default:null},table:{type:Object,default:null},loadData:{type:Function,default:null}},setup(S){const s=S,b=H();q();const{t:r}=M(),h=Y(),v=K(),m=$(),E=j();V(\"utils\");async function c(d){await h.fetchTaxType(d),E.openModal({title:r(\"settings.tax_types.edit_tax\"),componentName:\"TaxTypeModal\",size:\"sm\",refreshData:s.loadData&&s.loadData})}function C(d){b.openDialog({title:r(\"general.are_you_sure\"),message:r(\"settings.tax_types.confirm_delete\"),yesLabel:r(\"general.ok\"),noLabel:r(\"general.cancel\"),variant:\"danger\",hideNoButton:!1,size:\"lg\"}).then(async u=>{if(u){if((await h.deleteTaxType(d)).data.success)return s.loadData&&s.loadData(),!0;s.loadData&&s.loadData()}})}return(d,u)=>{const i=o(\"BaseIcon\"),w=o(\"BaseButton\"),D=o(\"BaseDropdownItem\"),k=o(\"BaseDropdown\");return p(),g(k,null,{activator:t(()=>[a(v).name===\"tax-types.view\"?(p(),g(w,{key:0,variant:\"primary\"},{default:t(()=>[n(i,{name:\"DotsHorizontalIcon\",class:\"h-5 text-white\"})]),_:1})):(p(),g(i,{key:1,name:\"DotsHorizontalIcon\",class:\"h-5 text-gray-500\"}))]),default:t(()=>[a(m).hasAbilities(a(f).EDIT_TAX_TYPE)?(p(),g(D,{key:0,onClick:u[0]||(u[0]=I=>c(S.row.id))},{default:t(()=>[n(i,{name:\"PencilIcon\",class:\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"}),T(\" \"+B(d.$t(\"general.edit\")),1)]),_:1})):N(\"\",!0),a(m).hasAbilities(a(f).DELETE_TAX_TYPE)?(p(),g(D,{key:1,onClick:u[1]||(u[1]=I=>C(S.row.id))},{default:t(()=>[n(i,{name:\"TrashIcon\",class:\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"}),T(\" \"+B(d.$t(\"general.delete\")),1)]),_:1})):N(\"\",!0)]),_:1})}}},ae={key:0},le={setup(S){const{t:s}=M(),b=V(\"utils\"),r=G(),h=Y(),v=j(),m=$(),E=J(),c=z(null),C=z(r.selectedCompanySettings.tax_per_item),d=P(()=>[{key:\"name\",label:s(\"settings.tax_types.tax_name\"),thClass:\"extra\",tdClass:\"font-medium text-gray-900\"},{key:\"compound_tax\",label:s(\"settings.tax_types.compound_tax\"),tdClass:\"font-medium text-gray-900\"},{key:\"percent\",label:s(\"settings.tax_types.percent\"),thClass:\"extra\",tdClass:\"font-medium text-gray-900\"},{key:\"actions\",label:\"\",tdClass:\"text-right text-sm font-medium\",sortable:!1}]),u=P(()=>r.selectedCompanySettings.sales_tax_us_enabled===\"YES\"&&E.salesTaxUSEnabled),i=P({get:()=>C.value===\"YES\",set:async l=>{const _=l?\"YES\":\"NO\";let y={settings:{tax_per_item:_}};C.value=_,await r.updateCompanySettings({data:y,message:\"general.setting_updated\"})}});function w(){return m.hasAbilities([f.DELETE_TAX_TYPE,f.EDIT_TAX_TYPE])}async function D({page:l,filter:_,sort:y}){let A={orderByField:y.fieldName||\"created_at\",orderBy:y.order||\"desc\",page:l},x=await h.fetchTaxTypes(A);return{data:x.data.data,pagination:{totalPages:x.data.meta.last_page,currentPage:l,totalCount:x.data.meta.total,limit:5}}}async function k(){c.value&&c.value.refresh()}function I(){v.openModal({title:s(\"settings.tax_types.add_tax\"),componentName:\"TaxTypeModal\",size:\"sm\",refreshData:c.value&&c.value.refresh})}return(l,_)=>{const y=o(\"BaseIcon\"),A=o(\"BaseButton\"),x=o(\"BaseBadge\"),X=o(\"BaseTable\"),L=o(\"BaseDivider\"),U=o(\"BaseSwitchSection\"),F=o(\"BaseSettingCard\");return p(),g(F,{title:l.$t(\"settings.tax_types.title\"),description:l.$t(\"settings.tax_types.description\")},O({default:t(()=>[n(ee),n(X,{ref:(e,R)=>{R.table=e,c.value=e},class:\"mt-16\",data:D,columns:a(d)},O({\"cell-compound_tax\":t(({row:e})=>[n(x,{\"bg-color\":a(b).getBadgeStatusColor(e.data.compound_tax?\"YES\":\"NO\").bgColor,color:a(b).getBadgeStatusColor(e.data.compound_tax?\"YES\":\"NO\").color},{default:t(()=>[T(B(e.data.compound_tax?\"Yes\":\"No\".replace(\"_\",\" \")),1)]),_:2},1032,[\"bg-color\",\"color\"])]),\"cell-percent\":t(({row:e})=>[T(B(e.data.percent)+\" % \",1)]),_:2},[w()?{name:\"cell-actions\",fn:t(({row:e})=>[n(te,{row:e.data,table:c.value,\"load-data\":k},null,8,[\"row\",\"table\"])])}:void 0]),1032,[\"columns\"]),a(m).currentUser.is_owner?(p(),W(\"div\",ae,[n(L,{class:\"mt-8 mb-2\"}),n(U,{modelValue:a(i),\"onUpdate:modelValue\":_[0]||(_[0]=e=>Z(i)?i.value=e:null),disabled:a(u),title:l.$t(\"settings.tax_types.tax_per_item\"),description:l.$t(\"settings.tax_types.tax_setting_description\")},null,8,[\"modelValue\",\"disabled\",\"title\",\"description\"])])):N(\"\",!0)]),_:2},[a(m).hasAbilities(a(f).CREATE_TAX_TYPE)?{name:\"action\",fn:t(()=>[n(A,{type:\"submit\",variant:\"primary-outline\",onClick:I},{left:t(e=>[n(y,{class:Q(e.class),name:\"PlusIcon\"},null,8,[\"class\"])]),default:t(()=>[T(\" \"+B(l.$t(\"settings.tax_types.add_new_tax\")),1)]),_:1})])}:void 0]),1032,[\"title\",\"description\"])}}};export{le as default};\n"
  },
  {
    "path": "public/build/assets/TextAreaType.27565abe.js",
    "content": "import{k as r,r as d,o as m,l as p,u as i,x as c}from\"./vendor.d12b5734.js\";const V={props:{modelValue:{type:String,default:null},rows:{type:String,default:\"2\"},inputName:{type:String,default:\"description\"}},emits:[\"update:modelValue\"],setup(e,{emit:l}){const n=e,t=r({get:()=>n.modelValue,set:a=>{l(\"update:modelValue\",a)}});return(a,o)=>{const u=d(\"BaseTextarea\");return m(),p(u,{modelValue:i(t),\"onUpdate:modelValue\":o[0]||(o[0]=s=>c(t)?t.value=s:null),rows:e.rows,name:e.inputName},null,8,[\"modelValue\",\"rows\",\"name\"])}}};export{V as default};\n"
  },
  {
    "path": "public/build/assets/TimeType.8ac8afd1.js",
    "content": "import{I as r,k as m,r as d,o as p,l as c,u as i,x as f}from\"./vendor.d12b5734.js\";const k={props:{modelValue:{type:[String,Date,Object],default:r().format(\"YYYY-MM-DD\")}},emits:[\"update:modelValue\"],setup(a,{emit:l}){const s=a,e=m({get:()=>s.modelValue,set:o=>{l(\"update:modelValue\",o)}});return(o,t)=>{const u=d(\"BaseTimePicker\");return p(),c(u,{modelValue:i(e),\"onUpdate:modelValue\":t[0]||(t[0]=n=>f(e)?e.value=n:null)},null,8,[\"modelValue\"])}}};export{k as default};\n"
  },
  {
    "path": "public/build/assets/UpdateAppSetting.428e199e.js",
    "content": "import{J as R,B as d,a0 as I,a as S,k as J,r as h,o as n,l as D,w,h as t,t as a,u as s,f as v,i as $,j as y,q as O,ag as Y,e as i,F as V,y as q,m as G}from\"./vendor.d12b5734.js\";import{u as Q,j as W,b as X,h as T}from\"./main.465728e1.js\";import{L as Z}from\"./LoadingIcon.b704202b.js\";import{u as ee}from\"./exchange-rate.85b564e2.js\";const te={class:\"pb-8 ml-0\"},ae={class:\"text-sm not-italic font-medium input-label\"},se={class:\"box-border flex w-16 p-3 my-2 text-sm text-gray-600 bg-gray-200 border border-gray-200 border-solid rounded-md version\"},ne={key:1,class:\"mt-4 content\"},ie={class:\"rounded-md bg-primary-50 p-4 mb-3\"},re={class:\"flex\"},le={class:\"shrink-0\"},oe={class:\"ml-3\"},de={class:\"text-sm font-medium text-primary-800\"},pe={class:\"mt-2 text-sm text-primary-700\"},ue={class:\"text-sm not-italic font-medium input-label\"},ce=t(\"br\",null,null,-1),me={class:\"box-border flex w-16 p-3 my-2 text-sm text-gray-600 bg-gray-200 border border-gray-200 border-solid rounded-md version\"},_e=[\"innerHTML\"],ge={class:\"text-sm not-italic font-medium input-label\"},fe={class:\"w-1/2 mt-2 border-2 border-gray-200 BaseTable-fixed\"},he={width:\"70%\",class:\"p-2 text-sm truncate\"},ve={width:\"30%\",class:\"p-2 text-sm text-right\"},ye={key:0,class:\"inline-block w-4 h-4 ml-3 mr-2 bg-green-500 rounded-full\"},be={key:1,class:\"inline-block w-4 h-4 ml-3 mr-2 bg-red-500 rounded-full\"},xe={key:2,class:\"relative flex justify-between mt-4 content\"},we={class:\"m-0 mb-3 font-medium sw-section-title\"},ke={class:\"mb-8 text-sm leading-snug text-gray-500\",style:{\"max-width\":\"480px\"}},Be={key:3,class:\"w-full p-0 list-none\"},Ue={class:\"m-0 text-sm leading-8\"},Se={class:\"flex flex-row items-center\"},$e={key:0,class:\"mr-3 text-xs text-gray-500\"},De={setup(Ce){const k=Q(),z=W(),{t:p,tm:Ne}=R();X(),ee();let b=d(!1),c=d(!1),C=d(\"\"),B=d(\"\"),m=d(null),N=d(null),l=d(!1);const U=I([{translationKey:\"settings.update_app.download_zip_file\",stepUrl:\"/api/v1/update/download\",time:null,started:!1,completed:!1},{translationKey:\"settings.update_app.unzipping_package\",stepUrl:\"/api/v1/update/unzip\",time:null,started:!1,completed:!1},{translationKey:\"settings.update_app.copying_files\",stepUrl:\"/api/v1/update/copy\",time:null,started:!1,completed:!1},{translationKey:\"settings.update_app.deleting_files\",stepUrl:\"/api/v1/update/delete\",time:null,started:!1,completed:!1},{translationKey:\"settings.update_app.running_migrations\",stepUrl:\"/api/v1/update/migrate\",time:null,started:!1,completed:!1},{translationKey:\"settings.update_app.finishing_update\",stepUrl:\"/api/v1/update/finish\",time:null,started:!1,completed:!1}]),x=I({isMinor:Boolean,installed:\"\",version:\"\"});let E=d(null);window.addEventListener(\"beforeunload\",e=>{l.value&&(e.returnValue=\"Update is in progress!\")}),S.get(\"/api/v1/app/version\").then(e=>{B.value=e.data.version});const F=J(()=>m.value!==null?Object.keys(m.value).every(e=>m.value[e]):!0);function H(e){switch(K(e)){case\"pending\":return\"text-primary-800 bg-gray-200\";case\"finished\":return\"text-teal-500 bg-teal-100\";case\"running\":return\"text-blue-400 bg-blue-100\";case\"error\":return\"text-danger bg-red-200\";default:return\"\"}}async function M(){try{c.value=!0;let e=await S.get(\"/api/v1/check/update\");if(c.value=!1,!e.data.version){k.showNotification({title:\"Info!\",type:\"info\",message:p(\"settings.update_app.latest_message\")});return}e.data&&(x.isMinor=e.data.is_minor,x.version=e.data.version.version,C.value=e.data.version.description,m.value=e.data.version.extensions,b.value=!0,E.value=e.data.version.minimum_php_version,N.value=e.data.version.deleted_files)}catch(e){b.value=!1,c.value=!1,T(e)}}function j(){z.openDialog({title:p(\"general.are_you_sure\"),message:p(\"settings.update_app.update_warning\"),yesLabel:p(\"general.ok\"),noLabel:p(\"general.cancel\"),variant:\"danger\",hideNoButton:!1,size:\"lg\"}).then(async e=>{if(e){let _=null;if(!F.value)return k.showNotification({type:\"error\",message:\"Your current configuration does not match the update requirements. Please try again after all the requirements are fulfilled.\"}),!0;for(let u=0;u<U.length;u++){let r=U[u];try{l.value=!0,r.started=!0;let g={version:x.version,installed:B.value,deleted_files:N.value,path:_||null},f=await S.post(r.stepUrl,g);r.completed=!0,f.data&&f.data.path&&(_=f.data.path),r.translationKey==\"settings.update_app.finishing_update\"&&(l.value=!1,k.showNotification({type:\"success\",message:p(\"settings.update_app.update_success\")}),setTimeout(()=>{location.reload()},3e3))}catch(g){return r.started=!1,r.completed=!0,T(g),A(r.translationKey),!1}}}})}function A(e){if(p(e).value){j();return}l.value=!1}function K(e){return e.started&&e.completed?\"finished\":e.started&&!e.completed?\"running\":!e.started&&!e.completed?\"pending\":\"error\"}return(e,_)=>{const u=h(\"BaseButton\"),r=h(\"BaseDivider\"),g=h(\"BaseHeading\"),f=h(\"BaseIcon\"),P=h(\"BaseSettingCard\");return n(),D(P,{title:e.$t(\"settings.update_app.title\"),description:e.$t(\"settings.update_app.description\")},{default:w(()=>[t(\"div\",te,[t(\"label\",ae,a(e.$t(\"settings.update_app.current_version\")),1),t(\"div\",se,a(s(B)),1),v(u,{loading:s(c),disabled:s(c)||s(l),variant:\"primary-outline\",class:\"mt-6\",onClick:M},{default:w(()=>[$(a(e.$t(\"settings.update_app.check_update\")),1)]),_:1},8,[\"loading\",\"disabled\"]),s(b)?(n(),D(r,{key:0,class:\"mt-6 mb-4\"})):y(\"\",!0),s(b)?O((n(),i(\"div\",ne,[v(g,{type:\"heading-title\",class:\"mb-2\"},{default:w(()=>[$(a(e.$t(\"settings.update_app.avail_update\")),1)]),_:1}),t(\"div\",ie,[t(\"div\",re,[t(\"div\",le,[v(f,{name:\"InformationCircleIcon\",class:\"h-5 w-5 text-primary-400\",\"aria-hidden\":\"true\"})]),t(\"div\",oe,[t(\"h3\",de,a(e.$t(\"general.note\")),1),t(\"div\",pe,[t(\"p\",null,a(e.$t(\"settings.update_app.update_warning\")),1)])])])]),t(\"label\",ue,a(e.$t(\"settings.update_app.next_version\")),1),ce,t(\"div\",me,a(s(x).version),1),t(\"div\",{class:\"pl-5 mt-4 mb-8 text-sm leading-snug text-gray-500 update-description\",style:{\"white-space\":\"pre-wrap\",\"max-width\":\"480px\"},innerHTML:s(C)},null,8,_e),t(\"label\",ge,a(e.$t(\"settings.update_app.requirements\")),1),t(\"table\",fe,[(n(!0),i(V,null,q(s(m),(o,L)=>(n(),i(\"tr\",{key:L,class:\"p-2 border-2 border-gray-200\"},[t(\"td\",he,a(L),1),t(\"td\",ve,[o?(n(),i(\"span\",ye)):(n(),i(\"span\",be))])]))),128))]),v(u,{class:\"mt-10\",variant:\"primary\",onClick:j},{default:w(()=>[$(a(e.$t(\"settings.update_app.update\")),1)]),_:1})],512)),[[Y,!s(l)]]):y(\"\",!0),s(l)?(n(),i(\"div\",xe,[t(\"div\",null,[t(\"h6\",we,a(e.$t(\"settings.update_app.update_progress\")),1),t(\"p\",ke,a(e.$t(\"settings.update_app.progress_text\")),1)]),v(Z,{class:\"absolute right-0 h-6 m-1 animate-spin text-primary-400\"})])):y(\"\",!0),s(l)?(n(),i(\"ul\",Be,[(n(!0),i(V,null,q(s(U),o=>(n(),i(\"li\",{key:o.stepUrl,class:\"flex justify-between w-full py-3 border-b border-gray-200 border-solid last:border-b-0\"},[t(\"p\",Ue,a(e.$t(o.translationKey)),1),t(\"div\",Se,[o.time?(n(),i(\"span\",$e,a(o.time),1)):y(\"\",!0),t(\"span\",{class:G([H(o),\"block py-1 text-sm text-center uppercase rounded-full\"]),style:{width:\"88px\"}},a(K(o)),3)])]))),128))])):y(\"\",!0)])]),_:1},8,[\"title\",\"description\"])}}};export{De as default};\n"
  },
  {
    "path": "public/build/assets/UpdateAppSetting.7d8b987a.css",
    "content": ".update-description ul{list-style:disc!important}.update-description li{margin-bottom:4px}\n"
  },
  {
    "path": "public/build/assets/UrlType.d123ab64.js",
    "content": "import{k as p,r,o as d,l as m,u as c,x as V}from\"./vendor.d12b5734.js\";const i={props:{modelValue:{type:String,default:null}},emits:[\"update:modelValue\"],setup(t,{emit:u}){const a=t,e=p({get:()=>a.modelValue,set:l=>{u(\"update:modelValue\",l)}});return(l,o)=>{const n=r(\"BaseInput\");return d(),m(n,{modelValue:c(e),\"onUpdate:modelValue\":o[0]||(o[0]=s=>V(e)?e.value=s:null),type:\"url\"},null,8,[\"modelValue\"])}}};export{i as default};\n"
  },
  {
    "path": "public/build/assets/View.0b4de6cf.js",
    "content": "var ne=Object.defineProperty,oe=Object.defineProperties;var le=Object.getOwnPropertyDescriptors;var G=Object.getOwnPropertySymbols;var re=Object.prototype.hasOwnProperty,ie=Object.prototype.propertyIsEnumerable;var X=(k,u,t)=>u in k?ne(k,u,{enumerable:!0,configurable:!0,writable:!0,value:t}):k[u]=t,q=(k,u)=>{for(var t in u||(u={}))re.call(u,t)&&X(k,t,u[t]);if(G)for(var t of G(u))ie.call(u,t)&&X(k,t,u[t]);return k},J=(k,u)=>oe(k,le(u));import{G as O,J as K,B as F,a0 as R,A as ce,k as I,r as d,o as n,e as B,h as l,f as s,w as o,u as e,t as v,l as _,F as Q,y as W,j as h,m as Z,i as S,ah as ee,C as de,x as ue,aN as me}from\"./vendor.d12b5734.js\";import{l as M,_ as _e,b as pe,j as fe,e as he,g as A}from\"./main.465728e1.js\";import{L as ye}from\"./LoadingIcon.b704202b.js\";import{_ as ge}from\"./LineChart.8ef63104.js\";import{_ as be}from\"./CustomerIndexDropdown.bf4b48d6.js\";const xe={class:\"fixed top-0 left-0 hidden h-full pt-16 pb-[6.6rem] ml-56 bg-white xl:ml-64 w-88 xl:block\"},ve={class:\"flex items-center justify-between px-4 pt-8 pb-2 border border-gray-200 border-solid height-full\"},Be={class:\"flex mb-6 ml-3\",role:\"group\",\"aria-label\":\"First group\"},$e={class:\"px-4 py-3 pb-2 mb-2 text-sm border-b border-gray-200 border-solid\"},we={class:\"px-2\"},Ce={class:\"px-2\"},Te={class:\"flex-1 font-bold text-right whitespace-nowrap\"},ke={key:0,class:\"flex justify-center p-4 items-center\"},Ee={key:1,class:\"flex justify-center px-4 mt-5 text-sm text-gray-600\"},Ie={setup(k){const u=M(),t=O(),{t:m}=K();let r=F(!1),a=R({orderBy:null,orderByField:null,searchText:null});const p=F(null),g=F(1),b=F(1),D=F(null);c=ce.exports.debounce(c,500);const y=I(()=>a.orderBy===\"asc\"||a.orderBy==null);I(()=>y.value?m(\"general.ascending\"):m(\"general.descending\"));function $(i){return t.params.id==i}async function x(i,C=!1){if(r.value)return;let T={};a.searchText!==\"\"&&a.searchText!==null&&a.searchText!==void 0&&(T.display_name=a.searchText),a.orderBy!==null&&a.orderBy!==void 0&&(T.orderBy=a.orderBy),a.orderByField!==null&&a.orderByField!==void 0&&(T.orderByField=a.orderByField),r.value=!0;let P=await u.fetchCustomers(J(q({page:i},T),{limit:15}));r.value=!1,p.value=p.value?p.value:[],p.value=[...p.value,...P.data.data],g.value=i||1,b.value=P.data.meta.last_page;let V=p.value.find(L=>L.id==t.params.id);C==!1&&!V&&g.value<b.value&&Object.keys(T).length===0&&x(++g.value),V&&setTimeout(()=>{C==!1&&w()},500)}function w(){const i=document.getElementById(`customer-${t.params.id}`);i&&(i.scrollIntoView({behavior:\"smooth\"}),i.classList.add(\"shake\"),j())}function j(){D.value.addEventListener(\"scroll\",i=>{i.target.scrollTop>0&&i.target.scrollTop+i.target.clientHeight>i.target.scrollHeight-200&&g.value<b.value&&x(++g.value,!0)})}async function c(){p.value=[],x()}function E(){return a.orderBy===\"asc\"?(a.orderBy=\"desc\",c(),!0):(a.orderBy=\"asc\",c(),!0)}return x(),(i,C)=>{var Y;const T=d(\"BaseIcon\"),P=d(\"BaseInput\"),V=d(\"BaseButton\"),L=d(\"BaseRadio\"),U=d(\"BaseInputGroup\"),z=d(\"BaseDropdownItem\"),te=d(\"BaseDropdown\"),H=d(\"BaseText\"),se=d(\"BaseFormatMoney\"),ae=d(\"router-link\");return n(),B(\"div\",xe,[l(\"div\",ve,[s(P,{modelValue:e(a).searchText,\"onUpdate:modelValue\":C[0]||(C[0]=f=>e(a).searchText=f),placeholder:i.$t(\"general.search\"),\"container-class\":\"mb-6\",type:\"text\",variant:\"gray\",onInput:C[1]||(C[1]=f=>c())},{default:o(()=>[s(T,{name:\"SearchIcon\",class:\"text-gray-500\"})]),_:1},8,[\"modelValue\",\"placeholder\"]),l(\"div\",Be,[s(te,{\"close-on-select\":!1,position:\"bottom-start\",\"width-class\":\"w-40\",\"position-class\":\"left-0\"},{activator:o(()=>[s(V,{variant:\"gray\"},{default:o(()=>[s(T,{name:\"FilterIcon\"})]),_:1})]),default:o(()=>[l(\"div\",$e,v(i.$t(\"general.sort_by\")),1),l(\"div\",we,[s(z,{class:\"flex px-1 py-2 mt-1 cursor-pointer hover:rounded-md\"},{default:o(()=>[s(U,{class:\"pt-2 -mt-4\"},{default:o(()=>[s(L,{id:\"filter_create_date\",modelValue:e(a).orderByField,\"onUpdate:modelValue\":[C[2]||(C[2]=f=>e(a).orderByField=f),c],label:i.$t(\"customers.create_date\"),size:\"sm\",name:\"filter\",value:\"invoices.created_at\"},null,8,[\"modelValue\",\"label\"])]),_:1})]),_:1})]),l(\"div\",Ce,[s(z,{class:\"flex px-1 cursor-pointer hover:rounded-md\"},{default:o(()=>[s(U,{class:\"pt-2 -mt-4\"},{default:o(()=>[s(L,{id:\"filter_display_name\",modelValue:e(a).orderByField,\"onUpdate:modelValue\":[C[3]||(C[3]=f=>e(a).orderByField=f),c],label:i.$t(\"customers.display_name\"),size:\"sm\",name:\"filter\",value:\"name\"},null,8,[\"modelValue\",\"label\"])]),_:1})]),_:1})])]),_:1}),s(V,{class:\"ml-1\",size:\"md\",variant:\"gray\",onClick:E},{default:o(()=>[e(y)?(n(),_(T,{key:0,name:\"SortAscendingIcon\"})):(n(),_(T,{key:1,name:\"SortDescendingIcon\"}))]),_:1})])]),l(\"div\",{ref:(f,N)=>{N.customerListSection=f,D.value=f},class:\"h-full overflow-y-scroll border-l border-gray-200 border-solid sidebar base-scroll\"},[(n(!0),B(Q,null,W(p.value,(f,N)=>(n(),B(\"div\",{key:N},[f?(n(),_(ae,{key:0,id:\"customer-\"+f.id,to:`/admin/customers/${f.id}/view`,class:Z([\"flex justify-between p-4 items-center cursor-pointer hover:bg-gray-100 border-l-4 border-transparent\",{\"bg-gray-100 border-l-4 border-primary-500 border-solid\":$(f.id)}]),style:{\"border-top\":\"1px solid rgba(185, 193, 209, 0.41)\"}},{default:o(()=>[l(\"div\",null,[s(H,{text:f.name,length:30,class:\"pr-2 text-sm not-italic font-normal leading-5 text-black capitalize truncate\"},null,8,[\"text\"]),f.contact_name?(n(),_(H,{key:0,text:f.contact_name,length:30,class:\"mt-1 text-xs not-italic font-medium leading-5 text-gray-600\"},null,8,[\"text\"])):h(\"\",!0)]),l(\"div\",Te,[s(se,{amount:f.due_amount!==null?f.due_amount:0,currency:f.currency},null,8,[\"amount\",\"currency\"])])]),_:2},1032,[\"id\",\"to\",\"class\"])):h(\"\",!0)]))),128)),e(r)?(n(),B(\"div\",ke,[s(ye,{class:\"h-6 m-1 animate-spin text-primary-400\"})])):h(\"\",!0),!((Y=p.value)==null?void 0:Y.length)&&!e(r)?(n(),B(\"p\",Ee,v(i.$t(\"customers.no_matching_customers\")),1)):h(\"\",!0)],512)])}}},De={class:\"pt-6 mt-5 border-t border-solid lg:pt-8 md:pt-4 border-gray-200\"},je={key:0,class:\"text-sm font-bold leading-5 text-black non-italic\"},Ae={key:0},Se={key:1},Ve={key:1,class:\"text-sm font-bold leading-5 text-black non-italic\"},Fe={setup(k){const u=M(),t=I(()=>u.selectedViewCustomer),m=I(()=>u.isFetchingViewData),r=I(()=>{var a,p;return((a=t==null?void 0:t.value)==null?void 0:a.fields)?(p=t==null?void 0:t.value)==null?void 0:p.fields:[]});return(a,p)=>{const g=d(\"BaseHeading\"),b=d(\"BaseDescriptionListItem\"),D=d(\"BaseDescriptionList\"),y=d(\"BaseCustomerAddressDisplay\");return n(),B(\"div\",De,[s(g,null,{default:o(()=>[S(v(a.$t(\"customers.basic_info\")),1)]),_:1}),s(D,null,{default:o(()=>{var $,x,w;return[s(b,{\"content-loading\":e(m),label:a.$t(\"customers.display_name\"),value:($=e(t))==null?void 0:$.name},null,8,[\"content-loading\",\"label\",\"value\"]),s(b,{\"content-loading\":e(m),label:a.$t(\"customers.primary_contact_name\"),value:(x=e(t))==null?void 0:x.contact_name},null,8,[\"content-loading\",\"label\",\"value\"]),s(b,{\"content-loading\":e(m),label:a.$t(\"customers.email\"),value:(w=e(t))==null?void 0:w.email},null,8,[\"content-loading\",\"label\",\"value\"])]}),_:1}),s(D,{class:\"mt-5\"},{default:o(()=>{var $,x,w,j,c,E,i;return[s(b,{\"content-loading\":e(m),label:a.$t(\"wizard.currency\"),value:(($=e(t))==null?void 0:$.currency)?`${(w=(x=e(t))==null?void 0:x.currency)==null?void 0:w.code} (${(c=(j=e(t))==null?void 0:j.currency)==null?void 0:c.symbol})`:\"\"},null,8,[\"content-loading\",\"label\",\"value\"]),s(b,{\"content-loading\":e(m),label:a.$t(\"customers.phone_number\"),value:(E=e(t))==null?void 0:E.phone},null,8,[\"content-loading\",\"label\",\"value\"]),s(b,{\"content-loading\":e(m),label:a.$t(\"customers.website\"),value:(i=e(t))==null?void 0:i.website},null,8,[\"content-loading\",\"label\",\"value\"])]}),_:1}),e(t).billing||e(t).shipping?(n(),_(g,{key:0,class:\"mt-8\"},{default:o(()=>[S(v(a.$t(\"customers.address\")),1)]),_:1})):h(\"\",!0),s(D,{class:\"mt-5\"},{default:o(()=>[e(t).billing?(n(),_(b,{key:0,\"content-loading\":e(m),label:a.$t(\"customers.billing_address\")},{default:o(()=>[s(y,{address:e(t).billing},null,8,[\"address\"])]),_:1},8,[\"content-loading\",\"label\"])):h(\"\",!0),e(t).shipping?(n(),_(b,{key:1,\"content-loading\":e(m),label:a.$t(\"customers.shipping_address\")},{default:o(()=>[s(y,{address:e(t).shipping},null,8,[\"address\"])]),_:1},8,[\"content-loading\",\"label\"])):h(\"\",!0)]),_:1}),e(r).length>0?(n(),_(g,{key:1,class:\"mt-8\"},{default:o(()=>[S(v(a.$t(\"settings.custom_fields.title\")),1)]),_:1})):h(\"\",!0),s(D,{class:\"mt-5\"},{default:o(()=>[(n(!0),B(Q,null,W(e(r),($,x)=>(n(),_(b,{key:x,\"content-loading\":e(m),label:$.custom_field.label},{default:o(()=>[$.type===\"Switch\"?(n(),B(\"p\",je,[$.default_answer===1?(n(),B(\"span\",Ae,\" Yes \")):(n(),B(\"span\",Se,\" No \"))])):(n(),B(\"p\",Ve,v($.default_answer),1))]),_:2},1032,[\"content-loading\",\"label\"]))),128))]),_:1})])}}},Pe={},Le={class:\"col-span-12 xl:col-span-9 xxl:col-span-10\"},Re={class:\"flex justify-between mt-1 mb-6\"},Me={class:\"grid col-span-12 mt-6 text-center xl:mt-0 sm:grid-cols-4 xl:text-right xl:col-span-3 xl:grid-cols-1 xxl:col-span-2\"},Ne={class:\"flex flex-col items-center justify-center px-6 py-2 lg:justify-end lg:items-end\"},Oe={class:\"flex flex-col items-center justify-center px-6 py-2 lg:justify-end lg:items-end\"},Ue={class:\"flex flex-col items-center justify-center px-6 py-2 lg:justify-end lg:items-end\"},ze={class:\"flex flex-col items-center justify-center px-6 py-2 lg:justify-end lg:items-end\"};function He(k,u){const t=d(\"BaseContentPlaceholdersText\"),m=d(\"BaseContentPlaceholdersBox\"),r=d(\"BaseContentPlaceholders\");return n(),_(r,{class:\"grid grid-cols-12\"},{default:o(()=>[l(\"div\",Le,[l(\"div\",Re,[s(t,{class:\"h-10 w-36\",lines:1}),s(t,{class:\"h-10 w-40 !mt-0\",lines:1})]),s(m,{class:\"h-80 xl:h-72 sm:w-full\"})]),l(\"div\",Me,[l(\"div\",Ne,[s(t,{class:\"h-3 w-14 xl:h-4\",lines:1}),s(t,{class:\"w-20 h-5 xl:h-6\",lines:1})]),l(\"div\",Oe,[s(t,{class:\"h-3 w-14 xl:h-4\",lines:1}),s(t,{class:\"w-20 h-5 xl:h-6\",lines:1})]),l(\"div\",Ue,[s(t,{class:\"h-3 w-14 xl:h-4\",lines:1}),s(t,{class:\"w-20 h-5 xl:h-6\",lines:1})]),l(\"div\",ze,[s(t,{class:\"h-3 w-14 xl:h-4\",lines:1}),s(t,{class:\"w-20 h-5 xl:h-6\",lines:1})])])]),_:1})}var Ye=_e(Pe,[[\"render\",He]]);const Ge={key:1,class:\"grid grid-cols-12\"},Xe={class:\"col-span-12 xl:col-span-9 xxl:col-span-10\"},qe={class:\"flex justify-between mt-1 mb-6\"},Je={class:\"flex items-center\"},Ke={class:\"w-40 h-10\"},Qe={class:\"grid col-span-12 mt-6 text-center xl:mt-0 sm:grid-cols-4 xl:text-right xl:col-span-3 xl:grid-cols-1 xxl:col-span-2\"},We={class:\"px-6 py-2\"},Ze={class:\"text-xs leading-5 lg:text-sm\"},et=l(\"br\",null,null,-1),tt={key:0,class:\"block mt-1 text-xl font-semibold leading-8\"},st={class:\"px-6 py-2\"},at={class:\"text-xs leading-5 lg:text-sm\"},nt=l(\"br\",null,null,-1),ot={key:0,class:\"block mt-1 text-xl font-semibold leading-8\",style:{color:\"#00c99c\"}},lt={class:\"px-6 py-2\"},rt={class:\"text-xs leading-5 lg:text-sm\"},it=l(\"br\",null,null,-1),ct={key:0,class:\"block mt-1 text-xl font-semibold leading-8\",style:{color:\"#fb7178\"}},dt={class:\"px-6 py-2\"},ut={class:\"text-xs leading-5 lg:text-sm\"},mt=l(\"br\",null,null,-1),_t={key:0,class:\"block mt-1 text-xl font-semibold leading-8\",style:{color:\"#5851d8\"}},pt={setup(k){pe();const u=M();ee(\"utils\");const t=O();let m=F(!1),r=R({}),a=R({}),p=R([\"This year\",\"Previous year\"]),g=F(\"This year\");const b=I(()=>r.expenseTotals?r.expenseTotals:[]),D=I(()=>r.netProfits?r.netProfits:[]),y=I(()=>r&&r.months?r.months:[]),$=I(()=>r.receiptTotals?r.receiptTotals:[]),x=I(()=>r.invoiceTotals?r.invoiceTotals:[]);de(t,()=>{t.params.id&&w(),g.value=\"This year\"},{immediate:!0});async function w(){m.value=!1;let c=await u.fetchViewCustomer({id:t.params.id});c.data&&(Object.assign(r,c.data.meta.chartData),Object.assign(a,c.data.data)),m.value=!0}async function j(c){let E={id:t.params.id};c===\"Previous year\"?E.previous_year=!0:E.this_year=!0;let i=await u.fetchViewCustomer(E);return i.data.meta.chartData&&Object.assign(r,i.data.meta.chartData),!0}return(c,E)=>{const i=d(\"BaseIcon\"),C=d(\"BaseMultiselect\"),T=d(\"BaseFormatMoney\"),P=d(\"BaseCard\");return n(),_(P,{class:\"flex flex-col mt-6\"},{default:o(()=>[e(u).isFetchingViewData?(n(),_(Ye,{key:0})):(n(),B(\"div\",Ge,[l(\"div\",Xe,[l(\"div\",qe,[l(\"h6\",Je,[s(i,{name:\"ChartSquareBarIcon\",class:\"h-5 text-primary-400\"}),S(\" \"+v(c.$t(\"dashboard.monthly_chart.title\")),1)]),l(\"div\",Ke,[s(C,{modelValue:e(g),\"onUpdate:modelValue\":E[0]||(E[0]=V=>ue(g)?g.value=V:g=V),options:e(p),\"allow-empty\":!1,\"show-labels\":!1,placeholder:c.$t(\"dashboard.select_year\"),\"can-deselect\":!1,onSelect:j},null,8,[\"modelValue\",\"options\",\"placeholder\"])])]),e(m)?(n(),_(ge,{key:0,invoices:e(x),expenses:e(b),receipts:e($),income:e(D),labels:e(y),class:\"sm:w-full\"},null,8,[\"invoices\",\"expenses\",\"receipts\",\"income\",\"labels\"])):h(\"\",!0)]),l(\"div\",Qe,[l(\"div\",We,[l(\"span\",Ze,v(c.$t(\"dashboard.chart_info.total_sales\")),1),et,e(m)?(n(),B(\"span\",tt,[s(T,{amount:e(r).salesTotal,currency:e(a).currency},null,8,[\"amount\",\"currency\"])])):h(\"\",!0)]),l(\"div\",st,[l(\"span\",at,v(c.$t(\"dashboard.chart_info.total_receipts\")),1),nt,e(m)?(n(),B(\"span\",ot,[s(T,{amount:e(r).totalExpenses,currency:e(a).currency},null,8,[\"amount\",\"currency\"])])):h(\"\",!0)]),l(\"div\",lt,[l(\"span\",rt,v(c.$t(\"dashboard.chart_info.total_expense\")),1),it,e(m)?(n(),B(\"span\",ct,[s(T,{amount:e(r).totalExpenses,currency:e(a).currency},null,8,[\"amount\",\"currency\"])])):h(\"\",!0)]),l(\"div\",dt,[l(\"span\",ut,v(c.$t(\"dashboard.chart_info.net_income\")),1),mt,e(m)?(n(),B(\"span\",_t,[s(T,{amount:e(r).netProfit,currency:e(a).currency},null,8,[\"amount\",\"currency\"])])):h(\"\",!0)])])])),s(Fe)]),_:1})}}},vt={setup(k){ee(\"utils\"),fe();const u=M(),t=he();K();const m=me(),r=O();F(null);const a=I(()=>u.selectedViewCustomer.customer?u.selectedViewCustomer.customer.name:\"\");let p=I(()=>u.isFetchingViewData);function g(){return t.hasAbilities([A.CREATE_ESTIMATE,A.CREATE_INVOICE,A.CREATE_PAYMENT,A.CREATE_EXPENSE])}function b(){return t.hasAbilities([A.DELETE_CUSTOMER,A.EDIT_CUSTOMER])}function D(){m.push(\"/admin/customers\")}return(y,$)=>{const x=d(\"BaseButton\"),w=d(\"router-link\"),j=d(\"BaseIcon\"),c=d(\"BaseDropdownItem\"),E=d(\"BaseDropdown\"),i=d(\"BasePageHeader\"),C=d(\"BasePage\");return n(),_(C,{class:\"xl:pl-96\"},{default:o(()=>[s(i,{title:e(a)},{actions:o(()=>[e(t).hasAbilities(e(A).EDIT_CUSTOMER)?(n(),_(w,{key:0,to:`/admin/customers/${e(r).params.id}/edit`},{default:o(()=>[s(x,{class:\"mr-3\",variant:\"primary-outline\",\"content-loading\":e(p)},{default:o(()=>[S(v(y.$t(\"general.edit\")),1)]),_:1},8,[\"content-loading\"])]),_:1},8,[\"to\"])):h(\"\",!0),g()?(n(),_(E,{key:1,position:\"bottom-end\",\"content-loading\":e(p)},{activator:o(()=>[s(x,{class:\"mr-3\",variant:\"primary\",\"content-loading\":e(p)},{default:o(()=>[S(v(y.$t(\"customers.new_transaction\")),1)]),_:1},8,[\"content-loading\"])]),default:o(()=>[e(t).hasAbilities(e(A).CREATE_ESTIMATE)?(n(),_(w,{key:0,to:`/admin/estimates/create?customer=${y.$route.params.id}`},{default:o(()=>[s(c,{class:\"\"},{default:o(()=>[s(j,{name:\"DocumentIcon\",class:\"mr-3 text-gray-600\"}),S(\" \"+v(y.$t(\"estimates.new_estimate\")),1)]),_:1})]),_:1},8,[\"to\"])):h(\"\",!0),e(t).hasAbilities(e(A).CREATE_INVOICE)?(n(),_(w,{key:1,to:`/admin/invoices/create?customer=${y.$route.params.id}`},{default:o(()=>[s(c,null,{default:o(()=>[s(j,{name:\"DocumentTextIcon\",class:\"mr-3 text-gray-600\"}),S(\" \"+v(y.$t(\"invoices.new_invoice\")),1)]),_:1})]),_:1},8,[\"to\"])):h(\"\",!0),e(t).hasAbilities(e(A).CREATE_PAYMENT)?(n(),_(w,{key:2,to:`/admin/payments/create?customer=${y.$route.params.id}`},{default:o(()=>[s(c,null,{default:o(()=>[s(j,{name:\"CreditCardIcon\",class:\"mr-3 text-gray-600\"}),S(\" \"+v(y.$t(\"payments.new_payment\")),1)]),_:1})]),_:1},8,[\"to\"])):h(\"\",!0),e(t).hasAbilities(e(A).CREATE_EXPENSE)?(n(),_(w,{key:3,to:`/admin/expenses/create?customer=${y.$route.params.id}`},{default:o(()=>[s(c,null,{default:o(()=>[s(j,{name:\"CalculatorIcon\",class:\"mr-3 text-gray-600\"}),S(\" \"+v(y.$t(\"expenses.new_expense\")),1)]),_:1})]),_:1},8,[\"to\"])):h(\"\",!0)]),_:1},8,[\"content-loading\"])):h(\"\",!0),b()?(n(),_(be,{key:2,class:Z({\"ml-3\":e(p)}),row:e(u).selectedViewCustomer,\"load-data\":D},null,8,[\"class\",\"row\"])):h(\"\",!0)]),_:1},8,[\"title\"]),s(Ie),s(pt)]),_:1})}}};export{vt as default};\n"
  },
  {
    "path": "public/build/assets/View.1c478abb.js",
    "content": "import{G as M,J as O,a0 as P,B as w,ah as J,k as b,C as K,A as Q,r as d,o as c,l as h,w as n,f as a,u as s,m as j,i as W,t as y,h as r,e as V,y as X,F as Y,j as C}from\"./vendor.d12b5734.js\";import{u as Z,w as F,x as ee}from\"./main.465728e1.js\";import{u as te}from\"./payment.e5b74251.js\";import{u as ae}from\"./global.dc565c4e.js\";import\"./auth.c88ceb4c.js\";const oe={class:\"fixed top-0 left-0 hidden h-full pt-16 pb-4 bg-white w-88 xl:block\"},se={class:\"flex items-center justify-between px-4 pt-8 pb-6 border border-gray-200 border-solid\"},ne={class:\"flex ml-3\",role:\"group\",\"aria-label\":\"First group\"},re={class:\"px-4 py-1 pb-2 mb-2 text-sm border-b border-gray-200 border-solid\"},le={class:\"px-2\"},de={class:\"px-2\"},ie={class:\"px-2\"},me={class:\"h-full pb-32 overflow-y-scroll border-l border-gray-200 border-solid sw-scroll\"},ce={class:\"flex-2\"},ue={class:\"mb-1 text-md not-italic font-medium leading-5 text-gray-500 capitalize\"},pe={class:\"flex-1 whitespace-nowrap right\"},ye={class:\"text-sm text-right text-gray-500 non-italic\"},fe={key:0,class:\"flex justify-center px-4 mt-5 text-sm text-gray-600\"},_e={class:\"flex flex-col min-h-0 mt-8 overflow-hidden\",style:{height:\"75vh\"}},be=[\"src\"],Fe={setup(he){const u=M(),m=te(),f=ae(),{tm:k,t:ge}=O();let _=P({}),e=P({orderBy:\"\",orderByField:\"\",payment_number:\"\"}),g=w(!1),z=w(!1);w(!1),J(\"utils\"),Z();const D=b(()=>m.selectedViewPayment),S=b(()=>e.orderBy===\"asc\"||e.orderBy==null);b(()=>S.value?k(\"general.ascending\"):k(\"general.descending\"));const I=b(()=>_.unique_hash?`/payments/pdf/${_.unique_hash}`:!1);K(u,()=>{$()}),U(),$(),i=Q.exports.debounce(i,500);function N(t){return u.params.id==t}async function U(){await m.fetchPayments({limit:\"all\"},f.companySlug),setTimeout(()=>{G()},500)}async function $(){if(u&&u.params.id){let t=await m.fetchViewPayment({id:u.params.id},f.companySlug);t.data&&Object.assign(_,t.data.data)}}function G(){const t=document.getElementById(`payment-${u.params.id}`);t&&(t.scrollIntoView({behavior:\"smooth\"}),t.classList.add(\"shake\"))}async function i(){let t={};e.payment_number!==\"\"&&e.payment_number!==null&&e.payment_number!==void 0&&(t.payment_number=e.payment_number),e.orderBy!==null&&e.orderBy!==void 0&&(t.orderBy=e.orderBy),e.orderByField!==null&&e.orderByField!==void 0&&(t.orderByField=e.orderByField),g.value=!0;try{let l=await m.searchPayment(t,f.companySlug);g.value=!1,l.data.data&&(m.payments=l.data.data)}catch{g.value=!1}}function T(){return e.orderBy===\"asc\"?(e.orderBy=\"desc\",i(),!0):(e.orderBy=\"asc\",i(),!0)}return(t,l)=>{const p=d(\"BaseIcon\"),B=d(\"BaseButton\"),q=d(\"BasePageHeader\"),A=d(\"BaseInput\"),v=d(\"BaseRadio\"),x=d(\"BaseInputGroup\"),E=d(\"BaseFormatMoney\"),L=d(\"router-link\"),R=d(\"BasePage\");return c(),h(R,{class:\"xl:pl-96\"},{default:n(()=>[a(q,{title:s(D).payment_number},{actions:n(()=>[a(B,{disabled:s(z),variant:\"primary-outline\",tag:\"a\",download:\"\",href:`/payments/pdf/${s(_).unique_hash}`},{left:n(o=>[a(p,{name:\"DownloadIcon\",class:j(o.class)},null,8,[\"class\"]),W(\" \"+y(t.$t(\"general.download\")),1)]),_:1},8,[\"disabled\",\"href\"])]),_:1},8,[\"title\"]),r(\"div\",oe,[r(\"div\",se,[a(A,{modelValue:s(e).payment_number,\"onUpdate:modelValue\":l[0]||(l[0]=o=>s(e).payment_number=o),placeholder:t.$t(\"general.search\"),type:\"text\",variant:\"gray\",onInput:i},{right:n(()=>[a(p,{name:\"SearchIcon\",class:\"h-5 text-gray-400\"})]),_:1},8,[\"modelValue\",\"placeholder\"]),r(\"div\",ne,[a(ee,{position:\"bottom-start\",\"width-class\":\"w-50\",\"position-class\":\"left-0\"},{activator:n(()=>[a(B,{variant:\"gray\"},{default:n(()=>[a(p,{name:\"FilterIcon\",class:\"h-5\"})]),_:1})]),default:n(()=>[r(\"div\",re,y(t.$t(\"general.sort_by\")),1),r(\"div\",le,[a(F,{class:\"rounded-md pt-3 hover:rounded-md\"},{default:n(()=>[a(x,{class:\"-mt-3 font-normal\"},{default:n(()=>[a(v,{id:\"filter_invoice_number\",modelValue:s(e).orderByField,\"onUpdate:modelValue\":[l[1]||(l[1]=o=>s(e).orderByField=o),i],label:t.$t(\"invoices.title\"),size:\"sm\",name:\"filter\",value:\"invoice_number\"},null,8,[\"modelValue\",\"label\"])]),_:1})]),_:1})]),r(\"div\",de,[a(F,{class:\"rounded-md pt-3 hover:rounded-md\"},{default:n(()=>[a(x,{class:\"-mt-3 font-normal\"},{default:n(()=>[a(v,{id:\"filter_payment_date\",modelValue:s(e).orderByField,\"onUpdate:modelValue\":[l[2]||(l[2]=o=>s(e).orderByField=o),i],label:t.$t(\"payments.date\"),size:\"sm\",name:\"filter\",value:\"payment_date\"},null,8,[\"modelValue\",\"label\"])]),_:1})]),_:1})]),r(\"div\",ie,[a(F,{class:\"rounded-md pt-3 hover:rounded-md\"},{default:n(()=>[a(x,{class:\"-mt-3 font-normal\"},{default:n(()=>[a(v,{id:\"filter_payment_number\",modelValue:s(e).orderByField,\"onUpdate:modelValue\":[l[3]||(l[3]=o=>s(e).orderByField=o),i],label:t.$t(\"payments.payment_number\"),size:\"sm\",name:\"filter\",value:\"payment_number\"},null,8,[\"modelValue\",\"label\"])]),_:1})]),_:1})])]),_:1}),a(B,{class:\"ml-1\",variant:\"white\",onClick:T},{default:n(()=>[s(S)?(c(),h(p,{key:0,name:\"SortAscendingIcon\",class:\"h-5\"})):(c(),h(p,{key:1,name:\"SortDescendingIcon\",class:\"h-5\"}))]),_:1})])]),r(\"div\",me,[(c(!0),V(Y,null,X(s(m).payments,(o,H)=>(c(),h(L,{id:\"payment-\"+o.id,key:H,to:`/${s(f).companySlug}/customer/payments/${o.id}/view`,class:j([\"flex justify-between p-4 items-center cursor-pointer hover:bg-gray-100 border-l-4 border-transparent\",{\"bg-gray-100 border-l-4 border-primary-500 border-solid\":N(o.id)}]),style:{\"border-bottom\":\"1px solid rgba(185, 193, 209, 0.41)\"}},{default:n(()=>[r(\"div\",ce,[r(\"div\",ue,y(o.payment_number),1)]),r(\"div\",pe,[a(E,{class:\"mb-2 text-xl not-italic font-semibold leading-8 text-right text-gray-900 block\",amount:o.amount,currency:o.currency},null,8,[\"amount\",\"currency\"]),r(\"div\",ye,y(o.formatted_payment_date),1)])]),_:2},1032,[\"id\",\"to\",\"class\"]))),128)),s(m).payments.length?C(\"\",!0):(c(),V(\"p\",fe,y(t.$t(\"payments.no_matching_payments\")),1))])]),r(\"div\",_e,[s(I)?(c(),V(\"iframe\",{key:0,src:s(I),class:\"flex-1 border border-gray-400 border-solid rounded-md\"},null,8,be)):C(\"\",!0)])]),_:1})}}};export{Fe as default};\n"
  },
  {
    "path": "public/build/assets/View.2505fbc0.js",
    "content": "import{G as Q,aN as W,J as X,a0 as N,B as Y,ah as Z,k as h,C as ee,A as te,r as d,o as m,l as y,w as o,f as a,h as n,u as r,i as E,t as p,j as B,e as S,y as ae,m as se,F as oe}from\"./vendor.d12b5734.js\";import{j as re,u as le,w as V,x as ne}from\"./main.465728e1.js\";import{u as ie}from\"./estimate.f77ffc39.js\";import{u as de}from\"./global.dc565c4e.js\";import\"./auth.c88ceb4c.js\";const me={class:\"mr-3 text-sm\"},ce={class:\"mr-3 text-sm\"},ue={class:\"fixed top-0 left-0 hidden h-full pt-16 pb-4 bg-white w-88 xl:block\"},_e={class:\"flex items-center justify-between px-4 pt-8 pb-6 border border-gray-200 border-solid\"},pe={class:\"flex ml-3\",role:\"group\",\"aria-label\":\"First group\"},fe={class:\"px-4 py-1 pb-2 mb-2 text-sm border-b border-gray-200 border-solid\"},ye={class:\"px-2\"},ge={class:\"px-2\"},be={class:\"px-2\"},he={class:\"h-full pb-32 overflow-y-scroll border-l border-gray-200 border-solid sw-scroll\"},Be={class:\"flex-2\"},ve={class:\"mb-1 text-md not-italic font-medium leading-5 text-gray-500 capitalize\"},xe={class:\"flex-1 whitespace-nowrap right\"},we={class:\"text-sm text-right text-gray-500 non-italic\"},ke={key:0,class:\"flex justify-center px-4 mt-5 text-sm text-gray-600\"},Ee={class:\"flex flex-col min-h-0 mt-8 overflow-hidden\",style:{height:\"75vh\"}},Se=[\"src\"],De={setup(Ve){const c=Q(),F=W(),i=ie(),f=de(),j=re(),{tm:I,t:u}=X();let v=N({}),t=N({orderBy:\"\",orderByField:\"\",estimate_number:\"\"}),x=Y(!1);Z(\"utils\"),le();const R=h(()=>i.selectedViewEstimate),$=h(()=>t.orderBy===\"asc\"||t.orderBy==null);h(()=>$.value?I(\"general.ascending\"):I(\"general.descending\"));const C=h(()=>v.unique_hash?`/estimates/pdf/${v.unique_hash}`:!1);ee(c,()=>{D()}),z(),D(),_=te.exports.debounce(_,500);function T(e){return c.params.id==e}async function z(){await i.fetchEstimate({limit:\"all\"},f.companySlug),setTimeout(()=>{A()},500)}async function D(){if(c&&c.params.id){let e=await i.fetchViewEstimate({id:c.params.id},f.companySlug);e.data&&Object.assign(v,e.data.data)}}function A(){const e=document.getElementById(`estimate-${c.params.id}`);e&&(e.scrollIntoView({behavior:\"smooth\"}),e.classList.add(\"shake\"))}async function _(){let e={};t.estimate_number!==\"\"&&t.estimate_number!==null&&t.estimate_number!==void 0&&(e.estimate_number=t.estimate_number),t.orderBy!==null&&t.orderBy!==void 0&&(e.orderBy=t.orderBy),t.orderByField!==null&&t.orderByField!==void 0&&(e.orderByField=t.orderByField),x.value=!0;try{let l=await i.searchEstimate(e,f.companySlug);x.value=!1,l.data.data&&(i.estimates=l.data.data)}catch{x.value=!1}}function L(){return t.orderBy===\"asc\"?(t.orderBy=\"desc\",_(),!0):(t.orderBy=\"asc\",_(),!0)}async function P(){j.openDialog({title:u(\"general.are_you_sure\"),message:u(\"estimates.confirm_mark_as_accepted\",1),yesLabel:u(\"general.ok\"),noLabel:u(\"general.cancel\"),variant:\"primary\",size:\"lg\",hideNoButton:!1}).then(async e=>{let l={slug:f.companySlug,id:c.params.id,status:\"ACCEPTED\"};e&&(i.acceptEstimate(l),F.push({name:\"estimates.dashboard\"}))})}async function U(){j.openDialog({title:u(\"general.are_you_sure\"),message:u(\"estimates.confirm_mark_as_rejected\",1),yesLabel:u(\"general.ok\"),noLabel:u(\"general.cancel\"),variant:\"primary\",size:\"lg\",hideNoButton:!1}).then(async e=>{let l={slug:f.companySlug,id:c.params.id,status:\"REJECTED\"};e&&(i.rejectEstimate(l),F.push({name:\"estimates.dashboard\"}))})}return(e,l)=>{const g=d(\"BaseButton\"),G=d(\"BasePageHeader\"),b=d(\"BaseIcon\"),q=d(\"BaseInput\"),w=d(\"BaseRadio\"),k=d(\"BaseInputGroup\"),H=d(\"BaseEstimateStatusBadge\"),J=d(\"BaseFormatMoney\"),M=d(\"router-link\"),O=d(\"BasePage\");return m(),y(O,{class:\"xl:pl-96\"},{default:o(()=>[a(G,{title:r(R).estimate_number},{actions:o(()=>[n(\"div\",me,[r(i).selectedViewEstimate.status===\"DRAFT\"?(m(),y(g,{key:0,variant:\"primary\",onClick:P},{default:o(()=>[E(p(e.$t(\"estimates.accept_estimate\")),1)]),_:1})):B(\"\",!0)]),n(\"div\",ce,[r(i).selectedViewEstimate.status===\"DRAFT\"?(m(),y(g,{key:0,variant:\"primary-outline\",onClick:U},{default:o(()=>[E(p(e.$t(\"estimates.reject_estimate\")),1)]),_:1})):B(\"\",!0)])]),_:1},8,[\"title\"]),n(\"div\",ue,[n(\"div\",_e,[a(q,{modelValue:r(t).estimate_number,\"onUpdate:modelValue\":l[0]||(l[0]=s=>r(t).estimate_number=s),placeholder:e.$t(\"general.search\"),type:\"text\",variant:\"gray\",onInput:_},{right:o(()=>[a(b,{name:\"SearchIcon\",class:\"h-5 text-gray-400\"})]),_:1},8,[\"modelValue\",\"placeholder\"]),n(\"div\",pe,[a(ne,{position:\"bottom-start\",\"width-class\":\"w-50\",\"position-class\":\"left-0\"},{activator:o(()=>[a(g,{variant:\"gray\"},{default:o(()=>[a(b,{name:\"FilterIcon\",class:\"h-5\"})]),_:1})]),default:o(()=>[n(\"div\",fe,p(e.$t(\"general.sort_by\")),1),n(\"div\",ye,[a(V,{class:\"rounded-md pt-3 hover:rounded-md\"},{default:o(()=>[a(k,{class:\"-mt-3 font-normal\"},{default:o(()=>[a(w,{id:\"filter_estimate_date\",modelValue:r(t).orderByField,\"onUpdate:modelValue\":l[1]||(l[1]=s=>r(t).orderByField=s),label:e.$t(\"reports.estimates.estimate_date\"),size:\"sm\",name:\"filter\",value:\"estimate_date\",onChange:_},null,8,[\"modelValue\",\"label\"])]),_:1})]),_:1})]),n(\"div\",ge,[a(V,{class:\"rounded-md pt-3 hover:rounded-md\"},{default:o(()=>[a(k,{class:\"-mt-3 font-normal\"},{default:o(()=>[a(w,{id:\"filter_due_date\",modelValue:r(t).orderByField,\"onUpdate:modelValue\":[l[2]||(l[2]=s=>r(t).orderByField=s),_],label:e.$t(\"estimates.due_date\"),value:\"expiry_date\",size:\"sm\",name:\"filter\"},null,8,[\"modelValue\",\"label\"])]),_:1})]),_:1})]),n(\"div\",be,[a(V,{class:\"rounded-md pt-3 hover:rounded-md\"},{default:o(()=>[a(k,{class:\"-mt-3 font-normal\"},{default:o(()=>[a(w,{id:\"filter_estimate_number\",modelValue:r(t).orderByField,\"onUpdate:modelValue\":[l[3]||(l[3]=s=>r(t).orderByField=s),_],label:e.$t(\"estimates.estimate_number\"),value:\"estimate_number\",size:\"sm\",name:\"filter\"},null,8,[\"modelValue\",\"label\"])]),_:1})]),_:1})])]),_:1}),a(g,{class:\"ml-1\",variant:\"white\",onClick:L},{default:o(()=>[r($)?(m(),y(b,{key:0,name:\"SortAscendingIcon\",class:\"h-5\"})):(m(),y(b,{key:1,name:\"SortDescendingIcon\",class:\"h-5\"}))]),_:1})])]),n(\"div\",he,[(m(!0),S(oe,null,ae(r(i).estimates,(s,K)=>(m(),y(M,{id:\"estimate-\"+s.id,key:K,to:`/${r(f).companySlug}/customer/estimates/${s.id}/view`,class:se([\"flex justify-between p-4 items-center cursor-pointer hover:bg-gray-100 border-l-4 border-transparent\",{\"bg-gray-100 border-l-4 border-primary-500 border-solid\":T(s.id)}]),style:{\"border-bottom\":\"1px solid rgba(185, 193, 209, 0.41)\"}},{default:o(()=>[n(\"div\",Be,[n(\"div\",ve,p(s.estimate_number),1),a(H,{status:s.status},{default:o(()=>[E(p(s.status),1)]),_:2},1032,[\"status\"])]),n(\"div\",xe,[a(J,{class:\"mb-2 text-xl not-italic font-semibold leading-8 text-right text-gray-900 block\",amount:s.total,currency:s.currency},null,8,[\"amount\",\"currency\"]),n(\"div\",we,p(s.formatted_estimate_date),1)])]),_:2},1032,[\"id\",\"to\",\"class\"]))),128)),r(i).estimates.length?B(\"\",!0):(m(),S(\"p\",ke,p(e.$t(\"estimates.no_matching_estimates\")),1))])]),n(\"div\",Ee,[r(C)?(m(),S(\"iframe\",{key:0,src:r(C),class:\"flex-1 border border-gray-400 border-solid rounded-md\"},null,8,Se)):B(\"\",!0)])]),_:1})}}};export{De as default};\n"
  },
  {
    "path": "public/build/assets/View.44f27c50.js",
    "content": "var te=Object.defineProperty;var P=Object.getOwnPropertySymbols;var ne=Object.prototype.hasOwnProperty,ae=Object.prototype.propertyIsEnumerable;var G=(p,e,o)=>e in p?te(p,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):p[e]=o,M=(p,e)=>{for(var o in e||(e={}))ne.call(e,o)&&G(p,o,e[o]);if(P)for(var o of P(e))ae.call(e,o)&&G(p,o,e[o]);return p};import{J as z,G as q,B as w,a0 as oe,k as O,A as re,r as u,o as m,e as T,h as b,f as n,w as i,u as a,t as h,l as y,F as J,y as se,i as j,m as ie,j as R,ah as le,aN as W,V as ce,C as ue}from\"./vendor.d12b5734.js\";import{t as A,e as K,g as C,j as de}from\"./main.465728e1.js\";import{L as me}from\"./LoadingIcon.b704202b.js\";import{_ as _e}from\"./InvoiceIndexDropdown.c4bcaa08.js\";import{_ as ve}from\"./SendInvoiceModal.f818e383.js\";import{_ as ge}from\"./RecurringInvoiceIndexDropdown.5e1ae0da.js\";import\"./mail-driver.0a974f6a.js\";const pe={class:\"fixed top-0 left-0 hidden h-full pt-16 pb-[6.4rem] ml-56 bg-white xl:ml-64 w-88 xl:block\"},fe={class:\"flex items-center justify-between px-4 pt-8 pb-2 border border-gray-200 border-solid height-full\"},be={class:\"mb-6\"},ye={class:\"flex mb-6 ml-3\",role:\"group\",\"aria-label\":\"First group\"},Ie={class:\"px-2 py-1 pb-2 mb-1 mb-2 text-sm border-b border-gray-200 border-solid\"},Be={class:\"flex-2\"},he={class:\"mt-1 mb-2 text-xs not-italic font-medium leading-5 text-gray-600\"},xe={class:\"flex-1 whitespace-nowrap right\"},we={class:\"text-sm not-italic font-normal leading-5 text-right text-gray-600 est-date\"},Re={key:0,class:\"flex justify-center p-4 items-center\"},ke={key:1,class:\"flex justify-center px-4 mt-5 text-sm text-gray-600\"},Se={setup(p){const e=A();z();const o=q(),l=w(!1),_=w(null),d=w(1),f=w(1),I=w(null),t=oe({orderBy:null,orderByField:null,searchText:null}),k=O(()=>t.orderBy===\"asc\"||t.orderBy==null);function S(s){return o.params.id==s}async function B(s,v=!1){if(l.value)return;let g={};t.searchText!==\"\"&&t.searchText!==null&&t.searchText!==void 0&&(g.search=t.searchText),t.orderBy!==null&&t.orderBy!==void 0&&(g.orderBy=t.orderBy),t.orderByField!==null&&t.orderByField!==void 0&&(g.orderByField=t.orderByField),l.value=!0;let $=await e.fetchRecurringInvoices(M({page:s},g));l.value=!1,_.value=_.value?_.value:[],_.value=[..._.value,...$.data.data],d.value=s||1,f.value=$.data.meta.last_page;let x=_.value.find(E=>E.id==o.params.id);v==!1&&!x&&d.value<f.value&&Object.keys(g).length===0&&B(++d.value),x&&setTimeout(()=>{v==!1&&V()},500)}function V(){const s=document.getElementById(`recurring-invoice-${o.params.id}`);s&&(s.scrollIntoView({behavior:\"smooth\"}),s.classList.add(\"shake\"),D())}function D(){I.value.addEventListener(\"scroll\",s=>{s.target.scrollTop>0&&s.target.scrollTop+s.target.clientHeight>s.target.scrollHeight-200&&d.value<f.value&&B(++d.value,!0)})}async function r(){_.value=[],B()}function F(){return t.orderBy===\"asc\"?(t.orderBy=\"desc\",r(),!0):(t.orderBy=\"asc\",r(),!0)}return B(),r=re.exports.debounce(r,500),(s,v)=>{var H;const g=u(\"BaseIcon\"),$=u(\"BaseInput\"),x=u(\"BaseButton\"),E=u(\"BaseRadio\"),N=u(\"BaseInputGroup\"),L=u(\"BaseDropdownItem\"),Q=u(\"BaseDropdown\"),X=u(\"BaseText\"),Y=u(\"BaseRecurringInvoiceStatusBadge\"),Z=u(\"BaseFormatMoney\"),ee=u(\"router-link\");return m(),T(\"div\",pe,[b(\"div\",fe,[b(\"div\",be,[n($,{modelValue:a(t).searchText,\"onUpdate:modelValue\":v[0]||(v[0]=c=>a(t).searchText=c),placeholder:s.$t(\"general.search\"),type:\"text\",variant:\"gray\",onInput:v[1]||(v[1]=c=>r())},{right:i(()=>[n(g,{name:\"SearchIcon\",class:\"h-5 text-gray-400\"})]),_:1},8,[\"modelValue\",\"placeholder\"])]),b(\"div\",ye,[n(Q,{class:\"ml-3\",position:\"bottom-start\"},{activator:i(()=>[n(x,{size:\"md\",variant:\"gray\"},{default:i(()=>[n(g,{name:\"FilterIcon\",class:\"h-5\"})]),_:1})]),default:i(()=>[b(\"div\",Ie,h(s.$t(\"general.sort_by\")),1),n(L,{class:\"flex px-1 py-2 cursor-pointer\"},{default:i(()=>[n(N,{class:\"-mt-3 font-normal\"},{default:i(()=>[n(E,{id:\"filter_next_invoice_date\",modelValue:a(t).orderByField,\"onUpdate:modelValue\":[v[2]||(v[2]=c=>a(t).orderByField=c),r],label:s.$t(\"recurring_invoices.next_invoice_date\"),size:\"sm\",name:\"filter\",value:\"next_invoice_at\"},null,8,[\"modelValue\",\"label\"])]),_:1})]),_:1}),n(L,{class:\"flex px-1 py-2 cursor-pointer\"},{default:i(()=>[n(N,{class:\"-mt-3 font-normal\"},{default:i(()=>[n(E,{id:\"filter_start_date\",modelValue:a(t).orderByField,\"onUpdate:modelValue\":[v[3]||(v[3]=c=>a(t).orderByField=c),r],label:s.$t(\"recurring_invoices.starts_at\"),value:\"starts_at\",size:\"sm\",name:\"filter\"},null,8,[\"modelValue\",\"label\"])]),_:1})]),_:1})]),_:1}),n(x,{class:\"ml-1\",size:\"md\",variant:\"gray\",onClick:F},{default:i(()=>[a(k)?(m(),y(g,{key:0,name:\"SortAscendingIcon\",class:\"h-5\"})):(m(),y(g,{key:1,name:\"SortDescendingIcon\",class:\"h-5\"}))]),_:1})])]),b(\"div\",{ref:(c,U)=>{U.invoiceListSection=c,I.value=c},class:\"h-full overflow-y-scroll border-l border-gray-200 border-solid base-scroll\"},[(m(!0),T(J,null,se(_.value,(c,U)=>(m(),T(\"div\",{key:U},[c?(m(),y(ee,{key:0,id:\"recurring-invoice-\"+c.id,to:`/admin/recurring-invoices/${c.id}/view`,class:ie([\"flex justify-between side-invoice p-4 cursor-pointer hover:bg-gray-100 items-center border-l-4 border-transparent\",{\"bg-gray-100 border-l-4 border-primary-500 border-solid\":S(c.id)}]),style:{\"border-bottom\":\"1px solid rgba(185, 193, 209, 0.41)\"}},{default:i(()=>[b(\"div\",Be,[n(X,{text:c.customer.name,length:30,class:\"pr-2 mb-2 text-sm not-italic font-normal leading-5 text-black capitalize truncate\"},null,8,[\"text\"]),b(\"div\",he,h(c.invoice_number),1),n(Y,{status:c.status,class:\"px-1 text-xs\"},{default:i(()=>[j(h(c.status),1)]),_:2},1032,[\"status\"])]),b(\"div\",xe,[n(Z,{class:\"block mb-2 text-xl not-italic font-semibold leading-8 text-right text-gray-900\",amount:c.total,currency:c.customer.currency},null,8,[\"amount\",\"currency\"]),b(\"div\",we,h(c.formatted_starts_at),1)])]),_:2},1032,[\"id\",\"to\",\"class\"])):R(\"\",!0)]))),128)),l.value?(m(),T(\"div\",Re,[n(me,{class:\"h-6 m-1 animate-spin text-primary-400\"})])):R(\"\",!0),!((H=_.value)==null?void 0:H.length)&&!l.value?(m(),T(\"p\",ke,h(s.$t(\"invoices.no_matching_invoices\")),1)):R(\"\",!0)],512)])}}},$e={class:\"relative table-container\"},Ee={setup(p){const e=A(),o=w(null);w(null),le(\"$utils\");const{t:l}=z();w(null),W();const _=K(),d=O(()=>[{key:\"invoice_date\",label:l(\"invoices.date\"),thClass:\"extra\",tdClass:\"font-medium text-gray-900\"},{key:\"invoice_number\",label:l(\"invoices.invoice\")},{key:\"customer.name\",label:l(\"invoices.customer\")},{key:\"status\",label:l(\"invoices.status\")},{key:\"total\",label:l(\"invoices.total\")},{key:\"actions\",label:l(\"invoices.action\"),tdClass:\"text-right text-sm font-medium\",thClass:\"text-right\",sortable:!1}]);function f(){return _.hasAbilities([C.DELETE_INVOICE,C.EDIT_INVOICE,C.VIEW_INVOICE,C.SEND_INVOICE])}function I(t){let k=e.newRecurringInvoice.invoices.findIndex(S=>S.id===t);e.newRecurringInvoice.invoices[k]&&(e.newRecurringInvoice.invoices[k].status=\"SENT\")}return(t,k)=>{const S=u(\"router-link\"),B=u(\"BaseFormatMoney\"),V=u(\"BaseInvoiceStatusBadge\"),D=u(\"BaseTable\");return m(),T(J,null,[n(ve,{onUpdate:I}),b(\"div\",$e,[n(D,{ref:(r,F)=>{F.table=r,o.value=r},data:a(e).newRecurringInvoice.invoices,columns:a(d),loading:a(e).isFetchingViewData,\"placeholder-count\":5,class:\"mt-5\"},ce({\"cell-invoice_number\":i(({row:r})=>[n(S,{to:{path:`/admin/invoices/${r.data.id}/view`},class:\"font-medium text-primary-500\"},{default:i(()=>[j(h(r.data.invoice_number),1)]),_:2},1032,[\"to\"])]),\"cell-total\":i(({row:r})=>[n(B,{amount:r.data.due_amount,currency:r.data.currency},null,8,[\"amount\",\"currency\"])]),\"cell-status\":i(({row:r})=>[n(V,{status:r.data.status,class:\"px-3 py-1\"},{default:i(()=>[j(h(r.data.status),1)]),_:2},1032,[\"status\"])]),_:2},[f()?{name:\"cell-actions\",fn:i(({row:r})=>[n(_e,{row:r.data,table:o.value},null,8,[\"row\",\"table\"])])}:void 0]),1032,[\"data\",\"columns\",\"loading\"])])],64)}}},Ve={setup(p){const e=A(),o=q();let l=O(()=>e.isFetchingViewData);ue(o,()=>{o.params.id&&o.name===\"recurring-invoices.view\"&&_()},{immediate:!0});async function _(){await e.fetchRecurringInvoice(o.params.id)}return(d,f)=>{const I=u(\"BaseHeading\"),t=u(\"BaseDescriptionListItem\"),k=u(\"BaseDescriptionList\"),S=u(\"BaseCard\");return m(),y(S,{class:\"mt-10\"},{default:i(()=>[n(I,null,{default:i(()=>[j(h(d.$t(\"customers.basic_info\")),1)]),_:1}),n(k,{class:\"mt-5\"},{default:i(()=>{var B,V,D,r,F,s,v,g,$,x,E,N,L;return[n(t,{label:d.$t(\"recurring_invoices.starts_at\"),\"content-loading\":a(l),value:(B=a(e).newRecurringInvoice)==null?void 0:B.formatted_starts_at},null,8,[\"label\",\"content-loading\",\"value\"]),n(t,{label:d.$t(\"recurring_invoices.next_invoice_date\"),\"content-loading\":a(l),value:(V=a(e).newRecurringInvoice)==null?void 0:V.formatted_next_invoice_at},null,8,[\"label\",\"content-loading\",\"value\"]),((D=a(e).newRecurringInvoice)==null?void 0:D.limit_date)&&((r=a(e).newRecurringInvoice)==null?void 0:r.limit_by)!==\"NONE\"?(m(),y(t,{key:0,label:d.$t(\"recurring_invoices.limit_date\"),\"content-loading\":a(l),value:(F=a(e).newRecurringInvoice)==null?void 0:F.limit_date},null,8,[\"label\",\"content-loading\",\"value\"])):R(\"\",!0),((s=a(e).newRecurringInvoice)==null?void 0:s.limit_date)&&((v=a(e).newRecurringInvoice)==null?void 0:v.limit_by)!==\"NONE\"?(m(),y(t,{key:1,label:d.$t(\"recurring_invoices.limit_by\"),\"content-loading\":a(l),value:(g=a(e).newRecurringInvoice)==null?void 0:g.limit_by},null,8,[\"label\",\"content-loading\",\"value\"])):R(\"\",!0),(($=a(e).newRecurringInvoice)==null?void 0:$.limit_count)?(m(),y(t,{key:2,label:d.$t(\"recurring_invoices.limit_count\"),value:(x=a(e).newRecurringInvoice)==null?void 0:x.limit_count,\"content-loading\":a(l)},null,8,[\"label\",\"value\",\"content-loading\"])):R(\"\",!0),((E=a(e).newRecurringInvoice)==null?void 0:E.selectedFrequency)?(m(),y(t,{key:3,label:d.$t(\"recurring_invoices.frequency.title\"),value:(L=(N=a(e).newRecurringInvoice)==null?void 0:N.selectedFrequency)==null?void 0:L.label,\"content-loading\":a(l)},null,8,[\"label\",\"value\",\"content-loading\"])):R(\"\",!0)]}),_:1}),n(I,{class:\"mt-8\"},{default:i(()=>[j(h(d.$t(\"invoices.title\",2)),1)]),_:1}),n(Ee)]),_:1})}}},Ae={setup(p){de();const e=A(),o=K();z(),W();const l=O(()=>{var d,f;return e.newRecurringInvoice?(f=(d=e.newRecurringInvoice)==null?void 0:d.customer)==null?void 0:f.name:\"\"});function _(){return o.hasAbilities([C.DELETE_RECURRING_INVOICE,C.EDIT_RECURRING_INVOICE])}return(d,f)=>{const I=u(\"BasePageHeader\"),t=u(\"BasePage\");return m(),y(t,{class:\"xl:pl-96\"},{default:i(()=>[n(I,{title:a(l)},{actions:i(()=>[_()?(m(),y(ge,{key:0,row:a(e).newRecurringInvoice},null,8,[\"row\"])):R(\"\",!0)]),_:1},8,[\"title\"]),n(Se),n(Ve)]),_:1})}}};export{Ae as default};\n"
  },
  {
    "path": "public/build/assets/View.7e060296.js",
    "content": "var le=Object.defineProperty;var H=Object.getOwnPropertySymbols;var de=Object.prototype.hasOwnProperty,ie=Object.prototype.propertyIsEnumerable;var G=(p,n,l)=>n in p?le(p,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):p[n]=l,O=(p,n)=>{for(var l in n||(n={}))de.call(n,l)&&G(p,l,n[l]);if(H)for(var l of H(n))ie.call(n,l)&&G(p,l,n[l]);return p};import{G as ce,J as ue,a0 as R,B as h,k as w,I as me,C as fe,A as pe,r as i,o as u,e as b,f as o,w as r,u as s,l as S,i as _e,t as v,j as F,h as d,F as q,y as ye,m as ge}from\"./vendor.d12b5734.js\";import{c as he,e as be,j as ve,g as Be}from\"./main.465728e1.js\";import{u as xe}from\"./payment.93619753.js\";import{_ as ke,a as we}from\"./SendPaymentModal.26ce23d7.js\";import{L as Fe}from\"./LoadingIcon.b704202b.js\";import\"./mail-driver.0a974f6a.js\";const Ie={class:\"fixed top-0 left-0 hidden h-full pt-16 pb-[6rem] ml-56 bg-white xl:ml-64 w-88 xl:block\"},Pe={class:\"flex items-center justify-between px-4 pt-8 pb-6 border border-gray-200 border-solid\"},Ve={class:\"flex ml-3\",role:\"group\",\"aria-label\":\"First group\"},Se={class:\"px-4 py-1 pb-2 mb-2 text-sm border-b border-gray-200 border-solid\"},Te={class:\"px-2\"},je={class:\"px-2\"},De={class:\"px-2\"},$e={class:\"flex-2\"},Le={class:\"mb-1 text-xs not-italic font-medium leading-5 text-gray-500 capitalize\"},Me={class:\"mb-1 text-xs not-italic font-medium leading-5 text-gray-500 capitalize\"},ze={class:\"flex-1 whitespace-nowrap right\"},Ce={class:\"text-sm text-right text-gray-500 non-italic\"},Ne={key:0,class:\"flex justify-center p-4 items-center\"},Ue={key:1,class:\"flex justify-center px-4 mt-5 text-sm text-gray-600\"},Ae={class:\"flex flex-col min-h-0 mt-8 overflow-hidden\",style:{height:\"75vh\"}},Ee=[\"src\"],Ke={setup(p){const n=ce(),{t:l}=ue();let y=R({}),a=R({orderBy:null,orderByField:null,searchText:null}),B=h(!1),I=h(!1);const x=xe(),J=he(),K=be(),m=h(null),k=h(1),T=h(1),z=h(null),Q=w(()=>y.payment_number||\"\"),C=w(()=>a.orderBy===\"asc\"||a.orderBy==null);w(()=>C.value?l(\"general.ascending\"):l(\"general.descending\"));const N=w(()=>y.unique_hash?`/payments/pdf/${y.unique_hash}`:!1);w(()=>{var t;return me((t=x==null?void 0:x.selectedPayment)==null?void 0:t.payment_date).format(\"YYYY/MM/DD\")}),fe(n,()=>{U()}),P(),U(),_=pe.exports.debounce(_,500);function W(t){return n.params.id==t}ve();async function P(t,c=!1){if(B.value)return;let f={};a.searchText!==\"\"&&a.searchText!==null&&a.searchText!==void 0&&(f.search=a.searchText),a.orderBy!==null&&a.orderBy!==void 0&&(f.orderBy=a.orderBy),a.orderByField!==null&&a.orderByField!==void 0&&(f.orderByField=a.orderByField),B.value=!0;let V=await x.fetchPayments(O({page:t},f));B.value=!1,m.value=m.value?m.value:[],m.value=[...m.value,...V.data.data],k.value=t||1,T.value=V.data.meta.last_page;let g=m.value.find(j=>j.id==n.params.id);c==!1&&!g&&k.value<T.value&&Object.keys(f).length===0&&P(++k.value),g&&setTimeout(()=>{c==!1&&X()},500)}async function U(){if(!n.params.id)return;I.value=!0;let t=await x.fetchPayment(n.params.id);t.data&&(I.value=!1,Object.assign(y,t.data.data))}function X(){const t=document.getElementById(`payment-${n.params.id}`);t&&(t.scrollIntoView({behavior:\"smooth\"}),t.classList.add(\"shake\"),Z())}function Z(){z.value.addEventListener(\"scroll\",t=>{t.target.scrollTop>0&&t.target.scrollTop+t.target.clientHeight>t.target.scrollHeight-200&&k.value<T.value&&P(++k.value,!0)})}async function _(){m.value=[],P()}function ee(){return a.orderBy===\"asc\"?(a.orderBy=\"desc\",_(),!0):(a.orderBy=\"asc\",_(),!0)}async function te(){J.openModal({title:l(\"payments.send_payment\"),componentName:\"SendPaymentModal\",id:y.id,data:y,variant:\"lg\"})}return(t,c)=>{const f=i(\"BaseButton\"),V=i(\"BasePageHeader\"),g=i(\"BaseIcon\"),j=i(\"BaseInput\"),D=i(\"BaseRadio\"),$=i(\"BaseInputGroup\"),L=i(\"BaseDropdownItem\"),ae=i(\"BaseDropdown\"),oe=i(\"BaseText\"),se=i(\"BaseFormatMoney\"),ne=i(\"router-link\"),re=i(\"BasePage\");return u(),b(q,null,[o(ke),o(re,{class:\"xl:pl-96\"},{default:r(()=>{var A;return[o(V,{title:s(Q)},{actions:r(()=>[s(K).hasAbilities(s(Be).SEND_PAYMENT)?(u(),S(f,{key:0,\"content-loading\":s(I),variant:\"primary\",onClick:te},{default:r(()=>[_e(v(t.$t(\"payments.send_payment_receipt\")),1)]),_:1},8,[\"content-loading\"])):F(\"\",!0),o(we,{\"content-loading\":s(I),class:\"ml-3\",row:s(y)},null,8,[\"content-loading\",\"row\"])]),_:1},8,[\"title\"]),d(\"div\",Ie,[d(\"div\",Pe,[o(j,{modelValue:s(a).searchText,\"onUpdate:modelValue\":c[0]||(c[0]=e=>s(a).searchText=e),placeholder:t.$t(\"general.search\"),type:\"text\",onInput:_},{default:r(()=>[o(g,{name:\"SearchIcon\",class:\"h-5\"})]),_:1},8,[\"modelValue\",\"placeholder\"]),d(\"div\",Ve,[o(ae,{position:\"bottom-start\",\"width-class\":\"w-50\",\"position-class\":\"left-0\"},{activator:r(()=>[o(f,{variant:\"gray\"},{default:r(()=>[o(g,{name:\"FilterIcon\"})]),_:1})]),default:r(()=>[d(\"div\",Se,v(t.$t(\"general.sort_by\")),1),d(\"div\",Te,[o(L,{class:\"pt-3 rounded-md hover:rounded-md\"},{default:r(()=>[o($,{class:\"-mt-3 font-normal\"},{default:r(()=>[o(D,{id:\"filter_invoice_number\",modelValue:s(a).orderByField,\"onUpdate:modelValue\":[c[1]||(c[1]=e=>s(a).orderByField=e),_],label:t.$t(\"invoices.title\"),size:\"sm\",name:\"filter\",value:\"invoice_number\"},null,8,[\"modelValue\",\"label\"])]),_:1})]),_:1})]),d(\"div\",je,[o(L,{class:\"pt-3 rounded-md hover:rounded-md\"},{default:r(()=>[o($,{class:\"-mt-3 font-normal\"},{default:r(()=>[o(D,{modelValue:s(a).orderByField,\"onUpdate:modelValue\":[c[2]||(c[2]=e=>s(a).orderByField=e),_],label:t.$t(\"payments.date\"),size:\"sm\",name:\"filter\",value:\"payment_date\"},null,8,[\"modelValue\",\"label\"])]),_:1})]),_:1})]),d(\"div\",De,[o(L,{class:\"pt-3 rounded-md hover:rounded-md\"},{default:r(()=>[o($,{class:\"-mt-3 font-normal\"},{default:r(()=>[o(D,{id:\"filter_payment_number\",modelValue:s(a).orderByField,\"onUpdate:modelValue\":[c[3]||(c[3]=e=>s(a).orderByField=e),_],label:t.$t(\"payments.payment_number\"),size:\"sm\",name:\"filter\",value:\"payment_number\"},null,8,[\"modelValue\",\"label\"])]),_:1})]),_:1})])]),_:1}),o(f,{class:\"ml-1\",size:\"md\",variant:\"gray\",onClick:ee},{default:r(()=>[s(C)?(u(),S(g,{key:0,name:\"SortAscendingIcon\"})):(u(),S(g,{key:1,name:\"SortDescendingIcon\"}))]),_:1})])]),d(\"div\",{ref:(e,M)=>{M.paymentListSection=e,z.value=e},class:\"h-full overflow-y-scroll border-l border-gray-200 border-solid\"},[(u(!0),b(q,null,ye(m.value,(e,M)=>(u(),b(\"div\",{key:M},[e?(u(),S(ne,{key:0,id:\"payment-\"+e.id,to:`/admin/payments/${e.id}/view`,class:ge([\"flex justify-between p-4 items-center cursor-pointer hover:bg-gray-100 border-l-4 border-transparent\",{\"bg-gray-100 border-l-4 border-primary-500 border-solid\":W(e.id)}]),style:{\"border-bottom\":\"1px solid rgba(185, 193, 209, 0.41)\"}},{default:r(()=>{var E,Y;return[d(\"div\",$e,[o(oe,{text:(E=e==null?void 0:e.customer)==null?void 0:E.name,length:30,class:\"pr-2 mb-2 text-sm not-italic font-normal leading-5 text-black capitalize truncate\"},null,8,[\"text\"]),d(\"div\",Le,v(e==null?void 0:e.payment_number),1),d(\"div\",Me,v(e==null?void 0:e.invoice_number),1)]),d(\"div\",ze,[o(se,{class:\"block mb-2 text-xl not-italic font-semibold leading-8 text-right text-gray-900\",amount:e==null?void 0:e.amount,currency:(Y=e.customer)==null?void 0:Y.currency},null,8,[\"amount\",\"currency\"]),d(\"div\",Ce,v(e.formatted_payment_date),1)])]}),_:2},1032,[\"id\",\"to\",\"class\"])):F(\"\",!0)]))),128)),s(B)?(u(),b(\"div\",Ne,[o(Fe,{class:\"h-6 m-1 animate-spin text-primary-400\"})])):F(\"\",!0),!((A=m.value)==null?void 0:A.length)&&!s(B)?(u(),b(\"p\",Ue,v(t.$t(\"payments.no_matching_payments\")),1)):F(\"\",!0)],512)]),d(\"div\",Ae,[s(N)?(u(),b(\"iframe\",{key:0,src:s(N),class:\"flex-1 border border-gray-400 border-solid rounded-md\"},null,8,Ee)):F(\"\",!0)])]}),_:1})],64)}}};export{Ke as default};\n"
  },
  {
    "path": "public/build/assets/View.ae81e386.js",
    "content": "var ce=Object.defineProperty;var O=Object.getOwnPropertySymbols;var me=Object.prototype.hasOwnProperty,fe=Object.prototype.propertyIsEnumerable;var q=(_,c,i)=>c in _?ce(_,c,{enumerable:!0,configurable:!0,writable:!0,value:i}):_[c]=i,z=(_,c)=>{for(var i in c||(c={}))me.call(c,i)&&q(_,i,c[i]);if(O)for(var i of O(c))fe.call(c,i)&&q(_,i,c[i]);return _};import{J as pe,B as y,G as _e,aN as ve,a0 as ye,k as w,C as ge,A as be,r as d,o as f,e as T,f as s,l as x,w as l,h as u,u as n,i as C,t as h,j as B,F as J,y as he,m as xe}from\"./vendor.d12b5734.js\";import{c as Be,k as ke,j as Se,e as Ee,g as K}from\"./main.465728e1.js\";import{_ as we}from\"./EstimateIndexDropdown.8917d9cc.js\";import{_ as Te}from\"./SendEstimateModal.01516700.js\";import{L as Ie}from\"./LoadingIcon.b704202b.js\";import\"./mail-driver.0a974f6a.js\";const Fe={class:\"mr-3 text-sm\"},Ve={class:\"fixed top-0 left-0 hidden h-full pt-16 pb-[6.4rem] ml-56 bg-white xl:ml-64 w-88 xl:block\"},De={class:\"flex items-center justify-between px-4 pt-8 pb-2 border border-gray-200 border-solid height-full\"},$e={class:\"mb-6\"},Le={class:\"flex mb-6 ml-3\",role:\"group\",\"aria-label\":\"First group\"},je={class:\"px-4 py-1 pb-2 mb-1 mb-2 text-sm border-b border-gray-200 border-solid\"},Ae={class:\"flex-2\"},Ne={class:\"mt-1 mb-2 text-xs not-italic font-medium leading-5 text-gray-600\"},Me={class:\"flex-1 whitespace-nowrap right\"},ze={class:\"text-sm not-italic font-normal leading-5 text-right text-gray-600 est-date\"},Ce={key:0,class:\"flex justify-center p-4 items-center\"},Ue={key:1,class:\"flex justify-center px-4 mt-5 text-sm text-gray-600\"},Pe={class:\"flex flex-col min-h-0 mt-8 overflow-hidden\",style:{height:\"75vh\"}},Re=[\"src\"],We={setup(_){const c=Be(),i=ke(),Q=Se(),U=Ee(),{t:g}=pe(),r=y(null),k=_e();ve();const I=y(!1),S=y(!1),F=y(!1),m=y(null),E=y(1),$=y(1),P=y(null),t=ye({orderBy:null,orderByField:null,searchText:null}),W=w(()=>r.value.estimate_number),R=w(()=>t.orderBy===\"asc\"||t.orderBy==null);w(()=>R.value?g(\"general.ascending\"):g(\"general.descending\"));const X=w(()=>`/estimates/pdf/${r.value.unique_hash}`);w(()=>r.value&&r.value.id?estimate.value.id:null),ge(k,(e,o)=>{e.name===\"estimates.view\"&&H()}),V(),H(),v=be.exports.debounce(v,500);function Y(e){return k.params.id==e}async function V(e,o=!1){if(S.value)return;let p={};t.searchText!==\"\"&&t.searchText!==null&&t.searchText!==void 0&&(p.search=t.searchText),t.orderBy!==null&&t.orderBy!==void 0&&(p.orderBy=t.orderBy),t.orderByField!==null&&t.orderByField!==void 0&&(p.orderByField=t.orderByField),S.value=!0;let D=await i.fetchEstimates(z({page:e},p));S.value=!1,m.value=m.value?m.value:[],m.value=[...m.value,...D.data.data],E.value=e||1,$.value=D.data.meta.last_page;let b=m.value.find(L=>L.id==k.params.id);o==!1&&!b&&E.value<$.value&&Object.keys(p).length===0&&V(++E.value),b&&setTimeout(()=>{o==!1&&Z()},500)}function Z(){const e=document.getElementById(`estimate-${k.params.id}`);e&&(e.scrollIntoView({behavior:\"smooth\"}),e.classList.add(\"shake\"),ee())}function ee(){P.value.addEventListener(\"scroll\",e=>{e.target.scrollTop>0&&e.target.scrollTop+e.target.clientHeight>e.target.scrollHeight-200&&E.value<$.value&&V(++E.value,!0)})}async function H(){F.value=!0;let e=await i.fetchEstimate(k.params.id);e.data&&(F.value=!1,r.value=z({},e.data.data))}async function v(){m.value=[],V()}function te(){return t.orderBy===\"asc\"?(t.orderBy=\"desc\",v(),!0):(t.orderBy=\"asc\",v(),!0)}async function ae(){Q.openDialog({title:g(\"general.are_you_sure\"),message:g(\"estimates.confirm_mark_as_sent\"),yesLabel:g(\"general.ok\"),noLabel:g(\"general.cancel\"),variant:\"primary\",hideNoButton:!1,size:\"lg\"}).then(e=>{I.value=!1,e&&(i.markAsSent({id:r.value.id,status:\"SENT\"}),r.value.status=\"SENT\",I.value=!0),I.value=!1})}async function se(e){c.openModal({title:g(\"estimates.send_estimate\"),componentName:\"SendEstimateModal\",id:r.value.id,data:r.value})}function le(){let e=m.value.findIndex(o=>o.id===r.value.id);m.value[e]&&(m.value[e].status=\"SENT\",r.value.status=\"SENT\")}return(e,o)=>{const p=d(\"BaseButton\"),D=d(\"BasePageHeader\"),b=d(\"BaseIcon\"),L=d(\"BaseInput\"),j=d(\"BaseRadio\"),A=d(\"BaseInputGroup\"),N=d(\"BaseDropdownItem\"),oe=d(\"BaseDropdown\"),re=d(\"BaseText\"),ne=d(\"BaseEstimateStatusBadge\"),ie=d(\"BaseFormatMoney\"),de=d(\"router-link\"),ue=d(\"BasePage\");return f(),T(J,null,[s(Te,{onUpdate:le}),r.value?(f(),x(ue,{key:0,class:\"xl:pl-96 xl:ml-8\"},{default:l(()=>{var G;return[s(D,{title:n(W)},{actions:l(()=>[u(\"div\",Fe,[r.value.status===\"DRAFT\"&&n(U).hasAbilities(n(K).EDIT_ESTIMATE)?(f(),x(p,{key:0,disabled:I.value,\"content-loading\":F.value,variant:\"primary-outline\",onClick:ae},{default:l(()=>[C(h(e.$t(\"estimates.mark_as_sent\")),1)]),_:1},8,[\"disabled\",\"content-loading\"])):B(\"\",!0)]),r.value.status===\"DRAFT\"&&n(U).hasAbilities(n(K).SEND_ESTIMATE)?(f(),x(p,{key:0,\"content-loading\":F.value,variant:\"primary\",class:\"text-sm\",onClick:se},{default:l(()=>[C(h(e.$t(\"estimates.send_estimate\")),1)]),_:1},8,[\"content-loading\"])):B(\"\",!0),s(we,{class:\"ml-3\",row:r.value},null,8,[\"row\"])]),_:1},8,[\"title\"]),u(\"div\",Ve,[u(\"div\",De,[u(\"div\",$e,[s(L,{modelValue:n(t).searchText,\"onUpdate:modelValue\":o[0]||(o[0]=a=>n(t).searchText=a),placeholder:e.$t(\"general.search\"),type:\"text\",variant:\"gray\",onInput:o[1]||(o[1]=a=>v())},{right:l(()=>[s(b,{name:\"SearchIcon\",class:\"text-gray-400\"})]),_:1},8,[\"modelValue\",\"placeholder\"])]),u(\"div\",Le,[s(oe,{class:\"ml-3\",position:\"bottom-start\",\"width-class\":\"w-45\",\"position-class\":\"left-0\"},{activator:l(()=>[s(p,{size:\"md\",variant:\"gray\"},{default:l(()=>[s(b,{name:\"FilterIcon\"})]),_:1})]),default:l(()=>[u(\"div\",je,h(e.$t(\"general.sort_by\")),1),s(N,{class:\"flex px-4 py-2 cursor-pointer\"},{default:l(()=>[s(A,{class:\"-mt-3 font-normal\"},{default:l(()=>[s(j,{id:\"filter_estimate_date\",modelValue:n(t).orderByField,\"onUpdate:modelValue\":[o[2]||(o[2]=a=>n(t).orderByField=a),v],label:e.$t(\"reports.estimates.estimate_date\"),size:\"sm\",name:\"filter\",value:\"estimate_date\"},null,8,[\"modelValue\",\"label\"])]),_:1})]),_:1}),s(N,{class:\"flex px-4 py-2 cursor-pointer\"},{default:l(()=>[s(A,{class:\"-mt-3 font-normal\"},{default:l(()=>[s(j,{id:\"filter_due_date\",modelValue:n(t).orderByField,\"onUpdate:modelValue\":[o[3]||(o[3]=a=>n(t).orderByField=a),v],label:e.$t(\"estimates.due_date\"),value:\"expiry_date\",size:\"sm\",name:\"filter\"},null,8,[\"modelValue\",\"label\"])]),_:1})]),_:1}),s(N,{class:\"flex px-4 py-2 cursor-pointer\"},{default:l(()=>[s(A,{class:\"-mt-3 font-normal\"},{default:l(()=>[s(j,{id:\"filter_estimate_number\",modelValue:n(t).orderByField,\"onUpdate:modelValue\":[o[4]||(o[4]=a=>n(t).orderByField=a),v],label:e.$t(\"estimates.estimate_number\"),value:\"estimate_number\",size:\"sm\",name:\"filter\"},null,8,[\"modelValue\",\"label\"])]),_:1})]),_:1})]),_:1}),s(p,{class:\"ml-1\",size:\"md\",variant:\"gray\",onClick:te},{default:l(()=>[n(R)?(f(),x(b,{key:0,name:\"SortAscendingIcon\"})):(f(),x(b,{key:1,name:\"SortDescendingIcon\"}))]),_:1})])]),u(\"div\",{ref:(a,M)=>{M.estimateListSection=a,P.value=a},class:\"h-full overflow-y-scroll border-l border-gray-200 border-solid base-scroll\"},[(f(!0),T(J,null,he(m.value,(a,M)=>(f(),T(\"div\",{key:M},[a?(f(),x(de,{key:0,id:\"estimate-\"+a.id,to:`/admin/estimates/${a.id}/view`,class:xe([\"flex justify-between side-estimate p-4 cursor-pointer hover:bg-gray-100 items-center border-l-4 border-transparent\",{\"bg-gray-100 border-l-4 border-primary-500 border-solid\":Y(a.id)}]),style:{\"border-bottom\":\"1px solid rgba(185, 193, 209, 0.41)\"}},{default:l(()=>[u(\"div\",Ae,[s(re,{text:a.customer.name,length:30,class:\"pr-2 mb-2 text-sm not-italic font-normal leading-5 text-black capitalize truncate\"},null,8,[\"text\"]),u(\"div\",Ne,h(a.estimate_number),1),s(ne,{status:a.status,class:\"px-1 text-xs\"},{default:l(()=>[C(h(a.status),1)]),_:2},1032,[\"status\"])]),u(\"div\",Me,[s(ie,{amount:a.total,currency:a.customer.currency,class:\"block mb-2 text-xl not-italic font-semibold leading-8 text-right text-gray-900\"},null,8,[\"amount\",\"currency\"]),u(\"div\",ze,h(a.formatted_estimate_date),1)])]),_:2},1032,[\"id\",\"to\",\"class\"])):B(\"\",!0)]))),128)),S.value?(f(),T(\"div\",Ce,[s(Ie,{class:\"h-6 m-1 animate-spin text-primary-400\"})])):B(\"\",!0),!((G=m.value)==null?void 0:G.length)&&!S.value?(f(),T(\"p\",Ue,h(e.$t(\"estimates.no_matching_estimates\")),1)):B(\"\",!0)],512)]),u(\"div\",Pe,[u(\"iframe\",{src:`${n(X)}`,class:\"flex-1 border border-gray-400 border-solid rounded-md bg-white frame-style\"},null,8,Re)])]}),_:1})):B(\"\",!0)],64)}}};export{We as default};\n"
  },
  {
    "path": "public/build/assets/View.b91609b3.js",
    "content": "import{_ as fe,d as ve,r as ye,u as be,j as xe}from\"./main.465728e1.js\";import{r as p,o,l as g,w as u,f as n,h as e,J as ee,t as r,i as k,G as we,B as _,C as ke,k as w,a0 as D,I as te,u as t,e as d,m as b,j as h,y as j,F as $,an as se,ao as $e,b3 as Be,ap as Me,aA as je,aB as O,aC as Ce,az as J,aD as Pe,a as Te}from\"./vendor.d12b5734.js\";const Le={},Ie={class:\"lg:grid lg:grid-rows-1 lg:grid-cols-7 lg:gap-x-8 lg:gap-y-10 xl:gap-x-16 mt-6\"},Se={class:\"lg:row-end-1 lg:col-span-4\"},Re={class:\"max-w-2xl mx-auto mt-10 lg:max-w-none lg:mt-0 lg:row-end-2 lg:row-span-2 lg:col-span-3 w-full\"},Ye=e(\"h3\",{class:\"sr-only\"},\"Reviews\",-1),He=e(\"p\",{class:\"sr-only\"},\"4 out of 5 stars\",-1),De={class:\"flex flex-col-reverse\"},Ve={class:\"mt-4\"},ze={class:\"mt-10 grid grid-cols-1 gap-x-6 gap-y-4 sm:grid-cols-2\"},Ne=e(\"div\",{class:\"mt-10\"},null,-1),Ue={class:\"border-t border-gray-200 mt-10 pt-10\"},Ge={class:\"border-t border-gray-200 mt-10 pt-10\"},Ke={class:\"w-full max-w-2xl mx-auto mt-16 lg:max-w-none lg:mt-0 lg:col-span-4\"};function qe(C,V){const m=p(\"BaseContentPlaceholdersText\"),B=p(\"BaseContentPlaceholdersBox\"),K=p(\"BasePage\"),I=p(\"BaseContentPlaceholders\");return o(),g(I,{rounded:\"\"},{default:u(()=>[n(K,{class:\"bg-white\"},{default:u(()=>[n(m,{class:\"mt-4 h-8 w-40\",lines:1}),n(m,{class:\"mt-4 h-8 w-56 mb-4\",lines:1}),e(\"div\",Ie,[e(\"div\",Se,[n(B,{class:\"h-96 sm:w-full\",rounded:\"\"})]),e(\"div\",Re,[e(\"div\",null,[Ye,n(m,{class:\"w-32 h-8\",lines:1}),He]),e(\"div\",De,[e(\"div\",Ve,[n(m,{class:\"w-48 xl:w-80 h-12\",lines:1}),n(m,{class:\"w-64 xl:w-80 h-8 mt-2\",lines:1})])]),e(\"div\",null,[n(m,{class:\"w-full h-24 my-10\",lines:1})]),e(\"div\",null,[n(m,{class:\"w-full h-24 mt-6 mb-6\",lines:1})]),e(\"div\",ze,[n(m,{class:\"w-full h-14\",lines:1})]),Ne,e(\"div\",Ue,[e(\"div\",null,[n(m,{class:\"w-24 h-6\",lines:1}),n(m,{class:\"mt-4 w-full h-20\",lines:1})])]),e(\"div\",Ge,[n(m,{class:\"h-6 w-24\",lines:1}),n(m,{class:\"h-10 w-32 mt-4\",lines:1})])]),e(\"div\",Ke,[n(B,{class:\"h-96 sm:w-full\",rounded:\"\"})])])]),_:1})]),_:1})}var Ee=fe(Le,[[\"render\",qe]]);const Ae={class:\"relative group\"},Fe={class:\"aspect-w-4 aspect-h-3 rounded-lg overflow-hidden bg-gray-100\"},Oe=[\"src\"],Je={class:\"flex items-end opacity-0 p-4 group-hover:opacity-100\",\"aria-hidden\":\"true\"},Qe={class:\"w-full bg-white bg-opacity-75 backdrop-filter backdrop-blur py-2 px-4 rounded-md text-sm font-medium text-primary-500 text-center\"},We={class:\"mt-4 flex items-center justify-between text-base font-medium text-gray-900 space-x-8 cursor-pointer\"},Xe={class:\"text-primary-500 font-bold\"},Ze=e(\"span\",{\"aria-hidden\":\"true\",class:\"absolute inset-0\"},null,-1),et={class:\"text-primary-500 font-bold\"},tt={props:{data:{type:Object,default:null,required:!0}},setup(C){return ee(),(V,m)=>{const B=p(\"router-link\");return o(),g(B,{class:\"relative group\",to:`/admin/modules/${C.data.slug}`},{default:u(()=>[e(\"div\",Ae,[e(\"div\",Fe,[e(\"img\",{src:C.data.cover,class:\"object-center object-cover\"},null,8,Oe),e(\"div\",Je,[e(\"div\",Qe,r(V.$t(\"modules.view_module\")),1)])]),e(\"div\",We,[e(\"h3\",Xe,[Ze,k(\" \"+r(C.data.name),1)]),e(\"p\",et,\" $ \"+r(C.data.monthly_price/100),1)])])]),_:1},8,[\"to\"])}}},st={class:\"lg:grid lg:grid-rows-1 lg:grid-cols-7 lg:gap-x-8 lg:gap-y-10 xl:gap-x-16 mt-6\"},lt={class:\"lg:row-end-1 lg:col-span-4\"},at={class:\"flex flex-col-reverse\"},ot={class:\"hidden mt-6 w-full max-w-2xl mx-auto sm:block lg:max-w-none\"},nt={class:\"grid grid-cols-3 xl:grid-cols-4 gap-6\",\"aria-orientation\":\"horizontal\",role:\"tablist\"},rt={class:\"absolute inset-0 rounded-md overflow-hidden\"},it=[\"src\"],dt=e(\"span\",{class:\"ring-transparent absolute inset-0 rounded-md ring-2 ring-offset-2 pointer-events-none\",\"aria-hidden\":\"true\"},null,-1),ut=[\"onClick\"],ct={class:\"absolute inset-0 rounded-md overflow-hidden\"},mt=[\"src\"],_t=e(\"span\",{class:\"ring-transparent absolute inset-0 rounded-md ring-2 ring-offset-2 pointer-events-none\",\"aria-hidden\":\"true\"},null,-1),pt={key:0,class:\"aspect-w-4 aspect-h-3\"},gt=[\"src\"],ht={key:1,class:\"aspect-w-4 aspect-h-3 rounded-lg bg-gray-100 overflow-hidden\"},ft=[\"src\"],vt={class:\"max-w-2xl mx-auto mt-10 lg:max-w-none lg:mt-0 lg:row-end-2 lg:row-span-2 lg:col-span-3 w-full\"},yt=e(\"h3\",{class:\"sr-only\"},\"Reviews\",-1),bt={class:\"flex items-center\"},xt=e(\"p\",{class:\"sr-only\"},\"4 out of 5 stars\",-1),wt={class:\"flex flex-col-reverse\"},kt={class:\"mt-4\"},$t={class:\"text-2xl font-extrabold tracking-tight text-gray-900 sm:text-3xl\"},Bt=e(\"h2\",{id:\"information-heading\",class:\"sr-only\"},\" Product information \",-1),Mt={key:0,class:\"text-sm text-gray-500 mt-2\"},jt=[\"innerHTML\"],Ct={key:0},Pt=k(\" Pricing plans \"),Tt={class:\"relative bg-white rounded-md -space-y-px\"},Lt={class:\"flex items-center text-sm\"},It=e(\"span\",{class:\"rounded-full bg-white w-1.5 h-1.5\"},null,-1),St=[It],Rt=[\"href\"],Yt={key:2},Ht={key:0,class:\"grid grid-cols-1 gap-x-6 gap-y-4 sm:grid-cols-2\"},Dt={key:1},Vt={class:\"grid grid-cols-1 gap-x-6 gap-y-4 sm:grid-cols-2\"},zt={class:\"ml-2\"},Nt=e(\"div\",{class:\"mt-10\"},null,-1),Ut={class:\"border-t border-gray-200 mt-10 pt-10\"},Gt={class:\"text-sm font-medium text-gray-900\"},Kt={class:\"mt-4 prose prose-sm max-w-none text-gray-500\"},qt=[\"innerHTML\"],Et={class:\"border-t border-gray-200 mt-10 pt-10\"},At=[\"href\"],Ft={key:3,class:\"border-t border-gray-200 mt-10 pt-10\"},Ot={class:\"w-full p-0 list-none\"},Jt={class:\"m-0 text-sm leading-8\"},Qt={class:\"flex flex-row items-center\"},Wt={key:0,class:\"mr-3 text-xs text-gray-500\"},Xt={class:\"w-full max-w-2xl mx-auto mt-16 lg:max-w-none lg:mt-0 lg:col-span-4\"},Zt=e(\"h3\",{class:\"sr-only\"},\"Customer Reviews\",-1),es={key:0},ts={class:\"flex-none py-10\"},ss={class:\"inline-flex items-center justify-center h-12 w-12 rounded-full bg-gray-500\"},ls={class:\"text-lg font-medium leading-none text-white uppercase\"},as={class:\"font-medium text-gray-900\"},os={class:\"flex items-center mt-4\"},ns=[\"innerHTML\"],rs={key:1,class:\"flex w-full items-center justify-center\"},is={class:\"text-gray-500 mt-10 text-sm\"},ds=e(\"h3\",{class:\"sr-only\"},\"Frequently Asked Questions\",-1),us={class:\"mt-10 font-medium text-gray-900\"},cs={class:\"mt-2 prose prose-sm max-w-none text-gray-500\"},ms=e(\"h3\",{class:\"sr-only\"},\"License\",-1),_s=[\"innerHTML\"],ps={key:0,class:\"mt-24 sm:mt-32 lg:max-w-none\"},gs={class:\"flex items-center justify-between space-x-4\"},hs={class:\"text-lg font-medium text-gray-900\"},fs={href:\"/admin/modules\",class:\"whitespace-nowrap text-sm font-medium text-primary-600 hover:text-primary-500\"},vs=e(\"span\",{\"aria-hidden\":\"true\"},\" \\u2192\",-1),ys={class:\"mt-6 grid grid-cols-1 gap-x-8 gap-y-8 sm:grid-cols-2 sm:gap-y-10 lg:grid-cols-4\"},bs=e(\"div\",{class:\"p-6\"},null,-1),ks={setup(C){const V=ve(),m=ye(),B=be(),K=xe(),I=we(),{t:f}=ee();let x=_(!1),z=_(!0),S=_(\"\"),P=_(!1),T=_(!1);_(!1),W(),ke(()=>I.params.slug,async s=>{W()});const l=w(()=>m.currentModule.data),N=w(()=>{var M,v;let s=[],i=D({name:f(\"modules.monthly\"),price:((M=l==null?void 0:l.value)==null?void 0:M.monthly_price)/100}),c=D({name:f(\"modules.yearly\"),price:((v=l==null?void 0:l.value)==null?void 0:v.yearly_price)/100});return le.value?s.push(c):ae.value?s.push(i):(s.push(i),s.push(c)),s}),le=w(()=>l.value?l.value.type===\"YEARLY\":!1),ae=w(()=>l.value?l.value.type===\"MONTHLY\":!1),oe=w(()=>!!(l.value.installed&&l.value.latest_module_version)),q=w(()=>m.currentModule.meta.modules);let ne=w(()=>{let s=_(l.value.latest_module_version_updated_at),i=_(l.value.installed_module_version_updated_at);const c=i.value?i.value:s.value;return te(c).format(\"MMMM Do YYYY\")}),re=w(()=>{let s=_(l.value.latest_module_version),i=_(l.value.installed_module_version);return i.value?i.value:s.value}),ie=w(()=>parseInt(l.value.average_rating));const de=w(()=>{let s=D([]),i=D({id:null,url:l.value.cover});return s.push(i),l.value.screenshots&&l.value.screenshots.forEach(c=>{s.push(c)}),s}),U=_(!1),E=_(null),G=_(null),A=_(N.value[0]),F=D([{translationKey:\"modules.download_zip_file\",stepUrl:\"/api/v1/modules/download\",time:null,started:!1,completed:!1},{translationKey:\"modules.unzipping_package\",stepUrl:\"/api/v1/modules/unzip\",time:null,started:!1,completed:!1},{translationKey:\"modules.copying_files\",stepUrl:\"/api/v1/modules/copy\",time:null,started:!1,completed:!1},{translationKey:\"modules.completing_installation\",stepUrl:\"/api/v1/modules/complete\",time:null,started:!1,completed:!1}]);async function Q(){let s=null;for(let i=0;i<F.length;i++){let c=F[i];try{x.value=!0,c.started=!0;let M={version:l.value.latest_module_version,path:s||null,module:l.value.module_name},v=await Te.post(c.stepUrl,M);if(c.completed=!0,v.data&&(s=v.data.path),!v.data.success){let L=_(\"\");return v.data.message===\"crater_version_is_not_supported\"?L.value=f(\"modules.version_not_supported\",{version:v.data.min_crater_version}):L.value=ue(v.data.message),B.showNotification({type:\"error\",message:L.value}),x.value=!1,c.started=!1,c.completed=!0,!1}c.translationKey==\"modules.completing_installation\"&&(x.value=!1,B.showNotification({type:\"success\",message:f(\"modules.install_success\")}),setTimeout(()=>{location.reload()},1500))}catch{return x.value=!1,c.started=!1,c.completed=!0,!1}}}function ue(s){let i=_(\"\");switch(s){case\"module_not_found\":i=f(\"modules.module_not_found\");break;case\"module_not_purchased\":i=f(\"modules.module_not_purchased\");break;case\"version_not_supported\":i=f(\"modules.version_not_supported\");break;default:i=s;break}return i}async function W(){!I.params.slug||(z.value=!0,await m.fetchModule(I.params.slug).then(s=>{if(A.value=N.value[0],G.value=l.value.video_link,E.value=l.value.video_thumbnail,G.value){Z(),z.value=!1;return}S.value=l.value.cover,z.value=!1}))}function ce(s){switch(X(s)){case\"pending\":return\"text-primary-800 bg-gray-200\";case\"finished\":return\"text-teal-500 bg-teal-100\";case\"running\":return\"text-blue-400 bg-blue-100\";case\"error\":return\"text-danger bg-red-200\";default:return\"\"}}function me(){K.openDialog({title:f(\"general.are_you_sure\"),message:f(\"modules.disable_warning\"),yesLabel:f(\"general.ok\"),noLabel:f(\"general.cancel\"),variant:\"danger\",hideNoButton:!1,size:\"lg\"}).then(async s=>{if(s){T.value=!0,await m.disableModule(l.value.module_name).then(i=>{if(i.data.success){l.value.enabled=0,T.value=!1,setTimeout(()=>{location.reload()},1500);return}}),T.value=!1;return}})}async function _e(){P.value=!0,await m.enableModule(l.value.module_name).then(s=>{s.data.success&&(l.value.enabled=1,setTimeout(()=>{location.reload()},1500)),P.value=!1}),P.value=!1}function X(s){return s.started&&s.completed?\"finished\":s.started&&!s.completed?\"running\":!s.started&&!s.completed?\"pending\":\"error\"}function pe(s){U.value=!1,S.value=s}function Z(){U.value=!0,S.value=null}return(s,i)=>{const c=p(\"BaseBreadcrumbItem\"),M=p(\"BaseBreadcrumb\"),v=p(\"BasePageHeader\"),L=p(\"BaseRating\"),R=p(\"BaseIcon\"),Y=p(\"BaseButton\"),ge=p(\"BasePage\");return t(z)?(o(),g(Ee,{key:0})):(o(),g(ge,{key:1,class:\"bg-white\"},{default:u(()=>[n(v,{title:t(l).name},{default:u(()=>[n(M,null,{default:u(()=>[n(c,{title:s.$t(\"general.home\"),to:\"dashboard\"},null,8,[\"title\"]),n(c,{title:s.$t(\"modules.title\"),to:\"/admin/modules\"},null,8,[\"title\"]),n(c,{title:t(l).name,to:\"#\",active:\"\"},null,8,[\"title\"])]),_:1})]),_:1},8,[\"title\"]),e(\"div\",st,[e(\"div\",lt,[e(\"div\",at,[e(\"div\",ot,[e(\"div\",nt,[E.value&&G.value?(o(),d(\"button\",{key:0,class:b([\"relative  md:h-24 lg:h-36 rounded hover:bg-gray-50\",{\"outline-none ring ring-offset-1 ring-primary-500\":U.value}]),type:\"button\",onClick:Z},[e(\"span\",rt,[e(\"img\",{src:E.value,alt:\"\",class:\"w-full h-full object-center object-cover\"},null,8,it)]),dt],2)):h(\"\",!0),(o(!0),d($,null,j(t(de),(a,y)=>(o(),d(\"button\",{id:\"tabs-1-tab-1\",key:y,class:b([\"relative  md:h-24 lg:h-36 rounded hover:bg-gray-50\",{\"outline-none ring ring-offset-1 ring-primary-500\":t(S)===a.url}]),type:\"button\",onClick:H=>pe(a.url)},[e(\"span\",ct,[e(\"img\",{src:a.url,alt:\"\",class:\"w-full h-full object-center object-cover\"},null,8,mt)]),_t],10,ut))),128))])]),U.value?(o(),d(\"div\",pt,[e(\"iframe\",{src:G.value,class:\"sm:rounded-lg\",frameborder:\"0\",allow:\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\",allowfullscreen:\"\"},`\n            `,8,gt)])):(o(),d(\"div\",ht,[e(\"img\",{src:t(S),alt:\"Module Images\",class:\"w-full h-full object-center object-cover sm:rounded-lg\"},null,8,ft)]))])]),e(\"div\",vt,[yt,e(\"div\",bt,[n(L,{rating:t(ie)},null,8,[\"rating\"])]),xt,e(\"div\",wt,[e(\"div\",kt,[e(\"h1\",$t,r(t(l).name),1),Bt,t(l).latest_module_version?(o(),d(\"p\",Mt,r(s.$t(\"modules.version\"))+\" \"+r(t(re))+\" (\"+r(s.$t(\"modules.last_updated\"))+\" \"+r(t(ne))+\") \",1)):h(\"\",!0)])]),e(\"div\",{class:\"prose prose-sm max-w-none text-gray-500 text-sm my-10\",innerHTML:t(l).long_description},null,8,jt),t(l).purchased?h(\"\",!0):(o(),d(\"div\",Ct,[n(t(Me),{modelValue:A.value,\"onUpdate:modelValue\":i[0]||(i[0]=a=>A.value=a)},{default:u(()=>[n(t(se),{class:\"sr-only\"},{default:u(()=>[Pt]),_:1}),e(\"div\",Tt,[(o(!0),d($,null,j(t(N),(a,y)=>(o(),g(t($e),{key:a.name,as:\"template\",value:a},{default:u(({checked:H,active:he})=>[e(\"div\",{class:b([y===0?\"rounded-tl-md rounded-tr-md\":\"\",y===t(N).length-1?\"rounded-bl-md rounded-br-md\":\"\",H?\"bg-primary-50 border-primary-200 z-10\":\"border-gray-200\",\"relative border p-4 flex flex-col cursor-pointer md:pl-4 md:pr-6 md:grid md:grid-cols-2 focus:outline-none\"])},[e(\"div\",Lt,[e(\"span\",{class:b([H?\"bg-primary-600 border-transparent\":\"bg-white border-gray-300\",he?\"ring-2 ring-offset-2 ring-primary-500\":\"\",\"h-4 w-4 rounded-full border flex items-center justify-center\"]),\"aria-hidden\":\"true\"},St,2),n(t(se),{as:\"span\",class:b([H?\"text-primary-900\":\"text-gray-900\",\"ml-3 font-medium\"])},{default:u(()=>[k(r(a.name),1)]),_:2},1032,[\"class\"])]),n(t(Be),{class:\"ml-6 pl-1 text-base md:ml-0 md:pl-0 md:text-center\"},{default:u(()=>[e(\"span\",{class:b([H?\"text-primary-900\":\"text-gray-900\",\"font-medium\"])},\" $ \"+r(a.price),3)]),_:2},1024)],2)]),_:2},1032,[\"value\"]))),128))])]),_:1},8,[\"modelValue\"])])),t(l).purchased?(o(),d(\"div\",Yt,[t(l).installed?t(oe)?(o(),d(\"div\",Dt,[e(\"div\",Vt,[t(l).update_available?(o(),g(Y,{key:0,variant:\"primary\",size:\"xl\",loading:t(x),disabled:t(x),class:\"mr-4 flex items-center justify-center text-base\",onClick:i[2]||(i[2]=a=>Q())},{default:u(()=>[k(r(s.$t(\"modules.update_to\"))+\" \",1),e(\"span\",zt,r(t(l).latest_module_version),1)]),_:1},8,[\"loading\",\"disabled\"])):h(\"\",!0),t(l).enabled?(o(),g(Y,{key:1,variant:\"danger\",size:\"xl\",loading:t(T),disabled:t(T),class:\"mr-4 flex items-center justify-center text-base\",onClick:me},{default:u(()=>[t(T)?h(\"\",!0):(o(),g(R,{key:0,name:\"BanIcon\",class:\"mr-2\"})),k(\" \"+r(s.$t(\"modules.disable\")),1)]),_:1},8,[\"loading\",\"disabled\"])):(o(),g(Y,{key:2,variant:\"primary-outline\",size:\"xl\",loading:t(P),disabled:t(P),class:\"mr-4 flex items-center justify-center text-base\",onClick:_e},{default:u(()=>[t(P)?h(\"\",!0):(o(),g(R,{key:0,name:\"CheckIcon\",class:\"mr-2\"})),k(\" \"+r(s.$t(\"modules.enable\")),1)]),_:1},8,[\"loading\",\"disabled\"]))])])):h(\"\",!0):(o(),d(\"div\",Ht,[t(l).latest_module_version?(o(),g(Y,{key:0,size:\"xl\",variant:\"primary-outline\",outline:\"\",loading:t(x),disabled:t(x),class:\"mr-4 flex items-center justify-center text-base\",onClick:i[1]||(i[1]=a=>Q())},{default:u(()=>[t(x)?h(\"\",!0):(o(),g(R,{key:0,name:\"DownloadIcon\",class:\"mr-2\"})),k(\" \"+r(s.$t(\"modules.install\")),1)]),_:1},8,[\"loading\",\"disabled\"])):h(\"\",!0)]))])):(o(),d(\"a\",{key:1,href:`${t(V).config.base_url}/modules/${t(l).slug}`,target:\"_blank\",class:\"grid grid-cols-1 gap-x-6 gap-y-4 sm:grid-cols-2\"},[n(Y,{size:\"xl\",class:\"items-center flex justify-center text-base mt-10\"},{default:u(()=>[n(R,{name:\"ShoppingCartIcon\",class:\"mr-2\"}),k(\" \"+r(s.$t(\"modules.buy_now\")),1)]),_:1})],8,Rt)),Nt,e(\"div\",Ut,[e(\"h3\",Gt,r(s.$t(\"modules.what_you_get\")),1),e(\"div\",Kt,[e(\"div\",{class:\"prose prose-sm max-w-none text-gray-500 text-sm\",innerHTML:t(l).highlights},null,8,qt)])]),e(\"div\",Et,[(o(!0),d($,null,j(t(l).links,(a,y)=>(o(),d(\"div\",{key:y,class:\"mb-4 last:mb-0 flex\"},[n(R,{name:a.icon,class:\"mr-4\"},null,8,[\"name\"]),e(\"a\",{href:a.link,class:\"text-primary-500\",target:\"_blank\"},r(a.label),9,At)]))),128))]),t(x)?(o(),d(\"div\",Ft,[e(\"ul\",Ot,[(o(!0),d($,null,j(t(F),a=>(o(),d(\"li\",{key:a.stepUrl,class:\"flex justify-between w-full py-3 border-b border-gray-200 border-solid last:border-b-0\"},[e(\"p\",Jt,r(s.$t(a.translationKey)),1),e(\"div\",Qt,[a.time?(o(),d(\"span\",Wt,r(a.time),1)):h(\"\",!0),e(\"span\",{class:b([ce(a),\"block py-1 text-sm text-center uppercase rounded-full\"]),style:{width:\"88px\"}},r(X(a)),3)])]))),128))])])):h(\"\",!0)]),e(\"div\",Xt,[n(t(Pe),{as:\"div\"},{default:u(()=>[n(t(je),{class:\"-mb-px flex space-x-8 border-b border-gray-200\"},{default:u(()=>[n(t(O),{as:\"template\"},{default:u(({selected:a})=>[e(\"button\",{class:b([a?\"border-primary-600 text-primary-600\":\"border-transparent text-gray-700 hover:text-gray-800 hover:border-gray-300\",\"whitespace-nowrap py-6 border-b-2 font-medium text-sm\"])},r(s.$t(\"modules.customer_reviews\")),3)]),_:1}),n(t(O),{as:\"template\"},{default:u(({selected:a})=>[e(\"button\",{class:b([a?\"border-primary-600 text-primary-600\":\"border-transparent text-gray-700 hover:text-gray-800 hover:border-gray-300\",\"whitespace-nowrap py-6 border-b-2 font-medium text-sm\"])},r(s.$t(\"modules.faq\")),3)]),_:1}),n(t(O),{as:\"template\"},{default:u(({selected:a})=>[e(\"button\",{class:b([a?\"border-primary-600 text-primary-600\":\"border-transparent text-gray-700 hover:text-gray-800 hover:border-gray-300\",\"whitespace-nowrap py-6 border-b-2 font-medium text-sm\"])},r(s.$t(\"modules.license\")),3)]),_:1})]),_:1}),n(t(Ce),{as:\"template\"},{default:u(()=>[n(t(J),{class:\"-mb-10\"},{default:u(()=>[Zt,t(l).reviews.length?(o(),d(\"div\",es,[(o(!0),d($,null,j(t(l).reviews,(a,y)=>(o(),d(\"div\",{key:y,class:\"flex text-sm text-gray-500 space-x-4\"},[e(\"div\",ts,[e(\"span\",ss,[e(\"span\",ls,r(a.customer.name[0]),1)])]),e(\"div\",{class:b([y===0?\"\":\"border-t border-gray-200\",\"py-10\"])},[e(\"h3\",as,r(a.customer.name),1),e(\"p\",null,r(t(te)(a.created_at).format(\"MMMM Do YYYY\")),1),e(\"div\",os,[n(L,{rating:a.rating},null,8,[\"rating\"])]),e(\"div\",{class:\"mt-4 prose prose-sm max-w-none text-gray-500\",innerHTML:a.feedback},null,8,ns)],2)]))),128))])):(o(),d(\"div\",rs,[e(\"p\",is,r(s.$t(\"modules.no_reviews_found\")),1)]))]),_:1}),n(t(J),{as:\"dl\",class:\"text-sm text-gray-500\"},{default:u(()=>[ds,(o(!0),d($,null,j(t(l).faq,a=>(o(),d($,{key:a.question},[e(\"dt\",us,r(a.question),1),e(\"dd\",cs,[e(\"p\",null,r(a.answer),1)])],64))),128))]),_:1}),n(t(J),{class:\"pt-10\"},{default:u(()=>[ms,e(\"div\",{class:\"prose prose-sm max-w-none text-gray-500\",innerHTML:t(l).license},null,8,_s)]),_:1})]),_:1})]),_:1})])]),t(q)&&t(q).length?(o(),d(\"div\",ps,[e(\"div\",gs,[e(\"h2\",hs,r(s.$t(\"modules.other_modules\")),1),e(\"a\",fs,[k(r(s.$t(\"modules.view_all\")),1),vs])]),e(\"div\",ys,[(o(!0),d($,null,j(t(q),(a,y)=>(o(),d(\"div\",{key:y},[n(tt,{data:a},null,8,[\"data\"])]))),128))])])):h(\"\",!0),bs]),_:1}))}}};export{ks as default};\n"
  },
  {
    "path": "public/build/assets/View.ca01e745.js",
    "content": "import{G as Q,J as W,a0 as P,B as y,ah as X,k as B,C as Y,A as Z,r as d,o as u,l as b,w as n,f as a,u as s,m as z,i as V,t as m,j as k,h as i,e as F,y as ee,F as te}from\"./vendor.d12b5734.js\";import{u as oe,w as S,x as ae}from\"./main.465728e1.js\";import{u as se}from\"./invoice.735a98ac.js\";import{u as ne}from\"./global.dc565c4e.js\";import\"./auth.c88ceb4c.js\";const re={class:\"fixed top-0 left-0 hidden h-full pt-16 pb-4 bg-white w-88 xl:block\"},ie={class:\"flex items-center justify-between px-4 pt-8 pb-6 border border-gray-200 border-solid\"},le={class:\"flex ml-3\",role:\"group\",\"aria-label\":\"First group\"},de={class:\"px-4 py-1 pb-2 mb-2 text-sm border-b border-gray-200 border-solid\"},ce={class:\"px-2\"},ue={class:\"px-2\"},me={class:\"px-2\"},pe={class:\"h-full pb-32 overflow-y-scroll border-l border-gray-200 border-solid sw-scroll\"},fe={class:\"flex-2\"},_e={class:\"mb-1 not-italic font-medium leading-5 text-gray-500 capitalize text-md\"},ve={class:\"flex-1 whitespace-nowrap right\"},ye={class:\"text-sm text-right text-gray-500 non-italic\"},be={key:0,class:\"flex justify-center px-4 mt-5 text-sm text-gray-600\"},he={class:\"flex flex-col min-h-0 mt-8 overflow-hidden\",style:{height:\"75vh\"}},ge=[\"src\"],Fe={setup(Be){const p=Q(),l=se(),_=ne(),{tm:$}=W();let h=P({}),o=P({orderBy:\"\",orderByField:\"\",invoice_number:\"\"});y(null),y(null);let w=y(!1),N=y(!1);y(!1),X(\"utils\"),oe();const R=B(()=>l.selectedViewInvoice),j=B(()=>o.orderBy===\"asc\"||o.orderBy==null);B(()=>j.value?$(\"general.ascending\"):$(\"general.descending\"));const C=B(()=>h.unique_hash?`/invoices/pdf/${h.unique_hash}`:!1);Y(p,()=>{D()}),A(),D(),c=Z.exports.debounce(c,500);function U(e){return p.params.id==e}async function A(){await l.fetchInvoices({limit:\"all\"},_.companySlug),setTimeout(()=>{G()},500)}async function D(){if(p&&p.params.id){let e=await l.fetchViewInvoice({id:p.params.id},_.companySlug);e.data&&Object.assign(h,e.data.data)}}function G(){const e=document.getElementById(`invoice-${p.params.id}`);e&&(e.scrollIntoView({behavior:\"smooth\"}),e.classList.add(\"shake\"))}async function c(){let e={};o.invoice_number!==\"\"&&o.invoice_number!==null&&o.invoice_number!==void 0&&(e.invoice_number=o.invoice_number),o.orderBy!==null&&o.orderBy!==void 0&&(e.orderBy=o.orderBy),o.orderByField!==null&&o.orderByField!==void 0&&(e.orderByField=o.orderByField),w.value=!0;try{let r=await l.searchInvoice(e,_.companySlug);w.value=!1,r.data.data&&(l.invoices=r.data.data)}catch{w.value=!1}}function T(){return o.orderBy===\"asc\"?(o.orderBy=\"desc\",c(),!0):(o.orderBy=\"asc\",c(),!0)}function q(){router.push({name:\"invoice.portal.payment\",params:{id:l.selectedViewInvoice.id,company:l.selectedViewInvoice.company.slug}})}return(e,r)=>{const v=d(\"BaseIcon\"),g=d(\"BaseButton\"),E=d(\"BasePageHeader\"),L=d(\"BaseInput\"),I=d(\"BaseRadio\"),x=d(\"BaseInputGroup\"),M=d(\"BaseInvoiceStatusBadge\"),H=d(\"BaseFormatMoney\"),O=d(\"router-link\"),J=d(\"BasePage\");return u(),b(J,{class:\"xl:pl-96\"},{default:n(()=>[a(E,{title:s(R).invoice_number},{actions:n(()=>{var t,f;return[a(g,{disabled:s(N),variant:\"primary-outline\",class:\"mr-2\",tag:\"a\",href:`/invoices/pdf/${s(h).unique_hash}`,download:\"\"},{left:n(K=>[a(v,{name:\"DownloadIcon\",class:z(K.class)},null,8,[\"class\"]),V(\" \"+m(e.$t(\"invoices.download\")),1)]),_:1},8,[\"disabled\",\"href\"]),((f=(t=s(l))==null?void 0:t.selectedViewInvoice)==null?void 0:f.paid_status)!==\"PAID\"&&s(_).enabledModules.includes(\"Payments\")?(u(),b(g,{key:0,variant:\"primary\",onClick:q},{default:n(()=>[V(m(e.$t(\"invoices.pay_invoice\")),1)]),_:1})):k(\"\",!0)]}),_:1},8,[\"title\"]),i(\"div\",re,[i(\"div\",ie,[a(L,{modelValue:s(o).invoice_number,\"onUpdate:modelValue\":r[0]||(r[0]=t=>s(o).invoice_number=t),placeholder:e.$t(\"general.search\"),type:\"text\",variant:\"gray\",onInput:c},{right:n(()=>[a(v,{name:\"SearchIcon\",class:\"h-5 text-gray-400\"})]),_:1},8,[\"modelValue\",\"placeholder\"]),i(\"div\",le,[a(ae,{position:\"bottom-start\",\"width-class\":\"w-50\",\"position-class\":\"left-0\"},{activator:n(()=>[a(g,{variant:\"gray\"},{default:n(()=>[a(v,{name:\"FilterIcon\",class:\"h-5\"})]),_:1})]),default:n(()=>[i(\"div\",de,m(e.$t(\"general.sort_by\")),1),i(\"div\",ce,[a(S,{class:\"pt-3 rounded-md hover:rounded-md\"},{default:n(()=>[a(x,{class:\"-mt-3 font-normal\"},{default:n(()=>[a(I,{id:\"filter_invoice_date\",modelValue:s(o).orderByField,\"onUpdate:modelValue\":[r[1]||(r[1]=t=>s(o).orderByField=t),c],label:e.$t(\"invoices.invoice_date\"),name:\"filter\",size:\"sm\",value:\"invoice_date\"},null,8,[\"modelValue\",\"label\"])]),_:1})]),_:1})]),i(\"div\",ue,[a(S,{class:\"pt-3 rounded-md hover:rounded-md\"},{default:n(()=>[a(x,{class:\"-mt-3 font-normal\"},{default:n(()=>[a(I,{id:\"filter_due_date\",modelValue:s(o).orderByField,\"onUpdate:modelValue\":[r[2]||(r[2]=t=>s(o).orderByField=t),c],label:e.$t(\"invoices.due_date\"),name:\"filter\",size:\"sm\",value:\"due_date\"},null,8,[\"modelValue\",\"label\"])]),_:1})]),_:1})]),i(\"div\",me,[a(S,{class:\"pt-3 rounded-md hover:rounded-md\"},{default:n(()=>[a(x,{class:\"-mt-3 font-normal\"},{default:n(()=>[a(I,{id:\"filter_invoice_number\",modelValue:s(o).orderByField,\"onUpdate:modelValue\":[r[3]||(r[3]=t=>s(o).orderByField=t),c],label:e.$t(\"invoices.invoice_number\"),size:\"sm\",name:\"filter\",value:\"invoice_number\"},null,8,[\"modelValue\",\"label\"])]),_:1})]),_:1})])]),_:1}),a(g,{class:\"ml-1\",variant:\"white\",onClick:T},{default:n(()=>[s(j)?(u(),b(v,{key:0,name:\"SortAscendingIcon\",class:\"h-5\"})):(u(),b(v,{key:1,name:\"SortDescendingIcon\",class:\"h-5\"}))]),_:1})])]),i(\"div\",pe,[(u(!0),F(te,null,ee(s(l).invoices,(t,f)=>(u(),b(O,{id:\"invoice-\"+t.id,key:f,to:`/${s(_).companySlug}/customer/invoices/${t.id}/view`,class:z([\"flex justify-between p-4 items-center cursor-pointer hover:bg-gray-100 border-l-4 border-transparent\",{\"bg-gray-100 border-l-4 border-primary-500 border-solid\":U(t.id)}]),style:{\"border-bottom\":\"1px solid rgba(185, 193, 209, 0.41)\"}},{default:n(()=>[i(\"div\",fe,[i(\"div\",_e,m(t.invoice_number),1),a(M,{status:t.status},{default:n(()=>[V(m(t.status),1)]),_:2},1032,[\"status\"])]),i(\"div\",ve,[a(H,{class:\"mb-2 text-xl not-italic font-semibold leading-8 text-right text-gray-900 block\",amount:t.total,currency:t.currency},null,8,[\"amount\",\"currency\"]),i(\"div\",ye,m(t.formatted_invoice_date),1)])]),_:2},1032,[\"id\",\"to\",\"class\"]))),128)),s(l).invoices.length?k(\"\",!0):(u(),F(\"p\",be,m(e.$t(\"invoices.no_matching_invoices\")),1))])]),i(\"div\",he,[s(C)?(u(),F(\"iframe\",{key:0,ref:(t,f)=>{f.report=t},src:s(C),class:\"flex-1 border border-gray-400 border-solid rounded-md\",onClick:r[4]||(r[4]=(...t)=>e.ViewReportsPDF&&e.ViewReportsPDF(...t))},null,8,ge)):k(\"\",!0)])]),_:1})}}};export{Fe as default};\n"
  },
  {
    "path": "public/build/assets/View.f92113cb.js",
    "content": "var ce=Object.defineProperty;var G=Object.getOwnPropertySymbols;var ue=Object.prototype.hasOwnProperty,me=Object.prototype.propertyIsEnumerable;var q=(p,m,i)=>m in p?ce(p,m,{enumerable:!0,configurable:!0,writable:!0,value:i}):p[m]=i,z=(p,m)=>{for(var i in m||(m={}))ue.call(m,i)&&q(p,i,m[i]);if(G)for(var i of G(m))me.call(m,i)&&q(p,i,m[i]);return p};import{J as ve,B,G as fe,a0 as pe,k as F,C as _e,A as ye,r as d,o as c,e as V,f as s,l as y,w as o,h as u,u as n,i as D,t as g,j as b,F as J,y as ge,m as be}from\"./vendor.d12b5734.js\";import{c as he,i as Be,e as xe,j as Ie,g as P}from\"./main.465728e1.js\";import{_ as ke}from\"./SendInvoiceModal.f818e383.js\";import{_ as Se}from\"./InvoiceIndexDropdown.c4bcaa08.js\";import{L as we}from\"./LoadingIcon.b704202b.js\";import\"./mail-driver.0a974f6a.js\";const Te={class:\"text-sm mr-3\"},Fe={class:\"fixed top-0 left-0 hidden h-full pt-16 pb-[6.4rem] ml-56 bg-white xl:ml-64 w-88 xl:block\"},Ve={class:\"flex items-center justify-between px-4 pt-8 pb-2 border border-gray-200 border-solid height-full\"},Ee={class:\"mb-6\"},$e={class:\"flex mb-6 ml-3\",role:\"group\",\"aria-label\":\"First group\"},De={class:\"px-2 py-1 pb-2 mb-1 mb-2 text-sm border-b border-gray-200 border-solid\"},Ne={class:\"flex-2\"},je={class:\"mt-1 mb-2 text-xs not-italic font-medium leading-5 text-gray-600\"},Ae={class:\"flex-1 whitespace-nowrap right\"},Le={class:\"text-sm not-italic font-normal leading-5 text-right text-gray-600 est-date\"},Ce={key:0,class:\"flex justify-center p-4 items-center\"},Me={key:1,class:\"flex justify-center px-4 mt-5 text-sm text-gray-600\"},ze={class:\"flex flex-col min-h-0 mt-8 overflow-hidden\",style:{height:\"75vh\"}},Pe=[\"src\"],We={setup(p){const m=he(),i=Be(),N=xe(),W=Ie(),{t:h}=ve(),l=B(null),I=fe(),E=B(!1),k=B(!1),v=B(null),S=B(1),j=B(1),U=B(null),t=pe({orderBy:null,orderByField:null,searchText:null}),Y=F(()=>l.value.invoice_number),R=F(()=>t.orderBy===\"asc\"||t.orderBy==null);F(()=>R.value?h(\"general.ascending\"):h(\"general.descending\"));const K=F(()=>`/invoices/pdf/${l.value.unique_hash}`);F(()=>l.value&&l.value.id?invoice.value.id:null),_e(I,(e,r)=>{e.name===\"invoices.view\"&&H()});async function Q(){W.openDialog({title:h(\"general.are_you_sure\"),message:h(\"invoices.invoice_mark_as_sent\"),yesLabel:h(\"general.ok\"),noLabel:h(\"general.cancel\"),variant:\"primary\",hideNoButton:!1,size:\"lg\"}).then(async e=>{E.value=!1,e&&(await i.markAsSent({id:l.value.id,status:\"SENT\"}),l.value.status=\"SENT\",E.value=!0),E.value=!1})}async function X(e){m.openModal({title:h(\"invoices.send_invoice\"),componentName:\"SendInvoiceModal\",id:l.value.id,data:l.value})}function Z(e){return I.params.id==e}async function w(e,r=!1){if(k.value)return;let f={};t.searchText!==\"\"&&t.searchText!==null&&t.searchText!==void 0&&(f.search=t.searchText),t.orderBy!==null&&t.orderBy!==void 0&&(f.orderBy=t.orderBy),t.orderByField!==null&&t.orderByField!==void 0&&(f.orderByField=t.orderByField),k.value=!0;let T=await i.fetchInvoices(z({page:e},f));k.value=!1,v.value=v.value?v.value:[],v.value=[...v.value,...T.data.data],S.value=e||1,j.value=T.data.meta.last_page;let $=v.value.find(x=>x.id==I.params.id);r==!1&&!$&&S.value<j.value&&Object.keys(f).length===0&&w(++S.value),$&&setTimeout(()=>{r==!1&&ee()},500)}function ee(){const e=document.getElementById(`invoice-${I.params.id}`);e&&(e.scrollIntoView({behavior:\"smooth\"}),e.classList.add(\"shake\"),te())}function te(){U.value.addEventListener(\"scroll\",e=>{e.target.scrollTop>0&&e.target.scrollTop+e.target.clientHeight>e.target.scrollHeight-200&&S.value<j.value&&w(++S.value,!0)})}async function H(){let e=await i.fetchInvoice(I.params.id);e.data&&(l.value=z({},e.data.data))}async function _(){v.value=[],w()}function ae(){return t.orderBy===\"asc\"?(t.orderBy=\"desc\",_(),!0):(t.orderBy=\"asc\",_(),!0)}function se(){let e=v.value.findIndex(r=>r.id===l.value.id);v.value[e]&&(v.value[e].status=\"SENT\",l.value.status=\"SENT\")}return w(),H(),_=ye.exports.debounce(_,500),(e,r)=>{const f=d(\"BaseButton\"),T=d(\"router-link\"),$=d(\"BasePageHeader\"),x=d(\"BaseIcon\"),oe=d(\"BaseInput\"),A=d(\"BaseRadio\"),L=d(\"BaseInputGroup\"),C=d(\"BaseDropdownItem\"),le=d(\"BaseDropdown\"),ne=d(\"BaseText\"),re=d(\"BaseEstimateStatusBadge\"),ie=d(\"BaseFormatMoney\"),de=d(\"BasePage\");return c(),V(J,null,[s(ke,{onUpdate:se}),l.value?(c(),y(de,{key:0,class:\"xl:pl-96 xl:ml-8\"},{default:o(()=>{var O;return[s($,{title:n(Y)},{actions:o(()=>[u(\"div\",Te,[l.value.status===\"DRAFT\"&&n(N).hasAbilities(n(P).EDIT_INVOICE)?(c(),y(f,{key:0,disabled:E.value,variant:\"primary-outline\",onClick:Q},{default:o(()=>[D(g(e.$t(\"invoices.mark_as_sent\")),1)]),_:1},8,[\"disabled\"])):b(\"\",!0)]),l.value.status===\"DRAFT\"&&n(N).hasAbilities(n(P).SEND_INVOICE)?(c(),y(f,{key:0,variant:\"primary\",class:\"text-sm\",onClick:X},{default:o(()=>[D(g(e.$t(\"invoices.send_invoice\")),1)]),_:1})):b(\"\",!0),n(N).hasAbilities(n(P).CREATE_PAYMENT)?(c(),y(T,{key:1,to:`/admin/payments/${e.$route.params.id}/create`},{default:o(()=>[l.value.status===\"SENT\"||l.value.status===\"VIEWED\"?(c(),y(f,{key:0,variant:\"primary\"},{default:o(()=>[D(g(e.$t(\"invoices.record_payment\")),1)]),_:1})):b(\"\",!0)]),_:1},8,[\"to\"])):b(\"\",!0),s(Se,{class:\"ml-3\",row:l.value,\"load-data\":w},null,8,[\"row\"])]),_:1},8,[\"title\"]),u(\"div\",Fe,[u(\"div\",Ve,[u(\"div\",Ee,[s(oe,{modelValue:n(t).searchText,\"onUpdate:modelValue\":r[0]||(r[0]=a=>n(t).searchText=a),placeholder:e.$t(\"general.search\"),type:\"text\",variant:\"gray\",onInput:r[1]||(r[1]=a=>_())},{right:o(()=>[s(x,{name:\"SearchIcon\",class:\"h-5 text-gray-400\"})]),_:1},8,[\"modelValue\",\"placeholder\"])]),u(\"div\",$e,[s(le,{class:\"ml-3\",position:\"bottom-start\"},{activator:o(()=>[s(f,{size:\"md\",variant:\"gray\"},{default:o(()=>[s(x,{name:\"FilterIcon\"})]),_:1})]),default:o(()=>[u(\"div\",De,g(e.$t(\"general.sort_by\")),1),s(C,{class:\"flex px-1 py-2 cursor-pointer\"},{default:o(()=>[s(L,{class:\"-mt-3 font-normal\"},{default:o(()=>[s(A,{id:\"filter_invoice_date\",modelValue:n(t).orderByField,\"onUpdate:modelValue\":[r[2]||(r[2]=a=>n(t).orderByField=a),_],label:e.$t(\"reports.invoices.invoice_date\"),size:\"sm\",name:\"filter\",value:\"invoice_date\"},null,8,[\"modelValue\",\"label\"])]),_:1})]),_:1}),s(C,{class:\"flex px-1 py-2 cursor-pointer\"},{default:o(()=>[s(L,{class:\"-mt-3 font-normal\"},{default:o(()=>[s(A,{id:\"filter_due_date\",modelValue:n(t).orderByField,\"onUpdate:modelValue\":[r[3]||(r[3]=a=>n(t).orderByField=a),_],label:e.$t(\"invoices.due_date\"),value:\"due_date\",size:\"sm\",name:\"filter\"},null,8,[\"modelValue\",\"label\"])]),_:1})]),_:1}),s(C,{class:\"flex px-1 py-2 cursor-pointer\"},{default:o(()=>[s(L,{class:\"-mt-3 font-normal\"},{default:o(()=>[s(A,{id:\"filter_invoice_number\",modelValue:n(t).orderByField,\"onUpdate:modelValue\":[r[4]||(r[4]=a=>n(t).orderByField=a),_],label:e.$t(\"invoices.invoice_number\"),value:\"invoice_number\",size:\"sm\",name:\"filter\"},null,8,[\"modelValue\",\"label\"])]),_:1})]),_:1})]),_:1}),s(f,{class:\"ml-1\",size:\"md\",variant:\"gray\",onClick:ae},{default:o(()=>[n(R)?(c(),y(x,{key:0,name:\"SortAscendingIcon\"})):(c(),y(x,{key:1,name:\"SortDescendingIcon\"}))]),_:1})])]),u(\"div\",{ref:(a,M)=>{M.invoiceListSection=a,U.value=a},class:\"h-full overflow-y-scroll border-l border-gray-200 border-solid base-scroll\"},[(c(!0),V(J,null,ge(v.value,(a,M)=>(c(),V(\"div\",{key:M},[a?(c(),y(T,{key:0,id:\"invoice-\"+a.id,to:`/admin/invoices/${a.id}/view`,class:be([\"flex justify-between side-invoice p-4 cursor-pointer hover:bg-gray-100 items-center border-l-4 border-transparent\",{\"bg-gray-100 border-l-4 border-primary-500 border-solid\":Z(a.id)}]),style:{\"border-bottom\":\"1px solid rgba(185, 193, 209, 0.41)\"}},{default:o(()=>[u(\"div\",Ne,[s(ne,{text:a.customer.name,length:30,class:\"pr-2 mb-2 text-sm not-italic font-normal leading-5 text-black capitalize truncate\"},null,8,[\"text\"]),u(\"div\",je,g(a.invoice_number),1),s(re,{status:a.status,class:\"px-1 text-xs\"},{default:o(()=>[D(g(a.status),1)]),_:2},1032,[\"status\"])]),u(\"div\",Ae,[s(ie,{class:\"mb-2 text-xl not-italic font-semibold leading-8 text-right text-gray-900 block\",amount:a.total,currency:a.customer.currency},null,8,[\"amount\",\"currency\"]),u(\"div\",Le,g(a.formatted_invoice_date),1)])]),_:2},1032,[\"id\",\"to\",\"class\"])):b(\"\",!0)]))),128)),k.value?(c(),V(\"div\",Ce,[s(we,{class:\"h-6 m-1 animate-spin text-primary-400\"})])):b(\"\",!0),!((O=v.value)==null?void 0:O.length)&&!k.value?(c(),V(\"p\",Me,g(e.$t(\"invoices.no_matching_invoices\")),1)):b(\"\",!0)],512)]),u(\"div\",ze,[u(\"iframe\",{src:`${n(K)}`,class:\"flex-1 border border-gray-400 border-solid bg-white rounded-md frame-style\"},null,8,Pe)])]}),_:1})):b(\"\",!0)],64)}}};export{We as default};\n"
  },
  {
    "path": "public/build/assets/auth.c88ceb4c.js",
    "content": "import{a as l}from\"./vendor.d12b5734.js\";import{u as n,v as m}from\"./main.465728e1.js\";const u=e=>{const t=p(),a=n();if(!e.response)a.showNotification({type:\"error\",message:\"Please check your internet connection or wait until servers are back online.\"});else if(e.response.data&&(e.response.statusText===\"Unauthorized\"||e.response.data===\" Unauthorized.\")){const s=e.response.data.message?e.response.data.message:\"Unauthorized\";i(s),t.logout()}else if(e.response.data.errors){const s=JSON.parse(JSON.stringify(e.response.data.errors));for(const o in s)d(s[o][0])}else e.response.data.error?d(e.response.data.error):d(e.response.data.message)},d=e=>{switch(e){case\"These credentials do not match our records.\":i(\"errors.login_invalid_credentials\");break;case\"The email has already been taken.\":i(\"validation.email_already_taken\");break;case\"invalid_credentials\":i(\"errors.invalid_credentials\");break;case\"Email could not be sent to this email address.\":i(\"errors.email_could_not_be_sent\");break;case\"not_allowed\":i(\"errors.not_allowed\");break;default:i(e,!1);break}},i=(e,t=!0)=>{const{global:a}=window.i18n;n().showNotification({type:\"error\",message:t?a.t(e):e})},{defineStore:f}=window.pinia,{global:r}=window.i18n,p=f({id:\"customerAuth\",state:()=>({loginData:{email:\"\",password:\"\",device_name:\"xyz\",company:\"\"}}),actions:{login(e){const t=n(!0);return new Promise((a,s)=>{l.get(\"/sanctum/csrf-cookie\").then(o=>{o&&l.post(`/${e.company}/customer/login`,e).then(c=>{t.showNotification({type:\"success\",message:r.tm(\"general.login_successfully\")}),a(c),setTimeout(()=>{this.loginData.email=\"\",this.loginData.password=\"\"},1e3)}).catch(c=>{u(c),s(c)})})})},forgotPassword(e){const t=n(!0);return new Promise((a,s)=>{l.post(`/api/v1/${e.company}/customer/auth/password/email`,e).then(o=>{o.data&&t.showNotification({type:\"success\",message:r.tm(\"general.send_mail_successfully\")}),a(o)}).catch(o=>{o.response&&o.response.status===403?t.showNotification({type:\"error\",message:r.tm(\"errors.email_could_not_be_sent\")}):u(o),s(o)})})},resetPassword(e,t){return new Promise((a,s)=>{l.post(`/api/v1/${t}/customer/auth/reset/password`,e).then(o=>{o.data&&n(!0).showNotification({type:\"success\",message:r.tm(\"login.password_reset_successfully\")}),a(o)}).catch(o=>{o.response&&o.response.status===403&&notificationStore.showNotification({type:\"error\",message:r.tm(\"validation.email_incorrect\")}),s(o)})})},logout(e){return new Promise((t,a)=>{l.post(`/${e}/customer/logout`).then(s=>{n().showNotification({type:\"success\",message:r.tm(\"general.logged_out_successfully\")}),m.push({name:\"customer.login\"}),t(s)}).catch(s=>{u(s),a(s)})})}}});export{u as h,p as u};\n"
  },
  {
    "path": "public/build/assets/category.c88b90cd.js",
    "content": "import{a as o,d as f}from\"./vendor.d12b5734.js\";import{h as s,u as c}from\"./main.465728e1.js\";const l=(g=!1)=>{const h=g?window.pinia.defineStore:f,{global:n}=window.i18n;return h({id:\"category\",state:()=>({categories:[],currentCategory:{id:null,name:\"\",description:\"\"},editCategory:null}),getters:{isEdit:t=>!!t.currentCategory.id},actions:{fetchCategories(t){return new Promise((a,i)=>{o.get(\"/api/v1/categories\",{params:t}).then(e=>{this.categories=e.data.data,a(e)}).catch(e=>{s(e),i(e)})})},fetchCategory(t){return new Promise((a,i)=>{o.get(`/api/v1/categories/${t}`).then(e=>{this.currentCategory=e.data.data,a(e)}).catch(e=>{s(e),i(e)})})},addCategory(t){return new Promise((a,i)=>{o.post(\"/api/v1/categories\",t).then(e=>{this.categories.push(e.data.data),c().showNotification({type:\"success\",message:n.t(\"settings.expense_category.created_message\")}),a(e)}).catch(e=>{s(e),i(e)})})},updateCategory(t){return new Promise((a,i)=>{o.put(`/api/v1/categories/${t.id}`,t).then(e=>{if(e.data){let r=this.categories.findIndex(u=>u.id===e.data.data.id);this.categories[r]=t.categories,c().showNotification({type:\"success\",message:n.t(\"settings.expense_category.updated_message\")})}a(e)}).catch(e=>{s(e),i(e)})})},deleteCategory(t){return new Promise(a=>{o.delete(`/api/v1/categories/${t}`).then(i=>{let e=this.categories.findIndex(d=>d.id===t);this.categories.splice(e,1),c().showNotification({type:\"success\",message:n.t(\"settings.expense_category.deleted_message\")}),a(i)}).catch(i=>{s(i),console.error(i)})})}}})()};export{l as u};\n"
  },
  {
    "path": "public/build/assets/disk.0ffde448.js",
    "content": "import{a as o,d as l}from\"./vendor.d12b5734.js\";import{h as a,u as r}from\"./main.465728e1.js\";const v=(k=!1)=>{const f=k?window.pinia.defineStore:l,{global:n}=window.i18n;return f({id:\"disk\",state:()=>({disks:[],diskDrivers:[],diskConfigData:null,selected_driver:\"local\",doSpaceDiskConfig:{name:\"\",selected_driver:\"doSpaces\",key:\"\",secret:\"\",region:\"\",bucket:\"\",endpoint:\"\",root:\"\"},dropBoxDiskConfig:{name:\"\",selected_driver:\"dropbox\",token:\"\",key:\"\",secret:\"\",app:\"\"},localDiskConfig:{name:\"\",selected_driver:\"local\",root:\"\"},s3DiskConfigData:{name:\"\",selected_driver:\"s3\",key:\"\",secret:\"\",region:\"\",bucket:\"\",root:\"\"}}),getters:{getDiskDrivers:t=>t.diskDrivers},actions:{fetchDiskEnv(t){return new Promise((s,e)=>{o.get(`/api/v1/disks/${t.disk}`).then(i=>{s(i)}).catch(i=>{a(i),e(i)})})},fetchDisks(t){return new Promise((s,e)=>{o.get(\"/api/v1/disks\",{params:t}).then(i=>{this.disks=i.data.data,s(i)}).catch(i=>{a(i),e(i)})})},fetchDiskDrivers(){return new Promise((t,s)=>{o.get(\"/api/v1/disk/drivers\").then(e=>{this.diskConfigData=e.data,this.diskDrivers=e.data.drivers,t(e)}).catch(e=>{a(e),s(e)})})},deleteFileDisk(t){return new Promise((s,e)=>{o.delete(`/api/v1/disks/${t}`).then(i=>{if(i.data.success){let d=this.disks.findIndex(c=>c.id===t);this.disks.splice(d,1),r().showNotification({type:\"success\",message:n.t(\"settings.disk.deleted_message\")})}s(i)}).catch(i=>{a(i),e(i)})})},updateDisk(t){return new Promise((s,e)=>{o.put(`/api/v1/disks/${t.id}`,t).then(i=>{if(i.data){let d=this.disks.findIndex(c=>c.id===i.data.data);this.disks[d]=t.disks,r().showNotification({type:\"success\",message:n.t(\"settings.disk.success_set_default_disk\")})}s(i)}).catch(i=>{a(i),e(i)})})},createDisk(t){return new Promise((s,e)=>{o.post(\"/api/v1/disks\",t).then(i=>{i.data&&r().showNotification({type:\"success\",message:n.t(\"settings.disk.success_create\")}),this.disks.push(i.data),s(i)}).catch(i=>{a(i),e(i)})})}}})()};export{v as u};\n"
  },
  {
    "path": "public/build/assets/estimate.f77ffc39.js",
    "content": "import{u as h}from\"./main.465728e1.js\";import{a as n}from\"./vendor.d12b5734.js\";import{h as r}from\"./auth.c88ceb4c.js\";const{defineStore:u}=window.pinia,p=u({id:\"customerEstimateStore\",state:()=>({estimates:[],totalEstimates:0,selectedViewEstimate:[]}),actions:{fetchEstimate(s,e){return new Promise((a,i)=>{n.get(`/api/v1/${e}/customer/estimates`,{params:s}).then(t=>{this.estimates=t.data.data,this.totalEstimates=t.data.meta.estimateTotalCount,a(t)}).catch(t=>{r(t),i(t)})})},fetchViewEstimate(s,e){return new Promise((a,i)=>{n.get(`/api/v1/${e}/customer/estimates/${s.id}`,{params:s}).then(t=>{this.selectedViewEstimate=t.data.data,a(t)}).catch(t=>{r(t),i(t)})})},searchEstimate(s,e){return new Promise((a,i)=>{n.get(`/api/v1/${e}/customer/estimates`,{params:s}).then(t=>{this.estimates=t.data,a(t)}).catch(t=>{r(t),i(t)})})},acceptEstimate({slug:s,id:e,status:a}){return new Promise((i,t)=>{n.post(`/api/v1/${s}/customer/estimate/${e}/status`,{status:a}).then(o=>{let m=this.estimates.findIndex(c=>c.id===e);this.estimates[m]&&(this.estimates[m].status=\"ACCEPTED\",h(!0).showNotification({type:\"success\",message:global.t(\"estimates.marked_as_accepted_message\")})),i(o)}).catch(o=>{r(o),t(o)})})},rejectEstimate({slug:s,id:e,status:a}){return new Promise((i,t)=>{n.post(`/api/v1/${s}/customer/estimate/${e}/status`,{status:a}).then(o=>{let m=this.estimates.findIndex(c=>c.id===e);this.estimates[m]&&(this.estimates[m].status=\"REJECTED\",h(!0).showNotification({type:\"success\",message:global.t(\"estimates.marked_as_rejected_message\")})),i(o)}).catch(o=>{r(o),t(o)})})}}});export{p as u};\n"
  },
  {
    "path": "public/build/assets/exchange-rate.85b564e2.js",
    "content": "import{a as i,d as g}from\"./vendor.d12b5734.js\";import{h as c,u as v}from\"./main.465728e1.js\";const f=(u=!1)=>{const o=u?window.pinia.defineStore:g,{global:n}=window.i18n,s=v();return o({id:\"exchange-rate\",state:()=>({supportedCurrencies:[],drivers:[],activeUsedCurrencies:[],providers:[],currencies:null,currentExchangeRate:{id:null,driver:\"\",key:\"\",active:!0,currencies:[]},currencyConverter:{type:\"\",url:\"\"},bulkCurrencies:[]}),getters:{isEdit:r=>!!r.currentExchangeRate.id},actions:{fetchProviders(r){return new Promise((a,t)=>{i.get(\"/api/v1/exchange-rate-providers\",{params:r}).then(e=>{this.providers=e.data.data,a(e)}).catch(e=>{c(e),t(e)})})},fetchDefaultProviders(){return new Promise((r,a)=>{i.get(\"/api/v1/config?key=exchange_rate_drivers\").then(t=>{this.drivers=t.data.exchange_rate_drivers,r(t)}).catch(t=>{c(t),a(t)})})},fetchProvider(r){return new Promise((a,t)=>{i.get(`/api/v1/exchange-rate-providers/${r}`).then(e=>{this.currentExchangeRate=e.data.data,this.currencyConverter=e.data.data.driver_config,a(e)}).catch(e=>{c(e),t(e)})})},addProvider(r){return new Promise((a,t)=>{i.post(\"/api/v1/exchange-rate-providers\",r).then(e=>{s.showNotification({type:\"success\",message:n.t(\"settings.exchange_rate.created_message\")}),a(e)}).catch(e=>{c(e),t(e)})})},updateProvider(r){return new Promise((a,t)=>{i.put(`/api/v1/exchange-rate-providers/${r.id}`,r).then(e=>{s.showNotification({type:\"success\",message:n.t(\"settings.exchange_rate.updated_message\")}),a(e)}).catch(e=>{c(e),t(e)})})},deleteExchangeRate(r){return new Promise((a,t)=>{i.delete(`/api/v1/exchange-rate-providers/${r}`).then(e=>{let d=this.drivers.findIndex(h=>h.id===r);this.drivers.splice(d,1),e.data.success?s.showNotification({type:\"success\",message:n.t(\"settings.exchange_rate.deleted_message\")}):s.showNotification({type:\"error\",message:n.t(\"settings.exchange_rate.error\")}),a(e)}).catch(e=>{c(e),t(e)})})},fetchCurrencies(r){return new Promise((a,t)=>{i.get(\"/api/v1/supported-currencies\",{params:r}).then(e=>{this.supportedCurrencies=e.data.supportedCurrencies,a(e)}).catch(e=>{c(e),t(e)})})},fetchActiveCurrency(r){return new Promise((a,t)=>{i.get(\"/api/v1/used-currencies\",{params:r}).then(e=>{this.activeUsedCurrencies=e.data.activeUsedCurrencies,a(e)}).catch(e=>{c(e),t(e)})})},fetchBulkCurrencies(){return new Promise((r,a)=>{i.get(\"/api/v1/currencies/used\").then(t=>{this.bulkCurrencies=t.data.currencies.map(e=>(e.exchange_rate=null,e)),r(t)}).catch(t=>{c(t),a(t)})})},updateBulkExchangeRate(r){return new Promise((a,t)=>{i.post(\"/api/v1/currencies/bulk-update-exchange-rate\",r).then(e=>{a(e)}).catch(e=>{c(e),t(e)})})},getCurrentExchangeRate(r){return new Promise((a,t)=>{i.get(`/api/v1/currencies/${r}/exchange-rate`).then(e=>{a(e)}).catch(e=>{t(e)})})},getCurrencyConverterServers(){return new Promise((r,a)=>{i.get(\"/api/v1/config?key=currency_converter_servers\").then(t=>{r(t)}).catch(t=>{c(t),a(t)})})},checkForActiveProvider(r){return new Promise((a,t)=>{i.get(`/api/v1/currencies/${r}/active-provider`).then(e=>{a(e)}).catch(e=>{t(e)})})}}})()};export{f as u};\n"
  },
  {
    "path": "public/build/assets/expense.ea1e799e.js",
    "content": "var w=Object.defineProperty;var u=Object.getOwnPropertySymbols;var y=Object.prototype.hasOwnProperty,F=Object.prototype.propertyIsEnumerable;var f=(p,c,a)=>c in p?w(p,c,{enumerable:!0,configurable:!0,writable:!0,value:a}):p[c]=a,x=(p,c)=>{for(var a in c||(c={}))y.call(c,a)&&f(p,a,c[a]);if(u)for(var a of u(c))F.call(c,a)&&f(p,a,c[a]);return p};import{I as S,a as d,d as v}from\"./vendor.d12b5734.js\";import{h as o,s as m,u as h}from\"./main.465728e1.js\";var E={expense_category_id:null,expense_date:S().format(\"YYYY-MM-DD\"),amount:100,notes:\"\",attachment_receipt:null,customer_id:\"\",currency_id:\"\",payment_method_id:\"\",receiptFiles:[],customFields:[],fields:[],in_use:!1,selectedCurrency:null};const I=(p=!1)=>{const c=p?window.pinia.defineStore:v,{global:a}=window.i18n;return c({id:\"expense\",state:()=>({expenses:[],totalExpenses:0,selectAllField:!1,selectedExpenses:[],paymentModes:[],showExchangeRate:!1,currentExpense:x({},E)}),getters:{getCurrentExpense:t=>t.currentExpense,getSelectedExpenses:t=>t.selectedExpenses},actions:{resetCurrentExpenseData(){this.currentExpense=x({},E)},fetchExpenses(t){return new Promise((s,i)=>{d.get(\"/api/v1/expenses\",{params:t}).then(e=>{this.expenses=e.data.data,this.totalExpenses=e.data.meta.expense_total_count,s(e)}).catch(e=>{o(e),i(e)})})},fetchExpense(t){return new Promise((s,i)=>{d.get(`/api/v1/expenses/${t}`).then(e=>{e.data&&(Object.assign(this.currentExpense,e.data.data),this.currentExpense.selectedCurrency=e.data.data.currency,this.currentExpense.attachment_receipt=null,e.data.data.attachment_receipt_url?m.isImageFile(e.data.data.attachment_receipt_meta.mime_type)?this.currentExpense.receiptFiles=[{image:`/reports/expenses/${t}/receipt?${e.data.data.attachment_receipt_meta.uuid}`}]:this.currentExpense.receiptFiles=[{type:\"document\",name:e.data.data.attachment_receipt_meta.file_name}]:this.currentExpense.receiptFiles=[]),s(e)}).catch(e=>{o(e),i(e)})})},addExpense(t){const s=m.toFormData(t);return new Promise((i,e)=>{d.post(\"/api/v1/expenses\",s).then(n=>{this.expenses.push(n.data),h().showNotification({type:\"success\",message:a.t(\"expenses.created_message\")}),i(n)}).catch(n=>{o(n),e(n)})})},updateExpense({id:t,data:s,isAttachmentReceiptRemoved:i}){const e=h(),n=m.toFormData(s);return n.append(\"_method\",\"PUT\"),n.append(\"is_attachment_receipt_removed\",i),new Promise(l=>{d.post(`/api/v1/expenses/${t}`,n).then(r=>{let _=this.expenses.findIndex(g=>g.id===r.data.id);this.expenses[_]=s.expense,e.showNotification({type:\"success\",message:a.t(\"expenses.updated_message\")}),l(r)})}).catch(l=>{o(l),reject(l)})},setSelectAllState(t){this.selectAllField=t},selectExpense(t){this.selectedExpenses=t,this.selectedExpenses.length===this.expenses.length?this.selectAllField=!0:this.selectAllField=!1},selectAllExpenses(t){if(this.selectedExpenses.length===this.expenses.length)this.selectedExpenses=[],this.selectAllField=!1;else{let s=this.expenses.map(i=>i.id);this.selectedExpenses=s,this.selectAllField=!0}},deleteExpense(t){const s=h();return new Promise((i,e)=>{d.post(\"/api/v1/expenses/delete\",t).then(n=>{let l=this.expenses.findIndex(r=>r.id===t);this.expenses.splice(l,1),s.showNotification({type:\"success\",message:a.tc(\"expenses.deleted_message\",1)}),i(n)}).catch(n=>{o(n),e(n)})})},deleteMultipleExpenses(){const t=h();return new Promise((s,i)=>{d.post(\"/api/v1/expenses/delete\",{ids:this.selectedExpenses}).then(e=>{this.selectedExpenses.forEach(n=>{let l=this.expenses.findIndex(r=>r.id===n.id);this.expenses.splice(l,1)}),t.showNotification({type:\"success\",message:a.tc(\"expenses.deleted_message\",2)}),s(e)}).catch(e=>{o(e),i(e)})})},fetchPaymentModes(t){return new Promise((s,i)=>{d.get(\"/api/v1/payment-methods\",{params:t}).then(e=>{this.paymentModes=e.data.data,s(e)}).catch(e=>{o(e),i(e)})})}}})()};export{I as u};\n"
  },
  {
    "path": "public/build/assets/global.dc565c4e.js",
    "content": "var p=Object.defineProperty,g=Object.defineProperties;var f=Object.getOwnPropertyDescriptors;var c=Object.getOwnPropertySymbols;var S=Object.prototype.hasOwnProperty,b=Object.prototype.propertyIsEnumerable;var l=(e,a,t)=>a in e?p(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t,i=(e,a)=>{for(var t in a||(a={}))S.call(a,t)&&l(e,t,a[t]);if(c)for(var t of c(a))b.call(a,t)&&l(e,t,a[t]);return e},d=(e,a)=>g(e,f(a));import{h as r}from\"./auth.c88ceb4c.js\";import{u as y}from\"./main.465728e1.js\";import{a as u}from\"./vendor.d12b5734.js\";var m={name:null,phone:null,address_street_1:null,address_street_2:null,city:null,state:null,country_id:null,zip:null,type:null};const{defineStore:w}=window.pinia,U=w({id:\"customerUserStore\",state:()=>({customers:[],userForm:{avatar:null,name:\"\",email:\"\",password:\"\",company:\"\",confirm_password:\"\",billing:i({},m),shipping:i({},m)}}),actions:{copyAddress(){this.userForm.shipping=d(i({},this.userForm.billing),{type:\"shipping\"})},fetchCurrentUser(){const e=h();return new Promise((a,t)=>{u.get(`/api/v1/${e.companySlug}/customer/me`).then(s=>{Object.assign(this.userForm,s.data.data),a(s)}).catch(s=>{r(s),t(s)})})},updateCurrentUser({data:e,message:a}){const t=h();return new Promise((s,o)=>{u.post(`/api/v1/${t.companySlug}/customer/profile`,e).then(n=>{this.userForm=n.data.data,t.currentUser=n.data.data,s(n),a&&y(!0).showNotification({type:\"success\",message:a})}).catch(n=>{r(n),o(n)})})}}}),{defineStore:_}=window.pinia,h=_({id:\"CustomerPortalGlobalStore\",state:()=>({languages:[],currency:null,isAppLoaded:!1,countries:[],getDashboardDataLoaded:!1,currentUser:null,companySlug:\"\",mainMenu:null,enabledModules:[]}),actions:{bootstrap(e){this.companySlug=e;const a=U();return new Promise((t,s)=>{u.get(`/api/v1/${e}/customer/bootstrap`).then(o=>{this.currentUser=o.data.data,this.mainMenu=o.data.meta.menu,this.currency=o.data.data.currency,this.enabledModules=o.data.meta.modules,Object.assign(a.userForm,o.data.data),window.i18n.locale=o.data.default_language,this.isAppLoaded=!0,t(o)}).catch(o=>{r(o),s(o)})})},fetchCountries(){return new Promise((e,a)=>{this.countries.length?e(this.countries):u.get(`/api/v1/${this.companySlug}/customer/countries`).then(t=>{this.countries=t.data.data,e(t)}).catch(t=>{r(t),a(t)})})}}});export{U as a,h as u};\n"
  },
  {
    "path": "public/build/assets/index.esm.85b4999a.js",
    "content": "import{T as r}from\"./vendor.d12b5734.js\";var s={name:\"ValidateEach\",props:{rules:{type:Object,required:!0},state:{type:Object,required:!0},options:{type:Object,default:()=>({})}},setup(e,{slots:t}){const a=r(e.rules,e.state,e.options);return()=>t.default({v:a.value})}};export{s as V};\n"
  },
  {
    "path": "public/build/assets/invoice.735a98ac.js",
    "content": "import{h as a}from\"./auth.c88ceb4c.js\";import{a as n}from\"./vendor.d12b5734.js\";const{defineStore:s}=window.pinia,d=s({id:\"customerInvoiceStore\",state:()=>({totalInvoices:0,invoices:[],selectedViewInvoice:[]}),actions:{fetchInvoices(e,i){return new Promise((o,c)=>{n.get(`/api/v1/${i}/customer/invoices`,{params:e}).then(t=>{this.invoices=t.data.data,this.totalInvoices=t.data.meta.invoiceTotalCount,o(t)}).catch(t=>{a(t),c(t)})})},fetchViewInvoice(e,i){return new Promise((o,c)=>{n.get(`/api/v1/${i}/customer/invoices/${e.id}`,{params:e}).then(t=>{this.selectedViewInvoice=t.data.data,o(t)}).catch(t=>{a(t),c(t)})})},searchInvoice(e,i){return new Promise((o,c)=>{n.get(`/api/v1/${i}/customer/invoices`,{params:e}).then(t=>{this.invoices=t.data,o(t)}).catch(t=>{a(t),c(t)})})}}});export{d as u};\n"
  },
  {
    "path": "public/build/assets/mail-driver.0a974f6a.js",
    "content": "import{a as r,d as _}from\"./vendor.d12b5734.js\";import{h as m,u as n}from\"./main.465728e1.js\";const u=(l=!1)=>{const c=l?window.pinia.defineStore:_,{global:s}=window.i18n;return c({id:\"mail-driver\",state:()=>({mailConfigData:null,mail_driver:\"smtp\",mail_drivers:[],basicMailConfig:{mail_driver:\"\",mail_host:\"\",from_mail:\"\",from_name:\"\"},mailgunConfig:{mail_driver:\"\",mail_mailgun_domain:\"\",mail_mailgun_secret:\"\",mail_mailgun_endpoint:\"\",from_mail:\"\",from_name:\"\"},sesConfig:{mail_driver:\"\",mail_host:\"\",mail_port:null,mail_ses_key:\"\",mail_ses_secret:\"\",mail_encryption:\"tls\",from_mail:\"\",from_name:\"\"},smtpConfig:{mail_driver:\"\",mail_host:\"\",mail_port:null,mail_username:\"\",mail_password:\"\",mail_encryption:\"tls\",from_mail:\"\",from_name:\"\"}}),actions:{fetchMailDrivers(){return new Promise((t,e)=>{r.get(\"/api/v1/mail/drivers\").then(i=>{i.data&&(this.mail_drivers=i.data),t(i)}).catch(i=>{m(i),e(i)})})},fetchMailConfig(){return new Promise((t,e)=>{r.get(\"/api/v1/mail/config\").then(i=>{i.data&&(this.mailConfigData=i.data,this.mail_driver=i.data.mail_driver),t(i)}).catch(i=>{m(i),e(i)})})},updateMailConfig(t){return new Promise((e,i)=>{r.post(\"/api/v1/mail/config\",t).then(a=>{const o=n();a.data.success?o.showNotification({type:\"success\",message:s.t(\"wizard.success.\"+a.data.success)}):o.showNotification({type:\"error\",message:s.t(\"wizard.errors.\"+a.data.error)}),e(a)}).catch(a=>{m(a),i(a)})})},sendTestMail(t){return new Promise((e,i)=>{r.post(\"/api/v1/mail/test\",t).then(a=>{const o=n();a.data.success?o.showNotification({type:\"success\",message:s.t(\"general.send_mail_successfully\")}):o.showNotification({type:\"error\",message:s.t(\"validation.something_went_wrong\")}),e(a)}).catch(a=>{m(a),i(a)})})}}})()};export{u};\n"
  },
  {
    "path": "public/build/assets/main.40833226.css",
    "content": "*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:currentColor}:before,:after{--tw-content: \"\"}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\"}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#94a3b8}input:-ms-input-placeholder,textarea:-ms-input-placeholder{opacity:1;color:#94a3b8}input::placeholder,textarea::placeholder{opacity:1;color:#94a3b8}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}[type=text],[type=email],[type=url],[type=password],[type=number],[type=date],[type=datetime-local],[type=month],[type=search],[type=tel],[type=time],[type=week],[multiple],textarea,select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#64748b;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow: 0 0 #0000}[type=text]:focus,[type=email]:focus,[type=url]:focus,[type=password]:focus,[type=number]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=month]:focus,[type=search]:focus,[type=tel]:focus,[type=time]:focus,[type=week]:focus,[multiple]:focus,textarea:focus,select:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: #2563eb;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#2563eb}input::-moz-placeholder,textarea::-moz-placeholder{color:#64748b;opacity:1}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#64748b;opacity:1}input::placeholder,textarea::placeholder{color:#64748b;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}select{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%2364748b' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e\");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;color-adjust:exact}[multiple]{background-image:initial;background-position:initial;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#2563eb;background-color:#fff;border-color:#64748b;border-width:1px;--tw-shadow: 0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 2px;--tw-ring-offset-color: #fff;--tw-ring-color: #2563eb;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}[type=checkbox]:checked,[type=radio]:checked{border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url(\"data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e\")}[type=radio]:checked{background-image:url(\"data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e\")}[type=checkbox]:checked:hover,[type=checkbox]:checked:focus,[type=radio]:checked:hover,[type=radio]:checked:focus{border-color:transparent;background-color:currentColor}[type=checkbox]:indeterminate{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e\");border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}[type=checkbox]:indeterminate:hover,[type=checkbox]:indeterminate:focus{border-color:transparent;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px auto -webkit-focus-ring-color}*{scrollbar-color:initial;scrollbar-width:initial}*,:before,:after{--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-transform: translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity));--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: var(--tw-empty, );--tw-brightness: var(--tw-empty, );--tw-contrast: var(--tw-empty, );--tw-grayscale: var(--tw-empty, );--tw-hue-rotate: var(--tw-empty, );--tw-invert: var(--tw-empty, );--tw-saturate: var(--tw-empty, );--tw-sepia: var(--tw-empty, );--tw-drop-shadow: var(--tw-empty, );--tw-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);--tw-backdrop-blur: var(--tw-empty, );--tw-backdrop-brightness: var(--tw-empty, );--tw-backdrop-contrast: var(--tw-empty, );--tw-backdrop-grayscale: var(--tw-empty, );--tw-backdrop-hue-rotate: var(--tw-empty, );--tw-backdrop-invert: var(--tw-empty, );--tw-backdrop-opacity: var(--tw-empty, );--tw-backdrop-saturate: var(--tw-empty, );--tw-backdrop-sepia: var(--tw-empty, );--tw-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.container{width:100%}.\\!container{width:100%!important}@media (min-width: 640px){.container{max-width:640px}.\\!container{max-width:640px!important}}@media (min-width: 768px){.container{max-width:768px}.\\!container{max-width:768px!important}}@media (min-width: 1024px){.container{max-width:1024px}.\\!container{max-width:1024px!important}}@media (min-width: 1280px){.container{max-width:1280px}.\\!container{max-width:1280px!important}}@media (min-width: 1536px){.container{max-width:1536px}.\\!container{max-width:1536px!important}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where([class~=\"lead\"]):not(:where([class~=\"not-prose\"] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=\"not-prose\"] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=\"not-prose\"] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(ol):not(:where([class~=\"not-prose\"] *)){list-style-type:decimal;padding-left:1.625em}.prose :where(ol[type=\"A\"]):not(:where([class~=\"not-prose\"] *)){list-style-type:upper-alpha}.prose :where(ol[type=\"a\"]):not(:where([class~=\"not-prose\"] *)){list-style-type:lower-alpha}.prose :where(ol[type=\"A\" s]):not(:where([class~=\"not-prose\"] *)){list-style-type:upper-alpha}.prose :where(ol[type=\"a\" s]):not(:where([class~=\"not-prose\"] *)){list-style-type:lower-alpha}.prose :where(ol[type=\"I\"]):not(:where([class~=\"not-prose\"] *)){list-style-type:upper-roman}.prose :where(ol[type=\"i\"]):not(:where([class~=\"not-prose\"] *)){list-style-type:lower-roman}.prose :where(ol[type=\"I\" s]):not(:where([class~=\"not-prose\"] *)){list-style-type:upper-roman}.prose :where(ol[type=\"i\" s]):not(:where([class~=\"not-prose\"] *)){list-style-type:lower-roman}.prose :where(ol[type=\"1\"]):not(:where([class~=\"not-prose\"] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=\"not-prose\"] *)){list-style-type:disc;padding-left:1.625em}.prose :where(ol > li):not(:where([class~=\"not-prose\"] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul > li):not(:where([class~=\"not-prose\"] *))::marker{color:var(--tw-prose-bullets)}.prose :where(hr):not(:where([class~=\"not-prose\"] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=\"not-prose\"] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-left-width:.25rem;border-left-color:var(--tw-prose-quote-borders);quotes:\"\\201c\"\"\\201d\"\"\\2018\"\"\\2019\";margin-top:1.6em;margin-bottom:1.6em;padding-left:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=\"not-prose\"] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=\"not-prose\"] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=\"not-prose\"] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=\"not-prose\"] *)){font-weight:900}.prose :where(h2):not(:where([class~=\"not-prose\"] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=\"not-prose\"] *)){font-weight:800}.prose :where(h3):not(:where([class~=\"not-prose\"] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=\"not-prose\"] *)){font-weight:700}.prose :where(h4):not(:where([class~=\"not-prose\"] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=\"not-prose\"] *)){font-weight:700}.prose :where(figure > *):not(:where([class~=\"not-prose\"] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=\"not-prose\"] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose :where(code):not(:where([class~=\"not-prose\"] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=\"not-prose\"] *)):before{content:\"`\"}.prose :where(code):not(:where([class~=\"not-prose\"] *)):after{content:\"`\"}.prose :where(a code):not(:where([class~=\"not-prose\"] *)){color:var(--tw-prose-links)}.prose :where(pre):not(:where([class~=\"not-prose\"] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding:.8571429em 1.1428571em}.prose :where(pre code):not(:where([class~=\"not-prose\"] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=\"not-prose\"] *)):before{content:none}.prose :where(pre code):not(:where([class~=\"not-prose\"] *)):after{content:none}.prose :where(table):not(:where([class~=\"not-prose\"] *)){width:100%;table-layout:auto;text-align:left;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=\"not-prose\"] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=\"not-prose\"] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-right:.5714286em;padding-bottom:.5714286em;padding-left:.5714286em}.prose :where(tbody tr):not(:where([class~=\"not-prose\"] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=\"not-prose\"] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=\"not-prose\"] *)){vertical-align:baseline;padding:.5714286em}.prose{--tw-prose-body: #374151;--tw-prose-headings: #111827;--tw-prose-lead: #4b5563;--tw-prose-links: #111827;--tw-prose-bold: #111827;--tw-prose-counters: #6b7280;--tw-prose-bullets: #d1d5db;--tw-prose-hr: #e5e7eb;--tw-prose-quotes: #111827;--tw-prose-quote-borders: #e5e7eb;--tw-prose-captions: #6b7280;--tw-prose-code: #111827;--tw-prose-pre-code: #e5e7eb;--tw-prose-pre-bg: #1f2937;--tw-prose-th-borders: #d1d5db;--tw-prose-td-borders: #e5e7eb;--tw-prose-invert-body: #d1d5db;--tw-prose-invert-headings: #fff;--tw-prose-invert-lead: #9ca3af;--tw-prose-invert-links: #fff;--tw-prose-invert-bold: #fff;--tw-prose-invert-counters: #9ca3af;--tw-prose-invert-bullets: #4b5563;--tw-prose-invert-hr: #374151;--tw-prose-invert-quotes: #f3f4f6;--tw-prose-invert-quote-borders: #374151;--tw-prose-invert-captions: #9ca3af;--tw-prose-invert-code: #fff;--tw-prose-invert-pre-code: #d1d5db;--tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);--tw-prose-invert-th-borders: #4b5563;--tw-prose-invert-td-borders: #374151;font-size:1rem;line-height:1.75}.prose :where(p):not(:where([class~=\"not-prose\"] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(img):not(:where([class~=\"not-prose\"] *)){margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=\"not-prose\"] *)){margin-top:2em;margin-bottom:2em}.prose :where(figure):not(:where([class~=\"not-prose\"] *)){margin-top:2em;margin-bottom:2em}.prose :where(h2 code):not(:where([class~=\"not-prose\"] *)){font-size:.875em}.prose :where(h3 code):not(:where([class~=\"not-prose\"] *)){font-size:.9em}.prose :where(li):not(:where([class~=\"not-prose\"] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol > li):not(:where([class~=\"not-prose\"] *)){padding-left:.375em}.prose :where(ul > li):not(:where([class~=\"not-prose\"] *)){padding-left:.375em}.prose>:where(ul > li p):not(:where([class~=\"not-prose\"] *)){margin-top:.75em;margin-bottom:.75em}.prose>:where(ul > li > *:first-child):not(:where([class~=\"not-prose\"] *)){margin-top:1.25em}.prose>:where(ul > li > *:last-child):not(:where([class~=\"not-prose\"] *)){margin-bottom:1.25em}.prose>:where(ol > li > *:first-child):not(:where([class~=\"not-prose\"] *)){margin-top:1.25em}.prose>:where(ol > li > *:last-child):not(:where([class~=\"not-prose\"] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=\"not-prose\"] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(hr + *):not(:where([class~=\"not-prose\"] *)){margin-top:0}.prose :where(h2 + *):not(:where([class~=\"not-prose\"] *)){margin-top:0}.prose :where(h3 + *):not(:where([class~=\"not-prose\"] *)){margin-top:0}.prose :where(h4 + *):not(:where([class~=\"not-prose\"] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=\"not-prose\"] *)){padding-left:0}.prose :where(thead th:last-child):not(:where([class~=\"not-prose\"] *)){padding-right:0}.prose :where(tbody td:first-child):not(:where([class~=\"not-prose\"] *)){padding-left:0}.prose :where(tbody td:last-child):not(:where([class~=\"not-prose\"] *)){padding-right:0}.prose>:where(:first-child):not(:where([class~=\"not-prose\"] *)){margin-top:0}.prose>:where(:last-child):not(:where([class~=\"not-prose\"] *)){margin-bottom:0}.prose-sm{font-size:.875rem;line-height:1.7142857}.prose-sm :where(p):not(:where([class~=\"not-prose\"] *)){margin-top:1.1428571em;margin-bottom:1.1428571em}.prose-sm :where([class~=\"lead\"]):not(:where([class~=\"not-prose\"] *)){font-size:1.2857143em;line-height:1.5555556;margin-top:.8888889em;margin-bottom:.8888889em}.prose-sm :where(blockquote):not(:where([class~=\"not-prose\"] *)){margin-top:1.3333333em;margin-bottom:1.3333333em;padding-left:1.1111111em}.prose-sm :where(h1):not(:where([class~=\"not-prose\"] *)){font-size:2.1428571em;margin-top:0;margin-bottom:.8em;line-height:1.2}.prose-sm :where(h2):not(:where([class~=\"not-prose\"] *)){font-size:1.4285714em;margin-top:1.6em;margin-bottom:.8em;line-height:1.4}.prose-sm :where(h3):not(:where([class~=\"not-prose\"] *)){font-size:1.2857143em;margin-top:1.5555556em;margin-bottom:.4444444em;line-height:1.5555556}.prose-sm :where(h4):not(:where([class~=\"not-prose\"] *)){margin-top:1.4285714em;margin-bottom:.5714286em;line-height:1.4285714}.prose-sm :where(img):not(:where([class~=\"not-prose\"] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(video):not(:where([class~=\"not-prose\"] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(figure):not(:where([class~=\"not-prose\"] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(figure > *):not(:where([class~=\"not-prose\"] *)){margin-top:0;margin-bottom:0}.prose-sm :where(figcaption):not(:where([class~=\"not-prose\"] *)){font-size:.8571429em;line-height:1.3333333;margin-top:.6666667em}.prose-sm :where(code):not(:where([class~=\"not-prose\"] *)){font-size:.8571429em}.prose-sm :where(h2 code):not(:where([class~=\"not-prose\"] *)){font-size:.9em}.prose-sm :where(h3 code):not(:where([class~=\"not-prose\"] *)){font-size:.8888889em}.prose-sm :where(pre):not(:where([class~=\"not-prose\"] *)){font-size:.8571429em;line-height:1.6666667;margin-top:1.6666667em;margin-bottom:1.6666667em;border-radius:.25rem;padding:.6666667em 1em}.prose-sm :where(ol):not(:where([class~=\"not-prose\"] *)){padding-left:1.5714286em}.prose-sm :where(ul):not(:where([class~=\"not-prose\"] *)){padding-left:1.5714286em}.prose-sm :where(li):not(:where([class~=\"not-prose\"] *)){margin-top:.2857143em;margin-bottom:.2857143em}.prose-sm :where(ol > li):not(:where([class~=\"not-prose\"] *)){padding-left:.4285714em}.prose-sm :where(ul > li):not(:where([class~=\"not-prose\"] *)){padding-left:.4285714em}.prose-sm>:where(ul > li p):not(:where([class~=\"not-prose\"] *)){margin-top:.5714286em;margin-bottom:.5714286em}.prose-sm>:where(ul > li > *:first-child):not(:where([class~=\"not-prose\"] *)){margin-top:1.1428571em}.prose-sm>:where(ul > li > *:last-child):not(:where([class~=\"not-prose\"] *)){margin-bottom:1.1428571em}.prose-sm>:where(ol > li > *:first-child):not(:where([class~=\"not-prose\"] *)){margin-top:1.1428571em}.prose-sm>:where(ol > li > *:last-child):not(:where([class~=\"not-prose\"] *)){margin-bottom:1.1428571em}.prose-sm :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=\"not-prose\"] *)){margin-top:.5714286em;margin-bottom:.5714286em}.prose-sm :where(hr):not(:where([class~=\"not-prose\"] *)){margin-top:2.8571429em;margin-bottom:2.8571429em}.prose-sm :where(hr + *):not(:where([class~=\"not-prose\"] *)){margin-top:0}.prose-sm :where(h2 + *):not(:where([class~=\"not-prose\"] *)){margin-top:0}.prose-sm :where(h3 + *):not(:where([class~=\"not-prose\"] *)){margin-top:0}.prose-sm :where(h4 + *):not(:where([class~=\"not-prose\"] *)){margin-top:0}.prose-sm :where(table):not(:where([class~=\"not-prose\"] *)){font-size:.8571429em;line-height:1.5}.prose-sm :where(thead th):not(:where([class~=\"not-prose\"] *)){padding-right:1em;padding-bottom:.6666667em;padding-left:1em}.prose-sm :where(thead th:first-child):not(:where([class~=\"not-prose\"] *)){padding-left:0}.prose-sm :where(thead th:last-child):not(:where([class~=\"not-prose\"] *)){padding-right:0}.prose-sm :where(tbody td):not(:where([class~=\"not-prose\"] *)){padding:.6666667em 1em}.prose-sm :where(tbody td:first-child):not(:where([class~=\"not-prose\"] *)){padding-left:0}.prose-sm :where(tbody td:last-child):not(:where([class~=\"not-prose\"] *)){padding-right:0}.prose-sm>:where(:first-child):not(:where([class~=\"not-prose\"] *)){margin-top:0}.prose-sm>:where(:last-child):not(:where([class~=\"not-prose\"] *)){margin-bottom:0}.aspect-w-4{position:relative;padding-bottom:calc(var(--tw-aspect-h) / var(--tw-aspect-w) * 100%);--tw-aspect-w: 4}.aspect-w-4>*{position:absolute;height:100%;width:100%;top:0;right:0;bottom:0;left:0}.aspect-h-3{--tw-aspect-h: 3}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0px;right:0px;bottom:0px;left:0px}.inset-y-0{top:0px;bottom:0px}.right-0{right:0px}.bottom-2{bottom:.5rem}.left-0{left:0px}.top-3{top:.75rem}.top-0{top:0px}.right-\\[7\\.5\\%\\]{right:7.5%}.right-\\[32\\%\\]{right:32%}.bottom-0{bottom:0px}.right-3{right:.75rem}.bottom-3{bottom:.75rem}.-bottom-3{bottom:-.75rem}.-right-3{right:-.75rem}.top-2\\.5{top:.625rem}.top-2{top:.5rem}.right-3\\.5{right:.875rem}.top-1\\/2{top:50%}.left-1\\/2{left:50%}.right-4{right:1rem}.top-\\[8px\\]{top:8px}.right-\\[10px\\]{right:10px}.top-px{top:1px}.-left-px{left:-1px}.-right-px{right:-1px}.-bottom-1{bottom:-.25rem}.-top-2{top:-.5rem}.bottom-auto{bottom:auto}.-bottom-px{bottom:-1px}.left-3\\.5{left:.875rem}.left-3{left:.75rem}.top-4{top:1rem}.left-6{left:1.5rem}.-top-4{top:-1rem}.isolate{isolation:isolate}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-30{z-index:30}.z-0{z-index:0}.z-40{z-index:40}.col-span-12{grid-column:span 12 / span 12}.col-span-5{grid-column:span 5 / span 5}.col-span-7{grid-column:span 7 / span 7}.col-span-10{grid-column:span 10 / span 10}.col-span-3{grid-column:span 3 / span 3}.col-span-2{grid-column:span 2 / span 2}.col-span-4{grid-column:span 4 / span 4}.col-span-8{grid-column:span 8 / span 8}.col-span-1{grid-column:span 1 / span 1}.float-right{float:right}.float-left{float:left}.float-none{float:none}.m-0{margin:0}.m-4{margin:1rem}.m-2{margin:.5rem}.m-1{margin:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.mx-2{margin-left:.5rem;margin-right:.5rem}.my-2\\.5{margin-top:.625rem;margin-bottom:.625rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.-mx-2{margin-left:-.5rem;margin-right:-.5rem}.-my-1\\.5{margin-top:-.375rem;margin-bottom:-.375rem}.-my-1{margin-top:-.25rem;margin-bottom:-.25rem}.my-4{margin-top:1rem;margin-bottom:1rem}.-my-2{margin-top:-.5rem;margin-bottom:-.5rem}.my-10{margin-top:2.5rem;margin-bottom:2.5rem}.mx-0\\.5{margin-left:.125rem;margin-right:.125rem}.mx-0{margin-left:0;margin-right:0}.mx-1{margin-left:.25rem;margin-right:.25rem}.my-5{margin-top:1.25rem;margin-bottom:1.25rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.mx-4{margin-left:1rem;margin-right:1rem}.my-14{margin-top:3.5rem;margin-bottom:3.5rem}.my-8{margin-top:2rem;margin-bottom:2rem}.ml-2{margin-left:.5rem}.ml-1{margin-left:.25rem}.mt-2{margin-top:.5rem}.mb-0\\.5{margin-bottom:.125rem}.mb-0{margin-bottom:0}.mt-4{margin-top:1rem}.mr-3{margin-right:.75rem}.mr-2{margin-right:.5rem}.mb-2{margin-bottom:.5rem}.mt-6{margin-top:1.5rem}.mt-1{margin-top:.25rem}.mb-1{margin-bottom:.25rem}.mt-3{margin-top:.75rem}.ml-3{margin-left:.75rem}.mb-32{margin-bottom:8rem}.mt-0{margin-top:0}.mb-3{margin-bottom:.75rem}.mt-8{margin-top:2rem}.-ml-0\\.5{margin-left:-.125rem}.-ml-0{margin-left:-0px}.-ml-1{margin-left:-.25rem}.-mr-0\\.5{margin-right:-.125rem}.-mr-0{margin-right:-0px}.-mr-1{margin-right:-.25rem}.mr-4{margin-right:1rem}.-ml-2{margin-left:-.5rem}.ml-6{margin-left:1.5rem}.mr-1{margin-right:.25rem}.mr-5{margin-right:1.25rem}.mt-5{margin-top:1.25rem}.mt-16{margin-top:4rem}.mt-0\\.5{margin-top:.125rem}.mb-5{margin-bottom:1.25rem}.ml-4{margin-left:1rem}.mt-px{margin-top:1px}.mb-8{margin-bottom:2rem}.mt-2\\.5{margin-top:.625rem}.mr-3\\.5{margin-right:.875rem}.mb-6{margin-bottom:1.5rem}.mb-4{margin-bottom:1rem}.mb-16{margin-bottom:4rem}.\\!mt-2{margin-top:.5rem!important}.-mr-12{margin-right:-3rem}.mb-10{margin-bottom:2.5rem}.mt-12{margin-top:3rem}.\\!mt-0{margin-top:0!important}.-mb-1{margin-bottom:-.25rem}.mt-10{margin-top:2.5rem}.-mb-5{margin-bottom:-1.25rem}.ml-56{margin-left:14rem}.-mt-3{margin-top:-.75rem}.mt-24{margin-top:6rem}.-mb-px{margin-bottom:-1px}.-mb-10{margin-bottom:-2.5rem}.mt-14{margin-top:3.5rem}.ml-0{margin-left:0}.-mr-2{margin-right:-.5rem}.ml-auto{margin-left:auto}.-mt-4{margin-top:-1rem}.mt-7{margin-top:1.75rem}.box-border{box-sizing:border-box}.box-content{box-sizing:content-box}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-full{height:100%}.h-8{height:2rem}.h-5{height:1.25rem}.h-9{height:2.25rem}.h-\\[200px\\]{height:200px}.h-10{height:2.5rem}.h-screen{height:100vh}.h-4{height:1rem}.h-auto{height:auto}.h-\\[300px\\]{height:300px}.h-\\[15vw\\]{height:15vw}.h-6{height:1.5rem}.h-3{height:.75rem}.\\!h-10{height:2.5rem!important}.h-12{height:3rem}.h-32{height:8rem}.h-20{height:5rem}.h-1\\.5{height:.375rem}.h-1{height:.25rem}.h-px{height:1px}.h-\\[38px\\]{height:38px}.h-24{height:6rem}.\\!h-6{height:1.5rem!important}.h-0{height:0px}.h-80{height:20rem}.h-\\[160px\\]{height:160px}.h-16{height:4rem}.h-48{height:12rem}.h-96{height:24rem}.h-14{height:3.5rem}.max-h-\\[350px\\]{max-height:350px}.max-h-36{max-height:9rem}.max-h-\\[173px\\]{max-height:173px}.max-h-80{max-height:20rem}.max-h-60{max-height:15rem}.max-h-10{max-height:2.5rem}.max-h-\\[550px\\]{max-height:550px}.min-h-0{min-height:0px}.min-h-\\[170px\\]{min-height:170px}.min-h-screen{min-height:100vh}.min-h-\\[100px\\]{min-height:100px}.min-h-\\[200px\\]{min-height:200px}.w-16{width:4rem}.w-\\[250px\\]{width:250px}.w-9{width:2.25rem}.w-full{width:100%}.w-\\[300px\\]{width:300px}.w-10{width:2.5rem}.w-4{width:1rem}.w-screen{width:100vw}.w-48{width:12rem}.w-\\[420px\\]{width:420px}.w-7\\/12{width:58.333333%}.w-6{width:1.5rem}.w-5{width:1.25rem}.w-11\\/12{width:91.666667%}.\\!w-10{width:2.5rem!important}.w-20{width:5rem}.w-40{width:10rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-56{width:14rem}.w-32{width:8rem}.w-8{width:2rem}.w-28{width:7rem}.w-1\\.5{width:.375rem}.w-1{width:.25rem}.w-11{width:2.75rem}.w-3{width:.75rem}.w-2\\.5{width:.625rem}.w-2{width:.5rem}.w-0{width:0px}.w-24{width:6rem}.\\!w-6{width:1.5rem!important}.w-36{width:9rem}.w-88{width:22rem}.w-60{width:15rem}.w-64{width:16rem}.w-1\\/2{width:50%}.min-w-full{min-width:100%}.min-w-\\[5rem\\]{min-width:5rem}.min-w-0{min-width:0px}.min-w-\\[300px\\]{min-width:300px}.min-w-\\[240px\\]{min-width:240px}.min-w-\\[200px\\]{min-width:200px}.max-w-full{max-width:100%}.max-w-sm{max-width:24rem}.max-w-md{max-width:28rem}.max-w-\\[680px\\]{max-width:680px}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.max-w-2xl{max-width:42rem}.max-w-none{max-width:none}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-none{flex:none}.shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.grow{flex-grow:1}.grow-0{flex-grow:0}.table-fixed{table-layout:fixed}.border-collapse{border-collapse:collapse}.origin-top-right{transform-origin:top right}.translate-y-1{--tw-translate-y: .25rem;transform:var(--tw-transform)}.translate-y-0{--tw-translate-y: 0px;transform:var(--tw-transform)}.translate-y-4{--tw-translate-y: 1rem;transform:var(--tw-transform)}.-translate-x-1\\/2{--tw-translate-x: -50%;transform:var(--tw-transform)}.-translate-y-1\\/2{--tw-translate-y: -50%;transform:var(--tw-transform)}.translate-x-6{--tw-translate-x: 1.5rem;transform:var(--tw-transform)}.translate-x-1{--tw-translate-x: .25rem;transform:var(--tw-transform)}.translate-x-5{--tw-translate-x: 1.25rem;transform:var(--tw-transform)}.translate-x-0{--tw-translate-x: 0px;transform:var(--tw-transform)}.translate-y-full{--tw-translate-y: 100%;transform:var(--tw-transform)}.-translate-y-full{--tw-translate-y: -100%;transform:var(--tw-transform)}.translate-y-2{--tw-translate-y: .5rem;transform:var(--tw-transform)}.-translate-x-full{--tw-translate-x: -100%;transform:var(--tw-transform)}.rotate-180{--tw-rotate: 180deg;transform:var(--tw-transform)}.scale-95{--tw-scale-x: .95;--tw-scale-y: .95;transform:var(--tw-transform)}.scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:var(--tw-transform)}.transform{transform:var(--tw-transform)}@-webkit-keyframes spin{to{transform:rotate(360deg)}}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.cursor-default{cursor:default}.cursor-move{cursor:move}.select-none{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize{resize:both}.list-inside{list-style-position:inside}.list-none{list-style-type:none}.list-disc{list-style-type:disc}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-flow-row{grid-auto-flow:row}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.content-center{align-content:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-8{gap:2rem}.gap-4{gap:1rem}.gap-3{gap:.75rem}.gap-2{gap:.5rem}.gap-6{gap:1.5rem}.gap-5{gap:1.25rem}.gap-y-6{row-gap:1.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-y-4{row-gap:1rem}.gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.gap-y-8{row-gap:2rem}.gap-y-5{row-gap:1.25rem}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.-space-y-px>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(-1px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1px * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1.25rem * var(--tw-space-x-reverse));margin-left:calc(1.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1.5rem * var(--tw-space-x-reverse));margin-left:calc(1.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(2rem * var(--tw-space-x-reverse));margin-left:calc(2rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(-1px * var(--tw-space-x-reverse));margin-left:calc(-1px * calc(1 - var(--tw-space-x-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(241 245 249 / var(--tw-divide-opacity))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(226 232 240 / var(--tw-divide-opacity))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.overflow-y-scroll{overflow-y:scroll}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.rounded{border-radius:.25rem}.rounded-md{border-radius:.375rem}.\\!rounded{border-radius:.25rem!important}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.\\!rounded-full{border-radius:9999px!important}.\\!rounded-none{border-radius:0!important}.rounded-sm{border-radius:.125rem}.rounded-none{border-radius:0}.rounded-l-md{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.\\!rounded-r-md{border-top-right-radius:.375rem!important;border-bottom-right-radius:.375rem!important}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-r-md{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.rounded-tr-sm{border-top-right-radius:.125rem}.rounded-br-sm{border-bottom-right-radius:.125rem}.rounded-tr-md{border-top-right-radius:.375rem}.rounded-br-md{border-bottom-right-radius:.375rem}.rounded-tl-md{border-top-left-radius:.375rem}.rounded-bl-md{border-bottom-left-radius:.375rem}.rounded-tl-none{border-top-left-radius:0}.rounded-tr-none{border-top-right-radius:0}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-4{border-width:4px}.border-t-2{border-top-width:2px}.border-t{border-top-width:1px}.border-b{border-bottom-width:1px}.border-r-0{border-right-width:0px}.border-t-8{border-top-width:8px}.border-b-2{border-bottom-width:2px}.border-t-0{border-top-width:0px}.border-l-4{border-left-width:4px}.border-r{border-right-width:1px}.border-l{border-left-width:1px}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-gray-100{--tw-border-opacity: 1;border-color:rgb(241 245 249 / var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-primary-500{--tw-border-opacity: 1;border-color:rgba(var(--color-primary-500),var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity))}.border-red-500{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity))}.border-red-400{--tw-border-opacity: 1;border-color:rgb(248 113 113 / var(--tw-border-opacity))}.border-primary-400{--tw-border-opacity: 1;border-color:rgba(var(--color-primary-400),var(--tw-border-opacity))}.border-gray-400{--tw-border-opacity: 1;border-color:rgb(148 163 184 / var(--tw-border-opacity))}.border-primary-200{--tw-border-opacity: 1;border-color:rgba(var(--color-primary-200),var(--tw-border-opacity))}.border-primary-600{--tw-border-opacity: 1;border-color:rgba(var(--color-primary-600),var(--tw-border-opacity))}.border-opacity-60{--tw-border-opacity: .6}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}.bg-gray-300{--tw-bg-opacity: 1;background-color:rgb(203 213 225 / var(--tw-bg-opacity))}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity))}.bg-primary-600{--tw-bg-opacity: 1;background-color:rgba(var(--color-primary-600),var(--tw-bg-opacity))}.bg-primary-100{--tw-bg-opacity: 1;background-color:rgba(var(--color-primary-100),var(--tw-bg-opacity))}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity))}.bg-gray-500{--tw-bg-opacity: 1;background-color:rgb(100 116 139 / var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity))}.bg-yellow-300{--tw-bg-opacity: 1;background-color:rgb(253 224 71 / var(--tw-bg-opacity))}.bg-yellow-500{--tw-bg-opacity: 1;background-color:rgb(234 179 8 / var(--tw-bg-opacity))}.bg-blue-400{--tw-bg-opacity: 1;background-color:rgb(96 165 250 / var(--tw-bg-opacity))}.bg-red-300{--tw-bg-opacity: 1;background-color:rgb(252 165 165 / var(--tw-bg-opacity))}.bg-green-400{--tw-bg-opacity: 1;background-color:rgb(74 222 128 / var(--tw-bg-opacity))}.bg-purple-300{--tw-bg-opacity: 1;background-color:rgb(216 180 254 / var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity))}.bg-yellow-50{--tw-bg-opacity: 1;background-color:rgb(254 252 232 / var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity))}.bg-gray-700{--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}.bg-primary-300{--tw-bg-opacity: 1;background-color:rgba(var(--color-primary-300),var(--tw-bg-opacity))}.bg-primary-500{--tw-bg-opacity: 1;background-color:rgba(var(--color-primary-500),var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.\\!bg-gray-400{--tw-bg-opacity: 1 !important;background-color:rgb(148 163 184 / var(--tw-bg-opacity))!important}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity))}.bg-gray-600{--tw-bg-opacity: 1;background-color:rgb(71 85 105 / var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity))}.bg-primary-50{--tw-bg-opacity: 1;background-color:rgba(var(--color-primary-50),var(--tw-bg-opacity))}.bg-teal-100{--tw-bg-opacity: 1;background-color:rgb(204 251 241 / var(--tw-bg-opacity))}.bg-red-200{--tw-bg-opacity: 1;background-color:rgb(254 202 202 / var(--tw-bg-opacity))}.\\!bg-gray-100{--tw-bg-opacity: 1 !important;background-color:rgb(241 245 249 / var(--tw-bg-opacity))!important}.bg-opacity-20{--tw-bg-opacity: .2}.bg-opacity-40{--tw-bg-opacity: .4}.bg-opacity-75{--tw-bg-opacity: .75}.bg-opacity-25{--tw-bg-opacity: .25}.bg-opacity-50{--tw-bg-opacity: .5}.bg-opacity-60{--tw-bg-opacity: .6}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-multiselect-remove{background-image:url(\"data:image/svg+xml,%3csvg viewBox='0 0 320 512' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M207.6 256l107.72-107.72c6.23-6.23 6.23-16.34 0-22.58l-25.03-25.03c-6.23-6.23-16.34-6.23-22.58 0L160 208.4 52.28 100.68c-6.23-6.23-16.34-6.23-22.58 0L4.68 125.7c-6.23 6.23-6.23 16.34 0 22.58L112.4 256 4.68 363.72c-6.23 6.23-6.23 16.34 0 22.58l25.03 25.03c6.23 6.23 16.34 6.23 22.58 0L160 303.6l107.72 107.72c6.23 6.23 16.34 6.23 22.58 0l25.03-25.03c6.23-6.23 6.23-16.34 0-22.58L207.6 256z'%3e%3c/path%3e%3c/svg%3e\")}.bg-multiselect-caret{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' class='h-5 w-5' viewBox='0 0 20 20' fill='currentColor'%3e %3cpath fill-rule='evenodd' d='M10 3a1 1 0 01.707.293l3 3a1 1 0 01-1.414 1.414L10 5.414 7.707 7.707a1 1 0 01-1.414-1.414l3-3A1 1 0 0110 3zm-3.707 9.293a1 1 0 011.414 0L10 14.586l2.293-2.293a1 1 0 011.414 1.414l-3 3a1 1 0 01-1.414 0l-3-3a1 1 0 010-1.414z' clip-rule='evenodd' /%3e %3c/svg%3e\")}.bg-multiselect-spinner{background-image:url(\"data:image/svg+xml,%3csvg viewBox='0 0 512 512' fill='rgb(var(--color-primary-500))' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M456.433 371.72l-27.79-16.045c-7.192-4.152-10.052-13.136-6.487-20.636 25.82-54.328 23.566-118.602-6.768-171.03-30.265-52.529-84.802-86.621-144.76-91.424C262.35 71.922 256 64.953 256 56.649V24.56c0-9.31 7.916-16.609 17.204-15.96 81.795 5.717 156.412 51.902 197.611 123.408 41.301 71.385 43.99 159.096 8.042 232.792-4.082 8.369-14.361 11.575-22.424 6.92z'%3e%3c/path%3e%3c/svg%3e\")}.from-primary-500{--tw-gradient-from: rgb(var(--color-primary-500));--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(var(--color-primary-500), 0))}.to-primary-400{--tw-gradient-to: rgb(var(--color-primary-400))}.bg-cover{background-size:cover}.bg-center{background-position:center}.bg-no-repeat{background-repeat:no-repeat}.fill-primary-700{fill:rgb(var(--color-primary-700))}.fill-primary-500{fill:rgb(var(--color-primary-500))}.fill-current{fill:currentColor}.fill-gray-600{fill:#475569}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.object-center{-o-object-position:center;object-position:center}.p-2{padding:.5rem}.p-4{padding:1rem}.p-3{padding:.75rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-0{padding:0}.p-1{padding:.25rem}.p-8{padding:2rem}.\\!p-2{padding:.5rem!important}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2\\.5{padding-left:.625rem;padding-right:.625rem}.py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.py-0{padding-top:0;padding-bottom:0}.px-0{padding-left:0;padding-right:0}.py-16{padding-top:4rem;padding-bottom:4rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-px{padding-top:1px;padding-bottom:1px}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.pr-20{padding-right:5rem}.pr-10{padding-right:2.5rem}.pl-20{padding-left:5rem}.pl-10{padding-left:2.5rem}.pl-0{padding-left:0}.pb-4{padding-bottom:1rem}.pl-3{padding-left:.75rem}.pb-28{padding-bottom:7rem}.pt-16{padding-top:4rem}.pb-16{padding-bottom:4rem}.pt-24{padding-top:6rem}.pr-2{padding-right:.5rem}.pl-1{padding-left:.25rem}.pl-8{padding-left:2rem}.pt-4{padding-top:1rem}.pb-20{padding-bottom:5rem}.pt-5{padding-top:1.25rem}.pl-5{padding-left:1.25rem}.pr-3{padding-right:.75rem}.pl-7{padding-left:1.75rem}.pr-0{padding-right:0}.pt-1{padding-top:.25rem}.pl-2{padding-left:.5rem}.pr-9{padding-right:2.25rem}.pr-4{padding-right:1rem}.pl-3\\.5{padding-left:.875rem}.pr-3\\.5{padding-right:.875rem}.pb-2{padding-bottom:.5rem}.pt-2{padding-top:.5rem}.pb-3{padding-bottom:.75rem}.pt-6{padding-top:1.5rem}.pb-1{padding-bottom:.25rem}.pl-4{padding-left:1rem}.pb-32{padding-bottom:8rem}.pl-6{padding-left:1.5rem}.pb-\\[6\\.4rem\\]{padding-bottom:6.4rem}.pt-8{padding-top:2rem}.pt-10{padding-top:2.5rem}.pb-\\[6rem\\]{padding-bottom:6rem}.pb-6{padding-bottom:1.5rem}.pt-3{padding-top:.75rem}.pb-8{padding-bottom:2rem}.pr-8{padding-right:2rem}.pb-\\[6\\.6rem\\]{padding-bottom:6.6rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.font-base{font-family:Poppins,sans-serif}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-2xl{font-size:1.5rem;line-height:2rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-normal{font-weight:400}.font-bold{font-weight:700}.font-black{font-weight:900}.font-light{font-weight:300}.font-extrabold{font-weight:800}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.not-italic{font-style:normal}.leading-6{line-height:1.5rem}.leading-tight{line-height:1.25}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-normal{line-height:1.5}.leading-5{line-height:1.25rem}.leading-4{line-height:1rem}.leading-9{line-height:2.25rem}.leading-snug{line-height:1.375}.leading-7{line-height:1.75rem}.leading-8{line-height:2rem}.tracking-wider{letter-spacing:.05em}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}.text-primary-500{--tw-text-opacity: 1;color:rgba(var(--color-primary-500),var(--tw-text-opacity))}.text-primary-400{--tw-text-opacity: 1;color:rgba(var(--color-primary-400),var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity))}.text-black{--tw-text-opacity: 1;color:rgb(4 4 5 / var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity))}.text-gray-100{--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity))}.text-green-800{--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity))}.text-red-800{--tw-text-opacity: 1;color:rgb(153 27 27 / var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity))}.text-primary-700{--tw-text-opacity: 1;color:rgba(var(--color-primary-700),var(--tw-text-opacity))}.text-gray-300{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity))}.text-primary-600{--tw-text-opacity: 1;color:rgba(var(--color-primary-600),var(--tw-text-opacity))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity))}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity))}.text-yellow-800{--tw-text-opacity: 1;color:rgb(133 77 14 / var(--tw-text-opacity))}.text-yellow-900{--tw-text-opacity: 1;color:rgb(113 63 18 / var(--tw-text-opacity))}.text-blue-900{--tw-text-opacity: 1;color:rgb(30 58 138 / var(--tw-text-opacity))}.text-purple-800{--tw-text-opacity: 1;color:rgb(107 33 168 / var(--tw-text-opacity))}.text-yellow-500{--tw-text-opacity: 1;color:rgb(234 179 8 / var(--tw-text-opacity))}.text-yellow-400{--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity))}.text-yellow-700{--tw-text-opacity: 1;color:rgb(161 98 7 / var(--tw-text-opacity))}.\\!text-primary-500{--tw-text-opacity: 1 !important;color:rgba(var(--color-primary-500),var(--tw-text-opacity))!important}.\\!text-gray-400{--tw-text-opacity: 1 !important;color:rgb(148 163 184 / var(--tw-text-opacity))!important}.text-gray-800{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity))}.text-green-900{--tw-text-opacity: 1;color:rgb(20 83 45 / var(--tw-text-opacity))}.text-red-900{--tw-text-opacity: 1;color:rgb(127 29 29 / var(--tw-text-opacity))}.text-primary-800{--tw-text-opacity: 1;color:rgba(var(--color-primary-800),var(--tw-text-opacity))}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity))}.text-primary-900{--tw-text-opacity: 1;color:rgba(var(--color-primary-900),var(--tw-text-opacity))}.text-primary-100{--tw-text-opacity: 1;color:rgba(var(--color-primary-100),var(--tw-text-opacity))}.text-transparent{color:transparent}.text-green-400{--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity))}.text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity))}.text-teal-500{--tw-text-opacity: 1;color:rgb(20 184 166 / var(--tw-text-opacity))}.text-red-300{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity))}.text-opacity-90{--tw-text-opacity: .9}.placeholder-gray-400::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(148 163 184 / var(--tw-placeholder-opacity))}.placeholder-gray-400:-ms-input-placeholder{--tw-placeholder-opacity: 1;color:rgb(148 163 184 / var(--tw-placeholder-opacity))}.placeholder-gray-400::placeholder{--tw-placeholder-opacity: 1;color:rgb(148 163 184 / var(--tw-placeholder-opacity))}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-25{opacity:.25}.opacity-75{opacity:.75}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-90{opacity:.9}.opacity-50{opacity:.5}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-inner{--tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / .05);--tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.\\!shadow-none{--tw-shadow: 0 0 #0000 !important;--tw-shadow-colored: 0 0 #0000 !important;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)!important}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-0{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-black{--tw-ring-opacity: 1;--tw-ring-color: rgb(4 4 5 / var(--tw-ring-opacity))}.ring-red-400{--tw-ring-opacity: 1;--tw-ring-color: rgb(248 113 113 / var(--tw-ring-opacity))}.ring-red-500{--tw-ring-opacity: 1;--tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity))}.ring-gray-200{--tw-ring-opacity: 1;--tw-ring-color: rgb(226 232 240 / var(--tw-ring-opacity))}.ring-primary-500{--tw-ring-opacity: 1;--tw-ring-color: rgba(var(--color-primary-500), var(--tw-ring-opacity))}.ring-primary-400{--tw-ring-opacity: 1;--tw-ring-color: rgba(var(--color-primary-400), var(--tw-ring-opacity))}.ring-transparent{--tw-ring-color: transparent}.ring-opacity-5{--tw-ring-opacity: .05}.ring-offset-2{--tw-ring-offset-width: 2px}.ring-offset-1{--tw-ring-offset-width: 1px}.blur{--tw-blur: blur(8px);filter:var(--tw-filter)}.filter{filter:var(--tw-filter)}.backdrop-blur{--tw-backdrop-blur: blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-filter);backdrop-filter:var(--tw-backdrop-filter)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-filter);backdrop-filter:var(--tw-backdrop-filter)}.transition{transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,fill,stroke,-webkit-text-decoration-color;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,-webkit-text-decoration-color;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-150{transition-duration:.15s}.duration-300{transition-duration:.3s}.duration-100{transition-duration:.1s}.duration-75{transition-duration:75ms}.duration-500{transition-duration:.5s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{transition-timing-function:linear}.scrollbar.overflow-y-hidden{overflow-y:hidden}.scrollbar-thin{--scrollbar-track: initial;--scrollbar-thumb: initial;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);overflow:overlay}.scrollbar-thin.overflow-x-hidden{overflow-x:hidden}.scrollbar-thin.overflow-y-hidden{overflow-y:hidden}.scrollbar-thin::-webkit-scrollbar-track{background-color:var(--scrollbar-track)}.scrollbar-thin::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb)}.scrollbar-thin{scrollbar-width:thin}.scrollbar-thin::-webkit-scrollbar{width:8px;height:8px}.scrollbar-track-gray-100{--scrollbar-track: #f1f5f9 !important}.scrollbar-thumb-gray-300{--scrollbar-thumb: #cbd5e1 !important}@supports (-webkit-touch-callout: none){.h-screen-ios{height:-webkit-fill-available}}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}@font-face{font-family:Poppins;font-style:normal;font-weight:300;font-display:swap;src:url(/build/fonts/Poppins-Light.ttf) format(\"truetype\")}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(/build/fonts/Poppins-Medium.ttf) format(\"truetype\")}@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(/build/fonts/Poppins-Regular.ttf) format(\"truetype\")}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(/build/fonts/Poppins-SemiBold.ttf) format(\"truetype\")}:root{--color-primary-50: 247, 246, 253;--color-primary-100: 238, 238, 251;--color-primary-200: 213, 212, 245;--color-primary-300: 188, 185, 239;--color-primary-400: 138, 133, 228;--color-primary-500: 88, 81, 216;--color-primary-600: 79, 73, 194;--color-primary-700: 53, 49, 130;--color-primary-800: 40, 36, 97;--color-primary-900: 26, 24, 65}.shake{-webkit-animation:shake .82s cubic-bezier(.36,.07,.19,.97) both;animation:shake .82s cubic-bezier(.36,.07,.19,.97) both;transform:translate(0);-webkit-backface-visibility:hidden;backface-visibility:hidden;perspective:1000px}@-webkit-keyframes shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}@keyframes shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}body{min-height:-webkit-fill-available}html,.h-screen-ios{height:-webkit-fill-available}.after\\:absolute:after{content:var(--tw-content);position:absolute}.after\\:top-1\\/2:after{content:var(--tw-content);top:50%}.after\\:h-2:after{content:var(--tw-content);height:.5rem}.after\\:w-full:after{content:var(--tw-content);width:100%}.after\\:-translate-y-1\\/2:after{content:var(--tw-content);--tw-translate-y: -50%;transform:var(--tw-transform)}.after\\:transform:after{content:var(--tw-content);transform:var(--tw-transform)}.after\\:bg-gray-200:after{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}.last\\:mb-0:last-child{margin-bottom:0}.last\\:border-b-0:last-child{border-bottom-width:0px}.hover\\:cursor-pointer:hover{cursor:pointer}.hover\\:rounded-md:hover{border-radius:.375rem}.hover\\:border-gray-300:hover{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity))}.hover\\:border-gray-500:hover{--tw-border-opacity: 1;border-color:rgb(100 116 139 / var(--tw-border-opacity))}.hover\\:border-primary-300:hover{--tw-border-opacity: 1;border-color:rgba(var(--color-primary-300),var(--tw-border-opacity))}.hover\\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity))}.hover\\:bg-primary-700:hover{--tw-bg-opacity: 1;background-color:rgba(var(--color-primary-700),var(--tw-bg-opacity))}.hover\\:bg-primary-200:hover{--tw-bg-opacity: 1;background-color:rgba(var(--color-primary-200),var(--tw-bg-opacity))}.hover\\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity))}.hover\\:bg-red-700:hover{--tw-bg-opacity: 1;background-color:rgb(185 28 28 / var(--tw-bg-opacity))}.hover\\:bg-yellow-100:hover{--tw-bg-opacity: 1;background-color:rgb(254 249 195 / var(--tw-bg-opacity))}.hover\\:bg-black:hover{--tw-bg-opacity: 1;background-color:rgb(4 4 5 / var(--tw-bg-opacity))}.hover\\:bg-primary-100:hover{--tw-bg-opacity: 1;background-color:rgba(var(--color-primary-100),var(--tw-bg-opacity))}.hover\\:bg-gray-200:hover{--tw-bg-opacity: 1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}.hover\\:bg-red-200:hover{--tw-bg-opacity: 1;background-color:rgb(254 202 202 / var(--tw-bg-opacity))}.hover\\:bg-opacity-60:hover{--tw-bg-opacity: .6}.hover\\:bg-opacity-10:hover{--tw-bg-opacity: .1}.hover\\:font-medium:hover{font-weight:500}.hover\\:text-primary-500:hover{--tw-text-opacity: 1;color:rgba(var(--color-primary-500),var(--tw-text-opacity))}.hover\\:text-primary-600:hover{--tw-text-opacity: 1;color:rgba(var(--color-primary-600),var(--tw-text-opacity))}.hover\\:text-gray-700:hover{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity))}.hover\\:text-gray-600:hover{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity))}.hover\\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.hover\\:text-gray-500:hover{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity))}.hover\\:text-gray-800:hover{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity))}.hover\\:opacity-80:hover{opacity:.8}.focus\\:border:focus{border-width:1px}.focus\\:border-r-2:focus{border-right-width:2px}.focus\\:border-solid:focus{border-style:solid}.focus\\:border-none:focus{border-style:none}.focus\\:border-primary-400:focus{--tw-border-opacity: 1;border-color:rgba(var(--color-primary-400),var(--tw-border-opacity))}.focus\\:border-red-400:focus{--tw-border-opacity: 1;border-color:rgb(248 113 113 / var(--tw-border-opacity))}.focus\\:border-red-500:focus{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity))}.focus\\:border-gray-100:focus{--tw-border-opacity: 1;border-color:rgb(241 245 249 / var(--tw-border-opacity))}.focus\\:border-primary-500:focus{--tw-border-opacity: 1;border-color:rgba(var(--color-primary-500),var(--tw-border-opacity))}.focus\\:bg-gray-100:focus{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity))}.focus\\:bg-gray-300:focus{--tw-bg-opacity: 1;background-color:rgb(203 213 225 / var(--tw-bg-opacity))}.focus\\:text-gray-500:focus{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity))}.focus\\:text-red-500:focus{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity))}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\\:ring-inset:focus{--tw-ring-inset: inset}.focus\\:ring-primary-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgba(var(--color-primary-400), var(--tw-ring-opacity))}.focus\\:ring-primary-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgba(var(--color-primary-500), var(--tw-ring-opacity))}.focus\\:ring-red-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity))}.focus\\:ring-gray-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(100 116 139 / var(--tw-ring-opacity))}.focus\\:ring-red-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(248 113 113 / var(--tw-ring-opacity))}.focus\\:ring-yellow-600:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(202 138 4 / var(--tw-ring-opacity))}.focus\\:ring-gray-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(226 232 240 / var(--tw-ring-opacity))}.focus\\:ring-white:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity))}.focus\\:ring-opacity-60:focus{--tw-ring-opacity: .6}.focus\\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus\\:ring-offset-0:focus{--tw-ring-offset-width: 0px}.focus\\:ring-offset-yellow-50:focus{--tw-ring-offset-color: #fefce8}.group:hover .group-hover\\:text-gray-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity))}.group:hover .group-hover\\:text-primary-600{--tw-text-opacity: 1;color:rgba(var(--color-primary-600),var(--tw-text-opacity))}.group:hover .group-hover\\:text-primary-500{--tw-text-opacity: 1;color:rgba(var(--color-primary-500),var(--tw-text-opacity))}.group:hover .group-hover\\:text-black{--tw-text-opacity: 1;color:rgb(4 4 5 / var(--tw-text-opacity))}.group:hover .group-hover\\:opacity-60{opacity:.6}.group:hover .group-hover\\:opacity-100{opacity:1}@media (min-width: 640px){.sm\\:col-span-2{grid-column:span 2 / span 2}.sm\\:my-8{margin-top:2rem;margin-bottom:2rem}.sm\\:-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.sm\\:mx-auto{margin-left:auto;margin-right:auto}.sm\\:-my-px{margin-top:-1px;margin-bottom:-1px}.sm\\:mt-0{margin-top:0}.sm\\:mt-5{margin-top:1.25rem}.sm\\:mt-6{margin-top:1.5rem}.sm\\:mt-32{margin-top:8rem}.sm\\:ml-6{margin-left:1.5rem}.sm\\:block{display:block}.sm\\:inline-block{display:inline-block}.sm\\:flex{display:flex}.sm\\:grid{display:grid}.sm\\:hidden{display:none}.sm\\:h-screen{height:100vh}.sm\\:w-auto{width:auto}.sm\\:w-full{width:100%}.sm\\:w-7\\/12{width:58.333333%}.sm\\:w-1\\/2{width:50%}.sm\\:max-w-sm{max-width:24rem}.sm\\:max-w-md{max-width:28rem}.sm\\:max-w-lg{max-width:32rem}.sm\\:max-w-2xl{max-width:42rem}.sm\\:max-w-4xl{max-width:56rem}.sm\\:max-w-6xl{max-width:72rem}.sm\\:flex-1{flex:1 1 0%}.sm\\:translate-y-0{--tw-translate-y: 0px;transform:var(--tw-transform)}.sm\\:translate-x-2{--tw-translate-x: .5rem;transform:var(--tw-transform)}.sm\\:translate-x-0{--tw-translate-x: 0px;transform:var(--tw-transform)}.sm\\:scale-95{--tw-scale-x: .95;--tw-scale-y: .95;transform:var(--tw-transform)}.sm\\:scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:var(--tw-transform)}.sm\\:grid-flow-row-dense{grid-auto-flow:row dense}.sm\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\\:flex-row{flex-direction:row}.sm\\:items-center{align-items:center}.sm\\:justify-between{justify-content:space-between}.sm\\:gap-4{gap:1rem}.sm\\:gap-y-10{row-gap:2.5rem}.sm\\:space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(2rem * var(--tw-space-x-reverse));margin-left:calc(2rem * calc(1 - var(--tw-space-x-reverse)))}.sm\\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.sm\\:divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.sm\\:divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(226 232 240 / var(--tw-divide-opacity))}.sm\\:rounded-lg{border-radius:.5rem}.sm\\:p-0{padding:0}.sm\\:p-6{padding:1.5rem}.sm\\:p-8{padding:2rem}.sm\\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.sm\\:px-0{padding-left:0;padding-right:0}.sm\\:px-8{padding-left:2rem;padding-right:2rem}.sm\\:py-8{padding-top:2rem;padding-bottom:2rem}.sm\\:px-2{padding-left:.5rem;padding-right:.5rem}.sm\\:px-4{padding-left:1rem;padding-right:1rem}.sm\\:px-10{padding-left:2.5rem;padding-right:2.5rem}.sm\\:py-2{padding-top:.5rem;padding-bottom:.5rem}.sm\\:align-middle{vertical-align:middle}.sm\\:text-sm{font-size:.875rem;line-height:1.25rem}.sm\\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\\:text-2xl{font-size:1.5rem;line-height:2rem}}@media (min-width: 768px){.md\\:fixed{position:fixed}.md\\:relative{position:relative}.md\\:inset-y-0{top:0px;bottom:0px}.md\\:col-span-6{grid-column:span 6 / span 6}.md\\:col-span-4{grid-column:span 4 / span 4}.md\\:col-span-8{grid-column:span 8 / span 8}.md\\:col-span-2{grid-column:span 2 / span 2}.md\\:col-span-3{grid-column:span 3 / span 3}.md\\:col-start-5{grid-column-start:5}.md\\:float-left{float:left}.md\\:m-0{margin:0}.md\\:mb-0{margin-bottom:0}.md\\:mt-0{margin-top:0}.md\\:ml-0{margin-left:0}.md\\:mb-8{margin-bottom:2rem}.md\\:mb-10{margin-bottom:2.5rem}.md\\:mb-6{margin-bottom:1.5rem}.md\\:mt-2{margin-top:.5rem}.md\\:mt-8{margin-top:2rem}.md\\:block{display:block}.md\\:flex{display:flex}.md\\:inline-flex{display:inline-flex}.md\\:grid{display:grid}.md\\:hidden{display:none}.md\\:h-9{height:2.25rem}.md\\:h-16{height:4rem}.md\\:h-24{height:6rem}.md\\:h-48{height:12rem}.md\\:w-auto{width:auto}.md\\:w-7\\/12{width:58.333333%}.md\\:w-96{width:24rem}.md\\:w-9{width:2.25rem}.md\\:w-40{width:10rem}.md\\:w-2\\/3{width:66.666667%}.md\\:w-full{width:100%}.md\\:w-1\\/4{width:25%}.md\\:min-w-\\[390px\\]{min-width:390px}.md\\:max-w-xl{max-width:36rem}.md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.md\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.md\\:flex-row{flex-direction:row}.md\\:flex-col{flex-direction:column}.md\\:justify-end{justify-content:flex-end}.md\\:gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.md\\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.md\\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.md\\:p-8{padding:2rem}.md\\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\\:px-0{padding-left:0;padding-right:0}.md\\:px-8{padding-left:2rem;padding-right:2rem}.md\\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.md\\:pl-56{padding-left:14rem}.md\\:pb-48{padding-bottom:12rem}.md\\:pt-40{padding-top:10rem}.md\\:pl-10{padding-left:2.5rem}.md\\:pl-4{padding-left:1rem}.md\\:pr-6{padding-right:1.5rem}.md\\:pl-0{padding-left:0}.md\\:pt-4{padding-top:1rem}.md\\:text-center{text-align:center}.md\\:text-right{text-align:right}.md\\:text-2xl{font-size:1.5rem;line-height:2rem}}@media (min-width: 1024px){.lg\\:col-span-4{grid-column:span 4 / span 4}.lg\\:col-span-8{grid-column:span 8 / span 8}.lg\\:col-span-1{grid-column:span 1 / span 1}.lg\\:col-span-7{grid-column:span 7 / span 7}.lg\\:col-span-3{grid-column:span 3 / span 3}.lg\\:col-span-2{grid-column:span 2 / span 2}.lg\\:\\!col-span-3{grid-column:span 3 / span 3!important}.lg\\:col-span-5{grid-column:span 5 / span 5}.lg\\:row-span-2{grid-row:span 2 / span 2}.lg\\:row-end-1{grid-row-end:1}.lg\\:row-end-2{grid-row-end:2}.lg\\:-mx-8{margin-left:-2rem;margin-right:-2rem}.lg\\:mt-0{margin-top:0}.lg\\:ml-2{margin-left:.5rem}.lg\\:ml-0{margin-left:0}.lg\\:mt-7{margin-top:1.75rem}.lg\\:mt-2{margin-top:.5rem}.lg\\:mb-6{margin-bottom:1.5rem}.lg\\:mr-4{margin-right:1rem}.lg\\:block{display:block}.lg\\:flex{display:flex}.lg\\:grid{display:grid}.lg\\:h-\\[22vw\\]{height:22vw}.lg\\:h-36{height:9rem}.lg\\:h-64{height:16rem}.lg\\:w-7\\/12{width:58.333333%}.lg\\:w-auto{width:auto}.lg\\:w-1\\/2{width:50%}.lg\\:w-1\\/5{width:20%}.lg\\:max-w-none{max-width:none}.lg\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lg\\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.lg\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.lg\\:grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.lg\\:flex-row{flex-direction:row}.lg\\:flex-nowrap{flex-wrap:nowrap}.lg\\:items-start{align-items:flex-start}.lg\\:items-end{align-items:flex-end}.lg\\:items-center{align-items:center}.lg\\:justify-end{justify-content:flex-end}.lg\\:justify-between{justify-content:space-between}.lg\\:gap-24{gap:6rem}.lg\\:gap-6{gap:1.5rem}.lg\\:gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.lg\\:gap-y-10{row-gap:2.5rem}.lg\\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.lg\\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.lg\\:overflow-visible{overflow:visible}.lg\\:border-t-0{border-top-width:0px}.lg\\:p-2{padding:.5rem}.lg\\:px-6{padding-left:1.5rem;padding-right:1.5rem}.lg\\:px-8{padding-left:2rem;padding-right:2rem}.lg\\:pb-0{padding-bottom:0}.lg\\:pt-8{padding-top:2rem}.lg\\:text-right{text-align:right}.lg\\:text-sm{font-size:.875rem;line-height:1.25rem}.lg\\:text-2xl{font-size:1.5rem;line-height:2rem}}@media (min-width: 1280px){.xl\\:col-span-8{grid-column:span 8 / span 8}.xl\\:col-span-2{grid-column:span 2 / span 2}.xl\\:col-span-9{grid-column:span 9 / span 9}.xl\\:col-span-3{grid-column:span 3 / span 3}.xl\\:mb-4{margin-bottom:1rem}.xl\\:mb-6{margin-bottom:1.5rem}.xl\\:ml-8{margin-left:2rem}.xl\\:ml-64{margin-left:16rem}.xl\\:mt-0{margin-top:0}.xl\\:block{display:block}.xl\\:hidden{display:none}.xl\\:h-72{height:18rem}.xl\\:h-4{height:1rem}.xl\\:h-6{height:1.5rem}.xl\\:h-12{height:3rem}.xl\\:h-7{height:1.75rem}.xl\\:w-5\\/12{width:41.666667%}.xl\\:w-64{width:16rem}.xl\\:w-12{width:3rem}.xl\\:w-80{width:20rem}.xl\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.xl\\:flex-row{flex-direction:row}.xl\\:items-center{align-items:center}.xl\\:gap-8{gap:2rem}.xl\\:gap-x-16{-moz-column-gap:4rem;column-gap:4rem}.xl\\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.xl\\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.xl\\:p-4{padding:1rem}.xl\\:pl-64{padding-left:16rem}.xl\\:pl-0{padding-left:0}.xl\\:pl-96{padding-left:24rem}.xl\\:text-right{text-align:right}.xl\\:text-5xl{font-size:3rem;line-height:1}.xl\\:text-base{font-size:1rem;line-height:1.5rem}.xl\\:text-3xl{font-size:1.875rem;line-height:2.25rem}.xl\\:text-lg{font-size:1.125rem;line-height:1.75rem}.xl\\:leading-tight{line-height:1.25}.xl\\:leading-6{line-height:1.5rem}}.resize-observer[data-v-b329ee4c]{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer[data-v-b329ee4c] object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}.v-popper--theme-dropdown .v-popper__inner{background:#fff;color:#000;padding:24px;border-radius:6px;box-shadow:0 6px 30px #0000001a}.v-popper--theme-dropdown .v-popper__arrow{border-color:#fff}.v-popper{width:-webkit-max-content;width:-moz-max-content;width:max-content}.v-popper--theme-tooltip .v-popper__inner{background:rgba(0,0,0,.8);color:#fff;border-radius:6px;padding:7px 12px 6px}.v-popper--theme-tooltip .v-popper__arrow{border-color:#000c}.v-popper__popper{z-index:10000}.v-popper__popper.v-popper__popper--hidden{visibility:hidden;opacity:0;transition:opacity .15s,visibility .15s}.v-popper__popper.v-popper__popper--shown{visibility:visible;opacity:1;transition:opacity .15s}.v-popper__popper.v-popper__popper--skip-transition,.v-popper__popper.v-popper__popper--skip-transition>.v-popper__wrapper{transition:none!important}.v-popper__inner{position:relative}.v-popper__arrow-container{width:10px;height:10px}.v-popper__arrow{border-style:solid;position:relative;width:0;height:0}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow{border-width:5px 5px 0 5px;border-left-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:0}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow{border-width:0 5px 5px 5px;border-left-color:transparent!important;border-right-color:transparent!important;border-top-color:transparent!important;top:-5px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow{border-width:5px 5px 5px 0;border-left-color:transparent!important;border-top-color:transparent!important;border-bottom-color:transparent!important;left:-5px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{right:-5px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow{border-width:5px 0 5px 5px;border-top-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important;right:-5px}@-webkit-keyframes vueContentPlaceholdersAnimation{0%{transform:translate(-30%)}to{transform:translate(100%)}}@keyframes vueContentPlaceholdersAnimation{0%{transform:translate(-30%)}to{transform:translate(100%)}}.base-content-placeholders-heading{display:flex}[class^=base-content-placeholders-]+.base-content-placeholders-heading{margin-top:20px}.base-content-placeholders-heading__img{position:relative;overflow:hidden;min-height:15px;background:#eee;margin-right:15px}.base-content-placeholders-is-rounded .base-content-placeholders-heading__img{border-radius:6px}.base-content-placeholders-is-centered .base-content-placeholders-heading__img{margin-left:auto;margin-right:auto}.base-content-placeholders-is-animated .base-content-placeholders-heading__img:before{content:\"\";position:absolute;top:0;left:0;width:100vw;max-width:1000px;height:100%;background:linear-gradient(to right,transparent 0%,#e1e1e1 15%,transparent 30%);-webkit-animation-duration:1.5s;animation-duration:1.5s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-name:vueContentPlaceholdersAnimation;animation-name:vueContentPlaceholdersAnimation;-webkit-animation-timing-function:linear;animation-timing-function:linear}.base-content-placeholders-heading__content{display:flex;flex:1;flex-direction:column;justify-content:center}.base-content-placeholders-heading__title{position:relative;overflow:hidden;min-height:15px;width:85%;margin-bottom:10px;background:#ccc}.base-content-placeholders-is-rounded .base-content-placeholders-heading__title{border-radius:6px}.base-content-placeholders-is-centered .base-content-placeholders-heading__title{margin-left:auto;margin-right:auto}.base-content-placeholders-is-animated .base-content-placeholders-heading__title:before{content:\"\";position:absolute;top:0;left:0;width:100vw;max-width:1000px;height:100%;background:linear-gradient(to right,transparent 0%,#e1e1e1 15%,transparent 30%);-webkit-animation-duration:1.5s;animation-duration:1.5s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-name:vueContentPlaceholdersAnimation;animation-name:vueContentPlaceholdersAnimation;-webkit-animation-timing-function:linear;animation-timing-function:linear}.base-content-placeholders-heading__subtitle{position:relative;overflow:hidden;min-height:15px;background:#eee;width:90%}.base-content-placeholders-is-rounded .base-content-placeholders-heading__subtitle{border-radius:6px}.base-content-placeholders-is-centered .base-content-placeholders-heading__subtitle{margin-left:auto;margin-right:auto}.base-content-placeholders-is-animated .base-content-placeholders-heading__subtitle:before{content:\"\";position:absolute;top:0;left:0;width:100vw;max-width:1000px;height:100%;background:linear-gradient(to right,transparent 0%,#e1e1e1 15%,transparent 30%);-webkit-animation-duration:1.5s;animation-duration:1.5s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-name:vueContentPlaceholdersAnimation;animation-name:vueContentPlaceholdersAnimation;-webkit-animation-timing-function:linear;animation-timing-function:linear}[class^=base-content-placeholders-]+.base-content-placeholders-text{margin-top:20px}.base-content-placeholders-text__line{position:relative;overflow:hidden;min-height:15px;background:#eee;width:100%;margin-bottom:10px}.base-content-placeholders-is-rounded .base-content-placeholders-text__line{border-radius:6px}.base-content-placeholders-is-centered .base-content-placeholders-text__line{margin-left:auto;margin-right:auto}.base-content-placeholders-is-animated .base-content-placeholders-text__line:before{content:\"\";position:absolute;top:0;left:0;width:100vw;max-width:1000px;height:100%;background:linear-gradient(to right,transparent 0%,#e1e1e1 15%,transparent 30%);-webkit-animation-duration:1.5s;animation-duration:1.5s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-name:vueContentPlaceholdersAnimation;animation-name:vueContentPlaceholdersAnimation;-webkit-animation-timing-function:linear;animation-timing-function:linear}.base-content-placeholders-text__line:first-child{width:100%}.base-content-placeholders-text__line:nth-child(2){width:90%}.base-content-placeholders-text__line:nth-child(3){width:80%}.base-content-placeholders-text__line:nth-child(4){width:70%}.base-content-placeholders-box{position:relative;overflow:hidden;min-height:15px;background:#eee}.base-content-placeholders-is-animated .base-content-placeholders-box:before{content:\"\";position:absolute;top:0;left:0;width:100vw;max-width:1000px;height:100%;background:linear-gradient(to right,transparent 0%,#e1e1e1 15%,transparent 30%);-webkit-animation-duration:1.5s;animation-duration:1.5s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-name:vueContentPlaceholdersAnimation;animation-name:vueContentPlaceholdersAnimation;-webkit-animation-timing-function:linear;animation-timing-function:linear}.base-content-circle{border-radius:100%}.base-content-placeholders-is-rounded{border-radius:6px}.flatpickr-calendar{opacity:0;display:none;text-align:center;visibility:hidden;padding:0;-webkit-animation:none;animation:none;direction:ltr;border:0;font-size:14px;line-height:24px;border-radius:5px;position:absolute;width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-touch-action:manipulation;touch-action:manipulation;background:#fff;-webkit-box-shadow:1px 0 0 #e6e6e6,-1px 0 0 #e6e6e6,0 1px 0 #e6e6e6,0 -1px 0 #e6e6e6,0 3px 13px rgba(0,0,0,.08);box-shadow:1px 0 #e6e6e6,-1px 0 #e6e6e6,0 1px #e6e6e6,0 -1px #e6e6e6,0 3px 13px #00000014}.flatpickr-calendar.open,.flatpickr-calendar.inline{opacity:1;max-height:640px;visibility:visible}.flatpickr-calendar.open{display:inline-block;z-index:99999}.flatpickr-calendar.animate.open{-webkit-animation:fpFadeInDown .3s cubic-bezier(.23,1,.32,1);animation:fpFadeInDown .3s cubic-bezier(.23,1,.32,1)}.flatpickr-calendar.inline{display:block;position:relative;top:2px}.flatpickr-calendar.static{position:absolute;top:calc(100% + 2px)}.flatpickr-calendar.static.open{z-index:999;display:block}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7){-webkit-box-shadow:none!important;box-shadow:none!important}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1){-webkit-box-shadow:-2px 0 0 #e6e6e6,5px 0 0 #e6e6e6;box-shadow:-2px 0 #e6e6e6,5px 0 #e6e6e6}.flatpickr-calendar .hasWeeks .dayContainer,.flatpickr-calendar .hasTime .dayContainer{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.flatpickr-calendar .hasWeeks .dayContainer{border-left:0}.flatpickr-calendar.hasTime .flatpickr-time{height:40px;border-top:1px solid #e6e6e6}.flatpickr-calendar.noCalendar.hasTime .flatpickr-time{height:auto}.flatpickr-calendar:before,.flatpickr-calendar:after{position:absolute;display:block;pointer-events:none;border:solid transparent;content:\"\";height:0;width:0;left:22px}.flatpickr-calendar.rightMost:before,.flatpickr-calendar.arrowRight:before,.flatpickr-calendar.rightMost:after,.flatpickr-calendar.arrowRight:after{left:auto;right:22px}.flatpickr-calendar.arrowCenter:before,.flatpickr-calendar.arrowCenter:after{left:50%;right:50%}.flatpickr-calendar:before{border-width:5px;margin:0 -5px}.flatpickr-calendar:after{border-width:4px;margin:0 -4px}.flatpickr-calendar.arrowTop:before,.flatpickr-calendar.arrowTop:after{bottom:100%}.flatpickr-calendar.arrowTop:before{border-bottom-color:#e6e6e6}.flatpickr-calendar.arrowTop:after{border-bottom-color:#fff}.flatpickr-calendar.arrowBottom:before,.flatpickr-calendar.arrowBottom:after{top:100%}.flatpickr-calendar.arrowBottom:before{border-top-color:#e6e6e6}.flatpickr-calendar.arrowBottom:after{border-top-color:#fff}.flatpickr-calendar:focus{outline:0}.flatpickr-wrapper{position:relative;display:inline-block}.flatpickr-months{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flatpickr-months .flatpickr-month{background:transparent;color:#000000e6;fill:#000000e6;height:34px;line-height:1;text-align:center;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.flatpickr-months .flatpickr-prev-month,.flatpickr-months .flatpickr-next-month{text-decoration:none;cursor:pointer;position:absolute;top:0;height:34px;padding:10px;z-index:3;color:#000000e6;fill:#000000e6}.flatpickr-months .flatpickr-prev-month.flatpickr-disabled,.flatpickr-months .flatpickr-next-month.flatpickr-disabled{display:none}.flatpickr-months .flatpickr-prev-month i,.flatpickr-months .flatpickr-next-month i{position:relative}.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month,.flatpickr-months .flatpickr-next-month.flatpickr-prev-month{left:0}.flatpickr-months .flatpickr-prev-month.flatpickr-next-month,.flatpickr-months .flatpickr-next-month.flatpickr-next-month{right:0}.flatpickr-months .flatpickr-prev-month:hover,.flatpickr-months .flatpickr-next-month:hover{color:#959ea9}.flatpickr-months .flatpickr-prev-month:hover svg,.flatpickr-months .flatpickr-next-month:hover svg{fill:#f64747}.flatpickr-months .flatpickr-prev-month svg,.flatpickr-months .flatpickr-next-month svg{width:14px;height:14px}.flatpickr-months .flatpickr-prev-month svg path,.flatpickr-months .flatpickr-next-month svg path{-webkit-transition:fill .1s;transition:fill .1s;fill:inherit}.numInputWrapper{position:relative;height:auto}.numInputWrapper input,.numInputWrapper span{display:inline-block}.numInputWrapper input{width:100%}.numInputWrapper input::-ms-clear{display:none}.numInputWrapper input::-webkit-outer-spin-button,.numInputWrapper input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none}.numInputWrapper span{position:absolute;right:0;width:14px;padding:0 4px 0 2px;height:50%;line-height:50%;opacity:0;cursor:pointer;border:1px solid rgba(57,57,57,.15);-webkit-box-sizing:border-box;box-sizing:border-box}.numInputWrapper span:hover{background:rgba(0,0,0,.1)}.numInputWrapper span:active{background:rgba(0,0,0,.2)}.numInputWrapper span:after{display:block;content:\"\";position:absolute}.numInputWrapper span.arrowUp{top:0;border-bottom:0}.numInputWrapper span.arrowUp:after{border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:4px solid rgba(57,57,57,.6);top:26%}.numInputWrapper span.arrowDown{top:50%}.numInputWrapper span.arrowDown:after{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(57,57,57,.6);top:40%}.numInputWrapper span svg{width:inherit;height:auto}.numInputWrapper span svg path{fill:#00000080}.numInputWrapper:hover{background:rgba(0,0,0,.05)}.numInputWrapper:hover span{opacity:1}.flatpickr-current-month{font-size:135%;font-weight:300;color:inherit;position:absolute;width:75%;left:12.5%;padding:7.48px 0 0;line-height:1;height:34px;display:inline-block;text-align:center;-webkit-transform:translate3d(0px,0px,0px);transform:translate(0)}.flatpickr-current-month span.cur-month{font-family:inherit;font-weight:700;color:inherit;display:inline-block;margin-left:.5ch;padding:0}.flatpickr-current-month span.cur-month:hover{background:rgba(0,0,0,.05)}.flatpickr-current-month .numInputWrapper{width:7ch\\fffd;display:inline-block}.flatpickr-current-month .numInputWrapper span.arrowUp:after{border-bottom-color:#000000e6}.flatpickr-current-month .numInputWrapper span.arrowDown:after{border-top-color:#000000e6}.flatpickr-current-month input.cur-year{background:transparent;-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;cursor:text;padding:0 0 0 .5ch;margin:0;display:inline-block;font-size:inherit;font-family:inherit;font-weight:300;line-height:inherit;height:auto;border:0;border-radius:0;vertical-align:initial;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.flatpickr-current-month input.cur-year:focus{outline:0}.flatpickr-current-month input.cur-year[disabled],.flatpickr-current-month input.cur-year[disabled]:hover{font-size:100%;color:#00000080;background:transparent;pointer-events:none}.flatpickr-current-month .flatpickr-monthDropdown-months{appearance:menulist;background:transparent;border:none;border-radius:0;box-sizing:border-box;color:inherit;cursor:pointer;font-size:inherit;font-family:inherit;font-weight:300;height:auto;line-height:inherit;margin:-1px 0 0;outline:none;padding:0 0 0 .5ch;position:relative;vertical-align:initial;-webkit-box-sizing:border-box;-webkit-appearance:menulist;-moz-appearance:menulist;width:auto}.flatpickr-current-month .flatpickr-monthDropdown-months:focus,.flatpickr-current-month .flatpickr-monthDropdown-months:active{outline:none}.flatpickr-current-month .flatpickr-monthDropdown-months:hover{background:rgba(0,0,0,.05)}.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month{background-color:transparent;outline:none;padding:0}.flatpickr-weekdays{background:transparent;text-align:center;overflow:hidden;width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:28px}.flatpickr-weekdays .flatpickr-weekdaycontainer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}span.flatpickr-weekday{cursor:default;font-size:90%;background:transparent;color:#0000008a;line-height:1;margin:0;text-align:center;display:block;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;font-weight:bolder}.dayContainer,.flatpickr-weeks{padding:1px 0 0}.flatpickr-days{position:relative;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;width:307.875px}.flatpickr-days:focus{outline:0}.dayContainer{padding:0;outline:0;text-align:left;width:307.875px;min-width:307.875px;max-width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-wrap:wrap;-ms-flex-pack:justify;-webkit-justify-content:space-around;justify-content:space-around;-webkit-transform:translate3d(0px,0px,0px);transform:translate(0);opacity:1}.dayContainer+.dayContainer{-webkit-box-shadow:-1px 0 0 #e6e6e6;box-shadow:-1px 0 #e6e6e6}.flatpickr-day{background:none;border:1px solid transparent;border-radius:150px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#393939;cursor:pointer;font-weight:400;width:14.2857143%;-webkit-flex-basis:14.2857143%;-ms-flex-preferred-size:14.2857143%;flex-basis:14.2857143%;max-width:39px;height:39px;line-height:39px;margin:0;display:inline-block;position:relative;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;text-align:center}.flatpickr-day.inRange,.flatpickr-day.prevMonthDay.inRange,.flatpickr-day.nextMonthDay.inRange,.flatpickr-day.today.inRange,.flatpickr-day.prevMonthDay.today.inRange,.flatpickr-day.nextMonthDay.today.inRange,.flatpickr-day:hover,.flatpickr-day.prevMonthDay:hover,.flatpickr-day.nextMonthDay:hover,.flatpickr-day:focus,.flatpickr-day.prevMonthDay:focus,.flatpickr-day.nextMonthDay:focus{cursor:pointer;outline:0;background:#e6e6e6;border-color:#e6e6e6}.flatpickr-day.today{border-color:#959ea9}.flatpickr-day.today:hover,.flatpickr-day.today:focus{border-color:#959ea9;background:#959ea9;color:#fff}.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange,.flatpickr-day.selected.inRange,.flatpickr-day.startRange.inRange,.flatpickr-day.endRange.inRange,.flatpickr-day.selected:focus,.flatpickr-day.startRange:focus,.flatpickr-day.endRange:focus,.flatpickr-day.selected:hover,.flatpickr-day.startRange:hover,.flatpickr-day.endRange:hover,.flatpickr-day.selected.prevMonthDay,.flatpickr-day.startRange.prevMonthDay,.flatpickr-day.endRange.prevMonthDay,.flatpickr-day.selected.nextMonthDay,.flatpickr-day.startRange.nextMonthDay,.flatpickr-day.endRange.nextMonthDay{background:#569ff7;-webkit-box-shadow:none;box-shadow:none;color:#fff;border-color:#569ff7}.flatpickr-day.selected.startRange,.flatpickr-day.startRange.startRange,.flatpickr-day.endRange.startRange{border-radius:50px 0 0 50px}.flatpickr-day.selected.endRange,.flatpickr-day.startRange.endRange,.flatpickr-day.endRange.endRange{border-radius:0 50px 50px 0}.flatpickr-day.selected.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.startRange.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.endRange.startRange+.endRange:not(:nth-child(7n+1)){-webkit-box-shadow:-10px 0 0 #569ff7;box-shadow:-10px 0 #569ff7}.flatpickr-day.selected.startRange.endRange,.flatpickr-day.startRange.startRange.endRange,.flatpickr-day.endRange.startRange.endRange{border-radius:50px}.flatpickr-day.inRange{border-radius:0;-webkit-box-shadow:-5px 0 0 #e6e6e6,5px 0 0 #e6e6e6;box-shadow:-5px 0 #e6e6e6,5px 0 #e6e6e6}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover,.flatpickr-day.prevMonthDay,.flatpickr-day.nextMonthDay,.flatpickr-day.notAllowed,.flatpickr-day.notAllowed.prevMonthDay,.flatpickr-day.notAllowed.nextMonthDay{color:#3939394d;background:transparent;border-color:transparent;cursor:default}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover{cursor:not-allowed;color:#3939391a}.flatpickr-day.week.selected{border-radius:0;-webkit-box-shadow:-5px 0 0 #569ff7,5px 0 0 #569ff7;box-shadow:-5px 0 #569ff7,5px 0 #569ff7}.flatpickr-day.hidden{visibility:hidden}.rangeMode .flatpickr-day{margin-top:1px}.flatpickr-weekwrapper{float:left}.flatpickr-weekwrapper .flatpickr-weeks{padding:0 12px;-webkit-box-shadow:1px 0 0 #e6e6e6;box-shadow:1px 0 #e6e6e6}.flatpickr-weekwrapper .flatpickr-weekday{float:none;width:100%;line-height:28px}.flatpickr-weekwrapper span.flatpickr-day,.flatpickr-weekwrapper span.flatpickr-day:hover{display:block;width:100%;max-width:none;color:#3939394d;background:transparent;cursor:default;border:none}.flatpickr-innerContainer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}.flatpickr-rContainer{display:inline-block;padding:0;-webkit-box-sizing:border-box;box-sizing:border-box}.flatpickr-time{text-align:center;outline:0;height:0;line-height:40px;max-height:40px;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flatpickr-time:after{content:\"\";display:table;clear:both}.flatpickr-time .numInputWrapper{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;width:40%;height:40px;float:left}.flatpickr-time .numInputWrapper span.arrowUp:after{border-bottom-color:#393939}.flatpickr-time .numInputWrapper span.arrowDown:after{border-top-color:#393939}.flatpickr-time.hasSeconds .numInputWrapper{width:26%}.flatpickr-time.time24hr .numInputWrapper{width:49%}.flatpickr-time input{background:transparent;-webkit-box-shadow:none;box-shadow:none;border:0;border-radius:0;text-align:center;margin:0;padding:0;height:inherit;line-height:inherit;color:#393939;font-size:14px;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.flatpickr-time input.flatpickr-hour{font-weight:700}.flatpickr-time input.flatpickr-minute,.flatpickr-time input.flatpickr-second{font-weight:400}.flatpickr-time input:focus{outline:0;border:0}.flatpickr-time .flatpickr-time-separator,.flatpickr-time .flatpickr-am-pm{height:inherit;float:left;line-height:inherit;color:#393939;font-weight:700;width:2%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center}.flatpickr-time .flatpickr-am-pm{outline:0;width:18%;cursor:pointer;text-align:center;font-weight:400}.flatpickr-time input:hover,.flatpickr-time .flatpickr-am-pm:hover,.flatpickr-time input:focus,.flatpickr-time .flatpickr-am-pm:focus{background:#eee}.flatpickr-input[readonly]{cursor:pointer}@-webkit-keyframes fpFadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translateY(-20px)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate(0)}}@keyframes fpFadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translateY(-20px)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate(0)}}.offset-45deg{transform:rotate(45deg)}.loader{width:240px;height:240px;position:relative;display:block;margin:0 auto;transition:all 2s ease-out;transform:scale(1)}.loader:hover{transition:all 1s ease-in;transform:scale(1.5)}.loader-white .loader--icon{color:#fff}.loader-white .pufs>i:after{-webkit-animation-name:puf-white;animation-name:puf-white}.loader-spined{top:0;right:0;left:0;bottom:0;z-index:100;position:absolute;display:block;-webkit-animation:orbit 3s linear infinite;animation:orbit 3s linear infinite}@-webkit-keyframes orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loader--icon{text-align:center;width:25px;height:25px;line-height:25px;margin:0 auto;font-size:26px;color:#0a2639}.pufs{top:0;right:0;left:0;bottom:0;display:block;position:absolute}.pufs>i{display:block;top:0;right:0;left:0;bottom:0;position:absolute}.pufs>i:after{content:url('data:image/svg+xml; utf8, <svg width=\"8\" height=\"8\" viewBox=\"0 0 8 8\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M3.6875 0.6875C1.75403 0.6875 0.1875 2.25403 0.1875 4.1875C0.1875 6.12097 1.75403 7.6875 3.6875 7.6875C5.62097 7.6875 7.1875 6.12097 7.1875 4.1875C7.1875 2.25403 5.62097 0.6875 3.6875 0.6875Z\" fill=\"%239EA9C4\"/></svg>');height:7px;width:7px;position:relative;border-radius:100%;display:block;margin:0 auto;top:7px;font-size:9px;opacity:0;-webkit-animation-name:puf;animation-name:puf;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out;-webkit-animation-duration:3s;animation-duration:3s}.pufs>i:nth-child(1){transform:rotate(8deg)}.pufs>i:nth-child(1):after{-webkit-animation-delay:.0666666667s;animation-delay:.0666666667s;margin-top:-1px}.pufs>i:nth-child(2){transform:rotate(16deg)}.pufs>i:nth-child(2):after{-webkit-animation-delay:.1333333333s;animation-delay:.1333333333s;margin-top:1px}.pufs>i:nth-child(3){transform:rotate(24deg)}.pufs>i:nth-child(3):after{-webkit-animation-delay:.2s;animation-delay:.2s;margin-top:-1px}.pufs>i:nth-child(4){transform:rotate(32deg)}.pufs>i:nth-child(4):after{-webkit-animation-delay:.2666666667s;animation-delay:.2666666667s;margin-top:1px}.pufs>i:nth-child(5){transform:rotate(40deg)}.pufs>i:nth-child(5):after{-webkit-animation-delay:.3333333333s;animation-delay:.3333333333s;margin-top:-1px}.pufs>i:nth-child(6){transform:rotate(48deg)}.pufs>i:nth-child(6):after{-webkit-animation-delay:.4s;animation-delay:.4s;margin-top:1px}.pufs>i:nth-child(7){transform:rotate(56deg)}.pufs>i:nth-child(7):after{-webkit-animation-delay:.4666666667s;animation-delay:.4666666667s;margin-top:-1px}.pufs>i:nth-child(8){transform:rotate(64deg)}.pufs>i:nth-child(8):after{-webkit-animation-delay:.5333333333s;animation-delay:.5333333333s;margin-top:1px}.pufs>i:nth-child(9){transform:rotate(72deg)}.pufs>i:nth-child(9):after{-webkit-animation-delay:.6s;animation-delay:.6s;margin-top:-1px}.pufs>i:nth-child(10){transform:rotate(80deg)}.pufs>i:nth-child(10):after{-webkit-animation-delay:.6666666667s;animation-delay:.6666666667s;margin-top:1px}.pufs>i:nth-child(11){transform:rotate(88deg)}.pufs>i:nth-child(11):after{-webkit-animation-delay:.7333333333s;animation-delay:.7333333333s;margin-top:-1px}.pufs>i:nth-child(12){transform:rotate(96deg)}.pufs>i:nth-child(12):after{-webkit-animation-delay:.8s;animation-delay:.8s;margin-top:1px}.pufs>i:nth-child(13){transform:rotate(104deg)}.pufs>i:nth-child(13):after{-webkit-animation-delay:.8666666667s;animation-delay:.8666666667s;margin-top:-1px}.pufs>i:nth-child(14){transform:rotate(112deg)}.pufs>i:nth-child(14):after{-webkit-animation-delay:.9333333333s;animation-delay:.9333333333s;margin-top:1px}.pufs>i:nth-child(15){transform:rotate(120deg)}.pufs>i:nth-child(15):after{-webkit-animation-delay:1s;animation-delay:1s;margin-top:-1px}.pufs>i:nth-child(16){transform:rotate(128deg)}.pufs>i:nth-child(16):after{-webkit-animation-delay:1.0666666667s;animation-delay:1.0666666667s;margin-top:1px}.pufs>i:nth-child(17){transform:rotate(136deg)}.pufs>i:nth-child(17):after{-webkit-animation-delay:1.1333333333s;animation-delay:1.1333333333s;margin-top:-1px}.pufs>i:nth-child(18){transform:rotate(144deg)}.pufs>i:nth-child(18):after{-webkit-animation-delay:1.2s;animation-delay:1.2s;margin-top:1px}.pufs>i:nth-child(19){transform:rotate(152deg)}.pufs>i:nth-child(19):after{-webkit-animation-delay:1.2666666667s;animation-delay:1.2666666667s;margin-top:-1px}.pufs>i:nth-child(20){transform:rotate(160deg)}.pufs>i:nth-child(20):after{-webkit-animation-delay:1.3333333333s;animation-delay:1.3333333333s;margin-top:1px}.pufs>i:nth-child(21){transform:rotate(168deg)}.pufs>i:nth-child(21):after{-webkit-animation-delay:1.4s;animation-delay:1.4s;margin-top:-1px}.pufs>i:nth-child(22){transform:rotate(176deg)}.pufs>i:nth-child(22):after{-webkit-animation-delay:1.4666666667s;animation-delay:1.4666666667s;margin-top:1px}.pufs>i:nth-child(23){transform:rotate(184deg)}.pufs>i:nth-child(23):after{-webkit-animation-delay:1.5333333333s;animation-delay:1.5333333333s;margin-top:-1px}.pufs>i:nth-child(24){transform:rotate(192deg)}.pufs>i:nth-child(24):after{-webkit-animation-delay:1.6s;animation-delay:1.6s;margin-top:1px}.pufs>i:nth-child(25){transform:rotate(200deg)}.pufs>i:nth-child(25):after{-webkit-animation-delay:1.6666666667s;animation-delay:1.6666666667s;margin-top:-1px}.pufs>i:nth-child(26){transform:rotate(208deg)}.pufs>i:nth-child(26):after{-webkit-animation-delay:1.7333333333s;animation-delay:1.7333333333s;margin-top:1px}.pufs>i:nth-child(27){transform:rotate(216deg)}.pufs>i:nth-child(27):after{-webkit-animation-delay:1.8s;animation-delay:1.8s;margin-top:-1px}.pufs>i:nth-child(28){transform:rotate(224deg)}.pufs>i:nth-child(28):after{-webkit-animation-delay:1.8666666667s;animation-delay:1.8666666667s;margin-top:1px}.pufs>i:nth-child(29){transform:rotate(232deg)}.pufs>i:nth-child(29):after{-webkit-animation-delay:1.9333333333s;animation-delay:1.9333333333s;margin-top:-1px}.pufs>i:nth-child(30){transform:rotate(240deg)}.pufs>i:nth-child(30):after{-webkit-animation-delay:2s;animation-delay:2s;margin-top:1px}.pufs>i:nth-child(31){transform:rotate(248deg)}.pufs>i:nth-child(31):after{-webkit-animation-delay:2.0666666667s;animation-delay:2.0666666667s;margin-top:-1px}.pufs>i:nth-child(32){transform:rotate(256deg)}.pufs>i:nth-child(32):after{-webkit-animation-delay:2.1333333333s;animation-delay:2.1333333333s;margin-top:1px}.pufs>i:nth-child(33){transform:rotate(264deg)}.pufs>i:nth-child(33):after{-webkit-animation-delay:2.2s;animation-delay:2.2s;margin-top:-1px}.pufs>i:nth-child(34){transform:rotate(272deg)}.pufs>i:nth-child(34):after{-webkit-animation-delay:2.2666666667s;animation-delay:2.2666666667s;margin-top:1px}.pufs>i:nth-child(35){transform:rotate(280deg)}.pufs>i:nth-child(35):after{-webkit-animation-delay:2.3333333333s;animation-delay:2.3333333333s;margin-top:-1px}.pufs>i:nth-child(36){transform:rotate(288deg)}.pufs>i:nth-child(36):after{-webkit-animation-delay:2.4s;animation-delay:2.4s;margin-top:1px}.pufs>i:nth-child(37){transform:rotate(296deg)}.pufs>i:nth-child(37):after{-webkit-animation-delay:2.4666666667s;animation-delay:2.4666666667s;margin-top:-1px}.pufs>i:nth-child(38){transform:rotate(304deg)}.pufs>i:nth-child(38):after{-webkit-animation-delay:2.5333333333s;animation-delay:2.5333333333s;margin-top:1px}.pufs>i:nth-child(39){transform:rotate(312deg)}.pufs>i:nth-child(39):after{-webkit-animation-delay:2.6s;animation-delay:2.6s;margin-top:-1px}.pufs>i:nth-child(40){transform:rotate(320deg)}.pufs>i:nth-child(40):after{-webkit-animation-delay:2.6666666667s;animation-delay:2.6666666667s;margin-top:1px}.pufs>i:nth-child(41){transform:rotate(328deg)}.pufs>i:nth-child(41):after{-webkit-animation-delay:2.7333333333s;animation-delay:2.7333333333s;margin-top:-1px}.pufs>i:nth-child(42){transform:rotate(336deg)}.pufs>i:nth-child(42):after{-webkit-animation-delay:2.8s;animation-delay:2.8s;margin-top:1px}.pufs>i:nth-child(43){transform:rotate(344deg)}.pufs>i:nth-child(43):after{-webkit-animation-delay:2.8666666667s;animation-delay:2.8666666667s;margin-top:-1px}.pufs>i:nth-child(44){transform:rotate(352deg)}.pufs>i:nth-child(44):after{-webkit-animation-delay:2.9333333333s;animation-delay:2.9333333333s;margin-top:1px}.pufs>i:nth-child(45){transform:rotate(360deg)}.pufs>i:nth-child(45):after{-webkit-animation-delay:3s;animation-delay:3s;margin-top:-1px}.particles{position:absolute;display:block;top:0;right:0;left:0;bottom:0}.particles>i{display:block;top:0;right:0;left:0;bottom:0;position:absolute}.particles>i:after{content:url('data:image/svg+xml; utf8, <svg width=\"3\" height=\"3\" viewBox=\"0 0 3 3\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M1.1875 0.6875C0.635081 0.6875 0.1875 1.13508 0.1875 1.6875C0.1875 2.23992 0.635081 2.6875 1.1875 2.6875C1.73992 2.6875 2.1875 2.23992 2.1875 1.6875C2.1875 1.13508 1.73992 0.6875 1.1875 0.6875Z\" fill=\"%239EA9C4\"/></svg>');height:7px;width:7px;position:relative;border-radius:100%;display:block;margin:0 auto;top:7px;font-size:2px;opacity:0;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out;-webkit-animation-duration:3s;animation-duration:3s}.particles>i:nth-child(1){transform:rotate(8deg)}.particles>i:nth-child(1):after{-webkit-animation-delay:.0666666667s;animation-delay:.0666666667s;-webkit-animation-name:particle-o;animation-name:particle-o}.particles>i:nth-child(2){transform:rotate(16deg)}.particles>i:nth-child(2):after{-webkit-animation-delay:.1333333333s;animation-delay:.1333333333s;-webkit-animation-name:particle-o;animation-name:particle-o}.particles>i:nth-child(3){transform:rotate(24deg)}.particles>i:nth-child(3):after{-webkit-animation-delay:.2s;animation-delay:.2s;-webkit-animation-name:particle;animation-name:particle}.particles>i:nth-child(4){transform:rotate(32deg)}.particles>i:nth-child(4):after{-webkit-animation-delay:.2666666667s;animation-delay:.2666666667s;-webkit-animation-name:particle-o;animation-name:particle-o}.particles>i:nth-child(5){transform:rotate(40deg)}.particles>i:nth-child(5):after{-webkit-animation-delay:.3333333333s;animation-delay:.3333333333s;-webkit-animation-name:particle-o;animation-name:particle-o}.particles>i:nth-child(6){transform:rotate(48deg)}.particles>i:nth-child(6):after{-webkit-animation-delay:.4s;animation-delay:.4s;-webkit-animation-name:particle;animation-name:particle}.particles>i:nth-child(7){transform:rotate(56deg)}.particles>i:nth-child(7):after{-webkit-animation-delay:.4666666667s;animation-delay:.4666666667s;-webkit-animation-name:particle-o;animation-name:particle-o}.particles>i:nth-child(8){transform:rotate(64deg)}.particles>i:nth-child(8):after{-webkit-animation-delay:.5333333333s;animation-delay:.5333333333s;-webkit-animation-name:particle-o;animation-name:particle-o}.particles>i:nth-child(9){transform:rotate(72deg)}.particles>i:nth-child(9):after{-webkit-animation-delay:.6s;animation-delay:.6s;-webkit-animation-name:particle;animation-name:particle}.particles>i:nth-child(10){transform:rotate(80deg)}.particles>i:nth-child(10):after{-webkit-animation-delay:.6666666667s;animation-delay:.6666666667s;-webkit-animation-name:particle-o;animation-name:particle-o}.particles>i:nth-child(11){transform:rotate(88deg)}.particles>i:nth-child(11):after{-webkit-animation-delay:.7333333333s;animation-delay:.7333333333s;-webkit-animation-name:particle-o;animation-name:particle-o}.particles>i:nth-child(12){transform:rotate(96deg)}.particles>i:nth-child(12):after{-webkit-animation-delay:.8s;animation-delay:.8s;-webkit-animation-name:particle;animation-name:particle}.particles>i:nth-child(13){transform:rotate(104deg)}.particles>i:nth-child(13):after{-webkit-animation-delay:.8666666667s;animation-delay:.8666666667s;-webkit-animation-name:particle-o;animation-name:particle-o}.particles>i:nth-child(14){transform:rotate(112deg)}.particles>i:nth-child(14):after{-webkit-animation-delay:.9333333333s;animation-delay:.9333333333s;-webkit-animation-name:particle-o;animation-name:particle-o}.particles>i:nth-child(15){transform:rotate(120deg)}.particles>i:nth-child(15):after{-webkit-animation-delay:1s;animation-delay:1s;-webkit-animation-name:particle;animation-name:particle}.particles>i:nth-child(16){transform:rotate(128deg)}.particles>i:nth-child(16):after{-webkit-animation-delay:1.0666666667s;animation-delay:1.0666666667s;-webkit-animation-name:particle-o;animation-name:particle-o}.particles>i:nth-child(17){transform:rotate(136deg)}.particles>i:nth-child(17):after{-webkit-animation-delay:1.1333333333s;animation-delay:1.1333333333s;-webkit-animation-name:particle-o;animation-name:particle-o}.particles>i:nth-child(18){transform:rotate(144deg)}.particles>i:nth-child(18):after{-webkit-animation-delay:1.2s;animation-delay:1.2s;-webkit-animation-name:particle;animation-name:particle}.particles>i:nth-child(19){transform:rotate(152deg)}.particles>i:nth-child(19):after{-webkit-animation-delay:1.2666666667s;animation-delay:1.2666666667s;-webkit-animation-name:particle-o;animation-name:particle-o}.particles>i:nth-child(20){transform:rotate(160deg)}.particles>i:nth-child(20):after{-webkit-animation-delay:1.3333333333s;animation-delay:1.3333333333s;-webkit-animation-name:particle-o;animation-name:particle-o}.particles>i:nth-child(21){transform:rotate(168deg)}.particles>i:nth-child(21):after{-webkit-animation-delay:1.4s;animation-delay:1.4s;-webkit-animation-name:particle;animation-name:particle}.particles>i:nth-child(22){transform:rotate(176deg)}.particles>i:nth-child(22):after{-webkit-animation-delay:1.4666666667s;animation-delay:1.4666666667s;-webkit-animation-name:particle-o;animation-name:particle-o}.particles>i:nth-child(23){transform:rotate(184deg)}.particles>i:nth-child(23):after{-webkit-animation-delay:1.5333333333s;animation-delay:1.5333333333s;-webkit-animation-name:particle-o;animation-name:particle-o}.particles>i:nth-child(24){transform:rotate(192deg)}.particles>i:nth-child(24):after{-webkit-animation-delay:1.6s;animation-delay:1.6s;-webkit-animation-name:particle;animation-name:particle}.particles>i:nth-child(25){transform:rotate(200deg)}.particles>i:nth-child(25):after{-webkit-animation-delay:1.6666666667s;animation-delay:1.6666666667s;-webkit-animation-name:particle-o;animation-name:particle-o}.particles>i:nth-child(26){transform:rotate(208deg)}.particles>i:nth-child(26):after{-webkit-animation-delay:1.7333333333s;animation-delay:1.7333333333s;-webkit-animation-name:particle-o;animation-name:particle-o}.particles>i:nth-child(27){transform:rotate(216deg)}.particles>i:nth-child(27):after{-webkit-animation-delay:1.8s;animation-delay:1.8s;-webkit-animation-name:particle;animation-name:particle}.particles>i:nth-child(28){transform:rotate(224deg)}.particles>i:nth-child(28):after{-webkit-animation-delay:1.8666666667s;animation-delay:1.8666666667s;-webkit-animation-name:particle-o;animation-name:particle-o}.particles>i:nth-child(29){transform:rotate(232deg)}.particles>i:nth-child(29):after{-webkit-animation-delay:1.9333333333s;animation-delay:1.9333333333s;-webkit-animation-name:particle-o;animation-name:particle-o}.particles>i:nth-child(30){transform:rotate(240deg)}.particles>i:nth-child(30):after{-webkit-animation-delay:2s;animation-delay:2s;-webkit-animation-name:particle;animation-name:particle}.particles>i:nth-child(31){transform:rotate(248deg)}.particles>i:nth-child(31):after{-webkit-animation-delay:2.0666666667s;animation-delay:2.0666666667s;-webkit-animation-name:particle-o;animation-name:particle-o}.particles>i:nth-child(32){transform:rotate(256deg)}.particles>i:nth-child(32):after{-webkit-animation-delay:2.1333333333s;animation-delay:2.1333333333s;-webkit-animation-name:particle-o;animation-name:particle-o}.particles>i:nth-child(33){transform:rotate(264deg)}.particles>i:nth-child(33):after{-webkit-animation-delay:2.2s;animation-delay:2.2s;-webkit-animation-name:particle;animation-name:particle}.particles>i:nth-child(34){transform:rotate(272deg)}.particles>i:nth-child(34):after{-webkit-animation-delay:2.2666666667s;animation-delay:2.2666666667s;-webkit-animation-name:particle-o;animation-name:particle-o}.particles>i:nth-child(35){transform:rotate(280deg)}.particles>i:nth-child(35):after{-webkit-animation-delay:2.3333333333s;animation-delay:2.3333333333s;-webkit-animation-name:particle-o;animation-name:particle-o}.particles>i:nth-child(36){transform:rotate(288deg)}.particles>i:nth-child(36):after{-webkit-animation-delay:2.4s;animation-delay:2.4s;-webkit-animation-name:particle;animation-name:particle}.particles>i:nth-child(37){transform:rotate(296deg)}.particles>i:nth-child(37):after{-webkit-animation-delay:2.4666666667s;animation-delay:2.4666666667s;-webkit-animation-name:particle-o;animation-name:particle-o}.particles>i:nth-child(38){transform:rotate(304deg)}.particles>i:nth-child(38):after{-webkit-animation-delay:2.5333333333s;animation-delay:2.5333333333s;-webkit-animation-name:particle-o;animation-name:particle-o}.particles>i:nth-child(39){transform:rotate(312deg)}.particles>i:nth-child(39):after{-webkit-animation-delay:2.6s;animation-delay:2.6s;-webkit-animation-name:particle;animation-name:particle}.particles>i:nth-child(40){transform:rotate(320deg)}.particles>i:nth-child(40):after{-webkit-animation-delay:2.6666666667s;animation-delay:2.6666666667s;-webkit-animation-name:particle-o;animation-name:particle-o}.particles>i:nth-child(41){transform:rotate(328deg)}.particles>i:nth-child(41):after{-webkit-animation-delay:2.7333333333s;animation-delay:2.7333333333s;-webkit-animation-name:particle-o;animation-name:particle-o}.particles>i:nth-child(42){transform:rotate(336deg)}.particles>i:nth-child(42):after{-webkit-animation-delay:2.8s;animation-delay:2.8s;-webkit-animation-name:particle;animation-name:particle}.particles>i:nth-child(43){transform:rotate(344deg)}.particles>i:nth-child(43):after{-webkit-animation-delay:2.8666666667s;animation-delay:2.8666666667s;-webkit-animation-name:particle-o;animation-name:particle-o}.particles>i:nth-child(44){transform:rotate(352deg)}.particles>i:nth-child(44):after{-webkit-animation-delay:2.9333333333s;animation-delay:2.9333333333s;-webkit-animation-name:particle-o;animation-name:particle-o}.particles>i:nth-child(45){transform:rotate(360deg)}.particles>i:nth-child(45):after{-webkit-animation-delay:3s;animation-delay:3s;-webkit-animation-name:particle;animation-name:particle}@-webkit-keyframes puf{0%{opacity:1;color:#000;transform:scale(1)}10%{color:#3498db;transform:scale(1.5)}60%,to{opacity:0;color:gray;transform:scale(.4)}}@keyframes puf{0%{opacity:1;color:#000;transform:scale(1)}10%{color:#3498db;transform:scale(1.5)}60%,to{opacity:0;color:gray;transform:scale(.4)}}@-webkit-keyframes puf-white{0%{opacity:1;color:#000000bf;transform:scale(1)}10%{color:#ffffffe6;transform:scale(1.5)}60%,to{opacity:0;color:#0000004d;transform:scale(.4)}}@keyframes puf-white{0%{opacity:1;color:#000000bf;transform:scale(1)}10%{color:#ffffffe6;transform:scale(1.5)}60%,to{opacity:0;color:#0000004d;transform:scale(.4)}}@-webkit-keyframes particle{0%{opacity:1;color:#fff;margin-top:0}10%{margin-top:15px}75%{opacity:.5;margin-top:5px}to{opacity:0;margin-top:0}}@keyframes particle{0%{opacity:1;color:#fff;margin-top:0}10%{margin-top:15px}75%{opacity:.5;margin-top:5px}to{opacity:0;margin-top:0}}@-webkit-keyframes particle-o{0%{opacity:1;color:#fff;margin-top:0}10%{margin-top:-7px}75%{opacity:.5;margin-top:0}to{opacity:0;margin-top:0}}@keyframes particle-o{0%{opacity:1;color:#fff;margin-top:0}10%{margin-top:-7px}75%{opacity:.5;margin-top:0}to{opacity:0;margin-top:0}}.star-rating[data-v-52311750]{display:flex;align-items:center}.star-rating .star-container[data-v-52311750]{display:flex}.star-rating .star-container[data-v-52311750]:not(:last-child){margin-right:5px}\n"
  },
  {
    "path": "public/build/assets/main.465728e1.js",
    "content": "var It=Object.defineProperty,Tt=Object.defineProperties;var Rt=Object.getOwnPropertyDescriptors;var Je=Object.getOwnPropertySymbols;var Mt=Object.prototype.hasOwnProperty,Ft=Object.prototype.propertyIsEnumerable;var Qe=(n,r,o)=>r in n?It(n,r,{enumerable:!0,configurable:!0,writable:!0,value:o}):n[r]=o,M=(n,r)=>{for(var o in r||(r={}))Mt.call(r,o)&&Qe(n,o,r[o]);if(Je)for(var o of Je(r))Ft.call(r,o)&&Qe(n,o,r[o]);return n},W=(n,r)=>Tt(n,Rt(r));import{a as v,d as Q,_ as oe,c as $t,b as Ut,r as C,o as l,e as _,f as u,F as X,g as F,n as De,h as c,w as f,i as B,t as w,j as P,k as A,l as T,u as d,m as N,p as pe,q as xe,v as Vt,s as le,x as J,y as ae,z as Xe,A as Ot,B as K,C as fe,D as Pe,E as Lt,G as ge,H as G,I as be,J as Se,K as et,L as te,M as tt,N as Ue,O as at,P as qt,Q as Bt,R as Kt,S as Ce,T as Zt,U as se,V as Wt,W as Ht,X as Yt,Y as Ne,Z as Gt,$ as Jt,a0 as Ve,a1 as nt,a2 as Ee,a3 as it,a4 as Qt,a5 as ot,a6 as st,a7 as rt,a8 as Xt,a9 as ea,aa as ta,ab as aa,ac as na,ad as ia,ae as oa,af as sa,ag as dt,ah as ra,ai as lt,aj as da,ak as la,al as ca,am as _a,an as ct,ao as ua,ap as ma,aq as pa,ar as fa,as as ga,at as va,au as ya,av as Oe,aw as _t,ax as ut,ay as ha,az as ba,aA as ka,aB as wa,aC as za,aD as xa,aE as Le,aF as Pa,aG as Sa,aH as ja,aI as Aa,aJ as Da,aK as Ca,aL as Na}from\"./vendor.d12b5734.js\";var qe={get(n){return localStorage.getItem(n)?localStorage.getItem(n):null},set(n,r){localStorage.setItem(n,r)},remove(n){localStorage.removeItem(n)}};window.Ls=qe;window.axios=v;v.defaults.withCredentials=!0;v.defaults.headers.common={\"X-Requested-With\":\"XMLHttpRequest\"};v.interceptors.request.use(function(n){const r=qe.get(\"selectedCompany\"),o=qe.get(\"auth.token\");return o&&(n.headers.common.Authorization=o),r&&(n.headers.common.company=r),n});const $=(n=!1)=>(n?window.pinia.defineStore:Q)({id:\"notification\",state:()=>({active:!1,autoHide:!0,notifications:[]}),actions:{showNotification(o){this.notifications.push(W(M({},o),{id:(Math.random().toString(36)+Date.now().toString(36)).substr(2)}))},hideNotification(o){this.notifications=this.notifications.filter(a=>a.id!=o.id)}}})(),Ea=(n=!1)=>(n?window.pinia.defineStore:Q)({id:\"auth\",state:()=>({status:\"\",loginData:{email:\"\",password:\"\",remember:\"\"}}),actions:{login(o){return new Promise((a,t)=>{v.get(\"/sanctum/csrf-cookie\").then(i=>{i&&v.post(\"/login\",o).then(e=>{a(e),setTimeout(()=>{this.loginData.email=\"\",this.loginData.password=\"\"},1e3)}).catch(e=>{y(e),t(e)})})})},logout(){return new Promise((o,a)=>{v.post(\"/auth/logout\").then(t=>{$().showNotification({type:\"success\",message:\"Logged out successfully.\"}),window.router.push(\"/login\"),o(t)}).catch(t=>{y(t),window.router.push(\"/\"),a(t)})})}}})(),y=n=>{var a;const r=Ea(),o=$();if(!n.response)o.showNotification({type:\"error\",message:\"Please check your internet connection or wait until servers are back online.\"});else if(n.response.data&&(n.response.statusText===\"Unauthorized\"||n.response.data===\" Unauthorized.\")){const t=n.response.data.message?n.response.data.message:\"Unauthorized\";V(t),r.logout()}else if(n.response.data.errors){const t=JSON.parse(JSON.stringify(n.response.data.errors));for(const i in t)Ie(t[i][0])}else n.response.data.error?typeof n.response.data.error==\"boolean\"?Ie((a=n.response.data)==null?void 0:a.message):Ie(n.response.data.error):Ie(n.response.data.message)},Ie=n=>{switch(n){case\"These credentials do not match our records.\":V(\"errors.login_invalid_credentials\");break;case\"invalid_key\":V(\"errors.invalid_provider_key\");break;case\"This feature is available on Starter plan and onwards!\":V(\"errors.starter_plan\");break;case\"taxes_attached\":V(\"settings.tax_types.already_in_use\");break;case\"expense_attached\":V(\"settings.expense_category.already_in_use\");break;case\"payments_attached\":V(\"settings.payment_modes.payments_attached\");break;case\"expenses_attached\":V(\"settings.payment_modes.expenses_attached\");break;case\"role_attached_to_users\":V(\"settings.roles.already_in_use\");break;case\"items_attached\":V(\"settings.customization.items.already_in_use\");break;case\"payment_attached_message\":V(\"invoices.payment_attached_message\");break;case\"The email has already been taken.\":V(\"validation.email_already_taken\");break;case\"Relation estimateItems exists.\":V(\"items.item_attached_message\");break;case\"Relation invoiceItems exists.\":V(\"items.item_attached_message\");break;case\"Relation taxes exists.\":V(\"settings.tax_types.already_in_use\");break;case\"Relation taxes exists.\":V(\"settings.tax_types.already_in_use\");break;case\"Relation payments exists.\":V(\"errors.payment_attached\");break;case\"The estimate number has already been taken.\":V(\"errors.estimate_number_used\");break;case\"The payment number has already been taken.\":V(\"errors.estimate_number_used\");break;case\"The invoice number has already been taken.\":V(\"errors.invoice_number_used\");break;case\"The name has already been taken.\":V(\"errors.name_already_taken\");break;case\"total_invoice_amount_must_be_more_than_paid_amount\":V(\"invoices.invalid_due_amount_message\");break;case\"you_cannot_edit_currency\":V(\"customers.edit_currency_not_allowed\");break;case\"receipt_does_not_exist\":V(\"errors.receipt_does_not_exist\");break;case\"customer_cannot_be_changed_after_payment_is_added\":V(\"errors.customer_cannot_be_changed_after_payment_is_added\");break;case\"invalid_credentials\":V(\"errors.invalid_credentials\");break;case\"not_allowed\":V(\"errors.not_allowed\");break;case\"invalid_key\":V(\"errors.invalid_key\");break;case\"invalid_state\":V(\"errors.invalid_state\");break;case\"invalid_city\":V(\"errors.invalid_city\");break;case\"invalid_postal_code\":V(\"errors.invalid_postal_code\");break;case\"invalid_format\":V(\"errors.invalid_format\");break;case\"api_error\":V(\"errors.api_error\");break;case\"feature_not_enabled\":V(\"errors.feature_not_enabled\");break;case\"request_limit_met\":V(\"errors.request_limit_met\");break;case\"address_incomplete\":V(\"errors.address_incomplete\");break;case\"invalid_address\":V(\"errors.invalid_address\");break;case\"Email could not be sent to this email address.\":V(\"errors.email_could_not_be_sent\");break;default:V(n,!1);break}},V=(n,r=!0)=>{const{global:o}=window.i18n;$().showNotification({type:\"error\",message:r?o.t(n):n})},ve=(n=!1)=>{const r=n?window.pinia.defineStore:Q,{global:o}=window.i18n;return r({id:\"user\",state:()=>({currentUser:null,currentAbilities:[],currentUserSettings:{},userForm:{name:\"\",email:\"\",password:\"\",confirm_password:\"\",language:\"\"}}),getters:{currentAbilitiesCount:a=>a.currentAbilities.length},actions:{updateCurrentUser(a){return new Promise((t,i)=>{v.put(\"/api/v1/me\",a).then(e=>{this.currentUser=e.data.data,Object.assign(this.userForm,e.data.data),$().showNotification({type:\"success\",message:o.t(\"settings.account_settings.updated_message\")}),t(e)}).catch(e=>{y(e),i(e)})})},fetchCurrentUser(a){return new Promise((t,i)=>{v.get(\"/api/v1/me\",a).then(e=>{this.currentUser=e.data.data,this.userForm=e.data.data,t(e)}).catch(e=>{y(e),i(e)})})},uploadAvatar(a){return new Promise((t,i)=>{v.post(\"/api/v1/me/upload-avatar\",a).then(e=>{this.currentUser.avatar=e.data.data.avatar,t(e)}).catch(e=>{y(e),i(e)})})},fetchUserSettings(a){return new Promise((t,i)=>{v.get(\"/api/v1/me/settings\",{params:{settings:a}}).then(e=>{t(e)}).catch(e=>{y(e),i(e)})})},updateUserSettings(a){return new Promise((t,i)=>{v.put(\"/api/v1/me/settings\",a).then(e=>{a.settings.language&&(this.currentUserSettings.language=a.settings.language,o.locale=a.settings.language),a.settings.default_estimate_template&&(this.currentUserSettings.default_estimate_template=a.settings.default_estimate_template),a.settings.default_invoice_template&&(this.currentUserSettings.default_invoice_template=a.settings.default_invoice_template),t(e)}).catch(e=>{y(e),i(e)})})},hasAbilities(a){return!!this.currentAbilities.find(t=>t.name===\"*\"?!0:typeof a==\"string\"?t.name===a:!!a.find(i=>t.name===i))},hasAllAbilities(a){let t=!0;return this.currentAbilities.filter(i=>{!!a.find(s=>i.name===s)||(t=!1)}),t}}})()},_e=(n=!1)=>{const r=n?window.pinia.defineStore:Q,{global:o}=window.i18n;return r({id:\"company\",state:()=>({companies:[],selectedCompany:null,selectedCompanySettings:{},selectedCompanyCurrency:null}),actions:{setSelectedCompany(a){window.Ls.set(\"selectedCompany\",a.id),this.selectedCompany=a},fetchBasicMailConfig(){return new Promise((a,t)=>{v.get(\"/api/v1/company/mail/config\").then(i=>{a(i)}).catch(i=>{y(i),t(i)})})},updateCompany(a){return new Promise((t,i)=>{v.put(\"/api/v1/company\",a).then(e=>{$().showNotification({type:\"success\",message:o.t(\"settings.company_info.updated_message\")}),this.selectedCompany=e.data.data,t(e)}).catch(e=>{y(e),i(e)})})},updateCompanyLogo(a){return new Promise((t,i)=>{v.post(\"/api/v1/company/upload-logo\",a).then(e=>{t(e)}).catch(e=>{y(e),i(e)})})},addNewCompany(a){return new Promise((t,i)=>{v.post(\"/api/v1/companies\",a).then(e=>{$().showNotification({type:\"success\",message:o.t(\"company_switcher.created_message\")}),t(e)}).catch(e=>{y(e),i(e)})})},fetchCompany(a){return new Promise((t,i)=>{v.get(\"/api/v1/current-company\",a).then(e=>{Object.assign(this.companyForm,e.data.data.address),this.companyForm.name=e.data.data.name,t(e)}).catch(e=>{y(e),i(e)})})},fetchUserCompanies(){return new Promise((a,t)=>{v.get(\"/api/v1/companies\").then(i=>{a(i)}).catch(i=>{y(i),t(i)})})},fetchCompanySettings(a){return new Promise((t,i)=>{v.get(\"/api/v1/company/settings\",{params:{settings:a}}).then(e=>{t(e)}).catch(e=>{y(e),i(e)})})},updateCompanySettings({data:a,message:t}){return new Promise((i,e)=>{v.post(\"/api/v1/company/settings\",a).then(s=>{Object.assign(this.selectedCompanySettings,a.settings),t&&$().showNotification({type:\"success\",message:o.t(t)}),i(s)}).catch(s=>{y(s),e(s)})})},deleteCompany(a){return new Promise((t,i)=>{v.post(\"/api/v1/companies/delete\",a).then(e=>{t(e)}).catch(e=>{y(e),i(e)})})},setDefaultCurrency(a){this.defaultCurrency=a.currency}}})()},Ia=(n=!1)=>{const r=n?window.pinia.defineStore:Q,{global:o}=window.i18n;return r({id:\"modules\",state:()=>({currentModule:{},modules:[],apiToken:null,currentUser:{api_token:null},enableModules:[]}),getters:{salesTaxUSEnabled:a=>a.enableModules.includes(\"SalesTaxUS\")},actions:{fetchModules(a){return new Promise((t,i)=>{v.get(\"/api/v1/modules\").then(e=>{this.modules=e.data.data,t(e)}).catch(e=>{y(e),i(e)})})},fetchModule(a){return new Promise((t,i)=>{v.get(`/api/v1/modules/${a}`).then(e=>{e.data.error===\"invalid_token\"?(this.currentModule={},this.modules=[],this.apiToken=null,this.currentUser.api_token=null,window.router.push(\"/admin/modules\")):this.currentModule=e.data,t(e)}).catch(e=>{y(e),i(e)})})},checkApiToken(a){return new Promise((t,i)=>{v.get(`/api/v1/modules/check?api_token=${a}`).then(e=>{const s=$();e.data.error===\"invalid_token\"&&s.showNotification({type:\"error\",message:o.t(\"modules.invalid_api_token\")}),t(e)}).catch(e=>{y(e),i(e)})})},disableModule(a){return new Promise((t,i)=>{v.post(`/api/v1/modules/${a}/disable`).then(e=>{const s=$();e.data.success&&s.showNotification({type:\"success\",message:o.t(\"modules.module_disabled\")}),t(e)}).catch(e=>{y(e),i(e)})})},enableModule(a){return new Promise((t,i)=>{v.post(`/api/v1/modules/${a}/enable`).then(e=>{const s=$();e.data.success&&s.showNotification({type:\"success\",message:o.t(\"modules.module_enabled\")}),t(e)}).catch(e=>{y(e),i(e)})})}}})()},Te=(n=!1)=>{const r=n?window.pinia.defineStore:Q,{global:o}=window.i18n;return r({id:\"global\",state:()=>({config:null,globalSettings:null,timeZones:[],dateFormats:[],currencies:[],countries:[],languages:[],fiscalYears:[],mainMenu:[],settingMenu:[],isAppLoaded:!1,isSidebarOpen:!1,areCurrenciesLoading:!1,downloadReport:null}),getters:{menuGroups:a=>Object.values(oe.groupBy(a.mainMenu,\"group\"))},actions:{bootstrap(){return new Promise((a,t)=>{v.get(\"/api/v1/bootstrap\").then(i=>{const e=_e(),s=ve(),m=Ia();this.mainMenu=i.data.main_menu,this.settingMenu=i.data.setting_menu,this.config=i.data.config,this.globalSettings=i.data.global_settings,s.currentUser=i.data.current_user,s.currentUserSettings=i.data.current_user_settings,s.currentAbilities=i.data.current_user_abilities,m.apiToken=i.data.global_settings.api_token,m.enableModules=i.data.modules,e.companies=i.data.companies,e.selectedCompany=i.data.current_company,e.setSelectedCompany(i.data.current_company),e.selectedCompanySettings=i.data.current_company_settings,e.selectedCompanyCurrency=i.data.current_company_currency,o.locale=i.data.current_user_settings.language||\"en\",this.isAppLoaded=!0,a(i)}).catch(i=>{y(i),t(i)})})},fetchCurrencies(){return new Promise((a,t)=>{this.currencies.length||this.areCurrenciesLoading?a(this.currencies):(this.areCurrenciesLoading=!0,v.get(\"/api/v1/currencies\").then(i=>{this.currencies=i.data.data.filter(e=>e.name=`${e.code} - ${e.name}`),this.areCurrenciesLoading=!1,a(i)}).catch(i=>{y(i),this.areCurrenciesLoading=!1,t(i)}))})},fetchConfig(a){return new Promise((t,i)=>{v.get(\"/api/v1/config\",{params:a}).then(e=>{e.data.languages?this.languages=e.data.languages:this.fiscalYears=e.data.fiscal_years,t(e)}).catch(e=>{y(e),i(e)})})},fetchDateFormats(){return new Promise((a,t)=>{this.dateFormats.length?a(this.dateFormats):v.get(\"/api/v1/date/formats\").then(i=>{this.dateFormats=i.data.date_formats,a(i)}).catch(i=>{y(i),t(i)})})},fetchTimeZones(){return new Promise((a,t)=>{this.timeZones.length?a(this.timeZones):v.get(\"/api/v1/timezones\").then(i=>{this.timeZones=i.data.time_zones,a(i)}).catch(i=>{y(i),t(i)})})},fetchCountries(){return new Promise((a,t)=>{this.countries.length?a(this.countries):v.get(\"/api/v1/countries\").then(i=>{this.countries=i.data.data,a(i)}).catch(i=>{y(i),t(i)})})},fetchPlaceholders(a){return new Promise((t,i)=>{v.get(\"/api/v1/number-placeholders\",{params:a}).then(e=>{t(e)}).catch(e=>{y(e),i(e)})})},setSidebarVisibility(a){this.isSidebarOpen=a},setIsAppLoaded(a){this.isAppLoaded=a},updateGlobalSettings({data:a,message:t}){return new Promise((i,e)=>{v.post(\"/api/v1/settings\",a).then(s=>{Object.assign(this.globalSettings,a.settings),t&&$().showNotification({type:\"success\",message:o.t(t)}),i(s)}).catch(s=>{y(s),e(s)})})}}})()},Ta=\"modulepreload\",mt={},Ra=\"/build/\",S=function(r,o){return!o||o.length===0?r():Promise.all(o.map(a=>{if(a=`${Ra}${a}`,a in mt)return;mt[a]=!0;const t=a.endsWith(\".css\"),i=t?'[rel=\"stylesheet\"]':\"\";if(document.querySelector(`link[href=\"${a}\"]${i}`))return;const e=document.createElement(\"link\");if(e.rel=t?\"stylesheet\":Ta,t||(e.as=\"script\",e.crossOrigin=\"\"),e.href=a,document.head.appendChild(e),t)return new Promise((s,m)=>{e.addEventListener(\"load\",s),e.addEventListener(\"error\",m)})})).then(()=>r())};var O={DASHBOARD:\"dashboard\",CREATE_CUSTOMER:\"create-customer\",DELETE_CUSTOMER:\"delete-customer\",EDIT_CUSTOMER:\"edit-customer\",VIEW_CUSTOMER:\"view-customer\",CREATE_ITEM:\"create-item\",DELETE_ITEM:\"delete-item\",EDIT_ITEM:\"edit-item\",VIEW_ITEM:\"view-item\",CREATE_TAX_TYPE:\"create-tax-type\",DELETE_TAX_TYPE:\"delete-tax-type\",EDIT_TAX_TYPE:\"edit-tax-type\",VIEW_TAX_TYPE:\"view-tax-type\",CREATE_ESTIMATE:\"create-estimate\",DELETE_ESTIMATE:\"delete-estimate\",EDIT_ESTIMATE:\"edit-estimate\",VIEW_ESTIMATE:\"view-estimate\",SEND_ESTIMATE:\"send-estimate\",CREATE_INVOICE:\"create-invoice\",DELETE_INVOICE:\"delete-invoice\",EDIT_INVOICE:\"edit-invoice\",VIEW_INVOICE:\"view-invoice\",SEND_INVOICE:\"send-invoice\",CREATE_RECURRING_INVOICE:\"create-recurring-invoice\",DELETE_RECURRING_INVOICE:\"delete-recurring-invoice\",EDIT_RECURRING_INVOICE:\"edit-recurring-invoice\",VIEW_RECURRING_INVOICE:\"view-recurring-invoice\",CREATE_PAYMENT:\"create-payment\",DELETE_PAYMENT:\"delete-payment\",EDIT_PAYMENT:\"edit-payment\",VIEW_PAYMENT:\"view-payment\",SEND_PAYMENT:\"send-payment\",CREATE_EXPENSE:\"create-expense\",DELETE_EXPENSE:\"delete-expense\",EDIT_EXPENSE:\"edit-expense\",VIEW_EXPENSE:\"view-expense\",CREATE_CUSTOM_FIELDS:\"create-custom-field\",DELETE_CUSTOM_FIELDS:\"delete-custom-field\",EDIT_CUSTOM_FIELDS:\"edit-custom-field\",VIEW_CUSTOM_FIELDS:\"view-custom-field\",CREATE_ROLE:\"create-role\",DELETE_ROLE:\"delete-role\",EDIT_ROLE:\"edit-role\",VIEW_ROLE:\"view-role\",VIEW_EXCHANGE_RATE:\"view-exchange-rate-provider\",CREATE_EXCHANGE_RATE:\"create-exchange-rate-provider\",EDIT_EXCHANGE_RATE:\"edit-exchange-rate-provider\",DELETE_EXCHANGE_RATE:\"delete-exchange-rate-provider\",VIEW_FINANCIAL_REPORT:\"view-financial-reports\",MANAGE_NOTE:\"manage-all-notes\",VIEW_NOTE:\"view-all-notes\"};const Ma=()=>S(()=>import(\"./LayoutInstallation.356e17fb.js\"),[\"assets/LayoutInstallation.356e17fb.js\",\"assets/NotificationRoot.5fd2c2c8.js\",\"assets/vendor.d12b5734.js\"]),pt=()=>S(()=>import(\"./Login.30b20f3a.js\"),[\"assets/Login.30b20f3a.js\",\"assets/vendor.d12b5734.js\"]),Fa=()=>S(()=>import(\"./LayoutBasic.c6db5172.js\"),[\"assets/LayoutBasic.c6db5172.js\",\"assets/vendor.d12b5734.js\",\"assets/exchange-rate.85b564e2.js\",\"assets/users.27a53e97.js\",\"assets/NotificationRoot.5fd2c2c8.js\",\"assets/index.esm.85b4999a.js\"]),$a=()=>S(()=>import(\"./LayoutLogin.b71420b8.js\"),[\"assets/LayoutLogin.b71420b8.js\",\"assets/NotificationRoot.5fd2c2c8.js\",\"assets/vendor.d12b5734.js\"]),Ua=()=>S(()=>import(\"./ResetPassword.b82bdbf4.js\"),[\"assets/ResetPassword.b82bdbf4.js\",\"assets/vendor.d12b5734.js\"]),Va=()=>S(()=>import(\"./ForgotPassword.cb7a698c.js\"),[\"assets/ForgotPassword.cb7a698c.js\",\"assets/vendor.d12b5734.js\"]),Oa=()=>S(()=>import(\"./Dashboard.f55bd37e.js\"),[\"assets/Dashboard.f55bd37e.js\",\"assets/EstimateIcon.7f89fb19.js\",\"assets/vendor.d12b5734.js\",\"assets/LineChart.8ef63104.js\",\"assets/InvoiceIndexDropdown.c4bcaa08.js\",\"assets/EstimateIndexDropdown.8917d9cc.js\"]),La=()=>S(()=>import(\"./Index.622e547e.js\"),[\"assets/Index.622e547e.js\",\"assets/vendor.d12b5734.js\",\"assets/CustomerIndexDropdown.bf4b48d6.js\",\"assets/AstronautIcon.82b952e2.js\"]),ft=()=>S(()=>import(\"./Create.ddeb574a.js\"),[\"assets/Create.ddeb574a.js\",\"assets/vendor.d12b5734.js\",\"assets/CreateCustomFields.c1c460e4.js\"]),qa=()=>S(()=>import(\"./View.0b4de6cf.js\"),[\"assets/View.0b4de6cf.js\",\"assets/vendor.d12b5734.js\",\"assets/LoadingIcon.b704202b.js\",\"assets/LineChart.8ef63104.js\",\"assets/CustomerIndexDropdown.bf4b48d6.js\"]),Ba=()=>S(()=>import(\"./SettingsIndex.47aad06d.js\"),[\"assets/SettingsIndex.47aad06d.js\",\"assets/vendor.d12b5734.js\",\"assets/BaseListItem.3b6ffe7a.js\"]),Ka=()=>S(()=>import(\"./AccountSetting.7f3b69b7.js\"),[\"assets/AccountSetting.7f3b69b7.js\",\"assets/vendor.d12b5734.js\"]),Za=()=>S(()=>import(\"./CompanyInfoSettings.23b88ef4.js\"),[\"assets/CompanyInfoSettings.23b88ef4.js\",\"assets/vendor.d12b5734.js\"]),Wa=()=>S(()=>import(\"./PreferencesSetting.1dc581b2.js\"),[\"assets/PreferencesSetting.1dc581b2.js\",\"assets/vendor.d12b5734.js\"]),Ha=()=>S(()=>import(\"./CustomizationSetting.31d8c655.js\"),[\"assets/CustomizationSetting.31d8c655.js\",\"assets/vendor.d12b5734.js\",\"assets/DragIcon.2da3872a.js\",\"assets/payment.93619753.js\",\"assets/ItemUnitModal.031bb625.js\"]),Ya=()=>S(()=>import(\"./NotificationsSetting.20e5fa7f.js\"),[\"assets/NotificationsSetting.20e5fa7f.js\",\"assets/vendor.d12b5734.js\"]),Ga=()=>S(()=>import(\"./TaxTypesSetting.320c1628.js\"),[\"assets/TaxTypesSetting.320c1628.js\",\"assets/vendor.d12b5734.js\",\"assets/TaxTypeModal.d37d74ed.js\"]),Ja=()=>S(()=>import(\"./PaymentsModeSetting.c898ec15.js\"),[\"assets/PaymentsModeSetting.c898ec15.js\",\"assets/vendor.d12b5734.js\",\"assets/payment.93619753.js\",\"assets/PaymentModeModal.a0b58785.js\"]),Qa=()=>S(()=>import(\"./CustomFieldsSetting.feceee26.js\"),[\"assets/CustomFieldsSetting.feceee26.js\",\"assets/vendor.d12b5734.js\"]),Xa=()=>S(()=>import(\"./NotesSetting.b0c00c6b.js\"),[\"assets/NotesSetting.b0c00c6b.js\",\"assets/vendor.d12b5734.js\",\"assets/NoteModal.ebe10cf0.js\",\"assets/NoteModal.3245b7d3.css\",\"assets/payment.93619753.js\"]),en=()=>S(()=>import(\"./ExpenseCategorySetting.424a740a.js\"),[\"assets/ExpenseCategorySetting.424a740a.js\",\"assets/category.c88b90cd.js\",\"assets/vendor.d12b5734.js\",\"assets/CategoryModal.6fabb0b3.js\"]),tn=()=>S(()=>import(\"./ExchangeRateProviderSetting.3f82b267.js\"),[\"assets/ExchangeRateProviderSetting.3f82b267.js\",\"assets/exchange-rate.85b564e2.js\",\"assets/vendor.d12b5734.js\",\"assets/BaseTable.ec8995dc.js\"]),an=()=>S(()=>import(\"./MailConfigSetting.cd95a416.js\"),[\"assets/MailConfigSetting.cd95a416.js\",\"assets/vendor.d12b5734.js\",\"assets/mail-driver.0a974f6a.js\"]),nn=()=>S(()=>import(\"./FileDiskSetting.9303276f.js\"),[\"assets/FileDiskSetting.9303276f.js\",\"assets/disk.0ffde448.js\",\"assets/vendor.d12b5734.js\"]),on=()=>S(()=>import(\"./BackupSetting.135768cd.js\"),[\"assets/BackupSetting.135768cd.js\",\"assets/vendor.d12b5734.js\",\"assets/disk.0ffde448.js\"]),sn=()=>S(()=>import(\"./UpdateAppSetting.428e199e.js\"),[\"assets/UpdateAppSetting.428e199e.js\",\"assets/UpdateAppSetting.7d8b987a.css\",\"assets/vendor.d12b5734.js\",\"assets/LoadingIcon.b704202b.js\",\"assets/exchange-rate.85b564e2.js\"]),rn=()=>S(()=>import(\"./RolesSettings.72f183c6.js\"),[\"assets/RolesSettings.72f183c6.js\",\"assets/vendor.d12b5734.js\"]),dn=()=>S(()=>import(\"./Index.0d95203a.js\"),[\"assets/Index.0d95203a.js\",\"assets/vendor.d12b5734.js\"]),gt=()=>S(()=>import(\"./Create.f0feda6b.js\"),[\"assets/Create.f0feda6b.js\",\"assets/vendor.d12b5734.js\",\"assets/ItemUnitModal.031bb625.js\"]),ln=()=>S(()=>import(\"./Index.5bf16119.js\"),[\"assets/Index.5bf16119.js\",\"assets/vendor.d12b5734.js\",\"assets/expense.ea1e799e.js\",\"assets/category.c88b90cd.js\"]),vt=()=>S(()=>import(\"./Create.68c99c93.js\"),[\"assets/Create.68c99c93.js\",\"assets/vendor.d12b5734.js\",\"assets/expense.ea1e799e.js\",\"assets/category.c88b90cd.js\",\"assets/CreateCustomFields.c1c460e4.js\",\"assets/CategoryModal.6fabb0b3.js\",\"assets/ExchangeRateConverter.d865db6a.js\",\"assets/exchange-rate.85b564e2.js\"]),cn=()=>S(()=>import(\"./Index.91b66939.js\"),[\"assets/Index.91b66939.js\",\"assets/vendor.d12b5734.js\",\"assets/users.27a53e97.js\",\"assets/AstronautIcon.82b952e2.js\"]),yt=()=>S(()=>import(\"./Create.c666337c.js\"),[\"assets/Create.c666337c.js\",\"assets/vendor.d12b5734.js\",\"assets/index.esm.85b4999a.js\",\"assets/users.27a53e97.js\"]),_n=()=>S(()=>import(\"./Index.edd0a47c.js\"),[\"assets/Index.edd0a47c.js\",\"assets/vendor.d12b5734.js\",\"assets/ObservatoryIcon.528a64ab.js\",\"assets/EstimateIndexDropdown.8917d9cc.js\",\"assets/SendEstimateModal.01516700.js\",\"assets/mail-driver.0a974f6a.js\"]),ht=()=>S(()=>import(\"./EstimateCreate.82c0b5df.js\"),[\"assets/EstimateCreate.82c0b5df.js\",\"assets/vendor.d12b5734.js\",\"assets/SalesTax.75d66dd0.js\",\"assets/DragIcon.2da3872a.js\",\"assets/SelectNotePopup.2e678c03.js\",\"assets/NoteModal.ebe10cf0.js\",\"assets/NoteModal.3245b7d3.css\",\"assets/payment.93619753.js\",\"assets/CreateCustomFields.c1c460e4.js\",\"assets/ExchangeRateConverter.d865db6a.js\",\"assets/exchange-rate.85b564e2.js\",\"assets/TaxTypeModal.d37d74ed.js\"]),un=()=>S(()=>import(\"./View.ae81e386.js\"),[\"assets/View.ae81e386.js\",\"assets/vendor.d12b5734.js\",\"assets/EstimateIndexDropdown.8917d9cc.js\",\"assets/SendEstimateModal.01516700.js\",\"assets/mail-driver.0a974f6a.js\",\"assets/LoadingIcon.b704202b.js\"]),mn=()=>S(()=>import(\"./Index.d826dbf4.js\"),[\"assets/Index.d826dbf4.js\",\"assets/vendor.d12b5734.js\",\"assets/payment.93619753.js\",\"assets/CapsuleIcon.37dfa933.js\",\"assets/SendPaymentModal.26ce23d7.js\",\"assets/mail-driver.0a974f6a.js\"]),Be=()=>S(()=>import(\"./Create.1d6bd807.js\"),[\"assets/Create.1d6bd807.js\",\"assets/vendor.d12b5734.js\",\"assets/ExchangeRateConverter.d865db6a.js\",\"assets/exchange-rate.85b564e2.js\",\"assets/payment.93619753.js\",\"assets/SelectNotePopup.2e678c03.js\",\"assets/NoteModal.ebe10cf0.js\",\"assets/NoteModal.3245b7d3.css\",\"assets/CreateCustomFields.c1c460e4.js\",\"assets/PaymentModeModal.a0b58785.js\"]),pn=()=>S(()=>import(\"./View.7e060296.js\"),[\"assets/View.7e060296.js\",\"assets/vendor.d12b5734.js\",\"assets/payment.93619753.js\",\"assets/SendPaymentModal.26ce23d7.js\",\"assets/mail-driver.0a974f6a.js\",\"assets/LoadingIcon.b704202b.js\"]),fn=()=>S(()=>import(\"./404.e81599b7.js\"),[\"assets/404.e81599b7.js\",\"assets/vendor.d12b5734.js\"]),gn=()=>S(()=>import(\"./Index.6424247c.js\"),[\"assets/Index.6424247c.js\",\"assets/vendor.d12b5734.js\",\"assets/MoonwalkerIcon.b55d3604.js\",\"assets/InvoiceIndexDropdown.c4bcaa08.js\",\"assets/SendInvoiceModal.f818e383.js\",\"assets/mail-driver.0a974f6a.js\"]),bt=()=>S(()=>import(\"./InvoiceCreate.2736eea6.js\"),[\"assets/InvoiceCreate.2736eea6.js\",\"assets/vendor.d12b5734.js\",\"assets/SalesTax.75d66dd0.js\",\"assets/DragIcon.2da3872a.js\",\"assets/SelectNotePopup.2e678c03.js\",\"assets/NoteModal.ebe10cf0.js\",\"assets/NoteModal.3245b7d3.css\",\"assets/payment.93619753.js\",\"assets/ExchangeRateConverter.d865db6a.js\",\"assets/exchange-rate.85b564e2.js\",\"assets/CreateCustomFields.c1c460e4.js\",\"assets/TaxTypeModal.d37d74ed.js\"]),vn=()=>S(()=>import(\"./View.f92113cb.js\"),[\"assets/View.f92113cb.js\",\"assets/vendor.d12b5734.js\",\"assets/SendInvoiceModal.f818e383.js\",\"assets/mail-driver.0a974f6a.js\",\"assets/InvoiceIndexDropdown.c4bcaa08.js\",\"assets/LoadingIcon.b704202b.js\"]),yn=()=>S(()=>import(\"./Index.f458eba6.js\"),[\"assets/Index.f458eba6.js\",\"assets/vendor.d12b5734.js\",\"assets/SendInvoiceModal.f818e383.js\",\"assets/mail-driver.0a974f6a.js\",\"assets/RecurringInvoiceIndexDropdown.5e1ae0da.js\",\"assets/MoonwalkerIcon.b55d3604.js\"]),kt=()=>S(()=>import(\"./RecurringInvoiceCreate.30ae0989.js\"),[\"assets/RecurringInvoiceCreate.30ae0989.js\",\"assets/vendor.d12b5734.js\",\"assets/SalesTax.75d66dd0.js\",\"assets/DragIcon.2da3872a.js\",\"assets/SelectNotePopup.2e678c03.js\",\"assets/NoteModal.ebe10cf0.js\",\"assets/NoteModal.3245b7d3.css\",\"assets/payment.93619753.js\",\"assets/ExchangeRateConverter.d865db6a.js\",\"assets/exchange-rate.85b564e2.js\",\"assets/CreateCustomFields.c1c460e4.js\",\"assets/TaxTypeModal.d37d74ed.js\"]),hn=()=>S(()=>import(\"./View.44f27c50.js\"),[\"assets/View.44f27c50.js\",\"assets/vendor.d12b5734.js\",\"assets/LoadingIcon.b704202b.js\",\"assets/InvoiceIndexDropdown.c4bcaa08.js\",\"assets/SendInvoiceModal.f818e383.js\",\"assets/mail-driver.0a974f6a.js\",\"assets/RecurringInvoiceIndexDropdown.5e1ae0da.js\"]),bn=()=>S(()=>import(\"./Index.ff30d2b8.js\"),[\"assets/Index.ff30d2b8.js\",\"assets/vendor.d12b5734.js\"]),kn=()=>S(()=>import(\"./Installation.f2c5c029.js\"),[\"assets/Installation.f2c5c029.js\",\"assets/vendor.d12b5734.js\",\"assets/mail-driver.0a974f6a.js\"]),wn=()=>S(()=>import(\"./Index.113c6776.js\"),[\"assets/Index.113c6776.js\",\"assets/vendor.d12b5734.js\"]),zn=()=>S(()=>import(\"./View.b91609b3.js\"),[\"assets/View.b91609b3.js\",\"assets/vendor.d12b5734.js\"]),xn=()=>S(()=>import(\"./InvoicePublicPage.57c1fc66.js\"),[\"assets/InvoicePublicPage.57c1fc66.js\",\"assets/vendor.d12b5734.js\"]);var Pn=[{path:\"/installation\",component:Ma,meta:{requiresAuth:!1},children:[{path:\"/installation\",component:kn,name:\"installation\"}]},{path:\"/customer/invoices/view/:hash\",component:xn,name:\"invoice.public\"},{path:\"/\",component:$a,meta:{requiresAuth:!1,redirectIfAuthenticated:!0},children:[{path:\"\",component:pt},{path:\"login\",name:\"login\",component:pt},{path:\"forgot-password\",component:Va,name:\"forgot-password\"},{path:\"/reset-password/:token\",component:Ua,name:\"reset-password\"}]},{path:\"/admin\",component:Fa,meta:{requiresAuth:!0},children:[{path:\"dashboard\",name:\"dashboard\",meta:{ability:O.DASHBOARD},component:Oa},{path:\"customers\",meta:{ability:O.VIEW_CUSTOMER},component:La},{path:\"customers/create\",name:\"customers.create\",meta:{ability:O.CREATE_CUSTOMER},component:ft},{path:\"customers/:id/edit\",name:\"customers.edit\",meta:{ability:O.EDIT_CUSTOMER},component:ft},{path:\"customers/:id/view\",name:\"customers.view\",meta:{ability:O.VIEW_CUSTOMER},component:qa},{path:\"payments\",meta:{ability:O.VIEW_PAYMENT},component:mn},{path:\"payments/create\",name:\"payments.create\",meta:{ability:O.CREATE_PAYMENT},component:Be},{path:\"payments/:id/create\",name:\"invoice.payments.create\",meta:{ability:O.CREATE_PAYMENT},component:Be},{path:\"payments/:id/edit\",name:\"payments.edit\",meta:{ability:O.EDIT_PAYMENT},component:Be},{path:\"payments/:id/view\",name:\"payments.view\",meta:{ability:O.VIEW_PAYMENT},component:pn},{path:\"settings\",name:\"settings\",component:Ba,children:[{path:\"account-settings\",name:\"account.settings\",component:Ka},{path:\"company-info\",name:\"company.info\",meta:{isOwner:!0},component:Za},{path:\"preferences\",name:\"preferences\",meta:{isOwner:!0},component:Wa},{path:\"customization\",name:\"customization\",meta:{isOwner:!0},component:Ha},{path:\"notifications\",name:\"notifications\",meta:{isOwner:!0},component:Ya},{path:\"roles-settings\",name:\"roles.settings\",meta:{isOwner:!0},component:rn},{path:\"exchange-rate-provider\",name:\"exchange.rate.provider\",meta:{ability:O.VIEW_EXCHANGE_RATE},component:tn},{path:\"tax-types\",name:\"tax.types\",meta:{ability:O.VIEW_TAX_TYPE},component:Ga},{path:\"notes\",name:\"notes\",meta:{ability:O.VIEW_ALL_NOTES},component:Xa},{path:\"payment-mode\",name:\"payment.mode\",component:Ja},{path:\"custom-fields\",name:\"custom.fields\",meta:{ability:O.VIEW_CUSTOM_FIELDS},component:Qa},{path:\"expense-category\",name:\"expense.category\",meta:{ability:O.VIEW_EXPENSE},component:en},{path:\"mail-configuration\",name:\"mailconfig\",meta:{isOwner:!0},component:an},{path:\"file-disk\",name:\"file-disk\",meta:{isOwner:!0},component:nn},{path:\"backup\",name:\"backup\",meta:{isOwner:!0},component:on},{path:\"update-app\",name:\"updateapp\",meta:{isOwner:!0},component:sn}]},{path:\"items\",meta:{ability:O.VIEW_ITEM},component:dn},{path:\"items/create\",name:\"items.create\",meta:{ability:O.CREATE_ITEM},component:gt},{path:\"items/:id/edit\",name:\"items.edit\",meta:{ability:O.EDIT_ITEM},component:gt},{path:\"expenses\",meta:{ability:O.VIEW_EXPENSE},component:ln},{path:\"expenses/create\",name:\"expenses.create\",meta:{ability:O.CREATE_EXPENSE},component:vt},{path:\"expenses/:id/edit\",name:\"expenses.edit\",meta:{ability:O.EDIT_EXPENSE},component:vt},{path:\"users\",name:\"users.index\",meta:{isOwner:!0},component:cn},{path:\"users/create\",meta:{isOwner:!0},name:\"users.create\",component:yt},{path:\"users/:id/edit\",name:\"users.edit\",meta:{isOwner:!0},component:yt},{path:\"estimates\",name:\"estimates.index\",meta:{ability:O.VIEW_ESTIMATE},component:_n},{path:\"estimates/create\",name:\"estimates.create\",meta:{ability:O.CREATE_ESTIMATE},component:ht},{path:\"estimates/:id/view\",name:\"estimates.view\",meta:{ability:O.VIEW_ESTIMATE},component:un},{path:\"estimates/:id/edit\",name:\"estimates.edit\",meta:{ability:O.EDIT_ESTIMATE},component:ht},{path:\"invoices\",name:\"invoices.index\",meta:{ability:O.VIEW_INVOICE},component:gn},{path:\"invoices/create\",name:\"invoices.create\",meta:{ability:O.CREATE_INVOICE},component:bt},{path:\"invoices/:id/view\",name:\"invoices.view\",meta:{ability:O.VIEW_INVOICE},component:vn},{path:\"invoices/:id/edit\",name:\"invoices.edit\",meta:{ability:O.EDIT_INVOICE},component:bt},{path:\"recurring-invoices\",name:\"recurring-invoices.index\",meta:{ability:O.VIEW_RECURRING_INVOICE},component:yn},{path:\"recurring-invoices/create\",name:\"recurring-invoices.create\",meta:{ability:O.CREATE_RECURRING_INVOICE},component:kt},{path:\"recurring-invoices/:id/view\",name:\"recurring-invoices.view\",meta:{ability:O.VIEW_RECURRING_INVOICE},component:hn},{path:\"recurring-invoices/:id/edit\",name:\"recurring-invoices.edit\",meta:{ability:O.EDIT_RECURRING_INVOICE},component:kt},{path:\"modules\",name:\"modules.index\",meta:{isOwner:!0},component:wn},{path:\"modules/:slug\",name:\"modules.view\",meta:{isOwner:!0},component:zn},{path:\"reports\",meta:{ability:O.VIEW_FINANCIAL_REPORT},component:bn}]},{path:\"/:catchAll(.*)\",component:fn}];const Sn=()=>S(()=>import(\"./LayoutBasic.7c57f411.js\"),[\"assets/LayoutBasic.7c57f411.js\",\"assets/auth.c88ceb4c.js\",\"assets/vendor.d12b5734.js\",\"assets/global.dc565c4e.js\",\"assets/NotificationRoot.5fd2c2c8.js\"]),jn=()=>S(()=>import(\"./LayoutLogin.4f8baaf6.js\"),[\"assets/LayoutLogin.4f8baaf6.js\",\"assets/NotificationRoot.5fd2c2c8.js\",\"assets/vendor.d12b5734.js\"]),wt=()=>S(()=>import(\"./Login.4db30a10.js\"),[\"assets/Login.4db30a10.js\",\"assets/vendor.d12b5734.js\",\"assets/auth.c88ceb4c.js\"]),An=()=>S(()=>import(\"./ForgotPassword.5c338168.js\"),[\"assets/ForgotPassword.5c338168.js\",\"assets/vendor.d12b5734.js\",\"assets/auth.c88ceb4c.js\"]),Dn=()=>S(()=>import(\"./ResetPassword.92fe39b8.js\"),[\"assets/ResetPassword.92fe39b8.js\",\"assets/vendor.d12b5734.js\",\"assets/global.dc565c4e.js\",\"assets/auth.c88ceb4c.js\"]),Cn=()=>S(()=>import(\"./Dashboard.db3b8908.js\"),[\"assets/Dashboard.db3b8908.js\",\"assets/EstimateIcon.7f89fb19.js\",\"assets/vendor.d12b5734.js\",\"assets/global.dc565c4e.js\",\"assets/auth.c88ceb4c.js\",\"assets/BaseTable.ec8995dc.js\"]),Nn=()=>S(()=>import(\"./Index.9afe39cc.js\"),[\"assets/Index.9afe39cc.js\",\"assets/vendor.d12b5734.js\",\"assets/invoice.735a98ac.js\",\"assets/auth.c88ceb4c.js\",\"assets/BaseTable.ec8995dc.js\",\"assets/global.dc565c4e.js\",\"assets/MoonwalkerIcon.b55d3604.js\"]),En=()=>S(()=>import(\"./View.ca01e745.js\"),[\"assets/View.ca01e745.js\",\"assets/vendor.d12b5734.js\",\"assets/invoice.735a98ac.js\",\"assets/auth.c88ceb4c.js\",\"assets/global.dc565c4e.js\"]),In=()=>S(()=>import(\"./Index.7f1d6a8c.js\"),[\"assets/Index.7f1d6a8c.js\",\"assets/vendor.d12b5734.js\",\"assets/BaseTable.ec8995dc.js\",\"assets/global.dc565c4e.js\",\"assets/auth.c88ceb4c.js\",\"assets/estimate.f77ffc39.js\",\"assets/ObservatoryIcon.528a64ab.js\"]),Tn=()=>S(()=>import(\"./View.2505fbc0.js\"),[\"assets/View.2505fbc0.js\",\"assets/vendor.d12b5734.js\",\"assets/estimate.f77ffc39.js\",\"assets/auth.c88ceb4c.js\",\"assets/global.dc565c4e.js\"]),Rn=()=>S(()=>import(\"./Index.17f3f1bc.js\"),[\"assets/Index.17f3f1bc.js\",\"assets/vendor.d12b5734.js\",\"assets/BaseTable.ec8995dc.js\",\"assets/CapsuleIcon.37dfa933.js\",\"assets/payment.e5b74251.js\",\"assets/auth.c88ceb4c.js\",\"assets/global.dc565c4e.js\"]),Mn=()=>S(()=>import(\"./View.1c478abb.js\"),[\"assets/View.1c478abb.js\",\"assets/vendor.d12b5734.js\",\"assets/payment.e5b74251.js\",\"assets/auth.c88ceb4c.js\",\"assets/global.dc565c4e.js\"]),Fn=()=>S(()=>import(\"./SettingsIndex.f5b34c1b.js\"),[\"assets/SettingsIndex.f5b34c1b.js\",\"assets/BaseListItem.3b6ffe7a.js\",\"assets/vendor.d12b5734.js\",\"assets/global.dc565c4e.js\",\"assets/auth.c88ceb4c.js\"]),$n=()=>S(()=>import(\"./CustomerSettings.295ae76d.js\"),[\"assets/CustomerSettings.295ae76d.js\",\"assets/vendor.d12b5734.js\",\"assets/global.dc565c4e.js\",\"assets/auth.c88ceb4c.js\"]),Un=()=>S(()=>import(\"./AddressInformation.7455dbc9.js\"),[\"assets/AddressInformation.7455dbc9.js\",\"assets/vendor.d12b5734.js\",\"assets/global.dc565c4e.js\",\"assets/auth.c88ceb4c.js\"]);var Vn=[{path:\"/:company/customer\",component:jn,meta:{redirectIfAuthenticated:!0},children:[{path:\"\",component:wt},{path:\"login\",component:wt,name:\"customer.login\"},{path:\"forgot-password\",component:An,name:\"customer.forgot-password\"},{path:\"reset/password/:token\",component:Dn,name:\"customer.reset-password\"}]},{path:\"/:company/customer\",component:Sn,meta:{requiresAuth:!0},children:[{path:\"dashboard\",component:Cn,name:\"customer.dashboard\"},{path:\"invoices\",component:Nn,name:\"invoices.dashboard\"},{path:\"invoices/:id/view\",component:En,name:\"customer.invoices.view\"},{path:\"estimates\",component:In,name:\"estimates.dashboard\"},{path:\"estimates/:id/view\",component:Tn,name:\"customer.estimates.view\"},{path:\"payments\",component:Rn,name:\"payments.dashboard\"},{path:\"payments/:id/view\",component:Mn,name:\"customer.payments.view\"},{path:\"settings\",component:Fn,name:\"customer\",children:[{path:\"customer-profile\",component:$n,name:\"customer.profile\"},{path:\"address-info\",component:Un,name:\"customer.address.info\"}]}]}];let Ke=[];Ke=Ke.concat(Pn,Vn);const Re=$t({history:Ut(),linkActiveClass:\"active\",routes:Ke});Re.beforeEach((n,r,o)=>{const a=ve(),t=Te();let i=n.meta.ability;const{isAppLoaded:e}=t;i&&e&&n.meta.requiresAuth?a.hasAbilities(i)?o():o({name:\"account.settings\"}):n.meta.isOwner&&e?a.currentUser.is_owner?o():o({name:\"dashboard\"}):o()});var ee=(n,r)=>{const o=n.__vccOpts||n;for(const[a,t]of r)o[a]=t;return o};const On={};function Ln(n,r){const o=C(\"router-view\"),a=C(\"BaseDialog\");return l(),_(X,null,[u(o),u(a)],64)}var qn=ee(On,[[\"render\",Ln]]);const Bn={dashboard:\"N\\xE1st\\u011Bnka\",customers:\"Z\\xE1kazn\\xEDci\",items:\"Polo\\u017Eky\",invoices:\"Faktury\",\"recurring-invoices\":\"Opakuj\\xEDc\\xED se faktury\",expenses:\"V\\xFDdaje\",estimates:\"Nab\\xEDdky\",payments:\"Platby\",reports:\"Hl\\xE1\\u0161en\\xED\",settings:\"Nastaven\\xED\",logout:\"Odhl\\xE1sit se\",users:\"U\\u017Eivatel\\xE9\",modules:\"Modules\"},Kn={add_company:\"P\\u0159idat firmu\",view_pdf:\"Zobrazit PDF\",copy_pdf_url:\"Kop\\xEDrovat adresu PDF\",download_pdf:\"St\\xE1hnout PDF\",save:\"Ulo\\u017Eit\",create:\"Vytvo\\u0159it\",cancel:\"Zru\\u0161it\",update:\"Aktualizovat\",deselect:\"Odzna\\u010Dit\",download:\"St\\xE1hnout\",from_date:\"Od data\",to_date:\"Do data\",from:\"Od\",to:\"Do\",ok:\"OK\",yes:\"Ano\",no:\"Ne\",sort_by:\"Se\\u0159adit podle\",ascending:\"Vzestupn\\u011B\",descending:\"Sestupn\\u011B\",subject:\"P\\u0159edm\\u011Bt\",body:\"T\\u011Blo\",message:\"Zpr\\xE1va\",send:\"Odeslat\",preview:\"N\\xE1hled\",go_back:\"Vr\\xE1tit se\",back_to_login:\"Zp\\u011Bt na p\\u0159ihl\\xE1\\u0161en\\xED?\",home:\"Dom\\u016F\",filter:\"Filtr\",delete:\"Smazat\",edit:\"Upravit\",view:\"Zobrazit\",add_new_item:\"P\\u0159idat novou polo\\u017Eku\",clear_all:\"Vymazat v\\u0161e\",showing:\"Zobrazuji\",of:\"z\",actions:\"Akce\",subtotal:\"MEZISOU\\u010CET\",discount:\"SLEVA\",fixed:\"Fixn\\xED\",percentage:\"Procentu\\xE1ln\\u011B\",tax:\"DAN\\u011A\",total_amount:\"CELKOV\\xC9 MNO\\u017DSTV\\xCD\",bill_to:\"P\\u0159\\xEDjemce faktury\",ship_to:\"Doru\\u010Dovac\\xED adresa\",due:\"Datum platnosti\",draft:\"Koncept\",sent:\"Odesl\\xE1no\",all:\"V\\u0161e\",select_all:\"Vybrat v\\u0161e\",select_template:\"Vybrat \\u0161ablonu\",choose_file:\"Klikn\\u011Bte zde pro v\\xFDb\\u011Br souboru\",choose_template:\"Zvolit \\u0161ablonu\",choose:\"Vybrat\",remove:\"Odebrat\",select_a_status:\"Vybrat stav\",select_a_tax:\"Vybrat da\\u0148\",search:\"Hledat\",are_you_sure:\"Opravdu?\",list_is_empty:\"Seznam je pr\\xE1zdn\\xFD.\",no_tax_found:\"\\u017D\\xE1dn\\xE1 da\\u0148 nebyla nalezena!\",four_zero_four:\"404\",you_got_lost:\"Jejda! Ztratili jste se!\",go_home:\"N\\xE1vrat dom\\u016F\",test_mail_conf:\"Otestovat konfiguraci mail\\u016F\",send_mail_successfully:\"Mail byl \\xFAsp\\u011B\\u0161n\\u011B odesl\\xE1n\",setting_updated:\"Nastaven\\xED \\xFAsp\\u011B\\u0161n\\u011B aktualizov\\xE1no\",select_state:\"Zvolte st\\xE1t\",select_country:\"Zvolte zemi\",select_city:\"Zvolte m\\u011Bsto\",street_1:\"Ulice 1\",street_2:\"Ulice 2\",action_failed:\"Akce se nezda\\u0159ila\",retry:\"Zkusit znovu\",choose_note:\"Zvolit pozn\\xE1mku\",no_note_found:\"Nebyly nalezeny \\u017E\\xE1dn\\xE9 pozn\\xE1mky\",insert_note:\"Vlo\\u017Eit pozn\\xE1mku\",copied_pdf_url_clipboard:\"Adresa PDF zkop\\xEDrov\\xE1na do schr\\xE1nky!\",copied_url_clipboard:\"Copied url to clipboard!\",docs:\"Dokumentace\",do_you_wish_to_continue:\"P\\u0159ejete si pokra\\u010Dovat?\",note:\"Pozn\\xE1mka\",pay_invoice:\"Pay Invoice\",login_successfully:\"Logged in successfully!\",logged_out_successfully:\"Logged out successfully\",mark_as_default:\"Mark as default\"},Zn={select_year:\"Vybrat rok\",cards:{due_amount:\"\\u010C\\xE1stka k zaplacen\\xED\",customers:\"Z\\xE1kazn\\xEDci\",invoices:\"Faktury\",estimates:\"Odhady\",payments:\"Payments\"},chart_info:{total_sales:\"Slevy\",total_receipts:\"Doklady\",total_expense:\"V\\xFDdaje\",net_income:\"\\u010Cist\\xFD p\\u0159\\xEDjem\",year:\"Vybrat rok\"},monthly_chart:{title:\"Prodeje a v\\xFDdaje\"},recent_invoices_card:{title:\"Splatn\\xE9 faktury\",due_on:\"Splatnost\",customer:\"Z\\xE1kazn\\xEDk\",amount_due:\"Splatn\\xE1 \\u010D\\xE1stka\",actions:\"Akce\",view_all:\"Zobrazit v\\u0161e\"},recent_estimate_card:{title:\"Ned\\xE1vn\\xE9 nab\\xEDdky\",date:\"Datum\",customer:\"Z\\xE1kazn\\xEDk\",amount_due:\"\\u010C\\xE1stka k zaplacen\\xED\",actions:\"Akce\",view_all:\"Zobrazit v\\u0161e\"}},Wn={name:\"Jm\\xE9no\",description:\"Popis\",percent:\"Procento\",compound_tax:\"Kombinovan\\xE1 da\\u0148\"},Hn={search:\"Hledat...\",customers:\"Z\\xE1kazn\\xEDci\",users:\"U\\u017Eivatel\\xE9\",no_results_found:\"Nebyly nalezeny \\u017E\\xE1dn\\xE9 v\\xFDsledky\"},Yn={label:\"P\\u0159epnout firmy\",no_results_found:\"Nebyly nalezeny \\u017E\\xE1dn\\xE9 v\\xFDsledky\",add_new_company:\"P\\u0159idat firmu\",new_company:\"Nov\\xE1 firma\",created_message:\"Firma \\xFAsp\\u011B\\u0161n\\u011B vytvo\\u0159ena\"},Gn={today:\"Dnes\",this_week:\"Tento t\\xFDden\",this_month:\"Tento m\\u011Bs\\xEDc\",this_quarter:\"Toto \\u010Dtvrtlet\\xED\",this_year:\"Tento rok\",previous_week:\"P\\u0159edchoz\\xED t\\xFDden\",previous_month:\"P\\u0159edchoz\\xED m\\u011Bs\\xEDc\",previous_quarter:\"P\\u0159edchoz\\xED \\u010Dtvrtlet\\xED\",previous_year:\"P\\u0159edchoz\\xED rok\",custom:\"Vlastn\\xED\"},Jn={title:\"Z\\xE1kazn\\xEDci\",prefix:\"Prefix\",add_customer:\"P\\u0159idat z\\xE1kazn\\xEDka\",contacts_list:\"Seznam z\\xE1kazn\\xEDk\\u016F\",name:\"Jm\\xE9no\",mail:\"E-mail | E-maily\",statement:\"V\\xFDpis\",display_name:\"Zobrazen\\xE9 jm\\xE9no\",primary_contact_name:\"Jm\\xE9no prim\\xE1rn\\xEDho kontaktu\",contact_name:\"Jm\\xE9no kontaktu\",amount_due:\"\\u010C\\xE1stka k zaplacen\\xED\",email:\"Email\",address:\"Adresa\",phone:\"Telefon\",website:\"Webov\\xE1 str\\xE1nka\",overview:\"P\\u0159ehled\",invoice_prefix:\"Prefix pro faktury\",estimate_prefix:\"Prefix pro odhady\",payment_prefix:\"Prefix pro platby\",enable_portal:\"Povolit port\\xE1l\",country:\"Zem\\u011B\",state:\"St\\xE1t\",city:\"M\\u011Bsto\",zip_code:\"PS\\u010C\",added_on:\"P\\u0159id\\xE1no dne\",action:\"Akce\",password:\"Heslo\",confirm_password:\"Potvrdit heslo\",street_number:\"\\u010C\\xEDslo ulice\",primary_currency:\"Prim\\xE1rn\\xED m\\u011Bna\",description:\"Popis\",add_new_customer:\"P\\u0159idat nov\\xE9ho z\\xE1kazn\\xEDka\",save_customer:\"Ulo\\u017Eit z\\xE1kazn\\xEDka\",update_customer:\"Aktualizovat z\\xE1kazn\\xEDka\",customer:\"Z\\xE1kazn\\xEDk | Z\\xE1kazn\\xEDci\",new_customer:\"Nov\\xFD z\\xE1kazn\\xEDk\",edit_customer:\"Upravit z\\xE1kazn\\xEDka\",basic_info:\"Z\\xE1kladn\\xED informace\",portal_access:\"Portal Access\",portal_access_text:\"Would you like to allow this customer to login to the Customer Portal?\",portal_access_url:\"Customer Portal Login URL\",portal_access_url_help:\"Please copy & forward the above given URL to your customer for providing access.\",billing_address:\"Faktura\\u010Dn\\xED adresa\",shipping_address:\"Doru\\u010Dovac\\xED adresa\",copy_billing_address:\"Zkop\\xEDrovat z fakturace\",no_customers:\"Dosud \\u017E\\xE1dn\\xED z\\xE1kazn\\xEDci!\",no_customers_found:\"Nebyli nalezeni \\u017E\\xE1dn\\xED z\\xE1kazn\\xEDci!\",no_contact:\"\\u017D\\xE1dn\\xFD kontakt\",no_contact_name:\"Bez jm\\xE9na kontaktu\",list_of_customers:\"Tato sekce bude obsahovat seznam z\\xE1kazn\\xEDk\\u016F.\",primary_display_name:\"Prim\\xE1rn\\xED zobrazovan\\xE9 jm\\xE9no\",select_currency:\"Vybrat m\\u011Bnu\",select_a_customer:\"Vybrat z\\xE1kazn\\xEDka\",type_or_click:\"Zadejte nebo klikn\\u011Bte pro v\\xFDb\\u011Br\",new_transaction:\"Nov\\xE1 transakce\",no_matching_customers:\"Neexistuj\\xED \\u017E\\xE1dn\\xED odpov\\xEDdaj\\xEDc\\xED z\\xE1kazn\\xEDci!\",phone_number:\"Telefonn\\xED \\u010D\\xEDslo\",create_date:\"Datum vytvo\\u0159en\\xED\",confirm_delete:\"Nebudete moci obnovit tohoto z\\xE1kazn\\xEDka a v\\u0161echny jeho faktury, odhady a platby. | Nebudete moci obnovit tyto z\\xE1kazn\\xEDky a v\\u0161echny jejich faktury, odhady a platby.\",created_message:\"Z\\xE1kazn\\xEDk \\xFAsp\\u011B\\u0161n\\u011B vytvo\\u0159en\",updated_message:\"Z\\xE1kazn\\xEDk \\xFAsp\\u011B\\u0161n\\u011B upraven\",address_updated_message:\"Address Information Updated succesfully\",deleted_message:\"Z\\xE1kazn\\xEDk \\xFAsp\\u011B\\u0161n\\u011B smaz\\xE1n | Z\\xE1kazn\\xEDci \\xFAsp\\u011B\\u0161n\\u011B smaz\\xE1ni\",edit_currency_not_allowed:\"Po vytvo\\u0159en\\xED transakce nelze zm\\u011Bnit m\\u011Bnu.\"},Qn={title:\"Polo\\u017Eky\",items_list:\"Seznam polo\\u017Eek\",name:\"N\\xE1zev\",unit:\"Jednotka\",description:\"Popis\",added_on:\"P\\u0159id\\xE1no\",price:\"Cena\",date_of_creation:\"Datum vytvo\\u0159en\\xED\",not_selected:\"Nen\\xED vybr\\xE1na \\u017E\\xE1dn\\xE1 polo\\u017Eka\",action:\"Akce\",add_item:\"P\\u0159idat polo\\u017Eku\",save_item:\"Ulo\\u017Eit polo\\u017Eku\",update_item:\"Aktualizovat polo\\u017Eku\",item:\"Polo\\u017Eka | Polo\\u017Eky\",add_new_item:\"P\\u0159idat novou polo\\u017Eku\",new_item:\"Nov\\xE1 polo\\u017Eka\",edit_item:\"Upravit polo\\u017Eku\",no_items:\"Zat\\xEDm \\u017E\\xE1dn\\xE9 polo\\u017Eky!\",list_of_items:\"Tato sekce bude obsahovat seznam polo\\u017Eek.\",select_a_unit:\"vyberte jednotku\",taxes:\"Dan\\u011B\",item_attached_message:\"Nelze odstranit polo\\u017Eku, kter\\xE1 se ji\\u017E pou\\u017E\\xEDv\\xE1\",confirm_delete:\"Nebudete moci obnovit tuto polo\\u017Eku | Nebudete moci obnovit tyto polo\\u017Eky\",created_message:\"Polo\\u017Eka byla \\xFAsp\\u011B\\u0161n\\u011B vytvo\\u0159ena\",updated_message:\"Polo\\u017Eka \\xFAsp\\u011B\\u0161n\\u011B upravena\",deleted_message:\"Polo\\u017Eka byla \\xFAsp\\u011B\\u0161n\\u011B odstran\\u011Bna | Polo\\u017Eky byly \\xFAsp\\u011B\\u0161n\\u011B odstran\\u011Bny\"},Xn={title:\"Odhady\",accept_estimate:\"Accept Estimate\",reject_estimate:\"Reject Estimate\",estimate:\"Odhad | Odhady\",estimates_list:\"Seznam odhad\\u016F\",days:\"{days} dn\\xED\",months:\"{months} m\\u011Bs\\xEDc\",years:\"{years} rok\",all:\"V\\u0161e\",paid:\"Zaplacen\\xE9\",unpaid:\"Neplacen\\xE9\",customer:\"Z\\xC1KAZN\\xCDK\",ref_no:\"REFEREN\\u010CN\\xCD \\u010C\\xCDSLO\",number:\"\\u010C\\xCDSLO\",amount_due:\"\\u010C\\xC1STKA K ZAPLACEN\\xCD\",partially_paid:\"\\u010C\\xE1ste\\u010Dn\\u011B zaplaceno\",total:\"Celkem\",discount:\"Sleva\",sub_total:\"Mezisou\\u010Det\",estimate_number:\"Odhadovan\\xE9 \\u010D\\xEDslo\",ref_number:\"Referen\\u010Dn\\xED \\u010D\\xEDslo\",contact:\"Kontakt\",add_item:\"P\\u0159idat polo\\u017Eku\",date:\"Datum\",due_date:\"Datum splatnosti\",expiry_date:\"Datum expirace\",status:\"Stav\",add_tax:\"P\\u0159idat da\\u0148\",amount:\"\\u010C\\xE1stka\",action:\"Akce\",notes:\"Pozn\\xE1mky\",tax:\"Da\\u0148\",estimate_template:\"\\u0160ablona\",convert_to_invoice:\"P\\u0159ev\\xE9st na fakturu\",mark_as_sent:\"Ozna\\u010Dit jako odeslan\\xE9\",send_estimate:\"Odeslat odhad\",resend_estimate:\"Znovu odeslat odhad\",record_payment:\"Zaznamenat platbu\",add_estimate:\"P\\u0159idat odhad\",save_estimate:\"Ulo\\u017Eit odhad\",confirm_conversion:\"Tento odhad bude pou\\u017Eit k vytvo\\u0159en\\xED nov\\xE9 faktury.\",conversion_message:\"Faktura byla \\xFAsp\\u011B\\u0161n\\u011B vytvo\\u0159ena\",confirm_send_estimate:\"Tento odhad bude zasl\\xE1n e-mailem z\\xE1kazn\\xEDkovi\",confirm_mark_as_sent:\"Tento odhad bude ozna\\u010Den jako odeslan\\xFD\",confirm_mark_as_accepted:\"Tento odhad bude ozna\\u010Den jako P\\u0159ijat\\xFD\",confirm_mark_as_rejected:\"Tento odhad bude ozna\\u010Den jako Odm\\xEDtnut\\xFD\",no_matching_estimates:\"Neexistuj\\xED \\u017E\\xE1dn\\xE9 odpov\\xEDdaj\\xEDc\\xED odhady!\",mark_as_sent_successfully:\"Odhad byl ozna\\u010Den jako \\xFAsp\\u011B\\u0161n\\u011B odesl\\xE1n\",send_estimate_successfully:\"Odhad byl \\xFAsp\\u011B\\u0161n\\u011B odesl\\xE1n\",errors:{required:\"Pole je povinn\\xE9\"},accepted:\"P\\u0159ijato\",rejected:\"Odm\\xEDtnuto\",expired:\"Expired\",sent:\"Odesl\\xE1no\",draft:\"Koncept\",viewed:\"Viewed\",declined:\"Odm\\xEDtnuto\",new_estimate:\"Nov\\xFD odhad\",add_new_estimate:\"P\\u0159idat nov\\xFD odhad\",update_Estimate:\"Aktualizovat odhad\",edit_estimate:\"Upravit odhad\",items:\"polo\\u017Eky\",Estimate:\"Odhad | Odhady\",add_new_tax:\"P\\u0159idat novou da\\u0148\",no_estimates:\"Zat\\xEDm \\u017E\\xE1dn\\xE9 odhady!\",list_of_estimates:\"Tato sekce bude obsahovat seznam odhad\\u016F.\",mark_as_rejected:\"Ozna\\u010Dit jako odm\\xEDtnut\\xE9\",mark_as_accepted:\"Ozna\\u010Dit jako p\\u0159ijat\\xE9\",marked_as_accepted_message:\"Odhad ozna\\u010Den jako p\\u0159ijat\\xFD\",marked_as_rejected_message:\"Odhad ozna\\u010Den jako odm\\xEDtnut\\xFD\",confirm_delete:\"Nebudete moci obnovit tento odhad | Nebudete moci obnovit tyto odhady\",created_message:\"Odhad \\xFAsp\\u011B\\u0161n\\u011B vytvo\\u0159en\",updated_message:\"Odhad \\xFAsp\\u011B\\u0161n\\u011B upraven\",deleted_message:\"Odhad \\xFAsp\\u011B\\u0161n\\u011B odstran\\u011Bn | Odhady \\xFAsp\\u011B\\u0161n\\u011B odstran\\u011Bny\",something_went_wrong:\"n\\u011Bco se nezda\\u0159ilo\",item:{title:\"N\\xE1zev polo\\u017Eky\",description:\"Popis\",quantity:\"Mno\\u017Estv\\xED\",price:\"Cena\",discount:\"Sleva\",total:\"Celkem\",total_discount:\"Celkov\\xE1 sleva\",sub_total:\"Mezisou\\u010Det\",tax:\"Da\\u0148\",amount:\"Mno\\u017Estv\\xED\",select_an_item:\"Pi\\u0161te nebo klikn\\u011Bte pro v\\xFDb\\u011Br polo\\u017Eky\",type_item_description:\"Zadejte popis polo\\u017Eky (voliteln\\xE9)\"},mark_as_default_estimate_template_description:\"If enabled, the selected template will be automatically selected for new estimates.\"},ei={title:\"Faktury\",download:\"Download\",pay_invoice:\"Pay Invoice\",invoices_list:\"Seznam faktur\",invoice_information:\"Invoice Information\",days:\"{days} dn\\xED\",months:\"{months} m\\u011Bs\\xEDc\",years:\"{years} rok\",all:\"V\\u0161e\",paid:\"Zaplacen\\xE9\",unpaid:\"Neplacen\\xE9\",viewed:\"Zobrazen\\xE9\",overdue:\"Po splatnosti\",completed:\"Dokon\\u010Den\\xE9\",customer:\"Z\\xC1KAZN\\xCDK\",paid_status:\"STAV PLATBY\",ref_no:\"REFEREN\\u010CN\\xCD \\u010C\\xCDSLO\",number:\"\\u010C\\xCDSLO\",amount_due:\"\\u010C\\xC1STKA K ZAPLACEN\\xCD\",partially_paid:\"\\u010C\\xE1ste\\u010Dn\\u011B zaplaceno\",total:\"Celkem\",discount:\"Sleva\",sub_total:\"Mezisou\\u010Det\",invoice:\"Faktura | Faktury\",invoice_number:\"\\u010C\\xEDslo faktury\",ref_number:\"Referen\\u010Dn\\xED \\u010D\\xEDslo\",contact:\"Kontakt\",add_item:\"P\\u0159idat polo\\u017Eku\",date:\"Datum\",due_date:\"Datum splatnosti\",status:\"Stav\",add_tax:\"P\\u0159idat da\\u0148\",amount:\"\\u010C\\xE1stka\",action:\"Akce\",notes:\"Pozn\\xE1mky\",view:\"Zobrazit\",send_invoice:\"Odeslat fakturu\",resend_invoice:\"Znovu odeslat fakturu\",invoice_template:\"\\u0160ablona faktury\",conversion_message:\"Faktura byla \\xFAsp\\u011B\\u0161n\\u011B naklonov\\xE1na\",template:\"Vybrat \\u0161ablonu\",mark_as_sent:\"Ozna\\u010Dit jako odeslan\\xE9\",confirm_send_invoice:\"Tato faktura bude zasl\\xE1na e-mailem z\\xE1kazn\\xEDkovi\",invoice_mark_as_sent:\"Tato faktura bude ozna\\u010Dena jako odeslan\\xE1\",confirm_mark_as_accepted:\"Tato faktura bude ozna\\u010Dena jako p\\u0159ijat\\xE1\",confirm_mark_as_rejected:\"Tato faktura bude ozna\\u010Dena jako odm\\xEDtnut\\xE1\",confirm_send:\"Tato faktura bude zasl\\xE1na e-mailem z\\xE1kazn\\xEDkovi\",invoice_date:\"Datum fakturace\",record_payment:\"Zaznamenat platbu\",add_new_invoice:\"P\\u0159idat novou fakturu\",update_expense:\"Aktualizovat v\\xFDdaj\",edit_invoice:\"Upravit fakturu\",new_invoice:\"Nov\\xE1 faktura\",save_invoice:\"Ulo\\u017Eit fakturu\",update_invoice:\"Upravit fakturu\",add_new_tax:\"P\\u0159idat novou da\\u0148\",no_invoices:\"Zat\\xEDm \\u017E\\xE1dn\\xE9 faktury!\",mark_as_rejected:\"Ozna\\u010Dit jako odm\\xEDtnut\\xE9\",mark_as_accepted:\"Ozna\\u010Dit jako p\\u0159ijat\\xE9\",list_of_invoices:\"Tato sekce bude obsahovat seznam faktur.\",select_invoice:\"Vybrat fakturu\",no_matching_invoices:\"Neexistuj\\xED \\u017E\\xE1dn\\xE9 odpov\\xEDdaj\\xEDc\\xED faktury!\",mark_as_sent_successfully:\"Faktura ozna\\u010Dena jako \\xFAsp\\u011B\\u0161n\\u011B odeslan\\xE1\",invoice_sent_successfully:\"Faktura byla \\xFAsp\\u011B\\u0161n\\u011B odesl\\xE1na\",cloned_successfully:\"Faktura \\xFAsp\\u011B\\u0161n\\u011B naklonov\\xE1na\",clone_invoice:\"Naklonovat fakturu\",confirm_clone:\"Tato faktura bude naklonov\\xE1na do nov\\xE9 faktury\",item:{title:\"N\\xE1zev polo\\u017Eky\",description:\"Popis\",quantity:\"Mno\\u017Estv\\xED\",price:\"Cena\",discount:\"Sleva\",total:\"Celkem\",total_discount:\"Celkov\\xE1 sleva\",sub_total:\"Mezisou\\u010Det\",tax:\"Da\\u0148\",amount:\"Mno\\u017Estv\\xED\",select_an_item:\"Pi\\u0161te nebo klikn\\u011Bte pro v\\xFDb\\u011Br polo\\u017Eky\",type_item_description:\"Zadejte popis polo\\u017Eky (voliteln\\xE9)\"},payment_attached_message:\"Na jedn\\xE9 z vybran\\xFDch faktur je ji\\u017E p\\u0159ilo\\u017Eena platba. Nezapome\\u0148te nejprve odstranit p\\u0159ipojen\\xE9 platby, abyste mohli pokra\\u010Dovat s odstran\\u011Bn\\xEDm\",confirm_delete:\"Nebudete moci obnovit tuto fakturu | Nebudete moci obnovit tyto faktury\",created_message:\"Faktura byla \\xFAsp\\u011B\\u0161n\\u011B vytvo\\u0159ena\",updated_message:\"Faktura byla \\xFAsp\\u011B\\u0161n\\u011B upravena\",deleted_message:\"Faktura byla \\xFAsp\\u011B\\u0161n\\u011B odstran\\u011Bna | Faktury byly \\xFAsp\\u011B\\u0161n\\u011B odstran\\u011Bny\",marked_as_sent_message:\"Faktura ozna\\u010Dena jako \\xFAsp\\u011B\\u0161n\\u011B odeslan\\xE1\",something_went_wrong:\"n\\u011Bco se nezda\\u0159ilo\",invalid_due_amount_message:\"Celkov\\xE1 \\u010D\\xE1stka faktury nem\\u016F\\u017Ee b\\xFDt ni\\u017E\\u0161\\xED ne\\u017E celkov\\xE1 \\u010D\\xE1stka zaplacen\\xE1 za tuto fakturu. Chcete-li pokra\\u010Dovat, upravte fakturu nebo sma\\u017Ete souvisej\\xEDc\\xED platby.\",mark_as_default_invoice_template_description:\"If enabled, the selected template will be automatically selected for new invoices.\"},ti={title:\"Opakuj\\xEDc\\xED se faktury\",invoices_list:\"Seznam opakuj\\xEDc\\xEDch se faktur\",days:\"{days} dn\\xED\",months:\"{months} m\\u011Bs\\xEDc\",years:\"{years} rok\",all:\"V\\u0161echny\",paid:\"Zaplacen\\xE9\",unpaid:\"Neplacen\\xE9\",viewed:\"Zobrazen\\xE9\",overdue:\"Po splatnosti\",active:\"Aktivn\\xED\",completed:\"Dokon\\u010Den\\xE9\",customer:\"Z\\xC1KAZN\\xCDK\",paid_status:\"STAV PLATBY\",ref_no:\"REFEREN\\u010CN\\xCD \\u010C\\xCDSLO\",number:\"\\u010C\\xCDSLO\",amount_due:\"\\u010C\\xC1STKA K ZAPLACEN\\xCD\",partially_paid:\"\\u010C\\xE1ste\\u010Dn\\u011B zaplaceno\",total:\"Celkem\",discount:\"Sleva\",sub_total:\"Mezisou\\u010Det\",invoice:\"Opakuj\\xEDc\\xED se faktura | Opakuj\\xEDc\\xED se faktury\",invoice_number:\"\\u010C\\xEDslo opakuj\\xEDc\\xED se faktury\",next_invoice_date:\"Datum dal\\u0161\\xED fakturace\",ref_number:\"Referen\\u010Dn\\xED \\u010D\\xEDslo\",contact:\"Kontakt\",add_item:\"P\\u0159idat polo\\u017Eku\",date:\"Datum\",limit_by:\"Omezit podle\",limit_date:\"Omezit datum\",limit_count:\"Omezit po\\u010Det\",count:\"Po\\u010Det\",status:\"Stav\",select_a_status:\"Vyberte stav\",working:\"Pracuje\",on_hold:\"\\u010Cekaj\\xEDc\\xED\",complete:\"Dokon\\u010Deno\",add_tax:\"P\\u0159idat da\\u0148\",amount:\"Mno\\u017Estv\\xED\",action:\"Akce\",notes:\"Pozn\\xE1mky\",view:\"Zobrazit\",basic_info:\"Z\\xE1kladn\\xED informace\",send_invoice:\"Odeslat opakuj\\xEDc\\xED se fakturu\",auto_send:\"Automaticky odeslat\",resend_invoice:\"Znovu odeslat opakuj\\xEDc\\xED se fakturu\",invoice_template:\"\\u0160ablona opakuj\\xEDc\\xED se faktury\",conversion_message:\"Opakuj\\xEDc\\xED se faktura byla \\xFAsp\\u011B\\u0161n\\u011B naklonov\\xE1na\",template:\"\\u0160ablona\",mark_as_sent:\"Ozna\\u010Dit jako odeslan\\xE9\",confirm_send_invoice:\"Tato opakuj\\xEDc\\xED se faktura bude odesl\\xE1na e-mailem z\\xE1kazn\\xEDkovi\",invoice_mark_as_sent:\"Tato opakuj\\xEDc\\xED se faktura bude ozna\\u010Dena jako odeslan\\xE1\",confirm_send:\"Tato opakuj\\xEDc\\xED se faktura bude odesl\\xE1na e-mailem z\\xE1kazn\\xEDkovi\",starts_at:\"Po\\u010D\\xE1te\\u010Dn\\xED datum\",due_date:\"Splatnost faktury\",record_payment:\"Zaznamenat platbu\",add_new_invoice:\"P\\u0159idat novou opakuj\\xEDc\\xED se fakturu\",update_expense:\"Aktualizovat v\\xFDdaje\",edit_invoice:\"Upravit opakuj\\xEDc\\xED se fakturu\",new_invoice:\"P\\u0159idat novou opakuj\\xEDc\\xED se fakturu\",send_automatically:\"Odeslat automaticky\",send_automatically_desc:\"Povolte, pokud chcete automaticky odeslat fakturu z\\xE1kazn\\xEDkovi po jej\\xEDm vytvo\\u0159en\\xED.\",save_invoice:\"Ulo\\u017Eit opakuj\\xEDc\\xED se fakturu\",update_invoice:\"Upravit opakuj\\xEDc\\xED se fakturu\",add_new_tax:\"P\\u0159idat novou da\\u0148\",no_invoices:\"Zat\\xEDm \\u017E\\xE1dn\\xE9 opakuj\\xEDc\\xED se faktury!\",mark_as_rejected:\"Ozna\\u010Dit jako odm\\xEDtnut\\xE9\",mark_as_accepted:\"Ozna\\u010Dit jako p\\u0159ijat\\xE9\",list_of_invoices:\"Tato sekce bude obsahovat seznam opakuj\\xEDc\\xEDch se faktur.\",select_invoice:\"Vybrat fakturu\",no_matching_invoices:\"Neexistuj\\xED \\u017E\\xE1dn\\xE9 odpov\\xEDdaj\\xEDc\\xED opakuj\\xEDc\\xED se faktury!\",mark_as_sent_successfully:\"Opakuj\\xEDc\\xED se faktura ozna\\u010Dena jako \\xFAsp\\u011B\\u0161n\\u011B odeslan\\xE1\",invoice_sent_successfully:\"Opakuj\\xEDc\\xED se faktura byla \\xFAsp\\u011B\\u0161n\\u011B odesl\\xE1na\",cloned_successfully:\"Opakuj\\xEDc\\xED se faktura \\xFAsp\\u011B\\u0161n\\u011B naklonov\\xE1na\",clone_invoice:\"Naklonovat opakuj\\xEDc\\xED se fakturu\",confirm_clone:\"Tato opakuj\\xEDc\\xED se faktura bude naklonov\\xE1na do nov\\xE9 opakuj\\xEDc\\xED se faktury\",add_customer_email:\"Please add an email address for this customer to send invoices automatically.\",item:{title:\"N\\xE1zev polo\\u017Eky\",description:\"Popis\",quantity:\"Mno\\u017Estv\\xED\",price:\"Cena\",discount:\"Sleva\",total:\"Celkem\",total_discount:\"Celkov\\xE1 sleva\",sub_total:\"Mezisou\\u010Det\",tax:\"Da\\u0148\",amount:\"Mno\\u017Estv\\xED\",select_an_item:\"Pi\\u0161te nebo klikn\\u011Bte pro v\\xFDb\\u011Br polo\\u017Eky\",type_item_description:\"Zadejte popis polo\\u017Eky (voliteln\\xE9)\"},frequency:{title:\"\\u010Cetnost\",select_frequency:\"Vybrat \\u010Detnost\",minute:\"Minuta\",hour:\"Hodina\",day_month:\"Den v m\\u011Bs\\xEDci\",month:\"M\\u011Bs\\xEDc\",day_week:\"Den v t\\xFDdnu\"},confirm_delete:\"Nebudete moci obnovit tuto fakturu | Nebudete moci obnovit tyto faktury\",created_message:\"Opakuj\\xEDc\\xED se faktura byla \\xFAsp\\u011B\\u0161n\\u011B vytvo\\u0159ena\",updated_message:\"Opakuj\\xEDc\\xED se faktura \\xFAsp\\u011B\\u0161n\\u011B upravena\",deleted_message:\"Opakuj\\xEDc\\xED se faktura \\xFAsp\\u011B\\u0161n\\u011B smaz\\xE1na | Opakuj\\xEDc\\xED se faktury \\xFAsp\\u011B\\u0161n\\u011B odstran\\u011Bny\",marked_as_sent_message:\"Opakuj\\xEDc\\xED se faktura ozna\\u010Dena jako \\xFAsp\\u011B\\u0161n\\u011B odesl\\xE1na\",user_email_does_not_exist:\"E-mail u\\u017Eivatele neexistuje\",something_went_wrong:\"n\\u011Bco se nezda\\u0159ilo\",invalid_due_amount_message:\"Celkov\\xE1 \\u010D\\xE1stka opakovan\\xE9 faktury nem\\u016F\\u017Ee b\\xFDt ni\\u017E\\u0161\\xED ne\\u017E celkov\\xE1 \\u010D\\xE1stka zaplacen\\xE1 za tuto opakuj\\xEDc\\xED se fakturu. Pro pokra\\u010Dov\\xE1n\\xED aktualizujte fakturu nebo odstra\\u0148te souvisej\\xEDc\\xED platby.\"},ai={title:\"Platby\",payments_list:\"Seznam plateb\",record_payment:\"Zaznamenat platbu\",customer:\"Z\\xE1kazn\\xEDk\",date:\"Datum\",amount:\"Mno\\u017Estv\\xED\",action:\"Akce\",payment_number:\"\\u010C\\xEDslo platby\",payment_mode:\"Platebn\\xED metoda\",invoice:\"Faktura\",note:\"Pozn\\xE1mka\",add_payment:\"P\\u0159idat platbu\",new_payment:\"Nov\\xE1 platba\",edit_payment:\"Upravit platbu\",view_payment:\"Zobrazit platbu\",add_new_payment:\"P\\u0159idat novou platbu\",send_payment_receipt:\"Odeslat potvrzen\\xED o platb\\u011B\",send_payment:\"Odeslat platbu\",save_payment:\"Ulo\\u017Eit platbu\",update_payment:\"Upravit platbu\",payment:\"Platba | Platby\",no_payments:\"Zat\\xEDm \\u017E\\xE1dn\\xE9 platby!\",not_selected:\"Nevybr\\xE1no\",no_invoice:\"\\u017D\\xE1dn\\xE1 faktura\",no_matching_payments:\"Neexistuj\\xED \\u017E\\xE1dn\\xE9 odpov\\xEDdaj\\xEDc\\xED platby!\",list_of_payments:\"Tato sekce bude obsahovat seznam plateb.\",select_payment_mode:\"Vyberte platebn\\xED metodu\",confirm_mark_as_sent:\"Tento odhad bude ozna\\u010Den jako odeslan\\xFD\",confirm_send_payment:\"Tato platba bude odesl\\xE1na e-mailem z\\xE1kazn\\xEDkovi\",send_payment_successfully:\"Platba byla \\xFAsp\\u011B\\u0161n\\u011B odesl\\xE1na\",something_went_wrong:\"n\\u011Bco se nezda\\u0159ilo\",confirm_delete:\"Tuto platbu nebudete moci obnovit | Tyto platby nebudete moci obnovit\",created_message:\"Platba \\xFAsp\\u011B\\u0161n\\u011B vytvo\\u0159ena\",updated_message:\"Platba \\xFAsp\\u011B\\u0161n\\u011B upravena\",deleted_message:\"Platba \\xFAsp\\u011B\\u0161n\\u011B odstran\\u011Bna | Platby \\xFAsp\\u011B\\u0161n\\u011B odstran\\u011Bny\",invalid_amount_message:\"\\u010C\\xE1stka platby je neplatn\\xE1\"},ni={title:\"V\\xFDdaje\",expenses_list:\"Seznam v\\xFDdaj\\u016F\",select_a_customer:\"Vyberte z\\xE1kazn\\xEDka\",expense_title:\"Nadpis\",customer:\"Z\\xE1kazn\\xEDk\",currency:\"M\\u011Bna\",contact:\"Kontakt\",category:\"Kategorie\",from_date:\"Od data\",to_date:\"Do data\",expense_date:\"Datum\",description:\"Popis\",receipt:\"Doklad\",amount:\"\\u010C\\xE1stka\",action:\"Akce\",not_selected:\"Nevybr\\xE1no\",note:\"Pozn\\xE1mka\",category_id:\"ID kategorie\",date:\"Datum\",add_expense:\"P\\u0159idat v\\xFDdaj\",add_new_expense:\"P\\u0159idat nov\\xFD v\\xFDdaj\",save_expense:\"Ulo\\u017Eit v\\xFDdaj\",update_expense:\"Upravit v\\xFDdaj\",download_receipt:\"St\\xE1hnout doklad\",edit_expense:\"Upravit v\\xFDdaj\",new_expense:\"Nov\\xFD v\\xFDdaj\",expense:\"V\\xFDdaj | V\\xFDdaje\",no_expenses:\"Zat\\xEDm \\u017E\\xE1dn\\xE9 v\\xFDdaje!\",list_of_expenses:\"Tato sekce bude obsahovat seznam v\\xFDdaj\\u016F.\",confirm_delete:\"Nebudete moci obnovit tento v\\xFDdaj | Nebudete moci obnovit tyto v\\xFDdaje\",created_message:\"V\\xFDdaj \\xFAsp\\u011B\\u0161n\\u011B vytvo\\u0159en\",updated_message:\"V\\xFDdaj \\xFAsp\\u011B\\u0161n\\u011B aktualizov\\xE1n\",deleted_message:\"V\\xFDdaj byl \\xFAsp\\u011B\\u0161n\\u011B odstran\\u011Bn | V\\xFDdaje byly \\xFAsp\\u011B\\u0161n\\u011B odstran\\u011Bny\",categories:{categories_list:\"Seznam kategori\\xED\",title:\"Nadpis\",name:\"N\\xE1zev\",description:\"Popis\",amount:\"Mno\\u017Estv\\xED\",actions:\"Akce\",add_category:\"P\\u0159idat kategorii\",new_category:\"Nov\\xE1 kategorie\",category:\"Kategorie | Kategorie\",select_a_category:\"Vyberte kategorii\"}},ii={email:\"E-mail\",password:\"Heslo\",forgot_password:\"Zapomn\\u011Bli jste heslo?\",or_signIn_with:\"nebo se p\\u0159ihla\\u0161te pomoc\\xED\",login:\"P\\u0159ihl\\xE1\\u0161en\\xED\",register:\"Registrace\",reset_password:\"Obnovit heslo\",password_reset_successfully:\"Obnoven\\xED hesla prob\\u011Bhlo \\xFAsp\\u011B\\u0161n\\u011B\",enter_email:\"Zadejte e-mail\",enter_password:\"Zadejte heslo\",retype_password:\"Zadejte heslo znovu\"},oi={buy_now:\"Buy Now\",install:\"Install\",price:\"Price\",download_zip_file:\"Download ZIP file\",unzipping_package:\"Unzipping Package\",copying_files:\"Copying Files\",deleting_files:\"Deleting Unused files\",completing_installation:\"Completing Installation\",update_failed:\"Update Failed\",install_success:\"Module has been installed successfully!\",customer_reviews:\"Reviews\",license:\"License\",faq:\"FAQ\",monthly:\"Monthly\",yearly:\"Yearly\",updated:\"Updated\",version:\"Version\",disable:\"Disable\",module_disabled:\"Module Disabled\",enable:\"Enable\",module_enabled:\"Module Enabled\",update_to:\"Update To\",module_updated:\"Module Updated Successfully!\",title:\"Modules\",module:\"Module | Modules\",api_token:\"API token\",invalid_api_token:\"Invalid API Token.\",other_modules:\"Other Modules\",view_all:\"View All\",no_reviews_found:\"There are no reviews for this module yet!\",module_not_purchased:\"Module Not Purchased\",module_not_found:\"Module Not Found\",version_not_supported:\"This module version doesn't support the current version of Crater\",last_updated:\"Last Updated On\",connect_installation:\"Connect your installation\",api_token_description:\"Login to {url} and connect this installation by entering the API Token. Your purchased modules will show up here after the connection is established.\",view_module:\"View Module\",update_available:\"Update Available\",purchased:\"Purchased\",installed:\"Installed\",no_modules_installed:\"No Modules Installed Yet!\",disable_warning:\"All the settings for this particular will be reverted.\",what_you_get:\"What you get\"},si={title:\"U\\u017Eivatel\\xE9\",users_list:\"Seznam u\\u017Eivatel\\u016F\",name:\"Jm\\xE9no\",description:\"Popis\",added_on:\"P\\u0159id\\xE1no dne\",date_of_creation:\"Datum vytvo\\u0159en\\xED\",action:\"Akce\",add_user:\"P\\u0159idat u\\u017Eivatele\",save_user:\"Ulo\\u017Eit u\\u017Eivatele\",update_user:\"Upravit u\\u017Eivatele\",user:\"U\\u017Eivatel | U\\u017Eivatel\\xE9\",add_new_user:\"P\\u0159idat nov\\xE9ho u\\u017Eivatele\",new_user:\"Nov\\xFD u\\u017Eivatel\",edit_user:\"Upravit u\\u017Eivatele\",no_users:\"Zat\\xEDm \\u017E\\xE1dn\\xED u\\u017Eivatel\\xE9!\",list_of_users:\"Tato sekce bude obsahovat seznam u\\u017Eivatel\\u016F.\",email:\"E-mail\",phone:\"Telefon\",password:\"Heslo\",user_attached_message:\"Nelze odstranit polo\\u017Eku, kter\\xE1 se ji\\u017E pou\\u017E\\xEDv\\xE1\",confirm_delete:\"Nebudete moci obnovit tohoto u\\u017Eivatele | Nebudete schopni obnovit tyto u\\u017Eivatele\",created_message:\"U\\u017Eivatel byl \\xFAsp\\u011B\\u0161n\\u011B vytvo\\u0159en\",updated_message:\"U\\u017Eivatel byl \\xFAsp\\u011B\\u0161n\\u011B upraven\",deleted_message:\"U\\u017Eivatel byl \\xFAsp\\u011B\\u0161n\\u011B odstran\\u011Bn | U\\u017Eivatel\\xE9 byli \\xFAsp\\u011B\\u0161n\\u011B odstran\\u011Bni\",select_company_role:\"Vyberte roli pro {company}\",companies:\"Spole\\u010Dnosti\"},ri={title:\"Report\",from_date:\"Datum od\",to_date:\"Do data\",status:\"Stav\",paid:\"Zaplaceno\",unpaid:\"Nezaplaceno\",download_pdf:\"St\\xE1hnout PDF\",view_pdf:\"Zobrazit PDF\",update_report:\"Upravit report\",report:\"Report | Reporty\",profit_loss:{profit_loss:\"Zisk a ztr\\xE1ta\",to_date:\"Do data\",from_date:\"Od data\",date_range:\"Vybrat \\u010Dasov\\xFD rozsah\"},sales:{sales:\"Prodeje\",date_range:\"Vybrat \\u010Dasov\\xFD rozsah\",to_date:\"Do data\",from_date:\"Od data\",report_type:\"Typ reportu\"},taxes:{taxes:\"Dan\\u011B\",to_date:\"Do data\",from_date:\"Od data\",date_range:\"Vybrat \\u010Dasov\\xFD rozsah\"},errors:{required:\"Pole je povinn\\xE9\"},invoices:{invoice:\"Faktura\",invoice_date:\"Datum fakturace\",due_date:\"Datum splatnosti\",amount:\"Mno\\u017Estv\\xED\",contact_name:\"Jm\\xE9no kontaktu\",status:\"Stav\"},estimates:{estimate:\"Odhad\",estimate_date:\"Datum odhadu\",due_date:\"Datum splatnosti\",estimate_number:\"\\u010C\\xEDslo odhadu\",ref_number:\"Referen\\u010Dn\\xED \\u010D\\xEDslo\",amount:\"Mno\\u017Estv\\xED\",contact_name:\"Jm\\xE9no kontaktu\",status:\"Stav\"},expenses:{expenses:\"V\\xFDdaje\",category:\"Kategorie\",date:\"Datum\",amount:\"Mno\\u017Estv\\xED\",to_date:\"Do data\",from_date:\"Od data\",date_range:\"Vyberte rozsah data\"}},di={menu_title:{account_settings:\"Nastaven\\xED \\xFA\\u010Dtu\",company_information:\"Informace o spole\\u010Dnosti\",customization:\"P\\u0159izp\\u016Fsoben\\xED\",preferences:\"Preference\",notifications:\"Ozn\\xE1men\\xED\",tax_types:\"Typy dan\\xED\",expense_category:\"Kategorie v\\xFDdaj\\u016F\",update_app:\"Aktualizace aplikace\",backup:\"Z\\xE1lohov\\xE1n\\xED\",file_disk:\"Souborov\\xFD disk\",custom_fields:\"Vlastn\\xED pole\",payment_modes:\"Zp\\u016Fsoby plateb\",notes:\"Pozn\\xE1mky\",exchange_rate:\"Sm\\u011Bnn\\xFD kurz\",address_information:\"Address Information\"},address_information:{section_description:\"  You can update Your Address information using form below.\"},title:\"Nastaven\\xED\",setting:\"Nastaven\\xED | Nastaven\\xED\",general:\"Obecn\\xE9\",language:\"Jazyk\",primary_currency:\"Prim\\xE1rn\\xED m\\u011Bna\",timezone:\"\\u010Casov\\xE1 z\\xF3na\",date_format:\"Form\\xE1t data\",currencies:{title:\"M\\u011Bny\",currency:\"M\\u011Bna | M\\u011Bny\",currencies_list:\"Seznam m\\u011Bn\",select_currency:\"Vyberte m\\u011Bnu\",name:\"N\\xE1zev\",code:\"K\\xF3d\",symbol:\"Symbol\",precision:\"P\\u0159esnost\",thousand_separator:\"Odd\\u011Blova\\u010D tis\\xEDc\\u016F\",decimal_separator:\"Odd\\u011Blova\\u010D desetinn\\xFDch m\\xEDst\",position:\"Um\\xEDst\\u011Bn\\xED\",position_of_symbol:\"Um\\xEDst\\u011Bn\\xED symbolu\",right:\"Vpravo\",left:\"Vlevo\",action:\"Akce\",add_currency:\"P\\u0159idat m\\u011Bnu\"},mail:{host:\"Hostitel e-mailu\",port:\"Port e-mailu\",driver:\"Ovlada\\u010D e-mail\\u016F\",secret:\"Tajn\\xFD kl\\xED\\u010D\",mailgun_secret:\"Mailgun Secret\",mailgun_domain:\"Dom\\xE9na\",mailgun_endpoint:\"Mailgun Endpoint\",ses_secret:\"SES Secret\",ses_key:\"SES Key\",password:\"E-mailov\\xE9 heslo\",username:\"U\\u017Eivatelsk\\xE9 jm\\xE9no pro e-mail\",mail_config:\"Konfigurace e-mailu\",from_name:\"Jm\\xE9no odes\\xEDlatele\",from_mail:\"Z e-mailov\\xE9 adresy\",encryption:\"\\u0160ifrov\\xE1n\\xED e-mailu\",mail_config_desc:\"N\\xED\\u017Ee je uveden formul\\xE1\\u0159 pro konfiguraci e-mailov\\xE9ho ovlada\\u010De pro odes\\xEDl\\xE1n\\xED e-mail\\u016F z aplikace. M\\u016F\\u017Eete tak\\xE9 nakonfigurovat poskytovatele t\\u0159et\\xEDch stran, jako je Sendgrid, SES atd.\"},pdf:{title:\"Nastaven\\xED PDF\",footer_text:\"Text z\\xE1pat\\xED\",pdf_layout:\"Rozvr\\u017Een\\xED PDF\"},company_info:{company_info:\"\\xDAdaje o spole\\u010Dnosti\",company_name:\"N\\xE1zev spole\\u010Dnosti\",company_logo:\"Logo spole\\u010Dnosti\",section_description:\"Informace o va\\u0161\\xED spole\\u010Dnosti, kter\\xE1 bude zobrazena na faktur\\xE1ch, odhadech a dal\\u0161\\xEDch dokladech vytvo\\u0159en\\xFDch v Crateru.\",phone:\"Telefon\",country:\"Zem\\u011B\",state:\"St\\xE1t\",city:\"M\\u011Bsto\",address:\"Adresa\",zip:\"PS\\u010C\",save:\"Ulo\\u017Eit\",delete:\"Smazat\",updated_message:\"Informace o spole\\u010Dnosti byly \\xFAsp\\u011B\\u0161n\\u011B aktualizov\\xE1ny\",delete_company:\"Odstranit spole\\u010Dnost\",delete_company_description:\"Jakmile svou spole\\u010Dnost odstran\\xEDte, trvale p\\u0159ijdete o v\\u0161echna data a soubory s n\\xED spojen\\xE9.\",are_you_absolutely_sure:\"Jste si opravdu jisti?\",delete_company_modal_desc:\"Tuto akci nelze vr\\xE1tit zp\\u011Bt. Tato akce trvale odstran\\xED {company} a v\\u0161echna souvisej\\xEDc\\xED data.\",delete_company_modal_label:\"Zadejte pros\\xEDm {company} pro potvrzen\\xED\"},custom_fields:{title:\"Vlastn\\xED pole\",section_description:\"P\\u0159izp\\u016Fsobte si sv\\xE9 faktury, odhady a potvrzen\\xED o platb\\u011B podle vlastn\\xEDch pol\\xED. Ujist\\u011Bte se, \\u017Ee pou\\u017E\\xEDv\\xE1te n\\xED\\u017Ee p\\u0159idan\\xE1 pole ve form\\xE1tu adresy na str\\xE1nce pro p\\u0159izp\\u016Fsoben\\xED.\",add_custom_field:\"P\\u0159idat vlastn\\xED pole\",edit_custom_field:\"Upravit vlastn\\xED pole\",field_name:\"N\\xE1zev pole\",label:\"Popis\",type:\"Typ\",name:\"Jm\\xE9no\",slug:\"Pah\\xFDl\",required:\"Povinn\\xE9\",placeholder:\"Z\\xE1stupn\\xFD text\",help_text:\"Text n\\xE1pov\\u011Bdy\",default_value:\"V\\xFDchoz\\xED hodnota\",prefix:\"Prefix\",starting_number:\"Po\\u010D\\xE1te\\u010Dn\\xED \\u010D\\xEDslo\",model:\"Model\",help_text_description:\"Zadejte n\\u011Bjak\\xFD text, kter\\xFD pom\\u016F\\u017Ee u\\u017Eivatel\\u016Fm pochopit \\xFA\\u010Del tohoto vlastn\\xEDho pole.\",suffix:\"Sufix\",yes:\"Ano\",no:\"Ne\",order:\"Po\\u0159ad\\xED\",custom_field_confirm_delete:\"Nebudete moci obnovit toto vlastn\\xED pole\",already_in_use:\"Vlastn\\xED pole je ji\\u017E pou\\u017E\\xEDv\\xE1no\",deleted_message:\"Vlastn\\xED pole bylo \\xFAsp\\u011B\\u0161n\\u011B odstran\\u011Bno\",options:\"mo\\u017Enosti\",add_option:\"P\\u0159idat mo\\u017Enosti\",add_another_option:\"P\\u0159idat dal\\u0161\\xED mo\\u017Enost\",sort_in_alphabetical_order:\"\\u0158adit v abecedn\\xEDm po\\u0159ad\\xED\",add_options_in_bulk:\"P\\u0159idat mo\\u017Enosti hromadn\\u011B\",use_predefined_options:\"Pou\\u017E\\xEDt p\\u0159eddefinovan\\xE9 mo\\u017Enosti\",select_custom_date:\"Vyberte vlastn\\xED datum\",select_relative_date:\"Vyberte relativn\\xED datum\",ticked_by_default:\"Ve v\\xFDchoz\\xEDm nastaven\\xED za\\u0161krtnuto\",updated_message:\"Vlastn\\xED pole bylo \\xFAsp\\u011B\\u0161n\\u011B upraveno\",added_message:\"Vlastn\\xED pole bylo \\xFAsp\\u011B\\u0161n\\u011B p\\u0159id\\xE1no\",press_enter_to_add:\"Stiskn\\u011Bte Enter pro p\\u0159id\\xE1n\\xED nov\\xE9 mo\\u017Enosti\",model_in_use:\"Nelze aktualizovat model pro pole, kter\\xE1 jsou ji\\u017E pou\\u017E\\xEDv\\xE1na.\",type_in_use:\"Nelze aktualizovat typ pro pole, kter\\xE1 jsou ji\\u017E pou\\u017E\\xEDv\\xE1na.\"},customization:{customization:\"p\\u0159izp\\u016Fsoben\\xED\",updated_message:\"Informace o spole\\u010Dnosti byly \\xFAsp\\u011B\\u0161n\\u011B aktualizov\\xE1ny\",save:\"Ulo\\u017Eit\",insert_fields:\"Vlo\\u017Eit pole\",learn_custom_format:\"Zjist\\u011Bte, jak pou\\u017E\\xEDvat vlastn\\xED form\\xE1t\",add_new_component:\"P\\u0159idat novou komponentu\",component:\"Komponenty\",Parameter:\"Parametr\",series:\"\\u0158ada\",series_description:\"Pro nastaven\\xED statick\\xE9ho prefixu/postfixu jako 'INV' nap\\u0159\\xED\\u010D va\\u0161\\xED spole\\u010Dnost\\xED. Podporuje d\\xE9lku a\\u017E 4 znaky.\",series_param_label:\"Hodnota \\u0159ady\",delimiter:\"Odd\\u011Blova\\u010D\",delimiter_description:\"Jeden znak pro ur\\u010Den\\xED hranice mezi 2 samostatn\\xFDmi komponentami. Ve v\\xFDchoz\\xEDm nastaven\\xED je nastaveno na -\",delimiter_param_label:\"Hodnota odd\\u011Blova\\u010De\",date_format:\"Form\\xE1t data\",date_format_description:\"Pole pro form\\xE1t m\\xEDstn\\xED data a \\u010Dasu. V\\xFDchoz\\xED form\\xE1t: 'Y' vykresluje aktu\\xE1ln\\xED rok.\",date_format_param_label:\"Form\\xE1t\",sequence:\"Sekvence\",sequence_description:\"Po sob\\u011B jdouc\\xED posloupnost \\u010D\\xEDsel ve va\\u0161\\xED spole\\u010Dnosti. M\\u016F\\u017Eete ur\\u010Dit d\\xE9lku dan\\xE9ho parametru.\",sequence_param_label:\"D\\xE9lka sekvence\",customer_series:\"\\u0158ada z\\xE1kazn\\xEDk\\u016F\",customer_series_description:\"Mo\\u017Enost nastavit jin\\xFD prefix/postfix pro ka\\u017Ed\\xE9ho z\\xE1kazn\\xEDka.\",customer_sequence:\"Sekvence z\\xE1kazn\\xEDk\\u016F\",customer_sequence_description:\"Po sob\\u011B jdouc\\xED posloupnost \\u010D\\xEDsel pro ka\\u017Ed\\xE9ho z\\xE1kazn\\xEDka.\",customer_sequence_param_label:\"D\\xE9lka sekvence\",random_sequence:\"N\\xE1hodn\\xE1 sekvence\",random_sequence_description:\"N\\xE1hodn\\xFD alfanumerick\\xFD \\u0159et\\u011Bzec. M\\u016F\\u017Eete ur\\u010Dit d\\xE9lku dan\\xE9ho parametru.\",random_sequence_param_label:\"D\\xE9lka sekvence\",invoices:{title:\"Faktury\",invoice_number_format:\"Form\\xE1t \\u010D\\xEDsla faktury\",invoice_number_format_description:\"P\\u0159izp\\u016Fsobte si, jak bude va\\u0161e \\u010D\\xEDslo faktury automaticky generov\\xE1no p\\u0159i vytv\\xE1\\u0159en\\xED nov\\xE9 faktury.\",preview_invoice_number:\"N\\xE1hled \\u010D\\xEDsla faktury\",due_date:\"Datum splatnosti\",due_date_description:\"Ur\\u010Dete, jak se automaticky nastavuje datum splatnosti vytv\\xE1\\u0159en\\xED faktury.\",due_date_days:\"Splatnost faktury po dnech\",set_due_date_automatically:\"Automaticky nastavit datum splatnosti\",set_due_date_automatically_description:\"Povolte, pokud chcete nastavit datum splatnosti automaticky p\\u0159i vytvo\\u0159en\\xED nov\\xE9 faktury.\",default_formats:\"V\\xFDchoz\\xED form\\xE1ty\",default_formats_description:\"N\\xED\\u017Ee uveden\\xE9 form\\xE1ty se pou\\u017E\\xEDvaj\\xED k automatick\\xE9mu vypln\\u011Bn\\xED pol\\xED p\\u0159i vytv\\xE1\\u0159en\\xED faktury.\",default_invoice_email_body:\"V\\xFDchoz\\xED text e-mailu pro faktury\",company_address_format:\"Form\\xE1t adresy spole\\u010Dnosti\",shipping_address_format:\"Form\\xE1t doru\\u010Dovac\\xED adresy\",billing_address_format:\"Form\\xE1t faktura\\u010Dn\\xED adresy\",invoice_email_attachment:\"Odes\\xEDlat faktury jako p\\u0159\\xEDlohy\",invoice_email_attachment_setting_description:\"Povolte, pokud chcete odes\\xEDlat faktury jako p\\u0159\\xEDlohy e-mailu. Vezm\\u011Bte pros\\xEDm na v\\u011Bdom\\xED, \\u017Ee tla\\u010D\\xEDtko 'Zobrazit fakturu' v e-mailech se ji\\u017E nezobraz\\xED, pokud je povoleno.\",invoice_settings_updated:\"Nastaven\\xED faktur bylo \\xFAsp\\u011B\\u0161n\\u011B upraveno\",retrospective_edits:\"Zp\\u011Btn\\xE9 \\xFApravy\",allow:\"Povolit\",disable_on_invoice_partial_paid:\"Zak\\xE1zat po zaznamen\\xE1n\\xED \\u010D\\xE1ste\\u010Dn\\xE9 platby\",disable_on_invoice_paid:\"Vypnout po zaplacen\\xED pln\\xE9 platby\",disable_on_invoice_sent:\"Vypnout po odesl\\xE1n\\xED faktury\",retrospective_edits_description:\" Na z\\xE1klad\\u011B z\\xE1kon\\u016F va\\u0161\\xED zem\\u011B nebo va\\u0161ich preferenc\\xED m\\u016F\\u017Eete u\\u017Eivatel\\u016Fm br\\xE1nit v \\xFAprav\\u011B dokon\\u010Den\\xFDch faktur.\"},estimates:{title:\"Odhady\",estimate_number_format:\"Form\\xE1t \\u010D\\xEDsla odhadu\",estimate_number_format_description:\"P\\u0159izp\\u016Fsobte si, jak bude va\\u0161e \\u010D\\xEDslo odhadu automaticky generov\\xE1no, p\\u0159i vytv\\xE1\\u0159en\\xED nov\\xE9ho odhadu.\",preview_estimate_number:\"N\\xE1hled \\u010D\\xEDsla odhadu\",expiry_date:\"Datum expirace\",expiry_date_description:\"Ur\\u010Dete, jak se automaticky nastavuje datum expirace p\\u0159i vytv\\xE1\\u0159en\\xED odhadu.\",expiry_date_days:\"Platnost odhadu vypr\\u0161\\xED za dny\",set_expiry_date_automatically:\"Automaticky nastavit datum expirace\",set_expiry_date_automatically_description:\"Povolte, pokud chcete nastavit datum expirace automaticky p\\u0159i vytvo\\u0159en\\xED nov\\xE9ho odhadu.\",default_formats:\"V\\xFDchoz\\xED form\\xE1ty\",default_formats_description:\"N\\xED\\u017Ee uveden\\xE9 form\\xE1ty se pou\\u017E\\xEDvaj\\xED k automatick\\xE9mu vypln\\u011Bn\\xED pol\\xED p\\u0159i vytv\\xE1\\u0159en\\xED odhadu.\",default_estimate_email_body:\"V\\xFDchoz\\xED text e-mailu pro odhady\",company_address_format:\"Form\\xE1t adresy spole\\u010Dnosti\",shipping_address_format:\"Form\\xE1t doru\\u010Dovac\\xED adresy\",billing_address_format:\"Form\\xE1t faktura\\u010Dn\\xED adresy\",estimate_email_attachment:\"Odeslat odhady jako p\\u0159\\xEDlohy\",estimate_email_attachment_setting_description:\"Povolte, pokud chcete odes\\xEDlat odhady jako p\\u0159\\xEDlohy e-mailu. Vezm\\u011Bte pros\\xEDm na v\\u011Bdom\\xED, \\u017Ee tla\\u010D\\xEDtko 'Zobrazit odhad' v e-mailech se ji\\u017E nezobraz\\xED, pokud je povoleno.\",estimate_settings_updated:\"Nastaven\\xED odhad\\u016F \\xFAsp\\u011B\\u0161n\\u011B upraveno\",convert_estimate_options:\"Akce konverze odhadu\",convert_estimate_description:\"Ur\\u010Dete, co se stane s odhadem pot\\xE9, co se p\\u0159evede na fakturu.\",no_action:\"\\u017D\\xE1dn\\xE1 akce\",delete_estimate:\"Odstranit odhad\",mark_estimate_as_accepted:\"Ozna\\u010Dit odhad za p\\u0159ijat\\xFD\"},payments:{title:\"Platby\",payment_number_format:\"Form\\xE1t \\u010D\\xEDsel plateb\",payment_number_format_description:\"P\\u0159izp\\u016Fsobte si, jak se bude \\u010D\\xEDslo platby automaticky generovat, kdy\\u017E vytvo\\u0159\\xEDte novou platbu.\",preview_payment_number:\"N\\xE1hled \\u010D\\xEDsla platby\",default_formats:\"V\\xFDchoz\\xED form\\xE1ty\",default_formats_description:\"N\\xED\\u017Ee uveden\\xE9 form\\xE1ty se pou\\u017E\\xEDvaj\\xED k automatick\\xE9mu vypln\\u011Bn\\xED pol\\xED p\\u0159i vytv\\xE1\\u0159en\\xED plateb.\",default_payment_email_body:\"V\\xFDchoz\\xED text e-mailu platby\",company_address_format:\"Form\\xE1t adresy spole\\u010Dnosti\",from_customer_address_format:\"Z form\\xE1tu adresy z\\xE1kazn\\xEDka\",payment_email_attachment:\"Odes\\xEDlat platby jako p\\u0159\\xEDlohy\",payment_email_attachment_setting_description:\"Povolte, pokud chcete odeslat potvrzen\\xED o platb\\u011B jako p\\u0159\\xEDlohu e-mailu. Vezm\\u011Bte pros\\xEDm na v\\u011Bdom\\xED, \\u017Ee tla\\u010D\\xEDtko 'Zobrazit platbu' v e-mailech se ji\\u017E nebude zobrazovat, pokud je povoleno.\",payment_settings_updated:\"Nastaven\\xED plateb bylo \\xFAsp\\u011B\\u0161n\\u011B upraveno\"},items:{title:\"Polo\\u017Eky\",units:\"Jednotky\",add_item_unit:\"P\\u0159idat jednotku polo\\u017Eky\",edit_item_unit:\"Upravit jednotku polo\\u017Eky\",unit_name:\"N\\xE1zev jednotky\",item_unit_added:\"Jednotka polo\\u017Eky p\\u0159id\\xE1na\",item_unit_updated:\"Jednotka polo\\u017Eky upravena\",item_unit_confirm_delete:\"Nebudete moci obnovit tuto jednotku polo\\u017Eky\",already_in_use:\"Jednotka polo\\u017Eky se ji\\u017E pou\\u017E\\xEDv\\xE1\",deleted_message:\"Jednotka polo\\u017Eky byla \\xFAsp\\u011B\\u0161n\\u011B odstran\\u011Bna\"},notes:{title:\"Pozn\\xE1mky\",description:\"U\\u0161et\\u0159ete \\u010Das vytvo\\u0159en\\xEDm pozn\\xE1mek a jejich op\\u011Btovn\\xFDm pou\\u017Eit\\xEDm na faktur\\xE1ch, odhadech a platb\\xE1ch.\",notes:\"Pozn\\xE1mky\",type:\"Typ\",add_note:\"P\\u0159idat pozn\\xE1mku\",add_new_note:\"P\\u0159idat novou pozn\\xE1mku\",name:\"Jm\\xE9no\",edit_note:\"Upravit pozn\\xE1mku\",note_added:\"Pozn\\xE1mka \\xFAsp\\u011B\\u0161n\\u011B p\\u0159id\\xE1na\",note_updated:\"Pozn\\xE1mka \\xFAsp\\u011B\\u0161n\\u011B upravena\",note_confirm_delete:\"Nebudete moci obnovit tuto pozn\\xE1mku\",already_in_use:\"Pozn\\xE1mka je ji\\u017E pou\\u017E\\xEDv\\xE1na\",deleted_message:\"Pozn\\xE1mka byla \\xFAsp\\u011B\\u0161n\\u011B smaz\\xE1na\"}},account_settings:{profile_picture:\"Profilov\\xFD obr\\xE1zek\",name:\"Jm\\xE9no\",email:\"E-mail\",password:\"Heslo\",confirm_password:\"Potvrdit heslo\",account_settings:\"Nastaven\\xED \\xFA\\u010Dtu\",save:\"Ulo\\u017Eit\",section_description:\"Sv\\xE9 jm\\xE9no, e-mail a heslo m\\u016F\\u017Eete aktualizovat pomoc\\xED formul\\xE1\\u0159e n\\xED\\u017Ee.\",updated_message:\"Nastaven\\xED \\xFA\\u010Dtu bylo \\xFAsp\\u011B\\u0161n\\u011B aktualizov\\xE1no\"},user_profile:{name:\"Jm\\xE9no\",email:\"E-mail\",password:\"Heslo\",confirm_password:\"Potvrzen\\xED hesla\"},notification:{title:\"Ozn\\xE1men\\xED\",email:\"Pos\\xEDlat ozn\\xE1men\\xED na\",description:\"Kter\\xE1 e-mailov\\xE1 ozn\\xE1men\\xED chcete dost\\xE1vat, kdy\\u017E se n\\u011Bco zm\\u011Bn\\xED?\",invoice_viewed:\"Faktura zobrazena\",invoice_viewed_desc:\"Kdy\\u017E si v\\xE1\\u0161 z\\xE1kazn\\xEDk zobraz\\xED fakturu odesl\\xE1nou p\\u0159es hlavn\\xED panel Crateru.\",estimate_viewed:\"Odhad zobrazen\",estimate_viewed_desc:\"Kdy\\u017E si v\\xE1\\u0161 z\\xE1kazn\\xEDk zobraz\\xED odhad odeslan\\xFD p\\u0159es hlavn\\xED panel Crateru.\",save:\"Ulo\\u017Eit\",email_save_message:\"E-mail \\xFAsp\\u011B\\u0161n\\u011B ulo\\u017Een\",please_enter_email:\"Pros\\xEDm, zadejte e-mail\"},roles:{title:\"Role\",description:\"Spr\\xE1va rol\\xED a opr\\xE1vn\\u011Bn\\xED t\\xE9to spole\\u010Dnosti\",save:\"Ulo\\u017Eit\",add_new_role:\"P\\u0159idat novou roli\",role_name:\"N\\xE1zev role\",added_on:\"P\\u0159id\\xE1no dne\",add_role:\"P\\u0159idat roli\",edit_role:\"Upravit roli\",name:\"N\\xE1zev\",permission:\"Opr\\xE1vn\\u011Bn\\xED | Opr\\xE1vn\\u011Bn\\xED\",select_all:\"Vybrat v\\u0161e\",none:\"\\u017D\\xE1dn\\xE9\",confirm_delete:\"Nebudete moci obnovit tuto roli\",created_message:\"Role byla \\xFAsp\\u011B\\u0161n\\u011B vytvo\\u0159ena\",updated_message:\"Role \\xFAsp\\u011B\\u0161n\\u011B zm\\u011Bn\\u011Bna\",deleted_message:\"Role \\xFAsp\\u011B\\u0161n\\u011B odstran\\u011Bna\",already_in_use:\"Role je ji\\u017E pou\\u017E\\xEDv\\xE1na\"},exchange_rate:{exchange_rate:\"Sm\\u011Bnn\\xFD kurz\",title:\"Opravit probl\\xE9my se sm\\u011Bnn\\xFDm kurzem\",description:\"Zadejte pros\\xEDm sm\\u011Bnn\\xFD kurz v\\u0161ech n\\xED\\u017Ee uveden\\xFDch m\\u011Bn, abyste pomohli Crateru spr\\xE1vn\\u011B vypo\\u010D\\xEDtat \\u010D\\xE1stky v {currency}.\",drivers:\"Ovlada\\u010De\",new_driver:\"P\\u0159idat nov\\xE9ho poskytovatele\",edit_driver:\"Upravit poskytovatele\",select_driver:\"Vybrat ovlada\\u010D\",update:\"vybrat sm\\u011Bnn\\xFD kurz \",providers_description:\"Nakonfigurujte zde poskytovatele sm\\u011Bnn\\xFDch kurz\\u016F, aby automaticky na\\u010D\\xEDtali nejnov\\u011Bj\\u0161\\xED sm\\u011Bnn\\xFD kurz u transakc\\xED.\",key:\"API kl\\xED\\u010D\",name:\"N\\xE1zev\",driver:\"Ovlada\\u010D\",is_default:\"JE V\\xDDCHOZ\\xCD\",currency:\"M\\u011Bny\",exchange_rate_confirm_delete:\"Nebudete moci obnovit tento ovlada\\u010D\",created_message:\"Poskytovatel \\xFAsp\\u011B\\u0161n\\u011B vytvo\\u0159en\",updated_message:\"Poskytovatel \\xFAsp\\u011B\\u0161n\\u011B upraven\",deleted_message:\"Poskytovatel \\xFAsp\\u011B\\u0161n\\u011B odstran\\u011Bn\",error:\" Aktivn\\xED ovlada\\u010D nelze odstranit\",default_currency_error:\"Tato m\\u011Bna je ji\\u017E pou\\u017E\\xEDv\\xE1na v jednom z aktivn\\xEDch poskytovatel\\u016F\",exchange_help_text:\"Zadejte sm\\u011Bnn\\xFD kurz pro p\\u0159evod z {currency} do {baseCurrency}\",currency_freak:\"Currency Freak\",currency_layer:\"Currency Layer\",open_exchange_rate:\"Open Exchange Rate\",currency_converter:\"P\\u0159evodn\\xEDk m\\u011Bn\",server:\"Server\",url:\"URL\",active:\"Aktivn\\xED\",currency_help_text:\"Tento poskytovatel bude pou\\u017Eit pouze na v\\xFD\\u0161e vybran\\xFDch m\\u011Bn\\xE1ch\",currency_in_used:\"N\\xE1sleduj\\xEDc\\xED m\\u011Bny jsou ji\\u017E aktivn\\xED u jin\\xE9ho poskytovatele. Odstra\\u0148te tyto m\\u011Bny z v\\xFDb\\u011Bru a znovu aktivujte tohoto poskytovatele.\"},tax_types:{title:\"Typy dan\\xED\",add_tax:\"P\\u0159idat da\\u0148\",edit_tax:\"Upravit da\\u0148\",description:\"M\\u016F\\u017Eete p\\u0159idat nebo odebrat dan\\u011B, jak chcete. Crater podporuje dan\\u011B z jednotliv\\xFDch polo\\u017Eek i z cel\\xE9 faktury.\",add_new_tax:\"P\\u0159idat novou da\\u0148\",tax_settings:\"Nastaven\\xED dan\\u011B\",tax_per_item:\"Da\\u0148 za polo\\u017Eku\",tax_name:\"N\\xE1zev dan\\u011B\",compound_tax:\"Slo\\u017Een\\xE1 da\\u0148\",percent:\"Procento\",action:\"Akce\",tax_setting_description:\"Povolte, pokud chcete p\\u0159idat dan\\u011B k jednotliv\\xFDm polo\\u017Ek\\xE1m faktury. Ve v\\xFDchoz\\xEDm nastaven\\xED jsou dan\\u011B p\\u0159id\\xE1ny p\\u0159\\xEDmo na fakturu.\",created_message:\"Typ dan\\u011B \\xFAsp\\u011B\\u0161n\\u011B vytvo\\u0159en\",updated_message:\"Typ dan\\u011B \\xFAsp\\u011B\\u0161n\\u011B upraven\",deleted_message:\"Typ dan\\u011B \\xFAsp\\u011B\\u0161n\\u011B odstran\\u011Bn\",confirm_delete:\"Tento typ dan\\u011B nebudete moci obnovit\",already_in_use:\"Da\\u0148 se ji\\u017E pou\\u017E\\xEDv\\xE1\"},payment_modes:{title:\"Platebn\\xED metody\",description:\"Platebn\\xED metody transakc\\xED pro platby\",add_payment_mode:\"P\\u0159idat platebn\\xED metodu\",edit_payment_mode:\"Upravit platebn\\xED metodu\",mode_name:\"N\\xE1zev metody\",payment_mode_added:\"Platebn\\xED metoda p\\u0159id\\xE1na\",payment_mode_updated:\"Platebn\\xED metoda upravena\",payment_mode_confirm_delete:\"Nebudete moci obnovit tuto platebn\\xED metodu\",payments_attached:\"This payment method is already attached to payments. Please delete the attached payments to proceed with deletion.\",expenses_attached:\"This payment method is already attached to expenses. Please delete the attached expenses to proceed with deletion.\",deleted_message:\"Platebn\\xED metoda byla \\xFAsp\\u011B\\u0161n\\u011B odstran\\u011Bna\"},expense_category:{title:\"Kategorie v\\xFDdaj\\u016F\",action:\"Akce\",description:\"Kategorie jsou vy\\u017Eadov\\xE1ny pro p\\u0159id\\xE1n\\xED v\\xFDdajov\\xFDch polo\\u017Eek. M\\u016F\\u017Eete p\\u0159idat nebo odebrat tyto kategorie podle va\\u0161ich preferenc\\xED.\",add_new_category:\"P\\u0159idat novou kategorii\",add_category:\"P\\u0159idat kategorii\",edit_category:\"Upravit Kategorii\",category_name:\"N\\xE1zev kategorie\",category_description:\"Popis\",created_message:\"Kategorie v\\xFDdaj\\u016F \\xFAsp\\u011B\\u0161n\\u011B vytvo\\u0159ena\",deleted_message:\"Kategorie v\\xFDdaj\\u016F \\xFAsp\\u011B\\u0161n\\u011B odstran\\u011Bna\",updated_message:\"Kategorie v\\xFDdaj\\u016F \\xFAsp\\u011B\\u0161n\\u011B upravena\",confirm_delete:\"Nebudete moci obnovit tuto kategorii v\\xFDdaj\\u016F\",already_in_use:\"Kategorie se ji\\u017E pou\\u017E\\xEDv\\xE1\"},preferences:{currency:\"M\\u011Bna\",default_language:\"V\\xFDchoz\\xED jazyk\",time_zone:\"\\u010Casov\\xE9 p\\xE1smo\",fiscal_year:\"Fisk\\xE1ln\\xED rok\",date_format:\"Form\\xE1t data\",discount_setting:\"Nastaven\\xED slev\",discount_per_item:\"Sleva za polo\\u017Eku \",discount_setting_description:\"Povolte tuto mo\\u017Enost, pokud chcete p\\u0159idat slevu do jednotliv\\xFDch polo\\u017Eek faktury. Ve v\\xFDchoz\\xEDm nastaven\\xED je sleva p\\u0159id\\xE1na p\\u0159\\xEDmo na fakturu.\",expire_public_links:\"Automatically Expire Public Links\",expire_setting_description:\"Specify whether you would like to expire all the links sent by application to view invoices, estimates & payments, etc after a specified duration.\",save:\"Ulo\\u017Eit\",preference:\"P\\u0159edvolba | P\\u0159edvolby\",general_settings:\"V\\xFDchoz\\xED p\\u0159edvolby syst\\xE9mu.\",updated_message:\"P\\u0159edvolby \\xFAsp\\u011B\\u0161n\\u011B upraveny\",select_language:\"Vyberte jazyk\",select_time_zone:\"Vyberte \\u010Dasov\\xE9 p\\xE1smo\",select_date_format:\"Vyberte form\\xE1t data\",select_financial_year:\"Vyberte fisk\\xE1ln\\xED rok\",recurring_invoice_status:\"Stav opakuj\\xEDc\\xED se faktury\",create_status:\"Vytvo\\u0159it stav\",active:\"Aktivn\\xED\",on_hold:\"\\u010Cekaj\\xEDc\\xED\",update_status:\"Upravit stav\",completed:\"Dokon\\u010Deno\",company_currency_unchangeable:\"M\\u011Bnu spole\\u010Dnosti nelze m\\u011Bnit\"},update_app:{title:\"Aktualizace aplikace\",description:\"Kliknut\\xEDm na tla\\u010D\\xEDtko n\\xED\\u017Ee m\\u016F\\u017Eete jednodu\\u0161e aktualizovat Crater\",check_update:\"Zkontrolovat aktualizace\",avail_update:\"K dispozici je nov\\xE1 aktualizace\",next_version:\"Dal\\u0161\\xED verze\",requirements:\"Po\\u017Eadavky\",update:\"Aktualizovat te\\u010F\",update_progress:\"Prob\\xEDh\\xE1 aktualizace...\",progress_text:\"Bude to trvat jen n\\u011Bkolik minut. Neobnovujte obrazovku ani nezav\\xEDrejte okno p\\u0159ed dokon\\u010Den\\xEDm aktualizace\",update_success:\"Aplikace byla aktualizov\\xE1na! Po\\u010Dkejte pros\\xEDm, ne\\u017E se okno prohl\\xED\\u017Ee\\u010De automaticky znovu na\\u010Dte.\",latest_message:\"\\u017D\\xE1dn\\xE1 aktualizace nen\\xED k dispozici! Jste na nejnov\\u011Bj\\u0161\\xED verzi.\",current_version:\"Aktu\\xE1ln\\xED verze\",download_zip_file:\"St\\xE1hnout soubor ZIP\",unzipping_package:\"Rozbalov\\xE1n\\xED bal\\xEDku\",copying_files:\"Kop\\xEDrov\\xE1n\\xED soubor\\u016F\",deleting_files:\"Odstra\\u0148ov\\xE1n\\xED nepou\\u017Eit\\xFDch soubor\\u016F\",running_migrations:\"Spou\\u0161t\\u011Bn\\xED migrac\\xED\",finishing_update:\"Dokon\\u010Dov\\xE1n\\xED aktualizace\",update_failed:\"Aktualizace se nezda\\u0159ila\",update_failed_text:\"Omlouv\\xE1me se! Aktualizace se nezda\\u0159ila v {step}. kroku\",update_warning:\"V\\u0161echny soubory aplikace a v\\xFDchoz\\xED soubory \\u0161ablon budou p\\u0159eps\\xE1ny p\\u0159i aktualizaci aplikace pomoc\\xED tohoto n\\xE1stroje. P\\u0159ed aktualizac\\xED si pros\\xEDm z\\xE1lohujte \\u0161ablony a datab\\xE1zi.\"},backup:{title:\"Z\\xE1loha | Z\\xE1lohy\",description:\"Z\\xE1loha je soubor ZIP, kter\\xFD obsahuje v\\u0161echny soubory ve slo\\u017Ek\\xE1ch, kter\\xE9 zad\\xE1te spolu s kopi\\xED va\\u0161\\xED datab\\xE1ze\",new_backup:\"P\\u0159idat novou z\\xE1lohu\",create_backup:\"Vytvo\\u0159it z\\xE1lohu\",select_backup_type:\"Vyberte typ z\\xE1lohy\",backup_confirm_delete:\"Tuto z\\xE1lohu nebudete moci obnovit\",path:\"cesta\",new_disk:\"Nov\\xFD disk\",created_at:\"vytvo\\u0159eno v\",size:\"velikost\",dropbox:\"dropbox\",local:\"m\\xEDstn\\xED\",healthy:\"zdrav\\xFD\",amount_of_backups:\"po\\u010Det z\\xE1loh\",newest_backups:\"nejnov\\u011Bj\\u0161\\xED z\\xE1lohy\",used_storage:\"vyu\\u017Eit\\xE9 \\xFAlo\\u017Ei\\u0161t\\u011B\",select_disk:\"Vyberte disk\",action:\"Akce\",deleted_message:\"Z\\xE1loha \\xFAsp\\u011B\\u0161n\\u011B odstran\\u011Bna\",created_message:\"Z\\xE1loha byla \\xFAsp\\u011B\\u0161n\\u011B vytvo\\u0159ena\",invalid_disk_credentials:\"Nespr\\xE1vn\\xE9 p\\u0159ihla\\u0161ovac\\xED \\xFAdaje pro vybran\\xFD disk\"},disk:{title:\"Souborov\\xFD disk | Souborov\\xE9 disky\",description:\"Ve v\\xFDchoz\\xEDm nastaven\\xED bude Crater pou\\u017E\\xEDvat v\\xE1\\u0161 lok\\xE1ln\\xED disk pro ukl\\xE1d\\xE1n\\xED z\\xE1loh, avataru a dal\\u0161\\xEDch obr\\xE1zk\\u016F. Podle va\\u0161ich preferenc\\xED m\\u016F\\u017Eete nakonfigurovat v\\xEDce ne\\u017E jeden ovlada\\u010D disku, jako je DigitalOcean, S3 nebo Dropbox.\",created_at:\"vytvo\\u0159eno v\",dropbox:\"dropbox\",name:\"N\\xE1zev\",driver:\"Ovlada\\u010D\",disk_type:\"Typ\",disk_name:\"N\\xE1zev disku\",new_disk:\"P\\u0159idat nov\\xFD disk\",filesystem_driver:\"Ovlada\\u010D souborov\\xE9ho syst\\xE9mu\",local_driver:\"m\\xEDstn\\xED ovlada\\u010D\",local_root:\"m\\xEDstn\\xED ko\\u0159enov\\xFD adres\\xE1\\u0159\",public_driver:\"Ve\\u0159ejn\\xFD ovlada\\u010D\",public_root:\"Ve\\u0159ejn\\xFD ko\\u0159enov\\xFD adres\\xE1\\u0159\",public_url:\"Ve\\u0159ejn\\xE1 adresa URL\",public_visibility:\"Ve\\u0159ejn\\xE1 viditelnost\",media_driver:\"Ovlada\\u010D m\\xE9di\\xED\",media_root:\"Ko\\u0159enov\\xFD adres\\xE1\\u0159 medi\\xED\",aws_driver:\"AWS ovlada\\u010D\",aws_key:\"AWS Key\",aws_secret:\"AWS Secret\",aws_region:\"AWS Region\",aws_bucket:\"AWS Bucket\",aws_root:\"AWS Root\",do_spaces_type:\"Do Spaces type\",do_spaces_key:\"Do Spaces key\",do_spaces_secret:\"Do Spaces Secret\",do_spaces_region:\"Do Spaces Region\",do_spaces_bucket:\"Do Spaces Bucket\",do_spaces_endpoint:\"Do Spaces Endpoint\",do_spaces_root:\"Do Spaces Root\",dropbox_type:\"Dropbox Type\",dropbox_token:\"Dropbox Token\",dropbox_key:\"Dropbox Key\",dropbox_secret:\"Dropbox Secret\",dropbox_app:\"Dropbox App\",dropbox_root:\"Dropbox Root\",default_driver:\"V\\xFDchoz\\xED ovlada\\u010D\",is_default:\"JE V\\xDDCHOZ\\xCD\",set_default_disk:\"Nastavit v\\xFDchoz\\xED disk\",set_default_disk_confirm:\"Tento disk bude nastaven jako v\\xFDchoz\\xED a v\\u0161echny nov\\xE9 PDF budou ulo\\u017Eeny na tomto disku\",success_set_default_disk:\"Disk \\xFAsp\\u011B\\u0161n\\u011B nastaven jako v\\xFDchoz\\xED\",save_pdf_to_disk:\"Ukl\\xE1dat PDF na disk\",disk_setting_description:\" Povolte, pokud chcete automaticky ulo\\u017Eit kopii PDF ka\\u017Ed\\xE9 faktury, odhadu a potvrzen\\xED o platb\\u011B. Zapnut\\xED t\\xE9to mo\\u017Enosti sn\\xED\\u017E\\xED dobu na\\u010D\\xEDt\\xE1n\\xED p\\u0159i prohl\\xED\\u017Een\\xED PDF.\",select_disk:\"Vyberte disk\",disk_settings:\"Nastaven\\xED disku\",confirm_delete:\"Va\\u0161e existuj\\xEDc\\xED soubory a slo\\u017Eky na ur\\u010Den\\xE9m disku nebudou ovlivn\\u011Bny, ale konfigurace disku bude odstran\\u011Bna z Crateru\",action:\"Akce\",edit_file_disk:\"Upravit souborov\\xFD disk\",success_create:\"Disk byl \\xFAsp\\u011B\\u0161n\\u011B p\\u0159id\\xE1n\",success_update:\"Disk \\xFAsp\\u011B\\u0161n\\u011B upraven\",error:\"P\\u0159id\\xE1n\\xED disku se nezda\\u0159ilo\",deleted_message:\"Souborov\\xFD disk \\xFAsp\\u011B\\u0161n\\u011B smaz\\xE1n\",disk_variables_save_successfully:\"Disk \\xFAsp\\u011B\\u0161n\\u011B nakonfigurov\\xE1n\",disk_variables_save_error:\"Konfigurace disku selhala.\",invalid_disk_credentials:\"Nespr\\xE1vn\\xE9 p\\u0159ihla\\u0161ovac\\xED \\xFAdaje pro vybran\\xFD disk\"},taxations:{add_billing_address:\"Enter Billing Address\",add_shipping_address:\"Enter Shipping Address\",add_company_address:\"Enter Company Address\",modal_description:\"The information below is required in order to fetch sales tax.\",add_address:\"Add Address for fetching sales tax.\",address_placeholder:\"Example: 123, My Street\",city_placeholder:\"Example: Los Angeles\",state_placeholder:\"Example: CA\",zip_placeholder:\"Example: 90024\",invalid_address:\"Please provide valid address details.\"}},li={account_info:\"Informace o \\xFA\\u010Dtu\",account_info_desc:\"N\\xED\\u017Ee uveden\\xE9 \\xFAdaje budou pou\\u017Eity k vytvo\\u0159en\\xED hlavn\\xEDho \\xFA\\u010Dtu spr\\xE1vce. Tak\\xE9 m\\u016F\\u017Eete zm\\u011Bnit podrobnosti kdykoliv po p\\u0159ihl\\xE1\\u0161en\\xED.\",name:\"Jm\\xE9no\",email:\"E-mail\",password:\"Heslo\",confirm_password:\"Potvrdit heslo\",save_cont:\"Ulo\\u017Eit a pokra\\u010Dovat\",company_info:\"Informace o spole\\u010Dnosti\",company_info_desc:\"Tyto informace budou zobrazeny na faktur\\xE1ch. Pozd\\u011Bji je m\\u016F\\u017Eete upravit na str\\xE1nce s nastaven\\xEDm.\",company_name:\"N\\xE1zev spole\\u010Dnosti\",company_logo:\"Logo spole\\u010Dnosti\",logo_preview:\"N\\xE1hled loga\",preferences:\"P\\u0159edvolby spole\\u010Dnosti\",preferences_desc:\"Zadejte v\\xFDchoz\\xED p\\u0159edvolby pro tuto spole\\u010Dnost.\",currency_set_alert:\"M\\u011Bnu spole\\u010Dnosti nelze pozd\\u011Bji zm\\u011Bnit.\",country:\"Zem\\u011B\",state:\"St\\xE1t\",city:\"M\\u011Bsto\",address:\"Adresa\",street:\"Ulice1 | Ulice2\",phone:\"Telefon\",zip_code:\"PS\\u010C\",go_back:\"J\\xEDt zp\\u011Bt\",currency:\"M\\u011Bna\",language:\"Jazyk\",time_zone:\"\\u010Casov\\xE9 p\\xE1smo\",fiscal_year:\"Fisk\\xE1ln\\xED rok\",date_format:\"Form\\xE1t data\",from_address:\"Z adresy\",username:\"U\\u017Eivatelsk\\xE9 jm\\xE9no\",next:\"Dal\\u0161\\xED\",continue:\"Pokra\\u010Dovat\",skip:\"P\\u0159esko\\u010Dit\",database:{database:\"URL webu a datab\\xE1ze\",connection:\"P\\u0159ipojen\\xED k datab\\xE1zi\",host:\"Host datab\\xE1ze\",port:\"Port datab\\xE1ze\",password:\"Heslo do datab\\xE1ze\",app_url:\"URL aplikace\",app_domain:\"Dom\\xE9na aplikace\",username:\"U\\u017Eivatelsk\\xE9 jm\\xE9no k datab\\xE1zi\",db_name:\"N\\xE1zev datab\\xE1ze\",db_path:\"Cesta k datab\\xE1zi\",desc:\"Vytvo\\u0159te datab\\xE1zi na sv\\xE9m serveru a nastavte p\\u0159ihla\\u0161ovac\\xED \\xFAdaje pomoc\\xED n\\xED\\u017Ee uveden\\xE9ho formul\\xE1\\u0159e.\"},permissions:{permissions:\"Opr\\xE1vn\\u011Bn\\xED\",permission_confirm_title:\"Opravdu chcete pokra\\u010Dovat?\",permission_confirm_desc:\"Kontrola opr\\xE1vn\\u011Bn\\xED slo\\u017Eky selhala\",permission_desc:\"N\\xED\\u017Ee je seznam opr\\xE1vn\\u011Bn\\xED slo\\u017Eek, kter\\xE1 jsou vy\\u017Eadov\\xE1na, aby aplikace pracovala. Pokud kontrola opr\\xE1vn\\u011Bn\\xED sel\\u017Ee, aktualizujte opr\\xE1vn\\u011Bn\\xED dan\\xFDch slo\\u017Eek.\"},verify_domain:{title:\"Ov\\u011B\\u0159en\\xED dom\\xE9ny\",desc:\"Crater pou\\u017E\\xEDv\\xE1 ov\\u011B\\u0159en\\xED na z\\xE1klad\\u011B relace, kter\\xE9 vy\\u017Eaduje ov\\u011B\\u0159en\\xED dom\\xE9ny pro \\xFA\\u010Dely zabezpe\\u010Den\\xED. Zadejte pros\\xEDm dom\\xE9nu, na kter\\xE9 budete p\\u0159istupovat ke sv\\xE9 webov\\xE9 aplikaci.\",app_domain:\"Dom\\xE9na aplikace\",verify_now:\"Ov\\u011B\\u0159it te\\u010F\",success:\"Ov\\u011B\\u0159en\\xED dom\\xE9ny bylo \\xFAsp\\u011B\\u0161n\\xE9.\",failed:\"Ov\\u011B\\u0159en\\xED dom\\xE9ny se nezda\\u0159ilo. Zadejte pros\\xEDm platn\\xFD n\\xE1zev dom\\xE9ny.\",verify_and_continue:\"Ov\\u011B\\u0159it a pokra\\u010Dovat\"},mail:{host:\"Hostitel e-mailu\",port:\"Port e-mailu\",driver:\"Ovlada\\u010D e-mail\\u016F\",secret:\"Secret\",mailgun_secret:\"Mailgun Secret\",mailgun_domain:\"Dom\\xE9na\",mailgun_endpoint:\"Mailgun Endpoint\",ses_secret:\"SES Secret\",ses_key:\"SES Key\",password:\"E-mailov\\xE9 heslo\",username:\"U\\u017Eivatelsk\\xE9 jm\\xE9no e-mailu\",mail_config:\"Konfigurace e-mailu\",from_name:\"Jm\\xE9no odes\\xEDlatele\",from_mail:\"Z e-mailov\\xE9 adresy\",encryption:\"\\u0160ifrov\\xE1n\\xED e-mailu\",mail_config_desc:\"N\\xED\\u017Ee je uveden formul\\xE1\\u0159 pro konfiguraci e-mailov\\xE9ho ovlada\\u010De pro odes\\xEDl\\xE1n\\xED e-mail\\u016F z aplikace. M\\u016F\\u017Eete tak\\xE9 nakonfigurovat poskytovatele t\\u0159et\\xEDch stran, jako je Sendgrid, SES atd.\"},req:{system_req:\"Syst\\xE9mov\\xE9 po\\u017Eadavky\",php_req_version:\"Php (po\\u017Eadovan\\xE1 verze {version})\",check_req:\"Zkontrolujte po\\u017Eadavky\",system_req_desc:\"Crater m\\xE1 n\\u011Bkolik po\\u017Eadavk\\u016F na server. Ujist\\u011Bte se, \\u017Ee v\\xE1\\u0161 server m\\xE1 po\\u017Eadovanou php verzi a v\\u0161echna n\\xED\\u017Ee uveden\\xE1 roz\\u0161\\xED\\u0159en\\xED.\"},errors:{migrate_failed:\"Migrace se nezda\\u0159ila\",database_variables_save_error:\"Nelze zapsat konfiguraci do souboru .env. Zkontrolujte pros\\xEDm jeho opr\\xE1vn\\u011Bn\\xED\",mail_variables_save_error:\"Nastaven\\xED e-mailu se nezda\\u0159ilo.\",connection_failed:\"Spojen\\xED s datab\\xE1z\\xED se nezda\\u0159ilo\",database_should_be_empty:\"Datab\\xE1ze by m\\u011Bla b\\xFDt pr\\xE1zdn\\xE1\"},success:{mail_variables_save_successfully:\"E-mail byl \\xFAsp\\u011B\\u0161n\\u011B nastaven\",database_variables_save_successfully:\"Datab\\xE1ze byla \\xFAsp\\u011B\\u0161n\\u011B nastavena.\"}},ci={invalid_phone:\"Neplatn\\xE9 telefonn\\xED \\u010D\\xEDslo\",invalid_url:\"Neplatn\\xE1 URL (nap\\u0159. http://www.craterapp.com)\",invalid_domain_url:\"Neplatn\\xE1 URL (nap\\u0159. craterapp.com)\",required:\"Pole je povinn\\xE9\",email_incorrect:\"Nespr\\xE1vn\\xFD e-mail.\",email_already_taken:\"Tento e-mail ji\\u017E byl pou\\u017Eit.\",email_does_not_exist:\"U\\u017Eivatel s dan\\xFDm e-mailem neexistuje\",item_unit_already_taken:\"Tento n\\xE1zev jednotky je ji\\u017E obsazen\",payment_mode_already_taken:\"Tento n\\xE1zev platebn\\xED metody ji\\u017E byl pou\\u017Eit\",send_reset_link:\"Zaslat odkaz na obnoven\\xED hesla\",not_yet:\"Je\\u0161t\\u011B ne? Poslat znovu\",password_min_length:\"Heslo mus\\xED obsahovat {count} znak\\u016F\",name_min_length:\"Jm\\xE9no mus\\xED m\\xEDt alespo\\u0148 {count} p\\xEDsmen.\",prefix_min_length:\"Prefix mus\\xED m\\xEDt alespo\\u0148 {count} p\\xEDsmen.\",enter_valid_tax_rate:\"Zadejte platnou da\\u0148ovou sazbu\",numbers_only:\"Pouze \\u010D\\xEDsla.\",characters_only:\"Pouze p\\xEDsmena.\",password_incorrect:\"Hesla mus\\xED b\\xFDt stejn\\xE1\",password_length:\"Heslo mus\\xED b\\xFDt dlouh\\xE9 {count} znak\\u016F.\",qty_must_greater_than_zero:\"Mno\\u017Estv\\xED mus\\xED b\\xFDt v\\u011Bt\\u0161\\xED ne\\u017E nula.\",price_greater_than_zero:\"Cena mus\\xED b\\xFDt vy\\u0161\\u0161\\xED ne\\u017E nula.\",payment_greater_than_zero:\"Platba mus\\xED b\\xFDt vy\\u0161\\u0161\\xED ne\\u017E nula.\",payment_greater_than_due_amount:\"Zadan\\xE1 platba je vy\\u0161\\u0161\\xED ne\\u017E splatn\\xE1 \\u010D\\xE1stka t\\xE9to faktury.\",quantity_maxlength:\"Mno\\u017Estv\\xED by nem\\u011Blo b\\xFDt del\\u0161\\xED ne\\u017E 20 \\u010D\\xEDslic.\",price_maxlength:\"Cena by nem\\u011Bla b\\xFDt del\\u0161\\xED ne\\u017E 20 \\u010D\\xEDslic.\",price_minvalue:\"Cena by m\\u011Bla b\\xFDt v\\u011Bt\\u0161\\xED ne\\u017E 0.\",amount_maxlength:\"Mno\\u017Estv\\xED by nem\\u011Blo b\\xFDt del\\u0161\\xED ne\\u017E 20 \\u010D\\xEDslic.\",amount_minvalue:\"Mno\\u017Estv\\xED by m\\u011Blo b\\xFDt v\\u011Bt\\u0161\\xED ne\\u017E 0.\",discount_maxlength:\"Sleva by nem\\u011Bla b\\xFDt vy\\u0161\\u0161\\xED ne\\u017E maxim\\xE1ln\\xED sleva\",description_maxlength:\"Popis by nem\\u011Bl b\\xFDt del\\u0161\\xED ne\\u017E 255 znak\\u016F.\",subject_maxlength:\"P\\u0159edm\\u011Bt by nem\\u011Bl b\\xFDt del\\u0161\\xED ne\\u017E 100 znak\\u016F.\",message_maxlength:\"Zpr\\xE1va by nem\\u011Bla b\\xFDt del\\u0161\\xED ne\\u017E 255 znak\\u016F.\",maximum_options_error:\"Vybr\\xE1no maximum z {max} mo\\u017Enost\\xED. Nejprve odeberte vybranou mo\\u017Enost pro dal\\u0161\\xED v\\xFDb\\u011Br.\",notes_maxlength:\"Pozn\\xE1mky by nem\\u011Bly b\\xFDt del\\u0161\\xED ne\\u017E 65 000 znak\\u016F.\",address_maxlength:\"Adresa by nem\\u011Bla b\\xFDt del\\u0161\\xED ne\\u017E 255 znak\\u016F.\",ref_number_maxlength:\"Referen\\u010Dn\\xED \\u010D\\xEDslo by nem\\u011Blo b\\xFDt del\\u0161\\xED ne\\u017E 255 znak\\u016F.\",prefix_maxlength:\"Prefix by nem\\u011Bl b\\xFDt del\\u0161\\xED ne\\u017E 5 znak\\u016F.\",something_went_wrong:\"n\\u011Bco se nezda\\u0159ilo\",number_length_minvalue:\"D\\xE9lka \\u010D\\xEDsla by m\\u011Bla b\\xFDt v\\u011Bt\\u0161\\xED ne\\u017E 0\",at_least_one_ability:\"Vyberte pros\\xEDm alespo\\u0148 jedno opr\\xE1vn\\u011Bn\\xED.\",valid_driver_key:\"Zadejte pros\\xEDm platn\\xFD {driver} kl\\xED\\u010D.\",valid_exchange_rate:\"Zadejte pros\\xEDm platn\\xFD sm\\u011Bnn\\xFD kurz.\",company_name_not_same:\"N\\xE1zev spole\\u010Dnosti se mus\\xED shodovat se zadan\\xFDm n\\xE1zvem.\"},_i={starter_plan:\"Tato funkce je k dispozici na Starter Pl\\xE1nu a d\\xE1le!\",invalid_provider_key:\"Zadejte pros\\xEDm platn\\xFD API kl\\xED\\u010D poskytovatele.\",estimate_number_used:\"\\u010C\\xEDslo odhadu ji\\u017E bylo pou\\u017Eito.\",invoice_number_used:\"\\u010C\\xEDslo faktury ji\\u017E bylo pou\\u017Eito.\",payment_attached:\"Na t\\xE9to faktu\\u0159e je ji\\u017E p\\u0159ilo\\u017Eena platba. Abyste mohli pokra\\u010Dovat v odstran\\u011Bn\\xED, odstra\\u0148t\\u011B nejd\\u0159\\xEDve p\\u0159ilo\\u017Een\\xE9 platby.\",payment_number_used:\"\\u010C\\xEDslo platby ji\\u017E bylo pou\\u017Eito.\",name_already_taken:\"N\\xE1zev ji\\u017E byl pou\\u017Eit.\",receipt_does_not_exist:\"Doklad neexistuje.\",customer_cannot_be_changed_after_payment_is_added:\"Z\\xE1kazn\\xEDka nelze m\\u011Bnit po p\\u0159id\\xE1n\\xED platby\",invalid_credentials:\"Neplatn\\xE9 p\\u0159ihla\\u0161ovac\\xED \\xFAdaje.\",not_allowed:\"Nen\\xED povoleno\",login_invalid_credentials:\"Tyto \\xFAdaje neodpov\\xEDdaj\\xED na\\u0161im z\\xE1znam\\u016Fm.\",enter_valid_cron_format:\"Zadejte platn\\xFD form\\xE1t cronu\",email_could_not_be_sent:\"Email could not be sent to this email address.\",invalid_address:\"Please enter a valid address.\",invalid_key:\"Please enter valid key.\",invalid_state:\"Please enter a valid state.\",invalid_city:\"Please enter a valid city.\",invalid_postal_code:\"Please enter a valid zip.\",invalid_format:\"Please enter valid query string format.\",api_error:\"Server not responding.\",feature_not_enabled:\"Feature not enabled.\",request_limit_met:\"Api request limit exceeded.\",address_incomplete:\"Incomplete Address\"},ui=\"Odhad\",mi=\"\\u010C\\xEDslo odhadu\",pi=\"Datum odhadu\",fi=\"Doba platnosti\",gi=\"Faktura\",vi=\"\\u010C\\xEDslo faktury\",yi=\"Datum fakturace\",hi=\"Datum splatnosti\",bi=\"Pozn\\xE1mky\",ki=\"Polo\\u017Eky\",wi=\"Mno\\u017Estv\\xED\",zi=\"Cena\",xi=\"Sleva\",Pi=\"Mno\\u017Estv\\xED\",Si=\"Mezisou\\u010Det\",ji=\"Celkem\",Ai=\"Platba\",Di=\"DOKLAD O PLATB\\u011A\",Ci=\"Datum platby\",Ni=\"\\u010C\\xEDslo platby\",Ei=\"Platebn\\xED metoda\",Ii=\"Obdr\\u017Een\\xE1 \\u010D\\xE1stka\",Ti=\"REPORT V\\xDDDAJ\\u016E\",Ri=\"V\\xDDDAJE CELKEM\",Mi=\"REPORT ZISKU A ZTR\\xC1T\",Fi=\"Report o z\\xE1kazn\\xEDc\\xEDch prodeje\",$i=\"Report o polo\\u017Ek\\xE1ch prodeje\",Ui=\"Report o shrnut\\xED dan\\xED\",Vi=\"P\\u0158\\xCDJEM\",Oi=\"\\u010CIST\\xDD ZISK\",Li=\"Report o prodeji: Podle z\\xE1kazn\\xEDka\",qi=\"PRODEJE CELKEM\",Bi=\"Report o prodeji: Podle polo\\u017Eky\",Ki=\"DA\\u0147OV\\xDD REPORT\",Zi=\"DAN\\u011A CELKEM\",Wi=\"Typy dan\\xED\",Hi=\"V\\xFDdaje\",Yi=\"Odb\\u011Bratel\",Gi=\"P\\u0159\\xEDjemce\",Ji=\"P\\u0159ijato od:\",Qi=\"Da\\u0148\";var Xi={navigation:Bn,general:Kn,dashboard:Zn,tax_types:Wn,global_search:Hn,company_switcher:Yn,dateRange:Gn,customers:Jn,items:Qn,estimates:Xn,invoices:ei,recurring_invoices:ti,payments:ai,expenses:ni,login:ii,modules:oi,users:si,reports:ri,settings:di,wizard:li,validation:ci,errors:_i,pdf_estimate_label:ui,pdf_estimate_number:mi,pdf_estimate_date:pi,pdf_estimate_expire_date:fi,pdf_invoice_label:gi,pdf_invoice_number:vi,pdf_invoice_date:yi,pdf_invoice_due_date:hi,pdf_notes:bi,pdf_items_label:ki,pdf_quantity_label:wi,pdf_price_label:zi,pdf_discount_label:xi,pdf_amount_label:Pi,pdf_subtotal:Si,pdf_total:ji,pdf_payment_label:Ai,pdf_payment_receipt_label:Di,pdf_payment_date:Ci,pdf_payment_number:Ni,pdf_payment_mode:Ei,pdf_payment_amount_received_label:Ii,pdf_expense_report_label:Ti,pdf_total_expenses_label:Ri,pdf_profit_loss_label:Mi,pdf_sales_customers_label:Fi,pdf_sales_items_label:$i,pdf_tax_summery_label:Ui,pdf_income_label:Vi,pdf_net_profit_label:Oi,pdf_customer_sales_report:Li,pdf_total_sales_label:qi,pdf_item_sales_label:Bi,pdf_tax_report_label:Ki,pdf_total_tax_label:Zi,pdf_tax_types_label:Wi,pdf_expenses_label:Hi,pdf_bill_to:Yi,pdf_ship_to:Gi,pdf_received_from:Ji,pdf_tax_label:Qi};const eo={dashboard:\"Dashboard\",customers:\"Customers\",items:\"Items\",invoices:\"Invoices\",\"recurring-invoices\":\"Recurring Invoices\",expenses:\"Expenses\",estimates:\"Estimates\",payments:\"Payments\",reports:\"Reports\",settings:\"Settings\",logout:\"Logout\",users:\"Users\",modules:\"Modules\"},to={add_company:\"Add Company\",view_pdf:\"View PDF\",copy_pdf_url:\"Copy PDF Url\",download_pdf:\"Download PDF\",save:\"Save\",create:\"Create\",cancel:\"Cancel\",update:\"Update\",deselect:\"Deselect\",download:\"Download\",from_date:\"From Date\",to_date:\"To Date\",from:\"From\",to:\"To\",ok:\"Ok\",yes:\"Yes\",no:\"No\",sort_by:\"Sort By\",ascending:\"Ascending\",descending:\"Descending\",subject:\"Subject\",body:\"Body\",message:\"Message\",send:\"Send\",preview:\"Preview\",go_back:\"Go Back\",back_to_login:\"Back to Login?\",home:\"Home\",filter:\"Filter\",delete:\"Delete\",edit:\"Edit\",view:\"View\",add_new_item:\"Add New Item\",clear_all:\"Clear All\",showing:\"Showing\",of:\"of\",actions:\"Actions\",subtotal:\"SUBTOTAL\",discount:\"DISCOUNT\",fixed:\"Fixed\",percentage:\"Percentage\",tax:\"TAX\",total_amount:\"TOTAL AMOUNT\",bill_to:\"Bill to\",ship_to:\"Ship to\",due:\"Due\",draft:\"Draft\",sent:\"Sent\",all:\"All\",select_all:\"Select All\",select_template:\"Select Template\",choose_file:\"Click here to choose a file\",choose_template:\"Choose a template\",choose:\"Choose\",remove:\"Remove\",select_a_status:\"Select a status\",select_a_tax:\"Select a tax\",search:\"Search\",are_you_sure:\"Are you sure?\",list_is_empty:\"List is empty.\",no_tax_found:\"No tax found!\",four_zero_four:\"404\",you_got_lost:\"Whoops! You got Lost!\",go_home:\"Go Home\",test_mail_conf:\"Test Mail Configuration\",send_mail_successfully:\"Mail sent successfully\",setting_updated:\"Setting updated successfully\",select_state:\"Select state\",select_country:\"Select Country\",select_city:\"Select City\",street_1:\"Street 1\",street_2:\"Street 2\",action_failed:\"Action Failed\",retry:\"Retry\",choose_note:\"Choose Note\",no_note_found:\"No Note Found\",insert_note:\"Insert Note\",copied_pdf_url_clipboard:\"Copied PDF url to clipboard!\",copied_url_clipboard:\"Copied url to clipboard!\",docs:\"Docs\",do_you_wish_to_continue:\"Do you wish to continue?\",note:\"Note\",pay_invoice:\"Pay Invoice\",login_successfully:\"Logged in successfully!\",logged_out_successfully:\"Logged out successfully\",mark_as_default:\"Mark as default\"},ao={select_year:\"Select year\",cards:{due_amount:\"Amount Due\",customers:\"Customers\",invoices:\"Invoices\",estimates:\"Estimates\",payments:\"Payments\"},chart_info:{total_sales:\"Sales\",total_receipts:\"Receipts\",total_expense:\"Expenses\",net_income:\"Net Income\",year:\"Select year\"},monthly_chart:{title:\"Sales & Expenses\"},recent_invoices_card:{title:\"Due Invoices\",due_on:\"Due On\",customer:\"Customer\",amount_due:\"Amount Due\",actions:\"Actions\",view_all:\"View All\"},recent_estimate_card:{title:\"Recent Estimates\",date:\"Date\",customer:\"Customer\",amount_due:\"Amount Due\",actions:\"Actions\",view_all:\"View All\"}},no={name:\"Name\",description:\"Description\",percent:\"Percent\",compound_tax:\"Compound Tax\"},io={search:\"Search...\",customers:\"Customers\",users:\"Users\",no_results_found:\"No Results Found\"},oo={label:\"SWITCH COMPANY\",no_results_found:\"No Results Found\",add_new_company:\"Add new company\",new_company:\"New company\",created_message:\"Company created successfully\"},so={today:\"Today\",this_week:\"This Week\",this_month:\"This Month\",this_quarter:\"This Quarter\",this_year:\"This Year\",previous_week:\"Previous Week\",previous_month:\"Previous Month\",previous_quarter:\"Previous Quarter\",previous_year:\"Previous Year\",custom:\"Custom\"},ro={title:\"Customers\",prefix:\"Prefix\",add_customer:\"Add Customer\",contacts_list:\"Customer List\",name:\"Name\",mail:\"Mail | Mails\",statement:\"Statement\",display_name:\"Display Name\",primary_contact_name:\"Primary Contact Name\",contact_name:\"Contact Name\",amount_due:\"Amount Due\",email:\"Email\",address:\"Address\",phone:\"Phone\",website:\"Website\",overview:\"Overview\",invoice_prefix:\"Invoice Prefix\",estimate_prefix:\"Estimate Prefix\",payment_prefix:\"Payment Prefix\",enable_portal:\"Enable Portal\",country:\"Country\",state:\"State\",city:\"City\",zip_code:\"Zip Code\",added_on:\"Added On\",action:\"Action\",password:\"Password\",confirm_password:\"Confirm Password\",street_number:\"Street Number\",primary_currency:\"Primary Currency\",description:\"Description\",add_new_customer:\"Add New Customer\",save_customer:\"Save Customer\",update_customer:\"Update Customer\",customer:\"Customer | Customers\",new_customer:\"New Customer\",edit_customer:\"Edit Customer\",basic_info:\"Basic Info\",portal_access:\"Portal Access\",portal_access_text:\"Would you like to allow this customer to login to the Customer Portal?\",portal_access_url:\"Customer Portal Login URL\",portal_access_url_help:\"Please copy & forward the above given URL to your customer for providing access.\",billing_address:\"Billing Address\",shipping_address:\"Shipping Address\",copy_billing_address:\"Copy from Billing\",no_customers:\"No customers yet!\",no_customers_found:\"No customers found!\",no_contact:\"No contact\",no_contact_name:\"No contact name\",list_of_customers:\"This section will contain the list of customers.\",primary_display_name:\"Primary Display Name\",select_currency:\"Select currency\",select_a_customer:\"Select a customer\",type_or_click:\"Type or click to select\",new_transaction:\"New Transaction\",no_matching_customers:\"There are no matching customers!\",phone_number:\"Phone Number\",create_date:\"Create Date\",confirm_delete:\"You will not be able to recover this customer and all the related Invoices, Estimates and Payments. | You will not be able to recover these customers and all the related Invoices, Estimates and Payments.\",created_message:\"Customer created successfully\",updated_message:\"Customer updated successfully\",address_updated_message:\"Address Information Updated succesfully\",deleted_message:\"Customer deleted successfully | Customers deleted successfully\",edit_currency_not_allowed:\"Cannot change currency once transactions created.\"},lo={title:\"Items\",items_list:\"Items List\",name:\"Name\",unit:\"Unit\",description:\"Description\",added_on:\"Added On\",price:\"Price\",date_of_creation:\"Date Of Creation\",not_selected:\"No item selected\",action:\"Action\",add_item:\"Add Item\",save_item:\"Save Item\",update_item:\"Update Item\",item:\"Item | Items\",add_new_item:\"Add New Item\",new_item:\"New Item\",edit_item:\"Edit Item\",no_items:\"No items yet!\",list_of_items:\"This section will contain the list of items.\",select_a_unit:\"select unit\",taxes:\"Taxes\",item_attached_message:\"Cannot delete an item which is already in use\",confirm_delete:\"You will not be able to recover this Item | You will not be able to recover these Items\",created_message:\"Item created successfully\",updated_message:\"Item updated successfully\",deleted_message:\"Item deleted successfully | Items deleted successfully\"},co={title:\"Estimates\",accept_estimate:\"Accept Estimate\",reject_estimate:\"Reject Estimate\",estimate:\"Estimate | Estimates\",estimates_list:\"Estimates List\",days:\"{days} Days\",months:\"{months} Month\",years:\"{years} Year\",all:\"All\",paid:\"Paid\",unpaid:\"Unpaid\",customer:\"CUSTOMER\",ref_no:\"REF NO.\",number:\"NUMBER\",amount_due:\"AMOUNT DUE\",partially_paid:\"Partially Paid\",total:\"Total\",discount:\"Discount\",sub_total:\"Sub Total\",estimate_number:\"Estimate Number\",ref_number:\"Ref Number\",contact:\"Contact\",add_item:\"Add an Item\",date:\"Date\",due_date:\"Due Date\",expiry_date:\"Expiry Date\",status:\"Status\",add_tax:\"Add Tax\",amount:\"Amount\",action:\"Action\",notes:\"Notes\",tax:\"Tax\",estimate_template:\"Template\",convert_to_invoice:\"Convert to Invoice\",mark_as_sent:\"Mark as Sent\",send_estimate:\"Send Estimate\",resend_estimate:\"Resend Estimate\",record_payment:\"Record Payment\",add_estimate:\"Add Estimate\",save_estimate:\"Save Estimate\",confirm_conversion:\"This estimate will be used to create a new Invoice.\",conversion_message:\"Invoice created successful\",confirm_send_estimate:\"This estimate will be sent via email to the customer\",confirm_mark_as_sent:\"This estimate will be marked as sent\",confirm_mark_as_accepted:\"This estimate will be marked as Accepted\",confirm_mark_as_rejected:\"This estimate will be marked as Rejected\",no_matching_estimates:\"There are no matching estimates!\",mark_as_sent_successfully:\"Estimate marked as sent successfully\",send_estimate_successfully:\"Estimate sent successfully\",errors:{required:\"Field is required\"},accepted:\"Accepted\",rejected:\"Rejected\",expired:\"Expired\",sent:\"Sent\",draft:\"Draft\",viewed:\"Viewed\",declined:\"Declined\",new_estimate:\"New Estimate\",add_new_estimate:\"Add New Estimate\",update_Estimate:\"Update Estimate\",edit_estimate:\"Edit Estimate\",items:\"items\",Estimate:\"Estimate | Estimates\",add_new_tax:\"Add New Tax\",no_estimates:\"No estimates yet!\",list_of_estimates:\"This section will contain the list of estimates.\",mark_as_rejected:\"Mark as rejected\",mark_as_accepted:\"Mark as accepted\",marked_as_accepted_message:\"Estimate marked as accepted\",marked_as_rejected_message:\"Estimate marked as rejected\",confirm_delete:\"You will not be able to recover this Estimate | You will not be able to recover these Estimates\",created_message:\"Estimate created successfully\",updated_message:\"Estimate updated successfully\",deleted_message:\"Estimate deleted successfully | Estimates deleted successfully\",something_went_wrong:\"something went wrong\",item:{title:\"Item Title\",description:\"Description\",quantity:\"Quantity\",price:\"Price\",discount:\"Discount\",total:\"Total\",total_discount:\"Total Discount\",sub_total:\"Sub Total\",tax:\"Tax\",amount:\"Amount\",select_an_item:\"Type or click to select an item\",type_item_description:\"Type Item Description (optional)\"},mark_as_default_estimate_template_description:\"If enabled, the selected template will be automatically selected for new estimates.\"},_o={title:\"Invoices\",download:\"Download\",pay_invoice:\"Pay Invoice\",invoices_list:\"Invoices List\",invoice_information:\"Invoice Information\",days:\"{days} Days\",months:\"{months} Month\",years:\"{years} Year\",all:\"All\",paid:\"Paid\",unpaid:\"Unpaid\",viewed:\"Viewed\",overdue:\"Overdue\",completed:\"Completed\",customer:\"CUSTOMER\",paid_status:\"PAID STATUS\",ref_no:\"REF NO.\",number:\"NUMBER\",amount_due:\"AMOUNT DUE\",partially_paid:\"Partially Paid\",total:\"Total\",discount:\"Discount\",sub_total:\"Sub Total\",invoice:\"Invoice | Invoices\",invoice_number:\"Invoice Number\",ref_number:\"Ref Number\",contact:\"Contact\",add_item:\"Add an Item\",date:\"Date\",due_date:\"Due Date\",status:\"Status\",add_tax:\"Add Tax\",amount:\"Amount\",action:\"Action\",notes:\"Notes\",view:\"View\",send_invoice:\"Send Invoice\",resend_invoice:\"Resend Invoice\",invoice_template:\"Invoice Template\",conversion_message:\"Invoice cloned successful\",template:\"Select Template\",mark_as_sent:\"Mark as sent\",confirm_send_invoice:\"This invoice will be sent via email to the customer\",invoice_mark_as_sent:\"This invoice will be marked as sent\",confirm_mark_as_accepted:\"This invoice will be marked as Accepted\",confirm_mark_as_rejected:\"This invoice will be marked as Rejected\",confirm_send:\"This invoice will be sent via email to the customer\",invoice_date:\"Invoice Date\",record_payment:\"Record Payment\",add_new_invoice:\"Add New Invoice\",update_expense:\"Update Expense\",edit_invoice:\"Edit Invoice\",new_invoice:\"New Invoice\",save_invoice:\"Save Invoice\",update_invoice:\"Update Invoice\",add_new_tax:\"Add New Tax\",no_invoices:\"No Invoices yet!\",mark_as_rejected:\"Mark as rejected\",mark_as_accepted:\"Mark as accepted\",list_of_invoices:\"This section will contain the list of invoices.\",select_invoice:\"Select Invoice\",no_matching_invoices:\"There are no matching invoices!\",mark_as_sent_successfully:\"Invoice marked as sent successfully\",invoice_sent_successfully:\"Invoice sent successfully\",cloned_successfully:\"Invoice cloned successfully\",clone_invoice:\"Clone Invoice\",confirm_clone:\"This invoice will be cloned into a new Invoice\",item:{title:\"Item Title\",description:\"Description\",quantity:\"Quantity\",price:\"Price\",discount:\"Discount\",total:\"Total\",total_discount:\"Total Discount\",sub_total:\"Sub Total\",tax:\"Tax\",amount:\"Amount\",select_an_item:\"Type or click to select an item\",type_item_description:\"Type Item Description (optional)\"},payment_attached_message:\"One of the selected invoices already have a payment attached to it. Make sure to delete the attached payments first in order to go ahead with the removal\",confirm_delete:\"You will not be able to recover this Invoice | You will not be able to recover these Invoices\",created_message:\"Invoice created successfully\",updated_message:\"Invoice updated successfully\",deleted_message:\"Invoice deleted successfully | Invoices deleted successfully\",marked_as_sent_message:\"Invoice marked as sent successfully\",something_went_wrong:\"something went wrong\",invalid_due_amount_message:\"Total Invoice amount cannot be less than total paid amount for this Invoice. Please update the invoice or delete the associated payments to continue.\",mark_as_default_invoice_template_description:\"If enabled, the selected template will be automatically selected for new invoices.\"},uo={title:\"Recurring Invoices\",invoices_list:\"Recurring Invoices List\",days:\"{days} Days\",months:\"{months} Month\",years:\"{years} Year\",all:\"All\",paid:\"Paid\",unpaid:\"Unpaid\",viewed:\"Viewed\",overdue:\"Overdue\",active:\"Active\",completed:\"Completed\",customer:\"CUSTOMER\",paid_status:\"PAID STATUS\",ref_no:\"REF NO.\",number:\"NUMBER\",amount_due:\"AMOUNT DUE\",partially_paid:\"Partially Paid\",total:\"Total\",discount:\"Discount\",sub_total:\"Sub Total\",invoice:\"Recurring Invoice | Recurring Invoices\",invoice_number:\"Recurring Invoice Number\",next_invoice_date:\"Next Invoice Date\",ref_number:\"Ref Number\",contact:\"Contact\",add_item:\"Add an Item\",date:\"Date\",limit_by:\"Limit by\",limit_date:\"Limit Date\",limit_count:\"Limit Count\",count:\"Count\",status:\"Status\",select_a_status:\"Select a status\",working:\"Working\",on_hold:\"On Hold\",complete:\"Completed\",add_tax:\"Add Tax\",amount:\"Amount\",action:\"Action\",notes:\"Notes\",view:\"View\",basic_info:\"Basic Info\",send_invoice:\"Send Recurring Invoice\",auto_send:\"Auto Send\",resend_invoice:\"Resend Recurring Invoice\",invoice_template:\"Recurring Invoice Template\",conversion_message:\"Recurring Invoice cloned successful\",template:\"Template\",mark_as_sent:\"Mark as sent\",confirm_send_invoice:\"This recurring invoice will be sent via email to the customer\",invoice_mark_as_sent:\"This recurring invoice will be marked as sent\",confirm_send:\"This recurring invoice will be sent via email to the customer\",starts_at:\"Start Date\",due_date:\"Invoice Due Date\",record_payment:\"Record Payment\",add_new_invoice:\"Add New Recurring Invoice\",update_expense:\"Update Expense\",edit_invoice:\"Edit Recurring Invoice\",new_invoice:\"New Recurring Invoice\",send_automatically:\"Send Automatically\",send_automatically_desc:\"Enable this, if you would like to send the invoice automatically to the customer when its created.\",save_invoice:\"Save Recurring Invoice\",update_invoice:\"Update Recurring Invoice\",add_new_tax:\"Add New Tax\",no_invoices:\"No Recurring Invoices yet!\",mark_as_rejected:\"Mark as rejected\",mark_as_accepted:\"Mark as accepted\",list_of_invoices:\"This section will contain the list of recurring invoices.\",select_invoice:\"Select Invoice\",no_matching_invoices:\"There are no matching recurring invoices!\",mark_as_sent_successfully:\"Recurring Invoice marked as sent successfully\",invoice_sent_successfully:\"Recurring Invoice sent successfully\",cloned_successfully:\"Recurring Invoice cloned successfully\",clone_invoice:\"Clone Recurring Invoice\",confirm_clone:\"This recurring invoice will be cloned into a new Recurring Invoice\",add_customer_email:\"Please add an email address for this customer to send invoices automatically.\",item:{title:\"Item Title\",description:\"Description\",quantity:\"Quantity\",price:\"Price\",discount:\"Discount\",total:\"Total\",total_discount:\"Total Discount\",sub_total:\"Sub Total\",tax:\"Tax\",amount:\"Amount\",select_an_item:\"Type or click to select an item\",type_item_description:\"Type Item Description (optional)\"},frequency:{title:\"Frequency\",select_frequency:\"Select Frequency\",minute:\"Minute\",hour:\"Hour\",day_month:\"Day of month\",month:\"Month\",day_week:\"Day of week\"},confirm_delete:\"You will not be able to recover this Invoice | You will not be able to recover these Invoices\",created_message:\"Recurring Invoice created successfully\",updated_message:\"Recurring Invoice updated successfully\",deleted_message:\"Recurring Invoice deleted successfully | Recurring Invoices deleted successfully\",marked_as_sent_message:\"Recurring Invoice marked as sent successfully\",user_email_does_not_exist:\"User email does not exist\",something_went_wrong:\"something went wrong\",invalid_due_amount_message:\"Total Recurring Invoice amount cannot be less than total paid amount for this Recurring Invoice. Please update the invoice or delete the associated payments to continue.\"},mo={title:\"Payments\",payments_list:\"Payments List\",record_payment:\"Record Payment\",customer:\"Customer\",date:\"Date\",amount:\"Amount\",action:\"Action\",payment_number:\"Payment Number\",payment_mode:\"Payment Mode\",invoice:\"Invoice\",note:\"Note\",add_payment:\"Add Payment\",new_payment:\"New Payment\",edit_payment:\"Edit Payment\",view_payment:\"View Payment\",add_new_payment:\"Add New Payment\",send_payment_receipt:\"Send Payment Receipt\",send_payment:\"Send Payment\",save_payment:\"Save Payment\",update_payment:\"Update Payment\",payment:\"Payment | Payments\",no_payments:\"No payments yet!\",not_selected:\"Not selected\",no_invoice:\"No invoice\",no_matching_payments:\"There are no matching payments!\",list_of_payments:\"This section will contain the list of payments.\",select_payment_mode:\"Select payment mode\",confirm_mark_as_sent:\"This estimate will be marked as sent\",confirm_send_payment:\"This payment will be sent via email to the customer\",send_payment_successfully:\"Payment sent successfully\",something_went_wrong:\"something went wrong\",confirm_delete:\"You will not be able to recover this Payment | You will not be able to recover these Payments\",created_message:\"Payment created successfully\",updated_message:\"Payment updated successfully\",deleted_message:\"Payment deleted successfully | Payments deleted successfully\",invalid_amount_message:\"Payment amount is invalid\"},po={title:\"Expenses\",expenses_list:\"Expenses List\",select_a_customer:\"Select a customer\",expense_title:\"Title\",customer:\"Customer\",currency:\"Currency\",contact:\"Contact\",category:\"Category\",from_date:\"From Date\",to_date:\"To Date\",expense_date:\"Date\",description:\"Description\",receipt:\"Receipt\",amount:\"Amount\",action:\"Action\",not_selected:\"Not selected\",note:\"Note\",category_id:\"Category Id\",date:\"Date\",add_expense:\"Add Expense\",add_new_expense:\"Add New Expense\",save_expense:\"Save Expense\",update_expense:\"Update Expense\",download_receipt:\"Download Receipt\",edit_expense:\"Edit Expense\",new_expense:\"New Expense\",expense:\"Expense | Expenses\",no_expenses:\"No expenses yet!\",list_of_expenses:\"This section will contain the list of expenses.\",confirm_delete:\"You will not be able to recover this Expense | You will not be able to recover these Expenses\",created_message:\"Expense created successfully\",updated_message:\"Expense updated successfully\",deleted_message:\"Expense deleted successfully | Expenses deleted successfully\",categories:{categories_list:\"Categories List\",title:\"Title\",name:\"Name\",description:\"Description\",amount:\"Amount\",actions:\"Actions\",add_category:\"Add Category\",new_category:\"New Category\",category:\"Category | Categories\",select_a_category:\"Select a category\"}},fo={email:\"Email\",password:\"Password\",forgot_password:\"Forgot Password?\",or_signIn_with:\"or Sign in with\",login:\"Login\",register:\"Register\",reset_password:\"Reset Password\",password_reset_successfully:\"Password Reset Successfully\",enter_email:\"Enter email\",enter_password:\"Enter Password\",retype_password:\"Retype Password\"},go={buy_now:\"Buy Now\",install:\"Install\",price:\"Price\",download_zip_file:\"Download ZIP file\",unzipping_package:\"Unzipping Package\",copying_files:\"Copying Files\",deleting_files:\"Deleting Unused files\",completing_installation:\"Completing Installation\",update_failed:\"Update Failed\",install_success:\"Module has been installed successfully!\",customer_reviews:\"Reviews\",license:\"License\",faq:\"FAQ\",monthly:\"Monthly\",yearly:\"Yearly\",updated:\"Updated\",version:\"Version\",disable:\"Disable\",module_disabled:\"Module Disabled\",enable:\"Enable\",module_enabled:\"Module Enabled\",update_to:\"Update To\",module_updated:\"Module Updated Successfully!\",title:\"Modules\",module:\"Module | Modules\",api_token:\"API token\",invalid_api_token:\"Invalid API Token.\",other_modules:\"Other Modules\",view_all:\"View All\",no_reviews_found:\"There are no reviews for this module yet!\",module_not_purchased:\"Module Not Purchased\",module_not_found:\"Module Not Found\",version_not_supported:\"The minimum required version for this module does not match. Please upgrade your crater app to version: {version} to proceed.\",last_updated:\"Last Updated On\",connect_installation:\"Connect your installation\",api_token_description:\"Login to {url} and connect this installation by entering the API Token. Your purchased modules will show up here after the connection is established.\",view_module:\"View Module\",update_available:\"Update Available\",purchased:\"Purchased\",installed:\"Installed\",no_modules_installed:\"No Modules Installed Yet!\",disable_warning:\"All the settings for this particular will be reverted.\",what_you_get:\"What you get\"},vo={title:\"Users\",users_list:\"Users List\",name:\"Name\",description:\"Description\",added_on:\"Added On\",date_of_creation:\"Date Of Creation\",action:\"Action\",add_user:\"Add User\",save_user:\"Save User\",update_user:\"Update User\",user:\"User | Users\",add_new_user:\"Add New User\",new_user:\"New User\",edit_user:\"Edit User\",no_users:\"No users yet!\",list_of_users:\"This section will contain the list of users.\",email:\"Email\",phone:\"Phone\",password:\"Password\",user_attached_message:\"Cannot delete an item which is already in use\",confirm_delete:\"You will not be able to recover this User | You will not be able to recover these Users\",created_message:\"User created successfully\",updated_message:\"User updated successfully\",deleted_message:\"User deleted successfully | Users deleted successfully\",select_company_role:\"Select Role for {company}\",companies:\"Companies\"},yo={title:\"Report\",from_date:\"From Date\",to_date:\"To Date\",status:\"Status\",paid:\"Paid\",unpaid:\"Unpaid\",download_pdf:\"Download PDF\",view_pdf:\"View PDF\",update_report:\"Update Report\",report:\"Report | Reports\",profit_loss:{profit_loss:\"Profit & Loss\",to_date:\"To Date\",from_date:\"From Date\",date_range:\"Select Date Range\"},sales:{sales:\"Sales\",date_range:\"Select Date Range\",to_date:\"To Date\",from_date:\"From Date\",report_type:\"Report Type\"},taxes:{taxes:\"Taxes\",to_date:\"To Date\",from_date:\"From Date\",date_range:\"Select Date Range\"},errors:{required:\"Field is required\"},invoices:{invoice:\"Invoice\",invoice_date:\"Invoice Date\",due_date:\"Due Date\",amount:\"Amount\",contact_name:\"Contact Name\",status:\"Status\"},estimates:{estimate:\"Estimate\",estimate_date:\"Estimate Date\",due_date:\"Due Date\",estimate_number:\"Estimate Number\",ref_number:\"Ref Number\",amount:\"Amount\",contact_name:\"Contact Name\",status:\"Status\"},expenses:{expenses:\"Expenses\",category:\"Category\",date:\"Date\",amount:\"Amount\",to_date:\"To Date\",from_date:\"From Date\",date_range:\"Select Date Range\"}},ho={menu_title:{account_settings:\"Account Settings\",company_information:\"Company Information\",customization:\"Customization\",preferences:\"Preferences\",notifications:\"Notifications\",tax_types:\"Tax Types\",expense_category:\"Expense Categories\",update_app:\"Update App\",backup:\"Backup\",file_disk:\"File Disk\",custom_fields:\"Custom Fields\",payment_modes:\"Payment Modes\",notes:\"Notes\",exchange_rate:\"Exchange Rate\",address_information:\"Address Information\"},address_information:{section_description:\"  You can update Your Address information using form below.\"},title:\"Settings\",setting:\"Settings | Settings\",general:\"General\",language:\"Language\",primary_currency:\"Primary Currency\",timezone:\"Time Zone\",date_format:\"Date Format\",currencies:{title:\"Currencies\",currency:\"Currency | Currencies\",currencies_list:\"Currencies List\",select_currency:\"Select Currency\",name:\"Name\",code:\"Code\",symbol:\"Symbol\",precision:\"Precision\",thousand_separator:\"Thousand Separator\",decimal_separator:\"Decimal Separator\",position:\"Position\",position_of_symbol:\"Position Of Symbol\",right:\"Right\",left:\"Left\",action:\"Action\",add_currency:\"Add Currency\"},mail:{host:\"Mail Host\",port:\"Mail Port\",driver:\"Mail Driver\",secret:\"Secret\",mailgun_secret:\"Mailgun Secret\",mailgun_domain:\"Domain\",mailgun_endpoint:\"Mailgun Endpoint\",ses_secret:\"SES Secret\",ses_key:\"SES Key\",password:\"Mail Password\",username:\"Mail Username\",mail_config:\"Mail Configuration\",from_name:\"From Mail Name\",from_mail:\"From Mail Address\",encryption:\"Mail Encryption\",mail_config_desc:\"Below is the form for Configuring Email driver for sending emails from the app. You can also configure third party providers like Sendgrid, SES etc.\"},pdf:{title:\"PDF Setting\",footer_text:\"Footer Text\",pdf_layout:\"PDF Layout\"},company_info:{company_info:\"Company info\",company_name:\"Company Name\",company_logo:\"Company Logo\",section_description:\"Information about your company that will be displayed on invoices, estimates and other documents created by Crater.\",phone:\"Phone\",country:\"Country\",state:\"State\",city:\"City\",address:\"Address\",zip:\"Zip\",save:\"Save\",delete:\"Delete\",updated_message:\"Company information updated successfully\",delete_company:\"Delete Company\",delete_company_description:\"Once you delete your company, you will lose all the data and files associated with it permanently.\",are_you_absolutely_sure:\"Are you absolutely sure?\",delete_company_modal_desc:\"This action cannot be undone. This will permanently delete {company} and all of its associated data.\",delete_company_modal_label:\"Please type {company} to confirm\"},custom_fields:{title:\"Custom Fields\",section_description:\"Customize your Invoices, Estimates & Payment Receipts with your own fields. Make sure to use the below added fields on the address formats on Customization settings page.\",add_custom_field:\"Add Custom Field\",edit_custom_field:\"Edit Custom Field\",field_name:\"Field Name\",label:\"Label\",type:\"Type\",name:\"Name\",slug:\"Slug\",required:\"Required\",placeholder:\"Placeholder\",help_text:\"Help Text\",default_value:\"Default Value\",prefix:\"Prefix\",starting_number:\"Starting Number\",model:\"Model\",help_text_description:\"Enter some text to help users understand the purpose of this custom field.\",suffix:\"Suffix\",yes:\"Yes\",no:\"No\",order:\"Order\",custom_field_confirm_delete:\"You will not be able to recover this Custom Field\",already_in_use:\"Custom Field is already in use\",deleted_message:\"Custom Field deleted successfully\",options:\"options\",add_option:\"Add Options\",add_another_option:\"Add another option\",sort_in_alphabetical_order:\"Sort in Alphabetical Order\",add_options_in_bulk:\"Add options in bulk\",use_predefined_options:\"Use Predefined Options\",select_custom_date:\"Select Custom Date\",select_relative_date:\"Select Relative Date\",ticked_by_default:\"Ticked by default\",updated_message:\"Custom Field updated successfully\",added_message:\"Custom Field added successfully\",press_enter_to_add:\"Press enter to add new option\",model_in_use:\"Cannot update model for fields which are already in use.\",type_in_use:\"Cannot update type for fields which are already in use.\"},customization:{customization:\"customization\",updated_message:\"Company information updated successfully\",save:\"Save\",insert_fields:\"Insert Fields\",learn_custom_format:\"Learn how to use custom format\",add_new_component:\"Add New Component\",component:\"Component\",Parameter:\"Parameter\",series:\"Series\",series_description:\"To set a static prefix/postfix like 'INV' across your company. It supports character length of up to 6 chars.\",series_param_label:\"Series Value\",delimiter:\"Delimiter\",delimiter_description:\"Single character for specifying the boundary between 2 separate components. By default its set to -\",delimiter_param_label:\"Delimiter Value\",date_format:\"Date Format\",date_format_description:\"A local date and time field which accepts a format parameter. The default format: 'Y' renders the current year.\",date_format_param_label:\"Format\",sequence:\"Sequence\",sequence_description:\"Consecutive sequence of numbers across your company. You can specify the length on the given parameter.\",sequence_param_label:\"Sequence Length\",customer_series:\"Customer Series\",customer_series_description:\"To set a different prefix/postfix for each customer.\",customer_sequence:\"Customer Sequence\",customer_sequence_description:\"Consecutive sequence of numbers for each of your customer.\",customer_sequence_param_label:\"Sequence Length\",random_sequence:\"Random Sequence\",random_sequence_description:\"Random alphanumeric string. You can specify the length on the given parameter.\",random_sequence_param_label:\"Sequence Length\",invoices:{title:\"Invoices\",invoice_number_format:\"Invoice Number Format\",invoice_number_format_description:\"Customize how your invoice number gets generated automatically when you create a new invoice.\",preview_invoice_number:\"Preview Invoice Number\",due_date:\"Due Date\",due_date_description:\"Specify how due date is automatically set when you create an invoice.\",due_date_days:\"Invoice Due after days\",set_due_date_automatically:\"Set Due Date Automatically\",set_due_date_automatically_description:\"Enable this if you wish to set due date automatically when you create a new invoice.\",default_formats:\"Default Formats\",default_formats_description:\"Below given formats are used to fill up the fields automatically on invoice creation.\",default_invoice_email_body:\"Default Invoice Email Body\",company_address_format:\"Company Address Format\",shipping_address_format:\"Shipping Address Format\",billing_address_format:\"Billing Address Format\",invoice_email_attachment:\"Send invoices as attachments\",invoice_email_attachment_setting_description:\"Enable this if you want to send invoices as email attachment. Please note that 'View Invoice' button in emails will not be displayed anymore when enabled.\",invoice_settings_updated:\"Invoice Settings updated successfully\",retrospective_edits:\"Retrospective Edits\",allow:\"Allow\",disable_on_invoice_partial_paid:\"Disable after partial payment is recorded\",disable_on_invoice_paid:\"Disable after full payment is recorded\",disable_on_invoice_sent:\"Disable after invoice is sent\",retrospective_edits_description:\" Based on your country's laws or your preference, you can restrict users from editing finalised invoices.\"},estimates:{title:\"Estimates\",estimate_number_format:\"Estimate Number Format\",estimate_number_format_description:\"Customize how your estimate number gets generated automatically when you create a new estimate.\",preview_estimate_number:\"Preview Estimate Number\",expiry_date:\"Expiry Date\",expiry_date_description:\"Specify how expiry date is automatically set when you create an estimate.\",expiry_date_days:\"Estimate Expires after days\",set_expiry_date_automatically:\"Set Expiry Date Automatically\",set_expiry_date_automatically_description:\"Enable this if you wish to set expiry date automatically when you create a new estimate.\",default_formats:\"Default Formats\",default_formats_description:\"Below given formats are used to fill up the fields automatically on estimate creation.\",default_estimate_email_body:\"Default Estimate Email Body\",company_address_format:\"Company Address Format\",shipping_address_format:\"Shipping Address Format\",billing_address_format:\"Billing Address Format\",estimate_email_attachment:\"Send estimates as attachments\",estimate_email_attachment_setting_description:\"Enable this if you want to send the estimates as an email attachment. Please note that 'View Estimate' button in emails will not be displayed anymore when enabled.\",estimate_settings_updated:\"Estimate Settings updated successfully\",convert_estimate_options:\"Estimate Convert Action\",convert_estimate_description:\"Specify what happens to the estimate after it gets converted to an invoice.\",no_action:\"No action\",delete_estimate:\"Delete estimate\",mark_estimate_as_accepted:\"Mark estimate as accepted\"},payments:{title:\"Payments\",payment_number_format:\"Payment Number Format\",payment_number_format_description:\"Customize how your payment number gets generated automatically when you create a new payment.\",preview_payment_number:\"Preview Payment Number\",default_formats:\"Default Formats\",default_formats_description:\"Below given formats are used to fill up the fields automatically on payment creation.\",default_payment_email_body:\"Default Payment Email Body\",company_address_format:\"Company Address Format\",from_customer_address_format:\"From Customer Address Format\",payment_email_attachment:\"Send payments as attachments\",payment_email_attachment_setting_description:\"Enable this if you want to send the payment receipts as an email attachment. Please note that 'View Payment' button in emails will not be displayed anymore when enabled.\",payment_settings_updated:\"Payment Settings updated successfully\"},items:{title:\"Items\",units:\"Units\",add_item_unit:\"Add Item Unit\",edit_item_unit:\"Edit Item Unit\",unit_name:\"Unit Name\",item_unit_added:\"Item Unit Added\",item_unit_updated:\"Item Unit Updated\",item_unit_confirm_delete:\"You will not be able to recover this Item unit\",already_in_use:\"Item Unit is already in use\",deleted_message:\"Item Unit deleted successfully\"},notes:{title:\"Notes\",description:\"Save time by creating notes and reusing them on your invoices, estimates & payments.\",notes:\"Notes\",type:\"Type\",add_note:\"Add Note\",add_new_note:\"Add New Note\",name:\"Name\",edit_note:\"Edit Note\",note_added:\"Note added successfully\",note_updated:\"Note Updated successfully\",note_confirm_delete:\"You will not be able to recover this Note\",already_in_use:\"Note is already in use\",deleted_message:\"Note deleted successfully\"}},account_settings:{profile_picture:\"Profile Picture\",name:\"Name\",email:\"Email\",password:\"Password\",confirm_password:\"Confirm Password\",account_settings:\"Account Settings\",save:\"Save\",section_description:\"You can update your name, email & password using the form below.\",updated_message:\"Account Settings updated successfully\"},user_profile:{name:\"Name\",email:\"Email\",password:\"Password\",confirm_password:\"Confirm Password\"},notification:{title:\"Notifications\",email:\"Send Notifications to\",description:\"Which email notifications would you like to receive when something changes?\",invoice_viewed:\"Invoice viewed\",invoice_viewed_desc:\"When your customer views the invoice sent via crater dashboard.\",estimate_viewed:\"Estimate viewed\",estimate_viewed_desc:\"When your customer views the estimate sent via crater dashboard.\",save:\"Save\",email_save_message:\"Email saved successfully\",please_enter_email:\"Please Enter Email\"},roles:{title:\"Roles\",description:\"Manage the roles & permissions of this company\",save:\"Save\",add_new_role:\"Add New Role\",role_name:\"Role Name\",added_on:\"Added on\",add_role:\"Add Role\",edit_role:\"Edit Role\",name:\"Name\",permission:\"Permission | Permissions\",select_all:\"Select All\",none:\"None\",confirm_delete:\"You will not be able to recover this Role\",created_message:\"Role created successfully\",updated_message:\"Role updated successfully\",deleted_message:\"Role deleted successfully\",already_in_use:\"Role is already in use\"},exchange_rate:{exchange_rate:\"Exchange Rate\",title:\"Fix Currency Exchange issues\",description:\"Please enter exchange rate of all the currencies mentioned below to help Crater properly calculate the amounts in {currency}.\",drivers:\"Drivers\",new_driver:\"Add New Provider\",edit_driver:\"Edit Provider\",select_driver:\"Select Driver\",update:\"select exchange rate \",providers_description:\"Configure your exchange rate providers here to automatically fetch the latest exchange rate on transactions.\",key:\"API Key\",name:\"Name\",driver:\"Driver\",is_default:\"IS DEFAULT\",currency:\"Currencies\",exchange_rate_confirm_delete:\"You will not be able to recover this driver\",created_message:\"Provider Created successfully\",updated_message:\"Provider Updated Successfully\",deleted_message:\"Provider Deleted Successfully\",error:\" You cannot Delete Active Driver\",default_currency_error:\"This currency is already used in one of the Active Provider\",exchange_help_text:\"Enter exchange rate to convert from {currency} to {baseCurrency}\",currency_freak:\"Currency Freak\",currency_layer:\"Currency Layer\",open_exchange_rate:\"Open Exchange Rate\",currency_converter:\"Currency Converter\",server:\"Server\",url:\"URL\",active:\"Active\",currency_help_text:\"This provider will only be used on above selected currencies\",currency_in_used:\"The following currencies are already active on another provider. Please remove these currencies from selection to activate this provider again.\"},tax_types:{title:\"Tax Types\",add_tax:\"Add Tax\",edit_tax:\"Edit Tax\",description:\"You can add or Remove Taxes as you please. Crater supports Taxes on Individual Items as well as on the invoice.\",add_new_tax:\"Add New Tax\",tax_settings:\"Tax Settings\",tax_per_item:\"Tax Per Item\",tax_name:\"Tax Name\",compound_tax:\"Compound Tax\",percent:\"Percent\",action:\"Action\",tax_setting_description:\"Enable this if you want to add taxes to individual invoice items. By default, taxes are added directly to the invoice.\",created_message:\"Tax type created successfully\",updated_message:\"Tax type updated successfully\",deleted_message:\"Tax type deleted successfully\",confirm_delete:\"You will not be able to recover this Tax Type\",already_in_use:\"Tax is already in use\"},payment_modes:{title:\"Payment Modes\",description:\"Modes of transaction for payments\",add_payment_mode:\"Add Payment Mode\",edit_payment_mode:\"Edit Payment Mode\",mode_name:\"Mode Name\",payment_mode_added:\"Payment Mode Added\",payment_mode_updated:\"Payment Mode Updated\",payment_mode_confirm_delete:\"You will not be able to recover this Payment Mode\",payments_attached:\"This payment method is already attached to payments. Please delete the attached payments to proceed with deletion.\",expenses_attached:\"This payment method is already attached to expenses. Please delete the attached expenses to proceed with deletion.\",deleted_message:\"Payment Mode deleted successfully\"},expense_category:{title:\"Expense Categories\",action:\"Action\",description:\"Categories are required for adding expense entries. You can Add or Remove these categories according to your preference.\",add_new_category:\"Add New Category\",add_category:\"Add Category\",edit_category:\"Edit Category\",category_name:\"Category Name\",category_description:\"Description\",created_message:\"Expense Category created successfully\",deleted_message:\"Expense category deleted successfully\",updated_message:\"Expense category updated successfully\",confirm_delete:\"You will not be able to recover this Expense Category\",already_in_use:\"Category is already in use\"},preferences:{currency:\"Currency\",default_language:\"Default Language\",time_zone:\"Time Zone\",fiscal_year:\"Financial Year\",date_format:\"Date Format\",discount_setting:\"Discount Setting\",discount_per_item:\"Discount Per Item \",discount_setting_description:\"Enable this if you want to add Discount to individual invoice items. By default, Discount is added directly to the invoice.\",expire_public_links:\"Automatically Expire Public Links\",expire_setting_description:\"Specify whether you would like to expire all the links sent by application to view invoices, estimates & payments, etc after a specified duration.\",save:\"Save\",preference:\"Preference | Preferences\",general_settings:\"Default preferences for the system.\",updated_message:\"Preferences updated successfully\",select_language:\"Select Language\",select_time_zone:\"Select Time Zone\",select_date_format:\"Select Date Format\",select_financial_year:\"Select Financial Year\",recurring_invoice_status:\"Recurring Invoice Status\",create_status:\"Create Status\",active:\"Active\",on_hold:\"On Hold\",update_status:\"Update Status\",completed:\"Completed\",company_currency_unchangeable:\"Company currency cannot be changed\"},update_app:{title:\"Update App\",description:\"You can easily update Crater by checking for a new update by clicking the button below\",check_update:\"Check for updates\",avail_update:\"New Update available\",next_version:\"Next version\",requirements:\"Requirements\",update:\"Update Now\",update_progress:\"Update in progress...\",progress_text:\"It will just take a few minutes. Please do not refresh the screen or close the window before the update finishes\",update_success:\"App has been updated! Please wait while your browser window gets reloaded automatically.\",latest_message:\"No update available! You are on the latest version.\",current_version:\"Current Version\",download_zip_file:\"Download ZIP file\",unzipping_package:\"Unzipping Package\",copying_files:\"Copying Files\",deleting_files:\"Deleting Unused files\",running_migrations:\"Running Migrations\",finishing_update:\"Finishing Update\",update_failed:\"Update Failed\",update_failed_text:\"Sorry! Your update failed on : {step} step\",update_warning:\"All of the application files and default template files will be overwritten when you update the application using this utility. Please take a backup of your templates & database before updating.\"},backup:{title:\"Backup | Backups\",description:\"The backup is a zipfile that contains all files in the directories you specify along with a dump of your database\",new_backup:\"Add New Backup\",create_backup:\"Create Backup\",select_backup_type:\"Select Backup Type\",backup_confirm_delete:\"You will not be able to recover this Backup\",path:\"path\",new_disk:\"New Disk\",created_at:\"created at\",size:\"size\",dropbox:\"dropbox\",local:\"local\",healthy:\"healthy\",amount_of_backups:\"amount of backups\",newest_backups:\"newest backups\",used_storage:\"used storage\",select_disk:\"Select Disk\",action:\"Action\",deleted_message:\"Backup deleted successfully\",created_message:\"Backup created successfully\",invalid_disk_credentials:\"Invalid credential of selected disk\"},disk:{title:\"File Disk | File Disks\",description:\"By default, Crater will use your local disk for saving backups, avatar and other image files. You can configure more than one disk drivers like DigitalOcean, S3 and Dropbox according to your preference.\",created_at:\"created at\",dropbox:\"dropbox\",name:\"Name\",driver:\"Driver\",disk_type:\"Type\",disk_name:\"Disk Name\",new_disk:\"Add New Disk\",filesystem_driver:\"Filesystem Driver\",local_driver:\"local Driver\",local_root:\"local Root\",public_driver:\"Public Driver\",public_root:\"Public Root\",public_url:\"Public URL\",public_visibility:\"Public Visibility\",media_driver:\"Media Driver\",media_root:\"Media Root\",aws_driver:\"AWS Driver\",aws_key:\"AWS Key\",aws_secret:\"AWS Secret\",aws_region:\"AWS Region\",aws_bucket:\"AWS Bucket\",aws_root:\"AWS Root\",do_spaces_type:\"Do Spaces type\",do_spaces_key:\"Do Spaces key\",do_spaces_secret:\"Do Spaces Secret\",do_spaces_region:\"Do Spaces Region\",do_spaces_bucket:\"Do Spaces Bucket\",do_spaces_endpoint:\"Do Spaces Endpoint\",do_spaces_root:\"Do Spaces Root\",dropbox_type:\"Dropbox Type\",dropbox_token:\"Dropbox Token\",dropbox_key:\"Dropbox Key\",dropbox_secret:\"Dropbox Secret\",dropbox_app:\"Dropbox App\",dropbox_root:\"Dropbox Root\",default_driver:\"Default Driver\",is_default:\"IS DEFAULT\",set_default_disk:\"Set Default Disk\",set_default_disk_confirm:\"This disk will be set as default and all the new PDFs will be saved on this disk\",success_set_default_disk:\"Disk set as default successfully\",save_pdf_to_disk:\"Save PDFs to Disk\",disk_setting_description:\" Enable this, if you wish to save a copy of each Invoice, Estimate & Payment Receipt PDF on your default disk automatically. Turning this option will decrease the load-time when viewing the PDFs.\",select_disk:\"Select Disk\",disk_settings:\"Disk Settings\",confirm_delete:\"Your existing files & folders in the specified disk will not be affected but your disk configuration will be deleted from Crater\",action:\"Action\",edit_file_disk:\"Edit File Disk\",success_create:\"Disk added successfully\",success_update:\"Disk updated successfully\",error:\"Disk addition failed\",deleted_message:\"File Disk deleted successfully\",disk_variables_save_successfully:\"Disk Configured Successfully\",disk_variables_save_error:\"Disk configuration failed.\",invalid_disk_credentials:\"Invalid credential of selected disk\"},taxations:{add_billing_address:\"Enter Billing Address\",add_shipping_address:\"Enter Shipping Address\",add_company_address:\"Enter Company Address\",modal_description:\"The information below is required in order to fetch sales tax.\",add_address:\"Add Address for fetching sales tax.\",address_placeholder:\"Example: 123, My Street\",city_placeholder:\"Example: Los Angeles\",state_placeholder:\"Example: CA\",zip_placeholder:\"Example: 90024\",invalid_address:\"Please provide valid address details.\"}},bo={account_info:\"Account Information\",account_info_desc:\"Below details will be used to create the main Administrator account. Also you can change the details anytime after logging in.\",name:\"Name\",email:\"Email\",password:\"Password\",confirm_password:\"Confirm Password\",save_cont:\"Save & Continue\",company_info:\"Company Information\",company_info_desc:\"This information will be displayed on invoices. Note that you can edit this later on settings page.\",company_name:\"Company Name\",company_logo:\"Company Logo\",logo_preview:\"Logo Preview\",preferences:\"Company Preferences\",preferences_desc:\"Specify the default preferences for this company.\",currency_set_alert:\"The company's currency cannot be changed later.\",country:\"Country\",state:\"State\",city:\"City\",address:\"Address\",street:\"Street1 | Street2\",phone:\"Phone\",zip_code:\"Zip Code\",go_back:\"Go Back\",currency:\"Currency\",language:\"Language\",time_zone:\"Time Zone\",fiscal_year:\"Financial Year\",date_format:\"Date Format\",from_address:\"From Address\",username:\"Username\",next:\"Next\",continue:\"Continue\",skip:\"Skip\",database:{database:\"Site URL & Database\",connection:\"Database Connection\",host:\"Database Host\",port:\"Database Port\",password:\"Database Password\",app_url:\"App URL\",app_domain:\"App Domain\",username:\"Database Username\",db_name:\"Database Name\",db_path:\"Database Path\",desc:\"Create a database on your server and set the credentials using the form below.\"},permissions:{permissions:\"Permissions\",permission_confirm_title:\"Are you sure you want to continue?\",permission_confirm_desc:\"Folder permission check failed\",permission_desc:\"Below is the list of folder permissions which are required in order for the app to work. If the permission check fails, make sure to update your folder permissions.\"},verify_domain:{title:\"Domain Verification\",desc:\"Crater uses Session based authentication which requires domain verification for security purposes. Please enter the domain on which you will be accessing your web application.\",app_domain:\"App Domain\",verify_now:\"Verify Now\",success:\"Domain Verify Successfully.\",failed:\"Domain verification failed. Please enter valid domain name.\",verify_and_continue:\"Verify And Continue\"},mail:{host:\"Mail Host\",port:\"Mail Port\",driver:\"Mail Driver\",secret:\"Secret\",mailgun_secret:\"Mailgun Secret\",mailgun_domain:\"Domain\",mailgun_endpoint:\"Mailgun Endpoint\",ses_secret:\"SES Secret\",ses_key:\"SES Key\",password:\"Mail Password\",username:\"Mail Username\",mail_config:\"Mail Configuration\",from_name:\"From Mail Name\",from_mail:\"From Mail Address\",encryption:\"Mail Encryption\",mail_config_desc:\"Below is the form for Configuring Email driver for sending emails from the app. You can also configure third party providers like Sendgrid, SES etc.\"},req:{system_req:\"System Requirements\",php_req_version:\"Php (version {version} required)\",check_req:\"Check Requirements\",system_req_desc:\"Crater has a few server requirements. Make sure that your server has the required php version and all the extensions mentioned below.\"},errors:{migrate_failed:\"Migrate Failed\",database_variables_save_error:\"Cannot write configuration to .env file. Please check its file permissions\",mail_variables_save_error:\"Email configuration failed.\",connection_failed:\"Database connection failed\",database_should_be_empty:\"Database should be empty\"},success:{mail_variables_save_successfully:\"Email configured successfully\",database_variables_save_successfully:\"Database configured successfully.\"}},ko={invalid_phone:\"Invalid Phone Number\",invalid_url:\"Invalid url (ex: http://www.craterapp.com)\",invalid_domain_url:\"Invalid url (ex: craterapp.com)\",required:\"Field is required\",email_incorrect:\"Incorrect Email.\",email_already_taken:\"The email has already been taken.\",email_does_not_exist:\"User with given email doesn't exist\",item_unit_already_taken:\"This item unit name has already been taken\",payment_mode_already_taken:\"This payment mode name has already been taken\",send_reset_link:\"Send Reset Link\",not_yet:\"Not yet? Send it again\",password_min_length:\"Password must contain {count} characters\",name_min_length:\"Name must have at least {count} letters.\",prefix_min_length:\"Prefix must have at least {count} letters.\",enter_valid_tax_rate:\"Enter valid tax rate\",numbers_only:\"Numbers Only.\",characters_only:\"Characters Only.\",password_incorrect:\"Passwords must be identical\",password_length:\"Password must be {count} character long.\",qty_must_greater_than_zero:\"Quantity must be greater than zero.\",price_greater_than_zero:\"Price must be greater than zero.\",payment_greater_than_zero:\"Payment must be greater than zero.\",payment_greater_than_due_amount:\"Entered Payment is more than due amount of this invoice.\",quantity_maxlength:\"Quantity should not be greater than 20 digits.\",price_maxlength:\"Price should not be greater than 20 digits.\",price_minvalue:\"Price should be greater than 0.\",amount_maxlength:\"Amount should not be greater than 20 digits.\",amount_minvalue:\"Amount should be greater than 0.\",discount_maxlength:\"Discount should not be greater than max discount\",description_maxlength:\"Description should not be greater than 255 characters.\",subject_maxlength:\"Subject should not be greater than 100 characters.\",message_maxlength:\"Message should not be greater than 255 characters.\",maximum_options_error:\"Maximum  of {max} options selected. First remove a selected option to select another.\",notes_maxlength:\"Notes should not be greater than 65,000 characters.\",address_maxlength:\"Address should not be greater than 255 characters.\",ref_number_maxlength:\"Ref Number should not be greater than 255 characters.\",prefix_maxlength:\"Prefix should not be greater than 5 characters.\",something_went_wrong:\"something went wrong\",number_length_minvalue:\"Number length should be greater than 0\",at_least_one_ability:\"Please select atleast one Permission.\",valid_driver_key:\"Please enter a valid {driver} key.\",valid_exchange_rate:\"Please enter a valid exchange rate.\",company_name_not_same:\"Company name must match with given name.\"},wo={starter_plan:\"This feature is available on Starter plan and onwards!\",invalid_provider_key:\"Please Enter Valid Provider API Key.\",estimate_number_used:\"The estimate number has already been taken.\",invoice_number_used:\"The invoice number has already been taken.\",payment_attached:\"This invoice already has a payment attached to it. Make sure to delete the attached payments first in order to go ahead with the removal.\",payment_number_used:\"The payment number has already been taken.\",name_already_taken:\"The name has already been taken.\",receipt_does_not_exist:\"Receipt does not exist.\",customer_cannot_be_changed_after_payment_is_added:\"Customer cannot be change after payment is added\",invalid_credentials:\"Invalid  Credentials.\",not_allowed:\"Not Allowed\",login_invalid_credentials:\"These credentials do not match our records.\",enter_valid_cron_format:\"Please enter a valid cron format\",email_could_not_be_sent:\"Email could not be sent to this email address.\",invalid_address:\"Please enter a valid address.\",invalid_key:\"Please enter valid key.\",invalid_state:\"Please enter a valid state.\",invalid_city:\"Please enter a valid city.\",invalid_postal_code:\"Please enter a valid zip.\",invalid_format:\"Please enter valid query string format.\",api_error:\"Server not responding.\",feature_not_enabled:\"Feature not enabled.\",request_limit_met:\"Api request limit exceeded.\",address_incomplete:\"Incomplete Address\"},zo=\"Estimate\",xo=\"Estimate Number\",Po=\"Estimate Date\",So=\"Expiry date\",jo=\"Invoice\",Ao=\"Invoice Number\",Do=\"Invoice Date\",Co=\"Due date\",No=\"Notes\",Eo=\"Items\",Io=\"Quantity\",To=\"Price\",Ro=\"Discount\",Mo=\"Amount\",Fo=\"Subtotal\",$o=\"Total\",Uo=\"Payment\",Vo=\"PAYMENT RECEIPT\",Oo=\"Payment Date\",Lo=\"Payment Number\",qo=\"Payment Mode\",Bo=\"Amount Received\",Ko=\"EXPENSES REPORT\",Zo=\"TOTAL EXPENSE\",Wo=\"PROFIT & LOSS REPORT\",Ho=\"Sales Customer Report\",Yo=\"Sales Item Report\",Go=\"Tax Summary Report\",Jo=\"INCOME\",Qo=\"NET PROFIT\",Xo=\"Sales Report: By Customer\",es=\"TOTAL SALES\",ts=\"Sales Report: By Item\",as=\"TAX REPORT\",ns=\"TOTAL TAX\",is=\"Tax Types\",os=\"Expenses\",ss=\"Bill to,\",rs=\"Ship to,\",ds=\"Received from:\",ls=\"Tax\";var cs={navigation:eo,general:to,dashboard:ao,tax_types:no,global_search:io,company_switcher:oo,dateRange:so,customers:ro,items:lo,estimates:co,invoices:_o,recurring_invoices:uo,payments:mo,expenses:po,login:fo,modules:go,users:vo,reports:yo,settings:ho,wizard:bo,validation:ko,errors:wo,pdf_estimate_label:zo,pdf_estimate_number:xo,pdf_estimate_date:Po,pdf_estimate_expire_date:So,pdf_invoice_label:jo,pdf_invoice_number:Ao,pdf_invoice_date:Do,pdf_invoice_due_date:Co,pdf_notes:No,pdf_items_label:Eo,pdf_quantity_label:Io,pdf_price_label:To,pdf_discount_label:Ro,pdf_amount_label:Mo,pdf_subtotal:Fo,pdf_total:$o,pdf_payment_label:Uo,pdf_payment_receipt_label:Vo,pdf_payment_date:Oo,pdf_payment_number:Lo,pdf_payment_mode:qo,pdf_payment_amount_received_label:Bo,pdf_expense_report_label:Ko,pdf_total_expenses_label:Zo,pdf_profit_loss_label:Wo,pdf_sales_customers_label:Ho,pdf_sales_items_label:Yo,pdf_tax_summery_label:Go,pdf_income_label:Jo,pdf_net_profit_label:Qo,pdf_customer_sales_report:Xo,pdf_total_sales_label:es,pdf_item_sales_label:ts,pdf_tax_report_label:as,pdf_total_tax_label:ns,pdf_tax_types_label:is,pdf_expenses_label:os,pdf_bill_to:ss,pdf_ship_to:rs,pdf_received_from:ds,pdf_tax_label:ls};const _s={dashboard:\"Tableau de bord\",customers:\"Clients\",items:\"Articles\",invoices:\"Factures\",\"recurring-invoices\":\"Factures r\\xE9currentes\",expenses:\"D\\xE9penses\",estimates:\"Devis\",payments:\"Paiements\",reports:\"Rapports\",settings:\"Param\\xE8tres\",logout:\"D\\xE9connexion\",users:\"Utilisateurs\",modules:\"Modules\"},us={add_company:\"Ajouter une entreprise\",view_pdf:\"Afficher le PDF\",copy_pdf_url:\"Copier l'URL du PDF\",download_pdf:\"T\\xE9l\\xE9charger le PDF\",save:\"Enregistrer\",create:\"Cr\\xE9er\",cancel:\"Annuler\",update:\"Mettre \\xE0 jour\",deselect:\"Enlever\",download:\"T\\xE9l\\xE9charger\",from_date:\"Du\",to_date:\"Au\",from:\"Du\",to:\"Au\",ok:\"Ok\",yes:\"Oui\",no:\"Non\",sort_by:\"Trier par\",ascending:\"Ascendant\",descending:\"Descendant\",subject:\"Objet\",body:\"Message\",message:\"Message\",send:\"Envoyer\",preview:\"Aper\\xE7u\",go_back:\"Retourner\",back_to_login:\"Revenir \\xE0 la page de connexion ?\",home:\"Tableau de bord\",filter:\"Filtrer\",delete:\"Supprimer\",edit:\"Modifier\",view:\"Afficher\",add_new_item:\"Ajouter une ligne\",clear_all:\"Tout supprimer\",showing:\"Affichage \",of:\"sur\",actions:\"Actions\",subtotal:\"SOUS-TOTAL\",discount:\"REMISE\",fixed:\"Fixe\",percentage:\"Pourcentage\",tax:\"TAXE\",total_amount:\"TOTAL \",bill_to:\"Facturer \\xE0\",ship_to:\"Exp\\xE9dier \\xE0\",due:\"En cours\",draft:\"Brouillon\",sent:\"Envoy\\xE9e\",all:\"Tout\",select_all:\"Tout s\\xE9lectionner\",select_template:\"Mod\\xE8le\",choose_file:\"Cliquez ici pour choisir un fichier\",choose_template:\"Choisissez un mod\\xE8le\",choose:\"Choisir\",remove:\"Supprimer\",select_a_status:\"S\\xE9lectionnez un statut\",select_a_tax:\"S\\xE9lectionnez une taxe\",search:\"Rechercher\",are_you_sure:\"\\xCAtes-vous s\\xFBr ?\",list_is_empty:\"La liste est vide.\",no_tax_found:\"Aucune taxe trouv\\xE9e !\",four_zero_four:\"404\",you_got_lost:\"Oups! Vous vous \\xEAtes perdus!\",go_home:\"Retour au tableau de bord\",test_mail_conf:\"Envoyer un email de test\",send_mail_successfully:\"Email envoy\\xE9\",setting_updated:\"Param\\xE8tres mis \\xE0 jour\",select_state:\"S\\xE9lectionnez l'\\xE9tat\",select_country:\"Choisissez le pays\",select_city:\"S\\xE9lectionnez une ville\",street_1:\"Rue, voie, boite postale\",street_2:\"B\\xE2timent, \\xE9tage, lieu-dit, compl\\xE9ment,...\",action_failed:\"Action : \\xE9chou\\xE9\",retry:\"R\\xE9essayez\",choose_note:\"Choisissez une note de bas de page\",no_note_found:\"Aucune note de bas de page trouv\\xE9e\",insert_note:\"Ins\\xE9rer une note\",copied_pdf_url_clipboard:\"L'adresse du PDF a \\xE9t\\xE9 copi\\xE9e.\",copied_url_clipboard:\"URL copi\\xE9e vers le presse-papier!\",docs:\"Documents\",do_you_wish_to_continue:\"Voulez-vous continuer ?\",note:\"Note de bas de page\",pay_invoice:\"Payer facture\",login_successfully:\"Identifi\\xE9 avec succ\\xE8s!\",logged_out_successfully:\"D\\xE9connect\\xE9 avec succ\\xE8s\",mark_as_default:\"Mark as default\"},ms={select_year:\"S\\xE9lectionnez l'ann\\xE9e\",cards:{due_amount:\"Encours clients\",customers:\"Clients\",invoices:\"Factures\",estimates:\"Devis\",payments:\"Payments\"},chart_info:{total_sales:\"Ventes\",total_receipts:\"Recettes\",total_expense:\"D\\xE9penses\",net_income:\"R\\xE9sultat\",year:\"S\\xE9lectionnez l'ann\\xE9e\"},monthly_chart:{title:\"Recettes et d\\xE9penses\"},recent_invoices_card:{title:\"Factures en cours\",due_on:\"\\xC9ch\\xE9ance\",customer:\"Client\",amount_due:\"Montant\",actions:\"Actions\",view_all:\"Tout afficher\"},recent_estimate_card:{title:\"Devis r\\xE9cents\",date:\"Expiration\",customer:\"Client\",amount_due:\"Montant\",actions:\"Actions\",view_all:\"Tout afficher\"}},ps={name:\"Nom\",description:\"Description\",percent:\"Pourcentage\",compound_tax:\"Taxe compos\\xE9e\"},fs={search:\"Rechercher\",customers:\"Clients\",users:\"Utilisateurs\",no_results_found:\"Aucun r\\xE9sultat\"},gs={label:\"CHANGER DE SOCI\\xC9T\\xC9\",no_results_found:\"Aucun r\\xE9sultat\",add_new_company:\"Ajouter une soci\\xE9t\\xE9\",new_company:\"Nouvelle soci\\xE9t\\xE9\",created_message:\"Soci\\xE9t\\xE9 cr\\xE9\\xE9e\"},vs={today:\"Aujourd'hui\",this_week:\"Cette semaine\",this_month:\"Ce mois\",this_quarter:\"Ce trimestre\",this_year:\"Cette ann\\xE9e\",previous_week:\"Semaine pr\\xE9c\\xE9dente\",previous_month:\"Mois pr\\xE9c\\xE9dent\",previous_quarter:\"Trimestre pr\\xE9c\\xE9dent\",previous_year:\"Ann\\xE9e pr\\xE9c\\xE9dente\",custom:\"Personnalis\\xE9e\"},ys={title:\"Clients\",prefix:\"Code client\",add_customer:\"Ajouter un client\",contacts_list:\"Liste de clients\",name:\"Nom\",mail:\"Email | Emails\",statement:\"D\\xE9claration\",display_name:\"Nom\",primary_contact_name:\"Contact principal\",contact_name:\"Contact\",amount_due:\"Montant d\\xFB\",email:\"Email\",address:\"Adresse\",phone:\"T\\xE9l\\xE9phone\",website:\"Site Internet\",overview:\"Aper\\xE7u\",invoice_prefix:\"Pr\\xE9fixe de facture\",estimate_prefix:\"Pr\\xE9fixe des devis\",payment_prefix:\"Pr\\xE9fixe de paiement\",enable_portal:\"Activer le portail\",country:\"Pays\",state:\"\\xC9tat\",city:\"Ville\",zip_code:\"Code postal\",added_on:\"Ajout\\xE9 le\",action:\"Action\",password:\"Mot de passe\",confirm_password:\"Confirmez le mot de passe\",street_number:\"Num\\xE9ro de rue\",primary_currency:\"Devise principale\",description:\"Description\",add_new_customer:\"Ajouter un client\",save_customer:\"Enregistrer\",update_customer:\"Enregistrer\",customer:\"Client | Clients\",new_customer:\"Nouveau client\",edit_customer:\"Modifier le client\",basic_info:\"Informations de base\",portal_access:\"Acc\\xE8s Portail\",portal_access_text:\"Souhaitez vous autoriser ce client \\xE0 se connecter au Portail Client ?\",portal_access_url:\"URL de connexion Portail Client\",portal_access_url_help:\"Veuillez copiez et envoyez le lien ci-dessus au client pour lui fournir l'acc\\xE8s au portail.\",billing_address:\"Adresse de facturation\",shipping_address:\"Adresse de livraison\",copy_billing_address:\"Copier depuis l'adresse de facturation\",no_customers:\"Vous n\\u2019avez pas encore de clients !\",no_customers_found:\"Aucun client\",no_contact:\"-\",no_contact_name:\"-\",list_of_customers:\"Ajoutez des clients et retrouvez-les ici.\",primary_display_name:\"Nom d'affichage principal\",select_currency:\"S\\xE9lectionnez la devise\",select_a_customer:\"S\\xE9lectionnez un client\",type_or_click:\"S\\xE9lectionnez un article\",new_transaction:\"Ajouter une op\\xE9ration\",no_matching_customers:\"Il n'y a aucun client correspondant !\",phone_number:\"Num\\xE9ro de t\\xE9l\\xE9phone\",create_date:\"Date de cr\\xE9ation\",confirm_delete:\"Vous ne pourrez pas r\\xE9cup\\xE9rer ce client et les devis, factures et paiements associ\\xE9s. | Vous ne serez pas en mesure de r\\xE9cup\\xE9rer ces clients et les devis, factures et paiements associ\\xE9s.\",created_message:\"Client cr\\xE9\\xE9\",updated_message:\"Client mis \\xE0 jour\",address_updated_message:\"Adresse mise \\xE0 jour avec succ\\xE8s\",deleted_message:\"Client supprim\\xE9 | Clients supprim\\xE9s\",edit_currency_not_allowed:\"Impossible de changer de devise une fois les transactions cr\\xE9\\xE9es.\"},hs={title:\"Articles\",items_list:\"Liste d'articles\",name:\"Nom\",unit:\"Unit\\xE9\",description:\"Description\",added_on:\"Ajout\\xE9 le\",price:\"Prix\",date_of_creation:\"Date de cr\\xE9ation\",not_selected:\"Aucun article s\\xE9lectionn\\xE9\",action:\"Action\",add_item:\"Nouvel article\",save_item:\"Enregistrer\",update_item:\"Enregistrer\",item:\"Article | Articles\",add_new_item:\"Ajouter un article\",new_item:\"Nouvel article\",edit_item:\"Modifier cet article\",no_items:\"Aucun article\",list_of_items:\"Ajoutez des articles et retrouvez-les ici\",select_a_unit:\"S\\xE9lectionnez l'unit\\xE9\",taxes:\"Taxes\",item_attached_message:\"Impossible de supprimer un article d\\xE9j\\xE0 utilis\\xE9\",confirm_delete:\"Vous ne pourrez pas r\\xE9cup\\xE9rer cet article | Vous ne pourrez pas r\\xE9cup\\xE9rer ces objets\",created_message:\"Article cr\\xE9\\xE9\",updated_message:\"Article mis \\xE0 jour\",deleted_message:\"Article supprim\\xE9 avec succ\\xE8s | Articles supprim\\xE9s avec succ\\xE8s\"},bs={title:\"Devis\",accept_estimate:\"Accepter devis\",reject_estimate:\"Rejeter devis\",estimate:\"Devis | Devis\",estimates_list:\"Liste des devis\",days:\"{days} jours\",months:\"{months} mois\",years:\"{years} Ann\\xE9e\",all:\"Tous\",paid:\"Pay\\xE9\",unpaid:\"Non pay\\xE9\",customer:\"Client\",ref_no:\"R\\xE9f.\",number:\"N\\xB0\",amount_due:\"MONTANT\",partially_paid:\"Partiellement pay\\xE9\",total:\"Total\",discount:\"Remise\",sub_total:\"Sous-total\",estimate_number:\"N\\xB0\",ref_number:\"R\\xE9f\\xE9rence\",contact:\"Contact\",add_item:\"Ajouter un article\",date:\"Date\",due_date:\"Date d'\\xE9ch\\xE9ance\",expiry_date:\"Date d'expiration\",status:\"Statut\",add_tax:\"Ajouter une taxe\",amount:\"Montant\",action:\"Action\",notes:\"Notes de bas de page\",tax:\"Taxe\",estimate_template:\"Mod\\xE8le de devis\",convert_to_invoice:\"Convertir en facture\",mark_as_sent:\"Marquer comme envoy\\xE9\",send_estimate:\"Envoyer par email\",resend_estimate:\"Renvoyer le devis\",record_payment:\"Enregistrer un paiement\",add_estimate:\"Nouveau devis\",save_estimate:\"Enregistrer\",confirm_conversion:\"Ce devis sera utilis\\xE9 pour cr\\xE9er une nouvelle facture.\",conversion_message:\"Conversion r\\xE9ussie\",confirm_send_estimate:\"Ce devis sera envoy\\xE9e par email au client\",confirm_mark_as_sent:\"Ce devis sera marqu\\xE9 comme envoy\\xE9\",confirm_mark_as_accepted:\"Ce devis sera marqu\\xE9 comme accept\\xE9\",confirm_mark_as_rejected:\"Ce devis sera marqu\\xE9 comme rejet\\xE9\",no_matching_estimates:\"Aucune estimation correspondante !\",mark_as_sent_successfully:\"Devis marqu\\xE9 comme envoy\\xE9\",send_estimate_successfully:\"Devis envoy\\xE9\",errors:{required:\"Champ requis\"},accepted:\"Accept\\xE9\",rejected:\"Refus\\xE9\",expired:\"Expired\",sent:\"Envoy\\xE9\",draft:\"Brouillon\",viewed:\"Viewed\",declined:\"Refus\\xE9\",new_estimate:\"Nouveau devis\",add_new_estimate:\"Nouveau devis\",update_Estimate:\"Enregistrer\",edit_estimate:\"Modifier ce devis\",items:\"articles\",Estimate:\"Devis | Devis\",add_new_tax:\"Ajouter une taxe\",no_estimates:\"Aucun devis\",list_of_estimates:\"Ajoutez des clients et retrouvez-les ici\",mark_as_rejected:\"Marquer comme rejet\\xE9\",mark_as_accepted:\"Marquer comme accept\\xE9\",marked_as_accepted_message:\"Devis marqu\\xE9 comme accept\\xE9\",marked_as_rejected_message:\"Devis marqu\\xE9 comme rejet\\xE9\",confirm_delete:\"Vous ne pourrez pas r\\xE9cup\\xE9rer ce devis | Vous ne pourrez pas r\\xE9cup\\xE9rer ces devis\",created_message:\"Devis cr\\xE9\\xE9\",updated_message:\"Devis mise \\xE0 jour\",deleted_message:\"Devis supprim\\xE9 | Devis supprim\\xE9s\",something_went_wrong:\"quelque chose a mal tourn\\xE9\",item:{title:\"Titre de l'article\",description:\"Description\",quantity:\"Quantit\\xE9\",price:\"Prix\",discount:\"Remise\",total:\"Total\",total_discount:\"Remise totale\",sub_total:\"Sous-total\",tax:\"Taxe\",amount:\"Montant\",select_an_item:\"S\\xE9lectionnez un article\",type_item_description:\"Taper la description de l'article (facultatif)\"},mark_as_default_estimate_template_description:\"If enabled, the selected template will be automatically selected for new estimates.\"},ks={title:\"Factures\",download:\"T\\xE9l\\xE9charger\",pay_invoice:\"Payer facture\",invoices_list:\"Liste des factures\",invoice_information:\"Informations sur la facture\",days:\"{days} jours\",months:\"{months} mois\",years:\"{years} ann\\xE9es\",all:\"Toutes\",paid:\"Pay\\xE9e\",unpaid:\"Non pay\\xE9e\",viewed:\"Consult\\xE9e\",overdue:\"En retard\",completed:\"Pay\\xE9e\",customer:\"CLIENT\",paid_status:\"\\xC9tat du paiement\",ref_no:\"R\\xE9f.\",number:\"N\\xB0\",amount_due:\"MONTANT\",partially_paid:\"Partiellement pay\\xE9e\",total:\"Total\",discount:\"Remise\",sub_total:\"Sous-total\",invoice:\"Facture | Factures\",invoice_number:\"N\\xB0\",ref_number:\"R\\xE9f\\xE9rence\",contact:\"Contact\",add_item:\"Nouvel article\",date:\"Date\",due_date:\"Date d'\\xE9ch\\xE9ance\",status:\"Statut\",add_tax:\"Ajouter une taxe\",amount:\"Montant\",action:\"Action\",notes:\"Notes de bas de page\",view:\"Afficher\",send_invoice:\"Envoyer par email\",resend_invoice:\"Renvoyer la facture\",invoice_template:\"Mod\\xE8le de facture\",conversion_message:\"Facture clon\\xE9e\",template:\"Mod\\xE8le\",mark_as_sent:\"Marquer comme envoy\\xE9e\",confirm_send_invoice:\"Cette facture sera envoy\\xE9e par email au client\",invoice_mark_as_sent:\"Cette facture sera marqu\\xE9e comme envoy\\xE9\",confirm_mark_as_accepted:\"Cette facture sera marqu\\xE9e comme accept\\xE9e\",confirm_mark_as_rejected:\"Cette facture sera marqu\\xE9e comme rejet\\xE9e\",confirm_send:\"Cette facture sera envoy\\xE9e par email au client\",invoice_date:\"Date\",record_payment:\"Enregistrer un paiement\",add_new_invoice:\"Nouvelle facture\",update_expense:\"Enregistrer la d\\xE9pense\",edit_invoice:\"Modifier cette facture\",new_invoice:\"Nouvelle facture\",save_invoice:\"Enregistrer\",update_invoice:\"Enregistrer\",add_new_tax:\"Ajouter une taxe\",no_invoices:\"Aucune facture\",mark_as_rejected:\"Marquer comme rejet\\xE9e\",mark_as_accepted:\"Marquer comme accept\\xE9e\",list_of_invoices:\"Ajoutez des factures et retrouvez-les ici\",select_invoice:\"S\\xE9lectionnez facture\",no_matching_invoices:\"Aucune facture correspondante !\",mark_as_sent_successfully:\"Facture marqu\\xE9e comme envoy\\xE9e\",invoice_sent_successfully:\"Facture envoy\\xE9e\",cloned_successfully:\"Facture clon\\xE9e\",clone_invoice:\"Dupliquer\",confirm_clone:\"Cette facture sera dupliqu\\xE9e dans une nouvelle facture\",item:{title:\"Titre de l'article\",description:\"Description\",quantity:\"Quantit\\xE9\",price:\"Prix\",discount:\"Remise\",total:\"Total\",total_discount:\"Remise totale\",sub_total:\"Sous-total\",tax:\"Taxe\",amount:\"Montant\",select_an_item:\"S\\xE9lectionnez un article\",type_item_description:\"Saisissez une description (facultatif)\"},payment_attached_message:\"Un paiement est li\\xE9 \\xE0 l'une des factures s\\xE9lectionn\\xE9es. Veuillez d'abord les supprimer, puis r\\xE9essayez\",confirm_delete:\"Vous ne pourrez pas r\\xE9cup\\xE9rer cette facture | Vous ne pourrez pas r\\xE9cup\\xE9rer ces factures\",created_message:\"Facture cr\\xE9\\xE9e\",updated_message:\"Facture mise \\xE0 jour\",deleted_message:\"La facture a \\xE9t\\xE9 supprim\\xE9e | Les factures ont \\xE9t\\xE9 supprim\\xE9es\",marked_as_sent_message:\"Facture supprim\\xE9e | Factures supprim\\xE9es\",something_went_wrong:\"quelque chose a mal tourn\\xE9\",invalid_due_amount_message:\"Le paiement entr\\xE9 est sup\\xE9rieur au montant total d\\xFB pour cette facture. Veuillez v\\xE9rifier et r\\xE9essayer.\",mark_as_default_invoice_template_description:\"If enabled, the selected template will be automatically selected for new invoices.\"},ws={title:\"Factures r\\xE9currentes\",invoices_list:\"Liste des factures r\\xE9currentes\",days:\"{days} jours\",months:\"{months} mois\",years:\"{years} ans\",all:\"Toutes\",paid:\"Pay\\xE9e\",unpaid:\"Non pay\\xE9e\",viewed:\"Consult\\xE9e\",overdue:\"En retard\",active:\"Active\",completed:\"Pay\\xE9e\",customer:\"CLIENT\",paid_status:\"\\xC9TAT DU PAIEMENT\",ref_no:\"N\\xB0 de REF.\",number:\"N\\xB0\",amount_due:\"MONTANT D\\xDB\",partially_paid:\"Partiellement pay\\xE9e\",total:\"Total\",discount:\"Remise\",sub_total:\"Sous-total\",invoice:\"Facture r\\xE9currente | Factures r\\xE9currentes\",invoice_number:\"N\\xB0\",next_invoice_date:\"Prochaine date de facturation\",ref_number:\"N\\xB0 de r\\xE9f\\xE9rence\",contact:\"Contact\",add_item:\"Ajouter un article\",date:\"Date\",limit_by:\"Limiter par\",limit_date:\"Date limite\",limit_count:\"Nombre limite\",count:\"Nombre\",status:\"Statut\",select_a_status:\"S\\xE9lectionnez un statut\",working:\"Active\",on_hold:\"Suspendue\",complete:\"Pay\\xE9e\",add_tax:\"Ajouter une taxe\",amount:\"Montant\",action:\"Action\",notes:\"Notes de bas de page\",view:\"Afficher\",basic_info:\"Informations g\\xE9n\\xE9rales\",send_invoice:\"Envoyer la facture r\\xE9currente\",auto_send:\"Envoi automatique\",resend_invoice:\"Renvoyer la facture r\\xE9currente\",invoice_template:\"Mod\\xE8le de facture r\\xE9currente\",conversion_message:\"Facture r\\xE9currente clon\\xE9e\",template:\"Mod\\xE8le\",mark_as_sent:\"Marquer comme envoy\\xE9e\",confirm_send_invoice:\"Cette facture r\\xE9currente sera envoy\\xE9e par email au client\",invoice_mark_as_sent:\"Cette facture r\\xE9currente sera marqu\\xE9e comme envoy\\xE9e\",confirm_send:\"Cette facture r\\xE9currente sera envoy\\xE9e par email au client\",starts_at:\"Date de d\\xE9but\",due_date:\"Date d'\\xE9ch\\xE9ance\",record_payment:\"Enregister un paiement\",add_new_invoice:\"Nouvelle facture r\\xE9currente\",update_expense:\"Mettre \\xE0 jour les d\\xE9penses\",edit_invoice:\"Modifier cette facture r\\xE9currente\",new_invoice:\"Nouvelle facture r\\xE9currente\",send_automatically:\"Envoyer automatiquement\",send_automatically_desc:\"Activez ceci si vous souhaitez envoyer la facture automatiquement au client lorsque celle-ci est cr\\xE9\\xE9e.\",save_invoice:\"Enregistrer\",update_invoice:\"Modifier la facture r\\xE9currente\",add_new_tax:\"Ajouter une taxe\",no_invoices:\"Aucune facture r\\xE9currente pour le moment !\",mark_as_rejected:\"Marquer comme rejet\\xE9e\",mark_as_accepted:\"Marquer comme accept\\xE9\",list_of_invoices:\"Ajoutez des factures r\\xE9currentes et retrouvez-les ici\",select_invoice:\"S\\xE9lectionnez la facture\",no_matching_invoices:\"Aucune facture r\\xE9currente correspondante\",mark_as_sent_successfully:\"Facture r\\xE9currente marqu\\xE9e comme envoy\\xE9e\",invoice_sent_successfully:\"Facture r\\xE9currente envoy\\xE9e\",cloned_successfully:\"Facture r\\xE9currente clon\\xE9e\",clone_invoice:\"Dupliquer\",confirm_clone:\"Cette facture r\\xE9currente sera clon\\xE9e dans une nouvelle facture r\\xE9currente\",add_customer_email:\"Please add an email address for this customer to send invoices automatically.\",item:{title:\"Nom\",description:\"Description\",quantity:\"Quantit\\xE9\",price:\"Prix\",discount:\"Remise\",total:\"Total\",total_discount:\"Remise totale\",sub_total:\"Sous-total\",tax:\"Taxe\",amount:\"Montant\",select_an_item:\"Tapez ou cliquez pour s\\xE9lectionner un article\",type_item_description:\"Description de l'article (facultatif)\"},frequency:{title:\"Fr\\xE9quence\",select_frequency:\"S\\xE9lectionner la fr\\xE9quence\",minute:\"Minute\",hour:\"Heure\",day_month:\"Jour du mois\",month:\"Mois\",day_week:\"Jour de la semaine\"},confirm_delete:\"Vous ne pourrez pas r\\xE9cup\\xE9rer cette facture | Vous ne pourrez pas r\\xE9cup\\xE9rer ces factures\",created_message:\"Facture r\\xE9currente cr\\xE9\\xE9e\",updated_message:\"Facture r\\xE9currente mise \\xE0 jour\",deleted_message:\"Facture r\\xE9currente supprim\\xE9e\",marked_as_sent_message:\"Facture r\\xE9currente envoy\\xE9e\",user_email_does_not_exist:\"L'email de l'utilisateur n'existe pas\",something_went_wrong:\"une erreur s\\u2019est produite\",invalid_due_amount_message:\"Le montant total de la facture r\\xE9currente ne peut pas \\xEAtre inf\\xE9rieur au montant total pay\\xE9 pour cette facture r\\xE9currente. Veuillez mettre \\xE0 jour la facture ou supprimer les paiements associ\\xE9s pour continuer.\"},zs={title:\"Paiements\",payments_list:\"Liste de paiements\",record_payment:\"Enregistrer un paiement\",customer:\"Client\",date:\"Date\",amount:\"Montant\",action:\"Action\",payment_number:\"N\\xB0\",payment_mode:\"Mode de paiement\",invoice:\"Facture\",note:\"Description\",add_payment:\"Nouveau paiement\",new_payment:\"Nouveau paiement\",edit_payment:\"Modifier ce paiement\",view_payment:\"Afficher le paiement\",add_new_payment:\"Nouveau paiement\",send_payment_receipt:\"Envoyer le re\\xE7u\",send_payment:\"Envoyer par email\",save_payment:\"Enregistrer\",update_payment:\"Enregistrer\",payment:\"Paiement | Paiements\",no_payments:\"Aucun paiement\",not_selected:\"-\",no_invoice:\"Aucune facture\",no_matching_payments:\"Il n'y a aucun paiement correspondant !\",list_of_payments:\"Ajoutez des paiements et retrouvez-les ici\",select_payment_mode:\"S\\xE9lectionnez le mode de paiement\",confirm_mark_as_sent:\"Ce devis sera marqu\\xE9 comme envoy\\xE9\",confirm_send_payment:\"Ce paiement sera envoy\\xE9 par email au client\",send_payment_successfully:\"Paiement envoy\\xE9\",something_went_wrong:\"quelque chose a mal tourn\\xE9\",confirm_delete:\"Vous ne pourrez pas r\\xE9cup\\xE9rer ce paiement | Vous ne pourrez pas r\\xE9cup\\xE9rer ces paiements\",created_message:\"Paiement cr\\xE9\\xE9\",updated_message:\"Paiement mis \\xE0 jour\",deleted_message:\"Paiement supprim\\xE9 | Paiements supprim\\xE9s\",invalid_amount_message:\"Le montant du paiement est invalide\"},xs={title:\"D\\xE9penses\",expenses_list:\"Liste des d\\xE9penses\",select_a_customer:\"S\\xE9lectionnez un client\",expense_title:\"Titre\",customer:\"Client\",currency:\"Devise\",contact:\"Contact\",category:\"Cat\\xE9gorie\",from_date:\"Du\",to_date:\"Au\",expense_date:\"Date\",description:\"Description\",receipt:\"Re\\xE7u\",amount:\"Montant\",action:\"Action\",not_selected:\"-\",note:\"Description\",category_id:\"Identifiant de cat\\xE9gorie\",date:\"Date\",add_expense:\"Nouvelle d\\xE9pense\",add_new_expense:\"Nouvelle d\\xE9pense\",save_expense:\"Enregistrer\",update_expense:\"Enregistrer\",download_receipt:\"T\\xE9l\\xE9charger le re\\xE7u\",edit_expense:\"Modifier cette d\\xE9pense\",new_expense:\"Nouvelle d\\xE9pense\",expense:\"D\\xE9pense | D\\xE9penses\",no_expenses:\"Aucune d\\xE9pense\",list_of_expenses:\"Ajoutez des d\\xE9penses et retrouvez-les ici\",confirm_delete:\"Vous ne pourrez pas r\\xE9cup\\xE9rer cette d\\xE9pense | Vous ne pourrez pas r\\xE9cup\\xE9rer ces d\\xE9penses\",created_message:\"D\\xE9pense cr\\xE9\\xE9e\",updated_message:\"D\\xE9pense mise \\xE0 jour\",deleted_message:\"D\\xE9pense supprim\\xE9e | D\\xE9penses supprim\\xE9es\",categories:{categories_list:\"Liste des cat\\xE9gories\",title:\"Titre\",name:\"Nom\",description:\"Description\",amount:\"Montant\",actions:\"Actions\",add_category:\"Nouvelle cat\\xE9gorie\",new_category:\"Nouvelle cat\\xE9gorie\",category:\"Cat\\xE9gorie | Cat\\xE9gories\",select_a_category:\"Choisissez une cat\\xE9gorie\"}},Ps={email:\"Email\",password:\"Mot de passe\",forgot_password:\"Mot de passe oubli\\xE9 ?\",or_signIn_with:\"ou connectez-vous avec\",login:\"Se connecter\",register:\"S'inscrire\",reset_password:\"R\\xE9initialiser le mot de passe\",password_reset_successfully:\"R\\xE9initialisation du mot de passe r\\xE9ussie\",enter_email:\"Entrez votre email\",enter_password:\"Entrer le mot de passe\",retype_password:\"Retaper le mot de passe\"},Ss={buy_now:\"Buy Now\",install:\"Install\",price:\"Price\",download_zip_file:\"Download ZIP file\",unzipping_package:\"Unzipping Package\",copying_files:\"Copying Files\",deleting_files:\"Deleting Unused files\",completing_installation:\"Completing Installation\",update_failed:\"Update Failed\",install_success:\"Module has been installed successfully!\",customer_reviews:\"Reviews\",license:\"License\",faq:\"FAQ\",monthly:\"Monthly\",yearly:\"Yearly\",updated:\"Updated\",version:\"Version\",disable:\"Disable\",module_disabled:\"Module Disabled\",enable:\"Enable\",module_enabled:\"Module Enabled\",update_to:\"Update To\",module_updated:\"Module Updated Successfully!\",title:\"Modules\",module:\"Module | Modules\",api_token:\"API token\",invalid_api_token:\"Invalid API Token.\",other_modules:\"Other Modules\",view_all:\"View All\",no_reviews_found:\"There are no reviews for this module yet!\",module_not_purchased:\"Module Not Purchased\",module_not_found:\"Module Not Found\",version_not_supported:\"This module version doesn't support the current version of Crater\",last_updated:\"Last Updated On\",connect_installation:\"Connect your installation\",api_token_description:\"Login to {url} and connect this installation by entering the API Token. Your purchased modules will show up here after the connection is established.\",view_module:\"View Module\",update_available:\"Update Available\",purchased:\"Purchased\",installed:\"Installed\",no_modules_installed:\"No Modules Installed Yet!\",disable_warning:\"All the settings for this particular will be reverted.\",what_you_get:\"What you get\"},js={title:\"Utilisateurs\",users_list:\"Liste des utilisateurs\",name:\"Nom\",description:\"Description\",added_on:\"Ajout\\xE9 le\",date_of_creation:\"Date de cr\\xE9ation\",action:\"Action\",add_user:\"Nouvel utilisateur\",save_user:\"Enregistrer l'utilisateur\",update_user:\"Enregistrer\",user:\"Utilisateur | Utilisateurs\",add_new_user:\"Nouvel utilisateur\",new_user:\"Nouvel utilisateur\",edit_user:\"Modifier cet utilisateur\",no_users:\"Aucun utilisateur\",list_of_users:\"Ajoutez des utilisateurs et retrouvez-les ici\",email:\"Email\",phone:\"T\\xE9l\\xE9phone\",password:\"Mot de passe\",user_attached_message:\"Impossible de supprimer un \\xE9l\\xE9ment d\\xE9j\\xE0 utilis\\xE9\",confirm_delete:\"Vous ne pourrez pas r\\xE9cup\\xE9rer cet utilisateur | Vous ne pourrez pas r\\xE9cup\\xE9rer ces utilisateurs\",created_message:\"Utilisateur cr\\xE9\\xE9\",updated_message:\"Utilisateur mis \\xE0 jour\",deleted_message:\"Utilisateur supprim\\xE9 | Utilisateurs supprim\\xE9s\",select_company_role:\"S\\xE9lectionner un r\\xF4le pour {company}\",companies:\"Soci\\xE9t\\xE9s\"},As={title:\"Rapport\",from_date:\"Du\",to_date:\"Au\",status:\"Statut\",paid:\"Pay\\xE9\",unpaid:\"Non pay\\xE9\",download_pdf:\"T\\xE9l\\xE9charger le PDF\",view_pdf:\"Afficher le PDF\",update_report:\"Actualiser\",report:\"Rapport | Rapports\",profit_loss:{profit_loss:\"Balance\",to_date:\"Au\",from_date:\"Du\",date_range:\"P\\xE9riode\"},sales:{sales:\"Ventes\",date_range:\"P\\xE9riode\",to_date:\"Au\",from_date:\"Du\",report_type:\"Trier\"},taxes:{taxes:\"Taxes\",to_date:\"Au\",from_date:\"Du\",date_range:\"P\\xE9riode\"},errors:{required:\"Champ requis\"},invoices:{invoice:\"Facture\",invoice_date:\"Date\",due_date:\"Date d\\xE9ch\\xE9ance\",amount:\"Montant \",contact_name:\"Contact\",status:\"Statut\"},estimates:{estimate:\"Devis\",estimate_date:\"Date\",due_date:\"Date d'\\xE9ch\\xE9ance\",estimate_number:\"N\\xB0\",ref_number:\"R\\xE9f\\xE9rence\",amount:\"Montant\",contact_name:\"Contact\",status:\"Statut\"},expenses:{expenses:\"D\\xE9penses\",category:\"Nom\",date:\"Date\",amount:\"Montant\",to_date:\"Au\",from_date:\"Du\",date_range:\"P\\xE9riode\"}},Ds={menu_title:{account_settings:\"Profil\",company_information:\"Coordonn\\xE9es de la soci\\xE9t\\xE9\",customization:\"Personnalisation\",preferences:\"Pr\\xE9f\\xE9rences\",notifications:\"Notifications\",tax_types:\"Taxes\",expense_category:\"Cat\\xE9gories de d\\xE9pense\",update_app:\"Mise \\xE0 jour\",backup:\"Sauvegarde\",file_disk:\"Stockage\",custom_fields:\"Champs personnalis\\xE9s\",payment_modes:\"Modes de paiement\",notes:\"Notes de bas de page\",exchange_rate:\"Taux de change\",address_information:\"Address Information\"},address_information:{section_description:\"  Vous pouvez mettre \\xE0 jour vos informations d'adresse via le formulaire ci dessous.\"},title:\"Param\\xE8tres\",setting:\"Param\\xE8tres | Param\\xE8tres\",general:\"Param\\xE8tres g\\xE9n\\xE9raux\",language:\"Langue\",primary_currency:\"Devise principale\",timezone:\"Fuseau horaire\",date_format:\"Format de date\",currencies:{title:\"Devises\",currency:\"Devise | Devises\",currencies_list:\"Liste des devises\",select_currency:\"S\\xE9lectionnez la devise\",name:\"Nom\",code:\"Code\\xA0\",symbol:\"Symbole\",precision:\"Pr\\xE9cision\",thousand_separator:\"S\\xE9parateur de milliers\",decimal_separator:\"S\\xE9parateur d\\xE9cimal\",position:\"Position\",position_of_symbol:\"Position du symbole\",right:\"Droite\",left:\"Gauche\",action:\"Action\",add_currency:\"Ajouter une devise\"},mail:{host:\"Adresse du serveur\",port:\"Port\",driver:\"Fournisseur\",secret:\"Secret\",mailgun_secret:\"Mailgun Secret\",mailgun_domain:\"Domaine\",mailgun_endpoint:\"Mailgun Endpoint\",ses_secret:\"SES Secret\",ses_key:\"SES Key\",password:\"Mot de passe\",username:\"Nom d'utilisateur\",mail_config:\"Envoi d'emails\",from_name:\"Nom de l'exp\\xE9diteur\",from_mail:\"Email de l'exp\\xE9diteur\",encryption:\"Chiffrement\",mail_config_desc:\"Saisissez ici les param\\xE8tres d'envoi de votre bo\\xEEte email, afin que l'application puisse envoyer des messages. Vous pouvez \\xE9galement utiliser un service tiers, comme Sendgrid par exemple.\"},pdf:{title:\"Param\\xE8tre PDF\",footer_text:\"Pied de page\",pdf_layout:\"Mise en page PDF\"},company_info:{company_info:\"Coordonn\\xE9es de la soci\\xE9t\\xE9\",company_name:\"Nom\",company_logo:\"Logo\",section_description:\"Saisissez ici les coordonn\\xE9es de votre entreprise qui s'afficheront sur tous vos documents.\",phone:\"T\\xE9l\\xE9phone\",country:\"Pays\",state:\"\\xC9tat\",city:\"Ville\",address:\"Adresse\",zip:\"Code postal\",save:\"Enregistrer\",delete:\"Supprimer\",updated_message:\"Informations sur la soci\\xE9t\\xE9 mises \\xE0 jour\",delete_company:\"Supprimer la soci\\xE9t\\xE9\",delete_company_description:\"Une fois votre soci\\xE9t\\xE9 supprim\\xE9e, vous perdrez d\\xE9finitivement toutes les donn\\xE9es et fichiers qui lui sont associ\\xE9s.\",are_you_absolutely_sure:\"En \\xEAtes vous vraiment s\\xFBr?\",delete_company_modal_desc:\"Cette action ne peut pas \\xEAtre annul\\xE9e. Cela supprimera d\\xE9finitivement {company} et toutes les donn\\xE9es associ\\xE9es.\",delete_company_modal_label:\"Veuillez saisir {company} pour confirmer\"},custom_fields:{title:\"Champs personnalis\\xE9s\",section_description:\"Personnalisez vos factures, devis et re\\xE7us de paiement avec vos propres champs. Vous pouvez les utiliser dans les formats d'adresse ou dans les notes de bas de page.\",add_custom_field:\"Ajouter un champ personnalis\\xE9\",edit_custom_field:\"Modifier ce champ personnalis\\xE9\",field_name:\"Nom du champs\",label:\"\\xC9tiquette\",type:\"Type\\xA0\",name:\"Nom\",slug:\"Jeton\",required:\"Obligatoire\",placeholder:\"Indication\",help_text:\"Texte d'aide\",default_value:\"Valeur par d\\xE9faut\",prefix:\"Pr\\xE9fixe\",starting_number:\"Num\\xE9ro de d\\xE9part\",model:\"Appliquer \\xE0\",help_text_description:\"Saisissez du texte pour aider les utilisateurs \\xE0 comprendre l'objectif de ce champ personnalis\\xE9.\",suffix:\"Suffixe\",yes:\"Oui\",no:\"Non\",order:\"Ordre\",custom_field_confirm_delete:\"Vous ne pourrez pas r\\xE9cup\\xE9rer ce champ personnalis\\xE9\",already_in_use:\"Le champ personnalis\\xE9 est d\\xE9j\\xE0 utilis\\xE9\",deleted_message:\"Champ personnalis\\xE9 supprim\\xE9\",options:\"les options\",add_option:\"Ajouter des options\",add_another_option:\"Ajouter une autre option\",sort_in_alphabetical_order:\"Trier par ordre alphab\\xE9tique\",add_options_in_bulk:\"Ajouter des options en masse\",use_predefined_options:\"Utiliser des options pr\\xE9d\\xE9finies\",select_custom_date:\"S\\xE9lectionnez une date personnalis\\xE9e\",select_relative_date:\"S\\xE9lectionnez la date relative\",ticked_by_default:\"Coch\\xE9 par d\\xE9faut\",updated_message:\"Champ personnalis\\xE9 mis \\xE0 jour\",added_message:\"Champ personnalis\\xE9 ajout\\xE9\",press_enter_to_add:\"Appuyez sur Entr\\xE9e pour ajouter une nouvelle option\",model_in_use:\"Impossible de mettre \\xE0 jour le mod\\xE8le pour les champs qui sont d\\xE9j\\xE0 utilis\\xE9s.\",type_in_use:\"Impossible de mettre \\xE0 jour le type des champs d\\xE9j\\xE0 utilis\\xE9s.\"},customization:{customization:\"Personnalisation\",updated_message:\"Informations la soci\\xE9t\\xE9 mises \\xE0 jour\",save:\"Enregistrer\",insert_fields:\"Ins\\xE9rer des champs\",learn_custom_format:\"Apprenez \\xE0 utiliser le format personnalis\\xE9\",add_new_component:\"Ajouter un composant\",component:\"Composant\",Parameter:\"Param\\xE8tre\",series:\"Texte\",series_description:\"Un texte statique qui peut faire jusqu'\\xE0 quatre caract\\xE8res.\",series_param_label:\"Texte\",delimiter:\"S\\xE9parateur\",delimiter_description:\"Un caract\\xE8re servant \\xE0 s\\xE9parer deux composants. Par exemple, un trait d'union\",delimiter_param_label:\"Caract\\xE8re\",date_format:\"Date\",date_format_description:`Une date qui peut format\\xE9e. Par exemple, \"Y\" affichera l'ann\\xE9e en cours.`,date_format_param_label:\"Format\",sequence:\"Suite\",sequence_description:\"G\\xE9n\\xE8re un num\\xE9ro de facture unique. Vous pouvez indiquer le nombre de chiffres \\xE0 utiliser.\",sequence_param_label:\"Longueur\",customer_series:\"Code client\",customer_series_description:\"Un code unique \\xE0 chaque client, qui peut \\xEAtre indiqu\\xE9 dans les param\\xE8tres du client.\",customer_sequence:\"Num\\xE9ro client\",customer_sequence_description:\"Un num\\xE9ro de client unique.\",customer_sequence_param_label:\"Longueur\",random_sequence:\"Suite al\\xE9atoire\",random_sequence_description:`Suite alphanum\\xE9rique al\\xE9atoire.\nVous pouvez sp\\xE9cifier le nombre de caract\\xE8re.`,random_sequence_param_label:\"Longueur\",invoices:{title:\"Factures\",invoice_number_format:\"Format de num\\xE9ro\",invoice_number_format_description:\"Personnalisez la structure de vos num\\xE9ros de facture.\",preview_invoice_number:\"Aper\\xE7u\",due_date:\"Date d'\\xE9ch\\xE9ance\",due_date_description:\"Indiquez si la date d'\\xE9ch\\xE9ance doit \\xEAtre automatiquement d\\xE9finie lorsque vous cr\\xE9ez une facture.\",due_date_days:\"Nombre de jours avant l'\\xE9ch\\xE9ance de la facture\",set_due_date_automatically:\"Remplir automatiquement la date d'\\xE9ch\\xE9ance\",set_due_date_automatically_description:\"Activez cette option si vous souhaitez d\\xE9finir automatiquement la date d'\\xE9ch\\xE9ance lors de la cr\\xE9ation d'une facture.\",default_formats:\"Mod\\xE8les\",default_formats_description:\"Modifiez ci-dessous les formats d'adresse ou l'email utilis\\xE9 lors de la cr\\xE9ation d'une facture.\",default_invoice_email_body:\"Mod\\xE8le d'email\",company_address_format:\"Adresse de la soci\\xE9t\\xE9\",shipping_address_format:\"Adresse d'exp\\xE9dition\",billing_address_format:\"Adresse de facturation\",invoice_email_attachment:\"Envoyer les factures en pi\\xE8ces jointes\",invoice_email_attachment_setting_description:`Activez cette option si vous souhaitez envoyer les factures en pi\\xE8ces jointes. Le bouton \"Afficher la facture\" n'appara\\xEEtra plus dans l'email.`,invoice_settings_updated:\"Param\\xE8tres de facturation mis \\xE0 jour\",retrospective_edits:\"\\xC9dition \\xE0 post\\xE9riori\",allow:\"Autoriser\",disable_on_invoice_partial_paid:\"D\\xE9sactiver apr\\xE8s l'enregistrement d'un paiement partiel\",disable_on_invoice_paid:\"D\\xE9sactiver apr\\xE8s l'enregistrement du paiement int\\xE9gral\",disable_on_invoice_sent:\"D\\xE9sactiver apr\\xE8s l'envoi de la facture\",retrospective_edits_description:\"Vous pouvez emp\\xEAcher la modification de factures lorsque un paiement est effectu\\xE9, pour \\xEAtre en conformit\\xE9 avec la loi de certains pays.\"},estimates:{title:\"Devis\",estimate_number_format:\"Format de num\\xE9ro\",estimate_number_format_description:\"Personnalisez la structure de vos num\\xE9ros de devis.\",preview_estimate_number:\"Aper\\xE7u\",expiry_date:\"Date d'expiration\",expiry_date_description:\"Indiquez si la date d'\\xE9ch\\xE9ance doit \\xEAtre automatiquement d\\xE9finie lorsque vous cr\\xE9ez un devis.\",expiry_date_days:\"Le devis expire apr\\xE8s les jours\",set_expiry_date_automatically:\"D\\xE9finir automatiquement la date d'expiration\",set_expiry_date_automatically_description:\"Activez cette option si vous souhaitez d\\xE9finir automatiquement la date d'\\xE9ch\\xE9ance lors de la cr\\xE9ation d'un devis.\",default_formats:\"Formats par d\\xE9faut\",default_formats_description:\"Modifiez ci-dessous les formats d'adresse ou l'email utilis\\xE9 lors de la cr\\xE9ation d'un devis.\",default_estimate_email_body:\"Mod\\xE8le d'email\",company_address_format:\"Adresse de la soci\\xE9t\\xE9\",shipping_address_format:\"Adresse d'exp\\xE9dition\",billing_address_format:\"Adresse de facturation\",estimate_email_attachment:\"Envoyer les devis en pi\\xE8ces jointes\",estimate_email_attachment_setting_description:`Activez cette option si vous souhaitez envoyer les devis en pi\\xE8ces jointes. Le bouton \"Afficher le devis\" n'appara\\xEEtra plus dans l'email.`,estimate_settings_updated:\"Param\\xE8tres de devis mis \\xE0 jour\",convert_estimate_options:\"Conversion du devis\",convert_estimate_description:\"Indiquez quoi faire du devis apr\\xE8s sa conversion en facture.\",no_action:\"Ne rien faire\",delete_estimate:\"Supprimer le devis\",mark_estimate_as_accepted:\"Marquer le devis comme accept\\xE9\"},payments:{title:\"Paiements\",payment_number_format:\"Format de num\\xE9ro\",payment_number_format_description:\"Personnalisez la structure de vos num\\xE9ros de re\\xE7u de paiement.\",preview_payment_number:\"Aper\\xE7u\",default_formats:\"Formats par d\\xE9faut\",default_formats_description:\"Modifiez ci-dessous les formats d'adresse ou l'email utilis\\xE9 lors de la cr\\xE9ation d'un re\\xE7u de paiement.\",default_payment_email_body:\"Mod\\xE8le d'email\",company_address_format:\"Adresse de la soci\\xE9t\\xE9\",from_customer_address_format:\"Adresse de facturation\",payment_email_attachment:\"Envoyer les re\\xE7us de paiement en pi\\xE8ces jointes\",payment_email_attachment_setting_description:`Activez cette option si vous souhaitez envoyer les devis en pi\\xE8ces jointes. Le bouton \"Afficher le re\\xE7u de paiement\" n'appara\\xEEtra plus dans l'email.`,payment_settings_updated:\"Param\\xE8tres mis \\xE0 jour\"},items:{title:\"Articles\",units:\"Unit\\xE9s\",add_item_unit:\"Ajouter une unit\\xE9\",edit_item_unit:\"Modifier cette unit\\xE9\",unit_name:\"Nom\",item_unit_added:\"Unit\\xE9 ajout\\xE9e\",item_unit_updated:\"Unit\\xE9 mis \\xE0 jour\",item_unit_confirm_delete:\"\\xCAtes-vous sur de supprimer cette unit\\xE9 ?\",already_in_use:\"Cette unit\\xE9 existe d\\xE9j\\xE0\",deleted_message:\"Unit\\xE9 supprim\\xE9e\"},notes:{title:\"Notes de bas de page\",description:\"Cr\\xE9ez des notes de bas de page r\\xE9utilisable sur vos factures, devis et paiements.\",notes:\"Note de bas de page\",type:\"Type\\xA0\",add_note:\"Nouvelle note de bas de page\",add_new_note:\"Ajouter une note de bas de page\",name:\"Nom\",edit_note:\"Modifier cette note de bas de page\",note_added:\"Note de bas de page ajout\\xE9e\",note_updated:\"Note de bas de page mise \\xE0 jour\",note_confirm_delete:\"Vous ne pourrez pas r\\xE9cup\\xE9rer cette note de bas de page\",already_in_use:\"La note de bas de page est d\\xE9j\\xE0 utilis\\xE9e\",deleted_message:\"Note de bas de page supprim\\xE9e\"}},account_settings:{profile_picture:\"Image de profil\",name:\"Nom\",email:\"Email\",password:\"Mot de passe\",confirm_password:\"Confirmez le mot de passe\",account_settings:\"Profil\",save:\"Enregistrer\",section_description:\"Mettez \\xE0 jour ici vos param\\xE8tres de compte, tels que votre nom, votre email ou votre mot de passe.\",updated_message:\"Profil mis \\xE0 jour\"},user_profile:{name:\"Nom\",email:\"Email\",password:\"Mot de passe\",confirm_password:\"Confirmez le mot de passe\"},notification:{title:\"Notifications\",email:\"Envoyer des notifications \\xE0\",description:\"D\\xE9finissez ici les notifications que vous souhaitez recevoir par email.\",invoice_viewed:\"Facture consult\\xE9e\",invoice_viewed_desc:\"Lorsque le client visualise la facture envoy\\xE9e via le tableau de bord de Neptune.\",estimate_viewed:\"Devis consult\\xE9\",estimate_viewed_desc:\"Lorsque le client visualise le devis envoy\\xE9 via le tableau de bord de Neptune.\",save:\"Enregistrer\",email_save_message:\"Email enregistr\\xE9\",please_enter_email:\"Veuillez entrer un email\"},roles:{title:\"R\\xF4les\",description:\"G\\xE9rer les r\\xF4les & autorisations de cette soci\\xE9t\\xE9\",save:\"Enregistrer\",add_new_role:\"Ajouter un r\\xF4le\",role_name:\"Nom\",added_on:\"Ajout\\xE9 le\",add_role:\"Ajouter un r\\xF4le\",edit_role:\"Modifier ce r\\xF4le\",name:\"Nom\",permission:\"Autorisation | Autorisations\",select_all:\"Tout s\\xE9lectionner\",none:\"Aucun\",confirm_delete:\"Vous ne pourrez pas r\\xE9cup\\xE9rer ce r\\xF4le\",created_message:\"R\\xF4le cr\\xE9\\xE9\",updated_message:\"R\\xF4le mis \\xE0 jour\",deleted_message:\"R\\xF4le supprim\\xE9\",already_in_use:\"Le r\\xF4le est d\\xE9j\\xE0 utilis\\xE9\"},exchange_rate:{exchange_rate:\"Taux de change\",title:\"R\\xE9soudre les probl\\xE8mes de taux de change\",description:\"Veuillez entrez le taux de change pour toutes les devises mentionn\\xE9es ci-dessous pour calculer les totaux en {currency}.\",drivers:\"Fournisseurs\",new_driver:\"Ajouter un fournisseur\",edit_driver:\"Modifier ce fournisseur\",select_driver:\"S\\xE9lectionner un fournisseur\",update:\"s\\xE9lectionner le taux de change \",providers_description:\"Configurez vos fournisseurs de taux de change ici pour r\\xE9cup\\xE9rer automatiquement le dernier taux de change sur les transactions.\",key:\"Cl\\xE9 d'API\",name:\"Nom\",driver:\"Fournisseur\",is_default:\"PAR D\\xC9FAUT\",currency:\"Devises\",exchange_rate_confirm_delete:\"Vous ne pourrez pas r\\xE9cup\\xE9rer ce fournisseur\",created_message:\"Fournisseur cr\\xE9\\xE9\",updated_message:\"Fournisseur mis \\xE0 jour\",deleted_message:\"Fournisseur supprim\\xE9\",error:\"Vous ne pouvez pas supprimer le fournisseur actif\",default_currency_error:\"Cette devise est d\\xE9j\\xE0 affect\\xE9e \\xE0 un fournisseur\",exchange_help_text:\"Veuillez entrer le taux de change pour convertir {currency} en {baseCurrency}\",currency_freak:\"Currency Freak\",currency_layer:\"Currency Layer\",open_exchange_rate:\"Open Exchange Rate\",currency_converter:\"Currency Converter\",server:\"Serveur\",url:\"URL\",active:\"Actif\",currency_help_text:\"Ce fournisseur ne sera utilis\\xE9 que pour les devises s\\xE9lectionn\\xE9es ci-dessus\",currency_in_used:\"Les devises suivantes sont d\\xE9j\\xE0 affect\\xE9es \\xE0 un autre fournisseur. Veuillez d\\xE9s\\xE9lectionner ces devises pour r\\xE9activer ce fournisseur.\"},tax_types:{title:\"Taxes\",add_tax:\"Ajouter une taxe\",edit_tax:\"Modifier cette taxe\",description:\"Ajoutez ou supprimez ici des taxes, et choisissez si elles s'appliquent individuellement aux articles ou au montant total.\",add_new_tax:\"Nouvelle taxe\",tax_settings:\"Param\\xE8tres de taxe\",tax_per_item:\"Taxe par article\",tax_name:\"Nom\",compound_tax:\"Taxe empil\\xE9e\",percent:\"Pourcentage\",action:\"action\",tax_setting_description:\"Activez cette option si vous souhaitez ajouter des taxes \\xE0 des postes de facture individuels. Par d\\xE9faut, les taxes sont ajout\\xE9es directement \\xE0 la facture.\",created_message:\"Taxe cr\\xE9\\xE9e\",updated_message:\"Taxe mise \\xE0 jour\",deleted_message:\"Taxe supprim\\xE9e\",confirm_delete:\"Vous ne pourrez pas r\\xE9cup\\xE9rer ce type de taxe\",already_in_use:\"La taxe est d\\xE9j\\xE0 utilis\\xE9e\"},payment_modes:{title:\"Moyens de paiement\",description:\"Indiquez les diff\\xE9rents moyen de paiement que vous utilisez\",add_payment_mode:\"Ajouter un mode de paiement\",edit_payment_mode:\"Modifier le mode de paiement\",mode_name:\"Nom\",payment_mode_added:\"Mode de paiement ajout\\xE9\",payment_mode_updated:\"Mode de paiement mis \\xE0 jour\",payment_mode_confirm_delete:\"Vous ne pourrez pas r\\xE9cup\\xE9rer ce mode de paiement\",payments_attached:\"This payment method is already attached to payments. Please delete the attached payments to proceed with deletion.\",expenses_attached:\"This payment method is already attached to expenses. Please delete the attached expenses to proceed with deletion.\",deleted_message:\"Mode de paiement supprim\\xE9\"},expense_category:{title:\"Cat\\xE9gories de d\\xE9pense\",action:\"action\",description:\"Ajoutez ou supprimez ici des cat\\xE9gories de d\\xE9pense.\",add_new_category:\"Ajouter une cat\\xE9gorie\",add_category:\"Nouvelle cat\\xE9gorie\",edit_category:\"Modifier cette cat\\xE9gorie\",category_name:\"Nom\",category_description:\"Description\",created_message:\"Cat\\xE9gorie de d\\xE9penses cr\\xE9\\xE9e\",deleted_message:\"Cat\\xE9gorie de d\\xE9penses supprim\\xE9e\",updated_message:\"Cat\\xE9gorie de d\\xE9penses mise \\xE0 jour\",confirm_delete:\"Vous ne pourrez pas r\\xE9cup\\xE9rer cette cat\\xE9gorie de d\\xE9penses\",already_in_use:\"La cat\\xE9gorie est d\\xE9j\\xE0 utilis\\xE9e\"},preferences:{currency:\"Devise\",default_language:\"Langue par d\\xE9faut\",time_zone:\"Fuseau horaire\",fiscal_year:\"Exercice fiscal\",date_format:\"Format de date\",discount_setting:\"R\\xE9glage de remise\",discount_per_item:\"Remise par article\",discount_setting_description:\"Activez cette option si vous souhaitez d\\xE9tailler les remises par article. Par d\\xE9faut, les remises sont ajout\\xE9es au sous-total.\",expire_public_links:\"Expiration automatique des liens publics\",expire_setting_description:\"Sp\\xE9cifiez si vous souhaitez faire expirer tous les liens publiques envoy\\xE9s par l'application pour consulter les factures, devis, paiements,... apr\\xE8s une dur\\xE9e sp\\xE9cifique.\",save:\"Enregistrer\",preference:\"Pr\\xE9f\\xE9rence | Pr\\xE9f\\xE9rences\",general_settings:\"Modifiez ici les param\\xE8tres globaux de Crater.\",updated_message:\"Pr\\xE9f\\xE9rences mises \\xE0 jour\",select_language:\"Choisir la langue\",select_time_zone:\"S\\xE9lectionnez le fuseau horaire\",select_date_format:\"S\\xE9lectionnez le format de date\",select_financial_year:\"Exercice fiscal\",recurring_invoice_status:\"Statut de la facture r\\xE9currente\",create_status:\"Cr\\xE9er un statut\",active:\"Actif\",on_hold:\"En attente\",update_status:\"Mettre \\xE0 jour le statut\",completed:\"Termin\\xE9\",company_currency_unchangeable:\"La devise de la soci\\xE9t\\xE9 ne peut pas \\xEAtre modifi\\xE9e\"},update_app:{title:\"Mise \\xE0 jour\",description:\"Mettez simplement Crater \\xE0 jour en cliquant sur le bouton ci-dessous.\",check_update:\"Rechercher des mises \\xE0 jour\",avail_update:\"Nouvelle mise \\xE0 jour disponible\",next_version:\"Version suivante\",requirements:\"Sp\\xE9cifications requises\",update:\"Mettre \\xE0 jour maintenant\",update_progress:\"Mise \\xE0 jour en cours...\",progress_text:\"Cela ne prendra que quelques minutes. Veuillez ne pas actualiser ou fermer la fen\\xEAtre avant la fin de la mise \\xE0 jour\",update_success:\"L'application a \\xE9t\\xE9 mise \\xE0 jour. Veuillez patienter pendant le rechargement de la fen\\xEAtre de votre navigateur.\",latest_message:\"Bravo, vous \\xEAtes \\xE0 jour.\",current_version:\"Version actuelle\",download_zip_file:\"T\\xE9l\\xE9charger le fichier ZIP\",unzipping_package:\"D\\xE9zipper le package\",copying_files:\"Copie de fichiers en cours\",deleting_files:\"Supprimer les fichiers inutilis\\xE9s\",running_migrations:\"Migrations en cours\",finishing_update:\"Finalisation de la mise \\xE0 jour\",update_failed:\"\\xC9chec de la mise \\xE0 jour\",update_failed_text:\"D\\xE9sol\\xE9 ! Votre mise \\xE0 jour a \\xE9chou\\xE9 \\xE0: {step} \\xE9tape\",update_warning:\"Cet utilitaire va \\xE9craser tous les fichiers et templates de l'application. Veuillez faire une sauvegarde de vos templates et de la base de donn\\xE9e avant de faire la mise \\xE0 jour.\"},backup:{title:\"Sauvegarde | Sauvegardes\",description:\"G\\xE9rez ici vos sauvegardes. Crater cr\\xE9\\xE9e un fichiez ZIP contenant vos fichiers et un export de la base de donn\\xE9es.\",new_backup:\"Faire une sauvegarde\",create_backup:\"Cr\\xE9er une sauvegarde\",select_backup_type:\"Type de sauvegarde\",backup_confirm_delete:\"Vous ne pourrez pas r\\xE9cup\\xE9rer cette sauvegarde\",path:\"chemin\",new_disk:\"Nouveau stockage\",created_at:\"cr\\xE9\\xE9 \\xE0\",size:\"taille\",dropbox:\"dropbox\",local:\"local\",healthy:\"en bonne sant\\xE9\",amount_of_backups:\"nombre de sauvegardes\",newest_backups:\"derni\\xE8res sauvegardes\",used_storage:\"Stockage utilis\\xE9\",select_disk:\"Emplacement\",action:\"Action\",deleted_message:\"Sauvegarde supprim\\xE9e\",created_message:\"Sauvegarde cr\\xE9\\xE9e\",invalid_disk_credentials:\"Informations d'identification invalides de l'espace de stockage\"},disk:{title:\"Stockage | Stockages\",description:\"Crater utilise par d\\xE9faut votre disque local pour stocker les sauvegardes, les avatar et d'autres fichiers image. Vous pouvez configurer d'autres comptes de stockage, comme DigitalOcean, S3 et Dropbox.\",created_at:\"cr\\xE9\\xE9 \\xE0\",dropbox:\"dropbox\",name:\"Nom\",driver:\"Compte de stockage\",disk_type:\"Type\\xA0\",disk_name:\"Nom\",new_disk:\"Ajouter un espace de stockage\",filesystem_driver:\"Fournisseur\",local_driver:\"stockage local\",local_root:\"r\\xE9pertoire local\",public_driver:\"Stockage public\",public_root:\"R\\xE9pertoire public\",public_url:\"URL publique\",public_visibility:\"Visibilit\\xE9 publique\",media_driver:\"Stockage multim\\xE9dia\",media_root:\"R\\xE9pertoire m\\xE9dia\",aws_driver:\"AWS\",aws_key:\"AWS Key\",aws_secret:\"AWS Secret\",aws_region:\"R\\xE9gion AWS\",aws_bucket:\"Bucket\",aws_root:\"R\\xE9pertoire\",do_spaces_type:\"Type\",do_spaces_key:\"Key\",do_spaces_secret:\"Secret\",do_spaces_region:\"R\\xE9gion\",do_spaces_bucket:\"Bucket\",do_spaces_endpoint:\"Endpoint\",do_spaces_root:\"R\\xE9pertoire\",dropbox_type:\"Type\",dropbox_token:\"Token\",dropbox_key:\"Key\",dropbox_secret:\"Secret\",dropbox_app:\"Application\",dropbox_root:\"R\\xE9pertoire\",default_driver:\"Fournisseur par d\\xE9faut\",is_default:\"Par d\\xE9faut\",set_default_disk:\"D\\xE9finir l'espace par d\\xE9faut\",set_default_disk_confirm:\"Cet espace sera utilis\\xE9 par d\\xE9faut pour l'enregistrement des PDF\",success_set_default_disk:\"Stockage par d\\xE9faut mis \\xE0 jour\",save_pdf_to_disk:\"Enregistrer les PDF sur le disque\",disk_setting_description:\"Activez cette option si vous souhaitez enregistrer automatiquement une copie de chaque facture, devis et re\\xE7u de paiement PDF sur votre disque par d\\xE9faut. L'activation de cette option r\\xE9duira le temps de chargement lors de l'affichage des PDF.\",select_disk:\"Emplacement\",disk_settings:\"Param\\xE8tres de stockage\",confirm_delete:\"Vos fichiers et dossiers existants sur le disque sp\\xE9cifi\\xE9 ne seront pas affect\\xE9s, mais la configuration de votre disque sera supprim\\xE9e de Crater\",action:\"Action\",edit_file_disk:\"Modifier cet espace de stockage\",success_create:\"Stockage ajout\\xE9\",success_update:\"Stockage mis \\xE0 jour\",error:\"L'ajout de disque a \\xE9chou\\xE9\",deleted_message:\"Stockage supprim\\xE9\",disk_variables_save_successfully:\"Stockage configur\\xE9\",disk_variables_save_error:\"La configuration du stockage a \\xE9chou\\xE9.\",invalid_disk_credentials:\"Informations d'identification non valides du stockage s\\xE9lectionn\\xE9\"},taxations:{add_billing_address:\"Entrez l'adresse de facturation\",add_shipping_address:\"Entrez l'adresse de livraison\",add_company_address:\"Entrez l'adresse de la soci\\xE9t\\xE9\",modal_description:\"Les informations ci-dessous sont requises afin de r\\xE9cup\\xE9rer les taxes de vente.\",add_address:\"Ajoutez une adresse pour r\\xE9cup\\xE9rer les taxes de vente.\",address_placeholder:\"Exemple: 123, My Street\",city_placeholder:\"Exemple: Los Angeles\",state_placeholder:\"Exemple: CA\",zip_placeholder:\"Exemple: 90024\",invalid_address:\"Veuillez fournir une adresse valide.\"}},Cs={account_info:\"Information du compte\",account_info_desc:\"Les d\\xE9tails ci-dessous seront utilis\\xE9s pour cr\\xE9er le compte administrateur principal. Aussi, vous pouvez modifier les d\\xE9tails \\xE0 tout moment apr\\xE8s la connexion.\",name:\"Nom\",email:\"Email\",password:\"Mot de passe\",confirm_password:\"Confirmez le mot de passe\",save_cont:\"Enregistrer et poursuivre\",company_info:\"Coordonn\\xE9es de la soci\\xE9t\\xE9\",company_info_desc:\"Ces informations seront affich\\xE9es sur les factures. Notez que vous pouvez \\xE9diter ceci plus tard sur la page des param\\xE8tres.\",company_name:\"Nom\",company_logo:\"Logo\",logo_preview:\"Aper\\xE7u\",preferences:\"Pr\\xE9f\\xE9rences\",preferences_desc:\"Pr\\xE9f\\xE9rences par d\\xE9faut du syst\\xE8me.\",currency_set_alert:\"La devise ne pourra pas \\xEAtre chang\\xE9.\",country:\"Pays\",state:\"\\xC9tat\",city:\"Ville\",address:\"Adresse\",street:\"Rue 1 | Rue 2\",phone:\"T\\xE9l\\xE9phone\",zip_code:\"Code postal\",go_back:\"Revenir\",currency:\"Devise\",language:\"Langue\",time_zone:\"Fuseau horaire\",fiscal_year:\"Exercice fiscal\",date_format:\"Format de date\",from_address:\"De l'adresse\",username:\"Nom d'utilisateur\",next:\"Suivant\",continue:\"Poursuivre\",skip:\"Ignorer\",database:{database:\"URL du site et base de donn\\xE9es\",connection:\"Connexion \\xE0 la base de donn\\xE9es\",host:\"Serveur de la base de donn\\xE9es\",port:\"Port de la base de donn\\xE9es\",password:\"Mot de passe de la base de donn\\xE9es\",app_url:\"Application URL\",app_domain:\"Nom de domaine\",username:\"Nom d'utilisateur de la base de donn\\xE9es\",db_name:\"Nom de la base de donn\\xE9es\",db_path:\"Emplacement de la base de donn\\xE9es\",desc:\"Cr\\xE9ez une base de donn\\xE9es sur votre serveur et d\\xE9finissez les informations d'identification \\xE0 l'aide du formulaire ci-dessous.\"},permissions:{permissions:\"Permissions\",permission_confirm_title:\"\\xCAtes-vous certain de vouloir continuer ?\",permission_confirm_desc:\"La v\\xE9rification des permissions du dossier a \\xE9chou\\xE9\",permission_desc:\"Vous trouverez ci-dessous la liste des permissions de dossier requises pour le fonctionnement de l'application. Si la v\\xE9rification des permissions \\xE9choue, veillez mettre \\xE0 jour vos permissions de dossier.\"},verify_domain:{title:\"V\\xE9rification du domaine\",desc:\"Crater utilise l'authentification bas\\xE9e sur la session qui n\\xE9cessite une v\\xE9rification du domaine pour des raisons de s\\xE9curit\\xE9. Veuillez saisir le domaine sur lequel vous allez acc\\xE9der \\xE0 votre application web.\",app_domain:\"Domaine de l'application\",verify_now:\"V\\xE9rifier maintenant\",success:\"V\\xE9rification du domaine r\\xE9ussie.\",failed:\"La v\\xE9rification du domaine a \\xE9chou\\xE9. Veuillez entrer un nom de domaine valide.\",verify_and_continue:\"V\\xE9rifier et continuer\"},mail:{host:\"Serveur email\",port:\"Port\",driver:\"Fournisseur d'email\",secret:\"Secret\",mailgun_secret:\"Secret\",mailgun_domain:\"Nom de domaine\",mailgun_endpoint:\"Endpoint\",ses_secret:\"Secret\",ses_key:\"Key\",password:\"Mot de passe\",username:\"Nom d'utilisateur\",mail_config:\"Envoi d'emails\",from_name:\"Nom de messagerie\",from_mail:\"Email de l'exp\\xE9diteur\",encryption:\"Chiffrement des emails\",mail_config_desc:\"Les d\\xE9tails ci-dessous seront utilis\\xE9s pour mettre \\xE0 jour le fournisseur de messagerie. Vous pourrez modifier ceux-ci \\xE0 tout moment apr\\xE8s la connexion.\"},req:{system_req:\"Configuration requise\",php_req_version:\"Php (version {version} n\\xE9cessaire)\",check_req:\"V\\xE9rifier les pr\\xE9requis\",system_req_desc:\"Crater a quelques pr\\xE9requis. Assurez-vous que votre serveur dispose de la version Php requise et de toutes les extensions mentionn\\xE9es ci-dessous.\"},errors:{migrate_failed:\"\\xC9chec de la migration\",database_variables_save_error:\"Impossible de cr\\xE9er le fichier de configuration. Veuillez v\\xE9rifier les permissions du r\\xE9pertoire\",mail_variables_save_error:\"La configuration du courrier \\xE9lectronique a \\xE9chou\\xE9.\",connection_failed:\"La connexion \\xE0 la base de donn\\xE9es a \\xE9chou\\xE9\",database_should_be_empty:\"La base de donn\\xE9es devrait \\xEAtre vide\"},success:{mail_variables_save_successfully:\"Email configur\\xE9\",database_variables_save_successfully:\"Base de donn\\xE9es configur\\xE9e.\"}},Ns={invalid_phone:\"Num\\xE9ro de t\\xE9l\\xE9phone invalide\",invalid_url:\"URL invalide (ex: http://www.crater.com)\",invalid_domain_url:\"URL invalide (ex: crater.com)\",required:\"Champ requis\",email_incorrect:\"Adresse Email incorrecte.\",email_already_taken:\"Un compte est d\\xE9j\\xE0 associ\\xE9 \\xE0 cette adresse email.\",email_does_not_exist:\"Cet utilisateur n'existe pas\",item_unit_already_taken:\"Cette unit\\xE9 est d\\xE9j\\xE0 \\xE9t\\xE9 utilis\\xE9e\",payment_mode_already_taken:\"Ce moyen de paiement est d\\xE9j\\xE0 utilis\\xE9\",send_reset_link:\"Envoyer le lien de r\\xE9initialisation\",not_yet:\"Pas encore re\\xE7u ? R\\xE9essayer\",password_min_length:\"Le mot de passe doit contenir au moins {count} caract\\xE8res\",name_min_length:\"Le nom doit comporter au moins {count} lettres.\",prefix_min_length:\"Le pr\\xE9fixe doit faire au moins {count} lettres.\",enter_valid_tax_rate:\"Entrez un taux de taxe valide\",numbers_only:\"Chiffres uniquement.\",characters_only:\"Caract\\xE8res seulement.\",password_incorrect:\"Les mots de passe doivent \\xEAtre identiques\",password_length:\"Le mot de passe doit comporter au moins {count} caract\\xE8res.\",qty_must_greater_than_zero:\"La quantit\\xE9 doit \\xEAtre sup\\xE9rieure \\xE0 z\\xE9ro.\",price_greater_than_zero:\"Le prix doit \\xEAtre sup\\xE9rieur \\xE0 z\\xE9ro.\",payment_greater_than_zero:\"Le paiement doit \\xEAtre sup\\xE9rieur \\xE0 z\\xE9ro.\",payment_greater_than_due_amount:\"Le paiement saisi est plus \\xE9lev\\xE9 que le montant d\\xFB de cette facture.\",quantity_maxlength:\"La quantit\\xE9 ne doit pas d\\xE9passer 20 chiffres.\",price_maxlength:\"Le prix ne doit pas d\\xE9passer 20 chiffres.\",price_minvalue:\"Le prix doit \\xEAtre sup\\xE9rieur \\xE0 0.\",amount_maxlength:\"Le montant ne doit pas d\\xE9passer 20 chiffres.\",amount_minvalue:\"Le montant doit \\xEAtre sup\\xE9rieur \\xE0 0.\",discount_maxlength:\"La remise ne doit pas \\xEAtre sup\\xE9rieure \\xE0 la remise maximale\",description_maxlength:\"La description ne doit pas d\\xE9passer 255 caract\\xE8res.\",subject_maxlength:\"L'objet ne doit pas d\\xE9passer 100 caract\\xE8res.\",message_maxlength:\"Le message ne doit pas d\\xE9passer 255 caract\\xE8res.\",maximum_options_error:\"Maximum de {max} options s\\xE9lectionn\\xE9es. Commencez par supprimer une option s\\xE9lectionn\\xE9e pour en s\\xE9lectionner une autre.\",notes_maxlength:\"Les notes de bas de page ne doivent pas d\\xE9passer 255 caract\\xE8res.\",address_maxlength:\"L'adresse ne doit pas d\\xE9passer 255 caract\\xE8res.\",ref_number_maxlength:\"Le num\\xE9ro de r\\xE9f\\xE9rence ne doit pas d\\xE9passer 255 caract\\xE8res.\",prefix_maxlength:\"Le pr\\xE9fixe ne doit pas d\\xE9passer 5 caract\\xE8res.\",something_went_wrong:\"quelque chose a mal tourn\\xE9\",number_length_minvalue:\"Ce nombre doit \\xEAtre sup\\xE9rieur \\xE0 0\",at_least_one_ability:\"Veuillez s\\xE9lectionner au moins une autorisation.\",valid_driver_key:\"Veuillez saisir une cl\\xE9 {driver} valide.\",valid_exchange_rate:\"Veuillez saisir un taux de change valide.\",company_name_not_same:\"Le nom de la soci\\xE9t\\xE9 doit correspondre au nom fourni.\"},Es={starter_plan:\"Cette fonctionnalit\\xE9 est disponible \\xE0 partir du plan Starter.\",invalid_provider_key:\"Veuillez entrer une cl\\xE9 d'API valide du fournisseur.\",estimate_number_used:\"Ce num\\xE9ro de devis est d\\xE9j\\xE0 utilis\\xE9.\",invoice_number_used:\"Ce num\\xE9ro de facture est d\\xE9j\\xE0 utilis\\xE9.\",payment_attached:\"Cette facture est li\\xE9e \\xE0 un re\\xE7u de paiement. Veuillez d'abord le supprimer avant de poursuivre.\",payment_number_used:\"Ce num\\xE9ro de paiement est d\\xE9j\\xE0 utilis\\xE9.\",name_already_taken:\"Ce nom est d\\xE9j\\xE0 pris.\",receipt_does_not_exist:\"Le re\\xE7u n'existe pas.\",customer_cannot_be_changed_after_payment_is_added:\"Le client ne peut pas \\xEAtre modifi\\xE9 apr\\xE8s l'ajout du paiement\",invalid_credentials:\"Identifiants invalides.\",not_allowed:\"Non autoris\\xE9\",login_invalid_credentials:\"Ces identifiants ne correspondent pas \\xE0 nos enregistrements.\",enter_valid_cron_format:\"Veuillez entrer une t\\xE2che Cron valide\",email_could_not_be_sent:\"L'Email n'a pas pu \\xEAtre envoy\\xE9 vers cette adresse email.\",invalid_address:\"Veuillez sp\\xE9cifier une adresse valide.\",invalid_key:\"Veuillez sp\\xE9cifier une cl\\xE9 valide.\",invalid_state:\"Veuillez sp\\xE9cifier un \\xE9tat valide.\",invalid_city:\"Veuillez sp\\xE9cifier une ville valide.\",invalid_postal_code:\"Veuillez sp\\xE9cifier un code postal valide.\",invalid_format:\"Veuillez sp\\xE9cifier un format de requ\\xEAte valide.\",api_error:\"Le serveur ne r\\xE9pond plus.\",feature_not_enabled:\"Fonctionnalit\\xE9 inactive.\",request_limit_met:\"Limite de requ\\xEAtes API d\\xE9pass\\xE9e.\",address_incomplete:\"Adresse incompl\\xE8te\"},Is=\"Devis\",Ts=\"N\\xB0\",Rs=\"Date\",Ms=\"Date d'expiration\",Fs=\"Facture\",$s=\"Num\\xE9ro\",Us=\"Date\",Vs=\"Date d\\u2019\\xE9ch\\xE9ance\",Os=\"Notes de bas de page\",Ls=\"Articles\",qs=\"Quantit\\xE9\",Bs=\"Prix\",Ks=\"Remise\",Zs=\"Montant\",Ws=\"Sous-total\",Hs=\"Total TTC\",Ys=\"Paiement\",Gs=\"Re\\xE7u de paiement\",Js=\"Date de paiement\",Qs=\"Num\\xE9ro\",Xs=\"Moyen de paiement\",er=\"Montant re\\xE7u\",tr=\"RAPPORT DE D\\xC9PENSES\",ar=\"TOTAL DES D\\xC9PENSES\",nr=\"RECETTES ET D\\xC9PENSES\",ir=\"Rapport de vente client\",or=\"Rapport de vente par articles\",sr=\"Rapport de r\\xE9sum\\xE9 fiscal\",rr=\"REVENU\",dr=\"R\\xC9SULTAT\",lr=\"Rapport de ventes : par client\",cr=\"TOTAL DES VENTES\",_r=\"Rapport des ventes : par article\",ur=\"TAXES\",mr=\"TOTAL\",pr=\"Taxe\",fr=\"D\\xE9penses\",gr=\"Facturer \\xE0\",vr=\"Exp\\xE9dier \\xE0\",yr=\"Re\\xE7u de :\",hr=\"Taxe\";var br={navigation:_s,general:us,dashboard:ms,tax_types:ps,global_search:fs,company_switcher:gs,dateRange:vs,customers:ys,items:hs,estimates:bs,invoices:ks,recurring_invoices:ws,payments:zs,expenses:xs,login:Ps,modules:Ss,users:js,reports:As,settings:Ds,wizard:Cs,validation:Ns,errors:Es,pdf_estimate_label:Is,pdf_estimate_number:Ts,pdf_estimate_date:Rs,pdf_estimate_expire_date:Ms,pdf_invoice_label:Fs,pdf_invoice_number:$s,pdf_invoice_date:Us,pdf_invoice_due_date:Vs,pdf_notes:Os,pdf_items_label:Ls,pdf_quantity_label:qs,pdf_price_label:Bs,pdf_discount_label:Ks,pdf_amount_label:Zs,pdf_subtotal:Ws,pdf_total:Hs,pdf_payment_label:Ys,pdf_payment_receipt_label:Gs,pdf_payment_date:Js,pdf_payment_number:Qs,pdf_payment_mode:Xs,pdf_payment_amount_received_label:er,pdf_expense_report_label:tr,pdf_total_expenses_label:ar,pdf_profit_loss_label:nr,pdf_sales_customers_label:ir,pdf_sales_items_label:or,pdf_tax_summery_label:sr,pdf_income_label:rr,pdf_net_profit_label:dr,pdf_customer_sales_report:lr,pdf_total_sales_label:cr,pdf_item_sales_label:_r,pdf_tax_report_label:ur,pdf_total_tax_label:mr,pdf_tax_types_label:pr,pdf_expenses_label:fr,pdf_bill_to:gr,pdf_ship_to:vr,pdf_received_from:yr,pdf_tax_label:hr};const kr={dashboard:\"Tablero\",customers:\"Clientes\",items:\"Art\\xEDculos\",invoices:\"Facturas\",\"recurring-invoices\":\"Facturas recurrentes\",expenses:\"Gastos\",estimates:\"Presupuestos\",payments:\"Pagos\",reports:\"Informes\",settings:\"Ajustes\",logout:\"Cerrar sesi\\xF3n\",users:\"Usuarios\",modules:\"Modules\"},wr={add_company:\"A\\xF1adir empresa\",view_pdf:\"Ver PDF\",copy_pdf_url:\"Copiar direcci\\xF3n URL del archivo PDF\",download_pdf:\"Descargar PDF\",save:\"Guardar\",create:\"Crear\",cancel:\"Cancelar\",update:\"Actualizar\",deselect:\"Deseleccionar\",download:\"Descargar\",from_date:\"Desde la fecha\",to_date:\"Hasta la fecha\",from:\"De\",to:\"A\",ok:\"De acuerdo\",yes:\"S\\xED\",no:\"No\",sort_by:\"Ordenar por\",ascending:\"Ascendente\",descending:\"Descendente\",subject:\"Asunto\",body:\"Cuerpo\",message:\"Mensaje\",send:\"Enviar\",preview:\"Previsualizar\",go_back:\"Volver\",back_to_login:\"\\xBFVolver al inicio de sesi\\xF3n?\",home:\"Inicio\",filter:\"Filtrar\",delete:\"Eliminar\",edit:\"Editar\",view:\"Ver\",add_new_item:\"Agregar \\xEDtem nuevo\",clear_all:\"Limpiar todo\",showing:\"Mostrando\",of:\"de\",actions:\"Acciones\",subtotal:\"SUBTOTAL\",discount:\"DESCUENTO\",fixed:\"Fijo\",percentage:\"Porcentaje\",tax:\"IMPUESTO\",total_amount:\"VALOR TOTAL\",bill_to:\"Cobrar a\",ship_to:\"Enviar a\",due:\"Debido\",draft:\"Borrador\",sent:\"Enviado\",all:\"Todas\",select_all:\"Seleccionar todo\",select_template:\"Seleccionar plantilla\",choose_file:\"Haga clic aqu\\xED para elegir un archivo\",choose_template:\"Elige una plantilla\",choose:\"Escoger\",remove:\"Eliminar\",select_a_status:\"Selecciona un estado\",select_a_tax:\"Selecciona un impuesto\",search:\"Buscar\",are_you_sure:\"\\xBFEst\\xE1s seguro?\",list_is_empty:\"La lista esta vac\\xEDa.\",no_tax_found:\"\\xA1No se encontraron impuestos!\",four_zero_four:\"404\",you_got_lost:\"Whoops! \\xA1Te perdiste!\",go_home:\"Volver al Inicio\",test_mail_conf:\"Probar configuraci\\xF3n de correo\",send_mail_successfully:\"El correo enviado con \\xE9xito\",setting_updated:\"Configuraci\\xF3n actualizada con \\xE9xito\",select_state:\"Seleccionar estado\",select_country:\"Seleccionar pa\\xEDs\",select_city:\"Seleccionar ciudad\",street_1:\"Calle 1\",street_2:\"Calle 2\",action_failed:\"Accion Fallida\",retry:\"Procesar de nuevo\",choose_note:\"Elegir nota\",no_note_found:\"No se encontr\\xF3 ninguna nota\",insert_note:\"Insertar una nota\",copied_pdf_url_clipboard:\"Copiar Url al portapapeles\",copied_url_clipboard:\"Copied url to clipboard!\",docs:\"Documentaci\\xF3n\",do_you_wish_to_continue:\"\\xBFDeseas continuar?\",note:\"Nota\",pay_invoice:\"Pay Invoice\",login_successfully:\"Logged in successfully!\",logged_out_successfully:\"Logged out successfully\",mark_as_default:\"Mark as default\"},zr={select_year:\"Seleccionar a\\xF1o\",cards:{due_amount:\"Importe pendiente\",customers:\"Clientes\",invoices:\"Facturas\",estimates:\"Presupuestos\",payments:\"Payments\"},chart_info:{total_sales:\"Ventas\",total_receipts:\"Ingresos\",total_expense:\"Gastos\",net_income:\"Ingresos netos\",year:\"Seleccione a\\xF1o\"},monthly_chart:{title:\"Gastos de venta\"},recent_invoices_card:{title:\"Facturas adeudadas\",due_on:\"Debido a\",customer:\"Cliente\",amount_due:\"Importe pendiente\",actions:\"Acciones\",view_all:\"Ver todo\"},recent_estimate_card:{title:\"Presupuestos recientes\",date:\"Fecha\",customer:\"Cliente\",amount_due:\"Importe pendiente\",actions:\"Acciones\",view_all:\"Ver todo\"}},xr={name:\"Nombre\",description:\"Descripci\\xF3n\",percent:\"Por ciento\",compound_tax:\"Impuesto compuesto\"},Pr={search:\"Buscar...\",customers:\"Clientes\",users:\"Usuarios\",no_results_found:\"No se encontraron resultados\"},Sr={label:\"CAMBIAR EMPRESA\",no_results_found:\"No se encontraron resultados\",add_new_company:\"A\\xF1adir nueva empresa\",new_company:\"Nueva empresa\",created_message:\"Empresa creada satisfactoriamente\"},jr={today:\"Hoy\",this_week:\"Esta semana\",this_month:\"Este mes\",this_quarter:\"Este trimestre\",this_year:\"A\\xF1o actual\",previous_week:\"Semana pasada\",previous_month:\"Mes pasado\",previous_quarter:\"Trimestre pasado\",previous_year:\"A\\xF1o pasado\",custom:\"Personalizado\"},Ar={title:\"Clientes\",prefix:\"Prefijo\",add_customer:\"Agregar cliente\",contacts_list:\"Lista de clientes\",name:\"Nombre\",mail:\"Correo | Correos\",statement:\"Declaraci\\xF3n\",display_name:\"Nombre para mostrar\",primary_contact_name:\"Nombre de contacto primario\",contact_name:\"Nombre de contacto\",amount_due:\"Importe pendiente\",email:\"Correo electr\\xF3nico\",address:\"Direcci\\xF3n\",phone:\"Tel\\xE9fono\",website:\"Sitio web\",overview:\"Descripci\\xF3n general\",invoice_prefix:\"Prefijo de la factura\",estimate_prefix:\"Prefijo de los presupuestos\",payment_prefix:\"Prefijo de pago\",enable_portal:\"Habilitar Portal\",country:\"Pa\\xEDs\",state:\"Estado\",city:\"Ciudad\",zip_code:\"C\\xF3digo postal\",added_on:\"A\\xF1adido el\",action:\"Acci\\xF3n\",password:\"Contrase\\xF1a\",confirm_password:\"Confirmar contrase\\xF1a\",street_number:\"N\\xFAmero de calle\",primary_currency:\"Moneda primaria\",description:\"Descripci\\xF3n\",add_new_customer:\"Agregar nuevo cliente\",save_customer:\"Guardar cliente\",update_customer:\"Actualizar cliente\",customer:\"Cliente | Clientes\",new_customer:\"Nuevo cliente\",edit_customer:\"Editar cliente\",basic_info:\"Informaci\\xF3n b\\xE1sica\",portal_access:\"Portal Access\",portal_access_text:\"Would you like to allow this customer to login to the Customer Portal?\",portal_access_url:\"Customer Portal Login URL\",portal_access_url_help:\"Please copy & forward the above given URL to your customer for providing access.\",billing_address:\"Direcci\\xF3n de Facturaci\\xF3n\",shipping_address:\"Direcci\\xF3n de Env\\xEDo\",copy_billing_address:\"Copia de facturaci\\xF3n\",no_customers:\"\\xA1A\\xFAn no hay clientes!\",no_customers_found:\"\\xA1No se encontraron clientes!\",no_contact:\"No hay contactos\",no_contact_name:\"No hay nombres de contactos\",list_of_customers:\"Esta secci\\xF3n contendr\\xE1 la lista de clientes.\",primary_display_name:\"Nombre de visualizaci\\xF3n principal\",select_currency:\"Seleccione el tipo de moneda\",select_a_customer:\"Selecciona un cliente\",type_or_click:\"Escriba o haga clic para seleccionar\",new_transaction:\"Nueva transacci\\xF3n\",no_matching_customers:\"\\xA1No hay clientes coincidentes!\",phone_number:\"N\\xFAmero de tel\\xE9fono\",create_date:\"Fecha de Creaci\\xF3n\",confirm_delete:\"No podr\\xE1 recuperar este cliente y todas las facturas, estimaciones y pagos relacionados. | No podr\\xE1 recuperar estos clientes y todas las facturas, estimaciones y pagos relacionados.\",created_message:\"Cliente creado con \\xE9xito\",updated_message:\"Cliente actualizado con \\xE9xito\",address_updated_message:\"Address Information Updated succesfully\",deleted_message:\"Cliente eliminado correctamente | Clientes eliminados exitosamente\",edit_currency_not_allowed:\"No se puede cambiar la divisa una vez creadas las transacciones.\"},Dr={title:\"Art\\xEDculos\",items_list:\"Lista de art\\xEDculos\",name:\"Nombre\",unit:\"Unidad\",description:\"Descripci\\xF3n\",added_on:\"A\\xF1adido\",price:\"Precio\",date_of_creation:\"Fecha de creaci\\xF3n\",not_selected:\"Ning\\xFAn elemento seleccionado\",action:\"Acci\\xF3n\",add_item:\"A\\xF1adir art\\xEDculo\",save_item:\"Guardar art\\xEDculo\",update_item:\"Actualizar elemento\",item:\"Art\\xEDculo | Art\\xEDculos\",add_new_item:\"Agregar \\xEDtem nuevo\",new_item:\"Nuevo art\\xEDculo\",edit_item:\"Editar elemento\",no_items:\"\\xA1A\\xFAn no hay art\\xEDculos!\",list_of_items:\"Esta secci\\xF3n contendr\\xE1 la lista de art\\xEDculos.\",select_a_unit:\"seleccionar unidad\",taxes:\"Impuestos\",item_attached_message:\"No se puede eliminar un elemento que ya est\\xE1 en uso.\",confirm_delete:\"No podr\\xE1 recuperar este art\\xEDculo | No podr\\xE1s recuperar estos elementos\",created_message:\"Art\\xEDculo creado con \\xE9xito\",updated_message:\"Art\\xEDculo actualizado con \\xE9xito\",deleted_message:\"Elemento eliminado con \\xE9xito | Elementos eliminados correctamente\"},Cr={title:\"Presupuestos\",accept_estimate:\"Accept Estimate\",reject_estimate:\"Reject Estimate\",estimate:\"Presupuesto | Presupuestos\",estimates_list:\"Lista de presupuestos\",days:\"{d\\xEDas} D\\xEDas\",months:\"{meses} Mes\",years:\"{a\\xF1os} A\\xF1o\",all:\"Todas\",paid:\"Pagada\",unpaid:\"No pagado\",customer:\"CLIENTE\",ref_no:\"N\\xDAMERO DE REFERENCIA.\",number:\"N\\xDAMERO\",amount_due:\"IMPORTE PENDIENTE\",partially_paid:\"Parcialmente pagado\",total:\"Total\",discount:\"Descuento\",sub_total:\"Subtotal\",estimate_number:\"N\\xFAmero de Presupuesto\",ref_number:\"N\\xFAmero de referencia\",contact:\"Contacto\",add_item:\"Agregar un art\\xEDculo\",date:\"Fecha\",due_date:\"Fecha de vencimiento\",expiry_date:\"Fecha de caducidad\",status:\"Estado\",add_tax:\"Agregar impuesto\",amount:\"Cantidad\",action:\"Acci\\xF3n\",notes:\"Notas\",tax:\"Impuesto\",estimate_template:\"Plantilla de presupuesto\",convert_to_invoice:\"Convertir a factura\",mark_as_sent:\"Marcar como enviado\",send_estimate:\"Enviar presupuesto\",resend_estimate:\"Reenviar estimado\",record_payment:\"Registro de pago\",add_estimate:\"Agregar presupuesto\",save_estimate:\"Guardar presupuesto\",confirm_conversion:\"\\xBFQuiere convertir este presupuesto en una factura?\",conversion_message:\"Conversi\\xF3n exitosa\",confirm_send_estimate:\"Este presupuesto se enviar\\xE1 por correo electr\\xF3nico al cliente\",confirm_mark_as_sent:\"Este presupuesto se marcar\\xE1 como enviado\",confirm_mark_as_accepted:\"Este presupuesto se marcar\\xE1 como Aceptado\",confirm_mark_as_rejected:\"Este presupuesto se marcar\\xE1 como Rechazado\",no_matching_estimates:\"\\xA1No hay presupuestos coincidentes!\",mark_as_sent_successfully:\"Presupuesto marcado como enviado correctamente\",send_estimate_successfully:\"Presupuesto enviado con \\xE9xito\",errors:{required:\"Se requiere campo\"},accepted:\"Aceptado\",rejected:\"Rechazado\",expired:\"Expired\",sent:\"Enviado\",draft:\"Borrador\",viewed:\"Viewed\",declined:\"Rechazado\",new_estimate:\"Nuevo presupuesto\",add_new_estimate:\"A\\xF1adir nuevo presupuesto\",update_Estimate:\"Actualizar presupuesto\",edit_estimate:\"Editar presupuesto\",items:\"art\\xEDculos\",Estimate:\"Presupuestos | Presupuestos\",add_new_tax:\"Agregar nuevo impuesto\",no_estimates:\"\\xA1A\\xFAn no hay presupuestos!\",list_of_estimates:\"Esta secci\\xF3n contendr\\xE1 la lista de presupuestos.\",mark_as_rejected:\"Marcar como rechazado\",mark_as_accepted:\"Marcar como aceptado\",marked_as_accepted_message:\"Presupuesto marcado como aceptado\",marked_as_rejected_message:\"Presupuesto marcado como rechazado\",confirm_delete:\"No podr\\xE1 recuperar este presupuesto | No podr\\xE1 recuperar estos presupuestos\",created_message:\"Presupuesto creada con \\xE9xito\",updated_message:\"Presupuesto actualizada con \\xE9xito\",deleted_message:\"Presupuesto eliminada con \\xE9xito | Presupuestos eliminadas exitosamente\",something_went_wrong:\"Algo fue mal\",item:{title:\"T\\xEDtulo del art\\xEDculo\",description:\"Descripci\\xF3n\",quantity:\"Cantidad\",price:\"Precio\",discount:\"Descuento\",total:\"Total\",total_discount:\"Descuento total\",sub_total:\"Subtotal\",tax:\"Impuesto\",amount:\"Cantidad\",select_an_item:\"Escriba o haga clic para seleccionar un elemento\",type_item_description:\"Descripci\\xF3n del tipo de elemento(opcional)\"},mark_as_default_estimate_template_description:\"If enabled, the selected template will be automatically selected for new estimates.\"},Nr={title:\"Facturas\",download:\"Download\",pay_invoice:\"Pay Invoice\",invoices_list:\"Lista de facturas\",invoice_information:\"Invoice Information\",days:\"{d\\xEDas} D\\xEDas\",months:\"{meses} Mes\",years:\"{a\\xF1os} A\\xF1o\",all:\"Todas\",paid:\"Pagada\",unpaid:\"No pagado\",viewed:\"Visto\",overdue:\"Vencido\",completed:\"Completado\",customer:\"CLIENTE\",paid_status:\"ESTADO PAGADO\",ref_no:\"N\\xDAMERO DE REFERENCIA.\",number:\"N\\xDAMERO\",amount_due:\"IMPORTE PENDIENTE\",partially_paid:\"Parcialmente pagado\",total:\"Total\",discount:\"Descuento\",sub_total:\"Subtotal\",invoice:\"Factura | Facturas\",invoice_number:\"Numero de factura\",ref_number:\"N\\xFAmero de referencia\",contact:\"Contacto\",add_item:\"Agregar un art\\xEDculo\",date:\"Fecha\",due_date:\"Fecha de vencimiento\",status:\"Estado\",add_tax:\"Agregar impuesto\",amount:\"Cantidad\",action:\"Acci\\xF3n\",notes:\"Notas\",view:\"Ver\",send_invoice:\"Enviar la factura\",resend_invoice:\"Reenviar factura\",invoice_template:\"Plantilla de factura\",conversion_message:\"Factura clonada correctamente\",template:\"Modelo\",mark_as_sent:\"Marcar como enviada\",confirm_send_invoice:\"Esta factura ser\\xE1 enviada por email al cliente\",invoice_mark_as_sent:\"Esta factura se marcar\\xE1 como enviada\",confirm_mark_as_accepted:\"Esta factura se marcar\\xE1 como aceptada\",confirm_mark_as_rejected:\"Esta factura se marcar\\xE1 como rechazada\",confirm_send:\"Estas facturas se enviar\\xE1n por correo electr\\xF3nico al cliente.\",invoice_date:\"Fecha de la factura\",record_payment:\"Registro de pago\",add_new_invoice:\"A\\xF1adir nueva factura\",update_expense:\"Actualizar gasto\",edit_invoice:\"Editar factura\",new_invoice:\"Nueva factura\",save_invoice:\"Guardar factura\",update_invoice:\"Actualizar factura\",add_new_tax:\"Agregar nuevo impuesto\",no_invoices:\"\\xA1A\\xFAn no hay facturas!\",mark_as_rejected:\"Marcar como rechazado\",mark_as_accepted:\"Marcar como aceptado\",list_of_invoices:\"Esta secci\\xF3n contendr\\xE1 la lista de facturas.\",select_invoice:\"Seleccionar factura\",no_matching_invoices:\"\\xA1No hay facturas coincidentes con la selecci\\xF3n!\",mark_as_sent_successfully:\"Factura marcada como enviada con \\xE9xito\",invoice_sent_successfully:\"Factura enviada satisfactoriamente\",cloned_successfully:\"Factura clonada correctamente\",clone_invoice:\"Clonar factura\",confirm_clone:\"Esta factura se clonar\\xE1 en una nueva factura.\",item:{title:\"T\\xEDtulo del art\\xEDculo\",description:\"Descripci\\xF3n\",quantity:\"Cantidad\",price:\"Precio\",discount:\"Descuento\",total:\"Total\",total_discount:\"Descuento total\",sub_total:\"Subtotal\",tax:\"Impuesto\",amount:\"Cantidad\",select_an_item:\"Escriba o haga clic para seleccionar un elemento\",type_item_description:\"Descripci\\xF3n del tipo de elemento (opcional)\"},payment_attached_message:\"Una de las facturas seleccionadas ya tiene un pago adjunto. Aseg\\xFArese de eliminar primero los pagos adjuntos para continuar con la eliminaci\\xF3n\",confirm_delete:\"No podr\\xE1 recuperar esta factura | No podr\\xE1 recuperar estas facturas\",created_message:\"Factura creada exitosamente\",updated_message:\"Factura actualizada exitosamente\",deleted_message:\"Factura eliminada con \\xE9xito | Facturas borradas exitosamente\",marked_as_sent_message:\"Factura marcada como enviada con \\xE9xito\",something_went_wrong:\"Algo fue mal\",invalid_due_amount_message:\"El pago introducido es mayor que el importe total pendiente de esta factura. Por favor, verificalo y vuelve a intentarlo.\",mark_as_default_invoice_template_description:\"If enabled, the selected template will be automatically selected for new invoices.\"},Er={title:\"Facturas recurrentes\",invoices_list:\"Lista de facturas recurrentes\",days:\"{days} D\\xEDas\",months:\"{months} Mes/es\",years:\"{years} A\\xF1o/s\",all:\"Todas\",paid:\"Pagada\",unpaid:\"No pagada\",viewed:\"Vista\",overdue:\"Vencido\",active:\"Activo\",completed:\"Completado\",customer:\"CLIENTE\",paid_status:\"ESTADO DE PAGO\",ref_no:\"N\\xDAM. DE REFERENCIA.\",number:\"N\\xDAMERO\",amount_due:\"IMPORTE PENDIENTE\",partially_paid:\"Parcialmente pagada\",total:\"Total\",discount:\"Descuento\",sub_total:\"Subtotal\",invoice:\"Factura recurrente | Facturas recurrentes\",invoice_number:\"N\\xFAmero de factura recurrente\",next_invoice_date:\"Fecha de la pr\\xF3xima factura\",ref_number:\"N\\xFAmero de referencia\",contact:\"Contacto\",add_item:\"A\\xF1adir un elemento\",date:\"Fecha\",limit_by:\"Limitar por\",limit_date:\"Fecha l\\xEDmite\",limit_count:\"N\\xFAmero de L\\xEDmites\",count:\"Recuento\",status:\"Estado\",select_a_status:\"Selecciona un estado\",working:\"Trabajando\",on_hold:\"En espera\",complete:\"Completado\",add_tax:\"Agregar impuesto\",amount:\"Cantidad\",action:\"Acci\\xF3n\",notes:\"Notas\",view:\"Ver\",basic_info:\"Informaci\\xF3n b\\xE1sica\",send_invoice:\"Enviar factura recurrente\",auto_send:\"Autoenviar\",resend_invoice:\"Reenviar factura recurrente\",invoice_template:\"Plantilla de la factura recurrente\",conversion_message:\"Factura recurrente clonada con \\xE9xito\",template:\"Plantilla\",mark_as_sent:\"Marcar como enviada\",confirm_send_invoice:\"Esta factura recurrente se enviar\\xE1 por correo electr\\xF3nico al cliente\",invoice_mark_as_sent:\"Esta factura recurrente se marcar\\xE1 como enviada\",confirm_send:\"Esta factura recurrente se enviar\\xE1 por correo electr\\xF3nico al cliente\",starts_at:\"Fecha de inicio\",due_date:\"Fecha l\\xEDmite de la factura\",record_payment:\"Registrar pago\",add_new_invoice:\"A\\xF1adir nueva factura recurrente\",update_expense:\"Actualizar gasto\",edit_invoice:\"Editar factura recurrente\",new_invoice:\"Nueva factura recurrente\",send_automatically:\"Enviar autom\\xE1ticamente\",send_automatically_desc:\"Habilite esto, si desea enviar la factura autom\\xE1ticamente al cliente cuando se haya creado.\",save_invoice:\"Guardar factura recurrente\",update_invoice:\"Actualizar factura recurrente\",add_new_tax:\"Agregar nuevo impuesto\",no_invoices:\"\\xA1A\\xFAn no hay facturas recurrentes!\",mark_as_rejected:\"Marcar como rechazado\",mark_as_accepted:\"Marcar como aceptado\",list_of_invoices:\"Esta secci\\xF3n contiene la lista de facturas recurrentes.\",select_invoice:\"Seleccionar factura\",no_matching_invoices:\"\\xA1No hay facturas recurrentes que coincidan!\",mark_as_sent_successfully:\"Factura recurrente marcada como enviada correctamente\",invoice_sent_successfully:\"Factura recurrente enviada correctamente\",cloned_successfully:\"Factura recurrente clonada con \\xE9xito\",clone_invoice:\"Clonar factura recurrente\",confirm_clone:\"Esta factura recurrente ser\\xE1 clonada en una nueva factura recurrente\",add_customer_email:\"Please add an email address for this customer to send invoices automatically.\",item:{title:\"T\\xEDtulo del art\\xEDculo\",description:\"Descripci\\xF3n\",quantity:\"Cantidad\",price:\"Precio\",discount:\"Descuento\",total:\"Total\",total_discount:\"Descuento total\",sub_total:\"Subtotal\",tax:\"Impuesto\",amount:\"Cantidad\",select_an_item:\"Escribe o haz clic para seleccionar un elemento\",type_item_description:\"Descripci\\xF3n del tipo de elemento(opcional)\"},frequency:{title:\"Frecuencia\",select_frequency:\"Seleccionar frecuencia\",minute:\"Minuto\",hour:\"Hora\",day_month:\"D\\xEDa del mes\",month:\"Mes\",day_week:\"D\\xEDa de la semana\"},confirm_delete:\"No podr\\xE1 recuperar esta factura | No podr\\xE1s recuperar estas facturas\",created_message:\"Factura recurrente creada con \\xE9xito\",updated_message:\"Factura recurrente actualizada correctamente\",deleted_message:\"Factura recurrente eliminada correctamente | Facturas recurrentes eliminadas correctamente\",marked_as_sent_message:\"Factura recurrente marcada como enviada con \\xE9xito\",user_email_does_not_exist:\"El email del usuario no existe\",something_went_wrong:\"algo ha ido mal\",invalid_due_amount_message:\"La cantidad total de la factura recurrente no puede ser menor a la cantidad total pagada. Por favor, actualiza la factura o elimina los pagos asociados para continuar.\"},Ir={title:\"Pagos\",payments_list:\"Lista de pagos\",record_payment:\"Registro de pago\",customer:\"Cliente\",date:\"Fecha\",amount:\"Cantidad\",action:\"Acci\\xF3n\",payment_number:\"Numero de pago\",payment_mode:\"Modo de pago\",invoice:\"Factura\",note:\"Nota\",add_payment:\"Agregar pago\",new_payment:\"Nuevo pago\",edit_payment:\"Editar pago\",view_payment:\"Ver pago\",add_new_payment:\"Agregar nuevo pago\",send_payment_receipt:\"Enviar recibo de pago\",send_payment:\"Enviar pago\",save_payment:\"Guardar pago\",update_payment:\"Actualizar pago\",payment:\"Pago | Pagos\",no_payments:\"\\xA1A\\xFAn no hay pagos!\",not_selected:\"No seleccionado\",no_invoice:\"Sin facturas\",no_matching_payments:\"\\xA1No hay pagos equivalentes!\",list_of_payments:\"Esta secci\\xF3n contendr\\xE1 la lista de pagos.\",select_payment_mode:\"Seleccionar modo de pago\",confirm_mark_as_sent:\"Este presupuesto se marcar\\xE1 como enviado\",confirm_send_payment:\"Este pago se enviar\\xE1 por correo electr\\xF3nico al cliente\",send_payment_successfully:\"Pago enviado correctamente\",something_went_wrong:\"Algo fue mal\",confirm_delete:\"No podr\\xE1 recuperar este pago | No podr\\xE1 recuperar estos pagos\",created_message:\"Pago creado con \\xE9xito\",updated_message:\"Pago actualizado con \\xE9xito\",deleted_message:\"Pago eliminado con \\xE9xito | Pagos eliminados exitosamente\",invalid_amount_message:\"El importe del pago no es v\\xE1lido.\"},Tr={title:\"Gastos\",expenses_list:\"Lista de gastos\",select_a_customer:\"Selecciona un cliente\",expense_title:\"T\\xEDtulo\",customer:\"Cliente\",currency:\"Divisa\",contact:\"Contacto\",category:\"Categor\\xEDa\",from_date:\"Desde la fecha\",to_date:\"Hasta la fecha\",expense_date:\"Fecha\",description:\"Descripci\\xF3n\",receipt:\"Recibo\",amount:\"Cantidad\",action:\"Acci\\xF3n\",not_selected:\"Sin seleccionar\",note:\"Nota\",category_id:\"Categoria ID\",date:\"Fecha de gastos\",add_expense:\"A\\xF1adir gastos\",add_new_expense:\"A\\xF1adir nuevo gasto\",save_expense:\"Guardar gasto\",update_expense:\"Actualizar gasto\",download_receipt:\"Descargar recibo\",edit_expense:\"Editar gasto\",new_expense:\"Nuevo gasto\",expense:\"Gastos | Gastos\",no_expenses:\"\\xA1No hay gastos todav\\xEDa!\",list_of_expenses:\"Esta secci\\xF3n contendr\\xE1 la lista de gastos.\",confirm_delete:\"No podr\\xE1 recuperar este gasto | No podr\\xE1 recuperar estos gastos\",created_message:\"Gastos creados exitosamente\",updated_message:\"Gastos actualizados con \\xE9xito\",deleted_message:\"Gastos eliminados con \\xE9xito | Gastos eliminados exitosamente\",categories:{categories_list:\"Lista de categor\\xEDas\",title:\"T\\xEDtulo\",name:\"Nombre\",description:\"Descripci\\xF3n\",amount:\"Cantidad\",actions:\"Comportamiento\",add_category:\"a\\xF1adir categor\\xEDa\",new_category:\"Nueva categor\\xEDa\",category:\"Categor\\xEDa | Categorias\",select_a_category:\"Seleccione una categor\\xEDa\"}},Rr={email:\"Correo electr\\xF3nico\",password:\"Contrase\\xF1a\",forgot_password:\"\\xBFOlvidaste tu contrase\\xF1a?\",or_signIn_with:\"o Inicia sesi\\xF3n con\",login:\"Iniciar sesi\\xF3n\",register:\"Registro\",reset_password:\"Restablecer la contrase\\xF1a\",password_reset_successfully:\"Contrase\\xF1a reestablecida con \\xE9xito\",enter_email:\"Escriba el correo electr\\xF3nico\",enter_password:\"Escriba la contrase\\xF1a\",retype_password:\"Reescriba la contrase\\xF1a\"},Mr={buy_now:\"Buy Now\",install:\"Install\",price:\"Price\",download_zip_file:\"Download ZIP file\",unzipping_package:\"Unzipping Package\",copying_files:\"Copying Files\",deleting_files:\"Deleting Unused files\",completing_installation:\"Completing Installation\",update_failed:\"Update Failed\",install_success:\"Module has been installed successfully!\",customer_reviews:\"Reviews\",license:\"License\",faq:\"FAQ\",monthly:\"Monthly\",yearly:\"Yearly\",updated:\"Updated\",version:\"Version\",disable:\"Disable\",module_disabled:\"Module Disabled\",enable:\"Enable\",module_enabled:\"Module Enabled\",update_to:\"Update To\",module_updated:\"Module Updated Successfully!\",title:\"Modules\",module:\"Module | Modules\",api_token:\"API token\",invalid_api_token:\"Invalid API Token.\",other_modules:\"Other Modules\",view_all:\"View All\",no_reviews_found:\"There are no reviews for this module yet!\",module_not_purchased:\"Module Not Purchased\",module_not_found:\"Module Not Found\",version_not_supported:\"This module version doesn't support the current version of Crater\",last_updated:\"Last Updated On\",connect_installation:\"Connect your installation\",api_token_description:\"Login to {url} and connect this installation by entering the API Token. Your purchased modules will show up here after the connection is established.\",view_module:\"View Module\",update_available:\"Update Available\",purchased:\"Purchased\",installed:\"Installed\",no_modules_installed:\"No Modules Installed Yet!\",disable_warning:\"All the settings for this particular will be reverted.\",what_you_get:\"What you get\"},Fr={title:\"Usuarios\",users_list:\"Lista de usuarios\",name:\"Nombre\",description:\"Descripci\\xF3n\",added_on:\"A\\xF1adido\",date_of_creation:\"Fecha de creaci\\xF3n\",action:\"Acci\\xF3n\",add_user:\"Agregar usuario\",save_user:\"Guardar usuario\",update_user:\"Actualizar usuario\",user:\"Usuario | Usuarios\",add_new_user:\"Agregar Nuevo Usuario\",new_user:\"Nuevo usuario\",edit_user:\"Editar usuario\",no_users:\"\\xA1A\\xFAn no hay usuarios!\",list_of_users:\"Esta secci\\xF3n contendr\\xE1 la lista de usuarios.\",email:\"Correo\",phone:\"Tel\\xE9fono\",password:\"Contrase\\xF1a\",user_attached_message:\"No se puede eliminar un elemento que ya est\\xE1 en uso.\",confirm_delete:\"No podr\\xE1 recuperar este Usuario | No podr\\xE1 recuperar estos Usuarios\",created_message:\"Usuario creado satisfactoriamente\",updated_message:\"Usuario actualizado satisfactoriamente\",deleted_message:\"Usuario eliminado exitosamente | Usuario eliminado correctamente\",select_company_role:\"Seleccionar rol para {company}\",companies:\"Empresas\"},$r={title:\"Informe\",from_date:\"A partir de la fecha\",to_date:\"Hasta la fecha\",status:\"Estado\",paid:\"Pagada\",unpaid:\"No pagado\",download_pdf:\"Descargar PDF\",view_pdf:\"Ver PDF\",update_report:\"Informe de actualizaci\\xF3n\",report:\"Informe | Informes\",profit_loss:{profit_loss:\"P\\xE9rdida de beneficios\",to_date:\"Hasta la fecha\",from_date:\"A partir de la fecha\",date_range:\"Seleccionar rango de fechas\"},sales:{sales:\"Ventas\",date_range:\"Seleccionar rango de fechas\",to_date:\"Hasta la fecha\",from_date:\"A partir de la fecha\",report_type:\"Tipo de informe\"},taxes:{taxes:\"Impuestos\",to_date:\"Hasta la fecha\",from_date:\"A partir de la fecha\",date_range:\"Seleccionar rango de fechas\"},errors:{required:\"Se requiere campo\"},invoices:{invoice:\"Factura\",invoice_date:\"Fecha de la factura\",due_date:\"Fecha de vencimiento\",amount:\"Cantidad\",contact_name:\"Nombre de contacto\",status:\"Estado\"},estimates:{estimate:\"Presupuestar\",estimate_date:\"Fecha presupuesto\",due_date:\"Fecha de vencimiento\",estimate_number:\"N\\xFAmero de Presupuesto\",ref_number:\"N\\xFAmero de referencia\",amount:\"Cantidad\",contact_name:\"Nombre de contacto\",status:\"Estado\"},expenses:{expenses:\"Gastos\",category:\"Categor\\xEDa\",date:\"Fecha\",amount:\"Cantidad\",to_date:\"Hasta la fecha\",from_date:\"A partir de la fecha\",date_range:\"Seleccionar rango de fechas\"}},Ur={menu_title:{account_settings:\"Configuraciones de la cuenta\",company_information:\"Informaci\\xF3n de la empresa\",customization:\"Personalizaci\\xF3n\",preferences:\"Preferencias\",notifications:\"Notificaciones\",tax_types:\"Tipos de impuestos\",expense_category:\"Categor\\xEDas de gastos\",update_app:\"Actualizar aplicaci\\xF3n\",backup:\"Copias de seguridad\",file_disk:\"Disco de archivo\",custom_fields:\"Campos Personalizados\",payment_modes:\"Formas de pago\",notes:\"Notas\",exchange_rate:\"Tasa de cambio\",address_information:\"Address Information\"},address_information:{section_description:\"  You can update Your Address information using form below.\"},title:\"Configuraciones\",setting:\"Configuraciones | Configuraciones\",general:\"General\",language:\"Idioma\",primary_currency:\"Moneda primaria\",timezone:\"Zona horaria\",date_format:\"Formato de fecha\",currencies:{title:\"Monedas\",currency:\"Moneda | Monedas\",currencies_list:\"Lista de monedas\",select_currency:\"Seleccione el tipo de moneda\",name:\"Nombre\",code:\"C\\xF3digo\",symbol:\"S\\xEDmbolo\",precision:\"Precisi\\xF3n\",thousand_separator:\"Separador de miles\",decimal_separator:\"Separador decimal\",position:\"Posici\\xF3n\",position_of_symbol:\"Posici\\xF3n del s\\xEDmbolo\",right:\"Derecho\",left:\"Izquierda\",action:\"Acci\\xF3n\",add_currency:\"Agregar moneda\"},mail:{host:\"Host de correo\",port:\"Puerto de correo\",driver:\"Conductor de correo\",secret:\"Secreto\",mailgun_secret:\"Mailgun Secreto\",mailgun_domain:\"Domino\",mailgun_endpoint:\"Mailgun endpoint\",ses_secret:\"Secreto SES\",ses_key:\"Clave SES\",password:\"Contrase\\xF1a de correo\",username:\"Nombre de usuario de correo\",mail_config:\"Configuraci\\xF3n de correo\",from_name:\"Del nombre del correo\",from_mail:\"Desde la direcci\\xF3n de correo\",encryption:\"Cifrado de correo\",mail_config_desc:\"Los detalles a continuaci\\xF3n se utilizar\\xE1n para actualizar el entorno de correo. Tambi\\xE9n puede cambiar los detalles en cualquier momento despu\\xE9s de iniciar sesi\\xF3n.\"},pdf:{title:\"Configuraci\\xF3n de PDF\",footer_text:\"Texto de pie de p\\xE1gina\",pdf_layout:\"Dise\\xF1o PDF\"},company_info:{company_info:\"Informaci\\xF3n de la compa\\xF1\\xEDa\",company_name:\"Nombre de Empresa\",company_logo:\"Logo de la compa\\xF1\\xEDa\",section_description:\"Informaci\\xF3n sobre su empresa que se mostrar\\xE1 en las facturas, presupuestos y otros documentos creados por Crater.\",phone:\"Tel\\xE9fono\",country:\"Pa\\xEDs\",state:\"Estado\",city:\"Ciudad\",address:\"Direcci\\xF3n\",zip:\"C\\xF3digo Postal\",save:\"Guardar\",delete:\"Eliminar\",updated_message:\"Informaci\\xF3n de la empresa actualizada con \\xE9xito\",delete_company:\"Eliminar empresa\",delete_company_description:\"Una vez que elimines tu empresa, perder\\xE1s todos los datos y archivos asociados a ella permanentemente.\",are_you_absolutely_sure:\"\\xBFEst\\xE1s realmente seguro?\",delete_company_modal_desc:\"Est acci\\xF3n no se puede deshacer. Se eliminar\\xE1 de manera permanente {company} y todos sus datos asociados.\",delete_company_modal_label:\"Por favor escribe {company} para confirmar\"},custom_fields:{title:\"Campos Personalizados\",section_description:\"Personalice sus facturas, estimaciones y recibos de pago en sus propios campos. Aseg\\xFArese de usar los siguientes campos a\\xF1adidos en los formatos de direcci\\xF3n de la p\\xE1gina de configuraci\\xF3n de personalizaci\\xF3n.\",add_custom_field:\"Agregar campo personalizado\",edit_custom_field:\"Editar campo personalizado\",field_name:\"Nombre del campo\",label:\"Etiqueta\",type:\"Tipo\",name:\"Nombre\",slug:\"Slug\",required:\"Necesaria\",placeholder:\"Marcador de posici\\xF3n\",help_text:\"texto de ayuda\",default_value:\"Valor por defecto\",prefix:\"Prefijo\",starting_number:\"N\\xFAmero inicial\",model:\"Modelo\",help_text_description:\"Ingrese un texto para ayudar a los usuarios a comprender el prop\\xF3sito de este campo personalizado.\",suffix:\"Sufijo\",yes:\"si\",no:\"No\",order:\"Orden\",custom_field_confirm_delete:\"No podr\\xE1 recuperar este campo personalizado\",already_in_use:\"El campo personalizado ya est\\xE1 en uso\",deleted_message:\"Campo personalizado eliminado correctamente\",options:\"opciones\",add_option:\"Agregar opciones\",add_another_option:\"Agregar otra opci\\xF3n\",sort_in_alphabetical_order:\"Ordenar en orden alfab\\xE9tico\",add_options_in_bulk:\"Agregar opciones a granel\",use_predefined_options:\"Usar opciones predefinidas\",select_custom_date:\"Seleccionar fecha personalizada\",select_relative_date:\"Seleccionar fecha relativa\",ticked_by_default:\"Marcada por defecto\",updated_message:\"Campo personalizado actualizado correctamente\",added_message:\"Campo personalizado agregado correctamente\",press_enter_to_add:\"Presiona Enter para a\\xF1adir una nueva opci\\xF3n\",model_in_use:\"No se puede actualizar el modelo para los campos que ya est\\xE1n en uso.\",type_in_use:\"No se puede actualizar el tipo de los campos que ya est\\xE1n en uso.\"},customization:{customization:\"Personalizaci\\xF3n\",updated_message:\"Informaci\\xF3n de la empresa actualizada con \\xE9xito\",save:\"Guardar\",insert_fields:\"Insertar campos\",learn_custom_format:\"Aprende a utilizar el formato personalizado\",add_new_component:\"A\\xF1adir nuevo componente\",component:\"Componente\",Parameter:\"Par\\xE1metro\",series:\"Series\",series_description:\"Para establecer un prefijo/sufijo fijo como por ejemplo 'INV' para las facturas de tu empresa. El n\\xFAmero m\\xE1ximo de caracteres permitidos es 4.\",series_param_label:\"Valor de series\",delimiter:\"Delimitador\",delimiter_description:\"Car\\xE1cter \\xFAnico para especificar el l\\xEDmite entre 2 componentes separados. Por defecto est\\xE1 configurado en -\",delimiter_param_label:\"Valor delimitador\",date_format:\"Formato de fecha\",date_format_description:\"Un campo de fecha y hora local que acepta un par\\xE1metro de formato. El formato predeterminado: 'Y' representa el a\\xF1o actual.\",date_format_param_label:\"Formato\",sequence:\"Secuencia\",sequence_description:\"Secuencia consecutiva de n\\xFAmeros en su empresa. Puede especificar la longitud en el par\\xE1metro dado.\",sequence_param_label:\"Longitud de la secuencia\",customer_series:\"Series de clientes\",customer_series_description:\"Establecer un prefijo/postfijo diferente para cada cliente.\",customer_sequence:\"Secuencia de cliente\",customer_sequence_description:\"Secuencia consecutiva de n\\xFAmeros para cada uno de sus clientes.\",customer_sequence_param_label:\"Longitud de la secuencia\",random_sequence:\"Secuencia aleatoria\",random_sequence_description:\"Cadena alfanum\\xE9rica aleatoria. Puedes especificar la longitud en el par\\xE1metro dado.\",random_sequence_param_label:\"Longitud de la secuencia\",invoices:{title:\"Facturas\",invoice_number_format:\"Formato de n\\xFAmero de factura\",invoice_number_format_description:\"Personalice c\\xF3mo se genera autom\\xE1ticamente su n\\xFAmero de factura cuando crea una nueva factura.\",preview_invoice_number:\"Previsualizar n\\xFAmero de factura\",due_date:\"Fecha de vencimiento\",due_date_description:\"Especifique c\\xF3mo se establece autom\\xE1ticamente la fecha de vencimiento cuando crea una factura.\",due_date_days:\"Factura vence despu\\xE9s de d\\xEDas\",set_due_date_automatically:\"Establecer fecha de vencimiento autom\\xE1ticamente\",set_due_date_automatically_description:\"Habilite esto si desea establecer la fecha de vencimiento autom\\xE1ticamente cuando crea una nueva factura.\",default_formats:\"Formatos por defecto\",default_formats_description:\"Los formatos dados a continuaci\\xF3n se utilizan para completar los campos autom\\xE1ticamente en la creaci\\xF3n de la factura.\",default_invoice_email_body:\"Cuerpo predeterminado del correo electr\\xF3nico de la factura\",company_address_format:\"Formato de direcci\\xF3n de la empresa\",shipping_address_format:\"Formato de la direcci\\xF3n de env\\xEDo\",billing_address_format:\"Formato de direcci\\xF3n de facturaci\\xF3n\",invoice_email_attachment:\"Enviar cotizaci\\xF3n como adjunto\",invoice_email_attachment_setting_description:\"Activa esto si quieres enviar facturas como archivo adjunto de correo electr\\xF3nico. Tenga en cuenta que el bot\\xF3n 'Ver factura' en los correos electr\\xF3nicos ya no se mostrar\\xE1 cuando est\\xE9 habilitado.\",invoice_settings_updated:\"La configuraci\\xF3n de facturas se ha actualizado correctamente\",retrospective_edits:\"Ediciones retrospectivas\",allow:\"Permitir\",disable_on_invoice_partial_paid:\"Desactivar despu\\xE9s de que se registre un pago parcial\",disable_on_invoice_paid:\"Desactivar despu\\xE9s de que se registre el pago completo\",disable_on_invoice_sent:\"Desactivar despu\\xE9s de enviar la factura\",retrospective_edits_description:\" Seg\\xFAn las leyes de su pa\\xEDs o sus preferencias, puede restringir que los usuarios editen las facturas finalizadas.\"},estimates:{title:\"Estimaciones\",estimate_number_format:\"Formato de n\\xFAmero de estimaci\\xF3n\",estimate_number_format_description:\"Personalice c\\xF3mo se genera autom\\xE1ticamente su n\\xFAmero de presupuesto cuando crea un nuevo presupuesto.\",preview_estimate_number:\"Vista previa del n\\xFAmero de presupuesto\",expiry_date:\"Fecha de vencimiento\",expiry_date_description:\"Especifique c\\xF3mo se establece autom\\xE1ticamente la fecha de caducidad cuando crea un presupuesto.\",expiry_date_days:\"Estimaci\\xF3n Caduca despu\\xE9s de d\\xEDas\",set_expiry_date_automatically:\"Establecer fecha de expiraci\\xF3n autom\\xE1ticamente\",set_expiry_date_automatically_description:\"Habilite esto si desea establecer la fecha de vencimiento autom\\xE1ticamente cuando crea un nuevo presupuesto.\",default_formats:\"Formatos por defecto\",default_formats_description:\"Los formatos dados a continuaci\\xF3n se utilizan para completar los campos autom\\xE1ticamente en la creaci\\xF3n del presupuesto.\",default_estimate_email_body:\"Cuerpo predeterminado estimado del correo electr\\xF3nico\",company_address_format:\"Formato de direcci\\xF3n de la empresa\",shipping_address_format:\"Formato de direcci\\xF3n de env\\xEDo\",billing_address_format:\"Formato de la direcci\\xF3n de facturaci\\xF3n\",estimate_email_attachment:\"Enviar cotizaci\\xF3n como adjunto\",estimate_email_attachment_setting_description:\"Activa esto si quieres enviar facturas como archivo adjunto de correo electr\\xF3nico. Tenga en cuenta que el bot\\xF3n 'Ver factura' en los correos electr\\xF3nicos ya no se mostrar\\xE1 cuando est\\xE9 habilitado.\",estimate_settings_updated:\"Ajustes de presupuesto actualizados con \\xE9xito\",convert_estimate_options:\"Acci\\xF3n de conversi\\xF3n de presupuesto\",convert_estimate_description:\"Especifique lo que sucede con el presupuesto una vez que se convierte en una factura.\",no_action:\"No hacer nada\",delete_estimate:\"Eliminar presupuesto\",mark_estimate_as_accepted:\"Marcar presupuesto como aceptado\"},payments:{title:\"Pagos\",payment_number_format:\"Formato del n\\xFAmero de pago\",payment_number_format_description:\"Personalice c\\xF3mo se genera autom\\xE1ticamente su n\\xFAmero de pago cuando crea un nuevo pago.\",preview_payment_number:\"Previsualizar n\\xFAmero de pago\",default_formats:\"Formatos predeterminados\",default_formats_description:\"Los formatos dados a continuaci\\xF3n se utilizan para completar los campos autom\\xE1ticamente en la creaci\\xF3n del pago.\",default_payment_email_body:\"Cuerpo predeterminado del correo electr\\xF3nico del pago\",company_address_format:\"Formato de direcci\\xF3n de la empresa\",from_customer_address_format:\"Desde el formato de direcci\\xF3n del cliente\",payment_email_attachment:\"Enviar pagos como adjunto\",payment_email_attachment_setting_description:\"Activa esto si quieres enviar los pagos como archivo adjunto de correo electr\\xF3nico. Tenga en cuenta que el bot\\xF3n 'Ver pago' en los correos electr\\xF3nicos ya no se mostrar\\xE1 cuando est\\xE9 habilitado.\",payment_settings_updated:\"Los m\\xE9todos de pago se han actualizado correctamente\"},items:{title:\"Art\\xEDculos\",units:\"unidades\",add_item_unit:\"Agregar unidad de art\\xEDculo\",edit_item_unit:\"Editar unidad de art\\xEDculo\",unit_name:\"Nombre de la unidad\",item_unit_added:\"Unidad de art\\xEDculo agregada\",item_unit_updated:\"Unidad de art\\xEDculo actualizada\",item_unit_confirm_delete:\"No podr\\xE1s recuperar esta unidad de art\\xEDculo\",already_in_use:\"Unidad de art\\xEDculo ya est\\xE1 en uso\",deleted_message:\"Unidad de elemento eliminada correctamente\"},notes:{title:\"Notas\",description:\"Ahorre tiempo creando notas y reutiliz\\xE1ndolas en sus facturas, c\\xE1lculos y pagos.\",notes:\"Notas\",type:\"Tipo\",add_note:\"Agregar nota\",add_new_note:\"Agregar nueva nota\",name:\"Nombre\",edit_note:\"Editar nota\",note_added:\"Nota agregada correctamente\",note_updated:\"Nota actualizada correctamente\",note_confirm_delete:\"No podr\\xE1 recuperar esta nota\",already_in_use:\"Nota ya est\\xE1 en uso\",deleted_message:\"Nota eliminada correctamente\"}},account_settings:{profile_picture:\"Foto de perfil\",name:\"Nombre\",email:\"Correo electr\\xF3nico\",password:\"Contrase\\xF1a\",confirm_password:\"Confirmar contrase\\xF1a\",account_settings:\"Configuraciones de la cuenta\",save:\"Guardar\",section_description:\"Puede actualizar su nombre, correo electr\\xF3nico y contrase\\xF1a utilizando el siguiente formulario.\",updated_message:\"Configuraci\\xF3n de la cuenta actualizada correctamente\"},user_profile:{name:\"Nombre\",email:\"Correo electr\\xF3nico\",password:\"Contrase\\xF1a\",confirm_password:\"Confirmar contrase\\xF1a\"},notification:{title:\"Notificaci\\xF3n\",email:\"Enviar notificaciones a\",description:\"\\xBFQu\\xE9 notificaciones por correo electr\\xF3nico le gustar\\xEDa recibir cuando algo cambia?\",invoice_viewed:\"Factura vista\",invoice_viewed_desc:\"Cuando su cliente vio la factura enviada a trav\\xE9s del panel de control de Crater.\",estimate_viewed:\"Presupuesto visto\",estimate_viewed_desc:\"Cuando su cliente vio el presupuesto enviado a trav\\xE9s del panel de control de Crater.\",save:\"Guardar\",email_save_message:\"Correo electr\\xF3nico guardado con \\xE9xito\",please_enter_email:\"Por favor, introduzca su correo electr\\xF3nico\"},roles:{title:\"Roles\",description:\"Configura los roles y permisos de esta empresa\",save:\"Guardar\",add_new_role:\"A\\xF1adir nuevo rol\",role_name:\"Nombre del rol\",added_on:\"A\\xF1adido el\",add_role:\"A\\xF1adir rol\",edit_role:\"Editar rol\",name:\"Nombre\",permission:\"Permiso | Permisos\",select_all:\"Seleccionar todo\",none:\"Ninguno\",confirm_delete:\"No podr\\xE1 recuperar este Rol\",created_message:\"Rol creado correctamente\",updated_message:\"Rol actualizado correctamente\",deleted_message:\"Rol eliminado correctamente\",already_in_use:\"El rol ya est\\xE1 en uso\"},exchange_rate:{exchange_rate:\"Tasa de cambio\",title:\"Solucionar problemas de cambio de moneda\",description:\"Por favor, selecciona un tipo de cambio para todas las monedas mencionadas a continuaci\\xF3n para ayudar a Crater a calcular correctamente las cantidades en {currency}.\",drivers:\"Controladores\",new_driver:\"A\\xF1adir nuevo proveedor\",edit_driver:\"Editar proveedor\",select_driver:\"Seleccione un controlador\",update:\"selecciona un tipo de cambio \",providers_description:\"Configure sus proveedores de tipos de cambio aqu\\xED para obtener autom\\xE1ticamente el tipo de cambio m\\xE1s reciente en las transacciones.\",key:\"Clave API\",name:\"Nombre\",driver:\"Controlador\",is_default:\"Usar por defecto\",currency:\"Divisas\",exchange_rate_confirm_delete:\"No podr\\xE1 recuperar este controlador\",created_message:\"Proveedor creado correctamente\",updated_message:\"Proveedor actualizado correctamente\",deleted_message:\"Proveedor eliminado correctamente\",error:\" No puede eliminar el controlador activo\",default_currency_error:\"Esta moneda ya se usa en uno de los proveedores activos\",exchange_help_text:\"Ingrese el tipo de cambio para convertir de {currency} a {baseCurrency}\",currency_freak:\"Currency Freak\",currency_layer:\"Currency Layer\",open_exchange_rate:\"Open Exchange Rate\",currency_converter:\"Conversor de moneda\",server:\"Servidor\",url:\"URL\",active:\"Activo\",currency_help_text:\"Este proveedor solo se utilizar\\xE1 en las monedas seleccionadas anteriormente\",currency_in_used:\"Las siguientes monedas ya est\\xE1n activas en otro proveedor. Elimine estas monedas de la selecci\\xF3n para volver a activar este proveedor.\"},tax_types:{title:\"Tipos de impuestos\",add_tax:\"Agregar impuesto\",edit_tax:\"Editar impuesto\",description:\"Puede agregar o eliminar impuestos a su gusto. Crater admite impuestos sobre art\\xEDculos individuales, as\\xED como sobre la factura.\",add_new_tax:\"Agregar nuevo impuesto\",tax_settings:\"Configuraciones de impuestos\",tax_per_item:\"Impuesto por art\\xEDculo\",tax_name:\"Nombre del impuesto\",compound_tax:\"Impuesto compuesto\",percent:\"Porcentaje\",action:\"Acci\\xF3n\",tax_setting_description:\"Habil\\xEDtelo si desea agregar impuestos a art\\xEDculos de factura de forma individual. Por defecto, los impuestos se agregan directamente a la factura.\",created_message:\"Tipo de impuesto creado con \\xE9xito\",updated_message:\"Tipo de impuesto actualizado correctamente\",deleted_message:\"Tipo de impuesto eliminado correctamente\",confirm_delete:\"No podr\\xE1 recuperar este tipo de impuesto\",already_in_use:\"El impuesto ya est\\xE1 en uso.\"},payment_modes:{title:\"Formas de pago\",description:\"Modos de transacci\\xF3n para pagos\",add_payment_mode:\"Agregar modo de pago\",edit_payment_mode:\"Editar modo de pago\",mode_name:\"Nombre del modo\",payment_mode_added:\"Forma de pago a\\xF1adida\",payment_mode_updated:\"Forma de pago actualizada\",payment_mode_confirm_delete:\"No podr\\xE1s recuperar este Modo de Pago\",payments_attached:\"This payment method is already attached to payments. Please delete the attached payments to proceed with deletion.\",expenses_attached:\"This payment method is already attached to expenses. Please delete the attached expenses to proceed with deletion.\",deleted_message:\"M\\xE9todo de pago eliminado correctamente\"},expense_category:{title:\"Categor\\xEDas de gastos\",action:\"Acci\\xF3n\",description:\"Se requieren categor\\xEDas para agregar entradas de gastos. Puede Agregar o Eliminar estas categor\\xEDas seg\\xFAn su preferencia.\",add_new_category:\"A\\xF1adir nueva categoria\",add_category:\"A\\xF1adir categor\\xEDa\",edit_category:\"Editar categoria\",category_name:\"nombre de la categor\\xEDa\",category_description:\"Descripci\\xF3n\",created_message:\"Categor\\xEDa de gastos creada con \\xE9xito\",deleted_message:\"Categor\\xEDa de gastos eliminada correctamente\",updated_message:\"Categor\\xEDa de gastos actualizada con \\xE9xito\",confirm_delete:\"No podr\\xE1 recuperar esta categor\\xEDa de gastos\",already_in_use:\"La categor\\xEDa ya est\\xE1 en uso.\"},preferences:{currency:\"Moneda\",default_language:\"Idioma predeterminado\",time_zone:\"Zona horaria\",fiscal_year:\"A\\xF1o financiero\",date_format:\"Formato de fecha\",discount_setting:\"Ajuste de descuento\",discount_per_item:\"Descuento por art\\xEDculo\",discount_setting_description:\"Habil\\xEDtelo si desea agregar Descuento a art\\xEDculos de factura individuales. Por defecto, los descuentos se agregan directamente a la factura.\",expire_public_links:\"Automatically Expire Public Links\",expire_setting_description:\"Specify whether you would like to expire all the links sent by application to view invoices, estimates & payments, etc after a specified duration.\",save:\"Guardar\",preference:\"Preferencia | Preferencias\",general_settings:\"Preferencias predeterminadas para el sistema.\",updated_message:\"Preferencias actualizadas exitosamente\",select_language:\"seleccione el idioma\",select_time_zone:\"selecciona la zona horaria\",select_date_format:\"Seleccionar formato de fecha\",select_financial_year:\"seleccione a\\xF1o financiero\",recurring_invoice_status:\"Estado de la factura recurrente\",create_status:\"Crear estado\",active:\"Activo\",on_hold:\"En espera\",update_status:\"Actualizar estado\",completed:\"Completado\",company_currency_unchangeable:\"No se puede cambiar la divisa de la empresa\"},update_app:{title:\"Actualizar aplicaci\\xF3n\",description:\"Puedes actualizar Crater f\\xE1cilmente comprobando si existe una nueva actualizaci\\xF3n haciendo clic en el bot\\xF3n de abajo\",check_update:\"Buscar actualizaciones\",avail_update:\"Nueva actualizaci\\xF3n disponible\",next_version:\"Pr\\xF3xima versi\\xF3n\",requirements:\"Requisitos\",update:\"Actualizar\",update_progress:\"Actualizaci\\xF3n en progreso...\",progress_text:\"Solo tomar\\xE1 unos minutos. No actualice la pantalla ni cierre la ventana antes de que finalice la actualizaci\\xF3n.\",update_success:\"\\xA1La aplicaci\\xF3n ha sido actualizada! Espere mientras la ventana de su navegador se vuelve a cargar autom\\xE1ticamente.\",latest_message:\"\\xA1Actualizaci\\xF3n no disponible! Est\\xE1s en la \\xFAltima versi\\xF3n.\",current_version:\"Versi\\xF3n actual\",download_zip_file:\"Descargar archivo ZIP\",unzipping_package:\"Descomprimir paquete\",copying_files:\"Copiando documentos\",deleting_files:\"Eliminando archivos no usados\",running_migrations:\"Ejecutar migraciones\",finishing_update:\"Actualizaci\\xF3n final\",update_failed:\"Actualizaci\\xF3n fallida\",update_failed_text:\"\\xA1Lo siento! Su actualizaci\\xF3n fall\\xF3 el: {step} paso\",update_warning:\"Todos los archivos y temas predeterminados se sobreescribir\\xE1n cuando actualice la aplicaci\\xF3n a trav\\xE9s de esta utilidad. Por favor, cree una copia de seguridad de sus temas y base de datos antes de actualizar.\"},backup:{title:\"Copia de seguridad | Copias de seguridad\",description:\"La copia de seguridad es un archivo comprimido zip que contiene todos los archivos en los directorios que especifiques junto con tu base de datos\",new_backup:\"Agregar nueva copia de seguridad\",create_backup:\"Crear copia de seguridad\",select_backup_type:\"Seleccione Tipo de Copia de Seguridad\",backup_confirm_delete:\"No podr\\xE1 recuperar esta copia de seguridad\",path:\"ruta\",new_disk:\"Nuevo Disco\",created_at:\"creado el\",size:\"tama\\xF1o\",dropbox:\"dropbox\",local:\"local\",healthy:\"saludable\",amount_of_backups:\"cantidad de copias de seguridad\",newest_backups:\"copias de seguridad m\\xE1s recientes\",used_storage:\"almacenamiento utilizado\",select_disk:\"Seleccionar Disco\",action:\"Acci\\xF3n\",deleted_message:\"Copia de seguridad eliminada exitosamente\",created_message:\"Copia de seguridad creada satisfactoriamente\",invalid_disk_credentials:\"Credencial no v\\xE1lida del disco seleccionado\"},disk:{title:\"Disco de archivos | Discos de archivos\",description:\"Por defecto, Crater utilizar\\xE1 su disco local para guardar copias de seguridad, avatar y otros archivos de imagen. Puede configurar varios controladores de disco como DigitalOcean, S3 y Dropbox seg\\xFAn sus preferencias.\",created_at:\"creado el\",dropbox:\"dropbox\",name:\"Nombre\",driver:\"Controlador\",disk_type:\"Tipo\",disk_name:\"Nombre del disco\",new_disk:\"Agregar nuevo disco\",filesystem_driver:\"Controlador del sistema de archivos\",local_driver:\"controlador local\",local_root:\"ra\\xEDz local\",public_driver:\"Controlador p\\xFAblico\",public_root:\"Ra\\xEDz p\\xFAblica\",public_url:\"URL p\\xFAblica\",public_visibility:\"Visibilidad p\\xFAblica\",media_driver:\"Controlador multimedia\",media_root:\"Ra\\xEDz multimedia\",aws_driver:\"Controlador AWS\",aws_key:\"Clave AWS\",aws_secret:\"Secreto AWS\",aws_region:\"Regi\\xF3n de AWS\",aws_bucket:\"Cubo AWS\",aws_root:\"Ra\\xEDz AWS\",do_spaces_type:\"Hacer Espacios tipo\",do_spaces_key:\"Disponer espacios\",do_spaces_secret:\"Disponer espacios secretos\",do_spaces_region:\"Disponer regi\\xF3n de espacios\",do_spaces_bucket:\"Disponer espacios\",do_spaces_endpoint:\"Disponer espacios extremos\",do_spaces_root:\"Disponer espacios en la ra\\xEDz\",dropbox_type:\"Tipo de Dropbox\",dropbox_token:\"Token de DropBox\",dropbox_key:\"Clave Dropbox\",dropbox_secret:\"Dropbox Secret\",dropbox_app:\"Aplicaci\\xF3n Dropbox\",dropbox_root:\"Ra\\xEDz Dropbox\",default_driver:\"Controlador por defecto\",is_default:\"Usar por defecto\",set_default_disk:\"Establecer disco predeterminado\",set_default_disk_confirm:\"Este disco se establecer\\xE1 por defecto y todos los nuevos PDFs se guardar\\xE1n en este disco\",success_set_default_disk:\"Disco establecido correctamente como predeterminado\",save_pdf_to_disk:\"Guardar PDFs a disco\",disk_setting_description:\" Habilite esto, si desea guardar autom\\xE1ticamente una copia en formato pdf de cada factura, c\\xE1lculo y recibo de pago en su disco predeterminado. Al activar esta opci\\xF3n, se reducir\\xE1 el tiempo de carga al visualizar los archivos PDFs.\",select_disk:\"Seleccionar Disco\",disk_settings:\"Configuraci\\xF3n del disco\",confirm_delete:\"Los archivos y carpetas existentes en el disco especificado no se ver\\xE1n afectados, pero su configuraci\\xF3n de disco ser\\xE1 eliminada de Crater\",action:\"Acci\\xF3n\",edit_file_disk:\"Editar disco de ficheros\",success_create:\"Disco a\\xF1adido satisfactoriamente\",success_update:\"Disco actualizado satisfactoriamente\",error:\"Error al a\\xF1adir disco\",deleted_message:\"Disco de archivo borrado correctamente\",disk_variables_save_successfully:\"Disco configurado correctamente\",disk_variables_save_error:\"La configuraci\\xF3n del disco ha fallado.\",invalid_disk_credentials:\"Credencial no v\\xE1lida del disco seleccionado\"},taxations:{add_billing_address:\"Enter Billing Address\",add_shipping_address:\"Enter Shipping Address\",add_company_address:\"Enter Company Address\",modal_description:\"The information below is required in order to fetch sales tax.\",add_address:\"Add Address for fetching sales tax.\",address_placeholder:\"Example: 123, My Street\",city_placeholder:\"Example: Los Angeles\",state_placeholder:\"Example: CA\",zip_placeholder:\"Example: 90024\",invalid_address:\"Please provide valid address details.\"}},Vr={account_info:\"Informaci\\xF3n de la cuenta\",account_info_desc:\"Los detalles a continuaci\\xF3n se utilizar\\xE1n para crear la cuenta principal de administrador. Tambi\\xE9n puede cambiar los detalles en cualquier momento despu\\xE9s de iniciar sesi\\xF3n.\",name:\"Nombre\",email:\"Correo\",password:\"Contrase\\xF1a\",confirm_password:\"Confirmar contrase\\xF1a\",save_cont:\"Guardar y continuar\",company_info:\"Informaci\\xF3n de la empresa\",company_info_desc:\"Esta informaci\\xF3n se mostrar\\xE1 en las facturas. Tenga en cuenta que puede editar esto m\\xE1s adelante en la p\\xE1gina de configuraci\\xF3n.\",company_name:\"nombre de empresa\",company_logo:\"Logo de la compa\\xF1\\xEDa\",logo_preview:\"Vista previa del logotipo\",preferences:\"Preferencias\",preferences_desc:\"Preferencias predeterminadas para el sistema.\",currency_set_alert:\"La moneda de la empresa no se puede cambiar m\\xE1s tarde.\",country:\"Pa\\xEDs\",state:\"Estado\",city:\"Ciudad\",address:\"Direcci\\xF3n\",street:\"Calle1 | Calle2\",phone:\"Tel\\xE9fono\",zip_code:\"C\\xF3digo postal\",go_back:\"Regresa\",currency:\"Moneda\",language:\"Idioma\",time_zone:\"Zona horaria\",fiscal_year:\"A\\xF1o financiero\",date_format:\"Formato de fecha\",from_address:\"Desde la Direcci\\xF3n\",username:\"Nombre de usuario\",next:\"Siguiente\",continue:\"Continuar\",skip:\"Saltar\",database:{database:\"URL del sitio y base de datose\",connection:\"Conexi\\xF3n de base de datos\",host:\"Host de la base de datos\",port:\"Puerto de la base de datos\",password:\"Contrase\\xF1a de la base de datos\",app_url:\"URL de la aplicaci\\xF3n\",app_domain:\"Dominio\",username:\"Nombre de usuario de la base de datos\",db_name:\"Nombre de la base de datos\",db_path:\"Ruta de la base de datos\",desc:\"Cree una base de datos en su servidor y establezca las credenciales utilizando el siguiente formulario.\"},permissions:{permissions:\"Permisos\",permission_confirm_title:\"\\xBFEst\\xE1s seguro de que quieres continuar?\",permission_confirm_desc:\"Error de verificaci\\xF3n de permisos de carpeta\",permission_desc:\"A continuaci\\xF3n se muestra la lista de permisos de carpeta necesarios para que la aplicaci\\xF3n funcione. Si la verificaci\\xF3n de permisos falla, aseg\\xFArese de actualizar los permisos de su carpeta.\"},verify_domain:{title:\"Verificaci\\xF3n de dominio\",desc:\"Crater utiliza la autenticaci\\xF3n basada en Sesi\\xF3n que requiere verificaci\\xF3n de dominio por motivos de seguridad. Por favor, introduzca el dominio en el que acceder\\xE1 a su aplicaci\\xF3n web.\",app_domain:\"Dominio de aplicaci\\xF3n\",verify_now:\"Verificar ahora\",success:\"Dominio verificado correctamente.\",failed:\"La verificaci\\xF3n del dominio fall\\xF3. Ingrese un nombre de dominio v\\xE1lido.\",verify_and_continue:\"Verificar y continuar\"},mail:{host:\"Host de correo\",port:\"Puerto de correo\",driver:\"Conductor de correo\",secret:\"Secreto\",mailgun_secret:\"Mailgun Secreto\",mailgun_domain:\"Dominio\",mailgun_endpoint:\"Mailgun endpoint\",ses_secret:\"Secreto SES\",ses_key:\"Clave SES\",password:\"Contrase\\xF1a de correo\",username:\"Nombre de usuario de correo\",mail_config:\"Configuraci\\xF3n de correo\",from_name:\"Del nombre del correo\",from_mail:\"Desde la direcci\\xF3n de correo\",encryption:\"Cifrado de correo\",mail_config_desc:\"Los detalles a continuaci\\xF3n se utilizar\\xE1n para actualizar el entorno de correo. Tambi\\xE9n puede cambiar los detalles en cualquier momento despu\\xE9s de iniciar sesi\\xF3n.\"},req:{system_req:\"Requisitos del sistema\",php_req_version:\"Php (versi\\xF3n {version} necesario)\",check_req:\"Consultar requisitos\",system_req_desc:\"Crater tiene algunos requisitos de servidor. Aseg\\xFArese de que su servidor tenga la versi\\xF3n de php requerida y todas las extensiones mencionadas a continuaci\\xF3n.\"},errors:{migrate_failed:\"La migraci\\xF3n fall\\xF3\",database_variables_save_error:\"No se puede conectar a la base de datos con los valores proporcionados.\",mail_variables_save_error:\"La configuraci\\xF3n del correo electr\\xF3nico ha fallado.\",connection_failed:\"Conexi\\xF3n de base de datos fallida\",database_should_be_empty:\"La base de datos debe estar vac\\xEDa\"},success:{mail_variables_save_successfully:\"Correo electr\\xF3nico configurado correctamente\",database_variables_save_successfully:\"Base de datos configurada con \\xE9xito.\"}},Or={invalid_phone:\"Numero de telefono invalido\",invalid_url:\"URL no v\\xE1lida (por ejemplo, http://www.crater.com)\",invalid_domain_url:\"URL no v\\xE1lida (por ejemplo, crater.com)\",required:\"Se requiere campo\",email_incorrect:\"Email incorrecto.\",email_already_taken:\"Este email ya est\\xE1 en uso\",email_does_not_exist:\"El usuario con el correo electr\\xF3nico dado no existe\",item_unit_already_taken:\"El nombre de la unidad ya est\\xE1 en uso\",payment_mode_already_taken:\"El modo de pago ya ha sido tomado\",send_reset_link:\"Enviar enlace de restablecimiento\",not_yet:\"\\xBFA\\xFAn no? Env\\xEDalo de nuevo\",password_min_length:\"La contrase\\xF1a debe contener {count} caracteres\",name_min_length:\"El nombre debe tener al menos {count} letras.\",prefix_min_length:\"El prefijo debe tener al menos {count} letras.\",enter_valid_tax_rate:\"Ingrese una tasa impositiva v\\xE1lida\",numbers_only:\"Solo n\\xFAmeros.\",characters_only:\"Solo caracteres.\",password_incorrect:\"Las contrase\\xF1as deben ser id\\xE9nticas\",password_length:\"La contrase\\xF1a debe tener 5 caracteres de longitud.\",qty_must_greater_than_zero:\"La cantidad debe ser mayor que cero.\",price_greater_than_zero:\"El precio debe ser mayor que cero.\",payment_greater_than_zero:\"El pago debe ser mayor que cero.\",payment_greater_than_due_amount:\"El pago introducido es mayor que el importe pendiente de esta factura.\",quantity_maxlength:\"La cantidad no debe ser mayor de 20 d\\xEDgitos.\",price_maxlength:\"El precio no debe ser mayor de 20 d\\xEDgitos.\",price_minvalue:\"El precio debe ser mayor que 0 d\\xEDgitos\",amount_maxlength:\"La cantidad no debe ser mayor de 20 d\\xEDgitos.\",amount_minvalue:\"La cantidad debe ser mayor que 0 d\\xEDgitos\",discount_maxlength:\"El descuento no debe ser mayor que el descuento m\\xE1ximo\",description_maxlength:\"La descripci\\xF3n no debe tener m\\xE1s de 255 caracteres.\",subject_maxlength:\"El asunto no debe tener m\\xE1s de 100 caracteres.\",message_maxlength:\"El mensaje no debe tener m\\xE1s de 255 caracteres.\",maximum_options_error:\"M\\xE1ximo de {max} opciones seleccionadas. Primero elimine una opci\\xF3n seleccionada para seleccionar otra.\",notes_maxlength:\"Las notas no deben tener m\\xE1s de 255 caracteres.\",address_maxlength:\"La direcci\\xF3n no debe tener m\\xE1s de 255 caracteres.\",ref_number_maxlength:\"El n\\xFAmero de referencia no debe tener m\\xE1s de 255 caracteres.\",prefix_maxlength:\"El prefijo no debe tener m\\xE1s de 5 caracteres.\",something_went_wrong:\"Algo fue mal\",number_length_minvalue:\"La cantidad debe ser mayor que 0\",at_least_one_ability:\"Por favor, selecciona al menos un permiso.\",valid_driver_key:\"Por favor, introduza una clave {driver} v\\xE1lida.\",valid_exchange_rate:\"Por favor, introduce una tasa de cambio v\\xE1lida.\",company_name_not_same:\"El nombre de la empresa debe coincidir con el nombre indicado.\"},Lr={starter_plan:\"\\xA1Esta funci\\xF3n est\\xE1 disponible en el plan Starter y en adelante!\",invalid_provider_key:\"Por favor, introduzca un proveedor de claves API v\\xE1lido.\",estimate_number_used:\"El n\\xFAmero de estimaci\\xF3n ya se ha tomado.\",invoice_number_used:\"El n\\xFAmero de factura ya est\\xE1 en uso.\",payment_attached:\"Esta factura ya tiene un pago adjunto. Aseg\\xFArese de eliminar primero los pagos adjuntos para continuar con la eliminaci\\xF3n.\",payment_number_used:\"El n\\xFAmero de pago ya est\\xE1 en uso.\",name_already_taken:\"El nombre ya est\\xE1 en uso.\",receipt_does_not_exist:\"No existe el recibo.\",customer_cannot_be_changed_after_payment_is_added:\"El cliente no puede ser modificado despu\\xE9s de agregar el pago\",invalid_credentials:\"Credenciales inv\\xE1lidas.\",not_allowed:\"No permitido\",login_invalid_credentials:\"Estas credenciales no coinciden con nuestros registros.\",enter_valid_cron_format:\"Por favor, introduzca un formato cron v\\xE1lido\",email_could_not_be_sent:\"Email could not be sent to this email address.\",invalid_address:\"Please enter a valid address.\",invalid_key:\"Please enter valid key.\",invalid_state:\"Please enter a valid state.\",invalid_city:\"Please enter a valid city.\",invalid_postal_code:\"Please enter a valid zip.\",invalid_format:\"Please enter valid query string format.\",api_error:\"Server not responding.\",feature_not_enabled:\"Feature not enabled.\",request_limit_met:\"Api request limit exceeded.\",address_incomplete:\"Incomplete Address\"},qr=\"Presupuestar\",Br=\"N\\xFAmero de Presupuesto\",Kr=\"Fecha presupuesto\",Zr=\"Fecha de caducidad\",Wr=\"Factura\",Hr=\"Numero de factura\",Yr=\"Fecha de la factura\",Gr=\"Fecha final\",Jr=\"Notas\",Qr=\"Art\\xEDculos\",Xr=\"Cantidad\",ed=\"Precio\",td=\"Descuento\",ad=\"Cantidad\",nd=\"Subtotal\",id=\"Total\",od=\"Pagos\",sd=\"RECIBO DE PAGO\",rd=\"Fecha de pago\",dd=\"Numero de pago\",ld=\"Modo de pago\",cd=\"Importe recibido\",_d=\"INFORME DE GASTOS\",ud=\"GASTO TOTAL\",md=\"INFORME PERDIDAS & GANANCIAS\",pd=\"Informe de ventas por cliente\",fd=\"Informe de ventas por \\xEDtem\",gd=\"Informe de ventas impuestos\",vd=\"INGRESO\",yd=\"GANANCIA NETA\",hd=\"Informe de ventas: Por cliente\",bd=\"VENTAS TOTALES\",kd=\"Informe de ventas: por art\\xEDculo\",wd=\"INFORME DE IMPUESTOS\",zd=\"TOTAL IMPUESTOS\",xd=\"Tipos de impuestos\",Pd=\"Gastos\",Sd=\"Cobrar a,\",jd=\"Enviar a,\",Ad=\"Recibido desde:\",Dd=\"Impuesto\";var Cd={navigation:kr,general:wr,dashboard:zr,tax_types:xr,global_search:Pr,company_switcher:Sr,dateRange:jr,customers:Ar,items:Dr,estimates:Cr,invoices:Nr,recurring_invoices:Er,payments:Ir,expenses:Tr,login:Rr,modules:Mr,users:Fr,reports:$r,settings:Ur,wizard:Vr,validation:Or,errors:Lr,pdf_estimate_label:qr,pdf_estimate_number:Br,pdf_estimate_date:Kr,pdf_estimate_expire_date:Zr,pdf_invoice_label:Wr,pdf_invoice_number:Hr,pdf_invoice_date:Yr,pdf_invoice_due_date:Gr,pdf_notes:Jr,pdf_items_label:Qr,pdf_quantity_label:Xr,pdf_price_label:ed,pdf_discount_label:td,pdf_amount_label:ad,pdf_subtotal:nd,pdf_total:id,pdf_payment_label:od,pdf_payment_receipt_label:sd,pdf_payment_date:rd,pdf_payment_number:dd,pdf_payment_mode:ld,pdf_payment_amount_received_label:cd,pdf_expense_report_label:_d,pdf_total_expenses_label:ud,pdf_profit_loss_label:md,pdf_sales_customers_label:pd,pdf_sales_items_label:fd,pdf_tax_summery_label:gd,pdf_income_label:vd,pdf_net_profit_label:yd,pdf_customer_sales_report:hd,pdf_total_sales_label:bd,pdf_item_sales_label:kd,pdf_tax_report_label:wd,pdf_total_tax_label:zd,pdf_tax_types_label:xd,pdf_expenses_label:Pd,pdf_bill_to:Sd,pdf_ship_to:jd,pdf_received_from:Ad,pdf_tax_label:Dd};const Nd={dashboard:\"\\u0644\\u0648\\u062D\\u0629 \\u0627\\u0644\\u062A\\u062D\\u0643\\u0645\",customers:\"\\u0627\\u0644\\u0639\\u0645\\u0644\\u0627\\u0621\",items:\"\\u0628\\u0636\\u0627\\u0626\\u0639/\\u062E\\u062F\\u0645\\u0627\\u062A\",invoices:\"\\u0627\\u0644\\u0641\\u0648\\u0627\\u062A\\u064A\\u0631\",\"recurring-invoices\":\"Recurring Invoices\",expenses:\"\\u0627\\u0644\\u0646\\u0641\\u0642\\u0627\\u062A\",estimates:\"\\u0627\\u0644\\u062A\\u0642\\u062F\\u064A\\u0631\\u0627\\u062A\",payments:\"\\u0627\\u0644\\u062F\\u0641\\u0648\\u0639\\u0627\\u062A\",reports:\"\\u0627\\u0644\\u062A\\u0642\\u0627\\u0631\\u064A\\u0631\",settings:\"\\u0627\\u0644\\u0625\\u0639\\u062F\\u0627\\u062F\\u0627\\u062A\",logout:\"\\u062A\\u0633\\u062C\\u064A\\u0644 \\u0627\\u0644\\u062E\\u0631\\u0648\\u062C\",users:\"\\u0627\\u0644\\u0645\\u0633\\u062A\\u062E\\u062F\\u0645\\u0648\\u0646\",modules:\"Modules\"},Ed={add_company:\"\\u0623\\u0636\\u0641 \\u0634\\u0631\\u0643\\u0629\",view_pdf:\"\\u0639\\u0631\\u0636 PDF\",copy_pdf_url:\"\\u0646\\u0633\\u062E \\u0631\\u0627\\u0628\\u0637 PDF\",download_pdf:\"\\u062A\\u0646\\u0632\\u064A\\u0644 PDF\",save:\"\\u062D\\u0641\\u0638\",create:\"\\u0625\\u0646\\u0634\\u0627\\u0621\",cancel:\"\\u062A\\u0631\\u0627\\u062C\\u0639\",update:\"\\u062A\\u062D\\u062F\\u064A\\u062B\",deselect:\"\\u0625\\u0644\\u063A\\u0627\\u0621 \\u0627\\u0644\\u0625\\u062E\\u062A\\u064A\\u0627\\u0631\",download:\"\\u062A\\u062D\\u0645\\u064A\\u0644\",from_date:\"\\u0645\\u0646 \\u062A\\u0627\\u0631\\u064A\\u062E\",to_date:\"\\u0625\\u0644\\u0649 \\u062A\\u0627\\u0631\\u064A\\u062E\",from:\"\\u0645\\u0646\",to:\"\\u0625\\u0644\\u0649\",ok:\"Ok\",yes:\"Yes\",no:\"No\",sort_by:\"\\u062A\\u0631\\u062A\\u064A\\u0628 \\u062D\\u0633\\u0628\",ascending:\"\\u062A\\u0635\\u0627\\u0639\\u062F\\u064A\",descending:\"\\u062A\\u0646\\u0627\\u0632\\u0644\\u064A\",subject:\"\\u0645\\u0648\\u0636\\u0648\\u0639\",body:\"\\u0627\\u0644\\u062C\\u0633\\u0645\",message:\"\\u0631\\u0633\\u0627\\u0644\\u0629\",send:\"\\u0625\\u0631\\u0633\\u0627\\u0644\",preview:\"Preview\",go_back:\"\\u0625\\u0644\\u0649 \\u0627\\u0644\\u062E\\u0644\\u0641\",back_to_login:\"\\u0627\\u0644\\u0639\\u0648\\u062F\\u0629 \\u0625\\u0644\\u0649 \\u062A\\u0633\\u062C\\u064A\\u0644 \\u0627\\u0644\\u062F\\u062E\\u0648\\u0644\\u061F\",home:\"\\u0627\\u0644\\u0631\\u0626\\u064A\\u0633\\u064A\\u0629\",filter:\"\\u062A\\u0635\\u0641\\u064A\\u0629\",delete:\"\\u062D\\u0630\\u0641\",edit:\"\\u062A\\u0639\\u062F\\u064A\\u0644\",view:\"\\u0639\\u0631\\u0636\",add_new_item:\"\\u0625\\u0636\\u0627\\u0641\\u0629 \\u0635\\u0646\\u0641 \\u062C\\u062F\\u064A\\u062F\",clear_all:\"\\u0645\\u0633\\u062D \\u0627\\u0644\\u0643\\u0644\",showing:\"\\u0639\\u0631\\u0636\",of:\"\\u0645\\u0646\",actions:\"\\u0627\\u0644\\u0639\\u0645\\u0644\\u064A\\u0627\\u062A\",subtotal:\"\\u0627\\u0644\\u0645\\u062C\\u0645\\u0648\\u0639 \\u0627\\u0644\\u0641\\u0631\\u0639\\u064A\",discount:\"\\u062E\\u0635\\u0645\",fixed:\"\\u062B\\u0627\\u0628\\u062A\",percentage:\"\\u0646\\u0633\\u0628\\u0629\",tax:\"\\u0627\\u062F\\u0627\\u0621\",total_amount:\"\\u0627\\u0644\\u0645\\u0628\\u0644\\u063A \\u0627\\u0644\\u0625\\u062C\\u0645\\u0627\\u0644\\u064A\",bill_to:\"\\u0627\\u0644\\u0641\\u0627\\u062A\\u0648\\u0631\\u0629 \\u0644\\u0640\",ship_to:\"\\u064A\\u0634\\u062D\\u0646 \\u0625\\u0644\\u0649\",due:\"\\u0627\\u0644\\u0645\\u062A\\u0628\\u0642\\u064A\",draft:\"\\u0645\\u0633\\u0648\\u062F\\u0629\",sent:\"\\u0627\\u0631\\u0633\\u0644\\u062A\",all:\"\\u0627\\u0644\\u0643\\u0644\",select_all:\"\\u062A\\u062D\\u062F\\u064A\\u062F \\u0627\\u0644\\u0643\\u0644\",select_template:\"Select Template\",choose_file:\"\\u0627\\u0636\\u063A\\u0637 \\u0647\\u0646\\u0627 \\u0644\\u0627\\u062E\\u062A\\u064A\\u0627\\u0631 \\u0645\\u0644\\u0641\",choose_template:\"\\u0627\\u062E\\u062A\\u064A\\u0627\\u0631 \\u0627\\u0644\\u0642\\u0627\\u0644\\u0628\",choose:\"\\u0627\\u062E\\u062A\\u0631\",remove:\"\\u062D\\u0630\\u0641\",select_a_status:\"\\u0627\\u062E\\u062A\\u0631 \\u0627\\u0644\\u062D\\u0627\\u0644\\u0629\",select_a_tax:\"\\u0627\\u062E\\u062A\\u0631 \\u0627\\u0644\\u0627\\u062F\\u0627\\u0621\",search:\"\\u0628\\u062D\\u062B\",are_you_sure:\"\\u0647\\u0644 \\u0623\\u0646\\u062A \\u0645\\u062A\\u0623\\u0643\\u062F\\u061F\",list_is_empty:\"\\u0627\\u0644\\u0642\\u0627\\u0626\\u0645\\u0629 \\u0641\\u0627\\u0631\\u063A\\u0629.\",no_tax_found:\"\\u0644\\u0627 \\u064A\\u0648\\u062C\\u062F \\u0636\\u0631\\u064A\\u0628\\u0629!\",four_zero_four:\"404\",you_got_lost:\"\\u0639\\u0641\\u0648\\u0627\\u064B! \\u064A\\u0628\\u062F\\u0648 \\u0623\\u0646\\u0643 \\u0642\\u062F \\u062A\\u0647\\u062A!\",go_home:\"\\u0627\\u0644\\u0630\\u0647\\u0627\\u0628 \\u0627\\u0644\\u0649 \\u0627\\u0644\\u0635\\u0641\\u062D\\u0629 \\u0627\\u0644\\u0631\\u0626\\u064A\\u0633\\u064A\\u0629\",test_mail_conf:\"\\u0627\\u062E\\u062A\\u0628\\u0627\\u0631 \\u0627\\u0639\\u062F\\u0627\\u062F\\u0627\\u062A \\u0627\\u0644\\u0628\\u0631\\u064A\\u062F\",send_mail_successfully:\"\\u062A\\u0645 \\u0625\\u0631\\u0633\\u0627\\u0644 \\u0627\\u0644\\u0628\\u0631\\u064A\\u062F \\u0628\\u0646\\u062C\\u0627\\u062D\",setting_updated:\"\\u062A\\u0645 \\u062A\\u062D\\u062F\\u064A\\u062B \\u0627\\u0644\\u0625\\u0639\\u062F\\u0627\\u062F\\u0627\\u062A \\u0628\\u0646\\u062C\\u0627\\u062D\",select_state:\"\\u0627\\u062E\\u062A\\u0631 \\u0627\\u0644\\u0648\\u0644\\u0627\\u064A\\u0629/\\u0627\\u0644\\u0645\\u0646\\u0637\\u0642\\u0629\",select_country:\"\\u0627\\u062E\\u062A\\u0631 \\u0627\\u0644\\u062F\\u0648\\u0644\\u0629\",select_city:\"\\u0627\\u062E\\u062A\\u0631 \\u0627\\u0644\\u0645\\u062F\\u064A\\u0646\\u0629\",street_1:\"\\u0639\\u0646\\u0648\\u0627\\u0646 \\u0627\\u0644\\u0634\\u0627\\u0631\\u0639 1\",street_2:\"\\u0627\\u0644\\u0634\\u0627\\u0631\\u0639 2\",action_failed:\"\\u0641\\u0634\\u0644\\u062A \\u0627\\u0644\\u0639\\u0645\\u0644\\u064A\\u0629\",retry:\"\\u0623\\u0639\\u062F \\u0627\\u0644\\u0645\\u062D\\u0627\\u0648\\u0644\\u0629\",choose_note:\"\\u0627\\u062E\\u062A\\u0631 \\u0645\\u0644\\u0627\\u062D\\u0638\\u0629\",no_note_found:\"\\u0644\\u0645 \\u064A\\u062A\\u0645 \\u0627\\u0644\\u0639\\u062B\\u0648\\u0631 \\u0639\\u0644\\u0649 \\u0627\\u0644\\u0645\\u0644\\u0627\\u062D\\u0638\\u0629\",insert_note:\"\\u0623\\u062F\\u062E\\u0644 \\u0645\\u0644\\u0627\\u062D\\u0638\\u0629\",copied_pdf_url_clipboard:\"\\u062A\\u0645 \\u0646\\u0633\\u062E \\u0631\\u0627\\u0628\\u0637 PDF \\u0625\\u0644\\u0649 \\u0627\\u0644\\u062D\\u0627\\u0641\\u0638\\u0629!\",copied_url_clipboard:\"Copied url to clipboard!\",docs:\"Docs\",do_you_wish_to_continue:\"Do you wish to continue?\",note:\"Note\",pay_invoice:\"Pay Invoice\",login_successfully:\"Logged in successfully!\",logged_out_successfully:\"Logged out successfully\",mark_as_default:\"Mark as default\"},Id={select_year:\"\\u0627\\u062E\\u062A\\u0631 \\u0627\\u0644\\u0633\\u0646\\u0629\",cards:{due_amount:\"\\u0627\\u0644\\u0645\\u0628\\u0644\\u063A \\u0627\\u0644\\u0645\\u0637\\u0644\\u0648\\u0628\",customers:\"\\u0627\\u0644\\u0639\\u0645\\u0644\\u0627\\u0621\",invoices:\"\\u0627\\u0644\\u0641\\u0648\\u0627\\u062A\\u064A\\u0631\",estimates:\"\\u0627\\u0644\\u062A\\u0642\\u062F\\u064A\\u0631\\u0627\\u062A\",payments:\"Payments\"},chart_info:{total_sales:\"\\u0627\\u0644\\u0645\\u0628\\u064A\\u0639\\u0627\\u062A\",total_receipts:\"\\u0625\\u062C\\u0645\\u0627\\u0644\\u064A \\u0627\\u0644\\u062F\\u062E\\u0644\",total_expense:\"\\u0627\\u0644\\u0646\\u0641\\u0642\\u0627\\u062A\",net_income:\"\\u0635\\u0627\\u0641\\u064A \\u0627\\u0644\\u062F\\u062E\\u0644\",year:\"\\u0627\\u062E\\u062A\\u0631 \\u0627\\u0644\\u0633\\u0646\\u0629\"},monthly_chart:{title:\"\\u0627\\u0644\\u0645\\u0628\\u064A\\u0639\\u0627\\u062A \\u0648\\u0627\\u0644\\u0646\\u0641\\u0642\\u0627\\u062A\"},recent_invoices_card:{title:\"\\u0641\\u0648\\u0627\\u062A\\u064A\\u0631 \\u0645\\u0633\\u062A\\u062D\\u0642\\u0629\",due_on:\"\\u0645\\u0633\\u062A\\u062D\\u0642\\u0629 \\u0641\\u064A\",customer:\"\\u0627\\u0644\\u0639\\u0645\\u064A\\u0644\",amount_due:\"\\u0627\\u0644\\u0645\\u0628\\u0644\\u063A \\u0627\\u0644\\u0645\\u0637\\u0644\\u0648\\u0628\",actions:\"\\u0627\\u0644\\u0639\\u0645\\u0644\\u064A\\u0627\\u062A\",view_all:\"\\u0639\\u0631\\u0636 \\u0627\\u0644\\u0643\\u0644\"},recent_estimate_card:{title:\"\\u0623\\u062D\\u062F\\u062B \\u0627\\u0644\\u062A\\u0642\\u062F\\u064A\\u0631\\u0627\\u062A\",date:\"\\u0627\\u0644\\u062A\\u0627\\u0631\\u064A\\u062E\",customer:\"\\u0627\\u0644\\u0639\\u0645\\u064A\\u0644\",amount_due:\"\\u0627\\u0644\\u0645\\u0628\\u0644\\u063A \\u0627\\u0644\\u0645\\u0637\\u0644\\u0648\\u0628\",actions:\"\\u0627\\u0644\\u0639\\u0645\\u0644\\u064A\\u0627\\u062A\",view_all:\"\\u0639\\u0631\\u0636 \\u0627\\u0644\\u0643\\u0644\"}},Td={name:\"\\u0627\\u0644\\u0627\\u0633\\u0645\",description:\"\\u0627\\u0644\\u0648\\u0635\\u0641\",percent:\"\\u0646\\u0633\\u0628\\u0647 \\u0645\\u0626\\u0648\\u064A\\u0647\",compound_tax:\"\\u0627\\u0644\\u0636\\u0631\\u064A\\u0628\\u0629 \\u0627\\u0644\\u0645\\u0631\\u0643\\u0628\\u0629\"},Rd={search:\"\\u0628\\u062D\\u062B...\",customers:\"\\u0627\\u0644\\u0639\\u0645\\u0644\\u0627\\u0621\",users:\"\\u0627\\u0644\\u0645\\u0633\\u062A\\u062E\\u062F\\u0645\\u0648\\u0646\",no_results_found:\"\\u0644\\u0645 \\u064A\\u062A\\u0645 \\u0627\\u0644\\u0639\\u062B\\u0648\\u0631 \\u0639\\u0644\\u0649 \\u0646\\u062A\\u0627\\u0626\\u062C\"},Md={label:\"SWITCH COMPANY\",no_results_found:\"No Results Found\",add_new_company:\"Add new company\",new_company:\"New company\",created_message:\"Company created successfully\"},Fd={today:\"Today\",this_week:\"This Week\",this_month:\"This Month\",this_quarter:\"This Quarter\",this_year:\"This Year\",previous_week:\"Previous Week\",previous_month:\"Previous Month\",previous_quarter:\"Previous Quarter\",previous_year:\"Previous Year\",custom:\"Custom\"},$d={title:\"\\u0627\\u0644\\u0639\\u0645\\u0644\\u0627\\u0621\",prefix:\"Prefix\",add_customer:\"\\u0625\\u0636\\u0627\\u0641\\u0629 \\u0639\\u0645\\u064A\\u0644\",contacts_list:\"\\u0642\\u0627\\u0626\\u0645\\u0629 \\u0627\\u0644\\u0639\\u0645\\u0644\\u0627\\u0621\",name:\"\\u0627\\u0644\\u0627\\u0633\\u0645\",mail:\"\\u0627\\u0644\\u0628\\u0631\\u064A\\u062F\",statement:\"\\u0627\\u0644\\u0628\\u064A\\u0627\\u0646\",display_name:\"\\u0627\\u0633\\u0645 \\u0627\\u0644\\u0639\\u0631\\u0636\",primary_contact_name:\"\\u0627\\u0633\\u0645 \\u0627\\u0644\\u062A\\u0648\\u0627\\u0635\\u0644 \\u0627\\u0644\\u0631\\u0626\\u064A\\u0633\\u064A\",contact_name:\"\\u0627\\u0633\\u0645 \\u062A\\u0648\\u0627\\u0635\\u0644 \\u0622\\u062E\\u0631\",amount_due:\"\\u0627\\u0644\\u0645\\u0628\\u0644\\u063A \\u0627\\u0644\\u0645\\u0637\\u0644\\u0648\\u0628\",email:\"\\u0627\\u0644\\u0628\\u0631\\u064A\\u062F \\u0627\\u0644\\u0625\\u0644\\u0643\\u062A\\u0631\\u0648\\u0646\\u064A\",address:\"\\u0627\\u0644\\u0639\\u0646\\u0648\\u0627\\u0646\",phone:\"\\u0627\\u0644\\u0647\\u0627\\u062A\\u0641\",website:\"\\u0645\\u0648\\u0642\\u0639 \\u0627\\u0644\\u0625\\u0646\\u062A\\u0631\\u0646\\u062A\",overview:\"\\u0627\\u0633\\u062A\\u0639\\u0631\\u0627\\u0636\",invoice_prefix:\"Invoice Prefix\",estimate_prefix:\"Estimate Prefix\",payment_prefix:\"Payment Prefix\",enable_portal:\"\\u062A\\u0641\\u0639\\u064A\\u0644 \\u0627\\u0644\\u0628\\u0648\\u0627\\u0628\\u0629\",country:\"\\u0627\\u0644\\u062F\\u0648\\u0644\\u0629\",state:\"\\u0627\\u0644\\u0648\\u0644\\u0627\\u064A\\u0629/\\u0627\\u0644\\u0645\\u0646\\u0637\\u0642\\u0629\",city:\"\\u0627\\u0644\\u0645\\u062F\\u064A\\u0646\\u0629\",zip_code:\"\\u0627\\u0644\\u0631\\u0645\\u0632 \\u0627\\u0644\\u0628\\u0631\\u064A\\u062F\\u064A\",added_on:\"\\u0623\\u0636\\u064A\\u0641 \\u0641\\u064A\",action:\"\\u0625\\u062C\\u0631\\u0627\\u0621\",password:\"\\u0643\\u0644\\u0645\\u0629 \\u0627\\u0644\\u0645\\u0631\\u0648\\u0631\",confirm_password:\"Confirm Password\",street_number:\"\\u0631\\u0642\\u0645 \\u0627\\u0644\\u0634\\u0627\\u0631\\u0639\",primary_currency:\"\\u0627\\u0644\\u0639\\u0645\\u0644\\u0629 \\u0627\\u0644\\u0631\\u0626\\u064A\\u0633\\u064A\\u0629\",description:\"\\u0627\\u0644\\u0648\\u0635\\u0641\",add_new_customer:\"\\u0625\\u0636\\u0627\\u0641\\u0629 \\u0639\\u0645\\u064A\\u0644 \\u062C\\u062F\\u064A\\u062F\",save_customer:\"\\u062D\\u0641\\u0638 \\u0627\\u0644\\u0639\\u0645\\u064A\\u0644\",update_customer:\"\\u062A\\u062D\\u062F\\u064A\\u062B \\u0628\\u064A\\u0627\\u0646\\u0627\\u062A \\u0627\\u0644\\u0639\\u0645\\u064A\\u0644\",customer:\"\\u0639\\u0645\\u064A\\u0644 | \\u0639\\u0645\\u0644\\u0627\\u0621\",new_customer:\"\\u0639\\u0645\\u064A\\u0644 \\u062C\\u062F\\u064A\\u062F\",edit_customer:\"\\u062A\\u0639\\u062F\\u064A\\u0644 \\u0639\\u0645\\u064A\\u0644\",basic_info:\"\\u0645\\u0639\\u0644\\u0648\\u0627\\u062A \\u0623\\u0633\\u0627\\u0633\\u064A\\u0629\",portal_access:\"Portal Access\",portal_access_text:\"Would you like to allow this customer to login to the Customer Portal?\",portal_access_url:\"Customer Portal Login URL\",portal_access_url_help:\"Please copy & forward the above given URL to your customer for providing access.\",billing_address:\"\\u0639\\u0646\\u0648\\u0627\\u0646 \\u0627\\u0644\\u0641\\u0648\\u062A\\u0631\\u0629\",shipping_address:\"\\u0639\\u0646\\u0648\\u0627\\u0646 \\u0627\\u0644\\u0634\\u062D\\u0646\",copy_billing_address:\"\\u0646\\u0633\\u062E \\u0645\\u0646 \\u0639\\u0646\\u0648\\u0627\\u0646 \\u0627\\u0644\\u0641\\u0648\\u062A\\u0631\\u0629\",no_customers:\"\\u0644\\u0627 \\u064A\\u0648\\u062C\\u062F \\u0639\\u0645\\u0644\\u0627\\u0621 \\u062D\\u062A\\u0649 \\u0627\\u0644\\u0622\\u0646!\",no_customers_found:\"\\u0644\\u0645 \\u064A\\u062A\\u0645 \\u0627\\u0644\\u062D\\u0635\\u0648\\u0644 \\u0639\\u0644\\u0649 \\u0639\\u0645\\u0644\\u0627\\u0621!\",no_contact:\"\\u0644\\u064A\\u0633\\u062A \\u0647\\u0646\\u0627\\u0643 \\u062C\\u0647\\u0627\\u062A \\u0627\\u062A\\u0635\\u0627\\u0644\",no_contact_name:\"\\u0627\\u0633\\u0645 \\u062C\\u0647\\u0629 \\u0627\\u0644\\u0627\\u062A\\u0635\\u0627\\u0644 \\u063A\\u064A\\u0631 \\u0645\\u0648\\u062C\\u0648\\u062F\",list_of_customers:\"\\u0633\\u0648\\u0641 \\u064A\\u062D\\u062A\\u0648\\u064A \\u0647\\u0630\\u0627 \\u0627\\u0644\\u0642\\u0633\\u0645 \\u0639\\u0644\\u0649 \\u0642\\u0627\\u0626\\u0645\\u0629 \\u0627\\u0644\\u0639\\u0645\\u0644\\u0627\\u0621.\",primary_display_name:\"\\u0627\\u0633\\u0645 \\u0627\\u0644\\u0639\\u0631\\u0636 \\u0627\\u0644\\u0631\\u0626\\u064A\\u0633\\u064A\",select_currency:\"\\u0627\\u062E\\u062A\\u0631 \\u0627\\u0644\\u0639\\u0645\\u0644\\u0629\",select_a_customer:\"\\u0627\\u062E\\u062A\\u0631 \\u0627\\u0644\\u0639\\u0645\\u064A\\u0644\",type_or_click:\"\\u0627\\u0643\\u062A\\u0628 \\u0623\\u0648 \\u0627\\u0636\\u063A\\u0637 \\u0644\\u0644\\u0627\\u062E\\u062A\\u064A\\u0627\\u0631\",new_transaction:\"\\u0645\\u0639\\u0627\\u0645\\u0644\\u0629 \\u062C\\u062F\\u064A\\u062F\\u0629\",no_matching_customers:\"\\u0644\\u0627 \\u064A\\u0648\\u062C\\u062F \\u0639\\u0645\\u0644\\u0627\\u0621 \\u0645\\u0637\\u0627\\u0628\\u0642\\u064A\\u0646!\",phone_number:\"\\u0631\\u0642\\u0645 \\u0627\\u0644\\u0647\\u0627\\u062A\\u0641\",create_date:\"\\u062A\\u0627\\u0631\\u064A\\u062E \\u0627\\u0644\\u0625\\u0646\\u0634\\u0627\\u0621\",confirm_delete:\"\\u0644\\u0646 \\u062A\\u062A\\u0645\\u0643\\u0646 \\u0645\\u0646 \\u0627\\u0633\\u062A\\u0631\\u062F\\u0627\\u062F \\u0647\\u0630\\u0627 \\u0627\\u0644\\u0639\\u0645\\u064A\\u0644 \\u0648\\u062C\\u0645\\u064A\\u0639 \\u0627\\u0644\\u0641\\u0648\\u0627\\u062A\\u064A\\u0631 \\u0648\\u0627\\u0644\\u062A\\u0642\\u062F\\u064A\\u0631\\u0627\\u062A \\u0648\\u0627\\u0644\\u0645\\u062F\\u0641\\u0648\\u0639\\u0627\\u062A \\u0630\\u0627\\u062A \\u0627\\u0644\\u0635\\u0644\\u0629. | \\u0644\\u0646 \\u062A\\u062A\\u0645\\u0643\\u0646 \\u0645\\u0646 \\u0627\\u0633\\u062A\\u0631\\u062F\\u0627\\u062F \\u0647\\u0624\\u0644\\u0627\\u0621 \\u0627\\u0644\\u0639\\u0645\\u0644\\u0627\\u0621 \\u0648\\u062C\\u0645\\u064A\\u0639 \\u0627\\u0644\\u0641\\u0648\\u0627\\u062A\\u064A\\u0631 \\u0648\\u0627\\u0644\\u062A\\u0642\\u062F\\u064A\\u0631\\u0627\\u062A \\u0648\\u0627\\u0644\\u0645\\u062F\\u0641\\u0648\\u0639\\u0627\\u062A \\u0630\\u0627\\u062A \\u0627\\u0644\\u0635\\u0644\\u0629.\",created_message:\"\\u062A\\u0645 \\u0625\\u0646\\u0634\\u0627\\u0621 \\u0627\\u0644\\u0639\\u0645\\u0644\\u0627\\u0621 \\u0628\\u0646\\u062C\\u0627\\u062D\",updated_message:\"\\u062A\\u0645 \\u062A\\u062D\\u062F\\u064A\\u062B \\u0627\\u0644\\u0639\\u0645\\u0644\\u0627\\u0621 \\u0628\\u0646\\u062C\\u0627\\u062D\",address_updated_message:\"Address Information Updated succesfully\",deleted_message:\"\\u062A\\u0645 \\u062D\\u0630\\u0641 \\u0627\\u0644\\u0639\\u0645\\u0644\\u0627\\u0621 \\u0628\\u0646\\u062C\\u0627\\u062D | \\u062A\\u0645 \\u062D\\u0630\\u0641 \\u0627\\u0644\\u0639\\u0645\\u064A\\u0644 \\u0628\\u0646\\u062C\\u0627\\u062D\",edit_currency_not_allowed:\"Cannot change currency once transactions created.\"},Ud={title:\"\\u0627\\u0644\\u0623\\u0635\\u0646\\u0627\\u0641\",items_list:\"\\u0642\\u0627\\u0626\\u0645\\u0629 \\u0627\\u0644\\u0623\\u0635\\u0646\\u0627\\u0641\",name:\"\\u0627\\u0644\\u0627\\u0633\\u0645\",unit:\"\\u0627\\u0644\\u0648\\u062D\\u062F\\u0629\",description:\"\\u0627\\u0644\\u0648\\u0635\\u0641\",added_on:\"\\u0623\\u0636\\u064A\\u0641 \\u0641\\u064A\",price:\"\\u0627\\u0644\\u0633\\u0639\\u0631\",date_of_creation:\"\\u062A\\u0627\\u0631\\u064A\\u062E \\u0627\\u0644\\u0625\\u0646\\u0634\\u0627\\u0621\",not_selected:\"\\u0644\\u0645 \\u064A\\u062A\\u0645 \\u0625\\u062E\\u062A\\u064A\\u0627\\u0631 \\u0623\\u064A \\u0639\\u0646\\u0635\\u0631\",action:\"\\u0625\\u062C\\u0631\\u0627\\u0621\",add_item:\"\\u0625\\u0636\\u0627\\u0641\\u0629 \\u0635\\u0646\\u0641\",save_item:\"\\u062D\\u0641\\u0638 \\u0627\\u0644\\u0635\\u0646\\u0641\",update_item:\"\\u062A\\u062D\\u062F\\u064A\\u062B \\u0627\\u0644\\u0635\\u0646\\u0641\",item:\"\\u0635\\u0646\\u0641 | \\u0623\\u0635\\u0646\\u0627\\u0641\",add_new_item:\"\\u0625\\u0636\\u0627\\u0641\\u0629 \\u0635\\u0646\\u0641 \\u062C\\u062F\\u064A\\u062F\",new_item:\"\\u062C\\u062F\\u064A\\u062F \\u0635\\u0646\\u0641\",edit_item:\"\\u062A\\u062D\\u062F\\u064A\\u062B \\u0635\\u0646\\u0641\",no_items:\"\\u0644\\u0627 \\u064A\\u0648\\u062C\\u062F \\u0623\\u0635\\u0646\\u0627\\u0641 \\u062D\\u062A\\u0649 \\u0627\\u0644\\u0622\\u0646!\",list_of_items:\"\\u0647\\u0630\\u0627 \\u0627\\u0644\\u0642\\u0633\\u0645 \\u0633\\u0648\\u0641 \\u064A\\u062D\\u062A\\u0648\\u064A \\u0639\\u0644\\u0649 \\u0642\\u0627\\u0626\\u0645\\u0629 \\u0627\\u0644\\u0623\\u0635\\u0646\\u0627\\u0641.\",select_a_unit:\"\\u0627\\u062E\\u062A\\u0631 \\u0627\\u0644\\u0648\\u062D\\u062F\\u0629\",taxes:\"\\u0627\\u0644\\u0636\\u0631\\u0627\\u0626\\u0628\",item_attached_message:\"\\u0644\\u0627 \\u064A\\u0645\\u0643\\u0646 \\u062D\\u0630\\u0641 \\u0627\\u0644\\u0635\\u0646\\u0641 \\u0642\\u064A\\u062F \\u0627\\u0644\\u0627\\u0633\\u062A\\u062E\\u062F\\u0627\\u0645\",confirm_delete:\"\\u0644\\u0646 \\u062A\\u062A\\u0645\\u0643\\u0646 \\u0645\\u0646 \\u0627\\u0633\\u062A\\u0631\\u062C\\u0627\\u0639 \\u0647\\u0630\\u0627 \\u0627\\u0644\\u0635\\u0646\\u0641 | \\u0644\\u0646 \\u062A\\u062A\\u0645\\u0643\\u0646 \\u0645\\u0646 \\u0627\\u0633\\u062A\\u0631\\u062C\\u0627\\u0639 \\u0647\\u0630\\u0647 \\u0627\\u0644\\u0623\\u0635\\u0646\\u0627\\u0641\",created_message:\"\\u062A\\u0645 \\u0625\\u0646\\u0634\\u0627\\u0621 \\u0627\\u0644\\u0635\\u0646\\u0641 \\u0628\\u0646\\u062C\\u0627\\u062D\",updated_message:\"\\u062A\\u0645 \\u062A\\u062D\\u062F\\u064A\\u062B \\u0627\\u0644\\u0635\\u0646\\u0641 \\u0628\\u0646\\u062C\\u0627\\u062D\",deleted_message:\"\\u062A\\u0645 \\u062D\\u0630\\u0641 \\u0627\\u0644\\u0635\\u0646\\u0641 \\u0628\\u0646\\u062C\\u0627\\u062D | \\u062A\\u0645 \\u062D\\u0630\\u0641 \\u0627\\u0644\\u0623\\u0635\\u0646\\u0627\\u0641 \\u0628\\u0646\\u062C\\u0627\\u062D\"},Vd={title:\"\\u0627\\u0644\\u062A\\u0642\\u062F\\u064A\\u0631\\u0627\\u062A\",accept_estimate:\"Accept Estimate\",reject_estimate:\"Reject Estimate\",estimate:\"\\u062A\\u0642\\u062F\\u064A\\u0631 | \\u062A\\u0642\\u062F\\u064A\\u0631\\u0627\\u062A\",estimates_list:\"\\u0642\\u0627\\u0626\\u0645\\u0629 \\u0627\\u0644\\u062A\\u0642\\u062F\\u064A\\u0631\\u0627\\u062A\",days:\"{days} \\u0623\\u064A\\u0627\\u0645\",months:\"{months} \\u0623\\u0634\\u0647\\u0631\",years:\"{years} \\u0633\\u0646\\u0648\\u0627\\u062A\",all:\"\\u0627\\u0644\\u0643\\u0644\",paid:\"\\u0645\\u062F\\u0641\\u0648\\u0639\",unpaid:\"\\u063A\\u064A\\u0631 \\u0645\\u062F\\u0641\\u0648\\u0639\",customer:\"\\u0627\\u0644\\u0639\\u0645\\u064A\\u0644\",ref_no:\"\\u0631\\u0642\\u0645 \\u0627\\u0644\\u0645\\u0631\\u062C\\u0639.\",number:\"\\u0627\\u0644\\u0631\\u0642\\u0645\",amount_due:\"\\u0627\\u0644\\u0645\\u0628\\u0644\\u063A \\u0627\\u0644\\u0645\\u0637\\u0644\\u0648\\u0628\",partially_paid:\"\\u0645\\u062F\\u0641\\u0648\\u0639 \\u062C\\u0632\\u0626\\u064A\\u0627\",total:\"\\u0627\\u0644\\u0625\\u062C\\u0645\\u0627\\u0644\\u064A\",discount:\"\\u0627\\u0644\\u062E\\u0635\\u0645\",sub_total:\"\\u062D\\u0627\\u0635\\u0644 \\u0627\\u0644\\u062C\\u0645\\u0639\",estimate_number:\"\\u0631\\u0642\\u0645 \\u062A\\u0642\\u062F\\u064A\\u0631\",ref_number:\"\\u0631\\u0642\\u0645 \\u0627\\u0644\\u0645\\u0631\\u062C\\u0639\",contact:\"\\u062A\\u0648\\u0627\\u0635\\u0644\",add_item:\"\\u0625\\u0636\\u0627\\u0641\\u0629 \\u0635\\u0646\\u0641\",date:\"\\u062A\\u0627\\u0631\\u064A\\u062E\",due_date:\"\\u062A\\u0627\\u0631\\u064A\\u062E \\u0627\\u0644\\u0627\\u0633\\u062A\\u062D\\u0642\\u0627\\u0642\",expiry_date:\"\\u062A\\u0627\\u0631\\u064A\\u062E \\u0627\\u0644\\u0635\\u0644\\u0627\\u062D\\u064A\\u0629\",status:\"\\u0627\\u0644\\u062D\\u0627\\u0644\\u0629\",add_tax:\"\\u0625\\u0636\\u0627\\u0641\\u0629 \\u0636\\u0631\\u064A\\u0629\",amount:\"\\u0627\\u0644\\u0645\\u0628\\u0644\\u063A \\u0627\\u0644\\u0645\\u0637\\u0644\\u0648\\u0628\",action:\"\\u0625\\u062C\\u0631\\u0627\\u0621\",notes:\"\\u0645\\u0644\\u0627\\u062D\\u0638\\u0627\\u062A\",tax:\"\\u0636\\u0631\\u064A\\u0628\\u0629\",estimate_template:\"\\u0642\\u0627\\u0644\\u0628\",convert_to_invoice:\"\\u062A\\u062D\\u0648\\u064A\\u0644 \\u0625\\u0644\\u0649 \\u0641\\u0627\\u062A\\u0648\\u0631\\u0629\",mark_as_sent:\"\\u062A\\u062D\\u062F\\u064A\\u062F \\u0643\\u0645\\u0631\\u0633\\u0644\",send_estimate:\"\\u0625\\u0631\\u0633\\u0627\\u0644 \\u0627\\u0644\\u062A\\u0642\\u062F\\u064A\\u0631\",resend_estimate:\"\\u0625\\u0639\\u0627\\u062F\\u0629 \\u0625\\u0631\\u0633\\u0627\\u0644 \\u0627\\u0644\\u062A\\u0642\\u062F\\u064A\\u0631\",record_payment:\"\\u062A\\u0633\\u062C\\u064A\\u0644 \\u0645\\u062F\\u0641\\u0648\\u0627\\u062A\",add_estimate:\"\\u0625\\u0636\\u0627\\u0641\\u0629 \\u062A\\u0642\\u062F\\u064A\\u0631\",save_estimate:\"\\u062D\\u0641\\u0638 \\u0627\\u0644\\u062A\\u0642\\u062F\\u064A\\u0631\",confirm_conversion:\"\\u0647\\u0644 \\u062A\\u0631\\u064A\\u062F \\u062A\\u062D\\u0648\\u064A\\u0644 \\u0647\\u0630\\u0627 \\u0627\\u0644\\u062A\\u0642\\u062F\\u064A\\u0631 \\u0625\\u0644\\u0649 \\u0641\\u0627\\u062A\\u0648\\u0631\\u0629\\u061F\",conversion_message:\"\\u062A\\u0645 \\u0625\\u0646\\u0634\\u0627\\u0621 \\u0627\\u0644\\u0641\\u0627\\u062A\\u0648\\u0631\\u0629 \\u0628\\u0646\\u062C\\u0627\\u062D\",confirm_send_estimate:\"\\u0633\\u064A\\u062A\\u0645 \\u0625\\u0631\\u0633\\u0627\\u0644 \\u0647\\u0630\\u0627 \\u0627\\u0644\\u062A\\u0642\\u062F\\u064A\\u0631 \\u0628\\u0627\\u0644\\u0628\\u0631\\u064A\\u062F \\u0627\\u0644\\u0625\\u0644\\u0643\\u062A\\u0631\\u0648\\u0646\\u064A \\u0625\\u0644\\u0649 \\u0627\\u0644\\u0639\\u0645\\u064A\\u0644\",confirm_mark_as_sent:\"\\u0633\\u064A\\u062A\\u0645 \\u0627\\u0644\\u062A\\u062D\\u062F\\u064A\\u062F \\u0643\\u0645\\u0631\\u0633\\u0644 \\u0639\\u0644\\u0649 \\u0647\\u0630\\u0627 \\u0627\\u0644\\u062A\\u0642\\u062F\\u064A\\u0631\",confirm_mark_as_accepted:\"\\u0633\\u064A\\u062A\\u0645 \\u0627\\u0644\\u062A\\u062D\\u062F\\u064A\\u062F \\u0643\\u0645\\u0642\\u0628\\u0648\\u0644 \\u0639\\u0644\\u0649 \\u0647\\u0630\\u0627 \\u0627\\u0644\\u062A\\u0642\\u062F\\u064A\\u0631\",confirm_mark_as_rejected:\"\\u0633\\u064A\\u062A\\u0645 \\u0627\\u0644\\u062A\\u062D\\u062F\\u064A\\u062F \\u0643\\u0645\\u0631\\u0641\\u0648\\u0636 \\u0639\\u0644\\u0649 \\u0647\\u0630\\u0627 \\u0627\\u0644\\u062A\\u0642\\u062F\\u064A\\u0631\",no_matching_estimates:\"\\u0644\\u0627 \\u064A\\u0648\\u062C\\u062F \\u062A\\u0642\\u062F\\u064A\\u0631\\u0627\\u062A \\u0645\\u0637\\u0627\\u0628\\u0642\\u0629!\",mark_as_sent_successfully:\"\\u062A\\u0645 \\u0627\\u0644\\u062A\\u062D\\u062F\\u064A\\u062F \\u0643\\u0645\\u0631\\u0633\\u0644 \\u0628\\u0646\\u062C\\u0627\\u062D\",send_estimate_successfully:\"\\u062A\\u0645 \\u0625\\u0631\\u0633\\u0627\\u0644 \\u0627\\u0644\\u062A\\u0642\\u062F\\u064A\\u0631 \\u0628\\u0646\\u062C\\u0627\\u062D\",errors:{required:\"\\u062D\\u0642\\u0644 \\u0645\\u0637\\u0644\\u0648\\u0628\"},accepted:\"\\u0645\\u0642\\u0628\\u0648\\u0644\",rejected:\"\\u0645\\u0631\\u0641\\u0648\\u0636\",expired:\"Expired\",sent:\"\\u0645\\u0631\\u0633\\u0644\",draft:\"\\u0645\\u0633\\u0648\\u062F\\u0629\",viewed:\"Viewed\",declined:\"\\u0645\\u0631\\u0641\\u0648\\u0636\",new_estimate:\"\\u062A\\u0642\\u062F\\u064A\\u0631 \\u062C\\u062F\\u064A\\u062F\",add_new_estimate:\"\\u0625\\u0636\\u0627\\u0641\\u0629 \\u062A\\u0642\\u062F\\u064A\\u0631 \\u062C\\u062F\\u064A\\u062F\",update_Estimate:\"\\u062A\\u062D\\u062F\\u064A\\u062B \\u062A\\u0642\\u062F\\u064A\\u0631\",edit_estimate:\"\\u062A\\u0639\\u062F\\u064A\\u0644 \\u0627\\u0644\\u062A\\u0642\\u062F\\u064A\\u0631\",items:\"\\u0627\\u0644\\u0623\\u0635\\u0646\\u0627\\u0641\",Estimate:\"\\u062A\\u0642\\u062F\\u064A\\u0631 | \\u062A\\u0642\\u062F\\u064A\\u0631\\u0627\\u062A\",add_new_tax:\"\\u0625\\u0636\\u0627\\u0641\\u0629 \\u0636\\u0631\\u064A\\u0628\\u0629 \\u062C\\u062F\\u064A\\u062F\\u0629\",no_estimates:\"\\u0644\\u0627 \\u064A\\u0648\\u062C\\u062F \\u062A\\u0642\\u062F\\u064A\\u0631\\u0627\\u062A \\u062D\\u0627\\u0644\\u064A\\u0627\\u064B!\",list_of_estimates:\"\\u0647\\u0630\\u0627 \\u0627\\u0644\\u0642\\u0633\\u0645 \\u0633\\u0648\\u0641 \\u064A\\u062D\\u062A\\u0648\\u064A \\u0639\\u0644\\u0649 \\u0627\\u0644\\u062A\\u0642\\u062F\\u064A\\u0631\\u0627\\u062A.\",mark_as_rejected:\"\\u062A\\u062D\\u062F\\u064A\\u062F \\u0643\\u0645\\u0631\\u0641\\u0648\\u0636\",mark_as_accepted:\"\\u062A\\u062D\\u062F\\u064A\\u062F \\u0643\\u0645\\u0642\\u0631\\u0648\\u0621\",marked_as_accepted_message:\"\\u062A\\u062D\\u062F\\u064A\\u062F \\u0627\\u0644\\u062A\\u0642\\u062F\\u064A\\u0631 \\u0643\\u0645\\u0642\\u0628\\u0648\\u0644\",marked_as_rejected_message:\"\\u062A\\u062D\\u062F\\u064A\\u062F \\u0627\\u0644\\u062A\\u0642\\u062F\\u064A\\u0631 \\u0643\\u0645\\u0631\\u0641\\u0648\\u0636\",confirm_delete:\"\\u0644\\u0646 \\u062A\\u0633\\u062A\\u0637\\u064A\\u0639 \\u0627\\u0633\\u062A\\u0631\\u062C\\u0627\\u0639 \\u0647\\u0630\\u0627 \\u0627\\u0644\\u062A\\u0642\\u062F\\u064A\\u0631 | \\u0644\\u0646 \\u062A\\u0633\\u062A\\u0637\\u064A\\u0639 \\u0625\\u0633\\u062A\\u0639\\u0627\\u062F\\u0629 \\u0647\\u0630\\u0647 \\u0627\\u0644\\u062A\\u0642\\u062F\\u064A\\u0631\\u0627\\u062A\",created_message:\"\\u062A\\u0645 \\u0625\\u0646\\u0634\\u0627\\u0621 \\u0627\\u0644\\u062A\\u0642\\u062F\\u064A\\u0631 \\u0628\\u0646\\u062C\\u0627\\u062D\",updated_message:\"\\u062A\\u0645 \\u062A\\u062D\\u062F\\u064A\\u062B \\u0627\\u0644\\u062A\\u0642\\u062F\\u064A\\u0631 \\u0628\\u0646\\u062C\\u0627\\u062D\",deleted_message:\"\\u062A\\u0645 \\u062D\\u0630\\u0641 \\u0627\\u0644\\u062A\\u0642\\u062F\\u064A\\u0631 \\u0628\\u0646\\u062C\\u0627\\u062D | \\u062A\\u0645 \\u062D\\u0630\\u0641 \\u0627\\u0644\\u062A\\u0642\\u062F\\u064A\\u0631\\u0627\\u062A \\u0628\\u0646\\u062C\\u0627\\u062D\",something_went_wrong:\"\\u062E\\u0637\\u0623 \\u063A\\u064A\\u0631 \\u0645\\u0639\\u0631\\u0648\\u0641!\",item:{title:\"\\u0627\\u0633\\u0645 \\u0627\\u0644\\u0635\\u0646\\u0641\",description:\"\\u0627\\u0644\\u0648\\u0635\\u0641\",quantity:\"\\u0627\\u0644\\u0643\\u0645\\u064A\\u0629\",price:\"\\u0627\\u0644\\u0633\\u0639\\u0631\",discount:\"\\u0627\\u0644\\u062E\\u0635\\u0645\",total:\"\\u0627\\u0644\\u0625\\u062C\\u0645\\u0627\\u0644\\u064A\",total_discount:\"\\u0645\\u062C\\u0645\\u0648\\u0639 \\u0627\\u0644\\u062E\\u0635\\u0645\",sub_total:\"\\u062D\\u0627\\u0635\\u0644 \\u0627\\u0644\\u062C\\u0645\\u0639\",tax:\"\\u0627\\u0644\\u0636\\u0631\\u064A\\u0629\",amount:\"\\u0627\\u0644\\u0645\\u0628\\u0644\\u063A \\u0627\\u0644\\u0645\\u0637\\u0644\\u0648\\u0628\",select_an_item:\"\\u0627\\u0643\\u062A\\u0628 \\u0623\\u0648 \\u0627\\u062E\\u062A\\u0631 \\u0627\\u0644\\u0635\\u0646\\u0641\",type_item_description:\"\\u0627\\u0643\\u062A\\u0628 \\u0648\\u0635\\u0641 \\u0627\\u0644\\u0635\\u0646\\u0641 (\\u0627\\u062E\\u062A\\u064A\\u0627\\u0631\\u064A)\"},mark_as_default_estimate_template_description:\"If enabled, the selected template will be automatically selected for new estimates.\"},Od={title:\"\\u0627\\u0644\\u0641\\u0648\\u0627\\u062A\\u064A\\u0631\",download:\"Download\",pay_invoice:\"Pay Invoice\",invoices_list:\"\\u0642\\u0627\\u0626\\u0645\\u0629 \\u0627\\u0644\\u0641\\u0648\\u0627\\u062A\\u064A\\u0631\",invoice_information:\"Invoice Information\",days:\"{days} \\u0623\\u064A\\u0627\\u0645\",months:\"{months} \\u0623\\u0634\\u0647\\u0631\",years:\"{years} \\u0633\\u0646\\u0648\\u0627\\u062A\",all:\"\\u0627\\u0644\\u0643\\u0644\",paid:\"\\u0645\\u062F\\u0641\\u0648\\u0639\",unpaid:\"\\u063A\\u064A\\u0631 \\u0645\\u062F\\u0641\\u0648\\u0639\",viewed:\"\\u0634\\u0648\\u0647\\u062F\",overdue:\"\\u0645\\u062A\\u0623\\u062E\\u0631\",completed:\"\\u0627\\u0643\\u062A\\u0645\\u0644\",customer:\"\\u0627\\u0644\\u0639\\u0645\\u064A\\u0644\",paid_status:\"\\u062D\\u0627\\u0644\\u0629 \\u0627\\u0644\\u062F\\u0641\\u0639\",ref_no:\"\\u0631\\u0642\\u0645 \\u0627\\u0644\\u0645\\u0631\\u062C\\u0639.\",number:\"\\u0627\\u0644\\u0631\\u0642\\u0645\",amount_due:\"\\u0627\\u0644\\u0645\\u0628\\u0644\\u063A \\u0627\\u0644\\u0645\\u0637\\u0644\\u0648\\u0628\",partially_paid:\"\\u0645\\u062F\\u0641\\u0648\\u0639 \\u062C\\u0632\\u0626\\u064A\\u0627\\u064B\",total:\"\\u0627\\u0644\\u0625\\u062C\\u0645\\u0627\\u0644\\u064A\",discount:\"\\u0627\\u0644\\u062E\\u0635\\u0645\",sub_total:\"\\u062D\\u0627\\u0635\\u0644 \\u0627\\u0644\\u062C\\u0645\\u0639\",invoice:\"\\u0641\\u0627\\u062A\\u0648\\u0631\\u0629 | \\u0641\\u0648\\u0627\\u062A\\u064A\\u0631\",invoice_number:\"\\u0631\\u0642\\u0645 \\u0627\\u0644\\u0641\\u0627\\u062A\\u0648\\u0631\\u0629\",ref_number:\"\\u0631\\u0642\\u0645 \\u0627\\u0644\\u0645\\u0631\\u062C\\u0639\",contact:\"\\u062A\\u0648\\u0627\\u0635\\u0644\",add_item:\"\\u0625\\u0636\\u0627\\u0641\\u0629 \\u0635\\u0646\\u0641\",date:\"\\u0627\\u0644\\u062A\\u0627\\u0631\\u064A\\u062E\",due_date:\"\\u062A\\u0627\\u0631\\u064A\\u062E \\u0627\\u0644\\u0627\\u0633\\u062A\\u062D\\u0642\\u0627\\u0642\",status:\"\\u0627\\u0644\\u062D\\u0627\\u0644\\u0629\",add_tax:\"\\u0625\\u0636\\u0627\\u0641\\u0629 \\u0636\\u0631\\u064A\\u0628\\u0629\",amount:\"\\u0627\\u0644\\u0645\\u0628\\u0644\\u063A \\u0627\\u0644\\u0645\\u0637\\u0644\\u0648\\u0628\",action:\"\\u0625\\u062C\\u0631\\u0627\\u0621\",notes:\"\\u0645\\u0644\\u0627\\u062D\\u0638\\u0627\\u062A\",view:\"\\u0639\\u0631\\u0636\",send_invoice:\"\\u0625\\u0631\\u0633\\u0627\\u0644 \\u0627\\u0644\\u0641\\u0627\\u062A\\u0648\\u0631\\u0629\",resend_invoice:\"\\u0625\\u0639\\u0627\\u062F\\u0629 \\u0625\\u0631\\u0633\\u0627\\u0644 \\u0627\\u0644\\u0641\\u0627\\u062A\\u0648\\u0631\\u0629\",invoice_template:\"\\u0642\\u0627\\u0644\\u0628 \\u0627\\u0644\\u0641\\u0627\\u062A\\u0648\\u0631\\u0629\",conversion_message:\"Invoice cloned successful\",template:\"\\u0642\\u0627\\u0644\\u0628\",mark_as_sent:\"\\u062A\\u062D\\u062F\\u064A\\u062F \\u0643\\u0645\\u0631\\u0633\\u0644\",confirm_send_invoice:\"\\u0633\\u064A\\u062A\\u0645 \\u0625\\u0631\\u0633\\u0627\\u0644 \\u0647\\u0630\\u0647 \\u0627\\u0644\\u0641\\u0627\\u062A\\u0648\\u0631\\u0629 \\u0628\\u0627\\u0644\\u0628\\u0631\\u064A\\u062F \\u0627\\u0644\\u0623\\u0644\\u0643\\u062A\\u0631\\u0648\\u0646\\u064A \\u0625\\u0644\\u0649 \\u0627\\u0644\\u0639\\u0645\\u064A\\u0644\",invoice_mark_as_sent:\"\\u0633\\u064A\\u062A\\u0645 \\u062A\\u062D\\u062F\\u064A\\u062F \\u0647\\u0630\\u0647 \\u0627\\u0644\\u0641\\u0627\\u062A\\u0648\\u0631\\u0629 \\u0643\\u0645\\u0631\\u0633\\u0644\\u0629\",confirm_mark_as_accepted:\"This invoice will be marked as Accepted\",confirm_mark_as_rejected:\"This invoice will be marked as Rejected\",confirm_send:\"\\u0633\\u064A\\u062A\\u0645 \\u0625\\u0631\\u0633\\u0627\\u0644 \\u0647\\u0630\\u0647 \\u0627\\u0644\\u0641\\u0627\\u062A\\u0648\\u0631\\u0629 \\u0628\\u0627\\u0644\\u0628\\u0631\\u064A\\u062F \\u0627\\u0644\\u0623\\u0644\\u0643\\u062A\\u0631\\u0648\\u0646\\u064A \\u0625\\u0644\\u0649 \\u0627\\u0644\\u0639\\u0645\\u064A\\u0644\",invoice_date:\"\\u062A\\u0627\\u0631\\u064A\\u062E \\u0627\\u0644\\u0641\\u0627\\u062A\\u0648\\u0631\\u0629\",record_payment:\"\\u062A\\u0633\\u062C\\u064A\\u0644 \\u0645\\u062F\\u0641\\u0648\\u0639\\u0627\\u062A\",add_new_invoice:\"\\u0625\\u0636\\u0627\\u0641\\u0629 \\u0641\\u0627\\u062A\\u0648\\u0631\\u0629 \\u062C\\u062F\\u064A\\u062F\\u0629\",update_expense:\"\\u062A\\u062D\\u062F\\u064A\\u062B \\u0627\\u0644\\u0645\\u0635\\u0631\\u0648\\u0641\\u0627\\u062A\",edit_invoice:\"\\u062A\\u0639\\u062F\\u064A\\u0644 \\u0627\\u0644\\u0641\\u0627\\u062A\\u0648\\u0631\\u0629\",new_invoice:\"\\u0641\\u0627\\u062A\\u0648\\u0631\\u0629 \\u062C\\u062F\\u064A\\u062F\\u0629\",save_invoice:\"\\u062D\\u0641\\u0638 \\u0627\\u0644\\u0641\\u0627\\u062A\\u0648\\u0631\\u0629\",update_invoice:\"\\u062A\\u062D\\u062F\\u064A\\u062B \\u0627\\u0644\\u0641\\u0627\\u062A\\u0648\\u0631\\u0629\",add_new_tax:\"\\u0625\\u0636\\u0627\\u0641\\u0629 \\u0636\\u0631\\u064A\\u0628\\u0629 \\u062C\\u062F\\u064A\\u062F\\u0629\",no_invoices:\"\\u0644\\u0627 \\u064A\\u0648\\u062C\\u062F \\u0641\\u0648\\u0627\\u062A\\u064A\\u0631 \\u062D\\u062A\\u0649 \\u0627\\u0644\\u0622\\u0646!\",mark_as_rejected:\"Mark as rejected\",mark_as_accepted:\"Mark as accepted\",list_of_invoices:\"\\u0642\\u0627\\u0626\\u0645\\u0629 \\u0627\\u0644\\u0641\\u0648\\u0627\\u062A\\u064A\\u0631 .\",select_invoice:\"\\u0627\\u062E\\u062A\\u0631 \\u0627\\u0644\\u0641\\u0627\\u062A\\u0648\\u0631\\u0629\",no_matching_invoices:\"\\u0644\\u0627 \\u064A\\u0648\\u062C\\u062F \\u0641\\u0648\\u0627\\u062A\\u064A\\u0631 \\u0645\\u0637\\u0627\\u0628\\u0642\\u0629!\",mark_as_sent_successfully:\"\\u062A\\u0645 \\u062A\\u062D\\u062F\\u064A\\u062F \\u0627\\u0644\\u0641\\u0627\\u062A\\u0648\\u0631\\u0629 \\u0643\\u0645\\u0631\\u0633\\u0644\\u0629 \\u0628\\u0646\\u062C\\u0627\\u062D\",invoice_sent_successfully:\"Invoice sent successfully\",cloned_successfully:\"\\u062A\\u0645 \\u0627\\u0633\\u062A\\u0646\\u0633\\u0627\\u062E \\u0627\\u0644\\u0641\\u0627\\u062A\\u0648\\u0631\\u0629 \\u0628\\u0646\\u062C\\u0627\\u062D\",clone_invoice:\"\\u0627\\u0633\\u062A\\u0646\\u0633\\u0627\\u062E \\u0627\\u0644\\u0641\\u0627\\u062A\\u0648\\u0631\\u0629\",confirm_clone:\"\\u0633\\u064A\\u062A\\u0645 \\u0627\\u0633\\u062A\\u0646\\u0633\\u0627\\u062E \\u0647\\u0630\\u0647 \\u0627\\u0644\\u0641\\u0627\\u062A\\u0648\\u0631\\u0629 \\u0641\\u064A \\u0641\\u0627\\u062A\\u0648\\u0631\\u0629 \\u062C\\u062F\\u064A\\u062F\\u0629\",item:{title:\"\\u0627\\u0633\\u0645 \\u0627\\u0644\\u0635\\u0646\\u0641\",description:\"\\u0627\\u0644\\u0648\\u0635\\u0641\",quantity:\"\\u0627\\u0644\\u0643\\u0645\\u064A\\u0629\",price:\"\\u0627\\u0644\\u0633\\u0639\\u0631\",discount:\"\\u0627\\u0644\\u062E\\u0635\\u0645\",total:\"\\u0627\\u0644\\u0625\\u062C\\u0645\\u0627\\u0644\\u064A\",total_discount:\"\\u0625\\u062C\\u0645\\u0627\\u0644\\u064A \\u0627\\u0644\\u062E\\u0635\\u0645\",sub_total:\"\\u062D\\u0627\\u0635\\u0644 \\u0627\\u0644\\u062C\\u0645\\u0639\",tax:\"\\u0627\\u0644\\u0636\\u0631\\u064A\\u0628\\u0629\",amount:\"\\u0627\\u0644\\u0645\\u0628\\u0644\\u063A \\u0627\\u0644\\u0645\\u0637\\u0644\\u0648\\u0628\",select_an_item:\"\\u0627\\u0643\\u062A\\u0628 \\u0623\\u0648 \\u0627\\u0646\\u0642\\u0631 \\u0644\\u0627\\u062E\\u062A\\u064A\\u0627\\u0631 \\u0635\\u0646\\u0641\",type_item_description:\"\\u0648\\u0635\\u0641 \\u0627\\u0644\\u0635\\u0646\\u0641 (\\u0627\\u062E\\u062A\\u064A\\u0627\\u0631\\u064A)\"},payment_attached_message:\"\\u0647\\u0646\\u0627\\u0643 \\u0645\\u062F\\u0641\\u0648\\u0639\\u0627\\u062A \\u0645\\u0631\\u062A\\u0628\\u0637\\u0629 \\u0628\\u0627\\u0644\\u0641\\u0639\\u0644 \\u0628\\u0625\\u062D\\u062F\\u0649 \\u0627\\u0644\\u0641\\u0648\\u0627\\u062A\\u064A\\u0631 \\u0627\\u0644\\u0645\\u062D\\u062F\\u062F\\u0629. \\u062A\\u0623\\u0643\\u062F \\u0645\\u0646 \\u062D\\u0630\\u0641 \\u0627\\u0644\\u0645\\u062F\\u0641\\u0648\\u0639\\u0627\\u062A \\u0627\\u0644\\u0645\\u0631\\u062A\\u0628\\u0637\\u0629 \\u0623\\u0648\\u0644\\u0627\\u064B \\u0642\\u0628\\u0644 \\u062D\\u0630\\u0641 \\u0627\\u0644\\u0641\\u0627\\u062A\\u0648\\u0631\\u0629.\",confirm_delete:\"\\u0644\\u0646 \\u062A\\u062A\\u0645\\u0643\\u0646 \\u0645\\u0646 \\u0627\\u0633\\u062A\\u0631\\u062C\\u0627\\u0639 \\u0627\\u0644\\u0641\\u0627\\u062A\\u0648\\u0631\\u0629 \\u0628\\u0639\\u062F \\u0647\\u0630\\u0647 \\u0627\\u0644\\u0625\\u062C\\u0631\\u0627\\u0621 | \\u0644\\u0646 \\u062A\\u062A\\u0645\\u0643\\u0646 \\u0645\\u0646 \\u0627\\u0633\\u062A\\u0631\\u062C\\u0627\\u0639 \\u0627\\u0644\\u0641\\u0648\\u0627\\u062A\\u064A\\u0631 \\u0628\\u0639\\u062F \\u0647\\u0630\\u0627 \\u0627\\u0644\\u0625\\u062C\\u0631\\u0627\\u0621\",created_message:\"\\u062A\\u0645 \\u0625\\u0646\\u0634\\u0627\\u0621 \\u0627\\u0644\\u0641\\u0627\\u062A\\u0648\\u0631\\u0629 \\u0628\\u0646\\u062C\\u0627\\u062D\",updated_message:\"\\u062A\\u0645 \\u062A\\u062D\\u062F\\u064A\\u062B \\u0627\\u0644\\u0641\\u0627\\u062A\\u0648\\u0631\\u0629 \\u0628\\u0646\\u062C\\u0627\\u062D\",deleted_message:\"\\u062A\\u0645 \\u062D\\u0630\\u0641 \\u0627\\u0644\\u0641\\u0627\\u062A\\u0648\\u0631\\u0629 \\u0628\\u0646\\u062C\\u0627\\u062D | \\u062A\\u0645 \\u062D\\u0630\\u0641 \\u0627\\u0644\\u0641\\u0648\\u0627\\u062A\\u064A\\u0631 \\u0628\\u0646\\u062C\\u0627\\u062D\",marked_as_sent_message:\"\\u062A\\u0645 \\u0625\\u0631\\u0633\\u0627\\u0644 \\u0627\\u0644\\u0641\\u0627\\u062A\\u0648\\u0631\\u0629 \\u0628\\u0646\\u062C\\u0627\\u062D\",something_went_wrong:\"\\u062E\\u0637\\u0623 \\u063A\\u064A\\u0631 \\u0645\\u0639\\u0631\\u0648\\u0641!\",invalid_due_amount_message:\"\\u0627\\u0644\\u0645\\u0628\\u0644\\u063A \\u0627\\u0644\\u0646\\u0647\\u0627\\u0626\\u064A \\u0644\\u0644\\u0641\\u0627\\u062A\\u0648\\u0631\\u0629 \\u0644\\u0627 \\u064A\\u0645\\u0643\\u0646 \\u0623\\u0646 \\u064A\\u0643\\u0648\\u0646 \\u0623\\u0642\\u0644 \\u0645\\u0646 \\u0627\\u0644\\u0645\\u0628\\u0644\\u063A \\u0627\\u0644\\u0645\\u0637\\u0644\\u0648\\u0628 \\u0644\\u0647\\u0627. \\u0631\\u062C\\u0627\\u0621\\u0627\\u064B \\u062D\\u062F\\u062B \\u0627\\u0644\\u0641\\u0627\\u062A\\u0648\\u0631\\u0629 \\u0623\\u0648 \\u0642\\u0645 \\u0628\\u062D\\u0630\\u0641 \\u0627\\u0644\\u0645\\u062F\\u0641\\u0648\\u0639\\u0627\\u062A \\u0627\\u0644\\u0645\\u0631\\u062A\\u0628\\u0637\\u0629 \\u0628\\u0647\\u0627 \\u0644\\u0644\\u0627\\u0633\\u062A\\u0645\\u0631\\u0627\\u0631.\",mark_as_default_invoice_template_description:\"If enabled, the selected template will be automatically selected for new invoices.\"},Ld={title:\"Recurring Invoices\",invoices_list:\"Recurring Invoices List\",days:\"{days} Days\",months:\"{months} Month\",years:\"{years} Year\",all:\"All\",paid:\"Paid\",unpaid:\"Unpaid\",viewed:\"Viewed\",overdue:\"Overdue\",active:\"Active\",completed:\"Completed\",customer:\"CUSTOMER\",paid_status:\"PAID STATUS\",ref_no:\"REF NO.\",number:\"NUMBER\",amount_due:\"AMOUNT DUE\",partially_paid:\"Partially Paid\",total:\"Total\",discount:\"Discount\",sub_total:\"Sub Total\",invoice:\"Recurring Invoice | Recurring Invoices\",invoice_number:\"Recurring Invoice Number\",next_invoice_date:\"Next Invoice Date\",ref_number:\"Ref Number\",contact:\"Contact\",add_item:\"Add an Item\",date:\"Date\",limit_by:\"Limit by\",limit_date:\"Limit Date\",limit_count:\"Limit Count\",count:\"Count\",status:\"Status\",select_a_status:\"Select a status\",working:\"Working\",on_hold:\"On Hold\",complete:\"Completed\",add_tax:\"Add Tax\",amount:\"Amount\",action:\"Action\",notes:\"Notes\",view:\"View\",basic_info:\"Basic Info\",send_invoice:\"Send Recurring Invoice\",auto_send:\"Auto Send\",resend_invoice:\"Resend Recurring Invoice\",invoice_template:\"Recurring Invoice Template\",conversion_message:\"Recurring Invoice cloned successful\",template:\"Template\",mark_as_sent:\"Mark as sent\",confirm_send_invoice:\"This recurring invoice will be sent via email to the customer\",invoice_mark_as_sent:\"This recurring invoice will be marked as sent\",confirm_send:\"This recurring invoice will be sent via email to the customer\",starts_at:\"Start Date\",due_date:\"Invoice Due Date\",record_payment:\"Record Payment\",add_new_invoice:\"Add New Recurring Invoice\",update_expense:\"Update Expense\",edit_invoice:\"Edit Recurring Invoice\",new_invoice:\"New Recurring Invoice\",send_automatically:\"Send Automatically\",send_automatically_desc:\"Enable this, if you would like to send the invoice automatically to the customer when its created.\",save_invoice:\"Save Recurring Invoice\",update_invoice:\"Update Recurring Invoice\",add_new_tax:\"Add New Tax\",no_invoices:\"No Recurring Invoices yet!\",mark_as_rejected:\"Mark as rejected\",mark_as_accepted:\"Mark as accepted\",list_of_invoices:\"This section will contain the list of recurring invoices.\",select_invoice:\"Select Invoice\",no_matching_invoices:\"There are no matching recurring invoices!\",mark_as_sent_successfully:\"Recurring Invoice marked as sent successfully\",invoice_sent_successfully:\"Recurring Invoice sent successfully\",cloned_successfully:\"Recurring Invoice cloned successfully\",clone_invoice:\"Clone Recurring Invoice\",confirm_clone:\"This recurring invoice will be cloned into a new Recurring Invoice\",add_customer_email:\"Please add an email address for this customer to send invoices automatically.\",item:{title:\"Item Title\",description:\"Description\",quantity:\"Quantity\",price:\"Price\",discount:\"Discount\",total:\"Total\",total_discount:\"Total Discount\",sub_total:\"Sub Total\",tax:\"Tax\",amount:\"Amount\",select_an_item:\"Type or click to select an item\",type_item_description:\"Type Item Description (optional)\"},frequency:{title:\"Frequency\",select_frequency:\"Select Frequency\",minute:\"Minute\",hour:\"Hour\",day_month:\"Day of month\",month:\"Month\",day_week:\"Day of week\"},confirm_delete:\"You will not be able to recover this Invoice | You will not be able to recover these Invoices\",created_message:\"Recurring Invoice created successfully\",updated_message:\"Recurring Invoice updated successfully\",deleted_message:\"Recurring Invoice deleted successfully | Recurring Invoices deleted successfully\",marked_as_sent_message:\"Recurring Invoice marked as sent successfully\",user_email_does_not_exist:\"User email does not exist\",something_went_wrong:\"something went wrong\",invalid_due_amount_message:\"Total Recurring Invoice amount cannot be less than total paid amount for this Recurring Invoice. Please update the invoice or delete the associated payments to continue.\"},qd={title:\"\\u0627\\u0644\\u0645\\u062F\\u0641\\u0648\\u0639\\u0627\\u062A\",payments_list:\"\\u0642\\u0627\\u0626\\u0645\\u0629 \\u0627\\u0644\\u0645\\u062F\\u0641\\u0648\\u0639\\u0627\\u062A\",record_payment:\"\\u062A\\u0633\\u062C\\u064A\\u0644 \\u062F\\u0641\\u0639\\u0629\",customer:\"\\u0627\\u0644\\u0639\\u0645\\u064A\\u0644\",date:\"\\u0627\\u0644\\u062A\\u0627\\u0631\\u064A\\u062E\",amount:\"\\u0627\\u0644\\u0645\\u0628\\u0644\\u063A \\u0627\\u0644\\u0645\\u0637\\u0644\\u0648\\u0628\",action:\"\\u0625\\u062C\\u0631\\u0627\\u0621\",payment_number:\"\\u0631\\u0642\\u0645 \\u0627\\u0644\\u062F\\u0641\\u0639\\u0629\",payment_mode:\"\\u0646\\u0648\\u0639 \\u0627\\u0644\\u062F\\u0641\\u0639\\u0629\",invoice:\"\\u0627\\u0644\\u0641\\u0627\\u062A\\u0648\\u0631\\u0629\",note:\"\\u0645\\u0644\\u0627\\u062D\\u0638\\u0629\",add_payment:\"\\u0625\\u0636\\u0627\\u0641\\u0629 \\u062F\\u0641\\u0639\\u0629\",new_payment:\"\\u062F\\u0641\\u0639\\u0629 \\u062C\\u062F\\u064A\\u062F\\u0629\",edit_payment:\"\\u062A\\u0639\\u062F\\u064A\\u0644 \\u0627\\u0644\\u062F\\u0641\\u0639\\u0629\",view_payment:\"\\u0639\\u0631\\u0636 \\u0627\\u0644\\u062F\\u0641\\u0639\\u0629\",add_new_payment:\"\\u0625\\u0636\\u0627\\u0641\\u0629 \\u062F\\u0641\\u0639\\u0629 \\u062C\\u062F\\u064A\\u062F\\u0629\",send_payment_receipt:\"\\u0625\\u0631\\u0633\\u0627\\u0644 \\u0625\\u064A\\u0635\\u0627\\u0644 \\u0627\\u0644\\u062F\\u0641\\u0639\",send_payment:\"\\u0625\\u0631\\u0633\\u0627\\u0644 \\u0627\\u0644\\u062F\\u0641\\u0639\\u0629\",save_payment:\"\\u062D\\u0641\\u0638 \\u0627\\u0644\\u062F\\u0641\\u0639\\u0629\",update_payment:\"\\u062A\\u062D\\u062F\\u064A\\u062B \\u0627\\u0644\\u062F\\u0641\\u0639\\u0629\",payment:\"\\u062F\\u0641\\u0639\\u0629 | \\u0645\\u062F\\u0641\\u0648\\u0639\\u0627\\u062A\",no_payments:\"\\u0644\\u0627 \\u064A\\u0648\\u062C\\u062F \\u0645\\u062F\\u0641\\u0648\\u0639\\u0627\\u062A \\u062D\\u062A\\u0649 \\u0627\\u0644\\u0622\\u0646!\",not_selected:\"\\u0644\\u0645 \\u064A\\u062A\\u0645 \\u062A\\u062D\\u062F\\u064A\\u062F\",no_invoice:\"\\u0644\\u0627 \\u062A\\u0648\\u062C\\u062F \\u0641\\u0627\\u062A\\u0648\\u0631\\u0629\",no_matching_payments:\"\\u0644\\u0627 \\u062A\\u0648\\u062C\\u062F \\u0645\\u062F\\u0641\\u0648\\u0639\\u0627\\u062A \\u0645\\u0637\\u0627\\u0628\\u0642\\u0629!\",list_of_payments:\"\\u0633\\u0648\\u0641 \\u062A\\u062D\\u062A\\u0648\\u064A \\u0647\\u0630\\u0647 \\u0627\\u0644\\u0642\\u0627\\u0626\\u0645\\u0629 \\u0639\\u0644\\u0649 \\u0645\\u062F\\u0641\\u0648\\u0639\\u0627\\u062A \\u0627\\u0644\\u0641\\u0648\\u0627\\u062A\\u064A\\u0631.\",select_payment_mode:\"\\u0627\\u062E\\u062A\\u0631 \\u0637\\u0631\\u064A\\u0642\\u0629 \\u0627\\u0644\\u062F\\u0641\\u0639\",confirm_mark_as_sent:\"\\u0633\\u064A\\u062A\\u0645 \\u0627\\u0644\\u062A\\u062D\\u062F\\u064A\\u062F \\u0643\\u0645\\u0631\\u0633\\u0644 \\u0639\\u0644\\u0649 \\u0647\\u0630\\u0627 \\u0627\\u0644\\u062A\\u0642\\u062F\\u064A\\u0631\",confirm_send_payment:\"\\u0633\\u064A\\u062A\\u0645 \\u0625\\u0631\\u0633\\u0627\\u0644 \\u0647\\u0630\\u0647 \\u0627\\u0644\\u062F\\u0641\\u0639\\u0629 \\u0639\\u0628\\u0631 \\u0627\\u0644\\u0628\\u0631\\u064A\\u062F \\u0627\\u0644\\u0625\\u0644\\u0643\\u062A\\u0631\\u0648\\u0646\\u064A \\u0625\\u0644\\u0649 \\u0627\\u0644\\u0639\\u0645\\u064A\\u0644\",send_payment_successfully:\"\\u062A\\u0645 \\u0625\\u0631\\u0633\\u0627\\u0644 \\u0627\\u0644\\u062F\\u0641\\u0639\\u0629 \\u0628\\u0646\\u062C\\u0627\\u062D\",something_went_wrong:\"\\u062E\\u0637\\u0623 \\u063A\\u064A\\u0631 \\u0645\\u0639\\u0631\\u0648\\u0641!\",confirm_delete:\"\\u0644\\u0646 \\u062A\\u0643\\u0648\\u0646 \\u0642\\u0627\\u062F\\u0631 \\u0639\\u0644\\u0649 \\u0627\\u0633\\u062A\\u0631\\u062C\\u0627\\u0639 \\u0647\\u0630\\u0647 \\u0627\\u0644\\u062F\\u0641\\u0639\\u0629 | \\u0644\\u0646 \\u062A\\u0643\\u0648\\u0646 \\u0642\\u0627\\u062F\\u0631\\u0627\\u064B \\u0639\\u0644\\u0649 \\u0627\\u0633\\u062A\\u0631\\u062C\\u0627\\u0639 \\u0647\\u0630\\u0647 \\u0627\\u0644\\u0645\\u062F\\u0641\\u0648\\u0639\\u0627\\u062A\",created_message:\"\\u062A\\u0645 \\u0625\\u0646\\u0634\\u0627\\u0621 \\u0627\\u0644\\u062F\\u0641\\u0639\\u0629 \\u0628\\u0646\\u062C\\u0627\\u062D\",updated_message:\"\\u062A\\u0645 \\u062A\\u062D\\u062F\\u064A\\u062B \\u0627\\u0644\\u062F\\u0641\\u0639\\u0629 \\u0628\\u0646\\u062C\\u0627\\u062D\",deleted_message:\"\\u062A\\u0645 \\u062D\\u0630\\u0641 \\u0627\\u0644\\u062F\\u0641\\u0639\\u0629 \\u0628\\u0646\\u062C\\u0627\\u062D | \\u062A\\u0645 \\u062D\\u0630\\u0641 \\u0627\\u0644\\u0645\\u062F\\u0641\\u0648\\u0639\\u0627\\u062A \\u0628\\u0646\\u062C\\u0627\\u062D\",invalid_amount_message:\"\\u0642\\u064A\\u0645\\u0629 \\u0627\\u0644\\u062F\\u0641\\u0639\\u0629 \\u063A\\u064A\\u0631 \\u0635\\u062D\\u064A\\u062D\\u0629!\"},Bd={title:\"\\u0627\\u0644\\u0646\\u0641\\u0642\\u0627\\u062A\",expenses_list:\"\\u0642\\u0627\\u0626\\u0645\\u0629 \\u0627\\u0644\\u0646\\u0641\\u0642\\u0627\\u062A\",select_a_customer:\"\\u062D\\u062F\\u062F \\u0639\\u0645\\u064A\\u0644\\u0627\\u064B\",expense_title:\"\\u0627\\u0644\\u0639\\u0646\\u0648\\u0627\\u0646\",customer:\"\\u0627\\u0644\\u0639\\u0645\\u064A\\u0644\",currency:\"Currency\",contact:\"\\u062A\\u0648\\u0627\\u0635\\u0644\",category:\"\\u0627\\u0644\\u0641\\u0626\\u0629\",from_date:\"\\u0645\\u0646 \\u062A\\u0627\\u0631\\u064A\\u062E\",to_date:\"\\u062D\\u062A\\u0649 \\u062A\\u0627\\u0631\\u064A\\u062E\",expense_date:\"\\u0627\\u0644\\u062A\\u0627\\u0631\\u064A\\u062E\",description:\"\\u0627\\u0644\\u0648\\u0635\\u0641\",receipt:\"\\u0633\\u0646\\u062F \\u0627\\u0644\\u0642\\u0628\\u0636\",amount:\"\\u0627\\u0644\\u0645\\u0628\\u0644\\u063A \\u0627\\u0644\\u0645\\u0637\\u0644\\u0648\\u0628\",action:\"\\u0625\\u062C\\u0631\\u0627\\u0621\",not_selected:\"\\u0644\\u0645 \\u064A\\u062A\\u0645 \\u062A\\u062D\\u062F\\u064A\\u062F\",note:\"\\u0645\\u0644\\u0627\\u062D\\u0638\\u0629\",category_id:\"\\u0631\\u0645\\u0632 \\u0627\\u0644\\u0641\\u0626\\u0629\",date:\"\\u062A\\u0627\\u0631\\u064A\\u062E \\u0627\\u0644\\u0646\\u0641\\u0642\\u0627\\u062A\",add_expense:\"\\u0623\\u0636\\u0641 \\u0646\\u0641\\u0642\\u0627\\u062A\",add_new_expense:\"\\u0623\\u0636\\u0641 \\u0646\\u0641\\u0642\\u0627\\u062A \\u062C\\u062F\\u064A\\u062F\\u0629\",save_expense:\"\\u062D\\u0641\\u0638 \\u0627\\u0644\\u0646\\u0641\\u0642\\u0627\\u062A\",update_expense:\"\\u062A\\u062D\\u062F\\u064A\\u062B \\u0627\\u0644\\u0646\\u0641\\u0642\\u0627\\u062A\",download_receipt:\"\\u062A\\u0646\\u0632\\u064A\\u0644 \\u0627\\u0644\\u0633\\u0646\\u062F\",edit_expense:\"\\u062A\\u0639\\u062F\\u064A\\u0644 \\u0627\\u0644\\u0646\\u0641\\u0642\\u0627\\u062A\",new_expense:\"\\u0646\\u0641\\u0642\\u0627\\u062A \\u062C\\u062F\\u064A\\u062F\\u0629\",expense:\"\\u0625\\u0646\\u0641\\u0627\\u0642 | \\u0646\\u0641\\u0642\\u0627\\u062A\",no_expenses:\"\\u0644\\u0627 \\u064A\\u0648\\u062C\\u062F \\u0646\\u0641\\u0642\\u0627\\u062A \\u062D\\u062A\\u0649 \\u0627\\u0644\\u0622\\u0646!\",list_of_expenses:\"\\u0647\\u0630\\u0647 \\u0627\\u0644\\u0642\\u0627\\u0626\\u0645\\u0629 \\u0633\\u062A\\u062D\\u062A\\u0648\\u064A \\u0627\\u0644\\u0646\\u0641\\u0642\\u0627\\u062A \\u0627\\u0644\\u062E\\u0627\\u0635\\u0629 \\u0628\\u0643\",confirm_delete:\"\\u0644\\u0646 \\u062A\\u062A\\u0645\\u0643\\u0646 \\u0645\\u0646 \\u0627\\u0633\\u062A\\u0631\\u062C\\u0627\\u0639 \\u0647\\u0630\\u0627 \\u0627\\u0644\\u0625\\u0646\\u0641\\u0627\\u0642 | \\u0644\\u0646 \\u062A\\u062A\\u0645\\u0643\\u0646 \\u0645\\u0646 \\u0627\\u0633\\u062A\\u0631\\u062C\\u0627\\u0639 \\u0647\\u0630\\u0647 \\u0627\\u0644\\u0646\\u0641\\u0642\\u0627\\u062A\",created_message:\"\\u062A\\u0645 \\u0625\\u0646\\u0634\\u0627\\u0621 \\u0627\\u0644\\u0646\\u0641\\u0642\\u0627\\u062A \\u0628\\u0646\\u062C\\u0627\\u062D\",updated_message:\"\\u062A\\u0645 \\u062A\\u062D\\u062F\\u064A\\u062B \\u0627\\u0644\\u0646\\u0641\\u0642\\u0627\\u062A \\u0628\\u0646\\u062C\\u0627\\u062D\",deleted_message:\"\\u062A\\u0645 \\u062D\\u0630\\u0641 \\u0627\\u0644\\u0646\\u0641\\u0642\\u0627\\u062A \\u0628\\u0646\\u062C\\u0627\\u062D\",categories:{categories_list:\"\\u0642\\u0627\\u0626\\u0645\\u0629 \\u0627\\u0644\\u0641\\u0626\\u0627\\u062A\",title:\"\\u0627\\u0644\\u0639\\u0646\\u0648\\u0627\\u0646\",name:\"\\u0627\\u0644\\u0627\\u0633\\u0645\",description:\"\\u0627\\u0644\\u0648\\u0635\\u0641\",amount:\"\\u0627\\u0644\\u0645\\u0628\\u0644\\u063A \\u0627\\u0644\\u0645\\u0637\\u0644\\u0648\\u0628\",actions:\"\\u0627\\u0644\\u0639\\u0645\\u0644\\u064A\\u0627\\u062A\",add_category:\"\\u0625\\u0636\\u0627\\u0641\\u0629 \\u0641\\u0626\\u0645\\u0629\",new_category:\"\\u0641\\u0626\\u0629 \\u062C\\u062F\\u064A\\u062F\\u0629\",category:\"\\u0641\\u0626\\u0629 | \\u0641\\u0626\\u0627\\u062A\",select_a_category:\"\\u0627\\u062E\\u062A\\u0631 \\u0627\\u0644\\u0641\\u0626\\u0629\"}},Kd={email:\"\\u0627\\u0644\\u0628\\u0631\\u064A\\u062F \\u0627\\u0644\\u0625\\u0644\\u0643\\u062A\\u0631\\u0648\\u0646\\u064A\",password:\"\\u0643\\u0644\\u0645\\u0629 \\u0627\\u0644\\u0645\\u0631\\u0648\\u0631\",forgot_password:\"\\u0646\\u0633\\u064A\\u062A \\u0643\\u0644\\u0645\\u0629 \\u0627\\u0644\\u0645\\u0631\\u0648\\u0631\\u061F\",or_signIn_with:\"\\u0623\\u0648 \\u0633\\u062C\\u0644 \\u0627\\u0644\\u062F\\u062E\\u0648\\u0644 \\u0628\\u0648\\u0627\\u0633\\u0637\\u0629\",login:\"\\u062F\\u062E\\u0648\\u0644\",register:\"\\u062A\\u0633\\u062C\\u064A\\u0644\",reset_password:\"\\u0625\\u0639\\u0627\\u062F\\u0629 \\u062A\\u0639\\u064A\\u064A\\u0646 \\u0643\\u0644\\u0645\\u0629 \\u0627\\u0644\\u0645\\u0631\\u0648\\u0631\",password_reset_successfully:\"\\u062A\\u0645 \\u0625\\u0639\\u0627\\u062F\\u0629 \\u062A\\u0639\\u064A\\u064A\\u0646 \\u0643\\u0644\\u0645\\u0629 \\u0627\\u0644\\u0645\\u0631\\u0648\\u0631 \\u0628\\u0646\\u062C\\u0627\\u062D\",enter_email:\"\\u0623\\u062F\\u062E\\u0644 \\u0627\\u0644\\u0628\\u0631\\u064A\\u062F \\u0627\\u0644\\u0627\\u0644\\u0643\\u062A\\u0631\\u0648\\u0646\\u064A\",enter_password:\"\\u0623\\u0643\\u062A\\u0628 \\u0643\\u0644\\u0645\\u0629 \\u0627\\u0644\\u0645\\u0631\\u0648\\u0631\",retype_password:\"\\u0623\\u0639\\u062F \\u0643\\u062A\\u0627\\u0628\\u0629 \\u0643\\u0644\\u0645\\u0629 \\u0627\\u0644\\u0645\\u0631\\u0648\\u0631\"},Zd={buy_now:\"Buy Now\",install:\"Install\",price:\"Price\",download_zip_file:\"Download ZIP file\",unzipping_package:\"Unzipping Package\",copying_files:\"Copying Files\",deleting_files:\"Deleting Unused files\",completing_installation:\"Completing Installation\",update_failed:\"Update Failed\",install_success:\"Module has been installed successfully!\",customer_reviews:\"Reviews\",license:\"License\",faq:\"FAQ\",monthly:\"Monthly\",yearly:\"Yearly\",updated:\"Updated\",version:\"Version\",disable:\"Disable\",module_disabled:\"Module Disabled\",enable:\"Enable\",module_enabled:\"Module Enabled\",update_to:\"Update To\",module_updated:\"Module Updated Successfully!\",title:\"Modules\",module:\"Module | Modules\",api_token:\"API token\",invalid_api_token:\"Invalid API Token.\",other_modules:\"Other Modules\",view_all:\"View All\",no_reviews_found:\"There are no reviews for this module yet!\",module_not_purchased:\"Module Not Purchased\",module_not_found:\"Module Not Found\",version_not_supported:\"This module version doesn't support the current version of Crater\",last_updated:\"Last Updated On\",connect_installation:\"Connect your installation\",api_token_description:\"Login to {url} and connect this installation by entering the API Token. Your purchased modules will show up here after the connection is established.\",view_module:\"View Module\",update_available:\"Update Available\",purchased:\"Purchased\",installed:\"Installed\",no_modules_installed:\"No Modules Installed Yet!\",disable_warning:\"All the settings for this particular will be reverted.\",what_you_get:\"What you get\"},Wd={title:\"\\u0627\\u0644\\u0645\\u0633\\u062A\\u062E\\u062F\\u0645\\u0648\\u0646\",users_list:\"\\u0642\\u0627\\u0626\\u0645\\u0629 \\u0627\\u0644\\u0645\\u0633\\u062A\\u062E\\u062F\\u0645\\u064A\\u0646\",name:\"\\u0627\\u0633\\u0645\",description:\"\\u0648\\u0635\\u0641\",added_on:\"\\u0648\\u0623\\u0636\\u0627\\u0641 \\u0641\\u064A\",date_of_creation:\"\\u062A\\u0627\\u0631\\u064A\\u062E \\u0627\\u0644\\u062E\\u0644\\u0642\",action:\"\\u0639\\u0645\\u0644\",add_user:\"\\u0625\\u0636\\u0627\\u0641\\u0629 \\u0645\\u0633\\u062A\\u062E\\u062F\\u0645\",save_user:\"\\u062D\\u0641\\u0638 \\u0627\\u0644\\u0645\\u0633\\u062A\\u062E\\u062F\\u0645\",update_user:\"\\u062A\\u062D\\u062F\\u064A\\u062B \\u0627\\u0644\\u0645\\u0633\\u062A\\u062E\\u062F\\u0645\",user:\"\\u062A\\u062D\\u062F\\u064A\\u062B \\u0627\\u0644\\u0645\\u0633\\u062A\\u062E\\u062F\\u0645\",add_new_user:\"\\u0625\\u0636\\u0627\\u0641\\u0629 \\u0645\\u0633\\u062A\\u062E\\u062F\\u0645 \\u062C\\u062F\\u064A\\u062F\",new_user:\"\\u0645\\u0633\\u062A\\u062E\\u062F\\u0645 \\u062C\\u062F\\u064A\\u062F\",edit_user:\"\\u062A\\u062D\\u0631\\u064A\\u0631 \\u0627\\u0644\\u0639\\u0636\\u0648\",no_users:\"\\u0644\\u0627 \\u0645\\u0633\\u062A\\u062E\\u062F\\u0645\\u064A\\u0646 \\u062D\\u062A\\u0649 \\u0627\\u0644\\u0622\\u0646!\",list_of_users:\"\\u0633\\u064A\\u062D\\u062A\\u0648\\u064A \\u0647\\u0630\\u0627 \\u0627\\u0644\\u0642\\u0633\\u0645 \\u0639\\u0644\\u0649 \\u0642\\u0627\\u0626\\u0645\\u0629 \\u0627\\u0644\\u0645\\u0633\\u062A\\u062E\\u062F\\u0645\\u064A\\u0646.\",email:\"\\u0627\\u0644\\u0628\\u0631\\u064A\\u062F \\u0627\\u0644\\u0625\\u0644\\u0643\\u062A\\u0631\\u0648\\u0646\\u064A\",phone:\"\\u0647\\u0627\\u062A\\u0641\",password:\"\\u0643\\u0644\\u0645\\u0647 \\u0627\\u0644\\u0633\\u0631\",user_attached_message:\"\\u0644\\u0627 \\u064A\\u0645\\u0643\\u0646 \\u062D\\u0630\\u0641 \\u0639\\u0646\\u0635\\u0631 \\u0642\\u064A\\u062F \\u0627\\u0644\\u0627\\u0633\\u062A\\u062E\\u062F\\u0627\\u0645 \\u0628\\u0627\\u0644\\u0641\\u0639\\u0644\",confirm_delete:\"\\u0644\\u0646 \\u062A\\u062A\\u0645\\u0643\\u0646 \\u0645\\u0646 \\u0627\\u0633\\u062A\\u0631\\u062F\\u0627\\u062F \\u0647\\u0630\\u0627 \\u0627\\u0644\\u0639\\u0646\\u0635\\u0631 | \\u0644\\u0646 \\u062A\\u062A\\u0645\\u0643\\u0646 \\u0645\\u0646 \\u0627\\u0633\\u062A\\u0631\\u062F\\u0627\\u062F \\u0647\\u0624\\u0644\\u0627\\u0621 \\u0627\\u0644\\u0645\\u0633\\u062A\\u062E\\u062F\\u0645\\u064A\\u0646\",created_message:\"\\u062A\\u0645 \\u0625\\u0646\\u0634\\u0627\\u0621 \\u0627\\u0644\\u0645\\u0633\\u062A\\u062E\\u062F\\u0645 \\u0628\\u0646\\u062C\\u0627\\u062D\",updated_message:\"\\u062A\\u0645 \\u062A\\u062D\\u062F\\u064A\\u062B \\u0627\\u0644\\u0645\\u0633\\u062A\\u062E\\u062F\\u0645 \\u0628\\u0646\\u062C\\u0627\\u062D\",deleted_message:\"\\u062A\\u0645 \\u062D\\u0630\\u0641 \\u0627\\u0644\\u0645\\u0633\\u062A\\u062E\\u062F\\u0645 \\u0628\\u0646\\u062C\\u0627\\u062D | \\u062A\\u0645 \\u062D\\u0630\\u0641 \\u0627\\u0644\\u0645\\u0633\\u062A\\u062E\\u062F\\u0645 \\u0628\\u0646\\u062C\\u0627\\u062D\",select_company_role:\"Select Role for {company}\",companies:\"Companies\"},Hd={title:\"\\u062A\\u0642\\u0631\\u064A\\u0631\",from_date:\"\\u0645\\u0646 \\u062A\\u0627\\u0631\\u064A\\u062E\",to_date:\"\\u062D\\u062A\\u0649 \\u062A\\u0627\\u0631\\u064A\\u062E\",status:\"\\u0627\\u0644\\u062D\\u0627\\u0644\\u0629\",paid:\"\\u0645\\u062F\\u0641\\u0648\\u0639\",unpaid:\"\\u063A\\u064A\\u0631 \\u0645\\u062F\\u0641\\u0648\\u0639\",download_pdf:\"\\u062A\\u0646\\u0632\\u064A\\u0644 PDF\",view_pdf:\"\\u0639\\u0631\\u0636 PDF\",update_report:\"\\u062A\\u062D\\u062F\\u064A\\u062B \\u0627\\u0644\\u062A\\u0642\\u0631\\u064A\\u0631\",report:\"\\u062A\\u0642\\u0631\\u064A\\u0631 | \\u062A\\u0642\\u0627\\u0631\\u064A\\u0631\",profit_loss:{profit_loss:\"\\u0627\\u0644\\u062E\\u0633\\u0627\\u0626\\u0631 \\u0648\\u0627\\u0644\\u0623\\u0631\\u0628\\u0627\\u062D\",to_date:\"\\u062D\\u062A\\u0649 \\u062A\\u0627\\u0631\\u064A\\u062E\",from_date:\"\\u0645\\u0646 \\u062A\\u0627\\u0631\\u064A\\u062E\",date_range:\"\\u0627\\u062E\\u062A\\u0631 \\u0645\\u062F\\u0649 \\u0627\\u0644\\u062A\\u0627\\u0631\\u064A\\u062E\"},sales:{sales:\"\\u0627\\u0644\\u0645\\u0628\\u064A\\u0639\\u0627\\u062A\",date_range:\"\\u0627\\u062E\\u062A\\u0631 \\u0645\\u062F\\u0649 \\u0627\\u0644\\u062A\\u0627\\u0631\\u064A\\u062E\",to_date:\"\\u062D\\u062A\\u0649 \\u062A\\u0627\\u0631\\u064A\\u062E\",from_date:\"\\u0645\\u0646 \\u062A\\u0627\\u0631\\u064A\\u062E\",report_type:\"\\u0646\\u0648\\u0639 \\u0627\\u0644\\u062A\\u0642\\u0631\\u064A\\u0631\"},taxes:{taxes:\"\\u0627\\u0644\\u0636\\u0631\\u0627\\u0626\\u0628\",to_date:\"\\u062D\\u062A\\u0649 \\u062A\\u0627\\u0631\\u064A\\u062E\",from_date:\"\\u0645\\u0646 \\u062A\\u0627\\u0631\\u064A\\u062E\",date_range:\"\\u0627\\u062E\\u062A\\u0631 \\u0645\\u062F\\u0649 \\u0627\\u0644\\u062A\\u0627\\u0631\\u064A\\u062E\"},errors:{required:\"\\u062D\\u0642\\u0644 \\u0645\\u0637\\u0644\\u0648\\u0628\"},invoices:{invoice:\"\\u0627\\u0644\\u0641\\u0627\\u062A\\u0648\\u0631\\u0629\",invoice_date:\"\\u062A\\u0627\\u0631\\u064A\\u062E \\u0627\\u0644\\u0641\\u0627\\u062A\\u0648\\u0631\\u0629\",due_date:\"\\u062A\\u0627\\u0631\\u064A\\u062E \\u0627\\u0644\\u0627\\u0633\\u062A\\u062D\\u0642\\u0627\\u0642\",amount:\"\\u0627\\u0644\\u0645\\u0628\\u0644\\u063A \\u0627\\u0644\\u0645\\u0637\\u0644\\u0648\\u0628\",contact_name:\"\\u0627\\u0633\\u0645 \\u0627\\u0644\\u062A\\u0648\\u0627\\u0635\\u0644\",status:\"\\u0627\\u0644\\u062D\\u0627\\u0644\\u0629\"},estimates:{estimate:\"\\u062A\\u0642\\u062F\\u064A\\u0631\",estimate_date:\"\\u062A\\u0627\\u0631\\u064A\\u062E \\u0627\\u0644\\u062A\\u0642\\u062F\\u064A\\u0631\",due_date:\"\\u0645\\u0633\\u062A\\u062D\\u0642 \\u0628\\u062A\\u0627\\u0631\\u064A\\u062E\",estimate_number:\"\\u0631\\u0642\\u0645 \\u0645\\u0633\\u062A\\u062D\\u0642\",ref_number:\"\\u0631\\u0642\\u0645 \\u0627\\u0644\\u0645\\u0631\\u062C\\u0639\",amount:\"\\u0627\\u0644\\u0645\\u0628\\u0644\\u063A \\u0627\\u0644\\u0645\\u0637\\u0644\\u0648\\u0628\",contact_name:\"\\u0627\\u0633\\u0645 \\u0627\\u0644\\u062A\\u0648\\u0627\\u0635\\u0644\",status:\"\\u0627\\u0644\\u062D\\u0627\\u0644\\u0629\"},expenses:{expenses:\"\\u0627\\u0644\\u0646\\u0641\\u0642\\u0627\\u062A\",category:\"\\u0627\\u0644\\u0641\\u0626\\u0629\",date:\"\\u0627\\u0644\\u062A\\u0627\\u0631\\u064A\\u062E\",amount:\"\\u0627\\u0644\\u0645\\u0628\\u0644\\u063A \\u0627\\u0644\\u0645\\u0637\\u0644\\u0648\\u0628\",to_date:\"\\u062D\\u062A\\u0649 \\u062A\\u0627\\u0631\\u064A\\u062E\",from_date:\"\\u0645\\u0646 \\u062A\\u0627\\u0631\\u064A\\u062E\",date_range:\"\\u0627\\u062E\\u062A\\u0631 \\u0645\\u062F\\u0649 \\u0627\\u0644\\u062A\\u0627\\u0631\\u064A\\u062E\"}},Yd={menu_title:{account_settings:\"\\u0625\\u0639\\u062F\\u0627\\u062F\\u0627\\u062A \\u0627\\u0644\\u062D\\u0633\\u0627\\u0628\",company_information:\"\\u0645\\u0639\\u0644\\u0648\\u0645\\u0627\\u062A \\u0627\\u0644\\u0645\\u0646\\u0634\\u0623\\u0629\",customization:\"\\u062A\\u062E\\u0635\\u064A\\u0635\",preferences:\"\\u062A\\u0641\\u0636\\u064A\\u0644\\u0627\\u062A\",notifications:\"\\u062A\\u0646\\u0628\\u064A\\u0647\\u0627\\u062A\",tax_types:\"\\u0646\\u0648\\u0639 \\u0627\\u0644\\u0636\\u0631\\u064A\\u0628\\u0629\",expense_category:\"\\u0641\\u0626\\u0627\\u062A \\u0627\\u0644\\u0646\\u0641\\u0642\\u0627\\u062A\",update_app:\"\\u062A\\u062D\\u062F\\u064A\\u062B \\u0627\\u0644\\u0646\\u0638\\u0627\\u0645\",backup:\"\\u062F\\u0639\\u0645\",file_disk:\"\\u0642\\u0631\\u0635 \\u0627\\u0644\\u0645\\u0644\\u0641\",custom_fields:\"\\u0627\\u0644\\u062D\\u0642\\u0648\\u0644 \\u0627\\u0644\\u0645\\u062E\\u0635\\u0635\\u0629\",payment_modes:\"\\u0637\\u0631\\u0642 \\u0627\\u0644\\u062F\\u0641\\u0639\",notes:\"\\u0645\\u0644\\u0627\\u062D\\u0638\\u0627\\u062A\",exchange_rate:\"Exchange Rate\",address_information:\"Address Information\"},address_information:{section_description:\"  You can update Your Address information using form below.\"},title:\"\\u0625\\u0639\\u062F\\u0627\\u062F\\u0627\\u062A\",setting:\"\\u0625\\u0639\\u062F\\u0627\\u062F\\u0627\\u062A | \\u0625\\u0639\\u062F\\u0627\\u062F\\u0627\\u062A\",general:\"\\u0639\\u0627\\u0645\",language:\"\\u0627\\u0644\\u0644\\u063A\\u0629\",primary_currency:\"\\u0627\\u0644\\u0639\\u0645\\u0644\\u0629 \\u0627\\u0644\\u0631\\u0626\\u064A\\u0633\\u064A\\u0629\",timezone:\"\\u0627\\u0644\\u0645\\u0646\\u0637\\u0642\\u0629 \\u0627\\u0644\\u0632\\u0645\\u0646\\u064A\\u0629\",date_format:\"\\u0635\\u064A\\u063A\\u0629 \\u0627\\u0644\\u062A\\u0627\\u0631\\u064A\\u062E\",currencies:{title:\"\\u0627\\u0644\\u0639\\u0645\\u0644\\u0627\\u062A\",currency:\"\\u0627\\u0644\\u0639\\u0645\\u0644\\u0629 | \\u0627\\u0644\\u0639\\u0645\\u0644\\u0627\\u062A\",currencies_list:\"\\u0642\\u0627\\u0626\\u0645\\u0629 \\u0627\\u0644\\u0639\\u0645\\u0644\\u0627\\u062A\",select_currency:\"\\u0627\\u062E\\u062A\\u0631 \\u0627\\u0644\\u0639\\u0645\\u0644\\u0629\",name:\"\\u0627\\u0644\\u0627\\u0633\\u0645\",code:\"\\u0627\\u0644\\u0645\\u0631\\u062C\\u0639\",symbol:\"\\u0627\\u0644\\u0631\\u0645\\u0632\",precision:\"\\u0627\\u0644\\u062F\\u0642\\u0629\",thousand_separator:\"\\u0641\\u0627\\u0635\\u0644 \\u0627\\u0644\\u0622\\u0644\\u0627\\u0641\",decimal_separator:\"\\u0627\\u0644\\u0641\\u0627\\u0635\\u0644\\u0629 \\u0627\\u0644\\u0639\\u0634\\u0631\\u064A\\u0629\",position:\"\\u0627\\u0644\\u0645\\u0648\\u0642\\u0639\",position_of_symbol:\"\\u0645\\u0648\\u0642\\u0639 \\u0631\\u0645\\u0632 \\u0627\\u0644\\u0639\\u0645\\u0644\\u0629\",right:\"\\u064A\\u0645\\u064A\\u0646\",left:\"\\u064A\\u0633\\u0627\\u0631\",action:\"\\u0625\\u062C\\u0631\\u0627\\u0621\",add_currency:\"\\u0623\\u0636\\u0641 \\u0639\\u0645\\u0644\\u0629\"},mail:{host:\"\\u062E\\u0627\\u062F\\u0645 \\u0627\\u0644\\u0628\\u0631\\u064A\\u062F\",port:\"\\u0645\\u0646\\u0641\\u0630 \\u0627\\u0644\\u0628\\u0631\\u064A\\u062F\",driver:\"\\u0645\\u0634\\u063A\\u0644 \\u0627\\u0644\\u0628\\u0631\\u064A\\u062F\",secret:\"\\u0633\\u0631\\u064A\",mailgun_secret:\"\\u0627\\u0644\\u0631\\u0645\\u0632 \\u0627\\u0644\\u0633\\u0631\\u064A \\u0644\\u0640 Mailgun\",mailgun_domain:\"\\u0627\\u0644\\u0645\\u062C\\u0627\\u0644\",mailgun_endpoint:\"\\u0627\\u0644\\u0646\\u0647\\u0627\\u064A\\u0629 \\u0627\\u0644\\u0637\\u0631\\u0641\\u064A\\u0629 \\u0644\\u0640 Mailgun\",ses_secret:\"SES \\u0627\\u0644\\u0631\\u0645\\u0632 \\u0627\\u0644\\u0633\\u0631\\u064A\",ses_key:\"SES \\u0645\\u0641\\u062A\\u0627\\u062D\",password:\"\\u0643\\u0644\\u0645\\u0629 \\u0645\\u0631\\u0648\\u0631 \\u0627\\u0644\\u0628\\u0631\\u064A\\u062F \\u0627\\u0644\\u0627\\u0644\\u0643\\u062A\\u0631\\u0648\\u0646\\u064A\",username:\"\\u0627\\u0633\\u0645 \\u0627\\u0644\\u0645\\u0633\\u062A\\u062E\\u062F\\u0645 \\u0644\\u0644\\u0628\\u0631\\u064A\\u062F \\u0627\\u0644\\u0625\\u0644\\u0643\\u062A\\u0631\\u0648\\u0646\\u064A\",mail_config:\"\\u0625\\u0639\\u062F\\u0627\\u062F\\u0627\\u062A \\u0627\\u0644\\u0628\\u0631\\u064A\\u062F \\u0627\\u0644\\u0627\\u0644\\u0643\\u062A\\u0631\\u0648\\u0646\\u064A\",from_name:\"\\u0627\\u0633\\u0645 \\u0627\\u0644\\u0645\\u0631\\u0633\\u0644\",from_mail:\"\\u0639\\u0646\\u0648\\u0627\\u0646 \\u0627\\u0644\\u0628\\u0631\\u064A\\u062F \\u0627\\u0644\\u0627\\u0644\\u0643\\u062A\\u0631\\u0648\\u0646\\u064A \\u0644\\u0644\\u0645\\u0631\\u0633\\u0644\",encryption:\"\\u0635\\u064A\\u063A\\u0629 \\u0627 \\u0644\\u062A\\u0634\\u0641\\u064A\\u0631\",mail_config_desc:\"\\u0623\\u062F\\u0646\\u0627\\u0647 \\u0647\\u0648 \\u0646\\u0645\\u0648\\u0630\\u062C \\u0644\\u062A\\u0643\\u0648\\u064A\\u0646 \\u0628\\u0631\\u0646\\u0627\\u0645\\u062C \\u062A\\u0634\\u063A\\u064A\\u0644 \\u0627\\u0644\\u0628\\u0631\\u064A\\u062F \\u0627\\u0644\\u0625\\u0644\\u0643\\u062A\\u0631\\u0648\\u0646\\u064A \\u0644\\u0625\\u0631\\u0633\\u0627\\u0644 \\u0631\\u0633\\u0627\\u0626\\u0644 \\u0627\\u0644\\u0628\\u0631\\u064A\\u062F \\u0627\\u0644\\u0625\\u0644\\u0643\\u062A\\u0631\\u0648\\u0646\\u064A \\u0645\\u0646 \\u0627\\u0644\\u062A\\u0637\\u0628\\u064A\\u0642. \\u064A\\u0645\\u0643\\u0646\\u0643 \\u0623\\u064A\\u0636\\u064B\\u0627 \\u062A\\u0647\\u064A\\u0626\\u0629 \\u0645\\u0648\\u0641\\u0631\\u064A \\u0627\\u0644\\u062C\\u0647\\u0627\\u062A \\u0627\\u0644\\u062E\\u0627\\u0631\\u062C\\u064A\\u0629 \\u0645\\u062B\\u0644 Sendgrid \\u0648 SES \\u0625\\u0644\\u062E.\"},pdf:{title:\"PDF \\u0625\\u0639\\u062F\\u0627\\u062F\\u0627\\u062A\",footer_text:\"\\u0646\\u0635 \\u0627\\u0644\\u062A\\u0630\\u064A\\u064A\\u0644\",pdf_layout:\"\\u0627\\u062A\\u062C\\u0627\\u0647 \\u0635\\u0641\\u062D\\u0629 PDF\"},company_info:{company_info:\"\\u0645\\u0639\\u0644\\u0648\\u0645\\u0627\\u062A \\u0627\\u0644\\u0634\\u0631\\u0643\\u0629\",company_name:\"\\u0627\\u0633\\u0645 \\u0627\\u0644\\u0634\\u0631\\u0643\\u0629\",company_logo:\"\\u0634\\u0639\\u0627\\u0631 \\u0627\\u0644\\u0634\\u0631\\u0643\\u0629\",section_description:\"\\u0645\\u0639\\u0644\\u0648\\u0645\\u0627\\u062A \\u0639\\u0646 \\u0634\\u0631\\u0643\\u062A\\u0643 \\u0633\\u064A\\u062A\\u0645 \\u0639\\u0631\\u0636\\u0647\\u0627 \\u0639\\u0644\\u0649 \\u0627\\u0644\\u0641\\u0648\\u0627\\u062A\\u064A\\u0631 \\u0648\\u0627\\u0644\\u062A\\u0642\\u062F\\u064A\\u0631\\u0627\\u062A \\u0648\\u0627\\u0644\\u0645\\u0633\\u062A\\u0646\\u062F\\u0627\\u062A \\u0627\\u0644\\u0623\\u062E\\u0631\\u0649.\",phone:\"\\u0627\\u0644\\u0647\\u0627\\u062A\\u0641\",country:\"\\u0627\\u0644\\u062F\\u0648\\u0644\\u0629\",state:\"\\u0627\\u0644\\u0648\\u0644\\u0627\\u064A\\u0629/\\u0627\\u0644\\u0645\\u0646\\u0637\\u0642\\u0629\",city:\"\\u0627\\u0644\\u0645\\u062F\\u064A\\u0646\\u0629\",address:\"\\u0627\\u0644\\u0639\\u0646\\u0648\\u0627\\u0646\",zip:\"\\u0627\\u0644\\u0631\\u0645\\u0632 \\u0627\\u0644\\u0628\\u0631\\u064A\\u062F\\u064A\",save:\"\\u062D\\u0641\\u0638\",delete:\"Delete\",updated_message:\"\\u062A\\u0645 \\u062A\\u062D\\u062F\\u064A\\u062B \\u0645\\u0639\\u0644\\u0648\\u0645\\u0627\\u062A \\u0627\\u0644\\u0634\\u0631\\u0643\\u0629 \\u0628\\u0646\\u062C\\u0627\\u062D\",delete_company:\"Delete Company\",delete_company_description:\"Once you delete your company, you will lose all the data and files associated with it permanently.\",are_you_absolutely_sure:\"Are you absolutely sure?\",delete_company_modal_desc:\"This action cannot be undone. This will permanently delete {company} and all of its associated data.\",delete_company_modal_label:\"Please type {company} to confirm\"},custom_fields:{title:\"\\u0627\\u0644\\u062D\\u0642\\u0648\\u0644 \\u0627\\u0644\\u0645\\u062E\\u0635\\u0635\\u0629\",section_description:\"\\u0642\\u0645 \\u0628\\u062A\\u062E\\u0635\\u064A\\u0635 \\u0641\\u0648\\u0627\\u062A\\u064A\\u0631\\u0643 \\u0648\\u062A\\u0642\\u062F\\u064A\\u0631\\u0627\\u062A\\u0643 \\u0648\\u0625\\u064A\\u0635\\u0627\\u0644\\u0627\\u062A \\u0627\\u0644\\u062F\\u0641\\u0639 \\u0628\\u0627\\u0633\\u062A\\u062E\\u062F\\u0627\\u0645 \\u0627\\u0644\\u062D\\u0642\\u0648\\u0644 \\u0627\\u0644\\u062E\\u0627\\u0635\\u0629 \\u0628\\u0643. \\u062A\\u0623\\u0643\\u062F \\u0645\\u0646 \\u0627\\u0633\\u062A\\u062E\\u062F\\u0627\\u0645 \\u0627\\u0644\\u062D\\u0642\\u0648\\u0644 \\u0627\\u0644\\u0645\\u0636\\u0627\\u0641\\u0629 \\u0623\\u062F\\u0646\\u0627\\u0647 \\u0641\\u064A \\u062A\\u0646\\u0633\\u064A\\u0642\\u0627\\u062A \\u0627\\u0644\\u0639\\u0646\\u0627\\u0648\\u064A\\u0646 \\u0641\\u064A \\u0635\\u0641\\u062D\\u0629 \\u0625\\u0639\\u062F\\u0627\\u062F\\u0627\\u062A \\u0627\\u0644\\u062A\\u062E\\u0635\\u064A\\u0635.\",add_custom_field:\"\\u0625\\u0636\\u0627\\u0641\\u0629 \\u062D\\u0642\\u0644 \\u0645\\u062E\\u0635\\u0635\",edit_custom_field:\"\\u062A\\u062D\\u0631\\u064A\\u0631 \\u0627\\u0644\\u062D\\u0642\\u0644 \\u0627\\u0644\\u0645\\u062E\\u0635\\u0635\",field_name:\"\\u0627\\u0633\\u0645 \\u0627\\u0644\\u062D\\u0642\\u0644\",label:\"\\u0636\\u0639 \\u0627\\u0644\\u0643\\u0644\\u0645\\u0629 \\u0627\\u0644\\u0645\\u0646\\u0627\\u0633\\u0628\\u0629\",type:\"\\u0646\\u0648\\u0639\",name:\"\\u0627\\u0633\\u0645\",slug:\"Slug\",required:\"\\u0645\\u0637\\u0644\\u0648\\u0628\",placeholder:\"\\u0639\\u0646\\u0635\\u0631 \\u0646\\u0627\\u0626\\u0628\",help_text:\"\\u0646\\u0635 \\u0627\\u0644\\u0645\\u0633\\u0627\\u0639\\u062F\\u0629\",default_value:\"\\u0627\\u0644\\u0642\\u064A\\u0645\\u0629 \\u0627\\u0644\\u0627\\u0641\\u062A\\u0631\\u0627\\u0636\\u064A\\u0629\",prefix:\"\\u0627\\u062E\\u062A\\u0635\\u0627\\u0631\",starting_number:\"\\u0631\\u0642\\u0645 \\u0627\\u0644\\u0628\\u062F\\u0627\\u064A\\u0629\",model:\"\\u0646\\u0645\\u0648\\u0630\\u062C\",help_text_description:\"\\u0623\\u062F\\u062E\\u0644 \\u0628\\u0639\\u0636 \\u0627\\u0644\\u0646\\u0635 \\u0644\\u0645\\u0633\\u0627\\u0639\\u062F\\u0629 \\u0627\\u0644\\u0645\\u0633\\u062A\\u062E\\u062F\\u0645\\u064A\\u0646 \\u0639\\u0644\\u0649 \\u0641\\u0647\\u0645 \\u0627\\u0644\\u063A\\u0631\\u0636 \\u0645\\u0646 \\u0647\\u0630\\u0627 \\u0627\\u0644\\u062D\\u0642\\u0644 \\u0627\\u0644\\u0645\\u062E\\u0635\\u0635.\",suffix:\"\\u0644\\u0627\\u062D\\u0642\\u0629\",yes:\"\\u0646\\u0639\\u0645\",no:\"\\u0644\\u0627\",order:\"\\u0637\\u0644\\u0628\",custom_field_confirm_delete:\"\\u0644\\u0646 \\u062A\\u062A\\u0645\\u0643\\u0646 \\u0645\\u0646 \\u0627\\u0633\\u062A\\u0639\\u0627\\u062F\\u0629 \\u0647\\u0630\\u0627 \\u0627\\u0644\\u062D\\u0642\\u0644 \\u0627\\u0644\\u0645\\u062E\\u0635\\u0635\",already_in_use:\"\\u0627\\u0644\\u062D\\u0642\\u0644 \\u0627\\u0644\\u0645\\u062E\\u0635\\u0635 \\u0642\\u064A\\u062F \\u0627\\u0644\\u0627\\u0633\\u062A\\u062E\\u062F\\u0627\\u0645 \\u0628\\u0627\\u0644\\u0641\\u0639\\u0644\",deleted_message:\"\\u062A\\u0645 \\u062D\\u0630\\u0641 \\u0627\\u0644\\u062D\\u0642\\u0644 \\u0627\\u0644\\u0645\\u062E\\u0635\\u0635 \\u0628\\u0646\\u062C\\u0627\\u062D\",options:\"\\u062E\\u064A\\u0627\\u0631\\u0627\\u062A\",add_option:\"\\u0623\\u0636\\u0641 \\u062E\\u064A\\u0627\\u0631\\u0627\\u062A\",add_another_option:\"\\u0623\\u0636\\u0641 \\u062E\\u064A\\u0627\\u0631\\u064B\\u0627 \\u0622\\u062E\\u0631\",sort_in_alphabetical_order:\"\\u0641\\u0631\\u0632 \\u062D\\u0633\\u0628 \\u0627\\u0644\\u062A\\u0631\\u062A\\u064A\\u0628 \\u0627\\u0644\\u0623\\u0628\\u062C\\u062F\\u064A\",add_options_in_bulk:\"\\u0623\\u0636\\u0641 \\u0627\\u0644\\u062E\\u064A\\u0627\\u0631\\u0627\\u062A \\u0628\\u0634\\u0643\\u0644 \\u0645\\u062C\\u0645\\u0651\\u0639\",use_predefined_options:\"\\u0627\\u0633\\u062A\\u062E\\u062F\\u0645 \\u0627\\u0644\\u062E\\u064A\\u0627\\u0631\\u0627\\u062A \\u0627\\u0644\\u0645\\u062D\\u062F\\u062F\\u0629 \\u0645\\u0633\\u0628\\u0642\\u064B\\u0627\",select_custom_date:\"\\u062D\\u062F\\u062F \\u0627\\u0644\\u062A\\u0627\\u0631\\u064A\\u062E \\u0627\\u0644\\u0645\\u062E\\u0635\\u0635\",select_relative_date:\"\\u062D\\u062F\\u062F \\u0627\\u0644\\u062A\\u0627\\u0631\\u064A\\u062E \\u0627\\u0644\\u0646\\u0633\\u0628\\u064A\",ticked_by_default:\"\\u064A\\u062A\\u0645 \\u062A\\u062D\\u062F\\u064A\\u062F\\u0647 \\u0628\\u0634\\u0643\\u0644 \\u0627\\u0641\\u062A\\u0631\\u0627\\u0636\\u064A\",updated_message:\"\\u062A\\u0645 \\u062A\\u062D\\u062F\\u064A\\u062B \\u0627\\u0644\\u062D\\u0642\\u0644 \\u0627\\u0644\\u0645\\u062E\\u0635\\u0635 \\u0628\\u0646\\u062C\\u0627\\u062D\",added_message:\"\\u062A\\u0645\\u062A \\u0625\\u0636\\u0627\\u0641\\u0629 \\u0627\\u0644\\u062D\\u0642\\u0644 \\u0627\\u0644\\u0645\\u062E\\u0635\\u0635 \\u0628\\u0646\\u062C\\u0627\\u062D\",press_enter_to_add:\"Press enter to add new option\",model_in_use:\"Cannot update model for fields which are already in use.\",type_in_use:\"Cannot update type for fields which are already in use.\"},customization:{customization:\"\\u0627\\u0644\\u062A\\u062E\\u0635\\u064A\\u0635\",updated_message:\"\\u062A\\u0645 \\u062A\\u062D\\u062F\\u064A\\u062B \\u0645\\u0639\\u0644\\u0648\\u0645\\u0627\\u062A \\u0627\\u0644\\u0634\\u0631\\u0643\\u0629 \\u0628\\u0646\\u062C\\u0627\\u062D\",save:\"\\u062D\\u0641\\u0638\",insert_fields:\"Insert Fields\",learn_custom_format:\"Learn how to use custom format\",add_new_component:\"Add New Component\",component:\"Component\",Parameter:\"Parameter\",series:\"Series\",series_description:\"To set a static prefix/postfix like 'INV' across your company. It supports character length of up to 6 chars.\",series_param_label:\"Series Value\",delimiter:\"Delimiter\",delimiter_description:\"Single character for specifying the boundary between 2 separate components. By default its set to -\",delimiter_param_label:\"Delimiter Value\",date_format:\"Date Format\",date_format_description:\"A local date and time field which accepts a format parameter. The default format: 'Y' renders the current year.\",date_format_param_label:\"Format\",sequence:\"Sequence\",sequence_description:\"Consecutive sequence of numbers across your company. You can specify the length on the given parameter.\",sequence_param_label:\"Sequence Length\",customer_series:\"Customer Series\",customer_series_description:\"To set a different prefix/postfix for each customer.\",customer_sequence:\"Customer Sequence\",customer_sequence_description:\"Consecutive sequence of numbers for each of your customer.\",customer_sequence_param_label:\"Sequence Length\",random_sequence:\"Random Sequence\",random_sequence_description:\"Random alphanumeric string. You can specify the length on the given parameter.\",random_sequence_param_label:\"Sequence Length\",invoices:{title:\"\\u0627\\u0644\\u0641\\u0648\\u0627\\u062A\\u064A\\u0631\",invoice_number_format:\"Invoice Number Format\",invoice_number_format_description:\"Customize how your invoice number gets generated automatically when you create a new invoice.\",preview_invoice_number:\"Preview Invoice Number\",due_date:\"Due Date\",due_date_description:\"Specify how due date is automatically set when you create an invoice.\",due_date_days:\"Invoice Due after days\",set_due_date_automatically:\"Set Due Date Automatically\",set_due_date_automatically_description:\"Enable this if you wish to set due date automatically when you create a new invoice.\",default_formats:\"Default Formats\",default_formats_description:\"Below given formats are used to fill up the fields automatically on invoice creation.\",default_invoice_email_body:\"\\u0646\\u0635 \\u0627\\u0644\\u0641\\u0627\\u062A\\u0648\\u0631\\u0629 \\u0627\\u0644\\u0627\\u0641\\u062A\\u0631\\u0627\\u0636\\u064A \\u0644\\u0644\\u0628\\u0631\\u064A\\u062F \\u0627\\u0644\\u0625\\u0644\\u0643\\u062A\\u0631\\u0648\\u0646\\u064A\",company_address_format:\"\\u062A\\u0646\\u0633\\u064A\\u0642 \\u0639\\u0646\\u0648\\u0627\\u0646 \\u0627\\u0644\\u0634\\u0631\\u0643\\u0629\",shipping_address_format:\"\\u062A\\u0646\\u0633\\u064A\\u0642 \\u0639\\u0646\\u0648\\u0627\\u0646 \\u0627\\u0644\\u0634\\u062D\\u0646\",billing_address_format:\"\\u062A\\u0646\\u0633\\u064A\\u0642 \\u0639\\u0646\\u0648\\u0627\\u0646 \\u0627\\u0644\\u0641\\u0648\\u0627\\u062A\\u064A\\u0631\",invoice_email_attachment:\"\\u0625\\u0631\\u0633\\u0627\\u0644 \\u0627\\u0644\\u0641\\u0648\\u0627\\u062A\\u064A\\u0631 \\u0643\\u0645\\u0631\\u0641\\u0642\\u0627\\u062A\",invoice_email_attachment_setting_description:'\\u062A\\u0641\\u0639\\u064A\\u0644 \\u0647\\u0630\\u0627 \\u0625\\u0630\\u0627 \\u0643\\u0646\\u062A \\u062A\\u0631\\u063A\\u0628 \\u0641\\u064A \\u0625\\u0631\\u0633\\u0627\\u0644 \\u0627\\u0644\\u0641\\u0648\\u0627\\u062A\\u064A\\u0631 \\u0643\\u0645\\u0631\\u0641\\u0642 \\u0628\\u0631\\u064A\\u062F \\u0625\\u0644\\u0643\\u062A\\u0631\\u0648\\u0646\\u064A. \\u064A\\u0631\\u062C\\u0649 \\u0645\\u0644\\u0627\\u062D\\u0638\\u0629 \\u0623\\u0646 \\u0632\\u0631 \"\\u0639\\u0631\\u0636 \\u0627\\u0644\\u0641\\u0648\\u0627\\u062A\\u064A\\u0631\" \\u0641\\u064A \\u0631\\u0633\\u0627\\u0626\\u0644 \\u0627\\u0644\\u0628\\u0631\\u064A\\u062F \\u0627\\u0644\\u0625\\u0644\\u0643\\u062A\\u0631\\u0648\\u0646\\u064A \\u0644\\u0646 \\u064A\\u062A\\u0645 \\u0639\\u0631\\u0636\\u0647 \\u0628\\u0639\\u062F \\u0627\\u0644\\u0622\\u0646 \\u0639\\u0646\\u062F \\u0627\\u0644\\u062A\\u0641\\u0639\\u064A\\u0644.',invoice_settings_updated:\"Invoice Settings updated successfully\",retrospective_edits:\"Retrospective Edits\",allow:\"Allow\",disable_on_invoice_partial_paid:\"Disable after partial payment is recorded\",disable_on_invoice_paid:\"Disable after full payment is recorded\",disable_on_invoice_sent:\"Disable after invoice is sent\",retrospective_edits_description:\" Based on your country's laws or your preference, you can restrict users from editing finalised invoices.\"},estimates:{title:\"\\u0627\\u0644\\u062A\\u0642\\u062F\\u064A\\u0631\\u0627\\u062A\",estimate_number_format:\"Estimate Number Format\",estimate_number_format_description:\"Customize how your estimate number gets generated automatically when you create a new estimate.\",preview_estimate_number:\"Preview Estimate Number\",expiry_date:\"Expiry Date\",expiry_date_description:\"Specify how expiry date is automatically set when you create an estimate.\",expiry_date_days:\"Estimate Expires after days\",set_expiry_date_automatically:\"Set Expiry Date Automatically\",set_expiry_date_automatically_description:\"Enable this if you wish to set expiry date automatically when you create a new estimate.\",default_formats:\"Default Formats\",default_formats_description:\"Below given formats are used to fill up the fields automatically on estimate creation.\",default_estimate_email_body:\"\\u062A\\u0642\\u062F\\u064A\\u0631 \\u0646\\u0635 \\u0627\\u0644\\u0628\\u0631\\u064A\\u062F \\u0627\\u0644\\u0625\\u0644\\u0643\\u062A\\u0631\\u0648\\u0646\\u064A \\u0627\\u0644\\u0627\\u0641\\u062A\\u0631\\u0627\\u0636\\u064A\",company_address_format:\"\\u062A\\u0646\\u0633\\u064A\\u0642 \\u0639\\u0646\\u0648\\u0627\\u0646 \\u0627\\u0644\\u0634\\u0631\\u0643\\u0629\",shipping_address_format:\"\\u062A\\u0646\\u0633\\u064A\\u0642 \\u0639\\u0646\\u0648\\u0627\\u0646 \\u0627\\u0644\\u0634\\u062D\\u0646\",billing_address_format:\"\\u062A\\u0646\\u0633\\u064A\\u0642 \\u0639\\u0646\\u0648\\u0627\\u0646 \\u0627\\u0644\\u0641\\u0648\\u0627\\u062A\\u064A\\u0631\",estimate_email_attachment:\"\\u0625\\u0631\\u0633\\u0627\\u0644 \\u0627\\u0644\\u062A\\u0642\\u062F\\u064A\\u0631\\u0627\\u062A \\u0643\\u0645\\u0631\\u0641\\u0642\\u0627\\u062A\",estimate_email_attachment_setting_description:'\\u062A\\u0641\\u0639\\u064A\\u0644 \\u0647\\u0630\\u0627 \\u0625\\u0630\\u0627 \\u0643\\u0646\\u062A \\u062A\\u0631\\u063A\\u0628 \\u0641\\u064A \\u0625\\u0631\\u0633\\u0627\\u0644 \\u0627\\u0644\\u0641\\u0648\\u0627\\u062A\\u064A\\u0631 \\u0643\\u0645\\u0631\\u0641\\u0642 \\u0628\\u0631\\u064A\\u062F \\u0625\\u0644\\u0643\\u062A\\u0631\\u0648\\u0646\\u064A. \\u064A\\u0631\\u062C\\u0649 \\u0645\\u0644\\u0627\\u062D\\u0638\\u0629 \\u0623\\u0646 \\u0632\\u0631 \"\\u0639\\u0631\\u0636 \\u0627\\u0644\\u062A\\u0642\\u062F\\u064A\\u0631\\u0627\\u062A\" \\u0641\\u064A \\u0631\\u0633\\u0627\\u0626\\u0644 \\u0627\\u0644\\u0628\\u0631\\u064A\\u062F \\u0627\\u0644\\u0625\\u0644\\u0643\\u062A\\u0631\\u0648\\u0646\\u064A \\u0644\\u0646 \\u064A\\u062A\\u0645 \\u0639\\u0631\\u0636\\u0647 \\u0628\\u0639\\u062F \\u0627\\u0644\\u0622\\u0646 \\u0639\\u0646\\u062F \\u0627\\u0644\\u062A\\u0641\\u0639\\u064A\\u0644.',estimate_settings_updated:\"Estimate Settings updated successfully\",convert_estimate_options:\"Estimate Convert Action\",convert_estimate_description:\"Specify what happens to the estimate after it gets converted to an invoice.\",no_action:\"No action\",delete_estimate:\"Delete estimate\",mark_estimate_as_accepted:\"Mark estimate as accepted\"},payments:{title:\"\\u0627\\u0644\\u0645\\u062F\\u0641\\u0648\\u0639\\u0627\\u062A\",payment_number_format:\"Payment Number Format\",payment_number_format_description:\"Customize how your payment number gets generated automatically when you create a new payment.\",preview_payment_number:\"Preview Payment Number\",default_formats:\"Default Formats\",default_formats_description:\"Below given formats are used to fill up the fields automatically on payment creation.\",default_payment_email_body:\"\\u0646\\u0635 \\u0627\\u0644\\u0628\\u0631\\u064A\\u062F \\u0627\\u0644\\u0625\\u0644\\u0643\\u062A\\u0631\\u0648\\u0646\\u064A \\u0644\\u0644\\u062F\\u0641\\u0639 \\u0627\\u0644\\u0627\\u0641\\u062A\\u0631\\u0627\\u0636\\u064A\",company_address_format:\"\\u062A\\u0646\\u0633\\u064A\\u0642 \\u0639\\u0646\\u0648\\u0627\\u0646 \\u0627\\u0644\\u0634\\u0631\\u0643\\u0629\",from_customer_address_format:\"\\u0645\\u0646 \\u062A\\u0646\\u0633\\u064A\\u0642 \\u0639\\u0646\\u0648\\u0627\\u0646 \\u0627\\u0644\\u0639\\u0645\\u064A\\u0644\",payment_email_attachment:\"\\u0625\\u0631\\u0633\\u0627\\u0644 \\u0627\\u0644\\u0645\\u062F\\u0641\\u0648\\u0639\\u0627\\u062A \\u0643\\u0645\\u0631\\u0641\\u0642\\u0627\\u062A\",payment_email_attachment_setting_description:'\\u062A\\u0641\\u0639\\u064A\\u0644 \\u0647\\u0630\\u0627 \\u0625\\u0630\\u0627 \\u0643\\u0646\\u062A \\u062A\\u0631\\u063A\\u0628 \\u0641\\u064A \\u0625\\u0631\\u0633\\u0627\\u0644 \\u0627\\u0644\\u0641\\u0648\\u0627\\u062A\\u064A\\u0631 \\u0643\\u0645\\u0631\\u0641\\u0642 \\u0628\\u0631\\u064A\\u062F \\u0625\\u0644\\u0643\\u062A\\u0631\\u0648\\u0646\\u064A. \\u064A\\u0631\\u062C\\u0649 \\u0645\\u0644\\u0627\\u062D\\u0638\\u0629 \\u0623\\u0646 \\u0632\\u0631 \"\\u0639\\u0631\\u0636 \\u0627\\u0644\\u0645\\u062F\\u0641\\u0648\\u0639\\u0627\\u062A\" \\u0641\\u064A \\u0631\\u0633\\u0627\\u0626\\u0644 \\u0627\\u0644\\u0628\\u0631\\u064A\\u062F \\u0627\\u0644\\u0625\\u0644\\u0643\\u062A\\u0631\\u0648\\u0646\\u064A \\u0644\\u0646 \\u064A\\u062A\\u0645 \\u0639\\u0631\\u0636\\u0647 \\u0628\\u0639\\u062F \\u0627\\u0644\\u0622\\u0646 \\u0639\\u0646\\u062F \\u0627\\u0644\\u062A\\u0641\\u0639\\u064A\\u0644.',payment_settings_updated:\"Payment Settings updated successfully\"},items:{title:\"\\u0627\\u0644\\u0639\\u0646\\u0627\\u0635\\u0631\",units:\"\\u0627\\u0644\\u0648\\u062D\\u062F\\u0627\\u062A\",add_item_unit:\"\\u0625\\u0636\\u0627\\u0641\\u0629 \\u0648\\u062D\\u062F\\u0629 \\u0639\\u0646\\u0635\\u0631\",edit_item_unit:\"\\u062A\\u062D\\u0631\\u064A\\u0631 \\u0648\\u062D\\u062F\\u0629 \\u0627\\u0644\\u0639\\u0646\\u0627\\u0635\\u0631\",unit_name:\"\\u0625\\u0633\\u0645 \\u0627\\u0644\\u0648\\u062D\\u062F\\u0629\",item_unit_added:\"\\u062A\\u0645\\u062A \\u0625\\u0636\\u0627\\u0641\\u0629 \\u0648\\u062D\\u062F\\u0629 \\u0627\\u0644\\u0639\\u0646\\u0635\\u0631\",item_unit_updated:\"\\u062A\\u0645 \\u062A\\u062D\\u062F\\u064A\\u062B \\u0648\\u062D\\u062F\\u0629 \\u0627\\u0644\\u0639\\u0646\\u0635\\u0631\",item_unit_confirm_delete:\"\\u0644\\u0646 \\u062A\\u062A\\u0645\\u0643\\u0646 \\u0645\\u0646 \\u0627\\u0633\\u062A\\u0631\\u062F\\u0627\\u062F \\u0648\\u062D\\u062F\\u0629 \\u0627\\u0644\\u0639\\u0646\\u0635\\u0631 \\u0647\\u0630\\u0647\",already_in_use:\"\\u0648\\u062D\\u062F\\u0629 \\u0627\\u0644\\u0639\\u0646\\u0635\\u0631 \\u0642\\u064A\\u062F \\u0627\\u0644\\u0627\\u0633\\u062A\\u062E\\u062F\\u0627\\u0645 \\u0628\\u0627\\u0644\\u0641\\u0639\\u0644\",deleted_message:\"\\u062A\\u0645 \\u062D\\u0630\\u0641 \\u0648\\u062D\\u062F\\u0629 \\u0627\\u0644\\u0639\\u0646\\u0635\\u0631 \\u0628\\u0646\\u062C\\u0627\\u062D\"},notes:{title:\"\\u0645\\u0644\\u0627\\u062D\\u0638\\u0627\\u062A\",description:\"\\u062A\\u0648\\u0641\\u064A\\u0631 \\u0627\\u0644\\u0648\\u0642\\u062A \\u0639\\u0646 \\u0637\\u0631\\u064A\\u0642 \\u0625\\u0646\\u0634\\u0627\\u0621 \\u0627\\u0644\\u0645\\u0644\\u0627\\u062D\\u0638\\u0627\\u062A \\u0648\\u0625\\u0639\\u0627\\u062F\\u0629 \\u0627\\u0633\\u062A\\u062E\\u062F\\u0627\\u0645\\u0647\\u0627 \\u0639\\u0644\\u0649 \\u0627\\u0644\\u0641\\u0648\\u0627\\u062A\\u064A\\u0631 \\u0648\\u0627\\u0644\\u062A\\u0642\\u062F\\u064A\\u0631\\u0627\\u062A \\u0648\\u0627\\u0644\\u0645\\u062F\\u0641\\u0648\\u0639\\u0627\\u062A.\",notes:\"\\u0645\\u0644\\u0627\\u062D\\u0638\\u0627\\u062A\",type:\"\\u0646\\u0648\\u0639\",add_note:\"\\u0627\\u0636\\u0641 \\u0645\\u0644\\u0627\\u062D\\u0638\\u0629\",add_new_note:\"\\u0623\\u0636\\u0641 \\u0645\\u0644\\u0627\\u062D\\u0638\\u0629 \\u062C\\u062F\\u064A\\u062F\\u0629\",name:\"\\u0627\\u0633\\u0645\",edit_note:\"\\u062A\\u062D\\u0631\\u064A\\u0631 \\u0645\\u0630\\u0643\\u0631\\u0629\",note_added:\"\\u062A\\u0645\\u062A \\u0625\\u0636\\u0627\\u0641\\u0629 \\u0627\\u0644\\u0645\\u0644\\u0627\\u062D\\u0638\\u0629\",note_updated:\"\\u062A\\u0645 \\u062A\\u062D\\u062F\\u064A\\u062B \\u0627\\u0644\\u0645\\u0644\\u0627\\u062D\\u0638\\u0629\",note_confirm_delete:\"\\u0644\\u0646 \\u062A\\u062A\\u0645\\u0643\\u0646 \\u0645\\u0646 \\u0627\\u0633\\u062A\\u0639\\u0627\\u062F\\u0629 \\u0647\\u0630\\u0647 \\u0627\\u0644\\u0645\\u0644\\u0627\\u062D\\u0638\\u0629\",already_in_use:\"\\u0627\\u0644\\u0645\\u0644\\u0627\\u062D\\u0638\\u0629 \\u0642\\u064A\\u062F \\u0627\\u0644\\u0627\\u0633\\u062A\\u062E\\u062F\\u0627\\u0645 \\u0628\\u0627\\u0644\\u0641\\u0639\\u0644\",deleted_message:\"\\u062A\\u0645 \\u062D\\u0630\\u0641 \\u0627\\u0644\\u0645\\u0644\\u0627\\u062D\\u0638\\u0629 \\u0628\\u0646\\u062C\\u0627\\u062D\"}},account_settings:{profile_picture:\"\\u0635\\u0648\\u0631\\u0629 \\u0627\\u0644\\u0645\\u0644\\u0641 \\u0627\\u0644\\u0634\\u062E\\u0635\\u064A\",name:\"\\u0627\\u0644\\u0627\\u0633\\u0645\",email:\"\\u0627\\u0644\\u0628\\u0631\\u064A\\u062F \\u0627\\u0644\\u0625\\u0644\\u0643\\u062A\\u0631\\u0648\\u0646\\u064A\",password:\"\\u0643\\u0644\\u0645\\u0629 \\u0627\\u0644\\u0645\\u0631\\u0648\\u0631\",confirm_password:\"\\u0623\\u0639\\u062F \\u0643\\u062A\\u0627\\u0628\\u0629 \\u0643\\u0644\\u0645\\u0629 \\u0627\\u0644\\u0645\\u0631\\u0648\\u0631\",account_settings:\"\\u0625\\u0639\\u062F\\u0627\\u062F\\u0627\\u062A \\u0627\\u0644\\u062C\\u0633\\u0627\\u0628\",save:\"\\u062D\\u0641\\u0638\",section_description:\"\\u064A\\u0645\\u0643\\u0646\\u0643 \\u062A\\u062D\\u062F\\u064A\\u062B \\u0627\\u0633\\u0645\\u0643 \\u0648\\u0627\\u0644\\u0628\\u0631\\u064A\\u062F \\u0627\\u0644\\u0625\\u0644\\u0643\\u062A\\u0631\\u0648\\u0646\\u064A \\u0648\\u0643\\u0644\\u0645\\u0629 \\u0627\\u0644\\u0645\\u0631\\u0648\\u0631 \\u0628\\u0627\\u0633\\u062A\\u062E\\u062F\\u0627\\u0645 \\u0627\\u0644\\u0646\\u0645\\u0648\\u0630\\u062C \\u0623\\u062F\\u0646\\u0627\\u0647.\",updated_message:\"\\u062A\\u0645 \\u062A\\u062D\\u062F\\u064A\\u062B \\u0625\\u0639\\u062F\\u0627\\u062F\\u0627\\u062A \\u0627\\u0644\\u062D\\u0633\\u0627\\u0628 \\u0628\\u0646\\u062C\\u0627\\u062D\"},user_profile:{name:\"\\u0627\\u0644\\u0627\\u0633\\u0645\",email:\"\\u0627\\u0644\\u0628\\u0631\\u064A\\u062F \\u0627\\u0644\\u0625\\u0644\\u0643\\u062A\\u0631\\u0648\\u0646\\u064A\",password:\"\\u0643\\u0644\\u0645\\u0629 \\u0627\\u0644\\u0645\\u0631\\u0648\\u0631\",confirm_password:\"\\u0623\\u0639\\u062F \\u0643\\u062A\\u0627\\u0628\\u0629 \\u0643\\u0644\\u0645\\u0629 \\u0627\\u0644\\u0645\\u0631\\u0648\\u0631\"},notification:{title:\"\\u0627\\u0644\\u0625\\u0634\\u0639\\u0627\\u0631\\u0627\\u062A\",email:\"\\u0625\\u0631\\u0633\\u0627\\u0644 \\u0627\\u0644\\u0625\\u0634\\u0639\\u0627\\u0631\\u0627\\u062A \\u0625\\u0644\\u0649\",description:\"\\u0645\\u0627 \\u0647\\u064A \\u0625\\u0634\\u0639\\u0627\\u0631\\u0627\\u062A \\u0627\\u0644\\u0628\\u0631\\u064A\\u062F \\u0627\\u0644\\u0625\\u0644\\u0643\\u062A\\u0631\\u0648\\u0646\\u064A \\u0627\\u0644\\u062A\\u064A \\u062A\\u0631\\u063A\\u0628 \\u0641\\u064A \\u062A\\u0644\\u0642\\u064A\\u0647\\u0627 \\u0639\\u0646\\u062F\\u0645\\u0627 \\u064A\\u062A\\u063A\\u064A\\u0631 \\u0634\\u064A\\u0621 \\u0645\\u0627\\u061F\",invoice_viewed:\"\\u062A\\u0645 \\u0639\\u0631\\u0636 \\u0627\\u0644\\u0641\\u0627\\u062A\\u0648\\u0631\\u0629\",invoice_viewed_desc:\"\\u0639\\u0646\\u062F\\u0645\\u0627 \\u064A\\u0633\\u062A\\u0639\\u0631\\u0636 \\u0639\\u0645\\u064A\\u0644\\u0643 \\u0627\\u0644\\u0641\\u0627\\u062A\\u0648\\u0631\\u0629 \\u0627\\u0644\\u0645\\u0631\\u0633\\u0644\\u0629 \\u0639\\u0628\\u0631 \\u0627\\u0644\\u0634\\u0627\\u0634\\u0629 \\u0627\\u0644\\u0631\\u0626\\u064A\\u0633\\u064A\\u0629.\",estimate_viewed:\"\\u062A\\u0645 \\u0639\\u0631\\u0636 \\u0627\\u0644\\u062A\\u0642\\u062F\\u064A\\u0631\",estimate_viewed_desc:\"\\u0639\\u0646\\u062F\\u0645\\u0627 \\u064A\\u0633\\u062A\\u0639\\u0631\\u0636 \\u0639\\u0645\\u064A\\u0644\\u0643 \\u0627\\u0644\\u062A\\u0642\\u062F\\u064A\\u0631 \\u0627\\u0644\\u0645\\u0631\\u0633\\u0644\\u0629 \\u0639\\u0628\\u0631 \\u0627\\u0644\\u0634\\u0627\\u0634\\u0629 \\u0627\\u0644\\u0631\\u0626\\u064A\\u0633\\u064A\\u0629.\",save:\"\\u062D\\u0641\\u0638\",email_save_message:\"\\u062A\\u0645 \\u062D\\u0641\\u0638 \\u0627\\u0644\\u0628\\u0631\\u064A\\u062F \\u0627\\u0644\\u0625\\u0644\\u0643\\u062A\\u0631\\u0648\\u0646\\u064A \\u0628\\u0646\\u062C\\u0627\\u062D\",please_enter_email:\"\\u0641\\u0636\\u0644\\u0627\\u064B \\u0623\\u062F\\u062E\\u0644 \\u0627\\u0644\\u0628\\u0631\\u064A\\u062F \\u0627\\u0644\\u0625\\u0644\\u0643\\u062A\\u0631\\u0648\\u0646\\u064A\"},roles:{title:\"Roles\",description:\"Manage the roles & permissions of this company\",save:\"Save\",add_new_role:\"Add New Role\",role_name:\"Role Name\",added_on:\"Added on\",add_role:\"Add Role\",edit_role:\"Edit Role\",name:\"Name\",permission:\"Permission | Permissions\",select_all:\"Select All\",none:\"None\",confirm_delete:\"You will not be able to recover this Role\",created_message:\"Role created successfully\",updated_message:\"Role updated successfully\",deleted_message:\"Role deleted successfully\",already_in_use:\"Role is already in use\"},exchange_rate:{exchange_rate:\"Exchange Rate\",title:\"Fix Currency Exchange issues\",description:\"Please enter exchange rate of all the currencies mentioned below to help Crater properly calculate the amounts in {currency}.\",drivers:\"Drivers\",new_driver:\"Add New Provider\",edit_driver:\"Edit Provider\",select_driver:\"Select Driver\",update:\"select exchange rate \",providers_description:\"Configure your exchange rate providers here to automatically fetch the latest exchange rate on transactions.\",key:\"API Key\",name:\"Name\",driver:\"Driver\",is_default:\"IS DEFAULT\",currency:\"Currencies\",exchange_rate_confirm_delete:\"You will not be able to recover this driver\",created_message:\"Provider Created successfully\",updated_message:\"Provider Updated Successfully\",deleted_message:\"Provider Deleted Successfully\",error:\" You cannot Delete Active Driver\",default_currency_error:\"This currency is already used in one of the Active Provider\",exchange_help_text:\"Enter exchange rate to convert from {currency} to {baseCurrency}\",currency_freak:\"Currency Freak\",currency_layer:\"Currency Layer\",open_exchange_rate:\"Open Exchange Rate\",currency_converter:\"Currency Converter\",server:\"Server\",url:\"URL\",active:\"Active\",currency_help_text:\"This provider will only be used on above selected currencies\",currency_in_used:\"The following currencies are already active on another provider. Please remove these currencies from selection to activate this provider again.\"},tax_types:{title:\"\\u0623\\u0646\\u0648\\u0627\\u0639 \\u0627\\u0644\\u0636\\u0631\\u0627\\u0626\\u0628\",add_tax:\"\\u0623\\u0636\\u0641 \\u0636\\u0631\\u064A\\u0628\\u0629\",edit_tax:\"\\u062A\\u062D\\u0631\\u064A\\u0631 \\u0627\\u0644\\u0636\\u0631\\u064A\\u0628\\u0629\",description:\"\\u064A\\u0645\\u0643\\u0646\\u0643 \\u0625\\u0636\\u0627\\u0641\\u0629 \\u0623\\u0648 \\u0625\\u0632\\u0627\\u0644\\u0629 \\u0627\\u0644\\u0636\\u0631\\u0627\\u0626\\u0628 \\u0643\\u0645\\u0627 \\u064A\\u062D\\u0644\\u0648 \\u0644\\u0643. \\u0627\\u0644\\u0646\\u0638\\u0627\\u0645 \\u064A\\u062F\\u0639\\u0645 \\u0627\\u0644\\u0636\\u0631\\u0627\\u0626\\u0628 \\u0639\\u0644\\u0649 \\u0627\\u0644\\u0639\\u0646\\u0627\\u0635\\u0631 \\u0627\\u0644\\u0641\\u0631\\u062F\\u064A\\u0629 \\u0648\\u0643\\u0630\\u0644\\u0643 \\u0639\\u0644\\u0649 \\u0627\\u0644\\u0641\\u0627\\u062A\\u0648\\u0631\\u0629.\",add_new_tax:\"\\u0625\\u0636\\u0627\\u0641\\u0629 \\u0636\\u0631\\u064A\\u0628\\u0629 \\u062C\\u062F\\u064A\\u062F\\u0629\",tax_settings:\"\\u0625\\u0639\\u062F\\u0627\\u062F\\u0627\\u062A \\u0627\\u0644\\u0636\\u0631\\u064A\\u0628\\u0629\",tax_per_item:\"\\u0636\\u0631\\u064A\\u0628\\u0629 \\u0639\\u0644\\u0649 \\u0627\\u0644\\u0635\\u0646\\u0641\",tax_name:\"\\u0627\\u0633\\u0645 \\u0627\\u0644\\u0636\\u0631\\u064A\\u0628\\u0629\",compound_tax:\"\\u0636\\u0631\\u064A\\u0628\\u0629 \\u0645\\u062C\\u0645\\u0639\\u0629\",percent:\"\\u0646\\u0633\\u0628\\u0629 \\u0645\\u0624\\u0648\\u064A\\u0629\",action:\"\\u0625\\u062C\\u0631\\u0627\\u0621\",tax_setting_description:\"\\u0642\\u0645 \\u0628\\u062A\\u0645\\u0643\\u064A\\u0646 \\u0647\\u0630\\u0627 \\u0625\\u0630\\u0627 \\u0643\\u0646\\u062A \\u062A\\u0631\\u064A\\u062F \\u0625\\u0636\\u0627\\u0641\\u0629 \\u0636\\u0631\\u0627\\u0626\\u0628 \\u0644\\u0639\\u0646\\u0627\\u0635\\u0631 \\u0627\\u0644\\u0641\\u0627\\u062A\\u0648\\u0631\\u0629 \\u0627\\u0644\\u0641\\u0631\\u062F\\u064A\\u0629. \\u0628\\u0634\\u0643\\u0644 \\u0627\\u0641\\u062A\\u0631\\u0627\\u0636\\u064A \\u060C \\u062A\\u0636\\u0627\\u0641 \\u0627\\u0644\\u0636\\u0631\\u0627\\u0626\\u0628 \\u0645\\u0628\\u0627\\u0634\\u0631\\u0629 \\u0625\\u0644\\u0649 \\u0627\\u0644\\u0641\\u0627\\u062A\\u0648\\u0631\\u0629.\",created_message:\"\\u062A\\u0645 \\u0625\\u0646\\u0634\\u0627\\u0621 \\u0646\\u0648\\u0639 \\u0627\\u0644\\u0636\\u0631\\u064A\\u0628\\u0629 \\u0628\\u0646\\u062C\\u0627\\u062D\",updated_message:\"\\u062A\\u0645 \\u062A\\u062D\\u062F\\u064A\\u062B \\u0646\\u0648\\u0639 \\u0627\\u0644\\u0636\\u0631\\u064A\\u0628\\u0629 \\u0628\\u0646\\u062C\\u0627\\u062D\",deleted_message:\"\\u062A\\u0645 \\u062D\\u0630\\u0641 \\u0646\\u0648\\u0639 \\u0627\\u0644\\u0636\\u0631\\u064A\\u0628\\u0629 \\u0628\\u0646\\u062C\\u0627\\u062D\",confirm_delete:\"\\u0644\\u0646 \\u062A\\u062A\\u0645\\u0643\\u0646 \\u0645\\u0646 \\u0627\\u0633\\u062A\\u0631\\u062C\\u0627\\u0639 \\u0646\\u0648\\u0639 \\u0627\\u0644\\u0636\\u0631\\u064A\\u0629 \\u0647\\u0630\\u0627\",already_in_use:\"\\u0636\\u0631\\u064A\\u0628\\u0629 \\u0642\\u064A\\u062F \\u0627\\u0644\\u0627\\u0633\\u062A\\u062E\\u062F\\u0627\\u0645\"},payment_modes:{title:\"Payment Modes\",description:\"Modes of transaction for payments\",add_payment_mode:\"Add Payment Mode\",edit_payment_mode:\"Edit Payment Mode\",mode_name:\"Mode Name\",payment_mode_added:\"Payment Mode Added\",payment_mode_updated:\"Payment Mode Updated\",payment_mode_confirm_delete:\"You will not be able to recover this Payment Mode\",payments_attached:\"This payment method is already attached to payments. Please delete the attached payments to proceed with deletion.\",expenses_attached:\"This payment method is already attached to expenses. Please delete the attached expenses to proceed with deletion.\",deleted_message:\"Payment Mode deleted successfully\"},expense_category:{title:\"\\u0641\\u0626\\u0627\\u062A \\u0627\\u0644\\u0646\\u0641\\u0642\\u0627\\u062A\",action:\"\\u0625\\u062C\\u0631\\u0627\\u0621\",description:\"\\u0627\\u0644\\u0641\\u0626\\u0627\\u062A \\u0645\\u0637\\u0644\\u0648\\u0628\\u0629 \\u0644\\u0625\\u0636\\u0627\\u0641\\u0629 \\u0625\\u062F\\u062E\\u0627\\u0644\\u0627\\u062A \\u0627\\u0644\\u0646\\u0641\\u0642\\u0627\\u062A. \\u064A\\u0645\\u0643\\u0646\\u0643 \\u0625\\u0636\\u0627\\u0641\\u0629 \\u0623\\u0648 \\u0625\\u0632\\u0627\\u0644\\u0629 \\u0647\\u0630\\u0647 \\u0627\\u0644\\u0641\\u0626\\u0627\\u062A \\u0648\\u0641\\u0642\\u064B\\u0627 \\u0644\\u062A\\u0641\\u0636\\u064A\\u0644\\u0627\\u062A\\u0643.\",add_new_category:\"\\u0625\\u0636\\u0627\\u0641\\u0629 \\u0641\\u0626\\u0629 \\u062C\\u062F\\u064A\\u062F\\u0629\",add_category:\"\\u0625\\u0636\\u0627\\u0641\\u0629 \\u0641\\u0626\\u0629\",edit_category:\"\\u062A\\u062D\\u0631\\u064A\\u0631 \\u0627\\u0644\\u0641\\u0626\\u0629\",category_name:\"\\u0627\\u0633\\u0645 \\u0627\\u0644\\u0641\\u0626\\u0629\",category_description:\"\\u0627\\u0644\\u0648\\u0635\\u0641\",created_message:\"\\u062A\\u0645 \\u0625\\u0646\\u0634\\u0627\\u0621 \\u0646\\u0648\\u0639 \\u0627\\u0644\\u0646\\u0641\\u0642\\u0627\\u062A \\u0628\\u0646\\u062C\\u0627\\u062D\",deleted_message:\"\\u062A\\u0645 \\u062D\\u0630\\u0641 \\u0646\\u0648\\u0639 \\u0627\\u0644\\u0646\\u0641\\u0642\\u0627\\u062A \\u0628\\u0646\\u062C\\u0627\\u062D\",updated_message:\"\\u062A\\u0645 \\u062A\\u062D\\u062F\\u064A\\u062B \\u0646\\u0648\\u0639 \\u0627\\u0644\\u0646\\u0641\\u0642\\u0627\\u062A \\u0628\\u0646\\u062C\\u0627\\u062D\",confirm_delete:\"\\u0644\\u0646 \\u062A\\u062A\\u0645\\u0643\\u0646 \\u0645\\u0646 \\u0627\\u0633\\u062A\\u0631\\u062C\\u0627\\u0639 \\u0646\\u0648\\u0639 \\u0627\\u0644\\u0646\\u0641\\u0642\\u0627\\u062A \\u0647\\u0630\\u0627\",already_in_use:\"\\u0646\\u0648\\u0639 \\u0642\\u064A\\u062F \\u0627\\u0644\\u0627\\u0633\\u062A\\u062E\\u062F\\u0627\\u0645\"},preferences:{currency:\"\\u0627\\u0644\\u0639\\u0645\\u0644\\u0629\",default_language:\"\\u0627\\u0644\\u0644\\u063A\\u0629 \\u0627\\u0644\\u0627\\u0641\\u062A\\u0631\\u0627\\u0636\\u064A\\u0629\",time_zone:\"\\u0627\\u0644\\u0645\\u0646\\u0637\\u0629 \\u0627\\u0644\\u0632\\u0645\\u0646\\u064A\\u0629\",fiscal_year:\"\\u0627\\u0644\\u0633\\u0646\\u0629 \\u0627\\u0644\\u0645\\u0627\\u0644\\u064A\\u0629\",date_format:\"\\u0635\\u064A\\u063A\\u0629 \\u0627\\u0644\\u062A\\u0627\\u0631\\u064A\\u062E\",discount_setting:\"\\u0625\\u0639\\u062F\\u0627\\u062F\\u0627\\u062A \\u0627\\u0644\\u062E\\u0635\\u0645\",discount_per_item:\"\\u062E\\u0635\\u0645 \\u0639\\u0644\\u0649 \\u0627\\u0644\\u0635\\u0646\\u0641 \",discount_setting_description:\"\\u0642\\u0645 \\u0628\\u062A\\u0645\\u0643\\u064A\\u0646 \\u0647\\u0630\\u0627 \\u0625\\u0630\\u0627 \\u0643\\u0646\\u062A \\u062A\\u0631\\u064A\\u062F \\u0625\\u0636\\u0627\\u0641\\u0629 \\u062E\\u0635\\u0645 \\u0625\\u0644\\u0649 \\u0639\\u0646\\u0627\\u0635\\u0631 \\u0627\\u0644\\u0641\\u0627\\u062A\\u0648\\u0631\\u0629 \\u0627\\u0644\\u0641\\u0631\\u062F\\u064A\\u0629. \\u0628\\u0634\\u0643\\u0644 \\u0627\\u0641\\u062A\\u0631\\u0627\\u0636\\u064A \\u060C \\u064A\\u062A\\u0645 \\u0625\\u0636\\u0627\\u0641\\u0629 \\u0627\\u0644\\u062E\\u0635\\u0645 \\u0645\\u0628\\u0627\\u0634\\u0631\\u0629 \\u0625\\u0644\\u0649 \\u0627\\u0644\\u0641\\u0627\\u062A\\u0648\\u0631\\u0629.\",expire_public_links:\"Automatically Expire Public Links\",expire_setting_description:\"Specify whether you would like to expire all the links sent by application to view invoices, estimates & payments, etc after a specified duration.\",save:\"\\u062D\\u0641\\u0638\",preference:\"\\u062A\\u0641\\u0636\\u064A\\u0644 | \\u062A\\u0641\\u0636\\u064A\\u0644\\u0627\\u062A\",general_settings:\"\\u0627\\u0644\\u062A\\u0641\\u0636\\u064A\\u0644\\u0627\\u062A \\u0627\\u0644\\u0627\\u0641\\u062A\\u0631\\u0627\\u0636\\u064A\\u0629 \\u0644\\u0644\\u0646\\u0638\\u0627\\u0645.\",updated_message:\"\\u062A\\u0645 \\u062A\\u062D\\u062F\\u064A\\u062B \\u0627\\u0644\\u062A\\u0641\\u0636\\u064A\\u0644\\u0627\\u062A \\u0628\\u0646\\u062C\\u0627\\u062D\",select_language:\"\\u0627\\u062E\\u062A\\u0631 \\u0627\\u0644\\u0644\\u063A\\u0629\",select_time_zone:\"\\u0627\\u062E\\u062A\\u0631 \\u0627\\u0644\\u0645\\u0646\\u0637\\u0629 \\u0627\\u0644\\u0632\\u0645\\u0646\\u064A\\u0629\",select_date_format:\"\\u0627\\u062E\\u062A\\u0631 \\u0635\\u064A\\u063A\\u0629 \\u0627\\u0644\\u062A\\u0627\\u0631\\u064A\\u062E\",select_financial_year:\"\\u0627\\u062E\\u062A\\u0631 \\u0627\\u0644\\u0633\\u0646\\u0629 \\u0627\\u0644\\u0645\\u0627\\u0644\\u064A\\u0629\",recurring_invoice_status:\"Recurring Invoice Status\",create_status:\"Create Status\",active:\"Active\",on_hold:\"On Hold\",update_status:\"Update Status\",completed:\"Completed\",company_currency_unchangeable:\"Company currency cannot be changed\"},update_app:{title:\"\\u062A\\u062D\\u062F\\u064A\\u062B \\u0627\\u0644\\u0646\\u0638\\u0627\\u0645\",description:\"\\u064A\\u0645\\u0643\\u0646\\u0643 \\u062A\\u062D\\u062F\\u064A\\u062B \\u0627\\u0644\\u0646\\u0638\\u0627\\u0645 \\u0628\\u0633\\u0647\\u0648\\u0644\\u0629 \\u0639\\u0646 \\u0637\\u0631\\u064A\\u0642 \\u0627\\u0644\\u0628\\u062D\\u062B \\u0639\\u0646 \\u062A\\u062D\\u062F\\u064A\\u062B \\u062C\\u062F\\u064A\\u062F \\u0628\\u0627\\u0644\\u0646\\u0642\\u0631 \\u0641\\u0648\\u0642 \\u0627\\u0644\\u0632\\u0631 \\u0623\\u062F\\u0646\\u0627\\u0647\",check_update:\"\\u062A\\u062D\\u0642\\u0642 \\u0645\\u0646 \\u0627\\u0644\\u062A\\u062D\\u062F\\u064A\\u062B\\u0627\\u062A\",avail_update:\"\\u062A\\u062D\\u062F\\u064A\\u062B \\u062C\\u062F\\u064A\\u062F \\u0645\\u062A\\u0648\\u0641\\u0631\",next_version:\"\\u0627\\u0644\\u0646\\u0633\\u062E\\u0629 \\u0627\\u0644\\u062C\\u062F\\u064A\\u062F\\u0629\",requirements:\"\\u0627\\u0644\\u0645\\u062A\\u0637\\u0644\\u0628\\u0627\\u062A\",update:\"\\u062D\\u062F\\u062B \\u0627\\u0644\\u0622\\u0646\",update_progress:\"\\u0642\\u064A\\u062F \\u0627\\u0644\\u062A\\u062D\\u062F\\u064A\\u062B...\",progress_text:\"\\u0633\\u0648\\u0641 \\u064A\\u0633\\u062A\\u063A\\u0631\\u0642 \\u0627\\u0644\\u062A\\u062D\\u062F\\u064A\\u062B \\u0628\\u0636\\u0639 \\u062F\\u0642\\u0627\\u0626\\u0642. \\u064A\\u0631\\u062C\\u0649 \\u0639\\u062F\\u0645 \\u062A\\u062D\\u062F\\u064A\\u062B \\u0627\\u0644\\u0634\\u0627\\u0634\\u0629 \\u0623\\u0648 \\u0625\\u063A\\u0644\\u0627\\u0642 \\u0627\\u0644\\u0646\\u0627\\u0641\\u0630\\u0629 \\u0642\\u0628\\u0644 \\u0627\\u0646\\u062A\\u0647\\u0627\\u0621 \\u0627\\u0644\\u062A\\u062D\\u062F\\u064A\\u062B\",update_success:\"\\u062A\\u0645 \\u062A\\u062D\\u062F\\u064A\\u062B \\u0627\\u0644\\u0646\\u0638\\u0627\\u0645! \\u064A\\u0631\\u062C\\u0649 \\u0627\\u0644\\u0627\\u0646\\u062A\\u0638\\u0627\\u0631 \\u062D\\u062A\\u0649 \\u064A\\u062A\\u0645 \\u0625\\u0639\\u0627\\u062F\\u0629 \\u062A\\u062D\\u0645\\u064A\\u0644 \\u0646\\u0627\\u0641\\u0630\\u0629 \\u0627\\u0644\\u0645\\u062A\\u0635\\u0641\\u062D \\u062A\\u0644\\u0642\\u0627\\u0626\\u064A\\u064B\\u0627.\",latest_message:\"\\u0644\\u0627 \\u064A\\u0648\\u062C\\u062F \\u062A\\u062D\\u062F\\u064A\\u062B\\u0627\\u062A \\u0645\\u062A\\u0648\\u0641\\u0631\\u0629! \\u0644\\u062F\\u064A\\u0643 \\u062D\\u0627\\u0644\\u064A\\u0627\\u064B \\u0623\\u062D\\u062F\\u062B \\u0646\\u0633\\u062E\\u0629.\",current_version:\"\\u0627\\u0644\\u0646\\u0633\\u062E\\u0629 \\u0627\\u0644\\u062D\\u0627\\u0644\\u064A\\u0629\",download_zip_file:\"\\u062A\\u0646\\u0632\\u064A\\u0644 \\u0645\\u0644\\u0641 ZIP\",unzipping_package:\"\\u062D\\u0632\\u0645\\u0629 \\u0641\\u0643 \\u0627\\u0644\\u0636\\u063A\\u0637\",copying_files:\"\\u0646\\u0633\\u062E \\u0627\\u0644\\u0645\\u0644\\u0641\\u0627\\u062A\",deleting_files:\"\\u062D\\u0630\\u0641 \\u0627\\u0644\\u0645\\u0644\\u0641\\u0627\\u062A \\u0627\\u0644\\u063A\\u064A\\u0631 \\u0645\\u0633\\u062A\\u062E\\u062F\\u0645\\u0629\",running_migrations:\"\\u0625\\u062F\\u0627\\u0631\\u0629 \\u0639\\u0645\\u0644\\u064A\\u0627\\u062A \\u0627\\u0644\\u062A\\u0631\\u062D\\u064A\\u0644\",finishing_update:\"\\u062A\\u062D\\u062F\\u064A\\u062B \\u0627\\u0644\\u062A\\u0634\\u0637\\u064A\\u0628\",update_failed:\"\\u0641\\u0634\\u0644 \\u0627\\u0644\\u062A\\u062D\\u062F\\u064A\\u062B\",update_failed_text:\"\\u0622\\u0633\\u0641! \\u0641\\u0634\\u0644 \\u0627\\u0644\\u062A\\u062D\\u062F\\u064A\\u062B \\u0627\\u0644\\u062E\\u0627\\u0635 \\u0628\\u0643 \\u0641\\u064A: {step} \\u062E\\u0637\\u0648\\u0629\",update_warning:\"All of the application files and default template files will be overwritten when you update the application using this utility. Please take a backup of your templates & database before updating.\"},backup:{title:\"\\u0627\\u0644\\u0646\\u0633\\u062E \\u0627\\u0644\\u0627\\u062D\\u062A\\u064A\\u0627\\u0637\\u064A | \\u0627\\u0644\\u0646\\u0633\\u062E \\u0627\\u0644\\u0627\\u062D\\u062A\\u064A\\u0627\\u0637\\u064A\\u0629\",description:\"\\u0627\\u0644\\u0646\\u0633\\u062E\\u0629 \\u0627\\u0644\\u0627\\u062D\\u062A\\u064A\\u0627\\u0637\\u064A\\u0629 \\u0647\\u064A \\u0645\\u0644\\u0641 \\u0645\\u0636\\u063A\\u0648\\u0637 \\u064A\\u062D\\u062A\\u0648\\u064A \\u0639\\u0644\\u0649 \\u062C\\u0645\\u064A\\u0639 \\u0627\\u0644\\u0645\\u0644\\u0641\\u0627\\u062A \\u0641\\u064A \\u0627\\u0644\\u062F\\u0644\\u0627\\u0626\\u0644 \\u0627\\u0644\\u062A\\u064A \\u062A\\u062D\\u062F\\u062F\\u0647\\u0627 \\u0645\\u0639 \\u062A\\u0641\\u0631\\u064A\\u063A \\u0642\\u0627\\u0639\\u062F\\u0629 \\u0627\\u0644\\u0628\\u064A\\u0627\\u0646\\u0627\\u062A \\u0627\\u0644\\u062E\\u0627\\u0635\\u0629 \\u0628\\u0643\",new_backup:\"\\u0625\\u0636\\u0627\\u0641\\u0629 \\u0646\\u0633\\u062E\\u0629 \\u0627\\u062D\\u062A\\u064A\\u0627\\u0637\\u064A\\u0629 \\u062C\\u062F\\u064A\\u062F\\u0629\",create_backup:\"\\u0627\\u0646\\u0634\\u0626 \\u0646\\u0633\\u062E\\u0629 \\u0627\\u062D\\u062A\\u064A\\u0627\\u0637\\u064A\\u0629\",select_backup_type:\"\\u062D\\u062F\\u062F \\u0646\\u0648\\u0639 \\u0627\\u0644\\u0646\\u0633\\u062E \\u0627\\u0644\\u0627\\u062D\\u062A\\u064A\\u0627\\u0637\\u064A\",backup_confirm_delete:\"\\u0644\\u0646 \\u062A\\u062A\\u0645\\u0643\\u0646 \\u0645\\u0646 \\u0627\\u0633\\u062A\\u0639\\u0627\\u062F\\u0629 \\u0647\\u0630\\u0647 \\u0627\\u0644\\u0646\\u0633\\u062E\\u0629 \\u0627\\u0644\\u0627\\u062D\\u062A\\u064A\\u0627\\u0637\\u064A\\u0629\",path:\"\\u0645\\u0633\\u0627\\u0631\",new_disk:\"\\u0642\\u0631\\u0635 \\u062C\\u062F\\u064A\\u062F\",created_at:\"\\u0623\\u0646\\u0634\\u0626\\u062A \\u0641\\u064A\",size:\"\\u062D\\u062C\\u0645 \\u0627\\u0644\\u0645\\u0644\\u0641\",dropbox:\"\\u0628\\u0635\\u0646\\u062F\\u0648\\u0642 \\u0627\\u0644\\u0625\\u0633\\u0642\\u0627\\u0637\",local:\"\\u0645\\u062D\\u0644\\u064A\",healthy:\"\\u0635\\u062D\\u064A\",amount_of_backups:\"\\u0643\\u0645\\u064A\\u0629 \\u0627\\u0644\\u0646\\u0633\\u062E \\u0627\\u0644\\u0627\\u062D\\u062A\\u064A\\u0627\\u0637\\u064A\\u0629\",newest_backups:\"\\u0623\\u062D\\u062F\\u062B \\u0627\\u0644\\u0646\\u0633\\u062E \\u0627\\u0644\\u0627\\u062D\\u062A\\u064A\\u0627\\u0637\\u064A\\u0629\",used_storage:\"\\u0627\\u0644\\u062A\\u062E\\u0632\\u064A\\u0646 \\u0627\\u0644\\u0645\\u0633\\u062A\\u062E\\u062F\\u0645\",select_disk:\"\\u062D\\u062F\\u062F \\u0627\\u0644\\u0642\\u0631\\u0635\",action:\"\\u0639\\u0645\\u0644\",deleted_message:\"\\u062A\\u0645 \\u062D\\u0630\\u0641 \\u0627\\u0644\\u0646\\u0633\\u062E\\u0629 \\u0627\\u0644\\u0627\\u062D\\u062A\\u064A\\u0627\\u0637\\u064A\\u0629 \\u0628\\u0646\\u062C\\u0627\\u062D\",created_message:\"\\u062A\\u0645 \\u0625\\u0646\\u0634\\u0627\\u0621 \\u0627\\u0644\\u0646\\u0633\\u062E\\u0629 \\u0627\\u0644\\u0627\\u062D\\u062A\\u064A\\u0627\\u0637\\u064A\\u0629 \\u0628\\u0646\\u062C\\u0627\\u062D\",invalid_disk_credentials:\"\\u0628\\u064A\\u0627\\u0646\\u0627\\u062A \\u0627\\u0639\\u062A\\u0645\\u0627\\u062F \\u063A\\u064A\\u0631 \\u0635\\u0627\\u0644\\u062D\\u0629 \\u0644\\u0644\\u0642\\u0631\\u0635 \\u0627\\u0644\\u0645\\u062D\\u062F\\u062F\"},disk:{title:\"\\u0642\\u0631\\u0635 \\u0627\\u0644\\u0645\\u0644\\u0641\\u0627\\u062A | \\u0623\\u0642\\u0631\\u0627\\u0635 \\u0627\\u0644\\u0645\\u0644\\u0641\\u0627\\u062A\",description:\"\\u0628\\u0634\\u0643\\u0644 \\u0627\\u0641\\u062A\\u0631\\u0627\\u0636\\u064A \\u060C \\u0633\\u062A\\u0633\\u062A\\u062E\\u062F\\u0645 Crater \\u0627\\u0644\\u0642\\u0631\\u0635 \\u0627\\u0644\\u0645\\u062D\\u0644\\u064A \\u0644\\u062D\\u0641\\u0638 \\u0627\\u0644\\u0646\\u0633\\u062E \\u0627\\u0644\\u0627\\u062D\\u062A\\u064A\\u0627\\u0637\\u064A\\u0629 \\u0648\\u0627\\u0644\\u0623\\u0641\\u0627\\u062A\\u0627\\u0631 \\u0648\\u0645\\u0644\\u0641\\u0627\\u062A \\u0627\\u0644\\u0635\\u0648\\u0631 \\u0627\\u0644\\u0623\\u062E\\u0631\\u0649. \\u064A\\u0645\\u0643\\u0646\\u0643 \\u062A\\u0643\\u0648\\u064A\\u0646 \\u0623\\u0643\\u062B\\u0631 \\u0645\\u0646 \\u0628\\u0631\\u0627\\u0645\\u062C \\u062A\\u0634\\u063A\\u064A\\u0644 \\u0642\\u0631\\u0635 \\u0645\\u062B\\u0644 DigitalOcean \\u0648 S3 \\u0648 Dropbox \\u0648\\u0641\\u0642\\u064B\\u0627 \\u0644\\u062A\\u0641\\u0636\\u064A\\u0644\\u0627\\u062A\\u0643.\",created_at:\"\\u0623\\u0646\\u0634\\u0626\\u062A \\u0641\\u064A\",dropbox:\"\\u0628\\u0635\\u0646\\u062F\\u0648\\u0642 \\u0627\\u0644\\u0625\\u0633\\u0642\\u0627\\u0637\",name:\"\\u0627\\u0633\\u0645\",driver:\"\\u0633\\u0627\\u0626\\u0642\",disk_type:\"\\u0646\\u0648\\u0639\",disk_name:\"\\u0627\\u0633\\u0645 \\u0627\\u0644\\u0642\\u0631\\u0635\",new_disk:\"\\u0625\\u0636\\u0627\\u0641\\u0629 \\u0642\\u0631\\u0635 \\u062C\\u062F\\u064A\\u062F\",filesystem_driver:\"\\u0628\\u0631\\u0646\\u0627\\u0645\\u062C \\u062A\\u0634\\u063A\\u064A\\u0644 \\u0646\\u0638\\u0627\\u0645 \\u0627\\u0644\\u0645\\u0644\\u0641\\u0627\\u062A\",local_driver:\"\\u0633\\u0627\\u0626\\u0642 \\u0645\\u062D\\u0644\\u064A\",local_root:\"\\u0627\\u0644\\u062C\\u0630\\u0631 \\u0627\\u0644\\u0645\\u062D\\u0644\\u064A\",public_driver:\"\\u0633\\u0627\\u0626\\u0642 \\u0639\\u0627\\u0645\",public_root:\"\\u0627\\u0644\\u062C\\u0630\\u0631 \\u0627\\u0644\\u0639\\u0627\\u0645\",public_url:\"URL \\u0627\\u0644\\u0639\\u0627\\u0645\",public_visibility:\"\\u0627\\u0644\\u0631\\u0624\\u064A\\u0629 \\u0627\\u0644\\u0639\\u0627\\u0645\\u0629\",media_driver:\"\\u0633\\u0627\\u0626\\u0642 \\u0648\\u0633\\u0627\\u0626\\u0637\",media_root:\"\\u062C\\u0630\\u0631 \\u0627\\u0644\\u0648\\u0633\\u0627\\u0626\\u0637\",aws_driver:\"\\u0628\\u0631\\u0646\\u0627\\u0645\\u062C \\u062A\\u0634\\u063A\\u064A\\u0644 AWS\",aws_key:\"\\u0645\\u0641\\u062A\\u0627\\u062D AWS\",aws_secret:\"AWS Secret\",aws_region:\"\\u0645\\u0646\\u0637\\u0642\\u0629 AWS\",aws_bucket:\"\\u062D\\u0627\\u0648\\u064A\\u0629 AWS\",aws_root:\"AWS \\u0627\\u0644\\u062C\\u0630\\u0631\",do_spaces_type:\"\\u0647\\u0644 \\u0646\\u0648\\u0639 \\u0627\\u0644\\u0645\\u0633\\u0627\\u062D\\u0627\\u062A\",do_spaces_key:\"\\u0645\\u0641\\u062A\\u0627\\u062D Do Spaces\",do_spaces_secret:\"\\u0647\\u0644 \\u0627\\u0644\\u0645\\u0633\\u0627\\u062D\\u0627\\u062A \\u0633\\u0631\\u064A\\u0629\",do_spaces_region:\"\\u0647\\u0644 \\u0645\\u0646\\u0637\\u0642\\u0629 \\u0627\\u0644\\u0645\\u0633\\u0627\\u062D\\u0627\\u062A\",do_spaces_bucket:\"\\u0647\\u0644 \\u062F\\u0644\\u0648 \\u0627\\u0644\\u0645\\u0633\\u0627\\u062D\\u0627\\u062A\",do_spaces_endpoint:\"\\u0642\\u0645 \\u0628\\u0639\\u0645\\u0644 \\u0646\\u0642\\u0637\\u0629 \\u0646\\u0647\\u0627\\u064A\\u0629 \\u0644\\u0644\\u0645\\u0633\\u0627\\u0641\\u0627\\u062A\",do_spaces_root:\"\\u0639\\u0645\\u0644 \\u0627\\u0644\\u062C\\u0630\\u0631 \\u0644\\u0644\\u0645\\u0633\\u0627\\u0641\\u0627\\u062A\",dropbox_type:\"\\u0646\\u0648\\u0639 Dropbox\",dropbox_token:\"\\u0631\\u0645\\u0632 Dropbox\",dropbox_key:\"\\u0645\\u0641\\u062A\\u0627\\u062D Dropbox\",dropbox_secret:\"Dropbox Secret\",dropbox_app:\"\\u062A\\u0637\\u0628\\u064A\\u0642 Dropbox\",dropbox_root:\"\\u062C\\u0630\\u0631 Dropbox\",default_driver:\"\\u0628\\u0631\\u0646\\u0627\\u0645\\u062C \\u0627\\u0644\\u062A\\u0634\\u063A\\u064A\\u0644 \\u0627\\u0644\\u0627\\u0641\\u062A\\u0631\\u0627\\u0636\\u064A\",is_default:\"\\u0623\\u0645\\u0631 \\u0627\\u0641\\u062A\\u0631\\u0627\\u0636\\u064A\",set_default_disk:\"\\u062A\\u0639\\u064A\\u064A\\u0646 \\u0627\\u0644\\u0642\\u0631\\u0635 \\u0627\\u0644\\u0627\\u0641\\u062A\\u0631\\u0627\\u0636\\u064A\",set_default_disk_confirm:\"\\u0633\\u064A\\u062A\\u0645 \\u062A\\u0639\\u064A\\u064A\\u0646 \\u0647\\u0630\\u0627 \\u0627\\u0644\\u0642\\u0631\\u0635 \\u0643\\u0627\\u0644\\u0627\\u0641\\u062A\\u0631\\u0627\\u0636\\u064A \\u0648\\u0633\\u064A\\u062A\\u0645 \\u062D\\u0641\\u0638 \\u062C\\u0645\\u064A\\u0639 \\u0645\\u0644\\u0641\\u0627\\u062A PDF \\u0627\\u0644\\u062C\\u062F\\u064A\\u062F\\u0629 \\u0639\\u0644\\u0649 \\u0647\\u0630\\u0627 \\u0627\\u0644\\u0642\\u0631\\u0635\",success_set_default_disk:\"\\u062A\\u0645 \\u062A\\u0639\\u064A\\u064A\\u0646 \\u0627\\u0644\\u0642\\u0631\\u0635 \\u0643\\u0627\\u0644\\u0627\\u0641\\u062A\\u0631\\u0627\\u0636\\u064A \\u0628\\u0646\\u062C\\u0627\\u062D\",save_pdf_to_disk:\"\\u062D\\u0641\\u0638 \\u0645\\u0644\\u0641\\u0627\\u062A PDF \\u0639\\u0644\\u0649 \\u0627\\u0644\\u0642\\u0631\\u0635\",disk_setting_description:\"\\u0642\\u0645 \\u0628\\u062A\\u0645\\u0643\\u064A\\u0646 \\u0647\\u0630\\u0627 \\u060C \\u0625\\u0630\\u0627 \\u0643\\u0646\\u062A \\u062A\\u0631\\u063A\\u0628 \\u0641\\u064A \\u062D\\u0641\\u0638 \\u0646\\u0633\\u062E\\u0629 \\u0645\\u0646 \\u0643\\u0644 \\u0641\\u0627\\u062A\\u0648\\u0631\\u0629 \\u060C \\u062A\\u0642\\u062F\\u064A\\u0631 \\u0648\\u0625\\u064A\\u0635\\u0627\\u0644 \\u062F\\u0641\\u0639 PDF \\u0639\\u0644\\u0649 \\u0627\\u0644\\u0642\\u0631\\u0635 \\u0627\\u0644\\u0627\\u0641\\u062A\\u0631\\u0627\\u0636\\u064A \\u0627\\u0644\\u062E\\u0627\\u0635 \\u0628\\u0643 \\u062A\\u0644\\u0642\\u0627\\u0626\\u064A\\u064B\\u0627. \\u0633\\u064A\\u0624\\u062F\\u064A \\u062A\\u0634\\u063A\\u064A\\u0644 \\u0647\\u0630\\u0627 \\u0627\\u0644\\u062E\\u064A\\u0627\\u0631 \\u0625\\u0644\\u0649 \\u062A\\u0642\\u0644\\u064A\\u0644 \\u0648\\u0642\\u062A \\u0627\\u0644\\u062A\\u062D\\u0645\\u064A\\u0644 \\u0639\\u0646\\u062F \\u0639\\u0631\\u0636 \\u0645\\u0644\\u0641\\u0627\\u062A PDF.\",select_disk:\"\\u062D\\u062F\\u062F \\u0627\\u0644\\u0642\\u0631\\u0635\",disk_settings:\"\\u0625\\u0639\\u062F\\u0627\\u062F\\u0627\\u062A \\u0627\\u0644\\u0642\\u0631\\u0635\",confirm_delete:\"\\u0644\\u0646 \\u062A\\u062A\\u0623\\u062B\\u0631 \\u0627\\u0644\\u0645\\u0644\\u0641\\u0627\\u062A \\u0648\\u0627\\u0644\\u0645\\u062C\\u0644\\u062F\\u0627\\u062A \\u0627\\u0644\\u0645\\u0648\\u062C\\u0648\\u062F\\u0629 \\u0641\\u064A \\u0627\\u0644\\u0642\\u0631\\u0635 \\u0627\\u0644\\u0645\\u062D\\u062F\\u062F \\u0648\\u0644\\u0643\\u0646 \\u0633\\u064A\\u062A\\u0645 \\u062D\\u0630\\u0641 \\u0627\\u0639\\u062F\\u0627\\u062F\\u0627\\u062A \\u0627\\u0644\\u0642\\u0631\\u0635 \\u0627\\u0644\\u062E\\u0627\\u0635 \\u0628\\u0643 \\u0645\\u0646 Crater\",action:\"\\u0639\\u0645\\u0644\",edit_file_disk:\"\\u062A\\u0639\\u062F\\u064A\\u0644 \\u0642\\u0631\\u0635 \\u0627\\u0644\\u0645\\u0644\\u0641\",success_create:\"\\u062A\\u0645\\u062A \\u0625\\u0636\\u0627\\u0641\\u0629 \\u0627\\u0644\\u0642\\u0631\\u0635 \\u0628\\u0646\\u062C\\u0627\\u062D\",success_update:\"\\u062A\\u0645 \\u062A\\u062D\\u062F\\u064A\\u062B \\u0627\\u0644\\u0642\\u0631\\u0635 \\u0628\\u0646\\u062C\\u0627\\u062D\",error:\"\\u0641\\u0634\\u0644 \\u0625\\u0636\\u0627\\u0641\\u0629 \\u0627\\u0644\\u0642\\u0631\\u0635\",deleted_message:\"\\u062A\\u0645 \\u062D\\u0630\\u0641 \\u0645\\u0644\\u0641 \\u0627\\u0644\\u0642\\u0631\\u0635 \\u0628\\u0646\\u062C\\u0627\\u062D\",disk_variables_save_successfully:\"\\u062A\\u0645 \\u062A\\u0643\\u0648\\u064A\\u0646 \\u0627\\u0644\\u0642\\u0631\\u0635 \\u0628\\u0646\\u062C\\u0627\\u062D\",disk_variables_save_error:\"\\u0641\\u0634\\u0644 \\u062A\\u0643\\u0648\\u064A\\u0646 \\u0627\\u0644\\u0642\\u0631\\u0635.\",invalid_disk_credentials:\"\\u0628\\u064A\\u0627\\u0646\\u0627\\u062A \\u0627\\u0639\\u062A\\u0645\\u0627\\u062F \\u063A\\u064A\\u0631 \\u0635\\u0627\\u0644\\u062D\\u0629 \\u0644\\u0644\\u0642\\u0631\\u0635 \\u0627\\u0644\\u0645\\u062D\\u062F\\u062F\"},taxations:{add_billing_address:\"Enter Billing Address\",add_shipping_address:\"Enter Shipping Address\",add_company_address:\"Enter Company Address\",modal_description:\"The information below is required in order to fetch sales tax.\",add_address:\"Add Address for fetching sales tax.\",address_placeholder:\"Example: 123, My Street\",city_placeholder:\"Example: Los Angeles\",state_placeholder:\"Example: CA\",zip_placeholder:\"Example: 90024\",invalid_address:\"Please provide valid address details.\"}},Gd={account_info:\"\\u0645\\u0639\\u0644\\u0648\\u0645\\u0627\\u062A \\u0627\\u0644\\u062D\\u0633\\u0627\\u0628\",account_info_desc:\"\\u0633\\u064A\\u062A\\u0645 \\u0627\\u0633\\u062A\\u062E\\u062F\\u0627\\u0645 \\u0627\\u0644\\u062A\\u0641\\u0627\\u0635\\u064A\\u0644 \\u0623\\u062F\\u0646\\u0627\\u0647 \\u0644\\u0625\\u0646\\u0634\\u0627\\u0621 \\u062D\\u0633\\u0627\\u0628 \\u0627\\u0644\\u0645\\u0633\\u0624\\u0648\\u0644 \\u0627\\u0644\\u0631\\u0626\\u064A\\u0633\\u064A. \\u0643\\u0645\\u0627 \\u064A\\u0645\\u0643\\u0646\\u0643 \\u062A\\u063A\\u064A\\u064A\\u0631 \\u0627\\u0644\\u062A\\u0641\\u0627\\u0635\\u064A\\u0644 \\u0641\\u064A \\u0623\\u064A \\u0648\\u0642\\u062A \\u0628\\u0639\\u062F \\u062A\\u0633\\u062C\\u064A\\u0644 \\u0627\\u0644\\u062F\\u062E\\u0648\\u0644.\",name:\"\\u0627\\u0644\\u0627\\u0633\\u0645\",email:\"\\u0627\\u0644\\u0628\\u0631\\u064A\\u062F \\u0627\\u0644\\u0625\\u0644\\u0643\\u062A\\u0631\\u0648\\u0646\\u064A\",password:\"\\u0643\\u0644\\u0645\\u0629 \\u0627\\u0644\\u0645\\u0631\\u0648\\u0631\",confirm_password:\"\\u0623\\u0639\\u062F \\u0643\\u062A\\u0627\\u0628\\u0629 \\u0643\\u0644\\u0645\\u0629 \\u0627\\u0644\\u0645\\u0631\\u0648\\u0631\",save_cont:\"\\u062D\\u0641\\u0638 \\u0648\\u0627\\u0633\\u062A\\u0645\\u0631\\u0627\\u0631\",company_info:\"\\u0645\\u0639\\u0644\\u0648\\u0645\\u0627\\u062A \\u0627\\u0644\\u0634\\u0631\\u0643\\u0629\",company_info_desc:\"\\u0633\\u064A\\u062A\\u0645 \\u0639\\u0631\\u0636 \\u0647\\u0630\\u0647 \\u0627\\u0644\\u0645\\u0639\\u0644\\u0648\\u0645\\u0627\\u062A \\u0639\\u0644\\u0649 \\u0627\\u0644\\u0641\\u0648\\u0627\\u062A\\u064A\\u0631. \\u0644\\u0627\\u062D\\u0638 \\u0623\\u0646\\u0647 \\u064A\\u0645\\u0643\\u0646\\u0643 \\u062A\\u0639\\u062F\\u064A\\u0644 \\u0647\\u0630\\u0627 \\u0644\\u0627\\u062D\\u0642\\u064B\\u0627 \\u0641\\u064A \\u0635\\u0641\\u062D\\u0629 \\u0627\\u0644\\u0625\\u0639\\u062F\\u0627\\u062F\\u0627\\u062A.\",company_name:\"\\u0627\\u0633\\u0645 \\u0627\\u0644\\u0634\\u0631\\u0643\\u0629\",company_logo:\"\\u0634\\u0639\\u0627\\u0631 \\u0627\\u0644\\u0634\\u0631\\u0643\\u0629\",logo_preview:\"\\u0627\\u0633\\u062A\\u0639\\u0631\\u0627\\u0636 \\u0627\\u0644\\u0634\\u0639\\u0627\\u0631\",preferences:\"\\u0627\\u0644\\u062A\\u0641\\u0636\\u064A\\u0644\\u0627\\u062A\",preferences_desc:\"\\u0627\\u0644\\u062A\\u0641\\u0636\\u064A\\u0644\\u0627\\u062A \\u0627\\u0644\\u0627\\u0641\\u062A\\u0631\\u0627\\u0636\\u064A\\u0629 \\u0644\\u0644\\u0646\\u0638\\u0627\\u0645\",currency_set_alert:\"The company's currency cannot be changed later.\",country:\"\\u0627\\u0644\\u062F\\u0648\\u0644\\u0629\",state:\"\\u0627\\u0644\\u0648\\u0644\\u0627\\u064A\\u0629/\\u0627\\u0644\\u0645\\u0646\\u0637\\u0642\\u0629\",city:\"\\u0627\\u0644\\u0645\\u062F\\u064A\\u0646\\u0629\",address:\"\\u0627\\u0644\\u0639\\u0646\\u0648\\u0627\\u0646\",street:\"\\u0627\\u0644\\u0639\\u0646\\u0648\\u0627\\u0646 1 | \\u0627\\u0644\\u0639\\u0646\\u0648\\u0627\\u0646 2\",phone:\"\\u0627\\u0644\\u0647\\u0627\\u062A\\u0641\",zip_code:\"\\u0627\\u0644\\u0631\\u0645\\u0632 \\u0627\\u0644\\u0628\\u0631\\u064A\\u062F\\u064A\",go_back:\"\\u0644\\u0644\\u062E\\u0644\\u0641\",currency:\"\\u0627\\u0644\\u0639\\u0645\\u0644\\u0629\",language:\"\\u0627\\u0644\\u0644\\u063A\\u0629\",time_zone:\"\\u0627\\u0644\\u0645\\u0646\\u0637\\u0629 \\u0627\\u0644\\u0632\\u0645\\u0646\\u064A\\u0629\",fiscal_year:\"\\u0627\\u0644\\u0633\\u0646\\u0629 \\u0627\\u0644\\u0645\\u0627\\u0644\\u064A\\u0629\",date_format:\"\\u0635\\u064A\\u063A\\u0629 \\u0627\\u0644\\u062A\\u0627\\u0631\\u064A\\u062E\",from_address:\"\\u0645\\u0646 \\u0627\\u0644\\u0639\\u0646\\u0648\\u0627\\u0646\",username:\"\\u0627\\u0633\\u0645 \\u0627\\u0644\\u0645\\u0633\\u062A\\u062E\\u062F\\u0645\",next:\"\\u0627\\u0644\\u062A\\u0627\\u0644\\u064A\",continue:\"\\u0627\\u0633\\u062A\\u0645\\u0631\\u0627\\u0631\",skip:\"\\u062A\\u062E\\u0637\\u064A\",database:{database:\"\\u0639\\u0646\\u0648\\u0627\\u0646 \\u0642\\u0627\\u0639\\u062F\\u0629 \\u0627\\u0644\\u0628\\u064A\\u0627\\u0646\\u0627\\u062A\",connection:\"\\u0627\\u062A\\u0635\\u0627\\u0644 \\u0642\\u0627\\u0639\\u062F\\u0629 \\u0627\\u0644\\u0628\\u064A\\u0627\\u0646\\u0627\\u062A\",host:\"\\u062E\\u0627\\u062F\\u0645 \\u0642\\u0627\\u0639\\u062F\\u0629 \\u0627\\u0644\\u0628\\u064A\\u0627\\u0646\\u0627\\u062A\",port:\"\\u0645\\u0646\\u0641\\u0630 \\u0642\\u0627\\u0639\\u062F\\u0629 \\u0627\\u0644\\u0628\\u064A\\u0627\\u0646\\u0627\\u062A\",password:\"\\u0643\\u0644\\u0645\\u0629 \\u0645\\u0631\\u0648\\u0631 \\u0642\\u0627\\u0639\\u062F\\u0629 \\u0627\\u0644\\u0628\\u064A\\u0627\\u0646\\u0627\\u062A\",app_url:\"\\u0639\\u0646\\u0648\\u0627\\u0646 \\u0627\\u0644\\u0625\\u0646\\u062A\\u0631\\u0646\\u062A \\u0644\\u0644\\u0646\\u0638\\u0627\\u0645\",app_domain:\"\\u0631\\u0627\\u0628\\u0637 \\u0627\\u0644\\u062A\\u0637\\u0628\\u064A\\u0642\",username:\"\\u0627\\u0633\\u0645 \\u0627\\u0644\\u0645\\u0633\\u062A\\u062E\\u062F\\u0645 \\u0644\\u0642\\u0627\\u0639\\u062F\\u0629 \\u0627\\u0644\\u0628\\u064A\\u0627\\u0646\\u0627\\u062A\",db_name:\"\\u0633\\u0645 \\u0642\\u0627\\u0639\\u062F\\u0629 \\u0627\\u0644\\u0628\\u064A\\u0627\\u0646\\u0627\\u062A\",db_path:\"\\u0645\\u0633\\u0627\\u0631 \\u0642\\u0627\\u0639\\u062F\\u0629 \\u0627\\u0644\\u0628\\u064A\\u0627\\u0646\\u0627\\u062A\",desc:\"\\u0642\\u0645 \\u0628\\u0625\\u0646\\u0634\\u0627\\u0621 \\u0642\\u0627\\u0639\\u062F\\u0629 \\u0628\\u064A\\u0627\\u0646\\u0627\\u062A \\u0639\\u0644\\u0649 \\u0627\\u0644\\u062E\\u0627\\u062F\\u0645 \\u0627\\u0644\\u062E\\u0627\\u0635 \\u0628\\u0643 \\u0648\\u062A\\u0639\\u064A\\u064A\\u0646 \\u0628\\u064A\\u0627\\u0646\\u0627\\u062A \\u0627\\u0644\\u0627\\u0639\\u062A\\u0645\\u0627\\u062F \\u0628\\u0627\\u0633\\u062A\\u062E\\u062F\\u0627\\u0645 \\u0627\\u0644\\u0646\\u0645\\u0648\\u0630\\u062C \\u0623\\u062F\\u0646\\u0627\\u0647.\"},permissions:{permissions:\"\\u0627\\u0644\\u0623\\u0630\\u0648\\u0646\\u0627\\u062A\",permission_confirm_title:\"\\u0647\\u0644 \\u0623\\u0646\\u062A \\u0645\\u062A\\u0623\\u0643\\u062F \\u0645\\u0646 \\u0627\\u0644\\u0627\\u0633\\u062A\\u0645\\u0631\\u0627\\u0631\\u061F\",permission_confirm_desc:\"\\u0641\\u0634\\u0644 \\u0641\\u062D\\u0635 \\u0623\\u0630\\u0648\\u0646\\u0627\\u062A \\u0627\\u0644\\u0645\\u062C\\u0644\\u062F\",permission_desc:\"\\u0641\\u064A\\u0645\\u0627 \\u064A\\u0644\\u064A \\u0642\\u0627\\u0626\\u0645\\u0629 \\u0623\\u0630\\u0648\\u0646\\u0627\\u062A \\u0627\\u0644\\u0645\\u062C\\u0644\\u062F \\u0627\\u0644\\u0645\\u0637\\u0644\\u0648\\u0628\\u0629 \\u062D\\u062A\\u0649 \\u064A\\u0639\\u0645\\u0644 \\u0627\\u0644\\u062A\\u0637\\u0628\\u064A\\u0642. \\u0641\\u064A \\u062D\\u0627\\u0644\\u0629 \\u0641\\u0634\\u0644 \\u0641\\u062D\\u0635 \\u0627\\u0644\\u0625\\u0630\\u0646 \\u060C \\u062A\\u0623\\u0643\\u062F \\u0645\\u0646 \\u062A\\u062D\\u062F\\u064A\\u062B \\u0623\\u0630\\u0648\\u0646\\u0627\\u062A \\u0627\\u0644\\u0645\\u062C\\u0644\\u062F.\"},verify_domain:{title:\"\\u0627\\u0644\\u062A\\u062D\\u0642\\u0642 \\u0645\\u0646 \\u0627\\u0644\\u0646\\u0637\\u0627\\u0642\",desc:\"Crater uses Session based authentication which requires domain verification for security purposes. Please enter the domain on which you will be accessing your web application.\",app_domain:\"\\u0646\\u0637\\u0627\\u0642 \\u0627\\u0644\\u062A\\u0637\\u0628\\u064A\\u0642\",verify_now:\"\\u062A\\u062D\\u0642\\u0642 \\u0627\\u0644\\u0622\\u0646\",success:\"\\u062A\\u0645 \\u0627\\u0644\\u062A\\u062D\\u0642\\u0642 \\u0645\\u0646 \\u0627\\u0644\\u0646\\u0637\\u0627\\u0642 \\u0628\\u0646\\u062C\\u0627\\u062D.\",failed:\"Domain verification failed. Please enter valid domain name.\",verify_and_continue:\"\\u0627\\u0644\\u062A\\u062D\\u0642\\u0642 \\u0648\\u0627\\u0644\\u0645\\u062A\\u0627\\u0628\\u0639\\u0629\"},mail:{host:\"\\u062E\\u0627\\u062F\\u0645 \\u0627\\u0644\\u0628\\u0631\\u064A\\u062F\",port:\"\\u0645\\u0646\\u0641\\u0630 \\u0627\\u0644\\u0628\\u0631\\u064A\\u062F\",driver:\"\\u0645\\u0634\\u063A\\u0644 \\u0627\\u0644\\u0628\\u0631\\u064A\\u062F\",secret:\"\\u0633\\u0631\\u064A\",mailgun_secret:\"\\u0627\\u0644\\u0631\\u0645\\u0632 \\u0627\\u0644\\u0633\\u0631\\u064A \\u0644\\u0640 Mailgun\",mailgun_domain:\"\\u0627\\u0644\\u0645\\u062C\\u0627\\u0644\",mailgun_endpoint:\"\\u0627\\u0644\\u0646\\u0647\\u0627\\u064A\\u0629 \\u0627\\u0644\\u0637\\u0631\\u0641\\u064A\\u0629 \\u0644\\u0640 Mailgun\",ses_secret:\"SES \\u0627\\u0644\\u0631\\u0645\\u0632 \\u0627\\u0644\\u0633\\u0631\\u064A\",ses_key:\"SES \\u0645\\u0641\\u062A\\u0627\\u062D\",password:\"\\u0643\\u0644\\u0645\\u0629 \\u0645\\u0631\\u0648\\u0631 \\u0627\\u0644\\u0628\\u0631\\u064A\\u062F \\u0627\\u0644\\u0627\\u0644\\u0643\\u062A\\u0631\\u0648\\u0646\\u064A\",username:\"\\u0627\\u0633\\u0645 \\u0627\\u0644\\u0645\\u0633\\u062A\\u062E\\u062F\\u0645 \\u0644\\u0644\\u0628\\u0631\\u064A\\u062F \\u0627\\u0644\\u0625\\u0644\\u0643\\u062A\\u0631\\u0648\\u0646\\u064A\",mail_config:\"\\u0625\\u0639\\u062F\\u0627\\u062F\\u0627\\u062A \\u0627\\u0644\\u0628\\u0631\\u064A\\u062F \\u0627\\u0644\\u0627\\u0644\\u0643\\u062A\\u0631\\u0648\\u0646\\u064A\",from_name:\"\\u0627\\u0633\\u0645 \\u0627\\u0644\\u0645\\u0631\\u0633\\u0644\",from_mail:\"\\u0639\\u0646\\u0648\\u0627\\u0646 \\u0627\\u0644\\u0628\\u0631\\u064A\\u062F \\u0627\\u0644\\u0627\\u0644\\u0643\\u062A\\u0631\\u0648\\u0646\\u064A \\u0644\\u0644\\u0645\\u0631\\u0633\\u0644\",encryption:\"\\u0635\\u064A\\u063A\\u0629 \\u0627 \\u0644\\u062A\\u0634\\u0641\\u064A\\u0631\",mail_config_desc:\"\\u0623\\u062F\\u0646\\u0627\\u0647 \\u0647\\u0648 \\u0646\\u0645\\u0648\\u0630\\u062C \\u0644\\u062A\\u0643\\u0648\\u064A\\u0646 \\u0628\\u0631\\u0646\\u0627\\u0645\\u062C \\u062A\\u0634\\u063A\\u064A\\u0644 \\u0627\\u0644\\u0628\\u0631\\u064A\\u062F \\u0627\\u0644\\u0625\\u0644\\u0643\\u062A\\u0631\\u0648\\u0646\\u064A \\u0644\\u0625\\u0631\\u0633\\u0627\\u0644 \\u0631\\u0633\\u0627\\u0626\\u0644 \\u0627\\u0644\\u0628\\u0631\\u064A\\u062F \\u0627\\u0644\\u0625\\u0644\\u0643\\u062A\\u0631\\u0648\\u0646\\u064A \\u0645\\u0646 \\u0627\\u0644\\u062A\\u0637\\u0628\\u064A\\u0642. \\u064A\\u0645\\u0643\\u0646\\u0643 \\u0623\\u064A\\u0636\\u064B\\u0627 \\u062A\\u0647\\u064A\\u0626\\u0629 \\u0645\\u0648\\u0641\\u0631\\u064A \\u0627\\u0644\\u062C\\u0647\\u0627\\u062A \\u0627\\u0644\\u062E\\u0627\\u0631\\u062C\\u064A\\u0629 \\u0645\\u062B\\u0644 Sendgrid \\u0648 SES \\u0625\\u0644\\u062E.\"},req:{system_req:\"\\u0645\\u062A\\u0637\\u0644\\u0628\\u0627\\u062A \\u0627\\u0644\\u0646\\u0638\\u0627\\u0645\",php_req_version:\"Php (\\u0627\\u0644\\u0646\\u0633\\u062E\\u0629 \\u0627\\u0644\\u0645\\u0637\\u0644\\u0648\\u0628\\u0629 {version} \\u0628\\u062D\\u062F \\u0623\\u062F\\u0646\\u0649)\",check_req:\"\\u0641\\u062D\\u0635 \\u0645\\u062A\\u0637\\u0644\\u0628\\u0627\\u062A \\u0627\\u0644\\u0646\\u0638\\u0627\\u0645\",system_req_desc:\"\\u064A\\u062D\\u062A\\u0648\\u064A \\u0627\\u0644\\u0646\\u0638\\u0627\\u0645 \\u0639\\u0644\\u0649 \\u0628\\u0639\\u0636 \\u0645\\u062A\\u0637\\u0644\\u0628\\u0627\\u062A \\u0627\\u0644\\u062E\\u0627\\u062F\\u0645. \\u062A\\u0623\\u0643\\u062F \\u0645\\u0646 \\u0623\\u0646 \\u062E\\u0627\\u062F\\u0645\\u0643 \\u0644\\u062F\\u064A\\u0647 \\u0646\\u0633\\u062E\\u0629 php \\u0627\\u0644\\u0645\\u0637\\u0644\\u0648\\u0628\\u0629 \\u0648\\u062C\\u0645\\u064A\\u0639 \\u0627\\u0644\\u0627\\u0645\\u062A\\u062F\\u0627\\u062F\\u0627\\u062A \\u0627\\u0644\\u0645\\u0630\\u0643\\u0648\\u0631\\u0629 \\u0623\\u062F\\u0646\\u0627\\u0647.\"},errors:{migrate_failed:\"\\u0641\\u0634\\u0644 \\u0625\\u0646\\u0634\\u0627\\u0621 \\u0627\\u0644\\u062C\\u062F\\u0627\\u0648\\u0644\",database_variables_save_error:\"\\u063A\\u064A\\u0631 \\u0642\\u0627\\u062F\\u0631 \\u0639\\u0644\\u0649 \\u0627\\u0644\\u0627\\u062A\\u0635\\u0627\\u0644 \\u0628\\u0642\\u0627\\u0639\\u062F\\u0629 \\u0627\\u0644\\u0628\\u064A\\u0627\\u0646\\u0627\\u062A \\u0628\\u0627\\u0633\\u062A\\u062E\\u062F\\u0627\\u0645 \\u0627\\u0644\\u0642\\u064A\\u0645 \\u0627\\u0644\\u0645\\u0642\\u062F\\u0645\\u0629.\",mail_variables_save_error:\"\\u0641\\u0634\\u0644 \\u062A\\u0643\\u0648\\u064A\\u0646 \\u0627\\u0644\\u0628\\u0631\\u064A\\u062F \\u0627\\u0644\\u0625\\u0644\\u0643\\u062A\\u0631\\u0648\\u0646\\u064A.\",connection_failed:\"\\u0641\\u0634\\u0644 \\u0627\\u062A\\u0635\\u0627\\u0644 \\u0642\\u0627\\u0639\\u062F\\u0629 \\u0627\\u0644\\u0628\\u064A\\u0627\\u0646\\u0627\\u062A\",database_should_be_empty:\"\\u064A\\u062C\\u0628 \\u0623\\u0646 \\u062A\\u0643\\u0648\\u0646 \\u0642\\u0627\\u0639\\u062F\\u0629 \\u0627\\u0644\\u0628\\u064A\\u0627\\u0646\\u0627\\u062A \\u0641\\u0627\\u0631\\u063A\\u0629\"},success:{mail_variables_save_successfully:\"\\u062A\\u0645 \\u062A\\u0643\\u0648\\u064A\\u0646 \\u0627\\u0644\\u0628\\u0631\\u064A\\u062F \\u0627\\u0644\\u0625\\u0644\\u0643\\u062A\\u0631\\u0648\\u0646\\u064A \\u0628\\u0646\\u062C\\u0627\\u062D\",database_variables_save_successfully:\"\\u062A\\u0645 \\u062A\\u0643\\u0648\\u064A\\u0646 \\u0642\\u0627\\u0639\\u062F\\u0629 \\u0627\\u0644\\u0628\\u064A\\u0627\\u0646\\u0627\\u062A \\u0628\\u0646\\u062C\\u0627\\u062D.\"}},Jd={invalid_phone:\"\\u0631\\u0642\\u0645 \\u0627\\u0644\\u0647\\u0627\\u062A\\u0641 \\u063A\\u064A\\u0631 \\u0635\\u062D\\u064A\\u062D\",invalid_url:\"\\u0639\\u0646\\u0648\\u0627\\u0646 \\u0627\\u0646\\u062A\\u0631\\u0646\\u062A \\u063A\\u064A\\u0631 \\u0635\\u062D\\u064A\\u062D (\\u0645\\u062B\\u0627\\u0644: http://www.crater.com)\",invalid_domain_url:\"\\u0639\\u0646\\u0648\\u0627\\u0646 \\u0627\\u0646\\u062A\\u0631\\u0646\\u062A \\u063A\\u064A\\u0631 \\u0635\\u062D\\u064A\\u062D (\\u0645\\u062B\\u0627\\u0644: crater.com)\",required:\"\\u062D\\u0642\\u0644 \\u0645\\u0637\\u0644\\u0648\\u0628\",email_incorrect:\"\\u0628\\u0631\\u064A\\u062F \\u0627\\u0644\\u0643\\u062A\\u0631\\u0648\\u0646\\u064A \\u063A\\u064A\\u0631 \\u0635\\u062D\\u064A\\u062D.\",email_already_taken:\"\\u0647\\u0630\\u0627 \\u0627\\u0644\\u0628\\u0631\\u064A\\u062F \\u0627\\u0644\\u0627\\u0644\\u0643\\u062A\\u0631\\u0648\\u0646\\u064A \\u0645\\u0633\\u062A\\u062E\\u062F\\u0645 \\u0645\\u0633\\u0628\\u0642\\u0627\\u064B\",email_does_not_exist:\"\\u0644\\u0627 \\u064A\\u0648\\u062C\\u062F \\u0643\\u0633\\u062A\\u062E\\u062F\\u0645 \\u0628\\u0647\\u0630\\u0627 \\u0627\\u0644\\u0628\\u0631\\u064A\\u062F \\u0627\\u0644\\u0627\\u0644\\u0643\\u062A\\u0631\\u0648\\u0646\\u064A\",item_unit_already_taken:\"\\u0648\\u062D\\u062F\\u0629 \\u0627\\u0644\\u0628\\u0646\\u062F \\u0642\\u062F \\u0627\\u062A\\u062E\\u0630\\u062A \\u0628\\u0627\\u0644\\u0641\\u0639\\u0644\",payment_mode_already_taken:\"\\u0644\\u0642\\u062F \\u062A\\u0645 \\u0628\\u0627\\u0644\\u0641\\u0639\\u0644 \\u0623\\u062E\\u0630 \\u0637\\u0631\\u064A\\u0642\\u0629 \\u0627\\u0644\\u062F\\u0641\\u0639\",send_reset_link:\"\\u0623\\u0631\\u0633\\u0627\\u0644 \\u0631\\u0627\\u0628\\u0637 \\u0627\\u0633\\u062A\\u0639\\u0627\\u062F\\u0629 \\u0643\\u0644\\u0645\\u0629 \\u0627\\u0644\\u0645\\u0631\\u0648\\u0631\",not_yet:\"\\u0644\\u064A\\u0633 \\u0628\\u0639\\u062F\\u061F \\u0623\\u0639\\u062F \\u0627\\u0644\\u0625\\u0631\\u0633\\u0627\\u0644 \\u0627\\u0644\\u0622\\u0646..\",password_min_length:\"\\u0643\\u0644\\u0645\\u0629 \\u0627\\u0644\\u0645\\u0631\\u0648\\u0631 \\u064A\\u062C\\u0628 \\u0623\\u0646 \\u062A\\u062A\\u0643\\u0648\\u0646 \\u0645\\u0646 {count} \\u0623\\u062D\\u0631\\u0641 \\u0639\\u0644\\u0649 \\u0627\\u0644\\u0623\\u0642\\u0644\",name_min_length:\"\\u0627\\u0644\\u0627\\u0633\\u0645 \\u064A\\u062C\\u0628 \\u0623\\u0646 \\u064A\\u062A\\u0643\\u0648\\u0646 \\u0645\\u0646 {count} \\u0623\\u062D\\u0631\\u0641 \\u0639\\u0644\\u0649 \\u0627\\u0644\\u0623\\u0642\\u0644\",prefix_min_length:\"Prefix must have at least {count} letters.\",enter_valid_tax_rate:\"\\u0623\\u062F\\u062E\\u0644 \\u0645\\u0639\\u062F\\u0644 \\u0627\\u0644\\u0636\\u0631\\u064A\\u0628\\u0629 \\u0628\\u0634\\u0643\\u0644 \\u0635\\u062D\\u064A\\u062D\",numbers_only:\"\\u0623\\u0631\\u0642\\u0627\\u0645 \\u0641\\u0642\\u0637.\",characters_only:\"\\u062D\\u0631\\u0648\\u0641 \\u0641\\u0642\\u0637.\",password_incorrect:\"\\u064A\\u062C\\u0628 \\u0623\\u0646 \\u062A\\u0643\\u0648\\u0646 \\u0643\\u0644\\u0645\\u0627\\u062A \\u0627\\u0644\\u0645\\u0631\\u0648\\u0631 \\u0645\\u062A\\u0637\\u0627\\u0628\\u0642\\u0629\",password_length:\"\\u064A\\u062C\\u0628 \\u0623\\u0646 \\u062A\\u0643\\u0648\\u0646 \\u0643\\u0644\\u0645\\u0629 \\u0627\\u0644\\u0645\\u0631\\u0648\\u0631 \\u0628\\u0637\\u0648\\u0644 {count} \\u062D\\u0631\\u0641.\",qty_must_greater_than_zero:\"\\u0627\\u0644\\u0643\\u0645\\u064A\\u0629 \\u064A\\u062C\\u0628 \\u0623\\u0646 \\u062A\\u0643\\u0648\\u0646 \\u0623\\u0643\\u0628\\u0631 \\u0645\\u0646 \\u0635\\u0641\\u0631.\",price_greater_than_zero:\"\\u0627\\u0644\\u0633\\u0639\\u0631 \\u064A\\u062C\\u0628 \\u0623\\u0646 \\u064A\\u0643\\u0648\\u0646 \\u0623\\u0643\\u0628\\u0631 \\u0645\\u0646 \\u0635\\u0641\\u0631.\",payment_greater_than_zero:\"\\u0627\\u0644\\u062F\\u0641\\u0639\\u0629 \\u064A\\u062C\\u0628 \\u0623\\u0646 \\u062A\\u0643\\u0648\\u0646 \\u0623\\u0643\\u0628\\u0631 \\u0645\\u0646 \\u0635\\u0641\\u0631.\",payment_greater_than_due_amount:\"\\u0645\\u0628\\u0644\\u063A \\u0627\\u0644\\u062F\\u0641\\u0639\\u0629 \\u0623\\u0643\\u062B\\u0631 \\u0645\\u0646 \\u0627\\u0644\\u0645\\u0628\\u0644\\u063A \\u0627\\u0644\\u0645\\u0633\\u062A\\u062D\\u0642 \\u0644\\u0647\\u0630\\u0647 \\u0627\\u0644\\u0641\\u0627\\u062A\\u0648\\u0631\\u0629.\",quantity_maxlength:\"\\u064A\\u062C\\u0628 \\u0623\\u0644\\u0627 \\u062A\\u0632\\u064A\\u062F \\u0627\\u0644\\u0643\\u0645\\u064A\\u0629 \\u0639\\u0646 20 \\u0631\\u0642\\u0645\\u0627\\u064B.\",price_maxlength:\"\\u064A\\u062C\\u0628 \\u0623\\u0644\\u0627 \\u064A\\u0632\\u064A\\u062F \\u0627\\u0644\\u0633\\u0639\\u0631 \\u0639\\u0646 20 \\u0631\\u0642\\u0645\\u0627\\u064B.\",price_minvalue:\"\\u064A\\u062C\\u0628 \\u0623\\u0646 \\u064A\\u0643\\u0648\\u0646 \\u0627\\u0644\\u0633\\u0639\\u0631 \\u0623\\u0643\\u0628\\u0631 \\u0645\\u0646 \\u0635\\u0641\\u0631.\",amount_maxlength:\"\\u064A\\u062C\\u0628 \\u0623\\u0644\\u0627 \\u064A\\u0632\\u064A\\u062F \\u0627\\u0644\\u0645\\u0628\\u0644\\u063A \\u0639\\u0646 20 \\u0631\\u0642\\u0645\\u0627\\u064B.\",amount_minvalue:\"\\u064A\\u062C\\u0628 \\u0623\\u0646 \\u064A\\u0643\\u0648\\u0646 \\u0627\\u0644\\u0645\\u0628\\u0644\\u063A \\u0623\\u0643\\u0628\\u0631 \\u0645\\u0646 \\u0635\\u0641\\u0631.\",discount_maxlength:\"Discount should not be greater than max discount\",description_maxlength:\"\\u064A\\u062C\\u0628 \\u0623\\u0644\\u0627 \\u064A\\u0632\\u064A\\u062F \\u0627\\u0644\\u0648\\u0635\\u0641 \\u0639\\u0646 255 \\u062D\\u0631\\u0641\\u0627\\u064B.\",subject_maxlength:\"\\u064A\\u062C\\u0628 \\u0627\\u0644\\u0627 \\u064A\\u0632\\u064A\\u062F \\u0627\\u0644\\u0639\\u0646\\u0648\\u0627\\u0646 \\u0639\\u0646 100 \\u062D\\u0631\\u0641.\",message_maxlength:\"\\u064A\\u062C\\u0628 \\u0623\\u0644\\u0627 \\u064A\\u0632\\u064A\\u062F \\u062D\\u062C\\u0645 \\u0627\\u0644\\u0646\\u0635 \\u0639\\u0646 255 \\u062D\\u0631\\u0641.\",maximum_options_error:\"\\u0627\\u0644\\u062D\\u062F \\u0627\\u0644\\u0623\\u0639\\u0644\\u0649 \\u0647\\u0648 {max} \\u062E\\u064A\\u0627\\u0631\\u0627\\u062A. \\u0642\\u0645 \\u0628\\u0625\\u0632\\u0627\\u0644\\u0629 \\u0623\\u062D\\u062F \\u0627\\u0644\\u062E\\u064A\\u0627\\u0631\\u0627\\u062A \\u0644\\u062A\\u062D\\u062F\\u064A\\u062F \\u062E\\u064A\\u0627\\u0631 \\u0622\\u062E\\u0631.\",notes_maxlength:\"\\u064A\\u062C\\u0628 \\u0623\\u0644\\u0627 \\u064A\\u0632\\u064A\\u062F \\u062D\\u062C\\u0645 \\u0627\\u0644\\u0645\\u0644\\u0627\\u062D\\u0638\\u0627\\u062A \\u0639\\u0646 255 \\u062D\\u0631\\u0641\\u0627\\u064B.\",address_maxlength:\"\\u064A\\u062C\\u0628 \\u0623\\u0644\\u0627 \\u064A\\u0632\\u064A\\u062F \\u0627\\u0644\\u0639\\u0646\\u0648\\u0627\\u0646 \\u0639\\u0646 255 \\u062D\\u0631\\u0641\\u0627\\u064B.\",ref_number_maxlength:\"\\u064A\\u062C\\u0628 \\u0623\\u0644\\u0627 \\u064A\\u0632\\u064A\\u062F \\u0627\\u0644\\u0631\\u0642\\u0645 \\u0627\\u0644\\u0645\\u0631\\u062C\\u0639\\u064A \\u0639\\u0646 255 \\u062D\\u0631\\u0641\\u0627\\u064B.\",prefix_maxlength:\"\\u064A\\u062C\\u0628 \\u0623\\u0644\\u0627 \\u062A\\u0632\\u064A\\u062F \\u0627\\u0644\\u0628\\u0627\\u062F\\u0626\\u0629 \\u0639\\u0646 5 \\u0623\\u062D\\u0631\\u0641.\",something_went_wrong:\"\\u062E\\u0637\\u0623 \\u063A\\u064A\\u0631 \\u0645\\u0639\\u0631\\u0648\\u0641!\",number_length_minvalue:\"\\u064A\\u062C\\u0628 \\u0623\\u0646 \\u062A\\u0643\\u0648\\u0646 \\u0642\\u064A\\u0645\\u0629 \\u0627\\u0644\\u0631\\u0642\\u0645 \\u0623\\u0643\\u0628\\u0631 \\u0645\\u0646 \\u0627\\u0644\\u0635\\u0641\\u0631\",at_least_one_ability:\"Please select atleast one Permission.\",valid_driver_key:\"Please enter a valid {driver} key.\",valid_exchange_rate:\"Please enter a valid exchange rate.\",company_name_not_same:\"Company name must match with given name.\"},Qd={starter_plan:\"This feature is available on Starter plan and onwards!\",invalid_provider_key:\"Please Enter Valid Provider API Key.\",estimate_number_used:\"The estimate number has already been taken.\",invoice_number_used:\"The invoice number has already been taken.\",payment_attached:\"This invoice already has a payment attached to it. Make sure to delete the attached payments first in order to go ahead with the removal.\",payment_number_used:\"The payment number has already been taken.\",name_already_taken:\"The name has already been taken.\",receipt_does_not_exist:\"Receipt does not exist.\",customer_cannot_be_changed_after_payment_is_added:\"Customer cannot be change after payment is added\",invalid_credentials:\"Invalid  Credentials.\",not_allowed:\"Not Allowed\",login_invalid_credentials:\"These credentials do not match our records.\",enter_valid_cron_format:\"Please enter a valid cron format\",email_could_not_be_sent:\"Email could not be sent to this email address.\",invalid_address:\"Please enter a valid address.\",invalid_key:\"Please enter valid key.\",invalid_state:\"Please enter a valid state.\",invalid_city:\"Please enter a valid city.\",invalid_postal_code:\"Please enter a valid zip.\",invalid_format:\"Please enter valid query string format.\",api_error:\"Server not responding.\",feature_not_enabled:\"Feature not enabled.\",request_limit_met:\"Api request limit exceeded.\",address_incomplete:\"Incomplete Address\"},Xd=\"\\u062A\\u0642\\u062F\\u064A\\u0631\",el=\"\\u0631\\u0642\\u0645 \\u062A\\u0642\\u062F\\u064A\\u0631\",tl=\"\\u062A\\u0627\\u0631\\u064A\\u062E \\u0627\\u0644\\u062A\\u0642\\u062F\\u064A\\u0631\",al=\"\\u062A\\u0627\\u0631\\u064A\\u062E \\u0627\\u0646\\u062A\\u0647\\u0627\\u0621 \\u0627\\u0644\\u0635\\u0644\\u0627\\u062D\\u064A\\u0629\",nl=\"\\u0627\\u0644\\u0641\\u0627\\u062A\\u0648\\u0631\\u0629\",il=\"\\u0631\\u0642\\u0645 \\u0627\\u0644\\u0641\\u0627\\u062A\\u0648\\u0631\\u0629\",ol=\"\\u062A\\u0627\\u0631\\u064A\\u062E \\u0627\\u0644\\u0641\\u0627\\u062A\\u0648\\u0631\\u0629\",sl=\"\\u062A\\u0627\\u0631\\u064A\\u062E \\u0627\\u0644\\u0627\\u0633\\u062A\\u062D\\u0642\\u0627\\u0642\",rl=\"\\u0645\\u0644\\u0627\\u062D\\u0638\\u0627\\u062A\",dl=\"\\u0627\\u0644\\u0623\\u0635\\u0646\\u0627\\u0641\",ll=\"\\u0627\\u0644\\u0643\\u0645\\u064A\\u0629\",cl=\"\\u0627\\u0644\\u0633\\u0639\\u0631\",_l=\"\\u0627\\u0644\\u062E\\u0635\\u0645\",ul=\"\\u0627\\u0644\\u0645\\u0628\\u0644\\u063A \\u0627\\u0644\\u0645\\u0637\\u0644\\u0648\\u0628\",ml=\"\\u0627\\u0644\\u0645\\u062C\\u0645\\u0648\\u0639 \\u0627\\u0644\\u0641\\u0631\\u0639\\u064A\",pl=\"\\u0627\\u0644\\u0625\\u062C\\u0645\\u0627\\u0644\\u064A\",fl=\"\\u0627\\u0644\\u062F\\u0641\\u0639\",gl=\"\\u0627\\u064A\\u0635\\u0627\\u0644 \\u0627\\u0644\\u062F\\u0641\\u0639\",vl=\"\\u062A\\u0627\\u0631\\u064A\\u062E \\u0627\\u0644\\u062F\\u0641\\u0639\",yl=\"\\u0631\\u0642\\u0645 \\u0627\\u0644\\u062F\\u0641\\u0639\\u0629\",hl=\"\\u0646\\u0648\\u0639 \\u0627\\u0644\\u062F\\u0641\\u0639\\u0629\",bl=\"\\u0627\\u0644\\u0645\\u0628\\u0644\\u063A \\u0627\\u0644\\u0645\\u0633\\u062A\\u0644\\u0645\",kl=\"\\u062A\\u0642\\u0631\\u064A\\u0631 \\u0627\\u0644\\u0645\\u0635\\u0627\\u0631\\u064A\\u0641\",wl=\"\\u0645\\u062C\\u0645\\u0648\\u0639 \\u0627\\u0644\\u0645\\u0635\\u0627\\u0631\\u064A\\u0641\",zl=\"\\u062A\\u0642\\u0631\\u064A\\u0631 \\u0627\\u0644\\u0627\\u0631\\u0628\\u0627\\u062D \\u0648 \\u0627\\u0644\\u062E\\u0633\\u0627\\u0626\\u0631\",xl=\"\\u062A\\u0642\\u0631\\u064A\\u0631 \\u0639\\u0645\\u0644\\u0627\\u0621 \\u0627\\u0644\\u0645\\u0628\\u064A\\u0639\\u0627\\u062A\",Pl=\"\\u062A\\u0642\\u0631\\u064A\\u0631 \\u0639\\u0646\\u0627\\u0635\\u0631 \\u0627\\u0644\\u0645\\u0628\\u064A\\u0639\\u0627\\u062A\",Sl=\"\\u062A\\u0642\\u0631\\u064A\\u0631 \\u0645\\u0644\\u062E\\u0635 \\u0627\\u0644\\u0636\\u0631\\u0627\\u0626\\u0628\",jl=\"\\u0627\\u0644\\u0627\\u064A\\u0631\\u0627\\u062F\\u0627\\u062A\",Al=\"\\u0635\\u0627\\u0641\\u064A \\u0627\\u0644\\u0623\\u0631\\u0628\\u0627\\u062D\",Dl=\"\\u062A\\u0642\\u0631\\u064A\\u0631 \\u0627\\u0644\\u0645\\u0628\\u064A\\u0639\\u0627\\u062A: \\u062D\\u0633\\u0628 \\u0627\\u0644\\u0639\\u0645\\u064A\\u0644\",Cl=\"\\u0645\\u062C\\u0645\\u0648\\u0639 \\u0627\\u0644\\u0645\\u0628\\u064A\\u0639\\u0627\\u062A\",Nl=\"\\u062A\\u0642\\u0631\\u064A\\u0631 \\u0627\\u0644\\u0645\\u0628\\u064A\\u0639\\u0627\\u062A: \\u062D\\u0633\\u0628 \\u0627\\u0644\\u0628\\u0636\\u0627\\u0639\\u0629 \\u0627\\u0648 \\u0627\\u0644\\u062E\\u062F\\u0645\\u0629\",El=\"\\u062A\\u0642\\u0631\\u064A\\u0631 \\u0627\\u0644\\u0627\\u062F\\u0627\\u0621\\u0627\\u062A\",Il=\"\\u0627\\u062C\\u0645\\u0627\\u0644\\u064A \\u0627\\u0644\\u0627\\u062F\\u0627\\u0621\\u0627\\u062A\",Tl=\"\\u0623\\u0646\\u0648\\u0627\\u0639 \\u0627\\u0644\\u0636\\u0631\\u0627\\u0626\\u0628\",Rl=\"\\u0627\\u0644\\u0646\\u0641\\u0642\\u0627\\u062A\",Ml=\"\\u0645\\u0637\\u0644\\u0648\\u0628 \\u0645\\u0646,\",Fl=\"\\u064A\\u0634\\u062D\\u0646 \\u0625\\u0644\\u0649,\",$l=\"\\u062A\\u0645 \\u0627\\u0644\\u0627\\u0633\\u062A\\u0644\\u0627\\u0645 \\u0645\\u0646:\",Ul=\"Tax\";var Vl={navigation:Nd,general:Ed,dashboard:Id,tax_types:Td,global_search:Rd,company_switcher:Md,dateRange:Fd,customers:$d,items:Ud,estimates:Vd,invoices:Od,recurring_invoices:Ld,payments:qd,expenses:Bd,login:Kd,modules:Zd,users:Wd,reports:Hd,settings:Yd,wizard:Gd,validation:Jd,errors:Qd,pdf_estimate_label:Xd,pdf_estimate_number:el,pdf_estimate_date:tl,pdf_estimate_expire_date:al,pdf_invoice_label:nl,pdf_invoice_number:il,pdf_invoice_date:ol,pdf_invoice_due_date:sl,pdf_notes:rl,pdf_items_label:dl,pdf_quantity_label:ll,pdf_price_label:cl,pdf_discount_label:_l,pdf_amount_label:ul,pdf_subtotal:ml,pdf_total:pl,pdf_payment_label:fl,pdf_payment_receipt_label:gl,pdf_payment_date:vl,pdf_payment_number:yl,pdf_payment_mode:hl,pdf_payment_amount_received_label:bl,pdf_expense_report_label:kl,pdf_total_expenses_label:wl,pdf_profit_loss_label:zl,pdf_sales_customers_label:xl,pdf_sales_items_label:Pl,pdf_tax_summery_label:Sl,pdf_income_label:jl,pdf_net_profit_label:Al,pdf_customer_sales_report:Dl,pdf_total_sales_label:Cl,pdf_item_sales_label:Nl,pdf_tax_report_label:El,pdf_total_tax_label:Il,pdf_tax_types_label:Tl,pdf_expenses_label:Rl,pdf_bill_to:Ml,pdf_ship_to:Fl,pdf_received_from:$l,pdf_tax_label:Ul};const Ol={dashboard:\"\\xDCbersicht\",customers:\"Kunden\",items:\"Artikel\",invoices:\"Rechnungen\",\"recurring-invoices\":\"Serienrechnungen\",expenses:\"Ausgaben\",estimates:\"Angebote\",payments:\"Zahlungen\",reports:\"Berichte\",settings:\"Einstellungen\",logout:\"Abmelden\",users:\"Benutzer\",modules:\"Module\"},Ll={add_company:\"Unternehmen hinzuf\\xFCgen\",view_pdf:\"PDF anzeigen\",copy_pdf_url:\"PDF-Link kopieren\",download_pdf:\"PDF herunterladen\",save:\"Speichern\",create:\"Erstellen\",cancel:\"Abbrechen\",update:\"Aktualisieren\",deselect:\"Abw\\xE4hlen\",download:\"Herunterladen\",from_date:\"Von Datum\",to_date:\"bis Datum\",from:\"Von\",to:\"An\",ok:\"Okay\",yes:\"Ja\",no:\"Nein\",sort_by:\"Sortieren nach\",ascending:\"Aufsteigend\",descending:\"Absteigend\",subject:\"Betreff\",body:\"Inhalt\",message:\"Nachricht\",send:\"Absenden\",preview:\"Vorschau\",go_back:\"zur\\xFCck\",back_to_login:\"Zur\\xFCck zum Login?\",home:\"Startseite\",filter:\"Filter\",delete:\"L\\xF6schen\",edit:\"Bearbeiten\",view:\"Anzeigen\",add_new_item:\"Artikel hinzuf\\xFCgen\",clear_all:\"Alle entfernen\",showing:\"Anzeigen\",of:\"von\",actions:\"Aktionen\",subtotal:\"ZWISCHENSUMME\",discount:\"RABATT\",fixed:\"Festsatz\",percentage:\"Prozentsatz\",tax:\"Steuer\",total_amount:\"GESAMTSUMME\",bill_to:\"Rechnungsempf\\xE4nger\",ship_to:\"Versand an\",due:\"F\\xE4llig\",draft:\"Entwurf\",sent:\"Gesendet\",all:\"Alle\",select_all:\"Alle ausw\\xE4hlen\",select_template:\"Vorlage ausw\\xE4hlen\",choose_file:\"Klicken Sie hier, um eine Datei auszuw\\xE4hlen\",choose_template:\"W\\xE4hlen Sie eine Vorlage\",choose:\"W\\xE4hlen\",remove:\"Entfernen\",select_a_status:\"Status w\\xE4hlen\",select_a_tax:\"Steuersatz w\\xE4hlen\",search:\"Suchen\",are_you_sure:\"Sind Sie sicher?\",list_is_empty:\"Liste ist leer.\",no_tax_found:\"Kein Steuersatz gefunden!\",four_zero_four:\"Vier hundert vier\",you_got_lost:\"Hoppla! Du hast dich verirrt!\",go_home:\"Geh zur\\xFCck\",test_mail_conf:\"E-Mail Konfiguration testen\",send_mail_successfully:\"E-Mail erfolgreich versendet\",setting_updated:\"Einstellungen erfolgreich aktualisiert\",select_state:\"Bundesland w\\xE4hlen\",select_country:\"Land w\\xE4hlen\",select_city:\"Stadt w\\xE4hlen\",street_1:\"Stra\\xDFe und Hausnummer\",street_2:\"Adresszusatz\",action_failed:\"Aktion fehlgeschlagen\",retry:\"Wiederholen\",choose_note:\"Notiz ausw\\xE4hlen\",no_note_found:\"Keine Notizen gefunden\",insert_note:\"Notiz einf\\xFCgen\",copied_pdf_url_clipboard:\"PDF-URL in Zwischenablage kopiert!\",copied_url_clipboard:\"URL wurde in die Zwischenablage kopiert!\",docs:\"Dokumentation\",do_you_wish_to_continue:\"M\\xF6chten Sie fortfahren?\",note:\"Notiz\",pay_invoice:\"Rechnung bezahlen\",login_successfully:\"Erfolgreich angemeldet!\",logged_out_successfully:\"Erfolgreich abgemeldet\",mark_as_default:\"Als Standard festlegen\"},ql={select_year:\"Jahr w\\xE4hlen\",cards:{due_amount:\"Offene Betr\\xE4ge\",customers:\"Kunden\",invoices:\"Rechnungen\",estimates:\"Angebote\",payments:\"Zahlungen\"},chart_info:{total_sales:\"Auftr\\xE4ge gesamt\",total_receipts:\"Zahlungen gesamt\",total_expense:\"Ausgaben\",net_income:\"Einnahmen Netto\",year:\"Jahr\"},monthly_chart:{title:\"Umsatz & Ausgaben\"},recent_invoices_card:{title:\"F\\xE4llige Rechnungen\",due_on:\"F\\xE4llig am\",customer:\"Kunde\",amount_due:\"Offener Betrag\",actions:\"Aktionen\",view_all:\"Alle Anzeigen\"},recent_estimate_card:{title:\"Aktuelle Angebote\",date:\"Datum\",customer:\"Kunde\",amount_due:\"Betrag\",actions:\"Aktionen\",view_all:\"Alle Anzeigen\"}},Bl={name:\"Name\",description:\"Beschreibung\",percent:\"Prozent\",compound_tax:\"zusammengesetzte Steuer\"},Kl={search:\"Suchen...\",customers:\"Kunden\",users:\"Benutzer\",no_results_found:\"Keine Ergebnisse gefunden\"},Zl={label:\"UNTERNEHMEN WECHSELN\",no_results_found:\"Keine Ergebnisse gefunden\",add_new_company:\"Neues Unternehmen hinzuf\\xFCgen\",new_company:\"Neues Unternehmen\",created_message:\"Unternehmen erfolgreich angelegt\"},Wl={today:\"Heute\",this_week:\"Diese Woche\",this_month:\"Dieser Monat\",this_quarter:\"Dieses Quartal\",this_year:\"Dieses Jahr\",previous_week:\"Vorherige Woche\",previous_month:\"Vorheriger Monat\",previous_quarter:\"Vorheriges Quartal\",previous_year:\"Vorheriges Jahr\",custom:\"Benutzerdefiniert\"},Hl={title:\"Kunden\",prefix:\"Pr\\xE4fix\",add_customer:\"Kunde hinzuf\\xFCgen\",contacts_list:\"Kunden-Liste\",name:\"Name\",mail:\"E-Mail| E-Mails\",statement:\"Stellungnahme\",display_name:\"Anzeige Name\",primary_contact_name:\"Ansprechpartner\",contact_name:\"Kontakt Name\",amount_due:\"Offener Betrag\",email:\"E-Mail\",address:\"Adresse\",phone:\"Telefon\",website:\"Webseite\",overview:\"\\xDCbersicht\",invoice_prefix:\"Rechnungspr\\xE4fix\",estimate_prefix:\"Angebotspr\\xE4fix\",payment_prefix:\"Zahlungspr\\xE4fix\",enable_portal:\"Kunden-Portal aktivieren\",country:\"Land\",state:\"Bundesland\",city:\"Stadt\",zip_code:\"PLZ\",added_on:\"Hinzugef\\xFCgt am\",action:\"Aktion\",password:\"Passwort\",confirm_password:\"Passwort best\\xE4tigen\",street_number:\"Hausnummer\",primary_currency:\"Prim\\xE4re W\\xE4hrung\",description:\"Beschreibung\",add_new_customer:\"Neuen Kunden hinzuf\\xFCgen\",save_customer:\"Kunde speichern\",update_customer:\"Kunden \\xE4ndern\",customer:\"Kunde | Kunden\",new_customer:\"Neuer Kunde\",edit_customer:\"Kunde bearbeiten\",basic_info:\"Basisinformation\",portal_access:\"Portalzugang\",portal_access_text:\"Darf der Kunde sich im Kundenportal anmelden?\",portal_access_url:\"Login URL zum Kundenportal\",portal_access_url_help:\"Bitte kopieren und leiten Sie die oben angegebene URL an Ihren Kunden weiter, um Ihm Zugang zu gew\\xE4hren.\",billing_address:\"Rechnungsadresse\",shipping_address:\"Versand-Adresse\",copy_billing_address:\"Rechnungsadresse kopieren\",no_customers:\"Noch keine Kunden!\",no_customers_found:\"Keine Kunden gefunden!\",no_contact:\"Kein Kontakt\",no_contact_name:\"Kein Kontaktname\",list_of_customers:\"Dieser Bereich zeigt alle Kunden.\",primary_display_name:\"Prim\\xE4rer Anzeige Name\",select_currency:\"W\\xE4hrung w\\xE4hlen\",select_a_customer:\"W\\xE4hlen Sie einen Kunden\",type_or_click:\"Eingeben oder anklicken zum ausw\\xE4hlen\",new_transaction:\"Neue Transaktion\",no_matching_customers:\"Es gibt keine passenden Kunden!\",phone_number:\"Telefonnummer\",create_date:\"Erstellungsdatum\",confirm_delete:\"Sie werden diesen Kunden und alle zugeh\\xF6rigen Rechnungen, Angebote und Zahlungen nicht wiederherstellen k\\xF6nnen. | Sie werden diese Kunden und alle zugeh\\xF6rigen Rechnungen, Angebote und Zahlungen nicht wiederherstellen k\\xF6nnen.\",created_message:\"Benutzer erfolgreich erstellt\",updated_message:\"Kunde erfolgreich aktualisiert\",address_updated_message:\"Adressinformationen erfolgreich aktualisiert\",deleted_message:\"Kunden erfolgreich gel\\xF6scht | Kunden erfolgreich gel\\xF6scht\",edit_currency_not_allowed:\"W\\xE4hrung kann nicht ge\\xE4ndert werden, wenn Transaktionen erstellt wurden.\"},Yl={title:\"Artikel\",items_list:\"Artikel-Liste\",name:\"Name\",unit:\"Einheit\",description:\"Beschreibung\",added_on:\"Hinzugef\\xFCgt am\",price:\"Preis\",date_of_creation:\"Erstellt am\",not_selected:\"Keine ausgew\\xE4hlt\",action:\"Aktion\",add_item:\"Artikel hinzuf\\xFCgen\",save_item:\"Artikel speichern\",update_item:\"Artikel \\xE4ndern\",item:\"Artikel | Artikel\",add_new_item:\"Neuen Artikel hinzuf\\xFCgen\",new_item:\"Neuer Artikel\",edit_item:\"Artikel bearbeiten\",no_items:\"Keine Artikel vorhanden!\",list_of_items:\"Dieser Bereich zeigt alle Artikel.\",select_a_unit:\"Einheit ausw\\xE4hlen\",taxes:\"Steuern\",item_attached_message:\"Ein Artikel der bereits verwendet wird kann nicht gel\\xF6scht werden\",confirm_delete:\"Sie k\\xF6nnen diesen Artikel nicht wiederherstellen | Sie k\\xF6nnen diese Artikel nicht wiederherstellen\",created_message:\"Artikel erfolgreich erstellt\",updated_message:\"Artikel erfolgreich aktualisiert\",deleted_message:\"Artikel erfolgreich gel\\xF6scht | Artikel erfolgreich gel\\xF6scht\"},Gl={title:\"Angebote\",accept_estimate:\"Angebot akzeptieren\",reject_estimate:\"Angebot ablehnen\",estimate:\"Angebot | Angebote\",estimates_list:\"Angebots\\xFCbersicht\",days:\"{days} Tage\",months:\"{months} Monat\",years:\"{years} Jahre\",all:\"Alle\",paid:\"Bezahlt\",unpaid:\"Unbezahlt\",customer:\"KUNDE\",ref_no:\"REF. - NR.\",number:\"NUMMER\",amount_due:\"OFFENER BETRAG\",partially_paid:\"Teilweise bezahlt\",total:\"Gesamt\",discount:\"Rabatt\",sub_total:\"Zwischensumme\",estimate_number:\"Angebotsnummer\",ref_number:\"Ref-Nummer\",contact:\"Kontakt\",add_item:\"F\\xFCgen Sie ein Artikel hinzu\",date:\"Datum\",due_date:\"F\\xE4lligkeit\",expiry_date:\"Zahlungsziel\",status:\"Status\",add_tax:\"Steuer hinzuf\\xFCgen\",amount:\"Summe\",action:\"Aktion\",notes:\"Notizen\",tax:\"Steuer\",estimate_template:\"Vorlage\",convert_to_invoice:\"Konvertieren in Rechnung\",mark_as_sent:\"Als gesendet markieren\",send_estimate:\"Angebot senden\",resend_estimate:\"Angebot erneut senden\",record_payment:\"Zahlung erfassen\",add_estimate:\"Angebote hinzuf\\xFCgen\",save_estimate:\"Angebot speichern\",confirm_conversion:\"Dieses Angebot wird verwendet, um eine neue Rechnung zu erstellen.\",conversion_message:\"Rechnung erfolgreich erstellt\",confirm_send_estimate:\"Das Angebot wird per E-Mail an den Kunden gesendet\",confirm_mark_as_sent:\"Dieses Angebot wird als gesendet markiert\",confirm_mark_as_accepted:\"Dieses Angebot wird als angenommen markiert\",confirm_mark_as_rejected:\"Dieses Angebot wird als abgelehnt markiert\",no_matching_estimates:\"Es gibt keine \\xFCbereinstimmenden Angebote!\",mark_as_sent_successfully:\"Angebot als gesendet markiert\",send_estimate_successfully:\"Angebot erfolgreich gesendet\",errors:{required:\"Feld ist erforderlich\"},accepted:\"Angenommen\",rejected:\"Abgelehnt\",expired:\"Abgelaufen\",sent:\"Gesendet\",draft:\"Entwurf\",viewed:\"Angesehen\",declined:\"Abgelehnt\",new_estimate:\"Neues Angebot\",add_new_estimate:\"Neues Angebot hinzuf\\xFCgen\",update_Estimate:\"Angebot aktualisieren\",edit_estimate:\"Angebot \\xE4ndern\",items:\"Artikel\",Estimate:\"Angebot | Angebote\",add_new_tax:\"neuen Steuersatz hinzuf\\xFCgen\",no_estimates:\"Keine Angebote vorhanden!\",list_of_estimates:\"Dieser Bereich zeigt alle Angebote.\",mark_as_rejected:\"Markiert als abgelehnt\",mark_as_accepted:\"Markiert als angenommen\",marked_as_accepted_message:\"Angebot als angenommen markiert\",marked_as_rejected_message:\"Angebot als abgelehnt markiert\",confirm_delete:\"Das Angebot kann nicht wiederhergestellt werden | Die Angebote k\\xF6nnen nicht wiederhergestellt werden\",created_message:\"Angebot erfolgreich erstellt\",updated_message:\"Angebot erfolgreich aktualisiert\",deleted_message:\"Angebot erfolgreich gel\\xF6scht | Angebote erfolgreich gel\\xF6scht\",something_went_wrong:\"Da ging etwas schief\",item:{title:\"Titel des Artikels\",description:\"Beschreibung\",quantity:\"Menge\",price:\"Preis\",discount:\"Rabatt\",total:\"Gesamt\",total_discount:\"Rabatt Gesamt\",sub_total:\"Zwischensumme\",tax:\"Steuer\",amount:\"Summe\",select_an_item:\"W\\xE4hlen Sie einen Artikel\",type_item_description:\"Artikel Beschreibung (optional)\"},mark_as_default_estimate_template_description:\"Wenn aktiviert, wird die ausgew\\xE4hlte Vorlage automatisch f\\xFCr neue Angebote ausgew\\xE4hlt.\"},Jl={title:\"Rechnungen\",download:\"Herunterladen\",pay_invoice:\"Rechnung bezahlen\",invoices_list:\"Liste der Rechnungen\",invoice_information:\"Rechnungsdaten\",days:\"{days} Tage\",months:\"{months} Monat\",years:\"{years} Jahre\",all:\"Alle\",paid:\"Bezahlt\",unpaid:\"Unbezahlt\",viewed:\"Gesehen\",overdue:\"\\xDCberf\\xE4llig\",completed:\"Abgeschlossen\",customer:\"KUNDE\",paid_status:\"ZAHLUNGSSTATUS\",ref_no:\"REF. - NR.\",number:\"NUMMER\",amount_due:\"OFFENER BETRAG\",partially_paid:\"Teilzahlung\",total:\"Gesamt\",discount:\"Rabatt\",sub_total:\"Zwischensumme\",invoice:\"Rechnung | Rechnungen\",invoice_number:\"Rechnungsnummer\",ref_number:\"Ref-Nummer\",contact:\"Kontakt\",add_item:\"F\\xFCgen Sie ein Artikel hinzu\",date:\"Datum\",due_date:\"F\\xE4lligkeit\",status:\"Status\",add_tax:\"Steuersatz hinzuf\\xFCgen\",amount:\"Summe\",action:\"Aktion\",notes:\"Notizen\",view:\"Anzeigen\",send_invoice:\"Rechnung senden\",resend_invoice:\"Rechnung erneut senden\",invoice_template:\"Rechnungsvorlage\",conversion_message:\"Rechnung erfolgreich kopiert\",template:\"Vorlage ausw\\xE4hlen\",mark_as_sent:\"Als gesendet markieren\",confirm_send_invoice:\"Diese Rechnung wird per E-Mail an den Kunden gesendet\",invoice_mark_as_sent:\"Diese Rechnung wird als gesendet markiert\",confirm_mark_as_accepted:\"Diese Rechnung wird als akzeptiert markiert\",confirm_mark_as_rejected:\"Diese Rechnung wird als abgelehnt markiert\",confirm_send:\"Diese Rechnung wird per E-Mail an den Kunden gesendet\",invoice_date:\"Rechnungsdatum\",record_payment:\"Zahlung erfassen\",add_new_invoice:\"Neue Rechnung hinzuf\\xFCgen\",update_expense:\"Ausgabe aktualisieren\",edit_invoice:\"Rechnung bearbeiten\",new_invoice:\"Neue Rechnung\",save_invoice:\"Rechnung speichern\",update_invoice:\"Rechnung \\xE4ndern\",add_new_tax:\"Neuen Steuersatz hinzuf\\xFCgen\",no_invoices:\"Keine Rechnungen vorhanden!\",mark_as_rejected:\"Als abgelehnt markieren\",mark_as_accepted:\"Als akzeptiert markieren\",list_of_invoices:\"Dieser Bereich zeigt alle Rechnungen.\",select_invoice:\"W\\xE4hlen Sie eine Rechnung\",no_matching_invoices:\"Es gibt keine entsprechenden Rechnungen!\",mark_as_sent_successfully:\"Rechnung gekennzeichnet als erfolgreich gesendet\",invoice_sent_successfully:\"Rechnung erfolgreich versendet\",cloned_successfully:\"Rechnung erfolgreich kopiert\",clone_invoice:\"Rechnung kopieren\",confirm_clone:\"Diese Rechnung wird kopiert\",item:{title:\"Titel des Artikels\",description:\"Beschreibung\",quantity:\"Menge\",price:\"Preis\",discount:\"Rabatt\",total:\"Gesamt\",total_discount:\"Rabatt Gesamt\",sub_total:\"Zwischensumme\",tax:\"Steuer\",amount:\"Summe\",select_an_item:\"Geben Sie oder w\\xE4hlen Sie ein Artikel\",type_item_description:\"Artikel Beschreibung (optional)\"},payment_attached_message:\"Einer der ausgew\\xE4hlten Rechnungen ist bereits eine Zahlung zugeordnet. Stellen Sie sicher, dass Sie zuerst die angeh\\xE4ngten Zahlungen l\\xF6schen, um mit dem Entfernen fortzufahren\",confirm_delete:\"Sie k\\xF6nnen diese Rechnung nicht wiederherstellen. | Sie k\\xF6nnen diese Rechnungen nicht wiederherstellen.\",created_message:\"Rechnung erfolgreich erstellt\",updated_message:\"Rechnung erfolgreich aktualisiert\",deleted_message:\"Rechnung erfolgreich gel\\xF6scht | Rechnungen erfolgreich gel\\xF6scht\",marked_as_sent_message:\"Rechnung als erfolgreich gesendet markiert\",something_went_wrong:\"Da ist etwas schief gelaufen\",invalid_due_amount_message:\"Der Gesamtrechnungsbetrag darf nicht kleiner sein als der f\\xFCr diese Rechnung bezahlte Gesamtbetrag. Bitte aktualisieren Sie die Rechnung oder l\\xF6schen Sie die zugeh\\xF6rigen Zahlungen um fortzufahren.\",mark_as_default_invoice_template_description:\"Wenn aktiviert, wird die ausgew\\xE4hlte Vorlage automatisch f\\xFCr neue Rechnungen ausgew\\xE4hlt.\"},Ql={title:\"Serienrechnungen\",invoices_list:\"Liste aller Serienrechnungen\",days:\"{days} Tage\",months:\"{months} Monat\",years:\"{years} Jahr\",all:\"Alle\",paid:\"Bezahlt\",unpaid:\"Unbezahlt\",viewed:\"Gesehen\",overdue:\"\\xDCberf\\xE4llig\",active:\"Aktiv\",completed:\"Abgeschlossen\",customer:\"KUNDE\",paid_status:\"ZAHLUNGSSTATUS\",ref_no:\"REF. - NR.\",number:\"NUMMER\",amount_due:\"OFFENER BETRAG\",partially_paid:\"Teilweise bezahlt\",total:\"Gesamt\",discount:\"Rabatt\",sub_total:\"Zwischensumme\",invoice:\"Wiederkehrende Rechnung | Wiederkehrende Rechnungen\",invoice_number:\"Serienrechnungsnummer\",next_invoice_date:\"N\\xE4chstes Rechnungsdatum\",ref_number:\"Ref. Nummer\",contact:\"Kontakt\",add_item:\"Artikel hinzuf\\xFCgen\",date:\"Datum\",limit_by:\"Eingrenzen nach\",limit_date:\"Datum eingrenzen\",limit_count:\"Anzahl eingrenzen\",count:\"Anzahl\",status:\"Status\",select_a_status:\"Status ausw\\xE4hlen\",working:\"Verarbeitung l\\xE4uft\",on_hold:\"Pausiert\",complete:\"Abgeschlossen\",add_tax:\"Steuer hinzuf\\xFCgen\",amount:\"Summe\",action:\"Aktion\",notes:\"Notizen\",view:\"Anzeigen\",basic_info:\"Allgemeine Daten\",send_invoice:\"Serienrechnung senden\",auto_send:\"Automatisch senden\",resend_invoice:\"Serienrechnung erneut senden\",invoice_template:\"Serienrechnungsvorlage\",conversion_message:\"Serienrechnung erfolgreich kopiert\",template:\"Vorlage\",mark_as_sent:\"Als gesendet markieren\",confirm_send_invoice:\"Diese Serienrechnung wird per E-Mail an den Kunden gesendet\",invoice_mark_as_sent:\"Diese Serienrechnung wird als gesendet markiert\",confirm_send:\"Diese Serienrechnung wird per E-Mail an den Kunden gesendet\",starts_at:\"Anfangsdatum\",due_date:\"F\\xE4lligkeitsdatum der Rechnung\",record_payment:\"Zahlung aufzeichnen\",add_new_invoice:\"Neue Serienrechnung hinzuf\\xFCgen\",update_expense:\"Ausgabe aktualisieren\",edit_invoice:\"Serienrechnung bearbeiten\",new_invoice:\"Neue Serienrechnung\",send_automatically:\"Automatisch senden\",send_automatically_desc:\"Aktivieren Sie dies, wenn Sie die Rechnung bei der Erstellung automatisch an den Kunden senden m\\xF6chten.\",save_invoice:\"Serienrechnung speichern\",update_invoice:\"Serienrechnung aktualisieren\",add_new_tax:\"Neuen Steuersatz hinzuf\\xFCgen\",no_invoices:\"Noch keine Serienrechnungen!\",mark_as_rejected:\"Als abgelehnt markieren\",mark_as_accepted:\"Als akzeptiert markieren\",list_of_invoices:\"Dieser Abschnitt wird die Liste aller Serienrechnungen enthalten.\",select_invoice:\"Rechnung ausw\\xE4hlen\",no_matching_invoices:\"Es gibt keine passenden Serienrechnungen!\",mark_as_sent_successfully:\"Serienrechnung als erfolgreich gesendet markiert\",invoice_sent_successfully:\"Serienrechnung erfolgreich gesendet\",cloned_successfully:\"Serienrechnung erfolgreich kopiert\",clone_invoice:\"Serienrechnung kopieren\",confirm_clone:\"Diese Serienrechnung wird in eine neue Serienrechnung kopiert\",add_customer_email:\"Please add an email address for this customer to send invoices automatically.\",item:{title:\"Titel des Artikels\",description:\"Beschreibung\",quantity:\"Menge\",price:\"Preis\",discount:\"Rabatt\",total:\"Gesamt\",total_discount:\"Gesamtrabatt\",sub_total:\"Zwischensumme\",tax:\"Steuer\",amount:\"Menge\",select_an_item:\"Geben Sie den Artikel ein, oder w\\xE4hlen Sie ihn aus\",type_item_description:\"Artikel-Beschreibung (optional)\"},frequency:{title:\"Intervall\",select_frequency:\"Intervall ausw\\xE4hlen\",minute:\"Minute\",hour:\"Stunde\",day_month:\"Tag des Monats\",month:\"Monat\",day_week:\"Tag der Woche\"},confirm_delete:\"Sie werden diese Rechnung nicht wiederherstellen k\\xF6nnen | Sie werden nicht in der Lage sein, diese Rechnungen wiederherzustellen\",created_message:\"Serienrechnung erfolgreich erstellt\",updated_message:\"Serienrechnung erfolgreich aktualisiert\",deleted_message:\"Serienrechnung erfolgreich gel\\xF6scht | Serienrechnungen erfolgreich gel\\xF6scht\",marked_as_sent_message:\"Serienrechnung als erfolgreich gesendet markiert\",user_email_does_not_exist:\"E-Mail des Benutzers existiert nicht\",something_went_wrong:\"etwas ist schief gelaufen\",invalid_due_amount_message:\"Der Gesamtbetrag der Serienrechnung darf nicht kleiner als der bezahlte Gesamtbetrag f\\xFCr diese Serienrechnung sein. Bitte aktualisieren Sie die Rechnung oder l\\xF6schen Sie die zugeh\\xF6rigen Zahlungen, um fortzufahren.\"},Xl={title:\"Zahlungen\",payments_list:\"Liste der Zahlungen\",record_payment:\"Zahlung eintragen\",customer:\"Kunde\",date:\"Datum\",amount:\"Summe\",action:\"Aktion\",payment_number:\"Zahlungsnummer\",payment_mode:\"Zahlungsart\",invoice:\"Rechnung\",note:\"Hinweis\",add_payment:\"Zahlung hinzuf\\xFCgen\",new_payment:\"Neue Zahlung\",edit_payment:\"Zahlung bearbeiten\",view_payment:\"Zahlung anzeigen\",add_new_payment:\"Neue Zahlung hinzuf\\xFCgen\",send_payment_receipt:\"Zahlungsbeleg senden\",send_payment:\"Senden Sie die Zahlung\",save_payment:\"Zahlung speichern\",update_payment:\"Zahlung \\xE4ndern\",payment:\"Zahlung | Zahlungen\",no_payments:\"Keine Zahlungen vorhanden!\",not_selected:\"Nicht ausgew\\xE4hlt\",no_invoice:\"Keine Rechnung\",no_matching_payments:\"Es gibt keine passenden Zahlungen!\",list_of_payments:\"Dieser Bereich zeigt alle Zahlungen.\",select_payment_mode:\"W\\xE4hlen Sie den Zahlungsmodus\",confirm_mark_as_sent:\"Dieses Angebot wird als gesendet markiert\",confirm_send_payment:\"Diese Zahlung wird per E-Mail an den Kunden gesendet\",send_payment_successfully:\"Zahlung erfolgreich gesendet\",something_went_wrong:\"Da ist etwas schief gelaufen\",confirm_delete:\"Sie k\\xF6nnen diese Zahlung nicht wiederherstellen. | Sie k\\xF6nnen diese Zahlungen nicht wiederherstellen.\",created_message:\"Zahlung erfolgreich erstellt\",updated_message:\"Zahlung erfolgreich aktualisiert\",deleted_message:\"Zahlung erfolgreich gel\\xF6scht | Zahlungen erfolgreich gel\\xF6scht\",invalid_amount_message:\"Zahlungsbetrag ist ung\\xFCltig\"},ec={title:\"Ausgaben\",expenses_list:\"Ausgaben\\xFCbersicht\",select_a_customer:\"W\\xE4hlen Sie einen Kunden\",expense_title:\"Titel\",customer:\"Kunde\",currency:\"W\\xE4hrung\",contact:\"Kontakt\",category:\"Kategorie\",from_date:\"Von Datum\",to_date:\"bis Datum\",expense_date:\"Datum\",description:\"Beschreibung\",receipt:\"Rechnung\",amount:\"Summe\",action:\"Aktion\",not_selected:\"Nicht ausgew\\xE4hlt\",note:\"Hinweis\",category_id:\"Kategorie-Id\",date:\"Ausgabedatum\",add_expense:\"Ausgabe hinzuf\\xFCgen\",add_new_expense:\"Neue Ausgabe hinzuf\\xFCgen\",save_expense:\"Ausgabe speichern\",update_expense:\"Ausgabe aktualisieren\",download_receipt:\"Quittung herunterladen\",edit_expense:\"Ausgabe bearbeiten\",new_expense:\"Neue Ausgabe\",expense:\"Ausgabe | Ausgaben\",no_expenses:\"Noch keine Ausgaben!\",list_of_expenses:\"Dieser Bereich enth\\xE4lt alle Ausgaben.\",confirm_delete:\"Sie k\\xF6nnen diese Ausgabe nicht wiederherstellen. | Sie k\\xF6nnen diese Ausgaben nicht wiederherstellen.\",created_message:\"Ausgabe erfolgreich erstellt\",updated_message:\"Ausgabe erfolgreich aktualisiert\",deleted_message:\"Ausgabe erfolgreich gel\\xF6scht | Ausgaben erfolgreich gel\\xF6scht\",categories:{categories_list:\"Liste der Kategorien\",title:\"Titel\",name:\"Name\",description:\"Beschreibung\",amount:\"Summe\",actions:\"Aktionen\",add_category:\"Kategorie hinzuf\\xFCgen\",new_category:\"Neue Kategorie\",category:\"Kategorie | Kategorien\",select_a_category:\"W\\xE4hlen Sie eine Kategorie\"}},tc={email:\"E-Mail\",password:\"Passwort\",forgot_password:\"Passwort vergessen?\",or_signIn_with:\"oder Anmelden mit\",login:\"Anmelden\",register:\"Registrieren\",reset_password:\"Passwort zur\\xFCcksetzen\",password_reset_successfully:\"Passwort erfolgreich zur\\xFCckgesetzt\",enter_email:\"Geben Sie Ihre E-Mail ein\",enter_password:\"Geben Sie das Passwort ein\",retype_password:\"Passwort best\\xE4tigen\"},ac={buy_now:\"Kaufen\",install:\"Installieren\",price:\"Preis\",download_zip_file:\"ZIP Datei herunterladen\",unzipping_package:\"Entpacke Paket\",copying_files:\"Kopiere Dateien\",deleting_files:\"Unbenutzte Dateien werden gel\\xF6scht\",completing_installation:\"Installation wird abgeschlossen\",update_failed:\"Update fehlgeschlagen\",install_success:\"Modul erfolgreich installiert!\",customer_reviews:\"Bewertungen\",license:\"Lizenz\",faq:\"FAQ\",monthly:\"Monatlich\",yearly:\"J\\xE4hrlich\",updated:\"Aktualisiert\",version:\"Version\",disable:\"Deaktivieren\",module_disabled:\"Modul deaktiviert\",enable:\"Aktivieren\",module_enabled:\"Modul aktiviert\",update_to:\"Update auf\",module_updated:\"Modul erfolgreich aktualisiert!\",title:\"Module\",module:\"Module | Modules\",api_token:\"API Schl\\xFCssel\",invalid_api_token:\"Invalid API Token.\",other_modules:\"Weitere Module\",view_all:\"Alle Anzeigen\",no_reviews_found:\"There are no reviews for this module yet!\",module_not_purchased:\"Module Not Purchased\",module_not_found:\"Module Not Found\",version_not_supported:\"This module version doesn't support the current version of Crater\",last_updated:\"Zuletzt aktualisiert am\",connect_installation:\"Installation verbinden\",api_token_description:\"Login to {url} and connect this installation by entering the API Token. Your purchased modules will show up here after the connection is established.\",view_module:\"Modul anzeigen\",update_available:\"Aktualisierung verf\\xFCgbar\",purchased:\"Gekauft\",installed:\"Installiert\",no_modules_installed:\"Noch keine Module installiert!\",disable_warning:\"All the settings for this particular will be reverted.\",what_you_get:\"What you get\"},nc={title:\"Benutzer\",users_list:\"Benutzerliste\",name:\"Name\",description:\"Beschreibung\",added_on:\"Hinzugef\\xFCgt am\",date_of_creation:\"Erstellt am\",action:\"Aktion\",add_user:\"Benutzer hinzuf\\xFCgen\",save_user:\"Benutzer speichern\",update_user:\"Benutzer aktualisieren\",user:\"Benutzer\",add_new_user:\"Neuen Benutzer hinzuf\\xFCgen\",new_user:\"Neuer Benutzer\",edit_user:\"Benutzer bearbeiten\",no_users:\"Noch keine Benutzer!\",list_of_users:\"Dieser Bereich zeigt alle Benutzer.\",email:\"E-Mail\",phone:\"Telefon\",password:\"Passwort\",user_attached_message:\"Ein Artikel der bereits verwendet wird kann nicht gel\\xF6scht werden\",confirm_delete:\"Sie werden diesen Benutzer nicht wiederherstellen k\\xF6nnen | Sie werden nicht in der Lage sein, diese Benutzer wiederherzustellen\",created_message:\"Benutzer erfolgreich erstellt\",updated_message:\"Benutzer wurde erfolgreich aktualisiert\",deleted_message:\"Benutzer erfolgreich gel\\xF6scht | Benutzer erfolgreich gel\\xF6scht\",select_company_role:\"W\\xE4hle Rolle f\\xFCr {company}\",companies:\"Unternehmen\"},ic={title:\"Bericht\",from_date:\"Ab Datum\",to_date:\"bis Datum\",status:\"Status\",paid:\"Bezahlt\",unpaid:\"Unbezahlt\",download_pdf:\"PDF herunterladen\",view_pdf:\"PDF anzeigen\",update_report:\"Bericht aktualisieren\",report:\"Bericht | Berichte\",profit_loss:{profit_loss:\"Gewinn & Verlust\",to_date:\"bis Datum\",from_date:\"Ab Datum\",date_range:\"Datumsbereich ausw\\xE4hlen\"},sales:{sales:\"Umsatz\",date_range:\"Datumsbereich ausw\\xE4hlen\",to_date:\"bis Datum\",from_date:\"Ab Datum\",report_type:\"Berichtstyp\"},taxes:{taxes:\"Steuern\",to_date:\"bis Datum\",from_date:\"Ab Datum\",date_range:\"Datumsbereich ausw\\xE4hlen\"},errors:{required:\"Feld ist erforderlich\"},invoices:{invoice:\"Rechnung\",invoice_date:\"Rechnungsdatum\",due_date:\"F\\xE4lligkeit\",amount:\"Summe\",contact_name:\"Ansprechpartner\",status:\"Status\"},estimates:{estimate:\"Angebot\",estimate_date:\"Angebotsdatum\",due_date:\"F\\xE4lligkeit\",estimate_number:\"Angebotsnummer\",ref_number:\"Ref-Nummer\",amount:\"Summe\",contact_name:\"Ansprechpartner\",status:\"Status\"},expenses:{expenses:\"Ausgaben\",category:\"Kategorie\",date:\"Datum\",amount:\"Summe\",to_date:\"bis Datum\",from_date:\"Ab Datum\",date_range:\"Datumsbereich ausw\\xE4hlen\"}},oc={menu_title:{account_settings:\"Konto-Einstellungen\",company_information:\"Informationen zum Unternehmen\",customization:\"Personalisierung\",preferences:\"Einstellungen\",notifications:\"Benachrichtigungen\",tax_types:\"Steuers\\xE4tze\",expense_category:\"Ausgabenkategorien\",update_app:\"Applikation aktualisieren\",backup:\"Sicherung\",file_disk:\"Dateispeicher\",custom_fields:\"Benutzerdefinierte Felder\",payment_modes:\"Zahlungsarten\",notes:\"Notizen\",exchange_rate:\"Wechselkurs\",address_information:\"Adressinformationen\"},address_information:{section_description:\"  Sie k\\xF6nnen Ihre Adressinformationen \\xFCber das untenstehende Formular aktualisieren.\"},title:\"Einstellungen\",setting:\"Einstellung | Einstellungen\",general:\"Allgemeine\",language:\"Sprache\",primary_currency:\"Prim\\xE4re W\\xE4hrung\",timezone:\"Zeitzone\",date_format:\"Datum-Format\",currencies:{title:\"W\\xE4hrungen\",currency:\"W\\xE4hrung | W\\xE4hrungen\",currencies_list:\"W\\xE4hrungen Liste\",select_currency:\"W\\xE4hrung w\\xE4hlen\",name:\"Name\",code:\"Abk\\xFCrzung\",symbol:\"Symbol\",precision:\"Pr\\xE4zision\",thousand_separator:\"Tausendertrennzeichen\",decimal_separator:\"Dezimal-Trennzeichen\",position:\"Position\",position_of_symbol:\"Position des W\\xE4hrungssymbol\",right:\"Rechts\",left:\"Links\",action:\"Aktion\",add_currency:\"W\\xE4hrung einf\\xFCgen\"},mail:{host:\"E-Mail Mailserver\",port:\"E-Mail Port\",driver:\"E-Mail Treiber\",secret:\"Verschl\\xFCsselung\",mailgun_secret:\"Mailgun Verschl\\xFCsselung\",mailgun_domain:\"Mailgun Adresse\",mailgun_endpoint:\"Mailgun-Endpunkt\",ses_secret:\"SES Verschl\\xFCsselung\",ses_key:\"SES-Taste\",password:\"E-Mail-Kennwort\",username:\"E-Mail-Benutzername\",mail_config:\"E-Mail-Konfiguration\",from_name:\"Von E-Mail-Namen\",from_mail:\"Von E-Mail-Adresse\",encryption:\"E-Mail-Verschl\\xFCsselung\",mail_config_desc:\"Unten finden Sie das Formular zum Konfigurieren des E-Mail-Treibers zum Senden von E-Mails \\xFCber die App. Sie k\\xF6nnen auch Drittanbieter wie Sendgrid, SES usw. konfigurieren.\"},pdf:{title:\"PDF-Einstellung\",footer_text:\"Fu\\xDFzeile Text\",pdf_layout:\"PDF-Layout\"},company_info:{company_info:\"Firmeninfo\",company_name:\"Name des Unternehmens\",company_logo:\"Firmenlogo\",section_description:\"Informationen zu Ihrem Unternehmen, die auf Rechnungen, Angeboten und anderen von Crater erstellten Dokumenten angezeigt werden.\",phone:\"Telefon\",country:\"Land\",state:\"Bundesland\",city:\"Stadt\",address:\"Adresse\",zip:\"PLZ\",save:\"Speichern\",delete:\"L\\xF6schen\",updated_message:\"Unternehmensinformationen wurden erfolgreich aktualisiert\",delete_company:\"Unternehmen l\\xF6schen\",delete_company_description:\"Sobald Sie Ihr Unternehmen l\\xF6schen, verlieren Sie alle damit verbundenen Daten und Dateien.\",are_you_absolutely_sure:\"Sind Sie wirklich sicher?\",delete_company_modal_desc:\"Diese Aktion kann nicht r\\xFCckg\\xE4ngig gemacht werden. Dies wird {company} und alle damit verbundenen Daten dauerhaft l\\xF6schen.\",delete_company_modal_label:\"Bitte geben Sie {company} zur Best\\xE4tigung ein\"},custom_fields:{title:\"Benutzerdefinierte Felder\",section_description:\"Passen Sie Ihre Rechnungen, Angebote und Zahlungsbelege mit Ihren eigenen Feldern an. Stellen Sie sicher, dass Sie die unten hinzugef\\xFCgten Felder in den Adressformaten auf der Seite mit den Anpassungseinstellungen verwenden.\",add_custom_field:\"Benutzerdefiniertes Feld hinzuf\\xFCgen\",edit_custom_field:\"Benutzerdefiniertes Feld bearbeiten\",field_name:\"Feldname\",label:\"Bezeichnung\",type:\"Art\",name:\"Name\",slug:\"K\\xFCrzel\",required:\"Erforderlich\",placeholder:\"Platzhalter\",help_text:\"Hilfstext\",default_value:\"Standardwert\",prefix:\"Pr\\xE4fix\",starting_number:\"Startnummer\",model:\"Modell\",help_text_description:\"Geben Sie einen Text ein, damit Benutzer den Zweck dieses benutzerdefinierten Felds verstehen.\",suffix:\"Vorzeichen\",yes:\"Ja\",no:\"Nein\",order:\"Reihenfolge\",custom_field_confirm_delete:\"Sie k\\xF6nnen dieses benutzerdefinierte Feld nicht wiederherstellen\",already_in_use:\"Benutzerdefiniertes Feld wird bereits verwendet\",deleted_message:\"Benutzerdefiniertes Feld erfolgreich gel\\xF6scht\",options:\"Optionen\",add_option:\"Optionen hinzuf\\xFCgen\",add_another_option:\"F\\xFCgen Sie eine weitere Option hinzu\",sort_in_alphabetical_order:\"In alphabetischer Reihenfolge sortieren\",add_options_in_bulk:\"F\\xFCgen Sie Optionen in gro\\xDFen Mengen hinzu\",use_predefined_options:\"Verwenden Sie vordefinierte Optionen\",select_custom_date:\"W\\xE4hlen Sie Benutzerdefiniertes Datum\",select_relative_date:\"W\\xE4hlen Sie Relatives Datum\",ticked_by_default:\"Standardm\\xE4\\xDFig aktiviert\",updated_message:\"Benutzerdefiniertes Feld erfolgreich aktualisiert\",added_message:\"Benutzerdefiniertes Feld erfolgreich hinzugef\\xFCgt\",press_enter_to_add:\"Eingabetaste dr\\xFCcken, um neue Option hinzuzuf\\xFCgen\",model_in_use:\"Das Modell kann f\\xFCr bereits verwendete Felder nicht aktualisiert werden.\",type_in_use:\"Der Typ von bereits verwendeten Feldern kann nicht aktualisiert werden.\"},customization:{customization:\"Personalisierung\",updated_message:\"Unternehmensinformationen wurden erfolgreich aktualisiert\",save:\"Speichern\",insert_fields:\"Felder einf\\xFCgen\",learn_custom_format:\"Erfahren Sie, wie Sie benutzerdefiniertes Format verwenden\",add_new_component:\"Neue Komponente hinzuf\\xFCgen\",component:\"Komponente\",Parameter:\"Parameter\",series:\"Nummernfolge\",series_description:\"Um ein statisches Pr\\xE4fix/Postfix wie 'INV' in Ihrem Unternehmen zu setzen. Es unterst\\xFCtzt eine Zeichenl\\xE4nge von bis zu 4 Zeichen.\",series_param_label:\"Nummernfolge\",delimiter:\"Trennzeichen\",delimiter_description:\"Einzelnes Zeichen f\\xFCr die Verwendung zwischen zwei separaten Komponenten. Standardm\\xE4\\xDFig ist dies -\",delimiter_param_label:\"Trennzeichen\",date_format:\"Datumsformat\",date_format_description:\"Ein lokales Datums- und Zeitfeld, das einen Format-Parameter akzeptiert. Das Standardformat: 'Y' stellt das aktuelle Jahr dar.\",date_format_param_label:\"Format\",sequence:\"Fortlaufende Nummer\",sequence_description:\"Fortlaufende Nummernabfolge in Ihrem Unternehmen. Sie k\\xF6nnen die L\\xE4nge des angegebenen Parameters angeben.\",sequence_param_label:\"L\\xE4nge der fortlaufenden Nummer\",customer_series:\"Kundenspez. Nummernfolge\",customer_series_description:\"Ein anderes Pr\\xE4fix/Postfix f\\xFCr jeden Kunden festlegen.\",customer_sequence:\"Fortlaufende Kundennummer\",customer_sequence_description:\"Fortlaufende Nummernabfolge f\\xFCr jeden ihrer Kunden.\",customer_sequence_param_label:\"L\\xE4nge der laufenden Nummer\",random_sequence:\"Zuf\\xE4llige Zeichenkette\",random_sequence_description:\"Zuf\\xE4llige alphanumerische Zeichenkette. Sie k\\xF6nnen die L\\xE4nge als Parameter angeben.\",random_sequence_param_label:\"L\\xE4nge der Zeichenkette\",invoices:{title:\"Rechnungen\",invoice_number_format:\"Rechnungsnummernformat\",invoice_number_format_description:\"Passen Sie an, wie Ihre Rechnungsnummer automatisch generiert wird, wenn Sie eine neue Rechnung erstellen.\",preview_invoice_number:\"Vorschau Rechnungsnummer\",due_date:\"F\\xE4lligkeitsdatum\",due_date_description:\"Legen Sie fest, wie das F\\xE4lligkeitsdatum automatisch gesetzt wird, wenn Sie eine Rechnung erstellen.\",due_date_days:\"Rechnung f\\xE4llig nach Tagen\",set_due_date_automatically:\"F\\xE4lligkeitsdatum automatisch setzen\",set_due_date_automatically_description:\"Aktivieren Sie dies, wenn Sie das F\\xE4lligkeitsdatum automatisch setzen m\\xF6chten, wenn Sie eine neue Rechnung erstellen.\",default_formats:\"Standardformate\",default_formats_description:\"Die unten angegebenen Formate werden verwendet, um die Felder bei der Erstellung einer Rechnung automatisch auszuf\\xFCllen.\",default_invoice_email_body:\"Standard Rechnung E-Mail Inhalt\",company_address_format:\"Firmenadressformat\",shipping_address_format:\"Versandadressen Format\",billing_address_format:\"Rechnungsadressen Format\",invoice_email_attachment:\"Rechnungen als Anh\\xE4nge verschicken\",invoice_email_attachment_setting_description:'Aktivieren Sie dies, wenn Sie Rechnungen als E-Mail-Anhang versenden m\\xF6chten. Bitte beachten Sie, dass die Schaltfl\\xE4che \"Rechnung anzeigen\" in E-Mails dann nicht mehr angezeigt wird.',invoice_settings_updated:\"Rechnungseinstellungen erfolgreich aktualisiert\",retrospective_edits:\"R\\xFCckwirkende \\xC4nderungen\",allow:\"Erlauben\",disable_on_invoice_partial_paid:\"Deaktivieren, nachdem Teilzahlung erfasst wurde\",disable_on_invoice_paid:\"Deaktivieren, nachdem vollst\\xE4ndige Zahlung erfasst wurde\",disable_on_invoice_sent:\"Deaktivieren, nachdem Rechnung gesendet wurde\",retrospective_edits_description:\" Basierend auf den Gesetzen Ihres Landes oder Ihrer Pr\\xE4ferenz, k\\xF6nnen Sie Benutzer daran hindern, fertige Rechnungen zu bearbeiten.\"},estimates:{title:\"Angebote\",estimate_number_format:\"Angebotsnummernformat\",estimate_number_format_description:\"Passen Sie an, wie Ihre Angebotsnummer automatisch generiert wird, wenn Sie ein neues Angebot erstellen.\",preview_estimate_number:\"Vorschau Angebotsnummer\",expiry_date:\"Ablaufdatum\",expiry_date_description:\"Legen Sie fest, wie das Ablaufdatum automatisch gesetzt wird, wenn Sie ein Angebot erstellen.\",expiry_date_days:\"Angebot l\\xE4uft ab nach Tagen\",set_expiry_date_automatically:\"Ablaufdatum automatisch setzen\",set_expiry_date_automatically_description:\"Aktivieren Sie dies, wenn Sie das Ablaufdatum automatisch setzen m\\xF6chten sobald Sie ein neues Angebot erstellen.\",default_formats:\"Standardformate\",default_formats_description:\"Die unten angegebenen Formate werden verwendet, um die Felder bei der Erstellung eines Angebots automatisch auszuf\\xFCllen.\",default_estimate_email_body:\"Angebot - E-Mail Text\",company_address_format:\"Firmenadresse Format\",shipping_address_format:\"Versandadressen Format\",billing_address_format:\"Rechnungsadressen Format\",estimate_email_attachment:\"Angebote als Anh\\xE4nge verschicken\",estimate_email_attachment_setting_description:'Aktivieren Sie dies, wenn Sie Angebote als E-Mail-Anhang versenden m\\xF6chten. Bitte beachten Sie, dass die Schaltfl\\xE4che \"Angebot anzeigen\" in E-Mails dann nicht mehr angezeigt wird.',estimate_settings_updated:\"Angebotseinstellungen erfolgreich aktualisiert\",convert_estimate_options:\"Aktion nach Angebotsumwandlung\",convert_estimate_description:\"Legen Sie fest, was mit dem Angebot geschieht, nachdem es in eine Rechnung umgewandelt wurde.\",no_action:\"Keine Aktion\",delete_estimate:\"Angebot l\\xF6schen\",mark_estimate_as_accepted:\"Angebot als angenommen markieren\"},payments:{title:\"Zahlungen\",payment_number_format:\"Zahlungsnummernformat\",payment_number_format_description:\"Passen Sie an, wie Ihre Zahlungsnummer automatisch generiert wird, wenn Sie eine neue Zahlung erstellen.\",preview_payment_number:\"Vorschau Zahlungsnummer\",default_formats:\"Standardformate\",default_formats_description:\"Die unten angegebenen Formate werden verwendet, um die Felder bei der Buchung einer Zahlung automatisch auszuf\\xFCllen.\",default_payment_email_body:\"Zahlung - E-Mail Text\",company_address_format:\"Firmenadressformat\",from_customer_address_format:\"Rechnungsadressen Format\",payment_email_attachment:\"Zahlungen als Anh\\xE4nge verschicken\",payment_email_attachment_setting_description:'Aktivieren Sie dies, wenn Sie Zahlungen als E-Mail-Anhang versenden m\\xF6chten. Bitte beachten Sie, dass die Schaltfl\\xE4che \"Zahlung anzeigen\" in E-Mails dann nicht mehr angezeigt wird.',payment_settings_updated:\"Zahlungseinstellung erfolgreich aktualisiert\"},items:{title:\"Artikel\",units:\"Einheiten\",add_item_unit:\"Artikeleinheit hinzuf\\xFCgen\",edit_item_unit:\"Elementeinheit bearbeiten\",unit_name:\"Einheitname\",item_unit_added:\"Artikeleinheit hinzugef\\xFCgt\",item_unit_updated:\"Artikeleinheit aktualisiert\",item_unit_confirm_delete:\"Du kannst diese Artikeleinheit nicht wiederherstellen\",already_in_use:\"Diese Artikeleinheit ist bereits in Verwendung\",deleted_message:\"Artikeleinheit erfolgreich gel\\xF6scht\"},notes:{title:\"Notizen\",description:\"Sparen Sie Zeit, indem Sie Notizen erstellen und diese auf Ihren Rechnungen, Angeboten und Zahlungen wiederverwenden.\",notes:\"Hinweise\",type:\"Art\",add_note:\"Notiz hinzuf\\xFCgen\",add_new_note:\"Neue Notiz hinzuf\\xFCgen\",name:\"Name\",edit_note:\"Notiz bearbeiten\",note_added:\"Notiz erfolgreich hinzugef\\xFCgt\",note_updated:\"Notiz erfolgreich aktualisiert\",note_confirm_delete:\"Dieser Hinweis wird unwiderruflich gel\\xF6scht\",already_in_use:\"Hinweis bereits in verwendet\",deleted_message:\"Notiz erfolgreich gel\\xF6scht\"}},account_settings:{profile_picture:\"Profil Bild\",name:\"Name\",email:\"E-Mail\",password:\"Passwort\",confirm_password:\"Kennwort Best\\xE4tigen\",account_settings:\"Konto-Einstellungen\",save:\"Speichern\",section_description:\"Sie k\\xF6nnen Ihren Namen, Ihre E-Mail-Adresse und Ihr Passwort mit dem folgenden Formular aktualisieren.\",updated_message:\"Kontoeinstellungen erfolgreich aktualisiert\"},user_profile:{name:\"Name\",email:\"E-Mail\",password:\"Passwort\",confirm_password:\"Kennwort best\\xE4tigen\"},notification:{title:\"Benachrichtigung\",email:\"Benachrichtigungen senden an\",description:\"Welche E-Mail-Benachrichtigungen m\\xF6chten Sie erhalten wenn sich etwas \\xE4ndert?\",invoice_viewed:\"Rechnung angezeigt\",invoice_viewed_desc:\"Wenn Ihr Kunde die gesendete Rechnung anzeigt bekommt.\",estimate_viewed:\"Angebot angesehen\",estimate_viewed_desc:\"Wenn Ihr Kunde das gesendete Angebot anzeigt bekommt.\",save:\"Speichern\",email_save_message:\"Email erfolgreich gespeichert\",please_enter_email:\"Bitte E-Mail eingeben\"},roles:{title:\"Rollen\",description:\"Rollen & Berechtigungen dieses Unternehmens verwalten\",save:\"Speichern\",add_new_role:\"Neue Rolle hinzuf\\xFCgen\",role_name:\"Name der Rolle\",added_on:\"Hinzugef\\xFCgt am\",add_role:\"Rolle hinzuf\\xFCgen\",edit_role:\"Rolle bearbeiten\",name:\"Name\",permission:\"Berechtigung | Berechtigungen\",select_all:\"Alle ausw\\xE4hlen\",none:\"Keine\",confirm_delete:\"Sie werden diese Rolle nicht wiederherstellen k\\xF6nnen\",created_message:\"Rolle erfolgreich erstellt\",updated_message:\"Rolle erfolgreich aktualisiert\",deleted_message:\"Rolle erfolgreich gel\\xF6scht\",already_in_use:\"Rolle wird bereits benutzt\"},exchange_rate:{exchange_rate:\"Wechselkurs\",title:\"Wechselkursprobleme korrigieren\",description:\"Bitte geben Sie den Wechselkurs aller unten genannten W\\xE4hrungen ein, um Crater bei der korrekten Berechnung der Betr\\xE4ge in {currency} zu unterst\\xFCtzen.\",drivers:\"Treiber\",new_driver:\"Neuen Anbieter hinzuf\\xFCgen\",edit_driver:\"Anbieter bearbeiten\",select_driver:\"Treiber ausw\\xE4hlen\",update:\"w\\xE4hle Wechselkurs \",providers_description:\"Konfigurieren Sie hier Ihre Wechselkursanbieter, um automatisch den aktuellen Wechselkurs f\\xFCr Transaktionen abzurufen.\",key:\"API-Schl\\xFCssel\",name:\"Name\",driver:\"Treiber\",is_default:\"STANDARD\",currency:\"W\\xE4hrungen\",exchange_rate_confirm_delete:\"Sie werden diesen Treiber nicht wiederherstellen k\\xF6nnen\",created_message:\"Artikel erfolgreich erstellt\",updated_message:\"Anbieter erfolgreich aktualisiert\",deleted_message:\"Anbieter erfolgreich gel\\xF6scht\",error:\" Aktive Treiber k\\xF6nnen nicht gel\\xF6scht werden\",default_currency_error:\"Diese W\\xE4hrung wird bereits in einem der aktiven Anbieter verwendet\",exchange_help_text:\"Wechselkurs eingeben um von {currency} nach {baseCurrency} zu konvertieren\",currency_freak:\"CurrencyFreaks\",currency_layer:\"Currency Layer\",open_exchange_rate:\"Open Exchange Rate\",currency_converter:\"W\\xE4hrungsumrechner\",server:\"Server\",url:\"URL\",active:\"Aktiv\",currency_help_text:\"Dieser Anbieter wird nur in oben ausgew\\xE4hlten W\\xE4hrungen verwendet\",currency_in_used:\"Die folgenden W\\xE4hrungen sind bereits bei einem anderen Anbieter aktiv. Bitte entfernen Sie diese W\\xE4hrungen aus der Auswahl, um diesen Anbieter erneut zu aktivieren.\"},tax_types:{title:\"Steuers\\xE4tze\",add_tax:\"Steuers\\xE4tze hinzuf\\xFCgen\",edit_tax:\"Steuer bearbeiten\",description:\"Sie k\\xF6nnen Steuern nach Belieben hinzuf\\xFCgen oder entfernen. Crater unterst\\xFCtzt Steuern auf einzelne Artikel sowie auf die Rechnung.\",add_new_tax:\"Neuen Steuersatz hinzuf\\xFCgen\",tax_settings:\"Einstellungen Steuersatz\",tax_per_item:\"Steuersatz pro Artikel\",tax_name:\"Name des Steuersatzes\",compound_tax:\"zusammengesetzte Steuer\",percent:\"Prozent\",action:\"Aktion\",tax_setting_description:\"Aktivieren Sie diese Option, wenn Sie den Steuersatz zu einzelnen Rechnungspositionen hinzuf\\xFCgen m\\xF6chten. Standardm\\xE4\\xDFig wird der Steuersatz direkt zur Rechnung hinzugef\\xFCgt.\",created_message:\"Steuersatz erfolgreich erstellt\",updated_message:\"Steuersatz erfolgreich aktualisiert\",deleted_message:\"Steuersatz erfolgreich gel\\xF6scht\",confirm_delete:\"Sie k\\xF6nnen diesen Steuersatz nicht wiederherstellen\",already_in_use:\"Steuersatz wird bereits verwendet\"},payment_modes:{title:\"Zahlungsarten\",description:\"Transaktionsmodi f\\xFCr Zahlungen\",add_payment_mode:\"Zahlungsart hinzuf\\xFCgen\",edit_payment_mode:\"Zahlungsart bearbeiten\",mode_name:\"Name\",payment_mode_added:\"Zahlungsart hinzugef\\xFCgt\",payment_mode_updated:\"Zahlungsart aktualisiert\",payment_mode_confirm_delete:\"Sie werden diese Zahlungsart nicht wiederherstellen k\\xF6nnen\",payments_attached:\"This payment method is already attached to payments. Please delete the attached payments to proceed with deletion.\",expenses_attached:\"This payment method is already attached to expenses. Please delete the attached expenses to proceed with deletion.\",deleted_message:\"Zahlungsart erfolgreich gel\\xF6scht\"},expense_category:{title:\"Ausgabenkategorien\",action:\"Aktion\",description:\"F\\xFCr das Hinzuf\\xFCgen von Ausgabeneintr\\xE4gen sind Kategorien erforderlich. Sie k\\xF6nnen diese Kategorien nach Ihren W\\xFCnschen hinzuf\\xFCgen oder entfernen.\",add_new_category:\"Neue Kategorie hinzuf\\xFCgen\",add_category:\"Kategorie hinzuf\\xFCgen\",edit_category:\"Kategorie bearbeiten\",category_name:\"Kategorie Name\",category_description:\"Beschreibung\",created_message:\"Ausgabenkategorie erfolgreich erstellt\",deleted_message:\"Ausgabenkategorie erfolgreich gel\\xF6scht\",updated_message:\"Ausgabenkategorie erfolgreich aktualisiert\",confirm_delete:\"Sie k\\xF6nnen diese Ausgabenkategorie nicht wiederherstellen\",already_in_use:\"Kategorie wird bereits verwendet\"},preferences:{currency:\"W\\xE4hrung\",default_language:\"Standardsprache\",time_zone:\"Zeitzone\",fiscal_year:\"Gesch\\xE4ftsjahr\",date_format:\"Datum-Format\",discount_setting:\"Einstellung Rabatt\",discount_per_item:\"Rabatt pro Artikel \",discount_setting_description:\"Aktivieren Sie diese Option, wenn Sie einzelnen Rechnungspositionen einen Rabatt hinzuf\\xFCgen m\\xF6chten. Standardm\\xE4\\xDFig wird der Rabatt direkt zur Rechnung hinzugef\\xFCgt.\",expire_public_links:\"\\xD6ffentliche Links automatisch ablaufen lassen\",expire_setting_description:\"Specify whether you would like to expire all the links sent by application to view invoices, estimates & payments, etc after a specified duration.\",save:\"Speichern\",preference:\"Pr\\xE4ferenz | Pr\\xE4ferenzen\",general_settings:\"Standardeinstellungen f\\xFCr das System.\",updated_message:\"Einstellungen erfolgreich aktualisiert\",select_language:\"Sprache ausw\\xE4hlen\",select_time_zone:\"Zeitzone ausw\\xE4hlen\",select_date_format:\"W\\xE4hle das Datumsformat\",select_financial_year:\"Gesch\\xE4ftsjahr ausw\\xE4hlen\",recurring_invoice_status:\"Status der Serienrechnung\",create_status:\"Status erstellen\",active:\"Aktiv\",on_hold:\"Pausiert\",update_status:\"Status aktualisieren\",completed:\"Abgeschlossen\",company_currency_unchangeable:\"Die W\\xE4hrung des Unternehmens kann nicht ge\\xE4ndert werden\"},update_app:{title:\"Applikation aktualisieren\",description:\"Sie k\\xF6nnen Crater ganz einfach aktualisieren, indem Sie auf die Schaltfl\\xE4che unten klicken, um nach einem neuen Update zu suchen.\",check_update:\"Nach Updates suchen\",avail_update:\"Neues Update verf\\xFCgbar\",next_version:\"N\\xE4chste Version\",requirements:\"Voraussetzungen\",update:\"Jetzt aktualisieren\",update_progress:\"Update l\\xE4uft ...\",progress_text:\"Es dauert nur ein paar Minuten. Bitte aktualisieren Sie den Bildschirm nicht und schlie\\xDFen Sie das Fenster nicht, bevor das Update abgeschlossen ist.\",update_success:\"App wurde aktualisiert! Bitte warten Sie, w\\xE4hrend Ihr Browserfenster automatisch neu geladen wird.\",latest_message:\"Kein Update verf\\xFCgbar! Du bist auf der neuesten Version.\",current_version:\"Aktuelle Version\",download_zip_file:\"Laden Sie die ZIP-Datei herunter\",unzipping_package:\"Paket entpacken\",copying_files:\"Dateien kopieren\",deleting_files:\"Ungenutzte Dateien l\\xF6schen\",running_migrations:\"Ausf\\xFChren von Migrationen\",finishing_update:\"Update beenden\",update_failed:\"Update fehlgeschlagen\",update_failed_text:\"Es tut uns leid! Ihr Update ist am folgenden Schritt fehlgeschlagen: {step}\",update_warning:\"Alle Anwendungsdateien und Standardvorlagen werden \\xFCberschrieben, wenn Sie die Anwendung mit diesem Hilfsprogramm aktualisieren. Bitte machen Sie vor dem Update ein Backup Ihrer Vorlagen & Datenbank.\"},backup:{title:\"Sicherung | Sicherungen\",description:\"Die Sicherung ist eine ZIP-Datei, die alle Dateien der ausgew\\xE4hlten Pfade und eine Kopie der Datenbank enth\\xE4lt\",new_backup:\"Neues Backup\",create_backup:\"Datensicherung erstellen\",select_backup_type:\"W\\xE4hlen Sie den Sicherungs-Typ\",backup_confirm_delete:\"Dieses Backup wird unwiderruflich gel\\xF6scht\",path:\"Pfad\",new_disk:\"Speicher hinzuf\\xFCgen\",created_at:\"erstellt am\",size:\"Gr\\xF6\\xDFe\",dropbox:\"Dropbox\",local:\"Lokal\",healthy:\"intakt\",amount_of_backups:\"Menge an Sicherungen\",newest_backups:\"Neuste Sicherung\",used_storage:\"Verwendeter Speicher\",select_disk:\"Speicher ausw\\xE4hlen\",action:\"Aktion\",deleted_message:\"Sicherung erfolgreich gel\\xF6scht\",created_message:\"Backup erfolgreich erstellt\",invalid_disk_credentials:\"Ung\\xFCltige Anmeldeinformationen f\\xFCr ausgew\\xE4hlten Speicher\"},disk:{title:\"Dateispeicher | Dateispeicher\",description:\"Standardm\\xE4\\xDFig verwendet Crater Ihre lokale Festplatte zum Speichern von Sicherungen, Avatar und anderen Bilddateien. Sie k\\xF6nnen mehr als einen Speicherort wie DigitalOcean, S3 und Dropbox nach Ihren W\\xFCnschen konfigurieren.\",created_at:\"erstellt am\",dropbox:\"Dropbox\",name:\"Name\",driver:\"Treiber\",disk_type:\"Art\",disk_name:\"Speicher Bezeichnung\",new_disk:\"Speicher hinzuf\\xFCgen\",filesystem_driver:\"Dateisystem-Treiber\",local_driver:\"Lokaler Treiber\",local_root:\"Lokaler Pfad\",public_driver:\"\\xD6ffentlicher Treiber\",public_root:\"\\xD6ffentlicher Pfad\",public_url:\"\\xD6ffentliche URL\",public_visibility:\"\\xD6ffentliche Sichtbarkeit\",media_driver:\"Medientreiber\",media_root:\"Medienpfad\",aws_driver:\"AWS-Treiber\",aws_key:\"AWS-Schl\\xFCssel\",aws_secret:\"AWS-Geheimnis\",aws_region:\"AWS-Region\",aws_bucket:\"AWS Bucket\",aws_root:\"AWS-Pfad\",do_spaces_type:\"Do Spaces-Typ\",do_spaces_key:\"Do Spaces Key\",do_spaces_secret:\"Do Spaces Secret\",do_spaces_region:\"Do Spaced Region\",do_spaces_bucket:\"Do Spaces Bucket\",do_spaces_endpoint:\"Do Spaces Endpoint\",do_spaces_root:\"Do Spaced Root\",dropbox_type:\"Dropbox Typ\",dropbox_token:\"Dropbox Token\",dropbox_key:\"Dropbox Schl\\xFCssel\",dropbox_secret:\"Dropbox Secret\",dropbox_app:\"Dropbox App\",dropbox_root:\"Dropbox Root\",default_driver:\"Standard-Treiber\",is_default:\"Standard\",set_default_disk:\"Als Standard festlegen\",set_default_disk_confirm:\"Dieser Speicherort wird als Standard gesetzt und alle neuen PDFs werden auf diesem gespeichert\",success_set_default_disk:\"Speicher wurde als Standard festgelegt\",save_pdf_to_disk:\"PDFs auf Festplatte speichern\",disk_setting_description:\" Aktivieren Sie dies, um eine Kopie von jeder Rechnung, jedem Angebot & jedem Zahlungsbeleg als PDF automatisch auf ihrem Standard-Speicher abzulegen. Wenn Sie diese Option aktivieren, verringert sich die Ladezeit beim Betrachten der PDFs.\",select_disk:\"Speicherort ausw\\xE4hlen\",disk_settings:\"Speichermedienkonfiguration\",confirm_delete:\"Ihre existierenden Dateien und Ordner auf der angegebenen Festplatte werden nicht beeinflusst, aber Dieser Speicherort wird aus Crater gel\\xF6scht\",action:\"Aktion\",edit_file_disk:\"Speicherort editieren\",success_create:\"Speicher erfolgreich hinzugef\\xFCgt\",success_update:\"Speicher erfolgreich bearbeitet\",error:\"Hinzuf\\xFCgen des Speichers gescheitert\",deleted_message:\"Speicher erfolgreich gel\\xF6scht\",disk_variables_save_successfully:\"Speicher erfolgreich konfiguriert\",disk_variables_save_error:\"Konfiguration des Speicher gescheitert\",invalid_disk_credentials:\"Ung\\xFCltige Anmeldeinformationen f\\xFCr ausgew\\xE4hlten Speicher\"},taxations:{add_billing_address:\"Rechnungsadresse eingeben\",add_shipping_address:\"Lieferadresse eingeben\",add_company_address:\"Firmenadresse eingeben\",modal_description:\"The information below is required in order to fetch sales tax.\",add_address:\"Add Address for fetching sales tax.\",address_placeholder:\"Beispiel: 123, meine Stra\\xDFe\",city_placeholder:\"Beispiel: Los Angeles\",state_placeholder:\"Beispiel: CA\",zip_placeholder:\"Beispiel: 90024\",invalid_address:\"Bitte geben Sie g\\xFCltige Adressdaten an.\"}},sc={account_info:\"Account-Informationen\",account_info_desc:\"Die folgenden Details werden zum Erstellen des Hauptadministratorkontos verwendet. Sie k\\xF6nnen die Details auch jederzeit nach dem Anmelden \\xE4ndern.\",name:\"Name\",email:\"E-Mail\",password:\"Passwort\",confirm_password:\"Passwort best\\xE4tigen\",save_cont:\"Speichern und weiter\",company_info:\"Unternehmensinformationen\",company_info_desc:\"Diese Informationen werden auf Rechnungen angezeigt. Beachten Sie, dass Sie diese sp\\xE4ter auf der Einstellungsseite bearbeiten k\\xF6nnen.\",company_name:\"Firmenname\",company_logo:\"Firmenlogo\",logo_preview:\"Vorschau Logo\",preferences:\"Einstellungen\",preferences_desc:\"Standardeinstellungen f\\xFCr das System.\",currency_set_alert:\"Die W\\xE4hrung des Unternehmens kann sp\\xE4ter nicht mehr ge\\xE4ndert werden.\",country:\"Land\",state:\"Bundesland\",city:\"Stadt\",address:\"Adresse\",street:\"Stra\\xDFe1 | Stra\\xDFe2\",phone:\"Telefon\",zip_code:\"Postleitzahl\",go_back:\"Zur\\xFCck\",currency:\"W\\xE4hrung\",language:\"Sprache\",time_zone:\"Zeitzone\",fiscal_year:\"Gesch\\xE4ftsjahr\",date_format:\"Datumsformat\",from_address:\"Absender\",username:\"Benutzername\",next:\"Weiter\",continue:\"Weiter\",skip:\"\\xDCberspringen\",database:{database:\"URL der Seite & Datenbank\",connection:\"Datenbank Verbindung\",host:\"Datenbank Host\",port:\"Datenbank Port\",password:\"Datenbank Passwort\",app_url:\"App-URL\",app_domain:\"Domain der App\",username:\"Datenbank Benutzername\",db_name:\"Datenbank Name\",db_path:\"Datenbankpfad\",desc:\"Erstellen Sie eine Datenbank auf Ihrem Server und legen Sie die Anmeldeinformationen mithilfe des folgenden Formulars fest.\"},permissions:{permissions:\"Berechtigungen\",permission_confirm_title:\"Sind Sie sicher, dass Sie fortfahren m\\xF6chten?\",permission_confirm_desc:\"Pr\\xFCfung der Berechtigung der Ordner fehlgeschlagen.\",permission_desc:\"Unten finden Sie eine Liste der Ordnerberechtigungen, die erforderlich sind, damit die App funktioniert. Wenn die Berechtigungspr\\xFCfung fehlschl\\xE4gt, m\\xFCssen Sie Ihre Ordnerberechtigungen aktualisieren.\"},verify_domain:{title:\"Domain-Verifizierung\",desc:\"Crater verwendet Session-basierte Authentifizierung, die aus Sicherheitsgr\\xFCnden eine Domain-Verifizierung erfordert. Bitte geben Sie die Domain ein, auf der Sie auf Ihre Webanwendung zugreifen werden.\",app_domain:\"Domain der App\",verify_now:\"Jetzt verifizieren\",success:\"Domain erfolgreich verifiziert.\",failed:\"Domain\\xFCberpr\\xFCfung fehlgeschlagen. Bitte geben Sie einen g\\xFCltigen Domainnamen ein.\",verify_and_continue:\"Verifizieren und fortfahren\"},mail:{host:\"E-Mail-Host\",port:\"E-Mail-Port\",driver:\"E-Mail-Treiber\",secret:\"Verschl\\xFCsselung\",mailgun_secret:\"Mailgun Verschl\\xFCsselung\",mailgun_domain:\"Domain\",mailgun_endpoint:\"Mailgun-Endpunkt\",ses_secret:\"SES Verschl\\xFCsselung\",ses_key:\"SES-Taste\",password:\"E-Mail-Passwort\",username:\"E-Mail-Benutzername\",mail_config:\"E-Mail-Konfiguration\",from_name:\"Von E-Mail-Absendername\",from_mail:\"Von E-Mail-Absenderadresse\",encryption:\"E-Mail-Verschl\\xFCsselung\",mail_config_desc:\"Unten finden Sie das Formular zum Konfigurieren des E-Mail-Treibers zum Senden von E-Mails \\xFCber die App. Sie k\\xF6nnen auch Drittanbieter wie Sendgrid, SES usw. konfigurieren.\"},req:{system_req:\"System Anforderungen\",php_req_version:\"Php (version {version} erforderlich)\",check_req:\"Anforderungen pr\\xFCfen\",system_req_desc:\"Crater hat einige Serveranforderungen. Stellen Sie sicher, dass Ihr Server die erforderliche PHP-Version und alle unten genannten Erweiterungen hat.\"},errors:{migrate_failed:\"Migration ist Fehlgeschlagen\",database_variables_save_error:\"Konfiguration kann nicht in EN.env-Datei geschrieben werden. Bitte \\xFCberpr\\xFCfen Sie die Dateiberechtigungen.\",mail_variables_save_error:\"E-Mail-Konfiguration fehlgeschlagen.\",connection_failed:\"Datenbankverbindung fehlgeschlagen\",database_should_be_empty:\"Datenbank sollte leer sein\"},success:{mail_variables_save_successfully:\"E-Mail erfolgreich konfiguriert\",database_variables_save_successfully:\"Datenbank erfolgreich konfiguriert.\"}},rc={invalid_phone:\"Ung\\xFCltige Telefonnummer\",invalid_url:\"Ung\\xFCltige URL (Bsp.: http://www.crater.com)\",invalid_domain_url:\"Ung\\xFCltige URL (Bsp.: crater.com)\",required:\"Feld ist erforderlich\",email_incorrect:\"Ung\\xFCltige E-Mail.\",email_already_taken:\"Die E-Mail ist bereits vergeben.\",email_does_not_exist:\"Benutzer mit der angegebenen E-Mail existiert nicht\",item_unit_already_taken:\"Die Artikeleinheit wurde bereits vergeben\",payment_mode_already_taken:\"Der Zahlungsmodus wurde bereits verwendet\",send_reset_link:\"Link zum Zur\\xFCcksetzen senden\",not_yet:\"Noch erhalten? Erneut senden\",password_min_length:\"Password mu\\xDF {count} Zeichen enthalten\",name_min_length:\"Name muss mindestens {count} Zeichen enthalten.\",prefix_min_length:\"Pr\\xE4fix muss mindestens {count} Buchstaben enthalten.\",enter_valid_tax_rate:\"Geben Sie einen g\\xFCltige Steuersatz ein\",numbers_only:\"Nur Zahlen.\",characters_only:\"Nur Zeichen.\",password_incorrect:\"Passw\\xF6rter m\\xFCssen identisch sein\",password_length:\"Passwort muss {count} Zeichen lang sein.\",qty_must_greater_than_zero:\"Die Menge muss gr\\xF6\\xDFer als 0 sein.\",price_greater_than_zero:\"Preis muss gr\\xF6\\xDFer als 0 sein.\",payment_greater_than_zero:\"Die Zahlung muss gr\\xF6\\xDFer als 0 sein.\",payment_greater_than_due_amount:\"Die eingegebene Zahlung ist mehr als der f\\xE4llige Betrag dieser Rechnung.\",quantity_maxlength:\"Die Menge sollte nicht gr\\xF6\\xDFer als 20 Ziffern sein.\",price_maxlength:\"Der Preis sollte nicht gr\\xF6\\xDFer als 20 Ziffern sein.\",price_minvalue:\"Der Preis sollte gr\\xF6\\xDFer als 0 sein.\",amount_maxlength:\"Der Betrag sollte nicht gr\\xF6\\xDFer als 20 Ziffern sein.\",amount_minvalue:\"Betrag sollte gr\\xF6\\xDFer als 0 sein.\",discount_maxlength:\"Rabatt sollte nicht gr\\xF6\\xDFer als der maximale Rabatt sein\",description_maxlength:\"Die Beschreibung sollte nicht l\\xE4nger als 255 Zeichen sein.\",subject_maxlength:\"Der Betreff sollte nicht l\\xE4nger als 100 Zeichen sein.\",message_maxlength:\"Die Nachricht sollte nicht l\\xE4nger als 255 Zeichen sein.\",maximum_options_error:\"Maximal {max} Optionen ausgew\\xE4hlt. Entfernen Sie zuerst eine ausgew\\xE4hlte Option, um eine andere auszuw\\xE4hlen.\",notes_maxlength:\"Notizen sollten nicht l\\xE4nger als 255 Zeichen sein.\",address_maxlength:\"Die Adresse sollte nicht l\\xE4nger als 255 Zeichen sein.\",ref_number_maxlength:\"Ref Number sollte nicht l\\xE4nger als 255 Zeichen sein.\",prefix_maxlength:\"Das Pr\\xE4fix sollte nicht l\\xE4nger als 5 Zeichen sein.\",something_went_wrong:\"Da ist etwas schief gelaufen\",number_length_minvalue:\"Nummernl\\xE4nge sollte gr\\xF6\\xDFer als 0 sein\",at_least_one_ability:\"Bitte w\\xE4hlen Sie mindestens eine Berechtigung aus.\",valid_driver_key:\"Bitte geben Sie einen g\\xFCltigen {driver} Schl\\xFCssel ein.\",valid_exchange_rate:\"Bitte geben Sie einen g\\xFCltigen Wechselkurs ein.\",company_name_not_same:\"Name des Unternehmens muss mit dem angegebenen Namen \\xFCbereinstimmen.\"},dc={starter_plan:\"Diese Funktion ist erst ab dem Starterplan verf\\xFCgbar!\",invalid_provider_key:\"Bitte geben Sie einen g\\xFCltigen API-Schl\\xFCssel f\\xFCr den Anbieter ein.\",estimate_number_used:\"Die Angebotsnummer ist bereits vergeben.\",invoice_number_used:\"Die Rechnungsnummer ist bereits vergeben.\",payment_attached:\"Dieser Rechnung ist bereits eine Zahlung zugewiesen. Bitte zuerst die zugewiesenen Zahlungen l\\xF6schen, um mit der Entfernung fortzufahren.\",payment_number_used:\"Die Zahlungsnummer ist bereits vergeben.\",name_already_taken:\"Der Name ist bereits vergeben.\",receipt_does_not_exist:\"Beleg existiert nicht.\",customer_cannot_be_changed_after_payment_is_added:\"Kunde kann nach dem Hinzuf\\xFCgen der Zahlung nicht ge\\xE4ndert werden\",invalid_credentials:\"Ung\\xFCltige Anmeldeinformationen.\",not_allowed:\"Nicht erlaubt\",login_invalid_credentials:\"Diese Anmeldeinformationen stimmen nicht mit unseren Aufzeichnungen \\xFCberein.\",enter_valid_cron_format:\"Bitte geben Sie ein g\\xFCltiges Cron-Format ein\",email_could_not_be_sent:\"Die E-Mail konnte nicht an diese Adresse gesendet werden.\",invalid_address:\"Please enter a valid address.\",invalid_key:\"Please enter valid key.\",invalid_state:\"Please enter a valid state.\",invalid_city:\"Please enter a valid city.\",invalid_postal_code:\"Please enter a valid zip.\",invalid_format:\"Please enter valid query string format.\",api_error:\"Der Server antwortet nicht.\",feature_not_enabled:\"Funktion nicht aktiviert.\",request_limit_met:\"Api request limit exceeded.\",address_incomplete:\"Unvollst\\xE4ndige Adresse\"},lc=\"Angebot\",cc=\"Angebotsnummer\",_c=\"Angebotsdatum\",uc=\"Ablaufdatum\",mc=\"Rechnung\",pc=\"Rechnungsnummer\",fc=\"Rechnungsdatum\",gc=\"F\\xE4lligkeitsdatum\",vc=\"Hinweise\",yc=\"Artikel\",hc=\"Menge\",bc=\"Preis\",kc=\"Rabatt\",wc=\"Summe\",zc=\"Zwischensumme\",xc=\"Gesamt\",Pc=\"Zahlung\",Sc=\"Zahlungsbeleg\",jc=\"Zahlungsdatum\",Ac=\"Zahlungsnummer\",Dc=\"Zahlungsart\",Cc=\"Betrag erhalten\",Nc=\"Ausgaben Bericht\",Ec=\"Gesamtausgaben\",Ic=\"Gewinn & Verlust Bericht\",Tc=\"Kundenverkaufs Bericht\",Rc=\"Artikelverkaufs Bericht\",Mc=\"Steuer Bericht\",Fc=\"Einkommen\",$c=\"Nettogewinn\",Uc=\"Umsatzbericht: Nach Kunde\",Vc=\"GESAMTUMSATZ\",Oc=\"Umsatzbericht: Nach Artikel\",Lc=\"Umsatzsteuer BERICHT\",qc=\"Gesamte Umsatzsteuer\",Bc=\"Steuers\\xE4tze\",Kc=\"Ausgaben\",Zc=\"Rechnungsempf\\xE4nger:\",Wc=\"Versand an:\",Hc=\"Erhalten von:\",Yc=\"Steuer\";var Gc={navigation:Ol,general:Ll,dashboard:ql,tax_types:Bl,global_search:Kl,company_switcher:Zl,dateRange:Wl,customers:Hl,items:Yl,estimates:Gl,invoices:Jl,recurring_invoices:Ql,payments:Xl,expenses:ec,login:tc,modules:ac,users:nc,reports:ic,settings:oc,wizard:sc,validation:rc,errors:dc,pdf_estimate_label:lc,pdf_estimate_number:cc,pdf_estimate_date:_c,pdf_estimate_expire_date:uc,pdf_invoice_label:mc,pdf_invoice_number:pc,pdf_invoice_date:fc,pdf_invoice_due_date:gc,pdf_notes:vc,pdf_items_label:yc,pdf_quantity_label:hc,pdf_price_label:bc,pdf_discount_label:kc,pdf_amount_label:wc,pdf_subtotal:zc,pdf_total:xc,pdf_payment_label:Pc,pdf_payment_receipt_label:Sc,pdf_payment_date:jc,pdf_payment_number:Ac,pdf_payment_mode:Dc,pdf_payment_amount_received_label:Cc,pdf_expense_report_label:Nc,pdf_total_expenses_label:Ec,pdf_profit_loss_label:Ic,pdf_sales_customers_label:Tc,pdf_sales_items_label:Rc,pdf_tax_summery_label:Mc,pdf_income_label:Fc,pdf_net_profit_label:$c,pdf_customer_sales_report:Uc,pdf_total_sales_label:Vc,pdf_item_sales_label:Oc,pdf_tax_report_label:Lc,pdf_total_tax_label:qc,pdf_tax_types_label:Bc,pdf_expenses_label:Kc,pdf_bill_to:Zc,pdf_ship_to:Wc,pdf_received_from:Hc,pdf_tax_label:Yc};const Jc={dashboard:\"Dashboard\",customers:\"Customers\",items:\"Items\",invoices:\"Invoices\",\"recurring-invoices\":\"Recurring Invoices\",expenses:\"Expenses\",estimates:\"Estimates\",payments:\"Payments\",reports:\"Reports\",settings:\"Settings\",logout:\"Logout\",users:\"Users\",modules:\"Modules\"},Qc={add_company:\"Add Company\",view_pdf:\"View PDF\",copy_pdf_url:\"Copy PDF Url\",download_pdf:\"Download PDF\",save:\"Save\",create:\"Create\",cancel:\"Cancel\",update:\"Update\",deselect:\"Deselect\",download:\"Download\",from_date:\"From Date\",to_date:\"To Date\",from:\"From\",to:\"To\",ok:\"Ok\",yes:\"Yes\",no:\"No\",sort_by:\"Sort By\",ascending:\"Ascending\",descending:\"Descending\",subject:\"Subject\",body:\"Body\",message:\"Message\",send:\"Send\",preview:\"Preview\",go_back:\"Go Back\",back_to_login:\"Back to Login?\",home:\"Home\",filter:\"Filter\",delete:\"Delete\",edit:\"Edit\",view:\"View\",add_new_item:\"Add New Item\",clear_all:\"Clear All\",showing:\"Showing\",of:\"of\",actions:\"Actions\",subtotal:\"SUBTOTAL\",discount:\"DISCOUNT\",fixed:\"Fixed\",percentage:\"Percentage\",tax:\"TAX\",total_amount:\"TOTAL AMOUNT\",bill_to:\"Bill to\",ship_to:\"Ship to\",due:\"Due\",draft:\"Draft\",sent:\"Sent\",all:\"All\",select_all:\"Select All\",select_template:\"Select Template\",choose_file:\"Click here to choose a file\",choose_template:\"Choose a template\",choose:\"Choose\",remove:\"Remove\",select_a_status:\"Select a status\",select_a_tax:\"Select a tax\",search:\"Search\",are_you_sure:\"Are you sure?\",list_is_empty:\"List is empty.\",no_tax_found:\"No tax found!\",four_zero_four:\"404\",you_got_lost:\"Whoops! You got Lost!\",go_home:\"Go Home\",test_mail_conf:\"Test Mail Configuration\",send_mail_successfully:\"Mail sent successfully\",setting_updated:\"Setting updated successfully\",select_state:\"Select state\",select_country:\"Select Country\",select_city:\"Select City\",street_1:\"Street 1\",street_2:\"Street 2\",action_failed:\"Action Failed\",retry:\"Retry\",choose_note:\"Choose Note\",no_note_found:\"No Note Found\",insert_note:\"Insert Note\",copied_pdf_url_clipboard:\"Copied PDF url to clipboard!\",copied_url_clipboard:\"Copied url to clipboard!\",docs:\"Docs\",do_you_wish_to_continue:\"Do you wish to continue?\",note:\"Note\",pay_invoice:\"Pay Invoice\",login_successfully:\"Logged in successfully!\",logged_out_successfully:\"Logged out successfully\",mark_as_default:\"Mark as default\"},Xc={select_year:\"Select year\",cards:{due_amount:\"Amount Due\",customers:\"Customers\",invoices:\"Invoices\",estimates:\"Estimates\",payments:\"Payments\"},chart_info:{total_sales:\"Sales\",total_receipts:\"Receipts\",total_expense:\"Expenses\",net_income:\"Net Income\",year:\"Select year\"},monthly_chart:{title:\"Sales & Expenses\"},recent_invoices_card:{title:\"Due Invoices\",due_on:\"Due On\",customer:\"Customer\",amount_due:\"Amount Due\",actions:\"Actions\",view_all:\"View All\"},recent_estimate_card:{title:\"Recent Estimates\",date:\"Date\",customer:\"Customer\",amount_due:\"Amount Due\",actions:\"Actions\",view_all:\"View All\"}},e_={name:\"Name\",description:\"Description\",percent:\"Percent\",compound_tax:\"Compound Tax\"},t_={search:\"Search...\",customers:\"Customers\",users:\"Users\",no_results_found:\"No Results Found\"},a_={label:\"SWITCH COMPANY\",no_results_found:\"No Results Found\",add_new_company:\"Add new company\",new_company:\"New company\",created_message:\"Company created successfully\"},n_={today:\"Today\",this_week:\"This Week\",this_month:\"This Month\",this_quarter:\"This Quarter\",this_year:\"This Year\",previous_week:\"Previous Week\",previous_month:\"Previous Month\",previous_quarter:\"Previous Quarter\",previous_year:\"Previous Year\",custom:\"Custom\"},i_={title:\"Customers\",prefix:\"Prefix\",add_customer:\"Add Customer\",contacts_list:\"Customer List\",name:\"Name\",mail:\"Mail | Mails\",statement:\"Statement\",display_name:\"Display Name\",primary_contact_name:\"Primary Contact Name\",contact_name:\"Contact Name\",amount_due:\"Amount Due\",email:\"Email\",address:\"Address\",phone:\"Phone\",website:\"Website\",overview:\"Overview\",invoice_prefix:\"Invoice Prefix\",estimate_prefix:\"Estimate Prefix\",payment_prefix:\"Payment Prefix\",enable_portal:\"Enable Portal\",country:\"Country\",state:\"State\",city:\"City\",zip_code:\"Zip Code\",added_on:\"Added On\",action:\"Action\",password:\"Password\",confirm_password:\"Confirm Password\",street_number:\"Street Number\",primary_currency:\"Primary Currency\",description:\"Description\",add_new_customer:\"Add New Customer\",save_customer:\"Save Customer\",update_customer:\"Update Customer\",customer:\"Customer | Customers\",new_customer:\"New Customer\",edit_customer:\"Edit Customer\",basic_info:\"Basic Info\",portal_access:\"Portal Access\",portal_access_text:\"Would you like to allow this customer to login to the Customer Portal?\",portal_access_url:\"Customer Portal Login URL\",portal_access_url_help:\"Please copy & forward the above given URL to your customer for providing access.\",billing_address:\"Billing Address\",shipping_address:\"Shipping Address\",copy_billing_address:\"Copy from Billing\",no_customers:\"No customers yet!\",no_customers_found:\"No customers found!\",no_contact:\"No contact\",no_contact_name:\"No contact name\",list_of_customers:\"This section will contain the list of customers.\",primary_display_name:\"Primary Display Name\",select_currency:\"Select currency\",select_a_customer:\"Select a customer\",type_or_click:\"Type or click to select\",new_transaction:\"New Transaction\",no_matching_customers:\"There are no matching customers!\",phone_number:\"Phone Number\",create_date:\"Create Date\",confirm_delete:\"You will not be able to recover this customer and all the related Invoices, Estimates and Payments. | You will not be able to recover these customers and all the related Invoices, Estimates and Payments.\",created_message:\"Customer created successfully\",updated_message:\"Customer updated successfully\",address_updated_message:\"Address Information Updated succesfully\",deleted_message:\"Customer deleted successfully | Customers deleted successfully\",edit_currency_not_allowed:\"Cannot change currency once transactions created.\"},o_={title:\"Items\",items_list:\"Items List\",name:\"Name\",unit:\"Unit\",description:\"Description\",added_on:\"Added On\",price:\"Price\",date_of_creation:\"Date Of Creation\",not_selected:\"No item selected\",action:\"Action\",add_item:\"Add Item\",save_item:\"Save Item\",update_item:\"Update Item\",item:\"Item | Items\",add_new_item:\"Add New Item\",new_item:\"New Item\",edit_item:\"Edit Item\",no_items:\"No items yet!\",list_of_items:\"This section will contain the list of items.\",select_a_unit:\"select unit\",taxes:\"Taxes\",item_attached_message:\"Cannot delete an item which is already in use\",confirm_delete:\"You will not be able to recover this Item | You will not be able to recover these Items\",created_message:\"Item created successfully\",updated_message:\"Item updated successfully\",deleted_message:\"Item deleted successfully | Items deleted successfully\"},s_={title:\"Estimates\",accept_estimate:\"Accept Estimate\",reject_estimate:\"Reject Estimate\",estimate:\"Estimate | Estimates\",estimates_list:\"Estimates List\",days:\"{days} Days\",months:\"{months} Month\",years:\"{years} Year\",all:\"All\",paid:\"Paid\",unpaid:\"Unpaid\",customer:\"CUSTOMER\",ref_no:\"REF NO.\",number:\"NUMBER\",amount_due:\"AMOUNT DUE\",partially_paid:\"Partially Paid\",total:\"Total\",discount:\"Discount\",sub_total:\"Sub Total\",estimate_number:\"Estimate Number\",ref_number:\"Ref Number\",contact:\"Contact\",add_item:\"Add an Item\",date:\"Date\",due_date:\"Due Date\",expiry_date:\"Expiry Date\",status:\"Status\",add_tax:\"Add Tax\",amount:\"Amount\",action:\"Action\",notes:\"Notes\",tax:\"Tax\",estimate_template:\"Template\",convert_to_invoice:\"Convert to Invoice\",mark_as_sent:\"Mark as Sent\",send_estimate:\"Send Estimate\",resend_estimate:\"Resend Estimate\",record_payment:\"Record Payment\",add_estimate:\"Add Estimate\",save_estimate:\"Save Estimate\",confirm_conversion:\"This estimate will be used to create a new Invoice.\",conversion_message:\"Invoice created successful\",confirm_send_estimate:\"This estimate will be sent via email to the customer\",confirm_mark_as_sent:\"This estimate will be marked as sent\",confirm_mark_as_accepted:\"This estimate will be marked as Accepted\",confirm_mark_as_rejected:\"This estimate will be marked as Rejected\",no_matching_estimates:\"There are no matching estimates!\",mark_as_sent_successfully:\"Estimate marked as sent successfully\",send_estimate_successfully:\"Estimate sent successfully\",errors:{required:\"Field is required\"},accepted:\"Accepted\",rejected:\"Rejected\",expired:\"Expired\",sent:\"Sent\",draft:\"Draft\",viewed:\"Viewed\",declined:\"Declined\",new_estimate:\"New Estimate\",add_new_estimate:\"Add New Estimate\",update_Estimate:\"Update Estimate\",edit_estimate:\"Edit Estimate\",items:\"items\",Estimate:\"Estimate | Estimates\",add_new_tax:\"Add New Tax\",no_estimates:\"No estimates yet!\",list_of_estimates:\"This section will contain the list of estimates.\",mark_as_rejected:\"Mark as rejected\",mark_as_accepted:\"Mark as accepted\",marked_as_accepted_message:\"Estimate marked as accepted\",marked_as_rejected_message:\"Estimate marked as rejected\",confirm_delete:\"You will not be able to recover this Estimate | You will not be able to recover these Estimates\",created_message:\"Estimate created successfully\",updated_message:\"Estimate updated successfully\",deleted_message:\"Estimate deleted successfully | Estimates deleted successfully\",something_went_wrong:\"something went wrong\",item:{title:\"Item Title\",description:\"Description\",quantity:\"Quantity\",price:\"Price\",discount:\"Discount\",total:\"Total\",total_discount:\"Total Discount\",sub_total:\"Sub Total\",tax:\"Tax\",amount:\"Amount\",select_an_item:\"Type or click to select an item\",type_item_description:\"Type Item Description (optional)\"},mark_as_default_estimate_template_description:\"If enabled, the selected template will be automatically selected for new estimates.\"},r_={title:\"Invoices\",download:\"Download\",pay_invoice:\"Pay Invoice\",invoices_list:\"Invoices List\",invoice_information:\"Invoice Information\",days:\"{days} Days\",months:\"{months} Month\",years:\"{years} Year\",all:\"All\",paid:\"Paid\",unpaid:\"Unpaid\",viewed:\"Viewed\",overdue:\"Overdue\",completed:\"Completed\",customer:\"CUSTOMER\",paid_status:\"PAID STATUS\",ref_no:\"REF NO.\",number:\"NUMBER\",amount_due:\"AMOUNT DUE\",partially_paid:\"Partially Paid\",total:\"Total\",discount:\"Discount\",sub_total:\"Sub Total\",invoice:\"Invoice | Invoices\",invoice_number:\"Invoice Number\",ref_number:\"Ref Number\",contact:\"Contact\",add_item:\"Add an Item\",date:\"Date\",due_date:\"Due Date\",status:\"Status\",add_tax:\"Add Tax\",amount:\"Amount\",action:\"Action\",notes:\"Notes\",view:\"View\",send_invoice:\"Send Invoice\",resend_invoice:\"Resend Invoice\",invoice_template:\"Invoice Template\",conversion_message:\"Invoice cloned successful\",template:\"Select Template\",mark_as_sent:\"Mark as sent\",confirm_send_invoice:\"This invoice will be sent via email to the customer\",invoice_mark_as_sent:\"This invoice will be marked as sent\",confirm_mark_as_accepted:\"This invoice will be marked as Accepted\",confirm_mark_as_rejected:\"This invoice will be marked as Rejected\",confirm_send:\"This invoice will be sent via email to the customer\",invoice_date:\"Invoice Date\",record_payment:\"Record Payment\",add_new_invoice:\"Add New Invoice\",update_expense:\"Update Expense\",edit_invoice:\"Edit Invoice\",new_invoice:\"New Invoice\",save_invoice:\"Save Invoice\",update_invoice:\"Update Invoice\",add_new_tax:\"Add New Tax\",no_invoices:\"No Invoices yet!\",mark_as_rejected:\"Mark as rejected\",mark_as_accepted:\"Mark as accepted\",list_of_invoices:\"This section will contain the list of invoices.\",select_invoice:\"Select Invoice\",no_matching_invoices:\"There are no matching invoices!\",mark_as_sent_successfully:\"Invoice marked as sent successfully\",invoice_sent_successfully:\"Invoice sent successfully\",cloned_successfully:\"Invoice cloned successfully\",clone_invoice:\"Clone Invoice\",confirm_clone:\"This invoice will be cloned into a new Invoice\",item:{title:\"Item Title\",description:\"Description\",quantity:\"Quantity\",price:\"Price\",discount:\"Discount\",total:\"Total\",total_discount:\"Total Discount\",sub_total:\"Sub Total\",tax:\"Tax\",amount:\"Amount\",select_an_item:\"Type or click to select an item\",type_item_description:\"Type Item Description (optional)\"},payment_attached_message:\"One of the selected invoices already have a payment attached to it. Make sure to delete the attached payments first in order to go ahead with the removal\",confirm_delete:\"You will not be able to recover this Invoice | You will not be able to recover these Invoices\",created_message:\"Invoice created successfully\",updated_message:\"Invoice updated successfully\",deleted_message:\"Invoice deleted successfully | Invoices deleted successfully\",marked_as_sent_message:\"Invoice marked as sent successfully\",something_went_wrong:\"something went wrong\",invalid_due_amount_message:\"Total Invoice amount cannot be less than total paid amount for this Invoice. Please update the invoice or delete the associated payments to continue.\",mark_as_default_invoice_template_description:\"If enabled, the selected template will be automatically selected for new invoices.\"},d_={title:\"Recurring Invoices\",invoices_list:\"Recurring Invoices List\",days:\"{days} Days\",months:\"{months} Month\",years:\"{years} Year\",all:\"All\",paid:\"Paid\",unpaid:\"Unpaid\",viewed:\"Viewed\",overdue:\"Overdue\",active:\"Active\",completed:\"Completed\",customer:\"CUSTOMER\",paid_status:\"PAID STATUS\",ref_no:\"REF NO.\",number:\"NUMBER\",amount_due:\"AMOUNT DUE\",partially_paid:\"Partially Paid\",total:\"Total\",discount:\"Discount\",sub_total:\"Sub Total\",invoice:\"Recurring Invoice | Recurring Invoices\",invoice_number:\"Recurring Invoice Number\",next_invoice_date:\"Next Invoice Date\",ref_number:\"Ref Number\",contact:\"Contact\",add_item:\"Add an Item\",date:\"Date\",limit_by:\"Limit by\",limit_date:\"Limit Date\",limit_count:\"Limit Count\",count:\"Count\",status:\"Status\",select_a_status:\"Select a status\",working:\"Working\",on_hold:\"On Hold\",complete:\"Completed\",add_tax:\"Add Tax\",amount:\"Amount\",action:\"Action\",notes:\"Notes\",view:\"View\",basic_info:\"Basic Info\",send_invoice:\"Send Recurring Invoice\",auto_send:\"Auto Send\",resend_invoice:\"Resend Recurring Invoice\",invoice_template:\"Recurring Invoice Template\",conversion_message:\"Recurring Invoice cloned successful\",template:\"Template\",mark_as_sent:\"Mark as sent\",confirm_send_invoice:\"This recurring invoice will be sent via email to the customer\",invoice_mark_as_sent:\"This recurring invoice will be marked as sent\",confirm_send:\"This recurring invoice will be sent via email to the customer\",starts_at:\"Start Date\",due_date:\"Invoice Due Date\",record_payment:\"Record Payment\",add_new_invoice:\"Add New Recurring Invoice\",update_expense:\"Update Expense\",edit_invoice:\"Edit Recurring Invoice\",new_invoice:\"New Recurring Invoice\",send_automatically:\"Send Automatically\",send_automatically_desc:\"Enable this, if you would like to send the invoice automatically to the customer when its created.\",save_invoice:\"Save Recurring Invoice\",update_invoice:\"Update Recurring Invoice\",add_new_tax:\"Add New Tax\",no_invoices:\"No Recurring Invoices yet!\",mark_as_rejected:\"Mark as rejected\",mark_as_accepted:\"Mark as accepted\",list_of_invoices:\"This section will contain the list of recurring invoices.\",select_invoice:\"Select Invoice\",no_matching_invoices:\"There are no matching recurring invoices!\",mark_as_sent_successfully:\"Recurring Invoice marked as sent successfully\",invoice_sent_successfully:\"Recurring Invoice sent successfully\",cloned_successfully:\"Recurring Invoice cloned successfully\",clone_invoice:\"Clone Recurring Invoice\",confirm_clone:\"This recurring invoice will be cloned into a new Recurring Invoice\",add_customer_email:\"Please add an email address for this customer to send invoices automatically.\",item:{title:\"Item Title\",description:\"Description\",quantity:\"Quantity\",price:\"Price\",discount:\"Discount\",total:\"Total\",total_discount:\"Total Discount\",sub_total:\"Sub Total\",tax:\"Tax\",amount:\"Amount\",select_an_item:\"Type or click to select an item\",type_item_description:\"Type Item Description (optional)\"},frequency:{title:\"Frequency\",select_frequency:\"Select Frequency\",minute:\"Minute\",hour:\"Hour\",day_month:\"Day of month\",month:\"Month\",day_week:\"Day of week\"},confirm_delete:\"You will not be able to recover this Invoice | You will not be able to recover these Invoices\",created_message:\"Recurring Invoice created successfully\",updated_message:\"Recurring Invoice updated successfully\",deleted_message:\"Recurring Invoice deleted successfully | Recurring Invoices deleted successfully\",marked_as_sent_message:\"Recurring Invoice marked as sent successfully\",user_email_does_not_exist:\"User email does not exist\",something_went_wrong:\"something went wrong\",invalid_due_amount_message:\"Total Recurring Invoice amount cannot be less than total paid amount for this Recurring Invoice. Please update the invoice or delete the associated payments to continue.\"},l_={title:\"Payments\",payments_list:\"Payments List\",record_payment:\"Record Payment\",customer:\"Customer\",date:\"Date\",amount:\"Amount\",action:\"Action\",payment_number:\"Payment Number\",payment_mode:\"Payment Mode\",invoice:\"Invoice\",note:\"Note\",add_payment:\"Add Payment\",new_payment:\"New Payment\",edit_payment:\"Edit Payment\",view_payment:\"View Payment\",add_new_payment:\"Add New Payment\",send_payment_receipt:\"Send Payment Receipt\",send_payment:\"Send Payment\",save_payment:\"Save Payment\",update_payment:\"Update Payment\",payment:\"Payment | Payments\",no_payments:\"No payments yet!\",not_selected:\"Not selected\",no_invoice:\"No invoice\",no_matching_payments:\"There are no matching payments!\",list_of_payments:\"This section will contain the list of payments.\",select_payment_mode:\"Select payment mode\",confirm_mark_as_sent:\"This estimate will be marked as sent\",confirm_send_payment:\"This payment will be sent via email to the customer\",send_payment_successfully:\"Payment sent successfully\",something_went_wrong:\"something went wrong\",confirm_delete:\"You will not be able to recover this Payment | You will not be able to recover these Payments\",created_message:\"Payment created successfully\",updated_message:\"Payment updated successfully\",deleted_message:\"Payment deleted successfully | Payments deleted successfully\",invalid_amount_message:\"Payment amount is invalid\"},c_={title:\"Expenses\",expenses_list:\"Expenses List\",select_a_customer:\"Select a customer\",expense_title:\"Title\",customer:\"Customer\",currency:\"Currency\",contact:\"Contact\",category:\"Category\",from_date:\"From Date\",to_date:\"To Date\",expense_date:\"Date\",description:\"Description\",receipt:\"Receipt\",amount:\"Amount\",action:\"Action\",not_selected:\"Not selected\",note:\"Note\",category_id:\"Category Id\",date:\"Date\",add_expense:\"Add Expense\",add_new_expense:\"Add New Expense\",save_expense:\"Save Expense\",update_expense:\"Update Expense\",download_receipt:\"Download Receipt\",edit_expense:\"Edit Expense\",new_expense:\"New Expense\",expense:\"Expense | Expenses\",no_expenses:\"No expenses yet!\",list_of_expenses:\"This section will contain the list of expenses.\",confirm_delete:\"You will not be able to recover this Expense | You will not be able to recover these Expenses\",created_message:\"Expense created successfully\",updated_message:\"Expense updated successfully\",deleted_message:\"Expense deleted successfully | Expenses deleted successfully\",categories:{categories_list:\"Categories List\",title:\"Title\",name:\"Name\",description:\"Description\",amount:\"Amount\",actions:\"Actions\",add_category:\"Add Category\",new_category:\"New Category\",category:\"Category | Categories\",select_a_category:\"Select a category\"}},__={email:\"Email\",password:\"Password\",forgot_password:\"Forgot Password?\",or_signIn_with:\"or Sign in with\",login:\"Login\",register:\"Register\",reset_password:\"Reset Password\",password_reset_successfully:\"Password Reset Successfully\",enter_email:\"Enter email\",enter_password:\"Enter Password\",retype_password:\"Retype Password\"},u_={buy_now:\"Buy Now\",install:\"Install\",price:\"Price\",download_zip_file:\"Download ZIP file\",unzipping_package:\"Unzipping Package\",copying_files:\"Copying Files\",deleting_files:\"Deleting Unused files\",completing_installation:\"Completing Installation\",update_failed:\"Update Failed\",install_success:\"Module has been installed successfully!\",customer_reviews:\"Reviews\",license:\"License\",faq:\"FAQ\",monthly:\"Monthly\",yearly:\"Yearly\",updated:\"Updated\",version:\"Version\",disable:\"Disable\",module_disabled:\"Module Disabled\",enable:\"Enable\",module_enabled:\"Module Enabled\",update_to:\"Update To\",module_updated:\"Module Updated Successfully!\",title:\"Modules\",module:\"Module | Modules\",api_token:\"API token\",invalid_api_token:\"Invalid API Token.\",other_modules:\"Other Modules\",view_all:\"View All\",no_reviews_found:\"There are no reviews for this module yet!\",module_not_purchased:\"Module Not Purchased\",module_not_found:\"Module Not Found\",version_not_supported:\"This module version doesn't support the current version of Crater\",last_updated:\"Last Updated On\",connect_installation:\"Connect your installation\",api_token_description:\"Login to {url} and connect this installation by entering the API Token. Your purchased modules will show up here after the connection is established.\",view_module:\"View Module\",update_available:\"Update Available\",purchased:\"Purchased\",installed:\"Installed\",no_modules_installed:\"No Modules Installed Yet!\",disable_warning:\"All the settings for this particular will be reverted.\",what_you_get:\"What you get\"},m_={title:\"Users\",users_list:\"Users List\",name:\"Name\",description:\"Description\",added_on:\"Added On\",date_of_creation:\"Date Of Creation\",action:\"Action\",add_user:\"Add User\",save_user:\"Save User\",update_user:\"Update User\",user:\"User | Users\",add_new_user:\"Add New User\",new_user:\"New User\",edit_user:\"Edit User\",no_users:\"No users yet!\",list_of_users:\"This section will contain the list of users.\",email:\"Email\",phone:\"Phone\",password:\"Password\",user_attached_message:\"Cannot delete an item which is already in use\",confirm_delete:\"You will not be able to recover this User | You will not be able to recover these Users\",created_message:\"User created successfully\",updated_message:\"User updated successfully\",deleted_message:\"User deleted successfully | Users deleted successfully\",select_company_role:\"Select Role for {company}\",companies:\"Companies\"},p_={title:\"Report\",from_date:\"From Date\",to_date:\"To Date\",status:\"Status\",paid:\"Paid\",unpaid:\"Unpaid\",download_pdf:\"Download PDF\",view_pdf:\"View PDF\",update_report:\"Update Report\",report:\"Report | Reports\",profit_loss:{profit_loss:\"Profit & Loss\",to_date:\"To Date\",from_date:\"From Date\",date_range:\"Select Date Range\"},sales:{sales:\"Sales\",date_range:\"Select Date Range\",to_date:\"To Date\",from_date:\"From Date\",report_type:\"Report Type\"},taxes:{taxes:\"Taxes\",to_date:\"To Date\",from_date:\"From Date\",date_range:\"Select Date Range\"},errors:{required:\"Field is required\"},invoices:{invoice:\"Invoice\",invoice_date:\"Invoice Date\",due_date:\"Due Date\",amount:\"Amount\",contact_name:\"Contact Name\",status:\"Status\"},estimates:{estimate:\"Estimate\",estimate_date:\"Estimate Date\",due_date:\"Due Date\",estimate_number:\"Estimate Number\",ref_number:\"Ref Number\",amount:\"Amount\",contact_name:\"Contact Name\",status:\"Status\"},expenses:{expenses:\"Expenses\",category:\"Category\",date:\"Date\",amount:\"Amount\",to_date:\"To Date\",from_date:\"From Date\",date_range:\"Select Date Range\"}},f_={menu_title:{account_settings:\"Account Settings\",company_information:\"Company Information\",customization:\"Customization\",preferences:\"Preferences\",notifications:\"Notifications\",tax_types:\"Tax Types\",expense_category:\"Expense Categories\",update_app:\"Update App\",backup:\"Backup\",file_disk:\"File Disk\",custom_fields:\"Custom Fields\",payment_modes:\"Payment Modes\",notes:\"Notes\",exchange_rate:\"Exchange Rate\",address_information:\"Address Information\"},address_information:{section_description:\"  You can update Your Address information using form below.\"},title:\"Settings\",setting:\"Settings | Settings\",general:\"General\",language:\"Language\",primary_currency:\"Primary Currency\",timezone:\"Time Zone\",date_format:\"Date Format\",currencies:{title:\"Currencies\",currency:\"Currency | Currencies\",currencies_list:\"Currencies List\",select_currency:\"Select Currency\",name:\"Name\",code:\"Code\",symbol:\"Symbol\",precision:\"Precision\",thousand_separator:\"Thousand Separator\",decimal_separator:\"Decimal Separator\",position:\"Position\",position_of_symbol:\"Position Of Symbol\",right:\"Right\",left:\"Left\",action:\"Action\",add_currency:\"Add Currency\"},mail:{host:\"Mail Host\",port:\"Mail Port\",driver:\"Mail Driver\",secret:\"Secret\",mailgun_secret:\"Mailgun Secret\",mailgun_domain:\"Domain\",mailgun_endpoint:\"Mailgun Endpoint\",ses_secret:\"SES Secret\",ses_key:\"SES Key\",password:\"Mail Password\",username:\"Mail Username\",mail_config:\"Mail Configuration\",from_name:\"From Mail Name\",from_mail:\"From Mail Address\",encryption:\"Mail Encryption\",mail_config_desc:\"Below is the form for Configuring Email driver for sending emails from the app. You can also configure third party providers like Sendgrid, SES etc.\"},pdf:{title:\"PDF Setting\",footer_text:\"Footer Text\",pdf_layout:\"PDF Layout\"},company_info:{company_info:\"Company info\",company_name:\"Company Name\",company_logo:\"Company Logo\",section_description:\"Information about your company that will be displayed on invoices, estimates and other documents created by Crater.\",phone:\"Phone\",country:\"Country\",state:\"State\",city:\"City\",address:\"Address\",zip:\"Zip\",save:\"Save\",delete:\"Delete\",updated_message:\"Company information updated successfully\",delete_company:\"Delete Company\",delete_company_description:\"Once you delete your company, you will lose all the data and files associated with it permanently.\",are_you_absolutely_sure:\"Are you absolutely sure?\",delete_company_modal_desc:\"This action cannot be undone. This will permanently delete {company} and all of its associated data.\",delete_company_modal_label:\"Please type {company} to confirm\"},custom_fields:{title:\"Custom Fields\",section_description:\"Customize your Invoices, Estimates & Payment Receipts with your own fields. Make sure to use the below added fields on the address formats on Customization settings page.\",add_custom_field:\"Add Custom Field\",edit_custom_field:\"Edit Custom Field\",field_name:\"Field Name\",label:\"Label\",type:\"Type\",name:\"Name\",slug:\"Slug\",required:\"Required\",placeholder:\"Placeholder\",help_text:\"Help Text\",default_value:\"Default Value\",prefix:\"Prefix\",starting_number:\"Starting Number\",model:\"Model\",help_text_description:\"Enter some text to help users understand the purpose of this custom field.\",suffix:\"Suffix\",yes:\"Yes\",no:\"No\",order:\"Order\",custom_field_confirm_delete:\"You will not be able to recover this Custom Field\",already_in_use:\"Custom Field is already in use\",deleted_message:\"Custom Field deleted successfully\",options:\"options\",add_option:\"Add Options\",add_another_option:\"Add another option\",sort_in_alphabetical_order:\"Sort in Alphabetical Order\",add_options_in_bulk:\"Add options in bulk\",use_predefined_options:\"Use Predefined Options\",select_custom_date:\"Select Custom Date\",select_relative_date:\"Select Relative Date\",ticked_by_default:\"Ticked by default\",updated_message:\"Custom Field updated successfully\",added_message:\"Custom Field added successfully\",press_enter_to_add:\"Press enter to add new option\",model_in_use:\"Cannot update model for fields which are already in use.\",type_in_use:\"Cannot update type for fields which are already in use.\"},customization:{customization:\"customization\",updated_message:\"Company information updated successfully\",save:\"Save\",insert_fields:\"Insert Fields\",learn_custom_format:\"Learn how to use custom format\",add_new_component:\"Add New Component\",component:\"Component\",Parameter:\"Parameter\",series:\"Series\",series_description:\"To set a static prefix/postfix like 'INV' across your company. It supports character length of up to 6 chars.\",series_param_label:\"Series Value\",delimiter:\"Delimiter\",delimiter_description:\"Single character for specifying the boundary between 2 separate components. By default its set to -\",delimiter_param_label:\"Delimiter Value\",date_format:\"Date Format\",date_format_description:\"A local date and time field which accepts a format parameter. The default format: 'Y' renders the current year.\",date_format_param_label:\"Format\",sequence:\"Sequence\",sequence_description:\"Consecutive sequence of numbers across your company. You can specify the length on the given parameter.\",sequence_param_label:\"Sequence Length\",customer_series:\"Customer Series\",customer_series_description:\"To set a different prefix/postfix for each customer.\",customer_sequence:\"Customer Sequence\",customer_sequence_description:\"Consecutive sequence of numbers for each of your customer.\",customer_sequence_param_label:\"Sequence Length\",random_sequence:\"Random Sequence\",random_sequence_description:\"Random alphanumeric string. You can specify the length on the given parameter.\",random_sequence_param_label:\"Sequence Length\",invoices:{title:\"Invoices\",invoice_number_format:\"Invoice Number Format\",invoice_number_format_description:\"Customize how your invoice number gets generated automatically when you create a new invoice.\",preview_invoice_number:\"Preview Invoice Number\",due_date:\"Due Date\",due_date_description:\"Specify how due date is automatically set when you create an invoice.\",due_date_days:\"Invoice Due after days\",set_due_date_automatically:\"Set Due Date Automatically\",set_due_date_automatically_description:\"Enable this if you wish to set due date automatically when you create a new invoice.\",default_formats:\"Default Formats\",default_formats_description:\"Below given formats are used to fill up the fields automatically on invoice creation.\",default_invoice_email_body:\"Default Invoice Email Body\",company_address_format:\"Company Address Format\",shipping_address_format:\"Shipping Address Format\",billing_address_format:\"Billing Address Format\",invoice_email_attachment:\"Send invoices as attachments\",invoice_email_attachment_setting_description:\"Enable this if you want to send invoices as email attachment. Please note that 'View Invoice' button in emails will not be displayed anymore when enabled.\",invoice_settings_updated:\"Invoice Settings updated successfully\",retrospective_edits:\"Retrospective Edits\",allow:\"Allow\",disable_on_invoice_partial_paid:\"Disable after partial payment is recorded\",disable_on_invoice_paid:\"Disable after full payment is recorded\",disable_on_invoice_sent:\"Disable after invoice is sent\",retrospective_edits_description:\" Based on your country's laws or your preference, you can restrict users from editing finalised invoices.\"},estimates:{title:\"Estimates\",estimate_number_format:\"Estimate Number Format\",estimate_number_format_description:\"Customize how your estimate number gets generated automatically when you create a new estimate.\",preview_estimate_number:\"Preview Estimate Number\",expiry_date:\"Expiry Date\",expiry_date_description:\"Specify how expiry date is automatically set when you create an estimate.\",expiry_date_days:\"Estimate Expires after days\",set_expiry_date_automatically:\"Set Expiry Date Automatically\",set_expiry_date_automatically_description:\"Enable this if you wish to set expiry date automatically when you create a new estimate.\",default_formats:\"Default Formats\",default_formats_description:\"Below given formats are used to fill up the fields automatically on estimate creation.\",default_estimate_email_body:\"Default Estimate Email Body\",company_address_format:\"Company Address Format\",shipping_address_format:\"Shipping Address Format\",billing_address_format:\"Billing Address Format\",estimate_email_attachment:\"Send estimates as attachments\",estimate_email_attachment_setting_description:\"Enable this if you want to send the estimates as an email attachment. Please note that 'View Estimate' button in emails will not be displayed anymore when enabled.\",estimate_settings_updated:\"Estimate Settings updated successfully\",convert_estimate_options:\"Estimate Convert Action\",convert_estimate_description:\"Specify what happens to the estimate after it gets converted to an invoice.\",no_action:\"No action\",delete_estimate:\"Delete estimate\",mark_estimate_as_accepted:\"Mark estimate as accepted\"},payments:{title:\"Payments\",payment_number_format:\"Payment Number Format\",payment_number_format_description:\"Customize how your payment number gets generated automatically when you create a new payment.\",preview_payment_number:\"Preview Payment Number\",default_formats:\"Default Formats\",default_formats_description:\"Below given formats are used to fill up the fields automatically on payment creation.\",default_payment_email_body:\"Default Payment Email Body\",company_address_format:\"Company Address Format\",from_customer_address_format:\"From Customer Address Format\",payment_email_attachment:\"Send payments as attachments\",payment_email_attachment_setting_description:\"Enable this if you want to send the payment receipts as an email attachment. Please note that 'View Payment' button in emails will not be displayed anymore when enabled.\",payment_settings_updated:\"Payment Settings updated successfully\"},items:{title:\"Items\",units:\"Units\",add_item_unit:\"Add Item Unit\",edit_item_unit:\"Edit Item Unit\",unit_name:\"Unit Name\",item_unit_added:\"Item Unit Added\",item_unit_updated:\"Item Unit Updated\",item_unit_confirm_delete:\"You will not be able to recover this Item unit\",already_in_use:\"Item Unit is already in use\",deleted_message:\"Item Unit deleted successfully\"},notes:{title:\"Notes\",description:\"Save time by creating notes and reusing them on your invoices, estimates & payments.\",notes:\"Notes\",type:\"Type\",add_note:\"Add Note\",add_new_note:\"Add New Note\",name:\"Name\",edit_note:\"Edit Note\",note_added:\"Note added successfully\",note_updated:\"Note Updated successfully\",note_confirm_delete:\"You will not be able to recover this Note\",already_in_use:\"Note is already in use\",deleted_message:\"Note deleted successfully\"}},account_settings:{profile_picture:\"Profile Picture\",name:\"Name\",email:\"Email\",password:\"Password\",confirm_password:\"Confirm Password\",account_settings:\"Account Settings\",save:\"Save\",section_description:\"You can update your name, email & password using the form below.\",updated_message:\"Account Settings updated successfully\"},user_profile:{name:\"Name\",email:\"Email\",password:\"Password\",confirm_password:\"Confirm Password\"},notification:{title:\"Notifications\",email:\"Send Notifications to\",description:\"Which email notifications would you like to receive when something changes?\",invoice_viewed:\"Invoice viewed\",invoice_viewed_desc:\"When your customer views the invoice sent via crater dashboard.\",estimate_viewed:\"Estimate viewed\",estimate_viewed_desc:\"When your customer views the estimate sent via crater dashboard.\",save:\"Save\",email_save_message:\"Email saved successfully\",please_enter_email:\"Please Enter Email\"},roles:{title:\"Roles\",description:\"Manage the roles & permissions of this company\",save:\"Save\",add_new_role:\"Add New Role\",role_name:\"Role Name\",added_on:\"Added on\",add_role:\"Add Role\",edit_role:\"Edit Role\",name:\"Name\",permission:\"Permission | Permissions\",select_all:\"Select All\",none:\"None\",confirm_delete:\"You will not be able to recover this Role\",created_message:\"Role created successfully\",updated_message:\"Role updated successfully\",deleted_message:\"Role deleted successfully\",already_in_use:\"Role is already in use\"},exchange_rate:{exchange_rate:\"Exchange Rate\",title:\"Fix Currency Exchange issues\",description:\"Please enter exchange rate of all the currencies mentioned below to help Crater properly calculate the amounts in {currency}.\",drivers:\"Drivers\",new_driver:\"Add New Provider\",edit_driver:\"Edit Provider\",select_driver:\"Select Driver\",update:\"select exchange rate \",providers_description:\"Configure your exchange rate providers here to automatically fetch the latest exchange rate on transactions.\",key:\"API Key\",name:\"Name\",driver:\"Driver\",is_default:\"IS DEFAULT\",currency:\"Currencies\",exchange_rate_confirm_delete:\"You will not be able to recover this driver\",created_message:\"Provider Created successfully\",updated_message:\"Provider Updated Successfully\",deleted_message:\"Provider Deleted Successfully\",error:\" You cannot Delete Active Driver\",default_currency_error:\"This currency is already used in one of the Active Provider\",exchange_help_text:\"Enter exchange rate to convert from {currency} to {baseCurrency}\",currency_freak:\"Currency Freak\",currency_layer:\"Currency Layer\",open_exchange_rate:\"Open Exchange Rate\",currency_converter:\"Currency Converter\",server:\"Server\",url:\"URL\",active:\"Active\",currency_help_text:\"This provider will only be used on above selected currencies\",currency_in_used:\"The following currencies are already active on another provider. Please remove these currencies from selection to activate this provider again.\"},tax_types:{title:\"Tax Types\",add_tax:\"Add Tax\",edit_tax:\"Edit Tax\",description:\"You can add or Remove Taxes as you please. Crater supports Taxes on Individual Items as well as on the invoice.\",add_new_tax:\"Add New Tax\",tax_settings:\"Tax Settings\",tax_per_item:\"Tax Per Item\",tax_name:\"Tax Name\",compound_tax:\"Compound Tax\",percent:\"Percent\",action:\"Action\",tax_setting_description:\"Enable this if you want to add taxes to individual invoice items. By default, taxes are added directly to the invoice.\",created_message:\"Tax type created successfully\",updated_message:\"Tax type updated successfully\",deleted_message:\"Tax type deleted successfully\",confirm_delete:\"You will not be able to recover this Tax Type\",already_in_use:\"Tax is already in use\"},payment_modes:{title:\"Payment Modes\",description:\"Modes of transaction for payments\",add_payment_mode:\"Add Payment Mode\",edit_payment_mode:\"Edit Payment Mode\",mode_name:\"Mode Name\",payment_mode_added:\"Payment Mode Added\",payment_mode_updated:\"Payment Mode Updated\",payment_mode_confirm_delete:\"You will not be able to recover this Payment Mode\",payments_attached:\"This payment method is already attached to payments. Please delete the attached payments to proceed with deletion.\",expenses_attached:\"This payment method is already attached to expenses. Please delete the attached expenses to proceed with deletion.\",deleted_message:\"Payment Mode deleted successfully\"},expense_category:{title:\"Expense Categories\",action:\"Action\",description:\"Categories are required for adding expense entries. You can Add or Remove these categories according to your preference.\",add_new_category:\"Add New Category\",add_category:\"Add Category\",edit_category:\"Edit Category\",category_name:\"Category Name\",category_description:\"Description\",created_message:\"Expense Category created successfully\",deleted_message:\"Expense category deleted successfully\",updated_message:\"Expense category updated successfully\",confirm_delete:\"You will not be able to recover this Expense Category\",already_in_use:\"Category is already in use\"},preferences:{currency:\"Currency\",default_language:\"Default Language\",time_zone:\"Time Zone\",fiscal_year:\"Financial Year\",date_format:\"Date Format\",discount_setting:\"Discount Setting\",discount_per_item:\"Discount Per Item \",discount_setting_description:\"Enable this if you want to add Discount to individual invoice items. By default, Discount is added directly to the invoice.\",expire_public_links:\"Automatically Expire Public Links\",expire_setting_description:\"Specify whether you would like to expire all the links sent by application to view invoices, estimates & payments, etc after a specified duration.\",save:\"Save\",preference:\"Preference | Preferences\",general_settings:\"Default preferences for the system.\",updated_message:\"Preferences updated successfully\",select_language:\"Select Language\",select_time_zone:\"Select Time Zone\",select_date_format:\"Select Date Format\",select_financial_year:\"Select Financial Year\",recurring_invoice_status:\"Recurring Invoice Status\",create_status:\"Create Status\",active:\"Active\",on_hold:\"On Hold\",update_status:\"Update Status\",completed:\"Completed\",company_currency_unchangeable:\"Company currency cannot be changed\"},update_app:{title:\"Update App\",description:\"You can easily update Crater by checking for a new update by clicking the button below\",check_update:\"Check for updates\",avail_update:\"New Update available\",next_version:\"Next version\",requirements:\"Requirements\",update:\"Update Now\",update_progress:\"Update in progress...\",progress_text:\"It will just take a few minutes. Please do not refresh the screen or close the window before the update finishes\",update_success:\"App has been updated! Please wait while your browser window gets reloaded automatically.\",latest_message:\"No update available! You are on the latest version.\",current_version:\"Current Version\",download_zip_file:\"Download ZIP file\",unzipping_package:\"Unzipping Package\",copying_files:\"Copying Files\",deleting_files:\"Deleting Unused files\",running_migrations:\"Running Migrations\",finishing_update:\"Finishing Update\",update_failed:\"Update Failed\",update_failed_text:\"Sorry! Your update failed on : {step} step\",update_warning:\"All of the application files and default template files will be overwritten when you update the application using this utility. Please take a backup of your templates & database before updating.\"},backup:{title:\"Backup | Backups\",description:\"The backup is a zipfile that contains all files in the directories you specify along with a dump of your database\",new_backup:\"Add New Backup\",create_backup:\"Create Backup\",select_backup_type:\"Select Backup Type\",backup_confirm_delete:\"You will not be able to recover this Backup\",path:\"path\",new_disk:\"New Disk\",created_at:\"created at\",size:\"size\",dropbox:\"dropbox\",local:\"local\",healthy:\"healthy\",amount_of_backups:\"amount of backups\",newest_backups:\"newest backups\",used_storage:\"used storage\",select_disk:\"Select Disk\",action:\"Action\",deleted_message:\"Backup deleted successfully\",created_message:\"Backup created successfully\",invalid_disk_credentials:\"Invalid credential of selected disk\"},disk:{title:\"File Disk | File Disks\",description:\"By default, Crater will use your local disk for saving backups, avatar and other image files. You can configure more than one disk drivers like DigitalOcean, S3 and Dropbox according to your preference.\",created_at:\"created at\",dropbox:\"dropbox\",name:\"Name\",driver:\"Driver\",disk_type:\"Type\",disk_name:\"Disk Name\",new_disk:\"Add New Disk\",filesystem_driver:\"Filesystem Driver\",local_driver:\"local Driver\",local_root:\"local Root\",public_driver:\"Public Driver\",public_root:\"Public Root\",public_url:\"Public URL\",public_visibility:\"Public Visibility\",media_driver:\"Media Driver\",media_root:\"Media Root\",aws_driver:\"AWS Driver\",aws_key:\"AWS Key\",aws_secret:\"AWS Secret\",aws_region:\"AWS Region\",aws_bucket:\"AWS Bucket\",aws_root:\"AWS Root\",do_spaces_type:\"Do Spaces type\",do_spaces_key:\"Do Spaces key\",do_spaces_secret:\"Do Spaces Secret\",do_spaces_region:\"Do Spaces Region\",do_spaces_bucket:\"Do Spaces Bucket\",do_spaces_endpoint:\"Do Spaces Endpoint\",do_spaces_root:\"Do Spaces Root\",dropbox_type:\"Dropbox Type\",dropbox_token:\"Dropbox Token\",dropbox_key:\"Dropbox Key\",dropbox_secret:\"Dropbox Secret\",dropbox_app:\"Dropbox App\",dropbox_root:\"Dropbox Root\",default_driver:\"Default Driver\",is_default:\"IS DEFAULT\",set_default_disk:\"Set Default Disk\",set_default_disk_confirm:\"This disk will be set as default and all the new PDFs will be saved on this disk\",success_set_default_disk:\"Disk set as default successfully\",save_pdf_to_disk:\"Save PDFs to Disk\",disk_setting_description:\" Enable this, if you wish to save a copy of each Invoice, Estimate & Payment Receipt PDF on your default disk automatically. Turning this option will decrease the load-time when viewing the PDFs.\",select_disk:\"Select Disk\",disk_settings:\"Disk Settings\",confirm_delete:\"Your existing files & folders in the specified disk will not be affected but your disk configuration will be deleted from Crater\",action:\"Action\",edit_file_disk:\"Edit File Disk\",success_create:\"Disk added successfully\",success_update:\"Disk updated successfully\",error:\"Disk addition failed\",deleted_message:\"File Disk deleted successfully\",disk_variables_save_successfully:\"Disk Configured Successfully\",disk_variables_save_error:\"Disk configuration failed.\",invalid_disk_credentials:\"Invalid credential of selected disk\"},taxations:{add_billing_address:\"Enter Billing Address\",add_shipping_address:\"Enter Shipping Address\",add_company_address:\"Enter Company Address\",modal_description:\"The information below is required in order to fetch sales tax.\",add_address:\"Add Address for fetching sales tax.\",address_placeholder:\"Example: 123, My Street\",city_placeholder:\"Example: Los Angeles\",state_placeholder:\"Example: CA\",zip_placeholder:\"Example: 90024\",invalid_address:\"Please provide valid address details.\"}},g_={account_info:\"Account Information\",account_info_desc:\"Below details will be used to create the main Administrator account. Also you can change the details anytime after logging in.\",name:\"Name\",email:\"Email\",password:\"Password\",confirm_password:\"Confirm Password\",save_cont:\"Save & Continue\",company_info:\"Company Information\",company_info_desc:\"This information will be displayed on invoices. Note that you can edit this later on settings page.\",company_name:\"Company Name\",company_logo:\"Company Logo\",logo_preview:\"Logo Preview\",preferences:\"Company Preferences\",preferences_desc:\"Specify the default preferences for this company.\",currency_set_alert:\"The company's currency cannot be changed later.\",country:\"Country\",state:\"State\",city:\"City\",address:\"Address\",street:\"Street1 | Street2\",phone:\"Phone\",zip_code:\"Zip Code\",go_back:\"Go Back\",currency:\"Currency\",language:\"Language\",time_zone:\"Time Zone\",fiscal_year:\"Financial Year\",date_format:\"Date Format\",from_address:\"From Address\",username:\"Username\",next:\"Next\",continue:\"Continue\",skip:\"Skip\",database:{database:\"Site URL & Database\",connection:\"Database Connection\",host:\"Database Host\",port:\"Database Port\",password:\"Database Password\",app_url:\"App URL\",app_domain:\"App Domain\",username:\"Database Username\",db_name:\"Database Name\",db_path:\"Database Path\",desc:\"Create a database on your server and set the credentials using the form below.\"},permissions:{permissions:\"Permissions\",permission_confirm_title:\"Are you sure you want to continue?\",permission_confirm_desc:\"Folder permission check failed\",permission_desc:\"Below is the list of folder permissions which are required in order for the app to work. If the permission check fails, make sure to update your folder permissions.\"},verify_domain:{title:\"Domain Verification\",desc:\"Crater uses Session based authentication which requires domain verification for security purposes. Please enter the domain on which you will be accessing your web application.\",app_domain:\"App Domain\",verify_now:\"Verify Now\",success:\"Domain Verify Successfully.\",failed:\"Domain verification failed. Please enter valid domain name.\",verify_and_continue:\"Verify And Continue\"},mail:{host:\"Mail Host\",port:\"Mail Port\",driver:\"Mail Driver\",secret:\"Secret\",mailgun_secret:\"Mailgun Secret\",mailgun_domain:\"Domain\",mailgun_endpoint:\"Mailgun Endpoint\",ses_secret:\"SES Secret\",ses_key:\"SES Key\",password:\"Mail Password\",username:\"Mail Username\",mail_config:\"Mail Configuration\",from_name:\"From Mail Name\",from_mail:\"From Mail Address\",encryption:\"Mail Encryption\",mail_config_desc:\"Below is the form for Configuring Email driver for sending emails from the app. You can also configure third party providers like Sendgrid, SES etc.\"},req:{system_req:\"System Requirements\",php_req_version:\"Php (version {version} required)\",check_req:\"Check Requirements\",system_req_desc:\"Crater has a few server requirements. Make sure that your server has the required php version and all the extensions mentioned below.\"},errors:{migrate_failed:\"Migrate Failed\",database_variables_save_error:\"Cannot write configuration to .env file. Please check its file permissions\",mail_variables_save_error:\"Email configuration failed.\",connection_failed:\"Database connection failed\",database_should_be_empty:\"Database should be empty\"},success:{mail_variables_save_successfully:\"Email configured successfully\",database_variables_save_successfully:\"Database configured successfully.\"}},v_={invalid_phone:\"Invalid Phone Number\",invalid_url:\"Invalid url (ex: http://www.craterapp.com)\",invalid_domain_url:\"Invalid url (ex: craterapp.com)\",required:\"Field is required\",email_incorrect:\"Incorrect Email.\",email_already_taken:\"The email has already been taken.\",email_does_not_exist:\"User with given email doesn't exist\",item_unit_already_taken:\"This item unit name has already been taken\",payment_mode_already_taken:\"This payment mode name has already been taken\",send_reset_link:\"Send Reset Link\",not_yet:\"Not yet? Send it again\",password_min_length:\"Password must contain {count} characters\",name_min_length:\"Name must have at least {count} letters.\",prefix_min_length:\"Prefix must have at least {count} letters.\",enter_valid_tax_rate:\"Enter valid tax rate\",numbers_only:\"Numbers Only.\",characters_only:\"Characters Only.\",password_incorrect:\"Passwords must be identical\",password_length:\"Password must be {count} character long.\",qty_must_greater_than_zero:\"Quantity must be greater than zero.\",price_greater_than_zero:\"Price must be greater than zero.\",payment_greater_than_zero:\"Payment must be greater than zero.\",payment_greater_than_due_amount:\"Entered Payment is more than due amount of this invoice.\",quantity_maxlength:\"Quantity should not be greater than 20 digits.\",price_maxlength:\"Price should not be greater than 20 digits.\",price_minvalue:\"Price should be greater than 0.\",amount_maxlength:\"Amount should not be greater than 20 digits.\",amount_minvalue:\"Amount should be greater than 0.\",discount_maxlength:\"Discount should not be greater than max discount\",description_maxlength:\"Description should not be greater than 255 characters.\",subject_maxlength:\"Subject should not be greater than 100 characters.\",message_maxlength:\"Message should not be greater than 255 characters.\",maximum_options_error:\"Maximum  of {max} options selected. First remove a selected option to select another.\",notes_maxlength:\"Notes should not be greater than 65,000 characters.\",address_maxlength:\"Address should not be greater than 255 characters.\",ref_number_maxlength:\"Ref Number should not be greater than 255 characters.\",prefix_maxlength:\"Prefix should not be greater than 5 characters.\",something_went_wrong:\"something went wrong\",number_length_minvalue:\"Number length should be greater than 0\",at_least_one_ability:\"Please select atleast one Permission.\",valid_driver_key:\"Please enter a valid {driver} key.\",valid_exchange_rate:\"Please enter a valid exchange rate.\",company_name_not_same:\"Company name must match with given name.\"},y_={starter_plan:\"This feature is available on Starter plan and onwards!\",invalid_provider_key:\"Please Enter Valid Provider API Key.\",estimate_number_used:\"The estimate number has already been taken.\",invoice_number_used:\"The invoice number has already been taken.\",payment_attached:\"This invoice already has a payment attached to it. Make sure to delete the attached payments first in order to go ahead with the removal.\",payment_number_used:\"The payment number has already been taken.\",name_already_taken:\"The name has already been taken.\",receipt_does_not_exist:\"Receipt does not exist.\",customer_cannot_be_changed_after_payment_is_added:\"Customer cannot be change after payment is added\",invalid_credentials:\"Invalid  Credentials.\",not_allowed:\"Not Allowed\",login_invalid_credentials:\"These credentials do not match our records.\",enter_valid_cron_format:\"Please enter a valid cron format\",email_could_not_be_sent:\"Email could not be sent to this email address.\",invalid_address:\"Please enter a valid address.\",invalid_key:\"Please enter valid key.\",invalid_state:\"Please enter a valid state.\",invalid_city:\"Please enter a valid city.\",invalid_postal_code:\"Please enter a valid zip.\",invalid_format:\"Please enter valid query string format.\",api_error:\"Server not responding.\",feature_not_enabled:\"Feature not enabled.\",request_limit_met:\"Api request limit exceeded.\",address_incomplete:\"Incomplete Address\"},h_=\"Estimate\",b_=\"Estimate Number\",k_=\"Estimate Date\",w_=\"Expiry date\",z_=\"Invoice\",x_=\"Invoice Number\",P_=\"Invoice Date\",S_=\"Due date\",j_=\"Notes\",A_=\"Items\",D_=\"Quantity\",C_=\"Price\",N_=\"Discount\",E_=\"Amount\",I_=\"Subtotal\",T_=\"Total\",R_=\"Payment\",M_=\"PAYMENT RECEIPT\",F_=\"Payment Date\",$_=\"Payment Number\",U_=\"Payment Mode\",V_=\"Amount Received\",O_=\"EXPENSES REPORT\",L_=\"TOTAL EXPENSE\",q_=\"PROFIT & LOSS REPORT\",B_=\"Sales Customer Report\",K_=\"Sales Item Report\",Z_=\"Tax Summary Report\",W_=\"INCOME\",H_=\"NET PROFIT\",Y_=\"Sales Report: By Customer\",G_=\"TOTAL SALES\",J_=\"Sales Report: By Item\",Q_=\"TAX REPORT\",X_=\"TOTAL TAX\",eu=\"Tax Types\",tu=\"Expenses\",au=\"Bill to,\",nu=\"Ship to,\",iu=\"Received from:\",ou=\"Tax\";var su={navigation:Jc,general:Qc,dashboard:Xc,tax_types:e_,global_search:t_,company_switcher:a_,dateRange:n_,customers:i_,items:o_,estimates:s_,invoices:r_,recurring_invoices:d_,payments:l_,expenses:c_,login:__,modules:u_,users:m_,reports:p_,settings:f_,wizard:g_,validation:v_,errors:y_,pdf_estimate_label:h_,pdf_estimate_number:b_,pdf_estimate_date:k_,pdf_estimate_expire_date:w_,pdf_invoice_label:z_,pdf_invoice_number:x_,pdf_invoice_date:P_,pdf_invoice_due_date:S_,pdf_notes:j_,pdf_items_label:A_,pdf_quantity_label:D_,pdf_price_label:C_,pdf_discount_label:N_,pdf_amount_label:E_,pdf_subtotal:I_,pdf_total:T_,pdf_payment_label:R_,pdf_payment_receipt_label:M_,pdf_payment_date:F_,pdf_payment_number:$_,pdf_payment_mode:U_,pdf_payment_amount_received_label:V_,pdf_expense_report_label:O_,pdf_total_expenses_label:L_,pdf_profit_loss_label:q_,pdf_sales_customers_label:B_,pdf_sales_items_label:K_,pdf_tax_summery_label:Z_,pdf_income_label:W_,pdf_net_profit_label:H_,pdf_customer_sales_report:Y_,pdf_total_sales_label:G_,pdf_item_sales_label:J_,pdf_tax_report_label:Q_,pdf_total_tax_label:X_,pdf_tax_types_label:eu,pdf_expenses_label:tu,pdf_bill_to:au,pdf_ship_to:nu,pdf_received_from:iu,pdf_tax_label:ou};const ru={dashboard:\"Pulpit\",customers:\"Kontrahenci\",items:\"Pozycje\",invoices:\"Faktury\",\"recurring-invoices\":\"Faktury cykliczne\",expenses:\"Wydatki\",estimates:\"Oferty\",payments:\"P\\u0142atno\\u015Bci\",reports:\"Raporty\",settings:\"Ustawienia\",logout:\"Wyloguj\",users:\"U\\u017Cytkownicy\",modules:\"Modu\\u0142y\"},du={add_company:\"Dodaj firm\\u0119\",view_pdf:\"Podgl\\u0105d PDF\",copy_pdf_url:\"Kopiuj adres URL PDF\",download_pdf:\"Pobierz PDF\",save:\"Zapisz\",create:\"Stw\\xF3rz\",cancel:\"Anuluj\",update:\"Zaktualizuj\",deselect:\"Odznacz\",download:\"Pobierz\",from_date:\"Od daty\",to_date:\"Do daty\",from:\"Od\",to:\"Do\",ok:\"Ok\",yes:\"Tak\",no:\"Nie\",sort_by:\"Sortuj wed\\u0142ug\",ascending:\"Rosn\\u0105co\",descending:\"Malej\\u0105co\",subject:\"Temat\",body:\"Tre\\u015B\\u0107\",message:\"Wiadomo\\u015B\\u0107\",send:\"Wy\\u015Blij\",preview:\"Podgl\\u0105d\",go_back:\"Wstecz\",back_to_login:\"Wr\\xF3\\u0107 do logowania?\",home:\"Strona g\\u0142\\xF3wna\",filter:\"Filtr\",delete:\"Usu\\u0144\",edit:\"Edytuj\",view:\"Widok\",add_new_item:\"Dodaj now\\u0105 pozycj\\u0119\",clear_all:\"Wyczy\\u015B\\u0107 wszystko\",showing:\"Wy\\u015Bwietlanie\",of:\"z\",actions:\"Akcje\",subtotal:\"SUMA CZ\\u0118\\u015ACIOWA\",discount:\"RABAT\",fixed:\"Sta\\u0142y\",percentage:\"Procentowo\",tax:\"PODATEK\",total_amount:\"\\u0141\\u0104CZNA KWOTA\",bill_to:\"P\\u0142atnik\",ship_to:\"Wy\\u015Blij do\",due:\"Nale\\u017Cno\\u015B\\u0107\",draft:\"Wersja robocza\",sent:\"Wys\\u0142ano\",all:\"Wszystko\",select_all:\"Zaznacz wszystkie\",select_template:\"Wybierz Szablon\",choose_file:\"Kliknij tutaj, aby wybra\\u0107 plik\",choose_template:\"Wybierz szablon\",choose:\"Wybierz\",remove:\"Usu\\u0144\",select_a_status:\"Wybierz status\",select_a_tax:\"Wybierz podatek\",search:\"Wyszukaj\",are_you_sure:\"Czy jeste\\u015B pewien?\",list_is_empty:\"Lista jest pusta.\",no_tax_found:\"Nie znaleziono podatku!\",four_zero_four:\"404\",you_got_lost:\"Ups! Zgubi\\u0142e\\u015B si\\u0119!\",go_home:\"Wr\\xF3\\u0107 do strony g\\u0142\\xF3wnej\",test_mail_conf:\"Test konfiguracji poczty\",send_mail_successfully:\"Wiadomo\\u015B\\u0107 wys\\u0142ana pomy\\u015Blnie\",setting_updated:\"Ustawienia zosta\\u0142y zaktualizowane\",select_state:\"Wybierz wojew\\xF3dztwo\",select_country:\"Wybierz kraj\",select_city:\"Wybierz miasto\",street_1:\"Adres 1\",street_2:\"Adres 2\",action_failed:\"Niepowodzenie\",retry:\"Spr\\xF3buj ponownie\",choose_note:\"Wybierz notatk\\u0119\",no_note_found:\"Nie znaleziono notatki\",insert_note:\"Wstaw notatk\\u0119\",copied_pdf_url_clipboard:\"Skopiowano adres URL pliku PDF do schowka!\",copied_url_clipboard:\"Skopiowano adres URL do schowka!\",docs:\"Dokumentacja\",do_you_wish_to_continue:\"Czy chcesz kontynuowa\\u0107?\",note:\"Uwaga\",pay_invoice:\"Zap\\u0142a\\u0107 Faktur\\u0119\",login_successfully:\"Zalogowano pomy\\u015Blnie!\",logged_out_successfully:\"Wylogowano pomy\\u015Blnie\",mark_as_default:\"Mark as default\"},lu={select_year:\"Wybierz rok\",cards:{due_amount:\"Do zap\\u0142aty\",customers:\"Kontrahenci\",invoices:\"Faktury\",estimates:\"Oferty\",payments:\"P\\u0142atno\\u015Bci\"},chart_info:{total_sales:\"Sprzeda\\u017C\",total_receipts:\"Przychody\",total_expense:\"Wydatki\",net_income:\"Doch\\xF3d netto\",year:\"Wybierz rok\"},monthly_chart:{title:\"Sprzeda\\u017C i wydatki\"},recent_invoices_card:{title:\"Nale\\u017Cne faktury\",due_on:\"Termin p\\u0142atno\\u015Bci\",customer:\"Kontrahent\",amount_due:\"Do zap\\u0142aty\",actions:\"Akcje\",view_all:\"Zobacz wszsytkie\"},recent_estimate_card:{title:\"Najnowsze oferty\",date:\"Data\",customer:\"Klient\",amount_due:\"Do zap\\u0142aty\",actions:\"Akcje\",view_all:\"Zobacz wszystkie\"}},cu={name:\"Nazwa\",description:\"Opis\",percent:\"Procent\",compound_tax:\"Podatek z\\u0142o\\u017Cony\"},_u={search:\"Szukaj...\",customers:\"Klienci\",users:\"U\\u017Cytkownicy\",no_results_found:\"Nie znaleziono wynik\\xF3w\"},uu={label:\"PRZE\\u0141\\u0104CZ FIRM\\u0118\",no_results_found:\"Nie Znaleziono Wynik\\xF3w\",add_new_company:\"Dodaj now\\u0105 firm\\u0119\",new_company:\"Nowa firma\",created_message:\"Firma utworzona pomy\\u015Blnie\"},mu={today:\"Dzisiaj\",this_week:\"Ten tydzie\\u0144\",this_month:\"Ten miesi\\u0105c\",this_quarter:\"Ten kwarta\\u0142\",this_year:\"Ten rok\",previous_week:\"Poprzedni Tydzie\\u0144\",previous_month:\"Poprzedni miesi\\u0105c\",previous_quarter:\"Poprzedni kwarta\\u0142\",previous_year:\"Poprzedni Rok\",custom:\"Niestandardowy\"},pu={title:\"Klienci\",prefix:\"Przedrostek\",add_customer:\"Dodaj klienta\",contacts_list:\"Lista klient\\xF3w\",name:\"Nazwa\",mail:\"Poczta | Poczta\",statement:\"Komunikat\",display_name:\"Nazwa wy\\u015Bwietlana\",primary_contact_name:\"G\\u0142\\xF3wna osoba kontaktowa\",contact_name:\"Nazwa kontaktu\",amount_due:\"Do zap\\u0142aty\",email:\"E-mail\",address:\"Adres\",phone:\"Telefon\",website:\"Strona internetowa\",overview:\"Przegl\\u0105d\",invoice_prefix:\"Przedrostek Faktury\",estimate_prefix:\"Przedrostek Oferty\",payment_prefix:\"Przedrostek P\\u0142atno\\u015Bci\",enable_portal:\"W\\u0142\\u0105cz portal\",country:\"Kraj\",state:\"Wojew\\xF3dztwo\",city:\"Miasto\",zip_code:\"Kod pocztowy\",added_on:\"Dodano dnia\",action:\"Akcja\",password:\"Has\\u0142o\",confirm_password:\"Potwierd\\u017A Has\\u0142o\",street_number:\"Numer ulicy\",primary_currency:\"Waluta g\\u0142\\xF3wna\",description:\"Opis\",add_new_customer:\"Dodaj nowego klienta\",save_customer:\"Zapisz klienta\",update_customer:\"Aktualizuj klienta\",customer:\"Klient | Klienci\",new_customer:\"Nowy klient\",edit_customer:\"Edytuj klienta\",basic_info:\"Podstawowe informacje\",portal_access:\"Panel Klienta\",portal_access_text:\"Czy chcesz zezwoli\\u0107 temu klientowi na logowanie do Panelu Klienta?\",portal_access_url:\"Adres URL Panelu Klienta\",portal_access_url_help:\"Skopiuj i prze\\u015Blij powy\\u017Cszy adres URL do klienta w celu zapewnienia dost\\u0119pu.\",billing_address:\"Adres do faktury\",shipping_address:\"Adres dostawy\",copy_billing_address:\"Kopiuj z rachunku\",no_customers:\"Brak klient\\xF3w!\",no_customers_found:\"Nie znaleziono klient\\xF3w!\",no_contact:\"Brak kontaktu\",no_contact_name:\"Brak nazwy kontaktu\",list_of_customers:\"Ta sekcja b\\u0119dzie zawiera\\u0107 list\\u0119 klient\\xF3w.\",primary_display_name:\"G\\u0142\\xF3wna nazwa wy\\u015Bwietlana\",select_currency:\"Wybierz walut\\u0119\",select_a_customer:\"Wybierz klienta\",type_or_click:\"Wpisz lub kliknij aby wybra\\u0107\",new_transaction:\"Nowa transakcja\",no_matching_customers:\"Brak pasuj\\u0105cych klient\\xF3w!\",phone_number:\"Numer telefonu\",create_date:\"Data utworzenia\",confirm_delete:\"Nie b\\u0119dziesz w stanie odzyska\\u0107 tego klienta i wszystkich powi\\u0105zanych faktur, ofert i p\\u0142atno\\u015Bci. | Nie b\\u0119dziesz w stanie odzyska\\u0107 tych klient\\xF3w i wszystkich powi\\u0105zanych faktur, ofert i p\\u0142atno\\u015Bci.\",created_message:\"Klient zosta\\u0142 utworzony poprawnie\",updated_message:\"Klient zosta\\u0142 zaktualizowany poprawnie\",address_updated_message:\"Pomy\\u015Blnie zaktualizowano informacje adresowe\",deleted_message:\"Klient zosta\\u0142 usuni\\u0119ty pomy\\u015Blnie | Klienci zostali usuni\\u0119ci pomy\\u015Blnie\",edit_currency_not_allowed:\"Nie mo\\u017Cna zmieni\\u0107 waluty po utworzeniu transakcji.\"},fu={title:\"Pozycje\",items_list:\"Lista pozycji\",name:\"Nazwa\",unit:\"Jednostka\",description:\"Opis\",added_on:\"Dodano\",price:\"Cena\",date_of_creation:\"Data utworzenia\",not_selected:\"Nie wybrano element\\xF3w\",action:\"Akcja\",add_item:\"Dodaj pozycj\\u0119\",save_item:\"Zapisz przedmiot\",update_item:\"Aktualizuj element\",item:\"Pozycja | Pozycje\",add_new_item:\"Dodaj now\\u0105 pozycj\\u0119\",new_item:\"Nowy produkt\",edit_item:\"Edytuj element\",no_items:\"Brak element\\xF3w!\",list_of_items:\"Ta sekcja b\\u0119dzie zawiera\\u0107 list\\u0119 pozycji.\",select_a_unit:\"wybierz jednostk\\u0119\",taxes:\"Podatki\",item_attached_message:\"Nie mo\\u017Cna usun\\u0105\\u0107 elementu, kt\\xF3ry jest ju\\u017C u\\u017Cywany\",confirm_delete:\"Nie b\\u0119dziesz w stanie odzyska\\u0107 tej pozycji | Nie b\\u0119dziesz w stanie odzyska\\u0107 tych pozycji\",created_message:\"Element zosta\\u0142 pomy\\u015Blnie zaktualizowany\",updated_message:\"Element zosta\\u0142 pomy\\u015Blnie zaktualizowany\",deleted_message:\"Pozycja usuni\\u0119ta pomy\\u015Blnie | Pozycje usuni\\u0119te pomy\\u015Blnie\"},gu={title:\"Oferty\",accept_estimate:\"Zaakceptuj Ofert\\u0119\",reject_estimate:\"Odrzu\\u0107 Ofert\\u0119\",estimate:\"Oferta | Oferty\",estimates_list:\"Lista ofert\",days:\"{days} Dni\",months:\"{months} Miesi\\u0105c\",years:\"{years} Rok\",all:\"Wszystkie\",paid:\"Zap\\u0142acone\",unpaid:\"Niezap\\u0142acone\",customer:\"KLIENT\",ref_no:\"NR REF.\",number:\"NUMER\",amount_due:\"DO ZAP\\u0141ATY\",partially_paid:\"Cz\\u0119\\u015Bciowo op\\u0142acona\",total:\"Razem\",discount:\"Rabat\",sub_total:\"Podsumowanie\",estimate_number:\"Numer oferty\",ref_number:\"Numer referencyjny\",contact:\"Kontakt\",add_item:\"Dodaj pozycj\\u0119\",date:\"Data\",due_date:\"Data wa\\u017Cno\\u015Bci\",expiry_date:\"Data wyga\\u015Bni\\u0119cia\",status:\"Status\",add_tax:\"Dodaj podatek\",amount:\"Kwota\",action:\"Akcja\",notes:\"Notatki\",tax:\"Podatek\",estimate_template:\"Szablon\",convert_to_invoice:\"Konwertuj do faktury\",mark_as_sent:\"Oznacz jako wys\\u0142ane\",send_estimate:\"Wy\\u015Blij ofert\\u0119\",resend_estimate:\"Wy\\u015Blij ponownie ofert\\u0119\",record_payment:\"Zarejestruj p\\u0142atno\\u015B\\u0107\",add_estimate:\"Dodaj ofert\\u0119\",save_estimate:\"Zapisz ofert\\u0119\",confirm_conversion:\"Ta oferta zostanie u\\u017Cyta do utworzenia nowej faktury.\",conversion_message:\"Faktura zosta\\u0142a utworzona pomy\\u015Blnie\",confirm_send_estimate:\"Ta oferta zostanie wys\\u0142ana poczt\\u0105 elektroniczn\\u0105 do kontrahenta\",confirm_mark_as_sent:\"Ta oferta zostanie oznaczona jako wys\\u0142ana\",confirm_mark_as_accepted:\"Ta oferta zostanie oznaczona jako zatwierdzona\",confirm_mark_as_rejected:\"Ta oferta zostanie oznaczona jako odrzucona\",no_matching_estimates:\"Brak pasuj\\u0105cych ofert!\",mark_as_sent_successfully:\"Oferta oznaczona jako wys\\u0142ana pomy\\u015Blnie\",send_estimate_successfully:\"Kalkulacja wys\\u0142ana pomy\\u015Blnie\",errors:{required:\"To pole jest wymagane\"},accepted:\"Zaakceptowano\",rejected:\"Odrzucono\",expired:\"Wygas\\u0142a\",sent:\"Wys\\u0142ano\",draft:\"Wersja robocza\",viewed:\"Wy\\u015Bwietlona\",declined:\"Odrzucona\",new_estimate:\"Nowa oferta\",add_new_estimate:\"Dodaj now\\u0105 ofert\\u0119\",update_Estimate:\"Zaktualizuj ofert\\u0119\",edit_estimate:\"Edytuj ofert\\u0119\",items:\"pozycje\",Estimate:\"Oferta | Oferty\",add_new_tax:\"Dodaj nowy podatek\",no_estimates:\"Nie ma jeszcze ofert!\",list_of_estimates:\"Ta sekcja b\\u0119dzie zawiera\\u0142a list\\u0119 ofert.\",mark_as_rejected:\"Oznacz jako odrzucon\\u0105\",mark_as_accepted:\"Oznacz jako zaakceptowan\\u0105\",marked_as_accepted_message:\"Oferty oznaczone jako zaakceptowane\",marked_as_rejected_message:\"Oferty oznaczone jako odrzucone\",confirm_delete:\"Nie b\\u0119dziesz w stanie odzyska\\u0107 tej oferty | Nie b\\u0119dziesz w stanie odzyska\\u0107 tych ofert\",created_message:\"Oferta utworzona pomy\\u015Blnie\",updated_message:\"Oferta zaktualizowana pomy\\u015Blnie\",deleted_message:\"Oferta usuni\\u0119ta pomy\\u015Blnie | Oferty usuni\\u0119te pomy\\u015Blnie\",something_went_wrong:\"co\\u015B posz\\u0142o nie tak\",item:{title:\"Tytu\\u0142 pozycji\",description:\"Opis\",quantity:\"Ilo\\u015B\\u0107\",price:\"Cena\",discount:\"Rabat\",total:\"Razem\",total_discount:\"Rabat \\u0142\\u0105cznie\",sub_total:\"Podsumowanie\",tax:\"Podatek\",amount:\"Kwota\",select_an_item:\"Wpisz lub kliknij aby wybra\\u0107 element\",type_item_description:\"Opis pozycji (opcjonalnie)\"},mark_as_default_estimate_template_description:\"If enabled, the selected template will be automatically selected for new estimates.\"},vu={title:\"Faktury\",download:\"Pobierz\",pay_invoice:\"Zap\\u0142a\\u0107 Faktur\\u0119\",invoices_list:\"Lista faktur\",invoice_information:\"Informacje o Fakturze\",days:\"{days} Dni\",months:\"{months} Miesi\\u0105c\",years:\"{years} Rok\",all:\"Wszystko\",paid:\"Zap\\u0142acono\",unpaid:\"Nie zap\\u0142acono\",viewed:\"Przejrzane\",overdue:\"Zaleg\\u0142e\",completed:\"Uko\\u0144czone\",customer:\"KLIENT\",paid_status:\"STATUS P\\u0141ATNO\\u015ACI\",ref_no:\"NR REF.\",number:\"NUMER\",amount_due:\"DO ZAP\\u0141ATY\",partially_paid:\"Cz\\u0119\\u015Bciowo op\\u0142acona\",total:\"Razem\",discount:\"Rabat\",sub_total:\"Podsumowanie\",invoice:\"Faktura | Faktury\",invoice_number:\"Numer faktury\",ref_number:\"Numer referencyjny\",contact:\"Kontakt\",add_item:\"Dodaj pozycj\\u0119\",date:\"Data\",due_date:\"Termin p\\u0142atno\\u015Bci\",status:\"Status\",add_tax:\"Dodaj podatek\",amount:\"Kwota\",action:\"Akcja\",notes:\"Notatki\",view:\"Widok\",send_invoice:\"Wy\\u015Blij faktur\\u0119\",resend_invoice:\"Wy\\u015Blij faktur\\u0119 ponownie\",invoice_template:\"Szablon faktury\",conversion_message:\"Faktura sklonowana pomy\\u015Blnie\",template:\"Szablon\",mark_as_sent:\"Oznacz jako wys\\u0142ane\",confirm_send_invoice:\"Ta faktura zostanie wys\\u0142ana poczt\\u0105 elektroniczn\\u0105 do kontrahenta\",invoice_mark_as_sent:\"Ta faktura zostanie oznaczona jako wys\\u0142ana\",confirm_mark_as_accepted:\"Ta faktura zostanie oznaczona jako Zaakceptowana\",confirm_mark_as_rejected:\"Ta faktura zostanie oznaczona jako Odrzucona\",confirm_send:\"Ta faktura zostanie wys\\u0142ana poczt\\u0105 elektroniczn\\u0105 do kontrahenta\",invoice_date:\"Data faktury\",record_payment:\"Zarejestruj p\\u0142atno\\u015B\\u0107\",add_new_invoice:\"Dodaj now\\u0105 faktur\\u0119\",update_expense:\"Zaktualizuj wydatki\",edit_invoice:\"Edytuj faktur\\u0119\",new_invoice:\"Nowa faktura\",save_invoice:\"Zapisz faktur\\u0119\",update_invoice:\"Zaktualizuj faktur\\u0119\",add_new_tax:\"Dodaj nowy podatek\",no_invoices:\"Brak faktur!\",mark_as_rejected:\"Oznacz jako odrzucon\\u0105\",mark_as_accepted:\"Oznacz jako zaakceptowan\\u0105\",list_of_invoices:\"Ta sekcja b\\u0119dzie zawiera\\u0107 list\\u0119 faktur.\",select_invoice:\"Wybierz faktur\\u0119\",no_matching_invoices:\"Brak pasuj\\u0105cych faktur!\",mark_as_sent_successfully:\"Faktura oznaczona jako wys\\u0142ana pomy\\u015Blnie\",invoice_sent_successfully:\"Faktura wys\\u0142ana pomy\\u015Blnie\",cloned_successfully:\"Faktura sklonowana pomy\\u015Blnie\",clone_invoice:\"Sklonuj faktur\\u0119\",confirm_clone:\"Ta faktura zostanie sklonowana do nowej faktury\",item:{title:\"Tytu\\u0142 pozycji\",description:\"Opis\",quantity:\"Ilo\\u015B\\u0107\",price:\"Cena\",discount:\"Rabat\",total:\"Razem\",total_discount:\"Rabat \\u0142\\u0105cznie\",sub_total:\"Podsumowanie\",tax:\"Podatek\",amount:\"Kwota\",select_an_item:\"Wpisz lub kliknij aby wybra\\u0107 element\",type_item_description:\"Opis pozycji (opcjonalnie)\"},payment_attached_message:\"Jedna z wybranych faktur ma do\\u0142\\u0105czon\\u0105 p\\u0142atno\\u015B\\u0107. Upewnij si\\u0119, \\u017Ce najpierw usuniesz za\\u0142\\u0105czone p\\u0142atno\\u015Bci, aby kontynuowa\\u0107 usuwanie\",confirm_delete:\"Nie b\\u0119dziesz w stanie odzyska\\u0107 tej faktury | Nie b\\u0119dziesz w stanie odzyska\\u0107 tych faktur\",created_message:\"Faktura zosta\\u0142a utworzona pomy\\u015Blnie\",updated_message:\"Faktura zosta\\u0142a pomy\\u015Blnie zaktualizowana\",deleted_message:\"Faktura usuni\\u0119ta pomy\\u015Blnie | Faktury usuni\\u0119te pomy\\u015Blnie\",marked_as_sent_message:\"Faktura oznaczona jako wys\\u0142ana pomy\\u015Blnie\",something_went_wrong:\"co\\u015B posz\\u0142o nie tak\",invalid_due_amount_message:\"Ca\\u0142kowita kwota faktury nie mo\\u017Ce by\\u0107 mniejsza ni\\u017C ca\\u0142kowita kwota zap\\u0142acona za t\\u0119 faktur\\u0119. Prosz\\u0119 zaktualizowa\\u0107 faktur\\u0119 lub usun\\u0105\\u0107 powi\\u0105zane p\\u0142atno\\u015Bci, aby kontynuowa\\u0107.\",mark_as_default_invoice_template_description:\"If enabled, the selected template will be automatically selected for new invoices.\"},yu={title:\"Faktury cykliczne\",invoices_list:\"Lista Faktur Cyklicznych\",days:\"{days} Dni\",months:\"{months} Miesi\\u0119cy\",years:\"{years} Lat\",all:\"Wszystkie\",paid:\"Zap\\u0142acone\",unpaid:\"Niezap\\u0142acone\",viewed:\"Przegl\\u0105dane\",overdue:\"Zaleg\\u0142e\",active:\"Aktywne\",completed:\"Uko\\u0144czone\",customer:\"KLIENT\",paid_status:\"STATUS P\\u0141ATNO\\u015ACI\",ref_no:\"NR REF.\",number:\"NUMER\",amount_due:\"DO ZAP\\u0141ATY\",partially_paid:\"Cz\\u0119\\u015Bciowo Op\\u0142acona\",total:\"Razem\",discount:\"Rabat\",sub_total:\"Suma Po\\u015Brednia\",invoice:\"Faktura Cykliczna | Faktury Cykliczne\",invoice_number:\"Numer Faktury Cyklicznej\",next_invoice_date:\"Data nast\\u0119pnej Faktury\",ref_number:\"Numer ref.\",contact:\"Kontakt\",add_item:\"Dodaj pozycj\\u0119\",date:\"Data\",limit_by:\"Ogranicz przez\",limit_date:\"Data ostateczna\",limit_count:\"Limit ilo\\u015Bci\",count:\"Liczba\",status:\"Status\",select_a_status:\"Wybierz status\",working:\"Pracuj\\u0119\",on_hold:\"Wstrzymane\",complete:\"Uko\\u0144czone\",add_tax:\"Dodaj podatek\",amount:\"Kwota\",action:\"Akcja\",notes:\"Notatki\",view:\"Podgl\\u0105d\",basic_info:\"Podstawowe informacje\",send_invoice:\"Wy\\u015Blij Faktur\\u0119 Cykliczn\\u0105\",auto_send:\"Automatyczna Wysy\\u0142ka\",resend_invoice:\"Wy\\u015Blij ponownie Faktur\\u0119 Cykliczn\\u0105\",invoice_template:\"Szablon Faktury Cyklicznej\",conversion_message:\"Faktura Cykliczna sklonowana pomy\\u015Blnie\",template:\"Szablon\",mark_as_sent:\"Oznacz jako wys\\u0142ane\",confirm_send_invoice:\"Ta faktura cykliczna zostanie wys\\u0142ana poczt\\u0105 elektroniczn\\u0105 do klienta\",invoice_mark_as_sent:\"Ta faktura cykliczna zostanie oznaczona jako wys\\u0142ana\",confirm_send:\"Ta faktura cykliczna zostanie wys\\u0142ana poczt\\u0105 elektroniczn\\u0105 do klienta\",starts_at:\"Data wystawienia\",due_date:\"Termin p\\u0142atno\\u015Bci faktury\",record_payment:\"Zarejestruj p\\u0142atno\\u015B\\u0107\",add_new_invoice:\"Dodaj now\\u0105 faktur\\u0119 cykliczn\\u0105\",update_expense:\"Zaktualizuj wydatek\",edit_invoice:\"Edytuj faktur\\u0119 cykliczn\\u0105\",new_invoice:\"Nowa Faktura Cykliczna\",send_automatically:\"Wysy\\u0142aj automatycznie\",send_automatically_desc:\"W\\u0142\\u0105cz to, je\\u015Bli chcesz automatycznie wys\\u0142a\\u0107 faktur\\u0119 do klienta po jej utworzeniu.\",save_invoice:\"Zapisz Faktur\\u0119 Cykliczn\\u0105\",update_invoice:\"Zaktualizuj Faktur\\u0119 Cykliczn\\u0105\",add_new_tax:\"Dodaj Nowy Podatek\",no_invoices:\"Brak faktur cyklicznych!\",mark_as_rejected:\"Oznacz jako odrzucona\",mark_as_accepted:\"Oznacz jako zaakceptowana\",list_of_invoices:\"Ta sekcja b\\u0119dzie zawiera\\u0107 list\\u0119 faktur cyklicznych.\",select_invoice:\"Wybierz faktur\\u0119\",no_matching_invoices:\"Brak pasuj\\u0105cych faktur cyklicznych!\",mark_as_sent_successfully:\"Faktura Cykliczna oznaczona jako wys\\u0142ana pomy\\u015Blnie\",invoice_sent_successfully:\"Faktura Cykliczna wys\\u0142ana pomy\\u015Blnie\",cloned_successfully:\"Faktura Cykliczna sklonowana pomy\\u015Blnie\",clone_invoice:\"Klonuj Faktur\\u0119 Cykliczn\\u0105\",confirm_clone:\"Ta faktura cykliczna zostanie sklonowana do nowej faktury cyklicznej\",add_customer_email:\"Please add an email address for this customer to send invoices automatically.\",item:{title:\"Tytu\\u0142 pozycji\",description:\"Opis\",quantity:\"Ilo\\u015B\\u0107\",price:\"Cena\",discount:\"Rabat\",total:\"Razem\",total_discount:\"Rabat \\u0142\\u0105cznie\",sub_total:\"Podsumowanie\",tax:\"Podatek\",amount:\"Kwota\",select_an_item:\"Wpisz lub kliknij aby wybra\\u0107 element\",type_item_description:\"Opis pozycji (opcjonalnie)\"},frequency:{title:\"Cz\\u0119stotliwo\\u015B\\u0107\",select_frequency:\"Wybierz cz\\u0119stotliwo\\u015B\\u0107\",minute:\"Minuta\",hour:\"Godzina\",day_month:\"Dzie\\u0144 miesi\\u0105ca\",month:\"Miesi\\u0105c\",day_week:\"Dzie\\u0144 tygodnia\"},confirm_delete:\"Nie b\\u0119dziesz w stanie odzyska\\u0107 tej faktury | Nie b\\u0119dziesz w stanie odzyska\\u0107 tych faktur\",created_message:\"Faktura Cykliczna utworzona pomy\\u015Blnie\",updated_message:\"Faktura Cykliczna zaktualizowana pomy\\u015Blnie\",deleted_message:\"Faktura Cykliczna usuni\\u0119ta pomy\\u015Blnie | Faktury Cykliczne usuni\\u0119te pomy\\u015Blnie\",marked_as_sent_message:\"Faktura Cykliczna oznaczona jako wys\\u0142ana pomy\\u015Blnie\",user_email_does_not_exist:\"E-mail u\\u017Cytkownika nie istnieje\",something_went_wrong:\"co\\u015B posz\\u0142o nie tak\",invalid_due_amount_message:\"Ca\\u0142kowita kwota faktury cyklicznej nie mo\\u017Ce by\\u0107 mniejsza ni\\u017C ca\\u0142kowita kwota zap\\u0142acona za t\\u0119 faktur\\u0119 cykliczn\\u0105. Prosz\\u0119 zaktualizowa\\u0107 faktur\\u0119 lub usun\\u0105\\u0107 powi\\u0105zane p\\u0142atno\\u015Bci, aby kontynuowa\\u0107.\"},hu={title:\"P\\u0142atno\\u015Bci\",payments_list:\"Lista p\\u0142atno\\u015Bci\",record_payment:\"Zarejestruj p\\u0142atno\\u015B\\u0107\",customer:\"Kontrahent\",date:\"Data\",amount:\"Kwota\",action:\"Akcja\",payment_number:\"Numer p\\u0142atno\\u015Bci\",payment_mode:\"Metoda p\\u0142atno\\u015Bci\",invoice:\"Faktura\",note:\"Notatka\",add_payment:\"Dodaj p\\u0142atno\\u015B\\u0107\",new_payment:\"Nowa p\\u0142atno\\u015B\\u0107\",edit_payment:\"Edytuj p\\u0142atno\\u015B\\u0107\",view_payment:\"Wy\\u015Bwietl p\\u0142atno\\u015B\\u0107\",add_new_payment:\"Dodaj now\\u0105 p\\u0142atno\\u015B\\u0107\",send_payment_receipt:\"Wy\\u015Blij potwierdzenie p\\u0142atno\\u015Bci\",send_payment:\"Wy\\u015Blij p\\u0142atno\\u015B\\u0107\",save_payment:\"Zapisz p\\u0142atno\\u015B\\u0107\",update_payment:\"Zaktualizuj p\\u0142atno\\u015B\\u0107\",payment:\"P\\u0142atno\\u015B\\u0107 | P\\u0142atno\\u015Bci\",no_payments:\"Nie ma jeszcze p\\u0142atno\\u015Bci!\",not_selected:\"Nie wybrano\",no_invoice:\"Brak faktury\",no_matching_payments:\"Brak pasuj\\u0105cych p\\u0142atno\\u015Bci!\",list_of_payments:\"Ta sekcja b\\u0119dzie zawiera\\u0107 list\\u0119 p\\u0142atno\\u015Bci.\",select_payment_mode:\"Wybierz spos\\xF3b p\\u0142atno\\u015Bci\",confirm_mark_as_sent:\"Ta oferta zostanie oznaczona jako wys\\u0142ana\",confirm_send_payment:\"Ta p\\u0142atno\\u015B\\u0107 zostanie wys\\u0142ana e-mailem do kontrahenta\",send_payment_successfully:\"P\\u0142atno\\u015B\\u0107 wys\\u0142ana pomy\\u015Blnie\",something_went_wrong:\"co\\u015B posz\\u0142o nie tak\",confirm_delete:\"Nie b\\u0119dziesz w stanie odzyska\\u0107 tej p\\u0142atno\\u015Bci | Nie b\\u0119dziesz w stanie odzyska\\u0107 tych p\\u0142atno\\u015Bci\",created_message:\"P\\u0142atno\\u015B\\u0107 zosta\\u0142a pomy\\u015Blnie utworzona\",updated_message:\"P\\u0142atno\\u015B\\u0107 zosta\\u0142a pomy\\u015Blnie zaktualizowana\",deleted_message:\"P\\u0142atno\\u015B\\u0107 usuni\\u0119ta pomy\\u015Blnie | P\\u0142atno\\u015Bci usuni\\u0119te pomy\\u015Blnie\",invalid_amount_message:\"Kwota p\\u0142atno\\u015Bci jest nieprawid\\u0142owa\"},bu={title:\"Wydatki\",expenses_list:\"Lista wydatk\\xF3w\",select_a_customer:\"Wybierz kontrahenta\",expense_title:\"Tytu\\u0142\",customer:\"Kontrahent\",currency:\"Waluta\",contact:\"Kontakt\",category:\"Kategoria\",from_date:\"Od daty\",to_date:\"Do daty\",expense_date:\"Data\",description:\"Opis\",receipt:\"Potwierdzenie\",amount:\"Kwota\",action:\"Akcja\",not_selected:\"Nie wybrano\",note:\"Notatka\",category_id:\"Identyfikator kategorii\",date:\"Data\",add_expense:\"Dodaj wydatek\",add_new_expense:\"Dodaj nowy wydatek\",save_expense:\"Zapisz wydatek\",update_expense:\"Zaktualizuj wydatek\",download_receipt:\"Pobierz potwierdzenie wp\\u0142aty\",edit_expense:\"Edytuj wydatek\",new_expense:\"Nowy wydatek\",expense:\"Wydatek | Wydatki\",no_expenses:\"Nie ma jeszcze wydatk\\xF3w!\",list_of_expenses:\"Ta sekcja b\\u0119dzie zawiera\\u0142a list\\u0119 wydatk\\xF3w.\",confirm_delete:\"Nie b\\u0119dziesz w stanie odzyska\\u0107 tego wydatku | Nie b\\u0119dziesz w stanie odzyska\\u0107 tych wydatk\\xF3w\",created_message:\"Wydatek utworzony pomy\\u015Blnie\",updated_message:\"Wydatek zaktualizowany pomy\\u015Blnie\",deleted_message:\"Wydatek usuni\\u0119ty pomy\\u015Blnie | Wydatki usuni\\u0119te pomy\\u015Blnie\",categories:{categories_list:\"Lista kategorii\",title:\"Tytu\\u0142\",name:\"Nazwa\",description:\"Opis\",amount:\"Kwota\",actions:\"Akcje\",add_category:\"Dodaj kategori\\u0119\",new_category:\"Nowa kategoria\",category:\"Kategoria | Kategorie\",select_a_category:\"Wybierz kategori\\u0119\"}},ku={email:\"E-mail\",password:\"Has\\u0142o\",forgot_password:\"Nie pami\\u0119tasz has\\u0142a?\",or_signIn_with:\"lub zaloguj si\\u0119 przez\",login:\"Logowanie\",register:\"Rejestracja\",reset_password:\"Resetuj has\\u0142o\",password_reset_successfully:\"Has\\u0142o zosta\\u0142o pomy\\u015Blnie zresetowane\",enter_email:\"Wprowad\\u017A adres e-mail\",enter_password:\"Wprowad\\u017A has\\u0142o\",retype_password:\"Wprowad\\u017A has\\u0142o ponownie\"},wu={buy_now:\"Kup teraz\",install:\"Instaluj\",price:\"Cena\",download_zip_file:\"Pobierz plik ZIP\",unzipping_package:\"Rozpakowywanie pakietu\",copying_files:\"Kopiowanie plik\\xF3w\",deleting_files:\"Usuwanie nieu\\u017Cywanych plik\\xF3w\",completing_installation:\"Ko\\u0144czenie instalacji\",update_failed:\"Aktualizacja nie powiod\\u0142a si\\u0119\",install_success:\"Pomy\\u015Blnie zainstalowano Modu\\u0142!\",customer_reviews:\"Opinie\",license:\"Licencja\",faq:\"Najcz\\u0119\\u015Bciej zadawane pytania (FAQ)\",monthly:\"Miesi\\u0119cznie\",yearly:\"Rocznie\",updated:\"Zaktualizowano\",version:\"Wersja\",disable:\"Wy\\u0142acz\",module_disabled:\"Modu\\u0142 Wy\\u0142\\u0105czony\",enable:\"W\\u0142\\u0105cz\",module_enabled:\"Modu\\u0142 W\\u0142\\u0105czony\",update_to:\"Aktualizuj do\",module_updated:\"Modu\\u0142 zaktualizowany pomy\\u015Blnie!\",title:\"Modu\\u0142y\",module:\"Modu\\u0142 | Modu\\u0142y\",api_token:\"Token API\",invalid_api_token:\"Nieprawid\\u0142owy token API.\",other_modules:\"Pozosta\\u0142e Modu\\u0142y\",view_all:\"Zobacz Wszystkie\",no_reviews_found:\"Brak opinii dla tego Modu\\u0142u!\",module_not_purchased:\"Modu\\u0142 niezakupiony\",module_not_found:\"Nie znaleziono modu\\u0142u\",version_not_supported:\"Ta wersja modu\\u0142u nie obs\\u0142uguje bie\\u017C\\u0105cej wersji Aplikacji\",last_updated:\"Ostatnio aktualizowany\",connect_installation:\"Po\\u0142\\u0105cz swoj\\u0105 instalacj\\u0119\",api_token_description:\"Zaloguj si\\u0119 do {url} i pod\\u0142\\u0105cz t\\u0119 instalacj\\u0119 wprowadzaj\\u0105c token API. Zakupione modu\\u0142y pojawi\\u0105 si\\u0119 tutaj po nawi\\u0105zaniu po\\u0142\\u0105czenia.\",view_module:\"Zobacz modu\\u0142\",update_available:\"Aktualizacja Dost\\u0119pna\",purchased:\"Zakupiono\",installed:\"Zainstalowano\",no_modules_installed:\"Brak zainstalowanych modu\\u0142\\xF3w!\",disable_warning:\"Wszystkie ustawienia dla tego konkretnego zostan\\u0105 przywr\\xF3cone.\",what_you_get:\"Co otrzymasz\"},zu={title:\"U\\u017Cytkownicy\",users_list:\"Lista u\\u017Cytkownik\\xF3w\",name:\"Nazwa\",description:\"Opis\",added_on:\"Dodano dnia\",date_of_creation:\"Data utworzenia\",action:\"Akcja\",add_user:\"Dodaj u\\u017Cytkownika\",save_user:\"Zapisz u\\u017Cytkownika\",update_user:\"Zaktualizuj u\\u017Cytkownika\",user:\"U\\u017Cytkownik | U\\u017Cytkownicy\",add_new_user:\"Dodaj nowego u\\u017Cytkownika\",new_user:\"Nowy u\\u017Cytkownik\",edit_user:\"Edytuj u\\u017Cytkownika\",no_users:\"Brak u\\u017Cytkownik\\xF3w!\",list_of_users:\"Ta sekcja b\\u0119dzie zawiera\\u0142a list\\u0119 u\\u017Cytkownik\\xF3w.\",email:\"Email\",phone:\"Telefon\",password:\"Has\\u0142o\",user_attached_message:\"Nie mo\\u017Cna usun\\u0105\\u0107 elementu, kt\\xF3ry jest ju\\u017C w u\\u017Cyciu\",confirm_delete:\"Nie b\\u0119dziesz w stanie odzyska\\u0107 tego u\\u017Cytkownika | Nie b\\u0119dziesz w stanie odzyska\\u0107 tych u\\u017Cytkownik\\xF3w\",created_message:\"U\\u017Cytkownik zosta\\u0142 utworzony pomy\\u015Blnie\",updated_message:\"U\\u017Cytkownik zosta\\u0142 zaktualizowany pomy\\u015Blnie\",deleted_message:\"U\\u017Cytkownik usuni\\u0119ty pomy\\u015Blnie | U\\u017Cytkownicy usuni\\u0119ci pomy\\u015Blnie\",select_company_role:\"Wybierz Rol\\u0119 dla {company}\",companies:\"Firmy\"},xu={title:\"Raport\",from_date:\"Od daty\",to_date:\"Do daty\",status:\"Status\",paid:\"Zap\\u0142acono\",unpaid:\"Nie zap\\u0142acono\",download_pdf:\"Pobierz plik PDF\",view_pdf:\"Podgl\\u0105d PDF\",update_report:\"Aktualizuj raport\",report:\"Raport | Raporty\",profit_loss:{profit_loss:\"Zyski i straty\",to_date:\"Do daty\",from_date:\"Od daty\",date_range:\"Wybierz zakres dat\"},sales:{sales:\"Sprzeda\\u017C\",date_range:\"Wybierz zakres dat\",to_date:\"Do daty\",from_date:\"Od daty\",report_type:\"Typ raportu\"},taxes:{taxes:\"Podatki\",to_date:\"Do daty\",from_date:\"Od daty\",date_range:\"Wybierz zakres dat\"},errors:{required:\"To pole jest wymagane\"},invoices:{invoice:\"Faktura\",invoice_date:\"Data faktury\",due_date:\"Termin p\\u0142atno\\u015Bci\",amount:\"Kwota\",contact_name:\"Nazwa kontaktu\",status:\"Status\"},estimates:{estimate:\"Oferta\",estimate_date:\"Data oferty\",due_date:\"Data wa\\u017Cno\\u015Bci\",estimate_number:\"Numer oferty\",ref_number:\"Numer referencyjny\",amount:\"Kwota\",contact_name:\"Nazwa kontaktu\",status:\"Status\"},expenses:{expenses:\"Wydatki\",category:\"Kategoria\",date:\"Data\",amount:\"Kwota\",to_date:\"Do daty\",from_date:\"Od daty\",date_range:\"Wybierz zakres dat\"}},Pu={menu_title:{account_settings:\"Ustawienia konta\",company_information:\"Informacje o firmie\",customization:\"Dostosowywanie\",preferences:\"Opcje\",notifications:\"Powiadomienia\",tax_types:\"Rodzaje podatku\",expense_category:\"Kategorie wydatku\",update_app:\"Aktualizuj aplikacj\\u0119\",backup:\"Kopia zapasowa\",file_disk:\"Dysk plik\\xF3w\",custom_fields:\"Pola niestandardowe\",payment_modes:\"Rodzaje p\\u0142atno\\u015Bci\",notes:\"Notatki\",exchange_rate:\"Kurs wymiany\",address_information:\"Informacje Adresowe\"},address_information:{section_description:\"  Mo\\u017Cesz zaktualizowa\\u0107 informacje o adresie za pomoc\\u0105 poni\\u017Cszego formularza.\"},title:\"Ustawienia\",setting:\"Ustawienia | Ustawienia\",general:\"Og\\xF3lne\",language:\"J\\u0119zyk\",primary_currency:\"Waluta g\\u0142\\xF3wna\",timezone:\"Strefa czasowa\",date_format:\"Format daty\",currencies:{title:\"Waluty\",currency:\"Waluta | Waluty\",currencies_list:\"Lista walut\",select_currency:\"Wybierz walut\\u0119\",name:\"Nazwa\",code:\"Kod\",symbol:\"Symbol\",precision:\"Dok\\u0142adno\\u015B\\u0107\",thousand_separator:\"Separator tysi\\u0119cy\",decimal_separator:\"Separator dziesi\\u0119tny\",position:\"Pozycja\",position_of_symbol:\"Po\\u0142o\\u017Cenie symbolu\",right:\"Do prawej\",left:\"Do lewej\",action:\"Akcja\",add_currency:\"Dodaj walut\\u0119\"},mail:{host:\"Adres hosta poczty\",port:\"Port poczty\",driver:\"Sterownik poczty\",secret:\"Tajny klucz\",mailgun_secret:\"Mailgun Secret\",mailgun_domain:\"Domena\",mailgun_endpoint:\"Punkt dost\\u0119powy Mailgun\",ses_secret:\"Tajny klucz SES\",ses_key:\"Klucz SES\",password:\"Has\\u0142o poczty\",username:\"Nazwa u\\u017Cytkownika poczty\",mail_config:\"Konfiguracja poczty\",from_name:\"Nazwa nadawcy\",from_mail:\"Adres e-mail nadawcy\",encryption:\"Szyfrowanie poczty\",mail_config_desc:\"Poni\\u017Cej znajduje si\\u0119 formularz konfiguracji sterownika poczty e-mail do wysy\\u0142ania wiadomo\\u015Bci e-mail z aplikacji. Mo\\u017Cesz r\\xF3wnie\\u017C skonfigurowa\\u0107 zewn\\u0119trznych dostawc\\xF3w takich jak Sendgrid, SES itp.\"},pdf:{title:\"Ustawienia PDF\",footer_text:\"Teks stopki\",pdf_layout:\"Szablon PDF\"},company_info:{company_info:\"Dane firmy\",company_name:\"Nazwa firmy\",company_logo:\"Logo firmy\",section_description:\"Informacje o Twojej firmie, kt\\xF3re b\\u0119d\\u0105 wy\\u015Bwietlane na fakturach, ofertach i innych dokumentach stworzonych przez Crater.\",phone:\"Telefon\",country:\"Kraj\",state:\"Wojew\\xF3dztwo\",city:\"Miasto\",address:\"Adres\",zip:\"Kod pocztowy\",save:\"Zapisz\",delete:\"Usu\\u0144\",updated_message:\"Informacje o firmie zosta\\u0142y pomy\\u015Blnie zaktualizowane\",delete_company:\"Usu\\u0144 firm\\u0119\",delete_company_description:\"Po usuni\\u0119ciu firmy stracisz na sta\\u0142e wszystkie dane i pliki z ni\\u0105 powi\\u0105zane.\",are_you_absolutely_sure:\"Czy jeste\\u015B absolutnie pewien?\",delete_company_modal_desc:\"Tej akcji nie mo\\u017Cna cofn\\u0105\\u0107. Spowoduje to trwa\\u0142e usuni\\u0119cie {company} i wszystkich powi\\u0105zanych z ni\\u0105 danych.\",delete_company_modal_label:\"Wpisz {company} aby potwierdzi\\u0107\"},custom_fields:{title:\"Pola niestandardowe\",section_description:\"Dostosuj swoje faktury, oferty i wp\\u0142ywy p\\u0142atno\\u015Bci w\\u0142asnymi polami. Upewnij si\\u0119, \\u017Ce u\\u017Cywasz poni\\u017Cszych p\\xF3l w formatach adresowych na stronie ustawie\\u0144 dostosowywania.\",add_custom_field:\"Dodaj pole niestandardowe\",edit_custom_field:\"Edytuj pole niestandardowe\",field_name:\"Nazwa pola\",label:\"Etykieta\",type:\"Typ\",name:\"Nazwa\",slug:\"Przyjazny link\",required:\"Wymagane\",placeholder:\"Symbol zast\\u0119pczy\",help_text:\"Tekst pomocy\",default_value:\"Warto\\u015B\\u0107 domy\\u015Blna\",prefix:\"Prefiks\",starting_number:\"Numer pocz\\u0105tkowy\",model:\"Model\",help_text_description:\"Wprowad\\u017A jaki\\u015B tekst, aby pom\\xF3c u\\u017Cytkownikom zrozumie\\u0107 cel tego pola niestandardowego.\",suffix:\"Sufiks\",yes:\"Tak\",no:\"Nie\",order:\"Zam\\xF3wienie\",custom_field_confirm_delete:\"Nie b\\u0119dziesz w stanie odzyska\\u0107 tego niestandardowego pola\",already_in_use:\"Pole niestandardowe jest ju\\u017C w u\\u017Cyciu\",deleted_message:\"Pole niestandardowe zosta\\u0142o usuni\\u0119te pomy\\u015Blnie\",options:\"opcje\",add_option:\"Dodaj opcje\",add_another_option:\"Dodaj inn\\u0105 opcj\\u0119\",sort_in_alphabetical_order:\"Sortuj wed\\u0142ug kolejno\\u015Bci alfabetycznej\",add_options_in_bulk:\"Dodaj opcje zbiorcze\",use_predefined_options:\"U\\u017Cyj predefiniowanych opcji\",select_custom_date:\"Wybierz niestandardow\\u0105 dat\\u0119\",select_relative_date:\"Wybierz dat\\u0119 wzgl\\u0119dn\\u0105\",ticked_by_default:\"Zaznaczone domy\\u015Blnie\",updated_message:\"Pole niestandardowe zosta\\u0142o zaktualizowane pomy\\u015Blnie\",added_message:\"Pole niestandardowe zosta\\u0142o dodane pomy\\u015Blnie\",press_enter_to_add:\"Naci\\u015Bnij Enter, aby doda\\u0107 now\\u0105 opcj\\u0119\",model_in_use:\"Nie mo\\u017Cna zaktualizowa\\u0107 modelu dla p\\xF3l, kt\\xF3re s\\u0105 ju\\u017C u\\u017Cywane.\",type_in_use:\"Nie mo\\u017Cna zaktualizowa\\u0107 typu dla p\\xF3l, kt\\xF3re s\\u0105 ju\\u017C u\\u017Cywane.\"},customization:{customization:\"dostosowywanie\",updated_message:\"Informacje o firmie zosta\\u0142y pomy\\u015Blnie zaktualizowane\",save:\"Zapisz\",insert_fields:\"Wstaw pola\",learn_custom_format:\"Dowiedz si\\u0119, jak u\\u017Cywa\\u0107 niestandardowego formatu\",add_new_component:\"Dodaj sk\\u0142adnik\",component:\"Sk\\u0142adnik\",Parameter:\"Parametr\",series:\"Serie\",series_description:\"Aby ustawi\\u0107 statyczny przedrostek / przyrostek, taki jak 'INV' dla ca\\u0142ej firmy. Obs\\u0142ugiwana d\\u0142ugo\\u015B\\u0107 do 6 znak\\xF3w.\",series_param_label:\"Warto\\u015B\\u0107 serii\",delimiter:\"Separator\",delimiter_description:\"Pojedynczy znak do okre\\u015Blenia granicy pomi\\u0119dzy 2 oddzielnymi sk\\u0142adnikami. Domy\\u015Blnie ustawiony na -\",delimiter_param_label:\"Warto\\u015B\\u0107 separatora\",date_format:\"Format daty\",date_format_description:\"Pole daty i czasu lokalnego, kt\\xF3re akceptuje parametr formatu. Domy\\u015Blny format: 'Y' renderuje bie\\u017C\\u0105cy rok.\",date_format_param_label:\"Format\",sequence:\"Sekwencja\",sequence_description:\"Ci\\u0105g\\u0142a sekwencja numer\\xF3w w firmie. Mo\\u017Cesz okre\\u015Bli\\u0107 d\\u0142ugo\\u015B\\u0107 podanego parametru.\",sequence_param_label:\"D\\u0142ugo\\u015B\\u0107 sekwencji\",customer_series:\"Seria klient\\xF3w\",customer_series_description:\"Aby ustawi\\u0107 inny przedrostek / przyrostek dla ka\\u017Cdego klienta.\",customer_sequence:\"Sekwencja Klienta\",customer_sequence_description:\"Ci\\u0105g\\u0142a sekwencja numer\\xF3w dla ka\\u017Cdego klienta.\",customer_sequence_param_label:\"D\\u0142ugo\\u015B\\u0107 sekwencji\",random_sequence:\"Losowa sekwencja\",random_sequence_description:\"Losowy ci\\u0105g alfanumeryczny. Mo\\u017Cesz okre\\u015Bli\\u0107 d\\u0142ugo\\u015B\\u0107 podanego parametru.\",random_sequence_param_label:\"D\\u0142ugo\\u015B\\u0107 sekwencji\",invoices:{title:\"Faktury\",invoice_number_format:\"Format Numer Faktury\",invoice_number_format_description:\"Dostosuj spos\\xF3b generowania numeru faktury podczas tworzenia nowej faktury.\",preview_invoice_number:\"Podgl\\u0105d Numer faktury\",due_date:\"Termin p\\u0142atno\\u015Bci\",due_date_description:\"Okre\\u015Bl, w jaki spos\\xF3b termin p\\u0142atno\\u015Bci jest ustawiany automatycznie podczas tworzenia faktury.\",due_date_days:\"Faktura do zap\\u0142aty po dniach\",set_due_date_automatically:\"Ustaw termin p\\u0142atno\\u015Bci automatycznie\",set_due_date_automatically_description:\"W\\u0142\\u0105cz t\\u0119 opcj\\u0119, je\\u015Bli chcesz ustawi\\u0107 termin p\\u0142atno\\u015Bci automatycznie podczas tworzenia nowej faktury.\",default_formats:\"Formaty domy\\u015Blne\",default_formats_description:\"Poni\\u017Cej podane formaty s\\u0105 u\\u017Cywane do automatycznego wype\\u0142niania p\\xF3l przy tworzeniu faktury.\",default_invoice_email_body:\"Domy\\u015Blny nag\\u0142\\xF3wek e-maila faktury\",company_address_format:\"Format adresu firmy\",shipping_address_format:\"Format adresu dostawy\",billing_address_format:\"Format adresu do faktury\",invoice_email_attachment:\"Wy\\u015Blij faktury jako za\\u0142\\u0105czniki\",invoice_email_attachment_setting_description:\"W\\u0142\\u0105cz to, je\\u015Bli chcesz wysy\\u0142a\\u0107 faktury jako za\\u0142\\u0105cznik e-mail. Pami\\u0119taj, \\u017Ce przycisk 'Zobacz faktur\\u0119' w wiadomo\\u015Bciach e-mail nie b\\u0119dzie ju\\u017C wy\\u015Bwietlany, gdy jest w\\u0142\\u0105czony.\",invoice_settings_updated:\"Ustawienia faktury zosta\\u0142y pomy\\u015Blnie zaktualizowane\",retrospective_edits:\"Edycje Wsteczne\",allow:\"Zezw\\xF3l\",disable_on_invoice_partial_paid:\"Wy\\u0142\\u0105cz po zarejestrowaniu p\\u0142atno\\u015Bci cz\\u0119\\u015Bciowej\",disable_on_invoice_paid:\"Wy\\u0142\\u0105cz po zarejestrowaniu ca\\u0142ej p\\u0142atno\\u015Bci\",disable_on_invoice_sent:\"Wy\\u0142\\u0105cz po wys\\u0142aniu faktury\",retrospective_edits_description:\" Na podstawie prawa krajowego lub twoich preferencji, mo\\u017Cesz ograniczy\\u0107 u\\u017Cytkownik\\xF3w do edycji uko\\u0144czonych faktur.\"},estimates:{title:\"Oferty\",estimate_number_format:\"Format Numeru Oferty\",estimate_number_format_description:\"Dostosuj spos\\xF3b generowania numeru oferty podczas tworzenia nowej oferty.\",preview_estimate_number:\"Podgl\\u0105d Numeru Oferty\",expiry_date:\"Data wyga\\u015Bni\\u0119cia\",expiry_date_description:\"Okre\\u015Bl, w jaki spos\\xF3b data wyga\\u015Bni\\u0119cia jest ustawiana automatycznie podczas tworzenia oferty.\",expiry_date_days:\"Oferta wygasa po dniach\",set_expiry_date_automatically:\"Ustaw automatycznie dat\\u0119 wyga\\u015Bni\\u0119cia\",set_expiry_date_automatically_description:\"W\\u0142\\u0105cz to, je\\u015Bli chcesz ustawi\\u0107 automatycznie dat\\u0119 wyga\\u015Bni\\u0119cia, gdy tworzysz now\\u0105 ofert\\u0119.\",default_formats:\"Formaty domy\\u015Blne\",default_formats_description:\"Poni\\u017Cej podane formaty s\\u0105 u\\u017Cywane do automatycznego wype\\u0142niania p\\xF3l przy tworzeniu oferty.\",default_estimate_email_body:\"Domy\\u015Blny nag\\u0142\\xF3wek e-maila oferty\",company_address_format:\"Format adresu firmy\",shipping_address_format:\"Format adresu dostawy\",billing_address_format:\"Format adresu do faktury\",estimate_email_attachment:\"Wy\\u015Blij oferty jako za\\u0142\\u0105czniki\",estimate_email_attachment_setting_description:\"W\\u0142\\u0105cz to, je\\u015Bli chcesz wysy\\u0142a\\u0107 oferty jako za\\u0142\\u0105cznik e-mail. Pami\\u0119taj, \\u017Ce przycisk 'Zobacz ofert\\u0119' w wiadomo\\u015Bciach e-mail nie b\\u0119dzie ju\\u017C wy\\u015Bwietlany, gdy jest w\\u0142\\u0105czony.\",estimate_settings_updated:\"Ustawienia oferty zosta\\u0142y pomy\\u015Blnie zaktualizowane\",convert_estimate_options:\"Akcja konwersji Oferty\",convert_estimate_description:\"Okre\\u015Bl co dzieje si\\u0119 z ofert\\u0105 po przekonwertowaniu jej w faktur\\u0119.\",no_action:\"Brak akcji\",delete_estimate:\"Usu\\u0144 ofert\\u0119\",mark_estimate_as_accepted:\"Oznacz jako zaakceptowan\\u0105\"},payments:{title:\"P\\u0142atno\\u015Bci\",payment_number_format:\"Format Numeru P\\u0142atno\\u015Bci\",payment_number_format_description:\"Dostosuj spos\\xF3b generowania numeru p\\u0142atno\\u015Bci podczas tworzenia nowej p\\u0142atno\\u015Bci.\",preview_payment_number:\"Podgl\\u0105d Numeru P\\u0142atno\\u015Bci\",default_formats:\"Formaty domy\\u015Blne\",default_formats_description:\"Poni\\u017Cej podane formaty s\\u0105 u\\u017Cywane do automatycznego wype\\u0142niania p\\xF3l przy tworzeniu p\\u0142atno\\u015Bci.\",default_payment_email_body:\"Domy\\u015Blny nag\\u0142\\xF3wek e-maila p\\u0142atno\\u015Bci\",company_address_format:\"Format adresu firmy\",from_customer_address_format:\"Format adresu nadawcy\",payment_email_attachment:\"Wy\\u015Blij p\\u0142atno\\u015Bci jako za\\u0142\\u0105czniki\",payment_email_attachment_setting_description:\"W\\u0142\\u0105cz to, je\\u015Bli chcesz wysy\\u0142a\\u0107 p\\u0142atno\\u015Bci jako za\\u0142\\u0105cznik e-mail. Pami\\u0119taj, \\u017Ce przycisk 'Zobacz p\\u0142atno\\u015B\\u0107' w wiadomo\\u015Bciach e-mail nie b\\u0119dzie ju\\u017C wy\\u015Bwietlany, gdy jest w\\u0142\\u0105czony.\",payment_settings_updated:\"Ustawienia p\\u0142atno\\u015Bci zosta\\u0142y pomy\\u015Blnie zaktualizowane\"},items:{title:\"Pozycje\",units:\"Jednostki\",add_item_unit:\"Dodaj jednostk\\u0119\",edit_item_unit:\"Edytuj jednostk\\u0119\",unit_name:\"Nazwa jednostki\",item_unit_added:\"Dodano jednostk\\u0119\",item_unit_updated:\"Zaktualizowano jednostk\\u0119\",item_unit_confirm_delete:\"Nie b\\u0119dziesz w stanie odzyska\\u0107 tej jednostki przedmiotu\",already_in_use:\"Jednostka pozycji jest ju\\u017C w u\\u017Cyciu\",deleted_message:\"Jednostka pozycji zosta\\u0142a usuni\\u0119ta pomy\\u015Blnie\"},notes:{title:\"Notatki\",description:\"Oszcz\\u0119dzaj czas, tworz\\u0105c notatki i ponownie u\\u017Cywaj\\u0105c ich na fakturach, ofertach i p\\u0142atno\\u015Bciach.\",notes:\"Notatki\",type:\"Typ\",add_note:\"Dodaj notatk\\u0119\",add_new_note:\"Dodaj now\\u0105 notatk\\u0119\",name:\"Nazwa\",edit_note:\"Edytuj notatk\\u0119\",note_added:\"Notatka zosta\\u0142a dodana pomy\\u015Blnie\",note_updated:\"Notatka zaktualizowana pomy\\u015Blnie\",note_confirm_delete:\"Nie b\\u0119dziesz w stanie odzyska\\u0107 tej notatki\",already_in_use:\"Notatka jest ju\\u017C w u\\u017Cyciu\",deleted_message:\"Notatka zosta\\u0142a usuni\\u0119ta pomy\\u015Blnie\"}},account_settings:{profile_picture:\"Zdj\\u0119cie profilowe\",name:\"Nazwa\",email:\"Email\",password:\"Has\\u0142o\",confirm_password:\"Potwierd\\u017A has\\u0142o\",account_settings:\"Ustawienia konta\",save:\"Zapisz\",section_description:\"Mo\\u017Cesz zaktualizowa\\u0107 swoje imi\\u0119, e-mail i has\\u0142o u\\u017Cywaj\\u0105c poni\\u017Cszego formularza.\",updated_message:\"Ustawienia konta zosta\\u0142y pomy\\u015Blnie zaktualizowane\"},user_profile:{name:\"Nazwa\",email:\"Email\",password:\"Has\\u0142o\",confirm_password:\"Potwierd\\u017A has\\u0142o\"},notification:{title:\"Powiadomienie\",email:\"Wy\\u015Blij powiadomienie do\",description:\"Kt\\xF3re powiadomienia e-mail chcesz otrzymywa\\u0107 kiedy co\\u015B si\\u0119 zmieni?\",invoice_viewed:\"Faktura wy\\u015Bwietlona\",invoice_viewed_desc:\"Kiedy klient wy\\u015Bwietli faktur\\u0119 wys\\u0142an\\u0105 za po\\u015Brednictwem kokpitu Cratera.\",estimate_viewed:\"Oferta wy\\u015Bwietlona\",estimate_viewed_desc:\"Kiedy klient wy\\u015Bwietli ofert\\u0119 wys\\u0142an\\u0105 za po\\u015Brednictwem kokpitu Cratera.\",save:\"Zapisz\",email_save_message:\"Wiadomo\\u015B\\u0107 zapisana pomy\\u015Blnie\",please_enter_email:\"Prosz\\u0119 wpisa\\u0107 adres e-mail\"},roles:{title:\"Role\",description:\"Zarz\\u0105dzaj rolami i uprawnieniami tej firmy\",save:\"Zapisz\",add_new_role:\"Dodaj now\\u0105 Rol\\u0119\",role_name:\"Nazwa Roli\",added_on:\"Dodano\",add_role:\"Dodaj Rol\\u0119\",edit_role:\"Edytuj Rol\\u0119\",name:\"Nazwa\",permission:\"Uprawnienie | Uprawnienia\",select_all:\"Zaznacz Wszystko\",none:\"\\u017Badne\",confirm_delete:\"Nie b\\u0119dziesz w stanie odzyska\\u0107 tej Roli\",created_message:\"Rola utworzona pomy\\u015Blnie\",updated_message:\"Rola pomy\\u015Blnie zaktualizowana\",deleted_message:\"Rola pomy\\u015Blnie usuni\\u0119ta\",already_in_use:\"Rola jest ju\\u017C w u\\u017Cyciu\"},exchange_rate:{exchange_rate:\"Kurs wymiany\",title:\"Napraw problemy wymiany walut\",description:\"Wprowad\\u017A kurs wymiany wszystkich walut wymienionych poni\\u017Cej, aby pom\\xF3c Aplikacji we w\\u0142a\\u015Bciwym obliczeniu kwot w {currency}.\",drivers:\"Sterowniki\",new_driver:\"Dodaj nowego dostawc\\u0119\",edit_driver:\"Edytuj dostawc\\u0119\",select_driver:\"Wybierz sterownik\",update:\"wybierz kurs wymiany \",providers_description:\"Skonfiguruj dostawc\\xF3w kursu wymiany walut, aby automatycznie pobiera\\u0107 najnowszy kurs wymiany walut.\",key:\"Klucz API\",name:\"Nazwa\",driver:\"Sterownik\",is_default:\"JEST DOMY\\u015ALNY\",currency:\"Waluty\",exchange_rate_confirm_delete:\"Nie b\\u0119dziesz w stanie odzyska\\u0107 tego sterownika\",created_message:\"Dostawca utworzony pomy\\u015Blnie\",updated_message:\"Dostawca zaktualizowany pomy\\u015Blnie\",deleted_message:\"Dostawca usuni\\u0119ty pomy\\u015Blnie\",error:\" Nie mo\\u017Cna usun\\u0105\\u0107 aktywnego sterownika\",default_currency_error:\"Ta waluta jest ju\\u017C u\\u017Cywana w jednym z aktywnych dostawc\\xF3w\",exchange_help_text:\"Wprowad\\u017A kurs wymiany walut, aby przeliczy\\u0107 z {currency} na {baseCurrency}\",currency_freak:\"Currency Freak\",currency_layer:\"Currency Layer\",open_exchange_rate:\"Open Exchange Rate\",currency_converter:\"Przelicznik walut\",server:\"Serwer\",url:\"Adres URL\",active:\"Aktywny\",currency_help_text:\"Ten dostawca b\\u0119dzie u\\u017Cywany tylko dla wybranych walut\",currency_in_used:\"Nast\\u0119puj\\u0105ce waluty s\\u0105 ju\\u017C aktywne u innego dostawcy. Usu\\u0144 te waluty z wyboru, aby ponownie aktywowa\\u0107 tego dostawc\\u0119.\"},tax_types:{title:\"Rodzaje opodatkowania\",add_tax:\"Dodaj podatek\",edit_tax:\"Edytuj podatek\",description:\"Mo\\u017Cesz dodawa\\u0107 lub usuwa\\u0107 podatki. Crater obs\\u0142uguje podatki od poszczeg\\xF3lnych produkt\\xF3w, jak r\\xF3wnie\\u017C na fakturze.\",add_new_tax:\"Dodaj nowy podatek\",tax_settings:\"Ustawienia podatku\",tax_per_item:\"Podatek na produkt\",tax_name:\"Nazwa podatku\",compound_tax:\"Podatek z\\u0142o\\u017Cony\",percent:\"Procent\",action:\"Akcja\",tax_setting_description:\"W\\u0142\\u0105cz to, je\\u015Bli chcesz doda\\u0107 podatki do poszczeg\\xF3lnych element\\xF3w faktury. Domy\\u015Blnie podatki s\\u0105 dodawane bezpo\\u015Brednio do ca\\u0142ej faktury.\",created_message:\"Typ podatku zosta\\u0142 pomy\\u015Blnie utworzony\",updated_message:\"Typ podatku zosta\\u0142 pomy\\u015Blnie zaktualizowany\",deleted_message:\"Typ podatku zosta\\u0142 pomy\\u015Blnie usuni\\u0119ty\",confirm_delete:\"Nie b\\u0119dziesz w stanie odzyska\\u0107 tego typu podatku\",already_in_use:\"Ten podatek jest w u\\u017Cyciu\"},payment_modes:{title:\"Metody P\\u0142atno\\u015Bci\",description:\"Sposoby transakcji dla p\\u0142atno\\u015Bci\",add_payment_mode:\"Dodaj metod\\u0119 p\\u0142atno\\u015Bci\",edit_payment_mode:\"Edytuj metod\\u0119 p\\u0142atno\\u015Bci\",mode_name:\"Nazwa metody\",payment_mode_added:\"Dodano metod\\u0119 p\\u0142atno\\u015Bci\",payment_mode_updated:\"Zaktualizowano metod\\u0119 p\\u0142atno\\u015Bci\",payment_mode_confirm_delete:\"Nie b\\u0119dziesz w stanie odzyska\\u0107 tej metody p\\u0142atno\\u015Bci\",payments_attached:\"Ta metoda p\\u0142atno\\u015Bci jest ju\\u017C do\\u0142\\u0105czona do p\\u0142atno\\u015Bci. Prosz\\u0119 usun\\u0105\\u0107 za\\u0142\\u0105czone p\\u0142atno\\u015Bci, aby kontynuowa\\u0107 usuwanie.\",expenses_attached:\"Ta metoda p\\u0142atno\\u015Bci jest ju\\u017C do\\u0142\\u0105czona do wydatk\\xF3w. Prosz\\u0119 usun\\u0105\\u0107 za\\u0142\\u0105czone wydatki, aby kontynuowa\\u0107 usuwanie.\",deleted_message:\"Metoda p\\u0142atno\\u015Bci zosta\\u0142a pomy\\u015Blnie usuni\\u0119ta\"},expense_category:{title:\"Kategorie wydatk\\xF3w\",action:\"Akcja\",description:\"Kategorie s\\u0105 wymagane do dodawania wpis\\xF3w wydatk\\xF3w. Mo\\u017Cesz doda\\u0107 lub usun\\u0105\\u0107 te kategorie zgodnie ze swoimi preferencjami.\",add_new_category:\"Dodaj now\\u0105 kategori\\u0119\",add_category:\"Dodaj kategori\\u0119\",edit_category:\"Edytuj kategori\\u0119\",category_name:\"Nazwa kategorii\",category_description:\"Opis\",created_message:\"Kategoria wydatk\\xF3w zosta\\u0142a utworzona pomy\\u015Blnie\",deleted_message:\"Kategoria wydatk\\xF3w zosta\\u0142a usuni\\u0119ta pomy\\u015Blnie\",updated_message:\"Kategoria wydatk\\xF3w zaktualizowana pomy\\u015Blnie\",confirm_delete:\"Nie b\\u0119dziesz w stanie odzyska\\u0107 tej kategorii wydatk\\xF3w\",already_in_use:\"Kategoria jest ju\\u017C w u\\u017Cyciu\"},preferences:{currency:\"Waluta\",default_language:\"Domy\\u015Blny j\\u0119zyk\",time_zone:\"Strefa czasowa\",fiscal_year:\"Rok finansowy\",date_format:\"Format daty\",discount_setting:\"Ustawienia rabatu\",discount_per_item:\"Rabat na produkt \",discount_setting_description:\"W\\u0142\\u0105cz to, je\\u015Bli chcesz doda\\u0107 rabat do poszczeg\\xF3lnych element\\xF3w faktury. Domy\\u015Blnie rabat jest dodawany bezpo\\u015Brednio do ca\\u0142ej faktury.\",expire_public_links:\"Automatycznie wygasaj linki publiczne\",expire_setting_description:\"Okre\\u015Bl czy chcesz wygasza\\u0107 wszystkie linki wys\\u0142ane przez aplikacj\\u0119 w celu przegl\\u0105dania faktur, ofert i p\\u0142atno\\u015Bci itp. po okre\\u015Blonym czasie.\",save:\"Zapisz\",preference:\"Preferencje | Preferencje\",general_settings:\"Domy\\u015Blne ustawienia systemu.\",updated_message:\"Preferencje pomy\\u015Blnie zaktualizowane\",select_language:\"Wybierz j\\u0119zyk\",select_time_zone:\"Ustaw stref\\u0119 czasow\\u0105\",select_date_format:\"Wybierz format daty\",select_financial_year:\"Wybierz rok podatkowy\",recurring_invoice_status:\"Status Faktury Cyklicznej\",create_status:\"Utw\\xF3rz status\",active:\"Aktywne\",on_hold:\"Wstrzymane\",update_status:\"Aktualizuj status\",completed:\"Uko\\u0144czone\",company_currency_unchangeable:\"Nie mo\\u017Cna zmieni\\u0107 waluty firmy\"},update_app:{title:\"Aktualizuj aplikacj\\u0119\",description:\"Mo\\u017Cesz \\u0142atwo zaktualizowa\\u0107 Cratera poprzez klikni\\u0119cie przycisku poni\\u017Cej\",check_update:\"Sprawd\\u017A czy s\\u0105 dost\\u0119pne nowe aktualizacje\",avail_update:\"Dost\\u0119pna nowa aktualizacja\",next_version:\"Nowa wersja\",requirements:\"Wymagania\",update:\"Aktualizuj teraz\",update_progress:\"Aktualizacja w toku...\",progress_text:\"To zajmie tylko kilka minut. Prosz\\u0119 nie od\\u015Bwie\\u017Ca\\u0107 ekranu ani zamyka\\u0107 okna przed zako\\u0144czeniem aktualizacji\",update_success:\"Aplikacja zosta\\u0142a zaktualizowana! Prosz\\u0119 czeka\\u0107, a\\u017C okno przegl\\u0105darki zostanie automatycznie prze\\u0142adowane.\",latest_message:\"Brak dost\\u0119pnych aktualizacji! Posiadasz najnowsz\\u0105 wersj\\u0119.\",current_version:\"Aktualna wersja\",download_zip_file:\"Pobierz plik ZIP\",unzipping_package:\"Rozpakuj pakiet\",copying_files:\"Kopiowanie plik\\xF3w\",deleting_files:\"Usuwanie nieu\\u017Cywanych plik\\xF3w\",running_migrations:\"Uruchamianie migracji\",finishing_update:\"Ko\\u0144czenie aktualizacji\",update_failed:\"Aktualizacja nie powiod\\u0142a si\\u0119\",update_failed_text:\"Przepraszamy! Twoja aktualizacja nie powiod\\u0142a si\\u0119 w kroku: {step}\",update_warning:\"Wszystkie pliki aplikacji i domy\\u015Blne pliki szablonu zostan\\u0105 nadpisane podczas aktualizacji aplikacji przy u\\u017Cyciu tego narz\\u0119dzia. Przed aktualizacj\\u0105 wykonaj kopi\\u0119 zapasow\\u0105 szablon\\xF3w i bazy danych.\"},backup:{title:\"Kopia zapasowa | Kopie zapasowe\",description:\"Kopia zapasowa jest plikiem zipfile zawieraj\\u0105cym wszystkie pliki w katalogach kt\\xF3re podasz wraz z zrzutem bazy danych\",new_backup:\"Dodaj now\\u0105 kopi\\u0119 zapasow\\u0105\",create_backup:\"Utw\\xF3rz kopi\\u0119 zapasow\\u0105\",select_backup_type:\"Wybierz typ kopii zapasowej\",backup_confirm_delete:\"Nie b\\u0119dziesz w stanie odzyska\\u0107 tej kopii zapasowej\",path:\"\\u015Bcie\\u017Cka\",new_disk:\"Nowy dysk\",created_at:\"utworzono w\",size:\"rozmiar\",dropbox:\"dropbox\",local:\"lokalny\",healthy:\"zdrowy\",amount_of_backups:\"liczba kopii zapasowych\",newest_backups:\"najnowsza kopia zapasowa\",used_storage:\"zu\\u017Cyta pami\\u0119\\u0107\",select_disk:\"Wybierz dysk\",action:\"Akcja\",deleted_message:\"Kopia zapasowa usuni\\u0119ta pomy\\u015Blnie\",created_message:\"Kopia zapasowa utworzona pomy\\u015Blnie\",invalid_disk_credentials:\"Nieprawid\\u0142owe dane uwierzytelniaj\\u0105ce wybranego dysku\"},disk:{title:\"Dysk plik\\xF3w | Dyski plik\\xF3w\",description:\"Domy\\u015Blnie Crater u\\u017Cyje twojego lokalnego dysku do zapisywania kopii zapasowych, awatara i innych plik\\xF3w obrazu. Mo\\u017Cesz skonfigurowa\\u0107 wi\\u0119cej ni\\u017C jeden serwer dysku, taki jak DigitalOcean, S3 i Dropbox, zgodnie z Twoimi preferencjami.\",created_at:\"utworzono w\",dropbox:\"dropbox\",name:\"Nazwa\",driver:\"Sterownik\",disk_type:\"Typ\",disk_name:\"Nazwa dysku\",new_disk:\"Dodaj nowy dysk\",filesystem_driver:\"Sterownik systemu plik\\xF3w\",local_driver:\"lokalny sterownik\",local_root:\"g\\u0142\\xF3wny katalog lokalny\",public_driver:\"Publiczny sterownik\",public_root:\"Publiczny g\\u0142\\xF3wny katalog\",public_url:\"Publiczny URL\",public_visibility:\"Widoczno\\u015B\\u0107 publiczna\",media_driver:\"Media Driver\",media_root:\"Media Root\",aws_driver:\"Sterownik AWS\",aws_key:\"Klucz AWS\",aws_secret:\"Tajny klucz AWS\",aws_region:\"Region AWS\",aws_bucket:\"Zasobnik AWS\",aws_root:\"Katalog g\\u0142\\xF3wny AWS\",do_spaces_type:\"Typ Do Spaces\",do_spaces_key:\"Klucz Do Spaces\",do_spaces_secret:\"Tajny klucz Do Spaces\",do_spaces_region:\"Region Do Spaces\",do_spaces_bucket:\"Zasobnik Do Spaces\",do_spaces_endpoint:\"Punkt dost\\u0119powy Do Spaces\",do_spaces_root:\"Katalog g\\u0142\\xF3wny Do Spaces\",dropbox_type:\"Typ Dropbox\",dropbox_token:\"Token Dropbox\",dropbox_key:\"Klucz Dropbox\",dropbox_secret:\"Tajny klucz Dropbox\",dropbox_app:\"Aplikacja Dropbox\",dropbox_root:\"Root Dropbox\",default_driver:\"Domy\\u015Blny sterownik\",is_default:\"JEST DOMY\\u015ALNY\",set_default_disk:\"Ustaw domy\\u015Blny dysk\",set_default_disk_confirm:\"Ten dysk zostanie ustawiony jako domy\\u015Blny, a wszystkie nowe pliki PDF zostan\\u0105 zapisane na tym dysku\",success_set_default_disk:\"Dysk zosta\\u0142 pomy\\u015Blnie ustawiony jako domy\\u015Blny\",save_pdf_to_disk:\"Zapisz pliki PDF na dysku\",disk_setting_description:\" W\\u0142\\u0105cz t\\u0119 opcj\\u0119, je\\u015Bli chcesz automatycznie zapisa\\u0107 kopi\\u0119 ka\\u017Cdej faktury, oferty i potwierdzenia p\\u0142atno\\u015Bci PDF na swoim domy\\u015Blnym dysku. W\\u0142\\u0105czenie tej opcji spowoduje skr\\xF3cenie czasu \\u0142adowania podczas przegl\\u0105dania PDF.\",select_disk:\"Wybierz dysk\",disk_settings:\"Ustawienia dysku\",confirm_delete:\"Twoje istniej\\u0105ce pliki i foldery na okre\\u015Blonym dysku nie zostan\\u0105 zmienione, ale konfiguracja twojego dysku zostanie usuni\\u0119ta z Cratera\",action:\"Akcja\",edit_file_disk:\"Edytuj dysk plk\\xF3w\",success_create:\"Dysk dodany pomy\\u015Blnie\",success_update:\"Dysk zaktualizowany pomy\\u015Blnie\",error:\"B\\u0142\\u0105d dodawania dysku\",deleted_message:\"Dysk plik\\xF3w zosta\\u0142 usuni\\u0119ty pomy\\u015Blnie\",disk_variables_save_successfully:\"Dysk skonfigurowany pomy\\u015Blnie\",disk_variables_save_error:\"Konfiguracja dysku nieudana.\",invalid_disk_credentials:\"Nieprawid\\u0142owe dane uwierzytelniaj\\u0105ce wybranego dysku\"},taxations:{add_billing_address:\"Wprowad\\u017A adres do faktury\",add_shipping_address:\"Wprowad\\u017A adres do wysy\\u0142ki\",add_company_address:\"Wprowad\\u017A adres firmy\",modal_description:\"Poni\\u017Csze informacje s\\u0105 wymagane do pobrania podatku od sprzeda\\u017Cy.\",add_address:\"Dodaj adres do pobierania podatku od sprzeda\\u017Cy.\",address_placeholder:\"Przyk\\u0142ad: 123, Moja ulica\",city_placeholder:\"Przyk\\u0142ad: Los Angeles\",state_placeholder:\"Przyk\\u0142ad: CA\",zip_placeholder:\"Przyk\\u0142ad: 90024\",invalid_address:\"Podaj poprawne dane adresowe.\"}},Su={account_info:\"Informacje o koncie\",account_info_desc:\"Poni\\u017Csze szczeg\\xF3\\u0142y zostan\\u0105 u\\u017Cyte do utworzenia g\\u0142\\xF3wnego konta administratora. Mo\\u017Cesz tak\\u017Ce zmieni\\u0107 szczeg\\xF3\\u0142y w dowolnym momencie po zalogowaniu.\",name:\"Nazwa\",email:\"E-mail\",password:\"Has\\u0142o\",confirm_password:\"Potwierd\\u017A has\\u0142o\",save_cont:\"Zapisz i kontynuuj\",company_info:\"Informacje o firmie\",company_info_desc:\"Ta informacja b\\u0119dzie wy\\u015Bwietlana na fakturach. Pami\\u0119taj, \\u017Ce mo\\u017Cesz to p\\xF3\\u017Aniej edytowa\\u0107 na stronie ustawie\\u0144.\",company_name:\"Nazwa firmy\",company_logo:\"Logo firmy\",logo_preview:\"Podgl\\u0105d loga\",preferences:\"Preferencje\",preferences_desc:\"Domy\\u015Blne preferencje dla systemu.\",currency_set_alert:\"Nie mo\\u017Cna p\\xF3\\u017Aniej zmieni\\u0107 waluty firmy.\",country:\"Kraj\",state:\"Wojew\\xF3dztwo\",city:\"Miasto\",address:\"Adres\",street:\"Ulica1 | Ulica2\",phone:\"Telefon\",zip_code:\"Kod pocztowy\",go_back:\"Wstecz\",currency:\"Waluta\",language:\"J\\u0119zyk\",time_zone:\"Strefa czasowa\",fiscal_year:\"Rok finansowy\",date_format:\"Format daty\",from_address:\"Adres nadawcy\",username:\"Nazwa u\\u017Cytkownika\",next:\"Nast\\u0119pny\",continue:\"Kontynuuj\",skip:\"Pomi\\u0144\",database:{database:\"Adres URL witryny i baza danych\",connection:\"Po\\u0142\\u0105czenie z baz\\u0105 danych\",host:\"Host bazy danych\",port:\"Port bazy danych\",password:\"Has\\u0142o bazy danych\",app_url:\"Adres aplikacji\",app_domain:\"Domena aplikacji\",username:\"Nazwa u\\u017Cytkownika bazy danych\",db_name:\"Nazwa bazy danych\",db_path:\"\\u015Acie\\u017Cka do bazy danych\",desc:\"Utw\\xF3rz baz\\u0119 danych na swoim serwerze i ustaw dane logowania za pomoc\\u0105 poni\\u017Cszego formularza.\"},permissions:{permissions:\"Uprawnienia\",permission_confirm_title:\"Czy na pewno chcesz kontynuowa\\u0107?\",permission_confirm_desc:\"Sprawdzanie uprawnie\\u0144 do katalogu nie powiod\\u0142o si\\u0119\",permission_desc:\"Poni\\u017Cej znajduje si\\u0119 lista uprawnie\\u0144 folder\\xF3w, kt\\xF3re s\\u0105 wymagane do dzia\\u0142ania aplikacji. Je\\u015Bli sprawdzenie uprawnie\\u0144 nie powiedzie si\\u0119, upewnij si\\u0119, \\u017Ce zaktualizujesz uprawnienia folderu.\"},verify_domain:{title:\"Weryfikacja domeny\",desc:\"Crater u\\u017Cywa uwierzytelniania opartego na sesji, kt\\xF3re wymaga weryfikacji domeny dla cel\\xF3w bezpiecze\\u0144stwa. Wprowad\\u017A domen\\u0119, na kt\\xF3rej b\\u0119dziesz mie\\u0107 dost\\u0119p do swojej aplikacji internetowej.\",app_domain:\"Domena aplikacji\",verify_now:\"Potwierd\\u017A teraz\",success:\"Pomy\\u015Blnie zweryfikowano domen\\u0119.\",failed:\"Weryfikacja domeny nie powiod\\u0142a si\\u0119. Podaj prawid\\u0142ow\\u0105 nazw\\u0119 domeny.\",verify_and_continue:\"Weryfikuj i kontynuuj\"},mail:{host:\"Adres hosta poczty\",port:\"Port poczty\",driver:\"Spos\\xF3b wysy\\u0142ania wiadomo\\u015Bci e-mail\",secret:\"Tajny klucz\",mailgun_secret:\"Mailgun Secret\",mailgun_domain:\"Domena\",mailgun_endpoint:\"Punkt dost\\u0119powy Mailgun\",ses_secret:\"Tajny klucz SES\",ses_key:\"Klucz SES\",password:\"Has\\u0142o poczty\",username:\"Nazwa u\\u017Cytkownika poczty\",mail_config:\"Konfiguracja poczty\",from_name:\"Nazwa nadawcy\",from_mail:\"Adres e-mail nadawcy\",encryption:\"Szyfrowanie poczty\",mail_config_desc:\"Poni\\u017Cej znajduje si\\u0119 formularz konfiguracji sterownika poczty e-mail do wysy\\u0142ania wiadomo\\u015Bci e-mail z aplikacji. Mo\\u017Cesz r\\xF3wnie\\u017C skonfigurowa\\u0107 zewn\\u0119trznych dostawc\\xF3w takich jak Sendgrid, SES itp.\"},req:{system_req:\"Wymagania systemowe\",php_req_version:\"Minimalna wersja Php (wymagana wersja {version})\",check_req:\"Sprawd\\u017A wymagania\",system_req_desc:\"Crater posiada kilka wymaga\\u0144 serwera. Upewnij si\\u0119, \\u017Ce Tw\\xF3j serwer ma wymagan\\u0105 wersj\\u0119 php oraz wszystkie rozszerzenia wymienione poni\\u017Cej.\"},errors:{migrate_failed:\"Migracja nie powiod\\u0142a si\\u0119\",database_variables_save_error:\"Nie mo\\u017Cna zapisa\\u0107 konfiguracji do pliku .env. Prosz\\u0119 sprawdzi\\u0107 jego uprawnienia\",mail_variables_save_error:\"Konfiguracja email nie powiod\\u0142a si\\u0119.\",connection_failed:\"B\\u0142\\u0105d po\\u0142\\u0105czenia z baz\\u0105 danych\",database_should_be_empty:\"Baza danych powinna by\\u0107 pusta\"},success:{mail_variables_save_successfully:\"Email zosta\\u0142 skonfigurowany pomy\\u015Blnie\",database_variables_save_successfully:\"Baza danych zosta\\u0142a skonfigurowana poprawnie.\"}},ju={invalid_phone:\"Nieprawid\\u0142owy numer telefonu\",invalid_url:\"Nieprawid\\u0142owy adres url (np. http://www.crater.com)\",invalid_domain_url:\"Nieprawid\\u0142owy adres url (np. crater.com)\",required:\"Pole jest wymagane\",email_incorrect:\"Niepoprawny email.\",email_already_taken:\"Ten adres e-mail jest ju\\u017C zaj\\u0119ty.\",email_does_not_exist:\"U\\u017Cytkownik z podanym adresem email nie istnieje\",item_unit_already_taken:\"Ta nazwa jednostki zosta\\u0142a ju\\u017C zaj\\u0119ta\",payment_mode_already_taken:\"Ta nazwa trybu p\\u0142atno\\u015Bci zosta\\u0142a ju\\u017C zaj\\u0119ta\",send_reset_link:\"Wy\\u015Blij link do resetowania has\\u0142a\",not_yet:\"Jeszcze nie? Wy\\u015Blij ponownie\",password_min_length:\"Has\\u0142o musi zawiera\\u0107 co najmniej {count} znak\\xF3w\",name_min_length:\"Nazwa u\\u017Cytkownika musi zawiera\\u0107 co najmniej {count} znak\\xF3w.\",prefix_min_length:\"Przedrostek musi mie\\u0107 co najmniej {count} liter.\",enter_valid_tax_rate:\"Wprowad\\u017A poprawn\\u0105 stawk\\u0119 podatku\",numbers_only:\"Tylko liczby.\",characters_only:\"Tylko znaki.\",password_incorrect:\"Has\\u0142a musz\\u0105 by\\u0107 identyczne\",password_length:\"Has\\u0142o musi zawiera\\u0107 {count} znak\\xF3w.\",qty_must_greater_than_zero:\"Ilo\\u015B\\u0107 musi by\\u0107 wi\\u0119ksza ni\\u017C zero.\",price_greater_than_zero:\"Cena musi by\\u0107 wi\\u0119ksza ni\\u017C zero.\",payment_greater_than_zero:\"P\\u0142atno\\u015B\\u0107 musi by\\u0107 wi\\u0119ksza ni\\u017C zero.\",payment_greater_than_due_amount:\"Wprowadzona p\\u0142atno\\u015B\\u0107 to wi\\u0119cej ni\\u017C nale\\u017Cna kwota tej faktury.\",quantity_maxlength:\"Ilo\\u015B\\u0107 nie powinna by\\u0107 wi\\u0119ksza ni\\u017C 20 cyfr.\",price_maxlength:\"Cena nie powinna by\\u0107 wi\\u0119ksza ni\\u017C 20 cyfr.\",price_minvalue:\"Cena powinna by\\u0107 wi\\u0119ksza ni\\u017C 0.\",amount_maxlength:\"Kwota nie powinna by\\u0107 wi\\u0119ksza ni\\u017C 20 cyfr.\",amount_minvalue:\"Kwota powinna by\\u0107 wi\\u0119ksza ni\\u017C 0.\",discount_maxlength:\"Rabat nie powinien by\\u0107 wi\\u0119kszy ni\\u017C maksymalny rabat\",description_maxlength:\"Opis nie powinien przekracza\\u0107 65 000 znak\\xF3w.\",subject_maxlength:\"Temat nie powinien by\\u0107 d\\u0142u\\u017Cszy ni\\u017C 100 znak\\xF3w.\",message_maxlength:\"Wiadomo\\u015B\\u0107 nie powinna by\\u0107 d\\u0142u\\u017Csza ni\\u017C 255 znak\\xF3w.\",maximum_options_error:\"Wybrano maksymalnie {max} opcji. Najpierw usu\\u0144 wybran\\u0105 opcj\\u0119, aby wybra\\u0107 inn\\u0105.\",notes_maxlength:\"Notatki nie powinny by\\u0107 wi\\u0119ksze ni\\u017C 65 000 znak\\xF3w.\",address_maxlength:\"Adres nie powinien mie\\u0107 wi\\u0119cej ni\\u017C 255 znak\\xF3w.\",ref_number_maxlength:\"Numer referencyjny nie mo\\u017Ce by\\u0107 d\\u0142u\\u017Cszy ni\\u017C 255 znak\\xF3w.\",prefix_maxlength:\"Prefiks nie powinien by\\u0107 d\\u0142u\\u017Cszy ni\\u017C 5 znak\\xF3w.\",something_went_wrong:\"co\\u015B posz\\u0142o nie tak\",number_length_minvalue:\"D\\u0142ugo\\u015B\\u0107 numeru powinna by\\u0107 wi\\u0119ksza ni\\u017C 0\",at_least_one_ability:\"Wybierz co najmniej jedno Uprawnienie.\",valid_driver_key:\"Wprowad\\u017A prawid\\u0142owy klucz {driver}.\",valid_exchange_rate:\"Wprowad\\u017A prawid\\u0142owy kurs wymiany.\",company_name_not_same:\"Nazwa firmy musi si\\u0119 zgadza\\u0107 z podan\\u0105 nazw\\u0105.\"},Au={starter_plan:\"Ta funkcja jest dost\\u0119pna w abonamencie Starter i wy\\u017Cszych!\",invalid_provider_key:\"Wprowad\\u017A poprawny klucz API dostawcy.\",estimate_number_used:\"Numer oferty jest ju\\u017C u\\u017Cyty.\",invoice_number_used:\"Numer faktury jest ju\\u017C u\\u017Cyty.\",payment_attached:\"Ta faktura ma ju\\u017C do\\u0142\\u0105czon\\u0105 p\\u0142atno\\u015B\\u0107. Najpierw usu\\u0144 za\\u0142\\u0105czone p\\u0142atno\\u015Bci, aby kontynuowa\\u0107 usuwanie.\",payment_number_used:\"Numer p\\u0142atno\\u015Bci jest ju\\u017C u\\u017Cyty.\",name_already_taken:\"Nazwa jest ju\\u017C\\xA0u\\u017Cyta.\",receipt_does_not_exist:\"Potwierdzenie nie istnieje.\",customer_cannot_be_changed_after_payment_is_added:\"Klient nie mo\\u017Ce by\\u0107 zmieniony po dodaniu p\\u0142atno\\u015Bci\",invalid_credentials:\"Nieprawid\\u0142owe dane.\",not_allowed:\"Niedozwolone\",login_invalid_credentials:\"Wprowadzone po\\u015Bwiadczenia s\\u0105 nieprawid\\u0142owe.\",enter_valid_cron_format:\"Wprowad\\u017A prawid\\u0142owy format cron\",email_could_not_be_sent:\"Nie mo\\u017Cna wys\\u0142a\\u0107 wiadomo\\u015Bci na ten adres e-mail.\",invalid_address:\"Wprowad\\u017A prawid\\u0142owy adres.\",invalid_key:\"Wprowad\\u017A prawid\\u0142owy klucz.\",invalid_state:\"Wprowad\\u017A poprawny stan/wojew\\xF3dztwo.\",invalid_city:\"Wprowad\\u017A prawid\\u0142ow\\u0105 nazw\\u0119 miasta.\",invalid_postal_code:\"Wprowad\\u017A prawid\\u0142owy kod pocztowy.\",invalid_format:\"Wprowad\\u017A prawid\\u0142owy format ci\\u0105gu.\",api_error:\"Serwer nie odpowiada.\",feature_not_enabled:\"Funkcja nie jest w\\u0142\\u0105czona.\",request_limit_met:\"Przekroczono limit \\u017C\\u0105dania API.\",address_incomplete:\"Niekompletny adres\"},Du=\"Oferta\",Cu=\"Numer oferty\",Nu=\"Data oferty\",Eu=\"Termin wa\\u017Cno\\u015Bci\",Iu=\"Faktura\",Tu=\"Numer faktury\",Ru=\"Data faktury\",Mu=\"Termin\",Fu=\"Notatki\",$u=\"Pozycje\",Uu=\"Ilo\\u015B\\u0107\",Vu=\"Cena\",Ou=\"Rabat\",Lu=\"Kwota\",qu=\"Suma cz\\u0119\\u015Bciowa\",Bu=\"Razem\",Ku=\"P\\u0142atno\\u015B\\u0107\",Zu=\"POTWIERDZENIE P\\u0141ATNO\\u015ACI\",Wu=\"Data p\\u0142atno\\u015Bci\",Hu=\"Numer p\\u0142atno\\u015Bci\",Yu=\"Metoda p\\u0142atno\\u015Bci\",Gu=\"Kwota otrzymana\",Ju=\"SPRAWOZDANIE Z WYDATK\\xD3W\",Qu=\"WYDATKI OG\\xD3\\u0141EM\",Xu=\"RAPORT ZYSK\\xD3W I STRAT\",em=\"Raport sprzeda\\u017Cy obs\\u0142ugi kontrahenta\",tm=\"Raport dotycz\\u0105cy przedmiotu sprzeda\\u017Cy\",am=\"Raport podsumowania podatku\",nm=\"PRZYCH\\xD3D\",im=\"ZYSK NETTO\",om=\"Raport sprzeda\\u017Cy: Wed\\u0142ug Kontrahenta\",sm=\"CA\\u0141KOWITA SPRZEDA\\u017B\",rm=\"Raport sprzeda\\u017Cy: Wed\\u0142ug produktu\",dm=\"RAPORT PODATKOWY\",lm=\"CA\\u0141KOWITY PODATEK\",cm=\"Rodzaje podatku\",_m=\"Wydatki\",um=\"Wystawiono dla\",mm=\"Wysy\\u0142ka do\",pm=\"Otrzymane od:\",fm=\"Podatek\";var gm={navigation:ru,general:du,dashboard:lu,tax_types:cu,global_search:_u,company_switcher:uu,dateRange:mu,customers:pu,items:fu,estimates:gu,invoices:vu,recurring_invoices:yu,payments:hu,expenses:bu,login:ku,modules:wu,users:zu,reports:xu,settings:Pu,wizard:Su,validation:ju,errors:Au,pdf_estimate_label:Du,pdf_estimate_number:Cu,pdf_estimate_date:Nu,pdf_estimate_expire_date:Eu,pdf_invoice_label:Iu,pdf_invoice_number:Tu,pdf_invoice_date:Ru,pdf_invoice_due_date:Mu,pdf_notes:Fu,pdf_items_label:$u,pdf_quantity_label:Uu,pdf_price_label:Vu,pdf_discount_label:Ou,pdf_amount_label:Lu,pdf_subtotal:qu,pdf_total:Bu,pdf_payment_label:Ku,pdf_payment_receipt_label:Zu,pdf_payment_date:Wu,pdf_payment_number:Hu,pdf_payment_mode:Yu,pdf_payment_amount_received_label:Gu,pdf_expense_report_label:Ju,pdf_total_expenses_label:Qu,pdf_profit_loss_label:Xu,pdf_sales_customers_label:em,pdf_sales_items_label:tm,pdf_tax_summery_label:am,pdf_income_label:nm,pdf_net_profit_label:im,pdf_customer_sales_report:om,pdf_total_sales_label:sm,pdf_item_sales_label:rm,pdf_tax_report_label:dm,pdf_total_tax_label:lm,pdf_tax_types_label:cm,pdf_expenses_label:_m,pdf_bill_to:um,pdf_ship_to:mm,pdf_received_from:pm,pdf_tax_label:fm};const vm={dashboard:\"Painel\",customers:\"Clientes\",items:\"Itens\",invoices:\"Faturas\",expenses:\"Despesas\",estimates:\"Or\\xE7amentos\",payments:\"Pagamentos\",reports:\"Relat\\xF3rios\",settings:\"Configura\\xE7\\xF5es\",logout:\"Encerrar sess\\xE3o\"},ym={view_pdf:\"Ver PDF\",download_pdf:\"Baixar PDF\",save:\"Salvar\",cancel:\"Cancelar\",update:\"Atualizar\",deselect:\"Desmarcar\",download:\"Baixar\",from_date:\"A partir da Data\",to_date:\"At\\xE9 a Data\",from:\"De\",to:\"Para\",sort_by:\"Ordenar por\",ascending:\"Crescente\",descending:\"Descendente\",subject:\"Sujeita\",body:\"Corpo\",message:\"Mensagem\",go_back:\"Voltar\",back_to_login:\"Voltar ao Login\",home:\"Home\",filter:\"Filtrar\",delete:\"Excluir\",edit:\"Editar\",view:\"Ver\",add_new_item:\"Adicionar novo item\",clear_all:\"Limpar tudo\",showing:\"Mostrando\",of:\"de\",actions:\"A\\xE7\\xF5es\",subtotal:\"Total parcial\",discount:\"Desconto\",fixed:\"Fixado\",percentage:\"Porcentagem\",tax:\"Imposto\",total_amount:\"Quantidade Total\",bill_to:\"Cobrar a\",ship_to:\"Envie a\",due:\"Vencida\",draft:\"Rascunho\",sent:\"Enviado\",all:\"Todos\",select_all:\"Selecionar tudo\",choose_file:\"Escolha um arquivo.\",choose_template:\"Escolha um modelo\",choose:\"Escolher\",remove:\"Excluir\",powered_by:\"Distribu\\xEDdo por\",bytefury:\"Bytefury\",select_a_status:\"Selecione um status\",select_a_tax:\"Selecione um Imposto\",search:\"Buscar\",are_you_sure:\"Tem certeza?\",list_is_empty:\"Lista est\\xE1 vazia.\",no_tax_found:\"Imposto n\\xE3o encontrado!\",four_zero_four:\"404\",you_got_lost:\"Ops! Se perdeu!\",go_home:\"Ir para Home\",test_mail_conf:\"Testar configura\\xE7\\xE3o de email\",send_mail_successfully:\"Correio enviado com sucesso\",setting_updated:\"Configura\\xE7\\xE3o atualizada com sucesso\",select_state:\"Selecione Estado\",select_country:\"Selecionar pais\",select_city:\"Selecionar cidade\",street_1:\"Rua 1\",street_2:\"Rua # 2\",action_failed:\"A\\xE7\\xE3o: Falhou\",retry:\"Atualiza\\xE7\\xE3o falhou\"},hm={select_year:\"Selecione Ano\",cards:{due_amount:\"Montante devido\",customers:\"Clientes\",invoices:\"Faturas\",estimates:\"Or\\xE7amentos\"},chart_info:{total_sales:\"Vendas\",total_receipts:\"Receitas\",total_expense:\"Despesas\",net_income:\"Resultado l\\xEDquido\",year:\"Selecione Ano\"},monthly_chart:{title:\"Vendas e Despesas\"},recent_invoices_card:{title:\"Faturas vencidas\",due_on:\"vencido em\",customer:\"Cliente\",amount_due:\"Valor Devido\",actions:\"A\\xE7\\xF5es\",view_all:\"Ver todos\"},recent_estimate_card:{title:\"Or\\xE7amentos Recentes\",date:\"Data\",customer:\"Cliente\",amount_due:\"Valor Devido\",actions:\"A\\xE7\\xF5es\",view_all:\"Ver todos\"}},bm={name:\"Nome\",description:\"Descri\\xE7\\xE3o\",percent:\"Porcentagem\",compound_tax:\"Imposto compuesto\"},km={title:\"Clientes\",add_customer:\"Adicionar cliente\",contacts_list:\"Lista de clientes\",name:\"Nome\",display_name:\"Nome de exibi\\xE7\\xE3o\",primary_contact_name:\"Nome do contato principal\",contact_name:\"Nome de Contato\",amount_due:\"Valor Devido\",email:\"Email\",address:\"Endere\\xE7o\",phone:\"Telefone\",website:\"Site\",country:\"Pais\",state:\"Estado\",city:\"Cidade\",zip_code:\"C\\xF3digo postal\",added_on:\"Adicionado\",action:\"A\\xE7\\xE3o\",password:\"Senha\",street_number:\"N\\xFAmero\",primary_currency:\"Moeda principal\",add_new_customer:\"Adicionar novo cliente\",save_customer:\"Salvar cliente\",update_customer:\"Atualizar cliente\",customer:\"Cliente | Clientes\",new_customer:\"Novo cliente\",edit_customer:\"Editar cliente\",basic_info:\"Informa\\xE7\\xE3o basica\",billing_address:\"Endere\\xE7o de cobran\\xE7a\",shipping_address:\"Endere\\xE7o de entrega\",copy_billing_address:\"C\\xF3pia de faturamento\",no_customers:\"Ainda n\\xE3o h\\xE1 clientes!\",no_customers_found:\"Clientes n\\xE3o encontrados!\",no_contact:\"No contact\",no_contact_name:\"No contact name\",list_of_customers:\"Esta se\\xE7\\xE3o conter\\xE1 a lista de clientes.\",primary_display_name:\"Nome de exibi\\xE7\\xE3o principal\",select_currency:\"Selecione o tipo de moeda\",select_a_customer:\"Selecione um cliente\",type_or_click:\"Digite ou clique para selecionar\",new_transaction:\"Nova transa\\xE7\\xE3o\",no_matching_customers:\"N\\xE3o h\\xE1 clientes correspondentes!\",phone_number:\"N\\xFAmero de telefone\",create_date:\"Criar Data\",confirm_delete:\"Voc\\xEA n\\xE3o poder\\xE1 recuperar este cliente e todas as faturas, estimativas e pagamentos relacionados. | Voc\\xEA n\\xE3o poder\\xE1 recuperar esses clientes e todas as faturas, estimativas e pagamentos relacionados.\",created_message:\"Cliente criado com sucesso\",updated_message:\"Cliente atualizado com sucesso\",deleted_message:\"Cliente exclu\\xEDdo com sucesso | Clientes exclu\\xEDdos com sucesso\"},wm={title:\"Itens\",items_list:\"Lista de Itens\",name:\"Nome\",unit:\"Unidade\",description:\"Descri\\xE7\\xE3o\",added_on:\"Adicionado\",price:\"Pre\\xE7o\",date_of_creation:\"Data de cria\\xE7\\xE3o\",not_selected:\"No item selected\",action:\"A\\xE7\\xE3o\",add_item:\"Adicionar item\",save_item:\"Salvar item\",update_item:\"Atualizar item\",item:\"Item | Itens\",add_new_item:\"Adicionar novo item\",new_item:\"Novo item\",edit_item:\"Editar item\",no_items:\"Ainda n\\xE3o existe itens\",list_of_items:\"Esta se\\xE7\\xE3o conter\\xE1 a lista de itens.\",select_a_unit:\"Seleciona unidade\",taxes:\"Impostos\",item_attached_message:\"N\\xE3o \\xE9 poss\\xEDvel excluir um item que j\\xE1 est\\xE1 em uso.\",confirm_delete:\"Voc\\xEA n\\xE3o poder\\xE1 recuperar este item | Voc\\xEA n\\xE3o poder\\xE1 recuperar esses itens\",created_message:\"Item criado com sucesso\",updated_message:\"Item atualizado com sucesso\",deleted_message:\"Item exclu\\xEDdo com sucesso | Itens Exclu\\xEDdos com sucesso\"},zm={title:\"Or\\xE7amentos\",estimate:\"Or\\xE7amento | Or\\xE7amentos\",estimates_list:\"Lista de or\\xE7amentos\",days:\"{dias} dias\",months:\"{meses} M\\xEAs\",years:\"{Anos} Ano\",all:\"Todos\",paid:\"Pago\",unpaid:\"N\\xE3o pago\",customer:\"CLIENTE\",ref_no:\"N\\xDAMERO DE REFER\\xCANCIA.\",number:\"N\\xDAMERO\",amount_due:\"Valor Devido\",partially_paid:\"Pago parcialmente\",total:\"Total\",discount:\"Desconto\",sub_total:\"Subtotal\",estimate_number:\"Numero do Or\\xE7amento\",ref_number:\"Refer\\xEAncia\",contact:\"Contato\",add_item:\"Adicionar Item\",date:\"Data\",due_date:\"Data de Vencimento\",expiry_date:\"Data de expira\\xE7\\xE3o\",status:\"Status\",add_tax:\"Adicionar Imposto\",amount:\"Montante\",action:\"A\\xE7\\xE3o\",notes:\"Observa\\xE7\\xF5es\",tax:\"Imposto\",estimate_template:\"Modelo de or\\xE7amento\",convert_to_invoice:\"Converter em fatura\",mark_as_sent:\"Marcar como enviado\",send_estimate:\"Enviar or\\xE7amento\",record_payment:\"Registro de pago\",add_estimate:\"Adicionar or\\xE7amento\",save_estimate:\"Salvar Or\\xE7amento\",confirm_conversion:\"Deseja converter este or\\xE7amento em uma fatura?\",conversion_message:\"Conver\\xE7\\xE3o realizada com sucesso\",confirm_send_estimate:\"Este or\\xE7amento ser\\xE1 enviado por email ao cliente\",confirm_mark_as_sent:\"Este or\\xE7amento ser\\xE1 marcado como enviado\",confirm_mark_as_accepted:\"Este or\\xE7amento ser\\xE1 marcado como Aceito\",confirm_mark_as_rejected:\"Este or\\xE7amento ser\\xE1 marcado como Rejeitado\",no_matching_estimates:\"N\\xE3o h\\xE1 or\\xE7amentos correspondentes!\",mark_as_sent_successfully:\"Or\\xE7amento como marcado como enviado com sucesso\",send_estimate_successfully:\"Or\\xE7amento enviado com sucesso\",errors:{required:\"Campo obrigat\\xF3rio\"},accepted:\"Aceito\",rejected:\"Rejected\",sent:\"Enviado\",draft:\"Rascunho\",declined:\"Rejeitado\",new_estimate:\"Novo or\\xE7amento\",add_new_estimate:\"Adicionar novo or\\xE7amento\",update_Estimate:\"Atualizar or\\xE7amento\",edit_estimate:\"Editar or\\xE7amento\",items:\"art\\xEDculos\",Estimate:\"Or\\xE7amento | Or\\xE7amentos\",add_new_tax:\"Adicionar novo imposto\",no_estimates:\"Ainda n\\xE3o h\\xE1 orcamentos\",list_of_estimates:\"Esta se\\xE7\\xE3o cont\\xE9m a lista de or\\xE7amentos.\",mark_as_rejected:\"Marcar como rejeitado\",mark_as_accepted:\"Marcar como aceito\",marked_as_accepted_message:\"Or\\xE7amento marcado como aceito\",marked_as_rejected_message:\"Or\\xE7amento marcado como rejeitado\",confirm_delete:\"N\\xE3o poder\\xE1 recuperar este or\\xE7amento | N\\xE3o poder\\xE1 recuperar estes or\\xE7amentos\",created_message:\"Or\\xE7amento criado com sucesso\",updated_message:\"Or\\xE7amento atualizado com sucesso\",deleted_message:\"Or\\xE7amento exclu\\xEDdo com sucesso | Or\\xE7amentos exclu\\xEDdos com sucesso\",something_went_wrong:\"Algo deu errado\",item:{title:\"Titulo do item\",description:\"Descri\\xE7\\xE3o\",quantity:\"Quantidade\",price:\"Pre\\xE7o\",discount:\"Desconto\",total:\"Total\",total_discount:\"Desconto total\",sub_total:\"Subtotal\",tax:\"Imposto\",amount:\"Montante\",select_an_item:\"Escreva ou clique para selecionar um item\",type_item_description:\"Tipo Item Descri\\xE7\\xE3o (opcional)\"}},xm={title:\"Faturas\",invoices_list:\"Lista de faturas\",days:\"{dias} dias\",months:\"{meses} M\\xEAs\",years:\"{anos} Ano\",all:\"Todas\",paid:\"Paga\",unpaid:\"N\\xE3o Paga\",viewed:\"Viewed\",overdue:\"Overdue\",completed:\"Completed\",customer:\"CLIENTE\",paid_status:\"STATUS PAGAMENTO\",ref_no:\"REFER\\xCANCIA\",number:\"N\\xDAMERO\",amount_due:\"VALOR DEVIDO\",partially_paid:\"Parcialmente pago\",total:\"Total\",discount:\"Desconto\",sub_total:\"Subtotal\",invoice:\"Fatura | Faturas\",invoice_number:\"N\\xFAmero da fatura\",ref_number:\"Refer\\xEAncia\",contact:\"Contato\",add_item:\"Adicionar um item\",date:\"Data\",due_date:\"Data de Vencimento\",status:\"Status\",add_tax:\"Adicionar imposto\",amount:\"Montante\",action:\"A\\xE7\\xE3o\",notes:\"Observa\\xE7\\xF5es\",view:\"Ver\",send_invoice:\"Enviar Fatura\",invoice_template:\"Modelo da Fatura\",template:\"Modelo\",mark_as_sent:\"Marcar como enviada\",confirm_send_invoice:\"Esta fatura ser\\xE1 enviada por e-mail ao cliente\",invoice_mark_as_sent:\"Esta fatura ser\\xE1 marcada como enviada\",confirm_send:\"Esta fatura ser\\xE1 enviada por e-mail ao cliente\",invoice_date:\"Data da Fatura\",record_payment:\"Gravar Pagamento\",add_new_invoice:\"Adicionar Nova Fatura\",update_expense:\"Atualizar Despesa\",edit_invoice:\"Editar Fatura\",new_invoice:\"Nova Fatura\",save_invoice:\"Salvar Fatura\",update_invoice:\"Atualizar Fatura\",add_new_tax:\"Adicionar novo Imposto\",no_invoices:\"Ainda n\\xE3o h\\xE1 faturas!\",list_of_invoices:\"Esta se\\xE7\\xE3o conter\\xE1 a lista de faturas.\",select_invoice:\"Selecionar Fatura\",no_matching_invoices:\"N\\xE3o h\\xE1 faturas correspondentes!\",mark_as_sent_successfully:\"Fatura marcada como enviada com sucesso\",invoice_sent_successfully:\"Fatura enviada com sucesso\",cloned_successfully:\"Fatura clonada com sucesso\",clone_invoice:\"Clonar fatura\",confirm_clone:\"Esta fatura ser\\xE1 clonada em uma nova fatura\",item:{title:\"Titulo do Item\",description:\"Descri\\xE7\\xE3o\",quantity:\"Quantidade\",price:\"Pre\\xE7o\",discount:\"Desconto\",total:\"Total\",total_discount:\"Desconto Total\",sub_total:\"SubTotal\",tax:\"Imposto\",amount:\"Montante\",select_an_item:\"Digite ou clique para selecionar um item\",type_item_description:\"Tipo Descri\\xE7\\xE3o do item (opcional)\"},confirm_delete:\"Voc\\xEA n\\xE3o poder\\xE1 recuperar esta fatura | Voc\\xEA n\\xE3o poder\\xE1 recuperar essas faturas\",created_message:\"Fatura criada com sucesso\",updated_message:\"Fatura atualizada com sucesso\",deleted_message:\"Fatura exclu\\xEDda com sucesso | Faturas exclu\\xEDdas com sucesso\",marked_as_sent_message:\"Fatura marcada como enviada com sucesso\",something_went_wrong:\"Algo deu errado\",invalid_due_amount_message:\"O valor total da fatura n\\xE3o pode ser menor que o valor total pago para esta fatura. Atualize a fatura ou exclua os pagamentos associados para continuar.\"},Pm={title:\"Pagamentos\",payments_list:\"Lista de Pagamentos\",record_payment:\"Gravar Pagamento\",customer:\"Cliente\",date:\"Data\",amount:\"Montante\",action:\"A\\xE7\\xE3o\",payment_number:\"N\\xFAmero do Pagamento\",payment_mode:\"Forma de Pagamento\",invoice:\"Fatura\",note:\"Observa\\xE7\\xE3o\",add_payment:\"Adicionar Pagamento\",new_payment:\"Novo Pagamento\",edit_payment:\"Editar Pagamento\",view_payment:\"Ver Pagamento\",add_new_payment:\"Adicionar novo Pagamento\",send_payment_receipt:\"Enviar recibo de pagamento\",save_payment:\"Salvar Pagamento\",send_payment:\"Mande o pagamento\",update_payment:\"Atualizar Pagamento\",payment:\"Pagamento | Pagamentos\",no_payments:\"Ainda sem pagamentos!\",not_selected:\"Not selected\",no_invoice:\"No invoice\",no_matching_payments:\"N\\xE3o h\\xE1 pagamentos correspondentes!\",list_of_payments:\"Esta se\\xE7\\xE3o conter\\xE1 a lista de pagamentos.\",select_payment_mode:\"Selecione a forma de pagamento\",confirm_delete:\"Voc\\xEA n\\xE3o poder\\xE1 recuperar este Pagamento | Voc\\xEA n\\xE3o poder\\xE1 recuperar esses Pagamentos\",created_message:\"Pagamento criado com sucesso\",updated_message:\"Pagamento atualizado com sucesso\",deleted_message:\"Pagamento exclu\\xEDdo com sucesso | Pagamentos exclu\\xEDdos com sucesso\",invalid_amount_message:\"O valor do pagamento \\xE9 inv\\xE1lido\"},Sm={title:\"Despesas\",expenses_list:\"Lista de Despesas\",expense_title:\"T\\xEDtulo\",contact:\"Contato\",category:\"Categoria\",customer:\"Cliente\",from_date:\"A partir da Data\",to_date:\"At\\xE9 a Data\",expense_date:\"Data\",description:\"Descri\\xE7\\xE3o\",receipt:\"Receita\",amount:\"Montante\",action:\"A\\xE7\\xE3o\",not_selected:\"Not selected\",note:\"Observa\\xE7\\xE3o\",category_id:\"Categoria\",date:\"Data da Despesa\",add_expense:\"Adicionar Despesa\",add_new_expense:\"Adicionar Nova Despesa\",save_expense:\"Salvar Despesa\",update_expense:\"Atualizar Despesa\",download_receipt:\"Baixar Receita\",edit_expense:\"Editar Despesa\",new_expense:\"Nova Despesa\",expense:\"Despesa | Despesas\",no_expenses:\"Ainda sem Despesas!\",list_of_expenses:\"Esta se\\xE7\\xE3o conter\\xE1 a lista de despesas.\",confirm_delete:\"Voc\\xEA n\\xE3o poder\\xE1 recuperar esta despesa | Voc\\xEA n\\xE3o poder\\xE1 recuperar essas despesas\",created_message:\"Despesa criada com sucesso\",updated_message:\"Despesa atualizada com sucesso\",deleted_message:\"Despesas exclu\\xEDdas com sucesso | Despesas exclu\\xEDdas com sucesso\",categories:{categories_list:\"Lista de Categorias\",title:\"T\\xEDtulo\",name:\"Nome\",description:\"Descri\\xE7\\xE3o\",amount:\"Montante\",actions:\"A\\xE7\\xF5es\",add_category:\"Adicionar Categoria\",new_category:\"Nova Categoria\",category:\"Categoria | Categorias\",select_a_category:\"Selecionar uma Categoria\"}},jm={email:\"Email\",password:\"Senha\",forgot_password:\"Esqueceu a senha?\",or_signIn_with:\"ou Entre com\",login:\"Entrar\",register:\"Registre-se\",reset_password:\"Resetar Senha\",password_reset_successfully:\"Senha redefinida com sucesso\",enter_email:\"Digite email\",enter_password:\"Digite a senha\",retype_password:\"Confirme a Senha\"},Am={title:\"Relat\\xF3rio\",from_date:\"A partir da Data\",to_date:\"At\\xE9 a Data\",status:\"Status\",paid:\"Pago\",unpaid:\"N\\xE3o Pago\",download_pdf:\"Baixar PDF\",view_pdf:\"Ver PDF\",update_report:\"Atualizar Relat\\xF3rio\",report:\"Relat\\xF3rio | Relat\\xF3rios\",profit_loss:{profit_loss:\"Perda de lucro\",to_date:\"At\\xE9 a Data\",from_date:\"A partir da Data\",date_range:\"Selecionar per\\xEDodo\"},sales:{sales:\"Vendas\",date_range:\"Selecionar per\\xEDodo\",to_date:\"At\\xE9 a Data\",from_date:\"A partir da Data\",report_type:\"Tipo de Relat\\xF3rio\"},taxes:{taxes:\"Impostos\",to_date:\"At\\xE9 a Data\",from_date:\"A partir da Data\",date_range:\"Selecionar per\\xEDodo\"},errors:{required:\"Campo obrigat\\xF3rio\"},invoices:{invoice:\"Fatura\",invoice_date:\"Data da Fatura\",due_date:\"Data de Vencimento\",amount:\"Montante\",contact_name:\"Nome de Contato\",status:\"Status\"},estimates:{estimate:\"Or\\xE7amento\",estimate_date:\"Data do Or\\xE7amento\",due_date:\"Data de Vencimento\",estimate_number:\"N\\xFAmero do Or\\xE7amento\",ref_number:\"Refer\\xEAncia\",amount:\"Montante\",contact_name:\"Nome de Contato\",status:\"Status\"},expenses:{expenses:\"Despesas\",category:\"Categoria\",date:\"Data\",amount:\"Montante\",to_date:\"At\\xE9 a Data\",from_date:\"A partir da Data\",date_range:\"Selecionar per\\xEDodo\"}},Dm={menu_title:{account_settings:\"Configura\\xE7\\xF5es da conta\",company_information:\"Informa\\xE7\\xF5es da Empresa\",customization:\"Personalizar\",preferences:\"Prefer\\xEAncias\",notifications:\"Notifica\\xE7\\xF5es\",tax_types:\"Tipos de Impostos\",expense_category:\"Categorias de Despesas\",update_app:\"Atualizar Aplicativo\",custom_fields:\"Os campos personalizados\"},title:\"Configura\\xE7\\xF5es\",setting:\"Configura\\xE7\\xE3o | Configura\\xE7\\xF5es\",general:\"Geral\",language:\"Idioma\",primary_currency:\"Mo\\xE9da Principal\",timezone:\"Fuso hor\\xE1rio\",date_format:\"Formato de data\",currencies:{title:\"Moedas\",currency:\"Moeda | Moedas\",currencies_list:\"Moedas\",select_currency:\"Selecione uma Moeda\",name:\"Nome\",code:\"C\\xF3digo\",symbol:\"S\\xEDmbolo\",precision:\"Precis\\xE3o\",thousand_separator:\"Separador de Milhar\",decimal_separator:\"Separador Decimal\",position:\"Posi\\xE7\\xE3o\",position_of_symbol:\"Posi\\xE7\\xE3o do S\\xEDmbolo\",right:\"Direita\",left:\"Esquerda\",action:\"A\\xE7\\xE3o\",add_currency:\"Adicionar Moeda\"},mail:{host:\"Host de Email\",port:\"Porta de Email\",driver:\"Mail Driver\",secret:\"Segredo\",mailgun_secret:\"Mailgun Segredo\",mailgun_domain:\"Dom\\xEDnio\",mailgun_endpoint:\"Mailgun Endpoint\",ses_secret:\"SES Segredo\",ses_key:\"SES Chave\",password:\"Senha do Email\",username:\"Nome de Usu\\xE1rio do Email\",mail_config:\"Configura\\xE7\\xE3o de Email\",from_name:\"Do Nome de Email\",from_mail:\"Do Endere\\xE7o de Email\",encryption:\"Criptografia de Email\",mail_config_desc:\"Abaixo est\\xE1 o formul\\xE1rio para configurar o driver de email para enviar emails do aplicativo. Voc\\xEA tamb\\xE9m pode configurar provedores de terceiros como Sendgrid, SES etc.\"},pdf:{title:\"Configura\\xE7\\xF5es de PDF\",footer_text:\"Texto do Rodap\\xE9\",pdf_layout:\"Layout de PDF\"},company_info:{company_info:\"Informa\\xE7\\xE3o da Empresa\",company_name:\"Nome da Empresa\",company_logo:\"Logotipo da Empresa\",section_description:\"Informa\\xE7\\xF5es sobre sua empresa que ser\\xE3o exibidas em Faturas, Or\\xE7amentos e outros documentos criados pela Crater.\",phone:\"Telefone\",country:\"Pais\",state:\"Estado\",city:\"Cidade\",address:\"Endere\\xE7o\",zip:\"CEP\",save:\"Salvar\",updated_message:\"Informa\\xE7\\xF5es da Empresa atualizadas com sucesso\"},custom_fields:{title:\"Os campos personalizados\",add_custom_field:\"Adicionar campo personalizado\",edit_custom_field:\"Editar campo personalizado\",field_name:\"Nome do campo\",type:\"Tipo\",name:\"Nome\",required:\"Requeridas\",label:\"R\\xF3tulo\",placeholder:\"Placeholder\",help_text:\"Texto de ajuda\",default_value:\"Valor padr\\xE3o\",prefix:\"Prefixo\",starting_number:\"N\\xFAmero inicial\",model:\"Modelo\",help_text_description:\"Digite algum texto para ajudar os usu\\xE1rios a entender a finalidade desse campo personalizado.\",suffix:\"Sufixo\",yes:\"sim\",no:\"N\\xE3o\",order:\"Ordem\",custom_field_confirm_delete:\"Voc\\xEA n\\xE3o poder\\xE1 recuperar este campo personalizado\",already_in_use:\"O campo personalizado j\\xE1 est\\xE1 em uso\",deleted_message:\"Campo personalizado exclu\\xEDdo com sucesso\",options:\"op\\xE7\\xF5es\",add_option:\"Adicionar op\\xE7\\xF5es\",add_another_option:\"Adicione outra op\\xE7\\xE3o\",sort_in_alphabetical_order:\"Classificar em ordem alfab\\xE9tica\",add_options_in_bulk:\"Adicionar op\\xE7\\xF5es em massa\",use_predefined_options:\"Use Predefined Options\",select_custom_date:\"Selecionar data personalizada\",select_relative_date:\"Selecionar data relativa\",ticked_by_default:\"Marcado por padr\\xE3o\",updated_message:\"Campo personalizado atualizado com sucesso\",added_message:\"Campo personalizado adicionado com sucesso\"},customization:{customization:\"Personalizar\",save:\"Salvar\",addresses:{title:\"Endere\\xE7o\",section_description:\"Voc\\xEA pode definir o endere\\xE7o de cobran\\xE7a do cliente e o formato do endere\\xE7o de entrega do cliente (exibido apenas em PDF).\",customer_billing_address:\"Endere\\xE7o de Cobran\\xE7a do Cliente\",customer_shipping_address:\"Endere\\xE7o de Entrega do Cliente\",company_address:\"Endere\\xE7o da Empresa\",insert_fields:\"Inserir Campos\",contact:\"Contato\",address:\"Endere\\xE7o\",display_name:\"Nome em Exibi\\xE7\\xE3o\",primary_contact_name:\"Nome do Contato Principal\",email:\"Email\",website:\"Website\",name:\"Nome\",country:\"Pais\",state:\"Estado\",city:\"Cidade\",company_name:\"Nome da Empresa\",address_street_1:\"Endere\\xE7o Rua 1\",address_street_2:\"Endere\\xE7o Rua 2\",phone:\"Telefone\",zip_code:\"CEP\",address_setting_updated:\"Configura\\xE7\\xE3o de Endere\\xE7o Atualizada com Sucesso\"},updated_message:\"Informa\\xE7\\xF5es da Empresa atualizadas com sucesso\",invoices:{title:\"Faturas\",notes:\"Notas\",invoice_prefix:\"Fatura Prefixo\",invoice_settings:\"Configra\\xE7\\xF5es da Fatura\",autogenerate_invoice_number:\"Gerar automaticamente o n\\xFAmero da Fatura\",autogenerate_invoice_number_desc:\"Desative isso, se voc\\xEA n\\xE3o deseja gerar automaticamente n\\xFAmeros da Fatura sempre que criar uma nova.\",enter_invoice_prefix:\"Digite o prefixo da Fatura\",terms_and_conditions:\"Termos e Condi\\xE7\\xF5es\",invoice_settings_updated:\"Configura\\xE7\\xE3o da Fatura atualizada com sucesso\"},estimates:{title:\"Or\\xE7amentos\",estimate_prefix:\"Or\\xE7amento Prefixo\",estimate_settings:\"Configura\\xE7\\xF5es do Or\\xE7amento\",autogenerate_estimate_number:\"Gerar automaticamente o n\\xFAmero do Or\\xE7amento\",estimate_setting_description:\"Desative isso, se voc\\xEA n\\xE3o deseja gerar automaticamente n\\xFAmeros do Or\\xE7amento sempre que criar um novo.\",enter_estimate_prefix:\"Digite o prefixo do Or\\xE7amento\",estimate_setting_updated:\"Configura\\xE7\\xE3o do Or\\xE7amento atualizada com sucesso\"},payments:{title:\"Pagamentos\",payment_prefix:\"Pagamento Prefixo\",payment_settings:\"Configura\\xE7\\xF5es de Pagamento\",autogenerate_payment_number:\"Gerar automaticamente n\\xFAmero do Pagamento\",payment_setting_description:\"Desative isso, se voc\\xEA n\\xE3o deseja gerar automaticamente n\\xFAmeros do Pagamento sempre que criar um novo.\",enter_payment_prefix:\"Digite o Prefixo do Pagamento\",payment_setting_updated:\"Configura\\xE7\\xF5es de Pagamento atualizada com sucesso\",payment_mode:\"Modo de pagamento\",add_payment_mode:\"Adicionar modo de pagamento\",edit_payment_mode:\"Editar modo de pagamento\",mode_name:\"Nome do modo\",payment_mode_added:\"Modo de pagamento adicionado\",payment_mode_updated:\"Modo de pagamento atualizado\",payment_mode_confirm_delete:\"Voc\\xEA n\\xE3o poder\\xE1 recuperar este modo de pagamento\",already_in_use:\"O modo de pagamento j\\xE1 est\\xE1 em uso\",deleted_message:\"Modo de pagamento exclu\\xEDdo com sucesso\"},items:{title:\"Itens\",units:\"unidades\",add_item_unit:\"Adicionar unidade de item\",edit_item_unit:\"Editar unidade de item\",unit_name:\"Nome da unidade\",item_unit_added:\"Item Unit Added\",item_unit_updated:\"Item Unit Updated\",item_unit_confirm_delete:\"Voc\\xEA n\\xE3o poder\\xE1 recuperar esta unidade de item\",already_in_use:\"A unidade do item j\\xE1 est\\xE1 em uso\",deleted_message:\"Unidade de item exclu\\xEDda com sucesso\"}},account_settings:{profile_picture:\"Foto do Perfil\",name:\"Nome\",email:\"Email\",password:\"Senha\",confirm_password:\"Confirmar Senha\",account_settings:\"Configura\\xE7\\xF5es da conta\",save:\"Salvar\",section_description:\"Voc\\xEA pode atualizar seu nome, email e senha usando o formul\\xE1rio abaixo.\",updated_message:\"Configura\\xE7\\xF5es da conta atualizadas com sucesso\"},user_profile:{name:\"Nome\",email:\"Email\",password:\"Password\",confirm_password:\"Confirmar Senha\"},notification:{title:\"Notifica\\xE7\\xE3o\",email:\"Enviar Notifica\\xE7\\xF5es para\",description:\"Quais notifica\\xE7\\xF5es por email voc\\xEA gostaria de receber quando algo mudar?\",invoice_viewed:\"Fatura Visualizada\",invoice_viewed_desc:\"Quando o seu cliente visualiza uma Fatura enviada pelo painel do Crater.\",estimate_viewed:\"Or\\xE7amento Visualizado\",estimate_viewed_desc:\"Quando o seu cliente visualiza um Or\\xE7amento enviada pelo painel do Crater.\",save:\"Salvar\",email_save_message:\"E-mail salvo com sucesso\",please_enter_email:\"Por favor digite um E-mail\"},tax_types:{title:\"Tipos de Impostos\",add_tax:\"Adicionar Imposto\",edit_tax:\"Editar imposto\",description:\"Voc\\xEA pode adicionar ou remover impostos conforme desejar. O Crater suporta impostos sobre itens individuais e tamb\\xE9m na Fatura.\",add_new_tax:\"Adicionar Novo Imposto\",tax_settings:\"Configura\\xE7\\xF5es de Impostos\",tax_per_item:\"Imposto por Item\",tax_name:\"Nome do Imposto\",compound_tax:\"Imposto Composto\",percent:\"Porcentagem\",action:\"A\\xE7\\xE3o\",tax_setting_description:\"Habilite isso se desejar adicionar Impostos a itens da Fatura Idividualmente. Por padr\\xE3o, os impostos s\\xE3o adicionados diretamente \\xE0 Fatura.\",created_message:\"Tipo de Imposto criado com sucesso\",updated_message:\"Tipo de Imposto Atualizado com sucesso\",deleted_message:\"Tipo de Imposto Deletado com sucesso\",confirm_delete:\"Voc\\xEA n\\xE3o poder\\xE1 recuperar este tipo de Imposto\",already_in_use:\"O Imposto j\\xE1 est\\xE1 em uso\"},expense_category:{title:\"Categoria de Despesa\",action:\"A\\xE7\\xE3o\",description:\"As Categorias s\\xE3o necess\\xE1rias para adicionar entradas de Despesas. Voc\\xEA pode adicionar ou remover essas Categorias de acordo com sua prefer\\xEAncia.\",add_new_category:\"Adicionar Nova Categoria\",add_category:\"Adicionar categoria\",edit_category:\"Editar categoria\",category_name:\"Nome da Categoria\",category_description:\"Descri\\xE7\\xE3o\",created_message:\"Categoria de Despesa criada com sucesso\",deleted_message:\"Categoria de Despesa exclu\\xEDda com sucesso\",updated_message:\"Categoria de Despesa atualizada com sucesso\",confirm_delete:\"Voc\\xEA n\\xE3o poder\\xE1 recuperar esta Categoria de Despesa\",already_in_use:\"A categoria j\\xE1 est\\xE1 em uso\"},preferences:{currency:\"Moeda\",language:\"Idioma\",time_zone:\"Fuso Hor\\xE1rio\",fiscal_year:\"Ano Financeiro\",date_format:\"Formato da Data\",discount_setting:\"Configura\\xE7\\xE3o de Desconto\",discount_per_item:\"Desconto por Item \",discount_setting_description:\"Habilite isso se desejar adicionar desconto a itens de Fatura individualmente. Por padr\\xE3o, o desconto \\xE9 adicionado diretamente \\xE0 Fatura.\",save:\"Salvar\",preference:\"Prefer\\xEAncia | Prefer\\xEAncias\",general_settings:\"Prefer\\xEAncias padr\\xE3o para o sistema.\",updated_message:\"Prefer\\xEAncias atualizadas com sucesso\",select_language:\"Selecione um Idioma\",select_time_zone:\"Selecione um fuso hor\\xE1rio\",select_date_formate:\"Selecione um formato de data\",select_financial_year:\"Selecione o ano financeiro\"},update_app:{title:\"Atualizar Aplicativo\",description:\"Voc\\xEA pode atualizar facilmente o Crater, verifique se h\\xE0 novas atualiza\\xE7\\xF5es, clicando no bot\\xE3o abaixo\",check_update:\"Verifique se h\\xE1 atualiza\\xE7\\xF5es\",avail_update:\"Nova atualiza\\xE7\\xE3o dispon\\xEDvel\",next_version:\"Pr\\xF3xima vers\\xE3o\",update:\"Atualizar agora\",update_progress:\"Atualiza\\xE7\\xE3o em progresso...\",progress_text:\"Levar\\xE1 apenas alguns minutos. N\\xE3o atualize a tela ou feche a janela antes que a atualiza\\xE7\\xE3o seja conclu\\xEDda\",update_success:\"O aplicativo foi atualizado! Aguarde enquanto a janela do navegador \\xE9 recarregada automaticamente.\",latest_message:\"Nenhuma atualiza\\xE7\\xE3o dispon\\xEDvel! Voc\\xEA est\\xE1 na vers\\xE3o mais recente.\",current_version:\"Vers\\xE3o Atual\",download_zip_file:\"Baixar arquivo ZIP\",unzipping_package:\"Descompactando o pacote\",copying_files:\"Copiando arquivos\",running_migrations:\"Executando migra\\xE7\\xF5es\",finishing_update:\"Atualiza\\xE7\\xE3o de acabamento\",update_failed:\"Atualiza\\xE7\\xE3o falhou\",update_failed_text:\"Desculpa! Sua atualiza\\xE7\\xE3o falhou em: {step} step\"}},Cm={account_info:\"Informa\\xE7\\xE3o da conta\",account_info_desc:\"Os detalhes abaixo ser\\xE3o usados para criar a conta principal do administrador. Al\\xE9m disso, voc\\xEA pode alterar os detalhes a qualquer momento ap\\xF3s o login.\",name:\"Nome\",email:\"Email\",password:\"Senha\",confirm_password:\"Confirmar Senha\",save_cont:\"Salvar e Continuar\",company_info:\"Informa\\xE7\\xE3o da Empresa\",company_info_desc:\"Esta informa\\xE7\\xE3o ser\\xE1 exibida nas Faturas. Observe que voc\\xEA pode editar isso mais tarde na p\\xE1gina de configura\\xE7\\xF5es.\",company_name:\"Nome da Empresa\",company_logo:\"Logotipo da Empresa\",logo_preview:\"Previsualizar Logotipo\",preferences:\"Prefer\\xEAncias\",preferences_desc:\"Prefer\\xEAncias padr\\xE3o para o sistema.\",country:\"Pais\",state:\"Estado\",city:\"Cidade\",address:\"Endere\\xE7o\",street:\"Rua 1 | Rua 2\",phone:\"Telefone\",zip_code:\"CEP\",go_back:\"Voltar\",currency:\"Moeda\",language:\"Idioma\",time_zone:\"Fuso Hor\\xE1rio\",fiscal_year:\"Ano Financeiro\",date_format:\"Formato de Data\",from_address:\"Do Endere\\xE7o\",username:\"Nome de Usu\\xE1rio\",next:\"Pr\\xF3ximo\",continue:\"Continuar\",skip:\"Pular\",database:{database:\"URL do Site e Base de Dados\",connection:\"Conex\\xE3o da Base de Dados\",host:\"Host da Base de Dados\",port:\"Porta da Base de Dados\",password:\"Senha da Base de Dados\",app_url:\"URL do Aplicativo\",username:\"Usu\\xE1rio da Base de Dados\",db_name:\"Nome da Base de Dados\",desc:\"Crie um Banco de Dados no seu servidor e defina as credenciais usando o formul\\xE1rio abaixo.\"},permissions:{permissions:\"Permiss\\xF5es\",permission_confirm_title:\"Voc\\xEA tem certeza que quer continuar?\",permission_confirm_desc:\"Falha na verifica\\xE7\\xE3o de permiss\\xE3o da pasta\",permission_desc:\"Abaixo est\\xE1 a lista de permiss\\xF5es de pasta que s\\xE3o necess\\xE1rias para que o aplicativo funcione. Se a verifica\\xE7\\xE3o da permiss\\xE3o falhar, atualize as permiss\\xF5es da pasta.\"},mail:{host:\"Host do email\",port:\"Porta do email\",driver:\"Driver do email\",secret:\"Segredo\",mailgun_secret:\"Segredo do Mailgun\",mailgun_domain:\"Dom\\xEDnio\",mailgun_endpoint:\"Endpoint do Mailgun\",ses_secret:\"Segredo do SES\",ses_key:\"Chave SES\",password:\"Senha do email\",username:\"Nome do Usu\\xE1rio do email\",mail_config:\"Configura\\xE7\\xE3o de email\",from_name:\"Nome do email\",from_mail:\"Endere\\xE7o de email\",encryption:\"Criptografia de email\",mail_config_desc:\"Abaixo est\\xE1 o formul\\xE1rio para configurar o driver de email que ser\\xE1 usado para enviar emails do aplicativo. Voc\\xEA tamb\\xE9m pode configurar provedores de terceiros como Sendgrid, SES etc.\"},req:{system_req:\"Requisitos de Sistema\",php_req_version:\"PHP (vers\\xE3o {version} obrigat\\xF3ria)\",check_req:\"Verificar Requisitos\",system_req_desc:\"O Crater tem alguns requisitos de servidor. Verifique se o seu servidor possui a vers\\xE3o do PHP necess\\xE1ria e todas as extens\\xF5es mencionadas abaixo.\"},errors:{migrate_failed:\"Falha na migra\\xE7\\xE3o\",database_variables_save_error:\"N\\xE3o \\xE9 poss\\xEDvel gravar a configura\\xE7\\xE3o no arquivo .env. Por favor, verifique suas permiss\\xF5es de arquivo\",mail_variables_save_error:\"A configura\\xE7\\xE3o do email falhou.\",connection_failed:\"Falha na conex\\xE3o com o banco de dados\",database_should_be_empty:\"O banco de dados deve estar vazio\"},success:{mail_variables_save_successfully:\"Email configurado com sucesso\",database_variables_save_successfully:\"Banco de dados configurado com sucesso.\"}},Nm={invalid_phone:\"N\\xFAmero de telefone inv\\xE1lido\",invalid_url:\"url inv\\xE1lidas (ex: http://www.craterapp.com)\",required:\"Campo obrigat\\xF3rio\",email_incorrect:\"E-mail incorreto\",email_already_taken:\"O email j\\xE1 foi recebido.\",email_does_not_exist:\"O usu\\xE1rio com determinado email n\\xE3o existe\",send_reset_link:\"Enviar link de redefini\\xE7\\xE3o\",not_yet:\"Ainda n\\xE3o? Envie novamente\",password_min_length:\"A senha deve conter {count} caracteres\",name_min_length:\"O nome deve ter pelo menos {count} letras.\",enter_valid_tax_rate:\"Insira uma taxa de imposto v\\xE1lida\",numbers_only:\"Apenas N\\xFAmeros.\",characters_only:\"Apenas Caracteres.\",password_incorrect:\"As senhas devem ser id\\xEAnticas\",password_length:\"A senha deve ter {count} caracteres.\",qty_must_greater_than_zero:\"A quantidade deve ser maior que zero.\",price_greater_than_zero:\"O pre\\xE7o deve ser maior que zero.\",payment_greater_than_zero:\"O pagamento deve ser maior que zero.\",payment_greater_than_due_amount:\"O pagamento inserido \\xE9 mais do que o valor devido desta fatura.\",quantity_maxlength:\"A quantidade n\\xE3o deve exceder 20 d\\xEDgitos.\",price_maxlength:\"O pre\\xE7o n\\xE3o deve ser superior a 20 d\\xEDgitos.\",price_minvalue:\"O pre\\xE7o deve ser maior que 0.\",amount_maxlength:\"Montante n\\xE3o deve ser superior a 20 d\\xEDgitos.\",amount_minvalue:\"Montante deve ser maior que zero\",description_maxlength:\"A descri\\xE7\\xE3o n\\xE3o deve ter mais que 255 caracteres.\",maximum_options_error:\"M\\xE1ximo de {max} op\\xE7\\xF5es selecionadas. Primeiro remova uma op\\xE7\\xE3o selecionada para selecionar outra.\",notes_maxlength:\"As anota\\xE7\\xF5es n\\xE3o devem ter mais que 255 caracteres.\",address_maxlength:\"O endere\\xE7o n\\xE3o deve ter mais que 255 caracteres.\",ref_number_maxlength:\"O n\\xFAmero de refer\\xEAncia n\\xE3o deve ter mais que 255 caracteres.\",prefix_maxlength:\"O prefixo n\\xE3o deve ter mais que 5 caracteres.\"};var Em={navigation:vm,general:ym,dashboard:hm,tax_types:bm,customers:km,items:wm,estimates:zm,invoices:xm,payments:Pm,expenses:Sm,login:jm,reports:Am,settings:Dm,wizard:Cm,validation:Nm};const Im={dashboard:\"Pannello di controllo\",customers:\"Clienti\",items:\"Commesse\",invoices:\"Fatture\",\"recurring-invoices\":\"Fatture ricorrenti\",expenses:\"Spese\",estimates:\"Preventivi\",payments:\"Pagamenti\",reports:\"Rapporti\",settings:\"Configurazione\",logout:\"Disconnessione\",users:\"Utenti\",modules:\"Moduli\"},Tm={add_company:\"Aggiungi azienda\",view_pdf:\"Vedi PDF\",copy_pdf_url:\"Copia URL PDF\",download_pdf:\"Scarica PDF\",save:\"Salva\",create:\"Crea\",cancel:\"Elimina\",update:\"Aggiorna\",deselect:\"Deseleziona\",download:\"Scarica\",from_date:\"Dalla Data\",to_date:\"Alla Data\",from:\"Da\",to:\"A\",ok:\"Ok\",yes:\"S\\xEC\",no:\"No\",sort_by:\"Ordina per\",ascending:\"Crescente\",descending:\"Decrescente\",subject:\"Oggetto\",body:\"Corpo\",message:\"Messaggio\",send:\"Invia\",preview:\"Anteprima\",go_back:\"Torna indietro\",back_to_login:\"Torna al Login?\",home:\"Home\",filter:\"Filtro\",delete:\"Elimina\",edit:\"Modifica\",view:\"Visualizza\",add_new_item:\"Aggiungi nuova Commessa\",clear_all:\"Pulisci tutto\",showing:\"Visualizzo\",of:\"di\",actions:\"Azioni\",subtotal:\"SUBTOTALE\",discount:\"SCONTO\",fixed:\"Fissato\",percentage:\"Percentuale\",tax:\"TASSA\",total_amount:\"AMMONTARE TOTALE\",bill_to:\"Fattura a\",ship_to:\"Invia a\",due:\"Dovuto\",draft:\"Bozza\",sent:\"Inviata\",all:\"Tutte\",select_all:\"Seleziona tutto\",select_template:\"Seleziona Template\",choose_file:\"Clicca per selezionare un file\",choose_template:\"Scegli un modello\",choose:\"Scegli\",remove:\"Rimuovi\",select_a_status:\"Seleziona uno Stato\",select_a_tax:\"Seleziona imposta\",search:\"Cerca\",are_you_sure:\"Sei sicuro/a?\",list_is_empty:\"La lista \\xE8 vuota.\",no_tax_found:\"Nessuna imposta trovata!\",four_zero_four:\"404\",you_got_lost:\"Hoops! Ti sei perso\",go_home:\"Vai alla Home\",test_mail_conf:\"Configurazione della mail di test\",send_mail_successfully:\"Mail inviata con successo\",setting_updated:\"Configurazioni aggiornate con successo\",select_state:\"Seleziona lo Stato\",select_country:\"Seleziona Paese\",select_city:\"Seleziona Citt\\xE0\",street_1:\"Indirizzo 1\",street_2:\"Indirizzo 2\",action_failed:\"Errore\",retry:\"Riprova\",choose_note:\"Scegli Nota\",no_note_found:\"Nessuna Nota Trovata\",insert_note:\"Inserisci Nota\",copied_pdf_url_clipboard:\"Url PDF copiato negli appunti!\",copied_url_clipboard:\"URL copiato negli appunti!\",docs:\"Documenti\",do_you_wish_to_continue:\"Vuoi continuare?\",note:\"Nota\",pay_invoice:\"Paga Fattura\",login_successfully:\"Accesso effettuato con successo!\",logged_out_successfully:\"Disconnessione riuscita\",mark_as_default:\"Contrassegna come predefinito\"},Rm={select_year:\"Seleziona anno\",cards:{due_amount:\"Somma dovuta\",customers:\"Clienti\",invoices:\"Fatture\",estimates:\"Preventivi\",payments:\"Pagamenti\"},chart_info:{total_sales:\"Vendite\",total_receipts:\"Ricevute\",total_expense:\"Uscite\",net_income:\"Guadagno netto\",year:\"Seleziona anno\"},monthly_chart:{title:\"Entrate & Uscite\"},recent_invoices_card:{title:\"Fatture insolute\",due_on:\"Data di scadenza\",customer:\"Cliente\",amount_due:\"Ammontare dovuto\",actions:\"Azioni\",view_all:\"Vedi tutto\"},recent_estimate_card:{title:\"Preventivi recenti\",date:\"Data\",customer:\"Cliente\",amount_due:\"Ammontare dovuto\",actions:\"Azioni\",view_all:\"Vedi tutto\"}},Mm={name:\"Nome\",description:\"Descrizione\",percent:\"Percento\",compound_tax:\"Imposta composta\"},Fm={search:\"Cerca...\",customers:\"Clienti\",users:\"Utenti\",no_results_found:\"Nessun Risultato Trovato\"},$m={label:\"CAMBIA AZIENDA\",no_results_found:\"Nessun Risultato Trovato\",add_new_company:\"Aggiungi una nuova azienda\",new_company:\"Nuova Azienda\",created_message:\"Azienda creata con successo\"},Um={today:\"Oggi\",this_week:\"Questa Settimana\",this_month:\"Questo mese\",this_quarter:\"Questo Trimestre\",this_year:\"Anno corrente\",previous_week:\"Settimana precedente\",previous_month:\"Mese precedente\",previous_quarter:\"Trimestre Precedente\",previous_year:\"Anno Precedente\",custom:\"Personalizzato\"},Vm={title:\"Clienti\",prefix:\"Prefisso\",add_customer:\"Aggiungi cliente\",contacts_list:\"Lista clienti\",name:\"Nome\",mail:\"Mail | Mails\",statement:\"Dichiarazione\",display_name:\"Nome Visibile\",primary_contact_name:\"Riferimento\",contact_name:\"Nome Contatto\",amount_due:\"Ammontare dovuto\",email:\"Email\",address:\"Indirizzo\",phone:\"Telefono\",website:\"Sito web\",overview:\"Panoramica\",invoice_prefix:\"Prefisso Fattura\",estimate_prefix:\"Prefisso Preventivi\",payment_prefix:\"Prefisso Pagamento\",enable_portal:\"Abilita Portale\",country:\"Paese\",state:\"Provincia\",city:\"Citt\\xE0\",zip_code:\"Codice Postale\",added_on:\"Aggiunto il\",action:\"Azione\",password:\"Password\",confirm_password:\"Conferma Password\",street_number:\"Numero Civico\",primary_currency:\"Val\\xF9ta Principale\",description:\"Descrizione\",add_new_customer:\"Aggiungi nuovo Cliente\",save_customer:\"Salva Cliente\",update_customer:\"Aggiorna Cliente\",customer:\"Cliente | Clienti\",new_customer:\"Nuovo cliente\",edit_customer:\"Modifica Cliente\",basic_info:\"Informazioni\",portal_access:\"Accesso al Portale\",portal_access_text:\"Vuoi consentire a questo cliente di accedere al Portale Clienti?\",portal_access_url:\"URL Login Portale Cliente\",portal_access_url_help:\"Copia e inoltra l'URL sopra indicato al tuo cliente per fornire l'accesso.\",billing_address:\"Indirizzo di Fatturazione\",shipping_address:\"Indirizzo di Spedizione\",copy_billing_address:\"Copia da Fatturazione\",no_customers:\"Ancora nessun Cliente!\",no_customers_found:\"Nessun cliente trovato!\",no_contact:\"Nessun contatto\",no_contact_name:\"Nessun nome del contatto\",list_of_customers:\"Qui ci sar\\xE0 la lista dei tuoi clienti\",primary_display_name:\"Mostra il Nome Principale\",select_currency:\"Selezione Val\\xF9ta\",select_a_customer:\"Seleziona Cliente\",type_or_click:\"Scrivi o clicca per selezionare\",new_transaction:\"Nuova transazione\",no_matching_customers:\"Non ci sono clienti corrispondenti!\",phone_number:\"Numero di telefono\",create_date:\"Crea data\",confirm_delete:\"Non sarai in grado di recuperare questo cliente e tutte le relative fatture, stime e pagamenti. | Non sarai in grado di recuperare questi clienti e tutte le relative fatture, stime e pagamenti.\",created_message:\"Cliente creato con successo\",updated_message:\"Cliente aggiornato con successo\",address_updated_message:\"Indirizzo aggiornato con successo\",deleted_message:\"Cliente cancellato con successo | Clienti cancellati con successo\",edit_currency_not_allowed:\"Impossibile cambiare valuta, dopo aver creato transazioni.\"},Om={title:\"Commesse\",items_list:\"Lista Commesse\",name:\"Nome\",unit:\"Unit\\xE0/Tipo\",description:\"Descrizione\",added_on:\"Aggiunto il\",price:\"Prezzo\",date_of_creation:\"Data di creazione\",not_selected:\"Nessun elemento selezionato\",action:\"Azione\",add_item:\"Aggiungi Commessa\",save_item:\"Salva\",update_item:\"Aggiorna\",item:\"Commessa | Commesse\",add_new_item:\"Aggiungi nuova Commessa\",new_item:\"Nuova Commessa\",edit_item:\"Modifica Commessa\",no_items:\"Ancora nessuna commessa!\",list_of_items:\"Qui ci sar\\xE0 la lista delle commesse.\",select_a_unit:\"Seleziona\",taxes:\"Imposte\",item_attached_message:\"Non puoi eliminare una Commessa che \\xE8 gi\\xE0 attiva\",confirm_delete:\"Non potrai ripristinare la Commessa | Non potrai ripristinare le Commesse\",created_message:\"Commessa creata con successo\",updated_message:\"Commessa aggiornata con successo\",deleted_message:\"Commessa eliminata con successo | Commesse eliminate con successo\"},Lm={title:\"Preventivi\",accept_estimate:\"Accetta Preventivo\",reject_estimate:\"Rifiuta Preventivo\",estimate:\"Preventivo | Preventivi\",estimates_list:\"Lista Preventivi\",days:\"{days} Giorni\",months:\"{months} Mese\",years:\"{years} Anno\",all:\"Tutti\",paid:\"Pagato\",unpaid:\"Non pagato\",customer:\"CLIENTE\",ref_no:\"RIF N.\",number:\"NUMERO\",amount_due:\"AMMONTARE DOVUTO\",partially_paid:\"Pagamento Parziale\",total:\"Totale\",discount:\"Sconto\",sub_total:\"Sub Totale\",estimate_number:\"Preventivo Numero\",ref_number:\"Numero di Rif.\",contact:\"Contatto\",add_item:\"Aggiungi un item\",date:\"Data\",due_date:\"Data di pagamento\",expiry_date:\"Data di scadenza\",status:\"Stato\",add_tax:\"Aggiungi Imposta\",amount:\"Ammontare\",action:\"Azione\",notes:\"Note\",tax:\"Imposta\",estimate_template:\"Modello\",convert_to_invoice:\"Converti in Fattura\",mark_as_sent:\"Segna come Inviata\",send_estimate:\"Invia preventivo\",resend_estimate:\"Reinvia Preventivo\",record_payment:\"Registra Pagamento\",add_estimate:\"Aggiungi Preventivo\",save_estimate:\"Salva Preventivo\",confirm_conversion:\"Questo preventivo verr\\xE0 usato per generare una nuova fattura.\",conversion_message:\"Fattura creata\",confirm_send_estimate:\"Questo preventivo verr\\xE0 inviato al cliente via mail\",confirm_mark_as_sent:\"Questo preventivo verr\\xE0 contrassegnato come inviato\",confirm_mark_as_accepted:\"Questo preventivo verr\\xE0 contrassegnato come Accettato\",confirm_mark_as_rejected:\"Questo preventivo verr\\xE0 contrassegnato come Rifiutato\",no_matching_estimates:\"Nessun preventivo trovato!\",mark_as_sent_successfully:\"Preventivo contrassegnato come inviato con successo\",send_estimate_successfully:\"Preventivo inviato con successo\",errors:{required:\"Campo obbligatorio\"},accepted:\"Accettato\",rejected:\"Rifiutato\",expired:\"Scaduto\",sent:\"Inviato\",draft:\"Bozza\",viewed:\"Visualizzato\",declined:\"Rifiutato\",new_estimate:\"Nuovo Preventivo\",add_new_estimate:\"Crea Nuovo Preventivo\",update_Estimate:\"Aggiorna preventivo\",edit_estimate:\"Modifica Preventivo\",items:\"Commesse\",Estimate:\"Preventivo | Preventivi\",add_new_tax:\"Aggiungi una nuova tassa/imposta\",no_estimates:\"Ancora nessun preventivo!\",list_of_estimates:\"Questa sezione conterr\\xE0 la lista dei preventivi.\",mark_as_rejected:\"Segna come Rifiutato\",mark_as_accepted:\"Segna come Accettato\",marked_as_accepted_message:\"Preventivo contrassegnato come accettato\",marked_as_rejected_message:\"Preventivo contrassegnato come rifiutato\",confirm_delete:\"Non potrai pi\\xF9 recuperare questo preventivo | Non potrai pi\\xF9 recuperare questi preventivi\",created_message:\"Preventivo creato con successo\",updated_message:\"Preventivo modificato con successo\",deleted_message:\"Preventivo eliminato con successo | Preventivi eliminati con successo\",something_went_wrong:\"Si \\xE8 verificato un errore\",item:{title:\"Titolo Commessa\",description:\"Descrizione\",quantity:\"Quantit\\xE0\",price:\"Prezzo\",discount:\"Sconto\",total:\"Totale\",total_discount:\"Sconto Totale\",sub_total:\"Sub Totale\",tax:\"Tasse\",amount:\"Ammontare\",select_an_item:\"Scrivi o clicca per selezionare un item\",type_item_description:\"Scrivi una Descrizione (opzionale)\"},mark_as_default_estimate_template_description:\"Se abilitato, il modello selezionato verr\\xE0 selezionato automaticamente per i nuovi preventivi.\"},qm={title:\"Fatture\",download:\"Scarica\",pay_invoice:\"Paga Fattura\",invoices_list:\"Lista Fatture\",invoice_information:\"Informazioni Fattura\",days:\"{days} Giorni\",months:\"{months} Mese\",years:\"{years} Anno\",all:\"Tutti\",paid:\"Pagato\",unpaid:\"Insoluta\",viewed:\"Visualizzato\",overdue:\"Scaduta\",completed:\"Completata\",customer:\"CLIENTE\",paid_status:\"STATO DI PAGAMENTO\",ref_no:\"RIF N.\",number:\"NUMERO\",amount_due:\"AMMONTARE DOVUTO\",partially_paid:\"Parzialmente Pagata\",total:\"Totale\",discount:\"Sconto\",sub_total:\"Sub Totale\",invoice:\"Fattura | Fatture\",invoice_number:\"Numero Fattura\",ref_number:\"Rif Numero\",contact:\"Contatto\",add_item:\"Aggiungi Commessa/Item\",date:\"Data\",due_date:\"Data di pagamento\",status:\"Stato\",add_tax:\"Aggiungi Imposta\",amount:\"Ammontare\",action:\"Azione\",notes:\"Note\",view:\"Vedi\",send_invoice:\"Invia Fattura\",resend_invoice:\"Reinvia Fattura\",invoice_template:\"Modello Fattura\",conversion_message:\"Fattura duplicata con successo\",template:\"Modello\",mark_as_sent:\"Segna come inviata\",confirm_send_invoice:\"Questa fattura sar\\xE0 inviata via Mail al Cliente\",invoice_mark_as_sent:\"Questa fattura sar\\xE0 contrassegnata come inviata\",confirm_mark_as_accepted:\"Questa fattura verr\\xE0 contrassegnata come Accettata\",confirm_mark_as_rejected:\"Questa fattura sar\\xE0 contrassegnata come Rifiutata\",confirm_send:\"Questa fattura sar\\xE0 inviata via Mail al Cliente\",invoice_date:\"Data fattura\",record_payment:\"Registra Pagamento\",add_new_invoice:\"Aggiungi nuova Fattura\",update_expense:\"Aggiorna Costo\",edit_invoice:\"Modifica Fattura\",new_invoice:\"Nuova Fattura\",save_invoice:\"Salva fattura\",update_invoice:\"Aggiorna Fattura\",add_new_tax:\"Aggiungi tassa/imposta\",no_invoices:\"Ancora nessuna fattura!\",mark_as_rejected:\"Segna come rifiutata\",mark_as_accepted:\"Segna come accettata\",list_of_invoices:\"Questa sezione conterr\\xE0 la lista delle Fatture.\",select_invoice:\"Seleziona Fattura\",no_matching_invoices:\"Nessuna fattura trovata!\",mark_as_sent_successfully:\"Fattura contassegnata come inviata con successo\",invoice_sent_successfully:\"Fattura inviata correttamente\",cloned_successfully:\"Fattura copiata con successo\",clone_invoice:\"Clona Fattura\",confirm_clone:\"Questa fattura verr\\xE0 clonata in una nuova fattura\",item:{title:\"Titolo Commessa\",description:\"Descrizione\",quantity:\"Quantit\\xE0\",price:\"Prezzo\",discount:\"Sconto\",total:\"Totale\",total_discount:\"Sconto Totale\",sub_total:\"Sub Totale\",tax:\"Tassa\",amount:\"Ammontare\",select_an_item:\"Scrivi o clicca per selezionare un item\",type_item_description:\"Scrivi una descrizione (opzionale)\"},payment_attached_message:\"Una delle fatture selezionate ha gi\\xE0 associato un pagamento. Assicurati di eliminare il pagamento associato prima di procedere con la rimozione\",confirm_delete:\"Non potrai recuperare la Fattura cancellata | Non potrai recuperare le Fatture cancellate\",created_message:\"Fattura creata con successo\",updated_message:\"Fattura aggiornata con successo\",deleted_message:\"Fattura cancellata con successo | Fatture cancellate con successo\",marked_as_sent_message:\"Fattura contrassegnata come inviata con successo\",something_went_wrong:\"Si \\xE8 verificato un errore\",invalid_due_amount_message:\"L'ammontare totale della fattura non pu\\xF2 essere inferiore all'ammontare totale pagato per questa fattura. Modifica la fattura o cancella i pagamenti associati per continuare.\",mark_as_default_invoice_template_description:\"Se abilitata, il modello selezionato verr\\xE0 selezionato automaticamente per le nuove fatture.\"},Bm={title:\"Fatture ricorrenti\",invoices_list:\"Elenco Fatture ricorrenti\",days:\"{days} Giorni\",months:\"{months} Mese\",years:\"{years} Anno\",all:\"Tutte\",paid:\"Pagata\",unpaid:\"Non Pagata\",viewed:\"Vista\",overdue:\"In ritardo\",active:\"Attiva\",completed:\"Completata\",customer:\"CLIENTE\",paid_status:\"STATO DI PAGAMENTO\",ref_no:\"Riferimento #\",number:\"NUMERO\",amount_due:\"AMMONTARE DOVUTO\",partially_paid:\"Parzialmente Pagata\",total:\"Totale\",discount:\"Sconto\",sub_total:\"Totale Parziale\",invoice:\"Fattura Ricorrente | Fatture Ricorrenti\",invoice_number:\"Numero Della Fattura Ricorrente\",next_invoice_date:\"Data Prossima Fattura\",ref_number:\"Numero di Rif.\",contact:\"Contatto\",add_item:\"Aggiungi un elemento\",date:\"Data\",limit_by:\"Limita per\",limit_date:\"Data limite\",limit_count:\"Conteggio Limite\",count:\"Conteggio\",status:\"Stato\",select_a_status:\"Seleziona uno Stato\",working:\"Elaborando\",on_hold:\"In sospeso\",complete:\"Completate\",add_tax:\"Aggiungi imposta\",amount:\"Quantit\\xE0\",action:\"Azione\",notes:\"Note\",view:\"Visualizza\",basic_info:\"Info Di Base\",send_invoice:\"Invia Fattura Ricorrente\",auto_send:\"Invio automatico\",resend_invoice:\"Reinvia Fattura Ricorrente\",invoice_template:\"Template Fattura Ricorrente\",conversion_message:\"Fattura duplicata con successo\",template:\"Template\",mark_as_sent:\"Segna come inviata\",confirm_send_invoice:\"Questa fattura ricorrente verr\\xE0 inviata via email al cliente\",invoice_mark_as_sent:\"Questa fattura sar\\xE0 contrassegnata come inviata\",confirm_send:\"Questa fattura ricorrente verr\\xE0 inviata via e-mail al cliente\",starts_at:\"Data Inzio\",due_date:\"Data di scadenza fattura\",record_payment:\"Registra Pagamento\",add_new_invoice:\"Nuova Fattura ricorrente\",update_expense:\"Aggiorna Spesa\",edit_invoice:\"Modifica Fattura Ricorrente\",new_invoice:\"Nuova Fattura Ricorrente\",send_automatically:\"Invia automaticamente\",send_automatically_desc:\"Abilitare questa opzione, se si desidera inviare automaticamente la fattura al cliente quando viene creata.\",save_invoice:\"Salva Fattura Ricorrente\",update_invoice:\"Aggiorna Fattura Ricorrente\",add_new_tax:\"Aggiungi una nuova tassa/imposta\",no_invoices:\"Ancora nessuna Fattura Ricorrente!\",mark_as_rejected:\"Segna come rifiutata\",mark_as_accepted:\"Segna come accettata\",list_of_invoices:\"Questa sezione conterr\\xE0 l'elenco delle fatture ricorrenti.\",select_invoice:\"Seleziona Fattura\",no_matching_invoices:\"Nessuna fattura trovata!\",mark_as_sent_successfully:\"Fattura contassegnata come inviata con successo\",invoice_sent_successfully:\"Fattura inviata con successo\",cloned_successfully:\"Fattura copiata con successo\",clone_invoice:\"Duplica Fattura Ricorrente\",confirm_clone:\"Questa fattura ricorrente verr\\xE0 clonata in una nuova fattura ricorrente\",add_customer_email:\"Inserisci una E-Mail per inviare automaticamente fatture al cliente.\",item:{title:\"Titolo Articolo\",description:\"Descrizione\",quantity:\"Quantit\\xE0\",price:\"Prezzo\",discount:\"Sconto\",total:\"Totale\",total_discount:\"Sconto Totale\",sub_total:\"Totale Parziale\",tax:\"Tassa\",amount:\"Importo\",select_an_item:\"Digita o clicca per selezionare un elemento\",type_item_description:\"Tipo Descrizione Articolo (Opzionale)\"},frequency:{title:\"Frequenza\",select_frequency:\"Seleziona Frequenza\",minute:\"Minuto\",hour:\"Ora\",day_month:\"Giorno del mese\",month:\"Mese\",day_week:\"Giorno della settimana\"},confirm_delete:\"Non sarai in grado di recuperare questa fattura | Non sarai in grado di recuperare queste fatture\",created_message:\"Fattura ricorrente creata con successo\",updated_message:\"Fattura ricorrente aggiornata correttamente\",deleted_message:\"Fattura ricorrente eliminata con successo | Fatture ricorrenti eliminate con successo\",marked_as_sent_message:\"Fattura ricorrente contrassegnata come inviata correttamente\",user_email_does_not_exist:\"L'e-mail dell'utente non esiste\",something_went_wrong:\"qualcosa \\xE8 andato storto\",invalid_due_amount_message:\"L'importo totale delle fatture ricorrenti non pu\\xF2 essere inferiore all'importo totale pagato per questa fattura ricorrente. Si prega di aggiornare la fattura o eliminare i pagamenti associati per continuare.\"},Km={title:\"Pagamenti\",payments_list:\"Lista Pagamenti\",record_payment:\"Registra Pagamento\",customer:\"Cliente\",date:\"Data\",amount:\"Ammontare\",action:\"Azione\",payment_number:\"Numero di pagamento\",payment_mode:\"Modalit\\xE0 di Pagamento\",invoice:\"Fattura\",note:\"Nota\",add_payment:\"Aggiungi Pagamento\",new_payment:\"Nuovo Pagamento\",edit_payment:\"Modifica Pagamento\",view_payment:\"Vedi Pagamento\",add_new_payment:\"Aggiungi nuovo pagamento\",send_payment_receipt:\"Invia ricevuta di pagamento\",send_payment:\"Inviare il pagamento\",save_payment:\"Salva pagamento\",update_payment:\"Aggiorna pagamento\",payment:\"Pagamento | Pagamenti\",no_payments:\"Ancora nessun pagamento!\",not_selected:\"Non Selezionato\",no_invoice:\"Nessuna fattura\",no_matching_payments:\"Non ci sono pagamenti!\",list_of_payments:\"Questa sezione conterr\\xE0 la lista dei pagamenti.\",select_payment_mode:\"Seleziona modalit\\xE0 di pagamento\",confirm_mark_as_sent:\"Questo preventivo verr\\xE0 contrassegnato come inviato\",confirm_send_payment:\"Questo pagamento verr\\xE0 inviato via email al cliente\",send_payment_successfully:\"Pagamento inviato con successo\",something_went_wrong:\"si \\xE8 verificato un errore\",confirm_delete:\"Non potrai recuperare questo pagamento | Non potrai recuperare questi pagamenti\",created_message:\"Pagamento creato con successo\",updated_message:\"Pagamento aggiornato con successo\",deleted_message:\"Pagamento cancellato con successo | Pagamenti cancellati con successo\",invalid_amount_message:\"L'ammontare del pagamento non \\xE8 valido\"},Zm={title:\"Spese\",expenses_list:\"Lista Costi\",select_a_customer:\"Seleziona Cliente\",expense_title:\"Titolo\",customer:\"Cliente\",currency:\"Valuta\",contact:\"Contatto\",category:\"Categoria\",from_date:\"Dalla Data\",to_date:\"Alla Data\",expense_date:\"Data\",description:\"Descrizione\",receipt:\"Ricevuta\",amount:\"Ammontare\",action:\"Azione\",not_selected:\"Non selezionata\",note:\"Nota\",category_id:\"Id categoria\",date:\"Data Spesa\",add_expense:\"Aggiungi Spesa\",add_new_expense:\"Aggiungi nuova Spesa\",save_expense:\"Salva la Spesa\",update_expense:\"Aggiorna Spesa\",download_receipt:\"Scarica la Ricevuta\",edit_expense:\"Modifica Spesa\",new_expense:\"Nuova Spesa\",expense:\"Spesa | Spese\",no_expenses:\"Ancora nessuna spesa!\",list_of_expenses:\"Questa sezione conterr\\xE0 la lista delle Spese.\",confirm_delete:\"Non potrai recuperare questa spesa | Non potrai recuperare queste spese\",created_message:\"Spesa creata con successo\",updated_message:\"Spesa modificata con successo\",deleted_message:\"Spesa cancellata con successo | Spese cancellate con successo\",categories:{categories_list:\"Lista categorie\",title:\"Titolo\",name:\"Nome\",description:\"Descrizione\",amount:\"Ammontare\",actions:\"Azioni\",add_category:\"Aggiungi Categoria\",new_category:\"Nuova Categoria\",category:\"Categoria | Categorie\",select_a_category:\"Seleziona Categoria\"}},Wm={email:\"Email\",password:\"Password\",forgot_password:\"Password dimenticata?\",or_signIn_with:\"o fai login con\",login:\"Accedi\",register:\"Registrati\",reset_password:\"Resetta Password\",password_reset_successfully:\"Password Resettata con successo\",enter_email:\"Inserisci email\",enter_password:\"Inserisci Password\",retype_password:\"Ridigita Password\"},Hm={buy_now:\"Acquista Ora\",install:\"Installa\",price:\"Prezzo\",download_zip_file:\"Scarica il file zip\",unzipping_package:\"Decompressione del pacchetto in corso\",copying_files:\"Copia dei file in corso\",deleting_files:\"Eliminazione dei file inutilizzati\",completing_installation:\"Finalizzando l'installazione\",update_failed:\"Aggiornamento non riuscito\",install_success:\"Modulo installato con successo!\",customer_reviews:\"Recensioni\",license:\"Licenza\",faq:\"FAQ\",monthly:\"Mensile\",yearly:\"Annuale\",updated:\"Aggiornato\",version:\"Versione\",disable:\"Disabilita\",module_disabled:\"Modulo disabilitato\",enable:\"Attiva\",module_enabled:\"Modulo attivato\",update_to:\"Aggiorna a\",module_updated:\"Modulo aggiornato con successo!\",title:\"Moduli\",module:\"Modulo | Moduli\",api_token:\"Token API\",invalid_api_token:\"Token API non valido.\",other_modules:\"Altri Moduli\",view_all:\"Visualizza tutto\",no_reviews_found:\"Non ci sono ancora recensioni per questo modulo!\",module_not_purchased:\"Modulo non acquistato\",module_not_found:\"Modulo non trovato\",version_not_supported:\"This module version doesn't support the current version of Crater\",last_updated:\"Ultimo aggiornamento il\",connect_installation:\"Collega la tua installazione\",api_token_description:\"Accedi a {url} e collega questa installazione inserendo l'API Token. I moduli acquistati verranno visualizzati qui dopo aver stabilito la connessione.\",view_module:\"Mostra Modulo\",update_available:\"Aggiornamento disponibile\",purchased:\"Acquistato\",installed:\"Installato\",no_modules_installed:\"Nessun modulo installato ancora!\",disable_warning:\"Tutte le impostazioni per questo particolare verranno ripristinate.\",what_you_get:\"Cosa puoi ottenere\"},Ym={title:\"Utenti\",users_list:\"Lista Utenti\",name:\"Nome\",description:\"Descrizione\",added_on:\"Aggiunto il\",date_of_creation:\"Data di creazione\",action:\"Azione\",add_user:\"Aggiungi Utente\",save_user:\"Salva Utente\",update_user:\"Aggiorna Utente\",user:\"Utente | Utenti\",add_new_user:\"Aggiungi Nuovo Utente\",new_user:\"Nuovo Utente\",edit_user:\"Modifica Utente\",no_users:\"Ancora nessun utente!\",list_of_users:\"Questa sezione conterr\\xE0 l'elenco degli utenti.\",email:\"Email\",phone:\"Telefono\",password:\"Password\",user_attached_message:\"Non puoi eliminare una Commessa che \\xE8 gi\\xE0 attiva\",confirm_delete:\"Non sarai in grado di recuperare questo utente | Non sarai in grado di recuperare questi utenti\",created_message:\"Utente creato correttamente\",updated_message:\"Utente aggiornato correttamente\",deleted_message:\"Utente eliminato con successo | Utenti eliminati con successo\",select_company_role:\"Seleziona ruolo per {company}\",companies:\"Aziende\"},Gm={title:\"Segnala\",from_date:\"Da\",to_date:\"A\",status:\"Stato\",paid:\"Pagato\",unpaid:\"Non pagato\",download_pdf:\"Scarica PDF\",view_pdf:\"Vedi PDF\",update_report:\"Aggiorna Report\",report:\"Segnalazione | Segnalazioni\",profit_loss:{profit_loss:\"Guadagni & Perdite\",to_date:\"A\",from_date:\"Da\",date_range:\"Seleziona intervallo date\"},sales:{sales:\"Vendite\",date_range:\"Seleziona intervallo date\",to_date:\"A\",from_date:\"Da\",report_type:\"Tipo di report\"},taxes:{taxes:\"Tasse\",to_date:\"Alla data\",from_date:\"Dalla data\",date_range:\"Seleziona intervallo date\"},errors:{required:\"Campo obbligatorio\"},invoices:{invoice:\"Fattura\",invoice_date:\"Data fattura\",due_date:\"Data di pagamento\",amount:\"Ammontare\",contact_name:\"Nome contatto\",status:\"Stato\"},estimates:{estimate:\"Preventivo\",estimate_date:\"Data preventivo\",due_date:\"Data di pagamento\",estimate_number:\"Numero di preventivo\",ref_number:\"Numero di Rif.\",amount:\"Ammontare\",contact_name:\"Nome contatto\",status:\"Stato\"},expenses:{expenses:\"Spese\",category:\"Categoria\",date:\"Data\",amount:\"Ammontare\",to_date:\"Alla data\",from_date:\"Dalla data\",date_range:\"Seleziona intervallo date\"}},Jm={menu_title:{account_settings:\"Impostazioni Account\",company_information:\"Informazioni Azienda\",customization:\"Personalizzazione\",preferences:\"Opzioni\",notifications:\"Notifiche\",tax_types:\"Tipi di Imposte\",expense_category:\"Categorie di spesa\",update_app:\"Aggiorna App\",backup:\"Backup\",file_disk:\"Disco File\",custom_fields:\"Campi personalizzati\",payment_modes:\"Modalit\\xE0 di Pagamento\",notes:\"Note\",exchange_rate:\"Tasso di cambio\",address_information:\"Indirizzo\"},address_information:{section_description:\"  Puoi aggiornare le informazioni sul tuo indirizzo utilizzando il modulo sottostante.\"},title:\"Impostazioni\",setting:\"Opzione | Impostazioni\",general:\"Generale\",language:\"Lingua\",primary_currency:\"Valuta Principale\",timezone:\"Fuso Orario\",date_format:\"Formato data\",currencies:{title:\"Valute\",currency:\"Val\\xF9ta | Valute\",currencies_list:\"Lista valute\",select_currency:\"Seleziona Val\\xF9ta\",name:\"Nome\",code:\"Codice\",symbol:\"Simbolo\",precision:\"Precisione\",thousand_separator:\"Separatore migliaia\",decimal_separator:\"Separatore decimali\",position:\"Posizione\",position_of_symbol:\"Posizione del Simbolo\",right:\"Destra\",left:\"Sinistra\",action:\"Azione\",add_currency:\"Aggiungi Val\\xF9ta\"},mail:{host:\"Host Mail\",port:\"Mail - Porta\",driver:\"Driver Mail\",secret:\"Segreto\",mailgun_secret:\"Segreto Mailgun\",mailgun_domain:\"Dominio\",mailgun_endpoint:\"Endpoint Mailgun\",ses_secret:\"Segreto SES\",ses_key:\"Chiave SES\",password:\"Password Email\",username:\"Nome Utente Email\",mail_config:\"Configurazione Mail\",from_name:\"Nome Mittente Mail\",from_mail:\"Indirizzo Mittente Mail\",encryption:\"Tipo di cifratura Mail\",mail_config_desc:\"Form per Configurazione Driver Mail per invio mail dall'App. Puoi anche configurare providers di terze parti come Sendgrid, SES, etc..\"},pdf:{title:\"Configurazione PDF\",footer_text:\"Testo Footer\",pdf_layout:\"Layout PDF\"},company_info:{company_info:\"Info azienda\",company_name:\"Nome azienda\",company_logo:\"Logo azienda\",section_description:\"Informazioni sulla tua azienda che saranno mostrate in fattura, preventivi ed altri documenti creati dell'applicazione.\",phone:\"Telefono\",country:\"Paese\",state:\"Provincia\",city:\"Citt\\xE0\",address:\"Indirizzo\",zip:\"CAP\",save:\"Salva\",delete:\"Elimina\",updated_message:\"Informazioni Azienda aggiornate con successo.\",delete_company:\"Elimina Azienda\",delete_company_description:\"Una volta eliminata la tua azienda, perderai tutti i dati e i file associati in modo permanente.\",are_you_absolutely_sure:\"Sei assolutamente sicuro?\",delete_company_modal_desc:\"Questa azione non pu\\xF2 essere annullata. Questo eliminer\\xE0 definitivamente {company} e tutti i suoi dati associati.\",delete_company_modal_label:\"Digita {company} per confermare\"},custom_fields:{title:\"Campi personalizzati\",section_description:\"Personalizza le tue fatture, preventivi e ricevute di pagamento con i tuoi campi. Assicurati di utilizzare i campi aggiunti qui sotto nei campi della pagina Personalizzazione delle impostazioni.\",add_custom_field:\"Aggiungi campo personalizzato\",edit_custom_field:\"Modifica campo personalizzato\",field_name:\"Nome campo\",label:\"Etichetta\",type:\"genere\",name:\"Nome\",slug:\"URL personalizzato\",required:\"Necessaria\",placeholder:\"segnaposto\",help_text:\"Testo guida\",default_value:\"Valore predefinito\",prefix:\"Prefisso\",starting_number:\"Numero iniziale\",model:\"Modella\",help_text_description:\"Inserisci del testo per aiutare gli utenti a comprendere lo scopo di questo campo personalizzato.\",suffix:\"Suffisso\",yes:\"s\\xEC\",no:\"No\",order:\"Ordine\",custom_field_confirm_delete:\"Non sarai in grado di recuperare questo campo personalizzato\",already_in_use:\"Il campo personalizzato \\xE8 gi\\xE0 in uso\",deleted_message:\"Campo personalizzato eliminato correttamente\",options:\"opzioni\",add_option:\"Aggiungi opzioni\",add_another_option:\"Aggiungi un'altra opzione\",sort_in_alphabetical_order:\"Ordina in ordine alfabetico\",add_options_in_bulk:\"Aggiungi opzioni in blocco\",use_predefined_options:\"Usa opzioni predefinite\",select_custom_date:\"Seleziona la data personalizzata\",select_relative_date:\"Seleziona la data relativa\",ticked_by_default:\"Contrassegnato per impostazione predefinita\",updated_message:\"Campo personalizzato aggiornato correttamente\",added_message:\"Campo personalizzato aggiunto correttamente\",press_enter_to_add:\"Premi Invio per aggiungere una nuova opzione\",model_in_use:\"Impossibile aggiornare il modello per i campi gi\\xE0 in uso.\",type_in_use:\"Impossibile aggiornare il tipo per i campi gi\\xE0 in uso.\"},customization:{customization:\"personalizzazione\",updated_message:\"Info azienda aggiornate con successo\",save:\"Salva\",insert_fields:\"Inserisci Campi\",learn_custom_format:\"Impara come utilizzare il formato personalizzato\",add_new_component:\"Aggiungi un componente\",component:\"Componente\",Parameter:\"Parametro\",series:\"Serie\",series_description:\"Per impostare un prefisso statico / postfix come 'INV' attraverso la tua azienda. Supporta la lunghezza del personaggio fino a 4 caratteri.\",series_param_label:\"Valore Serie\",delimiter:\"Delimitatore\",delimiter_description:\"Singolo carattere per specificare il confine tra 2 componenti separati. Per impostazione predefinita \\xE8 impostato a -\",delimiter_param_label:\"Valore Delimitatore\",date_format:\"Formato data\",date_format_description:\"Un campo di data e ora locale che accetta un parametro di formato. Il formato predefinito: 'Y' rende l'anno corrente.\",date_format_param_label:\"Formato\",sequence:\"Sequenza\",sequence_description:\"Sequenza numerica nella tua azienda. Puoi specificare la lunghezza sul parametro specificato.\",sequence_param_label:\"Lunghezza Sequenza\",customer_series:\"Serie Cliente\",customer_series_description:\"Per impostare un prefisso/postfix diverso per ogni cliente.\",customer_sequence:\"Sequenza Cliente\",customer_sequence_description:\"Sequenza consecutiva di numeri per ogni vostro cliente.\",customer_sequence_param_label:\"Lunghezza Sequenza\",random_sequence:\"Sequenza Casuale\",random_sequence_description:\"Stringa alfanumerica casuale. Puoi specificare la lunghezza sul parametro dato.\",random_sequence_param_label:\"Lunghezza Sequenza\",invoices:{title:\"Fatture\",invoice_number_format:\"Formato Numero Fattura\",invoice_number_format_description:\"Personalizza il modo in cui il numero di fattura viene generato automaticamente quando crei una nuova fattura.\",preview_invoice_number:\"Anteprima Numero Fattura\",due_date:\"Data di pagamento\",due_date_description:\"Specificare come la data di scadenza viene impostata automaticamente quando si crea una fattura.\",due_date_days:\"Scadenza dopo (giorni)\",set_due_date_automatically:\"Imposta Data Di Scadenza Automaticamente\",set_due_date_automatically_description:\"Abilita questa opzione se vuoi impostare automaticamente la data di scadenza quando crei una nuova fattura.\",default_formats:\"Formato predefinito\",default_formats_description:\"Sotto i formati dati vengono utilizzati per riempire automaticamente i campi alla creazione della fattura.\",default_invoice_email_body:\"Corpo Email Fattura Predefinito\",company_address_format:\"Formato Indirizzo Azienda\",shipping_address_format:\"Formato Indirizzo Di Spedizione\",billing_address_format:\"Formato Indirizzo Fatturazione\",invoice_email_attachment:\"Invia fatture come allegati\",invoice_email_attachment_setting_description:\"Abilita questa opzione se vuoi inviare fatture come allegati email. Si prega di notare che il pulsante 'Visualizza fattura' nelle email non verr\\xE0 pi\\xF9 visualizzato quando ci\\xF2 viene abilitato.\",invoice_settings_updated:\"Impostazioni fatture aggiornate con successo\",retrospective_edits:\"Modifica Retrospettiva\",allow:\"Permetti\",disable_on_invoice_partial_paid:\"Disabilita dopo la registrazione del pagamento parziale\",disable_on_invoice_paid:\"Disabilita dopo la registrazione del pagamento parziale\",disable_on_invoice_sent:\"Disabilita dopo l'invio della fattura\",retrospective_edits_description:\" In base alle leggi del tuo paese o alle tue preferenze, puoi limitare gli utenti dalla modifica delle fatture finalizzate.\"},estimates:{title:\"Preventivi\",estimate_number_format:\"Formato del Numero di Serie\",estimate_number_format_description:\"Personalizza il modo in cui il numero di fattura viene generato automaticamente quando crei una nuova fattura.\",preview_estimate_number:\"Anteprima Numero Preventivo\",expiry_date:\"Data di scadenza\",expiry_date_description:\"Specificare come la data di scadenza viene impostata automaticamente quando si crea una fattura.\",expiry_date_days:\"Stima Scade dopo giorni\",set_expiry_date_automatically:\"Imposta Data Di Scadenza Automaticamente\",set_expiry_date_automatically_description:\"Abilita questa opzione se vuoi impostare automaticamente la data di scadenza quando crei una nuova fattura.\",default_formats:\"Formato predefinito\",default_formats_description:\"Sotto i formati dati vengono utilizzati per riempire automaticamente i campi alla creazione della fattura.\",default_estimate_email_body:\"Corpo Email Preventivo Predefinito\",company_address_format:\"Formato Indirizzo Azienda\",shipping_address_format:\"Formato Indirizzo Spedizione\",billing_address_format:\"Formato Indirizzo Fatturazione\",estimate_email_attachment:\"Invia stime come allegati\",estimate_email_attachment_setting_description:\"Abilita questa opzione se vuoi inviare fatture come allegati email. Si prega di notare che il pulsante 'Visualizza fattura' nelle email non verr\\xE0 pi\\xF9 visualizzato quando ci\\xF2 viene abilitato.\",estimate_settings_updated:\"Impostazioni preventivi aggiornate con successo\",convert_estimate_options:\"Preventivo Converti Azione\",convert_estimate_description:\"Specificare cosa succede al preventivo dopo che viene convertito in una fattura.\",no_action:\"Nessuna azione\",delete_estimate:\"Elimina preventivo\",mark_estimate_as_accepted:\"Segna preventivo come accettato\"},payments:{title:\"Pagamenti\",payment_number_format:\"Formato Numero Pagamento\",payment_number_format_description:\"Personalizza il modo in cui il numero di fattura viene generato automaticamente quando crei una nuova fattura.\",preview_payment_number:\"Anteprima Numero Di Pagamento\",default_formats:\"Formato predefinito\",default_formats_description:\"Sotto i formati dati vengono utilizzati per riempire automaticamente i campi alla creazione della fattura.\",default_payment_email_body:\"Corpo Email Pagamento Predefinito\",company_address_format:\"Formato Indirizzo Azienda\",from_customer_address_format:\"Dal Formato Indirizzo Cliente\",payment_email_attachment:\"Invia stime come allegati\",payment_email_attachment_setting_description:\"Abilita questa opzione se vuoi inviare fatture come allegati email. Si prega di notare che il pulsante 'Visualizza fattura' nelle email non verr\\xE0 pi\\xF9 visualizzato quando ci\\xF2 viene abilitato.\",payment_settings_updated:\"Impostazioni di pagamento aggiornate con successo\"},items:{title:\"Commesse\",units:\"unit\\xE0\",add_item_unit:\"Aggiungi Unit\\xE0 Item\",edit_item_unit:\"Modifica unit\\xE0 articolo\",unit_name:\"Nome\",item_unit_added:\"Unit\\xE0 aggiunta\",item_unit_updated:\"Unit\\xE0 aggiornata\",item_unit_confirm_delete:\"Non potrai ripristinare questa unit\\xE0 Item\",already_in_use:\"Unit\\xE0 Item gi\\xE0 in uso\",deleted_message:\"Unit\\xE0 item eliminata con successo\"},notes:{title:\"Note\",description:\"Risparmia tempo creando note e riutilizzandole sulle tue fatture, preventivi e pagamenti.\",notes:\"Note\",type:\"genere\",add_note:\"Aggiungi Nota\",add_new_note:\"Aggiungi nuova nota\",name:\"Nome\",edit_note:\"Modifica nota\",note_added:\"Nota aggiunta correttamente\",note_updated:\"Nota aggiornata correttamente\",note_confirm_delete:\"Non sar\\xE0 possibile recuperare questa nota\",already_in_use:\"Nota gi\\xE0 in uso\",deleted_message:\"Nota eliminata con successo\"}},account_settings:{profile_picture:\"Immagine profilo\",name:\"Nome\",email:\"Email\",password:\"Password\",confirm_password:\"Conferma Password\",account_settings:\"Impostazioni Account\",save:\"Salva\",section_description:\"Puoi aggiornare nome email e password utilizzando il form qui sotto.\",updated_message:\"Impostazioni account aggiornate con successo\"},user_profile:{name:\"Nome\",email:\"Email\",password:\"Password\",confirm_password:\"Conferma Password\"},notification:{title:\"Notifica\",email:\"Invia notifiche a\",description:\"Quali notifiche email vorresti ricevere quando qualcosa cambia?\",invoice_viewed:\"Fattura visualizzata\",invoice_viewed_desc:\"Quando il cliente visualizza la fattura inviata via dashboard applicazione.\",estimate_viewed:\"Preventivo visualizzato\",estimate_viewed_desc:\"Quando il cliente visualizza il preventivo inviato dall'applicazione.\",save:\"Salva\",email_save_message:\"Email salvata con successo\",please_enter_email:\"Inserisci Email\"},roles:{title:\"Ruoli\",description:\"Gestisci i ruoli e i permessi di questa azienda\",save:\"Salva\",add_new_role:\"Aggiungi Nuovo Ruolo\",role_name:\"Nome Ruolo\",added_on:\"Aggiunto il\",add_role:\"Aggiungi Ruolo\",edit_role:\"Modifica Ruolo\",name:\"Nome\",permission:\"Permesso | Permessi\",select_all:\"Seleziona tutto\",none:\"Nessuno\",confirm_delete:\"Non sarai in grado di recuperare questo ruolo\",created_message:\"Utente creato correttamente\",updated_message:\"Ruolo aggiornato correttamente\",deleted_message:\"Ruolo eliminato con successo\",already_in_use:\"Ruolo gi\\xE0 in uso\"},exchange_rate:{exchange_rate:\"Tasso di cambio\",title:\"Correggi i problemi di cambio valuta\",description:\"Inserisci il tasso di cambio di tutte le valute menzionate di seguito per aiutare il Cratere a calcolare correttamente gli importi in {currency}.\",drivers:\"Drivers\",new_driver:\"Aggiungi Nuovo Fornitore\",edit_driver:\"Modifica Fornitore\",select_driver:\"Seleziona Driver\",update:\"seleziona il tasso di cambio \",providers_description:\"Configura qui i tuoi fornitori di tassi di cambio per recuperare automaticamente l'ultimo tasso di cambio sulle transazioni.\",key:\"Chiave API\",name:\"Nome\",driver:\"Driver\",is_default:\"\\xC9 PREDEFINITO\",currency:\"Valute\",exchange_rate_confirm_delete:\"Non sar\\xE0 possibile recuperare questo driver\",created_message:\"Fornitore creato con successo\",updated_message:\"Provider Aggiornato Con Successo\",deleted_message:\"Provider Eliminato Con Successo\",error:\" Impossibile Eliminare Il Driver Attivo\",default_currency_error:\"Questa valuta \\xE8 gi\\xE0 utilizzata in uno dei Provider Attivi\",exchange_help_text:\"Inserisci il tasso di cambio da {currency} a {baseCurrency}\",currency_freak:\"Valuta Freak\",currency_layer:\"Livello Valuta\",open_exchange_rate:\"Tasso Di Cambio Aperto\",currency_converter:\"Convertitore Valuta\",server:\"Server\",url:\"Indirizzo\",active:\"Attivo\",currency_help_text:\"Questo provider sar\\xE0 utilizzato solo sulle valute sopra selezionate\",currency_in_used:\"Le seguenti valute sono gi\\xE0 attive su un altro provider. Si prega di rimuovere queste valute dalla selezione per attivare nuovamente questo provider.\"},tax_types:{title:\"Tipi di Imposte\",add_tax:\"Aggiungi Imposta\",edit_tax:\"Modifica imposta\",description:\"Puoi aggiongere e rimuovere imposte a piacimento. Vengono supportate Tasse differenti per prodotti/servizi specifici esattamento come per le fatture.\",add_new_tax:\"Aggiungi nuova imposta\",tax_settings:\"Impostazioni Imposte\",tax_per_item:\"Tassa per prodotto/servizio\",tax_name:\"Nome imposta\",compound_tax:\"Imposta composta\",percent:\"Percento\",action:\"Azione\",tax_setting_description:\"Abilita se vuoi aggiungere imposte specifiche per prodotti o servizi. Di default le imposte sono aggiunte direttamente alla fattura.\",created_message:\"Tipo di imposta creato con successo\",updated_message:\"Tipo di imposta aggiornato con successo\",deleted_message:\"Tipo di imposta eliminato con successo\",confirm_delete:\"Non potrai ripristinare questo tipo di imposta\",already_in_use:\"Imposta gi\\xE0 in uso\"},payment_modes:{title:\"Modalit\\xE0 di pagamento\",description:\"Modalit\\xE0 di transazione per i pagamenti\",add_payment_mode:\"Aggiungi modalit\\xE0 di pagamento\",edit_payment_mode:\"Modifica modalit\\xE0 di pagamento\",mode_name:\"Nome modalit\\xE0\",payment_mode_added:\"Modalit\\xE0 di pagamento aggiunta\",payment_mode_updated:\"Modalit\\xE0 di pagamento aggiornata\",payment_mode_confirm_delete:\"Non potrai ripristinare la modalit\\xE0 di pagamento\",payments_attached:\"Questo metodo di pagamento \\xE8 gi\\xE0 allegato ai pagamenti. Si prega di eliminare i pagamenti allegati per procedere con la cancellazione.\",expenses_attached:\"Questo metodo di pagamento \\xE8 gi\\xE0 allegato alle spese. Si prega di eliminare le spese allegate per procedere alla cancellazione.\",deleted_message:\"Modalit\\xE0 di pagamento eliminata con successo\"},expense_category:{title:\"Categorie di spesa\",action:\"Azione\",description:\"Le categorie sono necessarie per aggiungere delle voci di spesa. Puoi aggiungere o eliminare queste categorie in base alle tue preferenze.\",add_new_category:\"Aggiungi nuova categoria\",add_category:\"Aggiungi categoria\",edit_category:\"Modifica categoria\",category_name:\"Nome Categoria\",category_description:\"Descrizione\",created_message:\"Categoria di spesa creata con successo\",deleted_message:\"Categoria di spesa eliminata con successo\",updated_message:\"Categoria di spesa aggiornata con successo\",confirm_delete:\"Non potrai ripristinare questa categoria di spesa\",already_in_use:\"Categoria gi\\xE0 in uso\"},preferences:{currency:\"Val\\xF9ta\",default_language:\"Lingua predefinita\",time_zone:\"Fuso Orario\",fiscal_year:\"Anno finanziario\",date_format:\"Formato Data\",discount_setting:\"Impostazione Sconto\",discount_per_item:\"Sconto Per Item \",discount_setting_description:\"Abilita se vuoi aggiungere uno sconto ad uno specifica fattura. Di default, lo sconto \\xE8 aggiunto direttamente in fattura.\",expire_public_links:\"Scadenza Automatica dei Link Pubblici\",expire_setting_description:\"Specifica se si vuole far scadere tutti i link inviati dall'applicazione per visualizzare fatture, preventivi e pagamenti, ecc. dopo una durata specificata.\",save:\"Salva\",preference:\"Preferenza | Preferenze\",general_settings:\"Impostazioni di default del sistema.\",updated_message:\"Preferenze aggiornate con successo\",select_language:\"seleziona lingua\",select_time_zone:\"Seleziona Time Zone\",select_date_format:\"Seleziona Formato Data\",select_financial_year:\"Seleziona anno finanziario\",recurring_invoice_status:\"Stato Fattura Ricorrente\",create_status:\"Crea stato\",active:\"Attivo\",on_hold:\"In sospeso\",update_status:\"Aggiorna stato\",completed:\"Completato\",company_currency_unchangeable:\"La valuta dell'azienda non pu\\xF2 essere cambiata\"},update_app:{title:\"Aggiorna App\",description:\"Puoi facilmente aggiornare l'app. Aggiorna cliccando sul bottone qui sotto\",check_update:\"Controllo aggiornamenti\",avail_update:\"Aggiornamento disponibile\",next_version:\"Versione successiva\",requirements:\"Requisiti\",update:\"Aggiorna ora\",update_progress:\"Aggiornamento in corso...\",progress_text:\"Sar\\xE0 necessario qualche minuto. Per favore non aggiornare la pagina e non chiudere la finestra prima che l'aggiornamento sia completato\",update_success:\"L'App \\xE8 aggiornata! Attendi che la pagina venga ricaricata automaticamente.\",latest_message:\"Nessun aggiornamneto disponibile! Sei gi\\xE0 alla versione pi\\xF9 recente.\",current_version:\"Versione corrente\",download_zip_file:\"Scarica il file ZIP\",unzipping_package:\"Pacchetto di decompressione\",copying_files:\"Copia dei file\",deleting_files:\"Eliminazione dei file inutilizzati\",running_migrations:\"Esecuzione delle migrazioni\",finishing_update:\"Aggiornamento di finitura\",update_failed:\"Aggiornamento non riuscito\",update_failed_text:\"Scusate! L'aggiornamento non \\xE8 riuscito il: passaggio {step}\",update_warning:\"Tutti i file dell'applicazione e i file di modello predefiniti verranno sovrascritti quando si aggiorna l'applicazione utilizzando questa utility. Si prega di fare un backup dei modelli e del database prima di aggiornare.\"},backup:{title:\"Backup | Backups\",description:\"Il backup \\xE8 un file zip che contiene tutti i file nelle cartelle specificate con un dump del vostro database\",new_backup:\"Nuovo Backup\",create_backup:\"Crea Backup\",select_backup_type:\"Scegli tipo di backup\",backup_confirm_delete:\"Non sar\\xE0 possibile recuperare questo backup\",path:\"percorso\",new_disk:\"Nuovo Disco\",created_at:\"creato il\",size:\"dimensioni\",dropbox:\"dropbox\",local:\"locale\",healthy:\"sano\",amount_of_backups:\"quantit\\xE0 di backup\",newest_backups:\"backup pi\\xF9 recenti\",used_storage:\"spazio utilizzato\",select_disk:\"Seleziona Disco\",action:\"Azione\",deleted_message:\"Backup eliminato con successo\",created_message:\"Backup creato con successo\",invalid_disk_credentials:\"Credenziali del disco selezionato non valide\"},disk:{title:\"Disco File | Dischi File\",description:\"Per impostazione predefinita, Crater utilizzer\\xE0 il disco locale per salvare backup, avatar e altri file di immagine. Puoi configurare pi\\xF9 di un driver disco come DigitalOcean, S3 e Dropbox in base alle tue preferenze.\",created_at:\"creato il\",dropbox:\"dropbox\",name:\"Nome\",driver:\"Driver\",disk_type:\"genere\",disk_name:\"Nome Disco\",new_disk:\"Aggiungi Nuovo Disco\",filesystem_driver:\"Driver Filesystem\",local_driver:\"driver locale\",local_root:\"radice locale\",public_driver:\"Driver Pubblico\",public_root:\"Root Pubblica\",public_url:\"Url Pubblico\",public_visibility:\"Visibilit\\xE0 Pubblica\",media_driver:\"Driver Media\",media_root:\"Media Root\",aws_driver:\"Driver AWS\",aws_key:\"Chiave AWS\",aws_secret:\"Segreto AWS\",aws_region:\"Regione AWS\",aws_bucket:\"Bucket AWS\",aws_root:\"Root AWS\",do_spaces_type:\"tipo Do Spaces\",do_spaces_key:\"chiave Do Spaces\",do_spaces_secret:\"segreto Do Spaces\",do_spaces_region:\"regione Do Spaces\",do_spaces_bucket:\"bucket Do Spaces\",do_spaces_endpoint:\"endpoint Do Spaces\",do_spaces_root:\"root Do Spaces\",dropbox_type:\"Tipo Dropbox\",dropbox_token:\"Token Dropbox\",dropbox_key:\"Chiave Dropbox\",dropbox_secret:\"Segreto Dropbox\",dropbox_app:\"App Dropbox\",dropbox_root:\"Root Dropbox\",default_driver:\"Driver Predefinito\",is_default:\"\\xC8 DEFAULT\",set_default_disk:\"Imposta Disco Predefinito\",set_default_disk_confirm:\"Questo disco sar\\xE0 impostato come predefinito e tutti i nuovi PDF saranno salvati su questo disco\",success_set_default_disk:\"Disco impostato come predefinito correttamente\",save_pdf_to_disk:\"Salva i PDF su disco\",disk_setting_description:\" Abilita questa opzione, se vuoi salvare automaticamente una copia di ogni PDF Fattura, Preventivo e Ricevuta di Pagamento sul tuo disco predefinito. Attivare questa opzione diminuir\\xE0 il tempo di caricamento durante la visualizzazione dei PDF.\",select_disk:\"Seleziona Disco\",disk_settings:\"Impostazioni Disco\",confirm_delete:\"I file e le cartelle esistenti nel disco specificato non saranno toccati, ma la configurazione del disco sar\\xE0 eliminata dal Crater\",action:\"Azione\",edit_file_disk:\"Modifica Disco File\",success_create:\"Disco aggiunto correttamente\",success_update:\"Disco aggiornato correttamente\",error:\"Aggiunta del disco fallita\",deleted_message:\"Disco file eliminato con successo\",disk_variables_save_successfully:\"Disco Configurato Con successo\",disk_variables_save_error:\"Configurazione disco fallita.\",invalid_disk_credentials:\"Credenziali del disco selezionato non valide\"},taxations:{add_billing_address:\"Inserisci l'indirizzo di Fatturazione\",add_shipping_address:\"Inserisci l'indirizzo di Spedizione\",add_company_address:\"Inserisci l'indirizzo aziendale\",modal_description:\"Le informazioni di seguito sono richieste per recuperare l'imposta sulle vendite.\",add_address:\"Aggiungi indirizzo per recuperare l'imposta sulle vendite.\",address_placeholder:\"Esempio: Via Garibaldi, 123\",city_placeholder:\"Esempio: Roma\",state_placeholder:\"Esempio: RM\",zip_placeholder:\"Esempio: 00100\",invalid_address:\"Fornisci un indirizzo valido.\"}},Qm={account_info:\"Informazioni Account\",account_info_desc:\"I dettagli qui sotto verranno usati per creare l'account principale dell'Amministratore. Puoi modificarli in qualsiasi momento dopo esserti loggato come Amministratore.\",name:\"Nome\",email:\"Email\",password:\"Password\",confirm_password:\"Conferma Password\",save_cont:\"Salva & Continua\",company_info:\"Informazioni Azienda\",company_info_desc:\"Questa informazione verr\\xE0 mostrata nelle fatture. Puoi modificare queste informazione in un momento successivo dalla pagina delle impostazioni.\",company_name:\"Nome Azienda\",company_logo:\"Logo Azienda\",logo_preview:\"Anteprima Logo\",preferences:\"Impostazioni\",preferences_desc:\"Impostazioni di default del sistema.\",currency_set_alert:\"La valuta dell'azienda non pu\\xF2 essere modificata pi\\xF9 tardi.\",country:\"Paese\",state:\"Provincia\",city:\"Citt\\xE0\",address:\"Indirizzo\",street:\"Indirizzo1 | Indirizzo2\",phone:\"Telefono\",zip_code:\"CAP/Zip Code\",go_back:\"Torna indietro\",currency:\"Val\\xF9ta\",language:\"Lingua\",time_zone:\"Fuso Orario\",fiscal_year:\"Anno Finanziario\",date_format:\"Formato Date\",from_address:\"Indirizzo - Da\",username:\"Nome utente\",next:\"Successivo\",continue:\"Continua\",skip:\"Salta\",database:{database:\"URL del sito & database\",connection:\"Connessione Database\",host:\"Host Database\",port:\"Database - Porta\",password:\"Password Database\",app_url:\"URL dell'App\",app_domain:\"Dominio App\",username:\"Nome Utente del Database\",db_name:\"Database Nome\",db_path:\"Percorso del database\",desc:\"Crea un database sul tuo server e setta le credenziali usando il form qui sotto.\"},permissions:{permissions:\"Permessi\",permission_confirm_title:\"Sei sicuro di voler continuare?\",permission_confirm_desc:\"Controllo sui permessi Cartelle, fallito\",permission_desc:\"Qui sotto la lista dei permessi richiesti per far funzionare correttamente l'App. Se il controllo dei permessi fallisce, assicurati di aggiornare/modificare i permessi sulle cartelle.\"},verify_domain:{title:\"Verifica Dominio\",desc:\"Crater utilizza l'autenticazione basata su sessione, che richiede la verifica del dominio per scopi di sicurezza. Inserisci il dominio su cui accederai alla tua applicazione web.\",app_domain:\"Dominio App\",verify_now:\"Verifica Ora\",success:\"Dominio Verificato Con Successo.\",failed:\"Verifica del dominio fallita. Inserisci un nome di dominio valido.\",verify_and_continue:\"Verifica e continua\"},mail:{host:\"Host Mail\",port:\"Mail - Porta\",driver:\"Driver Mail\",secret:\"Segreto\",mailgun_secret:\"Segreto Mailgun\",mailgun_domain:\"Dominio\",mailgun_endpoint:\"Endpoint Mailgun\",ses_secret:\"Segreto SES\",ses_key:\"Chiave SES\",password:\"Password Email\",username:\"Nome Utente Email\",mail_config:\"Configurazione Mail\",from_name:\"Nome mittente mail\",from_mail:\"Indirizzo mittente mail\",encryption:\"Tipo di cifratura Mail\",mail_config_desc:\"Form per configurazione del 'driver mail' per inviare emails dall'App. Puoi anche configurare servizi di terze parti come Sendgrid, SES, ecc..\"},req:{system_req:\"Requisiti di Sistema\",php_req_version:\"Php (versione {version} richiesta)\",check_req:\"Controllo Requisiti\",system_req_desc:\"Crater ha alcuni requisiti di sistema. Assicurati che il server ha la versione di php richiesta e tutte le estensioni necessarie.\"},errors:{migrate_failed:\"Migrazione Fallita\",database_variables_save_error:\"Impossibile scrivere la configurazione nel file .env. Si prega di controllare i permessi dei file\",mail_variables_save_error:\"Configurazione email fallita.\",connection_failed:\"Connessione al Database fallita\",database_should_be_empty:\"Il database dovrebbe essere vuoto\"},success:{mail_variables_save_successfully:\"Email configurata con successo\",database_variables_save_successfully:\"Database configurato con successo.\"}},Xm={invalid_phone:\"Numero di telefono invalido\",invalid_url:\"URL non valido (es: http://www.crater.com)\",invalid_domain_url:\"URL non valido (es: crater.com)\",required:\"Campo obbligatorio\",email_incorrect:\"Email non corretta.\",email_already_taken:\"Email gi\\xE0 in uso.\",email_does_not_exist:\"L'utente con questa email non esiste\",item_unit_already_taken:\"Questo nome item \\xE8 gi\\xE0 utilizzato\",payment_mode_already_taken:\"Questa modalit\\xE0 di pagamento \\xE8 gi\\xE0 stata inserita.\",send_reset_link:\"Invia Link di Reset\",not_yet:\"Non ancora? Invia di nuovo\",password_min_length:\"La password deve contenere {count} caratteri\",name_min_length:\"Il nome deve avere almeno {count} lettere.\",prefix_min_length:\"Il prefisso deve contenere almeno {count} lettere.\",enter_valid_tax_rate:\"Inserisci un tasso di imposta valido\",numbers_only:\"Solo numeri.\",characters_only:\"Solo caratteri.\",password_incorrect:\"La Password deve essere identica\",password_length:\"La password deve essere lunga {count} caratteri.\",qty_must_greater_than_zero:\"La quantit\\xE0 deve essere maggiore di zero.\",price_greater_than_zero:\"Il prezzo deve essere maggiore di zero.\",payment_greater_than_zero:\"Il pagamento deve essere maggiore di zero.\",payment_greater_than_due_amount:\"Il pagamento inserito \\xE8 maggiore di quello indicato in fattura.\",quantity_maxlength:\"La Quantit\\xE0 non pu\\xF2 essere maggiore di 20 cifre.\",price_maxlength:\"Il prezzo non pu\\xF2 contenere pi\\xF9 di 20 cifre.\",price_minvalue:\"Il prezzo deve essere maggiore di 0.\",amount_maxlength:\"La somma non deve contenere pi\\xF9 di 20 cifre.\",amount_minvalue:\"La somma deve essere maggiore di 0.\",discount_maxlength:\"Lo sconto non deve essere superiore allo sconto massimo\",description_maxlength:\"La Descrizione non deve superare i 255 caratteri.\",subject_maxlength:\"L'Oggetto non deve superare i 100 caratter.\",message_maxlength:\"Il messaggio non pu\\xF2 superare i 255 caratteri.\",maximum_options_error:\"Massimo di {max} opzioni selezionate. Per selezionare un'altra opzione deseleziona prima una opzione.\",notes_maxlength:\"Le note non possono superare i 255 caratteri.\",address_maxlength:\"L'Indirizzo non pu\\xF2 eccedere i 255 caratteri.\",ref_number_maxlength:\"Il Numero di Riferimento non pu\\xF2 superare i 255 caratteri.\",prefix_maxlength:\"Il Prefisso non pu\\xF2 superare i 5 caratteri.\",something_went_wrong:\"Si \\xE8 verificato un errore\",number_length_minvalue:\"La lunghezza del numero deve essere maggiore di 0\",at_least_one_ability:\"Seleziona almeno un permesso.\",valid_driver_key:\"Inserisci una chiave {driver} valida.\",valid_exchange_rate:\"Inserisci un tasso di cambio valido.\",company_name_not_same:\"Il nome dell'azienda deve corrispondere al nome indicato.\"},ep={starter_plan:\"Questa funzione \\xE8 disponibile dal piano Starter, in poi!\",invalid_provider_key:\"Inserisci una API Key valida per il Fornitore.\",estimate_number_used:\"Il numero stimato \\xE8 gi\\xE0 stato preso.\",invoice_number_used:\"Il numero della fattura \\xE8 gi\\xE0 stato utilizzato.\",payment_attached:\"Una delle fatture selezionate ha gi\\xE0 associato un pagamento. Assicurati di eliminare il pagamento associato prima di procedere con la rimozione.\",payment_number_used:\"Questa modalit\\xE0 di pagamento \\xE8 gi\\xE0 stata inserita.\",name_already_taken:\"Questo Nome esiste gi\\xE1.\",receipt_does_not_exist:\"La ricevuta non esiste.\",customer_cannot_be_changed_after_payment_is_added:\"Il cliente non pu\\xF2 essere modificato dopo aver aggiunto il pagamento\",invalid_credentials:\"Credenziali non valide\",not_allowed:\"Non Consentito\",login_invalid_credentials:\"Queste credenziali non corrispondono ai nostri record.\",enter_valid_cron_format:\"Inserisci un formato cron valido\",email_could_not_be_sent:\"Impossibile inviare l'email a questo indirizzo email.\",invalid_address:\"Inserisci un indirizzo valido.\",invalid_key:\"Inserisci una chiave valida.\",invalid_state:\"Inserisci una provincia valida.\",invalid_city:\"Inserisci una citt\\xE0 valida.\",invalid_postal_code:\"Inserisci un CAP valido.\",invalid_format:\"Inserisci un formato di query string valido.\",api_error:\"Il server non risponde.\",feature_not_enabled:\"Funzionalit\\xE0 non abilitata.\",request_limit_met:\"Limite richiesta API superato.\",address_incomplete:\"Indirizzo incompleto\"},tp=\"Preventivo\",ap=\"Preventivo Numero\",np=\"Data preventivo\",ip=\"Data di scadenza\",op=\"Fattura\",sp=\"Numero Fattura\",rp=\"Data fattura\",dp=\"Data di pagamento\",lp=\"Note\",cp=\"Commesse\",_p=\"Quantit\\xE0\",up=\"Prezzo\",mp=\"Sconto\",pp=\"Ammontare\",fp=\"Parziale\",gp=\"Totale\",vp=\"Pagamento\",yp=\"RICEVUTA DI PAGAMENTO\",hp=\"Data di pagamento\",bp=\"Numero di pagamento\",kp=\"Modalit\\xE0 di Pagamento\",wp=\"Importo Ricevuto\",zp=\"RELAZIONE SPESE\",xp=\"TOTALE SPESE\",Pp=\"RELAZIONE PROFITTO E PERDITE\",Sp=\"Report Vendite Clienti\",jp=\"Rapporto vendite\",Ap=\"Rapporto Riepilogo Tasse\",Dp=\"REDDITO\",Cp=\"PROFITTO NETTO\",Np=\"Relazione Vendite: Per Cliente\",Ep=\"TOTALE VENDITE\",Ip=\"Relazione Vendite: Per Articolo\",Tp=\"RELAZIONE FISCALE\",Rp=\"TOTALE IMPOSTA\",Mp=\"Tipi di Imposta\",Fp=\"Uscite\",$p=\"Fattura a,\",Up=\"Invia a,\",Vp=\"Ricevuto da:\",Op=\"Tassa\";var Lp={navigation:Im,general:Tm,dashboard:Rm,tax_types:Mm,global_search:Fm,company_switcher:$m,dateRange:Um,customers:Vm,items:Om,estimates:Lm,invoices:qm,recurring_invoices:Bm,payments:Km,expenses:Zm,login:Wm,modules:Hm,users:Ym,reports:Gm,settings:Jm,wizard:Qm,validation:Xm,errors:ep,pdf_estimate_label:tp,pdf_estimate_number:ap,pdf_estimate_date:np,pdf_estimate_expire_date:ip,pdf_invoice_label:op,pdf_invoice_number:sp,pdf_invoice_date:rp,pdf_invoice_due_date:dp,pdf_notes:lp,pdf_items_label:cp,pdf_quantity_label:_p,pdf_price_label:up,pdf_discount_label:mp,pdf_amount_label:pp,pdf_subtotal:fp,pdf_total:gp,pdf_payment_label:vp,pdf_payment_receipt_label:yp,pdf_payment_date:hp,pdf_payment_number:bp,pdf_payment_mode:kp,pdf_payment_amount_received_label:wp,pdf_expense_report_label:zp,pdf_total_expenses_label:xp,pdf_profit_loss_label:Pp,pdf_sales_customers_label:Sp,pdf_sales_items_label:jp,pdf_tax_summery_label:Ap,pdf_income_label:Dp,pdf_net_profit_label:Cp,pdf_customer_sales_report:Np,pdf_total_sales_label:Ep,pdf_item_sales_label:Ip,pdf_tax_report_label:Tp,pdf_total_tax_label:Rp,pdf_tax_types_label:Mp,pdf_expenses_label:Fp,pdf_bill_to:$p,pdf_ship_to:Up,pdf_received_from:Vp,pdf_tax_label:Op};const qp={dashboard:\"Komandna tabla\",customers:\"Klijenti\",items:\"Stavke\",invoices:\"Fakture\",\"recurring-invoices\":\"Recurring Invoices\",expenses:\"Rashodi\",estimates:\"Profakture\",payments:\"Uplate\",reports:\"Izve\\u0161taji\",settings:\"Pode\\u0161avanja\",logout:\"Odjavi se\",users:\"Korisnici\",modules:\"Modules\"},Bp={add_company:\"Dodaj kompaniju\",view_pdf:\"Pogledaj PDF\",copy_pdf_url:\"Kopiraj PDF link\",download_pdf:\"Preuzmi PDF\",save:\"Sa\\u010Duvaj\",create:\"Napravi\",cancel:\"Otka\\u017Ei\",update:\"A\\u017Euriraj\",deselect:\"Poni\\u0161ti izbor\",download:\"Preuzmi\",from_date:\"Od Datuma\",to_date:\"Do Datuma\",from:\"Po\\u0161iljalac\",to:\"Primalac\",ok:\"Ok\",yes:\"Yes\",no:\"No\",sort_by:\"Rasporedi Po\",ascending:\"Rastu\\u0107e\",descending:\"Opadaju\\u0107e\",subject:\"Predmet\",body:\"Telo\",message:\"Poruka\",send:\"Po\\u0161alji\",preview:\"Preview\",go_back:\"Idi nazad\",back_to_login:\"Nazad na prijavu?\",home:\"Po\\u010Detna\",filter:\"Filter\",delete:\"Obri\\u0161i\",edit:\"Izmeni\",view:\"Pogledaj\",add_new_item:\"Dodaj novu stavku\",clear_all:\"Izbri\\u0161i sve\",showing:\"Prikazivanje\",of:\"od\",actions:\"Akcije\",subtotal:\"UKUPNO\",discount:\"POPUST\",fixed:\"Fiksno\",percentage:\"Procenat\",tax:\"POREZ\",total_amount:\"UKUPAN IZNOS\",bill_to:\"Ra\\u010Dun za\",ship_to:\"Isporu\\u010Diti za\",due:\"Du\\u017Ean\",draft:\"U izradi\",sent:\"Poslato\",all:\"Sve\",select_all:\"Izaberi sve\",select_template:\"Select Template\",choose_file:\"Klikni ovde da izabere\\u0161 fajl\",choose_template:\"Izaberi \\u0161ablon\",choose:\"Izaberi\",remove:\"Ukloni\",select_a_status:\"Izaberi status\",select_a_tax:\"Izaberi porez\",search:\"Pretraga\",are_you_sure:\"Da li ste sigurni?\",list_is_empty:\"Lista je prazna.\",no_tax_found:\"Porez nije prona\\u0111en!\",four_zero_four:\"404\",you_got_lost:\"Ups! Izgubio si se!\",go_home:\"Idi na po\\u010Detnu stranicu\",test_mail_conf:\"Testiraj pode\\u0161avanje Po\\u0161te\",send_mail_successfully:\"Po\\u0161ta uspe\\u0161no poslata\",setting_updated:\"Pode\\u0161avanje uspe\\u0161no a\\u017Eurirano\",select_state:\"Odaberi saveznu dr\\u017Eavu\",select_country:\"Odaberi dr\\u017Eavu\",select_city:\"Odaberi grad\",street_1:\"Adresa 1\",street_2:\"Adresa 2\",action_failed:\"Akcija nije uspela\",retry:\"Poku\\u0161aj ponovo\",choose_note:\"Odaberi napomenu\",no_note_found:\"Ne postoje sa\\u010Duvane napomene\",insert_note:\"Unesi bele\\u0161ku\",copied_pdf_url_clipboard:\"Link do PDF fajla kopiran!\",copied_url_clipboard:\"Copied url to clipboard!\",docs:\"Docs\",do_you_wish_to_continue:\"Do you wish to continue?\",note:\"Note\",pay_invoice:\"Pay Invoice\",login_successfully:\"Logged in successfully!\",logged_out_successfully:\"Logged out successfully\",mark_as_default:\"Mark as default\"},Kp={select_year:\"Odaberi godinu\",cards:{due_amount:\"Du\\u017Ean iznos\",customers:\"Klijenti\",invoices:\"Fakture\",estimates:\"Profakture\",payments:\"Payments\"},chart_info:{total_sales:\"Prodaja\",total_receipts:\"Ra\\u010Duni\",total_expense:\"Rashodi\",net_income:\"Prihod NETO\",year:\"Odaberi godinu\"},monthly_chart:{title:\"Prodaja & Rashodi\"},recent_invoices_card:{title:\"Dospele fakture\",due_on:\"Datum dospevanja\",customer:\"Klijent\",amount_due:\"Iznos dospe\\u0107a\",actions:\"Akcije\",view_all:\"Pogledaj sve\"},recent_estimate_card:{title:\"Nedavne profakture\",date:\"Datum\",customer:\"Klijent\",amount_due:\"Iznos dospe\\u0107a\",actions:\"Akcije\",view_all:\"Pogledaj sve\"}},Zp={name:\"Naziv\",description:\"Opis\",percent:\"Procenat\",compound_tax:\"Slo\\u017Eeni porez\"},Wp={search:\"Pretraga...\",customers:\"Klijenti\",users:\"Korisnici\",no_results_found:\"Nema rezultata\"},Hp={label:\"SWITCH COMPANY\",no_results_found:\"No Results Found\",add_new_company:\"Add new company\",new_company:\"New company\",created_message:\"Company created successfully\"},Yp={today:\"Today\",this_week:\"This Week\",this_month:\"This Month\",this_quarter:\"This Quarter\",this_year:\"This Year\",previous_week:\"Previous Week\",previous_month:\"Previous Month\",previous_quarter:\"Previous Quarter\",previous_year:\"Previous Year\",custom:\"Custom\"},Gp={title:\"Klijenti\",prefix:\"Prefix\",add_customer:\"Dodaj Klijenta\",contacts_list:\"Lista klijenata\",name:\"Naziv\",mail:\"Mail | Mail-ovi\",statement:\"Izjava\",display_name:\"Naziv koji se prikazuje\",primary_contact_name:\"Primarna kontakt osoba\",contact_name:\"Naziv kontakt osobe\",amount_due:\"Iznos dospe\\u0107a\",email:\"E-mail\",address:\"Adresa\",phone:\"Telefon\",website:\"Veb stranica\",overview:\"Pregled\",invoice_prefix:\"Invoice Prefix\",estimate_prefix:\"Estimate Prefix\",payment_prefix:\"Payment Prefix\",enable_portal:\"Uklju\\u010Di portal\",country:\"Dr\\u017Eava\",state:\"Savezna dr\\u017Eava\",city:\"Grad\",zip_code:\"Po\\u0161tanski broj\",added_on:\"Datum dodavanja\",action:\"Akcija\",password:\"\\u0160ifra\",confirm_password:\"Confirm Password\",street_number:\"Broj ulice\",primary_currency:\"Primarna valuta\",description:\"Opis\",add_new_customer:\"Dodaj novog klijenta\",save_customer:\"Sa\\u010Duvaj klijenta\",update_customer:\"A\\u017Euriraj klijenta\",customer:\"Klijent | Klijenti\",new_customer:\"Nov klijent\",edit_customer:\"Izmeni klijenta\",basic_info:\"Osnovne informacije\",portal_access:\"Portal Access\",portal_access_text:\"Would you like to allow this customer to login to the Customer Portal?\",portal_access_url:\"Customer Portal Login URL\",portal_access_url_help:\"Please copy & forward the above given URL to your customer for providing access.\",billing_address:\"Adresa za naplatu\",shipping_address:\"Adresa za dostavu\",copy_billing_address:\"Kopiraj iz adrese za naplatu\",no_customers:\"Jo\\u0161 uvek nema klijenata!\",no_customers_found:\"Klijenti nisu prona\\u0111eni!\",no_contact:\"Nema kontakta\",no_contact_name:\"Nema naziva kontakta\",list_of_customers:\"Ova sekcija \\u0107e da sadr\\u017Ei spisak klijenata.\",primary_display_name:\"Primarni naziv koji se prikazuje\",select_currency:\"Odaberi valutu\",select_a_customer:\"Odaberi klijenta\",type_or_click:\"Unesi tekst ili klikni da izabere\\u0161\",new_transaction:\"Nova transakcija\",no_matching_customers:\"Ne postoje klijenti koji odgovaraju pretrazi!\",phone_number:\"Broj telefona\",create_date:\"Datum kreiranja\",confirm_delete:\"Ne\\u0107e\\u0161 mo\\u0107i da povrati\\u0161 ovog klijenta i sve njegove Fakture, Profakture i Uplate. | Ne\\u0107e\\u0161 mo\\u0107i da povrati\\u0161 ove klijente i njihove Fakture, Profakture i Uplate.\",created_message:\"Klijent uspe\\u0161no kreiran\",updated_message:\"Klijent uspe\\u0161no a\\u017Euriran\",address_updated_message:\"Address Information Updated succesfully\",deleted_message:\"Klijent uspe\\u0161no obrisan | Klijenti uspe\\u0161no obrisani\",edit_currency_not_allowed:\"Cannot change currency once transactions created.\"},Jp={title:\"Stavke\",items_list:\"Lista stavki\",name:\"Naziv\",unit:\"Jedinica\",description:\"Opis\",added_on:\"Datum dodavanja\",price:\"Cena\",date_of_creation:\"Datum kreiranja\",not_selected:\"Nije odabrana niti jedna stavka\",action:\"Akcije\",add_item:\"Dodaj Stavku\",save_item:\"Sa\\u010Duvaj Stavku\",update_item:\"A\\u017Euriraj Stavku\",item:\"Stavka | Stavke\",add_new_item:\"Dodaj novu stavku\",new_item:\"Nova stavka\",edit_item:\"Izmeni stavku\",no_items:\"Jo\\u0161 uvek nema stavki!\",list_of_items:\"Ova sekcija \\u0107e da sadr\\u017Ei spisak stavki.\",select_a_unit:\"odaberi jedinicu\",taxes:\"Porezi\",item_attached_message:\"Nije dozvoljeno brisanje stavke koje se koristi\",confirm_delete:\"Ne\\u0107e\\u0161 mo\\u0107i da povrati\\u0161 ovu Stavku | Ne\\u0107e\\u0161 mo\\u0107i da povrati\\u0161 ove Stavke\",created_message:\"Stavka uspe\\u0161no kreirana\",updated_message:\"Stavka uspe\\u0161no a\\u017Eurirana\",deleted_message:\"Stavka uspe\\u0161no obrisana | Stavke uspe\\u0161no obrisane\"},Qp={title:\"Profakture\",accept_estimate:\"Accept Estimate\",reject_estimate:\"Reject Estimate\",estimate:\"Profaktura | Profakture\",estimates_list:\"Lista profaktura\",days:\"{days} Dan\",months:\"{months} Mesec\",years:\"{years} Godina\",all:\"Sve\",paid:\"Pla\\u0107eno\",unpaid:\"Nepla\\u0107eno\",customer:\"KLIJENT\",ref_no:\"POZIV NA BROJ\",number:\"BROJ\",amount_due:\"IZNOS DOSPE\\u0106A\",partially_paid:\"Delimi\\u010Dno Pla\\u0107eno\",total:\"Ukupno za pla\\u0107anje\",discount:\"Popust\",sub_total:\"Osnovica za obra\\u010Dun PDV-a\",estimate_number:\"Broj profakture\",ref_number:\"Poziv na broj\",contact:\"Kontakt\",add_item:\"Dodaj stavku\",date:\"Datum\",due_date:\"Datum Dospe\\u0107a\",expiry_date:\"Datum Isteka\",status:\"Status\",add_tax:\"Dodaj Porez\",amount:\"Iznos\",action:\"Akcija\",notes:\"Napomena\",tax:\"Porez\",estimate_template:\"\\u0160ablon\",convert_to_invoice:\"Pretvori u Fakturu\",mark_as_sent:\"Ozna\\u010Di kao Poslato\",send_estimate:\"Po\\u0161alji Profakturu\",resend_estimate:\"Ponovo po\\u0161alji Profakturu\",record_payment:\"Unesi uplatu\",add_estimate:\"Dodaj Profakturu\",save_estimate:\"Sa\\u010Duvaj Profakturu\",confirm_conversion:\"Detalji ove Profakture \\u0107e biti iskori\\u0161\\u0107eni za pravljenje Fakture.\",conversion_message:\"Faktura uspe\\u0161no kreirana\",confirm_send_estimate:\"Ova Profaktura \\u0107e biti poslata putem Email-a klijentu\",confirm_mark_as_sent:\"Ova Profaktura \\u0107e biti ozna\\u010Dena kao Poslata\",confirm_mark_as_accepted:\"Ova Profaktura \\u0107e biti ozna\\u010Dena kao Prihva\\u0107ena\",confirm_mark_as_rejected:\"Ova Profaktura \\u0107e biti ozna\\u010Dena kao Odbijena\",no_matching_estimates:\"Ne postoji odgovaraju\\u0107a profaktura!\",mark_as_sent_successfully:\"Profaktura uspe\\u0161no ozna\\u010Dena kao Poslata\",send_estimate_successfully:\"Profaktura uspe\\u0161no poslata\",errors:{required:\"Polje je obavezno\"},accepted:\"Prihva\\u0107eno\",rejected:\"Odbijeno\",expired:\"Expired\",sent:\"Poslato\",draft:\"U izradi\",viewed:\"Viewed\",declined:\"Odbijeno\",new_estimate:\"Nova Profaktura\",add_new_estimate:\"Dodaj novu Profakturu\",update_Estimate:\"A\\u017Euriraj Profakturu\",edit_estimate:\"Izmeni Profakturu\",items:\"stavke\",Estimate:\"Profaktura | Profakture\",add_new_tax:\"Dodaj nov Porez\",no_estimates:\"Jo\\u0161 uvek nema Profaktura!\",list_of_estimates:\"Ova sekcija \\u0107e da sadr\\u017Ei spisak Profaktura.\",mark_as_rejected:\"Ozna\\u010Di kao odbijeno\",mark_as_accepted:\"Ozna\\u010Di kao prihva\\u0107eno\",marked_as_accepted_message:\"Profaktura ozna\\u010Dena kao prihva\\u0107ena\",marked_as_rejected_message:\"Profaktura ozna\\u010Dena kao odbijena\",confirm_delete:\"Ne\\u0107e\\u0161 mo\\u0107i da povrati\\u0161 ovu Profakturu | Ne\\u0107e\\u0161 mo\\u0107i da povrati\\u0161 ove Profakture\",created_message:\"Profaktura uspe\\u0161no kreirana\",updated_message:\"Profaktura uspe\\u0161no a\\u017Eurirana\",deleted_message:\"Profaktura uspe\\u0161no obrisana | Profakture uspe\\u0161no obrisane\",something_went_wrong:\"ne\\u0161to je krenulo naopako\",item:{title:\"Naziv stavke\",description:\"Opis\",quantity:\"Koli\\u010Dina\",price:\"Cena\",discount:\"Popust\",total:\"Ukupno za pla\\u0107anje\",total_discount:\"Ukupan popust\",sub_total:\"Ukupno\",tax:\"Porez\",amount:\"Iznos\",select_an_item:\"Unesi tekst ili klikni da izabere\\u0161\",type_item_description:\"Unesi opis Stavke (nije obavezno)\"},mark_as_default_estimate_template_description:\"If enabled, the selected template will be automatically selected for new estimates.\"},Xp={title:\"Fakture\",download:\"Download\",pay_invoice:\"Pay Invoice\",invoices_list:\"List Faktura\",invoice_information:\"Invoice Information\",days:\"{days} dan\",months:\"{months} Mesec\",years:\"{years} Godina\",all:\"Sve\",paid:\"Pla\\u0107eno\",unpaid:\"Nepla\\u0107eno\",viewed:\"Pogledano\",overdue:\"Nepodmireno\",completed:\"Zavr\\u0161eno\",customer:\"KLIJENT\",paid_status:\"STATUS UPLATE\",ref_no:\"POZIV NA BROJ\",number:\"BROJ\",amount_due:\"IZNOS DOSPE\\u0106A\",partially_paid:\"Delimi\\u010Dno pla\\u0107eno\",total:\"Ukupno za pla\\u0107anje\",discount:\"Popust\",sub_total:\"Osnovica za obra\\u010Dun PDV-a\",invoice:\"Faktura | Fakture\",invoice_number:\"Broj Fakture\",ref_number:\"Poziv na broj\",contact:\"Kontakt\",add_item:\"Dodaj Stavku\",date:\"Datum\",due_date:\"Datum Dospe\\u0107a\",status:\"Status\",add_tax:\"Dodaj Porez\",amount:\"Iznos\",action:\"Akcija\",notes:\"Napomena\",view:\"Pogledaj\",send_invoice:\"Po\\u0161alji Fakturu\",resend_invoice:\"Ponovo po\\u0161alji Fakturu\",invoice_template:\"\\u0160ablon Fakture\",conversion_message:\"Invoice cloned successful\",template:\"\\u0160ablon\",mark_as_sent:\"Ozna\\u010Di kao Poslato\",confirm_send_invoice:\"Ova Faktura \\u0107e biti poslata putem Email-a klijentu\",invoice_mark_as_sent:\"Ova Faktura \\u0107e biti ozna\\u010Dena kao poslata\",confirm_mark_as_accepted:\"This invoice will be marked as Accepted\",confirm_mark_as_rejected:\"This invoice will be marked as Rejected\",confirm_send:\"Ova Faktura \\u0107e biti poslata putem Email-a klijentu\",invoice_date:\"Datum Fakture\",record_payment:\"Unesi Uplatu\",add_new_invoice:\"Dodaj novu Fakturu\",update_expense:\"A\\u017Euriraj Rashod\",edit_invoice:\"Izmeni Fakturu\",new_invoice:\"Nova Faktura\",save_invoice:\"Sa\\u010Duvaj Fakturu\",update_invoice:\"A\\u017Euriraj Fakturu\",add_new_tax:\"Dodaj nov Porez\",no_invoices:\"Jo\\u0161 uvek nema Faktura!\",mark_as_rejected:\"Mark as rejected\",mark_as_accepted:\"Mark as accepted\",list_of_invoices:\"Ova sekcija \\u0107e da sadr\\u017Ei spisak Faktura.\",select_invoice:\"Odaberi Fakturu\",no_matching_invoices:\"Ne postoje Fakture koje odgovaraju pretrazi!\",mark_as_sent_successfully:\"Faktura uspe\\u0161no ozna\\u010Dena kao Poslata\",invoice_sent_successfully:\"Invoice sent successfully\",cloned_successfully:\"Uspe\\u0161no napravljen duplikat Fakture\",clone_invoice:\"Napravi duplikat\",confirm_clone:\"Ova Faktura \\u0107e biti duplikat nove Fakture\",item:{title:\"Naziv Stavke\",description:\"Opis\",quantity:\"Koli\\u010Dina\",price:\"Cena\",discount:\"Popust\",total:\"Ukupno za pla\\u0107anje\",total_discount:\"Ukupan popust\",sub_total:\"Ukupno\",tax:\"Porez\",amount:\"Iznos\",select_an_item:\"Unesi tekst ili klikni da izabere\\u0161\",type_item_description:\"Unesi opis Stavke (nije obavezno)\"},payment_attached_message:\"Jedna od odabranih faktura ve\\u0107 ima uplatu povezanu sa njom. Obri\\u0161ite prvo povezane uplate da bi nastavili sa brisanjem\",confirm_delete:\"Ne\\u0107e\\u0161 mo\\u0107i da povrati\\u0161 ovu Fakturu | Ne\\u0107e\\u0161 mo\\u0107i da povrati\\u0161 ove Fakture\",created_message:\"Faktura uspe\\u0161no kreirana\",updated_message:\"Faktura uspe\\u0161no a\\u017Eurirana\",deleted_message:\"Faktura uspe\\u0161no obrisana | Fakture uspe\\u0161no obrisane\",marked_as_sent_message:\"Faktura ozna\\u010Dena kao uspe\\u0161no poslata\",something_went_wrong:\"ne\\u0161to je krenulo naopako\",invalid_due_amount_message:\"Ukupan iznos za pla\\u0107anje u fakturi ne mo\\u017Ee biti manji od iznosa uplate za ovu fakturu. Molim Vas a\\u017Eurirajte fakturu ili obri\\u0161ite uplate koje su povezane sa ovom fakturom da bi nastavili.\",mark_as_default_invoice_template_description:\"If enabled, the selected template will be automatically selected for new invoices.\"},ef={title:\"Recurring Invoices\",invoices_list:\"Recurring Invoices List\",days:\"{days} Days\",months:\"{months} Month\",years:\"{years} Year\",all:\"All\",paid:\"Paid\",unpaid:\"Unpaid\",viewed:\"Viewed\",overdue:\"Overdue\",active:\"Active\",completed:\"Completed\",customer:\"CUSTOMER\",paid_status:\"PAID STATUS\",ref_no:\"REF NO.\",number:\"NUMBER\",amount_due:\"AMOUNT DUE\",partially_paid:\"Partially Paid\",total:\"Total\",discount:\"Discount\",sub_total:\"Sub Total\",invoice:\"Recurring Invoice | Recurring Invoices\",invoice_number:\"Recurring Invoice Number\",next_invoice_date:\"Next Invoice Date\",ref_number:\"Ref Number\",contact:\"Contact\",add_item:\"Add an Item\",date:\"Date\",limit_by:\"Limit by\",limit_date:\"Limit Date\",limit_count:\"Limit Count\",count:\"Count\",status:\"Status\",select_a_status:\"Select a status\",working:\"Working\",on_hold:\"On Hold\",complete:\"Completed\",add_tax:\"Add Tax\",amount:\"Amount\",action:\"Action\",notes:\"Notes\",view:\"View\",basic_info:\"Basic Info\",send_invoice:\"Send Recurring Invoice\",auto_send:\"Auto Send\",resend_invoice:\"Resend Recurring Invoice\",invoice_template:\"Recurring Invoice Template\",conversion_message:\"Recurring Invoice cloned successful\",template:\"Template\",mark_as_sent:\"Mark as sent\",confirm_send_invoice:\"This recurring invoice will be sent via email to the customer\",invoice_mark_as_sent:\"This recurring invoice will be marked as sent\",confirm_send:\"This recurring invoice will be sent via email to the customer\",starts_at:\"Start Date\",due_date:\"Invoice Due Date\",record_payment:\"Record Payment\",add_new_invoice:\"Add New Recurring Invoice\",update_expense:\"Update Expense\",edit_invoice:\"Edit Recurring Invoice\",new_invoice:\"New Recurring Invoice\",send_automatically:\"Send Automatically\",send_automatically_desc:\"Enable this, if you would like to send the invoice automatically to the customer when its created.\",save_invoice:\"Save Recurring Invoice\",update_invoice:\"Update Recurring Invoice\",add_new_tax:\"Add New Tax\",no_invoices:\"No Recurring Invoices yet!\",mark_as_rejected:\"Mark as rejected\",mark_as_accepted:\"Mark as accepted\",list_of_invoices:\"This section will contain the list of recurring invoices.\",select_invoice:\"Select Invoice\",no_matching_invoices:\"There are no matching recurring invoices!\",mark_as_sent_successfully:\"Recurring Invoice marked as sent successfully\",invoice_sent_successfully:\"Recurring Invoice sent successfully\",cloned_successfully:\"Recurring Invoice cloned successfully\",clone_invoice:\"Clone Recurring Invoice\",confirm_clone:\"This recurring invoice will be cloned into a new Recurring Invoice\",add_customer_email:\"Please add an email address for this customer to send invoices automatically.\",item:{title:\"Item Title\",description:\"Description\",quantity:\"Quantity\",price:\"Price\",discount:\"Discount\",total:\"Total\",total_discount:\"Total Discount\",sub_total:\"Sub Total\",tax:\"Tax\",amount:\"Amount\",select_an_item:\"Type or click to select an item\",type_item_description:\"Type Item Description (optional)\"},frequency:{title:\"Frequency\",select_frequency:\"Select Frequency\",minute:\"Minute\",hour:\"Hour\",day_month:\"Day of month\",month:\"Month\",day_week:\"Day of week\"},confirm_delete:\"You will not be able to recover this Invoice | You will not be able to recover these Invoices\",created_message:\"Recurring Invoice created successfully\",updated_message:\"Recurring Invoice updated successfully\",deleted_message:\"Recurring Invoice deleted successfully | Recurring Invoices deleted successfully\",marked_as_sent_message:\"Recurring Invoice marked as sent successfully\",user_email_does_not_exist:\"User email does not exist\",something_went_wrong:\"something went wrong\",invalid_due_amount_message:\"Total Recurring Invoice amount cannot be less than total paid amount for this Recurring Invoice. Please update the invoice or delete the associated payments to continue.\"},tf={title:\"Uplate\",payments_list:\"Lista uplata\",record_payment:\"Unesi Uplatu\",customer:\"Klijent\",date:\"Datum\",amount:\"Iznos\",action:\"Akcija\",payment_number:\"Broj uplate\",payment_mode:\"Na\\u010Din pla\\u0107anja\",invoice:\"Faktura\",note:\"Napomena\",add_payment:\"Dodaj Uplatu\",new_payment:\"Nova Uplata\",edit_payment:\"Izmeni Uplatu\",view_payment:\"Vidi Uplatu\",add_new_payment:\"Dodaj Novu Uplatu\",send_payment_receipt:\"Po\\u0161alji potvrdu o uplati\",send_payment:\"Po\\u0161alji Uplatu\",save_payment:\"Sa\\u010Duvaj Uplatu\",update_payment:\"A\\u017Euriraj Uplatu\",payment:\"Uplata | Uplate\",no_payments:\"Jo\\u0161 uvek nema uplata!\",not_selected:\"Nema odabranih\",no_invoice:\"Nema ra\\u010Duna\",no_matching_payments:\"Ne postoje uplate koje odgovaraju pretrazi!\",list_of_payments:\"Ova sekcija \\u0107e da sadr\\u017Ei listu uplata.\",select_payment_mode:\"Odaberi na\\u010Din pla\\u0107anja\",confirm_mark_as_sent:\"Ovo pla\\u0107anje \\u0107e biti ozna\\u010Dena kao Poslata\",confirm_send_payment:\"Ovo pla\\u0107anje \\u0107e biti poslato putem Email-a klijentu\",send_payment_successfully:\"Pla\\u0107anje uspe\\u0161no poslato\",something_went_wrong:\"ne\\u0161to je krenulo naopako\",confirm_delete:\"Ne\\u0107e\\u0161 mo\\u0107i da povrati\\u0161 ovu Uplatu | Ne\\u0107e\\u0161 mo\\u0107i da povrati\\u0161 ove Uplate\",created_message:\"Uplata uspe\\u0161no kreirana\",updated_message:\"Uplata uspe\\u0161no a\\u017Eurirana\",deleted_message:\"Uplata uspe\\u0161no obrisana | Uplate uspe\\u0161no obrisane\",invalid_amount_message:\"Iznos Uplate je pogre\\u0161an\"},af={title:\"Rashodi\",expenses_list:\"Lista Rashoda\",select_a_customer:\"Odaberi klijenta\",expense_title:\"Naslov\",customer:\"Klijent\",currency:\"Currency\",contact:\"Kontakt\",category:\"Kategorija\",from_date:\"Datum od\",to_date:\"Datum do\",expense_date:\"Datum\",description:\"Opis\",receipt:\"Ra\\u010Dun\",amount:\"Iznos\",action:\"Akcija\",not_selected:\"Nije odabrano\",note:\"Napomena\",category_id:\"ID kategorije\",date:\"Datum\",add_expense:\"Dodaj Rashod\",add_new_expense:\"Dodaj Novi Rashod\",save_expense:\"Sa\\u010Duvaj Rashod\",update_expense:\"A\\u017Euriraj Rashod\",download_receipt:\"Preuzmi Ra\\u010Dun\",edit_expense:\"Izmeni Rashod\",new_expense:\"Novi Rashod\",expense:\"Rashod | Rashodi\",no_expenses:\"Jo\\u0161 uvek nema rashoda!\",list_of_expenses:\"Ova sekcija \\u0107e da sadr\\u017Ei listu rashoda.\",confirm_delete:\"Ne\\u0107e\\u0161 mo\\u0107i da povrati\\u0161 ovaj Rashod | Ne\\u0107e\\u0161 mo\\u0107i da povrati\\u0161 ove Rashode\",created_message:\"Rashod uspe\\u0161no kreiran\",updated_message:\"Rashod uspe\\u0161no a\\u017Euriran\",deleted_message:\"Rashod uspe\\u0161no obrisan | Rashodi uspe\\u0161no obrisani\",categories:{categories_list:\"Lista Kategorija\",title:\"Naslov\",name:\"Naziv\",description:\"Opis\",amount:\"Iznos\",actions:\"Akcije\",add_category:\"Dodaj Kategoriju\",new_category:\"Nova Kategorija\",category:\"Kategorija | Kategorije\",select_a_category:\"Izaberi kategoriju\"}},nf={email:\"E-mail\",password:\"\\u0160ifra\",forgot_password:\"Zaboravili ste \\u0161ifru?\",or_signIn_with:\"ili se prijavite sa\",login:\"Prijava\",register:\"Registracija\",reset_password:\"Restujte \\u0161ifru\",password_reset_successfully:\"\\u0160ifra Uspe\\u0161no Resetovana\",enter_email:\"Unesi email\",enter_password:\"Unesi \\u0161ifru\",retype_password:\"Ponovo unesi \\u0161ifru\"},of={buy_now:\"Buy Now\",install:\"Install\",price:\"Price\",download_zip_file:\"Download ZIP file\",unzipping_package:\"Unzipping Package\",copying_files:\"Copying Files\",deleting_files:\"Deleting Unused files\",completing_installation:\"Completing Installation\",update_failed:\"Update Failed\",install_success:\"Module has been installed successfully!\",customer_reviews:\"Reviews\",license:\"License\",faq:\"FAQ\",monthly:\"Monthly\",yearly:\"Yearly\",updated:\"Updated\",version:\"Version\",disable:\"Disable\",module_disabled:\"Module Disabled\",enable:\"Enable\",module_enabled:\"Module Enabled\",update_to:\"Update To\",module_updated:\"Module Updated Successfully!\",title:\"Modules\",module:\"Module | Modules\",api_token:\"API token\",invalid_api_token:\"Invalid API Token.\",other_modules:\"Other Modules\",view_all:\"View All\",no_reviews_found:\"There are no reviews for this module yet!\",module_not_purchased:\"Module Not Purchased\",module_not_found:\"Module Not Found\",version_not_supported:\"This module version doesn't support the current version of Crater\",last_updated:\"Last Updated On\",connect_installation:\"Connect your installation\",api_token_description:\"Login to {url} and connect this installation by entering the API Token. Your purchased modules will show up here after the connection is established.\",view_module:\"View Module\",update_available:\"Update Available\",purchased:\"Purchased\",installed:\"Installed\",no_modules_installed:\"No Modules Installed Yet!\",disable_warning:\"All the settings for this particular will be reverted.\",what_you_get:\"What you get\"},sf={title:\"Korisnici\",users_list:\"Lista korisnika\",name:\"Ime i prezime\",description:\"Opis\",added_on:\"Datum dodavanja\",date_of_creation:\"Datum kreiranja\",action:\"Akcija\",add_user:\"Dodaj Korisnika\",save_user:\"Sa\\u010Duvaj Korisnika\",update_user:\"A\\u017Euriraj Korisnika\",user:\"Korisnik | Korisnici\",add_new_user:\"Dodaj novog korisnika\",new_user:\"Nov Korisnik\",edit_user:\"Izmeni Korisnika\",no_users:\"Jo\\u0161 uvek nema korisnika!\",list_of_users:\"Ova sekcija \\u0107e da sadr\\u017Ei listu korisnika.\",email:\"E-mail\",phone:\"Broj telefona\",password:\"\\u0160ifra\",user_attached_message:\"Ne mo\\u017Eete obrisati stavku koja je ve\\u0107 u upotrebi\",confirm_delete:\"Ne\\u0107e\\u0161 mo\\u0107i da povrati\\u0161 ovog Korisnika | Ne\\u0107e\\u0161 mo\\u0107i da povrati\\u0161 ove Korisnike\",created_message:\"Korisnik uspe\\u0161no napravljen\",updated_message:\"Korisnik uspe\\u0161no a\\u017Euriran\",deleted_message:\"Korisnik uspe\\u0161no obrisan | Korisnici uspe\\u0161no obrisani\",select_company_role:\"Select Role for {company}\",companies:\"Companies\"},rf={title:\"Izve\\u0161taj\",from_date:\"Datum od\",to_date:\"Datum do\",status:\"Status\",paid:\"Pla\\u0107eno\",unpaid:\"Nepla\\u0107eno\",download_pdf:\"Preuzmi PDF\",view_pdf:\"Pogledaj PDF\",update_report:\"A\\u017Euriraj Izve\\u0161taj\",report:\"Izve\\u0161taj | Izve\\u0161taji\",profit_loss:{profit_loss:\"Prihod & Rashod\",to_date:\"Datum do\",from_date:\"Datum od\",date_range:\"Izaberi opseg datuma\"},sales:{sales:\"Prodaja\",date_range:\"Izaberi opseg datuma\",to_date:\"Datum do\",from_date:\"Datum od\",report_type:\"Tip Izve\\u0161taja\"},taxes:{taxes:\"Porezi\",to_date:\"Datum do\",from_date:\"Datum od\",date_range:\"Izaberi opseg datuma\"},errors:{required:\"Polje je obavezno\"},invoices:{invoice:\"Faktura\",invoice_date:\"Datum Fakture\",due_date:\"Datum Dospe\\u0107a\",amount:\"Iznos\",contact_name:\"Ime Kontakta\",status:\"Status\"},estimates:{estimate:\"Profaktura\",estimate_date:\"Datum Profakture\",due_date:\"Datum Dospe\\u0107a\",estimate_number:\"Broj Profakture\",ref_number:\"Poziv na broj\",amount:\"Iznos\",contact_name:\"Ime Kontakta\",status:\"Status\"},expenses:{expenses:\"Rashodi\",category:\"Kategorija\",date:\"Datum\",amount:\"Iznos\",to_date:\"Datum do\",from_date:\"Datum od\",date_range:\"Izaberi opseg datuma\"}},df={menu_title:{account_settings:\"Pode\\u0161avanje Naloga\",company_information:\"Podaci o firmi\",customization:\"Prilago\\u0111avanje\",preferences:\"Preferencija\",notifications:\"Obave\\u0161tenja\",tax_types:\"Tipovi Poreza\",expense_category:\"Kategorije Rashoda\",update_app:\"A\\u017Euriraj Aplikaciju\",backup:\"Bekap\",file_disk:\"File Disk\",custom_fields:\"Prilago\\u0111ena polja\",payment_modes:\"Na\\u010Din pla\\u0107anja\",notes:\"Napomene\",exchange_rate:\"Exchange Rate\",address_information:\"Address Information\"},address_information:{section_description:\"  You can update Your Address information using form below.\"},title:\"Pode\\u0161avanja\",setting:\"Pode\\u0161avanje | Pode\\u0161avanja\",general:\"Op\\u0161te\",language:\"Jezik\",primary_currency:\"Primarna Valuta\",timezone:\"Vremenska Zona\",date_format:\"Format Datuma\",currencies:{title:\"Valute\",currency:\"Valuta | Valute\",currencies_list:\"Lista Valuta\",select_currency:\"Odaberi Valutu\",name:\"Naziv\",code:\"Kod\",symbol:\"Simbol\",precision:\"Preciznost\",thousand_separator:\"Separator za hiljade\",decimal_separator:\"Separator za decimale\",position:\"Pozicija\",position_of_symbol:\"Pozicija simbola\",right:\"Desno\",left:\"Levo\",action:\"Akcija\",add_currency:\"Dodaj Valutu\"},mail:{host:\"Mail Host\",port:\"Mail Port\",driver:\"Mail drajver\",secret:\"\\u0160ifra\",mailgun_secret:\"Mailgun \\u0160ifra\",mailgun_domain:\"Domen\",mailgun_endpoint:\"Mailgun Endpoint\",ses_secret:\"SES \\u0160ifra\",ses_key:\"SES Klju\\u010D\",password:\"Mail \\u0160ifra\",username:\"Mail Korisni\\u010Dko Ime\",mail_config:\"Mail Pode\\u0161avanje\",from_name:\"Naziv po\\u0161iljaoca\",from_mail:\"E-mail adresa po\\u0161iljaoca\",encryption:\"E-mail enkripcija\",mail_config_desc:\"Ispod se nalazi forma za pode\\u0161avanje E-mail drajvera za slanje po\\u0161te iz aplikacije. Tako\\u0111e mo\\u017Eete podesiti provajdere tre\\u0107e strane kao Sendgrid, SES itd.\"},pdf:{title:\"PDF Pode\\u0161avanje\",footer_text:\"Tekstualno zaglavlje na dnu strane\",pdf_layout:\"PDF Raspored\"},company_info:{company_info:\"Podaci o firmi\",company_name:\"Naziv firme\",company_logo:\"Logo firme\",section_description:\"Informacije o Va\\u0161oj firmi \\u0107e biti prikazane na fakturama, profakturama i drugim dokumentima koji se prave u ovoj aplikaciji.\",phone:\"Telefon\",country:\"Dr\\u017Eava\",state:\"Savezna Dr\\u017Eava\",city:\"Grad\",address:\"Adresa\",zip:\"Po\\u0161tanski broj\",save:\"Sa\\u010Duvaj\",delete:\"Delete\",updated_message:\"Podaci o firmi uspe\\u0161no sa\\u010Duvani\",delete_company:\"Delete Company\",delete_company_description:\"Once you delete your company, you will lose all the data and files associated with it permanently.\",are_you_absolutely_sure:\"Are you absolutely sure?\",delete_company_modal_desc:\"This action cannot be undone. This will permanently delete {company} and all of its associated data.\",delete_company_modal_label:\"Please type {company} to confirm\"},custom_fields:{title:\"Prilago\\u0111ena polja\",section_description:\"Prilagodite va\\u0161e Fakture, Profakture i Uplate (priznanice) sa svojim poljima. Postarajte se da koristite polja navedena ispod na formatu adrese na stranici Pode\\u0161avanja/Prilago\\u0111avanje.\",add_custom_field:\"Dodaj prilago\\u0111eno polje\",edit_custom_field:\"Izmeni prilago\\u0111eno polje\",field_name:\"Naziv polja\",label:\"Oznaka\",type:\"Tip\",name:\"Naziv\",slug:\"Slug\",required:\"Obavezno\",placeholder:\"Opis polja (Placeholder)\",help_text:\"Pomo\\u0107ni tekst\",default_value:\"Podrazumevana vrednost\",prefix:\"Prefiks\",starting_number:\"Po\\u010Detni broj\",model:\"Model\",help_text_description:\"Unesite opis koji \\u0107e pomo\\u0107i korisnicima da razumeju svrhu ovog prilago\\u0111enog polja.\",suffix:\"Sufiks\",yes:\"Da\",no:\"Ne\",order:\"Redosled\",custom_field_confirm_delete:\"Ne\\u0107e\\u0161 mo\\u0107i da povrati\\u0161 ovo prilago\\u0111eno polje\",already_in_use:\"Prilago\\u0111eno polje je ve\\u0107 u upotrebi\",deleted_message:\"Prilago\\u0111eno polje je uspe\\u0161no obrisano\",options:\"opcije\",add_option:\"Dodaj opcije\",add_another_option:\"Dodaj jo\\u0161 jednu opciju\",sort_in_alphabetical_order:\"Pore\\u0111aj po Abecedi\",add_options_in_bulk:\"Grupno dodavanje opcija\",use_predefined_options:\"Koristi predefinisane opcije\",select_custom_date:\"Odaberi datum\",select_relative_date:\"Odaberi relativan datum\",ticked_by_default:\"Podrazumevano odabrano\",updated_message:\"Prilago\\u0111eno polje uspe\\u0161no a\\u017Eurirano\",added_message:\"Prilago\\u0111eno polje uspe\\u0161no dodato\",press_enter_to_add:\"Press enter to add new option\",model_in_use:\"Cannot update model for fields which are already in use.\",type_in_use:\"Cannot update type for fields which are already in use.\"},customization:{customization:\"prilago\\u0111avanje\",updated_message:\"Podaci o firmi su uspe\\u0161no a\\u017Eurirani\",save:\"Sa\\u010Duvaj\",insert_fields:\"Insert Fields\",learn_custom_format:\"Learn how to use custom format\",add_new_component:\"Add New Component\",component:\"Component\",Parameter:\"Parameter\",series:\"Series\",series_description:\"To set a static prefix/postfix like 'INV' across your company. It supports character length of up to 6 chars.\",series_param_label:\"Series Value\",delimiter:\"Delimiter\",delimiter_description:\"Single character for specifying the boundary between 2 separate components. By default its set to -\",delimiter_param_label:\"Delimiter Value\",date_format:\"Date Format\",date_format_description:\"A local date and time field which accepts a format parameter. The default format: 'Y' renders the current year.\",date_format_param_label:\"Format\",sequence:\"Sequence\",sequence_description:\"Consecutive sequence of numbers across your company. You can specify the length on the given parameter.\",sequence_param_label:\"Sequence Length\",customer_series:\"Customer Series\",customer_series_description:\"To set a different prefix/postfix for each customer.\",customer_sequence:\"Customer Sequence\",customer_sequence_description:\"Consecutive sequence of numbers for each of your customer.\",customer_sequence_param_label:\"Sequence Length\",random_sequence:\"Random Sequence\",random_sequence_description:\"Random alphanumeric string. You can specify the length on the given parameter.\",random_sequence_param_label:\"Sequence Length\",invoices:{title:\"Fakture\",invoice_number_format:\"Invoice Number Format\",invoice_number_format_description:\"Customize how your invoice number gets generated automatically when you create a new invoice.\",preview_invoice_number:\"Preview Invoice Number\",due_date:\"Due Date\",due_date_description:\"Specify how due date is automatically set when you create an invoice.\",due_date_days:\"Invoice Due after days\",set_due_date_automatically:\"Set Due Date Automatically\",set_due_date_automatically_description:\"Enable this if you wish to set due date automatically when you create a new invoice.\",default_formats:\"Default Formats\",default_formats_description:\"Below given formats are used to fill up the fields automatically on invoice creation.\",default_invoice_email_body:\"Podrazumevan sadr\\u017Eaj email-a za Fakture\",company_address_format:\"Format adrese firme\",shipping_address_format:\"Format adrese za dostavu firme\",billing_address_format:\"Format adrese za naplatu firme\",invoice_email_attachment:\"Po\\u0161alji ra\\u010Dun kao prilog\",invoice_email_attachment_setting_description:\"Omogu\\u0107ite ovo ako \\u017Eelite da \\u0161aljete fakture kao prilog e-po\\u0161te. Imajte na umu da dugme 'Prika\\u017Ei fakturu' u e-porukama vi\\u0161e ne\\u0107e biti prikazano kada je omogu\\u0107eno.\",invoice_settings_updated:\"Invoice Settings updated successfully\",retrospective_edits:\"Retrospective Edits\",allow:\"Allow\",disable_on_invoice_partial_paid:\"Disable after partial payment is recorded\",disable_on_invoice_paid:\"Disable after full payment is recorded\",disable_on_invoice_sent:\"Disable after invoice is sent\",retrospective_edits_description:\" Based on your country's laws or your preference, you can restrict users from editing finalised invoices.\"},estimates:{title:\"Profakture\",estimate_number_format:\"Estimate Number Format\",estimate_number_format_description:\"Customize how your estimate number gets generated automatically when you create a new estimate.\",preview_estimate_number:\"Preview Estimate Number\",expiry_date:\"Expiry Date\",expiry_date_description:\"Specify how expiry date is automatically set when you create an estimate.\",expiry_date_days:\"Estimate Expires after days\",set_expiry_date_automatically:\"Set Expiry Date Automatically\",set_expiry_date_automatically_description:\"Enable this if you wish to set expiry date automatically when you create a new estimate.\",default_formats:\"Default Formats\",default_formats_description:\"Below given formats are used to fill up the fields automatically on estimate creation.\",default_estimate_email_body:\"Podrazumevan sadr\\u017Eaj email-a za Profakture\",company_address_format:\"Format adrese firme\",shipping_address_format:\"Format adrese za dostavu firme\",billing_address_format:\"Format adrese za naplatu firme\",estimate_email_attachment:\"Po\\u0161aljite procjene kao priloge\",estimate_email_attachment_setting_description:\"Omogu\\u0107ite ovo ako \\u017Eelite da po\\u0161aljete procjene kao prilog e-po\\u0161te. Imajte na umu da dugme 'Prika\\u017Ei procjenu' u e-porukama vi\\u0161e ne\\u0107e biti prikazano kada je omogu\\u0107eno.\",estimate_settings_updated:\"Estimate Settings updated successfully\",convert_estimate_options:\"Estimate Convert Action\",convert_estimate_description:\"Specify what happens to the estimate after it gets converted to an invoice.\",no_action:\"No action\",delete_estimate:\"Delete estimate\",mark_estimate_as_accepted:\"Mark estimate as accepted\"},payments:{title:\"Uplate\",payment_number_format:\"Payment Number Format\",payment_number_format_description:\"Customize how your payment number gets generated automatically when you create a new payment.\",preview_payment_number:\"Preview Payment Number\",default_formats:\"Default Formats\",default_formats_description:\"Below given formats are used to fill up the fields automatically on payment creation.\",default_payment_email_body:\"Podrazumevan sadr\\u017Eaj email-a za potvrdu o pla\\u0107anju (ra\\u010Dun)\",company_address_format:\"Format adrese firme\",from_customer_address_format:\"Format adrese klijenta\",payment_email_attachment:\"Po\\u0161aljite uplate kao priloge\",payment_email_attachment_setting_description:\"Enable this if you want to send the payment receipts as an email attachment. Please note that 'View Payment' button in emails will not be displayed anymore when enabled.\",payment_settings_updated:\"Payment Settings updated successfully\"},items:{title:\"Stavke\",units:\"Jedinice\",add_item_unit:\"Dodaj jedinicu stavke\",edit_item_unit:\"Izmeni jedinicu stavke\",unit_name:\"Naziv jedinice\",item_unit_added:\"Jedinica stavke dodata\",item_unit_updated:\"Jedinica stavke a\\u017Eurirana\",item_unit_confirm_delete:\"Ne\\u0107e\\u0161 mo\\u0107i da povrati\\u0161 ovu jedinicu stavke\",already_in_use:\"Jedinica stavke se ve\\u0107 koristi\",deleted_message:\"Jedinica stavke uspe\\u0161no obrisana\"},notes:{title:\"Napomene\",description:\"U\\u0161tedite vreme pravlje\\u0107i napomene i koriste\\u0107i ih na fakturama, profakturama i uplatama.\",notes:\"Napomene\",type:\"Tip\",add_note:\"Dodaj Napomenu\",add_new_note:\"Dodaj novu Napomenu\",name:\"Naziv\",edit_note:\"Izmeni Napomenu\",note_added:\"Napomena uspe\\u0161no dodata\",note_updated:\"Napomena uspe\\u0161no a\\u017Eurirana\",note_confirm_delete:\"Ne\\u0107e\\u0161 mo\\u0107i da povrati\\u0161 ovu Napomenu\",already_in_use:\"Napomena se ve\\u0107 koristi\",deleted_message:\"Napomena uspe\\u0161no obrisana\"}},account_settings:{profile_picture:\"Profilna slika\",name:\"Ime i prezime\",email:\"Email\",password:\"\\u0160ifra\",confirm_password:\"Potvrdi \\u0161ifru\",account_settings:\"Pode\\u0161avanje naloga\",save:\"Sa\\u010Duvaj\",section_description:\"Mo\\u017Eete a\\u017Eurirati Va\\u0161e ime i prezime, email, \\u0161ifru koriste\\u0107i formu ispod.\",updated_message:\"Pode\\u0161avanje naloga uspe\\u0161no a\\u017Eurirano\"},user_profile:{name:\"Ime i prezime\",email:\"Email\",password:\"\\u0160ifra\",confirm_password:\"Potvrdi \\u0161ifru\"},notification:{title:\"Obave\\u0161tenje\",email:\"\\u0160alji obave\\u0161tenja na\",description:\"Koja email obave\\u0161tenja bi \\u017Eeleli da dobijate kada se ne\\u0161to promeni?\",invoice_viewed:\"Faktura gledana\",invoice_viewed_desc:\"Kada klijent pogleda fakturu koja je poslata putem ove aplikacije.\",estimate_viewed:\"Profaktura gledana\",estimate_viewed_desc:\"Kada klijent pogleda profakturu koja je poslata putem ove aplikacije.\",save:\"Sa\\u010Duvaj\",email_save_message:\"Email uspe\\u0161no sa\\u010Duvan\",please_enter_email:\"Molim Vas unesite E-mail\"},roles:{title:\"Roles\",description:\"Manage the roles & permissions of this company\",save:\"Save\",add_new_role:\"Add New Role\",role_name:\"Role Name\",added_on:\"Added on\",add_role:\"Add Role\",edit_role:\"Edit Role\",name:\"Name\",permission:\"Permission | Permissions\",select_all:\"Select All\",none:\"None\",confirm_delete:\"You will not be able to recover this Role\",created_message:\"Role created successfully\",updated_message:\"Role updated successfully\",deleted_message:\"Role deleted successfully\",already_in_use:\"Role is already in use\"},exchange_rate:{exchange_rate:\"Exchange Rate\",title:\"Fix Currency Exchange issues\",description:\"Please enter exchange rate of all the currencies mentioned below to help Crater properly calculate the amounts in {currency}.\",drivers:\"Drivers\",new_driver:\"Add New Provider\",edit_driver:\"Edit Provider\",select_driver:\"Select Driver\",update:\"select exchange rate \",providers_description:\"Configure your exchange rate providers here to automatically fetch the latest exchange rate on transactions.\",key:\"API Key\",name:\"Name\",driver:\"Driver\",is_default:\"IS DEFAULT\",currency:\"Currencies\",exchange_rate_confirm_delete:\"You will not be able to recover this driver\",created_message:\"Provider Created successfully\",updated_message:\"Provider Updated Successfully\",deleted_message:\"Provider Deleted Successfully\",error:\" You cannot Delete Active Driver\",default_currency_error:\"This currency is already used in one of the Active Provider\",exchange_help_text:\"Enter exchange rate to convert from {currency} to {baseCurrency}\",currency_freak:\"Currency Freak\",currency_layer:\"Currency Layer\",open_exchange_rate:\"Open Exchange Rate\",currency_converter:\"Currency Converter\",server:\"Server\",url:\"URL\",active:\"Active\",currency_help_text:\"This provider will only be used on above selected currencies\",currency_in_used:\"The following currencies are already active on another provider. Please remove these currencies from selection to activate this provider again.\"},tax_types:{title:\"Tipovi Poreza\",add_tax:\"Dodaj Porez\",edit_tax:\"Izmeni Porez\",description:\"Mo\\u017Eete dodavati ili uklanjati poreze kako \\u017Eelite. Ova aplikacija podr\\u017Eava porez kako na individualnim stavkama tako i na fakturi.\",add_new_tax:\"Dodaj Nov Porez\",tax_settings:\"Pode\\u0161avanje Poreza\",tax_per_item:\"Porez po Stavki\",tax_name:\"Naziv Poreza\",compound_tax:\"Slo\\u017Een Porez\",percent:\"Procenat\",action:\"Akcija\",tax_setting_description:\"Izaberite ovo ako \\u017Eelite da dodajete porez na individualne stavke. Podrazumevano pona\\u0161anje je da je porez dodat direktno na fakturu.\",created_message:\"Tip poreza uspe\\u0161no kreiran\",updated_message:\"Tip poreza uspe\\u0161no a\\u017Euriran\",deleted_message:\"Tip poreza uspe\\u0161no obrisan\",confirm_delete:\"Ne\\u0107ete mo\\u0107i da povratite ovaj Tip Poreza\",already_in_use:\"Porez se ve\\u0107 koristi\"},payment_modes:{title:\"Payment Modes\",description:\"Modes of transaction for payments\",add_payment_mode:\"Add Payment Mode\",edit_payment_mode:\"Edit Payment Mode\",mode_name:\"Mode Name\",payment_mode_added:\"Payment Mode Added\",payment_mode_updated:\"Payment Mode Updated\",payment_mode_confirm_delete:\"You will not be able to recover this Payment Mode\",payments_attached:\"This payment method is already attached to payments. Please delete the attached payments to proceed with deletion.\",expenses_attached:\"This payment method is already attached to expenses. Please delete the attached expenses to proceed with deletion.\",deleted_message:\"Payment Mode deleted successfully\"},expense_category:{title:\"Kategorija Rashoda\",action:\"Akcija\",description:\"Kategorije su obavezne za dodavanje rashoda. Mo\\u017Ee\\u0161 da doda\\u0161 ili obri\\u0161e\\u0161 ove kategorije po svojoj \\u017Eelji.\",add_new_category:\"Dodaj novu kategoriju\",add_category:\"Dodaj kategoriju\",edit_category:\"Izmeni kategoriju\",category_name:\"Naziv kategorije\",category_description:\"Opis\",created_message:\"Kagetorija rashoda je uspe\\u0161no kreirana\",deleted_message:\"Kategorija rashoda je uspe\\u0161no izbrisana\",updated_message:\"Kategorija rashoda je uspe\\u0161no a\\u017Eurirana\",confirm_delete:\"Ne\\u0107e\\u0161 mo\\u0107i da povrati\\u0161 ovu kategoriju rashoda\",already_in_use:\"Kategorija se ve\\u0107 koristi\"},preferences:{currency:\"Valuta\",default_language:\"Jezik\",time_zone:\"Vremenska Zona\",fiscal_year:\"Finansijska Godina\",date_format:\"Format datuma\",discount_setting:\"Pode\\u0161avanja za popuste\",discount_per_item:\"Popust po stavci\",discount_setting_description:\"Izaberite ovo ako \\u017Eelite da dodajete Popust na individualne stavke. Podrazumevano pona\\u0161anje je da je Popust dodat direktno na fakturu.\",expire_public_links:\"Automatically Expire Public Links\",expire_setting_description:\"Specify whether you would like to expire all the links sent by application to view invoices, estimates & payments, etc after a specified duration.\",save:\"Sa\\u010Duvaj\",preference:\"Preferencija | Preferencije\",general_settings:\"Podrazumevane preferencije za sistem\",updated_message:\"Preferencije su uspe\\u0161no a\\u017Eurirane\",select_language:\"Izaberi Jezik\",select_time_zone:\"Izaberi Vremensku Zonu\",select_date_format:\"Izaberi Format Datuma\",select_financial_year:\"Izaberi Finansijsku Godinu\",recurring_invoice_status:\"Recurring Invoice Status\",create_status:\"Create Status\",active:\"Active\",on_hold:\"On Hold\",update_status:\"Update Status\",completed:\"Completed\",company_currency_unchangeable:\"Company currency cannot be changed\"},update_app:{title:\"A\\u017Euriraj aplikaciju\",description:\"Lako mo\\u017Ee\\u0161 da a\\u017Eurira\\u0161 Crater tako \\u0161to \\u0107e\\u0161 uraditi proveru novih verzija klikom na polje ispod\",check_update:\"Proveri a\\u017Euriranost\",avail_update:\"Dostupna je nova verzija\",next_version:\"Slede\\u0107a verzija\",requirements:\"Zahtevi\",update:\"A\\u017Euriraj sad\",update_progress:\"A\\u017Euriranje je u toku...\",progress_text:\"Traja\\u0107e svega par minuta. Nemojte osve\\u017Eavati ili zatvoriti stranicu dok a\\u017Euriranje ne bude gotovo\",update_success:\"Aplikacija je a\\u017Eurirana! Molim Vas Sa\\u010Dekajte da se stranica osve\\u017Ei automatski.\",latest_message:\"Nema nove verzije! A\\u017Eurirana poslednja verzija.\",current_version:\"Trenutna verzija\",download_zip_file:\"Preuzmi ZIP paket\",unzipping_package:\"Raspakivanje paketa\",copying_files:\"Kopiranje datoteka\",deleting_files:\"Brisanje fajlova koji nisu u upotrebi\",running_migrations:\"Migracije u toku\",finishing_update:\"Zavr\\u0161avanje a\\u017Euriranja\",update_failed:\"Neuspe\\u0161no a\\u017Euriranje\",update_failed_text:\"\\u017Dao mi je! Tvoje a\\u017Euriranje nije uspelo na koraku broj: {step} korak\",update_warning:\"All of the application files and default template files will be overwritten when you update the application using this utility. Please take a backup of your templates & database before updating.\"},backup:{title:\"Bekap | Bekapi\",description:\"Bekap je zip arhiva koja sadr\\u017Ei sve fajlove iz foldera koje ste specificirali, tako\\u0111e sadr\\u017Ei bekap baze.\",new_backup:\"Dodaj novi Bekap\",create_backup:\"Napravi Bekap\",select_backup_type:\"Izaberi tip Bekapa\",backup_confirm_delete:\"Ne\\u0107e\\u0161 mo\\u0107i da povrati\\u0161 ovaj Bekap\",path:\"putanja\",new_disk:\"Novi Disk\",created_at:\"datum kreiranja\",size:\"veli\\u010Dina\",dropbox:\"dropbox\",local:\"lokalni\",healthy:\"zdrav\",amount_of_backups:\"broj bekapa\",newest_backups:\"najnoviji bekapi\",used_storage:\"kori\\u0161c\\u0301eno skladi\\u0161te\",select_disk:\"Izaberi Disk\",action:\"Akcija\",deleted_message:\"Bekap uspe\\u0161no obrisan\",created_message:\"Bekap uspe\\u0161no napravljen\",invalid_disk_credentials:\"Pogre\\u0161ni kredencijali za odabrani disk\"},disk:{title:\"File Disk | File Disks\",description:\"Podrazumevano pona\\u0161anje je da Crater koristi lokalni disk za \\u010Duvanje bekapa, avatara i ostalih slika. Mo\\u017Eete podesiti vi\\u0161e od jednog disk drajvera od provajdera poput DigitalOcean, S3 i Dropbox po va\\u0161oj \\u017Eelji.\",created_at:\"datum kreiranja\",dropbox:\"dropbox\",name:\"Naziv\",driver:\"Drajver\",disk_type:\"Tip\",disk_name:\"Naziv Diska\",new_disk:\"Dodaj novi Disk\",filesystem_driver:\"Filesystem Driver\",local_driver:\"lokalni Drajver\",local_root:\"local Root\",public_driver:\"Public Driver\",public_root:\"Public Root\",public_url:\"Public URL\",public_visibility:\"Public Visibility\",media_driver:\"Media Driver\",media_root:\"Media Root\",aws_driver:\"AWS Driver\",aws_key:\"AWS Key\",aws_secret:\"AWS Secret\",aws_region:\"AWS Region\",aws_bucket:\"AWS Bucket\",aws_root:\"AWS Root\",do_spaces_type:\"Do Spaces type\",do_spaces_key:\"Do Spaces key\",do_spaces_secret:\"Do Spaces Secret\",do_spaces_region:\"Do Spaces Region\",do_spaces_bucket:\"Do Spaces Bucket\",do_spaces_endpoint:\"Do Spaces Endpoint\",do_spaces_root:\"Do Spaces Root\",dropbox_type:\"Dropbox Type\",dropbox_token:\"Dropbox Token\",dropbox_key:\"Dropbox Key\",dropbox_secret:\"Dropbox Secret\",dropbox_app:\"Dropbox App\",dropbox_root:\"Dropbox Root\",default_driver:\"Podrazumevani Drajver\",is_default:\"DA LI JE PODRAZUMEVAN\",set_default_disk:\"Postavi Podrazumevani Disk\",set_default_disk_confirm:\"Ovaj disk \\u0107e biti postavljen kao podrazumevan i svi novi PDF fajlovi \\u0107e biti sa\\u010Duvani na ovom disku\",success_set_default_disk:\"Disk je uspe\\u0161no postavljen kao podrazumevan\",save_pdf_to_disk:\"Sa\\u010Duvaj PDF fajlove na Disk\",disk_setting_description:\" Uklju\\u010Dite ovo ako \\u017Eelite da sa\\u010Duvate kopiju PDF fajla svake Fakture, Profakture i Uplate na va\\u0161 podrazumevani disk automatski. Uklju\\u010Divanjem ove opcije \\u0107ete smanjiti vreme u\\u010Ditavanja pri pregledu PDF fajlova.\",select_disk:\"Izaberi Disk\",disk_settings:\"Disk Pode\\u0161avanja\",confirm_delete:\"Ovo ne\\u0107e uticati na va\\u0161e postoje\\u0107e fajlove i foldere na navedenom disku, ali \\u0107e se konfiguracija va\\u0161eg diska izbrisati iz Cratera.\",action:\"Akcija\",edit_file_disk:\"Izmeni File Disk\",success_create:\"Disk uspe\\u0161no dodat\",success_update:\"Disk uspe\\u0161no a\\u017Euriran\",error:\"Dodavanje diska nije uspelo\",deleted_message:\"File Disk uspe\\u0161no obrisan\",disk_variables_save_successfully:\"Disk uspe\\u0161no pode\\u0161en\",disk_variables_save_error:\"Pode\\u0161avanje diska nije uspelo.\",invalid_disk_credentials:\"Pogre\\u0161an kredencijal za disk koji je naveden\"},taxations:{add_billing_address:\"Enter Billing Address\",add_shipping_address:\"Enter Shipping Address\",add_company_address:\"Enter Company Address\",modal_description:\"The information below is required in order to fetch sales tax.\",add_address:\"Add Address for fetching sales tax.\",address_placeholder:\"Example: 123, My Street\",city_placeholder:\"Example: Los Angeles\",state_placeholder:\"Example: CA\",zip_placeholder:\"Example: 90024\",invalid_address:\"Please provide valid address details.\"}},lf={account_info:\"Informacije o nalogu\",account_info_desc:\"Detalji u nastavku \\u0107e se koristiti za kreiranje glavnog administratorskog naloga. Mogu\\u0107e ih je izmeniti u bilo kom trenutku nakon prijavljivanja.\",name:\"Naziv\",email:\"E-mail\",password:\"\\u0160ifra\",confirm_password:\"Potvrdi \\u0161ifru\",save_cont:\"Sa\\u010Duvaj & Nastavi\",company_info:\"Informacije o firmi\",company_info_desc:\"Ove informacije \\u0107e biti prikazane na fakturama. Mogu\\u0107e ih je izmeniti kasnije u pode\\u0161avanjima.\",company_name:\"Naziv firme\",company_logo:\"Logo firme\",logo_preview:\"Pregled logoa\",preferences:\"Preference\",preferences_desc:\"Podrazumevane Preference za sistem\",currency_set_alert:\"The company's currency cannot be changed later.\",country:\"Dr\\u017Eava\",state:\"Savezna Dr\\u017Eava\",city:\"Grad\",address:\"Adresa\",street:\"Ulica1 | Ulica2\",phone:\"Telefon\",zip_code:\"Po\\u0161tanski broj\",go_back:\"Vrati se nazad\",currency:\"Valuta\",language:\"Jezik\",time_zone:\"Vremenska zona\",fiscal_year:\"Finansijska godina\",date_format:\"Format datuma\",from_address:\"Adresa po\\u0161iljaoca\",username:\"Korisni\\u010Dko ime\",next:\"Slede\\u0107e\",continue:\"Nastavi\",skip:\"Presko\\u010Di\",database:{database:\"URL stranice & baze podataka\",connection:\"Veza baze podataka\",host:\"Host baze podataka\",port:\"Port baze podataka\",password:\"\\u0160ifra baze podataka\",app_url:\"URL aplikacije\",app_domain:\"Domen aplikacije\",username:\"Korisni\\u010Dko ime baze podataka\",db_name:\"Naziv baze podataka\",db_path:\"Putanja do baze\",desc:\"Kreiraj bazu podataka na svom serveru i postavi kredencijale prate\\u0107i obrazac u nastavku.\"},permissions:{permissions:\"Dozvole\",permission_confirm_title:\"Da li ste sigurni da \\u017Eelite da nastavite?\",permission_confirm_desc:\"Provera dozvola za foldere nije uspela\",permission_desc:\"U nastavku se nalazi lista dozvola za foldere koji su neophodni kako bi alikacija radila. Ukoliko provera dozvola ne uspe, a\\u017Euriraj svoju listu dozvola za te foldere.\"},verify_domain:{title:\"Domain Verification\",desc:\"Crater uses Session based authentication which requires domain verification for security purposes. Please enter the domain on which you will be accessing your web application.\",app_domain:\"App Domain\",verify_now:\"Verify Now\",success:\"Domain Verify Successfully.\",failed:\"Domain verification failed. Please enter valid domain name.\",verify_and_continue:\"Verify And Continue\"},mail:{host:\"Mail Host\",port:\"Mail Port\",driver:\"Mail drajver\",secret:\"\\u0160ifra\",mailgun_secret:\"Mailgun \\u0160ifra\",mailgun_domain:\"Domen\",mailgun_endpoint:\"Mailgun Endpoint\",ses_secret:\"SES \\u0160ifra\",ses_key:\"SES Klju\\u010D\",password:\"\\u0160ifra za e-mail\",username:\"Koristni\\u010Dko ime za e-mail\",mail_config:\"E-mail konfigurisanje\",from_name:\"Naziv po\\u0161iljaoca\",from_mail:\"E-mail adresa po\\u0161iljaoca\",encryption:\"E-mail enkripcija\",mail_config_desc:\"Ispod se nalazi forma za pode\\u0161avanje E-mail drajvera za slanje po\\u0161te iz aplikacije. Tako\\u0111e mo\\u017Eete podesiti provajdere tre\\u0107e strane kao Sendgrid, SES itd.\"},req:{system_req:\"Sistemski zahtevi\",php_req_version:\"Zahteva se PHP verzija {version} \",check_req:\"Proveri zahteve\",system_req_desc:\"Crater ima nekoliko zahteva za server. Proveri da li tvoj server ima potrebnu verziju PHP-a i sva navedena pro\\u0161irenja navedena u nastavku\"},errors:{migrate_failed:\"Neuspe\\u0161no migriranje\",database_variables_save_error:\"Konfiguraciju nije moguc\\u0301e zapisati u .env datoteku. Proveri dozvole za datoteku\",mail_variables_save_error:\"E-mail konfigurisanje je neuspe\\u0161no\",connection_failed:\"Neuspe\\u0161na konekcija sa bazom podataka\",database_should_be_empty:\"Baza podataka treba da bude prazna\"},success:{mail_variables_save_successfully:\"E-mail je uspe\\u0161no konfigurisan\",database_variables_save_successfully:\"Baza podataka je uspe\\u0161no konfigurisana\"}},cf={invalid_phone:\"Pogre\\u0161an Broj Telefona\",invalid_url:\"Neva\\u017Ee\\u0107i URL (primer: http://www.crater.com)\",invalid_domain_url:\"Pogre\\u0161an URL (primer: crater.com)\",required:\"Obavezno polje\",email_incorrect:\"Pogre\\u0161an E-mail\",email_already_taken:\"Navedeni E-mail je zauzet\",email_does_not_exist:\"Korisnik sa navedenom e-mail adresom ne postoji\",item_unit_already_taken:\"Naziv ove jedinice stavke je zauzet\",payment_mode_already_taken:\"Naziv ovog na\\u010Dina pla\\u0107anja je zauzet\",send_reset_link:\"Po\\u0161alji link za resetovanje\",not_yet:\"Jo\\u0161 uvek ni\\u0161ta? Po\\u0161alji ponovo\",password_min_length:\"\\u0160ifra mora imati {count} karaktera\",name_min_length:\"Naziv mora imati najmanje {count} slova\",prefix_min_length:\"Prefix must have at least {count} letters.\",enter_valid_tax_rate:\"Unesite odgovaraju\\u0107u poresku stopu\",numbers_only:\"Mogu se unositi samo brojevi\",characters_only:\"Mogu se unositi samo karakteri\",password_incorrect:\"\\u0160ifra mora biti identi\\u010Dna\",password_length:\"\\u0160ifra mora imati {count} karaktera\",qty_must_greater_than_zero:\"Koli\\u010Dina mora biti ve\\u0107a od 0.\",price_greater_than_zero:\"Cena mora biti ve\\u0107a od 0\",payment_greater_than_zero:\"Uplata mora biti ve\\u0107a od 0\",payment_greater_than_due_amount:\"Uneta uplata je ve\\u0107a od dospelog iznosa ove fakture\",quantity_maxlength:\"Koli\\u010Dina ne mo\\u017Ee imati vi\\u0161e od 20 cifara\",price_maxlength:\"Cena ne mo\\u017Ee imati vi\\u0161e od 20 cifara\",price_minvalue:\"Cena mora biti ve\\u0107a od 0\",amount_maxlength:\"Iznos ne mo\\u017Ee da ima vi\\u0161e od 20 cifara\",amount_minvalue:\"Iznos mora biti ve\\u0107i od 0\",discount_maxlength:\"Discount should not be greater than max discount\",description_maxlength:\"Opis ne mo\\u017Ee da ima vi\\u0161e od 65,000 karaktera\",subject_maxlength:\"Predmet ne mo\\u017Ee da ima vi\\u0161e od 100 karaktera\",message_maxlength:\"Poruka ne mo\\u017Ee da ima vi\\u0161e od 255 karaktera\",maximum_options_error:\"Maksimalan broj opcija je izabran. Prvo uklonite izabranu opciju da biste izabrali drugu\",notes_maxlength:\"Napomena ne mo\\u017Ee da ima vi\\u0161e od 65,000 karaktera\",address_maxlength:\"Adresa ne mo\\u017Ee da ima vi\\u0161e od 255 karaktera\",ref_number_maxlength:\"Poziv na broj ne mo\\u017Ee da ima vi\\u0161e od 225 karaktera\",prefix_maxlength:\"Prefiks ne mo\\u017Ee da ima vi\\u0161e od 5 karaktera\",something_went_wrong:\"ne\\u0161to je krenulo naopako\",number_length_minvalue:\"Number length should be greater than 0\",at_least_one_ability:\"Please select atleast one Permission.\",valid_driver_key:\"Please enter a valid {driver} key.\",valid_exchange_rate:\"Please enter a valid exchange rate.\",company_name_not_same:\"Company name must match with given name.\"},_f={starter_plan:\"This feature is available on Starter plan and onwards!\",invalid_provider_key:\"Please Enter Valid Provider API Key.\",estimate_number_used:\"The estimate number has already been taken.\",invoice_number_used:\"The invoice number has already been taken.\",payment_attached:\"This invoice already has a payment attached to it. Make sure to delete the attached payments first in order to go ahead with the removal.\",payment_number_used:\"The payment number has already been taken.\",name_already_taken:\"The name has already been taken.\",receipt_does_not_exist:\"Receipt does not exist.\",customer_cannot_be_changed_after_payment_is_added:\"Customer cannot be change after payment is added\",invalid_credentials:\"Invalid  Credentials.\",not_allowed:\"Not Allowed\",login_invalid_credentials:\"These credentials do not match our records.\",enter_valid_cron_format:\"Please enter a valid cron format\",email_could_not_be_sent:\"Email could not be sent to this email address.\",invalid_address:\"Please enter a valid address.\",invalid_key:\"Please enter valid key.\",invalid_state:\"Please enter a valid state.\",invalid_city:\"Please enter a valid city.\",invalid_postal_code:\"Please enter a valid zip.\",invalid_format:\"Please enter valid query string format.\",api_error:\"Server not responding.\",feature_not_enabled:\"Feature not enabled.\",request_limit_met:\"Api request limit exceeded.\",address_incomplete:\"Incomplete Address\"},uf=\"Profaktura\",mf=\"Broj Profakture\",pf=\"Datum Profakture\",ff=\"Datum isteka Profakture\",gf=\"Faktura\",vf=\"Broj Fakture\",yf=\"Datum Fakture\",hf=\"Datum dospe\\u0107a Fakture\",bf=\"Napomena\",kf=\"Stavke\",wf=\"Koli\\u010Dina\",zf=\"Cena\",xf=\"Popust\",Pf=\"Iznos\",Sf=\"Osnovica za obra\\u010Dun PDV-a\",jf=\"Ukupan iznos\",Af=\"Payment\",Df=\"POTVRDA O UPLATI\",Cf=\"Datum Uplate\",Nf=\"Broj Uplate\",Ef=\"Na\\u010Din Uplate\",If=\"Iznos Uplate\",Tf=\"IZVE\\u0160TAJ O RASHODIMA\",Rf=\"RASHODI UKUPNO\",Mf=\"IZVE\\u0160TAJ O PRIHODIMA I RASHODIMA\",Ff=\"Sales Customer Report\",$f=\"Sales Item Report\",Uf=\"Tax Summary Report\",Vf=\"PRIHOD\",Of=\"NETO PROFIT\",Lf=\"Izve\\u0161taj o Prodaji: Po Klijentu\",qf=\"PRODAJA UKUPNO\",Bf=\"Izve\\u0161taj o Prodaji: Po Stavci\",Kf=\"IZVE\\u0160TAJ O POREZIMA\",Zf=\"UKUPNO POREZ\",Wf=\"Tipovi Poreza\",Hf=\"Rashodi\",Yf=\"Ra\\u010Dun za,\",Gf=\"Isporu\\u010Diti za,\",Jf=\"Poslat od strane:\",Qf=\"Tax\";var Xf={navigation:qp,general:Bp,dashboard:Kp,tax_types:Zp,global_search:Wp,company_switcher:Hp,dateRange:Yp,customers:Gp,items:Jp,estimates:Qp,invoices:Xp,recurring_invoices:ef,payments:tf,expenses:af,login:nf,modules:of,users:sf,reports:rf,settings:df,wizard:lf,validation:cf,errors:_f,pdf_estimate_label:uf,pdf_estimate_number:mf,pdf_estimate_date:pf,pdf_estimate_expire_date:ff,pdf_invoice_label:gf,pdf_invoice_number:vf,pdf_invoice_date:yf,pdf_invoice_due_date:hf,pdf_notes:bf,pdf_items_label:kf,pdf_quantity_label:wf,pdf_price_label:zf,pdf_discount_label:xf,pdf_amount_label:Pf,pdf_subtotal:Sf,pdf_total:jf,pdf_payment_label:Af,pdf_payment_receipt_label:Df,pdf_payment_date:Cf,pdf_payment_number:Nf,pdf_payment_mode:Ef,pdf_payment_amount_received_label:If,pdf_expense_report_label:Tf,pdf_total_expenses_label:Rf,pdf_profit_loss_label:Mf,pdf_sales_customers_label:Ff,pdf_sales_items_label:$f,pdf_tax_summery_label:Uf,pdf_income_label:Vf,pdf_net_profit_label:Of,pdf_customer_sales_report:Lf,pdf_total_sales_label:qf,pdf_item_sales_label:Bf,pdf_tax_report_label:Kf,pdf_total_tax_label:Zf,pdf_tax_types_label:Wf,pdf_expenses_label:Hf,pdf_bill_to:Yf,pdf_ship_to:Gf,pdf_received_from:Jf,pdf_tax_label:Qf};const eg={dashboard:\"Overzicht\",customers:\"Klanten\",items:\"Artikelen\",invoices:\"Facturen\",\"recurring-invoices\":\"Periodieke factuur\",expenses:\"Uitgaven\",estimates:\"Offertes\",payments:\"Betalingen\",reports:\"Rapporten\",settings:\"Instellingen\",logout:\"Uitloggen\",users:\"Gebruikers\",modules:\"Modules\"},tg={add_company:\"Bedrijf toevoegen\",view_pdf:\"Bekijk PDF\",copy_pdf_url:\"Kopieer PDF-URL\",download_pdf:\"Download PDF\",save:\"Opslaan\",create:\"Maak\",cancel:\"Annuleren\",update:\"Bijwerken\",deselect:\"Deselecteren\",download:\"Download\",from_date:\"Vanaf datum\",to_date:\"T/m datum\",from:\"Vanaf\",to:\"Naar.\",ok:\"Ok\\xE9.\",yes:\"Ja.\",no:\"Nee.\",sort_by:\"Sorteer op\",ascending:\"Oplopend\",descending:\"Aflopend\",subject:\"Onderwerp\",body:\"Inhoud\",message:\"Bericht.\",send:\"Verstuur\",preview:\"Voorbeeld\",go_back:\"Ga terug\",back_to_login:\"Terug naar Inloggen?\",home:\"Home\",filter:\"Filter\",delete:\"Verwijderen\",edit:\"Bewerken\",view:\"Bekijken\",add_new_item:\"Voeg een nieuw item toe\",clear_all:\"Wis alles\",showing:\"Weergegeven\",of:\"van\",actions:\"Acties\",subtotal:\"SUBTOTAAL\",discount:\"KORTING\",fixed:\"Gemaakt\",percentage:\"Percentage\",tax:\"BELASTING\",total_amount:\"TOTAALBEDRAG\",bill_to:\"Factuur aan\",ship_to:\"Verzend naar\",due:\"Openstaand\",draft:\"Concept\",sent:\"Verzonden\",all:\"Alles\",select_all:\"Selecteer alles\",select_template:\"Sjabloon selecteren\",choose_file:\"Klik hier om een bestand te kiezen\",choose_template:\"Kies een sjabloon\",choose:\"Kiezen\",remove:\"Verwijderen\",select_a_status:\"Selecteer een status\",select_a_tax:\"Selecteer een belasting\",search:\"Zoeken\",are_you_sure:\"Weet je het zeker?\",list_is_empty:\"Lijst is leeg.\",no_tax_found:\"Geen belasting gevonden!\",four_zero_four:\"404\",you_got_lost:\"Oeps!\\xA0Je bent verdwaald!\",go_home:\"Ga naar home\",test_mail_conf:\"E-mailconfiguratie testen\",send_mail_successfully:\"Mail is succesvol verzonden\",setting_updated:\"Instelling succesvol bijgewerkt\",select_state:\"Selecteer staat\",select_country:\"Selecteer land\",select_city:\"Selecteer stad\",street_1:\"straat 1\",street_2:\"Straat # 2\",action_failed:\"Actie: mislukt\",retry:\"Retr\",choose_note:\"Kies notitie\",no_note_found:\"Geen notitie gevonden\",insert_note:\"Notitie invoegen\",copied_pdf_url_clipboard:\"PDF link naar klembord gekopieerd!\",copied_url_clipboard:\"Copied url to clipboard!\",docs:\"Documenten\",do_you_wish_to_continue:\"Wilt u Doorgaan?\",note:\"Notitie\",pay_invoice:\"Pay Invoice\",login_successfully:\"Logged in successfully!\",logged_out_successfully:\"Logged out successfully\",mark_as_default:\"Mark as default\"},ag={select_year:\"Selecteer jaar\",cards:{due_amount:\"Openstaand bedrag\",customers:\"Klanten\",invoices:\"Facturen\",estimates:\"Offertes\",payments:\"Payments\"},chart_info:{total_sales:\"Verkoop\",total_receipts:\"Inkomsten\",total_expense:\"Uitgaven\",net_income:\"Netto inkomen\",year:\"Selecteer jaar\"},monthly_chart:{title:\"Verkoop en kosten\"},recent_invoices_card:{title:\"Openstaande facturen\",due_on:\"Openstaand op\",customer:\"Klant\",amount_due:\"Openstaand bedrag\",actions:\"Acties\",view_all:\"Toon alles\"},recent_estimate_card:{title:\"Recente offertes\",date:\"Datum\",customer:\"Klant\",amount_due:\"Openstaand bedrag\",actions:\"Acties\",view_all:\"Toon alles\"}},ng={name:\"Naam\",description:\"Omschrijving\",percent:\"Procent\",compound_tax:\"Verbinding Ta\"},ig={search:\"Zoeken...\",customers:\"Klanten\",users:\"Gebruikers\",no_results_found:\"Geen zoekresultaten\"},og={label:\"VERANDER BEDRIJF\",no_results_found:\"Geen resultaten gevonden\",add_new_company:\"Nieuw bedrijf toevoegen\",new_company:\"Nieuw bedrijf\",created_message:\"Bedrijf met succes aangemaakt\"},sg={today:\"Vandaag\",this_week:\"Deze week\",this_month:\"Deze maand\",this_quarter:\"Dit kwartaal\",this_year:\"Dit jaar\",previous_week:\"Vorige week\",previous_month:\"Vorige maand\",previous_quarter:\"Vorig kwartaal\",previous_year:\"Vorig jaar\",custom:\"Aangepast\"},rg={title:\"Klanten\",prefix:\"Voorvoegsel\",add_customer:\"Klant toevoegen\",contacts_list:\"Klantenlijst\",name:\"Naam\",mail:\"Mail | Mails\",statement:\"Verklaring\",display_name:\"Weergavenaam\",primary_contact_name:\"Naam primaire contactpersoon\",contact_name:\"Contactnaam\",amount_due:\"Openstaand bedrag\",email:\"E-mail\",address:\"Adres\",phone:\"Telefoon\",website:\"Website\",overview:\"Overzicht\",invoice_prefix:\"Factuurvoorvoegsel\",estimate_prefix:\"Schatting voorvoegsel\",payment_prefix:\"Betalingsvoorvoegsel\",enable_portal:\"Activeer Portaal\",country:\"Land\",state:\"Provincie\",city:\"Stad\",zip_code:\"Postcode\",added_on:\"Toegevoegd\",action:\"Actie\",password:\"Wachtwoord\",confirm_password:\"Bevestig wachtwoord\",street_number:\"Huisnummer\",primary_currency:\"Primaire valuta\",description:\"Omschrijving\",add_new_customer:\"Nieuwe klant toevoegen\",save_customer:\"Klant opslaan\",update_customer:\"Klant bijwerken\",customer:\"Klant |\\xA0Klanten\",new_customer:\"Nieuwe klant\",edit_customer:\"Klant bewerken\",basic_info:\"Basis informatie\",portal_access:\"Portal Access\",portal_access_text:\"Would you like to allow this customer to login to the Customer Portal?\",portal_access_url:\"Customer Portal Login URL\",portal_access_url_help:\"Please copy & forward the above given URL to your customer for providing access.\",billing_address:\"factuur adres\",shipping_address:\"Verzendingsadres\",copy_billing_address:\"Kopi\\xEBren van facturering\",no_customers:\"Nog geen klanten!\",no_customers_found:\"Geen klanten gevonden!\",no_contact:\"Geen contact\",no_contact_name:\"Geen contactnaam\",list_of_customers:\"Hier vind je jouw klanten terug.\",primary_display_name:\"Primaire weergavenaam\",select_currency:\"Selecteer valuta\",select_a_customer:\"Selecteer een klant\",type_or_click:\"Typ of klik om te selecteren\",new_transaction:\"Nieuwe transactie\",no_matching_customers:\"Er zijn geen overeenkomende klanten!\",phone_number:\"Telefoonnummer\",create_date:\"Aangemaakt op\",confirm_delete:\"Deze klant en alle gerelateerde facturen, offertes en betalingen worden permanent verwijderd.\\xA0|\\xA0Deze klanten en alle gerelateerde facturen, offertes en betalingen worden permanent verwijderd.\",created_message:\"Klant succesvol aangemaakt\",updated_message:\"Klant succesvol ge\\xFCpdatet\",address_updated_message:\"Address Information Updated succesfully\",deleted_message:\"Klant succesvol verwijderd |\\xA0Klanten zijn succesvol verwijderd\",edit_currency_not_allowed:\"Kan valuta niet wijzigen zodra de transacties zijn aangemaakt.\"},dg={title:\"Artikelen\",items_list:\"Lijst met items\",name:\"Naam\",unit:\"Eenheid\",description:\"Omschrijving\",added_on:\"Toegevoegd\",price:\"Prijs\",date_of_creation:\"Datum van creatie\",not_selected:\"Geen item geselecteerd\",action:\"Actie\",add_item:\"Voeg item toe\",save_item:\"Item opslaan\",update_item:\"Item bijwerken\",item:\"Artikel |\\xA0Artikelen\",add_new_item:\"Voeg een nieuw item toe\",new_item:\"Nieuw item\",edit_item:\"Item bewerken\",no_items:\"Nog geen items!\",list_of_items:\"Hier vind je jouw artikelen terug.\",select_a_unit:\"selecteer eenheid\",taxes:\"Belastingen\",item_attached_message:\"Kan een item dat al in gebruik is niet verwijderen\",confirm_delete:\"U kunt dit item | niet herstellen\\xA0U kunt deze items niet herstellen\",created_message:\"Item succesvol aangemaakt\",updated_message:\"Item succesvol bijgewerkt\",deleted_message:\"Item succesvol verwijderd |\\xA0Items zijn verwijderd\"},lg={title:\"Offertes\",accept_estimate:\"Accept Estimate\",reject_estimate:\"Reject Estimate\",estimate:\"Offerte |\\xA0Offertes\",estimates_list:\"Lijst met offertes\",days:\"{dagen} dagen\",months:\"{months} Maand\",years:\"{jaar} jaar\",all:\"Allemaal\",paid:\"Betaald\",unpaid:\"Onbetaald\",customer:\"Klant\",ref_no:\"Ref Nr.\",number:\"Aantal\",amount_due:\"Bedrag\",partially_paid:\"Gedeeltelijk betaald\",total:\"Totaal\",discount:\"Korting\",sub_total:\"Subtotaal\",estimate_number:\"Offerte nummer\",ref_number:\"Referentie nummer\",contact:\"Contact\",add_item:\"Voeg een item toe\",date:\"Datum\",due_date:\"Vervaldatum\",expiry_date:\"Vervaldatum\",status:\"Status\",add_tax:\"Belasting toevoegen\",amount:\"Bedrag\",action:\"Actie\",notes:\"Opmerkingen\",tax:\"Belasting\",estimate_template:\"Sjabloon\",convert_to_invoice:\"Converteren naar factuur\",mark_as_sent:\"Markeren als verzonden\",send_estimate:\"Verzend offerte\",resend_estimate:\"Offerte opnieuw verzenden\",record_payment:\"Betaling registreren\",add_estimate:\"Offerte toevoegen\",save_estimate:\"Bewaar offerte\",confirm_conversion:\"Deze offerte wordt gebruikt om een nieuwe factuur te maken.\",conversion_message:\"Factuur gemaakt\",confirm_send_estimate:\"Deze offerte wordt via e-mail naar de klant gestuurd\",confirm_mark_as_sent:\"Deze offerte wordt gemarkeerd als verzonden\",confirm_mark_as_accepted:\"Deze offerte wordt gemarkeerd als Geaccepteerd\",confirm_mark_as_rejected:\"Deze offerte wordt gemarkeerd als Afgewezen\",no_matching_estimates:\"Er zijn geen overeenkomende offertes!\",mark_as_sent_successfully:\"Offerte gemarkeerd als succesvol verzonden\",send_estimate_successfully:\"Offerte succesvol verzonden\",errors:{required:\"Veld is vereist\"},accepted:\"Geaccepteerd\",rejected:\"Afgewezen\",expired:\"Expired\",sent:\"Verzonden\",draft:\"Concept\",viewed:\"Viewed\",declined:\"Geweigerd\",new_estimate:\"Nieuwe offerte\",add_new_estimate:\"Offerte toevoegen\",update_Estimate:\"Offerte bijwerken\",edit_estimate:\"Offerte bewerken\",items:\"artikelen\",Estimate:\"Offerte |\\xA0Offertes\",add_new_tax:\"Nieuwe belasting toevoegen\",no_estimates:\"Nog geen offertes!\",list_of_estimates:\"Hier vind je jouw offertes terug.\",mark_as_rejected:\"Markeer als afgewezen\",mark_as_accepted:\"Markeer als geaccepteerd\",marked_as_accepted_message:\"Offerte gemarkeerd als geaccepteerd\",marked_as_rejected_message:\"Offerte gemarkeerd als afgewezen\",confirm_delete:\"U kunt deze offerte | niet herstellen\\xA0U kunt deze offertes niet herstellen\",created_message:\"Offerte is gemaakt\",updated_message:\"Offerte succesvol bijgewerkt\",deleted_message:\"Offerte succesvol verwijderd |\\xA0Offertes zijn succesvol verwijderd\",something_went_wrong:\"Er is iets fout gegaan\",item:{title:\"Titel van het item\",description:\"Omschrijving\",quantity:\"Aantal stuks\",price:\"Prijs\",discount:\"Korting\",total:\"Totaal\",total_discount:\"Totale korting\",sub_total:\"Subtotaal\",tax:\"Belasting\",amount:\"Bedrag\",select_an_item:\"Typ of klik om een item te selecteren\",type_item_description:\"Type Item Beschrijving (optioneel)\"},mark_as_default_estimate_template_description:\"If enabled, the selected template will be automatically selected for new estimates.\"},cg={title:\"Facturen\",download:\"Download\",pay_invoice:\"Pay Invoice\",invoices_list:\"Facturenlijst\",invoice_information:\"Invoice Information\",days:\"{dagen} dagen\",months:\"{months} Maand\",years:\"{jaar} jaar\",all:\"Allemaal\",paid:\"Betaald\",unpaid:\"Onbetaald\",viewed:\"Bekeken\",overdue:\"Over tijd\",completed:\"Voltooid\",customer:\"Klant\",paid_status:\"Betaling\",ref_no:\"REF NR.\",number:\"AANTAL\",amount_due:\"BEDRAG\",partially_paid:\"Gedeeltelijk betaald\",total:\"Totaal\",discount:\"Korting\",sub_total:\"Subtotaal\",invoice:\"Factuur |\\xA0Facturen\",invoice_number:\"Factuurnummer\",ref_number:\"Referentie nummer\",contact:\"Contact\",add_item:\"Voeg een item toe\",date:\"Datum\",due_date:\"Vervaldatum\",status:\"Status\",add_tax:\"Belasting toevoegen\",amount:\"Bedrag\",action:\"Actie\",notes:\"Opmerkingen\",view:\"Bekijken\",send_invoice:\"Factuur verzenden\",resend_invoice:\"Factuur opnieuw verzenden\",invoice_template:\"Factuursjabloon\",conversion_message:\"Factuur succesvol gekloond\",template:\"Sjabloon\",mark_as_sent:\"Markeer als verzonden\",confirm_send_invoice:\"Deze factuur wordt via e-mail naar de klant gestuurd\",invoice_mark_as_sent:\"Deze factuur wordt gemarkeerd als verzonden\",confirm_mark_as_accepted:\"Deze offerte wordt gemarkeerd als Geaccepteerd\",confirm_mark_as_rejected:\"Deze factuur wordt gemarkeerd als Afgewezen\",confirm_send:\"Deze factuur wordt via e-mail naar de klant gestuurd\",invoice_date:\"Factuur datum\",record_payment:\"Betaling registreren\",add_new_invoice:\"Nieuwe factuur toevoegen\",update_expense:\"Onkosten bijwerken\",edit_invoice:\"Factuur bewerken\",new_invoice:\"Nieuwe factuur\",save_invoice:\"Factuur opslaan\",update_invoice:\"Factuur bijwerken\",add_new_tax:\"Nieuwe belasting toevoegen\",no_invoices:\"Nog geen facturen!\",mark_as_rejected:\"Markeer als afgewezen\",mark_as_accepted:\"Markeer als geaccepteerd\",list_of_invoices:\"Hier vind je jouw facturen terug.\",select_invoice:\"Selecteer Factuur\",no_matching_invoices:\"Er zijn geen overeenkomende facturen!\",mark_as_sent_successfully:\"Factuur gemarkeerd als succesvol verzonden\",invoice_sent_successfully:\"Factuur succesvol verzonden\",cloned_successfully:\"Factuur succesvol gekloond\",clone_invoice:\"Factuur klonen\",confirm_clone:\"Deze factuur wordt gekloond in een nieuwe factuur\",item:{title:\"Titel van het item\",description:\"Omschrijving\",quantity:\"Aantal stuks\",price:\"Prijs\",discount:\"Korting\",total:\"Totaal\",total_discount:\"Totale korting\",sub_total:\"Subtotaal\",tax:\"Belasting\",amount:\"Bedrag\",select_an_item:\"Typ of klik om een item te selecteren\",type_item_description:\"Type Item Beschrijving (optioneel)\"},payment_attached_message:\"Aan een van de geselecteerde facturen is al een betaling gekoppeld.\\xA0Zorg ervoor dat u eerst de bijgevoegde betalingen verwijdert om door te gaan met de verwijdering\",confirm_delete:\"Deze factuur wordt permanent verwijderd |\\xA0Deze facturen worden permanent verwijderd\",created_message:\"Factuur succesvol aangemaakt\",updated_message:\"Factuur succesvol bijgewerkt\",deleted_message:\"Factuur succesvol verwijderd |\\xA0Facturen succesvol verwijderd\",marked_as_sent_message:\"Factuur gemarkeerd als succesvol verzonden\",something_went_wrong:\"Er is iets fout gegaan\",invalid_due_amount_message:\"Het totale factuurbedrag mag niet lager zijn dan het totale betaalde bedrag voor deze factuur.\\xA0Werk de factuur bij of verwijder de bijbehorende betalingen om door te gaan.\",mark_as_default_invoice_template_description:\"If enabled, the selected template will be automatically selected for new invoices.\"},_g={title:\"Periodieke facturen\",invoices_list:\"Periodieke facturen lijst\",days:\"{days} dagen\",months:\"{months} maanden\",years:\"{years} jaar\",all:\"Alles\",paid:\"Betaald\",unpaid:\"Onbetaald\",viewed:\"Bekeken\",overdue:\"Achterstallig\",active:\"Actief\",completed:\"Voltooid\",customer:\"KLANT\",paid_status:\"BETAALD STATUS\",ref_no:\"REF NR.\",number:\"NUMMER\",amount_due:\"Bedrag\",partially_paid:\"Gedeeltelijk betaald\",total:\"Totaal\",discount:\"Korting\",sub_total:\"Subtotaal\",invoice:\"Periodieke factuur / Periodieke facturen\",invoice_number:\"Periodieke facturen\",next_invoice_date:\"Volgende factuurdatum\",ref_number:\"Referentie nummer\",contact:\"Contact\",add_item:\"Item toevoegen\",date:\"Datum\",limit_by:\"Beperken door\",limit_date:\"Uiterste datum\",limit_count:\"Limiet aantal\",count:\"Aantal\",status:\"Status\",select_a_status:\"Selecteer een status\",working:\"Bezig\",on_hold:\"Niet actief\",complete:\"Voltooid\",add_tax:\"Belasting toevoegen\",amount:\"Bedrag\",action:\"Actie\",notes:\"Opmerkingen\",view:\"Bekijken\",basic_info:\"Basis informatie\",send_invoice:\"Verstuur periodieke factuur\",auto_send:\"Automatisch verzenden\",resend_invoice:\"Verstuur periodieke factuur opnieuw\",invoice_template:\"Periodieke factuur sjabloon\",conversion_message:\"Periodieke factuur succesvol gekopieerd\",template:\"Sjabloon\",mark_as_sent:\"Markeer als verzonden\",confirm_send_invoice:\"Deze periodieke factuur wordt via e-mail naar de klant gestuurd\",invoice_mark_as_sent:\"Deze periodieke factuur wordt gemarkeerd als verzonden\",confirm_send:\"Deze terugkerende factuur wordt via e-mail naar de klant gestuurd\",starts_at:\"Startdatum\",due_date:\"Vervaldatum factuur\",record_payment:\"Betaling registreren\",add_new_invoice:\"Nieuwe periodieke factuur toevoegen\",update_expense:\"Onkosten bijwerken\",edit_invoice:\"Periodieke factuur bewerken\",new_invoice:\"Nieuwe periodieke factuur toevoegen\",send_automatically:\"Automatisch verzenden\",send_automatically_desc:\"Schakel dit in als u de factuur automatisch aan de klant wilt sturen wanneer deze is aangemaakt.\",save_invoice:\"Bewaar periodieke factuur\",update_invoice:\"Periodieke factuur bewerken\",add_new_tax:\"Nieuwe btw toevoegen\",no_invoices:\"Nog geen periodieke facturen!\",mark_as_rejected:\"Markeer als afgewezen\",mark_as_accepted:\"Markeer als geaccepteerd\",list_of_invoices:\"Hier vind je de periodieke facturen terug.\",select_invoice:\"Selecteer Factuur\",no_matching_invoices:\"Er zijn geen overeenkomende periodieke facturen!\",mark_as_sent_successfully:\"Periodieke factuur gemarkeerd als succesvol verzonden\",invoice_sent_successfully:\"Periodieke factuur succesvol verzonden\",cloned_successfully:\"Terugkerende factuur succesvol gekopieerd\",clone_invoice:\"Kopieer periodieke factuur\",confirm_clone:\"Deze periodieke factuur wordt gekopieerd naar een nieuwe periodieke factuur\",add_customer_email:\"Please add an email address for this customer to send invoices automatically.\",item:{title:\"Item titel\",description:\"Beschrijving\",quantity:\"Aantal\",price:\"Prijs\",discount:\"Korting\",total:\"Totaal\",total_discount:\"Totale korting\",sub_total:\"Subtotaal\",tax:\"Btw\",amount:\"Bedrag\",select_an_item:\"Typ of klik om een item te selecteren\",type_item_description:\"Type item beschrijving (optioneel)\"},frequency:{title:\"Frequentie\",select_frequency:\"Frequentie selecteren\",minute:\"Minuut\",hour:\"Uur\",day_month:\"Dag van de maand\",month:\"Maand\",day_week:\"Dag van de week\"},confirm_delete:\"Deze factuur wordt permanent verwijderd |\\xA0Deze facturen worden permanent verwijderd\",created_message:\"Terugkerende factuur succesvol gecre\\xEBerd\",updated_message:\"Terugkerende factuur succesvol bijgewerkt\",deleted_message:\"Periodieke factuur succesvol verwijderd |\\xA0Periodieke facturen succesvol verwijderd\",marked_as_sent_message:\"Periodieke factuur gemarkeerd als succesvol verzonden\",user_email_does_not_exist:\"E-mailadres van gebruiker bestaat niet\",something_went_wrong:\"er is iets fout gegaan\",invalid_due_amount_message:\"Het totale factuurbedrag mag niet lager zijn dan het totale betaalde bedrag voor deze factuur.\\xA0Werk de factuur bij of verwijder de bijbehorende betalingen om door te gaan.\"},ug={title:\"Betalingen\",payments_list:\"Betalingslijst\",record_payment:\"Bestaling registreren\",customer:\"Klant\",date:\"Datum\",amount:\"Bedrag\",action:\"Actie\",payment_number:\"Betalingsnummer\",payment_mode:\"Betaalmethode\",invoice:\"Factuur\",note:\"Notitie\",add_payment:\"Betaling toevoegen\",new_payment:\"Nieuwe betaling\",edit_payment:\"Betaling bewerken\",view_payment:\"Bekijk betaling\",add_new_payment:\"Nieuwe betaling toevoegen\",send_payment_receipt:\"Betaalbewijs verzenden\",send_payment:\"Verstuur betaling\",save_payment:\"Betaling opslaan\",update_payment:\"Betaling bijwerken\",payment:\"Betaling |\\xA0Betalingen\",no_payments:\"Nog geen betalingen!\",not_selected:\"Niet geselecteerd\",no_invoice:\"Geen factuur\",no_matching_payments:\"Er zijn geen overeenkomende betalingen!\",list_of_payments:\"Hier vind je jouw betalingen terug.\",select_payment_mode:\"Selecteer betalingswijze\",confirm_mark_as_sent:\"Deze offerte wordt gemarkeerd als verzonden\",confirm_send_payment:\"Deze betaling wordt via e-mail naar de klant gestuurd\",send_payment_successfully:\"Betaling succesvol verzonden\",something_went_wrong:\"Er is iets fout gegaan\",confirm_delete:\"Deze betaling wordt permanent verwijderd |\\xA0Deze betalingen worden permanent verwijderd\",created_message:\"De betaling is succesvol aangemaakt\",updated_message:\"Betaling succesvol bijgewerkt\",deleted_message:\"Betaling succesvol verwijderd |\\xA0Betalingen zijn verwijderd\",invalid_amount_message:\"Het bedrag van de betaling is ongeldig\"},mg={title:\"Uitgaven\",expenses_list:\"Uitgavenlijst\",select_a_customer:\"Selecteer een klant\",expense_title:\"Titel\",customer:\"Klant\",currency:\"Valuta\",contact:\"Contact\",category:\"Categorie\",from_date:\"Van datum\",to_date:\"Tot datum\",expense_date:\"Datum\",description:\"Omschrijving\",receipt:\"Bon\",amount:\"Bedrag\",action:\"Actie\",not_selected:\"Niet geselecteerd\",note:\"Notitie\",category_id:\"Categorie ID\",date:\"Uitgavendatum\",add_expense:\"Kosten toevoegen\",add_new_expense:\"Kosten toevoegen\",save_expense:\"Kosten opslaan\",update_expense:\"Onkosten bijwerken\",download_receipt:\"Ontvangstbewijs downloaden\",edit_expense:\"Uitgaven bewerken\",new_expense:\"Kosten toevoegen\",expense:\"Uitgaven |\\xA0Uitgaven\",no_expenses:\"Nog geen kosten!\",list_of_expenses:\"Hier vind je jouw uitgaven terug.\",confirm_delete:\"Deze uitgave wordt permanent verwijderd | Deze kosten worden permanent verwijderd\",created_message:\"Kosten succesvol gemaakt\",updated_message:\"Kosten succesvol bijgewerkt\",deleted_message:\"Kosten succesvol verwijderd |\\xA0Uitgaven zijn verwijderd\",categories:{categories_list:\"Categorie\\xEBnlijst\",title:\"Titel\",name:\"Naam\",description:\"Omschrijving\",amount:\"Bedrag\",actions:\"Acties\",add_category:\"categorie toevoegen\",new_category:\"Nieuwe categorie\",category:\"Categorie |\\xA0Categorie\\xEBn\",select_a_category:\"Selecteer een categorie\"}},pg={email:\"E-mail\",password:\"Wachtwoord\",forgot_password:\"Wachtwoord vergeten?\",or_signIn_with:\"of Log in met\",login:\"Log in\",register:\"Registreren\",reset_password:\"Wachtwoord opnieuw instellen\",password_reset_successfully:\"Wachtwoord opnieuw ingesteld\",enter_email:\"Voer email in\",enter_password:\"Voer wachtwoord in\",retype_password:\"Geef nogmaals het wachtwoord\"},fg={buy_now:\"Buy Now\",install:\"Install\",price:\"Price\",download_zip_file:\"Download ZIP file\",unzipping_package:\"Unzipping Package\",copying_files:\"Copying Files\",deleting_files:\"Deleting Unused files\",completing_installation:\"Completing Installation\",update_failed:\"Update Failed\",install_success:\"Module has been installed successfully!\",customer_reviews:\"Reviews\",license:\"License\",faq:\"FAQ\",monthly:\"Monthly\",yearly:\"Yearly\",updated:\"Updated\",version:\"Version\",disable:\"Disable\",module_disabled:\"Module Disabled\",enable:\"Enable\",module_enabled:\"Module Enabled\",update_to:\"Update To\",module_updated:\"Module Updated Successfully!\",title:\"Modules\",module:\"Module | Modules\",api_token:\"API token\",invalid_api_token:\"Invalid API Token.\",other_modules:\"Other Modules\",view_all:\"View All\",no_reviews_found:\"There are no reviews for this module yet!\",module_not_purchased:\"Module Not Purchased\",module_not_found:\"Module Not Found\",version_not_supported:\"This module version doesn't support the current version of Crater\",last_updated:\"Last Updated On\",connect_installation:\"Connect your installation\",api_token_description:\"Login to {url} and connect this installation by entering the API Token. Your purchased modules will show up here after the connection is established.\",view_module:\"View Module\",update_available:\"Update Available\",purchased:\"Purchased\",installed:\"Installed\",no_modules_installed:\"No Modules Installed Yet!\",disable_warning:\"All the settings for this particular will be reverted.\",what_you_get:\"What you get\"},gg={title:\"Gebruikers\",users_list:\"Gebruikerslijst\",name:\"Naam\",description:\"Omschrijving\",added_on:\"Toegevoegd\",date_of_creation:\"Datum van creatie\",action:\"Actie\",add_user:\"Gebruiker toevoegen\",save_user:\"Gebruiker opslaan\",update_user:\"Gebruiker bijwerken\",user:\"Gebruiker | Gebruikers\",add_new_user:\"Nieuwe gebruiker toevoegen\",new_user:\"Nieuwe gebruiker\",edit_user:\"Gebruiker bewerken\",no_users:\"Nog geen gebruikers!\",list_of_users:\"Deze sectie zal de lijst met gebruikers bevatten.\",email:\"E-mail\",phone:\"Telefoon\",password:\"Wachtwoord\",user_attached_message:\"Kan een item dat al in gebruik is niet verwijderen\",confirm_delete:\"Je kunt deze gebruiker later niet herstellen | Je kunt deze gebruikers later niet herstellen\",created_message:\"Gebruiker succesvol aangemaakt\",updated_message:\"Gebruiker met succes bijgewerkt\",deleted_message:\"Gebruiker succesvol verwijderd | Gebruikers succesvol verwijderd\",select_company_role:\"Selecteer rol voor {company}\",companies:\"Bedrijven\"},vg={title:\"Verslag doen van\",from_date:\"Van datum\",to_date:\"Tot datum\",status:\"Status\",paid:\"Betaald\",unpaid:\"Onbetaald\",download_pdf:\"Download PDF\",view_pdf:\"Bekijk PDF\",update_report:\"Rapport bijwerken\",report:\"Verslag |\\xA0Rapporten\",profit_loss:{profit_loss:\"Verlies\",to_date:\"Tot datum\",from_date:\"Van datum\",date_range:\"Selecteer Datumbereik\"},sales:{sales:\"Verkoop\",date_range:\"Selecteer datumbereik\",to_date:\"Tot datum\",from_date:\"Van datum\",report_type:\"Rapporttype\"},taxes:{taxes:\"Belastingen\",to_date:\"Tot datum\",from_date:\"Van datum\",date_range:\"Selecteer Datumbereik\"},errors:{required:\"Veld is vereist\"},invoices:{invoice:\"Factuur\",invoice_date:\"Factuur datum\",due_date:\"Vervaldatum\",amount:\"Bedrag\",contact_name:\"Contactnaam\",status:\"Status\"},estimates:{estimate:\"Offerte\",estimate_date:\"Offerte Datum\",due_date:\"Vervaldatum\",estimate_number:\"Offerte nummer\",ref_number:\"Referentie nummer\",amount:\"Bedrag\",contact_name:\"Contactnaam\",status:\"Status\"},expenses:{expenses:\"Uitgaven\",category:\"Categorie\",date:\"Datum\",amount:\"Bedrag\",to_date:\"Tot datum\",from_date:\"Van datum\",date_range:\"Selecteer Datumbereik\"}},yg={menu_title:{account_settings:\"Account instellingen\",company_information:\"Bedrijfsinformatie\",customization:\"Aanpassen\",preferences:\"Voorkeuren\",notifications:\"Kennisgevingen\",tax_types:\"Belastingtypen\",expense_category:\"Onkostencategorie\\xEBn\",update_app:\"App bijwerken\",backup:\"Back-up\",file_disk:\"Bestandsopslag\",custom_fields:\"Aangepaste velden\",payment_modes:\"Betaalmethodes\",notes:\"Opmerkingen\",exchange_rate:\"Wisselkoers\",address_information:\"Address Information\"},address_information:{section_description:\"  You can update Your Address information using form below.\"},title:\"Instellingen\",setting:\"Instellingen |\\xA0Instellingen\",general:\"Algemeen\",language:\"Taal\",primary_currency:\"Primaire valuta\",timezone:\"Tijdzone\",date_format:\"Datumnotatie\",currencies:{title:\"Valuta's\",currency:\"Valuta |\\xA0Valuta's\",currencies_list:\"Lijst van valuta's\",select_currency:\"selecteer valuta\",name:\"Naam\",code:\"Code\",symbol:\"Symbool\",precision:\"Precisie\",thousand_separator:\"Duizend scheidingsteken\",decimal_separator:\"Decimaalscheidingsteken\",position:\"Positie\",position_of_symbol:\"Positie van symbool\",right:\"Rechtsaf\",left:\"Links\",action:\"Actie\",add_currency:\"Valuta toevoegen\"},mail:{host:\"Mail host\",port:\"Mail Port\",driver:\"Mail-stuurprogramma\",secret:\"Geheim\",mailgun_secret:\"Mailgun Secret\",mailgun_domain:\"Domein\",mailgun_endpoint:\"Mailgun-eindpunt\",ses_secret:\"SES Secret\",ses_key:\"SES-sleutel\",password:\"Mail wachtwoord\",username:\"Mail gebruikersnaam\",mail_config:\"E-mailconfiguratie\",from_name:\"Van Mail Name\",from_mail:\"Van e-mailadres\",encryption:\"E-mailversleuteling\",mail_config_desc:\"Hieronder vindt u het formulier voor het configureren van het e-mailstuurprogramma voor het verzenden van e-mails vanuit de app.\\xA0U kunt ook externe providers zoals Sendgrid, SES enz. Configureren.\"},pdf:{title:\"PDF-instelling\",footer_text:\"Voettekst\",pdf_layout:\"PDF indeling\"},company_info:{company_info:\"Bedrijfsinfo\",company_name:\"Bedrijfsnaam\",company_logo:\"Bedrijfslogo\",section_description:\"Informatie over uw bedrijf die wordt weergegeven op facturen, offertes en andere documenten die door Crater zijn gemaakt.\",phone:\"Telefoon\",country:\"Land\",state:\"Provincie\",city:\"Stad\",address:\"Adres\",zip:\"Postcode\",save:\"Opslaan\",delete:\"Verwijderen\",updated_message:\"Bedrijfsinformatie succesvol bijgewerkt\",delete_company:\"Bedrijf verwijderen\",delete_company_description:\"Zodra u uw bedrijf verwijdert, verliest u alle gegevens en bestanden die eraan gekoppeld zijn.\",are_you_absolutely_sure:\"Weet u het zeker?\",delete_company_modal_desc:\"Deze actie kan niet ongedaan worden gemaakt. Dit zal {company} en alle bijbehorende gegevens permanent verwijderen.\",delete_company_modal_label:\"Typ {company} om te bevestigen\"},custom_fields:{title:\"Aangepaste velden\",section_description:\"Uw facturen, offertes & betalingsbewijzen aanpassen met uw eigen velden. Gebruik onderstaande velden op het adres format op de Customization instellings pagina.\",add_custom_field:\"Extra veld toevoegen\",edit_custom_field:\"Veld wijzigen\",field_name:\"Veld naam\",label:\"Label\",type:\"Type\",name:\"Naam\",slug:\"Slug\",required:\"Verplicht\",placeholder:\"Tijdelijke plaatshouder\",help_text:\"Hulp Text\",default_value:\"Standaard waarde\",prefix:\"Voorvoegsel\",starting_number:\"Startnummer\",model:\"Model\",help_text_description:\"Voer tekst in om gebruikers te helpen het doel van dit aangepaste veld te begrijpen.\",suffix:\"Achtervoegsel\",yes:\"Ja\",no:\"Nee\",order:\"Volgorde\",custom_field_confirm_delete:\"U kunt dit veld niet herstellen\",already_in_use:\"Aangepast veld is al in gebruik\",deleted_message:\"Aangepast veld is succesvol verwijderd\",options:\"opties\",add_option:\"Optie toevoegen\",add_another_option:\"Nog een optie toevoegen\",sort_in_alphabetical_order:\"Sorteer op alfabetische volgorde\",add_options_in_bulk:\"Voeg opties toe in bulk\",use_predefined_options:\"Gebruik voorgedefinieerde opties\",select_custom_date:\"Selecteer een aangepaste datum\",select_relative_date:\"Selecteer relatieve datum\",ticked_by_default:\"Standaard aangevinkt\",updated_message:\"Aangepast veld is succesvol aangepast\",added_message:\"Aangepast veld is succesvol toegevoegd\",press_enter_to_add:\"Druk op Enter om een nieuwe optie toe te voegen\",model_in_use:\"Kan model niet bijwerken voor velden die al in gebruik zijn.\",type_in_use:\"Kan type niet bijwerken voor velden die al in gebruik zijn.\"},customization:{customization:\"aanpassen\",updated_message:\"Bedrijfsinformatie succesvol bijgewerkt\",save:\"Opslaan\",insert_fields:\"Velden invoegen\",learn_custom_format:\"Leer hoe je een aangepast formaat kunt gebruiken\",add_new_component:\"Component toevoegen\",component:\"Component\",Parameter:\"Parameter\",series:\"Reeksen\",series_description:\"Om een statische voorvoegsel/postfix zoals 'INV' in uw hele bedrijf in te stellen. Het ondersteunt tekenlengte tot 4 tekens.\",series_param_label:\"Serie Waarde\",delimiter:\"Scheidingsteken\",delimiter_description:\"Enkel teken voor het opgeven van de grens tussen 2 verschillende componenten. Standaard is het ingesteld op -\",delimiter_param_label:\"Scheidingsteken waarde\",date_format:\"Datumformaat\",date_format_description:\"Een lokaal datum- en tijdveld dat een formaatparameter accepteert. Het standaardformaat: 'Y' geeft het huidige jaar weer.\",date_format_param_label:\"Formaat\",sequence:\"Volgnummer\",sequence_description:\"Opeenvolgende nummering voor uw bedrijf. U kunt de lengte opgeven op de aangegeven parameter.\",sequence_param_label:\"Volgnummerlengte\",customer_series:\"Voorvoegsel\",customer_series_description:\"Om een andere voor- of achtervoegsel voor elke klant in te stellen.\",customer_sequence:\"Klantnummer\",customer_sequence_description:\"Een volgnummer voor elk van uw klanten.\",customer_sequence_param_label:\"Klantnummerlengte\",random_sequence:\"Willekeurige reeks\",random_sequence_description:\"Willekeurige alfanumerieke tekenreeks. U kunt de lengte opgeven op de aangegeven parameters.\",random_sequence_param_label:\"Volgnummerlengte\",invoices:{title:\"Facturen\",invoice_number_format:\"Factuurnummer indeling\",invoice_number_format_description:\"Wijzig hoe uw factuurnummer automatisch wordt gegenereerd bij het aanmaken van een nieuwe factuur.\",preview_invoice_number:\"Voorbeeldweergave factuurnummer indeling\",due_date:\"Vervaldatum\",due_date_description:\"Geef aan hoe de vervaldatum automatisch wordt ingesteld wanneer u een factuur aanmaakt.\",due_date_days:\"Factuur verlopen na dagen\",set_due_date_automatically:\"Vervaldatum automatisch vullen\",set_due_date_automatically_description:\"Schakel dit in als u automatisch een vervaldatum wilt instellen wanneer u een nieuwe factuur aanmaakt.\",default_formats:\"Standaard opmaak\",default_formats_description:\"Onderstaand formaat wordt gebruikt om de velden automatisch in te vullen bij het aanmaken van facturen.\",default_invoice_email_body:\"Standaard factuur email text\",company_address_format:\"Bedrijfsadres format\",shipping_address_format:\"Verzendadres format\",billing_address_format:\"Factuuradres format\",invoice_email_attachment:\"Stuur factuur als bijlage\",invoice_email_attachment_setting_description:\"Schakel dit in als u facturen als e-mailbijlage wilt verzenden. Houd er rekening mee dat de knop 'Factuur bekijken' in e-mails niet meer wordt weergegeven wanneer deze is ingeschakeld.\",invoice_settings_updated:\"Factuurinstelling succesvol bijgewerkt\",retrospective_edits:\"Retrospectieve bewerkingen\",allow:\"Toestaan\",disable_on_invoice_partial_paid:\"Uitschakelen nadat gedeeltelijke betaling is opgeslagen\",disable_on_invoice_paid:\"Uitschakelen nadat volledige betaling is opgenomen\",disable_on_invoice_sent:\"Uitschakelen nadat factuur is verzonden\",retrospective_edits_description:\" Op basis van de wetten van uw land of uw voorkeur, kunt u gebruikers beperken om afgeronde facturen te bewerken.\"},estimates:{title:\"Offertes\",estimate_number_format:\"Offerte nummer formaat\",estimate_number_format_description:\"Aanpassen hoe uw offertes nummer automatisch wordt gegenereerd als u een nieuwe offerte aanmaakt.\",preview_estimate_number:\"Voorbeeld offertes nummer\",expiry_date:\"Vervaldatum\",expiry_date_description:\"Geef aan hoe de vervaldatum automatisch wordt ingesteld wanneer u een offerte aanmaakt.\",expiry_date_days:\"Offerte vervalt over dagen\",set_expiry_date_automatically:\"Automatisch vervaldatum instellen\",set_expiry_date_automatically_description:\"Schakel dit in als u automatisch de vervaldatum wilt instellen wanneer u een nieuwe schatting maakt.\",default_formats:\"Standaardformaat\",default_formats_description:\"Onderstaand formaten wordt gebruikt om de velden automatisch in te vullen bij het aanmaken van offerte.\",default_estimate_email_body:\"Standaard offerte email text\",company_address_format:\"Bedrijfsadres format\",shipping_address_format:\"Verzendadres format\",billing_address_format:\"Factuuradres Format\",estimate_email_attachment:\"Stuur offerte als bijlage\",estimate_email_attachment_setting_description:\"Schakel dit in als u de offertes als e-mailbijlage wilt verzenden. Houd er rekening mee dat de knop 'Bekijk offerte' in e-mails niet meer wordt weergegeven wanneer deze is ingeschakeld.\",estimate_settings_updated:\"Instelling Offerte succesvol bijgewerkt\",convert_estimate_options:\"Offerte omzetten actie\",convert_estimate_description:\"Specificeer wat er gebeurt met de offerte nadat deze omgezet is naar een factuur.\",no_action:\"Geen handeling\",delete_estimate:\"Schatting verwijderen\",mark_estimate_as_accepted:\"Markeren offerte als geaccepteerd\"},payments:{title:\"Betalingen\",payment_number_format:\"Betalingnummer formaat\",payment_number_format_description:\"Aanpassen hoe uw offertes nummer automatisch wordt gegenereerd als u een nieuwe offerte aanmaakt.\",preview_payment_number:\"Bekijk betalingsnummer\",default_formats:\"Standaard formaten\",default_formats_description:\"Onderstaande formaten worden gebruikt om de velden automatisch in te vullen bij het maken van betalingen.\",default_payment_email_body:\"Standaard format betalingsmail\",company_address_format:\"Bedrijfsadres format\",from_customer_address_format:\"Van klant adres formaat\",payment_email_attachment:\"Stuur betaalbewijs als bijlage\",payment_email_attachment_setting_description:\"Schakel dit in als u de betalingsbewijzen als e-mailbijlage wilt verzenden. Houd er rekening mee dat de knop 'Betaling bekijken' in e-mails niet meer wordt weergegeven wanneer deze is ingeschakeld.\",payment_settings_updated:\"Betalingsinstelling ge\\xFCpdatet\"},items:{title:\"Artikelen\",units:\"eenheden\",add_item_unit:\"Itemeenheid toevoegen\",edit_item_unit:\"Itemeenheid bewerken\",unit_name:\"Naam eenheid\",item_unit_added:\"Item Eenheid toegevoegd\",item_unit_updated:\"Artikeleenheid bijgewerkt\",item_unit_confirm_delete:\"U kunt dit item niet terughalen\",already_in_use:\"Item Unit is al in gebruik\",deleted_message:\"Artikeleenheid succesvol verwijderd\"},notes:{title:\"Opmerkingen\",description:\"Bespaar tijd door notities te maken en ze opnieuw te gebruiken op uw facturen, ramingen en betalingen.\",notes:\"Opmerkingen\",type:\"Type\",add_note:\"Notitie toevoegen\",add_new_note:\"Voeg een nieuwe notitie toe\",name:\"Naam\",edit_note:\"Notitie bewerken\",note_added:\"Notitie toegevoegd\",note_updated:\"Notitie bijgewerkt\",note_confirm_delete:\"U kunt deze notitie niet terughalen\",already_in_use:\"Notitie is reeds in gebruik\",deleted_message:\"Notitie verwijderd\"}},account_settings:{profile_picture:\"Profielfoto\",name:\"Naam\",email:\"E-mail\",password:\"Wachtwoord\",confirm_password:\"bevestig wachtwoord\",account_settings:\"Account instellingen\",save:\"Opslaan\",section_description:\"U kunt uw naam, e-mailadres en wachtwoord bijwerken via onderstaand formulier.\",updated_message:\"Accountinstellingen succesvol bijgewerkt\"},user_profile:{name:\"Naam\",email:\"E-mail\",password:\"Wachtwoord\",confirm_password:\"Bevestig wachtwoord\"},notification:{title:\"Kennisgeving\",email:\"Stuur meldingen naar\",description:\"Welke e-mailmeldingen wilt u ontvangen als er iets verandert?\",invoice_viewed:\"Factuur bekeken\",invoice_viewed_desc:\"Wanneer uw klant de factuur bekijkt die via het kraterdashboard is verzonden.\",estimate_viewed:\"Offerte bekeken\",estimate_viewed_desc:\"Wanneer uw klant de offerte bekijkt die via het kraterdashboard is verzonden.\",save:\"Opslaan\",email_save_message:\"E-mail succesvol opgeslagen\",please_enter_email:\"Voer e-mailadres in\"},roles:{title:\"Rollen\",description:\"Beheer de rollen en machtigingen van dit bedrijf\",save:\"Opslaan\",add_new_role:\"Nieuwe rol toevoegen\",role_name:\"Rol naam\",added_on:\"Toegevoegd op\",add_role:\"Rol toevoegen\",edit_role:\"Rol bewerken\",name:\"Naam\",permission:\"Machtiging Machtigingen\",select_all:\"Selecteer alles\",none:\"Geen\",confirm_delete:\"Dit rol wordt permanent verwijderd\",created_message:\"Rol succesvol gemaakt\",updated_message:\"Rol succesvol bijgewerkt\",deleted_message:\"Rol succesvol verwijderd\",already_in_use:\"Rol is reeds in gebruik\"},exchange_rate:{exchange_rate:\"Wisselkoers\",title:\"Problemen met wisselkoersen oplossen\",description:\"Voer de wisselkoers in van alle onderstaande valuta's om Crater te helpen de bedragen in {currency} goed te berekenen.\",drivers:\"Stuurprogramma 's\",new_driver:\"Voeg nieuwe provider toe\",edit_driver:\"Provider bewerken\",select_driver:\"Selecteer stuurprogramma\",update:\"selecteer wisselkoers \",providers_description:\"Configureer hier uw wisselkoersaanbieders om de laatste wisselkoers voor transacties automatisch op te halen.\",key:\"API sleutel\",name:\"Naam\",driver:\"Stuurprogramma\",is_default:\"IS STANDAARD\",currency:\"Valuta's\",exchange_rate_confirm_delete:\"Dit stuurprogramma wordt permanent verwijderd\",created_message:\"Provider succesvol aangemaakt\",updated_message:\"Provider succesvol bijgewerkt\",deleted_message:\"Provider succesvol verwijderd\",error:\" U kunt de actieve stuurprogramma niet verwijderen\",default_currency_error:\"Deze valuta wordt al gebruikt in een van de Actieve Provider\",exchange_help_text:\"Voer de wisselkoers in om te converteren van {currency} naar {baseCurrency}\",currency_freak:\"Valuta Freak\",currency_layer:\"Currency Layer\",open_exchange_rate:\"Open Exchange Rate\",currency_converter:\"Valuta omzetter\",server:\"Server\",url:\"URL\",active:\"Actief\",currency_help_text:\"This provider will only be used on above selected currencies\",currency_in_used:\"The following currencies are already active on another provider. Please remove these currencies from selection to activate this provider again.\"},tax_types:{title:\"Belastingtypen\",add_tax:\"Belasting toevoegen\",edit_tax:\"Belasting bewerken\",description:\"U kunt naar believen belastingen toevoegen of verwijderen.\\xA0Crater ondersteunt belastingen op individuele items en op de factuur.\",add_new_tax:\"Nieuwe belasting toevoegen\",tax_settings:\"Belastinginstellingen\",tax_per_item:\"Belasting per item\",tax_name:\"Belastingnaam\",compound_tax:\"Samengestelde belasting\",percent:\"Procent\",action:\"Actie\",tax_setting_description:\"Schakel dit in als u belastingen wilt toevoegen aan afzonderlijke factuuritems.\\xA0Standaard worden belastingen rechtstreeks aan de factuur toegevoegd.\",created_message:\"Belastingtype is gemaakt\",updated_message:\"Belastingtype succesvol bijgewerkt\",deleted_message:\"Belastingtype succesvol verwijderd\",confirm_delete:\"Dit belastingtype wordt permanent verwijderd\",already_in_use:\"Belasting al in gebruik\"},payment_modes:{title:\"Betaalmethodes\",description:\"Modes of transaction for payments\",add_payment_mode:\"Add Payment Mode\",edit_payment_mode:\"Edit Payment Mode\",mode_name:\"Mode Name\",payment_mode_added:\"Betaalwijze toegevoegd\",payment_mode_updated:\"Payment Mode Updated\",payment_mode_confirm_delete:\"You will not be able to recover this Payment Mode\",payments_attached:\"This payment method is already attached to payments. Please delete the attached payments to proceed with deletion.\",expenses_attached:\"This payment method is already attached to expenses. Please delete the attached expenses to proceed with deletion.\",deleted_message:\"Payment Mode deleted successfully\"},expense_category:{title:\"Onkostencategorie\\xEBn\",action:\"Actie\",description:\"Categorie\\xEBn zijn vereist voor het toevoegen van onkostenposten.\\xA0U kunt deze categorie\\xEBn naar wens toevoegen of verwijderen.\",add_new_category:\"Voeg een nieuwe categorie toe\",add_category:\"categorie toevoegen\",edit_category:\"Categorie bewerken\",category_name:\"categorie naam\",category_description:\"Omschrijving\",created_message:\"Onkostencategorie succesvol aangemaakt\",deleted_message:\"Uitgavencategorie is verwijderd\",updated_message:\"Uitgavencategorie is bijgewerkt\",confirm_delete:\"U kunt deze uitgavencategorie niet herstellen\",already_in_use:\"Categorie al in gebruik\"},preferences:{currency:\"Valuta\",default_language:\"Standaard taal\",time_zone:\"Tijdzone\",fiscal_year:\"Financieel jaar\",date_format:\"Datumnotatie\",discount_setting:\"Kortingsinstelling\",discount_per_item:\"Korting per item\",discount_setting_description:\"Schakel dit in als u korting wilt toevoegen aan afzonderlijke factuuritems.\\xA0Standaard wordt korting rechtstreeks aan de factuur toegevoegd.\",expire_public_links:\"Automatically Expire Public Links\",expire_setting_description:\"Specify whether you would like to expire all the links sent by application to view invoices, estimates & payments, etc after a specified duration.\",save:\"Opslaan\",preference:\"Voorkeur |\\xA0Voorkeuren\",general_settings:\"Standaardvoorkeuren voor het systeem.\",updated_message:\"Voorkeuren succesvol bijgewerkt\",select_language:\"Selecteer taal\",select_time_zone:\"Selecteer Tijdzone\",select_date_format:\"Selecteer datum/tijdindeling\",select_financial_year:\"Selecteer financieel ja\",recurring_invoice_status:\"Recurring Invoice Status\",create_status:\"Create Status\",active:\"Active\",on_hold:\"In wacht\",update_status:\"Updatestatus\",completed:\"Voltooid\",company_currency_unchangeable:\"Bedrijfsvaluta kan niet worden gewijzigd\"},update_app:{title:\"App bijwerken\",description:\"U kunt Crater eenvoudig bijwerken door te controleren op een nieuwe update door op de onderstaande knop te klikken\",check_update:\"Controleer op updates\",avail_update:\"Nieuwe update beschikbaar\",next_version:\"Volgende versie\",requirements:\"Vereisten\",update:\"Nu updaten\",update_progress:\"Update wordt uitgevoerd...\",progress_text:\"Het duurt maar een paar minuten.\\xA0Vernieuw het scherm niet en sluit het venster niet voordat de update is voltooid\",update_success:\"App is bijgewerkt!\\xA0Een ogenblik geduld, uw browservenster wordt automatisch opnieuw geladen.\",latest_message:\"Geen update beschikbaar!\\xA0U gebruikt de nieuwste versie.\",current_version:\"Huidige versie\",download_zip_file:\"Download ZIP-bestand\",unzipping_package:\"Pakket uitpakken\",copying_files:\"Bestanden kopi\\xEBren\",deleting_files:\"Ongebruikte bestanden verwijderen\",running_migrations:\"Migraties uitvoeren\",finishing_update:\"Afwerking Update\",update_failed:\"Update mislukt\",update_failed_text:\"Sorry!\\xA0Je update is mislukt op: {step} step \",update_warning:\"All of the application files and default template files will be overwritten when you update the application using this utility. Please take a backup of your templates & database before updating.\"},backup:{title:\"Backup | Backups\",description:\"De back-up is een zipfile met alle bestanden in de mappen die je opgeeft samen met een dump van je database\",new_backup:\"Nieuwe back-up\",create_backup:\"Backup maken\",select_backup_type:\"Backup-type selecteren\",backup_confirm_delete:\"U kunt deze back-up niet terughalen\",path:\"pad\",new_disk:\"Nieuwe schijf\",created_at:\"aangemaakt op\",size:\"grootte\",dropbox:\"dropbox\",local:\"lokaal\",healthy:\"gezond\",amount_of_backups:\"aantal back-ups\",newest_backups:\"nieuwste back-ups\",used_storage:\"gebruikte opslag\",select_disk:\"Selecteer Disk\",action:\"Actie\",deleted_message:\"Back-up is succesvol verwijderd\",created_message:\"Back-up successvol gemaakt\",invalid_disk_credentials:\"Ongeldige inloggegevens voor geselecteerde schijf\"},disk:{title:\"Bestandsschijf | Bestandsschijven\",description:\"Standaard gebruikt Crater uw lokale schijf om back-ups, avatars en andere afbeeldingen op te slaan. U kunt indien gewenst meer dan \\xE9\\xE9n opslaglocatie configureren zoals DigitalOcean, S3 en Dropbox.\",created_at:\"aangemaakt op\",dropbox:\"dropbox\",name:\"Naam\",driver:\"Stuurprogramma\",disk_type:\"Type\",disk_name:\"Naam van de schijf\",new_disk:\"Nieuwe schijf toevoegen\",filesystem_driver:\"Bestandssysteem locatie\",local_driver:\"lokaal besturingsprogramma\",local_root:\"locale schijf\",public_driver:\"Publiek besturingsprogramma\",public_root:\"Openbare schijf\",public_url:\"Publieke URL\",public_visibility:\"Publieke zichtbaarheid\",media_driver:\"Media stuurprogramma\",media_root:\"Media schijf\",aws_driver:\"AWS Stuurprogramma\",aws_key:\"AWS Sleutel\",aws_secret:\"AWS Secret\",aws_region:\"AWS Regio\",aws_bucket:\"AWS Bucket\",aws_root:\"AWS Root\",do_spaces_type:\"Do Spaces type\",do_spaces_key:\"Do Spaces Key\",do_spaces_secret:\"Do Spaces Secret\",do_spaces_region:\"Do Spaces Regio\",do_spaces_bucket:\"Do Spaces Bucket\",do_spaces_endpoint:\"Do Spaces Endpoint\",do_spaces_root:\"Do Spaces Root\",dropbox_type:\"Dropbox Type\",dropbox_token:\"Dropbox Token\",dropbox_key:\"Dropbox Key\",dropbox_secret:\"Dropbox Secret\",dropbox_app:\"Dropbox App\",dropbox_root:\"Dropbox Root\",default_driver:\"Standaard stuurprogramma\",is_default:\"IS STANDAARD\",set_default_disk:\"Standaardschijf instellen\",set_default_disk_confirm:\"Deze schijf zal als standaard worden ingesteld en alle nieuwe PDF's worden opgeslagen op deze schijf\",success_set_default_disk:\"Standaardschijf ingesteld\",save_pdf_to_disk:\"PDF's opslaan op schijf\",disk_setting_description:\" Schakel dit in als je een kopie van elke factuur, raming en betalingsbewijs automatisch op je standaard schijf wilt opslaan. Het inschakelen van deze optie zal de laadtijd verminderen wanneer de PDF's worden bekeken.\",select_disk:\"Selecteer Schijf\",disk_settings:\"Schijfinstellingen\",confirm_delete:\"Uw bestaande bestanden en mappen in de opgegeven schijf worden niet be\\xEFnvloed, maar uw schijfconfiguratie wordt uit Crater verwijderd\",action:\"Actie\",edit_file_disk:\"Bestandsschijf bewerken\",success_create:\"Schijf toegevoegd\",success_update:\"Schijf bijgewerkt\",error:\"Schijf niet toegevoegd\",deleted_message:\"Bestandsschijf verwijderd\",disk_variables_save_successfully:\"Schijf geconfigureerd\",disk_variables_save_error:\"Schijfconfiguratie mislukt.\",invalid_disk_credentials:\"Ongeldige inloggegevens voor geselecteerde schijf\"},taxations:{add_billing_address:\"Enter Billing Address\",add_shipping_address:\"Enter Shipping Address\",add_company_address:\"Enter Company Address\",modal_description:\"The information below is required in order to fetch sales tax.\",add_address:\"Add Address for fetching sales tax.\",address_placeholder:\"Example: 123, My Street\",city_placeholder:\"Example: Los Angeles\",state_placeholder:\"Example: CA\",zip_placeholder:\"Example: 90024\",invalid_address:\"Please provide valid address details.\"}},hg={account_info:\"Account Informatie\",account_info_desc:\"Onderstaande gegevens worden gebruikt om het hoofdbeheerdersaccount te maken.\\xA0Ook kunt u de gegevens op elk moment wijzigen na inloggen.\",name:\"Naam\",email:\"E-mail\",password:\"Wachtwoord\",confirm_password:\"bevestig wachtwoord\",save_cont:\"Opslaan doorgaan\",company_info:\"Bedrijfsinformatie\",company_info_desc:\"Deze informatie wordt weergegeven op facturen.\\xA0Merk op dat u dit later op de instellingenpagina kunt bewerken.\",company_name:\"Bedrijfsnaam\",company_logo:\"Bedrijfslogo\",logo_preview:\"Logo Voorbeeld\",preferences:\"Voorkeuren\",preferences_desc:\"Standaardvoorkeuren voor het systeem.\",currency_set_alert:\"The company's currency cannot be changed later.\",country:\"Land\",state:\"Provincie\",city:\"Stad\",address:\"Adres\",street:\"Straat1 |\\xA0Straat # 2\",phone:\"Telefoon\",zip_code:\"Postcode\",go_back:\"Ga terug\",currency:\"Valuta\",language:\"Taal\",time_zone:\"Tijdzone\",fiscal_year:\"Financieel jaar\",date_format:\"Datumnotatie\",from_address:\"Van adres\",username:\"Gebruikersnaam\",next:\"De volgende\",continue:\"Doorgaan met\",skip:\"Overslaan\",database:{database:\"Site-URL en database\",connection:\"Database verbinding\",host:\"Database host\",port:\"Databasepoort\",password:\"Database wachtwoord\",app_url:\"App-URL\",app_domain:\"App Domein\",username:\"Database gebruikersnaam\",db_name:\"Database naam\",db_path:\"Databankpad\",desc:\"Maak een database op uw server en stel de referenties in via het onderstaande formulier.\"},permissions:{permissions:\"Rechten\",permission_confirm_title:\"Weet je zeker dat je door wilt gaan?\",permission_confirm_desc:\"Controle van maprechten is mislukt\",permission_desc:\"Hieronder vindt u de lijst met mapmachtigingen die vereist zijn om de app te laten werken.\\xA0Als de machtigingscontrole mislukt, moet u de mapmachtigingen bijwerken.\"},verify_domain:{title:\"Menselijke Verificatie\",desc:\"Crater maakt gebruik van sessie gebaseerde authenticatie die domeinverificatie vereist voor veiligheidsdoeleinden. Voer het domein in waarop u toegang zult krijgen tot uw webapplicatie.\",app_domain:\"App Domein\",verify_now:\"Nu verifi\\xEBren\",success:\"E-mailadres succesvol geverifieerd.\",failed:\"Domain verification failed. Please enter valid domain name.\",verify_and_continue:\"Verifi\\xEBren en doorgaan\"},mail:{host:\"E-mail server\",port:\"E-mail Poort\",driver:\"Mail-stuurprogramma\",secret:\"Geheim\",mailgun_secret:\"Mailgun Secret\",mailgun_domain:\"Domein\",mailgun_endpoint:\"Mailgun-eindpunt\",ses_secret:\"SES Secret\",ses_key:\"SES-sleutel\",password:\"Mail wachtwoord\",username:\"Mail gebruikersnaam\",mail_config:\"E-mailconfiguratie\",from_name:\"Van Mail Name\",from_mail:\"Van e-mailadres\",encryption:\"E-mailversleuteling\",mail_config_desc:\"Hieronder vindt u het formulier voor het configureren van het e-mailstuurprogramma voor het verzenden van e-mails vanuit de app.\\xA0U kunt ook externe providers zoals Sendgrid, SES enz. Configureren.\"},req:{system_req:\"systeem vereisten\",php_req_version:\"PHP (versie {versie} vereist))\",check_req:\"Controleer vereisten\",system_req_desc:\"Crater heeft een paar serververeisten.\\xA0Zorg ervoor dat uw server de vereiste php-versie heeft en alle onderstaande extensies.\"},errors:{migrate_failed:\"Migreren mislukt\",database_variables_save_error:\"Kan configuratie niet schrijven naar .env-bestand.\\xA0Controleer de bestandsrechten\",mail_variables_save_error:\"E-mailconfiguratie is mislukt.\",connection_failed:\"Databaseverbinding mislukt\",database_should_be_empty:\"Database moet leeg zijn\"},success:{mail_variables_save_successfully:\"E-mail succesvol geconfigureerd\",database_variables_save_successfully:\"Database succesvol geconfigureerd.\"}},bg={invalid_phone:\"Ongeldig Telefoonnummer\",invalid_url:\"Ongeldige URL (bijvoorbeeld: http://www.crater.com))\",invalid_domain_url:\"Ongeldige URL (bijvoorbeeld: crater.com))\",required:\"Veld is verplicht\",email_incorrect:\"Incorrecte Email.\",email_already_taken:\"De email is al in gebruik.\",email_does_not_exist:\"Gebruiker met opgegeven e-mailadres bestaat niet\",item_unit_already_taken:\"De naam van dit item is al in gebruik\",payment_mode_already_taken:\"Deze naam voor de betalingsmodus is al in gebruik\",send_reset_link:\"Stuur resetlink\",not_yet:\"Nog niet?\\xA0Stuur het opnieuw\",password_min_length:\"Wachtwoord moet {count} tekens bevatten\",name_min_length:\"Naam moet minimaal {count} letters bevatten.\",prefix_min_length:\"Prefix must have at least {count} letters.\",enter_valid_tax_rate:\"Voer een geldig belastingtarief in\",numbers_only:\"Alleen nummers.\",characters_only:\"Alleen tekens.\",password_incorrect:\"Wachtwoorden moeten identiek zijn\",password_length:\"Wachtwoord moet {count} tekens lang zijn.\",qty_must_greater_than_zero:\"Hoeveelheid moet groter zijn dan nul.\",price_greater_than_zero:\"Prijs moet groter zijn dan nul.\",payment_greater_than_zero:\"De betaling moet hoger zijn dan nul.\",payment_greater_than_due_amount:\"Ingevoerde betaling is meer dan het openstaande bedrag van deze factuur.\",quantity_maxlength:\"Het aantal mag niet groter zijn dan 20 cijfers.\",price_maxlength:\"Prijs mag niet groter zijn dan 20 cijfers.\",price_minvalue:\"Prijs moet hoger zijn dan 0.\",amount_maxlength:\"Bedrag mag niet groter zijn dan 20 cijfers.\",amount_minvalue:\"Bedrag moet groter zijn dan 0.\",discount_maxlength:\"Discount should not be greater than max discount\",description_maxlength:\"De beschrijving mag niet meer dan 255 tekens bevatten.\",subject_maxlength:\"Het onderwerp mag niet meer dan 100 tekens bevatten.\",message_maxlength:\"Bericht mag niet groter zijn dan 255 tekens.\",maximum_options_error:\"Maximaal {max} opties geselecteerd.\\xA0Verwijder eerst een geselecteerde optie om een andere te selecteren.\",notes_maxlength:\"Notities mogen niet langer zijn dan 255 tekens.\",address_maxlength:\"Adres mag niet groter zijn dan 255 tekens.\",ref_number_maxlength:\"Ref-nummer mag niet groter zijn dan 255 tekens.\",prefix_maxlength:\"Het voorvoegsel mag niet meer dan 5 tekens bevatten.\",something_went_wrong:\"Er is iets fout gegaan\",number_length_minvalue:\"Het getal moet groter zijn dan 0\",at_least_one_ability:\"Please select atleast one Permission.\",valid_driver_key:\"Please enter a valid {driver} key.\",valid_exchange_rate:\"Please enter a valid exchange rate.\",company_name_not_same:\"Bedrijfsnaam moet overeenkomen met de opgegeven naam.\"},kg={starter_plan:\"Deze functie is beschikbaar vanaf het Starter abonnement!\",invalid_provider_key:\"Voer een geldige API-sleutel in.\",estimate_number_used:\"Dit offertenummer is reeds in gebruik.\",invoice_number_used:\"Dit factuurnummer is reeds in gebruik.\",payment_attached:\"This invoice already has a payment attached to it. Make sure to delete the attached payments first in order to go ahead with the removal.\",payment_number_used:\"Dit factuurnummer is reeds in gebruik.\",name_already_taken:\"Deze naam is reeds in gebruik.\",receipt_does_not_exist:\"Receipt does not exist.\",customer_cannot_be_changed_after_payment_is_added:\"Customer cannot be change after payment is added\",invalid_credentials:\"Inloggegevens ongeldig.\",not_allowed:\"Niet toegestaan\",login_invalid_credentials:\"Deze gegevens zijn niet correct.\",enter_valid_cron_format:\"Please enter a valid cron format\",email_could_not_be_sent:\"Email could not be sent to this email address.\",invalid_address:\"Please enter a valid address.\",invalid_key:\"Please enter valid key.\",invalid_state:\"Please enter a valid state.\",invalid_city:\"Please enter a valid city.\",invalid_postal_code:\"Please enter a valid zip.\",invalid_format:\"Please enter valid query string format.\",api_error:\"Server not responding.\",feature_not_enabled:\"Feature not enabled.\",request_limit_met:\"Api request limit exceeded.\",address_incomplete:\"Incomplete Address\"},wg=\"Offerte\",zg=\"Offerte nummer\",xg=\"Offerte Datum\",Pg=\"Vervaldatum\",Sg=\"Factuur\",jg=\"Factuurnummer\",Ag=\"Factuur datum\",Dg=\"Vervaldatum\",Cg=\"Opmerkingen\",Ng=\"Artikelen\",Eg=\"Aantal stuks\",Ig=\"Prijs\",Tg=\"Korting\",Rg=\"Bedrag\",Mg=\"Subtotaal\",Fg=\"Totaal\",$g=\"Betaling\",Ug=\"Betalingsafschrift\",Vg=\"Betalingsdatum\",Og=\"Betalingsnummer\",Lg=\"Betaalmethode\",qg=\"Ontvangen bedrag\",Bg=\"UITGAVEN RAPPORT\",Kg=\"TOTALE UITGAVEN\",Zg=\"WINST & VERLIES RAPPORT\",Wg=\"Klant verkoop rapport\",Hg=\"Artikel verkooprapport\",Yg=\"Belastingoverzicht\",Gg=\"INKOMEN\",Jg=\"NETTO WINST\",Qg=\"Verkooprapport: per klant\",Xg=\"TOTALE VERKOPEN\",ev=\"Verkooprapport: Per Item\",tv=\"BELASTINGEN RAPPORT\",av=\"TOTALE BELASTINGEN\",nv=\"Belastingtypen\",iv=\"Uitgaven\",ov=\"Rekening naar,\",sv=\"Verzend naar,\",rv=\"Ontvangen van:\",dv=\"Btw\";var lv={navigation:eg,general:tg,dashboard:ag,tax_types:ng,global_search:ig,company_switcher:og,dateRange:sg,customers:rg,items:dg,estimates:lg,invoices:cg,recurring_invoices:_g,payments:ug,expenses:mg,login:pg,modules:fg,users:gg,reports:vg,settings:yg,wizard:hg,validation:bg,errors:kg,pdf_estimate_label:wg,pdf_estimate_number:zg,pdf_estimate_date:xg,pdf_estimate_expire_date:Pg,pdf_invoice_label:Sg,pdf_invoice_number:jg,pdf_invoice_date:Ag,pdf_invoice_due_date:Dg,pdf_notes:Cg,pdf_items_label:Ng,pdf_quantity_label:Eg,pdf_price_label:Ig,pdf_discount_label:Tg,pdf_amount_label:Rg,pdf_subtotal:Mg,pdf_total:Fg,pdf_payment_label:$g,pdf_payment_receipt_label:Ug,pdf_payment_date:Vg,pdf_payment_number:Og,pdf_payment_mode:Lg,pdf_payment_amount_received_label:qg,pdf_expense_report_label:Bg,pdf_total_expenses_label:Kg,pdf_profit_loss_label:Zg,pdf_sales_customers_label:Wg,pdf_sales_items_label:Hg,pdf_tax_summery_label:Yg,pdf_income_label:Gg,pdf_net_profit_label:Jg,pdf_customer_sales_report:Qg,pdf_total_sales_label:Xg,pdf_item_sales_label:ev,pdf_tax_report_label:tv,pdf_total_tax_label:av,pdf_tax_types_label:nv,pdf_expenses_label:iv,pdf_bill_to:ov,pdf_ship_to:sv,pdf_received_from:rv,pdf_tax_label:dv};const cv={dashboard:\"\\uACC4\\uAE30\\uBC18\",customers:\"\\uACE0\\uAC1D\",items:\"\\uC544\\uC774\\uD15C\",invoices:\"\\uC1A1\\uC7A5\",expenses:\"\\uACBD\\uBE44\",estimates:\"\\uACAC\\uC801\",payments:\"\\uC9C0\\uBD88\",reports:\"\\uBCF4\\uACE0\\uC11C\",settings:\"\\uC124\\uC815\",logout:\"\\uB85C\\uADF8 \\uC544\\uC6C3\",users:\"\\uC0AC\\uC6A9\\uC790\"},_v={add_company:\"\\uD68C\\uC0AC \\uCD94\\uAC00\",view_pdf:\"PDF\\uBCF4\\uAE30\",copy_pdf_url:\"PDF URL \\uBCF5\\uC0AC\",download_pdf:\"PDF \\uB2E4\\uC6B4\\uB85C\\uB4DC\",save:\"\\uC800\\uC7A5\",create:\"\\uCC3D\\uC870\\uD558\\uB2E4\",cancel:\"\\uCDE8\\uC18C\",update:\"\\uCD5C\\uC2E0 \\uC815\\uBCF4\",deselect:\"\\uC120\\uD0DD \\uCDE8\\uC18C\",download:\"\\uB2E4\\uC6B4\\uB85C\\uB4DC\",from_date:\"\\uC2DC\\uC791 \\uB0A0\\uC9DC\",to_date:\"\\uD604\\uC7AC\\uAE4C\\uC9C0\",from:\"\\uC5D0\\uC11C\",to:\"\\uC5D0\",sort_by:\"\\uC815\\uB82C \\uAE30\\uC900\",ascending:\"\\uC624\\uB984\\uCC28\\uC21C\",descending:\"\\uB0B4\\uB9BC\\uCC28\\uC21C\",subject:\"\\uC81C\\uBAA9\",body:\"\\uBAB8\",message:\"\\uBA54\\uC2DC\\uC9C0\",send:\"\\uBCF4\\uB0B4\\uB2E4\",go_back:\"\\uB3CC\\uC544 \\uAC00\\uAE30\",back_to_login:\"\\uB85C\\uADF8\\uC778\\uC73C\\uB85C \\uB3CC\\uC544\\uAC00\\uC2DC\\uACA0\\uC2B5\\uB2C8\\uAE4C?\",home:\"\\uC9D1\",filter:\"\\uD544\\uD130\",delete:\"\\uC9C0\\uC6B0\\uB2E4\",edit:\"\\uD3B8\\uC9D1\\uD558\\uB2E4\",view:\"\\uC804\\uB9DD\",add_new_item:\"\\uC0C8 \\uD56D\\uBAA9 \\uCD94\\uAC00\",clear_all:\"\\uBAA8\\uB450 \\uC9C0\\uC6B0\\uAE30\",showing:\"\\uC804\\uC2DC\",of:\"\\uC758\",actions:\"\\uD589\\uC704\",subtotal:\"\\uC18C\\uACC4\",discount:\"\\uD560\\uC778\",fixed:\"\\uACB0\\uC815\\uB41C\",percentage:\"\\uBC31\\uBD84\\uC728\",tax:\"\\uC138\",total_amount:\"\\uCD1D\\uC561\",bill_to:\"\\uCCAD\\uAD6C \\uB300\\uC0C1\",ship_to:\"\\uBC30\\uC1A1\\uC9C0\",due:\"\\uC815\\uB2F9\\uD55C\",draft:\"\\uCD08\\uC548\",sent:\"\\uBCF4\\uB0C4\",all:\"\\uBAA8\\uB450\",select_all:\"\\uBAA8\\uB450 \\uC120\\uD0DD\",choose_file:\"\\uD30C\\uC77C\\uC744 \\uC120\\uD0DD\\uD558\\uB824\\uBA74 \\uC5EC\\uAE30\\uB97C \\uD074\\uB9AD\\uD558\\uC2ED\\uC2DC\\uC624\",choose_template:\"\\uD15C\\uD50C\\uB9BF \\uC120\\uD0DD\",choose:\"\\uACE0\\uB974\\uB2E4\",remove:\"\\uC5C6\\uC560\\uB2E4\",powered_by:\"\\uC81C\\uACF5\",bytefury:\"\\uBC14\\uC774\\uD2B8 \\uD4E8\\uB9AC\",select_a_status:\"\\uC0C1\\uD0DC \\uC120\\uD0DD\",select_a_tax:\"\\uC138\\uAE08 \\uC120\\uD0DD\",search:\"\\uAC80\\uC0C9\",are_you_sure:\"\\uD655\\uC2E4\\uD569\\uB2C8\\uAE4C?\",list_is_empty:\"\\uBAA9\\uB85D\\uC774 \\uBE44\\uC5B4 \\uC788\\uC2B5\\uB2C8\\uB2E4.\",no_tax_found:\"\\uC138\\uAE08\\uC774 \\uC5C6\\uC2B5\\uB2C8\\uB2E4!\",four_zero_four:\"404\",you_got_lost:\"\\uC774\\uB7F0! \\uB2F9\\uC2E0\\uC740 \\uAE38\\uC744 \\uC783\\uC5C8\\uC2B5\\uB2C8\\uB2E4!\",go_home:\"\\uC9D1\\uC5D0\\uAC00\",test_mail_conf:\"\\uBA54\\uC77C \\uAD6C\\uC131 \\uD14C\\uC2A4\\uD2B8\",send_mail_successfully:\"\\uBA54\\uC77C\\uC744 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uBCF4\\uB0C8\\uC2B5\\uB2C8\\uB2E4.\",setting_updated:\"\\uC124\\uC815\\uC774 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uC5C5\\uB370\\uC774\\uD2B8\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\",select_state:\"\\uC8FC \\uC120\\uD0DD\",select_country:\"\\uAD6D\\uAC00 \\uC120\\uD0DD\",select_city:\"\\uB3C4\\uC2DC \\uC120\\uD0DD\",street_1:\"\\uAC70\\uB9AC 1\",street_2:\"\\uAC70\\uB9AC 2\",action_failed:\"\\uC791\\uC5C5 \\uC2E4\\uD328\",retry:\"\\uB2E4\\uC2DC \\uD574 \\uBCF4\\uB2E4\",choose_note:\"\\uCC38\\uACE0 \\uC120\\uD0DD\",no_note_found:\"\\uBA54\\uBAA8\\uB97C \\uCC3E\\uC744 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",insert_note:\"\\uBA54\\uBAA8 \\uC0BD\\uC785\",copied_pdf_url_clipboard:\"PDF URL\\uC744 \\uD074\\uB9BD \\uBCF4\\uB4DC\\uC5D0 \\uBCF5\\uC0AC\\uD588\\uC2B5\\uB2C8\\uB2E4!\"},uv={select_year:\"\\uC5F0\\uB3C4 \\uC120\\uD0DD\",cards:{due_amount:\"\\uC9C0\\uBD88\\uC561\",customers:\"\\uACE0\\uAC1D\",invoices:\"\\uC1A1\\uC7A5\",estimates:\"\\uACAC\\uC801\"},chart_info:{total_sales:\"\\uB9E4\\uC0C1\",total_receipts:\"\\uC601\\uC218\\uC99D\",total_expense:\"\\uACBD\\uBE44\",net_income:\"\\uC21C\\uC774\\uC775\",year:\"\\uC5F0\\uB3C4 \\uC120\\uD0DD\"},monthly_chart:{title:\"\\uB9E4\\uC0C1\"},recent_invoices_card:{title:\"\\uB9CC\\uAE30 \\uC1A1\\uC7A5\",due_on:\"\\uAE30\\uD55C\",customer:\"\\uACE0\\uAC1D\",amount_due:\"\\uC9C0\\uBD88\\uC561\",actions:\"\\uD589\\uC704\",view_all:\"\\uBAA8\\uB450\\uBCF4\\uAE30\"},recent_estimate_card:{title:\"\\uCD5C\\uADFC \\uACAC\\uC801\",date:\"\\uB370\\uC774\\uD2B8\",customer:\"\\uACE0\\uAC1D\",amount_due:\"\\uC9C0\\uBD88\\uC561\",actions:\"\\uD589\\uC704\",view_all:\"\\uBAA8\\uB450\\uBCF4\\uAE30\"}},mv={name:\"\\uC774\\uB984\",description:\"\\uAE30\\uC220\",percent:\"\\uD37C\\uC13C\\uD2B8\",compound_tax:\"\\uBCF5\\uD569 \\uC138\"},pv={search:\"\\uAC80\\uC0C9...\",customers:\"\\uACE0\\uAC1D\",users:\"\\uC0AC\\uC6A9\\uC790\",no_results_found:\"\\uAC80\\uC0C9 \\uACB0\\uACFC\\uAC00 \\uC5C6\\uC2B5\\uB2C8\\uB2E4\"},fv={title:\"\\uACE0\\uAC1D\",add_customer:\"\\uACE0\\uAC1D \\uCD94\\uAC00\",contacts_list:\"\\uACE0\\uAC1D \\uBAA9\\uB85D\",name:\"\\uC774\\uB984\",mail:\"\\uBA54\\uC77C | \\uBA54\\uC77C\",statement:\"\\uC131\\uBA85\\uC11C\",display_name:\"\\uC774\\uB984 \\uD45C\\uC2DC\\uD558\\uAE30\",primary_contact_name:\"\\uAE30\\uBCF8 \\uC5F0\\uB77D\\uCC98 \\uC774\\uB984\",contact_name:\"\\uB2F4\\uB2F9\\uC790 \\uC774\\uB984\",amount_due:\"\\uC9C0\\uBD88\\uC561\",email:\"\\uC774\\uBA54\\uC77C\",address:\"\\uC8FC\\uC18C\",phone:\"\\uC804\\uD654\",website:\"\\uC6F9 \\uC0AC\\uC774\\uD2B8\",overview:\"\\uAC1C\\uC694\",enable_portal:\"\\uD3EC\\uD138 \\uD65C\\uC131\\uD654\",country:\"\\uAD6D\\uAC00\",state:\"\\uC0C1\\uD0DC\",city:\"\\uC2DC\\uD2F0\",zip_code:\"\\uC6B0\\uD3B8 \\uBC88\\uD638\",added_on:\"\\uCD94\\uAC00\\uB428\",action:\"\\uB3D9\\uC791\",password:\"\\uC554\\uD638\",street_number:\"\\uBC88\\uC9C0\",primary_currency:\"\\uAE30\\uBCF8 \\uD1B5\\uD654\",description:\"\\uAE30\\uC220\",add_new_customer:\"\\uC2E0\\uADDC \\uACE0\\uAC1D \\uCD94\\uAC00\",save_customer:\"\\uACE0\\uAC1D \\uC800\\uC7A5\",update_customer:\"\\uACE0\\uAC1D \\uC5C5\\uB370\\uC774\\uD2B8\",customer:\"\\uACE0\\uAC1D | \\uACE0\\uAC1D\",new_customer:\"\\uC2E0\\uADDC \\uACE0\\uAC1D\",edit_customer:\"\\uACE0\\uAC1D \\uD3B8\\uC9D1\",basic_info:\"\\uAE30\\uBCF8 \\uC815\\uBCF4\",billing_address:\"\\uCCAD\\uAD6C \\uC9C0 \\uC8FC\\uC18C\",shipping_address:\"\\uBC30\\uC1A1 \\uC8FC\\uC18C\",copy_billing_address:\"\\uACB0\\uC81C\\uC5D0\\uC11C \\uBCF5\\uC0AC\",no_customers:\"\\uC544\\uC9C1 \\uACE0\\uAC1D\\uC774 \\uC5C6\\uC2B5\\uB2C8\\uB2E4!\",no_customers_found:\"\\uACE0\\uAC1D\\uC774 \\uC5C6\\uC2B5\\uB2C8\\uB2E4!\",no_contact:\"\\uC5F0\\uB77D\\uCC98 \\uC5C6\\uC74C\",no_contact_name:\"\\uC5F0\\uB77D\\uCC98 \\uC774\\uB984\\uC774 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",list_of_customers:\"\\uC774 \\uC139\\uC158\\uC5D0\\uB294 \\uACE0\\uAC1D \\uBAA9\\uB85D\\uC774 \\uD3EC\\uD568\\uB429\\uB2C8\\uB2E4.\",primary_display_name:\"\\uAE30\\uBCF8 \\uD45C\\uC2DC \\uC774\\uB984\",select_currency:\"\\uD1B5\\uD654 \\uC120\\uD0DD\",select_a_customer:\"\\uACE0\\uAC1D \\uC120\\uD0DD\",type_or_click:\"\\uC785\\uB825\\uD558\\uAC70\\uB098 \\uD074\\uB9AD\\uD558\\uC5EC \\uC120\\uD0DD\",new_transaction:\"\\uC0C8\\uB85C\\uC6B4 \\uAC70\\uB798\",no_matching_customers:\"\\uC77C\\uCE58\\uD558\\uB294 \\uACE0\\uAC1D\\uC774 \\uC5C6\\uC2B5\\uB2C8\\uB2E4!\",phone_number:\"\\uC804\\uD654 \\uBC88\\uD638\",create_date:\"\\uB0A0\\uC9DC \\uC0DD\\uC131\",confirm_delete:\"\\uC774 \\uACE0\\uAC1D\\uACFC \\uBAA8\\uB4E0 \\uAD00\\uB828 \\uC1A1\\uC7A5, \\uACAC\\uC801 \\uBC0F \\uC9C0\\uBD88\\uC744 \\uBCF5\\uAD6C \\uD560 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4. | \\uC774\\uB7EC\\uD55C \\uACE0\\uAC1D \\uBC0F \\uBAA8\\uB4E0 \\uAD00\\uB828 \\uCCAD\\uAD6C\\uC11C, \\uACAC\\uC801 \\uBC0F \\uC9C0\\uBD88\\uC744 \\uBCF5\\uAD6C \\uD560 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",created_message:\"\\uACE0\\uAC1D\\uC774 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uC0DD\\uC131\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\",updated_message:\"\\uACE0\\uAC1D\\uC774 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uC5C5\\uB370\\uC774\\uD2B8\\uD588\\uC2B5\\uB2C8\\uB2E4.\",deleted_message:\"\\uACE0\\uAC1D\\uC774 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uC0AD\\uC81C\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4. | \\uACE0\\uAC1D\\uC774 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uC0AD\\uC81C\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\"},gv={title:\"\\uC544\\uC774\\uD15C\",items_list:\"\\uD488\\uBAA9 \\uBAA9\\uB85D\",name:\"\\uC774\\uB984\",unit:\"\\uB2E8\\uC704\",description:\"\\uAE30\\uC220\",added_on:\"\\uCD94\\uAC00\\uB428\",price:\"\\uAC00\\uACA9\",date_of_creation:\"\\uC0DD\\uC131 \\uC77C\",not_selected:\"\\uC120\\uD0DD\\uD55C \\uD56D\\uBAA9\\uC774 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",action:\"\\uB3D9\\uC791\",add_item:\"\\uC544\\uC774\\uD15C \\uCD94\\uAC00\",save_item:\"\\uD56D\\uBAA9 \\uC800\\uC7A5\",update_item:\"\\uD56D\\uBAA9 \\uC5C5\\uB370\\uC774\\uD2B8\",item:\"\\uD56D\\uBAA9 | \\uC544\\uC774\\uD15C\",add_new_item:\"\\uC0C8 \\uD56D\\uBAA9 \\uCD94\\uAC00\",new_item:\"\\uC0C8\\uB85C\\uC6B4 \\uBB3C\\uD488\",edit_item:\"\\uD56D\\uBAA9 \\uD3B8\\uC9D1\",no_items:\"\\uC544\\uC9C1 \\uD56D\\uBAA9\\uC774 \\uC5C6\\uC2B5\\uB2C8\\uB2E4!\",list_of_items:\"\\uC774 \\uC139\\uC158\\uC5D0\\uB294 \\uD56D\\uBAA9 \\uBAA9\\uB85D\\uC774 \\uD3EC\\uD568\\uB429\\uB2C8\\uB2E4.\",select_a_unit:\"\\uB2E8\\uC704 \\uC120\\uD0DD\",taxes:\"\\uAD6C\\uC2E4\",item_attached_message:\"\\uC774\\uBBF8 \\uC0AC\\uC6A9\\uC911\\uC778 \\uD56D\\uBAA9\\uC740 \\uC0AD\\uC81C\\uD560 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",confirm_delete:\"\\uC774 \\uD56D\\uBAA9\\uC744 \\uBCF5\\uAD6C \\uD560 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4. | \\uC774 \\uD56D\\uBAA9\\uC744 \\uBCF5\\uAD6C \\uD560 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",created_message:\"\\uD56D\\uBAA9\\uC774 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uC0DD\\uC131\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\",updated_message:\"\\uD56D\\uBAA9\\uC774 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uC5C5\\uB370\\uC774\\uD2B8\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\",deleted_message:\"\\uD56D\\uBAA9\\uC774 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uC0AD\\uC81C\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4. | \\uD56D\\uBAA9\\uC774 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uC0AD\\uC81C\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\"},vv={title:\"\\uACAC\\uC801\",estimate:\"\\uACAC\\uC801 | \\uACAC\\uC801\",estimates_list:\"\\uACAC\\uC801 \\uBAA9\\uB85D\",days:\"{days} \\uC77C\",months:\"{months} \\uAC1C\\uC6D4\",years:\"{years} \\uB144\",all:\"\\uBAA8\\uB450\",paid:\"\\uC720\\uB8CC\",unpaid:\"\\uBBF8\\uC9C0\\uAE09\",customer:\"\\uACE0\\uAC1D\",ref_no:\"\\uCC38\\uC870 \\uBC88\\uD638.\",number:\"\\uBC88\\uD638\",amount_due:\"\\uC9C0\\uBD88\\uC561\",partially_paid:\"\\uBD80\\uBD84 \\uC9C0\\uBD88\",total:\"\\uD569\\uACC4\",discount:\"\\uD560\\uC778\",sub_total:\"\\uC18C\\uACC4\",estimate_number:\"\\uACAC\\uC801 \\uBC88\\uD638\",ref_number:\"\\uCC38\\uC870 \\uBC88\\uD638\",contact:\"\\uC811\\uCD09\",add_item:\"\\uD56D\\uBAA9 \\uCD94\\uAC00\",date:\"\\uB370\\uC774\\uD2B8\",due_date:\"\\uB9C8\\uAC10\\uC77C\",expiry_date:\"\\uB9CC\\uB8CC\\uC77C\",status:\"\\uC0C1\\uD0DC\",add_tax:\"\\uC138\\uAE08 \\uCD94\\uAC00\",amount:\"\\uC591\",action:\"\\uB3D9\\uC791\",notes:\"\\uB178\\uD2B8\",tax:\"\\uC138\",estimate_template:\"\\uC8FC\\uD615\",convert_to_invoice:\"\\uC1A1\\uC7A5\\uC73C\\uB85C \\uBCC0\\uD658\",mark_as_sent:\"\\uBCF4\\uB0B8 \\uAC83\\uC73C\\uB85C \\uD45C\\uC2DC\",send_estimate:\"\\uACAC\\uC801 \\uBCF4\\uB0B4\\uAE30\",resend_estimate:\"\\uACAC\\uC801 \\uC7AC\\uC804\\uC1A1\",record_payment:\"\\uAE30\\uB85D \\uC9C0\\uBD88\",add_estimate:\"\\uACAC\\uC801 \\uCD94\\uAC00\",save_estimate:\"\\uACAC\\uC801 \\uC800\\uC7A5\",confirm_conversion:\"\\uC774 \\uACAC\\uC801\\uC740 \\uC0C8 \\uC778\\uBCF4\\uC774\\uC2A4\\uB97C \\uB9CC\\uB4DC\\uB294 \\uB370 \\uC0AC\\uC6A9\\uB429\\uB2C8\\uB2E4.\",conversion_message:\"\\uC778\\uBCF4\\uC774\\uC2A4\\uAC00 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uC0DD\\uC131\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\",confirm_send_estimate:\"\\uC774 \\uACAC\\uC801\\uC740 \\uC774\\uBA54\\uC77C\\uC744 \\uD1B5\\uD574 \\uACE0\\uAC1D\\uC5D0\\uAC8C \\uC804\\uC1A1\\uB429\\uB2C8\\uB2E4.\",confirm_mark_as_sent:\"\\uC774 \\uACAC\\uC801\\uC740 \\uC804\\uC1A1 \\uB41C \\uAC83\\uC73C\\uB85C \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4.\",confirm_mark_as_accepted:\"\\uC774 \\uACAC\\uC801\\uC740 \\uC218\\uB77D \\uB428\\uC73C\\uB85C \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4.\",confirm_mark_as_rejected:\"\\uC774 \\uACAC\\uC801\\uC740 \\uAC70\\uBD80 \\uB428\\uC73C\\uB85C \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4.\",no_matching_estimates:\"\\uC77C\\uCE58\\uD558\\uB294 \\uACAC\\uC801\\uC774 \\uC5C6\\uC2B5\\uB2C8\\uB2E4!\",mark_as_sent_successfully:\"\\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uC804\\uC1A1 \\uB41C \\uAC83\\uC73C\\uB85C \\uD45C\\uC2DC\\uB41C \\uACAC\\uC801\",send_estimate_successfully:\"\\uACAC\\uC801\\uC774 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uC804\\uC1A1\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\",errors:{required:\"\\uD544\\uB4DC\\uB294 \\uD544\\uC218\\uC785\\uB2C8\\uB2E4\"},accepted:\"\\uC218\\uB77D \\uB428\",rejected:\"\\uAC70\\uBD80 \\uB428\",sent:\"\\uBCF4\\uB0C4\",draft:\"\\uCD08\\uC548\",declined:\"\\uAC70\\uBD80 \\uB428\",new_estimate:\"\\uC0C8\\uB85C\\uC6B4 \\uACAC\\uC801\",add_new_estimate:\"\\uC0C8\\uB85C\\uC6B4 \\uACAC\\uC801 \\uCD94\\uAC00\",update_Estimate:\"\\uACAC\\uC801 \\uC5C5\\uB370\\uC774\\uD2B8\",edit_estimate:\"\\uACAC\\uC801 \\uC218\\uC815\",items:\"\\uD56D\\uBAA9\",Estimate:\"\\uACAC\\uC801 | \\uACAC\\uC801\",add_new_tax:\"\\uC0C8 \\uC138\\uAE08 \\uCD94\\uAC00\",no_estimates:\"\\uC544\\uC9C1 \\uACAC\\uC801\\uC774 \\uC5C6\\uC2B5\\uB2C8\\uB2E4!\",list_of_estimates:\"\\uC774 \\uC139\\uC158\\uC5D0\\uB294 \\uACAC\\uC801 \\uBAA9\\uB85D\\uC774 \\uD3EC\\uD568\\uB429\\uB2C8\\uB2E4.\",mark_as_rejected:\"\\uAC70\\uBD80 \\uB428\\uC73C\\uB85C \\uD45C\\uC2DC\",mark_as_accepted:\"\\uC218\\uB77D \\uB428\\uC73C\\uB85C \\uD45C\\uC2DC\",marked_as_accepted_message:\"\\uC218\\uB77D \\uB41C \\uAC83\\uC73C\\uB85C \\uD45C\\uC2DC\\uB41C \\uACAC\\uC801\",marked_as_rejected_message:\"\\uAC70\\uBD80 \\uB41C \\uAC83\\uC73C\\uB85C \\uD45C\\uC2DC\\uB41C \\uACAC\\uC801\",confirm_delete:\"\\uC774 \\uACAC\\uC801\\uC744 \\uBCF5\\uAD6C \\uD560 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4. | \\uC774 \\uACAC\\uC801\\uC744 \\uBCF5\\uAD6C \\uD560 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",created_message:\"\\uACAC\\uC801\\uC774 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uC0DD\\uC131\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\",updated_message:\"\\uACAC\\uC801\\uC774 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uC5C5\\uB370\\uC774\\uD2B8\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\",deleted_message:\"\\uC608\\uC0C1\\uCE58\\uAC00 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uC0AD\\uC81C\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4. | \\uACAC\\uC801\\uC774 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uC0AD\\uC81C\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\",something_went_wrong:\"\\uBB54\\uAC00 \\uC798\\uBABB \\uB410\\uC5B4\",item:{title:\"\\uD56D\\uBAA9 \\uC81C\\uBAA9\",description:\"\\uAE30\\uC220\",quantity:\"\\uC218\\uB7C9\",price:\"\\uAC00\\uACA9\",discount:\"\\uD560\\uC778\",total:\"\\uD569\\uACC4\",total_discount:\"\\uCD1D \\uD560\\uC778\",sub_total:\"\\uC18C\\uACC4\",tax:\"\\uC138\",amount:\"\\uC591\",select_an_item:\"\\uD56D\\uBAA9\\uC744 \\uC785\\uB825\\uD558\\uAC70\\uB098 \\uD074\\uB9AD\\uD558\\uC5EC \\uC120\\uD0DD\",type_item_description:\"\\uC720\\uD615 \\uD56D\\uBAA9 \\uC124\\uBA85 (\\uC120\\uD0DD \\uC0AC\\uD56D)\"}},yv={title:\"\\uC1A1\\uC7A5\",invoices_list:\"\\uC1A1\\uC7A5 \\uBAA9\\uB85D\",days:\"{days} \\uC77C\",months:\"{months} \\uAC1C\\uC6D4\",years:\"{years} \\uB144\",all:\"\\uBAA8\\uB450\",paid:\"\\uC720\\uB8CC\",unpaid:\"\\uBBF8\\uC9C0\\uAE09\",viewed:\"\\uC870\\uD68C\",overdue:\"\\uC5F0\\uCCB4\",completed:\"\\uC644\\uB8CC\",customer:\"\\uACE0\\uAC1D\",paid_status:\"\\uC9C0\\uBD88 \\uC0C1\\uD0DC\",ref_no:\"\\uCC38\\uC870 \\uBC88\\uD638.\",number:\"\\uBC88\\uD638\",amount_due:\"\\uC9C0\\uBD88\\uC561\",partially_paid:\"\\uBD80\\uBD84 \\uC9C0\\uBD88\",total:\"\\uD569\\uACC4\",discount:\"\\uD560\\uC778\",sub_total:\"\\uC18C\\uACC4\",invoice:\"\\uC1A1\\uC7A5 | \\uC1A1\\uC7A5\",invoice_number:\"\\uC1A1\\uC7A5 \\uBC88\\uD638\",ref_number:\"\\uCC38\\uC870 \\uBC88\\uD638\",contact:\"\\uC811\\uCD09\",add_item:\"\\uD56D\\uBAA9 \\uCD94\\uAC00\",date:\"\\uB370\\uC774\\uD2B8\",due_date:\"\\uB9C8\\uAC10\\uC77C\",status:\"\\uC0C1\\uD0DC\",add_tax:\"\\uC138\\uAE08 \\uCD94\\uAC00\",amount:\"\\uC591\",action:\"\\uB3D9\\uC791\",notes:\"\\uB178\\uD2B8\",view:\"\\uC804\\uB9DD\",send_invoice:\"\\uC1A1\\uC7A5\\uC744 \\uBCF4\\uB0B4\\uB2E4\",resend_invoice:\"\\uC778\\uBCF4\\uC774\\uC2A4 \\uC7AC\\uC804\\uC1A1\",invoice_template:\"\\uC1A1\\uC7A5 \\uD15C\\uD50C\\uB9BF\",template:\"\\uC8FC\\uD615\",mark_as_sent:\"\\uBCF4\\uB0B8 \\uAC83\\uC73C\\uB85C \\uD45C\\uC2DC\",confirm_send_invoice:\"\\uC774 \\uC778\\uBCF4\\uC774\\uC2A4\\uB294 \\uC774\\uBA54\\uC77C\\uC744 \\uD1B5\\uD574 \\uACE0\\uAC1D\\uC5D0\\uAC8C \\uBC1C\\uC1A1\\uB429\\uB2C8\\uB2E4.\",invoice_mark_as_sent:\"\\uC774 \\uC778\\uBCF4\\uC774\\uC2A4\\uB294 \\uBCF4\\uB0B8 \\uAC83\\uC73C\\uB85C \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4.\",confirm_send:\"\\uC774 \\uC778\\uBCF4\\uC774\\uC2A4\\uB294 \\uC774\\uBA54\\uC77C\\uC744 \\uD1B5\\uD574 \\uACE0\\uAC1D\\uC5D0\\uAC8C \\uBC1C\\uC1A1\\uB429\\uB2C8\\uB2E4.\",invoice_date:\"\\uC1A1\\uC7A5 \\uB0A0\\uC9DC\",record_payment:\"\\uAE30\\uB85D \\uC9C0\\uBD88\",add_new_invoice:\"\\uC0C8 \\uC1A1\\uC7A5 \\uCD94\\uAC00\",update_expense:\"\\uBE44\\uC6A9 \\uC5C5\\uB370\\uC774\\uD2B8\",edit_invoice:\"\\uC1A1\\uC7A5 \\uD3B8\\uC9D1\",new_invoice:\"\\uC0C8 \\uC1A1\\uC7A5\",save_invoice:\"\\uC1A1\\uC7A5 \\uC800\\uC7A5\",update_invoice:\"\\uC1A1\\uC7A5 \\uC5C5\\uB370\\uC774\\uD2B8\",add_new_tax:\"\\uC0C8 \\uC138\\uAE08 \\uCD94\\uAC00\",no_invoices:\"\\uC544\\uC9C1 \\uC778\\uBCF4\\uC774\\uC2A4\\uAC00 \\uC5C6\\uC2B5\\uB2C8\\uB2E4!\",list_of_invoices:\"\\uC774 \\uC139\\uC158\\uC5D0\\uB294 \\uC1A1\\uC7A5 \\uBAA9\\uB85D\\uC774 \\uD3EC\\uD568\\uB429\\uB2C8\\uB2E4.\",select_invoice:\"\\uC1A1\\uC7A5 \\uC120\\uD0DD\",no_matching_invoices:\"\\uC77C\\uCE58\\uD558\\uB294 \\uC1A1\\uC7A5\\uC774 \\uC5C6\\uC2B5\\uB2C8\\uB2E4!\",mark_as_sent_successfully:\"\\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uBC1C\\uC1A1 \\uB41C \\uAC83\\uC73C\\uB85C \\uD45C\\uC2DC\\uB41C \\uC1A1\\uC7A5\",invoice_sent_successfully:\"\\uC778\\uBCF4\\uC774\\uC2A4\\uAC00 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uC804\\uC1A1\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\",cloned_successfully:\"\\uC1A1\\uC7A5\\uC774 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uBCF5\\uC81C\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\",clone_invoice:\"\\uC1A1\\uC7A5 \\uBCF5\\uC81C\",confirm_clone:\"\\uC774 \\uC1A1\\uC7A5\\uC740 \\uC0C8 \\uC1A1\\uC7A5\\uC5D0 \\uBCF5\\uC81C\\uB429\\uB2C8\\uB2E4.\",item:{title:\"\\uD56D\\uBAA9 \\uC81C\\uBAA9\",description:\"\\uAE30\\uC220\",quantity:\"\\uC218\\uB7C9\",price:\"\\uAC00\\uACA9\",discount:\"\\uD560\\uC778\",total:\"\\uD569\\uACC4\",total_discount:\"\\uCD1D \\uD560\\uC778\",sub_total:\"\\uC18C\\uACC4\",tax:\"\\uC138\",amount:\"\\uC591\",select_an_item:\"\\uD56D\\uBAA9\\uC744 \\uC785\\uB825\\uD558\\uAC70\\uB098 \\uD074\\uB9AD\\uD558\\uC5EC \\uC120\\uD0DD\",type_item_description:\"\\uC720\\uD615 \\uD56D\\uBAA9 \\uC124\\uBA85 (\\uC120\\uD0DD \\uC0AC\\uD56D)\"},confirm_delete:\"\\uC774 \\uC778\\uBCF4\\uC774\\uC2A4\\uB97C \\uBCF5\\uAD6C \\uD560 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4. | \\uC774\\uB7EC\\uD55C \\uC778\\uBCF4\\uC774\\uC2A4\\uB97C \\uBCF5\\uAD6C \\uD560 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",created_message:\"\\uC1A1\\uC7A5\\uC774 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uC0DD\\uC131\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\",updated_message:\"\\uC1A1\\uC7A5\\uC774 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uC5C5\\uB370\\uC774\\uD2B8\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\",deleted_message:\"\\uC1A1\\uC7A5\\uC774 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uC0AD\\uC81C\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4. | \\uC778\\uBCF4\\uC774\\uC2A4\\uAC00 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uC0AD\\uC81C\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\",marked_as_sent_message:\"\\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uBC1C\\uC1A1 \\uB41C \\uAC83\\uC73C\\uB85C \\uD45C\\uC2DC\\uB41C \\uC1A1\\uC7A5\",something_went_wrong:\"\\uBB54\\uAC00 \\uC798\\uBABB \\uB410\\uC5B4\",invalid_due_amount_message:\"\\uCD1D \\uC1A1\\uC7A5 \\uAE08\\uC561\\uC740\\uC774 \\uC1A1\\uC7A5\\uC5D0 \\uB300\\uD55C \\uCD1D \\uC9C0\\uBD88 \\uAE08\\uC561\\uBCF4\\uB2E4 \\uC791\\uC744 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4. \\uACC4\\uC18D\\uD558\\uB824\\uBA74 \\uC778\\uBCF4\\uC774\\uC2A4\\uB97C \\uC5C5\\uB370\\uC774\\uD2B8\\uD558\\uAC70\\uB098 \\uAD00\\uB828 \\uACB0\\uC81C\\uB97C \\uC0AD\\uC81C\\uD558\\uC138\\uC694.\"},hv={title:\"\\uC9C0\\uBD88\",payments_list:\"\\uC9C0\\uBD88 \\uBAA9\\uB85D\",record_payment:\"\\uAE30\\uB85D \\uC9C0\\uBD88\",customer:\"\\uACE0\\uAC1D\",date:\"\\uB370\\uC774\\uD2B8\",amount:\"\\uC591\",action:\"\\uB3D9\\uC791\",payment_number:\"\\uACB0\\uC81C \\uBC88\\uD638\",payment_mode:\"\\uC9C0\\uBD88 \\uBAA8\\uB4DC\",invoice:\"\\uC1A1\\uC7A5\",note:\"\\uB178\\uD2B8\",add_payment:\"\\uC9C0\\uBD88 \\uCD94\\uAC00\",new_payment:\"\\uC0C8\\uB85C\\uC6B4 \\uC9C0\\uBD88\",edit_payment:\"\\uACB0\\uC81C \\uC218\\uC815\",view_payment:\"\\uACB0\\uC81C\\uBCF4\\uAE30\",add_new_payment:\"\\uC0C8 \\uC9C0\\uBD88 \\uCD94\\uAC00\",send_payment_receipt:\"\\uACB0\\uC81C \\uC601\\uC218\\uC99D \\uBCF4\\uB0B4\\uAE30\",send_payment:\"\\uC9C0\\uBD88 \\uBCF4\\uB0B4\\uAE30\",save_payment:\"\\uC9C0\\uBD88 \\uC800\\uC7A5\",update_payment:\"\\uACB0\\uC81C \\uC5C5\\uB370\\uC774\\uD2B8\",payment:\"\\uC9C0\\uBD88 | \\uC9C0\\uBD88\",no_payments:\"\\uC544\\uC9C1 \\uACB0\\uC81C\\uAC00 \\uC5C6\\uC2B5\\uB2C8\\uB2E4!\",not_selected:\"\\uC120\\uD0DD\\uB418\\uC9C0 \\uC54A\\uC740\",no_invoice:\"\\uC1A1\\uC7A5 \\uC5C6\\uC74C\",no_matching_payments:\"\\uC77C\\uCE58\\uD558\\uB294 \\uC9C0\\uBD88\\uC774 \\uC5C6\\uC2B5\\uB2C8\\uB2E4!\",list_of_payments:\"\\uC774 \\uC139\\uC158\\uC5D0\\uB294 \\uC9C0\\uBD88 \\uBAA9\\uB85D\\uC774 \\uD3EC\\uD568\\uB429\\uB2C8\\uB2E4.\",select_payment_mode:\"\\uACB0\\uC81C \\uBAA8\\uB4DC \\uC120\\uD0DD\",confirm_mark_as_sent:\"\\uC774 \\uACAC\\uC801\\uC740 \\uC804\\uC1A1 \\uB41C \\uAC83\\uC73C\\uB85C \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4.\",confirm_send_payment:\"\\uC774 \\uACB0\\uC81C\\uB294 \\uC774\\uBA54\\uC77C\\uC744 \\uD1B5\\uD574 \\uACE0\\uAC1D\\uC5D0\\uAC8C \\uC804\\uC1A1\\uB429\\uB2C8\\uB2E4.\",send_payment_successfully:\"\\uC9C0\\uBD88\\uC774 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uC804\\uC1A1\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\",something_went_wrong:\"\\uBB54\\uAC00 \\uC798\\uBABB \\uB410\\uC5B4\",confirm_delete:\"\\uC774 \\uC9C0\\uBD88\\uAE08\\uC744 \\uBCF5\\uAD6C \\uD560 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4. | \\uC774 \\uC9C0\\uAE09\\uAE08\\uC744 \\uBCF5\\uAD6C \\uD560 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",created_message:\"\\uACB0\\uC81C\\uAC00 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uC0DD\\uC131\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\",updated_message:\"\\uACB0\\uC81C\\uAC00 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uC5C5\\uB370\\uC774\\uD2B8\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\",deleted_message:\"\\uACB0\\uC81C\\uAC00 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uC0AD\\uC81C\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4. | \\uACB0\\uC81C\\uAC00 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uC0AD\\uC81C\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\",invalid_amount_message:\"\\uACB0\\uC81C \\uAE08\\uC561\\uC774 \\uC798\\uBABB\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\"},bv={title:\"\\uACBD\\uBE44\",expenses_list:\"\\uBE44\\uC6A9 \\uBAA9\\uB85D\",select_a_customer:\"\\uACE0\\uAC1D \\uC120\\uD0DD\",expense_title:\"\\uD45C\\uC81C\",customer:\"\\uACE0\\uAC1D\",contact:\"\\uC811\\uCD09\",category:\"\\uBC94\\uC8FC\",from_date:\"\\uC2DC\\uC791 \\uB0A0\\uC9DC\",to_date:\"\\uD604\\uC7AC\\uAE4C\\uC9C0\",expense_date:\"\\uB370\\uC774\\uD2B8\",description:\"\\uAE30\\uC220\",receipt:\"\\uC601\\uC218\\uC99D\",amount:\"\\uC591\",action:\"\\uB3D9\\uC791\",not_selected:\"\\uC120\\uD0DD\\uB418\\uC9C0 \\uC54A\\uC740\",note:\"\\uB178\\uD2B8\",category_id:\"\\uCE74\\uD14C\\uACE0\\uB9AC ID\",date:\"\\uB370\\uC774\\uD2B8\",add_expense:\"\\uBE44\\uC6A9 \\uCD94\\uAC00\",add_new_expense:\"\\uC2E0\\uADDC \\uBE44\\uC6A9 \\uCD94\\uAC00\",save_expense:\"\\uBE44\\uC6A9 \\uC808\\uAC10\",update_expense:\"\\uBE44\\uC6A9 \\uC5C5\\uB370\\uC774\\uD2B8\",download_receipt:\"\\uC601\\uC218\\uC99D \\uB2E4\\uC6B4\\uB85C\\uB4DC\",edit_expense:\"\\uBE44\\uC6A9 \\uD3B8\\uC9D1\",new_expense:\"\\uC0C8\\uB85C\\uC6B4 \\uBE44\\uC6A9\",expense:\"\\uBE44\\uC6A9 | \\uACBD\\uBE44\",no_expenses:\"\\uC544\\uC9C1 \\uBE44\\uC6A9\\uC774 \\uC5C6\\uC2B5\\uB2C8\\uB2E4!\",list_of_expenses:\"\\uC774 \\uC139\\uC158\\uC5D0\\uB294 \\uBE44\\uC6A9 \\uBAA9\\uB85D\\uC774 \\uD3EC\\uD568\\uB429\\uB2C8\\uB2E4.\",confirm_delete:\"\\uC774 \\uBE44\\uC6A9\\uC744 \\uD68C\\uC218 \\uD560 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4. | \\uC774\\uB7EC\\uD55C \\uBE44\\uC6A9\\uC740 \\uD68C\\uC218 \\uD560 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",created_message:\"\\uBE44\\uC6A9\\uC774 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uC0DD\\uC131\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\",updated_message:\"\\uBE44\\uC6A9\\uC774 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uC5C5\\uB370\\uC774\\uD2B8\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\",deleted_message:\"\\uBE44\\uC6A9\\uC774 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uC0AD\\uC81C\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4. | \\uBE44\\uC6A9\\uC774 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uC0AD\\uC81C\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\",categories:{categories_list:\"\\uCE74\\uD14C\\uACE0\\uB9AC \\uBAA9\\uB85D\",title:\"\\uD45C\\uC81C\",name:\"\\uC774\\uB984\",description:\"\\uAE30\\uC220\",amount:\"\\uC591\",actions:\"\\uD589\\uC704\",add_category:\"\\uCE74\\uD14C\\uACE0\\uB9AC \\uCD94\\uAC00\",new_category:\"\\uC0C8 \\uBD84\\uB958\",category:\"\\uCE74\\uD14C\\uACE0\\uB9AC | \\uCE74\\uD14C\\uACE0\\uB9AC\",select_a_category:\"\\uCE74\\uD14C\\uACE0\\uB9AC \\uC120\\uD0DD\"}},kv={email:\"\\uC774\\uBA54\\uC77C\",password:\"\\uC554\\uD638\",forgot_password:\"\\uBE44\\uBC00\\uBC88\\uD638\\uB97C \\uC78A\\uC73C \\uC168\\uB098\\uC694?\",or_signIn_with:\"\\uB610\\uB294 \\uB2E4\\uC74C\\uC73C\\uB85C \\uB85C\\uADF8\\uC778\",login:\"\\uB85C\\uADF8\\uC778\",register:\"\\uB808\\uC9C0\\uC2A4\\uD130\",reset_password:\"\\uC554\\uD638\\uB97C \\uC7AC\\uC124\\uC815\",password_reset_successfully:\"\\uBE44\\uBC00\\uBC88\\uD638 \\uC7AC\\uC124\\uC815 \\uC131\\uACF5\",enter_email:\"\\uC774\\uBA54\\uC77C \\uC785\\uB825\",enter_password:\"\\uC554\\uD638\\uB97C \\uC785\\uB825\",retype_password:\"\\uBE44\\uBC00\\uBC88\\uD638 \\uC7AC \\uC785\\uB825\"},wv={title:\"\\uC0AC\\uC6A9\\uC790\",users_list:\"\\uC0AC\\uC6A9\\uC790 \\uBAA9\\uB85D\",name:\"\\uC774\\uB984\",description:\"\\uAE30\\uC220\",added_on:\"\\uCD94\\uAC00\\uB428\",date_of_creation:\"\\uC0DD\\uC131 \\uC77C\",action:\"\\uB3D9\\uC791\",add_user:\"\\uC0AC\\uC6A9\\uC790 \\uCD94\\uAC00\",save_user:\"\\uC0AC\\uC6A9\\uC790 \\uC800\\uC7A5\",update_user:\"\\uC0AC\\uC6A9\\uC790 \\uC5C5\\uB370\\uC774\\uD2B8\",user:\"\\uC0AC\\uC6A9\\uC790 | \\uC0AC\\uC6A9\\uC790\",add_new_user:\"\\uC0C8 \\uC0AC\\uC6A9\\uC790 \\uCD94\\uAC00\",new_user:\"\\uC0C8\\uB85C\\uC6B4 \\uC0AC\\uC6A9\\uC790\",edit_user:\"\\uC0AC\\uC6A9\\uC790 \\uD3B8\\uC9D1\",no_users:\"\\uC544\\uC9C1 \\uC0AC\\uC6A9\\uC790\\uAC00 \\uC5C6\\uC2B5\\uB2C8\\uB2E4!\",list_of_users:\"\\uC774 \\uC139\\uC158\\uC5D0\\uB294 \\uC0AC\\uC6A9\\uC790 \\uBAA9\\uB85D\\uC774 \\uD3EC\\uD568\\uB429\\uB2C8\\uB2E4.\",email:\"\\uC774\\uBA54\\uC77C\",phone:\"\\uC804\\uD654\",password:\"\\uC554\\uD638\",user_attached_message:\"\\uC774\\uBBF8 \\uC0AC\\uC6A9\\uC911\\uC778 \\uD56D\\uBAA9\\uC740 \\uC0AD\\uC81C\\uD560 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",confirm_delete:\"\\uC774 \\uC0AC\\uC6A9\\uC790\\uB97C \\uBCF5\\uAD6C \\uD560 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4. | \\uC774\\uB7EC\\uD55C \\uC0AC\\uC6A9\\uC790\\uB97C \\uBCF5\\uAD6C \\uD560 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",created_message:\"\\uC0AC\\uC6A9\\uC790\\uAC00 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uC0DD\\uC131\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\",updated_message:\"\\uC0AC\\uC6A9\\uC790\\uAC00 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uC5C5\\uB370\\uC774\\uD2B8\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\",deleted_message:\"\\uC0AC\\uC6A9\\uC790\\uAC00 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uC0AD\\uC81C\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4. | \\uC0AC\\uC6A9\\uC790\\uAC00 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uC0AD\\uC81C\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\"},zv={title:\"\\uBCF4\\uACE0\\uC11C\",from_date:\"\\uC2DC\\uC791 \\uB0A0\\uC9DC\",to_date:\"\\uD604\\uC7AC\\uAE4C\\uC9C0\",status:\"\\uC0C1\\uD0DC\",paid:\"\\uC720\\uB8CC\",unpaid:\"\\uBBF8\\uC9C0\\uAE09\",download_pdf:\"PDF \\uB2E4\\uC6B4\\uB85C\\uB4DC\",view_pdf:\"PDF\\uBCF4\\uAE30\",update_report:\"\\uBCF4\\uACE0\\uC11C \\uC5C5\\uB370\\uC774\\uD2B8\",report:\"\\uC2E0\\uACE0 | \\uBCF4\\uACE0\\uC11C\",profit_loss:{profit_loss:\"\\uC774\\uC775\",to_date:\"\\uD604\\uC7AC\\uAE4C\\uC9C0\",from_date:\"\\uC2DC\\uC791 \\uB0A0\\uC9DC\",date_range:\"\\uAE30\\uAC04 \\uC120\\uD0DD\"},sales:{sales:\"\\uB9E4\\uC0C1\",date_range:\"\\uAE30\\uAC04 \\uC120\\uD0DD\",to_date:\"\\uD604\\uC7AC\\uAE4C\\uC9C0\",from_date:\"\\uC2DC\\uC791 \\uB0A0\\uC9DC\",report_type:\"\\uBCF4\\uACE0\\uC11C \\uC720\\uD615\"},taxes:{taxes:\"\\uAD6C\\uC2E4\",to_date:\"\\uD604\\uC7AC\\uAE4C\\uC9C0\",from_date:\"\\uC2DC\\uC791 \\uB0A0\\uC9DC\",date_range:\"\\uAE30\\uAC04 \\uC120\\uD0DD\"},errors:{required:\"\\uD544\\uB4DC\\uB294 \\uD544\\uC218\\uC785\\uB2C8\\uB2E4\"},invoices:{invoice:\"\\uC1A1\\uC7A5\",invoice_date:\"\\uC1A1\\uC7A5 \\uB0A0\\uC9DC\",due_date:\"\\uB9C8\\uAC10\\uC77C\",amount:\"\\uC591\",contact_name:\"\\uB2F4\\uB2F9\\uC790 \\uC774\\uB984\",status:\"\\uC0C1\\uD0DC\"},estimates:{estimate:\"\\uACAC\\uC801\",estimate_date:\"\\uC608\\uC0C1 \\uB0A0\\uC9DC\",due_date:\"\\uB9C8\\uAC10\\uC77C\",estimate_number:\"\\uACAC\\uC801 \\uBC88\\uD638\",ref_number:\"\\uCC38\\uC870 \\uBC88\\uD638\",amount:\"\\uC591\",contact_name:\"\\uB2F4\\uB2F9\\uC790 \\uC774\\uB984\",status:\"\\uC0C1\\uD0DC\"},expenses:{expenses:\"\\uACBD\\uBE44\",category:\"\\uBC94\\uC8FC\",date:\"\\uB370\\uC774\\uD2B8\",amount:\"\\uC591\",to_date:\"\\uD604\\uC7AC\\uAE4C\\uC9C0\",from_date:\"\\uC2DC\\uC791 \\uB0A0\\uC9DC\",date_range:\"\\uAE30\\uAC04 \\uC120\\uD0DD\"}},xv={menu_title:{account_settings:\"\\uACC4\\uC815 \\uC124\\uC815\",company_information:\"\\uD68C\\uC0AC \\uC815\\uBCF4\",customization:\"\\uCEE4\\uC2A4\\uD130\\uB9C8\\uC774\\uC9D5\",preferences:\"\\uD658\\uACBD \\uC124\\uC815\",notifications:\"\\uC54C\\uB9BC\",tax_types:\"\\uC138\\uAE08 \\uC720\\uD615\",expense_category:\"\\uBE44\\uC6A9 \\uBC94\\uC8FC\",update_app:\"\\uC571 \\uC5C5\\uB370\\uC774\\uD2B8\",backup:\"\\uC9C0\\uC6D0\",file_disk:\"\\uD30C\\uC77C \\uB514\\uC2A4\\uD06C\",custom_fields:\"\\uC0AC\\uC6A9\\uC790 \\uC815\\uC758 \\uD544\\uB4DC\",payment_modes:\"\\uC9C0\\uBD88 \\uBAA8\\uB4DC\",notes:\"\\uB178\\uD2B8\"},title:\"\\uC124\\uC815\",setting:\"\\uC124\\uC815 | \\uC124\\uC815\",general:\"\\uC77C\\uBC18\",language:\"\\uC5B8\\uC5B4\",primary_currency:\"\\uAE30\\uBCF8 \\uD1B5\\uD654\",timezone:\"\\uC2DC\\uAC04\\uB300\",date_format:\"\\uB0A0\\uC9DC \\uD615\\uC2DD\",currencies:{title:\"\\uD1B5\\uD654\",currency:\"\\uD1B5\\uD654 | \\uD1B5\\uD654\",currencies_list:\"\\uD1B5\\uD654 \\uBAA9\\uB85D\",select_currency:\"\\uD1B5\\uD654 \\uC120\\uD0DD\",name:\"\\uC774\\uB984\",code:\"\\uC554\\uD638\",symbol:\"\\uC0C1\\uC9D5\",precision:\"\\uC815\\uB3C4\",thousand_separator:\"\\uCC9C \\uAD6C\\uBD84\\uC790\",decimal_separator:\"\\uC18C\\uC218\\uC810 \\uAD6C\\uBD84 \\uAE30\\uD638\",position:\"\\uC704\\uCE58\",position_of_symbol:\"\\uAE30\\uD638 \\uC704\\uCE58\",right:\"\\uAD8C\\uB9AC\",left:\"\\uC67C\\uCABD\",action:\"\\uB3D9\\uC791\",add_currency:\"\\uD1B5\\uD654 \\uCD94\\uAC00\"},mail:{host:\"\\uBA54\\uC77C \\uD638\\uC2A4\\uD2B8\",port:\"\\uBA54\\uC77C \\uD3EC\\uD2B8\",driver:\"\\uBA54\\uC77C \\uB4DC\\uB77C\\uC774\\uBC84\",secret:\"\\uBE44\\uBC00\",mailgun_secret:\"Mailgun \\uBE44\\uBC00\",mailgun_domain:\"\\uB3C4\\uBA54\\uC778\",mailgun_endpoint:\"Mailgun \\uC5D4\\uB4DC \\uD3EC\\uC778\\uD2B8\",ses_secret:\"SES \\uBE44\\uBC00\",ses_key:\"SES \\uD0A4\",password:\"\\uBA54\\uC77C \\uBE44\\uBC00\\uBC88\\uD638\",username:\"\\uBA54\\uC77C \\uC0AC\\uC6A9\\uC790 \\uC774\\uB984\",mail_config:\"\\uBA54\\uC77C \\uAD6C\\uC131\",from_name:\"\\uBA54\\uC77C \\uC774\\uB984\\uC5D0\\uC11C\",from_mail:\"\\uBA54\\uC77C \\uC8FC\\uC18C\\uC5D0\\uC11C\",encryption:\"\\uBA54\\uC77C \\uC554\\uD638\\uD654\",mail_config_desc:\"\\uB2E4\\uC74C\\uC740 \\uC571\\uC5D0\\uC11C \\uC774\\uBA54\\uC77C\\uC744 \\uBCF4\\uB0B4\\uAE30\\uC704\\uD55C \\uC774\\uBA54\\uC77C \\uB4DC\\uB77C\\uC774\\uBC84 \\uAD6C\\uC131 \\uC591\\uC2DD\\uC785\\uB2C8\\uB2E4. Sendgrid, SES \\uB4F1\\uACFC \\uAC19\\uC740 \\uD0C0\\uC0AC \\uACF5\\uAE09\\uC790\\uB97C \\uAD6C\\uC131 \\uD560 \\uC218\\uB3C4 \\uC788\\uC2B5\\uB2C8\\uB2E4.\"},pdf:{title:\"PDF \\uC124\\uC815\",footer_text:\"\\uBC14\\uB2E5 \\uAE00 \\uD14D\\uC2A4\\uD2B8\",pdf_layout:\"PDF \\uB808\\uC774\\uC544\\uC6C3\"},company_info:{company_info:\"\\uD68C\\uC0AC \\uC815\\uBCF4\",company_name:\"\\uD68C\\uC0AC \\uC774\\uB984\",company_logo:\"\\uD68C\\uC0AC \\uB85C\\uACE0\",section_description:\"Crater\\uC5D0\\uC11C \\uC0DD\\uC131 \\uD55C \\uC1A1\\uC7A5, \\uACAC\\uC801 \\uBC0F \\uAE30\\uD0C0 \\uBB38\\uC11C\\uC5D0 \\uD45C\\uC2DC \\uB420 \\uD68C\\uC0AC\\uC5D0 \\uB300\\uD55C \\uC815\\uBCF4.\",phone:\"\\uC804\\uD654\",country:\"\\uAD6D\\uAC00\",state:\"\\uC0C1\\uD0DC\",city:\"\\uC2DC\\uD2F0\",address:\"\\uC8FC\\uC18C\",zip:\"\\uC9C0\\uD37C\",save:\"\\uC800\\uC7A5\",updated_message:\"\\uD68C\\uC0AC \\uC815\\uBCF4\\uAC00 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uC5C5\\uB370\\uC774\\uD2B8\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\"},custom_fields:{title:\"\\uC0AC\\uC6A9\\uC790 \\uC815\\uC758 \\uD544\\uB4DC\",section_description:\"\\uC1A1\\uC7A5, \\uACAC\\uC801 \\uC0AC\\uC6A9\\uC790 \\uC9C0\\uC815\",add_custom_field:\"\\uC0AC\\uC6A9\\uC790 \\uC815\\uC758 \\uD544\\uB4DC \\uCD94\\uAC00\",edit_custom_field:\"\\uC0AC\\uC6A9\\uC790 \\uC815\\uC758 \\uD544\\uB4DC \\uD3B8\\uC9D1\",field_name:\"\\uBD84\\uC57C \\uBA85\",label:\"\\uC0C1\\uD45C\",type:\"\\uC720\\uD615\",name:\"\\uC774\\uB984\",required:\"\\uD544\\uC218\",placeholder:\"\\uC790\\uB9AC \\uD45C\\uC2DC \\uC790\",help_text:\"\\uB3C4\\uC6C0\\uB9D0 \\uD14D\\uC2A4\\uD2B8\",default_value:\"\\uAE30\\uBCF8\\uAC12\",prefix:\"\\uC811\\uB450\\uC0AC\",starting_number:\"\\uC2DC\\uC791 \\uBC88\\uD638\",model:\"\\uBAA8\\uB378\",help_text_description:\"\\uC0AC\\uC6A9\\uC790\\uAC00\\uC774 \\uC0AC\\uC6A9\\uC790 \\uC815\\uC758 \\uD544\\uB4DC\\uC758 \\uBAA9\\uC801\\uC744 \\uC774\\uD574\\uD558\\uB294 \\uB370 \\uB3C4\\uC6C0\\uC774\\uB418\\uB294 \\uD14D\\uC2A4\\uD2B8\\uB97C \\uC785\\uB825\\uD558\\uC2ED\\uC2DC\\uC624.\",suffix:\"\\uC811\\uBBF8\\uC0AC\",yes:\"\\uC608\",no:\"\\uC544\\uB2C8\",order:\"\\uC8FC\\uBB38\",custom_field_confirm_delete:\"\\uC774 \\uC0AC\\uC6A9\\uC790 \\uC815\\uC758 \\uD544\\uB4DC\\uB97C \\uBCF5\\uAD6C \\uD560 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",already_in_use:\"\\uB9DE\\uCDA4 \\uC785\\uB825\\uB780\\uC774 \\uC774\\uBBF8 \\uC0AC\\uC6A9 \\uC911\\uC785\\uB2C8\\uB2E4.\",deleted_message:\"\\uB9DE\\uCDA4 \\uC785\\uB825\\uB780\\uC774 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uC0AD\\uC81C\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\",options:\"\\uC635\\uC158\",add_option:\"\\uC635\\uC158 \\uCD94\\uAC00\",add_another_option:\"\\uB2E4\\uB978 \\uC635\\uC158 \\uCD94\\uAC00\",sort_in_alphabetical_order:\"\\uC54C\\uD30C\\uBCB3\\uC21C\\uC73C\\uB85C \\uC815\\uB82C\",add_options_in_bulk:\"\\uC77C\\uAD04 \\uC635\\uC158 \\uCD94\\uAC00\",use_predefined_options:\"\\uBBF8\\uB9AC \\uC815\\uC758 \\uB41C \\uC635\\uC158 \\uC0AC\\uC6A9\",select_custom_date:\"\\uB9DE\\uCDA4 \\uB0A0\\uC9DC \\uC120\\uD0DD\",select_relative_date:\"\\uC0C1\\uB300 \\uB0A0\\uC9DC \\uC120\\uD0DD\",ticked_by_default:\"\\uAE30\\uBCF8\\uC801\\uC73C\\uB85C \\uC120\\uD0DD\\uB428\",updated_message:\"\\uB9DE\\uCDA4 \\uC785\\uB825\\uB780\\uC774 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uC5C5\\uB370\\uC774\\uD2B8\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\",added_message:\"\\uB9DE\\uCDA4 \\uC785\\uB825\\uB780\\uC774 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uCD94\\uAC00\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\"},customization:{customization:\"\\uB9DE\\uCDA4\\uD654\",save:\"\\uC800\\uC7A5\",addresses:{title:\"\\uAD6C\\uC560\",section_description:\"\\uACE0\\uAC1D \\uCCAD\\uAD6C \\uC8FC\\uC18C \\uBC0F \\uACE0\\uAC1D \\uBC30\\uC1A1 \\uC8FC\\uC18C \\uD615\\uC2DD\\uC744 \\uC124\\uC815\\uD560 \\uC218 \\uC788\\uC2B5\\uB2C8\\uB2E4 (PDF\\uB85C\\uB9CC \\uD45C\\uC2DC\\uB428).\",customer_billing_address:\"\\uACE0\\uAC1D \\uCCAD\\uAD6C \\uC8FC\\uC18C\",customer_shipping_address:\"\\uACE0\\uAC1D \\uBC30\\uC1A1 \\uC8FC\\uC18C\",company_address:\"\\uD68C\\uC0AC \\uC8FC\\uC18C\",insert_fields:\"\\uD544\\uB4DC \\uC0BD\\uC785\",contact:\"\\uC811\\uCD09\",address:\"\\uC8FC\\uC18C\",display_name:\"\\uC774\\uB984 \\uD45C\\uC2DC\\uD558\\uAE30\",primary_contact_name:\"\\uAE30\\uBCF8 \\uC5F0\\uB77D\\uCC98 \\uC774\\uB984\",email:\"\\uC774\\uBA54\\uC77C\",website:\"\\uC6F9 \\uC0AC\\uC774\\uD2B8\",name:\"\\uC774\\uB984\",country:\"\\uAD6D\\uAC00\",state:\"\\uC0C1\\uD0DC\",city:\"\\uC2DC\\uD2F0\",company_name:\"\\uD68C\\uC0AC \\uC774\\uB984\",address_street_1:\"\\uC8FC\\uC18C \\uAC70\\uB9AC 1\",address_street_2:\"\\uC8FC\\uC18C Street 2\",phone:\"\\uC804\\uD654\",zip_code:\"\\uC6B0\\uD3B8 \\uBC88\\uD638\",address_setting_updated:\"\\uC8FC\\uC18C \\uC124\\uC815\\uC774 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uC5C5\\uB370\\uC774\\uD2B8\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\"},updated_message:\"\\uD68C\\uC0AC \\uC815\\uBCF4\\uAC00 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uC5C5\\uB370\\uC774\\uD2B8\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\",invoices:{title:\"\\uC1A1\\uC7A5\",notes:\"\\uB178\\uD2B8\",invoice_prefix:\"\\uC1A1\\uC7A5 \\uC811\\uB450\\uC0AC\",default_invoice_email_body:\"\\uAE30\\uBCF8 \\uC1A1\\uC7A5 \\uC774\\uBA54\\uC77C \\uBCF8\\uBB38\",invoice_settings:\"\\uC1A1\\uC7A5 \\uC124\\uC815\",autogenerate_invoice_number:\"\\uC1A1\\uC7A5 \\uBC88\\uD638 \\uC790\\uB3D9 \\uC0DD\\uC131\",autogenerate_invoice_number_desc:\"\\uC0C8 \\uC778\\uBCF4\\uC774\\uC2A4\\uB97C \\uC0DD\\uC131 \\uD560 \\uB54C\\uB9C8\\uB2E4 \\uC778\\uBCF4\\uC774\\uC2A4 \\uBC88\\uD638\\uB97C \\uC790\\uB3D9 \\uC0DD\\uC131\\uD558\\uC9C0 \\uC54A\\uC73C\\uB824\\uBA74\\uC774 \\uAE30\\uB2A5\\uC744 \\uBE44\\uD65C\\uC131\\uD654\\uD558\\uC2ED\\uC2DC\\uC624.\",invoice_email_attachment:\"\\uC1A1\\uC7A5\\uC744 \\uCCA8\\uBD80 \\uD30C\\uC77C\\uB85C \\uBCF4\\uB0B4\\uAE30\",invoice_email_attachment_setting_description:\"\\uC778\\uBCF4\\uC774\\uC2A4\\uB97C \\uC774\\uBA54\\uC77C \\uCCA8\\uBD80 \\uD30C\\uC77C\\uB85C \\uBCF4\\uB0B4\\uB824\\uBA74\\uC774 \\uC635\\uC158\\uC744 \\uD65C\\uC131\\uD654\\uD558\\uC2ED\\uC2DC\\uC624. \\uC774\\uBA54\\uC77C\\uC758 &#39;\\uC778\\uBCF4\\uC774\\uC2A4\\uBCF4\\uAE30&#39;\\uBC84\\uD2BC\\uC774 \\uD65C\\uC131\\uD654\\uB418\\uBA74 \\uB354 \\uC774\\uC0C1 \\uD45C\\uC2DC\\uB418\\uC9C0 \\uC54A\\uC2B5\\uB2C8\\uB2E4.\",enter_invoice_prefix:\"\\uC1A1\\uC7A5 \\uC811\\uB450\\uC0AC \\uC785\\uB825\",terms_and_conditions:\"\\uC774\\uC6A9 \\uC57D\\uAD00\",company_address_format:\"\\uD68C\\uC0AC \\uC8FC\\uC18C \\uD615\\uC2DD\",shipping_address_format:\"\\uBC30\\uC1A1 \\uC8FC\\uC18C \\uD615\\uC2DD\",billing_address_format:\"\\uCCAD\\uAD6C \\uC9C0 \\uC8FC\\uC18C \\uD615\\uC2DD\",invoice_settings_updated:\"\\uC778\\uBCF4\\uC774\\uC2A4 \\uC124\\uC815\\uC774 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uC5C5\\uB370\\uC774\\uD2B8\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\"},estimates:{title:\"\\uACAC\\uC801\",estimate_prefix:\"\\uC811\\uB450\\uC0AC \\uCD94\\uC815\",default_estimate_email_body:\"\\uAE30\\uBCF8 \\uC608\\uC0C1 \\uC774\\uBA54\\uC77C \\uBCF8\\uBB38\",estimate_settings:\"\\uC608\\uC0C1 \\uC124\\uC815\",autogenerate_estimate_number:\"\\uACAC\\uC801 \\uBC88\\uD638 \\uC790\\uB3D9 \\uC0DD\\uC131\",estimate_setting_description:\"\\uC0C8 \\uACAC\\uC801\\uC744 \\uC0DD\\uC131 \\uD560 \\uB54C\\uB9C8\\uB2E4 \\uACAC\\uC801 \\uBC88\\uD638\\uB97C \\uC790\\uB3D9 \\uC0DD\\uC131\\uD558\\uC9C0 \\uC54A\\uC73C\\uB824\\uBA74\\uC774 \\uAE30\\uB2A5\\uC744 \\uBE44\\uD65C\\uC131\\uD654\\uD558\\uC2ED\\uC2DC\\uC624.\",estimate_email_attachment:\"\\uACAC\\uC801\\uC744 \\uCCA8\\uBD80 \\uD30C\\uC77C\\uB85C \\uBCF4\\uB0B4\\uAE30\",estimate_email_attachment_setting_description:\"\\uACAC\\uC801\\uC744 \\uC774\\uBA54\\uC77C \\uCCA8\\uBD80 \\uD30C\\uC77C\\uB85C \\uBCF4\\uB0B4\\uB824\\uBA74\\uC774 \\uC635\\uC158\\uC744 \\uD65C\\uC131\\uD654\\uD558\\uC2ED\\uC2DC\\uC624. \\uC774\\uBA54\\uC77C\\uC758 &#39;\\uC608\\uC0C1\\uBCF4\\uAE30&#39;\\uBC84\\uD2BC\\uC774 \\uD65C\\uC131\\uD654\\uB418\\uBA74 \\uB354 \\uC774\\uC0C1 \\uD45C\\uC2DC\\uB418\\uC9C0 \\uC54A\\uC2B5\\uB2C8\\uB2E4.\",enter_estimate_prefix:\"\\uACAC\\uC801 \\uC811\\uB450\\uC0AC \\uC785\\uB825\",estimate_setting_updated:\"\\uC608\\uC0C1 \\uC124\\uC815\\uC774 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uC5C5\\uB370\\uC774\\uD2B8\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\",company_address_format:\"\\uD68C\\uC0AC \\uC8FC\\uC18C \\uD615\\uC2DD\",billing_address_format:\"\\uCCAD\\uAD6C \\uC9C0 \\uC8FC\\uC18C \\uD615\\uC2DD\",shipping_address_format:\"\\uBC30\\uC1A1 \\uC8FC\\uC18C \\uD615\\uC2DD\"},payments:{title:\"\\uC9C0\\uBD88\",description:\"\\uC9C0\\uBD88\\uC744\\uC704\\uD55C \\uAC70\\uB798 \\uBC29\\uC2DD\",payment_prefix:\"\\uC9C0\\uBD88 \\uC811\\uB450\\uC0AC\",default_payment_email_body:\"\\uAE30\\uBCF8 \\uACB0\\uC81C \\uC774\\uBA54\\uC77C \\uBCF8\\uBB38\",payment_settings:\"\\uACB0\\uC81C \\uC124\\uC815\",autogenerate_payment_number:\"\\uACB0\\uC81C \\uBC88\\uD638 \\uC790\\uB3D9 \\uC0DD\\uC131\",payment_setting_description:\"\\uC0C8 \\uACB0\\uC81C\\uB97C \\uC0DD\\uC131 \\uD560 \\uB54C\\uB9C8\\uB2E4 \\uACB0\\uC81C \\uBC88\\uD638\\uB97C \\uC790\\uB3D9 \\uC0DD\\uC131\\uD558\\uC9C0 \\uC54A\\uC73C\\uB824\\uBA74\\uC774 \\uAE30\\uB2A5\\uC744 \\uBE44\\uD65C\\uC131\\uD654\\uD558\\uC2ED\\uC2DC\\uC624.\",payment_email_attachment:\"\\uCCA8\\uBD80 \\uD30C\\uC77C\\uB85C \\uC9C0\\uBD88 \\uBCF4\\uB0B4\\uAE30\",payment_email_attachment_setting_description:\"\\uACB0\\uC81C \\uC601\\uC218\\uC99D\\uC744 \\uC774\\uBA54\\uC77C \\uCCA8\\uBD80 \\uD30C\\uC77C\\uB85C \\uBCF4\\uB0B4\\uB824\\uBA74\\uC774 \\uC635\\uC158\\uC744 \\uD65C\\uC131\\uD654\\uD558\\uC2ED\\uC2DC\\uC624. \\uC774\\uBA54\\uC77C\\uC758 &#39;\\uACB0\\uC81C\\uBCF4\\uAE30&#39;\\uBC84\\uD2BC\\uC774 \\uD65C\\uC131\\uD654\\uB418\\uBA74 \\uB354 \\uC774\\uC0C1 \\uD45C\\uC2DC\\uB418\\uC9C0 \\uC54A\\uC2B5\\uB2C8\\uB2E4.\",enter_payment_prefix:\"\\uC9C0\\uBD88 \\uC811\\uB450\\uC0AC \\uC785\\uB825\",payment_setting_updated:\"\\uACB0\\uC81C \\uC124\\uC815\\uC774 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uC5C5\\uB370\\uC774\\uD2B8\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\",payment_modes:\"\\uC9C0\\uBD88 \\uBAA8\\uB4DC\",add_payment_mode:\"\\uACB0\\uC81C \\uBAA8\\uB4DC \\uCD94\\uAC00\",edit_payment_mode:\"\\uACB0\\uC81C \\uBAA8\\uB4DC \\uC218\\uC815\",mode_name:\"\\uBAA8\\uB4DC \\uC774\\uB984\",payment_mode_added:\"\\uACB0\\uC81C \\uBAA8\\uB4DC \\uCD94\\uAC00\",payment_mode_updated:\"\\uACB0\\uC81C \\uBAA8\\uB4DC \\uC5C5\\uB370\\uC774\\uD2B8\",payment_mode_confirm_delete:\"\\uC774 \\uACB0\\uC81C \\uBAA8\\uB4DC\\uB97C \\uBCF5\\uAD6C \\uD560 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",already_in_use:\"\\uACB0\\uC81C \\uBAA8\\uB4DC\\uAC00 \\uC774\\uBBF8 \\uC0AC\\uC6A9 \\uC911\\uC785\\uB2C8\\uB2E4.\",deleted_message:\"\\uACB0\\uC81C \\uBAA8\\uB4DC\\uAC00 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uC0AD\\uC81C\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\",company_address_format:\"\\uD68C\\uC0AC \\uC8FC\\uC18C \\uD615\\uC2DD\",from_customer_address_format:\"\\uACE0\\uAC1D \\uC8FC\\uC18C \\uD615\\uC2DD\\uC5D0\\uC11C\"},items:{title:\"\\uC544\\uC774\\uD15C\",units:\"\\uB2E8\\uC704\",add_item_unit:\"\\uD56D\\uBAA9 \\uB2E8\\uC704 \\uCD94\\uAC00\",edit_item_unit:\"\\uD56D\\uBAA9 \\uB2E8\\uC704 \\uD3B8\\uC9D1\",unit_name:\"\\uB2E8\\uC704 \\uC774\\uB984\",item_unit_added:\"\\uD56D\\uBAA9 \\uB2E8\\uC704 \\uCD94\\uAC00\\uB428\",item_unit_updated:\"\\uD56D\\uBAA9 \\uB2E8\\uC704 \\uC5C5\\uB370\\uC774\\uD2B8 \\uB428\",item_unit_confirm_delete:\"\\uC774 \\uD56D\\uBAA9 \\uB2E8\\uC704\\uB97C \\uBCF5\\uAD6C \\uD560 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",already_in_use:\"\\uD56D\\uBAA9 \\uB2E8\\uC704\\uAC00 \\uC774\\uBBF8 \\uC0AC\\uC6A9 \\uC911\\uC785\\uB2C8\\uB2E4.\",deleted_message:\"\\uD56D\\uBAA9 \\uB2E8\\uC704\\uAC00 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uC0AD\\uC81C\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\"},notes:{title:\"\\uB178\\uD2B8\",description:\"\\uBA54\\uBAA8\\uB97C \\uC791\\uC131\\uD558\\uACE0 \\uC1A1\\uC7A5, \\uACAC\\uC801\\uC11C\\uC5D0 \\uC7AC\\uC0AC\\uC6A9\\uD558\\uC5EC \\uC2DC\\uAC04 \\uC808\\uC57D\",notes:\"\\uB178\\uD2B8\",type:\"\\uC720\\uD615\",add_note:\"\\uBA54\\uBAA8\\uB97C \\uCD94\\uAC00\",add_new_note:\"\\uC0C8 \\uBA54\\uBAA8 \\uCD94\\uAC00\",name:\"\\uC774\\uB984\",edit_note:\"\\uBA54\\uBAA8 \\uC218\\uC815\",note_added:\"\\uBA54\\uBAA8\\uAC00 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uCD94\\uAC00\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\",note_updated:\"\\uCC38\\uACE0 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uC5C5\\uB370\\uC774\\uD2B8\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\",note_confirm_delete:\"\\uC774 \\uBA54\\uBAA8\\uB97C \\uBCF5\\uAD6C \\uD560 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",already_in_use:\"\\uBA54\\uBAA8\\uAC00 \\uC774\\uBBF8 \\uC0AC\\uC6A9 \\uC911\\uC785\\uB2C8\\uB2E4.\",deleted_message:\"\\uBA54\\uBAA8\\uAC00 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uC0AD\\uC81C\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\"}},account_settings:{profile_picture:\"\\uD504\\uB85C\\uD544 \\uC0AC\\uC9C4\",name:\"\\uC774\\uB984\",email:\"\\uC774\\uBA54\\uC77C\",password:\"\\uC554\\uD638\",confirm_password:\"\\uBE44\\uBC00\\uBC88\\uD638 \\uD655\\uC778\",account_settings:\"\\uACC4\\uC815 \\uC124\\uC815\",save:\"\\uC800\\uC7A5\",section_description:\"\\uC774\\uB984, \\uC774\\uBA54\\uC77C\\uC744 \\uC5C5\\uB370\\uC774\\uD2B8 \\uD560 \\uC218 \\uC788\\uC2B5\\uB2C8\\uB2E4.\",updated_message:\"\\uACC4\\uC815 \\uC124\\uC815\\uC774 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uC5C5\\uB370\\uC774\\uD2B8\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\"},user_profile:{name:\"\\uC774\\uB984\",email:\"\\uC774\\uBA54\\uC77C\",password:\"\\uC554\\uD638\",confirm_password:\"\\uBE44\\uBC00\\uBC88\\uD638 \\uD655\\uC778\"},notification:{title:\"\\uACF5\\uACE0\",email:\"\\uC54C\\uB9BC \\uBCF4\\uB0B4\\uAE30\",description:\"\\uBCC0\\uACBD \\uC0AC\\uD56D\\uC774\\uC788\\uC744 \\uB54C \\uC5B4\\uB5A4 \\uC774\\uBA54\\uC77C \\uC54C\\uB9BC\\uC744 \\uBC1B\\uC73C\\uC2DC\\uACA0\\uC2B5\\uB2C8\\uAE4C?\",invoice_viewed:\"\\uC1A1\\uC7A5 \\uC870\\uD68C\",invoice_viewed_desc:\"\\uACE0\\uAC1D\\uC774 \\uBD84\\uD654\\uAD6C \\uB300\\uC2DC \\uBCF4\\uB4DC\\uB97C \\uD1B5\\uD574 \\uC804\\uC1A1 \\uB41C \\uC1A1\\uC7A5\\uC744 \\uBCFC \\uB54C.\",estimate_viewed:\"\\uBCF8 \\uACAC\\uC801\",estimate_viewed_desc:\"\\uACE0\\uAC1D\\uC774 \\uBD84\\uD654\\uAD6C \\uB300\\uC2DC \\uBCF4\\uB4DC\\uB97C \\uD1B5\\uD574 \\uC804\\uC1A1 \\uB41C \\uACAC\\uC801\\uC744 \\uBCFC \\uB54C.\",save:\"\\uC800\\uC7A5\",email_save_message:\"\\uC774\\uBA54\\uC77C\\uC774 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uC800\\uC7A5\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\",please_enter_email:\"\\uC774\\uBA54\\uC77C\\uC744 \\uC785\\uB825\\uD558\\uC2ED\\uC2DC\\uC624\"},tax_types:{title:\"\\uC138\\uAE08 \\uC720\\uD615\",add_tax:\"\\uC138\\uAE08 \\uCD94\\uAC00\",edit_tax:\"\\uC138\\uAE08 \\uC218\\uC815\",description:\"\\uC6D0\\uD558\\uB294\\uB300\\uB85C \\uC138\\uAE08\\uC744 \\uCD94\\uAC00\\uD558\\uAC70\\uB098 \\uC81C\\uAC70 \\uD560 \\uC218 \\uC788\\uC2B5\\uB2C8\\uB2E4. Crater\\uB294 \\uC1A1\\uC7A5\\uBFD0\\uB9CC \\uC544\\uB2C8\\uB77C \\uAC1C\\uBCC4 \\uD488\\uBAA9\\uC5D0 \\uB300\\uD55C \\uC138\\uAE08\\uC744 \\uC9C0\\uC6D0\\uD569\\uB2C8\\uB2E4.\",add_new_tax:\"\\uC0C8 \\uC138\\uAE08 \\uCD94\\uAC00\",tax_settings:\"\\uC138\\uAE08 \\uC124\\uC815\",tax_per_item:\"\\uD488\\uBAA9 \\uB2F9 \\uC138\\uAE08\",tax_name:\"\\uC138\\uAE08 \\uC774\\uB984\",compound_tax:\"\\uBCF5\\uD569 \\uC138\",percent:\"\\uD37C\\uC13C\\uD2B8\",action:\"\\uB3D9\\uC791\",tax_setting_description:\"\\uAC1C\\uBCC4 \\uC1A1\\uC7A5 \\uD56D\\uBAA9\\uC5D0 \\uC138\\uAE08\\uC744 \\uCD94\\uAC00\\uD558\\uB824\\uBA74\\uC774 \\uC635\\uC158\\uC744 \\uD65C\\uC131\\uD654\\uD558\\uC2ED\\uC2DC\\uC624. \\uAE30\\uBCF8\\uC801\\uC73C\\uB85C \\uC138\\uAE08\\uC740 \\uC1A1\\uC7A5\\uC5D0 \\uC9C1\\uC811 \\uCD94\\uAC00\\uB429\\uB2C8\\uB2E4.\",created_message:\"\\uC138\\uAE08 \\uC720\\uD615\\uC774 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uC0DD\\uC131\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\",updated_message:\"\\uC138\\uAE08 \\uC720\\uD615\\uC774 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uC5C5\\uB370\\uC774\\uD2B8\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\",deleted_message:\"\\uC138\\uAE08 \\uC720\\uD615\\uC774 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uC0AD\\uC81C\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\",confirm_delete:\"\\uC774 \\uC138\\uAE08 \\uC720\\uD615\\uC744 \\uBCF5\\uAD6C \\uD560 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",already_in_use:\"\\uC138\\uAE08\\uC774 \\uC774\\uBBF8 \\uC0AC\\uC6A9 \\uC911\\uC785\\uB2C8\\uB2E4.\"},expense_category:{title:\"\\uBE44\\uC6A9 \\uBC94\\uC8FC\",action:\"\\uB3D9\\uC791\",description:\"\\uBE44\\uC6A9 \\uD56D\\uBAA9\\uC744 \\uCD94\\uAC00\\uD558\\uB824\\uBA74 \\uCE74\\uD14C\\uACE0\\uB9AC\\uAC00 \\uD544\\uC694\\uD569\\uB2C8\\uB2E4. \\uAE30\\uBCF8 \\uC124\\uC815\\uC5D0 \\uB530\\uB77C \\uC774\\uB7EC\\uD55C \\uBC94\\uC8FC\\uB97C \\uCD94\\uAC00\\uD558\\uAC70\\uB098 \\uC81C\\uAC70 \\uD560 \\uC218 \\uC788\\uC2B5\\uB2C8\\uB2E4.\",add_new_category:\"\\uC0C8 \\uCE74\\uD14C\\uACE0\\uB9AC \\uCD94\\uAC00\",add_category:\"\\uCE74\\uD14C\\uACE0\\uB9AC \\uCD94\\uAC00\",edit_category:\"\\uCE74\\uD14C\\uACE0\\uB9AC \\uC218\\uC815\",category_name:\"\\uCE74\\uD14C\\uACE0\\uB9AC \\uC774\\uB984\",category_description:\"\\uAE30\\uC220\",created_message:\"\\uBE44\\uC6A9 \\uBC94\\uC8FC\\uAC00 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uC0DD\\uC131\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\",deleted_message:\"\\uBE44\\uC6A9 \\uBC94\\uC8FC\\uAC00 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uC0AD\\uC81C\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\",updated_message:\"\\uBE44\\uC6A9 \\uBC94\\uC8FC\\uAC00 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uC5C5\\uB370\\uC774\\uD2B8\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\",confirm_delete:\"\\uC774 \\uBE44\\uC6A9 \\uBC94\\uC8FC\\uB97C \\uBCF5\\uAD6C \\uD560 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",already_in_use:\"\\uCE74\\uD14C\\uACE0\\uB9AC\\uAC00 \\uC774\\uBBF8 \\uC0AC\\uC6A9 \\uC911\\uC785\\uB2C8\\uB2E4.\"},preferences:{currency:\"\\uD1B5\\uD654\",default_language:\"\\uAE30\\uBCF8 \\uC5B8\\uC5B4\",time_zone:\"\\uC2DC\\uAC04\\uB300\",fiscal_year:\"\\uD68C\\uACC4 \\uC5F0\\uB3C4\",date_format:\"\\uB0A0\\uC9DC \\uD615\\uC2DD\",discount_setting:\"\\uD560\\uC778 \\uC124\\uC815\",discount_per_item:\"\\uD488\\uBAA9\\uBCC4 \\uD560\\uC778\",discount_setting_description:\"\\uAC1C\\uBCC4 \\uC1A1\\uC7A5 \\uD56D\\uBAA9\\uC5D0 \\uD560\\uC778\\uC744 \\uCD94\\uAC00\\uD558\\uB824\\uBA74\\uC774 \\uC635\\uC158\\uC744 \\uD65C\\uC131\\uD654\\uD558\\uC2ED\\uC2DC\\uC624. \\uAE30\\uBCF8\\uC801\\uC73C\\uB85C \\uD560\\uC778\\uC740 \\uC1A1\\uC7A5\\uC5D0 \\uC9C1\\uC811 \\uCD94\\uAC00\\uB429\\uB2C8\\uB2E4.\",save:\"\\uC800\\uC7A5\",preference:\"\\uC120\\uD638\\uB3C4 | \\uD658\\uACBD \\uC124\\uC815\",general_settings:\"\\uC2DC\\uC2A4\\uD15C\\uC758 \\uAE30\\uBCF8 \\uAE30\\uBCF8 \\uC124\\uC815\\uC785\\uB2C8\\uB2E4.\",updated_message:\"\\uD658\\uACBD \\uC124\\uC815\\uC774 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uC5C5\\uB370\\uC774\\uD2B8\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\",select_language:\"\\uC5B8\\uC5B4 \\uC120\\uD0DD\",select_time_zone:\"\\uC2DC\\uAC04\\uB300 \\uC120\\uD0DD\",select_date_format:\"\\uB0A0\\uC9DC \\uD615\\uC2DD \\uC120\\uD0DD\",select_financial_year:\"\\uD68C\\uACC4 \\uC5F0\\uB3C4 \\uC120\\uD0DD\"},update_app:{title:\"\\uC571 \\uC5C5\\uB370\\uC774\\uD2B8\",description:\"\\uC544\\uB798 \\uBC84\\uD2BC\\uC744 \\uD074\\uB9AD\\uD558\\uC5EC \\uC0C8\\uB85C\\uC6B4 \\uC5C5\\uB370\\uC774\\uD2B8\\uB97C \\uD655\\uC778\\uD558\\uC5EC Crater\\uB97C \\uC27D\\uAC8C \\uC5C5\\uB370\\uC774\\uD2B8 \\uD560 \\uC218 \\uC788\\uC2B5\\uB2C8\\uB2E4.\",check_update:\"\\uC5C5\\uB370\\uC774\\uD2B8 \\uD655\\uC778\",avail_update:\"\\uC0C8\\uB85C\\uC6B4 \\uC5C5\\uB370\\uC774\\uD2B8 \\uC0AC\\uC6A9 \\uAC00\\uB2A5\",next_version:\"\\uB2E4\\uC74C \\uBC84\\uC804\",requirements:\"\\uC694\\uAD6C \\uC0AC\\uD56D\",update:\"\\uC9C0\\uAE08 \\uC5C5\\uB370\\uC774\\uD2B8\",update_progress:\"\\uC5C5\\uB370\\uC774\\uD2B8 \\uC9C4\\uD589 \\uC911 ...\",progress_text:\"\\uBA87 \\uBD84 \\uC815\\uB3C4 \\uAC78\\uB9BD\\uB2C8\\uB2E4. \\uC5C5\\uB370\\uC774\\uD2B8\\uAC00 \\uC644\\uB8CC\\uB418\\uAE30 \\uC804\\uC5D0 \\uD654\\uBA74\\uC744 \\uC0C8\\uB85C \\uACE0\\uCE58\\uAC70\\uB098 \\uCC3D\\uC744 \\uB2EB\\uC9C0 \\uB9C8\\uC2ED\\uC2DC\\uC624.\",update_success:\"\\uC571\\uC774 \\uC5C5\\uB370\\uC774\\uD2B8\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4! \\uBE0C\\uB77C\\uC6B0\\uC800 \\uCC3D\\uC774 \\uC790\\uB3D9\\uC73C\\uB85C \\uB2E4\\uC2DC\\uB85C\\uB4DC\\uB418\\uB294 \\uB3D9\\uC548 \\uC7A0\\uC2DC \\uAE30\\uB2E4\\uB824\\uC8FC\\uC2ED\\uC2DC\\uC624.\",latest_message:\"\\uC0AC\\uC6A9 \\uAC00\\uB2A5\\uD55C \\uC5C5\\uB370\\uC774\\uD2B8\\uAC00 \\uC5C6\\uC2B5\\uB2C8\\uB2E4! \\uCD5C\\uC2E0 \\uBC84\\uC804\\uC744 \\uC0AC\\uC6A9 \\uC911\\uC785\\uB2C8\\uB2E4.\",current_version:\"\\uD604\\uC7AC \\uBC84\\uC804\",download_zip_file:\"ZIP \\uD30C\\uC77C \\uB2E4\\uC6B4\\uB85C\\uB4DC\",unzipping_package:\"\\uD328\\uD0A4\\uC9C0 \\uC555\\uCD95 \\uD574\\uC81C\",copying_files:\"\\uD30C\\uC77C \\uBCF5\\uC0AC\",deleting_files:\"\\uC0AC\\uC6A9\\uD558\\uC9C0 \\uC54A\\uB294 \\uD30C\\uC77C \\uC0AD\\uC81C\",running_migrations:\"\\uB9C8\\uC774\\uADF8\\uB808\\uC774\\uC158 \\uC2E4\\uD589\",finishing_update:\"\\uC5C5\\uB370\\uC774\\uD2B8 \\uC644\\uB8CC\",update_failed:\"\\uC5C5\\uB370\\uC774\\uD2B8\\uAC00 \\uC2E4\\uD328\",update_failed_text:\"\\uC8C4\\uC1A1\\uD569\\uB2C8\\uB2E4! \\uC5C5\\uB370\\uC774\\uD2B8 \\uC2E4\\uD328 : {step} \\uB2E8\\uACC4\"},backup:{title:\"\\uBC31\\uC5C5 | \\uBC31\\uC5C5\",description:\"\\uBC31\\uC5C5\\uC740 \\uB370\\uC774\\uD130\\uBCA0\\uC774\\uC2A4 \\uB364\\uD504\\uC640 \\uD568\\uAED8 \\uC9C0\\uC815\\uD55C \\uB514\\uB809\\uD1A0\\uB9AC\\uC758 \\uBAA8\\uB4E0 \\uD30C\\uC77C\\uC744 \\uD3EC\\uD568\\uD558\\uB294 zip \\uD30C\\uC77C\\uC785\\uB2C8\\uB2E4.\",new_backup:\"\\uC0C8 \\uBC31\\uC5C5 \\uCD94\\uAC00\",create_backup:\"\\uBC31\\uC5C5 \\uC0DD\\uC131\",select_backup_type:\"\\uBC31\\uC5C5 \\uC720\\uD615 \\uC120\\uD0DD\",backup_confirm_delete:\"\\uC774 \\uBC31\\uC5C5\\uC744 \\uBCF5\\uAD6C \\uD560 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",path:\"\\uD1B5\\uB85C\",new_disk:\"\\uC0C8 \\uB514\\uC2A4\\uD06C\",created_at:\"\\uC5D0 \\uC0DD\\uC131\",size:\"\\uD06C\\uAE30\",dropbox:\"\\uB4DC\\uB86D \\uBC15\\uC2A4\",local:\"\\uD604\\uC9C0\",healthy:\"\\uAC74\\uAC15\\uD55C\",amount_of_backups:\"\\uBC31\\uC5C5 \\uC591\",newest_backups:\"\\uCD5C\\uC2E0 \\uBC31\\uC5C5\",used_storage:\"\\uC911\\uACE0 \\uC800\\uC7A5\",select_disk:\"\\uB514\\uC2A4\\uD06C \\uC120\\uD0DD\",action:\"\\uB3D9\\uC791\",deleted_message:\"\\uBC31\\uC5C5\\uC774 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uC0AD\\uC81C\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\",created_message:\"\\uBC31\\uC5C5\\uC774 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uC0DD\\uC131\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\",invalid_disk_credentials:\"\\uC120\\uD0DD\\uD55C \\uB514\\uC2A4\\uD06C\\uC758 \\uC798\\uBABB\\uB41C \\uC790\\uACA9 \\uC99D\\uBA85\"},disk:{title:\"\\uD30C\\uC77C \\uB514\\uC2A4\\uD06C | \\uD30C\\uC77C \\uB514\\uC2A4\\uD06C\",description:\"\\uAE30\\uBCF8\\uC801\\uC73C\\uB85C Crater\\uB294 \\uBC31\\uC5C5, \\uC544\\uBC14\\uD0C0 \\uBC0F \\uAE30\\uD0C0 \\uC774\\uBBF8\\uC9C0 \\uD30C\\uC77C\\uC744 \\uC800\\uC7A5\\uD558\\uAE30 \\uC704\\uD574 \\uB85C\\uCEEC \\uB514\\uC2A4\\uD06C\\uB97C \\uC0AC\\uC6A9\\uD569\\uB2C8\\uB2E4. \\uC120\\uD638\\uB3C4\\uC5D0 \\uB530\\uB77C DigitalOcean, S3 \\uBC0F Dropbox\\uC640 \\uAC19\\uC740 \\uB458 \\uC774\\uC0C1\\uC758 \\uB514\\uC2A4\\uD06C \\uB4DC\\uB77C\\uC774\\uBC84\\uB97C \\uAD6C\\uC131 \\uD560 \\uC218 \\uC788\\uC2B5\\uB2C8\\uB2E4.\",created_at:\"\\uC5D0 \\uC0DD\\uC131\",dropbox:\"\\uB4DC\\uB86D \\uBC15\\uC2A4\",name:\"\\uC774\\uB984\",driver:\"\\uC6B4\\uC804\\uC0AC\",disk_type:\"\\uC720\\uD615\",disk_name:\"\\uB514\\uC2A4\\uD06C \\uC774\\uB984\",new_disk:\"\\uC0C8 \\uB514\\uC2A4\\uD06C \\uCD94\\uAC00\",filesystem_driver:\"\\uD30C\\uC77C \\uC2DC\\uC2A4\\uD15C \\uB4DC\\uB77C\\uC774\\uBC84\",local_driver:\"\\uB85C\\uCEEC \\uB4DC\\uB77C\\uC774\\uBC84\",local_root:\"\\uB85C\\uCEEC \\uB8E8\\uD2B8\",public_driver:\"\\uACF5\\uACF5 \\uC6B4\\uC804\\uC790\",public_root:\"\\uACF5\\uAC1C \\uB8E8\\uD2B8\",public_url:\"\\uACF5\\uAC1C URL\",public_visibility:\"\\uACF5\\uAC1C \\uAC00\\uC2DC\\uC131\",media_driver:\"\\uBBF8\\uB514\\uC5B4 \\uB4DC\\uB77C\\uC774\\uBC84\",media_root:\"\\uBBF8\\uB514\\uC5B4 \\uB8E8\\uD2B8\",aws_driver:\"AWS \\uB4DC\\uB77C\\uC774\\uBC84\",aws_key:\"AWS \\uD0A4\",aws_secret:\"AWS \\uBE44\\uBC00\",aws_region:\"AWS \\uB9AC\\uC804\",aws_bucket:\"AWS \\uBC84\\uD0B7\",aws_root:\"AWS \\uB8E8\\uD2B8\",do_spaces_type:\"Do Spaces \\uC720\\uD615\",do_spaces_key:\"Do Spaces \\uD0A4\",do_spaces_secret:\"\\uC2A4\\uD398\\uC774\\uC2A4 \\uC2DC\\uD06C\\uB9BF\",do_spaces_region:\"Do Spaces \\uC601\\uC5ED\",do_spaces_bucket:\"Do Spaces Bucket\",do_spaces_endpoint:\"Do Spaces \\uB05D\\uC810\",do_spaces_root:\"\\uACF5\\uAC04 \\uB8E8\\uD2B8 \\uC218\\uD589\",dropbox_type:\"Dropbox \\uC720\\uD615\",dropbox_token:\"Dropbox \\uD1A0\\uD070\",dropbox_key:\"Dropbox \\uD0A4\",dropbox_secret:\"Dropbox \\uBE44\\uBC00\",dropbox_app:\"Dropbox \\uC571\",dropbox_root:\"Dropbox \\uB8E8\\uD2B8\",default_driver:\"\\uAE30\\uBCF8 \\uB4DC\\uB77C\\uC774\\uBC84\",is_default:\"\\uAE30\\uBCF8\\uAC12\\uC785\\uB2C8\\uB2E4.\",set_default_disk:\"\\uAE30\\uBCF8 \\uB514\\uC2A4\\uD06C \\uC124\\uC815\",set_default_disk_confirm:\"\\uC774 \\uB514\\uC2A4\\uD06C\\uB294 \\uAE30\\uBCF8\\uAC12\\uC73C\\uB85C \\uC124\\uC815\\uB418\\uBA70 \\uBAA8\\uB4E0 \\uC0C8 PDF\\uAC00\\uC774 \\uB514\\uC2A4\\uD06C\\uC5D0 \\uC800\\uC7A5\\uB429\\uB2C8\\uB2E4.\",success_set_default_disk:\"\\uB514\\uC2A4\\uD06C\\uAC00 \\uAE30\\uBCF8\\uAC12\\uC73C\\uB85C \\uC124\\uC815\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\",save_pdf_to_disk:\"PDF\\uB97C \\uB514\\uC2A4\\uD06C\\uC5D0 \\uC800\\uC7A5\",disk_setting_description:\"\\uAC01 \\uC1A1\\uC7A5\\uC758 \\uC0AC\\uBCF8\\uC744 \\uC800\\uC7A5\\uD558\\uB824\\uBA74 \\uC774\\uAC83\\uC744 \\uD65C\\uC131\\uD654\\uD558\\uC2ED\\uC2DC\\uC624.\",select_disk:\"\\uB514\\uC2A4\\uD06C \\uC120\\uD0DD\",disk_settings:\"\\uB514\\uC2A4\\uD06C \\uC124\\uC815\",confirm_delete:\"\\uAE30\\uC874 \\uD30C\\uC77C\",action:\"\\uB3D9\\uC791\",edit_file_disk:\"\\uD30C\\uC77C \\uB514\\uC2A4\\uD06C \\uD3B8\\uC9D1\",success_create:\"\\uB514\\uC2A4\\uD06C\\uAC00 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uCD94\\uAC00\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\",success_update:\"\\uB514\\uC2A4\\uD06C\\uAC00 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uC5C5\\uB370\\uC774\\uD2B8\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\",error:\"\\uB514\\uC2A4\\uD06C \\uCD94\\uAC00 \\uC2E4\\uD328\",deleted_message:\"\\uD30C\\uC77C \\uB514\\uC2A4\\uD06C\\uAC00 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uC0AD\\uC81C\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\",disk_variables_save_successfully:\"\\uB514\\uC2A4\\uD06C\\uAC00 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uAD6C\\uC131\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\",disk_variables_save_error:\"\\uB514\\uC2A4\\uD06C \\uAD6C\\uC131\\uC5D0 \\uC2E4\\uD328\\uD588\\uC2B5\\uB2C8\\uB2E4.\",invalid_disk_credentials:\"\\uC120\\uD0DD\\uD55C \\uB514\\uC2A4\\uD06C\\uC758 \\uC798\\uBABB\\uB41C \\uC790\\uACA9 \\uC99D\\uBA85\"}},Pv={account_info:\"\\uACC4\\uC815 \\uC815\\uBCF4\",account_info_desc:\"\\uC544\\uB798 \\uC138\\uBD80 \\uC815\\uBCF4\\uB294 \\uAE30\\uBCF8 \\uAD00\\uB9AC\\uC790 \\uACC4\\uC815\\uC744 \\uB9CC\\uB4DC\\uB294 \\uB370 \\uC0AC\\uC6A9\\uB429\\uB2C8\\uB2E4. \\uB610\\uD55C \\uB85C\\uADF8\\uC778 \\uD6C4 \\uC5B8\\uC81C\\uB4E0\\uC9C0 \\uC138\\uBD80 \\uC815\\uBCF4\\uB97C \\uBCC0\\uACBD\\uD560 \\uC218 \\uC788\\uC2B5\\uB2C8\\uB2E4.\",name:\"\\uC774\\uB984\",email:\"\\uC774\\uBA54\\uC77C\",password:\"\\uC554\\uD638\",confirm_password:\"\\uBE44\\uBC00\\uBC88\\uD638 \\uD655\\uC778\",save_cont:\"\\uC800\\uC7A5\",company_info:\"\\uD68C\\uC0AC \\uC815\\uBCF4\",company_info_desc:\"\\uC774 \\uC815\\uBCF4\\uB294 \\uC1A1\\uC7A5\\uC5D0 \\uD45C\\uC2DC\\uB429\\uB2C8\\uB2E4. \\uB098\\uC911\\uC5D0 \\uC124\\uC815 \\uD398\\uC774\\uC9C0\\uC5D0\\uC11C \\uC218\\uC815\\uD560 \\uC218 \\uC788\\uC2B5\\uB2C8\\uB2E4.\",company_name:\"\\uD68C\\uC0AC \\uC774\\uB984\",company_logo:\"\\uD68C\\uC0AC \\uB85C\\uACE0\",logo_preview:\"\\uB85C\\uACE0 \\uBBF8\\uB9AC\\uBCF4\\uAE30\",preferences:\"\\uD658\\uACBD \\uC124\\uC815\",preferences_desc:\"\\uC2DC\\uC2A4\\uD15C\\uC758 \\uAE30\\uBCF8 \\uAE30\\uBCF8 \\uC124\\uC815\\uC785\\uB2C8\\uB2E4.\",country:\"\\uAD6D\\uAC00\",state:\"\\uC0C1\\uD0DC\",city:\"\\uC2DC\\uD2F0\",address:\"\\uC8FC\\uC18C\",street:\"Street1 | Street2\",phone:\"\\uC804\\uD654\",zip_code:\"\\uC6B0\\uD3B8 \\uBC88\\uD638\",go_back:\"\\uB3CC\\uC544 \\uAC00\\uAE30\",currency:\"\\uD1B5\\uD654\",language:\"\\uC5B8\\uC5B4\",time_zone:\"\\uC2DC\\uAC04\\uB300\",fiscal_year:\"\\uD68C\\uACC4 \\uC5F0\\uB3C4\",date_format:\"\\uB0A0\\uC9DC \\uD615\\uC2DD\",from_address:\"\\uC8FC\\uC18C\\uC5D0\\uC11C\",username:\"\\uC0AC\\uC6A9\\uC790 \\uC774\\uB984\",next:\"\\uB2E4\\uC74C\",continue:\"\\uACC4\\uC18D\\uD558\\uB2E4\",skip:\"\\uAC74\\uB108 \\uB6F0\\uAE30\",database:{database:\"\\uC0AC\\uC774\\uD2B8 URL\",connection:\"\\uB370\\uC774\\uD130\\uBCA0\\uC774\\uC2A4 \\uC5F0\\uACB0\",host:\"\\uB370\\uC774\\uD130\\uBCA0\\uC774\\uC2A4 \\uD638\\uC2A4\\uD2B8\",port:\"\\uB370\\uC774\\uD130\\uBCA0\\uC774\\uC2A4 \\uD3EC\\uD2B8\",password:\"\\uB370\\uC774\\uD130\\uBCA0\\uC774\\uC2A4 \\uBE44\\uBC00\\uBC88\\uD638\",app_url:\"\\uC571 URL\",app_domain:\"\\uC571 \\uB3C4\\uBA54\\uC778\",username:\"\\uB370\\uC774\\uD130\\uBCA0\\uC774\\uC2A4 \\uC0AC\\uC6A9\\uC790 \\uC774\\uB984\",db_name:\"\\uB370\\uC774\\uD130\\uBCA0\\uC774\\uC2A4 \\uC774\\uB984\",db_path:\"\\uB370\\uC774\\uD130\\uBCA0\\uC774\\uC2A4 \\uACBD\\uB85C\",desc:\"\\uC11C\\uBC84\\uC5D0 \\uB370\\uC774\\uD130\\uBCA0\\uC774\\uC2A4\\uB97C \\uB9CC\\uB4E4\\uACE0 \\uC544\\uB798 \\uC591\\uC2DD\\uC744 \\uC0AC\\uC6A9\\uD558\\uC5EC \\uC790\\uACA9 \\uC99D\\uBA85\\uC744 \\uC124\\uC815\\uD569\\uB2C8\\uB2E4.\"},permissions:{permissions:\"\\uAD8C\\uD55C\",permission_confirm_title:\"\\uB108 \\uC815\\uB9D0 \\uACC4\\uC18D\\uD558\\uACE0 \\uC2F6\\uB2C8?\",permission_confirm_desc:\"\\uD3F4\\uB354 \\uAD8C\\uD55C \\uD655\\uC778 \\uC2E4\\uD328\",permission_desc:\"\\uB2E4\\uC74C\\uC740 \\uC571\\uC774 \\uC791\\uB3D9\\uD558\\uB294 \\uB370 \\uD544\\uC694\\uD55C \\uD3F4\\uB354 \\uAD8C\\uD55C \\uBAA9\\uB85D\\uC785\\uB2C8\\uB2E4. \\uAD8C\\uD55C \\uD655\\uC778\\uC5D0 \\uC2E4\\uD328\\uD558\\uBA74 \\uD3F4\\uB354 \\uAD8C\\uD55C\\uC744 \\uC5C5\\uB370\\uC774\\uD2B8\\uD558\\uC2ED\\uC2DC\\uC624.\"},mail:{host:\"\\uBA54\\uC77C \\uD638\\uC2A4\\uD2B8\",port:\"\\uBA54\\uC77C \\uD3EC\\uD2B8\",driver:\"\\uBA54\\uC77C \\uB4DC\\uB77C\\uC774\\uBC84\",secret:\"\\uBE44\\uBC00\",mailgun_secret:\"Mailgun \\uBE44\\uBC00\",mailgun_domain:\"\\uB3C4\\uBA54\\uC778\",mailgun_endpoint:\"Mailgun \\uC5D4\\uB4DC \\uD3EC\\uC778\\uD2B8\",ses_secret:\"SES \\uBE44\\uBC00\",ses_key:\"SES \\uD0A4\",password:\"\\uBA54\\uC77C \\uBE44\\uBC00\\uBC88\\uD638\",username:\"\\uBA54\\uC77C \\uC0AC\\uC6A9\\uC790 \\uC774\\uB984\",mail_config:\"\\uBA54\\uC77C \\uAD6C\\uC131\",from_name:\"\\uBA54\\uC77C \\uC774\\uB984\\uC5D0\\uC11C\",from_mail:\"\\uBA54\\uC77C \\uC8FC\\uC18C\\uC5D0\\uC11C\",encryption:\"\\uBA54\\uC77C \\uC554\\uD638\\uD654\",mail_config_desc:\"\\uB2E4\\uC74C\\uC740 \\uC571\\uC5D0\\uC11C \\uC774\\uBA54\\uC77C\\uC744 \\uBCF4\\uB0B4\\uAE30\\uC704\\uD55C \\uC774\\uBA54\\uC77C \\uB4DC\\uB77C\\uC774\\uBC84 \\uAD6C\\uC131 \\uC591\\uC2DD\\uC785\\uB2C8\\uB2E4. Sendgrid, SES \\uB4F1\\uACFC \\uAC19\\uC740 \\uD0C0\\uC0AC \\uACF5\\uAE09\\uC790\\uB97C \\uAD6C\\uC131 \\uD560 \\uC218\\uB3C4 \\uC788\\uC2B5\\uB2C8\\uB2E4.\"},req:{system_req:\"\\uC2DC\\uC2A4\\uD15C \\uC694\\uAD6C \\uC0AC\\uD56D\",php_req_version:\"PHP (\\uBC84\\uC804 {version} \\uD544\\uC694)\",check_req:\"\\uC694\\uAD6C \\uC0AC\\uD56D \\uD655\\uC778\",system_req_desc:\"\\uD06C\\uB808\\uC774\\uD130\\uC5D0\\uB294 \\uBA87 \\uAC00\\uC9C0 \\uC11C\\uBC84 \\uC694\\uAD6C \\uC0AC\\uD56D\\uC774 \\uC788\\uC2B5\\uB2C8\\uB2E4. \\uC11C\\uBC84\\uC5D0 \\uD544\\uC694\\uD55C PHP \\uBC84\\uC804\\uACFC \\uC544\\uB798\\uC5D0 \\uC5B8\\uAE09 \\uB41C \\uBAA8\\uB4E0 \\uD655\\uC7A5\\uC774 \\uC788\\uB294\\uC9C0 \\uD655\\uC778\\uD558\\uC2ED\\uC2DC\\uC624.\"},errors:{migrate_failed:\"\\uB9C8\\uC774\\uADF8\\uB808\\uC774\\uC158 \\uC2E4\\uD328\",database_variables_save_error:\".env \\uD30C\\uC77C\\uC5D0 \\uAD6C\\uC131\\uC744 \\uC4F8 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4. \\uD30C\\uC77C \\uAD8C\\uD55C\\uC744 \\uD655\\uC778\\uD558\\uC2ED\\uC2DC\\uC624\",mail_variables_save_error:\"\\uC774\\uBA54\\uC77C \\uAD6C\\uC131\\uC5D0 \\uC2E4\\uD328\\uD588\\uC2B5\\uB2C8\\uB2E4.\",connection_failed:\"\\uB370\\uC774\\uD130\\uBCA0\\uC774\\uC2A4 \\uC5F0\\uACB0 \\uC2E4\\uD328\",database_should_be_empty:\"\\uB370\\uC774\\uD130\\uBCA0\\uC774\\uC2A4\\uB294 \\uBE44\\uC5B4 \\uC788\\uC5B4\\uC57C\\uD569\\uB2C8\\uB2E4.\"},success:{mail_variables_save_successfully:\"\\uC774\\uBA54\\uC77C\\uC774 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uAD6C\\uC131\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\",database_variables_save_successfully:\"\\uB370\\uC774\\uD130\\uBCA0\\uC774\\uC2A4\\uAC00 \\uC131\\uACF5\\uC801\\uC73C\\uB85C \\uAD6C\\uC131\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\"}},Sv={invalid_phone:\"\\uC720\\uD6A8\\uD558\\uC9C0 \\uC54A\\uC740 \\uC804\\uD654 \\uBC88\\uD638\",invalid_url:\"\\uC798\\uBABB\\uB41C URL (\\uC608 : http://www.craterapp.com)\",invalid_domain_url:\"\\uC798\\uBABB\\uB41C URL (\\uC608 : craterapp.com)\",required:\"\\uD544\\uB4DC\\uB294 \\uD544\\uC218\\uC785\\uB2C8\\uB2E4\",email_incorrect:\"\\uC798\\uBABB\\uB41C \\uC774\\uBA54\\uC77C.\",email_already_taken:\"\\uC774\\uBA54\\uC77C\\uC774 \\uC774\\uBBF8 \\uC0AC\\uC6A9\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\",email_does_not_exist:\"\\uC8FC\\uC5B4\\uC9C4 \\uC774\\uBA54\\uC77C\\uC744 \\uAC00\\uC9C4 \\uC0AC\\uC6A9\\uC790\\uAC00 \\uC874\\uC7AC\\uD558\\uC9C0 \\uC54A\\uC2B5\\uB2C8\\uB2E4\",item_unit_already_taken:\"\\uC774 \\uD56D\\uBAA9 \\uB2E8\\uC704 \\uC774\\uB984\\uC740 \\uC774\\uBBF8 \\uC0AC\\uC6A9\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\",payment_mode_already_taken:\"\\uC774 \\uACB0\\uC81C \\uBAA8\\uB4DC \\uC774\\uB984\\uC740 \\uC774\\uBBF8 \\uC0AC\\uC6A9\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\",send_reset_link:\"\\uC7AC\\uC124\\uC815 \\uB9C1\\uD06C \\uBCF4\\uB0B4\\uAE30\",not_yet:\"\\uC544\\uC9C1? \\uB2E4\\uC2DC \\uBCF4\\uB0B4\\uC918\",password_min_length:\"\\uBE44\\uBC00\\uBC88\\uD638\\uB294 {count}\\uC790\\uB97C \\uD3EC\\uD568\\uD574\\uC57C\\uD569\\uB2C8\\uB2E4.\",name_min_length:\"\\uC774\\uB984\\uC740 {count} \\uC790 \\uC774\\uC0C1\\uC774\\uC5B4\\uC57C\\uD569\\uB2C8\\uB2E4.\",enter_valid_tax_rate:\"\\uC720\\uD6A8\\uD55C \\uC138\\uC728\\uC744 \\uC785\\uB825\\uD558\\uC138\\uC694.\",numbers_only:\"\\uC22B\\uC790 \\uB9CC.\",characters_only:\"\\uBB38\\uC790 \\uB9CC.\",password_incorrect:\"\\uBE44\\uBC00\\uBC88\\uD638\\uB294 \\uB3D9\\uC77C\\uD574\\uC57C\\uD569\\uB2C8\\uB2E4.\",password_length:\"\\uBE44\\uBC00\\uBC88\\uD638\\uB294 {count} \\uC790 \\uC5EC\\uC57C\\uD569\\uB2C8\\uB2E4.\",qty_must_greater_than_zero:\"\\uC218\\uB7C9\\uC740 0\\uBCF4\\uB2E4 \\uCEE4\\uC57C\\uD569\\uB2C8\\uB2E4.\",price_greater_than_zero:\"\\uAC00\\uACA9\\uC740 0\\uBCF4\\uB2E4 \\uCEE4\\uC57C\\uD569\\uB2C8\\uB2E4.\",payment_greater_than_zero:\"\\uACB0\\uC81C \\uAE08\\uC561\\uC740 0\\uBCF4\\uB2E4 \\uCEE4\\uC57C\\uD569\\uB2C8\\uB2E4.\",payment_greater_than_due_amount:\"\\uC785\\uB825 \\uB41C \\uACB0\\uC81C \\uAE08\\uC561\\uC774\\uC774 \\uC1A1\\uC7A5\\uC758 \\uB9CC\\uAE30 \\uAE08\\uC561\\uC744 \\uCD08\\uACFC\\uD569\\uB2C8\\uB2E4.\",quantity_maxlength:\"\\uC218\\uB7C9\\uC740 20 \\uC790\\uB9AC\\uB97C \\uCD08\\uACFC \\uD560 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",price_maxlength:\"\\uAC00\\uACA9\\uC740 20 \\uC790\\uB9AC\\uB97C \\uCD08\\uACFC \\uD560 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",price_minvalue:\"\\uAC00\\uACA9\\uC740 0\\uBCF4\\uB2E4 \\uCEE4\\uC57C\\uD569\\uB2C8\\uB2E4.\",amount_maxlength:\"\\uAE08\\uC561\\uC740 20 \\uC790\\uB9AC\\uB97C \\uCD08\\uACFC \\uD560 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",amount_minvalue:\"\\uAE08\\uC561\\uC740 0\\uBCF4\\uB2E4 \\uCEE4\\uC57C\\uD569\\uB2C8\\uB2E4.\",description_maxlength:\"\\uC124\\uBA85\\uC740 65,000\\uC790\\uB97C \\uCD08\\uACFC \\uD560 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",subject_maxlength:\"\\uC81C\\uBAA9\\uC740 100 \\uC790 \\uC774\\uD558 \\uC5EC\\uC57C\\uD569\\uB2C8\\uB2E4.\",message_maxlength:\"\\uBA54\\uC2DC\\uC9C0\\uB294 255\\uC790\\uB97C \\uCD08\\uACFC \\uD560 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",maximum_options_error:\"\\uCD5C\\uB300 {max} \\uAC1C\\uC758 \\uC635\\uC158\\uC774 \\uC120\\uD0DD\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4. \\uBA3C\\uC800 \\uC120\\uD0DD\\uD55C \\uC635\\uC158\\uC744 \\uC81C\\uAC70\\uD558\\uC5EC \\uB2E4\\uB978 \\uC635\\uC158\\uC744 \\uC120\\uD0DD\\uD558\\uC2ED\\uC2DC\\uC624.\",notes_maxlength:\"\\uBA54\\uBAA8\\uB294 65,000\\uC790\\uB97C \\uCD08\\uACFC \\uD560 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",address_maxlength:\"\\uC8FC\\uC18C\\uB294 255\\uC790\\uB97C \\uCD08\\uACFC \\uD560 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",ref_number_maxlength:\"\\uCC38\\uC870 \\uBC88\\uD638\\uB294 255\\uC790\\uB97C \\uCD08\\uACFC \\uD560 \\uC218 \\uC5C6\\uC2B5\\uB2C8\\uB2E4.\",prefix_maxlength:\"\\uC811\\uB450\\uC0AC\\uB294 5 \\uC790 \\uC774\\uD558 \\uC5EC\\uC57C\\uD569\\uB2C8\\uB2E4.\",something_went_wrong:\"\\uBB54\\uAC00 \\uC798\\uBABB \\uB410\\uC5B4\"},jv=\"\\uACAC\\uC801\",Av=\"\\uACAC\\uC801 \\uBC88\\uD638\",Dv=\"\\uC608\\uC0C1 \\uB0A0\\uC9DC\",Cv=\"\\uB9CC\\uB8CC\\uC77C\",Nv=\"\\uC1A1\\uC7A5\",Ev=\"\\uC1A1\\uC7A5 \\uBC88\\uD638\",Iv=\"\\uC1A1\\uC7A5 \\uB0A0\\uC9DC\",Tv=\"\\uB9C8\\uAC10\\uC77C\",Rv=\"\\uB178\\uD2B8\",Mv=\"\\uC544\\uC774\\uD15C\",Fv=\"\\uC218\\uB7C9\",$v=\"\\uAC00\\uACA9\",Uv=\"\\uD560\\uC778\",Vv=\"\\uC591\",Ov=\"\\uC18C\\uACC4\",Lv=\"\\uD569\\uACC4\",qv=\"\\uC9C0\\uBD88\",Bv=\"\\uC601\\uC218\\uC99D\",Kv=\"\\uACB0\\uC81C\\uC77C\",Zv=\"\\uACB0\\uC81C \\uBC88\\uD638\",Wv=\"\\uC9C0\\uBD88 \\uBAA8\\uB4DC\",Hv=\"\\uBC1B\\uC740 \\uAE08\\uC561\",Yv=\"\\uBE44\\uC6A9 \\uBCF4\\uACE0\\uC11C\",Gv=\"\\uCD1D \\uBE44\\uC6A9\",Jv=\"\\uC774\\uC775\",Qv=\"\\uD310\\uB9E4 \\uACE0\\uAC1D \\uBCF4\\uACE0\\uC11C\",Xv=\"\\uD310\\uB9E4 \\uD488\\uBAA9 \\uBCF4\\uACE0\\uC11C\",ey=\"\\uC138\\uAE08 \\uC694\\uC57D \\uBCF4\\uACE0\\uC11C\",ty=\"\\uC218\\uC785\",ay=\"\\uC21C\\uC774\\uC775\",ny=\"\\uD310\\uB9E4 \\uBCF4\\uACE0\\uC11C : \\uACE0\\uAC1D \\uBCC4\",iy=\"\\uCD1D \\uB9E4\\uCD9C\",oy=\"\\uD310\\uB9E4 \\uBCF4\\uACE0\\uC11C : \\uD488\\uBAA9\\uBCC4\",sy=\"\\uC138\\uAE08 \\uBCF4\\uACE0\\uC11C\",ry=\"\\uCD1D \\uC138\\uAE08\",dy=\"\\uC138\\uAE08 \\uC720\\uD615\",ly=\"\\uACBD\\uBE44\",cy=\"\\uCCAD\\uAD6C\\uC11C,\",_y=\"\\uBC30\\uC1A1\\uC9C0,\",uy=\"\\uBC1B\\uC740 \\uC0AC\\uB78C :\",my=\"\\uC138\";var py={navigation:cv,general:_v,dashboard:uv,tax_types:mv,global_search:pv,customers:fv,items:gv,estimates:vv,invoices:yv,payments:hv,expenses:bv,login:kv,users:wv,reports:zv,settings:xv,wizard:Pv,validation:Sv,pdf_estimate_label:jv,pdf_estimate_number:Av,pdf_estimate_date:Dv,pdf_estimate_expire_date:Cv,pdf_invoice_label:Nv,pdf_invoice_number:Ev,pdf_invoice_date:Iv,pdf_invoice_due_date:Tv,pdf_notes:Rv,pdf_items_label:Mv,pdf_quantity_label:Fv,pdf_price_label:$v,pdf_discount_label:Uv,pdf_amount_label:Vv,pdf_subtotal:Ov,pdf_total:Lv,pdf_payment_label:qv,pdf_payment_receipt_label:Bv,pdf_payment_date:Kv,pdf_payment_number:Zv,pdf_payment_mode:Wv,pdf_payment_amount_received_label:Hv,pdf_expense_report_label:Yv,pdf_total_expenses_label:Gv,pdf_profit_loss_label:Jv,pdf_sales_customers_label:Qv,pdf_sales_items_label:Xv,pdf_tax_summery_label:ey,pdf_income_label:ty,pdf_net_profit_label:ay,pdf_customer_sales_report:ny,pdf_total_sales_label:iy,pdf_item_sales_label:oy,pdf_tax_report_label:sy,pdf_total_tax_label:ry,pdf_tax_types_label:dy,pdf_expenses_label:ly,pdf_bill_to:cy,pdf_ship_to:_y,pdf_received_from:uy,pdf_tax_label:my};const fy={dashboard:\"Inform\\u0101cijas panelis\",customers:\"Klienti\",items:\"Preces\",invoices:\"R\\u0113\\u0137ini\",\"recurring-invoices\":\"Regul\\u0101rie r\\u0113\\u0137ini\",expenses:\"Izdevumi\",estimates:\"Apr\\u0113\\u0137ini\",payments:\"Maks\\u0101jumi\",reports:\"Atskaites\",settings:\"Iestat\\u012Bjumi\",logout:\"Iziet\",users:\"Lietot\\u0101ji\",modules:\"Modules\"},gy={add_company:\"Pievienot uz\\u0146\\u0113mumu\",view_pdf:\"Apskat\\u012Bt PDF\",copy_pdf_url:\"Kop\\u0113t PDF saiti\",download_pdf:\"Lejupiel\\u0101d\\u0113t PDF\",save:\"Saglab\\u0101t\",create:\"Izveidot\",cancel:\"Atcelt\",update:\"Atjaunin\\u0101t\",deselect:\"Atcelt iez\\u012Bm\\u0113\\u0161anu\",download:\"Lejupiel\\u0101d\\u0113t\",from_date:\"Datums no\",to_date:\"Datums l\\u012Bdz\",from:\"No\",to:\"Kam\",ok:\"Labi\",yes:\"J\\u0101\",no:\"N\\u0113\",sort_by:\"K\\u0101rtot p\\u0113c\",ascending:\"Augo\\u0161\\u0101 sec\\u012Bb\\u0101\",descending:\"Dilsto\\u0161\\u0101 sec\\u012Bb\\u0101\",subject:\"Temats\",body:\"Saturs\",message:\"Zi\\u0146ojums\",send:\"Nos\\u016Bt\\u012Bt\",preview:\"Priek\\u0161skat\\u012Bt\\u012Bjums\",go_back:\"Atpaka\\u013C\",back_to_login:\"Atpaka\\u013C uz autoriz\\u0101ciju?\",home:\"S\\u0101kums\",filter:\"Filtr\\u0113t\",delete:\"Dz\\u0113st\",edit:\"Labot\",view:\"Skat\\u012Bt\",add_new_item:\"Pievienot jaunu\",clear_all:\"Not\\u012Br\\u012Bt visu\",showing:\"R\\u0101da\",of:\"no\",actions:\"Darb\\u012Bbas\",subtotal:\"KOP\\u0100\",discount:\"ATLAIDE\",fixed:\"Fiks\\u0113ts\",percentage:\"Procenti\",tax:\"Nodoklis\",total_amount:\"KOP\\u0100 APMAKSAI\",bill_to:\"Sa\\u0146\\u0113m\\u0113js\",ship_to:\"Pieg\\u0101d\\u0101t uz\",due:\"L\\u012Bdz\",draft:\"Melnraksts\",sent:\"Nos\\u016Bt\\u012Bts\",all:\"Visi\",select_all:\"Iez\\u012Bm\\u0113t visu\",select_template:\"Izv\\u0113l\\u0113ties veidni\",choose_file:\"Spied \\u0161eit, lai izv\\u0113l\\u0113tos failu\",choose_template:\"Izv\\u0113laties sagatavi\",choose:\"Izv\\u0113lies\",remove:\"Dz\\u0113st\",select_a_status:\"Izv\\u0113lieties statusu\",select_a_tax:\"Izv\\u0113l\\u0113ties nodokli\",search:\"Mekl\\u0113t\",are_you_sure:\"Vai esat p\\u0101rliecin\\u0101ts?\",list_is_empty:\"Saraksts ir tuk\\u0161s.\",no_tax_found:\"Nodoklis nav atrasts!\",four_zero_four:\"404\",you_got_lost:\"Op\\u0101! Esi apmald\\u012Bjies!\",go_home:\"Uz S\\u0101kumu\",test_mail_conf:\"J\\u016Bsu e-pasta uzst\\u0101d\\u012Bjumu tests\",send_mail_successfully:\"Veiksm\\u012Bgi nos\\u016Bt\\u012Bts\",setting_updated:\"Iestat\\u012Bjumi tika veiksm\\u012Bgi atjaunin\\u0101ti\",select_state:\"Izv\\u0113lieties re\\u0123ionu\",select_country:\"Izv\\u0113l\\u0113ties valsti\",select_city:\"Izv\\u0113lieties pils\\u0113tu\",street_1:\"Adrese 1\",street_2:\"Adrese 2\",action_failed:\"Darb\\u012Bba neizdev\\u0101s\",retry:\"Atk\\u0101rtot\",choose_note:\"Izv\\u0113lieties piez\\u012Bmi\",no_note_found:\"Piez\\u012Bmes nav atrastas\",insert_note:\"Ievietot piez\\u012Bmi\",copied_pdf_url_clipboard:\"Saglab\\u0101t PDF saiti!\",copied_url_clipboard:\"Copied url to clipboard!\",docs:\"Dokumenti\",do_you_wish_to_continue:\"Vai v\\u0113lies turpin\\u0101t?\",note:\"Piez\\u012Bme\",pay_invoice:\"Pay Invoice\",login_successfully:\"Logged in successfully!\",logged_out_successfully:\"Logged out successfully\",mark_as_default:\"Mark as default\"},vy={select_year:\"Izv\\u0113lieties gadu\",cards:{due_amount:\"Apmaksas summa\",customers:\"Klienti\",invoices:\"R\\u0113\\u0137ini\",estimates:\"Apr\\u0113\\u0137ini\",payments:\"Payments\"},chart_info:{total_sales:\"P\\u0101rdotais\",total_receipts:\"\\u010Ceki\",total_expense:\"Izdevumi\",net_income:\"Pe\\u013C\\u0146a\",year:\"Izv\\u0113lieties gadu\"},monthly_chart:{title:\"P\\u0101rdotais un Izdevumi\"},recent_invoices_card:{title:\"Pien\\u0101ko\\u0161ie r\\u0113\\u0137ini\",due_on:\"Termi\\u0146\\u0161\",customer:\"Klients\",amount_due:\"Apmaksas summa\",actions:\"Darb\\u012Bbas\",view_all:\"Skat\\u012Bt visus\"},recent_estimate_card:{title:\"Nesenie apr\\u0113\\u0137ini\",date:\"Datums\",customer:\"Klients\",amount_due:\"Apmaksas summa\",actions:\"Darb\\u012Bbas\",view_all:\"Skat\\u012Bt visus\"}},yy={name:\"Nosaukums\",description:\"Apraksts\",percent:\"Procenti\",compound_tax:\"Saliktie nodok\\u013Ci\"},hy={search:\"Mekl\\u0113t...\",customers:\"Klienti\",users:\"Lietot\\u0101ji\",no_results_found:\"Nav atbilsto\\u0161u rezult\\u0101tu\"},by={label:\"NOMAIN\\u012AT UZ\\u0145\\u0112MUMU\",no_results_found:\"Nekas netika atrasts\",add_new_company:\"Pievienot jaunu uz\\u0146\\u0113mumu\",new_company:\"Jauns uz\\u0146\\u0113mums\",created_message:\"Uz\\u0146\\u0113mums veiksm\\u012Bgi pievienots\"},ky={today:\"\\u0160odien\",this_week:\"\\u0160oned\\u0113\\u013C\",this_month:\"\\u0160om\\u0113nes\",this_quarter:\"Ceturksn\\u012B\",this_year:\"\\u0160ogad\",previous_week:\"Iepriek\\u0161\\u0113j\\u0101 ned\\u0113\\u013Ca\",previous_month:\"Iepriek\\u0161\\u0113j\\u0101 m\\u0113nes\\u012B\",previous_quarter:\"Iepriek\\u0161\\u0113j\\u0101 ceturksn\\u012B\",previous_year:\"Iepriek\\u0161\\u0113j\\u0101 gad\\u0101\",custom:\"Piel\\u0101gots\"},wy={title:\"Klienti\",prefix:\"Prefikss\",add_customer:\"Pievienot klientu\",contacts_list:\"Klientu saraksts\",name:\"V\\u0101rds\",mail:\"Pasts\",statement:\"Pazi\\u0146ojums\",display_name:\"Nosaukums\",primary_contact_name:\"Galven\\u0101 kontakta v\\u0101rds\",contact_name:\"Kontaktpersonas v\\u0101rds\",amount_due:\"Kop\\u0101\",email:\"E-pasts\",address:\"Adrese\",phone:\"Telefona numurs\",website:\"M\\u0101jaslapa\",overview:\"P\\u0101rskats\",invoice_prefix:\"R\\u0113\\u0137ina prefikss\",estimate_prefix:\"Apr\\u0113\\u0137inu prefikss\",payment_prefix:\"Maks\\u0101juma prefikss\",enable_portal:\"Aktiviz\\u0113t port\\u0101lu\",country:\"Valsts\",state:\"Re\\u0123ions\",city:\"Pils\\u0113ta\",zip_code:\"Pasta indekss\",added_on:\"Pievienots\",action:\"Darb\\u012Bba\",password:\"Parole\",confirm_password:\"Apstipriniet paroli\",street_number:\"Adrese\",primary_currency:\"Prim\\u0101r\\u0101 val\\u016Bta\",description:\"Apraksts\",add_new_customer:\"Pievienot jaunu klientu\",save_customer:\"Saglab\\u0101t klientu\",update_customer:\"Atjaunin\\u0101t klientu\",customer:\"Klients | Klienti\",new_customer:\"Jauns klients\",edit_customer:\"Redi\\u0123\\u0113t klientu\",basic_info:\"Pamatinform\\u0101cija\",portal_access:\"Portal Access\",portal_access_text:\"Would you like to allow this customer to login to the Customer Portal?\",portal_access_url:\"Customer Portal Login URL\",portal_access_url_help:\"Please copy & forward the above given URL to your customer for providing access.\",billing_address:\"Juridisk\\u0101 adrese\",shipping_address:\"Pieg\\u0101des adrese\",copy_billing_address:\"Kop\\u0113t no juridisk\\u0101s adreses\",no_customers:\"Pagaid\\u0101m nav klientu!\",no_customers_found:\"Klienti netika atrasti!\",no_contact:\"Nav kontaktu\",no_contact_name:\"Nav kontaktv\\u0101rda\",list_of_customers:\"\\u0160aj\\u0101 sada\\u013C\\u0101 b\\u016Bs klientu saraksts.\",primary_display_name:\"Klienta nosaukums\",select_currency:\"Izv\\u0113lieties val\\u016Btu\",select_a_customer:\"Izv\\u0113l\\u0113ties klientu\",type_or_click:\"Rakst\\u012Bt vai spiest, lai izv\\u0113l\\u0113tos\",new_transaction:\"Jauns dar\\u012Bjums\",no_matching_customers:\"Netika atrasts neviens klients!\",phone_number:\"Telefona numurs\",create_date:\"Izveido\\u0161anas datums\",confirm_delete:\"J\\u016Bs nevar\\u0113sit atg\\u016Bt \\u0161o klientu un visus saist\\u012Btos r\\u0113\\u0137inus, apr\\u0113\\u0137inus un maks\\u0101jumus.\",created_message:\"Klients izveidots veiksm\\u012Bgi\",updated_message:\"Klients atjaunin\\u0101ts veiksm\\u012Bgi\",address_updated_message:\"Address Information Updated succesfully\",deleted_message:\"Klients veiksm\\u012Bgi izdz\\u0113sts\",edit_currency_not_allowed:\"Nevar izmain\\u012Bt val\\u016Btu, ja maks\\u0101jums ir veikts.\"},zy={title:\"Preces\",items_list:\"Pre\\u010Du saraksts\",name:\"Nosaukums\",unit:\"Vien\\u012Bba\",description:\"Apraksts\",added_on:\"Pievienots\",price:\"Cena\",date_of_creation:\"Izveido\\u0161anas datums\",not_selected:\"Nekas netika izv\\u0113l\\u0113ts\",action:\"Darb\\u012Bba\",add_item:\"Pievienot\",save_item:\"Saglab\\u0101t\",update_item:\"Atjaunin\\u0101t\",item:\"Prece | Preces\",add_new_item:\"Pievienot jaunu preci\",new_item:\"Jauna prece\",edit_item:\"Redi\\u0123\\u0113t preci\",no_items:\"Nav pre\\u010Du!\",list_of_items:\"\\u0160aj\\u0101 sada\\u013C\\u0101 b\\u016Bs pre\\u010Du/pakalpojumu saraksts.\",select_a_unit:\"atlasiet vien\\u012Bbu\",taxes:\"Nodok\\u013Ci\",item_attached_message:\"Nevar dz\\u0113st preci, kura tiek izmantota\",confirm_delete:\"J\\u016Bs nevar\\u0113siet atg\\u016Bt \\u0161o preci\",created_message:\"Prece izveidota veiksm\\u012Bgi\",updated_message:\"Prece atjaunin\\u0101ta veiksm\\u012Bgi\",deleted_message:\"Prece veiksm\\u012Bgi izdz\\u0113sta\"},xy={title:\"Apr\\u0113\\u0137ini\",accept_estimate:\"Accept Estimate\",reject_estimate:\"Reject Estimate\",estimate:\"Apr\\u0113\\u0137ins | Apr\\u0113\\u0137ini\",estimates_list:\"Apr\\u0113\\u0137inu saraksts\",days:\"{days} Dienas\",months:\"{months} M\\u0113nesis\",years:\"{years} Gads\",all:\"Visi\",paid:\"Apmaks\\u0101ts\",unpaid:\"Neapmaks\\u0101ts\",customer:\"KLIENTS\",ref_no:\"REF NR.\",number:\"NUMURS\",amount_due:\"Summa apmaksai\",partially_paid:\"Da\\u013C\\u0113ji apmaks\\u0101ts\",total:\"Kop\\u0101\",discount:\"Atlaide\",sub_total:\"Starpsumma\",estimate_number:\"Apr\\u0113\\u0137ina numurs\",ref_number:\"Ref numurs\",contact:\"Kontakti\",add_item:\"Pievienot preci\",date:\"Datums\",due_date:\"Apmaksas termi\\u0146\\u0161\",expiry_date:\"Termi\\u0146a beigu datums\",status:\"Status\",add_tax:\"Pievienot nodokli\",amount:\"Summa\",action:\"Darb\\u012Bba\",notes:\"Piez\\u012Bmes\",tax:\"Nodoklis\",estimate_template:\"Sagatave\",convert_to_invoice:\"P\\u0101rveidot par r\\u0113\\u0137inu\",mark_as_sent:\"Atz\\u012Bm\\u0113t k\\u0101 nos\\u016Bt\\u012Btu\",send_estimate:\"Nos\\u016Bt\\u012Bt apr\\u0113\\u0137inu\",resend_estimate:\"Atk\\u0101rtoti nos\\u016Bt\\u012Bt apr\\u0113\\u0137inu\",record_payment:\"Izveidot maks\\u0101jumu\",add_estimate:\"Pievienot apr\\u0113\\u0137inu\",save_estimate:\"Saglab\\u0101t apr\\u0113\\u0137inu\",confirm_conversion:\"\\u0160is apr\\u0113\\u0137ins tiks izmantots, lai izveidotu jaunu r\\u0113\\u0137inu.\",conversion_message:\"R\\u0113\\u0137ins izveidots veiksm\\u012Bgi\",confirm_send_estimate:\"\\u0160is apr\\u0113\\u0137ins tiks nos\\u016Bt\\u012Bts klientam e-past\\u0101\",confirm_mark_as_sent:\"Apr\\u0113\\u0137ins tiks atz\\u012Bm\\u0113ts k\\u0101 nos\\u016Bt\\u012Bts\",confirm_mark_as_accepted:\"Apr\\u0113\\u0137ins tiks atz\\u012Bm\\u0113ts k\\u0101 apstiprin\\u0101ts\",confirm_mark_as_rejected:\"Apr\\u0113\\u0137ins tiks atz\\u012Bm\\u0113ts k\\u0101 noraid\\u012Bts\",no_matching_estimates:\"Netika atrasts neviens apr\\u0113\\u0137ins!\",mark_as_sent_successfully:\"Apr\\u0113\\u0137ins atz\\u012Bm\\u0113ts k\\u0101 veiksm\\u012Bgi nos\\u016Bt\\u012Bts\",send_estimate_successfully:\"Apr\\u0113\\u0137ins veiksm\\u012Bgi nos\\u016Bt\\u012Bts\",errors:{required:\"\\u0160is lauks ir oblig\\u0101ts\"},accepted:\"Apstiprin\\u0101ts\",rejected:\"Noraid\\u012Bts\",expired:\"Expired\",sent:\"Nos\\u016Bt\\u012Bts\",draft:\"Melnraksts\",viewed:\"Viewed\",declined:\"Noraid\\u012Bts\",new_estimate:\"Jauns apr\\u0113\\u0137ins\",add_new_estimate:\"Pievienot jaunu apr\\u0113\\u0137inu\",update_Estimate:\"Atjaunin\\u0101t apr\\u0113\\u0137inu\",edit_estimate:\"Labot apr\\u0113\\u0137inu\",items:\"preces\",Estimate:\"Apr\\u0113\\u0137ins | Apr\\u0113\\u0137ini\",add_new_tax:\"Pievienot jaunu nodokli\",no_estimates:\"V\\u0113l nav apr\\u0113\\u0137inu!\",list_of_estimates:\"\\u0160aj\\u0101 sada\\u013C\\u0101 b\\u016Bs apr\\u0113\\u0137inu saraksts.\",mark_as_rejected:\"Atz\\u012Bm\\u0113t k\\u0101 noraid\\u012Btu\",mark_as_accepted:\"Atz\\u012Bm\\u0113t k\\u0101 apstiprin\\u0101tu\",marked_as_accepted_message:\"Apr\\u0113\\u0137ins atz\\u012Bm\\u0113ts k\\u0101 apstiprin\\u0101ts\",marked_as_rejected_message:\"Apr\\u0113\\u0137ins atz\\u012Bm\\u0113ts k\\u0101 noraid\\u012Bts\",confirm_delete:\"J\\u016Bs nevar\\u0113siet atg\\u016Bt \\u0161o apr\\u0113\\u0137inu | J\\u016Bs nevar\\u0113siet atg\\u016Bt \\u0161o apr\\u0113\\u0137inus\",created_message:\"Apr\\u0113\\u0137ins izveidots veiksm\\u012Bgi\",updated_message:\"Apr\\u0113\\u0137ins atjaunin\\u0101ts veiksm\\u012Bgi\",deleted_message:\"Apr\\u0113\\u0137ins veiksm\\u012Bgi izdz\\u0113sts | Apr\\u0113\\u0137ini veiksm\\u012Bgi izdz\\u0113sti\",something_went_wrong:\"kaut kas nog\\u0101ja greizi\",item:{title:\"Preces nosaukums\",description:\"Apraksts\",quantity:\"Daudzums\",price:\"Cena\",discount:\"Atlaide\",total:\"Kop\\u0101\",total_discount:\"Kop\\u0113j\\u0101 atlaide\",sub_total:\"Starpsumma\",tax:\"Nodoklis\",amount:\"Summa\",select_an_item:\"Rakst\\u012Bt vai spiest, lai izv\\u0113l\\u0113tos\",type_item_description:\"Ievadiet preces/pakalpojuma aprakstu (nav oblig\\u0101ti)\"},mark_as_default_estimate_template_description:\"If enabled, the selected template will be automatically selected for new estimates.\"},Py={title:\"R\\u0113\\u0137ini\",download:\"Download\",pay_invoice:\"Pay Invoice\",invoices_list:\"R\\u0113\\u0137inu saraksts\",invoice_information:\"Invoice Information\",days:\"{days} Dienas\",months:\"{months} M\\u0113nesis\",years:\"{years} Gads\",all:\"Visi\",paid:\"Apmaks\\u0101ts\",unpaid:\"Neapmaks\\u0101ts\",viewed:\"Apskat\\u012Bts\",overdue:\"Kav\\u0113ts\",completed:\"Pabeigts\",customer:\"KLIENTS\",paid_status:\"APMAKSAS STATUS\",ref_no:\"REF NR.\",number:\"NUMURS\",amount_due:\"SUMMA APMAKSAI\",partially_paid:\"Da\\u013C\\u0113ji apmaks\\u0101ts\",total:\"Kop\\u0101\",discount:\"Atlaide\",sub_total:\"Starpsumma\",invoice:\"R\\u0113\\u0137ins | R\\u0113\\u0137ini\",invoice_number:\"R\\u0113\\u0137ina numurs\",ref_number:\"Ref numurs\",contact:\"Kontakti\",add_item:\"Pievienot preci\",date:\"Datums\",due_date:\"Apmaksas termi\\u0146\\u0161\",status:\"Status\",add_tax:\"Pievienot nodokli\",amount:\"Summa\",action:\"Darb\\u012Bba\",notes:\"Piez\\u012Bmes\",view:\"Skat\\u012Bt\",send_invoice:\"Nos\\u016Bt\\u012Bt r\\u0113\\u0137inu\",resend_invoice:\"Nos\\u016Bt\\u012Bt r\\u0113\\u0137inu atk\\u0101rtoti\",invoice_template:\"R\\u0113\\u0137ina sagatave\",conversion_message:\"R\\u0113\\u0137ins ir veiksm\\u012Bgi nokop\\u0113ts\",template:\"Sagatave\",mark_as_sent:\"Atz\\u012Bm\\u0113t k\\u0101 nos\\u016Bt\\u012Btu\",confirm_send_invoice:\"\\u0160is r\\u0113\\u0137ins tiks nos\\u016Bt\\u012Bts klientam e-past\\u0101\",invoice_mark_as_sent:\"R\\u0113\\u0137ins tiks atz\\u012Bm\\u0113ts k\\u0101 nos\\u016Bt\\u012Bts\",confirm_mark_as_accepted:\"R\\u0113\\u0137ins tiks atz\\u012Bm\\u0113ts k\\u0101 apstiprin\\u0101ts\",confirm_mark_as_rejected:\"R\\u0113\\u0137ins tiks atz\\u012Bm\\u0113ts k\\u0101 noraid\\u012Bts\",confirm_send:\"\\u0160is r\\u0113\\u0137ins tiks nos\\u016Bt\\u012Bts klientam e-past\\u0101\",invoice_date:\"R\\u0113\\u0137ina datums\",record_payment:\"Izveidot maks\\u0101jumu\",add_new_invoice:\"Jauns r\\u0113\\u0137ins\",update_expense:\"Atjaunin\\u0101t izdevumu\",edit_invoice:\"Redi\\u0123\\u0113t r\\u0113\\u0137inu\",new_invoice:\"Jauns r\\u0113\\u0137ins\",save_invoice:\"Saglab\\u0101t r\\u0113\\u0137inu\",update_invoice:\"Atjaunin\\u0101t r\\u0113\\u0137inu\",add_new_tax:\"Pievienot jaunu nodokli\",no_invoices:\"V\\u0113l nav r\\u0113\\u0137inu!\",mark_as_rejected:\"Atz\\u012Bm\\u0113t k\\u0101 noraid\\u012Btu\",mark_as_accepted:\"Atz\\u012Bm\\u0113t k\\u0101 apstiprin\\u0101tu\",list_of_invoices:\"\\u0160aj\\u0101 sada\\u013C\\u0101 b\\u016Bs r\\u0113\\u0137inu saraksts.\",select_invoice:\"Izv\\u0113laties r\\u0113\\u0137inu\",no_matching_invoices:\"Netika atrasts neviens r\\u0113\\u0137ins!\",mark_as_sent_successfully:\"R\\u0113\\u0137ins atz\\u012Bm\\u0113ts k\\u0101 veiksm\\u012Bgi nos\\u016Bt\\u012Bts\",invoice_sent_successfully:\"R\\u0113\\u0137ins ir veiksm\\u012Bgi nos\\u016Bt\\u012Bts\",cloned_successfully:\"R\\u0113\\u0137ins ir veiksm\\u012Bgi nokop\\u0113ts\",clone_invoice:\"Kop\\u0113t r\\u0113\\u0137inu\",confirm_clone:\"\\u0160is r\\u0113\\u0137ins tiks nokop\\u0113ts k\\u0101 jauns r\\u0113\\u0137ins\",item:{title:\"Preces nosaukums\",description:\"Apraksts\",quantity:\"Daudzums\",price:\"Cena\",discount:\"Atlaide\",total:\"Kop\\u0101\",total_discount:\"Kop\\u0113j\\u0101 atlaide\",sub_total:\"Starpsumma\",tax:\"Nodoklis\",amount:\"Summa\",select_an_item:\"Rakst\\u012Bt vai spiest, lai izv\\u0113l\\u0113tos\",type_item_description:\"Ievadiet preces/pakalpojuma aprakstu (nav oblig\\u0101ti)\"},payment_attached_message:\"Vienam no atz\\u012Bm\\u0113tajiem r\\u0113\\u0137iniem jau ir pievienots maks\\u0101jums. P\\u0101rliecinieties, ka pievienoti maks\\u0101jumi ir izdz\\u0113sti\",confirm_delete:\"J\\u016Bs nevar\\u0113siet atg\\u016Bt \\u0161o r\\u0113\\u0137inu | J\\u016Bs nevar\\u0113siet atg\\u016Bt \\u0161os r\\u0113\\u0137inus\",created_message:\"R\\u0113\\u0137ins izveidots veiksm\\u012Bgi\",updated_message:\"R\\u0113\\u0137ins ir veiksm\\u012Bgi atjaunin\\u0101ts\",deleted_message:\"R\\u0113\\u0137ins veiksm\\u012Bgi izdz\\u0113sts | R\\u0113\\u0137ini veiksm\\u012Bgi izdz\\u0113sti\",marked_as_sent_message:\"R\\u0113\\u0137ins atz\\u012Bm\\u0113ts k\\u0101 veiksm\\u012Bgi nos\\u016Bt\\u012Bts\",something_went_wrong:\"kaut kas nog\\u0101ja greizi\",invalid_due_amount_message:\"R\\u0113\\u0137ina kop\\u0113j\\u0101 summa nevar b\\u016Bt maz\\u0101ka par kop\\u0113jo apmaks\\u0101to summu. L\\u016Bdzu atjauniniet r\\u0113\\u0137inu vai dz\\u0113siet piesaist\\u012Btos maks\\u0101jumus, lai turpin\\u0101tu.\",mark_as_default_invoice_template_description:\"If enabled, the selected template will be automatically selected for new invoices.\"},Sy={title:\"Regul\\u0101rie r\\u0113\\u0137ini\",invoices_list:\"Regul\\u0101ro r\\u0113\\u0137inu saraksts\",days:\"{days} Dienas\",months:\"{months} Month\",years:\"{years} Year\",all:\"All\",paid:\"Paid\",unpaid:\"Unpaid\",viewed:\"Viewed\",overdue:\"Overdue\",active:\"Active\",completed:\"Completed\",customer:\"CUSTOMER\",paid_status:\"PAID STATUS\",ref_no:\"REF NO.\",number:\"NUMBER\",amount_due:\"AMOUNT DUE\",partially_paid:\"Partially Paid\",total:\"Total\",discount:\"Discount\",sub_total:\"Sub Total\",invoice:\"Recurring Invoice | Recurring Invoices\",invoice_number:\"Recurring Invoice Number\",next_invoice_date:\"Next Invoice Date\",ref_number:\"Ref Number\",contact:\"Contact\",add_item:\"Add an Item\",date:\"Date\",limit_by:\"Limit by\",limit_date:\"Limit Date\",limit_count:\"Limit Count\",count:\"Count\",status:\"Status\",select_a_status:\"Select a status\",working:\"Working\",on_hold:\"On Hold\",complete:\"Completed\",add_tax:\"Add Tax\",amount:\"Amount\",action:\"Action\",notes:\"Notes\",view:\"View\",basic_info:\"Basic Info\",send_invoice:\"Send Recurring Invoice\",auto_send:\"Auto Send\",resend_invoice:\"Resend Recurring Invoice\",invoice_template:\"Recurring Invoice Template\",conversion_message:\"Recurring Invoice cloned successful\",template:\"Template\",mark_as_sent:\"Mark as sent\",confirm_send_invoice:\"This recurring invoice will be sent via email to the customer\",invoice_mark_as_sent:\"This recurring invoice will be marked as sent\",confirm_send:\"This recurring invoice will be sent via email to the customer\",starts_at:\"S\\u0101kuma datums\",due_date:\"R\\u0113\\u0137ina apmaksas datumu\",record_payment:\"Izveidot maks\\u0101jumu\",add_new_invoice:\"Pievienot jaunu regul\\u0101ro r\\u0113\\u0137inu\",update_expense:\"Update Expense\",edit_invoice:\"Edit Recurring Invoice\",new_invoice:\"New Recurring Invoice\",send_automatically:\"Send Automatically\",send_automatically_desc:\"Enable this, if you would like to send the invoice automatically to the customer when its created.\",save_invoice:\"Save Recurring Invoice\",update_invoice:\"Update Recurring Invoice\",add_new_tax:\"Add New Tax\",no_invoices:\"No Recurring Invoices yet!\",mark_as_rejected:\"Mark as rejected\",mark_as_accepted:\"Mark as accepted\",list_of_invoices:\"This section will contain the list of recurring invoices.\",select_invoice:\"Select Invoice\",no_matching_invoices:\"There are no matching recurring invoices!\",mark_as_sent_successfully:\"Recurring Invoice marked as sent successfully\",invoice_sent_successfully:\"Recurring Invoice sent successfully\",cloned_successfully:\"Recurring Invoice cloned successfully\",clone_invoice:\"Clone Recurring Invoice\",confirm_clone:\"This recurring invoice will be cloned into a new Recurring Invoice\",add_customer_email:\"Please add an email address for this customer to send invoices automatically.\",item:{title:\"Item Title\",description:\"Description\",quantity:\"Quantity\",price:\"Price\",discount:\"Discount\",total:\"Total\",total_discount:\"Total Discount\",sub_total:\"Sub Total\",tax:\"Tax\",amount:\"Amount\",select_an_item:\"Type or click to select an item\",type_item_description:\"Type Item Description (optional)\"},frequency:{title:\"Frequency\",select_frequency:\"Select Frequency\",minute:\"Minute\",hour:\"Hour\",day_month:\"Day of month\",month:\"Month\",day_week:\"Day of week\"},confirm_delete:\"You will not be able to recover this Invoice | You will not be able to recover these Invoices\",created_message:\"Recurring Invoice created successfully\",updated_message:\"Recurring Invoice updated successfully\",deleted_message:\"Recurring Invoice deleted successfully | Recurring Invoices deleted successfully\",marked_as_sent_message:\"Recurring Invoice marked as sent successfully\",user_email_does_not_exist:\"User email does not exist\",something_went_wrong:\"something went wrong\",invalid_due_amount_message:\"Total Recurring Invoice amount cannot be less than total paid amount for this Recurring Invoice. Please update the invoice or delete the associated payments to continue.\"},jy={title:\"Maks\\u0101jumi\",payments_list:\"Maks\\u0101jumu saraksts\",record_payment:\"Izveidot maks\\u0101jumu\",customer:\"Klients\",date:\"Datums\",amount:\"Summa\",action:\"Darb\\u012Bba\",payment_number:\"Maks\\u0101juma numurs\",payment_mode:\"Apmaksas veids\",invoice:\"R\\u0113\\u0137ins\",note:\"Piez\\u012Bme\",add_payment:\"Pievienot maks\\u0101jumu\",new_payment:\"Jauns maks\\u0101jums\",edit_payment:\"Labot maks\\u0101jumu\",view_payment:\"Skat\\u012Bt maks\\u0101jumu\",add_new_payment:\"Pievienot jaunu maks\\u0101jumu\",send_payment_receipt:\"Nos\\u016Bt\\u012Bt maks\\u0101juma izdruku\",send_payment:\"Nos\\u016Bt\\u012Bt maks\\u0101jumu\",save_payment:\"Saglab\\u0101t maks\\u0101jumu\",update_payment:\"Labot maks\\u0101jumu\",payment:\"Maks\\u0101jums | Maks\\u0101jumi\",no_payments:\"Nav pievienotu maks\\u0101jumu!\",not_selected:\"Not selected\",no_invoice:\"No invoice\",no_matching_payments:\"Netika atrasts neviens maks\\u0101jums!\",list_of_payments:\"\\u0160aj\\u0101 sada\\u013C\\u0101 b\\u016Bs maks\\u0101jumu saraksts.\",select_payment_mode:\"Izv\\u0113l\\u0113ties maks\\u0101juma veidu\",confirm_mark_as_sent:\"Apr\\u0113\\u0137ins tiks atz\\u012Bm\\u0113ts k\\u0101 nos\\u016Bt\\u012Bts\",confirm_send_payment:\"\\u0160is maks\\u0101jums tiks nos\\u016Bt\\u012Bts klientam e-past\\u0101\",send_payment_successfully:\"Maks\\u0101jums veiksm\\u012Bgi nos\\u016Bt\\u012Bts\",something_went_wrong:\"kaut kas nog\\u0101ja greizi\",confirm_delete:\"J\\u016Bs nevar\\u0113siet atg\\u016Bt \\u0161o maks\\u0101jumu | J\\u016Bs nevar\\u0113siet atg\\u016Bt \\u0161os maks\\u0101jumus\",created_message:\"Maks\\u0101jums veiksm\\u012Bgi izveidots\",updated_message:\"Maks\\u0101jums veiksm\\u012Bgi labots\",deleted_message:\"Maks\\u0101jums veiksm\\u012Bgi izdz\\u0113sts | Maks\\u0101jumi veiksm\\u012Bgi izdz\\u0113sti\",invalid_amount_message:\"Maks\\u0101juma summa nav pareiza\"},Ay={title:\"Izdevumi\",expenses_list:\"Izdevumu saraksts\",select_a_customer:\"Izv\\u0113l\\u0113ties klientu\",expense_title:\"Nosaukums\",customer:\"Klients\",currency:\"Currency\",contact:\"Kontakti\",category:\"Kategorija\",from_date:\"Datums no\",to_date:\"Datums l\\u012Bdz\",expense_date:\"Datums\",description:\"Apraksts\",receipt:\"\\u010Ceks\",amount:\"Summa\",action:\"Darb\\u012Bba\",not_selected:\"Not selected\",note:\"Piez\\u012Bme\",category_id:\"Kategorijas Id\",date:\"Datums\",add_expense:\"Pievienot izdevumu\",add_new_expense:\"Pievienot jaunu izdevumu\",save_expense:\"Saglab\\u0101t izdevumu\",update_expense:\"Atjaunin\\u0101t izdevumu\",download_receipt:\"Lejupiel\\u0101d\\u0113t \\u010Deku\",edit_expense:\"Labot izdevumu\",new_expense:\"Jauns izdevums\",expense:\"Izdevums | Izdevumi\",no_expenses:\"V\\u0113l nav izdevumu!\",list_of_expenses:\"\\u0160aj\\u0101 sada\\u013C\\u0101 b\\u016Bs izdevumu saraksts.\",confirm_delete:\"J\\u016Bs nevar\\u0113siet atg\\u016Bt \\u0161o izdevumu | J\\u016Bs nevar\\u0113siet atg\\u016Bt \\u0161os izdevumus\",created_message:\"Izdevums izveidots veiksm\\u012Bgi\",updated_message:\"Izdevums atjaunin\\u0101ts veiksm\\u012Bgi\",deleted_message:\"Izdevums veiksm\\u012Bgi izdz\\u0113sts | Izdevumi veiksm\\u012Bgi izdz\\u0113sti\",categories:{categories_list:\"Kategoriju saraksts\",title:\"Nosaukums\",name:\"V\\u0101rds\",description:\"Apraksts\",amount:\"Summa\",actions:\"Darb\\u012Bbas\",add_category:\"Pievienot kategoriju\",new_category:\"Jauna Kategorija\",category:\"Kategorija | Kategorijas\",select_a_category:\"Izv\\u0113lieties kategoriju\"}},Dy={email:\"E-pasts\",password:\"Parole\",forgot_password:\"Aizmirsi paroli?\",or_signIn_with:\"vai pierakst\\u012Bties ar\",login:\"Ielogoties\",register:\"Re\\u0123istr\\u0113ties\",reset_password:\"Atjaunot paroli\",password_reset_successfully:\"Parole atjaunota veiksm\\u012Bgi\",enter_email:\"Ievadiet e-pastu\",enter_password:\"Ievadiet paroli\",retype_password:\"Atk\\u0101rtoti ievadiet paroli\"},Cy={buy_now:\"Buy Now\",install:\"Install\",price:\"Price\",download_zip_file:\"Download ZIP file\",unzipping_package:\"Unzipping Package\",copying_files:\"Copying Files\",deleting_files:\"Deleting Unused files\",completing_installation:\"Completing Installation\",update_failed:\"Update Failed\",install_success:\"Module has been installed successfully!\",customer_reviews:\"Reviews\",license:\"License\",faq:\"FAQ\",monthly:\"Monthly\",yearly:\"Yearly\",updated:\"Updated\",version:\"Version\",disable:\"Disable\",module_disabled:\"Module Disabled\",enable:\"Enable\",module_enabled:\"Module Enabled\",update_to:\"Update To\",module_updated:\"Module Updated Successfully!\",title:\"Modules\",module:\"Module | Modules\",api_token:\"API token\",invalid_api_token:\"Invalid API Token.\",other_modules:\"Other Modules\",view_all:\"View All\",no_reviews_found:\"There are no reviews for this module yet!\",module_not_purchased:\"Module Not Purchased\",module_not_found:\"Module Not Found\",version_not_supported:\"This module version doesn't support the current version of Crater\",last_updated:\"Last Updated On\",connect_installation:\"Connect your installation\",api_token_description:\"Login to {url} and connect this installation by entering the API Token. Your purchased modules will show up here after the connection is established.\",view_module:\"View Module\",update_available:\"Update Available\",purchased:\"Purchased\",installed:\"Installed\",no_modules_installed:\"No Modules Installed Yet!\",disable_warning:\"All the settings for this particular will be reverted.\",what_you_get:\"What you get\"},Ny={title:\"Lietot\\u0101ji\",users_list:\"Lietot\\u0101ju saraksts\",name:\"V\\u0101rds\",description:\"Apraksts\",added_on:\"Pievienots\",date_of_creation:\"Izveido\\u0161anas datums\",action:\"Darb\\u012Bba\",add_user:\"Pievienot lietot\\u0101ju\",save_user:\"Saglab\\u0101t lietot\\u0101ju\",update_user:\"Atjaunin\\u0101t lietot\\u0101ju\",user:\"Lietot\\u0101js | Lietot\\u0101ji\",add_new_user:\"Pievienot jaunu lietot\\u0101ju\",new_user:\"Jauns lietot\\u0101js\",edit_user:\"Redi\\u0123\\u0113t lietot\\u0101ju\",no_users:\"Pagaid\\u0101m nav lietot\\u0101ju!\",list_of_users:\"\\u0160aj\\u0101 sada\\u013C\\u0101 b\\u016Bs lietot\\u0101ju saraksts.\",email:\"E-pasts\",phone:\"Telefona numurs\",password:\"Parole\",user_attached_message:\"Nevar dz\\u0113st preci, kura tiek izmantota\",confirm_delete:\"J\\u016Bs nevar\\u0113siet atg\\u016Bt \\u0161o lietot\\u0101ju | J\\u016Bs nevar\\u0113siet atg\\u016Bt \\u0161os lietot\\u0101jus\",created_message:\"Lietot\\u0101js veiksm\\u012Bgi izveidots\",updated_message:\"Lietot\\u0101js veiksm\\u012Bgi labots\",deleted_message:\"Lietot\\u0101js veiksm\\u012Bgi izdz\\u0113sts\",select_company_role:\"Select Role for {company}\",companies:\"Companies\"},Ey={title:\"Atskaite\",from_date:\"Datums no\",to_date:\"Datums l\\u012Bdz\",status:\"Status\",paid:\"Apmaks\\u0101ts\",unpaid:\"Neapmaks\\u0101ts\",download_pdf:\"Lejupiel\\u0101d\\u0113t PDF\",view_pdf:\"Apskat\\u012Bt PDF\",update_report:\"Labot atskaiti\",report:\"Atskaite | Atskaites\",profit_loss:{profit_loss:\"Pe\\u013C\\u0146a & Zaud\\u0113jumi\",to_date:\"Datums l\\u012Bdz\",from_date:\"Datums no\",date_range:\"Izv\\u0113l\\u0113ties datumus\"},sales:{sales:\"P\\u0101rdotais\",date_range:\"Izv\\u0113l\\u0113ties datumus\",to_date:\"Datums l\\u012Bdz\",from_date:\"Datums no\",report_type:\"Atskaites veids\"},taxes:{taxes:\"Nodok\\u013Ci\",to_date:\"Datums l\\u012Bdz\",from_date:\"Datums no\",date_range:\"Izv\\u0113l\\u0113ties datumus\"},errors:{required:\"\\u0160is lauks ir oblig\\u0101ts\"},invoices:{invoice:\"R\\u0113\\u0137ins\",invoice_date:\"R\\u0113\\u0137ina datums\",due_date:\"Apmaksas termi\\u0146\\u0161\",amount:\"Summa\",contact_name:\"Kontaktpersonas v\\u0101rds\",status:\"Status\"},estimates:{estimate:\"Apr\\u0113\\u0137ins\",estimate_date:\"Apr\\u0113\\u0137ina datums\",due_date:\"Termi\\u0146\\u0161\",estimate_number:\"Apr\\u0113\\u0137ina numurs\",ref_number:\"Ref numurs\",amount:\"Summa\",contact_name:\"Kontaktpersonas v\\u0101rds\",status:\"Status\"},expenses:{expenses:\"Izdevumi\",category:\"Kategorija\",date:\"Datums\",amount:\"Summa\",to_date:\"Datums l\\u012Bdz\",from_date:\"Datums no\",date_range:\"Izv\\u0113l\\u0113ties datumus\"}},Iy={menu_title:{account_settings:\"Konta iestat\\u012Bjumi\",company_information:\"Uz\\u0146\\u0113muma inform\\u0101cija\",customization:\"Piel\\u0101go\\u0161ana\",preferences:\"Iestat\\u012Bjumi\",notifications:\"Pazi\\u0146ojumi\",tax_types:\"Nodok\\u013Cu veidi\",expense_category:\"Izdevumu kategorijas\",update_app:\"Atjaunin\\u0101t App\",backup:\"Rezerves kopija\",file_disk:\"Disks\",custom_fields:\"Piel\\u0101gotie lauki\",payment_modes:\"Apmaksas veidi\",notes:\"Piez\\u012Bmes\",exchange_rate:\"Exchange Rate\",address_information:\"Address Information\"},address_information:{section_description:\"  You can update Your Address information using form below.\"},title:\"Iestat\\u012Bjumi\",setting:\"Iestat\\u012Bjumi | Iestat\\u012Bjumi\",general:\"Visp\\u0101r\\u012Bgi\",language:\"Valoda\",primary_currency:\"Prim\\u0101r\\u0101 val\\u016Bta\",timezone:\"Laika josla\",date_format:\"Datuma form\\u0101ts\",currencies:{title:\"Val\\u016Btas\",currency:\"Val\\u016Bta | Val\\u016Btas\",currencies_list:\"Val\\u016Btu saraksts\",select_currency:\"Izv\\u0113leties val\\u016Btu\",name:\"Nosaukums\",code:\"Kods\",symbol:\"Simbols\",precision:\"Precizit\\u0101te\",thousand_separator:\"T\\u016Bksto\\u0161u atdal\\u012Bt\\u0101js\",decimal_separator:\"Decim\\u0101lda\\u013Cu atdal\\u012Bt\\u0101js\",position:\"Poz\\u012Bcija\",position_of_symbol:\"Poz\\u012Bcijas simbols\",right:\"Pa labi\",left:\"Pa kreisi\",action:\"Darb\\u012Bba\",add_currency:\"Pievienot val\\u016Btu\"},mail:{host:\"E-pasta serveris\",port:\"E-pasta ports\",driver:\"E-pasta draiveris\",secret:\"Secret\",mailgun_secret:\"Mailgun Secret\",mailgun_domain:\"Dom\\u0113ns\",mailgun_endpoint:\"Mailgun Endpoint\",ses_secret:\"SES Secret\",ses_key:\"SES Key\",password:\"E-pasta parole\",username:\"E-pasta lietot\\u0101jv\\u0101rds\",mail_config:\"E-pasta konfigur\\u0101cija\",from_name:\"E-pasts no\",from_mail:\"E-pasta adrese no kuras s\\u016Bt\\u012Bt\",encryption:\"E-pasta \\u0161ifr\\u0113\\u0161ana\",mail_config_desc:\"Zem\\u0101k ir e-pasta konfigur\\u0113\\u0161anas forma. J\\u016Bs varat konfigur\\u0113t ar\\u012B tre\\u0161\\u0101s puses servisus k\\u0101 Sendgrid, SES u.c.\"},pdf:{title:\"PDF uzst\\u0101d\\u012Bjumi\",footer_text:\"K\\u0101jenes teksts\",pdf_layout:\"PDF izk\\u0101rtojums\"},company_info:{company_info:\"Uz\\u0146\\u0113muma inform\\u0101cija\",company_name:\"Uz\\u0146\\u0113muma nosaukums\",company_logo:\"Uz\\u0146\\u0113muma logo\",section_description:\"Inform\\u0101cija par uz\\u0146\\u0113mumu kura tiks uzr\\u0101d\\u012Bta r\\u0113\\u0137inos, apr\\u0113\\u0137inos un citos dokumentos kurus veidosiet Crater sist\\u0113m\\u0101.\",phone:\"Telefona numurs\",country:\"Valsts\",state:\"Re\\u0123ions\",city:\"Pils\\u0113ta\",address:\"Adrese\",zip:\"Pasta indekss\",save:\"Saglab\\u0101t\",delete:\"Delete\",updated_message:\"Uz\\u0146\\u0113muma inform\\u0101cija veiksm\\u012Bgi saglab\\u0101ta\",delete_company:\"Delete Company\",delete_company_description:\"Once you delete your company, you will lose all the data and files associated with it permanently.\",are_you_absolutely_sure:\"Are you absolutely sure?\",delete_company_modal_desc:\"This action cannot be undone. This will permanently delete {company} and all of its associated data.\",delete_company_modal_label:\"Please type {company} to confirm\"},custom_fields:{title:\"Piel\\u0101gotie lauki\",section_description:\"Customize your Invoices, Estimates & Payment Receipts with your own fields. Make sure to use the below added fields on the address formats on Customization settings page.\",add_custom_field:\"Add Custom Field\",edit_custom_field:\"Edit Custom Field\",field_name:\"Field Name\",label:\"Label\",type:\"Type\",name:\"Name\",slug:\"Slug\",required:\"Required\",placeholder:\"Placeholder\",help_text:\"Help Text\",default_value:\"Noklus\\u0113juma v\\u0113rt\\u012Bba\",prefix:\"Prefikss\",starting_number:\"S\\u0101kuma numurs\",model:\"Modelis\",help_text_description:\"Enter some text to help users understand the purpose of this custom field.\",suffix:\"Suffix\",yes:\"J\\u0101\",no:\"N\\u0113\",order:\"Order\",custom_field_confirm_delete:\"You will not be able to recover this Custom Field\",already_in_use:\"Custom Field is already in use\",deleted_message:\"Custom Field deleted successfully\",options:\"options\",add_option:\"Add Options\",add_another_option:\"Add another option\",sort_in_alphabetical_order:\"Sort in Alphabetical Order\",add_options_in_bulk:\"Add options in bulk\",use_predefined_options:\"Use Predefined Options\",select_custom_date:\"Select Custom Date\",select_relative_date:\"Select Relative Date\",ticked_by_default:\"Ticked by default\",updated_message:\"Custom Field updated successfully\",added_message:\"Custom Field added successfully\",press_enter_to_add:\"Press enter to add new option\",model_in_use:\"Cannot update model for fields which are already in use.\",type_in_use:\"Cannot update type for fields which are already in use.\"},customization:{customization:\"piel\\u0101go\\u0161ana\",updated_message:\"Uz\\u0146\\u0113muma inform\\u0101cija veiksm\\u012Bgi saglab\\u0101ta\",save:\"Saglab\\u0101t\",insert_fields:\"Insert Fields\",learn_custom_format:\"Learn how to use custom format\",add_new_component:\"Add New Component\",component:\"Component\",Parameter:\"Parameter\",series:\"Series\",series_description:\"To set a static prefix/postfix like 'INV' across your company. It supports character length of up to 6 chars.\",series_param_label:\"Series Value\",delimiter:\"Delimiter\",delimiter_description:\"Single character for specifying the boundary between 2 separate components. By default its set to -\",delimiter_param_label:\"Delimiter Value\",date_format:\"Date Format\",date_format_description:\"A local date and time field which accepts a format parameter. The default format: 'Y' renders the current year.\",date_format_param_label:\"Format\",sequence:\"Sequence\",sequence_description:\"Consecutive sequence of numbers across your company. You can specify the length on the given parameter.\",sequence_param_label:\"Sequence Length\",customer_series:\"Customer Series\",customer_series_description:\"To set a different prefix/postfix for each customer.\",customer_sequence:\"Customer Sequence\",customer_sequence_description:\"Consecutive sequence of numbers for each of your customer.\",customer_sequence_param_label:\"Sequence Length\",random_sequence:\"Random Sequence\",random_sequence_description:\"Random alphanumeric string. You can specify the length on the given parameter.\",random_sequence_param_label:\"Sequence Length\",invoices:{title:\"R\\u0113\\u0137ini\",invoice_number_format:\"Invoice Number Format\",invoice_number_format_description:\"Customize how your invoice number gets generated automatically when you create a new invoice.\",preview_invoice_number:\"Preview Invoice Number\",due_date:\"Due Date\",due_date_description:\"Specify how due date is automatically set when you create an invoice.\",due_date_days:\"Invoice Due after days\",set_due_date_automatically:\"Set Due Date Automatically\",set_due_date_automatically_description:\"Enable this if you wish to set due date automatically when you create a new invoice.\",default_formats:\"Default Formats\",default_formats_description:\"Below given formats are used to fill up the fields automatically on invoice creation.\",default_invoice_email_body:\"Default Invoice Email Body\",company_address_format:\"Uz\\u0146\\u0113muma adreses form\\u0101ts\",shipping_address_format:\"Pieg\\u0101des adreses form\\u0101ts\",billing_address_format:\"Maks\\u0101t\\u0101ja / Uz\\u0146\\u0113muma adreses form\\u0101ts\",invoice_email_attachment:\"Send invoices as attachments\",invoice_email_attachment_setting_description:\"Enable this if you want to send invoices as email attachment. Please note that 'View Invoice' button in emails will not be displayed anymore when enabled.\",invoice_settings_updated:\"Invoice Settings updated successfully\",retrospective_edits:\"Retrospective Edits\",allow:\"Allow\",disable_on_invoice_partial_paid:\"Disable after partial payment is recorded\",disable_on_invoice_paid:\"Disable after full payment is recorded\",disable_on_invoice_sent:\"Disable after invoice is sent\",retrospective_edits_description:\" Based on your country's laws or your preference, you can restrict users from editing finalised invoices.\"},estimates:{title:\"Apr\\u0113\\u0137ini\",estimate_number_format:\"Estimate Number Format\",estimate_number_format_description:\"Customize how your estimate number gets generated automatically when you create a new estimate.\",preview_estimate_number:\"Preview Estimate Number\",expiry_date:\"Expiry Date\",expiry_date_description:\"Specify how expiry date is automatically set when you create an estimate.\",expiry_date_days:\"Estimate Expires after days\",set_expiry_date_automatically:\"Set Expiry Date Automatically\",set_expiry_date_automatically_description:\"Enable this if you wish to set expiry date automatically when you create a new estimate.\",default_formats:\"Default Formats\",default_formats_description:\"Below given formats are used to fill up the fields automatically on estimate creation.\",default_estimate_email_body:\"Noklus\\u0113jamais Apr\\u0113\\u0137ina e-pasta saturs\",company_address_format:\"Uz\\u0146\\u0113muma adreses form\\u0101ts\",shipping_address_format:\"Pieg\\u0101des adreses form\\u0101ts\",billing_address_format:\"Maks\\u0101t\\u0101ja / Uz\\u0146\\u0113muma adreses form\\u0101ts\",estimate_email_attachment:\"Send estimates as attachments\",estimate_email_attachment_setting_description:\"Enable this if you want to send the estimates as an email attachment. Please note that 'View Estimate' button in emails will not be displayed anymore when enabled.\",estimate_settings_updated:\"Estimate Settings updated successfully\",convert_estimate_options:\"Estimate Convert Action\",convert_estimate_description:\"Specify what happens to the estimate after it gets converted to an invoice.\",no_action:\"No action\",delete_estimate:\"Delete estimate\",mark_estimate_as_accepted:\"Mark estimate as accepted\"},payments:{title:\"Maks\\u0101jumi\",payment_number_format:\"Payment Number Format\",payment_number_format_description:\"Customize how your payment number gets generated automatically when you create a new payment.\",preview_payment_number:\"Preview Payment Number\",default_formats:\"Default Formats\",default_formats_description:\"Below given formats are used to fill up the fields automatically on payment creation.\",default_payment_email_body:\"Noklus\\u0113jamais Maks\\u0101juma e-pasta saturs\",company_address_format:\"Uz\\u0146\\u0113muma adreses form\\u0101ts\",from_customer_address_format:\"No Klienta adreses form\\u0101ts\",payment_email_attachment:\"Send payments as attachments\",payment_email_attachment_setting_description:\"Enable this if you want to send the payment receipts as an email attachment. Please note that 'View Payment' button in emails will not be displayed anymore when enabled.\",payment_settings_updated:\"Payment Settings updated successfully\"},items:{title:\"Preces\",units:\"Vien\\u012Bbas\",add_item_unit:\"Pievienot Preces vien\\u012Bbu\",edit_item_unit:\"Labot Preces vien\\u012Bbu\",unit_name:\"Vien\\u012Bbas nosaukums\",item_unit_added:\"Preces vien\\u012Bba pievienota\",item_unit_updated:\"Preces vien\\u012Bba atjaunota\",item_unit_confirm_delete:\"Jums neb\\u016Bs iesp\\u0113jas atg\\u016Bt \\u0161o Preces vien\\u012Bbu\",already_in_use:\"Preces vien\\u012Bba jau tiek izmantota\",deleted_message:\"Preces vien\\u012Bba veiksm\\u012Bgi izdz\\u0113sta\"},notes:{title:\"Piez\\u012Bmes\",description:\"Save time by creating notes and reusing them on your invoices, estimates & payments.\",notes:\"Notes\",type:\"Type\",add_note:\"Add Note\",add_new_note:\"Add New Note\",name:\"Name\",edit_note:\"Edit Note\",note_added:\"Note added successfully\",note_updated:\"Note Updated successfully\",note_confirm_delete:\"You will not be able to recover this Note\",already_in_use:\"Note is already in use\",deleted_message:\"Note deleted successfully\"}},account_settings:{profile_picture:\"Profile Picture\",name:\"Name\",email:\"Email\",password:\"Password\",confirm_password:\"Confirm Password\",account_settings:\"Account Settings\",save:\"Save\",section_description:\"You can update your name, email & password using the form below.\",updated_message:\"Account Settings updated successfully\"},user_profile:{name:\"Name\",email:\"Email\",password:\"Password\",confirm_password:\"Confirm Password\"},notification:{title:\"Notifications\",email:\"Send Notifications to\",description:\"Which email notifications would you like to receive when something changes?\",invoice_viewed:\"Invoice viewed\",invoice_viewed_desc:\"When your customer views the invoice sent via crater dashboard.\",estimate_viewed:\"Estimate viewed\",estimate_viewed_desc:\"When your customer views the estimate sent via crater dashboard.\",save:\"Save\",email_save_message:\"Email saved successfully\",please_enter_email:\"Please Enter Email\"},roles:{title:\"Roles\",description:\"Manage the roles & permissions of this company\",save:\"Save\",add_new_role:\"Add New Role\",role_name:\"Role Name\",added_on:\"Added on\",add_role:\"Add Role\",edit_role:\"Edit Role\",name:\"Name\",permission:\"Permission | Permissions\",select_all:\"Select All\",none:\"None\",confirm_delete:\"You will not be able to recover this Role\",created_message:\"Role created successfully\",updated_message:\"Role updated successfully\",deleted_message:\"Role deleted successfully\",already_in_use:\"Role is already in use\"},exchange_rate:{exchange_rate:\"Exchange Rate\",title:\"Fix Currency Exchange issues\",description:\"Please enter exchange rate of all the currencies mentioned below to help Crater properly calculate the amounts in {currency}.\",drivers:\"Drivers\",new_driver:\"Add New Provider\",edit_driver:\"Edit Provider\",select_driver:\"Select Driver\",update:\"select exchange rate \",providers_description:\"Configure your exchange rate providers here to automatically fetch the latest exchange rate on transactions.\",key:\"API Key\",name:\"Name\",driver:\"Driver\",is_default:\"IS DEFAULT\",currency:\"Currencies\",exchange_rate_confirm_delete:\"You will not be able to recover this driver\",created_message:\"Provider Created successfully\",updated_message:\"Provider Updated Successfully\",deleted_message:\"Provider Deleted Successfully\",error:\" You cannot Delete Active Driver\",default_currency_error:\"This currency is already used in one of the Active Provider\",exchange_help_text:\"Enter exchange rate to convert from {currency} to {baseCurrency}\",currency_freak:\"Currency Freak\",currency_layer:\"Currency Layer\",open_exchange_rate:\"Open Exchange Rate\",currency_converter:\"Currency Converter\",server:\"Server\",url:\"URL\",active:\"Active\",currency_help_text:\"This provider will only be used on above selected currencies\",currency_in_used:\"The following currencies are already active on another provider. Please remove these currencies from selection to activate this provider again.\"},tax_types:{title:\"Tax Types\",add_tax:\"Add Tax\",edit_tax:\"Edit Tax\",description:\"You can add or Remove Taxes as you please. Crater supports Taxes on Individual Items as well as on the invoice.\",add_new_tax:\"Add New Tax\",tax_settings:\"Tax Settings\",tax_per_item:\"Tax Per Item\",tax_name:\"Tax Name\",compound_tax:\"Compound Tax\",percent:\"Percent\",action:\"Action\",tax_setting_description:\"Enable this if you want to add taxes to individual invoice items. By default, taxes are added directly to the invoice.\",created_message:\"Tax type created successfully\",updated_message:\"Tax type updated successfully\",deleted_message:\"Tax type deleted successfully\",confirm_delete:\"Jums neb\\u016Bs iesp\\u0113jas atg\\u016Bt \\u0161o Nodok\\u013Ca veidu\",already_in_use:\"Nodoklis jau tiek izmantots\"},payment_modes:{title:\"Payment Modes\",description:\"Modes of transaction for payments\",add_payment_mode:\"Add Payment Mode\",edit_payment_mode:\"Edit Payment Mode\",mode_name:\"Mode Name\",payment_mode_added:\"Payment Mode Added\",payment_mode_updated:\"Payment Mode Updated\",payment_mode_confirm_delete:\"You will not be able to recover this Payment Mode\",payments_attached:\"This payment method is already attached to payments. Please delete the attached payments to proceed with deletion.\",expenses_attached:\"This payment method is already attached to expenses. Please delete the attached expenses to proceed with deletion.\",deleted_message:\"Payment Mode deleted successfully\"},expense_category:{title:\"Izdevumu kategorijas\",action:\"Darb\\u012Bba\",description:\"Kategorijas ir oblig\\u0101tas, lai pievienotu Izdevumus.\",add_new_category:\"Pievienot jaunu kategoriju\",add_category:\"Pievienot kategoriju\",edit_category:\"Redi\\u0123\\u0113t kategoriju\",category_name:\"Kategorijas nosaukums\",category_description:\"Apraksts\",created_message:\"Izdevumu kategorija izveidota veiksm\\u012Bgi\",deleted_message:\"Izdevumu kategorija veiksm\\u012Bgi izdz\\u0113sta\",updated_message:\"Izdevumu kategorija atjaunin\\u0101ta veiksm\\u012Bgi\",confirm_delete:\"Jums neb\\u016Bs iesp\\u0113jas atg\\u016Bt \\u0161o Izdevumu kategoriju\",already_in_use:\"Kategorija jau tiek izmantota\"},preferences:{currency:\"Val\\u016Bta\",default_language:\"Noklus\\u0113juma valoda\",time_zone:\"Laika josla\",fiscal_year:\"Finan\\u0161u gads\",date_format:\"Datuma form\\u0101ts\",discount_setting:\"Atlai\\u017Eu iestat\\u012Bjumi\",discount_per_item:\"Atlaide par preci/pakalpojumu \",discount_setting_description:\"Iesp\\u0113jot \\u0161o, lai pie\\u0161\\u0137irtu atlaides individu\\u0101l\\u0101m r\\u0113\\u0137ina prec\\u0113m. P\\u0113c noklus\\u0113juma, atlaide tiek piem\\u0113rota r\\u0113\\u0137inam.\",expire_public_links:\"Automatically Expire Public Links\",expire_setting_description:\"Specify whether you would like to expire all the links sent by application to view invoices, estimates & payments, etc after a specified duration.\",save:\"Saglab\\u0101t\",preference:\"Iestat\\u012Bjumi | Iestat\\u012Bjumi\",general_settings:\"Noklus\\u0113jamie iestat\\u012Bjumi sist\\u0113mai.\",updated_message:\"Iestat\\u012Bjumi atjaunin\\u0101ti veiksm\\u012Bgi\",select_language:\"Izv\\u0113lieties valodu\",select_time_zone:\"Izv\\u0113laties laika joslu\",select_date_format:\"Izv\\u0113laties datuma form\\u0101tu\",select_financial_year:\"Izv\\u0113laties finan\\u0161u gadu\",recurring_invoice_status:\"Recurring Invoice Status\",create_status:\"Create Status\",active:\"Active\",on_hold:\"On Hold\",update_status:\"Update Status\",completed:\"Completed\",company_currency_unchangeable:\"Company currency cannot be changed\"},update_app:{title:\"Atjaunin\\u0101t App\",description:\"J\\u016Bs varat atjaunin\\u0101t Crater sist\\u0113mas versiju pavisam vienk\\u0101r\\u0161i - spie\\u017Eot uz pogas zem\\u0101k\",check_update:\"Mekl\\u0113t atjaunin\\u0101jumus\",avail_update:\"Pieejami jauni atjaunin\\u0101jumi\",next_version:\"N\\u0101kam\\u0101 versija\",requirements:\"Pras\\u012Bbas\",update:\"Atjaunin\\u0101t tagad\",update_progress:\"Notiek atjaunin\\u0101\\u0161ana...\",progress_text:\"Tas pras\\u012Bs tikai da\\u017Eas min\\u016Btes. Pirms atjaunin\\u0101\\u0161anas beig\\u0101m, l\\u016Bdzu, neatsvaidziniet ekr\\u0101nu un neaizveriet logu\",update_success:\"Sist\\u0113ma ir atjaunin\\u0101ta! L\\u016Bdzu, uzgaidiet, kam\\u0113r p\\u0101rl\\u016Bkprogrammas logs tiks autom\\u0101tiski iel\\u0101d\\u0113ts.\",latest_message:\"Atjaunin\\u0101jumi nav pieejami! Jums ir jaun\\u0101k\\u0101 versija.\",current_version:\"Versija\",download_zip_file:\"Lejupiel\\u0101d\\u0113t ZIP failu\",unzipping_package:\"Atarhiv\\u0113 Zip failu\",copying_files:\"Notiek failu kop\\u0113\\u0161ana\",deleting_files:\"Deleting Unused files\",running_migrations:\"Notiek migr\\u0101cijas\",finishing_update:\"Pabeidz atjaunin\\u0101jumu\",update_failed:\"Atjaunin\\u0101\\u0161ana neizdev\\u0101s\",update_failed_text:\"Atvainojiet! J\\u016Bsu atjaunin\\u0101juma laik\\u0101 notika k\\u013C\\u016Bda: {step}. sol\\u012B\",update_warning:\"All of the application files and default template files will be overwritten when you update the application using this utility. Please take a backup of your templates & database before updating.\"},backup:{title:\"Backup | Backups\",description:\"The backup is a zipfile that contains all files in the directories you specify along with a dump of your database\",new_backup:\"Add New Backup\",create_backup:\"Create Backup\",select_backup_type:\"Select Backup Type\",backup_confirm_delete:\"You will not be able to recover this Backup\",path:\"path\",new_disk:\"New Disk\",created_at:\"created at\",size:\"size\",dropbox:\"dropbox\",local:\"local\",healthy:\"healthy\",amount_of_backups:\"amount of backups\",newest_backups:\"newest backups\",used_storage:\"used storage\",select_disk:\"Select Disk\",action:\"Action\",deleted_message:\"Backup deleted successfully\",created_message:\"Backup created successfully\",invalid_disk_credentials:\"Invalid credential of selected disk\"},disk:{title:\"File Disk | File Disks\",description:\"By default, Crater will use your local disk for saving backups, avatar and other image files. You can configure more than one disk drivers like DigitalOcean, S3 and Dropbox according to your preference.\",created_at:\"created at\",dropbox:\"dropbox\",name:\"Name\",driver:\"Driver\",disk_type:\"Type\",disk_name:\"Disk Name\",new_disk:\"Add New Disk\",filesystem_driver:\"Filesystem Driver\",local_driver:\"local Driver\",local_root:\"local Root\",public_driver:\"Public Driver\",public_root:\"Public Root\",public_url:\"Public URL\",public_visibility:\"Public Visibility\",media_driver:\"Media Driver\",media_root:\"Media Root\",aws_driver:\"AWS Driver\",aws_key:\"AWS Key\",aws_secret:\"AWS Secret\",aws_region:\"AWS Region\",aws_bucket:\"AWS Bucket\",aws_root:\"AWS Root\",do_spaces_type:\"Do Spaces type\",do_spaces_key:\"Do Spaces key\",do_spaces_secret:\"Do Spaces Secret\",do_spaces_region:\"Do Spaces Region\",do_spaces_bucket:\"Do Spaces Bucket\",do_spaces_endpoint:\"Do Spaces Endpoint\",do_spaces_root:\"Do Spaces Root\",dropbox_type:\"Dropbox Type\",dropbox_token:\"Dropbox Token\",dropbox_key:\"Dropbox Key\",dropbox_secret:\"Dropbox Secret\",dropbox_app:\"Dropbox App\",dropbox_root:\"Dropbox Root\",default_driver:\"Default Driver\",is_default:\"IR NOKLUS\\u0112JAMS\",set_default_disk:\"Iestatiet noklus\\u0113juma disku\",set_default_disk_confirm:\"This disk will be set as default and all the new PDFs will be saved on this disk\",success_set_default_disk:\"Disks ir veiksm\\u012Bgi iestat\\u012Bts k\\u0101 noklus\\u0113jums\",save_pdf_to_disk:\"Saglab\\u0101t PDF uz diska\",disk_setting_description:\" Iesp\\u0113jot \\u0161o, ja v\\u0113laties lai katru r\\u0113\\u0137ina, apr\\u0113\\u0137ina un maks\\u0101juma izdrukas PDF kopiju saglab\\u0101tu disk\\u0101. \\u0160\\u012B opcija samazin\\u0101s iel\\u0101d\\u0113\\u0161anas laiku, kad apskat\\u012Bsiet PDF.\",select_disk:\"Izv\\u0113lieties disku\",disk_settings:\"Diska uzst\\u0101d\\u012Bjumi\",confirm_delete:\"J\\u016Bsu eso\\u0161ie faili un mapes nor\\u0101d\\u012Btaj\\u0101 disk\\u0101 netiks ietekm\\u0113ti, bet diska konfigur\\u0101cija tiks izdz\\u0113sta no Crater sist\\u0113mas\",action:\"Darb\\u012Bba\",edit_file_disk:\"Labot failu disku\",success_create:\"Disks tika pievienots veiksm\\u012Bgi\",success_update:\"Disks atjaunin\\u0101ts veiksm\\u012Bgi\",error:\"Diska pievieno\\u0161anas k\\u013C\\u016Bda\",deleted_message:\"Failu disks veiksm\\u012Bgi izdz\\u0113sts\",disk_variables_save_successfully:\"Disks konfigur\\u0113ts veiksm\\u012Bgi\",disk_variables_save_error:\"Diska konfigur\\u0101cija neveiksm\\u012Bga.\",invalid_disk_credentials:\"Nepareizi pieejas dati atz\\u012Bm\\u0113tajam diskam\"},taxations:{add_billing_address:\"Enter Billing Address\",add_shipping_address:\"Enter Shipping Address\",add_company_address:\"Enter Company Address\",modal_description:\"The information below is required in order to fetch sales tax.\",add_address:\"Add Address for fetching sales tax.\",address_placeholder:\"Example: 123, My Street\",city_placeholder:\"Example: Los Angeles\",state_placeholder:\"Example: CA\",zip_placeholder:\"Example: 90024\",invalid_address:\"Please provide valid address details.\"}},Ty={account_info:\"Konta inform\\u0101cija\",account_info_desc:\"Zem\\u0101k sniegt\\u0101 inform\\u0101cija tiks izmantota galven\\u0101 administratora konta izveidei. J\\u016Bs var\\u0113siet main\\u012Bt inform\\u0101ciju jebkur\\u0101 laik\\u0101 p\\u0113c ielogo\\u0161an\\u0101s.\",name:\"V\\u0101rds\",email:\"E-pasts\",password:\"Parole\",confirm_password:\"Apstipriniet paroli\",save_cont:\"Saglab\\u0101t un turpin\\u0101t\",company_info:\"Uz\\u0146\\u0113muma inform\\u0101cija\",company_info_desc:\"\\u0160\\u012B inform\\u0101cija tiks par\\u0101d\\u012Bta r\\u0113\\u0137inos. \\u0145emiet v\\u0113r\\u0101, ka v\\u0113l\\u0101k to var redi\\u0123\\u0113t iestat\\u012Bjumu lap\\u0101.\",company_name:\"Uz\\u0146\\u0113muma nosaukums\",company_logo:\"Uz\\u0146\\u0113muma logo\",logo_preview:\"Logo\",preferences:\"Iestat\\u012Bjumi\",preferences_desc:\"Noklus\\u0113jamie iestat\\u012Bjumi sist\\u0113mai.\",currency_set_alert:\"The company's currency cannot be changed later.\",country:\"Valsts\",state:\"Re\\u0123ions\",city:\"Pils\\u0113ta\",address:\"Adrese\",street:\"Adrese1 | Adrese2\",phone:\"Telefona numurs\",zip_code:\"Pasta indekss\",go_back:\"Atpaka\\u013C\",currency:\"Val\\u016Bta\",language:\"Valoda\",time_zone:\"Time Zone\",fiscal_year:\"Financial Year\",date_format:\"Date Format\",from_address:\"From Address\",username:\"Username\",next:\"Next\",continue:\"Continue\",skip:\"Skip\",database:{database:\"Site URL & Database\",connection:\"Database Connection\",host:\"Database Host\",port:\"Database Port\",password:\"Database Password\",app_url:\"App URL\",app_domain:\"App Domain\",username:\"Database Username\",db_name:\"Database Name\",db_path:\"Database Path\",desc:\"Create a database on your server and set the credentials using the form below.\"},permissions:{permissions:\"Permissions\",permission_confirm_title:\"Are you sure you want to continue?\",permission_confirm_desc:\"Folder permission check failed\",permission_desc:\"Below is the list of folder permissions which are required in order for the app to work. If the permission check fails, make sure to update your folder permissions.\"},verify_domain:{title:\"Domain Verification\",desc:\"Crater uses Session based authentication which requires domain verification for security purposes. Please enter the domain on which you will be accessing your web application.\",app_domain:\"App Domain\",verify_now:\"Verify Now\",success:\"Domain Verify Successfully.\",failed:\"Domain verification failed. Please enter valid domain name.\",verify_and_continue:\"Verify And Continue\"},mail:{host:\"Mail Host\",port:\"Mail Port\",driver:\"Mail Driver\",secret:\"Secret\",mailgun_secret:\"Mailgun Secret\",mailgun_domain:\"Domain\",mailgun_endpoint:\"Mailgun Endpoint\",ses_secret:\"SES Secret\",ses_key:\"SES Key\",password:\"Mail Password\",username:\"Mail Username\",mail_config:\"Mail Configuration\",from_name:\"From Mail Name\",from_mail:\"From Mail Address\",encryption:\"Mail Encryption\",mail_config_desc:\"Below is the form for Configuring Email driver for sending emails from the app. You can also configure third party providers like Sendgrid, SES etc.\"},req:{system_req:\"System Requirements\",php_req_version:\"Php (version {version} required)\",check_req:\"P\\u0101rbaud\\u012Bt pras\\u012Bbas\",system_req_desc:\"Crater sist\\u0113mai ir da\\u017Eas servera pras\\u012Bbas. P\\u0101rliecinieties, ka j\\u016Bsu serverim ir vajadz\\u012Bg\\u0101 php versija un visi t\\u0101l\\u0101k min\\u0113tie papla\\u0161in\\u0101jumi.\"},errors:{migrate_failed:\"Migr\\u0101cija neizdev\\u0101s\",database_variables_save_error:\"Nevar\\u0113ja konfigur\\u0113t .env failu. L\\u016Bdzu p\\u0101rbaudiet faila pieejas\",mail_variables_save_error:\"E-pasta konfigur\\u0101cija neveiksm\\u012Bga.\",connection_failed:\"Datub\\u0101zes savienojums neveiksm\\u012Bgs\",database_should_be_empty:\"Datub\\u0101zei j\\u0101b\\u016Bt tuk\\u0161ai\"},success:{mail_variables_save_successfully:\"E-pasts konfigur\\u0113ts veiksm\\u012Bgi\",database_variables_save_successfully:\"Database configured successfully.\"}},Ry={invalid_phone:\"Invalid Phone Number\",invalid_url:\"Invalid url (ex: http://www.craterapp.com)\",invalid_domain_url:\"Invalid url (ex: craterapp.com)\",required:\"Field is required\",email_incorrect:\"Incorrect Email.\",email_already_taken:\"The email has already been taken.\",email_does_not_exist:\"User with given email doesn't exist\",item_unit_already_taken:\"This item unit name has already been taken\",payment_mode_already_taken:\"This payment mode name has already been taken\",send_reset_link:\"Send Reset Link\",not_yet:\"Not yet? Send it again\",password_min_length:\"Password must contain {count} characters\",name_min_length:\"Name must have at least {count} letters.\",prefix_min_length:\"Prefix must have at least {count} letters.\",enter_valid_tax_rate:\"Enter valid tax rate\",numbers_only:\"Numbers Only.\",characters_only:\"Characters Only.\",password_incorrect:\"Passwords must be identical\",password_length:\"Password must be {count} character long.\",qty_must_greater_than_zero:\"Quantity must be greater than zero.\",price_greater_than_zero:\"Price must be greater than zero.\",payment_greater_than_zero:\"Payment must be greater than zero.\",payment_greater_than_due_amount:\"Entered Payment is more than due amount of this invoice.\",quantity_maxlength:\"Quantity should not be greater than 20 digits.\",price_maxlength:\"Price should not be greater than 20 digits.\",price_minvalue:\"Price should be greater than 0.\",amount_maxlength:\"Amount should not be greater than 20 digits.\",amount_minvalue:\"Amount should be greater than 0.\",discount_maxlength:\"Discount should not be greater than max discount\",description_maxlength:\"Description should not be greater than 255 characters.\",subject_maxlength:\"Subject should not be greater than 100 characters.\",message_maxlength:\"Message should not be greater than 255 characters.\",maximum_options_error:\"Maximum  of {max} options selected. First remove a selected option to select another.\",notes_maxlength:\"Notes should not be greater than 255 characters.\",address_maxlength:\"Address should not be greater than 255 characters.\",ref_number_maxlength:\"Ref Number should not be greater than 255 characters.\",prefix_maxlength:\"Prefix should not be greater than 5 characters.\",something_went_wrong:\"something went wrong\",number_length_minvalue:\"Number length should be greater than 0\",at_least_one_ability:\"Please select atleast one Permission.\",valid_driver_key:\"Please enter a valid {driver} key.\",valid_exchange_rate:\"Please enter a valid exchange rate.\",company_name_not_same:\"Company name must match with given name.\"},My={starter_plan:\"This feature is available on Starter plan and onwards!\",invalid_provider_key:\"Please Enter Valid Provider API Key.\",estimate_number_used:\"The estimate number has already been taken.\",invoice_number_used:\"The invoice number has already been taken.\",payment_attached:\"This invoice already has a payment attached to it. Make sure to delete the attached payments first in order to go ahead with the removal.\",payment_number_used:\"The payment number has already been taken.\",name_already_taken:\"The name has already been taken.\",receipt_does_not_exist:\"Receipt does not exist.\",customer_cannot_be_changed_after_payment_is_added:\"Customer cannot be change after payment is added\",invalid_credentials:\"Invalid  Credentials.\",not_allowed:\"Not Allowed\",login_invalid_credentials:\"These credentials do not match our records.\",enter_valid_cron_format:\"Please enter a valid cron format\",email_could_not_be_sent:\"Email could not be sent to this email address.\",invalid_address:\"Please enter a valid address.\",invalid_key:\"Please enter valid key.\",invalid_state:\"Please enter a valid state.\",invalid_city:\"Please enter a valid city.\",invalid_postal_code:\"Please enter a valid zip.\",invalid_format:\"Please enter valid query string format.\",api_error:\"Server not responding.\",feature_not_enabled:\"Feature not enabled.\",request_limit_met:\"Api request limit exceeded.\",address_incomplete:\"Incomplete Address\"},Fy=\"Apr\\u0113\\u0137ins\",$y=\"Apr\\u0113\\u0137ina numurs\",Uy=\"Apr\\u0113\\u0137ina datums\",Vy=\"Der\\u012Bgs l\\u012Bdz\",Oy=\"R\\u0113\\u0137ins\",Ly=\"R\\u0113\\u0137ina numurs\",qy=\"R\\u0113\\u0137ina datums\",By=\"Apmaksas termi\\u0146\\u0161\",Ky=\"Notes\",Zy=\"Nosaukums\",Wy=\"Daudzums\",Hy=\"Cena\",Yy=\"Atlaide\",Gy=\"Summa\",Jy=\"Starpsumma\",Qy=\"Kop\\u0101\",Xy=\"Payment\",eh=\"MAKS\\u0100JUMA IZDRUKA\",th=\"Maks\\u0101juma datums\",ah=\"Maks\\u0101juma numurs\",nh=\"Apmaksas veids\",ih=\"Sa\\u0146emt\\u0101 summa\",oh=\"IZDEVUMU ATSKAITE\",sh=\"KOP\\u0100 IZDEVUMI\",rh=\"PE\\u013B\\u0145AS & IZDEVUMU ATSKAITE\",dh=\"Sales Customer Report\",lh=\"Sales Item Report\",ch=\"Tax Summary Report\",_h=\"IEN\\u0100KUMI\",uh=\"PE\\u013B\\u0145A\",mh=\"Atskaite par p\\u0101rdoto: P\\u0113c lietot\\u0101ja\",ph=\"KOP\\u0100 P\\u0100RDOTAIS\",fh=\"Atskaite par p\\u0101rdoto: P\\u0113c preces/pakalpojuma\",gh=\"NODOK\\u013BU ATSKAITE\",vh=\"NODOK\\u013BI KOP\\u0100\",yh=\"Nodok\\u013Cu veidi\",hh=\"Izdevumi\",bh=\"Sa\\u0146\\u0113m\\u0113js,\",kh=\"Pieg\\u0101des adrese,\",wh=\"Sa\\u0146emts no:\",zh=\"Tax\";var xh={navigation:fy,general:gy,dashboard:vy,tax_types:yy,global_search:hy,company_switcher:by,dateRange:ky,customers:wy,items:zy,estimates:xy,invoices:Py,recurring_invoices:Sy,payments:jy,expenses:Ay,login:Dy,modules:Cy,users:Ny,reports:Ey,settings:Iy,wizard:Ty,validation:Ry,errors:My,pdf_estimate_label:Fy,pdf_estimate_number:$y,pdf_estimate_date:Uy,pdf_estimate_expire_date:Vy,pdf_invoice_label:Oy,pdf_invoice_number:Ly,pdf_invoice_date:qy,pdf_invoice_due_date:By,pdf_notes:Ky,pdf_items_label:Zy,pdf_quantity_label:Wy,pdf_price_label:Hy,pdf_discount_label:Yy,pdf_amount_label:Gy,pdf_subtotal:Jy,pdf_total:Qy,pdf_payment_label:Xy,pdf_payment_receipt_label:eh,pdf_payment_date:th,pdf_payment_number:ah,pdf_payment_mode:nh,pdf_payment_amount_received_label:ih,pdf_expense_report_label:oh,pdf_total_expenses_label:sh,pdf_profit_loss_label:rh,pdf_sales_customers_label:dh,pdf_sales_items_label:lh,pdf_tax_summery_label:ch,pdf_income_label:_h,pdf_net_profit_label:uh,pdf_customer_sales_report:mh,pdf_total_sales_label:ph,pdf_item_sales_label:fh,pdf_tax_report_label:gh,pdf_total_tax_label:vh,pdf_tax_types_label:yh,pdf_expenses_label:hh,pdf_bill_to:bh,pdf_ship_to:kh,pdf_received_from:wh,pdf_tax_label:zh};const Ph={dashboard:\"\\xD6versikt\",customers:\"Kunder\",items:\"Artiklar\",invoices:\"Fakturor\",\"recurring-invoices\":\"\\xC5terkommande fakturor\",expenses:\"Utgifter\",estimates:\"Kostnadsf\\xF6rslag\",payments:\"Betalningar\",reports:\"Rapporter\",settings:\"Inst\\xE4llningar\",logout:\"Logga ut\",users:\"Anv\\xE4ndare\",modules:\"Modules\"},Sh={add_company:\"Skapa f\\xF6retag\",view_pdf:\"Visa PDF\",copy_pdf_url:\"Kopiera adress till PDF\",download_pdf:\"Ladda ner PDF\",save:\"Spara\",create:\"Skapa\",cancel:\"Avbryt\",update:\"Uppdatera\",deselect:\"Avmarkera\",download:\"Ladda ner\",from_date:\"Fr\\xE5n datum\",to_date:\"Till datum\",from:\"Fr\\xE5n\",to:\"Till\",ok:\"Ok\",yes:\"Ja\",no:\"Nej\",sort_by:\"Sortera p\\xE5\",ascending:\"Stigande\",descending:\"Fallande\",subject:\"\\xC4mne\",body:\"Inneh\\xE5ll\",message:\"Meddelande\",send:\"Skicka\",preview:\"F\\xF6rhandsgranska\",go_back:\"Tillbaka\",back_to_login:\"Till inloggningssidan?\",home:\"Hem\",filter:\"Filter\",delete:\"Ta bort\",edit:\"Editera\",view:\"Visa\",add_new_item:\"Skapa artikel\",clear_all:\"Rensa alla\",showing:\"Visar\",of:\"av\",actions:\"Funktioner\",subtotal:\"DELSUMMA\",discount:\"RABATT\",fixed:\"Fast\",percentage:\"Procent\",tax:\"MOMS\",total_amount:\"TOTALSUMMA\",bill_to:\"Faktureras till\",ship_to:\"Levereras till\",due:\"F\\xF6rfallen\",draft:\"F\\xF6rslag\",sent:\"Skickat\",all:\"Alla\",select_all:\"V\\xE4lj alla\",select_template:\"V\\xE4lj mall\",choose_file:\"Klicka h\\xE4r f\\xF6r att v\\xE4lja fil\",choose_template:\"V\\xE4lj mall\",choose:\"V\\xE4lj\",remove:\"Ta bort\",select_a_status:\"V\\xE4lj status\",select_a_tax:\"V\\xE4lj moms\",search:\"S\\xF6k\",are_you_sure:\"\\xC4r du s\\xE4ker?\",list_is_empty:\"Listan \\xE4r tom.\",no_tax_found:\"Hittade inte moms!\",four_zero_four:\"404\",you_got_lost:\"Hoppsan! Nu \\xE4r du vilse!\",go_home:\"G\\xE5 hem\",test_mail_conf:\"Testa epostinst\\xE4llningar\",send_mail_successfully:\"Lyckades skicka epost\",setting_updated:\"Inst\\xE4llningar uppdaterades\",select_state:\"V\\xE4lj kommun\",select_country:\"V\\xE4lj land\",select_city:\"V\\xE4lj stad\",street_1:\"Gatuadress 1\",street_2:\"Gatuadress 2\",action_failed:\"F\\xF6rs\\xF6k misslyckades\",retry:\"F\\xF6rs\\xF6k igen\",choose_note:\"V\\xE4lj notering\",no_note_found:\"Inga noteringar hittades\",insert_note:\"L\\xE4gg till notering\",copied_pdf_url_clipboard:\"Url till PDF kopierades till urklipp!\",copied_url_clipboard:\"Copied url to clipboard!\",docs:\"Dokumentation\",do_you_wish_to_continue:\"Vill du forts\\xE4tta?\",note:\"Notering\",pay_invoice:\"Pay Invoice\",login_successfully:\"Logged in successfully!\",logged_out_successfully:\"Logged out successfully\",mark_as_default:\"Mark as default\"},jh={select_year:\"V\\xE4lj \\xE5r\",cards:{due_amount:\"F\\xF6rfallet belopp\",customers:\"Kunder\",invoices:\"Fakturor\",estimates:\"Kostnadsf\\xF6rslag\",payments:\"Payments\"},chart_info:{total_sales:\"F\\xF6rs\\xE4ljning\",total_receipts:\"Kvitton\",total_expense:\"Utgifter\",net_income:\"Nettoinkomst\",year:\"V\\xE4lj \\xE5r\"},monthly_chart:{title:\"F\\xF6rs\\xE4ljning och utgifter\"},recent_invoices_card:{title:\"F\\xF6rfallna fakturor\",due_on:\"F\\xF6rfaller den\",customer:\"Kund\",amount_due:\"F\\xF6rfallet belopp\",actions:\"Handlingar\",view_all:\"Visa alla\"},recent_estimate_card:{title:\"Senaste kostnadsf\\xF6rslag\",date:\"Datum\",customer:\"Kund\",amount_due:\"F\\xF6rfallet belopp\",actions:\"Handlingar\",view_all:\"Visa alla\"}},Ah={name:\"Namn\",description:\"Beskrivning\",percent:\"Provent\",compound_tax:\"Sammansatt moms\"},Dh={search:\"S\\xF6k...\",customers:\"Kunder\",users:\"Anv\\xE4ndare\",no_results_found:\"Hittade inga resultat\"},Ch={label:\"Byt f\\xF6retag\",no_results_found:\"Inga resultat hittades\",add_new_company:\"L\\xE4gg till nytt f\\xF6retag\",new_company:\"Nytt f\\xF6retag\",created_message:\"F\\xF6retaget har skapats\"},Nh={today:\"Idag\",this_week:\"Denna vecka\",this_month:\"Denna m\\xE5nad\",this_quarter:\"Detta kvartal\",this_year:\"I \\xE5r\",previous_week:\"F\\xF6reg\\xE5ende vecka\",previous_month:\"F\\xF6reg\\xE5ende m\\xE5nad\",previous_quarter:\"F\\xF6reg\\xE5ende kvartal\",previous_year:\"F\\xF6reg\\xE5ende \\xE5r\",custom:\"Anpassad\"},Eh={title:\"Kunder\",prefix:\"Prefix\",add_customer:\"L\\xE4gg till kund\",contacts_list:\"Kundlista\",name:\"Namn\",mail:\"Epost | Epost\",statement:\"P\\xE5st\\xE5ende\",display_name:\"Visningsnamn\",primary_contact_name:\"Prim\\xE4r kontakts namn\",contact_name:\"Kontaktnamn\",amount_due:\"F\\xF6rfallet belopp\",email:\"Epost\",address:\"Adress\",phone:\"Telefon\",website:\"Hemsida\",overview:\"\\xD6versikt\",invoice_prefix:\"Prefix f\\xF6r fakturor\",estimate_prefix:\"Prefix f\\xF6r kostnadsf\\xF6rslag\",payment_prefix:\"Prefix f\\xF6r betalningar\",enable_portal:\"Aktivera portal\",country:\"Land\",state:\"Kommun\",city:\"Stad\",zip_code:\"Postnummer\",added_on:\"Tillagd den\",action:\"Handling\",password:\"L\\xF6senord\",confirm_password:\"Bekr\\xE4fta l\\xF6senord\",street_number:\"Gatnummer\",primary_currency:\"Huvudvaluta\",description:\"Beskrivning\",add_new_customer:\"L\\xE4gg till ny kund\",save_customer:\"Spara kund\",update_customer:\"Uppdatera kund\",customer:\"Kund | Kunder\",new_customer:\"Ny kund\",edit_customer:\"\\xC4ndra kund\",basic_info:\"Information\",portal_access:\"Portal Access\",portal_access_text:\"Would you like to allow this customer to login to the Customer Portal?\",portal_access_url:\"Customer Portal Login URL\",portal_access_url_help:\"Please copy & forward the above given URL to your customer for providing access.\",billing_address:\"Fakturaadress\",shipping_address:\"Leveransadress\",copy_billing_address:\"Kopiera fr\\xE5n faktura\",no_customers:\"Inga kunder \\xE4n!\",no_customers_found:\"Hittade inga kunder!\",no_contact:\"Inga kontakter\",no_contact_name:\"Kontaktnamn\",list_of_customers:\"H\\xE4r kommer det finnas en lista med kunder.\",primary_display_name:\"Visningsnamn\",select_currency:\"V\\xE4lj valuta\",select_a_customer:\"V\\xE4lj kund\",type_or_click:\"Skriv eller klicka f\\xF6r att v\\xE4lja\",new_transaction:\"Ny transaktion\",no_matching_customers:\"Matchade inte med n\\xE5gon kund!\",phone_number:\"Telefonnummer\",create_date:\"Skapandedatum\",confirm_delete:\"Du kommer inte kunna \\xE5terst\\xE4lla denna kund eller n\\xE5gra relaterade fakturor, kostnadsf\\xF6rslag eller betalningar. | Du kommer inte kunna \\xE5terst\\xE4lla dessa kunder eller n\\xE5gra relaterade fakturor, kostnadsf\\xF6rslag eller betalningar.\",created_message:\"Kund skapades\",updated_message:\"Kund uppdaterades\",address_updated_message:\"Address Information Updated succesfully\",deleted_message:\"Kund raderades | Kunder raderades\",edit_currency_not_allowed:\"Kan inte \\xE4ndra valuta n\\xE4r transaktioner har skapats.\"},Ih={title:\"Artiklar\",items_list:\"Artikellista\",name:\"Namn\",unit:\"Enhet\",description:\"Beskrivning\",added_on:\"Tillagd den\",price:\"Pris\",date_of_creation:\"Skapandedatum\",not_selected:\"Inga poster valda\",action:\"Handling\",add_item:\"Skapa artikel\",save_item:\"Spara artikel\",update_item:\"Uppdatera artiklar\",item:\"Artikel | Artiklar\",add_new_item:\"Skapa ny artikel\",new_item:\"Ny artikel\",edit_item:\"\\xC4ndra artikel\",no_items:\"Inga artiklar \\xE4n!\",list_of_items:\"H\\xE4r kommer lista \\xF6ver artiklar vara.\",select_a_unit:\"v\\xE4lj enhet\",taxes:\"Moms\",item_attached_message:\"Kan inte radera en artikel som anv\\xE4nds\",confirm_delete:\"Du kommer inte kunna \\xE5terst\\xE4lla denna artikel | Du kommer inte kunna \\xE5terst\\xE4lla dessa artiklar\",created_message:\"Artikel skapades\",updated_message:\"Artikel uppdaterades\",deleted_message:\"Artikel raderades | Artiklar raderades\"},Th={title:\"Kostnadsf\\xF6rslag\",accept_estimate:\"Accept Estimate\",reject_estimate:\"Reject Estimate\",estimate:\"Kostnadsf\\xF6rslag | Kostnadsf\\xF6rslag\",estimates_list:\"Lista med kostnadsf\\xF6rslag\",days:\"{days} dagar\",months:\"{months} m\\xE5nader\",years:\"{years} \\xE5r\",all:\"Alla\",paid:\"Betalda\",unpaid:\"Obetalda\",customer:\"KUND\",ref_no:\"REF NR.\",number:\"NUMMER\",amount_due:\"F\\xD6RFALLET BELOPP\",partially_paid:\"Delbetald\",total:\"Summa\",discount:\"Rabatt\",sub_total:\"Delsumma\",estimate_number:\"Kostnadsf\\xF6rslagsnummer\",ref_number:\"Ref Nummer\",contact:\"Kontakt\",add_item:\"L\\xE4gg till artikel\",date:\"Datum\",due_date:\"F\\xF6rfallodatum\",expiry_date:\"Utg\\xE5ngsdatum\",status:\"Status\",add_tax:\"L\\xE4gg till moms\",amount:\"Belopp\",action:\"Handling\",notes:\"Noteringar\",tax:\"Moms\",estimate_template:\"Mall\",convert_to_invoice:\"Konvertera till faktura\",mark_as_sent:\"Markerade som skickad\",send_estimate:\"Skicka kostnadsf\\xF6rslag\",resend_estimate:\"Skicka kostnadsf\\xF6rslag igen\",record_payment:\"Registrera betalning\",add_estimate:\"L\\xE4gg till kostnadsf\\xF6rslag\",save_estimate:\"Spara kostnadsf\\xF6rslag\",confirm_conversion:\"Detta kostnadsf\\xF6rslag anv\\xE4nds f\\xF6r att skapa ny faktura.\",conversion_message:\"Faktura skapades\",confirm_send_estimate:\"Detta kostnadsf\\xF6rslag skickas via epost till kund\",confirm_mark_as_sent:\"Detta kostnadsf\\xF6rslag markeras som skickat\",confirm_mark_as_accepted:\"Detta kostnadsf\\xF6rslag markeras som accepterad\",confirm_mark_as_rejected:\"Detta kostnadsf\\xF6rslag markeras som avvisad\",no_matching_estimates:\"Inga matchande kostnadsf\\xF6rslag!\",mark_as_sent_successfully:\"Kostnadsf\\xF6rslag markerat som skickat\",send_estimate_successfully:\"Kostnadsf\\xF6rslag skickades\",errors:{required:\"F\\xE4ltet \\xE4r tvingande\"},accepted:\"Accepterad\",rejected:\"Avvisad\",expired:\"Expired\",sent:\"Skickat\",draft:\"Utkast\",viewed:\"Viewed\",declined:\"Avvisad\",new_estimate:\"Nytt kostnadsf\\xF6rslag\",add_new_estimate:\"Skapa nytt kostnadsf\\xF6rslag\",update_Estimate:\"Uppdatera kostnadsf\\xF6rslag\",edit_estimate:\"\\xC4ndra kostnadsf\\xF6rslag\",items:\"artiklar\",Estimate:\"Kostnadsf\\xF6rslag | Kostnadsf\\xF6rslag\",add_new_tax:\"Skapa ny momssats\",no_estimates:\"Inga kostnadsf\\xF6rslag \\xE4n!\",list_of_estimates:\"H\\xE4r kommer det finnas kostnadsf\\xF6rslag.\",mark_as_rejected:\"Markera som avvisad\",mark_as_accepted:\"Markera som godk\\xE4nd\",marked_as_accepted_message:\"Kostnadsf\\xF6rslag markerad som godk\\xE4nd\",marked_as_rejected_message:\"Kostnadsf\\xF6rslag markerad som avvisad\",confirm_delete:\"Du kommer inte kunna \\xE5terst\\xE4lla detta kostnadsf\\xF6rslag | Du kommer inte kunna \\xE5terst\\xE4lla dessa kostnadsf\\xF6rslag\",created_message:\"Kostnadsf\\xF6rslag skapades\",updated_message:\"Kostnadsf\\xF6rslag \\xE4ndrades\",deleted_message:\"Kostnadsf\\xF6rslag raderades | Kostnadsf\\xF6rslag raderades\",something_went_wrong:\"n\\xE5got gick fel\",item:{title:\"Artikelnamn\",description:\"Beskrivning\",quantity:\"Antal\",price:\"Pris\",discount:\"Rabatt\",total:\"Summa\",total_discount:\"Rabattsumma\",sub_total:\"Delsumma\",tax:\"Moms\",amount:\"Summa\",select_an_item:\"Skriv eller klicka f\\xF6r att v\\xE4lja artikel\",type_item_description:\"Skriv in artikelns beskrivning (frivilligt)\"},mark_as_default_estimate_template_description:\"If enabled, the selected template will be automatically selected for new estimates.\"},Rh={title:\"Fakturor\",download:\"Download\",pay_invoice:\"Pay Invoice\",invoices_list:\"Fakturor\",invoice_information:\"Invoice Information\",days:\"{days} dagar\",months:\"{months} m\\xE5nader\",years:\"{years} \\xE5r\",all:\"Alla\",paid:\"Betalda\",unpaid:\"Obetalda\",viewed:\"Visade\",overdue:\"F\\xF6rfallna\",completed:\"Slutf\\xF6rda\",customer:\"KUNDER\",paid_status:\"BETALSTATUS\",ref_no:\"REF NR.\",number:\"NUMMER\",amount_due:\"F\\xD6RFALLET BELOPP\",partially_paid:\"Delbetald\",total:\"Summa\",discount:\"Rabatt\",sub_total:\"Delsumma\",invoice:\"Faktura | Fakturor\",invoice_number:\"Fakturanummer\",ref_number:\"Ref Nummer\",contact:\"Kontakt\",add_item:\"L\\xE4gg till artikel\",date:\"Datum\",due_date:\"F\\xF6rfallodatum\",status:\"Status\",add_tax:\"L\\xE4gg till moms\",amount:\"Summa\",action:\"Handling\",notes:\"Noteringar\",view:\"Visa\",send_invoice:\"Skicka faktura\",resend_invoice:\"Skicka faktura igen\",invoice_template:\"Fakturamall\",conversion_message:\"Fakturan kopierades\",template:\"Mall\",mark_as_sent:\"Markera som skickad\",confirm_send_invoice:\"Denna faktura skickas via epost till kunden\",invoice_mark_as_sent:\"Denna faktura markeras som skickad\",confirm_mark_as_accepted:\"Denna faktura kommer att markeras som Godk\\xE4nd\",confirm_mark_as_rejected:\"Denna faktura kommer att markeras som Avvisad\",confirm_send:\"Denna faktura skickas via epost till kunden\",invoice_date:\"Fakturadatum\",record_payment:\"Registrera betalning\",add_new_invoice:\"L\\xE4gg till ny faktura\",update_expense:\"\\xC4ndra utgifter\",edit_invoice:\"Editera faktura\",new_invoice:\"Ny faktura\",save_invoice:\"Spara faktura\",update_invoice:\"Uppdatera faktura\",add_new_tax:\"L\\xE4gg till ny momssats\",no_invoices:\"Inga fakturor \\xE4n!\",mark_as_rejected:\"Markera som avvisad\",mark_as_accepted:\"Markera som godk\\xE4nd\",list_of_invoices:\"H\\xE4r kommer det vara en lista med fakturor.\",select_invoice:\"V\\xE4lj faktura\",no_matching_invoices:\"Inga matchande fakturor!\",mark_as_sent_successfully:\"Fakturans status \\xE4ndrad till skickad\",invoice_sent_successfully:\"Fakturan skickades\",cloned_successfully:\"Fakturan kopierades\",clone_invoice:\"Kopiera faktura\",confirm_clone:\"Denna faktura kopieras till en ny faktura\",item:{title:\"Artikelnamn\",description:\"Beskvirning\",quantity:\"Antal\",price:\"Pris\",discount:\"Rabatt\",total:\"Summa\",total_discount:\"Totalsumma\",sub_total:\"Delsumma\",tax:\"Moms\",amount:\"Summa\",select_an_item:\"Skriv eller klicka f\\xF6r att v\\xE4lja artikel\",type_item_description:\"Artikeltypsbeskrivning (frivillig)\"},payment_attached_message:\"En av dom valda fakturorna har redan en betalning kopplad till sig. Du m\\xE5ste radera dom kopplade betalningarna f\\xF6rst f\\xF6r att kunna forts\\xE4tta raderingen\",confirm_delete:\"Du kommer inte kunna \\xE5terst\\xE4lla denna faktura | Du kommer inte kunna \\xE5terst\\xE4lla dessa fakturor\",created_message:\"Faktura skapades\",updated_message:\"Faktura uppdaterades\",deleted_message:\"Faktura raderades | fakturor raderades\",marked_as_sent_message:\"Faktura markerad som skickad\",something_went_wrong:\"n\\xE5got blev fel\",invalid_due_amount_message:\"Totalsumman f\\xF6r fakturan kan inte vara l\\xE4gra \\xE4n den betalda summan. V\\xE4nligen uppdatera fakturan eller radera dom kopplade betalningarna.\",mark_as_default_invoice_template_description:\"If enabled, the selected template will be automatically selected for new invoices.\"},Mh={title:\"\\xC5terkommande fakturor\",invoices_list:\"\\xC5terkommande fakturor\",days:\"{days} Dagar\",months:\"{months} M\\xE5nader\",years:\"{years} \\xC5r\",all:\"Alla\",paid:\"Betalda\",unpaid:\"Obetalda\",viewed:\"Visade\",overdue:\"F\\xF6rsenade\",active:\"Aktiva\",completed:\"Slutf\\xF6rda\",customer:\"KUND\",paid_status:\"BETALSTATUS\",ref_no:\"REF NR.\",number:\"NUMMER\",amount_due:\"F\\xD6RFALLET BELOPP\",partially_paid:\"Delbetald\",total:\"Summa\",discount:\"Rabatt\",sub_total:\"Delsumma\",invoice:\"Recurring Invoice | Recurring Invoices\",invoice_number:\"Recurring Invoice Number\",next_invoice_date:\"Next Invoice Date\",ref_number:\"Ref Number\",contact:\"Contact\",add_item:\"Add an Item\",date:\"Date\",limit_by:\"Limit by\",limit_date:\"Limit Date\",limit_count:\"Limit Count\",count:\"Count\",status:\"Status\",select_a_status:\"Select a status\",working:\"Working\",on_hold:\"On Hold\",complete:\"Completed\",add_tax:\"Add Tax\",amount:\"Amount\",action:\"Action\",notes:\"Notes\",view:\"View\",basic_info:\"Basic Info\",send_invoice:\"Send Recurring Invoice\",auto_send:\"Auto Send\",resend_invoice:\"Resend Recurring Invoice\",invoice_template:\"Recurring Invoice Template\",conversion_message:\"Recurring Invoice cloned successful\",template:\"Template\",mark_as_sent:\"Mark as sent\",confirm_send_invoice:\"This recurring invoice will be sent via email to the customer\",invoice_mark_as_sent:\"This recurring invoice will be marked as sent\",confirm_send:\"This recurring invoice will be sent via email to the customer\",starts_at:\"Start Date\",due_date:\"Invoice Due Date\",record_payment:\"Record Payment\",add_new_invoice:\"Add New Recurring Invoice\",update_expense:\"Update Expense\",edit_invoice:\"Edit Recurring Invoice\",new_invoice:\"New Recurring Invoice\",send_automatically:\"Send Automatically\",send_automatically_desc:\"Enable this, if you would like to send the invoice automatically to the customer when its created.\",save_invoice:\"Save Recurring Invoice\",update_invoice:\"Update Recurring Invoice\",add_new_tax:\"Add New Tax\",no_invoices:\"No Recurring Invoices yet!\",mark_as_rejected:\"Mark as rejected\",mark_as_accepted:\"Mark as accepted\",list_of_invoices:\"This section will contain the list of recurring invoices.\",select_invoice:\"Select Invoice\",no_matching_invoices:\"There are no matching recurring invoices!\",mark_as_sent_successfully:\"Recurring Invoice marked as sent successfully\",invoice_sent_successfully:\"Recurring Invoice sent successfully\",cloned_successfully:\"Recurring Invoice cloned successfully\",clone_invoice:\"Clone Recurring Invoice\",confirm_clone:\"This recurring invoice will be cloned into a new Recurring Invoice\",add_customer_email:\"Please add an email address for this customer to send invoices automatically.\",item:{title:\"Item Title\",description:\"Description\",quantity:\"Quantity\",price:\"Price\",discount:\"Discount\",total:\"Total\",total_discount:\"Total Discount\",sub_total:\"Sub Total\",tax:\"Tax\",amount:\"Amount\",select_an_item:\"Type or click to select an item\",type_item_description:\"Type Item Description (optional)\"},frequency:{title:\"Frequency\",select_frequency:\"Select Frequency\",minute:\"Minute\",hour:\"Hour\",day_month:\"Day of month\",month:\"Month\",day_week:\"Day of week\"},confirm_delete:\"You will not be able to recover this Invoice | You will not be able to recover these Invoices\",created_message:\"Recurring Invoice created successfully\",updated_message:\"Recurring Invoice updated successfully\",deleted_message:\"Recurring Invoice deleted successfully | Recurring Invoices deleted successfully\",marked_as_sent_message:\"Recurring Invoice marked as sent successfully\",user_email_does_not_exist:\"User email does not exist\",something_went_wrong:\"something went wrong\",invalid_due_amount_message:\"Total Recurring Invoice amount cannot be less than total paid amount for this Recurring Invoice. Please update the invoice or delete the associated payments to continue.\"},Fh={title:\"Betalningar\",payments_list:\"Lista med betalningar\",record_payment:\"Registrera betalning\",customer:\"Kund\",date:\"Datum\",amount:\"Summa\",action:\"Handling\",payment_number:\"Betalningsnummer\",payment_mode:\"Betalningss\\xE4tt\",invoice:\"Faktura\",note:\"Notering\",add_payment:\"Skapa betalning\",new_payment:\"Ny betalning\",edit_payment:\"\\xC4ndra betalning\",view_payment:\"Visa betalning\",add_new_payment:\"Skapa ny betalning\",send_payment_receipt:\"Skicka kvitto p\\xE5 betalning\",send_payment:\"Skicka betalning\",save_payment:\"Spara betalning\",update_payment:\"Uppdatera betalning\",payment:\"Betalning | Betalningar\",no_payments:\"Inga betalningar \\xE4n!\",not_selected:\"Ej markerad\",no_invoice:\"Ingen faktura\",no_matching_payments:\"Inga matchande betalningar!\",list_of_payments:\"H\\xE4r kommer listan med betalningar finnas.\",select_payment_mode:\"V\\xE4lj betalningss\\xE4tt\",confirm_mark_as_sent:\"Detta kostnadsf\\xF6rslag markeras som skickat\",confirm_send_payment:\"Denna betalning skickas till kunden via epost\",send_payment_successfully:\"Betalningen skickades\",something_went_wrong:\"n\\xE5got gick fel\",confirm_delete:\"Du kommer inte kunna \\xE5terst\\xE4lla denna betalning | Du kommer inte kunna \\xE5terst\\xE4lla dessa betalningar\",created_message:\"Betalning skapades\",updated_message:\"Betalning uppdaterades\",deleted_message:\"Betalning raderades | Betalningar raderades\",invalid_amount_message:\"Betalsumman \\xE4r ogiltig\"},$h={title:\"Utgifter\",expenses_list:\"Lista med utgifter\",select_a_customer:\"V\\xE4lj en kund\",expense_title:\"Titel\",customer:\"Kund\",currency:\"Currency\",contact:\"Kontakt\",category:\"Kategori\",from_date:\"Fr\\xE5n datum\",to_date:\"Till datum\",expense_date:\"Datum\",description:\"Beskrivning\",receipt:\"Kvitto\",amount:\"Summa\",action:\"Handling\",not_selected:\"Ej markerad\",note:\"Notering\",category_id:\"Kategorins ID\",date:\"Datum\",add_expense:\"L\\xE4gg till utgift\",add_new_expense:\"L\\xE4gg till ny utgift\",save_expense:\"Spara utgift\",update_expense:\"Uppdatera utgift\",download_receipt:\"Ladda ner kvitto\",edit_expense:\"\\xC4ndra utgift\",new_expense:\"Ny utgift\",expense:\"Utgift | Utgifter\",no_expenses:\"Inga utgifter \\xE4n!\",list_of_expenses:\"H\\xE4r kommer utgifterna finnas.\",confirm_delete:\"Du kommer inte kunna \\xE5terst\\xE4lla denna utgift | Du kommer inte kunna \\xE5terst\\xE4lla dessa utgifter\",created_message:\"Utgift skapades\",updated_message:\"Utgift \\xE4ndrades\",deleted_message:\"Utgift raderades | utgifterna raderades\",categories:{categories_list:\"Kategorier\",title:\"Titel\",name:\"Namn\",description:\"Beskrivning\",amount:\"Summa\",actions:\"Handlingar\",add_category:\"L\\xE4gg till kategori\",new_category:\"Ny kategori\",category:\"Kategori | Kategorier\",select_a_category:\"V\\xE4lj en kategori\"}},Uh={email:\"Epost\",password:\"L\\xF6senord\",forgot_password:\"Gl\\xF6mt l\\xF6senord?\",or_signIn_with:\"eller logga in med\",login:\"Logga in\",register:\"Registrera\",reset_password:\"\\xC5terst\\xE4ll l\\xF6senord\",password_reset_successfully:\"L\\xF6senord \\xE5terst\\xE4llt\",enter_email:\"Skriv in epost\",enter_password:\"Skriv in l\\xF6senord\",retype_password:\"Skriv l\\xF6senordet igen\"},Vh={buy_now:\"Buy Now\",install:\"Install\",price:\"Price\",download_zip_file:\"Download ZIP file\",unzipping_package:\"Unzipping Package\",copying_files:\"Copying Files\",deleting_files:\"Deleting Unused files\",completing_installation:\"Completing Installation\",update_failed:\"Update Failed\",install_success:\"Module has been installed successfully!\",customer_reviews:\"Reviews\",license:\"License\",faq:\"FAQ\",monthly:\"Monthly\",yearly:\"Yearly\",updated:\"Updated\",version:\"Version\",disable:\"Disable\",module_disabled:\"Module Disabled\",enable:\"Enable\",module_enabled:\"Module Enabled\",update_to:\"Update To\",module_updated:\"Module Updated Successfully!\",title:\"Modules\",module:\"Module | Modules\",api_token:\"API token\",invalid_api_token:\"Invalid API Token.\",other_modules:\"Other Modules\",view_all:\"View All\",no_reviews_found:\"There are no reviews for this module yet!\",module_not_purchased:\"Module Not Purchased\",module_not_found:\"Module Not Found\",version_not_supported:\"This module version doesn't support the current version of Crater\",last_updated:\"Last Updated On\",connect_installation:\"Connect your installation\",api_token_description:\"Login to {url} and connect this installation by entering the API Token. Your purchased modules will show up here after the connection is established.\",view_module:\"View Module\",update_available:\"Update Available\",purchased:\"Purchased\",installed:\"Installed\",no_modules_installed:\"No Modules Installed Yet!\",disable_warning:\"All the settings for this particular will be reverted.\",what_you_get:\"What you get\"},Oh={title:\"Anv\\xE4ndare\",users_list:\"Anv\\xE4ndare\",name:\"Namn\",description:\"Beskrivning\",added_on:\"Tillagd den\",date_of_creation:\"Datum skapad\",action:\"Handling\",add_user:\"L\\xE4gg till anv\\xE4ndare\",save_user:\"Spara anv\\xE4ndare\",update_user:\"Uppdatera anv\\xE4ndare\",user:\"Anv\\xE4ndare | Anv\\xE4ndare\",add_new_user:\"L\\xE4gg till ny anv\\xE4ndare\",new_user:\"Ny anv\\xE4ndare\",edit_user:\"\\xC4ndra anv\\xE4ndare\",no_users:\"Inga anv\\xE4ndare \\xE4n!\",list_of_users:\"H\\xE4r kommer man se alla anv\\xE4ndare.\",email:\"Epost\",phone:\"Telefon\",password:\"L\\xF6senord\",user_attached_message:\"Kan inte ta bort ett objeckt som anv\\xE4nds\",confirm_delete:\"Du kommer inte kunna \\xE5terst\\xE4lla denna anv\\xE4ndare | Du kommer inte kunna \\xE5terst\\xE4lla dessa anv\\xE4ndare\",created_message:\"Anv\\xE4ndare skapades\",updated_message:\"Anv\\xE4ndare uppdaterades\",deleted_message:\"Anv\\xE4ndaren raderades | Anv\\xE4ndarna raderades\",select_company_role:\"Select Role for {company}\",companies:\"Companies\"},Lh={title:\"Rapport\",from_date:\"Fr\\xE5n datum\",to_date:\"Till datum\",status:\"Status\",paid:\"Betald\",unpaid:\"Obetald\",download_pdf:\"Ladda ner PDF\",view_pdf:\"Visa PDF\",update_report:\"Uppdatera rapport\",report:\"Rapport | Rapporter\",profit_loss:{profit_loss:\"Inkomst och utgifter\",to_date:\"Till datum\",from_date:\"Fr\\xE5n datum\",date_range:\"V\\xE4lj datumintervall\"},sales:{sales:\"F\\xF6rs\\xE4ljningar\",date_range:\"V\\xE4lj datumintervall\",to_date:\"Till datum\",from_date:\"Fr\\xE5n datum\",report_type:\"Rapporttyp\"},taxes:{taxes:\"Momssatser\",to_date:\"Till datum\",from_date:\"Fr\\xE5n datum\",date_range:\"V\\xE4lj datumintervall\"},errors:{required:\"F\\xE4ltet \\xE4r tvingande\"},invoices:{invoice:\"Faktura\",invoice_date:\"Fakturadatum\",due_date:\"F\\xF6rfallodatum\",amount:\"Summa\",contact_name:\"Kontaktnamn\",status:\"Status\"},estimates:{estimate:\"Kostnadsf\\xF6rslag\",estimate_date:\"Kostnadsf\\xF6rslagsdatum\",due_date:\"F\\xF6rfallodatum\",estimate_number:\"Kostnadsf\\xF6rslagsnummer\",ref_number:\"Ref Nummer\",amount:\"Summa\",contact_name:\"Kontaktnamn\",status:\"Status\"},expenses:{expenses:\"Utgifter\",category:\"Kategori\",date:\"Datum\",amount:\"Summa\",to_date:\"Till datum\",from_date:\"Fr\\xE5n datum\",date_range:\"V\\xE4lj datumintervall\"}},qh={menu_title:{account_settings:\"Kontoinst\\xE4llningar\",company_information:\"F\\xF6retagsinformation\",customization:\"Anpassning\",preferences:\"Inst\\xE4llningar\",notifications:\"Notifieringar\",tax_types:\"Momssatser\",expense_category:\"Utgiftskategorier\",update_app:\"Uppdatera appen\",backup:\"Backup\",file_disk:\"File Disk\",custom_fields:\"Anpassade f\\xE4lt\",payment_modes:\"Betalmetoder\",notes:\"Noteringar\",exchange_rate:\"Exchange Rate\",address_information:\"Address Information\"},address_information:{section_description:\"  You can update Your Address information using form below.\"},title:\"Inst\\xE4llningar\",setting:\"Inst\\xE4llningar | Inst\\xE4llningar\",general:\"Allm\\xE4n\",language:\"Spr\\xE5k\",primary_currency:\"Prim\\xE4r valuta\",timezone:\"Tidszon\",date_format:\"Datumformat\",currencies:{title:\"Valutor\",currency:\"Valuta | Valutor\",currencies_list:\"Lista med valutor\",select_currency:\"V\\xE4lj valuta\",name:\"Namn\",code:\"Kod\",symbol:\"Symbol\",precision:\"Precision\",thousand_separator:\"Tusenavgr\\xE4nsare\",decimal_separator:\"Decimalavgr\\xE4nsare\",position:\"Position\",position_of_symbol:\"Symbolens position\",right:\"H\\xF6ger\",left:\"V\\xE4nster\",action:\"Handling\",add_currency:\"L\\xE4gg till valuta\"},mail:{host:\"V\\xE4rdadress\",port:\"Port\",driver:\"Typ\",secret:\"Hemlighet\",mailgun_secret:\"Mailgun Secret\",mailgun_domain:\"Dom\\xE4n\",mailgun_endpoint:\"Mailgun Endpoint\",ses_secret:\"SES Secret\",ses_key:\"SES Key\",password:\"L\\xF6senord\",username:\"Anv\\xE4ndarnamn\",mail_config:\"Epostinst\\xE4llningar\",from_name:\"Fr\\xE5n namn\",from_mail:\"Fr\\xE5n adress\",encryption:\"Kryptering\",mail_config_desc:\"Nedan formul\\xE4r anv\\xE4nds f\\xF6r att konfigurera vilket s\\xE4tt som ska anv\\xE4ndar f\\xF6r att skicka epost. Du kan ocks\\xE5 anv\\xE4nda tredjepartsleverant\\xF6r som Sendgrid, SES o.s.v.\"},pdf:{title:\"PDF-inst\\xE4llningar\",footer_text:\"Sidfotstext\",pdf_layout:\"PDF-layout\"},company_info:{company_info:\"F\\xF6retagsinfo\",company_name:\"F\\xF6retagsnamn\",company_logo:\"F\\xF6retagslogga\",section_description:\"Information om ditt f\\xF6retags som kommer visas p\\xE5 fakturor, kostnadsf\\xF6rslag och andra dokument skapade av Crater.\",phone:\"Telefon\",country:\"Land\",state:\"Kommun\",city:\"Stad\",address:\"Adress\",zip:\"Postnr\",save:\"Spara\",delete:\"Delete\",updated_message:\"F\\xF6retagsinformation uppdaterad\",delete_company:\"Delete Company\",delete_company_description:\"Once you delete your company, you will lose all the data and files associated with it permanently.\",are_you_absolutely_sure:\"Are you absolutely sure?\",delete_company_modal_desc:\"This action cannot be undone. This will permanently delete {company} and all of its associated data.\",delete_company_modal_label:\"Please type {company} to confirm\"},custom_fields:{title:\"Anpassade f\\xE4lt\",section_description:\"Anpassa fakturor, kostnadsf\\xF6rslag och kvitton med dina egna f\\xE4lt. Anv\\xE4nd nedanst\\xE5ende f\\xE4lt i adressforamteringen p\\xE5 anpassningarnas inst\\xE4llningssida.\",add_custom_field:\"L\\xE4gg till anpassat f\\xE4lt\",edit_custom_field:\"\\xC4ndra anpassade f\\xE4lt\",field_name:\"F\\xE4ltnamn\",label:\"Etikett\",type:\"Typ\",name:\"Namn\",slug:\"Slug\",required:\"Tvingad\",placeholder:\"Placeholder\",help_text:\"Hj\\xE4lptext\",default_value:\"Standardv\\xE4rde\",prefix:\"Prefix\",starting_number:\"Startnummer\",model:\"Modell\",help_text_description:\"Skriv in text som hj\\xE4lper anv\\xE4ndaren f\\xF6rst\\xE5 vad det anpassade f\\xE4ltet anv\\xE4nds f\\xF6r.\",suffix:\"Suffix\",yes:\"Ja\",no:\"Nej\",order:\"Ordning\",custom_field_confirm_delete:\"Du kommer inte kunna \\xE5terst\\xE4lla detta anpassade f\\xE4lt\",already_in_use:\"Det anpassade f\\xE4ltet anv\\xE4nds\",deleted_message:\"Det anpassade f\\xE4ltet raderades\",options:\"val\",add_option:\"L\\xE4gg till val\",add_another_option:\"L\\xE4gg till ett till val\",sort_in_alphabetical_order:\"Sortera i alfabetisk ordning\",add_options_in_bulk:\"L\\xE4gg till flera val\",use_predefined_options:\"Anv\\xE4nd f\\xF6rinst\\xE4llda val\",select_custom_date:\"V\\xE4lj anpassat datum\",select_relative_date:\"V\\xE4lj relativt datum\",ticked_by_default:\"Ikryssad fr\\xE5n start\",updated_message:\"Anpassat f\\xE4lt uppdaterades\",added_message:\"Anpassat f\\xE4lt skapat\",press_enter_to_add:\"Press enter to add new option\",model_in_use:\"Cannot update model for fields which are already in use.\",type_in_use:\"Cannot update type for fields which are already in use.\"},customization:{customization:\"Anpassning\",updated_message:\"F\\xF6retagsinformation uppdaterades\",save:\"Spara\",insert_fields:\"Insert Fields\",learn_custom_format:\"Learn how to use custom format\",add_new_component:\"Add New Component\",component:\"Component\",Parameter:\"Parameter\",series:\"Series\",series_description:\"To set a static prefix/postfix like 'INV' across your company. It supports character length of up to 6 chars.\",series_param_label:\"Series Value\",delimiter:\"Delimiter\",delimiter_description:\"Single character for specifying the boundary between 2 separate components. By default its set to -\",delimiter_param_label:\"Delimiter Value\",date_format:\"Date Format\",date_format_description:\"A local date and time field which accepts a format parameter. The default format: 'Y' renders the current year.\",date_format_param_label:\"Format\",sequence:\"Sequence\",sequence_description:\"Consecutive sequence of numbers across your company. You can specify the length on the given parameter.\",sequence_param_label:\"Sequence Length\",customer_series:\"Customer Series\",customer_series_description:\"To set a different prefix/postfix for each customer.\",customer_sequence:\"Customer Sequence\",customer_sequence_description:\"Consecutive sequence of numbers for each of your customer.\",customer_sequence_param_label:\"Sequence Length\",random_sequence:\"Random Sequence\",random_sequence_description:\"Random alphanumeric string. You can specify the length on the given parameter.\",random_sequence_param_label:\"Sequence Length\",invoices:{title:\"Fakturor\",invoice_number_format:\"Invoice Number Format\",invoice_number_format_description:\"Customize how your invoice number gets generated automatically when you create a new invoice.\",preview_invoice_number:\"Preview Invoice Number\",due_date:\"Due Date\",due_date_description:\"Specify how due date is automatically set when you create an invoice.\",due_date_days:\"Invoice Due after days\",set_due_date_automatically:\"Set Due Date Automatically\",set_due_date_automatically_description:\"Enable this if you wish to set due date automatically when you create a new invoice.\",default_formats:\"Default Formats\",default_formats_description:\"Below given formats are used to fill up the fields automatically on invoice creation.\",default_invoice_email_body:\"Standardtext f\\xF6r faktura\",company_address_format:\"Formatering av f\\xF6retagsadress\",shipping_address_format:\"Formatering av leveransadress\",billing_address_format:\"Formatering av fakturaadress\",invoice_email_attachment:\"Skicka fakturor som bilagor\",invoice_email_attachment_setting_description:'Aktivera detta om du vill skicka fakturor som e-postbilaga. Observera att knappen \"Visa faktura\" i e-post inte l\\xE4ngre kommer att visas n\\xE4r den \\xE4r aktiverad.',invoice_settings_updated:\"Invoice Settings updated successfully\",retrospective_edits:\"Retrospective Edits\",allow:\"Allow\",disable_on_invoice_partial_paid:\"Disable after partial payment is recorded\",disable_on_invoice_paid:\"Disable after full payment is recorded\",disable_on_invoice_sent:\"Disable after invoice is sent\",retrospective_edits_description:\" Based on your country's laws or your preference, you can restrict users from editing finalised invoices.\"},estimates:{title:\"Kostnadsf\\xF6rslag\",estimate_number_format:\"Estimate Number Format\",estimate_number_format_description:\"Customize how your estimate number gets generated automatically when you create a new estimate.\",preview_estimate_number:\"Preview Estimate Number\",expiry_date:\"Expiry Date\",expiry_date_description:\"Specify how expiry date is automatically set when you create an estimate.\",expiry_date_days:\"Estimate Expires after days\",set_expiry_date_automatically:\"Set Expiry Date Automatically\",set_expiry_date_automatically_description:\"Enable this if you wish to set expiry date automatically when you create a new estimate.\",default_formats:\"Default Formats\",default_formats_description:\"Below given formats are used to fill up the fields automatically on estimate creation.\",default_estimate_email_body:\"Standardtext f\\xF6r kostnadsf\\xF6rslag\",company_address_format:\"Formatering av f\\xF6retagsadress\",shipping_address_format:\"Formatering av leveransadress\",billing_address_format:\"Formatering av fakturaadress\",estimate_email_attachment:\"Send estimates as attachments\",estimate_email_attachment_setting_description:'Aktivera detta om du vill skicka offerterna som en e-postbilaga. Observera att knappen \"Visa offert\" i e-post inte l\\xE4ngre kommer att visas n\\xE4r den \\xE4r aktiverad.',estimate_settings_updated:\"Estimate Settings updated successfully\",convert_estimate_options:\"Estimate Convert Action\",convert_estimate_description:\"Specify what happens to the estimate after it gets converted to an invoice.\",no_action:\"No action\",delete_estimate:\"Delete estimate\",mark_estimate_as_accepted:\"Mark estimate as accepted\"},payments:{title:\"Betalningar\",payment_number_format:\"Payment Number Format\",payment_number_format_description:\"Customize how your payment number gets generated automatically when you create a new payment.\",preview_payment_number:\"Preview Payment Number\",default_formats:\"Default Formats\",default_formats_description:\"Below given formats are used to fill up the fields automatically on payment creation.\",default_payment_email_body:\"Standardtext f\\xF6r betalningar\",company_address_format:\"Format f\\xF6r f\\xF6retagsadress\",from_customer_address_format:\"Format f\\xF6r kundens fr\\xE5n-adress\",payment_email_attachment:\"Skicka betalningar som bilagor\",payment_email_attachment_setting_description:'Aktivera detta om du vill skicka betalningskvitton som en e-postbilaga. Observera att knappen \"Visa betalning\" i e-post inte l\\xE4ngre kommer att visas n\\xE4r den \\xE4r aktiverad.',payment_settings_updated:\"Payment Settings updated successfully\"},items:{title:\"Artiklar\",units:\"Enheter\",add_item_unit:\"L\\xE4gg till artikelenhet\",edit_item_unit:\"Editera artikelenhet\",unit_name:\"Enhets namn\",item_unit_added:\"Artikelenhet tillagd\",item_unit_updated:\"Artikelenhet uppdaterad\",item_unit_confirm_delete:\"Du kommer inte kunna \\xE5terst\\xE4lla denna artikelenhet\",already_in_use:\"Artikelenhet anv\\xE4nds\",deleted_message:\"Artikelenhet raderades\"},notes:{title:\"Noteringar\",description:\"Spara tid genom att skapa noteringar som kan \\xE5teranv\\xE4ndas p\\xE5 fakturor, betalningsf\\xF6rslag, och betalningar.\",notes:\"Noteringar\",type:\"Typ\",add_note:\"L\\xE4gg till notering\",add_new_note:\"L\\xE4gg till ny notering\",name:\"Namn\",edit_note:\"Editera notering\",note_added:\"Notering skapades\",note_updated:\"Notering uppdaterades\",note_confirm_delete:\"Du kommer inte kunna \\xE5terst\\xE4lla denna notering\",already_in_use:\"Notering anv\\xE4nds\",deleted_message:\"Notering raderades\"}},account_settings:{profile_picture:\"Profilbild\",name:\"Namn\",email:\"Epost\",password:\"L\\xF6senord\",confirm_password:\"Bekr\\xE4fta l\\xF6senord\",account_settings:\"Kontoinst\\xE4llningar\",save:\"Spara\",section_description:\"Du kan uppdatera namn, epost och l\\xF6senord med hj\\xE4lp av formul\\xE4ret nedan.\",updated_message:\"Kontoinst\\xE4llningar uppdaterades\"},user_profile:{name:\"Namn\",email:\"Epost\",password:\"L\\xF6senord\",confirm_password:\"Bekr\\xE4fta l\\xF6senord\"},notification:{title:\"Notifieringar\",email:\"Skicka notifiering till\",description:\"Vilka notifieringar vill du ha via epost n\\xE4r n\\xE5got \\xE4ndras?\",invoice_viewed:\"Faktura kollad\",invoice_viewed_desc:\"N\\xE4r din kund kollar fakturan via craters \\xF6versikt.\",estimate_viewed:\"Betalf\\xF6rslag kollad\",estimate_viewed_desc:\"N\\xE4r din kund kollar betalf\\xF6rslag via craters \\xF6versikt.\",save:\"Spara\",email_save_message:\"Epost sparades\",please_enter_email:\"Skriv in epostadress\"},roles:{title:\"Roles\",description:\"Manage the roles & permissions of this company\",save:\"Save\",add_new_role:\"Add New Role\",role_name:\"Role Name\",added_on:\"Added on\",add_role:\"Add Role\",edit_role:\"Edit Role\",name:\"Name\",permission:\"Permission | Permissions\",select_all:\"Select All\",none:\"None\",confirm_delete:\"You will not be able to recover this Role\",created_message:\"Role created successfully\",updated_message:\"Role updated successfully\",deleted_message:\"Role deleted successfully\",already_in_use:\"Role is already in use\"},exchange_rate:{exchange_rate:\"Exchange Rate\",title:\"Fix Currency Exchange issues\",description:\"Please enter exchange rate of all the currencies mentioned below to help Crater properly calculate the amounts in {currency}.\",drivers:\"Drivers\",new_driver:\"Add New Provider\",edit_driver:\"Edit Provider\",select_driver:\"Select Driver\",update:\"select exchange rate \",providers_description:\"Configure your exchange rate providers here to automatically fetch the latest exchange rate on transactions.\",key:\"API Key\",name:\"Name\",driver:\"Driver\",is_default:\"IS DEFAULT\",currency:\"Currencies\",exchange_rate_confirm_delete:\"You will not be able to recover this driver\",created_message:\"Provider Created successfully\",updated_message:\"Provider Updated Successfully\",deleted_message:\"Provider Deleted Successfully\",error:\" You cannot Delete Active Driver\",default_currency_error:\"This currency is already used in one of the Active Provider\",exchange_help_text:\"Enter exchange rate to convert from {currency} to {baseCurrency}\",currency_freak:\"Currency Freak\",currency_layer:\"Currency Layer\",open_exchange_rate:\"Open Exchange Rate\",currency_converter:\"Currency Converter\",server:\"Server\",url:\"URL\",active:\"Active\",currency_help_text:\"This provider will only be used on above selected currencies\",currency_in_used:\"The following currencies are already active on another provider. Please remove these currencies from selection to activate this provider again.\"},tax_types:{title:\"Momssatser\",add_tax:\"L\\xE4gg till moms\",edit_tax:\"\\xC4ndra moms\",description:\"Du kan l\\xE4gga till och ta bort momssatser som du vill. Crater har st\\xF6d f\\xF6r moms per artikel men \\xE4ven per faktura.\",add_new_tax:\"L\\xE4gg till ny momssats\",tax_settings:\"Momssattsinst\\xE4llningar\",tax_per_item:\"Moms per artikel\",tax_name:\"Namn\",compound_tax:\"Sammansatt moms\",percent:\"Procent\",action:\"Handling\",tax_setting_description:\"Aktivera detta om du vill l\\xE4gga till momssats p\\xE5 individuella fakturaartiklar. Som standard s\\xE4tts moms direkt p\\xE5 fakturan.\",created_message:\"Momssats skapades\",updated_message:\"Momssats uppdaterades\",deleted_message:\"Momssats raderades\",confirm_delete:\"Du kommer inte kunna \\xE5terst\\xE4lla denna Momssats\",already_in_use:\"Momssats anv\\xE4nds\"},payment_modes:{title:\"Payment Modes\",description:\"Modes of transaction for payments\",add_payment_mode:\"Add Payment Mode\",edit_payment_mode:\"Edit Payment Mode\",mode_name:\"Mode Name\",payment_mode_added:\"Payment Mode Added\",payment_mode_updated:\"Payment Mode Updated\",payment_mode_confirm_delete:\"You will not be able to recover this Payment Mode\",payments_attached:\"This payment method is already attached to payments. Please delete the attached payments to proceed with deletion.\",expenses_attached:\"This payment method is already attached to expenses. Please delete the attached expenses to proceed with deletion.\",deleted_message:\"Payment Mode deleted successfully\"},expense_category:{title:\"Kategorier f\\xF6r utgifter\",action:\"Handling\",description:\"Kategorier kr\\xE4vs f\\xF6r att l\\xE4gga till utgifter. Du kan l\\xE4gga till och ta bort dessa kategorier som du vill\",add_new_category:\"L\\xE4gg till ny kategori\",add_category:\"L\\xE4gg till kategori\",edit_category:\"\\xC4ndra kategori\",category_name:\"Kategorinamn\",category_description:\"Beskrivning\",created_message:\"Utgiftskategori skapades\",deleted_message:\"Utgiftskategori raderades\",updated_message:\"Utgiftskategori uppdaterades\",confirm_delete:\"Du kommer inte kunna \\xE5terst\\xE4lla denna utgiftskategori\",already_in_use:\"Kategorin anv\\xE4nds\"},preferences:{currency:\"Valuta\",default_language:\"Standardspr\\xE5k\",time_zone:\"Tidszon\",fiscal_year:\"R\\xE4kenskaps\\xE5r\",date_format:\"Datumformattering\",discount_setting:\"Rabattinst\\xE4llningar\",discount_per_item:\"Rabatt per artikel \",discount_setting_description:\"Aktivera detta om du vill kunna l\\xE4gga rabatt p\\xE5 enskilda fakturaartiklar. Rabatt ges som standard p\\xE5 hela fakturan.\",expire_public_links:\"Automatically Expire Public Links\",expire_setting_description:\"Specify whether you would like to expire all the links sent by application to view invoices, estimates & payments, etc after a specified duration.\",save:\"Spara\",preference:\"Preferens | Preferenser\",general_settings:\"Standardpreferenser f\\xF6r systemet.\",updated_message:\"Preferenser uppdaterades\",select_language:\"V\\xE4lj spr\\xE5k\",select_time_zone:\"V\\xE4lj tidszon\",select_date_format:\"V\\xE4lj datumformat\",select_financial_year:\"V\\xE4lj r\\xE4kenskaps\\xE5r\",recurring_invoice_status:\"Recurring Invoice Status\",create_status:\"Create Status\",active:\"Active\",on_hold:\"On Hold\",update_status:\"Update Status\",completed:\"Completed\",company_currency_unchangeable:\"Company currency cannot be changed\"},update_app:{title:\"Uppdatera applikationen\",description:\"Du kan enkelt uppdatera Crater genom att s\\xF6ka efter uppdateringar via knappen nedan\",check_update:\"S\\xF6k efter uppdateringar\",avail_update:\"Uppdatering \\xE4r tillg\\xE4nglig\",next_version:\"N\\xE4sta version\",requirements:\"Krav\",update:\"Uppdatera nu\",update_progress:\"Uppdaterar...\",progress_text:\"Det kommer bara ta n\\xE5gra minuter. St\\xE4ng eller uppdatera inte webl\\xE4saren f\\xF6rr\\xE4n uppdateringen \\xE4r f\\xE4rdig.\",update_success:\"Applikationen har uppdaterats! V\\xE4nta s\\xE5 kommer f\\xF6nstret laddas om automatiskt..\",latest_message:\"Ingen uppdatering tillg\\xE4nglig! Du har den senaste versionen.\",current_version:\"Nuvarande version\",download_zip_file:\"Ladda ner ZIP-fil\",unzipping_package:\"Zippar upp paket\",copying_files:\"Kopierar filer\",deleting_files:\"Tar bort oanv\\xE4nda filer\",running_migrations:\"K\\xF6r migreringar\",finishing_update:\"Avslutar uppdateringen\",update_failed:\"Uppdatering misslyckades\",update_failed_text:\"Uppdateringen misslyckades p\\xE5 steg : {step} step\",update_warning:\"All of the application files and default template files will be overwritten when you update the application using this utility. Please take a backup of your templates & database before updating.\"},backup:{title:\"S\\xE4kerhetskopiering | S\\xE4kerhetskopieringar\",description:\"S\\xE4kerhetskopian \\xE4r en zip-fil som inneh\\xE5ller alla filer i katalogerna du v\\xE4ljer samt en kopia av databasen\",new_backup:\"Skapa ny s\\xE4kerhetskopia\",create_backup:\"Skapa s\\xE4kerhetskopia\",select_backup_type:\"V\\xE4lj typ av s\\xE4kerhetskopia\",backup_confirm_delete:\"Du kommer inte kunna \\xE5terst\\xE4lla denna s\\xE4kerhetskopia\",path:\"s\\xF6kv\\xE4g\",new_disk:\"Ny disk\",created_at:\"skapad den\",size:\"storlek\",dropbox:\"dropbox\",local:\"lokal\",healthy:\"h\\xE4lsosam\",amount_of_backups:\"antal s\\xE4kerhetskopior\",newest_backups:\"senaste s\\xE4kerhetskopiorna\",used_storage:\"anv\\xE4nt utrymme\",select_disk:\"V\\xE4lj disk\",action:\"Handling\",deleted_message:\"S\\xE4kerhetskopia raderad\",created_message:\"S\\xE4kerhetskopia skapades\",invalid_disk_credentials:\"Ogiltiga autentiseringsuppgifter f\\xF6r den valda disken\"},disk:{title:\"Lagring | Lagringar\",description:\"Crater anv\\xE4nder din lokala disk som standard f\\xF6r att spara s\\xE4kerhetskopior, avatarer och andra bildfiler. Du kan st\\xE4lla in fler lagringsenheter s\\xE5som DigitalOcean, S3 och Dropbox beroende av ditt behov.\",created_at:\"skapad den\",dropbox:\"dropbox\",name:\"Namn\",driver:\"Plats\",disk_type:\"Typ\",disk_name:\"Lagringsenhetsnamn\",new_disk:\"L\\xE4gg till ny lagringsenhet\",filesystem_driver:\"Enhetsplats\",local_driver:\"Lokal enhet\",local_root:\"S\\xF6kv\\xE4g p\\xE5 lokal enhet\",public_driver:\"Offentlig drivrutin\",public_root:\"Offentlig rot\",public_url:\"Offentlig URL\",public_visibility:\"Offentlig synlighet\",media_driver:\"Mediaenhet\",media_root:\"Media Root\",aws_driver:\"AWS\",aws_key:\"Nyckel\",aws_secret:\"L\\xF6senord\",aws_region:\"Region\",aws_bucket:\"Bucket\",aws_root:\"S\\xF6kv\\xE4g\",do_spaces_type:\"Do Spaces type\",do_spaces_key:\"Nyckel\",do_spaces_secret:\"L\\xF6senord\",do_spaces_region:\"Region\",do_spaces_bucket:\"Bucket\",do_spaces_endpoint:\"Endpoint\",do_spaces_root:\"S\\xF6kv\\xE4g\",dropbox_type:\"Typ\",dropbox_token:\"Token\",dropbox_key:\"Nyckel\",dropbox_secret:\"L\\xF6senord\",dropbox_app:\"App\",dropbox_root:\"S\\xF6kv\\xE4g\",default_driver:\"Standard\",is_default:\"\\xC4r standard\",set_default_disk:\"V\\xE4lj som standard\",set_default_disk_confirm:\"Denna disk kommer bli standard och alla nya PFDer blir sparade h\\xE4r\",success_set_default_disk:\"Disk vald som standard\",save_pdf_to_disk:\"Spara PDFer till disk\",disk_setting_description:\"Aktivera detta om du vill ha en kopia av varje faktura, kostnadsf\\xF6rslag, och betalningskvitto som PDF p\\xE5 din standard disk automatiskt.Aktiverar du denna funktion s\\xE5 kommer laddtiderna f\\xF6r visning av PDFer minskas.\",select_disk:\"V\\xE4lj Disk\",disk_settings:\"Diskinst\\xE4llningar\",confirm_delete:\"Dina existerande filer och kataloger p\\xE5 den valda disken kommer inte p\\xE5verkas men inst\\xE4llningarna f\\xF6r disken raderas fr\\xE5n Crater\",action:\"Handling\",edit_file_disk:\"\\xC4ndra disk\",success_create:\"Disk skapades\",success_update:\"Disk uppdaterades\",error:\"Fel vid skapande av disk\",deleted_message:\"Disk raderades\",disk_variables_save_successfully:\"Diskinst\\xE4llningar sparades\",disk_variables_save_error:\"N\\xE5got gick fel vid sparning av diskinst\\xE4llningar\",invalid_disk_credentials:\"Felaktiga uppgifter vid val av disk\"},taxations:{add_billing_address:\"Enter Billing Address\",add_shipping_address:\"Enter Shipping Address\",add_company_address:\"Enter Company Address\",modal_description:\"The information below is required in order to fetch sales tax.\",add_address:\"Add Address for fetching sales tax.\",address_placeholder:\"Example: 123, My Street\",city_placeholder:\"Example: Los Angeles\",state_placeholder:\"Example: CA\",zip_placeholder:\"Example: 90024\",invalid_address:\"Please provide valid address details.\"}},Bh={account_info:\"Kontoinformation\",account_info_desc:\"Nedan detaljer anv\\xE4nds f\\xF6r att skapa huvudadministrat\\xF6rskonto. Du kan \\xE4ndra detta i efterhand.\",name:\"Namn\",email:\"Epost\",password:\"L\\xF6senord\",confirm_password:\"Bekr\\xE4fta l\\xF6senord\",save_cont:\"Spara och forts\\xE4tt\",company_info:\"F\\xF6retagsinformation\",company_info_desc:\"Denna information visas p\\xE5 fakturor. Du kan \\xE4ndra detta i efterhand p\\xE5 sidan f\\xF6r inst\\xE4llningar.\",company_name:\"F\\xF6retagsnamn\",company_logo:\"F\\xF6retagslogga\",logo_preview:\"F\\xF6rhandsvisning av logga\",preferences:\"Inst\\xE4llningar\",preferences_desc:\"Standardinst\\xE4llningar f\\xF6r systemet.\",currency_set_alert:\"The company's currency cannot be changed later.\",country:\"Land\",state:\"Kommun\",city:\"Stad\",address:\"Adress\",street:\"Gatuadress1 | Gatuadress2\",phone:\"Telefon\",zip_code:\"Postnr\",go_back:\"Tillbaka\",currency:\"Valuta\",language:\"Spr\\xE5k\",time_zone:\"Tidszon\",fiscal_year:\"R\\xE4kenskaps\\xE5r\",date_format:\"Datumformat\",from_address:\"Fr\\xE5n adress\",username:\"Anv\\xE4ndarnamn\",next:\"N\\xE4sta\",continue:\"Forts\\xE4tt\",skip:\"Hoppa \\xF6ver\",database:{database:\"Sidans URL & Databas\",connection:\"Databasanslutning\",host:\"V\\xE4rdadress till databasen\",port:\"Port till databasen\",password:\"L\\xF6senord till databasen\",app_url:\"Appens URL\",app_domain:\"Appens Dom\\xE4n\",username:\"Anv\\xE4ndarnamn till databasen\",db_name:\"Databasens namn\",db_path:\"Databasens s\\xF6kv\\xE4g\",desc:\"Skapa en database p\\xE5 din server och st\\xE4ll in autentiseringsuppgifter i formul\\xE4ret nedan.\"},permissions:{permissions:\"Beh\\xF6righeter\",permission_confirm_title:\"\\xC4r du s\\xE4ker p\\xE5 att du vill forts\\xE4tta?\",permission_confirm_desc:\"Fel beh\\xF6righeter vid kontroll p\\xE5 katalogen\",permission_desc:\"Nedan \\xE4r en lista p\\xE5 katalogr\\xE4ttigheter som kr\\xE4vs f\\xF6r att denna app ska fungera. Om beh\\xF6righetskontrollen misslyckas, uppdatera beh\\xF6righeterna f\\xF6r katalogerna.\"},verify_domain:{title:\"Domain Verification\",desc:\"Crater uses Session based authentication which requires domain verification for security purposes. Please enter the domain on which you will be accessing your web application.\",app_domain:\"App Domain\",verify_now:\"Verify Now\",success:\"Domain Verify Successfully.\",failed:\"Domain verification failed. Please enter valid domain name.\",verify_and_continue:\"Verify And Continue\"},mail:{host:\"V\\xE4rdadress till epost\",port:\"Port till epost\",driver:\"Typ\",secret:\"Hemlighet\",mailgun_secret:\"Hemlighet\",mailgun_domain:\"Dom\\xE4n\",mailgun_endpoint:\"Endpoint\",ses_secret:\"Hemlighet\",ses_key:\"Nyckel\",password:\"L\\xF6senord\",username:\"Anv\\xE4ndarnamn\",mail_config:\"Epostinst\\xE4llningar\",from_name:\"Namn som st\\xE5r vid utg\\xE5ende epost\",from_mail:\"Epostadress som anv\\xE4nds som returadress vid utg\\xE5ende epost\",encryption:\"Epostkryptering\",mail_config_desc:\"Nedan formul\\xE4r anv\\xE4nds f\\xF6r att konfigurera vilket s\\xE4tt som ska anv\\xE4ndar f\\xF6r att skicka epost. Du kan ocks\\xE5 anv\\xE4nda tredjepartsleverant\\xF6r som Sendgrid, SES o.s.v.\"},req:{system_req:\"Systemkrav\",php_req_version:\"Php (version {version} kr\\xE4vs)\",check_req:\"Kontrollera krav\",system_req_desc:\"Crater har n\\xE5gra krav p\\xE5 din server. Kontrollera att din server har den n\\xF6dv\\xE4ndiga versionen av PHP och alla till\\xE4gg som n\\xE4mns nedan.\"},errors:{migrate_failed:\"Migration misslyckades\",database_variables_save_error:\"Kan inte skriva till .env-filen. Kontrollera dina beh\\xF6righeter till filen\",mail_variables_save_error:\"Epostinst\\xE4llningar misslyckades.\",connection_failed:\"Databasanslutning misslyckades\",database_should_be_empty:\"Databasen m\\xE5ste vara tom\"},success:{mail_variables_save_successfully:\"Epostinst\\xE4llningar sparades.\",database_variables_save_successfully:\"Databasinst\\xE4llningar sparades.\"}},Kh={invalid_phone:\"Felaktigt telefonnummer\",invalid_url:\"Felaktig url (ex: http://www.crater.com)\",invalid_domain_url:\"Felaktig url (ex: crater.com)\",required:\"F\\xE4ltet \\xE4r tvingande\",email_incorrect:\"Felaktig epostadress.\",email_already_taken:\"Denna epostadress finns redan.\",email_does_not_exist:\"Anv\\xE4ndare med den epostadressen finns inte\",item_unit_already_taken:\"Detta artikelenhetsnamn finns redan\",payment_mode_already_taken:\"Betalningsmetodsnamnet finns redan\",send_reset_link:\"Skicka l\\xE4nk f\\xF6r \\xE5terst\\xE4llning\",not_yet:\"Inte \\xE4n? Skicka igen\",password_min_length:\"L\\xF6senordet m\\xE5ste inneh\\xE5lla {count} tecken\",name_min_length:\"Namn m\\xE5ste ha minst {count} bokst\\xE4ver.\",prefix_min_length:\"Prefix must have at least {count} letters.\",enter_valid_tax_rate:\"Skriv in till\\xE5ten momssats\",numbers_only:\"Endast siffror.\",characters_only:\"Endast bokst\\xE4ver.\",password_incorrect:\"L\\xF6senorden m\\xE5ste \\xF6verensst\\xE4mma\",password_length:\"L\\xF6senordet m\\xE5ste vara minst {count} tecken.\",qty_must_greater_than_zero:\"Antal m\\xE5ste vara st\\xF6rre \\xE4n noll.\",price_greater_than_zero:\"Pris m\\xE5ste vara st\\xF6rre \\xE4n noll.\",payment_greater_than_zero:\"Betalningen m\\xE5ste vara st\\xF6rre \\xE4n   noll.\",payment_greater_than_due_amount:\"Inslagen betalning \\xE4r st\\xF6rre \\xE4n summan p\\xE5 denna faktura.\",quantity_maxlength:\"Antal kan inte vara st\\xF6rre \\xE4n 20 siffror.\",price_maxlength:\"Pris kan inte vara st\\xF6rre \\xE4n 20 siffror.\",price_minvalue:\"Pris m\\xE5ste vara st\\xF6rre \\xE4n 0.\",amount_maxlength:\"Belopp kan inte vara st\\xF6rre \\xE4n 20 siffror.\",amount_minvalue:\"Belopp m\\xE5ste vara st\\xF6rre \\xE4n 9.\",discount_maxlength:\"Discount should not be greater than max discount\",description_maxlength:\"Beskrivning f\\xE5r inte inneh\\xE5lla fler \\xE4n 255 tecken.\",subject_maxlength:\"\\xC4mne f\\xE5r inte inneh\\xE5lla fler \\xE4n 100 tecken.\",message_maxlength:\"Meddelande f\\xE5r inte inneh\\xE5lla fler \\xE4n 255 tecken.\",maximum_options_error:\"H\\xF6gst {max} val. Ta bort ett val f\\xF6r att kunna l\\xE4gga till ett annat.\",notes_maxlength:\"Noteringar kan inte vara st\\xF6rre \\xE4n 255 tecken.\",address_maxlength:\"Adress kan inte vara st\\xF6rre \\xE4n 255 tecken.\",ref_number_maxlength:\"Referensnummer kan inte vara st\\xF6rre \\xE4n 255 tecken.\",prefix_maxlength:\"Prefix kan inte vara st\\xF6rre \\xE4n 5 tecken.\",something_went_wrong:\"n\\xE5got blev fel\",number_length_minvalue:\"Number length should be greater than 0\",at_least_one_ability:\"Please select atleast one Permission.\",valid_driver_key:\"Please enter a valid {driver} key.\",valid_exchange_rate:\"Please enter a valid exchange rate.\",company_name_not_same:\"Company name must match with given name.\"},Zh={starter_plan:\"This feature is available on Starter plan and onwards!\",invalid_provider_key:\"Please Enter Valid Provider API Key.\",estimate_number_used:\"The estimate number has already been taken.\",invoice_number_used:\"The invoice number has already been taken.\",payment_attached:\"This invoice already has a payment attached to it. Make sure to delete the attached payments first in order to go ahead with the removal.\",payment_number_used:\"The payment number has already been taken.\",name_already_taken:\"The name has already been taken.\",receipt_does_not_exist:\"Receipt does not exist.\",customer_cannot_be_changed_after_payment_is_added:\"Customer cannot be change after payment is added\",invalid_credentials:\"Invalid  Credentials.\",not_allowed:\"Not Allowed\",login_invalid_credentials:\"These credentials do not match our records.\",enter_valid_cron_format:\"Please enter a valid cron format\",email_could_not_be_sent:\"Email could not be sent to this email address.\",invalid_address:\"Please enter a valid address.\",invalid_key:\"Please enter valid key.\",invalid_state:\"Please enter a valid state.\",invalid_city:\"Please enter a valid city.\",invalid_postal_code:\"Please enter a valid zip.\",invalid_format:\"Please enter valid query string format.\",api_error:\"Server not responding.\",feature_not_enabled:\"Feature not enabled.\",request_limit_met:\"Api request limit exceeded.\",address_incomplete:\"Incomplete Address\"},Wh=\"Kostnadsf\\xF6rslag\",Hh=\"Kostnadsf\\xF6rslagsnummer\",Yh=\"Kostnadsf\\xF6rslagsdatum\",Gh=\"Utg\\xE5ngsdatum\",Jh=\"Faktura\",Qh=\"Fakturanummer\",Xh=\"Fakturadatum\",eb=\"Inbetalningsdatum\",tb=\"Noteringar\",ab=\"Artiklar\",nb=\"Antal\",ib=\"Kostnad\",ob=\"Rabatt\",sb=\"Belopp\",rb=\"Delsumma\",db=\"Summa\",lb=\"Payment\",cb=\"Betalningskvitto\",_b=\"Betalningsdatum\",ub=\"Betalningsnummer\",mb=\"Betalningstyp\",pb=\"Belopp mottaget\",fb=\"Kostnadsrapport\",gb=\"Totalkostnad\",vb=\"Resultat- och f\\xF6rlustrapport\",yb=\"Sales Customer Report\",hb=\"Sales Item Report\",bb=\"Tax Summary Report\",kb=\"Inkomst\",wb=\"Nettof\\xF6rtj\\xE4nst\",zb=\"F\\xF6rs\\xE4ljningsrapport: Per kund\",xb=\"SUMMA F\\xD6RS\\xC4LJNINGAR\",Pb=\"F\\xF6rs\\xE4ljningsrapport: Per artikel\",Sb=\"Momsrapport\",jb=\"SUMMA MOMS\",Ab=\"Momssatser\",Db=\"Utgifter\",Cb=\"Faktureras till,\",Nb=\"Skickas till,\",Eb=\"Fr\\xE5n:\",Ib=\"Tax\";var Tb={navigation:Ph,general:Sh,dashboard:jh,tax_types:Ah,global_search:Dh,company_switcher:Ch,dateRange:Nh,customers:Eh,items:Ih,estimates:Th,invoices:Rh,recurring_invoices:Mh,payments:Fh,expenses:$h,login:Uh,modules:Vh,users:Oh,reports:Lh,settings:qh,wizard:Bh,validation:Kh,errors:Zh,pdf_estimate_label:Wh,pdf_estimate_number:Hh,pdf_estimate_date:Yh,pdf_estimate_expire_date:Gh,pdf_invoice_label:Jh,pdf_invoice_number:Qh,pdf_invoice_date:Xh,pdf_invoice_due_date:eb,pdf_notes:tb,pdf_items_label:ab,pdf_quantity_label:nb,pdf_price_label:ib,pdf_discount_label:ob,pdf_amount_label:sb,pdf_subtotal:rb,pdf_total:db,pdf_payment_label:lb,pdf_payment_receipt_label:cb,pdf_payment_date:_b,pdf_payment_number:ub,pdf_payment_mode:mb,pdf_payment_amount_received_label:pb,pdf_expense_report_label:fb,pdf_total_expenses_label:gb,pdf_profit_loss_label:vb,pdf_sales_customers_label:yb,pdf_sales_items_label:hb,pdf_tax_summery_label:bb,pdf_income_label:kb,pdf_net_profit_label:wb,pdf_customer_sales_report:zb,pdf_total_sales_label:xb,pdf_item_sales_label:Pb,pdf_tax_report_label:Sb,pdf_total_tax_label:jb,pdf_tax_types_label:Ab,pdf_expenses_label:Db,pdf_bill_to:Cb,pdf_ship_to:Nb,pdf_received_from:Eb,pdf_tax_label:Ib};const Rb={dashboard:\"Hlavn\\xFD Panel\",customers:\"Z\\xE1kazn\\xEDci\",items:\"Polo\\u017Eky\",invoices:\"Fakt\\xFAry\",\"recurring-invoices\":\"Recurring Invoices\",expenses:\"V\\xFDdaje\",estimates:\"Cenov\\xE9 odhady\",payments:\"Platby\",reports:\"Reporty\",settings:\"Nastavenia\",logout:\"Odhl\\xE1si\\u0165 sa\",users:\"U\\u017Eivatelia\",modules:\"Modules\"},Mb={add_company:\"Prida\\u0165 firmu\",view_pdf:\"Zobrazi\\u0165 PDF\",copy_pdf_url:\"Kop\\xEDrova\\u0165 PDF adresu\",download_pdf:\"Stiahnu\\u0165 PDF\",save:\"Ulo\\u017Ei\\u0165\",create:\"Vytvori\\u0165\",cancel:\"Zru\\u0161i\\u0165\",update:\"Aktualizova\\u0165\",deselect:\"Zru\\u0161i\\u0165 v\\xFDber\",download:\"Stiahnu\\u0165\",from_date:\"Od d\\xE1tumu\",to_date:\"Do d\\xE1tumu\",from:\"Od\",to:\"Pre\",ok:\"Ok\",yes:\"Yes\",no:\"No\",sort_by:\"Zoradi\\u0165 pod\\u013Ea\",ascending:\"Vzostupne\",descending:\"Zostupne\",subject:\"Predmet\",body:\"Telo textu\",message:\"Spr\\xE1va\",send:\"Odosla\\u0165\",preview:\"Preview\",go_back:\"Sp\\xE4\\u0165\",back_to_login:\"Sp\\xE4\\u0165 na prihl\\xE1senie?\",home:\"Domov\",filter:\"Filtrova\\u0165\",delete:\"Odstr\\xE1ni\\u0165\",edit:\"Upravi\\u0165\",view:\"Zobrazi\\u0165\",add_new_item:\"Prida\\u0165 nov\\xFA polo\\u017Eku\",clear_all:\"Vy\\u010Disti\\u0165 v\\u0161etko\",showing:\"Zobrazuje sa\",of:\"z\",actions:\"Akcie\",subtotal:\"MEDZIS\\xDA\\u010CET\",discount:\"Z\\u013DAVA\",fixed:\"Pevn\\xE9\",percentage:\"Percento\",tax:\"DA\\u0147\",total_amount:\"SUMA SPOLU\",bill_to:\"Faktura\\u010Dn\\xE1 adresa\",ship_to:\"Adresa doru\\u010Denia\",due:\"Term\\xEDn\",draft:\"Koncept\",sent:\"Odoslan\\xE9\",all:\"V\\u0161etko\",select_all:\"Vybra\\u0165 v\\u0161etky\",select_template:\"Select Template\",choose_file:\"Kliknite sem pre vybratie s\\xFAboru\",choose_template:\"Vybra\\u0165 vzh\\u013Ead\",choose:\"Vybra\\u0165\",remove:\"Odstr\\xE1ni\\u0165\",select_a_status:\"Vyberte stav\",select_a_tax:\"Vyberte da\\u0148\",search:\"H\\u013Eada\\u0165\",are_you_sure:\"Ste si ist\\xFD?\",list_is_empty:\"Zoznam je pr\\xE1zdny.\",no_tax_found:\"\\u017Diadna da\\u0148 nebola n\\xE1jden\\xE1!\",four_zero_four:\"404\",you_got_lost:\"Ups! Stratili ste sa!\",go_home:\"\\xCDs\\u0165 domov\",test_mail_conf:\"Otestova\\u0165 e-mailov\\xFA konfigur\\xE1ciu\",send_mail_successfully:\"E-Mail odoslan\\xFD \\xFAspe\\u0161ne\",setting_updated:\"Nastavenia boli \\xFAspe\\u0161ne aktualizovan\\xE9\",select_state:\"Vyberte \\u0161t\\xE1t\",select_country:\"Vyberte krajinu\",select_city:\"Vyberte mesto\",street_1:\"Prv\\xFD riadok ulice\",street_2:\"Druh\\xFD riadok ulice\",action_failed:\"Akcia ne\\xFAspe\\u0161n\\xE1\",retry:\"Sk\\xFAsi\\u0165 znova\",choose_note:\"Vyberte pozn\\xE1mku\",no_note_found:\"Neboli n\\xE1jden\\xE9 \\u017Eiadne pozn\\xE1mky\",insert_note:\"Vlo\\u017E pozn\\xE1mku\",copied_pdf_url_clipboard:\"Copied PDF url to clipboard!\",copied_url_clipboard:\"Copied url to clipboard!\",docs:\"Docs\",do_you_wish_to_continue:\"Do you wish to continue?\",note:\"Note\",pay_invoice:\"Pay Invoice\",login_successfully:\"Logged in successfully!\",logged_out_successfully:\"Logged out successfully\",mark_as_default:\"Mark as default\"},Fb={select_year:\"Vyberte rok\",cards:{due_amount:\"\\u010Ciastka k zaplateniu\",customers:\"Z\\xE1kazn\\xEDci\",invoices:\"Fakt\\xFAry\",estimates:\"Cenov\\xE9 odhady\",payments:\"Payments\"},chart_info:{total_sales:\"Predaje\",total_receipts:\"Doklady o zaplaten\\xED\",total_expense:\"V\\xFDdaje\",net_income:\"\\u010Cist\\xFD pr\\xEDjem\",year:\"Vyberte rok\"},monthly_chart:{title:\"Predaje a V\\xFDdaje\"},recent_invoices_card:{title:\"Splatn\\xE9 fakt\\xFAry\",due_on:\"Term\\xEDn splatenia\",customer:\"Z\\xE1kazn\\xEDk\",amount_due:\"\\u010Ciastka k zaplateniu\",actions:\"Akcie\",view_all:\"Zobrazi\\u0165 v\\u0161etko\"},recent_estimate_card:{title:\"Ned\\xE1vne cenov\\xE9 odhady\",date:\"D\\xE1tum\",customer:\"Z\\xE1kazn\\xEDk\",amount_due:\"Cena\",actions:\"Akcie\",view_all:\"Zobrazi\\u0165 v\\u0161etky\"}},$b={name:\"Meno\",description:\"Popis\",percent:\"Percento\",compound_tax:\"Zlo\\u017Een\\xE1 da\\u0148\"},Ub={search:\"H\\u013Eada\\u0165...\",customers:\"Z\\xE1kazn\\xEDci\",users:\"U\\u017Eivatelia\",no_results_found:\"Neboli n\\xE1jden\\xE9 \\u017Eiadne v\\xFDsledky\"},Vb={label:\"SWITCH COMPANY\",no_results_found:\"No Results Found\",add_new_company:\"Add new company\",new_company:\"New company\",created_message:\"Company created successfully\"},Ob={today:\"Today\",this_week:\"This Week\",this_month:\"This Month\",this_quarter:\"This Quarter\",this_year:\"This Year\",previous_week:\"Previous Week\",previous_month:\"Previous Month\",previous_quarter:\"Previous Quarter\",previous_year:\"Previous Year\",custom:\"Custom\"},Lb={title:\"Z\\xE1kazn\\xEDci\",prefix:\"Prefix\",add_customer:\"Prida\\u0165 Z\\xE1kazn\\xEDka\",contacts_list:\"Zoznam z\\xE1kazn\\xEDkov\",name:\"Meno\",mail:\"E-mail | E-maily\",statement:\"V\\xFDpis\",display_name:\"Zobrazovan\\xE9 meno\",primary_contact_name:\"Meno Prim\\xE1rneho Kontaktu\",contact_name:\"Meno Kontaktu\",amount_due:\"\\u010Ciastka k zaplateniu\",email:\"E-mail\",address:\"Adresa\",phone:\"Telef\\xF3n\",website:\"Webov\\xE9 str\\xE1nky\",overview:\"Preh\\u013Ead\",invoice_prefix:\"Invoice Prefix\",estimate_prefix:\"Estimate Prefix\",payment_prefix:\"Payment Prefix\",enable_portal:\"Aktivova\\u0165 port\\xE1l\",country:\"Krajina\",state:\"\\u0160t\\xE1t\",city:\"Mesto\",zip_code:\"PS\\u010C\",added_on:\"Pridan\\xE9 D\\u0148a\",action:\"Akcia\",password:\"Heslo\",confirm_password:\"Confirm Password\",street_number:\"\\u010C\\xEDslo Ulice\",primary_currency:\"Hlavn\\xE1 Mena\",description:\"Popis\",add_new_customer:\"Prida\\u0165 Nov\\xE9ho Z\\xE1kazn\\xEDka\",save_customer:\"Ulo\\u017Ei\\u0165 Z\\xE1kazn\\xEDka\",update_customer:\"Aktualizova\\u0165 Zak\\xE1zn\\xEDka\",customer:\"Z\\xE1kazn\\xEDk | Z\\xE1kazn\\xEDci\",new_customer:\"Nov\\xFD Z\\xE1kazn\\xEDk\",edit_customer:\"Upravi\\u0165 Z\\xE1kazn\\xEDka\",basic_info:\"Z\\xE1kladn\\xE9 Inform\\xE1cie\",portal_access:\"Portal Access\",portal_access_text:\"Would you like to allow this customer to login to the Customer Portal?\",portal_access_url:\"Customer Portal Login URL\",portal_access_url_help:\"Please copy & forward the above given URL to your customer for providing access.\",billing_address:\"Faktura\\u010Dn\\xE1 Adresa\",shipping_address:\"Doru\\u010Dovacia Adresa\",copy_billing_address:\"Kop\\xEDrova\\u0165 pod\\u013Ea Faktura\\u010Dnej adresy\",no_customers:\"Zatia\\u013E nebol pridan\\xFD \\u017Eiadny z\\xE1kazn\\xEDk!\",no_customers_found:\"Nen\\xE1jden\\xED \\u017Eiadni z\\xE1kazn\\xEDci!\",no_contact:\"No contact\",no_contact_name:\"No contact name\",list_of_customers:\"T\\xE1to sekcia bude obsahova\\u0165 zoznam z\\xE1kazn\\xEDkov.\",primary_display_name:\"Hlavn\\xE9 meno pre zobrazenie\",select_currency:\"Vyberte menu\",select_a_customer:\"Vyberte z\\xE1kazn\\xEDka\",type_or_click:\"Za\\u010Dnite p\\xEDsa\\u0165 alebo kliknite pre vybratie\",new_transaction:\"Nov\\xE1 Transakcia\",no_matching_customers:\"Nena\\u0161li sa \\u017Eiadny z\\xE1kazn\\xEDci sp\\u013A\\u0148aj\\xFAce Va\\u0161e podmienky!\",phone_number:\"Telef\\xF3nne \\u010C\\xEDslo\",create_date:\"D\\xE1tum Vytvorenia\",confirm_delete:\"Nebudete m\\xF4c\\u0165 obnovi\\u0165 tohto z\\xE1kazn\\xEDka ani \\u017Eiadne fakt\\xFAry, cenov\\xE9 odhady alebo platby s n\\xEDm spojen\\xE9. | Nebudete m\\xF4c\\u0165 obnovi\\u0165 t\\xFDchto z\\xE1kazn\\xEDkov ani \\u017Eiadne fakt\\xFAry, cenov\\xE9 odhady alebo platby s nimi spojen\\xE9.\",created_message:\"Z\\xE1kazn\\xEDk \\xFAspe\\u0161ne vytvoren\\xFD\",updated_message:\"Z\\xE1kazn\\xEDk \\xFAspe\\u0161ne aktualizovan\\xFD\",address_updated_message:\"Address Information Updated succesfully\",deleted_message:\"Z\\xE1kazn\\xEDk \\xFAspe\\u0161ne odstr\\xE1nen\\xFD | Z\\xE1kazn\\xEDci \\xFAspe\\u0161ne odstr\\xE1nen\\xED\",edit_currency_not_allowed:\"Cannot change currency once transactions created.\"},qb={title:\"Polo\\u017Eky\",items_list:\"Zoznam Polo\\u017Eiek\",name:\"Meno\",unit:\"Jednotka\",description:\"Popis\",added_on:\"Pridan\\xE9 D\\u0148a\",price:\"Cena\",date_of_creation:\"D\\xE1tum Vytvorenia\",not_selected:\"No item selected\",action:\"Akcia\",add_item:\"Prida\\u0165 Polo\\u017Eku\",save_item:\"Ulo\\u017Ei\\u0165 Polo\\u017Eku\",update_item:\"Aktualizova\\u0165 Polo\\u017Eku\",item:\"Polo\\u017Eka | Polo\\u017Eky\",add_new_item:\"Prida\\u0165 Nov\\xFA Polo\\u017Eku\",new_item:\"Nov\\xE1 polo\\u017Eka\",edit_item:\"Upravi\\u0165 Polo\\u017Eku\",no_items:\"Zatia\\u013E \\u017Eiadn\\xE9 polo\\u017Eky!\",list_of_items:\"T\\xE1to sekcia bude obsahova\\u0165 zoznam z\\xE1kazn\\xEDkov.\",select_a_unit:\"vyberte jednotku\",taxes:\"Dane\",item_attached_message:\"Nie je mo\\u017En\\xE9 vymaza\\u0165 polo\\u017Eku, ktor\\xE1 sa pou\\u017E\\xEDva\",confirm_delete:\"Nebudete m\\xF4c\\u0165 obnovi\\u0165 t\\xFAto Polo\\u017Eku | Nebudete m\\xF4c\\u0165 obnovi\\u0165 tieto Polo\\u017Eky\",created_message:\"Polo\\u017Eka \\xFAspe\\u0161ne vytvoren\\xE1\",updated_message:\"Polo\\u017Eka \\xFAspe\\u0161ne aktualizovan\\xE1\",deleted_message:\"Polo\\u017Eka \\xFAspe\\u0161ne odstr\\xE1nen\\xE1 | Polo\\u017Eky \\xFAspe\\u0161ne odstr\\xE1nen\\xE9\"},Bb={title:\"Cenov\\xE9 odhady\",accept_estimate:\"Accept Estimate\",reject_estimate:\"Reject Estimate\",estimate:\"Cenov\\xFD odhad | Cenov\\xE9 odhady\",estimates_list:\"Zoznam Cenov\\xFDch odhadov\",days:\"{days} Dn\\xED\",months:\"{months} Mesiac\",years:\"{years} Rok\",all:\"V\\u0161etko\",paid:\"Zaplaten\\xE9\",unpaid:\"Nezaplaten\\xE9\",customer:\"Z\\xC1KAZN\\xCDK\",ref_no:\"REF \\u010C.\",number:\"\\u010C\\xCDSLO\",amount_due:\"Dl\\u017En\\xE1 suma\",partially_paid:\"\\u010Ciasto\\u010Dne Zaplaten\\xE9\",total:\"Spolu\",discount:\"Z\\u013Eava\",sub_total:\"Medzis\\xFA\\u010Det\",estimate_number:\"\\u010C\\xEDslo Cenov\\xE9ho odhadu\",ref_number:\"Ref. \\u010C\\xEDslo\",contact:\"Kontakt\",add_item:\"Prida\\u0165 Polo\\u017Eku\",date:\"D\\xE1tum\",due_date:\"D\\xE1tum Splatnosti\",expiry_date:\"D\\xE1tum Ukon\\u010Denia Platnosti\",status:\"Stav\",add_tax:\"Prida\\u0165 Da\\u0148\",amount:\"Suma\",action:\"Akcia\",notes:\"Pozn\\xE1mky\",tax:\"Da\\u0148\",estimate_template:\"Vzh\\u013Ead\",convert_to_invoice:\"Konvertova\\u0165 do Fakt\\xFAry\",mark_as_sent:\"Ozna\\u010Di\\u0165 ako odoslan\\xE9\",send_estimate:\"Odosla\\u0165 Cenov\\xFD odhad\",resend_estimate:\"Znovu Odosla\\u0165 Cenov\\xFD odhad\",record_payment:\"Zaznamena\\u0165 Platbu\",add_estimate:\"Vytvori\\u0165 Cenov\\xFD odhad\",save_estimate:\"Ulo\\u017Ei\\u0165 Cenov\\xFD odhad\",confirm_conversion:\"Tento cenov\\xFD odhad bude pou\\u017Eit\\xFD k vytvoreniu novej Fakt\\xFAry.\",conversion_message:\"Fakt\\xFAra \\xFAspe\\u0161ne vytvoren\\xE1\",confirm_send_estimate:\"Tento Cenov\\xFD odhad bude odoslan\\xFD z\\xE1kazn\\xEDkovi prostredn\\xEDctvom e-mailu\",confirm_mark_as_sent:\"Tento Cenov\\xFD odhad bude ozna\\u010Den\\xFD ako odoslan\\xFD\",confirm_mark_as_accepted:\"Tento Cenov\\xFD odhad bude ozna\\u010Den\\xFD ako Prijat\\xFD\",confirm_mark_as_rejected:\"Tento Cenov\\xFD odhad bude ozna\\u010Den\\xFD ako Odmietnut\\xFD\",no_matching_estimates:\"Nena\\u0161li sa \\u017Eiadne Cenov\\xE9 odhady sp\\u013A\\u0148aj\\xFAce Va\\u0161e podmienky!\",mark_as_sent_successfully:\"Cenov\\xFD odhad \\xFAspe\\u0161ne ozna\\u010Den\\xFD ako odoslan\\xFD\",send_estimate_successfully:\"Cenov\\xFD odhad \\xFAspe\\u0161ne odoslan\\xFD\",errors:{required:\"Pole je povinn\\xE9\"},accepted:\"Prij\\xE1t\\xE1\",rejected:\"Rejected\",expired:\"Expired\",sent:\"Odoslan\\xE1\",draft:\"Koncept\",viewed:\"Viewed\",declined:\"Zru\\u0161en\\xFD\",new_estimate:\"Nov\\xFD Cenov\\xFD odhad\",add_new_estimate:\"Prida\\u0165 nov\\xFD Cenov\\xFD odhad\",update_Estimate:\"Aktualizova\\u0165 Cenov\\xFD odhad\",edit_estimate:\"Upravi\\u0165 Cenov\\xFD odhad\",items:\"polo\\u017Eky\",Estimate:\"Cenov\\xFD odhad | Cenov\\xE9 odhady\",add_new_tax:\"Prida\\u0165 Nov\\xFA Da\\u0148\",no_estimates:\"Zatia\\u013E \\u017Eiadne cenov\\xE9 odhady\",list_of_estimates:\"T\\xE1to sekcia bude obsahova\\u0165 zoznam cenov\\xFDch odhadov.\",mark_as_rejected:\"Ozna\\u010Di\\u0165 ako odmietnut\\xFA\",mark_as_accepted:\"Ozna\\u010Den\\xFD ako prijat\\xFA\",marked_as_accepted_message:\"Cenov\\xFD odhad ozna\\u010Den\\xFD ako schv\\xE1len\\xFD\",marked_as_rejected_message:\"Cenov\\xFD odhad ozna\\u010Den\\xFD ako odmietnut\\xFD\",confirm_delete:\"Nebude mo\\u017En\\xE9 obnovi\\u0165 cenov\\xFD odhad | Nebude mo\\u017En\\xE9 obnovi\\u0165 cenov\\xE9 odhady\",created_message:\"Cenov\\xFD odhad \\xFAspe\\u0161n\\xE9 vytvoren\\xFD\",updated_message:\"Cenov\\xFD odhad \\xFAspe\\u0161n\\xE9 aktualizovan\\xFD\",deleted_message:\"Cenov\\xFD odhad \\xFAspe\\u0161n\\xE9 vymazan\\xFD | Cenov\\xE9 odhady \\xFAspe\\u0161n\\xE9 vymazan\\xE9\",something_went_wrong:\"Nie\\u010Do neprebehlo v poriadku, odsk\\xFA\\u0161ajte pros\\xEDm znova.\",item:{title:\"N\\xE1zov Polo\\u017Eky\",description:\"Popis\",quantity:\"Mno\\u017Estvo\",price:\"Cena\",discount:\"Z\\u013Eava\",total:\"Celkom\",total_discount:\"Celkov\\xE1 z\\u013Eava\",sub_total:\"Medzis\\xFA\\u010Det\",tax:\"Da\\u0148\",amount:\"Suma\",select_an_item:\"Za\\u010Dnite p\\xEDsa\\u0165 alebo kliknite pre vybratie polo\\u017Eky\",type_item_description:\"Zadajte Popis Polo\\u017Eky (volite\\u013En\\xE9)\"},mark_as_default_estimate_template_description:\"If enabled, the selected template will be automatically selected for new estimates.\"},Kb={title:\"Fakt\\xFAry\",download:\"Download\",pay_invoice:\"Pay Invoice\",invoices_list:\"Zoznam Fakt\\xFAr\",invoice_information:\"Invoice Information\",days:\"{days} \\u010Ee\\u0148\",months:\"{months} Mesiac\",years:\"{years} Rok\",all:\"V\\u0161etko\",paid:\"Zaplaten\\xE9\",unpaid:\"Nezaplaten\\xE9\",viewed:\"Viewed\",overdue:\"Overdue\",completed:\"Completed\",customer:\"Z\\xC1KAZN\\xCDK\",paid_status:\"Stav platby\",ref_no:\"REF \\u010C.\",number:\"\\u010C\\xCDSLO\",amount_due:\"Dl\\u017En\\xE1 suma\",partially_paid:\"\\u010Ciasto\\u010Dne Zaplaten\\xE9\",total:\"Spolu\",discount:\"Z\\u013Eava\",sub_total:\"Medzis\\xFA\\u010Det\",invoice:\"Fakt\\xFAra | Fakt\\xFAry\",invoice_number:\"\\u010C\\xEDslo Fakt\\xFAry\",ref_number:\"Ref. \\u010C\\xEDslo\",contact:\"Kontakt\",add_item:\"Prida\\u0165 Polo\\u017Eku\",date:\"D\\xE1tum\",due_date:\"D\\xE1tum Splatnosti\",status:\"Stav\",add_tax:\"Prida\\u0165 Da\\u0148\",amount:\"Suma\",action:\"Akcia\",notes:\"Pozn\\xE1mky\",view:\"Zobrazi\\u0165\",send_invoice:\"Odosla\\u0165 Fakt\\xFAru\",resend_invoice:\"Odosla\\u0165 Fakt\\xFAru Znovu\",invoice_template:\"Vzh\\u013Ead fakt\\xFAry\",conversion_message:\"Invoice cloned successful\",template:\"Vzh\\u013Ead\",mark_as_sent:\"Ozna\\u010Di\\u0165 ako odoslan\\xFA\",confirm_send_invoice:\"T\\xE1to fakt\\xFAra bude odoslan\\xE1 z\\xE1kazn\\xEDkovi prostredn\\xEDctvom e-mailu\",invoice_mark_as_sent:\"T\\xE1to fakt\\xFAra bude ozna\\u010Den\\xE1 ako odoslan\\xE1\",confirm_mark_as_accepted:\"This invoice will be marked as Accepted\",confirm_mark_as_rejected:\"This invoice will be marked as Rejected\",confirm_send:\"T\\xE1to fakt\\xFAra bude odoslan\\xE1 z\\xE1kazn\\xEDkovi prostredn\\xEDctvom e-mailu\",invoice_date:\"D\\xE1tum Vystavenia\",record_payment:\"Zaznamena\\u0165 Platbu\",add_new_invoice:\"Nov\\xE1 Fakt\\xFAra\",update_expense:\"Update Expense\",edit_invoice:\"Upravi\\u0165 Fakt\\xFAru\",new_invoice:\"Nov\\xE1 Fakt\\xFAra\",save_invoice:\"Ulo\\u017Ei\\u0165 Fakt\\xFAru\",update_invoice:\"Upravi\\u0165 Fakt\\xFAru\",add_new_tax:\"Prida\\u0165 Nov\\xFA Da\\u0148\",no_invoices:\"Zatia\\u013E nem\\xE1te \\u017Eiadn\\xE9 fakt\\xFAry!\",mark_as_rejected:\"Mark as rejected\",mark_as_accepted:\"Mark as accepted\",list_of_invoices:\"T\\xE1to sekcia bude obsahova\\u0165 zoznam fakt\\xFAr\",select_invoice:\"Vybra\\u0165 Fakt\\xFAru\",no_matching_invoices:\"Nena\\u0161li sa \\u017Eiadne fakt\\xFAry!\",mark_as_sent_successfully:\"Fakt\\xFAra ozna\\u010Den\\xE1 ako \\xFAspe\\u0161ne odoslan\\xE1\",invoice_sent_successfully:\"Invoice sent successfully\",cloned_successfully:\"Fakt\\xFAra bola \\xFAspe\\u0161ne okop\\xEDrovan\\xE1\",clone_invoice:\"Kop\\xEDrova\\u0165 fakt\\xFAru\",confirm_clone:\"Fakt\\xFAra bude okop\\xEDrovan\\xE1 do novej\",item:{title:\"N\\xE1zov polo\\u017Eky\",description:\"Popis\",quantity:\"Mno\\u017Estvo\",price:\"Cena\",discount:\"Z\\u013Eava\",total:\"Celkom\",total_discount:\"Celkov\\xE1 z\\u013Eava\",sub_total:\"Medzis\\xFA\\u010Det\",tax:\"Da\\u0148\",amount:\"\\u010Ciastka\",select_an_item:\"Nap\\xED\\u0161te alebo vyberte polo\\u017Eku\",type_item_description:\"Popis polo\\u017Eky (volite\\u013En\\xE9)\"},payment_attached_message:\"K jednej z vybran\\xFDch fakt\\xFAr u\\u017E je pripojen\\xE1 platba. Nezabudnite najsk\\xF4r vymaza\\u0165 prilo\\u017Een\\xE9 platby, aby ste mohli pokra\\u010Dova\\u0165 v odstr\\xE1nen\\xED\",confirm_delete:\"T\\xFAto fakt\\xFAru nebude mo\\u017En\\xE9 obnovi\\u0165 | Tieto fakt\\xFAry nebude mo\\u017En\\xE9 obnovi\\u0165\",created_message:\"Fakt\\xFAra \\xFAspe\\u0161ne vytvoren\\xE1\",updated_message:\"Fakt\\xFAra \\xFAspe\\u0161ne aktualizovan\\xE1\",deleted_message:\"Fakt\\xFAra \\xFAspe\\u0161ne vymazan\\xE1 | Fakt\\xFAry \\xFAspe\\u0161ne vymazan\\xE9\",marked_as_sent_message:\"Fakt\\xFAra \\xFAspe\\u0161ne ozna\\u010Den\\xE1 ako odoslan\\xE1\",something_went_wrong:\"Nie\\u010Do neprebehlo v poriadku, odsk\\xFA\\u0161ajte pros\\xEDm znova.\",invalid_due_amount_message:\"Celkov\\xE1 suma fakt\\xFAry nem\\xF4\\u017Ee by\\u0165 ni\\u017E\\u0161ia ako celkov\\xE1 suma zaplaten\\xE1 za t\\xFAto fakt\\xFAru. Ak chcete pokra\\u010Dova\\u0165, aktualizujte fakt\\xFAru alebo odstr\\xE1\\u0148te s\\xFAvisiace platby.\",mark_as_default_invoice_template_description:\"If enabled, the selected template will be automatically selected for new invoices.\"},Zb={title:\"Recurring Invoices\",invoices_list:\"Recurring Invoices List\",days:\"{days} Days\",months:\"{months} Month\",years:\"{years} Year\",all:\"All\",paid:\"Paid\",unpaid:\"Unpaid\",viewed:\"Viewed\",overdue:\"Overdue\",active:\"Active\",completed:\"Completed\",customer:\"CUSTOMER\",paid_status:\"PAID STATUS\",ref_no:\"REF NO.\",number:\"NUMBER\",amount_due:\"AMOUNT DUE\",partially_paid:\"Partially Paid\",total:\"Total\",discount:\"Discount\",sub_total:\"Sub Total\",invoice:\"Recurring Invoice | Recurring Invoices\",invoice_number:\"Recurring Invoice Number\",next_invoice_date:\"Next Invoice Date\",ref_number:\"Ref Number\",contact:\"Contact\",add_item:\"Add an Item\",date:\"Date\",limit_by:\"Limit by\",limit_date:\"Limit Date\",limit_count:\"Limit Count\",count:\"Count\",status:\"Status\",select_a_status:\"Select a status\",working:\"Working\",on_hold:\"On Hold\",complete:\"Completed\",add_tax:\"Add Tax\",amount:\"Amount\",action:\"Action\",notes:\"Notes\",view:\"View\",basic_info:\"Basic Info\",send_invoice:\"Send Recurring Invoice\",auto_send:\"Auto Send\",resend_invoice:\"Resend Recurring Invoice\",invoice_template:\"Recurring Invoice Template\",conversion_message:\"Recurring Invoice cloned successful\",template:\"Template\",mark_as_sent:\"Mark as sent\",confirm_send_invoice:\"This recurring invoice will be sent via email to the customer\",invoice_mark_as_sent:\"This recurring invoice will be marked as sent\",confirm_send:\"This recurring invoice will be sent via email to the customer\",starts_at:\"Start Date\",due_date:\"Invoice Due Date\",record_payment:\"Record Payment\",add_new_invoice:\"Add New Recurring Invoice\",update_expense:\"Update Expense\",edit_invoice:\"Edit Recurring Invoice\",new_invoice:\"New Recurring Invoice\",send_automatically:\"Send Automatically\",send_automatically_desc:\"Enable this, if you would like to send the invoice automatically to the customer when its created.\",save_invoice:\"Save Recurring Invoice\",update_invoice:\"Update Recurring Invoice\",add_new_tax:\"Add New Tax\",no_invoices:\"No Recurring Invoices yet!\",mark_as_rejected:\"Mark as rejected\",mark_as_accepted:\"Mark as accepted\",list_of_invoices:\"This section will contain the list of recurring invoices.\",select_invoice:\"Select Invoice\",no_matching_invoices:\"There are no matching recurring invoices!\",mark_as_sent_successfully:\"Recurring Invoice marked as sent successfully\",invoice_sent_successfully:\"Recurring Invoice sent successfully\",cloned_successfully:\"Recurring Invoice cloned successfully\",clone_invoice:\"Clone Recurring Invoice\",confirm_clone:\"This recurring invoice will be cloned into a new Recurring Invoice\",add_customer_email:\"Please add an email address for this customer to send invoices automatically.\",item:{title:\"Item Title\",description:\"Description\",quantity:\"Quantity\",price:\"Price\",discount:\"Discount\",total:\"Total\",total_discount:\"Total Discount\",sub_total:\"Sub Total\",tax:\"Tax\",amount:\"Amount\",select_an_item:\"Type or click to select an item\",type_item_description:\"Type Item Description (optional)\"},frequency:{title:\"Frequency\",select_frequency:\"Select Frequency\",minute:\"Minute\",hour:\"Hour\",day_month:\"Day of month\",month:\"Month\",day_week:\"Day of week\"},confirm_delete:\"You will not be able to recover this Invoice | You will not be able to recover these Invoices\",created_message:\"Recurring Invoice created successfully\",updated_message:\"Recurring Invoice updated successfully\",deleted_message:\"Recurring Invoice deleted successfully | Recurring Invoices deleted successfully\",marked_as_sent_message:\"Recurring Invoice marked as sent successfully\",user_email_does_not_exist:\"User email does not exist\",something_went_wrong:\"something went wrong\",invalid_due_amount_message:\"Total Recurring Invoice amount cannot be less than total paid amount for this Recurring Invoice. Please update the invoice or delete the associated payments to continue.\"},Wb={title:\"Platby\",payments_list:\"Zoznam Platieb\",record_payment:\"Zaznamena\\u0165 Platbu\",customer:\"Z\\xE1kazn\\xEDk\",date:\"D\\xE1tum\",amount:\"Suma\",action:\"Akcia\",payment_number:\"\\u010C\\xEDslo Platby\",payment_mode:\"Sp\\xF4sob Platby\",invoice:\"Fakt\\xFAra\",note:\"Pozn\\xE1mka\",add_payment:\"Prida\\u0165 Platbu\",new_payment:\"Nov\\xE1 Platba\",edit_payment:\"\\xDApravi\\u0165 Platbu\",view_payment:\"Zobrazi\\u0165 Platbu\",add_new_payment:\"Nov\\xE1 Platba\",send_payment_receipt:\"Posla\\u0165 Doklad o Zaplaten\\xED\",send_payment:\"Odosla\\u0165 Platbu\",save_payment:\"Ulo\\u017Ei\\u0165 Platbu\",update_payment:\"\\xDApravi\\u0165 Platbu\",payment:\"Platba | Platby\",no_payments:\"Zatia\\u013E nem\\xE1te \\u017Eiadne platby!\",not_selected:\"Not selected\",no_invoice:\"No invoice\",no_matching_payments:\"Nena\\u0161li sa \\u017Eiadne platby sp\\u013A\\u0148aj\\xFAce Va\\u0161e podmienky!\",list_of_payments:\"T\\xE1to sekcia bude obsahova\\u0165 zoznam platieb.\",select_payment_mode:\"Vyberte sp\\xF4sob platby\",confirm_mark_as_sent:\"Tento cenov\\xFD odhad bude ozna\\u010Den\\xFD ako odoslan\\xFD\",confirm_send_payment:\"Tento cenov\\xFD odhad bude odoslan\\xFD z\\xE1kazn\\xEDkovi prostredn\\xEDctvom e-mailu\",send_payment_successfully:\"Platba \\xFAspe\\u0161ne odoslan\\xE1\",something_went_wrong:\"Nie\\u010Do neprebehlo v poriadku, odsk\\xFA\\u0161ajte pros\\xEDm znova.\",confirm_delete:\"Nebudete m\\xF4c\\u0165 obnovi\\u0165 t\\xFAto Platbu | Nebudete m\\xF4c\\u0165 obnovi\\u0165 tieto Platby\",created_message:\"Platba \\xFAspe\\u0161ne vytvoren\\xE1\",updated_message:\"Platba \\xFAspe\\u0161ne upravena\",deleted_message:\"Platba \\xFAspe\\u0161ne odstr\\xE1nen\\xE1 | Platby \\xFAspe\\u0161ne odstr\\xE1nen\\xE9\",invalid_amount_message:\"Suma platby nie je spr\\xE1vna\"},Hb={title:\"V\\xFDdaje\",expenses_list:\"Zoznam V\\xFDdajov\",select_a_customer:\"Vyberte z\\xE1kazn\\xEDka\",expense_title:\"Nadpis\",customer:\"Z\\xE1kazn\\xEDk\",currency:\"Currency\",contact:\"Kontakt\",category:\"Kateg\\xF3ria\",from_date:\"Od d\\xE1tumu\",to_date:\"Do d\\xE1tumu\",expense_date:\"D\\xE1tum\",description:\"Popis\",receipt:\"Doklad o zaplaten\\xED\",amount:\"Suma\",action:\"Akcia\",not_selected:\"Not selected\",note:\"Pozn\\xE1mka\",category_id:\"ID kateg\\xF3rie\",date:\"D\\xE1tum\",add_expense:\"Prida\\u0165 V\\xFDdaj\",add_new_expense:\"Prida\\u0165 Nov\\xFD V\\xFDdaj\",save_expense:\"Ulo\\u017Ei\\u0165 V\\xFDdaj\",update_expense:\"Aktualizova\\u0165 V\\xFDdaj\",download_receipt:\"Stiahnu\\u0165 doklad o zaplaten\\xED\",edit_expense:\"Upravi\\u0165 V\\xFDdaj\",new_expense:\"Nov\\xFD V\\xFDdaj\",expense:\"V\\xFDdaj | V\\xFDdaje\",no_expenses:\"Zatia\\u013E nem\\xE1te \\u017Eiadne v\\xFDdaje!\",list_of_expenses:\"T\\xE1to sekcia bude obsahova\\u0165 zoznam v\\xFDdajov.\",confirm_delete:\"Nebudete m\\xF4c\\u0165 obnovi\\u0165 tento V\\xFDdaj | Nebudete m\\xF4c\\u0165 obnovi\\u0165 tieto V\\xFDdaje\",created_message:\"V\\xFDdaj \\xFAspe\\u0161ne vytvoren\\xFD\",updated_message:\"V\\xFDdaj \\xFAspe\\u0161ne aktualizovan\\xFD\",deleted_message:\"V\\xFDdaj \\xFAspe\\u0161ne odstr\\xE1nen\\xFD | V\\xFDdaje \\xFAspe\\u0161ne odstr\\xE1nen\\xE9\",categories:{categories_list:\"Zoznam kateg\\xF3ri\\xED\",title:\"Nadpis\",name:\"N\\xE1zov\",description:\"Popis\",amount:\"Suma\",actions:\"Akcie\",add_category:\"Prida\\u0165 Kateg\\xF3riu\",new_category:\"Nov\\xE1 Kateg\\xF3ria\",category:\"Kateg\\xF3ria | Kateg\\xF3rie\",select_a_category:\"Vyberte kateg\\xF3riu\"}},Yb={email:\"E-mail\",password:\"Heslo\",forgot_password:\"Zabudol som heslo\",or_signIn_with:\"alebo sa prihl\\xE1si\\u0165 pomocou\",login:\"Prihl\\xE1si\\u0165 sa\",register:\"Registrova\\u0165 sa\",reset_password:\"Obnovi\\u0165 heslo\",password_reset_successfully:\"Heslo \\xDAspe\\u0161ne Obnoven\\xE9\",enter_email:\"Zadajte e-mail\",enter_password:\"Zadajte heslo\",retype_password:\"Znova zadajte heslo\"},Gb={buy_now:\"Buy Now\",install:\"Install\",price:\"Price\",download_zip_file:\"Download ZIP file\",unzipping_package:\"Unzipping Package\",copying_files:\"Copying Files\",deleting_files:\"Deleting Unused files\",completing_installation:\"Completing Installation\",update_failed:\"Update Failed\",install_success:\"Module has been installed successfully!\",customer_reviews:\"Reviews\",license:\"License\",faq:\"FAQ\",monthly:\"Monthly\",yearly:\"Yearly\",updated:\"Updated\",version:\"Version\",disable:\"Disable\",module_disabled:\"Module Disabled\",enable:\"Enable\",module_enabled:\"Module Enabled\",update_to:\"Update To\",module_updated:\"Module Updated Successfully!\",title:\"Modules\",module:\"Module | Modules\",api_token:\"API token\",invalid_api_token:\"Invalid API Token.\",other_modules:\"Other Modules\",view_all:\"View All\",no_reviews_found:\"There are no reviews for this module yet!\",module_not_purchased:\"Module Not Purchased\",module_not_found:\"Module Not Found\",version_not_supported:\"This module version doesn't support the current version of Crater\",last_updated:\"Last Updated On\",connect_installation:\"Connect your installation\",api_token_description:\"Login to {url} and connect this installation by entering the API Token. Your purchased modules will show up here after the connection is established.\",view_module:\"View Module\",update_available:\"Update Available\",purchased:\"Purchased\",installed:\"Installed\",no_modules_installed:\"No Modules Installed Yet!\",disable_warning:\"All the settings for this particular will be reverted.\",what_you_get:\"What you get\"},Jb={title:\"U\\u017Eivatelia\",users_list:\"Zoznam U\\u017E\\xEDvate\\u013Eov\",name:\"Meno\",description:\"Popis\",added_on:\"Pridan\\xE9 D\\u0148a\",date_of_creation:\"D\\xE1tum Vytvorenia\",action:\"Akcia\",add_user:\"Prida\\u0165 pou\\u017E\\xEDvate\\u013Ea\",save_user:\"Ulo\\u017Ei\\u0165 pou\\u017E\\xEDvate\\u013Ea\",update_user:\"Aktualizova\\u0165 pou\\u017E\\xEDvate\\u013Ea\",user:\"U\\u017E\\xEDvate\\u013E | U\\u017E\\xEDvatelia\",add_new_user:\"Prida\\u0165 Nov\\xE9ho U\\u017E\\xEDvate\\u013Ea\",new_user:\"Nov\\xFD u\\u017E\\xEDvate\\u013E\",edit_user:\"Upravi\\u0165 U\\u017E\\xEDvate\\u013Ea\",no_users:\"Zatia\\u013E nebol pridan\\xFD \\u017Eiadny u\\u017E\\xEDvate\\u013E!\",list_of_users:\"T\\xE1to sekcia bude obsahova\\u0165 zoznam u\\u017E\\xEDvate\\u013Eov.\",email:\"E-mail\",phone:\"Telef\\xF3n\",password:\"Heslo\",user_attached_message:\"Nie je mo\\u017En\\xE9 vymaza\\u0165 akt\\xEDvneho u\\u017E\\xEDvate\\u013Ea\",confirm_delete:\"Nebude mo\\u017En\\xE9 obnovi\\u0165 tohto pou\\u017E\\xEDvate\\u013Ea | Nebude mo\\u017En\\xE9 obnovi\\u0165 t\\xFDchto pou\\u017E\\xEDvate\\u013Eov\",created_message:\"U\\u017E\\xEDvate\\u013E \\xFAspe\\u0161ne vytvoren\\xFD\",updated_message:\"U\\u017E\\xEDvate\\u013E \\xFAspe\\u0161ne aktualizovan\\xE1\",deleted_message:\"U\\u017E\\xEDvate\\u013E \\xFAspe\\u0161ne odstr\\xE1nen\\xFD | U\\u017E\\xEDvatelia \\xFAspe\\u0161ne odstr\\xE1nen\\xED\",select_company_role:\"Select Role for {company}\",companies:\"Companies\"},Qb={title:\"Reporty\",from_date:\"Od d\\xE1tumu\",to_date:\"Do d\\xE1tumu\",status:\"Stav\",paid:\"Zaplaten\\xE1\",unpaid:\"Nezaplaten\\xE1\",download_pdf:\"Stiahnu\\u0165 PDF\",view_pdf:\"Zobrazi\\u0165 PDF\",update_report:\"Aktualizova\\u0165 Report\",report:\"Report | Reporty\",profit_loss:{profit_loss:\"Ziskt a Straty\",to_date:\"Do d\\xE1tumu\",from_date:\"Od d\\xE1tumu\",date_range:\"Vybra\\u0165 rozsah d\\xE1tumu\"},sales:{sales:\"Predaje\",date_range:\"Vybra\\u0165 rozsah d\\xE1tumu\",to_date:\"Do d\\xE1tumu\",from_date:\"Od d\\xE1tumu\",report_type:\"Typ Reportu\"},taxes:{taxes:\"Dane\",to_date:\"Do d\\xE1tumu\",from_date:\"Od d\\xE1tumu\",date_range:\"Vybra\\u0165 Rozsah D\\xE1tumu\"},errors:{required:\"Pole je povinn\\xE9\"},invoices:{invoice:\"Fakt\\xFAra\",invoice_date:\"D\\xE1tum Vystavenia\",due_date:\"D\\xE1tum Splatnosti\",amount:\"Suma\",contact_name:\"Kontaktn\\xE1 Osoba\",status:\"Stav\"},estimates:{estimate:\"Cenov\\xFD odhad\",estimate_date:\"D\\xE1tum cenov\\xE9ho odhadu\",due_date:\"D\\xE1tum platnosti cenov\\xE9ho odhadu\",estimate_number:\"\\u010C\\xEDslo cenov\\xE9ho odhadu\",ref_number:\"Ref. \\u010C\\xEDslo\",amount:\"Suma\",contact_name:\"Kontaktn\\xE1 Osoba\",status:\"Stav\"},expenses:{expenses:\"V\\xFDdaje\",category:\"Kateg\\xF3ria\",date:\"D\\xE1tum\",amount:\"Suma\",to_date:\"Do d\\xE1tumu\",from_date:\"Od d\\xE1tumu\",date_range:\"Vybra\\u0165 Rozsah D\\xE1tumu\"}},Xb={menu_title:{account_settings:\"Nastavenia \\xFA\\u010Dtu\",company_information:\"Inform\\xE1cie o Firme\",customization:\"Prisp\\xF4sobenie\",preferences:\"Preferencie\",notifications:\"Upozornenia\",tax_types:\"Typy Dan\\xED\",expense_category:\"Kateg\\xF3rie cenov\\xFDch odhadov\",update_app:\"Aktualizova\\u0165 Aplik\\xE1ciu\",backup:\"Z\\xE1loha\",file_disk:\"S\\xFAborov\\xFD disk\",custom_fields:\"Vlastn\\xE9 Polia\",payment_modes:\"Sp\\xF4soby Platby\",notes:\"Pozn\\xE1mky\",exchange_rate:\"Exchange Rate\",address_information:\"Address Information\"},address_information:{section_description:\"  You can update Your Address information using form below.\"},title:\"Nastavenia\",setting:\"Nastavenia | Nastavenia\",general:\"V\\u0161eobecn\\xE9\",language:\"Jazyk\",primary_currency:\"Hlavn\\xE1 Mena\",timezone:\"\\u010Casov\\xE9 P\\xE1smo\",date_format:\"Form\\xE1t D\\xE1tumu\",currencies:{title:\"Meny\",currency:\"Mena | Meny\",currencies_list:\"Zoznam Mien\",select_currency:\"Vyberte Menu\",name:\"Meno\",code:\"K\\xF3d\",symbol:\"Symbol\",precision:\"Presnos\\u0165\",thousand_separator:\"Oddelova\\u010D Tis\\xEDciek\",decimal_separator:\"Oddelova\\u010D Desatinn\\xFDch Miest\",position:\"Poz\\xEDcia\",position_of_symbol:\"Poz\\xEDcia Symbolu\",right:\"Vpravo\",left:\"V\\u013Eavo\",action:\"Akcia\",add_currency:\"Prida\\u0165 nov\\xFA Menu\"},mail:{host:\"Host E-mailu\",port:\"Port E-mailu\",driver:\"Driver E-mailu\",secret:\"Tajn\\xFD K\\u013E\\xFA\\u010D (secret)\",mailgun_secret:\"Tajn\\xFD k\\u013E\\xFA\\u010D Mailgun (secret)\",mailgun_domain:\"Dom\\xE9na\",mailgun_endpoint:\"Endpoint Mailgun\",ses_secret:\"SES Tajn\\xFD K\\u013E\\xFA\\u010D (secret)\",ses_key:\"SES k\\u013E\\xFA\\u010D (key)\",password:\"E-mailov\\xE9 heslo\",username:\"E-mailov\\xE9 meno (username)\",mail_config:\"Konfigur\\xE1cia E-mailov\",from_name:\"Meno odosielate\\u013Ea\",from_mail:\"E-mail odosielate\\u013Ea\",encryption:\"E-mailov\\xE1 Enkrypcia\",mail_config_desc:\"Ni\\u017E\\u0161ie n\\xE1jdete konfigur\\xE1ciu E-mailu pou\\u017Eit\\xE9ho k odosielaniu E-mailov z aplik\\xE1cie Crater. M\\xF4\\u017Eete taktie\\u017E nastavi\\u0165 spojenie so slu\\u017Ebami tret\\xEDch str\\xE1n ako napr\\xEDklad Sendgrid, SES a pod.\"},pdf:{title:\"Nastavenia PDF\",footer_text:\"Text v p\\xE4ti\\u010Dke\",pdf_layout:\"Rozlo\\u017Eenie PDF\"},company_info:{company_info:\"Inform\\xE1cie o spolo\\u010Dnosti\",company_name:\"N\\xE1zov spolo\\u010Dnosti\",company_logo:\"Logo spolo\\u010Dnosti\",section_description:\"Inform\\xE1cie o Va\\u0161ej firme, ktor\\xE9 bud\\xFA zobrazen\\xE9 na fakt\\xFArach, cenov\\xFDch odhadoch a in\\xFDch dokumentoch vytvoren\\xFDch v\\u010Faka Creater.\",phone:\"Telef\\xF3n\",country:\"Krajina\",state:\"\\u0160t\\xE1t\",city:\"Mesto\",address:\"Adresa\",zip:\"PS\\u010C\",save:\"Ulo\\u017Ei\\u0165\",delete:\"Delete\",updated_message:\"Inform\\xE1cie o firme \\xFAspe\\u0161ne aktualizovan\\xE9\",delete_company:\"Delete Company\",delete_company_description:\"Once you delete your company, you will lose all the data and files associated with it permanently.\",are_you_absolutely_sure:\"Are you absolutely sure?\",delete_company_modal_desc:\"This action cannot be undone. This will permanently delete {company} and all of its associated data.\",delete_company_modal_label:\"Please type {company} to confirm\"},custom_fields:{title:\"Vlastn\\xE9 Polia\",section_description:\"Personalizujte si Fakt\\xFAry, Cenov\\xE9 Odhady a Potvrdenia o platbe pomocou vlastn\\xFDch pol\\xED. Uistite sa, \\u017Ee ste ni\\u017E\\u0161ie vytvoren\\xE9 polia pou\\u017Eili v form\\xE1te adresy na str\\xE1nke nastaven\\xED personaliz\\xE1cie.\",add_custom_field:\"Prida\\u0165 Vlastn\\xE9 Pole\",edit_custom_field:\"Upravi\\u0165 Vlastn\\xE9 Pole\",field_name:\"Meno Po\\u013Ea\",label:\"Zna\\u010Dka\",type:\"Typ\",name:\"N\\xE1zov\",slug:\"Slug\",required:\"Povinn\\xE9\",placeholder:\"Umiestnenie\",help_text:\"Pomocn\\xFD Text\",default_value:\"Predvolen\\xE1 hodnota\",prefix:\"Predpona\",starting_number:\"Po\\u010Diato\\u010Dn\\xE9 \\u010C\\xEDslo\",model:\"Model\",help_text_description:\"Nap\\xED\\u0161te popis aby u\\u017E\\xEDvatelia lep\\u0161ie pochopili v\\xFDznam tohto po\\u013Ea.\",suffix:\"Pr\\xEDpona\",yes:\"\\xC1no\",no:\"Nie\",order:\"Objedna\\u0165\",custom_field_confirm_delete:\"Nebudete m\\xF4c\\u0165 obnovit toto vlastn\\xE9 pole\",already_in_use:\"Toto vlastne pole sa u\\u017E pou\\u017E\\xEDva\",deleted_message:\"Vlastn\\xE9 pole \\xFAspe\\u0161ne vymazan\\xE9\",options:\"mo\\u017Enosti\",add_option:\"Prida\\u0165 Mo\\u017Enosti\",add_another_option:\"Prida\\u0165 \\u010Fa\\u013E\\u0161iu mo\\u017Enost\\u0165\",sort_in_alphabetical_order:\"Zoradi\\u0165 v abecednom porad\\xED\",add_options_in_bulk:\"Prida\\u0165 hromadn\\xE9 mo\\u017Enosti\",use_predefined_options:\"Pou\\u017Ei\\u0165 predvolen\\xE9 mo\\u017Enosti\",select_custom_date:\"Vybrat vlastn\\xFD d\\xE1tum\",select_relative_date:\"Vybra\\u0165 Relat\\xEDvny D\\xE1tum\",ticked_by_default:\"Predvolene ozna\\u010Den\\xE9\",updated_message:\"Vlastn\\xE9 pole \\xFAspe\\u0161ne aktualizovan\\xE9\",added_message:\"Vlastne pole \\xFAspe\\u0161ne pridan\\xE9\",press_enter_to_add:\"Press enter to add new option\",model_in_use:\"Cannot update model for fields which are already in use.\",type_in_use:\"Cannot update type for fields which are already in use.\"},customization:{customization:\"Prisp\\xF4sobenie\",updated_message:\"Inform\\xE1cie o firme \\xFAspe\\u0161ne aktualizovan\\xE9\",save:\"Ulo\\u017Ei\\u0165\",insert_fields:\"Insert Fields\",learn_custom_format:\"Learn how to use custom format\",add_new_component:\"Add New Component\",component:\"Component\",Parameter:\"Parameter\",series:\"Series\",series_description:\"To set a static prefix/postfix like 'INV' across your company. It supports character length of up to 6 chars.\",series_param_label:\"Series Value\",delimiter:\"Delimiter\",delimiter_description:\"Single character for specifying the boundary between 2 separate components. By default its set to -\",delimiter_param_label:\"Delimiter Value\",date_format:\"Date Format\",date_format_description:\"A local date and time field which accepts a format parameter. The default format: 'Y' renders the current year.\",date_format_param_label:\"Format\",sequence:\"Sequence\",sequence_description:\"Consecutive sequence of numbers across your company. You can specify the length on the given parameter.\",sequence_param_label:\"Sequence Length\",customer_series:\"Customer Series\",customer_series_description:\"To set a different prefix/postfix for each customer.\",customer_sequence:\"Customer Sequence\",customer_sequence_description:\"Consecutive sequence of numbers for each of your customer.\",customer_sequence_param_label:\"Sequence Length\",random_sequence:\"Random Sequence\",random_sequence_description:\"Random alphanumeric string. You can specify the length on the given parameter.\",random_sequence_param_label:\"Sequence Length\",invoices:{title:\"Fakt\\xFAry\",invoice_number_format:\"Invoice Number Format\",invoice_number_format_description:\"Customize how your invoice number gets generated automatically when you create a new invoice.\",preview_invoice_number:\"Preview Invoice Number\",due_date:\"Due Date\",due_date_description:\"Specify how due date is automatically set when you create an invoice.\",due_date_days:\"Invoice Due after days\",set_due_date_automatically:\"Set Due Date Automatically\",set_due_date_automatically_description:\"Enable this if you wish to set due date automatically when you create a new invoice.\",default_formats:\"Default Formats\",default_formats_description:\"Below given formats are used to fill up the fields automatically on invoice creation.\",default_invoice_email_body:\"Prednastaven\\xE9 telo e-mailu fakt\\xFAry\",company_address_format:\"Form\\xE1t firemnej adresy\",shipping_address_format:\"Form\\xE1t doru\\u010Dovacej adresy\",billing_address_format:\"Form\\xE1t faktura\\u010Dnej adresy\",invoice_email_attachment:\"Send invoices as attachments\",invoice_email_attachment_setting_description:\"Enable this if you want to send invoices as email attachment. Please note that 'View Invoice' button in emails will not be displayed anymore when enabled.\",invoice_settings_updated:\"Invoice Settings updated successfully\",retrospective_edits:\"Retrospective Edits\",allow:\"Allow\",disable_on_invoice_partial_paid:\"Disable after partial payment is recorded\",disable_on_invoice_paid:\"Disable after full payment is recorded\",disable_on_invoice_sent:\"Disable after invoice is sent\",retrospective_edits_description:\" Based on your country's laws or your preference, you can restrict users from editing finalised invoices.\"},estimates:{title:\"Cenov\\xFD odhad\",estimate_number_format:\"Estimate Number Format\",estimate_number_format_description:\"Customize how your estimate number gets generated automatically when you create a new estimate.\",preview_estimate_number:\"Preview Estimate Number\",expiry_date:\"Expiry Date\",expiry_date_description:\"Specify how expiry date is automatically set when you create an estimate.\",expiry_date_days:\"Estimate Expires after days\",set_expiry_date_automatically:\"Set Expiry Date Automatically\",set_expiry_date_automatically_description:\"Enable this if you wish to set expiry date automatically when you create a new estimate.\",default_formats:\"Default Formats\",default_formats_description:\"Below given formats are used to fill up the fields automatically on estimate creation.\",default_estimate_email_body:\"Prednastaven\\xE9 telo e-mailu cenov\\xE9ho dohadu\",company_address_format:\"Form\\xE1t firemnej adresy\",shipping_address_format:\"Form\\xE1t faktura\\u010Dnej adresy\",billing_address_format:\"Form\\xE1t faktura\\u010Dnej adresy\",estimate_email_attachment:\"Send estimates as attachments\",estimate_email_attachment_setting_description:\"Enable this if you want to send the estimates as an email attachment. Please note that 'View Estimate' button in emails will not be displayed anymore when enabled.\",estimate_settings_updated:\"Estimate Settings updated successfully\",convert_estimate_options:\"Estimate Convert Action\",convert_estimate_description:\"Specify what happens to the estimate after it gets converted to an invoice.\",no_action:\"No action\",delete_estimate:\"Delete estimate\",mark_estimate_as_accepted:\"Mark estimate as accepted\"},payments:{title:\"Platby\",payment_number_format:\"Payment Number Format\",payment_number_format_description:\"Customize how your payment number gets generated automatically when you create a new payment.\",preview_payment_number:\"Preview Payment Number\",default_formats:\"Default Formats\",default_formats_description:\"Below given formats are used to fill up the fields automatically on payment creation.\",default_payment_email_body:\"Prednastaven\\xE9 telo e-mailu platby\",company_address_format:\"Form\\xE1t firemnej adresy\",from_customer_address_format:\"Z form\\xE1tu adresy z\\xE1kazn\\xEDka\",payment_email_attachment:\"Send payments as attachments\",payment_email_attachment_setting_description:\"Enable this if you want to send the payment receipts as an email attachment. Please note that 'View Payment' button in emails will not be displayed anymore when enabled.\",payment_settings_updated:\"Payment Settings updated successfully\"},items:{title:\"Polo\\u017Eky\",units:\"Jednotky\",add_item_unit:\"Prida\\u0165 Jednotku\",edit_item_unit:\"Upravi\\u0165 Jednotku\",unit_name:\"N\\xE1zov Jednotky\",item_unit_added:\"Jednotka \\xFAspe\\u0161ne pridan\\xE1\",item_unit_updated:\"Jednotka \\xFAspe\\u0161ne aktualizovan\\xE1\",item_unit_confirm_delete:\"Nebudete m\\xF4c\\u0165 obnovi\\u0165 t\\xFAto Jednotku\",already_in_use:\"Jednotk\\xE1 sa pr\\xE1ve pou\\u017E\\xEDva\",deleted_message:\"Jednotka \\xFAspe\\u0161ne odstr\\xE1nena\"},notes:{title:\"Pozn\\xE1mky\",description:\"U\\u0161etrite \\u010Das vytv\\xE1ran\\xEDm pozn\\xE1mok a ich op\\xE4tovn\\xFDm pou\\u017Eit\\xEDm vo svojich fakt\\xFArach, odhadoch a platb\\xE1ch.\",notes:\"Pozn\\xE1mky\",type:\"Typ\",add_note:\"Prida\\u0165 pozn\\xE1mku\",add_new_note:\"Prida\\u0165 Nov\\xFA Pozn\\xE1mku\",name:\"N\\xE1zov\",edit_note:\"Upravi\\u0165 pozn\\xE1mku\",note_added:\"Pozn\\xE1mka \\xFAspe\\u0161ne pridan\\xE1\",note_updated:\"Pozn\\xE1mka \\xFAspe\\u0161ne aktualizovan\\xE1\",note_confirm_delete:\"Nebudete m\\xF4c\\u0165 obnovi\\u0165 t\\xFAto Pozn\\xE1mku\",already_in_use:\"Pozn\\xE1mka sa pr\\xE1ve pou\\u017E\\xEDva\",deleted_message:\"Pozn\\xE1mka \\xFAspe\\u0161ne odstr\\xE1nena\"}},account_settings:{profile_picture:\"Profilov\\xE1 Fotka\",name:\"Meno\",email:\"Email\",password:\"Heslo\",confirm_password:\"Potvrdi\\u0165 heslo\",account_settings:\"Nastavenie \\xFA\\u010Dtu\",save:\"Ulo\\u017Ei\\u0165\",section_description:\"Svoje meno, e-mail a heslo m\\xF4\\u017Eete aktualizova\\u0165 pomocou formul\\xE1ra ni\\u017E\\u0161ie.\",updated_message:\"Nastavenia \\xFA\\u010Dtu boli \\xFAspe\\u0161ne aktualizovan\\xE9\"},user_profile:{name:\"Meno\",email:\"Email\",password:\"Heslo\",confirm_password:\"Potvrdi\\u0165 heslo\"},notification:{title:\"Upozornenia\",email:\"Odosla\\u0165 upozornenie\",description:\"Ktor\\xE9 e-mailov\\xE9 upozornenia chcete dost\\xE1va\\u0165 ke\\u010F sa nie\\u010Do zmen\\xED?\",invoice_viewed:\"Fakt\\xFAra zobrazen\\xE1\",invoice_viewed_desc:\"Ke\\u010F si v\\xE1\\u0161 z\\xE1kazn\\xEDk prezer\\xE1 fakt\\xFAru odoslan\\xFA cez Hlavn\\xFD Panel.\",estimate_viewed:\"Cenov\\xFD odhad zobrazen\\xFD\",estimate_viewed_desc:\"Ke\\u010F si v\\xE1\\u0161 z\\xE1kazn\\xEDk prezer\\xE1 cenov\\xFD odhad odoslan\\xFD cez Hlavn\\xFD Panel.\",save:\"Ulo\\u017Ei\\u0165\",email_save_message:\"E-mail bol \\xFAspe\\u0161ne ulo\\u017Een\\xFD\",please_enter_email:\"Zadajte e-mail\"},roles:{title:\"Roles\",description:\"Manage the roles & permissions of this company\",save:\"Save\",add_new_role:\"Add New Role\",role_name:\"Role Name\",added_on:\"Added on\",add_role:\"Add Role\",edit_role:\"Edit Role\",name:\"Name\",permission:\"Permission | Permissions\",select_all:\"Select All\",none:\"None\",confirm_delete:\"You will not be able to recover this Role\",created_message:\"Role created successfully\",updated_message:\"Role updated successfully\",deleted_message:\"Role deleted successfully\",already_in_use:\"Role is already in use\"},exchange_rate:{exchange_rate:\"Exchange Rate\",title:\"Fix Currency Exchange issues\",description:\"Please enter exchange rate of all the currencies mentioned below to help Crater properly calculate the amounts in {currency}.\",drivers:\"Drivers\",new_driver:\"Add New Provider\",edit_driver:\"Edit Provider\",select_driver:\"Select Driver\",update:\"select exchange rate \",providers_description:\"Configure your exchange rate providers here to automatically fetch the latest exchange rate on transactions.\",key:\"API Key\",name:\"Name\",driver:\"Driver\",is_default:\"IS DEFAULT\",currency:\"Currencies\",exchange_rate_confirm_delete:\"You will not be able to recover this driver\",created_message:\"Provider Created successfully\",updated_message:\"Provider Updated Successfully\",deleted_message:\"Provider Deleted Successfully\",error:\" You cannot Delete Active Driver\",default_currency_error:\"This currency is already used in one of the Active Provider\",exchange_help_text:\"Enter exchange rate to convert from {currency} to {baseCurrency}\",currency_freak:\"Currency Freak\",currency_layer:\"Currency Layer\",open_exchange_rate:\"Open Exchange Rate\",currency_converter:\"Currency Converter\",server:\"Server\",url:\"URL\",active:\"Active\",currency_help_text:\"This provider will only be used on above selected currencies\",currency_in_used:\"The following currencies are already active on another provider. Please remove these currencies from selection to activate this provider again.\"},tax_types:{title:\"Typ dan\\xED\",add_tax:\"Prida\\u0165 da\\u0148\",edit_tax:\"Upravi\\u0165 Da\\u0148\",description:\"M\\xF4\\u017Eete prida\\u0165 alebo odobra\\u0165 dane. Crater podporuje dane jednotliv\\xFDch polo\\u017Eiek aj na fakt\\xFAre.\",add_new_tax:\"Prida\\u0165 Nov\\xFA Da\\u0148\",tax_settings:\"Nastavenia dan\\xED\",tax_per_item:\"Da\\u0148 pre ka\\u017Ed\\xFA Polo\\u017Eku zvl\\xE1\\u0161\\u0165\",tax_name:\"N\\xE1zov Dane\",compound_tax:\"Zlo\\u017Een\\xE1 da\\u0148\",percent:\"Percento\",action:\"Akcia\",tax_setting_description:\"T\\xFAto mo\\u017Enos\\u0165 povo\\u013Ete, ak chcete prida\\u0165 dane k jednotliv\\xFDm polo\\u017Ek\\xE1m fakt\\xFAr. \\u0160tandardne sa dane pripo\\u010D\\xEDtavaj\\xFA priamo k fakt\\xFAre.\",created_message:\"Da\\u0148 \\xFAspe\\u0161ne vytvoren\\xE1\",updated_message:\"Da\\u0148 \\xFAspe\\u0161ne aktualizovan\\xE1\",deleted_message:\"Da\\u0148 \\xFAspe\\u0161ne odstr\\xE1nen\\xE1\",confirm_delete:\"Nebudete m\\xF4c\\u0165 obnovi\\u0165 da\\u0148\",already_in_use:\"Da\\u0148 u\\u017E sa u\\u017E po\\u017E\\xEDva\"},payment_modes:{title:\"Payment Modes\",description:\"Modes of transaction for payments\",add_payment_mode:\"Add Payment Mode\",edit_payment_mode:\"Edit Payment Mode\",mode_name:\"Mode Name\",payment_mode_added:\"Payment Mode Added\",payment_mode_updated:\"Payment Mode Updated\",payment_mode_confirm_delete:\"You will not be able to recover this Payment Mode\",payments_attached:\"This payment method is already attached to payments. Please delete the attached payments to proceed with deletion.\",expenses_attached:\"This payment method is already attached to expenses. Please delete the attached expenses to proceed with deletion.\",deleted_message:\"Payment Mode deleted successfully\"},expense_category:{title:\"Kateg\\xF3rie v\\xFDdajov\",action:\"Akcia\",description:\"Na pridanie polo\\u017Eiek v\\xFDdavkov s\\xFA povinn\\xE9 kateg\\xF3rie. Tieto kateg\\xF3rie m\\xF4\\u017Eete prida\\u0165 alebo odstr\\xE1ni\\u0165 pod\\u013Ea svojich preferenci\\xED.\",add_new_category:\"Prida\\u0165 Nov\\xFA Kateg\\xF3riu\",add_category:\"Prida\\u0165 Kateg\\xF3riu\",edit_category:\"Upravi\\u0165 Kateg\\xF3riu\",category_name:\"N\\xE1zov Kateg\\xF3rie\",category_description:\"Popis\",created_message:\"Kateg\\xF3ria cenov\\xE9ho odhadu \\xFAspe\\u0161ne vytvoren\\xE1\",deleted_message:\"Kateg\\xF3ria cenov\\xE9ho odhadu \\xFAspe\\u0161ne odstr\\xE1nena\",updated_message:\"Kateg\\xF3ria cenov\\xE9ho odhadu \\xFAspe\\u0161ne aktualizovan\\xE1\",confirm_delete:\"Nebudete m\\xF4c\\u0165 obnovi\\u0165 t\\xFAto kateg\\xF3riu cenov\\xFDch odhadov\",already_in_use:\"Kateg\\xF3ria sa u\\u017E pou\\u017E\\xEDva\"},preferences:{currency:\"Mena\",default_language:\"Predvolen\\xFD Jazyk\",time_zone:\"\\u010Casov\\xE9 P\\xE1smo\",fiscal_year:\"Fi\\u0161k\\xE1lny Rok\",date_format:\"Form\\xE1t D\\xE1tumu\",discount_setting:\"Nastavenia Z\\u013Eavy\",discount_per_item:\"Z\\u013Eava pre ka\\u017Ed\\xFA Polo\\u017Eku zvl\\xE1\\u0161\\u0165 \",discount_setting_description:\"T\\xFAto mo\\u017Enos\\u0165 povo\\u013Ete, ak chcete prida\\u0165 z\\u013Eavu k jednotliv\\xFDm polo\\u017Ek\\xE1m fakt\\xFAry. \\u0160tandardne sa z\\u013Eava pripo\\u010D\\xEDtava priamo k fakt\\xFAre.\",expire_public_links:\"Automatically Expire Public Links\",expire_setting_description:\"Specify whether you would like to expire all the links sent by application to view invoices, estimates & payments, etc after a specified duration.\",save:\"Ulo\\u017Ei\\u0165\",preference:\"Preferencie | Preferencie\",general_settings:\"Syst\\xE9movo predvolen\\xE9 preferencie.\",updated_message:\"Preferencie \\xFAspe\\u0161ne aktualizovan\\xE9\",select_language:\"Vyberte Jazyk\",select_time_zone:\"Vyberte \\u010Casov\\xE9 P\\xE1smo\",select_date_format:\"Vybra\\u0165 Form\\xE1t D\\xE1tumu\",select_financial_year:\"Vyberte Fi\\u0161k\\xE1lny Rok\",recurring_invoice_status:\"Recurring Invoice Status\",create_status:\"Create Status\",active:\"Active\",on_hold:\"On Hold\",update_status:\"Update Status\",completed:\"Completed\",company_currency_unchangeable:\"Company currency cannot be changed\"},update_app:{title:\"Aktualizova\\u0165 Aplik\\xE1ciu\",description:\"Aplik\\xE1ciu m\\xF4\\u017Ete jednoducho aktualizova\\u0165 tla\\u010Ditkom ni\\u017E\\u0161ie\",check_update:\"Skontrolova\\u0165 Aktualiz\\xE1cie\",avail_update:\"Nov\\xE1 aktualiz\\xE1cia je k dispoz\\xEDcii\",next_version:\"\\u010Eal\\u0161ia Verzia\",requirements:\"Po\\u017Eiadavky\",update:\"Aktualizova\\u0165\",update_progress:\"Aktualiz\\xE1cia prebieha...\",progress_text:\"Bude to trva\\u0165 len p\\xE1r min\\xFAt. Pred dokon\\u010Den\\xEDm aktualiz\\xE1cie neobnovujte obrazovku ani nezatv\\xE1rajte okno.\",update_success:\"App bola aktualizovan\\xE1! Po\\u010Dkajte, k\\xFDm sa okno v\\xE1\\u0161ho prehliada\\u010Da na\\u010D\\xEDta automaticky.\",latest_message:\"Nie je k dispoz\\xEDcii \\u017Eiadna aktualiz\\xE1cia! Pou\\u017E\\xEDvate najnov\\u0161iu verziu.\",current_version:\"Aktu\\xE1lna verzia\",download_zip_file:\"Stiahnu\\u0165 ZIP s\\xFAbor\",unzipping_package:\"Rozbali\\u0165 bal\\xEDk\",copying_files:\"Kop\\xEDrovanie s\\xFAborov\",deleting_files:\"Deleting Unused files\",running_migrations:\"Prebieha Migr\\xE1cia\",finishing_update:\"Ukon\\u010Dovanie Aktualiz\\xE1cie\",update_failed:\"Aktualiz\\xE1cia zlyhala!\",update_failed_text:\"Aktualiz\\xE1cia zlyhala na : {step} kroku\",update_warning:\"All of the application files and default template files will be overwritten when you update the application using this utility. Please take a backup of your templates & database before updating.\"},backup:{title:\"Z\\xE1loha | Z\\xE1lohy\",description:\"Z\\xE1loha je vo form\\xE1te zip ktor\\xFD obsahuje v\\u0161etky s\\xFAbory v adres\\xE1roch vr\\xE1tane v\\xFDpisu z datab\\xE1zy.\",new_backup:\"Vytvori\\u0165 z\\xE1lohu\",create_backup:\"Vytvori\\u0165 z\\xE1lohu\",select_backup_type:\"Vybra\\u0165 typ z\\xE1lohy\",backup_confirm_delete:\"Nebude mo\\u017En\\xE9 obnovi\\u0165 t\\xFAto z\\xE1lohu\",path:\"cesta\",new_disk:\"Nov\\xFD Disk\",created_at:\"vytvoren\\xE9\",size:\"velkost\",dropbox:\"dropbox\",local:\"local\",healthy:\"v poriadku\",amount_of_backups:\"po\\u010Det z\\xE1loh\",newest_backups:\"najnov\\u0161ie z\\xE1lohy\",used_storage:\"vyu\\u017Eit\\xE9 miesto na disku\",select_disk:\"Vybra\\u0165 disk\",action:\"Akcia\",deleted_message:\"Z\\xE1loha \\xFAspe\\u0161ne vymazan\\xE1\",created_message:\"Z\\xE1loha \\xFAspe\\u0161ne vytvoren\\xE1\",invalid_disk_credentials:\"Nespr\\xE1vne prihlasovacie \\xFAdaje na disk\"},disk:{title:\"File Disk | File Disks\",description:\"V predvolenom nastaven\\xED pou\\u017Eije Crater v\\xE1\\u0161 lok\\xE1lny disk na ukladanie z\\xE1loh, avatarov a in\\xFDch obrazov\\xFDch s\\xFAborov. M\\xF4\\u017Eete nakonfigurova\\u0165 viac ako jeden disku ako napr. DigitalOcean, S3 a Dropbox pod\\u013Ea va\\u0161ich preferenci\\xED.\",created_at:\"vytvoren\\xE9\",dropbox:\"Dropbox\",name:\"N\\xE1zov\",driver:\"Driver\",disk_type:\"Typ\",disk_name:\"N\\xE1zov Disku\",new_disk:\"Prida\\u0165 Nov\\xFD Disk\",filesystem_driver:\"Driver syst\\xE9mov\\xFDch s\\xFAborov\",local_driver:\"lok\\xE1lny Driver\",local_root:\"Lok\\xE1lka Cesta (root)\",public_driver:\"Verejn\\xFD Driver\",public_root:\"Verejn\\xE1 Cesta (root)\",public_url:\"Verejn\\xE1 URL\",public_visibility:\"Vidite\\u013En\\xE9 pre Verejnos\\u0165\",media_driver:\"Driver m\\xE9di\\xED\",media_root:\"Root m\\xE9di\\xED\",aws_driver:\"AWS Driver\",aws_key:\"AWS K\\u013E\\xFA\\u010D (key)\",aws_secret:\"AWS Tajn\\xFD K\\u013E\\xFA\\u010D (secret)\",aws_region:\"AWS Regi\\xF3n\",aws_bucket:\"AWP Bucket\",aws_root:\"AWP Cesta (root)\",do_spaces_type:\"Do Spaces type\",do_spaces_key:\"Do Spaces key\",do_spaces_secret:\"Do Spaces Secret\",do_spaces_region:\"Do Spaces Region\",do_spaces_bucket:\"Do Spaces Bucket\",do_spaces_endpoint:\"Do Spaces Endpoint\",do_spaces_root:\"Do Spaces Root\",dropbox_type:\"Dropbox Type\",dropbox_token:\"Dropbox Token\",dropbox_key:\"Dropbox Key\",dropbox_secret:\"Dropbox Secret\",dropbox_app:\"Dropbox App\",dropbox_root:\"Dropbox Root\",default_driver:\"Predvolen\\xFD Driver\",is_default:\"Je predvolen\\xFD\",set_default_disk:\"Nastavi\\u0165 predvolen\\xFD disk\",set_default_disk_confirm:\"This disk will be set as default and all the new PDFs will be saved on this disk\",success_set_default_disk:\"Disk \\xFAspe\\u0161ne nastaven\\xFD ako predvolen\\xFD\",save_pdf_to_disk:\"Ulo\\u017E PDFs na Disk\",disk_setting_description:\"T\\xFAto mo\\u017Enos\\u0165 povo\\u013Ete ak si chcete automaticky ulo\\u017Ei\\u0165 k\\xF3piu ka\\u017Ed\\xE9ho s\\xFAboru PDF s fakturami, odhadmi a pr\\xEDjmami na predvolen\\xFD disk. Pou\\u017Eit\\xEDm tejto mo\\u017Enosti skr\\xE1tite dobu na\\u010D\\xEDtania pri prezeran\\xED s\\xFAborov PDF.\",select_disk:\"Vybra\\u0165 Disk\",disk_settings:\"Nastavenie Disku\",confirm_delete:\"Va\\u0161e existuj\\xFAce s\\xFAbory a prie\\u010Dinky na zadanom disku nebud\\xFA ovplyvnen\\xE9 ale konfigur\\xE1cia v\\xE1\\u0161ho disku bude odstr\\xE1nen\\xE1 z Crateru\",action:\"Akcia\",edit_file_disk:\"Upravit Disk\",success_create:\"Disk \\xFAspe\\u0161ne pridan\\xFD\",success_update:\"Disk \\xFAspe\\u0161ne aktualizovan\\xFD\",error:\"Pridanie disku zlyhalo\",deleted_message:\"Disk bol \\xFAspe\\u0161ne odstr\\xE1nen\\xFD\",disk_variables_save_successfully:\"Disk bol \\xFAspe\\u0161ne pridan\\xFD\",disk_variables_save_error:\"Konfigur\\xE1cia disku zlyhala.\",invalid_disk_credentials:\"Neplatn\\xE9 prihlasovacie \\xFAdaje pre Disk\"},taxations:{add_billing_address:\"Enter Billing Address\",add_shipping_address:\"Enter Shipping Address\",add_company_address:\"Enter Company Address\",modal_description:\"The information below is required in order to fetch sales tax.\",add_address:\"Add Address for fetching sales tax.\",address_placeholder:\"Example: 123, My Street\",city_placeholder:\"Example: Los Angeles\",state_placeholder:\"Example: CA\",zip_placeholder:\"Example: 90024\",invalid_address:\"Please provide valid address details.\"}},ek={account_info:\"Inform\\xE1cie o \\xFA\\u010Dte\",account_info_desc:\"Ni\\u017E\\u0161ie uveden\\xE9 podrobnosti sa pou\\u017Eij\\xFA na vytvorenie hlavn\\xE9ho \\xFA\\u010Dtu spr\\xE1vcu. Tie m\\xF4\\u017Eete kedyko\\u013Evek zmeni\\u0165 po prihl\\xE1sen\\xED.\",name:\"Meno\",email:\"Email\",password:\"Heslo\",confirm_password:\"Potvrdi\\u0165 heslo\",save_cont:\"Ulo\\u017Ei\\u0165 a pokra\\u010Dova\\u0165\",company_info:\"Firemn\\xE9 \\xFAdaje\",company_info_desc:\"Tieto inform\\xE1cie sa zobrazia na fakt\\xFArach. Nesk\\xF4r ich v\\u0161ak m\\xF4\\u017Eete upravi\\u0165.\",company_name:\"N\\xE1zov firmy\",company_logo:\"Firemn\\xE9 logo\",logo_preview:\"N\\xE1h\\u013Ead loga\",preferences:\"Preferencie\",preferences_desc:\"Predvolen\\xE9 nastavenie syst\\xE9mu.\",currency_set_alert:\"The company's currency cannot be changed later.\",country:\"Krajina\",state:\"\\u0160t\\xE1t\",city:\"Mesto\",address:\"Adresa\",street:\"Ulica1 | Ulica2\",phone:\"Telef\\xF3n\",zip_code:\"PS\\u010C\",go_back:\"Nasp\\xE4\\u0165\",currency:\"Mena\",language:\"Jazyk\",time_zone:\"\\u010Casov\\xE9 p\\xE1smo\",fiscal_year:\"Fi\\u0161k\\xE1lny rok\",date_format:\"Form\\xE1t d\\xE1tumu\",from_address:\"Z adresy\",username:\"Prihlasovacie meno\",next:\"\\u010Ea\\u013E\\u0161\\xED\",continue:\"Pokra\\u010Dova\\u0165\",skip:\"Vynecha\\u0165\",database:{database:\"URL Adresa Aplik\\xE1cie a Datab\\xE1za\",connection:\"Pripojenie k datab\\xE1ze\",host:\"Datab\\xE1za - Host\",port:\"Datab\\xE1za - Port\",password:\"Heslo do datab\\xE1zy\",app_url:\"URL Adresa Aplik\\xE1cie\",app_domain:\"Dom\\xE9na aplik\\xE1cie\",username:\"Prihlasovacie meno do datab\\xE1zy\",db_name:\"N\\xE1zov datab\\xE1zy\",db_path:\"Datab\\xE1z\\xE1 - cesta (path)\",desc:\"Vytvorte datab\\xE1zu na svojom serveri a pomocou nasleduj\\xFAceho formul\\xE1ra nastavte poverenia.\"},permissions:{permissions:\"Opr\\xE1vnenia\",permission_confirm_title:\"Ste si ist\\xFD \\u017Ee chcete pokra\\u010Dova\\u0165?\",permission_confirm_desc:\"Nedostato\\u010Dn\\xE9 opr\\xE1vnenia na prie\\u010Dinky in\\u0161tal\\xE1cie\",permission_desc:\"Ni\\u017E\\u0161ie je uveden\\xFD zoznam povolen\\xED prie\\u010Dinkov ktor\\xE9 s\\xFA potrebn\\xE9 na fungovanie aplik\\xE1cie. Ak kontrola povolen\\xED zlyh\\xE1 nezabudnite aktualizova\\u0165 povolenia prie\\u010Dinka.\"},verify_domain:{title:\"Domain Verification\",desc:\"Crater uses Session based authentication which requires domain verification for security purposes. Please enter the domain on which you will be accessing your web application.\",app_domain:\"App Domain\",verify_now:\"Verify Now\",success:\"Domain Verify Successfully.\",failed:\"Domain verification failed. Please enter valid domain name.\",verify_and_continue:\"Verify And Continue\"},mail:{host:\"Mail Host\",port:\"Mail Port\",driver:\"Mail Driver\",secret:\"Secret\",mailgun_secret:\"Mailgun Secret\",mailgun_domain:\"Domain\",mailgun_endpoint:\"Mailgun Endpoint\",ses_secret:\"SES Secret\",ses_key:\"SES Key\",password:\"Mail Password\",username:\"Mail Username\",mail_config:\"Mail Configuration\",from_name:\"From Mail Name\",from_mail:\"From Mail Address\",encryption:\"Mail Encryption\",mail_config_desc:\"Ni\\u017E\\u0161ie je uveden\\xFD formul\\xE1r na konfigur\\xE1ciu ovl\\xE1da\\u010Da e-mailu na odosielanie e-mailov z aplik\\xE1cie. M\\xF4\\u017Eete tie\\u017E nakonfigurova\\u0165 aj extern\\xFDch poskytovate\\u013Eov napr\\xEDklad Sendgrid apod.\"},req:{system_req:\"Syst\\xE9mov\\xE9 po\\u017Eiadavky\",php_req_version:\"Php (verzia {version} po\\u017Eadovan\\xE1)\",check_req:\"Skontrolujte po\\u017Eiadavky\",system_req_desc:\"Crater m\\xE1 nieko\\u013Eko po\\u017Eiadaviek na server. Skontrolujte \\u010Di m\\xE1 v\\xE1\\u0161 server po\\u017Eadovan\\xFA verziu php a v\\u0161etky moduly uveden\\xE9 ni\\u017E\\u0161ie.\"},errors:{migrate_failed:\"Migr\\xE1ci zlyhala\",database_variables_save_error:\"Nie je mo\\u017En\\xE9 zap\\xEDsa\\u0165 konfigur\\xE1ciu do .env file. Skontrolujte opr\\xE1vnenia\",mail_variables_save_error:\"Konfigur\\xE1cia emailu zlyhala.\",connection_failed:\"Pripojenie k datab\\xE1ze zlyhalo\",database_should_be_empty:\"Datab\\xE1za mus\\xED by\\u0165 pr\\xE1zdna\"},success:{mail_variables_save_successfully:\"Email \\xFAspe\\u0161ne nakonfigurovan\\xFD\",database_variables_save_successfully:\"Datab\\xE1za \\xFAspe\\u0161ne nakonfigurovan\\xE1.\"}},tk={invalid_phone:\"Zl\\xE9 telef\\xF3nn\\xE9 \\u010D\\xEDslo\",invalid_url:\"Nespr\\xE1vna URL adresa (ex: http://www.crater.com)\",invalid_domain_url:\"Nespr\\xE1vna URL (ex: crater.com)\",required:\"Povinn\\xE9 pole\",email_incorrect:\"Zl\\xFD email.\",email_already_taken:\"Email sa uz pou\\u017E\\xEDva.\",email_does_not_exist:\"Pou\\u017E\\xEDvate\\u013E s t\\xFDmto emailom neexistuje.\",item_unit_already_taken:\"N\\xE1zov tejto polo\\u017Eky sa u\\u017E pou\\u017E\\xEDva\",payment_mode_already_taken:\"N\\xE1zov tohto typu platby sa u\\u017E pou\\u017E\\xEDva\",send_reset_link:\"Odosla\\u0165 resetovac\\xED link\",not_yet:\"Email e\\u0161te nepri\\u0161iel? Znova odosla\\u0165\",password_min_length:\"Heslo mus\\xED obsahova\\u0165 {count} znaky\",name_min_length:\"Meno mus\\xED ma\\u0165 minim\\xE1lne {count} p\\xEDsmen.\",prefix_min_length:\"Prefix must have at least {count} letters.\",enter_valid_tax_rate:\"Zadajte platn\\xFA sadzbu dane\",numbers_only:\"Iba \\u010D\\xEDsla.\",characters_only:\"Iba znaky.\",password_incorrect:\"Hesl\\xE1 musia by\\u0165 rovnak\\xE9\",password_length:\"Heslo musi obsahova\\u0165 minim\\xE1lne {count} znakov.\",qty_must_greater_than_zero:\"Mno\\u017Estvo mus\\xED by\\u0165 viac ako 0.\",price_greater_than_zero:\"Cena mus\\xED by\\u0165 viac ako 0.\",payment_greater_than_zero:\"Platba mus\\xED by\\u0165 viac ako   0.\",payment_greater_than_due_amount:\"Zadan\\xE1 platba je vy\\u0161\\u0161ia ako suma na fakt\\xFAre.\",quantity_maxlength:\"Mno\\u017Estvo by nemalo obsahova\\u0165 ako 20 \\u010D\\xEDslic.\",price_maxlength:\"Cena by nemala obsahova\\u0165 viac ako 20 \\u010D\\xEDslic.\",price_minvalue:\"Suma musi by\\u0165 vy\\u0161\\u0161ia ako 0.\",amount_maxlength:\"\\u010Ciastka by nemala obsahova\\u0165 viac ako 20 \\u010D\\xEDslic.\",amount_minvalue:\"\\u010Ciastka mus\\xED by\\u0165 va\\u010D\\u0161ia ako 0.\",discount_maxlength:\"Discount should not be greater than max discount\",description_maxlength:\"Popis nesmie obsahova\\u0165 viac ako 255 znaokv.\",subject_maxlength:\"Predmet nesmie obsahova\\u0165 viac ako 100 znakov.\",message_maxlength:\"Spr\\xE1va nesmie obsahova\\u0165 viac ako 255 znakov.\",maximum_options_error:\"Maxim\\xE1lny po\\u010Det z {max} mo\\u017Enosti vybran\\xFD. Najprv odstr\\xE1nte aspo\\u0148 jednu mo\\u017Enost a n\\xE1sledne vyberte in\\xFA.\",notes_maxlength:\"Pozn\\xE1mky nesm\\xFA obsahova\\u0165 viac ako 100 znakov.\",address_maxlength:\"Adresa nesmie obsahova\\u0165 viac ako 255 znakov\",ref_number_maxlength:\"Referen\\u010Dn\\xE9 \\u010Dislo nesmie obsahova\\u0165 viac ako 255 znakov\",prefix_maxlength:\"Predpona nesmie ma\\u0165 viac ako 5 znakov.\",something_went_wrong:\"Nie\\u010Do neprebehlo v poriadku, odsk\\xFA\\u0161ajte pros\\xEDm znova.\",number_length_minvalue:\"Number length should be greater than 0\",at_least_one_ability:\"Please select atleast one Permission.\",valid_driver_key:\"Please enter a valid {driver} key.\",valid_exchange_rate:\"Please enter a valid exchange rate.\",company_name_not_same:\"Company name must match with given name.\"},ak={starter_plan:\"This feature is available on Starter plan and onwards!\",invalid_provider_key:\"Please Enter Valid Provider API Key.\",estimate_number_used:\"The estimate number has already been taken.\",invoice_number_used:\"The invoice number has already been taken.\",payment_attached:\"This invoice already has a payment attached to it. Make sure to delete the attached payments first in order to go ahead with the removal.\",payment_number_used:\"The payment number has already been taken.\",name_already_taken:\"The name has already been taken.\",receipt_does_not_exist:\"Receipt does not exist.\",customer_cannot_be_changed_after_payment_is_added:\"Customer cannot be change after payment is added\",invalid_credentials:\"Invalid  Credentials.\",not_allowed:\"Not Allowed\",login_invalid_credentials:\"These credentials do not match our records.\",enter_valid_cron_format:\"Please enter a valid cron format\",email_could_not_be_sent:\"Email could not be sent to this email address.\",invalid_address:\"Please enter a valid address.\",invalid_key:\"Please enter valid key.\",invalid_state:\"Please enter a valid state.\",invalid_city:\"Please enter a valid city.\",invalid_postal_code:\"Please enter a valid zip.\",invalid_format:\"Please enter valid query string format.\",api_error:\"Server not responding.\",feature_not_enabled:\"Feature not enabled.\",request_limit_met:\"Api request limit exceeded.\",address_incomplete:\"Incomplete Address\"},nk=\"Cenov\\xFD odhad\",ik=\"\\u010C\\xEDslo cenov\\xE9ho odhadu\",ok=\"D\\xE1tum cenov\\xE9ho odhadu\",sk=\"Platnos\\u0165 cenov\\xE9ho odhadu\",rk=\"Fakt\\xFAra\",dk=\"\\u010C\\xEDslo fakt\\xFAry\",lk=\"D\\xE1tum vystavenia\",ck=\"D\\xE1tum splatnosti\",_k=\"Pozn\\xE1mky\",uk=\"Polo\\u017Eky\",mk=\"Po\\u010Det\",pk=\"Cena\",fk=\"Z\\u013Eava\",gk=\"Celkom\",vk=\"Medzis\\xFA\\u010Det\",yk=\"S\\xFA\\u010Det\",hk=\"Payment\",bk=\"Doklad o zaplaten\\xED\",kk=\"D\\xE1tum platby\",wk=\"\\u010C\\xEDslo platby\",zk=\"Sp\\xF4sob platby\",xk=\"Prijat\\xE1 suma\",Pk=\"Report v\\xFDdajov\",Sk=\"Celkov\\xE9 v\\xFDdaje\",jk=\"Zisky a straty\",Ak=\"Sales Customer Report\",Dk=\"Sales Item Report\",Ck=\"Tax Summary Report\",Nk=\"Pr\\xEDjem\",Ek=\"\\u010Cist\\xFD pr\\xEDjem\",Ik=\"Report predajov: Pod\\u013Ea z\\xE1kazn\\xEDkov\",Tk=\"Celkov\\xE9 predaje\",Rk=\"Report predajov: Pod\\u013Ea polo\\u017Eky\",Mk=\"Report dan\\xED\",Fk=\"Celkov\\xE9 dane\",$k=\"Typy dan\\xED\",Uk=\"V\\xFDdaje\",Vk=\"Fakturova\\u0165,\",Ok=\"Doru\\u010Di\\u0165,\",Lk=\"Prijat\\xE9 od:\",qk=\"Tax\";var Bk={navigation:Rb,general:Mb,dashboard:Fb,tax_types:$b,global_search:Ub,company_switcher:Vb,dateRange:Ob,customers:Lb,items:qb,estimates:Bb,invoices:Kb,recurring_invoices:Zb,payments:Wb,expenses:Hb,login:Yb,modules:Gb,users:Jb,reports:Qb,settings:Xb,wizard:ek,validation:tk,errors:ak,pdf_estimate_label:nk,pdf_estimate_number:ik,pdf_estimate_date:ok,pdf_estimate_expire_date:sk,pdf_invoice_label:rk,pdf_invoice_number:dk,pdf_invoice_date:lk,pdf_invoice_due_date:ck,pdf_notes:_k,pdf_items_label:uk,pdf_quantity_label:mk,pdf_price_label:pk,pdf_discount_label:fk,pdf_amount_label:gk,pdf_subtotal:vk,pdf_total:yk,pdf_payment_label:hk,pdf_payment_receipt_label:bk,pdf_payment_date:kk,pdf_payment_number:wk,pdf_payment_mode:zk,pdf_payment_amount_received_label:xk,pdf_expense_report_label:Pk,pdf_total_expenses_label:Sk,pdf_profit_loss_label:jk,pdf_sales_customers_label:Ak,pdf_sales_items_label:Dk,pdf_tax_summery_label:Ck,pdf_income_label:Nk,pdf_net_profit_label:Ek,pdf_customer_sales_report:Ik,pdf_total_sales_label:Tk,pdf_item_sales_label:Rk,pdf_tax_report_label:Mk,pdf_total_tax_label:Fk,pdf_tax_types_label:$k,pdf_expenses_label:Uk,pdf_bill_to:Vk,pdf_ship_to:Ok,pdf_received_from:Lk,pdf_tax_label:qk};const Kk={dashboard:\"B\\u1EA3ng \\u0111i\\u1EC1u khi\\u1EC3n\",customers:\"Kh\\xE1ch h\\xE0ng\",items:\"M\\u1EB7t h\\xE0ng\",invoices:\"H\\xF3a \\u0111\\u01A1n\",\"recurring-invoices\":\"H\\xF3a \\u0111\\u01A1n \\u0111\\u1ECBnh k\\u1EF3\",expenses:\"Chi ph\\xED\",estimates:\"\\u01AF\\u1EDBc t\\xEDnh\",payments:\"Thanh to\\xE1n\",reports:\"B\\xE1o c\\xE1o\",settings:\"C\\xE0i \\u0111\\u1EB7t\",logout:\"\\u0110\\u0103ng xu\\u1EA5t\",users:\"Ng\\u01B0\\u1EDDi d\\xF9ng\",modules:\"Modules\"},Zk={add_company:\"Th\\xEAm c\\xF4ng ty\",view_pdf:\"Xem PDF\",copy_pdf_url:\"Sao ch\\xE9p Url PDF\",download_pdf:\"t\\u1EA3i PDF\",save:\"Ti\\u1EBFt ki\\u1EC7m\",create:\"T\\u1EA1o n\\xEAn\",cancel:\"Hu\\u1EF7 b\\u1ECF\",update:\"C\\u1EADp nh\\u1EADt\",deselect:\"B\\u1ECF ch\\u1ECDn\",download:\"T\\u1EA3i xu\\u1ED1ng\",from_date:\"T\\u1EEB ng\\xE0y\",to_date:\"\\u0110\\u1EBFn nay\",from:\"T\\u1EEB\",to:\"\\u0110\\u1EBFn\",ok:\"OK\",yes:\"\\u0110\\xFAng\",no:\"Kh\\xF4ng\",sort_by:\"S\\u1EAFp x\\u1EBFp theo\",ascending:\"T\\u0103ng d\\u1EA7n\",descending:\"Gi\\u1EA3m d\\u1EA7n\",subject:\"M\\xF4n h\\u1ECDc\",body:\"Th\\xE2n h\\xECnh\",message:\"Th\\xF4ng \\u0111i\\u1EC7p\",send:\"G\\u1EEDi\",preview:\"Xem tr\\u01B0\\u1EDBc\",go_back:\"Quay l\\u1EA1i\",back_to_login:\"Quay l\\u1EA1i \\u0111\\u0103ng nh\\u1EADp?\",home:\"Trang Ch\\u1EE7\",filter:\"B\\u1ED9 l\\u1ECDc\",delete:\"X\\xF3a b\\u1ECF\",edit:\"Bi\\xEAn t\\u1EADp\",view:\"L\\u01B0\\u1EE3t xem\",add_new_item:\"Th\\xEAm m\\u1EE5c m\\u1EDBi\",clear_all:\"L\\xE0m s\\u1EA1ch t\\u1EA5t c\\u1EA3\",showing:\"Hi\\u1EC3n th\\u1ECB\",of:\"c\\u1EE7a\",actions:\"H\\xE0nh \\u0111\\u1ED9ng\",subtotal:\"TI\\xCAU \\u0110\\u1EC0\",discount:\"GI\\u1EA2M GI\\xC1\",fixed:\"\\u0111\\xE3 s\\u1EEDa\",percentage:\"Ph\\u1EA7n tr\\u0103m\",tax:\"THU\\u1EBE\",total_amount:\"T\\xD4\\u0309NG C\\xD4\\u0323NG\",bill_to:\"Hoa \\u0111\\u01A1n \\u0111\\xEA\\u0309\",ship_to:\"T\\xE0u\",due:\"\\u0110\\u1EBFn h\\u1EA1n\",draft:\"B\\u1EA3n nh\\xE1p\",sent:\"G\\u1EDFi\",all:\"T\\u1EA5t c\\u1EA3\",select_all:\"Ch\\u1ECDn t\\u1EA5t c\\u1EA3\",select_template:\"Ch\\u1ECDn Template\",choose_file:\"B\\u1EA5m v\\xE0o \\u0111\\xE2y \\u0111\\u1EC3 ch\\u1ECDn m\\u1ED9t t\\u1EADp tin\",choose_template:\"Ch\\u1ECDn m\\u1ED9t m\\u1EABu\",choose:\"Ch\\u1ECDn\",remove:\"T\\u1EA9y\",select_a_status:\"Ch\\u1ECDn m\\u1ED9t tr\\u1EA1ng th\\xE1i\",select_a_tax:\"Ch\\u1ECDn thu\\u1EBF\",search:\"T\\xECm ki\\u1EBFm\",are_you_sure:\"B\\u1EA1n c\\xF3 ch\\u1EAFc kh\\xF4ng?\",list_is_empty:\"Danh s\\xE1ch tr\\u1ED1ng.\",no_tax_found:\"Kh\\xF4ng t\\xECm th\\u1EA5y thu\\u1EBF!\",four_zero_four:\"404\",you_got_lost:\"R\\u1EA5t ti\\u1EBFc! B\\u1EA1n b\\u1ECB l\\u1EA1c r\\u1ED3i!\",go_home:\"V\\u1EC1 nh\\xE0\",test_mail_conf:\"Ki\\u1EC3m tra c\\u1EA5u h\\xECnh th\\u01B0\",send_mail_successfully:\"Th\\u01B0 \\u0111\\xE3 \\u0111\\u01B0\\u1EE3c g\\u1EEDi th\\xE0nh c\\xF4ng\",setting_updated:\"\\u0110\\xE3 c\\u1EADp nh\\u1EADt c\\xE0i \\u0111\\u1EB7t th\\xE0nh c\\xF4ng\",select_state:\"Ch\\u1ECDn tr\\u1EA1ng th\\xE1i\",select_country:\"Ch\\u1ECDn qu\\u1ED1c gia\",select_city:\"L\\u1EF1a ch\\u1ECDn th\\xE0nh ph\\u1ED1\",street_1:\"\\u0111\\u01B0\\u1EDDng s\\u1ED1 1\",street_2:\"\\u0110\\u01B0\\u1EDDng 2\",action_failed:\"Di\\u1EC5n: \\u0110\\xE3 th\\u1EA5t b\\u1EA1i\",retry:\"Th\\u1EED l\\u1EA1i\",choose_note:\"Ch\\u1ECDn Ghi ch\\xFA\",no_note_found:\"Kh\\xF4ng t\\xECm th\\u1EA5y ghi ch\\xFA\",insert_note:\"Ch\\xE8n ghi ch\\xFA\",copied_pdf_url_clipboard:\"\\u0110\\xE3 sao ch\\xE9p url PDF v\\xE0o khay nh\\u1EDB t\\u1EA1m!\",copied_url_clipboard:\"Copied url to clipboard!\",docs:\"T\\xE0i li\\u1EC7u\",do_you_wish_to_continue:\"B\\u1EA1n c\\xF3 mu\\u1ED1n ti\\u1EBFp t\\u1EE5c kh\\xF4ng?\",note:\"Ghi ch\\xFA\",pay_invoice:\"Pay Invoice\",login_successfully:\"Logged in successfully!\",logged_out_successfully:\"Logged out successfully\",mark_as_default:\"\\u0110\\xE1nh d\\u1EA5u m\\u1EB7c \\u0111\\u1ECBnh\"},Wk={select_year:\"Ch\\u1ECDn n\\u0103m\",cards:{due_amount:\"S\\u1ED1 ti\\u1EC1n \\u0111\\u1EBFn h\\u1EA1n\",customers:\"Kh\\xE1ch h\\xE0ng\",invoices:\"H\\xF3a \\u0111\\u01A1n\",estimates:\"\\u01AF\\u1EDBc t\\xEDnh\",payments:\"Payments\"},chart_info:{total_sales:\"B\\xE1n h\\xE0ng\",total_receipts:\"Bi\\xEAn lai\",total_expense:\"Chi ph\\xED\",net_income:\"Thu nh\\u1EADp r\\xF2ng\",year:\"Ch\\u1ECDn n\\u0103m\"},monthly_chart:{title:\"B\\xE1n h\\xE0ng\"},recent_invoices_card:{title:\"H\\xF3a \\u0111\\u01A1n \\u0111\\u1EBFn h\\u1EA1n\",due_on:\"\\u0110\\u1EBFn h\\u1EA1n v\\xE0o\",customer:\"kh\\xE1ch h\\xE0ng\",amount_due:\"S\\u1ED1 ti\\u1EC1n \\u0111\\u1EBFn h\\u1EA1n\",actions:\"H\\xE0nh \\u0111\\u1ED9ng\",view_all:\"Xem t\\u1EA5t c\\u1EA3\"},recent_estimate_card:{title:\"C\\xE1c \\u01B0\\u1EDBc t\\xEDnh g\\u1EA7n \\u0111\\xE2y\",date:\"Ng\\xE0y\",customer:\"kh\\xE1ch h\\xE0ng\",amount_due:\"S\\u1ED1 ti\\u1EC1n \\u0111\\u1EBFn h\\u1EA1n\",actions:\"H\\xE0nh \\u0111\\u1ED9ng\",view_all:\"Xem t\\u1EA5t c\\u1EA3\"}},Hk={name:\"T\\xEAn\",description:\"S\\u1EF1 mi\\xEAu t\\u1EA3\",percent:\"Ph\\u1EA7n tr\\u0103m\",compound_tax:\"Thu\\u1EBF t\\u1ED5ng h\\u1EE3p\"},Yk={search:\"T\\xECm ki\\u1EBFm...\",customers:\"Kh\\xE1ch h\\xE0ng\",users:\"Ng\\u01B0\\u1EDDi d\\xF9ng\",no_results_found:\"Kh\\xF4ng t\\xECm th\\u1EA5y k\\u1EBFt qu\\u1EA3 n\\xE0o\"},Gk={label:\"\\u0110\\u1ED5i doanh nghi\\u1EC7p\",no_results_found:\"Kh\\xF4ng t\\xECm th\\u1EA5y k\\u1EBFt qu\\u1EA3 n\\xE0o\",add_new_company:\"Th\\xEAm doanh nghi\\u1EC7p\",new_company:\"Doanh nghi\\u1EC7p m\\u1EDBi\",created_message:\"Kh\\u1EDFi t\\u1EA1o doanh nghi\\u1EC7p th\\xE0nh c\\xF4ng\"},Jk={today:\"H\\xF4m nay\",this_week:\"Tu\\u1EA7n n\\xE0y\",this_month:\"Th\\xE1ng n\\xE0y\",this_quarter:\"Qu\\xFD n\\xE0y\",this_year:\"N\\u0103m nay\",previous_week:\"Tu\\u1EA7n tr\\u01B0\\u1EDBc\",previous_month:\"Th\\xE1ng tr\\u01B0\\u1EDBc\",previous_quarter:\"Qu\\xFD tr\\u01B0\\u1EDBc\",previous_year:\"N\\u0103m tr\\u01B0\\u1EDBc\",custom:\"Tu\\u1EF3 ch\\u1EC9nh\"},Qk={title:\"Kh\\xE1ch h\\xE0ng\",prefix:\"Ti\\u1EC1n t\\u1ED1\",add_customer:\"Th\\xEAm kh\\xE1ch h\\xE0ng\",contacts_list:\"Danh s\\xE1ch kh\\xE1ch h\\xE0ng\",name:\"T\\xEAn\",mail:\"Th\\u01B0 t\\xEDn | Th\\u01B0\",statement:\"Tuy\\xEAn b\\u1ED1\",display_name:\"T\\xEAn hi\\u1EC3n th\\u1ECB\",primary_contact_name:\"T\\xEAn li\\xEAn h\\u1EC7 ch\\xEDnh\",contact_name:\"T\\xEAn Li\\xEAn l\\u1EA1c\",amount_due:\"S\\u1ED1 ti\\u1EC1n \\u0111\\u1EBFn h\\u1EA1n\",email:\"E-mail\",address:\"\\u0110\\u1ECBa ch\\u1EC9\",phone:\"\\u0110i\\u1EC7n tho\\u1EA1i\",website:\"Trang m\\u1EA1ng\",overview:\"T\\u1ED5ng quat\",invoice_prefix:\"Ti\\u1EC1n t\\u1ED1 h\\xF3a \\u0111\\u01A1n\",estimate_prefix:\"Ti\\u1EC1n t\\u1ED1 \\u01B0\\u1EDBc t\\xEDnh\",payment_prefix:\"Ti\\u1EC1n t\\u1ED1 thanh to\\xE1n\",enable_portal:\"B\\u1EADt C\\u1ED5ng th\\xF4ng tin\",country:\"Qu\\u1ED1c gia\",state:\"Ti\\u1EC3u bang\",city:\"Tp.\",zip_code:\"M\\xE3 B\\u01B0u Ch\\xEDnh\",added_on:\"\\u0110\\xE3 th\\xEAm v\\xE0o\",action:\"Ho\\u1EA1t \\u0111\\u1ED9ng\",password:\"M\\u1EADt kh\\u1EA9u\",confirm_password:\"X\\xE1c nh\\u1EADn m\\u1EADt kh\\u1EA9u\",street_number:\"S\\u1ED1 \\u0111\\u01B0\\u1EDDng\",primary_currency:\"Ti\\u1EC1n t\\u1EC7 ch\\xEDnh\",description:\"S\\u1EF1 mi\\xEAu t\\u1EA3\",add_new_customer:\"Th\\xEAm kh\\xE1ch h\\xE0ng m\\u1EDBi\",save_customer:\"L\\u01B0u kh\\xE1ch h\\xE0ng\",update_customer:\"C\\u1EADp nh\\u1EADt kh\\xE1ch h\\xE0ng\",customer:\"Kh\\xE1ch h\\xE0ng | Kh\\xE1ch h\\xE0ng\",new_customer:\"Kh\\xE1ch h\\xE0ng m\\u1EDBi\",edit_customer:\"Ch\\u1EC9nh s\\u1EEDa kh\\xE1ch h\\xE0ng\",basic_info:\"Th\\xF4ng tin c\\u01A1 b\\u1EA3n\",portal_access:\"Portal Access\",portal_access_text:\"Would you like to allow this customer to login to the Customer Portal?\",portal_access_url:\"Customer Portal Login URL\",portal_access_url_help:\"Please copy & forward the above given URL to your customer for providing access.\",billing_address:\"\\u0110\\u1ECBa ch\\u1EC9 thanh to\\xE1n\",shipping_address:\"\\u0110\\u1ECBa ch\\u1EC9 giao h\\xE0ng\",copy_billing_address:\"Sao ch\\xE9p t\\u1EEB thanh to\\xE1n\",no_customers:\"Ch\\u01B0a c\\xF3 kh\\xE1ch h\\xE0ng!\",no_customers_found:\"Kh\\xF4ng t\\xECm th\\u1EA5y kh\\xE1ch h\\xE0ng n\\xE0o!\",no_contact:\"Kh\\xF4ng c\\xF3 li\\xEAn l\\u1EA1c\",no_contact_name:\"Kh\\xF4ng c\\xF3 t\\xEAn li\\xEAn h\\u1EC7\",list_of_customers:\"Ph\\u1EA7n n\\xE0y s\\u1EBD ch\\u1EE9a danh s\\xE1ch c\\xE1c kh\\xE1ch h\\xE0ng.\",primary_display_name:\"T\\xEAn hi\\u1EC3n th\\u1ECB ch\\xEDnh\",select_currency:\"Ch\\u1ECDn \\u0111\\u01A1n v\\u1ECB ti\\u1EC1n t\\u1EC7\",select_a_customer:\"Ch\\u1ECDn m\\u1ED9t kh\\xE1ch h\\xE0ng\",type_or_click:\"Nh\\u1EADp ho\\u1EB7c nh\\u1EA5p \\u0111\\u1EC3 ch\\u1ECDn\",new_transaction:\"Giao d\\u1ECBch m\\u1EDBi\",no_matching_customers:\"Kh\\xF4ng c\\xF3 kh\\xE1ch h\\xE0ng ph\\xF9 h\\u1EE3p!\",phone_number:\"S\\u1ED1 \\u0111i\\u1EC7n tho\\u1EA1i\",create_date:\"T\\u1EA1o ng\\xE0y\",confirm_delete:\"B\\u1EA1n s\\u1EBD kh\\xF4ng th\\u1EC3 kh\\xF4i ph\\u1EE5c kh\\xE1ch h\\xE0ng n\\xE0y v\\xE0 t\\u1EA5t c\\u1EA3 c\\xE1c H\\xF3a \\u0111\\u01A1n, \\u01AF\\u1EDBc t\\xEDnh v\\xE0 Thanh to\\xE1n c\\xF3 li\\xEAn quan. | B\\u1EA1n s\\u1EBD kh\\xF4ng th\\u1EC3 kh\\xF4i ph\\u1EE5c nh\\u1EEFng kh\\xE1ch h\\xE0ng n\\xE0y v\\xE0 t\\u1EA5t c\\u1EA3 c\\xE1c H\\xF3a \\u0111\\u01A1n, \\u01AF\\u1EDBc t\\xEDnh v\\xE0 Thanh to\\xE1n c\\xF3 li\\xEAn quan.\",created_message:\"Kh\\xE1ch h\\xE0ng \\u0111\\u01B0\\u1EE3c t\\u1EA1o th\\xE0nh c\\xF4ng\",updated_message:\"\\u0110\\xE3 c\\u1EADp nh\\u1EADt kh\\xE1ch h\\xE0ng th\\xE0nh c\\xF4ng\",address_updated_message:\"Address Information Updated succesfully\",deleted_message:\"\\u0110\\xE3 x\\xF3a kh\\xE1ch h\\xE0ng th\\xE0nh c\\xF4ng | \\u0110\\xE3 x\\xF3a kh\\xE1ch h\\xE0ng th\\xE0nh c\\xF4ng\",edit_currency_not_allowed:\"Kh\\xF4ng th\\u1EC3 \\u0111\\u1ED5i ti\\u1EC1n t\\u1EC7 khi b\\u1EA3n d\\u1ECBch \\u0111\\xE3 \\u0111\\u01B0\\u1EE3c t\\u1EA1o.\"},Xk={title:\"M\\u1EB7t h\\xE0ng\",items_list:\"Danh s\\xE1ch m\\u1EB7t h\\xE0ng\",name:\"T\\xEAn\",unit:\"\\u0110\\u01A1n v\\u1ECB\",description:\"S\\u1EF1 mi\\xEAu t\\u1EA3\",added_on:\"\\u0110\\xE3 th\\xEAm v\\xE0o\",price:\"Gi\\xE1 b\\xE1n\",date_of_creation:\"Ng\\xE0y t\\u1EA1o\",not_selected:\"Kh\\xF4ng c\\xF3 m\\u1EE5c n\\xE0o \\u0111\\u01B0\\u1EE3c ch\\u1ECDn\",action:\"Ho\\u1EA1t \\u0111\\u1ED9ng\",add_item:\"Th\\xEAm m\\u1EB7t h\\xE0ng\",save_item:\"L\\u01B0u m\\u1EE5c\",update_item:\"C\\u1EADp nh\\u1EADt m\\u1EB7t h\\xE0ng\",item:\"M\\u1EB7t h\\xE0ng | M\\u1EB7t h\\xE0ng\",add_new_item:\"Th\\xEAm m\\u1EE5c m\\u1EDBi\",new_item:\"V\\u1EADt ph\\u1EA9m m\\u1EDBi\",edit_item:\"Ch\\u1EC9nh s\\u1EEDa m\\u1EE5c\",no_items:\"Ch\\u01B0a c\\xF3 m\\u1EB7t h\\xE0ng n\\xE0o!\",list_of_items:\"Ph\\u1EA7n n\\xE0y s\\u1EBD ch\\u1EE9a danh s\\xE1ch c\\xE1c m\\u1EE5c.\",select_a_unit:\"ch\\u1ECDn \\u0111\\u01A1n v\\u1ECB\",taxes:\"Thu\\u1EBF\",item_attached_message:\"Kh\\xF4ng th\\u1EC3 x\\xF3a m\\u1ED9t m\\u1EE5c \\u0111\\xE3 \\u0111\\u01B0\\u1EE3c s\\u1EED d\\u1EE5ng\",confirm_delete:\"B\\u1EA1n s\\u1EBD kh\\xF4ng th\\u1EC3 kh\\xF4i ph\\u1EE5c V\\u1EADt ph\\u1EA9m n\\xE0y | B\\u1EA1n s\\u1EBD kh\\xF4ng th\\u1EC3 kh\\xF4i ph\\u1EE5c c\\xE1c M\\u1EE5c n\\xE0y\",created_message:\"M\\u1EE5c \\u0111\\u01B0\\u1EE3c t\\u1EA1o th\\xE0nh c\\xF4ng\",updated_message:\"\\u0110\\xE3 c\\u1EADp nh\\u1EADt m\\u1EB7t h\\xE0ng th\\xE0nh c\\xF4ng\",deleted_message:\"\\u0110\\xE3 x\\xF3a m\\u1EE5c th\\xE0nh c\\xF4ng | C\\xE1c m\\u1EE5c \\u0111\\xE3 \\u0111\\u01B0\\u1EE3c x\\xF3a th\\xE0nh c\\xF4ng\"},ew={title:\"\\u01AF\\u1EDBc t\\xEDnh\",accept_estimate:\"Accept Estimate\",reject_estimate:\"Reject Estimate\",estimate:\"\\u01AF\\u1EDBc t\\xEDnh | \\u01AF\\u1EDBc t\\xEDnh\",estimates_list:\"Danh s\\xE1ch \\u01B0\\u1EDBc t\\xEDnh\",days:\"{days} Ng\\xE0y\",months:\"{th\\xE1ng} th\\xE1ng\",years:\"{n\\u0103m} N\\u0103m\",all:\"T\\u1EA5t c\\u1EA3\",paid:\"\\u0110\\xE3 thanh to\\xE1n\",unpaid:\"Ch\\u01B0a thanh to\\xE1n\",customer:\"KH\\xC1CH H\\xC0NG\",ref_no:\"REF KH\\xD4NG.\",number:\"CON S\\u1ED0\",amount_due:\"S\\u1ED0 TI\\u1EC0N \\u0110\\xDANG\",partially_paid:\"Thanh to\\xE1n m\\u1ED9t ph\\u1EA7n\",total:\"To\\xE0n b\\u1ED9\",discount:\"Gi\\u1EA3m gi\\xE1\",sub_total:\"T\\u1ED5ng ph\\u1EE5\",estimate_number:\"S\\u1ED1 \\u01B0\\u1EDBc t\\xEDnh\",ref_number:\"S\\u1ED1 REF\",contact:\"Ti\\u1EBFp x\\xFAc\",add_item:\"Th\\xEAm m\\u1ED9t m\\u1EB7t h\\xE0ng\",date:\"Ng\\xE0y\",due_date:\"Ng\\xE0y \\u0111\\xE1o h\\u1EA1n\",expiry_date:\"Ng\\xE0y h\\u1EBFt h\\u1EA1n\",status:\"Tr\\u1EA1ng th\\xE1i\",add_tax:\"Th\\xEAm thu\\u1EBF\",amount:\"S\\u1ED1 ti\\u1EC1n\",action:\"Ho\\u1EA1t \\u0111\\u1ED9ng\",notes:\"Ghi ch\\xFA\",tax:\"Thu\\u1EBF\",estimate_template:\"B\\u1EA3n m\\u1EABu\",convert_to_invoice:\"Chuy\\u1EC3n \\u0111\\u1ED5i sang h\\xF3a \\u0111\\u01A1n\",mark_as_sent:\"\\u0110\\xE1nh d\\u1EA5u l\\xE0 \\u0110\\xE3 g\\u1EEDi\",send_estimate:\"G\\u1EEDi \\u01B0\\u1EDBc t\\xEDnh\",resend_estimate:\"G\\u1EEDi l\\u1EA1i \\u01B0\\u1EDBc t\\xEDnh\",record_payment:\"Ghi l\\u1EA1i Thanh to\\xE1n\",add_estimate:\"Th\\xEAm \\u01B0\\u1EDBc t\\xEDnh\",save_estimate:\"L\\u01B0u \\u01B0\\u1EDBc t\\xEDnh\",confirm_conversion:\"\\u01AF\\u1EDBc t\\xEDnh n\\xE0y s\\u1EBD \\u0111\\u01B0\\u1EE3c s\\u1EED d\\u1EE5ng \\u0111\\u1EC3 t\\u1EA1o H\\xF3a \\u0111\\u01A1n m\\u1EDBi.\",conversion_message:\"H\\xF3a \\u0111\\u01A1n \\u0111\\u01B0\\u1EE3c t\\u1EA1o th\\xE0nh c\\xF4ng\",confirm_send_estimate:\"\\u01AF\\u1EDBc t\\xEDnh n\\xE0y s\\u1EBD \\u0111\\u01B0\\u1EE3c g\\u1EEDi qua email cho kh\\xE1ch h\\xE0ng\",confirm_mark_as_sent:\"\\u01AF\\u1EDBc t\\xEDnh n\\xE0y s\\u1EBD \\u0111\\u01B0\\u1EE3c \\u0111\\xE1nh d\\u1EA5u l\\xE0 \\u0111\\xE3 g\\u1EEDi\",confirm_mark_as_accepted:\"\\u01AF\\u1EDBc t\\xEDnh n\\xE0y s\\u1EBD \\u0111\\u01B0\\u1EE3c \\u0111\\xE1nh d\\u1EA5u l\\xE0 \\u0110\\xE3 ch\\u1EA5p nh\\u1EADn\",confirm_mark_as_rejected:\"\\u01AF\\u1EDBc t\\xEDnh n\\xE0y s\\u1EBD \\u0111\\u01B0\\u1EE3c \\u0111\\xE1nh d\\u1EA5u l\\xE0 B\\u1ECB t\\u1EEB ch\\u1ED1i\",no_matching_estimates:\"Kh\\xF4ng c\\xF3 \\u01B0\\u1EDBc t\\xEDnh ph\\xF9 h\\u1EE3p!\",mark_as_sent_successfully:\"\\u01AF\\u1EDBc t\\xEDnh \\u0111\\u01B0\\u1EE3c \\u0111\\xE1nh d\\u1EA5u l\\xE0 \\u0111\\xE3 g\\u1EEDi th\\xE0nh c\\xF4ng\",send_estimate_successfully:\"\\u01AF\\u1EDBc t\\xEDnh \\u0111\\xE3 \\u0111\\u01B0\\u1EE3c g\\u1EEDi th\\xE0nh c\\xF4ng\",errors:{required:\"L\\u0129nh v\\u1EF1c \\u0111\\u01B0\\u1EE3c y\\xEAu c\\u1EA7u\"},accepted:\"\\u0110\\xE3 \\u0111\\u01B0\\u1EE3c ch\\u1EA5p nh\\u1EADn\",rejected:\"T\\u1EEB ch\\u1ED1i\",expired:\"Expired\",sent:\"G\\u1EDFi\",draft:\"B\\u1EA3n nh\\xE1p\",viewed:\"Viewed\",declined:\"Suy gi\\u1EA3m\",new_estimate:\"\\u01AF\\u1EDBc t\\xEDnh m\\u1EDBi\",add_new_estimate:\"Th\\xEAm \\u01B0\\u1EDBc t\\xEDnh m\\u1EDBi\",update_Estimate:\"C\\u1EADp nh\\u1EADt \\u01B0\\u1EDBc t\\xEDnh\",edit_estimate:\"Ch\\u1EC9nh s\\u1EEDa \\u01B0\\u1EDBc t\\xEDnh\",items:\"m\\u1EB7t h\\xE0ng\",Estimate:\"\\u01AF\\u1EDBc t\\xEDnh | \\u01AF\\u1EDBc t\\xEDnh\",add_new_tax:\"Th\\xEAm thu\\u1EBF m\\u1EDBi\",no_estimates:\"Ch\\u01B0a c\\xF3 \\u01B0\\u1EDBc t\\xEDnh n\\xE0o!\",list_of_estimates:\"Ph\\u1EA7n n\\xE0y s\\u1EBD ch\\u1EE9a danh s\\xE1ch c\\xE1c \\u01B0\\u1EDBc t\\xEDnh.\",mark_as_rejected:\"\\u0110\\xE1nh d\\u1EA5u l\\xE0 b\\u1ECB t\\u1EEB ch\\u1ED1i\",mark_as_accepted:\"\\u0110\\xE1nh d\\u1EA5u l\\xE0 \\u0111\\xE3 ch\\u1EA5p nh\\u1EADn\",marked_as_accepted_message:\"\\u01AF\\u1EDBc t\\xEDnh \\u0111\\u01B0\\u1EE3c \\u0111\\xE1nh d\\u1EA5u l\\xE0 \\u0111\\u01B0\\u1EE3c ch\\u1EA5p nh\\u1EADn\",marked_as_rejected_message:\"\\u01AF\\u1EDBc t\\xEDnh \\u0111\\u01B0\\u1EE3c \\u0111\\xE1nh d\\u1EA5u l\\xE0 b\\u1ECB t\\u1EEB ch\\u1ED1i\",confirm_delete:\"B\\u1EA1n s\\u1EBD kh\\xF4ng th\\u1EC3 kh\\xF4i ph\\u1EE5c \\u01AF\\u1EDBc t\\xEDnh n\\xE0y | B\\u1EA1n s\\u1EBD kh\\xF4ng th\\u1EC3 kh\\xF4i ph\\u1EE5c c\\xE1c \\u01AF\\u1EDBc t\\xEDnh n\\xE0y\",created_message:\"\\u01AF\\u1EDBc t\\xEDnh \\u0111\\u01B0\\u1EE3c t\\u1EA1o th\\xE0nh c\\xF4ng\",updated_message:\"\\u0110\\xE3 c\\u1EADp nh\\u1EADt \\u01B0\\u1EDBc t\\xEDnh th\\xE0nh c\\xF4ng\",deleted_message:\"\\u0110\\xE3 x\\xF3a \\u01B0\\u1EDBc t\\xEDnh th\\xE0nh c\\xF4ng | \\u0110\\xE3 x\\xF3a \\u01B0\\u1EDBc t\\xEDnh th\\xE0nh c\\xF4ng\",something_went_wrong:\"c\\xF3 g\\xEC \\u0111\\xF3 kh\\xF4ng \\u1ED5n\",item:{title:\"Danh m\\u1EE5c\",description:\"S\\u1EF1 mi\\xEAu t\\u1EA3\",quantity:\"\\u0110\\u1ECBnh l\\u01B0\\u1EE3ng\",price:\"Gi\\xE1 b\\xE1n\",discount:\"Gi\\u1EA3m gi\\xE1\",total:\"To\\xE0n b\\u1ED9\",total_discount:\"T\\u1ED5ng kh\\u1EA5u tr\\u1EEB\",sub_total:\"T\\u1ED5ng ph\\u1EE5\",tax:\"Thu\\u1EBF\",amount:\"S\\u1ED1 ti\\u1EC1n\",select_an_item:\"Nh\\u1EADp ho\\u1EB7c nh\\u1EA5p \\u0111\\u1EC3 ch\\u1ECDn m\\u1ED9t m\\u1EE5c\",type_item_description:\"Lo\\u1EA1i M\\u1EE5c M\\xF4 t\\u1EA3 (t\\xF9y ch\\u1ECDn)\"},mark_as_default_estimate_template_description:\"N\\u1EBFu b\\u1EADt, m\\u1EABu \\u0111ang ch\\u1ECDn s\\u1EBD \\u0111\\u01B0\\u1EE3c t\\u1EF1 \\u0111\\u1ED9ng \\xE1p d\\u1EE5ng cho \\u01B0\\u1EDBc t\\xEDnh m\\u1EDBi.\"},tw={title:\"H\\xF3a \\u0111\\u01A1n\",download:\"Download\",pay_invoice:\"Pay Invoice\",invoices_list:\"Danh s\\xE1ch h\\xF3a \\u0111\\u01A1n\",invoice_information:\"Invoice Information\",days:\"{days} Ng\\xE0y\",months:\"{th\\xE1ng} th\\xE1ng\",years:\"{n\\u0103m} N\\u0103m\",all:\"T\\u1EA5t c\\u1EA3\",paid:\"\\u0110\\xE3 thanh to\\xE1n\",unpaid:\"Ch\\u01B0a thanh to\\xE1n\",viewed:\"\\u0110\\xE3 xem\",overdue:\"Qu\\xE1 h\\u1EA1n\",completed:\"\\u0110\\xE3 ho\\xE0n th\\xE0nh\",customer:\"KH\\xC1CH H\\xC0NG\",paid_status:\"TR\\u1EA0NG TH\\xC1I \\u0110\\xC3 TR\\u1EA2 TI\\u1EC0N\",ref_no:\"REF KH\\xD4NG.\",number:\"CON S\\u1ED0\",amount_due:\"S\\u1ED0 TI\\u1EC0N \\u0110\\xDANG\",partially_paid:\"Thanh to\\xE1n m\\u1ED9t ph\\u1EA7n\",total:\"To\\xE0n b\\u1ED9\",discount:\"Gi\\u1EA3m gi\\xE1\",sub_total:\"T\\u1ED5ng ph\\u1EE5\",invoice:\"H\\xF3a \\u0111\\u01A1n | H\\xF3a \\u0111\\u01A1n\",invoice_number:\"S\\u1ED1 h\\xF3a \\u0111\\u01A1n\",ref_number:\"S\\u1ED1 REF\",contact:\"Ti\\u1EBFp x\\xFAc\",add_item:\"Th\\xEAm m\\u1ED9t m\\u1EB7t h\\xE0ng\",date:\"Ng\\xE0y\",due_date:\"Ng\\xE0y \\u0111\\xE1o h\\u1EA1n\",status:\"Tr\\u1EA1ng th\\xE1i\",add_tax:\"Th\\xEAm thu\\u1EBF\",amount:\"S\\u1ED1 ti\\u1EC1n\",action:\"Ho\\u1EA1t \\u0111\\u1ED9ng\",notes:\"Ghi ch\\xFA\",view:\"L\\u01B0\\u1EE3t xem\",send_invoice:\"G\\u1EEDi h\\xF3a \\u0111\\u01A1n\",resend_invoice:\"G\\u1EEDi l\\u1EA1i h\\xF3a \\u0111\\u01A1n\",invoice_template:\"M\\u1EABu h\\xF3a \\u0111\\u01A1n\",conversion_message:\"H\\xF3a \\u0111\\u01A1n \\u0111\\u01B0\\u1EE3c sao ch\\xE9p th\\xE0nh c\\xF4ng\",template:\"B\\u1EA3n m\\u1EABu\",mark_as_sent:\"\\u0110\\xE1nh d\\u1EA5u l\\xE0 \\u0111\\xE3 g\\u1EEDi\",confirm_send_invoice:\"H\\xF3a \\u0111\\u01A1n n\\xE0y s\\u1EBD \\u0111\\u01B0\\u1EE3c g\\u1EEDi qua email cho kh\\xE1ch h\\xE0ng\",invoice_mark_as_sent:\"H\\xF3a \\u0111\\u01A1n n\\xE0y s\\u1EBD \\u0111\\u01B0\\u1EE3c \\u0111\\xE1nh d\\u1EA5u l\\xE0 \\u0111\\xE3 g\\u1EEDi\",confirm_mark_as_accepted:\"H\\xF3a \\u0111\\u01A1n n\\xE0y s\\u1EBD \\u0111\\u01B0\\u1EE3c \\u0111\\xE1nh d\\u1EA5u l\\xE0 \\u0110\\xE3 ch\\u1EA5p nh\\u1EADn\",confirm_mark_as_rejected:\"H\\xF3a \\u0111\\u01A1n n\\xE0y s\\u1EBD \\u0111\\u01B0\\u1EE3c \\u0111\\xE1nh d\\u1EA5u l\\xE0 \\u0110\\xE3 t\\u1EEB ch\\u1ED1i\",confirm_send:\"H\\xF3a \\u0111\\u01A1n n\\xE0y s\\u1EBD \\u0111\\u01B0\\u1EE3c g\\u1EEDi qua email cho kh\\xE1ch h\\xE0ng\",invoice_date:\"Ng\\xE0y l\\u1EADp h\\xF3a \\u0111\\u01A1n\",record_payment:\"Ghi l\\u1EA1i Thanh to\\xE1n\",add_new_invoice:\"Th\\xEAm h\\xF3a \\u0111\\u01A1n m\\u1EDBi\",update_expense:\"C\\u1EADp nh\\u1EADt chi ph\\xED\",edit_invoice:\"Ch\\u1EC9nh s\\u1EEDa h\\xF3a \\u0111\\u01A1n\",new_invoice:\"H\\xF3a \\u0111\\u01A1n m\\u1EDBi\",save_invoice:\"L\\u01B0u h\\xF3a \\u0111\\u01A1n\",update_invoice:\"C\\u1EADp nh\\u1EADt h\\xF3a \\u0111\\u01A1n\",add_new_tax:\"Th\\xEAm thu\\u1EBF m\\u1EDBi\",no_invoices:\"Ch\\u01B0a c\\xF3 h\\xF3a \\u0111\\u01A1n!\",mark_as_rejected:\"\\u0110\\xE1nh d\\u1EA5u l\\xE0 b\\u1ECB t\\u1EEB ch\\u1ED1i\",mark_as_accepted:\"\\u0110\\xE1nh d\\u1EA5u l\\xE0 \\u0111\\xE3 ch\\u1EA5p nh\\u1EADn\",list_of_invoices:\"Ph\\u1EA7n n\\xE0y s\\u1EBD ch\\u1EE9a danh s\\xE1ch c\\xE1c h\\xF3a \\u0111\\u01A1n.\",select_invoice:\"Ch\\u1ECDn h\\xF3a \\u0111\\u01A1n\",no_matching_invoices:\"Kh\\xF4ng c\\xF3 h\\xF3a \\u0111\\u01A1n ph\\xF9 h\\u1EE3p!\",mark_as_sent_successfully:\"H\\xF3a \\u0111\\u01A1n \\u0111\\u01B0\\u1EE3c \\u0111\\xE1nh d\\u1EA5u l\\xE0 \\u0111\\xE3 g\\u1EEDi th\\xE0nh c\\xF4ng\",invoice_sent_successfully:\"H\\xF3a \\u0111\\u01A1n \\u0111\\xE3 \\u0111\\u01B0\\u1EE3c g\\u1EEDi th\\xE0nh c\\xF4ng\",cloned_successfully:\"H\\xF3a \\u0111\\u01A1n \\u0111\\u01B0\\u1EE3c sao ch\\xE9p th\\xE0nh c\\xF4ng\",clone_invoice:\"H\\xF3a \\u0111\\u01A1n nh\\xE2n b\\u1EA3n\",confirm_clone:\"H\\xF3a \\u0111\\u01A1n n\\xE0y s\\u1EBD \\u0111\\u01B0\\u1EE3c sao ch\\xE9p v\\xE0o m\\u1ED9t H\\xF3a \\u0111\\u01A1n m\\u1EDBi\",item:{title:\"Danh m\\u1EE5c\",description:\"S\\u1EF1 mi\\xEAu t\\u1EA3\",quantity:\"\\u0110\\u1ECBnh l\\u01B0\\u1EE3ng\",price:\"Gi\\xE1 b\\xE1n\",discount:\"Gi\\u1EA3m gi\\xE1\",total:\"To\\xE0n b\\u1ED9\",total_discount:\"T\\u1ED5ng kh\\u1EA5u tr\\u1EEB\",sub_total:\"T\\u1ED5ng ph\\u1EE5\",tax:\"Thu\\u1EBF\",amount:\"S\\u1ED1 ti\\u1EC1n\",select_an_item:\"Nh\\u1EADp ho\\u1EB7c nh\\u1EA5p \\u0111\\u1EC3 ch\\u1ECDn m\\u1ED9t m\\u1EE5c\",type_item_description:\"Lo\\u1EA1i M\\u1EE5c M\\xF4 t\\u1EA3 (t\\xF9y ch\\u1ECDn)\"},payment_attached_message:\"M\\u1ED9t trong c\\xE1c h\\xF3a \\u0111\\u01A1n \\u0111\\u01B0\\u1EE3c ch\\u1ECDn \\u0111\\xE3 c\\xF3 m\\u1ED9t kho\\u1EA3n thanh to\\xE1n \\u0111\\u01B0\\u1EE3c \\u0111\\xEDnh k\\xE8m. \\u0110\\u1EA3m b\\u1EA3o x\\xF3a c\\xE1c kho\\u1EA3n thanh to\\xE1n \\u0111\\xEDnh k\\xE8m tr\\u01B0\\u1EDBc \\u0111\\u1EC3 ti\\u1EBFp t\\u1EE5c x\\xF3a\",confirm_delete:\"B\\u1EA1n s\\u1EBD kh\\xF4ng th\\u1EC3 kh\\xF4i ph\\u1EE5c H\\xF3a \\u0111\\u01A1n n\\xE0y | B\\u1EA1n s\\u1EBD kh\\xF4ng th\\u1EC3 kh\\xF4i ph\\u1EE5c c\\xE1c H\\xF3a \\u0111\\u01A1n n\\xE0y\",created_message:\"H\\xF3a \\u0111\\u01A1n \\u0111\\xE3 \\u0111\\u01B0\\u1EE3c t\\u1EA1o th\\xE0nh c\\xF4ng\",updated_message:\"\\u0110\\xE3 c\\u1EADp nh\\u1EADt h\\xF3a \\u0111\\u01A1n th\\xE0nh c\\xF4ng\",deleted_message:\"H\\xF3a \\u0111\\u01A1n \\u0111\\xE3 \\u0111\\u01B0\\u1EE3c x\\xF3a th\\xE0nh c\\xF4ng | H\\xF3a \\u0111\\u01A1n \\u0111\\xE3 \\u0111\\u01B0\\u1EE3c x\\xF3a th\\xE0nh c\\xF4ng\",marked_as_sent_message:\"H\\xF3a \\u0111\\u01A1n \\u0111\\u01B0\\u1EE3c \\u0111\\xE1nh d\\u1EA5u l\\xE0 \\u0111\\xE3 g\\u1EEDi th\\xE0nh c\\xF4ng\",something_went_wrong:\"c\\xF3 g\\xEC \\u0111\\xF3 kh\\xF4ng \\u1ED5n\",invalid_due_amount_message:\"T\\u1ED5ng s\\u1ED1 ti\\u1EC1n tr\\xEAn H\\xF3a \\u0111\\u01A1n kh\\xF4ng \\u0111\\u01B0\\u1EE3c nh\\u1ECF h\\u01A1n t\\u1ED5ng s\\u1ED1 ti\\u1EC1n \\u0111\\xE3 thanh to\\xE1n cho H\\xF3a \\u0111\\u01A1n n\\xE0y. Vui l\\xF2ng c\\u1EADp nh\\u1EADt h\\xF3a \\u0111\\u01A1n ho\\u1EB7c x\\xF3a c\\xE1c kho\\u1EA3n thanh to\\xE1n li\\xEAn quan \\u0111\\u1EC3 ti\\u1EBFp t\\u1EE5c.\",mark_as_default_invoice_template_description:\"N\\u1EBFu b\\u1EADt, m\\u1EABu \\u0111ang ch\\u1ECDn s\\u1EBD \\u0111\\u01B0\\u1EE3c t\\u1EF1 \\u0111\\u1ED9ng \\xE1p d\\u1EE5ng cho h\\xF3a \\u0111\\u01A1n m\\u1EDBi.\"},aw={title:\"H\\xF3a \\u0111\\u01A1n \\u0111\\u1ECBnh k\\u1EF3\",invoices_list:\"H\\xF3a \\u0111\\u01A1n \\u0111\\u1ECBnh k\\u1EF3\",days:\"{days} Ng\\xE0y\",months:\"{months} Th\\xE1ng\",years:\"{years} N\\u0103m\",all:\"T\\u1EA5t c\\u1EA3\",paid:\"\\u0110\\xE3 thanh to\\xE1n\",unpaid:\"Ch\\u01B0a thanh to\\xE1n\",viewed:\"\\u0110\\xE3 xem\",overdue:\"Qu\\xE1 h\\u1EA1n\",active:\"Ho\\u1EA1t \\u0111\\u1ED9ng\",completed:\"Ho\\xE0n th\\xE0nh\",customer:\"KH\\xC1CH H\\xC0NG\",paid_status:\"PAID STATUS\",ref_no:\"REF NO.\",number:\"NUMBER\",amount_due:\"AMOUNT DUE\",partially_paid:\"Partially Paid\",total:\"Total\",discount:\"Discount\",sub_total:\"Sub Total\",invoice:\"Recurring Invoice | Recurring Invoices\",invoice_number:\"Recurring Invoice Number\",next_invoice_date:\"Next Invoice Date\",ref_number:\"Ref Number\",contact:\"Contact\",add_item:\"Add an Item\",date:\"Date\",limit_by:\"Limit by\",limit_date:\"Limit Date\",limit_count:\"Limit Count\",count:\"Count\",status:\"Status\",select_a_status:\"Select a status\",working:\"Working\",on_hold:\"On Hold\",complete:\"Completed\",add_tax:\"Add Tax\",amount:\"Amount\",action:\"Action\",notes:\"Notes\",view:\"View\",basic_info:\"Basic Info\",send_invoice:\"Send Recurring Invoice\",auto_send:\"Auto Send\",resend_invoice:\"Resend Recurring Invoice\",invoice_template:\"Recurring Invoice Template\",conversion_message:\"Recurring Invoice cloned successful\",template:\"Template\",mark_as_sent:\"Mark as sent\",confirm_send_invoice:\"This recurring invoice will be sent via email to the customer\",invoice_mark_as_sent:\"This recurring invoice will be marked as sent\",confirm_send:\"This recurring invoice will be sent via email to the customer\",starts_at:\"Start Date\",due_date:\"Invoice Due Date\",record_payment:\"Record Payment\",add_new_invoice:\"Add New Recurring Invoice\",update_expense:\"Update Expense\",edit_invoice:\"Edit Recurring Invoice\",new_invoice:\"New Recurring Invoice\",send_automatically:\"Send Automatically\",send_automatically_desc:\"Enable this, if you would like to send the invoice automatically to the customer when its created.\",save_invoice:\"Save Recurring Invoice\",update_invoice:\"C\\u1EADp nh\\u1EADt H\\xF3a \\u0111\\u01A1n \\u0111\\u1ECBnh k\\u1EF3\",add_new_tax:\"Th\\xEAm thu\\u1EBF m\\u1EDBi\",no_invoices:\"Ch\\u01B0a c\\xF3 H\\xF3a \\u0111\\u01A1n \\u0111\\u1ECBnh k\\u1EF3 n\\xE0o!\",mark_as_rejected:\"\\u0110\\xE1nh d\\u1EA5u l\\xE0 b\\u1ECB t\\u1EEB ch\\u1ED1i\",mark_as_accepted:\"\\u0110\\xE1nh d\\u1EA5u l\\xE0 \\u0111\\xE3 ch\\u1EA5p nh\\u1EADn\",list_of_invoices:\"This section will contain the list of recurring invoices.\",select_invoice:\"Select Invoice\",no_matching_invoices:\"There are no matching recurring invoices!\",mark_as_sent_successfully:\"Recurring Invoice marked as sent successfully\",invoice_sent_successfully:\"Recurring Invoice sent successfully\",cloned_successfully:\"Recurring Invoice cloned successfully\",clone_invoice:\"Clone Recurring Invoice\",confirm_clone:\"This recurring invoice will be cloned into a new Recurring Invoice\",add_customer_email:\"Th\\xEAm m\\u1ED9t \\u0111\\u1ECBa ch\\u1EC9 email cho kh\\xE1ch h\\xE0ng n\\xE0y \\u0111\\u1EC3 g\\u1EEDi h\\xF3a \\u0111\\u01A1n t\\u1EF1 \\u0111\\u1ED9ng.\",item:{title:\"Item Title\",description:\"Description\",quantity:\"Quantity\",price:\"Price\",discount:\"Discount\",total:\"Total\",total_discount:\"Total Discount\",sub_total:\"Sub Total\",tax:\"Tax\",amount:\"Amount\",select_an_item:\"Type or click to select an item\",type_item_description:\"Type Item Description (optional)\"},frequency:{title:\"Frequency\",select_frequency:\"Select Frequency\",minute:\"Minute\",hour:\"Hour\",day_month:\"Day of month\",month:\"Month\",day_week:\"Day of week\"},confirm_delete:\"You will not be able to recover this Invoice | You will not be able to recover these Invoices\",created_message:\"Recurring Invoice created successfully\",updated_message:\"Recurring Invoice updated successfully\",deleted_message:\"Recurring Invoice deleted successfully | Recurring Invoices deleted successfully\",marked_as_sent_message:\"Recurring Invoice marked as sent successfully\",user_email_does_not_exist:\"User email does not exist\",something_went_wrong:\"something went wrong\",invalid_due_amount_message:\"Total Recurring Invoice amount cannot be less than total paid amount for this Recurring Invoice. Please update the invoice or delete the associated payments to continue.\"},nw={title:\"Thanh to\\xE1n\",payments_list:\"Danh s\\xE1ch thanh to\\xE1n\",record_payment:\"Ghi l\\u1EA1i Thanh to\\xE1n\",customer:\"kh\\xE1ch h\\xE0ng\",date:\"Ng\\xE0y\",amount:\"S\\u1ED1 ti\\u1EC1n\",action:\"Ho\\u1EA1t \\u0111\\u1ED9ng\",payment_number:\"S\\u1ED1 ti\\u1EC1n ph\\u1EA3i tr\\u1EA3\",payment_mode:\"Ph\\u01B0\\u01A1ng th\\u1EE9c thanh to\\xE1n\",invoice:\"H\\xF3a \\u0111\\u01A1n\",note:\"Ghi ch\\xFA\",add_payment:\"Th\\xEAm thanh to\\xE1n\",new_payment:\"Thanh to\\xE1n m\\u1EDBi\",edit_payment:\"Ch\\u1EC9nh s\\u1EEDa Thanh to\\xE1n\",view_payment:\"Xem thanh to\\xE1n\",add_new_payment:\"Th\\xEAm thanh to\\xE1n m\\u1EDBi\",send_payment_receipt:\"G\\u1EEDi bi\\xEAn lai thanh to\\xE1n\",send_payment:\"G\\u1EEDi h\\xF3a \\u0111\\u01A1n\",save_payment:\"L\\u01B0u thanh to\\xE1n\",update_payment:\"C\\u1EADp nh\\u1EADt thanh to\\xE1n\",payment:\"Thanh to\\xE1n | Thanh to\\xE1n\",no_payments:\"Ch\\u01B0a c\\xF3 kho\\u1EA3n thanh to\\xE1n n\\xE0o!\",not_selected:\"Kh\\xF4ng \\u0111\\u01B0\\u1EE3c ch\\u1ECDn\",no_invoice:\"Kh\\xF4ng c\\xF3 h\\xF3a \\u0111\\u01A1n\",no_matching_payments:\"Kh\\xF4ng c\\xF3 kho\\u1EA3n thanh to\\xE1n n\\xE0o ph\\xF9 h\\u1EE3p!\",list_of_payments:\"Ph\\u1EA7n n\\xE0y s\\u1EBD ch\\u1EE9a danh s\\xE1ch c\\xE1c kho\\u1EA3n thanh to\\xE1n.\",select_payment_mode:\"Ch\\u1ECDn ph\\u01B0\\u01A1ng th\\u1EE9c thanh to\\xE1n\",confirm_mark_as_sent:\"\\u01AF\\u1EDBc t\\xEDnh n\\xE0y s\\u1EBD \\u0111\\u01B0\\u1EE3c \\u0111\\xE1nh d\\u1EA5u l\\xE0 \\u0111\\xE3 g\\u1EEDi\",confirm_send_payment:\"Kho\\u1EA3n thanh to\\xE1n n\\xE0y s\\u1EBD \\u0111\\u01B0\\u1EE3c g\\u1EEDi qua email cho kh\\xE1ch h\\xE0ng\",send_payment_successfully:\"Thanh to\\xE1n \\u0111\\xE3 \\u0111\\u01B0\\u1EE3c g\\u1EEDi th\\xE0nh c\\xF4ng\",something_went_wrong:\"c\\xF3 g\\xEC \\u0111\\xF3 kh\\xF4ng \\u1ED5n\",confirm_delete:\"B\\u1EA1n s\\u1EBD kh\\xF4ng th\\u1EC3 kh\\xF4i ph\\u1EE5c Thanh to\\xE1n n\\xE0y | B\\u1EA1n s\\u1EBD kh\\xF4ng th\\u1EC3 kh\\xF4i ph\\u1EE5c c\\xE1c Kho\\u1EA3n thanh to\\xE1n n\\xE0y\",created_message:\"Thanh to\\xE1n \\u0111\\u01B0\\u1EE3c t\\u1EA1o th\\xE0nh c\\xF4ng\",updated_message:\"\\u0110\\xE3 c\\u1EADp nh\\u1EADt thanh to\\xE1n th\\xE0nh c\\xF4ng\",deleted_message:\"\\u0110\\xE3 x\\xF3a thanh to\\xE1n th\\xE0nh c\\xF4ng | Thanh to\\xE1n \\u0111\\xE3 \\u0111\\u01B0\\u1EE3c x\\xF3a th\\xE0nh c\\xF4ng\",invalid_amount_message:\"S\\u1ED1 ti\\u1EC1n thanh to\\xE1n kh\\xF4ng h\\u1EE3p l\\u1EC7\"},iw={title:\"Chi ph\\xED\",expenses_list:\"Danh s\\xE1ch chi ph\\xED\",select_a_customer:\"Ch\\u1ECDn m\\u1ED9t kh\\xE1ch h\\xE0ng\",expense_title:\"Ti\\xEAu \\u0111\\u1EC1\",customer:\"kh\\xE1ch h\\xE0ng\",currency:\"Currency\",contact:\"Ti\\u1EBFp x\\xFAc\",category:\"th\\u1EC3 lo\\u1EA1i\",from_date:\"T\\u1EEB ng\\xE0y\",to_date:\"\\u0110\\u1EBFn nay\",expense_date:\"Ng\\xE0y\",description:\"S\\u1EF1 mi\\xEAu t\\u1EA3\",receipt:\"Bi\\xEAn lai\",amount:\"S\\u1ED1 ti\\u1EC1n\",action:\"Ho\\u1EA1t \\u0111\\u1ED9ng\",not_selected:\"Kh\\xF4ng \\u0111\\u01B0\\u1EE3c ch\\u1ECDn\",note:\"Ghi ch\\xFA\",category_id:\"Th\\u1EC3 lo\\u1EA1i ID\",date:\"Ng\\xE0y\",add_expense:\"Th\\xEAm chi ph\\xED\",add_new_expense:\"Th\\xEAm chi ph\\xED m\\u1EDBi\",save_expense:\"Ti\\u1EBFt ki\\u1EC7m chi ph\\xED\",update_expense:\"C\\u1EADp nh\\u1EADt chi ph\\xED\",download_receipt:\"Bi\\xEAn nh\\u1EADn t\\u1EA3i xu\\u1ED1ng\",edit_expense:\"Ch\\u1EC9nh s\\u1EEDa chi ph\\xED\",new_expense:\"Chi ph\\xED m\\u1EDBi\",expense:\"Chi ph\\xED | Chi ph\\xED\",no_expenses:\"Ch\\u01B0a c\\xF3 chi ph\\xED!\",list_of_expenses:\"Ph\\u1EA7n n\\xE0y s\\u1EBD ch\\u1EE9a danh s\\xE1ch c\\xE1c chi ph\\xED.\",confirm_delete:\"B\\u1EA1n s\\u1EBD kh\\xF4ng th\\u1EC3 thu h\\u1ED3i Kho\\u1EA3n chi ph\\xED n\\xE0y | B\\u1EA1n s\\u1EBD kh\\xF4ng th\\u1EC3 thu h\\u1ED3i c\\xE1c Kho\\u1EA3n chi ph\\xED n\\xE0y\",created_message:\"\\u0110\\xE3 t\\u1EA1o th\\xE0nh c\\xF4ng chi ph\\xED\",updated_message:\"\\u0110\\xE3 c\\u1EADp nh\\u1EADt chi ph\\xED th\\xE0nh c\\xF4ng\",deleted_message:\"\\u0110\\xE3 x\\xF3a th\\xE0nh c\\xF4ng chi ph\\xED | \\u0110\\xE3 x\\xF3a th\\xE0nh c\\xF4ng chi ph\\xED\",categories:{categories_list:\"Danh s\\xE1ch h\\u1EA1ng m\\u1EE5c\",title:\"Ti\\xEAu \\u0111\\u1EC1\",name:\"T\\xEAn\",description:\"S\\u1EF1 mi\\xEAu t\\u1EA3\",amount:\"S\\u1ED1 ti\\u1EC1n\",actions:\"H\\xE0nh \\u0111\\u1ED9ng\",add_category:\"th\\xEAm th\\xEA\\u0309 loa\\u0323i\",new_category:\"Danh m\\u1EE5c m\\u1EDBi\",category:\"Th\\u1EC3 lo\\u1EA1i | Th\\u1EC3 lo\\u1EA1i\",select_a_category:\"Ch\\u1ECDn m\\u1ED9t danh m\\u1EE5c\"}},ow={email:\"E-mail\",password:\"M\\u1EADt kh\\u1EA9u\",forgot_password:\"Qu\\xEAn m\\u1EADt kh\\u1EA9u?\",or_signIn_with:\"ho\\u1EB7c \\u0110\\u0103ng nh\\u1EADp b\\u1EB1ng\",login:\"\\u0110\\u0103ng nh\\u1EADp\",register:\"\\u0110\\u0103ng k\\xFD\",reset_password:\"\\u0110\\u1EB7t l\\u1EA1i m\\u1EADt kh\\u1EA9u\",password_reset_successfully:\"\\u0110\\u1EB7t l\\u1EA1i m\\u1EADt kh\\u1EA9u th\\xE0nh c\\xF4ng\",enter_email:\"Nh\\u1EADp email\",enter_password:\"Nh\\u1EADp m\\u1EADt kh\\u1EA9u\",retype_password:\"G\\xF5 l\\u1EA1i m\\u1EADt kh\\u1EA9u\"},sw={buy_now:\"Buy Now\",install:\"Install\",price:\"Price\",download_zip_file:\"Download ZIP file\",unzipping_package:\"Unzipping Package\",copying_files:\"Copying Files\",deleting_files:\"Deleting Unused files\",completing_installation:\"Completing Installation\",update_failed:\"Update Failed\",install_success:\"Module has been installed successfully!\",customer_reviews:\"Reviews\",license:\"License\",faq:\"FAQ\",monthly:\"Monthly\",yearly:\"Yearly\",updated:\"Updated\",version:\"Version\",disable:\"Disable\",module_disabled:\"Module Disabled\",enable:\"Enable\",module_enabled:\"Module Enabled\",update_to:\"Update To\",module_updated:\"Module Updated Successfully!\",title:\"Modules\",module:\"Module | Modules\",api_token:\"API token\",invalid_api_token:\"Invalid API Token.\",other_modules:\"Other Modules\",view_all:\"View All\",no_reviews_found:\"There are no reviews for this module yet!\",module_not_purchased:\"Module Not Purchased\",module_not_found:\"Module Not Found\",version_not_supported:\"This module version doesn't support the current version of Crater\",last_updated:\"Last Updated On\",connect_installation:\"Connect your installation\",api_token_description:\"Login to {url} and connect this installation by entering the API Token. Your purchased modules will show up here after the connection is established.\",view_module:\"View Module\",update_available:\"Update Available\",purchased:\"Purchased\",installed:\"Installed\",no_modules_installed:\"No Modules Installed Yet!\",disable_warning:\"All the settings for this particular will be reverted.\",what_you_get:\"What you get\"},rw={title:\"Ng\\u01B0\\u1EDDi d\\xF9ng\",users_list:\"Danh s\\xE1ch ng\\u01B0\\u1EDDi d\\xF9ng\",name:\"T\\xEAn\",description:\"S\\u1EF1 mi\\xEAu t\\u1EA3\",added_on:\"\\u0110\\xE3 th\\xEAm v\\xE0o\",date_of_creation:\"Ng\\xE0y t\\u1EA1o\",action:\"Ho\\u1EA1t \\u0111\\u1ED9ng\",add_user:\"Th\\xEAm ng\\u01B0\\u1EDDi d\\xF9ng\",save_user:\"L\\u01B0u ng\\u01B0\\u1EDDi d\\xF9ng\",update_user:\"C\\u1EADp nh\\u1EADt ng\\u01B0\\u1EDDi d\\xF9ng\",user:\"Ng\\u01B0\\u1EDDi d\\xF9ng | Ng\\u01B0\\u1EDDi d\\xF9ng\",add_new_user:\"Th\\xEAm ng\\u01B0\\u1EDDi d\\xF9ng m\\u1EDBi\",new_user:\"Ng\\u01B0\\u1EDDi d\\xF9ng m\\u1EDBi\",edit_user:\"Ng\\u01B0\\u1EDDi d\\xF9ng bi\\xEAn t\\u1EADp\",no_users:\"Ch\\u01B0a c\\xF3 ng\\u01B0\\u1EDDi d\\xF9ng n\\xE0o!\",list_of_users:\"Ph\\u1EA7n n\\xE0y s\\u1EBD ch\\u1EE9a danh s\\xE1ch ng\\u01B0\\u1EDDi d\\xF9ng.\",email:\"E-mail\",phone:\"\\u0110i\\u1EC7n tho\\u1EA1i\",password:\"M\\u1EADt kh\\u1EA9u\",user_attached_message:\"Kh\\xF4ng th\\u1EC3 x\\xF3a m\\u1ED9t m\\u1EE5c \\u0111\\xE3 \\u0111\\u01B0\\u1EE3c s\\u1EED d\\u1EE5ng\",confirm_delete:\"B\\u1EA1n s\\u1EBD kh\\xF4ng th\\u1EC3 kh\\xF4i ph\\u1EE5c Ng\\u01B0\\u1EDDi d\\xF9ng n\\xE0y | B\\u1EA1n s\\u1EBD kh\\xF4ng th\\u1EC3 kh\\xF4i ph\\u1EE5c nh\\u1EEFng Ng\\u01B0\\u1EDDi d\\xF9ng n\\xE0y\",created_message:\"Ng\\u01B0\\u1EDDi d\\xF9ng \\u0111\\xE3 \\u0111\\u01B0\\u1EE3c t\\u1EA1o th\\xE0nh c\\xF4ng\",updated_message:\"\\u0110\\xE3 c\\u1EADp nh\\u1EADt ng\\u01B0\\u1EDDi d\\xF9ng th\\xE0nh c\\xF4ng\",deleted_message:\"\\u0110\\xE3 x\\xF3a ng\\u01B0\\u1EDDi d\\xF9ng th\\xE0nh c\\xF4ng | \\u0110\\xE3 x\\xF3a ng\\u01B0\\u1EDDi d\\xF9ng th\\xE0nh c\\xF4ng\",select_company_role:\"Select Role for {company}\",companies:\"Companies\"},dw={title:\"B\\xE1o c\\xE1o\",from_date:\"T\\u1EEB ng\\xE0y\",to_date:\"\\u0110\\u1EBFn nay\",status:\"Tr\\u1EA1ng th\\xE1i\",paid:\"\\u0110\\xE3 thanh to\\xE1n\",unpaid:\"Ch\\u01B0a thanh to\\xE1n\",download_pdf:\"t\\u1EA3i PDF\",view_pdf:\"Xem PDF\",update_report:\"C\\u1EADp nh\\u1EADt b\\xE1o c\\xE1o\",report:\"B\\xE1o c\\xE1o | B\\xE1o c\\xE1o\",profit_loss:{profit_loss:\"L\\u1EE3i nhu\\u1EADn\",to_date:\"\\u0110\\u1EBFn nay\",from_date:\"T\\u1EEB ng\\xE0y\",date_range:\"Ch\\u1ECDn ph\\u1EA1m vi ng\\xE0y\"},sales:{sales:\"B\\xE1n h\\xE0ng\",date_range:\"Ch\\u1ECDn ph\\u1EA1m vi ng\\xE0y\",to_date:\"\\u0110\\u1EBFn nay\",from_date:\"T\\u1EEB ng\\xE0y\",report_type:\"Lo\\u1EA1i b\\xE1o c\\xE1o\"},taxes:{taxes:\"Thu\\u1EBF\",to_date:\"\\u0110\\u1EBFn nay\",from_date:\"T\\u1EEB ng\\xE0y\",date_range:\"Ch\\u1ECDn ph\\u1EA1m vi ng\\xE0y\"},errors:{required:\"L\\u0129nh v\\u1EF1c \\u0111\\u01B0\\u1EE3c y\\xEAu c\\u1EA7u\"},invoices:{invoice:\"H\\xF3a \\u0111\\u01A1n\",invoice_date:\"Ng\\xE0y l\\u1EADp h\\xF3a \\u0111\\u01A1n\",due_date:\"Ng\\xE0y \\u0111\\xE1o h\\u1EA1n\",amount:\"S\\u1ED1 ti\\u1EC1n\",contact_name:\"T\\xEAn Li\\xEAn l\\u1EA1c\",status:\"Tr\\u1EA1ng th\\xE1i\"},estimates:{estimate:\"\\u01AF\\u1EDBc t\\xEDnh\",estimate_date:\"Ng\\xE0y \\u01B0\\u1EDBc t\\xEDnh\",due_date:\"Ng\\xE0y \\u0111\\xE1o h\\u1EA1n\",estimate_number:\"S\\u1ED1 \\u01B0\\u1EDBc t\\xEDnh\",ref_number:\"S\\u1ED1 REF\",amount:\"S\\u1ED1 ti\\u1EC1n\",contact_name:\"T\\xEAn Li\\xEAn l\\u1EA1c\",status:\"Tr\\u1EA1ng th\\xE1i\"},expenses:{expenses:\"Chi ph\\xED\",category:\"th\\u1EC3 lo\\u1EA1i\",date:\"Ng\\xE0y\",amount:\"S\\u1ED1 ti\\u1EC1n\",to_date:\"\\u0110\\u1EBFn nay\",from_date:\"T\\u1EEB ng\\xE0y\",date_range:\"Ch\\u1ECDn ph\\u1EA1m vi ng\\xE0y\"}},lw={menu_title:{account_settings:\"C\\xE0i \\u0111\\u1EB7t t\\xE0i kho\\u1EA3n\",company_information:\"Th\\xF4ng tin c\\xF4ng ty\",customization:\"T\\xF9y bi\\u1EBFn\",preferences:\"S\\u1EDF th\\xEDch\",notifications:\"Th\\xF4ng b\\xE1o\",tax_types:\"C\\xE1c lo\\u1EA1i thu\\u1EBF\",expense_category:\"H\\u1EA1ng m\\u1EE5c Chi ph\\xED\",update_app:\"C\\u1EADp nh\\u1EADt \\u1EE9ng d\\u1EE5ng\",backup:\"Sao l\\u01B0u\",file_disk:\"\\u0110\\u0129a t\\u1EC7p\",custom_fields:\"Tr\\u01B0\\u1EDDng t\\xF9y ch\\u1EC9nh\",payment_modes:\"Ph\\u01B0\\u01A1ng th\\u1EE9c thanh to\\xE1n\",notes:\"Ghi ch\\xFA\",exchange_rate:\"Exchange Rate\",address_information:\"Address Information\"},address_information:{section_description:\"  You can update Your Address information using form below.\"},title:\"C\\xE0i \\u0111\\u1EB7t\",setting:\"C\\xE0i \\u0111\\u1EB7t | C\\xE0i \\u0111\\u1EB7t\",general:\"Chung\",language:\"Ng\\xF4n ng\\u1EEF\",primary_currency:\"Ti\\u1EC1n t\\u1EC7 ch\\xEDnh\",timezone:\"M\\xFAi gi\\u1EDD\",date_format:\"\\u0110\\u1ECBnh d\\u1EA1ng ng\\xE0y th\\xE1ng\",currencies:{title:\"Ti\\u1EC1n t\\u1EC7\",currency:\"Ti\\u1EC1n t\\u1EC7 | Ti\\u1EC1n t\\u1EC7\",currencies_list:\"Danh s\\xE1ch ti\\u1EC1n t\\u1EC7\",select_currency:\"Ch\\u1ECDn ti\\u1EC1n t\\u1EC7\",name:\"T\\xEAn\",code:\"M\\xE3\",symbol:\"Bi\\u1EC3u t\\u01B0\\u1EE3ng\",precision:\"\\u0110\\u1ED9 ch\\xEDnh x\\xE1c\",thousand_separator:\"H\\xE0ng ng\\xE0n m\\xE1y t\\xE1ch\",decimal_separator:\"Ph\\xE2n s\\u1ED1 th\\u1EADp ph\\xE2n\",position:\"Ch\\u1EE9c v\\u1EE5\",position_of_symbol:\"V\\u1ECB tr\\xED c\\u1EE7a bi\\u1EC3u t\\u01B0\\u1EE3ng\",right:\"\\u0110\\xFAng\",left:\"Tr\\xE1i\",action:\"Ho\\u1EA1t \\u0111\\u1ED9ng\",add_currency:\"Th\\xEAm ti\\u1EC1n t\\u1EC7\"},mail:{host:\"M\\xE1y ch\\u1EE7 Th\\u01B0\",port:\"C\\u1ED5ng th\\u01B0\",driver:\"Tr\\xECnh \\u0111i\\u1EC1u khi\\u1EC3n Th\\u01B0\",secret:\"B\\xED m\\u1EADt\",mailgun_secret:\"B\\xED m\\u1EADt Mailgun\",mailgun_domain:\"Mi\\u1EC1n\",mailgun_endpoint:\"\\u0110i\\u1EC3m cu\\u1ED1i c\\u1EE7a Mailgun\",ses_secret:\"B\\xED m\\u1EADt SES\",ses_key:\"Kh\\xF3a SES\",password:\"M\\u1EADt kh\\u1EA9u th\\u01B0\",username:\"T\\xEAn ng\\u01B0\\u1EDDi d\\xF9ng th\\u01B0\",mail_config:\"C\\u1EA5u h\\xECnh th\\u01B0\",from_name:\"T\\u1EEB t\\xEAn th\\u01B0\",from_mail:\"T\\u1EEB \\u0111\\u1ECBa ch\\u1EC9 th\\u01B0\",encryption:\"M\\xE3 h\\xF3a Th\\u01B0\",mail_config_desc:\"D\\u01B0\\u1EDBi \\u0111\\xE2y l\\xE0 bi\\u1EC3u m\\u1EABu \\u0110\\u1ECBnh c\\u1EA5u h\\xECnh tr\\xECnh \\u0111i\\u1EC1u khi\\u1EC3n Email \\u0111\\u1EC3 g\\u1EEDi email t\\u1EEB \\u1EE9ng d\\u1EE5ng. B\\u1EA1n c\\u0169ng c\\xF3 th\\u1EC3 \\u0111\\u1ECBnh c\\u1EA5u h\\xECnh c\\xE1c nh\\xE0 cung c\\u1EA5p b\\xEAn th\\u1EE9 ba nh\\u01B0 Sendgrid, SES, v.v.\"},pdf:{title:\"C\\xE0i \\u0111\\u1EB7t PDF\",footer_text:\"V\\u0103n b\\u1EA3n ch\\xE2n trang\",pdf_layout:\"B\\u1ED1 c\\u1EE5c PDF\"},company_info:{company_info:\"Th\\xF4ng tin c\\xF4ng ty\",company_name:\"T\\xEAn c\\xF4ng ty\",company_logo:\"Logo c\\xF4ng ty\",section_description:\"Th\\xF4ng tin v\\u1EC1 c\\xF4ng ty c\\u1EE7a b\\u1EA1n s\\u1EBD \\u0111\\u01B0\\u1EE3c hi\\u1EC3n th\\u1ECB tr\\xEAn h\\xF3a \\u0111\\u01A1n, \\u01B0\\u1EDBc t\\xEDnh v\\xE0 c\\xE1c t\\xE0i li\\u1EC7u kh\\xE1c do Crater t\\u1EA1o.\",phone:\"\\u0110i\\u1EC7n tho\\u1EA1i\",country:\"Qu\\u1ED1c gia\",state:\"Ti\\u1EC3u bang\",city:\"Tp.\",address:\"\\u0110\\u1ECBa ch\\u1EC9\",zip:\"Zip\",save:\"Ti\\u1EBFt ki\\u1EC7m\",delete:\"Delete\",updated_message:\"Th\\xF4ng tin c\\xF4ng ty \\u0111\\u01B0\\u1EE3c c\\u1EADp nh\\u1EADt th\\xE0nh c\\xF4ng\",delete_company:\"Delete Company\",delete_company_description:\"Once you delete your company, you will lose all the data and files associated with it permanently.\",are_you_absolutely_sure:\"Are you absolutely sure?\",delete_company_modal_desc:\"This action cannot be undone. This will permanently delete {company} and all of its associated data.\",delete_company_modal_label:\"Please type {company} to confirm\"},custom_fields:{title:\"Tr\\u01B0\\u1EDDng t\\xF9y ch\\u1EC9nh\",section_description:\"T\\xF9y ch\\u1EC9nh h\\xF3a \\u0111\\u01A1n, \\u01B0\\u1EDBc t\\xEDnh c\\u1EE7a b\\u1EA1n\",add_custom_field:\"Th\\xEAm tr\\u01B0\\u1EDDng t\\xF9y ch\\u1EC9nh\",edit_custom_field:\"Ch\\u1EC9nh s\\u1EEDa tr\\u01B0\\u1EDDng t\\xF9y ch\\u1EC9nh\",field_name:\"T\\xEAn tr\\u01B0\\u1EDDng\",label:\"Nh\\xE3n\",type:\"Ki\\u1EC3u\",name:\"T\\xEAn\",slug:\"Slug\",required:\"C\\u1EA7n thi\\u1EBFt\",placeholder:\"Tr\\xECnh gi\\u1EEF ch\\u1ED7\",help_text:\"V\\u0103n b\\u1EA3n tr\\u1EE3 gi\\xFAp\",default_value:\"Gi\\xE1 tr\\u1ECB m\\u1EB7c \\u0111\\u1ECBnh\",prefix:\"Ti\\u1EBFp \\u0111\\u1EA7u ng\\u1EEF\",starting_number:\"S\\u1ED1 b\\u1EAFt \\u0111\\u1EA7u\",model:\"M\\xF4 h\\xECnh\",help_text_description:\"Nh\\u1EADp m\\u1ED9t s\\u1ED1 v\\u0103n b\\u1EA3n \\u0111\\u1EC3 gi\\xFAp ng\\u01B0\\u1EDDi d\\xF9ng hi\\u1EC3u m\\u1EE5c \\u0111\\xEDch c\\u1EE7a tr\\u01B0\\u1EDDng t\\xF9y ch\\u1EC9nh n\\xE0y.\",suffix:\"H\\u1EADu t\\u1ED1\",yes:\"\\u0110\\xFAng\",no:\"Kh\\xF4ng\",order:\"\\u0110\\u1EB7t h\\xE0ng\",custom_field_confirm_delete:\"B\\u1EA1n s\\u1EBD kh\\xF4ng th\\u1EC3 kh\\xF4i ph\\u1EE5c Tr\\u01B0\\u1EDDng t\\xF9y ch\\u1EC9nh n\\xE0y\",already_in_use:\"Tr\\u01B0\\u1EDDng t\\xF9y ch\\u1EC9nh \\u0111\\xE3 \\u0111\\u01B0\\u1EE3c s\\u1EED d\\u1EE5ng\",deleted_message:\"Tr\\u01B0\\u1EDDng T\\xF9y ch\\u1EC9nh \\u0111\\xE3 \\u0111\\u01B0\\u1EE3c x\\xF3a th\\xE0nh c\\xF4ng\",options:\"c\\xE1c t\\xF9y ch\\u1ECDn\",add_option:\"Th\\xEAm t\\xF9y ch\\u1ECDn\",add_another_option:\"Th\\xEAm m\\u1ED9t t\\xF9y ch\\u1ECDn kh\\xE1c\",sort_in_alphabetical_order:\"S\\u1EAFp x\\u1EBFp theo th\\u1EE9 t\\u1EF1 b\\u1EA3ng ch\\u1EEF c\\xE1i\",add_options_in_bulk:\"Th\\xEAm h\\xE0ng lo\\u1EA1t t\\xF9y ch\\u1ECDn\",use_predefined_options:\"S\\u1EED d\\u1EE5ng c\\xE1c t\\xF9y ch\\u1ECDn \\u0111\\u01B0\\u1EE3c x\\xE1c \\u0111\\u1ECBnh tr\\u01B0\\u1EDBc\",select_custom_date:\"Ch\\u1ECDn ng\\xE0y t\\xF9y ch\\u1EC9nh\",select_relative_date:\"Ch\\u1ECDn ng\\xE0y t\\u01B0\\u01A1ng \\u0111\\u1ED1i\",ticked_by_default:\"\\u0110\\u01B0\\u1EE3c \\u0111\\xE1nh d\\u1EA5u theo m\\u1EB7c \\u0111\\u1ECBnh\",updated_message:\"\\u0110\\xE3 c\\u1EADp nh\\u1EADt tr\\u01B0\\u1EDDng t\\xF9y ch\\u1EC9nh th\\xE0nh c\\xF4ng\",added_message:\"Tr\\u01B0\\u1EDDng t\\xF9y ch\\u1EC9nh \\u0111\\xE3 \\u0111\\u01B0\\u1EE3c th\\xEAm th\\xE0nh c\\xF4ng\",press_enter_to_add:\"Press enter to add new option\",model_in_use:\"Cannot update model for fields which are already in use.\",type_in_use:\"Cannot update type for fields which are already in use.\"},customization:{customization:\"s\\u1EF1 t\\xF9y bi\\u1EBFn\",updated_message:\"Th\\xF4ng tin c\\xF4ng ty \\u0111\\u01B0\\u1EE3c c\\u1EADp nh\\u1EADt th\\xE0nh c\\xF4ng\",save:\"Ti\\u1EBFt ki\\u1EC7m\",insert_fields:\"Insert Fields\",learn_custom_format:\"Learn how to use custom format\",add_new_component:\"Add New Component\",component:\"Component\",Parameter:\"Parameter\",series:\"Series\",series_description:\"To set a static prefix/postfix like 'INV' across your company. It supports character length of up to 6 chars.\",series_param_label:\"Series Value\",delimiter:\"Delimiter\",delimiter_description:\"Single character for specifying the boundary between 2 separate components. By default its set to -\",delimiter_param_label:\"Delimiter Value\",date_format:\"Date Format\",date_format_description:\"A local date and time field which accepts a format parameter. The default format: 'Y' renders the current year.\",date_format_param_label:\"Format\",sequence:\"Sequence\",sequence_description:\"Consecutive sequence of numbers across your company. You can specify the length on the given parameter.\",sequence_param_label:\"Sequence Length\",customer_series:\"Customer Series\",customer_series_description:\"To set a different prefix/postfix for each customer.\",customer_sequence:\"Customer Sequence\",customer_sequence_description:\"Consecutive sequence of numbers for each of your customer.\",customer_sequence_param_label:\"Sequence Length\",random_sequence:\"Random Sequence\",random_sequence_description:\"Random alphanumeric string. You can specify the length on the given parameter.\",random_sequence_param_label:\"Sequence Length\",invoices:{title:\"H\\xF3a \\u0111\\u01A1n\",invoice_number_format:\"Invoice Number Format\",invoice_number_format_description:\"Customize how your invoice number gets generated automatically when you create a new invoice.\",preview_invoice_number:\"Preview Invoice Number\",due_date:\"Due Date\",due_date_description:\"Specify how due date is automatically set when you create an invoice.\",due_date_days:\"Invoice Due after days\",set_due_date_automatically:\"Set Due Date Automatically\",set_due_date_automatically_description:\"Enable this if you wish to set due date automatically when you create a new invoice.\",default_formats:\"Default Formats\",default_formats_description:\"Below given formats are used to fill up the fields automatically on invoice creation.\",default_invoice_email_body:\"N\\u1ED9i dung email h\\xF3a \\u0111\\u01A1n m\\u1EB7c \\u0111\\u1ECBnh\",company_address_format:\"\\u0110\\u1ECBnh d\\u1EA1ng \\u0111\\u1ECBa ch\\u1EC9 c\\xF4ng ty\",shipping_address_format:\"\\u0110\\u1ECBnh d\\u1EA1ng \\u0111\\u1ECBa ch\\u1EC9 giao h\\xE0ng\",billing_address_format:\"\\u0110\\u1ECBnh d\\u1EA1ng \\u0111\\u1ECBa ch\\u1EC9 thanh to\\xE1n\",invoice_email_attachment:\"G\\u1EEDi h\\xF3a \\u0111\\u01A1n d\\u01B0\\u1EDBi d\\u1EA1ng t\\u1EC7p \\u0111\\xEDnh k\\xE8m\",invoice_email_attachment_setting_description:\"B\\u1EADt t\\xEDnh n\\u0103ng n\\xE0y n\\u1EBFu b\\u1EA1n mu\\u1ED1n g\\u1EEDi h\\xF3a \\u0111\\u01A1n d\\u01B0\\u1EDBi d\\u1EA1ng t\\u1EC7p \\u0111\\xEDnh k\\xE8m email. Xin l\\u01B0u \\xFD r\\u1EB1ng n\\xFAt &#39;Xem H\\xF3a \\u0111\\u01A1n&#39; trong email s\\u1EBD kh\\xF4ng \\u0111\\u01B0\\u1EE3c hi\\u1EC3n th\\u1ECB n\\u1EEFa khi \\u0111\\u01B0\\u1EE3c b\\u1EADt.\",invoice_settings_updated:\"Invoice Settings updated successfully\",retrospective_edits:\"Retrospective Edits\",allow:\"Allow\",disable_on_invoice_partial_paid:\"Disable after partial payment is recorded\",disable_on_invoice_paid:\"Disable after full payment is recorded\",disable_on_invoice_sent:\"Disable after invoice is sent\",retrospective_edits_description:\" Based on your country's laws or your preference, you can restrict users from editing finalised invoices.\"},estimates:{title:\"\\u01AF\\u1EDBc t\\xEDnh\",estimate_number_format:\"Estimate Number Format\",estimate_number_format_description:\"Customize how your estimate number gets generated automatically when you create a new estimate.\",preview_estimate_number:\"Preview Estimate Number\",expiry_date:\"Expiry Date\",expiry_date_description:\"Specify how expiry date is automatically set when you create an estimate.\",expiry_date_days:\"Estimate Expires after days\",set_expiry_date_automatically:\"Set Expiry Date Automatically\",set_expiry_date_automatically_description:\"Enable this if you wish to set expiry date automatically when you create a new estimate.\",default_formats:\"Default Formats\",default_formats_description:\"Below given formats are used to fill up the fields automatically on estimate creation.\",default_estimate_email_body:\"N\\u1ED9i dung Email \\u01AF\\u1EDBc t\\xEDnh M\\u1EB7c \\u0111\\u1ECBnh\",company_address_format:\"\\u0110\\u1ECBnh d\\u1EA1ng \\u0111\\u1ECBa ch\\u1EC9 c\\xF4ng ty\",shipping_address_format:\"\\u0110\\u1ECBnh d\\u1EA1ng \\u0111\\u1ECBa ch\\u1EC9 giao h\\xE0ng\",billing_address_format:\"\\u0110\\u1ECBnh d\\u1EA1ng \\u0111\\u1ECBa ch\\u1EC9 thanh to\\xE1n\",estimate_email_attachment:\"G\\u1EEDi \\u01B0\\u1EDBc t\\xEDnh d\\u01B0\\u1EDBi d\\u1EA1ng t\\u1EC7p \\u0111\\xEDnh k\\xE8m\",estimate_email_attachment_setting_description:\"B\\u1EADt t\\xEDnh n\\u0103ng n\\xE0y n\\u1EBFu b\\u1EA1n mu\\u1ED1n g\\u1EEDi \\u01B0\\u1EDBc t\\xEDnh d\\u01B0\\u1EDBi d\\u1EA1ng t\\u1EC7p \\u0111\\xEDnh k\\xE8m email. Xin l\\u01B0u \\xFD r\\u1EB1ng n\\xFAt &#39;Xem \\u01AF\\u1EDBc t\\xEDnh&#39; trong email s\\u1EBD kh\\xF4ng \\u0111\\u01B0\\u1EE3c hi\\u1EC3n th\\u1ECB n\\u1EEFa khi \\u0111\\u01B0\\u1EE3c b\\u1EADt.\",estimate_settings_updated:\"Estimate Settings updated successfully\",convert_estimate_options:\"Estimate Convert Action\",convert_estimate_description:\"Specify what happens to the estimate after it gets converted to an invoice.\",no_action:\"No action\",delete_estimate:\"Delete estimate\",mark_estimate_as_accepted:\"Mark estimate as accepted\"},payments:{title:\"Thanh to\\xE1n\",payment_number_format:\"Payment Number Format\",payment_number_format_description:\"Customize how your payment number gets generated automatically when you create a new payment.\",preview_payment_number:\"Preview Payment Number\",default_formats:\"Default Formats\",default_formats_description:\"Below given formats are used to fill up the fields automatically on payment creation.\",default_payment_email_body:\"N\\u1ED9i dung Email Thanh to\\xE1n M\\u1EB7c \\u0111\\u1ECBnh\",company_address_format:\"\\u0110\\u1ECBnh d\\u1EA1ng \\u0111\\u1ECBa ch\\u1EC9 c\\xF4ng ty\",from_customer_address_format:\"T\\u1EEB \\u0111\\u1ECBnh d\\u1EA1ng \\u0111\\u1ECBa ch\\u1EC9 kh\\xE1ch h\\xE0ng\",payment_email_attachment:\"G\\u1EEDi thanh to\\xE1n d\\u01B0\\u1EDBi d\\u1EA1ng t\\u1EC7p \\u0111\\xEDnh k\\xE8m\",payment_email_attachment_setting_description:\"B\\u1EADt t\\xEDnh n\\u0103ng n\\xE0y n\\u1EBFu b\\u1EA1n mu\\u1ED1n g\\u1EEDi bi\\xEAn nh\\u1EADn thanh to\\xE1n d\\u01B0\\u1EDBi d\\u1EA1ng t\\u1EC7p \\u0111\\xEDnh k\\xE8m email. Xin l\\u01B0u \\xFD r\\u1EB1ng n\\xFAt &#39;Xem Thanh to\\xE1n&#39; trong email s\\u1EBD kh\\xF4ng \\u0111\\u01B0\\u1EE3c hi\\u1EC3n th\\u1ECB n\\u1EEFa khi \\u0111\\u01B0\\u1EE3c b\\u1EADt.\",payment_settings_updated:\"Payment Settings updated successfully\"},items:{title:\"M\\u1EB7t h\\xE0ng\",units:\"C\\xE1c \\u0111\\u01A1n v\\u1ECB\",add_item_unit:\"Th\\xEAm \\u0111\\u01A1n v\\u1ECB m\\u1EB7t h\\xE0ng\",edit_item_unit:\"Ch\\u1EC9nh s\\u1EEDa \\u0111\\u01A1n v\\u1ECB m\\u1EB7t h\\xE0ng\",unit_name:\"T\\xEAn b\\xE0i\",item_unit_added:\"\\u0110\\u01A1n v\\u1ECB m\\u1EB7t h\\xE0ng \\u0111\\xE3 \\u0111\\u01B0\\u1EE3c th\\xEAm\",item_unit_updated:\"\\u0110\\xE3 c\\u1EADp nh\\u1EADt \\u0111\\u01A1n v\\u1ECB m\\u1EB7t h\\xE0ng\",item_unit_confirm_delete:\"B\\u1EA1n s\\u1EBD kh\\xF4ng th\\u1EC3 kh\\xF4i ph\\u1EE5c \\u0111\\u01A1n v\\u1ECB M\\u1EB7t h\\xE0ng n\\xE0y\",already_in_use:\"\\u0110\\u01A1n v\\u1ECB v\\u1EADt ph\\u1EA9m \\u0111\\xE3 \\u0111\\u01B0\\u1EE3c s\\u1EED d\\u1EE5ng\",deleted_message:\"\\u0110\\u01A1n v\\u1ECB m\\u1EB7t h\\xE0ng \\u0111\\xE3 \\u0111\\u01B0\\u1EE3c x\\xF3a th\\xE0nh c\\xF4ng\"},notes:{title:\"Ghi ch\\xFA\",description:\"Ti\\u1EBFt ki\\u1EC7m th\\u1EDDi gian b\\u1EB1ng c\\xE1ch t\\u1EA1o ghi ch\\xFA v\\xE0 s\\u1EED d\\u1EE5ng l\\u1EA1i ch\\xFAng tr\\xEAn h\\xF3a \\u0111\\u01A1n, \\u01B0\\u1EDBc t\\xEDnh c\\u1EE7a b\\u1EA1n\",notes:\"Ghi ch\\xFA\",type:\"Ki\\u1EC3u\",add_note:\"Th\\xEAm ghi ch\\xFA\",add_new_note:\"Th\\xEAm ghi ch\\xFA m\\u1EDBi\",name:\"T\\xEAn\",edit_note:\"Ch\\u1EC9nh s\\u1EEDa ghi ch\\xFA\",note_added:\"\\u0110\\xE3 th\\xEAm ghi ch\\xFA th\\xE0nh c\\xF4ng\",note_updated:\"\\u0110\\xE3 c\\u1EADp nh\\u1EADt ghi ch\\xFA th\\xE0nh c\\xF4ng\",note_confirm_delete:\"B\\u1EA1n s\\u1EBD kh\\xF4ng th\\u1EC3 kh\\xF4i ph\\u1EE5c Ghi ch\\xFA n\\xE0y\",already_in_use:\"Ghi ch\\xFA \\u0111\\xE3 \\u0111\\u01B0\\u1EE3c s\\u1EED d\\u1EE5ng\",deleted_message:\"\\u0110\\xE3 x\\xF3a ghi ch\\xFA th\\xE0nh c\\xF4ng\"}},account_settings:{profile_picture:\"\\u1EA2nh \\u0111\\u1EA1i di\\u1EC7n\",name:\"T\\xEAn\",email:\"E-mail\",password:\"M\\u1EADt kh\\u1EA9u\",confirm_password:\"X\\xE1c nh\\u1EADn m\\u1EADt kh\\u1EA9u\",account_settings:\"C\\xE0i \\u0111\\u1EB7t t\\xE0i kho\\u1EA3n\",save:\"Ti\\u1EBFt ki\\u1EC7m\",section_description:\"B\\u1EA1n c\\xF3 th\\u1EC3 c\\u1EADp nh\\u1EADt t\\xEAn, email c\\u1EE7a m\\xECnh\",updated_message:\"\\u0110\\xE3 c\\u1EADp nh\\u1EADt c\\xE0i \\u0111\\u1EB7t t\\xE0i kho\\u1EA3n th\\xE0nh c\\xF4ng\"},user_profile:{name:\"T\\xEAn\",email:\"E-mail\",password:\"M\\u1EADt kh\\u1EA9u\",confirm_password:\"X\\xE1c nh\\u1EADn m\\u1EADt kh\\u1EA9u\"},notification:{title:\"Th\\xF4ng b\\xE1o\",email:\"G\\u1EEDi th\\xF4ng b\\xE1o t\\u1EDBi\",description:\"B\\u1EA1n mu\\u1ED1n nh\\u1EADn th\\xF4ng b\\xE1o email n\\xE0o khi c\\xF3 \\u0111i\\u1EC1u g\\xEC \\u0111\\xF3 thay \\u0111\\u1ED5i?\",invoice_viewed:\"H\\xF3a \\u0111\\u01A1n \\u0111\\xE3 xem\",invoice_viewed_desc:\"Khi kh\\xE1ch h\\xE0ng c\\u1EE7a b\\u1EA1n xem h\\xF3a \\u0111\\u01A1n \\u0111\\u01B0\\u1EE3c g\\u1EEDi qua b\\u1EA3ng \\u0111i\\u1EC1u khi\\u1EC3n mi\\u1EC7ng n\\xFAi l\\u1EEDa.\",estimate_viewed:\"\\u01AF\\u1EDBc t\\xEDnh \\u0111\\xE3 xem\",estimate_viewed_desc:\"Khi kh\\xE1ch h\\xE0ng c\\u1EE7a b\\u1EA1n xem \\u01B0\\u1EDBc t\\xEDnh \\u0111\\u01B0\\u1EE3c g\\u1EEDi qua b\\u1EA3ng \\u0111i\\u1EC1u khi\\u1EC3n mi\\u1EC7ng n\\xFAi l\\u1EEDa.\",save:\"Ti\\u1EBFt ki\\u1EC7m\",email_save_message:\"Email \\u0111\\xE3 \\u0111\\u01B0\\u1EE3c l\\u01B0u th\\xE0nh c\\xF4ng\",please_enter_email:\"Vui l\\xF2ng nh\\u1EADp Email\"},roles:{title:\"Roles\",description:\"Manage the roles & permissions of this company\",save:\"Save\",add_new_role:\"Add New Role\",role_name:\"Role Name\",added_on:\"Added on\",add_role:\"Add Role\",edit_role:\"Edit Role\",name:\"Name\",permission:\"Permission | Permissions\",select_all:\"Select All\",none:\"None\",confirm_delete:\"You will not be able to recover this Role\",created_message:\"Role created successfully\",updated_message:\"Role updated successfully\",deleted_message:\"Role deleted successfully\",already_in_use:\"Role is already in use\"},exchange_rate:{exchange_rate:\"Exchange Rate\",title:\"Fix Currency Exchange issues\",description:\"Please enter exchange rate of all the currencies mentioned below to help Crater properly calculate the amounts in {currency}.\",drivers:\"Drivers\",new_driver:\"Add New Provider\",edit_driver:\"Edit Provider\",select_driver:\"Select Driver\",update:\"select exchange rate \",providers_description:\"Configure your exchange rate providers here to automatically fetch the latest exchange rate on transactions.\",key:\"API Key\",name:\"Name\",driver:\"Driver\",is_default:\"IS DEFAULT\",currency:\"Currencies\",exchange_rate_confirm_delete:\"You will not be able to recover this driver\",created_message:\"Provider Created successfully\",updated_message:\"Provider Updated Successfully\",deleted_message:\"Provider Deleted Successfully\",error:\" You cannot Delete Active Driver\",default_currency_error:\"This currency is already used in one of the Active Provider\",exchange_help_text:\"Enter exchange rate to convert from {currency} to {baseCurrency}\",currency_freak:\"Currency Freak\",currency_layer:\"Currency Layer\",open_exchange_rate:\"Open Exchange Rate\",currency_converter:\"Currency Converter\",server:\"Server\",url:\"URL\",active:\"Active\",currency_help_text:\"This provider will only be used on above selected currencies\",currency_in_used:\"The following currencies are already active on another provider. Please remove these currencies from selection to activate this provider again.\"},tax_types:{title:\"C\\xE1c lo\\u1EA1i thu\\u1EBF\",add_tax:\"Th\\xEAm thu\\u1EBF\",edit_tax:\"Ch\\u1EC9nh s\\u1EEDa thu\\u1EBF\",description:\"B\\u1EA1n c\\xF3 th\\u1EC3 th\\xEAm ho\\u1EB7c b\\u1EDBt thu\\u1EBF t\\xF9y \\xFD. Crater h\\u1ED7 tr\\u1EE3 Thu\\u1EBF \\u0111\\u1ED1i v\\u1EDBi c\\xE1c m\\u1EB7t h\\xE0ng ri\\xEAng l\\u1EBB c\\u0169ng nh\\u01B0 tr\\xEAn h\\xF3a \\u0111\\u01A1n.\",add_new_tax:\"Th\\xEAm thu\\u1EBF m\\u1EDBi\",tax_settings:\"C\\xE0i \\u0111\\u1EB7t thu\\u1EBF\",tax_per_item:\"Thu\\u1EBF m\\u1ED7i m\\u1EB7t h\\xE0ng\",tax_name:\"T\\xEAn thu\\u1EBF\",compound_tax:\"Thu\\u1EBF t\\u1ED5ng h\\u1EE3p\",percent:\"Ph\\u1EA7n tr\\u0103m\",action:\"Ho\\u1EA1t \\u0111\\u1ED9ng\",tax_setting_description:\"B\\u1EADt t\\xEDnh n\\u0103ng n\\xE0y n\\u1EBFu b\\u1EA1n mu\\u1ED1n th\\xEAm thu\\u1EBF v\\xE0o c\\xE1c m\\u1EE5c h\\xF3a \\u0111\\u01A1n ri\\xEAng l\\u1EBB. Theo m\\u1EB7c \\u0111\\u1ECBnh, thu\\u1EBF \\u0111\\u01B0\\u1EE3c th\\xEAm tr\\u1EF1c ti\\u1EBFp v\\xE0o h\\xF3a \\u0111\\u01A1n.\",created_message:\"Lo\\u1EA1i thu\\u1EBF \\u0111\\xE3 \\u0111\\u01B0\\u1EE3c t\\u1EA1o th\\xE0nh c\\xF4ng\",updated_message:\"\\u0110\\xE3 c\\u1EADp nh\\u1EADt th\\xE0nh c\\xF4ng lo\\u1EA1i thu\\u1EBF\",deleted_message:\"\\u0110\\xE3 x\\xF3a th\\xE0nh c\\xF4ng lo\\u1EA1i thu\\u1EBF\",confirm_delete:\"B\\u1EA1n s\\u1EBD kh\\xF4ng th\\u1EC3 kh\\xF4i ph\\u1EE5c Lo\\u1EA1i thu\\u1EBF n\\xE0y\",already_in_use:\"Thu\\u1EBF \\u0111\\xE3 \\u0111\\u01B0\\u1EE3c s\\u1EED d\\u1EE5ng\"},payment_modes:{title:\"Payment Modes\",description:\"Modes of transaction for payments\",add_payment_mode:\"Add Payment Mode\",edit_payment_mode:\"Edit Payment Mode\",mode_name:\"Mode Name\",payment_mode_added:\"Payment Mode Added\",payment_mode_updated:\"Payment Mode Updated\",payment_mode_confirm_delete:\"You will not be able to recover this Payment Mode\",payments_attached:\"This payment method is already attached to payments. Please delete the attached payments to proceed with deletion.\",expenses_attached:\"This payment method is already attached to expenses. Please delete the attached expenses to proceed with deletion.\",deleted_message:\"Payment Mode deleted successfully\"},expense_category:{title:\"H\\u1EA1ng m\\u1EE5c Chi ph\\xED\",action:\"Ho\\u1EA1t \\u0111\\u1ED9ng\",description:\"C\\xE1c danh m\\u1EE5c \\u0111\\u01B0\\u1EE3c y\\xEAu c\\u1EA7u \\u0111\\u1EC3 th\\xEAm c\\xE1c m\\u1EE5c chi ph\\xED. B\\u1EA1n c\\xF3 th\\u1EC3 Th\\xEAm ho\\u1EB7c X\\xF3a c\\xE1c danh m\\u1EE5c n\\xE0y t\\xF9y theo s\\u1EDF th\\xEDch c\\u1EE7a m\\xECnh.\",add_new_category:\"Th\\xEAm danh m\\u1EE5c m\\u1EDBi\",add_category:\"th\\xEAm th\\xEA\\u0309 loa\\u0323i\",edit_category:\"Ch\\u1EC9nh s\\u1EEDa danh m\\u1EE5c\",category_name:\"t\\xEAn danh m\\u1EE5c\",category_description:\"S\\u1EF1 mi\\xEAu t\\u1EA3\",created_message:\"Danh m\\u1EE5c Chi ph\\xED \\u0111\\xE3 \\u0111\\u01B0\\u1EE3c t\\u1EA1o th\\xE0nh c\\xF4ng\",deleted_message:\"\\u0110\\xE3 x\\xF3a th\\xE0nh c\\xF4ng danh m\\u1EE5c chi ph\\xED\",updated_message:\"\\u0110\\xE3 c\\u1EADp nh\\u1EADt danh m\\u1EE5c chi ph\\xED th\\xE0nh c\\xF4ng\",confirm_delete:\"B\\u1EA1n s\\u1EBD kh\\xF4ng th\\u1EC3 kh\\xF4i ph\\u1EE5c Danh m\\u1EE5c Chi ph\\xED n\\xE0y\",already_in_use:\"Danh m\\u1EE5c \\u0111\\xE3 \\u0111\\u01B0\\u1EE3c s\\u1EED d\\u1EE5ng\"},preferences:{currency:\"Ti\\u1EC1n t\\u1EC7\",default_language:\"Ng\\xF4n ng\\u1EEF m\\u1EB7c \\u0111\\u1ECBnh\",time_zone:\"M\\xFAi gi\\u1EDD\",fiscal_year:\"N\\u0103m t\\xE0i ch\\xEDnh\",date_format:\"\\u0110\\u1ECBnh d\\u1EA1ng ng\\xE0y th\\xE1ng\",discount_setting:\"C\\xE0i \\u0111\\u1EB7t chi\\u1EBFt kh\\u1EA5u\",discount_per_item:\"Gi\\u1EA3m gi\\xE1 cho m\\u1ED7i m\\u1EB7t h\\xE0ng\",discount_setting_description:\"B\\u1EADt t\\xEDnh n\\u0103ng n\\xE0y n\\u1EBFu b\\u1EA1n mu\\u1ED1n th\\xEAm Gi\\u1EA3m gi\\xE1 v\\xE0o c\\xE1c m\\u1EB7t h\\xE0ng h\\xF3a \\u0111\\u01A1n ri\\xEAng l\\u1EBB. Theo m\\u1EB7c \\u0111\\u1ECBnh, Gi\\u1EA3m gi\\xE1 \\u0111\\u01B0\\u1EE3c th\\xEAm tr\\u1EF1c ti\\u1EBFp v\\xE0o h\\xF3a \\u0111\\u01A1n.\",expire_public_links:\"Automatically Expire Public Links\",expire_setting_description:\"Specify whether you would like to expire all the links sent by application to view invoices, estimates & payments, etc after a specified duration.\",save:\"Ti\\u1EBFt ki\\u1EC7m\",preference:\"S\\u1EDF th\\xEDch | S\\u1EDF th\\xEDch\",general_settings:\"T\\xF9y ch\\u1ECDn m\\u1EB7c \\u0111\\u1ECBnh cho h\\u1EC7 th\\u1ED1ng.\",updated_message:\"\\u0110\\xE3 c\\u1EADp nh\\u1EADt th\\xE0nh c\\xF4ng c\\xE1c t\\xF9y ch\\u1ECDn\",select_language:\"Ch\\u1ECDn ng\\xF4n ng\\u1EEF\",select_time_zone:\"Ch\\u1ECDn m\\xFAi gi\\u1EDD\",select_date_format:\"Ch\\u1ECDn \\u0111\\u1ECBnh d\\u1EA1ng ng\\xE0y\",select_financial_year:\"Ch\\u1ECDn n\\u0103m t\\xE0i ch\\xEDnh\",recurring_invoice_status:\"Recurring Invoice Status\",create_status:\"Create Status\",active:\"Active\",on_hold:\"On Hold\",update_status:\"Update Status\",completed:\"Completed\",company_currency_unchangeable:\"Company currency cannot be changed\"},update_app:{title:\"C\\u1EADp nh\\u1EADt \\u1EE9ng d\\u1EE5ng\",description:\"B\\u1EA1n c\\xF3 th\\u1EC3 d\\u1EC5 d\\xE0ng c\\u1EADp nh\\u1EADt Crater b\\u1EB1ng c\\xE1ch ki\\u1EC3m tra b\\u1EA3n c\\u1EADp nh\\u1EADt m\\u1EDBi b\\u1EB1ng c\\xE1ch nh\\u1EA5p v\\xE0o n\\xFAt b\\xEAn d\\u01B0\\u1EDBi\",check_update:\"Ki\\u1EC3m tra c\\u1EADp nh\\u1EADt\",avail_update:\"C\\u1EADp nh\\u1EADt m\\u1EDBi c\\xF3 s\\u1EB5n\",next_version:\"Phi\\xEAn b\\u1EA3n ti\\u1EBFp theo\",requirements:\"Y\\xEAu c\\u1EA7u\",update:\"C\\u1EADp nh\\u1EADt b\\xE2y gi\\u1EDD\",update_progress:\"\\u0110ang c\\u1EADp nh\\u1EADt ...\",progress_text:\"N\\xF3 s\\u1EBD ch\\u1EC9 m\\u1EA5t m\\u1ED9t v\\xE0i ph\\xFAt. Vui l\\xF2ng kh\\xF4ng l\\xE0m m\\u1EDBi m\\xE0n h\\xECnh ho\\u1EB7c \\u0111\\xF3ng c\\u1EEDa s\\u1ED5 tr\\u01B0\\u1EDBc khi c\\u1EADp nh\\u1EADt k\\u1EBFt th\\xFAc\",update_success:\"\\u1EE8ng d\\u1EE5ng \\u0111\\xE3 \\u0111\\u01B0\\u1EE3c c\\u1EADp nh\\u1EADt! Vui l\\xF2ng \\u0111\\u1EE3i trong khi c\\u1EEDa s\\u1ED5 tr\\xECnh duy\\u1EC7t c\\u1EE7a b\\u1EA1n \\u0111\\u01B0\\u1EE3c t\\u1EA3i l\\u1EA1i t\\u1EF1 \\u0111\\u1ED9ng.\",latest_message:\"Kh\\xF4ng c\\xF3 b\\u1EA3n c\\u1EADp nh\\u1EADt n\\xE0o! B\\u1EA1n \\u0111ang s\\u1EED d\\u1EE5ng phi\\xEAn b\\u1EA3n m\\u1EDBi nh\\u1EA5t.\",current_version:\"Phi\\xEAn b\\u1EA3n hi\\u1EC7n t\\u1EA1i\",download_zip_file:\"T\\u1EA3i xu\\u1ED1ng t\\u1EC7p ZIP\",unzipping_package:\"G\\xF3i gi\\u1EA3i n\\xE9n\",copying_files:\"Sao ch\\xE9p c\\xE1c t\\u1EADp tin\",deleting_files:\"X\\xF3a c\\xE1c t\\u1EC7p kh\\xF4ng s\\u1EED d\\u1EE5ng\",running_migrations:\"Ch\\u1EA1y di c\\u01B0\",finishing_update:\"C\\u1EADp nh\\u1EADt k\\u1EBFt th\\xFAc\",update_failed:\"C\\u1EADp nh\\u1EADt kh\\xF4ng th\\xE0nh c\\xF4ng\",update_failed_text:\"L\\u1EA5y l\\xE0m ti\\u1EBFc! C\\u1EADp nh\\u1EADt c\\u1EE7a b\\u1EA1n kh\\xF4ng th\\xE0nh c\\xF4ng v\\xE0o: b\\u01B0\\u1EDBc {step}\",update_warning:\"All of the application files and default template files will be overwritten when you update the application using this utility. Please take a backup of your templates & database before updating.\"},backup:{title:\"Sao l\\u01B0u | Sao l\\u01B0u\",description:\"B\\u1EA3n sao l\\u01B0u l\\xE0 m\\u1ED9t t\\u1EC7p zip ch\\u1EE9a t\\u1EA5t c\\u1EA3 c\\xE1c t\\u1EC7p trong th\\u01B0 m\\u1EE5c b\\u1EA1n ch\\u1EC9 \\u0111\\u1ECBnh c\\xF9ng v\\u1EDBi m\\u1ED9t k\\u1EBFt xu\\u1EA5t c\\u01A1 s\\u1EDF d\\u1EEF li\\u1EC7u c\\u1EE7a b\\u1EA1n\",new_backup:\"Th\\xEAm b\\u1EA3n sao l\\u01B0u m\\u1EDBi\",create_backup:\"T\\u1EA1o b\\u1EA3n sao\",select_backup_type:\"Ch\\u1ECDn lo\\u1EA1i sao l\\u01B0u\",backup_confirm_delete:\"B\\u1EA1n s\\u1EBD kh\\xF4ng th\\u1EC3 kh\\xF4i ph\\u1EE5c B\\u1EA3n sao l\\u01B0u n\\xE0y\",path:\"con \\u0111\\u01B0\\u1EDDng\",new_disk:\"\\u0110\\u0129a m\\u1EDBi\",created_at:\"\\u0111\\u01B0\\u1EE3c t\\u1EA1o ra t\\u1EA1i\",size:\"k\\xEDch th\\u01B0\\u1EDBc\",dropbox:\"dropbox\",local:\"\\u0111\\u1ECBa ph\\u01B0\\u01A1ng\",healthy:\"kh\\u1ECFe m\\u1EA1nh\",amount_of_backups:\"l\\u01B0\\u1EE3ng sao l\\u01B0u\",newest_backups:\"b\\u1EA3n sao l\\u01B0u m\\u1EDBi nh\\u1EA5t\",used_storage:\"l\\u01B0u tr\\u1EEF \\u0111\\xE3 s\\u1EED d\\u1EE5ng\",select_disk:\"Ch\\u1ECDn \\u0111\\u0129a\",action:\"Ho\\u1EA1t \\u0111\\u1ED9ng\",deleted_message:\"\\u0110\\xE3 x\\xF3a b\\u1EA3n sao l\\u01B0u th\\xE0nh c\\xF4ng\",created_message:\"\\u0110\\xE3 t\\u1EA1o th\\xE0nh c\\xF4ng b\\u1EA3n sao l\\u01B0u\",invalid_disk_credentials:\"Th\\xF4ng tin \\u0111\\u0103ng nh\\u1EADp kh\\xF4ng h\\u1EE3p l\\u1EC7 c\\u1EE7a \\u0111\\u0129a \\u0111\\xE3 ch\\u1ECDn\"},disk:{title:\"\\u0110\\u0129a t\\u1EADp tin | \\u0110\\u0129a T\\u1EC7p\",description:\"Theo m\\u1EB7c \\u0111\\u1ECBnh, Crater s\\u1EBD s\\u1EED d\\u1EE5ng \\u0111\\u0129a c\\u1EE5c b\\u1ED9 c\\u1EE7a b\\u1EA1n \\u0111\\u1EC3 l\\u01B0u c\\xE1c b\\u1EA3n sao l\\u01B0u, \\u1EA3nh \\u0111\\u1EA1i di\\u1EC7n v\\xE0 c\\xE1c t\\u1EC7p h\\xECnh \\u1EA3nh kh\\xE1c. B\\u1EA1n c\\xF3 th\\u1EC3 \\u0111\\u1ECBnh c\\u1EA5u h\\xECnh nhi\\u1EC1u h\\u01A1n m\\u1ED9t tr\\xECnh \\u0111i\\u1EC1u khi\\u1EC3n \\u0111\\u0129a nh\\u01B0 DigitalOcean, S3 v\\xE0 Dropbox theo s\\u1EDF th\\xEDch c\\u1EE7a m\\xECnh.\",created_at:\"\\u0111\\u01B0\\u1EE3c t\\u1EA1o ra t\\u1EA1i\",dropbox:\"dropbox\",name:\"T\\xEAn\",driver:\"Ng\\u01B0\\u1EDDi l\\xE1i xe\",disk_type:\"Ki\\u1EC3u\",disk_name:\"T\\xEAn \\u0111\\u0129a\",new_disk:\"Th\\xEAm \\u0111\\u0129a m\\u1EDBi\",filesystem_driver:\"Tr\\xECnh \\u0111i\\u1EC1u khi\\u1EC3n h\\u1EC7 th\\u1ED1ng t\\u1EADp tin\",local_driver:\"Tr\\xECnh \\u0111i\\u1EC1u khi\\u1EC3n \\u0111\\u1ECBa ph\\u01B0\\u01A1ng\",local_root:\"G\\u1ED1c c\\u1EE5c b\\u1ED9\",public_driver:\"T\\xE0i x\\u1EBF c\\xF4ng c\\u1ED9ng\",public_root:\"G\\u1ED1c c\\xF4ng khai\",public_url:\"URL c\\xF4ng khai\",public_visibility:\"Hi\\u1EC3n th\\u1ECB c\\xF4ng khai\",media_driver:\"Tr\\xECnh \\u0111i\\u1EC1u khi\\u1EC3n ph\\u01B0\\u01A1ng ti\\u1EC7n\",media_root:\"G\\u1ED1c ph\\u01B0\\u01A1ng ti\\u1EC7n\",aws_driver:\"Tr\\xECnh \\u0111i\\u1EC1u khi\\u1EC3n AWS\",aws_key:\"Kh\\xF3a AWS\",aws_secret:\"B\\xED m\\u1EADt AWS\",aws_region:\"Khu v\\u1EF1c AWS\",aws_bucket:\"Nh\\xF3m AWS\",aws_root:\"G\\u1ED1c AWS\",do_spaces_type:\"L\\xE0m ki\\u1EC3u Spaces\",do_spaces_key:\"Do ph\\xEDm Spaces\",do_spaces_secret:\"L\\xE0m b\\xED m\\u1EADt v\\u1EC1 kh\\xF4ng gian\",do_spaces_region:\"Do Spaces Region\",do_spaces_bucket:\"Do Spaces Bucket\",do_spaces_endpoint:\"Do Spaces Endpoint\",do_spaces_root:\"Do Spaces Root\",dropbox_type:\"Lo\\u1EA1i h\\u1ED9p ch\\u1EE9a\",dropbox_token:\"M\\xE3 th\\xF4ng b\\xE1o Dropbox\",dropbox_key:\"Kh\\xF3a Dropbox\",dropbox_secret:\"B\\xED m\\u1EADt Dropbox\",dropbox_app:\"\\u1EE8ng d\\u1EE5ng Dropbox\",dropbox_root:\"G\\u1ED1c Dropbox\",default_driver:\"Tr\\xECnh \\u0111i\\u1EC1u khi\\u1EC3n m\\u1EB7c \\u0111\\u1ECBnh\",is_default:\"L\\xC0 \\u0110\\u1ECANH NGH\\u0128A\",set_default_disk:\"\\u0110\\u1EB7t \\u0111\\u0129a m\\u1EB7c \\u0111\\u1ECBnh\",set_default_disk_confirm:\"\\u0110\\u0129a n\\xE0y s\\u1EBD \\u0111\\u01B0\\u1EE3c \\u0111\\u1EB7t l\\xE0m m\\u1EB7c \\u0111\\u1ECBnh v\\xE0 t\\u1EA5t c\\u1EA3 c\\xE1c t\\u1EC7p PDF m\\u1EDBi s\\u1EBD \\u0111\\u01B0\\u1EE3c l\\u01B0u tr\\xEAn \\u0111\\u0129a n\\xE0y\",success_set_default_disk:\"\\u0110\\u0129a \\u0111\\u01B0\\u1EE3c \\u0111\\u1EB7t l\\xE0m m\\u1EB7c \\u0111\\u1ECBnh th\\xE0nh c\\xF4ng\",save_pdf_to_disk:\"L\\u01B0u PDF v\\xE0o \\u0111\\u0129a\",disk_setting_description:\"B\\u1EADt t\\xEDnh n\\u0103ng n\\xE0y, n\\u1EBFu b\\u1EA1n mu\\u1ED1n l\\u01B0u m\\u1ED9t b\\u1EA3n sao c\\u1EE7a m\\u1ED7i H\\xF3a \\u0111\\u01A1n, \\u01AF\\u1EDBc t\\xEDnh\",select_disk:\"Ch\\u1ECDn \\u0111\\u0129a\",disk_settings:\"C\\xE0i \\u0111\\u1EB7t \\u0111\\u0129a\",confirm_delete:\"T\\u1EC7p hi\\u1EC7n c\\xF3 c\\u1EE7a b\\u1EA1n\",action:\"Ho\\u1EA1t \\u0111\\u1ED9ng\",edit_file_disk:\"Ch\\u1EC9nh s\\u1EEDa \\u0110\\u0129a T\\u1EC7p\",success_create:\"\\u0110\\xE3 th\\xEAm \\u0111\\u0129a th\\xE0nh c\\xF4ng\",success_update:\"\\u0110\\xE3 c\\u1EADp nh\\u1EADt \\u0111\\u0129a th\\xE0nh c\\xF4ng\",error:\"Th\\xEAm \\u0111\\u0129a kh\\xF4ng th\\xE0nh c\\xF4ng\",deleted_message:\"\\u0110\\u0129a T\\u1EC7p \\u0111\\xE3 \\u0111\\u01B0\\u1EE3c x\\xF3a th\\xE0nh c\\xF4ng\",disk_variables_save_successfully:\"\\u0110\\xE3 c\\u1EA5u h\\xECnh \\u0111\\u0129a th\\xE0nh c\\xF4ng\",disk_variables_save_error:\"C\\u1EA5u h\\xECnh \\u0111\\u0129a kh\\xF4ng th\\xE0nh c\\xF4ng.\",invalid_disk_credentials:\"Th\\xF4ng tin \\u0111\\u0103ng nh\\u1EADp kh\\xF4ng h\\u1EE3p l\\u1EC7 c\\u1EE7a \\u0111\\u0129a \\u0111\\xE3 ch\\u1ECDn\"},taxations:{add_billing_address:\"Enter Billing Address\",add_shipping_address:\"Enter Shipping Address\",add_company_address:\"Enter Company Address\",modal_description:\"The information below is required in order to fetch sales tax.\",add_address:\"Add Address for fetching sales tax.\",address_placeholder:\"Example: 123, My Street\",city_placeholder:\"Example: Los Angeles\",state_placeholder:\"Example: CA\",zip_placeholder:\"Example: 90024\",invalid_address:\"Please provide valid address details.\"}},cw={account_info:\"th\\xF4ng tin t\\xE0i kho\\u1EA3n\",account_info_desc:\"Th\\xF4ng tin chi ti\\u1EBFt d\\u01B0\\u1EDBi \\u0111\\xE2y s\\u1EBD \\u0111\\u01B0\\u1EE3c s\\u1EED d\\u1EE5ng \\u0111\\u1EC3 t\\u1EA1o t\\xE0i kho\\u1EA3n Qu\\u1EA3n tr\\u1ECB vi\\xEAn ch\\xEDnh. Ngo\\xE0i ra, b\\u1EA1n c\\xF3 th\\u1EC3 thay \\u0111\\u1ED5i th\\xF4ng tin chi ti\\u1EBFt b\\u1EA5t c\\u1EE9 l\\xFAc n\\xE0o sau khi \\u0111\\u0103ng nh\\u1EADp.\",name:\"T\\xEAn\",email:\"E-mail\",password:\"M\\u1EADt kh\\u1EA9u\",confirm_password:\"X\\xE1c nh\\u1EADn m\\u1EADt kh\\u1EA9u\",save_cont:\"Ti\\u1EBFt ki\\u1EC7m\",company_info:\"Th\\xF4ng tin c\\xF4ng ty\",company_info_desc:\"Th\\xF4ng tin n\\xE0y s\\u1EBD \\u0111\\u01B0\\u1EE3c hi\\u1EC3n th\\u1ECB tr\\xEAn h\\xF3a \\u0111\\u01A1n. L\\u01B0u \\xFD r\\u1EB1ng b\\u1EA1n c\\xF3 th\\u1EC3 ch\\u1EC9nh s\\u1EEDa \\u0111i\\u1EC1u n\\xE0y sau tr\\xEAn trang c\\xE0i \\u0111\\u1EB7t.\",company_name:\"T\\xEAn c\\xF4ng ty\",company_logo:\"Logo c\\xF4ng ty\",logo_preview:\"Xem tr\\u01B0\\u1EDBc Logo\",preferences:\"S\\u1EDF th\\xEDch\",preferences_desc:\"T\\xF9y ch\\u1ECDn m\\u1EB7c \\u0111\\u1ECBnh cho h\\u1EC7 th\\u1ED1ng.\",currency_set_alert:\"The company's currency cannot be changed later.\",country:\"Qu\\u1ED1c gia\",state:\"Ti\\u1EC3u bang\",city:\"Tp.\",address:\"\\u0110\\u1ECBa ch\\u1EC9\",street:\"Ph\\u1ED11 | Street2\",phone:\"\\u0110i\\u1EC7n tho\\u1EA1i\",zip_code:\"M\\xE3 B\\u01B0u Ch\\xEDnh\",go_back:\"Quay l\\u1EA1i\",currency:\"Ti\\u1EC1n t\\u1EC7\",language:\"Ng\\xF4n ng\\u1EEF\",time_zone:\"M\\xFAi gi\\u1EDD\",fiscal_year:\"N\\u0103m t\\xE0i ch\\xEDnh\",date_format:\"\\u0110\\u1ECBnh d\\u1EA1ng ng\\xE0y th\\xE1ng\",from_address:\"T\\u1EEB \\u0111\\u1ECBa ch\\u1EC9\",username:\"t\\xEAn t\\xE0i kho\\u1EA3n\",next:\"K\\u1EBF ti\\u1EBFp\",continue:\"Ti\\u1EBFp t\\u1EE5c\",skip:\"Nh\\u1EA3y\",database:{database:\"URL trang web\",connection:\"K\\u1EBFt n\\u1ED1i c\\u01A1 s\\u1EDF d\\u1EEF li\\u1EC7u\",host:\"M\\xE1y ch\\u1EE7 c\\u01A1 s\\u1EDF d\\u1EEF li\\u1EC7u\",port:\"C\\u1ED5ng c\\u01A1 s\\u1EDF d\\u1EEF li\\u1EC7u\",password:\"M\\u1EADt kh\\u1EA9u c\\u01A1 s\\u1EDF d\\u1EEF li\\u1EC7u\",app_url:\"URL \\u1EE9ng d\\u1EE5ng\",app_domain:\"Mi\\u1EC1n \\u1EE9ng d\\u1EE5ng\",username:\"T\\xEAn ng\\u01B0\\u1EDDi d\\xF9ng c\\u01A1 s\\u1EDF d\\u1EEF li\\u1EC7u\",db_name:\"T\\xEAn c\\u01A1 s\\u1EDF d\\u1EEF li\\u1EC7u\",db_path:\"\\u0110\\u01B0\\u1EDDng d\\u1EABn c\\u01A1 s\\u1EDF d\\u1EEF li\\u1EC7u\",desc:\"T\\u1EA1o c\\u01A1 s\\u1EDF d\\u1EEF li\\u1EC7u tr\\xEAn m\\xE1y ch\\u1EE7 c\\u1EE7a b\\u1EA1n v\\xE0 \\u0111\\u1EB7t th\\xF4ng tin \\u0111\\u0103ng nh\\u1EADp b\\u1EB1ng bi\\u1EC3u m\\u1EABu b\\xEAn d\\u01B0\\u1EDBi.\"},permissions:{permissions:\"Quy\\u1EC1n\",permission_confirm_title:\"B\\u1EA1n c\\xF3 ch\\u1EAFc ch\\u1EAFn mu\\u1ED1n ti\\u1EBFp t\\u1EE5c kh\\xF4ng?\",permission_confirm_desc:\"Ki\\u1EC3m tra quy\\u1EC1n th\\u01B0 m\\u1EE5c kh\\xF4ng th\\xE0nh c\\xF4ng\",permission_desc:\"D\\u01B0\\u1EDBi \\u0111\\xE2y l\\xE0 danh s\\xE1ch c\\xE1c quy\\u1EC1n \\u0111\\u1ED1i v\\u1EDBi th\\u01B0 m\\u1EE5c \\u0111\\u01B0\\u1EE3c y\\xEAu c\\u1EA7u \\u0111\\u1EC3 \\u1EE9ng d\\u1EE5ng ho\\u1EA1t \\u0111\\u1ED9ng. N\\u1EBFu ki\\u1EC3m tra quy\\u1EC1n kh\\xF4ng th\\xE0nh c\\xF4ng, h\\xE3y \\u0111\\u1EA3m b\\u1EA3o c\\u1EADp nh\\u1EADt quy\\u1EC1n th\\u01B0 m\\u1EE5c c\\u1EE7a b\\u1EA1n.\"},verify_domain:{title:\"Domain Verification\",desc:\"Crater uses Session based authentication which requires domain verification for security purposes. Please enter the domain on which you will be accessing your web application.\",app_domain:\"App Domain\",verify_now:\"Verify Now\",success:\"Domain Verify Successfully.\",failed:\"Domain verification failed. Please enter valid domain name.\",verify_and_continue:\"Verify And Continue\"},mail:{host:\"M\\xE1y ch\\u1EE7 Th\\u01B0\",port:\"C\\u1ED5ng th\\u01B0\",driver:\"Tr\\xECnh \\u0111i\\u1EC1u khi\\u1EC3n Th\\u01B0\",secret:\"B\\xED m\\u1EADt\",mailgun_secret:\"B\\xED m\\u1EADt Mailgun\",mailgun_domain:\"Mi\\u1EC1n\",mailgun_endpoint:\"\\u0110i\\u1EC3m cu\\u1ED1i c\\u1EE7a Mailgun\",ses_secret:\"B\\xED m\\u1EADt SES\",ses_key:\"Kh\\xF3a SES\",password:\"M\\u1EADt kh\\u1EA9u th\\u01B0\",username:\"T\\xEAn ng\\u01B0\\u1EDDi d\\xF9ng th\\u01B0\",mail_config:\"C\\u1EA5u h\\xECnh th\\u01B0\",from_name:\"T\\u1EEB t\\xEAn th\\u01B0\",from_mail:\"T\\u1EEB \\u0111\\u1ECBa ch\\u1EC9 th\\u01B0\",encryption:\"M\\xE3 h\\xF3a Th\\u01B0\",mail_config_desc:\"D\\u01B0\\u1EDBi \\u0111\\xE2y l\\xE0 bi\\u1EC3u m\\u1EABu \\u0110\\u1ECBnh c\\u1EA5u h\\xECnh tr\\xECnh \\u0111i\\u1EC1u khi\\u1EC3n Email \\u0111\\u1EC3 g\\u1EEDi email t\\u1EEB \\u1EE9ng d\\u1EE5ng. B\\u1EA1n c\\u0169ng c\\xF3 th\\u1EC3 \\u0111\\u1ECBnh c\\u1EA5u h\\xECnh c\\xE1c nh\\xE0 cung c\\u1EA5p b\\xEAn th\\u1EE9 ba nh\\u01B0 Sendgrid, SES, v.v.\"},req:{system_req:\"y\\xEAu c\\u1EA7u h\\u1EC7 th\\u1ED1ng\",php_req_version:\"Php (b\\u1EAFt bu\\u1ED9c ph\\u1EA3i c\\xF3 phi\\xEAn b\\u1EA3n {version})\",check_req:\"Ki\\u1EC3m tra y\\xEAu c\\u1EA7u\",system_req_desc:\"Crater c\\xF3 m\\u1ED9t s\\u1ED1 y\\xEAu c\\u1EA7u m\\xE1y ch\\u1EE7. \\u0110\\u1EA3m b\\u1EA3o r\\u1EB1ng m\\xE1y ch\\u1EE7 c\\u1EE7a b\\u1EA1n c\\xF3 phi\\xEAn b\\u1EA3n php b\\u1EAFt bu\\u1ED9c v\\xE0 t\\u1EA5t c\\u1EA3 c\\xE1c ph\\u1EA7n m\\u1EDF r\\u1ED9ng \\u0111\\u01B0\\u1EE3c \\u0111\\u1EC1 c\\u1EADp b\\xEAn d\\u01B0\\u1EDBi.\"},errors:{migrate_failed:\"Di chuy\\u1EC3n kh\\xF4ng th\\xE0nh c\\xF4ng\",database_variables_save_error:\"Kh\\xF4ng th\\u1EC3 ghi c\\u1EA5u h\\xECnh v\\xE0o t\\u1EC7p .env. Vui l\\xF2ng ki\\u1EC3m tra quy\\u1EC1n \\u0111\\u1ED1i v\\u1EDBi t\\u1EC7p c\\u1EE7a n\\xF3\",mail_variables_save_error:\"C\\u1EA5u h\\xECnh email kh\\xF4ng th\\xE0nh c\\xF4ng.\",connection_failed:\"K\\u1EBFt n\\u1ED1i c\\u01A1 s\\u1EDF d\\u1EEF li\\u1EC7u kh\\xF4ng th\\xE0nh c\\xF4ng\",database_should_be_empty:\"C\\u01A1 s\\u1EDF d\\u1EEF li\\u1EC7u ph\\u1EA3i tr\\u1ED1ng\"},success:{mail_variables_save_successfully:\"Email \\u0111\\u01B0\\u1EE3c \\u0111\\u1ECBnh c\\u1EA5u h\\xECnh th\\xE0nh c\\xF4ng\",database_variables_save_successfully:\"\\u0110\\xE3 c\\u1EA5u h\\xECnh th\\xE0nh c\\xF4ng c\\u01A1 s\\u1EDF d\\u1EEF li\\u1EC7u.\"}},_w={invalid_phone:\"S\\u1ED1 \\u0111i\\u1EC7n tho\\u1EA1i kh\\xF4ng h\\u1EE3p l\\u1EC7\",invalid_url:\"Url kh\\xF4ng h\\u1EE3p l\\u1EC7 (v\\xED d\\u1EE5: http://www.crater.com)\",invalid_domain_url:\"Url kh\\xF4ng h\\u1EE3p l\\u1EC7 (v\\xED d\\u1EE5: crater.com)\",required:\"L\\u0129nh v\\u1EF1c \\u0111\\u01B0\\u1EE3c y\\xEAu c\\u1EA7u\",email_incorrect:\"Email kh\\xF4ng ch\\xEDnh x\\xE1c.\",email_already_taken:\"L\\xE1 th\\u01B0 \\u0111\\xE3 \\u0111\\u01B0\\u1EE3c l\\u1EA5y \\u0111i.\",email_does_not_exist:\"Ng\\u01B0\\u1EDDi d\\xF9ng c\\xF3 email \\u0111\\xE3 cho kh\\xF4ng t\\u1ED3n t\\u1EA1i\",item_unit_already_taken:\"T\\xEAn \\u0111\\u01A1n v\\u1ECB m\\u1EB7t h\\xE0ng n\\xE0y \\u0111\\xE3 \\u0111\\u01B0\\u1EE3c s\\u1EED d\\u1EE5ng\",payment_mode_already_taken:\"T\\xEAn ph\\u01B0\\u01A1ng th\\u1EE9c thanh to\\xE1n n\\xE0y \\u0111\\xE3 \\u0111\\u01B0\\u1EE3c s\\u1EED d\\u1EE5ng\",send_reset_link:\"G\\u1EEDi li\\xEAn k\\u1EBFt \\u0111\\u1EB7t l\\u1EA1i\",not_yet:\"Ch\\u01B0a? G\\u1EEDi l\\u1EA1i\",password_min_length:\"M\\u1EADt kh\\u1EA9u ph\\u1EA3i ch\\u1EE9a {count} k\\xFD t\\u1EF1\",name_min_length:\"T\\xEAn ph\\u1EA3i c\\xF3 \\xEDt nh\\u1EA5t {count} ch\\u1EEF c\\xE1i.\",prefix_min_length:\"Prefix must have at least {count} letters.\",enter_valid_tax_rate:\"Nh\\u1EADp thu\\u1EBF su\\u1EA5t h\\u1EE3p l\\u1EC7\",numbers_only:\"Ch\\u1EC9 s\\u1ED1.\",characters_only:\"Ch\\u1EC9 nh\\xE2n v\\u1EADt.\",password_incorrect:\"M\\u1EADt kh\\u1EA9u ph\\u1EA3i gi\\u1ED1ng h\\u1EC7t nhau\",password_length:\"M\\u1EADt kh\\u1EA9u ph\\u1EA3i d\\xE0i {count} k\\xFD t\\u1EF1.\",qty_must_greater_than_zero:\"S\\u1ED1 l\\u01B0\\u1EE3ng ph\\u1EA3i l\\u1EDBn h\\u01A1n kh\\xF4ng.\",price_greater_than_zero:\"Gi\\xE1 ph\\u1EA3i l\\u1EDBn h\\u01A1n 0.\",payment_greater_than_zero:\"Kho\\u1EA3n thanh to\\xE1n ph\\u1EA3i l\\u1EDBn h\\u01A1n 0.\",payment_greater_than_due_amount:\"Thanh to\\xE1n \\u0111\\xE3 nh\\u1EADp nhi\\u1EC1u h\\u01A1n s\\u1ED1 ti\\u1EC1n \\u0111\\u1EBFn h\\u1EA1n c\\u1EE7a h\\xF3a \\u0111\\u01A1n n\\xE0y.\",quantity_maxlength:\"S\\u1ED1 l\\u01B0\\u1EE3ng kh\\xF4ng \\u0111\\u01B0\\u1EE3c l\\u1EDBn h\\u01A1n 20 ch\\u1EEF s\\u1ED1.\",price_maxlength:\"Gi\\xE1 kh\\xF4ng \\u0111\\u01B0\\u1EE3c l\\u1EDBn h\\u01A1n 20 ch\\u1EEF s\\u1ED1.\",price_minvalue:\"Gi\\xE1 ph\\u1EA3i l\\u1EDBn h\\u01A1n 0.\",amount_maxlength:\"S\\u1ED1 ti\\u1EC1n kh\\xF4ng \\u0111\\u01B0\\u1EE3c l\\u1EDBn h\\u01A1n 20 ch\\u1EEF s\\u1ED1.\",amount_minvalue:\"S\\u1ED1 ti\\u1EC1n ph\\u1EA3i l\\u1EDBn h\\u01A1n 0.\",discount_maxlength:\"Discount should not be greater than max discount\",description_maxlength:\"M\\xF4 t\\u1EA3 kh\\xF4ng \\u0111\\u01B0\\u1EE3c l\\u1EDBn h\\u01A1n 65.000 k\\xFD t\\u1EF1.\",subject_maxlength:\"Ch\\u1EE7 \\u0111\\u1EC1 kh\\xF4ng \\u0111\\u01B0\\u1EE3c l\\u1EDBn h\\u01A1n 100 k\\xFD t\\u1EF1.\",message_maxlength:\"Tin nh\\u1EAFn kh\\xF4ng \\u0111\\u01B0\\u1EE3c l\\u1EDBn h\\u01A1n 255 k\\xFD t\\u1EF1.\",maximum_options_error:\"\\u0110\\xE3 ch\\u1ECDn t\\u1ED1i \\u0111a {max} t\\xF9y ch\\u1ECDn. \\u0110\\u1EA7u ti\\xEAn, h\\xE3y x\\xF3a m\\u1ED9t t\\xF9y ch\\u1ECDn \\u0111\\xE3 ch\\u1ECDn \\u0111\\u1EC3 ch\\u1ECDn m\\u1ED9t t\\xF9y ch\\u1ECDn kh\\xE1c.\",notes_maxlength:\"Ghi ch\\xFA kh\\xF4ng \\u0111\\u01B0\\u1EE3c l\\u1EDBn h\\u01A1n 65.000 k\\xFD t\\u1EF1.\",address_maxlength:\"\\u0110\\u1ECBa ch\\u1EC9 kh\\xF4ng \\u0111\\u01B0\\u1EE3c l\\u1EDBn h\\u01A1n 255 k\\xFD t\\u1EF1.\",ref_number_maxlength:\"S\\u1ED1 tham chi\\u1EBFu kh\\xF4ng \\u0111\\u01B0\\u1EE3c l\\u1EDBn h\\u01A1n 255 k\\xFD t\\u1EF1.\",prefix_maxlength:\"Ti\\u1EC1n t\\u1ED1 kh\\xF4ng \\u0111\\u01B0\\u1EE3c l\\u1EDBn h\\u01A1n 5 k\\xFD t\\u1EF1.\",something_went_wrong:\"c\\xF3 g\\xEC \\u0111\\xF3 kh\\xF4ng \\u1ED5n\",number_length_minvalue:\"Number length should be greater than 0\",at_least_one_ability:\"Please select atleast one Permission.\",valid_driver_key:\"Please enter a valid {driver} key.\",valid_exchange_rate:\"Please enter a valid exchange rate.\",company_name_not_same:\"Company name must match with given name.\"},uw={starter_plan:\"This feature is available on Starter plan and onwards!\",invalid_provider_key:\"Please Enter Valid Provider API Key.\",estimate_number_used:\"The estimate number has already been taken.\",invoice_number_used:\"The invoice number has already been taken.\",payment_attached:\"This invoice already has a payment attached to it. Make sure to delete the attached payments first in order to go ahead with the removal.\",payment_number_used:\"The payment number has already been taken.\",name_already_taken:\"The name has already been taken.\",receipt_does_not_exist:\"Receipt does not exist.\",customer_cannot_be_changed_after_payment_is_added:\"Customer cannot be change after payment is added\",invalid_credentials:\"Invalid  Credentials.\",not_allowed:\"Not Allowed\",login_invalid_credentials:\"These credentials do not match our records.\",enter_valid_cron_format:\"Please enter a valid cron format\",email_could_not_be_sent:\"Email could not be sent to this email address.\",invalid_address:\"Please enter a valid address.\",invalid_key:\"Please enter valid key.\",invalid_state:\"Please enter a valid state.\",invalid_city:\"Please enter a valid city.\",invalid_postal_code:\"Please enter a valid zip.\",invalid_format:\"Please enter valid query string format.\",api_error:\"Server not responding.\",feature_not_enabled:\"Feature not enabled.\",request_limit_met:\"Api request limit exceeded.\",address_incomplete:\"Incomplete Address\"},mw=\"\\u01AF\\u1EDBc t\\xEDnh\",pw=\"S\\u1ED1 \\u01B0\\u1EDBc t\\xEDnh\",fw=\"Ng\\xE0y \\u01B0\\u1EDBc t\\xEDnh\",gw=\"Ng\\xE0y h\\u1EBFt h\\u1EA1n\",vw=\"H\\xF3a \\u0111\\u01A1n\",yw=\"S\\u1ED1 h\\xF3a \\u0111\\u01A1n\",hw=\"Ng\\xE0y l\\u1EADp h\\xF3a \\u0111\\u01A1n\",bw=\"Ng\\xE0y \\u0111\\xE1o h\\u1EA1n\",kw=\"Ghi ch\\xFA\",ww=\"M\\u1EB7t h\\xE0ng\",zw=\"\\u0110\\u1ECBnh l\\u01B0\\u1EE3ng\",xw=\"Gi\\xE1 b\\xE1n\",Pw=\"Gi\\u1EA3m gi\\xE1\",Sw=\"S\\u1ED1 ti\\u1EC1n\",jw=\"T\\u1ED5ng ph\\u1EE5\",Aw=\"To\\xE0n b\\u1ED9\",Dw=\"Thanh to\\xE1n\",Cw=\"H\\xD3A \\u0110\\u01A0N THANH TO\\xC1N\",Nw=\"Ng\\xE0y thanh to\\xE1n\",Ew=\"S\\u1ED1 ti\\u1EC1n ph\\u1EA3i tr\\u1EA3\",Iw=\"Ph\\u01B0\\u01A1ng th\\u1EE9c thanh to\\xE1n\",Tw=\"S\\u1ED1 ti\\u1EC1n nh\\u1EADn \\u0111\\u01B0\\u1EE3c\",Rw=\"B\\xC1O C\\xC1O CHI PH\\xCD\",Mw=\"T\\u1ED4NG CHI PH\\xCD\",Fw=\"L\\u1EE2I NHU\\u1EACN\",$w=\"B\\xE1o c\\xE1o kh\\xE1ch h\\xE0ng b\\xE1n h\\xE0ng\",Uw=\"B\\xE1o c\\xE1o m\\u1EB7t h\\xE0ng b\\xE1n h\\xE0ng\",Vw=\"B\\xE1o c\\xE1o T\\xF3m t\\u1EAFt Thu\\u1EBF\",Ow=\"THU NH\\u1EACP = EARNINGS\",Lw=\"L\\u1EE2I NHU\\u1EACN R\\xD2NG\",qw=\"B\\xE1o c\\xE1o b\\xE1n h\\xE0ng: B\\u1EDFi kh\\xE1ch h\\xE0ng\",Bw=\"T\\u1ED4NG DOANH S\\u1ED0 B\\xC1N H\\xC0NG\",Kw=\"B\\xE1o c\\xE1o b\\xE1n h\\xE0ng: Theo m\\u1EB7t h\\xE0ng\",Zw=\"B\\xC1O C\\xC1O THU\\u1EBE\",Ww=\"T\\u1ED4NG THU\\u1EBE\",Hw=\"C\\xE1c lo\\u1EA1i thu\\u1EBF\",Yw=\"Chi ph\\xED\",Gw=\"Hoa \\u0111\\u01A1n \\u0111\\xEA\\u0309,\",Jw=\"T\\xE0u,\",Qw=\"Nh\\xE2\\u0323n \\u0111\\u01B0\\u01A1\\u0323c t\\u01B0:\",Xw=\"Tax\";var ez={navigation:Kk,general:Zk,dashboard:Wk,tax_types:Hk,global_search:Yk,company_switcher:Gk,dateRange:Jk,customers:Qk,items:Xk,estimates:ew,invoices:tw,recurring_invoices:aw,payments:nw,expenses:iw,login:ow,modules:sw,users:rw,reports:dw,settings:lw,wizard:cw,validation:_w,errors:uw,pdf_estimate_label:mw,pdf_estimate_number:pw,pdf_estimate_date:fw,pdf_estimate_expire_date:gw,pdf_invoice_label:vw,pdf_invoice_number:yw,pdf_invoice_date:hw,pdf_invoice_due_date:bw,pdf_notes:kw,pdf_items_label:ww,pdf_quantity_label:zw,pdf_price_label:xw,pdf_discount_label:Pw,pdf_amount_label:Sw,pdf_subtotal:jw,pdf_total:Aw,pdf_payment_label:Dw,pdf_payment_receipt_label:Cw,pdf_payment_date:Nw,pdf_payment_number:Ew,pdf_payment_mode:Iw,pdf_payment_amount_received_label:Tw,pdf_expense_report_label:Rw,pdf_total_expenses_label:Mw,pdf_profit_loss_label:Fw,pdf_sales_customers_label:$w,pdf_sales_items_label:Uw,pdf_tax_summery_label:Vw,pdf_income_label:Ow,pdf_net_profit_label:Lw,pdf_customer_sales_report:qw,pdf_total_sales_label:Bw,pdf_item_sales_label:Kw,pdf_tax_report_label:Zw,pdf_total_tax_label:Ww,pdf_tax_types_label:Hw,pdf_expenses_label:Yw,pdf_bill_to:Gw,pdf_ship_to:Jw,pdf_received_from:Qw,pdf_tax_label:Xw};const tz={dashboard:\"\\u03A4\\u03B1\\u03BC\\u03C0\\u03BB\\u03CC\",customers:\"\\u03A0\\u03B5\\u03BB\\u03AC\\u03C4\\u03B5\\u03C2\",items:\"\\u03A0\\u03C1\\u03BF\\u03CA\\u03CC\\u03BD\\u03C4\\u03B1\",invoices:\"\\u03A4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03B1\",\"recurring-invoices\":\"\\u0395\\u03C0\\u03B1\\u03BD\\u03B1\\u03BB\\u03B1\\u03BC\\u03B2\\u03B1\\u03BD\\u03CC\\u03BC\\u03B5\\u03BD\\u03B1 \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03B1\",expenses:\"\\u0388\\u03BE\\u03BF\\u03B4\\u03B1\",estimates:\"\\u0395\\u03BA\\u03C4\\u03B9\\u03BC\\u03AE\\u03C3\\u03B5\\u03B9\\u03C2\",payments:\"\\u03A0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03AD\\u03C2\",reports:\"\\u0391\\u03BD\\u03B1\\u03C6\\u03BF\\u03C1\\u03AD\\u03C2\",settings:\"\\u03A1\\u03C5\\u03B8\\u03BC\\u03AF\\u03C3\\u03B5\\u03B9\\u03C2\",logout:\"\\u0391\\u03C0\\u03BF\\u03C3\\u03CD\\u03BD\\u03B4\\u03B5\\u03C3\\u03B7\",users:\"\\u03A7\\u03C1\\u03AE\\u03C3\\u03C4\\u03B5\\u03C2\",modules:\"Modules\"},az={add_company:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03B8\\u03AE\\u03BA\\u03B7 \\u0395\\u03C4\\u03B1\\u03B9\\u03C1\\u03B5\\u03AF\\u03B1\\u03C2\",view_pdf:\"\\u03A0\\u03C1\\u03BF\\u03B2\\u03BF\\u03BB\\u03AE PDF\",copy_pdf_url:\"\\u0391\\u03BD\\u03C4\\u03B9\\u03B3\\u03C1\\u03B1\\u03C6\\u03AE \\u03C3\\u03C5\\u03BD\\u03B4\\u03AD\\u03C3\\u03BC\\u03BF\\u03C5 PDF\",download_pdf:\"\\u039B\\u03AE\\u03C8\\u03B7 PDF\",save:\"\\u0391\\u03C0\\u03BF\\u03B8\\u03AE\\u03BA\\u03B5\\u03C5\\u03C3\\u03B7\",create:\"\\u0394\\u03B7\\u03BC\\u03B9\\u03BF\\u03C5\\u03C1\\u03B3\\u03AF\\u03B1\",cancel:\"\\u0391\\u03BA\\u03CD\\u03C1\\u03C9\\u03C3\\u03B7\",update:\"\\u0395\\u03BD\\u03B7\\u03BC\\u03AD\\u03C1\\u03C9\\u03C3\\u03B7\",deselect:\"\\u0391\\u03C0\\u03BF\\u03B5\\u03C0\\u03B9\\u03BB\\u03BF\\u03B3\\u03AE\",download:\"\\u039A\\u03B1\\u03C4\\u03B5\\u03B2\\u03AC\\u03C3\\u03C4\\u03B5 \\u03C4\\u03BF\",from_date:\"\\u0391\\u03C0\\u03CC \\u0397\\u03BC\\u03B5\\u03C1\\u03BF\\u03BC\\u03B7\\u03BD\\u03AF\\u03B1\",to_date:\"\\u0388\\u03C9\\u03C2 \\u03B7\\u03BC\\u03B5\\u03C1\\u03BF\\u03BC\\u03B7\\u03BD\\u03AF\\u03B1\",from:\"A\\u03C0\\u03CC\",to:\"\\u03A0\\u03C1\\u03BF\\u03C2\",ok:\"\\u039F\\u03BA\",yes:\"\\u039D\\u03B1\\u03B9\",no:\"\\u038C\\u03C7\\u03B9\",sort_by:\"\\u03A4\\u03B1\\u03BE\\u03B9\\u03BD\\u03CC\\u03BC\\u03B7\\u03C3\\u03B7 \\u03BA\\u03B1\\u03C4\\u03AC\",ascending:\"\\u0391\\u03CD\\u03BE\\u03BF\\u03C5\\u03C3\\u03B1\",descending:\"\\u03A6\\u03B8\\u03AF\\u03BD\\u03BF\\u03C5\\u03C3\\u03B1\",subject:\"\\u0398\\u03AD\\u03BC\\u03B1\",body:\"\\u03A3\\u03CE\\u03BC\\u03B1\",message:\"\\u039C\\u03AE\\u03BD\\u03C5\\u03BC\\u03B1\",send:\"\\u0391\\u03C0\\u03BF\\u03C3\\u03C4\\u03BF\\u03BB\\u03AE\",preview:\"\\u03A0\\u03C1\\u03BF\\u03B5\\u03C0\\u03B9\\u03C3\\u03BA\\u03CC\\u03C0\\u03B7\\u03C3\\u03B7\",go_back:\"\\u0395\\u03C0\\u03B9\\u03C3\\u03C4\\u03C1\\u03BF\\u03C6\\u03AE\",back_to_login:\"\\u03A0\\u03AF\\u03C3\\u03C9 \\u03C3\\u03C4\\u03B7\\u03BD \\u03C3\\u03B5\\u03BB\\u03AF\\u03B4\\u03B1 \\u03A3\\u03CD\\u03BD\\u03B4\\u03B5\\u03C3\\u03B7\\u03C2;\",home:\"\\u0391\\u03C1\\u03C7\\u03B9\\u03BA\\u03AE\",filter:\"\\u03A6\\u03AF\\u03BB\\u03C4\\u03C1\\u03B1\",delete:\"\\u0394\\u03B9\\u03B1\\u03B3\\u03C1\\u03B1\\u03C6\\u03AE\",edit:\"\\u0395\\u03C0\\u03B5\\u03BE\\u03B5\\u03C1\\u03B3\\u03B1\\u03C3\\u03AF\\u03B1\",view:\"\\u03A0\\u03C1\\u03BF\\u03B2\\u03BF\\u03BB\\u03AE\",add_new_item:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03B8\\u03AE\\u03BA\\u03B7 \\u039D\\u03AD\\u03BF\\u03C5 \\u03A3\\u03C4\\u03BF\\u03B9\\u03C7\\u03B5\\u03AF\\u03BF\\u03C5\",clear_all:\"\\u0395\\u03BA\\u03BA\\u03B1\\u03B8\\u03AC\\u03C1\\u03B9\\u03C3\\u03B7 \\u03CC\\u03BB\\u03C9\\u03BD\",showing:\"\\u0395\\u03BC\\u03C6\\u03B1\\u03BD\\u03AF\\u03B6\\u03BF\\u03BD\\u03C4\\u03B1\\u03B9\",of:\"\\u03C4\\u03BF\\u03C5\",actions:\"\\u0395\\u03BD\\u03AD\\u03C1\\u03B3\\u03B5\\u03B9\\u03B5\\u03C2\",subtotal:\"\\u039C\\u03B5\\u03C1\\u03B9\\u03BA\\u03CC \\u03A3\\u03CD\\u03BD\\u03BF\\u03BB\\u03BF\",discount:\"\\u0388\\u039A\\u03A0\\u03A4\\u03A9\\u03A3\\u0397\",fixed:\"\\u03A3\\u03C4\\u03B1\\u03B8\\u03B5\\u03C1\\u03CC\",percentage:\"\\u03A0\\u03BF\\u03C3\\u03BF\\u03C3\\u03C4\\u03CC\",tax:\"\\u03A6\\u039F\\u03A1\\u039F\\u03A3\",total_amount:\"\\u03A3\\u03A5\\u039D\\u039F\\u039B\\u0399\\u039A\\u039F \\u03A0\\u039F\\u03A3\\u039F\",bill_to:\"\\u03A7\\u03C1\\u03AD\\u03C9\\u03C3\\u03B7 \\u03C3\\u03B5\",ship_to:\"\\u0391\\u03C0\\u03BF\\u03C3\\u03C4\\u03BF\\u03BB\\u03AE \\u03C3\\u03B5\",due:\"\\u039F\\u03C6\\u03B5\\u03B9\\u03BB\\u03CC\\u03BC\\u03B5\\u03BD\\u03BF\",draft:\"\\u03A0\\u03C1\\u03CC\\u03C7\\u03B5\\u03B9\\u03C1\\u03BF\",sent:\"\\u0391\\u03C0\\u03B5\\u03C3\\u03C4\\u03B1\\u03BB\\u03BC\\u03AD\\u03BD\\u03B1\",all:\"\\u038C\\u03BB\\u03B1\",select_all:\"\\u0395\\u03C0\\u03B9\\u03BB\\u03BF\\u03B3\\u03AE \\u038C\\u03BB\\u03C9\\u03BD\",select_template:\"\\u0395\\u03C0\\u03B9\\u03BB\\u03BF\\u03B3\\u03AE \\u03A0\\u03C1\\u03BF\\u03C4\\u03CD\\u03C0\\u03BF\\u03C5\",choose_file:\"\\u039A\\u03AC\\u03BD\\u03C4\\u03B5 \\u03BA\\u03BB\\u03B9\\u03BA \\u03B5\\u03B4\\u03CE \\u03B3\\u03B9\\u03B1 \\u03BD\\u03B1 \\u03B5\\u03C0\\u03B9\\u03BB\\u03AD\\u03BE\\u03B5\\u03C4\\u03B5 \\u03B1\\u03C1\\u03C7\\u03B5\\u03AF\\u03BF\",choose_template:\"\\u0395\\u03C0\\u03B9\\u03BB\\u03AD\\u03BE\\u03C4\\u03B5 \\u03AD\\u03BD\\u03B1 \\u03C0\\u03C1\\u03CC\\u03C4\\u03C5\\u03C0\\u03BF\",choose:\"\\u0395\\u03C0\\u03B9\\u03BB\\u03AD\\u03BE\\u03C4\\u03B5\",remove:\"\\u039A\\u03B1\\u03C4\\u03AC\\u03C1\\u03B3\\u03B7\\u03C3\\u03B7\",select_a_status:\"\\u0395\\u03C0\\u03B9\\u03BB\\u03AD\\u03BE\\u03C4\\u03B5 \\u03BA\\u03B1\\u03C4\\u03AC\\u03C3\\u03C4\\u03B1\\u03C3\\u03B7\",select_a_tax:\"\\u0395\\u03C0\\u03B9\\u03BB\\u03AD\\u03BE\\u03C4\\u03B5 \\u03C6\\u03CC\\u03C1\\u03BF\",search:\"\\u0391\\u03BD\\u03B1\\u03B6\\u03AE\\u03C4\\u03B7\\u03C3\\u03B7\",are_you_sure:\"\\u0395\\u03AF\\u03C3\\u03C4\\u03B5 \\u03C3\\u03AF\\u03B3\\u03BF\\u03C5\\u03C1\\u03BF\\u03C2/\\u03B7;\",list_is_empty:\"\\u0397 \\u03BB\\u03AF\\u03C3\\u03C4\\u03B1 \\u03B5\\u03AF\\u03BD\\u03B1\\u03B9 \\u03BA\\u03B5\\u03BD\\u03AE.\",no_tax_found:\"\\u0394\\u03B5\\u03BD \\u03B2\\u03C1\\u03AD\\u03B8\\u03B7\\u03BA\\u03B5 \\u03C6\\u03CC\\u03C1\\u03BF\\u03C2!\",four_zero_four:\"404\",you_got_lost:\"\\u039F\\u03C5\\u03C0\\u03C2! \\u0388\\u03C7\\u03B5\\u03C4\\u03B5 \\u03A7\\u03B1\\u03B8\\u03B5\\u03AF!\",go_home:\"\\u039C\\u03B5\\u03C4\\u03AC\\u03B2\\u03B1\\u03C3\\u03B7 \\u03C3\\u03C4\\u03B7\\u03BD \\u0391\\u03C1\\u03C7\\u03B9\\u03BA\\u03AE\",test_mail_conf:\"\\u0394\\u03BF\\u03BA\\u03B9\\u03BC\\u03AE \\u03A1\\u03CD\\u03B8\\u03BC\\u03B9\\u03C3\\u03B7\\u03C2 \\u0391\\u03BB\\u03BB\\u03B7\\u03BB\\u03BF\\u03B3\\u03C1\\u03B1\\u03C6\\u03AF\\u03B1\\u03C2\",send_mail_successfully:\"\\u03A4\\u03BF \\u039C\\u03AE\\u03BD\\u03C5\\u03BC\\u03B1 \\u03B5\\u03C3\\u03C4\\u03AC\\u03BB\\u03B7 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03CE\\u03C2\",setting_updated:\"\\u039F\\u03B9 \\u03A1\\u03C5\\u03B8\\u03BC\\u03AF\\u03C3\\u03B5\\u03B9\\u03C2 \\u03B5\\u03BD\\u03B7\\u03BC\\u03B5\\u03C1\\u03CE\\u03B8\\u03B7\\u03BA\\u03B1\\u03BD \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03CE\\u03C2\",select_state:\"\\u0395\\u03C0\\u03B9\\u03BB\\u03BF\\u03B3\\u03AE \\u03BD\\u03BF\\u03BC\\u03BF\\u03CD\",select_country:\"\\u0395\\u03C0\\u03B9\\u03BB\\u03BF\\u03B3\\u03AE \\u03A7\\u03CE\\u03C1\\u03B1\\u03C2\",select_city:\"\\u0395\\u03C0\\u03B9\\u03BB\\u03BF\\u03B3\\u03AE \\u03A0\\u03CC\\u03BB\\u03B7\\u03C2\",street_1:\"\\u039F\\u03B4\\u03CC\\u03C2 1\",street_2:\"\\u039F\\u03B4\\u03CC\\u03C2 2\",action_failed:\"\\u0391\\u03C0\\u03BF\\u03C4\\u03C5\\u03C7\\u03AF\\u03B1 \\u0395\\u03BD\\u03AD\\u03C1\\u03B3\\u03B5\\u03B9\\u03B1\\u03C2\",retry:\"\\u0395\\u03C0\\u03B1\\u03BD\\u03AC\\u03BB\\u03B7\\u03C8\\u03B7\",choose_note:\"\\u0395\\u03C0\\u03B9\\u03BB\\u03BF\\u03B3\\u03AE \\u03A3\\u03B7\\u03BC\\u03B5\\u03AF\\u03C9\\u03C3\\u03B7\\u03C2\",no_note_found:\"\\u0394\\u03B5\\u03BD \\u0392\\u03C1\\u03AD\\u03B8\\u03B7\\u03BA\\u03B5 \\u03A3\\u03B7\\u03BC\\u03B5\\u03AF\\u03C9\\u03C3\\u03B7\",insert_note:\"\\u0395\\u03B9\\u03C3\\u03B1\\u03B3\\u03C9\\u03B3\\u03AE \\u03A3\\u03B7\\u03BC\\u03B5\\u03AF\\u03C9\\u03C3\\u03B7\\u03C2\",copied_pdf_url_clipboard:\"\\u0391\\u03BD\\u03C4\\u03B9\\u03B3\\u03C1\\u03AC\\u03C6\\u03B7\\u03BA\\u03B5 \\u03C4\\u03BF url \\u03C4\\u03BF\\u03C5 PDF \\u03C3\\u03C4o \\u03C0\\u03C1\\u03CC\\u03C7\\u03B5\\u03B9\\u03C1\\u03BF!\",copied_url_clipboard:\"Copied url to clipboard!\",docs:\"\\u0388\\u03B3\\u03B3\\u03C1\\u03B1\\u03C6\\u03B1\",do_you_wish_to_continue:\"\\u0398\\u03AD\\u03BB\\u03B5\\u03C4\\u03B5 \\u03BD\\u03B1 \\u03C3\\u03C5\\u03BD\\u03B5\\u03C7\\u03AF\\u03C3\\u03B5\\u03C4\\u03B5;\",note:\"\\u03A3\\u03B7\\u03BC\\u03B5\\u03AF\\u03C9\\u03C3\\u03B7\",pay_invoice:\"Pay Invoice\",login_successfully:\"Logged in successfully!\",logged_out_successfully:\"Logged out successfully\",mark_as_default:\"Mark as default\"},nz={select_year:\"\\u0395\\u03C0\\u03B9\\u03BB\\u03BF\\u03B3\\u03AE \\u03AD\\u03C4\\u03BF\\u03C5\\u03C2\",cards:{due_amount:\"\\u039F\\u03C6\\u03B5\\u03B9\\u03BB\\u03CC\\u03BC\\u03B5\\u03BD\\u03BF \\u03A0\\u03BF\\u03C3\\u03CC\",customers:\"\\u03A0\\u03B5\\u03BB\\u03AC\\u03C4\\u03B5\\u03C2\",invoices:\"\\u03A4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03B1\",estimates:\"\\u0395\\u03BA\\u03C4\\u03B9\\u03BC\\u03AE\\u03C3\\u03B5\\u03B9\\u03C2\",payments:\"Payments\"},chart_info:{total_sales:\"\\u03A0\\u03C9\\u03BB\\u03AE\\u03C3\\u03B5\\u03B9\\u03C2\",total_receipts:\"\\u0391\\u03C0\\u03BF\\u03B4\\u03B5\\u03AF\\u03BE\\u03B5\\u03B9\\u03C2\",total_expense:\"\\u0388\\u03BE\\u03BF\\u03B4\\u03B1\",net_income:\"\\u039A\\u03B1\\u03B8\\u03B1\\u03C1\\u03CC \\u0395\\u03B9\\u03C3\\u03CC\\u03B4\\u03B7\\u03BC\\u03B1\",year:\"\\u0395\\u03C0\\u03B9\\u03BB\\u03BF\\u03B3\\u03AE \\u03AD\\u03C4\\u03BF\\u03C5\\u03C2\"},monthly_chart:{title:\"\\u03A0\\u03C9\\u03BB\\u03AE\\u03C3\\u03B5\\u03B9\\u03C2 & \\u0388\\u03BE\\u03BF\\u03B4\\u03B1\"},recent_invoices_card:{title:\"\\u0391\\u03BD\\u03B5\\u03BE\\u03CC\\u03C6\\u03BB\\u03B7\\u03C4\\u03B1 \\u03A4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03B1\",due_on:\"\\u0395\\u03BE\\u03CC\\u03C6\\u03BB\\u03B7\\u03C3\\u03B7 \\u0388\\u03C9\\u03C2\",customer:\"\\u03A0\\u03B5\\u03BB\\u03AC\\u03C4\\u03B7\\u03C2\",amount_due:\"\\u039F\\u03C6\\u03B5\\u03B9\\u03BB\\u03CC\\u03BC\\u03B5\\u03BD\\u03BF \\u03C0\\u03BF\\u03C3\\u03CC\",actions:\"\\u0395\\u03BD\\u03AD\\u03C1\\u03B3\\u03B5\\u03B9\\u03B5\\u03C2\",view_all:\"\\u03A0\\u03C1\\u03BF\\u03B2\\u03BF\\u03BB\\u03AE \\u038C\\u03BB\\u03C9\\u03BD\"},recent_estimate_card:{title:\"\\u03A0\\u03C1\\u03CC\\u03C3\\u03C6\\u03B1\\u03C4\\u03B5\\u03C2 \\u0395\\u03BA\\u03C4\\u03B9\\u03BC\\u03AE\\u03C3\\u03B5\\u03B9\\u03C2\",date:\"\\u0397\\u03BC\\u03B5\\u03C1\\u03BF\\u03BC\\u03B7\\u03BD\\u03AF\\u03B1\",customer:\"\\u03A0\\u03B5\\u03BB\\u03AC\\u03C4\\u03B7\\u03C2\",amount_due:\"\\u039F\\u03C6\\u03B5\\u03B9\\u03BB\\u03CC\\u03BC\\u03B5\\u03BD\\u03BF \\u03A0\\u03BF\\u03C3\\u03CC\",actions:\"\\u0395\\u03BD\\u03AD\\u03C1\\u03B3\\u03B5\\u03B9\\u03B5\\u03C2\",view_all:\"\\u03A0\\u03C1\\u03BF\\u03B2\\u03BF\\u03BB\\u03AE \\u038C\\u03BB\\u03C9\\u03BD\"}},iz={name:\"\\u038C\\u03BD\\u03BF\\u03BC\\u03B1\",description:\"\\u03A0\\u03B5\\u03C1\\u03B9\\u03B3\\u03C1\\u03B1\\u03C6\\u03AE\",percent:\"\\u03A0\\u03BF\\u03C3\\u03BF\\u03C3\\u03C4\\u03CC\",compound_tax:\"\\u03A3\\u03CD\\u03BD\\u03B8\\u03B5\\u03C4\\u03BF\\u03C2 \\u03A6\\u03CC\\u03C1\\u03BF\\u03C2\"},oz={search:\"\\u0391\\u03BD\\u03B1\\u03B6\\u03AE\\u03C4\\u03B7\\u03C3\\u03B7...\",customers:\"\\u03A0\\u03B5\\u03BB\\u03AC\\u03C4\\u03B5\\u03C2\",users:\"\\u03A7\\u03C1\\u03AE\\u03C3\\u03C4\\u03B5\\u03C2\",no_results_found:\"\\u0394\\u03B5\\u03BD \\u0392\\u03C1\\u03AD\\u03B8\\u03B7\\u03BA\\u03B1\\u03BD \\u0391\\u03C0\\u03BF\\u03C4\\u03B5\\u03BB\\u03AD\\u03C3\\u03BC\\u03B1\\u03C4\\u03B1\"},sz={label:\"\\u0391\\u039B\\u039B\\u0391\\u0393\\u0397 \\u0395\\u03A4\\u0391\\u0399\\u03A1\\u0395\\u0399\\u0391\\u03A3\",no_results_found:\"\\u0394\\u03B5\\u03BD \\u0392\\u03C1\\u03AD\\u03B8\\u03B7\\u03BA\\u03B1\\u03BD \\u0391\\u03C0\\u03BF\\u03C4\\u03B5\\u03BB\\u03AD\\u03C3\\u03BC\\u03B1\\u03C4\\u03B1\",add_new_company:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03B8\\u03AE\\u03BA\\u03B7 \\u03BD\\u03AD\\u03B1\\u03C2 \\u03B5\\u03C4\\u03B1\\u03B9\\u03C1\\u03B5\\u03AF\\u03B1\\u03C2\",new_company:\"\\u039D\\u03AD\\u03B1 \\u03B5\\u03C4\\u03B1\\u03B9\\u03C1\\u03B5\\u03AF\\u03B1\",created_message:\"\\u0397 \\u03B5\\u03C4\\u03B1\\u03B9\\u03C1\\u03B5\\u03AF\\u03B1 \\u03B4\\u03B7\\u03BC\\u03B9\\u03BF\\u03C5\\u03C1\\u03B3\\u03AE\\u03B8\\u03B7\\u03BA\\u03B5 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03CE\\u03C2\"},rz={today:\"\\u03A3\\u03AE\\u03BC\\u03B5\\u03C1\\u03B1\",this_week:\"\\u03A4\\u03C1\\u03AD\\u03C7\\u03BF\\u03C5\\u03C3\\u03B1 \\u0395\\u03B2\\u03B4\\u03BF\\u03BC\\u03AC\\u03B4\\u03B1\",this_month:\"\\u03A4\\u03C1\\u03AD\\u03C7\\u03C9\\u03BD \\u039C\\u03AE\\u03BD\\u03B1\\u03C2\",this_quarter:\"\\u03A4\\u03C1\\u03AD\\u03C7\\u03BF\\u03BD \\u03A4\\u03C1\\u03AF\\u03BC\\u03B7\\u03BD\\u03BF\",this_year:\"\\u03A4\\u03C1\\u03AD\\u03C7\\u03BF\\u03BD \\u0388\\u03C4\\u03BF\\u03C2\",previous_week:\"\\u03A0\\u03C1\\u03BF\\u03B7\\u03B3\\u03BF\\u03CD\\u03BC\\u03B5\\u03BD\\u03B7 \\u0395\\u03B2\\u03B4\\u03BF\\u03BC\\u03AC\\u03B4\\u03B1\",previous_month:\"\\u03A0\\u03C1\\u03BF\\u03B7\\u03B3\\u03BF\\u03CD\\u03BC\\u03B5\\u03BD\\u03BF\\u03C2 \\u039C\\u03AE\\u03BD\\u03B1\\u03C2\",previous_quarter:\"\\u03A0\\u03C1\\u03BF\\u03B7\\u03B3\\u03BF\\u03CD\\u03BC\\u03B5\\u03BD\\u03BF \\u03A4\\u03C1\\u03AF\\u03BC\\u03B7\\u03BD\\u03BF\",previous_year:\"\\u03A0\\u03C1\\u03BF\\u03B7\\u03B3\\u03BF\\u03CD\\u03BC\\u03B5\\u03BD\\u03BF \\u0388\\u03C4\\u03BF\\u03C2\",custom:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03B1\\u03C1\\u03BC\\u03BF\\u03C3\\u03BC\\u03AD\\u03BD\\u03BF\"},dz={title:\"\\u03A0\\u03B5\\u03BB\\u03AC\\u03C4\\u03B5\\u03C2\",prefix:\"\\u03A0\\u03C1\\u03CC\\u03B8\\u03B5\\u03BC\\u03B1\",add_customer:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03B8\\u03AE\\u03BA\\u03B7 \\u03A0\\u03B5\\u03BB\\u03AC\\u03C4\\u03B7\",contacts_list:\"\\u039B\\u03AF\\u03C3\\u03C4\\u03B1 \\u03A0\\u03B5\\u03BB\\u03B1\\u03C4\\u03CE\\u03BD\",name:\"\\u038C\\u03BD\\u03BF\\u03BC\\u03B1\",mail:\"\\u039C\\u03AE\\u03BD\\u03C5\\u03BC\\u03B1 \\u03B7\\u03BB\\u03B5\\u03BA\\u03C4\\u03C1\\u03BF\\u03BD\\u03B9\\u03BA\\u03BF\\u03CD \\u03C4\\u03B1\\u03C7\\u03C5\\u03B4\\u03C1\\u03BF\\u03BC\\u03B5\\u03AF\\u03BF\\u03C5\",statement:\"\\u039A\\u03B1\\u03C4\\u03AC\\u03C3\\u03C4\\u03B1\\u03C3\\u03B7\",display_name:\"\\u0395\\u03BC\\u03C6\\u03B1\\u03BD\\u03B9\\u03B6\\u03CC\\u03BC\\u03B5\\u03BD\\u03BF \\u038C\\u03BD\\u03BF\\u03BC\\u03B1\",primary_contact_name:\"\\u039A\\u03CD\\u03C1\\u03B9\\u03B1 \\u03B5\\u03C0\\u03B1\\u03C6\\u03AE\",contact_name:\"\\u038C\\u03BD\\u03BF\\u03BC\\u03B1 \\u0395\\u03C0\\u03B1\\u03C6\\u03AE\\u03C2\",amount_due:\"\\u039F\\u03C6\\u03B5\\u03B9\\u03BB\\u03CC\\u03BC\\u03B5\\u03BD\\u03BF \\u03A0\\u03BF\\u03C3\\u03CC\",email:\"\\u0397\\u03BB\\u03B5\\u03BA\\u03C4\\u03C1\\u03BF\\u03BD\\u03B9\\u03BA\\u03AE \\u03B4\\u03B9\\u03B5\\u03CD\\u03B8\\u03C5\\u03BD\\u03C3\\u03B7\",address:\"\\u0394\\u03B9\\u03B5\\u03CD\\u03B8\\u03C5\\u03BD\\u03C3\\u03B7\",phone:\"\\u03A4\\u03B7\\u03BB\\u03AD\\u03C6\\u03C9\\u03BD\\u03BF\",website:\"\\u0399\\u03C3\\u03C4\\u03BF\\u03C3\\u03B5\\u03BB\\u03AF\\u03B4\\u03B1\",overview:\"\\u0395\\u03C0\\u03B9\\u03C3\\u03BA\\u03CC\\u03C0\\u03B7\\u03C3\\u03B7\",invoice_prefix:\"\\u03A0\\u03C1\\u03CC\\u03B8\\u03B5\\u03BC\\u03B1 \\u03C0\\u03B1\\u03C1\\u03B1\\u03C3\\u03C4\\u03B1\\u03C4\\u03B9\\u03BA\\u03BF\\u03CD\",estimate_prefix:\"\\u0395\\u03BA\\u03C4\\u03AF\\u03BC\\u03B7\\u03C3\\u03B7 \\u03A0\\u03C1\\u03BF\\u03B8\\u03AD\\u03BC\\u03B1\\u03C4\\u03BF\\u03C2\",payment_prefix:\"\\u03A0\\u03C1\\u03CC\\u03B8\\u03B5\\u03BC\\u03B1 \\u03A0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03AE\\u03C2\",enable_portal:\"\\u0395\\u03BD\\u03B5\\u03C1\\u03B3\\u03BF\\u03C0\\u03BF\\u03B9\\u03AE\\u03C3\\u03B7 \\u03A0\\u03CD\\u03BB\\u03B7\\u03C2\",country:\"\\u03A7\\u03CE\\u03C1\\u03B1\",state:\"\\u039D\\u03BF\\u03BC\\u03CC\\u03C2\",city:\"\\u03A0\\u03CC\\u03BB\\u03B7\",zip_code:\"\\u03A4\\u03B1\\u03C7\\u03C5\\u03B4\\u03C1\\u03BF\\u03BC\\u03B9\\u03BA\\u03CC\\u03C2 \\u03BA\\u03CE\\u03B4\\u03B9\\u03BA\\u03B1\\u03C2\",added_on:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03C4\\u03AD\\u03B8\\u03B7\\u03BA\\u03B5 \\u03A3\\u03C4\\u03B9\\u03C2\",action:\"\\u0395\\u03BD\\u03AD\\u03C1\\u03B3\\u03B5\\u03B9\\u03B1\",password:\"\\u039A\\u03C9\\u03B4\\u03B9\\u03BA\\u03CC\\u03C2\",confirm_password:\"\\u0395\\u03C0\\u03B9\\u03B2\\u03B5\\u03B2\\u03B1\\u03AF\\u03C9\\u03C3\\u03B7 \\u039A\\u03C9\\u03B4\\u03B9\\u03BA\\u03BF\\u03CD\",street_number:\"\\u0391\\u03C1\\u03B9\\u03B8\\u03BC\\u03CC\\u03C2 \\u03BF\\u03B4\\u03BF\\u03CD\",primary_currency:\"\\u039A\\u03CD\\u03C1\\u03B9\\u03BF \\u039D\\u03CC\\u03BC\\u03B9\\u03C3\\u03BC\\u03B1\",description:\"\\u03A0\\u03B5\\u03C1\\u03B9\\u03B3\\u03C1\\u03B1\\u03C6\\u03AE\",add_new_customer:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03B8\\u03AE\\u03BA\\u03B7 \\u039D\\u03AD\\u03BF\\u03C5 \\u03A0\\u03B5\\u03BB\\u03AC\\u03C4\\u03B7\",save_customer:\"\\u0391\\u03C0\\u03BF\\u03B8\\u03AE\\u03BA\\u03B5\\u03C5\\u03C3\\u03B7 \\u03C0\\u03B5\\u03BB\\u03AC\\u03C4\\u03B7\",update_customer:\"\\u0395\\u03BD\\u03B7\\u03BC\\u03AD\\u03C1\\u03C9\\u03C3\\u03B7 \\u03C0\\u03B5\\u03BB\\u03B1\\u03C4\\u03CE\\u03BD\",customer:\"\\u03A0\\u03B5\\u03BB\\u03AC\\u03C4\\u03B5\\u03C2 - \\u03A0\\u03B5\\u03BB\\u03AC\\u03C4\\u03B5\\u03C2\",new_customer:\"\\u039D\\u03AD\\u03BF\\u03C2 \\u03C0\\u03B5\\u03BB\\u03AC\\u03C4\\u03B7\\u03C2\",edit_customer:`\\u0395\\u03C0\\u03B5\\u03BE\\u03B5\\u03C1\\u03B3\\u03B1\\u03C3\\u03AF\\u03B1 \\u03A0\\u03B5\\u03BB\\u03AC\\u03C4\\u03B7\n`,basic_info:\"\\u0392\\u03B1\\u03C3\\u03B9\\u03BA\\u03AD\\u03C2 \\u03A0\\u03BB\\u03B7\\u03C1\\u03BF\\u03C6\\u03BF\\u03C1\\u03AF\\u03B5\\u03C2\",portal_access:\"Portal Access\",portal_access_text:\"Would you like to allow this customer to login to the Customer Portal?\",portal_access_url:\"Customer Portal Login URL\",portal_access_url_help:\"Please copy & forward the above given URL to your customer for providing access.\",billing_address:\"\\u0394\\u03B9\\u03B5\\u03CD\\u03B8\\u03C5\\u03BD\\u03C3\\u03B7 \\u03A7\\u03C1\\u03AD\\u03C9\\u03C3\\u03B7\\u03C2\",shipping_address:\"\\u0394\\u03B9\\u03B5\\u03CD\\u03B8\\u03C5\\u03BD\\u03C3\\u03B7 \\u0391\\u03C0\\u03BF\\u03C3\\u03C4\\u03BF\\u03BB\\u03AE\\u03C2\",copy_billing_address:\"\\u0391\\u03BD\\u03C4\\u03B9\\u03B3\\u03C1\\u03B1\\u03C6\\u03AE \\u03B1\\u03C0\\u03CC \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B7\\u03C3\\u03B7\",no_customers:\"\\u0394\\u03B5\\u03BD \\u03C5\\u03C0\\u03AC\\u03C1\\u03C7\\u03BF\\u03C5\\u03BD \\u03C0\\u03B5\\u03BB\\u03AC\\u03C4\\u03B5\\u03C2 \\u03B1\\u03BA\\u03CC\\u03BC\\u03B1!\",no_customers_found:\"\\u0394\\u03B5\\u03BD \\u03B2\\u03C1\\u03AD\\u03B8\\u03B7\\u03BA\\u03B1\\u03BD \\u03C0\\u03B5\\u03BB\\u03AC\\u03C4\\u03B5\\u03C2\",no_contact:\"\\u039A\\u03B1\\u03BC\\u03BC\\u03AF\\u03B1 \\u03B5\\u03C0\\u03B1\\u03C6\\u03AE\",no_contact_name:\"\\u0394\\u03B5\\u03BD \\u03C5\\u03C0\\u03AC\\u03C1\\u03C7\\u03B5\\u03B9 \\u03CC\\u03BD\\u03BF\\u03BC\\u03B1 \\u03B5\\u03C0\\u03B1\\u03C6\\u03AE\\u03C2\",list_of_customers:\"\\u0391\\u03C5\\u03C4\\u03AE \\u03B7 \\u03B5\\u03BD\\u03CC\\u03C4\\u03B7\\u03C4\\u03B1 \\u03B8\\u03B1 \\u03C0\\u03B5\\u03C1\\u03B9\\u03AD\\u03C7\\u03B5\\u03B9 \\u03C4\\u03B7 \\u03BB\\u03AF\\u03C3\\u03C4\\u03B1 \\u03C0\\u03B5\\u03BB\\u03B1\\u03C4\\u03CE\\u03BD.\",primary_display_name:\"\\u039A\\u03CD\\u03C1\\u03B9\\u03BF \\u0395\\u03BC\\u03C6\\u03B1\\u03BD\\u03B9\\u03B6\\u03CC\\u03BC\\u03B5\\u03BD\\u03BF \\u038C\\u03BD\\u03BF\\u03BC\\u03B1\",select_currency:\"\\u0395\\u03C0\\u03B9\\u03BB\\u03BF\\u03B3\\u03AE \\u03BD\\u03BF\\u03BC\\u03AF\\u03C3\\u03BC\\u03B1\\u03C4\\u03BF\\u03C2\",select_a_customer:\"\\u0395\\u03C0\\u03B9\\u03BB\\u03AD\\u03BE\\u03C4\\u03B5 \\u03AD\\u03BD\\u03B1\\u03BD \\u03C0\\u03B5\\u03BB\\u03AC\\u03C4\\u03B7\",type_or_click:\"\\u03A0\\u03BB\\u03B7\\u03BA\\u03C4\\u03C1\\u03BF\\u03BB\\u03BF\\u03B3\\u03AE\\u03C3\\u03C4\\u03B5 \\u03AE \\u03BA\\u03AC\\u03BD\\u03C4\\u03B5 \\u03BA\\u03BB\\u03B9\\u03BA \\u03B3\\u03B9\\u03B1 \\u03BD\\u03B1 \\u03B5\\u03C0\\u03B9\\u03BB\\u03AD\\u03BE\\u03B5\\u03C4\\u03B5 \\u03AD\\u03BD\\u03B1 \\u03C3\\u03C4\\u03BF\\u03B9\\u03C7\\u03B5\\u03AF\\u03BF\",new_transaction:\"\\u039D\\u03AD\\u03B1 \\u03C3\\u03C5\\u03BD\\u03B1\\u03BB\\u03BB\\u03B1\\u03B3\\u03AE\",no_matching_customers:\"\\u0394\\u03B5\\u03BD \\u03C5\\u03C0\\u03AC\\u03C1\\u03C7\\u03BF\\u03C5\\u03BD \\u03C0\\u03B5\\u03BB\\u03AC\\u03C4\\u03B5\\u03C2 \\u03C0\\u03BF\\u03C5 \\u03BD\\u03B1 \\u03C4\\u03B1\\u03B9\\u03C1\\u03B9\\u03AC\\u03B6\\u03BF\\u03C5\\u03BD!\",phone_number:\"\\u0391\\u03C1\\u03B9\\u03B8\\u03BC\\u03CC\\u03C2 \\u03A4\\u03B7\\u03BB\\u03B5\\u03C6\\u03CE\\u03BD\\u03BF\\u03C5\",create_date:\"\\u0397\\u03BC\\u03B5\\u03C1\\u03BF\\u03BC\\u03B7\\u03BD\\u03AF\\u03B1 \\u0394\\u03B7\\u03BC\\u03B9\\u03BF\\u03C5\\u03C1\\u03B3\\u03AF\\u03B1\\u03C2\",confirm_delete:\"\\u0394\\u03B5\\u03BD \\u03B8\\u03B1 \\u03B5\\u03AF\\u03C3\\u03C4\\u03B5 \\u03C3\\u03B5 \\u03B8\\u03AD\\u03C3\\u03B7 \\u03BD\\u03B1 \\u03B1\\u03BD\\u03B1\\u03BA\\u03C4\\u03AE\\u03C3\\u03B5\\u03B9 \\u03B1\\u03C5\\u03C4\\u03CC\\u03BD \\u03C4\\u03BF\\u03BD \\u03C0\\u03B5\\u03BB\\u03AC\\u03C4\\u03B7 \\u03BA\\u03B1\\u03B9 \\u03CC\\u03BB\\u03B1 \\u03C4\\u03B1 \\u03C3\\u03C7\\u03B5\\u03C4\\u03B9\\u03BA\\u03AC \\u03A4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03B1, \\u0395\\u03BA\\u03C4\\u03B9\\u03BC\\u03AE\\u03C3\\u03B5\\u03B9\\u03C2 \\u03BA\\u03B1\\u03B9 \\u03A0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03AD\\u03C2. \\u221A \\u0394\\u03B5\\u03BD \\u03B8\\u03B1 \\u03B5\\u03AF\\u03C3\\u03C4\\u03B5 \\u03C3\\u03B5 \\u03B8\\u03AD\\u03C3\\u03B7 \\u03BD\\u03B1 \\u03B1\\u03BD\\u03B1\\u03BA\\u03C4\\u03AE\\u03C3\\u03B5\\u03B9 \\u03B1\\u03C5\\u03C4\\u03BF\\u03CD\\u03C2 \\u03C4\\u03BF\\u03C5\\u03C2 \\u03C0\\u03B5\\u03BB\\u03AC\\u03C4\\u03B5\\u03C2 \\u03BA\\u03B1\\u03B9 \\u03CC\\u03BB\\u03B1 \\u03C4\\u03B1 \\u03C3\\u03C7\\u03B5\\u03C4\\u03B9\\u03BA\\u03AC \\u03A4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03B1, \\u0395\\u03BA\\u03C4\\u03B9\\u03BC\\u03AE\\u03C3\\u03B5\\u03B9\\u03C2 \\u03BA\\u03B1\\u03B9 \\u03A0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03AD\\u03C2.\",created_message:\"\\u039F \\u03C0\\u03B5\\u03BB\\u03AC\\u03C4\\u03B7\\u03C2 \\u03B4\\u03B7\\u03BC\\u03B9\\u03BF\\u03C5\\u03C1\\u03B3\\u03AE\\u03B8\\u03B7\\u03BA\\u03B5 \\u03BC\\u03B5 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03AF\\u03B1\",updated_message:\"\\u039F \\u03C0\\u03B5\\u03BB\\u03AC\\u03C4\\u03B7\\u03C2 \\u03B5\\u03BD\\u03B7\\u03BC\\u03B5\\u03C1\\u03CE\\u03B8\\u03B7\\u03BA\\u03B5 \\u03BC\\u03B5 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03AF\\u03B1\",address_updated_message:\"Address Information Updated succesfully\",deleted_message:\"\\u03A0\\u03B5\\u03BB\\u03AC\\u03C4\\u03B7\\u03C2 \\u03B4\\u03B9\\u03B1\\u03B3\\u03C1\\u03AC\\u03C6\\u03B7\\u03BA\\u03B5 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03CE\\u03C2 |  \\u039F\\u03B9 \\u03C0\\u03B5\\u03BB\\u03AC\\u03C4\\u03B5\\u03C2 \\u03B4\\u03B9\\u03B1\\u03B3\\u03C1\\u03AC\\u03C6\\u03B7\\u03BA\\u03B1\\u03BD \\u03BC\\u03B5 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03AF\\u03B1\",edit_currency_not_allowed:\"\\u0394\\u03B5\\u03BD \\u03B5\\u03AF\\u03BD\\u03B1\\u03B9 \\u03B4\\u03C5\\u03BD\\u03B1\\u03C4\\u03AE \\u03B7 \\u03B1\\u03BB\\u03BB\\u03B1\\u03B3\\u03AE \\u03BD\\u03BF\\u03BC\\u03AF\\u03C3\\u03BC\\u03B1\\u03C4\\u03BF\\u03C2 \\u03BC\\u03CC\\u03BB\\u03B9\\u03C2 \\u03B4\\u03B7\\u03BC\\u03B9\\u03BF\\u03C5\\u03C1\\u03B3\\u03B7\\u03B8\\u03BF\\u03CD\\u03BD \\u03C3\\u03C5\\u03BD\\u03B1\\u03BB\\u03BB\\u03B1\\u03B3\\u03AD\\u03C2.\"},lz={title:\"\\u03A3\\u03C4\\u03BF\\u03B9\\u03C7\\u03B5\\u03AF\\u03B1\",items_list:\"\\u039B\\u03AF\\u03C3\\u03C4\\u03B1 \\u03A3\\u03C4\\u03BF\\u03B9\\u03C7\\u03B5\\u03AF\\u03C9\\u03BD\",name:\"\\u038C\\u03BD\\u03BF\\u03BC\\u03B1\",unit:\"\\u039C\\u03BF\\u03BD\\u03AC\\u03B4\\u03B1\",description:\"\\u03A0\\u03B5\\u03C1\\u03B9\\u03B3\\u03C1\\u03B1\\u03C6\\u03AE\",added_on:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03C4\\u03AD\\u03B8\\u03B7\\u03BA\\u03B5 \\u03A3\\u03C4\\u03B9\\u03C2\",price:\"\\u03A4\\u03B9\\u03BC\\u03AE\",date_of_creation:\"\\u0397\\u03BC\\u03B5\\u03C1\\u03BF\\u03BC\\u03B7\\u03BD\\u03AF\\u03B1 \\u0394\\u03B7\\u03BC\\u03B9\\u03BF\\u03C5\\u03C1\\u03B3\\u03AF\\u03B1\\u03C2\",not_selected:\"\\u0394\\u03B5\\u03BD \\u03AD\\u03C7\\u03B5\\u03B9 \\u03B5\\u03C0\\u03B9\\u03BB\\u03B5\\u03C7\\u03B8\\u03B5\\u03AF \\u03C3\\u03C4\\u03BF\\u03B9\\u03C7\\u03B5\\u03AF\\u03BF\",action:\"\\u0395\\u03BD\\u03AD\\u03C1\\u03B3\\u03B5\\u03B9\\u03B1\",add_item:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03B8\\u03AE\\u03BA\\u03B7 \\u03A3\\u03C4\\u03BF\\u03B9\\u03C7\\u03B5\\u03AF\\u03BF\\u03C5\",save_item:\"\\u0391\\u03C0\\u03BF\\u03B8\\u03AE\\u03BA\\u03B5\\u03C5\\u03C3\\u03B7 \\u03A3\\u03C4\\u03BF\\u03B9\\u03C7\\u03B5\\u03AF\\u03BF\\u03C5\",update_item:\"\\u0395\\u03BD\\u03B7\\u03BC\\u03AD\\u03C1\\u03C9\\u03C3\\u03B7 \\u03A3\\u03C4\\u03BF\\u03B9\\u03C7\\u03B5\\u03AF\\u03BF\\u03C5\",item:\"\\u03A3\\u03C4\\u03BF\\u03B9\\u03C7\\u03B5\\u03AF\\u03BF | \\u03A3\\u03C4\\u03BF\\u03B9\\u03C7\\u03B5\\u03AF\\u03B1\",add_new_item:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03B8\\u03AE\\u03BA\\u03B7 \\u039D\\u03AD\\u03BF\\u03C5 \\u03A3\\u03C4\\u03BF\\u03B9\\u03C7\\u03B5\\u03AF\\u03BF\\u03C5\",new_item:\"\\u039D\\u03AD\\u03BF \\u03A3\\u03C4\\u03BF\\u03B9\\u03C7\\u03B5\\u03AF\\u03BF\",edit_item:\"\\u0395\\u03C0\\u03B5\\u03BE\\u03B5\\u03C1\\u03B3\\u03B1\\u03C3\\u03AF\\u03B1 \\u03A3\\u03C4\\u03BF\\u03B9\\u03C7\\u03B5\\u03AF\\u03BF\\u03C5\",no_items:\"\\u0394\\u03B5\\u03BD \\u03C5\\u03C0\\u03AC\\u03C1\\u03C7\\u03BF\\u03C5\\u03BD \\u03A3\\u03C4\\u03BF\\u03B9\\u03C7\\u03B5\\u03AF\\u03B1 \\u03B1\\u03BA\\u03CC\\u03BC\\u03B1!\",list_of_items:\"\\u0391\\u03C5\\u03C4\\u03AE \\u03B7 \\u03B5\\u03BD\\u03CC\\u03C4\\u03B7\\u03C4\\u03B1 \\u03B8\\u03B1 \\u03C0\\u03B5\\u03C1\\u03B9\\u03AD\\u03C7\\u03B5\\u03B9 \\u03C4\\u03B7 \\u03BB\\u03AF\\u03C3\\u03C4\\u03B1 \\u03C4\\u03C9\\u03BD \\u03C3\\u03C4\\u03BF\\u03B9\\u03C7\\u03B5\\u03AF\\u03C9\\u03BD.\",select_a_unit:\"\\u03B5\\u03C0\\u03B9\\u03BB\\u03AD\\u03BE\\u03C4\\u03B5 \\u03BC\\u03BF\\u03BD\\u03AC\\u03B4\\u03B1\",taxes:\"\\u03A6\\u03CC\\u03C1\\u03BF\\u03B9\",item_attached_message:\"\\u0394\\u03B5\\u03BD \\u03B5\\u03AF\\u03BD\\u03B1\\u03B9 \\u03B4\\u03C5\\u03BD\\u03B1\\u03C4\\u03AE \\u03B7 \\u03B4\\u03B9\\u03B1\\u03B3\\u03C1\\u03B1\\u03C6\\u03AE \\u03B5\\u03BD\\u03CC\\u03C2 \\u03C3\\u03C4\\u03BF\\u03B9\\u03C7\\u03B5\\u03AF\\u03BF\\u03C5 \\u03C0\\u03BF\\u03C5 \\u03C7\\u03C1\\u03B7\\u03C3\\u03B9\\u03BC\\u03BF\\u03C0\\u03BF\\u03B9\\u03B5\\u03AF\\u03C4\\u03B1\\u03B9 \\u03AE\\u03B4\\u03B7\",confirm_delete:\"\\u0394\\u03B5\\u03BD \\u03B8\\u03B1 \\u03B5\\u03AF\\u03C3\\u03C4\\u03B5 \\u03C3\\u03B5 \\u03B8\\u03AD\\u03C3\\u03B7 \\u03BD\\u03B1 \\u03B1\\u03BD\\u03B1\\u03BA\\u03C4\\u03AE\\u03C3\\u03B5\\u03B9 \\u03B1\\u03C5\\u03C4\\u03AE \\u03C4\\u03B7\\u03BD \\u03B5\\u03BA\\u03C4\\u03AF\\u03BC\\u03B7\\u03C3\\u03B7 \\u2019, \\u03B4\\u03B5\\u03BD \\u03B8\\u03B1 \\u03B5\\u03AF\\u03C3\\u03C4\\u03B5 \\u03C3\\u03B5 \\u03B8\\u03AD\\u03C3\\u03B7 \\u03BD\\u03B1 \\u03B1\\u03BD\\u03B1\\u03BA\\u03C4\\u03AE\\u03C3\\u03B5\\u03B9 \\u03B1\\u03C5\\u03C4\\u03AD\\u03C2 \\u03C4\\u03B9\\u03C2 \\u03B5\\u03BA\\u03C4\\u03B9\\u03BC\\u03AE\\u03C3\\u03B5\\u03B9\\u03C2\",created_message:\"\\u03A4\\u03BF \\u03B1\\u03BD\\u03C4\\u03B9\\u03BA\\u03B5\\u03AF\\u03BC\\u03B5\\u03BD\\u03BF \\u03B4\\u03B7\\u03BC\\u03B9\\u03BF\\u03C5\\u03C1\\u03B3\\u03AE\\u03B8\\u03B7\\u03BA\\u03B5 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03CE\\u03C2\",updated_message:\"\\u03A4\\u03BF \\u03B1\\u03BD\\u03C4\\u03B9\\u03BA\\u03B5\\u03AF\\u03BC\\u03B5\\u03BD\\u03BF \\u03B5\\u03BD\\u03B7\\u03BC\\u03B5\\u03C1\\u03CE\\u03B8\\u03B7\\u03BA\\u03B5 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03CE\\u03C2\",deleted_message:\"\\u039F \\u03C5\\u03C0\\u03BF\\u03BB\\u03BF\\u03B3\\u03B9\\u03C3\\u03BC\\u03CC\\u03C2 \\u03B4\\u03B9\\u03B1\\u03B3\\u03C1\\u03AC\\u03C6\\u03B7\\u03BA\\u03B5 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03CE\\u03C2\"},cz={title:\"\\u0395\\u03BA\\u03C4\\u03B9\\u03BC\\u03AE\\u03C3\\u03B5\\u03B9\\u03C2\",accept_estimate:\"Accept Estimate\",reject_estimate:\"Reject Estimate\",estimate:\"\\u0395\\u03BA\\u03C4\\u03AF\\u03BC\\u03B7\\u03C3\\u03B7 | \\u0395\\u03BA\\u03C4\\u03B9\\u03BC\\u03AE\\u03C3\\u03B5\\u03B9\\u03C2\",estimates_list:\"\\u039B\\u03AF\\u03C3\\u03C4\\u03B1 \\u0395\\u03BA\\u03C4\\u03B9\\u03BC\\u03AE\\u03C3\\u03B5\\u03C9\\u03BD\",days:\"{days} \\u0397\\u03BC\\u03AD\\u03C1\\u03B5\\u03C2\",months:\"{months} \\u039C\\u03AE\\u03BD\\u03B1\\u03C2\",years:\"{years} \\u0388\\u03C4\\u03BF\\u03C2\",all:\"\\u038C\\u03BB\\u03B1\",paid:\"\\u0395\\u03BE\\u03BF\\u03C6\\u03BB\\u03B7\\u03BC\\u03AD\\u03BD\\u03BF\",unpaid:\"\\u0391\\u03BD\\u03B5\\u03BE\\u03CC\\u03C6\\u03BB\\u03B7\\u03C4\\u03BF\",customer:\"\\u03A4\\u0395\\u039B\\u03A9\\u039D\\u0395\\u0399\\u0391\\u039A\\u0397\",ref_no:\"REF NO.\",number:\"\\u0391\\u03A1\\u0399\\u0398\\u039C\\u039F\\u03A3\",amount_due:\"\\u03A0\\u039F\\u03A3\\u039F \\u03A0\\u03A1\\u039F\\u03A3 \\u03A0\\u039B\\u0397\\u03A1\\u03A9\\u039C\\u0397\",partially_paid:\"\\u039C\\u03B5\\u03C1\\u03B9\\u03BA\\u03CE\\u03C2 \\u0395\\u03BE\\u03BF\\u03C6\\u03BB\\u03B7\\u03BC\\u03AD\\u03BD\\u03BF\",total:\"\\u03A3\\u03CD\\u03BD\\u03BF\\u03BB\\u03BF\\xA0\",discount:\"\\u0388\\u03BA\\u03C0\\u03C4\\u03C9\\u03C3\\u03B7\",sub_total:\"\\u039C\\u03B5\\u03C1\\u03B9\\u03BA\\u03CC \\u03A3\\u03CD\\u03BD\\u03BF\\u03BB\\u03BF\",estimate_number:\"\\u0395\\u03BA\\u03C4\\u03AF\\u03BC\\u03B7\\u03C3\\u03B7 \\u0391\\u03C1\\u03B9\\u03B8\\u03BC\\u03BF\\u03CD\",ref_number:\"\\u0391\\u03C1\\u03B9\\u03B8\\u03BC\\u03CC\\u03C2 \\u0391\\u03BD\\u03B1\\u03C6\\u03BF\\u03C1\\u03AC\\u03C2\",contact:\"\\u0395\\u03C0\\u03B9\\u03BA\\u03BF\\u03B9\\u03BD\\u03C9\\u03BD\\u03AF\\u03B1\",add_item:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03B8\\u03AE\\u03BA\\u03B7 \\u03C3\\u03C4\\u03BF\\u03B9\\u03C7\\u03B5\\u03AF\\u03BF\\u03C5\",date:\"\\u0397\\u03BC\\u03B5\\u03C1\\u03BF\\u03BC\\u03B7\\u03BD\\u03AF\\u03B1\",due_date:\"\\u0397\\u03BC\\u03B5\\u03C1\\u03BF\\u03BC\\u03B7\\u03BD\\u03AF\\u03B1 \\u03BB\\u03AE\\u03BE\\u03B7\\u03C2\",expiry_date:\"\\u0397\\u03BC\\u03B5\\u03C1\\u03BF\\u03BC\\u03B7\\u03BD\\u03AF\\u03B1 \\u03BB\\u03AE\\u03BE\\u03B7\\u03C2\",status:\"\\u039A\\u03B1\\u03C4\\u03AC\\u03C3\\u03C4\\u03B1\\u03C3\\u03B7\",add_tax:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03B8\\u03AE\\u03BA\\u03B7 \\u03A6\\u03CC\\u03C1\\u03BF\\u03C5\",amount:\"\\u03A0\\u03BF\\u03C3\\u03CC\",action:\"\\u0395\\u03BD\\u03AD\\u03C1\\u03B3\\u03B5\\u03B9\\u03B1\",notes:\"\\u03A3\\u03B7\\u03BC\\u03B5\\u03B9\\u03CE\\u03C3\\u03B5\\u03B9\\u03C2\",tax:\"\\u03A6\\u03CC\\u03C1\\u03BF\\u03C2\",estimate_template:\"\\u03A0\\u03C1\\u03CC\\u03C4\\u03C5\\u03C0\\u03BF\",convert_to_invoice:\"\\u039C\\u03B5\\u03C4\\u03B1\\u03C4\\u03C1\\u03AC\\u03C0\\u03B7\\u03BA\\u03B5 \\u03C3\\u03B5 \\u03A4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF\",mark_as_sent:\"\\u03A3\\u03AE\\u03BC\\u03B1\\u03BD\\u03C3\\u03B7 \\u03C9\\u03C2 \\u03B1\\u03C0\\u03B5\\u03C3\\u03C4\\u03B1\\u03BB\\u03BC\\u03AD\\u03BD\\u03BF\\u03C5\",send_estimate:\"\\u039D\\u03AD\\u03B1 \\u0395\\u03BA\\u03C4\\u03AF\\u03BC\\u03B7\\u03C3\\u03B7\",resend_estimate:\"\\u03A0\\u03C1\\u03CC\\u03C3\\u03C6\\u03B1\\u03C4\\u03B5\\u03C2 \\u0395\\u03BA\\u03C4\\u03B9\\u03BC\\u03AE\\u03C3\\u03B5\\u03B9\\u03C2\",record_payment:\"\\u039A\\u03B1\\u03C4\\u03B1\\u03B3\\u03C1\\u03B1\\u03C6\\u03AE \\u03A0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03AE\\u03C2\",add_estimate:\"\\u039D\\u03AD\\u03B1 \\u0395\\u03BA\\u03C4\\u03AF\\u03BC\\u03B7\\u03C3\\u03B7\",save_estimate:\"\\u039D\\u03AD\\u03B1 \\u0395\\u03BA\\u03C4\\u03AF\\u03BC\\u03B7\\u03C3\\u03B7\",confirm_conversion:\"\\u0391\\u03C5\\u03C4\\u03AE \\u03B7 \\u03B5\\u03BA\\u03C4\\u03AF\\u03BC\\u03B7\\u03C3\\u03B7 \\u03B8\\u03B1 \\u03C7\\u03C1\\u03B7\\u03C3\\u03B9\\u03BC\\u03BF\\u03C0\\u03BF\\u03B9\\u03B7\\u03B8\\u03B5\\u03AF \\u03B3\\u03B9\\u03B1 \\u03C4\\u03B7 \\u03B4\\u03B7\\u03BC\\u03B9\\u03BF\\u03C5\\u03C1\\u03B3\\u03AF\\u03B1 \\u03B5\\u03BD\\u03CC\\u03C2 \\u03BD\\u03AD\\u03BF\\u03C5 \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03BF\\u03B3\\u03AF\\u03BF\\u03C5.\",conversion_message:\"\\u03A4\\u03BF \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF \\u03BA\\u03BB\\u03C9\\u03BD\\u03BF\\u03C0\\u03BF\\u03B9\\u03AE\\u03B8\\u03B7\\u03BA\\u03B5 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03CE\\u03C2\",confirm_send_estimate:\"\\u0391\\u03C5\\u03C4\\u03CC \\u03C4\\u03BF \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF \\u03B8\\u03B1 \\u03B1\\u03C0\\u03BF\\u03C3\\u03C4\\u03B1\\u03BB\\u03B5\\u03AF \\u03BC\\u03AD\\u03C3\\u03C9 email \\u03C3\\u03C4\\u03BF\\u03BD \\u03C0\\u03B5\\u03BB\\u03AC\\u03C4\\u03B7\",confirm_mark_as_sent:\"\\u0397 \\u03B5\\u03BA\\u03C4\\u03AF\\u03BC\\u03B7\\u03C3\\u03B7 \\u03B1\\u03C5\\u03C4\\u03AE \\u03B8\\u03B1 \\u03B5\\u03C0\\u03B9\\u03C3\\u03B7\\u03BC\\u03B1\\u03BD\\u03B8\\u03B5\\u03AF \\u03C9\\u03C2 \\u03B5\\u03C3\\u03C4\\u03AC\\u03BB\\u03B7\",confirm_mark_as_accepted:\"\\u0391\\u03C5\\u03C4\\u03CC \\u03C4\\u03BF \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF \\u03B8\\u03B1 \\u03B5\\u03C0\\u03B9\\u03C3\\u03B7\\u03BC\\u03B1\\u03BD\\u03B8\\u03B5\\u03AF \\u03C9\\u03C2 \\u0391\\u03C0\\u03BF\\u03C1\\u03C1\\u03B9\\u03C0\\u03C4\\u03CC\\u03BC\\u03B5\\u03BD\\u03BF\",confirm_mark_as_rejected:\"\\u0391\\u03C5\\u03C4\\u03CC \\u03C4\\u03BF \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF \\u03B8\\u03B1 \\u03B5\\u03C0\\u03B9\\u03C3\\u03B7\\u03BC\\u03B1\\u03BD\\u03B8\\u03B5\\u03AF \\u03C9\\u03C2 \\u0391\\u03C0\\u03BF\\u03C1\\u03C1\\u03B9\\u03C0\\u03C4\\u03CC\\u03BC\\u03B5\\u03BD\\u03BF\",no_matching_estimates:\"\\u0394\\u03B5\\u03BD \\u03C5\\u03C0\\u03AC\\u03C1\\u03C7\\u03BF\\u03C5\\u03BD \\u03B1\\u03BD\\u03C4\\u03AF\\u03C3\\u03C4\\u03BF\\u03B9\\u03C7\\u03B5\\u03C2 \\u03B5\\u03BA\\u03C4\\u03B9\\u03BC\\u03AE\\u03C3\\u03B5\\u03B9\\u03C2!\",mark_as_sent_successfully:\"\\u03A4\\u03BF \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF \\u03B5\\u03C0\\u03B9\\u03C3\\u03B7\\u03BC\\u03AC\\u03BD\\u03B8\\u03B7\\u03BA\\u03B5 \\u03C9\\u03C2 \\u03B1\\u03C0\\u03B5\\u03C3\\u03C4\\u03B1\\u03BB\\u03BC\\u03AD\\u03BD\\u03BF \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03CE\\u03C2\",send_estimate_successfully:\"\\u03A4\\u03BF \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF \\u03B5\\u03C3\\u03C4\\u03AC\\u03BB\\u03B7 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03CE\\u03C2\",errors:{required:\"\\u03A4\\u03BF \\u03C0\\u03B5\\u03B4\\u03AF\\u03BF \\u03B5\\u03AF\\u03BD\\u03B1\\u03B9 \\u03C5\\u03C0\\u03BF\\u03C7\\u03C1\\u03B5\\u03C9\\u03C4\\u03B9\\u03BA\\u03CC\"},accepted:\"\\u0391\\u03C0\\u03BF\\u03B4\\u03B5\\u03BA\\u03C4\\u03AE\",rejected:\"\\u0391\\u03C0\\u03BF\\u03C1\\u03C1\\u03AF\\u03C6\\u03B8\\u03B7\\u03BA\\u03B5\",expired:\"Expired\",sent:\"\\u0391\\u03C0\\u03BF\\u03C3\\u03C4\\u03BF\\u03BB\\u03AE\",draft:\"\\u03A0\\u03C1\\u03CC\\u03C7\\u03B5\\u03B9\\u03C1\\u03BF\",viewed:\"Viewed\",declined:\"\\u0391\\u03C0\\u03BF\\u03C1\\u03C1\\u03AF\\u03C6\\u03B8\\u03B7\\u03BA\\u03B5\",new_estimate:\"\\u039D\\u03AD\\u03B1 \\u0395\\u03BA\\u03C4\\u03AF\\u03BC\\u03B7\\u03C3\\u03B7\",add_new_estimate:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03B8\\u03AE\\u03BA\\u03B7 \\u039D\\u03AD\\u03B1\\u03C2 \\u0395\\u03BA\\u03C4\\u03AF\\u03BC\\u03B7\\u03C3\\u03B7\\u03C2\",update_Estimate:\"\\u0395\\u03BD\\u03B7\\u03BC\\u03AD\\u03C1\\u03C9\\u03C3\\u03B7 \\u03B5\\u03BA\\u03C4\\u03AF\\u03BC\\u03B7\\u03C3\\u03B7\\u03C2\",edit_estimate:\"\\u0395\\u03C0\\u03B5\\u03BE\\u03B5\\u03C1\\u03B3\\u03B1\\u03C3\\u03AF\\u03B1 \\u0395\\u03BA\\u03C4\\u03AF\\u03BC\\u03B7\\u03C3\\u03B7\\u03C2\",items:\"\\u03C3\\u03C4\\u03BF\\u03B9\\u03C7\\u03B5\\u03AF\\u03B1\",Estimate:\"\\u0395\\u03BA\\u03C4\\u03AF\\u03BC\\u03B7\\u03C3\\u03B7 | \\u0395\\u03BA\\u03C4\\u03B9\\u03BC\\u03AE\\u03C3\\u03B5\\u03B9\\u03C2\",add_new_tax:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03B8\\u03AE\\u03BA\\u03B7 \\u039D\\u03AD\\u03BF\\u03C5 \\u03A6\\u03CC\\u03C1\\u03BF\\u03C5\",no_estimates:\"\\u0394\\u03B5\\u03BD \\u03C5\\u03C0\\u03AC\\u03C1\\u03C7\\u03BF\\u03C5\\u03BD \\u03B5\\u03BA\\u03C4\\u03B9\\u03BC\\u03AE\\u03C3\\u03B5\\u03B9\\u03C2 \\u03B1\\u03BA\\u03CC\\u03BC\\u03B1!\",list_of_estimates:\"\\u0391\\u03C5\\u03C4\\u03AE \\u03B7 \\u03B5\\u03BD\\u03CC\\u03C4\\u03B7\\u03C4\\u03B1 \\u03B8\\u03B1 \\u03C0\\u03B5\\u03C1\\u03B9\\u03AD\\u03C7\\u03B5\\u03B9 \\u03C4\\u03B7 \\u03BB\\u03AF\\u03C3\\u03C4\\u03B1 \\u03C4\\u03C9\\u03BD \\u03C3\\u03C4\\u03BF\\u03B9\\u03C7\\u03B5\\u03AF\\u03C9\\u03BD.\",mark_as_rejected:\"\\u03A3\\u03AE\\u03BC\\u03B1\\u03BD\\u03C3\\u03B7 \\u03C9\\u03C2 \\u03B1\\u03C0\\u03BF\\u03C1\\u03C1\\u03AF\\u03C6\\u03B8\\u03B7\\u03BA\\u03B5\",mark_as_accepted:\"\\u03A3\\u03AE\\u03BC\\u03B1\\u03BD\\u03C3\\u03B7 \\u03C9\\u03C2 \\u03B1\\u03C0\\u03BF\\u03B4\\u03B5\\u03BA\\u03C4\\u03CC\",marked_as_accepted_message:\"\\u0395\\u03BA\\u03C4\\u03AF\\u03BC\\u03B7\\u03C3\\u03B7 \\u03C0\\u03BF\\u03C5 \\u03AD\\u03C7\\u03B5\\u03B9 \\u03B5\\u03C0\\u03B9\\u03C3\\u03B7\\u03BC\\u03B1\\u03BD\\u03B8\\u03B5\\u03AF \\u03C9\\u03C2 \\u03B1\\u03C0\\u03BF\\u03B4\\u03B5\\u03BA\\u03C4\\u03AE\",marked_as_rejected_message:\"\\u0395\\u03BA\\u03C4\\u03AF\\u03BC\\u03B7\\u03C3\\u03B7 \\u03C0\\u03BF\\u03C5 \\u03C3\\u03B7\\u03BC\\u03B5\\u03B9\\u03CE\\u03BD\\u03B5\\u03C4\\u03B1\\u03B9 \\u03C9\\u03C2 \\u03B1\\u03C0\\u03BF\\u03C1\\u03C1\\u03B9\\u03C6\\u03B8\\u03B5\\u03AF\\u03C3\\u03B1\",confirm_delete:\"\\u0394\\u03B5\\u03BD \\u03B8\\u03B1 \\u03B5\\u03AF\\u03C3\\u03C4\\u03B5 \\u03C3\\u03B5 \\u03B8\\u03AD\\u03C3\\u03B7 \\u03BD\\u03B1 \\u03B1\\u03BD\\u03B1\\u03BA\\u03C4\\u03AE\\u03C3\\u03B5\\u03B9 \\u03B1\\u03C5\\u03C4\\u03AE \\u03C4\\u03B7\\u03BD \\u03B5\\u03BA\\u03C4\\u03AF\\u03BC\\u03B7\\u03C3\\u03B7 \\u2019, \\u03B4\\u03B5\\u03BD \\u03B8\\u03B1 \\u03B5\\u03AF\\u03C3\\u03C4\\u03B5 \\u03C3\\u03B5 \\u03B8\\u03AD\\u03C3\\u03B7 \\u03BD\\u03B1 \\u03B1\\u03BD\\u03B1\\u03BA\\u03C4\\u03AE\\u03C3\\u03B5\\u03B9 \\u03B1\\u03C5\\u03C4\\u03AD\\u03C2 \\u03C4\\u03B9\\u03C2 \\u03B5\\u03BA\\u03C4\\u03B9\\u03BC\\u03AE\\u03C3\\u03B5\\u03B9\\u03C2\",created_message:\"\\u03A4\\u03BF \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF \\u03B5\\u03C3\\u03C4\\u03AC\\u03BB\\u03B7 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03CE\\u03C2\",updated_message:\"\\u03A4\\u03BF \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF \\u03B5\\u03C3\\u03C4\\u03AC\\u03BB\\u03B7 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03CE\\u03C2\",deleted_message:\"\\u039F \\u03C5\\u03C0\\u03BF\\u03BB\\u03BF\\u03B3\\u03B9\\u03C3\\u03BC\\u03CC\\u03C2 \\u03B4\\u03B9\\u03B1\\u03B3\\u03C1\\u03AC\\u03C6\\u03B7\\u03BA\\u03B5 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03CE\\u03C2\",something_went_wrong:\"\\u039A\\u03AC\\u03C4\\u03B9 \\u03C0\\u03AE\\u03B3\\u03B5 \\u03C3\\u03C4\\u03C1\\u03B1\\u03B2\\u03AC\",item:{title:\"\\u03A4\\u03AF\\u03C4\\u03BB\\u03BF\\u03C2 \\u03A0\\u03C1\\u03BF\\u03CA\\u03CC\\u03BD\\u03C4\\u03BF\\u03C2\",description:\"\\u03A0\\u03B5\\u03C1\\u03B9\\u03B3\\u03C1\\u03B1\\u03C6\\u03AE\",quantity:\"\\u03A0\\u03BF\\u03C3\\u03CC\\u03C4\\u03B7\\u03C4\\u03B1\",price:\"\\u03A4\\u03B9\\u03BC\\u03AE\",discount:\"\\u0388\\u03BA\\u03C0\\u03C4\\u03C9\\u03C3\\u03B7\",total:\"\\u03A3\\u03CD\\u03BD\\u03BF\\u03BB\\u03BF\\xA0\",total_discount:\"\\u03A3\\u03C5\\u03BD\\u03BF\\u03BB\\u03B9\\u03BA\\u03AE \\u0388\\u03BA\\u03C0\\u03C4\\u03C9\\u03C3\\u03B7\",sub_total:\"\\u039C\\u03B5\\u03C1\\u03B9\\u03BA\\u03CC \\u03A3\\u03CD\\u03BD\\u03BF\\u03BB\\u03BF\",tax:\"\\u03A6\\u03CC\\u03C1\\u03BF\\u03C2\",amount:\"\\u03A0\\u03BF\\u03C3\\u03CC\",select_an_item:\"\\u03A0\\u03BB\\u03B7\\u03BA\\u03C4\\u03C1\\u03BF\\u03BB\\u03BF\\u03B3\\u03AE\\u03C3\\u03C4\\u03B5 \\u03AE \\u03BA\\u03AC\\u03BD\\u03C4\\u03B5 \\u03BA\\u03BB\\u03B9\\u03BA \\u03B3\\u03B9\\u03B1 \\u03BD\\u03B1 \\u03B5\\u03C0\\u03B9\\u03BB\\u03AD\\u03BE\\u03B5\\u03C4\\u03B5 \\u03AD\\u03BD\\u03B1 \\u03C3\\u03C4\\u03BF\\u03B9\\u03C7\\u03B5\\u03AF\\u03BF\",type_item_description:\"\\u03A0\\u03BB\\u03B7\\u03BA\\u03C4\\u03C1\\u03BF\\u03BB\\u03BF\\u03B3\\u03AE\\u03C3\\u03C4\\u03B5 \\u03A0\\u03B5\\u03C1\\u03B9\\u03B3\\u03C1\\u03B1\\u03C6\\u03AE \\u03A3\\u03C4\\u03BF\\u03B9\\u03C7\\u03B5\\u03AF\\u03BF\\u03C5 (\\u03C0\\u03C1\\u03BF\\u03B1\\u03B9\\u03C1\\u03B5\\u03C4\\u03B9\\u03BA\\u03CC)\"},mark_as_default_estimate_template_description:\"If enabled, the selected template will be automatically selected for new estimates.\"},_z={title:\"\\u03A4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03B1\",download:\"Download\",pay_invoice:\"Pay Invoice\",invoices_list:\"\\u039B\\u03AF\\u03C3\\u03C4\\u03B1 \\u03A4\\u03B9\\u03BC\\u03BF\\u03BB\\u03BF\\u03B3\\u03AF\\u03C9\\u03BD\",invoice_information:\"Invoice Information\",days:\"{days} \\u0397\\u03BC\\u03AD\\u03C1\\u03B5\\u03C2\",months:\"{months} \\u039C\\u03AE\\u03BD\\u03B1\\u03C2\",years:\"{years} \\u0388\\u03C4\\u03BF\\u03C2\",all:\"\\u038C\\u03BB\\u03B1\",paid:\"\\u0395\\u03BE\\u03BF\\u03C6\\u03BB\\u03B7\\u03BC\\u03AD\\u03BD\\u03BF\",unpaid:\"\\u0391\\u03BD\\u03B5\\u03BE\\u03CC\\u03C6\\u03BB\\u03B7\\u03C4\\u03BF\",viewed:\"\\u03A0\\u03C1\\u03BF\\u03B2\\u03BB\\u03AE\\u03B8\\u03B7\\u03BA\\u03B1\\u03BD\",overdue:\"\\u0395\\u03BA\\u03C0\\u03C1\\u03CC\\u03B8\\u03B5\\u03C3\\u03BC\\u03B1\",completed:\"\\u039F\\u03BB\\u03BF\\u03BA\\u03BB\\u03B7\\u03C1\\u03CE\\u03B8\\u03B7\\u03BA\\u03B5\",customer:\"\\u03A4\\u0395\\u039B\\u03A9\\u039D\\u0395\\u0399\\u0391\\u039A\\u0397\",paid_status:\"\\u039A\\u0391\\u03A4\\u0391\\u03A3\\u03A4\\u0391\\u03A3\\u0397 \\u03A0\\u039B\\u0397\\u03A1\\u03A9\\u039C\\u0397\\u03A3\",ref_no:\"REF NO.\",number:\"\\u0391\\u03A1\\u0399\\u0398\\u039C\\u039F\\u03A3\",amount_due:\"\\u03A0\\u039F\\u03A3\\u039F \\u03A0\\u03A1\\u039F\\u03A3 \\u03A0\\u039B\\u0397\\u03A1\\u03A9\\u039C\\u0397\",partially_paid:\"\\u039C\\u03B5\\u03C1\\u03B9\\u03BA\\u03CE\\u03C2 \\u0395\\u03BE\\u03BF\\u03C6\\u03BB\\u03B7\\u03BC\\u03AD\\u03BD\\u03BF\",total:\"\\u03A3\\u03CD\\u03BD\\u03BF\\u03BB\\u03BF\\xA0\",discount:\"\\u0388\\u03BA\\u03C0\\u03C4\\u03C9\\u03C3\\u03B7\",sub_total:\"\\u039C\\u03B5\\u03C1\\u03B9\\u03BA\\u03CC \\u03A3\\u03CD\\u03BD\\u03BF\\u03BB\\u03BF\",invoice:\"\\u03A4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03B1 (\\u03A4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03B1)\",invoice_number:\"\\u0391\\u03C1\\u03B9\\u03B8\\u03BC\\u03CC\\u03C2 \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03BF\\u03B3\\u03AF\\u03BF\\u03C5\",ref_number:\"\\u0391\\u03C1\\u03B9\\u03B8\\u03BC\\u03CC\\u03C2 \\u0391\\u03BD\\u03B1\\u03C6\\u03BF\\u03C1\\u03AC\\u03C2\",contact:\"\\u0395\\u03C0\\u03B9\\u03BA\\u03BF\\u03B9\\u03BD\\u03C9\\u03BD\\u03AF\\u03B1\",add_item:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03B8\\u03AE\\u03BA\\u03B7 \\u03C3\\u03C4\\u03BF\\u03B9\\u03C7\\u03B5\\u03AF\\u03BF\\u03C5\",date:\"\\u0397\\u03BC\\u03B5\\u03C1\\u03BF\\u03BC\\u03B7\\u03BD\\u03AF\\u03B1\",due_date:\"\\u0397\\u03BC\\u03B5\\u03C1\\u03BF\\u03BC\\u03B7\\u03BD\\u03AF\\u03B1 \\u03BB\\u03AE\\u03BE\\u03B7\\u03C2\",status:\"\\u039A\\u03B1\\u03C4\\u03AC\\u03C3\\u03C4\\u03B1\\u03C3\\u03B7\",add_tax:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03B8\\u03AE\\u03BA\\u03B7 \\u03A6\\u03CC\\u03C1\\u03BF\\u03C5\",amount:\"\\u03A0\\u03BF\\u03C3\\u03CC\",action:\"\\u0395\\u03BD\\u03AD\\u03C1\\u03B3\\u03B5\\u03B9\\u03B1\",notes:\"\\u03A3\\u03B7\\u03BC\\u03B5\\u03B9\\u03CE\\u03C3\\u03B5\\u03B9\\u03C2\",view:\"\\u03A0\\u03C1\\u03BF\\u03B2\\u03BF\\u03BB\\u03AE\",send_invoice:\"\\u0391\\u03C0\\u03BF\\u03C3\\u03C4\\u03BF\\u03BB\\u03AE \\u03A0\\u03B1\\u03C1\\u03B1\\u03C3\\u03C4\\u03B1\\u03C4\\u03B9\\u03BA\\u03CE\\u03BD\",resend_invoice:\"\\u0391\\u03C0\\u03BF\\u03C3\\u03C4\\u03BF\\u03BB\\u03AE \\u03A0\\u03B1\\u03C1\\u03B1\\u03C3\\u03C4\\u03B1\\u03C4\\u03B9\\u03BA\\u03CE\\u03BD\",invoice_template:\"\\u03A0\\u03C1\\u03CC\\u03C4\\u03C5\\u03C0\\u03BF \\u03A4\\u03B9\\u03BC\\u03BF\\u03BB\\u03BF\\u03B3\\u03AF\\u03BF\\u03C5 \",conversion_message:\"\\u03A4\\u03BF \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF \\u03BA\\u03BB\\u03C9\\u03BD\\u03BF\\u03C0\\u03BF\\u03B9\\u03AE\\u03B8\\u03B7\\u03BA\\u03B5 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03CE\\u03C2\",template:\"\\u0395\\u03C0\\u03B9\\u03BB\\u03BF\\u03B3\\u03AE \\u03A0\\u03C1\\u03BF\\u03C4\\u03CD\\u03C0\\u03BF\\u03C5\",mark_as_sent:\"\\u03A3\\u03AE\\u03BC\\u03B1\\u03BD\\u03C3\\u03B7 \\u03C9\\u03C2 \\u03B1\\u03C0\\u03B5\\u03C3\\u03C4\\u03B1\\u03BB\\u03BC\\u03AD\\u03BD\\u03BF\\u03C5\",confirm_send_invoice:\"\\u0391\\u03C5\\u03C4\\u03CC \\u03C4\\u03BF \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF \\u03B8\\u03B1 \\u03B1\\u03C0\\u03BF\\u03C3\\u03C4\\u03B1\\u03BB\\u03B5\\u03AF \\u03BC\\u03AD\\u03C3\\u03C9 email \\u03C3\\u03C4\\u03BF\\u03BD \\u03C0\\u03B5\\u03BB\\u03AC\\u03C4\\u03B7\",invoice_mark_as_sent:\"\\u0391\\u03C5\\u03C4\\u03CC \\u03C4\\u03BF \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF \\u03B8\\u03B1 \\u03B5\\u03C0\\u03B9\\u03C3\\u03B7\\u03BC\\u03B1\\u03BD\\u03B8\\u03B5\\u03AF \\u03C9\\u03C2 \\u03B1\\u03C0\\u03B5\\u03C3\\u03C4\\u03B1\\u03BB\\u03BC\\u03AD\\u03BD\\u03BF\",confirm_mark_as_accepted:\"\\u0391\\u03C5\\u03C4\\u03CC \\u03C4\\u03BF \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF \\u03B8\\u03B1 \\u03B5\\u03C0\\u03B9\\u03C3\\u03B7\\u03BC\\u03B1\\u03BD\\u03B8\\u03B5\\u03AF \\u03C9\\u03C2 \\u0391\\u03C0\\u03BF\\u03B4\\u03B5\\u03BA\\u03C4\\u03CC\",confirm_mark_as_rejected:\"\\u0391\\u03C5\\u03C4\\u03CC \\u03C4\\u03BF \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF \\u03B8\\u03B1 \\u03B5\\u03C0\\u03B9\\u03C3\\u03B7\\u03BC\\u03B1\\u03BD\\u03B8\\u03B5\\u03AF \\u03C9\\u03C2 \\u0391\\u03C0\\u03BF\\u03C1\\u03C1\\u03B9\\u03C0\\u03C4\\u03CC\\u03BC\\u03B5\\u03BD\\u03BF\",confirm_send:\"\\u0391\\u03C5\\u03C4\\u03CC \\u03C4\\u03BF \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF \\u03B8\\u03B1 \\u03B1\\u03C0\\u03BF\\u03C3\\u03C4\\u03B1\\u03BB\\u03B5\\u03AF \\u03BC\\u03AD\\u03C3\\u03C9 email \\u03C3\\u03C4\\u03BF\\u03BD \\u03C0\\u03B5\\u03BB\\u03AC\\u03C4\\u03B7\",invoice_date:\"\\u0397\\u03BC\\u03B5\\u03C1\\u03BF\\u03BC\\u03B7\\u03BD\\u03AF\\u03B1 \\u03A4\\u03B9\\u03BC\\u03BF\\u03BB\\u03BF\\u03B3\\u03AF\\u03BF\\u03C5\",record_payment:\"\\u039A\\u03B1\\u03C4\\u03B1\\u03B3\\u03C1\\u03B1\\u03C6\\u03AE \\u03A0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03AE\\u03C2\",add_new_invoice:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03B8\\u03AE\\u03BA\\u03B7 \\u039D\\u03AD\\u03BF\\u03C5 \\u03A4\\u03B9\\u03BC\\u03BF\\u03BB\\u03BF\\u03B3\\u03AF\\u03BF\\u03C5\",update_expense:\"\\u0395\\u03BD\\u03B7\\u03BC\\u03AD\\u03C1\\u03C9\\u03C3\\u03B7 \\u0394\\u03B1\\u03C0\\u03AC\\u03BD\\u03B7\\u03C2\",edit_invoice:\"\\u0395\\u03C0\\u03B5\\u03BE\\u03B5\\u03C1\\u03B3\\u03B1\\u03C3\\u03AF\\u03B1 \\u03A4\\u03B9\\u03BC\\u03BF\\u03BB\\u03BF\\u03B3\\u03AF\\u03BF\\u03C5\",new_invoice:\"\\u039D\\u03AD\\u03BF \\u03A4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF\",save_invoice:\"\\u0391\\u03C0\\u03BF\\u03B8\\u03AE\\u03BA\\u03B5\\u03C5\\u03C3\\u03B7 \\u03A4\\u03B9\\u03BC\\u03BF\\u03BB\\u03BF\\u03B3\\u03AF\\u03BF\\u03C5\",update_invoice:\"\\u0395\\u03BD\\u03B7\\u03BC\\u03AD\\u03C1\\u03C9\\u03C3\\u03B7 \\u03A4\\u03B9\\u03BC\\u03BF\\u03BB\\u03BF\\u03B3\\u03AF\\u03BF\\u03C5\",add_new_tax:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03B8\\u03AE\\u03BA\\u03B7 \\u039D\\u03AD\\u03BF\\u03C5 \\u03A6\\u03CC\\u03C1\\u03BF\\u03C5\",no_invoices:\"\\u039A\\u03B1\\u03BD\\u03AD\\u03BD\\u03B1 \\u03A4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF \\u03B1\\u03BA\\u03CC\\u03BC\\u03B1!\",mark_as_rejected:\"\\u03A3\\u03AE\\u03BC\\u03B1\\u03BD\\u03C3\\u03B7 \\u03C9\\u03C2 \\u03B1\\u03C0\\u03BF\\u03C1\\u03C1\\u03AF\\u03C6\\u03B8\\u03B7\\u03BA\\u03B5\",mark_as_accepted:\"\\u03A3\\u03AE\\u03BC\\u03B1\\u03BD\\u03C3\\u03B7 \\u03C9\\u03C2 \\u03B1\\u03C0\\u03BF\\u03B4\\u03B5\\u03BA\\u03C4\\u03CC\",list_of_invoices:\"\\u0391\\u03C5\\u03C4\\u03AE \\u03B7 \\u03B5\\u03BD\\u03CC\\u03C4\\u03B7\\u03C4\\u03B1 \\u03B8\\u03B1 \\u03C0\\u03B5\\u03C1\\u03B9\\u03AD\\u03C7\\u03B5\\u03B9 \\u03C4\\u03B7 \\u03BB\\u03AF\\u03C3\\u03C4\\u03B1 \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03BF\\u03B3\\u03AF\\u03C9\\u03BD.\",select_invoice:\"\\u0395\\u03C0\\u03B9\\u03BB\\u03BF\\u03B3\\u03AE \\u03A4\\u03B9\\u03BC\\u03BF\\u03BB\\u03BF\\u03B3\\u03AF\\u03BF\\u03C5\",no_matching_invoices:\"\\u0394\\u03B5\\u03BD \\u03C5\\u03C0\\u03AC\\u03C1\\u03C7\\u03B5\\u03B9 \\u03BA\\u03B1\\u03BD\\u03AD\\u03BD\\u03B1 \\u03B1\\u03BD\\u03C4\\u03AF\\u03C3\\u03C4\\u03BF\\u03B9\\u03C7\\u03BF \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF!\",mark_as_sent_successfully:\"\\u03A4\\u03BF \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF \\u03B5\\u03C0\\u03B9\\u03C3\\u03B7\\u03BC\\u03AC\\u03BD\\u03B8\\u03B7\\u03BA\\u03B5 \\u03C9\\u03C2 \\u03B1\\u03C0\\u03B5\\u03C3\\u03C4\\u03B1\\u03BB\\u03BC\\u03AD\\u03BD\\u03BF \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03CE\\u03C2\",invoice_sent_successfully:\"\\u03A4\\u03BF \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF \\u03B5\\u03C3\\u03C4\\u03AC\\u03BB\\u03B7 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03CE\\u03C2\",cloned_successfully:\"\\u03A4\\u03BF \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF \\u03BA\\u03BB\\u03C9\\u03BD\\u03BF\\u03C0\\u03BF\\u03B9\\u03AE\\u03B8\\u03B7\\u03BA\\u03B5 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03CE\\u03C2\",clone_invoice:\"\\u039A\\u03BB\\u03C9\\u03BD\\u03BF\\u03C0\\u03BF\\u03AF\\u03B7\\u03C3\\u03B7 \\u03A4\\u03B9\\u03BC\\u03BF\\u03BB\\u03BF\\u03B3\\u03AF\\u03BF\\u03C5\",confirm_clone:\"\\u0391\\u03C5\\u03C4\\u03CC \\u03C4\\u03BF \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF \\u03B8\\u03B1 \\u03BA\\u03BB\\u03C9\\u03BD\\u03BF\\u03C0\\u03BF\\u03B9\\u03B7\\u03B8\\u03B5\\u03AF \\u03C3\\u03B5 \\u03AD\\u03BD\\u03B1 \\u03BD\\u03AD\\u03BF \\u03A4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF\",item:{title:\"\\u03A4\\u03AF\\u03C4\\u03BB\\u03BF\\u03C2 \\u03A0\\u03C1\\u03BF\\u03CA\\u03CC\\u03BD\\u03C4\\u03BF\\u03C2\",description:\"\\u03A0\\u03B5\\u03C1\\u03B9\\u03B3\\u03C1\\u03B1\\u03C6\\u03AE\",quantity:\"\\u03A0\\u03BF\\u03C3\\u03CC\\u03C4\\u03B7\\u03C4\\u03B1\",price:\"\\u03A4\\u03B9\\u03BC\\u03AE\",discount:\"\\u0388\\u03BA\\u03C0\\u03C4\\u03C9\\u03C3\\u03B7\",total:\"\\u039F\\u03BB\\u03B9\\u03BA\\u03CC\",total_discount:\"\\u03A3\\u03C5\\u03BD\\u03BF\\u03BB\\u03B9\\u03BA\\u03AE \\u0388\\u03BA\\u03C0\\u03C4\\u03C9\\u03C3\\u03B7\",sub_total:\"\\u039C\\u03B5\\u03C1\\u03B9\\u03BA\\u03CC \\u03A3\\u03CD\\u03BD\\u03BF\\u03BB\\u03BF\",tax:\"\\u03A6\\u03CC\\u03C1\\u03BF\\u03C2\",amount:\"\\u03A0\\u03BF\\u03C3\\u03CC\",select_an_item:\"\\u03A0\\u03BB\\u03B7\\u03BA\\u03C4\\u03C1\\u03BF\\u03BB\\u03BF\\u03B3\\u03AE\\u03C3\\u03C4\\u03B5 \\u03AE \\u03BA\\u03AC\\u03BD\\u03C4\\u03B5 \\u03BA\\u03BB\\u03B9\\u03BA \\u03B3\\u03B9\\u03B1 \\u03BD\\u03B1 \\u03B5\\u03C0\\u03B9\\u03BB\\u03AD\\u03BE\\u03B5\\u03C4\\u03B5 \\u03AD\\u03BD\\u03B1 \\u03C3\\u03C4\\u03BF\\u03B9\\u03C7\\u03B5\\u03AF\\u03BF\",type_item_description:\"\\u03A0\\u03BB\\u03B7\\u03BA\\u03C4\\u03C1\\u03BF\\u03BB\\u03BF\\u03B3\\u03AE\\u03C3\\u03C4\\u03B5 \\u03A0\\u03B5\\u03C1\\u03B9\\u03B3\\u03C1\\u03B1\\u03C6\\u03AE \\u03A3\\u03C4\\u03BF\\u03B9\\u03C7\\u03B5\\u03AF\\u03BF\\u03C5 (\\u03C0\\u03C1\\u03BF\\u03B1\\u03B9\\u03C1\\u03B5\\u03C4\\u03B9\\u03BA\\u03CC)\"},payment_attached_message:\"\\u0391\\u03C5\\u03C4\\u03CC \\u03C4\\u03BF \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF \\u03AD\\u03C7\\u03B5\\u03B9 \\u03AE\\u03B4\\u03B7 \\u03BC\\u03B9\\u03B1 \\u03C0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03AE \\u03C0\\u03BF\\u03C5 \\u03B5\\u03C0\\u03B9\\u03C3\\u03C5\\u03BD\\u03AC\\u03C0\\u03C4\\u03B5\\u03C4\\u03B1\\u03B9 \\u03C3\\u03B5 \\u03B1\\u03C5\\u03C4\\u03CC. \\u0392\\u03B5\\u03B2\\u03B1\\u03B9\\u03C9\\u03B8\\u03B5\\u03AF\\u03C4\\u03B5 \\u03CC\\u03C4\\u03B9 \\u03AD\\u03C7\\u03B5\\u03C4\\u03B5 \\u03B4\\u03B9\\u03B1\\u03B3\\u03C1\\u03AC\\u03C8\\u03B5\\u03B9 \\u03C0\\u03C1\\u03CE\\u03C4\\u03B1 \\u03C4\\u03B9\\u03C2 \\u03C3\\u03C5\\u03BD\\u03B7\\u03BC\\u03BC\\u03AD\\u03BD\\u03B5\\u03C2 \\u03C0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03AD\\u03C2 \\u03B3\\u03B9\\u03B1 \\u03BD\\u03B1 \\u03C0\\u03C1\\u03BF\\u03C7\\u03C9\\u03C1\\u03AE\\u03C3\\u03B5\\u03C4\\u03B5 \\u03BC\\u03B5 \\u03C4\\u03B7\\u03BD \\u03B1\\u03C6\\u03B1\\u03AF\\u03C1\\u03B5\\u03C3\\u03B7\",confirm_delete:\"\\u0394\\u03B5\\u03BD \\u03B8\\u03B1 \\u03B5\\u03AF\\u03C3\\u03C4\\u03B5 \\u03C3\\u03B5 \\u03B8\\u03AD\\u03C3\\u03B7 \\u03BD\\u03B1 \\u03B1\\u03BD\\u03B1\\u03BA\\u03C4\\u03AE\\u03C3\\u03B5\\u03B9 \\u03B1\\u03C5\\u03C4\\u03AE \\u03C4\\u03B7\\u03BD \\u03B5\\u03BA\\u03C4\\u03AF\\u03BC\\u03B7\\u03C3\\u03B7 \\u2019, \\u03B4\\u03B5\\u03BD \\u03B8\\u03B1 \\u03B5\\u03AF\\u03C3\\u03C4\\u03B5 \\u03C3\\u03B5 \\u03B8\\u03AD\\u03C3\\u03B7 \\u03BD\\u03B1 \\u03B1\\u03BD\\u03B1\\u03BA\\u03C4\\u03AE\\u03C3\\u03B5\\u03B9 \\u03B1\\u03C5\\u03C4\\u03AD\\u03C2 \\u03C4\\u03B9\\u03C2 \\u03B5\\u03BA\\u03C4\\u03B9\\u03BC\\u03AE\\u03C3\\u03B5\\u03B9\\u03C2\",created_message:\"\\u03A4\\u03BF \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF \\u03BA\\u03BB\\u03C9\\u03BD\\u03BF\\u03C0\\u03BF\\u03B9\\u03AE\\u03B8\\u03B7\\u03BA\\u03B5 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03CE\\u03C2\",updated_message:\"\\u03A4\\u03BF \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF \\u03B5\\u03BD\\u03B7\\u03BC\\u03B5\\u03C1\\u03CE\\u03B8\\u03B7\\u03BA\\u03B5 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03CE\\u03C2\",deleted_message:\"\\u039F \\u03C5\\u03C0\\u03BF\\u03BB\\u03BF\\u03B3\\u03B9\\u03C3\\u03BC\\u03CC\\u03C2 \\u03B4\\u03B9\\u03B1\\u03B3\\u03C1\\u03AC\\u03C6\\u03B7\\u03BA\\u03B5 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03CE\\u03C2\",marked_as_sent_message:\"\\u03A4\\u03BF \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF \\u03B5\\u03C0\\u03B9\\u03C3\\u03B7\\u03BC\\u03AC\\u03BD\\u03B8\\u03B7\\u03BA\\u03B5 \\u03C9\\u03C2 \\u03B1\\u03C0\\u03B5\\u03C3\\u03C4\\u03B1\\u03BB\\u03BC\\u03AD\\u03BD\\u03BF \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03CE\\u03C2\",something_went_wrong:\"\\u039A\\u03AC\\u03C4\\u03B9 \\u03C0\\u03AE\\u03B3\\u03B5 \\u03C3\\u03C4\\u03C1\\u03B1\\u03B2\\u03AC\",invalid_due_amount_message:\"\\u03A3\\u03C5\\u03BD\\u03BF\\u03BB\\u03B9\\u03BA\\u03CC \\u03B5\\u03C0\\u03B1\\u03BD\\u03B1\\u03BB\\u03B1\\u03BC\\u03B2\\u03B1\\u03BD\\u03CC\\u03BC\\u03B5\\u03BD\\u03BF \\u03C0\\u03BF\\u03C3\\u03CC \\u03A4\\u03B9\\u03BC\\u03BF\\u03BB\\u03BF\\u03B3\\u03AF\\u03BF\\u03C5 \\u03B4\\u03B5\\u03BD \\u03BC\\u03C0\\u03BF\\u03C1\\u03B5\\u03AF \\u03BD\\u03B1 \\u03B5\\u03AF\\u03BD\\u03B1\\u03B9 \\u03BC\\u03B9\\u03BA\\u03C1\\u03CC\\u03C4\\u03B5\\u03C1\\u03BF \\u03B1\\u03C0\\u03CC \\u03C4\\u03BF \\u03C3\\u03C5\\u03BD\\u03BF\\u03BB\\u03B9\\u03BA\\u03CC \\u03BA\\u03B1\\u03C4\\u03B1\\u03B2\\u03BB\\u03B7\\u03B8\\u03AD\\u03BD \\u03C0\\u03BF\\u03C3\\u03CC \\u03B3\\u03B9\\u03B1 \\u03B1\\u03C5\\u03C4\\u03CC \\u03C4\\u03BF \\u03B5\\u03C0\\u03B1\\u03BD\\u03B1\\u03BB\\u03B1\\u03BC\\u03B2\\u03B1\\u03BD\\u03CC\\u03BC\\u03B5\\u03BD\\u03BF \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF. \\u03A0\\u03B1\\u03C1\\u03B1\\u03BA\\u03B1\\u03BB\\u03BF\\u03CD\\u03BC\\u03B5 \\u03B5\\u03BD\\u03B7\\u03BC\\u03B5\\u03C1\\u03CE\\u03C3\\u03C4\\u03B5 \\u03C4\\u03BF \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF \\u03AE \\u03B4\\u03B9\\u03B1\\u03B3\\u03C1\\u03AC\\u03C8\\u03C4\\u03B5 \\u03C4\\u03B9\\u03C2 \\u03C3\\u03C7\\u03B5\\u03C4\\u03B9\\u03BA\\u03AD\\u03C2 \\u03C0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03AD\\u03C2 \\u03B3\\u03B9\\u03B1 \\u03BD\\u03B1 \\u03C3\\u03C5\\u03BD\\u03B5\\u03C7\\u03AF\\u03C3\\u03B5\\u03C4\\u03B5.\",mark_as_default_invoice_template_description:\"If enabled, the selected template will be automatically selected for new invoices.\"},uz={title:\"\\u0395\\u03C0\\u03B1\\u03BD\\u03B1\\u03BB\\u03B1\\u03BC\\u03B2\\u03B1\\u03BD\\u03CC\\u03BC\\u03B5\\u03BD\\u03B1 \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03B1\",invoices_list:\"\\u0395\\u03C0\\u03B1\\u03BD\\u03B1\\u03BB\\u03B1\\u03BC\\u03B2\\u03B1\\u03BD\\u03CC\\u03BC\\u03B5\\u03BD\\u03B1 \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03B1\",days:\"{days} \\u0397\\u03BC\\u03AD\\u03C1\\u03B5\\u03C2\",months:\"{months} \\u039C\\u03AE\\u03BD\\u03B1\\u03C2\",years:\"{years} \\u0388\\u03C4\\u03BF\\u03C2\",all:\"\\u038C\\u03BB\\u03B1\",paid:\"\\u0395\\u03BE\\u03BF\\u03C6\\u03BB\\u03B7\\u03BC\\u03AD\\u03BD\\u03BF\",unpaid:\"\\u0391\\u03BD\\u03B5\\u03BE\\u03CC\\u03C6\\u03BB\\u03B7\\u03C4\\u03BF\",viewed:\"\\u03A0\\u03C1\\u03BF\\u03B2\\u03BB\\u03AE\\u03B8\\u03B7\\u03BA\\u03B1\\u03BD\",overdue:\"\\u0395\\u03BA\\u03C0\\u03C1\\u03CC\\u03B8\\u03B5\\u03C3\\u03BC\\u03B1\",active:\"\\u0395\\u03BD\\u03B5\\u03C1\\u03B3\\u03AE\",completed:\"\\u039F\\u03BB\\u03BF\\u03BA\\u03BB\\u03B7\\u03C1\\u03CE\\u03B8\\u03B7\\u03BA\\u03B5\",customer:\"\\u03A4\\u0395\\u039B\\u03A9\\u039D\\u0395\\u0399\\u0391\\u039A\\u0397\",paid_status:\"\\u039A\\u0391\\u03A4\\u0391\\u03A3\\u03A4\\u0391\\u03A3\\u0397 \\u03A0\\u039B\\u0397\\u03A1\\u03A9\\u039C\\u0397\\u03A3\",ref_no:\"REF NO.\",number:\"\\u0391\\u03A1\\u0399\\u0398\\u039C\\u039F\\u03A3\",amount_due:\"\\u03A0\\u039F\\u03A3\\u039F \\u03A0\\u03A1\\u039F\\u03A3 \\u03A0\\u039B\\u0397\\u03A1\\u03A9\\u039C\\u0397\",partially_paid:\"\\u039C\\u03B5\\u03C1\\u03B9\\u03BA\\u03CE\\u03C2 \\u0395\\u03BE\\u03BF\\u03C6\\u03BB\\u03B7\\u03BC\\u03AD\\u03BD\\u03BF\",total:\"\\u03A3\\u03CD\\u03BD\\u03BF\\u03BB\\u03BF\\xA0\",discount:\"\\u0388\\u03BA\\u03C0\\u03C4\\u03C9\\u03C3\\u03B7\",sub_total:\"\\u039C\\u03B5\\u03C1\\u03B9\\u03BA\\u03CC \\u03A3\\u03CD\\u03BD\\u03BF\\u03BB\\u03BF\",invoice:\"\\u0395\\u03C0\\u03B1\\u03BD\\u03B1\\u03BB\\u03B1\\u03BC\\u03B2\\u03B1\\u03BD\\u03CC\\u03BC\\u03B5\\u03BD\\u03BF \\u03A4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF |  \\u0395\\u03C0\\u03B1\\u03BD\\u03B1\\u03BB\\u03B1\\u03BC\\u03B2\\u03B1\\u03BD\\u03CC\\u03BC\\u03B5\\u03BD\\u03B1 \\u03A4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03B1\",invoice_number:\"\\u0391\\u03C1\\u03B9\\u03B8\\u03BC\\u03CC\\u03C2 \\u03B5\\u03C0\\u03B1\\u03BD\\u03B1\\u03BB\\u03B1\\u03BC\\u03B2\\u03B1\\u03BD\\u03CC\\u03BC\\u03B5\\u03BD\\u03BF\\u03C5 \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03BF\\u03B3\\u03AF\\u03BF\\u03C5\",next_invoice_date:\"\\u0395\\u03C0\\u03CC\\u03BC\\u03B5\\u03BD\\u03B7 \\u0397\\u03BC\\u03B5\\u03C1\\u03BF\\u03BC\\u03B7\\u03BD\\u03AF\\u03B1 \\u03A4\\u03B9\\u03BC\\u03BF\\u03BB\\u03BF\\u03B3\\u03AF\\u03BF\\u03C5\",ref_number:\"\\u0391\\u03C1\\u03B9\\u03B8\\u03BC\\u03CC\\u03C2 \\u0391\\u03BD\\u03B1\\u03C6\\u03BF\\u03C1\\u03AC\\u03C2\",contact:\"\\u0395\\u03C0\\u03B9\\u03BA\\u03BF\\u03B9\\u03BD\\u03C9\\u03BD\\u03AF\\u03B1\",add_item:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03B8\\u03AE\\u03BA\\u03B7 \\u03C3\\u03C4\\u03BF\\u03B9\\u03C7\\u03B5\\u03AF\\u03BF\\u03C5\",date:\"\\u0397\\u03BC\\u03B5\\u03C1\\u03BF\\u03BC\\u03B7\\u03BD\\u03AF\\u03B1\",limit_by:\"\\u03A0\\u03B5\\u03C1\\u03B9\\u03BF\\u03C1\\u03B9\\u03C3\\u03BC\\u03CC\\u03C2 \\u0391\\u03BD\\u03AC:\",limit_date:\"\\u03A0\\u03B5\\u03C1\\u03B9\\u03BF\\u03C1\\u03B9\\u03C3\\u03BC\\u03CC\\u03C2 \\u0397\\u03BC\\u03B5\\u03C1\\u03BF\\u03BC\\u03B7\\u03BD\\u03AF\\u03B1\\u03C2\",limit_count:\"\\u038C\\u03C1\\u03B9\\u03BF \\u039A\\u03B1\\u03C4\\u03B1\\u03BC\\u03AD\\u03C4\\u03C1\\u03B7\\u03C3\\u03B7\\u03C2\",count:\"\\u0391\\u03C1\\u03AF\\u03B8\\u03BC\\u03B7\\u03C3\\u03B7\",status:\"\\u039A\\u03B1\\u03C4\\u03AC\\u03C3\\u03C4\\u03B1\\u03C3\\u03B7\",select_a_status:\"\\u0395\\u03C0\\u03B9\\u03BB\\u03AD\\u03BE\\u03C4\\u03B5 \\u03BA\\u03B1\\u03C4\\u03AC\\u03C3\\u03C4\\u03B1\\u03C3\\u03B7\",working:\"\\u039B\\u03B5\\u03B9\\u03C4\\u03BF\\u03C5\\u03C1\\u03B3\\u03B5\\u03AF\",on_hold:\"\\u03A3\\u03B5 \\u03B1\\u03BD\\u03B1\\u03BC\\u03BF\\u03BD\\u03AE\",complete:\"\\u039F\\u03BB\\u03BF\\u03BA\\u03BB\\u03B7\\u03C1\\u03CE\\u03B8\\u03B7\\u03BA\\u03B5\",add_tax:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03B8\\u03AE\\u03BA\\u03B7 \\u03A6\\u03CC\\u03C1\\u03BF\\u03C5\",amount:\"\\u03A0\\u03BF\\u03C3\\u03CC\",action:\"\\u0395\\u03BD\\u03AD\\u03C1\\u03B3\\u03B5\\u03B9\\u03B1\",notes:\"\\u03A3\\u03B7\\u03BC\\u03B5\\u03B9\\u03CE\\u03C3\\u03B5\\u03B9\\u03C2\",view:\"\\u03A0\\u03C1\\u03BF\\u03B2\\u03BF\\u03BB\\u03AE\",basic_info:\"\\u0392\\u03B1\\u03C3\\u03B9\\u03BA\\u03AD\\u03C2 \\u03A0\\u03BB\\u03B7\\u03C1\\u03BF\\u03C6\\u03BF\\u03C1\\u03AF\\u03B5\\u03C2\",send_invoice:\"\\u0394\\u03B7\\u03BC\\u03B9\\u03BF\\u03C5\\u03C1\\u03B3\\u03AF\\u03B1 \\u0395\\u03C0\\u03B1\\u03BD\\u03B1\\u03BB\\u03B1\\u03BC\\u03B2\\u03B1\\u03BD\\u03CC\\u03BC\\u03B5\\u03BD\\u03BF\\u03C5 \\u03A4\\u03B9\\u03BC\\u03BF\\u03BB\\u03BF\\u03B3\\u03AF\\u03BF\\u03C5\",auto_send:\"\\u0391\\u03C5\\u03C4\\u03CC\\u03BC\\u03B1\\u03C4\\u03B7 \\u0391\\u03C0\\u03BF\\u03C3\\u03C4\\u03BF\\u03BB\\u03AE\",resend_invoice:\"\\u0394\\u03B7\\u03BC\\u03B9\\u03BF\\u03C5\\u03C1\\u03B3\\u03AF\\u03B1 \\u0395\\u03C0\\u03B1\\u03BD\\u03B1\\u03BB\\u03B1\\u03BC\\u03B2\\u03B1\\u03BD\\u03CC\\u03BC\\u03B5\\u03BD\\u03BF\\u03C5 \\u03A4\\u03B9\\u03BC\\u03BF\\u03BB\\u03BF\\u03B3\\u03AF\\u03BF\\u03C5\",invoice_template:\"\\u0391\\u03C1\\u03B9\\u03B8\\u03BC\\u03CC\\u03C2 \\u03B5\\u03C0\\u03B1\\u03BD\\u03B1\\u03BB\\u03B1\\u03BC\\u03B2\\u03B1\\u03BD\\u03CC\\u03BC\\u03B5\\u03BD\\u03BF\\u03C5 \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03BF\\u03B3\\u03AF\\u03BF\\u03C5\",conversion_message:\"\\u0395\\u03C0\\u03B1\\u03BD\\u03B1\\u03BB\\u03B1\\u03BC\\u03B2\\u03B1\\u03BD\\u03CC\\u03BC\\u03B5\\u03BD\\u03BF \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF \\u03BA\\u03BB\\u03C9\\u03BD\\u03BF\\u03C0\\u03BF\\u03B9\\u03AE\\u03B8\\u03B7\\u03BA\\u03B5 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03AE\\u03C2\",template:\"\\u03A0\\u03C1\\u03CC\\u03C4\\u03C5\\u03C0\\u03BF\",mark_as_sent:\"\\u03A3\\u03AE\\u03BC\\u03B1\\u03BD\\u03C3\\u03B7 \\u03C9\\u03C2 \\u03B1\\u03C0\\u03B5\\u03C3\\u03C4\\u03B1\\u03BB\\u03BC\\u03AD\\u03BD\\u03BF\\u03C5\",confirm_send_invoice:\"\\u0391\\u03C5\\u03C4\\u03CC \\u03C4\\u03BF \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF \\u03B8\\u03B1 \\u03B1\\u03C0\\u03BF\\u03C3\\u03C4\\u03B1\\u03BB\\u03B5\\u03AF \\u03BC\\u03AD\\u03C3\\u03C9 email \\u03C3\\u03C4\\u03BF\\u03BD \\u03C0\\u03B5\\u03BB\\u03AC\\u03C4\\u03B7\",invoice_mark_as_sent:\"\\u0391\\u03C5\\u03C4\\u03CC \\u03C4\\u03BF \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF \\u03B8\\u03B1 \\u03B5\\u03C0\\u03B9\\u03C3\\u03B7\\u03BC\\u03B1\\u03BD\\u03B8\\u03B5\\u03AF \\u03C9\\u03C2 \\u03B1\\u03C0\\u03B5\\u03C3\\u03C4\\u03B1\\u03BB\\u03BC\\u03AD\\u03BD\\u03BF\",confirm_send:\"\\u0391\\u03C5\\u03C4\\u03CC \\u03C4\\u03BF \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF \\u03B8\\u03B1 \\u03B1\\u03C0\\u03BF\\u03C3\\u03C4\\u03B1\\u03BB\\u03B5\\u03AF \\u03BC\\u03AD\\u03C3\\u03C9 email \\u03C3\\u03C4\\u03BF\\u03BD \\u03C0\\u03B5\\u03BB\\u03AC\\u03C4\\u03B7\",starts_at:\"\\u0397\\u03BC\\u03B5\\u03C1\\u03BF\\u03BC\\u03B7\\u03BD\\u03AF\\u03B1 \\u03AD\\u03BD\\u03B1\\u03C1\\u03BE\\u03B7\\u03C2\",due_date:\"\\u0397\\u03BC/\\u03BD\\u03AF\\u03B1 \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B7\\u03C3\\u03B7\\u03C2\",record_payment:\"\\u039A\\u03B1\\u03C4\\u03B1\\u03B3\\u03C1\\u03B1\\u03C6\\u03AE \\u03A0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03AE\\u03C2\",add_new_invoice:\"\\u0394\\u03B7\\u03BC\\u03B9\\u03BF\\u03C5\\u03C1\\u03B3\\u03AF\\u03B1 \\u0395\\u03C0\\u03B1\\u03BD\\u03B1\\u03BB\\u03B1\\u03BC\\u03B2\\u03B1\\u03BD\\u03CC\\u03BC\\u03B5\\u03BD\\u03BF\\u03C5 \\u03A4\\u03B9\\u03BC\\u03BF\\u03BB\\u03BF\\u03B3\\u03AF\\u03BF\\u03C5\",update_expense:\"\\u0395\\u03BD\\u03B7\\u03BC\\u03AD\\u03C1\\u03C9\\u03C3\\u03B7 \\u0394\\u03B1\\u03C0\\u03AC\\u03BD\\u03B7\\u03C2\",edit_invoice:\"\\u0395\\u03C0\\u03B1\\u03BD\\u03B1\\u03BB\\u03B1\\u03BC\\u03B2\\u03B1\\u03BD\\u03CC\\u03BC\\u03B5\\u03BD\\u03B1 \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03B1\",new_invoice:\"\\u0395\\u03C0\\u03B1\\u03BD\\u03B1\\u03BB\\u03B1\\u03BC\\u03B2\\u03B1\\u03BD\\u03CC\\u03BC\\u03B5\\u03BD\\u03B1 \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03B1\",send_automatically:\"\\u0391\\u03C5\\u03C4\\u03CC\\u03BC\\u03B1\\u03C4\\u03B7 \\u0391\\u03C0\\u03BF\\u03C3\\u03C4\\u03BF\\u03BB\\u03AE\",send_automatically_desc:\"\\u0395\\u03BD\\u03B5\\u03C1\\u03B3\\u03BF\\u03C0\\u03BF\\u03B9\\u03AE\\u03C3\\u03C4\\u03B5 \\u03B1\\u03C5\\u03C4\\u03CC, \\u03B1\\u03BD \\u03B8\\u03AD\\u03BB\\u03B5\\u03C4\\u03B5 \\u03BD\\u03B1 \\u03C3\\u03C4\\u03B5\\u03AF\\u03BB\\u03B5\\u03C4\\u03B5 \\u03C4\\u03BF \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF \\u03B1\\u03C5\\u03C4\\u03CC\\u03BC\\u03B1\\u03C4\\u03B1 \\u03C3\\u03C4\\u03BF\\u03BD \\u03C0\\u03B5\\u03BB\\u03AC\\u03C4\\u03B7 \\u03CC\\u03C4\\u03B1\\u03BD \\u03B4\\u03B7\\u03BC\\u03B9\\u03BF\\u03C5\\u03C1\\u03B3\\u03B7\\u03B8\\u03B5\\u03AF.\",save_invoice:\"\\u0391\\u03C0\\u03BF\\u03B8\\u03AE\\u03BA\\u03B5\\u03C5\\u03C3\\u03B7 \\u0395\\u03C0\\u03B1\\u03BD\\u03B1\\u03BB\\u03B1\\u03BC\\u03B2\\u03B1\\u03BD\\u03CC\\u03BC\\u03B5\\u03BD\\u03BF\\u03C5 \\u03A4\\u03B9\\u03BC\\u03BF\\u03BB\\u03BF\\u03B3\\u03AF\\u03BF\\u03C5\",update_invoice:\"\\u0394\\u03B7\\u03BC\\u03B9\\u03BF\\u03C5\\u03C1\\u03B3\\u03AF\\u03B1 \\u0395\\u03C0\\u03B1\\u03BD\\u03B1\\u03BB\\u03B1\\u03BC\\u03B2\\u03B1\\u03BD\\u03CC\\u03BC\\u03B5\\u03BD\\u03BF\\u03C5 \\u03A4\\u03B9\\u03BC\\u03BF\\u03BB\\u03BF\\u03B3\\u03AF\\u03BF\\u03C5\",add_new_tax:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03B8\\u03AE\\u03BA\\u03B7 \\u039D\\u03AD\\u03BF\\u03C5 \\u03A6\\u03CC\\u03C1\\u03BF\\u03C5\",no_invoices:\"\\u0395\\u03C0\\u03B1\\u03BD\\u03B1\\u03BB\\u03B1\\u03BC\\u03B2\\u03B1\\u03BD\\u03CC\\u03BC\\u03B5\\u03BD\\u03B1 \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03B1!\",mark_as_rejected:\"\\u03A3\\u03AE\\u03BC\\u03B1\\u03BD\\u03C3\\u03B7 \\u03C9\\u03C2 \\u03B1\\u03C0\\u03BF\\u03C1\\u03C1\\u03AF\\u03C6\\u03B8\\u03B7\\u03BA\\u03B5\",mark_as_accepted:\"\\u03A3\\u03AE\\u03BC\\u03B1\\u03BD\\u03C3\\u03B7 \\u03C9\\u03C2 \\u03B1\\u03C0\\u03BF\\u03B4\\u03B5\\u03BA\\u03C4\\u03CC\",list_of_invoices:\"\\u0391\\u03C5\\u03C4\\u03AE \\u03B7 \\u03B5\\u03BD\\u03CC\\u03C4\\u03B7\\u03C4\\u03B1 \\u03B8\\u03B1 \\u03C0\\u03B5\\u03C1\\u03B9\\u03AD\\u03C7\\u03B5\\u03B9 \\u03C4\\u03B7 \\u03BB\\u03AF\\u03C3\\u03C4\\u03B1 \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03BF\\u03B3\\u03AF\\u03C9\\u03BD.\",select_invoice:\"\\u0395\\u03C0\\u03B9\\u03BB\\u03BF\\u03B3\\u03AE \\u03A4\\u03B9\\u03BC\\u03BF\\u03BB\\u03BF\\u03B3\\u03AF\\u03BF\\u03C5\",no_matching_invoices:\"\\u0394\\u03B5\\u03BD \\u03C5\\u03C0\\u03AC\\u03C1\\u03C7\\u03B5\\u03B9 \\u03BA\\u03B1\\u03BD\\u03AD\\u03BD\\u03B1 \\u03B1\\u03BD\\u03C4\\u03AF\\u03C3\\u03C4\\u03BF\\u03B9\\u03C7\\u03BF \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF!\",mark_as_sent_successfully:\"\\u03A4\\u03BF \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF \\u03B5\\u03C0\\u03B9\\u03C3\\u03B7\\u03BC\\u03AC\\u03BD\\u03B8\\u03B7\\u03BA\\u03B5 \\u03C9\\u03C2 \\u03B1\\u03C0\\u03B5\\u03C3\\u03C4\\u03B1\\u03BB\\u03BC\\u03AD\\u03BD\\u03BF \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03CE\\u03C2\",invoice_sent_successfully:\"\\u0395\\u03C0\\u03B1\\u03BD\\u03B1\\u03BB\\u03B1\\u03BC\\u03B2\\u03B1\\u03BD\\u03CC\\u03BC\\u03B5\\u03BD\\u03BF \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF \\u03BA\\u03BB\\u03C9\\u03BD\\u03BF\\u03C0\\u03BF\\u03B9\\u03AE\\u03B8\\u03B7\\u03BA\\u03B5 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03AE\\u03C2\",cloned_successfully:\"\\u0395\\u03C0\\u03B1\\u03BD\\u03B1\\u03BB\\u03B1\\u03BC\\u03B2\\u03B1\\u03BD\\u03CC\\u03BC\\u03B5\\u03BD\\u03BF \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF \\u03BA\\u03BB\\u03C9\\u03BD\\u03BF\\u03C0\\u03BF\\u03B9\\u03AE\\u03B8\\u03B7\\u03BA\\u03B5 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03AE\\u03C2\",clone_invoice:\"\\u0394\\u03B7\\u03BC\\u03B9\\u03BF\\u03C5\\u03C1\\u03B3\\u03AF\\u03B1 \\u0395\\u03C0\\u03B1\\u03BD\\u03B1\\u03BB\\u03B1\\u03BC\\u03B2\\u03B1\\u03BD\\u03CC\\u03BC\\u03B5\\u03BD\\u03BF\\u03C5 \\u03A4\\u03B9\\u03BC\\u03BF\\u03BB\\u03BF\\u03B3\\u03AF\\u03BF\\u03C5\",confirm_clone:\"\\u0391\\u03C5\\u03C4\\u03CC \\u03C4\\u03BF \\u03B5\\u03C0\\u03B1\\u03BD\\u03B1\\u03BB\\u03B1\\u03BC\\u03B2\\u03B1\\u03BD\\u03CC\\u03BC\\u03B5\\u03BD\\u03BF \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF \\u03B8\\u03B1 \\u03BA\\u03BB\\u03C9\\u03BD\\u03BF\\u03C0\\u03BF\\u03B9\\u03B7\\u03B8\\u03B5\\u03AF \\u03C3\\u03B5 \\u03AD\\u03BD\\u03B1 \\u03BD\\u03AD\\u03BF \\u03B5\\u03C0\\u03B1\\u03BD\\u03B1\\u03BB\\u03B1\\u03BC\\u03B2\\u03B1\\u03BD\\u03CC\\u03BC\\u03B5\\u03BD\\u03BF \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF\",add_customer_email:\"Please add an email address for this customer to send invoices automatically.\",item:{title:\"\\u03A4\\u03AF\\u03C4\\u03BB\\u03BF\\u03C2 \\u03A0\\u03C1\\u03BF\\u03CA\\u03CC\\u03BD\\u03C4\\u03BF\\u03C2\",description:\"\\u03A0\\u03B5\\u03C1\\u03B9\\u03B3\\u03C1\\u03B1\\u03C6\\u03AE\",quantity:\"\\u03A0\\u03BF\\u03C3\\u03CC\\u03C4\\u03B7\\u03C4\\u03B1\",price:\"\\u03A4\\u03B9\\u03BC\\u03AE\",discount:\"\\u0388\\u03BA\\u03C0\\u03C4\\u03C9\\u03C3\\u03B7\",total:\"\\u03A3\\u03CD\\u03BD\\u03BF\\u03BB\\u03BF\\xA0\",total_discount:\"\\u03A3\\u03C5\\u03BD\\u03BF\\u03BB\\u03B9\\u03BA\\u03AE \\u0388\\u03BA\\u03C0\\u03C4\\u03C9\\u03C3\\u03B7\",sub_total:\"\\u039C\\u03B5\\u03C1\\u03B9\\u03BA\\u03CC \\u03A3\\u03CD\\u03BD\\u03BF\\u03BB\\u03BF\",tax:\"\\u03A6\\u03CC\\u03C1\\u03BF\\u03C2\",amount:\"\\u03A0\\u03BF\\u03C3\\u03CC\",select_an_item:\"\\u03A0\\u03BB\\u03B7\\u03BA\\u03C4\\u03C1\\u03BF\\u03BB\\u03BF\\u03B3\\u03AE\\u03C3\\u03C4\\u03B5 \\u03AE \\u03BA\\u03AC\\u03BD\\u03C4\\u03B5 \\u03BA\\u03BB\\u03B9\\u03BA \\u03B3\\u03B9\\u03B1 \\u03BD\\u03B1 \\u03B5\\u03C0\\u03B9\\u03BB\\u03AD\\u03BE\\u03B5\\u03C4\\u03B5 \\u03AD\\u03BD\\u03B1 \\u03C3\\u03C4\\u03BF\\u03B9\\u03C7\\u03B5\\u03AF\\u03BF\",type_item_description:\"\\u03A0\\u03BB\\u03B7\\u03BA\\u03C4\\u03C1\\u03BF\\u03BB\\u03BF\\u03B3\\u03AE\\u03C3\\u03C4\\u03B5 \\u03A0\\u03B5\\u03C1\\u03B9\\u03B3\\u03C1\\u03B1\\u03C6\\u03AE \\u03A3\\u03C4\\u03BF\\u03B9\\u03C7\\u03B5\\u03AF\\u03BF\\u03C5 (\\u03C0\\u03C1\\u03BF\\u03B1\\u03B9\\u03C1\\u03B5\\u03C4\\u03B9\\u03BA\\u03CC)\"},frequency:{title:\"\\u03A3\\u03C5\\u03C7\\u03BD\\u03CC\\u03C4\\u03B7\\u03C4\\u03B1\",select_frequency:\"\\u0395\\u03C0\\u03B9\\u03BB\\u03BF\\u03B3\\u03AE \\u03C3\\u03C5\\u03C7\\u03BD\\u03BF\\u03C4\\u03AE\\u03C4\\u03C9\\u03BD\",minute:\"\\u039B\\u03B5\\u03C0\\u03C4\\u03CC\",hour:\"\\u038F\\u03C1\\u03B1\",day_month:\"\\u0397\\u03BC\\u03AD\\u03C1\\u03B1 \\u03C4\\u03BF\\u03C5 \\u03BC\\u03AE\\u03BD\\u03B1\",month:\"\\u039C\\u03AE\\u03BD\\u03B1\\u03C2\",day_week:\"\\u0397\\u03BC\\u03AD\\u03C1\\u03B1 \\u03C4\\u03B7\\u03C2 \\u03B5\\u03B2\\u03B4\\u03BF\\u03BC\\u03AC\\u03B4\\u03B1\\u03C2\"},confirm_delete:\"\\u0394\\u03B5\\u03BD \\u03B8\\u03B1 \\u03B5\\u03AF\\u03C3\\u03C4\\u03B5 \\u03C3\\u03B5 \\u03B8\\u03AD\\u03C3\\u03B7 \\u03BD\\u03B1 \\u03B1\\u03BD\\u03B1\\u03BA\\u03C4\\u03AE\\u03C3\\u03B5\\u03B9 \\u03B1\\u03C5\\u03C4\\u03AE \\u03C4\\u03B7\\u03BD \\u03B5\\u03BA\\u03C4\\u03AF\\u03BC\\u03B7\\u03C3\\u03B7 \\u2019, \\u03B4\\u03B5\\u03BD \\u03B8\\u03B1 \\u03B5\\u03AF\\u03C3\\u03C4\\u03B5 \\u03C3\\u03B5 \\u03B8\\u03AD\\u03C3\\u03B7 \\u03BD\\u03B1 \\u03B1\\u03BD\\u03B1\\u03BA\\u03C4\\u03AE\\u03C3\\u03B5\\u03B9 \\u03B1\\u03C5\\u03C4\\u03AD\\u03C2 \\u03C4\\u03B9\\u03C2 \\u03B5\\u03BA\\u03C4\\u03B9\\u03BC\\u03AE\\u03C3\\u03B5\\u03B9\\u03C2\",created_message:\"\\u0395\\u03C0\\u03B1\\u03BD\\u03B1\\u03BB\\u03B1\\u03BC\\u03B2\\u03B1\\u03BD\\u03CC\\u03BC\\u03B5\\u03BD\\u03BF \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF \\u03BA\\u03BB\\u03C9\\u03BD\\u03BF\\u03C0\\u03BF\\u03B9\\u03AE\\u03B8\\u03B7\\u03BA\\u03B5 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03AE\\u03C2\",updated_message:\"\\u0395\\u03C0\\u03B1\\u03BD\\u03B1\\u03BB\\u03B1\\u03BC\\u03B2\\u03B1\\u03BD\\u03CC\\u03BC\\u03B5\\u03BD\\u03BF \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF \\u03BA\\u03BB\\u03C9\\u03BD\\u03BF\\u03C0\\u03BF\\u03B9\\u03AE\\u03B8\\u03B7\\u03BA\\u03B5 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03AE\\u03C2\",deleted_message:\"\\u0395\\u03C0\\u03B1\\u03BD\\u03B1\\u03BB\\u03B1\\u03BC\\u03B2\\u03B1\\u03BD\\u03CC\\u03BC\\u03B5\\u03BD\\u03BF \\u03A4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF \\u03B4\\u03B9\\u03B1\\u03B3\\u03C1\\u03AC\\u03C6\\u03B7\\u03BA\\u03B5 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03CE\\u03C2 \\u2018 \\u0395\\u03C0\\u03B1\\u03BD\\u03B1\\u03BB\\u03B1\\u03BC\\u03B2\\u03B1\\u03BD\\u03CC\\u03BC\\u03B5\\u03BD\\u03B1 \\u03A4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03B1 \\u03B4\\u03B9\\u03B1\\u03B3\\u03C1\\u03AC\\u03C6\\u03B7\\u03BA\\u03B1\\u03BD \\u03BC\\u03B5 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03AF\\u03B1\",marked_as_sent_message:\"\\u03A4\\u03BF \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF \\u03B5\\u03C0\\u03B9\\u03C3\\u03B7\\u03BC\\u03AC\\u03BD\\u03B8\\u03B7\\u03BA\\u03B5 \\u03C9\\u03C2 \\u03B1\\u03C0\\u03B5\\u03C3\\u03C4\\u03B1\\u03BB\\u03BC\\u03AD\\u03BD\\u03BF \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03CE\\u03C2\",user_email_does_not_exist:\"\\u0391\\u03C5\\u03C4\\u03CC \\u03C4\\u03BF e-mail \\u03B4\\u03B5\\u03BD \\u03C5\\u03C0\\u03AC\\u03C1\\u03C7\\u03B5\\u03B9\",something_went_wrong:\"\\u039A\\u03AC\\u03C4\\u03B9 \\u03C0\\u03AE\\u03B3\\u03B5 \\u03C3\\u03C4\\u03C1\\u03B1\\u03B2\\u03AC\",invalid_due_amount_message:\"\\u03A3\\u03C5\\u03BD\\u03BF\\u03BB\\u03B9\\u03BA\\u03CC \\u03B5\\u03C0\\u03B1\\u03BD\\u03B1\\u03BB\\u03B1\\u03BC\\u03B2\\u03B1\\u03BD\\u03CC\\u03BC\\u03B5\\u03BD\\u03BF \\u03C0\\u03BF\\u03C3\\u03CC \\u03A4\\u03B9\\u03BC\\u03BF\\u03BB\\u03BF\\u03B3\\u03AF\\u03BF\\u03C5 \\u03B4\\u03B5\\u03BD \\u03BC\\u03C0\\u03BF\\u03C1\\u03B5\\u03AF \\u03BD\\u03B1 \\u03B5\\u03AF\\u03BD\\u03B1\\u03B9 \\u03BC\\u03B9\\u03BA\\u03C1\\u03CC\\u03C4\\u03B5\\u03C1\\u03BF \\u03B1\\u03C0\\u03CC \\u03C4\\u03BF \\u03C3\\u03C5\\u03BD\\u03BF\\u03BB\\u03B9\\u03BA\\u03CC \\u03BA\\u03B1\\u03C4\\u03B1\\u03B2\\u03BB\\u03B7\\u03B8\\u03AD\\u03BD \\u03C0\\u03BF\\u03C3\\u03CC \\u03B3\\u03B9\\u03B1 \\u03B1\\u03C5\\u03C4\\u03CC \\u03C4\\u03BF \\u03B5\\u03C0\\u03B1\\u03BD\\u03B1\\u03BB\\u03B1\\u03BC\\u03B2\\u03B1\\u03BD\\u03CC\\u03BC\\u03B5\\u03BD\\u03BF \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF. \\u03A0\\u03B1\\u03C1\\u03B1\\u03BA\\u03B1\\u03BB\\u03BF\\u03CD\\u03BC\\u03B5 \\u03B5\\u03BD\\u03B7\\u03BC\\u03B5\\u03C1\\u03CE\\u03C3\\u03C4\\u03B5 \\u03C4\\u03BF \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF \\u03AE \\u03B4\\u03B9\\u03B1\\u03B3\\u03C1\\u03AC\\u03C8\\u03C4\\u03B5 \\u03C4\\u03B9\\u03C2 \\u03C3\\u03C7\\u03B5\\u03C4\\u03B9\\u03BA\\u03AD\\u03C2 \\u03C0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03AD\\u03C2 \\u03B3\\u03B9\\u03B1 \\u03BD\\u03B1 \\u03C3\\u03C5\\u03BD\\u03B5\\u03C7\\u03AF\\u03C3\\u03B5\\u03C4\\u03B5.\"},mz={title:\"\\u03A0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03AD\\u03C2\",payments_list:\"\\u039B\\u03AF\\u03C3\\u03C4\\u03B1 \\u03C0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03CE\\u03BD\",record_payment:\"\\u039A\\u03B1\\u03C4\\u03B1\\u03B3\\u03C1\\u03B1\\u03C6\\u03AE \\u03A0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03AE\\u03C2\",customer:\"\\u03A0\\u03B5\\u03BB\\u03AC\\u03C4\\u03B7\\u03C2\",date:\"\\u0397\\u03BC\\u03B5\\u03C1\\u03BF\\u03BC\\u03B7\\u03BD\\u03AF\\u03B1\",amount:\"\\u03A0\\u03BF\\u03C3\\u03CC\",action:\"\\u0395\\u03BD\\u03AD\\u03C1\\u03B3\\u03B5\\u03B9\\u03B1\",payment_number:\"\\u0391\\u03C1\\u03B9\\u03B8\\u03BC\\u03CC\\u03C2 \\u03A0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03AE\\u03C2\",payment_mode:\"\\u03A4\\u03C1\\u03CC\\u03C0\\u03BF\\u03C2 \\u03C0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03AE\\u03C2\",invoice:\"\\u03A4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF\",note:\"\\u03A3\\u03B7\\u03BC\\u03B5\\u03AF\\u03C9\\u03C3\\u03B7\",add_payment:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03B8\\u03AE\\u03BA\\u03B7 \\u03A0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03AE\\u03C2\",new_payment:\"\\u039D\\u03AD\\u03B1 \\u03A0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03AE\",edit_payment:\"\\u0395\\u03C0\\u03B5\\u03BE\\u03B5\\u03C1\\u03B3\\u03B1\\u03C3\\u03AF\\u03B1 \\u03A0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03AE\\u03C2\",view_payment:\"\\u03A0\\u03C1\\u03BF\\u03B2\\u03BF\\u03BB\\u03AE \\u03A0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03AE\\u03C2\",add_new_payment:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03B8\\u03AE\\u03BA\\u03B7 \\u039D\\u03AD\\u03B1\\u03C2 \\u03A0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03AE\\u03C2\",send_payment_receipt:\"\\u0391\\u03C0\\u03BF\\u03C3\\u03C4\\u03BF\\u03BB\\u03AE \\u0391\\u03C0\\u03CC\\u03B4\\u03B5\\u03B9\\u03BE\\u03B7\\u03C2 \\u03A0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03AE\\u03C2\",send_payment:\"\\u0391\\u03C0\\u03BF\\u03C3\\u03C4\\u03BF\\u03BB\\u03AE \\u03A0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03AE\\u03C2\",save_payment:\"\\u0391\\u03C0\\u03BF\\u03B8\\u03AE\\u03BA\\u03B5\\u03C5\\u03C3\\u03B7 \\u03A0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03AE\\u03C2\",update_payment:\"\\u0395\\u03BD\\u03B7\\u03BC\\u03AD\\u03C1\\u03C9\\u03C3\\u03B7 \\u03A0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03AE\\u03C2\",payment:\"\\u03A0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03AD\\u03C2 \\u03A0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03CE\\u03BD\",no_payments:\"\\u039A\\u03B1\\u03BC\\u03AF\\u03B1 \\u03C0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03AE \\u03B1\\u03BA\\u03CC\\u03BC\\u03B1!\",not_selected:\"\\u0394\\u03B5\\u03BD \\u03AD\\u03C7\\u03B5\\u03B9 \\u03B5\\u03C0\\u03B9\\u03BB\\u03B5\\u03B3\\u03B5\\u03AF\",no_invoice:\"\\u03A7\\u03C9\\u03C1\\u03AF\\u03C2 \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF\",no_matching_payments:\"\\u0394\\u03B5\\u03BD \\u03C5\\u03C0\\u03AC\\u03C1\\u03C7\\u03BF\\u03C5\\u03BD \\u03C0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03AD\\u03C2 \\u03C0\\u03BF\\u03C5 \\u03BD\\u03B1 \\u03C4\\u03B1\\u03B9\\u03C1\\u03B9\\u03AC\\u03B6\\u03BF\\u03C5\\u03BD!\",list_of_payments:\"\\u0391\\u03C5\\u03C4\\u03AE \\u03B7 \\u03B5\\u03BD\\u03CC\\u03C4\\u03B7\\u03C4\\u03B1 \\u03B8\\u03B1 \\u03C0\\u03B5\\u03C1\\u03B9\\u03AD\\u03C7\\u03B5\\u03B9 \\u03C4\\u03BF\\u03BD \\u03BA\\u03B1\\u03C4\\u03AC\\u03BB\\u03BF\\u03B3\\u03BF \\u03C0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03CE\\u03BD.\",select_payment_mode:\"\\u0395\\u03C0\\u03B9\\u03BB\\u03AD\\u03BE\\u03C4\\u03B5 \\u03C4\\u03C1\\u03CC\\u03C0\\u03BF \\u03C0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03AE\\u03C2\",confirm_mark_as_sent:\"\\u0397 \\u03B5\\u03BA\\u03C4\\u03AF\\u03BC\\u03B7\\u03C3\\u03B7 \\u03B1\\u03C5\\u03C4\\u03AE \\u03B8\\u03B1 \\u03B5\\u03C0\\u03B9\\u03C3\\u03B7\\u03BC\\u03B1\\u03BD\\u03B8\\u03B5\\u03AF \\u03C9\\u03C2 \\u03B5\\u03C3\\u03C4\\u03AC\\u03BB\\u03B7\",confirm_send_payment:\"\\u0391\\u03C5\\u03C4\\u03AE \\u03B7 \\u03C0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03AE \\u03B8\\u03B1 \\u03C3\\u03C4\\u03B1\\u03BB\\u03B5\\u03AF \\u03BC\\u03AD\\u03C3\\u03C9 email \\u03C3\\u03C4\\u03BF\\u03BD \\u03C0\\u03B5\\u03BB\\u03AC\\u03C4\\u03B7\",send_payment_successfully:\"\\u0397 \\u03C0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03AE \\u03B5\\u03C3\\u03C4\\u03AC\\u03BB\\u03B7 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03CE\\u03C2\",something_went_wrong:\"\\u039A\\u03AC\\u03C4\\u03B9 \\u03C0\\u03AE\\u03B3\\u03B5 \\u03C3\\u03C4\\u03C1\\u03B1\\u03B2\\u03AC\",confirm_delete:\"\\u0394\\u03B5\\u03BD \\u03B8\\u03B1 \\u03B5\\u03AF\\u03C3\\u03C4\\u03B5 \\u03C3\\u03B5 \\u03B8\\u03AD\\u03C3\\u03B7 \\u03BD\\u03B1 \\u03B1\\u03BD\\u03B1\\u03BA\\u03C4\\u03AE\\u03C3\\u03B5\\u03B9 \\u03B1\\u03C5\\u03C4\\u03AE \\u03C4\\u03B7\\u03BD \\u03B5\\u03BA\\u03C4\\u03AF\\u03BC\\u03B7\\u03C3\\u03B7 \\u2019, \\u03B4\\u03B5\\u03BD \\u03B8\\u03B1 \\u03B5\\u03AF\\u03C3\\u03C4\\u03B5 \\u03C3\\u03B5 \\u03B8\\u03AD\\u03C3\\u03B7 \\u03BD\\u03B1 \\u03B1\\u03BD\\u03B1\\u03BA\\u03C4\\u03AE\\u03C3\\u03B5\\u03B9 \\u03B1\\u03C5\\u03C4\\u03AD\\u03C2 \\u03C4\\u03B9\\u03C2 \\u03B5\\u03BA\\u03C4\\u03B9\\u03BC\\u03AE\\u03C3\\u03B5\\u03B9\\u03C2\",created_message:\"\\u0397 \\u03C0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03AE \\u03B5\\u03C3\\u03C4\\u03AC\\u03BB\\u03B7 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03CE\\u03C2\",updated_message:\"\\u0397 \\u03C0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03AE \\u03B5\\u03C3\\u03C4\\u03AC\\u03BB\\u03B7 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03CE\\u03C2\",deleted_message:\"\\u039F \\u03C5\\u03C0\\u03BF\\u03BB\\u03BF\\u03B3\\u03B9\\u03C3\\u03BC\\u03CC\\u03C2 \\u03B4\\u03B9\\u03B1\\u03B3\\u03C1\\u03AC\\u03C6\\u03B7\\u03BA\\u03B5 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03CE\\u03C2\",invalid_amount_message:\"\\u03A4\\u03BF \\u03C0\\u03BF\\u03C3\\u03CC \\u03B4\\u03B5\\u03BD \\u03B5\\u03AF\\u03BD\\u03B1\\u03B9 \\u03AD\\u03B3\\u03BA\\u03C5\\u03C1\\u03BF\"},pz={title:\"\\u0388\\u03BE\\u03BF\\u03B4\\u03B1\",expenses_list:\"\\u039B\\u03AF\\u03C3\\u03C4\\u03B1 \\u0395\\u03BE\\u03CC\\u03B4\\u03C9\\u03BD\",select_a_customer:\"\\u0395\\u03C0\\u03B9\\u03BB\\u03AD\\u03BE\\u03C4\\u03B5 \\u03AD\\u03BD\\u03B1\\u03BD \\u03C0\\u03B5\\u03BB\\u03AC\\u03C4\\u03B7\",expense_title:\"\\u03A4\\u03AF\\u03C4\\u03BB\\u03BF\\u03C2\",customer:\"\\u03A0\\u03B5\\u03BB\\u03AC\\u03C4\\u03B7\\u03C2\",currency:\"\\u039D\\u03CC\\u03BC\\u03B9\\u03C3\\u03BC\\u03B1\",contact:\"\\u0395\\u03C0\\u03B9\\u03BA\\u03BF\\u03B9\\u03BD\\u03C9\\u03BD\\u03AF\\u03B1\",category:\"\\u039A\\u03B1\\u03C4\\u03B7\\u03B3\\u03BF\\u03C1\\u03AF\\u03B1\",from_date:\"\\u0391\\u03C0\\u03CC \\u0397\\u03BC\\u03B5\\u03C1\\u03BF\\u03BC\\u03B7\\u03BD\\u03AF\\u03B1\",to_date:\"\\u0388\\u03C9\\u03C2 \\u03B7\\u03BC\\u03B5\\u03C1\\u03BF\\u03BC\\u03B7\\u03BD\\u03AF\\u03B1\",expense_date:\"\\u0397\\u03BC\\u03B5\\u03C1\\u03BF\\u03BC\\u03B7\\u03BD\\u03AF\\u03B1\",description:\"\\u03A0\\u03B5\\u03C1\\u03B9\\u03B3\\u03C1\\u03B1\\u03C6\\u03AE\",receipt:\"\\u0391\\u03C0\\u03CC\\u03B4\\u03B5\\u03B9\\u03BE\\u03B7\",amount:\"\\u03A0\\u03BF\\u03C3\\u03CC\",action:\"\\u0395\\u03BD\\u03AD\\u03C1\\u03B3\\u03B5\\u03B9\\u03B1\",not_selected:\"\\u0394\\u03B5\\u03BD \\u03AD\\u03C7\\u03B5\\u03B9 \\u03B5\\u03C0\\u03B9\\u03BB\\u03B5\\u03B3\\u03B5\\u03AF\",note:\"\\u03A3\\u03B7\\u03BC\\u03B5\\u03AF\\u03C9\\u03C3\\u03B7\",category_id:\"ID \\u039A\\u03B1\\u03C4\\u03B7\\u03B3\\u03BF\\u03C1\\u03AF\\u03B1\\u03C2\",date:\"\\u0397\\u03BC\\u03B5\\u03C1\\u03BF\\u03BC\\u03B7\\u03BD\\u03AF\\u03B1\",add_expense:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03B8\\u03AE\\u03BA\\u03B7 \\u03B4\\u03B1\\u03C0\\u03AC\\u03BD\\u03B7\\u03C2\",add_new_expense:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03B8\\u03AE\\u03BA\\u03B7 \\u03B4\\u03B1\\u03C0\\u03AC\\u03BD\\u03B7\\u03C2\",save_expense:\"\\u0395\\u03BD\\u03B7\\u03BC\\u03AD\\u03C1\\u03C9\\u03C3\\u03B7 \\u0394\\u03B1\\u03C0\\u03AC\\u03BD\\u03B7\\u03C2\",update_expense:\"\\u0395\\u03BD\\u03B7\\u03BC\\u03AD\\u03C1\\u03C9\\u03C3\\u03B7 \\u0394\\u03B1\\u03C0\\u03AC\\u03BD\\u03B7\\u03C2\",download_receipt:\"\\u039B\\u03AE\\u03C8\\u03B7 \\u0391\\u03C0\\u03CC\\u03B4\\u03B5\\u03B9\\u03BE\\u03B7\\u03C2\",edit_expense:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03B8\\u03AE\\u03BA\\u03B7 \\u03B4\\u03B1\\u03C0\\u03AC\\u03BD\\u03B7\\u03C2\",new_expense:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03B8\\u03AE\\u03BA\\u03B7 \\u03B4\\u03B1\\u03C0\\u03AC\\u03BD\\u03B7\\u03C2\",expense:\"\\u0388\\u03BE\\u03BF\\u03B4\\u03B1 - \\u0388\\u03BE\\u03BF\\u03B4\\u03B1\",no_expenses:\"\\u0394\\u03B5\\u03BD \\u03C5\\u03C0\\u03AC\\u03C1\\u03C7\\u03BF\\u03C5\\u03BD \\u03AD\\u03BE\\u03BF\\u03B4\\u03B1 \\u03B1\\u03BA\\u03CC\\u03BC\\u03B1!\",list_of_expenses:\"\\u0391\\u03C5\\u03C4\\u03AE \\u03B7 \\u03B5\\u03BD\\u03CC\\u03C4\\u03B7\\u03C4\\u03B1 \\u03B8\\u03B1 \\u03C0\\u03B5\\u03C1\\u03B9\\u03AD\\u03C7\\u03B5\\u03B9 \\u03C4\\u03B7 \\u03BB\\u03AF\\u03C3\\u03C4\\u03B1 \\u03C4\\u03C9\\u03BD \\u03C3\\u03C4\\u03BF\\u03B9\\u03C7\\u03B5\\u03AF\\u03C9\\u03BD.\",confirm_delete:\"\\u0394\\u03B5\\u03BD \\u03B8\\u03B1 \\u03B5\\u03AF\\u03C3\\u03C4\\u03B5 \\u03C3\\u03B5 \\u03B8\\u03AD\\u03C3\\u03B7 \\u03BD\\u03B1 \\u03B1\\u03BD\\u03B1\\u03BA\\u03C4\\u03AE\\u03C3\\u03B5\\u03B9 \\u03B1\\u03C5\\u03C4\\u03AE \\u03C4\\u03B7\\u03BD \\u03B5\\u03BA\\u03C4\\u03AF\\u03BC\\u03B7\\u03C3\\u03B7 \\u2019, \\u03B4\\u03B5\\u03BD \\u03B8\\u03B1 \\u03B5\\u03AF\\u03C3\\u03C4\\u03B5 \\u03C3\\u03B5 \\u03B8\\u03AD\\u03C3\\u03B7 \\u03BD\\u03B1 \\u03B1\\u03BD\\u03B1\\u03BA\\u03C4\\u03AE\\u03C3\\u03B5\\u03B9 \\u03B1\\u03C5\\u03C4\\u03AD\\u03C2 \\u03C4\\u03B9\\u03C2 \\u03B5\\u03BA\\u03C4\\u03B9\\u03BC\\u03AE\\u03C3\\u03B5\\u03B9\\u03C2\",created_message:\"\\u03A4\\u03BF \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF \\u03B5\\u03C3\\u03C4\\u03AC\\u03BB\\u03B7 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03CE\\u03C2\",updated_message:\"\\u03A4\\u03BF \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF \\u03B5\\u03C3\\u03C4\\u03AC\\u03BB\\u03B7 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03CE\\u03C2\",deleted_message:\"\\u039F \\u03C5\\u03C0\\u03BF\\u03BB\\u03BF\\u03B3\\u03B9\\u03C3\\u03BC\\u03CC\\u03C2 \\u03B4\\u03B9\\u03B1\\u03B3\\u03C1\\u03AC\\u03C6\\u03B7\\u03BA\\u03B5 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03CE\\u03C2\",categories:{categories_list:\"\\u039B\\u03AF\\u03C3\\u03C4\\u03B1 \\u039A\\u03B1\\u03C4\\u03B7\\u03B3\\u03BF\\u03C1\\u03AF\\u03C9\\u03BD\",title:\"\\u03A4\\u03AF\\u03C4\\u03BB\\u03BF\\u03C2\",name:\"\\u038C\\u03BD\\u03BF\\u03BC\\u03B1\",description:\"\\u03A0\\u03B5\\u03C1\\u03B9\\u03B3\\u03C1\\u03B1\\u03C6\\u03AE\",amount:\"\\u03A0\\u03BF\\u03C3\\u03CC\",actions:\"\\u0395\\u03BD\\u03AD\\u03C1\\u03B3\\u03B5\\u03B9\\u03B5\\u03C2\",add_category:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03B8\\u03AE\\u03BA\\u03B7 \\u039A\\u03B1\\u03C4\\u03B7\\u03B3\\u03BF\\u03C1\\u03AF\\u03B1\\u03C2\",new_category:\"\\u039D\\u03AD\\u03B1 \\u03BA\\u03B1\\u03C4\\u03B7\\u03B3\\u03BF\\u03C1\\u03AF\\u03B1\",category:'\\u039A\\u03B1\\u03C4\\u03B7\\u03B3\\u03BF\\u03C1\\u03AF\\u03B1 \"\\u039A\\u03B1\\u03C4\\u03B7\\u03B3\\u03BF\\u03C1\\u03AF\\u03B5\\u03C2',select_a_category:\"\\u0395\\u03C0\\u03B9\\u03BB\\u03AD\\u03BE\\u03C4\\u03B5 \\u03BC\\u03B9\\u03B1 \\u03BA\\u03B1\\u03C4\\u03B7\\u03B3\\u03BF\\u03C1\\u03AF\\u03B1\"}},fz={email:\"\\u0397\\u03BB\\u03B5\\u03BA\\u03C4\\u03C1\\u03BF\\u03BD\\u03B9\\u03BA\\u03AE \\u03B4\\u03B9\\u03B5\\u03CD\\u03B8\\u03C5\\u03BD\\u03C3\\u03B7\",password:\"\\u039A\\u03C9\\u03B4\\u03B9\\u03BA\\u03CC\\u03C2\",forgot_password:\"\\u039E\\u03B5\\u03C7\\u03AC\\u03C3\\u03B1\\u03C4\\u03B5 \\u03C4\\u03BF\\u03BD \\u03BA\\u03C9\\u03B4\\u03B9\\u03BA\\u03CC;\",or_signIn_with:\"or sign in with\",login:\"\\u03A3\\u03CD\\u03BD\\u03B4\\u03B5\\u03C3\\u03B7\",register:\"\\u0395\\u03B3\\u03B3\\u03C1\\u03B1\\u03C6\\u03B5\\u03AF\\u03C4\\u03B5\",reset_password:\"\\u0395\\u03C0\\u03B1\\u03BD\\u03B1\\u03C6\\u03BF\\u03C1\\u03AC \\u03BA\\u03C9\\u03B4\\u03B9\\u03BA\\u03BF\\u03CD \\u03C0\\u03C1\\u03CC\\u03C3\\u03B2\\u03B1\\u03C3\\u03B7\\u03C2\",password_reset_successfully:\"\\u0395\\u03C0\\u03B1\\u03BD\\u03B1\\u03C6\\u03BF\\u03C1\\u03AC \\u03C4\\u03BF\\u03C5 \\u03BA\\u03C9\\u03B4\\u03B9\\u03BA\\u03BF\\u03CD \\u03C0\\u03C1\\u03CC\\u03C3\\u03B2\\u03B1\\u03C3\\u03B7\\u03C2 \\u03BC\\u03B5 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03AF\\u03B1\",enter_email:\"\\u0395\\u03B9\\u03C3\\u03AC\\u03B3\\u03B5\\u03C4\\u03B5 email\",enter_password:\"\\u0395\\u03B9\\u03C3\\u03B1\\u03B3\\u03C9\\u03B3\\u03AE \\u03BA\\u03C9\\u03B4\\u03B9\\u03BA\\u03BF\\u03CD \\u03C0\\u03C1\\u03CC\\u03C3\\u03B2\\u03B1\\u03C3\\u03B7\\u03C2\",retype_password:\"\\u03A0\\u03BB\\u03B7\\u03BA\\u03C4\\u03C1\\u03BF\\u03BB\\u03CC\\u03B3\\u03B7\\u03C3\\u03B5 \\u03BA\\u03B1\\u03B9 \\u03C0\\u03AC\\u03BB\\u03B9 \\u03C4\\u03BF\\u03BD \\u03BA\\u03C9\\u03B4\\u03B9\\u03BA\\u03CC\"},gz={buy_now:\"Buy Now\",install:\"Install\",price:\"Price\",download_zip_file:\"Download ZIP file\",unzipping_package:\"Unzipping Package\",copying_files:\"Copying Files\",deleting_files:\"Deleting Unused files\",completing_installation:\"Completing Installation\",update_failed:\"Update Failed\",install_success:\"Module has been installed successfully!\",customer_reviews:\"Reviews\",license:\"License\",faq:\"FAQ\",monthly:\"Monthly\",yearly:\"Yearly\",updated:\"Updated\",version:\"Version\",disable:\"Disable\",module_disabled:\"Module Disabled\",enable:\"Enable\",module_enabled:\"Module Enabled\",update_to:\"Update To\",module_updated:\"Module Updated Successfully!\",title:\"Modules\",module:\"Module | Modules\",api_token:\"API token\",invalid_api_token:\"Invalid API Token.\",other_modules:\"Other Modules\",view_all:\"View All\",no_reviews_found:\"There are no reviews for this module yet!\",module_not_purchased:\"Module Not Purchased\",module_not_found:\"Module Not Found\",version_not_supported:\"This module version doesn't support the current version of Crater\",last_updated:\"Last Updated On\",connect_installation:\"Connect your installation\",api_token_description:\"Login to {url} and connect this installation by entering the API Token. Your purchased modules will show up here after the connection is established.\",view_module:\"View Module\",update_available:\"Update Available\",purchased:\"Purchased\",installed:\"Installed\",no_modules_installed:\"No Modules Installed Yet!\",disable_warning:\"All the settings for this particular will be reverted.\",what_you_get:\"What you get\"},vz={title:\"\\u03A7\\u03C1\\u03AE\\u03C3\\u03C4\\u03B5\\u03C2\",users_list:\"\\u039B\\u03AF\\u03C3\\u03C4\\u03B1 \\u03A7\\u03C1\\u03B7\\u03C3\\u03C4\\u03CE\\u03BD\",name:\"\\u038C\\u03BD\\u03BF\\u03BC\\u03B1\",description:\"\\u03A0\\u03B5\\u03C1\\u03B9\\u03B3\\u03C1\\u03B1\\u03C6\\u03AE\",added_on:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03C4\\u03AD\\u03B8\\u03B7\\u03BA\\u03B5 \\u03A3\\u03C4\\u03B9\\u03C2\",date_of_creation:\"\\u0397\\u03BC\\u03B5\\u03C1\\u03BF\\u03BC\\u03B7\\u03BD\\u03AF\\u03B1 \\u0394\\u03B7\\u03BC\\u03B9\\u03BF\\u03C5\\u03C1\\u03B3\\u03AF\\u03B1\\u03C2\",action:\"\\u0395\\u03BD\\u03AD\\u03C1\\u03B3\\u03B5\\u03B9\\u03B1\",add_user:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03B8\\u03AE\\u03BA\\u03B7 \\u03A7\\u03C1\\u03AE\\u03C3\\u03C4\\u03B7\",save_user:\"\\u0391\\u03C0\\u03BF\\u03B8\\u03AE\\u03BA\\u03B5\\u03C5\\u03C3\\u03B7 \\u03A7\\u03C1\\u03AE\\u03C3\\u03C4\\u03B7\",update_user:\"\\u0395\\u03BD\\u03B7\\u03BC\\u03AD\\u03C1\\u03C9\\u03C3\\u03B7 \\u03C7\\u03C1\\u03AE\\u03C3\\u03C4\\u03B7\",user:\"\\u03A7\\u03C1\\u03AE\\u03C3\\u03C4\\u03B7\\u03C2 | \\u03A7\\u03C1\\u03AE\\u03C3\\u03C4\\u03B5\\u03C2\",add_new_user:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03B8\\u03AE\\u03BA\\u03B7 \\u03BD\\u03AD\\u03BF\\u03C5 \\u03A7\\u03C1\\u03AE\\u03C3\\u03C4\\u03B7\",new_user:\"\\u039D\\u03AD\\u03BF\\u03C2 \\u03C7\\u03C1\\u03AE\\u03C3\\u03C4\\u03B7\\u03C2\",edit_user:\"\\u0395\\u03C0\\u03B5\\u03BE\\u03B5\\u03C1\\u03B3\\u03B1\\u03C3\\u03AF\\u03B1 \\u03A7\\u03C1\\u03AE\\u03C3\\u03C4\\u03B7\",no_users:\"\\u0394\\u03B5\\u03BD \\u03C5\\u03C0\\u03AC\\u03C1\\u03C7\\u03BF\\u03C5\\u03BD \\u03A3\\u03C4\\u03BF\\u03B9\\u03C7\\u03B5\\u03AF\\u03B1 \\u03B1\\u03BA\\u03CC\\u03BC\\u03B1!\",list_of_users:\"\\u0391\\u03C5\\u03C4\\u03AE \\u03B7 \\u03B5\\u03BD\\u03CC\\u03C4\\u03B7\\u03C4\\u03B1 \\u03B8\\u03B1 \\u03C0\\u03B5\\u03C1\\u03B9\\u03AD\\u03C7\\u03B5\\u03B9 \\u03C4\\u03B7 \\u03BB\\u03AF\\u03C3\\u03C4\\u03B1 \\u03C4\\u03C9\\u03BD \\u03C3\\u03C4\\u03BF\\u03B9\\u03C7\\u03B5\\u03AF\\u03C9\\u03BD.\",email:\"\\u0397\\u03BB\\u03B5\\u03BA\\u03C4\\u03C1\\u03BF\\u03BD\\u03B9\\u03BA\\u03AE \\u03B4\\u03B9\\u03B5\\u03CD\\u03B8\\u03C5\\u03BD\\u03C3\\u03B7\",phone:\"\\u03A4\\u03B7\\u03BB\\u03AD\\u03C6\\u03C9\\u03BD\\u03BF\",password:\"\\u039A\\u03C9\\u03B4\\u03B9\\u03BA\\u03CC\\u03C2\",user_attached_message:\"\\u0394\\u03B5\\u03BD \\u03B5\\u03AF\\u03BD\\u03B1\\u03B9 \\u03B4\\u03C5\\u03BD\\u03B1\\u03C4\\u03AE \\u03B7 \\u03B4\\u03B9\\u03B1\\u03B3\\u03C1\\u03B1\\u03C6\\u03AE \\u03B5\\u03BD\\u03CC\\u03C2 \\u03C3\\u03C4\\u03BF\\u03B9\\u03C7\\u03B5\\u03AF\\u03BF\\u03C5 \\u03C0\\u03BF\\u03C5 \\u03C7\\u03C1\\u03B7\\u03C3\\u03B9\\u03BC\\u03BF\\u03C0\\u03BF\\u03B9\\u03B5\\u03AF\\u03C4\\u03B1\\u03B9 \\u03AE\\u03B4\\u03B7\",confirm_delete:\"\\u0394\\u03B5\\u03BD \\u03B8\\u03B1 \\u03B5\\u03AF\\u03C3\\u03C4\\u03B5 \\u03C3\\u03B5 \\u03B8\\u03AD\\u03C3\\u03B7 \\u03BD\\u03B1 \\u03B1\\u03BD\\u03B1\\u03BA\\u03C4\\u03AE\\u03C3\\u03B5\\u03B9 \\u03B1\\u03C5\\u03C4\\u03AE \\u03C4\\u03B7\\u03BD \\u03B5\\u03BA\\u03C4\\u03AF\\u03BC\\u03B7\\u03C3\\u03B7 \\u2019, \\u03B4\\u03B5\\u03BD \\u03B8\\u03B1 \\u03B5\\u03AF\\u03C3\\u03C4\\u03B5 \\u03C3\\u03B5 \\u03B8\\u03AD\\u03C3\\u03B7 \\u03BD\\u03B1 \\u03B1\\u03BD\\u03B1\\u03BA\\u03C4\\u03AE\\u03C3\\u03B5\\u03B9 \\u03B1\\u03C5\\u03C4\\u03AD\\u03C2 \\u03C4\\u03B9\\u03C2 \\u03B5\\u03BA\\u03C4\\u03B9\\u03BC\\u03AE\\u03C3\\u03B5\\u03B9\\u03C2\",created_message:\"\\u039F \\u03C7\\u03C1\\u03AE\\u03C3\\u03C4\\u03B7\\u03C2 \\u03B4\\u03B7\\u03BC\\u03B9\\u03BF\\u03C5\\u03C1\\u03B3\\u03AE\\u03B8\\u03B7\\u03BA\\u03B5 \\u03BC\\u03B5 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03AF\\u03B1\",updated_message:\"\\u039F \\u03C7\\u03C1\\u03AE\\u03C3\\u03C4\\u03B7\\u03C2 \\u03B5\\u03BD\\u03B7\\u03BC\\u03B5\\u03C1\\u03CE\\u03B8\\u03B7\\u03BA\\u03B5 \\u03BC\\u03B5 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03AF\\u03B1\",deleted_message:\"\\u039F \\u03C5\\u03C0\\u03BF\\u03BB\\u03BF\\u03B3\\u03B9\\u03C3\\u03BC\\u03CC\\u03C2 \\u03B4\\u03B9\\u03B1\\u03B3\\u03C1\\u03AC\\u03C6\\u03B7\\u03BA\\u03B5 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03CE\\u03C2\",select_company_role:\"\\u0395\\u03C0\\u03B9\\u03BB\\u03AD\\u03BE\\u03C4\\u03B5 \\u03C1\\u03CC\\u03BB\\u03BF \\u03B3\\u03B9\\u03B1 {company}\",companies:\"\\u0395\\u03C4\\u03B1\\u03B9\\u03C1\\u03B5\\u03AF\\u03B5\\u03C2\"},yz={title:\"\\u0391\\u03BD\\u03B1\\u03C6\\u03BF\\u03C1\\u03AC\",from_date:\"\\u0391\\u03C0\\u03CC \\u0397\\u03BC\\u03B5\\u03C1\\u03BF\\u03BC\\u03B7\\u03BD\\u03AF\\u03B1\",to_date:\"\\u0388\\u03C9\\u03C2 \\u03B7\\u03BC\\u03B5\\u03C1\\u03BF\\u03BC\\u03B7\\u03BD\\u03AF\\u03B1\",status:\"\\u039A\\u03B1\\u03C4\\u03AC\\u03C3\\u03C4\\u03B1\\u03C3\\u03B7\",paid:\"\\u0395\\u03BE\\u03BF\\u03C6\\u03BB\\u03B7\\u03BC\\u03AD\\u03BD\\u03BF\",unpaid:\"\\u0391\\u03BD\\u03B5\\u03BE\\u03CC\\u03C6\\u03BB\\u03B7\\u03C4\\u03BF\",download_pdf:\"\\u039B\\u03AE\\u03C8\\u03B7 PDF\",view_pdf:\"\\u03A0\\u03C1\\u03BF\\u03B2\\u03BF\\u03BB\\u03AE PDF\",update_report:\"\\u0395\\u03BD\\u03B7\\u03BC\\u03AD\\u03C1\\u03C9\\u03C3\\u03B7 \\u0391\\u03BD\\u03B1\\u03C6\\u03BF\\u03C1\\u03AC\\u03C2\",report:\"\\u0391\\u03BD\\u03B1\\u03C6\\u03BF\\u03C1\\u03AC | \\u0391\\u03BD\\u03B1\\u03C6\\u03BF\\u03C1\\u03AD\\u03C2\",profit_loss:{profit_loss:\"\\u039A\\u03AD\\u03C1\\u03B4\\u03B7 & \\u0391\\u03C0\\u03CE\\u03BB\\u03B5\\u03B9\\u03B1\",to_date:\"\\u0388\\u03C9\\u03C2 \\u03B7\\u03BC\\u03B5\\u03C1\\u03BF\\u03BC\\u03B7\\u03BD\\u03AF\\u03B1\",from_date:\"\\u0391\\u03C0\\u03CC \\u0397\\u03BC\\u03B5\\u03C1\\u03BF\\u03BC\\u03B7\\u03BD\\u03AF\\u03B1\",date_range:\"\\u0395\\u03C0\\u03B9\\u03BB\\u03AD\\u03BE\\u03C4\\u03B5 \\u03B5\\u03CD\\u03C1\\u03BF\\u03C2 \\u03B7\\u03BC\\u03B5\\u03C1\\u03BF\\u03BC\\u03B7\\u03BD\\u03AF\\u03B1\\u03C2\"},sales:{sales:\"\\u03A0\\u03C9\\u03BB\\u03AE\\u03C3\\u03B5\\u03B9\\u03C2\",date_range:\"\\u0395\\u03C0\\u03B9\\u03BB\\u03AD\\u03BE\\u03C4\\u03B5 \\u03B5\\u03CD\\u03C1\\u03BF\\u03C2 \\u03B7\\u03BC\\u03B5\\u03C1\\u03BF\\u03BC\\u03B7\\u03BD\\u03AF\\u03B1\\u03C2\",to_date:\"\\u0388\\u03C9\\u03C2 \\u03B7\\u03BC\\u03B5\\u03C1\\u03BF\\u03BC\\u03B7\\u03BD\\u03AF\\u03B1\",from_date:\"\\u0391\\u03C0\\u03CC \\u0397\\u03BC\\u03B5\\u03C1\\u03BF\\u03BC\\u03B7\\u03BD\\u03AF\\u03B1\",report_type:\"\\u03A4\\u03CD\\u03C0\\u03BF\\u03C2 \\u0391\\u03BD\\u03B1\\u03C6\\u03BF\\u03C1\\u03AC\\u03C2\"},taxes:{taxes:\"\\u03A6\\u03CC\\u03C1\\u03BF\\u03B9\",to_date:\"\\u0388\\u03C9\\u03C2 \\u03B7\\u03BC\\u03B5\\u03C1\\u03BF\\u03BC\\u03B7\\u03BD\\u03AF\\u03B1\",from_date:\"\\u0391\\u03C0\\u03CC \\u0397\\u03BC\\u03B5\\u03C1\\u03BF\\u03BC\\u03B7\\u03BD\\u03AF\\u03B1\",date_range:\"\\u0395\\u03C0\\u03B9\\u03BB\\u03AD\\u03BE\\u03C4\\u03B5 \\u03B5\\u03CD\\u03C1\\u03BF\\u03C2 \\u03B7\\u03BC\\u03B5\\u03C1\\u03BF\\u03BC\\u03B7\\u03BD\\u03AF\\u03B1\\u03C2\"},errors:{required:\"\\u03A4\\u03BF \\u03C0\\u03B5\\u03B4\\u03AF\\u03BF \\u03B5\\u03AF\\u03BD\\u03B1\\u03B9 \\u03C5\\u03C0\\u03BF\\u03C7\\u03C1\\u03B5\\u03C9\\u03C4\\u03B9\\u03BA\\u03CC\"},invoices:{invoice:\"\\u03A4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF\",invoice_date:\"\\u0397\\u03BC\\u03B5\\u03C1\\u03BF\\u03BC\\u03B7\\u03BD\\u03AF\\u03B1 \\u03A4\\u03B9\\u03BC\\u03BF\\u03BB\\u03BF\\u03B3\\u03AF\\u03BF\\u03C5\",due_date:\"\\u0397\\u03BC\\u03B5\\u03C1\\u03BF\\u03BC\\u03B7\\u03BD\\u03AF\\u03B1 \\u03BB\\u03AE\\u03BE\\u03B7\\u03C2\",amount:\"\\u03A0\\u03BF\\u03C3\\u03CC\",contact_name:\"\\u038C\\u03BD\\u03BF\\u03BC\\u03B1 \\u0395\\u03C0\\u03B1\\u03C6\\u03AE\\u03C2\",status:\"\\u039A\\u03B1\\u03C4\\u03AC\\u03C3\\u03C4\\u03B1\\u03C3\\u03B7\"},estimates:{estimate:\"\\u0395\\u03BA\\u03C4\\u03B9\\u03BC\\u03CE\\u03BC\\u03B5\\u03BD\\u03BF\",estimate_date:\"\\u0395\\u03BA\\u03C4\\u03B9\\u03BC\\u03CE\\u03BC\\u03B5\\u03BD\\u03B7 \\u03B7\\u03BC. \\u03B5\\u03C0\\u03B9\\u03C3\\u03BA\\u03B5\\u03C5\\u03AE\\u03C2\",due_date:\"\\u0397\\u03BC\\u03B5\\u03C1\\u03BF\\u03BC\\u03B7\\u03BD\\u03AF\\u03B1 \\u03BB\\u03AE\\u03BE\\u03B7\\u03C2\",estimate_number:\"\\u0395\\u03BA\\u03C4\\u03AF\\u03BC\\u03B7\\u03C3\\u03B7 \\u0391\\u03C1\\u03B9\\u03B8\\u03BC\\u03BF\\u03CD\",ref_number:\"\\u0391\\u03C1\\u03B9\\u03B8\\u03BC\\u03CC\\u03C2 \\u0391\\u03BD\\u03B1\\u03C6\\u03BF\\u03C1\\u03AC\\u03C2\",amount:\"\\u03A0\\u03BF\\u03C3\\u03CC\",contact_name:\"\\u038C\\u03BD\\u03BF\\u03BC\\u03B1 \\u0395\\u03C0\\u03B1\\u03C6\\u03AE\\u03C2\",status:\"\\u039A\\u03B1\\u03C4\\u03AC\\u03C3\\u03C4\\u03B1\\u03C3\\u03B7\"},expenses:{expenses:\"\\u0388\\u03BE\\u03BF\\u03B4\\u03B1\",category:\"\\u039A\\u03B1\\u03C4\\u03B7\\u03B3\\u03BF\\u03C1\\u03AF\\u03B1\",date:\"\\u0397\\u03BC\\u03B5\\u03C1\\u03BF\\u03BC\\u03B7\\u03BD\\u03AF\\u03B1\",amount:\"\\u03A0\\u03BF\\u03C3\\u03CC\",to_date:\"\\u0388\\u03C9\\u03C2 \\u03B7\\u03BC\\u03B5\\u03C1\\u03BF\\u03BC\\u03B7\\u03BD\\u03AF\\u03B1\",from_date:\"\\u0391\\u03C0\\u03CC \\u0397\\u03BC\\u03B5\\u03C1\\u03BF\\u03BC\\u03B7\\u03BD\\u03AF\\u03B1\",date_range:\"\\u0395\\u03C0\\u03B9\\u03BB\\u03AD\\u03BE\\u03C4\\u03B5 \\u03B5\\u03CD\\u03C1\\u03BF\\u03C2 \\u03B7\\u03BC\\u03B5\\u03C1\\u03BF\\u03BC\\u03B7\\u03BD\\u03AF\\u03B1\\u03C2\"}},hz={menu_title:{account_settings:\"\\u03A1\\u03C5\\u03B8\\u03BC\\u03AF\\u03C3\\u03B5\\u03B9\\u03C2 \\u039B\\u03BF\\u03B3\\u03B1\\u03C1\\u03B9\\u03B1\\u03C3\\u03BC\\u03BF\\u03CD\",company_information:\"\\u03A0\\u03BB\\u03B7\\u03C1\\u03BF\\u03C6\\u03BF\\u03C1\\u03AF\\u03B5\\u03C2 \\u0395\\u03C4\\u03B1\\u03B9\\u03C1\\u03AF\\u03B1\\u03C2\",customization:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03B1\\u03C1\\u03BC\\u03BF\\u03B3\\u03AE\",preferences:\"\\u03A1\\u03C5\\u03B8\\u03BC\\u03AF\\u03C3\\u03B5\\u03B9\\u03C2\",notifications:\"\\u0395\\u03B9\\u03B4\\u03BF\\u03C0\\u03BF\\u03B9\\u03AE\\u03C3\\u03B5\\u03B9\\u03C2\",tax_types:\"\\u03A6\\u03BF\\u03C1\\u03BF\\u03BB\\u03BF\\u03B3\\u03B9\\u03BA\\u03AE \\u03BA\\u03BB\\u03AC\\u03C3\\u03B7\",expense_category:\"\\u039A\\u03B1\\u03C4\\u03B7\\u03B3\\u03BF\\u03C1\\u03AF\\u03B5\\u03C2 \\u0395\\u03BE\\u03CC\\u03B4\\u03C9\\u03BD\",update_app:\"\\u0395\\u03BD\\u03B7\\u03BC\\u03AD\\u03C1\\u03C9\\u03C3\\u03B7 \\u03B5\\u03C6\\u03B1\\u03C1\\u03BC\\u03BF\\u03B3\\u03AE\\u03C2\",backup:\"\\u0391\\u03BD\\u03C4\\u03AF\\u03B3\\u03C1\\u03B1\\u03C6\\u03B1 \\u03B1\\u03C3\\u03C6\\u03B1\\u03BB\\u03B5\\u03AF\\u03B1\\u03C2\",file_disk:\"\\u0394\\u03AF\\u03C3\\u03BA\\u03BF\\u03C2 \\u0391\\u03C1\\u03C7\\u03B5\\u03AF\\u03BF\\u03C5\",custom_fields:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03B1\\u03C1\\u03BC\\u03BF\\u03C3\\u03BC\\u03AD\\u03BD\\u03B1 \\u03C0\\u03B5\\u03B4\\u03AF\\u03B1\",payment_modes:\"\\u03A4\\u03C1\\u03CC\\u03C0\\u03BF\\u03C2 \\u03C0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03AE\\u03C2\",notes:\"\\u03A3\\u03B7\\u03BC\\u03B5\\u03B9\\u03CE\\u03C3\\u03B5\\u03B9\\u03C2\",exchange_rate:\"\\u03A3\\u03C5\\u03BD\\u03B1\\u03BB\\u03BB\\u03B1\\u03B3\\u03BC\\u03B1\\u03C4\\u03B9\\u03BA\\u03AE \\u03B9\\u03C3\\u03BF\\u03C4\\u03B9\\u03BC\\u03AF\\u03B1\",address_information:\"Address Information\"},address_information:{section_description:\"  You can update Your Address information using form below.\"},title:\"\\u03A1\\u03C5\\u03B8\\u03BC\\u03AF\\u03C3\\u03B5\\u03B9\\u03C2\",setting:\"\\u03A1\\u03CD\\u03B8\\u03BC\\u03B9\\u03C3\\u03B7 \\u03A1\\u03C5\\u03B8\\u03BC\\u03AF\\u03C3\\u03B5\\u03C9\\u03BD\",general:\"General\",language:\"Language\",primary_currency:\"\\u039A\\u03CD\\u03C1\\u03B9\\u03BF \\u039D\\u03CC\\u03BC\\u03B9\\u03C3\\u03BC\\u03B1\",timezone:\"\\u0396\\u03CE\\u03BD\\u03B7 \\u038F\\u03C1\\u03B1\\u03C2\",date_format:\"\\u039C\\u03BF\\u03C1\\u03C6\\u03AE \\u0397\\u03BC\\u03B5\\u03C1\\u03BF\\u03BC\\u03B7\\u03BD\\u03AF\\u03B1\\u03C2\",currencies:{title:\"\\u03A3\\u03C5\\u03BD\\u03AC\\u03BB\\u03BB\\u03B1\\u03B3\\u03BC\\u03B1\",currency:\"\\u039D\\u03CC\\u03BC\\u03B9\\u03C3\\u03BC\\u03B1\",currencies_list:\"\\u039B\\u03AF\\u03C3\\u03C4\\u03B1 \\u03C3\\u03C5\\u03BD\\u03B1\\u03BB\\u03BB\\u03B1\\u03B3\\u03BC\\u03AC\\u03C4\\u03C9\\u03BD\",select_currency:\"\\u0395\\u03C0\\u03B9\\u03BB\\u03BF\\u03B3\\u03AE \\u03BD\\u03BF\\u03BC\\u03AF\\u03C3\\u03BC\\u03B1\\u03C4\\u03BF\\u03C2\",name:\"\\u038C\\u03BD\\u03BF\\u03BC\\u03B1\",code:\"\\u039A\\u03CE\\u03B4\\u03B9\\u03BA\\u03B1\\u03C2\",symbol:\"\\u03A3\\u03CD\\u03BC\\u03B2\\u03BF\\u03BB\\u03BF\",precision:\"\\u0391\\u03BA\\u03C1\\u03AF\\u03B2\\u03B5\\u03B9\\u03B1\",thousand_separator:\"\\u0394\\u03B9\\u03B1\\u03C7\\u03C9\\u03C1\\u03B9\\u03C3\\u03C4\\u03B9\\u03BA\\u03CC \\u03C7\\u03B9\\u03BB\\u03B9\\u03AC\\u03B4\\u03C9\\u03BD\",decimal_separator:\"\\u0394\\u03B9\\u03B1\\u03C7\\u03C9\\u03C1\\u03B9\\u03C3\\u03C4\\u03AE\\u03C2 \\u03B4\\u03B5\\u03BA\\u03B1\\u03B4\\u03B9\\u03BA\\u03CE\\u03BD\",position:\"\\u0398\\u03AD\\u03C3\\u03B7\",position_of_symbol:\"\\u0398\\u03AD\\u03C3\\u03B7 \\u03A3\\u03C5\\u03BC\\u03B2\\u03CC\\u03BB\\u03BF\\u03C5\",right:\"\\u0394\\u03B5\\u03BE\\u03B9\\u03AC\",left:\"\\u0391\\u03C1\\u03B9\\u03C3\\u03C4\\u03B5\\u03C1\\u03AC\",action:\"\\u0395\\u03BD\\u03AD\\u03C1\\u03B3\\u03B5\\u03B9\\u03B1\",add_currency:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03B8\\u03AD\\u03C3\\u03C4\\u03B5 \\u03BD\\u03CC\\u03BC\\u03B9\\u03C3\\u03BC\\u03B1\"},mail:{host:\"\\u0394\\u03B9\\u03B1\\u03BA\\u03BF\\u03BC\\u03B9\\u03C3\\u03C4\\u03AE\\u03C2 \\u0391\\u03BB\\u03BB\\u03B7\\u03BB\\u03BF\\u03B3\\u03C1\\u03B1\\u03C6\\u03AF\\u03B1\\u03C2\",port:\"\\u0394\\u03B9\\u03B1\\u03BA\\u03BF\\u03BC\\u03B9\\u03C3\\u03C4\\u03AE\\u03C2 \\u0391\\u03BB\\u03BB\\u03B7\\u03BB\\u03BF\\u03B3\\u03C1\\u03B1\\u03C6\\u03AF\\u03B1\\u03C2\",driver:\"\\u039F\\u03B4\\u03B7\\u03B3\\u03CC\\u03C2 \\u0391\\u03BB\\u03BB\\u03B7\\u03BB\\u03BF\\u03B3\\u03C1\\u03B1\\u03C6\\u03AF\\u03B1\\u03C2\",secret:\"\\u039C\\u03C5\\u03C3\\u03C4\\u03B9\\u03BA\\u03CC\",mailgun_secret:\"\\u039C\\u03C5\\u03C3\\u03C4\\u03B9\\u03BA\\u03CC Mailgun\",mailgun_domain:\"\\u03A4\\u03BF\\u03BC\\u03AD\\u03B1\\u03C2\",mailgun_endpoint:\"Mailgun Endpoint\",ses_secret:\"SES \\u039C\\u03C5\\u03C3\\u03C4\\u03B9\\u03BA\\u03CC\",ses_key:\"\\u039A\\u03BB\\u03B5\\u03B9\\u03B4\\u03AF SES\",password:\"\\u039A\\u03C9\\u03B4\\u03B9\\u03BA\\u03CC\\u03C2 \\u03A0\\u03C1\\u03CC\\u03C3\\u03B2\\u03B1\\u03C3\\u03B7\\u03C2 \\u03A4\\u03B1\\u03C7\\u03C5\\u03B4\\u03C1\\u03BF\\u03BC\\u03B5\\u03AF\\u03BF\\u03C5\",username:\"\\u038C\\u03BD\\u03BF\\u03BC\\u03B1 \\u03A4\\u03B1\\u03C7\\u03C5\\u03B4\\u03C1\\u03BF\\u03BC\\u03B5\\u03AF\\u03BF\\u03C5\",mail_config:\"\\u0394\\u03B9\\u03B1\\u03BC\\u03CC\\u03C1\\u03C6\\u03C9\\u03C3\\u03B7 Mail\",from_name:\"\\u038C\\u03BD\\u03BF\\u03BC\\u03B1 \\u0391\\u03C0\\u03BF\\u03C3\\u03C4\\u03BF\\u03BB\\u03AD\\u03B1\",from_mail:\"\\u0394\\u03B9\\u03B5\\u03CD\\u03B8\\u03C5\\u03BD\\u03C3\\u03B7 \\u0391\\u03C0\\u03BF\\u03C3\\u03C4\\u03BF\\u03BB\\u03AE\\u03C2\",encryption:\"\\u039A\\u03C1\\u03C5\\u03C0\\u03C4\\u03BF\\u03B3\\u03C1\\u03AC\\u03C6\\u03B7\\u03C3\\u03B7 Email\",mail_config_desc:\"\\u03A0\\u03B1\\u03C1\\u03B1\\u03BA\\u03AC\\u03C4\\u03C9 \\u03B5\\u03AF\\u03BD\\u03B1\\u03B9 \\u03B7 \\u03C6\\u03CC\\u03C1\\u03BC\\u03B1 \\u03B3\\u03B9\\u03B1 \\u03C4\\u03B7 \\u03C1\\u03CD\\u03B8\\u03BC\\u03B9\\u03C3\\u03B7 \\u03C0\\u03B1\\u03C1\\u03B1\\u03BC\\u03AD\\u03C4\\u03C1\\u03C9\\u03BD \\u03C4\\u03BF\\u03C5 \\u03C0\\u03C1\\u03BF\\u03B3\\u03C1\\u03AC\\u03BC\\u03BC\\u03B1\\u03C4\\u03BF\\u03C2 \\u03BF\\u03B4\\u03AE\\u03B3\\u03B7\\u03C3\\u03B7\\u03C2 \\u03B7\\u03BB\\u03B5\\u03BA\\u03C4\\u03C1\\u03BF\\u03BD\\u03B9\\u03BA\\u03BF\\u03CD \\u03C4\\u03B1\\u03C7\\u03C5\\u03B4\\u03C1\\u03BF\\u03BC\\u03B5\\u03AF\\u03BF\\u03C5 \\u03B3\\u03B9\\u03B1 \\u03C4\\u03B7\\u03BD \\u03B1\\u03C0\\u03BF\\u03C3\\u03C4\\u03BF\\u03BB\\u03AE \\u03BC\\u03B7\\u03BD\\u03C5\\u03BC\\u03AC\\u03C4\\u03C9\\u03BD \\u03B7\\u03BB\\u03B5\\u03BA\\u03C4\\u03C1\\u03BF\\u03BD\\u03B9\\u03BA\\u03BF\\u03CD \\u03C4\\u03B1\\u03C7\\u03C5\\u03B4\\u03C1\\u03BF\\u03BC\\u03B5\\u03AF\\u03BF\\u03C5 \\u03B1\\u03C0\\u03CC \\u03C4\\u03B7\\u03BD \\u03B5\\u03C6\\u03B1\\u03C1\\u03BC\\u03BF\\u03B3\\u03AE. \\u039C\\u03C0\\u03BF\\u03C1\\u03B5\\u03AF\\u03C4\\u03B5 \\u03B5\\u03C0\\u03AF\\u03C3\\u03B7\\u03C2 \\u03BD\\u03B1 \\u03C1\\u03C5\\u03B8\\u03BC\\u03AF\\u03C3\\u03B5\\u03C4\\u03B5 \\u03C4\\u03B9\\u03C2 \\u03C0\\u03B1\\u03C1\\u03B1\\u03BC\\u03AD\\u03C4\\u03C1\\u03BF\\u03C5\\u03C2 \\u03C4\\u03C1\\u03AF\\u03C4\\u03C9\\u03BD \\u03C0\\u03B1\\u03C1\\u03CC\\u03C7\\u03C9\\u03BD \\u03CC\\u03C0\\u03C9\\u03C2 \\u03C4\\u03BF Sendgrid, \\u03C4\\u03BF SES \\u03BA\\u03BB\\u03C0.\"},pdf:{title:\"\\u03A1\\u03C5\\u03B8\\u03BC\\u03AF\\u03C3\\u03B5\\u03B9\\u03C2 PDF\",footer_text:\"\\u039A\\u03B5\\u03AF\\u03BC\\u03B5\\u03BD\\u03BF \\u03A5\\u03C0\\u03BF\\u03C3\\u03AD\\u03BB\\u03B9\\u03B4\\u03BF\\u03C5\",pdf_layout:\"\\u0394\\u03B9\\u03AC\\u03C4\\u03B1\\u03BE\\u03B7 PDF\"},company_info:{company_info:\"\\u03A0\\u03BB\\u03B7\\u03C1\\u03BF\\u03C6\\u03BF\\u03C1\\u03AF\\u03B5\\u03C2 \\u0395\\u03C4\\u03B1\\u03B9\\u03C1\\u03AF\\u03B1\\u03C2\",company_name:\"\\u038C\\u03BD\\u03BF\\u03BC\\u03B1 \\u0395\\u03C4\\u03B1\\u03B9\\u03C1\\u03B5\\u03AF\\u03B1\\u03C2\",company_logo:\"\\u039B\\u03BF\\u03B3\\u03CC\\u03C4\\u03C5\\u03C0\\u03BF \\u0395\\u03C4\\u03B1\\u03B9\\u03C1\\u03B5\\u03AF\\u03B1\\u03C2\",section_description:\"\\u03A0\\u03BB\\u03B7\\u03C1\\u03BF\\u03C6\\u03BF\\u03C1\\u03AF\\u03B5\\u03C2 \\u03C3\\u03C7\\u03B5\\u03C4\\u03B9\\u03BA\\u03AC \\u03BC\\u03B5 \\u03C4\\u03B7\\u03BD \\u03B5\\u03C4\\u03B1\\u03B9\\u03C1\\u03B5\\u03AF\\u03B1 \\u03C3\\u03B1\\u03C2 \\u03C0\\u03BF\\u03C5 \\u03B8\\u03B1 \\u03B5\\u03BC\\u03C6\\u03B1\\u03BD\\u03AF\\u03B6\\u03BF\\u03BD\\u03C4\\u03B1\\u03B9 \\u03C3\\u03B5 \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03B1, \\u03B5\\u03BA\\u03C4\\u03B9\\u03BC\\u03AE\\u03C3\\u03B5\\u03B9\\u03C2 \\u03BA\\u03B1\\u03B9 \\u03AC\\u03BB\\u03BB\\u03B1 \\u03AD\\u03B3\\u03B3\\u03C1\\u03B1\\u03C6\\u03B1 \\u03C0\\u03BF\\u03C5 \\u03B4\\u03B7\\u03BC\\u03B9\\u03BF\\u03C5\\u03C1\\u03B3\\u03BF\\u03CD\\u03BD\\u03C4\\u03B1\\u03B9 \\u03B1\\u03C0\\u03CC \\u03C4\\u03B7\\u03BD Crater.\",phone:\"\\u03A4\\u03B7\\u03BB\\u03AD\\u03C6\\u03C9\\u03BD\\u03BF\",country:\"\\u03A7\\u03CE\\u03C1\\u03B1\",state:\"\\u039D\\u03BF\\u03BC\\u03CC\\u03C2\",city:\"\\u03A0\\u03CC\\u03BB\\u03B7\",address:\"\\u0394\\u03B9\\u03B5\\u03CD\\u03B8\\u03C5\\u03BD\\u03C3\\u03B7\",zip:\"\\u03A4\\u03B1\\u03C7\\u03C5\\u03B4\\u03C1\\u03BF\\u03BC\\u03B9\\u03BA\\u03CC\\u03C2 \\u039A\\u03CE\\u03B4\\u03B9\\u03BA\\u03B1\\u03C2\",save:\"\\u0391\\u03C0\\u03BF\\u03B8\\u03AE\\u03BA\\u03B5\\u03C5\\u03C3\\u03B7\",delete:\"\\u0394\\u03B9\\u03B1\\u03B3\\u03C1\\u03B1\\u03C6\\u03AE\",updated_message:\"\\u039F\\u03B9 \\u03C0\\u03BB\\u03B7\\u03C1\\u03BF\\u03C6\\u03BF\\u03C1\\u03AF\\u03B5\\u03C2 \\u03B3\\u03B9\\u03B1 \\u03C4\\u03BF\\u03BD \\u03C0\\u03CD\\u03C1\\u03B3\\u03BF \\u03B5\\u03BC\\u03C6\\u03B9\\u03AC\\u03BB\\u03C9\\u03C3\\u03B7\\u03C2 \\u03B5\\u03BD\\u03B7\\u03BC\\u03B5\\u03C1\\u03CE\\u03B8\\u03B7\\u03BA\\u03B1\\u03BD \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03CE\\u03C2.\",delete_company:\"\\u0394\\u03B9\\u03B1\\u03B3\\u03C1\\u03B1\\u03C6\\u03AE \\u0395\\u03C4\\u03B1\\u03B9\\u03C1\\u03B5\\u03AF\\u03B1\\u03C2\",delete_company_description:\"\\u039C\\u03CC\\u03BB\\u03B9\\u03C2 \\u03B4\\u03B9\\u03B1\\u03B3\\u03C1\\u03AC\\u03C8\\u03B5\\u03C4\\u03B5 \\u03C4\\u03B7\\u03BD \\u03B5\\u03C4\\u03B1\\u03B9\\u03C1\\u03B5\\u03AF\\u03B1 \\u03C3\\u03B1\\u03C2, \\u03B8\\u03B1 \\u03C7\\u03AC\\u03C3\\u03B5\\u03C4\\u03B5 \\u03CC\\u03BB\\u03B1 \\u03C4\\u03B1 \\u03B4\\u03B5\\u03B4\\u03BF\\u03BC\\u03AD\\u03BD\\u03B1 \\u03BA\\u03B1\\u03B9 \\u03C4\\u03B1 \\u03B1\\u03C1\\u03C7\\u03B5\\u03AF\\u03B1 \\u03C0\\u03BF\\u03C5 \\u03C3\\u03C7\\u03B5\\u03C4\\u03AF\\u03B6\\u03BF\\u03BD\\u03C4\\u03B1\\u03B9 \\u03BC\\u03B5 \\u03B1\\u03C5\\u03C4\\u03AE \\u03BC\\u03CC\\u03BD\\u03B9\\u03BC\\u03B1.\",are_you_absolutely_sure:\"\\u0395\\u03AF\\u03C3\\u03B1\\u03B9 \\u03C3\\u03AF\\u03B3\\u03BF\\u03C5\\u03C1\\u03BF\\u03C2/\\u03B7;\",delete_company_modal_desc:\"\\u0391\\u03C5\\u03C4\\u03AE \\u03B7 \\u03B5\\u03BD\\u03AD\\u03C1\\u03B3\\u03B5\\u03B9\\u03B1 \\u03B4\\u03B5\\u03BD \\u03BC\\u03C0\\u03BF\\u03C1\\u03B5\\u03AF \\u03BD\\u03B1 \\u03B1\\u03BD\\u03B1\\u03B9\\u03C1\\u03B5\\u03B8\\u03B5\\u03AF. \\u0391\\u03C5\\u03C4\\u03CC \\u03B8\\u03B1 \\u03B4\\u03B9\\u03B1\\u03B3\\u03C1\\u03AC\\u03C8\\u03B5\\u03B9 \\u03BC\\u03CC\\u03BD\\u03B9\\u03BC\\u03B1 {company} \\u03BA\\u03B1\\u03B9 \\u03CC\\u03BB\\u03B1 \\u03C4\\u03B1 \\u03C3\\u03C5\\u03C3\\u03C7\\u03B5\\u03C4\\u03B9\\u03C3\\u03BC\\u03AD\\u03BD\\u03B1 \\u03B4\\u03B5\\u03B4\\u03BF\\u03BC\\u03AD\\u03BD\\u03B1.\",delete_company_modal_label:\"\\u03A0\\u03B1\\u03C1\\u03B1\\u03BA\\u03B1\\u03BB\\u03CE \\u03C0\\u03BB\\u03B7\\u03BA\\u03C4\\u03C1\\u03BF\\u03BB\\u03BF\\u03B3\\u03AE\\u03C3\\u03C4\\u03B5 {company} \\u03B3\\u03B9\\u03B1 \\u03B5\\u03C0\\u03B9\\u03B2\\u03B5\\u03B2\\u03B1\\u03AF\\u03C9\\u03C3\\u03B7\"},custom_fields:{title:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03B1\\u03C1\\u03BC\\u03BF\\u03C3\\u03BC\\u03AD\\u03BD\\u03B1 \\u03C0\\u03B5\\u03B4\\u03AF\\u03B1\",section_description:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03B1\\u03C1\\u03BC\\u03CC\\u03C3\\u03C4\\u03B5 \\u03C4\\u03B1 \\u03A4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03B1 \\u03C3\\u03B1\\u03C2, \\u0395\\u03BA\\u03C4\\u03B9\\u03BC\\u03AE\\u03C3\\u03B5\\u03B9\\u03C2 & \\u0391\\u03C0\\u03BF\\u03B4\\u03B5\\u03AF\\u03BE\\u03B5\\u03B9\\u03C2 \\u03A0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03AE\\u03C2 \\u03BC\\u03B5 \\u03C4\\u03B1 \\u03B4\\u03B9\\u03BA\\u03AC \\u03C3\\u03B1\\u03C2 \\u03C0\\u03B5\\u03B4\\u03AF\\u03B1. \\u03A3\\u03B9\\u03B3\\u03BF\\u03C5\\u03C1\\u03B5\\u03C5\\u03C4\\u03B5\\u03AF\\u03C4\\u03B5 \\u03CC\\u03C4\\u03B9 \\u03C7\\u03C1\\u03B7\\u03C3\\u03B9\\u03BC\\u03BF\\u03C0\\u03BF\\u03B9\\u03B5\\u03AF\\u03C4\\u03B5 \\u03C4\\u03B1 \\u03C0\\u03B1\\u03C1\\u03B1\\u03BA\\u03AC\\u03C4\\u03C9 \\u03C0\\u03B5\\u03B4\\u03AF\\u03B1 \\u03C3\\u03C4\\u03B9\\u03C2 \\u03BC\\u03BF\\u03C1\\u03C6\\u03AD\\u03C2 \\u03B4\\u03B9\\u03B5\\u03C5\\u03B8\\u03CD\\u03BD\\u03C3\\u03B5\\u03C9\\u03BD \\u03C3\\u03C4\\u03B7 \\u03C3\\u03B5\\u03BB\\u03AF\\u03B4\\u03B1 \\u03A1\\u03C5\\u03B8\\u03BC\\u03AF\\u03C3\\u03B5\\u03B9\\u03C2 \\u03C0\\u03C1\\u03BF\\u03C3\\u03B1\\u03C1\\u03BC\\u03BF\\u03B3\\u03AE\\u03C2.\",add_custom_field:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03B8\\u03AE\\u03BA\\u03B7 \\u03C0\\u03C1\\u03BF\\u03C3\\u03B1\\u03C1\\u03BC\\u03BF\\u03C3\\u03BC\\u03AD\\u03BD\\u03BF\\u03C5 \\u03C0\\u03B5\\u03B4\\u03AF\\u03BF\\u03C5\",edit_custom_field:\"\\u0395\\u03C0\\u03B5\\u03BE\\u03B5\\u03C1\\u03B3\\u03B1\\u03C3\\u03AF\\u03B1 \\u03A0\\u03C1\\u03BF\\u03C3\\u03B1\\u03C1\\u03BC\\u03BF\\u03C3\\u03BC\\u03AD\\u03BD\\u03BF\\u03C5 \\u03A0\\u03B5\\u03B4\\u03AF\\u03BF\\u03C5\",field_name:\"\\u038C\\u03BD\\u03BF\\u03BC\\u03B1 \\u03C0\\u03B5\\u03B4\\u03AF\\u03BF\\u03C5\",label:\"\\u0395\\u03C0\\u03B9\\u03B3\\u03C1\\u03B1\\u03C6\\u03AE\",type:\"Type\",name:\"\\u038C\\u03BD\\u03BF\\u03BC\\u03B1\",slug:\"\\u0394\\u03C5\\u03BD\\u03B1\\u03C4\\u03CC \\u03C7\\u03C4\\u03CD\\u03C0\\u03B7\\u03BC\\u03B1\",required:\"\\u0391\\u03C0\\u03B1\\u03B9\\u03C4\\u03B5\\u03AF\\u03C4\\u03B1\\u03B9\",placeholder:\"\\u03A3\\u03CD\\u03BC\\u03B2\\u03BF\\u03BB\\u03BF \\u03C5\\u03C0\\u03BF\\u03BA\\u03B1\\u03C4\\u03AC\\u03C3\\u03C4\\u03B1\\u03C3\\u03B7\\u03C2\",help_text:\"\\u039A\\u03B5\\u03AF\\u03BC\\u03B5\\u03BD\\u03BF \\u03B2\\u03BF\\u03AE\\u03B8\\u03B5\\u03B9\\u03B1\\u03C2\",default_value:\"\\u03A0\\u03C1\\u03BF\\u03B5\\u03C0\\u03B9\\u03BB\\u03B5\\u03B3\\u03BC\\u03AD\\u03BD\\u03B7 \\u03C4\\u03B9\\u03BC\\u03AE\",prefix:\"\\u03A0\\u03C1\\u03CC\\u03B8\\u03B5\\u03BC\\u03B1\",starting_number:\"\\u0391\\u03C1\\u03C7\\u03AE \\u03B1\\u03C1\\u03AF\\u03B8\\u03BC\\u03B7\\u03C3\\u03B7\\u03C2 \\u03B1\\u03C0\\u03CC\",model:\"\\u039C\\u03BF\\u03BD\\u03C4\\u03AD\\u03BB\\u03BF\",help_text_description:\"\\u0395\\u03B9\\u03C3\\u03AC\\u03B3\\u03B5\\u03C4\\u03B5 \\u03BA\\u03AC\\u03C0\\u03BF\\u03B9\\u03BF \\u03BA\\u03B5\\u03AF\\u03BC\\u03B5\\u03BD\\u03BF \\u03B3\\u03B9\\u03B1 \\u03BD\\u03B1 \\u03B2\\u03BF\\u03B7\\u03B8\\u03AE\\u03C3\\u03B5\\u03C4\\u03B5 \\u03C4\\u03BF\\u03C5\\u03C2 \\u03C7\\u03C1\\u03AE\\u03C3\\u03C4\\u03B5\\u03C2 \\u03BD\\u03B1 \\u03BA\\u03B1\\u03C4\\u03B1\\u03BD\\u03BF\\u03AE\\u03C3\\u03BF\\u03C5\\u03BD \\u03C4\\u03BF\\u03BD \\u03C3\\u03BA\\u03BF\\u03C0\\u03CC \\u03B1\\u03C5\\u03C4\\u03BF\\u03CD \\u03C4\\u03BF\\u03C5 \\u03C0\\u03C1\\u03BF\\u03C3\\u03B1\\u03C1\\u03BC\\u03BF\\u03C3\\u03BC\\u03AD\\u03BD\\u03BF\\u03C5 \\u03C0\\u03B5\\u03B4\\u03AF\\u03BF\\u03C5.\",suffix:\"\\u0395\\u03C0\\u03AF\\u03B8\\u03B5\\u03BC\\u03B1\",yes:\"\\u039D\\u03B1\\u03B9\",no:\"\\u038C\\u03C7\\u03B9\",order:\"\\u03A3\\u03B5\\u03B9\\u03C1\\u03AC\",custom_field_confirm_delete:\"\\u0394\\u03B5\\u03BD \\u03B8\\u03B1 \\u03BC\\u03C0\\u03BF\\u03C1\\u03B5\\u03AF\\u03C4\\u03B5 \\u03BD\\u03B1 \\u03B1\\u03BD\\u03B1\\u03BA\\u03C4\\u03AE\\u03C3\\u03B5\\u03C4\\u03B5 \\u03B1\\u03C5\\u03C4\\u03CC \\u03C4\\u03BF \\u03A0\\u03C1\\u03BF\\u03C3\\u03B1\\u03C1\\u03BC\\u03BF\\u03C3\\u03BC\\u03AD\\u03BD\\u03BF \\u03A0\\u03B5\\u03B4\\u03AF\\u03BF\",already_in_use:\"\\u0397 \\u03B4\\u03B9\\u03B5\\u03CD\\u03B8\\u03C5\\u03BD\\u03C3\\u03B7 email \\u03C7\\u03C1\\u03B7\\u03C3\\u03B9\\u03BC\\u03BF\\u03C0\\u03BF\\u03B9\\u03B5\\u03AF\\u03C4\\u03B1\\u03B9 \\u03AE\\u03B4\\u03B7\",deleted_message:\"\\u0395\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03AE\\u03C2 \\u03B4\\u03B9\\u03B1\\u03B3\\u03C1\\u03B1\\u03C6\\u03AE \\u03C0\\u03C1\\u03BF\\u03C3\\u03B1\\u03C1\\u03BC\\u03BF\\u03C3\\u03BC\\u03AD\\u03BD\\u03BF\\u03C5 \\u03BA\\u03BB\\u03B5\\u03B9\\u03B4\\u03B9\\u03BF\\u03CD\",options:\"\\u03C1\\u03C5\\u03B8\\u03BC\\u03AF\\u03C3\\u03B5\\u03B9\\u03C2\",add_option:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03B8\\u03AE\\u03BA\\u03B7 \\u03B5\\u03C0\\u03B9\\u03BB\\u03BF\\u03B3\\u03AE\\u03C2\",add_another_option:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03B8\\u03AE\\u03BA\\u03B7 \\u03AC\\u03BB\\u03BB\\u03B7\\u03C2 \\u03B5\\u03C0\\u03B9\\u03BB\\u03BF\\u03B3\\u03AE\\u03C2\",sort_in_alphabetical_order:\"\\u03A4\\u03B1\\u03BE\\u03B9\\u03BD\\u03CC\\u03BC\\u03B7\\u03C3\\u03B7 \\u03C3\\u03B5 \\u03B1\\u03BB\\u03C6\\u03B1\\u03B2\\u03B7\\u03C4\\u03B9\\u03BA\\u03AE \\u03C3\\u03B5\\u03B9\\u03C1\\u03AC\",add_options_in_bulk:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03B8\\u03AE\\u03BA\\u03B7 \\u03B5\\u03C0\\u03B9\\u03BB\\u03BF\\u03B3\\u03CE\\u03BD \\u03BC\\u03B1\\u03B6\\u03B9\\u03BA\\u03AC\",use_predefined_options:\"\\u03A7\\u03C1\\u03AE\\u03C3\\u03B7 \\u03A0\\u03C1\\u03BF\\u03BA\\u03B1\\u03B8\\u03BF\\u03C1\\u03B9\\u03C3\\u03BC\\u03AD\\u03BD\\u03C9\\u03BD \\u0395\\u03C0\\u03B9\\u03BB\\u03BF\\u03B3\\u03CE\\u03BD\",select_custom_date:\"\\u0395\\u03C0\\u03B9\\u03BB\\u03AD\\u03BE\\u03C4\\u03B5 \\u03A0\\u03C1\\u03BF\\u03C3\\u03B1\\u03C1\\u03BC\\u03BF\\u03C3\\u03BC\\u03AD\\u03BD\\u03B7 \\u0397\\u03BC\\u03B5\\u03C1\\u03BF\\u03BC\\u03B7\\u03BD\\u03AF\\u03B1\",select_relative_date:\"\\u0395\\u03C0\\u03B9\\u03BB\\u03AD\\u03BE\\u03C4\\u03B5 \\u03B7\\u03BC\\u03B5\\u03C1\\u03BF\\u03BC\\u03B7\\u03BD\\u03AF\\u03B1 \\u03B5\\u03C0\\u03B9\\u03C3\\u03C4\\u03C1\\u03BF\\u03C6\\u03AE\\u03C2\",ticked_by_default:\"\\u0395\\u03BD\\u03B5\\u03C1\\u03B3\\u03BF\\u03C0\\u03BF\\u03B9\\u03B7\\u03BC\\u03AD\\u03BD\\u03B7 \\u03B1\\u03C0\\u03CC \\u03C0\\u03C1\\u03BF\\u03B5\\u03C0\\u03B9\\u03BB\\u03BF\\u03B3\\u03AE\",updated_message:\"\\u0395\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03AE\\u03C2 \\u03B4\\u03B9\\u03B1\\u03B3\\u03C1\\u03B1\\u03C6\\u03AE \\u03C0\\u03C1\\u03BF\\u03C3\\u03B1\\u03C1\\u03BC\\u03BF\\u03C3\\u03BC\\u03AD\\u03BD\\u03BF\\u03C5 \\u03BA\\u03BB\\u03B5\\u03B9\\u03B4\\u03B9\\u03BF\\u03CD\",added_message:\"\\u0395\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03AE\\u03C2 \\u03B4\\u03B9\\u03B1\\u03B3\\u03C1\\u03B1\\u03C6\\u03AE \\u03C0\\u03C1\\u03BF\\u03C3\\u03B1\\u03C1\\u03BC\\u03BF\\u03C3\\u03BC\\u03AD\\u03BD\\u03BF\\u03C5 \\u03BA\\u03BB\\u03B5\\u03B9\\u03B4\\u03B9\\u03BF\\u03CD\",press_enter_to_add:\"\\u03A0\\u03B1\\u03C4\\u03AE\\u03C3\\u03C4\\u03B5 enter \\u03B3\\u03B9\\u03B1 \\u03BD\\u03B1 \\u03C0\\u03C1\\u03BF\\u03C3\\u03B8\\u03AD\\u03C3\\u03B5\\u03C4\\u03B5 \\u03BD\\u03AD\\u03B1 \\u03B5\\u03C0\\u03B9\\u03BB\\u03BF\\u03B3\\u03AE\",model_in_use:\"\\u0394\\u03B5\\u03BD \\u03B5\\u03AF\\u03BD\\u03B1\\u03B9 \\u03B4\\u03C5\\u03BD\\u03B1\\u03C4\\u03AE \\u03B7 \\u03B5\\u03BD\\u03B7\\u03BC\\u03AD\\u03C1\\u03C9\\u03C3\\u03B7 \\u03BC\\u03BF\\u03BD\\u03C4\\u03AD\\u03BB\\u03BF\\u03C5 \\u03B3\\u03B9\\u03B1 \\u03C0\\u03B5\\u03B4\\u03AF\\u03B1 \\u03C0\\u03BF\\u03C5 \\u03B5\\u03AF\\u03BD\\u03B1\\u03B9 \\u03AE\\u03B4\\u03B7 \\u03C3\\u03B5 \\u03C7\\u03C1\\u03AE\\u03C3\\u03B7.\",type_in_use:\"\\u0394\\u03B5\\u03BD \\u03B5\\u03AF\\u03BD\\u03B1\\u03B9 \\u03B4\\u03C5\\u03BD\\u03B1\\u03C4\\u03AE \\u03B7 \\u03B5\\u03BD\\u03B7\\u03BC\\u03AD\\u03C1\\u03C9\\u03C3\\u03B7 \\u03BC\\u03BF\\u03BD\\u03C4\\u03AD\\u03BB\\u03BF\\u03C5 \\u03B3\\u03B9\\u03B1 \\u03C0\\u03B5\\u03B4\\u03AF\\u03B1 \\u03C0\\u03BF\\u03C5 \\u03B5\\u03AF\\u03BD\\u03B1\\u03B9 \\u03AE\\u03B4\\u03B7 \\u03C3\\u03B5 \\u03C7\\u03C1\\u03AE\\u03C3\\u03B7.\"},customization:{customization:\"\\u03C0\\u03C1\\u03BF\\u03C3\\u03B1\\u03C1\\u03BC\\u03BF\\u03B3\\u03AE\",updated_message:\"\\u039F\\u03B9 \\u03C0\\u03BB\\u03B7\\u03C1\\u03BF\\u03C6\\u03BF\\u03C1\\u03AF\\u03B5\\u03C2 \\u03B3\\u03B9\\u03B1 \\u03C4\\u03BF\\u03BD \\u03C0\\u03CD\\u03C1\\u03B3\\u03BF \\u03B5\\u03BC\\u03C6\\u03B9\\u03AC\\u03BB\\u03C9\\u03C3\\u03B7\\u03C2 \\u03B5\\u03BD\\u03B7\\u03BC\\u03B5\\u03C1\\u03CE\\u03B8\\u03B7\\u03BA\\u03B1\\u03BD \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03CE\\u03C2.\",save:\"\\u0391\\u03C0\\u03BF\\u03B8\\u03AE\\u03BA\\u03B5\\u03C5\\u03C3\\u03B7\",insert_fields:\"\\u03A0\\u03B5\\u03B4\\u03AF\\u03BF \\u03B5\\u03C4\\u03B9\\u03BA\\u03AD\\u03C4\\u03B1\\u03C2\",learn_custom_format:\"\\u039C\\u03AC\\u03B8\\u03B5\\u03C4\\u03B5 \\u03C0\\u03CE\\u03C2 \\u03BD\\u03B1 \\u03C7\\u03C1\\u03B7\\u03C3\\u03B9\\u03BC\\u03BF\\u03C0\\u03BF\\u03B9\\u03B5\\u03AF\\u03C4\\u03B5 \\u03C0\\u03C1\\u03BF\\u03C3\\u03B1\\u03C1\\u03BC\\u03BF\\u03C3\\u03BC\\u03AD\\u03BD\\u03B7 \\u03BC\\u03BF\\u03C1\\u03C6\\u03AE\",add_new_component:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03B8\\u03AE\\u03BA\\u03B7 \\u03C3\\u03C4\\u03BF\\u03B9\\u03C7\\u03B5\\u03AF\\u03BF\\u03C5\",component:\"\\u03A3\\u03C5\\u03C3\\u03C4\\u03B1\\u03C4\\u03B9\\u03BA\\u03CC\",Parameter:\"\\u03A0\\u03B1\\u03C1\\u03AC\\u03BC\\u03B5\\u03C4\\u03C1\\u03BF\\u03C2\",series:\"\\u03A3\\u03B5\\u03B9\\u03C1\\u03AC\",series_description:\"\\u0393\\u03B9\\u03B1 \\u03BD\\u03B1 \\u03BF\\u03C1\\u03AF\\u03C3\\u03B5\\u03C4\\u03B5 \\u03AD\\u03BD\\u03B1 \\u03C3\\u03C4\\u03B1\\u03C4\\u03B9\\u03BA\\u03CC \\u03C0\\u03C1\\u03CC\\u03B8\\u03B5\\u03BC\\u03B1/\\u03B5\\u03C0\\u03AF\\u03B8\\u03B5\\u03BC\\u03B1 \\u03CC\\u03C0\\u03C9\\u03C2 'INV' \\u03C3\\u03B5 \\u03CC\\u03BB\\u03B7 \\u03C4\\u03B7\\u03BD \\u03B5\\u03C4\\u03B1\\u03B9\\u03C1\\u03B5\\u03AF\\u03B1 \\u03C3\\u03B1\\u03C2. \\u03A5\\u03C0\\u03BF\\u03C3\\u03C4\\u03B7\\u03C1\\u03AF\\u03B6\\u03B5\\u03B9 \\u03BC\\u03AE\\u03BA\\u03BF\\u03C2 \\u03C7\\u03B1\\u03C1\\u03B1\\u03BA\\u03C4\\u03AE\\u03C1\\u03B1 \\u03AD\\u03C9\\u03C2 \\u03BA\\u03B1\\u03B9 4 \\u03C7\\u03B1\\u03C1\\u03B1\\u03BA\\u03C4\\u03AE\\u03C1\\u03B5\\u03C2.\",series_param_label:\"\\u038C\\u03BD\\u03BF\\u03BC\\u03B1 \\u03C3\\u03B5\\u03B9\\u03C1\\u03AC\\u03C2\",delimiter:\"\\u0394\\u03B9\\u03B1\\u03C7\\u03C9\\u03C1\\u03B9\\u03C3\\u03C4\\u03B9\\u03BA\\u03CC\",delimiter_description:\"\\u0395\\u03BD\\u03B9\\u03B1\\u03AF\\u03BF\\u03C2 \\u03C7\\u03B1\\u03C1\\u03B1\\u03BA\\u03C4\\u03AE\\u03C1\\u03B1\\u03C2 \\u03B3\\u03B9\\u03B1 \\u03C4\\u03BF\\u03BD \\u03BA\\u03B1\\u03B8\\u03BF\\u03C1\\u03B9\\u03C3\\u03BC\\u03CC \\u03C4\\u03BF\\u03C5 \\u03BF\\u03C1\\u03AF\\u03BF\\u03C5 \\u03BC\\u03B5\\u03C4\\u03B1\\u03BE\\u03CD 2 \\u03BE\\u03B5\\u03C7\\u03C9\\u03C1\\u03B9\\u03C3\\u03C4\\u03CE\\u03BD \\u03C3\\u03C4\\u03BF\\u03B9\\u03C7\\u03B5\\u03AF\\u03C9\\u03BD. \\u0391\\u03C0\\u03CC \\u03C0\\u03C1\\u03BF\\u03B5\\u03C0\\u03B9\\u03BB\\u03BF\\u03B3\\u03AE \\u03C4\\u03BF \\u03C3\\u03B5\\u03C4 \\u03C4\\u03BF\\u03C5 -\",delimiter_param_label:\"\\u03A4\\u03B9\\u03BC\\u03AE \\u039F\\u03C1\\u03B9\\u03BF\\u03B8\\u03AD\\u03C4\\u03B7\",date_format:\"\\u039C\\u03BF\\u03C1\\u03C6\\u03AE \\u0397\\u03BC\\u03B5\\u03C1\\u03BF\\u03BC\\u03B7\\u03BD\\u03AF\\u03B1\\u03C2\",date_format_description:\"\\u0388\\u03BD\\u03B1 \\u03C4\\u03BF\\u03C0\\u03B9\\u03BA\\u03CC \\u03C0\\u03B5\\u03B4\\u03AF\\u03BF \\u03B7\\u03BC\\u03B5\\u03C1\\u03BF\\u03BC\\u03B7\\u03BD\\u03AF\\u03B1\\u03C2 \\u03BA\\u03B1\\u03B9 \\u03CE\\u03C1\\u03B1\\u03C2 \\u03C0\\u03BF\\u03C5 \\u03B4\\u03AD\\u03C7\\u03B5\\u03C4\\u03B1\\u03B9 \\u03BC\\u03B9\\u03B1 \\u03C0\\u03B1\\u03C1\\u03AC\\u03BC\\u03B5\\u03C4\\u03C1\\u03BF \\u03BC\\u03BF\\u03C1\\u03C6\\u03AE\\u03C2. \\u0397 \\u03C0\\u03C1\\u03BF\\u03B5\\u03C0\\u03B9\\u03BB\\u03B5\\u03B3\\u03BC\\u03AD\\u03BD\\u03B7 \\u03BC\\u03BF\\u03C1\\u03C6\\u03AE: 'Y' \\u03B5\\u03BC\\u03C6\\u03B1\\u03BD\\u03AF\\u03B6\\u03B5\\u03B9 \\u03C4\\u03BF \\u03C4\\u03C1\\u03AD\\u03C7\\u03BF\\u03BD \\u03AD\\u03C4\\u03BF\\u03C2.\",date_format_param_label:\"\\u039C\\u03BF\\u03C1\\u03C6\\u03AE\",sequence:\"\\u0391\\u03BB\\u03BB\\u03B7\\u03BB\\u03BF\\u03C5\\u03C7\\u03AF\\u03B1\",sequence_description:\"\\u03A3\\u03C5\\u03BD\\u03B5\\u03C7\\u03AE\\u03C2 \\u03B1\\u03BA\\u03BF\\u03BB\\u03BF\\u03C5\\u03B8\\u03AF\\u03B1 \\u03B1\\u03C1\\u03B9\\u03B8\\u03BC\\u03CE\\u03BD \\u03C3\\u03B5 \\u03CC\\u03BB\\u03B7 \\u03C4\\u03B7\\u03BD \\u03B5\\u03C4\\u03B1\\u03B9\\u03C1\\u03B5\\u03AF\\u03B1 \\u03C3\\u03B1\\u03C2. \\u039C\\u03C0\\u03BF\\u03C1\\u03B5\\u03AF\\u03C4\\u03B5 \\u03BD\\u03B1 \\u03BA\\u03B1\\u03B8\\u03BF\\u03C1\\u03AF\\u03C3\\u03B5\\u03C4\\u03B5 \\u03C4\\u03BF \\u03BC\\u03AE\\u03BA\\u03BF\\u03C2 \\u03C4\\u03BF\\u03C5 \\u03B4\\u03BF\\u03C3\\u03BC\\u03AD\\u03BD\\u03BF\\u03C5 \\u03C0\\u03B1\\u03C1\\u03B1\\u03BC\\u03AD\\u03C4\\u03C1\\u03BF\\u03C5.\",sequence_param_label:\"\\u039C\\u03AE\\u03BA\\u03BF\\u03C2 \\u0391\\u03BA\\u03BF\\u03BB\\u03BF\\u03C5\\u03B8\\u03AF\\u03B1\\u03C2\",customer_series:\"\\u03A3\\u03B5\\u03B9\\u03C1\\u03AC \\u03A0\\u03B5\\u03BB\\u03B1\\u03C4\\u03CE\\u03BD\",customer_series_description:\"\\u0393\\u03B9\\u03B1 \\u03BD\\u03B1 \\u03BF\\u03C1\\u03AF\\u03C3\\u03B5\\u03C4\\u03B5 \\u03AD\\u03BD\\u03B1 \\u03B4\\u03B9\\u03B1\\u03C6\\u03BF\\u03C1\\u03B5\\u03C4\\u03B9\\u03BA\\u03CC \\u03C0\\u03C1\\u03CC\\u03B8\\u03B5\\u03BC\\u03B1/\\u03B5\\u03C0\\u03AF\\u03B8\\u03B5\\u03BC\\u03B1 \\u03B3\\u03B9\\u03B1 \\u03BA\\u03AC\\u03B8\\u03B5 \\u03C0\\u03B5\\u03BB\\u03AC\\u03C4\\u03B7.\",customer_sequence:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03B1\\u03C1\\u03BC\\u03CC\\u03C3\\u03C4\\u03B5 \\u03C4\\u03B7\\u03BD \\u03B1\\u03C1\\u03B9\\u03B8\\u03BC\\u03BF\\u03B4\\u03CC\\u03C4\\u03B7\\u03C3\\u03B7\",customer_sequence_description:\"\\u03A3\\u03C5\\u03BD\\u03B5\\u03C7\\u03AE\\u03C2 \\u03B1\\u03BA\\u03BF\\u03BB\\u03BF\\u03C5\\u03B8\\u03AF\\u03B1 \\u03B1\\u03C1\\u03B9\\u03B8\\u03BC\\u03CE\\u03BD \\u03B3\\u03B9\\u03B1 \\u03BA\\u03AC\\u03B8\\u03B5 \\u03C0\\u03B5\\u03BB\\u03AC\\u03C4\\u03B7 \\u03C3\\u03B1\\u03C2.\",customer_sequence_param_label:\"\\u039C\\u03AE\\u03BA\\u03BF\\u03C2 \\u0391\\u03BA\\u03BF\\u03BB\\u03BF\\u03C5\\u03B8\\u03AF\\u03B1\\u03C2\",random_sequence:\"\\u03A4\\u03C5\\u03C7\\u03B1\\u03AF\\u03B1 \\u0391\\u03BA\\u03BF\\u03BB\\u03BF\\u03C5\\u03B8\\u03AF\\u03B1\",random_sequence_description:\"\\u03A4\\u03C5\\u03C7\\u03B1\\u03AF\\u03B1 \\u03B1\\u03BB\\u03C6\\u03B1\\u03C1\\u03B9\\u03B8\\u03BC\\u03B7\\u03C4\\u03B9\\u03BA\\u03AE \\u03C3\\u03C5\\u03BC\\u03B2\\u03BF\\u03BB\\u03BF\\u03C3\\u03B5\\u03B9\\u03C1\\u03AC. \\u039C\\u03C0\\u03BF\\u03C1\\u03B5\\u03AF\\u03C4\\u03B5 \\u03BD\\u03B1 \\u03BA\\u03B1\\u03B8\\u03BF\\u03C1\\u03AF\\u03C3\\u03B5\\u03C4\\u03B5 \\u03C4\\u03BF \\u03BC\\u03AE\\u03BA\\u03BF\\u03C2 \\u03C4\\u03BF\\u03C5 \\u03B4\\u03BF\\u03C3\\u03BC\\u03AD\\u03BD\\u03BF\\u03C5 \\u03C0\\u03B1\\u03C1\\u03B1\\u03BC\\u03AD\\u03C4\\u03C1\\u03BF\\u03C5.\",random_sequence_param_label:\"\\u039C\\u03AE\\u03BA\\u03BF\\u03C2 \\u0391\\u03BA\\u03BF\\u03BB\\u03BF\\u03C5\\u03B8\\u03AF\\u03B1\\u03C2\",invoices:{title:\"\\u03A4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03B1\",invoice_number_format:\"\\u039C\\u03BF\\u03C1\\u03C6\\u03AE \\u0391\\u03C1\\u03B9\\u03B8\\u03BC\\u03BF\\u03CD \\u03A4\\u03B9\\u03BC\\u03BF\\u03BB\\u03BF\\u03B3\\u03AF\\u03BF\\u03C5\",invoice_number_format_description:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03B1\\u03C1\\u03BC\\u03CC\\u03C3\\u03C4\\u03B5 \\u03C4\\u03BF\\u03BD \\u03C4\\u03C1\\u03CC\\u03C0\\u03BF \\u03BC\\u03B5 \\u03C4\\u03BF\\u03BD \\u03BF\\u03C0\\u03BF\\u03AF\\u03BF \\u03B4\\u03B7\\u03BC\\u03B9\\u03BF\\u03C5\\u03C1\\u03B3\\u03B5\\u03AF\\u03C4\\u03B1\\u03B9 \\u03B1\\u03C5\\u03C4\\u03CC\\u03BC\\u03B1\\u03C4\\u03B1 \\u03BF \\u03C5\\u03C0\\u03BF\\u03BB\\u03BF\\u03B3\\u03B9\\u03C3\\u03BC\\u03CC\\u03C2 \\u03C3\\u03B1\\u03C2 \\u03CC\\u03C4\\u03B1\\u03BD \\u03B4\\u03B7\\u03BC\\u03B9\\u03BF\\u03C5\\u03C1\\u03B3\\u03B5\\u03AF\\u03C4\\u03B5 \\u03BC\\u03B9\\u03B1 \\u03BD\\u03AD\\u03B1 \\u03B5\\u03BA\\u03C4\\u03AF\\u03BC\\u03B7\\u03C3\\u03B7.\",preview_invoice_number:\"\\u03A0\\u03C1\\u03BF\\u03B5\\u03C0\\u03B9\\u03C3\\u03BA\\u03CC\\u03C0\\u03B7\\u03C3\\u03B7 \\u0391\\u03C1\\u03B9\\u03B8\\u03BC\\u03BF\\u03CD \\u03A4\\u03B9\\u03BC\\u03BF\\u03BB\\u03BF\\u03B3\\u03AF\\u03BF\\u03C5\",due_date:\"\\u0397\\u03BC\\u03B5\\u03C1\\u03BF\\u03BC\\u03B7\\u03BD\\u03AF\\u03B1 \\u03BB\\u03AE\\u03BE\\u03B7\\u03C2\",due_date_description:\"\\u039A\\u03B1\\u03B8\\u03BF\\u03C1\\u03AF\\u03C3\\u03C4\\u03B5 \\u03C0\\u03CE\\u03C2 \\u03BF\\u03C1\\u03AF\\u03B6\\u03B5\\u03C4\\u03B1\\u03B9 \\u03B1\\u03C5\\u03C4\\u03CC\\u03BC\\u03B1\\u03C4\\u03B1 \\u03B7 \\u03B7\\u03BC\\u03B5\\u03C1\\u03BF\\u03BC\\u03B7\\u03BD\\u03AF\\u03B1 \\u03BB\\u03AE\\u03BE\\u03B7\\u03C2 \\u03CC\\u03C4\\u03B1\\u03BD \\u03B4\\u03B7\\u03BC\\u03B9\\u03BF\\u03C5\\u03C1\\u03B3\\u03B5\\u03AF\\u03C4\\u03B5 \\u03BC\\u03B9\\u03B1 \\u03B5\\u03BA\\u03C4\\u03AF\\u03BC\\u03B7\\u03C3\\u03B7.\",due_date_days:\"\\u03A4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03B1 \\u03BB\\u03B7\\u03BE\\u03B9\\u03C0\\u03C1\\u03CC\\u03B8\\u03B5\\u03C3\\u03BC\\u03B1 \\u03BC\\u03B5\\u03C4\\u03AC \\u03B1\\u03C0\\u03CC (\\u03B7\\u03BC\\u03AD\\u03C1\\u03B5\\u03C2)\",set_due_date_automatically:\"\\u039F\\u03C1\\u03B9\\u03C3\\u03BC\\u03CC\\u03C2 \\u0397\\u03BC\\u03B5\\u03C1\\u03BF\\u03BC\\u03B7\\u03BD\\u03AF\\u03B1\\u03C2 \\u039B\\u03AE\\u03BE\\u03B7\\u03C2 \\u0391\\u03C5\\u03C4\\u03CC\\u03BC\\u03B1\\u03C4\\u03B1\",set_due_date_automatically_description:\"\\u0395\\u03BD\\u03B5\\u03C1\\u03B3\\u03BF\\u03C0\\u03BF\\u03B9\\u03AE\\u03C3\\u03C4\\u03B5 \\u03C4\\u03BF \\u03B1\\u03BD \\u03B5\\u03C0\\u03B9\\u03B8\\u03C5\\u03BC\\u03B5\\u03AF\\u03C4\\u03B5 \\u03BD\\u03B1 \\u03BF\\u03C1\\u03AF\\u03C3\\u03B5\\u03C4\\u03B5 \\u03C4\\u03B7\\u03BD \\u03B7\\u03BC\\u03B5\\u03C1\\u03BF\\u03BC\\u03B7\\u03BD\\u03AF\\u03B1 \\u03BB\\u03AE\\u03BE\\u03B7\\u03C2 \\u03B1\\u03C5\\u03C4\\u03CC\\u03BC\\u03B1\\u03C4\\u03B1 \\u03CC\\u03C4\\u03B1\\u03BD \\u03B4\\u03B7\\u03BC\\u03B9\\u03BF\\u03C5\\u03C1\\u03B3\\u03B5\\u03AF\\u03C4\\u03B5 \\u03BC\\u03B9\\u03B1 \\u03BD\\u03AD\\u03B1 \\u03B5\\u03BA\\u03C4\\u03AF\\u03BC\\u03B7\\u03C3\\u03B7.\",default_formats:\"\\u03A0\\u03C1\\u03BF\\u03B5\\u03C0\\u03B9\\u03BB\\u03B5\\u03B3\\u03BC\\u03AD\\u03BD\\u03B5\\u03C2 \\u03B5\\u03C0\\u03B5\\u03BA\\u03C4\\u03AC\\u03C3\\u03B5\\u03B9\\u03C2\",default_formats_description:\"\\u03A0\\u03B1\\u03C1\\u03B1\\u03BA\\u03AC\\u03C4\\u03C9 \\u03BF\\u03B9 \\u03C0\\u03B1\\u03C1\\u03B1\\u03BA\\u03AC\\u03C4\\u03C9 \\u03BC\\u03BF\\u03C1\\u03C6\\u03AD\\u03C2 \\u03C7\\u03C1\\u03B7\\u03C3\\u03B9\\u03BC\\u03BF\\u03C0\\u03BF\\u03B9\\u03BF\\u03CD\\u03BD\\u03C4\\u03B1\\u03B9 \\u03B3\\u03B9\\u03B1 \\u03BD\\u03B1 \\u03B3\\u03B5\\u03BC\\u03AF\\u03C3\\u03BF\\u03C5\\u03BD \\u03B1\\u03C5\\u03C4\\u03CC\\u03BC\\u03B1\\u03C4\\u03B1 \\u03C4\\u03B1 \\u03C0\\u03B5\\u03B4\\u03AF\\u03B1 \\u03C3\\u03C4\\u03B7 \\u03B4\\u03B7\\u03BC\\u03B9\\u03BF\\u03C5\\u03C1\\u03B3\\u03AF\\u03B1 \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03BF\\u03B3\\u03AF\\u03C9\\u03BD.\",default_invoice_email_body:\"\\u03A0\\u03C1\\u03BF\\u03BA\\u03B1\\u03B8\\u03BF\\u03C1\\u03B9\\u03C3\\u03BC\\u03AD\\u03BD\\u03BF \\u03A3\\u03CE\\u03BC\\u03B1 Email \\u03A4\\u03B9\\u03BC\\u03BF\\u03BB\\u03BF\\u03B3\\u03AF\\u03BF\\u03C5\",company_address_format:\"\\u039C\\u03BF\\u03C1\\u03C6\\u03AE \\u0394\\u03B9\\u03B5\\u03CD\\u03B8\\u03C5\\u03BD\\u03C3\\u03B7\\u03C2 \\u0395\\u03C4\\u03B1\\u03B9\\u03C1\\u03B5\\u03AF\\u03B1\\u03C2\",shipping_address_format:\"\\u039C\\u03BF\\u03C1\\u03C6\\u03AE \\u0394\\u03B9\\u03B5\\u03CD\\u03B8\\u03C5\\u03BD\\u03C3\\u03B7\\u03C2 \\u0391\\u03C0\\u03BF\\u03C3\\u03C4\\u03BF\\u03BB\\u03AE\\u03C2\",billing_address_format:\"\\u039C\\u03BF\\u03C1\\u03C6\\u03AE \\u0394\\u03B9\\u03B5\\u03CD\\u03B8\\u03C5\\u03BD\\u03C3\\u03B7\\u03C2 \\u03A7\\u03C1\\u03AD\\u03C9\\u03C3\\u03B7\\u03C2\",invoice_email_attachment:\"\\u0391\\u03C0\\u03BF\\u03C3\\u03C4\\u03BF\\u03BB\\u03AE \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03BF\\u03B3\\u03AF\\u03C9\\u03BD \\u03C9\\u03C2 \\u03C3\\u03C5\\u03BD\\u03B7\\u03BC\\u03BC\\u03AD\\u03BD\\u03C9\\u03BD\",invoice_email_attachment_setting_description:\"\\u0395\\u03BD\\u03B5\\u03C1\\u03B3\\u03BF\\u03C0\\u03BF\\u03B9\\u03AE\\u03C3\\u03C4\\u03B5 \\u03B1\\u03C5\\u03C4\\u03CC \\u03B1\\u03BD \\u03B8\\u03AD\\u03BB\\u03B5\\u03C4\\u03B5 \\u03BD\\u03B1 \\u03C3\\u03C4\\u03B5\\u03AF\\u03BB\\u03B5\\u03C4\\u03B5 \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03B1 \\u03C9\\u03C2 \\u03C3\\u03C5\\u03BD\\u03B7\\u03BC\\u03BC\\u03AD\\u03BD\\u03BF email. \\u03A0\\u03B1\\u03C1\\u03B1\\u03BA\\u03B1\\u03BB\\u03CE \\u03C3\\u03B7\\u03BC\\u03B5\\u03B9\\u03CE\\u03C3\\u03C4\\u03B5 \\u03CC\\u03C4\\u03B9 \\u03C4\\u03BF \\u03BA\\u03BF\\u03C5\\u03BC\\u03C0\\u03AF '\\u03A0\\u03C1\\u03BF\\u03B2\\u03BF\\u03BB\\u03AE \\u03A4\\u03B9\\u03BC\\u03BF\\u03BB\\u03BF\\u03B3\\u03AF\\u03BF\\u03C5' \\u03C3\\u03C4\\u03B1 \\u03BC\\u03B7\\u03BD\\u03CD\\u03BC\\u03B1\\u03C4\\u03B1 \\u03B7\\u03BB\\u03B5\\u03BA\\u03C4\\u03C1\\u03BF\\u03BD\\u03B9\\u03BA\\u03BF\\u03CD \\u03C4\\u03B1\\u03C7\\u03C5\\u03B4\\u03C1\\u03BF\\u03BC\\u03B5\\u03AF\\u03BF\\u03C5 \\u03B4\\u03B5\\u03BD \\u03B8\\u03B1 \\u03B5\\u03BC\\u03C6\\u03B1\\u03BD\\u03AF\\u03B6\\u03B5\\u03C4\\u03B1\\u03B9 \\u03C0\\u03BB\\u03AD\\u03BF\\u03BD \\u03CC\\u03C4\\u03B1\\u03BD \\u03B5\\u03AF\\u03BD\\u03B1\\u03B9 \\u03B5\\u03BD\\u03B5\\u03C1\\u03B3\\u03BF\\u03C0\\u03BF\\u03B9\\u03B7\\u03BC\\u03AD\\u03BD\\u03BF.\",invoice_settings_updated:\"\\u039F\\u03B9 \\u03A1\\u03C5\\u03B8\\u03BC\\u03AF\\u03C3\\u03B5\\u03B9\\u03C2 \\u03B5\\u03BD\\u03B7\\u03BC\\u03B5\\u03C1\\u03CE\\u03B8\\u03B7\\u03BA\\u03B1\\u03BD \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03CE\\u03C2\",retrospective_edits:\"\\u0391\\u03BD\\u03B1\\u03B4\\u03C1\\u03BF\\u03BC\\u03B9\\u03BA\\u03AD\\u03C2 \\u0394\\u03B9\\u03B5\\u03C1\\u03B3\\u03B1\\u03C3\\u03AF\\u03B5\\u03C2\",allow:\"\\u0391\\u03C0\\u03BF\\u03B4\\u03BF\\u03C7\\u03AE\",disable_on_invoice_partial_paid:\"\\u0391\\u03C0\\u03B5\\u03BD\\u03B5\\u03C1\\u03B3\\u03BF\\u03C0\\u03BF\\u03AF\\u03B7\\u03C3\\u03B7 \\u03BC\\u03B5\\u03C4\\u03AC \\u03C4\\u03B7\\u03BD \\u03B5\\u03B3\\u03B3\\u03C1\\u03B1\\u03C6\\u03AE \\u03BC\\u03B5\\u03C1\\u03B9\\u03BA\\u03AE\\u03C2 \\u03C0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03AE\\u03C2\",disable_on_invoice_paid:\"\\u0391\\u03C0\\u03B5\\u03BD\\u03B5\\u03C1\\u03B3\\u03BF\\u03C0\\u03BF\\u03AF\\u03B7\\u03C3\\u03B7 \\u03BC\\u03B5\\u03C4\\u03AC \\u03C4\\u03B7\\u03BD \\u03B5\\u03B3\\u03B3\\u03C1\\u03B1\\u03C6\\u03AE \\u03BC\\u03B5\\u03C1\\u03B9\\u03BA\\u03AE\\u03C2 \\u03C0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03AE\\u03C2\",disable_on_invoice_sent:\"\\u0391\\u03C0\\u03B5\\u03BD\\u03B5\\u03C1\\u03B3\\u03BF\\u03C0\\u03BF\\u03AF\\u03B7\\u03C3\\u03B7 \\u03BC\\u03B5\\u03C4\\u03AC \\u03C4\\u03B7\\u03BD \\u03B1\\u03C0\\u03BF\\u03C3\\u03C4\\u03BF\\u03BB\\u03AE \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03BF\\u03B3\\u03AF\\u03BF\\u03C5\",retrospective_edits_description:\" \\u039C\\u03B5 \\u03B2\\u03AC\\u03C3\\u03B7 \\u03C4\\u03BF\\u03C5\\u03C2 \\u03BD\\u03CC\\u03BC\\u03BF\\u03C5\\u03C2 \\u03C4\\u03B7\\u03C2 \\u03C7\\u03CE\\u03C1\\u03B1\\u03C2 \\u03C3\\u03B1\\u03C2 \\u03AE \\u03C4\\u03B9\\u03C2 \\u03C0\\u03C1\\u03BF\\u03C4\\u03B9\\u03BC\\u03AE\\u03C3\\u03B5\\u03B9\\u03C2 \\u03C3\\u03B1\\u03C2, \\u03BC\\u03C0\\u03BF\\u03C1\\u03B5\\u03AF\\u03C4\\u03B5 \\u03BD\\u03B1 \\u03C0\\u03B5\\u03C1\\u03B9\\u03BF\\u03C1\\u03AF\\u03C3\\u03B5\\u03C4\\u03B5 \\u03C4\\u03BF\\u03C5\\u03C2 \\u03C7\\u03C1\\u03AE\\u03C3\\u03C4\\u03B5\\u03C2 \\u03B1\\u03C0\\u03CC \\u03C4\\u03B7\\u03BD \\u03B5\\u03C0\\u03B5\\u03BE\\u03B5\\u03C1\\u03B3\\u03B1\\u03C3\\u03AF\\u03B1 \\u03BF\\u03C1\\u03B9\\u03C3\\u03C4\\u03B9\\u03BA\\u03BF\\u03C0\\u03BF\\u03B9\\u03B7\\u03BC\\u03AD\\u03BD\\u03C9\\u03BD \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03BF\\u03B3\\u03AF\\u03C9\\u03BD.\"},estimates:{title:\"\\u0395\\u03BA\\u03C4\\u03B9\\u03BC\\u03AE\\u03C3\\u03B5\\u03B9\\u03C2\",estimate_number_format:\"\\u0395\\u03BA\\u03C4\\u03AF\\u03BC\\u03B7\\u03C3\\u03B7 \\u039C\\u03BF\\u03C1\\u03C6\\u03AE\\u03C2 \\u0391\\u03C1\\u03B9\\u03B8\\u03BC\\u03BF\\u03CD\",estimate_number_format_description:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03B1\\u03C1\\u03BC\\u03CC\\u03C3\\u03C4\\u03B5 \\u03C4\\u03BF\\u03BD \\u03C4\\u03C1\\u03CC\\u03C0\\u03BF \\u03BC\\u03B5 \\u03C4\\u03BF\\u03BD \\u03BF\\u03C0\\u03BF\\u03AF\\u03BF \\u03B4\\u03B7\\u03BC\\u03B9\\u03BF\\u03C5\\u03C1\\u03B3\\u03B5\\u03AF\\u03C4\\u03B1\\u03B9 \\u03B1\\u03C5\\u03C4\\u03CC\\u03BC\\u03B1\\u03C4\\u03B1 \\u03BF \\u03C5\\u03C0\\u03BF\\u03BB\\u03BF\\u03B3\\u03B9\\u03C3\\u03BC\\u03CC\\u03C2 \\u03C3\\u03B1\\u03C2 \\u03CC\\u03C4\\u03B1\\u03BD \\u03B4\\u03B7\\u03BC\\u03B9\\u03BF\\u03C5\\u03C1\\u03B3\\u03B5\\u03AF\\u03C4\\u03B5 \\u03BC\\u03B9\\u03B1 \\u03BD\\u03AD\\u03B1 \\u03B5\\u03BA\\u03C4\\u03AF\\u03BC\\u03B7\\u03C3\\u03B7.\",preview_estimate_number:\"\\u0395\\u03BA\\u03C4\\u03AF\\u03BC\\u03B7\\u03C3\\u03B7 \\u0391\\u03C1\\u03B9\\u03B8\\u03BC\\u03BF\\u03CD \\u03A0\\u03C1\\u03BF\\u03B5\\u03C0\\u03B9\\u03C3\\u03BA\\u03CC\\u03C0\\u03B7\\u03C3\\u03B7\\u03C2\",expiry_date:\"\\u0397\\u03BC\\u03B5\\u03C1\\u03BF\\u03BC\\u03B7\\u03BD\\u03AF\\u03B1 \\u03BB\\u03AE\\u03BE\\u03B7\\u03C2\",expiry_date_description:\"\\u039A\\u03B1\\u03B8\\u03BF\\u03C1\\u03AF\\u03C3\\u03C4\\u03B5 \\u03C0\\u03CE\\u03C2 \\u03BF\\u03C1\\u03AF\\u03B6\\u03B5\\u03C4\\u03B1\\u03B9 \\u03B1\\u03C5\\u03C4\\u03CC\\u03BC\\u03B1\\u03C4\\u03B1 \\u03B7 \\u03B7\\u03BC\\u03B5\\u03C1\\u03BF\\u03BC\\u03B7\\u03BD\\u03AF\\u03B1 \\u03BB\\u03AE\\u03BE\\u03B7\\u03C2 \\u03CC\\u03C4\\u03B1\\u03BD \\u03B4\\u03B7\\u03BC\\u03B9\\u03BF\\u03C5\\u03C1\\u03B3\\u03B5\\u03AF\\u03C4\\u03B5 \\u03BC\\u03B9\\u03B1 \\u03B5\\u03BA\\u03C4\\u03AF\\u03BC\\u03B7\\u03C3\\u03B7.\",expiry_date_days:\"\\u039F \\u03C5\\u03C0\\u03BF\\u03BB\\u03BF\\u03B3\\u03B9\\u03C3\\u03BC\\u03CC\\u03C2 \\u03BB\\u03AE\\u03B3\\u03B5\\u03B9 \\u03BC\\u03B5\\u03C4\\u03AC \\u03B1\\u03C0\\u03CC \\u03B7\\u03BC\\u03AD\\u03C1\\u03B5\\u03C2\",set_expiry_date_automatically:\"\\u039F\\u03C1\\u03B9\\u03C3\\u03BC\\u03CC\\u03C2 \\u0397\\u03BC\\u03B5\\u03C1\\u03BF\\u03BC\\u03B7\\u03BD\\u03AF\\u03B1\\u03C2 \\u039B\\u03AE\\u03BE\\u03B7\\u03C2 \\u0391\\u03C5\\u03C4\\u03CC\\u03BC\\u03B1\\u03C4\\u03B1\",set_expiry_date_automatically_description:\"\\u0395\\u03BD\\u03B5\\u03C1\\u03B3\\u03BF\\u03C0\\u03BF\\u03B9\\u03AE\\u03C3\\u03C4\\u03B5 \\u03C4\\u03BF \\u03B1\\u03BD \\u03B5\\u03C0\\u03B9\\u03B8\\u03C5\\u03BC\\u03B5\\u03AF\\u03C4\\u03B5 \\u03BD\\u03B1 \\u03BF\\u03C1\\u03AF\\u03C3\\u03B5\\u03C4\\u03B5 \\u03C4\\u03B7\\u03BD \\u03B7\\u03BC\\u03B5\\u03C1\\u03BF\\u03BC\\u03B7\\u03BD\\u03AF\\u03B1 \\u03BB\\u03AE\\u03BE\\u03B7\\u03C2 \\u03B1\\u03C5\\u03C4\\u03CC\\u03BC\\u03B1\\u03C4\\u03B1 \\u03CC\\u03C4\\u03B1\\u03BD \\u03B4\\u03B7\\u03BC\\u03B9\\u03BF\\u03C5\\u03C1\\u03B3\\u03B5\\u03AF\\u03C4\\u03B5 \\u03BC\\u03B9\\u03B1 \\u03BD\\u03AD\\u03B1 \\u03B5\\u03BA\\u03C4\\u03AF\\u03BC\\u03B7\\u03C3\\u03B7.\",default_formats:\"\\u03A0\\u03C1\\u03BF\\u03B5\\u03C0\\u03B9\\u03BB\\u03B5\\u03B3\\u03BC\\u03AD\\u03BD\\u03B5\\u03C2 \\u03B5\\u03C0\\u03B5\\u03BA\\u03C4\\u03AC\\u03C3\\u03B5\\u03B9\\u03C2\",default_formats_description:\"\\u03A0\\u03B1\\u03C1\\u03B1\\u03BA\\u03AC\\u03C4\\u03C9 \\u03BF\\u03B9 \\u03C0\\u03B1\\u03C1\\u03B1\\u03BA\\u03AC\\u03C4\\u03C9 \\u03BC\\u03BF\\u03C1\\u03C6\\u03AD\\u03C2 \\u03C7\\u03C1\\u03B7\\u03C3\\u03B9\\u03BC\\u03BF\\u03C0\\u03BF\\u03B9\\u03BF\\u03CD\\u03BD\\u03C4\\u03B1\\u03B9 \\u03B3\\u03B9\\u03B1 \\u03BD\\u03B1 \\u03B3\\u03B5\\u03BC\\u03AF\\u03C3\\u03BF\\u03C5\\u03BD \\u03B1\\u03C5\\u03C4\\u03CC\\u03BC\\u03B1\\u03C4\\u03B1 \\u03C4\\u03B1 \\u03C0\\u03B5\\u03B4\\u03AF\\u03B1 \\u03C3\\u03C4\\u03B7 \\u03B4\\u03B7\\u03BC\\u03B9\\u03BF\\u03C5\\u03C1\\u03B3\\u03AF\\u03B1 \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03BF\\u03B3\\u03AF\\u03C9\\u03BD.\",default_estimate_email_body:\"\\u03A0\\u03C1\\u03BF\\u03BA\\u03B1\\u03B8\\u03BF\\u03C1\\u03B9\\u03C3\\u03BC\\u03AD\\u03BD\\u03BF \\u03A3\\u03CE\\u03BC\\u03B1 Email \\u03A4\\u03B9\\u03BC\\u03BF\\u03BB\\u03BF\\u03B3\\u03AF\\u03BF\\u03C5\",company_address_format:\"\\u039C\\u03BF\\u03C1\\u03C6\\u03AE \\u0394\\u03B9\\u03B5\\u03CD\\u03B8\\u03C5\\u03BD\\u03C3\\u03B7\\u03C2 \\u0395\\u03C4\\u03B1\\u03B9\\u03C1\\u03B5\\u03AF\\u03B1\\u03C2\",shipping_address_format:\"\\u039C\\u03BF\\u03C1\\u03C6\\u03AE \\u0394\\u03B9\\u03B5\\u03CD\\u03B8\\u03C5\\u03BD\\u03C3\\u03B7\\u03C2 \\u0391\\u03C0\\u03BF\\u03C3\\u03C4\\u03BF\\u03BB\\u03AE\\u03C2\",billing_address_format:\"\\u039C\\u03BF\\u03C1\\u03C6\\u03AE \\u0394\\u03B9\\u03B5\\u03CD\\u03B8\\u03C5\\u03BD\\u03C3\\u03B7\\u03C2 \\u03A7\\u03C1\\u03AD\\u03C9\\u03C3\\u03B7\\u03C2\",estimate_email_attachment:\"\\u0391\\u03C0\\u03BF\\u03C3\\u03C4\\u03BF\\u03BB\\u03AE \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03BF\\u03B3\\u03AF\\u03C9\\u03BD \\u03C9\\u03C2 \\u03C3\\u03C5\\u03BD\\u03B7\\u03BC\\u03BC\\u03AD\\u03BD\\u03C9\\u03BD\",estimate_email_attachment_setting_description:\"\\u0395\\u03BD\\u03B5\\u03C1\\u03B3\\u03BF\\u03C0\\u03BF\\u03B9\\u03AE\\u03C3\\u03C4\\u03B5 \\u03B1\\u03C5\\u03C4\\u03CC \\u03B1\\u03BD \\u03B8\\u03AD\\u03BB\\u03B5\\u03C4\\u03B5 \\u03BD\\u03B1 \\u03C3\\u03C4\\u03B5\\u03AF\\u03BB\\u03B5\\u03C4\\u03B5 \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03B1 \\u03C9\\u03C2 \\u03C3\\u03C5\\u03BD\\u03B7\\u03BC\\u03BC\\u03AD\\u03BD\\u03BF email. \\u03A0\\u03B1\\u03C1\\u03B1\\u03BA\\u03B1\\u03BB\\u03CE \\u03C3\\u03B7\\u03BC\\u03B5\\u03B9\\u03CE\\u03C3\\u03C4\\u03B5 \\u03CC\\u03C4\\u03B9 \\u03C4\\u03BF \\u03BA\\u03BF\\u03C5\\u03BC\\u03C0\\u03AF '\\u03A0\\u03C1\\u03BF\\u03B2\\u03BF\\u03BB\\u03AE \\u03A4\\u03B9\\u03BC\\u03BF\\u03BB\\u03BF\\u03B3\\u03AF\\u03BF\\u03C5' \\u03C3\\u03C4\\u03B1 \\u03BC\\u03B7\\u03BD\\u03CD\\u03BC\\u03B1\\u03C4\\u03B1 \\u03B7\\u03BB\\u03B5\\u03BA\\u03C4\\u03C1\\u03BF\\u03BD\\u03B9\\u03BA\\u03BF\\u03CD \\u03C4\\u03B1\\u03C7\\u03C5\\u03B4\\u03C1\\u03BF\\u03BC\\u03B5\\u03AF\\u03BF\\u03C5 \\u03B4\\u03B5\\u03BD \\u03B8\\u03B1 \\u03B5\\u03BC\\u03C6\\u03B1\\u03BD\\u03AF\\u03B6\\u03B5\\u03C4\\u03B1\\u03B9 \\u03C0\\u03BB\\u03AD\\u03BF\\u03BD \\u03CC\\u03C4\\u03B1\\u03BD \\u03B5\\u03AF\\u03BD\\u03B1\\u03B9 \\u03B5\\u03BD\\u03B5\\u03C1\\u03B3\\u03BF\\u03C0\\u03BF\\u03B9\\u03B7\\u03BC\\u03AD\\u03BD\\u03BF.\",estimate_settings_updated:\"\\u039F\\u03B9 \\u03A1\\u03C5\\u03B8\\u03BC\\u03AF\\u03C3\\u03B5\\u03B9\\u03C2 \\u03B5\\u03BD\\u03B7\\u03BC\\u03B5\\u03C1\\u03CE\\u03B8\\u03B7\\u03BA\\u03B1\\u03BD \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03CE\\u03C2\",convert_estimate_options:\"\\u0395\\u03BA\\u03C4\\u03AF\\u03BC\\u03B7\\u03C3\\u03B7 \\u039C\\u03B5\\u03C4\\u03B1\\u03C4\\u03C1\\u03BF\\u03C0\\u03AE\\u03C2 \\u0395\\u03BD\\u03AD\\u03C1\\u03B3\\u03B5\\u03B9\\u03B1\\u03C2\",convert_estimate_description:\"\\u039A\\u03B1\\u03B8\\u03BF\\u03C1\\u03AF\\u03C3\\u03C4\\u03B5 \\u03C4\\u03B9 \\u03C3\\u03C5\\u03BC\\u03B2\\u03B1\\u03AF\\u03BD\\u03B5\\u03B9 \\u03C3\\u03C4\\u03B7\\u03BD \\u03B5\\u03BA\\u03C4\\u03AF\\u03BC\\u03B7\\u03C3\\u03B7 \\u03B1\\u03C6\\u03BF\\u03CD \\u03BC\\u03B5\\u03C4\\u03B1\\u03C4\\u03C1\\u03B1\\u03C0\\u03B5\\u03AF \\u03C3\\u03B5 \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF.\",no_action:\"\\u039A\\u03B1\\u03BC\\u03AF\\u03B1 \\u03B5\\u03BD\\u03AD\\u03C1\\u03B3\\u03B5\\u03B9\\u03B1\",delete_estimate:\"\\u0394\\u03B9\\u03B1\\u03B3\\u03C1\\u03B1\\u03C6\\u03AE \\u03B5\\u03BA\\u03C4\\u03AF\\u03BC\\u03B7\\u03C3\\u03B7\\u03C2\",mark_estimate_as_accepted:\"\\u03A3\\u03B7\\u03BC\\u03B5\\u03B9\\u03CE\\u03C3\\u03C4\\u03B5 \\u03C4\\u03B7\\u03BD \\u03B5\\u03BA\\u03C4\\u03AF\\u03BC\\u03B7\\u03C3\\u03B7 \\u03C9\\u03C2 \\u03B1\\u03C0\\u03BF\\u03B4\\u03B5\\u03BA\\u03C4\\u03AE\"},payments:{title:\"\\u03A0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03AD\\u03C2\",payment_number_format:\"\\u039C\\u03BF\\u03C1\\u03C6\\u03AE \\u0391\\u03C1\\u03B9\\u03B8\\u03BC\\u03BF\\u03CD \\u03A0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03AE\\u03C2\",payment_number_format_description:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03B1\\u03C1\\u03BC\\u03CC\\u03C3\\u03C4\\u03B5 \\u03C4\\u03BF\\u03BD \\u03C4\\u03C1\\u03CC\\u03C0\\u03BF \\u03BC\\u03B5 \\u03C4\\u03BF\\u03BD \\u03BF\\u03C0\\u03BF\\u03AF\\u03BF \\u03B4\\u03B7\\u03BC\\u03B9\\u03BF\\u03C5\\u03C1\\u03B3\\u03B5\\u03AF\\u03C4\\u03B1\\u03B9 \\u03B1\\u03C5\\u03C4\\u03CC\\u03BC\\u03B1\\u03C4\\u03B1 \\u03BF \\u03C5\\u03C0\\u03BF\\u03BB\\u03BF\\u03B3\\u03B9\\u03C3\\u03BC\\u03CC\\u03C2 \\u03C3\\u03B1\\u03C2 \\u03CC\\u03C4\\u03B1\\u03BD \\u03B4\\u03B7\\u03BC\\u03B9\\u03BF\\u03C5\\u03C1\\u03B3\\u03B5\\u03AF\\u03C4\\u03B5 \\u03BC\\u03B9\\u03B1 \\u03BD\\u03AD\\u03B1 \\u03B5\\u03BA\\u03C4\\u03AF\\u03BC\\u03B7\\u03C3\\u03B7.\",preview_payment_number:\"\\u03A0\\u03C1\\u03BF\\u03B5\\u03C0\\u03B9\\u03C3\\u03BA\\u03CC\\u03C0\\u03B7\\u03C3\\u03B7 \\u0391\\u03C1\\u03B9\\u03B8\\u03BC\\u03BF\\u03CD \\u03A0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03AE\\u03C2\",default_formats:\"\\u03A0\\u03C1\\u03BF\\u03B5\\u03C0\\u03B9\\u03BB\\u03B5\\u03B3\\u03BC\\u03AD\\u03BD\\u03B5\\u03C2 \\u03B5\\u03C0\\u03B5\\u03BA\\u03C4\\u03AC\\u03C3\\u03B5\\u03B9\\u03C2\",default_formats_description:\"\\u03A0\\u03B1\\u03C1\\u03B1\\u03BA\\u03AC\\u03C4\\u03C9 \\u03BF\\u03B9 \\u03C0\\u03B1\\u03C1\\u03B1\\u03BA\\u03AC\\u03C4\\u03C9 \\u03BC\\u03BF\\u03C1\\u03C6\\u03AD\\u03C2 \\u03C7\\u03C1\\u03B7\\u03C3\\u03B9\\u03BC\\u03BF\\u03C0\\u03BF\\u03B9\\u03BF\\u03CD\\u03BD\\u03C4\\u03B1\\u03B9 \\u03B3\\u03B9\\u03B1 \\u03BD\\u03B1 \\u03B3\\u03B5\\u03BC\\u03AF\\u03C3\\u03BF\\u03C5\\u03BD \\u03B1\\u03C5\\u03C4\\u03CC\\u03BC\\u03B1\\u03C4\\u03B1 \\u03C4\\u03B1 \\u03C0\\u03B5\\u03B4\\u03AF\\u03B1 \\u03C3\\u03C4\\u03B7 \\u03B4\\u03B7\\u03BC\\u03B9\\u03BF\\u03C5\\u03C1\\u03B3\\u03AF\\u03B1 \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03BF\\u03B3\\u03AF\\u03C9\\u03BD.\",default_payment_email_body:\"\\u03A0\\u03C1\\u03BF\\u03BA\\u03B1\\u03B8\\u03BF\\u03C1\\u03B9\\u03C3\\u03BC\\u03AD\\u03BD\\u03BF \\u03A3\\u03CE\\u03BC\\u03B1 Email \\u03A4\\u03B9\\u03BC\\u03BF\\u03BB\\u03BF\\u03B3\\u03AF\\u03BF\\u03C5\",company_address_format:\"\\u039C\\u03BF\\u03C1\\u03C6\\u03AE \\u0394\\u03B9\\u03B5\\u03CD\\u03B8\\u03C5\\u03BD\\u03C3\\u03B7\\u03C2 \\u0395\\u03C4\\u03B1\\u03B9\\u03C1\\u03B5\\u03AF\\u03B1\\u03C2\",from_customer_address_format:\"\\u0391\\u03C0\\u03CC \\u03A4\\u03B7 \\u039C\\u03BF\\u03C1\\u03C6\\u03AE \\u0394\\u03B9\\u03B5\\u03CD\\u03B8\\u03C5\\u03BD\\u03C3\\u03B7\\u03C2 \\u03A0\\u03B5\\u03BB\\u03AC\\u03C4\\u03B7\",payment_email_attachment:\"\\u0391\\u03C0\\u03BF\\u03C3\\u03C4\\u03BF\\u03BB\\u03AE \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03BF\\u03B3\\u03AF\\u03C9\\u03BD \\u03C9\\u03C2 \\u03C3\\u03C5\\u03BD\\u03B7\\u03BC\\u03BC\\u03AD\\u03BD\\u03C9\\u03BD\",payment_email_attachment_setting_description:\"\\u0395\\u03BD\\u03B5\\u03C1\\u03B3\\u03BF\\u03C0\\u03BF\\u03B9\\u03AE\\u03C3\\u03C4\\u03B5 \\u03B1\\u03C5\\u03C4\\u03CC \\u03B1\\u03BD \\u03B8\\u03AD\\u03BB\\u03B5\\u03C4\\u03B5 \\u03BD\\u03B1 \\u03C3\\u03C4\\u03B5\\u03AF\\u03BB\\u03B5\\u03C4\\u03B5 \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03B1 \\u03C9\\u03C2 \\u03C3\\u03C5\\u03BD\\u03B7\\u03BC\\u03BC\\u03AD\\u03BD\\u03BF email. \\u03A0\\u03B1\\u03C1\\u03B1\\u03BA\\u03B1\\u03BB\\u03CE \\u03C3\\u03B7\\u03BC\\u03B5\\u03B9\\u03CE\\u03C3\\u03C4\\u03B5 \\u03CC\\u03C4\\u03B9 \\u03C4\\u03BF \\u03BA\\u03BF\\u03C5\\u03BC\\u03C0\\u03AF '\\u03A0\\u03C1\\u03BF\\u03B2\\u03BF\\u03BB\\u03AE \\u03A4\\u03B9\\u03BC\\u03BF\\u03BB\\u03BF\\u03B3\\u03AF\\u03BF\\u03C5' \\u03C3\\u03C4\\u03B1 \\u03BC\\u03B7\\u03BD\\u03CD\\u03BC\\u03B1\\u03C4\\u03B1 \\u03B7\\u03BB\\u03B5\\u03BA\\u03C4\\u03C1\\u03BF\\u03BD\\u03B9\\u03BA\\u03BF\\u03CD \\u03C4\\u03B1\\u03C7\\u03C5\\u03B4\\u03C1\\u03BF\\u03BC\\u03B5\\u03AF\\u03BF\\u03C5 \\u03B4\\u03B5\\u03BD \\u03B8\\u03B1 \\u03B5\\u03BC\\u03C6\\u03B1\\u03BD\\u03AF\\u03B6\\u03B5\\u03C4\\u03B1\\u03B9 \\u03C0\\u03BB\\u03AD\\u03BF\\u03BD \\u03CC\\u03C4\\u03B1\\u03BD \\u03B5\\u03AF\\u03BD\\u03B1\\u03B9 \\u03B5\\u03BD\\u03B5\\u03C1\\u03B3\\u03BF\\u03C0\\u03BF\\u03B9\\u03B7\\u03BC\\u03AD\\u03BD\\u03BF.\",payment_settings_updated:\"\\u039F\\u03B9 \\u03A1\\u03C5\\u03B8\\u03BC\\u03AF\\u03C3\\u03B5\\u03B9\\u03C2 \\u03B5\\u03BD\\u03B7\\u03BC\\u03B5\\u03C1\\u03CE\\u03B8\\u03B7\\u03BA\\u03B1\\u03BD \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03CE\\u03C2\"},items:{title:\"\\u03A0\\u03C1\\u03BF\\u03CA\\u03CC\\u03BD\\u03C4\\u03B1\",units:\"\\u039C\\u03BF\\u03BD\\u03AC\\u03B4\\u03B5\\u03C2\",add_item_unit:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03B8\\u03AE\\u03BA\\u03B7 \\u039C\\u03BF\\u03BD\\u03AC\\u03B4\\u03B1\\u03C2 \\u0391\\u03BD\\u03C4\\u03B9\\u03BA\\u03B5\\u03B9\\u03BC\\u03AD\\u03BD\\u03BF\\u03C5\",edit_item_unit:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03B8\\u03AE\\u03BA\\u03B7 \\u039C\\u03BF\\u03BD\\u03AC\\u03B4\\u03B1\\u03C2 \\u0391\\u03BD\\u03C4\\u03B9\\u03BA\\u03B5\\u03B9\\u03BC\\u03AD\\u03BD\\u03BF\\u03C5\",unit_name:\"\\u038C\\u03BD\\u03BF\\u03BC\\u03B1 \\u03BC\\u03BF\\u03BD\\u03AC\\u03B4\\u03B1\\u03C2\",item_unit_added:\"\\u03A4\\u03BF \\u0391\\u03BD\\u03C4\\u03B9\\u03BA\\u03B5\\u03AF\\u03BC\\u03B5\\u03BD\\u03BF \\u0394\\u03B5\\u03BD \\u03A0\\u03C1\\u03BF\\u03C3\\u03B8\\u03AD\\u03B8\\u03B7\\u03BA\\u03B5\",item_unit_updated:\"\\u03A4\\u03BF \\u0391\\u03BD\\u03C4\\u03B9\\u03BA\\u03B5\\u03AF\\u03BC\\u03B5\\u03BD\\u03BF \\u0394\\u03B5\\u03BD \\u03A0\\u03C1\\u03BF\\u03C3\\u03B8\\u03AD\\u03B8\\u03B7\\u03BA\\u03B5\",item_unit_confirm_delete:\"\\u0394\\u03B5\\u03BD \\u03B8\\u03B1 \\u03BC\\u03C0\\u03BF\\u03C1\\u03B5\\u03AF\\u03C4\\u03B5 \\u03BD\\u03B1 \\u03B1\\u03BD\\u03B1\\u03BA\\u03C4\\u03AE\\u03C3\\u03B5\\u03C4\\u03B5 \\u03B1\\u03C5\\u03C4\\u03CC \\u03C4\\u03BF \\u03A0\\u03C1\\u03BF\\u03C3\\u03B1\\u03C1\\u03BC\\u03BF\\u03C3\\u03BC\\u03AD\\u03BD\\u03BF \\u03A0\\u03B5\\u03B4\\u03AF\\u03BF\",already_in_use:\"\\u0397 \\u03B4\\u03B9\\u03B5\\u03CD\\u03B8\\u03C5\\u03BD\\u03C3\\u03B7 email \\u03C7\\u03C1\\u03B7\\u03C3\\u03B9\\u03BC\\u03BF\\u03C0\\u03BF\\u03B9\\u03B5\\u03AF\\u03C4\\u03B1\\u03B9 \\u03AE\\u03B4\\u03B7\",deleted_message:\"\\u03A4\\u03B1 \\u03C3\\u03C4\\u03BF\\u03B9\\u03C7\\u03B5\\u03AF\\u03B1 \\u03AD\\u03C7\\u03BF\\u03C5\\u03BD \\u03B4\\u03B9\\u03B1\\u03B3\\u03C1\\u03B1\\u03C6\\u03B5\\u03AF \\u03BC\\u03B5 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03AF\\u03B1\"},notes:{title:\"\\u03A3\\u03B7\\u03BC\\u03B5\\u03B9\\u03CE\\u03C3\\u03B5\\u03B9\\u03C2\",description:\"\\u0395\\u03BE\\u03BF\\u03B9\\u03BA\\u03BF\\u03BD\\u03BF\\u03BC\\u03AE\\u03C3\\u03C4\\u03B5 \\u03C7\\u03C1\\u03CC\\u03BD\\u03BF \\u03B4\\u03B7\\u03BC\\u03B9\\u03BF\\u03C5\\u03C1\\u03B3\\u03CE\\u03BD\\u03C4\\u03B1\\u03C2 \\u03C3\\u03B7\\u03BC\\u03B5\\u03B9\\u03CE\\u03C3\\u03B5\\u03B9\\u03C2 \\u03BA\\u03B1\\u03B9 \\u03B5\\u03C0\\u03B1\\u03BD\\u03B1\\u03C7\\u03C1\\u03B7\\u03C3\\u03B9\\u03BC\\u03BF\\u03C0\\u03BF\\u03AF\\u03B7\\u03C3\\u03AE \\u03C4\\u03BF\\u03C5\\u03C2 \\u03C3\\u03C4\\u03B1 \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03B1 \\u03C3\\u03B1\\u03C2, \\u03B5\\u03BA\\u03C4\\u03B9\\u03BC\\u03AE\\u03C3\\u03B5\\u03B9\\u03C2 \\u03BA\\u03B1\\u03B9 \\u03C0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03AD\\u03C2.\",notes:\"\\u03A3\\u03B7\\u03BC\\u03B5\\u03B9\\u03CE\\u03C3\\u03B5\\u03B9\\u03C2\",type:\"Type\",add_note:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03B8\\u03AE\\u03BA\\u03B7 \\u03C3\\u03B7\\u03BC\\u03B5\\u03AF\\u03C9\\u03C3\\u03B7\\u03C2\",add_new_note:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03B8\\u03AE\\u03BA\\u03B7 \\u039D\\u03AD\\u03B1\\u03C2 \\u03A3\\u03B7\\u03BC\\u03B5\\u03AF\\u03C9\\u03C3\\u03B7\\u03C2\",name:\"\\u038C\\u03BD\\u03BF\\u03BC\\u03B1\",edit_note:\"\\u0395\\u03C0\\u03B5\\u03BE\\u03B5\\u03C1\\u03B3\\u03B1\\u03C3\\u03AF\\u03B1 \\u03C3\\u03B7\\u03BC\\u03B5\\u03AF\\u03C9\\u03C3\\u03B7\\u03C2\",note_added:\"\\u03C0\\u03C1\\u03BF\\u03C3\\u03C4\\u03AD\\u03B8\\u03B7\\u03BA\\u03B5 \\u03BC\\u03B5 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03AF\\u03B1\",note_updated:\"\\u039F \\u03C1\\u03CC\\u03BB\\u03BF\\u03C2 \\u03B5\\u03BD\\u03B7\\u03BC\\u03B5\\u03C1\\u03CE\\u03B8\\u03B7\\u03BA\\u03B5 \\u03BC\\u03B5 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03AF\\u03B1.\",note_confirm_delete:\"\\u0394\\u03B5\\u03BD \\u03B8\\u03B1 \\u03BC\\u03C0\\u03BF\\u03C1\\u03B5\\u03AF\\u03C4\\u03B5 \\u03BD\\u03B1 \\u03B1\\u03BD\\u03B1\\u03BA\\u03C4\\u03AE\\u03C3\\u03B5\\u03C4\\u03B5 \\u03B1\\u03C5\\u03C4\\u03CC \\u03C4\\u03BF \\u03A0\\u03C1\\u03BF\\u03C3\\u03B1\\u03C1\\u03BC\\u03BF\\u03C3\\u03BC\\u03AD\\u03BD\\u03BF \\u03A0\\u03B5\\u03B4\\u03AF\\u03BF\",already_in_use:\"\\u03A4\\u03BF \\u03CC\\u03BD\\u03BF\\u03BC\\u03B1 \\u03B5\\u03AF\\u03BD\\u03B1\\u03B9 \\u03AE\\u03B4\\u03B7 \\u03C3\\u03B5 \\u03C7\\u03C1\\u03AE\\u03C3\\u03B7\",deleted_message:\"\\u039F \\u03C1\\u03CC\\u03BB\\u03BF\\u03C2 \\u03B4\\u03B9\\u03B1\\u03B3\\u03C1\\u03AC\\u03C6\\u03B7\\u03BA\\u03B5 \\u03BC\\u03B5 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03AF\\u03B1\"}},account_settings:{profile_picture:\"\\u0395\\u03B9\\u03BA\\u03CC\\u03BD\\u03B1 \\u03A0\\u03C1\\u03BF\\u03C6\\u03AF\\u03BB\",name:\"\\u038C\\u03BD\\u03BF\\u03BC\\u03B1\",email:\"\\u0397\\u03BB\\u03B5\\u03BA\\u03C4\\u03C1\\u03BF\\u03BD\\u03B9\\u03BA\\u03AE \\u03B4\\u03B9\\u03B5\\u03CD\\u03B8\\u03C5\\u03BD\\u03C3\\u03B7\",password:\"\\u039A\\u03C9\\u03B4\\u03B9\\u03BA\\u03CC\\u03C2\",confirm_password:\"\\u0395\\u03C0\\u03B9\\u03B2\\u03B5\\u03B2\\u03B1\\u03AF\\u03C9\\u03C3\\u03B7 \\u039A\\u03C9\\u03B4\\u03B9\\u03BA\\u03BF\\u03CD\",account_settings:\"\\u03A1\\u03C5\\u03B8\\u03BC\\u03AF\\u03C3\\u03B5\\u03B9\\u03C2 \\u039B\\u03BF\\u03B3\\u03B1\\u03C1\\u03B9\\u03B1\\u03C3\\u03BC\\u03BF\\u03CD\",save:\"\\u0391\\u03C0\\u03BF\\u03B8\\u03AE\\u03BA\\u03B5\\u03C5\\u03C3\\u03B7\",section_description:\"\\u039C\\u03C0\\u03BF\\u03C1\\u03B5\\u03AF\\u03C4\\u03B5 \\u03BD\\u03B1 \\u03B5\\u03BD\\u03B7\\u03BC\\u03B5\\u03C1\\u03CE\\u03C3\\u03B5\\u03C4\\u03B5 \\u03C4\\u03BF \\u03CC\\u03BD\\u03BF\\u03BC\\u03AC \\u03C3\\u03B1\\u03C2, email & \\u03BA\\u03C9\\u03B4\\u03B9\\u03BA\\u03CC \\u03C0\\u03C1\\u03CC\\u03C3\\u03B2\\u03B1\\u03C3\\u03B7\\u03C2 \\u03C7\\u03C1\\u03B7\\u03C3\\u03B9\\u03BC\\u03BF\\u03C0\\u03BF\\u03B9\\u03CE\\u03BD\\u03C4\\u03B1\\u03C2 \\u03C4\\u03B7\\u03BD \\u03C0\\u03B1\\u03C1\\u03B1\\u03BA\\u03AC\\u03C4\\u03C9 \\u03C6\\u03CC\\u03C1\\u03BC\\u03B1.\",updated_message:\"\\u039F\\u03B9 \\u03C1\\u03C5\\u03B8\\u03BC\\u03AF\\u03C3\\u03B5\\u03B9\\u03C2 \\u03C4\\u03BF\\u03C5 \\u03BB\\u03BF\\u03B3\\u03B1\\u03C1\\u03B9\\u03B1\\u03C3\\u03BC\\u03BF\\u03CD \\u03B5\\u03BD\\u03B7\\u03BC\\u03B5\\u03C1\\u03CE\\u03B8\\u03B7\\u03BA\\u03B1\\u03BD \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03CE\\u03C2!\"},user_profile:{name:\"\\u038C\\u03BD\\u03BF\\u03BC\\u03B1\",email:\"\\u0397\\u03BB\\u03B5\\u03BA\\u03C4\\u03C1\\u03BF\\u03BD\\u03B9\\u03BA\\u03AE \\u03B4\\u03B9\\u03B5\\u03CD\\u03B8\\u03C5\\u03BD\\u03C3\\u03B7\",password:\"\\u039A\\u03C9\\u03B4\\u03B9\\u03BA\\u03CC\\u03C2\",confirm_password:\"\\u0395\\u03C0\\u03B9\\u03B2\\u03B5\\u03B2\\u03B1\\u03AF\\u03C9\\u03C3\\u03B7 \\u039A\\u03C9\\u03B4\\u03B9\\u03BA\\u03BF\\u03CD\"},notification:{title:\"\\u0395\\u03B9\\u03B4\\u03BF\\u03C0\\u03BF\\u03B9\\u03AE\\u03C3\\u03B5\\u03B9\\u03C2\",email:\"\\u0391\\u03C0\\u03BF\\u03C3\\u03C4\\u03BF\\u03BB\\u03AE \\u03B5\\u03B9\\u03B4\\u03BF\\u03C0\\u03BF\\u03B9\\u03AE\\u03C3\\u03B5\\u03C9\\u03BD\",description:\"\\u03A0\\u03BF\\u03B9\\u03B5\\u03C2 \\u03B5\\u03B9\\u03B4\\u03BF\\u03C0\\u03BF\\u03B9\\u03AE\\u03C3\\u03B5\\u03B9\\u03C2 \\u03B7\\u03BB\\u03B5\\u03BA\\u03C4\\u03C1\\u03BF\\u03BD\\u03B9\\u03BA\\u03BF\\u03CD \\u03C4\\u03B1\\u03C7\\u03C5\\u03B4\\u03C1\\u03BF\\u03BC\\u03B5\\u03AF\\u03BF\\u03C5 \\u03B8\\u03B1 \\u03B8\\u03AD\\u03BB\\u03B1\\u03C4\\u03B5 \\u03BD\\u03B1 \\u03BB\\u03B1\\u03BC\\u03B2\\u03AC\\u03BD\\u03B5\\u03C4\\u03B5 \\u03CC\\u03C4\\u03B1\\u03BD \\u03BA\\u03AC\\u03C4\\u03B9 \\u03B1\\u03BB\\u03BB\\u03AC\\u03B6\\u03B5\\u03B9?\",invoice_viewed:\"\\u03A4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF \\u03C0\\u03C1\\u03BF\\u03B2\\u03BB\\u03AE\\u03B8\\u03B7\\u03BA\\u03B5\",invoice_viewed_desc:\"\\u038C\\u03C4\\u03B1\\u03BD \\u03BF \\u03C0\\u03B5\\u03BB\\u03AC\\u03C4\\u03B7\\u03C2 \\u03C3\\u03B1\\u03C2 \\u03B2\\u03BB\\u03AD\\u03C0\\u03B5\\u03B9 \\u03C4\\u03BF \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF \\u03C0\\u03BF\\u03C5 \\u03B1\\u03C0\\u03BF\\u03C3\\u03C4\\u03AD\\u03BB\\u03BB\\u03B5\\u03C4\\u03B1\\u03B9 \\u03BC\\u03AD\\u03C3\\u03C9 \\u03C4\\u03BF\\u03C5 \\u03C0\\u03AF\\u03BD\\u03B1\\u03BA\\u03B1 \\u03B5\\u03BB\\u03AD\\u03B3\\u03C7\\u03BF\\u03C5.\",estimate_viewed:\"\\u0395\\u03BA\\u03C4\\u03AF\\u03BC\\u03B7\\u03C3\\u03B7 \\u03C0\\u03C1\\u03BF\\u03B2\\u03B5\\u03B2\\u03BB\\u03B7\\u03BC\\u03AD\\u03BD\\u03C9\\u03BD\",estimate_viewed_desc:\"\\u038C\\u03C4\\u03B1\\u03BD \\u03BF \\u03C0\\u03B5\\u03BB\\u03AC\\u03C4\\u03B7\\u03C2 \\u03C3\\u03B1\\u03C2 \\u03B2\\u03BB\\u03AD\\u03C0\\u03B5\\u03B9 \\u03C4\\u03B7\\u03BD \\u03B5\\u03BA\\u03C4\\u03AF\\u03BC\\u03B7\\u03C3\\u03B7 \\u03C0\\u03BF\\u03C5 \\u03B1\\u03C0\\u03BF\\u03C3\\u03C4\\u03AD\\u03BB\\u03BB\\u03B5\\u03C4\\u03B1\\u03B9 \\u03BC\\u03AD\\u03C3\\u03C9 \\u03C4\\u03BF\\u03C5 \\u03C0\\u03AF\\u03BD\\u03B1\\u03BA\\u03B1 \\u03B5\\u03BB\\u03AD\\u03B3\\u03C7\\u03BF\\u03C5 \\u03BA\\u03C1\\u03B1\\u03C4\\u03AE\\u03C3\\u03B5\\u03C9\\u03BD.\",save:\"\\u0391\\u03C0\\u03BF\\u03B8\\u03AE\\u03BA\\u03B5\\u03C5\\u03C3\\u03B7\",email_save_message:\"\\u03A4\\u03BF \\u039C\\u03AE\\u03BD\\u03C5\\u03BC\\u03B1 \\u03B5\\u03C3\\u03C4\\u03AC\\u03BB\\u03B7 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03CE\\u03C2\",please_enter_email:\"\\u0395\\u03B9\\u03C3\\u03B1\\u03B3\\u03AC\\u03B3\\u03B5\\u03C4\\u03B5 e-mail\"},roles:{title:\"\\u03A1\\u03CC\\u03BB\\u03BF\\u03B9\",description:\"\\u0394\\u03B9\\u03B1\\u03C7\\u03B5\\u03B9\\u03C1\\u03B9\\u03C3\\u03C4\\u03B5\\u03AF\\u03C4\\u03B5 \\u03C4\\u03BF\\u03C5\\u03C2 \\u03C1\\u03CC\\u03BB\\u03BF\\u03C5\\u03C2 \\u03BA\\u03B1\\u03B9 \\u03C4\\u03B1 \\u03B4\\u03B9\\u03BA\\u03B1\\u03B9\\u03CE\\u03BC\\u03B1\\u03C4\\u03B1 \\u03B1\\u03C5\\u03C4\\u03AE\\u03C2 \\u03C4\\u03B7\\u03C2 \\u03B5\\u03C4\\u03B1\\u03B9\\u03C1\\u03B5\\u03AF\\u03B1\\u03C2\",save:\"\\u0391\\u03C0\\u03BF\\u03B8\\u03AE\\u03BA\\u03B5\\u03C5\\u03C3\\u03B7\",add_new_role:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03B8\\u03AE\\u03BA\\u03B7 \\u039D\\u03AD\\u03BF\\u03C5 \\u03A1\\u03CC\\u03BB\\u03BF\\u03C5\",role_name:\"\\u038C\\u03BD\\u03BF\\u03BC\\u03B1 \\u03C1\\u03CC\\u03BB\\u03BF\\u03C5\",added_on:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03C4\\u03AD\\u03B8\\u03B7\\u03BA\\u03B5 \\u03C3\\u03C4\\u03B9\\u03C2\",add_role:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03B8\\u03AE\\u03BA\\u03B7 \\u03C1\\u03CC\\u03BB\\u03BF\\u03C5\",edit_role:\"\\u0395\\u03C0\\u03B5\\u03BE\\u03B5\\u03C1\\u03B3\\u03B1\\u03C3\\u03AF\\u03B1 \\u03A1\\u03CC\\u03BB\\u03BF\\u03C5\",name:\"\\u038C\\u03BD\\u03BF\\u03BC\\u03B1\",permission:\"\\u0394\\u03B9\\u03BA\\u03B1\\u03B9\\u03CE\\u03BC\\u03B1\\u03C4\\u03B1 \\u0394\\u03B9\\u03BA\\u03B1\\u03B9\\u03C9\\u03BC\\u03AC\\u03C4\\u03C9\\u03BD\",select_all:\"\\u0395\\u03C0\\u03B9\\u03BB\\u03BF\\u03B3\\u03AE \\u038C\\u03BB\\u03C9\\u03BD\",none:\"\\u039A\\u03B1\\u03BD\\u03B5\\u03AF\\u03C2\",confirm_delete:\"\\u0394\\u03B5\\u03BD \\u03B8\\u03B1 \\u03BC\\u03C0\\u03BF\\u03C1\\u03B5\\u03AF\\u03C4\\u03B5 \\u03BD\\u03B1 \\u03B1\\u03BD\\u03B1\\u03BA\\u03C4\\u03AE\\u03C3\\u03B5\\u03C4\\u03B5 \\u03B1\\u03C5\\u03C4\\u03CC \\u03C4\\u03BF \\u03A0\\u03C1\\u03BF\\u03C3\\u03B1\\u03C1\\u03BC\\u03BF\\u03C3\\u03BC\\u03AD\\u03BD\\u03BF \\u03A0\\u03B5\\u03B4\\u03AF\\u03BF\",created_message:\"\\u039F \\u03C7\\u03C1\\u03AE\\u03C3\\u03C4\\u03B7\\u03C2 \\u03B4\\u03B7\\u03BC\\u03B9\\u03BF\\u03C5\\u03C1\\u03B3\\u03AE\\u03B8\\u03B7\\u03BA\\u03B5 \\u03BC\\u03B5 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03AF\\u03B1\",updated_message:\"\\u039F \\u03C1\\u03CC\\u03BB\\u03BF\\u03C2 \\u03B5\\u03BD\\u03B7\\u03BC\\u03B5\\u03C1\\u03CE\\u03B8\\u03B7\\u03BA\\u03B5 \\u03BC\\u03B5 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03AF\\u03B1.\",deleted_message:\"\\u039F \\u03C1\\u03CC\\u03BB\\u03BF\\u03C2 \\u03B4\\u03B9\\u03B1\\u03B3\\u03C1\\u03AC\\u03C6\\u03B7\\u03BA\\u03B5 \\u03BC\\u03B5 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03AF\\u03B1\",already_in_use:\"\\u03A4\\u03BF \\u03CC\\u03BD\\u03BF\\u03BC\\u03B1 \\u03B5\\u03AF\\u03BD\\u03B1\\u03B9 \\u03AE\\u03B4\\u03B7 \\u03C3\\u03B5 \\u03C7\\u03C1\\u03AE\\u03C3\\u03B7\"},exchange_rate:{exchange_rate:\"\\u03A3\\u03C5\\u03BD\\u03B1\\u03BB\\u03BB\\u03B1\\u03B3\\u03BC\\u03B1\\u03C4\\u03B9\\u03BA\\u03AE \\u03B9\\u03C3\\u03BF\\u03C4\\u03B9\\u03BC\\u03AF\\u03B1\",title:\"\\u0394\\u03B9\\u03CC\\u03C1\\u03B8\\u03C9\\u03C3\\u03B7 \\u03B6\\u03B7\\u03C4\\u03B7\\u03BC\\u03AC\\u03C4\\u03C9\\u03BD \\u03C3\\u03C5\\u03BD\\u03B1\\u03BB\\u03BB\\u03AC\\u03B3\\u03BC\\u03B1\\u03C4\\u03BF\\u03C2\",description:\"\\u03A0\\u03B1\\u03C1\\u03B1\\u03BA\\u03B1\\u03BB\\u03BF\\u03CD\\u03BC\\u03B5 \\u03B5\\u03B9\\u03C3\\u03AC\\u03B3\\u03B5\\u03C4\\u03B5 \\u03C4\\u03B7 \\u03C3\\u03C5\\u03BD\\u03B1\\u03BB\\u03BB\\u03B1\\u03B3\\u03BC\\u03B1\\u03C4\\u03B9\\u03BA\\u03AE \\u03B9\\u03C3\\u03BF\\u03C4\\u03B9\\u03BC\\u03AF\\u03B1 \\u03CC\\u03BB\\u03C9\\u03BD \\u03C4\\u03C9\\u03BD \\u03BD\\u03BF\\u03BC\\u03B9\\u03C3\\u03BC\\u03AC\\u03C4\\u03C9\\u03BD \\u03C0\\u03BF\\u03C5 \\u03B1\\u03BD\\u03B1\\u03C6\\u03AD\\u03C1\\u03BF\\u03BD\\u03C4\\u03B1\\u03B9 \\u03C0\\u03B1\\u03C1\\u03B1\\u03BA\\u03AC\\u03C4\\u03C9 \\u03B3\\u03B9\\u03B1 \\u03BD\\u03B1 \\u03B2\\u03BF\\u03B7\\u03B8\\u03AE\\u03C3\\u03B5\\u03C4\\u03B5 \\u03C4\\u03BF\\u03BD \\u039A\\u03C1\\u03B1\\u03C4\\u03AE\\u03C1\\u03B1 \\u03BD\\u03B1 \\u03C5\\u03C0\\u03BF\\u03BB\\u03BF\\u03B3\\u03AF\\u03C3\\u03B5\\u03B9 \\u03C3\\u03C9\\u03C3\\u03C4\\u03AC \\u03C4\\u03B1 \\u03C0\\u03BF\\u03C3\\u03AC \\u03C3\\u03B5 {currency}.\",drivers:\"\\u039F\\u03B4\\u03B7\\u03B3\\u03BF\\u03AF\",new_driver:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03B8\\u03AE\\u03BA\\u03B7 \\u03BD\\u03AD\\u03B1\\u03C2 \\u03C5\\u03C0\\u03B7\\u03C1\\u03B5\\u03C3\\u03AF\\u03B1\\u03C2 \\u03C0\\u03B1\\u03C1\\u03BF\\u03C7\\u03AE\\u03C2\",edit_driver:\"\\u0395\\u03C0\\u03B5\\u03BE\\u03B5\\u03C1\\u03B3\\u03B1\\u03C3\\u03AF\\u03B1 \\u03C0\\u03B1\\u03C1\\u03CC\\u03C7\\u03BF\\u03C5\",select_driver:\"\\u0395\\u03C0\\u03B9\\u03BB\\u03AD\\u03BE\\u03C4\\u03B5 \\u03AD\\u03BD\\u03B1\\u03BD \\u039F\\u03B4\\u03B7\\u03B3\\u03CC\",update:\"\\u03B5\\u03C0\\u03B9\\u03BB\\u03BF\\u03B3\\u03AE \\u03C3\\u03C5\\u03BD\\u03B1\\u03BB\\u03BB\\u03B1\\u03B3\\u03BC\\u03B1\\u03C4\\u03B9\\u03BA\\u03AE\\u03C2 \\u03B9\\u03C3\\u03BF\\u03C4\\u03B9\\u03BC\\u03AF\\u03B1\\u03C2 \",providers_description:\"\\u03A1\\u03C5\\u03B8\\u03BC\\u03AF\\u03C3\\u03C4\\u03B5 \\u03C4\\u03BF\\u03C5\\u03C2 \\u03C0\\u03B1\\u03C1\\u03CC\\u03C7\\u03BF\\u03C5\\u03C2 \\u03C3\\u03C5\\u03BD\\u03B1\\u03BB\\u03BB\\u03B1\\u03B3\\u03BC\\u03B1\\u03C4\\u03B9\\u03BA\\u03CE\\u03BD \\u03B9\\u03C3\\u03BF\\u03C4\\u03B9\\u03BC\\u03B9\\u03CE\\u03BD \\u03C3\\u03B1\\u03C2 \\u03B5\\u03B4\\u03CE \\u03B3\\u03B9\\u03B1 \\u03BD\\u03B1 \\u03C3\\u03C5\\u03B3\\u03BA\\u03B5\\u03BD\\u03C4\\u03C1\\u03CE\\u03C3\\u03B5\\u03C4\\u03B5 \\u03B1\\u03C5\\u03C4\\u03CC\\u03BC\\u03B1\\u03C4\\u03B1 \\u03C4\\u03B7\\u03BD \\u03C4\\u03B5\\u03BB\\u03B5\\u03C5\\u03C4\\u03B1\\u03AF\\u03B1 \\u03C3\\u03C5\\u03BD\\u03B1\\u03BB\\u03BB\\u03B1\\u03B3\\u03BC\\u03B1\\u03C4\\u03B9\\u03BA\\u03AE \\u03B9\\u03C3\\u03BF\\u03C4\\u03B9\\u03BC\\u03AF\\u03B1 \\u03C3\\u03C4\\u03B9\\u03C2 \\u03C3\\u03C5\\u03BD\\u03B1\\u03BB\\u03BB\\u03B1\\u03B3\\u03AD\\u03C2.\",key:\"\\u039A\\u03BB\\u03B5\\u03B9\\u03B4\\u03AF API\",name:\"\\u038C\\u03BD\\u03BF\\u03BC\\u03B1\",driver:\"\\u039F\\u03B4\\u03B7\\u03B3\\u03CC\\u03C2\",is_default:\"IS \\u03A0\\u03A1\\u039F\\u03A6\\u03A5\\u039B\\u0391\\u039E\\u0397\",currency:\"\\u03A3\\u03C5\\u03BD\\u03AC\\u03BB\\u03BB\\u03B1\\u03B3\\u03BC\\u03B1\",exchange_rate_confirm_delete:\"\\u0394\\u03B5\\u03BD \\u03B8\\u03B1 \\u03BC\\u03C0\\u03BF\\u03C1\\u03B5\\u03AF\\u03C4\\u03B5 \\u03BD\\u03B1 \\u03B1\\u03BD\\u03B1\\u03BA\\u03C4\\u03AE\\u03C3\\u03B5\\u03C4\\u03B5 \\u03B1\\u03C5\\u03C4\\u03CC \\u03C4\\u03BF \\u03A0\\u03C1\\u03BF\\u03C3\\u03B1\\u03C1\\u03BC\\u03BF\\u03C3\\u03BC\\u03AD\\u03BD\\u03BF \\u03A0\\u03B5\\u03B4\\u03AF\\u03BF\",created_message:\"\\u039F \\u03C0\\u03B5\\u03BB\\u03AC\\u03C4\\u03B7\\u03C2 \\u03B4\\u03B7\\u03BC\\u03B9\\u03BF\\u03C5\\u03C1\\u03B3\\u03AE\\u03B8\\u03B7\\u03BA\\u03B5 \\u03BC\\u03B5 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03AF\\u03B1\",updated_message:\"\\u039F \\u03C0\\u03B5\\u03BB\\u03AC\\u03C4\\u03B7\\u03C2 \\u03B4\\u03B7\\u03BC\\u03B9\\u03BF\\u03C5\\u03C1\\u03B3\\u03AE\\u03B8\\u03B7\\u03BA\\u03B5 \\u03BC\\u03B5 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03AF\\u03B1\",deleted_message:\"\\u039F \\u03C0\\u03B5\\u03BB\\u03AC\\u03C4\\u03B7\\u03C2 \\u03B4\\u03B7\\u03BC\\u03B9\\u03BF\\u03C5\\u03C1\\u03B3\\u03AE\\u03B8\\u03B7\\u03BA\\u03B5 \\u03BC\\u03B5 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03AF\\u03B1\",error:\" \\u0394\\u03B5\\u03BD \\u03BC\\u03C0\\u03BF\\u03C1\\u03B5\\u03AF\\u03C4\\u03B5 \\u03BD\\u03B1 \\u0394\\u03B9\\u03B1\\u03B3\\u03C1\\u03AC\\u03C8\\u03B5\\u03C4\\u03B5 \\u03C4\\u03BF \\u0395\\u03BD\\u03B5\\u03C1\\u03B3\\u03CC \\u039F\\u03B4\\u03B7\\u03B3\\u03CC\",default_currency_error:\"\\u0391\\u03C5\\u03C4\\u03CC \\u03C4\\u03BF \\u03BD\\u03CC\\u03BC\\u03B9\\u03C3\\u03BC\\u03B1 \\u03C7\\u03C1\\u03B7\\u03C3\\u03B9\\u03BC\\u03BF\\u03C0\\u03BF\\u03B9\\u03B5\\u03AF\\u03C4\\u03B1\\u03B9 \\u03AE\\u03B4\\u03B7 \\u03C3\\u03B5 \\u03AD\\u03BD\\u03B1\\u03BD \\u03B1\\u03C0\\u03CC \\u03C4\\u03BF\\u03C5\\u03C2 Active Provider\",exchange_help_text:\"\\u0395\\u03B9\\u03C3\\u03AC\\u03B3\\u03B5\\u03C4\\u03B5 \\u03C3\\u03C5\\u03BD\\u03B1\\u03BB\\u03BB\\u03B1\\u03B3\\u03BC\\u03B1\\u03C4\\u03B9\\u03BA\\u03AE \\u03B9\\u03C3\\u03BF\\u03C4\\u03B9\\u03BC\\u03AF\\u03B1 \\u03B3\\u03B9\\u03B1 \\u03BC\\u03B5\\u03C4\\u03B1\\u03C4\\u03C1\\u03BF\\u03C0\\u03AE \\u03B1\\u03C0\\u03CC {currency} \\u03C3\\u03B5 {baseCurrency}\",currency_freak:\"\\u039D\\u03CC\\u03BC\\u03B9\\u03C3\\u03BC\\u03B1 Freak\",currency_layer:\"\\u03A3\\u03C4\\u03C1\\u03CE\\u03BC\\u03B1 \\u039D\\u03BF\\u03BC\\u03AF\\u03C3\\u03BC\\u03B1\\u03C4\\u03BF\\u03C2\",open_exchange_rate:\"Open Exchange Rates\",currency_converter:\"\\u039C\\u03B5\\u03C4\\u03B1\\u03C4\\u03C1\\u03BF\\u03C0\\u03AD\\u03B1\\u03C2 \\u03BD\\u03BF\\u03BC\\u03AF\\u03C3\\u03BC\\u03B1\\u03C4\\u03BF\\u03C2 (Automatic Translation)\",server:\"\\u03A3\\u03AD\\u03C1\\u03B2\\u03B5\\u03C1\",url:\"\\u0394\\u03B9\\u03B5\\u03CD\\u03B8\\u03C5\\u03BD\\u03C3\\u03B7 URL\",active:\"\\u0395\\u03BD\\u03B5\\u03C1\\u03B3\\u03AE\",currency_help_text:\"\\u0391\\u03C5\\u03C4\\u03CC\\u03C2 \\u03BF \\u03C0\\u03AC\\u03C1\\u03BF\\u03C7\\u03BF\\u03C2 \\u03B8\\u03B1 \\u03C7\\u03C1\\u03B7\\u03C3\\u03B9\\u03BC\\u03BF\\u03C0\\u03BF\\u03B9\\u03B7\\u03B8\\u03B5\\u03AF \\u03BC\\u03CC\\u03BD\\u03BF \\u03C0\\u03AC\\u03BD\\u03C9 \\u03B1\\u03C0\\u03CC \\u03C4\\u03B1 \\u03B5\\u03C0\\u03B9\\u03BB\\u03B5\\u03B3\\u03BC\\u03AD\\u03BD\\u03B1 \\u03BD\\u03BF\\u03BC\\u03AF\\u03C3\\u03BC\\u03B1\\u03C4\\u03B1\",currency_in_used:\"\\u03A4\\u03B1 \\u03B1\\u03BA\\u03CC\\u03BB\\u03BF\\u03C5\\u03B8\\u03B1 \\u03BD\\u03BF\\u03BC\\u03AF\\u03C3\\u03BC\\u03B1\\u03C4\\u03B1 \\u03B5\\u03AF\\u03BD\\u03B1\\u03B9 \\u03AE\\u03B4\\u03B7 \\u03B5\\u03BD\\u03B5\\u03C1\\u03B3\\u03AC \\u03C3\\u03B5 \\u03AC\\u03BB\\u03BB\\u03BF \\u03C0\\u03AC\\u03C1\\u03BF\\u03C7\\u03BF. \\u03A0\\u03B1\\u03C1\\u03B1\\u03BA\\u03B1\\u03BB\\u03CE \\u03B1\\u03C6\\u03B1\\u03B9\\u03C1\\u03AD\\u03C3\\u03C4\\u03B5 \\u03B1\\u03C5\\u03C4\\u03AC \\u03C4\\u03B1 \\u03BD\\u03BF\\u03BC\\u03AF\\u03C3\\u03BC\\u03B1\\u03C4\\u03B1 \\u03B1\\u03C0\\u03CC \\u03C4\\u03B7\\u03BD \\u03B5\\u03C0\\u03B9\\u03BB\\u03BF\\u03B3\\u03AE \\u03B3\\u03B9\\u03B1 \\u03BD\\u03B1 \\u03B5\\u03BD\\u03B5\\u03C1\\u03B3\\u03BF\\u03C0\\u03BF\\u03B9\\u03AE\\u03C3\\u03B5\\u03C4\\u03B5 \\u03BE\\u03B1\\u03BD\\u03AC \\u03B1\\u03C5\\u03C4\\u03CC\\u03BD \\u03C4\\u03BF\\u03BD \\u03C0\\u03AC\\u03C1\\u03BF\\u03C7\\u03BF.\"},tax_types:{title:\"\\u03A6\\u03BF\\u03C1\\u03BF\\u03BB\\u03BF\\u03B3\\u03B9\\u03BA\\u03AE \\u03BA\\u03BB\\u03AC\\u03C3\\u03B7\",add_tax:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03B8\\u03AE\\u03BA\\u03B7 \\u03A6\\u03CC\\u03C1\\u03BF\\u03C5\",edit_tax:\"\\u0395\\u03C0\\u03B5\\u03BE\\u03B5\\u03C1\\u03B3\\u03B1\\u03C3\\u03AF\\u03B1 \\u03C6\\u03CC\\u03C1\\u03BF\\u03C5\",description:\"\\u039C\\u03C0\\u03BF\\u03C1\\u03B5\\u03AF\\u03C4\\u03B5 \\u03BD\\u03B1 \\u03C0\\u03C1\\u03BF\\u03C3\\u03B8\\u03AD\\u03C3\\u03B5\\u03C4\\u03B5 \\u03AE \\u03BD\\u03B1 \\u03B1\\u03C6\\u03B1\\u03B9\\u03C1\\u03AD\\u03C3\\u03B5\\u03C4\\u03B5 \\u03C6\\u03CC\\u03C1\\u03BF\\u03C5\\u03C2 \\u03CC\\u03C0\\u03C9\\u03C2 \\u03C3\\u03B1\\u03C2 \\u03C0\\u03B1\\u03C1\\u03B1\\u03BA\\u03B1\\u03BB\\u03CE. \\u039A\\u03C1\\u03B1\\u03C4\\u03AE\\u03C1\\u03B1 \\u03C5\\u03C0\\u03BF\\u03C3\\u03C4\\u03B7\\u03C1\\u03AF\\u03B6\\u03B5\\u03B9 \\u03C6\\u03CC\\u03C1\\u03BF\\u03C5\\u03C2 \\u03B5\\u03C0\\u03AF \\u03BC\\u03B5\\u03BC\\u03BF\\u03BD\\u03C9\\u03BC\\u03AD\\u03BD\\u03C9\\u03BD \\u03C0\\u03C1\\u03BF\\u03CA\\u03CC\\u03BD\\u03C4\\u03C9\\u03BD \\u03BA\\u03B1\\u03B8\\u03CE\\u03C2 \\u03BA\\u03B1\\u03B9 \\u03C3\\u03C4\\u03BF \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF.\",add_new_tax:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03B8\\u03AE\\u03BA\\u03B7 \\u039D\\u03AD\\u03BF\\u03C5 \\u03A6\\u03CC\\u03C1\\u03BF\\u03C5\",tax_settings:\"\\u03A6\\u03BF\\u03C1\\u03BF\\u03BB\\u03BF\\u03B3\\u03B9\\u03BA\\u03AD\\u03C2 \\u03C1\\u03C5\\u03B8\\u03BC\\u03AF\\u03C3\\u03B5\\u03B9\\u03C2\",tax_per_item:\"\\u03A3\\u03C4\\u03BF\\u03B9\\u03C7\\u03B5\\u03AF\\u03BF \\u03A6\\u03CC\\u03BD\\u03C4\\u03BF\\u03C5 \\u03A5\\u03C0\\u03BF\\u03BC\\u03B5\\u03BD\\u03BF\\u03CD\",tax_name:\"\\u038C\\u03BD\\u03BF\\u03BC\\u03B1 \\u03A6\\u03CC\\u03C1\\u03BF\\u03C5\",compound_tax:\"\\u03A3\\u03CD\\u03BD\\u03B8\\u03B5\\u03C4\\u03BF\\u03C2 \\u03A6\\u03CC\\u03C1\\u03BF\\u03C2\",percent:\"\\u03A0\\u03BF\\u03C3\\u03BF\\u03C3\\u03C4\\u03CC\",action:\"\\u0395\\u03BD\\u03AD\\u03C1\\u03B3\\u03B5\\u03B9\\u03B1\",tax_setting_description:\"\\u0395\\u03BD\\u03B5\\u03C1\\u03B3\\u03BF\\u03C0\\u03BF\\u03B9\\u03AE\\u03C3\\u03C4\\u03B5 \\u03C4\\u03BF \\u03B1\\u03BD \\u03B8\\u03AD\\u03BB\\u03B5\\u03C4\\u03B5 \\u03BD\\u03B1 \\u03C0\\u03C1\\u03BF\\u03C3\\u03B8\\u03AD\\u03C3\\u03B5\\u03C4\\u03B5 \\u03AD\\u03BA\\u03C0\\u03C4\\u03C9\\u03C3\\u03B7 \\u03C3\\u03B5 \\u03BC\\u03B5\\u03BC\\u03BF\\u03BD\\u03C9\\u03BC\\u03AD\\u03BD\\u03B1 \\u03C3\\u03C4\\u03BF\\u03B9\\u03C7\\u03B5\\u03AF\\u03B1 \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03BF\\u03B3\\u03AF\\u03BF\\u03C5. \\u0391\\u03C0\\u03CC \\u03C0\\u03C1\\u03BF\\u03B5\\u03C0\\u03B9\\u03BB\\u03BF\\u03B3\\u03AE, \\u03B7 \\u03AD\\u03BA\\u03C0\\u03C4\\u03C9\\u03C3\\u03B7 \\u03C0\\u03C1\\u03BF\\u03C3\\u03C4\\u03AF\\u03B8\\u03B5\\u03C4\\u03B1\\u03B9 \\u03B1\\u03C0\\u03B5\\u03C5\\u03B8\\u03B5\\u03AF\\u03B1\\u03C2 \\u03C3\\u03C4\\u03BF \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF.\",created_message:\"\\u03A4\\u03BF \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF \\u03B5\\u03C3\\u03C4\\u03AC\\u03BB\\u03B7 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03CE\\u03C2\",updated_message:\"\\u03A4\\u03BF \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF \\u03B5\\u03C3\\u03C4\\u03AC\\u03BB\\u03B7 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03CE\\u03C2\",deleted_message:\"\\u03A4\\u03BF \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF \\u03B5\\u03C3\\u03C4\\u03AC\\u03BB\\u03B7 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03CE\\u03C2\",confirm_delete:\"\\u0394\\u03B5\\u03BD \\u03B8\\u03B1 \\u03BC\\u03C0\\u03BF\\u03C1\\u03B5\\u03AF\\u03C4\\u03B5 \\u03BD\\u03B1 \\u03B1\\u03BD\\u03B1\\u03BA\\u03C4\\u03AE\\u03C3\\u03B5\\u03C4\\u03B5 \\u03B1\\u03C5\\u03C4\\u03CC \\u03C4\\u03BF \\u03A0\\u03C1\\u03BF\\u03C3\\u03B1\\u03C1\\u03BC\\u03BF\\u03C3\\u03BC\\u03AD\\u03BD\\u03BF \\u03A0\\u03B5\\u03B4\\u03AF\\u03BF\",already_in_use:\"\\u03A4\\u03BF \\u03CC\\u03BD\\u03BF\\u03BC\\u03B1 \\u03B5\\u03AF\\u03BD\\u03B1\\u03B9 \\u03AE\\u03B4\\u03B7 \\u03C3\\u03B5 \\u03C7\\u03C1\\u03AE\\u03C3\\u03B7\"},payment_modes:{title:\"\\u03A4\\u03C1\\u03CC\\u03C0\\u03BF\\u03C2 \\u03C0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03AE\\u03C2\",description:\"\\u03A4\\u03C1\\u03CC\\u03C0\\u03BF\\u03B9 \\u03C3\\u03C5\\u03BD\\u03B1\\u03BB\\u03BB\\u03B1\\u03B3\\u03AE\\u03C2 \\u03B3\\u03B9\\u03B1 \\u03C0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03AD\\u03C2\",add_payment_mode:\"\\u03A4\\u03C1\\u03CC\\u03C0\\u03BF\\u03C2 \\u03C0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03AE\\u03C2\",edit_payment_mode:\"\\u03A4\\u03C1\\u03CC\\u03C0\\u03BF\\u03C2 \\u03C0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03AE\\u03C2\",mode_name:\"\\u038C\\u03BD\\u03BF\\u03BC\\u03B1 \\u03BB\\u03B5\\u03B9\\u03C4\\u03BF\\u03C5\\u03C1\\u03B3\\u03AF\\u03B1\\u03C2\",payment_mode_added:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03C4\\u03AD\\u03B8\\u03B7\\u03BA\\u03B5 \\u039B\\u03B5\\u03B9\\u03C4\\u03BF\\u03C5\\u03C1\\u03B3\\u03AF\\u03B1 \\u03A0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03AE\\u03C2\",payment_mode_updated:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03C4\\u03AD\\u03B8\\u03B7\\u03BA\\u03B5 \\u039B\\u03B5\\u03B9\\u03C4\\u03BF\\u03C5\\u03C1\\u03B3\\u03AF\\u03B1 \\u03A0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03AE\\u03C2\",payment_mode_confirm_delete:\"\\u0394\\u03B5\\u03BD \\u03B8\\u03B1 \\u03BC\\u03C0\\u03BF\\u03C1\\u03B5\\u03AF\\u03C4\\u03B5 \\u03BD\\u03B1 \\u03B1\\u03BD\\u03B1\\u03BA\\u03C4\\u03AE\\u03C3\\u03B5\\u03C4\\u03B5 \\u03B1\\u03C5\\u03C4\\u03CC \\u03C4\\u03BF \\u03A0\\u03C1\\u03BF\\u03C3\\u03B1\\u03C1\\u03BC\\u03BF\\u03C3\\u03BC\\u03AD\\u03BD\\u03BF \\u03A0\\u03B5\\u03B4\\u03AF\\u03BF\",payments_attached:\"This payment method is already attached to payments. Please delete the attached payments to proceed with deletion.\",expenses_attached:\"This payment method is already attached to expenses. Please delete the attached expenses to proceed with deletion.\",deleted_message:\"\\u0397 \\u03C0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03AE \\u03B5\\u03C3\\u03C4\\u03AC\\u03BB\\u03B7 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03CE\\u03C2\"},expense_category:{title:\"\\u039A\\u03B1\\u03C4\\u03B7\\u03B3\\u03BF\\u03C1\\u03AF\\u03B5\\u03C2 \\u0395\\u03BE\\u03CC\\u03B4\\u03C9\\u03BD\",action:\"\\u0395\\u03BD\\u03AD\\u03C1\\u03B3\\u03B5\\u03B9\\u03B1\",description:\"\\u0391\\u03C0\\u03B1\\u03B9\\u03C4\\u03BF\\u03CD\\u03BD\\u03C4\\u03B1\\u03B9 \\u03BA\\u03B1\\u03C4\\u03B7\\u03B3\\u03BF\\u03C1\\u03AF\\u03B5\\u03C2 \\u03B3\\u03B9\\u03B1 \\u03C4\\u03B7\\u03BD \\u03C0\\u03C1\\u03BF\\u03C3\\u03B8\\u03AE\\u03BA\\u03B7 \\u03BA\\u03B1\\u03C4\\u03B1\\u03C7\\u03C9\\u03C1\\u03AE\\u03C3\\u03B5\\u03C9\\u03BD \\u03B5\\u03BE\\u03CC\\u03B4\\u03C9\\u03BD. \\u039C\\u03C0\\u03BF\\u03C1\\u03B5\\u03AF\\u03C4\\u03B5 \\u03BD\\u03B1 \\u03C0\\u03C1\\u03BF\\u03C3\\u03B8\\u03AD\\u03C3\\u03B5\\u03C4\\u03B5 \\u03AE \\u03BD\\u03B1 \\u03B1\\u03C6\\u03B1\\u03B9\\u03C1\\u03AD\\u03C3\\u03B5\\u03C4\\u03B5 \\u03B1\\u03C5\\u03C4\\u03AD\\u03C2 \\u03C4\\u03B9\\u03C2 \\u03BA\\u03B1\\u03C4\\u03B7\\u03B3\\u03BF\\u03C1\\u03AF\\u03B5\\u03C2 \\u03C3\\u03CD\\u03BC\\u03C6\\u03C9\\u03BD\\u03B1 \\u03BC\\u03B5 \\u03C4\\u03B9\\u03C2 \\u03C0\\u03C1\\u03BF\\u03C4\\u03B9\\u03BC\\u03AE\\u03C3\\u03B5\\u03B9\\u03C2 \\u03C3\\u03B1\\u03C2.\",add_new_category:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03B8\\u03AE\\u03BA\\u03B7 \\u039D\\u03AD\\u03B1\\u03C2 \\u039A\\u03B1\\u03C4\\u03B7\\u03B3\\u03BF\\u03C1\\u03AF\\u03B1\\u03C2\",add_category:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03B8\\u03AE\\u03BA\\u03B7 \\u039A\\u03B1\\u03C4\\u03B7\\u03B3\\u03BF\\u03C1\\u03AF\\u03B1\\u03C2\",edit_category:\"\\u03A0\\u03C1\\u03BF\\u03C3\\u03B8\\u03AE\\u03BA\\u03B7 \\u039A\\u03B1\\u03C4\\u03B7\\u03B3\\u03BF\\u03C1\\u03AF\\u03B1\\u03C2\",category_name:\"\\u038C\\u03BD\\u03BF\\u03BC\\u03B1 \\u039A\\u03B1\\u03C4\\u03B7\\u03B3\\u03BF\\u03C1\\u03AF\\u03B1\\u03C2\",category_description:\"\\u03A0\\u03B5\\u03C1\\u03B9\\u03B3\\u03C1\\u03B1\\u03C6\\u03AE\",created_message:\"\\u03A4\\u03BF \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF \\u03B5\\u03C3\\u03C4\\u03AC\\u03BB\\u03B7 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03CE\\u03C2\",deleted_message:\"\\u03A4\\u03BF \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF \\u03B5\\u03C3\\u03C4\\u03AC\\u03BB\\u03B7 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03CE\\u03C2\",updated_message:\"\\u03A4\\u03BF \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF \\u03B5\\u03C3\\u03C4\\u03AC\\u03BB\\u03B7 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03CE\\u03C2\",confirm_delete:\"\\u0394\\u03B5\\u03BD \\u03B8\\u03B1 \\u03BC\\u03C0\\u03BF\\u03C1\\u03B5\\u03AF\\u03C4\\u03B5 \\u03BD\\u03B1 \\u03B1\\u03BD\\u03B1\\u03BA\\u03C4\\u03AE\\u03C3\\u03B5\\u03C4\\u03B5 \\u03B1\\u03C5\\u03C4\\u03CC \\u03C4\\u03BF \\u03A0\\u03C1\\u03BF\\u03C3\\u03B1\\u03C1\\u03BC\\u03BF\\u03C3\\u03BC\\u03AD\\u03BD\\u03BF \\u03A0\\u03B5\\u03B4\\u03AF\\u03BF\",already_in_use:\"\\u03A4\\u03BF \\u03CC\\u03BD\\u03BF\\u03BC\\u03B1 \\u03B5\\u03AF\\u03BD\\u03B1\\u03B9 \\u03AE\\u03B4\\u03B7 \\u03C3\\u03B5 \\u03C7\\u03C1\\u03AE\\u03C3\\u03B7\"},preferences:{currency:\"\\u039D\\u03CC\\u03BC\\u03B9\\u03C3\\u03BC\\u03B1\",default_language:\"\\u03A0\\u03C1\\u03BF\\u03B5\\u03C0\\u03B9\\u03BB\\u03B5\\u03B3\\u03BC\\u03AD\\u03BD\\u03B7 \\u03B3\\u03BB\\u03CE\\u03C3\\u03C3\\u03B1\",time_zone:\"\\u0396\\u03CE\\u03BD\\u03B7 \\u038F\\u03C1\\u03B1\\u03C2\",fiscal_year:\"\\u039F\\u03B9\\u03BA\\u03BF\\u03BD\\u03BF\\u03BC\\u03B9\\u03BA\\u03CC \\u03AD\\u03C4\\u03BF\\u03C2\",date_format:\"\\u039C\\u03BF\\u03C1\\u03C6\\u03AE \\u0397\\u03BC\\u03B5\\u03C1\\u03BF\\u03BC\\u03B7\\u03BD\\u03AF\\u03B1\\u03C2\",discount_setting:\"\\u03A1\\u03C5\\u03B8\\u03BC\\u03AF\\u03C3\\u03B5\\u03B9\\u03C2 \\u039B\\u03BF\\u03B3\\u03B1\\u03C1\\u03B9\\u03B1\\u03C3\\u03BC\\u03BF\\u03CD\",discount_per_item:\"\\u0388\\u03BA\\u03C0\\u03C4\\u03C9\\u03C3\\u03B7 \\u0391\\u03BD\\u03AC \\u03A3\\u03C4\\u03BF\\u03B9\\u03C7\\u03B5\\u03AF\\u03BF \",discount_setting_description:\"\\u0395\\u03BD\\u03B5\\u03C1\\u03B3\\u03BF\\u03C0\\u03BF\\u03B9\\u03AE\\u03C3\\u03C4\\u03B5 \\u03C4\\u03BF \\u03B1\\u03BD \\u03B8\\u03AD\\u03BB\\u03B5\\u03C4\\u03B5 \\u03BD\\u03B1 \\u03C0\\u03C1\\u03BF\\u03C3\\u03B8\\u03AD\\u03C3\\u03B5\\u03C4\\u03B5 \\u03AD\\u03BA\\u03C0\\u03C4\\u03C9\\u03C3\\u03B7 \\u03C3\\u03B5 \\u03BC\\u03B5\\u03BC\\u03BF\\u03BD\\u03C9\\u03BC\\u03AD\\u03BD\\u03B1 \\u03C3\\u03C4\\u03BF\\u03B9\\u03C7\\u03B5\\u03AF\\u03B1 \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03BF\\u03B3\\u03AF\\u03BF\\u03C5. \\u0391\\u03C0\\u03CC \\u03C0\\u03C1\\u03BF\\u03B5\\u03C0\\u03B9\\u03BB\\u03BF\\u03B3\\u03AE, \\u03B7 \\u03AD\\u03BA\\u03C0\\u03C4\\u03C9\\u03C3\\u03B7 \\u03C0\\u03C1\\u03BF\\u03C3\\u03C4\\u03AF\\u03B8\\u03B5\\u03C4\\u03B1\\u03B9 \\u03B1\\u03C0\\u03B5\\u03C5\\u03B8\\u03B5\\u03AF\\u03B1\\u03C2 \\u03C3\\u03C4\\u03BF \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF.\",expire_public_links:\"Automatically Expire Public Links\",expire_setting_description:\"Specify whether you would like to expire all the links sent by application to view invoices, estimates & payments, etc after a specified duration.\",save:\"\\u0391\\u03C0\\u03BF\\u03B8\\u03AE\\u03BA\\u03B5\\u03C5\\u03C3\\u03B7\",preference:\"\\u03A0\\u03C1\\u03BF\\u03C4\\u03AF\\u03BC\\u03B7\\u03C3\\u03B7 - \\u03A0\\u03C1\\u03BF\\u03C4\\u03B9\\u03BC\\u03AE\\u03C3\\u03B5\\u03B9\\u03C2\",general_settings:\"\\u03A0\\u03C1\\u03BF\\u03B5\\u03C0\\u03B9\\u03BB\\u03B5\\u03B3\\u03BC\\u03AD\\u03BD\\u03B5\\u03C2 \\u03C0\\u03C1\\u03BF\\u03C4\\u03B9\\u03BC\\u03AE\\u03C3\\u03B5\\u03B9\\u03C2 \\u03B3\\u03B9\\u03B1 \\u03C4\\u03BF \\u03C3\\u03CD\\u03C3\\u03C4\\u03B7\\u03BC\\u03B1.\",updated_message:\"\\u0397 \\u03C0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03AE \\u03B5\\u03C3\\u03C4\\u03AC\\u03BB\\u03B7 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03CE\\u03C2\",select_language:\"\\u0395\\u03C0\\u03B9\\u03BB\\u03BF\\u03B3\\u03AE \\u0393\\u03BB\\u03CE\\u03C3\\u03C3\\u03B1\\u03C2\",select_time_zone:\"\\u0395\\u03C0\\u03B9\\u03BB\\u03AD\\u03BE\\u03C4\\u03B5 \\u03B6\\u03CE\\u03BD\\u03B7 \\u03CE\\u03C1\\u03B1\\u03C2\",select_date_format:\"\\u039C\\u03BF\\u03C1\\u03C6\\u03AE \\u03C3\\u03CD\\u03BD\\u03C4\\u03BF\\u03BC\\u03B7\\u03C2 \\u03B7\\u03BC\\u03B5\\u03C1\\u03BF\\u03BC\\u03B7\\u03BD\\u03AF\\u03B1\\u03C2\",select_financial_year:\"\\u0395\\u03C0\\u03B9\\u03BB\\u03BF\\u03B3\\u03AE \\u039F\\u03B9\\u03BA\\u03BF\\u03BD\\u03BF\\u03BC\\u03B9\\u03BA\\u03BF\\u03CD \\u0388\\u03C4\\u03BF\\u03C5\\u03C2\",recurring_invoice_status:\"\\u0395\\u03C0\\u03B1\\u03BD\\u03B1\\u03BB\\u03B1\\u03BC\\u03B2\\u03B1\\u03BD\\u03CC\\u03BC\\u03B5\\u03BD\\u03B1 \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03B1\",create_status:\"\\u0394\\u03B7\\u03BC\\u03B9\\u03BF\\u03C5\\u03C1\\u03B3\\u03AF\\u03B1 \\u03BA\\u03B1\\u03C4\\u03AC\\u03C3\\u03C4\\u03B1\\u03C3\\u03B7\\u03C2\",active:\"\\u0395\\u03BD\\u03B5\\u03C1\\u03B3\\u03AE\",on_hold:\"\\u03A3\\u03B5 \\u03B1\\u03BD\\u03B1\\u03BC\\u03BF\\u03BD\\u03AE\",update_status:\"\\u0395\\u03BD\\u03B7\\u03BC\\u03AD\\u03C1\\u03C9\\u03C3\\u03B7 \\u039A\\u03B1\\u03C4\\u03AC\\u03C3\\u03C4\\u03B1\\u03C3\\u03B7\\u03C2\",completed:\"\\u039F\\u03BB\\u03BF\\u03BA\\u03BB\\u03B7\\u03C1\\u03CE\\u03B8\\u03B7\\u03BA\\u03B5\",company_currency_unchangeable:\"\\u03A4\\u03BF \\u03BD\\u03CC\\u03BC\\u03B9\\u03C3\\u03BC\\u03B1 \\u03C4\\u03B7\\u03C2 \\u03B5\\u03C4\\u03B1\\u03B9\\u03C1\\u03B5\\u03AF\\u03B1\\u03C2 \\u03B4\\u03B5\\u03BD \\u03BC\\u03C0\\u03BF\\u03C1\\u03B5\\u03AF \\u03BD\\u03B1 \\u03B1\\u03BB\\u03BB\\u03AC\\u03BE\\u03B5\\u03B9\"},update_app:{title:\"\\u0395\\u03BD\\u03B7\\u03BC\\u03AD\\u03C1\\u03C9\\u03C3\\u03B7 \\u03B5\\u03C6\\u03B1\\u03C1\\u03BC\\u03BF\\u03B3\\u03AE\\u03C2\",description:\"\\u039C\\u03C0\\u03BF\\u03C1\\u03B5\\u03AF\\u03C4\\u03B5 \\u03B5\\u03CD\\u03BA\\u03BF\\u03BB\\u03B1 \\u03BD\\u03B1 \\u03B5\\u03BD\\u03B7\\u03BC\\u03B5\\u03C1\\u03CE\\u03C3\\u03B5\\u03C4\\u03B5 \\u03C4\\u03BF\\u03BD \\u039A\\u03C1\\u03B1\\u03C4\\u03AE\\u03C1\\u03B1 \\u03B5\\u03BB\\u03AD\\u03B3\\u03C7\\u03BF\\u03BD\\u03C4\\u03B1\\u03C2 \\u03B3\\u03B9\\u03B1 \\u03BC\\u03B9\\u03B1 \\u03BD\\u03AD\\u03B1 \\u03B5\\u03BD\\u03B7\\u03BC\\u03AD\\u03C1\\u03C9\\u03C3\\u03B7 \\u03BA\\u03AC\\u03BD\\u03BF\\u03BD\\u03C4\\u03B1\\u03C2 \\u03BA\\u03BB\\u03B9\\u03BA \\u03C3\\u03C4\\u03BF \\u03C0\\u03B1\\u03C1\\u03B1\\u03BA\\u03AC\\u03C4\\u03C9 \\u03BA\\u03BF\\u03C5\\u03BC\\u03C0\\u03AF\",check_update:\"\\u0388\\u03BB\\u03B5\\u03B3\\u03C7\\u03BF\\u03C2 \\u0395\\u03BD\\u03B7\\u03BC\\u03B5\\u03C1\\u03CE\\u03C3\\u03B5\\u03C9\\u03BD\",avail_update:\"\\u03A5\\u03C0\\u03AC\\u03C1\\u03C7\\u03B5\\u03B9 \\u03B4\\u03B9\\u03B1\\u03B8\\u03AD\\u03C3\\u03B9\\u03BC\\u03B7 \\u03BD\\u03AD\\u03B1 \\u03B5\\u03BD\\u03B7\\u03BC\\u03AD\\u03C1\\u03C9\\u03C3\\u03B7\",next_version:\"\\u0395\\u03C0\\u03CC\\u03BC\\u03B5\\u03BD\\u03B7 \\u0388\\u03BA\\u03B4\\u03BF\\u03C3\\u03B7\",requirements:\"\\u0391\\u03C0\\u03B1\\u03B9\\u03C4\\u03AE\\u03C3\\u03B5\\u03B9\\u03C2\",update:\"\\u0395\\u03BD\\u03B7\\u03BC\\u03AD\\u03C1\\u03C9\\u03C3\\u03B7 \\u03C4\\u03CE\\u03C1\\u03B1\",update_progress:\"\\u0395\\u03BD\\u03B7\\u03BC\\u03AD\\u03C1\\u03C9\\u03C3\\u03B7 \\u03C3\\u03B5 \\u03B5\\u03BE\\u03AD\\u03BB\\u03B9\\u03BE\\u03B7\",progress_text:\"\\u0398\\u03B1 \\u03C7\\u03C1\\u03B5\\u03B9\\u03B1\\u03C3\\u03C4\\u03BF\\u03CD\\u03BD \\u03BC\\u03CC\\u03BD\\u03BF \\u03BB\\u03AF\\u03B3\\u03B1 \\u03BB\\u03B5\\u03C0\\u03C4\\u03AC. \\u03A0\\u03B1\\u03C1\\u03B1\\u03BA\\u03B1\\u03BB\\u03CE \\u03BC\\u03B7\\u03BD \\u03B1\\u03BD\\u03B1\\u03BD\\u03B5\\u03CE\\u03C3\\u03B5\\u03C4\\u03B5 \\u03C4\\u03B7\\u03BD \\u03BF\\u03B8\\u03CC\\u03BD\\u03B7 \\u03AE \\u03BD\\u03B1 \\u03BA\\u03BB\\u03B5\\u03AF\\u03C3\\u03B5\\u03C4\\u03B5 \\u03C4\\u03BF \\u03C0\\u03B1\\u03C1\\u03AC\\u03B8\\u03C5\\u03C1\\u03BF \\u03C0\\u03C1\\u03B9\\u03BD \\u03C4\\u03B5\\u03BB\\u03B5\\u03B9\\u03CE\\u03C3\\u03B5\\u03B9 \\u03B7 \\u03B5\\u03BD\\u03B7\\u03BC\\u03AD\\u03C1\\u03C9\\u03C3\\u03B7.\",update_success:\"\\u0397 \\u03B5\\u03C6\\u03B1\\u03C1\\u03BC\\u03BF\\u03B3\\u03AE \\u03AD\\u03C7\\u03B5\\u03B9 \\u03B5\\u03BD\\u03B7\\u03BC\\u03B5\\u03C1\\u03C9\\u03B8\\u03B5\\u03AF! \\u03A0\\u03B1\\u03C1\\u03B1\\u03BA\\u03B1\\u03BB\\u03CE \\u03C0\\u03B5\\u03C1\\u03B9\\u03BC\\u03AD\\u03BD\\u03B5\\u03C4\\u03B5 \\u03CC\\u03C3\\u03BF \\u03C4\\u03BF \\u03C0\\u03B1\\u03C1\\u03AC\\u03B8\\u03C5\\u03C1\\u03BF \\u03C4\\u03BF\\u03C5 \\u03C0\\u03B5\\u03C1\\u03B9\\u03B7\\u03B3\\u03B7\\u03C4\\u03AE \\u03C3\\u03B1\\u03C2 \\u03C6\\u03BF\\u03C1\\u03C4\\u03CE\\u03BD\\u03B5\\u03C4\\u03B1\\u03B9 \\u03B1\\u03C5\\u03C4\\u03CC\\u03BC\\u03B1\\u03C4\\u03B1.\",latest_message:\"\\u0394\\u03B5\\u03BD \\u03C5\\u03C0\\u03AC\\u03C1\\u03C7\\u03BF\\u03C5\\u03BD \\u03C0\\u03C1\\u03BF\\u03C2 \\u03C4\\u03BF \\u03C0\\u03B1\\u03C1\\u03CC\\u03BD \\u03B4\\u03B9\\u03B1\\u03B8\\u03AD\\u03C3\\u03B9\\u03BC\\u03B5\\u03C2 \\u03B5\\u03BD\\u03B7\\u03BC\\u03B5\\u03C1\\u03CE\\u03C3\\u03B5\\u03B9\\u03C2. \\u03A7\\u03C1\\u03B7\\u03C3\\u03B9\\u03BC\\u03BF\\u03C0\\u03BF\\u03B9\\u03B5\\u03AF\\u03C4\\u03B5 \\u03C4\\u03B7\\u03BD \\u03C4\\u03B5\\u03BB\\u03B5\\u03C5\\u03C4\\u03B1\\u03AF\\u03B1 \\u03AD\\u03BA\\u03B4\\u03BF\\u03C3\\u03B7.\",current_version:\"\\u03A4\\u03C1\\u03AD\\u03C7\\u03BF\\u03C5\\u03C3\\u03B1 \\u03AD\\u03BA\\u03B4\\u03BF\\u03C3\\u03B7\",download_zip_file:\"\\u039A\\u03B1\\u03C4\\u03B5\\u03B2\\u03AC\\u03C3\\u03C4\\u03B5 \\u03C3\\u03B5 ZIP\",unzipping_package:\"\\u0391\\u03C0\\u03BF\\u03C3\\u03C5\\u03BC\\u03C0\\u03AF\\u03B5\\u03C3\\u03B7 \\u03A0\\u03B1\\u03BA\\u03AD\\u03C4\\u03BF\\u03C5\",copying_files:\"\\u0391\\u03BD\\u03C4\\u03B9\\u03B3\\u03C1\\u03B1\\u03C6\\u03AE \\u0391\\u03C1\\u03C7\\u03B5\\u03AF\\u03C9\\u03BD\",deleting_files:\"\\u0394\\u03B9\\u03B1\\u03B3\\u03C1\\u03B1\\u03C6\\u03AE \\u03B1\\u03C7\\u03C1\\u03B7\\u03C3\\u03B9\\u03BC\\u03BF\\u03C0\\u03BF\\u03AF\\u03B7\\u03C4\\u03C9\\u03BD \\u03B1\\u03C1\\u03C7\\u03B5\\u03AF\\u03C9\\u03BD\",running_migrations:\"\\u0395\\u03BA\\u03C4\\u03AD\\u03BB\\u03B5\\u03C3\\u03B7 \\u039C\\u03B5\\u03C4\\u03B1\\u03BD\\u03B1\\u03C3\\u03C4\\u03CE\\u03BD\",finishing_update:\"\\u039F\\u03BB\\u03BF\\u03BA\\u03BB\\u03AE\\u03C1\\u03C9\\u03C3\\u03B7 \\u0395\\u03BD\\u03B7\\u03BC\\u03AD\\u03C1\\u03C9\\u03C3\\u03B7\\u03C2\",update_failed:\"\\u0391\\u03C0\\u03BF\\u03C4\\u03C5\\u03C7\\u03AF\\u03B1 \\u03B5\\u03BD\\u03B7\\u03BC\\u03AD\\u03C1\\u03C9\\u03C3\\u03B7\\u03C2\",update_failed_text:\"\\u03A3\\u03C5\\u03B3\\u03BD\\u03CE\\u03BC\\u03B7! \\u0397 \\u03B5\\u03BD\\u03B7\\u03BC\\u03AD\\u03C1\\u03C9\\u03C3\\u03AE \\u03C3\\u03B1\\u03C2 \\u03B1\\u03C0\\u03AD\\u03C4\\u03C5\\u03C7\\u03B5 \\u03C3\\u03B5: {step} \\u03B2\\u03AE\\u03BC\\u03B1\",update_warning:\"\\u038C\\u03BB\\u03B1 \\u03C4\\u03B1 \\u03B1\\u03C1\\u03C7\\u03B5\\u03AF\\u03B1 \\u03B5\\u03C6\\u03B1\\u03C1\\u03BC\\u03BF\\u03B3\\u03CE\\u03BD \\u03BA\\u03B1\\u03B9 \\u03C4\\u03B1 \\u03C0\\u03C1\\u03BF\\u03B5\\u03C0\\u03B9\\u03BB\\u03B5\\u03B3\\u03BC\\u03AD\\u03BD\\u03B1 \\u03B1\\u03C1\\u03C7\\u03B5\\u03AF\\u03B1 \\u03C0\\u03C1\\u03BF\\u03C4\\u03CD\\u03C0\\u03C9\\u03BD \\u03B8\\u03B1 \\u03B1\\u03BD\\u03C4\\u03B9\\u03BA\\u03B1\\u03C4\\u03B1\\u03C3\\u03C4\\u03B1\\u03B8\\u03BF\\u03CD\\u03BD \\u03CC\\u03C4\\u03B1\\u03BD \\u03B5\\u03BD\\u03B7\\u03BC\\u03B5\\u03C1\\u03CE\\u03BD\\u03B5\\u03C4\\u03B5 \\u03C4\\u03B7\\u03BD \\u03B5\\u03C6\\u03B1\\u03C1\\u03BC\\u03BF\\u03B3\\u03AE \\u03C7\\u03C1\\u03B7\\u03C3\\u03B9\\u03BC\\u03BF\\u03C0\\u03BF\\u03B9\\u03CE\\u03BD\\u03C4\\u03B1\\u03C2 \\u03B1\\u03C5\\u03C4\\u03CC \\u03C4\\u03BF \\u03B2\\u03BF\\u03B7\\u03B8\\u03B7\\u03C4\\u03B9\\u03BA\\u03CC \\u03C0\\u03C1\\u03CC\\u03B3\\u03C1\\u03B1\\u03BC\\u03BC\\u03B1. \\u03A0\\u03B1\\u03C1\\u03B1\\u03BA\\u03B1\\u03BB\\u03CE \\u03C0\\u03AC\\u03C1\\u03C4\\u03B5 \\u03AD\\u03BD\\u03B1 \\u03B1\\u03BD\\u03C4\\u03AF\\u03B3\\u03C1\\u03B1\\u03C6\\u03BF \\u03B1\\u03C3\\u03C6\\u03B1\\u03BB\\u03B5\\u03AF\\u03B1\\u03C2 \\u03C4\\u03C9\\u03BD \\u03C0\\u03C1\\u03BF\\u03C4\\u03CD\\u03C0\\u03C9\\u03BD \\u03BA\\u03B1\\u03B9 \\u03C4\\u03B7\\u03C2 \\u03B2\\u03AC\\u03C3\\u03B7\\u03C2 \\u03B4\\u03B5\\u03B4\\u03BF\\u03BC\\u03AD\\u03BD\\u03C9\\u03BD \\u03C3\\u03B1\\u03C2 \\u03C0\\u03C1\\u03B9\\u03BD \\u03B1\\u03C0\\u03CC \\u03C4\\u03B7\\u03BD \\u03B5\\u03BD\\u03B7\\u03BC\\u03AD\\u03C1\\u03C9\\u03C3\\u03B7.\"},backup:{title:'\\u0391\\u03BD\\u03C4\\u03AF\\u03B3\\u03C1\\u03B1\\u03C6\\u03BF \\u0391\\u03C3\\u03C6\\u03B1\\u03BB\\u03B5\\u03AF\\u03B1\\u03C2 \"\\u0391\\u03BD\\u03C4\\u03AF\\u03B3\\u03C1\\u03B1\\u03C6\\u03B1 \\u0391\\u03C3\\u03C6\\u03B1\\u03BB\\u03B5\\u03AF\\u03B1\\u03C2',description:\"\\u03A4\\u03BF \\u03B1\\u03BD\\u03C4\\u03AF\\u03B3\\u03C1\\u03B1\\u03C6\\u03BF \\u03B1\\u03C3\\u03C6\\u03B1\\u03BB\\u03B5\\u03AF\\u03B1\\u03C2 \\u03B5\\u03AF\\u03BD\\u03B1\\u03B9 \\u03AD\\u03BD\\u03B1 zipfile \\u03C0\\u03BF\\u03C5 \\u03C0\\u03B5\\u03C1\\u03B9\\u03AD\\u03C7\\u03B5\\u03B9 \\u03CC\\u03BB\\u03B1 \\u03C4\\u03B1 \\u03B1\\u03C1\\u03C7\\u03B5\\u03AF\\u03B1 \\u03C3\\u03C4\\u03BF\\u03C5\\u03C2 \\u03BA\\u03B1\\u03C4\\u03B1\\u03BB\\u03CC\\u03B3\\u03BF\\u03C5\\u03C2 \\u03C0\\u03BF\\u03C5 \\u03BA\\u03B1\\u03B8\\u03BF\\u03C1\\u03AF\\u03B6\\u03B5\\u03C4\\u03B5 \\u03BC\\u03B1\\u03B6\\u03AF \\u03BC\\u03B5 \\u03BC\\u03B9\\u03B1 \\u03C7\\u03C9\\u03BC\\u03B1\\u03C4\\u03B5\\u03C1\\u03AE \\u03C4\\u03B7\\u03C2 \\u03B2\\u03AC\\u03C3\\u03B7\\u03C2 \\u03B4\\u03B5\\u03B4\\u03BF\\u03BC\\u03AD\\u03BD\\u03C9\\u03BD \\u03C3\\u03B1\\u03C2\",new_backup:\"\\u039D\\u03AD\\u03BF \\u03B1\\u03BD\\u03C4\\u03AF\\u03B3\\u03C1\\u03B1\\u03C6\\u03BF \\u03B1\\u03C3\\u03C6\\u03B1\\u03BB\\u03B5\\u03AF\\u03B1\\u03C2\",create_backup:\"\\u0394\\u03B7\\u03BC\\u03B9\\u03BF\\u03C5\\u03C1\\u03B3\\u03AF\\u03B1 \\u03B1\\u03BD\\u03C4\\u03B9\\u03B3\\u03C1\\u03AC\\u03C6\\u03BF\\u03C5 \\u03B1\\u03C3\\u03C6\\u03B1\\u03BB\\u03B5\\u03AF\\u03B1\\u03C2\",select_backup_type:\"\\u0395\\u03C0\\u03B9\\u03BB\\u03BF\\u03B3\\u03AE \\u03A4\\u03CD\\u03C0\\u03BF\\u03C5(\\u03C9\\u03BD) \\u0391\\u03BD\\u03C4\\u03B9\\u03B3\\u03C1\\u03AC\\u03C6\\u03BF\\u03C5 \\u0391\\u03C3\\u03C6\\u03B1\\u03BB\\u03B5\\u03AF\\u03B1\\u03C2\",backup_confirm_delete:\"\\u0394\\u03B5\\u03BD \\u03B8\\u03B1 \\u03BC\\u03C0\\u03BF\\u03C1\\u03B5\\u03AF\\u03C4\\u03B5 \\u03BD\\u03B1 \\u03B1\\u03BD\\u03B1\\u03BA\\u03C4\\u03AE\\u03C3\\u03B5\\u03C4\\u03B5 \\u03B1\\u03C5\\u03C4\\u03CC \\u03C4\\u03BF \\u03A0\\u03C1\\u03BF\\u03C3\\u03B1\\u03C1\\u03BC\\u03BF\\u03C3\\u03BC\\u03AD\\u03BD\\u03BF \\u03A0\\u03B5\\u03B4\\u03AF\\u03BF\",path:\"Path\",new_disk:\"\\u039D\\u03AD\\u03BF\\u03C2 \\u0394\\u03AF\\u03C3\\u03BA\\u03BF\\u03C2\",created_at:\"\\u0394\\u03B7\\u03BC\\u03B9\\u03BF\\u03C5\\u03C1\\u03B3\\u03AE\\u03B8\\u03B7\\u03BA\\u03B5 \\u03C3\\u03C4\\u03B9\\u03C2\",size:\"\\u03BC\\u03AD\\u03B3\\u03B5\\u03B8\\u03BF\\u03C2\",dropbox:\"Dropbox\",local:\"\\u03A4\\u03BF\\u03C0\\u03B9\\u03BA\\u03AD\\u03C2 \\u03C1\\u03C5\\u03B8\\u03BC\\u03AF\\u03C3\\u03B5\\u03B9\\u03C2\",healthy:\"\\u03C5\\u03B3\\u03B9\\u03AD\\u03C2\",amount_of_backups:\"\\u03C0\\u03BF\\u03C3\\u03CC \\u03B1\\u03BD\\u03C4\\u03B9\\u03B3\\u03C1\\u03AC\\u03C6\\u03C9\\u03BD \\u03B1\\u03C3\\u03C6\\u03B1\\u03BB\\u03B5\\u03AF\\u03B1\\u03C2\",newest_backups:\"\\u03BD\\u03AD\\u03B1 \\u03B1\\u03BD\\u03C4\\u03AF\\u03B3\\u03C1\\u03B1\\u03C6\\u03B1 \\u03B1\\u03C3\\u03C6\\u03B1\\u03BB\\u03B5\\u03AF\\u03B1\\u03C2\",used_storage:\"\\u03A7\\u03CE\\u03C1\\u03BF\\u03C2 \\u03B1\\u03C0\\u03BF\\u03B8\\u03AE\\u03BA\\u03B5\\u03C5\\u03C3\\u03B7\\u03C2 \\u03C3\\u03B5 \\u03C7\\u03C1\\u03AE\\u03C3\\u03B7\",select_disk:\"\\u0395\\u03C0\\u03B9\\u03BB\\u03AD\\u03BE\\u03C4\\u03B5 \\u03B4\\u03AF\\u03C3\\u03BA\\u03BF\",action:\"\\u0395\\u03BD\\u03AD\\u03C1\\u03B3\\u03B5\\u03B9\\u03B1\",deleted_message:\"\\u0397 \\u03B4\\u03B9\\u03B1\\u03B3\\u03C1\\u03B1\\u03C6\\u03AE \\u03C4\\u03C9\\u03BD \\u03B1\\u03BD\\u03C4\\u03B9\\u03B3\\u03C1\\u03AC\\u03C6\\u03C9\\u03BD \\u03B1\\u03C3\\u03C6\\u03B1\\u03BB\\u03B5\\u03AF\\u03B1\\u03C2 \\u03BF\\u03BB\\u03BF\\u03BA\\u03BB\\u03B7\\u03C1\\u03CE\\u03B8\\u03B7\\u03BA\\u03B5 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03CE\\u03C2\",created_message:\"\\u0397 \\u03B4\\u03B7\\u03BC\\u03B9\\u03BF\\u03C5\\u03C1\\u03B3\\u03AF\\u03B1 \\u03B1\\u03BD\\u03C4\\u03B9\\u03B3\\u03C1\\u03AC\\u03C6\\u03BF\\u03C5 \\u03B1\\u03C3\\u03C6\\u03B1\\u03BB\\u03B5\\u03AF\\u03B1\\u03C2 \\u03BF\\u03BB\\u03BF\\u03BA\\u03BB\\u03B7\\u03C1\\u03CE\\u03B8\\u03B7\\u03BA\\u03B5 \\u03BC\\u03B5 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03AF\\u03B1\",invalid_disk_credentials:\"\\u039C\\u03B7 \\u03AD\\u03B3\\u03BA\\u03C5\\u03C1\\u03BF \\u03B4\\u03B9\\u03B1\\u03C0\\u03B9\\u03C3\\u03C4\\u03B5\\u03C5\\u03C4\\u03AE\\u03C1\\u03B9\\u03BF \\u03C4\\u03BF\\u03C5 \\u03B5\\u03C0\\u03B9\\u03BB\\u03B5\\u03B3\\u03BC\\u03AD\\u03BD\\u03BF\\u03C5 \\u03B4\\u03AF\\u03C3\\u03BA\\u03BF\\u03C5\"},disk:{title:\"\\u0394\\u03AF\\u03C3\\u03BA\\u03BF\\u03C2 \\u0391\\u03C1\\u03C7\\u03B5\\u03AF\\u03BF\\u03C5.\\u0394\\u03AF\\u03C3\\u03BA\\u03BF\\u03B9 \\u0391\\u03C1\\u03C7\\u03B5\\u03AF\\u03BF\\u03C5\",description:\"\\u0391\\u03C0\\u03CC \\u03C0\\u03C1\\u03BF\\u03B5\\u03C0\\u03B9\\u03BB\\u03BF\\u03B3\\u03AE, \\u03BF \\u039A\\u03C1\\u03B1\\u03C4\\u03AE\\u03C1\\u03B1\\u03C2 \\u03B8\\u03B1 \\u03C7\\u03C1\\u03B7\\u03C3\\u03B9\\u03BC\\u03BF\\u03C0\\u03BF\\u03B9\\u03AE\\u03C3\\u03B5\\u03B9 \\u03C4\\u03BF\\u03BD \\u03C4\\u03BF\\u03C0\\u03B9\\u03BA\\u03CC \\u03C3\\u03B1\\u03C2 \\u03B4\\u03AF\\u03C3\\u03BA\\u03BF \\u03B3\\u03B9\\u03B1 \\u03C4\\u03B7\\u03BD \\u03B1\\u03C0\\u03BF\\u03B8\\u03AE\\u03BA\\u03B5\\u03C5\\u03C3\\u03B7 \\u03B1\\u03BD\\u03C4\\u03B9\\u03B3\\u03C1\\u03AC\\u03C6\\u03C9\\u03BD \\u03B1\\u03C3\\u03C6\\u03B1\\u03BB\\u03B5\\u03AF\\u03B1\\u03C2, avatar \\u03BA\\u03B1\\u03B9 \\u03AC\\u03BB\\u03BB\\u03C9\\u03BD \\u03B1\\u03C1\\u03C7\\u03B5\\u03AF\\u03C9\\u03BD \\u03B5\\u03B9\\u03BA\\u03CC\\u03BD\\u03B1\\u03C2. \\u039C\\u03C0\\u03BF\\u03C1\\u03B5\\u03AF\\u03C4\\u03B5 \\u03BD\\u03B1 \\u03C1\\u03C5\\u03B8\\u03BC\\u03AF\\u03C3\\u03B5\\u03C4\\u03B5 \\u03C0\\u03B5\\u03C1\\u03B9\\u03C3\\u03C3\\u03CC\\u03C4\\u03B5\\u03C1\\u03BF\\u03C5\\u03C2 \\u03B1\\u03C0\\u03CC \\u03AD\\u03BD\\u03B1\\u03BD \\u03BF\\u03B4\\u03B7\\u03B3\\u03BF\\u03CD\\u03C2 \\u03B4\\u03AF\\u03C3\\u03BA\\u03C9\\u03BD \\u03CC\\u03C0\\u03C9\\u03C2 DigitalOcean, S3 \\u03BA\\u03B1\\u03B9 Dropbox \\u03C3\\u03CD\\u03BC\\u03C6\\u03C9\\u03BD\\u03B1 \\u03BC\\u03B5 \\u03C4\\u03B9\\u03C2 \\u03C0\\u03C1\\u03BF\\u03C4\\u03B9\\u03BC\\u03AE\\u03C3\\u03B5\\u03B9\\u03C2 \\u03C3\\u03B1\\u03C2.\",created_at:\"\\u0394\\u03B7\\u03BC\\u03B9\\u03BF\\u03C5\\u03C1\\u03B3\\u03AE\\u03B8\\u03B7\\u03BA\\u03B5 \\u03C3\\u03C4\\u03B9\\u03C2\",dropbox:\"Dropbox\",name:\"\\u038C\\u03BD\\u03BF\\u03BC\\u03B1\",driver:\"\\u039F\\u03B4\\u03B7\\u03B3\\u03CC\\u03C2\",disk_type:\"Type\",disk_name:\"\\u03A7\\u03C1\\u03AE\\u03C3\\u03B7 \\u03B4\\u03AF\\u03C3\\u03BA\\u03BF\\u03C5\",new_disk:\"\\u03A6\\u03CC\\u03C1\\u03C4\\u03C9\\u03C3\\u03B7 \\u039D\\u03AD\\u03BF\\u03C5 \\u0394\\u03AF\\u03C3\\u03BA\\u03BF\\u03C5\",filesystem_driver:\"\\u039F\\u03B4\\u03B7\\u03B3\\u03CC\\u03C2 \\u03A3\\u03C5\\u03C3\\u03C4\\u03AE\\u03BC\\u03B1\\u03C4\\u03BF\\u03C2 \\u0391\\u03C1\\u03C7\\u03B5\\u03AF\\u03C9\\u03BD\",local_driver:\"\\u03C4\\u03BF\\u03C0\\u03B9\\u03BA\\u03CC\\u03C2 \\u03BF\\u03B4\\u03B7\\u03B3\\u03CC\\u03C2\",local_root:\"\\u03C4\\u03BF\\u03C0\\u03B9\\u03BA\\u03AE \\u03C1\\u03AF\\u03B6\\u03B1\",public_driver:\"\\u03A0\\u03C1\\u03CC\\u03BA\\u03C1\\u03B9\\u03C3\\u03B7 \\u039F\\u03B4\\u03B7\\u03B3\\u03BF\\u03CD\",public_root:\"\\u0394\\u03B7\\u03BC\\u03CC\\u03C3\\u03B9\\u03B1 \\u03A1\\u03AF\\u03B6\\u03B1\",public_url:\"\\u0394\\u03B7\\u03BC\\u03CC\\u03C3\\u03B9\\u03B1 \\u03B4\\u03B9\\u03B5\\u03CD\\u03B8\\u03C5\\u03BD\\u03C3\\u03B7 URL\",public_visibility:\"\\u0394\\u03B7\\u03BC\\u03CC\\u03C3\\u03B9\\u03B1 \\u039F\\u03C1\\u03B1\\u03C4\\u03CC\\u03C4\\u03B7\\u03C4\\u03B1\",media_driver:\"\\u039F\\u03B4\\u03B7\\u03B3\\u03CC\\u03C2 \\u0391\\u03BB\\u03BB\\u03B7\\u03BB\\u03BF\\u03B3\\u03C1\\u03B1\\u03C6\\u03AF\\u03B1\\u03C2\",media_root:\"\\u03A1\\u03AF\\u03B6\\u03B1 \\u03A0\\u03BF\\u03BB\\u03C5\\u03BC\\u03AD\\u03C3\\u03C9\\u03BD\",aws_driver:\"\\u039F\\u03B4\\u03B7\\u03B3\\u03CC\\u03C2 AWS\",aws_key:\"\\u039A\\u03BB\\u03B5\\u03B9\\u03B4\\u03AF SES\",aws_secret:\"SES \\u039C\\u03C5\\u03C3\\u03C4\\u03B9\\u03BA\\u03CC\",aws_region:\"\\u03A0\\u03B5\\u03C1\\u03B9\\u03BF\\u03C7\\u03AE AWS\",aws_bucket:\"SES \\u039C\\u03C5\\u03C3\\u03C4\\u03B9\\u03BA\\u03CC\",aws_root:\"\\u03A1\\u03AF\\u03B6\\u03B1 AWS\",do_spaces_type:\"\\u03A4\\u03CD\\u03C0\\u03BF\\u03C2 \\u03BA\\u03B5\\u03BD\\u03CE\\u03BD\",do_spaces_key:\"\\u03A4\\u03CD\\u03C0\\u03BF\\u03C2 \\u03BA\\u03B5\\u03BD\\u03CE\\u03BD\",do_spaces_secret:\"\\u039C\\u03C5\\u03C3\\u03C4\\u03B9\\u03BA\\u03CC \\u038C\\u03C1\\u03B9\\u03BF \\u03A7\\u03CE\\u03C1\\u03C9\\u03BD\",do_spaces_region:'\\u03A0\\u03B5\\u03C1\\u03B9\\u03BF\\u03C7\\u03AE \"\\u03A7\\u03CE\\u03C1\\u03C9\\u03BD\"',do_spaces_bucket:\"\\u039C\\u03C5\\u03C3\\u03C4\\u03B9\\u03BA\\u03CC \\u038C\\u03C1\\u03B9\\u03BF \\u03A7\\u03CE\\u03C1\\u03C9\\u03BD\",do_spaces_endpoint:\"\\u0395\\u03BA\\u03C4\\u03AD\\u03BB\\u03B5\\u03C3\\u03B7 \\u03A7\\u03CE\\u03C1\\u03C9\\u03BD \\u03A4\\u03B5\\u03BB\\u03B9\\u03BA\\u03BF\\u03CD \\u03A3\\u03B7\\u03BC\\u03B5\\u03AF\\u03BF\\u03C5\",do_spaces_root:'\\u03A0\\u03B5\\u03C1\\u03B9\\u03BF\\u03C7\\u03AE \"\\u03A7\\u03CE\\u03C1\\u03C9\\u03BD\"',dropbox_type:\"\\u03A3\\u03C5\\u03B3\\u03C7\\u03C1\\u03BF\\u03BD\\u03B9\\u03C3\\u03BC\\u03CC\\u03C2 Dropbox\",dropbox_token:\"\\u03A3\\u03C5\\u03B3\\u03C7\\u03C1\\u03BF\\u03BD\\u03B9\\u03C3\\u03BC\\u03CC\\u03C2 Dropbox\",dropbox_key:\"\\u039A\\u03BB\\u03B5\\u03B9\\u03B4\\u03AF Dropbox\",dropbox_secret:\"\\u039C\\u03C5\\u03C3\\u03C4\\u03B9\\u03BA\\u03CC Dropbox\",dropbox_app:\"\\u03A3\\u03C5\\u03B3\\u03C7\\u03C1\\u03BF\\u03BD\\u03B9\\u03C3\\u03BC\\u03CC\\u03C2 Dropbox\",dropbox_root:\"\\u03A1\\u03AF\\u03B6\\u03B1 Dropbox\",default_driver:\"\\u03A0\\u03C1\\u03BF\\u03B5\\u03C0\\u03B9\\u03BB\\u03B5\\u03B3\\u03BC\\u03AD\\u03BD\\u03BF\\u03C2 \\u039F\\u03B4\\u03B7\\u03B3\\u03CC\\u03C2\",is_default:\"IS \\u03A0\\u03A1\\u039F\\u03A6\\u03A5\\u039B\\u0391\\u039E\\u0397\",set_default_disk:\"\\u039F\\u03C1\\u03B9\\u03C3\\u03BC\\u03CC\\u03C2 \\u03A0\\u03C1\\u03BF\\u03B5\\u03C0\\u03B9\\u03BB\\u03B5\\u03B3\\u03BC\\u03AD\\u03BD\\u03BF\\u03C5 \\u0394\\u03AF\\u03C3\\u03BA\\u03BF\\u03C5\",set_default_disk_confirm:\"\\u0391\\u03C5\\u03C4\\u03CC\\u03C2 \\u03BF \\u03B4\\u03AF\\u03C3\\u03BA\\u03BF\\u03C2 \\u03B8\\u03B1 \\u03BF\\u03C1\\u03B9\\u03C3\\u03C4\\u03B5\\u03AF \\u03C9\\u03C2 \\u03C0\\u03C1\\u03BF\\u03B5\\u03C0\\u03B9\\u03BB\\u03B5\\u03B3\\u03BC\\u03AD\\u03BD\\u03BF\\u03C2 \\u03BA\\u03B1\\u03B9 \\u03CC\\u03BB\\u03B1 \\u03C4\\u03B1 \\u03BD\\u03AD\\u03B1 \\u03B1\\u03C1\\u03C7\\u03B5\\u03AF\\u03B1 PDF \\u03B8\\u03B1 \\u03B1\\u03C0\\u03BF\\u03B8\\u03B7\\u03BA\\u03B5\\u03C5\\u03C4\\u03BF\\u03CD\\u03BD \\u03C3\\u03B5 \\u03B1\\u03C5\\u03C4\\u03CC\\u03BD \\u03C4\\u03BF\\u03BD \\u03B4\\u03AF\\u03C3\\u03BA\\u03BF\",success_set_default_disk:\"\\u039F \\u03B4\\u03AF\\u03C3\\u03BA\\u03BF\\u03C2 \\u03BF\\u03C1\\u03AF\\u03C3\\u03C4\\u03B7\\u03BA\\u03B5 \\u03C9\\u03C2 \\u03C0\\u03C1\\u03BF\\u03BA\\u03B1\\u03B8\\u03BF\\u03C1\\u03B9\\u03C3\\u03BC\\u03AD\\u03BD\\u03BF\\u03C2 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03CE\\u03C2\",save_pdf_to_disk:\"\\u0391\\u03C0\\u03BF\\u03B8\\u03AE\\u03BA\\u03B5\\u03C5\\u03C3\\u03B7 \\u03BA\\u03BB\\u03B5\\u03B9\\u03B4\\u03B9\\u03BF\\u03CD \\u03C3\\u03C4\\u03BF \\u03B4\\u03AF\\u03C3\\u03BA\\u03BF\",disk_setting_description:\" \\u0395\\u03BD\\u03B5\\u03C1\\u03B3\\u03BF\\u03C0\\u03BF\\u03B9\\u03AE\\u03C3\\u03C4\\u03B5 \\u03B1\\u03C5\\u03C4\\u03CC, \\u03B1\\u03BD \\u03B8\\u03AD\\u03BB\\u03B5\\u03C4\\u03B5 \\u03BD\\u03B1 \\u03B1\\u03C0\\u03BF\\u03B8\\u03B7\\u03BA\\u03B5\\u03CD\\u03C3\\u03B5\\u03C4\\u03B5 \\u03AD\\u03BD\\u03B1 \\u03B1\\u03BD\\u03C4\\u03AF\\u03B3\\u03C1\\u03B1\\u03C6\\u03BF \\u03C4\\u03BF\\u03C5 \\u03BA\\u03AC\\u03B8\\u03B5 \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03BF\\u03B3\\u03AF\\u03BF\\u03C5, \\u0395\\u03BA\\u03C4\\u03AF\\u03BC\\u03B7\\u03C3\\u03B7 & \\u03C0\\u03B1\\u03C1\\u03B1\\u03BB\\u03B1\\u03B2\\u03AE \\u03C0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03AE\\u03C2 PDF \\u03C3\\u03C4\\u03BF\\u03BD \\u03C0\\u03C1\\u03BF\\u03B5\\u03C0\\u03B9\\u03BB\\u03B5\\u03B3\\u03BC\\u03AD\\u03BD\\u03BF \\u03B4\\u03AF\\u03C3\\u03BA\\u03BF \\u03C3\\u03B1\\u03C2 \\u03B1\\u03C5\\u03C4\\u03CC\\u03BC\\u03B1\\u03C4\\u03B1. \\u0397 \\u03B5\\u03BD\\u03B5\\u03C1\\u03B3\\u03BF\\u03C0\\u03BF\\u03AF\\u03B7\\u03C3\\u03B7 \\u03B1\\u03C5\\u03C4\\u03AE\\u03C2 \\u03C4\\u03B7\\u03C2 \\u03B5\\u03C0\\u03B9\\u03BB\\u03BF\\u03B3\\u03AE\\u03C2 \\u03B8\\u03B1 \\u03BC\\u03B5\\u03B9\\u03CE\\u03C3\\u03B5\\u03B9 \\u03C4\\u03BF \\u03C7\\u03C1\\u03CC\\u03BD\\u03BF \\u03C6\\u03CC\\u03C1\\u03C4\\u03C9\\u03C3\\u03B7\\u03C2 \\u03BA\\u03B1\\u03C4\\u03AC \\u03C4\\u03B7\\u03BD \\u03C0\\u03C1\\u03BF\\u03B2\\u03BF\\u03BB\\u03AE \\u03C4\\u03C9\\u03BD PDF.\",select_disk:\"\\u0395\\u03C0\\u03B9\\u03BB\\u03AD\\u03BE\\u03C4\\u03B5 \\u03B4\\u03AF\\u03C3\\u03BA\\u03BF\",disk_settings:\"\\u03A1\\u03C5\\u03B8\\u03BC\\u03AF\\u03C3\\u03B5\\u03B9\\u03C2 \\u0394\\u03AF\\u03C3\\u03BA\\u03BF\\u03C5\",confirm_delete:\"\\u03A4\\u03B1 \\u03C5\\u03C0\\u03AC\\u03C1\\u03C7\\u03BF\\u03BD\\u03C4\\u03B1 \\u03B1\\u03C1\\u03C7\\u03B5\\u03AF\\u03B1 \\u03BA\\u03B1\\u03B9 \\u03BF\\u03B9 \\u03C6\\u03AC\\u03BA\\u03B5\\u03BB\\u03BF\\u03B9 \\u03C3\\u03B1\\u03C2 \\u03C3\\u03C4\\u03BF\\u03BD \\u03BA\\u03B1\\u03B8\\u03BF\\u03C1\\u03B9\\u03C3\\u03BC\\u03AD\\u03BD\\u03BF \\u03B4\\u03AF\\u03C3\\u03BA\\u03BF \\u03B4\\u03B5\\u03BD \\u03B8\\u03B1 \\u03B5\\u03C0\\u03B7\\u03C1\\u03B5\\u03B1\\u03C3\\u03C4\\u03BF\\u03CD\\u03BD \\u03B1\\u03BB\\u03BB\\u03AC \\u03B7 \\u03B4\\u03B9\\u03B1\\u03BC\\u03CC\\u03C1\\u03C6\\u03C9\\u03C3\\u03B7 \\u03C4\\u03BF\\u03C5 \\u03B4\\u03AF\\u03C3\\u03BA\\u03BF\\u03C5 \\u03C3\\u03B1\\u03C2 \\u03B8\\u03B1 \\u03B4\\u03B9\\u03B1\\u03B3\\u03C1\\u03B1\\u03C6\\u03B5\\u03AF \\u03B1\\u03C0\\u03CC \\u03C4\\u03BF\\u03BD \\u039A\\u03C1\\u03B1\\u03C4\\u03AE\\u03C1\\u03B1\",action:\"\\u0395\\u03BD\\u03AD\\u03C1\\u03B3\\u03B5\\u03B9\\u03B1\",edit_file_disk:\"\\u0395\\u03C0\\u03B5\\u03BE\\u03B5\\u03C1\\u03B3\\u03B1\\u03C3\\u03AF\\u03B1 \\u0394\\u03AF\\u03C3\\u03BA\\u03BF\\u03C5 \\u0391\\u03C1\\u03C7\\u03B5\\u03AF\\u03BF\\u03C5\",success_create:\"\\u0397 \\u03B4\\u03B5\\u03BE\\u03B1\\u03BC\\u03B5\\u03BD\\u03AE \\u03C0\\u03C1\\u03BF\\u03C3\\u03C4\\u03AD\\u03B8\\u03B7\\u03BA\\u03B5 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03CE\\u03C2.\",success_update:\"\\u0397 \\u03B4\\u03B5\\u03BE\\u03B1\\u03BC\\u03B5\\u03BD\\u03AE \\u03C0\\u03C1\\u03BF\\u03C3\\u03C4\\u03AD\\u03B8\\u03B7\\u03BA\\u03B5 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03CE\\u03C2.\",error:\"\\u0397 \\u03C0\\u03C1\\u03BF\\u03C3\\u03B8\\u03AE\\u03BA\\u03B7 \\u03B4\\u03AF\\u03C3\\u03BA\\u03BF\\u03C5 \\u03B1\\u03C0\\u03AD\\u03C4\\u03C5\\u03C7\\u03B5\",deleted_message:\"\\u039F \\u03B4\\u03AF\\u03C3\\u03BA\\u03BF\\u03C2 \\u03B1\\u03C1\\u03C7\\u03B5\\u03AF\\u03BF\\u03C5 \\u03B4\\u03B9\\u03B1\\u03B3\\u03C1\\u03AC\\u03C6\\u03B7\\u03BA\\u03B5 \\u03B5\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03CE\\u03C2\",disk_variables_save_successfully:\"\\u0397 \\u03A1\\u03CD\\u03B8\\u03BC\\u03B9\\u03C3\\u03B7 \\u03A4\\u03BF\\u03C5 \\u0394\\u03AF\\u03C3\\u03BA\\u03BF\\u03C5 \\u0395\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03AE\\u03C2\",disk_variables_save_error:\"\\u0391\\u03C0\\u03BF\\u03C4\\u03C5\\u03C7\\u03AF\\u03B1 \\u03C1\\u03CD\\u03B8\\u03BC\\u03B9\\u03C3\\u03B7\\u03C2 \\u03C4\\u03BF\\u03C5 \\u03B4\\u03AF\\u03C3\\u03BA\\u03BF\\u03C5.\",invalid_disk_credentials:\"\\u039C\\u03B7 \\u03AD\\u03B3\\u03BA\\u03C5\\u03C1\\u03BF \\u03B4\\u03B9\\u03B1\\u03C0\\u03B9\\u03C3\\u03C4\\u03B5\\u03C5\\u03C4\\u03AE\\u03C1\\u03B9\\u03BF \\u03C4\\u03BF\\u03C5 \\u03B5\\u03C0\\u03B9\\u03BB\\u03B5\\u03B3\\u03BC\\u03AD\\u03BD\\u03BF\\u03C5 \\u03B4\\u03AF\\u03C3\\u03BA\\u03BF\\u03C5\"},taxations:{add_billing_address:\"Enter Billing Address\",add_shipping_address:\"Enter Shipping Address\",add_company_address:\"Enter Company Address\",modal_description:\"The information below is required in order to fetch sales tax.\",add_address:\"Add Address for fetching sales tax.\",address_placeholder:\"Example: 123, My Street\",city_placeholder:\"Example: Los Angeles\",state_placeholder:\"Example: CA\",zip_placeholder:\"Example: 90024\",invalid_address:\"Please provide valid address details.\"}},bz={account_info:\"\\u03A0\\u03BB\\u03B7\\u03C1\\u03BF\\u03C6\\u03BF\\u03C1\\u03AF\\u03B5\\u03C2 \\u039B\\u03BF\\u03B3\\u03B1\\u03C1\\u03B9\\u03B1\\u03C3\\u03BC\\u03BF\\u03CD\",account_info_desc:\"\\u03A0\\u03B1\\u03C1\\u03B1\\u03BA\\u03AC\\u03C4\\u03C9 \\u03B8\\u03B1 \\u03C7\\u03C1\\u03B7\\u03C3\\u03B9\\u03BC\\u03BF\\u03C0\\u03BF\\u03B9\\u03B7\\u03B8\\u03BF\\u03CD\\u03BD \\u03BF\\u03B9 \\u03BB\\u03B5\\u03C0\\u03C4\\u03BF\\u03BC\\u03AD\\u03C1\\u03B5\\u03B9\\u03B5\\u03C2 \\u03B3\\u03B9\\u03B1 \\u03C4\\u03B7 \\u03B4\\u03B7\\u03BC\\u03B9\\u03BF\\u03C5\\u03C1\\u03B3\\u03AF\\u03B1 \\u03C4\\u03BF\\u03C5 \\u03BA\\u03CD\\u03C1\\u03B9\\u03BF\\u03C5 \\u03BB\\u03BF\\u03B3\\u03B1\\u03C1\\u03B9\\u03B1\\u03C3\\u03BC\\u03BF\\u03CD \\u03B4\\u03B9\\u03B1\\u03C7\\u03B5\\u03B9\\u03C1\\u03B9\\u03C3\\u03C4\\u03AE. \\u0395\\u03C0\\u03AF\\u03C3\\u03B7\\u03C2, \\u03BC\\u03C0\\u03BF\\u03C1\\u03B5\\u03AF\\u03C4\\u03B5 \\u03BD\\u03B1 \\u03B1\\u03BB\\u03BB\\u03AC\\u03BE\\u03B5\\u03C4\\u03B5 \\u03C4\\u03B1 \\u03C3\\u03C4\\u03BF\\u03B9\\u03C7\\u03B5\\u03AF\\u03B1 \\u03B1\\u03BD\\u03AC \\u03C0\\u03AC\\u03C3\\u03B1 \\u03C3\\u03C4\\u03B9\\u03B3\\u03BC\\u03AE \\u03BC\\u03B5\\u03C4\\u03AC \\u03C4\\u03B7 \\u03C3\\u03CD\\u03BD\\u03B4\\u03B5\\u03C3\\u03B7.\",name:\"\\u038C\\u03BD\\u03BF\\u03BC\\u03B1\",email:\"\\u0397\\u03BB\\u03B5\\u03BA\\u03C4\\u03C1\\u03BF\\u03BD\\u03B9\\u03BA\\u03AE \\u03B4\\u03B9\\u03B5\\u03CD\\u03B8\\u03C5\\u03BD\\u03C3\\u03B7\",password:\"\\u039A\\u03C9\\u03B4\\u03B9\\u03BA\\u03CC\\u03C2\",confirm_password:\"\\u0395\\u03C0\\u03B9\\u03B2\\u03B5\\u03B2\\u03B1\\u03AF\\u03C9\\u03C3\\u03B7 \\u039A\\u03C9\\u03B4\\u03B9\\u03BA\\u03BF\\u03CD\",save_cont:\"\\u0391\\u03C0\\u03BF\\u03B8\\u03AE\\u03BA\\u03B5\\u03C5\\u03C3\\u03B7 & \\u03C3\\u03C5\\u03BD\\u03B5\\u03C7\\u03B5\\u03AF\\u03B1\",company_info:\"\\u03A0\\u03BB\\u03B7\\u03C1\\u03BF\\u03C6\\u03BF\\u03C1\\u03AF\\u03B5\\u03C2 \\u0395\\u03C4\\u03B1\\u03B9\\u03C1\\u03AF\\u03B1\\u03C2\",company_info_desc:\"\\u0391\\u03C5\\u03C4\\u03AD\\u03C2 \\u03BF\\u03B9 \\u03C0\\u03BB\\u03B7\\u03C1\\u03BF\\u03C6\\u03BF\\u03C1\\u03AF\\u03B5\\u03C2 \\u03B8\\u03B1 \\u03B5\\u03BC\\u03C6\\u03B1\\u03BD\\u03AF\\u03B6\\u03BF\\u03BD\\u03C4\\u03B1\\u03B9 \\u03C3\\u03C4\\u03B1 \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03B1. \\u03A3\\u03B7\\u03BC\\u03B5\\u03B9\\u03CE\\u03C3\\u03C4\\u03B5 \\u03CC\\u03C4\\u03B9 \\u03BC\\u03C0\\u03BF\\u03C1\\u03B5\\u03AF\\u03C4\\u03B5 \\u03BD\\u03B1 \\u03C4\\u03BF \\u03B5\\u03C0\\u03B5\\u03BE\\u03B5\\u03C1\\u03B3\\u03B1\\u03C3\\u03C4\\u03B5\\u03AF\\u03C4\\u03B5 \\u03B1\\u03C1\\u03B3\\u03CC\\u03C4\\u03B5\\u03C1\\u03B1 \\u03C3\\u03C4\\u03B7 \\u03C3\\u03B5\\u03BB\\u03AF\\u03B4\\u03B1 \\u03C1\\u03C5\\u03B8\\u03BC\\u03AF\\u03C3\\u03B5\\u03C9\\u03BD.\",company_name:\"\\u038C\\u03BD\\u03BF\\u03BC\\u03B1 \\u0395\\u03C4\\u03B1\\u03B9\\u03C1\\u03B5\\u03AF\\u03B1\\u03C2\",company_logo:\"\\u039B\\u03BF\\u03B3\\u03CC\\u03C4\\u03C5\\u03C0\\u03BF \\u0395\\u03C4\\u03B1\\u03B9\\u03C1\\u03B5\\u03AF\\u03B1\\u03C2\",logo_preview:\"\\u03A0\\u03C1\\u03BF\\u03B5\\u03C0\\u03B9\\u03C3\\u03BA\\u03CC\\u03C0\\u03B7\\u03C3\\u03B7 \\u039B\\u03BF\\u03B3\\u03CC\\u03C4\\u03C5\\u03C0\\u03BF\\u03C5\",preferences:\"\\u03A0\\u03C1\\u03BF\\u03C4\\u03B9\\u03BC\\u03AE\\u03C3\\u03B5\\u03B9\\u03C2 \\u0395\\u03C4\\u03B1\\u03B9\\u03C1\\u03B5\\u03AF\\u03B1\\u03C2\",preferences_desc:\"\\u039A\\u03B1\\u03B8\\u03BF\\u03C1\\u03AF\\u03C3\\u03C4\\u03B5 \\u03C4\\u03B9\\u03C2 \\u03C0\\u03C1\\u03BF\\u03B5\\u03C0\\u03B9\\u03BB\\u03B5\\u03B3\\u03BC\\u03AD\\u03BD\\u03B5\\u03C2 \\u03C0\\u03C1\\u03BF\\u03C4\\u03B9\\u03BC\\u03AE\\u03C3\\u03B5\\u03B9\\u03C2 \\u03B3\\u03B9\\u03B1 \\u03B1\\u03C5\\u03C4\\u03AE\\u03BD \\u03C4\\u03B7\\u03BD \\u03B5\\u03C4\\u03B1\\u03B9\\u03C1\\u03B5\\u03AF\\u03B1.\",currency_set_alert:\"\\u03A4\\u03BF \\u03BD\\u03CC\\u03BC\\u03B9\\u03C3\\u03BC\\u03B1 \\u03C4\\u03B7\\u03C2 \\u03B5\\u03C4\\u03B1\\u03B9\\u03C1\\u03B5\\u03AF\\u03B1\\u03C2 \\u03B4\\u03B5\\u03BD \\u03BC\\u03C0\\u03BF\\u03C1\\u03B5\\u03AF \\u03BD\\u03B1 \\u03B1\\u03BB\\u03BB\\u03AC\\u03BE\\u03B5\\u03B9.\",country:\"\\u03A7\\u03CE\\u03C1\\u03B1\",state:\"\\u039D\\u03BF\\u03BC\\u03CC\\u03C2\",city:\"\\u03A0\\u03CC\\u03BB\\u03B7\",address:\"\\u0394\\u03B9\\u03B5\\u03CD\\u03B8\\u03C5\\u03BD\\u03C3\\u03B7\",street:\"\\u039F\\u03B4\\u03CC\\u03C2 1 - \\u039F\\u03B4\\u03CC\\u03C2 2\",phone:\"\\u03A4\\u03B7\\u03BB\\u03AD\\u03C6\\u03C9\\u03BD\\u03BF\",zip_code:\"\\u03A4\\u03B1\\u03C7\\u03C5\\u03B4\\u03C1\\u03BF\\u03BC\\u03B9\\u03BA\\u03CC\\u03C2 \\u03BA\\u03CE\\u03B4\\u03B9\\u03BA\\u03B1\\u03C2\",go_back:\"\\u0395\\u03C0\\u03B9\\u03C3\\u03C4\\u03C1\\u03BF\\u03C6\\u03AE\",currency:\"\\u039D\\u03CC\\u03BC\\u03B9\\u03C3\\u03BC\\u03B1\",language:\"Language\",time_zone:\"\\u0396\\u03CE\\u03BD\\u03B7 \\u038F\\u03C1\\u03B1\\u03C2\",fiscal_year:\"\\u039F\\u03B9\\u03BA\\u03BF\\u03BD\\u03BF\\u03BC\\u03B9\\u03BA\\u03CC \\u03AD\\u03C4\\u03BF\\u03C2\",date_format:\"\\u039C\\u03BF\\u03C1\\u03C6\\u03AE \\u0397\\u03BC\\u03B5\\u03C1\\u03BF\\u03BC\\u03B7\\u03BD\\u03AF\\u03B1\\u03C2\",from_address:\"\\u0394\\u03B9\\u03B5\\u03CD\\u03B8\\u03C5\\u03BD\\u03C3\\u03B7 \\u0391\\u03C0\\u03BF\\u03C3\\u03C4\\u03BF\\u03BB\\u03AE\\u03C2\",username:\"\\u038C\\u03BD\\u03BF\\u03BC\\u03B1 \\u03A7\\u03C1\\u03AE\\u03C3\\u03C4\\u03B7\",next:\"\\u0395\\u03C0\\u03CC\\u03BC\\u03B5\\u03BD\\u03BF\",continue:\"\\u03A3\\u03C5\\u03BD\\u03AD\\u03C7\\u03B5\\u03B9\\u03B1\",skip:\"Salta\",database:{database:\"Url & \\u0392\\u03AC\\u03C3\\u03B7 \\u0394\\u03B5\\u03B4\\u03BF\\u03BC\\u03AD\\u03BD\\u03C9\\u03BD \\u0399\\u03C3\\u03C4\\u03BF\\u03C4\\u03CC\\u03C0\\u03BF\\u03C5\",connection:\"\\u03A3\\u03CD\\u03BD\\u03B4\\u03B5\\u03C3\\u03B7 \\u03BC\\u03B5 \\u0392\\u03AC\\u03C3\\u03B7 \\u0394\\u03B5\\u03B4\\u03BF\\u03BC\\u03AD\\u03BD\\u03C9\\u03BD\",host:\"\\u0394\\u03B9\\u03B1\\u03BA\\u03BF\\u03BC\\u03B9\\u03C3\\u03C4\\u03AE\\u03C2 \\u0392\\u03AC\\u03C3\\u03B7\\u03C2 \\u0394\\u03B5\\u03B4\\u03BF\\u03BC\\u03AD\\u03BD\\u03C9\\u03BD\",port:\"\\u0398\\u03CD\\u03C1\\u03B1 \\u0392\\u03AC\\u03C3\\u03B7\\u03C2 \\u0394\\u03B5\\u03B4\\u03BF\\u03BC\\u03AD\\u03BD\\u03C9\\u03BD\",password:\"\\u039A\\u03C9\\u03B4\\u03B9\\u03BA\\u03CC\\u03C2 \\u0392\\u03AC\\u03C3\\u03B7\\u03C2 \\u0394\\u03B5\\u03B4\\u03BF\\u03BC\\u03AD\\u03BD\\u03C9\\u03BD\",app_url:\"URL \\u0395\\u03C6\\u03B1\\u03C1\\u03BC\\u03BF\\u03B3\\u03AE\\u03C2\",app_domain:\"\\u03A4\\u03BF\\u03BC\\u03AD\\u03B1\\u03C2 \\u0395\\u03C6\\u03B1\\u03C1\\u03BC\\u03BF\\u03B3\\u03AE\\u03C2\",username:\"\\u038C\\u03BD\\u03BF\\u03BC\\u03B1 \\u03A7\\u03C1\\u03AE\\u03C3\\u03C4\\u03B7 \\u0392\\u03AC\\u03C3\\u03B7\\u03C2 \\u0394\\u03B5\\u03B4\\u03BF\\u03BC\\u03AD\\u03BD\\u03C9\\u03BD\",db_name:\"\\u038C\\u03BD\\u03BF\\u03BC\\u03B1 \\u03B2\\u03AC\\u03C3\\u03B7\\u03C2 \\u03B4\\u03B5\\u03B4\\u03BF\\u03BC\\u03AD\\u03BD\\u03C9\\u03BD\",db_path:\"\\u0394\\u03B9\\u03B1\\u03B4\\u03C1\\u03BF\\u03BC\\u03AE \\u0392\\u03AC\\u03C3\\u03B7\\u03C2 \\u0394\\u03B5\\u03B4\\u03BF\\u03BC\\u03AD\\u03BD\\u03C9\\u03BD\",desc:\"\\u0394\\u03B7\\u03BC\\u03B9\\u03BF\\u03C5\\u03C1\\u03B3\\u03AE\\u03C3\\u03C4\\u03B5 \\u03BC\\u03B9\\u03B1 \\u03B2\\u03AC\\u03C3\\u03B7 \\u03B4\\u03B5\\u03B4\\u03BF\\u03BC\\u03AD\\u03BD\\u03C9\\u03BD \\u03C3\\u03C4\\u03BF \\u03B4\\u03B9\\u03B1\\u03BA\\u03BF\\u03BC\\u03B9\\u03C3\\u03C4\\u03AE \\u03C3\\u03B1\\u03C2 \\u03BA\\u03B1\\u03B9 \\u03BF\\u03C1\\u03AF\\u03C3\\u03C4\\u03B5 \\u03C4\\u03B1 \\u03B4\\u03B9\\u03B1\\u03C0\\u03B9\\u03C3\\u03C4\\u03B5\\u03C5\\u03C4\\u03AE\\u03C1\\u03B9\\u03B1 \\u03C7\\u03C1\\u03B7\\u03C3\\u03B9\\u03BC\\u03BF\\u03C0\\u03BF\\u03B9\\u03CE\\u03BD\\u03C4\\u03B1\\u03C2 \\u03C4\\u03B7\\u03BD \\u03C0\\u03B1\\u03C1\\u03B1\\u03BA\\u03AC\\u03C4\\u03C9 \\u03C6\\u03CC\\u03C1\\u03BC\\u03B1.\"},permissions:{permissions:\"\\u0394\\u03B9\\u03BA\\u03B1\\u03B9\\u03CE\\u03BC\\u03B1\\u03C4\\u03B1\",permission_confirm_title:\"\\u0395\\u03AF\\u03C3\\u03C4\\u03B5 \\u03B2\\u03AD\\u03B2\\u03B1\\u03B9\\u03BF\\u03B9 \\u03CC\\u03C4\\u03B9 \\u03B8\\u03AD\\u03BB\\u03B5\\u03C4\\u03B5 \\u03BD\\u03B1 \\u03C3\\u03C5\\u03BD\\u03B5\\u03C7\\u03AF\\u03C3\\u03B5\\u03C4\\u03B5;\",permission_confirm_desc:\"\\u039F \\u03AD\\u03BB\\u03B5\\u03B3\\u03C7\\u03BF\\u03C2 \\u03B4\\u03B9\\u03BA\\u03B1\\u03B9\\u03C9\\u03BC\\u03AC\\u03C4\\u03C9\\u03BD \\u03C6\\u03B1\\u03BA\\u03AD\\u03BB\\u03BF\\u03C5 \\u03B1\\u03C0\\u03AD\\u03C4\\u03C5\\u03C7\\u03B5\",permission_desc:\"\\u03A0\\u03B1\\u03C1\\u03B1\\u03BA\\u03AC\\u03C4\\u03C9 \\u03B5\\u03AF\\u03BD\\u03B1\\u03B9 \\u03B7 \\u03BB\\u03AF\\u03C3\\u03C4\\u03B1 \\u03C4\\u03C9\\u03BD \\u03B4\\u03B9\\u03BA\\u03B1\\u03B9\\u03C9\\u03BC\\u03AC\\u03C4\\u03C9\\u03BD \\u03C6\\u03B1\\u03BA\\u03AD\\u03BB\\u03C9\\u03BD \\u03C0\\u03BF\\u03C5 \\u03B1\\u03C0\\u03B1\\u03B9\\u03C4\\u03BF\\u03CD\\u03BD\\u03C4\\u03B1\\u03B9 \\u03B3\\u03B9\\u03B1 \\u03BD\\u03B1 \\u03BB\\u03B5\\u03B9\\u03C4\\u03BF\\u03C5\\u03C1\\u03B3\\u03AE\\u03C3\\u03B5\\u03B9 \\u03B7 \\u03B5\\u03C6\\u03B1\\u03C1\\u03BC\\u03BF\\u03B3\\u03AE. \\u0395\\u03AC\\u03BD \\u03BF \\u03AD\\u03BB\\u03B5\\u03B3\\u03C7\\u03BF\\u03C2 \\u03C4\\u03B7\\u03C2 \\u03AC\\u03B4\\u03B5\\u03B9\\u03B1\\u03C2 \\u03B1\\u03C0\\u03BF\\u03C4\\u03CD\\u03C7\\u03B5\\u03B9, \\u03C6\\u03C1\\u03BF\\u03BD\\u03C4\\u03AF\\u03C3\\u03C4\\u03B5 \\u03BD\\u03B1 \\u03B5\\u03BD\\u03B7\\u03BC\\u03B5\\u03C1\\u03CE\\u03C3\\u03B5\\u03C4\\u03B5 \\u03C4\\u03B1 \\u03B4\\u03B9\\u03BA\\u03B1\\u03B9\\u03CE\\u03BC\\u03B1\\u03C4\\u03B1 \\u03C4\\u03BF\\u03C5 \\u03C6\\u03B1\\u03BA\\u03AD\\u03BB\\u03BF\\u03C5 \\u03C3\\u03B1\\u03C2.\"},verify_domain:{title:\"\\u0391\\u03BD\\u03B8\\u03C1\\u03CE\\u03C0\\u03B9\\u03BD\\u03B7 \\u0395\\u03C0\\u03B1\\u03BB\\u03AE\\u03B8\\u03B5\\u03C5\\u03C3\\u03B7\",desc:\"\\u039F \\u039A\\u03C1\\u03B1\\u03C4\\u03AE\\u03C1\\u03B1\\u03C2 \\u03C7\\u03C1\\u03B7\\u03C3\\u03B9\\u03BC\\u03BF\\u03C0\\u03BF\\u03B9\\u03B5\\u03AF \\u03AD\\u03BB\\u03B5\\u03B3\\u03C7\\u03BF \\u03C4\\u03B1\\u03C5\\u03C4\\u03CC\\u03C4\\u03B7\\u03C4\\u03B1\\u03C2 \\u03C0\\u03BF\\u03C5 \\u03B2\\u03B1\\u03C3\\u03AF\\u03B6\\u03B5\\u03C4\\u03B1\\u03B9 \\u03C3\\u03B5 \\u03C3\\u03C5\\u03BD\\u03B5\\u03B4\\u03C1\\u03AF\\u03B1 \\u03BA\\u03B1\\u03B9 \\u03B1\\u03C0\\u03B1\\u03B9\\u03C4\\u03B5\\u03AF \\u03B5\\u03C0\\u03B1\\u03BB\\u03AE\\u03B8\\u03B5\\u03C5\\u03C3\\u03B7 \\u03C4\\u03BF\\u03BC\\u03AD\\u03B1 \\u03B3\\u03B9\\u03B1 \\u03BB\\u03CC\\u03B3\\u03BF\\u03C5\\u03C2 \\u03B1\\u03C3\\u03C6\\u03B1\\u03BB\\u03B5\\u03AF\\u03B1\\u03C2. \\u03A0\\u03B1\\u03C1\\u03B1\\u03BA\\u03B1\\u03BB\\u03CE \\u03B5\\u03B9\\u03C3\\u03AC\\u03B3\\u03B5\\u03C4\\u03B5 \\u03C4\\u03BF\\u03BD \\u03C4\\u03BF\\u03BC\\u03AD\\u03B1 \\u03C3\\u03C4\\u03BF\\u03BD \\u03BF\\u03C0\\u03BF\\u03AF\\u03BF \\u03B8\\u03B1 \\u03AD\\u03C7\\u03B5\\u03C4\\u03B5 \\u03C0\\u03C1\\u03CC\\u03C3\\u03B2\\u03B1\\u03C3\\u03B7 \\u03C3\\u03C4\\u03B7\\u03BD \\u03B5\\u03C6\\u03B1\\u03C1\\u03BC\\u03BF\\u03B3\\u03AE \\u03B9\\u03C3\\u03C4\\u03BF\\u03CD \\u03C3\\u03B1\\u03C2.\",app_domain:\"\\u03A4\\u03BF\\u03BC\\u03AD\\u03B1\\u03C2 \\u0395\\u03C6\\u03B1\\u03C1\\u03BC\\u03BF\\u03B3\\u03AE\\u03C2\",verify_now:\"\\u0395\\u03C0\\u03B1\\u03BB\\u03B7\\u03B8\\u03B5\\u03CD\\u03C3\\u03C4\\u03B5 \\u03A4\\u03CE\\u03C1\\u03B1\",success:\"\\u0397 \\u03B4\\u03B9\\u03B5\\u03CD\\u03B8\\u03C5\\u03BD\\u03C3\\u03B7 \\u03C4\\u03BF\\u03C5 \\u03B7\\u03BB\\u03B5\\u03BA\\u03C4\\u03C1\\u03BF\\u03BD\\u03B9\\u03BA\\u03BF\\u03CD \\u03C4\\u03B1\\u03C7\\u03C5\\u03B4\\u03C1\\u03BF\\u03BC\\u03B5\\u03AF\\u03BF\\u03C5 \\u03C3\\u03B1\\u03C2 \\u03B5\\u03C0\\u03B1\\u03BB\\u03B7\\u03B8\\u03B5\\u03CD\\u03C4\\u03B7\\u03BA\\u03B5\",failed:\"\\u0397 \\u03B5\\u03C0\\u03B1\\u03BB\\u03AE\\u03B8\\u03B5\\u03C5\\u03C3\\u03B7 \\u03C4\\u03BF\\u03BC\\u03AD\\u03B1 \\u03B1\\u03C0\\u03AD\\u03C4\\u03C5\\u03C7\\u03B5. \\u03A0\\u03B1\\u03C1\\u03B1\\u03BA\\u03B1\\u03BB\\u03CE \\u03B5\\u03B9\\u03C3\\u03AC\\u03B3\\u03B5\\u03C4\\u03B5 \\u03AD\\u03B3\\u03BA\\u03C5\\u03C1\\u03BF \\u03CC\\u03BD\\u03BF\\u03BC\\u03B1 \\u03C4\\u03BF\\u03BC\\u03AD\\u03B1.\",verify_and_continue:\"\\u0395\\u03C0\\u03B1\\u03BB\\u03AE\\u03B8\\u03B5\\u03C5\\u03C3\\u03B7 \\u039A\\u03B1\\u03B9 \\u03A3\\u03C5\\u03BD\\u03AD\\u03C7\\u03B5\\u03B9\\u03B1\"},mail:{host:\"\\u0394\\u03B9\\u03B1\\u03BA\\u03BF\\u03BC\\u03B9\\u03C3\\u03C4\\u03AE\\u03C2 \\u0391\\u03BB\\u03BB\\u03B7\\u03BB\\u03BF\\u03B3\\u03C1\\u03B1\\u03C6\\u03AF\\u03B1\\u03C2\",port:\"\\u0394\\u03B9\\u03B1\\u03BA\\u03BF\\u03BC\\u03B9\\u03C3\\u03C4\\u03AE\\u03C2 \\u0391\\u03BB\\u03BB\\u03B7\\u03BB\\u03BF\\u03B3\\u03C1\\u03B1\\u03C6\\u03AF\\u03B1\\u03C2\",driver:\"\\u039F\\u03B4\\u03B7\\u03B3\\u03CC\\u03C2 \\u0391\\u03BB\\u03BB\\u03B7\\u03BB\\u03BF\\u03B3\\u03C1\\u03B1\\u03C6\\u03AF\\u03B1\\u03C2\",secret:\"\\u039C\\u03C5\\u03C3\\u03C4\\u03B9\\u03BA\\u03CC\",mailgun_secret:\"\\u039C\\u03C5\\u03C3\\u03C4\\u03B9\\u03BA\\u03CC Mailgun\",mailgun_domain:\"\\u03A4\\u03BF\\u03BC\\u03AD\\u03B1\\u03C2\",mailgun_endpoint:\"Mailgun Endpoint\",ses_secret:\"SES \\u039C\\u03C5\\u03C3\\u03C4\\u03B9\\u03BA\\u03CC\",ses_key:\"\\u039A\\u03BB\\u03B5\\u03B9\\u03B4\\u03AF SES\",password:\"\\u039A\\u03C9\\u03B4\\u03B9\\u03BA\\u03CC\\u03C2 \\u03A0\\u03C1\\u03CC\\u03C3\\u03B2\\u03B1\\u03C3\\u03B7\\u03C2 \\u03A4\\u03B1\\u03C7\\u03C5\\u03B4\\u03C1\\u03BF\\u03BC\\u03B5\\u03AF\\u03BF\\u03C5\",username:\"\\u038C\\u03BD\\u03BF\\u03BC\\u03B1 \\u03A4\\u03B1\\u03C7\\u03C5\\u03B4\\u03C1\\u03BF\\u03BC\\u03B5\\u03AF\\u03BF\\u03C5\",mail_config:\"\\u0394\\u03B9\\u03B1\\u03BC\\u03CC\\u03C1\\u03C6\\u03C9\\u03C3\\u03B7 Mail\",from_name:\"\\u038C\\u03BD\\u03BF\\u03BC\\u03B1 \\u0391\\u03C0\\u03BF\\u03C3\\u03C4\\u03BF\\u03BB\\u03AD\\u03B1\",from_mail:\"\\u0394\\u03B9\\u03B5\\u03CD\\u03B8\\u03C5\\u03BD\\u03C3\\u03B7 \\u0391\\u03C0\\u03BF\\u03C3\\u03C4\\u03BF\\u03BB\\u03AE\\u03C2\",encryption:\"\\u039A\\u03C1\\u03C5\\u03C0\\u03C4\\u03BF\\u03B3\\u03C1\\u03AC\\u03C6\\u03B7\\u03C3\\u03B7 Email\",mail_config_desc:\"\\u03A0\\u03B1\\u03C1\\u03B1\\u03BA\\u03AC\\u03C4\\u03C9 \\u03B5\\u03AF\\u03BD\\u03B1\\u03B9 \\u03B7 \\u03C6\\u03CC\\u03C1\\u03BC\\u03B1 \\u03B3\\u03B9\\u03B1 \\u03C4\\u03B7 \\u03C1\\u03CD\\u03B8\\u03BC\\u03B9\\u03C3\\u03B7 \\u03C0\\u03B1\\u03C1\\u03B1\\u03BC\\u03AD\\u03C4\\u03C1\\u03C9\\u03BD \\u03C4\\u03BF\\u03C5 \\u03C0\\u03C1\\u03BF\\u03B3\\u03C1\\u03AC\\u03BC\\u03BC\\u03B1\\u03C4\\u03BF\\u03C2 \\u03BF\\u03B4\\u03AE\\u03B3\\u03B7\\u03C3\\u03B7\\u03C2 \\u03B7\\u03BB\\u03B5\\u03BA\\u03C4\\u03C1\\u03BF\\u03BD\\u03B9\\u03BA\\u03BF\\u03CD \\u03C4\\u03B1\\u03C7\\u03C5\\u03B4\\u03C1\\u03BF\\u03BC\\u03B5\\u03AF\\u03BF\\u03C5 \\u03B3\\u03B9\\u03B1 \\u03C4\\u03B7\\u03BD \\u03B1\\u03C0\\u03BF\\u03C3\\u03C4\\u03BF\\u03BB\\u03AE \\u03BC\\u03B7\\u03BD\\u03C5\\u03BC\\u03AC\\u03C4\\u03C9\\u03BD \\u03B7\\u03BB\\u03B5\\u03BA\\u03C4\\u03C1\\u03BF\\u03BD\\u03B9\\u03BA\\u03BF\\u03CD \\u03C4\\u03B1\\u03C7\\u03C5\\u03B4\\u03C1\\u03BF\\u03BC\\u03B5\\u03AF\\u03BF\\u03C5 \\u03B1\\u03C0\\u03CC \\u03C4\\u03B7\\u03BD \\u03B5\\u03C6\\u03B1\\u03C1\\u03BC\\u03BF\\u03B3\\u03AE. \\u039C\\u03C0\\u03BF\\u03C1\\u03B5\\u03AF\\u03C4\\u03B5 \\u03B5\\u03C0\\u03AF\\u03C3\\u03B7\\u03C2 \\u03BD\\u03B1 \\u03C1\\u03C5\\u03B8\\u03BC\\u03AF\\u03C3\\u03B5\\u03C4\\u03B5 \\u03C4\\u03B9\\u03C2 \\u03C0\\u03B1\\u03C1\\u03B1\\u03BC\\u03AD\\u03C4\\u03C1\\u03BF\\u03C5\\u03C2 \\u03C4\\u03C1\\u03AF\\u03C4\\u03C9\\u03BD \\u03C0\\u03B1\\u03C1\\u03CC\\u03C7\\u03C9\\u03BD \\u03CC\\u03C0\\u03C9\\u03C2 \\u03C4\\u03BF Sendgrid, \\u03C4\\u03BF SES \\u03BA\\u03BB\\u03C0.\"},req:{system_req:\"\\u0391\\u03C0\\u03B1\\u03B9\\u03C4\\u03AE\\u03C3\\u03B5\\u03B9\\u03C2 \\u03A3\\u03C5\\u03C3\\u03C4\\u03AE\\u03BC\\u03B1\\u03C4\\u03BF\\u03C2\",php_req_version:\"PHP (\\u03B1\\u03C0\\u03B1\\u03B9\\u03C4\\u03B5\\u03AF\\u03C4\\u03B1\\u03B9 \\u03AD\\u03BA\\u03B4\\u03BF\\u03C3\\u03B7 {version})\",check_req:\"\\u0388\\u03BB\\u03B5\\u03B3\\u03C7\\u03BF\\u03C2 \\u0391\\u03C0\\u03B1\\u03B9\\u03C4\\u03AE\\u03C3\\u03B5\\u03C9\\u03BD\",system_req_desc:\"\\u039F \\u03BA\\u03C1\\u03B1\\u03C4\\u03AE\\u03C1\\u03B1\\u03C2 \\u03AD\\u03C7\\u03B5\\u03B9 \\u03BC\\u03B5\\u03C1\\u03B9\\u03BA\\u03AD\\u03C2 \\u03B1\\u03C0\\u03B1\\u03B9\\u03C4\\u03AE\\u03C3\\u03B5\\u03B9\\u03C2 \\u03B4\\u03B9\\u03B1\\u03BA\\u03BF\\u03BC\\u03B9\\u03C3\\u03C4\\u03AE. \\u0392\\u03B5\\u03B2\\u03B1\\u03B9\\u03C9\\u03B8\\u03B5\\u03AF\\u03C4\\u03B5 \\u03CC\\u03C4\\u03B9 \\u03BF \\u03B4\\u03B9\\u03B1\\u03BA\\u03BF\\u03BC\\u03B9\\u03C3\\u03C4\\u03AE\\u03C2 \\u03C3\\u03B1\\u03C2 \\u03AD\\u03C7\\u03B5\\u03B9 \\u03C4\\u03B7\\u03BD \\u03B1\\u03C0\\u03B1\\u03B9\\u03C4\\u03BF\\u03CD\\u03BC\\u03B5\\u03BD\\u03B7 \\u03AD\\u03BA\\u03B4\\u03BF\\u03C3\\u03B7 php \\u03BA\\u03B1\\u03B9 \\u03CC\\u03BB\\u03B5\\u03C2 \\u03C4\\u03B9\\u03C2 \\u03B5\\u03C0\\u03B5\\u03BA\\u03C4\\u03AC\\u03C3\\u03B5\\u03B9\\u03C2 \\u03C0\\u03BF\\u03C5 \\u03B1\\u03BD\\u03B1\\u03C6\\u03AD\\u03C1\\u03BF\\u03BD\\u03C4\\u03B1\\u03B9 \\u03C0\\u03B1\\u03C1\\u03B1\\u03BA\\u03AC\\u03C4\\u03C9.\"},errors:{migrate_failed:\"\\u0391\\u03C0\\u03BF\\u03C4\\u03C5\\u03C7\\u03AF\\u03B1 \\u039C\\u03B5\\u03C4\\u03B5\\u03B3\\u03BA\\u03B1\\u03C4\\u03AC\\u03C3\\u03C4\\u03B1\\u03C3\\u03B7\\u03C2\",database_variables_save_error:\"\\u0394\\u03B5\\u03BD \\u03B5\\u03AF\\u03BD\\u03B1\\u03B9 \\u03B4\\u03C5\\u03BD\\u03B1\\u03C4\\u03AE \\u03B7 \\u03B5\\u03B3\\u03B3\\u03C1\\u03B1\\u03C6\\u03AE \\u03C1\\u03CD\\u03B8\\u03BC\\u03B9\\u03C3\\u03B7\\u03C2 \\u03C0\\u03B1\\u03C1\\u03B1\\u03BC\\u03AD\\u03C4\\u03C1\\u03C9\\u03BD \\u03C3\\u03C4\\u03BF \\u03B1\\u03C1\\u03C7\\u03B5\\u03AF\\u03BF .env. \\u03A0\\u03B1\\u03C1\\u03B1\\u03BA\\u03B1\\u03BB\\u03CE \\u03B5\\u03BB\\u03AD\\u03B3\\u03BE\\u03C4\\u03B5 \\u03C4\\u03B1 \\u03B4\\u03B9\\u03BA\\u03B1\\u03B9\\u03CE\\u03BC\\u03B1\\u03C4\\u03B1 \\u03B1\\u03C1\\u03C7\\u03B5\\u03AF\\u03BF\\u03C5\",mail_variables_save_error:\"\\u0391\\u03C0\\u03BF\\u03C4\\u03C5\\u03C7\\u03AF\\u03B1 \\u03C1\\u03CD\\u03B8\\u03BC\\u03B9\\u03C3\\u03B7\\u03C2 \\u03C4\\u03BF\\u03C5 \\u03B4\\u03AF\\u03C3\\u03BA\\u03BF\\u03C5.\",connection_failed:\"\\u03A3\\u03CD\\u03BD\\u03B4\\u03B5\\u03C3\\u03B7 \\u03B2\\u03AC\\u03C3\\u03B7\\u03C2 \\u03B4\\u03B5\\u03B4\\u03BF\\u03BC\\u03AD\\u03BD\\u03C9\\u03BD\",database_should_be_empty:\"\\u0397 \\u03B2\\u03AC\\u03C3\\u03B7 \\u03B4\\u03B5\\u03B4\\u03BF\\u03BC\\u03AD\\u03BD\\u03C9\\u03BD \\u03C0\\u03C1\\u03AD\\u03C0\\u03B5\\u03B9 \\u03BD\\u03B1 \\u03B5\\u03AF\\u03BD\\u03B1\\u03B9 \\u03BA\\u03B5\\u03BD\\u03AE\"},success:{mail_variables_save_successfully:\"\\u0397 \\u03A1\\u03CD\\u03B8\\u03BC\\u03B9\\u03C3\\u03B7 \\u03A4\\u03BF\\u03C5 \\u0394\\u03AF\\u03C3\\u03BA\\u03BF\\u03C5 \\u0395\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03AE\\u03C2\",database_variables_save_successfully:\"\\u0397 \\u03A1\\u03CD\\u03B8\\u03BC\\u03B9\\u03C3\\u03B7 \\u03A4\\u03BF\\u03C5 \\u0394\\u03AF\\u03C3\\u03BA\\u03BF\\u03C5 \\u0395\\u03C0\\u03B9\\u03C4\\u03C5\\u03C7\\u03AE\\u03C2.\"}},kz={invalid_phone:\"\\u039C\\u03B7 \\u03AD\\u03B3\\u03BA\\u03C5\\u03C1\\u03BF\\u03C2 \\u03B1\\u03C1\\u03B9\\u03B8\\u03BC\\u03CC\\u03C2 \\u03C4\\u03B7\\u03BB\\u03B5\\u03C6\\u03CE\\u03BD\\u03BF\\u03C5\",invalid_url:\"\\u039C\\u03B7 \\u03AD\\u03B3\\u03BA\\u03C5\\u03C1\\u03B7 \\u03B4\\u03B9\\u03B5\\u03CD\\u03B8\\u03C5\\u03BD\\u03C3\\u03B7 url (\\u03C0.\\u03C7. http://www.craterapp.com)\",invalid_domain_url:\"\\u039C\\u03B7 \\u03AD\\u03B3\\u03BA\\u03C5\\u03C1\\u03B7 \\u03B4\\u03B9\\u03B5\\u03CD\\u03B8\\u03C5\\u03BD\\u03C3\\u03B7 url (\\u03C0.\\u03C7. craterapp.com)\",required:\"\\u03A4\\u03BF \\u03C0\\u03B5\\u03B4\\u03AF\\u03BF \\u03B5\\u03AF\\u03BD\\u03B1\\u03B9 \\u03C5\\u03C0\\u03BF\\u03C7\\u03C1\\u03B5\\u03C9\\u03C4\\u03B9\\u03BA\\u03CC\",email_incorrect:\"\\u039B\\u03AC\\u03B8\\u03BF\\u03C2 \\u03BC\\u03BF\\u03C1\\u03C6\\u03AE e-mail;\",email_already_taken:\"\\u03A4\\u03BF \\u03CC\\u03BD\\u03BF\\u03BC\\u03B1 \\u03AD\\u03C7\\u03B5\\u03B9 \\u03AE\\u03B4\\u03B7 \\u03BB\\u03B7\\u03C6\\u03B8\\u03B5\\u03AF.\",email_does_not_exist:\"\\u03A4\\u03BF \\u03C3\\u03C5\\u03B3\\u03BA\\u03B5\\u03BA\\u03C1\\u03B9\\u03BC\\u03AD\\u03BD\\u03BF email \\u03C7\\u03C1\\u03B7\\u03C3\\u03B9\\u03BC\\u03BF\\u03C0\\u03BF\\u03B9\\u03B5\\u03AF\\u03C4\\u03B1\\u03B9 \\u03AE\\u03B4\\u03B7 \\u03B1\\u03C0\\u03CC \\u03AC\\u03BB\\u03BB\\u03BF\\u03BD \\u03C7\\u03C1\\u03AE\\u03C3\\u03C4\\u03B7\",item_unit_already_taken:\"\\u0391\\u03C5\\u03C4\\u03CC \\u03C4\\u03BF \\u03CC\\u03BD\\u03BF\\u03BC\\u03B1 \\u03C7\\u03C1\\u03AE\\u03C3\\u03C4\\u03B7 \\u03AD\\u03C7\\u03B5\\u03B9 \\u03AE\\u03B4\\u03B7 \\u03BB\\u03B7\\u03C6\\u03B8\\u03B5\\u03AF.\",payment_mode_already_taken:\"\\u0391\\u03C5\\u03C4\\u03CC \\u03C4\\u03BF \\u03CC\\u03BD\\u03BF\\u03BC\\u03B1 \\u03C7\\u03C1\\u03AE\\u03C3\\u03C4\\u03B7 \\u03AD\\u03C7\\u03B5\\u03B9 \\u03AE\\u03B4\\u03B7 \\u03BB\\u03B7\\u03C6\\u03B8\\u03B5\\u03AF.\",send_reset_link:\"\\u0391\\u03C0\\u03BF\\u03C3\\u03C4\\u03BF\\u03BB\\u03AE \\u03C3\\u03C5\\u03BD\\u03B4\\u03AD\\u03C3\\u03BC\\u03BF\\u03C5 \\u03B5\\u03C0\\u03B1\\u03BD\\u03B1\\u03C6\\u03BF\\u03C1\\u03AC\\u03C2\",not_yet:\"\\u038C\\u03C7\\u03B9 \\u03B1\\u03BA\\u03CC\\u03BC\\u03B1? \\u03A3\\u03C4\\u03B5\\u03AF\\u03BB\\u03B5 \\u03C4\\u03BF \\u03BE\\u03B1\\u03BD\\u03AC\",password_min_length:\"\\u039F \\u03BA\\u03C9\\u03B4\\u03B9\\u03BA\\u03CC\\u03C2 \\u03C0\\u03C1\\u03CC\\u03C3\\u03B2\\u03B1\\u03C3\\u03B7\\u03C2 \\u03C0\\u03C1\\u03AD\\u03C0\\u03B5\\u03B9 \\u03BD\\u03B1 \\u03C0\\u03B5\\u03C1\\u03B9\\u03AD\\u03C7\\u03B5\\u03B9 \\u03C4\\u03BF\\u03C5\\u03BB\\u03AC\\u03C7\\u03B9\\u03C3\\u03C4\\u03BF\\u03BD 6 \\u03C7\\u03B1\\u03C1\\u03B1\\u03BA\\u03C4\\u03AE\\u03C1\\u03B5\\u03C2\",name_min_length:\"\\u03A4\\u03BF \\u03CC\\u03BD\\u03BF\\u03BC\\u03B1 \\u03C0\\u03C1\\u03AD\\u03C0\\u03B5\\u03B9 \\u03BD\\u03B1 \\u03AD\\u03C7\\u03B5\\u03B9 \\u03C4\\u03BF\\u03C5\\u03BB\\u03AC\\u03C7\\u03B9\\u03C3\\u03C4\\u03BF\\u03BD {count} \\u03B3\\u03C1\\u03AC\\u03BC\\u03BC\\u03B1\\u03C4\\u03B1.\",prefix_min_length:\"\\u03A4\\u03BF \\u03CC\\u03BD\\u03BF\\u03BC\\u03B1 \\u03C0\\u03C1\\u03AD\\u03C0\\u03B5\\u03B9 \\u03BD\\u03B1 \\u03AD\\u03C7\\u03B5\\u03B9 \\u03C4\\u03BF\\u03C5\\u03BB\\u03AC\\u03C7\\u03B9\\u03C3\\u03C4\\u03BF\\u03BD {count} \\u03B3\\u03C1\\u03AC\\u03BC\\u03BC\\u03B1\\u03C4\\u03B1.\",enter_valid_tax_rate:\"\\u0395\\u03B9\\u03C3\\u03AC\\u03B3\\u03B5\\u03C4\\u03B5 \\u03AD\\u03B3\\u03BA\\u03C5\\u03C1\\u03BF \\u03C6\\u03BF\\u03C1\\u03BF\\u03BB\\u03BF\\u03B3\\u03B9\\u03BA\\u03CC \\u03C3\\u03C5\\u03BD\\u03C4\\u03B5\\u03BB\\u03B5\\u03C3\\u03C4\\u03AE\",numbers_only:\"\\u0391\\u03C1\\u03B9\\u03B8\\u03BC\\u03BF\\u03AF \\u039C\\u03CC\\u03BD\\u03BF.\",characters_only:\"\\u03A7\\u03B1\\u03C1\\u03B1\\u03BA\\u03C4\\u03AE\\u03C1\\u03B5\\u03C2 \\u039C\\u03CC\\u03BD\\u03BF.\",password_incorrect:\"\\u039F\\u03B9 \\u03BA\\u03C9\\u03B4\\u03B9\\u03BA\\u03BF\\u03AF \\u03C0\\u03C1\\u03CC\\u03C3\\u03B2\\u03B1\\u03C3\\u03B7\\u03C2 \\u03C0\\u03C1\\u03AD\\u03C0\\u03B5\\u03B9 \\u03BD\\u03B1 \\u03B5\\u03AF\\u03BD\\u03B1\\u03B9 \\u03AF\\u03B4\\u03B9\\u03BF\\u03B9\",password_length:\"\\u039F \\u03BA\\u03C9\\u03B4\\u03B9\\u03BA\\u03CC\\u03C2 \\u03C0\\u03C1\\u03CC\\u03C3\\u03B2\\u03B1\\u03C3\\u03B7\\u03C2 \\u03C0\\u03C1\\u03AD\\u03C0\\u03B5\\u03B9 \\u03BD\\u03B1 \\u03B5\\u03AF\\u03BD\\u03B1\\u03B9 {count} \\u03C7\\u03B1\\u03C1\\u03B1\\u03BA\\u03C4\\u03AE\\u03C1\\u03B1\\u03C2.\",qty_must_greater_than_zero:\"\\u0397 \\u03C0\\u03BF\\u03C3\\u03CC\\u03C4\\u03B7\\u03C4\\u03B1 \\u03C0\\u03C1\\u03AD\\u03C0\\u03B5\\u03B9 \\u03BD\\u03B1 \\u03B5\\u03AF\\u03BD\\u03B1\\u03B9 \\u03BC\\u03B5\\u03B3\\u03B1\\u03BB\\u03CD\\u03C4\\u03B5\\u03C1\\u03B7 \\u03C4\\u03BF\\u03C5 \\u03BC\\u03B7\\u03B4\\u03B5\\u03BD\\u03CC\\u03C2.\",price_greater_than_zero:\"\\u0397 \\u03C4\\u03B9\\u03BC\\u03AE \\u03C0\\u03C1\\u03AD\\u03C0\\u03B5\\u03B9 \\u03BD\\u03B1 \\u03B5\\u03AF\\u03BD\\u03B1\\u03B9 \\u03BC\\u03B5\\u03B3\\u03B1\\u03BB\\u03CD\\u03C4\\u03B5\\u03C1\\u03B7 \\u03C4\\u03BF\\u03C5 \\u03BC\\u03B7\\u03B4\\u03B5\\u03BD\\u03CC\\u03C2.\",payment_greater_than_zero:\"\\u0397 \\u03C0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03AE \\u03C0\\u03C1\\u03AD\\u03C0\\u03B5\\u03B9 \\u03BD\\u03B1 \\u03B5\\u03AF\\u03BD\\u03B1\\u03B9 \\u03BC\\u03B5\\u03B3\\u03B1\\u03BB\\u03CD\\u03C4\\u03B5\\u03C1\\u03B7 \\u03C4\\u03BF\\u03C5 \\u03BC\\u03B7\\u03B4\\u03B5\\u03BD\\u03CC\\u03C2.\",payment_greater_than_due_amount:\"\\u0397 \\u03C0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03AE \\u03C0\\u03BF\\u03C5 \\u03B5\\u03B9\\u03C3\\u03AE\\u03C7\\u03B8\\u03B7 \\u03B5\\u03AF\\u03BD\\u03B1\\u03B9 \\u03C0\\u03B5\\u03C1\\u03B9\\u03C3\\u03C3\\u03CC\\u03C4\\u03B5\\u03C1\\u03BF \\u03B1\\u03C0\\u03CC \\u03C4\\u03BF \\u03BF\\u03C6\\u03B5\\u03B9\\u03BB\\u03CC\\u03BC\\u03B5\\u03BD\\u03BF \\u03C0\\u03BF\\u03C3\\u03CC \\u03B1\\u03C5\\u03C4\\u03BF\\u03CD \\u03C4\\u03BF\\u03C5 \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03BF\\u03B3\\u03AF\\u03BF\\u03C5.\",quantity_maxlength:\"\\u0397 \\u03C0\\u03BF\\u03C3\\u03CC\\u03C4\\u03B7\\u03C4\\u03B1 \\u03B4\\u03B5\\u03BD \\u03C0\\u03C1\\u03AD\\u03C0\\u03B5\\u03B9 \\u03BD\\u03B1 \\u03C5\\u03C0\\u03B5\\u03C1\\u03B2\\u03B1\\u03AF\\u03BD\\u03B5\\u03B9 \\u03C4\\u03B1 20 \\u03C8\\u03B7\\u03C6\\u03AF\\u03B1.\",price_maxlength:\"\\u0397 \\u03C4\\u03B9\\u03BC\\u03AE \\u03B4\\u03B5\\u03BD \\u03C0\\u03C1\\u03AD\\u03C0\\u03B5\\u03B9 \\u03BD\\u03B1 \\u03B5\\u03AF\\u03BD\\u03B1\\u03B9 \\u03BC\\u03B5\\u03B3\\u03B1\\u03BB\\u03CD\\u03C4\\u03B5\\u03C1\\u03B7 \\u03B1\\u03C0\\u03CC 20 \\u03C8\\u03B7\\u03C6\\u03AF\\u03B1.\",price_minvalue:\"\\u0397 \\u03C4\\u03B9\\u03BC\\u03AE \\u03B8\\u03B1 \\u03C0\\u03C1\\u03AD\\u03C0\\u03B5\\u03B9 \\u03BD\\u03B1 \\u03B5\\u03AF\\u03BD\\u03B1\\u03B9 \\u03BC\\u03B5\\u03B3\\u03B1\\u03BB\\u03CD\\u03C4\\u03B5\\u03C1\\u03B7 \\u03B1\\u03C0\\u03CC 0.\",amount_maxlength:\"\\u03A4\\u03BF \\u03C0\\u03BF\\u03C3\\u03CC \\u03B4\\u03B5\\u03BD \\u03C0\\u03C1\\u03AD\\u03C0\\u03B5\\u03B9 \\u03BD\\u03B1 \\u03C5\\u03C0\\u03B5\\u03C1\\u03B2\\u03B1\\u03AF\\u03BD\\u03B5\\u03B9 \\u03C4\\u03B1 20 \\u03C8\\u03B7\\u03C6\\u03AF\\u03B1.\",amount_minvalue:\"\\u03A4\\u03BF \\u03C0\\u03BF\\u03C3\\u03CC \\u03C0\\u03C1\\u03AD\\u03C0\\u03B5\\u03B9 \\u03BD\\u03B1 \\u03B5\\u03AF\\u03BD\\u03B1\\u03B9 \\u03BC\\u03B5\\u03B3\\u03B1\\u03BB\\u03CD\\u03C4\\u03B5\\u03C1\\u03BF \\u03B1\\u03C0\\u03CC 0.\",discount_maxlength:\"\\u0397 \\u03AD\\u03BA\\u03C0\\u03C4\\u03C9\\u03C3\\u03B7 \\u03B4\\u03B5\\u03BD \\u03C0\\u03C1\\u03AD\\u03C0\\u03B5\\u03B9 \\u03BD\\u03B1 \\u03B5\\u03AF\\u03BD\\u03B1\\u03B9 \\u03BC\\u03B5\\u03B3\\u03B1\\u03BB\\u03CD\\u03C4\\u03B5\\u03C1\\u03B7 \\u03B1\\u03C0\\u03CC \\u03C4\\u03B7 \\u03BC\\u03AD\\u03B3\\u03B9\\u03C3\\u03C4\\u03B7 \\u03AD\\u03BA\\u03C0\\u03C4\\u03C9\\u03C3\\u03B7\",description_maxlength:\"\\u0397 \\u03C0\\u03B5\\u03C1\\u03B9\\u03B3\\u03C1\\u03B1\\u03C6\\u03AE \\u03B4\\u03B5\\u03BD \\u03C0\\u03C1\\u03AD\\u03C0\\u03B5\\u03B9 \\u03BD\\u03B1 \\u03B5\\u03AF\\u03BD\\u03B1\\u03B9 \\u03BC\\u03B5\\u03B3\\u03B1\\u03BB\\u03CD\\u03C4\\u03B5\\u03C1\\u03B7 \\u03B1\\u03C0\\u03CC 255 \\u03C7\\u03B1\\u03C1\\u03B1\\u03BA\\u03C4\\u03AE\\u03C1\\u03B5\\u03C2.\",subject_maxlength:\"\\u0397 \\u03C0\\u03B5\\u03C1\\u03B9\\u03B3\\u03C1\\u03B1\\u03C6\\u03AE \\u03B4\\u03B5\\u03BD \\u03C0\\u03C1\\u03AD\\u03C0\\u03B5\\u03B9 \\u03BD\\u03B1 \\u03B5\\u03AF\\u03BD\\u03B1\\u03B9 \\u03BC\\u03B5\\u03B3\\u03B1\\u03BB\\u03CD\\u03C4\\u03B5\\u03C1\\u03B7 \\u03B1\\u03C0\\u03CC 100 \\u03C7\\u03B1\\u03C1\\u03B1\\u03BA\\u03C4\\u03AE\\u03C1\\u03B5\\u03C2.\",message_maxlength:\"\\u03A4\\u03BF \\u03BC\\u03AE\\u03BD\\u03C5\\u03BC\\u03B1 \\u03B4\\u03B5\\u03BD \\u03C0\\u03C1\\u03AD\\u03C0\\u03B5\\u03B9 \\u03BD\\u03B1 \\u03B5\\u03AF\\u03BD\\u03B1\\u03B9 \\u03BC\\u03B5\\u03B3\\u03B1\\u03BB\\u03CD\\u03C4\\u03B5\\u03C1\\u03BF \\u03B1\\u03C0\\u03CC 255 \\u03C7\\u03B1\\u03C1\\u03B1\\u03BA\\u03C4\\u03AE\\u03C1\\u03B5\\u03C2.\",maximum_options_error:\"\\u039C\\u03AD\\u03B3\\u03B9\\u03C3\\u03C4\\u03BF {max} \\u03B5\\u03C0\\u03B9\\u03BB\\u03BF\\u03B3\\u03AD\\u03C2 \\u03B5\\u03C0\\u03B9\\u03BB\\u03B5\\u03B3\\u03BC\\u03AD\\u03BD\\u03B5\\u03C2. \\u0391\\u03C6\\u03B1\\u03B9\\u03C1\\u03AD\\u03C3\\u03C4\\u03B5 \\u03C0\\u03C1\\u03CE\\u03C4\\u03B1 \\u03BC\\u03B9\\u03B1 \\u03B5\\u03C0\\u03B9\\u03BB\\u03B5\\u03B3\\u03BC\\u03AD\\u03BD\\u03B7 \\u03B5\\u03C0\\u03B9\\u03BB\\u03BF\\u03B3\\u03AE \\u03B3\\u03B9\\u03B1 \\u03BD\\u03B1 \\u03B5\\u03C0\\u03B9\\u03BB\\u03AD\\u03BE\\u03B5\\u03C4\\u03B5 \\u03BC\\u03B9\\u03B1 \\u03AC\\u03BB\\u03BB\\u03B7.\",notes_maxlength:\"\\u0397 \\u03C0\\u03B5\\u03C1\\u03B9\\u03B3\\u03C1\\u03B1\\u03C6\\u03AE \\u03B4\\u03B5\\u03BD \\u03C0\\u03C1\\u03AD\\u03C0\\u03B5\\u03B9 \\u03BD\\u03B1 \\u03B5\\u03AF\\u03BD\\u03B1\\u03B9 \\u03BC\\u03B5\\u03B3\\u03B1\\u03BB\\u03CD\\u03C4\\u03B5\\u03C1\\u03B7 \\u03B1\\u03C0\\u03CC 65,000 \\u03C7\\u03B1\\u03C1\\u03B1\\u03BA\\u03C4\\u03AE\\u03C1\\u03B5\\u03C2.\",address_maxlength:\"\\u0397 \\u03B4\\u03B9\\u03B5\\u03CD\\u03B8\\u03C5\\u03BD\\u03C3\\u03B7 \\u03B4\\u03B5\\u03BD \\u03C0\\u03C1\\u03AD\\u03C0\\u03B5\\u03B9 \\u03BD\\u03B1 \\u03B5\\u03AF\\u03BD\\u03B1\\u03B9 \\u03BC\\u03B5\\u03B3\\u03B1\\u03BB\\u03CD\\u03C4\\u03B5\\u03C1\\u03B7 \\u03B1\\u03C0\\u03CC 255 \\u03C7\\u03B1\\u03C1\\u03B1\\u03BA\\u03C4\\u03AE\\u03C1\\u03B5\\u03C2.\",ref_number_maxlength:\"\\u0397 \\u03B4\\u03B9\\u03B5\\u03CD\\u03B8\\u03C5\\u03BD\\u03C3\\u03B7 \\u03B4\\u03B5\\u03BD \\u03C0\\u03C1\\u03AD\\u03C0\\u03B5\\u03B9 \\u03BD\\u03B1 \\u03B5\\u03AF\\u03BD\\u03B1\\u03B9 \\u03BC\\u03B5\\u03B3\\u03B1\\u03BB\\u03CD\\u03C4\\u03B5\\u03C1\\u03B7 \\u03B1\\u03C0\\u03CC 255 \\u03C7\\u03B1\\u03C1\\u03B1\\u03BA\\u03C4\\u03AE\\u03C1\\u03B5\\u03C2.\",prefix_maxlength:\"\\u0397 \\u03C0\\u03B5\\u03C1\\u03B9\\u03B3\\u03C1\\u03B1\\u03C6\\u03AE \\u03B4\\u03B5\\u03BD \\u03C0\\u03C1\\u03AD\\u03C0\\u03B5\\u03B9 \\u03BD\\u03B1 \\u03B5\\u03AF\\u03BD\\u03B1\\u03B9 \\u03BC\\u03B5\\u03B3\\u03B1\\u03BB\\u03CD\\u03C4\\u03B5\\u03C1\\u03B7 \\u03B1\\u03C0\\u03CC 5 \\u03C7\\u03B1\\u03C1\\u03B1\\u03BA\\u03C4\\u03AE\\u03C1\\u03B5\\u03C2.\",something_went_wrong:\"\\u039A\\u03AC\\u03C4\\u03B9 \\u03B4\\u03B5\\u03BD \\u03C0\\u03AE\\u03B3\\u03B5 \\u03BA\\u03B1\\u03BB\\u03AC\",number_length_minvalue:\"\\u03A4\\u03BF \\u03BC\\u03AE\\u03BA\\u03BF\\u03C2 \\u03C4\\u03BF\\u03C5 \\u03B1\\u03C1\\u03B9\\u03B8\\u03BC\\u03BF\\u03CD \\u03C0\\u03C1\\u03AD\\u03C0\\u03B5\\u03B9 \\u03BD\\u03B1 \\u03B5\\u03AF\\u03BD\\u03B1\\u03B9 \\u03BC\\u03B5\\u03B3\\u03B1\\u03BB\\u03CD\\u03C4\\u03B5\\u03C1\\u03BF \\u03B1\\u03C0\\u03CC 0\",at_least_one_ability:\"\\u03A0\\u03B1\\u03C1\\u03B1\\u03BA\\u03B1\\u03BB\\u03CE \\u03B5\\u03C0\\u03B9\\u03BB\\u03AD\\u03BE\\u03C4\\u03B5 \\u03C4\\u03BF\\u03C5\\u03BB\\u03AC\\u03C7\\u03B9\\u03C3\\u03C4\\u03BF\\u03BD \\u03AD\\u03BD\\u03B1 \\u03B4\\u03B9\\u03BA\\u03B1\\u03AF\\u03C9\\u03BC\\u03B1.\",valid_driver_key:\"\\u03A0\\u03B1\\u03C1\\u03B1\\u03BA\\u03B1\\u03BB\\u03CE \\u03B5\\u03B9\\u03C3\\u03AC\\u03B3\\u03B5\\u03C4\\u03B5 \\u03AD\\u03BD\\u03B1 \\u03AD\\u03B3\\u03BA\\u03C5\\u03C1\\u03BF \\u03BA\\u03BB\\u03B5\\u03B9\\u03B4\\u03AF {driver}.\",valid_exchange_rate:\"\\u03A0\\u03B1\\u03C1\\u03B1\\u03BA\\u03B1\\u03BB\\u03CE \\u03B5\\u03B9\\u03C3\\u03AC\\u03B3\\u03B5\\u03C4\\u03B5 \\u03BC\\u03B9\\u03B1 \\u03AD\\u03B3\\u03BA\\u03C5\\u03C1\\u03B7 \\u03C3\\u03C5\\u03BD\\u03B1\\u03BB\\u03BB\\u03B1\\u03B3\\u03BC\\u03B1\\u03C4\\u03B9\\u03BA\\u03AE \\u03B9\\u03C3\\u03BF\\u03C4\\u03B9\\u03BC\\u03AF\\u03B1.\",company_name_not_same:\"\\u03A4\\u03BF \\u03CC\\u03BD\\u03BF\\u03BC\\u03B1 \\u03C4\\u03B7\\u03C2 \\u03B5\\u03C4\\u03B1\\u03B9\\u03C1\\u03B5\\u03AF\\u03B1\\u03C2 \\u03C0\\u03C1\\u03AD\\u03C0\\u03B5\\u03B9 \\u03BD\\u03B1 \\u03C4\\u03B1\\u03B9\\u03C1\\u03B9\\u03AC\\u03B6\\u03B5\\u03B9 \\u03BC\\u03B5 \\u03C4\\u03BF \\u03C3\\u03C5\\u03B3\\u03BA\\u03B5\\u03BA\\u03C1\\u03B9\\u03BC\\u03AD\\u03BD\\u03BF \\u03CC\\u03BD\\u03BF\\u03BC\\u03B1.\"},wz={starter_plan:\"\\u0391\\u03C5\\u03C4\\u03AE \\u03B7 \\u03BB\\u03B5\\u03B9\\u03C4\\u03BF\\u03C5\\u03C1\\u03B3\\u03AF\\u03B1 \\u03B5\\u03AF\\u03BD\\u03B1\\u03B9 \\u03B4\\u03B9\\u03B1\\u03B8\\u03AD\\u03C3\\u03B9\\u03BC\\u03B7 \\u03C3\\u03C4\\u03BF Starter plan \\u03BA\\u03B1\\u03B9 \\u03BC\\u03B5\\u03C4\\u03AC!\",invalid_provider_key:\"\\u0395\\u03B9\\u03C3\\u03B1\\u03B3\\u03AC\\u03B3\\u03B5\\u03C4\\u03B5 \\u0388\\u03B3\\u03BA\\u03C5\\u03C1\\u03BF \\u039A\\u03BB\\u03B5\\u03B9\\u03B4\\u03AF Api \\u03A0\\u03AC\\u03C1\\u03BF\\u03C7\\u03BF\\u03C5.\",estimate_number_used:\"\\u039F \\u03B1\\u03C1\\u03B9\\u03B8\\u03BC\\u03CC\\u03C2 \\u03C4\\u03B7\\u03C2 \\u03B5\\u03BA\\u03C4\\u03AF\\u03BC\\u03B7\\u03C3\\u03B7\\u03C2 \\u03AD\\u03C7\\u03B5\\u03B9 \\u03AE\\u03B4\\u03B7 \\u03BB\\u03B7\\u03C6\\u03B8\\u03B5\\u03AF.\",invoice_number_used:\"\\u039F \\u03B1\\u03C1\\u03B9\\u03B8\\u03BC\\u03CC\\u03C2 \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03BF\\u03B3\\u03AF\\u03BF\\u03C5 \\u03AD\\u03C7\\u03B5\\u03B9 \\u03AE\\u03B4\\u03B7 \\u03BB\\u03B7\\u03C6\\u03B8\\u03B5\\u03AF.\",payment_attached:\"\\u0391\\u03C5\\u03C4\\u03CC \\u03C4\\u03BF \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF \\u03AD\\u03C7\\u03B5\\u03B9 \\u03AE\\u03B4\\u03B7 \\u03BC\\u03B9\\u03B1 \\u03C0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03AE \\u03C0\\u03BF\\u03C5 \\u03B5\\u03C0\\u03B9\\u03C3\\u03C5\\u03BD\\u03AC\\u03C0\\u03C4\\u03B5\\u03C4\\u03B1\\u03B9 \\u03C3\\u03B5 \\u03B1\\u03C5\\u03C4\\u03CC. \\u0392\\u03B5\\u03B2\\u03B1\\u03B9\\u03C9\\u03B8\\u03B5\\u03AF\\u03C4\\u03B5 \\u03CC\\u03C4\\u03B9 \\u03AD\\u03C7\\u03B5\\u03C4\\u03B5 \\u03B4\\u03B9\\u03B1\\u03B3\\u03C1\\u03AC\\u03C8\\u03B5\\u03B9 \\u03C0\\u03C1\\u03CE\\u03C4\\u03B1 \\u03C4\\u03B9\\u03C2 \\u03C3\\u03C5\\u03BD\\u03B7\\u03BC\\u03BC\\u03AD\\u03BD\\u03B5\\u03C2 \\u03C0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03AD\\u03C2 \\u03B3\\u03B9\\u03B1 \\u03BD\\u03B1 \\u03C0\\u03C1\\u03BF\\u03C7\\u03C9\\u03C1\\u03AE\\u03C3\\u03B5\\u03C4\\u03B5 \\u03BC\\u03B5 \\u03C4\\u03B7\\u03BD \\u03B1\\u03C6\\u03B1\\u03AF\\u03C1\\u03B5\\u03C3\\u03B7.\",payment_number_used:\"\\u039F \\u03B1\\u03C1\\u03B9\\u03B8\\u03BC\\u03CC\\u03C2 \\u03C0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03AE\\u03C2 \\u03AD\\u03C7\\u03B5\\u03B9 \\u03AE\\u03B4\\u03B7 \\u03BB\\u03B7\\u03C6\\u03B8\\u03B5\\u03AF.\",name_already_taken:\"\\u03A4\\u03BF \\u03CC\\u03BD\\u03BF\\u03BC\\u03B1 \\u03AD\\u03C7\\u03B5\\u03B9 \\u03AE\\u03B4\\u03B7 \\u03BB\\u03B7\\u03C6\\u03B8\\u03B5\\u03AF.\",receipt_does_not_exist:\"\\u0394\\u03B5\\u03BD \\u03C5\\u03C0\\u03AC\\u03C1\\u03C7\\u03B5\\u03B9 \\u03B1\\u03C0\\u03CC\\u03B4\\u03B5\\u03B9\\u03BE\\u03B7.\",customer_cannot_be_changed_after_payment_is_added:\"\\u039F \\u03C0\\u03B5\\u03BB\\u03AC\\u03C4\\u03B7\\u03C2 \\u03B4\\u03B5\\u03BD \\u03BC\\u03C0\\u03BF\\u03C1\\u03B5\\u03AF \\u03BD\\u03B1 \\u03B1\\u03BB\\u03BB\\u03AC\\u03BE\\u03B5\\u03B9 \\u03BC\\u03B5\\u03C4\\u03AC \\u03C4\\u03B7\\u03BD \\u03C0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03AE \\u03C0\\u03C1\\u03BF\\u03C3\\u03C4\\u03AF\\u03B8\\u03B5\\u03C4\\u03B1\\u03B9\",invalid_credentials:\"\\u039C\\u03B7 \\u0388\\u03B3\\u03BA\\u03C5\\u03C1\\u03B1 \\u03A0\\u03B9\\u03C3\\u03C4\\u03BF\\u03C0\\u03BF\\u03B9\\u03B7\\u03C4\\u03B9\\u03BA\\u03AC.\",not_allowed:\"\\u0394\\u03B5\\u03BD \\u0395\\u03C0\\u03B9\\u03C4\\u03C1\\u03AD\\u03C0\\u03B5\\u03C4\\u03B1\\u03B9\",login_invalid_credentials:\"\\u0391\\u03C5\\u03C4\\u03AC \\u03C4\\u03B1 \\u03B4\\u03B9\\u03B1\\u03C0\\u03B9\\u03C3\\u03C4\\u03B5\\u03C5\\u03C4\\u03AE\\u03C1\\u03B9\\u03B1 \\u03B4\\u03B5\\u03BD \\u03C4\\u03B1\\u03B9\\u03C1\\u03B9\\u03AC\\u03B6\\u03BF\\u03C5\\u03BD \\u03BC\\u03B5 \\u03C4\\u03B1 \\u03B1\\u03C1\\u03C7\\u03B5\\u03AF\\u03B1 \\u03BC\\u03B1\\u03C2.\",enter_valid_cron_format:\"\\u03A0\\u03B1\\u03C1\\u03B1\\u03BA\\u03B1\\u03BB\\u03CE \\u03B5\\u03B9\\u03C3\\u03AC\\u03B3\\u03B5\\u03C4\\u03B5 \\u03BC\\u03B9\\u03B1 \\u03AD\\u03B3\\u03BA\\u03C5\\u03C1\\u03B7 \\u03BC\\u03BF\\u03C1\\u03C6\\u03AE cron\",email_could_not_be_sent:\"Email could not be sent to this email address.\",invalid_address:\"Please enter a valid address.\",invalid_key:\"Please enter valid key.\",invalid_state:\"Please enter a valid state.\",invalid_city:\"Please enter a valid city.\",invalid_postal_code:\"Please enter a valid zip.\",invalid_format:\"Please enter valid query string format.\",api_error:\"Server not responding.\",feature_not_enabled:\"Feature not enabled.\",request_limit_met:\"Api request limit exceeded.\",address_incomplete:\"Incomplete Address\"},zz=\"\\u0395\\u03BA\\u03C4\\u03AF\\u03BC\\u03B7\\u03C3\\u03B7\",xz=\"\\u0395\\u03BA\\u03C4\\u03AF\\u03BC\\u03B7\\u03C3\\u03B7 \\u0391\\u03C1\\u03B9\\u03B8\\u03BC\\u03BF\\u03CD\",Pz=\"\\u0395\\u03BA\\u03C4\\u03B9\\u03BC\\u03CE\\u03BC\\u03B5\\u03BD\\u03B7 \\u03B7\\u03BC. \\u03B5\\u03C0\\u03B9\\u03C3\\u03BA\\u03B5\\u03C5\\u03AE\\u03C2\",Sz=\"\\u0397\\u03BC\\u03B5\\u03C1\\u03BF\\u03BC\\u03B7\\u03BD\\u03AF\\u03B1 \\u03BB\\u03AE\\u03BE\\u03B7\\u03C2\",jz=\"\\u03A4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B9\\u03BF\",Az=\"\\u0391\\u03C1\\u03B9\\u03B8\\u03BC\\u03CC\\u03C2 \\u03C4\\u03B9\\u03BC\\u03BF\\u03BB\\u03BF\\u03B3\\u03AF\\u03BF\\u03C5\",Dz=\"\\u0397\\u03BC/\\u03BD\\u03AF\\u03B1 \\u03A4\\u03B9\\u03BC\\u03BF\\u03BB\\u03CC\\u03B3\\u03B7\\u03C3\\u03B7\\u03C2\",Cz=\"Ech\\xE9ance\",Nz=\"\\u03A3\\u03B7\\u03BC\\u03B5\\u03B9\\u03CE\\u03C3\\u03B5\\u03B9\\u03C2\",Ez=\"\\u03A0\\u03C1\\u03BF\\u03CA\\u03CC\\u03BD\\u03C4\\u03B1\",Iz=\"\\u03A0\\u03BF\\u03C3\\u03CC\\u03C4\\u03B7\\u03C4\\u03B1\",Tz=\"\\u03A4\\u03B9\\u03BC\\u03AE\",Rz=\"\\u0388\\u03BA\\u03C0\\u03C4\\u03C9\\u03C3\\u03B7\",Mz=\"\\u03A0\\u03BF\\u03C3\\u03CC\",Fz=\"\\u03A5\\u03C0\\u03BF\\u03C3\\u03CD\\u03BD\\u03BF\\u03BB\\u03BF\",$z=\"\\u03A3\\u03CD\\u03BD\\u03BF\\u03BB\\u03BF\\xA0\",Uz=\"\\u03A0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03AE\",Vz=\"\\u03A0\\u03A1\\u039F\\u03A3\\u0391\\u03A1\\u039C\\u039F\\u0393\\u0397 \\u03A0\\u039B\\u0397\\u03A1\\u03A9\\u039C\\u0397\\u03A3\",Oz=\"\\u0397\\u03BC/\\u03BD\\u03AF\\u03B1 \\u03B5\\u03BE\\u03CC\\u03C6\\u03BB\\u03B7\\u03C3\\u03B7\\u03C2\",Lz=\"\\u0391\\u03C1\\u03B9\\u03B8\\u03BC\\u03CC\\u03C2 \\u03A0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03AE\\u03C2\",qz=\"\\u03A4\\u03C1\\u03CC\\u03C0\\u03BF\\u03C2 \\u03C0\\u03BB\\u03B7\\u03C1\\u03C9\\u03BC\\u03AE\\u03C2\",Bz=\"\\u03A0\\u03BF\\u03C3\\u03BF\\u03C3\\u03C4\\u03CC \\u039B\\u03B7\\u03C6\\u03B8\\u03AD\\u03BD\\u03C4\\u03C9\\u03BD\",Kz=\"\\u0395\\u039A\\u0398\\u0395\\u03A3\\u0397 \\u0395\\u039E\\u0391\\u0393\\u03A9\\u0393\\u03A9\\u039D\",Zz=\"\\u03A3\\u03A5\\u039D\\u039F\\u039B\\u039F \\u0394\\u0391\\u03A0\\u0391\\u039D\\u0397\\u03A3\",Wz=\"\\u0395\\u039A\\u0398\\u0395\\u03A3\\u0397 \\u0395\\u03A0\\u0391\\u03A6\\u0397\\u03A3 & LOSS\",Hz=\"\\u0391\\u03BD\\u03B1\\u03C6\\u03BF\\u03C1\\u03AC \\u03A0\\u03B5\\u03BB\\u03AC\\u03C4\\u03B7 \\u03A0\\u03C9\\u03BB\\u03AE\\u03C3\\u03B5\\u03C9\\u03BD\",Yz=\"\\u0391\\u03BD\\u03B1\\u03C6\\u03BF\\u03C1\\u03AC \\u03A0\\u03B5\\u03BB\\u03AC\\u03C4\\u03B7 \\u03A0\\u03C9\\u03BB\\u03AE\\u03C3\\u03B5\\u03C9\\u03BD\",Gz=\"\\u0391\\u03BD\\u03B1\\u03C6\\u03BF\\u03C1\\u03AC \\u03A0\\u03B5\\u03C1\\u03AF\\u03BB\\u03B7\\u03C8\\u03B7\\u03C2 \\u03A6\\u03CC\\u03C1\\u03BF\\u03C5\",Jz=`\\u0395\\u0399\\u03A3\\u039F\\u0394\\u0397\\u039C\\u0391\\u03A4\\u0391\n`,Qz=\"NET PROFIT\",Xz=\"\\u0388\\u03BA\\u03B8\\u03B5\\u03C3\\u03B7 \\u03A0\\u03C9\\u03BB\\u03AE\\u03C3\\u03B5\\u03C9\\u03BD: \\u0391\\u03C0\\u03CC \\u03A4\\u03BF\\u03BD \\u03A0\\u03B5\\u03BB\\u03AC\\u03C4\\u03B7\",ex=\"\\u03A3\\u03A5\\u039D\\u039F\\u039B\\u039F \\u03A0\\u03A9\\u039B\\u0397\\u03A3\\u0397\\u03A3\",tx=\"\\u0388\\u03BA\\u03B8\\u03B5\\u03C3\\u03B7 \\u03A0\\u03C9\\u03BB\\u03AE\\u03C3\\u03B5\\u03C9\\u03BD: \\u0391\\u03C0\\u03CC \\u03A4\\u03BF\\u03BD \\u03A0\\u03B5\\u03BB\\u03AC\\u03C4\\u03B7\",ax=\"\\u03A6\\u039F\\u03A1\\u039F\\u039B\\u039F\\u0393\\u0399\\u039A\\u0397 \\u0395\\u039A\\u0398\\u0395\\u03A3\\u0397\",nx=\"\\u03A3\\u03A5\\u039D\\u039F\\u039B\\u039F \\u03A6\\u039F\\u03A1\\u039F\\u03A5\",ix=\"\\u03A6\\u03BF\\u03C1\\u03BF\\u03BB\\u03BF\\u03B3\\u03B9\\u03BA\\u03AE \\u03BA\\u03BB\\u03AC\\u03C3\\u03B7\",ox=\"\\u0388\\u03BE\\u03BF\\u03B4\\u03B1\",sx=\"\\u03A7\\u03C1\\u03AD\\u03C9\\u03C3\\u03B7 \\u03C3\\u03B5,\",rx=\"\\u0391\\u03C0\\u03BF\\u03C3\\u03C4\\u03BF\\u03BB\\u03AE \\u03C3\\u03B5,\",dx=\"\\u039B\\u03AE\\u03C8\\u03B7 \\u03B1\\u03C0\\u03CC\",lx=\"\\u03A6\\u03CC\\u03C1\\u03BF\\u03C2\";var cx={navigation:tz,general:az,dashboard:nz,tax_types:iz,global_search:oz,company_switcher:sz,dateRange:rz,customers:dz,items:lz,estimates:cz,invoices:_z,recurring_invoices:uz,payments:mz,expenses:pz,login:fz,modules:gz,users:vz,reports:yz,settings:hz,wizard:bz,validation:kz,errors:wz,pdf_estimate_label:zz,pdf_estimate_number:xz,pdf_estimate_date:Pz,pdf_estimate_expire_date:Sz,pdf_invoice_label:jz,pdf_invoice_number:Az,pdf_invoice_date:Dz,pdf_invoice_due_date:Cz,pdf_notes:Nz,pdf_items_label:Ez,pdf_quantity_label:Iz,pdf_price_label:Tz,pdf_discount_label:Rz,pdf_amount_label:Mz,pdf_subtotal:Fz,pdf_total:$z,pdf_payment_label:Uz,pdf_payment_receipt_label:Vz,pdf_payment_date:Oz,pdf_payment_number:Lz,pdf_payment_mode:qz,pdf_payment_amount_received_label:Bz,pdf_expense_report_label:Kz,pdf_total_expenses_label:Zz,pdf_profit_loss_label:Wz,pdf_sales_customers_label:Hz,pdf_sales_items_label:Yz,pdf_tax_summery_label:Gz,pdf_income_label:Jz,pdf_net_profit_label:Qz,pdf_customer_sales_report:Xz,pdf_total_sales_label:ex,pdf_item_sales_label:tx,pdf_tax_report_label:ax,pdf_total_tax_label:nx,pdf_tax_types_label:ix,pdf_expenses_label:ox,pdf_bill_to:sx,pdf_ship_to:rx,pdf_received_from:dx,pdf_tax_label:lx};const _x={dashboard:\"Upravlja\\u010Dka Plo\\u010Da\",customers:\"Klijenti\",items:\"Stavke\",invoices:\"Fakture\",\"recurring-invoices\":\"Recurring Invoices\",expenses:\"Rashodi\",estimates:\"Ponude\",payments:\"Uplate\",reports:\"Izvje\\u0161taji\",settings:\"Postavke\",logout:\"Odjava\",users:\"Korisnici\",modules:\"Modules\"},ux={add_company:\"Dodaj tvrtku\",view_pdf:\"Pogledaj PDF\",copy_pdf_url:\"Kopiraj PDF link\",download_pdf:\"Preuzmi PDF\",save:\"Spremi\",create:\"Kreiraj\",cancel:\"Otka\\u017Ei\",update:\"A\\u017Euriraj\",deselect:\"Poni\\u0161ti izbor\",download:\"Preuzmi\",from_date:\"Od Datuma\",to_date:\"Do Datuma\",from:\"Po\\u0161iljatelj\",to:\"Primatelj\",ok:\"Ok\",yes:\"Yes\",no:\"No\",sort_by:\"Poslo\\u017Ei Po\",ascending:\"Rastu\\u0107e\",descending:\"Padaju\\u0107e\",subject:\"Predmet\",body:\"Tijelo\",message:\"Poruka\",send:\"Po\\u0161alji\",preview:\"Preview\",go_back:\"Natrag\",back_to_login:\"Natrag na prijavu?\",home:\"Po\\u010Detna\",filter:\"Filter\",delete:\"Obri\\u0161i\",edit:\"Izmjeni\",view:\"Pogledaj\",add_new_item:\"Dodaj novu stavku\",clear_all:\"Izbri\\u0161i sve\",showing:\"Prikazujem\",of:\"od\",actions:\"Radnje\",subtotal:\"UKUPNO\",discount:\"POPUST\",fixed:\"Fiksno\",percentage:\"Postotak\",tax:\"POREZ\",total_amount:\"UKUPAN IZNOS\",bill_to:\"Dokument za\",ship_to:\"Isporu\\u010Diti za\",due:\"Du\\u017Ean\",draft:\"U izradi\",sent:\"Poslano\",all:\"Sve\",select_all:\"Izaberi sve\",select_template:\"Select Template\",choose_file:\"Klikni ovdje da izabere\\u0161 fajl\",choose_template:\"Izaberi predlo\\u017Eak\",choose:\"Izaberi\",remove:\"Ukloni\",select_a_status:\"Izaberi status\",select_a_tax:\"Izaberi porez\",search:\"Pretraga\",are_you_sure:\"Jeste li sigurni?\",list_is_empty:\"Popis je prazna.\",no_tax_found:\"Porez nije prona\\u0111en!\",four_zero_four:\"404\",you_got_lost:\"Ups! Izgubio si se!\",go_home:\"Idi na po\\u010Detnu stranicu\",test_mail_conf:\"Testiraj postavke Po\\u0161te\",send_mail_successfully:\"Po\\u0161ta uspje\\u0161no poslana\",setting_updated:\"Postavke uspje\\u0161no a\\u017Eurirane\",select_state:\"Odaberi saveznu dr\\u017Eavu\",select_country:\"Odaberi dr\\u017Eavu\",select_city:\"Odaberi grad\",street_1:\"Adresa 1\",street_2:\"Adresa 2\",action_failed:\"Radnja nije uspjela\",retry:\"Poku\\u0161aj ponovo\",choose_note:\"Odaberi napomenu\",no_note_found:\"Ne postoje spremljene napomene\",insert_note:\"Unesi bilje\\u0161ku\",copied_pdf_url_clipboard:\"Link do PDF fajla kopiran!\",copied_url_clipboard:\"Copied url to clipboard!\",docs:\"Docs\",do_you_wish_to_continue:\"Do you wish to continue?\",note:\"Note\",pay_invoice:\"Pay Invoice\",login_successfully:\"Logged in successfully!\",logged_out_successfully:\"Logged out successfully\",mark_as_default:\"Postavi kao zadano\"},mx={select_year:\"Odaberi godinu\",cards:{due_amount:\"Du\\u017Ean iznos\",customers:\"Klijenti\",invoices:\"Ra\\u010Duni\",estimates:\"Ponude\",payments:\"Payments\"},chart_info:{total_sales:\"Prodaja\",total_receipts:\"Ra\\u010Duni\",total_expense:\"Rashodi\",net_income:\"Prihod NETO\",year:\"Odaberi godinu\"},monthly_chart:{title:\"Prodaja & Rashodi\"},recent_invoices_card:{title:\"Dospijele fakture\",due_on:\"Datum dospije\\u0107a\",customer:\"Klijent\",amount_due:\"Iznos dospije\\u0107a\",actions:\"Akcije\",view_all:\"Pogledaj sve\"},recent_estimate_card:{title:\"Nedavne ponude\",date:\"Datum\",customer:\"Klijent\",amount_due:\"Iznos dospije\\u0107a\",actions:\"Akcije\",view_all:\"Pogledaj sve\"}},px={name:\"Naziv\",description:\"Opis\",percent:\"Postotak\",compound_tax:\"Slo\\u017Eeni porez\"},fx={search:\"Pretraga...\",customers:\"Klijenti\",users:\"Korisnici\",no_results_found:\"Nema rezultata\"},gx={label:\"SWITCH COMPANY\",no_results_found:\"No Results Found\",add_new_company:\"Add new company\",new_company:\"New company\",created_message:\"Company created successfully\"},vx={today:\"Today\",this_week:\"This Week\",this_month:\"This Month\",this_quarter:\"This Quarter\",this_year:\"This Year\",previous_week:\"Previous Week\",previous_month:\"Previous Month\",previous_quarter:\"Previous Quarter\",previous_year:\"Previous Year\",custom:\"Custom\"},yx={title:\"Klijenti\",prefix:\"Prefix\",add_customer:\"Dodaj Klijenta\",contacts_list:\"Popis klijenata\",name:\"Naziv\",mail:\"Mail | Mail-ovi\",statement:\"Izjava\",display_name:\"Naziv koji se prikazuje\",primary_contact_name:\"Primarna kontakt osoba\",contact_name:\"Naziv kontakt osobe\",amount_due:\"Iznos dospije\\u0107a\",email:\"Email\",address:\"Adresa\",phone:\"Telefon\",website:\"Web stranica\",overview:\"Pregled\",invoice_prefix:\"Invoice Prefix\",estimate_prefix:\"Estimate Prefix\",payment_prefix:\"Payment Prefix\",enable_portal:\"Uklju\\u010Di portal\",country:\"Dr\\u017Eava\",state:\"\\u017Dupanija\",city:\"Grad\",zip_code:\"Po\\u0161tanski broj\",added_on:\"Datum dodavanja\",action:\"Radnja\",password:\"Lozinka\",confirm_password:\"Confirm Password\",street_number:\"Broj ulice\",primary_currency:\"Primarna valuta\",description:\"Opis\",add_new_customer:\"Dodaj Novog Klijenta\",save_customer:\"Spremi klijenta\",update_customer:\"A\\u017Euriraj klijenta\",customer:\"Klijent | Klijenti\",new_customer:\"Novi klijent\",edit_customer:\"Izmjeni klijenta\",basic_info:\"Osnovne informacije\",portal_access:\"Portal Access\",portal_access_text:\"Would you like to allow this customer to login to the Customer Portal?\",portal_access_url:\"Customer Portal Login URL\",portal_access_url_help:\"Please copy & forward the above given URL to your customer for providing access.\",billing_address:\"Adresa za naplatu\",shipping_address:\"Adresa za dostavu\",copy_billing_address:\"Kopiraj iz adrese za naplatu\",no_customers:\"Jo\\u0161 uvijek nema klijenata!\",no_customers_found:\"Klijenti nisu prona\\u0111eni!\",no_contact:\"Nema kontakta\",no_contact_name:\"Nema imena kontakta\",list_of_customers:\"Sekcija sadr\\u017Ei popis klijenata.\",primary_display_name:\"Primarni naziv koji se prikazuje\",select_currency:\"Odaberi valutu\",select_a_customer:\"Odaberi klijenta\",type_or_click:\"Unesi tekst ili klikni za odabir\",new_transaction:\"Nova transakcija\",no_matching_customers:\"Nije prona\\u0111eno!\",phone_number:\"Broj telefona\",create_date:\"Datum kreiranja\",confirm_delete:\"Ne\\u0107ete mo\\u0107i vratiti klijenta, sve njegove Fakture, Ponude i Uplate. | Ne\\u0107ete mo\\u0107i vratiti odabrane klijente, sve njihove Fakture, Ponude i Uplate.\",created_message:\"Klijent uspje\\u0161no kreiran\",updated_message:\"Klijent uspje\\u0161no a\\u017Euriran\",address_updated_message:\"Address Information Updated succesfully\",deleted_message:\"Klijent uspje\\u0161no obrisan | Klijenti uspje\\u0161no obrisani\",edit_currency_not_allowed:\"Cannot change currency once transactions created.\"},hx={title:\"Stavke\",items_list:\"Popis stavki\",name:\"Naziv\",unit:\"Jedinica\",description:\"Opis\",added_on:\"Datum dodavanja\",price:\"Cijena\",date_of_creation:\"Datum kreiranja\",not_selected:\"Nema odabrane stavke\",action:\"Radnje\",add_item:\"Dodaj Stavku\",save_item:\"Spremi Stavku\",update_item:\"A\\u017Euriraj Stavku\",item:\"Stavka | Stavke\",add_new_item:\"Dodaj novu stavku\",new_item:\"Nova stavka\",edit_item:\"Izmjeni stavku\",no_items:\"Jo\\u0161 uvijek nema stavki!\",list_of_items:\"Ova sekcija sadr\\u017Ei popis stavki.\",select_a_unit:\"odaberi jedinicu\",taxes:\"Porezi\",item_attached_message:\"Nije dozvoljeno brisanje stavke koja se koristi\",confirm_delete:\"Ne\\u0107e\\u0161 mo\\u0107i vratiti ovu Stavku | Ne\\u0107e\\u0161 mo\\u0107i vratiti ove Stavke\",created_message:\"Stavka uspje\\u0161no kreirana\",updated_message:\"Stavka uspje\\u0161no a\\u017Eurirana\",deleted_message:\"Stavka uspje\\u0161no obrisana | Stavke uspje\\u0161no obrisane\"},bx={title:\"Ponude\",accept_estimate:\"Accept Estimate\",reject_estimate:\"Reject Estimate\",estimate:\"Ponuda | Ponude\",estimates_list:\"Popis ponuda\",days:\"{days} Dan\",months:\"{months} Mjesec\",years:\"{years} Godina\",all:\"Sve\",paid:\"Pla\\u0107eno\",unpaid:\"Nepla\\u0107eno\",customer:\"KLIJENT\",ref_no:\"POZIV NA BROJ\",number:\"BROJ\",amount_due:\"IZNOS DOSPIJE\\u0106A\",partially_paid:\"Djelomi\\u010Dno Pla\\u0107eno\",total:\"Ukupno za pla\\u0107anje\",discount:\"Popust\",sub_total:\"Osnovica za obra\\u010Dun PDV-a\",estimate_number:\"Broj ponude\",ref_number:\"Poziv na broj\",contact:\"Kontakt\",add_item:\"Dodaj stavku\",date:\"Datum\",due_date:\"Datum Dospije\\u0107a\",expiry_date:\"Datum Isteka\",status:\"Status\",add_tax:\"Dodaj Porez\",amount:\"Iznos\",action:\"Radnja\",notes:\"Napomena\",tax:\"Porez\",estimate_template:\"Predlo\\u017Eak\",convert_to_invoice:\"Pretvori u Fakturu\",mark_as_sent:\"Ozna\\u010Di kao Poslano\",send_estimate:\"Po\\u0161alji Ponudu\",resend_estimate:\"Ponovo po\\u0161alji Ponudu\",record_payment:\"Unesi uplatu\",add_estimate:\"Dodaj Ponudu\",save_estimate:\"Spremi Ponudu\",confirm_conversion:\"Detalji ove Ponude \\u0107e biti iskori\\u0161teni za pravljenje Fakture.\",conversion_message:\"Faktura uspje\\u0161no kreirana\",confirm_send_estimate:\"Ova Ponuda \\u0107e biti poslana putem Email-a klijentu\",confirm_mark_as_sent:\"Ova Ponuda \\u0107e biti ozna\\u010Dena kao Poslana\",confirm_mark_as_accepted:\"Ova Ponuda \\u0107e biti ozna\\u010Dena kao Prihva\\u0107ena\",confirm_mark_as_rejected:\"Ova Ponuda \\u0107e biti ozna\\u010Dena kao Odbijena\",no_matching_estimates:\"Ne postoji odgovaraju\\u0107a ponuda!\",mark_as_sent_successfully:\"Ponuda uspje\\u0161no ozna\\u010Dena kao Poslana\",send_estimate_successfully:\"Ponuda uspje\\u0161no poslana\",errors:{required:\"Obvezno polje!\"},accepted:\"Prihva\\u0107eno\",rejected:\"Odbijeno\",expired:\"Expired\",sent:\"Poslano\",draft:\"U izradi\",viewed:\"Viewed\",declined:\"Odbijeno\",new_estimate:\"Nova Ponuda\",add_new_estimate:\"Dodaj novu Ponudu\",update_Estimate:\"A\\u017Euriraj Ponudu\",edit_estimate:\"Izmjeni Ponudu\",items:\"stavke\",Estimate:\"Ponuda | Ponude\",add_new_tax:\"Dodaj novi Porez\",no_estimates:\"Jo\\u0161 uvijek nema Ponuda!\",list_of_estimates:\"Ova sekcija sadr\\u017Ei popis Ponuda.\",mark_as_rejected:\"Ozna\\u010Di kao odbijeno\",mark_as_accepted:\"Ozna\\u010Di kao prihva\\u0107eno\",marked_as_accepted_message:\"Ponuda ozna\\u010Dena kao prihva\\u0107ena\",marked_as_rejected_message:\"Ponuda ozna\\u010Dena kao odbijena\",confirm_delete:\"Ne\\u0107e\\u0161 mo\\u0107i vratiti ovu Ponudu | Ne\\u0107e\\u0161 mo\\u0107i vratiti ove Ponude\",created_message:\"Ponuda uspje\\u0161no kreirana\",updated_message:\"Ponuda uspje\\u0161no a\\u017Eurirana\",deleted_message:\"Ponuda uspje\\u0161no obrisana | Ponude uspje\\u0161no obrisane\",something_went_wrong:\"ne\\u0161to je krenulo naopako\",item:{title:\"Naziv stavke\",description:\"Opis\",quantity:\"Koli\\u010Dina\",price:\"Cijena\",discount:\"Popust\",total:\"Ukupno za pla\\u0107anje\",total_discount:\"Ukupan popust\",sub_total:\"Ukupno\",tax:\"Porez\",amount:\"Iznos\",select_an_item:\"Unesi tekst ili klikni da izabere\\u0161\",type_item_description:\"Unesi opis Stavke (nije obavezno)\"},mark_as_default_estimate_template_description:\"Ako je omogu\\u0107eno, izabrani predlo\\u017Eak biti \\u0107e automatski izabran za nove predra\\u010Dune.\"},kx={title:\"Fakture\",download:\"Download\",pay_invoice:\"Pay Invoice\",invoices_list:\"Popis Faktura\",invoice_information:\"Invoice Information\",days:\"{days} dan\",months:\"{months} Mjesec\",years:\"{years} Godina\",all:\"Sve\",paid:\"Pla\\u0107eno\",unpaid:\"Nepla\\u0107eno\",viewed:\"Pregledano\",overdue:\"Zaka\\u0161njenje\",completed:\"Izvr\\u0161eno\",customer:\"KLIJENT\",paid_status:\"STATUS UPLATE\",ref_no:\"POZIV NA BROJ\",number:\"BROJ\",amount_due:\"IZNOS DOSPIJE\\u0106A\",partially_paid:\"Djelomi\\u010Dno pla\\u0107eno\",total:\"Ukupno za pla\\u0107anje\",discount:\"Popust\",sub_total:\"Osnovica za obra\\u010Dun PDV-a\",invoice:\"Faktura | Fakture\",invoice_number:\"Broj Fakture\",ref_number:\"Poziv na broj\",contact:\"Kontakt\",add_item:\"Dodaj Stavku\",date:\"Datum\",due_date:\"Datum Dospije\\u0107a\",status:\"Status\",add_tax:\"Dodaj Porez\",amount:\"Iznos\",action:\"Radnja\",notes:\"Napomena\",view:\"Pogledaj\",send_invoice:\"Po\\u0161alji Fakturu\",resend_invoice:\"Ponovo po\\u0161alji Fakturu\",invoice_template:\"Predlo\\u017Eak Fakture\",conversion_message:\"Invoice cloned successful\",template:\"Predlo\\u017Eak\",mark_as_sent:\"Ozna\\u010Di kao Poslano\",confirm_send_invoice:\"Ova Faktura \\u0107e biti poslana putem Email-a klijentu\",invoice_mark_as_sent:\"Ova Faktura \\u0107e biti ozna\\u010Dena kao poslana\",confirm_mark_as_accepted:\"This invoice will be marked as Accepted\",confirm_mark_as_rejected:\"This invoice will be marked as Rejected\",confirm_send:\"Ova Faktura \\u0107e biti poslana putem Email-a klijentu\",invoice_date:\"Datum Fakture\",record_payment:\"Unesi Uplatu\",add_new_invoice:\"Dodaj novu Fakturu\",update_expense:\"A\\u017Euriraj Rashod\",edit_invoice:\"Izmjeni Fakturu\",new_invoice:\"Nova Faktura\",save_invoice:\"Spremi Fakturu\",update_invoice:\"A\\u017Euriraj Fakturu\",add_new_tax:\"Dodaj novi Porez\",no_invoices:\"Jo\\u0161 uvijek nema Faktura!\",mark_as_rejected:\"Mark as rejected\",mark_as_accepted:\"Mark as accepted\",list_of_invoices:\"Ova sekcija sadr\\u017Ei popis Faktura.\",select_invoice:\"Odaberi Fakturu\",no_matching_invoices:\"Ne postoje Fakture koje odgovaraju pretrazi!\",mark_as_sent_successfully:\"Faktura uspje\\u0161no ozna\\u010Dena kao Poslana\",invoice_sent_successfully:\"Faktura uspje\\u0161no poslana\",cloned_successfully:\"Uspje\\u0161no napravljen duplikat Fakture\",clone_invoice:\"Napravi duplikat\",confirm_clone:\"Ova Faktura \\u0107e biti duplikat nove Fakture\",item:{title:\"Naziv Stavke\",description:\"Opis\",quantity:\"Koli\\u010Dina\",price:\"Cijena\",discount:\"Popust\",total:\"Ukupno za pla\\u0107anje\",total_discount:\"Ukupan popust\",sub_total:\"Ukupno\",tax:\"Porez\",amount:\"Iznos\",select_an_item:\"Unesi tekst ili klikni da izabere\\u0161\",type_item_description:\"Unesi opis Stavke (nije obavezno)\"},payment_attached_message:\"One of the selected invoices already have a payment attached to it. Make sure to delete the attached payments first in order to go ahead with the removal\",confirm_delete:\"Ne\\u0107e\\u0161 mo\\u0107i vratiti ovu Fakturu | Ne\\u0107e\\u0161 mo\\u0107i vratiti ove Fakture\",created_message:\"Faktura uspje\\u0161no kreirana\",updated_message:\"Faktura uspje\\u0161no a\\u017Eurirana\",deleted_message:\"Faktura uspje\\u0161no obrisana | Fakture uspje\\u0161no obrisane\",marked_as_sent_message:\"Faktura ozna\\u010Dena kao uspje\\u0161no poslana\",something_went_wrong:\"ne\\u0161to je krenulo naopako\",invalid_due_amount_message:\"Ukupan iznos za pla\\u0107anje na fakturi ne mo\\u017Ee biti manji od iznosa uplate za ovu fakturu. Molim Vas a\\u017Eurirajte fakturu ili obri\\u0161ite uplate koje su povezane sa ovom fakturom da bi nastavili.\",mark_as_default_invoice_template_description:\"Ako je omogu\\u0107eno, izabrani predlo\\u017Eak biti \\u0107e automatski izabran za nove ra\\u010Dune.\"},wx={title:\"Recurring Invoices\",invoices_list:\"Recurring Invoices List\",days:\"{days} Days\",months:\"{months} Month\",years:\"{years} Year\",all:\"All\",paid:\"Paid\",unpaid:\"Unpaid\",viewed:\"Viewed\",overdue:\"Overdue\",active:\"Active\",completed:\"Completed\",customer:\"CUSTOMER\",paid_status:\"PAID STATUS\",ref_no:\"REF NO.\",number:\"NUMBER\",amount_due:\"AMOUNT DUE\",partially_paid:\"Partially Paid\",total:\"Total\",discount:\"Discount\",sub_total:\"Sub Total\",invoice:\"Recurring Invoice | Recurring Invoices\",invoice_number:\"Recurring Invoice Number\",next_invoice_date:\"Next Invoice Date\",ref_number:\"Ref Number\",contact:\"Contact\",add_item:\"Add an Item\",date:\"Date\",limit_by:\"Limit by\",limit_date:\"Limit Date\",limit_count:\"Limit Count\",count:\"Count\",status:\"Status\",select_a_status:\"Select a status\",working:\"Working\",on_hold:\"On Hold\",complete:\"Completed\",add_tax:\"Add Tax\",amount:\"Amount\",action:\"Action\",notes:\"Notes\",view:\"View\",basic_info:\"Basic Info\",send_invoice:\"Send Recurring Invoice\",auto_send:\"Auto Send\",resend_invoice:\"Resend Recurring Invoice\",invoice_template:\"Recurring Invoice Template\",conversion_message:\"Recurring Invoice cloned successful\",template:\"Template\",mark_as_sent:\"Mark as sent\",confirm_send_invoice:\"This recurring invoice will be sent via email to the customer\",invoice_mark_as_sent:\"This recurring invoice will be marked as sent\",confirm_send:\"This recurring invoice will be sent via email to the customer\",starts_at:\"Start Date\",due_date:\"Invoice Due Date\",record_payment:\"Record Payment\",add_new_invoice:\"Add New Recurring Invoice\",update_expense:\"Update Expense\",edit_invoice:\"Edit Recurring Invoice\",new_invoice:\"New Recurring Invoice\",send_automatically:\"Send Automatically\",send_automatically_desc:\"Enable this, if you would like to send the invoice automatically to the customer when its created.\",save_invoice:\"Save Recurring Invoice\",update_invoice:\"Update Recurring Invoice\",add_new_tax:\"Add New Tax\",no_invoices:\"No Recurring Invoices yet!\",mark_as_rejected:\"Mark as rejected\",mark_as_accepted:\"Mark as accepted\",list_of_invoices:\"This section will contain the list of recurring invoices.\",select_invoice:\"Select Invoice\",no_matching_invoices:\"There are no matching recurring invoices!\",mark_as_sent_successfully:\"Recurring Invoice marked as sent successfully\",invoice_sent_successfully:\"Recurring Invoice sent successfully\",cloned_successfully:\"Recurring Invoice cloned successfully\",clone_invoice:\"Clone Recurring Invoice\",confirm_clone:\"This recurring invoice will be cloned into a new Recurring Invoice\",add_customer_email:\"Please add an email address for this customer to send invoices automatically.\",item:{title:\"Item Title\",description:\"Description\",quantity:\"Quantity\",price:\"Price\",discount:\"Discount\",total:\"Total\",total_discount:\"Total Discount\",sub_total:\"Sub Total\",tax:\"Tax\",amount:\"Amount\",select_an_item:\"Type or click to select an item\",type_item_description:\"Type Item Description (optional)\"},frequency:{title:\"Frequency\",select_frequency:\"Select Frequency\",minute:\"Minute\",hour:\"Hour\",day_month:\"Day of month\",month:\"Month\",day_week:\"Day of week\"},confirm_delete:\"You will not be able to recover this Invoice | You will not be able to recover these Invoices\",created_message:\"Recurring Invoice created successfully\",updated_message:\"Recurring Invoice updated successfully\",deleted_message:\"Recurring Invoice deleted successfully | Recurring Invoices deleted successfully\",marked_as_sent_message:\"Recurring Invoice marked as sent successfully\",user_email_does_not_exist:\"User email does not exist\",something_went_wrong:\"something went wrong\",invalid_due_amount_message:\"Total Recurring Invoice amount cannot be less than total paid amount for this Recurring Invoice. Please update the invoice or delete the associated payments to continue.\"},zx={title:\"Uplate\",payments_list:\"Popis uplata\",record_payment:\"Unesi Uplatu\",customer:\"Klijent\",date:\"Datum\",amount:\"Iznos\",action:\"Radnja\",payment_number:\"Broj uplate\",payment_mode:\"Na\\u010Din pla\\u0107anja\",invoice:\"Faktura\",note:\"Napomena\",add_payment:\"Dodaj Uplatu\",new_payment:\"Nova Uplata\",edit_payment:\"Izmjeni Uplatu\",view_payment:\"Pogledaj Uplatu\",add_new_payment:\"Dodaj Novu Uplatu\",send_payment_receipt:\"Po\\u0161alji potvrdu o uplati\",send_payment:\"Po\\u0161alji Uplatu\",save_payment:\"Spremi Uplatu\",update_payment:\"A\\u017Euriraj Uplatu\",payment:\"Uplata | Uplate\",no_payments:\"Jo\\u0161 uvijek nema uplata!\",not_selected:\"Nije odabrano\",no_invoice:\"Nema fakture\",no_matching_payments:\"Ne postoje uplate koje odgovaraju pretrazi!\",list_of_payments:\"Ova sekcija sadr\\u017Ei popis uplata.\",select_payment_mode:\"Odaberi na\\u010Din pla\\u0107anja\",confirm_mark_as_sent:\"Ovo pla\\u0107anje \\u0107e biti ozna\\u010Deno kao Poslano\",confirm_send_payment:\"Ovo pla\\u0107anje \\u0107e biti poslano putem Email-a klijentu\",send_payment_successfully:\"Pla\\u0107anje uspje\\u0161no poslano\",something_went_wrong:\"ne\\u0161to je krenulo naopako\",confirm_delete:\"Ne\\u0107e\\u0161 mo\\u0107i vratiti ovu Uplatu | Ne\\u0107e\\u0161 mo\\u0107i vratiti ove Uplate\",created_message:\"Uplata uspje\\u0161no kreirana\",updated_message:\"Uplata uspje\\u0161no a\\u017Eurirana\",deleted_message:\"Uplata uspje\\u0161no obrisana | Uplate uspje\\u0161no obrisane\",invalid_amount_message:\"Iznos Uplate je pogre\\u0161an\"},xx={title:\"Rashodi\",expenses_list:\"Popis Rashoda\",select_a_customer:\"Odaberi klijenta\",expense_title:\"Naslov\",customer:\"Klijent\",currency:\"Currency\",contact:\"Kontakt\",category:\"Kategorija\",from_date:\"Datum od\",to_date:\"Datum do\",expense_date:\"Datum\",description:\"Opis\",receipt:\"Ra\\u010Dun\",amount:\"Iznos\",action:\"Radnja\",not_selected:\"Nije odabrano\",note:\"Napomena\",category_id:\"ID kategorije\",date:\"Datum\",add_expense:\"Dodaj Rashod\",add_new_expense:\"Dodaj Novi Rashod\",save_expense:\"Spremi Rashod\",update_expense:\"A\\u017Euriraj Rashod\",download_receipt:\"Preuzmi Ra\\u010Dun\",edit_expense:\"Izmjeni Rashod\",new_expense:\"Novi Rashod\",expense:\"Rashod | Rashodi\",no_expenses:\"Jo\\u0161 uvijek nema rashoda!\",list_of_expenses:\"Ova sekcija sadr\\u017Ei popis rashoda.\",confirm_delete:\"Ne\\u0107e\\u0161 mo\\u0107i vratiti ovaj Rashod | Ne\\u0107e\\u0161 mo\\u0107i vratiti ove Rashode\",created_message:\"Rashod uspje\\u0161no kreiran\",updated_message:\"Rashod uspje\\u0161no a\\u017Euriran\",deleted_message:\"Rashod uspje\\u0161no obrisan | Rashodi uspje\\u0161no obrisani\",categories:{categories_list:\"Popis Kategorija\",title:\"Naslov\",name:\"Naziv\",description:\"Opis\",amount:\"Iznos\",actions:\"Radnje\",add_category:\"Dodaj Kategoriju\",new_category:\"Nova Kategorija\",category:\"Kategorija | Kategorije\",select_a_category:\"Izaberi kategoriju\"}},Px={email:\"Email\",password:\"Lozinka\",forgot_password:\"Zaboravili ste lozinku?\",or_signIn_with:\"ili se prijavite sa\",login:\"Prijava\",register:\"Registracija\",reset_password:\"Resetiraj lozinku\",password_reset_successfully:\"Lozinka Uspje\\u0161no Resetiranja\",enter_email:\"Unesi email\",enter_password:\"Unesi lozinku\",retype_password:\"Ponovo unesi lozinku\"},Sx={buy_now:\"Buy Now\",install:\"Install\",price:\"Price\",download_zip_file:\"Download ZIP file\",unzipping_package:\"Unzipping Package\",copying_files:\"Copying Files\",deleting_files:\"Deleting Unused files\",completing_installation:\"Completing Installation\",update_failed:\"Update Failed\",install_success:\"Module has been installed successfully!\",customer_reviews:\"Reviews\",license:\"License\",faq:\"FAQ\",monthly:\"Monthly\",yearly:\"Yearly\",updated:\"Updated\",version:\"Version\",disable:\"Disable\",module_disabled:\"Module Disabled\",enable:\"Enable\",module_enabled:\"Module Enabled\",update_to:\"Update To\",module_updated:\"Module Updated Successfully!\",title:\"Modules\",module:\"Module | Modules\",api_token:\"API token\",invalid_api_token:\"Invalid API Token.\",other_modules:\"Other Modules\",view_all:\"View All\",no_reviews_found:\"There are no reviews for this module yet!\",module_not_purchased:\"Module Not Purchased\",module_not_found:\"Module Not Found\",version_not_supported:\"The minimum required version for this module does not match. Please upgrade your crater app to version: {version} to proceed.\",last_updated:\"Last Updated On\",connect_installation:\"Connect your installation\",api_token_description:\"Login to {url} and connect this installation by entering the API Token. Your purchased modules will show up here after the connection is established.\",view_module:\"View Module\",update_available:\"Update Available\",purchased:\"Purchased\",installed:\"Installed\",no_modules_installed:\"No Modules Installed Yet!\",disable_warning:\"All the settings for this particular will be reverted.\",what_you_get:\"What you get\"},jx={title:\"Korisnici\",users_list:\"Popis korisnika\",name:\"Ime i prezime\",description:\"Opis\",added_on:\"Datum dodavanja\",date_of_creation:\"Datum kreiranja\",action:\"Radnja\",add_user:\"Dodaj Korisnika\",save_user:\"Spremi Korisnika\",update_user:\"A\\u017Euriraj Korisnika\",user:\"Korisnik | Korisnici\",add_new_user:\"Dodaj novog korisnika\",new_user:\"Novi Korisnik\",edit_user:\"Izmjeni Korisnika\",no_users:\"Jo\\u0161 uvijek nema korisnika!\",list_of_users:\"Ova sekcija sadr\\u017Ei popis korisnika.\",email:\"Email\",phone:\"Broj telefona\",password:\"Lozinka\",user_attached_message:\"Ne mo\\u017Eete obrisati stavku koja je ve\\u0107 u upotrebi\",confirm_delete:\"Ne\\u0107e\\u0161 mo\\u0107i vratiti ovog Korisnika | Ne\\u0107e\\u0161 mo\\u0107i vratiti ove Korisnike\",created_message:\"Korisnik uspje\\u0161no napravljen\",updated_message:\"Korisnik uspje\\u0161no a\\u017Euriran\",deleted_message:\"Korisnik uspje\\u0161no obrisan | Korisnici uspje\\u0161no obrisani\",select_company_role:\"Select Role for {company}\",companies:\"Companies\"},Ax={title:\"Izvje\\u0161taj\",from_date:\"Datum od\",to_date:\"Datum do\",status:\"Status\",paid:\"Pla\\u0107eno\",unpaid:\"Nepla\\u0107eno\",download_pdf:\"Preuzmi PDF\",view_pdf:\"Pogledaj PDF\",update_report:\"A\\u017Euriraj Izvje\\u0161taj\",report:\"Izvje\\u0161taj | Izvje\\u0161taji\",profit_loss:{profit_loss:\"Prihod & Rashod\",to_date:\"Datum do\",from_date:\"Datum od\",date_range:\"Izaberi raspon datuma\"},sales:{sales:\"Prodaja\",date_range:\"Izaberi raspon datuma\",to_date:\"Datum do\",from_date:\"Datum od\",report_type:\"Vrsta Izve\\u0161taja\"},taxes:{taxes:\"Porezi\",to_date:\"Datum do\",from_date:\"Datum od\",date_range:\"Izaberi raspon datuma\"},errors:{required:\"Polje je obavezno\"},invoices:{invoice:\"Faktura\",invoice_date:\"Datum Fakture\",due_date:\"Datum Dospije\\u0107a\",amount:\"Iznos\",contact_name:\"Ime Kontakta\",status:\"Status\"},estimates:{estimate:\"Ponuda\",estimate_date:\"Datum Ponude\",due_date:\"Datum Dospije\\u0107a\",estimate_number:\"Broj Ponude\",ref_number:\"Poziv na broj\",amount:\"Iznos\",contact_name:\"Ime Kontakta\",status:\"Status\"},expenses:{expenses:\"Rashodi\",category:\"Kategorija\",date:\"Datum\",amount:\"Iznos\",to_date:\"Datum do\",from_date:\"Datum od\",date_range:\"Izaberi raspon datuma\"}},Dx={menu_title:{account_settings:\"Postavke Naloga\",company_information:\"Podaci o firmi\",customization:\"Prilago\\u0111avanje\",preferences:\"Preference\",notifications:\"Obavje\\u0161tenja\",tax_types:\"Vrste Poreza\",expense_category:\"Kategorije Rashoda\",update_app:\"A\\u017Euriraj Aplikaciju\",backup:\"Backup\",file_disk:\"File Disk\",custom_fields:\"Prilago\\u0111ena polja\",payment_modes:\"Na\\u010Din pla\\u0107anja\",notes:\"Napomene\",exchange_rate:\"Exchange Rate\",address_information:\"Address Information\"},address_information:{section_description:\"  You can update Your Address information using form below.\"},title:\"Postavke\",setting:\"Postavke | Postavke\",general:\"Op\\u0107e\",language:\"Jezik\",primary_currency:\"Primarna Valuta\",timezone:\"Vremenska Zona\",date_format:\"Format Datuma\",currencies:{title:\"Valute\",currency:\"Valuta | Valute\",currencies_list:\"Popis Valuta\",select_currency:\"Odaberi Valutu\",name:\"Naziv\",code:\"Kod\",symbol:\"Simbol\",precision:\"Preciznost\",thousand_separator:\"Separator za tisu\\u0107e\",decimal_separator:\"Separator za decimale\",position:\"Pozicija\",position_of_symbol:\"Pozicija simbola\",right:\"Desno\",left:\"Lijevo\",action:\"Radnja\",add_currency:\"Dodaj Valutu\"},mail:{host:\"Mail Host\",port:\"Mail Port\",driver:\"Mail Driver\",secret:\"Lozinka\",mailgun_secret:\"Mailgun Lozinka\",mailgun_domain:\"Domain\",mailgun_endpoint:\"Mailgun Endpoint\",ses_secret:\"SES Lozinka\",ses_key:\"SES Klju\\u010D\",password:\"Mail Lozinka\",username:\"Mail Korisni\\u010Dko Ime\",mail_config:\"Mail Postavke\",from_name:\"Naziv po\\u0161iljaoca\",from_mail:\"E-mail adresa po\\u0161iljaoca\",encryption:\"E-mail enkripcija\",mail_config_desc:\"Ispod se nalazi forma za pode\\u0161avanje E-mail drajvera za slanje po\\u0161te iz aplikacije. Tako\\u0111e mo\\u017Eete podesiti provajdere tre\\u0107e strane kao Sendgrid, SES itd.\"},pdf:{title:\"PDF Postavke\",footer_text:\"Tekstualno zaglavlje na dnu strane\",pdf_layout:\"PDF Raspored\"},company_info:{company_info:\"Podaci o firmi\",company_name:\"Naziv firme\",company_logo:\"Logo firme\",section_description:\"Informacije o Va\\u0161oj firmi \\u0107e biti prikazane na fakturama, ponudama i drugim dokumentima koji se prave u ovoj aplikaciji.\",phone:\"Telefon\",country:\"Dr\\u017Eava\",state:\"\\u017Dupanija\",city:\"Grad\",address:\"Adresa\",zip:\"Po\\u0161tanski broj\",save:\"Spremi\",delete:\"Delete\",updated_message:\"Podaci o firmi uspje\\u0161no spremljeni\",delete_company:\"Delete Company\",delete_company_description:\"Once you delete your company, you will lose all the data and files associated with it permanently.\",are_you_absolutely_sure:\"Are you absolutely sure?\",delete_company_modal_desc:\"This action cannot be undone. This will permanently delete {company} and all of its associated data.\",delete_company_modal_label:\"Please type {company} to confirm\"},custom_fields:{title:\"Prilago\\u0111ena polja\",section_description:\"Prilagodite va\\u0161e Fakture, Ponude i Uplate sa svojim poljima. Koristite polja navedena ni\\u017Ee na formatu adrese na stranici Postavke/Prilago\\u0111avanje.\",add_custom_field:\"Dodaj prilago\\u0111eno polje\",edit_custom_field:\"Izmjeni prilago\\u0111eno polje\",field_name:\"Naziv polja\",label:\"Oznaka\",type:\"Vrsta\",name:\"Naziv\",slug:\"Slug\",required:\"Obavezno\",placeholder:\"Opis polja (Placeholder)\",help_text:\"Pomo\\u0107ni tekst\",default_value:\"Zadana vrijednost\",prefix:\"Prefiks\",starting_number:\"Po\\u010Detni broj\",model:\"Model\",help_text_description:\"Unesite opis koji \\u0107e pomo\\u0107i korisnicima razumjeti svrhu ovog prilago\\u0111enog polja.\",suffix:\"Sufiks\",yes:\"Da\",no:\"Ne\",order:\"Redosljed\",custom_field_confirm_delete:\"Ne\\u0107e\\u0161 mo\\u0107i vratiti ovo prilago\\u0111eno polje\",already_in_use:\"Prilago\\u0111eno polje je ve\\u0107 u uporabi\",deleted_message:\"Prilago\\u0111eno polje je uspje\\u0161no obrisano\",options:\"opcije\",add_option:\"Dodaj opcije\",add_another_option:\"Dodaj jo\\u0161 jednu opciju\",sort_in_alphabetical_order:\"Poredaj po Abecedi\",add_options_in_bulk:\"Grupno dodavanje opcija\",use_predefined_options:\"Koristi predefinirane opcije\",select_custom_date:\"Odaberi datum\",select_relative_date:\"Odaberi relativan datum\",ticked_by_default:\"Zadano odabrano\",updated_message:\"Prilago\\u0111eno polje uspje\\u0161no a\\u017Eurirano\",added_message:\"Prilago\\u0111eno polje uspje\\u0161no dodato\",press_enter_to_add:\"Press enter to add new option\",model_in_use:\"Cannot update model for fields which are already in use.\",type_in_use:\"Cannot update type for fields which are already in use.\"},customization:{customization:\"prilago\\u0111avanje\",updated_message:\"Podaci o firmi su uspje\\u0161no a\\u017Eurirani\",save:\"Spremi\",insert_fields:\"Insert Fields\",learn_custom_format:\"Learn how to use custom format\",add_new_component:\"Add New Component\",component:\"Component\",Parameter:\"Parameter\",series:\"Series\",series_description:\"To set a static prefix/postfix like 'INV' across your company. It supports character length of up to 6 chars.\",series_param_label:\"Series Value\",delimiter:\"Delimiter\",delimiter_description:\"Single character for specifying the boundary between 2 separate components. By default its set to -\",delimiter_param_label:\"Delimiter Value\",date_format:\"Date Format\",date_format_description:\"A local date and time field which accepts a format parameter. The default format: 'Y' renders the current year.\",date_format_param_label:\"Format\",sequence:\"Sequence\",sequence_description:\"Consecutive sequence of numbers across your company. You can specify the length on the given parameter.\",sequence_param_label:\"Sequence Length\",customer_series:\"Customer Series\",customer_series_description:\"To set a different prefix/postfix for each customer.\",customer_sequence:\"Customer Sequence\",customer_sequence_description:\"Consecutive sequence of numbers for each of your customer.\",customer_sequence_param_label:\"Sequence Length\",random_sequence:\"Random Sequence\",random_sequence_description:\"Random alphanumeric string. You can specify the length on the given parameter.\",random_sequence_param_label:\"Sequence Length\",invoices:{title:\"Fakture\",invoice_number_format:\"Invoice Number Format\",invoice_number_format_description:\"Customize how your invoice number gets generated automatically when you create a new invoice.\",preview_invoice_number:\"Preview Invoice Number\",due_date:\"Due Date\",due_date_description:\"Specify how due date is automatically set when you create an invoice.\",due_date_days:\"Invoice Due after days\",set_due_date_automatically:\"Set Due Date Automatically\",set_due_date_automatically_description:\"Enable this if you wish to set due date automatically when you create a new invoice.\",default_formats:\"Default Formats\",default_formats_description:\"Below given formats are used to fill up the fields automatically on invoice creation.\",default_invoice_email_body:\"Zadani sadr\\u017Eaj email-a za Fakture\",company_address_format:\"Format adrese firme\",shipping_address_format:\"Format adrese za dostavu firme\",billing_address_format:\"Format adrese za naplatu firme\",invoice_email_attachment:\"Send invoices as attachments\",invoice_email_attachment_setting_description:\"Enable this if you want to send invoices as email attachment. Please note that 'View Invoice' button in emails will not be displayed anymore when enabled.\",invoice_settings_updated:\"Postavke fakture uspje\\u0161no spremljene\",retrospective_edits:\"Retrospective Edits\",allow:\"Allow\",disable_on_invoice_partial_paid:\"Disable after partial payment is recorded\",disable_on_invoice_paid:\"Disable after full payment is recorded\",disable_on_invoice_sent:\"Disable after invoice is sent\",retrospective_edits_description:\" Based on your country's laws or your preference, you can restrict users from editing finalised invoices.\"},estimates:{title:\"Ponude\",estimate_number_format:\"Estimate Number Format\",estimate_number_format_description:\"Customize how your estimate number gets generated automatically when you create a new estimate.\",preview_estimate_number:\"Preview Estimate Number\",expiry_date:\"Expiry Date\",expiry_date_description:\"Specify how expiry date is automatically set when you create an estimate.\",expiry_date_days:\"Estimate Expires after days\",set_expiry_date_automatically:\"Set Expiry Date Automatically\",set_expiry_date_automatically_description:\"Enable this if you wish to set expiry date automatically when you create a new estimate.\",default_formats:\"Default Formats\",default_formats_description:\"Below given formats are used to fill up the fields automatically on estimate creation.\",default_estimate_email_body:\"Zadani sadr\\u017Eaj email-a za Ponude\",company_address_format:\"Format adrese firme\",shipping_address_format:\"Format adrese za dostavu firme\",billing_address_format:\"Format adrese za naplatu firme\",estimate_email_attachment:\"Send estimates as attachments\",estimate_email_attachment_setting_description:\"Enable this if you want to send the estimates as an email attachment. Please note that 'View Estimate' button in emails will not be displayed anymore when enabled.\",estimate_settings_updated:\"Estimate Settings updated successfully\",convert_estimate_options:\"Estimate Convert Action\",convert_estimate_description:\"Specify what happens to the estimate after it gets converted to an invoice.\",no_action:\"No action\",delete_estimate:\"Delete estimate\",mark_estimate_as_accepted:\"Mark estimate as accepted\"},payments:{title:\"Uplate\",payment_number_format:\"Payment Number Format\",payment_number_format_description:\"Customize how your payment number gets generated automatically when you create a new payment.\",preview_payment_number:\"Preview Payment Number\",default_formats:\"Default Formats\",default_formats_description:\"Below given formats are used to fill up the fields automatically on payment creation.\",default_payment_email_body:\"Zadani sadr\\u017Eaj email-a za potvrdu o pla\\u0107anju (ra\\u010Dun)\",company_address_format:\"Format adrese firme\",from_customer_address_format:\"Format adrese klijenta\",payment_email_attachment:\"Send payments as attachments\",payment_email_attachment_setting_description:\"Enable this if you want to send the payment receipts as an email attachment. Please note that 'View Payment' button in emails will not be displayed anymore when enabled.\",payment_settings_updated:\"Payment Settings updated successfully\"},items:{title:\"Stavke\",units:\"Jedinice\",add_item_unit:\"Dodaj jedinicu stavke\",edit_item_unit:\"Izmjeni jedinicu stavke\",unit_name:\"Naziv jedinice\",item_unit_added:\"Jedinica stavke dodana\",item_unit_updated:\"Jedinica stavke a\\u017Eurirana\",item_unit_confirm_delete:\"Ne\\u0107e\\u0161 mo\\u0107i vratiti ovu jedinicu stavke\",already_in_use:\"Jedinica stavke se ve\\u0107 koristi\",deleted_message:\"Jedinica stavke uspje\\u0161no obrisana\"},notes:{title:\"Napomene\",description:\"U\\u0161tedite vrijeme prave\\u0107i napomene i koriste\\u0107i ih na fakturama, ponudama i uplatama.\",notes:\"Napomene\",type:\"Vrsta\",add_note:\"Dodaj Napomenu\",add_new_note:\"Dodaj novu Napomenu\",name:\"Naziv\",edit_note:\"Izmjeni Napomenu\",note_added:\"Napomena uspje\\u0161no dodana\",note_updated:\"Napomena uspje\\u0161no a\\u017Eurirana\",note_confirm_delete:\"Ne\\u0107e\\u0161 mo\\u0107i vratiti ovu Napomenu\",already_in_use:\"Napomena se ve\\u0107 koristi\",deleted_message:\"Napomena uspje\\u0161no obrisana\"}},account_settings:{profile_picture:\"Profilna slika\",name:\"Ime i prezime\",email:\"Email\",password:\"Lozinka\",confirm_password:\"Potvrdi lozinku\",account_settings:\"Postavke ra\\u010Duna\",save:\"Spremi\",section_description:\"Mo\\u017Eete a\\u017Eurirati Va\\u0161e ime i prezime, email i lozinku koriste\\u0107i formu ni\\u017Ee.\",updated_message:\"Postavke ra\\u010Duna uspje\\u0161no a\\u017Eurirane\"},user_profile:{name:\"Ime i prezime\",email:\"Email\",password:\"Lozinka\",confirm_password:\"Potvrdi lozinku\"},notification:{title:\"Obavijesti\",email:\"\\u0160alji obavijesti na\",description:\"Koje email obavijesti \\u017Eelite dobiti kada se ne\\u0161to promijeni?\",invoice_viewed:\"Faktura pogledana\",invoice_viewed_desc:\"Kada klijent pogleda fakturu koja je poslana putem ove aplikacije.\",estimate_viewed:\"Ponuda gledana\",estimate_viewed_desc:\"Kada klijent pogleda ponudu koja je poslana putem ove aplikacije.\",save:\"Spremi\",email_save_message:\"Email uspje\\u0161no sa\\u010Duvan\",please_enter_email:\"Molim Vas unesite E-mail\"},roles:{title:\"Roles\",description:\"Manage the roles & permissions of this company\",save:\"Save\",add_new_role:\"Add New Role\",role_name:\"Role Name\",added_on:\"Added on\",add_role:\"Add Role\",edit_role:\"Edit Role\",name:\"Name\",permission:\"Permission | Permissions\",select_all:\"Select All\",none:\"None\",confirm_delete:\"You will not be able to recover this Role\",created_message:\"Role created successfully\",updated_message:\"Role updated successfully\",deleted_message:\"Role deleted successfully\",already_in_use:\"Role is already in use\"},exchange_rate:{exchange_rate:\"Exchange Rate\",title:\"Fix Currency Exchange issues\",description:\"Please enter exchange rate of all the currencies mentioned below to help Crater properly calculate the amounts in {currency}.\",drivers:\"Drivers\",new_driver:\"Add New Provider\",edit_driver:\"Edit Provider\",select_driver:\"Select Driver\",update:\"select exchange rate \",providers_description:\"Configure your exchange rate providers here to automatically fetch the latest exchange rate on transactions.\",key:\"API Key\",name:\"Name\",driver:\"Driver\",is_default:\"IS DEFAULT\",currency:\"Currencies\",exchange_rate_confirm_delete:\"You will not be able to recover this driver\",created_message:\"Provider Created successfully\",updated_message:\"Provider Updated Successfully\",deleted_message:\"Provider Deleted Successfully\",error:\" You cannot Delete Active Driver\",default_currency_error:\"This currency is already used in one of the Active Provider\",exchange_help_text:\"Enter exchange rate to convert from {currency} to {baseCurrency}\",currency_freak:\"Currency Freak\",currency_layer:\"Currency Layer\",open_exchange_rate:\"Open Exchange Rate\",currency_converter:\"Currency Converter\",server:\"Server\",url:\"URL\",active:\"Active\",currency_help_text:\"This provider will only be used on above selected currencies\",currency_in_used:\"The following currencies are already active on another provider. Please remove these currencies from selection to activate this provider again.\"},tax_types:{title:\"Vrste Poreza\",add_tax:\"Dodaj Porez\",edit_tax:\"Izmjeni Porez\",description:\"Mo\\u017Eete dodati ili ukloniti porez. Ova aplikacija podr\\u017Eava porez, kako na individualnim stavkama tako i na fakturi/ponudi.\",add_new_tax:\"Dodaj Novi Porez\",tax_settings:\"Postavke Poreza\",tax_per_item:\"Porez po Stavkama\",tax_name:\"Naziv Poreza\",compound_tax:\"Slo\\u017Eeni Porez\",percent:\"Postotak\",action:\"Radnja\",tax_setting_description:\"Izaberite ovo ako \\u017Eelite dodati porez na individualne stavke. Zadano pona\\u0161anje je da je porez dodan direktno na fakturu.\",created_message:\"Vrsta poreza uspje\\u0161no kreirana\",updated_message:\"Vrsta poreza uspje\\u0161no a\\u017Eurirana\",deleted_message:\"Vrsta poreza uspje\\u0161no obrisana\",confirm_delete:\"Ne\\u0107ete mo\\u0107i vratiti Vrstu Poreza\",already_in_use:\"Porez se ve\\u0107 koristi\"},payment_modes:{title:\"Payment Modes\",description:\"Modes of transaction for payments\",add_payment_mode:\"Add Payment Mode\",edit_payment_mode:\"Edit Payment Mode\",mode_name:\"Mode Name\",payment_mode_added:\"Payment Mode Added\",payment_mode_updated:\"Payment Mode Updated\",payment_mode_confirm_delete:\"You will not be able to recover this Payment Mode\",payments_attached:\"This payment method is already attached to payments. Please delete the attached payments to proceed with deletion.\",expenses_attached:\"This payment method is already attached to expenses. Please delete the attached expenses to proceed with deletion.\",deleted_message:\"Payment Mode deleted successfully\"},expense_category:{title:\"Kategorija Rashoda\",action:\"Radnja\",description:\"Kategorije su obavezne za dodavanje rashoda. Mo\\u017Ee\\u0161 dodati ili obrisati kategorije.\",add_new_category:\"Dodaj novu kategoriju\",add_category:\"Dodaj kategoriju\",edit_category:\"Izmjeni kategoriju\",category_name:\"Naziv kategorije\",category_description:\"Opis\",created_message:\"Kategorija rashoda je uspje\\u0161no kreirana\",deleted_message:\"Kategorija rashoda je uspje\\u0161no izbrisana\",updated_message:\"Kategorija rashoda je uspje\\u0161no a\\u017Eurirana\",confirm_delete:\"Ne\\u0107e\\u0161 mo\\u0107i vratiti ovu kategoriju rashoda\",already_in_use:\"Kategorija se ve\\u0107 koristi\"},preferences:{currency:\"Valuta\",default_language:\"Jezik\",time_zone:\"Vremenska Zona\",fiscal_year:\"Financijska Godina\",date_format:\"Format datuma\",discount_setting:\"Postavke popusta\",discount_per_item:\"Popust po stavkama\",discount_setting_description:\"Izaberite ovo ako \\u017Eelite dodati Popust na individualne stavke. Zadana vrijednost je da je Popust dodan direktno na fakturu.\",expire_public_links:\"Automatically Expire Public Links\",expire_setting_description:\"Specify whether you would like to expire all the links sent by application to view invoices, estimates & payments, etc after a specified duration.\",save:\"Spremi\",preference:\"Preferencija | Preferencije\",general_settings:\"Zadane postavke za sistem\",updated_message:\"Preferencije uspje\\u0161no a\\u017Eurirane\",select_language:\"Izaberi Jezik\",select_time_zone:\"Izaberi Vremensku Zonu\",select_date_format:\"Izaberi Format Datuma\",select_financial_year:\"Izaberi Financijsku Godinu\",recurring_invoice_status:\"Recurring Invoice Status\",create_status:\"Create Status\",active:\"Active\",on_hold:\"On Hold\",update_status:\"Update Status\",completed:\"Completed\",company_currency_unchangeable:\"Company currency cannot be changed\"},update_app:{title:\"A\\u017Euriraj aplikaciju\",description:\"Lako mo\\u017Ee\\u0161 a\\u017Eurirati Crater tako da napravi\\u0161 provjeru novih verzija klikom na polje ispod\",check_update:\"Provjeri a\\u017Euriranost\",avail_update:\"Dostupna je nova verzija\",next_version:\"Sljede\\u0107a verzija\",requirements:\"Zahtjevi\",update:\"A\\u017Euriraj sada\",update_progress:\"A\\u017Euriranje je u toku...\",progress_text:\"Trajanje je svega par minuta. Nemojte osvije\\u017Eavati ili zatvoriti stranicu dok a\\u017Euriranje ne bude gotovo\",update_success:\"Aplikacija je a\\u017Eurirana! Molim Vas pri\\u010Dekajte da se stranica automatski osvje\\u017Ei.\",latest_message:\"Nema nove verzije! A\\u017Eurirana posljednja verzija.\",current_version:\"Trenutna verzija\",download_zip_file:\"Preuzmi ZIP paket\",unzipping_package:\"Raspakiranje paketa\",copying_files:\"Kopiranje datoteka\",deleting_files:\"Brisanje fajlova koji nisu u upotrebi\",running_migrations:\"Migracije u toku\",finishing_update:\"Zavr\\u0161avanje a\\u017Euriranja\",update_failed:\"Neuspe\\u0161no a\\u017Euriranje\",update_failed_text:\"\\u017Dao mi je! Tvoje a\\u017Euriranje nije uspelo na koraku broj: {step} korak\",update_warning:\"All of the application files and default template files will be overwritten when you update the application using this utility. Please take a backup of your templates & database before updating.\"},backup:{title:\"Sigurnosna kopija | Sigurnosne kopije\",description:\"Backup je zip arhiv koji sadr\\u017Ei sve fajlove iz foldera koje ste naveli, tako\\u0111er sadr\\u017Ei sigurnosnu kopiju baze podataka.\",new_backup:\"Dodaj novi Backup\",create_backup:\"Napravi Backup\",select_backup_type:\"Izaberi tip Backupa\",backup_confirm_delete:\"Ne\\u0107e\\u0161 mo\\u0107i vratiti ovaj Backup\",path:\"putanja\",new_disk:\"Novi Disk\",created_at:\"datum kreiranja\",size:\"veli\\u010Dina\",dropbox:\"dropbox\",local:\"lokalni\",healthy:\"zdrav\",amount_of_backups:\"broj backupa\",newest_backups:\"najnoviji backupi\",used_storage:\"kori\\u0161teno skladi\\u0161te\",select_disk:\"Izaberi Disk\",action:\"Radnja\",deleted_message:\"Backup uspje\\u0161no obrisan\",created_message:\"Backup uspje\\u0161no napravljen\",invalid_disk_credentials:\"Pogre\\u0161ne akreditacije za odabrani disk\"},disk:{title:\"File Disk | File Disks\",description:\"Zadano pona\\u0161anje je da Crater koristi lokalni disk za \\u010Duvanje backupa, avatara i ostalih slika. Mo\\u017Eete podesiti vi\\u0161e od jednog disk drajvera od provajdera poput DigitalOcean, S3 i Dropbox po va\\u0161oj \\u017Eelji.\",created_at:\"datum kreiranja\",dropbox:\"dropbox\",name:\"Naziv\",driver:\"Drajver\",disk_type:\"Vrsta\",disk_name:\"Naziv Diska\",new_disk:\"Dodaj novi Disk\",filesystem_driver:\"Filesystem Driver\",local_driver:\"lokalni Drajver\",local_root:\"local Root\",public_driver:\"Public Driver\",public_root:\"Public Root\",public_url:\"Public URL\",public_visibility:\"Public Visibility\",media_driver:\"Media Driver\",media_root:\"Media Root\",aws_driver:\"AWS Driver\",aws_key:\"AWS Key\",aws_secret:\"AWS Secret\",aws_region:\"AWS Region\",aws_bucket:\"AWS Bucket\",aws_root:\"AWS Root\",do_spaces_type:\"Do Spaces type\",do_spaces_key:\"Do Spaces key\",do_spaces_secret:\"Do Spaces Secret\",do_spaces_region:\"Do Spaces Region\",do_spaces_bucket:\"Do Spaces Bucket\",do_spaces_endpoint:\"Do Spaces Endpoint\",do_spaces_root:\"Do Spaces Root\",dropbox_type:\"Dropbox Type\",dropbox_token:\"Dropbox Token\",dropbox_key:\"Dropbox Key\",dropbox_secret:\"Dropbox Secret\",dropbox_app:\"Dropbox App\",dropbox_root:\"Dropbox Root\",default_driver:\"Zadani Drajver\",is_default:\"DA LI JE ZADAN\",set_default_disk:\"Postavi zadani Disk\",set_default_disk_confirm:\"Ovaj disk \\u0107e biti postavljen kao zadani i svi novi PDF fajlovi \\u0107e biti sa\\u010Duvani na ovom disku\",success_set_default_disk:\"Disk je uspje\\u0161no postavljen kao zadani\",save_pdf_to_disk:\"Spremi PDF fajlove na Disk\",disk_setting_description:\" Uklju\\u010Dite ovo ako \\u017Eelite da spremite kopiju PDF fajla svake Fakture, Ponude i Uplate na va\\u0161 zadani disk automatski. Uklju\\u010Divanjem ove opcije smanjujete vrijeme u\\u010Ditavanja pregleda PDF fajlova.\",select_disk:\"Izaberi Disk\",disk_settings:\"Disk Postavke\",confirm_delete:\"Ovo ne\\u0107e utjecati na va\\u0161e postoje\\u0107e fajlove i foldere na navedenom disku, ali \\u0107e se konfiguracija va\\u0161eg diska izbrisati iz Cratera.\",action:\"Radnja\",edit_file_disk:\"Izmjeni File Disk\",success_create:\"Disk uspje\\u0161no dodan\",success_update:\"Disk uspje\\u0161no a\\u017Euriran\",error:\"Dodavanje diska nije uspelo\",deleted_message:\"File Disk uspje\\u0161no obrisan\",disk_variables_save_successfully:\"Disk uspje\\u0161no pode\\u0161en\",disk_variables_save_error:\"Postavljanje diska nije uspjelo.\",invalid_disk_credentials:\"Pogre\\u0161ne akreditacije za navedeni disk\"},taxations:{add_billing_address:\"Enter Billing Address\",add_shipping_address:\"Enter Shipping Address\",add_company_address:\"Enter Company Address\",modal_description:\"The information below is required in order to fetch sales tax.\",add_address:\"Add Address for fetching sales tax.\",address_placeholder:\"Example: 123, My Street\",city_placeholder:\"Example: Los Angeles\",state_placeholder:\"Example: CA\",zip_placeholder:\"Example: 90024\",invalid_address:\"Please provide valid address details.\"}},Cx={account_info:\"Informacije o ra\\u010Dunu\",account_info_desc:\"Detalji u nastavku koriste se za kreiranje glavnog administratorskog ra\\u010Duna. Mogu\\u0107e ih je izmjeniti u bilo kada nakon prijavljivanja.\",name:\"Naziv\",email:\"E-mail\",password:\"Lozinka\",confirm_password:\"Potvrdi lozinku\",save_cont:\"Spremi & Nastavi\",company_info:\"Informacije o firmi\",company_info_desc:\"Ove informacije \\u0107e biti prikazane na fakturama. Mogu\\u0107e ih je izmjeniti kasnije u postavkama.\",company_name:\"Naziv firme\",company_logo:\"Logo firme\",logo_preview:\"Pregled logotipa\",preferences:\"Preference\",preferences_desc:\"Zadane Preference za sistem\",currency_set_alert:\"The company's currency cannot be changed later.\",country:\"Dr\\u017Eava\",state:\"\\u017Dupanija\",city:\"Grad\",address:\"Adresa\",street:\"Ulica1 | Ulica2\",phone:\"Telefon\",zip_code:\"Po\\u0161tanski broj\",go_back:\"Vrati se nazad\",currency:\"Valuta\",language:\"Jezik\",time_zone:\"Vremenska zona\",fiscal_year:\"Financijska godina\",date_format:\"Format datuma\",from_address:\"Adresa po\\u0161iljaoca\",username:\"Korisni\\u010Dko ime\",next:\"Sljede\\u0107e\",continue:\"Nastavi\",skip:\"Presko\\u010Di\",database:{database:\"URL stranice & baze podataka\",connection:\"Veza baze podataka\",host:\"Host baze podataka\",port:\"Port baze podataka\",password:\"Lozinka baze podataka\",app_url:\"URL aplikacije\",app_domain:\"Domen aplikacije\",username:\"Korisni\\u010Dko ime baze podataka\",db_name:\"Naziv baze podataka\",db_path:\"Putanja do baze\",desc:\"Kreiraj bazu podataka na svom serveru i postavi akreditacije prate\\u0107i obrazac u nastavku.\"},permissions:{permissions:\"Dozvole\",permission_confirm_title:\"Da li ste sigurni da \\u017Eelite nastaviti?\",permission_confirm_desc:\"Provjera dozvola za foldere nije uspjela\",permission_desc:\"U nastavku se nalazi popis dozvola za foldere koji su nu\\u017Eni kako bi alikacija radila. Ukoliko provjera dozvola ne uspije, a\\u017Euriraj svoj popis dozvola za te foldere.\"},verify_domain:{title:\"Domain Verification\",desc:\"Crater uses Session based authentication which requires domain verification for security purposes. Please enter the domain on which you will be accessing your web application.\",app_domain:\"App Domain\",verify_now:\"Verify Now\",success:\"Domain Verify Successfully.\",failed:\"Domain verification failed. Please enter valid domain name.\",verify_and_continue:\"Verify And Continue\"},mail:{host:\"Mail Host\",port:\"Mail Port\",driver:\"Mail drajver\",secret:\"Lozinka\",mailgun_secret:\"Mailgun Lozinka\",mailgun_domain:\"Domen\",mailgun_endpoint:\"Mailgun Endpoint\",ses_secret:\"SES Lozinka\",ses_key:\"SES Klju\\u010D\",password:\"Lozinka za e-mail\",username:\"Koristni\\u010Dko ime za e-mail\",mail_config:\"E-mail konfiguracija\",from_name:\"Naziv po\\u0161iljatelja\",from_mail:\"E-mail adresa po\\u0161iljatelja\",encryption:\"E-mail enkripcija\",mail_config_desc:\"Ispod se nalazi forma za postavljanje E-mail drajvera za slanje po\\u0161te iz aplikacije. Tako\\u0111er mo\\u017Eete podesiti provajdere tre\\u0107e strane kao Sendgrid, SES itd.\"},req:{system_req:\"Sistemski zahtjevi\",php_req_version:\"Zahtjeva PHP verziju {version} \",check_req:\"Provjeri zahtjeve\",system_req_desc:\"Crater ima nekoliko zahtjeva za server. Provjeri da li tvoj server ima potrebnu verziju PHP-a i sva navedena pro\\u0161irenja navedena u nastavku\"},errors:{migrate_failed:\"Neuspje\\u0161no migriranje\",database_variables_save_error:\"Konfiguraciju nije moguc\\u0301e zapisati u .env datoteku. Provjeri dozvole za datoteku\",mail_variables_save_error:\"E-mail konfiguracija neuspje\\u0161na\",connection_failed:\"Neuspje\\u0161no povezivanje s bazom podataka\",database_should_be_empty:\"Baza podataka treba biti prazna\"},success:{mail_variables_save_successfully:\"E-mail je uspje\\u0161no konfiguriran\",database_variables_save_successfully:\"Baza podataka je uspje\\u0161no konfigurirana\"}},Nx={invalid_phone:\"Pogre\\u0161an Broj Telefona\",invalid_url:\"Neva\\u017Ee\\u0107i URL (primer: http://www.craterapp.com)\",invalid_domain_url:\"Pogre\\u0161an URL (primjer: craterapp.com)\",required:\"Obavezno polje\",email_incorrect:\"Pogre\\u0161an E-mail\",email_already_taken:\"Navedeni E-mail je zauzet\",email_does_not_exist:\"Korisnik sa navedenom e-mail adresom ne postoji\",item_unit_already_taken:\"Naziv ove jedinice stavke je zauzet\",payment_mode_already_taken:\"Naziv ovog na\\u010Dina pla\\u0107anja je zauzet\",send_reset_link:\"Po\\u0161alji link za reset\",not_yet:\"Jo\\u0161 uvijek ni\\u0161ta? Po\\u0161alji ponovno\",password_min_length:\"Lozinka mora imati {count} znakova\",name_min_length:\"Naziv mora imati najmanje {count} slova\",prefix_min_length:\"Prefix must have at least {count} letters.\",enter_valid_tax_rate:\"Unesite odgovaraju\\u0107u poreznu stopu\",numbers_only:\"Mogu se unositi samo brojevi\",characters_only:\"Mogu se unositi samo znakovi\",password_incorrect:\"Lozinka mora biti identi\\u010Dna\",password_length:\"Lozinka mora imati {count} znakova\",qty_must_greater_than_zero:\"Koli\\u010Dina mora biti ve\\u0107a od 0.\",price_greater_than_zero:\"Cijena mora biti ve\\u0107a od 0\",payment_greater_than_zero:\"Uplata mora biti ve\\u0107a od 0\",payment_greater_than_due_amount:\"Unesena uplata je ve\\u0107a od dospije\\u0107a iznosa ove fakture\",quantity_maxlength:\"Koli\\u010Dina ne mo\\u017Ee imati vi\\u0161e od 20 znakova\",price_maxlength:\"Cijena ne mo\\u017Ee imati vi\\u0161e od 20 znakova\",price_minvalue:\"Cijena mora biti ve\\u0107a od 0\",amount_maxlength:\"Iznos ne mo\\u017Ee da ima vi\\u0161e od 20 znakova\",amount_minvalue:\"Iznos mora biti ve\\u0107i od 0\",discount_maxlength:\"Discount should not be greater than max discount\",description_maxlength:\"Opis ne mo\\u017Ee imati vi\\u0161e od 65,000 znakova\",subject_maxlength:\"Predmet ne mo\\u017Ee imati vi\\u0161e od 100 znakova\",message_maxlength:\"Poruka ne mo\\u017Ee imati vi\\u0161e od 255 znakova\",maximum_options_error:\"Maksimalan broj opcija je izabran. Prvo uklonite izabranu opciju da bi izabrali drugu\",notes_maxlength:\"Napomena ne mo\\u017Ee imati vi\\u0161e od 65,000 znakova\",address_maxlength:\"Adresa ne mo\\u017Ee imati vi\\u0161e od 255 znakova\",ref_number_maxlength:\"Poziv na broj ne mo\\u017Ee imati vi\\u0161e od 225 znakova\",prefix_maxlength:\"Prefiks ne mo\\u017Ee imati vi\\u0161e od 5 znakova\",something_went_wrong:\"ne\\u0161to je krenulo naopako\",number_length_minvalue:\"Number length should be greater than 0\",at_least_one_ability:\"Please select atleast one Permission.\",valid_driver_key:\"Please enter a valid {driver} key.\",valid_exchange_rate:\"Please enter a valid exchange rate.\",company_name_not_same:\"Company name must match with given name.\"},Ex={starter_plan:\"This feature is available on Starter plan and onwards!\",invalid_provider_key:\"Please Enter Valid Provider API Key.\",estimate_number_used:\"The estimate number has already been taken.\",invoice_number_used:\"The invoice number has already been taken.\",payment_attached:\"This invoice already has a payment attached to it. Make sure to delete the attached payments first in order to go ahead with the removal.\",payment_number_used:\"The payment number has already been taken.\",name_already_taken:\"The name has already been taken.\",receipt_does_not_exist:\"Receipt does not exist.\",customer_cannot_be_changed_after_payment_is_added:\"Customer cannot be change after payment is added\",invalid_credentials:\"Invalid  Credentials.\",not_allowed:\"Not Allowed\",login_invalid_credentials:\"These credentials do not match our records.\",enter_valid_cron_format:\"Please enter a valid cron format\",email_could_not_be_sent:\"Email could not be sent to this email address.\",invalid_address:\"Please enter a valid address.\",invalid_key:\"Please enter valid key.\",invalid_state:\"Please enter a valid state.\",invalid_city:\"Please enter a valid city.\",invalid_postal_code:\"Please enter a valid zip.\",invalid_format:\"Please enter valid query string format.\",api_error:\"Server not responding.\",feature_not_enabled:\"Feature not enabled.\",request_limit_met:\"Api request limit exceeded.\",address_incomplete:\"Incomplete Address\"},Ix=\"Ponuda\",Tx=\"Broj Ponude\",Rx=\"Datum Ponude\",Mx=\"Datum isteka Ponude\",Fx=\"Faktura\",$x=\"Broj Fakture\",Ux=\"Datum Fakture\",Vx=\"Datum dospije\\u0107a Fakture\",Ox=\"Napomena\",Lx=\"Stavke\",qx=\"Koli\\u010Dina\",Bx=\"Cijena\",Kx=\"Popust\",Zx=\"Iznos\",Wx=\"Osnovica za obra\\u010Dun PDV-a\",Hx=\"Ukupan iznos\",Yx=\"Pla\\u0107anje\",Gx=\"POTVRDA O UPLATI\",Jx=\"Datum Uplate\",Qx=\"Broj Uplate\",Xx=\"Na\\u010Din Pla\\u0107anja\",eP=\"Iznos Uplate\",tP=\"IZVJE\\u0160TAJ O RASHODIMA\",aP=\"RASHODI UKUPNO\",nP=\"IZVEJ\\u0160TAJ O PRIHODIMA I RASHODIMA\",iP=\"Izvje\\u0161taj Prodaje po Strankama\",oP=\"Izvje\\u0161taj Prodaje po Stavkama\",sP=\"Izvje\\u0161taj Poreza\",rP=\"PRIHOD\",dP=\"NETO PROFIT\",lP=\"Izvje\\u0161taj o Prodaji: Po Klijentu\",cP=\"PRODAJA UKUPNO\",_P=\"Izvje\\u0161taj o Prodaji: Po Stavci\",uP=\"IZVE\\u0160TAJ O POREZIMA\",mP=\"UKUPNO POREZ\",pP=\"Vrsta Poreza\",fP=\"Rashodi\",gP=\"Ra\\u010Dun za,\",vP=\"Isporu\\u010Diti za,\",yP=\"Poslat od strane:\",hP=\"Porez\";var bP={navigation:_x,general:ux,dashboard:mx,tax_types:px,global_search:fx,company_switcher:gx,dateRange:vx,customers:yx,items:hx,estimates:bx,invoices:kx,recurring_invoices:wx,payments:zx,expenses:xx,login:Px,modules:Sx,users:jx,reports:Ax,settings:Dx,wizard:Cx,validation:Nx,errors:Ex,pdf_estimate_label:Ix,pdf_estimate_number:Tx,pdf_estimate_date:Rx,pdf_estimate_expire_date:Mx,pdf_invoice_label:Fx,pdf_invoice_number:$x,pdf_invoice_date:Ux,pdf_invoice_due_date:Vx,pdf_notes:Ox,pdf_items_label:Lx,pdf_quantity_label:qx,pdf_price_label:Bx,pdf_discount_label:Kx,pdf_amount_label:Zx,pdf_subtotal:Wx,pdf_total:Hx,pdf_payment_label:Yx,pdf_payment_receipt_label:Gx,pdf_payment_date:Jx,pdf_payment_number:Qx,pdf_payment_mode:Xx,pdf_payment_amount_received_label:eP,pdf_expense_report_label:tP,pdf_total_expenses_label:aP,pdf_profit_loss_label:nP,pdf_sales_customers_label:iP,pdf_sales_items_label:oP,pdf_tax_summery_label:sP,pdf_income_label:rP,pdf_net_profit_label:dP,pdf_customer_sales_report:lP,pdf_total_sales_label:cP,pdf_item_sales_label:_P,pdf_tax_report_label:uP,pdf_total_tax_label:mP,pdf_tax_types_label:pP,pdf_expenses_label:fP,pdf_bill_to:gP,pdf_ship_to:vP,pdf_received_from:yP,pdf_tax_label:hP},kP={cs:Xi,en:cs,fr:br,es:Cd,ar:Vl,de:Gc,ja:su,pt_BR:Em,it:Lp,sr:Xf,nl:lv,ko:py,lv:xh,sv:Tb,sk:Bk,vi:ez,pl:gm,el:cx,hr:bP};const wP={props:{bgColor:{type:String,default:null},color:{type:String,default:null}},setup(n){return(r,o)=>(l(),_(\"span\",{class:\"px-2 py-1 text-sm font-normal text-center text-green-800 uppercase bg-success\",style:De({backgroundColor:n.bgColor,color:n.color})},[F(r.$slots,\"default\")],4))}};var zP=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:wP});const xP={name:\"BaseBreadcrumb\"},PP={class:\"flex flex-wrap py-4 text-gray-900 rounded list-reset\"};function SP(n,r,o,a,t,i){return l(),_(\"nav\",null,[c(\"ol\",PP,[F(n.$slots,\"default\")])])}var jP=ee(xP,[[\"render\",SP]]),AP=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:jP});const DP={class:\"pr-2 text-sm\"},CP={key:0,class:\"px-1\"},NP={props:{title:{type:String,default:String},to:{type:String,default:\"#\"},active:{type:Boolean,default:!1,required:!1}},setup(n){return(r,o)=>{const a=C(\"router-link\");return l(),_(\"li\",DP,[u(a,{class:\"m-0 mr-2 text-sm font-medium leading-5 text-gray-900 outline-none focus:ring-2 focus:ring-offset-2 focus:ring-primary-400\",to:n.to},{default:f(()=>[B(w(n.title),1)]),_:1},8,[\"to\"]),n.active?P(\"\",!0):(l(),_(\"span\",CP,\"/\"))])}}};var EP=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:NP});const IP={},TP={class:\"animate-spin\",xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\"},RP=c(\"circle\",{class:\"opacity-25\",cx:\"12\",cy:\"12\",r:\"10\",stroke:\"currentColor\",\"stroke-width\":\"4\"},null,-1),MP=c(\"path\",{class:\"opacity-75\",fill:\"currentColor\",d:\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"},null,-1),FP=[RP,MP];function $P(n,r){return l(),_(\"svg\",TP,FP)}var UP=ee(IP,[[\"render\",$P]]);const VP={props:{contentLoading:{type:Boolean,default:!1},defaultClass:{type:String,default:\"inline-flex whitespace-nowrap items-center border font-medium focus:outline-none focus:ring-2 focus:ring-offset-2\"},tag:{type:String,default:\"button\"},disabled:{type:Boolean,default:!1},rounded:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},size:{type:String,default:\"md\",validator:function(n){return[\"xs\",\"sm\",\"md\",\"lg\",\"xl\"].indexOf(n)!==-1}},variant:{type:String,default:\"primary\",validator:function(n){return[\"primary\",\"secondary\",\"primary-outline\",\"white\",\"danger\",\"gray\"].indexOf(n)!==-1}}},setup(n){const r=n,o=A(()=>({\"px-2.5 py-1.5 text-xs leading-4 rounded\":r.size===\"xs\",\"px-3 py-2 text-sm leading-4 rounded-md\":r.size==\"sm\",\"px-4 py-2 text-sm leading-5 rounded-md\":r.size===\"md\",\"px-4 py-2 text-base leading-6 rounded-md\":r.size===\"lg\",\"px-6 py-3 text-base leading-6 rounded-md\":r.size===\"xl\"})),a=A(()=>{switch(r.size){case\"xs\":return\"32\";case\"sm\":return\"38\";case\"md\":return\"42\";case\"lg\":return\"42\";case\"xl\":return\"46\";default:return\"\"}}),t=A(()=>({\"border-transparent shadow-sm text-white bg-primary-600 hover:bg-primary-700 focus:ring-primary-500\":r.variant===\"primary\",\"border-transparent text-primary-700 bg-primary-100 hover:bg-primary-200 focus:ring-primary-500\":r.variant===\"secondary\",\"border-transparent  border-solid border-primary-500 font-normal transition ease-in-out duration-150 text-primary-500 hover:bg-primary-200 shadow-inner focus:ring-primary-500\":r.variant==\"primary-outline\",\"border-gray-200 text-gray-700 bg-white hover:bg-gray-50 focus:ring-primary-500 focus:ring-offset-0\":r.variant==\"white\",\"border-transparent shadow-sm text-white bg-red-600 hover:bg-red-700 focus:ring-red-500\":r.variant===\"danger\",\"border-transparent bg-gray-200 border hover:bg-opacity-60 focus:ring-gray-500 focus:ring-offset-0\":r.variant===\"gray\"})),i=A(()=>r.rounded?\"!rounded-full\":\"\"),e=A(()=>({\"-ml-0.5 mr-2 h-4 w-4\":r.size==\"sm\",\"-ml-1 mr-2 h-5 w-5\":r.size===\"md\",\"-ml-1 mr-3 h-5 w-5\":r.size===\"lg\"||r.size===\"xl\"})),s=A(()=>({\"text-white\":r.variant===\"primary\",\"text-primary-700\":r.variant===\"secondary\",\"text-gray-700\":r.variant===\"white\",\"text-gray-400\":r.variant===\"gray\"})),m=A(()=>({\"ml-2 -mr-0.5 h-4 w-4\":r.size==\"sm\",\"ml-2 -mr-1 h-5 w-5\":r.size===\"md\",\"ml-3 -mr-1 h-5 w-5\":r.size===\"lg\"||r.size===\"xl\"}));return(p,k)=>{const z=C(\"BaseContentPlaceholdersBox\"),g=C(\"BaseContentPlaceholders\"),h=C(\"BaseCustomTag\");return n.contentLoading?(l(),T(g,{key:0,class:\"disabled cursor-normal pointer-events-none\"},{default:f(()=>[u(z,{rounded:!0,style:De([{width:\"96px\"},`height: ${d(a)}px;`])},null,8,[\"style\"])]),_:1})):(l(),T(h,{key:1,tag:n.tag,disabled:n.disabled,class:N([n.defaultClass,d(o),d(t),d(i)])},{default:f(()=>[n.loading?(l(),T(UP,{key:0,class:N([d(e),d(s)])},null,8,[\"class\"])):F(p.$slots,\"left\",{key:1,class:N(d(e))}),F(p.$slots,\"default\"),F(p.$slots,\"right\",{class:N([d(m),d(s)])})]),_:3},8,[\"tag\",\"disabled\",\"class\"]))}}};var OP=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:VP});const LP={class:\"bg-white rounded-lg shadow\"},qP={key:0,class:\"px-5 py-4 text-black border-b border-gray-100 border-solid\"},BP={key:1,class:\"px-5 py-4 border-t border-gray-100 border-solid sm:px-6\"},KP={props:{containerClass:{type:String,default:\"px-4 py-5 sm:px-8 sm:py-8\"}},setup(n){const r=pe(),o=A(()=>!!r.header),a=A(()=>!!r.footer);return(t,i)=>(l(),_(\"div\",LP,[d(o)?(l(),_(\"div\",qP,[F(t.$slots,\"header\")])):P(\"\",!0),c(\"div\",{class:N(n.containerClass)},[F(t.$slots,\"default\")],2),d(a)?(l(),_(\"div\",BP,[F(t.$slots,\"footer\")])):P(\"\",!0)]))}};var ZP=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:KP});const WP={class:\"relative flex items-start\"},HP={class:\"flex items-center h-5\"},YP=[\"id\",\"disabled\"],GP={class:\"ml-3 text-sm\"},JP=[\"for\"],QP={key:1,class:\"text-gray-500\"},XP={props:{label:{type:String,default:\"\"},description:{type:String,default:\"\"},modelValue:{type:[Boolean,Array],default:!1},id:{type:[Number,String],default:()=>`check_${Math.random().toString(36).substr(2,9)}`},disabled:{type:Boolean,default:!1},checkboxClass:{type:String,default:\"w-4 h-4 border-gray-300 rounded cursor-pointer\"},setInitialValue:{type:Boolean,default:!1}},emits:[\"update:modelValue\",\"change\"],setup(n,{emit:r}){const o=n;o.setInitialValue&&r(\"update:modelValue\",o.modelValue);const a=A({get:()=>o.modelValue,set:i=>{r(\"update:modelValue\",i),r(\"change\",i)}}),t=A(()=>o.disabled?\"text-gray-300 cursor-not-allowed\":\"text-primary-600 focus:ring-primary-500\");return(i,e)=>(l(),_(\"div\",WP,[c(\"div\",HP,[xe(c(\"input\",le({id:n.id,\"onUpdate:modelValue\":e[0]||(e[0]=s=>J(a)?a.value=s:null)},i.$attrs,{disabled:n.disabled,type:\"checkbox\",class:[n.checkboxClass,d(t)]}),null,16,YP),[[Vt,d(a)]])]),c(\"div\",GP,[n.label?(l(),_(\"label\",{key:0,for:n.id,class:N(`font-medium ${n.disabled?\"text-gray-400 cursor-not-allowed\":\"text-gray-600\"} cursor-pointer `)},w(n.label),11,JP)):P(\"\",!0),n.description?(l(),_(\"p\",QP,w(n.description),1)):P(\"\",!0)])]))}};var eS=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:XP});const tS={props:{rounded:{type:Boolean,default:!1},centered:{type:Boolean,default:!1},animated:{type:Boolean,default:!0}},setup(n){const r=n,o=A(()=>({\"base-content-placeholders\":!0,\"base-content-placeholders-is-rounded\":r.rounded,\"base-content-placeholders-is-centered\":r.centered,\"base-content-placeholders-is-animated\":r.animated}));return(a,t)=>(l(),_(\"div\",{class:N(d(o))},[F(a.$slots,\"default\")],2))}};var aS=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:tS});const nS={props:{circle:{type:Boolean,default:!1},rounded:{type:Boolean,default:!1}},setup(n){const r=n,o=A(()=>({\"base-content-circle\":r.circle,\"base-content-placeholders-is-rounded\":r.rounded}));return(a,t)=>(l(),_(\"div\",{class:N([\"base-content-placeholders-box\",d(o)])},null,2))}};var iS=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:nS});const oS={class:\"base-content-placeholders-heading\"},sS={key:0,class:\"base-content-placeholders-heading__box\"},rS=c(\"div\",{class:\"base-content-placeholders-heading__content\"},[c(\"div\",{class:\"base-content-placeholders-heading__title\",style:{background:\"#eee\"}}),c(\"div\",{class:\"base-content-placeholders-heading__subtitle\"})],-1),dS={props:{box:{type:Boolean,default:!1},rounded:{type:Boolean,default:!1}},setup(n){return(r,o)=>(l(),_(\"div\",oS,[n.box?(l(),_(\"div\",sS)):P(\"\",!0),rS]))}};var lS=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:dS});const cS={class:\"base-content-placeholders-text\"},_S={props:{lines:{type:Number,default:4},rounded:{type:Boolean,default:!1}},setup(n){const r=n,o=A(()=>({\"base-content-placeholders-is-rounded\":r.rounded}));return(a,t)=>(l(),_(\"div\",cS,[(l(!0),_(X,null,ae(n.lines,i=>(l(),_(\"div\",{key:i,class:N([d(o),\"w-full h-full base-content-placeholders-text__line\"])},null,2))),128))]))}};var uS=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:_S}),zt={id:null,label:null,type:null,name:null,default_answer:null,is_required:!1,placeholder:null,model_type:null,order:1,options:[]},mS=n=>Xe({locale:\"en\",fallbackLocale:\"en\",messages:n});const{global:re}=mS;var Ze={isImageFile(n){return[\"image/gif\",\"image/jpeg\",\"image/png\"].includes(n)},addClass(n,r){n.classList?n.classList.add(r):n.className+=\" \"+r},hasClass(n,r){return n.classList?n.classList.contains(r):new RegExp(\"(^| )\"+r+\"( |$)\",\"gi\").test(n.className)},formatMoney(n,r=0){r||(r={precision:2,thousand_separator:\",\",decimal_separator:\".\",symbol:\"$\"}),n=n/100;let{precision:o,decimal_separator:a,thousand_separator:t,symbol:i,swap_currency_symbol:e}=r;try{o=Math.abs(o),o=isNaN(o)?2:o;const s=n<0?\"-\":\"\";let m=parseInt(n=Math.abs(Number(n)||0).toFixed(o)).toString(),p=m.length>3?m.length%3:0,k=`${i}`,z=p?m.substr(0,p)+t:\"\",g=m.substr(p).replace(/(\\d{3})(?=\\d)/g,\"$1\"+t),h=o?a+Math.abs(n-m).toFixed(o).slice(2):\"\",D=s+z+g+h;return e?D+\" \"+k:k+\" \"+D}catch(s){console.error(s)}},mergeSettings(n,r){Object.keys(r).forEach(function(o){o in n&&(n[o]=r[o])})},checkValidUrl(n){return n.includes(\"http://localhost\")||n.includes(\"http://127.0.0.1\")||n.includes(\"https://localhost\")||n.includes(\"https://127.0.0.1\")?!0:!!new RegExp(\"^(https?:\\\\/\\\\/)?((([a-z\\\\d]([a-z\\\\d-]*[a-z\\\\d])*)\\\\.)+[a-z]{2,}|((\\\\d{1,3}\\\\.){3}\\\\d{1,3}))(\\\\:\\\\d+)?(\\\\/[-a-z\\\\d%_.~+]*)*(\\\\?[;&a-z\\\\d%_.~+=-]*)?(\\\\#[-a-z\\\\d_]*)?$\",\"i\").test(n)},checkValidDomainUrl(n){return n.includes(\"localhost\")||n.includes(\"127.0.0.1\")?!0:!!new RegExp(\"^(https?:\\\\/\\\\/)?((([a-z\\\\d]([a-z\\\\d-]*[a-z\\\\d])*)\\\\.)+[a-z]{2,}|((\\\\d{1,3}\\\\.){3}\\\\d{1,3}))(\\\\:\\\\d+)?(\\\\/[-a-z\\\\d%_.~+]*)*(\\\\?[;&a-z\\\\d%_.~+=-]*)?(\\\\#[-a-z\\\\d_]*)?$\",\"i\").test(n)},fallbackCopyTextToClipboard(n){var r=document.createElement(\"textarea\");r.value=n,r.style.top=\"0\",r.style.left=\"0\",r.style.position=\"fixed\",document.body.appendChild(r),r.focus(),r.select();try{var o=document.execCommand(\"copy\"),a=o?\"successful\":\"unsuccessful\";console.log(\"Fallback: Copying text command was \"+a)}catch(t){console.error(\"Fallback: Oops, unable to copy\",t)}document.body.removeChild(r)},copyTextToClipboard(n){if(!navigator.clipboard){this.fallbackCopyTextToClipboard(n);return}navigator.clipboard.writeText(n).then(function(){return!0},function(r){return!1})},arrayDifference(n,r){return n==null?void 0:n.filter(o=>(r==null?void 0:r.indexOf(o))<0)},getBadgeStatusColor(n){switch(n){case\"DRAFT\":return{bgColor:\"#F8EDCB\",color:\"#744210\"};case\"PAID\":return{bgColor:\"#D5EED0\",color:\"#276749\"};case\"UNPAID\":return{bgColor:\"#F8EDC\",color:\"#744210\"};case\"SENT\":return{bgColor:\"rgba(246, 208, 154, 0.4)\",color:\"#975a16\"};case\"REJECTED\":return{bgColor:\"#E1E0EA\",color:\"#1A1841\"};case\"ACCEPTED\":return{bgColor:\"#D5EED0\",color:\"#276749\"};case\"VIEWED\":return{bgColor:\"#C9E3EC\",color:\"#2c5282\"};case\"EXPIRED\":return{bgColor:\"#FED7D7\",color:\"#c53030\"};case\"PARTIALLY PAID\":return{bgColor:\"#C9E3EC\",color:\"#2c5282\"};case\"COMPLETED\":return{bgColor:\"#D5EED0\",color:\"#276749\"};case\"DUE\":return{bgColor:\"#F8EDCB\",color:\"#744210\"};case\"YES\":return{bgColor:\"#D5EED0\",color:\"#276749\"};case\"NO\":return{bgColor:\"#FED7D7\",color:\"#c53030\"}}},getStatusTranslation(n){switch(n){case\"DRAFT\":return re.t(\"general.draft\");case\"PAID\":return re.t(\"invoices.paid\");case\"UNPAID\":return re.t(\"invoices.unpaid\");case\"SENT\":return re.t(\"general.sent\");case\"REJECTED\":return re.t(\"estimates.rejected\");case\"ACCEPTED\":return re.t(\"estimates.accepted\");case\"VIEWED\":return re.t(\"invoices.viewed\");case\"EXPIRED\":return re.t(\"estimates.expired\");case\"PARTIALLY PAID\":return re.t(\"estimates.partially_paid\");case\"COMPLETED\":return re.t(\"invoices.completed\");case\"DUE\":return re.t(\"general.due\");default:return n}},toFormData(n){const r=new FormData;return Object.keys(n).forEach(o=>{Ot.exports.isArray(n[o])?r.append(o,JSON.stringify(n[o])):(n[o]===null&&(n[o]=\"\"),r.append(o,n[o]))}),r}};const pS=(n=!1)=>{const r=n?window.pinia.defineStore:Q,{global:o}=window.i18n;return r({id:\"custom-field\",state:()=>({customFields:[],isRequestOngoing:!1,currentCustomField:M({},zt)}),getters:{isEdit(){return!!this.currentCustomField.id}},actions:{resetCustomFields(){this.customFields=[]},resetCurrentCustomField(){this.currentCustomField=M({},zt)},fetchCustomFields(a){return new Promise((t,i)=>{v.get(\"/api/v1/custom-fields\",{params:a}).then(e=>{this.customFields=e.data.data,t(e)}).catch(e=>{y(e),i(e)})})},fetchNoteCustomFields(a){return new Promise((t,i)=>{if(this.isRequestOngoing)return t({requestOnGoing:!0}),!0;this.isRequestOngoing=!0,v.get(\"/api/v1/custom-fields\",{params:a}).then(e=>{this.customFields=e.data.data,this.isRequestOngoing=!1,t(e)}).catch(e=>{this.isRequestOngoing=!1,y(e),i(e)})})},fetchCustomField(a){return new Promise((t,i)=>{v.get(`/api/v1/custom-fields/${a}`).then(e=>{this.currentCustomField=e.data.data,this.currentCustomField.options&&this.currentCustomField.options.length&&(this.currentCustomField.options=this.currentCustomField.options.map(s=>s={name:s})),t(e)}).catch(e=>{y(e),i(e)})})},addCustomField(a){const t=$();return new Promise((i,e)=>{v.post(\"/api/v1/custom-fields\",a).then(s=>{let m=M({},s.data.data);m.options&&(m.options=m.options.map(p=>({name:p||\"\"}))),this.customFields.push(m),t.showNotification({type:\"success\",message:o.t(\"settings.custom_fields.added_message\")}),i(s)}).catch(s=>{y(s),e(s)})})},updateCustomField(a){const t=$();return new Promise((i,e)=>{v.put(`/api/v1/custom-fields/${a.id}`,a).then(s=>{let m=M({},s.data.data);m.options&&(m.options=m.options.map(k=>({name:k||\"\"})));let p=this.customFields.findIndex(k=>k.id===m.id);this.customFields[p]&&(this.customFields[p]=m),t.showNotification({type:\"success\",message:o.t(\"settings.custom_fields.updated_message\")}),i(s)}).catch(s=>{y(s),e(s)})})},deleteCustomFields(a){const t=$();return new Promise((i,e)=>{v.delete(`/api/v1/custom-fields/${a}`).then(s=>{let m=this.customFields.findIndex(p=>p.id===a);this.customFields.splice(m,1),s.data.error?t.showNotification({type:\"error\",message:o.t(\"settings.custom_fields.already_in_use\")}):t.showNotification({type:\"success\",message:o.t(\"settings.custom_fields.deleted_message\")}),i(s)}).catch(s=>{y(s),e(s)})})}}})()},fS={key:1,class:\"relative\"},gS={class:\"absolute bottom-0 right-0 z-10\"},vS={class:\"flex p-2\"},yS={class:\"mb-1 ml-2 text-xs font-semibold text-gray-500 uppercase\"},hS=[\"onClick\"],bS={class:\"flex pl-1\"},kS={props:{contentLoading:{type:Boolean,default:!1},modelValue:{type:String,default:\"\"},fields:{type:Array,default:null}},emits:[\"update:modelValue\"],setup(n,{emit:r}){const o=n,a=pS();let t=K([]),i=K([]),e=K([]),s=K([]),m=K([]);fe(()=>o.fields,g=>{o.fields&&o.fields.length>0&&z()}),fe(()=>a.customFields,g=>{i.value=g?g.filter(h=>h.model_type===\"Invoice\"):[],m.value=g?g.filter(h=>h.model_type===\"Customer\"):[],s.value=g?g.filter(h=>h.model_type===\"Payment\"):[],e.value=g.filter(h=>h.model_type===\"Estimate\"),z()}),Pe(()=>{k()});const p=A({get:()=>o.modelValue,set:g=>{r(\"update:modelValue\",g)}});async function k(){await a.fetchCustomFields()}async function z(){t.value=[],o.fields&&o.fields.length>0&&(o.fields.find(g=>g==\"shipping\")&&t.value.push({label:\"Shipping Address\",fields:[{label:\"Address name\",value:\"SHIPPING_ADDRESS_NAME\"},{label:\"Country\",value:\"SHIPPING_COUNTRY\"},{label:\"State\",value:\"SHIPPING_STATE\"},{label:\"City\",value:\"SHIPPING_CITY\"},{label:\"Address Street 1\",value:\"SHIPPING_ADDRESS_STREET_1\"},{label:\"Address Street 2\",value:\"SHIPPING_ADDRESS_STREET_2\"},{label:\"Phone\",value:\"SHIPPING_PHONE\"},{label:\"Zip Code\",value:\"SHIPPING_ZIP_CODE\"}]}),o.fields.find(g=>g==\"billing\")&&t.value.push({label:\"Billing Address\",fields:[{label:\"Address name\",value:\"BILLING_ADDRESS_NAME\"},{label:\"Country\",value:\"BILLING_COUNTRY\"},{label:\"State\",value:\"BILLING_STATE\"},{label:\"City\",value:\"BILLING_CITY\"},{label:\"Address Street 1\",value:\"BILLING_ADDRESS_STREET_1\"},{label:\"Address Street 2\",value:\"BILLING_ADDRESS_STREET_2\"},{label:\"Phone\",value:\"BILLING_PHONE\"},{label:\"Zip Code\",value:\"BILLING_ZIP_CODE\"}]}),o.fields.find(g=>g==\"customer\")&&t.value.push({label:\"Customer\",fields:[{label:\"Display Name\",value:\"CONTACT_DISPLAY_NAME\"},{label:\"Contact Name\",value:\"PRIMARY_CONTACT_NAME\"},{label:\"Email\",value:\"CONTACT_EMAIL\"},{label:\"Phone\",value:\"CONTACT_PHONE\"},{label:\"Website\",value:\"CONTACT_WEBSITE\"},...m.value.map(g=>({label:g.label,value:g.slug}))]}),o.fields.find(g=>g==\"invoice\")&&t.value.push({label:\"Invoice\",fields:[{label:\"Date\",value:\"INVOICE_DATE\"},{label:\"Due Date\",value:\"INVOICE_DUE_DATE\"},{label:\"Number\",value:\"INVOICE_NUMBER\"},{label:\"Ref Number\",value:\"INVOICE_REF_NUMBER\"},...i.value.map(g=>({label:g.label,value:g.slug}))]}),o.fields.find(g=>g==\"estimate\")&&t.value.push({label:\"Estimate\",fields:[{label:\"Date\",value:\"ESTIMATE_DATE\"},{label:\"Expiry Date\",value:\"ESTIMATE_EXPIRY_DATE\"},{label:\"Number\",value:\"ESTIMATE_NUMBER\"},{label:\"Ref Number\",value:\"ESTIMATE_REF_NUMBER\"},...e.value.map(g=>({label:g.label,value:g.slug}))]}),o.fields.find(g=>g==\"payment\")&&t.value.push({label:\"Payment\",fields:[{label:\"Date\",value:\"PAYMENT_DATE\"},{label:\"Number\",value:\"PAYMENT_NUMBER\"},{label:\"Mode\",value:\"PAYMENT_MODE\"},{label:\"Amount\",value:\"PAYMENT_AMOUNT\"},...s.value.map(g=>({label:g.label,value:g.slug}))]}),o.fields.find(g=>g==\"company\")&&t.value.push({label:\"Company\",fields:[{label:\"Company Name\",value:\"COMPANY_NAME\"},{label:\"Country\",value:\"COMPANY_COUNTRY\"},{label:\"State\",value:\"COMPANY_STATE\"},{label:\"City\",value:\"COMPANY_CITY\"},{label:\"Address Street 1\",value:\"COMPANY_ADDRESS_STREET_1\"},{label:\"Address Street 2\",value:\"COMPANY_ADDRESS_STREET_2\"},{label:\"Phone\",value:\"COMPANY_PHONE\"},{label:\"Zip Code\",value:\"COMPANY_ZIP_CODE\"}]}))}return z(),(g,h)=>{const D=C(\"BaseContentPlaceholdersBox\"),R=C(\"BaseContentPlaceholders\"),E=C(\"BaseIcon\"),x=C(\"BaseButton\"),U=C(\"BaseDropdown\"),L=C(\"BaseEditor\");return n.contentLoading?(l(),T(R,{key:0},{default:f(()=>[u(D,{rounded:!0,class:\"w-full\",style:{height:\"200px\"}})]),_:1})):(l(),_(\"div\",fS,[c(\"div\",gS,[u(U,{\"close-on-select\":!0,\"max-height\":\"220\",position:\"top-end\",\"width-class\":\"w-92\",class:\"mb-2\"},{activator:f(()=>[u(x,{type:\"button\",variant:\"primary-outline\",class:\"mr-4\"},{left:f(Y=>[u(E,{name:\"PlusSmIcon\",class:N(Y.class)},null,8,[\"class\"])]),default:f(()=>[B(w(g.$t(\"settings.customization.insert_fields\"))+\" \",1)]),_:1})]),default:f(()=>[c(\"div\",vS,[(l(!0),_(X,null,ae(d(t),(Y,me)=>(l(),_(\"ul\",{key:me,class:\"list-none\"},[c(\"li\",yS,w(Y.label),1),(l(!0),_(X,null,ae(Y.fields,(Z,I)=>(l(),_(\"li\",{key:I,class:\"w-48 text-sm font-normal cursor-pointer hover:bg-gray-100 rounded ml-1 py-0.5\",onClick:b=>p.value+=`{${Z.value}}`},[c(\"div\",bS,[u(E,{name:\"ChevronDoubleRightIcon\",class:\"h-3 mt-1 mr-2 text-gray-400\"}),B(\" \"+w(Z.label),1)])],8,hS))),128))]))),128))])]),_:1})]),u(L,{modelValue:d(p),\"onUpdate:modelValue\":h[0]||(h[0]=Y=>J(p)?p.value=Y:null)},null,8,[\"modelValue\"])]))}}};var wS=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:kS});const zS={props:{tag:{type:String,default:\"button\"}},setup(n,{slots:r,attrs:o,emit:a}){return()=>Lt(`${n.tag}`,o,r)}};var xS=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:zS});const PS={key:0,class:\"text-sm font-bold leading-5 text-black non-italic space-y-1\"},SS={key:0},jS={key:1},AS={key:2},DS={key:3},CS={key:4},NS={key:5},ES={props:{address:{type:Object,required:!0}},setup(n){return(r,o)=>{var a,t,i,e,s,m,p,k,z,g,h,D,R,E;return n.address?(l(),_(\"div\",PS,[((a=n.address)==null?void 0:a.address_street_1)?(l(),_(\"p\",SS,w((t=n.address)==null?void 0:t.address_street_1)+\",\",1)):P(\"\",!0),((i=n.address)==null?void 0:i.address_street_2)?(l(),_(\"p\",jS,w((e=n.address)==null?void 0:e.address_street_2)+\",\",1)):P(\"\",!0),((s=n.address)==null?void 0:s.city)?(l(),_(\"p\",AS,w((m=n.address)==null?void 0:m.city)+\",\",1)):P(\"\",!0),((p=n.address)==null?void 0:p.state)?(l(),_(\"p\",DS,w((k=n.address)==null?void 0:k.state)+\",\",1)):P(\"\",!0),((g=(z=n.address)==null?void 0:z.country)==null?void 0:g.name)?(l(),_(\"p\",CS,w((D=(h=n.address)==null?void 0:h.country)==null?void 0:D.name)+\",\",1)):P(\"\",!0),((R=n.address)==null?void 0:R.zip)?(l(),_(\"p\",NS,w((E=n.address)==null?void 0:E.zip)+\".\",1)):P(\"\",!0)])):P(\"\",!0)}}};var IS=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:ES}),Me={name:null,phone:null,address_street_1:null,address_street_2:null,city:null,state:null,country_id:null,zip:null,type:null};function xt(){return{name:\"\",contact_name:\"\",email:\"\",phone:null,password:\"\",confirm_password:\"\",currency_id:null,website:null,billing:M({},Me),shipping:M({},Me),customFields:[],fields:[],enable_portal:!1}}const ke=(n=!1)=>{const r=n?window.pinia.defineStore:Q,{global:o}=window.i18n;return r({id:\"customer\",state:()=>({customers:[],totalCustomers:0,selectAllField:!1,selectedCustomers:[],selectedViewCustomer:{},isFetchingInitialSettings:!1,isFetchingViewData:!1,currentCustomer:M({},xt()),editCustomer:null}),getters:{isEdit:a=>!!a.currentCustomer.id},actions:{resetCurrentCustomer(){this.currentCustomer=M({},xt())},copyAddress(){this.currentCustomer.shipping=W(M({},this.currentCustomer.billing),{type:\"shipping\"})},fetchCustomerInitialSettings(a){const t=ge(),i=Te(),e=_e();this.isFetchingInitialSettings=!0;let s=[];a?s=[this.fetchCustomer(t.params.id)]:this.currentCustomer.currency_id=e.selectedCompanyCurrency.id,Promise.all([i.fetchCurrencies(),i.fetchCountries(),...s]).then(async([m,p,k])=>{this.isFetchingInitialSettings=!1}).catch(m=>{y(m)})},fetchCustomers(a){return new Promise((t,i)=>{v.get(\"/api/v1/customers\",{params:a}).then(e=>{this.customers=e.data.data,this.totalCustomers=e.data.meta.customer_total_count,t(e)}).catch(e=>{y(e),i(e)})})},fetchViewCustomer(a){return new Promise((t,i)=>{this.isFetchingViewData=!0,v.get(`/api/v1/customers/${a.id}/stats`,{params:a}).then(e=>{this.selectedViewCustomer={},Object.assign(this.selectedViewCustomer,e.data.data),this.setAddressStub(e.data.data),this.isFetchingViewData=!1,t(e)}).catch(e=>{this.isFetchingViewData=!1,y(e),i(e)})})},fetchCustomer(a){return new Promise((t,i)=>{v.get(`/api/v1/customers/${a}`).then(e=>{Object.assign(this.currentCustomer,e.data.data),this.setAddressStub(e.data.data),t(e)}).catch(e=>{y(e),i(e)})})},addCustomer(a){return new Promise((t,i)=>{v.post(\"/api/v1/customers\",a).then(e=>{this.customers.push(e.data.data),$().showNotification({type:\"success\",message:o.t(\"customers.created_message\")}),t(e)}).catch(e=>{y(e),i(e)})})},updateCustomer(a){return new Promise((t,i)=>{v.put(`/api/v1/customers/${a.id}`,a).then(e=>{if(e.data){let s=this.customers.findIndex(p=>p.id===e.data.data.id);this.customers[s]=a,$().showNotification({type:\"success\",message:o.t(\"customers.updated_message\")})}t(e)}).catch(e=>{y(e),i(e)})})},deleteCustomer(a){const t=$();return new Promise((i,e)=>{v.post(\"/api/v1/customers/delete\",a).then(s=>{let m=this.customers.findIndex(p=>p.id===a);this.customers.splice(m,1),t.showNotification({type:\"success\",message:o.tc(\"customers.deleted_message\",1)}),i(s)}).catch(s=>{y(s),e(s)})})},deleteMultipleCustomers(){const a=$();return new Promise((t,i)=>{v.post(\"/api/v1/customers/delete\",{ids:this.selectedCustomers}).then(e=>{this.selectedCustomers.forEach(s=>{let m=this.customers.findIndex(p=>p.id===s.id);this.customers.splice(m,1)}),a.showNotification({type:\"success\",message:o.tc(\"customers.deleted_message\",2)}),t(e)}).catch(e=>{y(e),i(e)})})},setSelectAllState(a){this.selectAllField=a},selectCustomer(a){this.selectedCustomers=a,this.selectedCustomers.length===this.customers.length?this.selectAllField=!0:this.selectAllField=!1},selectAllCustomers(){if(this.selectedCustomers.length===this.customers.length)this.selectedCustomers=[],this.selectAllField=!1;else{let a=this.customers.map(t=>t.id);this.selectedCustomers=a,this.selectAllField=!0}},setAddressStub(a){a.billing||(this.currentCustomer.billing=M({},Me)),a.shipping||(this.currentCustomer.shipping=M({},Me))}}})()},je=(n=!1)=>(n?window.pinia.defineStore:Q)({id:\"modal\",state:()=>({active:!1,content:\"\",title:\"\",componentName:\"\",id:\"\",size:\"md\",data:null,refreshData:null,variant:\"\"}),getters:{isEdit(){return!!this.id}},actions:{openModal(o){this.componentName=o.componentName,this.active=!0,o.id&&(this.id=o.id),this.title=o.title,o.content&&(this.content=o.content),o.data&&(this.data=o.data),o.refreshData&&(this.refreshData=o.refreshData),o.variant&&(this.variant=o.variant),o.size&&(this.size=o.size)},resetModalData(){this.content=\"\",this.title=\"\",this.componentName=\"\",this.id=\"\",this.data=null,this.refreshData=null},closeModal(){this.active=!1,setTimeout(()=>{this.resetModalData()},300)}}})(),Fe=(n=!1)=>{const r=n?window.pinia.defineStore:Q,{global:o}=window.i18n;return r({id:\"item\",state:()=>({items:[],totalItems:0,selectAllField:!1,selectedItems:[],itemUnits:[],currentItemUnit:{id:null,name:\"\"},currentItem:{name:\"\",description:\"\",price:0,unit_id:\"\",unit:null,taxes:[],tax_per_item:!1}}),getters:{isItemUnitEdit:a=>!!a.currentItemUnit.id},actions:{resetCurrentItem(){this.currentItem={name:\"\",description:\"\",price:0,unit_id:\"\",unit:null,taxes:[]}},fetchItems(a){return new Promise((t,i)=>{v.get(\"/api/v1/items\",{params:a}).then(e=>{this.items=e.data.data,this.totalItems=e.data.meta.item_total_count,t(e)}).catch(e=>{y(e),i(e)})})},fetchItem(a){return new Promise((t,i)=>{v.get(`/api/v1/items/${a}`).then(e=>{e.data&&Object.assign(this.currentItem,e.data.data),t(e)}).catch(e=>{y(e),i(e)})})},addItem(a){return new Promise((t,i)=>{v.post(\"/api/v1/items\",a).then(e=>{const s=$();this.items.push(e.data.data),s.showNotification({type:\"success\",message:o.t(\"items.created_message\")}),t(e)}).catch(e=>{y(e),i(e)})})},updateItem(a){return new Promise((t,i)=>{v.put(`/api/v1/items/${a.id}`,a).then(e=>{if(e.data){const s=$();let m=this.items.findIndex(p=>p.id===e.data.data.id);this.items[m]=a.item,s.showNotification({type:\"success\",message:o.t(\"items.updated_message\")})}t(e)}).catch(e=>{y(e),i(e)})})},deleteItem(a){const t=$();return new Promise((i,e)=>{v.post(\"/api/v1/items/delete\",a).then(s=>{let m=this.items.findIndex(p=>p.id===a);this.items.splice(m,1),t.showNotification({type:\"success\",message:o.tc(\"items.deleted_message\",1)}),i(s)}).catch(s=>{y(s),e(s)})})},deleteMultipleItems(){const a=$();return new Promise((t,i)=>{v.post(\"/api/v1/items/delete\",{ids:this.selectedItems}).then(e=>{this.selectedItems.forEach(s=>{let m=this.items.findIndex(p=>p.id===s.id);this.items.splice(m,1)}),a.showNotification({type:\"success\",message:o.tc(\"items.deleted_message\",2)}),t(e)}).catch(e=>{y(e),i(e)})})},selectItem(a){this.selectedItems=a,this.selectedItems.length===this.items.length?this.selectAllField=!0:this.selectAllField=!1},selectAllItems(a){if(this.selectedItems.length===this.items.length)this.selectedItems=[],this.selectAllField=!1;else{let t=this.items.map(i=>i.id);this.selectedItems=t,this.selectAllField=!0}},addItemUnit(a){const t=$();return new Promise((i,e)=>{v.post(\"/api/v1/units\",a).then(s=>{this.itemUnits.push(s.data.data),s.data.data&&t.showNotification({type:\"success\",message:o.t(\"settings.customization.items.item_unit_added\")}),s.data.errors&&t.showNotification({type:\"error\",message:err.response.data.errors[0]}),i(s)}).catch(s=>{y(s),e(s)})})},updateItemUnit(a){const t=$();return new Promise((i,e)=>{v.put(`/api/v1/units/${a.id}`,a).then(s=>{let m=this.itemUnits.findIndex(p=>p.id===s.data.data.id);this.itemUnits[m]=a,s.data.data&&t.showNotification({type:\"success\",message:o.t(\"settings.customization.items.item_unit_updated\")}),s.data.errors&&t.showNotification({type:\"error\",message:err.response.data.errors[0]}),i(s)}).catch(s=>{y(s),e(s)})})},fetchItemUnits(a){return new Promise((t,i)=>{v.get(\"/api/v1/units\",{params:a}).then(e=>{this.itemUnits=e.data.data,t(e)}).catch(e=>{y(e),i(e)})})},fetchItemUnit(a){return new Promise((t,i)=>{v.get(`/api/v1/units/${a}`).then(e=>{this.currentItemUnit=e.data.data,t(e)}).catch(e=>{y(e),i(e)})})},deleteItemUnit(a){const t=$();return new Promise((i,e)=>{v.delete(`/api/v1/units/${a}`).then(s=>{if(!s.data.error){let m=this.itemUnits.findIndex(p=>p.id===a);this.itemUnits.splice(m,1)}s.data.success&&t.showNotification({type:\"success\",message:o.t(\"settings.customization.items.deleted_message\")}),i(s)}).catch(s=>{y(s),e(s)})})}}})()},we=(n=!1)=>{const r=n?window.pinia.defineStore:Q,{global:o}=window.i18n;return r({id:\"taxType\",state:()=>({taxTypes:[],currentTaxType:{id:null,name:\"\",percent:0,description:\"\",compound_tax:!1,collective_tax:0}}),getters:{isEdit:a=>!!a.currentTaxType.id},actions:{resetCurrentTaxType(){this.currentTaxType={id:null,name:\"\",percent:0,description:\"\",compound_tax:!1,collective_tax:0}},fetchTaxTypes(a){return new Promise((t,i)=>{v.get(\"/api/v1/tax-types\",{params:a}).then(e=>{this.taxTypes=e.data.data,t(e)}).catch(e=>{y(e),i(e)})})},fetchTaxType(a){return new Promise((t,i)=>{v.get(`/api/v1/tax-types/${a}`).then(e=>{this.currentTaxType=e.data.data,t(e)}).catch(e=>{y(e),i(e)})})},addTaxType(a){const t=$();return new Promise((i,e)=>{v.post(\"/api/v1/tax-types\",a).then(s=>{this.taxTypes.push(s.data.data),t.showNotification({type:\"success\",message:o.t(\"settings.tax_types.created_message\")}),i(s)}).catch(s=>{y(s),e(s)})})},updateTaxType(a){const t=$();return new Promise((i,e)=>{v.put(`/api/v1/tax-types/${a.id}`,a).then(s=>{if(s.data){let m=this.taxTypes.findIndex(p=>p.id===s.data.data.id);this.taxTypes[m]=a.taxTypes,t.showNotification({type:\"success\",message:o.t(\"settings.tax_types.updated_message\")})}i(s)}).catch(s=>{y(s),e(s)})})},fetchSalesTax(a){return new Promise((t,i)=>{v.post(\"/api/m/sales-tax-us/current-tax\",a).then(e=>{if(e.data){let s=this.taxTypes.findIndex(m=>m.name===\"SalesTaxUs\");s>-1&&this.taxTypes.splice(s,1),this.taxTypes.push(W(M({},e.data.data),{tax_type_id:e.data.data.id}))}t(e)}).catch(e=>{y(e),i(e)})})},deleteTaxType(a){return new Promise((t,i)=>{v.delete(`/api/v1/tax-types/${a}`).then(e=>{if(e.data.success){let s=this.taxTypes.findIndex(p=>p.id===a);this.taxTypes.splice(s,1),$().showNotification({type:\"success\",message:o.t(\"settings.tax_types.deleted_message\")})}t(e)}).catch(e=>{y(e),i(e)})})}}})()};var We={estimate_id:null,item_id:null,name:\"\",title:\"\",description:null,quantity:1,price:0,discount_type:\"fixed\",discount_val:0,discount:0,total:0,sub_total:0,totalTax:0,totalSimpleTax:0,totalCompoundTax:0,tax:0,taxes:[]},ie={name:\"\",tax_type_id:0,type:\"GENERAL\",amount:null,percent:null,compound_tax:!1};function Pt(){return{id:null,customer:null,template_name:\"\",tax_per_item:null,sales_tax_type:null,sales_tax_address_type:null,discount_per_item:null,estimate_date:\"\",expiry_date:\"\",estimate_number:\"\",customer_id:null,sub_total:0,total:0,tax:0,notes:\"\",discount_type:\"fixed\",discount_val:0,reference_number:null,discount:0,items:[W(M({},We),{id:G.raw(),taxes:[W(M({},ie),{id:G.raw()})]})],taxes:[],customFields:[],fields:[],selectedNote:null,selectedCurrency:\"\"}}const He=(n=!1)=>{const r=n?window.pinia.defineStore:Q,{global:o}=window.i18n;return r({id:\"estimate\",state:()=>({templates:[],estimates:[],selectAllField:!1,selectedEstimates:[],totalEstimateCount:0,isFetchingInitialSettings:!1,showExchangeRate:!1,newEstimate:M({},Pt())}),getters:{getSubTotal(){return this.newEstimate.items.reduce(function(a,t){return a+t.total},0)},getTotalSimpleTax(){return oe.sumBy(this.newEstimate.taxes,function(a){return a.compound_tax?0:a.amount})},getTotalCompoundTax(){return oe.sumBy(this.newEstimate.taxes,function(a){return a.compound_tax?a.amount:0})},getTotalTax(){return this.newEstimate.tax_per_item===\"NO\"||this.newEstimate.tax_per_item===null?this.getTotalSimpleTax+this.getTotalCompoundTax:oe.sumBy(this.newEstimate.items,function(a){return a.tax})},getSubtotalWithDiscount(){return this.getSubTotal-this.newEstimate.discount_val},getTotal(){return this.getSubtotalWithDiscount+this.getTotalTax},isEdit:a=>!!a.newEstimate.id},actions:{resetCurrentEstimate(){this.newEstimate=M({},Pt())},previewEstimate(a){return new Promise((t,i)=>{v.get(`/api/v1/estimates/${a.id}/send/preview`,{params:a}).then(e=>{t(e)}).catch(e=>{y(e),i(e)})})},fetchEstimates(a){return new Promise((t,i)=>{v.get(\"/api/v1/estimates\",{params:a}).then(e=>{this.estimates=e.data.data,this.totalEstimateCount=e.data.meta.estimate_total_count,t(e)}).catch(e=>{y(e),i(e)})})},getNextNumber(a,t=!1){return new Promise((i,e)=>{v.get(\"/api/v1/next-number?key=estimate\",{params:a}).then(s=>{t&&(this.newEstimate.estimate_number=s.data.nextNumber),i(s)}).catch(s=>{y(s),e(s)})})},fetchEstimate(a){return new Promise((t,i)=>{v.get(`/api/v1/estimates/${a}`).then(e=>{Object.assign(this.newEstimate,e.data.data),t(e)}).catch(e=>{console.log(e),y(e),i(e)})})},addSalesTaxUs(){const a=we();let t=M({},ie),i=this.newEstimate.taxes.find(e=>e.name===\"Sales Tax\"&&e.type===\"MODULE\");if(i){for(const e in i)Object.prototype.hasOwnProperty.call(t,e)&&(t[e]=i[e]);t.id=i.tax_type_id,console.log(t,\"salesTax\"),a.taxTypes.push(t),console.log(a.taxTypes)}},sendEstimate(a){const t=$();return new Promise((i,e)=>{v.post(`/api/v1/estimates/${a.id}/send`,a).then(s=>{a.is_preview||t.showNotification({type:\"success\",message:o.t(\"estimates.send_estimate_successfully\")}),i(s)}).catch(s=>{y(s),e(s)})})},addEstimate(a){return new Promise((t,i)=>{v.post(\"/api/v1/estimates\",a).then(e=>{this.estimates=[...this.estimates,e.data.estimate],$().showNotification({type:\"success\",message:o.t(\"estimates.created_message\")}),t(e)}).catch(e=>{y(e),i(e)})})},deleteEstimate(a){const t=$();return new Promise((i,e)=>{v.post(\"/api/v1/estimates/delete\",a).then(s=>{let m=this.estimates.findIndex(p=>p.id===a);this.estimates.splice(m,1),t.showNotification({type:\"success\",message:o.t(\"estimates.deleted_message\",1)}),i(s)}).catch(s=>{y(s),e(s)})})},deleteMultipleEstimates(a){const t=$();return new Promise((i,e)=>{v.post(\"/api/v1/estimates/delete\",{ids:this.selectedEstimates}).then(s=>{this.selectedEstimates.forEach(m=>{let p=this.estimates.findIndex(k=>k.id===m.id);this.estimates.splice(p,1)}),this.selectedEstimates=[],t.showNotification({type:\"success\",message:o.tc(\"estimates.deleted_message\",2)}),i(s)}).catch(s=>{y(s),e(s)})})},updateEstimate(a){return new Promise((t,i)=>{v.put(`/api/v1/estimates/${a.id}`,a).then(e=>{let s=this.estimates.findIndex(p=>p.id===e.data.data.id);this.estimates[s]=e.data.data,$().showNotification({type:\"success\",message:o.t(\"estimates.updated_message\")}),t(e)}).catch(e=>{y(e),i(e)})})},markAsAccepted(a){return new Promise((t,i)=>{v.post(`/api/v1/estimates/${a.id}/status`,a).then(e=>{let s=this.estimates.findIndex(m=>m.id===a.id);this.estimates[s]&&(this.estimates[s].status=\"ACCEPTED\",$().showNotification({type:\"success\",message:o.t(\"estimates.marked_as_accepted_message\")})),t(e)}).catch(e=>{y(e),i(e)})})},markAsRejected(a){return new Promise((t,i)=>{v.post(`/api/v1/estimates/${a.id}/status`,a).then(e=>{$().showNotification({type:\"success\",message:o.t(\"estimates.marked_as_rejected_message\")}),t(e)}).catch(e=>{y(e),i(e)})})},markAsSent(a){return new Promise((t,i)=>{v.post(`/api/v1/estimates/${a.id}/status`,a).then(e=>{let s=this.estimates.findIndex(m=>m.id===a.id);this.estimates[s]&&(this.estimates[s].status=\"SENT\",$().showNotification({type:\"success\",message:o.t(\"estimates.mark_as_sent_successfully\")})),t(e)}).catch(e=>{y(e),i(e)})})},convertToInvoice(a){const t=$();return new Promise((i,e)=>{v.post(`/api/v1/estimates/${a}/convert-to-invoice`).then(s=>{t.showNotification({type:\"success\",message:o.t(\"estimates.conversion_message\")}),i(s)}).catch(s=>{y(s),e(s)})})},searchEstimate(a){return new Promise((t,i)=>{v.get(`/api/v1/estimates?${a}`).then(e=>{t(e)}).catch(e=>{y(e),i(e)})})},selectEstimate(a){this.selectedEstimates=a,this.selectedEstimates.length===this.estimates.length?this.selectAllField=!0:this.selectAllField=!1},selectAllEstimates(){if(this.selectedEstimates.length===this.estimates.length)this.selectedEstimates=[],this.selectAllField=!1;else{let a=this.estimates.map(t=>t.id);this.selectedEstimates=a,this.selectAllField=!0}},selectCustomer(a){return new Promise((t,i)=>{v.get(`/api/v1/customers/${a}`).then(e=>{this.newEstimate.customer=e.data.data,this.newEstimate.customer_id=e.data.data.id,t(e)}).catch(e=>{y(e),i(e)})})},fetchEstimateTemplates(a){return new Promise((t,i)=>{v.get(\"/api/v1/estimates/templates\",{params:a}).then(e=>{this.templates=e.data.estimateTemplates,t(e)}).catch(e=>{y(e),i(e)})})},setTemplate(a){this.newEstimate.template_name=a},resetSelectedCustomer(){this.newEstimate.customer=null,this.newEstimate.customer_id=\"\"},selectNote(a){this.newEstimate.selectedNote=null,this.newEstimate.selectedNote=a},resetSelectedNote(){this.newEstimate.selectedNote=null},addItem(){this.newEstimate.items.push(W(M({},We),{id:G.raw(),taxes:[W(M({},ie),{id:G.raw()})]}))},updateItem(a){Object.assign(this.newEstimate.items[a.index],M({},a))},removeItem(a){this.newEstimate.items.splice(a,1)},deselectItem(a){this.newEstimate.items[a]=W(M({},We),{id:G.raw(),taxes:[W(M({},ie),{id:G.raw()})]})},async fetchEstimateInitialSettings(a){const t=_e(),i=ke(),e=Fe(),s=we(),m=ge(),p=ve();if(this.isFetchingInitialSettings=!0,this.newEstimate.selectedCurrency=t.selectedCompanyCurrency,m.query.customer){let z=await i.fetchCustomer(m.query.customer);this.newEstimate.customer=z.data.data,this.newEstimate.customer_id=z.data.data.id}let k=[];a?k=[this.fetchEstimate(m.params.id)]:(this.newEstimate.tax_per_item=t.selectedCompanySettings.tax_per_item,this.newEstimate.sales_tax_type=t.selectedCompanySettings.sales_tax_type,this.newEstimate.sales_tax_address_type=t.selectedCompanySettings.sales_tax_address_type,this.newEstimate.discount_per_item=t.selectedCompanySettings.discount_per_item,this.newEstimate.estimate_date=be().format(\"YYYY-MM-DD\"),t.selectedCompanySettings.estimate_set_expiry_date_automatically===\"YES\"&&(this.newEstimate.expiry_date=be().add(t.selectedCompanySettings.estimate_expiry_date_days,\"days\").format(\"YYYY-MM-DD\"))),Promise.all([e.fetchItems({filter:{},orderByField:\"\",orderBy:\"\"}),this.resetSelectedNote(),this.fetchEstimateTemplates(),this.getNextNumber(),s.fetchTaxTypes({limit:\"all\"}),...k]).then(async([z,g,h,D,R,E,x])=>{a||(D.data&&(this.newEstimate.estimate_number=D.data.nextNumber),this.setTemplate(this.templates[0].name),this.newEstimate.template_name=p.currentUserSettings.default_estimate_template?p.currentUserSettings.default_estimate_template:this.newEstimate.template_name),a&&this.addSalesTaxUs(),this.isFetchingInitialSettings=!1}).catch(z=>{y(z),this.isFetchingInitialSettings=!1})}}})()};var Ye={invoice_id:null,item_id:null,name:\"\",title:\"\",description:null,quantity:1,price:0,discount_type:\"fixed\",discount_val:0,discount:0,total:0,totalTax:0,totalSimpleTax:0,totalCompoundTax:0,tax:0,taxes:[]};function St(){return{id:null,invoice_number:\"\",customer:null,customer_id:null,template_name:null,invoice_date:\"\",due_date:\"\",notes:\"\",discount:0,discount_type:\"fixed\",discount_val:0,reference_number:null,tax:0,sub_total:0,total:0,tax_per_item:null,sales_tax_type:null,sales_tax_address_type:null,discount_per_item:null,taxes:[],items:[W(M({},Ye),{id:G.raw(),taxes:[W(M({},ie),{id:G.raw()})]})],customFields:[],fields:[],selectedNote:null,selectedCurrency:\"\"}}const $e=(n=!1)=>{const r=n?window.pinia.defineStore:Q,{global:o}=window.i18n,a=$();return r({id:\"invoice\",state:()=>({templates:[],invoices:[],selectedInvoices:[],selectAllField:!1,invoiceTotalCount:0,showExchangeRate:!1,isFetchingInitialSettings:!1,isFetchingInvoice:!1,newInvoice:M({},St())}),getters:{getInvoice:t=>i=>{let e=parseInt(i);return t.invoices.find(s=>s.id===e)},getSubTotal(){return this.newInvoice.items.reduce(function(t,i){return t+i.total},0)},getTotalSimpleTax(){return oe.sumBy(this.newInvoice.taxes,function(t){return t.compound_tax?0:t.amount})},getTotalCompoundTax(){return oe.sumBy(this.newInvoice.taxes,function(t){return t.compound_tax?t.amount:0})},getTotalTax(){return this.newInvoice.tax_per_item===\"NO\"||this.newInvoice.tax_per_item===null?this.getTotalSimpleTax+this.getTotalCompoundTax:oe.sumBy(this.newInvoice.items,function(t){return t.tax})},getSubtotalWithDiscount(){return this.getSubTotal-this.newInvoice.discount_val},getTotal(){return this.getSubtotalWithDiscount+this.getTotalTax},isEdit:t=>!!t.newInvoice.id},actions:{resetCurrentInvoice(){this.newInvoice=M({},St())},previewInvoice(t){return new Promise((i,e)=>{v.get(`/api/v1/invoices/${t.id}/send/preview`,{params:t}).then(s=>{i(s)}).catch(s=>{y(s),e(s)})})},fetchInvoices(t){return new Promise((i,e)=>{v.get(\"/api/v1/invoices\",{params:t}).then(s=>{this.invoices=s.data.data,this.invoiceTotalCount=s.data.meta.invoice_total_count,i(s)}).catch(s=>{y(s),e(s)})})},fetchInvoice(t){return new Promise((i,e)=>{v.get(`/api/v1/invoices/${t}`).then(s=>{Object.assign(this.newInvoice,s.data.data),this.newInvoice.customer=s.data.data.customer,i(s)}).catch(s=>{y(s),e(s)})})},addSalesTaxUs(){const t=we();let i=M({},ie),e=this.newInvoice.taxes.find(s=>s.name===\"Sales Tax\"&&s.type===\"MODULE\");if(e){for(const s in e)Object.prototype.hasOwnProperty.call(i,s)&&(i[s]=e[s]);i.id=e.tax_type_id,t.taxTypes.push(i)}},sendInvoice(t){return new Promise((i,e)=>{v.post(`/api/v1/invoices/${t.id}/send`,t).then(s=>{a.showNotification({type:\"success\",message:o.t(\"invoices.invoice_sent_successfully\")}),i(s)}).catch(s=>{y(s),e(s)})})},addInvoice(t){return new Promise((i,e)=>{v.post(\"/api/v1/invoices\",t).then(s=>{this.invoices=[...this.invoices,s.data.invoice],a.showNotification({type:\"success\",message:o.t(\"invoices.created_message\")}),i(s)}).catch(s=>{y(s),e(s)})})},deleteInvoice(t){return new Promise((i,e)=>{v.post(\"/api/v1/invoices/delete\",t).then(s=>{let m=this.invoices.findIndex(p=>p.id===t);this.invoices.splice(m,1),a.showNotification({type:\"success\",message:o.t(\"invoices.deleted_message\",1)}),i(s)}).catch(s=>{y(s),e(s)})})},deleteMultipleInvoices(t){return new Promise((i,e)=>{v.post(\"/api/v1/invoices/delete\",{ids:this.selectedInvoices}).then(s=>{this.selectedInvoices.forEach(m=>{let p=this.invoices.findIndex(k=>k.id===m.id);this.invoices.splice(p,1)}),this.selectedInvoices=[],a.showNotification({type:\"success\",message:o.tc(\"invoices.deleted_message\",2)}),i(s)}).catch(s=>{y(s),e(s)})})},updateInvoice(t){return new Promise((i,e)=>{v.put(`/api/v1/invoices/${t.id}`,t).then(s=>{let m=this.invoices.findIndex(p=>p.id===s.data.data.id);this.invoices[m]=s.data.data,a.showNotification({type:\"success\",message:o.t(\"invoices.updated_message\")}),i(s)}).catch(s=>{y(s),e(s)})})},cloneInvoice(t){return new Promise((i,e)=>{v.post(`/api/v1/invoices/${t.id}/clone`,t).then(s=>{a.showNotification({type:\"success\",message:o.t(\"invoices.cloned_successfully\")}),i(s)}).catch(s=>{y(s),e(s)})})},markAsSent(t){return new Promise((i,e)=>{v.post(`/api/v1/invoices/${t.id}/status`,t).then(s=>{let m=this.invoices.findIndex(p=>p.id===t.id);this.invoices[m]&&(this.invoices[m].status=\"SENT\"),a.showNotification({type:\"success\",message:o.t(\"invoices.mark_as_sent_successfully\")}),i(s)}).catch(s=>{y(s),e(s)})})},getNextNumber(t,i=!1){return new Promise((e,s)=>{v.get(\"/api/v1/next-number?key=invoice\",{params:t}).then(m=>{i&&(this.newInvoice.invoice_number=m.data.nextNumber),e(m)}).catch(m=>{y(m),s(m)})})},searchInvoice(t){return new Promise((i,e)=>{v.get(`/api/v1/invoices?${t}`).then(s=>{i(s)}).catch(s=>{y(s),e(s)})})},selectInvoice(t){this.selectedInvoices=t,this.selectedInvoices.length===this.invoices.length?this.selectAllField=!0:this.selectAllField=!1},selectAllInvoices(){if(this.selectedInvoices.length===this.invoices.length)this.selectedInvoices=[],this.selectAllField=!1;else{let t=this.invoices.map(i=>i.id);this.selectedInvoices=t,this.selectAllField=!0}},selectCustomer(t){return new Promise((i,e)=>{v.get(`/api/v1/customers/${t}`).then(s=>{this.newInvoice.customer=s.data.data,this.newInvoice.customer_id=s.data.data.id,i(s)}).catch(s=>{y(s),e(s)})})},fetchInvoiceTemplates(t){return new Promise((i,e)=>{v.get(\"/api/v1/invoices/templates\",{params:t}).then(s=>{this.templates=s.data.invoiceTemplates,i(s)}).catch(s=>{y(s),e(s)})})},selectNote(t){this.newInvoice.selectedNote=null,this.newInvoice.selectedNote=t},setTemplate(t){this.newInvoice.template_name=t},resetSelectedCustomer(){this.newInvoice.customer=null,this.newInvoice.customer_id=null},addItem(){this.newInvoice.items.push(W(M({},Ye),{id:G.raw(),taxes:[W(M({},ie),{id:G.raw()})]}))},updateItem(t){Object.assign(this.newInvoice.items[t.index],M({},t))},removeItem(t){this.newInvoice.items.splice(t,1)},deselectItem(t){this.newInvoice.items[t]=W(M({},Ye),{id:G.raw(),taxes:[W(M({},ie),{id:G.raw()})]})},resetSelectedNote(){this.newInvoice.selectedNote=null},async fetchInvoiceInitialSettings(t){const i=_e(),e=ke(),s=Fe(),m=we(),p=ge(),k=ve();if(this.isFetchingInitialSettings=!0,this.newInvoice.selectedCurrency=i.selectedCompanyCurrency,p.query.customer){let g=await e.fetchCustomer(p.query.customer);this.newInvoice.customer=g.data.data,this.newInvoice.customer_id=g.data.data.id}let z=[];t?z=[this.fetchInvoice(p.params.id)]:(this.newInvoice.tax_per_item=i.selectedCompanySettings.tax_per_item,this.newInvoice.sales_tax_type=i.selectedCompanySettings.sales_tax_type,this.newInvoice.sales_tax_address_type=i.selectedCompanySettings.sales_tax_address_type,this.newInvoice.discount_per_item=i.selectedCompanySettings.discount_per_item,this.newInvoice.invoice_date=be().format(\"YYYY-MM-DD\"),i.selectedCompanySettings.invoice_set_due_date_automatically===\"YES\"&&(this.newInvoice.due_date=be().add(i.selectedCompanySettings.invoice_due_date_days,\"days\").format(\"YYYY-MM-DD\"))),Promise.all([s.fetchItems({filter:{},orderByField:\"\",orderBy:\"\"}),this.resetSelectedNote(),this.fetchInvoiceTemplates(),this.getNextNumber(),m.fetchTaxTypes({limit:\"all\"}),...z]).then(async([g,h,D,R,E,x])=>{t||(R.data&&(this.newInvoice.invoice_number=R.data.nextNumber),D.data&&(this.setTemplate(this.templates[0].name),this.newInvoice.template_name=k.currentUserSettings.default_invoice_template?k.currentUserSettings.default_invoice_template:this.newInvoice.template_name)),t&&this.addSalesTaxUs(),this.isFetchingInitialSettings=!1}).catch(g=>{y(g),reject(g)})}}})()},TS={class:\"relative flex px-4 py-2 rounded-lg bg-opacity-40 bg-gray-300 whitespace-nowrap flex-col mt-1\"},RS=c(\"rect\",{width:\"37\",height:\"37\",rx:\"10\",fill:\"currentColor\"},null,-1),MS=c(\"path\",{d:\"M16 10C15.7348 10 15.4804 10.1054 15.2929 10.2929C15.1054 10.4804 15 10.7348 15 11C15 11.2652 15.1054 11.5196 15.2929 11.7071C15.4804 11.8946 15.7348 12 16 12H18C18.2652 12 18.5196 11.8946 18.7071 11.7071C18.8946 11.5196 19 11.2652 19 11C19 10.7348 18.8946 10.4804 18.7071 10.2929C18.5196 10.1054 18.2652 10 18 10H16Z\",fill:\"white\"},null,-1),FS=c(\"path\",{d:\"M11 13C11 12.4696 11.2107 11.9609 11.5858 11.5858C11.9609 11.2107 12.4696 11 13 11C13 11.7956 13.3161 12.5587 13.8787 13.1213C14.4413 13.6839 15.2044 14 16 14H18C18.7956 14 19.5587 13.6839 20.1213 13.1213C20.6839 12.5587 21 11.7956 21 11C21.5304 11 22.0391 11.2107 22.4142 11.5858C22.7893 11.9609 23 12.4696 23 13V19H18.414L19.707 17.707C19.8892 17.5184 19.99 17.2658 19.9877 17.0036C19.9854 16.7414 19.8802 16.4906 19.6948 16.3052C19.5094 16.1198 19.2586 16.0146 18.9964 16.0123C18.7342 16.01 18.4816 16.1108 18.293 16.293L15.293 19.293C15.1055 19.4805 15.0002 19.7348 15.0002 20C15.0002 20.2652 15.1055 20.5195 15.293 20.707L18.293 23.707C18.4816 23.8892 18.7342 23.99 18.9964 23.9877C19.2586 23.9854 19.5094 23.8802 19.6948 23.6948C19.8802 23.5094 19.9854 23.2586 19.9877 22.9964C19.99 22.7342 19.8892 22.4816 19.707 22.293L18.414 21H23V24C23 24.5304 22.7893 25.0391 22.4142 25.4142C22.0391 25.7893 21.5304 26 21 26H13C12.4696 26 11.9609 25.7893 11.5858 25.4142C11.2107 25.0391 11 24.5304 11 24V13ZM23 19H25C25.2652 19 25.5196 19.1054 25.7071 19.2929C25.8946 19.4804 26 19.7348 26 20C26 20.2652 25.8946 20.5196 25.7071 20.7071C25.5196 20.8946 25.2652 21 25 21H23V19Z\",fill:\"white\"},null,-1),$S=[RS,MS,FS],US={props:{token:{type:String,default:null,required:!0}},setup(n){const r=$(),o=K(\"\"),{t:a}=Se();function t(e){let s;document.selection?(s=document.body.createTextRange(),s.moveToElementText(e),s.select()):window.getSelection&&(s=document.createRange(),s.selectNode(e),window.getSelection().removeAllRanges(),window.getSelection().addRange(s))}function i(){t(o.value),document.execCommand(\"copy\"),r.showNotification({type:\"success\",message:a(\"general.copied_url_clipboard\")})}return(e,s)=>{const m=et(\"tooltip\");return l(),_(\"div\",TS,[c(\"span\",{ref:(p,k)=>{k.publicUrl=p,o.value=p},class:\"pr-10 text-sm font-medium text-black truncate select-all select-color\"},w(n.token),513),xe((l(),_(\"svg\",{class:\"absolute right-0 h-full inset-y-0 cursor-pointer focus:outline-none text-primary-500\",width:\"37\",viewBox:\"0 0 37 37\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",onClick:i},$S,512)),[[m,{content:\"Copy to Clipboard\"}]])])}}};var Ge={recurring_invoice_id:null,item_id:null,name:\"\",title:\"\",sales_tax_type:null,sales_tax_address_type:null,description:null,quantity:1,price:0,discount_type:\"fixed\",discount_val:0,discount:0,total:0,totalTax:0,totalSimpleTax:0,totalCompoundTax:0,tax:0,taxes:[]};function jt(){return{currency:null,customer:null,customer_id:null,invoice_template_id:1,sub_total:0,total:0,tax:0,notes:\"\",discount_type:\"fixed\",discount_val:0,discount:0,starts_at:null,send_automatically:!0,status:\"ACTIVE\",company_id:null,next_invoice_at:null,next_invoice_date:null,frequency:\"0 0 * * 0\",limit_count:null,limit_by:\"NONE\",limit_date:null,exchange_rate:null,tax_per_item:null,discount_per_item:null,template_name:null,items:[W(M({},Ge),{id:G.raw(),taxes:[W(M({},ie),{id:G.raw()})]})],taxes:[],customFields:[],fields:[],invoices:[],selectedNote:null,selectedFrequency:{label:\"Every Week\",value:\"0 0 * * 0\"},selectedInvoice:null}}const At=(n=!1)=>{const r=n?window.pinia.defineStore:Q,{global:o}=window.i18n;return r({id:\"recurring-invoice\",state:()=>({templates:[],recurringInvoices:[],selectedRecurringInvoices:[],totalRecurringInvoices:0,isFetchingInitialSettings:!1,isFetchingViewData:!1,showExchangeRate:!1,selectAllField:!1,newRecurringInvoice:M({},jt()),frequencies:[{label:\"Every Minute\",value:\"* * * * *\"},{label:\"Every 30 Minute\",value:\"*/30 * * * *\"},{label:\"Every Hour\",value:\"0 * * * *\"},{label:\"Every 2 Hour\",value:\"0 */2 * * *\"},{label:\"Every day at midnight \",value:\"0 0 * * *\"},{label:\"Every Week\",value:\"0 0 * * 0\"},{label:\"Every 15 days at midnight\",value:\"0 5 */15 * *\"},{label:\"On the first day of every month at 00:00\",value:\"0 0 1 * *\"},{label:\"Every 6 Month\",value:\"0 0 1 */6 *\"},{label:\"Every year on the first day of january at 00:00\",value:\"0 0 1 1 *\"},{label:\"Custom\",value:\"CUSTOM\"}]}),getters:{getSubTotal(){var a;return((a=this.newRecurringInvoice)==null?void 0:a.items.reduce(function(t,i){return t+i.total},0))||0},getTotalSimpleTax(){return oe.sumBy(this.newRecurringInvoice.taxes,function(a){return a.compound_tax?0:a.amount})},getTotalCompoundTax(){return oe.sumBy(this.newRecurringInvoice.taxes,function(a){return a.compound_tax?a.amount:0})},getTotalTax(){return this.newRecurringInvoice.tax_per_item===\"NO\"||this.newRecurringInvoice.tax_per_item===null?this.getTotalSimpleTax+this.getTotalCompoundTax:oe.sumBy(this.newRecurringInvoice.items,function(a){return a.tax})},getSubtotalWithDiscount(){return this.getSubTotal-this.newRecurringInvoice.discount_val},getTotal(){return this.getSubtotalWithDiscount+this.getTotalTax}},actions:{resetCurrentRecurringInvoice(){this.newRecurringInvoice=M({},jt())},deselectItem(a){this.newRecurringInvoice.items[a]=W(M({},Ge),{id:G.raw(),taxes:[W(M({},ie),{id:G.raw()})]})},addRecurringInvoice(a){return new Promise((t,i)=>{v.post(\"/api/v1/recurring-invoices\",a).then(e=>{this.recurringInvoices=[...this.recurringInvoices,e.data.recurringInvoice],$().showNotification({type:\"success\",message:o.t(\"recurring_invoices.created_message\")}),t(e)}).catch(e=>{y(e),i(e)})})},fetchRecurringInvoice(a){return new Promise((t,i)=>{this.isFetchingViewData=!0,v.get(`/api/v1/recurring-invoices/${a}`).then(e=>{Object.assign(this.newRecurringInvoice,e.data.data),this.newRecurringInvoice.invoices=e.data.data.invoices||[],this.setSelectedFrequency(),this.isFetchingViewData=!1,t(e)}).catch(e=>{this.isFetchingViewData=!1,y(e),i(e)})})},updateRecurringInvoice(a){return new Promise((t,i)=>{v.put(`/api/v1/recurring-invoices/${a.id}`,a).then(e=>{t(e),$().showNotification({type:\"success\",message:o.t(\"recurring_invoices.updated_message\")});let m=this.recurringInvoices.findIndex(p=>p.id===e.data.data.id);this.recurringInvoices[m]=e.data.data}).catch(e=>{y(e),i(e)})})},selectCustomer(a){return new Promise((t,i)=>{v.get(`/api/v1/customers/${a}`).then(e=>{this.newRecurringInvoice.customer=e.data.data,this.newRecurringInvoice.customer_id=e.data.data.id,t(e)}).catch(e=>{y(e),i(e)})})},searchRecurringInvoice(a){return new Promise((t,i)=>{v.get(`/api/v1/recurring-invoices?${a}`).then(e=>{t(e)}).catch(e=>{y(e),i(e)})})},fetchRecurringInvoices(a){return new Promise((t,i)=>{v.get(\"/api/v1/recurring-invoices\",{params:a}).then(e=>{this.recurringInvoices=e.data.data,this.totalRecurringInvoices=e.data.meta.recurring_invoice_total_count,t(e)}).catch(e=>{y(e),i(e)})})},deleteRecurringInvoice(a){return new Promise((t,i)=>{v.post(\"/api/v1/recurring-invoices/delete\",a).then(e=>{let s=this.recurringInvoices.findIndex(m=>m.id===a);this.recurringInvoices.splice(s,1),t(e)}).catch(e=>{y(e),i(e)})})},deleteMultipleRecurringInvoices(a){return new Promise((t,i)=>{let e=this.selectedRecurringInvoices;a&&(e=[a]),v.post(\"/api/v1/recurring-invoices/delete\",{ids:e}).then(s=>{this.selectedRecurringInvoices.forEach(m=>{let p=this.recurringInvoices.findIndex(k=>k.id===m.id);this.recurringInvoices.splice(p,1)}),this.selectedRecurringInvoices=[],t(s)}).catch(s=>{y(s),i(s)})})},resetSelectedCustomer(){this.newRecurringInvoice.customer=null,this.newRecurringInvoice.customer_id=\"\"},selectRecurringInvoice(a){this.selectedRecurringInvoices=a,this.selectedRecurringInvoices.length===this.recurringInvoices.length?this.selectAllField=!0:this.selectAllField=!1},selectAllRecurringInvoices(){if(this.selectedRecurringInvoices.length===this.recurringInvoices.length)this.selectedRecurringInvoices=[],this.selectAllField=!1;else{let a=this.recurringInvoices.map(t=>t.id);this.selectedRecurringInvoices=a,this.selectAllField=!0}},addItem(){this.newRecurringInvoice.items.push(W(M({},Ge),{id:G.raw(),taxes:[W(M({},ie),{id:G.raw()})]}))},removeItem(a){this.newRecurringInvoice.items.splice(a,1)},updateItem(a){Object.assign(this.newRecurringInvoice.items[a.index],M({},a))},async fetchRecurringInvoiceInitialSettings(a){const t=_e(),i=ke(),e=Fe(),s=$e(),m=we(),p=ge();if(this.isFetchingInitialSettings=!0,this.newRecurringInvoice.currency=t.selectedCompanyCurrency,p.query.customer){let z=await i.fetchCustomer(p.query.customer);this.newRecurringInvoice.customer=z.data.data,this.selectCustomer(z.data.data.id)}let k=[];a?k=[this.fetchRecurringInvoice(p.params.id)]:(this.newRecurringInvoice.tax_per_item=t.selectedCompanySettings.tax_per_item,this.newRecurringInvoice.discount_per_item=t.selectedCompanySettings.discount_per_item,this.newRecurringInvoice.sales_tax_type=t.selectedCompanySettings.sales_tax_type,this.newRecurringInvoice.sales_tax_address_type=t.selectedCompanySettings.sales_tax_address_type,this.newRecurringInvoice.starts_at=be().format(\"YYYY-MM-DD\"),this.newRecurringInvoice.next_invoice_date=be().add(7,\"days\").format(\"YYYY-MM-DD\")),Promise.all([e.fetchItems({filter:{},orderByField:\"\",orderBy:\"\"}),this.resetSelectedNote(),s.fetchInvoiceTemplates(),m.fetchTaxTypes({limit:\"all\"}),...k]).then(async([z,g,h,D,R])=>{var E,x;h.data&&(this.templates=s.templates),a||this.setTemplate(this.templates[0].name),a&&(R==null?void 0:R.data)&&(M({},R.data.data),this.setTemplate((x=(E=R==null?void 0:R.data)==null?void 0:E.data)==null?void 0:x.template_name)),a&&this.addSalesTaxUs(),this.isFetchingInitialSettings=!1}).catch(z=>{console.log(z),y(z)})},addSalesTaxUs(){const a=we();let t=M({},ie),i=this.newRecurringInvoice.taxes.find(e=>e.name===\"Sales Tax\"&&e.type===\"MODULE\");if(i){for(const e in i)Object.prototype.hasOwnProperty.call(t,e)&&(t[e]=i[e]);t.id=i.tax_type_id,a.taxTypes.push(t)}},setTemplate(a){this.newRecurringInvoice.template_name=a},setSelectedFrequency(){let a=this.frequencies.find(t=>t.value===this.newRecurringInvoice.frequency);a?this.newRecurringInvoice.selectedFrequency=a:this.newRecurringInvoice.selectedFrequency={label:\"Custom\",value:\"CUSTOM\"}},resetSelectedNote(){this.newRecurringInvoice.selectedNote=null},fetchRecurringInvoiceFrequencyDate(a){return new Promise((t,i)=>{v.get(\"/api/v1/recurring-invoice-frequency\",{params:a}).then(e=>{this.newRecurringInvoice.next_invoice_at=e.data.next_invoice_at,t(e)}).catch(e=>{$().showNotification({type:\"error\",message:o.t(\"errors.enter_valid_cron_format\")}),i(e)})})}}})()},VS={class:\"flex justify-between w-full\"},OS=[\"onSubmit\"],LS={class:\"px-6 pb-3\"},qS={class:\"md:col-span-2\"},BS={class:\"text-sm text-gray-500\"},KS={class:\"grid md:grid-cols-12\"},ZS={class:\"flex justify-end col-span-12\"},WS={class:\"z-0 flex justify-end p-4 border-t border-gray-200 border-solid\"},Dt={setup(n){const r=At(),o=je(),a=He(),t=ke(),i=_e(),e=Te(),s=$e(),m=$();let p=K(!1);const{t:k}=Se(),z=ge();K(!1);const g=K(!1);let h=K(!1),D=K(!1);const R=A(()=>o.active&&o.componentName===\"CustomerModal\"),E=A(()=>({name:{required:te.withMessage(k(\"validation.required\"),tt),minLength:te.withMessage(k(\"validation.name_min_length\",{count:3}),Ue(3))},currency_id:{required:te.withMessage(k(\"validation.required\"),tt)},password:{required:te.withMessage(k(\"validation.required\"),at(t.currentCustomer.enable_portal==!0&&!t.currentCustomer.password_added)),minLength:te.withMessage(k(\"validation.password_min_length\",{count:8}),Ue(8))},confirm_password:{sameAsPassword:te.withMessage(k(\"validation.password_incorrect\"),qt(t.currentCustomer.password))},email:{required:te.withMessage(k(\"validation.required\"),at(t.currentCustomer.enable_portal==!0)),email:te.withMessage(k(\"validation.email_incorrect\"),Bt)},prefix:{minLength:te.withMessage(k(\"validation.name_min_length\",{count:3}),Ue(3))},website:{url:te.withMessage(k(\"validation.invalid_url\"),Kt)},billing:{address_street_1:{maxLength:te.withMessage(k(\"validation.address_maxlength\",{count:255}),Ce(255))},address_street_2:{maxLength:te.withMessage(k(\"validation.address_maxlength\",{count:255}),Ce(255))}},shipping:{address_street_1:{maxLength:te.withMessage(k(\"validation.address_maxlength\",{count:255}),Ce(255))},address_street_2:{maxLength:te.withMessage(k(\"validation.address_maxlength\",{count:255}),Ce(255))}}})),x=Zt(E,A(()=>t.currentCustomer)),U=A(()=>`${window.location.origin}/${i.selectedCompany.slug}/customer/login`);function L(){t.copyAddress()}async function Y(){t.isEdit||(t.currentCustomer.currency_id=i.selectedCompanyCurrency.id)}async function me(){if(x.value.$touch(),x.value.$invalid&&t.currentCustomer.email===\"\"&&m.showNotification({type:\"error\",message:k(\"settings.notification.please_enter_email\")}),x.value.$invalid)return!0;g.value=!0;let I=M({},t.currentCustomer);try{let b=null;t.isEdit?b=await t.updateCustomer(I):b=await t.addCustomer(I),b.data&&(g.value=!1,(z.name===\"invoices.create\"||z.name===\"invoices.edit\")&&s.selectCustomer(b.data.data.id),(z.name===\"estimates.create\"||z.name===\"estimates.edit\")&&a.selectCustomer(b.data.data.id),(z.name===\"recurring-invoices.create\"||z.name===\"recurring-invoices.edit\")&&r.selectCustomer(b.data.data.id),Z())}catch(b){console.error(b),g.value=!1}}function Z(){o.closeModal(),setTimeout(()=>{t.resetCurrentCustomer(),x.value.$reset()},300)}return(I,b)=>{const ue=C(\"BaseIcon\"),H=C(\"BaseInput\"),q=C(\"BaseInputGroup\"),ze=C(\"BaseMultiselect\"),de=C(\"BaseInputGrid\"),ye=C(\"BaseTab\"),ne=C(\"BaseSwitch\"),he=C(\"BaseTextarea\"),Ae=C(\"BaseButton\"),Nt=C(\"BaseTabGroup\"),Et=C(\"BaseModal\");return l(),T(Et,{show:d(R),onClose:Z,onOpen:Y},{header:f(()=>[c(\"div\",VS,[B(w(d(o).title)+\" \",1),u(ue,{name:\"XIcon\",class:\"h-6 w-6 text-gray-500 cursor-pointer\",onClick:Z})])]),default:f(()=>[c(\"form\",{action:\"\",onSubmit:se(me,[\"prevent\"])},[c(\"div\",LS,[u(Nt,null,{default:f(()=>[u(ye,{title:I.$t(\"customers.basic_info\"),class:\"!mt-2\"},{default:f(()=>[u(de,{layout:\"one-column\"},{default:f(()=>[u(q,{label:I.$t(\"customers.display_name\"),required:\"\",error:d(x).name.$error&&d(x).name.$errors[0].$message},{default:f(()=>[u(H,{modelValue:d(t).currentCustomer.name,\"onUpdate:modelValue\":b[0]||(b[0]=j=>d(t).currentCustomer.name=j),modelModifiers:{trim:!0},type:\"text\",name:\"name\",class:\"mt-1 md:mt-0\",invalid:d(x).name.$error,onInput:b[1]||(b[1]=j=>d(x).name.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"]),u(q,{label:I.$tc(\"settings.currencies.currency\"),required:\"\",error:d(x).currency_id.$error&&d(x).currency_id.$errors[0].$message},{default:f(()=>[u(ze,{modelValue:d(t).currentCustomer.currency_id,\"onUpdate:modelValue\":b[2]||(b[2]=j=>d(t).currentCustomer.currency_id=j),options:d(e).currencies,\"value-prop\":\"id\",searchable:\"\",placeholder:I.$t(\"customers.select_currency\"),\"max-height\":200,class:\"mt-1 md:mt-0\",\"track-by\":\"name\",invalid:d(x).currency_id.$error,label:\"name\"},null,8,[\"modelValue\",\"options\",\"placeholder\",\"invalid\"])]),_:1},8,[\"label\",\"error\"]),u(q,{label:I.$t(\"customers.primary_contact_name\")},{default:f(()=>[u(H,{modelValue:d(t).currentCustomer.contact_name,\"onUpdate:modelValue\":b[3]||(b[3]=j=>d(t).currentCustomer.contact_name=j),type:\"text\",class:\"mt-1 md:mt-0\"},null,8,[\"modelValue\"])]),_:1},8,[\"label\"]),u(q,{label:I.$t(\"login.email\"),error:d(x).email.$error&&d(x).email.$errors[0].$message},{default:f(()=>[u(H,{modelValue:d(t).currentCustomer.email,\"onUpdate:modelValue\":b[4]||(b[4]=j=>d(t).currentCustomer.email=j),modelModifiers:{trim:!0},type:\"text\",name:\"email\",class:\"mt-1 md:mt-0\",invalid:d(x).email.$error,onInput:b[5]||(b[5]=j=>d(x).email.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"]),u(q,{label:I.$t(\"customers.prefix\"),error:d(x).prefix.$error&&d(x).prefix.$errors[0].$message,\"content-loading\":d(p)},{default:f(()=>[u(H,{modelValue:d(t).currentCustomer.prefix,\"onUpdate:modelValue\":b[6]||(b[6]=j=>d(t).currentCustomer.prefix=j),\"content-loading\":d(p),type:\"text\",name:\"name\",class:\"\",invalid:d(x).prefix.$error,onInput:b[7]||(b[7]=j=>d(x).prefix.$touch())},null,8,[\"modelValue\",\"content-loading\",\"invalid\"])]),_:1},8,[\"label\",\"error\",\"content-loading\"]),u(de,null,{default:f(()=>[u(q,{label:I.$t(\"customers.phone\")},{default:f(()=>[u(H,{modelValue:d(t).currentCustomer.phone,\"onUpdate:modelValue\":b[8]||(b[8]=j=>d(t).currentCustomer.phone=j),modelModifiers:{trim:!0},type:\"text\",name:\"phone\",class:\"mt-1 md:mt-0\"},null,8,[\"modelValue\"])]),_:1},8,[\"label\"]),u(q,{label:I.$t(\"customers.website\"),error:d(x).website.$error&&d(x).website.$errors[0].$message},{default:f(()=>[u(H,{modelValue:d(t).currentCustomer.website,\"onUpdate:modelValue\":b[9]||(b[9]=j=>d(t).currentCustomer.website=j),type:\"url\",class:\"mt-1 md:mt-0\",invalid:d(x).website.$error,onInput:b[10]||(b[10]=j=>d(x).website.$touch())},null,8,[\"modelValue\",\"invalid\"])]),_:1},8,[\"label\",\"error\"])]),_:1})]),_:1})]),_:1},8,[\"title\"]),u(ye,{title:I.$t(\"customers.portal_access\")},{default:f(()=>[u(de,{class:\"col-span-5 lg:col-span-4\"},{default:f(()=>[c(\"div\",qS,[c(\"p\",BS,w(I.$t(\"customers.portal_access_text\")),1),u(ne,{modelValue:d(t).currentCustomer.enable_portal,\"onUpdate:modelValue\":b[11]||(b[11]=j=>d(t).currentCustomer.enable_portal=j),class:\"mt-1 flex\"},null,8,[\"modelValue\"])]),d(t).currentCustomer.enable_portal?(l(),T(q,{key:0,\"content-loading\":d(p),label:I.$t(\"customers.portal_access_url\"),class:\"md:col-span-2\",\"help-text\":I.$t(\"customers.portal_access_url_help\")},{default:f(()=>[u(US,{token:d(U)},null,8,[\"token\"])]),_:1},8,[\"content-loading\",\"label\",\"help-text\"])):P(\"\",!0),d(t).currentCustomer.enable_portal?(l(),T(q,{key:1,\"content-loading\":d(p),error:d(x).password.$error&&d(x).password.$errors[0].$message,label:I.$t(\"customers.password\")},{default:f(()=>[u(H,{modelValue:d(t).currentCustomer.password,\"onUpdate:modelValue\":b[14]||(b[14]=j=>d(t).currentCustomer.password=j),modelModifiers:{trim:!0},\"content-loading\":d(p),type:d(h)?\"text\":\"password\",name:\"password\",invalid:d(x).password.$error,onInput:b[15]||(b[15]=j=>d(x).password.$touch())},{right:f(()=>[d(h)?(l(),T(ue,{key:0,name:\"EyeOffIcon\",class:\"w-5 h-5 mr-1 text-gray-500 cursor-pointer\",onClick:b[12]||(b[12]=j=>J(h)?h.value=!d(h):h=!d(h))})):(l(),T(ue,{key:1,name:\"EyeIcon\",class:\"w-5 h-5 mr-1 text-gray-500 cursor-pointer\",onClick:b[13]||(b[13]=j=>J(h)?h.value=!d(h):h=!d(h))}))]),_:1},8,[\"modelValue\",\"content-loading\",\"type\",\"invalid\"])]),_:1},8,[\"content-loading\",\"error\",\"label\"])):P(\"\",!0),d(t).currentCustomer.enable_portal?(l(),T(q,{key:2,error:d(x).confirm_password.$error&&d(x).confirm_password.$errors[0].$message,\"content-loading\":d(p),label:\"Confirm Password\"},{default:f(()=>[u(H,{modelValue:d(t).currentCustomer.confirm_password,\"onUpdate:modelValue\":b[18]||(b[18]=j=>d(t).currentCustomer.confirm_password=j),modelModifiers:{trim:!0},\"content-loading\":d(p),type:d(D)?\"text\":\"password\",name:\"confirm_password\",invalid:d(x).confirm_password.$error,onInput:b[19]||(b[19]=j=>d(x).confirm_password.$touch())},{right:f(()=>[d(D)?(l(),T(ue,{key:0,name:\"EyeOffIcon\",class:\"w-5 h-5 mr-1 text-gray-500 cursor-pointer\",onClick:b[16]||(b[16]=j=>J(D)?D.value=!d(D):D=!d(D))})):(l(),T(ue,{key:1,name:\"EyeIcon\",class:\"w-5 h-5 mr-1 text-gray-500 cursor-pointer\",onClick:b[17]||(b[17]=j=>J(D)?D.value=!d(D):D=!d(D))}))]),_:1},8,[\"modelValue\",\"content-loading\",\"type\",\"invalid\"])]),_:1},8,[\"error\",\"content-loading\"])):P(\"\",!0)]),_:1})]),_:1},8,[\"title\"]),u(ye,{title:I.$t(\"customers.billing_address\"),class:\"!mt-2\"},{default:f(()=>[u(de,{layout:\"one-column\"},{default:f(()=>[u(q,{label:I.$t(\"customers.name\")},{default:f(()=>[u(H,{modelValue:d(t).currentCustomer.billing.name,\"onUpdate:modelValue\":b[20]||(b[20]=j=>d(t).currentCustomer.billing.name=j),type:\"text\",class:\"mt-1 md:mt-0\"},null,8,[\"modelValue\"])]),_:1},8,[\"label\"]),u(q,{label:I.$t(\"customers.country\")},{default:f(()=>[u(ze,{modelValue:d(t).currentCustomer.billing.country_id,\"onUpdate:modelValue\":b[21]||(b[21]=j=>d(t).currentCustomer.billing.country_id=j),options:d(e).countries,searchable:\"\",\"show-labels\":!1,placeholder:I.$t(\"general.select_country\"),\"allow-empty\":!1,\"track-by\":\"name\",class:\"mt-1 md:mt-0\",label:\"name\",\"value-prop\":\"id\"},null,8,[\"modelValue\",\"options\",\"placeholder\"])]),_:1},8,[\"label\"]),u(q,{label:I.$t(\"customers.state\")},{default:f(()=>[u(H,{modelValue:d(t).currentCustomer.billing.state,\"onUpdate:modelValue\":b[22]||(b[22]=j=>d(t).currentCustomer.billing.state=j),type:\"text\",name:\"billingState\",class:\"mt-1 md:mt-0\"},null,8,[\"modelValue\"])]),_:1},8,[\"label\"]),u(q,{label:I.$t(\"customers.city\")},{default:f(()=>[u(H,{modelValue:d(t).currentCustomer.billing.city,\"onUpdate:modelValue\":b[23]||(b[23]=j=>d(t).currentCustomer.billing.city=j),type:\"text\",name:\"billingCity\",class:\"mt-1 md:mt-0\"},null,8,[\"modelValue\"])]),_:1},8,[\"label\"]),u(q,{label:I.$t(\"customers.address\"),error:d(x).billing.address_street_1.$error&&d(x).billing.address_street_1.$errors[0].$message},{default:f(()=>[u(he,{modelValue:d(t).currentCustomer.billing.address_street_1,\"onUpdate:modelValue\":b[24]||(b[24]=j=>d(t).currentCustomer.billing.address_street_1=j),placeholder:I.$t(\"general.street_1\"),rows:\"2\",cols:\"50\",class:\"mt-1 md:mt-0\",invalid:d(x).billing.address_street_1.$error,onInput:b[25]||(b[25]=j=>d(x).billing.address_street_1.$touch())},null,8,[\"modelValue\",\"placeholder\",\"invalid\"])]),_:1},8,[\"label\",\"error\"])]),_:1}),u(de,{layout:\"one-column\"},{default:f(()=>[u(q,{error:d(x).billing.address_street_2.$error&&d(x).billing.address_street_2.$errors[0].$message},{default:f(()=>[u(he,{modelValue:d(t).currentCustomer.billing.address_street_2,\"onUpdate:modelValue\":b[26]||(b[26]=j=>d(t).currentCustomer.billing.address_street_2=j),placeholder:I.$t(\"general.street_2\"),rows:\"2\",cols:\"50\",invalid:d(x).billing.address_street_2.$error,onInput:b[27]||(b[27]=j=>d(x).billing.address_street_2.$touch())},null,8,[\"modelValue\",\"placeholder\",\"invalid\"])]),_:1},8,[\"error\"]),u(q,{label:I.$t(\"customers.phone\")},{default:f(()=>[u(H,{modelValue:d(t).currentCustomer.billing.phone,\"onUpdate:modelValue\":b[28]||(b[28]=j=>d(t).currentCustomer.billing.phone=j),modelModifiers:{trim:!0},type:\"text\",name:\"phone\",class:\"mt-1 md:mt-0\"},null,8,[\"modelValue\"])]),_:1},8,[\"label\"]),u(q,{label:I.$t(\"customers.zip_code\")},{default:f(()=>[u(H,{modelValue:d(t).currentCustomer.billing.zip,\"onUpdate:modelValue\":b[29]||(b[29]=j=>d(t).currentCustomer.billing.zip=j),type:\"text\",class:\"mt-1 md:mt-0\"},null,8,[\"modelValue\"])]),_:1},8,[\"label\"])]),_:1})]),_:1},8,[\"title\"]),u(ye,{title:I.$t(\"customers.shipping_address\"),class:\"!mt-2\"},{default:f(()=>[c(\"div\",KS,[c(\"div\",ZS,[u(Ae,{variant:\"primary\",type:\"button\",size:\"xs\",onClick:b[30]||(b[30]=j=>L())},{default:f(()=>[B(w(I.$t(\"customers.copy_billing_address\")),1)]),_:1})])]),u(de,{layout:\"one-column\"},{default:f(()=>[u(q,{label:I.$t(\"customers.name\")},{default:f(()=>[u(H,{modelValue:d(t).currentCustomer.shipping.name,\"onUpdate:modelValue\":b[31]||(b[31]=j=>d(t).currentCustomer.shipping.name=j),type:\"text\",class:\"mt-1 md:mt-0\"},null,8,[\"modelValue\"])]),_:1},8,[\"label\"]),u(q,{label:I.$t(\"customers.country\")},{default:f(()=>[u(ze,{modelValue:d(t).currentCustomer.shipping.country_id,\"onUpdate:modelValue\":b[32]||(b[32]=j=>d(t).currentCustomer.shipping.country_id=j),options:d(e).countries,searchable:!0,\"show-labels\":!1,\"allow-empty\":!1,placeholder:I.$t(\"general.select_country\"),\"track-by\":\"name\",class:\"mt-1 md:mt-0\",label:\"name\",\"value-prop\":\"id\"},null,8,[\"modelValue\",\"options\",\"placeholder\"])]),_:1},8,[\"label\"]),u(q,{label:I.$t(\"customers.state\")},{default:f(()=>[u(H,{modelValue:d(t).currentCustomer.shipping.state,\"onUpdate:modelValue\":b[33]||(b[33]=j=>d(t).currentCustomer.shipping.state=j),type:\"text\",name:\"shippingState\",class:\"mt-1 md:mt-0\"},null,8,[\"modelValue\"])]),_:1},8,[\"label\"]),u(q,{label:I.$t(\"customers.city\")},{default:f(()=>[u(H,{modelValue:d(t).currentCustomer.shipping.city,\"onUpdate:modelValue\":b[34]||(b[34]=j=>d(t).currentCustomer.shipping.city=j),type:\"text\",name:\"shippingCity\",class:\"mt-1 md:mt-0\"},null,8,[\"modelValue\"])]),_:1},8,[\"label\"]),u(q,{label:I.$t(\"customers.address\"),error:d(x).shipping.address_street_1.$error&&d(x).shipping.address_street_1.$errors[0].$message},{default:f(()=>[u(he,{modelValue:d(t).currentCustomer.shipping.address_street_1,\"onUpdate:modelValue\":b[35]||(b[35]=j=>d(t).currentCustomer.shipping.address_street_1=j),placeholder:I.$t(\"general.street_1\"),rows:\"2\",cols:\"50\",class:\"mt-1 md:mt-0\",invalid:d(x).shipping.address_street_1.$error,onInput:b[36]||(b[36]=j=>d(x).shipping.address_street_1.$touch())},null,8,[\"modelValue\",\"placeholder\",\"invalid\"])]),_:1},8,[\"label\",\"error\"])]),_:1}),u(de,{layout:\"one-column\"},{default:f(()=>[u(q,{error:d(x).shipping.address_street_2.$error&&d(x).shipping.address_street_2.$errors[0].$message},{default:f(()=>[u(he,{modelValue:d(t).currentCustomer.shipping.address_street_2,\"onUpdate:modelValue\":b[37]||(b[37]=j=>d(t).currentCustomer.shipping.address_street_2=j),placeholder:I.$t(\"general.street_2\"),rows:\"2\",cols:\"50\",invalid:d(x).shipping.address_street_1.$error,onInput:b[38]||(b[38]=j=>d(x).shipping.address_street_2.$touch())},null,8,[\"modelValue\",\"placeholder\",\"invalid\"])]),_:1},8,[\"error\"]),u(q,{label:I.$t(\"customers.phone\")},{default:f(()=>[u(H,{modelValue:d(t).currentCustomer.shipping.phone,\"onUpdate:modelValue\":b[39]||(b[39]=j=>d(t).currentCustomer.shipping.phone=j),modelModifiers:{trim:!0},type:\"text\",name:\"phone\",class:\"mt-1 md:mt-0\"},null,8,[\"modelValue\"])]),_:1},8,[\"label\"]),u(q,{label:I.$t(\"customers.zip_code\")},{default:f(()=>[u(H,{modelValue:d(t).currentCustomer.shipping.zip,\"onUpdate:modelValue\":b[40]||(b[40]=j=>d(t).currentCustomer.shipping.zip=j),type:\"text\",class:\"mt-1 md:mt-0\"},null,8,[\"modelValue\"])]),_:1},8,[\"label\"])]),_:1})]),_:1},8,[\"title\"])]),_:1})]),c(\"div\",WS,[u(Ae,{class:\"mr-3 text-sm\",type:\"button\",variant:\"primary-outline\",onClick:Z},{default:f(()=>[B(w(I.$t(\"general.cancel\")),1)]),_:1}),u(Ae,{loading:g.value,variant:\"primary\",type:\"submit\"},{left:f(j=>[g.value?P(\"\",!0):(l(),T(ue,{key:0,name:\"SaveIcon\",class:N(j.class)},null,8,[\"class\"]))]),default:f(()=>[B(\" \"+w(I.$t(\"general.save\")),1)]),_:1},8,[\"loading\"])])],40,OS)]),_:1},8,[\"show\"])}}},HS={props:{modelValue:{type:[String,Number,Object],default:\"\"},fetchAll:{type:Boolean,default:!1},showAction:{type:Boolean,default:!1}},emits:[\"update:modelValue\"],setup(n,{emit:r}){const o=n,{t:a}=Se(),t=je(),i=ke(),e=ve(),s=A({get:()=>o.modelValue,set:k=>{r(\"update:modelValue\",k)}});async function m(k){let z={search:k};o.fetchAll&&(z.limit=\"all\");let g=await i.fetchCustomers(z);if(g.data.data.length>0&&i.editCustomer&&!g.data.data.find(D=>D.id==i.editCustomer.id)){let D=Object.assign({},i.editCustomer);g.data.data.unshift(D)}return g.data.data}async function p(){i.resetCurrentCustomer(),t.openModal({title:a(\"customers.add_new_customer\"),componentName:\"CustomerModal\"})}return(k,z)=>{const g=C(\"BaseIcon\"),h=C(\"BaseSelectAction\"),D=C(\"BaseMultiselect\");return l(),_(X,null,[u(D,le({modelValue:d(s),\"onUpdate:modelValue\":z[0]||(z[0]=R=>J(s)?s.value=R:null)},k.$attrs,{\"track-by\":\"name\",\"value-prop\":\"id\",label:\"name\",\"filter-results\":!1,\"resolve-on-load\":\"\",delay:500,searchable:!0,options:m,\"label-value\":\"name\",placeholder:k.$t(\"customers.type_or_click\"),\"can-deselect\":!1,class:\"w-full\"}),Wt({_:2},[n.showAction?{name:\"action\",fn:f(()=>[d(e).hasAbilities(d(O).CREATE_CUSTOMER)?(l(),T(h,{key:0,onClick:p},{default:f(()=>[u(g,{name:\"UserAddIcon\",class:\"h-4 mr-2 -ml-2 text-center text-primary-400\"}),B(\" \"+w(k.$t(\"customers.add_new_customer\")),1)]),_:1})):P(\"\",!0)])}:void 0]),1040,[\"modelValue\",\"placeholder\"]),u(Dt)],64)}}};var YS=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:HS});const GS={key:1,class:\"max-h-[173px]\"},JS={class:\"flex relative justify-between mb-2\"},QS={class:\"flex\"},XS=[\"onClick\"],ej={class:\"grid grid-cols-2 gap-8 mt-2\"},tj={key:0,class:\"flex flex-col\"},aj={class:\"mb-1 text-sm font-medium text-left text-gray-400 uppercase whitespace-nowrap\"},nj={key:0,class:\"flex flex-col flex-1 p-0 text-left\"},ij={key:0,class:\"relative w-11/12 text-sm truncate\"},oj={class:\"relative w-11/12 text-sm truncate\"},sj={key:0},rj={key:1},dj={key:2},lj={key:1,class:\"relative w-11/12 text-sm truncate\"},cj={key:1,class:\"flex flex-col\"},_j={class:\"mb-1 text-sm font-medium text-left text-gray-400 uppercase whitespace-nowrap\"},uj={key:0,class:\"flex flex-col flex-1 p-0 text-left\"},mj={key:0,class:\"relative w-11/12 text-sm truncate\"},pj={class:\"relative w-11/12 text-sm truncate\"},fj={key:0},gj={key:1},vj={key:2},yj={key:1,class:\"relative w-11/12 text-sm truncate\"},hj={class:\"relative flex justify-center px-0 p-0 py-16 bg-white border border-gray-200 border-solid rounded-md min-h-[170px]\"},bj={class:\"mt-1\"},kj={class:\"text-lg font-medium text-gray-900\"},wj=c(\"span\",{class:\"text-red-500\"},\" * \",-1),zj={key:0,class:\"text-red-500 text-sm absolute right-3 bottom-3\"},xj={key:0,class:\"absolute min-w-full z-10\"},Pj={class:\"relative\"},Sj={class:\"max-h-80 flex flex-col overflow-auto list border-t border-gray-200\"},jj=[\"onClick\"],Aj={class:\"flex items-center content-center justify-center w-10 h-10 mr-4 text-xl font-semibold leading-9 text-white bg-gray-300 rounded-full avatar\"},Dj={class:\"flex flex-col justify-center text-left\"},Cj={key:0,class:\"flex justify-center p-5 text-gray-400\"},Nj={class:\"text-base text-gray-500 cursor-pointer\"},Ej={class:\"m-0 ml-3 text-sm leading-none cursor-pointer font-base text-primary-400\"},Ij={props:{valid:{type:Object,default:()=>{}},customerId:{type:Number,default:null},type:{type:String,default:null},contentLoading:{type:Boolean,default:!1}},setup(n){const r=n,o=je(),a=He(),t=ke(),i=Te(),e=$e(),s=At(),m=ve(),p=ge(),{t:k}=Se(),z=K(null),g=K(!1),h=A(()=>{switch(r.type){case\"estimate\":return a.newEstimate.customer;case\"invoice\":return e.newInvoice.customer;case\"recurring-invoice\":return s.newRecurringInvoice.customer;default:return\"\"}});function D(){r.type===\"estimate\"?a.resetSelectedCustomer():r.type===\"invoice\"?e.resetSelectedCustomer():s.resetSelectedCustomer()}r.customerId&&r.type===\"estimate\"?a.selectCustomer(r.customerId):r.customerId&&r.type===\"invoice\"?e.selectCustomer(r.customerId):r.customerId&&s.selectCustomer(r.customerId);async function R(){await t.fetchCustomer(h.value.id),o.openModal({title:k(\"customers.edit_customer\"),componentName:\"CustomerModal\"})}async function E(){await t.fetchCustomers({filter:{},orderByField:\"\",orderBy:\"\",customer_id:r.customerId})}const x=Jt(()=>{g.value=!0,U()},500);async function U(){let Z={display_name:z.value,page:1};await t.fetchCustomers(Z),g.value=!1}function L(){o.openModal({title:k(\"customers.add_customer\"),componentName:\"CustomerModal\",variant:\"md\"})}function Y(Z){if(Z)return Z.split(\" \")[0].charAt(0).toUpperCase()}function me(Z,I){let b={userId:Z};p.params.id&&(b.model_id=p.params.id),r.type===\"estimate\"?(a.getNextNumber(b,!0),a.selectCustomer(Z)):r.type===\"invoice\"?(e.getNextNumber(b,!0),e.selectCustomer(Z)):s.selectCustomer(Z),I(),z.value=null}return i.fetchCurrencies(),i.fetchCountries(),E(),(Z,I)=>{const b=C(\"BaseContentPlaceholdersBox\"),ue=C(\"BaseContentPlaceholders\"),H=C(\"BaseText\"),q=C(\"BaseIcon\"),ze=C(\"BaseInput\");return n.contentLoading?(l(),T(ue,{key:0},{default:f(()=>[u(b,{rounded:!0,class:\"w-full\",style:{\"min-height\":\"170px\"}})]),_:1})):(l(),_(\"div\",GS,[u(Dt),d(h)?(l(),_(\"div\",{key:0,class:\"flex flex-col p-4 bg-white border border-gray-200 border-solid min-h-[170px] rounded-md\",onClick:I[0]||(I[0]=se(()=>{},[\"stop\"]))},[c(\"div\",JS,[u(H,{text:d(h).name,length:30,class:\"flex-1 text-base font-medium text-left text-gray-900\"},null,8,[\"text\"]),c(\"div\",QS,[c(\"a\",{class:\"relative my-0 ml-6 text-sm font-medium cursor-pointer text-primary-500 items-center flex\",onClick:se(R,[\"stop\"])},[u(q,{name:\"PencilIcon\",class:\"text-gray-500 h-4 w-4 mr-1\"}),B(\" \"+w(Z.$t(\"general.edit\")),1)],8,XS),c(\"a\",{class:\"relative my-0 ml-6 text-sm flex items-center font-medium cursor-pointer text-primary-500\",onClick:D},[u(q,{name:\"XCircleIcon\",class:\"text-gray-500 h-4 w-4 mr-1\"}),B(\" \"+w(Z.$t(\"general.deselect\")),1)])])]),c(\"div\",ej,[d(h).billing?(l(),_(\"div\",tj,[c(\"label\",aj,w(Z.$t(\"general.bill_to\")),1),d(h).billing?(l(),_(\"div\",nj,[d(h).billing.name?(l(),_(\"label\",ij,w(d(h).billing.name),1)):P(\"\",!0),c(\"label\",oj,[d(h).billing.city?(l(),_(\"span\",sj,w(d(h).billing.city),1)):P(\"\",!0),d(h).billing.city&&d(h).billing.state?(l(),_(\"span\",rj,\" , \")):P(\"\",!0),d(h).billing.state?(l(),_(\"span\",dj,w(d(h).billing.state),1)):P(\"\",!0)]),d(h).billing.zip?(l(),_(\"label\",lj,w(d(h).billing.zip),1)):P(\"\",!0)])):P(\"\",!0)])):P(\"\",!0),d(h).shipping?(l(),_(\"div\",cj,[c(\"label\",_j,w(Z.$t(\"general.ship_to\")),1),d(h).shipping?(l(),_(\"div\",uj,[d(h).shipping.name?(l(),_(\"label\",mj,w(d(h).shipping.name),1)):P(\"\",!0),c(\"label\",pj,[d(h).shipping.city?(l(),_(\"span\",fj,w(d(h).shipping.city),1)):P(\"\",!0),d(h).shipping.city&&d(h).shipping.state?(l(),_(\"span\",gj,\" , \")):P(\"\",!0),d(h).shipping.state?(l(),_(\"span\",vj,w(d(h).shipping.state),1)):P(\"\",!0)]),d(h).shipping.zip?(l(),_(\"label\",yj,w(d(h).shipping.zip),1)):P(\"\",!0)])):P(\"\",!0)])):P(\"\",!0)])])):(l(),T(d(Gt),{key:1,class:\"relative flex flex-col rounded-md\"},{default:f(({open:de})=>[u(d(Ht),{class:N([{\"text-opacity-90\":de,\"border border-solid border-red-500 focus:ring-red-500 rounded\":n.valid.$error,\"focus:ring-2 focus:ring-primary-400\":!n.valid.$error},\"w-full outline-none rounded-md\"])},{default:f(()=>[c(\"div\",hj,[u(q,{name:\"UserIcon\",class:\"flex justify-center !w-10 !h-10 p-2 mr-5 text-sm text-white bg-gray-200 rounded-full font-base\"}),c(\"div\",bj,[c(\"label\",kj,[B(w(Z.$t(\"customers.new_customer\"))+\" \",1),wj]),n.valid.$error&&n.valid.$errors[0].$message?(l(),_(\"p\",zj,w(Z.$t(\"estimates.errors.required\")),1)):P(\"\",!0)])])]),_:2},1032,[\"class\"]),u(Ne,{\"enter-active-class\":\"transition duration-200 ease-out\",\"enter-from-class\":\"translate-y-1 opacity-0\",\"enter-to-class\":\"translate-y-0 opacity-100\",\"leave-active-class\":\"transition duration-150 ease-in\",\"leave-from-class\":\"translate-y-0 opacity-100\",\"leave-to-class\":\"translate-y-1 opacity-0\"},{default:f(()=>[de?(l(),_(\"div\",xj,[u(d(Yt),{focus:\"\",static:\"\",class:\"overflow-hidden rounded-md shadow-lg ring-1 ring-black ring-opacity-5 bg-white\"},{default:f(({close:ye})=>[c(\"div\",Pj,[u(ze,{modelValue:z.value,\"onUpdate:modelValue\":[I[1]||(I[1]=ne=>z.value=ne),I[2]||(I[2]=ne=>d(x)(ne))],\"container-class\":\"m-4\",placeholder:Z.$t(\"general.search\"),type:\"text\",icon:\"search\"},null,8,[\"modelValue\",\"placeholder\"]),c(\"ul\",Sj,[(l(!0),_(X,null,ae(d(t).customers,(ne,he)=>(l(),_(\"li\",{key:he,href:\"#\",class:\"flex px-6 py-2 border-b border-gray-200 border-solid cursor-pointer hover:cursor-pointer hover:bg-gray-100 focus:outline-none focus:bg-gray-100 last:border-b-0\",onClick:Ae=>me(ne.id,ye)},[c(\"span\",Aj,w(Y(ne.name)),1),c(\"div\",Dj,[ne.name?(l(),T(H,{key:0,text:ne.name,length:30,class:\"m-0 text-base font-normal leading-tight cursor-pointer\"},null,8,[\"text\"])):P(\"\",!0),ne.contact_name?(l(),T(H,{key:1,text:ne.contact_name,length:30,class:\"m-0 text-sm font-medium text-gray-400 cursor-pointer\"},null,8,[\"text\"])):P(\"\",!0)])],8,jj))),128)),d(t).customers.length===0?(l(),_(\"div\",Cj,[c(\"label\",Nj,w(Z.$t(\"customers.no_customers_found\")),1)])):P(\"\",!0)])]),d(m).hasAbilities(d(O).CREATE_CUSTOMER)?(l(),_(\"button\",{key:0,type:\"button\",class:\"h-10 flex items-center justify-center w-full px-2 py-3 bg-gray-200 border-none outline-none focus:bg-gray-300\",onClick:L},[u(q,{name:\"UserAddIcon\",class:\"text-primary-400\"}),c(\"label\",Ej,w(Z.$t(\"customers.add_new_customer\")),1)])):P(\"\",!0)]),_:1})])):P(\"\",!0)]),_:2},1024)]),_:1}))]))}}};var Tj=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:Ij});const Rj=c(\"path\",{\"fill-rule\":\"evenodd\",d:\"M6 2a1 1 0 00-1 1v1H4a2 2 0 00-2 2v10a2 2 0 002 2h12a2 2 0 002-2V6a2 2 0 00-2-2h-1V3a1 1 0 10-2 0v1H7V3a1 1 0 00-1-1zm0 5a1 1 0 000 2h8a1 1 0 100-2H6z\",\"clip-rule\":\"evenodd\"},null,-1),Mj=[Rj],Fj={props:{modelValue:{type:[String,Date],default:()=>new Date},contentLoading:{type:Boolean,default:!1},placeholder:{type:String,default:null},invalid:{type:Boolean,default:!1},enableTime:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},showCalendarIcon:{type:Boolean,default:!0},containerClass:{type:String,default:\"\"},defaultInputClass:{type:String,default:\"font-base pl-8 py-2 outline-none focus:ring-primary-400 focus:outline-none focus:border-primary-400 block w-full sm:text-sm border-gray-200 rounded-md text-black\"},time24hr:{type:Boolean,default:!1}},emits:[\"update:modelValue\"],setup(n,{emit:r}){const o=n,a=K(null),t=pe(),i=_e();let e=Ve({altInput:!0,enableTime:o.enableTime,time_24hr:o.time24hr});const s=A({get:()=>o.modelValue,set:D=>{r(\"update:modelValue\",D)}}),m=A(()=>{var D;return(D=i.selectedCompanySettings)==null?void 0:D.carbon_date_format}),p=A(()=>!!t.icon),k=A(()=>`${o.containerClass} `),z=A(()=>o.invalid?\"border-red-400 ring-red-400 focus:ring-red-400 focus:border-red-400\":\"\"),g=A(()=>o.disabled?\"border border-solid rounded-md outline-none input-field box-border-2 base-date-picker-input placeholder-gray-400 bg-gray-200 text-gray-600 border-gray-200\":\"\");function h(D){a.value.fp.open()}return fe(()=>o.enableTime,D=>{o.enableTime&&(e.enableTime=o.enableTime)},{immediate:!0}),fe(()=>m,()=>{o.enableTime?e.altFormat=m.value?`${m.value} H:i `:\"d M Y H:i\":e.altFormat=m.value?m.value:\"d M Y\"},{immediate:!0}),(D,R)=>{const E=C(\"BaseContentPlaceholdersBox\"),x=C(\"BaseContentPlaceholders\");return n.contentLoading?(l(),T(x,{key:0},{default:f(()=>[u(E,{rounded:!0,class:N(`w-full ${d(k)}`),style:{height:\"38px\"}},null,8,[\"class\"])]),_:1})):(l(),_(\"div\",{key:1,class:N([d(k),\"relative flex flex-row\"])},[n.showCalendarIcon&&!d(p)?(l(),_(\"svg\",{key:0,viewBox:\"0 0 20 20\",fill:\"currentColor\",class:\"absolute w-4 h-4 mx-2 my-2.5 text-sm not-italic font-black text-gray-400 cursor-pointer\",onClick:h},Mj)):P(\"\",!0),n.showCalendarIcon&&d(p)?F(D.$slots,\"icon\",{key:1}):P(\"\",!0),u(d(nt),le({ref:(U,L)=>{L.dp=U,a.value=U},modelValue:d(s),\"onUpdate:modelValue\":R[0]||(R[0]=U=>J(s)?s.value=U:null)},D.$attrs,{disabled:n.disabled,config:d(e),class:[n.defaultInputClass,d(z),d(g)]}),null,16,[\"modelValue\",\"disabled\",\"config\",\"class\"])],2))}}};var $j=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:Fj});const Uj={},Vj={class:\"grid gap-4 mt-5 md:grid-cols-2 lg:grid-cols-3\"};function Oj(n,r){return l(),_(\"div\",Vj,[F(n.$slots,\"default\")])}var Lj=ee(Uj,[[\"render\",Oj]]),qj=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:Lj});const Bj={key:1},Kj={class:\"text-sm font-bold leading-5 text-black non-italic\"},Zj={props:{label:{type:String,required:!0},value:{type:[String,Number],default:\"\"},contentLoading:{type:Boolean,default:!1}},setup(n){return(r,o)=>{const a=C(\"BaseContentPlaceholdersBox\"),t=C(\"BaseContentPlaceholders\"),i=C(\"BaseLabel\");return l(),_(\"div\",null,[n.contentLoading?(l(),T(t,{key:0},{default:f(()=>[u(a,{class:\"w-20 h-5 mb-1\"}),u(a,{class:\"w-40 h-5\"})]),_:1})):(l(),_(\"div\",Bj,[u(i,{class:\"font-normal mb-1\"},{default:f(()=>[B(w(n.label),1)]),_:1}),c(\"p\",Kj,[B(w(n.value)+\" \",1),F(r.$slots,\"default\")])]))])}}};var Wj=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:Zj});const Hj=(n=!1)=>{const r=n?window.pinia.defineStore:Q,{global:o}=window.i18n;return r({id:\"dialog\",state:()=>({active:!1,title:\"\",message:\"\",size:\"md\",data:null,variant:\"danger\",yesLabel:o.t(\"settings.custom_fields.yes\"),noLabel:o.t(\"settings.custom_fields.no\"),noLabel:\"No\",resolve:null,hideNoButton:!1}),actions:{openDialog(a){return this.active=!0,this.title=a.title,this.message=a.message,this.size=a.size,this.data=a.data,this.variant=a.variant,this.yesLabel=a.yesLabel,this.noLabel=a.noLabel,this.hideNoButton=a.hideNoButton,new Promise((t,i)=>{this.resolve=t})},closeDialog(){this.active=!1,setTimeout(()=>{this.title=\"\",this.message=\"\",this.data=null},300)}}})()},Yj={class:\"flex items-end justify-center min-h-screen px-4 pt-4 pb-20 text-center sm:block sm:p-0\"},Gj=c(\"span\",{class:\"hidden sm:inline-block sm:align-middle sm:h-screen\",\"aria-hidden\":\"true\"},\"\\u200B\",-1),Jj={class:\"mt-3 text-center sm:mt-5\"},Qj={class:\"mt-2\"},Xj={class:\"text-sm text-gray-500\"},eA={setup(n){const r=Hj();function o(t){r.resolve(t),r.closeDialog()}const a=A(()=>{switch(r.size){case\"sm\":return\"sm:max-w-sm\";case\"md\":return\"sm:max-w-md\";case\"lg\":return\"sm:max-w-lg\";default:return\"sm:max-w-md\"}});return(t,i)=>{const e=C(\"BaseIcon\"),s=C(\"base-button\");return l(),T(d(st),{as:\"template\",show:d(r).active},{default:f(()=>[u(d(ot),{as:\"div\",static:\"\",class:\"fixed inset-0 z-20 overflow-y-auto\",open:d(r).active,onClose:d(r).closeDialog},{default:f(()=>[c(\"div\",Yj,[u(d(Ee),{as:\"template\",enter:\"ease-out duration-300\",\"enter-from\":\"opacity-0\",\"enter-to\":\"opacity-100\",leave:\"ease-in duration-200\",\"leave-from\":\"opacity-100\",\"leave-to\":\"opacity-0\"},{default:f(()=>[u(d(it),{class:\"fixed inset-0 transition-opacity bg-gray-500 bg-opacity-75\"})]),_:1}),Gj,u(d(Ee),{as:\"template\",enter:\"ease-out duration-300\",\"enter-from\":\"opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95\",\"enter-to\":\"opacity-100 translate-y-0 sm:scale-100\",leave:\"ease-in duration-200\",\"leave-from\":\"opacity-100 translate-y-0 sm:scale-100\",\"leave-to\":\"opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95\"},{default:f(()=>[c(\"div\",{class:N([\"inline-block px-4 pt-5 pb-4 overflow-hidden text-left align-bottom transition-all bg-white rounded-lg shadow-xl sm:my-8 sm:align-middle sm:w-full sm:p-6 relative\",d(a)])},[c(\"div\",null,[c(\"div\",{class:N([\"flex items-center justify-center w-12 h-12 mx-auto bg-green-100 rounded-full\",{\"bg-green-100\":d(r).variant===\"primary\",\"bg-red-100\":d(r).variant===\"danger\"}])},[d(r).variant===\"primary\"?(l(),T(e,{key:0,name:\"CheckIcon\",class:\"w-6 h-6 text-green-600\"})):(l(),T(e,{key:1,name:\"ExclamationIcon\",class:\"w-6 h-6 text-red-600\",\"aria-hidden\":\"true\"}))],2),c(\"div\",Jj,[u(d(Qt),{as:\"h3\",class:\"text-lg font-medium leading-6 text-gray-900\"},{default:f(()=>[B(w(d(r).title),1)]),_:1}),c(\"div\",Qj,[c(\"p\",Xj,w(d(r).message),1)])])]),c(\"div\",{class:N([\"mt-5 sm:mt-6 grid gap-3\",{\"sm:grid-cols-2 sm:grid-flow-row-dense\":!d(r).hideNoButton}])},[u(s,{class:N([\"justify-center\",{\"w-full\":d(r).hideNoButton}]),variant:d(r).variant,onClick:i[0]||(i[0]=m=>o(!0))},{default:f(()=>[B(w(d(r).yesLabel),1)]),_:1},8,[\"variant\",\"class\"]),d(r).hideNoButton?P(\"\",!0):(l(),T(s,{key:0,class:\"justify-center\",variant:\"white\",onClick:i[1]||(i[1]=m=>o(!1))},{default:f(()=>[B(w(d(r).noLabel),1)]),_:1}))],2)],2)]),_:1})])]),_:1},8,[\"open\",\"onClose\"])]),_:1},8,[\"show\"])}}};var tA=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:eA});const aA={},nA={class:\"w-full text-gray-300\"};function iA(n,r){return l(),_(\"hr\",nA)}var oA=ee(aA,[[\"render\",iA]]),sA=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:oA});function rA(n){let r=K(null),o=K(null),a=K(null);return Pe(()=>{rt(t=>{if(!o.value||!r.value)return;let i=o.value.el||o.value,e=r.value.el||r.value;e instanceof HTMLElement&&i instanceof HTMLElement&&(a.value=Xt(e,i,n),t(a.value.destroy))})}),[r,o,a]}const dA={class:\"py-1\"},lA={props:{containerClass:{type:String,required:!1,default:\"\"},widthClass:{type:String,default:\"w-56\"},positionClass:{type:String,default:\"absolute z-10 right-0\"},position:{type:String,default:\"bottom-end\"},wrapperClass:{type:String,default:\"inline-block h-full text-left\"},contentLoading:{type:Boolean,default:!1}},setup(n){const r=n,o=A(()=>`origin-top-right rounded-md shadow-lg bg-white ring-1 ring-black ring-opacity-5 divide-y divide-gray-100 focus:outline-none ${r.containerClass}`);let[a,t,i]=rA({placement:\"bottom-end\",strategy:\"fixed\",modifiers:[{name:\"offset\",options:{offset:[0,10]}}]});function e(){i.value.update()}return(s,m)=>{const p=C(\"BaseContentPlaceholdersBox\"),k=C(\"BaseContentPlaceholders\");return l(),_(\"div\",{class:N([\"relative\",n.wrapperClass])},[n.contentLoading?(l(),T(k,{key:0,class:\"disabled cursor-normal pointer-events-none\"},{default:f(()=>[u(p,{rounded:!0,class:\"w-14\",style:{height:\"42px\"}})]),_:1})):(l(),T(d(aa),{key:1},{default:f(()=>[u(d(ea),{ref:(z,g)=>{g.trigger=z,J(a)?a.value=z:a=z},class:\"focus:outline-none\",onClick:e},{default:f(()=>[F(s.$slots,\"activator\")]),_:3},512),c(\"div\",{ref:(z,g)=>{g.container=z,J(t)?t.value=z:t=z},class:N([\"z-10\",n.widthClass])},[u(Ne,{\"enter-active-class\":\"transition duration-100 ease-out\",\"enter-from-class\":\"scale-95 opacity-0\",\"enter-to-class\":\"scale-100 opacity-100\",\"leave-active-class\":\"transition duration-75 ease-in\",\"leave-from-class\":\"scale-100 opacity-100\",\"leave-to-class\":\"scale-95 opacity-0\"},{default:f(()=>[u(d(ta),{class:N(d(o))},{default:f(()=>[c(\"div\",dA,[F(s.$slots,\"default\")])]),_:3},8,[\"class\"])]),_:3})],2)]),_:3}))],2)}}};var cA=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:lA});const _A={setup(n){return(r,o)=>(l(),T(d(oa),na(ia(r.$attrs)),{default:f(({active:a})=>[c(\"a\",{href:\"#\",class:N([a?\"bg-gray-100 text-gray-900\":\"text-gray-700\",\"group flex items-center px-4 py-2 text-sm font-normal\"])},[F(r.$slots,\"default\",{active:a})],2)]),_:3},16))}};var uA=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:_A});const mA={class:\"flex flex-col items-center justify-center mt-16\"},pA={class:\"flex flex-col items-center justify-center\"},fA={class:\"mt-2\"},gA={class:\"font-medium\"},vA={class:\"mt-2\"},yA={class:\"text-gray-500\"},hA={class:\"mt-6\"},bA={props:{title:{type:String,default:String},description:{type:String,default:String}},setup(n){return(r,o)=>(l(),_(\"div\",mA,[c(\"div\",pA,[F(r.$slots,\"default\")]),c(\"div\",fA,[c(\"label\",gA,w(n.title),1)]),c(\"div\",vA,[c(\"label\",yA,w(n.description),1)]),c(\"div\",hA,[F(r.$slots,\"actions\")])]))}};var kA=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:bA});const wA={class:\"rounded-md bg-red-50 p-4\"},zA={class:\"flex\"},xA={class:\"shrink-0\"},PA={class:\"ml-3\"},SA={class:\"text-sm font-medium text-red-800\"},jA={class:\"mt-2 text-sm text-red-700\"},AA={role:\"list\",class:\"list-disc pl-5 space-y-1\"},DA={props:{errorTitle:{type:String,default:\"There were some errors with your submission\"},errors:{type:Array,default:null}},setup(n){return(r,o)=>(l(),_(\"div\",wA,[c(\"div\",zA,[c(\"div\",xA,[u(d(sa),{class:\"h-5 w-5 text-red-400\",\"aria-hidden\":\"true\"})]),c(\"div\",PA,[c(\"h3\",SA,w(n.errorTitle),1),c(\"div\",jA,[c(\"ul\",AA,[(l(!0),_(X,null,ae(n.errors,(a,t)=>(l(),_(\"li\",{key:t},w(a),1))),128))])])])])]))}};var CA=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:DA});const NA={props:{status:{type:String,required:!1,default:\"\"}},setup(n){const r=n,o=A(()=>{switch(r.status){case\"DRAFT\":return\"bg-yellow-300 bg-opacity-25 px-2  py-1 text-sm  text-yellow-800 uppercase font-normal text-center \";case\"SENT\":return\" bg-yellow-500 bg-opacity-25 px-2 py-1 text-sm  text-yellow-900 uppercase font-normal text-center \";case\"VIEWED\":return\"bg-blue-400 bg-opacity-25 px-2  py-1 text-sm  text-blue-900 uppercase font-normal text-center\";case\"EXPIRED\":return\"bg-red-300 bg-opacity-25 px-2 py-1 text-sm  text-red-800 uppercase font-normal text-center\";case\"ACCEPTED\":return\"bg-green-400 bg-opacity-25 px-2 py-1 text-sm  text-green-800 uppercase font-normal text-center\";case\"REJECTED\":return\"bg-purple-300 bg-opacity-25 px-2 py-1 text-sm  text-purple-800 uppercase font-normal text-center\";default:return\"bg-gray-500 bg-opacity-25 px-2 py-1 text-sm  text-gray-900 uppercase font-normal text-center\"}});return(a,t)=>(l(),_(\"span\",{class:N(d(o))},[F(a.$slots,\"default\")],2))}};var EA=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:NA});const IA=[\"multiple\",\"name\",\"accept\"],TA={key:0,class:\"\"},RA=[\"src\"],MA=[\"onClick\"],FA={key:1,class:\"flex flex-col items-center\"},$A={class:\"text-xs leading-4 text-center text-gray-400\"},UA=B(\" Drag a file here or \"),VA=[\"onClick\"],OA=B(\" to choose a file \"),LA={class:\"text-xs leading-4 text-center text-gray-400 mt-2\"},qA={key:2,class:\"flex w-full h-full border border-gray-200 rounded\"},BA=[\"src\"],KA={key:1,class:\"flex justify-center items-center text-gray-400 flex-col space-y-2 px-2 py-4 w-full\"},ZA=c(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",class:\"h-8 w-8\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[c(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"1.25\",d:\"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z\"})],-1),WA={key:0,class:\"text-gray-600 font-medium text-sm truncate overflow-hidden w-full\"},HA={key:3,class:\"flex flex-wrap w-full\"},YA=[\"src\"],GA={key:1,class:\"flex justify-center items-center text-gray-400 flex-col space-y-2 px-2 py-4 w-full\"},JA=c(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",class:\"h-8 w-8\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[c(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"1.25\",d:\"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z\"})],-1),QA={key:0,class:\"text-gray-600 font-medium text-sm truncate overflow-hidden w-full\"},XA=[\"onClick\"],eD={key:4,class:\"flex w-full items-center justify-center\"},tD=[\"src\"],aD={key:1,class:\"flex justify-center items-center text-gray-400 flex-col space-y-2 px-2 py-4 w-full\"},nD=c(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",class:\"h-8 w-8\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[c(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"1.25\",d:\"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z\"})],-1),iD={key:0,class:\"text-gray-600 font-medium text-sm truncate overflow-hidden w-full\"},oD=[\"onClick\"],sD={props:{multiple:{type:Boolean,default:!1},avatar:{type:Boolean,default:!1},autoProcess:{type:Boolean,default:!1},uploadUrl:{type:String,default:\"\"},preserveLocalFiles:{type:Boolean,default:!1},accept:{type:String,default:\"image/*\"},inputFieldName:{type:String,default:\"photos\"},base64:{type:Boolean,default:!1},modelValue:{type:Array,default:()=>[]},recommendedText:{type:String,default:\"\"}},emits:[\"change\",\"remove\",\"update:modelValue\"],setup(n,{emit:r}){const o=n;let a=K([]);const t=K([]),i=K(null);K(null),K(null);function e(){a.value=[],o.modelValue&&o.modelValue.length?t.value=[...o.modelValue]:t.value=[]}function s(R){return v.post(o.uploadUrl,R).then(E=>E.data).then(E=>E.map(x=>W(M({},x),{url:`/images/${x.id}`})))}function m(R){s(R).then(E=>{a=[].concat(E)}).catch(E=>{})}function p(R){return new Promise((E,x)=>{const U=new FileReader;U.readAsDataURL(R),U.onload=()=>E(U.result),U.onerror=L=>x(L)})}function k(R,E,x){if(!E.length||(o.multiple?r(\"change\",R,E,x):o.base64?p(E[0]).then(L=>{r(\"change\",R,L,x,E[0])}):r(\"change\",R,E[0],x),o.preserveLocalFiles||(t.value=[]),Array.from(Array(E.length).keys()).forEach(L=>{const Y=E[L];Ze.isImageFile(Y.type)?p(Y).then(me=>{t.value.push({fileObject:Y,type:Y.type,name:Y.name,image:me})}):t.value.push({fileObject:Y,type:Y.type,name:Y.name})}),r(\"update:modelValue\",t.value),!o.autoProcess))return;const U=new FormData;Array.from(Array(E.length).keys()).forEach(L=>{U.append(R,E[L],E[L].name)}),m(U)}function z(){i.value&&i.value.click()}function g(R){t.value=[],r(\"remove\",R)}function h(R){t.value.splice(R,1),r(\"remove\",R)}function D(){return new URL(\"/build/img/default-avatar.jpg\",self.location)}return Pe(()=>{e()}),fe(()=>o.modelValue,R=>{t.value=[...R]}),(R,E)=>{const x=C(\"BaseIcon\");return l(),_(\"form\",{enctype:\"multipart/form-data\",class:N([\"relative flex items-center justify-center p-2 border-2 border-dashed rounded-md cursor-pointer avatar-upload border-gray-200 transition-all duration-300 ease-in-out isolate w-full hover:border-gray-300 group min-h-[100px] bg-gray-50\",n.avatar?\"w-32 h-32\":\"w-full\"])},[c(\"input\",{id:\"file-upload\",ref:(U,L)=>{L.inputRef=U,i.value=U},type:\"file\",tabindex:\"-1\",multiple:n.multiple,name:n.inputFieldName,accept:n.accept,class:\"absolute z-10 w-full h-full opacity-0 cursor-pointer\",onClick:E[0]||(E[0]=U=>U.target.value=null),onChange:E[1]||(E[1]=U=>k(U.target.name,U.target.files,U.target.files.length))},null,40,IA),!t.value.length&&n.avatar?(l(),_(\"div\",TA,[c(\"img\",{src:D(),class:\"rounded\",alt:\"Default Avatar\"},null,8,RA),c(\"a\",{href:\"#\",class:\"absolute z-30 bg-white rounded-full -bottom-3 -right-3 group\",onClick:se(z,[\"prevent\",\"stop\"])},[u(x,{name:\"PlusCircleIcon\",class:\"h-8 text-xl leading-6 text-primary-500 group-hover:text-primary-600\"})],8,MA)])):t.value.length?t.value.length&&n.avatar&&!n.multiple?(l(),_(\"div\",qA,[t.value[0].image?(l(),_(\"img\",{key:0,for:\"file-upload\",src:t.value[0].image,class:\"block object-cover w-full h-full rounded opacity-100\",style:{animation:\"fadeIn 2s ease\"}},null,8,BA)):(l(),_(\"div\",KA,[ZA,t.value[0].name?(l(),_(\"p\",WA,w(t.value[0].name),1)):P(\"\",!0)])),c(\"a\",{href:\"#\",class:\"box-border absolute z-30 flex items-center justify-center w-8 h-8 bg-white border border-gray-200 rounded-full shadow-md -bottom-3 -right-3 group hover:border-gray-300\",onClick:E[2]||(E[2]=se(U=>g(t.value[0]),[\"prevent\",\"stop\"]))},[u(x,{name:\"XIcon\",class:\"h-4 text-xl leading-6 text-black\"})])])):t.value.length&&n.multiple?(l(),_(\"div\",HA,[(l(!0),_(X,null,ae(t.value,(U,L)=>(l(),_(\"a\",{key:U,href:\"#\",class:\"block p-2 m-2 bg-white border border-gray-200 rounded hover:border-gray-500 relative max-w-md\",onClick:E[3]||(E[3]=se(()=>{},[\"prevent\"]))},[U.image?(l(),_(\"img\",{key:0,for:\"file-upload\",src:U.image,class:\"block object-cover w-20 h-20 opacity-100\",style:{animation:\"fadeIn 2s ease\"}},null,8,YA)):(l(),_(\"div\",GA,[JA,U.name?(l(),_(\"p\",QA,w(U.name),1)):P(\"\",!0)])),c(\"a\",{href:\"#\",class:\"box-border absolute z-30 flex items-center justify-center w-8 h-8 bg-white border border-gray-200 rounded-full shadow-md -bottom-3 -right-3 group hover:border-gray-300\",onClick:se(Y=>h(L),[\"prevent\",\"stop\"])},[u(x,{name:\"XIcon\",class:\"h-4 text-xl leading-6 text-black\"})],8,XA)]))),128))])):(l(),_(\"div\",eD,[(l(!0),_(X,null,ae(t.value,(U,L)=>(l(),_(\"a\",{key:U,href:\"#\",class:\"block p-2 m-2 bg-white border border-gray-200 rounded hover:border-gray-500 relative max-w-md\",onClick:E[4]||(E[4]=se(()=>{},[\"prevent\"]))},[U.image?(l(),_(\"img\",{key:0,for:\"file-upload\",src:U.image,class:\"block object-contain h-20 opacity-100 min-w-[5rem]\",style:{animation:\"fadeIn 2s ease\"}},null,8,tD)):(l(),_(\"div\",aD,[nD,U.name?(l(),_(\"p\",iD,w(U.name),1)):P(\"\",!0)])),c(\"a\",{href:\"#\",class:\"box-border absolute z-30 flex items-center justify-center w-8 h-8 bg-white border border-gray-200 rounded-full shadow-md -bottom-3 -right-3 group hover:border-gray-300\",onClick:se(Y=>h(L),[\"prevent\",\"stop\"])},[u(x,{name:\"XIcon\",class:\"h-4 text-xl leading-6 text-black\"})],8,oD)]))),128))])):(l(),_(\"div\",FA,[u(x,{name:\"CloudUploadIcon\",class:\"h-6 mb-2 text-xl leading-6 text-gray-400\"}),c(\"p\",$A,[UA,c(\"a\",{class:\"cursor-pointer text-primary-500 hover:text-primary-600 hover:font-medium relative z-20\",href:\"#\",onClick:se(z,[\"prevent\",\"stop\"])},\" browse \",8,VA),OA]),c(\"p\",LA,w(n.recommendedText),1)]))],2)}}};var rD=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:sD});const dD={class:\"relative z-10 p-4 md:p-8 bg-gray-200 rounded\"},lD={props:{show:{type:Boolean,default:!1},rowOnXl:{type:Boolean,default:!1}},emits:[\"clear\"],setup(n){return(r,o)=>(l(),T(Ne,{\"enter-active-class\":\"transition duration-500 ease-in-out\",\"enter-from-class\":\"opacity-0\",\"enter-to-class\":\"opacity-100\",\"leave-active-class\":\"transition ease-in-out\",\"leave-from-class\":\"opacity-100\",\"leave-to-class\":\"opacity-0\"},{default:f(()=>[xe(c(\"div\",dD,[F(r.$slots,\"filter-header\"),c(\"label\",{class:\"absolute text-sm leading-snug text-gray-900 cursor-pointer hover:text-gray-700 top-2.5 right-3.5\",onClick:o[0]||(o[0]=a=>r.$emit(\"clear\"))},w(r.$t(\"general.clear_all\")),1),c(\"div\",{class:N([\"flex flex-col space-y-3\",n.rowOnXl?\"xl:flex-row xl:space-x-4 xl:space-y-0 xl:items-center\":\"lg:flex-row lg:space-x-4 lg:space-y-0 lg:items-center\"])},[F(r.$slots,\"default\")],2)],512),[[dt,n.show]])]),_:3}))}};var cD=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:lD});const _D={style:{\"font-family\":\"sans-serif\"}},uD={props:{amount:{type:[Number,String],required:!0},currency:{type:Object,default:()=>null}},setup(n){const r=n,o=ra(\"utils\"),a=_e(),t=A(()=>o.formatMoney(r.amount,r.currency||a.selectedCompanyCurrency));return(i,e)=>(l(),_(\"span\",_D,w(d(t)),1))}};var mD=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:uD});const pD={viewBox:\"0 0 225 50\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\"},fD=lt('<path d=\"M211.738 32.1659V27.7768C214.619 24.947 218.409 23.3831 224.397 23.1597V11.6916C218.939 11.6916 214.998 13.4043 211.738 16.1597V12.2873H199.576C199.507 12.9433 199.472 13.609 199.472 14.2828C199.472 22.3755 204.546 29.3041 211.738 32.1659Z\" fill=\"url(#paint0_linear_499_29)\"></path><path d=\"M211.738 36.1165C206.645 34.4592 202.327 31.1297 199.459 26.7902V48.4045H211.738V36.1165Z\" fill=\"url(#paint1_linear_499_29)\"></path><path d=\"M16.0297 48.8865C19.2962 46.1641 21.7924 42.5768 23.1519 38.4848C25.3401 37.6506 26.8605 35.8956 27.2881 33.5853H38.8855C38.0517 42.8939 30.2443 49.2237 20.087 49.2237C18.6861 49.2237 17.3305 49.1085 16.0297 48.8865Z\" fill=\"url(#paint2_linear_499_29)\"></path><path d=\"M20.087 11.4682C17.9247 11.4682 15.8704 11.7426 13.9591 12.26C17.5644 14.6466 20.4567 17.9932 22.2562 21.9269C24.9219 22.5899 26.8043 24.4928 27.2881 27.1065H38.8855C38.0517 17.798 30.2443 11.4682 20.087 11.4682Z\" fill=\"url(#paint3_linear_499_29)\"></path><path d=\"M0 30.3087C0 38.354 4.52386 44.7328 11.4781 47.5909C14.7638 45.5212 17.3803 42.5159 18.9382 38.9578C14.3944 38.4418 11.6732 34.8526 11.6732 30.3087C11.6732 26.0841 14.0253 22.7398 18.0075 21.8837C16.0622 18.4948 13.104 15.7418 9.53648 14.0211C3.69365 17.1959 0 23.0881 0 30.3087Z\" fill=\"url(#paint4_linear_499_29)\"></path><path d=\"M69.9096 23.1597V11.6916C64.452 11.6916 60.5104 13.4043 57.251 16.1597V12.2873H44.9714V48.4045H57.251V27.7768C60.1314 24.947 63.9214 23.3831 69.9096 23.1597Z\" fill=\"url(#paint5_linear_499_29)\"></path><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M113.912 48.4045V12.2873H101.633V14.2235C98.9038 12.5107 95.5686 11.4682 91.5512 11.4682C81.6214 11.4682 73.2833 19.5108 73.2833 30.3087C73.2833 41.0322 81.6214 49.1492 91.5512 49.1492C95.5686 49.1492 98.9038 48.1067 101.633 46.3939V48.4045H113.912ZM93.9768 39.2449C88.974 39.2449 85.3356 35.2981 85.3356 30.3087C85.3356 25.3193 88.974 21.298 93.9768 21.298C96.7056 21.298 99.3586 22.1172 101.633 24.7236V35.8938C99.3586 38.5002 96.7056 39.2449 93.9768 39.2449Z\" fill=\"url(#paint6_linear_499_29)\"></path><path d=\"M151.738 47.7343L150.374 37.5321C147.645 38.0534 145.598 38.4258 143.855 38.4258C140.217 38.4258 138.094 36.6385 138.094 32.9896V22.6384H150.601V12.2873H138.094V0H125.815V12.2873H118.614V22.6384H125.815V33.3619C125.815 43.1173 131.727 49.5216 140.596 49.5216C144.234 49.5216 146.963 49.2237 151.738 47.7343Z\" fill=\"url(#paint7_linear_499_29)\"></path><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M193.36 29.564C193.36 18.6916 185.25 11.4682 174.562 11.4682C162.813 11.4682 155.005 19.3618 155.005 30.3087C155.005 41.33 163.04 49.2237 175.092 49.2237C184.188 49.2237 191.238 44.5322 192.981 37.0853H180.853C179.792 38.7236 177.821 39.6917 175.244 39.6917C170.544 39.6917 167.967 37.1598 166.982 33.8832H193.209L193.133 33.6598C193.36 32.3193 193.36 30.9044 193.36 29.564ZM174.562 20.7767C178.503 20.7767 181.156 22.8618 181.839 26.8087H166.83C167.74 23.1597 170.393 20.7767 174.562 20.7767Z\" fill=\"url(#paint8_linear_499_29)\"></path>',9),gD={id:\"paint0_linear_499_29\",x1:\"-2.72961e-07\",y1:\"22.9922\",x2:\"224.397\",y2:\"22.9922\",gradientUnits:\"userSpaceOnUse\"},vD=[\"stop-color\"],yD=[\"stop-color\"],hD={id:\"paint1_linear_499_29\",x1:\"-2.72961e-07\",y1:\"22.9922\",x2:\"224.397\",y2:\"22.9922\",gradientUnits:\"userSpaceOnUse\"},bD=[\"stop-color\"],kD=[\"stop-color\"],wD={id:\"paint2_linear_499_29\",x1:\"-2.72961e-07\",y1:\"22.9922\",x2:\"224.397\",y2:\"22.9922\",gradientUnits:\"userSpaceOnUse\"},zD=[\"stop-color\"],xD=[\"stop-color\"],PD={id:\"paint3_linear_499_29\",x1:\"-2.72961e-07\",y1:\"22.9922\",x2:\"224.397\",y2:\"22.9922\",gradientUnits:\"userSpaceOnUse\"},SD=[\"stop-color\"],jD=[\"stop-color\"],AD={id:\"paint4_linear_499_29\",x1:\"-2.72961e-07\",y1:\"22.9922\",x2:\"224.397\",y2:\"22.9922\",gradientUnits:\"userSpaceOnUse\"},DD=[\"stop-color\"],CD=[\"stop-color\"],ND={id:\"paint5_linear_499_29\",x1:\"-2.72961e-07\",y1:\"22.9922\",x2:\"224.397\",y2:\"22.9922\",gradientUnits:\"userSpaceOnUse\"},ED=[\"stop-color\"],ID=[\"stop-color\"],TD={id:\"paint6_linear_499_29\",x1:\"-2.72961e-07\",y1:\"22.9922\",x2:\"224.397\",y2:\"22.9922\",gradientUnits:\"userSpaceOnUse\"},RD=[\"stop-color\"],MD=[\"stop-color\"],FD={id:\"paint7_linear_499_29\",x1:\"-2.72961e-07\",y1:\"22.9922\",x2:\"224.397\",y2:\"22.9922\",gradientUnits:\"userSpaceOnUse\"},$D=[\"stop-color\"],UD=[\"stop-color\"],VD={id:\"paint8_linear_499_29\",x1:\"-2.72961e-07\",y1:\"22.9922\",x2:\"224.397\",y2:\"22.9922\",gradientUnits:\"userSpaceOnUse\"},OD=[\"stop-color\"],LD=[\"stop-color\"],qD={props:{darkColor:{type:String,default:\"rgba(var(--color-primary-500), var(--tw-text-opacity))\"},lightColor:{type:String,default:\"rgba(var(--color-primary-400), var(--tw-text-opacity))\"}},setup(n){return(r,o)=>(l(),_(\"svg\",pD,[fD,c(\"defs\",null,[c(\"linearGradient\",gD,[c(\"stop\",{\"stop-color\":n.darkColor},null,8,vD),c(\"stop\",{offset:\"1\",\"stop-color\":n.lightColor},null,8,yD)]),c(\"linearGradient\",hD,[c(\"stop\",{\"stop-color\":n.darkColor},null,8,bD),c(\"stop\",{offset:\"1\",\"stop-color\":n.lightColor},null,8,kD)]),c(\"linearGradient\",wD,[c(\"stop\",{\"stop-color\":n.darkColor},null,8,zD),c(\"stop\",{offset:\"1\",\"stop-color\":n.lightColor},null,8,xD)]),c(\"linearGradient\",PD,[c(\"stop\",{\"stop-color\":n.darkColor},null,8,SD),c(\"stop\",{offset:\"1\",\"stop-color\":n.lightColor},null,8,jD)]),c(\"linearGradient\",AD,[c(\"stop\",{\"stop-color\":n.darkColor},null,8,DD),c(\"stop\",{offset:\"1\",\"stop-color\":n.lightColor},null,8,CD)]),c(\"linearGradient\",ND,[c(\"stop\",{\"stop-color\":n.darkColor},null,8,ED),c(\"stop\",{offset:\"1\",\"stop-color\":n.lightColor},null,8,ID)]),c(\"linearGradient\",TD,[c(\"stop\",{\"stop-color\":n.darkColor},null,8,RD),c(\"stop\",{offset:\"1\",\"stop-color\":n.lightColor},null,8,MD)]),c(\"linearGradient\",FD,[c(\"stop\",{\"stop-color\":n.darkColor},null,8,$D),c(\"stop\",{offset:\"1\",\"stop-color\":n.lightColor},null,8,UD)]),c(\"linearGradient\",VD,[c(\"stop\",{\"stop-color\":n.darkColor},null,8,OD),c(\"stop\",{offset:\"1\",\"stop-color\":n.lightColor},null,8,LD)])])]))}};const BD={class:\"flex flex-col items-center justify-center h-screen\"},KD={class:\"loader loader-white\"},ZD=lt('<div class=\"loader-spined\"><div class=\"loader--icon\"><svg class=\"offset-45deg text-primary-500\" width=\"27\" height=\"27\" viewBox=\"0 0 27 27\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M25.9053 1.75122C25.8037 1.44653 25.5498 1.19263 25.2451 1.09106C23.6201 0.735596 22.3506 0.735596 21.0811 0.735596C15.8506 0.735596 12.7021 3.57935 10.3662 7.2356L5.03418 7.2356C4.22168 7.28638 3.25684 7.84497 2.85059 8.60669L0.362305 13.634C0.311523 13.7864 0.260742 13.9895 0.260742 14.1418C0.260742 14.8528 0.768555 15.3606 1.47949 15.3606H6.70996L5.59277 16.5286C4.9834 17.0872 4.93262 18.1536 5.59277 18.8137L8.18262 21.4036C8.74121 21.9622 9.80762 22.0637 10.4678 21.4036L11.585 20.2864V25.5168C11.6357 26.2278 12.1436 26.7356 12.8545 26.7356C13.0068 26.7356 13.21 26.6848 13.3623 26.634L18.3896 24.1458C19.1514 23.7395 19.71 22.7747 19.71 21.9622V16.6301C23.417 14.2942 26.21 11.1458 26.21 5.91528C26.2607 4.64575 26.2607 3.37622 25.9053 1.75122ZM19.7607 9.26685C18.5928 9.26685 17.7295 8.40356 17.7295 7.2356C17.7295 6.11841 18.5928 5.20435 19.7607 5.20435C20.8779 5.20435 21.792 6.11841 21.792 7.2356C21.792 8.40356 20.8779 9.26685 19.7607 9.26685Z\" fill=\"currentColor\"></path></svg></div></div><div class=\"pufs text-primary-500\"><i class=\"text-primary-500\"></i><i></i><i></i> <i></i><i></i><i></i><i></i><i></i><i></i> <i></i><i></i><i></i> <i></i><i></i><i></i> <i></i><i></i><i></i> <i></i><i></i><i></i> <i></i><i></i><i></i> <i></i><i></i><i></i> <i></i><i></i><i></i> <i></i><i></i><i></i> <i></i><i></i><i></i> <i></i><i></i><i></i> <i></i><i></i><i></i> <i></i><i></i><i></i></div><div class=\"particles text-primary-500\"><i></i><i></i><i></i> <i></i><i></i><i></i> <i></i><i></i><i></i> <i></i><i></i><i></i> <i></i><i></i><i></i> <i></i><i></i><i></i> <i></i><i></i><i></i> <i></i><i></i><i></i> <i></i><i></i><i></i> <i></i><i></i><i></i> <i></i><i></i><i></i> <i></i><i></i><i></i> <i></i><i></i><i></i> <i></i><i></i><i></i> <i></i><i></i><i></i></div>',3),WD={props:{showBgOverlay:{default:!1,type:Boolean}},setup(n){return(r,o)=>(l(),_(\"div\",BD,[c(\"div\",KD,[ZD,u(qD,{class:\"absolute block h-auto max-w-full transform -translate-x-1/2 -translate-y-1/2 w-28 text-primary-400 top-1/2 left-1/2\",alt:\"Crater Logo\"})])]))}};var HD=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:WD});const YD={props:{type:{type:String,default:\"section-title\",validator:function(n){return[\"section-title\",\"heading-title\"].indexOf(n)!==-1}}},setup(n){const r=n,o=A(()=>({\"text-gray-900 text-lg font-medium\":r.type===\"heading-title\",\"text-gray-500 uppercase text-base\":r.type===\"section-title\"}));return(a,t)=>(l(),_(\"h6\",{class:N(d(o))},[F(a.$slots,\"default\")],2))}};var GD=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:YD});const JD={props:{name:{type:String,required:!0}},setup(n){const r=K(!1);return Pe(()=>{r.value=!0}),(o,a)=>r.value?(l(),T(da(d(la)[n.name]),{key:0,class:\"h-5 w-5\"})):P(\"\",!0)}};var QD=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:JD});const XD={class:\"rounded-md bg-yellow-50 p-4 relative\"},eC={class:\"flex flex-col\"},tC={class:\"flex\"},aC={class:\"shrink-0\"},nC={class:\"ml-3\"},iC={class:\"text-sm font-medium text-yellow-800\"},oC={class:\"mt-2 text-sm text-yellow-700\"},sC={role:\"list\",class:\"list-disc pl-5 space-y-1\"},rC={key:0,class:\"mt-4 ml-3\"},dC={class:\"-mx-2 -my-1.5 flex flex-row-reverse\"},lC=[\"onClick\"],cC={props:{title:{type:String,default:\"There were some errors with your submission\"},lists:{type:Array,default:null},actions:{type:Array,default:()=>[\"Dismiss\"]}},emits:[\"hide\"],setup(n,{emit:r}){return(o,a)=>{const t=C(\"BaseIcon\");return l(),_(\"div\",XD,[u(t,{name:\"XIcon\",class:\"h-5 w-5 text-yellow-500 absolute right-4 cursor-pointer\",onClick:a[0]||(a[0]=i=>o.$emit(\"hide\"))}),c(\"div\",eC,[c(\"div\",tC,[c(\"div\",aC,[u(t,{name:\"ExclamationIcon\",class:\"h-5 w-5 text-yellow-400\",\"aria-hidden\":\"true\"})]),c(\"div\",nC,[c(\"h3\",iC,w(n.title),1),c(\"div\",oC,[c(\"ul\",sC,[(l(!0),_(X,null,ae(n.lists,(i,e)=>(l(),_(\"li\",{key:e},w(i),1))),128))])])])]),n.actions.length?(l(),_(\"div\",rC,[c(\"div\",dC,[(l(!0),_(X,null,ae(n.actions,(i,e)=>(l(),_(\"button\",{key:e,type:\"button\",class:\"bg-yellow-50 px-2 py-1.5 rounded-md text-sm font-medium text-yellow-800 hover:bg-yellow-100 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-offset-yellow-50 focus:ring-yellow-600 mr-3\",onClick:s=>o.$emit(`${i}`)},w(i),9,lC))),128))])])):P(\"\",!0)])])}}};var _C=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:cC});const uC={key:0,class:\"absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none\"},mC=c(\"circle\",{class:\"opacity-25\",cx:\"12\",cy:\"12\",r:\"10\",stroke:\"currentColor\",\"stroke-width\":\"4\"},null,-1),pC=c(\"path\",{class:\"opacity-75\",fill:\"currentColor\",d:\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"},null,-1),fC=[mC,pC],gC={key:1,class:\"absolute inset-y-0 left-0 flex items-center pl-3\"},vC={key:2,class:\"inline-flex items-center px-3 text-gray-500 border border-r-0 border-gray-200 rounded-l-md bg-gray-50 sm:text-sm\"},yC={key:3,class:\"absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none\"},hC={class:\"text-gray-500 sm:text-sm\"},bC=[\"type\",\"value\",\"disabled\"],kC={key:4,class:\"absolute inset-y-0 right-0 flex items-center pr-3 pointer-events-none\"},wC=c(\"circle\",{class:\"opacity-25\",cx:\"12\",cy:\"12\",r:\"10\",stroke:\"currentColor\",\"stroke-width\":\"4\"},null,-1),zC=c(\"path\",{class:\"opacity-75\",fill:\"currentColor\",d:\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"},null,-1),xC=[wC,zC],PC={key:5,class:\"absolute inset-y-0 right-0 flex items-center pr-3\"},SC={props:{contentLoading:{type:Boolean,default:!1},type:{type:[Number,String],default:\"text\"},modelValue:{type:[String,Number],default:\"\"},loading:{type:Boolean,default:!1},loadingPosition:{type:String,default:\"left\"},addon:{type:String,default:null},inlineAddon:{type:String,default:\"\"},invalid:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},containerClass:{type:String,default:\"\"},contentLoadClass:{type:String,default:\"\"},defaultInputClass:{type:String,default:\"font-base block w-full sm:text-sm border-gray-200 rounded-md text-black\"},iconLeftClass:{type:String,default:\"h-5 w-5 text-gray-400\"},iconRightClass:{type:String,default:\"h-5 w-5 text-gray-400\"},modelModifiers:{default:()=>({})}},emits:[\"update:modelValue\"],setup(n,{emit:r}){const o=n;K(!1);const a=pe(),t=A(()=>!!a.left||o.loading&&o.loadingPosition===\"left\"),i=A(()=>!!a.right||o.loading&&o.loadingPosition===\"right\"),e=A(()=>t.value&&i.value?\"px-10\":t.value?\"pl-10\":i.value?\"pr-10\":\"\"),s=A(()=>o.addon?\"flex-1 min-w-0 block w-full px-3 py-2 !rounded-none !rounded-r-md\":o.inlineAddon?\"pl-7\":\"\"),m=A(()=>o.invalid?\"border-red-500 ring-red-500 focus:ring-red-500 focus:border-red-500\":\"focus:ring-primary-400 focus:border-primary-400\"),p=A(()=>o.disabled?\"border-gray-100 bg-gray-100 !text-gray-400 ring-gray-200 focus:ring-gray-200 focus:border-gray-100\":\"\"),k=A(()=>{let g=`${o.containerClass} `;return o.addon?`${o.containerClass} flex`:g});function z(g){let h=g.target.value;o.modelModifiers.uppercase&&(h=h.toUpperCase()),r(\"update:modelValue\",h)}return(g,h)=>{const D=C(\"BaseContentPlaceholdersBox\"),R=C(\"BaseContentPlaceholders\");return n.contentLoading?(l(),T(R,{key:0},{default:f(()=>[u(D,{rounded:!0,class:N(`w-full ${n.contentLoadClass}`),style:{height:\"38px\"}},null,8,[\"class\"])]),_:1})):(l(),_(\"div\",{key:1,class:N([[n.containerClass,d(k)],\"relative rounded-md shadow-sm font-base\"])},[n.loading&&n.loadingPosition===\"left\"?(l(),_(\"div\",uC,[(l(),_(\"svg\",{class:N([\"animate-spin !text-primary-500\",[n.iconLeftClass]]),xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\"},fC,2))])):d(t)?(l(),_(\"div\",gC,[F(g.$slots,\"left\",{class:N(n.iconLeftClass)})])):P(\"\",!0),n.addon?(l(),_(\"span\",vC,w(n.addon),1)):P(\"\",!0),n.inlineAddon?(l(),_(\"div\",yC,[c(\"span\",hC,w(n.inlineAddon),1)])):P(\"\",!0),c(\"input\",le(g.$attrs,{type:n.type,value:n.modelValue,disabled:n.disabled,class:[n.defaultInputClass,d(e),d(s),d(m),d(p)],onInput:z}),null,16,bC),n.loading&&n.loadingPosition===\"right\"?(l(),_(\"div\",kC,[(l(),_(\"svg\",{class:N([\"animate-spin !text-primary-500\",[n.iconRightClass]]),xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\"},xC,2))])):P(\"\",!0),d(i)?(l(),_(\"div\",PC,[F(g.$slots,\"right\",{class:N(n.iconRightClass)})])):P(\"\",!0)],2))}}};var jC=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:SC});const AC={props:{layout:{type:String,default:\"two-column\"}},setup(n){const r=n,o=A(()=>r.layout===\"two-column\"?\"grid gap-y-6 gap-x-4 grid-cols-1 md:grid-cols-2\":\"grid gap-y-6 gap-x-4 grid-cols-1\");return(a,t)=>(l(),_(\"div\",{class:N(d(o))},[F(a.$slots,\"default\")],2))}};var DC=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:AC});const CC={class:\"text-sm text-red-500\"},NC={key:0,class:\"text-gray-500 text-xs mt-1 font-light\"},EC={key:1,class:\"block mt-0.5 text-sm text-red-500\"},IC={props:{contentLoading:{type:Boolean,default:!1},contentLoadClass:{type:String,default:\"w-16 h-5\"},label:{type:String,default:\"\"},variant:{type:String,default:\"vertical\"},error:{type:[String,Boolean],default:null},required:{type:Boolean,default:!1},tooltip:{type:String,default:null,required:!1},helpText:{type:String,default:null,required:!1}},setup(n){const r=n,o=A(()=>r.variant===\"horizontal\"?\"grid md:grid-cols-12 items-center\":\"\"),a=A(()=>r.variant===\"horizontal\"?\"relative pr-0 pt-1 mr-3 text-sm md:col-span-4 md:text-right mb-1  md:mb-0\":\"\"),t=A(()=>r.variant===\"horizontal\"?\"md:col-span-8 md:col-start-5 md:col-ends-12\":\"flex flex-col mt-1\"),i=pe(),e=A(()=>!!i.labelRight);return(s,m)=>{const p=C(\"BaseContentPlaceholdersText\"),k=C(\"BaseContentPlaceholders\"),z=C(\"BaseIcon\"),g=et(\"tooltip\");return l(),_(\"div\",{class:N([d(o),\"relative w-full text-left\"])},[n.contentLoading?(l(),T(k,{key:0},{default:f(()=>[u(p,{lines:1,class:N(n.contentLoadClass)},null,8,[\"class\"])]),_:1})):n.label?(l(),_(\"label\",{key:1,class:N([d(a),\"flex text-sm not-italic items-center font-medium text-gray-800 whitespace-nowrap justify-between\"])},[c(\"div\",null,[B(w(n.label)+\" \",1),xe(c(\"span\",CC,\" * \",512),[[dt,n.required]])]),d(e)?F(s.$slots,\"labelRight\",{key:0}):P(\"\",!0),n.tooltip?xe((l(),T(z,{key:1,name:\"InformationCircleIcon\",class:\"h-4 text-gray-400 cursor-pointer hover:text-gray-600\"},null,512)),[[g,{content:n.tooltip}]]):P(\"\",!0)],2)):P(\"\",!0),c(\"div\",{class:N(d(t))},[F(s.$slots,\"default\"),n.helpText?(l(),_(\"span\",NC,w(n.helpText),1)):P(\"\",!0),n.error?(l(),_(\"span\",EC,w(n.error),1)):P(\"\",!0)],2)],2)}}};var TC=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:IC});const RC={props:{status:{type:String,required:!1,default:\"\"}},setup(n){return{badgeColorClasses:A(()=>{switch(n.status){case\"DRAFT\":return\"bg-yellow-300 bg-opacity-25 px-2  py-1 text-sm  text-yellow-800 uppercase font-normal text-center\";case\"SENT\":return\" bg-yellow-500 bg-opacity-25 px-2 py-1 text-sm  text-yellow-900 uppercase font-normal text-center \";case\"VIEWED\":return\"bg-blue-400 bg-opacity-25 px-2  py-1 text-sm  text-blue-900 uppercase font-normal text-center\";case\"COMPLETED\":return\"bg-green-500 bg-opacity-25 px-2  py-1 text-sm  text-green-900 uppercase font-normal text-center\";case\"DUE\":return\"bg-yellow-500 bg-opacity-25 px-2  py-1 text-sm  text-yellow-900 uppercase font-normal text-center\";case\"OVERDUE\":return\"bg-red-300 bg-opacity-50 px-2  py-1 text-sm  text-red-900 uppercase font-normal text-center\";case\"UNPAID\":return\"bg-yellow-500 bg-opacity-25 px-2 py-1 text-sm  text-yellow-900 uppercase font-normal text-center\";case\"PARTIALLY_PAID\":return\"bg-blue-400 bg-opacity-25 px-2  py-1 text-sm  text-blue-900 uppercase font-normal text-center\";case\"PAID\":return\"bg-green-500 bg-opacity-25 px-2 py-1 text-sm  text-green-900 uppercase font-normal text-center\";default:return\"bg-gray-500 bg-opacity-25 px-2 py-1 text-sm  text-gray-900 uppercase font-normal text-center\"}})}}};function MC(n,r,o,a,t,i){return l(),_(\"span\",{class:N(a.badgeColorClasses)},[F(n.$slots,\"default\")],2)}var FC=ee(RC,[[\"render\",MC]]),$C=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:FC});const UC={class:\"flex-1 text-sm\"},VC={key:0,class:\"relative flex items-center h-10 pl-2 bg-gray-200 border border-gray-200 border-solid rounded\"},OC={class:\"w-full pt-1 text-xs text-light\"},LC={key:0},qC={class:\"text-red-600\"},BC={props:{contentLoading:{type:Boolean,default:!1},type:{type:String,default:null},item:{type:Object,required:!0},index:{type:Number,default:0},invalid:{type:Boolean,required:!1,default:!1},invalidDescription:{type:Boolean,required:!1,default:!1},taxPerItem:{type:String,default:\"\"},taxes:{type:Array,default:null},store:{type:Object,default:null},storeProp:{type:String,default:\"\"}},emits:[\"search\",\"select\"],setup(n,{emit:r}){const o=n,a=Fe();He(),$e();const t=je(),i=ve();ge();const{t:e}=Se(),s=K(null);K(!1);let m=Ve(M({},o.item));Object.assign(m,o.item),A(()=>0);const p=A({get:()=>o.item.description,set:h=>{o.store[o.storeProp].items[o.index].description=h}});async function k(h){return(await a.fetchItems({search:h})).data.data}function z(){t.openModal({title:e(\"items.add_item\"),componentName:\"ItemModal\",refreshData:h=>r(\"select\",h),data:{taxPerItem:o.taxPerItem,taxes:o.taxes,itemIndex:o.index,store:o.store,storeProps:o.storeProp}})}function g(h){o.store.deselectItem(h)}return(h,D)=>{const R=C(\"BaseIcon\"),E=C(\"BaseSelectAction\"),x=C(\"BaseMultiselect\"),U=C(\"BaseTextarea\");return l(),_(\"div\",UC,[n.item.item_id?(l(),_(\"div\",VC,[B(w(n.item.name)+\" \",1),c(\"span\",{class:\"absolute text-gray-400 cursor-pointer top-[8px] right-[10px]\",onClick:D[0]||(D[0]=L=>g(n.index))},[u(R,{name:\"XCircleIcon\"})])])):(l(),T(x,{key:1,modelValue:s.value,\"onUpdate:modelValue\":[D[1]||(D[1]=L=>s.value=L),D[2]||(D[2]=L=>h.$emit(\"select\",L))],\"content-loading\":n.contentLoading,\"value-prop\":\"id\",\"track-by\":\"name\",invalid:n.invalid,\"preserve-search\":\"\",\"initial-search\":d(m).name,label:\"name\",filterResults:!1,\"resolve-on-load\":\"\",delay:500,searchable:\"\",options:k,object:\"\",onSearchChange:D[3]||(D[3]=L=>h.$emit(\"search\",L))},{action:f(()=>[d(i).hasAbilities(d(O).CREATE_ITEM)?(l(),T(E,{key:0,onClick:z},{default:f(()=>[u(R,{name:\"PlusCircleIcon\",class:\"h-4 mr-2 -ml-2 text-center text-primary-400\"}),B(\" \"+w(h.$t(\"general.add_new_item\")),1)]),_:1})):P(\"\",!0)]),_:1},8,[\"modelValue\",\"content-loading\",\"invalid\",\"initial-search\"])),c(\"div\",OC,[u(U,{modelValue:d(p),\"onUpdate:modelValue\":D[4]||(D[4]=L=>J(p)?p.value=L:null),\"content-loading\":n.contentLoading,autosize:!0,class:\"text-xs\",borderless:!0,placeholder:h.$t(\"estimates.item.type_item_description\"),invalid:n.invalidDescription},null,8,[\"modelValue\",\"content-loading\",\"placeholder\",\"invalid\"]),n.invalidDescription?(l(),_(\"div\",LC,[c(\"span\",qC,w(h.$tc(\"validation.description_maxlength\")),1)])):P(\"\",!0)])])}}};var KC=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:BC});const ZC={},WC={class:\"text-sm not-italic font-medium leading-5 text-primary-800\"};function HC(n,r){return l(),_(\"label\",WC,[F(n.$slots,\"default\")])}var YC=ee(ZC,[[\"render\",HC]]),GC=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:YC});const JC={class:\"flex items-end justify-center min-h-screen px-4 text-center sm:block sm:px-2\"},QC=c(\"span\",{class:\"hidden sm:inline-block sm:align-middle sm:h-screen\",\"aria-hidden\":\"true\"},\"\\u200B\",-1),XC={key:0,class:\"flex items-center justify-between px-6 py-4 text-lg font-medium text-black border-b border-gray-200 border-solid\"},eN={props:{show:{type:Boolean,default:!1}},emits:[\"close\",\"open\"],setup(n,{emit:r}){const o=n,a=pe(),t=je();rt(()=>{o.show&&r(\"open\",o.show)});const i=A(()=>{switch(t.size){case\"sm\":return\"sm:max-w-2xl w-full\";case\"md\":return\"sm:max-w-4xl w-full\";case\"lg\":return\"sm:max-w-6xl w-full\";default:return\"sm:max-w-2xl w-full\"}}),e=A(()=>!!a.header);return(s,m)=>(l(),T(ca,{to:\"body\"},[u(d(st),{appear:\"\",as:\"template\",show:n.show},{default:f(()=>[u(d(ot),{as:\"div\",static:\"\",class:\"fixed inset-0 z-20 overflow-y-auto\",open:n.show,onClose:m[0]||(m[0]=p=>s.$emit(\"close\"))},{default:f(()=>[c(\"div\",JC,[u(d(Ee),{as:\"template\",enter:\"ease-out duration-300\",\"enter-from\":\"opacity-0\",\"enter-to\":\"opacity-100\",leave:\"ease-in duration-200\",\"leave-from\":\"opacity-100\",\"leave-to\":\"opacity-0\"},{default:f(()=>[u(d(it),{class:\"fixed inset-0 transition-opacity bg-gray-700 bg-opacity-25\"})]),_:1}),QC,u(d(Ee),{as:\"template\",enter:\"ease-out duration-300\",\"enter-from\":\"opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95\",\"enter-to\":\"opacity-100 translate-y-0 sm:scale-100\",leave:\"ease-in duration-200\",\"leave-from\":\"opacity-100 translate-y-0 sm:scale-100\",\"leave-to\":\"opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95\"},{default:f(()=>[c(\"div\",{class:N(`inline-block\n              align-middle\n              bg-white\n              rounded-lg\n              text-left\n              overflow-hidden\n              relative\n              shadow-xl\n              transition-all\n              my-4\n              ${d(i)}\n              sm:w-full\n              border-t-8 border-solid rounded shadow-xl  border-primary-500`)},[d(e)?(l(),_(\"div\",XC,[F(s.$slots,\"header\")])):P(\"\",!0),F(s.$slots,\"default\"),F(s.$slots,\"footer\")],2)]),_:3})])]),_:3},8,[\"open\"])]),_:3},8,[\"show\"])]))}};var tN=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:eN});const aN={props:{contentLoading:{type:Boolean,default:!1},modelValue:{type:[String,Number],required:!0,default:\"\"},invalid:{type:Boolean,default:!1},inputClass:{type:String,default:\"font-base block w-full sm:text-sm border-gray-200 rounded-md text-black\"},disabled:{type:Boolean,default:!1},percent:{type:Boolean,default:!1},currency:{type:Object,default:null}},emits:[\"update:modelValue\"],setup(n,{emit:r}){const o=n;let a=_a;const t=_e();let i=!1;const e=A({get:()=>o.modelValue,set:p=>{if(!i){i=!0;return}r(\"update:modelValue\",p)}}),s=A(()=>{const p=o.currency?o.currency:t.selectedCompanyCurrency;return{decimal:p.decimal_separator,thousands:p.thousand_separator,prefix:p.symbol+\" \",precision:p.precision,masked:!1}}),m=A(()=>o.invalid?\"border-red-500 ring-red-500 focus:ring-red-500 focus:border-red-500\":\"focus:ring-primary-400 focus:border-primary-400\");return(p,k)=>{const z=C(\"BaseContentPlaceholdersBox\"),g=C(\"BaseContentPlaceholders\");return n.contentLoading?(l(),T(g,{key:0},{default:f(()=>[u(z,{rounded:!0,class:\"w-full\",style:{height:\"38px\"}})]),_:1})):(l(),T(d(a),le({key:1,modelValue:d(e),\"onUpdate:modelValue\":k[0]||(k[0]=h=>J(e)?e.value=h:null)},d(s),{class:[n.inputClass,d(m)],disabled:n.disabled}),null,16,[\"modelValue\",\"class\",\"disabled\"]))}}};var nN=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:aN});const iN={props:{sucess:{type:Boolean,default:!1}},setup(n){return(r,o)=>(l(),_(\"span\",{class:N([n.sucess?\"bg-green-100 text-green-700 \":\"bg-red-100 text-red-700\",\"px-2 py-1 text-sm font-normal text-center uppercase\"])},[F(r.$slots,\"default\")],2))}};var oN=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:iN});const sN={},rN={class:\"flex-1 p-4 md:p-8 flex flex-col\"};function dN(n,r){return l(),_(\"div\",rN,[F(n.$slots,\"default\")])}var lN=ee(sN,[[\"render\",dN]]),cN=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:lN});const _N={class:\"flex flex-wrap justify-between\"},uN={class:\"text-2xl font-bold text-left text-black\"},mN={class:\"flex items-center\"},pN={props:{title:{type:[String],default:\"\",required:!0}},setup(n){return(r,o)=>(l(),_(\"div\",_N,[c(\"div\",null,[c(\"h3\",uN,w(n.title),1),F(r.$slots,\"default\")]),c(\"div\",mN,[F(r.$slots,\"actions\")])]))}};var fN=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:pN});const gN={props:{status:{type:String,required:!1,default:\"\"},defaultClass:{type:String,default:\"px-1 py-0.5 text-xs\"}},setup(n){return{badgeColorClasses:A(()=>{switch(n.status){case\"PAID\":return\"bg-primary-300 bg-opacity-25 text-primary-800 uppercase font-normal text-center\";case\"UNPAID\":return\" bg-yellow-500 bg-opacity-25 text-yellow-900 uppercase font-normal text-center \";case\"PARTIALLY_PAID\":return\"bg-blue-400 bg-opacity-25 text-blue-900 uppercase font-normal text-center\";case\"OVERDUE\":return\"bg-red-300 bg-opacity-50 px-2  py-1 text-sm  text-red-900 uppercase font-normal text-center\";default:return\"bg-gray-500 bg-opacity-25 text-gray-900 uppercase font-normal text-center\"}})}}};function vN(n,r,o,a,t,i){return l(),_(\"span\",{class:N([[a.badgeColorClasses,o.defaultClass],\"\"])},[F(n.$slots,\"default\")],2)}var yN=ee(gN,[[\"render\",vN]]),hN=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:yN});const bN=B(\" Privacy setting \"),kN={class:\"-space-y-px rounded-md\"},wN={class:\"relative flex cursor-pointer focus:outline-none\"},zN=c(\"span\",{class:\"rounded-full bg-white w-1.5 h-1.5\"},null,-1),xN=[zN],PN={class:\"flex flex-col ml-3\"},SN={props:{id:{type:[String,Number],required:!1,default:()=>`radio_${Math.random().toString(36).substr(2,9)}`},label:{type:String,default:\"\"},modelValue:{type:[String,Number],default:\"\"},value:{type:[String,Number],default:\"\"},name:{type:[String,Number],default:\"\"},checkedStateClass:{type:String,default:\"bg-primary-600\"},unCheckedStateClass:{type:String,default:\"bg-white \"},optionGroupActiveStateClass:{type:String,default:\"ring-2 ring-offset-2 ring-primary-500\"},checkedStateLabelClass:{type:String,default:\"text-primary-900 \"},unCheckedStateLabelClass:{type:String,default:\"text-gray-900\"},optionGroupClass:{type:String,default:\"h-4 w-4 mt-0.5 cursor-pointer rounded-full border flex items-center justify-center\"},optionGroupLabelClass:{type:String,default:\"block text-sm font-light\"}},emits:[\"update:modelValue\"],setup(n,{emit:r}){const o=n,a=A({get:()=>o.modelValue,set:t=>r(\"update:modelValue\",t)});return(t,i)=>(l(),T(d(ma),{modelValue:d(a),\"onUpdate:modelValue\":i[0]||(i[0]=e=>J(a)?a.value=e:null)},{default:f(()=>[u(d(ct),{class:\"sr-only\"},{default:f(()=>[bN]),_:1}),c(\"div\",kN,[u(d(ua),le({id:n.id,as:\"template\",value:n.value,name:n.name},t.$attrs),{default:f(({checked:e,active:s})=>[c(\"div\",wN,[c(\"span\",{class:N([e?n.checkedStateClass:n.unCheckedStateClass,s?n.optionGroupActiveStateClass:\"\",n.optionGroupClass]),\"aria-hidden\":\"true\"},xN,2),c(\"div\",PN,[u(d(ct),{as:\"span\",class:N([e?n.checkedStateLabelClass:n.unCheckedStateLabelClass,n.optionGroupLabelClass])},{default:f(()=>[B(w(n.label),1)]),_:2},1032,[\"class\"])])])]),_:1},16,[\"id\",\"value\",\"name\"])])]),_:1},8,[\"modelValue\"]))}};var jN=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:SN});const AN={name:\"StarsRating\",components:{},directives:{},props:{config:{type:Object,default:null},rating:{type:[Number],default:0}},data:function(){return{stars:[],emptyStar:0,fullStar:1,totalStars:5,isIndicatorActive:!1,style:{fullStarColor:\"#F1C644\",emptyStarColor:\"#D4D4D4\",starWidth:20,starHeight:20}}},computed:{getStarPoints:function(){let n=this.style.starWidth/2,r=this.style.starHeight/2,o=5,a=this.style.starWidth/o,i=a*2.5;return this.calcStarPoints(n,r,o,a,i)}},created(){this.initStars(),this.setStars(),this.setConfigData()},methods:{calcStarPoints(n,r,o,a,t){let i=Math.PI/o,e=60,s=o*2,m=\"\";for(let p=0;p<s;p++){let z=p%2==0?t:a,g=n+Math.cos(p*i+e)*z,h=r+Math.sin(p*i+e)*z;m+=g+\",\"+h+\" \"}return m},initStars(){for(let n=0;n<this.totalStars;n++)this.stars.push({raw:this.emptyStar,percent:this.emptyStar+\"%\"})},setStars(){let n=Math.floor(this.rating);for(let r=0;r<this.stars.length;r++)if(n!==0)this.stars[r].raw=this.fullStar,this.stars[r].percent=this.calcStarFullness(this.stars[r]),n--;else{let o=Math.round(this.rating%1*10)/10,a=Math.round(o*10)/10;return this.stars[r].raw=a,this.stars[r].percent=this.calcStarFullness(this.stars[r])}},setConfigData(){this.config&&(this.setBindedProp(this.style,this.config.style,\"fullStarColor\"),this.setBindedProp(this.style,this.config.style,\"emptyStarColor\"),this.setBindedProp(this.style,this.config.style,\"starWidth\"),this.setBindedProp(this.style,this.config.style,\"starHeight\"),this.config.isIndicatorActive&&(this.isIndicatorActive=this.config.isIndicatorActive),console.log(\"isIndicatorActive: \",this.isIndicatorActive))},getFullFillColor(n){return n.raw!==this.emptyStar?this.style.fullStarColor:this.style.emptyStarColor},calcStarFullness(n){return n.raw*100+\"%\"},setBindedProp(n,r,o){r[o]&&(n[o]=r[o])}}},DN={class:\"star-rating\"},CN=[\"title\"],NN=[\"points\"],EN=[\"id\"],IN=[\"offset\",\"stop-color\"],TN=[\"offset\",\"stop-color\"],RN=[\"offset\",\"stop-color\"],MN=[\"stop-color\"],FN={key:0,class:\"indicator\"};function $N(n,r,o,a,t,i){return l(),_(\"div\",DN,[(l(!0),_(X,null,ae(n.stars,(e,s)=>(l(),_(\"div\",{key:s,title:o.rating,class:\"star-container\"},[(l(),_(\"svg\",{style:De([{fill:`url(#gradient${e.raw})`},{width:n.style.starWidth},{height:n.style.starHeight}]),class:\"star-svg\"},[c(\"polygon\",{points:i.getStarPoints,style:{\"fill-rule\":\"nonzero\"}},null,8,NN),c(\"defs\",null,[c(\"linearGradient\",{id:`gradient${e.raw}`},[c(\"stop\",{id:\"stop1\",offset:e.percent,\"stop-color\":i.getFullFillColor(e),\"stop-opacity\":\"1\"},null,8,IN),c(\"stop\",{id:\"stop2\",offset:e.percent,\"stop-color\":i.getFullFillColor(e),\"stop-opacity\":\"0\"},null,8,TN),c(\"stop\",{id:\"stop3\",offset:e.percent,\"stop-color\":n.style.emptyStarColor,\"stop-opacity\":\"1\"},null,8,RN),c(\"stop\",{id:\"stop4\",\"stop-color\":n.style.emptyStarColor,offset:\"100%\",\"stop-opacity\":\"1\"},null,8,MN)],8,EN)])],4))],8,CN))),128)),n.isIndicatorActive?(l(),_(\"div\",FN,w(o.rating),1)):P(\"\",!0)])}var UN=ee(AN,[[\"render\",$N],[\"__scopeId\",\"data-v-52311750\"]]),VN=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:UN});const ON={props:{status:{type:String,required:!1,default:\"\"}},setup(n){return{badgeColorClasses:A(()=>{switch(n.status){case\"COMPLETED\":return\"bg-green-500 bg-opacity-25 px-2  py-1 text-sm  text-green-900 uppercase font-normal text-center\";case\"ON_HOLD\":return\"bg-yellow-500 bg-opacity-25 px-2  py-1 text-sm  text-yellow-900 uppercase font-normal text-center\";case\"ACTIVE\":return\"bg-blue-400 bg-opacity-25 px-2  py-1 text-sm  text-blue-900 uppercase font-normal text-center\";default:return\"bg-gray-500 bg-opacity-25 px-2 py-1 text-sm  text-gray-900 uppercase font-normal text-center\"}})}}};function LN(n,r,o,a,t,i){return l(),_(\"span\",{class:N(a.badgeColorClasses)},[F(n.$slots,\"default\")],2)}var qN=ee(ON,[[\"render\",LN]]),BN=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:qN});const KN={},ZN={class:\"flex flex-col\"},WN={class:\"-my-2 overflow-x-auto lg:overflow-visible sm:-mx-6 lg:-mx-8\"},HN={class:\"py-2 align-middle inline-block min-w-full sm:px-4 lg:px-6\"},YN={class:\"overflow-hidden lg:overflow-visible sm:px-2 lg:p-2\"};function GN(n,r){return l(),_(\"div\",ZN,[c(\"div\",WN,[c(\"div\",HN,[c(\"div\",YN,[F(n.$slots,\"default\")])])])])}var JN=ee(KN,[[\"render\",GN]]),QN=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:JN});const XN={},eE={class:\"flex items-center justify-center w-full px-6 py-2 text-sm bg-gray-200 cursor-pointer text-primary-400\"};function tE(n,r){return l(),_(\"div\",eE,[F(n.$slots,\"default\")])}var aE=ee(XN,[[\"render\",tE]]),nE=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:aE});const iE={class:\"relative\"},oE={key:0,class:\"block truncate\"},sE={key:1,class:\"block text-gray-400 truncate\"},rE={key:2,class:\"block text-gray-400 truncate\"},dE={class:\"absolute inset-y-0 right-0 flex items-center pr-2 pointer-events-none\"},lE={props:{contentLoading:{type:Boolean,default:!1},modelValue:{type:[String,Number,Boolean,Object,Array],default:\"\"},options:{type:Array,required:!0},label:{type:String,default:\"\"},placeholder:{type:String,default:\"\"},labelKey:{type:[String],default:\"label\"},valueProp:{type:String,default:null},multiple:{type:Boolean,default:!1}},emits:[\"update:modelValue\"],setup(n,{emit:r}){const o=n;let a=K(o.modelValue);function t(e){return typeof e==\"object\"&&e!==null}function i(e){return t(e)?e[o.labelKey]:e}return fe(()=>o.modelValue,()=>{o.valueProp&&o.options.length?a.value=o.options.find(e=>{if(e[o.valueProp])return e[o.valueProp]===o.modelValue}):a.value=o.modelValue}),fe(a,e=>{o.valueProp?r(\"update:modelValue\",e[o.valueProp]):r(\"update:modelValue\",e)}),(e,s)=>{const m=C(\"BaseContentPlaceholdersBox\"),p=C(\"BaseContentPlaceholders\"),k=C(\"BaseIcon\");return n.contentLoading?(l(),T(p,{key:0},{default:f(()=>[u(m,{rounded:!0,class:\"w-full h-10\"})]),_:1})):(l(),T(d(ya),le({key:1,modelValue:d(a),\"onUpdate:modelValue\":s[0]||(s[0]=z=>J(a)?a.value=z:a=z),as:\"div\"},M({},e.$attrs)),{default:f(()=>[n.label?(l(),T(d(pa),{key:0,class:\"block text-sm not-italic font-medium text-gray-800 mb-0.5\"},{default:f(()=>[B(w(n.label),1)]),_:1})):P(\"\",!0),c(\"div\",iE,[u(d(fa),{class:\"relative w-full py-2 pl-3 pr-10 text-left bg-white border border-gray-200 rounded-md shadow-sm cursor-default focus:outline-none focus:ring-1 focus:ring-primary-500 focus:border-primary-500 sm:text-sm\"},{default:f(()=>[i(d(a))?(l(),_(\"span\",oE,w(i(d(a))),1)):n.placeholder?(l(),_(\"span\",sE,w(n.placeholder),1)):(l(),_(\"span\",rE,\" Please select an option \")),c(\"span\",dE,[u(k,{name:\"SelectorIcon\",class:\"text-gray-400\",\"aria-hidden\":\"true\"})])]),_:1}),u(Ne,{\"leave-active-class\":\"transition duration-100 ease-in\",\"leave-from-class\":\"opacity-100\",\"leave-to-class\":\"opacity-0\"},{default:f(()=>[u(d(ga),{class:\"absolute z-10 w-full py-1 mt-1 overflow-auto text-base bg-white rounded-md shadow-lg max-h-60 ring-1 ring-black ring-opacity-5 focus:outline-none sm:text-sm\"},{default:f(()=>[(l(!0),_(X,null,ae(n.options,z=>(l(),T(d(va),{key:z.id,value:z,as:\"template\"},{default:f(({active:g,selected:h})=>[c(\"li\",{class:N([g?\"text-white bg-primary-600\":\"text-gray-900\",\"cursor-default select-none relative py-2 pl-3 pr-9\"])},[c(\"span\",{class:N([h?\"font-semibold\":\"font-normal\",\"block truncate\"])},w(i(z)),3),h?(l(),_(\"span\",{key:0,class:N([g?\"text-white\":\"text-primary-600\",\"absolute inset-y-0 right-0 flex items-center pr-4\"])},[u(k,{name:\"CheckIcon\",\"aria-hidden\":\"true\"})],2)):P(\"\",!0)],2)]),_:2},1032,[\"value\"]))),128)),F(e.$slots,\"default\")]),_:3})]),_:3})])]),_:3},16,[\"modelValue\"]))}}};var cE=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:lE});const _E={class:\"flex flex-wrap justify-between lg:flex-nowrap mb-5\"},uE={class:\"font-medium text-lg text-left\"},mE={class:\"mt-2 text-sm leading-snug text-left text-gray-500 max-w-[680px]\"},pE={class:\"mt-4 lg:mt-0 lg:ml-2\"},fE={props:{title:{type:String,required:!0},description:{type:String,required:!0}},setup(n){return(r,o)=>{const a=C(\"BaseCard\");return l(),T(a,null,{default:f(()=>[c(\"div\",_E,[c(\"div\",null,[c(\"h6\",uE,w(n.title),1),c(\"p\",mE,w(n.description),1)]),c(\"div\",pE,[F(r.$slots,\"action\")])]),F(r.$slots,\"default\")]),_:3})}}};var gE=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:fE});const vE={},yE={class:\"animate-spin\",xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\"},hE=c(\"circle\",{class:\"opacity-25\",cx:\"12\",cy:\"12\",r:\"10\",stroke:\"currentColor\",\"stroke-width\":\"4\"},null,-1),bE=c(\"path\",{class:\"opacity-75\",fill:\"currentColor\",d:\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"},null,-1),kE=[hE,bE];function wE(n,r){return l(),_(\"svg\",yE,kE)}var zE=ee(vE,[[\"render\",wE]]),xE=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:zE});const PE={class:\"flex flex-row items-start\"},SE={props:{labelLeft:{type:String,default:\"\"},labelRight:{type:String,default:\"\"},modelValue:{type:Boolean,default:!1}},emits:[\"update:modelValue\"],setup(n,{emit:r}){const o=n,a=A({get:()=>o.modelValue,set:t=>r(\"update:modelValue\",t)});return(t,i)=>(l(),T(d(ut),null,{default:f(()=>[c(\"div\",PE,[n.labelLeft?(l(),T(d(Oe),{key:0,class:\"mr-4 cursor-pointer\"},{default:f(()=>[B(w(n.labelLeft),1)]),_:1})):P(\"\",!0),u(d(_t),le({modelValue:d(a),\"onUpdate:modelValue\":i[0]||(i[0]=e=>J(a)?a.value=e:null),class:[d(a)?\"bg-primary-500\":\"bg-gray-300\",\"relative inline-flex items-center h-6 transition-colors rounded-full w-11 focus:outline-none focus:ring-primary-500\"]},t.$attrs),{default:f(()=>[c(\"span\",{class:N([d(a)?\"translate-x-6\":\"translate-x-1\",\"inline-block w-4 h-4 transition-transform bg-white rounded-full\"])},null,2)]),_:1},16,[\"modelValue\",\"class\"]),n.labelRight?(l(),T(d(Oe),{key:1,class:\"ml-4 cursor-pointer\"},{default:f(()=>[B(w(n.labelRight),1)]),_:1})):P(\"\",!0)])]),_:1}))}};var jE=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:SE});const AE={class:\"flex flex-col\"},DE={props:{title:{type:String,required:!0},description:{type:String,default:\"\"},modelValue:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},emits:[\"update:modelValue\"],setup(n,{emit:r}){function o(a){r(\"update:modelValue\",a)}return(a,t)=>(l(),T(d(ut),{as:\"li\",class:\"py-4 flex items-center justify-between\"},{default:f(()=>[c(\"div\",AE,[u(d(Oe),{as:\"p\",class:\"p-0 mb-1 text-sm leading-snug text-black font-medium\",passive:\"\"},{default:f(()=>[B(w(n.title),1)]),_:1}),u(d(ha),{class:\"text-sm text-gray-500\"},{default:f(()=>[B(w(n.description),1)]),_:1})]),u(d(_t),{disabled:n.disabled,\"model-value\":n.modelValue,class:N([n.modelValue?\"bg-primary-500\":\"bg-gray-200\",\"ml-4 relative inline-flex shrink-0 h-6 w-11 border-2 border-transparent rounded-full cursor-pointer transition-colors ease-in-out duration-200 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-primary-500\"]),\"onUpdate:modelValue\":o},{default:f(()=>[c(\"span\",{\"aria-hidden\":\"true\",class:N([n.modelValue?\"translate-x-5\":\"translate-x-0\",\"inline-block h-5 w-5 rounded-full bg-white shadow ring-0 transition ease-in-out duration-200\"])},null,2)]),_:1},8,[\"disabled\",\"model-value\",\"class\"])]),_:1}))}};var CE=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:DE});const NE={props:{title:{type:[String,Number],default:\"Tab\"},count:{type:[String,Number],default:\"\"},countVariant:{type:[String,Number],default:\"\"},tabPanelContainer:{type:String,default:\"py-4 mt-px\"}},setup(n){return(r,o)=>(l(),T(d(ba),{class:N([n.tabPanelContainer,\"focus:outline-none\"])},{default:f(()=>[F(r.$slots,\"default\")]),_:3},8,[\"class\"]))}};var EE=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:NE});const IE={props:{defaultIndex:{type:Number,default:0},filter:{type:String,default:null}},emits:[\"change\"],setup(n,{emit:r}){const o=pe(),a=A(()=>o.default().map(i=>i.props));function t(i){r(\"change\",a.value[i])}return(i,e)=>{const s=C(\"BaseBadge\");return l(),_(\"div\",null,[u(d(xa),{\"default-index\":n.defaultIndex,onChange:t},{default:f(()=>[u(d(ka),{class:N([\"flex border-b border-grey-light\",\"relative overflow-x-auto overflow-y-hidden\",\"lg:pb-0 lg:ml-0\"])},{default:f(()=>[(l(!0),_(X,null,ae(d(a),(m,p)=>(l(),T(d(wa),{key:p,as:\"template\"},{default:f(({selected:k})=>[c(\"button\",{class:N([\"px-8 py-2 text-sm leading-5 font-medium flex items-center relative border-b-2 mt-4 focus:outline-none whitespace-nowrap\",k?\" border-primary-400 text-black font-medium\":\"border-transparent text-gray-500 hover:text-gray-700 hover:border-gray-300\"])},[B(w(m.title)+\" \",1),m.count?(l(),T(s,{key:0,class:\"!rounded-full overflow-hidden ml-2\",variant:m[\"count-variant\"],\"default-class\":\"flex items-center justify-center w-5 h-5 p-1 rounded-full text-medium\"},{default:f(()=>[B(w(m.count),1)]),_:2},1032,[\"variant\"])):P(\"\",!0)],2)]),_:2},1024))),128))]),_:1}),F(i.$slots,\"before-tabs\"),u(d(za),null,{default:f(()=>[F(i.$slots,\"default\")]),_:3})]),_:3},8,[\"default-index\"])])}}};var TE=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:IE});const RE={props:{tag:{type:String,default:\"div\"},text:{type:String,default:\"\"},length:{type:Number,default:0}},setup(n){const r=n,o=A(()=>r.text.length<r.length?r.text:`${r.text.substring(0,r.length)}...`);return(a,t)=>{const i=C(\"BaseCustomTag\");return l(),T(i,{tag:n.tag,title:n.text},{default:f(()=>[B(w(d(o)),1)]),_:1},8,[\"tag\",\"title\"])}}};var ME=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:RE});const FE=[\"value\",\"disabled\"],$E={props:{contentLoading:{type:Boolean,default:!1},row:{type:Number,default:null},invalid:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},modelValue:{type:[String,Number],default:\"\"},defaultInputClass:{type:String,default:\"box-border w-full px-3 py-2 text-sm not-italic font-normal leading-snug text-left text-black placeholder-gray-400 bg-white border border-gray-200 border-solid rounded outline-none\"},autosize:{type:Boolean,default:!1},borderless:{type:Boolean,default:!1}},emits:[\"update:modelValue\"],setup(n,{emit:r}){const o=n,a=K(null),t=A(()=>o.invalid&&!o.borderless?\"border-red-400 ring-red-400 focus:ring-red-400 focus:border-red-400\":o.borderless?\"border-none outline-none focus:ring-primary-400 focus:border focus:border-primary-400\":\"focus:ring-primary-400 focus:border-primary-400\"),i=A(()=>{switch(o.row){case 2:return\"56\";case 4:return\"94\";default:return\"56\"}});function e(s){r(\"update:modelValue\",s.target.value),o.autosize&&(s.target.style.height=\"auto\",s.target.style.height=`${s.target.scrollHeight}px`)}return Pe(()=>{a.value&&o.autosize&&(a.value.style.height=a.value.scrollHeight+\"px\",a.value.style.overflow&&a.value.style.overflow.y&&(a.value.style.overflow.y=\"hidden\"),a.value.style.resize=\"none\")}),(s,m)=>{const p=C(\"BaseContentPlaceholdersBox\"),k=C(\"BaseContentPlaceholders\");return n.contentLoading?(l(),T(k,{key:0},{default:f(()=>[u(p,{rounded:!0,class:\"w-full\",style:De(`height: ${d(i)}px`)},null,8,[\"style\"])]),_:1})):(l(),_(\"textarea\",le({key:1},s.$attrs,{ref:(z,g)=>{g.textarea=z,a.value=z},value:n.modelValue,class:[n.defaultInputClass,d(t)],disabled:n.disabled,onInput:e}),null,16,FE))}}};var UE=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:$E});const VE=c(\"path\",{\"fill-rule\":\"evenodd\",d:\"M10 18a8 8 0 100-16 8 8 0 000 16zm1-12a1 1 0 10-2 0v4a1 1 0 00.293.707l2.828 2.829a1 1 0 101.415-1.415L11 9.586V6z\",\"clip-rule\":\"evenodd\"},null,-1),OE=[VE],LE={props:{modelValue:{type:[String,Date],default:()=>moment(new Date)},contentLoading:{type:Boolean,default:!1},placeholder:{type:String,default:null},invalid:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},containerClass:{type:String,default:\"\"},clockIcon:{type:Boolean,default:!0},defaultInputClass:{type:String,default:\"font-base pl-8 py-2 outline-none focus:ring-primary-400 focus:outline-none focus:border-primary-400 block w-full sm:text-sm border-gray-300 rounded-md text-black\"}},emits:[\"update:modelValue\"],setup(n,{emit:r}){const o=n,a=K(null),t=pe();let i=Ve({enableTime:!0,noCalendar:!0,dateFormat:\"H:i\",time_24hr:!0});const e=A({get:()=>o.modelValue,set:g=>r(\"update:modelValue\",g)}),s=A(()=>!!t.icon);function m(g){a.value.fp.open()}const p=A(()=>`${o.containerClass} `),k=A(()=>o.invalid?\"border-red-400 ring-red-400 focus:ring-red-400 focus:border-red-400\":\"\"),z=A(()=>o.disabled?\"border border-solid rounded-md outline-none input-field box-border-2 base-date-picker-input placeholder-gray-400 bg-gray-300 text-gray-600 border-gray-300\":\"\");return(g,h)=>{const D=C(\"BaseContentPlaceholdersBox\"),R=C(\"BaseContentPlaceholders\");return n.contentLoading?(l(),T(R,{key:0},{default:f(()=>[u(D,{rounded:!0,class:N(`w-full ${d(p)}`),style:{height:\"38px\"}},null,8,[\"class\"])]),_:1})):(l(),_(\"div\",{key:1,class:N([d(p),\"relative flex flex-row\"])},[n.clockIcon&&!d(s)?(l(),_(\"svg\",{key:0,xmlns:\"http://www.w3.org/2000/svg\",class:\"absolute top-px w-4 h-4 mx-2 my-2.5 text-sm not-italic font-black text-gray-400 cursor-pointer\",viewBox:\"0 0 20 20\",fill:\"currentColor\",onClick:m},OE)):P(\"\",!0),n.clockIcon&&d(s)?F(g.$slots,\"icon\",{key:1}):P(\"\",!0),u(d(nt),le({ref:(E,x)=>{x.dpt=E,a.value=E},modelValue:d(e),\"onUpdate:modelValue\":h[0]||(h[0]=E=>J(e)?e.value=E:null)},g.$attrs,{disabled:n.disabled,config:d(i),class:[n.defaultInputClass,d(k),d(z)]}),null,16,[\"modelValue\",\"disabled\",\"config\",\"class\"])],2))}}};var qE=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:LE});const BE={props:{currentStep:{type:Number,default:null},steps:{type:Number,default:null},containerClass:{type:String,default:\"flex justify-between w-full my-10 max-w-xl mx-auto\"},progress:{type:String,default:\"rounded-full float-left w-6 h-6 border-4 cursor-pointer\"},currentStepClass:{type:String,default:\"bg-white border-primary-500\"},nextStepClass:{type:String,default:\"border-gray-200 bg-white\"},previousStepClass:{type:String,default:\"bg-primary-500 border-primary-500 flex justify-center items-center\"},iconClass:{type:String,default:\"flex items-center justify-center w-full h-full text-sm font-black text-center text-white\"}},emits:[\"click\"],setup(n){function r(o){return n.currentStep===o?[n.currentStepClass,n.progress]:n.currentStep>o?[n.previousStepClass,n.progress]:n.currentStep<o?[n.nextStepClass,n.progress]:[n.progress]}return{stepStyle:r}}},KE=[\"onClick\"],ZE=[\"onClick\"],WE=c(\"path\",{\"fill-rule\":\"evenodd\",d:\"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z\",\"clip-rule\":\"evenodd\"},null,-1),HE=[WE];function YE(n,r,o,a,t,i){return l(),_(\"div\",{class:N([o.containerClass,\"relative after:bg-gray-200 after:absolute after:transform after:top-1/2 after:-translate-y-1/2 after:h-2 after:w-full\"])},[(l(!0),_(X,null,ae(o.steps,(e,s)=>(l(),_(\"a\",{key:s,class:N([a.stepStyle(e),\"z-10\"]),href:\"#\",onClick:se(m=>n.$emit(\"click\",s),[\"prevent\"])},[o.currentStep>e?(l(),_(\"svg\",{key:0,class:N(o.iconClass),fill:\"currentColor\",viewBox:\"0 0 20 20\",onClick:m=>n.$emit(\"click\",s)},HE,10,ZE)):P(\"\",!0)],10,KE))),128))],2)}var Ct=ee(BE,[[\"render\",YE]]),GE=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:Ct});const JE={class:\"w-full\"},QE={props:{wizardStepsContainerClass:{type:String,default:\"relative flex items-center justify-center\"},currentStep:{type:Number,default:0},steps:{type:Number,default:0}},emits:[\"click\"],setup(n,{emit:r}){return(o,a)=>(l(),_(\"div\",JE,[F(o.$slots,\"nav\",{},()=>[u(Ct,{\"current-step\":n.currentStep,steps:n.steps,onClick:a[0]||(a[0]=t=>o.$emit(\"click\",t))},null,8,[\"current-step\",\"steps\"])]),c(\"div\",{class:N(n.wizardStepsContainerClass)},[F(o.$slots,\"default\")],2)]))}};var XE=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:QE});const eI={key:0},tI={props:{title:{type:String,default:null},description:{type:String,default:null},stepContainerClass:{type:String,default:\"w-full p-8 mb-8 bg-white border border-gray-200 border-solid rounded\"},stepTitleClass:{type:String,default:\"text-2xl not-italic font-semibold leading-7 text-black\"},stepDescriptionClass:{type:String,default:\"w-full mt-2.5 mb-8 text-sm not-italic leading-snug text-gray-500 lg:w-7/12 md:w-7/12 sm:w-7/12\"}},setup(n){return(r,o)=>(l(),_(\"div\",{class:N(n.stepContainerClass)},[n.title||n.description?(l(),_(\"div\",eI,[n.title?(l(),_(\"p\",{key:0,class:N(n.stepTitleClass)},w(n.title),3)):P(\"\",!0),n.description?(l(),_(\"p\",{key:1,class:N(n.stepDescriptionClass)},w(n.description),3)):P(\"\",!0)])):P(\"\",!0),F(r.$slots,\"default\")],2))}};var aI=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:tI});const nI=n=>{Object.entries({\"./components/base/BaseBadge.vue\":zP,\"./components/base/BaseBreadcrumb.vue\":AP,\"./components/base/BaseBreadcrumbItem.vue\":EP,\"./components/base/BaseButton.vue\":OP,\"./components/base/BaseCard.vue\":ZP,\"./components/base/BaseCheckbox.vue\":eS,\"./components/base/BaseContentPlaceholders.vue\":aS,\"./components/base/BaseContentPlaceholdersBox.vue\":iS,\"./components/base/BaseContentPlaceholdersHeading.vue\":lS,\"./components/base/BaseContentPlaceholdersText.vue\":uS,\"./components/base/BaseCustomInput.vue\":wS,\"./components/base/BaseCustomTag.vue\":xS,\"./components/base/BaseCustomerAddressDisplay.vue\":IS,\"./components/base/BaseCustomerSelectInput.vue\":YS,\"./components/base/BaseCustomerSelectPopup.vue\":Tj,\"./components/base/BaseDatePicker.vue\":$j,\"./components/base/BaseDescriptionList.vue\":qj,\"./components/base/BaseDescriptionListItem.vue\":Wj,\"./components/base/BaseDialog.vue\":tA,\"./components/base/BaseDivider.vue\":sA,\"./components/base/BaseDropdown.vue\":cA,\"./components/base/BaseDropdownItem.vue\":uA,\"./components/base/BaseEmptyPlaceholder.vue\":kA,\"./components/base/BaseErrorAlert.vue\":CA,\"./components/base/BaseEstimateStatusBadge.vue\":EA,\"./components/base/BaseFileUploader.vue\":rD,\"./components/base/BaseFilterWrapper.vue\":cD,\"./components/base/BaseFormatMoney.vue\":mD,\"./components/base/BaseGlobalLoader.vue\":HD,\"./components/base/BaseHeading.vue\":GD,\"./components/base/BaseIcon.vue\":QD,\"./components/base/BaseInfoAlert.vue\":_C,\"./components/base/BaseInput.vue\":jC,\"./components/base/BaseInputGrid.vue\":DC,\"./components/base/BaseInputGroup.vue\":TC,\"./components/base/BaseInvoiceStatusBadge.vue\":$C,\"./components/base/BaseItemSelect.vue\":KC,\"./components/base/BaseLabel.vue\":GC,\"./components/base/BaseModal.vue\":tN,\"./components/base/BaseMoney.vue\":nN,\"./components/base/BaseNewBadge.vue\":oN,\"./components/base/BasePage.vue\":cN,\"./components/base/BasePageHeader.vue\":fN,\"./components/base/BasePaidStatusBadge.vue\":hN,\"./components/base/BaseRadio.vue\":jN,\"./components/base/BaseRating.vue\":VN,\"./components/base/BaseRecurringInvoiceStatusBadge.vue\":BN,\"./components/base/BaseScrollPane.vue\":QN,\"./components/base/BaseSelectAction.vue\":nE,\"./components/base/BaseSelectInput.vue\":cE,\"./components/base/BaseSettingCard.vue\":gE,\"./components/base/BaseSpinner.vue\":xE,\"./components/base/BaseSwitch.vue\":jE,\"./components/base/BaseSwitchSection.vue\":CE,\"./components/base/BaseTab.vue\":EE,\"./components/base/BaseTabGroup.vue\":TE,\"./components/base/BaseText.vue\":ME,\"./components/base/BaseTextarea.vue\":UE,\"./components/base/BaseTimePicker.vue\":qE,\"./components/base/BaseWizard.vue\":XE,\"./components/base/BaseWizardNavigation.vue\":GE,\"./components/base/BaseWizardStep.vue\":aI}).forEach(([i,e])=>{const s=i.split(\"/\").pop().replace(/\\.\\w+$/,\"\");n.component(s,e.default)});const o=Le(()=>S(()=>import(\"./BaseTable.ec8995dc.js\"),[\"assets/BaseTable.ec8995dc.js\",\"assets/vendor.d12b5734.js\"])),a=Le(()=>S(()=>import(\"./BaseMultiselect.2950bd7a.js\"),[\"assets/BaseMultiselect.2950bd7a.js\",\"assets/vendor.d12b5734.js\"])),t=Le(()=>S(()=>import(\"./BaseEditor.c76beb41.js\"),[\"assets/BaseEditor.c76beb41.js\",\"assets/BaseEditor.bacb9608.css\",\"assets/vendor.d12b5734.js\"]));n.component(\"BaseTable\",o),n.component(\"BaseMultiselect\",a),n.component(\"BaseEditor\",t)},ce=Pa(qn);class iI{constructor(){this.bootingCallbacks=[],this.messages=kP}booting(r){this.bootingCallbacks.push(r)}executeCallbacks(){this.bootingCallbacks.forEach(r=>{r(ce,Re)})}addMessages(r=[]){oe.merge(this.messages,r)}start(){this.executeCallbacks(),nI(ce),ce.provide(\"$utils\",Ze);const r=Xe({locale:\"en\",fallbackLocale:\"en\",globalInjection:!0,messages:this.messages});window.i18n=r;const{createPinia:o}=window.pinia;ce.use(Re),ce.use(Sa),ce.use(r),ce.use(o()),ce.provide(\"utils\",Ze),ce.directive(\"tooltip\",ja),ce.mount(\"body\")}}window.pinia=Aa;window.Vuelidate=Da;window.Vue=Ca;window.router=Re;window.VueRouter=Na;window.Crater=new iI;export{qe as L,UP as S,ie as T,ee as _,Ea as a,_e as b,je as c,Te as d,ve as e,qD as f,O as g,y as h,$e as i,Hj as j,He as k,ke as l,pS as m,US as n,S as o,Fe as p,we as q,Ia as r,Ze as s,At as t,$ as u,Vn as v,_A as w,lA as x};\n"
  },
  {
    "path": "public/build/assets/payment.93619753.js",
    "content": "var P=Object.defineProperty;var r=Object.getOwnPropertySymbols;var g=Object.prototype.hasOwnProperty,w=Object.prototype.propertyIsEnumerable;var u=(y,c,i)=>c in y?P(y,c,{enumerable:!0,configurable:!0,writable:!0,value:i}):y[c]=i,p=(y,c)=>{for(var i in c||(c={}))g.call(c,i)&&u(y,i,c[i]);if(r)for(var i of r(c))w.call(c,i)&&u(y,i,c[i]);return y};import{G as _,I as v,a as o,d as N}from\"./vendor.d12b5734.js\";import{b as S,h as m,u as h}from\"./main.465728e1.js\";var f={maxPayableAmount:Number.MAX_SAFE_INTEGER,selectedCustomer:\"\",currency:null,currency_id:\"\",customer_id:\"\",payment_number:\"\",payment_date:\"\",amount:0,invoice_id:\"\",notes:\"\",payment_method_id:\"\",customFields:[],fields:[]};const I=(y=!1)=>{const c=y?window.pinia.defineStore:N,{global:i}=window.i18n;return c({id:\"payment\",state:()=>({payments:[],paymentTotalCount:0,selectAllField:!1,selectedPayments:[],selectedNote:null,showExchangeRate:!1,drivers:[],providers:[],paymentProviders:{id:null,name:\"\",driver:\"\",active:!1,settings:{key:\"\",secret:\"\"}},currentPayment:p({},f),paymentModes:[],currentPaymentMode:{id:\"\",name:null},isFetchingInitialData:!1}),getters:{isEdit:t=>!!t.paymentProviders.id},actions:{fetchPaymentInitialData(t){const s=S(),n=_();this.isFetchingInitialData=!0;let e=[];t&&(e=[this.fetchPayment(n.params.id)]),Promise.all([this.fetchPaymentModes({limit:\"all\"}),this.getNextNumber(),...e]).then(async([a,l,d])=>{t?d.data.data.invoice&&(this.currentPayment.maxPayableAmount=parseInt(d.data.data.invoice.due_amount)):!t&&l.data&&(this.currentPayment.payment_date=v().format(\"YYYY-MM-DD\"),this.currentPayment.payment_number=l.data.nextNumber,this.currentPayment.currency=s.selectedCompanyCurrency),this.isFetchingInitialData=!1}).catch(a=>{m(a)})},fetchPayments(t){return new Promise((s,n)=>{o.get(\"/api/v1/payments\",{params:t}).then(e=>{this.payments=e.data.data,this.paymentTotalCount=e.data.meta.payment_total_count,s(e)}).catch(e=>{m(e),n(e)})})},fetchPayment(t){return new Promise((s,n)=>{o.get(`/api/v1/payments/${t}`).then(e=>{Object.assign(this.currentPayment,e.data.data),s(e)}).catch(e=>{m(e),n(e)})})},addPayment(t){return new Promise((s,n)=>{o.post(\"/api/v1/payments\",t).then(e=>{this.payments.push(e.data),h().showNotification({type:\"success\",message:i.t(\"payments.created_message\")}),s(e)}).catch(e=>{m(e),n(e)})})},updatePayment(t){return new Promise((s,n)=>{o.put(`/api/v1/payments/${t.id}`,t).then(e=>{if(e.data){let a=this.payments.findIndex(d=>d.id===e.data.data.id);this.payments[a]=t.payment,h().showNotification({type:\"success\",message:i.t(\"payments.updated_message\")})}s(e)}).catch(e=>{m(e),n(e)})})},deletePayment(t){const s=h();return new Promise((n,e)=>{o.post(\"/api/v1/payments/delete\",t).then(a=>{let l=this.payments.findIndex(d=>d.id===t);this.payments.splice(l,1),s.showNotification({type:\"success\",message:i.t(\"payments.deleted_message\",1)}),n(a)}).catch(a=>{m(a),e(a)})})},deleteMultiplePayments(){const t=h();return new Promise((s,n)=>{o.post(\"/api/v1/payments/delete\",{ids:this.selectedPayments}).then(e=>{this.selectedPayments.forEach(a=>{let l=this.payments.findIndex(d=>d.id===a.id);this.payments.splice(l,1)}),t.showNotification({type:\"success\",message:i.tc(\"payments.deleted_message\",2)}),s(e)}).catch(e=>{m(e),n(e)})})},setSelectAllState(t){this.selectAllField=t},selectPayment(t){this.selectedPayments=t,this.selectedPayments.length===this.payments.length?this.selectAllField=!0:this.selectAllField=!1},selectAllPayments(){if(this.selectedPayments.length===this.payments.length)this.selectedPayments=[],this.selectAllField=!1;else{let t=this.payments.map(s=>s.id);this.selectedPayments=t,this.selectAllField=!0}},selectNote(t){this.selectedNote=null,this.selectedNote=t},resetSelectedNote(t){this.selectedNote=null},searchPayment(t){return new Promise((s,n)=>{o.get(\"/api/v1/payments\",{params:t}).then(e=>{this.payments=e.data,s(e)}).catch(e=>{m(e),n(e)})})},previewPayment(t){return new Promise((s,n)=>{o.get(`/api/v1/payments/${t.id}/send/preview`,{params:t}).then(e=>{s(e)}).catch(e=>{m(e),n(e)})})},sendEmail(t){return new Promise((s,n)=>{o.post(`/api/v1/payments/${t.id}/send`,t).then(e=>{h().showNotification({type:\"success\",message:i.t(\"payments.send_payment_successfully\")}),s(e)}).catch(e=>{m(e),n(e)})})},getNextNumber(t,s=!1){return new Promise((n,e)=>{o.get(\"/api/v1/next-number?key=payment\",{params:t}).then(a=>{s&&(this.currentPayment.payment_number=a.data.nextNumber),n(a)}).catch(a=>{m(a),e(a)})})},resetCurrentPayment(){this.currentPayment=p({},f)},fetchPaymentModes(t){return new Promise((s,n)=>{o.get(\"/api/v1/payment-methods\",{params:t}).then(e=>{this.paymentModes=e.data.data,s(e)}).catch(e=>{m(e),n(e)})})},fetchPaymentMode(t){return new Promise((s,n)=>{o.get(`/api/v1/payment-methods/${t}`).then(e=>{this.currentPaymentMode=e.data.data,s(e)}).catch(e=>{m(e),n(e)})})},addPaymentMode(t){const s=h();return new Promise((n,e)=>{o.post(\"/api/v1/payment-methods\",t).then(a=>{this.paymentModes.push(a.data.data),s.showNotification({type:\"success\",message:i.t(\"settings.payment_modes.payment_mode_added\")}),n(a)}).catch(a=>{m(a),e(a)})})},updatePaymentMode(t){const s=h();return new Promise((n,e)=>{o.put(`/api/v1/payment-methods/${t.id}`,t).then(a=>{if(a.data){let l=this.paymentModes.findIndex(d=>d.id===a.data.data.id);this.paymentModes[l]=t.paymentModes,s.showNotification({type:\"success\",message:i.t(\"settings.payment_modes.payment_mode_updated\")})}n(a)}).catch(a=>{m(a),e(a)})})},deletePaymentMode(t){const s=h();return new Promise((n,e)=>{o.delete(`/api/v1/payment-methods/${t}`).then(a=>{let l=this.paymentModes.findIndex(d=>d.id===t);this.paymentModes.splice(l,1),a.data.success&&s.showNotification({type:\"success\",message:i.t(\"settings.payment_modes.deleted_message\")}),n(a)}).catch(a=>{m(a),e(a)})})}}})()};export{I as u};\n"
  },
  {
    "path": "public/build/assets/payment.e5b74251.js",
    "content": "import{h as s}from\"./auth.c88ceb4c.js\";import{a as o}from\"./vendor.d12b5734.js\";const{defineStore:c}=window.pinia,r=c({id:\"customerPaymentStore\",state:()=>({payments:[],selectedViewPayment:[],totalPayments:0}),actions:{fetchPayments(e,a){return new Promise((n,m)=>{o.get(`/api/v1/${a}/customer/payments`,{params:e}).then(t=>{this.payments=t.data.data,this.totalPayments=t.data.meta.paymentTotalCount,n(t)}).catch(t=>{s(t),m(t)})})},fetchViewPayment(e,a){return new Promise((n,m)=>{o.get(`/api/v1/${a}/customer/payments/${e.id}`).then(t=>{this.selectedViewPayment=t.data.data,n(t)}).catch(t=>{s(t),m(t)})})},searchPayment(e,a){return new Promise((n,m)=>{o.get(`/api/v1/${a}/customer/payments`,{params:e}).then(t=>{this.payments=t.data,n(t)}).catch(t=>{s(t),m(t)})})},fetchPaymentModes(e,a){return new Promise((n,m)=>{o.get(`/api/v1/${a}/customer/payment-method`,{params:e}).then(t=>{n(t)}).catch(t=>{s(t),m(t)})})}}});export{r as u};\n"
  },
  {
    "path": "public/build/assets/users.27a53e97.js",
    "content": "import{a as l,d as p}from\"./vendor.d12b5734.js\";import{h as o,u as d}from\"./main.465728e1.js\";const w=(u=!1)=>{const m=u?window.pinia.defineStore:p,{global:n}=window.i18n;return m({id:\"users\",state:()=>({roles:[],users:[],totalUsers:0,currentUser:null,selectAllField:!1,selectedUsers:[],customerList:[],userList:[],userData:{name:\"\",email:\"\",password:null,phone:null,companies:[]}}),actions:{resetUserData(){this.userData={name:\"\",email:\"\",password:null,phone:null,role:null,companies:[]}},fetchUsers(s){return new Promise((i,t)=>{l.get(\"/api/v1/users\",{params:s}).then(e=>{this.users=e.data.data,this.totalUsers=e.data.meta.total,i(e)}).catch(e=>{o(e),t(e)})})},fetchUser(s){return new Promise((i,t)=>{l.get(`/api/v1/users/${s}`).then(e=>{var a,r;this.userData=e.data.data,((r=(a=this.userData)==null?void 0:a.companies)==null?void 0:r.length)&&this.userData.companies.forEach((c,f)=>{this.userData.roles.forEach(h=>{h.scope===c.id&&(this.userData.companies[f].role=h.name)})}),i(e)}).catch(e=>{console.log(e),o(e),t(e)})})},fetchRoles(s){return new Promise((i,t)=>{l.get(\"/api/v1/roles\").then(e=>{this.roles=e.data.data,i(e)}).catch(e=>{o(e),t(e)})})},addUser(s){return new Promise((i,t)=>{l.post(\"/api/v1/users\",s).then(e=>{this.users.push(e.data),d().showNotification({type:\"success\",message:n.t(\"users.created_message\")}),i(e)}).catch(e=>{o(e),t(e)})})},updateUser(s){return new Promise((i,t)=>{l.put(`/api/v1/users/${s.id}`,s).then(e=>{if(e){let r=this.users.findIndex(c=>c.id===e.data.data.id);this.users[r]=e.data.data}d().showNotification({type:\"success\",message:n.t(\"users.updated_message\")}),i(e)}).catch(e=>{o(e),t(e)})})},deleteUser(s){const i=d();return new Promise((t,e)=>{l.post(\"/api/v1/users/delete\",{users:s.ids}).then(a=>{let r=this.users.findIndex(c=>c.id===s);this.users.splice(r,1),i.showNotification({type:\"success\",message:n.tc(\"users.deleted_message\",1)}),t(a)}).catch(a=>{o(a),e(a)})})},deleteMultipleUsers(){return new Promise((s,i)=>{l.post(\"/api/v1/users/delete\",{users:this.selectedUsers}).then(t=>{this.selectedUsers.forEach(a=>{let r=this.users.findIndex(c=>c.id===a.id);this.users.splice(r,1)}),d().showNotification({type:\"success\",message:n.tc(\"users.deleted_message\",2)}),s(t)}).catch(t=>{o(t),i(t)})})},searchUsers(s){return new Promise((i,t)=>{l.get(\"/api/v1/search\",{params:s}).then(e=>{this.userList=e.data.users.data,this.customerList=e.data.customers.data,i(e)}).catch(e=>{o(e),t(e)})})},setSelectAllState(s){this.selectAllField=s},selectUser(s){this.selectedUsers=s,this.selectedUsers.length===this.users.length?this.selectAllField=!0:this.selectAllField=!1},selectAllUsers(){if(this.selectedUsers.length===this.users.length)this.selectedUsers=[],this.selectAllField=!1;else{let s=this.users.map(i=>i.id);this.selectedUsers=s,this.selectAllField=!0}}}})()};export{w as u};\n"
  },
  {
    "path": "public/build/assets/vendor.d12b5734.js",
    "content": "var $F=typeof globalThis!=\"undefined\"?globalThis:typeof window!=\"undefined\"?window:typeof global!=\"undefined\"?global:typeof self!=\"undefined\"?self:{};function smx(a){return a&&a.__esModule&&Object.prototype.hasOwnProperty.call(a,\"default\")?a.default:a}function BQ(a){if(a.__esModule)return a;var u=Object.defineProperty({},\"__esModule\",{value:!0});return Object.keys(a).forEach(function(c){var b=Object.getOwnPropertyDescriptor(a,c);Object.defineProperty(u,c,b.get?b:{enumerable:!0,get:function(){return a[c]}})}),u}function LQ(a){throw new Error('Could not dynamically require \"'+a+'\". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var br0={exports:{}},gm0=function(u,c){return function(){for(var R=new Array(arguments.length),K=0;K<R.length;K++)R[K]=arguments[K];return u.apply(c,R)}},umx=gm0,vW=Object.prototype.toString;function _m0(a){return vW.call(a)===\"[object Array]\"}function Cr0(a){return typeof a==\"undefined\"}function cmx(a){return a!==null&&!Cr0(a)&&a.constructor!==null&&!Cr0(a.constructor)&&typeof a.constructor.isBuffer==\"function\"&&a.constructor.isBuffer(a)}function lmx(a){return vW.call(a)===\"[object ArrayBuffer]\"}function fmx(a){return typeof FormData!=\"undefined\"&&a instanceof FormData}function pmx(a){var u;return typeof ArrayBuffer!=\"undefined\"&&ArrayBuffer.isView?u=ArrayBuffer.isView(a):u=a&&a.buffer&&a.buffer instanceof ArrayBuffer,u}function dmx(a){return typeof a==\"string\"}function mmx(a){return typeof a==\"number\"}function ym0(a){return a!==null&&typeof a==\"object\"}function hmx(a){return vW.call(a)===\"[object Date]\"}function gmx(a){return vW.call(a)===\"[object File]\"}function _mx(a){return vW.call(a)===\"[object Blob]\"}function Dm0(a){return vW.call(a)===\"[object Function]\"}function ymx(a){return ym0(a)&&Dm0(a.pipe)}function Dmx(a){return typeof URLSearchParams!=\"undefined\"&&a instanceof URLSearchParams}function vmx(a){return a.replace(/^\\s*/,\"\").replace(/\\s*$/,\"\")}function bmx(){return typeof navigator!=\"undefined\"&&(navigator.product===\"ReactNative\"||navigator.product===\"NativeScript\"||navigator.product===\"NS\")?!1:typeof window!=\"undefined\"&&typeof document!=\"undefined\"}function MQ(a,u){if(!(a===null||typeof a==\"undefined\"))if(typeof a!=\"object\"&&(a=[a]),_m0(a))for(var c=0,b=a.length;c<b;c++)u.call(null,a[c],c,a);else for(var R in a)Object.prototype.hasOwnProperty.call(a,R)&&u.call(null,a[R],R,a)}function vm0(){var a={};function u(R,K){typeof a[K]==\"object\"&&typeof R==\"object\"?a[K]=vm0(a[K],R):a[K]=R}for(var c=0,b=arguments.length;c<b;c++)MQ(arguments[c],u);return a}function Er0(){var a={};function u(R,K){typeof a[K]==\"object\"&&typeof R==\"object\"?a[K]=Er0(a[K],R):typeof R==\"object\"?a[K]=Er0({},R):a[K]=R}for(var c=0,b=arguments.length;c<b;c++)MQ(arguments[c],u);return a}function Cmx(a,u,c){return MQ(u,function(R,K){c&&typeof R==\"function\"?a[K]=umx(R,c):a[K]=R}),a}var hB={isArray:_m0,isArrayBuffer:lmx,isBuffer:cmx,isFormData:fmx,isArrayBufferView:pmx,isString:dmx,isNumber:mmx,isObject:ym0,isUndefined:Cr0,isDate:hmx,isFile:gmx,isBlob:_mx,isFunction:Dm0,isStream:ymx,isURLSearchParams:Dmx,isStandardBrowserEnv:bmx,forEach:MQ,merge:vm0,deepMerge:Er0,extend:Cmx,trim:vmx},bW=hB;function bm0(a){return encodeURIComponent(a).replace(/%40/gi,\"@\").replace(/%3A/gi,\":\").replace(/%24/g,\"$\").replace(/%2C/gi,\",\").replace(/%20/g,\"+\").replace(/%5B/gi,\"[\").replace(/%5D/gi,\"]\")}var Cm0=function(u,c,b){if(!c)return u;var R;if(b)R=b(c);else if(bW.isURLSearchParams(c))R=c.toString();else{var K=[];bW.forEach(c,function(F0,J0){F0===null||typeof F0==\"undefined\"||(bW.isArray(F0)?J0=J0+\"[]\":F0=[F0],bW.forEach(F0,function(t1){bW.isDate(t1)?t1=t1.toISOString():bW.isObject(t1)&&(t1=JSON.stringify(t1)),K.push(bm0(J0)+\"=\"+bm0(t1))}))}),R=K.join(\"&\")}if(R){var s0=u.indexOf(\"#\");s0!==-1&&(u=u.slice(0,s0)),u+=(u.indexOf(\"?\")===-1?\"?\":\"&\")+R}return u},Emx=hB;function RQ(){this.handlers=[]}RQ.prototype.use=function(u,c){return this.handlers.push({fulfilled:u,rejected:c}),this.handlers.length-1};RQ.prototype.eject=function(u){this.handlers[u]&&(this.handlers[u]=null)};RQ.prototype.forEach=function(u){Emx.forEach(this.handlers,function(b){b!==null&&u(b)})};var Smx=RQ,Fmx=hB,Amx=function(u,c,b){return Fmx.forEach(b,function(K){u=K(u,c)}),u},Em0=function(u){return!!(u&&u.__CANCEL__)},Tmx=hB,wmx=function(u,c){Tmx.forEach(u,function(R,K){K!==c&&K.toUpperCase()===c.toUpperCase()&&(u[c]=R,delete u[K])})},kmx=function(u,c,b,R,K){return u.config=c,b&&(u.code=b),u.request=R,u.response=K,u.isAxiosError=!0,u.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code}},u},Nmx=kmx,Sm0=function(u,c,b,R,K){var s0=new Error(u);return Nmx(s0,c,b,R,K)},Pmx=Sm0,Imx=function(u,c,b){var R=b.config.validateStatus;!R||R(b.status)?u(b):c(Pmx(\"Request failed with status code \"+b.status,b.config,null,b.request,b))},Omx=function(u){return/^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(u)},Bmx=function(u,c){return c?u.replace(/\\/+$/,\"\")+\"/\"+c.replace(/^\\/+/,\"\"):u},Lmx=Omx,Mmx=Bmx,Rmx=function(u,c){return u&&!Lmx(c)?Mmx(u,c):c},Sr0=hB,jmx=[\"age\",\"authorization\",\"content-length\",\"content-type\",\"etag\",\"expires\",\"from\",\"host\",\"if-modified-since\",\"if-unmodified-since\",\"last-modified\",\"location\",\"max-forwards\",\"proxy-authorization\",\"referer\",\"retry-after\",\"user-agent\"],Umx=function(u){var c={},b,R,K;return u&&Sr0.forEach(u.split(`\n`),function(Y){if(K=Y.indexOf(\":\"),b=Sr0.trim(Y.substr(0,K)).toLowerCase(),R=Sr0.trim(Y.substr(K+1)),b){if(c[b]&&jmx.indexOf(b)>=0)return;b===\"set-cookie\"?c[b]=(c[b]?c[b]:[]).concat([R]):c[b]=c[b]?c[b]+\", \"+R:R}}),c},Fm0=hB,Vmx=Fm0.isStandardBrowserEnv()?function(){var u=/(msie|trident)/i.test(navigator.userAgent),c=document.createElement(\"a\"),b;function R(K){var s0=K;return u&&(c.setAttribute(\"href\",s0),s0=c.href),c.setAttribute(\"href\",s0),{href:c.href,protocol:c.protocol?c.protocol.replace(/:$/,\"\"):\"\",host:c.host,search:c.search?c.search.replace(/^\\?/,\"\"):\"\",hash:c.hash?c.hash.replace(/^#/,\"\"):\"\",hostname:c.hostname,port:c.port,pathname:c.pathname.charAt(0)===\"/\"?c.pathname:\"/\"+c.pathname}}return b=R(window.location.href),function(s0){var Y=Fm0.isString(s0)?R(s0):s0;return Y.protocol===b.protocol&&Y.host===b.host}}():function(){return function(){return!0}}(),jQ=hB,$mx=jQ.isStandardBrowserEnv()?function(){return{write:function(c,b,R,K,s0,Y){var F0=[];F0.push(c+\"=\"+encodeURIComponent(b)),jQ.isNumber(R)&&F0.push(\"expires=\"+new Date(R).toGMTString()),jQ.isString(K)&&F0.push(\"path=\"+K),jQ.isString(s0)&&F0.push(\"domain=\"+s0),Y===!0&&F0.push(\"secure\"),document.cookie=F0.join(\"; \")},read:function(c){var b=document.cookie.match(new RegExp(\"(^|;\\\\s*)(\"+c+\")=([^;]*)\"));return b?decodeURIComponent(b[3]):null},remove:function(c){this.write(c,\"\",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}(),UQ=hB,Kmx=Imx,zmx=Cm0,Wmx=Rmx,qmx=Umx,Jmx=Vmx,Fr0=Sm0,Am0=function(u){return new Promise(function(b,R){var K=u.data,s0=u.headers;UQ.isFormData(K)&&delete s0[\"Content-Type\"];var Y=new XMLHttpRequest;if(u.auth){var F0=u.auth.username||\"\",J0=u.auth.password||\"\";s0.Authorization=\"Basic \"+btoa(F0+\":\"+J0)}var e1=Wmx(u.baseURL,u.url);if(Y.open(u.method.toUpperCase(),zmx(e1,u.params,u.paramsSerializer),!0),Y.timeout=u.timeout,Y.onreadystatechange=function(){if(!(!Y||Y.readyState!==4)&&!(Y.status===0&&!(Y.responseURL&&Y.responseURL.indexOf(\"file:\")===0))){var a1=\"getAllResponseHeaders\"in Y?qmx(Y.getAllResponseHeaders()):null,D1=!u.responseType||u.responseType===\"text\"?Y.responseText:Y.response,W0={data:D1,status:Y.status,statusText:Y.statusText,headers:a1,config:u,request:Y};Kmx(b,R,W0),Y=null}},Y.onabort=function(){!Y||(R(Fr0(\"Request aborted\",u,\"ECONNABORTED\",Y)),Y=null)},Y.onerror=function(){R(Fr0(\"Network Error\",u,null,Y)),Y=null},Y.ontimeout=function(){var a1=\"timeout of \"+u.timeout+\"ms exceeded\";u.timeoutErrorMessage&&(a1=u.timeoutErrorMessage),R(Fr0(a1,u,\"ECONNABORTED\",Y)),Y=null},UQ.isStandardBrowserEnv()){var t1=$mx,r1=(u.withCredentials||Jmx(e1))&&u.xsrfCookieName?t1.read(u.xsrfCookieName):void 0;r1&&(s0[u.xsrfHeaderName]=r1)}if(\"setRequestHeader\"in Y&&UQ.forEach(s0,function(a1,D1){typeof K==\"undefined\"&&D1.toLowerCase()===\"content-type\"?delete s0[D1]:Y.setRequestHeader(D1,a1)}),UQ.isUndefined(u.withCredentials)||(Y.withCredentials=!!u.withCredentials),u.responseType)try{Y.responseType=u.responseType}catch(F1){if(u.responseType!==\"json\")throw F1}typeof u.onDownloadProgress==\"function\"&&Y.addEventListener(\"progress\",u.onDownloadProgress),typeof u.onUploadProgress==\"function\"&&Y.upload&&Y.upload.addEventListener(\"progress\",u.onUploadProgress),u.cancelToken&&u.cancelToken.promise.then(function(a1){!Y||(Y.abort(),R(a1),Y=null)}),K===void 0&&(K=null),Y.send(K)})},hO=hB,Tm0=wmx,Hmx={\"Content-Type\":\"application/x-www-form-urlencoded\"};function wm0(a,u){!hO.isUndefined(a)&&hO.isUndefined(a[\"Content-Type\"])&&(a[\"Content-Type\"]=u)}function Gmx(){var a;return(typeof XMLHttpRequest!=\"undefined\"||typeof process!=\"undefined\"&&Object.prototype.toString.call(process)===\"[object process]\")&&(a=Am0),a}var VQ={adapter:Gmx(),transformRequest:[function(u,c){return Tm0(c,\"Accept\"),Tm0(c,\"Content-Type\"),hO.isFormData(u)||hO.isArrayBuffer(u)||hO.isBuffer(u)||hO.isStream(u)||hO.isFile(u)||hO.isBlob(u)?u:hO.isArrayBufferView(u)?u.buffer:hO.isURLSearchParams(u)?(wm0(c,\"application/x-www-form-urlencoded;charset=utf-8\"),u.toString()):hO.isObject(u)?(wm0(c,\"application/json;charset=utf-8\"),JSON.stringify(u)):u}],transformResponse:[function(u){if(typeof u==\"string\")try{u=JSON.parse(u)}catch{}return u}],timeout:0,xsrfCookieName:\"XSRF-TOKEN\",xsrfHeaderName:\"X-XSRF-TOKEN\",maxContentLength:-1,validateStatus:function(u){return u>=200&&u<300}};VQ.headers={common:{Accept:\"application/json, text/plain, */*\"}};hO.forEach([\"delete\",\"get\",\"head\"],function(u){VQ.headers[u]={}});hO.forEach([\"post\",\"put\",\"patch\"],function(u){VQ.headers[u]=hO.merge(Hmx)});var km0=VQ,Nm0=hB,Ar0=Amx,Xmx=Em0,Ymx=km0;function Tr0(a){a.cancelToken&&a.cancelToken.throwIfRequested()}var Qmx=function(u){Tr0(u),u.headers=u.headers||{},u.data=Ar0(u.data,u.headers,u.transformRequest),u.headers=Nm0.merge(u.headers.common||{},u.headers[u.method]||{},u.headers),Nm0.forEach([\"delete\",\"get\",\"head\",\"post\",\"put\",\"patch\",\"common\"],function(R){delete u.headers[R]});var c=u.adapter||Ymx.adapter;return c(u).then(function(R){return Tr0(u),R.data=Ar0(R.data,R.headers,u.transformResponse),R},function(R){return Xmx(R)||(Tr0(u),R&&R.response&&(R.response.data=Ar0(R.response.data,R.response.headers,u.transformResponse))),Promise.reject(R)})},d$=hB,Pm0=function(u,c){c=c||{};var b={},R=[\"url\",\"method\",\"params\",\"data\"],K=[\"headers\",\"auth\",\"proxy\"],s0=[\"baseURL\",\"url\",\"transformRequest\",\"transformResponse\",\"paramsSerializer\",\"timeout\",\"withCredentials\",\"adapter\",\"responseType\",\"xsrfCookieName\",\"xsrfHeaderName\",\"onUploadProgress\",\"onDownloadProgress\",\"maxContentLength\",\"validateStatus\",\"maxRedirects\",\"httpAgent\",\"httpsAgent\",\"cancelToken\",\"socketPath\"];d$.forEach(R,function(e1){typeof c[e1]!=\"undefined\"&&(b[e1]=c[e1])}),d$.forEach(K,function(e1){d$.isObject(c[e1])?b[e1]=d$.deepMerge(u[e1],c[e1]):typeof c[e1]!=\"undefined\"?b[e1]=c[e1]:d$.isObject(u[e1])?b[e1]=d$.deepMerge(u[e1]):typeof u[e1]!=\"undefined\"&&(b[e1]=u[e1])}),d$.forEach(s0,function(e1){typeof c[e1]!=\"undefined\"?b[e1]=c[e1]:typeof u[e1]!=\"undefined\"&&(b[e1]=u[e1])});var Y=R.concat(K).concat(s0),F0=Object.keys(c).filter(function(e1){return Y.indexOf(e1)===-1});return d$.forEach(F0,function(e1){typeof c[e1]!=\"undefined\"?b[e1]=c[e1]:typeof u[e1]!=\"undefined\"&&(b[e1]=u[e1])}),b},$Q=hB,Zmx=Cm0,Im0=Smx,xhx=Qmx,Om0=Pm0;function EJ(a){this.defaults=a,this.interceptors={request:new Im0,response:new Im0}}EJ.prototype.request=function(u){typeof u==\"string\"?(u=arguments[1]||{},u.url=arguments[0]):u=u||{},u=Om0(this.defaults,u),u.method?u.method=u.method.toLowerCase():this.defaults.method?u.method=this.defaults.method.toLowerCase():u.method=\"get\";var c=[xhx,void 0],b=Promise.resolve(u);for(this.interceptors.request.forEach(function(K){c.unshift(K.fulfilled,K.rejected)}),this.interceptors.response.forEach(function(K){c.push(K.fulfilled,K.rejected)});c.length;)b=b.then(c.shift(),c.shift());return b};EJ.prototype.getUri=function(u){return u=Om0(this.defaults,u),Zmx(u.url,u.params,u.paramsSerializer).replace(/^\\?/,\"\")};$Q.forEach([\"delete\",\"get\",\"head\",\"options\"],function(u){EJ.prototype[u]=function(c,b){return this.request($Q.merge(b||{},{method:u,url:c}))}});$Q.forEach([\"post\",\"put\",\"patch\"],function(u){EJ.prototype[u]=function(c,b,R){return this.request($Q.merge(R||{},{method:u,url:c,data:b}))}});var ehx=EJ;function wr0(a){this.message=a}wr0.prototype.toString=function(){return\"Cancel\"+(this.message?\": \"+this.message:\"\")};wr0.prototype.__CANCEL__=!0;var Bm0=wr0,thx=Bm0;function KQ(a){if(typeof a!=\"function\")throw new TypeError(\"executor must be a function.\");var u;this.promise=new Promise(function(R){u=R});var c=this;a(function(R){c.reason||(c.reason=new thx(R),u(c.reason))})}KQ.prototype.throwIfRequested=function(){if(this.reason)throw this.reason};KQ.source=function(){var u,c=new KQ(function(R){u=R});return{token:c,cancel:u}};var rhx=KQ,nhx=function(u){return function(b){return u.apply(null,b)}},Lm0=hB,ihx=gm0,zQ=ehx,ahx=Pm0,ohx=km0;function Mm0(a){var u=new zQ(a),c=ihx(zQ.prototype.request,u);return Lm0.extend(c,zQ.prototype,u),Lm0.extend(c,u),c}var Ij=Mm0(ohx);Ij.Axios=zQ;Ij.create=function(u){return Mm0(ahx(Ij.defaults,u))};Ij.Cancel=Bm0;Ij.CancelToken=rhx;Ij.isCancel=Em0;Ij.all=function(u){return Promise.all(u)};Ij.spread=nhx;br0.exports=Ij;br0.exports.default=Ij;var Swx=br0.exports;function shx(a,u){const c=Object.create(null),b=a.split(\",\");for(let R=0;R<b.length;R++)c[b[R]]=!0;return u?R=>!!c[R.toLowerCase()]:R=>!!c[R]}const uhx=()=>{},kr0=Object.assign,chx=Object.prototype.hasOwnProperty,WQ=(a,u)=>chx.call(a,u),eV=Array.isArray,qQ=a=>jm0(a)===\"[object Map]\",Rm0=a=>typeof a==\"function\",lhx=a=>typeof a==\"string\",Nr0=a=>typeof a==\"symbol\",SJ=a=>a!==null&&typeof a==\"object\",fhx=Object.prototype.toString,jm0=a=>fhx.call(a),phx=a=>jm0(a).slice(8,-1),Pr0=a=>lhx(a)&&a!==\"NaN\"&&a[0]!==\"-\"&&\"\"+parseInt(a,10)===a,Ir0=(a,u)=>!Object.is(a,u),dhx=(a,u,c)=>{Object.defineProperty(a,u,{configurable:!0,enumerable:!1,value:c})};let Oj;const JQ=[];class Or0{constructor(u=!1){this.active=!0,this.effects=[],this.cleanups=[],!u&&Oj&&(this.parent=Oj,this.index=(Oj.scopes||(Oj.scopes=[])).push(this)-1)}run(u){if(this.active)try{return this.on(),u()}finally{this.off()}}on(){this.active&&(JQ.push(this),Oj=this)}off(){this.active&&(JQ.pop(),Oj=JQ[JQ.length-1])}stop(u){if(this.active){if(this.effects.forEach(c=>c.stop()),this.cleanups.forEach(c=>c()),this.scopes&&this.scopes.forEach(c=>c.stop(!0)),this.parent&&!u){const c=this.parent.scopes.pop();c&&c!==this&&(this.parent.scopes[this.index]=c,c.index=this.index)}this.active=!1}}}function Br0(a){return new Or0(a)}function Um0(a,u){u=u||Oj,u&&u.active&&u.effects.push(a)}function Vm0(){return Oj}function $m0(a){Oj&&Oj.cleanups.push(a)}const Lr0=a=>{const u=new Set(a);return u.w=0,u.n=0,u},Km0=a=>(a.w&m$)>0,zm0=a=>(a.n&m$)>0,mhx=({deps:a})=>{if(a.length)for(let u=0;u<a.length;u++)a[u].w|=m$},hhx=a=>{const{deps:u}=a;if(u.length){let c=0;for(let b=0;b<u.length;b++){const R=u[b];Km0(R)&&!zm0(R)?R.delete(a):u[c++]=R,R.w&=~m$,R.n&=~m$}u.length=c}},Mr0=new WeakMap;let FJ=0,m$=1;const Rr0=30,AJ=[];let ZK;const xz=Symbol(\"\"),jr0=Symbol(\"\");class TJ{constructor(u,c=null,b){this.fn=u,this.scheduler=c,this.active=!0,this.deps=[],Um0(this,b)}run(){if(!this.active)return this.fn();if(!AJ.includes(this))try{return AJ.push(ZK=this),yhx(),m$=1<<++FJ,FJ<=Rr0?mhx(this):Wm0(this),this.fn()}finally{FJ<=Rr0&&hhx(this),m$=1<<--FJ,h$(),AJ.pop();const u=AJ.length;ZK=u>0?AJ[u-1]:void 0}}stop(){this.active&&(Wm0(this),this.onStop&&this.onStop(),this.active=!1)}}function Wm0(a){const{deps:u}=a;if(u.length){for(let c=0;c<u.length;c++)u[c].delete(a);u.length=0}}function ghx(a,u){a.effect&&(a=a.effect.fn);const c=new TJ(a);u&&(kr0(c,u),u.scope&&Um0(c,u.scope)),(!u||!u.lazy)&&c.run();const b=c.run.bind(c);return b.effect=c,b}function _hx(a){a.effect.stop()}let CW=!0;const Ur0=[];function ez(){Ur0.push(CW),CW=!1}function yhx(){Ur0.push(CW),CW=!0}function h$(){const a=Ur0.pop();CW=a===void 0?!0:a}function gB(a,u,c){if(!qm0())return;let b=Mr0.get(a);b||Mr0.set(a,b=new Map);let R=b.get(c);R||b.set(c,R=Lr0()),Jm0(R)}function qm0(){return CW&&ZK!==void 0}function Jm0(a,u){let c=!1;FJ<=Rr0?zm0(a)||(a.n|=m$,c=!Km0(a)):c=!a.has(ZK),c&&(a.add(ZK),ZK.deps.push(a))}function tV(a,u,c,b,R,K){const s0=Mr0.get(a);if(!s0)return;let Y=[];if(u===\"clear\")Y=[...s0.values()];else if(c===\"length\"&&eV(a))s0.forEach((F0,J0)=>{(J0===\"length\"||J0>=b)&&Y.push(F0)});else switch(c!==void 0&&Y.push(s0.get(c)),u){case\"add\":eV(a)?Pr0(c)&&Y.push(s0.get(\"length\")):(Y.push(s0.get(xz)),qQ(a)&&Y.push(s0.get(jr0)));break;case\"delete\":eV(a)||(Y.push(s0.get(xz)),qQ(a)&&Y.push(s0.get(jr0)));break;case\"set\":qQ(a)&&Y.push(s0.get(xz));break}if(Y.length===1)Y[0]&&Vr0(Y[0]);else{const F0=[];for(const J0 of Y)J0&&F0.push(...J0);Vr0(Lr0(F0))}}function Vr0(a,u){for(const c of eV(a)?a:[...a])(c!==ZK||c.allowRecurse)&&(c.scheduler?c.scheduler():c.run())}const Dhx=shx(\"__proto__,__v_isRef,__isVue\"),Hm0=new Set(Object.getOwnPropertyNames(Symbol).map(a=>Symbol[a]).filter(Nr0)),vhx=HQ(),bhx=HQ(!1,!0),Chx=HQ(!0),Ehx=HQ(!0,!0),Gm0=Shx();function Shx(){const a={};return[\"includes\",\"indexOf\",\"lastIndexOf\"].forEach(u=>{a[u]=function(...c){const b=CS(this);for(let K=0,s0=this.length;K<s0;K++)gB(b,\"get\",K+\"\");const R=b[u](...c);return R===-1||R===!1?b[u](...c.map(CS)):R}}),[\"push\",\"pop\",\"shift\",\"unshift\",\"splice\"].forEach(u=>{a[u]=function(...c){ez();const b=CS(this)[u].apply(this,c);return h$(),b}}),a}function HQ(a=!1,u=!1){return function(b,R,K){if(R===\"__v_isReactive\")return!a;if(R===\"__v_isReadonly\")return a;if(R===\"__v_raw\"&&K===(a?u?ah0:ih0:u?nh0:rh0).get(b))return b;const s0=eV(b);if(!a&&s0&&WQ(Gm0,R))return Reflect.get(Gm0,R,K);const Y=Reflect.get(b,R,K);return(Nr0(R)?Hm0.has(R):Dhx(R))||(a||gB(b,\"get\",R),u)?Y:jw(Y)?!s0||!Pr0(R)?Y.value:Y:SJ(Y)?a?Wr0(Y):_B(Y):Y}}const Fhx=Xm0(),Ahx=Xm0(!0);function Xm0(a=!1){return function(c,b,R,K){let s0=c[b];if(!a&&(R=CS(R),s0=CS(s0),!eV(c)&&jw(s0)&&!jw(R)))return s0.value=R,!0;const Y=eV(c)&&Pr0(b)?Number(b)<c.length:WQ(c,b),F0=Reflect.set(c,b,R,K);return c===CS(K)&&(Y?Ir0(R,s0)&&tV(c,\"set\",b,R):tV(c,\"add\",b,R)),F0}}function Thx(a,u){const c=WQ(a,u);a[u];const b=Reflect.deleteProperty(a,u);return b&&c&&tV(a,\"delete\",u,void 0),b}function whx(a,u){const c=Reflect.has(a,u);return(!Nr0(u)||!Hm0.has(u))&&gB(a,\"has\",u),c}function khx(a){return gB(a,\"iterate\",eV(a)?\"length\":xz),Reflect.ownKeys(a)}const Ym0={get:vhx,set:Fhx,deleteProperty:Thx,has:whx,ownKeys:khx},Qm0={get:Chx,set(a,u){return!0},deleteProperty(a,u){return!0}},Nhx=kr0({},Ym0,{get:bhx,set:Ahx}),Phx=kr0({},Qm0,{get:Ehx}),$r0=a=>SJ(a)?_B(a):a,Kr0=a=>SJ(a)?Wr0(a):a,zr0=a=>a,GQ=a=>Reflect.getPrototypeOf(a);function XQ(a,u,c=!1,b=!1){a=a.__v_raw;const R=CS(a),K=CS(u);u!==K&&!c&&gB(R,\"get\",u),!c&&gB(R,\"get\",K);const{has:s0}=GQ(R),Y=b?zr0:c?Kr0:$r0;if(s0.call(R,u))return Y(a.get(u));if(s0.call(R,K))return Y(a.get(K));a!==R&&a.get(u)}function YQ(a,u=!1){const c=this.__v_raw,b=CS(c),R=CS(a);return a!==R&&!u&&gB(b,\"has\",a),!u&&gB(b,\"has\",R),a===R?c.has(a):c.has(a)||c.has(R)}function QQ(a,u=!1){return a=a.__v_raw,!u&&gB(CS(a),\"iterate\",xz),Reflect.get(a,\"size\",a)}function Zm0(a){a=CS(a);const u=CS(this);return GQ(u).has.call(u,a)||(u.add(a),tV(u,\"add\",a,a)),this}function xh0(a,u){u=CS(u);const c=CS(this),{has:b,get:R}=GQ(c);let K=b.call(c,a);K||(a=CS(a),K=b.call(c,a));const s0=R.call(c,a);return c.set(a,u),K?Ir0(u,s0)&&tV(c,\"set\",a,u):tV(c,\"add\",a,u),this}function eh0(a){const u=CS(this),{has:c,get:b}=GQ(u);let R=c.call(u,a);R||(a=CS(a),R=c.call(u,a)),b&&b.call(u,a);const K=u.delete(a);return R&&tV(u,\"delete\",a,void 0),K}function th0(){const a=CS(this),u=a.size!==0,c=a.clear();return u&&tV(a,\"clear\",void 0,void 0),c}function ZQ(a,u){return function(b,R){const K=this,s0=K.__v_raw,Y=CS(s0),F0=u?zr0:a?Kr0:$r0;return!a&&gB(Y,\"iterate\",xz),s0.forEach((J0,e1)=>b.call(R,F0(J0),F0(e1),K))}}function xZ(a,u,c){return function(...b){const R=this.__v_raw,K=CS(R),s0=qQ(K),Y=a===\"entries\"||a===Symbol.iterator&&s0,F0=a===\"keys\"&&s0,J0=R[a](...b),e1=c?zr0:u?Kr0:$r0;return!u&&gB(K,\"iterate\",F0?jr0:xz),{next(){const{value:t1,done:r1}=J0.next();return r1?{value:t1,done:r1}:{value:Y?[e1(t1[0]),e1(t1[1])]:e1(t1),done:r1}},[Symbol.iterator](){return this}}}}function g$(a){return function(...u){return a===\"delete\"?!1:this}}function Ihx(){const a={get(K){return XQ(this,K)},get size(){return QQ(this)},has:YQ,add:Zm0,set:xh0,delete:eh0,clear:th0,forEach:ZQ(!1,!1)},u={get(K){return XQ(this,K,!1,!0)},get size(){return QQ(this)},has:YQ,add:Zm0,set:xh0,delete:eh0,clear:th0,forEach:ZQ(!1,!0)},c={get(K){return XQ(this,K,!0)},get size(){return QQ(this,!0)},has(K){return YQ.call(this,K,!0)},add:g$(\"add\"),set:g$(\"set\"),delete:g$(\"delete\"),clear:g$(\"clear\"),forEach:ZQ(!0,!1)},b={get(K){return XQ(this,K,!0,!0)},get size(){return QQ(this,!0)},has(K){return YQ.call(this,K,!0)},add:g$(\"add\"),set:g$(\"set\"),delete:g$(\"delete\"),clear:g$(\"clear\"),forEach:ZQ(!0,!0)};return[\"keys\",\"values\",\"entries\",Symbol.iterator].forEach(K=>{a[K]=xZ(K,!1,!1),c[K]=xZ(K,!0,!1),u[K]=xZ(K,!1,!0),b[K]=xZ(K,!0,!0)}),[a,c,u,b]}const[Ohx,Bhx,Lhx,Mhx]=Ihx();function eZ(a,u){const c=u?a?Mhx:Lhx:a?Bhx:Ohx;return(b,R,K)=>R===\"__v_isReactive\"?!a:R===\"__v_isReadonly\"?a:R===\"__v_raw\"?b:Reflect.get(WQ(c,R)&&R in b?c:b,R,K)}const Rhx={get:eZ(!1,!1)},jhx={get:eZ(!1,!0)},Uhx={get:eZ(!0,!1)},Vhx={get:eZ(!0,!0)},rh0=new WeakMap,nh0=new WeakMap,ih0=new WeakMap,ah0=new WeakMap;function $hx(a){switch(a){case\"Object\":case\"Array\":return 1;case\"Map\":case\"Set\":case\"WeakMap\":case\"WeakSet\":return 2;default:return 0}}function Khx(a){return a.__v_skip||!Object.isExtensible(a)?0:$hx(phx(a))}function _B(a){return a&&a.__v_isReadonly?a:tZ(a,!1,Ym0,Rhx,rh0)}function oh0(a){return tZ(a,!1,Nhx,jhx,nh0)}function Wr0(a){return tZ(a,!0,Qm0,Uhx,ih0)}function zhx(a){return tZ(a,!0,Phx,Vhx,ah0)}function tZ(a,u,c,b,R){if(!SJ(a)||a.__v_raw&&!(u&&a.__v_isReactive))return a;const K=R.get(a);if(K)return K;const s0=Khx(a);if(s0===0)return a;const Y=new Proxy(a,s0===2?b:c);return R.set(a,Y),Y}function eR(a){return rZ(a)?eR(a.__v_raw):!!(a&&a.__v_isReactive)}function rZ(a){return!!(a&&a.__v_isReadonly)}function qr0(a){return eR(a)||rZ(a)}function CS(a){const u=a&&a.__v_raw;return u?CS(u):a}function tz(a){return dhx(a,\"__v_skip\",!0),a}function Jr0(a){qm0()&&(a=CS(a),a.dep||(a.dep=Lr0()),Jm0(a.dep))}function nZ(a,u){a=CS(a),a.dep&&Vr0(a.dep)}const sh0=a=>SJ(a)?_B(a):a;function jw(a){return Boolean(a&&a.__v_isRef===!0)}function n2(a){return ch0(a)}function uh0(a){return ch0(a,!0)}class Whx{constructor(u,c=!1){this._shallow=c,this.dep=void 0,this.__v_isRef=!0,this._rawValue=c?u:CS(u),this._value=c?u:sh0(u)}get value(){return Jr0(this),this._value}set value(u){u=this._shallow?u:CS(u),Ir0(u,this._rawValue)&&(this._rawValue=u,this._value=this._shallow?u:sh0(u),nZ(this))}}function ch0(a,u=!1){return jw(a)?a:new Whx(a,u)}function qhx(a){nZ(a)}function O8(a){return jw(a)?a.value:a}const Jhx={get:(a,u,c)=>O8(Reflect.get(a,u,c)),set:(a,u,c,b)=>{const R=a[u];return jw(R)&&!jw(c)?(R.value=c,!0):Reflect.set(a,u,c,b)}};function Hr0(a){return eR(a)?a:new Proxy(a,Jhx)}class Hhx{constructor(u){this.dep=void 0,this.__v_isRef=!0;const{get:c,set:b}=u(()=>Jr0(this),()=>nZ(this));this._get=c,this._set=b}get value(){return this._get()}set value(u){this._set(u)}}function Ghx(a){return new Hhx(a)}function lh0(a){const u=eV(a)?new Array(a.length):{};for(const c in a)u[c]=Gr0(a,c);return u}class Xhx{constructor(u,c){this._object=u,this._key=c,this.__v_isRef=!0}get value(){return this._object[this._key]}set value(u){this._object[this._key]=u}}function Gr0(a,u){const c=a[u];return jw(c)?c:new Xhx(a,u)}class Yhx{constructor(u,c,b){this._setter=c,this.dep=void 0,this._dirty=!0,this.__v_isRef=!0,this.effect=new TJ(u,()=>{this._dirty||(this._dirty=!0,nZ(this))}),this.__v_isReadonly=b}get value(){const u=CS(this);return Jr0(u),u._dirty&&(u._dirty=!1,u._value=u.effect.run()),u._value}set value(u){this._setter(u)}}function Sp(a,u){let c,b;return Rm0(a)?(c=a,b=uhx):(c=a.get,b=a.set),new Yhx(c,b,Rm0(a)||!a.set)}Promise.resolve();function fh0(a,u){const c=Object.create(null),b=a.split(\",\");for(let R=0;R<b.length;R++)c[b[R]]=!0;return u?R=>!!c[R.toLowerCase()]:R=>!!c[R]}const Qhx=\"Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt\",Zhx=fh0(Qhx);function wJ(a){if(bT(a)){const u={};for(let c=0;c<a.length;c++){const b=a[c],R=aP(b)?tgx(b):wJ(b);if(R)for(const K in R)u[K]=R[K]}return u}else{if(aP(a))return a;if(kI(a))return a}}const xgx=/;(?![^(]*\\))/g,egx=/:(.+)/;function tgx(a){const u={};return a.split(xgx).forEach(c=>{if(c){const b=c.split(egx);b.length>1&&(u[b[0].trim()]=b[1].trim())}}),u}function kJ(a){let u=\"\";if(aP(a))u=a;else if(bT(a))for(let c=0;c<a.length;c++){const b=kJ(a[c]);b&&(u+=b+\" \")}else if(kI(a))for(const c in a)a[c]&&(u+=c+\" \");return u.trim()}function rgx(a){if(!a)return null;let{class:u,style:c}=a;return u&&!aP(u)&&(a.class=kJ(u)),c&&(a.style=wJ(c)),a}const ph0=a=>a==null?\"\":bT(a)||kI(a)&&(a.toString===Dh0||!uF(a.toString))?JSON.stringify(a,dh0,2):String(a),dh0=(a,u)=>u&&u.__v_isRef?dh0(a,u.value):gh0(u)?{[`Map(${u.size})`]:[...u.entries()].reduce((c,[b,R])=>(c[`${b} =>`]=R,c),{})}:_h0(u)?{[`Set(${u.size})`]:[...u.values()]}:kI(u)&&!bT(u)&&!vh0(u)?String(u):u,Q5={},EW=[],rz=()=>{},ngx=()=>!1,igx=/^on[^a-z]/,iZ=a=>igx.test(a),mh0=a=>a.startsWith(\"onUpdate:\"),gO=Object.assign,hh0=(a,u)=>{const c=a.indexOf(u);c>-1&&a.splice(c,1)},agx=Object.prototype.hasOwnProperty,L5=(a,u)=>agx.call(a,u),bT=Array.isArray,gh0=a=>Xr0(a)===\"[object Map]\",_h0=a=>Xr0(a)===\"[object Set]\",uF=a=>typeof a==\"function\",aP=a=>typeof a==\"string\",kI=a=>a!==null&&typeof a==\"object\",yh0=a=>kI(a)&&uF(a.then)&&uF(a.catch),Dh0=Object.prototype.toString,Xr0=a=>Dh0.call(a),vh0=a=>Xr0(a)===\"[object Object]\",NJ=fh0(\",key,ref,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted\"),aZ=a=>{const u=Object.create(null);return c=>u[c]||(u[c]=a(c))},ogx=/-(\\w)/g,tR=aZ(a=>a.replace(ogx,(u,c)=>c?c.toUpperCase():\"\")),sgx=/\\B([A-Z])/g,oZ=aZ(a=>a.replace(sgx,\"-$1\").toLowerCase()),sZ=aZ(a=>a.charAt(0).toUpperCase()+a.slice(1)),PJ=aZ(a=>a?`on${sZ(a)}`:\"\"),bh0=(a,u)=>!Object.is(a,u),IJ=(a,u)=>{for(let c=0;c<a.length;c++)a[c](u)},Yr0=(a,u,c)=>{Object.defineProperty(a,u,{configurable:!0,enumerable:!1,value:c})},Ch0=a=>{const u=parseFloat(a);return isNaN(u)?a:u};let Eh0;function ugx(a){Eh0=a}function cgx(a,u,...c){const b=a.vnode.props||Q5;let R=c;const K=u.startsWith(\"update:\"),s0=K&&u.slice(7);if(s0&&s0 in b){const e1=`${s0===\"modelValue\"?\"model\":s0}Modifiers`,{number:t1,trim:r1}=b[e1]||Q5;r1?R=c.map(F1=>F1.trim()):t1&&(R=c.map(Ch0))}let Y,F0=b[Y=PJ(u)]||b[Y=PJ(tR(u))];!F0&&K&&(F0=b[Y=PJ(oZ(u))]),F0&&LL(F0,a,6,R);const J0=b[Y+\"Once\"];if(J0){if(!a.emitted)a.emitted={};else if(a.emitted[Y])return;a.emitted[Y]=!0,LL(J0,a,6,R)}}function Sh0(a,u,c=!1){const b=u.emitsCache,R=b.get(a);if(R!==void 0)return R;const K=a.emits;let s0={},Y=!1;if(!uF(a)){const F0=J0=>{const e1=Sh0(J0,u,!0);e1&&(Y=!0,gO(s0,e1))};!c&&u.mixins.length&&u.mixins.forEach(F0),a.extends&&F0(a.extends),a.mixins&&a.mixins.forEach(F0)}return!K&&!Y?(b.set(a,null),null):(bT(K)?K.forEach(F0=>s0[F0]=null):gO(s0,K),b.set(a,s0),s0)}function Qr0(a,u){return!a||!iZ(u)?!1:(u=u.slice(2).replace(/Once$/,\"\"),L5(a,u[0].toLowerCase()+u.slice(1))||L5(a,oZ(u))||L5(a,u))}let yB=null,uZ=null;function OJ(a){const u=yB;return yB=a,uZ=a&&a.type.__scopeId||null,u}function Fh0(a){uZ=a}function Ah0(){uZ=null}const Th0=a=>nz;function nz(a,u=yB,c){if(!u||a._n)return a;const b=(...R)=>{b._d&&yn0(-1);const K=OJ(u),s0=a(...R);return OJ(K),b._d&&yn0(1),s0};return b._n=!0,b._c=!0,b._d=!0,b}function cZ(a){const{type:u,vnode:c,proxy:b,withProxy:R,props:K,propsOptions:[s0],slots:Y,attrs:F0,emit:J0,render:e1,renderCache:t1,data:r1,setupState:F1,ctx:a1,inheritAttrs:D1}=a;let W0;const i1=OJ(a);try{let x1;if(c.shapeFlag&4){const ee=R||b;W0=vB(e1.call(ee,ee,t1,K,F1,r1,a1)),x1=F0}else{const ee=u;W0=vB(ee.length>1?ee(K,{attrs:F0,slots:Y,emit:J0}):ee(K,null)),x1=u.props?F0:fgx(F0)}let ux=W0,K1;if(x1&&D1!==!1){const ee=Object.keys(x1),{shapeFlag:Gx}=ux;ee.length&&Gx&(1|6)&&(s0&&ee.some(mh0)&&(x1=pgx(x1,s0)),ux=nV(ux,x1))}c.dirs&&(ux.dirs=ux.dirs?ux.dirs.concat(c.dirs):c.dirs),c.transition&&(ux.transition=c.transition),W0=ux}catch(x1){VJ.length=0,sz(x1,a,1),W0=pi(yO)}return OJ(i1),W0}function lgx(a){let u;for(let c=0;c<a.length;c++){const b=a[c];if(y$(b)){if(b.type!==yO||b.children===\"v-if\"){if(u)return;u=b}}else return}return u}const fgx=a=>{let u;for(const c in a)(c===\"class\"||c===\"style\"||iZ(c))&&((u||(u={}))[c]=a[c]);return u},pgx=(a,u)=>{const c={};for(const b in a)(!mh0(b)||!(b.slice(9)in u))&&(c[b]=a[b]);return c};function dgx(a,u,c){const{props:b,children:R,component:K}=a,{props:s0,children:Y,patchFlag:F0}=u,J0=K.emitsOptions;if(u.dirs||u.transition)return!0;if(c&&F0>=0){if(F0&1024)return!0;if(F0&16)return b?wh0(b,s0,J0):!!s0;if(F0&8){const e1=u.dynamicProps;for(let t1=0;t1<e1.length;t1++){const r1=e1[t1];if(s0[r1]!==b[r1]&&!Qr0(J0,r1))return!0}}}else return(R||Y)&&(!Y||!Y.$stable)?!0:b===s0?!1:b?s0?wh0(b,s0,J0):!0:!!s0;return!1}function wh0(a,u,c){const b=Object.keys(u);if(b.length!==Object.keys(a).length)return!0;for(let R=0;R<b.length;R++){const K=b[R];if(u[K]!==a[K]&&!Qr0(c,K))return!0}return!1}function Zr0({vnode:a,parent:u},c){for(;u&&u.subTree===a;)(a=u.vnode).el=c,u=u.parent}const mgx=a=>a.__isSuspense,hgx={name:\"Suspense\",__isSuspense:!0,process(a,u,c,b,R,K,s0,Y,F0,J0){a==null?_gx(u,c,b,R,K,s0,Y,F0,J0):ygx(a,u,c,b,R,s0,Y,F0,J0)},hydrate:Dgx,create:xn0,normalize:vgx},ggx=hgx;function BJ(a,u){const c=a.props&&a.props[u];uF(c)&&c()}function _gx(a,u,c,b,R,K,s0,Y,F0){const{p:J0,o:{createElement:e1}}=F0,t1=e1(\"div\"),r1=a.suspense=xn0(a,R,b,u,t1,c,K,s0,Y,F0);J0(null,r1.pendingBranch=a.ssContent,t1,null,b,r1,K,s0),r1.deps>0?(BJ(a,\"onPending\"),BJ(a,\"onFallback\"),J0(null,a.ssFallback,u,c,b,null,K,s0),SW(r1,a.ssFallback)):r1.resolve()}function ygx(a,u,c,b,R,K,s0,Y,{p:F0,um:J0,o:{createElement:e1}}){const t1=u.suspense=a.suspense;t1.vnode=u,u.el=a.el;const r1=u.ssContent,F1=u.ssFallback,{activeBranch:a1,pendingBranch:D1,isInFallback:W0,isHydrating:i1}=t1;if(D1)t1.pendingBranch=r1,Mj(r1,D1)?(F0(D1,r1,t1.hiddenContainer,null,R,t1,K,s0,Y),t1.deps<=0?t1.resolve():W0&&(F0(a1,F1,c,b,R,null,K,s0,Y),SW(t1,F1))):(t1.pendingId++,i1?(t1.isHydrating=!1,t1.activeBranch=D1):J0(D1,R,t1),t1.deps=0,t1.effects.length=0,t1.hiddenContainer=e1(\"div\"),W0?(F0(null,r1,t1.hiddenContainer,null,R,t1,K,s0,Y),t1.deps<=0?t1.resolve():(F0(a1,F1,c,b,R,null,K,s0,Y),SW(t1,F1))):a1&&Mj(r1,a1)?(F0(a1,r1,c,b,R,t1,K,s0,Y),t1.resolve(!0)):(F0(null,r1,t1.hiddenContainer,null,R,t1,K,s0,Y),t1.deps<=0&&t1.resolve()));else if(a1&&Mj(r1,a1))F0(a1,r1,c,b,R,t1,K,s0,Y),SW(t1,r1);else if(BJ(u,\"onPending\"),t1.pendingBranch=r1,t1.pendingId++,F0(null,r1,t1.hiddenContainer,null,R,t1,K,s0,Y),t1.deps<=0)t1.resolve();else{const{timeout:x1,pendingId:ux}=t1;x1>0?setTimeout(()=>{t1.pendingId===ux&&t1.fallback(F1)},x1):x1===0&&t1.fallback(F1)}}function xn0(a,u,c,b,R,K,s0,Y,F0,J0,e1=!1){const{p:t1,m:r1,um:F1,n:a1,o:{parentNode:D1,remove:W0}}=J0,i1=Ch0(a.props&&a.props.timeout),x1={vnode:a,parent:u,parentComponent:c,isSVG:s0,container:b,hiddenContainer:R,anchor:K,deps:0,pendingId:0,timeout:typeof i1==\"number\"?i1:-1,activeBranch:null,pendingBranch:null,isInFallback:!0,isHydrating:e1,isUnmounted:!1,effects:[],resolve(ux=!1){const{vnode:K1,activeBranch:ee,pendingBranch:Gx,pendingId:ve,effects:qe,parentComponent:Jt,container:Ct}=x1;if(x1.isHydrating)x1.isHydrating=!1;else if(!ux){const Tr=ee&&Gx.transition&&Gx.transition.mode===\"out-in\";Tr&&(ee.transition.afterLeave=()=>{ve===x1.pendingId&&r1(Gx,Ct,Lr,0)});let{anchor:Lr}=x1;ee&&(Lr=a1(ee),F1(ee,Jt,x1,!0)),Tr||r1(Gx,Ct,Lr,0)}SW(x1,Gx),x1.pendingBranch=null,x1.isInFallback=!1;let vn=x1.parent,_n=!1;for(;vn;){if(vn.pendingBranch){vn.effects.push(...qe),_n=!0;break}vn=vn.parent}_n||In0(qe),x1.effects=[],BJ(K1,\"onResolve\")},fallback(ux){if(!x1.pendingBranch)return;const{vnode:K1,activeBranch:ee,parentComponent:Gx,container:ve,isSVG:qe}=x1;BJ(K1,\"onFallback\");const Jt=a1(ee),Ct=()=>{!x1.isInFallback||(t1(null,ux,ve,Jt,Gx,null,qe,Y,F0),SW(x1,ux))},vn=ux.transition&&ux.transition.mode===\"out-in\";vn&&(ee.transition.afterLeave=Ct),x1.isInFallback=!0,F1(ee,Gx,null,!0),vn||Ct()},move(ux,K1,ee){x1.activeBranch&&r1(x1.activeBranch,ux,K1,ee),x1.container=ux},next(){return x1.activeBranch&&a1(x1.activeBranch)},registerDep(ux,K1){const ee=!!x1.pendingBranch;ee&&x1.deps++;const Gx=ux.vnode.el;ux.asyncDep.catch(ve=>{sz(ve,ux,0)}).then(ve=>{if(ux.isUnmounted||x1.isUnmounted||x1.pendingId!==ux.suspenseId)return;ux.asyncResolved=!0;const{vnode:qe}=ux;An0(ux,ve),Gx&&(qe.el=Gx);const Jt=!Gx&&ux.subTree.el;K1(ux,qe,D1(Gx||ux.subTree.el),Gx?null:a1(ux.subTree),x1,s0,F0),Jt&&W0(Jt),Zr0(ux,qe.el),ee&&--x1.deps==0&&x1.resolve()})},unmount(ux,K1){x1.isUnmounted=!0,x1.activeBranch&&F1(x1.activeBranch,c,ux,K1),x1.pendingBranch&&F1(x1.pendingBranch,c,ux,K1)}};return x1}function Dgx(a,u,c,b,R,K,s0,Y,F0){const J0=u.suspense=xn0(u,b,c,a.parentNode,document.createElement(\"div\"),null,R,K,s0,Y,!0),e1=F0(a,J0.pendingBranch=u.ssContent,c,J0,K,s0);return J0.deps===0&&J0.resolve(),e1}function vgx(a){const{shapeFlag:u,children:c}=a,b=u&32;a.ssContent=kh0(b?c.default:c),a.ssFallback=b?kh0(c.fallback):pi(Comment)}function kh0(a){let u;if(uF(a)){const c=a._c;c&&(a._d=!1,Xi()),a=a(),c&&(a._d=!0,u=Lj,ug0())}return bT(a)&&(a=lgx(a)),a=vB(a),u&&!a.dynamicChildren&&(a.dynamicChildren=u.filter(c=>c!==a)),a}function Nh0(a,u){u&&u.pendingBranch?bT(a)?u.effects.push(...a):u.effects.push(a):In0(a)}function SW(a,u){a.activeBranch=u;const{vnode:c,parentComponent:b}=a,R=c.el=u.el;b&&b.subTree===c&&(b.vnode.el=R,Zr0(b,R))}function Dw(a,u){if(eN){let c=eN.provides;const b=eN.parent&&eN.parent.provides;b===c&&(c=eN.provides=Object.create(b)),c[a]=u}}function o4(a,u,c=!1){const b=eN||yB;if(b){const R=b.parent==null?b.vnode.appContext&&b.vnode.appContext.provides:b.parent.provides;if(R&&a in R)return R[a];if(arguments.length>1)return c&&uF(u)?u.call(b.proxy):u}}function en0(){const a={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return Nk(()=>{a.isMounted=!0}),jJ(()=>{a.isUnmounting=!0}),a}const OL=[Function,Array],bgx={name:\"BaseTransition\",props:{mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:OL,onEnter:OL,onAfterEnter:OL,onEnterCancelled:OL,onBeforeLeave:OL,onLeave:OL,onAfterLeave:OL,onLeaveCancelled:OL,onBeforeAppear:OL,onAppear:OL,onAfterAppear:OL,onAppearCancelled:OL},setup(a,{slots:u}){const c=BL(),b=en0();let R;return()=>{const K=u.default&&lZ(u.default(),!0);if(!K||!K.length)return;const s0=CS(a),{mode:Y}=s0,F0=K[0];if(b.isLeaving)return rn0(F0);const J0=Ih0(F0);if(!J0)return rn0(F0);const e1=FW(J0,s0,b,c);iz(J0,e1);const t1=c.subTree,r1=t1&&Ih0(t1);let F1=!1;const{getTransitionKey:a1}=J0.type;if(a1){const D1=a1();R===void 0?R=D1:D1!==R&&(R=D1,F1=!0)}if(r1&&r1.type!==yO&&(!Mj(J0,r1)||F1)){const D1=FW(r1,s0,b,c);if(iz(r1,D1),Y===\"out-in\")return b.isLeaving=!0,D1.afterLeave=()=>{b.isLeaving=!1,c.update()},rn0(F0);Y===\"in-out\"&&J0.type!==yO&&(D1.delayLeave=(W0,i1,x1)=>{const ux=Ph0(b,r1);ux[String(r1.key)]=r1,W0._leaveCb=()=>{i1(),W0._leaveCb=void 0,delete e1.delayedLeave},e1.delayedLeave=x1})}return F0}}},tn0=bgx;function Ph0(a,u){const{leavingVNodes:c}=a;let b=c.get(u.type);return b||(b=Object.create(null),c.set(u.type,b)),b}function FW(a,u,c,b){const{appear:R,mode:K,persisted:s0=!1,onBeforeEnter:Y,onEnter:F0,onAfterEnter:J0,onEnterCancelled:e1,onBeforeLeave:t1,onLeave:r1,onAfterLeave:F1,onLeaveCancelled:a1,onBeforeAppear:D1,onAppear:W0,onAfterAppear:i1,onAppearCancelled:x1}=u,ux=String(a.key),K1=Ph0(c,a),ee=(ve,qe)=>{ve&&LL(ve,b,9,qe)},Gx={mode:K,persisted:s0,beforeEnter(ve){let qe=Y;if(!c.isMounted)if(R)qe=D1||Y;else return;ve._leaveCb&&ve._leaveCb(!0);const Jt=K1[ux];Jt&&Mj(a,Jt)&&Jt.el._leaveCb&&Jt.el._leaveCb(),ee(qe,[ve])},enter(ve){let qe=F0,Jt=J0,Ct=e1;if(!c.isMounted)if(R)qe=W0||F0,Jt=i1||J0,Ct=x1||e1;else return;let vn=!1;const _n=ve._enterCb=Tr=>{vn||(vn=!0,Tr?ee(Ct,[ve]):ee(Jt,[ve]),Gx.delayedLeave&&Gx.delayedLeave(),ve._enterCb=void 0)};qe?(qe(ve,_n),qe.length<=1&&_n()):_n()},leave(ve,qe){const Jt=String(a.key);if(ve._enterCb&&ve._enterCb(!0),c.isUnmounting)return qe();ee(t1,[ve]);let Ct=!1;const vn=ve._leaveCb=_n=>{Ct||(Ct=!0,qe(),_n?ee(a1,[ve]):ee(F1,[ve]),ve._leaveCb=void 0,K1[Jt]===a&&delete K1[Jt])};K1[Jt]=a,r1?(r1(ve,vn),r1.length<=1&&vn()):vn()},clone(ve){return FW(ve,u,c,b)}};return Gx}function rn0(a){if(MJ(a))return a=nV(a),a.children=null,a}function Ih0(a){return MJ(a)?a.children?a.children[0]:void 0:a}function iz(a,u){a.shapeFlag&6&&a.component?iz(a.component.subTree,u):a.shapeFlag&128?(a.ssContent.transition=u.clone(a.ssContent),a.ssFallback.transition=u.clone(a.ssFallback)):a.transition=u}function lZ(a,u=!1){let c=[],b=0;for(let R=0;R<a.length;R++){const K=a[R];K.type===kN?(K.patchFlag&128&&b++,c=c.concat(lZ(K.children,u))):(u||K.type!==yO)&&c.push(K)}if(b>1)for(let R=0;R<c.length;R++)c[R].patchFlag=-2;return c}function yF(a){return uF(a)?{setup:a,name:a.name}:a}const LJ=a=>!!a.type.__asyncLoader;function Cgx(a){uF(a)&&(a={loader:a});const{loader:u,loadingComponent:c,errorComponent:b,delay:R=200,timeout:K,suspensible:s0=!0,onError:Y}=a;let F0=null,J0,e1=0;const t1=()=>(e1++,F0=null,r1()),r1=()=>{let F1;return F0||(F1=F0=u().catch(a1=>{if(a1=a1 instanceof Error?a1:new Error(String(a1)),Y)return new Promise((D1,W0)=>{Y(a1,()=>D1(t1()),()=>W0(a1),e1+1)});throw a1}).then(a1=>F1!==F0&&F0?F0:(a1&&(a1.__esModule||a1[Symbol.toStringTag]===\"Module\")&&(a1=a1.default),J0=a1,a1)))};return yF({name:\"AsyncComponentWrapper\",__asyncLoader:r1,get __asyncResolved(){return J0},setup(){const F1=eN;if(J0)return()=>nn0(J0,F1);const a1=x1=>{F0=null,sz(x1,F1,13,!b)};if(s0&&F1.suspense)return r1().then(x1=>()=>nn0(x1,F1)).catch(x1=>(a1(x1),()=>b?pi(b,{error:x1}):null));const D1=n2(!1),W0=n2(),i1=n2(!!R);return R&&setTimeout(()=>{i1.value=!1},R),K!=null&&setTimeout(()=>{if(!D1.value&&!W0.value){const x1=new Error(`Async component timed out after ${K}ms.`);a1(x1),W0.value=x1}},K),r1().then(()=>{D1.value=!0,F1.parent&&MJ(F1.parent.vnode)&&Pn0(F1.parent.update)}).catch(x1=>{a1(x1),W0.value=x1}),()=>{if(D1.value&&J0)return nn0(J0,F1);if(W0.value&&b)return pi(b,{error:W0.value});if(c&&!i1.value)return pi(c)}}})}function nn0(a,{vnode:{ref:u,props:c,children:b}}){const R=pi(a,c,b);return R.ref=u,R}const MJ=a=>a.type.__isKeepAlive,Egx={name:\"KeepAlive\",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(a,{slots:u}){const c=BL(),b=c.ctx;if(!b.renderer)return u.default;const R=new Map,K=new Set;let s0=null;const Y=c.suspense,{renderer:{p:F0,m:J0,um:e1,o:{createElement:t1}}}=b,r1=t1(\"div\");b.activate=(x1,ux,K1,ee,Gx)=>{const ve=x1.component;J0(x1,ux,K1,0,Y),F0(ve.vnode,x1,ux,K1,ve,Y,ee,x1.slotScopeIds,Gx),wN(()=>{ve.isDeactivated=!1,ve.a&&IJ(ve.a);const qe=x1.props&&x1.props.onVnodeMounted;qe&&_O(qe,ve.parent,x1)},Y)},b.deactivate=x1=>{const ux=x1.component;J0(x1,r1,null,1,Y),wN(()=>{ux.da&&IJ(ux.da);const K1=x1.props&&x1.props.onVnodeUnmounted;K1&&_O(K1,ux.parent,x1),ux.isDeactivated=!0},Y)};function F1(x1){on0(x1),e1(x1,c,Y)}function a1(x1){R.forEach((ux,K1)=>{const ee=bZ(ux.type);ee&&(!x1||!x1(ee))&&D1(K1)})}function D1(x1){const ux=R.get(x1);!s0||ux.type!==s0.type?F1(ux):s0&&on0(s0),R.delete(x1),K.delete(x1)}oP(()=>[a.include,a.exclude],([x1,ux])=>{x1&&a1(K1=>RJ(x1,K1)),ux&&a1(K1=>!RJ(ux,K1))},{flush:\"post\",deep:!0});let W0=null;const i1=()=>{W0!=null&&R.set(W0,sn0(c.subTree))};return Nk(i1),AW(i1),jJ(()=>{R.forEach(x1=>{const{subTree:ux,suspense:K1}=c,ee=sn0(ux);if(x1.type===ee.type){on0(ee);const Gx=ee.component.da;Gx&&wN(Gx,K1);return}F1(x1)})}),()=>{if(W0=null,!u.default)return null;const x1=u.default(),ux=x1[0];if(x1.length>1)return s0=null,x1;if(!y$(ux)||!(ux.shapeFlag&4)&&!(ux.shapeFlag&128))return s0=null,ux;let K1=sn0(ux);const ee=K1.type,Gx=bZ(LJ(K1)?K1.type.__asyncResolved||{}:ee),{include:ve,exclude:qe,max:Jt}=a;if(ve&&(!Gx||!RJ(ve,Gx))||qe&&Gx&&RJ(qe,Gx))return s0=K1,ux;const Ct=K1.key==null?ee:K1.key,vn=R.get(Ct);return K1.el&&(K1=nV(K1),ux.shapeFlag&128&&(ux.ssContent=K1)),W0=Ct,vn?(K1.el=vn.el,K1.component=vn.component,K1.transition&&iz(K1,K1.transition),K1.shapeFlag|=512,K.delete(Ct),K.add(Ct)):(K.add(Ct),Jt&&K.size>parseInt(Jt,10)&&D1(K.values().next().value)),K1.shapeFlag|=256,s0=K1,ux}}},Sgx=Egx;function RJ(a,u){return bT(a)?a.some(c=>RJ(c,u)):aP(a)?a.split(\",\").indexOf(u)>-1:a.test?a.test(u):!1}function in0(a,u){Oh0(a,\"a\",u)}function an0(a,u){Oh0(a,\"da\",u)}function Oh0(a,u,c=eN){const b=a.__wdc||(a.__wdc=()=>{let R=c;for(;R;){if(R.isDeactivated)return;R=R.parent}a()});if(fZ(u,b,c),c){let R=c.parent;for(;R&&R.parent;)MJ(R.parent.vnode)&&Fgx(b,u,c,R),R=R.parent}}function Fgx(a,u,c,b){const R=fZ(u,a,b,!0);xN(()=>{hh0(b[u],R)},c)}function on0(a){let u=a.shapeFlag;u&256&&(u-=256),u&512&&(u-=512),a.shapeFlag=u}function sn0(a){return a.shapeFlag&128?a.ssContent:a}function fZ(a,u,c=eN,b=!1){if(c){const R=c[a]||(c[a]=[]),K=u.__weh||(u.__weh=(...s0)=>{if(c.isUnmounted)return;ez(),v$(c);const Y=LL(u,c,a,s0);return b$(),h$(),Y});return b?R.unshift(K):R.push(K),K}}const rV=a=>(u,c=eN)=>(!Fn0||a===\"sp\")&&fZ(a,u,c),un0=rV(\"bm\"),Nk=rV(\"m\"),Bh0=rV(\"bu\"),AW=rV(\"u\"),jJ=rV(\"bum\"),xN=rV(\"um\"),Lh0=rV(\"sp\"),Mh0=rV(\"rtg\"),Rh0=rV(\"rtc\");function jh0(a,u=eN){fZ(\"ec\",a,u)}let cn0=!0;function Agx(a){const u=$h0(a),c=a.proxy,b=a.ctx;cn0=!1,u.beforeCreate&&Uh0(u.beforeCreate,a,\"bc\");const{data:R,computed:K,methods:s0,watch:Y,provide:F0,inject:J0,created:e1,beforeMount:t1,mounted:r1,beforeUpdate:F1,updated:a1,activated:D1,deactivated:W0,beforeDestroy:i1,beforeUnmount:x1,destroyed:ux,unmounted:K1,render:ee,renderTracked:Gx,renderTriggered:ve,errorCaptured:qe,serverPrefetch:Jt,expose:Ct,inheritAttrs:vn,components:_n,directives:Tr,filters:Lr}=u;if(J0&&Tgx(J0,b,null,a.appContext.config.unwrapInjectedRef),s0)for(const cr in s0){const Ea=s0[cr];uF(Ea)&&(b[cr]=Ea.bind(c))}if(R){const cr=R.call(c,c);kI(cr)&&(a.data=_B(cr))}if(cn0=!0,K)for(const cr in K){const Ea=K[cr],Qn=uF(Ea)?Ea.bind(c,c):uF(Ea.get)?Ea.get.bind(c,c):rz,Bu=!uF(Ea)&&uF(Ea.set)?Ea.set.bind(c):rz,Au=Sp({get:Qn,set:Bu});Object.defineProperty(b,cr,{enumerable:!0,configurable:!0,get:()=>Au.value,set:Ec=>Au.value=Ec})}if(Y)for(const cr in Y)Vh0(Y[cr],b,c,cr);if(F0){const cr=uF(F0)?F0.call(c):F0;Reflect.ownKeys(cr).forEach(Ea=>{Dw(Ea,cr[Ea])})}e1&&Uh0(e1,a,\"c\");function En(cr,Ea){bT(Ea)?Ea.forEach(Qn=>cr(Qn.bind(c))):Ea&&cr(Ea.bind(c))}if(En(un0,t1),En(Nk,r1),En(Bh0,F1),En(AW,a1),En(in0,D1),En(an0,W0),En(jh0,qe),En(Rh0,Gx),En(Mh0,ve),En(jJ,x1),En(xN,K1),En(Lh0,Jt),bT(Ct))if(Ct.length){const cr=a.exposed||(a.exposed={});Ct.forEach(Ea=>{Object.defineProperty(cr,Ea,{get:()=>c[Ea],set:Qn=>c[Ea]=Qn})})}else a.exposed||(a.exposed={});ee&&a.render===rz&&(a.render=ee),vn!=null&&(a.inheritAttrs=vn),_n&&(a.components=_n),Tr&&(a.directives=Tr)}function Tgx(a,u,c=rz,b=!1){bT(a)&&(a=ln0(a));for(const R in a){const K=a[R];let s0;kI(K)?\"default\"in K?s0=o4(K.from||R,K.default,!0):s0=o4(K.from||R):s0=o4(K),jw(s0)&&b?Object.defineProperty(u,R,{enumerable:!0,configurable:!0,get:()=>s0.value,set:Y=>s0.value=Y}):u[R]=s0}}function Uh0(a,u,c){LL(bT(a)?a.map(b=>b.bind(u.proxy)):a.bind(u.proxy),u,c)}function Vh0(a,u,c,b){const R=b.includes(\".\")?kg0(c,b):()=>c[b];if(aP(a)){const K=u[a];uF(K)&&oP(R,K)}else if(uF(a))oP(R,a.bind(c));else if(kI(a))if(bT(a))a.forEach(K=>Vh0(K,u,c,b));else{const K=uF(a.handler)?a.handler.bind(c):u[a.handler];uF(K)&&oP(R,K,a)}}function $h0(a){const u=a.type,{mixins:c,extends:b}=u,{mixins:R,optionsCache:K,config:{optionMergeStrategies:s0}}=a.appContext,Y=K.get(u);let F0;return Y?F0=Y:!R.length&&!c&&!b?F0=u:(F0={},R.length&&R.forEach(J0=>pZ(F0,J0,s0,!0)),pZ(F0,u,s0)),K.set(u,F0),F0}function pZ(a,u,c,b=!1){const{mixins:R,extends:K}=u;K&&pZ(a,K,c,!0),R&&R.forEach(s0=>pZ(a,s0,c,!0));for(const s0 in u)if(!(b&&s0===\"expose\")){const Y=wgx[s0]||c&&c[s0];a[s0]=Y?Y(a[s0],u[s0]):u[s0]}return a}const wgx={data:Kh0,props:az,emits:az,methods:az,computed:az,beforeCreate:DB,created:DB,beforeMount:DB,mounted:DB,beforeUpdate:DB,updated:DB,beforeDestroy:DB,destroyed:DB,activated:DB,deactivated:DB,errorCaptured:DB,serverPrefetch:DB,components:az,directives:az,watch:Ngx,provide:Kh0,inject:kgx};function Kh0(a,u){return u?a?function(){return gO(uF(a)?a.call(this,this):a,uF(u)?u.call(this,this):u)}:u:a}function kgx(a,u){return az(ln0(a),ln0(u))}function ln0(a){if(bT(a)){const u={};for(let c=0;c<a.length;c++)u[a[c]]=a[c];return u}return a}function DB(a,u){return a?[...new Set([].concat(a,u))]:u}function az(a,u){return a?gO(gO(Object.create(null),a),u):u}function Ngx(a,u){if(!a)return u;if(!u)return a;const c=gO(Object.create(null),a);for(const b in u)c[b]=DB(a[b],u[b]);return c}function Pgx(a,u,c,b=!1){const R={},K={};Yr0(K,gZ,1),a.propsDefaults=Object.create(null),zh0(a,u,R,K);for(const s0 in a.propsOptions[0])s0 in R||(R[s0]=void 0);c?a.props=b?R:oh0(R):a.type.props?a.props=R:a.props=K,a.attrs=K}function Igx(a,u,c,b){const{props:R,attrs:K,vnode:{patchFlag:s0}}=a,Y=CS(R),[F0]=a.propsOptions;let J0=!1;if((b||s0>0)&&!(s0&16)){if(s0&8){const e1=a.vnode.dynamicProps;for(let t1=0;t1<e1.length;t1++){let r1=e1[t1];const F1=u[r1];if(F0)if(L5(K,r1))F1!==K[r1]&&(K[r1]=F1,J0=!0);else{const a1=tR(r1);R[a1]=fn0(F0,Y,a1,F1,a,!1)}else F1!==K[r1]&&(K[r1]=F1,J0=!0)}}}else{zh0(a,u,R,K)&&(J0=!0);let e1;for(const t1 in Y)(!u||!L5(u,t1)&&((e1=oZ(t1))===t1||!L5(u,e1)))&&(F0?c&&(c[t1]!==void 0||c[e1]!==void 0)&&(R[t1]=fn0(F0,Y,t1,void 0,a,!0)):delete R[t1]);if(K!==Y)for(const t1 in K)(!u||!L5(u,t1))&&(delete K[t1],J0=!0)}J0&&tV(a,\"set\",\"$attrs\")}function zh0(a,u,c,b){const[R,K]=a.propsOptions;let s0=!1,Y;if(u)for(let F0 in u){if(NJ(F0))continue;const J0=u[F0];let e1;R&&L5(R,e1=tR(F0))?!K||!K.includes(e1)?c[e1]=J0:(Y||(Y={}))[e1]=J0:Qr0(a.emitsOptions,F0)||J0!==b[F0]&&(b[F0]=J0,s0=!0)}if(K){const F0=CS(c),J0=Y||Q5;for(let e1=0;e1<K.length;e1++){const t1=K[e1];c[t1]=fn0(R,F0,t1,J0[t1],a,!L5(J0,t1))}}return s0}function fn0(a,u,c,b,R,K){const s0=a[c];if(s0!=null){const Y=L5(s0,\"default\");if(Y&&b===void 0){const F0=s0.default;if(s0.type!==Function&&uF(F0)){const{propsDefaults:J0}=R;c in J0?b=J0[c]:(v$(R),b=J0[c]=F0.call(null,u),b$())}else b=F0}s0[0]&&(K&&!Y?b=!1:s0[1]&&(b===\"\"||b===oZ(c))&&(b=!0))}return b}function Wh0(a,u,c=!1){const b=u.propsCache,R=b.get(a);if(R)return R;const K=a.props,s0={},Y=[];let F0=!1;if(!uF(a)){const e1=t1=>{F0=!0;const[r1,F1]=Wh0(t1,u,!0);gO(s0,r1),F1&&Y.push(...F1)};!c&&u.mixins.length&&u.mixins.forEach(e1),a.extends&&e1(a.extends),a.mixins&&a.mixins.forEach(e1)}if(!K&&!F0)return b.set(a,EW),EW;if(bT(K))for(let e1=0;e1<K.length;e1++){const t1=tR(K[e1]);qh0(t1)&&(s0[t1]=Q5)}else if(K)for(const e1 in K){const t1=tR(e1);if(qh0(t1)){const r1=K[e1],F1=s0[t1]=bT(r1)||uF(r1)?{type:r1}:r1;if(F1){const a1=Gh0(Boolean,F1.type),D1=Gh0(String,F1.type);F1[0]=a1>-1,F1[1]=D1<0||a1<D1,(a1>-1||L5(F1,\"default\"))&&Y.push(t1)}}}const J0=[s0,Y];return b.set(a,J0),J0}function qh0(a){return a[0]!==\"$\"}function Jh0(a){const u=a&&a.toString().match(/^\\s*function (\\w+)/);return u?u[1]:a===null?\"null\":\"\"}function Hh0(a,u){return Jh0(a)===Jh0(u)}function Gh0(a,u){return bT(u)?u.findIndex(c=>Hh0(c,a)):uF(u)&&Hh0(u,a)?0:-1}const Xh0=a=>a[0]===\"_\"||a===\"$stable\",pn0=a=>bT(a)?a.map(vB):[vB(a)],Ogx=(a,u,c)=>{const b=nz((...R)=>pn0(u(...R)),c);return b._c=!1,b},Yh0=(a,u,c)=>{const b=a._ctx;for(const R in a){if(Xh0(R))continue;const K=a[R];if(uF(K))u[R]=Ogx(R,K,b);else if(K!=null){const s0=pn0(K);u[R]=()=>s0}}},Qh0=(a,u)=>{const c=pn0(u);a.slots.default=()=>c},Bgx=(a,u)=>{if(a.vnode.shapeFlag&32){const c=u._;c?(a.slots=CS(u),Yr0(u,\"_\",c)):Yh0(u,a.slots={})}else a.slots={},u&&Qh0(a,u);Yr0(a.slots,gZ,1)},Lgx=(a,u,c)=>{const{vnode:b,slots:R}=a;let K=!0,s0=Q5;if(b.shapeFlag&32){const Y=u._;Y?c&&Y===1?K=!1:(gO(R,u),!c&&Y===1&&delete R._):(K=!u.$stable,Yh0(u,R)),s0=u}else u&&(Qh0(a,u),s0={default:1});if(K)for(const Y in R)!Xh0(Y)&&!(Y in s0)&&delete R[Y]};function Zh0(a,u){const c=yB;if(c===null)return a;const b=c.proxy,R=a.dirs||(a.dirs=[]);for(let K=0;K<u.length;K++){let[s0,Y,F0,J0=Q5]=u[K];uF(s0)&&(s0={mounted:s0,updated:s0}),s0.deep&&uz(Y),R.push({dir:s0,instance:b,value:Y,oldValue:void 0,arg:F0,modifiers:J0})}return a}function Bj(a,u,c,b){const R=a.dirs,K=u&&u.dirs;for(let s0=0;s0<R.length;s0++){const Y=R[s0];K&&(Y.oldValue=K[s0].value);let F0=Y.dir[b];F0&&(ez(),LL(F0,c,8,[a.el,Y,a,u]),h$())}}function xg0(){return{app:null,config:{isNativeTag:ngx,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let Mgx=0;function Rgx(a,u){return function(b,R=null){R!=null&&!kI(R)&&(R=null);const K=xg0(),s0=new Set;let Y=!1;const F0=K.app={_uid:Mgx++,_component:b,_props:R,_container:null,_context:K,_instance:null,version:Bg0,get config(){return K.config},set config(J0){},use(J0,...e1){return s0.has(J0)||(J0&&uF(J0.install)?(s0.add(J0),J0.install(F0,...e1)):uF(J0)&&(s0.add(J0),J0(F0,...e1))),F0},mixin(J0){return K.mixins.includes(J0)||K.mixins.push(J0),F0},component(J0,e1){return e1?(K.components[J0]=e1,F0):K.components[J0]},directive(J0,e1){return e1?(K.directives[J0]=e1,F0):K.directives[J0]},mount(J0,e1,t1){if(!Y){const r1=pi(b,R);return r1.appContext=K,e1&&u?u(r1,J0):a(r1,J0,t1),Y=!0,F0._container=J0,J0.__vue_app__=F0,r1.component.proxy}},unmount(){Y&&(a(null,F0._container),delete F0._container.__vue_app__)},provide(J0,e1){return K.provides[J0]=e1,F0}};return F0}}let _$=!1;const dZ=a=>/svg/.test(a.namespaceURI)&&a.tagName!==\"foreignObject\",dn0=a=>a.nodeType===8;function jgx(a){const{mt:u,p:c,o:{patchProp:b,nextSibling:R,parentNode:K,remove:s0,insert:Y,createComment:F0}}=a,J0=(W0,i1)=>{if(!i1.hasChildNodes()){c(null,W0,i1),EZ();return}_$=!1,e1(i1.firstChild,W0,null,null,null),EZ(),_$&&console.error(\"Hydration completed but contains mismatches.\")},e1=(W0,i1,x1,ux,K1,ee=!1)=>{const Gx=dn0(W0)&&W0.data===\"[\",ve=()=>a1(W0,i1,x1,ux,K1,Gx),{type:qe,ref:Jt,shapeFlag:Ct}=i1,vn=W0.nodeType;i1.el=W0;let _n=null;switch(qe){case wW:vn!==3?_n=ve():(W0.data!==i1.children&&(_$=!0,W0.data=i1.children),_n=R(W0));break;case yO:vn!==8||Gx?_n=ve():_n=R(W0);break;case oz:if(vn!==1)_n=ve();else{_n=W0;const Tr=!i1.children.length;for(let Lr=0;Lr<i1.staticCount;Lr++)Tr&&(i1.children+=_n.outerHTML),Lr===i1.staticCount-1&&(i1.anchor=_n),_n=R(_n);return _n}break;case kN:Gx?_n=F1(W0,i1,x1,ux,K1,ee):_n=ve();break;default:if(Ct&1)vn!==1||i1.type.toLowerCase()!==W0.tagName.toLowerCase()?_n=ve():_n=t1(W0,i1,x1,ux,K1,ee);else if(Ct&6){i1.slotScopeIds=K1;const Tr=K(W0);if(u(i1,Tr,null,x1,ux,dZ(Tr),ee),_n=Gx?D1(W0):R(W0),LJ(i1)){let Lr;Gx?(Lr=pi(kN),Lr.anchor=_n?_n.previousSibling:Tr.lastChild):Lr=W0.nodeType===3?vn0(\"\"):pi(\"div\"),Lr.el=W0,i1.component.subTree=Lr}}else Ct&64?vn!==8?_n=ve():_n=i1.type.hydrate(W0,i1,x1,ux,K1,ee,a,r1):Ct&128&&(_n=i1.type.hydrate(W0,i1,x1,ux,dZ(K(W0)),K1,ee,a,e1))}return Jt!=null&&mZ(Jt,null,ux,i1),_n},t1=(W0,i1,x1,ux,K1,ee)=>{ee=ee||!!i1.dynamicChildren;const{type:Gx,props:ve,patchFlag:qe,shapeFlag:Jt,dirs:Ct}=i1,vn=Gx===\"input\"&&Ct||Gx===\"option\";if(vn||qe!==-1){if(Ct&&Bj(i1,null,x1,\"created\"),ve)if(vn||!ee||qe&(16|32))for(const Tr in ve)(vn&&Tr.endsWith(\"value\")||iZ(Tr)&&!NJ(Tr))&&b(W0,Tr,null,ve[Tr]);else ve.onClick&&b(W0,\"onClick\",null,ve.onClick);let _n;if((_n=ve&&ve.onVnodeBeforeMount)&&_O(_n,x1,i1),Ct&&Bj(i1,null,x1,\"beforeMount\"),((_n=ve&&ve.onVnodeMounted)||Ct)&&Nh0(()=>{_n&&_O(_n,x1,i1),Ct&&Bj(i1,null,x1,\"mounted\")},ux),Jt&16&&!(ve&&(ve.innerHTML||ve.textContent))){let Tr=r1(W0.firstChild,i1,W0,x1,ux,K1,ee);for(;Tr;){_$=!0;const Lr=Tr;Tr=Tr.nextSibling,s0(Lr)}}else Jt&8&&W0.textContent!==i1.children&&(_$=!0,W0.textContent=i1.children)}return W0.nextSibling},r1=(W0,i1,x1,ux,K1,ee,Gx)=>{Gx=Gx||!!i1.dynamicChildren;const ve=i1.children,qe=ve.length;for(let Jt=0;Jt<qe;Jt++){const Ct=Gx?ve[Jt]:ve[Jt]=vB(ve[Jt]);if(W0)W0=e1(W0,Ct,ux,K1,ee,Gx);else{if(Ct.type===wW&&!Ct.children)continue;_$=!0,c(null,Ct,x1,null,ux,K1,dZ(x1),ee)}}return W0},F1=(W0,i1,x1,ux,K1,ee)=>{const{slotScopeIds:Gx}=i1;Gx&&(K1=K1?K1.concat(Gx):Gx);const ve=K(W0),qe=r1(R(W0),i1,ve,x1,ux,K1,ee);return qe&&dn0(qe)&&qe.data===\"]\"?R(i1.anchor=qe):(_$=!0,Y(i1.anchor=F0(\"]\"),ve,qe),qe)},a1=(W0,i1,x1,ux,K1,ee)=>{if(_$=!0,i1.el=null,ee){const qe=D1(W0);for(;;){const Jt=R(W0);if(Jt&&Jt!==qe)s0(Jt);else break}}const Gx=R(W0),ve=K(W0);return s0(W0),c(null,i1,ve,Gx,x1,ux,dZ(ve),K1),Gx},D1=W0=>{let i1=0;for(;W0;)if(W0=R(W0),W0&&dn0(W0)&&(W0.data===\"[\"&&i1++,W0.data===\"]\")){if(i1===0)return R(W0);i1--}return W0};return[J0,e1]}const wN=Nh0;function eg0(a){return rg0(a)}function tg0(a){return rg0(a,jgx)}function rg0(a,u){const{insert:c,remove:b,patchProp:R,createElement:K,createText:s0,createComment:Y,setText:F0,setElementText:J0,parentNode:e1,nextSibling:t1,setScopeId:r1=rz,cloneNode:F1,insertStaticContent:a1}=a,D1=(et,Sr,un,jn=null,ea=null,wa=null,as=!1,zo=null,vo=!!Sr.dynamicChildren)=>{if(et===Sr)return;et&&!Mj(et,Sr)&&(jn=ja(et),Ec(et,ea,wa,!0),et=null),Sr.patchFlag===-2&&(vo=!1,Sr.dynamicChildren=null);const{type:vi,ref:jr,shapeFlag:Hn}=Sr;switch(vi){case wW:W0(et,Sr,un,jn);break;case yO:i1(et,Sr,un,jn);break;case oz:et==null&&x1(Sr,un,jn,as);break;case kN:_n(et,Sr,un,jn,ea,wa,as,zo,vo);break;default:Hn&1?ee(et,Sr,un,jn,ea,wa,as,zo,vo):Hn&6?Tr(et,Sr,un,jn,ea,wa,as,zo,vo):(Hn&64||Hn&128)&&vi.process(et,Sr,un,jn,ea,wa,as,zo,vo,aa)}jr!=null&&ea&&mZ(jr,et&&et.ref,wa,Sr||et,!Sr)},W0=(et,Sr,un,jn)=>{if(et==null)c(Sr.el=s0(Sr.children),un,jn);else{const ea=Sr.el=et.el;Sr.children!==et.children&&F0(ea,Sr.children)}},i1=(et,Sr,un,jn)=>{et==null?c(Sr.el=Y(Sr.children||\"\"),un,jn):Sr.el=et.el},x1=(et,Sr,un,jn)=>{[et.el,et.anchor]=a1(et.children,Sr,un,jn)},ux=({el:et,anchor:Sr},un,jn)=>{let ea;for(;et&&et!==Sr;)ea=t1(et),c(et,un,jn),et=ea;c(Sr,un,jn)},K1=({el:et,anchor:Sr})=>{let un;for(;et&&et!==Sr;)un=t1(et),b(et),et=un;b(Sr)},ee=(et,Sr,un,jn,ea,wa,as,zo,vo)=>{as=as||Sr.type===\"svg\",et==null?Gx(Sr,un,jn,ea,wa,as,zo,vo):Jt(et,Sr,ea,wa,as,zo,vo)},Gx=(et,Sr,un,jn,ea,wa,as,zo)=>{let vo,vi;const{type:jr,props:Hn,shapeFlag:wi,transition:jo,patchFlag:bs,dirs:Ha}=et;if(et.el&&F1!==void 0&&bs===-1)vo=et.el=F1(et.el);else{if(vo=et.el=K(et.type,wa,Hn&&Hn.is,Hn),wi&8?J0(vo,et.children):wi&16&&qe(et.children,vo,null,jn,ea,wa&&jr!==\"foreignObject\",as,zo),Ha&&Bj(et,null,jn,\"created\"),Hn){for(const Ki in Hn)Ki!==\"value\"&&!NJ(Ki)&&R(vo,Ki,null,Hn[Ki],wa,et.children,jn,ea,ma);\"value\"in Hn&&R(vo,\"value\",null,Hn.value),(vi=Hn.onVnodeBeforeMount)&&_O(vi,jn,et)}ve(vo,et,et.scopeId,as,jn)}Ha&&Bj(et,null,jn,\"beforeMount\");const qn=(!ea||ea&&!ea.pendingBranch)&&jo&&!jo.persisted;qn&&jo.beforeEnter(vo),c(vo,Sr,un),((vi=Hn&&Hn.onVnodeMounted)||qn||Ha)&&wN(()=>{vi&&_O(vi,jn,et),qn&&jo.enter(vo),Ha&&Bj(et,null,jn,\"mounted\")},ea)},ve=(et,Sr,un,jn,ea)=>{if(un&&r1(et,un),jn)for(let wa=0;wa<jn.length;wa++)r1(et,jn[wa]);if(ea){let wa=ea.subTree;if(Sr===wa){const as=ea.vnode;ve(et,as,as.scopeId,as.slotScopeIds,ea.parent)}}},qe=(et,Sr,un,jn,ea,wa,as,zo,vo=0)=>{for(let vi=vo;vi<et.length;vi++){const jr=et[vi]=zo?D$(et[vi]):vB(et[vi]);D1(null,jr,Sr,un,jn,ea,wa,as,zo)}},Jt=(et,Sr,un,jn,ea,wa,as)=>{const zo=Sr.el=et.el;let{patchFlag:vo,dynamicChildren:vi,dirs:jr}=Sr;vo|=et.patchFlag&16;const Hn=et.props||Q5,wi=Sr.props||Q5;let jo;(jo=wi.onVnodeBeforeUpdate)&&_O(jo,un,Sr,et),jr&&Bj(Sr,et,un,\"beforeUpdate\");const bs=ea&&Sr.type!==\"foreignObject\";if(vi?Ct(et.dynamicChildren,vi,zo,un,jn,bs,wa):as||Ea(et,Sr,zo,null,un,jn,bs,wa,!1),vo>0){if(vo&16)vn(zo,Sr,Hn,wi,un,jn,ea);else if(vo&2&&Hn.class!==wi.class&&R(zo,\"class\",null,wi.class,ea),vo&4&&R(zo,\"style\",Hn.style,wi.style,ea),vo&8){const Ha=Sr.dynamicProps;for(let qn=0;qn<Ha.length;qn++){const Ki=Ha[qn],es=Hn[Ki],Ns=wi[Ki];(Ns!==es||Ki===\"value\")&&R(zo,Ki,es,Ns,ea,et.children,un,jn,ma)}}vo&1&&et.children!==Sr.children&&J0(zo,Sr.children)}else!as&&vi==null&&vn(zo,Sr,Hn,wi,un,jn,ea);((jo=wi.onVnodeUpdated)||jr)&&wN(()=>{jo&&_O(jo,un,Sr,et),jr&&Bj(Sr,et,un,\"updated\")},jn)},Ct=(et,Sr,un,jn,ea,wa,as)=>{for(let zo=0;zo<Sr.length;zo++){const vo=et[zo],vi=Sr[zo],jr=vo.el&&(vo.type===kN||!Mj(vo,vi)||vo.shapeFlag&(6|64))?e1(vo.el):un;D1(vo,vi,jr,null,jn,ea,wa,as,!0)}},vn=(et,Sr,un,jn,ea,wa,as)=>{if(un!==jn){for(const zo in jn){if(NJ(zo))continue;const vo=jn[zo],vi=un[zo];vo!==vi&&zo!==\"value\"&&R(et,zo,vi,vo,as,Sr.children,ea,wa,ma)}if(un!==Q5)for(const zo in un)!NJ(zo)&&!(zo in jn)&&R(et,zo,un[zo],null,as,Sr.children,ea,wa,ma);\"value\"in jn&&R(et,\"value\",un.value,jn.value)}},_n=(et,Sr,un,jn,ea,wa,as,zo,vo)=>{const vi=Sr.el=et?et.el:s0(\"\"),jr=Sr.anchor=et?et.anchor:s0(\"\");let{patchFlag:Hn,dynamicChildren:wi,slotScopeIds:jo}=Sr;jo&&(zo=zo?zo.concat(jo):jo),et==null?(c(vi,un,jn),c(jr,un,jn),qe(Sr.children,un,jr,ea,wa,as,zo,vo)):Hn>0&&Hn&64&&wi&&et.dynamicChildren?(Ct(et.dynamicChildren,wi,un,ea,wa,as,zo),(Sr.key!=null||ea&&Sr===ea.subTree)&&mn0(et,Sr,!0)):Ea(et,Sr,un,jr,ea,wa,as,zo,vo)},Tr=(et,Sr,un,jn,ea,wa,as,zo,vo)=>{Sr.slotScopeIds=zo,et==null?Sr.shapeFlag&512?ea.ctx.activate(Sr,un,jn,as,vo):Lr(Sr,un,jn,ea,wa,as,vo):Pn(et,Sr,vo)},Lr=(et,Sr,un,jn,ea,wa,as)=>{const zo=et.component=mg0(et,jn,ea);if(MJ(et)&&(zo.ctx.renderer=aa),gg0(zo),zo.asyncDep){if(ea&&ea.registerDep(zo,En),!et.el){const vo=zo.subTree=pi(yO);i1(null,vo,Sr,un)}return}En(zo,et,Sr,un,ea,wa,as)},Pn=(et,Sr,un)=>{const jn=Sr.component=et.component;if(dgx(et,Sr,un))if(jn.asyncDep&&!jn.asyncResolved){cr(jn,Sr,un);return}else jn.next=Sr,d_x(jn.update),jn.update();else Sr.component=et.component,Sr.el=et.el,jn.vnode=Sr},En=(et,Sr,un,jn,ea,wa,as)=>{const zo=()=>{if(et.isMounted){let{next:jr,bu:Hn,u:wi,parent:jo,vnode:bs}=et,Ha=jr,qn;vo.allowRecurse=!1,jr?(jr.el=bs.el,cr(et,jr,as)):jr=bs,Hn&&IJ(Hn),(qn=jr.props&&jr.props.onVnodeBeforeUpdate)&&_O(qn,jo,jr,bs),vo.allowRecurse=!0;const Ki=cZ(et),es=et.subTree;et.subTree=Ki,D1(es,Ki,e1(es.el),ja(es),et,ea,wa),jr.el=Ki.el,Ha===null&&Zr0(et,Ki.el),wi&&wN(wi,ea),(qn=jr.props&&jr.props.onVnodeUpdated)&&wN(()=>_O(qn,jo,jr,bs),ea)}else{let jr;const{el:Hn,props:wi}=Sr,{bm:jo,m:bs,parent:Ha}=et,qn=LJ(Sr);if(vo.allowRecurse=!1,jo&&IJ(jo),!qn&&(jr=wi&&wi.onVnodeBeforeMount)&&_O(jr,Ha,Sr),vo.allowRecurse=!0,Hn&&gn){const Ki=()=>{et.subTree=cZ(et),gn(Hn,et.subTree,et,ea,null)};qn?Sr.type.__asyncLoader().then(()=>!et.isUnmounted&&Ki()):Ki()}else{const Ki=et.subTree=cZ(et);D1(null,Ki,un,jn,et,ea,wa),Sr.el=Ki.el}if(bs&&wN(bs,ea),!qn&&(jr=wi&&wi.onVnodeMounted)){const Ki=Sr;wN(()=>_O(jr,Ha,Ki),ea)}Sr.shapeFlag&256&&et.a&&wN(et.a,ea),et.isMounted=!0,Sr=un=jn=null}},vo=new TJ(zo,()=>Pn0(et.update),et.scope),vi=et.update=vo.run.bind(vo);vi.id=et.uid,vo.allowRecurse=vi.allowRecurse=!0,vi()},cr=(et,Sr,un)=>{Sr.component=et;const jn=et.vnode.props;et.vnode=Sr,et.next=null,Igx(et,Sr.props,jn,un),Lgx(et,Sr.children,un),ez(),On0(void 0,et.update),h$()},Ea=(et,Sr,un,jn,ea,wa,as,zo,vo=!1)=>{const vi=et&&et.children,jr=et?et.shapeFlag:0,Hn=Sr.children,{patchFlag:wi,shapeFlag:jo}=Sr;if(wi>0){if(wi&128){Bu(vi,Hn,un,jn,ea,wa,as,zo,vo);return}else if(wi&256){Qn(vi,Hn,un,jn,ea,wa,as,zo,vo);return}}jo&8?(jr&16&&ma(vi,ea,wa),Hn!==vi&&J0(un,Hn)):jr&16?jo&16?Bu(vi,Hn,un,jn,ea,wa,as,zo,vo):ma(vi,ea,wa,!0):(jr&8&&J0(un,\"\"),jo&16&&qe(Hn,un,jn,ea,wa,as,zo,vo))},Qn=(et,Sr,un,jn,ea,wa,as,zo,vo)=>{et=et||EW,Sr=Sr||EW;const vi=et.length,jr=Sr.length,Hn=Math.min(vi,jr);let wi;for(wi=0;wi<Hn;wi++){const jo=Sr[wi]=vo?D$(Sr[wi]):vB(Sr[wi]);D1(et[wi],jo,un,null,ea,wa,as,zo,vo)}vi>jr?ma(et,ea,wa,!0,!1,Hn):qe(Sr,un,jn,ea,wa,as,zo,vo,Hn)},Bu=(et,Sr,un,jn,ea,wa,as,zo,vo)=>{let vi=0;const jr=Sr.length;let Hn=et.length-1,wi=jr-1;for(;vi<=Hn&&vi<=wi;){const jo=et[vi],bs=Sr[vi]=vo?D$(Sr[vi]):vB(Sr[vi]);if(Mj(jo,bs))D1(jo,bs,un,null,ea,wa,as,zo,vo);else break;vi++}for(;vi<=Hn&&vi<=wi;){const jo=et[Hn],bs=Sr[wi]=vo?D$(Sr[wi]):vB(Sr[wi]);if(Mj(jo,bs))D1(jo,bs,un,null,ea,wa,as,zo,vo);else break;Hn--,wi--}if(vi>Hn){if(vi<=wi){const jo=wi+1,bs=jo<jr?Sr[jo].el:jn;for(;vi<=wi;)D1(null,Sr[vi]=vo?D$(Sr[vi]):vB(Sr[vi]),un,bs,ea,wa,as,zo,vo),vi++}}else if(vi>wi)for(;vi<=Hn;)Ec(et[vi],ea,wa,!0),vi++;else{const jo=vi,bs=vi,Ha=new Map;for(vi=bs;vi<=wi;vi++){const mc=Sr[vi]=vo?D$(Sr[vi]):vB(Sr[vi]);mc.key!=null&&Ha.set(mc.key,vi)}let qn,Ki=0;const es=wi-bs+1;let Ns=!1,ju=0;const Tc=new Array(es);for(vi=0;vi<es;vi++)Tc[vi]=0;for(vi=jo;vi<=Hn;vi++){const mc=et[vi];if(Ki>=es){Ec(mc,ea,wa,!0);continue}let vc;if(mc.key!=null)vc=Ha.get(mc.key);else for(qn=bs;qn<=wi;qn++)if(Tc[qn-bs]===0&&Mj(mc,Sr[qn])){vc=qn;break}vc===void 0?Ec(mc,ea,wa,!0):(Tc[vc-bs]=vi+1,vc>=ju?ju=vc:Ns=!0,D1(mc,Sr[vc],un,null,ea,wa,as,zo,vo),Ki++)}const bu=Ns?Ugx(Tc):EW;for(qn=bu.length-1,vi=es-1;vi>=0;vi--){const mc=bs+vi,vc=Sr[mc],Lc=mc+1<jr?Sr[mc+1].el:jn;Tc[vi]===0?D1(null,vc,un,Lc,ea,wa,as,zo,vo):Ns&&(qn<0||vi!==bu[qn]?Au(vc,un,Lc,2):qn--)}}},Au=(et,Sr,un,jn,ea=null)=>{const{el:wa,type:as,transition:zo,children:vo,shapeFlag:vi}=et;if(vi&6){Au(et.component.subTree,Sr,un,jn);return}if(vi&128){et.suspense.move(Sr,un,jn);return}if(vi&64){as.move(et,Sr,un,aa);return}if(as===kN){c(wa,Sr,un);for(let Hn=0;Hn<vo.length;Hn++)Au(vo[Hn],Sr,un,jn);c(et.anchor,Sr,un);return}if(as===oz){ux(et,Sr,un);return}if(jn!==2&&vi&1&&zo)if(jn===0)zo.beforeEnter(wa),c(wa,Sr,un),wN(()=>zo.enter(wa),ea);else{const{leave:Hn,delayLeave:wi,afterLeave:jo}=zo,bs=()=>c(wa,Sr,un),Ha=()=>{Hn(wa,()=>{bs(),jo&&jo()})};wi?wi(wa,bs,Ha):Ha()}else c(wa,Sr,un)},Ec=(et,Sr,un,jn=!1,ea=!1)=>{const{type:wa,props:as,ref:zo,children:vo,dynamicChildren:vi,shapeFlag:jr,patchFlag:Hn,dirs:wi}=et;if(zo!=null&&mZ(zo,null,un,et,!0),jr&256){Sr.ctx.deactivate(et);return}const jo=jr&1&&wi,bs=!LJ(et);let Ha;if(bs&&(Ha=as&&as.onVnodeBeforeUnmount)&&_O(Ha,Sr,et),jr&6)mi(et.component,un,jn);else{if(jr&128){et.suspense.unmount(un,jn);return}jo&&Bj(et,null,Sr,\"beforeUnmount\"),jr&64?et.type.remove(et,Sr,un,ea,aa,jn):vi&&(wa!==kN||Hn>0&&Hn&64)?ma(vi,Sr,un,!1,!0):(wa===kN&&Hn&(128|256)||!ea&&jr&16)&&ma(vo,Sr,un),jn&&kn(et)}(bs&&(Ha=as&&as.onVnodeUnmounted)||jo)&&wN(()=>{Ha&&_O(Ha,Sr,et),jo&&Bj(et,null,Sr,\"unmounted\")},un)},kn=et=>{const{type:Sr,el:un,anchor:jn,transition:ea}=et;if(Sr===kN){pu(un,jn);return}if(Sr===oz){K1(et);return}const wa=()=>{b(un),ea&&!ea.persisted&&ea.afterLeave&&ea.afterLeave()};if(et.shapeFlag&1&&ea&&!ea.persisted){const{leave:as,delayLeave:zo}=ea,vo=()=>as(un,wa);zo?zo(et.el,wa,vo):vo()}else wa()},pu=(et,Sr)=>{let un;for(;et!==Sr;)un=t1(et),b(et),et=un;b(Sr)},mi=(et,Sr,un)=>{const{bum:jn,scope:ea,update:wa,subTree:as,um:zo}=et;jn&&IJ(jn),ea.stop(),wa&&(wa.active=!1,Ec(as,et,Sr,un)),zo&&wN(zo,Sr),wN(()=>{et.isUnmounted=!0},Sr),Sr&&Sr.pendingBranch&&!Sr.isUnmounted&&et.asyncDep&&!et.asyncResolved&&et.suspenseId===Sr.pendingId&&(Sr.deps--,Sr.deps===0&&Sr.resolve())},ma=(et,Sr,un,jn=!1,ea=!1,wa=0)=>{for(let as=wa;as<et.length;as++)Ec(et[as],Sr,un,jn,ea)},ja=et=>et.shapeFlag&6?ja(et.component.subTree):et.shapeFlag&128?et.suspense.next():t1(et.anchor||et.el),Ua=(et,Sr,un)=>{et==null?Sr._vnode&&Ec(Sr._vnode,null,null,!0):D1(Sr._vnode||null,et,Sr,null,null,null,un),EZ(),Sr._vnode=et},aa={p:D1,um:Ec,m:Au,r:kn,mt:Lr,mc:qe,pc:Ea,pbc:Ct,n:ja,o:a};let Os,gn;return u&&([Os,gn]=u(aa)),{render:Ua,hydrate:Os,createApp:Rgx(Ua,Os)}}function mZ(a,u,c,b,R=!1){if(bT(a)){a.forEach((r1,F1)=>mZ(r1,u&&(bT(u)?u[F1]:u),c,b,R));return}if(LJ(b)&&!R)return;const K=b.shapeFlag&4?Dg0(b.component)||b.component.proxy:b.el,s0=R?null:K,{i:Y,r:F0}=a,J0=u&&u.r,e1=Y.refs===Q5?Y.refs={}:Y.refs,t1=Y.setupState;if(J0!=null&&J0!==F0&&(aP(J0)?(e1[J0]=null,L5(t1,J0)&&(t1[J0]=null)):jw(J0)&&(J0.value=null)),aP(F0)){const r1=()=>{e1[F0]=s0,L5(t1,F0)&&(t1[F0]=s0)};s0?(r1.id=-1,wN(r1,c)):r1()}else if(jw(F0)){const r1=()=>{F0.value=s0};s0?(r1.id=-1,wN(r1,c)):r1()}else uF(F0)&&Rj(F0,Y,12,[s0,e1])}function _O(a,u,c,b=null){LL(a,u,7,[c,b])}function mn0(a,u,c=!1){const b=a.children,R=u.children;if(bT(b)&&bT(R))for(let K=0;K<b.length;K++){const s0=b[K];let Y=R[K];Y.shapeFlag&1&&!Y.dynamicChildren&&((Y.patchFlag<=0||Y.patchFlag===32)&&(Y=R[K]=D$(R[K]),Y.el=s0.el),c||mn0(s0,Y))}}function Ugx(a){const u=a.slice(),c=[0];let b,R,K,s0,Y;const F0=a.length;for(b=0;b<F0;b++){const J0=a[b];if(J0!==0){if(R=c[c.length-1],a[R]<J0){u[b]=R,c.push(b);continue}for(K=0,s0=c.length-1;K<s0;)Y=K+s0>>1,a[c[Y]]<J0?K=Y+1:s0=Y;J0<a[c[K]]&&(K>0&&(u[b]=c[K-1]),c[K]=b)}}for(K=c.length,s0=c[K-1];K-- >0;)c[K]=s0,s0=u[s0];return c}const Vgx=a=>a.__isTeleport,UJ=a=>a&&(a.disabled||a.disabled===\"\"),ng0=a=>typeof SVGElement!=\"undefined\"&&a instanceof SVGElement,hn0=(a,u)=>{const c=a&&a.to;return aP(c)?u?u(c):null:c},$gx={__isTeleport:!0,process(a,u,c,b,R,K,s0,Y,F0,J0){const{mc:e1,pc:t1,pbc:r1,o:{insert:F1,querySelector:a1,createText:D1,createComment:W0}}=J0,i1=UJ(u.props);let{shapeFlag:x1,children:ux,dynamicChildren:K1}=u;if(a==null){const ee=u.el=D1(\"\"),Gx=u.anchor=D1(\"\");F1(ee,c,b),F1(Gx,c,b);const ve=u.target=hn0(u.props,a1),qe=u.targetAnchor=D1(\"\");ve&&(F1(qe,ve),s0=s0||ng0(ve));const Jt=(Ct,vn)=>{x1&16&&e1(ux,Ct,vn,R,K,s0,Y,F0)};i1?Jt(c,Gx):ve&&Jt(ve,qe)}else{u.el=a.el;const ee=u.anchor=a.anchor,Gx=u.target=a.target,ve=u.targetAnchor=a.targetAnchor,qe=UJ(a.props),Jt=qe?c:Gx,Ct=qe?ee:ve;if(s0=s0||ng0(Gx),K1?(r1(a.dynamicChildren,K1,Jt,R,K,s0,Y),mn0(a,u,!0)):F0||t1(a,u,Jt,Ct,R,K,s0,Y,!1),i1)qe||hZ(u,c,ee,J0,1);else if((u.props&&u.props.to)!==(a.props&&a.props.to)){const vn=u.target=hn0(u.props,a1);vn&&hZ(u,vn,null,J0,0)}else qe&&hZ(u,Gx,ve,J0,1)}},remove(a,u,c,b,{um:R,o:{remove:K}},s0){const{shapeFlag:Y,children:F0,anchor:J0,targetAnchor:e1,target:t1,props:r1}=a;if(t1&&K(e1),(s0||!UJ(r1))&&(K(J0),Y&16))for(let F1=0;F1<F0.length;F1++){const a1=F0[F1];R(a1,u,c,!0,!!a1.dynamicChildren)}},move:hZ,hydrate:Kgx};function hZ(a,u,c,{o:{insert:b},m:R},K=2){K===0&&b(a.targetAnchor,u,c);const{el:s0,anchor:Y,shapeFlag:F0,children:J0,props:e1}=a,t1=K===2;if(t1&&b(s0,u,c),(!t1||UJ(e1))&&F0&16)for(let r1=0;r1<J0.length;r1++)R(J0[r1],u,c,2);t1&&b(Y,u,c)}function Kgx(a,u,c,b,R,K,{o:{nextSibling:s0,parentNode:Y,querySelector:F0}},J0){const e1=u.target=hn0(u.props,F0);if(e1){const t1=e1._lpa||e1.firstChild;u.shapeFlag&16&&(UJ(u.props)?(u.anchor=J0(s0(a),u,Y(a),c,b,R,K),u.targetAnchor=t1):(u.anchor=s0(a),u.targetAnchor=J0(t1,u,e1,c,b,R,K)),e1._lpa=u.targetAnchor&&s0(u.targetAnchor))}return u.anchor&&s0(u.anchor)}const ig0=$gx,gn0=\"components\",zgx=\"directives\";function TW(a,u){return _n0(gn0,a,!0,u)||a}const ag0=Symbol();function Wgx(a){return aP(a)?_n0(gn0,a,!1)||a:a||ag0}function og0(a){return _n0(zgx,a)}function _n0(a,u,c=!0,b=!1){const R=yB||eN;if(R){const K=R.type;if(a===gn0){const Y=bZ(K);if(Y&&(Y===u||Y===tR(u)||Y===sZ(tR(u))))return K}const s0=sg0(R[a]||K[a],u)||sg0(R.appContext[a],u);return!s0&&b?K:s0}}function sg0(a,u){return a&&(a[u]||a[tR(u)]||a[sZ(tR(u))])}const kN=Symbol(void 0),wW=Symbol(void 0),yO=Symbol(void 0),oz=Symbol(void 0),VJ=[];let Lj=null;function Xi(a=!1){VJ.push(Lj=a?null:[])}function ug0(){VJ.pop(),Lj=VJ[VJ.length-1]||null}let $J=1;function yn0(a){$J+=a}function cg0(a){return a.dynamicChildren=$J>0?Lj||EW:null,ug0(),$J>0&&Lj&&Lj.push(a),a}function lg0(a,u,c,b,R,K){return cg0(Dn0(a,u,c,b,R,K,!0))}function xa(a,u,c,b,R){return cg0(pi(a,u,c,b,R,!0))}function y$(a){return a?a.__v_isVNode===!0:!1}function Mj(a,u){return a.type===u.type&&a.key===u.key}function qgx(a){}const gZ=\"__vInternal\",fg0=({key:a})=>a!=null?a:null,_Z=({ref:a})=>a!=null?aP(a)||jw(a)||uF(a)?{i:yB,r:a}:a:null;function Dn0(a,u=null,c=null,b=0,R=null,K=a===kN?0:1,s0=!1,Y=!1){const F0={__v_isVNode:!0,__v_skip:!0,type:a,props:u,key:u&&fg0(u),ref:u&&_Z(u),scopeId:uZ,slotScopeIds:null,children:c,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:K,patchFlag:b,dynamicProps:R,dynamicChildren:null,appContext:null};return Y?(Cn0(F0,c),K&128&&a.normalize(F0)):c&&(F0.shapeFlag|=aP(c)?8:16),$J>0&&!s0&&Lj&&(F0.patchFlag>0||K&6)&&F0.patchFlag!==32&&Lj.push(F0),F0}const pi=Jgx;function Jgx(a,u=null,c=null,b=0,R=null,K=!1){if((!a||a===ag0)&&(a=yO),y$(a)){const Y=nV(a,u,!0);return c&&Cn0(Y,c),Y}if(o_x(a)&&(a=a.__vccOpts),u){u=pg0(u);let{class:Y,style:F0}=u;Y&&!aP(Y)&&(u.class=kJ(Y)),kI(F0)&&(qr0(F0)&&!bT(F0)&&(F0=gO({},F0)),u.style=wJ(F0))}const s0=aP(a)?1:mgx(a)?128:Vgx(a)?64:kI(a)?4:uF(a)?2:0;return Dn0(a,u,c,b,R,s0,K,!0)}function pg0(a){return a?qr0(a)||gZ in a?gO({},a):a:null}function nV(a,u,c=!1){const{props:b,ref:R,patchFlag:K,children:s0}=a,Y=u?KJ(b||{},u):b;return{__v_isVNode:!0,__v_skip:!0,type:a.type,props:Y,key:Y&&fg0(Y),ref:u&&u.ref?c&&R?bT(R)?R.concat(_Z(u)):[R,_Z(u)]:_Z(u):R,scopeId:a.scopeId,slotScopeIds:a.slotScopeIds,children:s0,target:a.target,targetAnchor:a.targetAnchor,staticCount:a.staticCount,shapeFlag:a.shapeFlag,patchFlag:u&&a.type!==kN?K===-1?16:K|16:K,dynamicProps:a.dynamicProps,dynamicChildren:a.dynamicChildren,appContext:a.appContext,dirs:a.dirs,transition:a.transition,component:a.component,suspense:a.suspense,ssContent:a.ssContent&&nV(a.ssContent),ssFallback:a.ssFallback&&nV(a.ssFallback),el:a.el,anchor:a.anchor}}function vn0(a=\" \",u=0){return pi(wW,null,a,u)}function Hgx(a,u){const c=pi(oz,null,a);return c.staticCount=u,c}function bn0(a=\"\",u=!1){return u?(Xi(),xa(yO,null,a)):pi(yO,null,a)}function vB(a){return a==null||typeof a==\"boolean\"?pi(yO):bT(a)?pi(kN,null,a.slice()):typeof a==\"object\"?D$(a):pi(wW,null,String(a))}function D$(a){return a.el===null||a.memo?a:nV(a)}function Cn0(a,u){let c=0;const{shapeFlag:b}=a;if(u==null)u=null;else if(bT(u))c=16;else if(typeof u==\"object\")if(b&(1|64)){const R=u.default;R&&(R._c&&(R._d=!1),Cn0(a,R()),R._c&&(R._d=!0));return}else{c=32;const R=u._;!R&&!(gZ in u)?u._ctx=yB:R===3&&yB&&(yB.slots._===1?u._=1:(u._=2,a.patchFlag|=1024))}else uF(u)?(u={default:u,_ctx:yB},c=32):(u=String(u),b&64?(c=16,u=[vn0(u)]):c=8);a.children=u,a.shapeFlag|=c}function KJ(...a){const u={};for(let c=0;c<a.length;c++){const b=a[c];for(const R in b)if(R===\"class\")u.class!==b.class&&(u.class=kJ([u.class,b.class]));else if(R===\"style\")u.style=wJ([u.style,b.style]);else if(iZ(R)){const K=u[R],s0=b[R];K!==s0&&(u[R]=K?[].concat(K,s0):s0)}else R!==\"\"&&(u[R]=b[R])}return u}function Ggx(a,u,c,b){let R;const K=c&&c[b];if(bT(a)||aP(a)){R=new Array(a.length);for(let s0=0,Y=a.length;s0<Y;s0++)R[s0]=u(a[s0],s0,void 0,K&&K[s0])}else if(typeof a==\"number\"){R=new Array(a);for(let s0=0;s0<a;s0++)R[s0]=u(s0+1,s0,void 0,K&&K[s0])}else if(kI(a))if(a[Symbol.iterator])R=Array.from(a,(s0,Y)=>u(s0,Y,void 0,K&&K[Y]));else{const s0=Object.keys(a);R=new Array(s0.length);for(let Y=0,F0=s0.length;Y<F0;Y++){const J0=s0[Y];R[Y]=u(a[J0],J0,Y,K&&K[Y])}}else R=[];return c&&(c[b]=R),R}function Xgx(a,u){for(let c=0;c<u.length;c++){const b=u[c];if(bT(b))for(let R=0;R<b.length;R++)a[b[R].name]=b[R].fn;else b&&(a[b.name]=b.fn)}return a}function yZ(a,u,c={},b,R){if(yB.isCE)return pi(\"slot\",u===\"default\"?null:{name:u},b&&b());let K=a[u];K&&K._c&&(K._d=!1),Xi();const s0=K&&dg0(K(c)),Y=xa(kN,{key:c.key||`_${u}`},s0||(b?b():[]),s0&&a._===1?64:-2);return!R&&Y.scopeId&&(Y.slotScopeIds=[Y.scopeId+\"-s\"]),K&&K._c&&(K._d=!0),Y}function dg0(a){return a.some(u=>y$(u)?!(u.type===yO||u.type===kN&&!dg0(u.children)):!0)?a:null}function Ygx(a){const u={};for(const c in a)u[PJ(c)]=a[c];return u}const En0=a=>a?hg0(a)?Dg0(a)||a.proxy:En0(a.parent):null,DZ=gO(Object.create(null),{$:a=>a,$el:a=>a.vnode.el,$data:a=>a.data,$props:a=>a.props,$attrs:a=>a.attrs,$slots:a=>a.slots,$refs:a=>a.refs,$parent:a=>En0(a.parent),$root:a=>En0(a.root),$emit:a=>a.emit,$options:a=>$h0(a),$forceUpdate:a=>()=>Pn0(a.update),$nextTick:a=>Yk.bind(a.proxy),$watch:a=>g_x.bind(a)}),Sn0={get({_:a},u){const{ctx:c,setupState:b,data:R,props:K,accessCache:s0,type:Y,appContext:F0}=a;let J0;if(u[0]!==\"$\"){const F1=s0[u];if(F1!==void 0)switch(F1){case 0:return b[u];case 1:return R[u];case 3:return c[u];case 2:return K[u]}else{if(b!==Q5&&L5(b,u))return s0[u]=0,b[u];if(R!==Q5&&L5(R,u))return s0[u]=1,R[u];if((J0=a.propsOptions[0])&&L5(J0,u))return s0[u]=2,K[u];if(c!==Q5&&L5(c,u))return s0[u]=3,c[u];cn0&&(s0[u]=4)}}const e1=DZ[u];let t1,r1;if(e1)return u===\"$attrs\"&&gB(a,\"get\",u),e1(a);if((t1=Y.__cssModules)&&(t1=t1[u]))return t1;if(c!==Q5&&L5(c,u))return s0[u]=3,c[u];if(r1=F0.config.globalProperties,L5(r1,u))return r1[u]},set({_:a},u,c){const{data:b,setupState:R,ctx:K}=a;if(R!==Q5&&L5(R,u))R[u]=c;else if(b!==Q5&&L5(b,u))b[u]=c;else if(L5(a.props,u))return!1;return u[0]===\"$\"&&u.slice(1)in a?!1:(K[u]=c,!0)},has({_:{data:a,setupState:u,accessCache:c,ctx:b,appContext:R,propsOptions:K}},s0){let Y;return c[s0]!==void 0||a!==Q5&&L5(a,s0)||u!==Q5&&L5(u,s0)||(Y=K[0])&&L5(Y,s0)||L5(b,s0)||L5(DZ,s0)||L5(R.config.globalProperties,s0)}},Qgx=gO({},Sn0,{get(a,u){if(u!==Symbol.unscopables)return Sn0.get(a,u,a)},has(a,u){return u[0]!==\"_\"&&!Zhx(u)}}),Zgx=xg0();let x_x=0;function mg0(a,u,c){const b=a.type,R=(u?u.appContext:a.appContext)||Zgx,K={uid:x_x++,vnode:a,type:b,parent:u,appContext:R,root:null,next:null,subTree:null,update:null,scope:new Or0(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:u?u.provides:Object.create(R.provides),accessCache:null,renderCache:[],components:null,directives:null,propsOptions:Wh0(b,R),emitsOptions:Sh0(b,R),emit:null,emitted:null,propsDefaults:Q5,inheritAttrs:b.inheritAttrs,ctx:Q5,data:Q5,props:Q5,attrs:Q5,slots:Q5,refs:Q5,setupState:Q5,setupContext:null,suspense:c,suspenseId:c?c.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return K.ctx={_:K},K.root=u?u.root:K,K.emit=cgx.bind(null,K),a.ce&&a.ce(K),K}let eN=null;const BL=()=>eN||yB,v$=a=>{eN=a,a.scope.on()},b$=()=>{eN&&eN.scope.off(),eN=null};function hg0(a){return a.vnode.shapeFlag&4}let Fn0=!1;function gg0(a,u=!1){Fn0=u;const{props:c,children:b}=a.vnode,R=hg0(a);Pgx(a,c,R,u),Bgx(a,b);const K=R?e_x(a,u):void 0;return Fn0=!1,K}function e_x(a,u){const c=a.type;a.accessCache=Object.create(null),a.proxy=tz(new Proxy(a.ctx,Sn0));const{setup:b}=c;if(b){const R=a.setupContext=b.length>1?yg0(a):null;v$(a),ez();const K=Rj(b,a,0,[a.props,R]);if(h$(),b$(),yh0(K)){if(K.then(b$,b$),u)return K.then(s0=>{An0(a,s0)}).catch(s0=>{sz(s0,a,0)});a.asyncDep=K}else An0(a,K)}else _g0(a)}function An0(a,u,c){uF(u)?a.render=u:kI(u)&&(a.setupState=Hr0(u)),_g0(a)}let vZ,Tn0;function t_x(a){vZ=a,Tn0=u=>{u.render._rc&&(u.withProxy=new Proxy(u.ctx,Qgx))}}const r_x=()=>!vZ;function _g0(a,u,c){const b=a.type;if(!a.render){if(vZ&&!b.render){const R=b.template;if(R){const{isCustomElement:K,compilerOptions:s0}=a.appContext.config,{delimiters:Y,compilerOptions:F0}=b,J0=gO(gO({isCustomElement:K,delimiters:Y},s0),F0);b.render=vZ(R,J0)}}a.render=b.render||rz,Tn0&&Tn0(a)}v$(a),ez(),Agx(a),h$(),b$()}function n_x(a){return new Proxy(a.attrs,{get(u,c){return gB(a,\"get\",\"$attrs\"),u[c]}})}function yg0(a){const u=b=>{a.exposed=b||{}};let c;return{get attrs(){return c||(c=n_x(a))},slots:a.slots,emit:a.emit,expose:u}}function Dg0(a){if(a.exposed)return a.exposeProxy||(a.exposeProxy=new Proxy(Hr0(tz(a.exposed)),{get(u,c){if(c in u)return u[c];if(c in DZ)return DZ[c](a)}}))}const i_x=/(?:^|[-_])(\\w)/g,a_x=a=>a.replace(i_x,u=>u.toUpperCase()).replace(/[-_]/g,\"\");function bZ(a){return uF(a)&&a.displayName||a.name}function vg0(a,u,c=!1){let b=bZ(u);if(!b&&u.__file){const R=u.__file.match(/([^/\\\\]+)\\.\\w+$/);R&&(b=R[1])}if(!b&&a&&a.parent){const R=K=>{for(const s0 in K)if(K[s0]===u)return s0};b=R(a.components||a.parent.type.components)||R(a.appContext.components)}return b?a_x(b):c?\"App\":\"Anonymous\"}function o_x(a){return uF(a)&&\"__vccOpts\"in a}const zJ=[];function bg0(a,...u){ez();const c=zJ.length?zJ[zJ.length-1].component:null,b=c&&c.appContext.config.warnHandler,R=s_x();if(b)Rj(b,c,11,[a+u.join(\"\"),c&&c.proxy,R.map(({vnode:K})=>`at <${vg0(c,K.type)}>`).join(`\n`),R]);else{const K=[`[Vue warn]: ${a}`,...u];R.length&&K.push(`\n`,...u_x(R)),console.warn(...K)}h$()}function s_x(){let a=zJ[zJ.length-1];if(!a)return[];const u=[];for(;a;){const c=u[0];c&&c.vnode===a?c.recurseCount++:u.push({vnode:a,recurseCount:0});const b=a.component&&a.component.parent;a=b&&b.vnode}return u}function u_x(a){const u=[];return a.forEach((c,b)=>{u.push(...b===0?[]:[`\n`],...c_x(c))}),u}function c_x({vnode:a,recurseCount:u}){const c=u>0?`... (${u} recursive calls)`:\"\",b=a.component?a.component.parent==null:!1,R=` at <${vg0(a.component,a.type,b)}`,K=\">\"+c;return a.props?[R,...l_x(a.props),K]:[R+K]}function l_x(a){const u=[],c=Object.keys(a);return c.slice(0,3).forEach(b=>{u.push(...Cg0(b,a[b]))}),c.length>3&&u.push(\" ...\"),u}function Cg0(a,u,c){return aP(u)?(u=JSON.stringify(u),c?u:[`${a}=${u}`]):typeof u==\"number\"||typeof u==\"boolean\"||u==null?c?u:[`${a}=${u}`]:jw(u)?(u=Cg0(a,CS(u.value),!0),c?u:[`${a}=Ref<`,u,\">\"]):uF(u)?[`${a}=fn${u.name?`<${u.name}>`:\"\"}`]:(u=CS(u),c?u:[`${a}=`,u])}function Rj(a,u,c,b){let R;try{R=b?a(...b):a()}catch(K){sz(K,u,c)}return R}function LL(a,u,c,b){if(uF(a)){const K=Rj(a,u,c,b);return K&&yh0(K)&&K.catch(s0=>{sz(s0,u,c)}),K}const R=[];for(let K=0;K<a.length;K++)R.push(LL(a[K],u,c,b));return R}function sz(a,u,c,b=!0){const R=u?u.vnode:null;if(u){let K=u.parent;const s0=u.proxy,Y=c;for(;K;){const J0=K.ec;if(J0){for(let e1=0;e1<J0.length;e1++)if(J0[e1](a,s0,Y)===!1)return}K=K.parent}const F0=u.appContext.config.errorHandler;if(F0){Rj(F0,null,10,[a,s0,Y]);return}}f_x(a,c,R,b)}function f_x(a,u,c,b=!0){console.error(a)}let CZ=!1,wn0=!1;const bB=[];let iV=0;const WJ=[];let qJ=null,kW=0;const JJ=[];let C$=null,NW=0;const Eg0=Promise.resolve();let kn0=null,Nn0=null;function Yk(a){const u=kn0||Eg0;return a?u.then(this?a.bind(this):a):u}function p_x(a){let u=iV+1,c=bB.length;for(;u<c;){const b=u+c>>>1;HJ(bB[b])<a?u=b+1:c=b}return u}function Pn0(a){(!bB.length||!bB.includes(a,CZ&&a.allowRecurse?iV+1:iV))&&a!==Nn0&&(a.id==null?bB.push(a):bB.splice(p_x(a.id),0,a),Sg0())}function Sg0(){!CZ&&!wn0&&(wn0=!0,kn0=Eg0.then(Ag0))}function d_x(a){const u=bB.indexOf(a);u>iV&&bB.splice(u,1)}function Fg0(a,u,c,b){bT(a)?c.push(...a):(!u||!u.includes(a,a.allowRecurse?b+1:b))&&c.push(a),Sg0()}function m_x(a){Fg0(a,qJ,WJ,kW)}function In0(a){Fg0(a,C$,JJ,NW)}function On0(a,u=null){if(WJ.length){for(Nn0=u,qJ=[...new Set(WJ)],WJ.length=0,kW=0;kW<qJ.length;kW++)qJ[kW]();qJ=null,kW=0,Nn0=null,On0(a,u)}}function EZ(a){if(JJ.length){const u=[...new Set(JJ)];if(JJ.length=0,C$){C$.push(...u);return}for(C$=u,C$.sort((c,b)=>HJ(c)-HJ(b)),NW=0;NW<C$.length;NW++)C$[NW]();C$=null,NW=0}}const HJ=a=>a.id==null?1/0:a.id;function Ag0(a){wn0=!1,CZ=!0,On0(a),bB.sort((u,c)=>HJ(u)-HJ(c));try{for(iV=0;iV<bB.length;iV++){const u=bB[iV];u&&u.active!==!1&&Rj(u,null,14)}}finally{iV=0,bB.length=0,EZ(),CZ=!1,kn0=null,(bB.length||WJ.length||JJ.length)&&Ag0(a)}}function I9(a,u){return GJ(a,null,u)}function Tg0(a,u){return GJ(a,null,{flush:\"post\"})}function h_x(a,u){return GJ(a,null,{flush:\"sync\"})}const wg0={};function oP(a,u,c){return GJ(a,u,c)}function GJ(a,u,{immediate:c,deep:b,flush:R,onTrack:K,onTrigger:s0}=Q5){const Y=eN;let F0,J0=!1,e1=!1;if(jw(a)?(F0=()=>a.value,J0=!!a._shallow):eR(a)?(F0=()=>a,b=!0):bT(a)?(e1=!0,J0=a.some(eR),F0=()=>a.map(i1=>{if(jw(i1))return i1.value;if(eR(i1))return uz(i1);if(uF(i1))return Rj(i1,Y,2)})):uF(a)?u?F0=()=>Rj(a,Y,2):F0=()=>{if(!(Y&&Y.isUnmounted))return t1&&t1(),LL(a,Y,3,[r1])}:F0=rz,u&&b){const i1=F0;F0=()=>uz(i1())}let t1,r1=i1=>{t1=W0.onStop=()=>{Rj(i1,Y,4)}},F1=e1?[]:wg0;const a1=()=>{if(!!W0.active)if(u){const i1=W0.run();(b||J0||(e1?i1.some((x1,ux)=>bh0(x1,F1[ux])):bh0(i1,F1)))&&(t1&&t1(),LL(u,Y,3,[i1,F1===wg0?void 0:F1,r1]),F1=i1)}else W0.run()};a1.allowRecurse=!!u;let D1;R===\"sync\"?D1=a1:R===\"post\"?D1=()=>wN(a1,Y&&Y.suspense):D1=()=>{!Y||Y.isMounted?m_x(a1):a1()};const W0=new TJ(F0,D1);return u?c?a1():F1=W0.run():R===\"post\"?wN(W0.run.bind(W0),Y&&Y.suspense):W0.run(),()=>{W0.stop(),Y&&Y.scope&&hh0(Y.scope.effects,W0)}}function g_x(a,u,c){const b=this.proxy,R=aP(a)?a.includes(\".\")?kg0(b,a):()=>b[a]:a.bind(b,b);let K;uF(u)?K=u:(K=u.handler,c=u);const s0=eN;v$(this);const Y=GJ(R,K.bind(b),c);return s0?v$(s0):b$(),Y}function kg0(a,u){const c=u.split(\".\");return()=>{let b=a;for(let R=0;R<c.length&&b;R++)b=b[c[R]];return b}}function uz(a,u=new Set){if(!kI(a)||a.__v_skip||(u=u||new Set,u.has(a)))return a;if(u.add(a),jw(a))uz(a.value,u);else if(bT(a))for(let c=0;c<a.length;c++)uz(a[c],u);else if(_h0(a)||gh0(a))a.forEach(c=>{uz(c,u)});else if(vh0(a))for(const c in a)uz(a[c],u);return a}const Ng0=a=>typeof a==\"function\",__x=a=>a!==null&&typeof a==\"object\",y_x=a=>__x(a)&&Ng0(a.then)&&Ng0(a.catch);function D_x(){return null}function v_x(){return null}function b_x(a){}function C_x(a,u){return null}function E_x(){return Pg0().slots}function S_x(){return Pg0().attrs}function Pg0(){const a=BL();return a.setupContext||(a.setupContext=yg0(a))}function F_x(a,u){for(const c in u){const b=a[c];b?b.default=u[c]:b===null&&(a[c]={default:u[c]})}return a}function A_x(a){const u=BL();let c=a();return b$(),y_x(c)&&(c=c.catch(b=>{throw v$(u),b})),[c,()=>v$(u)]}function CB(a,u,c){const b=arguments.length;return b===2?kI(u)&&!bT(u)?y$(u)?pi(a,null,[u]):pi(a,u):pi(a,null,u):(b>3?c=Array.prototype.slice.call(arguments,2):b===3&&y$(c)&&(c=[c]),pi(a,u,c))}const Ig0=Symbol(\"\"),T_x=()=>{{const a=o4(Ig0);return a||bg0(\"Server rendering context not provided. Make sure to only call useSSRContext() conditionally in the server build.\"),a}};function w_x(){}function k_x(a,u,c,b){const R=c[b];if(R&&Og0(R,a))return R;const K=u();return K.memo=a.slice(),c[b]=K}function Og0(a,u){const c=a.memo;if(c.length!=u.length)return!1;for(let b=0;b<c.length;b++)if(c[b]!==u[b])return!1;return $J>0&&Lj&&Lj.push(a),!0}function N_x(){}function P_x(a){return a}function I_x(){}function O_x(){return null}function B_x(){return null}const Bg0=\"3.2.4\",L_x={createComponentInstance:mg0,setupComponent:gg0,renderComponentRoot:cZ,setCurrentRenderingInstance:OJ,isVNode:y$,normalizeVNode:vB},M_x=L_x,R_x=null,j_x=null;function U_x(a,u){const c=Object.create(null),b=a.split(\",\");for(let R=0;R<b.length;R++)c[b[R]]=!0;return u?R=>!!c[R.toLowerCase()]:R=>!!c[R]}const V_x=\"itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly\",$_x=U_x(V_x);function Lg0(a){return!!a||a===\"\"}function K_x(a,u){if(a.length!==u.length)return!1;let c=!0;for(let b=0;c&&b<a.length;b++)c=cz(a[b],u[b]);return c}function cz(a,u){if(a===u)return!0;let c=Mg0(a),b=Mg0(u);if(c||b)return c&&b?a.getTime()===u.getTime():!1;if(c=ML(a),b=ML(u),c||b)return c&&b?K_x(a,u):!1;if(c=Mn0(a),b=Mn0(u),c||b){if(!c||!b)return!1;const R=Object.keys(a).length,K=Object.keys(u).length;if(R!==K)return!1;for(const s0 in a){const Y=a.hasOwnProperty(s0),F0=u.hasOwnProperty(s0);if(Y&&!F0||!Y&&F0||!cz(a[s0],u[s0]))return!1}}return String(a)===String(u)}function Bn0(a,u){return a.findIndex(c=>cz(c,u))}const Ln0={},z_x=/^on[^a-z]/,W_x=a=>z_x.test(a),q_x=a=>a.startsWith(\"onUpdate:\"),XJ=Object.assign,ML=Array.isArray,SZ=a=>H_x(a)===\"[object Set]\",Mg0=a=>a instanceof Date,Rg0=a=>typeof a==\"function\",FZ=a=>typeof a==\"string\",Mn0=a=>a!==null&&typeof a==\"object\",J_x=Object.prototype.toString,H_x=a=>J_x.call(a),Rn0=a=>{const u=Object.create(null);return c=>u[c]||(u[c]=a(c))},G_x=/-(\\w)/g,jg0=Rn0(a=>a.replace(G_x,(u,c)=>c?c.toUpperCase():\"\")),X_x=/\\B([A-Z])/g,PW=Rn0(a=>a.replace(X_x,\"-$1\").toLowerCase()),Y_x=Rn0(a=>a.charAt(0).toUpperCase()+a.slice(1)),Q_x=(a,u)=>{for(let c=0;c<a.length;c++)a[c](u)},YJ=a=>{const u=parseFloat(a);return isNaN(u)?a:u},Z_x=\"http://www.w3.org/2000/svg\",IW=typeof document!=\"undefined\"?document:null,Ug0=new Map,xyx={insert:(a,u,c)=>{u.insertBefore(a,c||null)},remove:a=>{const u=a.parentNode;u&&u.removeChild(a)},createElement:(a,u,c,b)=>{const R=u?IW.createElementNS(Z_x,a):IW.createElement(a,c?{is:c}:void 0);return a===\"select\"&&b&&b.multiple!=null&&R.setAttribute(\"multiple\",b.multiple),R},createText:a=>IW.createTextNode(a),createComment:a=>IW.createComment(a),setText:(a,u)=>{a.nodeValue=u},setElementText:(a,u)=>{a.textContent=u},parentNode:a=>a.parentNode,nextSibling:a=>a.nextSibling,querySelector:a=>IW.querySelector(a),setScopeId(a,u){a.setAttribute(u,\"\")},cloneNode(a){const u=a.cloneNode(!0);return\"_value\"in a&&(u._value=a._value),u},insertStaticContent(a,u,c,b){const R=c?c.previousSibling:u.lastChild;let K=Ug0.get(a);if(!K){const s0=IW.createElement(\"template\");if(s0.innerHTML=b?`<svg>${a}</svg>`:a,K=s0.content,b){const Y=K.firstChild;for(;Y.firstChild;)K.appendChild(Y.firstChild);K.removeChild(Y)}Ug0.set(a,K)}return u.insertBefore(K.cloneNode(!0),c),[R?R.nextSibling:u.firstChild,c?c.previousSibling:u.lastChild]}};function eyx(a,u,c){const b=a._vtc;b&&(u=(u?[u,...b]:[...b]).join(\" \")),u==null?a.removeAttribute(\"class\"):c?a.setAttribute(\"class\",u):a.className=u}function tyx(a,u,c){const b=a.style;if(!c)a.removeAttribute(\"style\");else if(FZ(c)){if(u!==c){const R=b.display;b.cssText=c,\"_vod\"in a&&(b.display=R)}}else{for(const R in c)jn0(b,R,c[R]);if(u&&!FZ(u))for(const R in u)c[R]==null&&jn0(b,R,\"\")}}const Vg0=/\\s*!important$/;function jn0(a,u,c){if(ML(c))c.forEach(b=>jn0(a,u,b));else if(u.startsWith(\"--\"))a.setProperty(u,c);else{const b=ryx(a,u);Vg0.test(c)?a.setProperty(PW(b),c.replace(Vg0,\"\"),\"important\"):a[b]=c}}const $g0=[\"Webkit\",\"Moz\",\"ms\"],Un0={};function ryx(a,u){const c=Un0[u];if(c)return c;let b=tR(u);if(b!==\"filter\"&&b in a)return Un0[u]=b;b=Y_x(b);for(let R=0;R<$g0.length;R++){const K=$g0[R]+b;if(K in a)return Un0[u]=K}return u}const Kg0=\"http://www.w3.org/1999/xlink\";function nyx(a,u,c,b,R){if(b&&u.startsWith(\"xlink:\"))c==null?a.removeAttributeNS(Kg0,u.slice(6,u.length)):a.setAttributeNS(Kg0,u,c);else{const K=$_x(u);c==null||K&&!Lg0(c)?a.removeAttribute(u):a.setAttribute(u,K?\"\":c)}}function iyx(a,u,c,b,R,K,s0){if(u===\"innerHTML\"||u===\"textContent\"){b&&s0(b,R,K),a[u]=c==null?\"\":c;return}if(u===\"value\"&&a.tagName!==\"PROGRESS\"){a._value=c;const Y=c==null?\"\":c;a.value!==Y&&(a.value=Y),c==null&&a.removeAttribute(u);return}if(c===\"\"||c==null){const Y=typeof a[u];if(Y===\"boolean\"){a[u]=Lg0(c);return}else if(c==null&&Y===\"string\"){a[u]=\"\",a.removeAttribute(u);return}else if(Y===\"number\"){try{a[u]=0}catch{}a.removeAttribute(u);return}}try{a[u]=c}catch{}}let AZ=Date.now,zg0=!1;if(typeof window!=\"undefined\"){AZ()>document.createEvent(\"Event\").timeStamp&&(AZ=()=>performance.now());const a=navigator.userAgent.match(/firefox\\/(\\d+)/i);zg0=!!(a&&Number(a[1])<=53)}let Vn0=0;const ayx=Promise.resolve(),oyx=()=>{Vn0=0},syx=()=>Vn0||(ayx.then(oyx),Vn0=AZ());function aV(a,u,c,b){a.addEventListener(u,c,b)}function uyx(a,u,c,b){a.removeEventListener(u,c,b)}function cyx(a,u,c,b,R=null){const K=a._vei||(a._vei={}),s0=K[u];if(b&&s0)s0.value=b;else{const[Y,F0]=lyx(u);if(b){const J0=K[u]=fyx(b,R);aV(a,Y,J0,F0)}else s0&&(uyx(a,Y,s0,F0),K[u]=void 0)}}const Wg0=/(?:Once|Passive|Capture)$/;function lyx(a){let u;if(Wg0.test(a)){u={};let c;for(;c=a.match(Wg0);)a=a.slice(0,a.length-c[0].length),u[c[0].toLowerCase()]=!0}return[PW(a.slice(2)),u]}function fyx(a,u){const c=b=>{const R=b.timeStamp||AZ();(zg0||R>=c.attached-1)&&LL(pyx(b,c.value),u,5,[b])};return c.value=a,c.attached=syx(),c}function pyx(a,u){if(ML(u)){const c=a.stopImmediatePropagation;return a.stopImmediatePropagation=()=>{c.call(a),a._stopped=!0},u.map(b=>R=>!R._stopped&&b(R))}else return u}const qg0=/^on[a-z]/,dyx=(a,u,c,b,R=!1,K,s0,Y,F0)=>{u===\"class\"?eyx(a,b,R):u===\"style\"?tyx(a,c,b):W_x(u)?q_x(u)||cyx(a,u,c,b,s0):(u[0]===\".\"?(u=u.slice(1),!0):u[0]===\"^\"?(u=u.slice(1),!1):myx(a,u,b,R))?iyx(a,u,b,K,s0,Y,F0):(u===\"true-value\"?a._trueValue=b:u===\"false-value\"&&(a._falseValue=b),nyx(a,u,b,R))};function myx(a,u,c,b){return b?!!(u===\"innerHTML\"||u===\"textContent\"||u in a&&qg0.test(u)&&Rg0(c)):u===\"spellcheck\"||u===\"draggable\"||u===\"form\"||u===\"list\"&&a.tagName===\"INPUT\"||u===\"type\"&&a.tagName===\"TEXTAREA\"||qg0.test(u)&&FZ(c)?!1:u in a}function Jg0(a,u){const c=yF(a);class b extends TZ{constructor(K){super(c,K,u)}}return b.def=c,b}const hyx=a=>Jg0(a,__0),gyx=typeof HTMLElement!=\"undefined\"?HTMLElement:class{};class TZ extends gyx{constructor(u,c={},b){super();this._def=u,this._props=c,this._instance=null,this._connected=!1,this._resolved=!1,this.shadowRoot&&b?b(this._createVNode(),this.shadowRoot):this.attachShadow({mode:\"open\"});for(let K=0;K<this.attributes.length;K++)this._setAttr(this.attributes[K].name);new MutationObserver(K=>{for(const s0 of K)this._setAttr(s0.attributeName)}).observe(this,{attributes:!0})}connectedCallback(){this._connected=!0,this._instance||(this._resolveDef(),kZ(this._createVNode(),this.shadowRoot))}disconnectedCallback(){this._connected=!1,Yk(()=>{this._connected||(kZ(null,this.shadowRoot),this._instance=null)})}_resolveDef(){if(this._resolved)return;const u=b=>{this._resolved=!0;for(const Y of Object.keys(this))Y[0]!==\"_\"&&this._setProp(Y,this[Y]);const{props:R,styles:K}=b,s0=R?ML(R)?R:Object.keys(R):[];for(const Y of s0.map(jg0))Object.defineProperty(this,Y,{get(){return this._getProp(Y)},set(F0){this._setProp(Y,F0)}});this._applyStyles(K)},c=this._def.__asyncLoader;c?c().then(u):u(this._def)}_setAttr(u){this._setProp(jg0(u),YJ(this.getAttribute(u)),!1)}_getProp(u){return this._props[u]}_setProp(u,c,b=!0){c!==this._props[u]&&(this._props[u]=c,this._instance&&kZ(this._createVNode(),this.shadowRoot),b&&(c===!0?this.setAttribute(PW(u),\"\"):typeof c==\"string\"||typeof c==\"number\"?this.setAttribute(PW(u),c+\"\"):c||this.removeAttribute(PW(u))))}_createVNode(){const u=pi(this._def,XJ({},this._props));return this._instance||(u.ce=c=>{this._instance=c,c.isCE=!0,c.emit=(R,...K)=>{this.dispatchEvent(new CustomEvent(R,{detail:K}))};let b=this;for(;b=b&&(b.parentNode||b.host);)if(b instanceof TZ){c.parent=b._instance;break}}),u}_applyStyles(u){u&&u.forEach(c=>{const b=document.createElement(\"style\");b.textContent=c,this.shadowRoot.appendChild(b)})}}function _yx(a=\"$style\"){{const u=BL();if(!u)return Ln0;const c=u.type.__cssModules;if(!c)return Ln0;const b=c[a];return b||Ln0}}function yyx(a){const u=BL();if(!u)return;const c=()=>$n0(u.subTree,a(u.proxy));Tg0(c),Nk(()=>{const b=new MutationObserver(c);b.observe(u.subTree.el.parentNode,{childList:!0}),xN(()=>b.disconnect())})}function $n0(a,u){if(a.shapeFlag&128){const c=a.suspense;a=c.activeBranch,c.pendingBranch&&!c.isHydrating&&c.effects.push(()=>{$n0(c.activeBranch,u)})}for(;a.component;)a=a.component.subTree;if(a.shapeFlag&1&&a.el)Hg0(a.el,u);else if(a.type===kN)a.children.forEach(c=>$n0(c,u));else if(a.type===oz){let{el:c,anchor:b}=a;for(;c&&(Hg0(c,u),c!==b);)c=c.nextSibling}}function Hg0(a,u){if(a.nodeType===1){const c=a.style;for(const b in u)c.setProperty(`--${b}`,u[b])}}const E$=\"transition\",QJ=\"animation\",Kn0=(a,{slots:u})=>CB(tn0,Yg0(a),u);Kn0.displayName=\"Transition\";const Gg0={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Dyx=Kn0.props=XJ({},tn0.props,Gg0),lz=(a,u=[])=>{ML(a)?a.forEach(c=>c(...u)):a&&a(...u)},Xg0=a=>a?ML(a)?a.some(u=>u.length>1):a.length>1:!1;function Yg0(a){const u={};for(const _n in a)_n in Gg0||(u[_n]=a[_n]);if(a.css===!1)return u;const{name:c=\"v\",type:b,duration:R,enterFromClass:K=`${c}-enter-from`,enterActiveClass:s0=`${c}-enter-active`,enterToClass:Y=`${c}-enter-to`,appearFromClass:F0=K,appearActiveClass:J0=s0,appearToClass:e1=Y,leaveFromClass:t1=`${c}-leave-from`,leaveActiveClass:r1=`${c}-leave-active`,leaveToClass:F1=`${c}-leave-to`}=a,a1=vyx(R),D1=a1&&a1[0],W0=a1&&a1[1],{onBeforeEnter:i1,onEnter:x1,onEnterCancelled:ux,onLeave:K1,onLeaveCancelled:ee,onBeforeAppear:Gx=i1,onAppear:ve=x1,onAppearCancelled:qe=ux}=u,Jt=(_n,Tr,Lr)=>{fz(_n,Tr?e1:Y),fz(_n,Tr?J0:s0),Lr&&Lr()},Ct=(_n,Tr)=>{fz(_n,F1),fz(_n,r1),Tr&&Tr()},vn=_n=>(Tr,Lr)=>{const Pn=_n?ve:x1,En=()=>Jt(Tr,_n,Lr);lz(Pn,[Tr,En]),Qg0(()=>{fz(Tr,_n?F0:K),oV(Tr,_n?e1:Y),Xg0(Pn)||Zg0(Tr,b,D1,En)})};return XJ(u,{onBeforeEnter(_n){lz(i1,[_n]),oV(_n,K),oV(_n,s0)},onBeforeAppear(_n){lz(Gx,[_n]),oV(_n,F0),oV(_n,J0)},onEnter:vn(!1),onAppear:vn(!0),onLeave(_n,Tr){const Lr=()=>Ct(_n,Tr);oV(_n,t1),r_0(),oV(_n,r1),Qg0(()=>{fz(_n,t1),oV(_n,F1),Xg0(K1)||Zg0(_n,b,W0,Lr)}),lz(K1,[_n,Lr])},onEnterCancelled(_n){Jt(_n,!1),lz(ux,[_n])},onAppearCancelled(_n){Jt(_n,!0),lz(qe,[_n])},onLeaveCancelled(_n){Ct(_n),lz(ee,[_n])}})}function vyx(a){if(a==null)return null;if(Mn0(a))return[zn0(a.enter),zn0(a.leave)];{const u=zn0(a);return[u,u]}}function zn0(a){return YJ(a)}function oV(a,u){u.split(/\\s+/).forEach(c=>c&&a.classList.add(c)),(a._vtc||(a._vtc=new Set)).add(u)}function fz(a,u){u.split(/\\s+/).forEach(b=>b&&a.classList.remove(b));const{_vtc:c}=a;c&&(c.delete(u),c.size||(a._vtc=void 0))}function Qg0(a){requestAnimationFrame(()=>{requestAnimationFrame(a)})}let byx=0;function Zg0(a,u,c,b){const R=a._endId=++byx,K=()=>{R===a._endId&&b()};if(c)return setTimeout(K,c);const{type:s0,timeout:Y,propCount:F0}=x_0(a,u);if(!s0)return b();const J0=s0+\"end\";let e1=0;const t1=()=>{a.removeEventListener(J0,r1),K()},r1=F1=>{F1.target===a&&++e1>=F0&&t1()};setTimeout(()=>{e1<F0&&t1()},Y+1),a.addEventListener(J0,r1)}function x_0(a,u){const c=window.getComputedStyle(a),b=a1=>(c[a1]||\"\").split(\", \"),R=b(E$+\"Delay\"),K=b(E$+\"Duration\"),s0=e_0(R,K),Y=b(QJ+\"Delay\"),F0=b(QJ+\"Duration\"),J0=e_0(Y,F0);let e1=null,t1=0,r1=0;u===E$?s0>0&&(e1=E$,t1=s0,r1=K.length):u===QJ?J0>0&&(e1=QJ,t1=J0,r1=F0.length):(t1=Math.max(s0,J0),e1=t1>0?s0>J0?E$:QJ:null,r1=e1?e1===E$?K.length:F0.length:0);const F1=e1===E$&&/\\b(transform|all)(,|$)/.test(c[E$+\"Property\"]);return{type:e1,timeout:t1,propCount:r1,hasTransform:F1}}function e_0(a,u){for(;a.length<u.length;)a=a.concat(a);return Math.max(...u.map((c,b)=>t_0(c)+t_0(a[b])))}function t_0(a){return Number(a.slice(0,-1).replace(\",\",\".\"))*1e3}function r_0(){return document.body.offsetHeight}const n_0=new WeakMap,i_0=new WeakMap,Cyx={name:\"TransitionGroup\",props:XJ({},Dyx,{tag:String,moveClass:String}),setup(a,{slots:u}){const c=BL(),b=en0();let R,K;return AW(()=>{if(!R.length)return;const s0=a.moveClass||`${a.name||\"v\"}-move`;if(!Tyx(R[0].el,c.vnode.el,s0))return;R.forEach(Syx),R.forEach(Fyx);const Y=R.filter(Ayx);r_0(),Y.forEach(F0=>{const J0=F0.el,e1=J0.style;oV(J0,s0),e1.transform=e1.webkitTransform=e1.transitionDuration=\"\";const t1=J0._moveCb=r1=>{r1&&r1.target!==J0||(!r1||/transform$/.test(r1.propertyName))&&(J0.removeEventListener(\"transitionend\",t1),J0._moveCb=null,fz(J0,s0))};J0.addEventListener(\"transitionend\",t1)})}),()=>{const s0=CS(a),Y=Yg0(s0);let F0=s0.tag||kN;R=K,K=u.default?lZ(u.default()):[];for(let J0=0;J0<K.length;J0++){const e1=K[J0];e1.key!=null&&iz(e1,FW(e1,Y,b,c))}if(R)for(let J0=0;J0<R.length;J0++){const e1=R[J0];iz(e1,FW(e1,Y,b,c)),n_0.set(e1,e1.el.getBoundingClientRect())}return pi(F0,null,K)}}},Eyx=Cyx;function Syx(a){const u=a.el;u._moveCb&&u._moveCb(),u._enterCb&&u._enterCb()}function Fyx(a){i_0.set(a,a.el.getBoundingClientRect())}function Ayx(a){const u=n_0.get(a),c=i_0.get(a),b=u.left-c.left,R=u.top-c.top;if(b||R){const K=a.el.style;return K.transform=K.webkitTransform=`translate(${b}px,${R}px)`,K.transitionDuration=\"0s\",a}}function Tyx(a,u,c){const b=a.cloneNode();a._vtc&&a._vtc.forEach(s0=>{s0.split(/\\s+/).forEach(Y=>Y&&b.classList.remove(Y))}),c.split(/\\s+/).forEach(s0=>s0&&b.classList.add(s0)),b.style.display=\"none\";const R=u.nodeType===1?u:u.parentNode;R.appendChild(b);const{hasTransform:K}=x_0(b);return R.removeChild(b),K}const S$=a=>{const u=a.props[\"onUpdate:modelValue\"];return ML(u)?c=>Q_x(u,c):u};function wyx(a){a.target.composing=!0}function a_0(a){const u=a.target;u.composing&&(u.composing=!1,kyx(u,\"input\"))}function kyx(a,u){const c=document.createEvent(\"HTMLEvents\");c.initEvent(u,!0,!0),a.dispatchEvent(c)}const Wn0={created(a,{modifiers:{lazy:u,trim:c,number:b}},R){a._assign=S$(R);const K=b||R.props&&R.props.type===\"number\";aV(a,u?\"change\":\"input\",s0=>{if(s0.target.composing)return;let Y=a.value;c?Y=Y.trim():K&&(Y=YJ(Y)),a._assign(Y)}),c&&aV(a,\"change\",()=>{a.value=a.value.trim()}),u||(aV(a,\"compositionstart\",wyx),aV(a,\"compositionend\",a_0),aV(a,\"change\",a_0))},mounted(a,{value:u}){a.value=u==null?\"\":u},beforeUpdate(a,{value:u,modifiers:{lazy:c,trim:b,number:R}},K){if(a._assign=S$(K),a.composing||document.activeElement===a&&(c||b&&a.value.trim()===u||(R||a.type===\"number\")&&YJ(a.value)===u))return;const s0=u==null?\"\":u;a.value!==s0&&(a.value=s0)}},o_0={deep:!0,created(a,u,c){a._assign=S$(c),aV(a,\"change\",()=>{const b=a._modelValue,R=OW(a),K=a.checked,s0=a._assign;if(ML(b)){const Y=Bn0(b,R),F0=Y!==-1;if(K&&!F0)s0(b.concat(R));else if(!K&&F0){const J0=[...b];J0.splice(Y,1),s0(J0)}}else if(SZ(b)){const Y=new Set(b);K?Y.add(R):Y.delete(R),s0(Y)}else s0(f_0(a,K))})},mounted:s_0,beforeUpdate(a,u,c){a._assign=S$(c),s_0(a,u,c)}};function s_0(a,{value:u,oldValue:c},b){a._modelValue=u,ML(u)?a.checked=Bn0(u,b.props.value)>-1:SZ(u)?a.checked=u.has(b.props.value):u!==c&&(a.checked=cz(u,f_0(a,!0)))}const u_0={created(a,{value:u},c){a.checked=cz(u,c.props.value),a._assign=S$(c),aV(a,\"change\",()=>{a._assign(OW(a))})},beforeUpdate(a,{value:u,oldValue:c},b){a._assign=S$(b),u!==c&&(a.checked=cz(u,b.props.value))}},c_0={deep:!0,created(a,{value:u,modifiers:{number:c}},b){const R=SZ(u);aV(a,\"change\",()=>{const K=Array.prototype.filter.call(a.options,s0=>s0.selected).map(s0=>c?YJ(OW(s0)):OW(s0));a._assign(a.multiple?R?new Set(K):K:K[0])}),a._assign=S$(b)},mounted(a,{value:u}){l_0(a,u)},beforeUpdate(a,u,c){a._assign=S$(c)},updated(a,{value:u}){l_0(a,u)}};function l_0(a,u){const c=a.multiple;if(!(c&&!ML(u)&&!SZ(u))){for(let b=0,R=a.options.length;b<R;b++){const K=a.options[b],s0=OW(K);if(c)ML(u)?K.selected=Bn0(u,s0)>-1:K.selected=u.has(s0);else if(cz(OW(K),u)){a.selectedIndex!==b&&(a.selectedIndex=b);return}}!c&&a.selectedIndex!==-1&&(a.selectedIndex=-1)}}function OW(a){return\"_value\"in a?a._value:a.value}function f_0(a,u){const c=u?\"_trueValue\":\"_falseValue\";return c in a?a[c]:u}const Nyx={created(a,u,c){wZ(a,u,c,null,\"created\")},mounted(a,u,c){wZ(a,u,c,null,\"mounted\")},beforeUpdate(a,u,c,b){wZ(a,u,c,b,\"beforeUpdate\")},updated(a,u,c,b){wZ(a,u,c,b,\"updated\")}};function wZ(a,u,c,b,R){let K;switch(a.tagName){case\"SELECT\":K=c_0;break;case\"TEXTAREA\":K=Wn0;break;default:switch(c.props&&c.props.type){case\"checkbox\":K=o_0;break;case\"radio\":K=u_0;break;default:K=Wn0}}const s0=K[R];s0&&s0(a,u,c,b)}const Pyx=[\"ctrl\",\"shift\",\"alt\",\"meta\"],Iyx={stop:a=>a.stopPropagation(),prevent:a=>a.preventDefault(),self:a=>a.target!==a.currentTarget,ctrl:a=>!a.ctrlKey,shift:a=>!a.shiftKey,alt:a=>!a.altKey,meta:a=>!a.metaKey,left:a=>\"button\"in a&&a.button!==0,middle:a=>\"button\"in a&&a.button!==1,right:a=>\"button\"in a&&a.button!==2,exact:(a,u)=>Pyx.some(c=>a[`${c}Key`]&&!u.includes(c))},Oyx=(a,u)=>(c,...b)=>{for(let R=0;R<u.length;R++){const K=Iyx[u[R]];if(K&&K(c,u))return}return a(c,...b)},Byx={esc:\"escape\",space:\" \",up:\"arrow-up\",left:\"arrow-left\",right:\"arrow-right\",down:\"arrow-down\",delete:\"backspace\"},p_0=(a,u)=>c=>{if(!(\"key\"in c))return;const b=PW(c.key);if(u.some(R=>R===b||Byx[R]===b))return a(c)},Lyx={beforeMount(a,{value:u},{transition:c}){a._vod=a.style.display===\"none\"?\"\":a.style.display,c&&u?c.beforeEnter(a):ZJ(a,u)},mounted(a,{value:u},{transition:c}){c&&u&&c.enter(a)},updated(a,{value:u,oldValue:c},{transition:b}){!u!=!c&&(b?u?(b.beforeEnter(a),ZJ(a,!0),b.enter(a)):b.leave(a,()=>{ZJ(a,!1)}):ZJ(a,u))},beforeUnmount(a,{value:u}){ZJ(a,u)}};function ZJ(a,u){a.style.display=u?a._vod:\"none\"}const d_0=XJ({patchProp:dyx},xyx);let xH,m_0=!1;function h_0(){return xH||(xH=eg0(d_0))}function g_0(){return xH=m_0?xH:tg0(d_0),m_0=!0,xH}const kZ=(...a)=>{h_0().render(...a)},__0=(...a)=>{g_0().hydrate(...a)},y_0=(...a)=>{const u=h_0().createApp(...a),{mount:c}=u;return u.mount=b=>{const R=D_0(b);if(!R)return;const K=u._component;!Rg0(K)&&!K.render&&!K.template&&(K.template=R.innerHTML),R.innerHTML=\"\";const s0=c(R,!1,R instanceof SVGElement);return R instanceof Element&&(R.removeAttribute(\"v-cloak\"),R.setAttribute(\"data-v-app\",\"\")),s0},u},Myx=(...a)=>{const u=g_0().createApp(...a),{mount:c}=u;return u.mount=b=>{const R=D_0(b);if(R)return c(R,!0,R instanceof SVGElement)},u};function D_0(a){return FZ(a)?document.querySelector(a):a}const Ryx=()=>{};var jyx=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",compile:Ryx,EffectScope:Or0,ReactiveEffect:TJ,computed:Sp,customRef:Ghx,effect:ghx,effectScope:Br0,getCurrentScope:Vm0,isProxy:qr0,isReactive:eR,isReadonly:rZ,isRef:jw,markRaw:tz,onScopeDispose:$m0,proxyRefs:Hr0,reactive:_B,readonly:Wr0,ref:n2,shallowReactive:oh0,shallowReadonly:zhx,shallowRef:uh0,stop:_hx,toRaw:CS,toRef:Gr0,toRefs:lh0,triggerRef:qhx,unref:O8,camelize:tR,capitalize:sZ,normalizeClass:kJ,normalizeProps:rgx,normalizeStyle:wJ,toDisplayString:ph0,toHandlerKey:PJ,$computed:I_x,$fromRefs:O_x,$raw:B_x,$ref:N_x,$shallowRef:P_x,BaseTransition:tn0,Comment:yO,Fragment:kN,KeepAlive:Sgx,Static:oz,Suspense:ggx,Teleport:ig0,Text:wW,callWithAsyncErrorHandling:LL,callWithErrorHandling:Rj,cloneVNode:nV,compatUtils:j_x,createBlock:xa,createCommentVNode:bn0,createElementBlock:lg0,createElementVNode:Dn0,createHydrationRenderer:tg0,createRenderer:eg0,createSlots:Xgx,createStaticVNode:Hgx,createTextVNode:vn0,createVNode:pi,defineAsyncComponent:Cgx,defineComponent:yF,defineEmits:v_x,defineExpose:b_x,defineProps:D_x,get devtools(){return Eh0},getCurrentInstance:BL,getTransitionRawChildren:lZ,guardReactiveProps:pg0,h:CB,handleError:sz,initCustomFormatter:w_x,inject:o4,isMemoSame:Og0,isRuntimeOnly:r_x,isVNode:y$,mergeDefaults:F_x,mergeProps:KJ,nextTick:Yk,onActivated:in0,onBeforeMount:un0,onBeforeUnmount:jJ,onBeforeUpdate:Bh0,onDeactivated:an0,onErrorCaptured:jh0,onMounted:Nk,onRenderTracked:Rh0,onRenderTriggered:Mh0,onServerPrefetch:Lh0,onUnmounted:xN,onUpdated:AW,openBlock:Xi,popScopeId:Ah0,provide:Dw,pushScopeId:Fh0,queuePostFlushCb:In0,registerRuntimeCompiler:t_x,renderList:Ggx,renderSlot:yZ,resolveComponent:TW,resolveDirective:og0,resolveDynamicComponent:Wgx,resolveFilter:R_x,resolveTransitionHooks:FW,setBlockTracking:yn0,setDevtoolsHook:ugx,setTransitionHooks:iz,ssrContextKey:Ig0,ssrUtils:M_x,toHandlers:Ygx,transformVNodeArgs:qgx,useAttrs:S_x,useSSRContext:T_x,useSlots:E_x,useTransitionState:en0,version:Bg0,warn:bg0,watch:oP,watchEffect:I9,watchPostEffect:Tg0,watchSyncEffect:h_x,withAsyncContext:A_x,withCtx:nz,withDefaults:C_x,withDirectives:Zh0,withMemo:k_x,withScopeId:Th0,Transition:Kn0,TransitionGroup:Eyx,VueElement:TZ,createApp:y_0,createSSRApp:Myx,defineCustomElement:Jg0,defineSSRCustomElement:hyx,hydrate:__0,render:kZ,useCssModule:_yx,useCssVars:yyx,vModelCheckbox:o_0,vModelDynamic:Nyx,vModelRadio:u_0,vModelSelect:c_0,vModelText:Wn0,vShow:Lyx,withKeys:p_0,withModifiers:Oyx});/*!\n  * vue-router v4.0.11\n  * (c) 2021 Eduardo San Martin Morote\n  * @license MIT\n  */const v_0=typeof Symbol==\"function\"&&typeof Symbol.toStringTag==\"symbol\",BW=a=>v_0?Symbol(a):\"_vr_\"+a,NZ=BW(\"rvlm\"),qn0=BW(\"rvd\"),eH=BW(\"r\"),PZ=BW(\"rl\"),IZ=BW(\"rvl\"),LW=typeof window!=\"undefined\";function Uyx(a){return a.__esModule||v_0&&a[Symbol.toStringTag]===\"Module\"}const Z5=Object.assign;function Jn0(a,u){const c={};for(const b in u){const R=u[b];c[b]=Array.isArray(R)?R.map(a):a(R)}return c}const tH=()=>{},Vyx=/\\/$/,$yx=a=>a.replace(Vyx,\"\");function Hn0(a,u,c=\"/\"){let b,R={},K=\"\",s0=\"\";const Y=u.indexOf(\"?\"),F0=u.indexOf(\"#\",Y>-1?Y:0);return Y>-1&&(b=u.slice(0,Y),K=u.slice(Y+1,F0>-1?F0:u.length),R=a(K)),F0>-1&&(b=b||u.slice(0,F0),s0=u.slice(F0,u.length)),b=qyx(b!=null?b:u,c),{fullPath:b+(K&&\"?\")+K+s0,path:b,query:R,hash:s0}}function Kyx(a,u){const c=u.query?a(u.query):\"\";return u.path+(c&&\"?\")+c+(u.hash||\"\")}function b_0(a,u){return!u||!a.toLowerCase().startsWith(u.toLowerCase())?a:a.slice(u.length)||\"/\"}function zyx(a,u,c){const b=u.matched.length-1,R=c.matched.length-1;return b>-1&&b===R&&MW(u.matched[b],c.matched[R])&&C_0(u.params,c.params)&&a(u.query)===a(c.query)&&u.hash===c.hash}function MW(a,u){return(a.aliasOf||a)===(u.aliasOf||u)}function C_0(a,u){if(Object.keys(a).length!==Object.keys(u).length)return!1;for(const c in a)if(!Wyx(a[c],u[c]))return!1;return!0}function Wyx(a,u){return Array.isArray(a)?E_0(a,u):Array.isArray(u)?E_0(u,a):a===u}function E_0(a,u){return Array.isArray(u)?a.length===u.length&&a.every((c,b)=>c===u[b]):a.length===1&&a[0]===u}function qyx(a,u){if(a.startsWith(\"/\"))return a;if(!a)return u;const c=u.split(\"/\"),b=a.split(\"/\");let R=c.length-1,K,s0;for(K=0;K<b.length;K++)if(s0=b[K],!(R===1||s0===\".\"))if(s0===\"..\")R--;else break;return c.slice(0,R).join(\"/\")+\"/\"+b.slice(K-(K===b.length?1:0)).join(\"/\")}var RW;(function(a){a.pop=\"pop\",a.push=\"push\"})(RW||(RW={}));var pz;(function(a){a.back=\"back\",a.forward=\"forward\",a.unknown=\"\"})(pz||(pz={}));const Gn0=\"\";function Jyx(a){if(!a)if(LW){const u=document.querySelector(\"base\");a=u&&u.getAttribute(\"href\")||\"/\",a=a.replace(/^\\w+:\\/\\/[^\\/]+/,\"\")}else a=\"/\";return a[0]!==\"/\"&&a[0]!==\"#\"&&(a=\"/\"+a),$yx(a)}const Hyx=/^[^#]+#/;function S_0(a,u){return a.replace(Hyx,\"#\")+u}function Gyx(a,u){const c=document.documentElement.getBoundingClientRect(),b=a.getBoundingClientRect();return{behavior:u.behavior,left:b.left-c.left-(u.left||0),top:b.top-c.top-(u.top||0)}}const OZ=()=>({left:window.pageXOffset,top:window.pageYOffset});function Xyx(a){let u;if(\"el\"in a){const c=a.el,b=typeof c==\"string\"&&c.startsWith(\"#\"),R=typeof c==\"string\"?b?document.getElementById(c.slice(1)):document.querySelector(c):c;if(!R)return;u=Gyx(R,a)}else u=a;\"scrollBehavior\"in document.documentElement.style?window.scrollTo(u):window.scrollTo(u.left!=null?u.left:window.pageXOffset,u.top!=null?u.top:window.pageYOffset)}function F_0(a,u){return(history.state?history.state.position-u:-1)+a}const Xn0=new Map;function Yyx(a,u){Xn0.set(a,u)}function Qyx(a){const u=Xn0.get(a);return Xn0.delete(a),u}let Zyx=()=>location.protocol+\"//\"+location.host;function A_0(a,u){const{pathname:c,search:b,hash:R}=u,K=a.indexOf(\"#\");if(K>-1){let Y=R.includes(a.slice(K))?a.slice(K).length:1,F0=R.slice(Y);return F0[0]!==\"/\"&&(F0=\"/\"+F0),b_0(F0,\"\")}return b_0(c,a)+b+R}function xDx(a,u,c,b){let R=[],K=[],s0=null;const Y=({state:r1})=>{const F1=A_0(a,location),a1=c.value,D1=u.value;let W0=0;if(r1){if(c.value=F1,u.value=r1,s0&&s0===a1){s0=null;return}W0=D1?r1.position-D1.position:0}else b(F1);R.forEach(i1=>{i1(c.value,a1,{delta:W0,type:RW.pop,direction:W0?W0>0?pz.forward:pz.back:pz.unknown})})};function F0(){s0=c.value}function J0(r1){R.push(r1);const F1=()=>{const a1=R.indexOf(r1);a1>-1&&R.splice(a1,1)};return K.push(F1),F1}function e1(){const{history:r1}=window;!r1.state||r1.replaceState(Z5({},r1.state,{scroll:OZ()}),\"\")}function t1(){for(const r1 of K)r1();K=[],window.removeEventListener(\"popstate\",Y),window.removeEventListener(\"beforeunload\",e1)}return window.addEventListener(\"popstate\",Y),window.addEventListener(\"beforeunload\",e1),{pauseListeners:F0,listen:J0,destroy:t1}}function T_0(a,u,c,b=!1,R=!1){return{back:a,current:u,forward:c,replaced:b,position:window.history.length,scroll:R?OZ():null}}function eDx(a){const{history:u,location:c}=window,b={value:A_0(a,c)},R={value:u.state};R.value||K(b.value,{back:null,current:b.value,forward:null,position:u.length-1,replaced:!0,scroll:null},!0);function K(F0,J0,e1){const t1=a.indexOf(\"#\"),r1=t1>-1?(c.host&&document.querySelector(\"base\")?a:a.slice(t1))+F0:Zyx()+a+F0;try{u[e1?\"replaceState\":\"pushState\"](J0,\"\",r1),R.value=J0}catch(F1){console.error(F1),c[e1?\"replace\":\"assign\"](r1)}}function s0(F0,J0){const e1=Z5({},u.state,T_0(R.value.back,F0,R.value.forward,!0),J0,{position:R.value.position});K(F0,e1,!0),b.value=F0}function Y(F0,J0){const e1=Z5({},R.value,u.state,{forward:F0,scroll:OZ()});K(e1.current,e1,!0);const t1=Z5({},T_0(b.value,F0,null),{position:e1.position+1},J0);K(F0,t1,!1),b.value=F0}return{location:b,state:R,push:Y,replace:s0}}function w_0(a){a=Jyx(a);const u=eDx(a),c=xDx(a,u.state,u.location,u.replace);function b(K,s0=!0){s0||c.pauseListeners(),history.go(K)}const R=Z5({location:\"\",base:a,go:b,createHref:S_0.bind(null,a)},u,c);return Object.defineProperty(R,\"location\",{enumerable:!0,get:()=>u.location.value}),Object.defineProperty(R,\"state\",{enumerable:!0,get:()=>u.state.value}),R}function tDx(a=\"\"){let u=[],c=[Gn0],b=0;function R(Y){b++,b===c.length||c.splice(b),c.push(Y)}function K(Y,F0,{direction:J0,delta:e1}){const t1={direction:J0,delta:e1,type:RW.pop};for(const r1 of u)r1(Y,F0,t1)}const s0={location:Gn0,state:{},base:a,createHref:S_0.bind(null,a),replace(Y){c.splice(b--,1),R(Y)},push(Y,F0){R(Y)},listen(Y){return u.push(Y),()=>{const F0=u.indexOf(Y);F0>-1&&u.splice(F0,1)}},destroy(){u=[],c=[Gn0],b=0},go(Y,F0=!0){const J0=this.location,e1=Y<0?pz.back:pz.forward;b=Math.max(0,Math.min(b+Y,c.length-1)),F0&&K(this.location,J0,{direction:e1,delta:Y})}};return Object.defineProperty(s0,\"location\",{enumerable:!0,get:()=>c[b]}),s0}function rDx(a){return a=location.host?a||location.pathname+location.search:\"\",a.includes(\"#\")||(a+=\"#\"),w_0(a)}function nDx(a){return typeof a==\"string\"||a&&typeof a==\"object\"}function k_0(a){return typeof a==\"string\"||typeof a==\"symbol\"}const sV={path:\"/\",name:void 0,params:{},query:{},hash:\"\",fullPath:\"/\",matched:[],meta:{},redirectedFrom:void 0},N_0=BW(\"nf\");var Yn0;(function(a){a[a.aborted=4]=\"aborted\",a[a.cancelled=8]=\"cancelled\",a[a.duplicated=16]=\"duplicated\"})(Yn0||(Yn0={}));function jW(a,u){return Z5(new Error,{type:a,[N_0]:!0},u)}function F$(a,u){return a instanceof Error&&N_0 in a&&(u==null||!!(a.type&u))}const P_0=\"[^/]+?\",iDx={sensitive:!1,strict:!1,start:!0,end:!0},aDx=/[.+*?^${}()[\\]/\\\\]/g;function oDx(a,u){const c=Z5({},iDx,u),b=[];let R=c.start?\"^\":\"\";const K=[];for(const J0 of a){const e1=J0.length?[]:[90];c.strict&&!J0.length&&(R+=\"/\");for(let t1=0;t1<J0.length;t1++){const r1=J0[t1];let F1=40+(c.sensitive?.25:0);if(r1.type===0)t1||(R+=\"/\"),R+=r1.value.replace(aDx,\"\\\\$&\"),F1+=40;else if(r1.type===1){const{value:a1,repeatable:D1,optional:W0,regexp:i1}=r1;K.push({name:a1,repeatable:D1,optional:W0});const x1=i1||P_0;if(x1!==P_0){F1+=10;try{new RegExp(`(${x1})`)}catch(K1){throw new Error(`Invalid custom RegExp for param \"${a1}\" (${x1}): `+K1.message)}}let ux=D1?`((?:${x1})(?:/(?:${x1}))*)`:`(${x1})`;t1||(ux=W0&&J0.length<2?`(?:/${ux})`:\"/\"+ux),W0&&(ux+=\"?\"),R+=ux,F1+=20,W0&&(F1+=-8),D1&&(F1+=-20),x1===\".*\"&&(F1+=-50)}e1.push(F1)}b.push(e1)}if(c.strict&&c.end){const J0=b.length-1;b[J0][b[J0].length-1]+=.7000000000000001}c.strict||(R+=\"/?\"),c.end?R+=\"$\":c.strict&&(R+=\"(?:/|$)\");const s0=new RegExp(R,c.sensitive?\"\":\"i\");function Y(J0){const e1=J0.match(s0),t1={};if(!e1)return null;for(let r1=1;r1<e1.length;r1++){const F1=e1[r1]||\"\",a1=K[r1-1];t1[a1.name]=F1&&a1.repeatable?F1.split(\"/\"):F1}return t1}function F0(J0){let e1=\"\",t1=!1;for(const r1 of a){(!t1||!e1.endsWith(\"/\"))&&(e1+=\"/\"),t1=!1;for(const F1 of r1)if(F1.type===0)e1+=F1.value;else if(F1.type===1){const{value:a1,repeatable:D1,optional:W0}=F1,i1=a1 in J0?J0[a1]:\"\";if(Array.isArray(i1)&&!D1)throw new Error(`Provided param \"${a1}\" is an array but it is not repeatable (* or + modifiers)`);const x1=Array.isArray(i1)?i1.join(\"/\"):i1;if(!x1)if(W0)r1.length<2&&(e1.endsWith(\"/\")?e1=e1.slice(0,-1):t1=!0);else throw new Error(`Missing required param \"${a1}\"`);e1+=x1}}return e1}return{re:s0,score:b,keys:K,parse:Y,stringify:F0}}function sDx(a,u){let c=0;for(;c<a.length&&c<u.length;){const b=u[c]-a[c];if(b)return b;c++}return a.length<u.length?a.length===1&&a[0]===40+40?-1:1:a.length>u.length?u.length===1&&u[0]===40+40?1:-1:0}function uDx(a,u){let c=0;const b=a.score,R=u.score;for(;c<b.length&&c<R.length;){const K=sDx(b[c],R[c]);if(K)return K;c++}return R.length-b.length}const cDx={type:0,value:\"\"},lDx=/[a-zA-Z0-9_]/;function fDx(a){if(!a)return[[]];if(a===\"/\")return[[cDx]];if(!a.startsWith(\"/\"))throw new Error(`Invalid path \"${a}\"`);function u(F1){throw new Error(`ERR (${c})/\"${J0}\": ${F1}`)}let c=0,b=c;const R=[];let K;function s0(){K&&R.push(K),K=[]}let Y=0,F0,J0=\"\",e1=\"\";function t1(){!J0||(c===0?K.push({type:0,value:J0}):c===1||c===2||c===3?(K.length>1&&(F0===\"*\"||F0===\"+\")&&u(`A repeatable param (${J0}) must be alone in its segment. eg: '/:ids+.`),K.push({type:1,value:J0,regexp:e1,repeatable:F0===\"*\"||F0===\"+\",optional:F0===\"*\"||F0===\"?\"})):u(\"Invalid state to consume buffer\"),J0=\"\")}function r1(){J0+=F0}for(;Y<a.length;){if(F0=a[Y++],F0===\"\\\\\"&&c!==2){b=c,c=4;continue}switch(c){case 0:F0===\"/\"?(J0&&t1(),s0()):F0===\":\"?(t1(),c=1):r1();break;case 4:r1(),c=b;break;case 1:F0===\"(\"?c=2:lDx.test(F0)?r1():(t1(),c=0,F0!==\"*\"&&F0!==\"?\"&&F0!==\"+\"&&Y--);break;case 2:F0===\")\"?e1[e1.length-1]==\"\\\\\"?e1=e1.slice(0,-1)+F0:c=3:e1+=F0;break;case 3:t1(),c=0,F0!==\"*\"&&F0!==\"?\"&&F0!==\"+\"&&Y--,e1=\"\";break;default:u(\"Unknown state\");break}}return c===2&&u(`Unfinished custom RegExp for param \"${J0}\"`),t1(),s0(),R}function pDx(a,u,c){const b=oDx(fDx(a.path),c),R=Z5(b,{record:a,parent:u,children:[],alias:[]});return u&&!R.record.aliasOf==!u.record.aliasOf&&u.children.push(R),R}function I_0(a,u){const c=[],b=new Map;u=B_0({strict:!1,end:!0,sensitive:!1},u);function R(e1){return b.get(e1)}function K(e1,t1,r1){const F1=!r1,a1=mDx(e1);a1.aliasOf=r1&&r1.record;const D1=B_0(u,e1),W0=[a1];if(\"alias\"in e1){const ux=typeof e1.alias==\"string\"?[e1.alias]:e1.alias;for(const K1 of ux)W0.push(Z5({},a1,{components:r1?r1.record.components:a1.components,path:K1,aliasOf:r1?r1.record:a1}))}let i1,x1;for(const ux of W0){const{path:K1}=ux;if(t1&&K1[0]!==\"/\"){const ee=t1.record.path,Gx=ee[ee.length-1]===\"/\"?\"\":\"/\";ux.path=t1.record.path+(K1&&Gx+K1)}if(i1=pDx(ux,t1,D1),r1?r1.alias.push(i1):(x1=x1||i1,x1!==i1&&x1.alias.push(i1),F1&&e1.name&&!O_0(i1)&&s0(e1.name)),\"children\"in a1){const ee=a1.children;for(let Gx=0;Gx<ee.length;Gx++)K(ee[Gx],i1,r1&&r1.children[Gx])}r1=r1||i1,F0(i1)}return x1?()=>{s0(x1)}:tH}function s0(e1){if(k_0(e1)){const t1=b.get(e1);t1&&(b.delete(e1),c.splice(c.indexOf(t1),1),t1.children.forEach(s0),t1.alias.forEach(s0))}else{const t1=c.indexOf(e1);t1>-1&&(c.splice(t1,1),e1.record.name&&b.delete(e1.record.name),e1.children.forEach(s0),e1.alias.forEach(s0))}}function Y(){return c}function F0(e1){let t1=0;for(;t1<c.length&&uDx(e1,c[t1])>=0;)t1++;c.splice(t1,0,e1),e1.record.name&&!O_0(e1)&&b.set(e1.record.name,e1)}function J0(e1,t1){let r1,F1={},a1,D1;if(\"name\"in e1&&e1.name){if(r1=b.get(e1.name),!r1)throw jW(1,{location:e1});D1=r1.record.name,F1=Z5(dDx(t1.params,r1.keys.filter(x1=>!x1.optional).map(x1=>x1.name)),e1.params),a1=r1.stringify(F1)}else if(\"path\"in e1)a1=e1.path,r1=c.find(x1=>x1.re.test(a1)),r1&&(F1=r1.parse(a1),D1=r1.record.name);else{if(r1=t1.name?b.get(t1.name):c.find(x1=>x1.re.test(t1.path)),!r1)throw jW(1,{location:e1,currentLocation:t1});D1=r1.record.name,F1=Z5({},t1.params,e1.params),a1=r1.stringify(F1)}const W0=[];let i1=r1;for(;i1;)W0.unshift(i1.record),i1=i1.parent;return{name:D1,path:a1,params:F1,matched:W0,meta:gDx(W0)}}return a.forEach(e1=>K(e1)),{addRoute:K,resolve:J0,removeRoute:s0,getRoutes:Y,getRecordMatcher:R}}function dDx(a,u){const c={};for(const b of u)b in a&&(c[b]=a[b]);return c}function mDx(a){return{path:a.path,redirect:a.redirect,name:a.name,meta:a.meta||{},aliasOf:void 0,beforeEnter:a.beforeEnter,props:hDx(a),children:a.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:\"components\"in a?a.components||{}:{default:a.component}}}function hDx(a){const u={},c=a.props||!1;if(\"component\"in a)u.default=c;else for(const b in a.components)u[b]=typeof c==\"boolean\"?c:c[b];return u}function O_0(a){for(;a;){if(a.record.aliasOf)return!0;a=a.parent}return!1}function gDx(a){return a.reduce((u,c)=>Z5(u,c.meta),{})}function B_0(a,u){const c={};for(const b in a)c[b]=b in u?u[b]:a[b];return c}const L_0=/#/g,_Dx=/&/g,yDx=/\\//g,DDx=/=/g,vDx=/\\?/g,M_0=/\\+/g,bDx=/%5B/g,CDx=/%5D/g,R_0=/%5E/g,EDx=/%60/g,j_0=/%7B/g,SDx=/%7C/g,U_0=/%7D/g,FDx=/%20/g;function Qn0(a){return encodeURI(\"\"+a).replace(SDx,\"|\").replace(bDx,\"[\").replace(CDx,\"]\")}function ADx(a){return Qn0(a).replace(j_0,\"{\").replace(U_0,\"}\").replace(R_0,\"^\")}function Zn0(a){return Qn0(a).replace(M_0,\"%2B\").replace(FDx,\"+\").replace(L_0,\"%23\").replace(_Dx,\"%26\").replace(EDx,\"`\").replace(j_0,\"{\").replace(U_0,\"}\").replace(R_0,\"^\")}function TDx(a){return Zn0(a).replace(DDx,\"%3D\")}function wDx(a){return Qn0(a).replace(L_0,\"%23\").replace(vDx,\"%3F\")}function kDx(a){return a==null?\"\":wDx(a).replace(yDx,\"%2F\")}function BZ(a){try{return decodeURIComponent(\"\"+a)}catch{}return\"\"+a}function V_0(a){const u={};if(a===\"\"||a===\"?\")return u;const b=(a[0]===\"?\"?a.slice(1):a).split(\"&\");for(let R=0;R<b.length;++R){const K=b[R].replace(M_0,\" \"),s0=K.indexOf(\"=\"),Y=BZ(s0<0?K:K.slice(0,s0)),F0=s0<0?null:BZ(K.slice(s0+1));if(Y in u){let J0=u[Y];Array.isArray(J0)||(J0=u[Y]=[J0]),J0.push(F0)}else u[Y]=F0}return u}function xi0(a){let u=\"\";for(let c in a){const b=a[c];if(c=TDx(c),b==null){b!==void 0&&(u+=(u.length?\"&\":\"\")+c);continue}(Array.isArray(b)?b.map(K=>K&&Zn0(K)):[b&&Zn0(b)]).forEach(K=>{K!==void 0&&(u+=(u.length?\"&\":\"\")+c,K!=null&&(u+=\"=\"+K))})}return u}function NDx(a){const u={};for(const c in a){const b=a[c];b!==void 0&&(u[c]=Array.isArray(b)?b.map(R=>R==null?null:\"\"+R):b==null?b:\"\"+b)}return u}function rH(){let a=[];function u(b){return a.push(b),()=>{const R=a.indexOf(b);R>-1&&a.splice(R,1)}}function c(){a=[]}return{add:u,list:()=>a,reset:c}}function $_0(a,u,c){const b=()=>{a[u].delete(c)};xN(b),an0(b),in0(()=>{a[u].add(c)}),a[u].add(c)}function PDx(a){const u=o4(NZ,{}).value;!u||$_0(u,\"leaveGuards\",a)}function IDx(a){const u=o4(NZ,{}).value;!u||$_0(u,\"updateGuards\",a)}function A$(a,u,c,b,R){const K=b&&(b.enterCallbacks[R]=b.enterCallbacks[R]||[]);return()=>new Promise((s0,Y)=>{const F0=t1=>{t1===!1?Y(jW(4,{from:c,to:u})):t1 instanceof Error?Y(t1):nDx(t1)?Y(jW(2,{from:u,to:t1})):(K&&b.enterCallbacks[R]===K&&typeof t1==\"function\"&&K.push(t1),s0())},J0=a.call(b&&b.instances[R],u,c,F0);let e1=Promise.resolve(J0);a.length<3&&(e1=e1.then(F0)),e1.catch(t1=>Y(t1))})}function ei0(a,u,c,b){const R=[];for(const K of a)for(const s0 in K.components){let Y=K.components[s0];if(!(u!==\"beforeRouteEnter\"&&!K.instances[s0]))if(ODx(Y)){const J0=(Y.__vccOpts||Y)[u];J0&&R.push(A$(J0,c,b,K,s0))}else{let F0=Y();R.push(()=>F0.then(J0=>{if(!J0)return Promise.reject(new Error(`Couldn't resolve component \"${s0}\" at \"${K.path}\"`));const e1=Uyx(J0)?J0.default:J0;K.components[s0]=e1;const r1=(e1.__vccOpts||e1)[u];return r1&&A$(r1,c,b,K,s0)()}))}}return R}function ODx(a){return typeof a==\"object\"||\"displayName\"in a||\"props\"in a||\"__vccOpts\"in a}function ti0(a){const u=o4(eH),c=o4(PZ),b=Sp(()=>u.resolve(O8(a.to))),R=Sp(()=>{const{matched:F0}=b.value,{length:J0}=F0,e1=F0[J0-1],t1=c.matched;if(!e1||!t1.length)return-1;const r1=t1.findIndex(MW.bind(null,e1));if(r1>-1)return r1;const F1=z_0(F0[J0-2]);return J0>1&&z_0(e1)===F1&&t1[t1.length-1].path!==F1?t1.findIndex(MW.bind(null,F0[J0-2])):r1}),K=Sp(()=>R.value>-1&&MDx(c.params,b.value.params)),s0=Sp(()=>R.value>-1&&R.value===c.matched.length-1&&C_0(c.params,b.value.params));function Y(F0={}){return LDx(F0)?u[O8(a.replace)?\"replace\":\"push\"](O8(a.to)).catch(tH):Promise.resolve()}return{route:b,href:Sp(()=>b.value.href),isActive:K,isExactActive:s0,navigate:Y}}const BDx=yF({name:\"RouterLink\",props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:\"page\"}},useLink:ti0,setup(a,{slots:u}){const c=_B(ti0(a)),{options:b}=o4(eH),R=Sp(()=>({[W_0(a.activeClass,b.linkActiveClass,\"router-link-active\")]:c.isActive,[W_0(a.exactActiveClass,b.linkExactActiveClass,\"router-link-exact-active\")]:c.isExactActive}));return()=>{const K=u.default&&u.default(c);return a.custom?K:CB(\"a\",{\"aria-current\":c.isExactActive?a.ariaCurrentValue:null,href:c.href,onClick:c.navigate,class:R.value},K)}}}),K_0=BDx;function LDx(a){if(!(a.metaKey||a.altKey||a.ctrlKey||a.shiftKey)&&!a.defaultPrevented&&!(a.button!==void 0&&a.button!==0)){if(a.currentTarget&&a.currentTarget.getAttribute){const u=a.currentTarget.getAttribute(\"target\");if(/\\b_blank\\b/i.test(u))return}return a.preventDefault&&a.preventDefault(),!0}}function MDx(a,u){for(const c in u){const b=u[c],R=a[c];if(typeof b==\"string\"){if(b!==R)return!1}else if(!Array.isArray(R)||R.length!==b.length||b.some((K,s0)=>K!==R[s0]))return!1}return!0}function z_0(a){return a?a.aliasOf?a.aliasOf.path:a.path:\"\"}const W_0=(a,u,c)=>a!=null?a:u!=null?u:c,RDx=yF({name:\"RouterView\",inheritAttrs:!1,props:{name:{type:String,default:\"default\"},route:Object},setup(a,{attrs:u,slots:c}){const b=o4(IZ),R=Sp(()=>a.route||b.value),K=o4(qn0,0),s0=Sp(()=>R.value.matched[K]);Dw(qn0,K+1),Dw(NZ,s0),Dw(IZ,R);const Y=n2();return oP(()=>[Y.value,s0.value,a.name],([F0,J0,e1],[t1,r1,F1])=>{J0&&(J0.instances[e1]=F0,r1&&r1!==J0&&F0&&F0===t1&&(J0.leaveGuards.size||(J0.leaveGuards=r1.leaveGuards),J0.updateGuards.size||(J0.updateGuards=r1.updateGuards))),F0&&J0&&(!r1||!MW(J0,r1)||!t1)&&(J0.enterCallbacks[e1]||[]).forEach(a1=>a1(F0))},{flush:\"post\"}),()=>{const F0=R.value,J0=s0.value,e1=J0&&J0.components[a.name],t1=a.name;if(!e1)return q_0(c.default,{Component:e1,route:F0});const r1=J0.props[a.name],F1=r1?r1===!0?F0.params:typeof r1==\"function\"?r1(F0):r1:null,D1=CB(e1,Z5({},F1,u,{onVnodeUnmounted:W0=>{W0.component.isUnmounted&&(J0.instances[t1]=null)},ref:Y}));return q_0(c.default,{Component:D1,route:F0})||D1}}});function q_0(a,u){if(!a)return null;const c=a(u);return c.length===1?c[0]:c}const J_0=RDx;function jDx(a){const u=I_0(a.routes,a),c=a.parseQuery||V_0,b=a.stringifyQuery||xi0,R=a.history,K=rH(),s0=rH(),Y=rH(),F0=uh0(sV);let J0=sV;LW&&a.scrollBehavior&&\"scrollRestoration\"in history&&(history.scrollRestoration=\"manual\");const e1=Jn0.bind(null,mi=>\"\"+mi),t1=Jn0.bind(null,kDx),r1=Jn0.bind(null,BZ);function F1(mi,ma){let ja,Ua;return k_0(mi)?(ja=u.getRecordMatcher(mi),Ua=ma):Ua=mi,u.addRoute(Ua,ja)}function a1(mi){const ma=u.getRecordMatcher(mi);ma&&u.removeRoute(ma)}function D1(){return u.getRoutes().map(mi=>mi.record)}function W0(mi){return!!u.getRecordMatcher(mi)}function i1(mi,ma){if(ma=Z5({},ma||F0.value),typeof mi==\"string\"){const et=Hn0(c,mi,ma.path),Sr=u.resolve({path:et.path},ma),un=R.createHref(et.fullPath);return Z5(et,Sr,{params:r1(Sr.params),hash:BZ(et.hash),redirectedFrom:void 0,href:un})}let ja;if(\"path\"in mi)ja=Z5({},mi,{path:Hn0(c,mi.path,ma.path).path});else{const et=Z5({},mi.params);for(const Sr in et)et[Sr]==null&&delete et[Sr];ja=Z5({},mi,{params:t1(mi.params)}),ma.params=t1(ma.params)}const Ua=u.resolve(ja,ma),aa=mi.hash||\"\";Ua.params=e1(r1(Ua.params));const Os=Kyx(b,Z5({},mi,{hash:ADx(aa),path:Ua.path})),gn=R.createHref(Os);return Z5({fullPath:Os,hash:aa,query:b===xi0?NDx(mi.query):mi.query||{}},Ua,{redirectedFrom:void 0,href:gn})}function x1(mi){return typeof mi==\"string\"?Hn0(c,mi,F0.value.path):Z5({},mi)}function ux(mi,ma){if(J0!==mi)return jW(8,{from:ma,to:mi})}function K1(mi){return ve(mi)}function ee(mi){return K1(Z5(x1(mi),{replace:!0}))}function Gx(mi){const ma=mi.matched[mi.matched.length-1];if(ma&&ma.redirect){const{redirect:ja}=ma;let Ua=typeof ja==\"function\"?ja(mi):ja;return typeof Ua==\"string\"&&(Ua=Ua.includes(\"?\")||Ua.includes(\"#\")?Ua=x1(Ua):{path:Ua},Ua.params={}),Z5({query:mi.query,hash:mi.hash,params:mi.params},Ua)}}function ve(mi,ma){const ja=J0=i1(mi),Ua=F0.value,aa=mi.state,Os=mi.force,gn=mi.replace===!0,et=Gx(ja);if(et)return ve(Z5(x1(et),{state:aa,force:Os,replace:gn}),ma||ja);const Sr=ja;Sr.redirectedFrom=ma;let un;return!Os&&zyx(b,Ua,ja)&&(un=jW(16,{to:Sr,from:Ua}),Bu(Ua,Ua,!0,!1)),(un?Promise.resolve(un):Jt(Sr,Ua)).catch(jn=>F$(jn)?jn:cr(jn,Sr,Ua)).then(jn=>{if(jn){if(F$(jn,2))return ve(Z5(x1(jn.to),{state:aa,force:Os,replace:gn}),ma||Sr)}else jn=vn(Sr,Ua,!0,gn,aa);return Ct(Sr,Ua,jn),jn})}function qe(mi,ma){const ja=ux(mi,ma);return ja?Promise.reject(ja):Promise.resolve()}function Jt(mi,ma){let ja;const[Ua,aa,Os]=UDx(mi,ma);ja=ei0(Ua.reverse(),\"beforeRouteLeave\",mi,ma);for(const et of Ua)et.leaveGuards.forEach(Sr=>{ja.push(A$(Sr,mi,ma))});const gn=qe.bind(null,mi,ma);return ja.push(gn),UW(ja).then(()=>{ja=[];for(const et of K.list())ja.push(A$(et,mi,ma));return ja.push(gn),UW(ja)}).then(()=>{ja=ei0(aa,\"beforeRouteUpdate\",mi,ma);for(const et of aa)et.updateGuards.forEach(Sr=>{ja.push(A$(Sr,mi,ma))});return ja.push(gn),UW(ja)}).then(()=>{ja=[];for(const et of mi.matched)if(et.beforeEnter&&!ma.matched.includes(et))if(Array.isArray(et.beforeEnter))for(const Sr of et.beforeEnter)ja.push(A$(Sr,mi,ma));else ja.push(A$(et.beforeEnter,mi,ma));return ja.push(gn),UW(ja)}).then(()=>(mi.matched.forEach(et=>et.enterCallbacks={}),ja=ei0(Os,\"beforeRouteEnter\",mi,ma),ja.push(gn),UW(ja))).then(()=>{ja=[];for(const et of s0.list())ja.push(A$(et,mi,ma));return ja.push(gn),UW(ja)}).catch(et=>F$(et,8)?et:Promise.reject(et))}function Ct(mi,ma,ja){for(const Ua of Y.list())Ua(mi,ma,ja)}function vn(mi,ma,ja,Ua,aa){const Os=ux(mi,ma);if(Os)return Os;const gn=ma===sV,et=LW?history.state:{};ja&&(Ua||gn?R.replace(mi.fullPath,Z5({scroll:gn&&et&&et.scroll},aa)):R.push(mi.fullPath,aa)),F0.value=mi,Bu(mi,ma,ja,gn),Qn()}let _n;function Tr(){_n=R.listen((mi,ma,ja)=>{const Ua=i1(mi),aa=Gx(Ua);if(aa){ve(Z5(aa,{replace:!0}),Ua).catch(tH);return}J0=Ua;const Os=F0.value;LW&&Yyx(F_0(Os.fullPath,ja.delta),OZ()),Jt(Ua,Os).catch(gn=>F$(gn,4|8)?gn:F$(gn,2)?(ve(gn.to,Ua).then(et=>{F$(et,4|16)&&!ja.delta&&ja.type===RW.pop&&R.go(-1,!1)}).catch(tH),Promise.reject()):(ja.delta&&R.go(-ja.delta,!1),cr(gn,Ua,Os))).then(gn=>{gn=gn||vn(Ua,Os,!1),gn&&(ja.delta?R.go(-ja.delta,!1):ja.type===RW.pop&&F$(gn,4|16)&&R.go(-1,!1)),Ct(Ua,Os,gn)}).catch(tH)})}let Lr=rH(),Pn=rH(),En;function cr(mi,ma,ja){Qn(mi);const Ua=Pn.list();return Ua.length?Ua.forEach(aa=>aa(mi,ma,ja)):console.error(mi),Promise.reject(mi)}function Ea(){return En&&F0.value!==sV?Promise.resolve():new Promise((mi,ma)=>{Lr.add([mi,ma])})}function Qn(mi){En||(En=!0,Tr(),Lr.list().forEach(([ma,ja])=>mi?ja(mi):ma()),Lr.reset())}function Bu(mi,ma,ja,Ua){const{scrollBehavior:aa}=a;if(!LW||!aa)return Promise.resolve();const Os=!ja&&Qyx(F_0(mi.fullPath,0))||(Ua||!ja)&&history.state&&history.state.scroll||null;return Yk().then(()=>aa(mi,ma,Os)).then(gn=>gn&&Xyx(gn)).catch(gn=>cr(gn,mi,ma))}const Au=mi=>R.go(mi);let Ec;const kn=new Set;return{currentRoute:F0,addRoute:F1,removeRoute:a1,hasRoute:W0,getRoutes:D1,resolve:i1,options:a,push:K1,replace:ee,go:Au,back:()=>Au(-1),forward:()=>Au(1),beforeEach:K.add,beforeResolve:s0.add,afterEach:Y.add,onError:Pn.add,isReady:Ea,install(mi){const ma=this;mi.component(\"RouterLink\",K_0),mi.component(\"RouterView\",J_0),mi.config.globalProperties.$router=ma,Object.defineProperty(mi.config.globalProperties,\"$route\",{enumerable:!0,get:()=>O8(F0)}),LW&&!Ec&&F0.value===sV&&(Ec=!0,K1(R.location).catch(aa=>{}));const ja={};for(const aa in sV)ja[aa]=Sp(()=>F0.value[aa]);mi.provide(eH,ma),mi.provide(PZ,_B(ja)),mi.provide(IZ,F0);const Ua=mi.unmount;kn.add(mi),mi.unmount=function(){kn.delete(mi),kn.size<1&&(J0=sV,_n&&_n(),F0.value=sV,Ec=!1,En=!1),Ua()}}}}function UW(a){return a.reduce((u,c)=>u.then(()=>c()),Promise.resolve())}function UDx(a,u){const c=[],b=[],R=[],K=Math.max(u.matched.length,a.matched.length);for(let s0=0;s0<K;s0++){const Y=u.matched[s0];Y&&(a.matched.find(J0=>MW(J0,Y))?b.push(Y):c.push(Y));const F0=a.matched[s0];F0&&(u.matched.find(J0=>MW(J0,F0))||R.push(F0))}return[c,b,R]}function VDx(){return o4(eH)}function $Dx(){return o4(PZ)}var Fwx=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",get NavigationFailureType(){return Yn0},RouterLink:K_0,RouterView:J_0,START_LOCATION:sV,createMemoryHistory:tDx,createRouter:jDx,createRouterMatcher:I_0,createWebHashHistory:rDx,createWebHistory:w_0,isNavigationFailure:F$,matchedRouteKey:NZ,onBeforeRouteLeave:PDx,onBeforeRouteUpdate:IDx,parseQuery:V_0,routeLocationKey:PZ,routerKey:eH,routerViewLocationKey:IZ,stringifyQuery:xi0,useLink:ti0,useRoute:$Dx,useRouter:VDx,viewDepthKey:qn0}),H_0=!1;/*!\n  * pinia v2.0.4\n  * (c) 2021 Eduardo San Martin Morote\n  * @license MIT\n  */let ri0;const VW=a=>ri0=a,KDx=()=>BL()&&o4(LZ)||ri0,LZ=Symbol();function ni0(a){return a&&typeof a==\"object\"&&Object.prototype.toString.call(a)===\"[object Object]\"&&typeof a.toJSON!=\"function\"}var $W;(function(a){a.direct=\"direct\",a.patchObject=\"patch object\",a.patchFunction=\"patch function\"})($W||($W={}));const zDx=typeof window!=\"undefined\";function WDx(){const a=Br0(!0),u=a.run(()=>n2({}));let c=[],b=[];const R=tz({install(K){VW(R),R._a=K,K.provide(LZ,R),K.config.globalProperties.$pinia=R,b.forEach(s0=>c.push(s0)),b=[]},use(K){return!this._a&&!H_0?b.push(K):c.push(K),this},_p:c,_a:null,_e:a,_s:new Map,state:u});return R}const qDx=a=>typeof a==\"function\"&&typeof a.$id==\"string\";function JDx(a,u){return c=>{const b=u.data.pinia||a._pinia;if(!!b){u.data.pinia=b;for(const R in c){const K=c[R];if(qDx(K)&&b._s.has(K.$id)){const s0=K.$id;if(s0!==a.$id)return console.warn(`The id of the store changed from \"${a.$id}\" to \"${s0}\". Reloading.`),u.invalidate();const Y=b._s.get(s0);if(!Y){console.log(\"skipping hmr because store doesn't exist yet\");return}K(b,Y)}}}}}function G_0(a,u,c){a.push(u);const b=()=>{const R=a.indexOf(u);R>-1&&a.splice(R,1)};return!c&&BL()&&xN(b),b}function X_0(a,...u){a.forEach(c=>{c(...u)})}function ii0(a,u){for(const c in u){const b=u[c],R=a[c];ni0(R)&&ni0(b)&&!jw(b)&&!eR(b)?a[c]=ii0(R,b):a[c]=b}return a}const Y_0=Symbol(),HDx=new WeakMap;function GDx(a){return H_0?HDx.set(a,1)&&a:Object.defineProperty(a,Y_0,{})}function XDx(a){return!ni0(a)||!a.hasOwnProperty(Y_0)}const{assign:T$}=Object;function YDx(a){return!!(jw(a)&&a.effect)}function QDx(a,u,c,b){const{state:R,actions:K,getters:s0}=u,Y=c.state.value[a];let F0;function J0(){Y||(c.state.value[a]=R?R():{});const e1=lh0(c.state.value[a]);return T$(e1,K,Object.keys(s0||{}).reduce((t1,r1)=>(t1[r1]=tz(Sp(()=>{VW(c);const F1=c._s.get(a);return s0[r1].call(F1,F1)})),t1),{}))}return F0=Q_0(a,J0,u,c),F0.$reset=function(){const t1=R?R():{};this.$patch(r1=>{T$(r1,t1)})},F0}const ai0=()=>{};function Q_0(a,u,c={},b,R){let K;const s0=c.state,Y=T$({actions:{}},c),F0={deep:!0};let J0,e1=tz([]),t1=tz([]),r1;const F1=b.state.value[a];!s0&&!F1&&(b.state.value[a]={}),n2({});function a1(ee){let Gx;J0=!1,typeof ee==\"function\"?(ee(b.state.value[a]),Gx={type:$W.patchFunction,storeId:a,events:r1}):(ii0(b.state.value[a],ee),Gx={type:$W.patchObject,payload:ee,storeId:a,events:r1}),J0=!0,X_0(e1,Gx,b.state.value[a])}const D1=ai0;function W0(){K.stop(),e1=[],t1=[],b._s.delete(a)}function i1(ee,Gx){return function(){VW(b);const ve=Array.from(arguments);let qe=ai0,Jt=ai0;function Ct(Lr){qe=Lr}function vn(Lr){Jt=Lr}X_0(t1,{args:ve,name:ee,store:ux,after:Ct,onError:vn});let _n;try{_n=Gx.apply(this&&this.$id===a?this:ux,ve)}catch(Lr){if(Jt(Lr)!==!1)throw Lr}if(_n instanceof Promise)return _n.then(Lr=>{const Pn=qe(Lr);return Pn===void 0?Lr:Pn}).catch(Lr=>{if(Jt(Lr)!==!1)return Promise.reject(Lr)});const Tr=qe(_n);return Tr===void 0?_n:Tr}}const x1={_p:b,$id:a,$onAction:G_0.bind(null,t1),$patch:a1,$reset:D1,$subscribe(ee,Gx={}){const ve=G_0(e1,ee,Gx.detached),qe=K.run(()=>oP(()=>b.state.value[a],Ct=>{J0&&ee({storeId:a,type:$W.direct,events:r1},Ct)},T$({},F0,Gx)));return()=>{qe(),ve()}},$dispose:W0},ux=_B(T$({},x1));b._s.set(a,ux);const K1=b._e.run(()=>(K=Br0(),K.run(()=>u())));for(const ee in K1){const Gx=K1[ee];if(jw(Gx)&&!YDx(Gx)||eR(Gx))s0||(F1&&XDx(Gx)&&(jw(Gx)?Gx.value=F1[ee]:ii0(Gx,F1[ee])),b.state.value[a][ee]=Gx);else if(typeof Gx==\"function\"){const ve=i1(ee,Gx);K1[ee]=ve,Y.actions[ee]=Gx}}return T$(ux,K1),Object.defineProperty(ux,\"$state\",{get:()=>b.state.value[a],set:ee=>{a1(Gx=>{T$(Gx,ee)})}}),b._p.forEach(ee=>{T$(ux,K.run(()=>ee({store:ux,app:b._a,pinia:b,options:Y})))}),F1&&s0&&c.hydrate&&c.hydrate(ux.$state,F1),J0=!0,ux}function ZDx(a,u,c){let b,R;const K=typeof u==\"function\";typeof a==\"string\"?(b=a,R=K?c:u):(R=a,b=a.id);function s0(Y,F0){const J0=BL();return Y=Y||J0&&o4(LZ),Y&&VW(Y),Y=ri0,Y._s.has(b)||(K?Q_0(b,u,R,Y):QDx(b,R,Y)),Y._s.get(b)}return s0.$id=b,s0}let Z_0=\"Store\";function xvx(a){Z_0=a}function evx(...a){return a.reduce((u,c)=>(u[c.$id+Z_0]=function(){return c(this.$pinia)},u),{})}function xy0(a,u){return Array.isArray(u)?u.reduce((c,b)=>(c[b]=function(){return a(this.$pinia)[b]},c),{}):Object.keys(u).reduce((c,b)=>(c[b]=function(){const R=a(this.$pinia),K=u[b];return typeof K==\"function\"?K.call(this,R):R[K]},c),{})}const tvx=xy0;function rvx(a,u){return Array.isArray(u)?u.reduce((c,b)=>(c[b]=function(...R){return a(this.$pinia)[b](...R)},c),{}):Object.keys(u).reduce((c,b)=>(c[b]=function(...R){return a(this.$pinia)[u[b]](...R)},c),{})}function nvx(a,u){return Array.isArray(u)?u.reduce((c,b)=>(c[b]={get(){return a(this.$pinia)[b]},set(R){return a(this.$pinia)[b]=R}},c),{}):Object.keys(u).reduce((c,b)=>(c[b]={get(){return a(this.$pinia)[u[b]]},set(R){return a(this.$pinia)[u[b]]=R}},c),{})}function ivx(a){a=CS(a);const u={};for(const c in a){const b=a[c];(jw(b)||eR(b))&&(u[c]=Gr0(a,c))}return u}const avx=function(a){a.mixin({beforeCreate(){const u=this.$options;if(u.pinia){const c=u.pinia;if(!this._provided){const b={};Object.defineProperty(this,\"_provided\",{get:()=>b,set:R=>Object.assign(b,R)})}this._provided[LZ]=c,this.$pinia||(this.$pinia=c),c._a=this,zDx&&VW(c)}else!this.$pinia&&u.parent&&u.parent.$pinia&&(this.$pinia=u.parent.$pinia)},destroyed(){delete this._pStores}})};var Awx=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",get MutationType(){return $W},PiniaVuePlugin:avx,acceptHMRUpdate:JDx,createPinia:WDx,defineStore:ZDx,getActivePinia:KDx,mapActions:rvx,mapGetters:tvx,mapState:xy0,mapStores:evx,mapWritableState:nvx,setActivePinia:VW,setMapStoreSuffix:xvx,skipHydrate:GDx,storeToRefs:ivx}),oi0={exports:{}};/**\n * @license\n * Lodash <https://lodash.com/>\n * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */(function(a,u){(function(){var c,b=\"4.17.21\",R=200,K=\"Unsupported core-js use. Try https://npms.io/search?q=ponyfill.\",s0=\"Expected a function\",Y=\"Invalid `variable` option passed into `_.template`\",F0=\"__lodash_hash_undefined__\",J0=500,e1=\"__lodash_placeholder__\",t1=1,r1=2,F1=4,a1=1,D1=2,W0=1,i1=2,x1=4,ux=8,K1=16,ee=32,Gx=64,ve=128,qe=256,Jt=512,Ct=30,vn=\"...\",_n=800,Tr=16,Lr=1,Pn=2,En=3,cr=1/0,Ea=9007199254740991,Qn=17976931348623157e292,Bu=0/0,Au=4294967295,Ec=Au-1,kn=Au>>>1,pu=[[\"ary\",ve],[\"bind\",W0],[\"bindKey\",i1],[\"curry\",ux],[\"curryRight\",K1],[\"flip\",Jt],[\"partial\",ee],[\"partialRight\",Gx],[\"rearg\",qe]],mi=\"[object Arguments]\",ma=\"[object Array]\",ja=\"[object AsyncFunction]\",Ua=\"[object Boolean]\",aa=\"[object Date]\",Os=\"[object DOMException]\",gn=\"[object Error]\",et=\"[object Function]\",Sr=\"[object GeneratorFunction]\",un=\"[object Map]\",jn=\"[object Number]\",ea=\"[object Null]\",wa=\"[object Object]\",as=\"[object Promise]\",zo=\"[object Proxy]\",vo=\"[object RegExp]\",vi=\"[object Set]\",jr=\"[object String]\",Hn=\"[object Symbol]\",wi=\"[object Undefined]\",jo=\"[object WeakMap]\",bs=\"[object WeakSet]\",Ha=\"[object ArrayBuffer]\",qn=\"[object DataView]\",Ki=\"[object Float32Array]\",es=\"[object Float64Array]\",Ns=\"[object Int8Array]\",ju=\"[object Int16Array]\",Tc=\"[object Int32Array]\",bu=\"[object Uint8Array]\",mc=\"[object Uint8ClampedArray]\",vc=\"[object Uint16Array]\",Lc=\"[object Uint32Array]\",i2=/\\b__p \\+= '';/g,su=/\\b(__p \\+=) '' \\+/g,T2=/(__e\\(.*?\\)|\\b__t\\)) \\+\\n'';/g,Cu=/&(?:amp|lt|gt|quot|#39);/g,mr=/[&<>\"']/g,Dn=RegExp(Cu.source),ki=RegExp(mr.source),us=/<%-([\\s\\S]+?)%>/g,ac=/<%([\\s\\S]+?)%>/g,_s=/<%=([\\s\\S]+?)%>/g,cf=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,Df=/^\\w*$/,gp=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g,_2=/[\\\\^$.*+?()[\\]{}|]/g,c_=RegExp(_2.source),pC=/^\\s+/,c8=/\\s/,VE=/\\{(?:\\n\\/\\* \\[wrapped with .+\\] \\*\\/)?\\n?/,S8=/\\{\\n\\/\\* \\[wrapped with (.+)\\] \\*/,c4=/,? & /,BS=/[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g,ES=/[()=,{}\\[\\]\\/\\s]/,fS=/\\\\(\\\\)?/g,DF=/\\$\\{([^\\\\}]*(?:\\\\.[^\\\\}]*)*)\\}/g,D8=/\\w*$/,v8=/^[-+]0x[0-9a-f]+$/i,pS=/^0b[01]+$/i,l4=/^\\[object .+?Constructor\\]$/,KF=/^0o[0-7]+$/i,f4=/^(?:0|[1-9]\\d*)$/,$E=/[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g,t6=/($^)/,vF=/['\\n\\r\\u2028\\u2029\\\\]/g,fF=\"\\\\ud800-\\\\udfff\",tS=\"\\\\u0300-\\\\u036f\",z6=\"\\\\ufe20-\\\\ufe2f\",LS=\"\\\\u20d0-\\\\u20ff\",B8=tS+z6+LS,MS=\"\\\\u2700-\\\\u27bf\",rT=\"a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff\",bF=\"\\\\xac\\\\xb1\\\\xd7\\\\xf7\",nT=\"\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf\",RT=\"\\\\u2000-\\\\u206f\",UA=\" \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000\",_5=\"A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde\",VA=\"\\\\ufe0e\\\\ufe0f\",ST=bF+nT+RT+UA,ZT=\"['\\u2019]\",Kw=\"[\"+fF+\"]\",y5=\"[\"+ST+\"]\",P4=\"[\"+B8+\"]\",fA=\"\\\\d+\",H8=\"[\"+MS+\"]\",pA=\"[\"+rT+\"]\",qS=\"[^\"+fF+ST+fA+MS+rT+_5+\"]\",W6=\"\\\\ud83c[\\\\udffb-\\\\udfff]\",D5=\"(?:\"+P4+\"|\"+W6+\")\",$A=\"[^\"+fF+\"]\",J4=\"(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}\",dA=\"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\",CF=\"[\"+_5+\"]\",FT=\"\\\\u200d\",mA=\"(?:\"+pA+\"|\"+qS+\")\",v5=\"(?:\"+CF+\"|\"+qS+\")\",KA=\"(?:\"+ZT+\"(?:d|ll|m|re|s|t|ve))?\",vw=\"(?:\"+ZT+\"(?:D|LL|M|RE|S|T|VE))?\",p4=D5+\"?\",x5=\"[\"+VA+\"]?\",e5=\"(?:\"+FT+\"(?:\"+[$A,J4,dA].join(\"|\")+\")\"+x5+p4+\")*\",jT=\"\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])\",_6=\"\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])\",q6=x5+p4+e5,JS=\"(?:\"+[H8,J4,dA].join(\"|\")+\")\"+q6,eg=\"(?:\"+[$A+P4+\"?\",P4,J4,dA,Kw].join(\"|\")+\")\",L8=RegExp(ZT,\"g\"),J6=RegExp(P4,\"g\"),cm=RegExp(W6+\"(?=\"+W6+\")|\"+eg+q6,\"g\"),l8=RegExp([CF+\"?\"+pA+\"+\"+KA+\"(?=\"+[y5,CF,\"$\"].join(\"|\")+\")\",v5+\"+\"+vw+\"(?=\"+[y5,CF+mA,\"$\"].join(\"|\")+\")\",CF+\"?\"+mA+\"+\"+KA,CF+\"+\"+vw,_6,jT,fA,JS].join(\"|\"),\"g\"),S6=RegExp(\"[\"+FT+fF+B8+VA+\"]\"),Pg=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Py=[\"Array\",\"Buffer\",\"DataView\",\"Date\",\"Error\",\"Float32Array\",\"Float64Array\",\"Function\",\"Int8Array\",\"Int16Array\",\"Int32Array\",\"Map\",\"Math\",\"Object\",\"Promise\",\"RegExp\",\"Set\",\"String\",\"Symbol\",\"TypeError\",\"Uint8Array\",\"Uint8ClampedArray\",\"Uint16Array\",\"Uint32Array\",\"WeakMap\",\"_\",\"clearTimeout\",\"isFinite\",\"parseInt\",\"setTimeout\"],F6=-1,tg={};tg[Ki]=tg[es]=tg[Ns]=tg[ju]=tg[Tc]=tg[bu]=tg[mc]=tg[vc]=tg[Lc]=!0,tg[mi]=tg[ma]=tg[Ha]=tg[Ua]=tg[qn]=tg[aa]=tg[gn]=tg[et]=tg[un]=tg[jn]=tg[wa]=tg[vo]=tg[vi]=tg[jr]=tg[jo]=!1;var u3={};u3[mi]=u3[ma]=u3[Ha]=u3[qn]=u3[Ua]=u3[aa]=u3[Ki]=u3[es]=u3[Ns]=u3[ju]=u3[Tc]=u3[un]=u3[jn]=u3[wa]=u3[vo]=u3[vi]=u3[jr]=u3[Hn]=u3[bu]=u3[mc]=u3[vc]=u3[Lc]=!0,u3[gn]=u3[et]=u3[jo]=!1;var iT={\\u00C0:\"A\",\\u00C1:\"A\",\\u00C2:\"A\",\\u00C3:\"A\",\\u00C4:\"A\",\\u00C5:\"A\",\\u00E0:\"a\",\\u00E1:\"a\",\\u00E2:\"a\",\\u00E3:\"a\",\\u00E4:\"a\",\\u00E5:\"a\",\\u00C7:\"C\",\\u00E7:\"c\",\\u00D0:\"D\",\\u00F0:\"d\",\\u00C8:\"E\",\\u00C9:\"E\",\\u00CA:\"E\",\\u00CB:\"E\",\\u00E8:\"e\",\\u00E9:\"e\",\\u00EA:\"e\",\\u00EB:\"e\",\\u00CC:\"I\",\\u00CD:\"I\",\\u00CE:\"I\",\\u00CF:\"I\",\\u00EC:\"i\",\\u00ED:\"i\",\\u00EE:\"i\",\\u00EF:\"i\",\\u00D1:\"N\",\\u00F1:\"n\",\\u00D2:\"O\",\\u00D3:\"O\",\\u00D4:\"O\",\\u00D5:\"O\",\\u00D6:\"O\",\\u00D8:\"O\",\\u00F2:\"o\",\\u00F3:\"o\",\\u00F4:\"o\",\\u00F5:\"o\",\\u00F6:\"o\",\\u00F8:\"o\",\\u00D9:\"U\",\\u00DA:\"U\",\\u00DB:\"U\",\\u00DC:\"U\",\\u00F9:\"u\",\\u00FA:\"u\",\\u00FB:\"u\",\\u00FC:\"u\",\\u00DD:\"Y\",\\u00FD:\"y\",\\u00FF:\"y\",\\u00C6:\"Ae\",\\u00E6:\"ae\",\\u00DE:\"Th\",\\u00FE:\"th\",\\u00DF:\"ss\",\\u0100:\"A\",\\u0102:\"A\",\\u0104:\"A\",\\u0101:\"a\",\\u0103:\"a\",\\u0105:\"a\",\\u0106:\"C\",\\u0108:\"C\",\\u010A:\"C\",\\u010C:\"C\",\\u0107:\"c\",\\u0109:\"c\",\\u010B:\"c\",\\u010D:\"c\",\\u010E:\"D\",\\u0110:\"D\",\\u010F:\"d\",\\u0111:\"d\",\\u0112:\"E\",\\u0114:\"E\",\\u0116:\"E\",\\u0118:\"E\",\\u011A:\"E\",\\u0113:\"e\",\\u0115:\"e\",\\u0117:\"e\",\\u0119:\"e\",\\u011B:\"e\",\\u011C:\"G\",\\u011E:\"G\",\\u0120:\"G\",\\u0122:\"G\",\\u011D:\"g\",\\u011F:\"g\",\\u0121:\"g\",\\u0123:\"g\",\\u0124:\"H\",\\u0126:\"H\",\\u0125:\"h\",\\u0127:\"h\",\\u0128:\"I\",\\u012A:\"I\",\\u012C:\"I\",\\u012E:\"I\",\\u0130:\"I\",\\u0129:\"i\",\\u012B:\"i\",\\u012D:\"i\",\\u012F:\"i\",\\u0131:\"i\",\\u0134:\"J\",\\u0135:\"j\",\\u0136:\"K\",\\u0137:\"k\",\\u0138:\"k\",\\u0139:\"L\",\\u013B:\"L\",\\u013D:\"L\",\\u013F:\"L\",\\u0141:\"L\",\\u013A:\"l\",\\u013C:\"l\",\\u013E:\"l\",\\u0140:\"l\",\\u0142:\"l\",\\u0143:\"N\",\\u0145:\"N\",\\u0147:\"N\",\\u014A:\"N\",\\u0144:\"n\",\\u0146:\"n\",\\u0148:\"n\",\\u014B:\"n\",\\u014C:\"O\",\\u014E:\"O\",\\u0150:\"O\",\\u014D:\"o\",\\u014F:\"o\",\\u0151:\"o\",\\u0154:\"R\",\\u0156:\"R\",\\u0158:\"R\",\\u0155:\"r\",\\u0157:\"r\",\\u0159:\"r\",\\u015A:\"S\",\\u015C:\"S\",\\u015E:\"S\",\\u0160:\"S\",\\u015B:\"s\",\\u015D:\"s\",\\u015F:\"s\",\\u0161:\"s\",\\u0162:\"T\",\\u0164:\"T\",\\u0166:\"T\",\\u0163:\"t\",\\u0165:\"t\",\\u0167:\"t\",\\u0168:\"U\",\\u016A:\"U\",\\u016C:\"U\",\\u016E:\"U\",\\u0170:\"U\",\\u0172:\"U\",\\u0169:\"u\",\\u016B:\"u\",\\u016D:\"u\",\\u016F:\"u\",\\u0171:\"u\",\\u0173:\"u\",\\u0174:\"W\",\\u0175:\"w\",\\u0176:\"Y\",\\u0177:\"y\",\\u0178:\"Y\",\\u0179:\"Z\",\\u017B:\"Z\",\\u017D:\"Z\",\\u017A:\"z\",\\u017C:\"z\",\\u017E:\"z\",\\u0132:\"IJ\",\\u0133:\"ij\",\\u0152:\"Oe\",\\u0153:\"oe\",\\u0149:\"'n\",\\u017F:\"s\"},HS={\"&\":\"&amp;\",\"<\":\"&lt;\",\">\":\"&gt;\",'\"':\"&quot;\",\"'\":\"&#39;\"},H6={\"&amp;\":\"&\",\"&lt;\":\"<\",\"&gt;\":\">\",\"&quot;\":'\"',\"&#39;\":\"'\"},j5={\"\\\\\":\"\\\\\",\"'\":\"'\",\"\\n\":\"n\",\"\\r\":\"r\",\"\\u2028\":\"u2028\",\"\\u2029\":\"u2029\"},t5=parseFloat,bw=parseInt,U5=typeof $F==\"object\"&&$F&&$F.Object===Object&&$F,d4=typeof self==\"object\"&&self&&self.Object===Object&&self,pF=U5||d4||Function(\"return this\")(),EF=u&&!u.nodeType&&u,A6=EF&&!0&&a&&!a.nodeType&&a,r5=A6&&A6.exports===EF,m4=r5&&U5.process,Lu=function(){try{var _a=A6&&A6.require&&A6.require(\"util\").types;return _a||m4&&m4.binding&&m4.binding(\"util\")}catch{}}(),Ig=Lu&&Lu.isArrayBuffer,hA=Lu&&Lu.isDate,RS=Lu&&Lu.isMap,H4=Lu&&Lu.isRegExp,I4=Lu&&Lu.isSet,GS=Lu&&Lu.isTypedArray;function SS(_a,$o,To){switch(To.length){case 0:return _a.call($o);case 1:return _a.call($o,To[0]);case 2:return _a.call($o,To[0],To[1]);case 3:return _a.call($o,To[0],To[1],To[2])}return _a.apply($o,To)}function rS(_a,$o,To,Qc){for(var od=-1,_p=_a==null?0:_a.length;++od<_p;){var F8=_a[od];$o(Qc,F8,To(F8),_a)}return Qc}function T6(_a,$o){for(var To=-1,Qc=_a==null?0:_a.length;++To<Qc&&$o(_a[To],To,_a)!==!1;);return _a}function dS(_a,$o){for(var To=_a==null?0:_a.length;To--&&$o(_a[To],To,_a)!==!1;);return _a}function w6(_a,$o){for(var To=-1,Qc=_a==null?0:_a.length;++To<Qc;)if(!$o(_a[To],To,_a))return!1;return!0}function vb(_a,$o){for(var To=-1,Qc=_a==null?0:_a.length,od=0,_p=[];++To<Qc;){var F8=_a[To];$o(F8,To,_a)&&(_p[od++]=F8)}return _p}function Rh(_a,$o){var To=_a==null?0:_a.length;return!!To&&lm(_a,$o,0)>-1}function Wf(_a,$o,To){for(var Qc=-1,od=_a==null?0:_a.length;++Qc<od;)if(To($o,_a[Qc]))return!0;return!1}function Fp(_a,$o){for(var To=-1,Qc=_a==null?0:_a.length,od=Array(Qc);++To<Qc;)od[To]=$o(_a[To],To,_a);return od}function ZC(_a,$o){for(var To=-1,Qc=$o.length,od=_a.length;++To<Qc;)_a[od+To]=$o[To];return _a}function zA(_a,$o,To,Qc){var od=-1,_p=_a==null?0:_a.length;for(Qc&&_p&&(To=_a[++od]);++od<_p;)To=$o(To,_a[od],od,_a);return To}function zF(_a,$o,To,Qc){var od=_a==null?0:_a.length;for(Qc&&od&&(To=_a[--od]);od--;)To=$o(To,_a[od],od,_a);return To}function WF(_a,$o){for(var To=-1,Qc=_a==null?0:_a.length;++To<Qc;)if($o(_a[To],To,_a))return!0;return!1}var l_=G4(\"length\");function xE(_a){return _a.split(\"\")}function r6(_a){return _a.match(BS)||[]}function M8(_a,$o,To){var Qc;return To(_a,function(od,_p,F8){if($o(od,_p,F8))return Qc=_p,!1}),Qc}function KE(_a,$o,To,Qc){for(var od=_a.length,_p=To+(Qc?1:-1);Qc?_p--:++_p<od;)if($o(_a[_p],_p,_a))return _p;return-1}function lm(_a,$o,To){return $o===$o?$T(_a,$o,To):KE(_a,aT,To)}function mS(_a,$o,To,Qc){for(var od=To-1,_p=_a.length;++od<_p;)if(Qc(_a[od],$o))return od;return-1}function aT(_a){return _a!==_a}function h4(_a,$o){var To=_a==null?0:_a.length;return To?oT(_a,$o)/To:Bu}function G4(_a){return function($o){return $o==null?c:$o[_a]}}function k6(_a){return function($o){return _a==null?c:_a[$o]}}function xw(_a,$o,To,Qc,od){return od(_a,function(_p,F8,rg){To=Qc?(Qc=!1,_p):$o(To,_p,F8,rg)}),To}function UT(_a,$o){var To=_a.length;for(_a.sort($o);To--;)_a[To]=_a[To].value;return _a}function oT(_a,$o){for(var To,Qc=-1,od=_a.length;++Qc<od;){var _p=$o(_a[Qc]);_p!==c&&(To=To===c?_p:To+_p)}return To}function G8(_a,$o){for(var To=-1,Qc=Array(_a);++To<_a;)Qc[To]=$o(To);return Qc}function y6(_a,$o){return Fp($o,function(To){return[To,_a[To]]})}function nS(_a){return _a&&_a.slice(0,hS(_a)+1).replace(pC,\"\")}function jD(_a){return function($o){return _a($o)}}function X4(_a,$o){return Fp($o,function(To){return _a[To]})}function SF(_a,$o){return _a.has($o)}function ad(_a,$o){for(var To=-1,Qc=_a.length;++To<Qc&&lm($o,_a[To],0)>-1;);return To}function XS(_a,$o){for(var To=_a.length;To--&&lm($o,_a[To],0)>-1;);return To}function X8(_a,$o){for(var To=_a.length,Qc=0;To--;)_a[To]===$o&&++Qc;return Qc}var gA=k6(iT),VT=k6(HS);function YS(_a){return\"\\\\\"+j5[_a]}function _A(_a,$o){return _a==null?c:_a[$o]}function QS(_a){return S6.test(_a)}function qF(_a){return Pg.test(_a)}function jS(_a){for(var $o,To=[];!($o=_a.next()).done;)To.push($o.value);return To}function zE(_a){var $o=-1,To=Array(_a.size);return _a.forEach(function(Qc,od){To[++$o]=[od,Qc]}),To}function n6(_a,$o){return function(To){return _a($o(To))}}function iS(_a,$o){for(var To=-1,Qc=_a.length,od=0,_p=[];++To<Qc;){var F8=_a[To];(F8===$o||F8===e1)&&(_a[To]=e1,_p[od++]=To)}return _p}function p6(_a){var $o=-1,To=Array(_a.size);return _a.forEach(function(Qc){To[++$o]=Qc}),To}function O4(_a){var $o=-1,To=Array(_a.size);return _a.forEach(function(Qc){To[++$o]=[Qc,Qc]}),To}function $T(_a,$o,To){for(var Qc=To-1,od=_a.length;++Qc<od;)if(_a[Qc]===$o)return Qc;return-1}function FF(_a,$o,To){for(var Qc=To+1;Qc--;)if(_a[Qc]===$o)return Qc;return Qc}function AF(_a){return QS(_a)?JF(_a):l_(_a)}function Y8(_a){return QS(_a)?eE(_a):xE(_a)}function hS(_a){for(var $o=_a.length;$o--&&c8.test(_a.charAt($o)););return $o}var yA=k6(H6);function JF(_a){for(var $o=cm.lastIndex=0;cm.test(_a);)++$o;return $o}function eE(_a){return _a.match(cm)||[]}function ew(_a){return _a.match(l8)||[]}var b5=function _a($o){$o=$o==null?pF:DA.defaults(pF.Object(),$o,DA.pick(pF,Py));var To=$o.Array,Qc=$o.Date,od=$o.Error,_p=$o.Function,F8=$o.Math,rg=$o.Object,Y4=$o.RegExp,ZS=$o.String,A8=$o.TypeError,WE=To.prototype,R8=_p.prototype,gS=rg.prototype,N6=$o[\"__core-js_shared__\"],g4=R8.toString,f_=gS.hasOwnProperty,TF=0,G6=function(){var B=/[^.]+$/.exec(N6&&N6.keys&&N6.keys.IE_PROTO||\"\");return B?\"Symbol(src)_1.\"+B:\"\"}(),$2=gS.toString,b8=g4.call(rg),vA=pF._,n5=Y4(\"^\"+g4.call(f_).replace(_2,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\"),bb=r5?$o.Buffer:c,P6=$o.Symbol,i6=$o.Uint8Array,wF=bb?bb.allocUnsafe:c,I6=n6(rg.getPrototypeOf,rg),sd=rg.create,HF=gS.propertyIsEnumerable,aS=WE.splice,B4=P6?P6.isConcatSpreadable:c,Ux=P6?P6.iterator:c,ue=P6?P6.toStringTag:c,Xe=function(){try{var B=Nl(rg,\"defineProperty\");return B({},\"\",{}),B}catch{}}(),Ht=$o.clearTimeout!==pF.clearTimeout&&$o.clearTimeout,le=Qc&&Qc.now!==pF.Date.now&&Qc.now,hr=$o.setTimeout!==pF.setTimeout&&$o.setTimeout,pr=F8.ceil,lt=F8.floor,Qr=rg.getOwnPropertySymbols,Wi=bb?bb.isBuffer:c,Io=$o.isFinite,Uo=WE.join,sa=n6(rg.keys,rg),fn=F8.max,Gn=F8.min,Ti=Qc.now,Eo=$o.parseInt,qo=F8.random,ci=WE.reverse,os=Nl($o,\"DataView\"),$s=Nl($o,\"Map\"),Po=Nl($o,\"Promise\"),Dr=Nl($o,\"Set\"),Nm=Nl($o,\"WeakMap\"),Og=Nl(rg,\"create\"),Bg=Nm&&new Nm,_S={},f8=d(os),Lx=d($s),q1=d(Po),Qx=d(Dr),Be=d(Nm),St=P6?P6.prototype:c,_r=St?St.valueOf:c,gi=St?St.toString:c;function je(B){if(AA(B)&&!Uc(B)&&!(B instanceof to)){if(B instanceof ss)return B;if(f_.call(B,\"__wrapped__\"))return C0(B)}return new ss(B)}var Gu=function(){function B(){}return function(h0){if(!WA(h0))return{};if(sd)return sd(h0);B.prototype=h0;var M=new B;return B.prototype=c,M}}();function io(){}function ss(B,h0){this.__wrapped__=B,this.__actions__=[],this.__chain__=!!h0,this.__index__=0,this.__values__=c}je.templateSettings={escape:us,evaluate:ac,interpolate:_s,variable:\"\",imports:{_:je}},je.prototype=io.prototype,je.prototype.constructor=je,ss.prototype=Gu(io.prototype),ss.prototype.constructor=ss;function to(B){this.__wrapped__=B,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=Au,this.__views__=[]}function Ma(){var B=new to(this.__wrapped__);return B.__actions__=$8(this.__actions__),B.__dir__=this.__dir__,B.__filtered__=this.__filtered__,B.__iteratees__=$8(this.__iteratees__),B.__takeCount__=this.__takeCount__,B.__views__=$8(this.__views__),B}function Ks(){if(this.__filtered__){var B=new to(this);B.__dir__=-1,B.__filtered__=!0}else B=this.clone(),B.__dir__*=-1;return B}function Qa(){var B=this.__wrapped__.value(),h0=this.__dir__,M=Uc(B),X0=h0<0,l1=M?B.length:0,Hx=Id(0,l1,this.__views__),ge=Hx.start,Pe=Hx.end,It=Pe-ge,Kr=X0?Pe:ge-1,pn=this.__iteratees__,rn=pn.length,_t=0,Ii=Gn(It,this.__takeCount__);if(!M||!X0&&l1==It&&Ii==It)return xs(B,this.__actions__);var Mn=[];x:for(;It--&&_t<Ii;){Kr+=h0;for(var Ka=-1,fe=B[Kr];++Ka<rn;){var Fr=pn[Ka],yt=Fr.iteratee,Fn=Fr.type,Ur=yt(fe);if(Fn==Pn)fe=Ur;else if(!Ur){if(Fn==Lr)continue x;break x}}Mn[_t++]=fe}return Mn}to.prototype=Gu(io.prototype),to.prototype.constructor=to;function Wc(B){var h0=-1,M=B==null?0:B.length;for(this.clear();++h0<M;){var X0=B[h0];this.set(X0[0],X0[1])}}function la(){this.__data__=Og?Og(null):{},this.size=0}function Af(B){var h0=this.has(B)&&delete this.__data__[B];return this.size-=h0?1:0,h0}function so(B){var h0=this.__data__;if(Og){var M=h0[B];return M===F0?c:M}return f_.call(h0,B)?h0[B]:c}function qu(B){var h0=this.__data__;return Og?h0[B]!==c:f_.call(h0,B)}function lf(B,h0){var M=this.__data__;return this.size+=this.has(B)?0:1,M[B]=Og&&h0===c?F0:h0,this}Wc.prototype.clear=la,Wc.prototype.delete=Af,Wc.prototype.get=so,Wc.prototype.has=qu,Wc.prototype.set=lf;function uu(B){var h0=-1,M=B==null?0:B.length;for(this.clear();++h0<M;){var X0=B[h0];this.set(X0[0],X0[1])}}function ud(){this.__data__=[],this.size=0}function fm(B){var h0=this.__data__,M=zw(h0,B);if(M<0)return!1;var X0=h0.length-1;return M==X0?h0.pop():aS.call(h0,M,1),--this.size,!0}function w2(B){var h0=this.__data__,M=zw(h0,B);return M<0?c:h0[M][1]}function US(B){return zw(this.__data__,B)>-1}function j8(B,h0){var M=this.__data__,X0=zw(M,B);return X0<0?(++this.size,M.push([B,h0])):M[X0][1]=h0,this}uu.prototype.clear=ud,uu.prototype.delete=fm,uu.prototype.get=w2,uu.prototype.has=US,uu.prototype.set=j8;function tE(B){var h0=-1,M=B==null?0:B.length;for(this.clear();++h0<M;){var X0=B[h0];this.set(X0[0],X0[1])}}function U8(){this.size=0,this.__data__={hash:new Wc,map:new($s||uu),string:new Wc}}function xp(B){var h0=o6(this,B).delete(B);return this.size-=h0?1:0,h0}function tw(B){return o6(this,B).get(B)}function _4(B){return o6(this,B).has(B)}function rw(B,h0){var M=o6(this,B),X0=M.size;return M.set(B,h0),this.size+=M.size==X0?0:1,this}tE.prototype.clear=U8,tE.prototype.delete=xp,tE.prototype.get=tw,tE.prototype.has=_4,tE.prototype.set=rw;function kF(B){var h0=-1,M=B==null?0:B.length;for(this.__data__=new tE;++h0<M;)this.add(B[h0])}function i5(B){return this.__data__.set(B,F0),this}function Um(B){return this.__data__.has(B)}kF.prototype.add=kF.prototype.push=i5,kF.prototype.has=Um;function Q8(B){var h0=this.__data__=new uu(B);this.size=h0.size}function bA(){this.__data__=new uu,this.size=0}function CA(B){var h0=this.__data__,M=h0.delete(B);return this.size=h0.size,M}function sT(B){return this.__data__.get(B)}function rE(B){return this.__data__.has(B)}function Z8(B,h0){var M=this.__data__;if(M instanceof uu){var X0=M.__data__;if(!$s||X0.length<R-1)return X0.push([B,h0]),this.size=++M.size,this;M=this.__data__=new tE(X0)}return M.set(B,h0),this.size=M.size,this}Q8.prototype.clear=bA,Q8.prototype.delete=CA,Q8.prototype.get=sT,Q8.prototype.has=rE,Q8.prototype.set=Z8;function V5(B,h0){var M=Uc(B),X0=!M&&ld(B),l1=!M&&!X0&&dm(B),Hx=!M&&!X0&&!l1&&ih(B),ge=M||X0||l1||Hx,Pe=ge?G8(B.length,ZS):[],It=Pe.length;for(var Kr in B)(h0||f_.call(B,Kr))&&!(ge&&(Kr==\"length\"||l1&&(Kr==\"offset\"||Kr==\"parent\")||Hx&&(Kr==\"buffer\"||Kr==\"byteLength\"||Kr==\"byteOffset\")||R0(Kr,It)))&&Pe.push(Kr);return Pe}function FS(B){var h0=B.length;return h0?B[jh(0,h0-1)]:c}function xF(B,h0){return qr($8(B),C8(h0,0,B.length))}function $5(B){return qr($8(B))}function AS(B,h0,M){(M!==c&&!D2(B[h0],M)||M===c&&!(h0 in B))&&eF(B,h0,M)}function O6(B,h0,M){var X0=B[h0];(!(f_.call(B,h0)&&D2(X0,M))||M===c&&!(h0 in B))&&eF(B,h0,M)}function zw(B,h0){for(var M=B.length;M--;)if(D2(B[M][0],h0))return M;return-1}function EA(B,h0,M,X0){return GF(B,function(l1,Hx,ge){h0(X0,l1,M(l1),ge)}),X0}function K5(B,h0){return B&&wl(h0,e(h0),B)}function ps(B,h0){return B&&wl(h0,s(h0),B)}function eF(B,h0,M){h0==\"__proto__\"&&Xe?Xe(B,h0,{configurable:!0,enumerable:!0,value:M,writable:!0}):B[h0]=M}function NF(B,h0){for(var M=-1,X0=h0.length,l1=To(X0),Hx=B==null;++M<X0;)l1[M]=Hx?c:o1(B,h0[M]);return l1}function C8(B,h0,M){return B===B&&(M!==c&&(B=B<=M?B:M),h0!==c&&(B=B>=h0?B:h0)),B}function L4(B,h0,M,X0,l1,Hx){var ge,Pe=h0&t1,It=h0&r1,Kr=h0&F1;if(M&&(ge=l1?M(B,X0,l1,Hx):M(B)),ge!==c)return ge;if(!WA(B))return B;var pn=Uc(B);if(pn){if(ge=kf(B),!Pe)return $8(B,ge)}else{var rn=hl(B),_t=rn==et||rn==Sr;if(dm(B))return Rc(B,Pe);if(rn==wa||rn==mi||_t&&!l1){if(ge=It||_t?{}:Tp(B),!Pe)return It?$u(B,ps(ge,B)):Ko(B,K5(ge,B))}else{if(!u3[rn])return l1?B:{};ge=Xd(B,rn,Pe)}}Hx||(Hx=new Q8);var Ii=Hx.get(B);if(Ii)return Ii;Hx.set(B,ge),y_(B)?B.forEach(function(fe){ge.add(L4(fe,h0,M,fe,B,Hx))}):__(B)&&B.forEach(function(fe,Fr){ge.set(Fr,L4(fe,h0,M,Fr,B,Hx))});var Mn=Kr?It?Mf:uT:It?s:e,Ka=pn?c:Mn(B);return T6(Ka||B,function(fe,Fr){Ka&&(Fr=fe,fe=B[Fr]),O6(ge,Fr,L4(fe,h0,M,Fr,B,Hx))}),ge}function KT(B){var h0=e(B);return function(M){return C5(M,B,h0)}}function C5(B,h0,M){var X0=M.length;if(B==null)return!X0;for(B=rg(B);X0--;){var l1=M[X0],Hx=h0[l1],ge=B[l1];if(ge===c&&!(l1 in B)||!Hx(ge))return!1}return!0}function y4(B,h0,M){if(typeof B!=\"function\")throw new A8(s0);return P1(function(){B.apply(c,M)},h0)}function Zs(B,h0,M,X0){var l1=-1,Hx=Rh,ge=!0,Pe=B.length,It=[],Kr=h0.length;if(!Pe)return It;M&&(h0=Fp(h0,jD(M))),X0?(Hx=Wf,ge=!1):h0.length>=R&&(Hx=SF,ge=!1,h0=new kF(h0));x:for(;++l1<Pe;){var pn=B[l1],rn=M==null?pn:M(pn);if(pn=X0||pn!==0?pn:0,ge&&rn===rn){for(var _t=Kr;_t--;)if(h0[_t]===rn)continue x;It.push(pn)}else Hx(h0,rn,X0)||It.push(pn)}return It}var GF=pm(kx),zT=pm(Xx,!0);function AT(B,h0){var M=!0;return GF(B,function(X0,l1,Hx){return M=!!h0(X0,l1,Hx),M}),M}function a5(B,h0,M){for(var X0=-1,l1=B.length;++X0<l1;){var Hx=B[X0],ge=h0(Hx);if(ge!=null&&(Pe===c?ge===ge&&!Gw(ge):M(ge,Pe)))var Pe=ge,It=Hx}return It}function z5(B,h0,M,X0){var l1=B.length;for(M=fl(M),M<0&&(M=-M>l1?0:l1+M),X0=X0===c||X0>l1?l1:fl(X0),X0<0&&(X0+=l1),X0=M>X0?0:LB(X0);M<X0;)B[M++]=h0;return B}function XF(B,h0){var M=[];return GF(B,function(X0,l1,Hx){h0(X0,l1,Hx)&&M.push(X0)}),M}function zs(B,h0,M,X0,l1){var Hx=-1,ge=B.length;for(M||(M=e0),l1||(l1=[]);++Hx<ge;){var Pe=B[Hx];h0>0&&M(Pe)?h0>1?zs(Pe,h0-1,M,X0,l1):ZC(l1,Pe):X0||(l1[l1.length]=Pe)}return l1}var W5=bl(),TT=bl(!0);function kx(B,h0){return B&&W5(B,h0,e)}function Xx(B,h0){return B&&TT(B,h0,e)}function Ee(B,h0){return vb(h0,function(M){return mm(B[M])})}function at(B,h0){h0=Ds(h0,B);for(var M=0,X0=h0.length;B!=null&&M<X0;)B=B[B0(h0[M++])];return M&&M==X0?B:c}function cn(B,h0,M){var X0=h0(B);return Uc(B)?X0:ZC(X0,M(B))}function Bn(B){return B==null?B===c?wi:ea:ue&&ue in rg(B)?cl(B):ho(B)}function ao(B,h0){return B>h0}function go(B,h0){return B!=null&&f_.call(B,h0)}function gu(B,h0){return B!=null&&h0 in rg(B)}function cu(B,h0,M){return B>=Gn(h0,M)&&B<fn(h0,M)}function El(B,h0,M){for(var X0=M?Wf:Rh,l1=B[0].length,Hx=B.length,ge=Hx,Pe=To(Hx),It=1/0,Kr=[];ge--;){var pn=B[ge];ge&&h0&&(pn=Fp(pn,jD(h0))),It=Gn(pn.length,It),Pe[ge]=!M&&(h0||l1>=120&&pn.length>=120)?new kF(ge&&pn):c}pn=B[0];var rn=-1,_t=Pe[0];x:for(;++rn<l1&&Kr.length<It;){var Ii=pn[rn],Mn=h0?h0(Ii):Ii;if(Ii=M||Ii!==0?Ii:0,!(_t?SF(_t,Mn):X0(Kr,Mn,M))){for(ge=Hx;--ge;){var Ka=Pe[ge];if(!(Ka?SF(Ka,Mn):X0(B[ge],Mn,M)))continue x}_t&&_t.push(Mn),Kr.push(Ii)}}return Kr}function Go(B,h0,M,X0){return kx(B,function(l1,Hx,ge){h0(X0,M(l1),Hx,ge)}),X0}function Xu(B,h0,M){h0=Ds(h0,B),B=Od(B,h0);var X0=B==null?B:B[B0(Ix(h0))];return X0==null?c:SS(X0,B,M)}function Ql(B){return AA(B)&&Bn(B)==mi}function p_(B){return AA(B)&&Bn(B)==Ha}function ap(B){return AA(B)&&Bn(B)==aa}function Ll(B,h0,M,X0,l1){return B===h0?!0:B==null||h0==null||!AA(B)&&!AA(h0)?B!==B&&h0!==h0:$l(B,h0,M,X0,Ll,l1)}function $l(B,h0,M,X0,l1,Hx){var ge=Uc(B),Pe=Uc(h0),It=ge?ma:hl(B),Kr=Pe?ma:hl(h0);It=It==mi?wa:It,Kr=Kr==mi?wa:Kr;var pn=It==wa,rn=Kr==wa,_t=It==Kr;if(_t&&dm(B)){if(!dm(h0))return!1;ge=!0,pn=!1}if(_t&&!pn)return Hx||(Hx=new Q8),ge||ih(B)?R4(B,h0,M,X0,l1,Hx):o5(B,h0,It,M,X0,l1,Hx);if(!(M&a1)){var Ii=pn&&f_.call(B,\"__wrapped__\"),Mn=rn&&f_.call(h0,\"__wrapped__\");if(Ii||Mn){var Ka=Ii?B.value():B,fe=Mn?h0.value():h0;return Hx||(Hx=new Q8),l1(Ka,fe,M,X0,Hx)}}return _t?(Hx||(Hx=new Q8),Gd(B,h0,M,X0,l1,Hx)):!1}function Tu(B){return AA(B)&&hl(B)==un}function yp(B,h0,M,X0){var l1=M.length,Hx=l1,ge=!X0;if(B==null)return!Hx;for(B=rg(B);l1--;){var Pe=M[l1];if(ge&&Pe[2]?Pe[1]!==B[Pe[0]]:!(Pe[0]in B))return!1}for(;++l1<Hx;){Pe=M[l1];var It=Pe[0],Kr=B[It],pn=Pe[1];if(ge&&Pe[2]){if(Kr===c&&!(It in B))return!1}else{var rn=new Q8;if(X0)var _t=X0(Kr,pn,It,B,h0,rn);if(!(_t===c?Ll(pn,Kr,a1|D1,X0,rn):_t))return!1}}return!0}function Gs(B){if(!WA(B)||Ye(B))return!1;var h0=mm(B)?n5:l4;return h0.test(d(B))}function ra(B){return AA(B)&&Bn(B)==vo}function fo(B){return AA(B)&&hl(B)==vi}function lu(B){return AA(B)&&$h(B.length)&&!!tg[Bn(B)]}function a2(B){return typeof B==\"function\"?B:B==null?C1:typeof B==\"object\"?Uc(B)?E5(B[0],B[1]):D4(B):xr(B)}function V8(B){if(!Er(B))return sa(B);var h0=[];for(var M in rg(B))f_.call(B,M)&&M!=\"constructor\"&&h0.push(M);return h0}function YF(B){if(!WA(B))return oa(B);var h0=Er(B),M=[];for(var X0 in B)X0==\"constructor\"&&(h0||!f_.call(B,X0))||M.push(X0);return M}function T8(B,h0){return B<h0}function Q4(B,h0){var M=-1,X0=Cw(B)?To(B.length):[];return GF(B,function(l1,Hx,ge){X0[++M]=h0(l1,Hx,ge)}),X0}function D4(B){var h0=hF(B);return h0.length==1&&h0[0][2]?hi(h0[0][0],h0[0][1]):function(M){return M===B||yp(M,B,h0)}}function E5(B,h0){return H1(B)&&Zt(h0)?hi(B0(B),h0):function(M){var X0=o1(M,B);return X0===c&&X0===h0?v1(M,B):Ll(h0,X0,a1|D1)}}function QF(B,h0,M,X0,l1){B!==h0&&W5(h0,function(Hx,ge){if(l1||(l1=new Q8),WA(Hx))Ww(B,h0,ge,M,QF,X0,l1);else{var Pe=X0?X0(S(B,ge),Hx,ge+\"\",B,h0,l1):c;Pe===c&&(Pe=Hx),AS(B,ge,Pe)}},s)}function Ww(B,h0,M,X0,l1,Hx,ge){var Pe=S(B,M),It=S(h0,M),Kr=ge.get(It);if(Kr){AS(B,M,Kr);return}var pn=Hx?Hx(Pe,It,M+\"\",B,h0,ge):c,rn=pn===c;if(rn){var _t=Uc(It),Ii=!_t&&dm(It),Mn=!_t&&!Ii&&ih(It);pn=It,_t||Ii||Mn?Uc(Pe)?pn=Pe:Dd(Pe)?pn=$8(Pe):Ii?(rn=!1,pn=Rc(It,!0)):Mn?(rn=!1,pn=Bs(It,!0)):pn=[]:fP(It)||ld(It)?(pn=Pe,ld(Pe)?pn=c2(Pe):(!WA(Pe)||mm(Pe))&&(pn=Tp(It))):rn=!1}rn&&(ge.set(It,pn),l1(pn,It,X0,Hx,ge),ge.delete(It)),AS(B,M,pn)}function K2(B,h0){var M=B.length;if(!!M)return h0+=h0<0?M:0,R0(h0,M)?B[h0]:c}function Sn(B,h0,M){h0.length?h0=Fp(h0,function(Hx){return Uc(Hx)?function(ge){return at(ge,Hx.length===1?Hx[0]:Hx)}:Hx}):h0=[C1];var X0=-1;h0=Fp(h0,jD(tp()));var l1=Q4(B,function(Hx,ge,Pe){var It=Fp(h0,function(Kr){return Kr(Hx)});return{criteria:It,index:++X0,value:Hx}});return UT(l1,function(Hx,ge){return Zl(Hx,ge,M)})}function M4(B,h0){return B6(B,h0,function(M,X0){return v1(B,X0)})}function B6(B,h0,M){for(var X0=-1,l1=h0.length,Hx={};++X0<l1;){var ge=h0[X0],Pe=at(B,ge);M(Pe,ge)&&ty(Hx,Ds(ge,B),Pe)}return Hx}function x6(B){return function(h0){return at(h0,B)}}function vf(B,h0,M,X0){var l1=X0?mS:lm,Hx=-1,ge=h0.length,Pe=B;for(B===h0&&(h0=$8(h0)),M&&(Pe=Fp(B,jD(M)));++Hx<ge;)for(var It=0,Kr=h0[Hx],pn=M?M(Kr):Kr;(It=l1(Pe,pn,It,X0))>-1;)Pe!==B&&aS.call(Pe,It,1),aS.call(B,It,1);return B}function Eu(B,h0){for(var M=B?h0.length:0,X0=M-1;M--;){var l1=h0[M];if(M==X0||l1!==Hx){var Hx=l1;R0(l1)?aS.call(B,l1,1):zt(B,l1)}}return B}function jh(B,h0){return B+lt(qo()*(h0-B+1))}function Cb(B,h0,M,X0){for(var l1=-1,Hx=fn(pr((h0-B)/(M||1)),0),ge=To(Hx);Hx--;)ge[X0?Hx:++l1]=B,B+=M;return ge}function px(B,h0){var M=\"\";if(!B||h0<1||h0>Ea)return M;do h0%2&&(M+=B),h0=lt(h0/2),h0&&(B+=B);while(h0);return M}function Tf(B,h0){return zx(Za(B,h0,C1),B+\"\")}function e6(B){return FS(d0(B))}function z2(B,h0){var M=d0(B);return qr(M,C8(h0,0,M.length))}function ty(B,h0,M,X0){if(!WA(B))return B;h0=Ds(h0,B);for(var l1=-1,Hx=h0.length,ge=Hx-1,Pe=B;Pe!=null&&++l1<Hx;){var It=B0(h0[l1]),Kr=M;if(It===\"__proto__\"||It===\"constructor\"||It===\"prototype\")return B;if(l1!=ge){var pn=Pe[It];Kr=X0?X0(pn,It,Pe):c,Kr===c&&(Kr=WA(pn)?pn:R0(h0[l1+1])?[]:{})}O6(Pe,It,Kr),Pe=Pe[It]}return B}var yS=Bg?function(B,h0){return Bg.set(B,h0),B}:C1,TS=Xe?function(B,h0){return Xe(B,\"toString\",{configurable:!0,enumerable:!1,value:Ox(h0),writable:!0})}:C1;function L6(B){return qr(d0(B))}function v4(B,h0,M){var X0=-1,l1=B.length;h0<0&&(h0=-h0>l1?0:l1+h0),M=M>l1?l1:M,M<0&&(M+=l1),l1=h0>M?0:M-h0>>>0,h0>>>=0;for(var Hx=To(l1);++X0<l1;)Hx[X0]=B[X0+h0];return Hx}function W2(B,h0){var M;return GF(B,function(X0,l1,Hx){return M=h0(X0,l1,Hx),!M}),!!M}function pt(B,h0,M){var X0=0,l1=B==null?X0:B.length;if(typeof h0==\"number\"&&h0===h0&&l1<=kn){for(;X0<l1;){var Hx=X0+l1>>>1,ge=B[Hx];ge!==null&&!Gw(ge)&&(M?ge<=h0:ge<h0)?X0=Hx+1:l1=Hx}return l1}return b4(B,h0,C1,M)}function b4(B,h0,M,X0){var l1=0,Hx=B==null?0:B.length;if(Hx===0)return 0;h0=M(h0);for(var ge=h0!==h0,Pe=h0===null,It=Gw(h0),Kr=h0===c;l1<Hx;){var pn=lt((l1+Hx)/2),rn=M(B[pn]),_t=rn!==c,Ii=rn===null,Mn=rn===rn,Ka=Gw(rn);if(ge)var fe=X0||Mn;else Kr?fe=Mn&&(X0||_t):Pe?fe=Mn&&_t&&(X0||!Ii):It?fe=Mn&&_t&&!Ii&&(X0||!Ka):Ii||Ka?fe=!1:fe=X0?rn<=h0:rn<h0;fe?l1=pn+1:Hx=pn}return Gn(Hx,Ec)}function M6(B,h0){for(var M=-1,X0=B.length,l1=0,Hx=[];++M<X0;){var ge=B[M],Pe=h0?h0(ge):ge;if(!M||!D2(Pe,It)){var It=Pe;Hx[l1++]=ge===0?0:ge}}return Hx}function B1(B){return typeof B==\"number\"?B:Gw(B)?Bu:+B}function Yx(B){if(typeof B==\"string\")return B;if(Uc(B))return Fp(B,Yx)+\"\";if(Gw(B))return gi?gi.call(B):\"\";var h0=B+\"\";return h0==\"0\"&&1/B==-cr?\"-0\":h0}function Oe(B,h0,M){var X0=-1,l1=Rh,Hx=B.length,ge=!0,Pe=[],It=Pe;if(M)ge=!1,l1=Wf;else if(Hx>=R){var Kr=h0?null:wu(B);if(Kr)return p6(Kr);ge=!1,l1=SF,It=new kF}else It=h0?[]:Pe;x:for(;++X0<Hx;){var pn=B[X0],rn=h0?h0(pn):pn;if(pn=M||pn!==0?pn:0,ge&&rn===rn){for(var _t=It.length;_t--;)if(It[_t]===rn)continue x;h0&&It.push(rn),Pe.push(pn)}else l1(It,rn,M)||(It!==Pe&&It.push(rn),Pe.push(pn))}return Pe}function zt(B,h0){return h0=Ds(h0,B),B=Od(B,h0),B==null||delete B[B0(Ix(h0))]}function an(B,h0,M,X0){return ty(B,h0,M(at(B,h0)),X0)}function xi(B,h0,M,X0){for(var l1=B.length,Hx=X0?l1:-1;(X0?Hx--:++Hx<l1)&&h0(B[Hx],Hx,B););return M?v4(B,X0?0:Hx,X0?Hx+1:l1):v4(B,X0?Hx+1:0,X0?l1:Hx)}function xs(B,h0){var M=B;return M instanceof to&&(M=M.value()),zA(h0,function(X0,l1){return l1.func.apply(l1.thisArg,ZC([X0],l1.args))},M)}function bi(B,h0,M){var X0=B.length;if(X0<2)return X0?Oe(B[0]):[];for(var l1=-1,Hx=To(X0);++l1<X0;)for(var ge=B[l1],Pe=-1;++Pe<X0;)Pe!=l1&&(Hx[l1]=Zs(Hx[l1]||ge,B[Pe],h0,M));return Oe(zs(Hx,1),h0,M)}function ya(B,h0,M){for(var X0=-1,l1=B.length,Hx=h0.length,ge={};++X0<l1;){var Pe=X0<Hx?h0[X0]:c;M(ge,B[X0],Pe)}return ge}function ul(B){return Dd(B)?B:[]}function mu(B){return typeof B==\"function\"?B:C1}function Ds(B,h0){return Uc(B)?B:H1(B,h0)?[B]:ji(af(B))}var a6=Tf;function Mc(B,h0,M){var X0=B.length;return M=M===c?X0:M,!h0&&M>=X0?B:v4(B,h0,M)}var bf=Ht||function(B){return pF.clearTimeout(B)};function Rc(B,h0){if(h0)return B.slice();var M=B.length,X0=wF?wF(M):new B.constructor(M);return B.copy(X0),X0}function Pa(B){var h0=new B.constructor(B.byteLength);return new i6(h0).set(new i6(B)),h0}function Uu(B,h0){var M=h0?Pa(B.buffer):B.buffer;return new B.constructor(M,B.byteOffset,B.byteLength)}function q2(B){var h0=new B.constructor(B.source,D8.exec(B));return h0.lastIndex=B.lastIndex,h0}function Kl(B){return _r?rg(_r.call(B)):{}}function Bs(B,h0){var M=h0?Pa(B.buffer):B.buffer;return new B.constructor(M,B.byteOffset,B.length)}function qf(B,h0){if(B!==h0){var M=B!==c,X0=B===null,l1=B===B,Hx=Gw(B),ge=h0!==c,Pe=h0===null,It=h0===h0,Kr=Gw(h0);if(!Pe&&!Kr&&!Hx&&B>h0||Hx&&ge&&It&&!Pe&&!Kr||X0&&ge&&It||!M&&It||!l1)return 1;if(!X0&&!Hx&&!Kr&&B<h0||Kr&&M&&l1&&!X0&&!Hx||Pe&&M&&l1||!ge&&l1||!It)return-1}return 0}function Zl(B,h0,M){for(var X0=-1,l1=B.criteria,Hx=h0.criteria,ge=l1.length,Pe=M.length;++X0<ge;){var It=qf(l1[X0],Hx[X0]);if(It){if(X0>=Pe)return It;var Kr=M[X0];return It*(Kr==\"desc\"?-1:1)}}return B.index-h0.index}function ZF(B,h0,M,X0){for(var l1=-1,Hx=B.length,ge=M.length,Pe=-1,It=h0.length,Kr=fn(Hx-ge,0),pn=To(It+Kr),rn=!X0;++Pe<It;)pn[Pe]=h0[Pe];for(;++l1<ge;)(rn||l1<Hx)&&(pn[M[l1]]=B[l1]);for(;Kr--;)pn[Pe++]=B[l1++];return pn}function Sl(B,h0,M,X0){for(var l1=-1,Hx=B.length,ge=-1,Pe=M.length,It=-1,Kr=h0.length,pn=fn(Hx-Pe,0),rn=To(pn+Kr),_t=!X0;++l1<pn;)rn[l1]=B[l1];for(var Ii=l1;++It<Kr;)rn[Ii+It]=h0[It];for(;++ge<Pe;)(_t||l1<Hx)&&(rn[Ii+M[ge]]=B[l1++]);return rn}function $8(B,h0){var M=-1,X0=B.length;for(h0||(h0=To(X0));++M<X0;)h0[M]=B[M];return h0}function wl(B,h0,M,X0){var l1=!M;M||(M={});for(var Hx=-1,ge=h0.length;++Hx<ge;){var Pe=h0[Hx],It=X0?X0(M[Pe],B[Pe],Pe,M,B):c;It===c&&(It=B[Pe]),l1?eF(M,Pe,It):O6(M,Pe,It)}return M}function Ko(B,h0){return wl(B,SA(B),h0)}function $u(B,h0){return wl(B,Vf(B),h0)}function dF(B,h0){return function(M,X0){var l1=Uc(M)?rS:EA,Hx=h0?h0():{};return l1(M,B,tp(X0,2),Hx)}}function nE(B){return Tf(function(h0,M){var X0=-1,l1=M.length,Hx=l1>1?M[l1-1]:c,ge=l1>2?M[2]:c;for(Hx=B.length>3&&typeof Hx==\"function\"?(l1--,Hx):c,ge&&R1(M[0],M[1],ge)&&(Hx=l1<3?c:Hx,l1=1),h0=rg(h0);++X0<l1;){var Pe=M[X0];Pe&&B(h0,Pe,X0,Hx)}return h0})}function pm(B,h0){return function(M,X0){if(M==null)return M;if(!Cw(M))return B(M,X0);for(var l1=M.length,Hx=h0?l1:-1,ge=rg(M);(h0?Hx--:++Hx<l1)&&X0(ge[Hx],Hx,ge)!==!1;);return M}}function bl(B){return function(h0,M,X0){for(var l1=-1,Hx=rg(h0),ge=X0(h0),Pe=ge.length;Pe--;){var It=ge[B?Pe:++l1];if(M(Hx[It],It,Hx)===!1)break}return h0}}function nf(B,h0,M){var X0=h0&W0,l1=w8(B);function Hx(){var ge=this&&this!==pF&&this instanceof Hx?l1:B;return ge.apply(X0?M:this,arguments)}return Hx}function Ts(B){return function(h0){h0=af(h0);var M=QS(h0)?Y8(h0):c,X0=M?M[0]:h0.charAt(0),l1=M?Mc(M,1).join(\"\"):h0.slice(1);return X0[B]()+l1}}function xf(B){return function(h0){return zA(p0(V(h0).replace(L8,\"\")),B,\"\")}}function w8(B){return function(){var h0=arguments;switch(h0.length){case 0:return new B;case 1:return new B(h0[0]);case 2:return new B(h0[0],h0[1]);case 3:return new B(h0[0],h0[1],h0[2]);case 4:return new B(h0[0],h0[1],h0[2],h0[3]);case 5:return new B(h0[0],h0[1],h0[2],h0[3],h0[4]);case 6:return new B(h0[0],h0[1],h0[2],h0[3],h0[4],h0[5]);case 7:return new B(h0[0],h0[1],h0[2],h0[3],h0[4],h0[5],h0[6])}var M=Gu(B.prototype),X0=B.apply(M,h0);return WA(X0)?X0:M}}function WT(B,h0,M){var X0=w8(B);function l1(){for(var Hx=arguments.length,ge=To(Hx),Pe=Hx,It=wT(l1);Pe--;)ge[Pe]=arguments[Pe];var Kr=Hx<3&&ge[0]!==It&&ge[Hx-1]!==It?[]:iS(ge,It);if(Hx-=Kr.length,Hx<M)return mF(B,h0,op,l1.placeholder,c,ge,Kr,c,c,M-Hx);var pn=this&&this!==pF&&this instanceof l1?X0:B;return SS(pn,this,ge)}return l1}function al(B){return function(h0,M,X0){var l1=rg(h0);if(!Cw(h0)){var Hx=tp(M,3);h0=e(h0),M=function(Pe){return Hx(l1[Pe],Pe,l1)}}var ge=B(h0,M,X0);return ge>-1?l1[Hx?h0[ge]:ge]:c}}function Z4(B){return cd(function(h0){var M=h0.length,X0=M,l1=ss.prototype.thru;for(B&&h0.reverse();X0--;){var Hx=h0[X0];if(typeof Hx!=\"function\")throw new A8(s0);if(l1&&!ge&&C4(Hx)==\"wrapper\")var ge=new ss([],!0)}for(X0=ge?X0:M;++X0<M;){Hx=h0[X0];var Pe=C4(Hx),It=Pe==\"wrapper\"?Ap(Hx):c;It&&Se(It[0])&&It[1]==(ve|ux|ee|qe)&&!It[4].length&&It[9]==1?ge=ge[C4(It[0])].apply(ge,It[3]):ge=Hx.length==1&&Se(Hx)?ge[Pe]():ge.thru(Hx)}return function(){var Kr=arguments,pn=Kr[0];if(ge&&Kr.length==1&&Uc(pn))return ge.plant(pn).value();for(var rn=0,_t=M?h0[rn].apply(this,Kr):pn;++rn<M;)_t=h0[rn].call(this,_t);return _t}})}function op(B,h0,M,X0,l1,Hx,ge,Pe,It,Kr){var pn=h0&ve,rn=h0&W0,_t=h0&i1,Ii=h0&(ux|K1),Mn=h0&Jt,Ka=_t?c:w8(B);function fe(){for(var Fr=arguments.length,yt=To(Fr),Fn=Fr;Fn--;)yt[Fn]=arguments[Fn];if(Ii)var Ur=wT(fe),fa=X8(yt,Ur);if(X0&&(yt=ZF(yt,X0,l1,Ii)),Hx&&(yt=Sl(yt,Hx,ge,Ii)),Fr-=fa,Ii&&Fr<Kr){var Kt=iS(yt,Ur);return mF(B,h0,op,fe.placeholder,M,yt,Kt,Pe,It,Kr-Fr)}var Fa=rn?M:this,co=_t?Fa[B]:B;return Fr=yt.length,Pe?yt=Cl(yt,Pe):Mn&&Fr>1&&yt.reverse(),pn&&It<Fr&&(yt.length=It),this&&this!==pF&&this instanceof fe&&(co=Ka||w8(co)),co.apply(Fa,yt)}return fe}function PF(B,h0){return function(M,X0){return Go(M,B,h0(X0),{})}}function Lf(B,h0){return function(M,X0){var l1;if(M===c&&X0===c)return h0;if(M!==c&&(l1=M),X0!==c){if(l1===c)return X0;typeof M==\"string\"||typeof X0==\"string\"?(M=Yx(M),X0=Yx(X0)):(M=B1(M),X0=B1(X0)),l1=B(M,X0)}return l1}}function xA(B){return cd(function(h0){return h0=Fp(h0,jD(tp())),Tf(function(M){var X0=this;return B(h0,function(l1){return SS(l1,X0,M)})})})}function nw(B,h0){h0=h0===c?\" \":Yx(h0);var M=h0.length;if(M<2)return M?px(h0,B):h0;var X0=px(h0,pr(B/AF(h0)));return QS(h0)?Mc(Y8(X0),0,B).join(\"\"):X0.slice(0,B)}function Hd(B,h0,M,X0){var l1=h0&W0,Hx=w8(B);function ge(){for(var Pe=-1,It=arguments.length,Kr=-1,pn=X0.length,rn=To(pn+It),_t=this&&this!==pF&&this instanceof ge?Hx:B;++Kr<pn;)rn[Kr]=X0[Kr];for(;It--;)rn[Kr++]=arguments[++Pe];return SS(_t,l1?M:this,rn)}return ge}function o2(B){return function(h0,M,X0){return X0&&typeof X0!=\"number\"&&R1(h0,M,X0)&&(M=X0=c),h0=h9(h0),M===c?(M=h0,h0=0):M=h9(M),X0=X0===c?h0<M?1:-1:h9(X0),Cb(h0,M,X0,B)}}function Pu(B){return function(h0,M){return typeof h0==\"string\"&&typeof M==\"string\"||(h0=Km(h0),M=Km(M)),B(h0,M)}}function mF(B,h0,M,X0,l1,Hx,ge,Pe,It,Kr){var pn=h0&ux,rn=pn?ge:c,_t=pn?c:ge,Ii=pn?Hx:c,Mn=pn?c:Hx;h0|=pn?ee:Gx,h0&=~(pn?Gx:ee),h0&x1||(h0&=~(W0|i1));var Ka=[B,h0,l1,Ii,rn,Mn,_t,Pe,It,Kr],fe=M.apply(c,Ka);return Se(B)&&N0(fe,Ka),fe.placeholder=X0,$e(fe,B,h0)}function sp(B){var h0=F8[B];return function(M,X0){if(M=Km(M),X0=X0==null?0:Gn(fl(X0),292),X0&&Io(M)){var l1=(af(M)+\"e\").split(\"e\"),Hx=h0(l1[0]+\"e\"+(+l1[1]+X0));return l1=(af(Hx)+\"e\").split(\"e\"),+(l1[0]+\"e\"+(+l1[1]-X0))}return h0(M)}}var wu=Dr&&1/p6(new Dr([,-0]))[1]==cr?function(B){return new Dr(B)}:Vt;function Hp(B){return function(h0){var M=hl(h0);return M==un?zE(h0):M==vi?O4(h0):y6(h0,B(h0))}}function ep(B,h0,M,X0,l1,Hx,ge,Pe){var It=h0&i1;if(!It&&typeof B!=\"function\")throw new A8(s0);var Kr=X0?X0.length:0;if(Kr||(h0&=~(ee|Gx),X0=l1=c),ge=ge===c?ge:fn(fl(ge),0),Pe=Pe===c?Pe:fl(Pe),Kr-=l1?l1.length:0,h0&Gx){var pn=X0,rn=l1;X0=l1=c}var _t=It?c:Ap(B),Ii=[B,h0,M,X0,l1,pn,rn,Hx,ge,Pe];if(_t&&ba(Ii,_t),B=Ii[0],h0=Ii[1],M=Ii[2],X0=Ii[3],l1=Ii[4],Pe=Ii[9]=Ii[9]===c?It?0:B.length:fn(Ii[9]-Kr,0),!Pe&&h0&(ux|K1)&&(h0&=~(ux|K1)),!h0||h0==W0)var Mn=nf(B,h0,M);else h0==ux||h0==K1?Mn=WT(B,h0,Pe):(h0==ee||h0==(W0|ee))&&!l1.length?Mn=Hd(B,h0,M,X0):Mn=op.apply(c,Ii);var Ka=_t?yS:N0;return $e(Ka(Mn,Ii),B,h0)}function Uf(B,h0,M,X0){return B===c||D2(B,gS[M])&&!f_.call(X0,M)?h0:B}function ff(B,h0,M,X0,l1,Hx){return WA(B)&&WA(h0)&&(Hx.set(h0,B),QF(B,h0,c,ff,Hx),Hx.delete(h0)),B}function iw(B){return fP(B)?c:B}function R4(B,h0,M,X0,l1,Hx){var ge=M&a1,Pe=B.length,It=h0.length;if(Pe!=It&&!(ge&&It>Pe))return!1;var Kr=Hx.get(B),pn=Hx.get(h0);if(Kr&&pn)return Kr==h0&&pn==B;var rn=-1,_t=!0,Ii=M&D1?new kF:c;for(Hx.set(B,h0),Hx.set(h0,B);++rn<Pe;){var Mn=B[rn],Ka=h0[rn];if(X0)var fe=ge?X0(Ka,Mn,rn,h0,B,Hx):X0(Mn,Ka,rn,B,h0,Hx);if(fe!==c){if(fe)continue;_t=!1;break}if(Ii){if(!WF(h0,function(Fr,yt){if(!SF(Ii,yt)&&(Mn===Fr||l1(Mn,Fr,M,X0,Hx)))return Ii.push(yt)})){_t=!1;break}}else if(!(Mn===Ka||l1(Mn,Ka,M,X0,Hx))){_t=!1;break}}return Hx.delete(B),Hx.delete(h0),_t}function o5(B,h0,M,X0,l1,Hx,ge){switch(M){case qn:if(B.byteLength!=h0.byteLength||B.byteOffset!=h0.byteOffset)return!1;B=B.buffer,h0=h0.buffer;case Ha:return!(B.byteLength!=h0.byteLength||!Hx(new i6(B),new i6(h0)));case Ua:case aa:case jn:return D2(+B,+h0);case gn:return B.name==h0.name&&B.message==h0.message;case vo:case jr:return B==h0+\"\";case un:var Pe=zE;case vi:var It=X0&a1;if(Pe||(Pe=p6),B.size!=h0.size&&!It)return!1;var Kr=ge.get(B);if(Kr)return Kr==h0;X0|=D1,ge.set(B,h0);var pn=R4(Pe(B),Pe(h0),X0,l1,Hx,ge);return ge.delete(B),pn;case Hn:if(_r)return _r.call(B)==_r.call(h0)}return!1}function Gd(B,h0,M,X0,l1,Hx){var ge=M&a1,Pe=uT(B),It=Pe.length,Kr=uT(h0),pn=Kr.length;if(It!=pn&&!ge)return!1;for(var rn=It;rn--;){var _t=Pe[rn];if(!(ge?_t in h0:f_.call(h0,_t)))return!1}var Ii=Hx.get(B),Mn=Hx.get(h0);if(Ii&&Mn)return Ii==h0&&Mn==B;var Ka=!0;Hx.set(B,h0),Hx.set(h0,B);for(var fe=ge;++rn<It;){_t=Pe[rn];var Fr=B[_t],yt=h0[_t];if(X0)var Fn=ge?X0(yt,Fr,_t,h0,B,Hx):X0(Fr,yt,_t,B,h0,Hx);if(!(Fn===c?Fr===yt||l1(Fr,yt,M,X0,Hx):Fn)){Ka=!1;break}fe||(fe=_t==\"constructor\")}if(Ka&&!fe){var Ur=B.constructor,fa=h0.constructor;Ur!=fa&&\"constructor\"in B&&\"constructor\"in h0&&!(typeof Ur==\"function\"&&Ur instanceof Ur&&typeof fa==\"function\"&&fa instanceof fa)&&(Ka=!1)}return Hx.delete(B),Hx.delete(h0),Ka}function cd(B){return zx(Za(B,c,xu),B+\"\")}function uT(B){return cn(B,e,SA)}function Mf(B){return cn(B,s,Vf)}var Ap=Bg?function(B){return Bg.get(B)}:Vt;function C4(B){for(var h0=B.name+\"\",M=_S[h0],X0=f_.call(_S,h0)?M.length:0;X0--;){var l1=M[X0],Hx=l1.func;if(Hx==null||Hx==B)return l1.name}return h0}function wT(B){var h0=f_.call(je,\"placeholder\")?je:B;return h0.placeholder}function tp(){var B=je.iteratee||nx;return B=B===nx?a2:B,arguments.length?B(arguments[0],arguments[1]):B}function o6(B,h0){var M=B.__data__;return Jx(h0)?M[typeof h0==\"string\"?\"string\":\"hash\"]:M.map}function hF(B){for(var h0=e(B),M=h0.length;M--;){var X0=h0[M],l1=B[X0];h0[M]=[X0,l1,Zt(l1)]}return h0}function Nl(B,h0){var M=_A(B,h0);return Gs(M)?M:c}function cl(B){var h0=f_.call(B,ue),M=B[ue];try{B[ue]=c;var X0=!0}catch{}var l1=$2.call(B);return X0&&(h0?B[ue]=M:delete B[ue]),l1}var SA=Qr?function(B){return B==null?[]:(B=rg(B),vb(Qr(B),function(h0){return HF.call(B,h0)}))}:Kn,Vf=Qr?function(B){for(var h0=[];B;)ZC(h0,SA(B)),B=I6(B);return h0}:Kn,hl=Bn;(os&&hl(new os(new ArrayBuffer(1)))!=qn||$s&&hl(new $s)!=un||Po&&hl(Po.resolve())!=as||Dr&&hl(new Dr)!=vi||Nm&&hl(new Nm)!=jo)&&(hl=function(B){var h0=Bn(B),M=h0==wa?B.constructor:c,X0=M?d(M):\"\";if(X0)switch(X0){case f8:return qn;case Lx:return un;case q1:return as;case Qx:return vi;case Be:return jo}return h0});function Id(B,h0,M){for(var X0=-1,l1=M.length;++X0<l1;){var Hx=M[X0],ge=Hx.size;switch(Hx.type){case\"drop\":B+=ge;break;case\"dropRight\":h0-=ge;break;case\"take\":h0=Gn(h0,B+ge);break;case\"takeRight\":B=fn(B,h0-ge);break}}return{start:B,end:h0}}function wf(B){var h0=B.match(S8);return h0?h0[1].split(c4):[]}function tl(B,h0,M){h0=Ds(h0,B);for(var X0=-1,l1=h0.length,Hx=!1;++X0<l1;){var ge=B0(h0[X0]);if(!(Hx=B!=null&&M(B,ge)))break;B=B[ge]}return Hx||++X0!=l1?Hx:(l1=B==null?0:B.length,!!l1&&$h(l1)&&R0(ge,l1)&&(Uc(B)||ld(B)))}function kf(B){var h0=B.length,M=new B.constructor(h0);return h0&&typeof B[0]==\"string\"&&f_.call(B,\"index\")&&(M.index=B.index,M.input=B.input),M}function Tp(B){return typeof B.constructor==\"function\"&&!Er(B)?Gu(I6(B)):{}}function Xd(B,h0,M){var X0=B.constructor;switch(h0){case Ha:return Pa(B);case Ua:case aa:return new X0(+B);case qn:return Uu(B,M);case Ki:case es:case Ns:case ju:case Tc:case bu:case mc:case vc:case Lc:return Bs(B,M);case un:return new X0;case jn:case jr:return new X0(B);case vo:return q2(B);case vi:return new X0;case Hn:return Kl(B)}}function M0(B,h0){var M=h0.length;if(!M)return B;var X0=M-1;return h0[X0]=(M>1?\"& \":\"\")+h0[X0],h0=h0.join(M>2?\", \":\" \"),B.replace(VE,`{\n/* [wrapped with `+h0+`] */\n`)}function e0(B){return Uc(B)||ld(B)||!!(B4&&B&&B[B4])}function R0(B,h0){var M=typeof B;return h0=h0==null?Ea:h0,!!h0&&(M==\"number\"||M!=\"symbol\"&&f4.test(B))&&B>-1&&B%1==0&&B<h0}function R1(B,h0,M){if(!WA(M))return!1;var X0=typeof h0;return(X0==\"number\"?Cw(M)&&R0(h0,M.length):X0==\"string\"&&h0 in M)?D2(M[h0],B):!1}function H1(B,h0){if(Uc(B))return!1;var M=typeof B;return M==\"number\"||M==\"symbol\"||M==\"boolean\"||B==null||Gw(B)?!0:Df.test(B)||!cf.test(B)||h0!=null&&B in rg(h0)}function Jx(B){var h0=typeof B;return h0==\"string\"||h0==\"number\"||h0==\"symbol\"||h0==\"boolean\"?B!==\"__proto__\":B===null}function Se(B){var h0=C4(B),M=je[h0];if(typeof M!=\"function\"||!(h0 in to.prototype))return!1;if(B===M)return!0;var X0=Ap(M);return!!X0&&B===X0[0]}function Ye(B){return!!G6&&G6 in B}var tt=N6?mm:oi;function Er(B){var h0=B&&B.constructor,M=typeof h0==\"function\"&&h0.prototype||gS;return B===M}function Zt(B){return B===B&&!WA(B)}function hi(B,h0){return function(M){return M==null?!1:M[B]===h0&&(h0!==c||B in rg(M))}}function po(B){var h0=nu(B,function(X0){return M.size===J0&&M.clear(),X0}),M=h0.cache;return h0}function ba(B,h0){var M=B[1],X0=h0[1],l1=M|X0,Hx=l1<(W0|i1|ve),ge=X0==ve&&M==ux||X0==ve&&M==qe&&B[7].length<=h0[8]||X0==(ve|qe)&&h0[7].length<=h0[8]&&M==ux;if(!(Hx||ge))return B;X0&W0&&(B[2]=h0[2],l1|=M&W0?0:x1);var Pe=h0[3];if(Pe){var It=B[3];B[3]=It?ZF(It,Pe,h0[4]):Pe,B[4]=It?iS(B[3],e1):h0[4]}return Pe=h0[5],Pe&&(It=B[5],B[5]=It?Sl(It,Pe,h0[6]):Pe,B[6]=It?iS(B[5],e1):h0[6]),Pe=h0[7],Pe&&(B[7]=Pe),X0&ve&&(B[8]=B[8]==null?h0[8]:Gn(B[8],h0[8])),B[9]==null&&(B[9]=h0[9]),B[0]=h0[0],B[1]=l1,B}function oa(B){var h0=[];if(B!=null)for(var M in rg(B))h0.push(M);return h0}function ho(B){return $2.call(B)}function Za(B,h0,M){return h0=fn(h0===c?B.length-1:h0,0),function(){for(var X0=arguments,l1=-1,Hx=fn(X0.length-h0,0),ge=To(Hx);++l1<Hx;)ge[l1]=X0[h0+l1];l1=-1;for(var Pe=To(h0+1);++l1<h0;)Pe[l1]=X0[l1];return Pe[h0]=M(ge),SS(B,this,Pe)}}function Od(B,h0){return h0.length<2?B:at(B,v4(h0,0,-1))}function Cl(B,h0){for(var M=B.length,X0=Gn(h0.length,M),l1=$8(B);X0--;){var Hx=h0[X0];B[X0]=R0(Hx,M)?l1[Hx]:c}return B}function S(B,h0){if(!(h0===\"constructor\"&&typeof B[h0]==\"function\")&&h0!=\"__proto__\")return B[h0]}var N0=bt(yS),P1=hr||function(B,h0){return pF.setTimeout(B,h0)},zx=bt(TS);function $e(B,h0,M){var X0=h0+\"\";return zx(B,M0(X0,N(wf(X0),M)))}function bt(B){var h0=0,M=0;return function(){var X0=Ti(),l1=Tr-(X0-M);if(M=X0,l1>0){if(++h0>=_n)return arguments[0]}else h0=0;return B.apply(c,arguments)}}function qr(B,h0){var M=-1,X0=B.length,l1=X0-1;for(h0=h0===c?X0:h0;++M<h0;){var Hx=jh(M,l1),ge=B[Hx];B[Hx]=B[M],B[M]=ge}return B.length=h0,B}var ji=po(function(B){var h0=[];return B.charCodeAt(0)===46&&h0.push(\"\"),B.replace(gp,function(M,X0,l1,Hx){h0.push(l1?Hx.replace(fS,\"$1\"):X0||M)}),h0});function B0(B){if(typeof B==\"string\"||Gw(B))return B;var h0=B+\"\";return h0==\"0\"&&1/B==-cr?\"-0\":h0}function d(B){if(B!=null){try{return g4.call(B)}catch{}try{return B+\"\"}catch{}}return\"\"}function N(B,h0){return T6(pu,function(M){var X0=\"_.\"+M[0];h0&M[1]&&!Rh(B,X0)&&B.push(X0)}),B.sort()}function C0(B){if(B instanceof to)return B.clone();var h0=new ss(B.__wrapped__,B.__chain__);return h0.__actions__=$8(B.__actions__),h0.__index__=B.__index__,h0.__values__=B.__values__,h0}function _1(B,h0,M){(M?R1(B,h0,M):h0===c)?h0=1:h0=fn(fl(h0),0);var X0=B==null?0:B.length;if(!X0||h0<1)return[];for(var l1=0,Hx=0,ge=To(pr(X0/h0));l1<X0;)ge[Hx++]=v4(B,l1,l1+=h0);return ge}function jx(B){for(var h0=-1,M=B==null?0:B.length,X0=0,l1=[];++h0<M;){var Hx=B[h0];Hx&&(l1[X0++]=Hx)}return l1}function We(){var B=arguments.length;if(!B)return[];for(var h0=To(B-1),M=arguments[0],X0=B;X0--;)h0[X0-1]=arguments[X0];return ZC(Uc(M)?$8(M):[M],zs(h0,1))}var mt=Tf(function(B,h0){return Dd(B)?Zs(B,zs(h0,1,Dd,!0)):[]}),$t=Tf(function(B,h0){var M=Ix(h0);return Dd(M)&&(M=c),Dd(B)?Zs(B,zs(h0,1,Dd,!0),tp(M,2)):[]}),Zn=Tf(function(B,h0){var M=Ix(h0);return Dd(M)&&(M=c),Dd(B)?Zs(B,zs(h0,1,Dd,!0),c,M):[]});function _i(B,h0,M){var X0=B==null?0:B.length;return X0?(h0=M||h0===c?1:fl(h0),v4(B,h0<0?0:h0,X0)):[]}function Va(B,h0,M){var X0=B==null?0:B.length;return X0?(h0=M||h0===c?1:fl(h0),h0=X0-h0,v4(B,0,h0<0?0:h0)):[]}function Bo(B,h0){return B&&B.length?xi(B,tp(h0,3),!0,!0):[]}function Rt(B,h0){return B&&B.length?xi(B,tp(h0,3),!0):[]}function Xs(B,h0,M,X0){var l1=B==null?0:B.length;return l1?(M&&typeof M!=\"number\"&&R1(B,h0,M)&&(M=0,X0=l1),z5(B,h0,M,X0)):[]}function ll(B,h0,M){var X0=B==null?0:B.length;if(!X0)return-1;var l1=M==null?0:fl(M);return l1<0&&(l1=fn(X0+l1,0)),KE(B,tp(h0,3),l1)}function jc(B,h0,M){var X0=B==null?0:B.length;if(!X0)return-1;var l1=X0-1;return M!==c&&(l1=fl(M),l1=M<0?fn(X0+l1,0):Gn(l1,X0-1)),KE(B,tp(h0,3),l1,!0)}function xu(B){var h0=B==null?0:B.length;return h0?zs(B,1):[]}function Ml(B){var h0=B==null?0:B.length;return h0?zs(B,cr):[]}function iE(B,h0){var M=B==null?0:B.length;return M?(h0=h0===c?1:fl(h0),zs(B,h0)):[]}function eA(B){for(var h0=-1,M=B==null?0:B.length,X0={};++h0<M;){var l1=B[h0];X0[l1[0]]=l1[1]}return X0}function y2(B){return B&&B.length?B[0]:c}function FA(B,h0,M){var X0=B==null?0:B.length;if(!X0)return-1;var l1=M==null?0:fl(M);return l1<0&&(l1=fn(X0+l1,0)),lm(B,h0,l1)}function Rp(B){var h0=B==null?0:B.length;return h0?v4(B,0,-1):[]}var VS=Tf(function(B){var h0=Fp(B,ul);return h0.length&&h0[0]===B[0]?El(h0):[]}),_=Tf(function(B){var h0=Ix(B),M=Fp(B,ul);return h0===Ix(M)?h0=c:M.pop(),M.length&&M[0]===B[0]?El(M,tp(h0,2)):[]}),v0=Tf(function(B){var h0=Ix(B),M=Fp(B,ul);return h0=typeof h0==\"function\"?h0:c,h0&&M.pop(),M.length&&M[0]===B[0]?El(M,c,h0):[]});function w1(B,h0){return B==null?\"\":Uo.call(B,h0)}function Ix(B){var h0=B==null?0:B.length;return h0?B[h0-1]:c}function Wx(B,h0,M){var X0=B==null?0:B.length;if(!X0)return-1;var l1=X0;return M!==c&&(l1=fl(M),l1=l1<0?fn(X0+l1,0):Gn(l1,X0-1)),h0===h0?FF(B,h0,l1):KE(B,aT,l1,!0)}function _e(B,h0){return B&&B.length?K2(B,fl(h0)):c}var ot=Tf(Mt);function Mt(B,h0){return B&&B.length&&h0&&h0.length?vf(B,h0):B}function Ft(B,h0,M){return B&&B.length&&h0&&h0.length?vf(B,h0,tp(M,2)):B}function nt(B,h0,M){return B&&B.length&&h0&&h0.length?vf(B,h0,c,M):B}var qt=cd(function(B,h0){var M=B==null?0:B.length,X0=NF(B,h0);return Eu(B,Fp(h0,function(l1){return R0(l1,M)?+l1:l1}).sort(qf)),X0});function Ze(B,h0){var M=[];if(!(B&&B.length))return M;var X0=-1,l1=[],Hx=B.length;for(h0=tp(h0,3);++X0<Hx;){var ge=B[X0];h0(ge,X0,B)&&(M.push(ge),l1.push(X0))}return Eu(B,l1),M}function ur(B){return B==null?B:ci.call(B)}function ri(B,h0,M){var X0=B==null?0:B.length;return X0?(M&&typeof M!=\"number\"&&R1(B,h0,M)?(h0=0,M=X0):(h0=h0==null?0:fl(h0),M=M===c?X0:fl(M)),v4(B,h0,M)):[]}function Ui(B,h0){return pt(B,h0)}function Bi(B,h0,M){return b4(B,h0,tp(M,2))}function Yi(B,h0){var M=B==null?0:B.length;if(M){var X0=pt(B,h0);if(X0<M&&D2(B[X0],h0))return X0}return-1}function ro(B,h0){return pt(B,h0,!0)}function ha(B,h0,M){return b4(B,h0,tp(M,2),!0)}function Xo(B,h0){var M=B==null?0:B.length;if(M){var X0=pt(B,h0,!0)-1;if(D2(B[X0],h0))return X0}return-1}function oo(B){return B&&B.length?M6(B):[]}function ts(B,h0){return B&&B.length?M6(B,tp(h0,2)):[]}function Gl(B){var h0=B==null?0:B.length;return h0?v4(B,1,h0):[]}function Gp(B,h0,M){return B&&B.length?(h0=M||h0===c?1:fl(h0),v4(B,0,h0<0?0:h0)):[]}function Sc(B,h0,M){var X0=B==null?0:B.length;return X0?(h0=M||h0===c?1:fl(h0),h0=X0-h0,v4(B,h0<0?0:h0,X0)):[]}function Ss(B,h0){return B&&B.length?xi(B,tp(h0,3),!1,!0):[]}function Ws(B,h0){return B&&B.length?xi(B,tp(h0,3)):[]}var Zc=Tf(function(B){return Oe(zs(B,1,Dd,!0))}),ef=Tf(function(B){var h0=Ix(B);return Dd(h0)&&(h0=c),Oe(zs(B,1,Dd,!0),tp(h0,2))}),wp=Tf(function(B){var h0=Ix(B);return h0=typeof h0==\"function\"?h0:c,Oe(zs(B,1,Dd,!0),c,h0)});function Pm(B){return B&&B.length?Oe(B):[]}function Im(B,h0){return B&&B.length?Oe(B,tp(h0,2)):[]}function S5(B,h0){return h0=typeof h0==\"function\"?h0:c,B&&B.length?Oe(B,c,h0):[]}function qw(B){if(!(B&&B.length))return[];var h0=0;return B=vb(B,function(M){if(Dd(M))return h0=fn(M.length,h0),!0}),G8(h0,function(M){return Fp(B,G4(M))})}function s2(B,h0){if(!(B&&B.length))return[];var M=qw(B);return h0==null?M:Fp(M,function(X0){return SS(h0,c,X0)})}var s5=Tf(function(B,h0){return Dd(B)?Zs(B,h0):[]}),OI=Tf(function(B){return bi(vb(B,Dd))}),d_=Tf(function(B){var h0=Ix(B);return Dd(h0)&&(h0=c),bi(vb(B,Dd),tp(h0,2))}),UD=Tf(function(B){var h0=Ix(B);return h0=typeof h0==\"function\"?h0:c,bi(vb(B,Dd),c,h0)}),Lg=Tf(qw);function m9(B,h0){return ya(B||[],h0||[],O6)}function Jw(B,h0){return ya(B||[],h0||[],ty)}var Iy=Tf(function(B){var h0=B.length,M=h0>1?B[h0-1]:c;return M=typeof M==\"function\"?(B.pop(),M):c,s2(B,M)});function ng(B){var h0=je(B);return h0.__chain__=!0,h0}function B9(B,h0){return h0(B),B}function SO(B,h0){return h0(B)}var IN=cd(function(B){var h0=B.length,M=h0?B[0]:0,X0=this.__wrapped__,l1=function(Hx){return NF(Hx,B)};return h0>1||this.__actions__.length||!(X0 instanceof to)||!R0(M)?this.thru(l1):(X0=X0.slice(M,+M+(h0?1:0)),X0.__actions__.push({func:SO,args:[l1],thisArg:c}),new ss(X0,this.__chain__).thru(function(Hx){return h0&&!Hx.length&&Hx.push(c),Hx}))});function m_(){return ng(this)}function VD(){return new ss(this.value(),this.__chain__)}function Mg(){this.__values__===c&&(this.__values__=c3(this.value()));var B=this.__index__>=this.__values__.length,h0=B?c:this.__values__[this.__index__++];return{done:B,value:h0}}function gR(){return this}function WP(B){for(var h0,M=this;M instanceof io;){var X0=C0(M);X0.__index__=0,X0.__values__=c,h0?l1.__wrapped__=X0:h0=X0;var l1=X0;M=M.__wrapped__}return l1.__wrapped__=B,h0}function cP(){var B=this.__wrapped__;if(B instanceof to){var h0=B;return this.__actions__.length&&(h0=new to(this)),h0=h0.reverse(),h0.__actions__.push({func:SO,args:[ur],thisArg:c}),new ss(h0,this.__chain__)}return this.thru(ur)}function h_(){return xs(this.__wrapped__,this.__actions__)}var Hw=dF(function(B,h0,M){f_.call(B,M)?++B[M]:eF(B,M,1)});function qP(B,h0,M){var X0=Uc(B)?w6:AT;return M&&R1(B,h0,M)&&(h0=c),X0(B,tp(h0,3))}function ry(B,h0){var M=Uc(B)?vb:XF;return M(B,tp(h0,3))}var g_=al(ll),$D=al(jc);function BI(B,h0){return zs(b0(B,h0),1)}function Uh(B,h0){return zs(b0(B,h0),cr)}function Rg(B,h0,M){return M=M===c?1:fl(M),zs(b0(B,h0),M)}function Oy(B,h0){var M=Uc(B)?T6:GF;return M(B,tp(h0,3))}function ON(B,h0){var M=Uc(B)?dS:zT;return M(B,tp(h0,3))}var Vh=dF(function(B,h0,M){f_.call(B,M)?B[M].push(h0):eF(B,M,[h0])});function By(B,h0,M,X0){B=Cw(B)?B:d0(B),M=M&&!X0?fl(M):0;var l1=B.length;return M<0&&(M=fn(l1+M,0)),ag(B)?M<=l1&&B.indexOf(h0,M)>-1:!!l1&&lm(B,h0,M)>-1}var rN=Tf(function(B,h0,M){var X0=-1,l1=typeof h0==\"function\",Hx=Cw(B)?To(B.length):[];return GF(B,function(ge){Hx[++X0]=l1?SS(h0,ge,M):Xu(ge,h0,M)}),Hx}),nN=dF(function(B,h0,M){eF(B,M,h0)});function b0(B,h0){var M=Uc(B)?Fp:Q4;return M(B,tp(h0,3))}function z0(B,h0,M,X0){return B==null?[]:(Uc(h0)||(h0=h0==null?[]:[h0]),M=X0?c:M,Uc(M)||(M=M==null?[]:[M]),Sn(B,h0,M))}var U1=dF(function(B,h0,M){B[M?0:1].push(h0)},function(){return[[],[]]});function Bx(B,h0,M){var X0=Uc(B)?zA:xw,l1=arguments.length<3;return X0(B,tp(h0,4),M,l1,GF)}function pe(B,h0,M){var X0=Uc(B)?zF:xw,l1=arguments.length<3;return X0(B,tp(h0,4),M,l1,zT)}function ne(B,h0){var M=Uc(B)?vb:XF;return M(B,kc(tp(h0,3)))}function Te(B){var h0=Uc(B)?FS:e6;return h0(B)}function ir(B,h0,M){(M?R1(B,h0,M):h0===c)?h0=1:h0=fl(h0);var X0=Uc(B)?xF:z2;return X0(B,h0)}function hn(B){var h0=Uc(B)?$5:L6;return h0(B)}function sn(B){if(B==null)return 0;if(Cw(B))return ag(B)?AF(B):B.length;var h0=hl(B);return h0==un||h0==vi?B.size:V8(B).length}function Mr(B,h0,M){var X0=Uc(B)?WF:W2;return M&&R1(B,h0,M)&&(h0=c),X0(B,tp(h0,3))}var ai=Tf(function(B,h0){if(B==null)return[];var M=h0.length;return M>1&&R1(B,h0[0],h0[1])?h0=[]:M>2&&R1(h0[0],h0[1],h0[2])&&(h0=[h0[0]]),Sn(B,zs(h0,1),[])}),li=le||function(){return pF.Date.now()};function Hr(B,h0){if(typeof h0!=\"function\")throw new A8(s0);return B=fl(B),function(){if(--B<1)return h0.apply(this,arguments)}}function uo(B,h0,M){return h0=M?c:h0,h0=B&&h0==null?B.length:h0,ep(B,ve,c,c,c,c,h0)}function fi(B,h0){var M;if(typeof h0!=\"function\")throw new A8(s0);return B=fl(B),function(){return--B>0&&(M=h0.apply(this,arguments)),B<=1&&(h0=c),M}}var Fs=Tf(function(B,h0,M){var X0=W0;if(M.length){var l1=iS(M,wT(Fs));X0|=ee}return ep(B,X0,h0,M,l1)}),$a=Tf(function(B,h0,M){var X0=W0|i1;if(M.length){var l1=iS(M,wT($a));X0|=ee}return ep(h0,X0,B,M,l1)});function Ys(B,h0,M){h0=M?c:h0;var X0=ep(B,ux,c,c,c,c,c,h0);return X0.placeholder=Ys.placeholder,X0}function ru(B,h0,M){h0=M?c:h0;var X0=ep(B,K1,c,c,c,c,c,h0);return X0.placeholder=ru.placeholder,X0}function js(B,h0,M){var X0,l1,Hx,ge,Pe,It,Kr=0,pn=!1,rn=!1,_t=!0;if(typeof B!=\"function\")throw new A8(s0);h0=Km(h0)||0,WA(M)&&(pn=!!M.leading,rn=\"maxWait\"in M,Hx=rn?fn(Km(M.maxWait)||0,h0):Hx,_t=\"trailing\"in M?!!M.trailing:_t);function Ii(Kt){var Fa=X0,co=l1;return X0=l1=c,Kr=Kt,ge=B.apply(co,Fa),ge}function Mn(Kt){return Kr=Kt,Pe=P1(Fr,h0),pn?Ii(Kt):ge}function Ka(Kt){var Fa=Kt-It,co=Kt-Kr,Us=h0-Fa;return rn?Gn(Us,Hx-co):Us}function fe(Kt){var Fa=Kt-It,co=Kt-Kr;return It===c||Fa>=h0||Fa<0||rn&&co>=Hx}function Fr(){var Kt=li();if(fe(Kt))return yt(Kt);Pe=P1(Fr,Ka(Kt))}function yt(Kt){return Pe=c,_t&&X0?Ii(Kt):(X0=l1=c,ge)}function Fn(){Pe!==c&&bf(Pe),Kr=0,X0=It=l1=Pe=c}function Ur(){return Pe===c?ge:yt(li())}function fa(){var Kt=li(),Fa=fe(Kt);if(X0=arguments,l1=this,It=Kt,Fa){if(Pe===c)return Mn(It);if(rn)return bf(Pe),Pe=P1(Fr,h0),Ii(It)}return Pe===c&&(Pe=P1(Fr,h0)),ge}return fa.cancel=Fn,fa.flush=Ur,fa}var Yu=Tf(function(B,h0){return y4(B,1,h0)}),wc=Tf(function(B,h0,M){return y4(B,Km(h0)||0,M)});function au(B){return ep(B,Jt)}function nu(B,h0){if(typeof B!=\"function\"||h0!=null&&typeof h0!=\"function\")throw new A8(s0);var M=function(){var X0=arguments,l1=h0?h0.apply(this,X0):X0[0],Hx=M.cache;if(Hx.has(l1))return Hx.get(l1);var ge=B.apply(this,X0);return M.cache=Hx.set(l1,ge)||Hx,ge};return M.cache=new(nu.Cache||tE),M}nu.Cache=tE;function kc(B){if(typeof B!=\"function\")throw new A8(s0);return function(){var h0=arguments;switch(h0.length){case 0:return!B.call(this);case 1:return!B.call(this,h0[0]);case 2:return!B.call(this,h0[0],h0[1]);case 3:return!B.call(this,h0[0],h0[1],h0[2])}return!B.apply(this,h0)}}function hc(B){return fi(2,B)}var k2=a6(function(B,h0){h0=h0.length==1&&Uc(h0[0])?Fp(h0[0],jD(tp())):Fp(zs(h0,1),jD(tp()));var M=h0.length;return Tf(function(X0){for(var l1=-1,Hx=Gn(X0.length,M);++l1<Hx;)X0[l1]=h0[l1].call(this,X0[l1]);return SS(B,this,X0)})}),KD=Tf(function(B,h0){var M=iS(h0,wT(KD));return ep(B,ee,c,h0,M)}),oS=Tf(function(B,h0){var M=iS(h0,wT(oS));return ep(B,Gx,c,h0,M)}),Iu=cd(function(B,h0){return ep(B,qe,c,c,c,h0)});function J2(B,h0){if(typeof B!=\"function\")throw new A8(s0);return h0=h0===c?h0:fl(h0),Tf(B,h0)}function Nc(B,h0){if(typeof B!=\"function\")throw new A8(s0);return h0=h0==null?0:fn(fl(h0),0),Tf(function(M){var X0=M[h0],l1=Mc(M,0,h0);return X0&&ZC(l1,X0),SS(B,this,l1)})}function Yd(B,h0,M){var X0=!0,l1=!0;if(typeof B!=\"function\")throw new A8(s0);return WA(M)&&(X0=\"leading\"in M?!!M.leading:X0,l1=\"trailing\"in M?!!M.trailing:l1),js(B,h0,{leading:X0,maxWait:h0,trailing:l1})}function H2(B){return uo(B,1)}function Xp(B,h0){return KD(mu(h0),B)}function wS(){if(!arguments.length)return[];var B=arguments[0];return Uc(B)?B:[B]}function Yp(B){return L4(B,F1)}function Vm(B,h0){return h0=typeof h0==\"function\"?h0:c,L4(B,F1,h0)}function So(B){return L4(B,t1|F1)}function cT(B,h0){return h0=typeof h0==\"function\"?h0:c,L4(B,t1|F1,h0)}function Dh(B,h0){return h0==null||C5(B,h0,e(h0))}function D2(B,h0){return B===h0||B!==B&&h0!==h0}var Bd=Pu(ao),pf=Pu(function(B,h0){return B>=h0}),ld=Ql(function(){return arguments}())?Ql:function(B){return AA(B)&&f_.call(B,\"callee\")&&!HF.call(B,\"callee\")},Uc=To.isArray,lP=Ig?jD(Ig):p_;function Cw(B){return B!=null&&$h(B.length)&&!mm(B)}function Dd(B){return AA(B)&&Cw(B)}function de(B){return B===!0||B===!1||AA(B)&&Bn(B)==Ua}var dm=Wi||oi,OB=hA?jD(hA):ap;function BB(B){return AA(B)&&B.nodeType===1&&!fP(B)}function dC(B){if(B==null)return!0;if(Cw(B)&&(Uc(B)||typeof B==\"string\"||typeof B.splice==\"function\"||dm(B)||ih(B)||ld(B)))return!B.length;var h0=hl(B);if(h0==un||h0==vi)return!B.size;if(Er(B))return!V8(B).length;for(var M in B)if(f_.call(B,M))return!1;return!0}function Eb(B,h0){return Ll(B,h0)}function BN(B,h0,M){M=typeof M==\"function\"?M:c;var X0=M?M(B,h0):c;return X0===c?Ll(B,h0,c,M):!!X0}function FO(B){if(!AA(B))return!1;var h0=Bn(B);return h0==gn||h0==Os||typeof B.message==\"string\"&&typeof B.name==\"string\"&&!fP(B)}function ga(B){return typeof B==\"number\"&&Io(B)}function mm(B){if(!WA(B))return!1;var h0=Bn(B);return h0==et||h0==Sr||h0==ja||h0==zo}function ds(B){return typeof B==\"number\"&&B==fl(B)}function $h(B){return typeof B==\"number\"&&B>-1&&B%1==0&&B<=Ea}function WA(B){var h0=typeof B;return B!=null&&(h0==\"object\"||h0==\"function\")}function AA(B){return B!=null&&typeof B==\"object\"}var __=RS?jD(RS):Tu;function iN(B,h0){return B===h0||yp(B,h0,hF(h0))}function ig(B,h0,M){return M=typeof M==\"function\"?M:c,yp(B,h0,hF(h0),M)}function LI(B){return _R(B)&&B!=+B}function $m(B){if(tt(B))throw new od(K);return Gs(B)}function JP(B){return B===null}function jg(B){return B==null}function _R(B){return typeof B==\"number\"||AA(B)&&Bn(B)==jn}function fP(B){if(!AA(B)||Bn(B)!=wa)return!1;var h0=I6(B);if(h0===null)return!0;var M=f_.call(h0,\"constructor\")&&h0.constructor;return typeof M==\"function\"&&M instanceof M&&g4.call(M)==b8}var IF=H4?jD(H4):ra;function Ly(B){return ds(B)&&B>=-Ea&&B<=Ea}var y_=I4?jD(I4):fo;function ag(B){return typeof B==\"string\"||!Uc(B)&&AA(B)&&Bn(B)==jr}function Gw(B){return typeof B==\"symbol\"||AA(B)&&Bn(B)==Hn}var ih=GS?jD(GS):lu;function Xw(B){return B===c}function L9(B){return AA(B)&&hl(B)==jo}function u5(B){return AA(B)&&Bn(B)==bs}var Ew=Pu(T8),u2=Pu(function(B,h0){return B<=h0});function c3(B){if(!B)return[];if(Cw(B))return ag(B)?Y8(B):$8(B);if(Ux&&B[Ux])return jS(B[Ux]());var h0=hl(B),M=h0==un?zE:h0==vi?p6:d0;return M(B)}function h9(B){if(!B)return B===0?B:0;if(B=Km(B),B===cr||B===-cr){var h0=B<0?-1:1;return h0*Qn}return B===B?B:0}function fl(B){var h0=h9(B),M=h0%1;return h0===h0?M?h0-M:h0:0}function LB(B){return B?C8(fl(B),0,Au):0}function Km(B){if(typeof B==\"number\")return B;if(Gw(B))return Bu;if(WA(B)){var h0=typeof B.valueOf==\"function\"?B.valueOf():B;B=WA(h0)?h0+\"\":h0}if(typeof B!=\"string\")return B===0?B:+B;B=nS(B);var M=pS.test(B);return M||KF.test(B)?bw(B.slice(2),M?2:8):v8.test(B)?Bu:+B}function c2(B){return wl(B,s(B))}function og(B){return B?C8(fl(B),-Ea,Ea):B===0?B:0}function af(B){return B==null?\"\":Yx(B)}var Yw=nE(function(B,h0){if(Er(h0)||Cw(h0)){wl(h0,e(h0),B);return}for(var M in h0)f_.call(h0,M)&&O6(B,M,h0[M])}),lT=nE(function(B,h0){wl(h0,s(h0),B)}),pP=nE(function(B,h0,M,X0){wl(h0,s(h0),B,X0)}),AO=nE(function(B,h0,M,X0){wl(h0,e(h0),B,X0)}),Sb=cd(NF);function ny(B,h0){var M=Gu(B);return h0==null?M:K5(M,h0)}var Fb=Tf(function(B,h0){B=rg(B);var M=-1,X0=h0.length,l1=X0>2?h0[2]:c;for(l1&&R1(h0[0],h0[1],l1)&&(X0=1);++M<X0;)for(var Hx=h0[M],ge=s(Hx),Pe=-1,It=ge.length;++Pe<It;){var Kr=ge[Pe],pn=B[Kr];(pn===c||D2(pn,gS[Kr])&&!f_.call(B,Kr))&&(B[Kr]=Hx[Kr])}return B}),iy=Tf(function(B){return B.push(c,ff),SS(s1,c,B)});function TO(B,h0){return M8(B,tp(h0,3),kx)}function JL(B,h0){return M8(B,tp(h0,3),Xx)}function Xj(B,h0){return B==null?B:W5(B,tp(h0,3),s)}function l3(B,h0){return B==null?B:TT(B,tp(h0,3),s)}function MB(B,h0){return B&&kx(B,tp(h0,3))}function C(B,h0){return B&&Xx(B,tp(h0,3))}function D(B){return B==null?[]:Ee(B,e(B))}function $(B){return B==null?[]:Ee(B,s(B))}function o1(B,h0,M){var X0=B==null?c:at(B,h0);return X0===c?M:X0}function j1(B,h0){return B!=null&&tl(B,h0,go)}function v1(B,h0){return B!=null&&tl(B,h0,gu)}var ex=PF(function(B,h0,M){h0!=null&&typeof h0.toString!=\"function\"&&(h0=$2.call(h0)),B[h0]=M},Ox(C1)),_0=PF(function(B,h0,M){h0!=null&&typeof h0.toString!=\"function\"&&(h0=$2.call(h0)),f_.call(B,h0)?B[h0].push(M):B[h0]=[M]},tp),Ne=Tf(Xu);function e(B){return Cw(B)?V5(B):V8(B)}function s(B){return Cw(B)?V5(B,!0):YF(B)}function X(B,h0){var M={};return h0=tp(h0,3),kx(B,function(X0,l1,Hx){eF(M,h0(X0,l1,Hx),X0)}),M}function J(B,h0){var M={};return h0=tp(h0,3),kx(B,function(X0,l1,Hx){eF(M,l1,h0(X0,l1,Hx))}),M}var m0=nE(function(B,h0,M){QF(B,h0,M)}),s1=nE(function(B,h0,M,X0){QF(B,h0,M,X0)}),i0=cd(function(B,h0){var M={};if(B==null)return M;var X0=!1;h0=Fp(h0,function(Hx){return Hx=Ds(Hx,B),X0||(X0=Hx.length>1),Hx}),wl(B,Mf(B),M),X0&&(M=L4(M,t1|r1|F1,iw));for(var l1=h0.length;l1--;)zt(M,h0[l1]);return M});function H0(B,h0){return I(B,kc(tp(h0)))}var E0=cd(function(B,h0){return B==null?{}:M4(B,h0)});function I(B,h0){if(B==null)return{};var M=Fp(Mf(B),function(X0){return[X0]});return h0=tp(h0),B6(B,M,function(X0,l1){return h0(X0,l1[0])})}function A(B,h0,M){h0=Ds(h0,B);var X0=-1,l1=h0.length;for(l1||(l1=1,B=c);++X0<l1;){var Hx=B==null?c:B[B0(h0[X0])];Hx===c&&(X0=l1,Hx=M),B=mm(Hx)?Hx.call(B):Hx}return B}function Z(B,h0,M){return B==null?B:ty(B,h0,M)}function A0(B,h0,M,X0){return X0=typeof X0==\"function\"?X0:c,B==null?B:ty(B,h0,M,X0)}var o0=Hp(e),j=Hp(s);function G(B,h0,M){var X0=Uc(B),l1=X0||dm(B)||ih(B);if(h0=tp(h0,4),M==null){var Hx=B&&B.constructor;l1?M=X0?new Hx:[]:WA(B)?M=mm(Hx)?Gu(I6(B)):{}:M={}}return(l1?T6:kx)(B,function(ge,Pe,It){return h0(M,ge,Pe,It)}),M}function u0(B,h0){return B==null?!0:zt(B,h0)}function U(B,h0,M){return B==null?B:an(B,h0,mu(M))}function g0(B,h0,M,X0){return X0=typeof X0==\"function\"?X0:c,B==null?B:an(B,h0,mu(M),X0)}function d0(B){return B==null?[]:X4(B,e(B))}function P0(B){return B==null?[]:X4(B,s(B))}function c0(B,h0,M){return M===c&&(M=h0,h0=c),M!==c&&(M=Km(M),M=M===M?M:0),h0!==c&&(h0=Km(h0),h0=h0===h0?h0:0),C8(Km(B),h0,M)}function D0(B,h0,M){return h0=h9(h0),M===c?(M=h0,h0=0):M=h9(M),B=Km(B),cu(B,h0,M)}function x0(B,h0,M){if(M&&typeof M!=\"boolean\"&&R1(B,h0,M)&&(h0=M=c),M===c&&(typeof h0==\"boolean\"?(M=h0,h0=c):typeof B==\"boolean\"&&(M=B,B=c)),B===c&&h0===c?(B=0,h0=1):(B=h9(B),h0===c?(h0=B,B=0):h0=h9(h0)),B>h0){var X0=B;B=h0,h0=X0}if(M||B%1||h0%1){var l1=qo();return Gn(B+l1*(h0-B+t5(\"1e-\"+((l1+\"\").length-1))),h0)}return jh(B,h0)}var l0=xf(function(B,h0,M){return h0=h0.toLowerCase(),B+(M?w0(h0):h0)});function w0(B){return U0(af(B).toLowerCase())}function V(B){return B=af(B),B&&B.replace($E,gA).replace(J6,\"\")}function w(B,h0,M){B=af(B),h0=Yx(h0);var X0=B.length;M=M===c?X0:C8(fl(M),0,X0);var l1=M;return M-=h0.length,M>=0&&B.slice(M,l1)==h0}function H(B){return B=af(B),B&&ki.test(B)?B.replace(mr,VT):B}function k0(B){return B=af(B),B&&c_.test(B)?B.replace(_2,\"\\\\$&\"):B}var V0=xf(function(B,h0,M){return B+(M?\"-\":\"\")+h0.toLowerCase()}),t0=xf(function(B,h0,M){return B+(M?\" \":\"\")+h0.toLowerCase()}),f0=Ts(\"toLowerCase\");function y0(B,h0,M){B=af(B),h0=fl(h0);var X0=h0?AF(B):0;if(!h0||X0>=h0)return B;var l1=(h0-X0)/2;return nw(lt(l1),M)+B+nw(pr(l1),M)}function G0(B,h0,M){B=af(B),h0=fl(h0);var X0=h0?AF(B):0;return h0&&X0<h0?B+nw(h0-X0,M):B}function d1(B,h0,M){B=af(B),h0=fl(h0);var X0=h0?AF(B):0;return h0&&X0<h0?nw(h0-X0,M)+B:B}function h1(B,h0,M){return M||h0==null?h0=0:h0&&(h0=+h0),Eo(af(B).replace(pC,\"\"),h0||0)}function S1(B,h0,M){return(M?R1(B,h0,M):h0===c)?h0=1:h0=fl(h0),px(af(B),h0)}function Q1(){var B=arguments,h0=af(B[0]);return B.length<3?h0:h0.replace(B[1],B[2])}var Y0=xf(function(B,h0,M){return B+(M?\"_\":\"\")+h0.toLowerCase()});function $1(B,h0,M){return M&&typeof M!=\"number\"&&R1(B,h0,M)&&(h0=M=c),M=M===c?Au:M>>>0,M?(B=af(B),B&&(typeof h0==\"string\"||h0!=null&&!IF(h0))&&(h0=Yx(h0),!h0&&QS(B))?Mc(Y8(B),0,M):B.split(h0,M)):[]}var Z1=xf(function(B,h0,M){return B+(M?\" \":\"\")+U0(h0)});function Q0(B,h0,M){return B=af(B),M=M==null?0:C8(fl(M),0,B.length),h0=Yx(h0),B.slice(M,M+h0.length)==h0}function y1(B,h0,M){var X0=je.templateSettings;M&&R1(B,h0,M)&&(h0=c),B=af(B),h0=pP({},h0,X0,Uf);var l1=pP({},h0.imports,X0.imports,Uf),Hx=e(l1),ge=X4(l1,Hx),Pe,It,Kr=0,pn=h0.interpolate||t6,rn=\"__p += '\",_t=Y4((h0.escape||t6).source+\"|\"+pn.source+\"|\"+(pn===_s?DF:t6).source+\"|\"+(h0.evaluate||t6).source+\"|$\",\"g\"),Ii=\"//# sourceURL=\"+(f_.call(h0,\"sourceURL\")?(h0.sourceURL+\"\").replace(/\\s/g,\" \"):\"lodash.templateSources[\"+ ++F6+\"]\")+`\n`;B.replace(_t,function(fe,Fr,yt,Fn,Ur,fa){return yt||(yt=Fn),rn+=B.slice(Kr,fa).replace(vF,YS),Fr&&(Pe=!0,rn+=`' +\n__e(`+Fr+`) +\n'`),Ur&&(It=!0,rn+=`';\n`+Ur+`;\n__p += '`),yt&&(rn+=`' +\n((__t = (`+yt+`)) == null ? '' : __t) +\n'`),Kr=fa+fe.length,fe}),rn+=`';\n`;var Mn=f_.call(h0,\"variable\")&&h0.variable;if(!Mn)rn=`with (obj) {\n`+rn+`\n}\n`;else if(ES.test(Mn))throw new od(Y);rn=(It?rn.replace(i2,\"\"):rn).replace(su,\"$1\").replace(T2,\"$1;\"),rn=\"function(\"+(Mn||\"obj\")+`) {\n`+(Mn?\"\":`obj || (obj = {});\n`)+\"var __t, __p = ''\"+(Pe?\", __e = _.escape\":\"\")+(It?`, __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n`:`;\n`)+rn+`return __p\n}`;var Ka=p1(function(){return _p(Hx,Ii+\"return \"+rn).apply(c,ge)});if(Ka.source=rn,FO(Ka))throw Ka;return Ka}function k1(B){return af(B).toLowerCase()}function I1(B){return af(B).toUpperCase()}function K0(B,h0,M){if(B=af(B),B&&(M||h0===c))return nS(B);if(!B||!(h0=Yx(h0)))return B;var X0=Y8(B),l1=Y8(h0),Hx=ad(X0,l1),ge=XS(X0,l1)+1;return Mc(X0,Hx,ge).join(\"\")}function G1(B,h0,M){if(B=af(B),B&&(M||h0===c))return B.slice(0,hS(B)+1);if(!B||!(h0=Yx(h0)))return B;var X0=Y8(B),l1=XS(X0,Y8(h0))+1;return Mc(X0,0,l1).join(\"\")}function Nx(B,h0,M){if(B=af(B),B&&(M||h0===c))return B.replace(pC,\"\");if(!B||!(h0=Yx(h0)))return B;var X0=Y8(B),l1=ad(X0,Y8(h0));return Mc(X0,l1).join(\"\")}function n1(B,h0){var M=Ct,X0=vn;if(WA(h0)){var l1=\"separator\"in h0?h0.separator:l1;M=\"length\"in h0?fl(h0.length):M,X0=\"omission\"in h0?Yx(h0.omission):X0}B=af(B);var Hx=B.length;if(QS(B)){var ge=Y8(B);Hx=ge.length}if(M>=Hx)return B;var Pe=M-AF(X0);if(Pe<1)return X0;var It=ge?Mc(ge,0,Pe).join(\"\"):B.slice(0,Pe);if(l1===c)return It+X0;if(ge&&(Pe+=It.length-Pe),IF(l1)){if(B.slice(Pe).search(l1)){var Kr,pn=It;for(l1.global||(l1=Y4(l1.source,af(D8.exec(l1))+\"g\")),l1.lastIndex=0;Kr=l1.exec(pn);)var rn=Kr.index;It=It.slice(0,rn===c?Pe:rn)}}else if(B.indexOf(Yx(l1),Pe)!=Pe){var _t=It.lastIndexOf(l1);_t>-1&&(It=It.slice(0,_t))}return It+X0}function S0(B){return B=af(B),B&&Dn.test(B)?B.replace(Cu,yA):B}var I0=xf(function(B,h0,M){return B+(M?\" \":\"\")+h0.toUpperCase()}),U0=Ts(\"toUpperCase\");function p0(B,h0,M){return B=af(B),h0=M?c:h0,h0===c?qF(B)?ew(B):r6(B):B.match(h0)||[]}var p1=Tf(function(B,h0){try{return SS(B,c,h0)}catch(M){return FO(M)?M:new od(M)}}),Y1=cd(function(B,h0){return T6(h0,function(M){M=B0(M),eF(B,M,Fs(B[M],B))}),B});function N1(B){var h0=B==null?0:B.length,M=tp();return B=h0?Fp(B,function(X0){if(typeof X0[1]!=\"function\")throw new A8(s0);return[M(X0[0]),X0[1]]}):[],Tf(function(X0){for(var l1=-1;++l1<h0;){var Hx=B[l1];if(SS(Hx[0],this,X0))return SS(Hx[1],this,X0)}})}function V1(B){return KT(L4(B,t1))}function Ox(B){return function(){return B}}function $x(B,h0){return B==null||B!==B?h0:B}var rx=Z4(),O0=Z4(!0);function C1(B){return B}function nx(B){return a2(typeof B==\"function\"?B:L4(B,t1))}function O(B){return D4(L4(B,t1))}function b1(B,h0){return E5(B,L4(h0,t1))}var Px=Tf(function(B,h0){return function(M){return Xu(M,B,h0)}}),me=Tf(function(B,h0){return function(M){return Xu(B,M,h0)}});function Re(B,h0,M){var X0=e(h0),l1=Ee(h0,X0);M==null&&!(WA(h0)&&(l1.length||!X0.length))&&(M=h0,h0=B,B=this,l1=Ee(h0,e(h0)));var Hx=!(WA(M)&&\"chain\"in M)||!!M.chain,ge=mm(B);return T6(l1,function(Pe){var It=h0[Pe];B[Pe]=It,ge&&(B.prototype[Pe]=function(){var Kr=this.__chain__;if(Hx||Kr){var pn=B(this.__wrapped__),rn=pn.__actions__=$8(this.__actions__);return rn.push({func:It,args:arguments,thisArg:B}),pn.__chain__=Kr,pn}return It.apply(B,ZC([this.value()],arguments))})}),B}function gt(){return pF._===this&&(pF._=vA),this}function Vt(){}function wr(B){return B=fl(B),Tf(function(h0){return K2(h0,B)})}var gr=xA(Fp),Nt=xA(w6),Ir=xA(WF);function xr(B){return H1(B)?G4(B0(B)):x6(B)}function Bt(B){return function(h0){return B==null?c:at(B,h0)}}var ar=o2(),Ni=o2(!0);function Kn(){return[]}function oi(){return!1}function Ba(){return{}}function dt(){return\"\"}function Gt(){return!0}function lr(B,h0){if(B=fl(B),B<1||B>Ea)return[];var M=Au,X0=Gn(B,Au);h0=tp(h0),B-=Au;for(var l1=G8(X0,h0);++M<B;)h0(M);return l1}function en(B){return Uc(B)?Fp(B,B0):Gw(B)?[B]:$8(ji(af(B)))}function ii(B){var h0=++TF;return af(B)+h0}var Tt=Lf(function(B,h0){return B+h0},0),bn=sp(\"ceil\"),Le=Lf(function(B,h0){return B/h0},1),Sa=sp(\"floor\");function Yn(B){return B&&B.length?a5(B,C1,ao):c}function W1(B,h0){return B&&B.length?a5(B,tp(h0,2),ao):c}function cx(B){return h4(B,C1)}function E1(B,h0){return h4(B,tp(h0,2))}function qx(B){return B&&B.length?a5(B,C1,T8):c}function xt(B,h0){return B&&B.length?a5(B,tp(h0,2),T8):c}var ae=Lf(function(B,h0){return B*h0},1),Ut=sp(\"round\"),or=Lf(function(B,h0){return B-h0},0);function ut(B){return B&&B.length?oT(B,C1):0}function Gr(B,h0){return B&&B.length?oT(B,tp(h0,2)):0}return je.after=Hr,je.ary=uo,je.assign=Yw,je.assignIn=lT,je.assignInWith=pP,je.assignWith=AO,je.at=Sb,je.before=fi,je.bind=Fs,je.bindAll=Y1,je.bindKey=$a,je.castArray=wS,je.chain=ng,je.chunk=_1,je.compact=jx,je.concat=We,je.cond=N1,je.conforms=V1,je.constant=Ox,je.countBy=Hw,je.create=ny,je.curry=Ys,je.curryRight=ru,je.debounce=js,je.defaults=Fb,je.defaultsDeep=iy,je.defer=Yu,je.delay=wc,je.difference=mt,je.differenceBy=$t,je.differenceWith=Zn,je.drop=_i,je.dropRight=Va,je.dropRightWhile=Bo,je.dropWhile=Rt,je.fill=Xs,je.filter=ry,je.flatMap=BI,je.flatMapDeep=Uh,je.flatMapDepth=Rg,je.flatten=xu,je.flattenDeep=Ml,je.flattenDepth=iE,je.flip=au,je.flow=rx,je.flowRight=O0,je.fromPairs=eA,je.functions=D,je.functionsIn=$,je.groupBy=Vh,je.initial=Rp,je.intersection=VS,je.intersectionBy=_,je.intersectionWith=v0,je.invert=ex,je.invertBy=_0,je.invokeMap=rN,je.iteratee=nx,je.keyBy=nN,je.keys=e,je.keysIn=s,je.map=b0,je.mapKeys=X,je.mapValues=J,je.matches=O,je.matchesProperty=b1,je.memoize=nu,je.merge=m0,je.mergeWith=s1,je.method=Px,je.methodOf=me,je.mixin=Re,je.negate=kc,je.nthArg=wr,je.omit=i0,je.omitBy=H0,je.once=hc,je.orderBy=z0,je.over=gr,je.overArgs=k2,je.overEvery=Nt,je.overSome=Ir,je.partial=KD,je.partialRight=oS,je.partition=U1,je.pick=E0,je.pickBy=I,je.property=xr,je.propertyOf=Bt,je.pull=ot,je.pullAll=Mt,je.pullAllBy=Ft,je.pullAllWith=nt,je.pullAt=qt,je.range=ar,je.rangeRight=Ni,je.rearg=Iu,je.reject=ne,je.remove=Ze,je.rest=J2,je.reverse=ur,je.sampleSize=ir,je.set=Z,je.setWith=A0,je.shuffle=hn,je.slice=ri,je.sortBy=ai,je.sortedUniq=oo,je.sortedUniqBy=ts,je.split=$1,je.spread=Nc,je.tail=Gl,je.take=Gp,je.takeRight=Sc,je.takeRightWhile=Ss,je.takeWhile=Ws,je.tap=B9,je.throttle=Yd,je.thru=SO,je.toArray=c3,je.toPairs=o0,je.toPairsIn=j,je.toPath=en,je.toPlainObject=c2,je.transform=G,je.unary=H2,je.union=Zc,je.unionBy=ef,je.unionWith=wp,je.uniq=Pm,je.uniqBy=Im,je.uniqWith=S5,je.unset=u0,je.unzip=qw,je.unzipWith=s2,je.update=U,je.updateWith=g0,je.values=d0,je.valuesIn=P0,je.without=s5,je.words=p0,je.wrap=Xp,je.xor=OI,je.xorBy=d_,je.xorWith=UD,je.zip=Lg,je.zipObject=m9,je.zipObjectDeep=Jw,je.zipWith=Iy,je.entries=o0,je.entriesIn=j,je.extend=lT,je.extendWith=pP,Re(je,je),je.add=Tt,je.attempt=p1,je.camelCase=l0,je.capitalize=w0,je.ceil=bn,je.clamp=c0,je.clone=Yp,je.cloneDeep=So,je.cloneDeepWith=cT,je.cloneWith=Vm,je.conformsTo=Dh,je.deburr=V,je.defaultTo=$x,je.divide=Le,je.endsWith=w,je.eq=D2,je.escape=H,je.escapeRegExp=k0,je.every=qP,je.find=g_,je.findIndex=ll,je.findKey=TO,je.findLast=$D,je.findLastIndex=jc,je.findLastKey=JL,je.floor=Sa,je.forEach=Oy,je.forEachRight=ON,je.forIn=Xj,je.forInRight=l3,je.forOwn=MB,je.forOwnRight=C,je.get=o1,je.gt=Bd,je.gte=pf,je.has=j1,je.hasIn=v1,je.head=y2,je.identity=C1,je.includes=By,je.indexOf=FA,je.inRange=D0,je.invoke=Ne,je.isArguments=ld,je.isArray=Uc,je.isArrayBuffer=lP,je.isArrayLike=Cw,je.isArrayLikeObject=Dd,je.isBoolean=de,je.isBuffer=dm,je.isDate=OB,je.isElement=BB,je.isEmpty=dC,je.isEqual=Eb,je.isEqualWith=BN,je.isError=FO,je.isFinite=ga,je.isFunction=mm,je.isInteger=ds,je.isLength=$h,je.isMap=__,je.isMatch=iN,je.isMatchWith=ig,je.isNaN=LI,je.isNative=$m,je.isNil=jg,je.isNull=JP,je.isNumber=_R,je.isObject=WA,je.isObjectLike=AA,je.isPlainObject=fP,je.isRegExp=IF,je.isSafeInteger=Ly,je.isSet=y_,je.isString=ag,je.isSymbol=Gw,je.isTypedArray=ih,je.isUndefined=Xw,je.isWeakMap=L9,je.isWeakSet=u5,je.join=w1,je.kebabCase=V0,je.last=Ix,je.lastIndexOf=Wx,je.lowerCase=t0,je.lowerFirst=f0,je.lt=Ew,je.lte=u2,je.max=Yn,je.maxBy=W1,je.mean=cx,je.meanBy=E1,je.min=qx,je.minBy=xt,je.stubArray=Kn,je.stubFalse=oi,je.stubObject=Ba,je.stubString=dt,je.stubTrue=Gt,je.multiply=ae,je.nth=_e,je.noConflict=gt,je.noop=Vt,je.now=li,je.pad=y0,je.padEnd=G0,je.padStart=d1,je.parseInt=h1,je.random=x0,je.reduce=Bx,je.reduceRight=pe,je.repeat=S1,je.replace=Q1,je.result=A,je.round=Ut,je.runInContext=_a,je.sample=Te,je.size=sn,je.snakeCase=Y0,je.some=Mr,je.sortedIndex=Ui,je.sortedIndexBy=Bi,je.sortedIndexOf=Yi,je.sortedLastIndex=ro,je.sortedLastIndexBy=ha,je.sortedLastIndexOf=Xo,je.startCase=Z1,je.startsWith=Q0,je.subtract=or,je.sum=ut,je.sumBy=Gr,je.template=y1,je.times=lr,je.toFinite=h9,je.toInteger=fl,je.toLength=LB,je.toLower=k1,je.toNumber=Km,je.toSafeInteger=og,je.toString=af,je.toUpper=I1,je.trim=K0,je.trimEnd=G1,je.trimStart=Nx,je.truncate=n1,je.unescape=S0,je.uniqueId=ii,je.upperCase=I0,je.upperFirst=U0,je.each=Oy,je.eachRight=ON,je.first=y2,Re(je,function(){var B={};return kx(je,function(h0,M){f_.call(je.prototype,M)||(B[M]=h0)}),B}(),{chain:!1}),je.VERSION=b,T6([\"bind\",\"bindKey\",\"curry\",\"curryRight\",\"partial\",\"partialRight\"],function(B){je[B].placeholder=je}),T6([\"drop\",\"take\"],function(B,h0){to.prototype[B]=function(M){M=M===c?1:fn(fl(M),0);var X0=this.__filtered__&&!h0?new to(this):this.clone();return X0.__filtered__?X0.__takeCount__=Gn(M,X0.__takeCount__):X0.__views__.push({size:Gn(M,Au),type:B+(X0.__dir__<0?\"Right\":\"\")}),X0},to.prototype[B+\"Right\"]=function(M){return this.reverse()[B](M).reverse()}}),T6([\"filter\",\"map\",\"takeWhile\"],function(B,h0){var M=h0+1,X0=M==Lr||M==En;to.prototype[B]=function(l1){var Hx=this.clone();return Hx.__iteratees__.push({iteratee:tp(l1,3),type:M}),Hx.__filtered__=Hx.__filtered__||X0,Hx}}),T6([\"head\",\"last\"],function(B,h0){var M=\"take\"+(h0?\"Right\":\"\");to.prototype[B]=function(){return this[M](1).value()[0]}}),T6([\"initial\",\"tail\"],function(B,h0){var M=\"drop\"+(h0?\"\":\"Right\");to.prototype[B]=function(){return this.__filtered__?new to(this):this[M](1)}}),to.prototype.compact=function(){return this.filter(C1)},to.prototype.find=function(B){return this.filter(B).head()},to.prototype.findLast=function(B){return this.reverse().find(B)},to.prototype.invokeMap=Tf(function(B,h0){return typeof B==\"function\"?new to(this):this.map(function(M){return Xu(M,B,h0)})}),to.prototype.reject=function(B){return this.filter(kc(tp(B)))},to.prototype.slice=function(B,h0){B=fl(B);var M=this;return M.__filtered__&&(B>0||h0<0)?new to(M):(B<0?M=M.takeRight(-B):B&&(M=M.drop(B)),h0!==c&&(h0=fl(h0),M=h0<0?M.dropRight(-h0):M.take(h0-B)),M)},to.prototype.takeRightWhile=function(B){return this.reverse().takeWhile(B).reverse()},to.prototype.toArray=function(){return this.take(Au)},kx(to.prototype,function(B,h0){var M=/^(?:filter|find|map|reject)|While$/.test(h0),X0=/^(?:head|last)$/.test(h0),l1=je[X0?\"take\"+(h0==\"last\"?\"Right\":\"\"):h0],Hx=X0||/^find/.test(h0);!l1||(je.prototype[h0]=function(){var ge=this.__wrapped__,Pe=X0?[1]:arguments,It=ge instanceof to,Kr=Pe[0],pn=It||Uc(ge),rn=function(Fr){var yt=l1.apply(je,ZC([Fr],Pe));return X0&&_t?yt[0]:yt};pn&&M&&typeof Kr==\"function\"&&Kr.length!=1&&(It=pn=!1);var _t=this.__chain__,Ii=!!this.__actions__.length,Mn=Hx&&!_t,Ka=It&&!Ii;if(!Hx&&pn){ge=Ka?ge:new to(this);var fe=B.apply(ge,Pe);return fe.__actions__.push({func:SO,args:[rn],thisArg:c}),new ss(fe,_t)}return Mn&&Ka?B.apply(this,Pe):(fe=this.thru(rn),Mn?X0?fe.value()[0]:fe.value():fe)})}),T6([\"pop\",\"push\",\"shift\",\"sort\",\"splice\",\"unshift\"],function(B){var h0=WE[B],M=/^(?:push|sort|unshift)$/.test(B)?\"tap\":\"thru\",X0=/^(?:pop|shift)$/.test(B);je.prototype[B]=function(){var l1=arguments;if(X0&&!this.__chain__){var Hx=this.value();return h0.apply(Uc(Hx)?Hx:[],l1)}return this[M](function(ge){return h0.apply(Uc(ge)?ge:[],l1)})}}),kx(to.prototype,function(B,h0){var M=je[h0];if(M){var X0=M.name+\"\";f_.call(_S,X0)||(_S[X0]=[]),_S[X0].push({name:h0,func:M})}}),_S[op(c,i1).name]=[{name:\"wrapper\",func:c}],to.prototype.clone=Ma,to.prototype.reverse=Ks,to.prototype.value=Qa,je.prototype.at=IN,je.prototype.chain=m_,je.prototype.commit=VD,je.prototype.next=Mg,je.prototype.plant=WP,je.prototype.reverse=cP,je.prototype.toJSON=je.prototype.valueOf=je.prototype.value=h_,je.prototype.first=je.prototype.head,Ux&&(je.prototype[Ux]=gR),je},DA=b5();A6?((A6.exports=DA)._=DA,EF._=DA):pF._=DA}).call($F)})(oi0,oi0.exports);var Twx=oi0.exports;function ey0(a,u=[]){return Object.keys(a).reduce((c,b)=>(u.includes(b)||(c[b]=O8(a[b])),c),{})}function MZ(a){return typeof a==\"function\"}function ovx(a){return eR(a)||rZ(a)}function ty0(a,u,c,b){return a.call(b,O8(u),O8(c),b)}function ry0(a){return a.$valid!==void 0?!a.$valid:!a}function svx(a,u,c,b,{$lazy:R,$rewardEarly:K},s0,Y,F0=[],J0,e1,t1){const r1=n2(!!b.value),F1=n2(0);c.value=!1;const a1=oP([u,b].concat(F0,t1),()=>{if(R&&!b.value||K&&!e1.value&&!c.value)return;let D1;try{D1=ty0(a,u,J0,Y)}catch(W0){D1=Promise.reject(W0)}F1.value++,c.value=!!F1.value,r1.value=!1,Promise.resolve(D1).then(W0=>{F1.value--,c.value=!!F1.value,s0.value=W0,r1.value=ry0(W0)}).catch(W0=>{F1.value--,c.value=!!F1.value,s0.value=W0,r1.value=!0})},{immediate:!0,deep:typeof u==\"object\"});return{$invalid:r1,$unwatch:a1}}function uvx(a,u,c,{$lazy:b,$rewardEarly:R},K,s0,Y,F0){const J0=()=>({}),e1=Sp(()=>{if(b&&!c.value||R&&!F0.value)return!1;let t1=!0;try{const r1=ty0(a,u,Y,s0);K.value=r1,t1=ry0(r1)}catch(r1){K.value=r1}return t1});return{$unwatch:J0,$invalid:e1}}function cvx(a,u,c,b,R,K,s0,Y,F0,J0,e1){const t1=n2(!1),r1=a.$params||{},F1=n2(null);let a1,D1;a.$async?{$invalid:a1,$unwatch:D1}=svx(a.$validator,u,t1,c,b,F1,R,a.$watchTargets,F0,J0,e1):{$invalid:a1,$unwatch:D1}=uvx(a.$validator,u,c,b,F1,R,F0,J0);const W0=a.$message;return{$message:MZ(W0)?Sp(()=>W0(ey0({$pending:t1,$invalid:a1,$params:ey0(r1),$model:u,$response:F1,$validator:K,$propertyPath:Y,$property:s0}))):W0||\"\",$params:r1,$pending:t1,$invalid:a1,$response:F1,$unwatch:D1}}function lvx(a={}){const u=O8(a),c=Object.keys(u),b={},R={},K={};return c.forEach(s0=>{const Y=u[s0];switch(!0){case MZ(Y.$validator):b[s0]=Y;break;case MZ(Y):b[s0]={$validator:Y};break;case s0.startsWith(\"$\"):K[s0]=Y;break;default:R[s0]=Y}}),{rules:b,nestedValidators:R,config:K}}function fvx(){}const pvx=\"__root\";function ny0(a,u,c){if(c)return u?u(a()):a();try{var b=Promise.resolve(a());return u?b.then(u):b}catch(R){return Promise.reject(R)}}function dvx(a,u){return ny0(a,fvx,u)}function mvx(a,u){var c=a();return c&&c.then?c.then(u):u(c)}function hvx(a){return function(){for(var u=[],c=0;c<arguments.length;c++)u[c]=arguments[c];try{return Promise.resolve(a.apply(this,u))}catch(b){return Promise.reject(b)}}}function gvx(a,u,c,b,R,K,s0,Y,F0){const J0=Object.keys(a),e1=b.get(R,a),t1=n2(!1),r1=n2(!1),F1=n2(0);if(e1){if(!e1.$partial)return e1;e1.$unwatch(),t1.value=e1.$dirty.value}const a1={$dirty:t1,$path:R,$touch:()=>{t1.value||(t1.value=!0)},$reset:()=>{t1.value&&(t1.value=!1)},$commit:()=>{}};return J0.length?(J0.forEach(D1=>{a1[D1]=cvx(a[D1],u,a1.$dirty,K,s0,D1,c,R,F0,r1,F1)}),a1.$externalResults=Sp(()=>Y.value?[].concat(Y.value).map((D1,W0)=>({$propertyPath:R,$property:c,$validator:\"$externalResults\",$uid:`${R}-externalResult-${W0}`,$message:D1,$params:{},$response:null,$pending:!1})):[]),a1.$invalid=Sp(()=>{const D1=J0.some(W0=>O8(a1[W0].$invalid));return r1.value=D1,!!a1.$externalResults.value.length||D1}),a1.$pending=Sp(()=>J0.some(D1=>O8(a1[D1].$pending))),a1.$error=Sp(()=>a1.$dirty.value?a1.$pending.value||a1.$invalid.value:!1),a1.$silentErrors=Sp(()=>J0.filter(D1=>O8(a1[D1].$invalid)).map(D1=>{const W0=a1[D1];return _B({$propertyPath:R,$property:c,$validator:D1,$uid:`${R}-${D1}`,$message:W0.$message,$params:W0.$params,$response:W0.$response,$pending:W0.$pending})}).concat(a1.$externalResults.value)),a1.$errors=Sp(()=>a1.$dirty.value?a1.$silentErrors.value:[]),a1.$unwatch=()=>J0.forEach(D1=>{a1[D1].$unwatch()}),a1.$commit=()=>{r1.value=!0,F1.value=Date.now()},b.set(R,a,a1),a1):(e1&&b.set(R,a,a1),a1)}function _vx(a,u,c,b,R,K,s0){const Y=Object.keys(a);return Y.length?Y.reduce((F0,J0)=>(F0[J0]=si0({validations:a[J0],state:u,key:J0,parentKey:c,resultsCache:b,globalConfig:R,instance:K,externalResults:s0}),F0),{}):{}}function yvx(a,u,c){const b=Sp(()=>[u,c].filter(a1=>a1).reduce((a1,D1)=>a1.concat(Object.values(O8(D1))),[])),R=Sp({get(){return a.$dirty.value||(b.value.length?b.value.every(a1=>a1.$dirty):!1)},set(a1){a.$dirty.value=a1}}),K=Sp(()=>{const a1=O8(a.$silentErrors)||[],D1=b.value.filter(W0=>(O8(W0).$silentErrors||[]).length).reduce((W0,i1)=>W0.concat(...i1.$silentErrors),[]);return a1.concat(D1)}),s0=Sp(()=>{const a1=O8(a.$errors)||[],D1=b.value.filter(W0=>(O8(W0).$errors||[]).length).reduce((W0,i1)=>W0.concat(...i1.$errors),[]);return a1.concat(D1)}),Y=Sp(()=>b.value.some(a1=>a1.$invalid)||O8(a.$invalid)||!1),F0=Sp(()=>b.value.some(a1=>O8(a1.$pending))||O8(a.$pending)||!1),J0=Sp(()=>b.value.some(a1=>a1.$dirty)||b.value.some(a1=>a1.$anyDirty)||R.value),e1=Sp(()=>R.value?F0.value||Y.value:!1),t1=()=>{a.$touch(),b.value.forEach(a1=>{a1.$touch()})},r1=()=>{a.$commit(),b.value.forEach(a1=>{a1.$commit()})},F1=()=>{a.$reset(),b.value.forEach(a1=>{a1.$reset()})};return b.value.length&&b.value.every(a1=>a1.$dirty)&&t1(),{$dirty:R,$errors:s0,$invalid:Y,$anyDirty:J0,$error:e1,$pending:F0,$touch:t1,$reset:F1,$silentErrors:K,$commit:r1}}function si0({validations:a,state:u,key:c,parentKey:b,childResults:R,resultsCache:K,globalConfig:s0={},instance:Y,externalResults:F0}){const J0=hvx(function(){return K1.value||Ct(),mvx(function(){if(a1.$rewardEarly)return Tr(),dvx(Yk)},function(){return ny0(Yk,function(){return new Promise(cr=>{if(!Jt.value)return cr(!Gx.value);const Ea=oP(Jt,()=>{cr(!Gx.value),Ea()})})})})}),e1=b?`${b}.${c}`:c,{rules:t1,nestedValidators:r1,config:F1}=lvx(a),a1=Object.assign({},s0,F1),D1=c?Sp(()=>{const cr=O8(u);return cr?O8(cr[c]):void 0}):u,W0=Object.assign({},O8(F0)||{}),i1=Sp(()=>{const cr=O8(F0);return c?cr?O8(cr[c]):void 0:cr}),x1=gvx(t1,D1,c,K,e1,a1,Y,i1,u),ux=_vx(r1,D1,e1,K,a1,Y,i1),{$dirty:K1,$errors:ee,$invalid:Gx,$anyDirty:ve,$error:qe,$pending:Jt,$touch:Ct,$reset:vn,$silentErrors:_n,$commit:Tr}=yvx(x1,ux,R),Lr=c?Sp({get:()=>O8(D1),set:cr=>{K1.value=!0;const Ea=O8(u),Qn=O8(F0);Qn&&(Qn[c]=W0[c]),jw(Ea[c])?Ea[c].value=cr:Ea[c]=cr}}):null;c&&a1.$autoDirty&&oP(D1,()=>{K1.value||Ct();const cr=O8(F0);cr&&(cr[c]=W0[c])},{flush:\"sync\"});function Pn(cr){return(R.value||{})[cr]}function En(){jw(F0)?F0.value=W0:Object.keys(W0).length===0?Object.keys(F0).forEach(cr=>{delete F0[cr]}):Object.assign(F0,W0)}return _B(Object.assign({},x1,{$model:Lr,$dirty:K1,$error:qe,$errors:ee,$invalid:Gx,$anyDirty:ve,$pending:Jt,$touch:Ct,$reset:vn,$path:e1||pvx,$silentErrors:_n,$validate:J0,$commit:Tr},R&&{$getResultsForChild:Pn,$clearExternalResults:En},ux))}class Dvx{constructor(){this.storage=new Map}set(u,c,b){this.storage.set(u,{rules:c,result:b})}checkRulesValidity(u,c,b){const R=Object.keys(b),K=Object.keys(c);return K.length!==R.length||!K.every(Y=>R.includes(Y))?!1:K.every(Y=>c[Y].$params?Object.keys(c[Y].$params).every(F0=>O8(b[Y].$params[F0])===O8(c[Y].$params[F0])):!0)}get(u,c){const b=this.storage.get(u);if(!b)return;const{rules:R,result:K}=b,s0=this.checkRulesValidity(u,c,R),Y=K.$unwatch?K.$unwatch:()=>({});return s0?K:{$dirty:K.$dirty,$partial:!0,$unwatch:Y}}}const nH={COLLECT_ALL:!0,COLLECT_NONE:!1},iy0=Symbol(\"vuelidate#injectChiildResults\"),ay0=Symbol(\"vuelidate#removeChiildResults\");function vvx({$scope:a,instance:u}){const c={},b=n2([]),R=Sp(()=>b.value.reduce((J0,e1)=>(J0[e1]=O8(c[e1]),J0),{}));function K(J0,{$registerAs:e1,$scope:t1,$stopPropagation:r1}){r1||a===nH.COLLECT_NONE||t1===nH.COLLECT_NONE||a!==nH.COLLECT_ALL&&a!==t1||(c[e1]=J0,b.value.push(e1))}u.__vuelidateInjectInstances=[].concat(u.__vuelidateInjectInstances||[],K);function s0(J0){b.value=b.value.filter(e1=>e1!==J0),delete c[J0]}u.__vuelidateRemoveInstances=[].concat(u.__vuelidateRemoveInstances||[],s0);const Y=o4(iy0,[]);Dw(iy0,u.__vuelidateInjectInstances);const F0=o4(ay0,[]);return Dw(ay0,u.__vuelidateRemoveInstances),{childResults:R,sendValidationResultsToParent:Y,removeValidationResultsFromParent:F0}}function oy0(a){return new Proxy(a,{get(u,c){return typeof u[c]==\"object\"?oy0(u[c]):Sp(()=>u[c])}})}function sy0(a,u,c={}){arguments.length===1&&(c=a,a=void 0,u=void 0);let{$registerAs:b,$scope:R=nH.COLLECT_ALL,$stopPropagation:K,$externalResults:s0}=c;const Y=BL(),F0=Y?Y.type:{};!b&&Y&&(b=`_vuelidate_${Y.uid||Y._uid}`);const J0=n2({}),e1=new Dvx,{childResults:t1,sendValidationResultsToParent:r1,removeValidationResultsFromParent:F1}=Y?vvx({$scope:R,instance:Y}):{childResults:n2({})};if(!a&&F0.validations){const a1=F0.validations;u=n2({}),un0(()=>{u.value=Y.proxy,oP(()=>MZ(a1)?a1.call(u.value,new oy0(u.value)):a1,D1=>{J0.value=si0({validations:D1,state:u,childResults:t1,resultsCache:e1,globalConfig:c,instance:Y.proxy,externalResults:s0||Y.proxy.vuelidateExternalResults})},{immediate:!0})}),c=F0.validationsConfig||c}else{const a1=jw(a)||ovx(a)?a:_B(a||{});oP(a1,D1=>{J0.value=si0({validations:D1,state:u,childResults:t1,resultsCache:e1,globalConfig:c,instance:Y?Y.proxy:{},externalResults:s0})},{immediate:!0})}return Y&&(r1.forEach(a1=>a1(J0,{$registerAs:b,$scope:R,$stopPropagation:K})),jJ(()=>F1.forEach(a1=>a1(b)))),Sp(()=>Object.assign({},O8(J0.value),t1.value))}var wwx=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",CollectFlag:nH,default:sy0,useVuelidate:sy0}),w$={};/*!\n  * @intlify/shared v9.1.7\n  * (c) 2021 kazuya kawaguchi\n  * Released under the MIT License.\n  */const bvx=typeof window!=\"undefined\";let Cvx,Evx;const Svx=/\\{([0-9a-zA-Z]+)\\}/g;function uy0(a,...u){return u.length===1&&jj(u[0])&&(u=u[0]),(!u||!u.hasOwnProperty)&&(u={}),a.replace(Svx,(c,b)=>u.hasOwnProperty(b)?u[b]:\"\")}const Fvx=typeof Symbol==\"function\"&&typeof Symbol.toStringTag==\"symbol\",Avx=a=>Fvx?Symbol(a):a,cy0=(a,u,c)=>ly0({l:a,k:u,s:c}),ly0=a=>JSON.stringify(a).replace(/\\u2028/g,\"\\\\u2028\").replace(/\\u2029/g,\"\\\\u2029\").replace(/\\u0027/g,\"\\\\u0027\"),DO=a=>typeof a==\"number\"&&isFinite(a),fy0=a=>jZ(a)===\"[object Date]\",ui0=a=>jZ(a)===\"[object RegExp]\",RZ=a=>Uw(a)&&Object.keys(a).length===0;function py0(a,u){typeof console!=\"undefined\"&&(console.warn(\"[intlify] \"+a),u&&console.warn(u.stack))}const k$=Object.assign;let dy0;const my0=()=>dy0||(dy0=typeof globalThis!=\"undefined\"?globalThis:typeof self!=\"undefined\"?self:typeof window!=\"undefined\"?window:typeof global!=\"undefined\"?global:{});function ci0(a){return a.replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\").replace(/\"/g,\"&quot;\").replace(/'/g,\"&apos;\")}const Tvx=Object.prototype.hasOwnProperty;function wvx(a,u){return Tvx.call(a,u)}const uV=Array.isArray,vO=a=>typeof a==\"function\",cF=a=>typeof a==\"string\",bO=a=>typeof a==\"boolean\",kvx=a=>typeof a==\"symbol\",jj=a=>a!==null&&typeof a==\"object\",Nvx=a=>jj(a)&&vO(a.then)&&vO(a.catch),li0=Object.prototype.toString,jZ=a=>li0.call(a),Uw=a=>jZ(a)===\"[object Object]\",hy0=a=>a==null?\"\":uV(a)||Uw(a)&&a.toString===li0?JSON.stringify(a,null,2):String(a),gy0=2;function Pvx(a,u=0,c=a.length){const b=a.split(/\\r?\\n/);let R=0;const K=[];for(let s0=0;s0<b.length;s0++)if(R+=b[s0].length+1,R>=u){for(let Y=s0-gy0;Y<=s0+gy0||c>R;Y++){if(Y<0||Y>=b.length)continue;const F0=Y+1;K.push(`${F0}${\" \".repeat(3-String(F0).length)}|  ${b[Y]}`);const J0=b[Y].length;if(Y===s0){const e1=u-(R-J0)+1,t1=Math.max(1,c>R?J0-e1:c-u);K.push(\"   |  \"+\" \".repeat(e1)+\"^\".repeat(t1))}else if(Y>s0){if(c>R){const e1=Math.max(Math.min(c-R,J0),1);K.push(\"   |  \"+\"^\".repeat(e1))}R+=J0+1}}break}return K.join(`\n`)}function Ivx(){const a=new Map;return{events:a,on(c,b){const R=a.get(c);R&&R.push(b)||a.set(c,[b])},off(c,b){const R=a.get(c);R&&R.splice(R.indexOf(b)>>>0,1)},emit(c,b){(a.get(c)||[]).slice().map(R=>R(b)),(a.get(\"*\")||[]).slice().map(R=>R(c,b))}}}var Ovx=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",assign:k$,createEmitter:Ivx,escapeHtml:ci0,format:uy0,friendlyJSONstringify:ly0,generateCodeFrame:Pvx,generateFormatCacheKey:cy0,getGlobalThis:my0,hasOwn:wvx,inBrowser:bvx,isArray:uV,isBoolean:bO,isDate:fy0,isEmptyObject:RZ,isFunction:vO,isNumber:DO,isObject:jj,isPlainObject:Uw,isPromise:Nvx,isRegExp:ui0,isString:cF,isSymbol:kvx,makeSymbol:Avx,mark:Cvx,measure:Evx,objectToString:li0,toDisplayString:hy0,toTypeString:jZ,warn:py0}),Bvx=BQ(Ovx);/*!\n  * @intlify/message-resolver v9.1.7\n  * (c) 2021 kazuya kawaguchi\n  * Released under the MIT License.\n  */const Lvx=Object.prototype.hasOwnProperty;function Mvx(a,u){return Lvx.call(a,u)}const UZ=a=>a!==null&&typeof a==\"object\",N$=[];N$[0]={w:[0],i:[3,0],[\"[\"]:[4],o:[7]};N$[1]={w:[1],[\".\"]:[2],[\"[\"]:[4],o:[7]};N$[2]={w:[2],i:[3,0],[\"0\"]:[3,0]};N$[3]={i:[3,0],[\"0\"]:[3,0],w:[1,1],[\".\"]:[2,1],[\"[\"]:[4,1],o:[7,1]};N$[4]={[\"'\"]:[5,0],['\"']:[6,0],[\"[\"]:[4,2],[\"]\"]:[1,3],o:8,l:[4,0]};N$[5]={[\"'\"]:[4,0],o:8,l:[5,0]};N$[6]={['\"']:[4,0],o:8,l:[6,0]};const Rvx=/^\\s?(?:true|false|-?[\\d.]+|'[^']*'|\"[^\"]*\")\\s?$/;function jvx(a){return Rvx.test(a)}function Uvx(a){const u=a.charCodeAt(0),c=a.charCodeAt(a.length-1);return u===c&&(u===34||u===39)?a.slice(1,-1):a}function Vvx(a){if(a==null)return\"o\";switch(a.charCodeAt(0)){case 91:case 93:case 46:case 34:case 39:return a;case 95:case 36:case 45:return\"i\";case 9:case 10:case 13:case 160:case 65279:case 8232:case 8233:return\"w\"}return\"i\"}function $vx(a){const u=a.trim();return a.charAt(0)===\"0\"&&isNaN(parseInt(a))?!1:jvx(u)?Uvx(u):\"*\"+u}function _y0(a){const u=[];let c=-1,b=0,R=0,K,s0,Y,F0,J0,e1,t1;const r1=[];r1[0]=()=>{s0===void 0?s0=Y:s0+=Y},r1[1]=()=>{s0!==void 0&&(u.push(s0),s0=void 0)},r1[2]=()=>{r1[0](),R++},r1[3]=()=>{if(R>0)R--,b=4,r1[0]();else{if(R=0,s0===void 0||(s0=$vx(s0),s0===!1))return!1;r1[1]()}};function F1(){const a1=a[c+1];if(b===5&&a1===\"'\"||b===6&&a1==='\"')return c++,Y=\"\\\\\"+a1,r1[0](),!0}for(;b!==null;)if(c++,K=a[c],!(K===\"\\\\\"&&F1())){if(F0=Vvx(K),t1=N$[b],J0=t1[F0]||t1.l||8,J0===8||(b=J0[0],J0[1]!==void 0&&(e1=r1[J0[1]],e1&&(Y=K,e1()===!1))))return;if(b===7)return u}}const yy0=new Map;function fi0(a,u){if(!UZ(a))return null;let c=yy0.get(u);if(c||(c=_y0(u),c&&yy0.set(u,c)),!c)return null;const b=c.length;let R=a,K=0;for(;K<b;){const s0=R[c[K]];if(s0===void 0)return null;R=s0,K++}return R}function pi0(a){if(!UZ(a))return a;for(const u in a)if(!!Mvx(a,u))if(!u.includes(\".\"))UZ(a[u])&&pi0(a[u]);else{const c=u.split(\".\"),b=c.length-1;let R=a;for(let K=0;K<b;K++)c[K]in R||(R[c[K]]={}),R=R[c[K]];R[c[b]]=a[u],delete a[u],UZ(R[c[b]])&&pi0(R[c[b]])}return a}/*!\n  * @intlify/runtime v9.1.7\n  * (c) 2021 kazuya kawaguchi\n  * Released under the MIT License.\n  */const Kvx=a=>a,zvx=a=>\"\",Dy0=\"text\",Wvx=a=>a.length===0?\"\":a.join(\"\"),qvx=hy0;function vy0(a,u){return a=Math.abs(a),u===2?a?a>1?1:0:1:a?Math.min(a,2):0}function Jvx(a){const u=DO(a.pluralIndex)?a.pluralIndex:-1;return a.named&&(DO(a.named.count)||DO(a.named.n))?DO(a.named.count)?a.named.count:DO(a.named.n)?a.named.n:u:u}function Hvx(a,u){u.count||(u.count=a),u.n||(u.n=a)}function by0(a={}){const u=a.locale,c=Jvx(a),b=jj(a.pluralRules)&&cF(u)&&vO(a.pluralRules[u])?a.pluralRules[u]:vy0,R=jj(a.pluralRules)&&cF(u)&&vO(a.pluralRules[u])?vy0:void 0,K=W0=>W0[b(c,W0.length,R)],s0=a.list||[],Y=W0=>s0[W0],F0=a.named||{};DO(a.pluralIndex)&&Hvx(c,F0);const J0=W0=>F0[W0];function e1(W0){const i1=vO(a.messages)?a.messages(W0):jj(a.messages)?a.messages[W0]:!1;return i1||(a.parent?a.parent.message(W0):zvx)}const t1=W0=>a.modifiers?a.modifiers[W0]:Kvx,r1=Uw(a.processor)&&vO(a.processor.normalize)?a.processor.normalize:Wvx,F1=Uw(a.processor)&&vO(a.processor.interpolate)?a.processor.interpolate:qvx,a1=Uw(a.processor)&&cF(a.processor.type)?a.processor.type:Dy0,D1={list:Y,named:J0,plural:K,linked:(W0,i1)=>{const x1=e1(W0)(D1);return cF(i1)?t1(i1)(x1):x1},message:e1,type:a1,interpolate:F1,normalize:r1};return D1}/*!\n  * @intlify/message-compiler v9.1.7\n  * (c) 2021 kazuya kawaguchi\n  * Released under the MIT License.\n  */function VZ(a,u,c={}){const{domain:b,messages:R,args:K}=c,s0=a,Y=new SyntaxError(String(s0));return Y.code=a,u&&(Y.location=u),Y.domain=b,Y}function Gvx(a){throw a}function Xvx(a,u,c){return{line:a,column:u,offset:c}}function di0(a,u,c){const b={start:a,end:u};return c!=null&&(b.source=c),b}const cV=\" \",Yvx=\"\\r\",NI=`\n`,Qvx=String.fromCharCode(8232),Zvx=String.fromCharCode(8233);function xbx(a){const u=a;let c=0,b=1,R=1,K=0;const s0=ve=>u[ve]===Yvx&&u[ve+1]===NI,Y=ve=>u[ve]===NI,F0=ve=>u[ve]===Zvx,J0=ve=>u[ve]===Qvx,e1=ve=>s0(ve)||Y(ve)||F0(ve)||J0(ve),t1=()=>c,r1=()=>b,F1=()=>R,a1=()=>K,D1=ve=>s0(ve)||F0(ve)||J0(ve)?NI:u[ve],W0=()=>D1(c),i1=()=>D1(c+K);function x1(){return K=0,e1(c)&&(b++,R=0),s0(c)&&c++,c++,R++,u[c]}function ux(){return s0(c+K)&&K++,K++,u[c+K]}function K1(){c=0,b=1,R=1,K=0}function ee(ve=0){K=ve}function Gx(){const ve=c+K;for(;ve!==c;)x1();K=0}return{index:t1,line:r1,column:F1,peekOffset:a1,charAt:D1,currentChar:W0,currentPeek:i1,next:x1,peek:ux,reset:K1,resetPeek:ee,skipToPeek:Gx}}const P$=void 0,Cy0=\"'\",ebx=\"tokenizer\";function tbx(a,u={}){const c=u.location!==!1,b=xbx(a),R=()=>b.index(),K=()=>Xvx(b.line(),b.column(),b.index()),s0=K(),Y=R(),F0={currentType:14,offset:Y,startLoc:s0,endLoc:s0,lastType:14,lastOffset:Y,lastStartLoc:s0,lastEndLoc:s0,braceNest:0,inLinked:!1,text:\"\"},J0=()=>F0,{onError:e1}=u;function t1(gn,et,Sr,...un){const jn=J0();if(et.column+=Sr,et.offset+=Sr,e1){const ea=di0(jn.startLoc,et),wa=VZ(gn,ea,{domain:ebx,args:un});e1(wa)}}function r1(gn,et,Sr){gn.endLoc=K(),gn.currentType=et;const un={type:et};return c&&(un.loc=di0(gn.startLoc,gn.endLoc)),Sr!=null&&(un.value=Sr),un}const F1=gn=>r1(gn,14);function a1(gn,et){return gn.currentChar()===et?(gn.next(),et):(t1(0,K(),0,et),\"\")}function D1(gn){let et=\"\";for(;gn.currentPeek()===cV||gn.currentPeek()===NI;)et+=gn.currentPeek(),gn.peek();return et}function W0(gn){const et=D1(gn);return gn.skipToPeek(),et}function i1(gn){if(gn===P$)return!1;const et=gn.charCodeAt(0);return et>=97&&et<=122||et>=65&&et<=90||et===95}function x1(gn){if(gn===P$)return!1;const et=gn.charCodeAt(0);return et>=48&&et<=57}function ux(gn,et){const{currentType:Sr}=et;if(Sr!==2)return!1;D1(gn);const un=i1(gn.currentPeek());return gn.resetPeek(),un}function K1(gn,et){const{currentType:Sr}=et;if(Sr!==2)return!1;D1(gn);const un=gn.currentPeek()===\"-\"?gn.peek():gn.currentPeek(),jn=x1(un);return gn.resetPeek(),jn}function ee(gn,et){const{currentType:Sr}=et;if(Sr!==2)return!1;D1(gn);const un=gn.currentPeek()===Cy0;return gn.resetPeek(),un}function Gx(gn,et){const{currentType:Sr}=et;if(Sr!==8)return!1;D1(gn);const un=gn.currentPeek()===\".\";return gn.resetPeek(),un}function ve(gn,et){const{currentType:Sr}=et;if(Sr!==9)return!1;D1(gn);const un=i1(gn.currentPeek());return gn.resetPeek(),un}function qe(gn,et){const{currentType:Sr}=et;if(!(Sr===8||Sr===12))return!1;D1(gn);const un=gn.currentPeek()===\":\";return gn.resetPeek(),un}function Jt(gn,et){const{currentType:Sr}=et;if(Sr!==10)return!1;const un=()=>{const ea=gn.currentPeek();return ea===\"{\"?i1(gn.peek()):ea===\"@\"||ea===\"%\"||ea===\"|\"||ea===\":\"||ea===\".\"||ea===cV||!ea?!1:ea===NI?(gn.peek(),un()):i1(ea)},jn=un();return gn.resetPeek(),jn}function Ct(gn){D1(gn);const et=gn.currentPeek()===\"|\";return gn.resetPeek(),et}function vn(gn,et=!0){const Sr=(jn=!1,ea=\"\",wa=!1)=>{const as=gn.currentPeek();return as===\"{\"?ea===\"%\"?!1:jn:as===\"@\"||!as?ea===\"%\"?!0:jn:as===\"%\"?(gn.peek(),Sr(jn,\"%\",!0)):as===\"|\"?ea===\"%\"||wa?!0:!(ea===cV||ea===NI):as===cV?(gn.peek(),Sr(!0,cV,wa)):as===NI?(gn.peek(),Sr(!0,NI,wa)):!0},un=Sr();return et&&gn.resetPeek(),un}function _n(gn,et){const Sr=gn.currentChar();return Sr===P$?P$:et(Sr)?(gn.next(),Sr):null}function Tr(gn){return _n(gn,Sr=>{const un=Sr.charCodeAt(0);return un>=97&&un<=122||un>=65&&un<=90||un>=48&&un<=57||un===95||un===36})}function Lr(gn){return _n(gn,Sr=>{const un=Sr.charCodeAt(0);return un>=48&&un<=57})}function Pn(gn){return _n(gn,Sr=>{const un=Sr.charCodeAt(0);return un>=48&&un<=57||un>=65&&un<=70||un>=97&&un<=102})}function En(gn){let et=\"\",Sr=\"\";for(;et=Lr(gn);)Sr+=et;return Sr}function cr(gn){const et=Sr=>{const un=gn.currentChar();return un===\"{\"||un===\"}\"||un===\"@\"||!un?Sr:un===\"%\"?vn(gn)?(Sr+=un,gn.next(),et(Sr)):Sr:un===\"|\"?Sr:un===cV||un===NI?vn(gn)?(Sr+=un,gn.next(),et(Sr)):Ct(gn)?Sr:(Sr+=un,gn.next(),et(Sr)):(Sr+=un,gn.next(),et(Sr))};return et(\"\")}function Ea(gn){W0(gn);let et=\"\",Sr=\"\";for(;et=Tr(gn);)Sr+=et;return gn.currentChar()===P$&&t1(6,K(),0),Sr}function Qn(gn){W0(gn);let et=\"\";return gn.currentChar()===\"-\"?(gn.next(),et+=`-${En(gn)}`):et+=En(gn),gn.currentChar()===P$&&t1(6,K(),0),et}function Bu(gn){W0(gn),a1(gn,\"'\");let et=\"\",Sr=\"\";const un=ea=>ea!==Cy0&&ea!==NI;for(;et=_n(gn,un);)et===\"\\\\\"?Sr+=Au(gn):Sr+=et;const jn=gn.currentChar();return jn===NI||jn===P$?(t1(2,K(),0),jn===NI&&(gn.next(),a1(gn,\"'\")),Sr):(a1(gn,\"'\"),Sr)}function Au(gn){const et=gn.currentChar();switch(et){case\"\\\\\":case\"'\":return gn.next(),`\\\\${et}`;case\"u\":return Ec(gn,et,4);case\"U\":return Ec(gn,et,6);default:return t1(3,K(),0,et),\"\"}}function Ec(gn,et,Sr){a1(gn,et);let un=\"\";for(let jn=0;jn<Sr;jn++){const ea=Pn(gn);if(!ea){t1(4,K(),0,`\\\\${et}${un}${gn.currentChar()}`);break}un+=ea}return`\\\\${et}${un}`}function kn(gn){W0(gn);let et=\"\",Sr=\"\";const un=jn=>jn!==\"{\"&&jn!==\"}\"&&jn!==cV&&jn!==NI;for(;et=_n(gn,un);)Sr+=et;return Sr}function pu(gn){let et=\"\",Sr=\"\";for(;et=Tr(gn);)Sr+=et;return Sr}function mi(gn){const et=(Sr=!1,un)=>{const jn=gn.currentChar();return jn===\"{\"||jn===\"%\"||jn===\"@\"||jn===\"|\"||!jn||jn===cV?un:jn===NI?(un+=jn,gn.next(),et(Sr,un)):(un+=jn,gn.next(),et(!0,un))};return et(!1,\"\")}function ma(gn){W0(gn);const et=a1(gn,\"|\");return W0(gn),et}function ja(gn,et){let Sr=null;switch(gn.currentChar()){case\"{\":return et.braceNest>=1&&t1(8,K(),0),gn.next(),Sr=r1(et,2,\"{\"),W0(gn),et.braceNest++,Sr;case\"}\":return et.braceNest>0&&et.currentType===2&&t1(7,K(),0),gn.next(),Sr=r1(et,3,\"}\"),et.braceNest--,et.braceNest>0&&W0(gn),et.inLinked&&et.braceNest===0&&(et.inLinked=!1),Sr;case\"@\":return et.braceNest>0&&t1(6,K(),0),Sr=Ua(gn,et)||F1(et),et.braceNest=0,Sr;default:let jn=!0,ea=!0,wa=!0;if(Ct(gn))return et.braceNest>0&&t1(6,K(),0),Sr=r1(et,1,ma(gn)),et.braceNest=0,et.inLinked=!1,Sr;if(et.braceNest>0&&(et.currentType===5||et.currentType===6||et.currentType===7))return t1(6,K(),0),et.braceNest=0,aa(gn,et);if(jn=ux(gn,et))return Sr=r1(et,5,Ea(gn)),W0(gn),Sr;if(ea=K1(gn,et))return Sr=r1(et,6,Qn(gn)),W0(gn),Sr;if(wa=ee(gn,et))return Sr=r1(et,7,Bu(gn)),W0(gn),Sr;if(!jn&&!ea&&!wa)return Sr=r1(et,13,kn(gn)),t1(1,K(),0,Sr.value),W0(gn),Sr;break}return Sr}function Ua(gn,et){const{currentType:Sr}=et;let un=null;const jn=gn.currentChar();switch((Sr===8||Sr===9||Sr===12||Sr===10)&&(jn===NI||jn===cV)&&t1(9,K(),0),jn){case\"@\":return gn.next(),un=r1(et,8,\"@\"),et.inLinked=!0,un;case\".\":return W0(gn),gn.next(),r1(et,9,\".\");case\":\":return W0(gn),gn.next(),r1(et,10,\":\");default:return Ct(gn)?(un=r1(et,1,ma(gn)),et.braceNest=0,et.inLinked=!1,un):Gx(gn,et)||qe(gn,et)?(W0(gn),Ua(gn,et)):ve(gn,et)?(W0(gn),r1(et,12,pu(gn))):Jt(gn,et)?(W0(gn),jn===\"{\"?ja(gn,et)||un:r1(et,11,mi(gn))):(Sr===8&&t1(9,K(),0),et.braceNest=0,et.inLinked=!1,aa(gn,et))}}function aa(gn,et){let Sr={type:14};if(et.braceNest>0)return ja(gn,et)||F1(et);if(et.inLinked)return Ua(gn,et)||F1(et);const un=gn.currentChar();switch(un){case\"{\":return ja(gn,et)||F1(et);case\"}\":return t1(5,K(),0),gn.next(),r1(et,3,\"}\");case\"@\":return Ua(gn,et)||F1(et);default:if(Ct(gn))return Sr=r1(et,1,ma(gn)),et.braceNest=0,et.inLinked=!1,Sr;if(vn(gn))return r1(et,0,cr(gn));if(un===\"%\")return gn.next(),r1(et,4,\"%\");break}return Sr}function Os(){const{currentType:gn,offset:et,startLoc:Sr,endLoc:un}=F0;return F0.lastType=gn,F0.lastOffset=et,F0.lastStartLoc=Sr,F0.lastEndLoc=un,F0.offset=R(),F0.startLoc=K(),b.currentChar()===P$?r1(F0,14):aa(b,F0)}return{nextToken:Os,currentOffset:R,currentPosition:K,context:J0}}const rbx=\"parser\",nbx=/(?:\\\\\\\\|\\\\'|\\\\u([0-9a-fA-F]{4})|\\\\U([0-9a-fA-F]{6}))/g;function ibx(a,u,c){switch(a){case\"\\\\\\\\\":return\"\\\\\";case\"\\\\'\":return\"'\";default:{const b=parseInt(u||c,16);return b<=55295||b>=57344?String.fromCodePoint(b):\"\\uFFFD\"}}}function abx(a={}){const u=a.location!==!1,{onError:c}=a;function b(i1,x1,ux,K1,...ee){const Gx=i1.currentPosition();if(Gx.offset+=K1,Gx.column+=K1,c){const ve=di0(ux,Gx),qe=VZ(x1,ve,{domain:rbx,args:ee});c(qe)}}function R(i1,x1,ux){const K1={type:i1,start:x1,end:x1};return u&&(K1.loc={start:ux,end:ux}),K1}function K(i1,x1,ux,K1){i1.end=x1,K1&&(i1.type=K1),u&&i1.loc&&(i1.loc.end=ux)}function s0(i1,x1){const ux=i1.context(),K1=R(3,ux.offset,ux.startLoc);return K1.value=x1,K(K1,i1.currentOffset(),i1.currentPosition()),K1}function Y(i1,x1){const ux=i1.context(),{lastOffset:K1,lastStartLoc:ee}=ux,Gx=R(5,K1,ee);return Gx.index=parseInt(x1,10),i1.nextToken(),K(Gx,i1.currentOffset(),i1.currentPosition()),Gx}function F0(i1,x1){const ux=i1.context(),{lastOffset:K1,lastStartLoc:ee}=ux,Gx=R(4,K1,ee);return Gx.key=x1,i1.nextToken(),K(Gx,i1.currentOffset(),i1.currentPosition()),Gx}function J0(i1,x1){const ux=i1.context(),{lastOffset:K1,lastStartLoc:ee}=ux,Gx=R(9,K1,ee);return Gx.value=x1.replace(nbx,ibx),i1.nextToken(),K(Gx,i1.currentOffset(),i1.currentPosition()),Gx}function e1(i1){const x1=i1.nextToken(),ux=i1.context(),{lastOffset:K1,lastStartLoc:ee}=ux,Gx=R(8,K1,ee);return x1.type!==12?(b(i1,11,ux.lastStartLoc,0),Gx.value=\"\",K(Gx,K1,ee),{nextConsumeToken:x1,node:Gx}):(x1.value==null&&b(i1,13,ux.lastStartLoc,0,Uj(x1)),Gx.value=x1.value||\"\",K(Gx,i1.currentOffset(),i1.currentPosition()),{node:Gx})}function t1(i1,x1){const ux=i1.context(),K1=R(7,ux.offset,ux.startLoc);return K1.value=x1,K(K1,i1.currentOffset(),i1.currentPosition()),K1}function r1(i1){const x1=i1.context(),ux=R(6,x1.offset,x1.startLoc);let K1=i1.nextToken();if(K1.type===9){const ee=e1(i1);ux.modifier=ee.node,K1=ee.nextConsumeToken||i1.nextToken()}switch(K1.type!==10&&b(i1,13,x1.lastStartLoc,0,Uj(K1)),K1=i1.nextToken(),K1.type===2&&(K1=i1.nextToken()),K1.type){case 11:K1.value==null&&b(i1,13,x1.lastStartLoc,0,Uj(K1)),ux.key=t1(i1,K1.value||\"\");break;case 5:K1.value==null&&b(i1,13,x1.lastStartLoc,0,Uj(K1)),ux.key=F0(i1,K1.value||\"\");break;case 6:K1.value==null&&b(i1,13,x1.lastStartLoc,0,Uj(K1)),ux.key=Y(i1,K1.value||\"\");break;case 7:K1.value==null&&b(i1,13,x1.lastStartLoc,0,Uj(K1)),ux.key=J0(i1,K1.value||\"\");break;default:b(i1,12,x1.lastStartLoc,0);const ee=i1.context(),Gx=R(7,ee.offset,ee.startLoc);return Gx.value=\"\",K(Gx,ee.offset,ee.startLoc),ux.key=Gx,K(ux,ee.offset,ee.startLoc),{nextConsumeToken:K1,node:ux}}return K(ux,i1.currentOffset(),i1.currentPosition()),{node:ux}}function F1(i1){const x1=i1.context(),ux=x1.currentType===1?i1.currentOffset():x1.offset,K1=x1.currentType===1?x1.endLoc:x1.startLoc,ee=R(2,ux,K1);ee.items=[];let Gx=null;do{const Jt=Gx||i1.nextToken();switch(Gx=null,Jt.type){case 0:Jt.value==null&&b(i1,13,x1.lastStartLoc,0,Uj(Jt)),ee.items.push(s0(i1,Jt.value||\"\"));break;case 6:Jt.value==null&&b(i1,13,x1.lastStartLoc,0,Uj(Jt)),ee.items.push(Y(i1,Jt.value||\"\"));break;case 5:Jt.value==null&&b(i1,13,x1.lastStartLoc,0,Uj(Jt)),ee.items.push(F0(i1,Jt.value||\"\"));break;case 7:Jt.value==null&&b(i1,13,x1.lastStartLoc,0,Uj(Jt)),ee.items.push(J0(i1,Jt.value||\"\"));break;case 8:const Ct=r1(i1);ee.items.push(Ct.node),Gx=Ct.nextConsumeToken||null;break}}while(x1.currentType!==14&&x1.currentType!==1);const ve=x1.currentType===1?x1.lastOffset:i1.currentOffset(),qe=x1.currentType===1?x1.lastEndLoc:i1.currentPosition();return K(ee,ve,qe),ee}function a1(i1,x1,ux,K1){const ee=i1.context();let Gx=K1.items.length===0;const ve=R(1,x1,ux);ve.cases=[],ve.cases.push(K1);do{const qe=F1(i1);Gx||(Gx=qe.items.length===0),ve.cases.push(qe)}while(ee.currentType!==14);return Gx&&b(i1,10,ux,0),K(ve,i1.currentOffset(),i1.currentPosition()),ve}function D1(i1){const x1=i1.context(),{offset:ux,startLoc:K1}=x1,ee=F1(i1);return x1.currentType===14?ee:a1(i1,ux,K1,ee)}function W0(i1){const x1=tbx(i1,k$({},a)),ux=x1.context(),K1=R(0,ux.offset,ux.startLoc);return u&&K1.loc&&(K1.loc.source=i1),K1.body=D1(x1),ux.currentType!==14&&b(x1,13,ux.lastStartLoc,0,i1[ux.offset]||\"\"),K(K1,x1.currentOffset(),x1.currentPosition()),K1}return{parse:W0}}function Uj(a){if(a.type===14)return\"EOF\";const u=(a.value||\"\").replace(/\\r?\\n/gu,\"\\\\n\");return u.length>10?u.slice(0,9)+\"\\u2026\":u}function obx(a,u={}){const c={ast:a,helpers:new Set};return{context:()=>c,helper:K=>(c.helpers.add(K),K)}}function Ey0(a,u){for(let c=0;c<a.length;c++)mi0(a[c],u)}function mi0(a,u){switch(a.type){case 1:Ey0(a.cases,u),u.helper(\"plural\");break;case 2:Ey0(a.items,u);break;case 6:mi0(a.key,u),u.helper(\"linked\");break;case 5:u.helper(\"interpolate\"),u.helper(\"list\");break;case 4:u.helper(\"interpolate\"),u.helper(\"named\");break}}function sbx(a,u={}){const c=obx(a);c.helper(\"normalize\"),a.body&&mi0(a.body,c);const b=c.context();a.helpers=Array.from(b.helpers)}function ubx(a,u){const{sourceMap:c,filename:b,breakLineCode:R,needIndent:K}=u,s0={source:a.loc.source,filename:b,code:\"\",column:1,line:1,offset:0,map:void 0,breakLineCode:R,needIndent:K,indentLevel:0},Y=()=>s0;function F0(D1,W0){s0.code+=D1}function J0(D1,W0=!0){const i1=W0?R:\"\";F0(K?i1+\"  \".repeat(D1):i1)}function e1(D1=!0){const W0=++s0.indentLevel;D1&&J0(W0)}function t1(D1=!0){const W0=--s0.indentLevel;D1&&J0(W0)}function r1(){J0(s0.indentLevel)}return{context:Y,push:F0,indent:e1,deindent:t1,newline:r1,helper:D1=>`_${D1}`,needIndent:()=>s0.needIndent}}function cbx(a,u){const{helper:c}=a;a.push(`${c(\"linked\")}(`),KW(a,u.key),u.modifier&&(a.push(\", \"),KW(a,u.modifier)),a.push(\")\")}function lbx(a,u){const{helper:c,needIndent:b}=a;a.push(`${c(\"normalize\")}([`),a.indent(b());const R=u.items.length;for(let K=0;K<R&&(KW(a,u.items[K]),K!==R-1);K++)a.push(\", \");a.deindent(b()),a.push(\"])\")}function fbx(a,u){const{helper:c,needIndent:b}=a;if(u.cases.length>1){a.push(`${c(\"plural\")}([`),a.indent(b());const R=u.cases.length;for(let K=0;K<R&&(KW(a,u.cases[K]),K!==R-1);K++)a.push(\", \");a.deindent(b()),a.push(\"])\")}}function pbx(a,u){u.body?KW(a,u.body):a.push(\"null\")}function KW(a,u){const{helper:c}=a;switch(u.type){case 0:pbx(a,u);break;case 1:fbx(a,u);break;case 2:lbx(a,u);break;case 6:cbx(a,u);break;case 8:a.push(JSON.stringify(u.value),u);break;case 7:a.push(JSON.stringify(u.value),u);break;case 5:a.push(`${c(\"interpolate\")}(${c(\"list\")}(${u.index}))`,u);break;case 4:a.push(`${c(\"interpolate\")}(${c(\"named\")}(${JSON.stringify(u.key)}))`,u);break;case 9:a.push(JSON.stringify(u.value),u);break;case 3:a.push(JSON.stringify(u.value),u);break}}const dbx=(a,u={})=>{const c=cF(u.mode)?u.mode:\"normal\",b=cF(u.filename)?u.filename:\"message.intl\",R=!!u.sourceMap,K=u.breakLineCode!=null?u.breakLineCode:c===\"arrow\"?\";\":`\n`,s0=u.needIndent?u.needIndent:c!==\"arrow\",Y=a.helpers||[],F0=ubx(a,{mode:c,filename:b,sourceMap:R,breakLineCode:K,needIndent:s0});F0.push(c===\"normal\"?\"function __msg__ (ctx) {\":\"(ctx) => {\"),F0.indent(s0),Y.length>0&&(F0.push(`const { ${Y.map(t1=>`${t1}: _${t1}`).join(\", \")} } = ctx`),F0.newline()),F0.push(\"return \"),KW(F0,a),F0.deindent(s0),F0.push(\"}\");const{code:J0,map:e1}=F0.context();return{ast:a,code:J0,map:e1?e1.toJSON():void 0}};function mbx(a,u={}){const c=k$({},u),R=abx(c).parse(a);return sbx(R,c),dbx(R,c)}/*!\n  * @intlify/devtools-if v9.1.7\n  * (c) 2021 kazuya kawaguchi\n  * Released under the MIT License.\n  */const Sy0={I18nInit:\"i18n:init\",FunctionTranslate:\"function:translate\"};/*!\n  * @intlify/core-base v9.1.7\n  * (c) 2021 kazuya kawaguchi\n  * Released under the MIT License.\n  */let zW=null;function hbx(a){zW=a}function gbx(){return zW}function Fy0(a,u,c){zW&&zW.emit(Sy0.I18nInit,{timestamp:Date.now(),i18n:a,version:u,meta:c})}const Ay0=_bx(Sy0.FunctionTranslate);function _bx(a){return u=>zW&&zW.emit(a,u)}const ybx={[0]:\"Not found '{key}' key in '{locale}' locale messages.\",[1]:\"Fall back to translate '{key}' key with '{target}' locale.\",[2]:\"Cannot format a number value due to not supported Intl.NumberFormat.\",[3]:\"Fall back to number format '{key}' key with '{target}' locale.\",[4]:\"Cannot format a date value due to not supported Intl.DateTimeFormat.\",[5]:\"Fall back to datetime format '{key}' key with '{target}' locale.\"};function Dbx(a,...u){return uy0(ybx[a],...u)}const Ty0=\"9.1.7\",$Z=-1,vbx=\"\";function bbx(){return{upper:a=>cF(a)?a.toUpperCase():a,lower:a=>cF(a)?a.toLowerCase():a,capitalize:a=>cF(a)?`${a.charAt(0).toLocaleUpperCase()}${a.substr(1)}`:a}}let wy0;function Cbx(a){wy0=a}let ky0=null;const Ebx=a=>{ky0=a},Ny0=()=>ky0;let Py0=0;function Sbx(a={}){const u=cF(a.version)?a.version:Ty0,c=cF(a.locale)?a.locale:\"en-US\",b=uV(a.fallbackLocale)||Uw(a.fallbackLocale)||cF(a.fallbackLocale)||a.fallbackLocale===!1?a.fallbackLocale:c,R=Uw(a.messages)?a.messages:{[c]:{}},K=Uw(a.datetimeFormats)?a.datetimeFormats:{[c]:{}},s0=Uw(a.numberFormats)?a.numberFormats:{[c]:{}},Y=k$({},a.modifiers||{},bbx()),F0=a.pluralRules||{},J0=vO(a.missing)?a.missing:null,e1=bO(a.missingWarn)||ui0(a.missingWarn)?a.missingWarn:!0,t1=bO(a.fallbackWarn)||ui0(a.fallbackWarn)?a.fallbackWarn:!0,r1=!!a.fallbackFormat,F1=!!a.unresolving,a1=vO(a.postTranslation)?a.postTranslation:null,D1=Uw(a.processor)?a.processor:null,W0=bO(a.warnHtmlMessage)?a.warnHtmlMessage:!0,i1=!!a.escapeParameter,x1=vO(a.messageCompiler)?a.messageCompiler:wy0,ux=vO(a.onWarn)?a.onWarn:py0,K1=a,ee=jj(K1.__datetimeFormatters)?K1.__datetimeFormatters:new Map,Gx=jj(K1.__numberFormatters)?K1.__numberFormatters:new Map,ve=jj(K1.__meta)?K1.__meta:{};Py0++;const qe={version:u,cid:Py0,locale:c,fallbackLocale:b,messages:R,datetimeFormats:K,numberFormats:s0,modifiers:Y,pluralRules:F0,missing:J0,missingWarn:e1,fallbackWarn:t1,fallbackFormat:r1,unresolving:F1,postTranslation:a1,processor:D1,warnHtmlMessage:W0,escapeParameter:i1,messageCompiler:x1,onWarn:ux,__datetimeFormatters:ee,__numberFormatters:Gx,__meta:ve};return __INTLIFY_PROD_DEVTOOLS__&&Fy0(qe,u,ve),qe}function Fbx(a,u){return a instanceof RegExp?a.test(u):a}function Abx(a,u){return a instanceof RegExp?a.test(u):a}function KZ(a,u,c,b,R){const{missing:K,onWarn:s0}=a;if(K!==null){const Y=K(a,c,u,R);return cF(Y)?Y:u}else return u}function iH(a,u,c){const b=a;b.__localeChainCache||(b.__localeChainCache=new Map);let R=b.__localeChainCache.get(c);if(!R){R=[];let K=[c];for(;uV(K);)K=Iy0(R,K,u);const s0=uV(u)?u:Uw(u)?u.default?u.default:null:u;K=cF(s0)?[s0]:s0,uV(K)&&Iy0(R,K,!1),b.__localeChainCache.set(c,R)}return R}function Iy0(a,u,c){let b=!0;for(let R=0;R<u.length&&bO(b);R++){const K=u[R];cF(K)&&(b=Tbx(a,u[R],c))}return b}function Tbx(a,u,c){let b;const R=u.split(\"-\");do{const K=R.join(\"-\");b=wbx(a,K,c),R.splice(-1,1)}while(R.length&&b===!0);return b}function wbx(a,u,c){let b=!1;if(!a.includes(u)&&(b=!0,u)){b=u[u.length-1]!==\"!\";const R=u.replace(/!/g,\"\");a.push(R),(uV(c)||Uw(c))&&c[R]&&(b=c[R])}return b}function kbx(a,u,c){const b=a;b.__localeChainCache=new Map,iH(a,c,u)}const Nbx=a=>a;let hi0=Object.create(null);function Pbx(){hi0=Object.create(null)}function Ibx(a,u={}){{const b=(u.onCacheKey||Nbx)(a),R=hi0[b];if(R)return R;let K=!1;const s0=u.onError||Gvx;u.onError=J0=>{K=!0,s0(J0)};const{code:Y}=mbx(a,u),F0=new Function(`return ${Y}`)();return K?F0:hi0[b]=F0}}function dz(a){return VZ(a,null,void 0)}const Oy0=()=>\"\",rR=a=>vO(a);function Obx(a,...u){const{fallbackFormat:c,postTranslation:b,unresolving:R,fallbackLocale:K,messages:s0}=a,[Y,F0]=Ly0(...u),J0=bO(F0.missingWarn)?F0.missingWarn:a.missingWarn,e1=bO(F0.fallbackWarn)?F0.fallbackWarn:a.fallbackWarn,t1=bO(F0.escapeParameter)?F0.escapeParameter:a.escapeParameter,r1=!!F0.resolvedMessage,F1=cF(F0.default)||bO(F0.default)?bO(F0.default)?Y:F0.default:c?Y:\"\",a1=c||F1!==\"\",D1=cF(F0.locale)?F0.locale:a.locale;t1&&Bbx(F0);let[W0,i1,x1]=r1?[Y,D1,s0[D1]||{}]:Lbx(a,Y,D1,K,e1,J0),ux=Y;if(!r1&&!(cF(W0)||rR(W0))&&a1&&(W0=F1,ux=W0),!r1&&(!(cF(W0)||rR(W0))||!cF(i1)))return R?$Z:Y;let K1=!1;const ee=()=>{K1=!0},Gx=rR(W0)?W0:By0(a,Y,i1,W0,ux,ee);if(K1)return W0;const ve=jbx(a,i1,x1,F0),qe=by0(ve),Jt=Mbx(a,Gx,qe),Ct=b?b(Jt):Jt;if(__INTLIFY_PROD_DEVTOOLS__){const vn={timestamp:Date.now(),key:cF(Y)?Y:rR(W0)?W0.key:\"\",locale:i1||(rR(W0)?W0.locale:\"\"),format:cF(W0)?W0:rR(W0)?W0.source:\"\",message:Ct};vn.meta=k$({},a.__meta,Ny0()||{}),Ay0(vn)}return Ct}function Bbx(a){uV(a.list)?a.list=a.list.map(u=>cF(u)?ci0(u):u):jj(a.named)&&Object.keys(a.named).forEach(u=>{cF(a.named[u])&&(a.named[u]=ci0(a.named[u]))})}function Lbx(a,u,c,b,R,K){const{messages:s0,onWarn:Y}=a,F0=iH(a,b,c);let J0={},e1,t1=null;const r1=\"translate\";for(let F1=0;F1<F0.length&&(e1=F0[F1],J0=s0[e1]||{},(t1=fi0(J0,u))===null&&(t1=J0[u]),!(cF(t1)||vO(t1)));F1++){const a1=KZ(a,u,e1,K,r1);a1!==u&&(t1=a1)}return[t1,e1,J0]}function By0(a,u,c,b,R,K){const{messageCompiler:s0,warnHtmlMessage:Y}=a;if(rR(b)){const J0=b;return J0.locale=J0.locale||c,J0.key=J0.key||u,J0}const F0=s0(b,Rbx(a,c,R,b,Y,K));return F0.locale=c,F0.key=u,F0.source=b,F0}function Mbx(a,u,c){return u(c)}function Ly0(...a){const[u,c,b]=a,R={};if(!cF(u)&&!DO(u)&&!rR(u))throw dz(14);const K=DO(u)?String(u):(rR(u),u);return DO(c)?R.plural=c:cF(c)?R.default=c:Uw(c)&&!RZ(c)?R.named=c:uV(c)&&(R.list=c),DO(b)?R.plural=b:cF(b)?R.default=b:Uw(b)&&k$(R,b),[K,R]}function Rbx(a,u,c,b,R,K){return{warnHtmlMessage:R,onError:s0=>{throw K&&K(s0),s0},onCacheKey:s0=>cy0(u,c,s0)}}function jbx(a,u,c,b){const{modifiers:R,pluralRules:K}=a,Y={locale:u,modifiers:R,pluralRules:K,messages:F0=>{const J0=fi0(c,F0);if(cF(J0)){let e1=!1;const r1=By0(a,F0,u,J0,F0,()=>{e1=!0});return e1?Oy0:r1}else return rR(J0)?J0:Oy0}};return a.processor&&(Y.processor=a.processor),b.list&&(Y.list=b.list),b.named&&(Y.named=b.named),DO(b.plural)&&(Y.pluralIndex=b.plural),Y}function Ubx(a,...u){const{datetimeFormats:c,unresolving:b,fallbackLocale:R,onWarn:K}=a,{__datetimeFormatters:s0}=a,[Y,F0,J0,e1]=My0(...u),t1=bO(J0.missingWarn)?J0.missingWarn:a.missingWarn;bO(J0.fallbackWarn)?J0.fallbackWarn:a.fallbackWarn;const r1=!!J0.part,F1=cF(J0.locale)?J0.locale:a.locale,a1=iH(a,R,F1);if(!cF(Y)||Y===\"\")return new Intl.DateTimeFormat(F1).format(F0);let D1={},W0,i1=null;const x1=\"datetime format\";for(let ee=0;ee<a1.length&&(W0=a1[ee],D1=c[W0]||{},i1=D1[Y],!Uw(i1));ee++)KZ(a,Y,W0,t1,x1);if(!Uw(i1)||!cF(W0))return b?$Z:Y;let ux=`${W0}__${Y}`;RZ(e1)||(ux=`${ux}__${JSON.stringify(e1)}`);let K1=s0.get(ux);return K1||(K1=new Intl.DateTimeFormat(W0,k$({},i1,e1)),s0.set(ux,K1)),r1?K1.formatToParts(F0):K1.format(F0)}function My0(...a){const[u,c,b,R]=a;let K={},s0={},Y;if(cF(u)){if(!/\\d{4}-\\d{2}-\\d{2}(T.*)?/.test(u))throw dz(16);Y=new Date(u);try{Y.toISOString()}catch{throw dz(16)}}else if(fy0(u)){if(isNaN(u.getTime()))throw dz(15);Y=u}else if(DO(u))Y=u;else throw dz(14);return cF(c)?K.key=c:Uw(c)&&(K=c),cF(b)?K.locale=b:Uw(b)&&(s0=b),Uw(R)&&(s0=R),[K.key||\"\",Y,K,s0]}function Vbx(a,u,c){const b=a;for(const R in c){const K=`${u}__${R}`;!b.__datetimeFormatters.has(K)||b.__datetimeFormatters.delete(K)}}function $bx(a,...u){const{numberFormats:c,unresolving:b,fallbackLocale:R,onWarn:K}=a,{__numberFormatters:s0}=a,[Y,F0,J0,e1]=Ry0(...u),t1=bO(J0.missingWarn)?J0.missingWarn:a.missingWarn;bO(J0.fallbackWarn)?J0.fallbackWarn:a.fallbackWarn;const r1=!!J0.part,F1=cF(J0.locale)?J0.locale:a.locale,a1=iH(a,R,F1);if(!cF(Y)||Y===\"\")return new Intl.NumberFormat(F1).format(F0);let D1={},W0,i1=null;const x1=\"number format\";for(let ee=0;ee<a1.length&&(W0=a1[ee],D1=c[W0]||{},i1=D1[Y],!Uw(i1));ee++)KZ(a,Y,W0,t1,x1);if(!Uw(i1)||!cF(W0))return b?$Z:Y;let ux=`${W0}__${Y}`;RZ(e1)||(ux=`${ux}__${JSON.stringify(e1)}`);let K1=s0.get(ux);return K1||(K1=new Intl.NumberFormat(W0,k$({},i1,e1)),s0.set(ux,K1)),r1?K1.formatToParts(F0):K1.format(F0)}function Ry0(...a){const[u,c,b,R]=a;let K={},s0={};if(!DO(u))throw dz(14);const Y=u;return cF(c)?K.key=c:Uw(c)&&(K=c),cF(b)?K.locale=b:Uw(b)&&(s0=b),Uw(R)&&(s0=R),[K.key||\"\",Y,K,s0]}function Kbx(a,u,c){const b=a;for(const R in c){const K=`${u}__${R}`;!b.__numberFormatters.has(K)||b.__numberFormatters.delete(K)}}typeof __INTLIFY_PROD_DEVTOOLS__!=\"boolean\"&&(my0().__INTLIFY_PROD_DEVTOOLS__=!1);var zbx=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",MISSING_RESOLVE_VALUE:vbx,NOT_REOSLVED:$Z,VERSION:Ty0,clearCompileCache:Pbx,clearDateTimeFormat:Vbx,clearNumberFormat:Kbx,compileToFunction:Ibx,createCoreContext:Sbx,createCoreError:dz,datetime:Ubx,getAdditionalMeta:Ny0,getDevToolsHook:gbx,getLocaleChain:iH,getWarnMessage:Dbx,handleMissing:KZ,initI18nDevTools:Fy0,isMessageFunction:rR,isTranslateFallbackWarn:Fbx,isTranslateMissingWarn:Abx,number:$bx,parseDateTimeArgs:My0,parseNumberArgs:Ry0,parseTranslateArgs:Ly0,registerMessageCompiler:Cbx,setAdditionalMeta:Ebx,setDevToolsHook:hbx,translate:Obx,translateDevTools:Ay0,updateFallbackLocale:kbx,createCompileError:VZ,handleFlatJson:pi0,parse:_y0,resolveValue:fi0,DEFAULT_MESSAGE_DATA_TYPE:Dy0,createMessageContext:by0}),Wbx=BQ(zbx),jy0=BQ(jyx);/*!\n  * vue-i18n v9.1.7\n  * (c) 2021 kazuya kawaguchi\n  * Released under the MIT License.\n  */Object.defineProperty(w$,\"__esModule\",{value:!0});var Nu=Bvx,N4=Wbx,eT=jy0;const Uy0=\"9.1.7\",qbx={[6]:\"Fall back to {type} '{key}' with root locale.\",[7]:\"Not supported 'preserve'.\",[8]:\"Not supported 'formatter'.\",[9]:\"Not supported 'preserveDirectiveContent'.\",[10]:\"Not supported 'getChoiceIndex'.\",[11]:\"Component name legacy compatible: '{name}' -> 'i18n'\",[12]:\"Not found parent scope. use the global scope.\"};function nR(a,...u){return Nu.format(qbx[a],...u)}function UP(a,...u){return N4.createCompileError(a,null,{messages:Jbx,args:u})}const Jbx={[14]:\"Unexpected return type in composer\",[15]:\"Invalid argument\",[16]:\"Must be called at the top of a `setup` function\",[17]:\"Need to install with `app.use` function\",[22]:\"Unexpected error\",[18]:\"Not available in legacy mode\",[19]:\"Required in value: {0}\",[20]:\"Invalid value\",[21]:\"Cannot setup vue-devtools plugin\"},gi0=\"__INTLIFY_META__\",_i0=Nu.makeSymbol(\"__transrateVNode\"),yi0=Nu.makeSymbol(\"__datetimeParts\"),Di0=Nu.makeSymbol(\"__numberParts\"),vi0=Nu.makeSymbol(\"__enableEmitter\"),bi0=Nu.makeSymbol(\"__disableEmitter\"),Vy0=Nu.makeSymbol(\"__setPluralRules\");Nu.makeSymbol(\"__intlifyMeta\");let $y0=0;function Ky0(a){return(u,c,b,R)=>a(c,b,eT.getCurrentInstance()||void 0,R)}function Ci0(a,u){const{messages:c,__i18n:b}=u,R=Nu.isPlainObject(c)?c:Nu.isArray(b)?{}:{[a]:{}};if(Nu.isArray(b)&&b.forEach(({locale:K,resource:s0})=>{K?(R[K]=R[K]||{},WZ(s0,R[K])):WZ(s0,R)}),u.flatJson)for(const K in R)Nu.hasOwn(R,K)&&N4.handleFlatJson(R[K]);return R}const zZ=a=>!Nu.isObject(a)||Nu.isArray(a);function WZ(a,u){if(zZ(a)||zZ(u))throw UP(20);for(const c in a)Nu.hasOwn(a,c)&&(zZ(a[c])||zZ(u[c])?u[c]=a[c]:WZ(a[c],u[c]))}const Hbx=()=>{const a=eT.getCurrentInstance();return a&&a.type[gi0]?{[gi0]:a.type[gi0]}:null};function Ei0(a={}){const{__root:u}=a,c=u===void 0;let b=Nu.isBoolean(a.inheritLocale)?a.inheritLocale:!0;const R=eT.ref(u&&b?u.locale.value:Nu.isString(a.locale)?a.locale:\"en-US\"),K=eT.ref(u&&b?u.fallbackLocale.value:Nu.isString(a.fallbackLocale)||Nu.isArray(a.fallbackLocale)||Nu.isPlainObject(a.fallbackLocale)||a.fallbackLocale===!1?a.fallbackLocale:R.value),s0=eT.ref(Ci0(R.value,a)),Y=eT.ref(Nu.isPlainObject(a.datetimeFormats)?a.datetimeFormats:{[R.value]:{}}),F0=eT.ref(Nu.isPlainObject(a.numberFormats)?a.numberFormats:{[R.value]:{}});let J0=u?u.missingWarn:Nu.isBoolean(a.missingWarn)||Nu.isRegExp(a.missingWarn)?a.missingWarn:!0,e1=u?u.fallbackWarn:Nu.isBoolean(a.fallbackWarn)||Nu.isRegExp(a.fallbackWarn)?a.fallbackWarn:!0,t1=u?u.fallbackRoot:Nu.isBoolean(a.fallbackRoot)?a.fallbackRoot:!0,r1=!!a.fallbackFormat,F1=Nu.isFunction(a.missing)?a.missing:null,a1=Nu.isFunction(a.missing)?Ky0(a.missing):null,D1=Nu.isFunction(a.postTranslation)?a.postTranslation:null,W0=Nu.isBoolean(a.warnHtmlMessage)?a.warnHtmlMessage:!0,i1=!!a.escapeParameter;const x1=u?u.modifiers:Nu.isPlainObject(a.modifiers)?a.modifiers:{};let ux=a.pluralRules||u&&u.pluralRules,K1;function ee(){return N4.createCoreContext({version:Uy0,locale:R.value,fallbackLocale:K.value,messages:s0.value,datetimeFormats:Y.value,numberFormats:F0.value,modifiers:x1,pluralRules:ux,missing:a1===null?void 0:a1,missingWarn:J0,fallbackWarn:e1,fallbackFormat:r1,unresolving:!0,postTranslation:D1===null?void 0:D1,warnHtmlMessage:W0,escapeParameter:i1,__datetimeFormatters:Nu.isPlainObject(K1)?K1.__datetimeFormatters:void 0,__numberFormatters:Nu.isPlainObject(K1)?K1.__numberFormatters:void 0,__v_emitter:Nu.isPlainObject(K1)?K1.__v_emitter:void 0,__meta:{framework:\"vue\"}})}K1=ee(),N4.updateFallbackLocale(K1,R.value,K.value);function Gx(){return[R.value,K.value,s0.value,Y.value,F0.value]}const ve=eT.computed({get:()=>R.value,set:jr=>{R.value=jr,K1.locale=R.value}}),qe=eT.computed({get:()=>K.value,set:jr=>{K.value=jr,K1.fallbackLocale=K.value,N4.updateFallbackLocale(K1,R.value,jr)}}),Jt=eT.computed(()=>s0.value),Ct=eT.computed(()=>Y.value),vn=eT.computed(()=>F0.value);function _n(){return Nu.isFunction(D1)?D1:null}function Tr(jr){D1=jr,K1.postTranslation=jr}function Lr(){return F1}function Pn(jr){jr!==null&&(a1=Ky0(jr)),F1=jr,K1.missing=a1}function En(jr,Hn){return jr!==\"translate\"||!Hn.resolvedMessage}function cr(jr,Hn,wi,jo,bs,Ha){Gx();let qn;try{N4.setAdditionalMeta(Hbx()),qn=jr(K1)}finally{N4.setAdditionalMeta(null)}if(Nu.isNumber(qn)&&qn===N4.NOT_REOSLVED){const[Ki,es]=Hn();if(u&&Nu.isString(Ki)&&En(wi,es)){t1&&(N4.isTranslateFallbackWarn(e1,Ki)||N4.isTranslateMissingWarn(J0,Ki))&&Nu.warn(nR(6,{key:Ki,type:wi}));{const{__v_emitter:Ns}=K1;Ns&&t1&&Ns.emit(\"fallback\",{type:wi,key:Ki,to:\"global\",groupId:`${wi}:${Ki}`})}}return u&&t1?jo(u):bs(Ki)}else{if(Ha(qn))return qn;throw UP(14)}}function Ea(...jr){return cr(Hn=>N4.translate(Hn,...jr),()=>N4.parseTranslateArgs(...jr),\"translate\",Hn=>Hn.t(...jr),Hn=>Hn,Hn=>Nu.isString(Hn))}function Qn(...jr){const[Hn,wi,jo]=jr;if(jo&&!Nu.isObject(jo))throw UP(15);return Ea(Hn,wi,Nu.assign({resolvedMessage:!0},jo||{}))}function Bu(...jr){return cr(Hn=>N4.datetime(Hn,...jr),()=>N4.parseDateTimeArgs(...jr),\"datetime format\",Hn=>Hn.d(...jr),()=>N4.MISSING_RESOLVE_VALUE,Hn=>Nu.isString(Hn))}function Au(...jr){return cr(Hn=>N4.number(Hn,...jr),()=>N4.parseNumberArgs(...jr),\"number format\",Hn=>Hn.n(...jr),()=>N4.MISSING_RESOLVE_VALUE,Hn=>Nu.isString(Hn))}function Ec(jr){return jr.map(Hn=>Nu.isString(Hn)?eT.createVNode(eT.Text,null,Hn,0):Hn)}const pu={normalize:Ec,interpolate:jr=>jr,type:\"vnode\"};function mi(...jr){return cr(Hn=>{let wi;const jo=Hn;try{jo.processor=pu,wi=N4.translate(jo,...jr)}finally{jo.processor=null}return wi},()=>N4.parseTranslateArgs(...jr),\"translate\",Hn=>Hn[_i0](...jr),Hn=>[eT.createVNode(eT.Text,null,Hn,0)],Hn=>Nu.isArray(Hn))}function ma(...jr){return cr(Hn=>N4.number(Hn,...jr),()=>N4.parseNumberArgs(...jr),\"number format\",Hn=>Hn[Di0](...jr),()=>[],Hn=>Nu.isString(Hn)||Nu.isArray(Hn))}function ja(...jr){return cr(Hn=>N4.datetime(Hn,...jr),()=>N4.parseDateTimeArgs(...jr),\"datetime format\",Hn=>Hn[yi0](...jr),()=>[],Hn=>Nu.isString(Hn)||Nu.isArray(Hn))}function Ua(jr){ux=jr,K1.pluralRules=ux}function aa(jr,Hn){const wi=Nu.isString(Hn)?Hn:R.value,jo=et(wi);return N4.resolveValue(jo,jr)!==null}function Os(jr){let Hn=null;const wi=N4.getLocaleChain(K1,K.value,R.value);for(let jo=0;jo<wi.length;jo++){const bs=s0.value[wi[jo]]||{},Ha=N4.resolveValue(bs,jr);if(Ha!=null){Hn=Ha;break}}return Hn}function gn(jr){const Hn=Os(jr);return Hn!=null?Hn:u?u.tm(jr)||{}:{}}function et(jr){return s0.value[jr]||{}}function Sr(jr,Hn){s0.value[jr]=Hn,K1.messages=s0.value}function un(jr,Hn){s0.value[jr]=s0.value[jr]||{},WZ(Hn,s0.value[jr]),K1.messages=s0.value}function jn(jr){return Y.value[jr]||{}}function ea(jr,Hn){Y.value[jr]=Hn,K1.datetimeFormats=Y.value,N4.clearDateTimeFormat(K1,jr,Hn)}function wa(jr,Hn){Y.value[jr]=Nu.assign(Y.value[jr]||{},Hn),K1.datetimeFormats=Y.value,N4.clearDateTimeFormat(K1,jr,Hn)}function as(jr){return F0.value[jr]||{}}function zo(jr,Hn){F0.value[jr]=Hn,K1.numberFormats=F0.value,N4.clearNumberFormat(K1,jr,Hn)}function vo(jr,Hn){F0.value[jr]=Nu.assign(F0.value[jr]||{},Hn),K1.numberFormats=F0.value,N4.clearNumberFormat(K1,jr,Hn)}$y0++,u&&(eT.watch(u.locale,jr=>{b&&(R.value=jr,K1.locale=jr,N4.updateFallbackLocale(K1,R.value,K.value))}),eT.watch(u.fallbackLocale,jr=>{b&&(K.value=jr,K1.fallbackLocale=jr,N4.updateFallbackLocale(K1,R.value,K.value))}));const vi={id:$y0,locale:ve,fallbackLocale:qe,get inheritLocale(){return b},set inheritLocale(jr){b=jr,jr&&u&&(R.value=u.locale.value,K.value=u.fallbackLocale.value,N4.updateFallbackLocale(K1,R.value,K.value))},get availableLocales(){return Object.keys(s0.value).sort()},messages:Jt,datetimeFormats:Ct,numberFormats:vn,get modifiers(){return x1},get pluralRules(){return ux||{}},get isGlobal(){return c},get missingWarn(){return J0},set missingWarn(jr){J0=jr,K1.missingWarn=J0},get fallbackWarn(){return e1},set fallbackWarn(jr){e1=jr,K1.fallbackWarn=e1},get fallbackRoot(){return t1},set fallbackRoot(jr){t1=jr},get fallbackFormat(){return r1},set fallbackFormat(jr){r1=jr,K1.fallbackFormat=r1},get warnHtmlMessage(){return W0},set warnHtmlMessage(jr){W0=jr,K1.warnHtmlMessage=jr},get escapeParameter(){return i1},set escapeParameter(jr){i1=jr,K1.escapeParameter=jr},t:Ea,rt:Qn,d:Bu,n:Au,te:aa,tm:gn,getLocaleMessage:et,setLocaleMessage:Sr,mergeLocaleMessage:un,getDateTimeFormat:jn,setDateTimeFormat:ea,mergeDateTimeFormat:wa,getNumberFormat:as,setNumberFormat:zo,mergeNumberFormat:vo,getPostTranslationHandler:_n,setPostTranslationHandler:Tr,getMissingHandler:Lr,setMissingHandler:Pn,[_i0]:mi,[Di0]:ma,[yi0]:ja,[Vy0]:Ua};return vi[vi0]=jr=>{K1.__v_emitter=jr},vi[bi0]=()=>{K1.__v_emitter=void 0},vi}function Gbx(a){const u=Nu.isString(a.locale)?a.locale:\"en-US\",c=Nu.isString(a.fallbackLocale)||Nu.isArray(a.fallbackLocale)||Nu.isPlainObject(a.fallbackLocale)||a.fallbackLocale===!1?a.fallbackLocale:u,b=Nu.isFunction(a.missing)?a.missing:void 0,R=Nu.isBoolean(a.silentTranslationWarn)||Nu.isRegExp(a.silentTranslationWarn)?!a.silentTranslationWarn:!0,K=Nu.isBoolean(a.silentFallbackWarn)||Nu.isRegExp(a.silentFallbackWarn)?!a.silentFallbackWarn:!0,s0=Nu.isBoolean(a.fallbackRoot)?a.fallbackRoot:!0,Y=!!a.formatFallbackMessages,F0=Nu.isPlainObject(a.modifiers)?a.modifiers:{},J0=a.pluralizationRules,e1=Nu.isFunction(a.postTranslation)?a.postTranslation:void 0,t1=Nu.isString(a.warnHtmlInMessage)?a.warnHtmlInMessage!==\"off\":!0,r1=!!a.escapeParameterHtml,F1=Nu.isBoolean(a.sync)?a.sync:!0;a.formatter&&Nu.warn(nR(8)),a.preserveDirectiveContent&&Nu.warn(nR(9));let a1=a.messages;if(Nu.isPlainObject(a.sharedMessages)){const K1=a.sharedMessages;a1=Object.keys(K1).reduce((Gx,ve)=>{const qe=Gx[ve]||(Gx[ve]={});return Nu.assign(qe,K1[ve]),Gx},a1||{})}const{__i18n:D1,__root:W0}=a,i1=a.datetimeFormats,x1=a.numberFormats,ux=a.flatJson;return{locale:u,fallbackLocale:c,messages:a1,flatJson:ux,datetimeFormats:i1,numberFormats:x1,missing:b,missingWarn:R,fallbackWarn:K,fallbackRoot:s0,fallbackFormat:Y,modifiers:F0,pluralRules:J0,postTranslation:e1,warnHtmlMessage:t1,escapeParameter:r1,inheritLocale:F1,__i18n:D1,__root:W0}}function Si0(a={}){const u=Ei0(Gbx(a)),c={id:u.id,get locale(){return u.locale.value},set locale(b){u.locale.value=b},get fallbackLocale(){return u.fallbackLocale.value},set fallbackLocale(b){u.fallbackLocale.value=b},get messages(){return u.messages.value},get datetimeFormats(){return u.datetimeFormats.value},get numberFormats(){return u.numberFormats.value},get availableLocales(){return u.availableLocales},get formatter(){return Nu.warn(nR(8)),{interpolate(){return[]}}},set formatter(b){Nu.warn(nR(8))},get missing(){return u.getMissingHandler()},set missing(b){u.setMissingHandler(b)},get silentTranslationWarn(){return Nu.isBoolean(u.missingWarn)?!u.missingWarn:u.missingWarn},set silentTranslationWarn(b){u.missingWarn=Nu.isBoolean(b)?!b:b},get silentFallbackWarn(){return Nu.isBoolean(u.fallbackWarn)?!u.fallbackWarn:u.fallbackWarn},set silentFallbackWarn(b){u.fallbackWarn=Nu.isBoolean(b)?!b:b},get modifiers(){return u.modifiers},get formatFallbackMessages(){return u.fallbackFormat},set formatFallbackMessages(b){u.fallbackFormat=b},get postTranslation(){return u.getPostTranslationHandler()},set postTranslation(b){u.setPostTranslationHandler(b)},get sync(){return u.inheritLocale},set sync(b){u.inheritLocale=b},get warnHtmlInMessage(){return u.warnHtmlMessage?\"warn\":\"off\"},set warnHtmlInMessage(b){u.warnHtmlMessage=b!==\"off\"},get escapeParameterHtml(){return u.escapeParameter},set escapeParameterHtml(b){u.escapeParameter=b},get preserveDirectiveContent(){return Nu.warn(nR(9)),!0},set preserveDirectiveContent(b){Nu.warn(nR(9))},get pluralizationRules(){return u.pluralRules||{}},__composer:u,t(...b){const[R,K,s0]=b,Y={};let F0=null,J0=null;if(!Nu.isString(R))throw UP(15);const e1=R;return Nu.isString(K)?Y.locale=K:Nu.isArray(K)?F0=K:Nu.isPlainObject(K)&&(J0=K),Nu.isArray(s0)?F0=s0:Nu.isPlainObject(s0)&&(J0=s0),u.t(e1,F0||J0||{},Y)},rt(...b){return u.rt(...b)},tc(...b){const[R,K,s0]=b,Y={plural:1};let F0=null,J0=null;if(!Nu.isString(R))throw UP(15);const e1=R;return Nu.isString(K)?Y.locale=K:Nu.isNumber(K)?Y.plural=K:Nu.isArray(K)?F0=K:Nu.isPlainObject(K)&&(J0=K),Nu.isString(s0)?Y.locale=s0:Nu.isArray(s0)?F0=s0:Nu.isPlainObject(s0)&&(J0=s0),u.t(e1,F0||J0||{},Y)},te(b,R){return u.te(b,R)},tm(b){return u.tm(b)},getLocaleMessage(b){return u.getLocaleMessage(b)},setLocaleMessage(b,R){u.setLocaleMessage(b,R)},mergeLocaleMessage(b,R){u.mergeLocaleMessage(b,R)},d(...b){return u.d(...b)},getDateTimeFormat(b){return u.getDateTimeFormat(b)},setDateTimeFormat(b,R){u.setDateTimeFormat(b,R)},mergeDateTimeFormat(b,R){u.mergeDateTimeFormat(b,R)},n(...b){return u.n(...b)},getNumberFormat(b){return u.getNumberFormat(b)},setNumberFormat(b,R){u.setNumberFormat(b,R)},mergeNumberFormat(b,R){u.mergeNumberFormat(b,R)},getChoiceIndex(b,R){return Nu.warn(nR(10)),-1},__onComponentInstanceCreated(b){const{componentInstanceCreatedListener:R}=a;R&&R(b,c)}};return c.__enableEmitter=b=>{const R=u;R[vi0]&&R[vi0](b)},c.__disableEmitter=()=>{const b=u;b[bi0]&&b[bi0]()},c}const Fi0={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:a=>a===\"parent\"||a===\"global\",default:\"parent\"},i18n:{type:Object}},qZ={name:\"i18n-t\",props:Nu.assign({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:a=>Nu.isNumber(a)||!isNaN(a)}},Fi0),setup(a,u){const{slots:c,attrs:b}=u,R=a.i18n||JZ({useScope:a.scope}),K=Object.keys(c).filter(s0=>s0!==\"_\");return()=>{const s0={};a.locale&&(s0.locale=a.locale),a.plural!==void 0&&(s0.plural=Nu.isString(a.plural)?+a.plural:a.plural);const Y=Xbx(u,K),F0=R[_i0](a.keypath,Y,s0),J0=Nu.assign({},b);return Nu.isString(a.tag)||Nu.isObject(a.tag)?eT.h(a.tag,J0,F0):eT.h(eT.Fragment,J0,F0)}}};function Xbx({slots:a},u){return u.length===1&&u[0]===\"default\"?a.default?a.default():[]:u.reduce((c,b)=>{const R=a[b];return R&&(c[b]=R()),c},{})}function zy0(a,u,c,b){const{slots:R,attrs:K}=u;return()=>{const s0={part:!0};let Y={};a.locale&&(s0.locale=a.locale),Nu.isString(a.format)?s0.key=a.format:Nu.isObject(a.format)&&(Nu.isString(a.format.key)&&(s0.key=a.format.key),Y=Object.keys(a.format).reduce((t1,r1)=>c.includes(r1)?Nu.assign({},t1,{[r1]:a.format[r1]}):t1,{}));const F0=b(a.value,s0,Y);let J0=[s0.key];Nu.isArray(F0)?J0=F0.map((t1,r1)=>{const F1=R[t1.type];return F1?F1({[t1.type]:t1.value,index:r1,parts:F0}):[t1.value]}):Nu.isString(F0)&&(J0=[F0]);const e1=Nu.assign({},K);return Nu.isString(a.tag)||Nu.isObject(a.tag)?eT.h(a.tag,e1,J0):eT.h(eT.Fragment,e1,J0)}}const Ybx=[\"localeMatcher\",\"style\",\"unit\",\"unitDisplay\",\"currency\",\"currencyDisplay\",\"useGrouping\",\"numberingSystem\",\"minimumIntegerDigits\",\"minimumFractionDigits\",\"maximumFractionDigits\",\"minimumSignificantDigits\",\"maximumSignificantDigits\",\"notation\",\"formatMatcher\"],Ai0={name:\"i18n-n\",props:Nu.assign({value:{type:Number,required:!0},format:{type:[String,Object]}},Fi0),setup(a,u){const c=a.i18n||JZ({useScope:\"parent\"});return zy0(a,u,Ybx,(...b)=>c[Di0](...b))}},Qbx=[\"dateStyle\",\"timeStyle\",\"fractionalSecondDigits\",\"calendar\",\"dayPeriod\",\"numberingSystem\",\"localeMatcher\",\"timeZone\",\"hour12\",\"hourCycle\",\"formatMatcher\",\"weekday\",\"era\",\"year\",\"month\",\"day\",\"hour\",\"minute\",\"second\",\"timeZoneName\"],Ti0={name:\"i18n-d\",props:Nu.assign({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},Fi0),setup(a,u){const c=a.i18n||JZ({useScope:\"parent\"});return zy0(a,u,Qbx,(...b)=>c[yi0](...b))}};function Zbx(a,u){const c=a;if(a.mode===\"composition\")return c.__getInstance(u)||a.global;{const b=c.__getInstance(u);return b!=null?b.__composer:a.global.__composer}}function Wy0(a){const u=(c,{instance:b,value:R,modifiers:K})=>{if(!b||!b.$)throw UP(22);const s0=Zbx(a,b.$);K.preserve&&Nu.warn(nR(7));const Y=x7x(R);c.textContent=s0.t(...e7x(Y))};return{beforeMount:u,beforeUpdate:u}}function x7x(a){if(Nu.isString(a))return{path:a};if(Nu.isPlainObject(a)){if(!(\"path\"in a))throw UP(19,\"path\");return a}else throw UP(20)}function e7x(a){const{path:u,locale:c,args:b,choice:R,plural:K}=a,s0={},Y=b||{};return Nu.isString(c)&&(s0.locale=c),Nu.isNumber(R)&&(s0.plural=R),Nu.isNumber(K)&&(s0.plural=K),[u,Y,s0]}function t7x(a,u,...c){const b=Nu.isPlainObject(c[0])?c[0]:{},R=!!b.useI18nComponentName,K=Nu.isBoolean(b.globalInstall)?b.globalInstall:!0;K&&R&&Nu.warn(nR(11,{name:qZ.name})),K&&(a.component(R?\"i18n\":qZ.name,qZ),a.component(Ai0.name,Ai0),a.component(Ti0.name,Ti0)),a.directive(\"t\",Wy0(u))}function r7x(a,u,c){return{beforeCreate(){const b=eT.getCurrentInstance();if(!b)throw UP(22);const R=this.$options;if(R.i18n){const K=R.i18n;R.__i18n&&(K.__i18n=R.__i18n),K.__root=u,this===this.$root?this.$i18n=qy0(a,K):this.$i18n=Si0(K)}else R.__i18n?this===this.$root?this.$i18n=qy0(a,R):this.$i18n=Si0({__i18n:R.__i18n,__root:u}):this.$i18n=a;a.__onComponentInstanceCreated(this.$i18n),c.__setInstance(b,this.$i18n),this.$t=(...K)=>this.$i18n.t(...K),this.$rt=(...K)=>this.$i18n.rt(...K),this.$tc=(...K)=>this.$i18n.tc(...K),this.$te=(K,s0)=>this.$i18n.te(K,s0),this.$d=(...K)=>this.$i18n.d(...K),this.$n=(...K)=>this.$i18n.n(...K),this.$tm=K=>this.$i18n.tm(K)},mounted(){},beforeUnmount(){const b=eT.getCurrentInstance();if(!b)throw UP(22);delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,c.__deleteInstance(b),delete this.$i18n}}}function qy0(a,u){a.locale=u.locale||a.locale,a.fallbackLocale=u.fallbackLocale||a.fallbackLocale,a.missing=u.missing||a.missing,a.silentTranslationWarn=u.silentTranslationWarn||a.silentFallbackWarn,a.silentFallbackWarn=u.silentFallbackWarn||a.silentFallbackWarn,a.formatFallbackMessages=u.formatFallbackMessages||a.formatFallbackMessages,a.postTranslation=u.postTranslation||a.postTranslation,a.warnHtmlInMessage=u.warnHtmlInMessage||a.warnHtmlInMessage,a.escapeParameterHtml=u.escapeParameterHtml||a.escapeParameterHtml,a.sync=u.sync||a.sync,a.__composer[Vy0](u.pluralizationRules||a.pluralizationRules);const c=Ci0(a.locale,{messages:u.messages,__i18n:u.__i18n});return Object.keys(c).forEach(b=>a.mergeLocaleMessage(b,c[b])),u.datetimeFormats&&Object.keys(u.datetimeFormats).forEach(b=>a.mergeDateTimeFormat(b,u.datetimeFormats[b])),u.numberFormats&&Object.keys(u.numberFormats).forEach(b=>a.mergeNumberFormat(b,u.numberFormats[b])),a}function n7x(a={}){const u=Nu.isBoolean(a.legacy)?a.legacy:!0,c=!!a.globalInjection,b=new Map,R=u?Si0(a):Ei0(a),K=Nu.makeSymbol(\"vue-i18n\"),s0={get mode(){return u?\"legacy\":\"composition\"},async install(Y,...F0){Y.__VUE_I18N_SYMBOL__=K,Y.provide(Y.__VUE_I18N_SYMBOL__,s0),!u&&c&&u7x(Y,s0.global),t7x(Y,s0,...F0),u&&Y.mixin(r7x(R,R.__composer,s0))},get global(){return R},__instances:b,__getInstance(Y){return b.get(Y)||null},__setInstance(Y,F0){b.set(Y,F0)},__deleteInstance(Y){b.delete(Y)}};return s0}function JZ(a={}){const u=eT.getCurrentInstance();if(u==null)throw UP(16);if(!u.appContext.app.__VUE_I18N_SYMBOL__)throw UP(17);const c=eT.inject(u.appContext.app.__VUE_I18N_SYMBOL__);if(!c)throw UP(22);const b=c.mode===\"composition\"?c.global:c.global.__composer,R=Nu.isEmptyObject(a)?\"__i18n\"in u.type?\"local\":\"global\":a.useScope?a.useScope:\"local\";if(R===\"global\"){let Y=Nu.isObject(a.messages)?a.messages:{};\"__i18nGlobal\"in u.type&&(Y=Ci0(b.locale.value,{messages:Y,__i18n:u.type.__i18nGlobal}));const F0=Object.keys(Y);if(F0.length&&F0.forEach(J0=>{b.mergeLocaleMessage(J0,Y[J0])}),Nu.isObject(a.datetimeFormats)){const J0=Object.keys(a.datetimeFormats);J0.length&&J0.forEach(e1=>{b.mergeDateTimeFormat(e1,a.datetimeFormats[e1])})}if(Nu.isObject(a.numberFormats)){const J0=Object.keys(a.numberFormats);J0.length&&J0.forEach(e1=>{b.mergeNumberFormat(e1,a.numberFormats[e1])})}return b}if(R===\"parent\"){let Y=i7x(c,u);return Y==null&&(Nu.warn(nR(12)),Y=b),Y}if(c.mode===\"legacy\")throw UP(18);const K=c;let s0=K.__getInstance(u);if(s0==null){const Y=u.type,F0=Nu.assign({},a);Y.__i18n&&(F0.__i18n=Y.__i18n),b&&(F0.__root=b),s0=Ei0(F0),a7x(K,u),K.__setInstance(u,s0)}return s0}function i7x(a,u){let c=null;const b=u.root;let R=u.parent;for(;R!=null;){const K=a;if(a.mode===\"composition\")c=K.__getInstance(R);else{const s0=K.__getInstance(R);s0!=null&&(c=s0.__composer)}if(c!=null||b===R)break;R=R.parent}return c}function a7x(a,u,c){eT.onMounted(()=>{},u),eT.onUnmounted(()=>{a.__deleteInstance(u)},u)}const o7x=[\"locale\",\"fallbackLocale\",\"availableLocales\"],s7x=[\"t\",\"rt\",\"d\",\"n\",\"tm\"];function u7x(a,u){const c=Object.create(null);o7x.forEach(b=>{const R=Object.getOwnPropertyDescriptor(u,b);if(!R)throw UP(22);const K=eT.isRef(R.value)?{get(){return R.value.value},set(s0){R.value.value=s0}}:{get(){return R.get&&R.get()}};Object.defineProperty(c,b,K)}),a.config.globalProperties.$i18n=c,s7x.forEach(b=>{const R=Object.getOwnPropertyDescriptor(u,b);if(!R||!R.value)throw UP(22);Object.defineProperty(a.config.globalProperties,`$${b}`,R)})}N4.registerMessageCompiler(N4.compileToFunction);{const a=Nu.getGlobalThis();a.__INTLIFY__=!0,N4.setDevToolsHook(a.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}w$.DatetimeFormat=Ti0;w$.NumberFormat=Ai0;w$.Translation=qZ;w$.VERSION=Uy0;var kwx=w$.createI18n=n7x,Nwx=w$.useI18n=JZ;w$.vTDirective=Wy0;var c7x={exports:{}},iR={exports:{}};(function(a,u){(function(c,b){a.exports=b()})($F,function(){var c=typeof globalThis!=\"undefined\"?globalThis:typeof window!=\"undefined\"?window:typeof $F!=\"undefined\"?$F:typeof self!=\"undefined\"?self:{};function b(B0){return B0&&Object.prototype.hasOwnProperty.call(B0,\"default\")?B0.default:B0}function R(B0){var d={exports:{}};return B0(d,d.exports),d.exports}var K=function(B0){return B0&&B0.Math==Math&&B0},s0=K(typeof globalThis==\"object\"&&globalThis)||K(typeof window==\"object\"&&window)||K(typeof self==\"object\"&&self)||K(typeof c==\"object\"&&c)||function(){return this}()||Function(\"return this\")(),Y=function(B0){try{return!!B0()}catch{return!0}},F0=!Y(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7}),J0={}.propertyIsEnumerable,e1=Object.getOwnPropertyDescriptor,t1={f:e1&&!J0.call({1:2},1)?function(B0){var d=e1(this,B0);return!!d&&d.enumerable}:J0},r1=function(B0,d){return{enumerable:!(1&B0),configurable:!(2&B0),writable:!(4&B0),value:d}},F1={}.toString,a1=function(B0){return F1.call(B0).slice(8,-1)},D1=\"\".split,W0=Y(function(){return!Object(\"z\").propertyIsEnumerable(0)})?function(B0){return a1(B0)==\"String\"?D1.call(B0,\"\"):Object(B0)}:Object,i1=function(B0){if(B0==null)throw TypeError(\"Can't call method on \"+B0);return B0},x1=function(B0){return W0(i1(B0))},ux=function(B0){return typeof B0==\"object\"?B0!==null:typeof B0==\"function\"},K1=function(B0,d){if(!ux(B0))return B0;var N,C0;if(d&&typeof(N=B0.toString)==\"function\"&&!ux(C0=N.call(B0))||typeof(N=B0.valueOf)==\"function\"&&!ux(C0=N.call(B0))||!d&&typeof(N=B0.toString)==\"function\"&&!ux(C0=N.call(B0)))return C0;throw TypeError(\"Can't convert object to primitive value\")},ee=function(B0){return Object(i1(B0))},Gx={}.hasOwnProperty,ve=Object.hasOwn||function(B0,d){return Gx.call(ee(B0),d)},qe=s0.document,Jt=ux(qe)&&ux(qe.createElement),Ct=!F0&&!Y(function(){return Object.defineProperty((B0=\"div\",Jt?qe.createElement(B0):{}),\"a\",{get:function(){return 7}}).a!=7;var B0}),vn=Object.getOwnPropertyDescriptor,_n={f:F0?vn:function(B0,d){if(B0=x1(B0),d=K1(d,!0),Ct)try{return vn(B0,d)}catch{}if(ve(B0,d))return r1(!t1.f.call(B0,d),B0[d])}},Tr=function(B0){if(!ux(B0))throw TypeError(String(B0)+\" is not an object\");return B0},Lr=Object.defineProperty,Pn={f:F0?Lr:function(B0,d,N){if(Tr(B0),d=K1(d,!0),Tr(N),Ct)try{return Lr(B0,d,N)}catch{}if(\"get\"in N||\"set\"in N)throw TypeError(\"Accessors not supported\");return\"value\"in N&&(B0[d]=N.value),B0}},En=F0?function(B0,d,N){return Pn.f(B0,d,r1(1,N))}:function(B0,d,N){return B0[d]=N,B0},cr=function(B0,d){try{En(s0,B0,d)}catch{s0[B0]=d}return d},Ea=\"__core-js_shared__\",Qn=s0[Ea]||cr(Ea,{}),Bu=Function.toString;typeof Qn.inspectSource!=\"function\"&&(Qn.inspectSource=function(B0){return Bu.call(B0)});var Au,Ec,kn,pu,mi=Qn.inspectSource,ma=s0.WeakMap,ja=typeof ma==\"function\"&&/native code/.test(mi(ma)),Ua=R(function(B0){(B0.exports=function(d,N){return Qn[d]||(Qn[d]=N!==void 0?N:{})})(\"versions\",[]).push({version:\"3.14.0\",mode:\"global\",copyright:\"\\xA9 2021 Denis Pushkarev (zloirock.ru)\"})}),aa=0,Os=Math.random(),gn=function(B0){return\"Symbol(\"+String(B0===void 0?\"\":B0)+\")_\"+(++aa+Os).toString(36)},et=Ua(\"keys\"),Sr={},un=\"Object already initialized\",jn=s0.WeakMap;if(ja||Qn.state){var ea=Qn.state||(Qn.state=new jn),wa=ea.get,as=ea.has,zo=ea.set;Au=function(B0,d){if(as.call(ea,B0))throw new TypeError(un);return d.facade=B0,zo.call(ea,B0,d),d},Ec=function(B0){return wa.call(ea,B0)||{}},kn=function(B0){return as.call(ea,B0)}}else{var vo=et[pu=\"state\"]||(et[pu]=gn(pu));Sr[vo]=!0,Au=function(B0,d){if(ve(B0,vo))throw new TypeError(un);return d.facade=B0,En(B0,vo,d),d},Ec=function(B0){return ve(B0,vo)?B0[vo]:{}},kn=function(B0){return ve(B0,vo)}}var vi,jr,Hn={set:Au,get:Ec,has:kn,enforce:function(B0){return kn(B0)?Ec(B0):Au(B0,{})},getterFor:function(B0){return function(d){var N;if(!ux(d)||(N=Ec(d)).type!==B0)throw TypeError(\"Incompatible receiver, \"+B0+\" required\");return N}}},wi=R(function(B0){var d=Hn.get,N=Hn.enforce,C0=String(String).split(\"String\");(B0.exports=function(_1,jx,We,mt){var $t,Zn=!!mt&&!!mt.unsafe,_i=!!mt&&!!mt.enumerable,Va=!!mt&&!!mt.noTargetGet;typeof We==\"function\"&&(typeof jx!=\"string\"||ve(We,\"name\")||En(We,\"name\",jx),($t=N(We)).source||($t.source=C0.join(typeof jx==\"string\"?jx:\"\"))),_1!==s0?(Zn?!Va&&_1[jx]&&(_i=!0):delete _1[jx],_i?_1[jx]=We:En(_1,jx,We)):_i?_1[jx]=We:cr(jx,We)})(Function.prototype,\"toString\",function(){return typeof this==\"function\"&&d(this).source||mi(this)})}),jo=s0,bs=function(B0){return typeof B0==\"function\"?B0:void 0},Ha=function(B0,d){return arguments.length<2?bs(jo[B0])||bs(s0[B0]):jo[B0]&&jo[B0][d]||s0[B0]&&s0[B0][d]},qn=Math.ceil,Ki=Math.floor,es=function(B0){return isNaN(B0=+B0)?0:(B0>0?Ki:qn)(B0)},Ns=Math.min,ju=function(B0){return B0>0?Ns(es(B0),9007199254740991):0},Tc=Math.max,bu=Math.min,mc=function(B0){return function(d,N,C0){var _1,jx=x1(d),We=ju(jx.length),mt=function($t,Zn){var _i=es($t);return _i<0?Tc(_i+Zn,0):bu(_i,Zn)}(C0,We);if(B0&&N!=N){for(;We>mt;)if((_1=jx[mt++])!=_1)return!0}else for(;We>mt;mt++)if((B0||mt in jx)&&jx[mt]===N)return B0||mt||0;return!B0&&-1}},vc={includes:mc(!0),indexOf:mc(!1)}.indexOf,Lc=[\"constructor\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"toLocaleString\",\"toString\",\"valueOf\"].concat(\"length\",\"prototype\"),i2={f:Object.getOwnPropertyNames||function(B0){return function(d,N){var C0,_1=x1(d),jx=0,We=[];for(C0 in _1)!ve(Sr,C0)&&ve(_1,C0)&&We.push(C0);for(;N.length>jx;)ve(_1,C0=N[jx++])&&(~vc(We,C0)||We.push(C0));return We}(B0,Lc)}},su={f:Object.getOwnPropertySymbols},T2=Ha(\"Reflect\",\"ownKeys\")||function(B0){var d=i2.f(Tr(B0)),N=su.f;return N?d.concat(N(B0)):d},Cu=function(B0,d){for(var N=T2(d),C0=Pn.f,_1=_n.f,jx=0;jx<N.length;jx++){var We=N[jx];ve(B0,We)||C0(B0,We,_1(d,We))}},mr=/#|\\.prototype\\./,Dn=function(B0,d){var N=us[ki(B0)];return N==_s||N!=ac&&(typeof d==\"function\"?Y(d):!!d)},ki=Dn.normalize=function(B0){return String(B0).replace(mr,\".\").toLowerCase()},us=Dn.data={},ac=Dn.NATIVE=\"N\",_s=Dn.POLYFILL=\"P\",cf=Dn,Df=_n.f,gp=function(B0,d){var N,C0,_1,jx,We,mt=B0.target,$t=B0.global,Zn=B0.stat;if(N=$t?s0:Zn?s0[mt]||cr(mt,{}):(s0[mt]||{}).prototype)for(C0 in d){if(jx=d[C0],_1=B0.noTargetGet?(We=Df(N,C0))&&We.value:N[C0],!cf($t?C0:mt+(Zn?\".\":\"#\")+C0,B0.forced)&&_1!==void 0){if(typeof jx==typeof _1)continue;Cu(jx,_1)}(B0.sham||_1&&_1.sham)&&En(jx,\"sham\",!0),wi(N,C0,jx,B0)}},_2=Array.isArray||function(B0){return a1(B0)==\"Array\"},c_=function(B0){if(typeof B0!=\"function\")throw TypeError(String(B0)+\" is not a function\");return B0},pC=function(B0,d,N){if(c_(B0),d===void 0)return B0;switch(N){case 0:return function(){return B0.call(d)};case 1:return function(C0){return B0.call(d,C0)};case 2:return function(C0,_1){return B0.call(d,C0,_1)};case 3:return function(C0,_1,jx){return B0.call(d,C0,_1,jx)}}return function(){return B0.apply(d,arguments)}},c8=function(B0,d,N,C0,_1,jx,We,mt){for(var $t,Zn=_1,_i=0,Va=!!We&&pC(We,mt,3);_i<C0;){if(_i in N){if($t=Va?Va(N[_i],_i,d):N[_i],jx>0&&_2($t))Zn=c8(B0,d,$t,ju($t.length),Zn,jx-1)-1;else{if(Zn>=9007199254740991)throw TypeError(\"Exceed the acceptable array length\");B0[Zn]=$t}Zn++}_i++}return Zn},VE=c8,S8=Ha(\"navigator\",\"userAgent\")||\"\",c4=s0.process,BS=c4&&c4.versions,ES=BS&&BS.v8;ES?jr=(vi=ES.split(\".\"))[0]<4?1:vi[0]+vi[1]:S8&&(!(vi=S8.match(/Edge\\/(\\d+)/))||vi[1]>=74)&&(vi=S8.match(/Chrome\\/(\\d+)/))&&(jr=vi[1]);var fS=jr&&+jr,DF=!!Object.getOwnPropertySymbols&&!Y(function(){var B0=Symbol();return!String(B0)||!(Object(B0)instanceof Symbol)||!Symbol.sham&&fS&&fS<41}),D8=DF&&!Symbol.sham&&typeof Symbol.iterator==\"symbol\",v8=Ua(\"wks\"),pS=s0.Symbol,l4=D8?pS:pS&&pS.withoutSetter||gn,KF=function(B0){return ve(v8,B0)&&(DF||typeof v8[B0]==\"string\")||(DF&&ve(pS,B0)?v8[B0]=pS[B0]:v8[B0]=l4(\"Symbol.\"+B0)),v8[B0]},f4=KF(\"species\"),$E=function(B0,d){var N;return _2(B0)&&(typeof(N=B0.constructor)!=\"function\"||N!==Array&&!_2(N.prototype)?ux(N)&&(N=N[f4])===null&&(N=void 0):N=void 0),new(N===void 0?Array:N)(d===0?0:d)};gp({target:\"Array\",proto:!0},{flatMap:function(B0){var d,N=ee(this),C0=ju(N.length);return c_(B0),(d=$E(N,0)).length=VE(d,N,N,C0,0,1,B0,arguments.length>1?arguments[1]:void 0),d}});var t6=function(...B0){let d;for(const[N,C0]of B0.entries())try{return{result:C0()}}catch(_1){N===0&&(d=_1)}return{error:d}},vF=B0=>typeof B0==\"string\"?B0.replace((({onlyFirst:d=!1}={})=>{const N=[\"[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:[a-zA-Z\\\\d]*(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)\",\"(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))\"].join(\"|\");return new RegExp(N,d?void 0:\"g\")})(),\"\"):B0;const fF=B0=>!Number.isNaN(B0)&&B0>=4352&&(B0<=4447||B0===9001||B0===9002||11904<=B0&&B0<=12871&&B0!==12351||12880<=B0&&B0<=19903||19968<=B0&&B0<=42182||43360<=B0&&B0<=43388||44032<=B0&&B0<=55203||63744<=B0&&B0<=64255||65040<=B0&&B0<=65049||65072<=B0&&B0<=65131||65281<=B0&&B0<=65376||65504<=B0&&B0<=65510||110592<=B0&&B0<=110593||127488<=B0&&B0<=127569||131072<=B0&&B0<=262141);var tS=fF,z6=fF;tS.default=z6;const LS=B0=>{if(typeof B0!=\"string\"||B0.length===0||(B0=vF(B0)).length===0)return 0;B0=B0.replace(/\\uD83C\\uDFF4\\uDB40\\uDC67\\uDB40\\uDC62(?:\\uDB40\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67|\\uDB40\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDB40\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73)\\uDB40\\uDC7F|\\uD83D\\uDC68(?:\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C\\uDFFB|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFE])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83D\\uDC68|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D[\\uDC66\\uDC67])|[\\u2695\\u2696\\u2708]\\uFE0F|\\uD83D[\\uDC66\\uDC67]|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|(?:\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708])\\uFE0F|\\uD83C\\uDFFB\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C[\\uDFFB-\\uDFFF])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFB\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)\\uD83C\\uDFFB|\\uD83E\\uDDD1(?:\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1)|(?:\\uD83E\\uDDD1\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69]))(?:\\uD83C[\\uDFFB-\\uDFFE])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83D\\uDC69(?:\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFB\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFC-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D(?:\\uD83D[\\uDC68\\uDC69])|\\uD83D[\\uDC68\\uDC69])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|(?:\\uD83E\\uDDD1\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D\\uDC41\\uFE0F\\u200D\\uD83D\\uDDE8|\\uD83D\\uDC69(?:\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708])|(?:(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)\\uFE0F|\\uD83D\\uDC6F|\\uD83E[\\uDD3C\\uDDDE\\uDDDF])\\u200D[\\u2640\\u2642]|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|\\u200D[\\u2640\\u2642])|\\uD83C\\uDFF4\\u200D\\u2620)\\uFE0F|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|\\uD83C\\uDFF3\\uFE0F\\u200D\\uD83C\\uDF08|\\uD83D\\uDC15\\u200D\\uD83E\\uDDBA|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67|\\uD83C\\uDDFD\\uD83C\\uDDF0|\\uD83C\\uDDF4\\uD83C\\uDDF2|\\uD83C\\uDDF6\\uD83C\\uDDE6|[#\\*0-9]\\uFE0F\\u20E3|\\uD83C\\uDDE7(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDF9(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF])|\\uD83C\\uDDEA(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA])|\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF7(?:\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC])|\\uD83D\\uDC69(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF2(?:\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF])|\\uD83C\\uDDE6(?:\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF])|\\uD83C\\uDDF0(?:\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDED(?:\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA])|\\uD83C\\uDDE9(?:\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF])|\\uD83C\\uDDFE(?:\\uD83C[\\uDDEA\\uDDF9])|\\uD83C\\uDDEC(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE])|\\uD83C\\uDDF8(?:\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF])|\\uD83C\\uDDEB(?:\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7])|\\uD83C\\uDDF5(?:\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE])|\\uD83C\\uDDFB(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA])|\\uD83C\\uDDF3(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF])|\\uD83C\\uDDE8(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF5\\uDDF7\\uDDFA-\\uDDFF])|\\uD83C\\uDDF1(?:\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE])|\\uD83C\\uDDFF(?:\\uD83C[\\uDDE6\\uDDF2\\uDDFC])|\\uD83C\\uDDFC(?:\\uD83C[\\uDDEB\\uDDF8])|\\uD83C\\uDDFA(?:\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF])|\\uD83C\\uDDEE(?:\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9])|\\uD83C\\uDDEF(?:\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5])|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u261D\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2\\uDFC7]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC70\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDCAA\\uDD74\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1C\\uDD1E\\uDD1F\\uDD30-\\uDD36\\uDDB5\\uDDB6\\uDDBB\\uDDD2-\\uDDD5])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u231A\\u231B\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u25FE\\u2614\\u2615\\u2648-\\u2653\\u267F\\u2693\\u26A1\\u26AA\\u26AB\\u26BD\\u26BE\\u26C4\\u26C5\\u26CE\\u26D4\\u26EA\\u26F2\\u26F3\\u26F5\\u26FA\\u26FD\\u2705\\u270A\\u270B\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2795-\\u2797\\u27B0\\u27BF\\u2B1B\\u2B1C\\u2B50\\u2B55]|\\uD83C[\\uDC04\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF7C\\uDF7E-\\uDF93\\uDFA0-\\uDFCA\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF4\\uDFF8-\\uDFFF]|\\uD83D[\\uDC00-\\uDC3E\\uDC40\\uDC42-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDD7A\\uDD95\\uDD96\\uDDA4\\uDDFB-\\uDE4F\\uDE80-\\uDEC5\\uDECC\\uDED0-\\uDED2\\uDED5\\uDEEB\\uDEEC\\uDEF4-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])|(?:[#\\*0-9\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u231A\\u231B\\u2328\\u23CF\\u23E9-\\u23F3\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB-\\u25FE\\u2600-\\u2604\\u260E\\u2611\\u2614\\u2615\\u2618\\u261D\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u2648-\\u2653\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u267F\\u2692-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A1\\u26AA\\u26AB\\u26B0\\u26B1\\u26BD\\u26BE\\u26C4\\u26C5\\u26C8\\u26CE\\u26CF\\u26D1\\u26D3\\u26D4\\u26E9\\u26EA\\u26F0-\\u26F5\\u26F7-\\u26FA\\u26FD\\u2702\\u2705\\u2708-\\u270D\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2728\\u2733\\u2734\\u2744\\u2747\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2763\\u2764\\u2795-\\u2797\\u27A1\\u27B0\\u27BF\\u2934\\u2935\\u2B05-\\u2B07\\u2B1B\\u2B1C\\u2B50\\u2B55\\u3030\\u303D\\u3297\\u3299]|\\uD83C[\\uDC04\\uDCCF\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE02\\uDE1A\\uDE2F\\uDE32-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF21\\uDF24-\\uDF93\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E-\\uDFF0\\uDFF3-\\uDFF5\\uDFF7-\\uDFFF]|\\uD83D[\\uDC00-\\uDCFD\\uDCFF-\\uDD3D\\uDD49-\\uDD4E\\uDD50-\\uDD67\\uDD6F\\uDD70\\uDD73-\\uDD7A\\uDD87\\uDD8A-\\uDD8D\\uDD90\\uDD95\\uDD96\\uDDA4\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA-\\uDE4F\\uDE80-\\uDEC5\\uDECB-\\uDED2\\uDED5\\uDEE0-\\uDEE5\\uDEE9\\uDEEB\\uDEEC\\uDEF0\\uDEF3-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])\\uFE0F|(?:[\\u261D\\u26F9\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2-\\uDFC4\\uDFC7\\uDFCA-\\uDFCC]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66-\\uDC78\\uDC7C\\uDC81-\\uDC83\\uDC85-\\uDC87\\uDC8F\\uDC91\\uDCAA\\uDD74\\uDD75\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE45-\\uDE47\\uDE4B-\\uDE4F\\uDEA3\\uDEB4-\\uDEB6\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1F\\uDD26\\uDD30-\\uDD39\\uDD3C-\\uDD3E\\uDDB5\\uDDB6\\uDDB8\\uDDB9\\uDDBB\\uDDCD-\\uDDCF\\uDDD1-\\uDDDD])/g,\"  \");let d=0;for(let N=0;N<B0.length;N++){const C0=B0.codePointAt(N);C0<=31||C0>=127&&C0<=159||C0>=768&&C0<=879||(C0>65535&&N++,d+=tS(C0)?2:1)}return d};var B8=LS,MS=LS;B8.default=MS;var rT=B0=>{if(typeof B0!=\"string\")throw new TypeError(\"Expected a string\");return B0.replace(/[|\\\\{}()[\\]^$+*?.]/g,\"\\\\$&\").replace(/-/g,\"\\\\x2d\")},bF=B0=>B0[B0.length-1];function nT(B0,d){if(B0==null)return{};var N,C0,_1=function(We,mt){if(We==null)return{};var $t,Zn,_i={},Va=Object.keys(We);for(Zn=0;Zn<Va.length;Zn++)$t=Va[Zn],mt.indexOf($t)>=0||(_i[$t]=We[$t]);return _i}(B0,d);if(Object.getOwnPropertySymbols){var jx=Object.getOwnPropertySymbols(B0);for(C0=0;C0<jx.length;C0++)N=jx[C0],d.indexOf(N)>=0||Object.prototype.propertyIsEnumerable.call(B0,N)&&(_1[N]=B0[N])}return _1}var RT,UA,_5=Math.floor,VA=function(B0,d){var N=B0.length,C0=_5(N/2);return N<8?ST(B0,d):ZT(VA(B0.slice(0,C0),d),VA(B0.slice(C0),d),d)},ST=function(B0,d){for(var N,C0,_1=B0.length,jx=1;jx<_1;){for(C0=jx,N=B0[jx];C0&&d(B0[C0-1],N)>0;)B0[C0]=B0[--C0];C0!==jx++&&(B0[C0]=N)}return B0},ZT=function(B0,d,N){for(var C0=B0.length,_1=d.length,jx=0,We=0,mt=[];jx<C0||We<_1;)jx<C0&&We<_1?mt.push(N(B0[jx],d[We])<=0?B0[jx++]:d[We++]):mt.push(jx<C0?B0[jx++]:d[We++]);return mt},Kw=VA,y5=S8.match(/firefox\\/(\\d+)/i),P4=!!y5&&+y5[1],fA=/MSIE|Trident/.test(S8),H8=S8.match(/AppleWebKit\\/(\\d+)\\./),pA=!!H8&&+H8[1],qS=[],W6=qS.sort,D5=Y(function(){qS.sort(void 0)}),$A=Y(function(){qS.sort(null)}),J4=!!(UA=[].sort)&&Y(function(){UA.call(null,RT||function(){throw 1},1)}),dA=!Y(function(){if(fS)return fS<70;if(!(P4&&P4>3)){if(fA)return!0;if(pA)return pA<603;var B0,d,N,C0,_1=\"\";for(B0=65;B0<76;B0++){switch(d=String.fromCharCode(B0),B0){case 66:case 69:case 70:case 72:N=3;break;case 68:case 71:N=4;break;default:N=2}for(C0=0;C0<47;C0++)qS.push({k:d+C0,v:N})}for(qS.sort(function(jx,We){return We.v-jx.v}),C0=0;C0<qS.length;C0++)d=qS[C0].k.charAt(0),_1.charAt(_1.length-1)!==d&&(_1+=d);return _1!==\"DGBEFHACIJK\"}});gp({target:\"Array\",proto:!0,forced:D5||!$A||!J4||!dA},{sort:function(B0){B0!==void 0&&c_(B0);var d=ee(this);if(dA)return B0===void 0?W6.call(d):W6.call(d,B0);var N,C0,_1=[],jx=ju(d.length);for(C0=0;C0<jx;C0++)C0 in d&&_1.push(d[C0]);for(N=(_1=Kw(_1,function(We){return function(mt,$t){return $t===void 0?-1:mt===void 0?1:We!==void 0?+We(mt,$t)||0:String(mt)>String($t)?1:-1}}(B0))).length,C0=0;C0<N;)d[C0]=_1[C0++];for(;C0<jx;)delete d[C0++];return d}});var CF={},FT=KF(\"iterator\"),mA=Array.prototype,v5={};v5[KF(\"toStringTag\")]=\"z\";var KA=String(v5)===\"[object z]\",vw=KF(\"toStringTag\"),p4=a1(function(){return arguments}())==\"Arguments\",x5=KA?a1:function(B0){var d,N,C0;return B0===void 0?\"Undefined\":B0===null?\"Null\":typeof(N=function(_1,jx){try{return _1[jx]}catch{}}(d=Object(B0),vw))==\"string\"?N:p4?a1(d):(C0=a1(d))==\"Object\"&&typeof d.callee==\"function\"?\"Arguments\":C0},e5=KF(\"iterator\"),jT=function(B0){var d=B0.return;if(d!==void 0)return Tr(d.call(B0)).value},_6=function(B0,d){this.stopped=B0,this.result=d},q6=function(B0,d,N){var C0,_1,jx,We,mt,$t,Zn,_i,Va=N&&N.that,Bo=!(!N||!N.AS_ENTRIES),Rt=!(!N||!N.IS_ITERATOR),Xs=!(!N||!N.INTERRUPTED),ll=pC(d,Va,1+Bo+Xs),jc=function(Ml){return C0&&jT(C0),new _6(!0,Ml)},xu=function(Ml){return Bo?(Tr(Ml),Xs?ll(Ml[0],Ml[1],jc):ll(Ml[0],Ml[1])):Xs?ll(Ml,jc):ll(Ml)};if(Rt)C0=B0;else{if(typeof(_1=function(Ml){if(Ml!=null)return Ml[e5]||Ml[\"@@iterator\"]||CF[x5(Ml)]}(B0))!=\"function\")throw TypeError(\"Target is not iterable\");if((_i=_1)!==void 0&&(CF.Array===_i||mA[FT]===_i)){for(jx=0,We=ju(B0.length);We>jx;jx++)if((mt=xu(B0[jx]))&&mt instanceof _6)return mt;return new _6(!1)}C0=_1.call(B0)}for($t=C0.next;!(Zn=$t.call(C0)).done;){try{mt=xu(Zn.value)}catch(Ml){throw jT(C0),Ml}if(typeof mt==\"object\"&&mt&&mt instanceof _6)return mt}return new _6(!1)};gp({target:\"Object\",stat:!0},{fromEntries:function(B0){var d={};return q6(B0,function(N,C0){(function(_1,jx,We){var mt=K1(jx);mt in _1?Pn.f(_1,mt,r1(0,We)):_1[mt]=We})(d,N,C0)},{AS_ENTRIES:!0}),d}});var JS=JS!==void 0?JS:typeof self!=\"undefined\"?self:typeof window!=\"undefined\"?window:{};function eg(){throw new Error(\"setTimeout has not been defined\")}function L8(){throw new Error(\"clearTimeout has not been defined\")}var J6=eg,cm=L8;function l8(B0){if(J6===setTimeout)return setTimeout(B0,0);if((J6===eg||!J6)&&setTimeout)return J6=setTimeout,setTimeout(B0,0);try{return J6(B0,0)}catch{try{return J6.call(null,B0,0)}catch{return J6.call(this,B0,0)}}}typeof JS.setTimeout==\"function\"&&(J6=setTimeout),typeof JS.clearTimeout==\"function\"&&(cm=clearTimeout);var S6,Pg=[],Py=!1,F6=-1;function tg(){Py&&S6&&(Py=!1,S6.length?Pg=S6.concat(Pg):F6=-1,Pg.length&&u3())}function u3(){if(!Py){var B0=l8(tg);Py=!0;for(var d=Pg.length;d;){for(S6=Pg,Pg=[];++F6<d;)S6&&S6[F6].run();F6=-1,d=Pg.length}S6=null,Py=!1,function(N){if(cm===clearTimeout)return clearTimeout(N);if((cm===L8||!cm)&&clearTimeout)return cm=clearTimeout,clearTimeout(N);try{cm(N)}catch{try{return cm.call(null,N)}catch{return cm.call(this,N)}}}(B0)}}function iT(B0,d){this.fun=B0,this.array=d}iT.prototype.run=function(){this.fun.apply(null,this.array)};function HS(){}var H6=HS,j5=HS,t5=HS,bw=HS,U5=HS,d4=HS,pF=HS,EF=JS.performance||{},A6=EF.now||EF.mozNow||EF.msNow||EF.oNow||EF.webkitNow||function(){return new Date().getTime()},r5=new Date,m4={nextTick:function(B0){var d=new Array(arguments.length-1);if(arguments.length>1)for(var N=1;N<arguments.length;N++)d[N-1]=arguments[N];Pg.push(new iT(B0,d)),Pg.length!==1||Py||l8(u3)},title:\"browser\",browser:!0,env:{},argv:[],version:\"\",versions:{},on:H6,addListener:j5,once:t5,off:bw,removeListener:U5,removeAllListeners:d4,emit:pF,binding:function(B0){throw new Error(\"process.binding is not supported\")},cwd:function(){return\"/\"},chdir:function(B0){throw new Error(\"process.chdir is not supported\")},umask:function(){return 0},hrtime:function(B0){var d=.001*A6.call(EF),N=Math.floor(d),C0=Math.floor(d%1*1e9);return B0&&(N-=B0[0],(C0-=B0[1])<0&&(N--,C0+=1e9)),[N,C0]},platform:\"browser\",release:{},config:{},uptime:function(){return(new Date-r5)/1e3}},Lu=typeof m4==\"object\"&&m4.env&&m4.env.NODE_DEBUG&&/\\bsemver\\b/i.test(m4.env.NODE_DEBUG)?(...B0)=>console.error(\"SEMVER\",...B0):()=>{},Ig={SEMVER_SPEC_VERSION:\"2.0.0\",MAX_LENGTH:256,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,MAX_SAFE_COMPONENT_LENGTH:16},hA=R(function(B0,d){const{MAX_SAFE_COMPONENT_LENGTH:N}=Ig,C0=(d=B0.exports={}).re=[],_1=d.src=[],jx=d.t={};let We=0;const mt=($t,Zn,_i)=>{const Va=We++;Lu(Va,Zn),jx[$t]=Va,_1[Va]=Zn,C0[Va]=new RegExp(Zn,_i?\"g\":void 0)};mt(\"NUMERICIDENTIFIER\",\"0|[1-9]\\\\d*\"),mt(\"NUMERICIDENTIFIERLOOSE\",\"[0-9]+\"),mt(\"NONNUMERICIDENTIFIER\",\"\\\\d*[a-zA-Z-][a-zA-Z0-9-]*\"),mt(\"MAINVERSION\",`(${_1[jx.NUMERICIDENTIFIER]})\\\\.(${_1[jx.NUMERICIDENTIFIER]})\\\\.(${_1[jx.NUMERICIDENTIFIER]})`),mt(\"MAINVERSIONLOOSE\",`(${_1[jx.NUMERICIDENTIFIERLOOSE]})\\\\.(${_1[jx.NUMERICIDENTIFIERLOOSE]})\\\\.(${_1[jx.NUMERICIDENTIFIERLOOSE]})`),mt(\"PRERELEASEIDENTIFIER\",`(?:${_1[jx.NUMERICIDENTIFIER]}|${_1[jx.NONNUMERICIDENTIFIER]})`),mt(\"PRERELEASEIDENTIFIERLOOSE\",`(?:${_1[jx.NUMERICIDENTIFIERLOOSE]}|${_1[jx.NONNUMERICIDENTIFIER]})`),mt(\"PRERELEASE\",`(?:-(${_1[jx.PRERELEASEIDENTIFIER]}(?:\\\\.${_1[jx.PRERELEASEIDENTIFIER]})*))`),mt(\"PRERELEASELOOSE\",`(?:-?(${_1[jx.PRERELEASEIDENTIFIERLOOSE]}(?:\\\\.${_1[jx.PRERELEASEIDENTIFIERLOOSE]})*))`),mt(\"BUILDIDENTIFIER\",\"[0-9A-Za-z-]+\"),mt(\"BUILD\",`(?:\\\\+(${_1[jx.BUILDIDENTIFIER]}(?:\\\\.${_1[jx.BUILDIDENTIFIER]})*))`),mt(\"FULLPLAIN\",`v?${_1[jx.MAINVERSION]}${_1[jx.PRERELEASE]}?${_1[jx.BUILD]}?`),mt(\"FULL\",`^${_1[jx.FULLPLAIN]}$`),mt(\"LOOSEPLAIN\",`[v=\\\\s]*${_1[jx.MAINVERSIONLOOSE]}${_1[jx.PRERELEASELOOSE]}?${_1[jx.BUILD]}?`),mt(\"LOOSE\",`^${_1[jx.LOOSEPLAIN]}$`),mt(\"GTLT\",\"((?:<|>)?=?)\"),mt(\"XRANGEIDENTIFIERLOOSE\",`${_1[jx.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`),mt(\"XRANGEIDENTIFIER\",`${_1[jx.NUMERICIDENTIFIER]}|x|X|\\\\*`),mt(\"XRANGEPLAIN\",`[v=\\\\s]*(${_1[jx.XRANGEIDENTIFIER]})(?:\\\\.(${_1[jx.XRANGEIDENTIFIER]})(?:\\\\.(${_1[jx.XRANGEIDENTIFIER]})(?:${_1[jx.PRERELEASE]})?${_1[jx.BUILD]}?)?)?`),mt(\"XRANGEPLAINLOOSE\",`[v=\\\\s]*(${_1[jx.XRANGEIDENTIFIERLOOSE]})(?:\\\\.(${_1[jx.XRANGEIDENTIFIERLOOSE]})(?:\\\\.(${_1[jx.XRANGEIDENTIFIERLOOSE]})(?:${_1[jx.PRERELEASELOOSE]})?${_1[jx.BUILD]}?)?)?`),mt(\"XRANGE\",`^${_1[jx.GTLT]}\\\\s*${_1[jx.XRANGEPLAIN]}$`),mt(\"XRANGELOOSE\",`^${_1[jx.GTLT]}\\\\s*${_1[jx.XRANGEPLAINLOOSE]}$`),mt(\"COERCE\",`(^|[^\\\\d])(\\\\d{1,${N}})(?:\\\\.(\\\\d{1,${N}}))?(?:\\\\.(\\\\d{1,${N}}))?(?:$|[^\\\\d])`),mt(\"COERCERTL\",_1[jx.COERCE],!0),mt(\"LONETILDE\",\"(?:~>?)\"),mt(\"TILDETRIM\",`(\\\\s*)${_1[jx.LONETILDE]}\\\\s+`,!0),d.tildeTrimReplace=\"$1~\",mt(\"TILDE\",`^${_1[jx.LONETILDE]}${_1[jx.XRANGEPLAIN]}$`),mt(\"TILDELOOSE\",`^${_1[jx.LONETILDE]}${_1[jx.XRANGEPLAINLOOSE]}$`),mt(\"LONECARET\",\"(?:\\\\^)\"),mt(\"CARETTRIM\",`(\\\\s*)${_1[jx.LONECARET]}\\\\s+`,!0),d.caretTrimReplace=\"$1^\",mt(\"CARET\",`^${_1[jx.LONECARET]}${_1[jx.XRANGEPLAIN]}$`),mt(\"CARETLOOSE\",`^${_1[jx.LONECARET]}${_1[jx.XRANGEPLAINLOOSE]}$`),mt(\"COMPARATORLOOSE\",`^${_1[jx.GTLT]}\\\\s*(${_1[jx.LOOSEPLAIN]})$|^$`),mt(\"COMPARATOR\",`^${_1[jx.GTLT]}\\\\s*(${_1[jx.FULLPLAIN]})$|^$`),mt(\"COMPARATORTRIM\",`(\\\\s*)${_1[jx.GTLT]}\\\\s*(${_1[jx.LOOSEPLAIN]}|${_1[jx.XRANGEPLAIN]})`,!0),d.comparatorTrimReplace=\"$1$2$3\",mt(\"HYPHENRANGE\",`^\\\\s*(${_1[jx.XRANGEPLAIN]})\\\\s+-\\\\s+(${_1[jx.XRANGEPLAIN]})\\\\s*$`),mt(\"HYPHENRANGELOOSE\",`^\\\\s*(${_1[jx.XRANGEPLAINLOOSE]})\\\\s+-\\\\s+(${_1[jx.XRANGEPLAINLOOSE]})\\\\s*$`),mt(\"STAR\",\"(<|>)?=?\\\\s*\\\\*\"),mt(\"GTE0\",\"^\\\\s*>=\\\\s*0.0.0\\\\s*$\"),mt(\"GTE0PRE\",\"^\\\\s*>=\\\\s*0.0.0-0\\\\s*$\")});const RS=[\"includePrerelease\",\"loose\",\"rtl\"];var H4=B0=>B0?typeof B0!=\"object\"?{loose:!0}:RS.filter(d=>B0[d]).reduce((d,N)=>(d[N]=!0,d),{}):{};const I4=/^[0-9]+$/,GS=(B0,d)=>{const N=I4.test(B0),C0=I4.test(d);return N&&C0&&(B0=+B0,d=+d),B0===d?0:N&&!C0?-1:C0&&!N?1:B0<d?-1:1};var SS={compareIdentifiers:GS,rcompareIdentifiers:(B0,d)=>GS(d,B0)};const{MAX_LENGTH:rS,MAX_SAFE_INTEGER:T6}=Ig,{re:dS,t:w6}=hA,{compareIdentifiers:vb}=SS;class Rh{constructor(d,N){if(N=H4(N),d instanceof Rh){if(d.loose===!!N.loose&&d.includePrerelease===!!N.includePrerelease)return d;d=d.version}else if(typeof d!=\"string\")throw new TypeError(`Invalid Version: ${d}`);if(d.length>rS)throw new TypeError(`version is longer than ${rS} characters`);Lu(\"SemVer\",d,N),this.options=N,this.loose=!!N.loose,this.includePrerelease=!!N.includePrerelease;const C0=d.trim().match(N.loose?dS[w6.LOOSE]:dS[w6.FULL]);if(!C0)throw new TypeError(`Invalid Version: ${d}`);if(this.raw=d,this.major=+C0[1],this.minor=+C0[2],this.patch=+C0[3],this.major>T6||this.major<0)throw new TypeError(\"Invalid major version\");if(this.minor>T6||this.minor<0)throw new TypeError(\"Invalid minor version\");if(this.patch>T6||this.patch<0)throw new TypeError(\"Invalid patch version\");C0[4]?this.prerelease=C0[4].split(\".\").map(_1=>{if(/^[0-9]+$/.test(_1)){const jx=+_1;if(jx>=0&&jx<T6)return jx}return _1}):this.prerelease=[],this.build=C0[5]?C0[5].split(\".\"):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(\".\")}`),this.version}toString(){return this.version}compare(d){if(Lu(\"SemVer.compare\",this.version,this.options,d),!(d instanceof Rh)){if(typeof d==\"string\"&&d===this.version)return 0;d=new Rh(d,this.options)}return d.version===this.version?0:this.compareMain(d)||this.comparePre(d)}compareMain(d){return d instanceof Rh||(d=new Rh(d,this.options)),vb(this.major,d.major)||vb(this.minor,d.minor)||vb(this.patch,d.patch)}comparePre(d){if(d instanceof Rh||(d=new Rh(d,this.options)),this.prerelease.length&&!d.prerelease.length)return-1;if(!this.prerelease.length&&d.prerelease.length)return 1;if(!this.prerelease.length&&!d.prerelease.length)return 0;let N=0;do{const C0=this.prerelease[N],_1=d.prerelease[N];if(Lu(\"prerelease compare\",N,C0,_1),C0===void 0&&_1===void 0)return 0;if(_1===void 0)return 1;if(C0===void 0)return-1;if(C0!==_1)return vb(C0,_1)}while(++N)}compareBuild(d){d instanceof Rh||(d=new Rh(d,this.options));let N=0;do{const C0=this.build[N],_1=d.build[N];if(Lu(\"prerelease compare\",N,C0,_1),C0===void 0&&_1===void 0)return 0;if(_1===void 0)return 1;if(C0===void 0)return-1;if(C0!==_1)return vb(C0,_1)}while(++N)}inc(d,N){switch(d){case\"premajor\":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc(\"pre\",N);break;case\"preminor\":this.prerelease.length=0,this.patch=0,this.minor++,this.inc(\"pre\",N);break;case\"prepatch\":this.prerelease.length=0,this.inc(\"patch\",N),this.inc(\"pre\",N);break;case\"prerelease\":this.prerelease.length===0&&this.inc(\"patch\",N),this.inc(\"pre\",N);break;case\"major\":this.minor===0&&this.patch===0&&this.prerelease.length!==0||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case\"minor\":this.patch===0&&this.prerelease.length!==0||this.minor++,this.patch=0,this.prerelease=[];break;case\"patch\":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case\"pre\":if(this.prerelease.length===0)this.prerelease=[0];else{let C0=this.prerelease.length;for(;--C0>=0;)typeof this.prerelease[C0]==\"number\"&&(this.prerelease[C0]++,C0=-2);C0===-1&&this.prerelease.push(0)}N&&(this.prerelease[0]===N?isNaN(this.prerelease[1])&&(this.prerelease=[N,0]):this.prerelease=[N,0]);break;default:throw new Error(`invalid increment argument: ${d}`)}return this.format(),this.raw=this.version,this}}var Wf=Rh,Fp=(B0,d,N)=>new Wf(B0,N).compare(new Wf(d,N)),ZC=(B0,d,N)=>Fp(B0,d,N)<0,zA=(B0,d,N)=>Fp(B0,d,N)>=0,zF=\"2.3.2\",WF=R(function(B0,d){function N(){for(var jc=[],xu=0;xu<arguments.length;xu++)jc[xu]=arguments[xu]}function C0(){return typeof WeakMap!=\"undefined\"?new WeakMap:{add:N,delete:N,get:N,set:N,has:function(jc){return!1}}}Object.defineProperty(d,\"__esModule\",{value:!0}),d.outdent=void 0;var _1=Object.prototype.hasOwnProperty,jx=function(jc,xu){return _1.call(jc,xu)};function We(jc,xu){for(var Ml in xu)jx(xu,Ml)&&(jc[Ml]=xu[Ml]);return jc}var mt=/^[ \\t]*(?:\\r\\n|\\r|\\n)/,$t=/(?:\\r\\n|\\r|\\n)[ \\t]*$/,Zn=/^(?:[\\r\\n]|$)/,_i=/(?:\\r\\n|\\r|\\n)([ \\t]*)(?:[^ \\t\\r\\n]|$)/,Va=/^[ \\t]*[\\r\\n][ \\t\\r\\n]*$/;function Bo(jc,xu,Ml){var iE=0,eA=jc[0].match(_i);eA&&(iE=eA[1].length);var y2=new RegExp(\"(\\\\r\\\\n|\\\\r|\\\\n).{0,\"+iE+\"}\",\"g\");xu&&(jc=jc.slice(1));var FA=Ml.newline,Rp=Ml.trimLeadingNewline,VS=Ml.trimTrailingNewline,_=typeof FA==\"string\",v0=jc.length;return jc.map(function(w1,Ix){return w1=w1.replace(y2,\"$1\"),Ix===0&&Rp&&(w1=w1.replace(mt,\"\")),Ix===v0-1&&VS&&(w1=w1.replace($t,\"\")),_&&(w1=w1.replace(/\\r\\n|\\n|\\r/g,function(Wx){return FA})),w1})}function Rt(jc,xu){for(var Ml=\"\",iE=0,eA=jc.length;iE<eA;iE++)Ml+=jc[iE],iE<eA-1&&(Ml+=xu[iE]);return Ml}function Xs(jc){return jx(jc,\"raw\")&&jx(jc,\"length\")}var ll=function jc(xu){var Ml=C0(),iE=C0();return We(function eA(y2){for(var FA=[],Rp=1;Rp<arguments.length;Rp++)FA[Rp-1]=arguments[Rp];if(Xs(y2)){var VS=y2,_=(FA[0]===eA||FA[0]===ll)&&Va.test(VS[0])&&Zn.test(VS[1]),v0=_?iE:Ml,w1=v0.get(VS);if(w1||(w1=Bo(VS,_,xu),v0.set(VS,w1)),FA.length===0)return w1[0];var Ix=Rt(w1,_?FA.slice(1):FA);return Ix}return jc(We(We({},xu),y2||{}))},{string:function(eA){return Bo([eA],!1,xu)[0]}})}({trimLeadingNewline:!0,trimTrailingNewline:!0});d.outdent=ll,d.default=ll;try{B0.exports=ll,Object.defineProperty(ll,\"__esModule\",{value:!0}),ll.default=ll,ll.outdent=ll}catch{}});const{outdent:l_}=WF,xE=\"Config\",r6=\"Editor\",M8=\"Other\",KE=\"Global\",lm=\"Special\",mS={cursorOffset:{since:\"1.4.0\",category:lm,type:\"int\",default:-1,range:{start:-1,end:Number.POSITIVE_INFINITY,step:1},description:l_`\n      Print (to stderr) where a cursor at the given position would move to after formatting.\n      This option cannot be used with --range-start and --range-end.\n    `,cliCategory:r6},endOfLine:{since:\"1.15.0\",category:KE,type:\"choice\",default:[{since:\"1.15.0\",value:\"auto\"},{since:\"2.0.0\",value:\"lf\"}],description:\"Which end of line characters to apply.\",choices:[{value:\"lf\",description:\"Line Feed only (\\\\n), common on Linux and macOS as well as inside git repos\"},{value:\"crlf\",description:\"Carriage Return + Line Feed characters (\\\\r\\\\n), common on Windows\"},{value:\"cr\",description:\"Carriage Return character only (\\\\r), used very rarely\"},{value:\"auto\",description:l_`\n          Maintain existing\n          (mixed values within one file are normalised by looking at what's used after the first line)\n        `}]},filepath:{since:\"1.4.0\",category:lm,type:\"path\",description:\"Specify the input filepath. This will be used to do parser inference.\",cliName:\"stdin-filepath\",cliCategory:M8,cliDescription:\"Path to the file to pretend that stdin comes from.\"},insertPragma:{since:\"1.8.0\",category:lm,type:\"boolean\",default:!1,description:\"Insert @format pragma into file's first docblock comment.\",cliCategory:M8},parser:{since:\"0.0.10\",category:KE,type:\"choice\",default:[{since:\"0.0.10\",value:\"babylon\"},{since:\"1.13.0\",value:void 0}],description:\"Which parser to use.\",exception:B0=>typeof B0==\"string\"||typeof B0==\"function\",choices:[{value:\"flow\",description:\"Flow\"},{value:\"babel\",since:\"1.16.0\",description:\"JavaScript\"},{value:\"babel-flow\",since:\"1.16.0\",description:\"Flow\"},{value:\"babel-ts\",since:\"2.0.0\",description:\"TypeScript\"},{value:\"typescript\",since:\"1.4.0\",description:\"TypeScript\"},{value:\"espree\",since:\"2.2.0\",description:\"JavaScript\"},{value:\"meriyah\",since:\"2.2.0\",description:\"JavaScript\"},{value:\"css\",since:\"1.7.1\",description:\"CSS\"},{value:\"less\",since:\"1.7.1\",description:\"Less\"},{value:\"scss\",since:\"1.7.1\",description:\"SCSS\"},{value:\"json\",since:\"1.5.0\",description:\"JSON\"},{value:\"json5\",since:\"1.13.0\",description:\"JSON5\"},{value:\"json-stringify\",since:\"1.13.0\",description:\"JSON.stringify\"},{value:\"graphql\",since:\"1.5.0\",description:\"GraphQL\"},{value:\"markdown\",since:\"1.8.0\",description:\"Markdown\"},{value:\"mdx\",since:\"1.15.0\",description:\"MDX\"},{value:\"vue\",since:\"1.10.0\",description:\"Vue\"},{value:\"yaml\",since:\"1.14.0\",description:\"YAML\"},{value:\"glimmer\",since:\"2.3.0\",description:\"Ember / Handlebars\"},{value:\"html\",since:\"1.15.0\",description:\"HTML\"},{value:\"angular\",since:\"1.15.0\",description:\"Angular\"},{value:\"lwc\",since:\"1.17.0\",description:\"Lightning Web Components\"}]},plugins:{since:\"1.10.0\",type:\"path\",array:!0,default:[{value:[]}],category:KE,description:\"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.\",exception:B0=>typeof B0==\"string\"||typeof B0==\"object\",cliName:\"plugin\",cliCategory:xE},pluginSearchDirs:{since:\"1.13.0\",type:\"path\",array:!0,default:[{value:[]}],category:KE,description:l_`\n      Custom directory that contains prettier plugins in node_modules subdirectory.\n      Overrides default behavior when plugins are searched relatively to the location of Prettier.\n      Multiple values are accepted.\n    `,exception:B0=>typeof B0==\"string\"||typeof B0==\"object\",cliName:\"plugin-search-dir\",cliCategory:xE},printWidth:{since:\"0.0.0\",category:KE,type:\"int\",default:80,description:\"The line length where Prettier will try wrap.\",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},rangeEnd:{since:\"1.4.0\",category:lm,type:\"int\",default:Number.POSITIVE_INFINITY,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:l_`\n      Format code ending at a given character offset (exclusive).\n      The range will extend forwards to the end of the selected statement.\n      This option cannot be used with --cursor-offset.\n    `,cliCategory:r6},rangeStart:{since:\"1.4.0\",category:lm,type:\"int\",default:0,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:l_`\n      Format code starting at a given character offset.\n      The range will extend backwards to the start of the first line containing the selected statement.\n      This option cannot be used with --cursor-offset.\n    `,cliCategory:r6},requirePragma:{since:\"1.7.0\",category:lm,type:\"boolean\",default:!1,description:l_`\n      Require either '@prettier' or '@format' to be present in the file's first docblock comment\n      in order for it to be formatted.\n    `,cliCategory:M8},tabWidth:{type:\"int\",category:KE,default:2,description:\"Number of spaces per indentation level.\",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},useTabs:{since:\"1.0.0\",category:KE,type:\"boolean\",default:!1,description:\"Indent with tabs instead of spaces.\"},embeddedLanguageFormatting:{since:\"2.1.0\",category:KE,type:\"choice\",default:[{since:\"2.1.0\",value:\"auto\"}],description:\"Control how Prettier formats quoted code embedded in the file.\",choices:[{value:\"auto\",description:\"Format embedded code if Prettier can automatically identify it.\"},{value:\"off\",description:\"Never automatically format embedded code.\"}]}},aT=[\"cliName\",\"cliCategory\",\"cliDescription\"],h4={compare:Fp,lt:ZC,gte:zA},G4=zF,k6=mS;var xw={getSupportInfo:function({plugins:B0=[],showUnreleased:d=!1,showDeprecated:N=!1,showInternal:C0=!1}={}){const _1=G4.split(\"-\",1)[0],jx=B0.flatMap(Va=>Va.languages||[]).filter(Zn),We=(mt=Object.assign({},...B0.map(({options:Va})=>Va),k6),$t=\"name\",Object.entries(mt).map(([Va,Bo])=>Object.assign({[$t]:Va},Bo))).filter(Va=>Zn(Va)&&_i(Va)).sort((Va,Bo)=>Va.name===Bo.name?0:Va.name<Bo.name?-1:1).map(function(Va){return C0?Va:nT(Va,aT)}).map(Va=>{Va=Object.assign({},Va),Array.isArray(Va.default)&&(Va.default=Va.default.length===1?Va.default[0].value:Va.default.filter(Zn).sort((Rt,Xs)=>h4.compare(Xs.since,Rt.since))[0].value),Array.isArray(Va.choices)&&(Va.choices=Va.choices.filter(Rt=>Zn(Rt)&&_i(Rt)),Va.name===\"parser\"&&function(Rt,Xs,ll){const jc=new Set(Rt.choices.map(xu=>xu.value));for(const xu of Xs)if(xu.parsers){for(const Ml of xu.parsers)if(!jc.has(Ml)){jc.add(Ml);const iE=ll.find(y2=>y2.parsers&&y2.parsers[Ml]);let eA=xu.name;iE&&iE.name&&(eA+=` (plugin: ${iE.name})`),Rt.choices.push({value:Ml,description:eA})}}}(Va,jx,B0));const Bo=Object.fromEntries(B0.filter(Rt=>Rt.defaultOptions&&Rt.defaultOptions[Va.name]!==void 0).map(Rt=>[Rt.name,Rt.defaultOptions[Va.name]]));return Object.assign(Object.assign({},Va),{},{pluginDefaults:Bo})});var mt,$t;return{languages:jx,options:We};function Zn(Va){return d||!(\"since\"in Va)||Va.since&&h4.gte(_1,Va.since)}function _i(Va){return N||!(\"deprecated\"in Va)||Va.deprecated&&h4.lt(_1,Va.deprecated)}}};const{getSupportInfo:UT}=xw,oT=/[^\\x20-\\x7F]/;function G8(B0){return(d,N,C0)=>{const _1=C0&&C0.backwards;if(N===!1)return!1;const{length:jx}=d;let We=N;for(;We>=0&&We<jx;){const mt=d.charAt(We);if(B0 instanceof RegExp){if(!B0.test(mt))return We}else if(!B0.includes(mt))return We;_1?We--:We++}return(We===-1||We===jx)&&We}}const y6=G8(/\\s/),nS=G8(\" \t\"),jD=G8(\",; \t\"),X4=G8(/[^\\n\\r]/);function SF(B0,d){if(d===!1)return!1;if(B0.charAt(d)===\"/\"&&B0.charAt(d+1)===\"*\"){for(let N=d+2;N<B0.length;++N)if(B0.charAt(N)===\"*\"&&B0.charAt(N+1)===\"/\")return N+2}return d}function ad(B0,d){return d!==!1&&(B0.charAt(d)===\"/\"&&B0.charAt(d+1)===\"/\"?X4(B0,d):d)}function XS(B0,d,N){const C0=N&&N.backwards;if(d===!1)return!1;const _1=B0.charAt(d);if(C0){if(B0.charAt(d-1)===\"\\r\"&&_1===`\n`)return d-2;if(_1===`\n`||_1===\"\\r\"||_1===\"\\u2028\"||_1===\"\\u2029\")return d-1}else{if(_1===\"\\r\"&&B0.charAt(d+1)===`\n`)return d+2;if(_1===`\n`||_1===\"\\r\"||_1===\"\\u2028\"||_1===\"\\u2029\")return d+1}return d}function X8(B0,d,N={}){const C0=nS(B0,N.backwards?d-1:d,N);return C0!==XS(B0,C0,N)}function gA(B0,d){let N=null,C0=d;for(;C0!==N;)N=C0,C0=jD(B0,C0),C0=SF(B0,C0),C0=nS(B0,C0);return C0=ad(B0,C0),C0=XS(B0,C0),C0!==!1&&X8(B0,C0)}function VT(B0,d){let N=null,C0=d;for(;C0!==N;)N=C0,C0=nS(B0,C0),C0=SF(B0,C0),C0=ad(B0,C0),C0=XS(B0,C0);return C0}function YS(B0,d,N){return VT(B0,N(d))}function _A(B0,d,N=0){let C0=0;for(let _1=N;_1<B0.length;++_1)B0[_1]===\"\t\"?C0=C0+d-C0%d:C0++;return C0}function QS(B0,d){const N=B0.slice(1,-1),C0={quote:'\"',regex:/\"/g},_1={quote:\"'\",regex:/'/g},jx=d===\"'\"?_1:C0,We=jx===_1?C0:_1;let mt=jx.quote;return(N.includes(jx.quote)||N.includes(We.quote))&&(mt=(N.match(jx.regex)||[]).length>(N.match(We.regex)||[]).length?We.quote:jx.quote),mt}function qF(B0,d,N){const C0=d==='\"'?\"'\":'\"',_1=B0.replace(/\\\\(.)|([\"'])/gs,(jx,We,mt)=>We===C0?We:mt===d?\"\\\\\"+mt:mt||(N&&/^[^\\n\\r\"'0-7\\\\bfnrt-vx\\u2028\\u2029]$/.test(We)?We:\"\\\\\"+We));return d+_1+d}function jS(B0,d){(B0.comments||(B0.comments=[])).push(d),d.printed=!1,d.nodeDescription=function(N){const C0=N.type||N.kind||\"(unknown type)\";let _1=String(N.name||N.id&&(typeof N.id==\"object\"?N.id.name:N.id)||N.key&&(typeof N.key==\"object\"?N.key.name:N.key)||N.value&&(typeof N.value==\"object\"?\"\":String(N.value))||N.operator||\"\");return _1.length>20&&(_1=_1.slice(0,19)+\"\\u2026\"),C0+(_1?\" \"+_1:\"\")}(B0)}var zE={inferParserByLanguage:function(B0,d){const{languages:N}=UT({plugins:d.plugins}),C0=N.find(({name:_1})=>_1.toLowerCase()===B0)||N.find(({aliases:_1})=>Array.isArray(_1)&&_1.includes(B0))||N.find(({extensions:_1})=>Array.isArray(_1)&&_1.includes(`.${B0}`));return C0&&C0.parsers[0]},getStringWidth:function(B0){return B0?oT.test(B0)?B8(B0):B0.length:0},getMaxContinuousCount:function(B0,d){const N=B0.match(new RegExp(`(${rT(d)})+`,\"g\"));return N===null?0:N.reduce((C0,_1)=>Math.max(C0,_1.length/d.length),0)},getMinNotPresentContinuousCount:function(B0,d){const N=B0.match(new RegExp(`(${rT(d)})+`,\"g\"));if(N===null)return 0;const C0=new Map;let _1=0;for(const jx of N){const We=jx.length/d.length;C0.set(We,!0),We>_1&&(_1=We)}for(let jx=1;jx<_1;jx++)if(!C0.get(jx))return jx;return _1+1},getPenultimate:B0=>B0[B0.length-2],getLast:bF,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:VT,getNextNonSpaceNonCommentCharacterIndex:YS,getNextNonSpaceNonCommentCharacter:function(B0,d,N){return B0.charAt(YS(B0,d,N))},skip:G8,skipWhitespace:y6,skipSpaces:nS,skipToLineEnd:jD,skipEverythingButNewLine:X4,skipInlineComment:SF,skipTrailingComment:ad,skipNewline:XS,isNextLineEmptyAfterIndex:gA,isNextLineEmpty:function(B0,d,N){return gA(B0,N(d))},isPreviousLineEmpty:function(B0,d,N){let C0=N(d)-1;return C0=nS(B0,C0,{backwards:!0}),C0=XS(B0,C0,{backwards:!0}),C0=nS(B0,C0,{backwards:!0}),C0!==XS(B0,C0,{backwards:!0})},hasNewline:X8,hasNewlineInRange:function(B0,d,N){for(let C0=d;C0<N;++C0)if(B0.charAt(C0)===`\n`)return!0;return!1},hasSpaces:function(B0,d,N={}){return nS(B0,N.backwards?d-1:d,N)!==d},getAlignmentSize:_A,getIndentSize:function(B0,d){const N=B0.lastIndexOf(`\n`);return N===-1?0:_A(B0.slice(N+1).match(/^[\\t ]*/)[0],d)},getPreferredQuote:QS,printString:function(B0,d){return qF(B0.slice(1,-1),d.parser===\"json\"||d.parser===\"json5\"&&d.quoteProps===\"preserve\"&&!d.singleQuote?'\"':d.__isInHtmlAttribute?\"'\":QS(B0,d.singleQuote?\"'\":'\"'),!(d.parser===\"css\"||d.parser===\"less\"||d.parser===\"scss\"||d.__embeddedInHtml))},printNumber:function(B0){return B0.toLowerCase().replace(/^([+-]?[\\d.]+e)(?:\\+|(-))?0*(\\d)/,\"$1$2$3\").replace(/^([+-]?[\\d.]+)e[+-]?0+$/,\"$1\").replace(/^([+-])?\\./,\"$10.\").replace(/(\\.\\d+?)0+(?=e|$)/,\"$1\").replace(/\\.(?=e|$)/,\"\")},makeString:qF,addLeadingComment:function(B0,d){d.leading=!0,d.trailing=!1,jS(B0,d)},addDanglingComment:function(B0,d,N){d.leading=!1,d.trailing=!1,N&&(d.marker=N),jS(B0,d)},addTrailingComment:function(B0,d){d.leading=!1,d.trailing=!0,jS(B0,d)},isFrontMatterNode:function(B0){return B0&&B0.type===\"front-matter\"},getShebang:function(B0){if(!B0.startsWith(\"#!\"))return\"\";const d=B0.indexOf(`\n`);return d===-1?B0:B0.slice(0,d)},isNonEmptyArray:function(B0){return Array.isArray(B0)&&B0.length>0},createGroupIdMapper:function(B0){const d=new WeakMap;return function(N){return d.has(N)||d.set(N,Symbol(B0)),d.get(N)}}},n6=function(B0,d){const N=new SyntaxError(B0+\" (\"+d.start.line+\":\"+d.start.column+\")\");return N.loc=d,N};const{isNonEmptyArray:iS}=zE;function p6(B0,d){const{ignoreDecorators:N}=d||{};if(!N){const C0=B0.declaration&&B0.declaration.decorators||B0.decorators;if(iS(C0))return p6(C0[0])}return B0.range?B0.range[0]:B0.start}function O4(B0){return B0.range?B0.range[1]:B0.end}function $T(B0,d){return p6(B0)===p6(d)}var FF={locStart:p6,locEnd:O4,hasSameLocStart:$T,hasSameLoc:function(B0,d){return $T(B0,d)&&function(N,C0){return O4(N)===O4(C0)}(B0,d)}},AF=R(function(B0){(function(){function d(C0){if(C0==null)return!1;switch(C0.type){case\"BlockStatement\":case\"BreakStatement\":case\"ContinueStatement\":case\"DebuggerStatement\":case\"DoWhileStatement\":case\"EmptyStatement\":case\"ExpressionStatement\":case\"ForInStatement\":case\"ForStatement\":case\"IfStatement\":case\"LabeledStatement\":case\"ReturnStatement\":case\"SwitchStatement\":case\"ThrowStatement\":case\"TryStatement\":case\"VariableDeclaration\":case\"WhileStatement\":case\"WithStatement\":return!0}return!1}function N(C0){switch(C0.type){case\"IfStatement\":return C0.alternate!=null?C0.alternate:C0.consequent;case\"LabeledStatement\":case\"ForStatement\":case\"ForInStatement\":case\"WhileStatement\":case\"WithStatement\":return C0.body}return null}B0.exports={isExpression:function(C0){if(C0==null)return!1;switch(C0.type){case\"ArrayExpression\":case\"AssignmentExpression\":case\"BinaryExpression\":case\"CallExpression\":case\"ConditionalExpression\":case\"FunctionExpression\":case\"Identifier\":case\"Literal\":case\"LogicalExpression\":case\"MemberExpression\":case\"NewExpression\":case\"ObjectExpression\":case\"SequenceExpression\":case\"ThisExpression\":case\"UnaryExpression\":case\"UpdateExpression\":return!0}return!1},isStatement:d,isIterationStatement:function(C0){if(C0==null)return!1;switch(C0.type){case\"DoWhileStatement\":case\"ForInStatement\":case\"ForStatement\":case\"WhileStatement\":return!0}return!1},isSourceElement:function(C0){return d(C0)||C0!=null&&C0.type===\"FunctionDeclaration\"},isProblematicIfStatement:function(C0){var _1;if(C0.type!==\"IfStatement\"||C0.alternate==null)return!1;_1=C0.consequent;do{if(_1.type===\"IfStatement\"&&_1.alternate==null)return!0;_1=N(_1)}while(_1);return!1},trailingStatement:N}})()}),Y8=R(function(B0){(function(){var d,N,C0,_1,jx,We;function mt($t){return $t<=65535?String.fromCharCode($t):String.fromCharCode(Math.floor(($t-65536)/1024)+55296)+String.fromCharCode(($t-65536)%1024+56320)}for(N={NonAsciiIdentifierStart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\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-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\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\\u0AF9\\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-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\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-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\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\\u2160-\\u2188\\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-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\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]/,NonAsciiIdentifierPart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B4\\u08B6-\\u08BD\\u08D4-\\u08E1\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D54-\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\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\\u135D-\\u135F\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19D9\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFB-\\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\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u2E2F\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099\\u309A\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]/},d={NonAsciiIdentifierStart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\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-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\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\\u0AF9\\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-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\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-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\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\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\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\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309B-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\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]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDF00-\\uDF19]|\\uD806[\\uDCA0-\\uDCDF\\uDCFF\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50\\uDF93-\\uDF9F\\uDFE0]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD83A[\\uDC00-\\uDCC4\\uDD00-\\uDD43]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]/,NonAsciiIdentifierPart:/[\\xAA\\xB5\\xB7\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B4\\u08B6-\\u08BD\\u08D4-\\u08E1\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D54-\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\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\\u135D-\\u135F\\u1369-\\u1371\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFB-\\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\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDDFD\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDEE0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF7A\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCA0-\\uDCA9\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE38-\\uDE3A\\uDE3F\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE6\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC00-\\uDC46\\uDC66-\\uDC6F\\uDC7F-\\uDCBA\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9\\uDD00-\\uDD34\\uDD36-\\uDD3F\\uDD50-\\uDD73\\uDD76\\uDD80-\\uDDC4\\uDDCA-\\uDDCC\\uDDD0-\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE37\\uDE3E\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEEA\\uDEF0-\\uDEF9\\uDF00-\\uDF03\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3C-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF50\\uDF57\\uDF5D-\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDC00-\\uDC4A\\uDC50-\\uDC59\\uDC80-\\uDCC5\\uDCC7\\uDCD0-\\uDCD9\\uDD80-\\uDDB5\\uDDB8-\\uDDC0\\uDDD8-\\uDDDD\\uDE00-\\uDE40\\uDE44\\uDE50-\\uDE59\\uDE80-\\uDEB7\\uDEC0-\\uDEC9\\uDF00-\\uDF19\\uDF1D-\\uDF2B\\uDF30-\\uDF39]|\\uD806[\\uDCA0-\\uDCE9\\uDCFF\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC36\\uDC38-\\uDC40\\uDC50-\\uDC59\\uDC72-\\uDC8F\\uDC92-\\uDCA7\\uDCA9-\\uDCB6]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE60-\\uDE69\\uDED0-\\uDEED\\uDEF0-\\uDEF4\\uDF00-\\uDF36\\uDF40-\\uDF43\\uDF50-\\uDF59\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50-\\uDF7E\\uDF8F-\\uDF9F\\uDFE0]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB\\uDFCE-\\uDFFF]|\\uD836[\\uDE00-\\uDE36\\uDE3B-\\uDE6C\\uDE75\\uDE84\\uDE9B-\\uDE9F\\uDEA1-\\uDEAF]|\\uD838[\\uDC00-\\uDC06\\uDC08-\\uDC18\\uDC1B-\\uDC21\\uDC23\\uDC24\\uDC26-\\uDC2A]|\\uD83A[\\uDC00-\\uDCC4\\uDCD0-\\uDCD6\\uDD00-\\uDD4A\\uDD50-\\uDD59]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]|\\uDB40[\\uDD00-\\uDDEF]/},C0=[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279],_1=new Array(128),We=0;We<128;++We)_1[We]=We>=97&&We<=122||We>=65&&We<=90||We===36||We===95;for(jx=new Array(128),We=0;We<128;++We)jx[We]=We>=97&&We<=122||We>=65&&We<=90||We>=48&&We<=57||We===36||We===95;B0.exports={isDecimalDigit:function($t){return 48<=$t&&$t<=57},isHexDigit:function($t){return 48<=$t&&$t<=57||97<=$t&&$t<=102||65<=$t&&$t<=70},isOctalDigit:function($t){return $t>=48&&$t<=55},isWhiteSpace:function($t){return $t===32||$t===9||$t===11||$t===12||$t===160||$t>=5760&&C0.indexOf($t)>=0},isLineTerminator:function($t){return $t===10||$t===13||$t===8232||$t===8233},isIdentifierStartES5:function($t){return $t<128?_1[$t]:N.NonAsciiIdentifierStart.test(mt($t))},isIdentifierPartES5:function($t){return $t<128?jx[$t]:N.NonAsciiIdentifierPart.test(mt($t))},isIdentifierStartES6:function($t){return $t<128?_1[$t]:d.NonAsciiIdentifierStart.test(mt($t))},isIdentifierPartES6:function($t){return $t<128?jx[$t]:d.NonAsciiIdentifierPart.test(mt($t))}}})()}),hS=R(function(B0){(function(){var d=Y8;function N($t,Zn){return!(!Zn&&$t===\"yield\")&&C0($t,Zn)}function C0($t,Zn){if(Zn&&function(_i){switch(_i){case\"implements\":case\"interface\":case\"package\":case\"private\":case\"protected\":case\"public\":case\"static\":case\"let\":return!0;default:return!1}}($t))return!0;switch($t.length){case 2:return $t===\"if\"||$t===\"in\"||$t===\"do\";case 3:return $t===\"var\"||$t===\"for\"||$t===\"new\"||$t===\"try\";case 4:return $t===\"this\"||$t===\"else\"||$t===\"case\"||$t===\"void\"||$t===\"with\"||$t===\"enum\";case 5:return $t===\"while\"||$t===\"break\"||$t===\"catch\"||$t===\"throw\"||$t===\"const\"||$t===\"yield\"||$t===\"class\"||$t===\"super\";case 6:return $t===\"return\"||$t===\"typeof\"||$t===\"delete\"||$t===\"switch\"||$t===\"export\"||$t===\"import\";case 7:return $t===\"default\"||$t===\"finally\"||$t===\"extends\";case 8:return $t===\"function\"||$t===\"continue\"||$t===\"debugger\";case 10:return $t===\"instanceof\";default:return!1}}function _1($t,Zn){return $t===\"null\"||$t===\"true\"||$t===\"false\"||N($t,Zn)}function jx($t,Zn){return $t===\"null\"||$t===\"true\"||$t===\"false\"||C0($t,Zn)}function We($t){var Zn,_i,Va;if($t.length===0||(Va=$t.charCodeAt(0),!d.isIdentifierStartES5(Va)))return!1;for(Zn=1,_i=$t.length;Zn<_i;++Zn)if(Va=$t.charCodeAt(Zn),!d.isIdentifierPartES5(Va))return!1;return!0}function mt($t){var Zn,_i,Va,Bo,Rt;if($t.length===0)return!1;for(Rt=d.isIdentifierStartES6,Zn=0,_i=$t.length;Zn<_i;++Zn){if(55296<=(Va=$t.charCodeAt(Zn))&&Va<=56319){if(++Zn>=_i||!(56320<=(Bo=$t.charCodeAt(Zn))&&Bo<=57343))return!1;Va=1024*(Va-55296)+(Bo-56320)+65536}if(!Rt(Va))return!1;Rt=d.isIdentifierPartES6}return!0}B0.exports={isKeywordES5:N,isKeywordES6:C0,isReservedWordES5:_1,isReservedWordES6:jx,isRestrictedWord:function($t){return $t===\"eval\"||$t===\"arguments\"},isIdentifierNameES5:We,isIdentifierNameES6:mt,isIdentifierES5:function($t,Zn){return We($t)&&!_1($t,Zn)},isIdentifierES6:function($t,Zn){return mt($t)&&!jx($t,Zn)}}})()});const yA=R(function(B0,d){d.ast=AF,d.code=Y8,d.keyword=hS}).keyword.isIdentifierNameES5,{getLast:JF,hasNewline:eE,skipWhitespace:ew,isNonEmptyArray:b5,isNextLineEmptyAfterIndex:DA}=zE,{locStart:_a,locEnd:$o,hasSameLocStart:To}=FF,Qc=new RegExp(\"^(?:(?=.)\\\\s)*:\"),od=new RegExp(\"^(?:(?=.)\\\\s)*::\");function _p(B0){return B0.type===\"Block\"||B0.type===\"CommentBlock\"||B0.type===\"MultiLine\"}function F8(B0){return B0.type===\"Line\"||B0.type===\"CommentLine\"||B0.type===\"SingleLine\"||B0.type===\"HashbangComment\"||B0.type===\"HTMLOpen\"||B0.type===\"HTMLClose\"}const rg=new Set([\"ExportDefaultDeclaration\",\"ExportDefaultSpecifier\",\"DeclareExportDeclaration\",\"ExportNamedDeclaration\",\"ExportAllDeclaration\"]);function Y4(B0){return B0&&rg.has(B0.type)}function ZS(B0){return B0.type===\"NumericLiteral\"||B0.type===\"Literal\"&&typeof B0.value==\"number\"}function A8(B0){return B0.type===\"StringLiteral\"||B0.type===\"Literal\"&&typeof B0.value==\"string\"}function WE(B0){return B0.type===\"FunctionExpression\"||B0.type===\"ArrowFunctionExpression\"}function R8(B0){return $2(B0)&&B0.callee.type===\"Identifier\"&&(B0.callee.name===\"async\"||B0.callee.name===\"inject\"||B0.callee.name===\"fakeAsync\")}function gS(B0){return B0.type===\"JSXElement\"||B0.type===\"JSXFragment\"}function N6(B0){return B0.kind===\"get\"||B0.kind===\"set\"}function g4(B0){return N6(B0)||To(B0,B0.value)}const f_=new Set([\"BinaryExpression\",\"LogicalExpression\",\"NGPipeExpression\"]),TF=new Set([\"AnyTypeAnnotation\",\"TSAnyKeyword\",\"NullLiteralTypeAnnotation\",\"TSNullKeyword\",\"ThisTypeAnnotation\",\"TSThisType\",\"NumberTypeAnnotation\",\"TSNumberKeyword\",\"VoidTypeAnnotation\",\"TSVoidKeyword\",\"BooleanTypeAnnotation\",\"TSBooleanKeyword\",\"BigIntTypeAnnotation\",\"TSBigIntKeyword\",\"SymbolTypeAnnotation\",\"TSSymbolKeyword\",\"StringTypeAnnotation\",\"TSStringKeyword\",\"BooleanLiteralTypeAnnotation\",\"StringLiteralTypeAnnotation\",\"BigIntLiteralTypeAnnotation\",\"NumberLiteralTypeAnnotation\",\"TSLiteralType\",\"TSTemplateLiteralType\",\"EmptyTypeAnnotation\",\"MixedTypeAnnotation\",\"TSNeverKeyword\",\"TSObjectKeyword\",\"TSUndefinedKeyword\",\"TSUnknownKeyword\"]),G6=/^(skip|[fx]?(it|describe|test))$/;function $2(B0){return B0&&(B0.type===\"CallExpression\"||B0.type===\"OptionalCallExpression\")}function b8(B0){return B0&&(B0.type===\"MemberExpression\"||B0.type===\"OptionalMemberExpression\")}function vA(B0){return/^(\\d+|\\d+\\.\\d+)$/.test(B0)}function n5(B0){return B0.quasis.some(d=>d.value.raw.includes(`\n`))}function bb(B0){return B0.extra?B0.extra.raw:B0.raw}const P6={\"==\":!0,\"!=\":!0,\"===\":!0,\"!==\":!0},i6={\"*\":!0,\"/\":!0,\"%\":!0},wF={\">>\":!0,\">>>\":!0,\"<<\":!0},I6={};for(const[B0,d]of[[\"|>\"],[\"??\"],[\"||\"],[\"&&\"],[\"|\"],[\"^\"],[\"&\"],[\"==\",\"===\",\"!=\",\"!==\"],[\"<\",\">\",\"<=\",\">=\",\"in\",\"instanceof\"],[\">>\",\"<<\",\">>>\"],[\"+\",\"-\"],[\"*\",\"/\",\"%\"],[\"**\"]].entries())for(const N of d)I6[N]=B0;function sd(B0){return I6[B0]}const HF=new WeakMap;function aS(B0){if(HF.has(B0))return HF.get(B0);const d=[];return B0.this&&d.push(B0.this),Array.isArray(B0.parameters)?d.push(...B0.parameters):Array.isArray(B0.params)&&d.push(...B0.params),B0.rest&&d.push(B0.rest),HF.set(B0,d),d}const B4=new WeakMap;function Ux(B0){if(B4.has(B0))return B4.get(B0);let d=B0.arguments;return B0.type===\"ImportExpression\"&&(d=[B0.source],B0.attributes&&d.push(B0.attributes)),B4.set(B0,d),d}function ue(B0){return B0.value.trim()===\"prettier-ignore\"&&!B0.unignore}function Xe(B0){return B0&&(B0.prettierIgnore||hr(B0,Ht.PrettierIgnore))}const Ht={Leading:2,Trailing:4,Dangling:8,Block:16,Line:32,PrettierIgnore:64,First:128,Last:256},le=(B0,d)=>{if(typeof B0==\"function\"&&(d=B0,B0=0),B0||d)return(N,C0,_1)=>!(B0&Ht.Leading&&!N.leading||B0&Ht.Trailing&&!N.trailing||B0&Ht.Dangling&&(N.leading||N.trailing)||B0&Ht.Block&&!_p(N)||B0&Ht.Line&&!F8(N)||B0&Ht.First&&C0!==0||B0&Ht.Last&&C0!==_1.length-1||B0&Ht.PrettierIgnore&&!ue(N)||d&&!d(N))};function hr(B0,d,N){if(!B0||!b5(B0.comments))return!1;const C0=le(d,N);return!C0||B0.comments.some(C0)}function pr(B0,d,N){if(!B0||!Array.isArray(B0.comments))return[];const C0=le(d,N);return C0?B0.comments.filter(C0):B0.comments}function lt(B0){return $2(B0)||B0.type===\"NewExpression\"||B0.type===\"ImportExpression\"}var Qr={getFunctionParameters:aS,iterateFunctionParametersPath:function(B0,d){const N=B0.getValue();let C0=0;const _1=jx=>d(jx,C0++);N.this&&B0.call(_1,\"this\"),Array.isArray(N.parameters)?B0.each(_1,\"parameters\"):Array.isArray(N.params)&&B0.each(_1,\"params\"),N.rest&&B0.call(_1,\"rest\")},getCallArguments:Ux,iterateCallArgumentsPath:function(B0,d){const N=B0.getValue();N.type===\"ImportExpression\"?(B0.call(C0=>d(C0,0),\"source\"),N.attributes&&B0.call(C0=>d(C0,1),\"attributes\")):B0.each(d,\"arguments\")},hasRestParameter:function(B0){if(B0.rest)return!0;const d=aS(B0);return d.length>0&&JF(d).type===\"RestElement\"},getLeftSide:function(B0){return B0.expressions?B0.expressions[0]:B0.left||B0.test||B0.callee||B0.object||B0.tag||B0.argument||B0.expression},getLeftSidePathName:function(B0,d){if(d.expressions)return[\"expressions\",0];if(d.left)return[\"left\"];if(d.test)return[\"test\"];if(d.object)return[\"object\"];if(d.callee)return[\"callee\"];if(d.tag)return[\"tag\"];if(d.argument)return[\"argument\"];if(d.expression)return[\"expression\"];throw new Error(\"Unexpected node has no left side.\")},getParentExportDeclaration:function(B0){const d=B0.getParentNode();return B0.getName()===\"declaration\"&&Y4(d)?d:null},getTypeScriptMappedTypeModifier:function(B0,d){return B0===\"+\"?\"+\"+d:B0===\"-\"?\"-\"+d:d},hasFlowAnnotationComment:function(B0){return B0&&_p(B0[0])&&od.test(B0[0].value)},hasFlowShorthandAnnotationComment:function(B0){return B0.extra&&B0.extra.parenthesized&&b5(B0.trailingComments)&&_p(B0.trailingComments[0])&&Qc.test(B0.trailingComments[0].value)},hasLeadingOwnLineComment:function(B0,d){return gS(d)?Xe(d):hr(d,Ht.Leading,N=>eE(B0,$o(N)))},hasNakedLeftSide:function(B0){return B0.type===\"AssignmentExpression\"||B0.type===\"BinaryExpression\"||B0.type===\"LogicalExpression\"||B0.type===\"NGPipeExpression\"||B0.type===\"ConditionalExpression\"||$2(B0)||b8(B0)||B0.type===\"SequenceExpression\"||B0.type===\"TaggedTemplateExpression\"||B0.type===\"BindExpression\"||B0.type===\"UpdateExpression\"&&!B0.prefix||B0.type===\"TSAsExpression\"||B0.type===\"TSNonNullExpression\"},hasNode:function B0(d,N){if(!d||typeof d!=\"object\")return!1;if(Array.isArray(d))return d.some(_1=>B0(_1,N));const C0=N(d);return typeof C0==\"boolean\"?C0:Object.values(d).some(_1=>B0(_1,N))},hasIgnoreComment:function(B0){return Xe(B0.getValue())},hasNodeIgnoreComment:Xe,identity:function(B0){return B0},isBinaryish:function(B0){return f_.has(B0.type)},isBlockComment:_p,isCallLikeExpression:lt,isLineComment:F8,isPrettierIgnoreComment:ue,isCallExpression:$2,isMemberExpression:b8,isExportDeclaration:Y4,isFlowAnnotationComment:function(B0,d){const N=_a(d),C0=ew(B0,$o(d));return C0!==!1&&B0.slice(N,N+2)===\"/*\"&&B0.slice(C0,C0+2)===\"*/\"},isFunctionCompositionArgs:function(B0){if(B0.length<=1)return!1;let d=0;for(const N of B0)if(WE(N)){if(d+=1,d>1)return!0}else if($2(N)){for(const C0 of N.arguments)if(WE(C0))return!0}return!1},isFunctionNotation:g4,isFunctionOrArrowExpression:WE,isGetterOrSetter:N6,isJestEachTemplateLiteral:function(B0,d){const N=/^[fx]?(describe|it|test)$/;return d.type===\"TaggedTemplateExpression\"&&d.quasi===B0&&d.tag.type===\"MemberExpression\"&&d.tag.property.type===\"Identifier\"&&d.tag.property.name===\"each\"&&(d.tag.object.type===\"Identifier\"&&N.test(d.tag.object.name)||d.tag.object.type===\"MemberExpression\"&&d.tag.object.property.type===\"Identifier\"&&(d.tag.object.property.name===\"only\"||d.tag.object.property.name===\"skip\")&&d.tag.object.object.type===\"Identifier\"&&N.test(d.tag.object.object.name))},isJsxNode:gS,isLiteral:function(B0){return B0.type===\"BooleanLiteral\"||B0.type===\"DirectiveLiteral\"||B0.type===\"Literal\"||B0.type===\"NullLiteral\"||B0.type===\"NumericLiteral\"||B0.type===\"BigIntLiteral\"||B0.type===\"DecimalLiteral\"||B0.type===\"RegExpLiteral\"||B0.type===\"StringLiteral\"||B0.type===\"TemplateLiteral\"||B0.type===\"TSTypeLiteral\"||B0.type===\"JSXText\"},isLongCurriedCallExpression:function(B0){const d=B0.getValue(),N=B0.getParentNode();return $2(d)&&$2(N)&&N.callee===d&&d.arguments.length>N.arguments.length&&N.arguments.length>0},isSimpleCallArgument:function B0(d,N){if(N>=2)return!1;const C0=jx=>B0(jx,N+1),_1=d.type===\"Literal\"&&\"regex\"in d&&d.regex.pattern||d.type===\"RegExpLiteral\"&&d.pattern;return!(_1&&_1.length>5)&&(d.type===\"Literal\"||d.type===\"BigIntLiteral\"||d.type===\"DecimalLiteral\"||d.type===\"BooleanLiteral\"||d.type===\"NullLiteral\"||d.type===\"NumericLiteral\"||d.type===\"RegExpLiteral\"||d.type===\"StringLiteral\"||d.type===\"Identifier\"||d.type===\"ThisExpression\"||d.type===\"Super\"||d.type===\"PrivateName\"||d.type===\"PrivateIdentifier\"||d.type===\"ArgumentPlaceholder\"||d.type===\"Import\"||(d.type===\"TemplateLiteral\"?d.quasis.every(jx=>!jx.value.raw.includes(`\n`))&&d.expressions.every(C0):d.type===\"ObjectExpression\"?d.properties.every(jx=>!jx.computed&&(jx.shorthand||jx.value&&C0(jx.value))):d.type===\"ArrayExpression\"?d.elements.every(jx=>jx===null||C0(jx)):lt(d)?(d.type===\"ImportExpression\"||B0(d.callee,N))&&Ux(d).every(C0):b8(d)?B0(d.object,N)&&B0(d.property,N):d.type!==\"UnaryExpression\"||d.operator!==\"!\"&&d.operator!==\"-\"?d.type===\"TSNonNullExpression\"&&B0(d.expression,N):B0(d.argument,N)))},isMemberish:function(B0){return b8(B0)||B0.type===\"BindExpression\"&&Boolean(B0.object)},isNumericLiteral:ZS,isSignedNumericLiteral:function(B0){return B0.type===\"UnaryExpression\"&&(B0.operator===\"+\"||B0.operator===\"-\")&&ZS(B0.argument)},isObjectProperty:function(B0){return B0&&(B0.type===\"ObjectProperty\"||B0.type===\"Property\"&&!B0.method&&B0.kind===\"init\")},isObjectType:function(B0){return B0.type===\"ObjectTypeAnnotation\"||B0.type===\"TSTypeLiteral\"},isObjectTypePropertyAFunction:function(B0){return!(B0.type!==\"ObjectTypeProperty\"&&B0.type!==\"ObjectTypeInternalSlot\"||B0.value.type!==\"FunctionTypeAnnotation\"||B0.static||g4(B0))},isSimpleType:function(B0){return!!B0&&(!(B0.type!==\"GenericTypeAnnotation\"&&B0.type!==\"TSTypeReference\"||B0.typeParameters)||!!TF.has(B0.type))},isSimpleNumber:vA,isSimpleTemplateLiteral:function(B0){let d=\"expressions\";B0.type===\"TSTemplateLiteralType\"&&(d=\"types\");const N=B0[d];return N.length!==0&&N.every(C0=>{if(hr(C0))return!1;if(C0.type===\"Identifier\"||C0.type===\"ThisExpression\")return!0;if(b8(C0)){let _1=C0;for(;b8(_1);)if(_1.property.type!==\"Identifier\"&&_1.property.type!==\"Literal\"&&_1.property.type!==\"StringLiteral\"&&_1.property.type!==\"NumericLiteral\"||(_1=_1.object,hr(_1)))return!1;return _1.type===\"Identifier\"||_1.type===\"ThisExpression\"}return!1})},isStringLiteral:A8,isStringPropSafeToUnquote:function(B0,d){return d.parser!==\"json\"&&A8(B0.key)&&bb(B0.key).slice(1,-1)===B0.key.value&&(yA(B0.key.value)&&!((d.parser===\"typescript\"||d.parser===\"babel-ts\")&&B0.type===\"ClassProperty\")||vA(B0.key.value)&&String(Number(B0.key.value))===B0.key.value&&(d.parser===\"babel\"||d.parser===\"espree\"||d.parser===\"meriyah\"||d.parser===\"__babel_estree\"))},isTemplateOnItsOwnLine:function(B0,d){return(B0.type===\"TemplateLiteral\"&&n5(B0)||B0.type===\"TaggedTemplateExpression\"&&n5(B0.quasi))&&!eE(d,_a(B0),{backwards:!0})},isTestCall:function B0(d,N){if(d.type!==\"CallExpression\")return!1;if(d.arguments.length===1){if(R8(d)&&N&&B0(N))return WE(d.arguments[0]);if(function(C0){return C0.callee.type===\"Identifier\"&&/^(before|after)(Each|All)$/.test(C0.callee.name)&&C0.arguments.length===1}(d))return R8(d.arguments[0])}else if((d.arguments.length===2||d.arguments.length===3)&&(d.callee.type===\"Identifier\"&&G6.test(d.callee.name)||function(C0){return b8(C0.callee)&&C0.callee.object.type===\"Identifier\"&&C0.callee.property.type===\"Identifier\"&&G6.test(C0.callee.object.name)&&(C0.callee.property.name===\"only\"||C0.callee.property.name===\"skip\")}(d))&&(function(C0){return C0.type===\"TemplateLiteral\"}(d.arguments[0])||A8(d.arguments[0])))return!(d.arguments[2]&&!ZS(d.arguments[2]))&&((d.arguments.length===2?WE(d.arguments[1]):function(C0){return C0.type===\"FunctionExpression\"||C0.type===\"ArrowFunctionExpression\"&&C0.body.type===\"BlockStatement\"}(d.arguments[1])&&aS(d.arguments[1]).length<=1)||R8(d.arguments[1]));return!1},isTheOnlyJsxElementInMarkdown:function(B0,d){if(B0.parentParser!==\"markdown\"&&B0.parentParser!==\"mdx\")return!1;const N=d.getNode();if(!N.expression||!gS(N.expression))return!1;const C0=d.getParentNode();return C0.type===\"Program\"&&C0.body.length===1},isTSXFile:function(B0){return B0.filepath&&/\\.tsx$/i.test(B0.filepath)},isTypeAnnotationAFunction:function(B0){return!(B0.type!==\"TypeAnnotation\"&&B0.type!==\"TSTypeAnnotation\"||B0.typeAnnotation.type!==\"FunctionTypeAnnotation\"||B0.static||To(B0,B0.typeAnnotation))},isNextLineEmpty:(B0,{originalText:d})=>DA(d,$o(B0)),needsHardlineAfterDanglingComment:function(B0){if(!hr(B0))return!1;const d=JF(pr(B0,Ht.Dangling));return d&&!_p(d)},rawText:bb,shouldPrintComma:function(B0,d=\"es5\"){return B0.trailingComma===\"es5\"&&d===\"es5\"||B0.trailingComma===\"all\"&&(d===\"all\"||d===\"es5\")},isBitwiseOperator:function(B0){return Boolean(wF[B0])||B0===\"|\"||B0===\"^\"||B0===\"&\"},shouldFlatten:function(B0,d){return sd(d)===sd(B0)&&B0!==\"**\"&&(!P6[B0]||!P6[d])&&!(d===\"%\"&&i6[B0]||B0===\"%\"&&i6[d])&&(d===B0||!i6[d]||!i6[B0])&&(!wF[B0]||!wF[d])},startsWithNoLookaheadToken:function B0(d,N){switch((d=function(C0){for(;C0.left;)C0=C0.left;return C0}(d)).type){case\"FunctionExpression\":case\"ClassExpression\":case\"DoExpression\":return N;case\"ObjectExpression\":return!0;case\"MemberExpression\":case\"OptionalMemberExpression\":return B0(d.object,N);case\"TaggedTemplateExpression\":return d.tag.type!==\"FunctionExpression\"&&B0(d.tag,N);case\"CallExpression\":case\"OptionalCallExpression\":return d.callee.type!==\"FunctionExpression\"&&B0(d.callee,N);case\"ConditionalExpression\":return B0(d.test,N);case\"UpdateExpression\":return!d.prefix&&B0(d.argument,N);case\"BindExpression\":return d.object&&B0(d.object,N);case\"SequenceExpression\":return B0(d.expressions[0],N);case\"TSAsExpression\":case\"TSNonNullExpression\":return B0(d.expression,N);default:return!1}},getPrecedence:sd,hasComment:hr,getComments:pr,CommentCheckFlags:Ht};const{getLast:Wi,hasNewline:Io,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:Uo,getNextNonSpaceNonCommentCharacter:sa,hasNewlineInRange:fn,addLeadingComment:Gn,addTrailingComment:Ti,addDanglingComment:Eo,getNextNonSpaceNonCommentCharacterIndex:qo,isNonEmptyArray:ci}=zE,{isBlockComment:os,getFunctionParameters:$s,isPrettierIgnoreComment:Po,isJsxNode:Dr,hasFlowShorthandAnnotationComment:Nm,hasFlowAnnotationComment:Og,hasIgnoreComment:Bg,isCallLikeExpression:_S,getCallArguments:f8,isCallExpression:Lx,isMemberExpression:q1,isObjectProperty:Qx}=Qr,{locStart:Be,locEnd:St}=FF;function _r(B0,d){const N=(B0.body||B0.properties).find(({type:C0})=>C0!==\"EmptyStatement\");N?Gn(N,d):Eo(B0,d)}function gi(B0,d){B0.type===\"BlockStatement\"?_r(B0,d):Gn(B0,d)}function je({comment:B0,followingNode:d}){return!(!d||!Q8(B0))&&(Gn(d,B0),!0)}function Gu({comment:B0,precedingNode:d,enclosingNode:N,followingNode:C0,text:_1}){return!N||N.type!==\"IfStatement\"||!C0?!1:sa(_1,B0,St)===\")\"?(Ti(d,B0),!0):d===N.consequent&&C0===N.alternate?(d.type===\"BlockStatement\"?Ti(d,B0):Eo(N,B0),!0):C0.type===\"BlockStatement\"?(_r(C0,B0),!0):C0.type===\"IfStatement\"?(gi(C0.consequent,B0),!0):N.consequent===C0&&(Gn(C0,B0),!0)}function io({comment:B0,precedingNode:d,enclosingNode:N,followingNode:C0,text:_1}){return!N||N.type!==\"WhileStatement\"||!C0?!1:sa(_1,B0,St)===\")\"?(Ti(d,B0),!0):C0.type===\"BlockStatement\"?(_r(C0,B0),!0):N.body===C0&&(Gn(C0,B0),!0)}function ss({comment:B0,precedingNode:d,enclosingNode:N,followingNode:C0}){return!(!N||N.type!==\"TryStatement\"&&N.type!==\"CatchClause\"||!C0)&&(N.type===\"CatchClause\"&&d?(Ti(d,B0),!0):C0.type===\"BlockStatement\"?(_r(C0,B0),!0):C0.type===\"TryStatement\"?(gi(C0.finalizer,B0),!0):C0.type===\"CatchClause\"&&(gi(C0.body,B0),!0))}function to({comment:B0,enclosingNode:d,followingNode:N}){return!(!q1(d)||!N||N.type!==\"Identifier\")&&(Gn(d,B0),!0)}function Ma({comment:B0,precedingNode:d,enclosingNode:N,followingNode:C0,text:_1}){const jx=d&&!fn(_1,St(d),Be(B0));return!(d&&jx||!N||N.type!==\"ConditionalExpression\"&&N.type!==\"TSConditionalType\"||!C0)&&(Gn(C0,B0),!0)}function Ks({comment:B0,precedingNode:d,enclosingNode:N}){return!(!Qx(N)||!N.shorthand||N.key!==d||N.value.type!==\"AssignmentPattern\")&&(Ti(N.value.left,B0),!0)}function Qa({comment:B0,precedingNode:d,enclosingNode:N,followingNode:C0}){if(N&&(N.type===\"ClassDeclaration\"||N.type===\"ClassExpression\"||N.type===\"DeclareClass\"||N.type===\"DeclareInterface\"||N.type===\"InterfaceDeclaration\"||N.type===\"TSInterfaceDeclaration\")){if(ci(N.decorators)&&(!C0||C0.type!==\"Decorator\"))return Ti(Wi(N.decorators),B0),!0;if(N.body&&C0===N.body)return _r(N.body,B0),!0;if(C0){for(const _1 of[\"implements\",\"extends\",\"mixins\"])if(N[_1]&&C0===N[_1][0])return!d||d!==N.id&&d!==N.typeParameters&&d!==N.superClass?Eo(N,B0,_1):Ti(d,B0),!0}}return!1}function Wc({comment:B0,precedingNode:d,enclosingNode:N,text:C0}){return(N&&d&&(N.type===\"Property\"||N.type===\"TSDeclareMethod\"||N.type===\"TSAbstractMethodDefinition\")&&d.type===\"Identifier\"&&N.key===d&&sa(C0,d,St)!==\":\"||!(!d||!N||d.type!==\"Decorator\"||N.type!==\"ClassMethod\"&&N.type!==\"ClassProperty\"&&N.type!==\"PropertyDefinition\"&&N.type!==\"TSAbstractClassProperty\"&&N.type!==\"TSAbstractMethodDefinition\"&&N.type!==\"TSDeclareMethod\"&&N.type!==\"MethodDefinition\"))&&(Ti(d,B0),!0)}function la({comment:B0,precedingNode:d,enclosingNode:N,text:C0}){return sa(C0,B0,St)===\"(\"&&!(!d||!N||N.type!==\"FunctionDeclaration\"&&N.type!==\"FunctionExpression\"&&N.type!==\"ClassMethod\"&&N.type!==\"MethodDefinition\"&&N.type!==\"ObjectMethod\")&&(Ti(d,B0),!0)}function Af({comment:B0,enclosingNode:d,text:N}){if(!d||d.type!==\"ArrowFunctionExpression\")return!1;const C0=qo(N,B0,St);return C0!==!1&&N.slice(C0,C0+2)===\"=>\"&&(Eo(d,B0),!0)}function so({comment:B0,enclosingNode:d,text:N}){return sa(N,B0,St)===\")\"&&(d&&(Um(d)&&$s(d).length===0||_S(d)&&f8(d).length===0)?(Eo(d,B0),!0):!(!d||d.type!==\"MethodDefinition\"&&d.type!==\"TSAbstractMethodDefinition\"||$s(d.value).length!==0)&&(Eo(d.value,B0),!0))}function qu({comment:B0,precedingNode:d,enclosingNode:N,followingNode:C0,text:_1}){if(d&&d.type===\"FunctionTypeParam\"&&N&&N.type===\"FunctionTypeAnnotation\"&&C0&&C0.type!==\"FunctionTypeParam\"||d&&(d.type===\"Identifier\"||d.type===\"AssignmentPattern\")&&N&&Um(N)&&sa(_1,B0,St)===\")\")return Ti(d,B0),!0;if(N&&N.type===\"FunctionDeclaration\"&&C0&&C0.type===\"BlockStatement\"){const jx=(()=>{const We=$s(N);if(We.length>0)return Uo(_1,St(Wi(We)));const mt=Uo(_1,St(N.id));return mt!==!1&&Uo(_1,mt+1)})();if(Be(B0)>jx)return _r(C0,B0),!0}return!1}function lf({comment:B0,enclosingNode:d}){return!(!d||d.type!==\"ImportSpecifier\")&&(Gn(d,B0),!0)}function uu({comment:B0,enclosingNode:d}){return!(!d||d.type!==\"LabeledStatement\")&&(Gn(d,B0),!0)}function ud({comment:B0,enclosingNode:d}){return!(!d||d.type!==\"ContinueStatement\"&&d.type!==\"BreakStatement\"||d.label)&&(Ti(d,B0),!0)}function fm({comment:B0,precedingNode:d,enclosingNode:N}){return!!(Lx(N)&&d&&N.callee===d&&N.arguments.length>0)&&(Gn(N.arguments[0],B0),!0)}function w2({comment:B0,precedingNode:d,enclosingNode:N,followingNode:C0}){return!N||N.type!==\"UnionTypeAnnotation\"&&N.type!==\"TSUnionType\"?(C0&&(C0.type===\"UnionTypeAnnotation\"||C0.type===\"TSUnionType\")&&Po(B0)&&(C0.types[0].prettierIgnore=!0,B0.unignore=!0),!1):(Po(B0)&&(C0.prettierIgnore=!0,B0.unignore=!0),!!d&&(Ti(d,B0),!0))}function US({comment:B0,enclosingNode:d}){return!!Qx(d)&&(Gn(d,B0),!0)}function j8({comment:B0,enclosingNode:d,followingNode:N,ast:C0,isLastComment:_1}){return C0&&C0.body&&C0.body.length===0?(_1?Eo(C0,B0):Gn(C0,B0),!0):d&&d.type===\"Program\"&&d.body.length===0&&!ci(d.directives)?(_1?Eo(d,B0):Gn(d,B0),!0):!(!N||N.type!==\"Program\"||N.body.length!==0||!d||d.type!==\"ModuleExpression\")&&(Eo(N,B0),!0)}function tE({comment:B0,enclosingNode:d}){return!(!d||d.type!==\"ForInStatement\"&&d.type!==\"ForOfStatement\")&&(Gn(d,B0),!0)}function U8({comment:B0,precedingNode:d,enclosingNode:N,text:C0}){return!!(d&&d.type===\"ImportSpecifier\"&&N&&N.type===\"ImportDeclaration\"&&Io(C0,St(B0)))&&(Ti(d,B0),!0)}function xp({comment:B0,enclosingNode:d}){return!(!d||d.type!==\"AssignmentPattern\")&&(Gn(d,B0),!0)}function tw({comment:B0,enclosingNode:d}){return!(!d||d.type!==\"TypeAlias\")&&(Gn(d,B0),!0)}function _4({comment:B0,enclosingNode:d,followingNode:N}){return!(!d||d.type!==\"VariableDeclarator\"&&d.type!==\"AssignmentExpression\"||!N||N.type!==\"ObjectExpression\"&&N.type!==\"ArrayExpression\"&&N.type!==\"TemplateLiteral\"&&N.type!==\"TaggedTemplateExpression\"&&!os(B0))&&(Gn(N,B0),!0)}function rw({comment:B0,enclosingNode:d,followingNode:N,text:C0}){return!(N||!d||d.type!==\"TSMethodSignature\"&&d.type!==\"TSDeclareFunction\"&&d.type!==\"TSAbstractMethodDefinition\"||sa(C0,B0,St)!==\";\")&&(Ti(d,B0),!0)}function kF({comment:B0,enclosingNode:d,followingNode:N}){if(Po(B0)&&d&&d.type===\"TSMappedType\"&&N&&N.type===\"TSTypeParameter\"&&N.constraint)return d.prettierIgnore=!0,B0.unignore=!0,!0}function i5({comment:B0,precedingNode:d,enclosingNode:N,followingNode:C0}){return!(!N||N.type!==\"TSMappedType\")&&(C0&&C0.type===\"TSTypeParameter\"&&C0.name?(Gn(C0.name,B0),!0):!(!d||d.type!==\"TSTypeParameter\"||!d.constraint)&&(Ti(d.constraint,B0),!0))}function Um(B0){return B0.type===\"ArrowFunctionExpression\"||B0.type===\"FunctionExpression\"||B0.type===\"FunctionDeclaration\"||B0.type===\"ObjectMethod\"||B0.type===\"ClassMethod\"||B0.type===\"TSDeclareFunction\"||B0.type===\"TSCallSignatureDeclaration\"||B0.type===\"TSConstructSignatureDeclaration\"||B0.type===\"TSMethodSignature\"||B0.type===\"TSConstructorType\"||B0.type===\"TSFunctionType\"||B0.type===\"TSDeclareMethod\"}function Q8(B0){return os(B0)&&B0.value[0]===\"*\"&&/@type\\b/.test(B0.value)}var bA={handleOwnLineComment:function(B0){return[kF,qu,to,Gu,io,ss,Qa,lf,tE,w2,j8,U8,xp,Wc,uu].some(d=>d(B0))},handleEndOfLineComment:function(B0){return[je,qu,Ma,lf,Gu,io,ss,Qa,uu,fm,US,j8,tw,_4].some(d=>d(B0))},handleRemainingComment:function(B0){return[kF,Gu,io,Ks,so,Wc,j8,Af,la,i5,ud,rw].some(d=>d(B0))},isTypeCastComment:Q8,getCommentChildNodes:function(B0,d){if((d.parser===\"typescript\"||d.parser===\"flow\"||d.parser===\"espree\"||d.parser===\"meriyah\"||d.parser===\"__babel_estree\")&&B0.type===\"MethodDefinition\"&&B0.value&&B0.value.type===\"FunctionExpression\"&&$s(B0.value).length===0&&!B0.value.returnType&&!ci(B0.value.typeParameters)&&B0.value.body)return[...B0.decorators||[],B0.key,B0.value.body]},willPrintOwnComments:function(B0){const d=B0.getValue(),N=B0.getParentNode();return(d&&(Dr(d)||Nm(d)||Lx(N)&&(Og(d.leadingComments)||Og(d.trailingComments)))||N&&(N.type===\"JSXSpreadAttribute\"||N.type===\"JSXSpreadChild\"||N.type===\"UnionTypeAnnotation\"||N.type===\"TSUnionType\"||(N.type===\"ClassDeclaration\"||N.type===\"ClassExpression\")&&N.superClass===d))&&(!Bg(B0)||N.type===\"UnionTypeAnnotation\"||N.type===\"TSUnionType\")}};const{getLast:CA,getNextNonSpaceNonCommentCharacter:sT}=zE,{locStart:rE,locEnd:Z8}=FF,{isTypeCastComment:V5}=bA;function FS(B0){return B0.type===\"CallExpression\"?(B0.type=\"OptionalCallExpression\",B0.callee=FS(B0.callee)):B0.type===\"MemberExpression\"?(B0.type=\"OptionalMemberExpression\",B0.object=FS(B0.object)):B0.type===\"TSNonNullExpression\"&&(B0.expression=FS(B0.expression)),B0}function xF(B0,d){let N;if(Array.isArray(B0))N=B0.entries();else{if(!B0||typeof B0!=\"object\"||typeof B0.type!=\"string\")return B0;N=Object.entries(B0)}for(const[C0,_1]of N)B0[C0]=xF(_1,d);return Array.isArray(B0)?B0:d(B0)||B0}function $5(B0){return B0.type===\"LogicalExpression\"&&B0.right.type===\"LogicalExpression\"&&B0.operator===B0.right.operator}function AS(B0){return $5(B0)?AS({type:\"LogicalExpression\",operator:B0.operator,left:AS({type:\"LogicalExpression\",operator:B0.operator,left:B0.left,right:B0.right.left,range:[rE(B0.left),Z8(B0.right.left)]}),right:B0.right.right,range:[rE(B0),Z8(B0)]}):B0}var O6,zw=function(B0,d){if(d.parser===\"typescript\"&&d.originalText.includes(\"@\")){const{esTreeNodeToTSNodeMap:N,tsNodeToESTreeNodeMap:C0}=d.tsParseResult;B0=xF(B0,_1=>{const jx=N.get(_1);if(!jx)return;const We=jx.decorators;if(!Array.isArray(We))return;const mt=C0.get(jx);if(mt!==_1)return;const $t=mt.decorators;if(!Array.isArray($t)||$t.length!==We.length||We.some(Zn=>{const _i=C0.get(Zn);return!_i||!$t.includes(_i)})){const{start:Zn,end:_i}=mt.loc;throw n6(\"Leading decorators must be attached to a class declaration\",{start:{line:Zn.line,column:Zn.column+1},end:{line:_i.line,column:_i.column+1}})}})}if(d.parser!==\"typescript\"&&d.parser!==\"flow\"&&d.parser!==\"espree\"&&d.parser!==\"meriyah\"){const N=new Set;B0=xF(B0,C0=>{C0.leadingComments&&C0.leadingComments.some(V5)&&N.add(rE(C0))}),B0=xF(B0,C0=>{if(C0.type===\"ParenthesizedExpression\"){const{expression:_1}=C0;if(_1.type===\"TypeCastExpression\")return _1.range=C0.range,_1;const jx=rE(C0);if(!N.has(jx))return _1.extra=Object.assign(Object.assign({},_1.extra),{},{parenthesized:!0}),_1}})}return B0=xF(B0,N=>{switch(N.type){case\"ChainExpression\":return FS(N.expression);case\"LogicalExpression\":if($5(N))return AS(N);break;case\"VariableDeclaration\":{const C0=CA(N.declarations);C0&&C0.init&&function(_1,jx){d.originalText[Z8(jx)]!==\";\"&&(_1.range=[rE(_1),Z8(jx)])}(N,C0);break}case\"TSParenthesizedType\":return N.typeAnnotation.range=[rE(N),Z8(N)],N.typeAnnotation;case\"TSTypeParameter\":if(typeof N.name==\"string\"){const C0=rE(N);N.name={type:\"Identifier\",name:N.name,range:[C0,C0+N.name.length]}}break;case\"SequenceExpression\":{const C0=CA(N.expressions);N.range=[rE(N),Math.min(Z8(C0),Z8(N))];break}case\"ClassProperty\":N.key&&N.key.type===\"TSPrivateIdentifier\"&&sT(d.originalText,N.key,Z8)===\"?\"&&(N.optional=!0)}})};function EA(){if(O6===void 0){var B0=new ArrayBuffer(2),d=new Uint8Array(B0),N=new Uint16Array(B0);if(d[0]=1,d[1]=2,N[0]===258)O6=\"BE\";else{if(N[0]!==513)throw new Error(\"unable to figure out endianess\");O6=\"LE\"}}return O6}function K5(){return JS.location!==void 0?JS.location.hostname:\"\"}function ps(){return[]}function eF(){return 0}function NF(){return Number.MAX_VALUE}function C8(){return Number.MAX_VALUE}function L4(){return[]}function KT(){return\"Browser\"}function C5(){return JS.navigator!==void 0?JS.navigator.appVersion:\"\"}function y4(){}function Zs(){}function GF(){return\"javascript\"}function zT(){return\"browser\"}function AT(){return\"/tmp\"}var a5=AT,z5={EOL:`\n`,arch:GF,platform:zT,tmpdir:a5,tmpDir:AT,networkInterfaces:y4,getNetworkInterfaces:Zs,release:C5,type:KT,cpus:L4,totalmem:C8,freemem:NF,uptime:eF,loadavg:ps,hostname:K5,endianness:EA},XF=Object.freeze({__proto__:null,endianness:EA,hostname:K5,loadavg:ps,uptime:eF,freemem:NF,totalmem:C8,cpus:L4,type:KT,release:C5,networkInterfaces:y4,getNetworkInterfaces:Zs,arch:GF,platform:zT,tmpDir:AT,tmpdir:a5,EOL:`\n`,default:z5});const zs=B0=>{if(typeof B0!=\"string\")throw new TypeError(\"Expected a string\");const d=B0.match(/(?:\\r?\\n)/g)||[];if(d.length===0)return;const N=d.filter(C0=>C0===`\\r\n`).length;return N>d.length-N?`\\r\n`:`\n`};var W5=zs;W5.graceful=B0=>typeof B0==\"string\"&&zs(B0)||`\n`;var TT=b(XF),kx=function(B0){const d=B0.match(cu);return d?d[0].trimLeft():\"\"},Xx=function(B0){const d=B0.match(cu);return d&&d[0]?B0.substring(d[0].length):B0},Ee=function(B0){return Ll(B0).pragmas},at=Ll,cn=function({comments:B0=\"\",pragmas:d={}}){const N=(0,ao().default)(B0)||Bn().EOL,C0=\" *\",_1=Object.keys(d),jx=_1.map(mt=>$l(mt,d[mt])).reduce((mt,$t)=>mt.concat($t),[]).map(mt=>\" * \"+mt+N).join(\"\");if(!B0){if(_1.length===0)return\"\";if(_1.length===1&&!Array.isArray(d[_1[0]])){const mt=d[_1[0]];return`/** ${$l(_1[0],mt)[0]} */`}}const We=B0.split(N).map(mt=>` * ${mt}`).join(N)+N;return\"/**\"+N+(B0?We:\"\")+(B0&&_1.length?C0+N:\"\")+jx+\" */\"};function Bn(){const B0=TT;return Bn=function(){return B0},B0}function ao(){const B0=(d=W5)&&d.__esModule?d:{default:d};var d;return ao=function(){return B0},B0}const go=/\\*\\/$/,gu=/^\\/\\*\\*/,cu=/^\\s*(\\/\\*\\*?(.|\\r?\\n)*?\\*\\/)/,El=/(^|\\s+)\\/\\/([^\\r\\n]*)/g,Go=/^(\\r?\\n)+/,Xu=/(?:^|\\r?\\n) *(@[^\\r\\n]*?) *\\r?\\n *(?![^@\\r\\n]*\\/\\/[^]*)([^@\\r\\n\\s][^@\\r\\n]+?) *\\r?\\n/g,Ql=/(?:^|\\r?\\n) *@(\\S+) *([^\\r\\n]*)/g,p_=/(\\r?\\n|^) *\\* ?/g,ap=[];function Ll(B0){const d=(0,ao().default)(B0)||Bn().EOL;B0=B0.replace(gu,\"\").replace(go,\"\").replace(p_,\"$1\");let N=\"\";for(;N!==B0;)N=B0,B0=B0.replace(Xu,`${d}$1 $2${d}`);B0=B0.replace(Go,\"\").trimRight();const C0=Object.create(null),_1=B0.replace(Ql,\"\").replace(Go,\"\").trimRight();let jx;for(;jx=Ql.exec(B0);){const We=jx[2].replace(El,\"\");typeof C0[jx[1]]==\"string\"||Array.isArray(C0[jx[1]])?C0[jx[1]]=ap.concat(C0[jx[1]],We):C0[jx[1]]=We}return{comments:_1,pragmas:C0}}function $l(B0,d){return ap.concat(d).map(N=>`@${B0} ${N}`.trim())}var Tu=Object.defineProperty({extract:kx,strip:Xx,parse:Ee,parseWithComments:at,print:cn},\"__esModule\",{value:!0}),yp={guessEndOfLine:function(B0){const d=B0.indexOf(\"\\r\");return d>=0?B0.charAt(d+1)===`\n`?\"crlf\":\"cr\":\"lf\"},convertEndOfLineToChars:function(B0){switch(B0){case\"cr\":return\"\\r\";case\"crlf\":return`\\r\n`;default:return`\n`}},countEndOfLineChars:function(B0,d){let N;if(d===`\n`)N=/\\n/g;else if(d===\"\\r\")N=/\\r/g;else{if(d!==`\\r\n`)throw new Error(`Unexpected \"eol\" ${JSON.stringify(d)}.`);N=/\\r\\n/g}const C0=B0.match(N);return C0?C0.length:0},normalizeEndOfLine:function(B0){return B0.replace(/\\r\\n?/g,`\n`)}};const{parseWithComments:Gs,strip:ra,extract:fo,print:lu}=Tu,{getShebang:a2}=zE,{normalizeEndOfLine:V8}=yp;function YF(B0){const d=a2(B0);d&&(B0=B0.slice(d.length+1));const N=fo(B0),{pragmas:C0,comments:_1}=Gs(N);return{shebang:d,text:B0,pragmas:C0,comments:_1}}var T8={hasPragma:function(B0){const d=Object.keys(YF(B0).pragmas);return d.includes(\"prettier\")||d.includes(\"format\")},insertPragma:function(B0){const{shebang:d,text:N,pragmas:C0,comments:_1}=YF(B0),jx=ra(N),We=lu({pragmas:Object.assign({format:\"\"},C0),comments:_1.trimStart()});return(d?`${d}\n`:\"\")+V8(We)+(jx.startsWith(`\n`)?`\n`:`\n\n`)+jx}};const{hasPragma:Q4}=T8,{locStart:D4,locEnd:E5}=FF;var QF=function(B0){return B0=typeof B0==\"function\"?{parse:B0}:B0,Object.assign({astFormat:\"estree\",hasPragma:Q4,locStart:D4,locEnd:E5},B0)},Ww=function(B0){const{message:d,loc:N}=B0;return n6(d.replace(/ \\(.*\\)/,\"\"),{start:{line:N?N.line:0,column:N?N.column+1:0}})};const K2=!0,Sn=!0,M4=!0,B6=!0,x6=!0;class vf{constructor(d,N={}){this.label=void 0,this.keyword=void 0,this.beforeExpr=void 0,this.startsExpr=void 0,this.rightAssociative=void 0,this.isLoop=void 0,this.isAssign=void 0,this.prefix=void 0,this.postfix=void 0,this.binop=void 0,this.updateContext=void 0,this.label=d,this.keyword=N.keyword,this.beforeExpr=!!N.beforeExpr,this.startsExpr=!!N.startsExpr,this.rightAssociative=!!N.rightAssociative,this.isLoop=!!N.isLoop,this.isAssign=!!N.isAssign,this.prefix=!!N.prefix,this.postfix=!!N.postfix,this.binop=N.binop!=null?N.binop:null,this.updateContext=null}}const Eu=new Map;function jh(B0,d={}){d.keyword=B0;const N=new vf(B0,d);return Eu.set(B0,N),N}function Cb(B0,d){return new vf(B0,{beforeExpr:K2,binop:d})}const px={num:new vf(\"num\",{startsExpr:Sn}),bigint:new vf(\"bigint\",{startsExpr:Sn}),decimal:new vf(\"decimal\",{startsExpr:Sn}),regexp:new vf(\"regexp\",{startsExpr:Sn}),string:new vf(\"string\",{startsExpr:Sn}),name:new vf(\"name\",{startsExpr:Sn}),privateName:new vf(\"#name\",{startsExpr:Sn}),eof:new vf(\"eof\"),bracketL:new vf(\"[\",{beforeExpr:K2,startsExpr:Sn}),bracketHashL:new vf(\"#[\",{beforeExpr:K2,startsExpr:Sn}),bracketBarL:new vf(\"[|\",{beforeExpr:K2,startsExpr:Sn}),bracketR:new vf(\"]\"),bracketBarR:new vf(\"|]\"),braceL:new vf(\"{\",{beforeExpr:K2,startsExpr:Sn}),braceBarL:new vf(\"{|\",{beforeExpr:K2,startsExpr:Sn}),braceHashL:new vf(\"#{\",{beforeExpr:K2,startsExpr:Sn}),braceR:new vf(\"}\",{beforeExpr:K2}),braceBarR:new vf(\"|}\"),parenL:new vf(\"(\",{beforeExpr:K2,startsExpr:Sn}),parenR:new vf(\")\"),comma:new vf(\",\",{beforeExpr:K2}),semi:new vf(\";\",{beforeExpr:K2}),colon:new vf(\":\",{beforeExpr:K2}),doubleColon:new vf(\"::\",{beforeExpr:K2}),dot:new vf(\".\"),question:new vf(\"?\",{beforeExpr:K2}),questionDot:new vf(\"?.\"),arrow:new vf(\"=>\",{beforeExpr:K2}),template:new vf(\"template\"),ellipsis:new vf(\"...\",{beforeExpr:K2}),backQuote:new vf(\"`\",{startsExpr:Sn}),dollarBraceL:new vf(\"${\",{beforeExpr:K2,startsExpr:Sn}),at:new vf(\"@\"),hash:new vf(\"#\",{startsExpr:Sn}),interpreterDirective:new vf(\"#!...\"),eq:new vf(\"=\",{beforeExpr:K2,isAssign:B6}),assign:new vf(\"_=\",{beforeExpr:K2,isAssign:B6}),slashAssign:new vf(\"_=\",{beforeExpr:K2,isAssign:B6}),incDec:new vf(\"++/--\",{prefix:x6,postfix:!0,startsExpr:Sn}),bang:new vf(\"!\",{beforeExpr:K2,prefix:x6,startsExpr:Sn}),tilde:new vf(\"~\",{beforeExpr:K2,prefix:x6,startsExpr:Sn}),pipeline:Cb(\"|>\",0),nullishCoalescing:Cb(\"??\",1),logicalOR:Cb(\"||\",1),logicalAND:Cb(\"&&\",2),bitwiseOR:Cb(\"|\",3),bitwiseXOR:Cb(\"^\",4),bitwiseAND:Cb(\"&\",5),equality:Cb(\"==/!=/===/!==\",6),relational:Cb(\"</>/<=/>=\",7),bitShift:Cb(\"<</>>/>>>\",8),plusMin:new vf(\"+/-\",{beforeExpr:K2,binop:9,prefix:x6,startsExpr:Sn}),modulo:new vf(\"%\",{beforeExpr:K2,binop:10,startsExpr:Sn}),star:new vf(\"*\",{binop:10}),slash:Cb(\"/\",10),exponent:new vf(\"**\",{beforeExpr:K2,binop:11,rightAssociative:!0}),_break:jh(\"break\"),_case:jh(\"case\",{beforeExpr:K2}),_catch:jh(\"catch\"),_continue:jh(\"continue\"),_debugger:jh(\"debugger\"),_default:jh(\"default\",{beforeExpr:K2}),_do:jh(\"do\",{isLoop:M4,beforeExpr:K2}),_else:jh(\"else\",{beforeExpr:K2}),_finally:jh(\"finally\"),_for:jh(\"for\",{isLoop:M4}),_function:jh(\"function\",{startsExpr:Sn}),_if:jh(\"if\"),_return:jh(\"return\",{beforeExpr:K2}),_switch:jh(\"switch\"),_throw:jh(\"throw\",{beforeExpr:K2,prefix:x6,startsExpr:Sn}),_try:jh(\"try\"),_var:jh(\"var\"),_const:jh(\"const\"),_while:jh(\"while\",{isLoop:M4}),_with:jh(\"with\"),_new:jh(\"new\",{beforeExpr:K2,startsExpr:Sn}),_this:jh(\"this\",{startsExpr:Sn}),_super:jh(\"super\",{startsExpr:Sn}),_class:jh(\"class\",{startsExpr:Sn}),_extends:jh(\"extends\",{beforeExpr:K2}),_export:jh(\"export\"),_import:jh(\"import\",{startsExpr:Sn}),_null:jh(\"null\",{startsExpr:Sn}),_true:jh(\"true\",{startsExpr:Sn}),_false:jh(\"false\",{startsExpr:Sn}),_in:jh(\"in\",{beforeExpr:K2,binop:7}),_instanceof:jh(\"instanceof\",{beforeExpr:K2,binop:7}),_typeof:jh(\"typeof\",{beforeExpr:K2,prefix:x6,startsExpr:Sn}),_void:jh(\"void\",{beforeExpr:K2,prefix:x6,startsExpr:Sn}),_delete:jh(\"delete\",{beforeExpr:K2,prefix:x6,startsExpr:Sn})},Tf=/\\r\\n?|[\\n\\u2028\\u2029]/,e6=new RegExp(Tf.source,\"g\");function z2(B0){switch(B0){case 10:case 13:case 8232:case 8233:return!0;default:return!1}}const ty=/(?:\\s|\\/\\/.*|\\/\\*[^]*?\\*\\/)*/g;function yS(B0){switch(B0){case 9:case 11:case 12:case 32:case 160:case 5760:case 8192:case 8193:case 8194:case 8195:case 8196:case 8197:case 8198:case 8199:case 8200:case 8201:case 8202:case 8239:case 8287:case 12288:case 65279:return!0;default:return!1}}class TS{constructor(d,N){this.line=void 0,this.column=void 0,this.line=d,this.column=N}}class L6{constructor(d,N){this.start=void 0,this.end=void 0,this.filename=void 0,this.identifierName=void 0,this.start=d,this.end=N}}function v4(B0){return B0[B0.length-1]}const W2=Object.freeze({SyntaxError:\"BABEL_PARSER_SYNTAX_ERROR\",SourceTypeModuleError:\"BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED\"}),pt=M6({AccessorIsGenerator:\"A %0ter cannot be a generator.\",ArgumentsInClass:\"'arguments' is only allowed in functions and class methods.\",AsyncFunctionInSingleStatementContext:\"Async functions can only be declared at the top level or inside a block.\",AwaitBindingIdentifier:\"Can not use 'await' as identifier inside an async function.\",AwaitBindingIdentifierInStaticBlock:\"Can not use 'await' as identifier inside a static block.\",AwaitExpressionFormalParameter:\"'await' is not allowed in async function parameters.\",AwaitNotInAsyncContext:\"'await' is only allowed within async functions and at the top levels of modules.\",AwaitNotInAsyncFunction:\"'await' is only allowed within async functions.\",BadGetterArity:\"A 'get' accesor must not have any formal parameters.\",BadSetterArity:\"A 'set' accesor must have exactly one formal parameter.\",BadSetterRestParameter:\"A 'set' accesor function argument must not be a rest parameter.\",ConstructorClassField:\"Classes may not have a field named 'constructor'.\",ConstructorClassPrivateField:\"Classes may not have a private field named '#constructor'.\",ConstructorIsAccessor:\"Class constructor may not be an accessor.\",ConstructorIsAsync:\"Constructor can't be an async function.\",ConstructorIsGenerator:\"Constructor can't be a generator.\",DeclarationMissingInitializer:\"'%0' require an initialization value.\",DecoratorBeforeExport:\"Decorators must be placed *before* the 'export' keyword. You can set the 'decoratorsBeforeExport' option to false to use the 'export @decorator class {}' syntax.\",DecoratorConstructor:\"Decorators can't be used with a constructor. Did you mean '@dec class { ... }'?\",DecoratorExportClass:\"Using the export keyword between a decorator and a class is not allowed. Please use `export @dec class` instead.\",DecoratorSemicolon:\"Decorators must not be followed by a semicolon.\",DecoratorStaticBlock:\"Decorators can't be used with a static block.\",DeletePrivateField:\"Deleting a private field is not allowed.\",DestructureNamedImport:\"ES2015 named imports do not destructure. Use another statement for destructuring after the import.\",DuplicateConstructor:\"Duplicate constructor in the same class.\",DuplicateDefaultExport:\"Only one default export allowed per module.\",DuplicateExport:\"`%0` has already been exported. Exported identifiers must be unique.\",DuplicateProto:\"Redefinition of __proto__ property.\",DuplicateRegExpFlags:\"Duplicate regular expression flag.\",ElementAfterRest:\"Rest element must be last element.\",EscapedCharNotAnIdentifier:\"Invalid Unicode escape.\",ExportBindingIsString:\"A string literal cannot be used as an exported binding without `from`.\\n- Did you mean `export { '%0' as '%1' } from 'some-module'`?\",ExportDefaultFromAsIdentifier:\"'from' is not allowed as an identifier after 'export default'.\",ForInOfLoopInitializer:\"'%0' loop variable declaration may not have an initializer.\",ForOfAsync:\"The left-hand side of a for-of loop may not be 'async'.\",ForOfLet:\"The left-hand side of a for-of loop may not start with 'let'.\",GeneratorInSingleStatementContext:\"Generators can only be declared at the top level or inside a block.\",IllegalBreakContinue:\"Unsyntactic %0.\",IllegalLanguageModeDirective:\"Illegal 'use strict' directive in function with non-simple parameter list.\",IllegalReturn:\"'return' outside of function.\",ImportBindingIsString:'A string literal cannot be used as an imported binding.\\n- Did you mean `import { \"%0\" as foo }`?',ImportCallArgumentTrailingComma:\"Trailing comma is disallowed inside import(...) arguments.\",ImportCallArity:\"`import()` requires exactly %0.\",ImportCallNotNewExpression:\"Cannot use new with import(...).\",ImportCallSpreadArgument:\"`...` is not allowed in `import()`.\",InvalidBigIntLiteral:\"Invalid BigIntLiteral.\",InvalidCodePoint:\"Code point out of bounds.\",InvalidDecimal:\"Invalid decimal.\",InvalidDigit:\"Expected number in radix %0.\",InvalidEscapeSequence:\"Bad character escape sequence.\",InvalidEscapeSequenceTemplate:\"Invalid escape sequence in template.\",InvalidEscapedReservedWord:\"Escape sequence in keyword %0.\",InvalidIdentifier:\"Invalid identifier %0.\",InvalidLhs:\"Invalid left-hand side in %0.\",InvalidLhsBinding:\"Binding invalid left-hand side in %0.\",InvalidNumber:\"Invalid number.\",InvalidOrMissingExponent:\"Floating-point numbers require a valid exponent after the 'e'.\",InvalidOrUnexpectedToken:\"Unexpected character '%0'.\",InvalidParenthesizedAssignment:\"Invalid parenthesized assignment pattern.\",InvalidPrivateFieldResolution:\"Private name #%0 is not defined.\",InvalidPropertyBindingPattern:\"Binding member expression.\",InvalidRecordProperty:\"Only properties and spread elements are allowed in record definitions.\",InvalidRestAssignmentPattern:\"Invalid rest operator's argument.\",LabelRedeclaration:\"Label '%0' is already declared.\",LetInLexicalBinding:\"'let' is not allowed to be used as a name in 'let' or 'const' declarations.\",LineTerminatorBeforeArrow:\"No line break is allowed before '=>'.\",MalformedRegExpFlags:\"Invalid regular expression flag.\",MissingClassName:\"A class name is required.\",MissingEqInAssignment:\"Only '=' operator can be used for specifying default value.\",MissingSemicolon:\"Missing semicolon.\",MissingUnicodeEscape:\"Expecting Unicode escape sequence \\\\uXXXX.\",MixingCoalesceWithLogical:\"Nullish coalescing operator(??) requires parens when mixing with logical operators.\",ModuleAttributeDifferentFromType:\"The only accepted module attribute is `type`.\",ModuleAttributeInvalidValue:\"Only string literals are allowed as module attribute values.\",ModuleAttributesWithDuplicateKeys:'Duplicate key \"%0\" is not allowed in module attributes.',ModuleExportNameHasLoneSurrogate:\"An export name cannot include a lone surrogate, found '\\\\u%0'.\",ModuleExportUndefined:\"Export '%0' is not defined.\",MultipleDefaultsInSwitch:\"Multiple default clauses.\",NewlineAfterThrow:\"Illegal newline after throw.\",NoCatchOrFinally:\"Missing catch or finally clause.\",NumberIdentifier:\"Identifier directly after number.\",NumericSeparatorInEscapeSequence:\"Numeric separators are not allowed inside unicode escape sequences or hex escape sequences.\",ObsoleteAwaitStar:\"'await*' has been removed from the async functions proposal. Use Promise.all() instead.\",OptionalChainingNoNew:\"Constructors in/after an Optional Chain are not allowed.\",OptionalChainingNoTemplate:\"Tagged Template Literals are not allowed in optionalChain.\",OverrideOnConstructor:\"'override' modifier cannot appear on a constructor declaration.\",ParamDupe:\"Argument name clash.\",PatternHasAccessor:\"Object pattern can't contain getter or setter.\",PatternHasMethod:\"Object pattern can't contain methods.\",PipelineBodyNoArrow:'Unexpected arrow \"=>\" after pipeline body; arrow function in pipeline body must be parenthesized.',PipelineBodySequenceExpression:\"Pipeline body may not be a comma-separated sequence expression.\",PipelineHeadSequenceExpression:\"Pipeline head should not be a comma-separated sequence expression.\",PipelineTopicUnused:\"Pipeline is in topic style but does not use topic reference.\",PrimaryTopicNotAllowed:\"Topic reference was used in a lexical context without topic binding.\",PrimaryTopicRequiresSmartPipeline:\"Primary Topic Reference found but pipelineOperator not passed 'smart' for 'proposal' option.\",PrivateInExpectedIn:\"Private names are only allowed in property accesses (`obj.#%0`) or in `in` expressions (`#%0 in obj`).\",PrivateNameRedeclaration:\"Duplicate private name #%0.\",RecordExpressionBarIncorrectEndSyntaxType:\"Record expressions ending with '|}' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.\",RecordExpressionBarIncorrectStartSyntaxType:\"Record expressions starting with '{|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.\",RecordExpressionHashIncorrectStartSyntaxType:\"Record expressions starting with '#{' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'.\",RecordNoProto:\"'__proto__' is not allowed in Record expressions.\",RestTrailingComma:\"Unexpected trailing comma after rest element.\",SloppyFunction:\"In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement.\",StaticPrototype:\"Classes may not have static property named prototype.\",StrictDelete:\"Deleting local variable in strict mode.\",StrictEvalArguments:\"Assigning to '%0' in strict mode.\",StrictEvalArgumentsBinding:\"Binding '%0' in strict mode.\",StrictFunction:\"In strict mode code, functions can only be declared at top level or inside a block.\",StrictNumericEscape:\"The only valid numeric escape in strict mode is '\\\\0'.\",StrictOctalLiteral:\"Legacy octal literals are not allowed in strict mode.\",StrictWith:\"'with' in strict mode.\",SuperNotAllowed:\"`super()` is only valid inside a class constructor of a subclass. Maybe a typo in the method name ('constructor') or not extending another class?\",SuperPrivateField:\"Private fields can't be accessed on super.\",TrailingDecorator:\"Decorators must be attached to a class element.\",TupleExpressionBarIncorrectEndSyntaxType:\"Tuple expressions ending with '|]' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.\",TupleExpressionBarIncorrectStartSyntaxType:\"Tuple expressions starting with '[|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.\",TupleExpressionHashIncorrectStartSyntaxType:\"Tuple expressions starting with '#[' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'.\",UnexpectedArgumentPlaceholder:\"Unexpected argument placeholder.\",UnexpectedAwaitAfterPipelineBody:'Unexpected \"await\" after pipeline body; await must have parentheses in minimal proposal.',UnexpectedDigitAfterHash:\"Unexpected digit after hash token.\",UnexpectedImportExport:\"'import' and 'export' may only appear at the top level.\",UnexpectedKeyword:\"Unexpected keyword '%0'.\",UnexpectedLeadingDecorator:\"Leading decorators must be attached to a class declaration.\",UnexpectedLexicalDeclaration:\"Lexical declaration cannot appear in a single-statement context.\",UnexpectedNewTarget:\"`new.target` can only be used in functions or class properties.\",UnexpectedNumericSeparator:\"A numeric separator is only allowed between two digits.\",UnexpectedPrivateField:`Private names can only be used as the name of a class element (i.e. class C { #p = 42; #m() {} } )\n or a property of member expression (i.e. this.#p).`,UnexpectedReservedWord:\"Unexpected reserved word '%0'.\",UnexpectedSuper:\"'super' is only allowed in object methods and classes.\",UnexpectedToken:\"Unexpected token '%0'.\",UnexpectedTokenUnaryExponentiation:\"Illegal expression. Wrap left hand side or entire exponentiation in parentheses.\",UnsupportedBind:\"Binding should be performed on object property.\",UnsupportedDecoratorExport:\"A decorated export must export a class declaration.\",UnsupportedDefaultExport:\"Only expressions, functions or classes are allowed as the `default` export.\",UnsupportedImport:\"`import` can only be used in `import()` or `import.meta`.\",UnsupportedMetaProperty:\"The only valid meta property for %0 is %0.%1.\",UnsupportedParameterDecorator:\"Decorators cannot be used to decorate parameters.\",UnsupportedPropertyDecorator:\"Decorators cannot be used to decorate object literal properties.\",UnsupportedSuper:\"'super' can only be used with function calls (i.e. super()) or in property accesses (i.e. super.prop or super[prop]).\",UnterminatedComment:\"Unterminated comment.\",UnterminatedRegExp:\"Unterminated regular expression.\",UnterminatedString:\"Unterminated string constant.\",UnterminatedTemplate:\"Unterminated template.\",VarRedeclaration:\"Identifier '%0' has already been declared.\",YieldBindingIdentifier:\"Can not use 'yield' as identifier inside a generator.\",YieldInParameter:\"Yield expression is not allowed in formal parameters.\",ZeroDigitNumericSeparator:\"Numeric separator can not be used after leading 0.\"},W2.SyntaxError),b4=M6({ImportMetaOutsideModule:`import.meta may appear only with 'sourceType: \"module\"'`,ImportOutsideModule:`'import' and 'export' may appear only with 'sourceType: \"module\"'`},W2.SourceTypeModuleError);function M6(B0,d){const N={};return Object.keys(B0).forEach(C0=>{N[C0]=Object.freeze({code:d,reasonCode:C0,template:B0[C0]})}),Object.freeze(N)}class B1{constructor(d,N){this.token=void 0,this.preserveSpace=void 0,this.token=d,this.preserveSpace=!!N}}const Yx={brace:new B1(\"{\"),templateQuasi:new B1(\"${\"),template:new B1(\"`\",!0)};px.braceR.updateContext=B0=>{B0.length>1&&B0.pop()},px.braceL.updateContext=px.braceHashL.updateContext=B0=>{B0.push(Yx.brace)},px.dollarBraceL.updateContext=B0=>{B0.push(Yx.templateQuasi)},px.backQuote.updateContext=B0=>{B0[B0.length-1]===Yx.template?B0.pop():B0.push(Yx.template)};let Oe=\"\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05D0-\\u05EA\\u05EF-\\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\\u0860-\\u086A\\u08A0-\\u08B4\\u08B6-\\u08C7\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u09FC\\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\\u0AF9\\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-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D04-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\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-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1878\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1CE9-\\u1CEC\\u1CEE-\\u1CF3\\u1CF5\\u1CF6\\u1CFA\\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\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\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\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309B-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u31A0-\\u31BF\\u31F0-\\u31FF\\u3400-\\u4DBF\\u4E00-\\u9FFC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7BF\\uA7C2-\\uA7CA\\uA7F5-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA8FE\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB69\\uAB70-\\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\",zt=\"\\u200C\\u200D\\xB7\\u0300-\\u036F\\u0387\\u0483-\\u0487\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u0669\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u06F0-\\u06F9\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07C0-\\u07C9\\u07EB-\\u07F3\\u07FD\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u08D3-\\u08E1\\u08E3-\\u0903\\u093A-\\u093C\\u093E-\\u094F\\u0951-\\u0957\\u0962\\u0963\\u0966-\\u096F\\u0981-\\u0983\\u09BC\\u09BE-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CD\\u09D7\\u09E2\\u09E3\\u09E6-\\u09EF\\u09FE\\u0A01-\\u0A03\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A66-\\u0A71\\u0A75\\u0A81-\\u0A83\\u0ABC\\u0ABE-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AE2\\u0AE3\\u0AE6-\\u0AEF\\u0AFA-\\u0AFF\\u0B01-\\u0B03\\u0B3C\\u0B3E-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B55-\\u0B57\\u0B62\\u0B63\\u0B66-\\u0B6F\\u0B82\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C04\\u0C3E-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0C66-\\u0C6F\\u0C81-\\u0C83\\u0CBC\\u0CBE-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CE2\\u0CE3\\u0CE6-\\u0CEF\\u0D00-\\u0D03\\u0D3B\\u0D3C\\u0D3E-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4D\\u0D57\\u0D62\\u0D63\\u0D66-\\u0D6F\\u0D81-\\u0D83\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0E50-\\u0E59\\u0EB1\\u0EB4-\\u0EBC\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E\\u0F3F\\u0F71-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102B-\\u103E\\u1040-\\u1049\\u1056-\\u1059\\u105E-\\u1060\\u1062-\\u1064\\u1067-\\u106D\\u1071-\\u1074\\u1082-\\u108D\\u108F-\\u109D\\u135D-\\u135F\\u1369-\\u1371\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17B4-\\u17D3\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u18A9\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u194F\\u19D0-\\u19DA\\u1A17-\\u1A1B\\u1A55-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AB0-\\u1ABD\\u1ABF\\u1AC0\\u1B00-\\u1B04\\u1B34-\\u1B44\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1B82\\u1BA1-\\u1BAD\\u1BB0-\\u1BB9\\u1BE6-\\u1BF3\\u1C24-\\u1C37\\u1C40-\\u1C49\\u1C50-\\u1C59\\u1CD0-\\u1CD2\\u1CD4-\\u1CE8\\u1CED\\u1CF4\\u1CF7-\\u1CF9\\u1DC0-\\u1DF9\\u1DFB-\\u1DFF\\u203F\\u2040\\u2054\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302F\\u3099\\u309A\\uA620-\\uA629\\uA66F\\uA674-\\uA67D\\uA69E\\uA69F\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA823-\\uA827\\uA82C\\uA880\\uA881\\uA8B4-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F1\\uA8FF-\\uA909\\uA926-\\uA92D\\uA947-\\uA953\\uA980-\\uA983\\uA9B3-\\uA9C0\\uA9D0-\\uA9D9\\uA9E5\\uA9F0-\\uA9F9\\uAA29-\\uAA36\\uAA43\\uAA4C\\uAA4D\\uAA50-\\uAA59\\uAA7B-\\uAA7D\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEB-\\uAAEF\\uAAF5\\uAAF6\\uABE3-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFF10-\\uFF19\\uFF3F\";const an=new RegExp(\"[\"+Oe+\"]\"),xi=new RegExp(\"[\"+Oe+zt+\"]\");Oe=zt=null;const xs=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,107,20,28,22,13,52,76,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,230,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,35,56,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,190,0,80,921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8952,286,50,2,18,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,2357,44,11,6,17,0,370,43,1301,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42717,35,4148,12,221,3,5761,15,7472,3104,541,1507,4938],bi=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,154,10,176,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,19306,9,135,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,5319,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,262,6,10,9,419,13,1495,6,110,6,6,9,4759,9,787719,239];function ya(B0,d){let N=65536;for(let C0=0,_1=d.length;C0<_1;C0+=2){if(N+=d[C0],N>B0)return!1;if(N+=d[C0+1],N>=B0)return!0}return!1}function ul(B0){return B0<65?B0===36:B0<=90||(B0<97?B0===95:B0<=122||(B0<=65535?B0>=170&&an.test(String.fromCharCode(B0)):ya(B0,xs)))}function mu(B0){return B0<48?B0===36:B0<58||!(B0<65)&&(B0<=90||(B0<97?B0===95:B0<=122||(B0<=65535?B0>=170&&xi.test(String.fromCharCode(B0)):ya(B0,xs)||ya(B0,bi))))}const Ds=[\"implements\",\"interface\",\"let\",\"package\",\"private\",\"protected\",\"public\",\"static\",\"yield\"],a6=[\"eval\",\"arguments\"],Mc=new Set([\"break\",\"case\",\"catch\",\"continue\",\"debugger\",\"default\",\"do\",\"else\",\"finally\",\"for\",\"function\",\"if\",\"return\",\"switch\",\"throw\",\"try\",\"var\",\"const\",\"while\",\"with\",\"new\",\"this\",\"super\",\"class\",\"extends\",\"export\",\"import\",\"null\",\"true\",\"false\",\"in\",\"instanceof\",\"typeof\",\"void\",\"delete\"]),bf=new Set(Ds),Rc=new Set(a6);function Pa(B0,d){return d&&B0===\"await\"||B0===\"enum\"}function Uu(B0,d){return Pa(B0,d)||bf.has(B0)}function q2(B0){return Rc.has(B0)}function Kl(B0,d){return Uu(B0,d)||q2(B0)}function Bs(B0){return Mc.has(B0)}const qf=new Set([\"break\",\"case\",\"catch\",\"continue\",\"debugger\",\"default\",\"do\",\"else\",\"finally\",\"for\",\"function\",\"if\",\"return\",\"switch\",\"throw\",\"try\",\"var\",\"const\",\"while\",\"with\",\"new\",\"this\",\"super\",\"class\",\"extends\",\"export\",\"import\",\"null\",\"true\",\"false\",\"in\",\"instanceof\",\"typeof\",\"void\",\"delete\",\"implements\",\"interface\",\"let\",\"package\",\"private\",\"protected\",\"public\",\"static\",\"yield\",\"eval\",\"arguments\",\"enum\",\"await\"]),Zl=64,ZF=256,Sl=128,$8=1024,wl=2048;class Ko{constructor(d){this.var=new Set,this.lexical=new Set,this.functions=new Set,this.flags=d}}class $u{constructor(d,N){this.scopeStack=[],this.undefinedExports=new Map,this.undefinedPrivateNames=new Map,this.raise=d,this.inModule=N}get inFunction(){return(2&this.currentVarScopeFlags())>0}get allowSuper(){return(16&this.currentThisScopeFlags())>0}get allowDirectSuper(){return(32&this.currentThisScopeFlags())>0}get inClass(){return(this.currentThisScopeFlags()&Zl)>0}get inClassAndNotInNonArrowFunction(){const d=this.currentThisScopeFlags();return(d&Zl)>0&&(2&d)==0}get inStaticBlock(){return(128&this.currentThisScopeFlags())>0}get inNonArrowFunction(){return(2&this.currentThisScopeFlags())>0}get treatFunctionsAsVar(){return this.treatFunctionsAsVarInScope(this.currentScope())}createScope(d){return new Ko(d)}enter(d){this.scopeStack.push(this.createScope(d))}exit(){this.scopeStack.pop()}treatFunctionsAsVarInScope(d){return!!(2&d.flags||!this.inModule&&1&d.flags)}declareName(d,N,C0){let _1=this.currentScope();if(8&N||16&N)this.checkRedeclarationInScope(_1,d,N,C0),16&N?_1.functions.add(d):_1.lexical.add(d),8&N&&this.maybeExportDefined(_1,d);else if(4&N)for(let jx=this.scopeStack.length-1;jx>=0&&(_1=this.scopeStack[jx],this.checkRedeclarationInScope(_1,d,N,C0),_1.var.add(d),this.maybeExportDefined(_1,d),!(259&_1.flags));--jx);this.inModule&&1&_1.flags&&this.undefinedExports.delete(d)}maybeExportDefined(d,N){this.inModule&&1&d.flags&&this.undefinedExports.delete(N)}checkRedeclarationInScope(d,N,C0,_1){this.isRedeclaredInScope(d,N,C0)&&this.raise(_1,pt.VarRedeclaration,N)}isRedeclaredInScope(d,N,C0){return!!(1&C0)&&(8&C0?d.lexical.has(N)||d.functions.has(N)||d.var.has(N):16&C0?d.lexical.has(N)||!this.treatFunctionsAsVarInScope(d)&&d.var.has(N):d.lexical.has(N)&&!(8&d.flags&&d.lexical.values().next().value===N)||!this.treatFunctionsAsVarInScope(d)&&d.functions.has(N))}checkLocalExport(d){const{name:N}=d,C0=this.scopeStack[0];C0.lexical.has(N)||C0.var.has(N)||C0.functions.has(N)||this.undefinedExports.set(N,d.start)}currentScope(){return this.scopeStack[this.scopeStack.length-1]}currentVarScopeFlags(){for(let d=this.scopeStack.length-1;;d--){const{flags:N}=this.scopeStack[d];if(259&N)return N}}currentThisScopeFlags(){for(let d=this.scopeStack.length-1;;d--){const{flags:N}=this.scopeStack[d];if(323&N&&!(4&N))return N}}}class dF extends Ko{constructor(...d){super(...d),this.declareFunctions=new Set}}class nE extends $u{createScope(d){return new dF(d)}declareName(d,N,C0){const _1=this.currentScope();if(N&wl)return this.checkRedeclarationInScope(_1,d,N,C0),this.maybeExportDefined(_1,d),void _1.declareFunctions.add(d);super.declareName(...arguments)}isRedeclaredInScope(d,N,C0){return!!super.isRedeclaredInScope(...arguments)||!!(C0&wl)&&!d.declareFunctions.has(N)&&(d.lexical.has(N)||d.functions.has(N))}checkLocalExport(d){this.scopeStack[0].declareFunctions.has(d.name)||super.checkLocalExport(d)}}const pm=new Set([\"_\",\"any\",\"bool\",\"boolean\",\"empty\",\"extends\",\"false\",\"interface\",\"mixed\",\"null\",\"number\",\"static\",\"string\",\"true\",\"typeof\",\"void\"]),bl=M6({AmbiguousConditionalArrow:\"Ambiguous expression: wrap the arrow functions in parentheses to disambiguate.\",AmbiguousDeclareModuleKind:\"Found both `declare module.exports` and `declare export` in the same module. Modules can only have 1 since they are either an ES module or they are a CommonJS module.\",AssignReservedType:\"Cannot overwrite reserved type %0.\",DeclareClassElement:\"The `declare` modifier can only appear on class fields.\",DeclareClassFieldInitializer:\"Initializers are not allowed in fields with the `declare` modifier.\",DuplicateDeclareModuleExports:\"Duplicate `declare module.exports` statement.\",EnumBooleanMemberNotInitialized:\"Boolean enum members need to be initialized. Use either `%0 = true,` or `%0 = false,` in enum `%1`.\",EnumDuplicateMemberName:\"Enum member names need to be unique, but the name `%0` has already been used before in enum `%1`.\",EnumInconsistentMemberValues:\"Enum `%0` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, numbers, or strings) for all member initializers.\",EnumInvalidExplicitType:\"Enum type `%1` is not valid. Use one of `boolean`, `number`, `string`, or `symbol` in enum `%0`.\",EnumInvalidExplicitTypeUnknownSupplied:\"Supplied enum type is not valid. Use one of `boolean`, `number`, `string`, or `symbol` in enum `%0`.\",EnumInvalidMemberInitializerPrimaryType:\"Enum `%0` has type `%2`, so the initializer of `%1` needs to be a %2 literal.\",EnumInvalidMemberInitializerSymbolType:\"Symbol enum members cannot be initialized. Use `%1,` in enum `%0`.\",EnumInvalidMemberInitializerUnknownType:\"The enum member initializer for `%1` needs to be a literal (either a boolean, number, or string) in enum `%0`.\",EnumInvalidMemberName:\"Enum member names cannot start with lowercase 'a' through 'z'. Instead of using `%0`, consider using `%1`, in enum `%2`.\",EnumNumberMemberNotInitialized:\"Number enum members need to be initialized, e.g. `%1 = 1` in enum `%0`.\",EnumStringMemberInconsistentlyInitailized:\"String enum members need to consistently either all use initializers, or use no initializers, in enum `%0`.\",GetterMayNotHaveThisParam:\"A getter cannot have a `this` parameter.\",ImportTypeShorthandOnlyInPureImport:\"The `type` and `typeof` keywords on named imports can only be used on regular `import` statements. It cannot be used with `import type` or `import typeof` statements.\",InexactInsideExact:\"Explicit inexact syntax cannot appear inside an explicit exact object type.\",InexactInsideNonObject:\"Explicit inexact syntax cannot appear in class or interface definitions.\",InexactVariance:\"Explicit inexact syntax cannot have variance.\",InvalidNonTypeImportInDeclareModule:\"Imports within a `declare module` body must always be `import type` or `import typeof`.\",MissingTypeParamDefault:\"Type parameter declaration needs a default, since a preceding type parameter declaration has a default.\",NestedDeclareModule:\"`declare module` cannot be used inside another `declare module`.\",NestedFlowComment:\"Cannot have a flow comment inside another flow comment.\",OptionalBindingPattern:\"A binding pattern parameter cannot be optional in an implementation signature.\",SetterMayNotHaveThisParam:\"A setter cannot have a `this` parameter.\",SpreadVariance:\"Spread properties cannot have variance.\",ThisParamAnnotationRequired:\"A type annotation is required for the `this` parameter.\",ThisParamBannedInConstructor:\"Constructors cannot have a `this` parameter; constructors don't bind `this` like other functions.\",ThisParamMayNotBeOptional:\"The `this` parameter cannot be optional.\",ThisParamMustBeFirst:\"The `this` parameter must be the first function parameter.\",ThisParamNoDefault:\"The `this` parameter may not have a default value.\",TypeBeforeInitializer:\"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`.\",TypeCastInPattern:\"The type cast expression is expected to be wrapped with parenthesis.\",UnexpectedExplicitInexactInObject:\"Explicit inexact syntax must appear at the end of an inexact object.\",UnexpectedReservedType:\"Unexpected reserved type %0.\",UnexpectedReservedUnderscore:\"`_` is only allowed as a type argument to call or new.\",UnexpectedSpaceBetweenModuloChecks:\"Spaces between `%` and `checks` are not allowed here.\",UnexpectedSpreadType:\"Spread operator cannot appear in class or interface definitions.\",UnexpectedSubtractionOperand:'Unexpected token, expected \"number\" or \"bigint\".',UnexpectedTokenAfterTypeParameter:\"Expected an arrow function after this type parameter declaration.\",UnexpectedTypeParameterBeforeAsyncArrowFunction:\"Type parameters must come after the async keyword, e.g. instead of `<T> async () => {}`, use `async <T>() => {}`.\",UnsupportedDeclareExportKind:\"`declare export %0` is not supported. Use `%1` instead.\",UnsupportedStatementInDeclareModule:\"Only declares and type imports are allowed inside declare module.\",UnterminatedFlowComment:\"Unterminated flow-comment.\"},W2.SyntaxError);function nf(B0){return B0.importKind===\"type\"||B0.importKind===\"typeof\"}function Ts(B0){return(B0.type===px.name||!!B0.type.keyword)&&B0.value!==\"from\"}const xf={const:\"declare export var\",let:\"declare export var\",type:\"export type\",interface:\"export interface\"},w8=/\\*?\\s*@((?:no)?flow)\\b/,WT={quot:'\"',amp:\"&\",apos:\"'\",lt:\"<\",gt:\">\",nbsp:\"\\xA0\",iexcl:\"\\xA1\",cent:\"\\xA2\",pound:\"\\xA3\",curren:\"\\xA4\",yen:\"\\xA5\",brvbar:\"\\xA6\",sect:\"\\xA7\",uml:\"\\xA8\",copy:\"\\xA9\",ordf:\"\\xAA\",laquo:\"\\xAB\",not:\"\\xAC\",shy:\"\\xAD\",reg:\"\\xAE\",macr:\"\\xAF\",deg:\"\\xB0\",plusmn:\"\\xB1\",sup2:\"\\xB2\",sup3:\"\\xB3\",acute:\"\\xB4\",micro:\"\\xB5\",para:\"\\xB6\",middot:\"\\xB7\",cedil:\"\\xB8\",sup1:\"\\xB9\",ordm:\"\\xBA\",raquo:\"\\xBB\",frac14:\"\\xBC\",frac12:\"\\xBD\",frac34:\"\\xBE\",iquest:\"\\xBF\",Agrave:\"\\xC0\",Aacute:\"\\xC1\",Acirc:\"\\xC2\",Atilde:\"\\xC3\",Auml:\"\\xC4\",Aring:\"\\xC5\",AElig:\"\\xC6\",Ccedil:\"\\xC7\",Egrave:\"\\xC8\",Eacute:\"\\xC9\",Ecirc:\"\\xCA\",Euml:\"\\xCB\",Igrave:\"\\xCC\",Iacute:\"\\xCD\",Icirc:\"\\xCE\",Iuml:\"\\xCF\",ETH:\"\\xD0\",Ntilde:\"\\xD1\",Ograve:\"\\xD2\",Oacute:\"\\xD3\",Ocirc:\"\\xD4\",Otilde:\"\\xD5\",Ouml:\"\\xD6\",times:\"\\xD7\",Oslash:\"\\xD8\",Ugrave:\"\\xD9\",Uacute:\"\\xDA\",Ucirc:\"\\xDB\",Uuml:\"\\xDC\",Yacute:\"\\xDD\",THORN:\"\\xDE\",szlig:\"\\xDF\",agrave:\"\\xE0\",aacute:\"\\xE1\",acirc:\"\\xE2\",atilde:\"\\xE3\",auml:\"\\xE4\",aring:\"\\xE5\",aelig:\"\\xE6\",ccedil:\"\\xE7\",egrave:\"\\xE8\",eacute:\"\\xE9\",ecirc:\"\\xEA\",euml:\"\\xEB\",igrave:\"\\xEC\",iacute:\"\\xED\",icirc:\"\\xEE\",iuml:\"\\xEF\",eth:\"\\xF0\",ntilde:\"\\xF1\",ograve:\"\\xF2\",oacute:\"\\xF3\",ocirc:\"\\xF4\",otilde:\"\\xF5\",ouml:\"\\xF6\",divide:\"\\xF7\",oslash:\"\\xF8\",ugrave:\"\\xF9\",uacute:\"\\xFA\",ucirc:\"\\xFB\",uuml:\"\\xFC\",yacute:\"\\xFD\",thorn:\"\\xFE\",yuml:\"\\xFF\",OElig:\"\\u0152\",oelig:\"\\u0153\",Scaron:\"\\u0160\",scaron:\"\\u0161\",Yuml:\"\\u0178\",fnof:\"\\u0192\",circ:\"\\u02C6\",tilde:\"\\u02DC\",Alpha:\"\\u0391\",Beta:\"\\u0392\",Gamma:\"\\u0393\",Delta:\"\\u0394\",Epsilon:\"\\u0395\",Zeta:\"\\u0396\",Eta:\"\\u0397\",Theta:\"\\u0398\",Iota:\"\\u0399\",Kappa:\"\\u039A\",Lambda:\"\\u039B\",Mu:\"\\u039C\",Nu:\"\\u039D\",Xi:\"\\u039E\",Omicron:\"\\u039F\",Pi:\"\\u03A0\",Rho:\"\\u03A1\",Sigma:\"\\u03A3\",Tau:\"\\u03A4\",Upsilon:\"\\u03A5\",Phi:\"\\u03A6\",Chi:\"\\u03A7\",Psi:\"\\u03A8\",Omega:\"\\u03A9\",alpha:\"\\u03B1\",beta:\"\\u03B2\",gamma:\"\\u03B3\",delta:\"\\u03B4\",epsilon:\"\\u03B5\",zeta:\"\\u03B6\",eta:\"\\u03B7\",theta:\"\\u03B8\",iota:\"\\u03B9\",kappa:\"\\u03BA\",lambda:\"\\u03BB\",mu:\"\\u03BC\",nu:\"\\u03BD\",xi:\"\\u03BE\",omicron:\"\\u03BF\",pi:\"\\u03C0\",rho:\"\\u03C1\",sigmaf:\"\\u03C2\",sigma:\"\\u03C3\",tau:\"\\u03C4\",upsilon:\"\\u03C5\",phi:\"\\u03C6\",chi:\"\\u03C7\",psi:\"\\u03C8\",omega:\"\\u03C9\",thetasym:\"\\u03D1\",upsih:\"\\u03D2\",piv:\"\\u03D6\",ensp:\"\\u2002\",emsp:\"\\u2003\",thinsp:\"\\u2009\",zwnj:\"\\u200C\",zwj:\"\\u200D\",lrm:\"\\u200E\",rlm:\"\\u200F\",ndash:\"\\u2013\",mdash:\"\\u2014\",lsquo:\"\\u2018\",rsquo:\"\\u2019\",sbquo:\"\\u201A\",ldquo:\"\\u201C\",rdquo:\"\\u201D\",bdquo:\"\\u201E\",dagger:\"\\u2020\",Dagger:\"\\u2021\",bull:\"\\u2022\",hellip:\"\\u2026\",permil:\"\\u2030\",prime:\"\\u2032\",Prime:\"\\u2033\",lsaquo:\"\\u2039\",rsaquo:\"\\u203A\",oline:\"\\u203E\",frasl:\"\\u2044\",euro:\"\\u20AC\",image:\"\\u2111\",weierp:\"\\u2118\",real:\"\\u211C\",trade:\"\\u2122\",alefsym:\"\\u2135\",larr:\"\\u2190\",uarr:\"\\u2191\",rarr:\"\\u2192\",darr:\"\\u2193\",harr:\"\\u2194\",crarr:\"\\u21B5\",lArr:\"\\u21D0\",uArr:\"\\u21D1\",rArr:\"\\u21D2\",dArr:\"\\u21D3\",hArr:\"\\u21D4\",forall:\"\\u2200\",part:\"\\u2202\",exist:\"\\u2203\",empty:\"\\u2205\",nabla:\"\\u2207\",isin:\"\\u2208\",notin:\"\\u2209\",ni:\"\\u220B\",prod:\"\\u220F\",sum:\"\\u2211\",minus:\"\\u2212\",lowast:\"\\u2217\",radic:\"\\u221A\",prop:\"\\u221D\",infin:\"\\u221E\",ang:\"\\u2220\",and:\"\\u2227\",or:\"\\u2228\",cap:\"\\u2229\",cup:\"\\u222A\",int:\"\\u222B\",there4:\"\\u2234\",sim:\"\\u223C\",cong:\"\\u2245\",asymp:\"\\u2248\",ne:\"\\u2260\",equiv:\"\\u2261\",le:\"\\u2264\",ge:\"\\u2265\",sub:\"\\u2282\",sup:\"\\u2283\",nsub:\"\\u2284\",sube:\"\\u2286\",supe:\"\\u2287\",oplus:\"\\u2295\",otimes:\"\\u2297\",perp:\"\\u22A5\",sdot:\"\\u22C5\",lceil:\"\\u2308\",rceil:\"\\u2309\",lfloor:\"\\u230A\",rfloor:\"\\u230B\",lang:\"\\u2329\",rang:\"\\u232A\",loz:\"\\u25CA\",spades:\"\\u2660\",clubs:\"\\u2663\",hearts:\"\\u2665\",diams:\"\\u2666\"};class al{constructor(){this.strict=void 0,this.curLine=void 0,this.startLoc=void 0,this.endLoc=void 0,this.errors=[],this.potentialArrowAt=-1,this.noArrowAt=[],this.noArrowParamsConversionAt=[],this.maybeInArrowParameters=!1,this.inPipeline=!1,this.inType=!1,this.noAnonFunctionType=!1,this.inPropertyName=!1,this.hasFlowComment=!1,this.isAmbientContext=!1,this.inAbstractClass=!1,this.topicContext={maxNumOfResolvableTopics:0,maxTopicIndex:null},this.soloAwait=!1,this.inFSharpPipelineDirectBody=!1,this.labels=[],this.decoratorStack=[[]],this.comments=[],this.trailingComments=[],this.leadingComments=[],this.commentStack=[],this.commentPreviousNode=null,this.pos=0,this.lineStart=0,this.type=px.eof,this.value=null,this.start=0,this.end=0,this.lastTokEndLoc=null,this.lastTokStartLoc=null,this.lastTokStart=0,this.lastTokEnd=0,this.context=[Yx.brace],this.exprAllowed=!0,this.containsEsc=!1,this.strictErrors=new Map,this.tokensLength=0}init(d){this.strict=d.strictMode!==!1&&d.sourceType===\"module\",this.curLine=d.startLine,this.startLoc=this.endLoc=this.curPosition()}curPosition(){return new TS(this.curLine,this.pos-this.lineStart)}clone(d){const N=new al,C0=Object.keys(this);for(let _1=0,jx=C0.length;_1<jx;_1++){const We=C0[_1];let mt=this[We];!d&&Array.isArray(mt)&&(mt=mt.slice()),N[We]=mt}return N}}const Z4=/^[\\da-fA-F]+$/,op=/^\\d+$/,PF=M6({AttributeIsEmpty:\"JSX attributes must only be assigned a non-empty expression.\",MissingClosingTagElement:\"Expected corresponding JSX closing tag for <%0>.\",MissingClosingTagFragment:\"Expected corresponding JSX closing tag for <>.\",UnexpectedSequenceExpression:\"Sequence expressions cannot be directly nested inside JSX. Did you mean to wrap it in parentheses (...)?\",UnsupportedJsxValue:\"JSX value should be either an expression or a quoted JSX text.\",UnterminatedJsxContent:\"Unterminated JSX contents.\",UnwrappedAdjacentJSXElements:\"Adjacent JSX elements must be wrapped in an enclosing tag. Did you want a JSX fragment <>...</>?\"},W2.SyntaxError);function Lf(B0){return!!B0&&(B0.type===\"JSXOpeningFragment\"||B0.type===\"JSXClosingFragment\")}function xA(B0){if(B0.type===\"JSXIdentifier\")return B0.name;if(B0.type===\"JSXNamespacedName\")return B0.namespace.name+\":\"+B0.name.name;if(B0.type===\"JSXMemberExpression\")return xA(B0.object)+\".\"+xA(B0.property);throw new Error(\"Node had unexpected type: \"+B0.type)}Yx.j_oTag=new B1(\"<tag\"),Yx.j_cTag=new B1(\"</tag\"),Yx.j_expr=new B1(\"<tag>...</tag>\",!0),px.jsxName=new vf(\"jsxName\"),px.jsxText=new vf(\"jsxText\",{beforeExpr:!0}),px.jsxTagStart=new vf(\"jsxTagStart\",{startsExpr:!0}),px.jsxTagEnd=new vf(\"jsxTagEnd\"),px.jsxTagStart.updateContext=B0=>{B0.push(Yx.j_expr),B0.push(Yx.j_oTag)};class nw extends Ko{constructor(...d){super(...d),this.types=new Set,this.enums=new Set,this.constEnums=new Set,this.classes=new Set,this.exportOnlyBindings=new Set}}class Hd extends $u{createScope(d){return new nw(d)}declareName(d,N,C0){const _1=this.currentScope();if(N&$8)return this.maybeExportDefined(_1,d),void _1.exportOnlyBindings.add(d);super.declareName(...arguments),2&N&&(1&N||(this.checkRedeclarationInScope(_1,d,N,C0),this.maybeExportDefined(_1,d)),_1.types.add(d)),256&N&&_1.enums.add(d),512&N&&_1.constEnums.add(d),N&Sl&&_1.classes.add(d)}isRedeclaredInScope(d,N,C0){return d.enums.has(N)?256&C0?!!(512&C0)!==d.constEnums.has(N):!0:C0&Sl&&d.classes.has(N)?!!d.lexical.has(N)&&!!(1&C0):!!(2&C0&&d.types.has(N))||super.isRedeclaredInScope(...arguments)}checkLocalExport(d){const N=this.scopeStack[0],{name:C0}=d;N.types.has(C0)||N.exportOnlyBindings.has(C0)||super.checkLocalExport(d)}}class o2{constructor(){this.stacks=[]}enter(d){this.stacks.push(d)}exit(){this.stacks.pop()}currentFlags(){return this.stacks[this.stacks.length-1]}get hasAwait(){return(2&this.currentFlags())>0}get hasYield(){return(1&this.currentFlags())>0}get hasReturn(){return(4&this.currentFlags())>0}get hasIn(){return(8&this.currentFlags())>0}}function Pu(B0,d){return(B0?2:0)|(d?1:0)}function mF(B0){if(B0==null)throw new Error(`Unexpected ${B0} value.`);return B0}function sp(B0){if(!B0)throw new Error(\"Assert fail\")}const wu=M6({AbstractMethodHasImplementation:\"Method '%0' cannot have an implementation because it is marked abstract.\",AccesorCannotDeclareThisParameter:\"'get' and 'set' accessors cannot declare 'this' parameters.\",AccesorCannotHaveTypeParameters:\"An accessor cannot have type parameters.\",ClassMethodHasDeclare:\"Class methods cannot have the 'declare' modifier.\",ClassMethodHasReadonly:\"Class methods cannot have the 'readonly' modifier.\",ConstructorHasTypeParameters:\"Type parameters cannot appear on a constructor declaration.\",DeclareAccessor:\"'declare' is not allowed in %0ters.\",DeclareClassFieldHasInitializer:\"Initializers are not allowed in ambient contexts.\",DeclareFunctionHasImplementation:\"An implementation cannot be declared in ambient contexts.\",DuplicateAccessibilityModifier:\"Accessibility modifier already seen.\",DuplicateModifier:\"Duplicate modifier: '%0'.\",EmptyHeritageClauseType:\"'%0' list cannot be empty.\",EmptyTypeArguments:\"Type argument list cannot be empty.\",EmptyTypeParameters:\"Type parameter list cannot be empty.\",ExpectedAmbientAfterExportDeclare:\"'export declare' must be followed by an ambient declaration.\",ImportAliasHasImportType:\"An import alias can not use 'import type'.\",IncompatibleModifiers:\"'%0' modifier cannot be used with '%1' modifier.\",IndexSignatureHasAbstract:\"Index signatures cannot have the 'abstract' modifier.\",IndexSignatureHasAccessibility:\"Index signatures cannot have an accessibility modifier ('%0').\",IndexSignatureHasDeclare:\"Index signatures cannot have the 'declare' modifier.\",IndexSignatureHasOverride:\"'override' modifier cannot appear on an index signature.\",IndexSignatureHasStatic:\"Index signatures cannot have the 'static' modifier.\",InvalidModifierOnTypeMember:\"'%0' modifier cannot appear on a type member.\",InvalidModifiersOrder:\"'%0' modifier must precede '%1' modifier.\",InvalidTupleMemberLabel:\"Tuple members must be labeled with a simple identifier.\",MixedLabeledAndUnlabeledElements:\"Tuple members must all have names or all not have names.\",NonAbstractClassHasAbstractMethod:\"Abstract methods can only appear within an abstract class.\",NonClassMethodPropertyHasAbstractModifer:\"'abstract' modifier can only appear on a class, method, or property declaration.\",OptionalTypeBeforeRequired:\"A required element cannot follow an optional element.\",OverrideNotInSubClass:\"This member cannot have an 'override' modifier because its containing class does not extend another class.\",PatternIsOptional:\"A binding pattern parameter cannot be optional in an implementation signature.\",PrivateElementHasAbstract:\"Private elements cannot have the 'abstract' modifier.\",PrivateElementHasAccessibility:\"Private elements cannot have an accessibility modifier ('%0').\",ReadonlyForMethodSignature:\"'readonly' modifier can only appear on a property declaration or index signature.\",SetAccesorCannotHaveOptionalParameter:\"A 'set' accessor cannot have an optional parameter.\",SetAccesorCannotHaveRestParameter:\"A 'set' accessor cannot have rest parameter.\",SetAccesorCannotHaveReturnType:\"A 'set' accessor cannot have a return type annotation.\",StaticBlockCannotHaveModifier:\"Static class blocks cannot have any modifier.\",TypeAnnotationAfterAssign:\"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`.\",TypeImportCannotSpecifyDefaultAndNamed:\"A type-only import can specify a default import or named bindings, but not both.\",UnexpectedParameterModifier:\"A parameter property is only allowed in a constructor implementation.\",UnexpectedReadonly:\"'readonly' type modifier is only permitted on array and tuple literal types.\",UnexpectedTypeAnnotation:\"Did not expect a type annotation here.\",UnexpectedTypeCastInParameter:\"Unexpected type cast in parameter position.\",UnsupportedImportTypeArgument:\"Argument in a type import must be a string literal.\",UnsupportedParameterPropertyKind:\"A parameter property may not be declared using a binding pattern.\",UnsupportedSignatureParameterKind:\"Name in a signature must be an Identifier, ObjectPattern or ArrayPattern, instead got %0.\"},W2.SyntaxError);function Hp(B0){return B0===\"private\"||B0===\"public\"||B0===\"protected\"}px.placeholder=new vf(\"%%\",{startsExpr:!0});const ep=M6({ClassNameIsRequired:\"A class name is required.\"},W2.SyntaxError);function Uf(B0,d){return B0.some(N=>Array.isArray(N)?N[0]===d:N===d)}function ff(B0,d,N){const C0=B0.find(_1=>Array.isArray(_1)?_1[0]===d:_1===d);return C0&&Array.isArray(C0)?C0[1][N]:null}const iw=[\"minimal\",\"smart\",\"fsharp\"],R4=[\"hash\",\"bar\"],o5={estree:B0=>class extends B0{parseRegExpLiteral({pattern:d,flags:N}){let C0=null;try{C0=new RegExp(d,N)}catch{}const _1=this.estreeParseLiteral(C0);return _1.regex={pattern:d,flags:N},_1}parseBigIntLiteral(d){let N;try{N=BigInt(d)}catch{N=null}const C0=this.estreeParseLiteral(N);return C0.bigint=String(C0.value||d),C0}parseDecimalLiteral(d){const N=this.estreeParseLiteral(null);return N.decimal=String(N.value||d),N}estreeParseLiteral(d){return this.parseLiteral(d,\"Literal\")}parseStringLiteral(d){return this.estreeParseLiteral(d)}parseNumericLiteral(d){return this.estreeParseLiteral(d)}parseNullLiteral(){return this.estreeParseLiteral(null)}parseBooleanLiteral(d){return this.estreeParseLiteral(d)}directiveToStmt(d){const N=d.value,C0=this.startNodeAt(d.start,d.loc.start),_1=this.startNodeAt(N.start,N.loc.start);return _1.value=N.extra.expressionValue,_1.raw=N.extra.raw,C0.expression=this.finishNodeAt(_1,\"Literal\",N.end,N.loc.end),C0.directive=N.extra.raw.slice(1,-1),this.finishNodeAt(C0,\"ExpressionStatement\",d.end,d.loc.end)}initFunction(d,N){super.initFunction(d,N),d.expression=!1}checkDeclaration(d){d!=null&&this.isObjectProperty(d)?this.checkDeclaration(d.value):super.checkDeclaration(d)}getObjectOrClassMethodParams(d){return d.value.params}isValidDirective(d){var N;return d.type===\"ExpressionStatement\"&&d.expression.type===\"Literal\"&&typeof d.expression.value==\"string\"&&!((N=d.expression.extra)!=null&&N.parenthesized)}stmtToDirective(d){const N=super.stmtToDirective(d),C0=d.expression.value;return this.addExtra(N.value,\"expressionValue\",C0),N}parseBlockBody(d,...N){super.parseBlockBody(d,...N);const C0=d.directives.map(_1=>this.directiveToStmt(_1));d.body=C0.concat(d.body),delete d.directives}pushClassMethod(d,N,C0,_1,jx,We){this.parseMethod(N,C0,_1,jx,We,\"ClassMethod\",!0),N.typeParameters&&(N.value.typeParameters=N.typeParameters,delete N.typeParameters),d.body.push(N)}parseMaybePrivateName(...d){const N=super.parseMaybePrivateName(...d);return N.type===\"PrivateName\"&&this.getPluginOption(\"estree\",\"classFeatures\")?this.convertPrivateNameToPrivateIdentifier(N):N}convertPrivateNameToPrivateIdentifier(d){const N=super.getPrivateNameSV(d);return delete(d=d).id,d.name=N,d.type=\"PrivateIdentifier\",d}isPrivateName(d){return this.getPluginOption(\"estree\",\"classFeatures\")?d.type===\"PrivateIdentifier\":super.isPrivateName(d)}getPrivateNameSV(d){return this.getPluginOption(\"estree\",\"classFeatures\")?d.name:super.getPrivateNameSV(d)}parseLiteral(d,N){const C0=super.parseLiteral(d,N);return C0.raw=C0.extra.raw,delete C0.extra,C0}parseFunctionBody(d,N,C0=!1){super.parseFunctionBody(d,N,C0),d.expression=d.body.type!==\"BlockStatement\"}parseMethod(d,N,C0,_1,jx,We,mt=!1){let $t=this.startNode();return $t.kind=d.kind,$t=super.parseMethod($t,N,C0,_1,jx,We,mt),$t.type=\"FunctionExpression\",delete $t.kind,d.value=$t,We===\"ClassPrivateMethod\"&&(d.computed=!1),We=\"MethodDefinition\",this.finishNode(d,We)}parseClassProperty(...d){const N=super.parseClassProperty(...d);return this.getPluginOption(\"estree\",\"classFeatures\")&&(N.type=\"PropertyDefinition\"),N}parseClassPrivateProperty(...d){const N=super.parseClassPrivateProperty(...d);return this.getPluginOption(\"estree\",\"classFeatures\")&&(N.type=\"PropertyDefinition\",N.computed=!1),N}parseObjectMethod(d,N,C0,_1,jx){const We=super.parseObjectMethod(d,N,C0,_1,jx);return We&&(We.type=\"Property\",We.kind===\"method\"&&(We.kind=\"init\"),We.shorthand=!1),We}parseObjectProperty(d,N,C0,_1,jx){const We=super.parseObjectProperty(d,N,C0,_1,jx);return We&&(We.kind=\"init\",We.type=\"Property\"),We}toAssignable(d,N=!1){return d!=null&&this.isObjectProperty(d)?(this.toAssignable(d.value,N),d):super.toAssignable(d,N)}toAssignableObjectExpressionProp(d,...N){d.kind===\"get\"||d.kind===\"set\"?this.raise(d.key.start,pt.PatternHasAccessor):d.method?this.raise(d.key.start,pt.PatternHasMethod):super.toAssignableObjectExpressionProp(d,...N)}finishCallExpression(d,N){if(super.finishCallExpression(d,N),d.callee.type===\"Import\"){var C0;d.type=\"ImportExpression\",d.source=d.arguments[0],this.hasPlugin(\"importAssertions\")&&(d.attributes=(C0=d.arguments[1])!=null?C0:null),delete d.arguments,delete d.callee}return d}toReferencedArguments(d){d.type!==\"ImportExpression\"&&super.toReferencedArguments(d)}parseExport(d){switch(super.parseExport(d),d.type){case\"ExportAllDeclaration\":d.exported=null;break;case\"ExportNamedDeclaration\":d.specifiers.length===1&&d.specifiers[0].type===\"ExportNamespaceSpecifier\"&&(d.type=\"ExportAllDeclaration\",d.exported=d.specifiers[0].exported,delete d.specifiers)}return d}parseSubscript(d,N,C0,_1,jx){const We=super.parseSubscript(d,N,C0,_1,jx);if(jx.optionalChainMember){if(We.type!==\"OptionalMemberExpression\"&&We.type!==\"OptionalCallExpression\"||(We.type=We.type.substring(8)),jx.stop){const mt=this.startNodeAtNode(We);return mt.expression=We,this.finishNode(mt,\"ChainExpression\")}}else We.type!==\"MemberExpression\"&&We.type!==\"CallExpression\"||(We.optional=!1);return We}hasPropertyAsPrivateName(d){return d.type===\"ChainExpression\"&&(d=d.expression),super.hasPropertyAsPrivateName(d)}isOptionalChain(d){return d.type===\"ChainExpression\"}isObjectProperty(d){return d.type===\"Property\"&&d.kind===\"init\"&&!d.method}isObjectMethod(d){return d.method||d.kind===\"get\"||d.kind===\"set\"}},jsx:B0=>class extends B0{jsxReadToken(){let d=\"\",N=this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,PF.UnterminatedJsxContent);const C0=this.input.charCodeAt(this.state.pos);switch(C0){case 60:case 123:return this.state.pos===this.state.start?C0===60&&this.state.exprAllowed?(++this.state.pos,this.finishToken(px.jsxTagStart)):super.getTokenFromCode(C0):(d+=this.input.slice(N,this.state.pos),this.finishToken(px.jsxText,d));case 38:d+=this.input.slice(N,this.state.pos),d+=this.jsxReadEntity(),N=this.state.pos;break;case 62:case 125:default:z2(C0)?(d+=this.input.slice(N,this.state.pos),d+=this.jsxReadNewLine(!0),N=this.state.pos):++this.state.pos}}}jsxReadNewLine(d){const N=this.input.charCodeAt(this.state.pos);let C0;return++this.state.pos,N===13&&this.input.charCodeAt(this.state.pos)===10?(++this.state.pos,C0=d?`\n`:`\\r\n`):C0=String.fromCharCode(N),++this.state.curLine,this.state.lineStart=this.state.pos,C0}jsxReadString(d){let N=\"\",C0=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,pt.UnterminatedString);const _1=this.input.charCodeAt(this.state.pos);if(_1===d)break;_1===38?(N+=this.input.slice(C0,this.state.pos),N+=this.jsxReadEntity(),C0=this.state.pos):z2(_1)?(N+=this.input.slice(C0,this.state.pos),N+=this.jsxReadNewLine(!1),C0=this.state.pos):++this.state.pos}return N+=this.input.slice(C0,this.state.pos++),this.finishToken(px.string,N)}jsxReadEntity(){let d,N=\"\",C0=0,_1=this.input[this.state.pos];const jx=++this.state.pos;for(;this.state.pos<this.length&&C0++<10;){if(_1=this.input[this.state.pos++],_1===\";\"){N[0]===\"#\"?N[1]===\"x\"?(N=N.substr(2),Z4.test(N)&&(d=String.fromCodePoint(parseInt(N,16)))):(N=N.substr(1),op.test(N)&&(d=String.fromCodePoint(parseInt(N,10)))):d=WT[N];break}N+=_1}return d||(this.state.pos=jx,\"&\")}jsxReadWord(){let d;const N=this.state.pos;do d=this.input.charCodeAt(++this.state.pos);while(mu(d)||d===45);return this.finishToken(px.jsxName,this.input.slice(N,this.state.pos))}jsxParseIdentifier(){const d=this.startNode();return this.match(px.jsxName)?d.name=this.state.value:this.state.type.keyword?d.name=this.state.type.keyword:this.unexpected(),this.next(),this.finishNode(d,\"JSXIdentifier\")}jsxParseNamespacedName(){const d=this.state.start,N=this.state.startLoc,C0=this.jsxParseIdentifier();if(!this.eat(px.colon))return C0;const _1=this.startNodeAt(d,N);return _1.namespace=C0,_1.name=this.jsxParseIdentifier(),this.finishNode(_1,\"JSXNamespacedName\")}jsxParseElementName(){const d=this.state.start,N=this.state.startLoc;let C0=this.jsxParseNamespacedName();if(C0.type===\"JSXNamespacedName\")return C0;for(;this.eat(px.dot);){const _1=this.startNodeAt(d,N);_1.object=C0,_1.property=this.jsxParseIdentifier(),C0=this.finishNode(_1,\"JSXMemberExpression\")}return C0}jsxParseAttributeValue(){let d;switch(this.state.type){case px.braceL:return d=this.startNode(),this.next(),d=this.jsxParseExpressionContainer(d),d.expression.type===\"JSXEmptyExpression\"&&this.raise(d.start,PF.AttributeIsEmpty),d;case px.jsxTagStart:case px.string:return this.parseExprAtom();default:throw this.raise(this.state.start,PF.UnsupportedJsxValue)}}jsxParseEmptyExpression(){const d=this.startNodeAt(this.state.lastTokEnd,this.state.lastTokEndLoc);return this.finishNodeAt(d,\"JSXEmptyExpression\",this.state.start,this.state.startLoc)}jsxParseSpreadChild(d){return this.next(),d.expression=this.parseExpression(),this.expect(px.braceR),this.finishNode(d,\"JSXSpreadChild\")}jsxParseExpressionContainer(d){if(this.match(px.braceR))d.expression=this.jsxParseEmptyExpression();else{const N=this.parseExpression();d.expression=N}return this.expect(px.braceR),this.finishNode(d,\"JSXExpressionContainer\")}jsxParseAttribute(){const d=this.startNode();return this.eat(px.braceL)?(this.expect(px.ellipsis),d.argument=this.parseMaybeAssignAllowIn(),this.expect(px.braceR),this.finishNode(d,\"JSXSpreadAttribute\")):(d.name=this.jsxParseNamespacedName(),d.value=this.eat(px.eq)?this.jsxParseAttributeValue():null,this.finishNode(d,\"JSXAttribute\"))}jsxParseOpeningElementAt(d,N){const C0=this.startNodeAt(d,N);return this.match(px.jsxTagEnd)?(this.expect(px.jsxTagEnd),this.finishNode(C0,\"JSXOpeningFragment\")):(C0.name=this.jsxParseElementName(),this.jsxParseOpeningElementAfterName(C0))}jsxParseOpeningElementAfterName(d){const N=[];for(;!this.match(px.slash)&&!this.match(px.jsxTagEnd);)N.push(this.jsxParseAttribute());return d.attributes=N,d.selfClosing=this.eat(px.slash),this.expect(px.jsxTagEnd),this.finishNode(d,\"JSXOpeningElement\")}jsxParseClosingElementAt(d,N){const C0=this.startNodeAt(d,N);return this.match(px.jsxTagEnd)?(this.expect(px.jsxTagEnd),this.finishNode(C0,\"JSXClosingFragment\")):(C0.name=this.jsxParseElementName(),this.expect(px.jsxTagEnd),this.finishNode(C0,\"JSXClosingElement\"))}jsxParseElementAt(d,N){const C0=this.startNodeAt(d,N),_1=[],jx=this.jsxParseOpeningElementAt(d,N);let We=null;if(!jx.selfClosing){x:for(;;)switch(this.state.type){case px.jsxTagStart:if(d=this.state.start,N=this.state.startLoc,this.next(),this.eat(px.slash)){We=this.jsxParseClosingElementAt(d,N);break x}_1.push(this.jsxParseElementAt(d,N));break;case px.jsxText:_1.push(this.parseExprAtom());break;case px.braceL:{const mt=this.startNode();this.next(),this.match(px.ellipsis)?_1.push(this.jsxParseSpreadChild(mt)):_1.push(this.jsxParseExpressionContainer(mt));break}default:throw this.unexpected()}Lf(jx)&&!Lf(We)?this.raise(We.start,PF.MissingClosingTagFragment):!Lf(jx)&&Lf(We)?this.raise(We.start,PF.MissingClosingTagElement,xA(jx.name)):Lf(jx)||Lf(We)||xA(We.name)!==xA(jx.name)&&this.raise(We.start,PF.MissingClosingTagElement,xA(jx.name))}if(Lf(jx)?(C0.openingFragment=jx,C0.closingFragment=We):(C0.openingElement=jx,C0.closingElement=We),C0.children=_1,this.isRelational(\"<\"))throw this.raise(this.state.start,PF.UnwrappedAdjacentJSXElements);return Lf(jx)?this.finishNode(C0,\"JSXFragment\"):this.finishNode(C0,\"JSXElement\")}jsxParseElement(){const d=this.state.start,N=this.state.startLoc;return this.next(),this.jsxParseElementAt(d,N)}parseExprAtom(d){return this.match(px.jsxText)?this.parseLiteral(this.state.value,\"JSXText\"):this.match(px.jsxTagStart)?this.jsxParseElement():this.isRelational(\"<\")&&this.input.charCodeAt(this.state.pos)!==33?(this.finishToken(px.jsxTagStart),this.jsxParseElement()):super.parseExprAtom(d)}createLookaheadState(d){const N=super.createLookaheadState(d);return N.inPropertyName=d.inPropertyName,N}getTokenFromCode(d){if(this.state.inPropertyName)return super.getTokenFromCode(d);const N=this.curContext();if(N===Yx.j_expr)return this.jsxReadToken();if(N===Yx.j_oTag||N===Yx.j_cTag){if(ul(d))return this.jsxReadWord();if(d===62)return++this.state.pos,this.finishToken(px.jsxTagEnd);if((d===34||d===39)&&N===Yx.j_oTag)return this.jsxReadString(d)}return d===60&&this.state.exprAllowed&&this.input.charCodeAt(this.state.pos+1)!==33?(++this.state.pos,this.finishToken(px.jsxTagStart)):super.getTokenFromCode(d)}updateContext(d){super.updateContext(d);const{context:N,type:C0}=this.state;if(C0===px.braceL){const _1=N[N.length-1];_1===Yx.j_oTag?N.push(Yx.brace):_1===Yx.j_expr&&N.push(Yx.templateQuasi),this.state.exprAllowed=!0}else if(C0===px.slash&&d===px.jsxTagStart)N.length-=2,N.push(Yx.j_cTag),this.state.exprAllowed=!1;else if(C0===px.jsxTagEnd){const _1=N.pop();_1===Yx.j_oTag&&d===px.slash||_1===Yx.j_cTag?(N.pop(),this.state.exprAllowed=N[N.length-1]===Yx.j_expr):this.state.exprAllowed=!0}else!C0.keyword||d!==px.dot&&d!==px.questionDot?this.state.exprAllowed=C0.beforeExpr:this.state.exprAllowed=!1}},flow:B0=>class extends B0{constructor(...d){super(...d),this.flowPragma=void 0}getScopeHandler(){return nE}shouldParseTypes(){return this.getPluginOption(\"flow\",\"all\")||this.flowPragma===\"flow\"}shouldParseEnums(){return!!this.getPluginOption(\"flow\",\"enums\")}finishToken(d,N){return d!==px.string&&d!==px.semi&&d!==px.interpreterDirective&&this.flowPragma===void 0&&(this.flowPragma=null),super.finishToken(d,N)}addComment(d){if(this.flowPragma===void 0){const N=w8.exec(d.value);if(N)if(N[1]===\"flow\")this.flowPragma=\"flow\";else{if(N[1]!==\"noflow\")throw new Error(\"Unexpected flow pragma\");this.flowPragma=\"noflow\"}}return super.addComment(d)}flowParseTypeInitialiser(d){const N=this.state.inType;this.state.inType=!0,this.expect(d||px.colon);const C0=this.flowParseType();return this.state.inType=N,C0}flowParsePredicate(){const d=this.startNode(),N=this.state.start;return this.next(),this.expectContextual(\"checks\"),this.state.lastTokStart>N+1&&this.raise(N,bl.UnexpectedSpaceBetweenModuloChecks),this.eat(px.parenL)?(d.value=this.parseExpression(),this.expect(px.parenR),this.finishNode(d,\"DeclaredPredicate\")):this.finishNode(d,\"InferredPredicate\")}flowParseTypeAndPredicateInitialiser(){const d=this.state.inType;this.state.inType=!0,this.expect(px.colon);let N=null,C0=null;return this.match(px.modulo)?(this.state.inType=d,C0=this.flowParsePredicate()):(N=this.flowParseType(),this.state.inType=d,this.match(px.modulo)&&(C0=this.flowParsePredicate())),[N,C0]}flowParseDeclareClass(d){return this.next(),this.flowParseInterfaceish(d,!0),this.finishNode(d,\"DeclareClass\")}flowParseDeclareFunction(d){this.next();const N=d.id=this.parseIdentifier(),C0=this.startNode(),_1=this.startNode();this.isRelational(\"<\")?C0.typeParameters=this.flowParseTypeParameterDeclaration():C0.typeParameters=null,this.expect(px.parenL);const jx=this.flowParseFunctionTypeParams();return C0.params=jx.params,C0.rest=jx.rest,C0.this=jx._this,this.expect(px.parenR),[C0.returnType,d.predicate]=this.flowParseTypeAndPredicateInitialiser(),_1.typeAnnotation=this.finishNode(C0,\"FunctionTypeAnnotation\"),N.typeAnnotation=this.finishNode(_1,\"TypeAnnotation\"),this.resetEndLocation(N),this.semicolon(),this.scope.declareName(d.id.name,2048,d.id.start),this.finishNode(d,\"DeclareFunction\")}flowParseDeclare(d,N){if(this.match(px._class))return this.flowParseDeclareClass(d);if(this.match(px._function))return this.flowParseDeclareFunction(d);if(this.match(px._var))return this.flowParseDeclareVariable(d);if(this.eatContextual(\"module\"))return this.match(px.dot)?this.flowParseDeclareModuleExports(d):(N&&this.raise(this.state.lastTokStart,bl.NestedDeclareModule),this.flowParseDeclareModule(d));if(this.isContextual(\"type\"))return this.flowParseDeclareTypeAlias(d);if(this.isContextual(\"opaque\"))return this.flowParseDeclareOpaqueType(d);if(this.isContextual(\"interface\"))return this.flowParseDeclareInterface(d);if(this.match(px._export))return this.flowParseDeclareExportDeclaration(d,N);throw this.unexpected()}flowParseDeclareVariable(d){return this.next(),d.id=this.flowParseTypeAnnotatableIdentifier(!0),this.scope.declareName(d.id.name,5,d.id.start),this.semicolon(),this.finishNode(d,\"DeclareVariable\")}flowParseDeclareModule(d){this.scope.enter(0),this.match(px.string)?d.id=this.parseExprAtom():d.id=this.parseIdentifier();const N=d.body=this.startNode(),C0=N.body=[];for(this.expect(px.braceL);!this.match(px.braceR);){let We=this.startNode();this.match(px._import)?(this.next(),this.isContextual(\"type\")||this.match(px._typeof)||this.raise(this.state.lastTokStart,bl.InvalidNonTypeImportInDeclareModule),this.parseImport(We)):(this.expectContextual(\"declare\",bl.UnsupportedStatementInDeclareModule),We=this.flowParseDeclare(We,!0)),C0.push(We)}this.scope.exit(),this.expect(px.braceR),this.finishNode(N,\"BlockStatement\");let _1=null,jx=!1;return C0.forEach(We=>{(function(mt){return mt.type===\"DeclareExportAllDeclaration\"||mt.type===\"DeclareExportDeclaration\"&&(!mt.declaration||mt.declaration.type!==\"TypeAlias\"&&mt.declaration.type!==\"InterfaceDeclaration\")})(We)?(_1===\"CommonJS\"&&this.raise(We.start,bl.AmbiguousDeclareModuleKind),_1=\"ES\"):We.type===\"DeclareModuleExports\"&&(jx&&this.raise(We.start,bl.DuplicateDeclareModuleExports),_1===\"ES\"&&this.raise(We.start,bl.AmbiguousDeclareModuleKind),_1=\"CommonJS\",jx=!0)}),d.kind=_1||\"CommonJS\",this.finishNode(d,\"DeclareModule\")}flowParseDeclareExportDeclaration(d,N){if(this.expect(px._export),this.eat(px._default))return this.match(px._function)||this.match(px._class)?d.declaration=this.flowParseDeclare(this.startNode()):(d.declaration=this.flowParseType(),this.semicolon()),d.default=!0,this.finishNode(d,\"DeclareExportDeclaration\");if(this.match(px._const)||this.isLet()||(this.isContextual(\"type\")||this.isContextual(\"interface\"))&&!N){const C0=this.state.value,_1=xf[C0];throw this.raise(this.state.start,bl.UnsupportedDeclareExportKind,C0,_1)}if(this.match(px._var)||this.match(px._function)||this.match(px._class)||this.isContextual(\"opaque\"))return d.declaration=this.flowParseDeclare(this.startNode()),d.default=!1,this.finishNode(d,\"DeclareExportDeclaration\");if(this.match(px.star)||this.match(px.braceL)||this.isContextual(\"interface\")||this.isContextual(\"type\")||this.isContextual(\"opaque\"))return(d=this.parseExport(d)).type===\"ExportNamedDeclaration\"&&(d.type=\"ExportDeclaration\",d.default=!1,delete d.exportKind),d.type=\"Declare\"+d.type,d;throw this.unexpected()}flowParseDeclareModuleExports(d){return this.next(),this.expectContextual(\"exports\"),d.typeAnnotation=this.flowParseTypeAnnotation(),this.semicolon(),this.finishNode(d,\"DeclareModuleExports\")}flowParseDeclareTypeAlias(d){return this.next(),this.flowParseTypeAlias(d),d.type=\"DeclareTypeAlias\",d}flowParseDeclareOpaqueType(d){return this.next(),this.flowParseOpaqueType(d,!0),d.type=\"DeclareOpaqueType\",d}flowParseDeclareInterface(d){return this.next(),this.flowParseInterfaceish(d),this.finishNode(d,\"DeclareInterface\")}flowParseInterfaceish(d,N=!1){if(d.id=this.flowParseRestrictedIdentifier(!N,!0),this.scope.declareName(d.id.name,N?17:9,d.id.start),this.isRelational(\"<\")?d.typeParameters=this.flowParseTypeParameterDeclaration():d.typeParameters=null,d.extends=[],d.implements=[],d.mixins=[],this.eat(px._extends))do d.extends.push(this.flowParseInterfaceExtends());while(!N&&this.eat(px.comma));if(this.isContextual(\"mixins\")){this.next();do d.mixins.push(this.flowParseInterfaceExtends());while(this.eat(px.comma))}if(this.isContextual(\"implements\")){this.next();do d.implements.push(this.flowParseInterfaceExtends());while(this.eat(px.comma))}d.body=this.flowParseObjectType({allowStatic:N,allowExact:!1,allowSpread:!1,allowProto:N,allowInexact:!1})}flowParseInterfaceExtends(){const d=this.startNode();return d.id=this.flowParseQualifiedTypeIdentifier(),this.isRelational(\"<\")?d.typeParameters=this.flowParseTypeParameterInstantiation():d.typeParameters=null,this.finishNode(d,\"InterfaceExtends\")}flowParseInterface(d){return this.flowParseInterfaceish(d),this.finishNode(d,\"InterfaceDeclaration\")}checkNotUnderscore(d){d===\"_\"&&this.raise(this.state.start,bl.UnexpectedReservedUnderscore)}checkReservedType(d,N,C0){pm.has(d)&&this.raise(N,C0?bl.AssignReservedType:bl.UnexpectedReservedType,d)}flowParseRestrictedIdentifier(d,N){return this.checkReservedType(this.state.value,this.state.start,N),this.parseIdentifier(d)}flowParseTypeAlias(d){return d.id=this.flowParseRestrictedIdentifier(!1,!0),this.scope.declareName(d.id.name,9,d.id.start),this.isRelational(\"<\")?d.typeParameters=this.flowParseTypeParameterDeclaration():d.typeParameters=null,d.right=this.flowParseTypeInitialiser(px.eq),this.semicolon(),this.finishNode(d,\"TypeAlias\")}flowParseOpaqueType(d,N){return this.expectContextual(\"type\"),d.id=this.flowParseRestrictedIdentifier(!0,!0),this.scope.declareName(d.id.name,9,d.id.start),this.isRelational(\"<\")?d.typeParameters=this.flowParseTypeParameterDeclaration():d.typeParameters=null,d.supertype=null,this.match(px.colon)&&(d.supertype=this.flowParseTypeInitialiser(px.colon)),d.impltype=null,N||(d.impltype=this.flowParseTypeInitialiser(px.eq)),this.semicolon(),this.finishNode(d,\"OpaqueType\")}flowParseTypeParameter(d=!1){const N=this.state.start,C0=this.startNode(),_1=this.flowParseVariance(),jx=this.flowParseTypeAnnotatableIdentifier();return C0.name=jx.name,C0.variance=_1,C0.bound=jx.typeAnnotation,this.match(px.eq)?(this.eat(px.eq),C0.default=this.flowParseType()):d&&this.raise(N,bl.MissingTypeParamDefault),this.finishNode(C0,\"TypeParameter\")}flowParseTypeParameterDeclaration(){const d=this.state.inType,N=this.startNode();N.params=[],this.state.inType=!0,this.isRelational(\"<\")||this.match(px.jsxTagStart)?this.next():this.unexpected();let C0=!1;do{const _1=this.flowParseTypeParameter(C0);N.params.push(_1),_1.default&&(C0=!0),this.isRelational(\">\")||this.expect(px.comma)}while(!this.isRelational(\">\"));return this.expectRelational(\">\"),this.state.inType=d,this.finishNode(N,\"TypeParameterDeclaration\")}flowParseTypeParameterInstantiation(){const d=this.startNode(),N=this.state.inType;d.params=[],this.state.inType=!0,this.expectRelational(\"<\");const C0=this.state.noAnonFunctionType;for(this.state.noAnonFunctionType=!1;!this.isRelational(\">\");)d.params.push(this.flowParseType()),this.isRelational(\">\")||this.expect(px.comma);return this.state.noAnonFunctionType=C0,this.expectRelational(\">\"),this.state.inType=N,this.finishNode(d,\"TypeParameterInstantiation\")}flowParseTypeParameterInstantiationCallOrNew(){const d=this.startNode(),N=this.state.inType;for(d.params=[],this.state.inType=!0,this.expectRelational(\"<\");!this.isRelational(\">\");)d.params.push(this.flowParseTypeOrImplicitInstantiation()),this.isRelational(\">\")||this.expect(px.comma);return this.expectRelational(\">\"),this.state.inType=N,this.finishNode(d,\"TypeParameterInstantiation\")}flowParseInterfaceType(){const d=this.startNode();if(this.expectContextual(\"interface\"),d.extends=[],this.eat(px._extends))do d.extends.push(this.flowParseInterfaceExtends());while(this.eat(px.comma));return d.body=this.flowParseObjectType({allowStatic:!1,allowExact:!1,allowSpread:!1,allowProto:!1,allowInexact:!1}),this.finishNode(d,\"InterfaceTypeAnnotation\")}flowParseObjectPropertyKey(){return this.match(px.num)||this.match(px.string)?this.parseExprAtom():this.parseIdentifier(!0)}flowParseObjectTypeIndexer(d,N,C0){return d.static=N,this.lookahead().type===px.colon?(d.id=this.flowParseObjectPropertyKey(),d.key=this.flowParseTypeInitialiser()):(d.id=null,d.key=this.flowParseType()),this.expect(px.bracketR),d.value=this.flowParseTypeInitialiser(),d.variance=C0,this.finishNode(d,\"ObjectTypeIndexer\")}flowParseObjectTypeInternalSlot(d,N){return d.static=N,d.id=this.flowParseObjectPropertyKey(),this.expect(px.bracketR),this.expect(px.bracketR),this.isRelational(\"<\")||this.match(px.parenL)?(d.method=!0,d.optional=!1,d.value=this.flowParseObjectTypeMethodish(this.startNodeAt(d.start,d.loc.start))):(d.method=!1,this.eat(px.question)&&(d.optional=!0),d.value=this.flowParseTypeInitialiser()),this.finishNode(d,\"ObjectTypeInternalSlot\")}flowParseObjectTypeMethodish(d){for(d.params=[],d.rest=null,d.typeParameters=null,d.this=null,this.isRelational(\"<\")&&(d.typeParameters=this.flowParseTypeParameterDeclaration()),this.expect(px.parenL),this.match(px._this)&&(d.this=this.flowParseFunctionTypeParam(!0),d.this.name=null,this.match(px.parenR)||this.expect(px.comma));!this.match(px.parenR)&&!this.match(px.ellipsis);)d.params.push(this.flowParseFunctionTypeParam(!1)),this.match(px.parenR)||this.expect(px.comma);return this.eat(px.ellipsis)&&(d.rest=this.flowParseFunctionTypeParam(!1)),this.expect(px.parenR),d.returnType=this.flowParseTypeInitialiser(),this.finishNode(d,\"FunctionTypeAnnotation\")}flowParseObjectTypeCallProperty(d,N){const C0=this.startNode();return d.static=N,d.value=this.flowParseObjectTypeMethodish(C0),this.finishNode(d,\"ObjectTypeCallProperty\")}flowParseObjectType({allowStatic:d,allowExact:N,allowSpread:C0,allowProto:_1,allowInexact:jx}){const We=this.state.inType;this.state.inType=!0;const mt=this.startNode();let $t,Zn;mt.callProperties=[],mt.properties=[],mt.indexers=[],mt.internalSlots=[];let _i=!1;for(N&&this.match(px.braceBarL)?(this.expect(px.braceBarL),$t=px.braceBarR,Zn=!0):(this.expect(px.braceL),$t=px.braceR,Zn=!1),mt.exact=Zn;!this.match($t);){let Bo=!1,Rt=null,Xs=null;const ll=this.startNode();if(_1&&this.isContextual(\"proto\")){const xu=this.lookahead();xu.type!==px.colon&&xu.type!==px.question&&(this.next(),Rt=this.state.start,d=!1)}if(d&&this.isContextual(\"static\")){const xu=this.lookahead();xu.type!==px.colon&&xu.type!==px.question&&(this.next(),Bo=!0)}const jc=this.flowParseVariance();if(this.eat(px.bracketL))Rt!=null&&this.unexpected(Rt),this.eat(px.bracketL)?(jc&&this.unexpected(jc.start),mt.internalSlots.push(this.flowParseObjectTypeInternalSlot(ll,Bo))):mt.indexers.push(this.flowParseObjectTypeIndexer(ll,Bo,jc));else if(this.match(px.parenL)||this.isRelational(\"<\"))Rt!=null&&this.unexpected(Rt),jc&&this.unexpected(jc.start),mt.callProperties.push(this.flowParseObjectTypeCallProperty(ll,Bo));else{let xu=\"init\";if(this.isContextual(\"get\")||this.isContextual(\"set\")){const iE=this.lookahead();iE.type!==px.name&&iE.type!==px.string&&iE.type!==px.num||(xu=this.state.value,this.next())}const Ml=this.flowParseObjectTypeProperty(ll,Bo,Rt,jc,xu,C0,jx!=null?jx:!Zn);Ml===null?(_i=!0,Xs=this.state.lastTokStart):mt.properties.push(Ml)}this.flowObjectTypeSemicolon(),!Xs||this.match(px.braceR)||this.match(px.braceBarR)||this.raise(Xs,bl.UnexpectedExplicitInexactInObject)}this.expect($t),C0&&(mt.inexact=_i);const Va=this.finishNode(mt,\"ObjectTypeAnnotation\");return this.state.inType=We,Va}flowParseObjectTypeProperty(d,N,C0,_1,jx,We,mt){if(this.eat(px.ellipsis))return this.match(px.comma)||this.match(px.semi)||this.match(px.braceR)||this.match(px.braceBarR)?(We?mt||this.raise(this.state.lastTokStart,bl.InexactInsideExact):this.raise(this.state.lastTokStart,bl.InexactInsideNonObject),_1&&this.raise(_1.start,bl.InexactVariance),null):(We||this.raise(this.state.lastTokStart,bl.UnexpectedSpreadType),C0!=null&&this.unexpected(C0),_1&&this.raise(_1.start,bl.SpreadVariance),d.argument=this.flowParseType(),this.finishNode(d,\"ObjectTypeSpreadProperty\"));{d.key=this.flowParseObjectPropertyKey(),d.static=N,d.proto=C0!=null,d.kind=jx;let $t=!1;return this.isRelational(\"<\")||this.match(px.parenL)?(d.method=!0,C0!=null&&this.unexpected(C0),_1&&this.unexpected(_1.start),d.value=this.flowParseObjectTypeMethodish(this.startNodeAt(d.start,d.loc.start)),jx!==\"get\"&&jx!==\"set\"||this.flowCheckGetterSetterParams(d),!We&&d.key.name===\"constructor\"&&d.value.this&&this.raise(d.value.this.start,bl.ThisParamBannedInConstructor)):(jx!==\"init\"&&this.unexpected(),d.method=!1,this.eat(px.question)&&($t=!0),d.value=this.flowParseTypeInitialiser(),d.variance=_1),d.optional=$t,this.finishNode(d,\"ObjectTypeProperty\")}}flowCheckGetterSetterParams(d){const N=d.kind===\"get\"?0:1,C0=d.start,_1=d.value.params.length+(d.value.rest?1:0);d.value.this&&this.raise(d.value.this.start,d.kind===\"get\"?bl.GetterMayNotHaveThisParam:bl.SetterMayNotHaveThisParam),_1!==N&&(d.kind===\"get\"?this.raise(C0,pt.BadGetterArity):this.raise(C0,pt.BadSetterArity)),d.kind===\"set\"&&d.value.rest&&this.raise(C0,pt.BadSetterRestParameter)}flowObjectTypeSemicolon(){this.eat(px.semi)||this.eat(px.comma)||this.match(px.braceR)||this.match(px.braceBarR)||this.unexpected()}flowParseQualifiedTypeIdentifier(d,N,C0){d=d||this.state.start,N=N||this.state.startLoc;let _1=C0||this.flowParseRestrictedIdentifier(!0);for(;this.eat(px.dot);){const jx=this.startNodeAt(d,N);jx.qualification=_1,jx.id=this.flowParseRestrictedIdentifier(!0),_1=this.finishNode(jx,\"QualifiedTypeIdentifier\")}return _1}flowParseGenericType(d,N,C0){const _1=this.startNodeAt(d,N);return _1.typeParameters=null,_1.id=this.flowParseQualifiedTypeIdentifier(d,N,C0),this.isRelational(\"<\")&&(_1.typeParameters=this.flowParseTypeParameterInstantiation()),this.finishNode(_1,\"GenericTypeAnnotation\")}flowParseTypeofType(){const d=this.startNode();return this.expect(px._typeof),d.argument=this.flowParsePrimaryType(),this.finishNode(d,\"TypeofTypeAnnotation\")}flowParseTupleType(){const d=this.startNode();for(d.types=[],this.expect(px.bracketL);this.state.pos<this.length&&!this.match(px.bracketR)&&(d.types.push(this.flowParseType()),!this.match(px.bracketR));)this.expect(px.comma);return this.expect(px.bracketR),this.finishNode(d,\"TupleTypeAnnotation\")}flowParseFunctionTypeParam(d){let N=null,C0=!1,_1=null;const jx=this.startNode(),We=this.lookahead(),mt=this.state.type===px._this;return We.type===px.colon||We.type===px.question?(mt&&!d&&this.raise(jx.start,bl.ThisParamMustBeFirst),N=this.parseIdentifier(mt),this.eat(px.question)&&(C0=!0,mt&&this.raise(jx.start,bl.ThisParamMayNotBeOptional)),_1=this.flowParseTypeInitialiser()):_1=this.flowParseType(),jx.name=N,jx.optional=C0,jx.typeAnnotation=_1,this.finishNode(jx,\"FunctionTypeParam\")}reinterpretTypeAsFunctionTypeParam(d){const N=this.startNodeAt(d.start,d.loc.start);return N.name=null,N.optional=!1,N.typeAnnotation=d,this.finishNode(N,\"FunctionTypeParam\")}flowParseFunctionTypeParams(d=[]){let N=null,C0=null;for(this.match(px._this)&&(C0=this.flowParseFunctionTypeParam(!0),C0.name=null,this.match(px.parenR)||this.expect(px.comma));!this.match(px.parenR)&&!this.match(px.ellipsis);)d.push(this.flowParseFunctionTypeParam(!1)),this.match(px.parenR)||this.expect(px.comma);return this.eat(px.ellipsis)&&(N=this.flowParseFunctionTypeParam(!1)),{params:d,rest:N,_this:C0}}flowIdentToTypeAnnotation(d,N,C0,_1){switch(_1.name){case\"any\":return this.finishNode(C0,\"AnyTypeAnnotation\");case\"bool\":case\"boolean\":return this.finishNode(C0,\"BooleanTypeAnnotation\");case\"mixed\":return this.finishNode(C0,\"MixedTypeAnnotation\");case\"empty\":return this.finishNode(C0,\"EmptyTypeAnnotation\");case\"number\":return this.finishNode(C0,\"NumberTypeAnnotation\");case\"string\":return this.finishNode(C0,\"StringTypeAnnotation\");case\"symbol\":return this.finishNode(C0,\"SymbolTypeAnnotation\");default:return this.checkNotUnderscore(_1.name),this.flowParseGenericType(d,N,_1)}}flowParsePrimaryType(){const d=this.state.start,N=this.state.startLoc,C0=this.startNode();let _1,jx,We=!1;const mt=this.state.noAnonFunctionType;switch(this.state.type){case px.name:return this.isContextual(\"interface\")?this.flowParseInterfaceType():this.flowIdentToTypeAnnotation(d,N,C0,this.parseIdentifier());case px.braceL:return this.flowParseObjectType({allowStatic:!1,allowExact:!1,allowSpread:!0,allowProto:!1,allowInexact:!0});case px.braceBarL:return this.flowParseObjectType({allowStatic:!1,allowExact:!0,allowSpread:!0,allowProto:!1,allowInexact:!1});case px.bracketL:return this.state.noAnonFunctionType=!1,jx=this.flowParseTupleType(),this.state.noAnonFunctionType=mt,jx;case px.relational:if(this.state.value===\"<\")return C0.typeParameters=this.flowParseTypeParameterDeclaration(),this.expect(px.parenL),_1=this.flowParseFunctionTypeParams(),C0.params=_1.params,C0.rest=_1.rest,C0.this=_1._this,this.expect(px.parenR),this.expect(px.arrow),C0.returnType=this.flowParseType(),this.finishNode(C0,\"FunctionTypeAnnotation\");break;case px.parenL:if(this.next(),!this.match(px.parenR)&&!this.match(px.ellipsis))if(this.match(px.name)||this.match(px._this)){const $t=this.lookahead().type;We=$t!==px.question&&$t!==px.colon}else We=!0;if(We){if(this.state.noAnonFunctionType=!1,jx=this.flowParseType(),this.state.noAnonFunctionType=mt,this.state.noAnonFunctionType||!(this.match(px.comma)||this.match(px.parenR)&&this.lookahead().type===px.arrow))return this.expect(px.parenR),jx;this.eat(px.comma)}return _1=jx?this.flowParseFunctionTypeParams([this.reinterpretTypeAsFunctionTypeParam(jx)]):this.flowParseFunctionTypeParams(),C0.params=_1.params,C0.rest=_1.rest,C0.this=_1._this,this.expect(px.parenR),this.expect(px.arrow),C0.returnType=this.flowParseType(),C0.typeParameters=null,this.finishNode(C0,\"FunctionTypeAnnotation\");case px.string:return this.parseLiteral(this.state.value,\"StringLiteralTypeAnnotation\");case px._true:case px._false:return C0.value=this.match(px._true),this.next(),this.finishNode(C0,\"BooleanLiteralTypeAnnotation\");case px.plusMin:if(this.state.value===\"-\"){if(this.next(),this.match(px.num))return this.parseLiteralAtNode(-this.state.value,\"NumberLiteralTypeAnnotation\",C0);if(this.match(px.bigint))return this.parseLiteralAtNode(-this.state.value,\"BigIntLiteralTypeAnnotation\",C0);throw this.raise(this.state.start,bl.UnexpectedSubtractionOperand)}throw this.unexpected();case px.num:return this.parseLiteral(this.state.value,\"NumberLiteralTypeAnnotation\");case px.bigint:return this.parseLiteral(this.state.value,\"BigIntLiteralTypeAnnotation\");case px._void:return this.next(),this.finishNode(C0,\"VoidTypeAnnotation\");case px._null:return this.next(),this.finishNode(C0,\"NullLiteralTypeAnnotation\");case px._this:return this.next(),this.finishNode(C0,\"ThisTypeAnnotation\");case px.star:return this.next(),this.finishNode(C0,\"ExistsTypeAnnotation\");default:if(this.state.type.keyword===\"typeof\")return this.flowParseTypeofType();if(this.state.type.keyword){const $t=this.state.type.label;return this.next(),super.createIdentifier(C0,$t)}}throw this.unexpected()}flowParsePostfixType(){const d=this.state.start,N=this.state.startLoc;let C0=this.flowParsePrimaryType(),_1=!1;for(;(this.match(px.bracketL)||this.match(px.questionDot))&&!this.canInsertSemicolon();){const jx=this.startNodeAt(d,N),We=this.eat(px.questionDot);_1=_1||We,this.expect(px.bracketL),!We&&this.match(px.bracketR)?(jx.elementType=C0,this.next(),C0=this.finishNode(jx,\"ArrayTypeAnnotation\")):(jx.objectType=C0,jx.indexType=this.flowParseType(),this.expect(px.bracketR),_1?(jx.optional=We,C0=this.finishNode(jx,\"OptionalIndexedAccessType\")):C0=this.finishNode(jx,\"IndexedAccessType\"))}return C0}flowParsePrefixType(){const d=this.startNode();return this.eat(px.question)?(d.typeAnnotation=this.flowParsePrefixType(),this.finishNode(d,\"NullableTypeAnnotation\")):this.flowParsePostfixType()}flowParseAnonFunctionWithoutParens(){const d=this.flowParsePrefixType();if(!this.state.noAnonFunctionType&&this.eat(px.arrow)){const N=this.startNodeAt(d.start,d.loc.start);return N.params=[this.reinterpretTypeAsFunctionTypeParam(d)],N.rest=null,N.this=null,N.returnType=this.flowParseType(),N.typeParameters=null,this.finishNode(N,\"FunctionTypeAnnotation\")}return d}flowParseIntersectionType(){const d=this.startNode();this.eat(px.bitwiseAND);const N=this.flowParseAnonFunctionWithoutParens();for(d.types=[N];this.eat(px.bitwiseAND);)d.types.push(this.flowParseAnonFunctionWithoutParens());return d.types.length===1?N:this.finishNode(d,\"IntersectionTypeAnnotation\")}flowParseUnionType(){const d=this.startNode();this.eat(px.bitwiseOR);const N=this.flowParseIntersectionType();for(d.types=[N];this.eat(px.bitwiseOR);)d.types.push(this.flowParseIntersectionType());return d.types.length===1?N:this.finishNode(d,\"UnionTypeAnnotation\")}flowParseType(){const d=this.state.inType;this.state.inType=!0;const N=this.flowParseUnionType();return this.state.inType=d,N}flowParseTypeOrImplicitInstantiation(){if(this.state.type===px.name&&this.state.value===\"_\"){const d=this.state.start,N=this.state.startLoc,C0=this.parseIdentifier();return this.flowParseGenericType(d,N,C0)}return this.flowParseType()}flowParseTypeAnnotation(){const d=this.startNode();return d.typeAnnotation=this.flowParseTypeInitialiser(),this.finishNode(d,\"TypeAnnotation\")}flowParseTypeAnnotatableIdentifier(d){const N=d?this.parseIdentifier():this.flowParseRestrictedIdentifier();return this.match(px.colon)&&(N.typeAnnotation=this.flowParseTypeAnnotation(),this.resetEndLocation(N)),N}typeCastToParameter(d){return d.expression.typeAnnotation=d.typeAnnotation,this.resetEndLocation(d.expression,d.typeAnnotation.end,d.typeAnnotation.loc.end),d.expression}flowParseVariance(){let d=null;return this.match(px.plusMin)&&(d=this.startNode(),this.state.value===\"+\"?d.kind=\"plus\":d.kind=\"minus\",this.next(),this.finishNode(d,\"Variance\")),d}parseFunctionBody(d,N,C0=!1){return N?this.forwardNoArrowParamsConversionAt(d,()=>super.parseFunctionBody(d,!0,C0)):super.parseFunctionBody(d,!1,C0)}parseFunctionBodyAndFinish(d,N,C0=!1){if(this.match(px.colon)){const _1=this.startNode();[_1.typeAnnotation,d.predicate]=this.flowParseTypeAndPredicateInitialiser(),d.returnType=_1.typeAnnotation?this.finishNode(_1,\"TypeAnnotation\"):null}super.parseFunctionBodyAndFinish(d,N,C0)}parseStatement(d,N){if(this.state.strict&&this.match(px.name)&&this.state.value===\"interface\"){const _1=this.lookahead();if(_1.type===px.name||Bs(_1.value)){const jx=this.startNode();return this.next(),this.flowParseInterface(jx)}}else if(this.shouldParseEnums()&&this.isContextual(\"enum\")){const _1=this.startNode();return this.next(),this.flowParseEnumDeclaration(_1)}const C0=super.parseStatement(d,N);return this.flowPragma!==void 0||this.isValidDirective(C0)||(this.flowPragma=null),C0}parseExpressionStatement(d,N){if(N.type===\"Identifier\"){if(N.name===\"declare\"){if(this.match(px._class)||this.match(px.name)||this.match(px._function)||this.match(px._var)||this.match(px._export))return this.flowParseDeclare(d)}else if(this.match(px.name)){if(N.name===\"interface\")return this.flowParseInterface(d);if(N.name===\"type\")return this.flowParseTypeAlias(d);if(N.name===\"opaque\")return this.flowParseOpaqueType(d,!1)}}return super.parseExpressionStatement(d,N)}shouldParseExportDeclaration(){return this.isContextual(\"type\")||this.isContextual(\"interface\")||this.isContextual(\"opaque\")||this.shouldParseEnums()&&this.isContextual(\"enum\")||super.shouldParseExportDeclaration()}isExportDefaultSpecifier(){return(!this.match(px.name)||!(this.state.value===\"type\"||this.state.value===\"interface\"||this.state.value===\"opaque\"||this.shouldParseEnums()&&this.state.value===\"enum\"))&&super.isExportDefaultSpecifier()}parseExportDefaultExpression(){if(this.shouldParseEnums()&&this.isContextual(\"enum\")){const d=this.startNode();return this.next(),this.flowParseEnumDeclaration(d)}return super.parseExportDefaultExpression()}parseConditional(d,N,C0,_1){if(!this.match(px.question))return d;if(_1){const Bo=this.tryParse(()=>super.parseConditional(d,N,C0));return Bo.node?(Bo.error&&(this.state=Bo.failState),Bo.node):(_1.start=Bo.error.pos||this.state.start,d)}this.expect(px.question);const jx=this.state.clone(),We=this.state.noArrowAt,mt=this.startNodeAt(N,C0);let{consequent:$t,failed:Zn}=this.tryParseConditionalConsequent(),[_i,Va]=this.getArrowLikeExpressions($t);if(Zn||Va.length>0){const Bo=[...We];if(Va.length>0){this.state=jx,this.state.noArrowAt=Bo;for(let Rt=0;Rt<Va.length;Rt++)Bo.push(Va[Rt].start);({consequent:$t,failed:Zn}=this.tryParseConditionalConsequent()),[_i,Va]=this.getArrowLikeExpressions($t)}Zn&&_i.length>1&&this.raise(jx.start,bl.AmbiguousConditionalArrow),Zn&&_i.length===1&&(this.state=jx,this.state.noArrowAt=Bo.concat(_i[0].start),{consequent:$t,failed:Zn}=this.tryParseConditionalConsequent())}return this.getArrowLikeExpressions($t,!0),this.state.noArrowAt=We,this.expect(px.colon),mt.test=d,mt.consequent=$t,mt.alternate=this.forwardNoArrowParamsConversionAt(mt,()=>this.parseMaybeAssign(void 0,void 0,void 0)),this.finishNode(mt,\"ConditionalExpression\")}tryParseConditionalConsequent(){this.state.noArrowParamsConversionAt.push(this.state.start);const d=this.parseMaybeAssignAllowIn(),N=!this.match(px.colon);return this.state.noArrowParamsConversionAt.pop(),{consequent:d,failed:N}}getArrowLikeExpressions(d,N){const C0=[d],_1=[];for(;C0.length!==0;){const jx=C0.pop();jx.type===\"ArrowFunctionExpression\"?(jx.typeParameters||!jx.returnType?this.finishArrowValidation(jx):_1.push(jx),C0.push(jx.body)):jx.type===\"ConditionalExpression\"&&(C0.push(jx.consequent),C0.push(jx.alternate))}return N?(_1.forEach(jx=>this.finishArrowValidation(jx)),[_1,[]]):function(jx,We){const mt=[],$t=[];for(let Zn=0;Zn<jx.length;Zn++)(We(jx[Zn],Zn,jx)?mt:$t).push(jx[Zn]);return[mt,$t]}(_1,jx=>jx.params.every(We=>this.isAssignable(We,!0)))}finishArrowValidation(d){var N;this.toAssignableList(d.params,(N=d.extra)==null?void 0:N.trailingComma,!1),this.scope.enter(6),super.checkParams(d,!1,!0),this.scope.exit()}forwardNoArrowParamsConversionAt(d,N){let C0;return this.state.noArrowParamsConversionAt.indexOf(d.start)!==-1?(this.state.noArrowParamsConversionAt.push(this.state.start),C0=N(),this.state.noArrowParamsConversionAt.pop()):C0=N(),C0}parseParenItem(d,N,C0){if(d=super.parseParenItem(d,N,C0),this.eat(px.question)&&(d.optional=!0,this.resetEndLocation(d)),this.match(px.colon)){const _1=this.startNodeAt(N,C0);return _1.expression=d,_1.typeAnnotation=this.flowParseTypeAnnotation(),this.finishNode(_1,\"TypeCastExpression\")}return d}assertModuleNodeAllowed(d){d.type===\"ImportDeclaration\"&&(d.importKind===\"type\"||d.importKind===\"typeof\")||d.type===\"ExportNamedDeclaration\"&&d.exportKind===\"type\"||d.type===\"ExportAllDeclaration\"&&d.exportKind===\"type\"||super.assertModuleNodeAllowed(d)}parseExport(d){const N=super.parseExport(d);return N.type!==\"ExportNamedDeclaration\"&&N.type!==\"ExportAllDeclaration\"||(N.exportKind=N.exportKind||\"value\"),N}parseExportDeclaration(d){if(this.isContextual(\"type\")){d.exportKind=\"type\";const N=this.startNode();return this.next(),this.match(px.braceL)?(d.specifiers=this.parseExportSpecifiers(),this.parseExportFrom(d),null):this.flowParseTypeAlias(N)}if(this.isContextual(\"opaque\")){d.exportKind=\"type\";const N=this.startNode();return this.next(),this.flowParseOpaqueType(N,!1)}if(this.isContextual(\"interface\")){d.exportKind=\"type\";const N=this.startNode();return this.next(),this.flowParseInterface(N)}if(this.shouldParseEnums()&&this.isContextual(\"enum\")){d.exportKind=\"value\";const N=this.startNode();return this.next(),this.flowParseEnumDeclaration(N)}return super.parseExportDeclaration(d)}eatExportStar(d){return!!super.eatExportStar(...arguments)||!(!this.isContextual(\"type\")||this.lookahead().type!==px.star)&&(d.exportKind=\"type\",this.next(),this.next(),!0)}maybeParseExportNamespaceSpecifier(d){const N=this.state.start,C0=super.maybeParseExportNamespaceSpecifier(d);return C0&&d.exportKind===\"type\"&&this.unexpected(N),C0}parseClassId(d,N,C0){super.parseClassId(d,N,C0),this.isRelational(\"<\")&&(d.typeParameters=this.flowParseTypeParameterDeclaration())}parseClassMember(d,N,C0){const _1=this.state.start;if(this.isContextual(\"declare\")){if(this.parseClassMemberFromModifier(d,N))return;N.declare=!0}super.parseClassMember(d,N,C0),N.declare&&(N.type!==\"ClassProperty\"&&N.type!==\"ClassPrivateProperty\"&&N.type!==\"PropertyDefinition\"?this.raise(_1,bl.DeclareClassElement):N.value&&this.raise(N.value.start,bl.DeclareClassFieldInitializer))}isIterator(d){return d===\"iterator\"||d===\"asyncIterator\"}readIterator(){const d=super.readWord1(),N=\"@@\"+d;this.isIterator(d)&&this.state.inType||this.raise(this.state.pos,pt.InvalidIdentifier,N),this.finishToken(px.name,N)}getTokenFromCode(d){const N=this.input.charCodeAt(this.state.pos+1);return d===123&&N===124?this.finishOp(px.braceBarL,2):!this.state.inType||d!==62&&d!==60?this.state.inType&&d===63?N===46?this.finishOp(px.questionDot,2):this.finishOp(px.question,1):function(C0,_1){return C0===64&&_1===64}(d,N)?(this.state.pos+=2,this.readIterator()):super.getTokenFromCode(d):this.finishOp(px.relational,1)}isAssignable(d,N){switch(d.type){case\"Identifier\":case\"ObjectPattern\":case\"ArrayPattern\":case\"AssignmentPattern\":return!0;case\"ObjectExpression\":{const C0=d.properties.length-1;return d.properties.every((_1,jx)=>_1.type!==\"ObjectMethod\"&&(jx===C0||_1.type===\"SpreadElement\")&&this.isAssignable(_1))}case\"ObjectProperty\":return this.isAssignable(d.value);case\"SpreadElement\":return this.isAssignable(d.argument);case\"ArrayExpression\":return d.elements.every(C0=>this.isAssignable(C0));case\"AssignmentExpression\":return d.operator===\"=\";case\"ParenthesizedExpression\":case\"TypeCastExpression\":return this.isAssignable(d.expression);case\"MemberExpression\":case\"OptionalMemberExpression\":return!N;default:return!1}}toAssignable(d,N=!1){return d.type===\"TypeCastExpression\"?super.toAssignable(this.typeCastToParameter(d),N):super.toAssignable(d,N)}toAssignableList(d,N,C0){for(let _1=0;_1<d.length;_1++){const jx=d[_1];(jx==null?void 0:jx.type)===\"TypeCastExpression\"&&(d[_1]=this.typeCastToParameter(jx))}return super.toAssignableList(d,N,C0)}toReferencedList(d,N){for(let _1=0;_1<d.length;_1++){var C0;const jx=d[_1];!jx||jx.type!==\"TypeCastExpression\"||(C0=jx.extra)!=null&&C0.parenthesized||!(d.length>1)&&N||this.raise(jx.typeAnnotation.start,bl.TypeCastInPattern)}return d}parseArrayLike(d,N,C0,_1){const jx=super.parseArrayLike(d,N,C0,_1);return N&&!this.state.maybeInArrowParameters&&this.toReferencedList(jx.elements),jx}checkLVal(d,...N){if(d.type!==\"TypeCastExpression\")return super.checkLVal(d,...N)}parseClassProperty(d){return this.match(px.colon)&&(d.typeAnnotation=this.flowParseTypeAnnotation()),super.parseClassProperty(d)}parseClassPrivateProperty(d){return this.match(px.colon)&&(d.typeAnnotation=this.flowParseTypeAnnotation()),super.parseClassPrivateProperty(d)}isClassMethod(){return this.isRelational(\"<\")||super.isClassMethod()}isClassProperty(){return this.match(px.colon)||super.isClassProperty()}isNonstaticConstructor(d){return!this.match(px.colon)&&super.isNonstaticConstructor(d)}pushClassMethod(d,N,C0,_1,jx,We){if(N.variance&&this.unexpected(N.variance.start),delete N.variance,this.isRelational(\"<\")&&(N.typeParameters=this.flowParseTypeParameterDeclaration()),super.pushClassMethod(d,N,C0,_1,jx,We),N.params&&jx){const mt=N.params;mt.length>0&&this.isThisParam(mt[0])&&this.raise(N.start,bl.ThisParamBannedInConstructor)}else if(N.type===\"MethodDefinition\"&&jx&&N.value.params){const mt=N.value.params;mt.length>0&&this.isThisParam(mt[0])&&this.raise(N.start,bl.ThisParamBannedInConstructor)}}pushClassPrivateMethod(d,N,C0,_1){N.variance&&this.unexpected(N.variance.start),delete N.variance,this.isRelational(\"<\")&&(N.typeParameters=this.flowParseTypeParameterDeclaration()),super.pushClassPrivateMethod(d,N,C0,_1)}parseClassSuper(d){if(super.parseClassSuper(d),d.superClass&&this.isRelational(\"<\")&&(d.superTypeParameters=this.flowParseTypeParameterInstantiation()),this.isContextual(\"implements\")){this.next();const N=d.implements=[];do{const C0=this.startNode();C0.id=this.flowParseRestrictedIdentifier(!0),this.isRelational(\"<\")?C0.typeParameters=this.flowParseTypeParameterInstantiation():C0.typeParameters=null,N.push(this.finishNode(C0,\"ClassImplements\"))}while(this.eat(px.comma))}}checkGetterSetterParams(d){super.checkGetterSetterParams(d);const N=this.getObjectOrClassMethodParams(d);if(N.length>0){const C0=N[0];this.isThisParam(C0)&&d.kind===\"get\"?this.raise(C0.start,bl.GetterMayNotHaveThisParam):this.isThisParam(C0)&&this.raise(C0.start,bl.SetterMayNotHaveThisParam)}}parsePropertyName(d,N){const C0=this.flowParseVariance(),_1=super.parsePropertyName(d,N);return d.variance=C0,_1}parseObjPropValue(d,N,C0,_1,jx,We,mt,$t){let Zn;d.variance&&this.unexpected(d.variance.start),delete d.variance,this.isRelational(\"<\")&&!mt&&(Zn=this.flowParseTypeParameterDeclaration(),this.match(px.parenL)||this.unexpected()),super.parseObjPropValue(d,N,C0,_1,jx,We,mt,$t),Zn&&((d.value||d).typeParameters=Zn)}parseAssignableListItemTypes(d){return this.eat(px.question)&&(d.type!==\"Identifier\"&&this.raise(d.start,bl.OptionalBindingPattern),this.isThisParam(d)&&this.raise(d.start,bl.ThisParamMayNotBeOptional),d.optional=!0),this.match(px.colon)?d.typeAnnotation=this.flowParseTypeAnnotation():this.isThisParam(d)&&this.raise(d.start,bl.ThisParamAnnotationRequired),this.match(px.eq)&&this.isThisParam(d)&&this.raise(d.start,bl.ThisParamNoDefault),this.resetEndLocation(d),d}parseMaybeDefault(d,N,C0){const _1=super.parseMaybeDefault(d,N,C0);return _1.type===\"AssignmentPattern\"&&_1.typeAnnotation&&_1.right.start<_1.typeAnnotation.start&&this.raise(_1.typeAnnotation.start,bl.TypeBeforeInitializer),_1}shouldParseDefaultImport(d){return nf(d)?Ts(this.state):super.shouldParseDefaultImport(d)}parseImportSpecifierLocal(d,N,C0,_1){N.local=nf(d)?this.flowParseRestrictedIdentifier(!0,!0):this.parseIdentifier(),this.checkLVal(N.local,_1,9),d.specifiers.push(this.finishNode(N,C0))}maybeParseDefaultImportSpecifier(d){d.importKind=\"value\";let N=null;if(this.match(px._typeof)?N=\"typeof\":this.isContextual(\"type\")&&(N=\"type\"),N){const C0=this.lookahead();N===\"type\"&&C0.type===px.star&&this.unexpected(C0.start),(Ts(C0)||C0.type===px.braceL||C0.type===px.star)&&(this.next(),d.importKind=N)}return super.maybeParseDefaultImportSpecifier(d)}parseImportSpecifier(d){const N=this.startNode(),C0=this.match(px.string),_1=this.parseModuleExportName();let jx=null;_1.type===\"Identifier\"&&(_1.name===\"type\"?jx=\"type\":_1.name===\"typeof\"&&(jx=\"typeof\"));let We=!1;if(this.isContextual(\"as\")&&!this.isLookaheadContextual(\"as\")){const Zn=this.parseIdentifier(!0);jx===null||this.match(px.name)||this.state.type.keyword?(N.imported=_1,N.importKind=null,N.local=this.parseIdentifier()):(N.imported=Zn,N.importKind=jx,N.local=Zn.__clone())}else if(jx!==null&&(this.match(px.name)||this.state.type.keyword))N.imported=this.parseIdentifier(!0),N.importKind=jx,this.eatContextual(\"as\")?N.local=this.parseIdentifier():(We=!0,N.local=N.imported.__clone());else{if(C0)throw this.raise(N.start,pt.ImportBindingIsString,_1.value);We=!0,N.imported=_1,N.importKind=null,N.local=N.imported.__clone()}const mt=nf(d),$t=nf(N);mt&&$t&&this.raise(N.start,bl.ImportTypeShorthandOnlyInPureImport),(mt||$t)&&this.checkReservedType(N.local.name,N.local.start,!0),!We||mt||$t||this.checkReservedWord(N.local.name,N.start,!0,!0),this.checkLVal(N.local,\"import specifier\",9),d.specifiers.push(this.finishNode(N,\"ImportSpecifier\"))}parseBindingAtom(){switch(this.state.type){case px._this:return this.parseIdentifier(!0);default:return super.parseBindingAtom()}}parseFunctionParams(d,N){const C0=d.kind;C0!==\"get\"&&C0!==\"set\"&&this.isRelational(\"<\")&&(d.typeParameters=this.flowParseTypeParameterDeclaration()),super.parseFunctionParams(d,N)}parseVarId(d,N){super.parseVarId(d,N),this.match(px.colon)&&(d.id.typeAnnotation=this.flowParseTypeAnnotation(),this.resetEndLocation(d.id))}parseAsyncArrowFromCallExpression(d,N){if(this.match(px.colon)){const C0=this.state.noAnonFunctionType;this.state.noAnonFunctionType=!0,d.returnType=this.flowParseTypeAnnotation(),this.state.noAnonFunctionType=C0}return super.parseAsyncArrowFromCallExpression(d,N)}shouldParseAsyncArrow(){return this.match(px.colon)||super.shouldParseAsyncArrow()}parseMaybeAssign(d,N,C0){var _1;let jx,We=null;if(this.hasPlugin(\"jsx\")&&(this.match(px.jsxTagStart)||this.isRelational(\"<\"))){if(We=this.state.clone(),jx=this.tryParse(()=>super.parseMaybeAssign(d,N,C0),We),!jx.error)return jx.node;const{context:Zn}=this.state;Zn[Zn.length-1]===Yx.j_oTag?Zn.length-=2:Zn[Zn.length-1]===Yx.j_expr&&(Zn.length-=1)}if((_1=jx)!=null&&_1.error||this.isRelational(\"<\")){var mt,$t;let Zn;We=We||this.state.clone();const _i=this.tryParse(Bo=>{var Rt;Zn=this.flowParseTypeParameterDeclaration();const Xs=this.forwardNoArrowParamsConversionAt(Zn,()=>{const jc=super.parseMaybeAssign(d,N,C0);return this.resetStartLocationFromNode(jc,Zn),jc});Xs.type!==\"ArrowFunctionExpression\"&&(Rt=Xs.extra)!=null&&Rt.parenthesized&&Bo();const ll=this.maybeUnwrapTypeCastExpression(Xs);return ll.typeParameters=Zn,this.resetStartLocationFromNode(ll,Zn),Xs},We);let Va=null;if(_i.node&&this.maybeUnwrapTypeCastExpression(_i.node).type===\"ArrowFunctionExpression\"){if(!_i.error&&!_i.aborted)return _i.node.async&&this.raise(Zn.start,bl.UnexpectedTypeParameterBeforeAsyncArrowFunction),_i.node;Va=_i.node}if((mt=jx)!=null&&mt.node)return this.state=jx.failState,jx.node;if(Va)return this.state=_i.failState,Va;throw($t=jx)!=null&&$t.thrown?jx.error:_i.thrown?_i.error:this.raise(Zn.start,bl.UnexpectedTokenAfterTypeParameter)}return super.parseMaybeAssign(d,N,C0)}parseArrow(d){if(this.match(px.colon)){const N=this.tryParse(()=>{const C0=this.state.noAnonFunctionType;this.state.noAnonFunctionType=!0;const _1=this.startNode();return[_1.typeAnnotation,d.predicate]=this.flowParseTypeAndPredicateInitialiser(),this.state.noAnonFunctionType=C0,this.canInsertSemicolon()&&this.unexpected(),this.match(px.arrow)||this.unexpected(),_1});if(N.thrown)return null;N.error&&(this.state=N.failState),d.returnType=N.node.typeAnnotation?this.finishNode(N.node,\"TypeAnnotation\"):null}return super.parseArrow(d)}shouldParseArrow(){return this.match(px.colon)||super.shouldParseArrow()}setArrowFunctionParameters(d,N){this.state.noArrowParamsConversionAt.indexOf(d.start)!==-1?d.params=N:super.setArrowFunctionParameters(d,N)}checkParams(d,N,C0){if(!C0||this.state.noArrowParamsConversionAt.indexOf(d.start)===-1){for(let _1=0;_1<d.params.length;_1++)this.isThisParam(d.params[_1])&&_1>0&&this.raise(d.params[_1].start,bl.ThisParamMustBeFirst);return super.checkParams(...arguments)}}parseParenAndDistinguishExpression(d){return super.parseParenAndDistinguishExpression(d&&this.state.noArrowAt.indexOf(this.state.start)===-1)}parseSubscripts(d,N,C0,_1){if(d.type===\"Identifier\"&&d.name===\"async\"&&this.state.noArrowAt.indexOf(N)!==-1){this.next();const jx=this.startNodeAt(N,C0);jx.callee=d,jx.arguments=this.parseCallExpressionArguments(px.parenR,!1),d=this.finishNode(jx,\"CallExpression\")}else if(d.type===\"Identifier\"&&d.name===\"async\"&&this.isRelational(\"<\")){const jx=this.state.clone(),We=this.tryParse($t=>this.parseAsyncArrowWithTypeParameters(N,C0)||$t(),jx);if(!We.error&&!We.aborted)return We.node;const mt=this.tryParse(()=>super.parseSubscripts(d,N,C0,_1),jx);if(mt.node&&!mt.error)return mt.node;if(We.node)return this.state=We.failState,We.node;if(mt.node)return this.state=mt.failState,mt.node;throw We.error||mt.error}return super.parseSubscripts(d,N,C0,_1)}parseSubscript(d,N,C0,_1,jx){if(this.match(px.questionDot)&&this.isLookaheadToken_lt()){if(jx.optionalChainMember=!0,_1)return jx.stop=!0,d;this.next();const We=this.startNodeAt(N,C0);return We.callee=d,We.typeArguments=this.flowParseTypeParameterInstantiation(),this.expect(px.parenL),We.arguments=this.parseCallExpressionArguments(px.parenR,!1),We.optional=!0,this.finishCallExpression(We,!0)}if(!_1&&this.shouldParseTypes()&&this.isRelational(\"<\")){const We=this.startNodeAt(N,C0);We.callee=d;const mt=this.tryParse(()=>(We.typeArguments=this.flowParseTypeParameterInstantiationCallOrNew(),this.expect(px.parenL),We.arguments=this.parseCallExpressionArguments(px.parenR,!1),jx.optionalChainMember&&(We.optional=!1),this.finishCallExpression(We,jx.optionalChainMember)));if(mt.node)return mt.error&&(this.state=mt.failState),mt.node}return super.parseSubscript(d,N,C0,_1,jx)}parseNewArguments(d){let N=null;this.shouldParseTypes()&&this.isRelational(\"<\")&&(N=this.tryParse(()=>this.flowParseTypeParameterInstantiationCallOrNew()).node),d.typeArguments=N,super.parseNewArguments(d)}parseAsyncArrowWithTypeParameters(d,N){const C0=this.startNodeAt(d,N);if(this.parseFunctionParams(C0),this.parseArrow(C0))return this.parseArrowExpression(C0,void 0,!0)}readToken_mult_modulo(d){const N=this.input.charCodeAt(this.state.pos+1);if(d===42&&N===47&&this.state.hasFlowComment)return this.state.hasFlowComment=!1,this.state.pos+=2,void this.nextToken();super.readToken_mult_modulo(d)}readToken_pipe_amp(d){const N=this.input.charCodeAt(this.state.pos+1);d!==124||N!==125?super.readToken_pipe_amp(d):this.finishOp(px.braceBarR,2)}parseTopLevel(d,N){const C0=super.parseTopLevel(d,N);return this.state.hasFlowComment&&this.raise(this.state.pos,bl.UnterminatedFlowComment),C0}skipBlockComment(){if(this.hasPlugin(\"flowComments\")&&this.skipFlowComment())return this.state.hasFlowComment&&this.unexpected(null,bl.NestedFlowComment),this.hasFlowCommentCompletion(),this.state.pos+=this.skipFlowComment(),void(this.state.hasFlowComment=!0);if(this.state.hasFlowComment){const d=this.input.indexOf(\"*-/\",this.state.pos+=2);if(d===-1)throw this.raise(this.state.pos-2,pt.UnterminatedComment);this.state.pos=d+3}else super.skipBlockComment()}skipFlowComment(){const{pos:d}=this.state;let N=2;for(;[32,9].includes(this.input.charCodeAt(d+N));)N++;const C0=this.input.charCodeAt(N+d),_1=this.input.charCodeAt(N+d+1);return C0===58&&_1===58?N+2:this.input.slice(N+d,N+d+12)===\"flow-include\"?N+12:C0===58&&_1!==58&&N}hasFlowCommentCompletion(){if(this.input.indexOf(\"*/\",this.state.pos)===-1)throw this.raise(this.state.pos,pt.UnterminatedComment)}flowEnumErrorBooleanMemberNotInitialized(d,{enumName:N,memberName:C0}){this.raise(d,bl.EnumBooleanMemberNotInitialized,C0,N)}flowEnumErrorInvalidMemberName(d,{enumName:N,memberName:C0}){const _1=C0[0].toUpperCase()+C0.slice(1);this.raise(d,bl.EnumInvalidMemberName,C0,_1,N)}flowEnumErrorDuplicateMemberName(d,{enumName:N,memberName:C0}){this.raise(d,bl.EnumDuplicateMemberName,C0,N)}flowEnumErrorInconsistentMemberValues(d,{enumName:N}){this.raise(d,bl.EnumInconsistentMemberValues,N)}flowEnumErrorInvalidExplicitType(d,{enumName:N,suppliedType:C0}){return this.raise(d,C0===null?bl.EnumInvalidExplicitTypeUnknownSupplied:bl.EnumInvalidExplicitType,N,C0)}flowEnumErrorInvalidMemberInitializer(d,{enumName:N,explicitType:C0,memberName:_1}){let jx=null;switch(C0){case\"boolean\":case\"number\":case\"string\":jx=bl.EnumInvalidMemberInitializerPrimaryType;break;case\"symbol\":jx=bl.EnumInvalidMemberInitializerSymbolType;break;default:jx=bl.EnumInvalidMemberInitializerUnknownType}return this.raise(d,jx,N,_1,C0)}flowEnumErrorNumberMemberNotInitialized(d,{enumName:N,memberName:C0}){this.raise(d,bl.EnumNumberMemberNotInitialized,N,C0)}flowEnumErrorStringMemberInconsistentlyInitailized(d,{enumName:N}){this.raise(d,bl.EnumStringMemberInconsistentlyInitailized,N)}flowEnumMemberInit(){const d=this.state.start,N=()=>this.match(px.comma)||this.match(px.braceR);switch(this.state.type){case px.num:{const C0=this.parseNumericLiteral(this.state.value);return N()?{type:\"number\",pos:C0.start,value:C0}:{type:\"invalid\",pos:d}}case px.string:{const C0=this.parseStringLiteral(this.state.value);return N()?{type:\"string\",pos:C0.start,value:C0}:{type:\"invalid\",pos:d}}case px._true:case px._false:{const C0=this.parseBooleanLiteral(this.match(px._true));return N()?{type:\"boolean\",pos:C0.start,value:C0}:{type:\"invalid\",pos:d}}default:return{type:\"invalid\",pos:d}}}flowEnumMemberRaw(){const d=this.state.start;return{id:this.parseIdentifier(!0),init:this.eat(px.eq)?this.flowEnumMemberInit():{type:\"none\",pos:d}}}flowEnumCheckExplicitTypeMismatch(d,N,C0){const{explicitType:_1}=N;_1!==null&&_1!==C0&&this.flowEnumErrorInvalidMemberInitializer(d,N)}flowEnumMembers({enumName:d,explicitType:N}){const C0=new Set,_1={booleanMembers:[],numberMembers:[],stringMembers:[],defaultedMembers:[]};let jx=!1;for(;!this.match(px.braceR);){if(this.eat(px.ellipsis)){jx=!0;break}const We=this.startNode(),{id:mt,init:$t}=this.flowEnumMemberRaw(),Zn=mt.name;if(Zn===\"\")continue;/^[a-z]/.test(Zn)&&this.flowEnumErrorInvalidMemberName(mt.start,{enumName:d,memberName:Zn}),C0.has(Zn)&&this.flowEnumErrorDuplicateMemberName(mt.start,{enumName:d,memberName:Zn}),C0.add(Zn);const _i={enumName:d,explicitType:N,memberName:Zn};switch(We.id=mt,$t.type){case\"boolean\":this.flowEnumCheckExplicitTypeMismatch($t.pos,_i,\"boolean\"),We.init=$t.value,_1.booleanMembers.push(this.finishNode(We,\"EnumBooleanMember\"));break;case\"number\":this.flowEnumCheckExplicitTypeMismatch($t.pos,_i,\"number\"),We.init=$t.value,_1.numberMembers.push(this.finishNode(We,\"EnumNumberMember\"));break;case\"string\":this.flowEnumCheckExplicitTypeMismatch($t.pos,_i,\"string\"),We.init=$t.value,_1.stringMembers.push(this.finishNode(We,\"EnumStringMember\"));break;case\"invalid\":throw this.flowEnumErrorInvalidMemberInitializer($t.pos,_i);case\"none\":switch(N){case\"boolean\":this.flowEnumErrorBooleanMemberNotInitialized($t.pos,_i);break;case\"number\":this.flowEnumErrorNumberMemberNotInitialized($t.pos,_i);break;default:_1.defaultedMembers.push(this.finishNode(We,\"EnumDefaultedMember\"))}}this.match(px.braceR)||this.expect(px.comma)}return{members:_1,hasUnknownMembers:jx}}flowEnumStringMembers(d,N,{enumName:C0}){if(d.length===0)return N;if(N.length===0)return d;if(N.length>d.length){for(const _1 of d)this.flowEnumErrorStringMemberInconsistentlyInitailized(_1.start,{enumName:C0});return N}for(const _1 of N)this.flowEnumErrorStringMemberInconsistentlyInitailized(_1.start,{enumName:C0});return d}flowEnumParseExplicitType({enumName:d}){if(this.eatContextual(\"of\")){if(!this.match(px.name))throw this.flowEnumErrorInvalidExplicitType(this.state.start,{enumName:d,suppliedType:null});const{value:N}=this.state;return this.next(),N!==\"boolean\"&&N!==\"number\"&&N!==\"string\"&&N!==\"symbol\"&&this.flowEnumErrorInvalidExplicitType(this.state.start,{enumName:d,suppliedType:N}),N}return null}flowEnumBody(d,{enumName:N,nameLoc:C0}){const _1=this.flowEnumParseExplicitType({enumName:N});this.expect(px.braceL);const{members:jx,hasUnknownMembers:We}=this.flowEnumMembers({enumName:N,explicitType:_1});switch(d.hasUnknownMembers=We,_1){case\"boolean\":return d.explicitType=!0,d.members=jx.booleanMembers,this.expect(px.braceR),this.finishNode(d,\"EnumBooleanBody\");case\"number\":return d.explicitType=!0,d.members=jx.numberMembers,this.expect(px.braceR),this.finishNode(d,\"EnumNumberBody\");case\"string\":return d.explicitType=!0,d.members=this.flowEnumStringMembers(jx.stringMembers,jx.defaultedMembers,{enumName:N}),this.expect(px.braceR),this.finishNode(d,\"EnumStringBody\");case\"symbol\":return d.members=jx.defaultedMembers,this.expect(px.braceR),this.finishNode(d,\"EnumSymbolBody\");default:{const mt=()=>(d.members=[],this.expect(px.braceR),this.finishNode(d,\"EnumStringBody\"));d.explicitType=!1;const $t=jx.booleanMembers.length,Zn=jx.numberMembers.length,_i=jx.stringMembers.length,Va=jx.defaultedMembers.length;if($t||Zn||_i||Va){if($t||Zn){if(!Zn&&!_i&&$t>=Va){for(const Bo of jx.defaultedMembers)this.flowEnumErrorBooleanMemberNotInitialized(Bo.start,{enumName:N,memberName:Bo.id.name});return d.members=jx.booleanMembers,this.expect(px.braceR),this.finishNode(d,\"EnumBooleanBody\")}if(!$t&&!_i&&Zn>=Va){for(const Bo of jx.defaultedMembers)this.flowEnumErrorNumberMemberNotInitialized(Bo.start,{enumName:N,memberName:Bo.id.name});return d.members=jx.numberMembers,this.expect(px.braceR),this.finishNode(d,\"EnumNumberBody\")}return this.flowEnumErrorInconsistentMemberValues(C0,{enumName:N}),mt()}return d.members=this.flowEnumStringMembers(jx.stringMembers,jx.defaultedMembers,{enumName:N}),this.expect(px.braceR),this.finishNode(d,\"EnumStringBody\")}return mt()}}}flowParseEnumDeclaration(d){const N=this.parseIdentifier();return d.id=N,d.body=this.flowEnumBody(this.startNode(),{enumName:N.name,nameLoc:N.start}),this.finishNode(d,\"EnumDeclaration\")}isLookaheadToken_lt(){const d=this.nextTokenStart();if(this.input.charCodeAt(d)===60){const N=this.input.charCodeAt(d+1);return N!==60&&N!==61}return!1}maybeUnwrapTypeCastExpression(d){return d.type===\"TypeCastExpression\"?d.expression:d}},typescript:B0=>class extends B0{getScopeHandler(){return Hd}tsIsIdentifier(){return this.match(px.name)}tsTokenCanFollowModifier(){return(this.match(px.bracketL)||this.match(px.braceL)||this.match(px.star)||this.match(px.ellipsis)||this.match(px.privateName)||this.isLiteralPropertyName())&&!this.hasPrecedingLineBreak()}tsNextTokenCanFollowModifier(){return this.next(),this.tsTokenCanFollowModifier()}tsParseModifier(d){if(!this.match(px.name))return;const N=this.state.value;return d.indexOf(N)!==-1&&this.tsTryParse(this.tsNextTokenCanFollowModifier.bind(this))?N:void 0}tsParseModifiers(d,N,C0,_1){const jx=(mt,$t,Zn,_i)=>{$t===Zn&&d[_i]&&this.raise(mt,wu.InvalidModifiersOrder,Zn,_i)},We=(mt,$t,Zn,_i)=>{(d[Zn]&&$t===_i||d[_i]&&$t===Zn)&&this.raise(mt,wu.IncompatibleModifiers,Zn,_i)};for(;;){const mt=this.state.start,$t=this.tsParseModifier(N.concat(C0!=null?C0:[]));if(!$t)break;Hp($t)?d.accessibility?this.raise(mt,wu.DuplicateAccessibilityModifier):(jx(mt,$t,$t,\"override\"),jx(mt,$t,$t,\"static\"),jx(mt,$t,$t,\"readonly\"),d.accessibility=$t):(Object.hasOwnProperty.call(d,$t)?this.raise(mt,wu.DuplicateModifier,$t):(jx(mt,$t,\"static\",\"readonly\"),jx(mt,$t,\"static\",\"override\"),jx(mt,$t,\"override\",\"readonly\"),jx(mt,$t,\"abstract\",\"override\"),We(mt,$t,\"declare\",\"override\"),We(mt,$t,\"static\",\"abstract\")),d[$t]=!0),C0!=null&&C0.includes($t)&&this.raise(mt,_1,$t)}}tsIsListTerminator(d){switch(d){case\"EnumMembers\":case\"TypeMembers\":return this.match(px.braceR);case\"HeritageClauseElement\":return this.match(px.braceL);case\"TupleElementTypes\":return this.match(px.bracketR);case\"TypeParametersOrArguments\":return this.isRelational(\">\")}throw new Error(\"Unreachable\")}tsParseList(d,N){const C0=[];for(;!this.tsIsListTerminator(d);)C0.push(N());return C0}tsParseDelimitedList(d,N){return mF(this.tsParseDelimitedListWorker(d,N,!0))}tsParseDelimitedListWorker(d,N,C0){const _1=[];for(;!this.tsIsListTerminator(d);){const jx=N();if(jx==null)return;if(_1.push(jx),!this.eat(px.comma)){if(this.tsIsListTerminator(d))break;return void(C0&&this.expect(px.comma))}}return _1}tsParseBracketedList(d,N,C0,_1){_1||(C0?this.expect(px.bracketL):this.expectRelational(\"<\"));const jx=this.tsParseDelimitedList(d,N);return C0?this.expect(px.bracketR):this.expectRelational(\">\"),jx}tsParseImportType(){const d=this.startNode();return this.expect(px._import),this.expect(px.parenL),this.match(px.string)||this.raise(this.state.start,wu.UnsupportedImportTypeArgument),d.argument=this.parseExprAtom(),this.expect(px.parenR),this.eat(px.dot)&&(d.qualifier=this.tsParseEntityName(!0)),this.isRelational(\"<\")&&(d.typeParameters=this.tsParseTypeArguments()),this.finishNode(d,\"TSImportType\")}tsParseEntityName(d){let N=this.parseIdentifier();for(;this.eat(px.dot);){const C0=this.startNodeAtNode(N);C0.left=N,C0.right=this.parseIdentifier(d),N=this.finishNode(C0,\"TSQualifiedName\")}return N}tsParseTypeReference(){const d=this.startNode();return d.typeName=this.tsParseEntityName(!1),!this.hasPrecedingLineBreak()&&this.isRelational(\"<\")&&(d.typeParameters=this.tsParseTypeArguments()),this.finishNode(d,\"TSTypeReference\")}tsParseThisTypePredicate(d){this.next();const N=this.startNodeAtNode(d);return N.parameterName=d,N.typeAnnotation=this.tsParseTypeAnnotation(!1),N.asserts=!1,this.finishNode(N,\"TSTypePredicate\")}tsParseThisTypeNode(){const d=this.startNode();return this.next(),this.finishNode(d,\"TSThisType\")}tsParseTypeQuery(){const d=this.startNode();return this.expect(px._typeof),this.match(px._import)?d.exprName=this.tsParseImportType():d.exprName=this.tsParseEntityName(!0),this.finishNode(d,\"TSTypeQuery\")}tsParseTypeParameter(){const d=this.startNode();return d.name=this.parseIdentifierName(d.start),d.constraint=this.tsEatThenParseType(px._extends),d.default=this.tsEatThenParseType(px.eq),this.finishNode(d,\"TSTypeParameter\")}tsTryParseTypeParameters(){if(this.isRelational(\"<\"))return this.tsParseTypeParameters()}tsParseTypeParameters(){const d=this.startNode();return this.isRelational(\"<\")||this.match(px.jsxTagStart)?this.next():this.unexpected(),d.params=this.tsParseBracketedList(\"TypeParametersOrArguments\",this.tsParseTypeParameter.bind(this),!1,!0),d.params.length===0&&this.raise(d.start,wu.EmptyTypeParameters),this.finishNode(d,\"TSTypeParameterDeclaration\")}tsTryNextParseConstantContext(){return this.lookahead().type===px._const?(this.next(),this.tsParseTypeReference()):null}tsFillSignature(d,N){const C0=d===px.arrow;N.typeParameters=this.tsTryParseTypeParameters(),this.expect(px.parenL),N.parameters=this.tsParseBindingListForSignature(),(C0||this.match(d))&&(N.typeAnnotation=this.tsParseTypeOrTypePredicateAnnotation(d))}tsParseBindingListForSignature(){return this.parseBindingList(px.parenR,41).map(d=>(d.type!==\"Identifier\"&&d.type!==\"RestElement\"&&d.type!==\"ObjectPattern\"&&d.type!==\"ArrayPattern\"&&this.raise(d.start,wu.UnsupportedSignatureParameterKind,d.type),d))}tsParseTypeMemberSemicolon(){this.eat(px.comma)||this.isLineTerminator()||this.expect(px.semi)}tsParseSignatureMember(d,N){return this.tsFillSignature(px.colon,N),this.tsParseTypeMemberSemicolon(),this.finishNode(N,d)}tsIsUnambiguouslyIndexSignature(){return this.next(),this.eat(px.name)&&this.match(px.colon)}tsTryParseIndexSignature(d){if(!this.match(px.bracketL)||!this.tsLookAhead(this.tsIsUnambiguouslyIndexSignature.bind(this)))return;this.expect(px.bracketL);const N=this.parseIdentifier();N.typeAnnotation=this.tsParseTypeAnnotation(),this.resetEndLocation(N),this.expect(px.bracketR),d.parameters=[N];const C0=this.tsTryParseTypeAnnotation();return C0&&(d.typeAnnotation=C0),this.tsParseTypeMemberSemicolon(),this.finishNode(d,\"TSIndexSignature\")}tsParsePropertyOrMethodSignature(d,N){this.eat(px.question)&&(d.optional=!0);const C0=d;if(this.match(px.parenL)||this.isRelational(\"<\")){N&&this.raise(d.start,wu.ReadonlyForMethodSignature);const _1=C0;if(_1.kind&&this.isRelational(\"<\")&&this.raise(this.state.pos,wu.AccesorCannotHaveTypeParameters),this.tsFillSignature(px.colon,_1),this.tsParseTypeMemberSemicolon(),_1.kind===\"get\")_1.parameters.length>0&&(this.raise(this.state.pos,pt.BadGetterArity),this.isThisParam(_1.parameters[0])&&this.raise(this.state.pos,wu.AccesorCannotDeclareThisParameter));else if(_1.kind===\"set\"){if(_1.parameters.length!==1)this.raise(this.state.pos,pt.BadSetterArity);else{const jx=_1.parameters[0];this.isThisParam(jx)&&this.raise(this.state.pos,wu.AccesorCannotDeclareThisParameter),jx.type===\"Identifier\"&&jx.optional&&this.raise(this.state.pos,wu.SetAccesorCannotHaveOptionalParameter),jx.type===\"RestElement\"&&this.raise(this.state.pos,wu.SetAccesorCannotHaveRestParameter)}_1.typeAnnotation&&this.raise(_1.typeAnnotation.start,wu.SetAccesorCannotHaveReturnType)}else _1.kind=\"method\";return this.finishNode(_1,\"TSMethodSignature\")}{const _1=C0;N&&(_1.readonly=!0);const jx=this.tsTryParseTypeAnnotation();return jx&&(_1.typeAnnotation=jx),this.tsParseTypeMemberSemicolon(),this.finishNode(_1,\"TSPropertySignature\")}}tsParseTypeMember(){const d=this.startNode();if(this.match(px.parenL)||this.isRelational(\"<\"))return this.tsParseSignatureMember(\"TSCallSignatureDeclaration\",d);if(this.match(px._new)){const C0=this.startNode();return this.next(),this.match(px.parenL)||this.isRelational(\"<\")?this.tsParseSignatureMember(\"TSConstructSignatureDeclaration\",d):(d.key=this.createIdentifier(C0,\"new\"),this.tsParsePropertyOrMethodSignature(d,!1))}return this.tsParseModifiers(d,[\"readonly\"],[\"declare\",\"abstract\",\"private\",\"protected\",\"public\",\"static\",\"override\"],wu.InvalidModifierOnTypeMember),this.tsTryParseIndexSignature(d)||(this.parsePropertyName(d,!1),d.computed||d.key.type!==\"Identifier\"||d.key.name!==\"get\"&&d.key.name!==\"set\"||!this.tsTokenCanFollowModifier()||(d.kind=d.key.name,this.parsePropertyName(d,!1)),this.tsParsePropertyOrMethodSignature(d,!!d.readonly))}tsParseTypeLiteral(){const d=this.startNode();return d.members=this.tsParseObjectTypeMembers(),this.finishNode(d,\"TSTypeLiteral\")}tsParseObjectTypeMembers(){this.expect(px.braceL);const d=this.tsParseList(\"TypeMembers\",this.tsParseTypeMember.bind(this));return this.expect(px.braceR),d}tsIsStartOfMappedType(){return this.next(),this.eat(px.plusMin)?this.isContextual(\"readonly\"):(this.isContextual(\"readonly\")&&this.next(),!!this.match(px.bracketL)&&(this.next(),!!this.tsIsIdentifier()&&(this.next(),this.match(px._in))))}tsParseMappedTypeParameter(){const d=this.startNode();return d.name=this.parseIdentifierName(d.start),d.constraint=this.tsExpectThenParseType(px._in),this.finishNode(d,\"TSTypeParameter\")}tsParseMappedType(){const d=this.startNode();return this.expect(px.braceL),this.match(px.plusMin)?(d.readonly=this.state.value,this.next(),this.expectContextual(\"readonly\")):this.eatContextual(\"readonly\")&&(d.readonly=!0),this.expect(px.bracketL),d.typeParameter=this.tsParseMappedTypeParameter(),d.nameType=this.eatContextual(\"as\")?this.tsParseType():null,this.expect(px.bracketR),this.match(px.plusMin)?(d.optional=this.state.value,this.next(),this.expect(px.question)):this.eat(px.question)&&(d.optional=!0),d.typeAnnotation=this.tsTryParseType(),this.semicolon(),this.expect(px.braceR),this.finishNode(d,\"TSMappedType\")}tsParseTupleType(){const d=this.startNode();d.elementTypes=this.tsParseBracketedList(\"TupleElementTypes\",this.tsParseTupleElementType.bind(this),!0,!1);let N=!1,C0=null;return d.elementTypes.forEach(_1=>{var jx;let{type:We}=_1;!N||We===\"TSRestType\"||We===\"TSOptionalType\"||We===\"TSNamedTupleMember\"&&_1.optional||this.raise(_1.start,wu.OptionalTypeBeforeRequired),N=N||We===\"TSNamedTupleMember\"&&_1.optional||We===\"TSOptionalType\",We===\"TSRestType\"&&(We=(_1=_1.typeAnnotation).type);const mt=We===\"TSNamedTupleMember\";C0=(jx=C0)!=null?jx:mt,C0!==mt&&this.raise(_1.start,wu.MixedLabeledAndUnlabeledElements)}),this.finishNode(d,\"TSTupleType\")}tsParseTupleElementType(){const{start:d,startLoc:N}=this.state,C0=this.eat(px.ellipsis);let _1=this.tsParseType();const jx=this.eat(px.question);if(this.eat(px.colon)){const We=this.startNodeAtNode(_1);We.optional=jx,_1.type!==\"TSTypeReference\"||_1.typeParameters||_1.typeName.type!==\"Identifier\"?(this.raise(_1.start,wu.InvalidTupleMemberLabel),We.label=_1):We.label=_1.typeName,We.elementType=this.tsParseType(),_1=this.finishNode(We,\"TSNamedTupleMember\")}else if(jx){const We=this.startNodeAtNode(_1);We.typeAnnotation=_1,_1=this.finishNode(We,\"TSOptionalType\")}if(C0){const We=this.startNodeAt(d,N);We.typeAnnotation=_1,_1=this.finishNode(We,\"TSRestType\")}return _1}tsParseParenthesizedType(){const d=this.startNode();return this.expect(px.parenL),d.typeAnnotation=this.tsParseType(),this.expect(px.parenR),this.finishNode(d,\"TSParenthesizedType\")}tsParseFunctionOrConstructorType(d,N){const C0=this.startNode();return d===\"TSConstructorType\"&&(C0.abstract=!!N,N&&this.next(),this.next()),this.tsFillSignature(px.arrow,C0),this.finishNode(C0,d)}tsParseLiteralTypeNode(){const d=this.startNode();return d.literal=(()=>{switch(this.state.type){case px.num:case px.bigint:case px.string:case px._true:case px._false:return this.parseExprAtom();default:throw this.unexpected()}})(),this.finishNode(d,\"TSLiteralType\")}tsParseTemplateLiteralType(){const d=this.startNode();return d.literal=this.parseTemplate(!1),this.finishNode(d,\"TSLiteralType\")}parseTemplateSubstitution(){return this.state.inType?this.tsParseType():super.parseTemplateSubstitution()}tsParseThisTypeOrThisTypePredicate(){const d=this.tsParseThisTypeNode();return this.isContextual(\"is\")&&!this.hasPrecedingLineBreak()?this.tsParseThisTypePredicate(d):d}tsParseNonArrayType(){switch(this.state.type){case px.name:case px._void:case px._null:{const d=this.match(px._void)?\"TSVoidKeyword\":this.match(px._null)?\"TSNullKeyword\":function(N){switch(N){case\"any\":return\"TSAnyKeyword\";case\"boolean\":return\"TSBooleanKeyword\";case\"bigint\":return\"TSBigIntKeyword\";case\"never\":return\"TSNeverKeyword\";case\"number\":return\"TSNumberKeyword\";case\"object\":return\"TSObjectKeyword\";case\"string\":return\"TSStringKeyword\";case\"symbol\":return\"TSSymbolKeyword\";case\"undefined\":return\"TSUndefinedKeyword\";case\"unknown\":return\"TSUnknownKeyword\";default:return}}(this.state.value);if(d!==void 0&&this.lookaheadCharCode()!==46){const N=this.startNode();return this.next(),this.finishNode(N,d)}return this.tsParseTypeReference()}case px.string:case px.num:case px.bigint:case px._true:case px._false:return this.tsParseLiteralTypeNode();case px.plusMin:if(this.state.value===\"-\"){const d=this.startNode(),N=this.lookahead();if(N.type!==px.num&&N.type!==px.bigint)throw this.unexpected();return d.literal=this.parseMaybeUnary(),this.finishNode(d,\"TSLiteralType\")}break;case px._this:return this.tsParseThisTypeOrThisTypePredicate();case px._typeof:return this.tsParseTypeQuery();case px._import:return this.tsParseImportType();case px.braceL:return this.tsLookAhead(this.tsIsStartOfMappedType.bind(this))?this.tsParseMappedType():this.tsParseTypeLiteral();case px.bracketL:return this.tsParseTupleType();case px.parenL:return this.tsParseParenthesizedType();case px.backQuote:return this.tsParseTemplateLiteralType()}throw this.unexpected()}tsParseArrayTypeOrHigher(){let d=this.tsParseNonArrayType();for(;!this.hasPrecedingLineBreak()&&this.eat(px.bracketL);)if(this.match(px.bracketR)){const N=this.startNodeAtNode(d);N.elementType=d,this.expect(px.bracketR),d=this.finishNode(N,\"TSArrayType\")}else{const N=this.startNodeAtNode(d);N.objectType=d,N.indexType=this.tsParseType(),this.expect(px.bracketR),d=this.finishNode(N,\"TSIndexedAccessType\")}return d}tsParseTypeOperator(d){const N=this.startNode();return this.expectContextual(d),N.operator=d,N.typeAnnotation=this.tsParseTypeOperatorOrHigher(),d===\"readonly\"&&this.tsCheckTypeAnnotationForReadOnly(N),this.finishNode(N,\"TSTypeOperator\")}tsCheckTypeAnnotationForReadOnly(d){switch(d.typeAnnotation.type){case\"TSTupleType\":case\"TSArrayType\":return;default:this.raise(d.start,wu.UnexpectedReadonly)}}tsParseInferType(){const d=this.startNode();this.expectContextual(\"infer\");const N=this.startNode();return N.name=this.parseIdentifierName(N.start),d.typeParameter=this.finishNode(N,\"TSTypeParameter\"),this.finishNode(d,\"TSInferType\")}tsParseTypeOperatorOrHigher(){const d=[\"keyof\",\"unique\",\"readonly\"].find(N=>this.isContextual(N));return d?this.tsParseTypeOperator(d):this.isContextual(\"infer\")?this.tsParseInferType():this.tsParseArrayTypeOrHigher()}tsParseUnionOrIntersectionType(d,N,C0){const _1=this.startNode(),jx=this.eat(C0),We=[];do We.push(N());while(this.eat(C0));return We.length!==1||jx?(_1.types=We,this.finishNode(_1,d)):We[0]}tsParseIntersectionTypeOrHigher(){return this.tsParseUnionOrIntersectionType(\"TSIntersectionType\",this.tsParseTypeOperatorOrHigher.bind(this),px.bitwiseAND)}tsParseUnionTypeOrHigher(){return this.tsParseUnionOrIntersectionType(\"TSUnionType\",this.tsParseIntersectionTypeOrHigher.bind(this),px.bitwiseOR)}tsIsStartOfFunctionType(){return!!this.isRelational(\"<\")||this.match(px.parenL)&&this.tsLookAhead(this.tsIsUnambiguouslyStartOfFunctionType.bind(this))}tsSkipParameterStart(){if(this.match(px.name)||this.match(px._this))return this.next(),!0;if(this.match(px.braceL)){let d=1;for(this.next();d>0;)this.match(px.braceL)?++d:this.match(px.braceR)&&--d,this.next();return!0}if(this.match(px.bracketL)){let d=1;for(this.next();d>0;)this.match(px.bracketL)?++d:this.match(px.bracketR)&&--d,this.next();return!0}return!1}tsIsUnambiguouslyStartOfFunctionType(){return this.next(),!!(this.match(px.parenR)||this.match(px.ellipsis)||this.tsSkipParameterStart()&&(this.match(px.colon)||this.match(px.comma)||this.match(px.question)||this.match(px.eq)||this.match(px.parenR)&&(this.next(),this.match(px.arrow))))}tsParseTypeOrTypePredicateAnnotation(d){return this.tsInType(()=>{const N=this.startNode();this.expect(d);const C0=this.startNode(),_1=!!this.tsTryParse(this.tsParseTypePredicateAsserts.bind(this));if(_1&&this.match(px._this)){let mt=this.tsParseThisTypeOrThisTypePredicate();return mt.type===\"TSThisType\"?(C0.parameterName=mt,C0.asserts=!0,C0.typeAnnotation=null,mt=this.finishNode(C0,\"TSTypePredicate\")):(this.resetStartLocationFromNode(mt,C0),mt.asserts=!0),N.typeAnnotation=mt,this.finishNode(N,\"TSTypeAnnotation\")}const jx=this.tsIsIdentifier()&&this.tsTryParse(this.tsParseTypePredicatePrefix.bind(this));if(!jx)return _1?(C0.parameterName=this.parseIdentifier(),C0.asserts=_1,C0.typeAnnotation=null,N.typeAnnotation=this.finishNode(C0,\"TSTypePredicate\"),this.finishNode(N,\"TSTypeAnnotation\")):this.tsParseTypeAnnotation(!1,N);const We=this.tsParseTypeAnnotation(!1);return C0.parameterName=jx,C0.typeAnnotation=We,C0.asserts=_1,N.typeAnnotation=this.finishNode(C0,\"TSTypePredicate\"),this.finishNode(N,\"TSTypeAnnotation\")})}tsTryParseTypeOrTypePredicateAnnotation(){return this.match(px.colon)?this.tsParseTypeOrTypePredicateAnnotation(px.colon):void 0}tsTryParseTypeAnnotation(){return this.match(px.colon)?this.tsParseTypeAnnotation():void 0}tsTryParseType(){return this.tsEatThenParseType(px.colon)}tsParseTypePredicatePrefix(){const d=this.parseIdentifier();if(this.isContextual(\"is\")&&!this.hasPrecedingLineBreak())return this.next(),d}tsParseTypePredicateAsserts(){if(!this.match(px.name)||this.state.value!==\"asserts\"||this.hasPrecedingLineBreak())return!1;const d=this.state.containsEsc;return this.next(),!(!this.match(px.name)&&!this.match(px._this))&&(d&&this.raise(this.state.lastTokStart,pt.InvalidEscapedReservedWord,\"asserts\"),!0)}tsParseTypeAnnotation(d=!0,N=this.startNode()){return this.tsInType(()=>{d&&this.expect(px.colon),N.typeAnnotation=this.tsParseType()}),this.finishNode(N,\"TSTypeAnnotation\")}tsParseType(){sp(this.state.inType);const d=this.tsParseNonConditionalType();if(this.hasPrecedingLineBreak()||!this.eat(px._extends))return d;const N=this.startNodeAtNode(d);return N.checkType=d,N.extendsType=this.tsParseNonConditionalType(),this.expect(px.question),N.trueType=this.tsParseType(),this.expect(px.colon),N.falseType=this.tsParseType(),this.finishNode(N,\"TSConditionalType\")}isAbstractConstructorSignature(){return this.isContextual(\"abstract\")&&this.lookahead().type===px._new}tsParseNonConditionalType(){return this.tsIsStartOfFunctionType()?this.tsParseFunctionOrConstructorType(\"TSFunctionType\"):this.match(px._new)?this.tsParseFunctionOrConstructorType(\"TSConstructorType\"):this.isAbstractConstructorSignature()?this.tsParseFunctionOrConstructorType(\"TSConstructorType\",!0):this.tsParseUnionTypeOrHigher()}tsParseTypeAssertion(){const d=this.startNode(),N=this.tsTryNextParseConstantContext();return d.typeAnnotation=N||this.tsNextThenParseType(),this.expectRelational(\">\"),d.expression=this.parseMaybeUnary(),this.finishNode(d,\"TSTypeAssertion\")}tsParseHeritageClause(d){const N=this.state.start,C0=this.tsParseDelimitedList(\"HeritageClauseElement\",this.tsParseExpressionWithTypeArguments.bind(this));return C0.length||this.raise(N,wu.EmptyHeritageClauseType,d),C0}tsParseExpressionWithTypeArguments(){const d=this.startNode();return d.expression=this.tsParseEntityName(!1),this.isRelational(\"<\")&&(d.typeParameters=this.tsParseTypeArguments()),this.finishNode(d,\"TSExpressionWithTypeArguments\")}tsParseInterfaceDeclaration(d){d.id=this.parseIdentifier(),this.checkLVal(d.id,\"typescript interface declaration\",130),d.typeParameters=this.tsTryParseTypeParameters(),this.eat(px._extends)&&(d.extends=this.tsParseHeritageClause(\"extends\"));const N=this.startNode();return N.body=this.tsInType(this.tsParseObjectTypeMembers.bind(this)),d.body=this.finishNode(N,\"TSInterfaceBody\"),this.finishNode(d,\"TSInterfaceDeclaration\")}tsParseTypeAliasDeclaration(d){return d.id=this.parseIdentifier(),this.checkLVal(d.id,\"typescript type alias\",2),d.typeParameters=this.tsTryParseTypeParameters(),d.typeAnnotation=this.tsInType(()=>{if(this.expect(px.eq),this.isContextual(\"intrinsic\")&&this.lookahead().type!==px.dot){const N=this.startNode();return this.next(),this.finishNode(N,\"TSIntrinsicKeyword\")}return this.tsParseType()}),this.semicolon(),this.finishNode(d,\"TSTypeAliasDeclaration\")}tsInNoContext(d){const N=this.state.context;this.state.context=[N[0]];try{return d()}finally{this.state.context=N}}tsInType(d){const N=this.state.inType;this.state.inType=!0;try{return d()}finally{this.state.inType=N}}tsEatThenParseType(d){return this.match(d)?this.tsNextThenParseType():void 0}tsExpectThenParseType(d){return this.tsDoThenParseType(()=>this.expect(d))}tsNextThenParseType(){return this.tsDoThenParseType(()=>this.next())}tsDoThenParseType(d){return this.tsInType(()=>(d(),this.tsParseType()))}tsParseEnumMember(){const d=this.startNode();return d.id=this.match(px.string)?this.parseExprAtom():this.parseIdentifier(!0),this.eat(px.eq)&&(d.initializer=this.parseMaybeAssignAllowIn()),this.finishNode(d,\"TSEnumMember\")}tsParseEnumDeclaration(d,N){return N&&(d.const=!0),d.id=this.parseIdentifier(),this.checkLVal(d.id,\"typescript enum declaration\",N?779:267),this.expect(px.braceL),d.members=this.tsParseDelimitedList(\"EnumMembers\",this.tsParseEnumMember.bind(this)),this.expect(px.braceR),this.finishNode(d,\"TSEnumDeclaration\")}tsParseModuleBlock(){const d=this.startNode();return this.scope.enter(0),this.expect(px.braceL),this.parseBlockOrModuleBlockBody(d.body=[],void 0,!0,px.braceR),this.scope.exit(),this.finishNode(d,\"TSModuleBlock\")}tsParseModuleOrNamespaceDeclaration(d,N=!1){if(d.id=this.parseIdentifier(),N||this.checkLVal(d.id,\"module or namespace declaration\",1024),this.eat(px.dot)){const C0=this.startNode();this.tsParseModuleOrNamespaceDeclaration(C0,!0),d.body=C0}else this.scope.enter(ZF),this.prodParam.enter(0),d.body=this.tsParseModuleBlock(),this.prodParam.exit(),this.scope.exit();return this.finishNode(d,\"TSModuleDeclaration\")}tsParseAmbientExternalModuleDeclaration(d){return this.isContextual(\"global\")?(d.global=!0,d.id=this.parseIdentifier()):this.match(px.string)?d.id=this.parseExprAtom():this.unexpected(),this.match(px.braceL)?(this.scope.enter(ZF),this.prodParam.enter(0),d.body=this.tsParseModuleBlock(),this.prodParam.exit(),this.scope.exit()):this.semicolon(),this.finishNode(d,\"TSModuleDeclaration\")}tsParseImportEqualsDeclaration(d,N){d.isExport=N||!1,d.id=this.parseIdentifier(),this.checkLVal(d.id,\"import equals declaration\",9),this.expect(px.eq);const C0=this.tsParseModuleReference();return d.importKind===\"type\"&&C0.type!==\"TSExternalModuleReference\"&&this.raise(C0.start,wu.ImportAliasHasImportType),d.moduleReference=C0,this.semicolon(),this.finishNode(d,\"TSImportEqualsDeclaration\")}tsIsExternalModuleReference(){return this.isContextual(\"require\")&&this.lookaheadCharCode()===40}tsParseModuleReference(){return this.tsIsExternalModuleReference()?this.tsParseExternalModuleReference():this.tsParseEntityName(!1)}tsParseExternalModuleReference(){const d=this.startNode();if(this.expectContextual(\"require\"),this.expect(px.parenL),!this.match(px.string))throw this.unexpected();return d.expression=this.parseExprAtom(),this.expect(px.parenR),this.finishNode(d,\"TSExternalModuleReference\")}tsLookAhead(d){const N=this.state.clone(),C0=d();return this.state=N,C0}tsTryParseAndCatch(d){const N=this.tryParse(C0=>d()||C0());if(!N.aborted&&N.node)return N.error&&(this.state=N.failState),N.node}tsTryParse(d){const N=this.state.clone(),C0=d();return C0!==void 0&&C0!==!1?C0:void(this.state=N)}tsTryParseDeclare(d){if(this.isLineTerminator())return;let N,C0=this.state.type;return this.isContextual(\"let\")&&(C0=px._var,N=\"let\"),this.tsInAmbientContext(()=>{switch(C0){case px._function:return d.declare=!0,this.parseFunctionStatement(d,!1,!0);case px._class:return d.declare=!0,this.parseClass(d,!0,!1);case px._const:if(this.match(px._const)&&this.isLookaheadContextual(\"enum\"))return this.expect(px._const),this.expectContextual(\"enum\"),this.tsParseEnumDeclaration(d,!0);case px._var:return N=N||this.state.value,this.parseVarStatement(d,N);case px.name:{const _1=this.state.value;return _1===\"global\"?this.tsParseAmbientExternalModuleDeclaration(d):this.tsParseDeclaration(d,_1,!0)}}})}tsTryParseExportDeclaration(){return this.tsParseDeclaration(this.startNode(),this.state.value,!0)}tsParseExpressionStatement(d,N){switch(N.name){case\"declare\":{const C0=this.tsTryParseDeclare(d);if(C0)return C0.declare=!0,C0;break}case\"global\":if(this.match(px.braceL)){this.scope.enter(ZF),this.prodParam.enter(0);const C0=d;return C0.global=!0,C0.id=N,C0.body=this.tsParseModuleBlock(),this.scope.exit(),this.prodParam.exit(),this.finishNode(C0,\"TSModuleDeclaration\")}break;default:return this.tsParseDeclaration(d,N.name,!1)}}tsParseDeclaration(d,N,C0){switch(N){case\"abstract\":if(this.tsCheckLineTerminator(C0)&&(this.match(px._class)||this.match(px.name)))return this.tsParseAbstractDeclaration(d);break;case\"enum\":if(C0||this.match(px.name))return C0&&this.next(),this.tsParseEnumDeclaration(d,!1);break;case\"interface\":if(this.tsCheckLineTerminator(C0)&&this.match(px.name))return this.tsParseInterfaceDeclaration(d);break;case\"module\":if(this.tsCheckLineTerminator(C0)){if(this.match(px.string))return this.tsParseAmbientExternalModuleDeclaration(d);if(this.match(px.name))return this.tsParseModuleOrNamespaceDeclaration(d)}break;case\"namespace\":if(this.tsCheckLineTerminator(C0)&&this.match(px.name))return this.tsParseModuleOrNamespaceDeclaration(d);break;case\"type\":if(this.tsCheckLineTerminator(C0)&&this.match(px.name))return this.tsParseTypeAliasDeclaration(d)}}tsCheckLineTerminator(d){return d?!this.hasFollowingLineBreak()&&(this.next(),!0):!this.isLineTerminator()}tsTryParseGenericAsyncArrowFunction(d,N){if(!this.isRelational(\"<\"))return;const C0=this.state.maybeInArrowParameters;this.state.maybeInArrowParameters=!0;const _1=this.tsTryParseAndCatch(()=>{const jx=this.startNodeAt(d,N);return jx.typeParameters=this.tsParseTypeParameters(),super.parseFunctionParams(jx),jx.returnType=this.tsTryParseTypeOrTypePredicateAnnotation(),this.expect(px.arrow),jx});return this.state.maybeInArrowParameters=C0,_1?this.parseArrowExpression(_1,null,!0):void 0}tsParseTypeArguments(){const d=this.startNode();return d.params=this.tsInType(()=>this.tsInNoContext(()=>(this.expectRelational(\"<\"),this.tsParseDelimitedList(\"TypeParametersOrArguments\",this.tsParseType.bind(this))))),d.params.length===0&&this.raise(d.start,wu.EmptyTypeArguments),this.expectRelational(\">\"),this.finishNode(d,\"TSTypeParameterInstantiation\")}tsIsDeclarationStart(){if(this.match(px.name))switch(this.state.value){case\"abstract\":case\"declare\":case\"enum\":case\"interface\":case\"module\":case\"namespace\":case\"type\":return!0}return!1}isExportDefaultSpecifier(){return!this.tsIsDeclarationStart()&&super.isExportDefaultSpecifier()}parseAssignableListItem(d,N){const C0=this.state.start,_1=this.state.startLoc;let jx,We=!1,mt=!1;if(d!==void 0){const _i={};this.tsParseModifiers(_i,[\"public\",\"private\",\"protected\",\"override\",\"readonly\"]),jx=_i.accessibility,mt=_i.override,We=_i.readonly,d===!1&&(jx||We||mt)&&this.raise(C0,wu.UnexpectedParameterModifier)}const $t=this.parseMaybeDefault();this.parseAssignableListItemTypes($t);const Zn=this.parseMaybeDefault($t.start,$t.loc.start,$t);if(jx||We||mt){const _i=this.startNodeAt(C0,_1);return N.length&&(_i.decorators=N),jx&&(_i.accessibility=jx),We&&(_i.readonly=We),mt&&(_i.override=mt),Zn.type!==\"Identifier\"&&Zn.type!==\"AssignmentPattern\"&&this.raise(_i.start,wu.UnsupportedParameterPropertyKind),_i.parameter=Zn,this.finishNode(_i,\"TSParameterProperty\")}return N.length&&($t.decorators=N),Zn}parseFunctionBodyAndFinish(d,N,C0=!1){this.match(px.colon)&&(d.returnType=this.tsParseTypeOrTypePredicateAnnotation(px.colon));const _1=N===\"FunctionDeclaration\"?\"TSDeclareFunction\":N===\"ClassMethod\"?\"TSDeclareMethod\":void 0;_1&&!this.match(px.braceL)&&this.isLineTerminator()?this.finishNode(d,_1):_1===\"TSDeclareFunction\"&&this.state.isAmbientContext&&(this.raise(d.start,wu.DeclareFunctionHasImplementation),d.declare)?super.parseFunctionBodyAndFinish(d,_1,C0):super.parseFunctionBodyAndFinish(d,N,C0)}registerFunctionStatementId(d){!d.body&&d.id?this.checkLVal(d.id,\"function name\",1024):super.registerFunctionStatementId(...arguments)}tsCheckForInvalidTypeCasts(d){d.forEach(N=>{(N==null?void 0:N.type)===\"TSTypeCastExpression\"&&this.raise(N.typeAnnotation.start,wu.UnexpectedTypeAnnotation)})}toReferencedList(d,N){return this.tsCheckForInvalidTypeCasts(d),d}parseArrayLike(...d){const N=super.parseArrayLike(...d);return N.type===\"ArrayExpression\"&&this.tsCheckForInvalidTypeCasts(N.elements),N}parseSubscript(d,N,C0,_1,jx){if(!this.hasPrecedingLineBreak()&&this.match(px.bang)){this.state.exprAllowed=!1,this.next();const We=this.startNodeAt(N,C0);return We.expression=d,this.finishNode(We,\"TSNonNullExpression\")}if(this.isRelational(\"<\")){const We=this.tsTryParseAndCatch(()=>{if(!_1&&this.atPossibleAsyncArrow(d)){const Zn=this.tsTryParseGenericAsyncArrowFunction(N,C0);if(Zn)return Zn}const mt=this.startNodeAt(N,C0);mt.callee=d;const $t=this.tsParseTypeArguments();if($t){if(!_1&&this.eat(px.parenL))return mt.arguments=this.parseCallExpressionArguments(px.parenR,!1),this.tsCheckForInvalidTypeCasts(mt.arguments),mt.typeParameters=$t,jx.optionalChainMember&&(mt.optional=!1),this.finishCallExpression(mt,jx.optionalChainMember);if(this.match(px.backQuote)){const Zn=this.parseTaggedTemplateExpression(d,N,C0,jx);return Zn.typeParameters=$t,Zn}}this.unexpected()});if(We)return We}return super.parseSubscript(d,N,C0,_1,jx)}parseNewArguments(d){if(this.isRelational(\"<\")){const N=this.tsTryParseAndCatch(()=>{const C0=this.tsParseTypeArguments();return this.match(px.parenL)||this.unexpected(),C0});N&&(d.typeParameters=N)}super.parseNewArguments(d)}parseExprOp(d,N,C0,_1){if(mF(px._in.binop)>_1&&!this.hasPrecedingLineBreak()&&this.isContextual(\"as\")){const jx=this.startNodeAt(N,C0);jx.expression=d;const We=this.tsTryNextParseConstantContext();return jx.typeAnnotation=We||this.tsNextThenParseType(),this.finishNode(jx,\"TSAsExpression\"),this.reScan_lt_gt(),this.parseExprOp(jx,N,C0,_1)}return super.parseExprOp(d,N,C0,_1)}checkReservedWord(d,N,C0,_1){}checkDuplicateExports(){}parseImport(d){if(d.importKind=\"value\",this.match(px.name)||this.match(px.star)||this.match(px.braceL)){let C0=this.lookahead();if(!this.isContextual(\"type\")||C0.type===px.comma||C0.type===px.name&&C0.value===\"from\"||C0.type===px.eq||(d.importKind=\"type\",this.next(),C0=this.lookahead()),this.match(px.name)&&C0.type===px.eq)return this.tsParseImportEqualsDeclaration(d)}const N=super.parseImport(d);return N.importKind===\"type\"&&N.specifiers.length>1&&N.specifiers[0].type===\"ImportDefaultSpecifier\"&&this.raise(N.start,wu.TypeImportCannotSpecifyDefaultAndNamed),N}parseExport(d){if(this.match(px._import))return this.next(),this.isContextual(\"type\")&&this.lookaheadCharCode()!==61?(d.importKind=\"type\",this.next()):d.importKind=\"value\",this.tsParseImportEqualsDeclaration(d,!0);if(this.eat(px.eq)){const N=d;return N.expression=this.parseExpression(),this.semicolon(),this.finishNode(N,\"TSExportAssignment\")}if(this.eatContextual(\"as\")){const N=d;return this.expectContextual(\"namespace\"),N.id=this.parseIdentifier(),this.semicolon(),this.finishNode(N,\"TSNamespaceExportDeclaration\")}return this.isContextual(\"type\")&&this.lookahead().type===px.braceL?(this.next(),d.exportKind=\"type\"):d.exportKind=\"value\",super.parseExport(d)}isAbstractClass(){return this.isContextual(\"abstract\")&&this.lookahead().type===px._class}parseExportDefaultExpression(){if(this.isAbstractClass()){const d=this.startNode();return this.next(),d.abstract=!0,this.parseClass(d,!0,!0),d}if(this.state.value===\"interface\"){const d=this.tsParseDeclaration(this.startNode(),this.state.value,!0);if(d)return d}return super.parseExportDefaultExpression()}parseStatementContent(d,N){if(this.state.type===px._const){const C0=this.lookahead();if(C0.type===px.name&&C0.value===\"enum\"){const _1=this.startNode();return this.expect(px._const),this.expectContextual(\"enum\"),this.tsParseEnumDeclaration(_1,!0)}}return super.parseStatementContent(d,N)}parseAccessModifier(){return this.tsParseModifier([\"public\",\"protected\",\"private\"])}tsHasSomeModifiers(d,N){return N.some(C0=>Hp(C0)?d.accessibility===C0:!!d[C0])}parseClassMember(d,N,C0){const _1=[\"declare\",\"private\",\"public\",\"protected\",\"override\",\"abstract\",\"readonly\"];this.tsParseModifiers(N,_1.concat([\"static\"]));const jx=()=>{const We=!!N.static;We&&this.eat(px.braceL)?(this.tsHasSomeModifiers(N,_1)&&this.raise(this.state.pos,wu.StaticBlockCannotHaveModifier),this.parseClassStaticBlock(d,N)):this.parseClassMemberWithIsStatic(d,N,C0,We)};N.declare?this.tsInAmbientContext(jx):jx()}parseClassMemberWithIsStatic(d,N,C0,_1){const jx=this.tsTryParseIndexSignature(N);if(jx)return d.body.push(jx),N.abstract&&this.raise(N.start,wu.IndexSignatureHasAbstract),N.accessibility&&this.raise(N.start,wu.IndexSignatureHasAccessibility,N.accessibility),N.declare&&this.raise(N.start,wu.IndexSignatureHasDeclare),void(N.override&&this.raise(N.start,wu.IndexSignatureHasOverride));!this.state.inAbstractClass&&N.abstract&&this.raise(N.start,wu.NonAbstractClassHasAbstractMethod),N.override&&(C0.hadSuperClass||this.raise(N.start,wu.OverrideNotInSubClass)),super.parseClassMemberWithIsStatic(d,N,C0,_1)}parsePostMemberNameModifiers(d){this.eat(px.question)&&(d.optional=!0),d.readonly&&this.match(px.parenL)&&this.raise(d.start,wu.ClassMethodHasReadonly),d.declare&&this.match(px.parenL)&&this.raise(d.start,wu.ClassMethodHasDeclare)}parseExpressionStatement(d,N){return(N.type===\"Identifier\"?this.tsParseExpressionStatement(d,N):void 0)||super.parseExpressionStatement(d,N)}shouldParseExportDeclaration(){return!!this.tsIsDeclarationStart()||super.shouldParseExportDeclaration()}parseConditional(d,N,C0,_1){if(!_1||!this.match(px.question))return super.parseConditional(d,N,C0,_1);const jx=this.tryParse(()=>super.parseConditional(d,N,C0));return jx.node?(jx.error&&(this.state=jx.failState),jx.node):(_1.start=jx.error.pos||this.state.start,d)}parseParenItem(d,N,C0){if(d=super.parseParenItem(d,N,C0),this.eat(px.question)&&(d.optional=!0,this.resetEndLocation(d)),this.match(px.colon)){const _1=this.startNodeAt(N,C0);return _1.expression=d,_1.typeAnnotation=this.tsParseTypeAnnotation(),this.finishNode(_1,\"TSTypeCastExpression\")}return d}parseExportDeclaration(d){const N=this.state.start,C0=this.state.startLoc,_1=this.eatContextual(\"declare\");if(_1&&(this.isContextual(\"declare\")||!this.shouldParseExportDeclaration()))throw this.raise(this.state.start,wu.ExpectedAmbientAfterExportDeclare);let jx;return this.match(px.name)&&(jx=this.tsTryParseExportDeclaration()),jx||(jx=super.parseExportDeclaration(d)),jx&&(jx.type===\"TSInterfaceDeclaration\"||jx.type===\"TSTypeAliasDeclaration\"||_1)&&(d.exportKind=\"type\"),jx&&_1&&(this.resetStartLocation(jx,N,C0),jx.declare=!0),jx}parseClassId(d,N,C0){if((!N||C0)&&this.isContextual(\"implements\"))return;super.parseClassId(d,N,C0,d.declare?1024:139);const _1=this.tsTryParseTypeParameters();_1&&(d.typeParameters=_1)}parseClassPropertyAnnotation(d){!d.optional&&this.eat(px.bang)&&(d.definite=!0);const N=this.tsTryParseTypeAnnotation();N&&(d.typeAnnotation=N)}parseClassProperty(d){return this.parseClassPropertyAnnotation(d),this.state.isAmbientContext&&this.match(px.eq)&&this.raise(this.state.start,wu.DeclareClassFieldHasInitializer),super.parseClassProperty(d)}parseClassPrivateProperty(d){return d.abstract&&this.raise(d.start,wu.PrivateElementHasAbstract),d.accessibility&&this.raise(d.start,wu.PrivateElementHasAccessibility,d.accessibility),this.parseClassPropertyAnnotation(d),super.parseClassPrivateProperty(d)}pushClassMethod(d,N,C0,_1,jx,We){const mt=this.tsTryParseTypeParameters();mt&&jx&&this.raise(mt.start,wu.ConstructorHasTypeParameters),!N.declare||N.kind!==\"get\"&&N.kind!==\"set\"||this.raise(N.start,wu.DeclareAccessor,N.kind),mt&&(N.typeParameters=mt),super.pushClassMethod(d,N,C0,_1,jx,We)}pushClassPrivateMethod(d,N,C0,_1){const jx=this.tsTryParseTypeParameters();jx&&(N.typeParameters=jx),super.pushClassPrivateMethod(d,N,C0,_1)}parseClassSuper(d){super.parseClassSuper(d),d.superClass&&this.isRelational(\"<\")&&(d.superTypeParameters=this.tsParseTypeArguments()),this.eatContextual(\"implements\")&&(d.implements=this.tsParseHeritageClause(\"implements\"))}parseObjPropValue(d,...N){const C0=this.tsTryParseTypeParameters();C0&&(d.typeParameters=C0),super.parseObjPropValue(d,...N)}parseFunctionParams(d,N){const C0=this.tsTryParseTypeParameters();C0&&(d.typeParameters=C0),super.parseFunctionParams(d,N)}parseVarId(d,N){super.parseVarId(d,N),d.id.type===\"Identifier\"&&this.eat(px.bang)&&(d.definite=!0);const C0=this.tsTryParseTypeAnnotation();C0&&(d.id.typeAnnotation=C0,this.resetEndLocation(d.id))}parseAsyncArrowFromCallExpression(d,N){return this.match(px.colon)&&(d.returnType=this.tsParseTypeAnnotation()),super.parseAsyncArrowFromCallExpression(d,N)}parseMaybeAssign(...d){var N,C0,_1,jx,We,mt,$t;let Zn,_i,Va,Bo;if(this.hasPlugin(\"jsx\")&&(this.match(px.jsxTagStart)||this.isRelational(\"<\"))){if(Zn=this.state.clone(),_i=this.tryParse(()=>super.parseMaybeAssign(...d),Zn),!_i.error)return _i.node;const{context:Xs}=this.state;Xs[Xs.length-1]===Yx.j_oTag?Xs.length-=2:Xs[Xs.length-1]===Yx.j_expr&&(Xs.length-=1)}if(!((N=_i)!=null&&N.error||this.isRelational(\"<\")))return super.parseMaybeAssign(...d);Zn=Zn||this.state.clone();const Rt=this.tryParse(Xs=>{var ll,jc;Bo=this.tsParseTypeParameters();const xu=super.parseMaybeAssign(...d);return(xu.type!==\"ArrowFunctionExpression\"||(ll=xu.extra)!=null&&ll.parenthesized)&&Xs(),((jc=Bo)==null?void 0:jc.params.length)!==0&&this.resetStartLocationFromNode(xu,Bo),xu.typeParameters=Bo,xu},Zn);if(!Rt.error&&!Rt.aborted)return Rt.node;if(!_i&&(sp(!this.hasPlugin(\"jsx\")),Va=this.tryParse(()=>super.parseMaybeAssign(...d),Zn),!Va.error))return Va.node;if((C0=_i)!=null&&C0.node)return this.state=_i.failState,_i.node;if(Rt.node)return this.state=Rt.failState,Rt.node;if((_1=Va)!=null&&_1.node)return this.state=Va.failState,Va.node;throw(jx=_i)!=null&&jx.thrown?_i.error:Rt.thrown?Rt.error:(We=Va)!=null&&We.thrown?Va.error:((mt=_i)==null?void 0:mt.error)||Rt.error||(($t=Va)==null?void 0:$t.error)}parseMaybeUnary(d){return!this.hasPlugin(\"jsx\")&&this.isRelational(\"<\")?this.tsParseTypeAssertion():super.parseMaybeUnary(d)}parseArrow(d){if(this.match(px.colon)){const N=this.tryParse(C0=>{const _1=this.tsParseTypeOrTypePredicateAnnotation(px.colon);return!this.canInsertSemicolon()&&this.match(px.arrow)||C0(),_1});if(N.aborted)return;N.thrown||(N.error&&(this.state=N.failState),d.returnType=N.node)}return super.parseArrow(d)}parseAssignableListItemTypes(d){this.eat(px.question)&&(d.type===\"Identifier\"||this.state.isAmbientContext||this.state.inType||this.raise(d.start,wu.PatternIsOptional),d.optional=!0);const N=this.tsTryParseTypeAnnotation();return N&&(d.typeAnnotation=N),this.resetEndLocation(d),d}toAssignable(d,N=!1){switch(d.type){case\"TSTypeCastExpression\":return super.toAssignable(this.typeCastToParameter(d),N);case\"TSParameterProperty\":return super.toAssignable(d,N);case\"ParenthesizedExpression\":return this.toAssignableParenthesizedExpression(d,N);case\"TSAsExpression\":case\"TSNonNullExpression\":case\"TSTypeAssertion\":return d.expression=this.toAssignable(d.expression,N),d;default:return super.toAssignable(d,N)}}toAssignableParenthesizedExpression(d,N){switch(d.expression.type){case\"TSAsExpression\":case\"TSNonNullExpression\":case\"TSTypeAssertion\":case\"ParenthesizedExpression\":return d.expression=this.toAssignable(d.expression,N),d;default:return super.toAssignable(d,N)}}checkLVal(d,N,...C0){var _1;switch(d.type){case\"TSTypeCastExpression\":return;case\"TSParameterProperty\":return void this.checkLVal(d.parameter,\"parameter property\",...C0);case\"TSAsExpression\":case\"TSTypeAssertion\":if(!(C0[0]||N===\"parenthesized expression\"||(_1=d.extra)!=null&&_1.parenthesized)){this.raise(d.start,pt.InvalidLhs,N);break}return void this.checkLVal(d.expression,\"parenthesized expression\",...C0);case\"TSNonNullExpression\":return void this.checkLVal(d.expression,N,...C0);default:return void super.checkLVal(d,N,...C0)}}parseBindingAtom(){switch(this.state.type){case px._this:return this.parseIdentifier(!0);default:return super.parseBindingAtom()}}parseMaybeDecoratorArguments(d){if(this.isRelational(\"<\")){const N=this.tsParseTypeArguments();if(this.match(px.parenL)){const C0=super.parseMaybeDecoratorArguments(d);return C0.typeParameters=N,C0}this.unexpected(this.state.start,px.parenL)}return super.parseMaybeDecoratorArguments(d)}checkCommaAfterRest(d){this.state.isAmbientContext&&this.match(px.comma)&&this.lookaheadCharCode()===d?this.next():super.checkCommaAfterRest(d)}isClassMethod(){return this.isRelational(\"<\")||super.isClassMethod()}isClassProperty(){return this.match(px.bang)||this.match(px.colon)||super.isClassProperty()}parseMaybeDefault(...d){const N=super.parseMaybeDefault(...d);return N.type===\"AssignmentPattern\"&&N.typeAnnotation&&N.right.start<N.typeAnnotation.start&&this.raise(N.typeAnnotation.start,wu.TypeAnnotationAfterAssign),N}getTokenFromCode(d){return!this.state.inType||d!==62&&d!==60?super.getTokenFromCode(d):this.finishOp(px.relational,1)}reScan_lt_gt(){if(this.match(px.relational)){const d=this.input.charCodeAt(this.state.start);d!==60&&d!==62||(this.state.pos-=1,this.readToken_lt_gt(d))}}toAssignableList(d){for(let N=0;N<d.length;N++){const C0=d[N];if(C0)switch(C0.type){case\"TSTypeCastExpression\":d[N]=this.typeCastToParameter(C0);break;case\"TSAsExpression\":case\"TSTypeAssertion\":this.state.maybeInArrowParameters?this.raise(C0.start,wu.UnexpectedTypeCastInParameter):d[N]=this.typeCastToParameter(C0)}}return super.toAssignableList(...arguments)}typeCastToParameter(d){return d.expression.typeAnnotation=d.typeAnnotation,this.resetEndLocation(d.expression,d.typeAnnotation.end,d.typeAnnotation.loc.end),d.expression}shouldParseArrow(){return this.match(px.colon)||super.shouldParseArrow()}shouldParseAsyncArrow(){return this.match(px.colon)||super.shouldParseAsyncArrow()}canHaveLeadingDecorator(){return super.canHaveLeadingDecorator()||this.isAbstractClass()}jsxParseOpeningElementAfterName(d){if(this.isRelational(\"<\")){const N=this.tsTryParseAndCatch(()=>this.tsParseTypeArguments());N&&(d.typeParameters=N)}return super.jsxParseOpeningElementAfterName(d)}getGetterSetterExpectedParamCount(d){const N=super.getGetterSetterExpectedParamCount(d),C0=this.getObjectOrClassMethodParams(d)[0];return C0&&this.isThisParam(C0)?N+1:N}parseCatchClauseParam(){const d=super.parseCatchClauseParam(),N=this.tsTryParseTypeAnnotation();return N&&(d.typeAnnotation=N,this.resetEndLocation(d)),d}tsInAmbientContext(d){const N=this.state.isAmbientContext;this.state.isAmbientContext=!0;try{return d()}finally{this.state.isAmbientContext=N}}parseClass(d,...N){const C0=this.state.inAbstractClass;this.state.inAbstractClass=!!d.abstract;try{return super.parseClass(d,...N)}finally{this.state.inAbstractClass=C0}}tsParseAbstractDeclaration(d){if(this.match(px._class))return d.abstract=!0,this.parseClass(d,!0,!1);if(this.isContextual(\"interface\")){if(!this.hasFollowingLineBreak())return d.abstract=!0,this.raise(d.start,wu.NonClassMethodPropertyHasAbstractModifer),this.next(),this.tsParseInterfaceDeclaration(d)}else this.unexpected(null,px._class)}parseMethod(...d){const N=super.parseMethod(...d);if(N.abstract&&(this.hasPlugin(\"estree\")?!!N.value.body:!!N.body)){const{key:C0}=N;this.raise(N.start,wu.AbstractMethodHasImplementation,C0.type===\"Identifier\"?C0.name:`[${this.input.slice(C0.start,C0.end)}]`)}return N}shouldParseAsAmbientContext(){return!!this.getPluginOption(\"typescript\",\"dts\")}parse(){return this.shouldParseAsAmbientContext()&&(this.state.isAmbientContext=!0),super.parse()}getExpression(){return this.shouldParseAsAmbientContext()&&(this.state.isAmbientContext=!0),super.getExpression()}},v8intrinsic:B0=>class extends B0{parseV8Intrinsic(){if(this.match(px.modulo)){const d=this.state.start,N=this.startNode();if(this.eat(px.modulo),this.match(px.name)){const C0=this.parseIdentifierName(this.state.start),_1=this.createIdentifier(N,C0);if(_1.type=\"V8IntrinsicIdentifier\",this.match(px.parenL))return _1}this.unexpected(d)}}parseExprAtom(){return this.parseV8Intrinsic()||super.parseExprAtom(...arguments)}},placeholders:B0=>class extends B0{parsePlaceholder(d){if(this.match(px.placeholder)){const N=this.startNode();return this.next(),this.assertNoSpace(\"Unexpected space in placeholder.\"),N.name=super.parseIdentifier(!0),this.assertNoSpace(\"Unexpected space in placeholder.\"),this.expect(px.placeholder),this.finishPlaceholder(N,d)}}finishPlaceholder(d,N){const C0=!(!d.expectedNode||d.type!==\"Placeholder\");return d.expectedNode=N,C0?d:this.finishNode(d,\"Placeholder\")}getTokenFromCode(d){return d===37&&this.input.charCodeAt(this.state.pos+1)===37?this.finishOp(px.placeholder,2):super.getTokenFromCode(...arguments)}parseExprAtom(){return this.parsePlaceholder(\"Expression\")||super.parseExprAtom(...arguments)}parseIdentifier(){return this.parsePlaceholder(\"Identifier\")||super.parseIdentifier(...arguments)}checkReservedWord(d){d!==void 0&&super.checkReservedWord(...arguments)}parseBindingAtom(){return this.parsePlaceholder(\"Pattern\")||super.parseBindingAtom(...arguments)}checkLVal(d){d.type!==\"Placeholder\"&&super.checkLVal(...arguments)}toAssignable(d){return d&&d.type===\"Placeholder\"&&d.expectedNode===\"Expression\"?(d.expectedNode=\"Pattern\",d):super.toAssignable(...arguments)}isLet(d){return super.isLet(d)?!0:!this.isContextual(\"let\")||d?!1:this.lookahead().type===px.placeholder}verifyBreakContinue(d){d.label&&d.label.type===\"Placeholder\"||super.verifyBreakContinue(...arguments)}parseExpressionStatement(d,N){if(N.type!==\"Placeholder\"||N.extra&&N.extra.parenthesized)return super.parseExpressionStatement(...arguments);if(this.match(px.colon)){const C0=d;return C0.label=this.finishPlaceholder(N,\"Identifier\"),this.next(),C0.body=this.parseStatement(\"label\"),this.finishNode(C0,\"LabeledStatement\")}return this.semicolon(),d.name=N.name,this.finishPlaceholder(d,\"Statement\")}parseBlock(){return this.parsePlaceholder(\"BlockStatement\")||super.parseBlock(...arguments)}parseFunctionId(){return this.parsePlaceholder(\"Identifier\")||super.parseFunctionId(...arguments)}parseClass(d,N,C0){const _1=N?\"ClassDeclaration\":\"ClassExpression\";this.next(),this.takeDecorators(d);const jx=this.state.strict,We=this.parsePlaceholder(\"Identifier\");if(We)if(this.match(px._extends)||this.match(px.placeholder)||this.match(px.braceL))d.id=We;else{if(C0||!N)return d.id=null,d.body=this.finishPlaceholder(We,\"ClassBody\"),this.finishNode(d,_1);this.unexpected(null,ep.ClassNameIsRequired)}else this.parseClassId(d,N,C0);return this.parseClassSuper(d),d.body=this.parsePlaceholder(\"ClassBody\")||this.parseClassBody(!!d.superClass,jx),this.finishNode(d,_1)}parseExport(d){const N=this.parsePlaceholder(\"Identifier\");if(!N)return super.parseExport(...arguments);if(!this.isContextual(\"from\")&&!this.match(px.comma))return d.specifiers=[],d.source=null,d.declaration=this.finishPlaceholder(N,\"Declaration\"),this.finishNode(d,\"ExportNamedDeclaration\");this.expectPlugin(\"exportDefaultFrom\");const C0=this.startNode();return C0.exported=N,d.specifiers=[this.finishNode(C0,\"ExportDefaultSpecifier\")],super.parseExport(d)}isExportDefaultSpecifier(){if(this.match(px._default)){const d=this.nextTokenStart();if(this.isUnparsedContextual(d,\"from\")&&this.input.startsWith(px.placeholder.label,this.nextTokenStartSince(d+4)))return!0}return super.isExportDefaultSpecifier()}maybeParseExportDefaultSpecifier(d){return!!(d.specifiers&&d.specifiers.length>0)||super.maybeParseExportDefaultSpecifier(...arguments)}checkExport(d){const{specifiers:N}=d;N!=null&&N.length&&(d.specifiers=N.filter(C0=>C0.exported.type===\"Placeholder\")),super.checkExport(d),d.specifiers=N}parseImport(d){const N=this.parsePlaceholder(\"Identifier\");if(!N)return super.parseImport(...arguments);if(d.specifiers=[],!this.isContextual(\"from\")&&!this.match(px.comma))return d.source=this.finishPlaceholder(N,\"StringLiteral\"),this.semicolon(),this.finishNode(d,\"ImportDeclaration\");const C0=this.startNodeAtNode(N);return C0.local=N,this.finishNode(C0,\"ImportDefaultSpecifier\"),d.specifiers.push(C0),this.eat(px.comma)&&(this.maybeParseStarImportSpecifier(d)||this.parseNamedImportSpecifiers(d)),this.expectContextual(\"from\"),d.source=this.parseImportSource(),this.semicolon(),this.finishNode(d,\"ImportDeclaration\")}parseImportSource(){return this.parsePlaceholder(\"StringLiteral\")||super.parseImportSource(...arguments)}}},Gd=Object.keys(o5),cd={sourceType:\"script\",sourceFilename:void 0,startLine:1,allowAwaitOutsideFunction:!1,allowReturnOutsideFunction:!1,allowImportExportEverywhere:!1,allowSuperOutsideMethod:!1,allowUndeclaredExports:!1,plugins:[],strictMode:null,ranges:!1,tokens:!1,createParenthesizedExpressions:!1,errorRecovery:!1};var uT=function(B0){return B0>=48&&B0<=57};const Mf=new Set([103,109,115,105,121,117,100]),Ap={decBinOct:[46,66,69,79,95,98,101,111],hex:[46,88,95,120]},C4={bin:[48,49]};C4.oct=[...C4.bin,50,51,52,53,54,55],C4.dec=[...C4.oct,56,57],C4.hex=[...C4.dec,65,66,67,68,69,70,97,98,99,100,101,102];class wT{constructor(d){this.type=d.type,this.value=d.value,this.start=d.start,this.end=d.end,this.loc=new L6(d.startLoc,d.endLoc)}}class tp{constructor(){this.privateNames=new Set,this.loneAccessors=new Map,this.undefinedPrivateNames=new Map}}class o6{constructor(d){this.stack=[],this.undefinedPrivateNames=new Map,this.raise=d}current(){return this.stack[this.stack.length-1]}enter(){this.stack.push(new tp)}exit(){const d=this.stack.pop(),N=this.current();for(const[C0,_1]of Array.from(d.undefinedPrivateNames))N?N.undefinedPrivateNames.has(C0)||N.undefinedPrivateNames.set(C0,_1):this.raise(_1,pt.InvalidPrivateFieldResolution,C0)}declarePrivateName(d,N,C0){const _1=this.current();let jx=_1.privateNames.has(d);if(3&N){const We=jx&&_1.loneAccessors.get(d);if(We){const mt=4&We,$t=4&N;jx=(3&We)==(3&N)||mt!==$t,jx||_1.loneAccessors.delete(d)}else jx||_1.loneAccessors.set(d,N)}jx&&this.raise(C0,pt.PrivateNameRedeclaration,d),_1.privateNames.add(d),_1.undefinedPrivateNames.delete(d)}usePrivateName(d,N){let C0;for(C0 of this.stack)if(C0.privateNames.has(d))return;C0?C0.undefinedPrivateNames.set(d,N):this.raise(N,pt.InvalidPrivateFieldResolution,d)}}class hF{constructor(d=0){this.type=void 0,this.type=d}canBeArrowParameterDeclaration(){return this.type===2||this.type===1}isCertainlyParameterDeclaration(){return this.type===3}}class Nl extends hF{constructor(d){super(d),this.errors=new Map}recordDeclarationError(d,N){this.errors.set(d,N)}clearDeclarationError(d){this.errors.delete(d)}iterateErrors(d){this.errors.forEach(d)}}class cl{constructor(d){this.stack=[new hF],this.raise=d}enter(d){this.stack.push(d)}exit(){this.stack.pop()}recordParameterInitializerError(d,N){const{stack:C0}=this;let _1=C0.length-1,jx=C0[_1];for(;!jx.isCertainlyParameterDeclaration();){if(!jx.canBeArrowParameterDeclaration())return;jx.recordDeclarationError(d,N),jx=C0[--_1]}this.raise(d,N)}recordParenthesizedIdentifierError(d,N){const{stack:C0}=this,_1=C0[C0.length-1];if(_1.isCertainlyParameterDeclaration())this.raise(d,N);else{if(!_1.canBeArrowParameterDeclaration())return;_1.recordDeclarationError(d,N)}}recordAsyncArrowParametersError(d,N){const{stack:C0}=this;let _1=C0.length-1,jx=C0[_1];for(;jx.canBeArrowParameterDeclaration();)jx.type===2&&jx.recordDeclarationError(d,N),jx=C0[--_1]}validateAsPattern(){const{stack:d}=this,N=d[d.length-1];N.canBeArrowParameterDeclaration()&&N.iterateErrors((C0,_1)=>{this.raise(_1,C0);let jx=d.length-2,We=d[jx];for(;We.canBeArrowParameterDeclaration();)We.clearDeclarationError(_1),We=d[--jx]})}}function SA(){return new hF}class Vf{constructor(){this.shorthandAssign=-1,this.doubleProto=-1}}class hl{constructor(d,N,C0){this.type=void 0,this.start=void 0,this.end=void 0,this.loc=void 0,this.range=void 0,this.leadingComments=void 0,this.trailingComments=void 0,this.innerComments=void 0,this.extra=void 0,this.type=\"\",this.start=N,this.end=0,this.loc=new L6(C0),d!=null&&d.options.ranges&&(this.range=[N,0]),d!=null&&d.filename&&(this.loc.filename=d.filename)}__clone(){const d=new hl,N=Object.keys(this);for(let C0=0,_1=N.length;C0<_1;C0++){const jx=N[C0];jx!==\"leadingComments\"&&jx!==\"trailingComments\"&&jx!==\"innerComments\"&&(d[jx]=this[jx])}return d}}const Id=B0=>B0.type===\"ParenthesizedExpression\"?Id(B0.expression):B0,wf={kind:\"loop\"},tl={kind:\"switch\"},kf=/[\\uD800-\\uDFFF]/u,Tp=/in(?:stanceof)?/y;class Xd extends class extends class extends class extends class extends class extends class extends class extends class extends class{constructor(){this.sawUnambiguousESM=!1,this.ambiguousScriptDifferentAst=!1}hasPlugin(d){return this.plugins.has(d)}getPluginOption(d,N){if(this.hasPlugin(d))return this.plugins.get(d)[N]}}{addComment(d){this.filename&&(d.loc.filename=this.filename),this.state.trailingComments.push(d),this.state.leadingComments.push(d)}adjustCommentsAfterTrailingComma(d,N,C0){if(this.state.leadingComments.length===0)return;let _1=null,jx=N.length;for(;_1===null&&jx>0;)_1=N[--jx];if(_1===null)return;for(let mt=0;mt<this.state.leadingComments.length;mt++)this.state.leadingComments[mt].end<this.state.commentPreviousNode.end&&(this.state.leadingComments.splice(mt,1),mt--);const We=[];for(let mt=0;mt<this.state.leadingComments.length;mt++){const $t=this.state.leadingComments[mt];$t.end<d.end?(We.push($t),C0||(this.state.leadingComments.splice(mt,1),mt--)):(d.trailingComments===void 0&&(d.trailingComments=[]),d.trailingComments.push($t))}C0&&(this.state.leadingComments=[]),We.length>0?_1.trailingComments=We:_1.trailingComments!==void 0&&(_1.trailingComments=[])}processComment(d){if(d.type===\"Program\"&&d.body.length>0)return;const N=this.state.commentStack;let C0,_1,jx,We,mt;if(this.state.trailingComments.length>0)this.state.trailingComments[0].start>=d.end?(jx=this.state.trailingComments,this.state.trailingComments=[]):this.state.trailingComments.length=0;else if(N.length>0){const $t=v4(N);$t.trailingComments&&$t.trailingComments[0].start>=d.end&&(jx=$t.trailingComments,delete $t.trailingComments)}for(N.length>0&&v4(N).start>=d.start&&(C0=N.pop());N.length>0&&v4(N).start>=d.start;)_1=N.pop();if(!_1&&C0&&(_1=C0),C0)switch(d.type){case\"ObjectExpression\":this.adjustCommentsAfterTrailingComma(d,d.properties);break;case\"ObjectPattern\":this.adjustCommentsAfterTrailingComma(d,d.properties,!0);break;case\"CallExpression\":this.adjustCommentsAfterTrailingComma(d,d.arguments);break;case\"ArrayExpression\":this.adjustCommentsAfterTrailingComma(d,d.elements);break;case\"ArrayPattern\":this.adjustCommentsAfterTrailingComma(d,d.elements,!0)}else this.state.commentPreviousNode&&(this.state.commentPreviousNode.type===\"ImportSpecifier\"&&d.type!==\"ImportSpecifier\"||this.state.commentPreviousNode.type===\"ExportSpecifier\"&&d.type!==\"ExportSpecifier\")&&this.adjustCommentsAfterTrailingComma(d,[this.state.commentPreviousNode]);if(_1){if(_1.leadingComments){if(_1!==d&&_1.leadingComments.length>0&&v4(_1.leadingComments).end<=d.start)d.leadingComments=_1.leadingComments,delete _1.leadingComments;else for(We=_1.leadingComments.length-2;We>=0;--We)if(_1.leadingComments[We].end<=d.start){d.leadingComments=_1.leadingComments.splice(0,We+1);break}}}else if(this.state.leadingComments.length>0)if(v4(this.state.leadingComments).end<=d.start){if(this.state.commentPreviousNode)for(mt=0;mt<this.state.leadingComments.length;mt++)this.state.leadingComments[mt].end<this.state.commentPreviousNode.end&&(this.state.leadingComments.splice(mt,1),mt--);this.state.leadingComments.length>0&&(d.leadingComments=this.state.leadingComments,this.state.leadingComments=[])}else{for(We=0;We<this.state.leadingComments.length&&!(this.state.leadingComments[We].end>d.start);We++);const $t=this.state.leadingComments.slice(0,We);$t.length&&(d.leadingComments=$t),jx=this.state.leadingComments.slice(We),jx.length===0&&(jx=null)}if(this.state.commentPreviousNode=d,jx)if(jx.length&&jx[0].start>=d.start&&v4(jx).end<=d.end)d.innerComments=jx;else{const $t=jx.findIndex(Zn=>Zn.end>=d.end);$t>0?(d.innerComments=jx.slice(0,$t),d.trailingComments=jx.slice($t)):d.trailingComments=jx}N.push(d)}}{getLocationForPosition(d){let N;return N=d===this.state.start?this.state.startLoc:d===this.state.lastTokStart?this.state.lastTokStartLoc:d===this.state.end?this.state.endLoc:d===this.state.lastTokEnd?this.state.lastTokEndLoc:function(C0,_1){let jx,We=1,mt=0;for(e6.lastIndex=0;(jx=e6.exec(C0))&&jx.index<_1;)We++,mt=e6.lastIndex;return new TS(We,_1-mt)}(this.input,d),N}raise(d,{code:N,reasonCode:C0,template:_1},...jx){return this.raiseWithData(d,{code:N,reasonCode:C0},_1,...jx)}raiseOverwrite(d,{code:N,template:C0},..._1){const jx=this.getLocationForPosition(d),We=C0.replace(/%(\\d+)/g,(mt,$t)=>_1[$t])+` (${jx.line}:${jx.column})`;if(this.options.errorRecovery){const mt=this.state.errors;for(let $t=mt.length-1;$t>=0;$t--){const Zn=mt[$t];if(Zn.pos===d)return Object.assign(Zn,{message:We});if(Zn.pos<d)break}}return this._raise({code:N,loc:jx,pos:d},We)}raiseWithData(d,N,C0,..._1){const jx=this.getLocationForPosition(d),We=C0.replace(/%(\\d+)/g,(mt,$t)=>_1[$t])+` (${jx.line}:${jx.column})`;return this._raise(Object.assign({loc:jx,pos:d},N),We)}_raise(d,N){const C0=new SyntaxError(N);if(Object.assign(C0,d),this.options.errorRecovery)return this.isLookahead||this.state.errors.push(C0),C0;throw C0}}{constructor(d,N){super(),this.isLookahead=void 0,this.tokens=[],this.state=new al,this.state.init(d),this.input=N,this.length=N.length,this.isLookahead=!1}pushToken(d){this.tokens.length=this.state.tokensLength,this.tokens.push(d),++this.state.tokensLength}next(){this.checkKeywordEscapes(),this.options.tokens&&this.pushToken(new wT(this.state)),this.state.lastTokEnd=this.state.end,this.state.lastTokStart=this.state.start,this.state.lastTokEndLoc=this.state.endLoc,this.state.lastTokStartLoc=this.state.startLoc,this.nextToken()}eat(d){return!!this.match(d)&&(this.next(),!0)}match(d){return this.state.type===d}createLookaheadState(d){return{pos:d.pos,value:null,type:d.type,start:d.start,end:d.end,lastTokEnd:d.end,context:[this.curContext()],inType:d.inType}}lookahead(){const d=this.state;this.state=this.createLookaheadState(d),this.isLookahead=!0,this.nextToken(),this.isLookahead=!1;const N=this.state;return this.state=d,N}nextTokenStart(){return this.nextTokenStartSince(this.state.pos)}nextTokenStartSince(d){return ty.lastIndex=d,d+ty.exec(this.input)[0].length}lookaheadCharCode(){return this.input.charCodeAt(this.nextTokenStart())}codePointAtPos(d){let N=this.input.charCodeAt(d);if((64512&N)==55296&&++d<this.input.length){const C0=this.input.charCodeAt(d);(64512&C0)==56320&&(N=65536+((1023&N)<<10)+(1023&C0))}return N}setStrict(d){this.state.strict=d,d&&(this.state.strictErrors.forEach((N,C0)=>this.raise(C0,N)),this.state.strictErrors.clear())}curContext(){return this.state.context[this.state.context.length-1]}nextToken(){const d=this.curContext();d.preserveSpace||this.skipSpace(),this.state.start=this.state.pos,this.isLookahead||(this.state.startLoc=this.state.curPosition()),this.state.pos>=this.length?this.finishToken(px.eof):d===Yx.template?this.readTmplToken():this.getTokenFromCode(this.codePointAtPos(this.state.pos))}pushComment(d,N,C0,_1,jx,We){const mt={type:d?\"CommentBlock\":\"CommentLine\",value:N,start:C0,end:_1,loc:new L6(jx,We)};this.options.tokens&&this.pushToken(mt),this.state.comments.push(mt),this.addComment(mt)}skipBlockComment(){let d;this.isLookahead||(d=this.state.curPosition());const N=this.state.pos,C0=this.input.indexOf(\"*/\",this.state.pos+2);if(C0===-1)throw this.raise(N,pt.UnterminatedComment);let _1;for(this.state.pos=C0+2,e6.lastIndex=N;(_1=e6.exec(this.input))&&_1.index<this.state.pos;)++this.state.curLine,this.state.lineStart=_1.index+_1[0].length;this.isLookahead||this.pushComment(!0,this.input.slice(N+2,C0),N,this.state.pos,d,this.state.curPosition())}skipLineComment(d){const N=this.state.pos;let C0;this.isLookahead||(C0=this.state.curPosition());let _1=this.input.charCodeAt(this.state.pos+=d);if(this.state.pos<this.length)for(;!z2(_1)&&++this.state.pos<this.length;)_1=this.input.charCodeAt(this.state.pos);this.isLookahead||this.pushComment(!1,this.input.slice(N+d,this.state.pos),N,this.state.pos,C0,this.state.curPosition())}skipSpace(){x:for(;this.state.pos<this.length;){const d=this.input.charCodeAt(this.state.pos);switch(d){case 32:case 160:case 9:++this.state.pos;break;case 13:this.input.charCodeAt(this.state.pos+1)===10&&++this.state.pos;case 10:case 8232:case 8233:++this.state.pos,++this.state.curLine,this.state.lineStart=this.state.pos;break;case 47:switch(this.input.charCodeAt(this.state.pos+1)){case 42:this.skipBlockComment();break;case 47:this.skipLineComment(2);break;default:break x}break;default:if(!yS(d))break x;++this.state.pos}}}finishToken(d,N){this.state.end=this.state.pos;const C0=this.state.type;this.state.type=d,this.state.value=N,this.isLookahead||(this.state.endLoc=this.state.curPosition(),this.updateContext(C0))}readToken_numberSign(){if(this.state.pos===0&&this.readToken_interpreter())return;const d=this.state.pos+1,N=this.codePointAtPos(d);if(N>=48&&N<=57)throw this.raise(this.state.pos,pt.UnexpectedDigitAfterHash);if(N===123||N===91&&this.hasPlugin(\"recordAndTuple\")){if(this.expectPlugin(\"recordAndTuple\"),this.getPluginOption(\"recordAndTuple\",\"syntaxType\")!==\"hash\")throw this.raise(this.state.pos,N===123?pt.RecordExpressionHashIncorrectStartSyntaxType:pt.TupleExpressionHashIncorrectStartSyntaxType);this.state.pos+=2,N===123?this.finishToken(px.braceHashL):this.finishToken(px.bracketHashL)}else ul(N)?(++this.state.pos,this.finishToken(px.privateName,this.readWord1(N))):N===92?(++this.state.pos,this.finishToken(px.privateName,this.readWord1())):this.finishOp(px.hash,1)}readToken_dot(){const d=this.input.charCodeAt(this.state.pos+1);d>=48&&d<=57?this.readNumber(!0):d===46&&this.input.charCodeAt(this.state.pos+2)===46?(this.state.pos+=3,this.finishToken(px.ellipsis)):(++this.state.pos,this.finishToken(px.dot))}readToken_slash(){this.input.charCodeAt(this.state.pos+1)===61?this.finishOp(px.slashAssign,2):this.finishOp(px.slash,1)}readToken_interpreter(){if(this.state.pos!==0||this.length<2)return!1;let d=this.input.charCodeAt(this.state.pos+1);if(d!==33)return!1;const N=this.state.pos;for(this.state.pos+=1;!z2(d)&&++this.state.pos<this.length;)d=this.input.charCodeAt(this.state.pos);const C0=this.input.slice(N+2,this.state.pos);return this.finishToken(px.interpreterDirective,C0),!0}readToken_mult_modulo(d){let N=d===42?px.star:px.modulo,C0=1,_1=this.input.charCodeAt(this.state.pos+1);d===42&&_1===42&&(C0++,_1=this.input.charCodeAt(this.state.pos+2),N=px.exponent),_1!==61||this.state.inType||(C0++,N=px.assign),this.finishOp(N,C0)}readToken_pipe_amp(d){const N=this.input.charCodeAt(this.state.pos+1);if(N!==d){if(d===124){if(N===62)return void this.finishOp(px.pipeline,2);if(this.hasPlugin(\"recordAndTuple\")&&N===125){if(this.getPluginOption(\"recordAndTuple\",\"syntaxType\")!==\"bar\")throw this.raise(this.state.pos,pt.RecordExpressionBarIncorrectEndSyntaxType);return this.state.pos+=2,void this.finishToken(px.braceBarR)}if(this.hasPlugin(\"recordAndTuple\")&&N===93){if(this.getPluginOption(\"recordAndTuple\",\"syntaxType\")!==\"bar\")throw this.raise(this.state.pos,pt.TupleExpressionBarIncorrectEndSyntaxType);return this.state.pos+=2,void this.finishToken(px.bracketBarR)}}N!==61?this.finishOp(d===124?px.bitwiseOR:px.bitwiseAND,1):this.finishOp(px.assign,2)}else this.input.charCodeAt(this.state.pos+2)===61?this.finishOp(px.assign,3):this.finishOp(d===124?px.logicalOR:px.logicalAND,2)}readToken_caret(){this.input.charCodeAt(this.state.pos+1)===61?this.finishOp(px.assign,2):this.finishOp(px.bitwiseXOR,1)}readToken_plus_min(d){const N=this.input.charCodeAt(this.state.pos+1);if(N===d)return N!==45||this.inModule||this.input.charCodeAt(this.state.pos+2)!==62||this.state.lastTokEnd!==0&&!this.hasPrecedingLineBreak()?void this.finishOp(px.incDec,2):(this.skipLineComment(3),this.skipSpace(),void this.nextToken());N===61?this.finishOp(px.assign,2):this.finishOp(px.plusMin,1)}readToken_lt_gt(d){const N=this.input.charCodeAt(this.state.pos+1);let C0=1;return N===d?(C0=d===62&&this.input.charCodeAt(this.state.pos+2)===62?3:2,this.input.charCodeAt(this.state.pos+C0)===61?void this.finishOp(px.assign,C0+1):void this.finishOp(px.bitShift,C0)):N!==33||d!==60||this.inModule||this.input.charCodeAt(this.state.pos+2)!==45||this.input.charCodeAt(this.state.pos+3)!==45?(N===61&&(C0=2),void this.finishOp(px.relational,C0)):(this.skipLineComment(4),this.skipSpace(),void this.nextToken())}readToken_eq_excl(d){const N=this.input.charCodeAt(this.state.pos+1);if(N!==61)return d===61&&N===62?(this.state.pos+=2,void this.finishToken(px.arrow)):void this.finishOp(d===61?px.eq:px.bang,1);this.finishOp(px.equality,this.input.charCodeAt(this.state.pos+2)===61?3:2)}readToken_question(){const d=this.input.charCodeAt(this.state.pos+1),N=this.input.charCodeAt(this.state.pos+2);d===63?N===61?this.finishOp(px.assign,3):this.finishOp(px.nullishCoalescing,2):d!==46||N>=48&&N<=57?(++this.state.pos,this.finishToken(px.question)):(this.state.pos+=2,this.finishToken(px.questionDot))}getTokenFromCode(d){switch(d){case 46:return void this.readToken_dot();case 40:return++this.state.pos,void this.finishToken(px.parenL);case 41:return++this.state.pos,void this.finishToken(px.parenR);case 59:return++this.state.pos,void this.finishToken(px.semi);case 44:return++this.state.pos,void this.finishToken(px.comma);case 91:if(this.hasPlugin(\"recordAndTuple\")&&this.input.charCodeAt(this.state.pos+1)===124){if(this.getPluginOption(\"recordAndTuple\",\"syntaxType\")!==\"bar\")throw this.raise(this.state.pos,pt.TupleExpressionBarIncorrectStartSyntaxType);this.state.pos+=2,this.finishToken(px.bracketBarL)}else++this.state.pos,this.finishToken(px.bracketL);return;case 93:return++this.state.pos,void this.finishToken(px.bracketR);case 123:if(this.hasPlugin(\"recordAndTuple\")&&this.input.charCodeAt(this.state.pos+1)===124){if(this.getPluginOption(\"recordAndTuple\",\"syntaxType\")!==\"bar\")throw this.raise(this.state.pos,pt.RecordExpressionBarIncorrectStartSyntaxType);this.state.pos+=2,this.finishToken(px.braceBarL)}else++this.state.pos,this.finishToken(px.braceL);return;case 125:return++this.state.pos,void this.finishToken(px.braceR);case 58:return void(this.hasPlugin(\"functionBind\")&&this.input.charCodeAt(this.state.pos+1)===58?this.finishOp(px.doubleColon,2):(++this.state.pos,this.finishToken(px.colon)));case 63:return void this.readToken_question();case 96:return++this.state.pos,void this.finishToken(px.backQuote);case 48:{const N=this.input.charCodeAt(this.state.pos+1);if(N===120||N===88)return void this.readRadixNumber(16);if(N===111||N===79)return void this.readRadixNumber(8);if(N===98||N===66)return void this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return void this.readNumber(!1);case 34:case 39:return void this.readString(d);case 47:return void this.readToken_slash();case 37:case 42:return void this.readToken_mult_modulo(d);case 124:case 38:return void this.readToken_pipe_amp(d);case 94:return void this.readToken_caret();case 43:case 45:return void this.readToken_plus_min(d);case 60:case 62:return void this.readToken_lt_gt(d);case 61:case 33:return void this.readToken_eq_excl(d);case 126:return void this.finishOp(px.tilde,1);case 64:return++this.state.pos,void this.finishToken(px.at);case 35:return void this.readToken_numberSign();case 92:return void this.readWord();default:if(ul(d))return void this.readWord(d)}throw this.raise(this.state.pos,pt.InvalidOrUnexpectedToken,String.fromCodePoint(d))}finishOp(d,N){const C0=this.input.slice(this.state.pos,this.state.pos+N);this.state.pos+=N,this.finishToken(d,C0)}readRegexp(){const d=this.state.start+1;let N,C0,{pos:_1}=this.state;for(;;++_1){if(_1>=this.length)throw this.raise(d,pt.UnterminatedRegExp);const mt=this.input.charCodeAt(_1);if(z2(mt))throw this.raise(d,pt.UnterminatedRegExp);if(N)N=!1;else{if(mt===91)C0=!0;else if(mt===93&&C0)C0=!1;else if(mt===47&&!C0)break;N=mt===92}}const jx=this.input.slice(d,_1);++_1;let We=\"\";for(;_1<this.length;){const mt=this.codePointAtPos(_1),$t=String.fromCharCode(mt);if(Mf.has(mt))We.includes($t)&&this.raise(_1+1,pt.DuplicateRegExpFlags);else{if(!mu(mt)&&mt!==92)break;this.raise(_1+1,pt.MalformedRegExpFlags)}++_1,We+=$t}this.state.pos=_1,this.finishToken(px.regexp,{pattern:jx,flags:We})}readInt(d,N,C0,_1=!0){const jx=this.state.pos,We=d===16?Ap.hex:Ap.decBinOct,mt=d===16?C4.hex:d===10?C4.dec:d===8?C4.oct:C4.bin;let $t=!1,Zn=0;for(let _i=0,Va=N==null?1/0:N;_i<Va;++_i){const Bo=this.input.charCodeAt(this.state.pos);let Rt;if(Bo!==95){if(Rt=Bo>=97?Bo-97+10:Bo>=65?Bo-65+10:uT(Bo)?Bo-48:1/0,Rt>=d)if(this.options.errorRecovery&&Rt<=9)Rt=0,this.raise(this.state.start+_i+2,pt.InvalidDigit,d);else{if(!C0)break;Rt=0,$t=!0}++this.state.pos,Zn=Zn*d+Rt}else{const Xs=this.input.charCodeAt(this.state.pos-1),ll=this.input.charCodeAt(this.state.pos+1);(mt.indexOf(ll)===-1||We.indexOf(Xs)>-1||We.indexOf(ll)>-1||Number.isNaN(ll))&&this.raise(this.state.pos,pt.UnexpectedNumericSeparator),_1||this.raise(this.state.pos,pt.NumericSeparatorInEscapeSequence),++this.state.pos}}return this.state.pos===jx||N!=null&&this.state.pos-jx!==N||$t?null:Zn}readRadixNumber(d){const N=this.state.pos;let C0=!1;this.state.pos+=2;const _1=this.readInt(d);_1==null&&this.raise(this.state.start+2,pt.InvalidDigit,d);const jx=this.input.charCodeAt(this.state.pos);if(jx===110)++this.state.pos,C0=!0;else if(jx===109)throw this.raise(N,pt.InvalidDecimal);if(ul(this.codePointAtPos(this.state.pos)))throw this.raise(this.state.pos,pt.NumberIdentifier);if(C0){const We=this.input.slice(N,this.state.pos).replace(/[_n]/g,\"\");this.finishToken(px.bigint,We)}else this.finishToken(px.num,_1)}readNumber(d){const N=this.state.pos;let C0=!1,_1=!1,jx=!1,We=!1,mt=!1;d||this.readInt(10)!==null||this.raise(N,pt.InvalidNumber);const $t=this.state.pos-N>=2&&this.input.charCodeAt(N)===48;if($t){const Bo=this.input.slice(N,this.state.pos);if(this.recordStrictModeErrors(N,pt.StrictOctalLiteral),!this.state.strict){const Rt=Bo.indexOf(\"_\");Rt>0&&this.raise(Rt+N,pt.ZeroDigitNumericSeparator)}mt=$t&&!/[89]/.test(Bo)}let Zn=this.input.charCodeAt(this.state.pos);if(Zn!==46||mt||(++this.state.pos,this.readInt(10),C0=!0,Zn=this.input.charCodeAt(this.state.pos)),Zn!==69&&Zn!==101||mt||(Zn=this.input.charCodeAt(++this.state.pos),Zn!==43&&Zn!==45||++this.state.pos,this.readInt(10)===null&&this.raise(N,pt.InvalidOrMissingExponent),C0=!0,We=!0,Zn=this.input.charCodeAt(this.state.pos)),Zn===110&&((C0||$t)&&this.raise(N,pt.InvalidBigIntLiteral),++this.state.pos,_1=!0),Zn===109&&(this.expectPlugin(\"decimal\",this.state.pos),(We||$t)&&this.raise(N,pt.InvalidDecimal),++this.state.pos,jx=!0),ul(this.codePointAtPos(this.state.pos)))throw this.raise(this.state.pos,pt.NumberIdentifier);const _i=this.input.slice(N,this.state.pos).replace(/[_mn]/g,\"\");if(_1)return void this.finishToken(px.bigint,_i);if(jx)return void this.finishToken(px.decimal,_i);const Va=mt?parseInt(_i,8):parseFloat(_i);this.finishToken(px.num,Va)}readCodePoint(d){let N;if(this.input.charCodeAt(this.state.pos)===123){const C0=++this.state.pos;if(N=this.readHexChar(this.input.indexOf(\"}\",this.state.pos)-this.state.pos,!0,d),++this.state.pos,N!==null&&N>1114111){if(!d)return null;this.raise(C0,pt.InvalidCodePoint)}}else N=this.readHexChar(4,!1,d);return N}readString(d){let N=\"\",C0=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,pt.UnterminatedString);const _1=this.input.charCodeAt(this.state.pos);if(_1===d)break;if(_1===92)N+=this.input.slice(C0,this.state.pos),N+=this.readEscapedChar(!1),C0=this.state.pos;else if(_1===8232||_1===8233)++this.state.pos,++this.state.curLine,this.state.lineStart=this.state.pos;else{if(z2(_1))throw this.raise(this.state.start,pt.UnterminatedString);++this.state.pos}}N+=this.input.slice(C0,this.state.pos++),this.finishToken(px.string,N)}readTmplToken(){let d=\"\",N=this.state.pos,C0=!1;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,pt.UnterminatedTemplate);const _1=this.input.charCodeAt(this.state.pos);if(_1===96||_1===36&&this.input.charCodeAt(this.state.pos+1)===123)return this.state.pos===this.state.start&&this.match(px.template)?_1===36?(this.state.pos+=2,void this.finishToken(px.dollarBraceL)):(++this.state.pos,void this.finishToken(px.backQuote)):(d+=this.input.slice(N,this.state.pos),void this.finishToken(px.template,C0?null:d));if(_1===92){d+=this.input.slice(N,this.state.pos);const jx=this.readEscapedChar(!0);jx===null?C0=!0:d+=jx,N=this.state.pos}else if(z2(_1)){switch(d+=this.input.slice(N,this.state.pos),++this.state.pos,_1){case 13:this.input.charCodeAt(this.state.pos)===10&&++this.state.pos;case 10:d+=`\n`;break;default:d+=String.fromCharCode(_1)}++this.state.curLine,this.state.lineStart=this.state.pos,N=this.state.pos}else++this.state.pos}}recordStrictModeErrors(d,N){this.state.strict&&!this.state.strictErrors.has(d)?this.raise(d,N):this.state.strictErrors.set(d,N)}readEscapedChar(d){const N=!d,C0=this.input.charCodeAt(++this.state.pos);switch(++this.state.pos,C0){case 110:return`\n`;case 114:return\"\\r\";case 120:{const _1=this.readHexChar(2,!1,N);return _1===null?null:String.fromCharCode(_1)}case 117:{const _1=this.readCodePoint(N);return _1===null?null:String.fromCodePoint(_1)}case 116:return\"\t\";case 98:return\"\\b\";case 118:return\"\\v\";case 102:return\"\\f\";case 13:this.input.charCodeAt(this.state.pos)===10&&++this.state.pos;case 10:this.state.lineStart=this.state.pos,++this.state.curLine;case 8232:case 8233:return\"\";case 56:case 57:if(d)return null;this.recordStrictModeErrors(this.state.pos-1,pt.StrictNumericEscape);default:if(C0>=48&&C0<=55){const _1=this.state.pos-1;let jx=this.input.substr(this.state.pos-1,3).match(/^[0-7]+/)[0],We=parseInt(jx,8);We>255&&(jx=jx.slice(0,-1),We=parseInt(jx,8)),this.state.pos+=jx.length-1;const mt=this.input.charCodeAt(this.state.pos);if(jx!==\"0\"||mt===56||mt===57){if(d)return null;this.recordStrictModeErrors(_1,pt.StrictNumericEscape)}return String.fromCharCode(We)}return String.fromCharCode(C0)}}readHexChar(d,N,C0){const _1=this.state.pos,jx=this.readInt(16,d,N,!1);return jx===null&&(C0?this.raise(_1,pt.InvalidEscapeSequence):this.state.pos=_1-1),jx}readWord1(d){this.state.containsEsc=!1;let N=\"\";const C0=this.state.pos;let _1=this.state.pos;for(d!==void 0&&(this.state.pos+=d<=65535?1:2);this.state.pos<this.length;){const jx=this.codePointAtPos(this.state.pos);if(mu(jx))this.state.pos+=jx<=65535?1:2;else{if(jx!==92)break;{this.state.containsEsc=!0,N+=this.input.slice(_1,this.state.pos);const We=this.state.pos,mt=this.state.pos===C0?ul:mu;if(this.input.charCodeAt(++this.state.pos)!==117){this.raise(this.state.pos,pt.MissingUnicodeEscape),_1=this.state.pos-1;continue}++this.state.pos;const $t=this.readCodePoint(!0);$t!==null&&(mt($t)||this.raise(We,pt.EscapedCharNotAnIdentifier),N+=String.fromCodePoint($t)),_1=this.state.pos}}}return N+this.input.slice(_1,this.state.pos)}readWord(d){const N=this.readWord1(d),C0=Eu.get(N)||px.name;this.finishToken(C0,N)}checkKeywordEscapes(){const d=this.state.type.keyword;d&&this.state.containsEsc&&this.raise(this.state.start,pt.InvalidEscapedReservedWord,d)}updateContext(d){var N,C0;(N=(C0=this.state.type).updateContext)==null||N.call(C0,this.state.context)}}{addExtra(d,N,C0){!d||((d.extra=d.extra||{})[N]=C0)}isRelational(d){return this.match(px.relational)&&this.state.value===d}expectRelational(d){this.isRelational(d)?this.next():this.unexpected(null,px.relational)}isContextual(d){return this.match(px.name)&&this.state.value===d&&!this.state.containsEsc}isUnparsedContextual(d,N){const C0=d+N.length;if(this.input.slice(d,C0)===N){const _1=this.input.charCodeAt(C0);return!(mu(_1)||(64512&_1)==55296)}return!1}isLookaheadContextual(d){const N=this.nextTokenStart();return this.isUnparsedContextual(N,d)}eatContextual(d){return this.isContextual(d)&&this.eat(px.name)}expectContextual(d,N){this.eatContextual(d)||this.unexpected(null,N)}canInsertSemicolon(){return this.match(px.eof)||this.match(px.braceR)||this.hasPrecedingLineBreak()}hasPrecedingLineBreak(){return Tf.test(this.input.slice(this.state.lastTokEnd,this.state.start))}hasFollowingLineBreak(){return Tf.test(this.input.slice(this.state.end,this.nextTokenStart()))}isLineTerminator(){return this.eat(px.semi)||this.canInsertSemicolon()}semicolon(d=!0){(d?this.isLineTerminator():this.eat(px.semi))||this.raise(this.state.lastTokEnd,pt.MissingSemicolon)}expect(d,N){this.eat(d)||this.unexpected(N,d)}assertNoSpace(d=\"Unexpected space.\"){this.state.start>this.state.lastTokEnd&&this.raise(this.state.lastTokEnd,{code:W2.SyntaxError,reasonCode:\"UnexpectedSpace\",template:d})}unexpected(d,N={code:W2.SyntaxError,reasonCode:\"UnexpectedToken\",template:\"Unexpected token\"}){throw N instanceof vf&&(N={code:W2.SyntaxError,reasonCode:\"UnexpectedToken\",template:`Unexpected token, expected \"${N.label}\"`}),this.raise(d!=null?d:this.state.start,N)}expectPlugin(d,N){if(!this.hasPlugin(d))throw this.raiseWithData(N!=null?N:this.state.start,{missingPlugin:[d]},`This experimental syntax requires enabling the parser plugin: '${d}'`);return!0}expectOnePlugin(d,N){if(!d.some(C0=>this.hasPlugin(C0)))throw this.raiseWithData(N!=null?N:this.state.start,{missingPlugin:d},`This experimental syntax requires enabling one of the following parser plugin(s): '${d.join(\", \")}'`)}tryParse(d,N=this.state.clone()){const C0={node:null};try{const _1=d((jx=null)=>{throw C0.node=jx,C0});if(this.state.errors.length>N.errors.length){const jx=this.state;return this.state=N,this.state.tokensLength=jx.tokensLength,{node:_1,error:jx.errors[N.errors.length],thrown:!1,aborted:!1,failState:jx}}return{node:_1,error:null,thrown:!1,aborted:!1,failState:null}}catch(_1){const jx=this.state;if(this.state=N,_1 instanceof SyntaxError)return{node:null,error:_1,thrown:!0,aborted:!1,failState:jx};if(_1===C0)return{node:C0.node,error:null,thrown:!1,aborted:!0,failState:jx};throw _1}}checkExpressionErrors(d,N){if(!d)return!1;const{shorthandAssign:C0,doubleProto:_1}=d;if(!N)return C0>=0||_1>=0;C0>=0&&this.unexpected(C0),_1>=0&&this.raise(_1,pt.DuplicateProto)}isLiteralPropertyName(){return this.match(px.name)||!!this.state.type.keyword||this.match(px.string)||this.match(px.num)||this.match(px.bigint)||this.match(px.decimal)}isPrivateName(d){return d.type===\"PrivateName\"}getPrivateNameSV(d){return d.id.name}hasPropertyAsPrivateName(d){return(d.type===\"MemberExpression\"||d.type===\"OptionalMemberExpression\")&&this.isPrivateName(d.property)}isOptionalChain(d){return d.type===\"OptionalMemberExpression\"||d.type===\"OptionalCallExpression\"}isObjectProperty(d){return d.type===\"ObjectProperty\"}isObjectMethod(d){return d.type===\"ObjectMethod\"}initializeScopes(d=this.options.sourceType===\"module\"){const N=this.state.labels;this.state.labels=[];const C0=this.exportedIdentifiers;this.exportedIdentifiers=new Set;const _1=this.inModule;this.inModule=d;const jx=this.scope,We=this.getScopeHandler();this.scope=new We(this.raise.bind(this),this.inModule);const mt=this.prodParam;this.prodParam=new o2;const $t=this.classScope;this.classScope=new o6(this.raise.bind(this));const Zn=this.expressionScope;return this.expressionScope=new cl(this.raise.bind(this)),()=>{this.state.labels=N,this.exportedIdentifiers=C0,this.inModule=_1,this.scope=jx,this.prodParam=mt,this.classScope=$t,this.expressionScope=Zn}}enterInitialScopes(){let d=0;this.hasPlugin(\"topLevelAwait\")&&this.inModule&&(d|=2),this.scope.enter(1),this.prodParam.enter(d)}}{startNode(){return new hl(this,this.state.start,this.state.startLoc)}startNodeAt(d,N){return new hl(this,d,N)}startNodeAtNode(d){return this.startNodeAt(d.start,d.loc.start)}finishNode(d,N){return this.finishNodeAt(d,N,this.state.lastTokEnd,this.state.lastTokEndLoc)}finishNodeAt(d,N,C0,_1){return d.type=N,d.end=C0,d.loc.end=_1,this.options.ranges&&(d.range[1]=C0),this.processComment(d),d}resetStartLocation(d,N,C0){d.start=N,d.loc.start=C0,this.options.ranges&&(d.range[0]=N)}resetEndLocation(d,N=this.state.lastTokEnd,C0=this.state.lastTokEndLoc){d.end=N,d.loc.end=C0,this.options.ranges&&(d.range[1]=N)}resetStartLocationFromNode(d,N){this.resetStartLocation(d,N.start,N.loc.start)}}{toAssignable(d,N=!1){var C0,_1;let jx;switch((d.type===\"ParenthesizedExpression\"||(C0=d.extra)!=null&&C0.parenthesized)&&(jx=Id(d),N?jx.type===\"Identifier\"?this.expressionScope.recordParenthesizedIdentifierError(d.start,pt.InvalidParenthesizedAssignment):jx.type!==\"MemberExpression\"&&this.raise(d.start,pt.InvalidParenthesizedAssignment):this.raise(d.start,pt.InvalidParenthesizedAssignment)),d.type){case\"Identifier\":case\"ObjectPattern\":case\"ArrayPattern\":case\"AssignmentPattern\":break;case\"ObjectExpression\":d.type=\"ObjectPattern\";for(let mt=0,$t=d.properties.length,Zn=$t-1;mt<$t;mt++){var We;const _i=d.properties[mt],Va=mt===Zn;this.toAssignableObjectExpressionProp(_i,Va,N),Va&&_i.type===\"RestElement\"&&(We=d.extra)!=null&&We.trailingComma&&this.raiseRestNotLast(d.extra.trailingComma)}break;case\"ObjectProperty\":this.toAssignable(d.value,N);break;case\"SpreadElement\":{this.checkToRestConversion(d),d.type=\"RestElement\";const mt=d.argument;this.toAssignable(mt,N);break}case\"ArrayExpression\":d.type=\"ArrayPattern\",this.toAssignableList(d.elements,(_1=d.extra)==null?void 0:_1.trailingComma,N);break;case\"AssignmentExpression\":d.operator!==\"=\"&&this.raise(d.left.end,pt.MissingEqInAssignment),d.type=\"AssignmentPattern\",delete d.operator,this.toAssignable(d.left,N);break;case\"ParenthesizedExpression\":this.toAssignable(jx,N)}return d}toAssignableObjectExpressionProp(d,N,C0){if(d.type===\"ObjectMethod\"){const _1=d.kind===\"get\"||d.kind===\"set\"?pt.PatternHasAccessor:pt.PatternHasMethod;this.raise(d.key.start,_1)}else d.type!==\"SpreadElement\"||N?this.toAssignable(d,C0):this.raiseRestNotLast(d.start)}toAssignableList(d,N,C0){let _1=d.length;if(_1){const jx=d[_1-1];if((jx==null?void 0:jx.type)===\"RestElement\")--_1;else if((jx==null?void 0:jx.type)===\"SpreadElement\"){jx.type=\"RestElement\";let We=jx.argument;this.toAssignable(We,C0),We=Id(We),We.type!==\"Identifier\"&&We.type!==\"MemberExpression\"&&We.type!==\"ArrayPattern\"&&We.type!==\"ObjectPattern\"&&this.unexpected(We.start),N&&this.raiseTrailingCommaAfterRest(N),--_1}}for(let jx=0;jx<_1;jx++){const We=d[jx];We&&(this.toAssignable(We,C0),We.type===\"RestElement\"&&this.raiseRestNotLast(We.start))}return d}toReferencedList(d,N){return d}toReferencedListDeep(d,N){this.toReferencedList(d,N);for(const C0 of d)(C0==null?void 0:C0.type)===\"ArrayExpression\"&&this.toReferencedListDeep(C0.elements)}parseSpread(d,N){const C0=this.startNode();return this.next(),C0.argument=this.parseMaybeAssignAllowIn(d,void 0,N),this.finishNode(C0,\"SpreadElement\")}parseRestBinding(){const d=this.startNode();return this.next(),d.argument=this.parseBindingAtom(),this.finishNode(d,\"RestElement\")}parseBindingAtom(){switch(this.state.type){case px.bracketL:{const d=this.startNode();return this.next(),d.elements=this.parseBindingList(px.bracketR,93,!0),this.finishNode(d,\"ArrayPattern\")}case px.braceL:return this.parseObjectLike(px.braceR,!0)}return this.parseIdentifier()}parseBindingList(d,N,C0,_1){const jx=[];let We=!0;for(;!this.eat(d);)if(We?We=!1:this.expect(px.comma),C0&&this.match(px.comma))jx.push(null);else{if(this.eat(d))break;if(this.match(px.ellipsis)){jx.push(this.parseAssignableListItemTypes(this.parseRestBinding())),this.checkCommaAfterRest(N),this.expect(d);break}{const mt=[];for(this.match(px.at)&&this.hasPlugin(\"decorators\")&&this.raise(this.state.start,pt.UnsupportedParameterDecorator);this.match(px.at);)mt.push(this.parseDecorator());jx.push(this.parseAssignableListItem(_1,mt))}}return jx}parseAssignableListItem(d,N){const C0=this.parseMaybeDefault();this.parseAssignableListItemTypes(C0);const _1=this.parseMaybeDefault(C0.start,C0.loc.start,C0);return N.length&&(C0.decorators=N),_1}parseAssignableListItemTypes(d){return d}parseMaybeDefault(d,N,C0){var _1,jx,We;if(N=(_1=N)!=null?_1:this.state.startLoc,d=(jx=d)!=null?jx:this.state.start,C0=(We=C0)!=null?We:this.parseBindingAtom(),!this.eat(px.eq))return C0;const mt=this.startNodeAt(d,N);return mt.left=C0,mt.right=this.parseMaybeAssignAllowIn(),this.finishNode(mt,\"AssignmentPattern\")}checkLVal(d,N,C0=64,_1,jx,We=!1){switch(d.type){case\"Identifier\":{const{name:mt}=d;this.state.strict&&(We?Kl(mt,this.inModule):q2(mt))&&this.raise(d.start,C0===64?pt.StrictEvalArguments:pt.StrictEvalArgumentsBinding,mt),_1&&(_1.has(mt)?this.raise(d.start,pt.ParamDupe):_1.add(mt)),jx&&mt===\"let\"&&this.raise(d.start,pt.LetInLexicalBinding),64&C0||this.scope.declareName(mt,C0,d.start);break}case\"MemberExpression\":C0!==64&&this.raise(d.start,pt.InvalidPropertyBindingPattern);break;case\"ObjectPattern\":for(let mt of d.properties){if(this.isObjectProperty(mt))mt=mt.value;else if(this.isObjectMethod(mt))continue;this.checkLVal(mt,\"object destructuring pattern\",C0,_1,jx)}break;case\"ArrayPattern\":for(const mt of d.elements)mt&&this.checkLVal(mt,\"array destructuring pattern\",C0,_1,jx);break;case\"AssignmentPattern\":this.checkLVal(d.left,\"assignment pattern\",C0,_1);break;case\"RestElement\":this.checkLVal(d.argument,\"rest element\",C0,_1);break;case\"ParenthesizedExpression\":this.checkLVal(d.expression,\"parenthesized expression\",C0,_1);break;default:this.raise(d.start,C0===64?pt.InvalidLhs:pt.InvalidLhsBinding,N)}}checkToRestConversion(d){d.argument.type!==\"Identifier\"&&d.argument.type!==\"MemberExpression\"&&this.raise(d.argument.start,pt.InvalidRestAssignmentPattern)}checkCommaAfterRest(d){this.match(px.comma)&&(this.lookaheadCharCode()===d?this.raiseTrailingCommaAfterRest(this.state.start):this.raiseRestNotLast(this.state.start))}raiseRestNotLast(d){throw this.raise(d,pt.ElementAfterRest)}raiseTrailingCommaAfterRest(d){this.raise(d,pt.RestTrailingComma)}}{checkProto(d,N,C0,_1){if(d.type===\"SpreadElement\"||this.isObjectMethod(d)||d.computed||d.shorthand)return;const jx=d.key;if((jx.type===\"Identifier\"?jx.name:jx.value)===\"__proto__\"){if(N)return void this.raise(jx.start,pt.RecordNoProto);C0.used&&(_1?_1.doubleProto===-1&&(_1.doubleProto=jx.start):this.raise(jx.start,pt.DuplicateProto)),C0.used=!0}}shouldExitDescending(d,N){return d.type===\"ArrowFunctionExpression\"&&d.start===N}getExpression(){let d=0;this.hasPlugin(\"topLevelAwait\")&&this.inModule&&(d|=2),this.scope.enter(1),this.prodParam.enter(d),this.nextToken();const N=this.parseExpression();return this.match(px.eof)||this.unexpected(),N.comments=this.state.comments,N.errors=this.state.errors,this.options.tokens&&(N.tokens=this.tokens),N}parseExpression(d,N){return d?this.disallowInAnd(()=>this.parseExpressionBase(N)):this.allowInAnd(()=>this.parseExpressionBase(N))}parseExpressionBase(d){const N=this.state.start,C0=this.state.startLoc,_1=this.parseMaybeAssign(d);if(this.match(px.comma)){const jx=this.startNodeAt(N,C0);for(jx.expressions=[_1];this.eat(px.comma);)jx.expressions.push(this.parseMaybeAssign(d));return this.toReferencedList(jx.expressions),this.finishNode(jx,\"SequenceExpression\")}return _1}parseMaybeAssignDisallowIn(d,N,C0){return this.disallowInAnd(()=>this.parseMaybeAssign(d,N,C0))}parseMaybeAssignAllowIn(d,N,C0){return this.allowInAnd(()=>this.parseMaybeAssign(d,N,C0))}parseMaybeAssign(d,N,C0){const _1=this.state.start,jx=this.state.startLoc;if(this.isContextual(\"yield\")&&this.prodParam.hasYield){let $t=this.parseYield();return N&&($t=N.call(this,$t,_1,jx)),$t}let We;d?We=!1:(d=new Vf,We=!0),(this.match(px.parenL)||this.match(px.name))&&(this.state.potentialArrowAt=this.state.start);let mt=this.parseMaybeConditional(d,C0);if(N&&(mt=N.call(this,mt,_1,jx)),this.state.type.isAssign){const $t=this.startNodeAt(_1,jx),Zn=this.state.value;return $t.operator=Zn,this.match(px.eq)?($t.left=this.toAssignable(mt,!0),d.doubleProto=-1):$t.left=mt,d.shorthandAssign>=$t.left.start&&(d.shorthandAssign=-1),this.checkLVal(mt,\"assignment expression\"),this.next(),$t.right=this.parseMaybeAssign(),this.finishNode($t,\"AssignmentExpression\")}return We&&this.checkExpressionErrors(d,!0),mt}parseMaybeConditional(d,N){const C0=this.state.start,_1=this.state.startLoc,jx=this.state.potentialArrowAt,We=this.parseExprOps(d);return this.shouldExitDescending(We,jx)?We:this.parseConditional(We,C0,_1,N)}parseConditional(d,N,C0,_1){if(this.eat(px.question)){const jx=this.startNodeAt(N,C0);return jx.test=d,jx.consequent=this.parseMaybeAssignAllowIn(),this.expect(px.colon),jx.alternate=this.parseMaybeAssign(),this.finishNode(jx,\"ConditionalExpression\")}return d}parseExprOps(d){const N=this.state.start,C0=this.state.startLoc,_1=this.state.potentialArrowAt,jx=this.parseMaybeUnary(d);return this.shouldExitDescending(jx,_1)?jx:this.parseExprOp(jx,N,C0,-1)}parseExprOp(d,N,C0,_1){let jx=this.state.type.binop;if(jx!=null&&(this.prodParam.hasIn||!this.match(px._in))&&jx>_1){const We=this.state.type;if(We===px.pipeline){if(this.expectPlugin(\"pipelineOperator\"),this.state.inFSharpPipelineDirectBody)return d;this.state.inPipeline=!0,this.checkPipelineAtInfixOperator(d,N)}const mt=this.startNodeAt(N,C0);mt.left=d,mt.operator=this.state.value;const $t=We===px.logicalOR||We===px.logicalAND,Zn=We===px.nullishCoalescing;if(Zn&&(jx=px.logicalAND.binop),this.next(),We===px.pipeline&&this.getPluginOption(\"pipelineOperator\",\"proposal\")===\"minimal\"&&this.match(px.name)&&this.state.value===\"await\"&&this.prodParam.hasAwait)throw this.raise(this.state.start,pt.UnexpectedAwaitAfterPipelineBody);mt.right=this.parseExprOpRightExpr(We,jx),this.finishNode(mt,$t||Zn?\"LogicalExpression\":\"BinaryExpression\");const _i=this.state.type;if(Zn&&(_i===px.logicalOR||_i===px.logicalAND)||$t&&_i===px.nullishCoalescing)throw this.raise(this.state.start,pt.MixingCoalesceWithLogical);return this.parseExprOp(mt,N,C0,_1)}return d}parseExprOpRightExpr(d,N){const C0=this.state.start,_1=this.state.startLoc;switch(d){case px.pipeline:switch(this.getPluginOption(\"pipelineOperator\",\"proposal\")){case\"smart\":return this.withTopicPermittingContext(()=>this.parseSmartPipelineBody(this.parseExprOpBaseRightExpr(d,N),C0,_1));case\"fsharp\":return this.withSoloAwaitPermittingContext(()=>this.parseFSharpPipelineBody(N))}default:return this.parseExprOpBaseRightExpr(d,N)}}parseExprOpBaseRightExpr(d,N){const C0=this.state.start,_1=this.state.startLoc;return this.parseExprOp(this.parseMaybeUnary(),C0,_1,d.rightAssociative?N-1:N)}checkExponentialAfterUnary(d){this.match(px.exponent)&&this.raise(d.argument.start,pt.UnexpectedTokenUnaryExponentiation)}parseMaybeUnary(d,N){const C0=this.state.start,_1=this.state.startLoc,jx=this.isContextual(\"await\");if(jx&&this.isAwaitAllowed()){this.next();const Zn=this.parseAwait(C0,_1);return N||this.checkExponentialAfterUnary(Zn),Zn}if(this.isContextual(\"module\")&&this.lookaheadCharCode()===123&&!this.hasFollowingLineBreak())return this.parseModuleExpression();const We=this.match(px.incDec),mt=this.startNode();if(this.state.type.prefix){mt.operator=this.state.value,mt.prefix=!0,this.match(px._throw)&&this.expectPlugin(\"throwExpressions\");const Zn=this.match(px._delete);if(this.next(),mt.argument=this.parseMaybeUnary(null,!0),this.checkExpressionErrors(d,!0),this.state.strict&&Zn){const _i=mt.argument;_i.type===\"Identifier\"?this.raise(mt.start,pt.StrictDelete):this.hasPropertyAsPrivateName(_i)&&this.raise(mt.start,pt.DeletePrivateField)}if(!We)return N||this.checkExponentialAfterUnary(mt),this.finishNode(mt,\"UnaryExpression\")}const $t=this.parseUpdate(mt,We,d);return jx&&(this.hasPlugin(\"v8intrinsic\")?this.state.type.startsExpr:this.state.type.startsExpr&&!this.match(px.modulo))&&!this.isAmbiguousAwait()?(this.raiseOverwrite(C0,this.hasPlugin(\"topLevelAwait\")?pt.AwaitNotInAsyncContext:pt.AwaitNotInAsyncFunction),this.parseAwait(C0,_1)):$t}parseUpdate(d,N,C0){if(N)return this.checkLVal(d.argument,\"prefix operation\"),this.finishNode(d,\"UpdateExpression\");const _1=this.state.start,jx=this.state.startLoc;let We=this.parseExprSubscripts(C0);if(this.checkExpressionErrors(C0,!1))return We;for(;this.state.type.postfix&&!this.canInsertSemicolon();){const mt=this.startNodeAt(_1,jx);mt.operator=this.state.value,mt.prefix=!1,mt.argument=We,this.checkLVal(We,\"postfix operation\"),this.next(),We=this.finishNode(mt,\"UpdateExpression\")}return We}parseExprSubscripts(d){const N=this.state.start,C0=this.state.startLoc,_1=this.state.potentialArrowAt,jx=this.parseExprAtom(d);return this.shouldExitDescending(jx,_1)?jx:this.parseSubscripts(jx,N,C0)}parseSubscripts(d,N,C0,_1){const jx={optionalChainMember:!1,maybeAsyncArrow:this.atPossibleAsyncArrow(d),stop:!1};do d=this.parseSubscript(d,N,C0,_1,jx),jx.maybeAsyncArrow=!1;while(!jx.stop);return d}parseSubscript(d,N,C0,_1,jx){if(!_1&&this.eat(px.doubleColon))return this.parseBind(d,N,C0,_1,jx);if(this.match(px.backQuote))return this.parseTaggedTemplateExpression(d,N,C0,jx);let We=!1;if(this.match(px.questionDot)){if(_1&&this.lookaheadCharCode()===40)return jx.stop=!0,d;jx.optionalChainMember=We=!0,this.next()}return!_1&&this.match(px.parenL)?this.parseCoverCallAndAsyncArrowHead(d,N,C0,jx,We):We||this.match(px.bracketL)||this.eat(px.dot)?this.parseMember(d,N,C0,jx,We):(jx.stop=!0,d)}parseMember(d,N,C0,_1,jx){const We=this.startNodeAt(N,C0),mt=this.eat(px.bracketL);We.object=d,We.computed=mt;const $t=!mt&&this.match(px.privateName)&&this.state.value,Zn=mt?this.parseExpression():$t?this.parsePrivateName():this.parseIdentifier(!0);return $t!==!1&&(We.object.type===\"Super\"&&this.raise(N,pt.SuperPrivateField),this.classScope.usePrivateName($t,Zn.start)),We.property=Zn,mt&&this.expect(px.bracketR),_1.optionalChainMember?(We.optional=jx,this.finishNode(We,\"OptionalMemberExpression\")):this.finishNode(We,\"MemberExpression\")}parseBind(d,N,C0,_1,jx){const We=this.startNodeAt(N,C0);return We.object=d,We.callee=this.parseNoCallExpr(),jx.stop=!0,this.parseSubscripts(this.finishNode(We,\"BindExpression\"),N,C0,_1)}parseCoverCallAndAsyncArrowHead(d,N,C0,_1,jx){const We=this.state.maybeInArrowParameters;let mt=null;this.state.maybeInArrowParameters=!0,this.next();let $t=this.startNodeAt(N,C0);return $t.callee=d,_1.maybeAsyncArrow&&(this.expressionScope.enter(new Nl(2)),mt=new Vf),_1.optionalChainMember&&($t.optional=jx),$t.arguments=jx?this.parseCallExpressionArguments(px.parenR):this.parseCallExpressionArguments(px.parenR,d.type===\"Import\",d.type!==\"Super\",$t,mt),this.finishCallExpression($t,_1.optionalChainMember),_1.maybeAsyncArrow&&this.shouldParseAsyncArrow()&&!jx?(_1.stop=!0,this.expressionScope.validateAsPattern(),this.expressionScope.exit(),$t=this.parseAsyncArrowFromCallExpression(this.startNodeAt(N,C0),$t)):(_1.maybeAsyncArrow&&(this.checkExpressionErrors(mt,!0),this.expressionScope.exit()),this.toReferencedArguments($t)),this.state.maybeInArrowParameters=We,$t}toReferencedArguments(d,N){this.toReferencedListDeep(d.arguments,N)}parseTaggedTemplateExpression(d,N,C0,_1){const jx=this.startNodeAt(N,C0);return jx.tag=d,jx.quasi=this.parseTemplate(!0),_1.optionalChainMember&&this.raise(N,pt.OptionalChainingNoTemplate),this.finishNode(jx,\"TaggedTemplateExpression\")}atPossibleAsyncArrow(d){return d.type===\"Identifier\"&&d.name===\"async\"&&this.state.lastTokEnd===d.end&&!this.canInsertSemicolon()&&d.end-d.start==5&&d.start===this.state.potentialArrowAt}finishCallExpression(d,N){if(d.callee.type===\"Import\")if(d.arguments.length===2&&(this.hasPlugin(\"moduleAttributes\")||this.expectPlugin(\"importAssertions\")),d.arguments.length===0||d.arguments.length>2)this.raise(d.start,pt.ImportCallArity,this.hasPlugin(\"importAssertions\")||this.hasPlugin(\"moduleAttributes\")?\"one or two arguments\":\"one argument\");else for(const C0 of d.arguments)C0.type===\"SpreadElement\"&&this.raise(C0.start,pt.ImportCallSpreadArgument);return this.finishNode(d,N?\"OptionalCallExpression\":\"CallExpression\")}parseCallExpressionArguments(d,N,C0,_1,jx){const We=[];let mt=!0;const $t=this.state.inFSharpPipelineDirectBody;for(this.state.inFSharpPipelineDirectBody=!1;!this.eat(d);){if(mt)mt=!1;else if(this.expect(px.comma),this.match(d)){!N||this.hasPlugin(\"importAssertions\")||this.hasPlugin(\"moduleAttributes\")||this.raise(this.state.lastTokStart,pt.ImportCallArgumentTrailingComma),_1&&this.addExtra(_1,\"trailingComma\",this.state.lastTokStart),this.next();break}We.push(this.parseExprListItem(!1,jx,{start:0},C0))}return this.state.inFSharpPipelineDirectBody=$t,We}shouldParseAsyncArrow(){return this.match(px.arrow)&&!this.canInsertSemicolon()}parseAsyncArrowFromCallExpression(d,N){var C0;return this.expect(px.arrow),this.parseArrowExpression(d,N.arguments,!0,(C0=N.extra)==null?void 0:C0.trailingComma),d}parseNoCallExpr(){const d=this.state.start,N=this.state.startLoc;return this.parseSubscripts(this.parseExprAtom(),d,N,!0)}parseExprAtom(d){let N;switch(this.state.type){case px._super:return this.parseSuper();case px._import:return N=this.startNode(),this.next(),this.match(px.dot)?this.parseImportMetaProperty(N):(this.match(px.parenL)||this.raise(this.state.lastTokStart,pt.UnsupportedImport),this.finishNode(N,\"Import\"));case px._this:return N=this.startNode(),this.next(),this.finishNode(N,\"ThisExpression\");case px.name:{const C0=this.state.potentialArrowAt===this.state.start,_1=this.state.containsEsc,jx=this.parseIdentifier();if(!_1&&jx.name===\"async\"&&!this.canInsertSemicolon()){if(this.match(px._function))return this.next(),this.parseFunction(this.startNodeAtNode(jx),void 0,!0);if(this.match(px.name))return this.lookaheadCharCode()===61?this.parseAsyncArrowUnaryFunction(jx):jx;if(this.match(px._do))return this.parseDo(!0)}return C0&&this.match(px.arrow)&&!this.canInsertSemicolon()?(this.next(),this.parseArrowExpression(this.startNodeAtNode(jx),[jx],!1)):jx}case px._do:return this.parseDo(!1);case px.slash:case px.slashAssign:return this.readRegexp(),this.parseRegExpLiteral(this.state.value);case px.num:return this.parseNumericLiteral(this.state.value);case px.bigint:return this.parseBigIntLiteral(this.state.value);case px.decimal:return this.parseDecimalLiteral(this.state.value);case px.string:return this.parseStringLiteral(this.state.value);case px._null:return this.parseNullLiteral();case px._true:return this.parseBooleanLiteral(!0);case px._false:return this.parseBooleanLiteral(!1);case px.parenL:{const C0=this.state.potentialArrowAt===this.state.start;return this.parseParenAndDistinguishExpression(C0)}case px.bracketBarL:case px.bracketHashL:return this.parseArrayLike(this.state.type===px.bracketBarL?px.bracketBarR:px.bracketR,!1,!0,d);case px.bracketL:return this.parseArrayLike(px.bracketR,!0,!1,d);case px.braceBarL:case px.braceHashL:return this.parseObjectLike(this.state.type===px.braceBarL?px.braceBarR:px.braceR,!1,!0,d);case px.braceL:return this.parseObjectLike(px.braceR,!1,!1,d);case px._function:return this.parseFunctionOrFunctionSent();case px.at:this.parseDecorators();case px._class:return N=this.startNode(),this.takeDecorators(N),this.parseClass(N,!1);case px._new:return this.parseNewOrNewTarget();case px.backQuote:return this.parseTemplate(!1);case px.doubleColon:{N=this.startNode(),this.next(),N.object=null;const C0=N.callee=this.parseNoCallExpr();if(C0.type===\"MemberExpression\")return this.finishNode(N,\"BindExpression\");throw this.raise(C0.start,pt.UnsupportedBind)}case px.privateName:{const C0=this.state.start,_1=this.state.value;if(N=this.parsePrivateName(),this.match(px._in))this.expectPlugin(\"privateIn\"),this.classScope.usePrivateName(_1,N.start);else{if(!this.hasPlugin(\"privateIn\"))throw this.unexpected(C0);this.raise(this.state.start,pt.PrivateInExpectedIn,_1)}return N}case px.hash:if(this.state.inPipeline)return N=this.startNode(),this.getPluginOption(\"pipelineOperator\",\"proposal\")!==\"smart\"&&this.raise(N.start,pt.PrimaryTopicRequiresSmartPipeline),this.next(),this.primaryTopicReferenceIsAllowedInCurrentTopicContext()||this.raise(N.start,pt.PrimaryTopicNotAllowed),this.registerTopicReference(),this.finishNode(N,\"PipelinePrimaryTopicReference\");case px.relational:if(this.state.value===\"<\"){const C0=this.input.codePointAt(this.nextTokenStart());(ul(C0)||C0===62)&&this.expectOnePlugin([\"jsx\",\"flow\",\"typescript\"])}default:throw this.unexpected()}}parseAsyncArrowUnaryFunction(d){const N=this.startNodeAtNode(d);this.prodParam.enter(Pu(!0,this.prodParam.hasYield));const C0=[this.parseIdentifier()];return this.prodParam.exit(),this.hasPrecedingLineBreak()&&this.raise(this.state.pos,pt.LineTerminatorBeforeArrow),this.expect(px.arrow),this.parseArrowExpression(N,C0,!0),N}parseDo(d){this.expectPlugin(\"doExpressions\"),d&&this.expectPlugin(\"asyncDoExpressions\");const N=this.startNode();N.async=d,this.next();const C0=this.state.labels;return this.state.labels=[],d?(this.prodParam.enter(2),N.body=this.parseBlock(),this.prodParam.exit()):N.body=this.parseBlock(),this.state.labels=C0,this.finishNode(N,\"DoExpression\")}parseSuper(){const d=this.startNode();return this.next(),!this.match(px.parenL)||this.scope.allowDirectSuper||this.options.allowSuperOutsideMethod?this.scope.allowSuper||this.options.allowSuperOutsideMethod||this.raise(d.start,pt.UnexpectedSuper):this.raise(d.start,pt.SuperNotAllowed),this.match(px.parenL)||this.match(px.bracketL)||this.match(px.dot)||this.raise(d.start,pt.UnsupportedSuper),this.finishNode(d,\"Super\")}parseMaybePrivateName(d){return this.match(px.privateName)?(d||this.raise(this.state.start+1,pt.UnexpectedPrivateField),this.parsePrivateName()):this.parseIdentifier(!0)}parsePrivateName(){const d=this.startNode(),N=this.startNodeAt(this.state.start+1,new TS(this.state.curLine,this.state.start+1-this.state.lineStart)),C0=this.state.value;return this.next(),d.id=this.createIdentifier(N,C0),this.finishNode(d,\"PrivateName\")}parseFunctionOrFunctionSent(){const d=this.startNode();if(this.next(),this.prodParam.hasYield&&this.match(px.dot)){const N=this.createIdentifier(this.startNodeAtNode(d),\"function\");return this.next(),this.parseMetaProperty(d,N,\"sent\")}return this.parseFunction(d)}parseMetaProperty(d,N,C0){d.meta=N,N.name===\"function\"&&C0===\"sent\"&&(this.isContextual(C0)?this.expectPlugin(\"functionSent\"):this.hasPlugin(\"functionSent\")||this.unexpected());const _1=this.state.containsEsc;return d.property=this.parseIdentifier(!0),(d.property.name!==C0||_1)&&this.raise(d.property.start,pt.UnsupportedMetaProperty,N.name,C0),this.finishNode(d,\"MetaProperty\")}parseImportMetaProperty(d){const N=this.createIdentifier(this.startNodeAtNode(d),\"import\");return this.next(),this.isContextual(\"meta\")&&(this.inModule||this.raise(N.start,b4.ImportMetaOutsideModule),this.sawUnambiguousESM=!0),this.parseMetaProperty(d,N,\"meta\")}parseLiteralAtNode(d,N,C0){return this.addExtra(C0,\"rawValue\",d),this.addExtra(C0,\"raw\",this.input.slice(C0.start,this.state.end)),C0.value=d,this.next(),this.finishNode(C0,N)}parseLiteral(d,N){const C0=this.startNode();return this.parseLiteralAtNode(d,N,C0)}parseStringLiteral(d){return this.parseLiteral(d,\"StringLiteral\")}parseNumericLiteral(d){return this.parseLiteral(d,\"NumericLiteral\")}parseBigIntLiteral(d){return this.parseLiteral(d,\"BigIntLiteral\")}parseDecimalLiteral(d){return this.parseLiteral(d,\"DecimalLiteral\")}parseRegExpLiteral(d){const N=this.parseLiteral(d.value,\"RegExpLiteral\");return N.pattern=d.pattern,N.flags=d.flags,N}parseBooleanLiteral(d){const N=this.startNode();return N.value=d,this.next(),this.finishNode(N,\"BooleanLiteral\")}parseNullLiteral(){const d=this.startNode();return this.next(),this.finishNode(d,\"NullLiteral\")}parseParenAndDistinguishExpression(d){const N=this.state.start,C0=this.state.startLoc;let _1;this.next(),this.expressionScope.enter(new Nl(1));const jx=this.state.maybeInArrowParameters,We=this.state.inFSharpPipelineDirectBody;this.state.maybeInArrowParameters=!0,this.state.inFSharpPipelineDirectBody=!1;const mt=this.state.start,$t=this.state.startLoc,Zn=[],_i=new Vf,Va={start:0};let Bo,Rt,Xs=!0;for(;!this.match(px.parenR);){if(Xs)Xs=!1;else if(this.expect(px.comma,Va.start||null),this.match(px.parenR)){Rt=this.state.start;break}if(this.match(px.ellipsis)){const iE=this.state.start,eA=this.state.startLoc;Bo=this.state.start,Zn.push(this.parseParenItem(this.parseRestBinding(),iE,eA)),this.checkCommaAfterRest(41);break}Zn.push(this.parseMaybeAssignAllowIn(_i,this.parseParenItem,Va))}const ll=this.state.lastTokEnd,jc=this.state.lastTokEndLoc;this.expect(px.parenR),this.state.maybeInArrowParameters=jx,this.state.inFSharpPipelineDirectBody=We;let xu=this.startNodeAt(N,C0);if(d&&this.shouldParseArrow()&&(xu=this.parseArrow(xu)))return this.expressionScope.validateAsPattern(),this.expressionScope.exit(),this.parseArrowExpression(xu,Zn,!1),xu;if(this.expressionScope.exit(),Zn.length||this.unexpected(this.state.lastTokStart),Rt&&this.unexpected(Rt),Bo&&this.unexpected(Bo),this.checkExpressionErrors(_i,!0),Va.start&&this.unexpected(Va.start),this.toReferencedListDeep(Zn,!0),Zn.length>1?(_1=this.startNodeAt(mt,$t),_1.expressions=Zn,this.finishNodeAt(_1,\"SequenceExpression\",ll,jc)):_1=Zn[0],!this.options.createParenthesizedExpressions)return this.addExtra(_1,\"parenthesized\",!0),this.addExtra(_1,\"parenStart\",N),_1;const Ml=this.startNodeAt(N,C0);return Ml.expression=_1,this.finishNode(Ml,\"ParenthesizedExpression\"),Ml}shouldParseArrow(){return!this.canInsertSemicolon()}parseArrow(d){if(this.eat(px.arrow))return d}parseParenItem(d,N,C0){return d}parseNewOrNewTarget(){const d=this.startNode();if(this.next(),this.match(px.dot)){const N=this.createIdentifier(this.startNodeAtNode(d),\"new\");this.next();const C0=this.parseMetaProperty(d,N,\"target\");return this.scope.inNonArrowFunction||this.scope.inClass||this.raise(C0.start,pt.UnexpectedNewTarget),C0}return this.parseNew(d)}parseNew(d){return d.callee=this.parseNoCallExpr(),d.callee.type===\"Import\"?this.raise(d.callee.start,pt.ImportCallNotNewExpression):this.isOptionalChain(d.callee)?this.raise(this.state.lastTokEnd,pt.OptionalChainingNoNew):this.eat(px.questionDot)&&this.raise(this.state.start,pt.OptionalChainingNoNew),this.parseNewArguments(d),this.finishNode(d,\"NewExpression\")}parseNewArguments(d){if(this.eat(px.parenL)){const N=this.parseExprList(px.parenR);this.toReferencedList(N),d.arguments=N}else d.arguments=[]}parseTemplateElement(d){const N=this.startNode();return this.state.value===null&&(d||this.raise(this.state.start+1,pt.InvalidEscapeSequenceTemplate)),N.value={raw:this.input.slice(this.state.start,this.state.end).replace(/\\r\\n?/g,`\n`),cooked:this.state.value},this.next(),N.tail=this.match(px.backQuote),this.finishNode(N,\"TemplateElement\")}parseTemplate(d){const N=this.startNode();this.next(),N.expressions=[];let C0=this.parseTemplateElement(d);for(N.quasis=[C0];!C0.tail;)this.expect(px.dollarBraceL),N.expressions.push(this.parseTemplateSubstitution()),this.expect(px.braceR),N.quasis.push(C0=this.parseTemplateElement(d));return this.next(),this.finishNode(N,\"TemplateLiteral\")}parseTemplateSubstitution(){return this.parseExpression()}parseObjectLike(d,N,C0,_1){C0&&this.expectPlugin(\"recordAndTuple\");const jx=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;const We=Object.create(null);let mt=!0;const $t=this.startNode();for($t.properties=[],this.next();!this.match(d);){if(mt)mt=!1;else if(this.expect(px.comma),this.match(d)){this.addExtra($t,\"trailingComma\",this.state.lastTokStart);break}const _i=this.parsePropertyDefinition(N,_1);N||this.checkProto(_i,C0,We,_1),C0&&!this.isObjectProperty(_i)&&_i.type!==\"SpreadElement\"&&this.raise(_i.start,pt.InvalidRecordProperty),_i.shorthand&&this.addExtra(_i,\"shorthand\",!0),$t.properties.push(_i)}this.next(),this.state.inFSharpPipelineDirectBody=jx;let Zn=\"ObjectExpression\";return N?Zn=\"ObjectPattern\":C0&&(Zn=\"RecordExpression\"),this.finishNode($t,Zn)}maybeAsyncOrAccessorProp(d){return!d.computed&&d.key.type===\"Identifier\"&&(this.isLiteralPropertyName()||this.match(px.bracketL)||this.match(px.star))}parsePropertyDefinition(d,N){let C0=[];if(this.match(px.at))for(this.hasPlugin(\"decorators\")&&this.raise(this.state.start,pt.UnsupportedPropertyDecorator);this.match(px.at);)C0.push(this.parseDecorator());const _1=this.startNode();let jx,We,mt=!1,$t=!1,Zn=!1;if(this.match(px.ellipsis))return C0.length&&this.unexpected(),d?(this.next(),_1.argument=this.parseIdentifier(),this.checkCommaAfterRest(125),this.finishNode(_1,\"RestElement\")):this.parseSpread();C0.length&&(_1.decorators=C0,C0=[]),_1.method=!1,(d||N)&&(jx=this.state.start,We=this.state.startLoc),d||(mt=this.eat(px.star));const _i=this.state.containsEsc,Va=this.parsePropertyName(_1,!1);if(!d&&!mt&&!_i&&this.maybeAsyncOrAccessorProp(_1)){const Bo=Va.name;Bo!==\"async\"||this.hasPrecedingLineBreak()||($t=!0,mt=this.eat(px.star),this.parsePropertyName(_1,!1)),Bo!==\"get\"&&Bo!==\"set\"||(Zn=!0,_1.kind=Bo,this.match(px.star)&&(mt=!0,this.raise(this.state.pos,pt.AccessorIsGenerator,Bo),this.next()),this.parsePropertyName(_1,!1))}return this.parseObjPropValue(_1,jx,We,mt,$t,d,Zn,N),_1}getGetterSetterExpectedParamCount(d){return d.kind===\"get\"?0:1}getObjectOrClassMethodParams(d){return d.params}checkGetterSetterParams(d){var N;const C0=this.getGetterSetterExpectedParamCount(d),_1=this.getObjectOrClassMethodParams(d),jx=d.start;_1.length!==C0&&(d.kind===\"get\"?this.raise(jx,pt.BadGetterArity):this.raise(jx,pt.BadSetterArity)),d.kind===\"set\"&&((N=_1[_1.length-1])==null?void 0:N.type)===\"RestElement\"&&this.raise(jx,pt.BadSetterRestParameter)}parseObjectMethod(d,N,C0,_1,jx){return jx?(this.parseMethod(d,N,!1,!1,!1,\"ObjectMethod\"),this.checkGetterSetterParams(d),d):C0||N||this.match(px.parenL)?(_1&&this.unexpected(),d.kind=\"method\",d.method=!0,this.parseMethod(d,N,C0,!1,!1,\"ObjectMethod\")):void 0}parseObjectProperty(d,N,C0,_1,jx){return d.shorthand=!1,this.eat(px.colon)?(d.value=_1?this.parseMaybeDefault(this.state.start,this.state.startLoc):this.parseMaybeAssignAllowIn(jx),this.finishNode(d,\"ObjectProperty\")):d.computed||d.key.type!==\"Identifier\"?void 0:(this.checkReservedWord(d.key.name,d.key.start,!0,!1),_1?d.value=this.parseMaybeDefault(N,C0,d.key.__clone()):this.match(px.eq)&&jx?(jx.shorthandAssign===-1&&(jx.shorthandAssign=this.state.start),d.value=this.parseMaybeDefault(N,C0,d.key.__clone())):d.value=d.key.__clone(),d.shorthand=!0,this.finishNode(d,\"ObjectProperty\"))}parseObjPropValue(d,N,C0,_1,jx,We,mt,$t){const Zn=this.parseObjectMethod(d,_1,jx,We,mt)||this.parseObjectProperty(d,N,C0,We,$t);return Zn||this.unexpected(),Zn}parsePropertyName(d,N){if(this.eat(px.bracketL))d.computed=!0,d.key=this.parseMaybeAssignAllowIn(),this.expect(px.bracketR);else{const C0=this.state.inPropertyName;this.state.inPropertyName=!0;const _1=this.state.type;d.key=_1===px.num||_1===px.string||_1===px.bigint||_1===px.decimal?this.parseExprAtom():this.parseMaybePrivateName(N),_1!==px.privateName&&(d.computed=!1),this.state.inPropertyName=C0}return d.key}initFunction(d,N){d.id=null,d.generator=!1,d.async=!!N}parseMethod(d,N,C0,_1,jx,We,mt=!1){this.initFunction(d,C0),d.generator=!!N;const $t=_1;return this.scope.enter(18|(mt?Zl:0)|(jx?32:0)),this.prodParam.enter(Pu(C0,d.generator)),this.parseFunctionParams(d,$t),this.parseFunctionBodyAndFinish(d,We,!0),this.prodParam.exit(),this.scope.exit(),d}parseArrayLike(d,N,C0,_1){C0&&this.expectPlugin(\"recordAndTuple\");const jx=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;const We=this.startNode();return this.next(),We.elements=this.parseExprList(d,!C0,_1,We),this.state.inFSharpPipelineDirectBody=jx,this.finishNode(We,C0?\"TupleExpression\":\"ArrayExpression\")}parseArrowExpression(d,N,C0,_1){this.scope.enter(6);let jx=Pu(C0,!1);!this.match(px.bracketL)&&this.prodParam.hasIn&&(jx|=8),this.prodParam.enter(jx),this.initFunction(d,C0);const We=this.state.maybeInArrowParameters;return N&&(this.state.maybeInArrowParameters=!0,this.setArrowFunctionParameters(d,N,_1)),this.state.maybeInArrowParameters=!1,this.parseFunctionBody(d,!0),this.prodParam.exit(),this.scope.exit(),this.state.maybeInArrowParameters=We,this.finishNode(d,\"ArrowFunctionExpression\")}setArrowFunctionParameters(d,N,C0){d.params=this.toAssignableList(N,C0,!1)}parseFunctionBodyAndFinish(d,N,C0=!1){this.parseFunctionBody(d,!1,C0),this.finishNode(d,N)}parseFunctionBody(d,N,C0=!1){const _1=N&&!this.match(px.braceL);if(this.expressionScope.enter(SA()),_1)d.body=this.parseMaybeAssign(),this.checkParams(d,!1,N,!1);else{const jx=this.state.strict,We=this.state.labels;this.state.labels=[],this.prodParam.enter(4|this.prodParam.currentFlags()),d.body=this.parseBlock(!0,!1,mt=>{const $t=!this.isSimpleParamList(d.params);if(mt&&$t){const _i=d.kind!==\"method\"&&d.kind!==\"constructor\"||!d.key?d.start:d.key.end;this.raise(_i,pt.IllegalLanguageModeDirective)}const Zn=!jx&&this.state.strict;this.checkParams(d,!(this.state.strict||N||C0||$t),N,Zn),this.state.strict&&d.id&&this.checkLVal(d.id,\"function name\",65,void 0,void 0,Zn)}),this.prodParam.exit(),this.expressionScope.exit(),this.state.labels=We}}isSimpleParamList(d){for(let N=0,C0=d.length;N<C0;N++)if(d[N].type!==\"Identifier\")return!1;return!0}checkParams(d,N,C0,_1=!0){const jx=new Set;for(const We of d.params)this.checkLVal(We,\"function parameter list\",5,N?null:jx,void 0,_1)}parseExprList(d,N,C0,_1){const jx=[];let We=!0;for(;!this.eat(d);){if(We)We=!1;else if(this.expect(px.comma),this.match(d)){_1&&this.addExtra(_1,\"trailingComma\",this.state.lastTokStart),this.next();break}jx.push(this.parseExprListItem(N,C0))}return jx}parseExprListItem(d,N,C0,_1){let jx;if(this.match(px.comma))d||this.raise(this.state.pos,pt.UnexpectedToken,\",\"),jx=null;else if(this.match(px.ellipsis)){const We=this.state.start,mt=this.state.startLoc;jx=this.parseParenItem(this.parseSpread(N,C0),We,mt)}else if(this.match(px.question)){this.expectPlugin(\"partialApplication\"),_1||this.raise(this.state.start,pt.UnexpectedArgumentPlaceholder);const We=this.startNode();this.next(),jx=this.finishNode(We,\"ArgumentPlaceholder\")}else jx=this.parseMaybeAssignAllowIn(N,this.parseParenItem,C0);return jx}parseIdentifier(d){const N=this.startNode(),C0=this.parseIdentifierName(N.start,d);return this.createIdentifier(N,C0)}createIdentifier(d,N){return d.name=N,d.loc.identifierName=N,this.finishNode(d,\"Identifier\")}parseIdentifierName(d,N){let C0;const{start:_1,type:jx}=this.state;if(jx===px.name)C0=this.state.value;else{if(!jx.keyword)throw this.unexpected();if(C0=jx.keyword,jx===px._class||jx===px._function){const We=this.curContext();We!==Yx.functionStatement&&We!==Yx.functionExpression||this.state.context.pop()}}return N?this.state.type=px.name:this.checkReservedWord(C0,_1,!!jx.keyword,!1),this.next(),C0}checkReservedWord(d,N,C0,_1){if(!(d.length>10)&&!!function(jx){return qf.has(jx)}(d)){if(d===\"yield\"){if(this.prodParam.hasYield)return void this.raise(N,pt.YieldBindingIdentifier)}else if(d===\"await\"){if(this.prodParam.hasAwait)return void this.raise(N,pt.AwaitBindingIdentifier);if(this.scope.inStaticBlock&&!this.scope.inNonArrowFunction)return void this.raise(N,pt.AwaitBindingIdentifierInStaticBlock);this.expressionScope.recordAsyncArrowParametersError(N,pt.AwaitBindingIdentifier)}else if(d===\"arguments\"&&this.scope.inClassAndNotInNonArrowFunction)return void this.raise(N,pt.ArgumentsInClass);if(C0&&Bs(d))return void this.raise(N,pt.UnexpectedKeyword,d);(this.state.strict?_1?Kl:Uu:Pa)(d,this.inModule)&&this.raise(N,pt.UnexpectedReservedWord,d)}}isAwaitAllowed(){return!!this.prodParam.hasAwait||!(!this.options.allowAwaitOutsideFunction||this.scope.inFunction)}parseAwait(d,N){const C0=this.startNodeAt(d,N);return this.expressionScope.recordParameterInitializerError(C0.start,pt.AwaitExpressionFormalParameter),this.eat(px.star)&&this.raise(C0.start,pt.ObsoleteAwaitStar),this.scope.inFunction||this.options.allowAwaitOutsideFunction||(this.isAmbiguousAwait()?this.ambiguousScriptDifferentAst=!0:this.sawUnambiguousESM=!0),this.state.soloAwait||(C0.argument=this.parseMaybeUnary(null,!0)),this.finishNode(C0,\"AwaitExpression\")}isAmbiguousAwait(){return this.hasPrecedingLineBreak()||this.match(px.plusMin)||this.match(px.parenL)||this.match(px.bracketL)||this.match(px.backQuote)||this.match(px.regexp)||this.match(px.slash)||this.hasPlugin(\"v8intrinsic\")&&this.match(px.modulo)}parseYield(){const d=this.startNode();this.expressionScope.recordParameterInitializerError(d.start,pt.YieldInParameter),this.next();let N=!1,C0=null;if(!this.hasPrecedingLineBreak())switch(N=this.eat(px.star),this.state.type){case px.semi:case px.eof:case px.braceR:case px.parenR:case px.bracketR:case px.braceBarR:case px.colon:case px.comma:if(!N)break;default:C0=this.parseMaybeAssign()}return d.delegate=N,d.argument=C0,this.finishNode(d,\"YieldExpression\")}checkPipelineAtInfixOperator(d,N){this.getPluginOption(\"pipelineOperator\",\"proposal\")===\"smart\"&&d.type===\"SequenceExpression\"&&this.raise(N,pt.PipelineHeadSequenceExpression)}parseSmartPipelineBody(d,N,C0){return this.checkSmartPipelineBodyEarlyErrors(d,N),this.parseSmartPipelineBodyInStyle(d,N,C0)}checkSmartPipelineBodyEarlyErrors(d,N){if(this.match(px.arrow))throw this.raise(this.state.start,pt.PipelineBodyNoArrow);d.type===\"SequenceExpression\"&&this.raise(N,pt.PipelineBodySequenceExpression)}parseSmartPipelineBodyInStyle(d,N,C0){const _1=this.startNodeAt(N,C0),jx=this.isSimpleReference(d);return jx?_1.callee=d:(this.topicReferenceWasUsedInCurrentTopicContext()||this.raise(N,pt.PipelineTopicUnused),_1.expression=d),this.finishNode(_1,jx?\"PipelineBareFunction\":\"PipelineTopicExpression\")}isSimpleReference(d){switch(d.type){case\"MemberExpression\":return!d.computed&&this.isSimpleReference(d.object);case\"Identifier\":return!0;default:return!1}}withTopicPermittingContext(d){const N=this.state.topicContext;this.state.topicContext={maxNumOfResolvableTopics:1,maxTopicIndex:null};try{return d()}finally{this.state.topicContext=N}}withTopicForbiddingContext(d){const N=this.state.topicContext;this.state.topicContext={maxNumOfResolvableTopics:0,maxTopicIndex:null};try{return d()}finally{this.state.topicContext=N}}withSoloAwaitPermittingContext(d){const N=this.state.soloAwait;this.state.soloAwait=!0;try{return d()}finally{this.state.soloAwait=N}}allowInAnd(d){const N=this.prodParam.currentFlags();if(8&~N){this.prodParam.enter(8|N);try{return d()}finally{this.prodParam.exit()}}return d()}disallowInAnd(d){const N=this.prodParam.currentFlags();if(8&N){this.prodParam.enter(-9&N);try{return d()}finally{this.prodParam.exit()}}return d()}registerTopicReference(){this.state.topicContext.maxTopicIndex=0}primaryTopicReferenceIsAllowedInCurrentTopicContext(){return this.state.topicContext.maxNumOfResolvableTopics>=1}topicReferenceWasUsedInCurrentTopicContext(){return this.state.topicContext.maxTopicIndex!=null&&this.state.topicContext.maxTopicIndex>=0}parseFSharpPipelineBody(d){const N=this.state.start,C0=this.state.startLoc;this.state.potentialArrowAt=this.state.start;const _1=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!0;const jx=this.parseExprOp(this.parseMaybeUnary(),N,C0,d);return this.state.inFSharpPipelineDirectBody=_1,jx}parseModuleExpression(){this.expectPlugin(\"moduleBlocks\");const d=this.startNode();this.next(),this.eat(px.braceL);const N=this.initializeScopes(!0);this.enterInitialScopes();const C0=this.startNode();try{d.body=this.parseProgram(C0,px.braceR,\"module\")}finally{N()}return this.eat(px.braceR),this.finishNode(d,\"ModuleExpression\")}}{parseTopLevel(d,N){return d.program=this.parseProgram(N),d.comments=this.state.comments,this.options.tokens&&(d.tokens=function(C0){for(let _1=0;_1<C0.length;_1++){const jx=C0[_1];if(jx.type===px.privateName){const{loc:We,start:mt,value:$t,end:Zn}=jx,_i=mt+1,Va=new TS(We.start.line,We.start.column+1);C0.splice(_1,1,new wT({type:px.hash,value:\"#\",start:mt,end:_i,startLoc:We.start,endLoc:Va}),new wT({type:px.name,value:$t,start:_i,end:Zn,startLoc:Va,endLoc:We.end}))}}return C0}(this.tokens)),this.finishNode(d,\"File\")}parseProgram(d,N=px.eof,C0=this.options.sourceType){if(d.sourceType=C0,d.interpreter=this.parseInterpreterDirective(),this.parseBlockBody(d,!0,!0,N),this.inModule&&!this.options.allowUndeclaredExports&&this.scope.undefinedExports.size>0)for(const[_1]of Array.from(this.scope.undefinedExports)){const jx=this.scope.undefinedExports.get(_1);this.raise(jx,pt.ModuleExportUndefined,_1)}return this.finishNode(d,\"Program\")}stmtToDirective(d){const N=d.expression,C0=this.startNodeAt(N.start,N.loc.start),_1=this.startNodeAt(d.start,d.loc.start),jx=this.input.slice(N.start,N.end),We=C0.value=jx.slice(1,-1);return this.addExtra(C0,\"raw\",jx),this.addExtra(C0,\"rawValue\",We),_1.value=this.finishNodeAt(C0,\"DirectiveLiteral\",N.end,N.loc.end),this.finishNodeAt(_1,\"Directive\",d.end,d.loc.end)}parseInterpreterDirective(){if(!this.match(px.interpreterDirective))return null;const d=this.startNode();return d.value=this.state.value,this.next(),this.finishNode(d,\"InterpreterDirective\")}isLet(d){return!!this.isContextual(\"let\")&&this.isLetKeyword(d)}isLetKeyword(d){const N=this.nextTokenStart(),C0=this.codePointAtPos(N);if(C0===92||C0===91)return!0;if(d)return!1;if(C0===123)return!0;if(ul(C0)){Tp.lastIndex=N;const _1=Tp.exec(this.input);if(_1!==null){const jx=this.codePointAtPos(N+_1[0].length);if(!mu(jx)&&jx!==92)return!1}return!0}return!1}parseStatement(d,N){return this.match(px.at)&&this.parseDecorators(!0),this.parseStatementContent(d,N)}parseStatementContent(d,N){let C0=this.state.type;const _1=this.startNode();let jx;switch(this.isLet(d)&&(C0=px._var,jx=\"let\"),C0){case px._break:case px._continue:return this.parseBreakContinueStatement(_1,C0.keyword);case px._debugger:return this.parseDebuggerStatement(_1);case px._do:return this.parseDoStatement(_1);case px._for:return this.parseForStatement(_1);case px._function:if(this.lookaheadCharCode()===46)break;return d&&(this.state.strict?this.raise(this.state.start,pt.StrictFunction):d!==\"if\"&&d!==\"label\"&&this.raise(this.state.start,pt.SloppyFunction)),this.parseFunctionStatement(_1,!1,!d);case px._class:return d&&this.unexpected(),this.parseClass(_1,!0);case px._if:return this.parseIfStatement(_1);case px._return:return this.parseReturnStatement(_1);case px._switch:return this.parseSwitchStatement(_1);case px._throw:return this.parseThrowStatement(_1);case px._try:return this.parseTryStatement(_1);case px._const:case px._var:return jx=jx||this.state.value,d&&jx!==\"var\"&&this.raise(this.state.start,pt.UnexpectedLexicalDeclaration),this.parseVarStatement(_1,jx);case px._while:return this.parseWhileStatement(_1);case px._with:return this.parseWithStatement(_1);case px.braceL:return this.parseBlock();case px.semi:return this.parseEmptyStatement(_1);case px._import:{const $t=this.lookaheadCharCode();if($t===40||$t===46)break}case px._export:{let $t;return this.options.allowImportExportEverywhere||N||this.raise(this.state.start,pt.UnexpectedImportExport),this.next(),C0===px._import?($t=this.parseImport(_1),$t.type!==\"ImportDeclaration\"||$t.importKind&&$t.importKind!==\"value\"||(this.sawUnambiguousESM=!0)):($t=this.parseExport(_1),($t.type!==\"ExportNamedDeclaration\"||$t.exportKind&&$t.exportKind!==\"value\")&&($t.type!==\"ExportAllDeclaration\"||$t.exportKind&&$t.exportKind!==\"value\")&&$t.type!==\"ExportDefaultDeclaration\"||(this.sawUnambiguousESM=!0)),this.assertModuleNodeAllowed(_1),$t}default:if(this.isAsyncFunction())return d&&this.raise(this.state.start,pt.AsyncFunctionInSingleStatementContext),this.next(),this.parseFunctionStatement(_1,!0,!d)}const We=this.state.value,mt=this.parseExpression();return C0===px.name&&mt.type===\"Identifier\"&&this.eat(px.colon)?this.parseLabeledStatement(_1,We,mt,d):this.parseExpressionStatement(_1,mt)}assertModuleNodeAllowed(d){this.options.allowImportExportEverywhere||this.inModule||this.raise(d.start,b4.ImportOutsideModule)}takeDecorators(d){const N=this.state.decoratorStack[this.state.decoratorStack.length-1];N.length&&(d.decorators=N,this.resetStartLocationFromNode(d,N[0]),this.state.decoratorStack[this.state.decoratorStack.length-1]=[])}canHaveLeadingDecorator(){return this.match(px._class)}parseDecorators(d){const N=this.state.decoratorStack[this.state.decoratorStack.length-1];for(;this.match(px.at);){const C0=this.parseDecorator();N.push(C0)}if(this.match(px._export))d||this.unexpected(),this.hasPlugin(\"decorators\")&&!this.getPluginOption(\"decorators\",\"decoratorsBeforeExport\")&&this.raise(this.state.start,pt.DecoratorExportClass);else if(!this.canHaveLeadingDecorator())throw this.raise(this.state.start,pt.UnexpectedLeadingDecorator)}parseDecorator(){this.expectOnePlugin([\"decorators-legacy\",\"decorators\"]);const d=this.startNode();if(this.next(),this.hasPlugin(\"decorators\")){this.state.decoratorStack.push([]);const N=this.state.start,C0=this.state.startLoc;let _1;if(this.eat(px.parenL))_1=this.parseExpression(),this.expect(px.parenR);else for(_1=this.parseIdentifier(!1);this.eat(px.dot);){const jx=this.startNodeAt(N,C0);jx.object=_1,jx.property=this.parseIdentifier(!0),jx.computed=!1,_1=this.finishNode(jx,\"MemberExpression\")}d.expression=this.parseMaybeDecoratorArguments(_1),this.state.decoratorStack.pop()}else d.expression=this.parseExprSubscripts();return this.finishNode(d,\"Decorator\")}parseMaybeDecoratorArguments(d){if(this.eat(px.parenL)){const N=this.startNodeAtNode(d);return N.callee=d,N.arguments=this.parseCallExpressionArguments(px.parenR,!1),this.toReferencedList(N.arguments),this.finishNode(N,\"CallExpression\")}return d}parseBreakContinueStatement(d,N){const C0=N===\"break\";return this.next(),this.isLineTerminator()?d.label=null:(d.label=this.parseIdentifier(),this.semicolon()),this.verifyBreakContinue(d,N),this.finishNode(d,C0?\"BreakStatement\":\"ContinueStatement\")}verifyBreakContinue(d,N){const C0=N===\"break\";let _1;for(_1=0;_1<this.state.labels.length;++_1){const jx=this.state.labels[_1];if((d.label==null||jx.name===d.label.name)&&(jx.kind!=null&&(C0||jx.kind===\"loop\")||d.label&&C0))break}_1===this.state.labels.length&&this.raise(d.start,pt.IllegalBreakContinue,N)}parseDebuggerStatement(d){return this.next(),this.semicolon(),this.finishNode(d,\"DebuggerStatement\")}parseHeaderExpression(){this.expect(px.parenL);const d=this.parseExpression();return this.expect(px.parenR),d}parseDoStatement(d){return this.next(),this.state.labels.push(wf),d.body=this.withTopicForbiddingContext(()=>this.parseStatement(\"do\")),this.state.labels.pop(),this.expect(px._while),d.test=this.parseHeaderExpression(),this.eat(px.semi),this.finishNode(d,\"DoWhileStatement\")}parseForStatement(d){this.next(),this.state.labels.push(wf);let N=-1;if(this.isAwaitAllowed()&&this.eatContextual(\"await\")&&(N=this.state.lastTokStart),this.scope.enter(0),this.expect(px.parenL),this.match(px.semi))return N>-1&&this.unexpected(N),this.parseFor(d,null);const C0=this.isContextual(\"let\"),_1=C0&&this.isLetKeyword();if(this.match(px._var)||this.match(px._const)||_1){const Zn=this.startNode(),_i=_1?\"let\":this.state.value;return this.next(),this.parseVar(Zn,!0,_i),this.finishNode(Zn,\"VariableDeclaration\"),(this.match(px._in)||this.isContextual(\"of\"))&&Zn.declarations.length===1?this.parseForIn(d,Zn,N):(N>-1&&this.unexpected(N),this.parseFor(d,Zn))}const jx=this.match(px.name)&&!this.state.containsEsc,We=new Vf,mt=this.parseExpression(!0,We),$t=this.isContextual(\"of\");if($t&&(C0?this.raise(mt.start,pt.ForOfLet):N===-1&&jx&&mt.type===\"Identifier\"&&mt.name===\"async\"&&this.raise(mt.start,pt.ForOfAsync)),$t||this.match(px._in)){this.toAssignable(mt,!0);const Zn=$t?\"for-of statement\":\"for-in statement\";return this.checkLVal(mt,Zn),this.parseForIn(d,mt,N)}return this.checkExpressionErrors(We,!0),N>-1&&this.unexpected(N),this.parseFor(d,mt)}parseFunctionStatement(d,N,C0){return this.next(),this.parseFunction(d,1|(C0?0:2),N)}parseIfStatement(d){return this.next(),d.test=this.parseHeaderExpression(),d.consequent=this.parseStatement(\"if\"),d.alternate=this.eat(px._else)?this.parseStatement(\"if\"):null,this.finishNode(d,\"IfStatement\")}parseReturnStatement(d){return this.prodParam.hasReturn||this.options.allowReturnOutsideFunction||this.raise(this.state.start,pt.IllegalReturn),this.next(),this.isLineTerminator()?d.argument=null:(d.argument=this.parseExpression(),this.semicolon()),this.finishNode(d,\"ReturnStatement\")}parseSwitchStatement(d){this.next(),d.discriminant=this.parseHeaderExpression();const N=d.cases=[];let C0,_1;for(this.expect(px.braceL),this.state.labels.push(tl),this.scope.enter(0);!this.match(px.braceR);)if(this.match(px._case)||this.match(px._default)){const jx=this.match(px._case);C0&&this.finishNode(C0,\"SwitchCase\"),N.push(C0=this.startNode()),C0.consequent=[],this.next(),jx?C0.test=this.parseExpression():(_1&&this.raise(this.state.lastTokStart,pt.MultipleDefaultsInSwitch),_1=!0,C0.test=null),this.expect(px.colon)}else C0?C0.consequent.push(this.parseStatement(null)):this.unexpected();return this.scope.exit(),C0&&this.finishNode(C0,\"SwitchCase\"),this.next(),this.state.labels.pop(),this.finishNode(d,\"SwitchStatement\")}parseThrowStatement(d){return this.next(),this.hasPrecedingLineBreak()&&this.raise(this.state.lastTokEnd,pt.NewlineAfterThrow),d.argument=this.parseExpression(),this.semicolon(),this.finishNode(d,\"ThrowStatement\")}parseCatchClauseParam(){const d=this.parseBindingAtom(),N=d.type===\"Identifier\";return this.scope.enter(N?8:0),this.checkLVal(d,\"catch clause\",9),d}parseTryStatement(d){if(this.next(),d.block=this.parseBlock(),d.handler=null,this.match(px._catch)){const N=this.startNode();this.next(),this.match(px.parenL)?(this.expect(px.parenL),N.param=this.parseCatchClauseParam(),this.expect(px.parenR)):(N.param=null,this.scope.enter(0)),N.body=this.withTopicForbiddingContext(()=>this.parseBlock(!1,!1)),this.scope.exit(),d.handler=this.finishNode(N,\"CatchClause\")}return d.finalizer=this.eat(px._finally)?this.parseBlock():null,d.handler||d.finalizer||this.raise(d.start,pt.NoCatchOrFinally),this.finishNode(d,\"TryStatement\")}parseVarStatement(d,N){return this.next(),this.parseVar(d,!1,N),this.semicolon(),this.finishNode(d,\"VariableDeclaration\")}parseWhileStatement(d){return this.next(),d.test=this.parseHeaderExpression(),this.state.labels.push(wf),d.body=this.withTopicForbiddingContext(()=>this.parseStatement(\"while\")),this.state.labels.pop(),this.finishNode(d,\"WhileStatement\")}parseWithStatement(d){return this.state.strict&&this.raise(this.state.start,pt.StrictWith),this.next(),d.object=this.parseHeaderExpression(),d.body=this.withTopicForbiddingContext(()=>this.parseStatement(\"with\")),this.finishNode(d,\"WithStatement\")}parseEmptyStatement(d){return this.next(),this.finishNode(d,\"EmptyStatement\")}parseLabeledStatement(d,N,C0,_1){for(const We of this.state.labels)We.name===N&&this.raise(C0.start,pt.LabelRedeclaration,N);const jx=this.state.type.isLoop?\"loop\":this.match(px._switch)?\"switch\":null;for(let We=this.state.labels.length-1;We>=0;We--){const mt=this.state.labels[We];if(mt.statementStart!==d.start)break;mt.statementStart=this.state.start,mt.kind=jx}return this.state.labels.push({name:N,kind:jx,statementStart:this.state.start}),d.body=this.parseStatement(_1?_1.indexOf(\"label\")===-1?_1+\"label\":_1:\"label\"),this.state.labels.pop(),d.label=C0,this.finishNode(d,\"LabeledStatement\")}parseExpressionStatement(d,N){return d.expression=N,this.semicolon(),this.finishNode(d,\"ExpressionStatement\")}parseBlock(d=!1,N=!0,C0){const _1=this.startNode();return d&&this.state.strictErrors.clear(),this.expect(px.braceL),N&&this.scope.enter(0),this.parseBlockBody(_1,d,!1,px.braceR,C0),N&&this.scope.exit(),this.finishNode(_1,\"BlockStatement\")}isValidDirective(d){return d.type===\"ExpressionStatement\"&&d.expression.type===\"StringLiteral\"&&!d.expression.extra.parenthesized}parseBlockBody(d,N,C0,_1,jx){const We=d.body=[],mt=d.directives=[];this.parseBlockOrModuleBlockBody(We,N?mt:void 0,C0,_1,jx)}parseBlockOrModuleBlockBody(d,N,C0,_1,jx){const We=this.state.strict;let mt=!1,$t=!1;for(;!this.match(_1);){const Zn=this.parseStatement(null,C0);if(N&&!$t){if(this.isValidDirective(Zn)){const _i=this.stmtToDirective(Zn);N.push(_i),mt||_i.value.value!==\"use strict\"||(mt=!0,this.setStrict(!0));continue}$t=!0,this.state.strictErrors.clear()}d.push(Zn)}jx&&jx.call(this,mt),We||this.setStrict(!1),this.next()}parseFor(d,N){return d.init=N,this.semicolon(!1),d.test=this.match(px.semi)?null:this.parseExpression(),this.semicolon(!1),d.update=this.match(px.parenR)?null:this.parseExpression(),this.expect(px.parenR),d.body=this.withTopicForbiddingContext(()=>this.parseStatement(\"for\")),this.scope.exit(),this.state.labels.pop(),this.finishNode(d,\"ForStatement\")}parseForIn(d,N,C0){const _1=this.match(px._in);return this.next(),_1?C0>-1&&this.unexpected(C0):d.await=C0>-1,N.type!==\"VariableDeclaration\"||N.declarations[0].init==null||_1&&!this.state.strict&&N.kind===\"var\"&&N.declarations[0].id.type===\"Identifier\"?N.type===\"AssignmentPattern\"&&this.raise(N.start,pt.InvalidLhs,\"for-loop\"):this.raise(N.start,pt.ForInOfLoopInitializer,_1?\"for-in\":\"for-of\"),d.left=N,d.right=_1?this.parseExpression():this.parseMaybeAssignAllowIn(),this.expect(px.parenR),d.body=this.withTopicForbiddingContext(()=>this.parseStatement(\"for\")),this.scope.exit(),this.state.labels.pop(),this.finishNode(d,_1?\"ForInStatement\":\"ForOfStatement\")}parseVar(d,N,C0){const _1=d.declarations=[],jx=this.hasPlugin(\"typescript\");for(d.kind=C0;;){const We=this.startNode();if(this.parseVarId(We,C0),this.eat(px.eq)?We.init=N?this.parseMaybeAssignDisallowIn():this.parseMaybeAssignAllowIn():(C0!==\"const\"||this.match(px._in)||this.isContextual(\"of\")?We.id.type===\"Identifier\"||N&&(this.match(px._in)||this.isContextual(\"of\"))||this.raise(this.state.lastTokEnd,pt.DeclarationMissingInitializer,\"Complex binding patterns\"):jx||this.raise(this.state.lastTokEnd,pt.DeclarationMissingInitializer,\"Const declarations\"),We.init=null),_1.push(this.finishNode(We,\"VariableDeclarator\")),!this.eat(px.comma))break}return d}parseVarId(d,N){d.id=this.parseBindingAtom(),this.checkLVal(d.id,\"variable declaration\",N===\"var\"?5:9,void 0,N!==\"var\")}parseFunction(d,N=0,C0=!1){const _1=1&N,jx=2&N,We=!(!_1||4&N);this.initFunction(d,C0),this.match(px.star)&&jx&&this.raise(this.state.start,pt.GeneratorInSingleStatementContext),d.generator=this.eat(px.star),_1&&(d.id=this.parseFunctionId(We));const mt=this.state.maybeInArrowParameters;return this.state.maybeInArrowParameters=!1,this.scope.enter(2),this.prodParam.enter(Pu(C0,d.generator)),_1||(d.id=this.parseFunctionId()),this.parseFunctionParams(d,!1),this.withTopicForbiddingContext(()=>{this.parseFunctionBodyAndFinish(d,_1?\"FunctionDeclaration\":\"FunctionExpression\")}),this.prodParam.exit(),this.scope.exit(),_1&&!jx&&this.registerFunctionStatementId(d),this.state.maybeInArrowParameters=mt,d}parseFunctionId(d){return d||this.match(px.name)?this.parseIdentifier():null}parseFunctionParams(d,N){this.expect(px.parenL),this.expressionScope.enter(new hF(3)),d.params=this.parseBindingList(px.parenR,41,!1,N),this.expressionScope.exit()}registerFunctionStatementId(d){d.id&&this.scope.declareName(d.id.name,this.state.strict||d.generator||d.async?this.scope.treatFunctionsAsVar?5:9:17,d.id.start)}parseClass(d,N,C0){this.next(),this.takeDecorators(d);const _1=this.state.strict;return this.state.strict=!0,this.parseClassId(d,N,C0),this.parseClassSuper(d),d.body=this.parseClassBody(!!d.superClass,_1),this.finishNode(d,N?\"ClassDeclaration\":\"ClassExpression\")}isClassProperty(){return this.match(px.eq)||this.match(px.semi)||this.match(px.braceR)}isClassMethod(){return this.match(px.parenL)}isNonstaticConstructor(d){return!(d.computed||d.static||d.key.name!==\"constructor\"&&d.key.value!==\"constructor\")}parseClassBody(d,N){this.classScope.enter();const C0={hadConstructor:!1,hadSuperClass:d};let _1=[];const jx=this.startNode();if(jx.body=[],this.expect(px.braceL),this.withTopicForbiddingContext(()=>{for(;!this.match(px.braceR);){if(this.eat(px.semi)){if(_1.length>0)throw this.raise(this.state.lastTokEnd,pt.DecoratorSemicolon);continue}if(this.match(px.at)){_1.push(this.parseDecorator());continue}const We=this.startNode();_1.length&&(We.decorators=_1,this.resetStartLocationFromNode(We,_1[0]),_1=[]),this.parseClassMember(jx,We,C0),We.kind===\"constructor\"&&We.decorators&&We.decorators.length>0&&this.raise(We.start,pt.DecoratorConstructor)}}),this.state.strict=N,this.next(),_1.length)throw this.raise(this.state.start,pt.TrailingDecorator);return this.classScope.exit(),this.finishNode(jx,\"ClassBody\")}parseClassMemberFromModifier(d,N){const C0=this.parseIdentifier(!0);if(this.isClassMethod()){const _1=N;return _1.kind=\"method\",_1.computed=!1,_1.key=C0,_1.static=!1,this.pushClassMethod(d,_1,!1,!1,!1,!1),!0}if(this.isClassProperty()){const _1=N;return _1.computed=!1,_1.key=C0,_1.static=!1,d.body.push(this.parseClassProperty(_1)),!0}return!1}parseClassMember(d,N,C0){const _1=this.isContextual(\"static\");if(_1){if(this.parseClassMemberFromModifier(d,N))return;if(this.eat(px.braceL))return void this.parseClassStaticBlock(d,N)}this.parseClassMemberWithIsStatic(d,N,C0,_1)}parseClassMemberWithIsStatic(d,N,C0,_1){const jx=N,We=N,mt=N,$t=N,Zn=jx,_i=jx;if(N.static=_1,this.eat(px.star)){Zn.kind=\"method\";const jc=this.match(px.privateName);return this.parseClassElementName(Zn),jc?void this.pushClassPrivateMethod(d,We,!0,!1):(this.isNonstaticConstructor(jx)&&this.raise(jx.key.start,pt.ConstructorIsGenerator),void this.pushClassMethod(d,jx,!0,!1,!1,!1))}const Va=this.state.containsEsc,Bo=this.match(px.privateName),Rt=this.parseClassElementName(N),Xs=Rt.type===\"Identifier\",ll=this.state.start;if(this.parsePostMemberNameModifiers(_i),this.isClassMethod()){if(Zn.kind=\"method\",Bo)return void this.pushClassPrivateMethod(d,We,!1,!1);const jc=this.isNonstaticConstructor(jx);let xu=!1;jc&&(jx.kind=\"constructor\",C0.hadConstructor&&!this.hasPlugin(\"typescript\")&&this.raise(Rt.start,pt.DuplicateConstructor),jc&&this.hasPlugin(\"typescript\")&&N.override&&this.raise(Rt.start,pt.OverrideOnConstructor),C0.hadConstructor=!0,xu=C0.hadSuperClass),this.pushClassMethod(d,jx,!1,!1,jc,xu)}else if(this.isClassProperty())Bo?this.pushClassPrivateProperty(d,$t):this.pushClassProperty(d,mt);else if(!Xs||Rt.name!==\"async\"||Va||this.isLineTerminator())if(!Xs||Rt.name!==\"get\"&&Rt.name!==\"set\"||Va||this.match(px.star)&&this.isLineTerminator())this.isLineTerminator()?Bo?this.pushClassPrivateProperty(d,$t):this.pushClassProperty(d,mt):this.unexpected();else{Zn.kind=Rt.name;const jc=this.match(px.privateName);this.parseClassElementName(jx),jc?this.pushClassPrivateMethod(d,We,!1,!1):(this.isNonstaticConstructor(jx)&&this.raise(jx.key.start,pt.ConstructorIsAccessor),this.pushClassMethod(d,jx,!1,!1,!1,!1)),this.checkGetterSetterParams(jx)}else{const jc=this.eat(px.star);_i.optional&&this.unexpected(ll),Zn.kind=\"method\";const xu=this.match(px.privateName);this.parseClassElementName(Zn),this.parsePostMemberNameModifiers(_i),xu?this.pushClassPrivateMethod(d,We,jc,!0):(this.isNonstaticConstructor(jx)&&this.raise(jx.key.start,pt.ConstructorIsAsync),this.pushClassMethod(d,jx,jc,!0,!1,!1))}}parseClassElementName(d){const{type:N,value:C0,start:_1}=this.state;return N!==px.name&&N!==px.string||!d.static||C0!==\"prototype\"||this.raise(_1,pt.StaticPrototype),N===px.privateName&&C0===\"constructor\"&&this.raise(_1,pt.ConstructorClassPrivateField),this.parsePropertyName(d,!0)}parseClassStaticBlock(d,N){var C0;this.expectPlugin(\"classStaticBlock\",N.start),this.scope.enter(208);const _1=this.state.labels;this.state.labels=[],this.prodParam.enter(0);const jx=N.body=[];this.parseBlockOrModuleBlockBody(jx,void 0,!1,px.braceR),this.prodParam.exit(),this.scope.exit(),this.state.labels=_1,d.body.push(this.finishNode(N,\"StaticBlock\")),(C0=N.decorators)!=null&&C0.length&&this.raise(N.start,pt.DecoratorStaticBlock)}pushClassProperty(d,N){N.computed||N.key.name!==\"constructor\"&&N.key.value!==\"constructor\"||this.raise(N.key.start,pt.ConstructorClassField),d.body.push(this.parseClassProperty(N))}pushClassPrivateProperty(d,N){const C0=this.parseClassPrivateProperty(N);d.body.push(C0),this.classScope.declarePrivateName(this.getPrivateNameSV(C0.key),0,C0.key.start)}pushClassMethod(d,N,C0,_1,jx,We){d.body.push(this.parseMethod(N,C0,_1,jx,We,\"ClassMethod\",!0))}pushClassPrivateMethod(d,N,C0,_1){const jx=this.parseMethod(N,C0,_1,!1,!1,\"ClassPrivateMethod\",!0);d.body.push(jx);const We=jx.kind===\"get\"?jx.static?6:2:jx.kind===\"set\"?jx.static?5:1:0;this.classScope.declarePrivateName(this.getPrivateNameSV(jx.key),We,jx.key.start)}parsePostMemberNameModifiers(d){}parseClassPrivateProperty(d){return this.parseInitializer(d),this.semicolon(),this.finishNode(d,\"ClassPrivateProperty\")}parseClassProperty(d){return this.parseInitializer(d),this.semicolon(),this.finishNode(d,\"ClassProperty\")}parseInitializer(d){this.scope.enter(80),this.expressionScope.enter(SA()),this.prodParam.enter(0),d.value=this.eat(px.eq)?this.parseMaybeAssignAllowIn():null,this.expressionScope.exit(),this.prodParam.exit(),this.scope.exit()}parseClassId(d,N,C0,_1=139){this.match(px.name)?(d.id=this.parseIdentifier(),N&&this.checkLVal(d.id,\"class name\",_1)):C0||!N?d.id=null:this.unexpected(null,pt.MissingClassName)}parseClassSuper(d){d.superClass=this.eat(px._extends)?this.parseExprSubscripts():null}parseExport(d){const N=this.maybeParseExportDefaultSpecifier(d),C0=!N||this.eat(px.comma),_1=C0&&this.eatExportStar(d),jx=_1&&this.maybeParseExportNamespaceSpecifier(d),We=C0&&(!jx||this.eat(px.comma)),mt=N||_1;if(_1&&!jx)return N&&this.unexpected(),this.parseExportFrom(d,!0),this.finishNode(d,\"ExportAllDeclaration\");const $t=this.maybeParseExportNamedSpecifiers(d);if(N&&C0&&!_1&&!$t||jx&&We&&!$t)throw this.unexpected(null,px.braceL);let Zn;if(mt||$t?(Zn=!1,this.parseExportFrom(d,mt)):Zn=this.maybeParseExportDeclaration(d),mt||$t||Zn)return this.checkExport(d,!0,!1,!!d.source),this.finishNode(d,\"ExportNamedDeclaration\");if(this.eat(px._default))return d.declaration=this.parseExportDefaultExpression(),this.checkExport(d,!0,!0),this.finishNode(d,\"ExportDefaultDeclaration\");throw this.unexpected(null,px.braceL)}eatExportStar(d){return this.eat(px.star)}maybeParseExportDefaultSpecifier(d){if(this.isExportDefaultSpecifier()){this.expectPlugin(\"exportDefaultFrom\");const N=this.startNode();return N.exported=this.parseIdentifier(!0),d.specifiers=[this.finishNode(N,\"ExportDefaultSpecifier\")],!0}return!1}maybeParseExportNamespaceSpecifier(d){if(this.isContextual(\"as\")){d.specifiers||(d.specifiers=[]);const N=this.startNodeAt(this.state.lastTokStart,this.state.lastTokStartLoc);return this.next(),N.exported=this.parseModuleExportName(),d.specifiers.push(this.finishNode(N,\"ExportNamespaceSpecifier\")),!0}return!1}maybeParseExportNamedSpecifiers(d){return!!this.match(px.braceL)&&(d.specifiers||(d.specifiers=[]),d.specifiers.push(...this.parseExportSpecifiers()),d.source=null,d.declaration=null,!0)}maybeParseExportDeclaration(d){return!!this.shouldParseExportDeclaration()&&(d.specifiers=[],d.source=null,d.declaration=this.parseExportDeclaration(d),!0)}isAsyncFunction(){if(!this.isContextual(\"async\"))return!1;const d=this.nextTokenStart();return!Tf.test(this.input.slice(this.state.pos,d))&&this.isUnparsedContextual(d,\"function\")}parseExportDefaultExpression(){const d=this.startNode(),N=this.isAsyncFunction();if(this.match(px._function)||N)return this.next(),N&&this.next(),this.parseFunction(d,5,N);if(this.match(px._class))return this.parseClass(d,!0,!0);if(this.match(px.at))return this.hasPlugin(\"decorators\")&&this.getPluginOption(\"decorators\",\"decoratorsBeforeExport\")&&this.raise(this.state.start,pt.DecoratorBeforeExport),this.parseDecorators(!1),this.parseClass(d,!0,!0);if(this.match(px._const)||this.match(px._var)||this.isLet())throw this.raise(this.state.start,pt.UnsupportedDefaultExport);{const C0=this.parseMaybeAssignAllowIn();return this.semicolon(),C0}}parseExportDeclaration(d){return this.parseStatement(null)}isExportDefaultSpecifier(){if(this.match(px.name)){const C0=this.state.value;if(C0===\"async\"&&!this.state.containsEsc||C0===\"let\")return!1;if((C0===\"type\"||C0===\"interface\")&&!this.state.containsEsc){const _1=this.lookahead();if(_1.type===px.name&&_1.value!==\"from\"||_1.type===px.braceL)return this.expectOnePlugin([\"flow\",\"typescript\"]),!1}}else if(!this.match(px._default))return!1;const d=this.nextTokenStart(),N=this.isUnparsedContextual(d,\"from\");if(this.input.charCodeAt(d)===44||this.match(px.name)&&N)return!0;if(this.match(px._default)&&N){const C0=this.input.charCodeAt(this.nextTokenStartSince(d+4));return C0===34||C0===39}return!1}parseExportFrom(d,N){if(this.eatContextual(\"from\")){d.source=this.parseImportSource(),this.checkExport(d);const C0=this.maybeParseImportAssertions();C0&&(d.assertions=C0)}else N?this.unexpected():d.source=null;this.semicolon()}shouldParseExportDeclaration(){if(this.match(px.at)&&(this.expectOnePlugin([\"decorators\",\"decorators-legacy\"]),this.hasPlugin(\"decorators\"))){if(!this.getPluginOption(\"decorators\",\"decoratorsBeforeExport\"))return!0;this.unexpected(this.state.start,pt.DecoratorBeforeExport)}return this.state.type.keyword===\"var\"||this.state.type.keyword===\"const\"||this.state.type.keyword===\"function\"||this.state.type.keyword===\"class\"||this.isLet()||this.isAsyncFunction()}checkExport(d,N,C0,_1){if(N){if(C0){if(this.checkDuplicateExports(d,\"default\"),this.hasPlugin(\"exportDefaultFrom\")){var jx;const We=d.declaration;We.type!==\"Identifier\"||We.name!==\"from\"||We.end-We.start!=4||(jx=We.extra)!=null&&jx.parenthesized||this.raise(We.start,pt.ExportDefaultFromAsIdentifier)}}else if(d.specifiers&&d.specifiers.length)for(const We of d.specifiers){const{exported:mt}=We,$t=mt.type===\"Identifier\"?mt.name:mt.value;if(this.checkDuplicateExports(We,$t),!_1&&We.local){const{local:Zn}=We;Zn.type!==\"Identifier\"?this.raise(We.start,pt.ExportBindingIsString,Zn.value,$t):(this.checkReservedWord(Zn.name,Zn.start,!0,!1),this.scope.checkLocalExport(Zn))}}else if(d.declaration){if(d.declaration.type===\"FunctionDeclaration\"||d.declaration.type===\"ClassDeclaration\"){const We=d.declaration.id;if(!We)throw new Error(\"Assertion failure\");this.checkDuplicateExports(d,We.name)}else if(d.declaration.type===\"VariableDeclaration\")for(const We of d.declaration.declarations)this.checkDeclaration(We.id)}}if(this.state.decoratorStack[this.state.decoratorStack.length-1].length)throw this.raise(d.start,pt.UnsupportedDecoratorExport)}checkDeclaration(d){if(d.type===\"Identifier\")this.checkDuplicateExports(d,d.name);else if(d.type===\"ObjectPattern\")for(const N of d.properties)this.checkDeclaration(N);else if(d.type===\"ArrayPattern\")for(const N of d.elements)N&&this.checkDeclaration(N);else d.type===\"ObjectProperty\"?this.checkDeclaration(d.value):d.type===\"RestElement\"?this.checkDeclaration(d.argument):d.type===\"AssignmentPattern\"&&this.checkDeclaration(d.left)}checkDuplicateExports(d,N){this.exportedIdentifiers.has(N)&&this.raise(d.start,N===\"default\"?pt.DuplicateDefaultExport:pt.DuplicateExport,N),this.exportedIdentifiers.add(N)}parseExportSpecifiers(){const d=[];let N=!0;for(this.expect(px.braceL);!this.eat(px.braceR);){if(N)N=!1;else if(this.expect(px.comma),this.eat(px.braceR))break;const C0=this.startNode();C0.local=this.parseModuleExportName(),C0.exported=this.eatContextual(\"as\")?this.parseModuleExportName():C0.local.__clone(),d.push(this.finishNode(C0,\"ExportSpecifier\"))}return d}parseModuleExportName(){if(this.match(px.string)){const d=this.parseStringLiteral(this.state.value),N=d.value.match(kf);return N&&this.raise(d.start,pt.ModuleExportNameHasLoneSurrogate,N[0].charCodeAt(0).toString(16)),d}return this.parseIdentifier(!0)}parseImport(d){if(d.specifiers=[],!this.match(px.string)){const C0=!this.maybeParseDefaultImportSpecifier(d)||this.eat(px.comma),_1=C0&&this.maybeParseStarImportSpecifier(d);C0&&!_1&&this.parseNamedImportSpecifiers(d),this.expectContextual(\"from\")}d.source=this.parseImportSource();const N=this.maybeParseImportAssertions();if(N)d.assertions=N;else{const C0=this.maybeParseModuleAttributes();C0&&(d.attributes=C0)}return this.semicolon(),this.finishNode(d,\"ImportDeclaration\")}parseImportSource(){return this.match(px.string)||this.unexpected(),this.parseExprAtom()}shouldParseDefaultImport(d){return this.match(px.name)}parseImportSpecifierLocal(d,N,C0,_1){N.local=this.parseIdentifier(),this.checkLVal(N.local,_1,9),d.specifiers.push(this.finishNode(N,C0))}parseAssertEntries(){const d=[],N=new Set;do{if(this.match(px.braceR))break;const C0=this.startNode(),_1=this.state.value;if(N.has(_1)&&this.raise(this.state.start,pt.ModuleAttributesWithDuplicateKeys,_1),N.add(_1),this.match(px.string)?C0.key=this.parseStringLiteral(_1):C0.key=this.parseIdentifier(!0),this.expect(px.colon),!this.match(px.string))throw this.unexpected(this.state.start,pt.ModuleAttributeInvalidValue);C0.value=this.parseStringLiteral(this.state.value),this.finishNode(C0,\"ImportAttribute\"),d.push(C0)}while(this.eat(px.comma));return d}maybeParseModuleAttributes(){if(!this.match(px._with)||this.hasPrecedingLineBreak())return this.hasPlugin(\"moduleAttributes\")?[]:null;this.expectPlugin(\"moduleAttributes\"),this.next();const d=[],N=new Set;do{const C0=this.startNode();if(C0.key=this.parseIdentifier(!0),C0.key.name!==\"type\"&&this.raise(C0.key.start,pt.ModuleAttributeDifferentFromType,C0.key.name),N.has(C0.key.name)&&this.raise(C0.key.start,pt.ModuleAttributesWithDuplicateKeys,C0.key.name),N.add(C0.key.name),this.expect(px.colon),!this.match(px.string))throw this.unexpected(this.state.start,pt.ModuleAttributeInvalidValue);C0.value=this.parseStringLiteral(this.state.value),this.finishNode(C0,\"ImportAttribute\"),d.push(C0)}while(this.eat(px.comma));return d}maybeParseImportAssertions(){if(!this.isContextual(\"assert\")||this.hasPrecedingLineBreak())return this.hasPlugin(\"importAssertions\")?[]:null;this.expectPlugin(\"importAssertions\"),this.next(),this.eat(px.braceL);const d=this.parseAssertEntries();return this.eat(px.braceR),d}maybeParseDefaultImportSpecifier(d){return!!this.shouldParseDefaultImport(d)&&(this.parseImportSpecifierLocal(d,this.startNode(),\"ImportDefaultSpecifier\",\"default import specifier\"),!0)}maybeParseStarImportSpecifier(d){if(this.match(px.star)){const N=this.startNode();return this.next(),this.expectContextual(\"as\"),this.parseImportSpecifierLocal(d,N,\"ImportNamespaceSpecifier\",\"import namespace specifier\"),!0}return!1}parseNamedImportSpecifiers(d){let N=!0;for(this.expect(px.braceL);!this.eat(px.braceR);){if(N)N=!1;else{if(this.eat(px.colon))throw this.raise(this.state.start,pt.DestructureNamedImport);if(this.expect(px.comma),this.eat(px.braceR))break}this.parseImportSpecifier(d)}}parseImportSpecifier(d){const N=this.startNode(),C0=this.match(px.string);if(N.imported=this.parseModuleExportName(),this.eatContextual(\"as\"))N.local=this.parseIdentifier();else{const{imported:_1}=N;if(C0)throw this.raise(N.start,pt.ImportBindingIsString,_1.value);this.checkReservedWord(_1.name,N.start,!0,!0),N.local=_1.__clone()}this.checkLVal(N.local,\"import specifier\",9),d.specifiers.push(this.finishNode(N,\"ImportSpecifier\"))}isThisParam(d){return d.type===\"Identifier\"&&d.name===\"this\"}}{constructor(d,N){super(d=function(C0){const _1={};for(const jx of Object.keys(cd))_1[jx]=C0&&C0[jx]!=null?C0[jx]:cd[jx];return _1}(d),N),this.options=d,this.initializeScopes(),this.plugins=function(C0){const _1=new Map;for(const jx of C0){const[We,mt]=Array.isArray(jx)?jx:[jx,{}];_1.has(We)||_1.set(We,mt||{})}return _1}(this.options.plugins),this.filename=d.sourceFilename}getScopeHandler(){return $u}parse(){this.enterInitialScopes();const d=this.startNode(),N=this.startNode();return this.nextToken(),d.errors=null,this.parseTopLevel(d,N),d.errors=this.state.errors,d}}function M0(B0,d){let N=Xd;return B0!=null&&B0.plugins&&(function(C0){if(Uf(C0,\"decorators\")){if(Uf(C0,\"decorators-legacy\"))throw new Error(\"Cannot use the decorators and decorators-legacy plugin together\");const _1=ff(C0,\"decorators\",\"decoratorsBeforeExport\");if(_1==null)throw new Error(\"The 'decorators' plugin requires a 'decoratorsBeforeExport' option, whose value must be a boolean. If you are migrating from Babylon/Babel 6 or want to use the old decorators proposal, you should use the 'decorators-legacy' plugin instead of 'decorators'.\");if(typeof _1!=\"boolean\")throw new Error(\"'decoratorsBeforeExport' must be a boolean.\")}if(Uf(C0,\"flow\")&&Uf(C0,\"typescript\"))throw new Error(\"Cannot combine flow and typescript plugins.\");if(Uf(C0,\"placeholders\")&&Uf(C0,\"v8intrinsic\"))throw new Error(\"Cannot combine placeholders and v8intrinsic plugins.\");if(Uf(C0,\"pipelineOperator\")&&!iw.includes(ff(C0,\"pipelineOperator\",\"proposal\")))throw new Error(\"'pipelineOperator' requires 'proposal' option whose value should be one of: \"+iw.map(_1=>`'${_1}'`).join(\", \"));if(Uf(C0,\"moduleAttributes\")){if(Uf(C0,\"importAssertions\"))throw new Error(\"Cannot combine importAssertions and moduleAttributes plugins.\");if(ff(C0,\"moduleAttributes\",\"version\")!==\"may-2020\")throw new Error(\"The 'moduleAttributes' plugin requires a 'version' option, representing the last proposal update. Currently, the only supported value is 'may-2020'.\")}if(Uf(C0,\"recordAndTuple\")&&!R4.includes(ff(C0,\"recordAndTuple\",\"syntaxType\")))throw new Error(\"'recordAndTuple' requires 'syntaxType' option whose value should be one of: \"+R4.map(_1=>`'${_1}'`).join(\", \"));if(Uf(C0,\"asyncDoExpressions\")&&!Uf(C0,\"doExpressions\")){const _1=new Error(\"'asyncDoExpressions' requires 'doExpressions', please add 'doExpressions' to parser plugins.\");throw _1.missingPlugins=\"doExpressions\",_1}}(B0.plugins),N=function(C0){const _1=Gd.filter(mt=>Uf(C0,mt)),jx=_1.join(\"/\");let We=e0[jx];if(!We){We=Xd;for(const mt of _1)We=o5[mt](We);e0[jx]=We}return We}(B0.plugins)),new N(B0,d)}const e0={};var R0=function(B0,d){var N;if(((N=d)==null?void 0:N.sourceType)!==\"unambiguous\")return M0(d,B0).parse();d=Object.assign({},d);try{d.sourceType=\"module\";const C0=M0(d,B0),_1=C0.parse();if(C0.sawUnambiguousESM)return _1;if(C0.ambiguousScriptDifferentAst)try{return d.sourceType=\"script\",M0(d,B0).parse()}catch{}else _1.program.sourceType=\"script\";return _1}catch(C0){try{return d.sourceType=\"script\",M0(d,B0).parse()}catch{}throw C0}},R1=function(B0,d){const N=M0(d,B0);return N.options.strictMode&&(N.state.strict=!0),N.getExpression()},H1=px,Jx=Object.defineProperty({parse:R0,parseExpression:R1,tokTypes:H1},\"__esModule\",{value:!0});const{isNonEmptyArray:Se}=zE;function Ye(B0={}){const{allowComments:d=!0}=B0;return function(N){const{parseExpression:C0}=Jx;let _1;try{_1=C0(N,{tokens:!0,ranges:!0})}catch(jx){throw Ww(jx)}if(!d&&Se(_1.comments))throw tt(_1.comments[0],\"Comment\");return Er(_1),_1}}function tt(B0,d){const[N,C0]=[B0.loc.start,B0.loc.end].map(({line:_1,column:jx})=>({line:_1,column:jx+1}));return n6(`${d} is not allowed in JSON.`,{start:N,end:C0})}function Er(B0){switch(B0.type){case\"ArrayExpression\":for(const d of B0.elements)d!==null&&Er(d);return;case\"ObjectExpression\":for(const d of B0.properties)Er(d);return;case\"ObjectProperty\":if(B0.computed)throw tt(B0.key,\"Computed key\");if(B0.shorthand)throw tt(B0.key,\"Shorthand property\");return B0.key.type!==\"Identifier\"&&Er(B0.key),void Er(B0.value);case\"UnaryExpression\":{const{operator:d,argument:N}=B0;if(d!==\"+\"&&d!==\"-\")throw tt(B0,`Operator '${B0.operator}'`);if(N.type===\"NumericLiteral\"||N.type===\"Identifier\"&&(N.name===\"Infinity\"||N.name===\"NaN\"))return;throw tt(N,`Operator '${d}' before '${N.type}'`)}case\"Identifier\":if(B0.name!==\"Infinity\"&&B0.name!==\"NaN\"&&B0.name!==\"undefined\")throw tt(B0,`Identifier '${B0.name}'`);return;case\"TemplateLiteral\":if(Se(B0.expressions))throw tt(B0.expressions[0],\"'TemplateLiteral' with expression\");for(const d of B0.quasis)Er(d);return;case\"NullLiteral\":case\"BooleanLiteral\":case\"NumericLiteral\":case\"StringLiteral\":case\"TemplateElement\":return;default:throw tt(B0,`'${B0.type}'`)}}const Zt=Ye();var hi={json:QF({parse:Zt,hasPragma:()=>!0}),json5:QF(Zt),\"json-stringify\":QF({parse:Ye({allowComments:!1}),astFormat:\"estree-json\"})};const{getNextNonSpaceNonCommentCharacterIndexWithStartIndex:po,getShebang:ba}=zE,oa={sourceType:\"module\",allowAwaitOutsideFunction:!0,allowImportExportEverywhere:!0,allowReturnOutsideFunction:!0,allowSuperOutsideMethod:!0,allowUndeclaredExports:!0,errorRecovery:!0,createParenthesizedExpressions:!0,plugins:[\"doExpressions\",\"exportDefaultFrom\",\"functionBind\",\"functionSent\",\"throwExpressions\",\"v8intrinsic\",\"partialApplication\",[\"decorators\",{decoratorsBeforeExport:!1}],\"privateIn\",\"importAssertions\",[\"recordAndTuple\",{syntaxType:\"hash\"}],\"decimal\",\"classStaticBlock\",\"moduleBlocks\",\"asyncDoExpressions\"],tokens:!0,ranges:!0},ho=[[\"pipelineOperator\",{proposal:\"smart\"}],[\"pipelineOperator\",{proposal:\"minimal\"}],[\"pipelineOperator\",{proposal:\"fsharp\"}]],Za=B0=>Object.assign(Object.assign({},oa),{},{plugins:[...oa.plugins,...B0]}),Od=/@(?:no)?flow\\b/;function Cl(B0,...d){return(N,C0,_1={})=>{if((_1.parser===\"babel\"||_1.parser===\"__babel_estree\")&&function($t,Zn){if(Zn.filepath&&Zn.filepath.endsWith(\".js.flow\"))return!0;const _i=ba($t);_i&&($t=$t.slice(_i.length));const Va=po($t,0);return Va!==!1&&($t=$t.slice(0,Va)),Od.test($t)}(N,_1))return _1.parser=\"babel-flow\",N0(N,C0,_1);let jx=d;_1.__babelSourceType===\"script\"&&(jx=jx.map($t=>Object.assign(Object.assign({},$t),{},{sourceType:\"script\"}))),N.includes(\"|>\")&&(jx=ho.flatMap($t=>jx.map(Zn=>Object.assign(Object.assign({},Zn),{},{plugins:[...Zn.plugins,$t]}))));const{result:We,error:mt}=t6(...jx.map($t=>()=>function(Zn,_i,Va){const Bo=(0,Jx[Zn])(_i,Va),Rt=Bo.errors.find(Xs=>!bt.has(Xs.reasonCode));if(Rt)throw Rt;return Bo}(B0,N,$t)));if(!We)throw Ww(mt);return zw(We,Object.assign(Object.assign({},_1),{},{originalText:N}))}}const S=Cl(\"parse\",Za([\"jsx\",\"flow\"])),N0=Cl(\"parse\",Za([\"jsx\",[\"flow\",{all:!0,enums:!0}]])),P1=Cl(\"parse\",Za([\"jsx\",\"typescript\"]),Za([\"typescript\"])),zx=Cl(\"parse\",Za([\"jsx\",\"flow\",\"estree\"])),$e=Cl(\"parseExpression\",Za([\"jsx\"])),bt=new Set([\"StrictNumericEscape\",\"StrictWith\",\"StrictOctalLiteral\",\"EmptyTypeArguments\",\"EmptyTypeParameters\",\"ConstructorHasTypeParameters\",\"UnsupportedParameterPropertyKind\",\"UnexpectedParameterModifier\",\"MixedLabeledAndUnlabeledElements\",\"InvalidTupleMemberLabel\",\"NonClassMethodPropertyHasAbstractModifer\",\"ReadonlyForMethodSignature\",\"ClassMethodHasDeclare\",\"ClassMethodHasReadonly\",\"InvalidModifierOnTypeMember\",\"DuplicateAccessibilityModifier\",\"IndexSignatureHasDeclare\",\"DecoratorExportClass\",\"ParamDupe\",\"InvalidDecimal\",\"RestTrailingComma\",\"UnsupportedParameterDecorator\",\"UnterminatedJsxContent\",\"UnexpectedReservedWord\",\"ModuleAttributesWithDuplicateKeys\",\"LineTerminatorBeforeArrow\",\"InvalidEscapeSequenceTemplate\",\"NonAbstractClassHasAbstractMethod\",\"UnsupportedPropertyDecorator\",\"OptionalTypeBeforeRequired\",\"PatternIsOptional\",\"OptionalBindingPattern\",\"DeclareClassFieldHasInitializer\",\"TypeImportCannotSpecifyDefaultAndNamed\",\"DeclareFunctionHasImplementation\",\"ConstructorClassField\",\"VarRedeclaration\",\"InvalidPrivateFieldResolution\",\"DuplicateExport\"]),qr=QF(S),ji=QF($e);return{parsers:Object.assign(Object.assign({babel:qr,\"babel-flow\":QF(N0),\"babel-ts\":QF(P1)},hi),{},{__js_expression:ji,__vue_expression:ji,__vue_event_binding:qr,__babel_estree:QF(zx)})}})})(iR);var Jy0={exports:{}};(function(a,u){(function(c,b){a.exports=b()})($F,function(){var c=function(B1,Yx){const Oe=new SyntaxError(B1+\" (\"+Yx.start.line+\":\"+Yx.start.column+\")\");return Oe.loc=Yx,Oe},b=B1=>typeof B1==\"string\"?B1.replace((({onlyFirst:Yx=!1}={})=>{const Oe=[\"[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:[a-zA-Z\\\\d]*(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)\",\"(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))\"].join(\"|\");return new RegExp(Oe,Yx?void 0:\"g\")})(),\"\"):B1;const R=B1=>!Number.isNaN(B1)&&B1>=4352&&(B1<=4447||B1===9001||B1===9002||11904<=B1&&B1<=12871&&B1!==12351||12880<=B1&&B1<=19903||19968<=B1&&B1<=42182||43360<=B1&&B1<=43388||44032<=B1&&B1<=55203||63744<=B1&&B1<=64255||65040<=B1&&B1<=65049||65072<=B1&&B1<=65131||65281<=B1&&B1<=65376||65504<=B1&&B1<=65510||110592<=B1&&B1<=110593||127488<=B1&&B1<=127569||131072<=B1&&B1<=262141);var K=R,s0=R;K.default=s0;const Y=B1=>{if(typeof B1!=\"string\"||B1.length===0||(B1=b(B1)).length===0)return 0;B1=B1.replace(/\\uD83C\\uDFF4\\uDB40\\uDC67\\uDB40\\uDC62(?:\\uDB40\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67|\\uDB40\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDB40\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73)\\uDB40\\uDC7F|\\uD83D\\uDC68(?:\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C\\uDFFB|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFE])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83D\\uDC68|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D[\\uDC66\\uDC67])|[\\u2695\\u2696\\u2708]\\uFE0F|\\uD83D[\\uDC66\\uDC67]|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|(?:\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708])\\uFE0F|\\uD83C\\uDFFB\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C[\\uDFFB-\\uDFFF])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFB\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)\\uD83C\\uDFFB|\\uD83E\\uDDD1(?:\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1)|(?:\\uD83E\\uDDD1\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69]))(?:\\uD83C[\\uDFFB-\\uDFFE])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83D\\uDC69(?:\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFB\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFC-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D(?:\\uD83D[\\uDC68\\uDC69])|\\uD83D[\\uDC68\\uDC69])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|(?:\\uD83E\\uDDD1\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D\\uDC41\\uFE0F\\u200D\\uD83D\\uDDE8|\\uD83D\\uDC69(?:\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708])|(?:(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)\\uFE0F|\\uD83D\\uDC6F|\\uD83E[\\uDD3C\\uDDDE\\uDDDF])\\u200D[\\u2640\\u2642]|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|\\u200D[\\u2640\\u2642])|\\uD83C\\uDFF4\\u200D\\u2620)\\uFE0F|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|\\uD83C\\uDFF3\\uFE0F\\u200D\\uD83C\\uDF08|\\uD83D\\uDC15\\u200D\\uD83E\\uDDBA|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67|\\uD83C\\uDDFD\\uD83C\\uDDF0|\\uD83C\\uDDF4\\uD83C\\uDDF2|\\uD83C\\uDDF6\\uD83C\\uDDE6|[#\\*0-9]\\uFE0F\\u20E3|\\uD83C\\uDDE7(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDF9(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF])|\\uD83C\\uDDEA(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA])|\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF7(?:\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC])|\\uD83D\\uDC69(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF2(?:\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF])|\\uD83C\\uDDE6(?:\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF])|\\uD83C\\uDDF0(?:\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDED(?:\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA])|\\uD83C\\uDDE9(?:\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF])|\\uD83C\\uDDFE(?:\\uD83C[\\uDDEA\\uDDF9])|\\uD83C\\uDDEC(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE])|\\uD83C\\uDDF8(?:\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF])|\\uD83C\\uDDEB(?:\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7])|\\uD83C\\uDDF5(?:\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE])|\\uD83C\\uDDFB(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA])|\\uD83C\\uDDF3(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF])|\\uD83C\\uDDE8(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF5\\uDDF7\\uDDFA-\\uDDFF])|\\uD83C\\uDDF1(?:\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE])|\\uD83C\\uDDFF(?:\\uD83C[\\uDDE6\\uDDF2\\uDDFC])|\\uD83C\\uDDFC(?:\\uD83C[\\uDDEB\\uDDF8])|\\uD83C\\uDDFA(?:\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF])|\\uD83C\\uDDEE(?:\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9])|\\uD83C\\uDDEF(?:\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5])|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u261D\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2\\uDFC7]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC70\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDCAA\\uDD74\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1C\\uDD1E\\uDD1F\\uDD30-\\uDD36\\uDDB5\\uDDB6\\uDDBB\\uDDD2-\\uDDD5])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u231A\\u231B\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u25FE\\u2614\\u2615\\u2648-\\u2653\\u267F\\u2693\\u26A1\\u26AA\\u26AB\\u26BD\\u26BE\\u26C4\\u26C5\\u26CE\\u26D4\\u26EA\\u26F2\\u26F3\\u26F5\\u26FA\\u26FD\\u2705\\u270A\\u270B\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2795-\\u2797\\u27B0\\u27BF\\u2B1B\\u2B1C\\u2B50\\u2B55]|\\uD83C[\\uDC04\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF7C\\uDF7E-\\uDF93\\uDFA0-\\uDFCA\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF4\\uDFF8-\\uDFFF]|\\uD83D[\\uDC00-\\uDC3E\\uDC40\\uDC42-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDD7A\\uDD95\\uDD96\\uDDA4\\uDDFB-\\uDE4F\\uDE80-\\uDEC5\\uDECC\\uDED0-\\uDED2\\uDED5\\uDEEB\\uDEEC\\uDEF4-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])|(?:[#\\*0-9\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u231A\\u231B\\u2328\\u23CF\\u23E9-\\u23F3\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB-\\u25FE\\u2600-\\u2604\\u260E\\u2611\\u2614\\u2615\\u2618\\u261D\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u2648-\\u2653\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u267F\\u2692-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A1\\u26AA\\u26AB\\u26B0\\u26B1\\u26BD\\u26BE\\u26C4\\u26C5\\u26C8\\u26CE\\u26CF\\u26D1\\u26D3\\u26D4\\u26E9\\u26EA\\u26F0-\\u26F5\\u26F7-\\u26FA\\u26FD\\u2702\\u2705\\u2708-\\u270D\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2728\\u2733\\u2734\\u2744\\u2747\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2763\\u2764\\u2795-\\u2797\\u27A1\\u27B0\\u27BF\\u2934\\u2935\\u2B05-\\u2B07\\u2B1B\\u2B1C\\u2B50\\u2B55\\u3030\\u303D\\u3297\\u3299]|\\uD83C[\\uDC04\\uDCCF\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE02\\uDE1A\\uDE2F\\uDE32-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF21\\uDF24-\\uDF93\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E-\\uDFF0\\uDFF3-\\uDFF5\\uDFF7-\\uDFFF]|\\uD83D[\\uDC00-\\uDCFD\\uDCFF-\\uDD3D\\uDD49-\\uDD4E\\uDD50-\\uDD67\\uDD6F\\uDD70\\uDD73-\\uDD7A\\uDD87\\uDD8A-\\uDD8D\\uDD90\\uDD95\\uDD96\\uDDA4\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA-\\uDE4F\\uDE80-\\uDEC5\\uDECB-\\uDED2\\uDED5\\uDEE0-\\uDEE5\\uDEE9\\uDEEB\\uDEEC\\uDEF0\\uDEF3-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])\\uFE0F|(?:[\\u261D\\u26F9\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2-\\uDFC4\\uDFC7\\uDFCA-\\uDFCC]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66-\\uDC78\\uDC7C\\uDC81-\\uDC83\\uDC85-\\uDC87\\uDC8F\\uDC91\\uDCAA\\uDD74\\uDD75\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE45-\\uDE47\\uDE4B-\\uDE4F\\uDEA3\\uDEB4-\\uDEB6\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1F\\uDD26\\uDD30-\\uDD39\\uDD3C-\\uDD3E\\uDDB5\\uDDB6\\uDDB8\\uDDB9\\uDDBB\\uDDCD-\\uDDCF\\uDDD1-\\uDDDD])/g,\"  \");let Yx=0;for(let Oe=0;Oe<B1.length;Oe++){const zt=B1.codePointAt(Oe);zt<=31||zt>=127&&zt<=159||zt>=768&&zt<=879||(zt>65535&&Oe++,Yx+=K(zt)?2:1)}return Yx};var F0=Y,J0=Y;F0.default=J0;var e1=B1=>{if(typeof B1!=\"string\")throw new TypeError(\"Expected a string\");return B1.replace(/[|\\\\{}()[\\]^$+*?.]/g,\"\\\\$&\").replace(/-/g,\"\\\\x2d\")},t1=B1=>B1[B1.length-1];function r1(B1,Yx){if(B1==null)return{};var Oe,zt,an=function(xs,bi){if(xs==null)return{};var ya,ul,mu={},Ds=Object.keys(xs);for(ul=0;ul<Ds.length;ul++)ya=Ds[ul],bi.indexOf(ya)>=0||(mu[ya]=xs[ya]);return mu}(B1,Yx);if(Object.getOwnPropertySymbols){var xi=Object.getOwnPropertySymbols(B1);for(zt=0;zt<xi.length;zt++)Oe=xi[zt],Yx.indexOf(Oe)>=0||Object.prototype.propertyIsEnumerable.call(B1,Oe)&&(an[Oe]=B1[Oe])}return an}var F1=typeof globalThis!=\"undefined\"?globalThis:typeof window!=\"undefined\"?window:typeof $F!=\"undefined\"?$F:typeof self!=\"undefined\"?self:{};function a1(B1){return B1&&Object.prototype.hasOwnProperty.call(B1,\"default\")?B1.default:B1}function D1(B1){var Yx={exports:{}};return B1(Yx,Yx.exports),Yx.exports}var W0=function(B1){return B1&&B1.Math==Math&&B1},i1=W0(typeof globalThis==\"object\"&&globalThis)||W0(typeof window==\"object\"&&window)||W0(typeof self==\"object\"&&self)||W0(typeof F1==\"object\"&&F1)||function(){return this}()||Function(\"return this\")(),x1=function(B1){try{return!!B1()}catch{return!0}},ux=!x1(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7}),K1={}.propertyIsEnumerable,ee=Object.getOwnPropertyDescriptor,Gx={f:ee&&!K1.call({1:2},1)?function(B1){var Yx=ee(this,B1);return!!Yx&&Yx.enumerable}:K1},ve=function(B1,Yx){return{enumerable:!(1&B1),configurable:!(2&B1),writable:!(4&B1),value:Yx}},qe={}.toString,Jt=function(B1){return qe.call(B1).slice(8,-1)},Ct=\"\".split,vn=x1(function(){return!Object(\"z\").propertyIsEnumerable(0)})?function(B1){return Jt(B1)==\"String\"?Ct.call(B1,\"\"):Object(B1)}:Object,_n=function(B1){if(B1==null)throw TypeError(\"Can't call method on \"+B1);return B1},Tr=function(B1){return vn(_n(B1))},Lr=function(B1){return typeof B1==\"object\"?B1!==null:typeof B1==\"function\"},Pn=function(B1,Yx){if(!Lr(B1))return B1;var Oe,zt;if(Yx&&typeof(Oe=B1.toString)==\"function\"&&!Lr(zt=Oe.call(B1))||typeof(Oe=B1.valueOf)==\"function\"&&!Lr(zt=Oe.call(B1))||!Yx&&typeof(Oe=B1.toString)==\"function\"&&!Lr(zt=Oe.call(B1)))return zt;throw TypeError(\"Can't convert object to primitive value\")},En=function(B1){return Object(_n(B1))},cr={}.hasOwnProperty,Ea=Object.hasOwn||function(B1,Yx){return cr.call(En(B1),Yx)},Qn=i1.document,Bu=Lr(Qn)&&Lr(Qn.createElement),Au=!ux&&!x1(function(){return Object.defineProperty((B1=\"div\",Bu?Qn.createElement(B1):{}),\"a\",{get:function(){return 7}}).a!=7;var B1}),Ec=Object.getOwnPropertyDescriptor,kn={f:ux?Ec:function(B1,Yx){if(B1=Tr(B1),Yx=Pn(Yx,!0),Au)try{return Ec(B1,Yx)}catch{}if(Ea(B1,Yx))return ve(!Gx.f.call(B1,Yx),B1[Yx])}},pu=function(B1){if(!Lr(B1))throw TypeError(String(B1)+\" is not an object\");return B1},mi=Object.defineProperty,ma={f:ux?mi:function(B1,Yx,Oe){if(pu(B1),Yx=Pn(Yx,!0),pu(Oe),Au)try{return mi(B1,Yx,Oe)}catch{}if(\"get\"in Oe||\"set\"in Oe)throw TypeError(\"Accessors not supported\");return\"value\"in Oe&&(B1[Yx]=Oe.value),B1}},ja=ux?function(B1,Yx,Oe){return ma.f(B1,Yx,ve(1,Oe))}:function(B1,Yx,Oe){return B1[Yx]=Oe,B1},Ua=function(B1,Yx){try{ja(i1,B1,Yx)}catch{i1[B1]=Yx}return Yx},aa=\"__core-js_shared__\",Os=i1[aa]||Ua(aa,{}),gn=Function.toString;typeof Os.inspectSource!=\"function\"&&(Os.inspectSource=function(B1){return gn.call(B1)});var et,Sr,un,jn,ea=Os.inspectSource,wa=i1.WeakMap,as=typeof wa==\"function\"&&/native code/.test(ea(wa)),zo=D1(function(B1){(B1.exports=function(Yx,Oe){return Os[Yx]||(Os[Yx]=Oe!==void 0?Oe:{})})(\"versions\",[]).push({version:\"3.14.0\",mode:\"global\",copyright:\"\\xA9 2021 Denis Pushkarev (zloirock.ru)\"})}),vo=0,vi=Math.random(),jr=function(B1){return\"Symbol(\"+String(B1===void 0?\"\":B1)+\")_\"+(++vo+vi).toString(36)},Hn=zo(\"keys\"),wi={},jo=\"Object already initialized\",bs=i1.WeakMap;if(as||Os.state){var Ha=Os.state||(Os.state=new bs),qn=Ha.get,Ki=Ha.has,es=Ha.set;et=function(B1,Yx){if(Ki.call(Ha,B1))throw new TypeError(jo);return Yx.facade=B1,es.call(Ha,B1,Yx),Yx},Sr=function(B1){return qn.call(Ha,B1)||{}},un=function(B1){return Ki.call(Ha,B1)}}else{var Ns=Hn[jn=\"state\"]||(Hn[jn]=jr(jn));wi[Ns]=!0,et=function(B1,Yx){if(Ea(B1,Ns))throw new TypeError(jo);return Yx.facade=B1,ja(B1,Ns,Yx),Yx},Sr=function(B1){return Ea(B1,Ns)?B1[Ns]:{}},un=function(B1){return Ea(B1,Ns)}}var ju,Tc,bu={set:et,get:Sr,has:un,enforce:function(B1){return un(B1)?Sr(B1):et(B1,{})},getterFor:function(B1){return function(Yx){var Oe;if(!Lr(Yx)||(Oe=Sr(Yx)).type!==B1)throw TypeError(\"Incompatible receiver, \"+B1+\" required\");return Oe}}},mc=D1(function(B1){var Yx=bu.get,Oe=bu.enforce,zt=String(String).split(\"String\");(B1.exports=function(an,xi,xs,bi){var ya,ul=!!bi&&!!bi.unsafe,mu=!!bi&&!!bi.enumerable,Ds=!!bi&&!!bi.noTargetGet;typeof xs==\"function\"&&(typeof xi!=\"string\"||Ea(xs,\"name\")||ja(xs,\"name\",xi),(ya=Oe(xs)).source||(ya.source=zt.join(typeof xi==\"string\"?xi:\"\"))),an!==i1?(ul?!Ds&&an[xi]&&(mu=!0):delete an[xi],mu?an[xi]=xs:ja(an,xi,xs)):mu?an[xi]=xs:Ua(xi,xs)})(Function.prototype,\"toString\",function(){return typeof this==\"function\"&&Yx(this).source||ea(this)})}),vc=i1,Lc=function(B1){return typeof B1==\"function\"?B1:void 0},i2=function(B1,Yx){return arguments.length<2?Lc(vc[B1])||Lc(i1[B1]):vc[B1]&&vc[B1][Yx]||i1[B1]&&i1[B1][Yx]},su=Math.ceil,T2=Math.floor,Cu=function(B1){return isNaN(B1=+B1)?0:(B1>0?T2:su)(B1)},mr=Math.min,Dn=function(B1){return B1>0?mr(Cu(B1),9007199254740991):0},ki=Math.max,us=Math.min,ac=function(B1){return function(Yx,Oe,zt){var an,xi=Tr(Yx),xs=Dn(xi.length),bi=function(ya,ul){var mu=Cu(ya);return mu<0?ki(mu+ul,0):us(mu,ul)}(zt,xs);if(B1&&Oe!=Oe){for(;xs>bi;)if((an=xi[bi++])!=an)return!0}else for(;xs>bi;bi++)if((B1||bi in xi)&&xi[bi]===Oe)return B1||bi||0;return!B1&&-1}},_s={includes:ac(!0),indexOf:ac(!1)}.indexOf,cf=[\"constructor\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"toLocaleString\",\"toString\",\"valueOf\"].concat(\"length\",\"prototype\"),Df={f:Object.getOwnPropertyNames||function(B1){return function(Yx,Oe){var zt,an=Tr(Yx),xi=0,xs=[];for(zt in an)!Ea(wi,zt)&&Ea(an,zt)&&xs.push(zt);for(;Oe.length>xi;)Ea(an,zt=Oe[xi++])&&(~_s(xs,zt)||xs.push(zt));return xs}(B1,cf)}},gp={f:Object.getOwnPropertySymbols},_2=i2(\"Reflect\",\"ownKeys\")||function(B1){var Yx=Df.f(pu(B1)),Oe=gp.f;return Oe?Yx.concat(Oe(B1)):Yx},c_=function(B1,Yx){for(var Oe=_2(Yx),zt=ma.f,an=kn.f,xi=0;xi<Oe.length;xi++){var xs=Oe[xi];Ea(B1,xs)||zt(B1,xs,an(Yx,xs))}},pC=/#|\\.prototype\\./,c8=function(B1,Yx){var Oe=S8[VE(B1)];return Oe==BS||Oe!=c4&&(typeof Yx==\"function\"?x1(Yx):!!Yx)},VE=c8.normalize=function(B1){return String(B1).replace(pC,\".\").toLowerCase()},S8=c8.data={},c4=c8.NATIVE=\"N\",BS=c8.POLYFILL=\"P\",ES=c8,fS=kn.f,DF=function(B1,Yx){var Oe,zt,an,xi,xs,bi=B1.target,ya=B1.global,ul=B1.stat;if(Oe=ya?i1:ul?i1[bi]||Ua(bi,{}):(i1[bi]||{}).prototype)for(zt in Yx){if(xi=Yx[zt],an=B1.noTargetGet?(xs=fS(Oe,zt))&&xs.value:Oe[zt],!ES(ya?zt:bi+(ul?\".\":\"#\")+zt,B1.forced)&&an!==void 0){if(typeof xi==typeof an)continue;c_(xi,an)}(B1.sham||an&&an.sham)&&ja(xi,\"sham\",!0),mc(Oe,zt,xi,B1)}},D8=Array.isArray||function(B1){return Jt(B1)==\"Array\"},v8=function(B1){if(typeof B1!=\"function\")throw TypeError(String(B1)+\" is not a function\");return B1},pS=function(B1,Yx,Oe){if(v8(B1),Yx===void 0)return B1;switch(Oe){case 0:return function(){return B1.call(Yx)};case 1:return function(zt){return B1.call(Yx,zt)};case 2:return function(zt,an){return B1.call(Yx,zt,an)};case 3:return function(zt,an,xi){return B1.call(Yx,zt,an,xi)}}return function(){return B1.apply(Yx,arguments)}},l4=function(B1,Yx,Oe,zt,an,xi,xs,bi){for(var ya,ul=an,mu=0,Ds=!!xs&&pS(xs,bi,3);mu<zt;){if(mu in Oe){if(ya=Ds?Ds(Oe[mu],mu,Yx):Oe[mu],xi>0&&D8(ya))ul=l4(B1,Yx,ya,Dn(ya.length),ul,xi-1)-1;else{if(ul>=9007199254740991)throw TypeError(\"Exceed the acceptable array length\");B1[ul]=ya}ul++}mu++}return ul},KF=l4,f4=i2(\"navigator\",\"userAgent\")||\"\",$E=i1.process,t6=$E&&$E.versions,vF=t6&&t6.v8;vF?Tc=(ju=vF.split(\".\"))[0]<4?1:ju[0]+ju[1]:f4&&(!(ju=f4.match(/Edge\\/(\\d+)/))||ju[1]>=74)&&(ju=f4.match(/Chrome\\/(\\d+)/))&&(Tc=ju[1]);var fF=Tc&&+Tc,tS=!!Object.getOwnPropertySymbols&&!x1(function(){var B1=Symbol();return!String(B1)||!(Object(B1)instanceof Symbol)||!Symbol.sham&&fF&&fF<41}),z6=tS&&!Symbol.sham&&typeof Symbol.iterator==\"symbol\",LS=zo(\"wks\"),B8=i1.Symbol,MS=z6?B8:B8&&B8.withoutSetter||jr,rT=function(B1){return Ea(LS,B1)&&(tS||typeof LS[B1]==\"string\")||(tS&&Ea(B8,B1)?LS[B1]=B8[B1]:LS[B1]=MS(\"Symbol.\"+B1)),LS[B1]},bF=rT(\"species\"),nT=function(B1,Yx){var Oe;return D8(B1)&&(typeof(Oe=B1.constructor)!=\"function\"||Oe!==Array&&!D8(Oe.prototype)?Lr(Oe)&&(Oe=Oe[bF])===null&&(Oe=void 0):Oe=void 0),new(Oe===void 0?Array:Oe)(Yx===0?0:Yx)};DF({target:\"Array\",proto:!0},{flatMap:function(B1){var Yx,Oe=En(this),zt=Dn(Oe.length);return v8(B1),(Yx=nT(Oe,0)).length=KF(Yx,Oe,Oe,zt,0,1,B1,arguments.length>1?arguments[1]:void 0),Yx}});var RT,UA,_5=Math.floor,VA=function(B1,Yx){var Oe=B1.length,zt=_5(Oe/2);return Oe<8?ST(B1,Yx):ZT(VA(B1.slice(0,zt),Yx),VA(B1.slice(zt),Yx),Yx)},ST=function(B1,Yx){for(var Oe,zt,an=B1.length,xi=1;xi<an;){for(zt=xi,Oe=B1[xi];zt&&Yx(B1[zt-1],Oe)>0;)B1[zt]=B1[--zt];zt!==xi++&&(B1[zt]=Oe)}return B1},ZT=function(B1,Yx,Oe){for(var zt=B1.length,an=Yx.length,xi=0,xs=0,bi=[];xi<zt||xs<an;)xi<zt&&xs<an?bi.push(Oe(B1[xi],Yx[xs])<=0?B1[xi++]:Yx[xs++]):bi.push(xi<zt?B1[xi++]:Yx[xs++]);return bi},Kw=VA,y5=f4.match(/firefox\\/(\\d+)/i),P4=!!y5&&+y5[1],fA=/MSIE|Trident/.test(f4),H8=f4.match(/AppleWebKit\\/(\\d+)\\./),pA=!!H8&&+H8[1],qS=[],W6=qS.sort,D5=x1(function(){qS.sort(void 0)}),$A=x1(function(){qS.sort(null)}),J4=!!(UA=[].sort)&&x1(function(){UA.call(null,RT||function(){throw 1},1)}),dA=!x1(function(){if(fF)return fF<70;if(!(P4&&P4>3)){if(fA)return!0;if(pA)return pA<603;var B1,Yx,Oe,zt,an=\"\";for(B1=65;B1<76;B1++){switch(Yx=String.fromCharCode(B1),B1){case 66:case 69:case 70:case 72:Oe=3;break;case 68:case 71:Oe=4;break;default:Oe=2}for(zt=0;zt<47;zt++)qS.push({k:Yx+zt,v:Oe})}for(qS.sort(function(xi,xs){return xs.v-xi.v}),zt=0;zt<qS.length;zt++)Yx=qS[zt].k.charAt(0),an.charAt(an.length-1)!==Yx&&(an+=Yx);return an!==\"DGBEFHACIJK\"}});DF({target:\"Array\",proto:!0,forced:D5||!$A||!J4||!dA},{sort:function(B1){B1!==void 0&&v8(B1);var Yx=En(this);if(dA)return B1===void 0?W6.call(Yx):W6.call(Yx,B1);var Oe,zt,an=[],xi=Dn(Yx.length);for(zt=0;zt<xi;zt++)zt in Yx&&an.push(Yx[zt]);for(Oe=(an=Kw(an,function(xs){return function(bi,ya){return ya===void 0?-1:bi===void 0?1:xs!==void 0?+xs(bi,ya)||0:String(bi)>String(ya)?1:-1}}(B1))).length,zt=0;zt<Oe;)Yx[zt]=an[zt++];for(;zt<xi;)delete Yx[zt++];return Yx}});var CF={},FT=rT(\"iterator\"),mA=Array.prototype,v5={};v5[rT(\"toStringTag\")]=\"z\";var KA=String(v5)===\"[object z]\",vw=rT(\"toStringTag\"),p4=Jt(function(){return arguments}())==\"Arguments\",x5=KA?Jt:function(B1){var Yx,Oe,zt;return B1===void 0?\"Undefined\":B1===null?\"Null\":typeof(Oe=function(an,xi){try{return an[xi]}catch{}}(Yx=Object(B1),vw))==\"string\"?Oe:p4?Jt(Yx):(zt=Jt(Yx))==\"Object\"&&typeof Yx.callee==\"function\"?\"Arguments\":zt},e5=rT(\"iterator\"),jT=function(B1){var Yx=B1.return;if(Yx!==void 0)return pu(Yx.call(B1)).value},_6=function(B1,Yx){this.stopped=B1,this.result=Yx},q6=function(B1,Yx,Oe){var zt,an,xi,xs,bi,ya,ul,mu,Ds=Oe&&Oe.that,a6=!(!Oe||!Oe.AS_ENTRIES),Mc=!(!Oe||!Oe.IS_ITERATOR),bf=!(!Oe||!Oe.INTERRUPTED),Rc=pS(Yx,Ds,1+a6+bf),Pa=function(q2){return zt&&jT(zt),new _6(!0,q2)},Uu=function(q2){return a6?(pu(q2),bf?Rc(q2[0],q2[1],Pa):Rc(q2[0],q2[1])):bf?Rc(q2,Pa):Rc(q2)};if(Mc)zt=B1;else{if(typeof(an=function(q2){if(q2!=null)return q2[e5]||q2[\"@@iterator\"]||CF[x5(q2)]}(B1))!=\"function\")throw TypeError(\"Target is not iterable\");if((mu=an)!==void 0&&(CF.Array===mu||mA[FT]===mu)){for(xi=0,xs=Dn(B1.length);xs>xi;xi++)if((bi=Uu(B1[xi]))&&bi instanceof _6)return bi;return new _6(!1)}zt=an.call(B1)}for(ya=zt.next;!(ul=ya.call(zt)).done;){try{bi=Uu(ul.value)}catch(q2){throw jT(zt),q2}if(typeof bi==\"object\"&&bi&&bi instanceof _6)return bi}return new _6(!1)};DF({target:\"Object\",stat:!0},{fromEntries:function(B1){var Yx={};return q6(B1,function(Oe,zt){(function(an,xi,xs){var bi=Pn(xi);bi in an?ma.f(an,bi,ve(0,xs)):an[bi]=xs})(Yx,Oe,zt)},{AS_ENTRIES:!0}),Yx}});var JS=JS!==void 0?JS:typeof self!=\"undefined\"?self:typeof window!=\"undefined\"?window:{};function eg(){throw new Error(\"setTimeout has not been defined\")}function L8(){throw new Error(\"clearTimeout has not been defined\")}var J6=eg,cm=L8;function l8(B1){if(J6===setTimeout)return setTimeout(B1,0);if((J6===eg||!J6)&&setTimeout)return J6=setTimeout,setTimeout(B1,0);try{return J6(B1,0)}catch{try{return J6.call(null,B1,0)}catch{return J6.call(this,B1,0)}}}typeof JS.setTimeout==\"function\"&&(J6=setTimeout),typeof JS.clearTimeout==\"function\"&&(cm=clearTimeout);var S6,Pg=[],Py=!1,F6=-1;function tg(){Py&&S6&&(Py=!1,S6.length?Pg=S6.concat(Pg):F6=-1,Pg.length&&u3())}function u3(){if(!Py){var B1=l8(tg);Py=!0;for(var Yx=Pg.length;Yx;){for(S6=Pg,Pg=[];++F6<Yx;)S6&&S6[F6].run();F6=-1,Yx=Pg.length}S6=null,Py=!1,function(Oe){if(cm===clearTimeout)return clearTimeout(Oe);if((cm===L8||!cm)&&clearTimeout)return cm=clearTimeout,clearTimeout(Oe);try{cm(Oe)}catch{try{return cm.call(null,Oe)}catch{return cm.call(this,Oe)}}}(B1)}}function iT(B1,Yx){this.fun=B1,this.array=Yx}iT.prototype.run=function(){this.fun.apply(null,this.array)};function HS(){}var H6=HS,j5=HS,t5=HS,bw=HS,U5=HS,d4=HS,pF=HS,EF=JS.performance||{},A6=EF.now||EF.mozNow||EF.msNow||EF.oNow||EF.webkitNow||function(){return new Date().getTime()},r5=new Date,m4={nextTick:function(B1){var Yx=new Array(arguments.length-1);if(arguments.length>1)for(var Oe=1;Oe<arguments.length;Oe++)Yx[Oe-1]=arguments[Oe];Pg.push(new iT(B1,Yx)),Pg.length!==1||Py||l8(u3)},title:\"browser\",browser:!0,env:{},argv:[],version:\"\",versions:{},on:H6,addListener:j5,once:t5,off:bw,removeListener:U5,removeAllListeners:d4,emit:pF,binding:function(B1){throw new Error(\"process.binding is not supported\")},cwd:function(){return\"/\"},chdir:function(B1){throw new Error(\"process.chdir is not supported\")},umask:function(){return 0},hrtime:function(B1){var Yx=.001*A6.call(EF),Oe=Math.floor(Yx),zt=Math.floor(Yx%1*1e9);return B1&&(Oe-=B1[0],(zt-=B1[1])<0&&(Oe--,zt+=1e9)),[Oe,zt]},platform:\"browser\",release:{},config:{},uptime:function(){return(new Date-r5)/1e3}},Lu=typeof m4==\"object\"&&m4.env&&m4.env.NODE_DEBUG&&/\\bsemver\\b/i.test(m4.env.NODE_DEBUG)?(...B1)=>console.error(\"SEMVER\",...B1):()=>{},Ig={SEMVER_SPEC_VERSION:\"2.0.0\",MAX_LENGTH:256,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,MAX_SAFE_COMPONENT_LENGTH:16},hA=D1(function(B1,Yx){const{MAX_SAFE_COMPONENT_LENGTH:Oe}=Ig,zt=(Yx=B1.exports={}).re=[],an=Yx.src=[],xi=Yx.t={};let xs=0;const bi=(ya,ul,mu)=>{const Ds=xs++;Lu(Ds,ul),xi[ya]=Ds,an[Ds]=ul,zt[Ds]=new RegExp(ul,mu?\"g\":void 0)};bi(\"NUMERICIDENTIFIER\",\"0|[1-9]\\\\d*\"),bi(\"NUMERICIDENTIFIERLOOSE\",\"[0-9]+\"),bi(\"NONNUMERICIDENTIFIER\",\"\\\\d*[a-zA-Z-][a-zA-Z0-9-]*\"),bi(\"MAINVERSION\",`(${an[xi.NUMERICIDENTIFIER]})\\\\.(${an[xi.NUMERICIDENTIFIER]})\\\\.(${an[xi.NUMERICIDENTIFIER]})`),bi(\"MAINVERSIONLOOSE\",`(${an[xi.NUMERICIDENTIFIERLOOSE]})\\\\.(${an[xi.NUMERICIDENTIFIERLOOSE]})\\\\.(${an[xi.NUMERICIDENTIFIERLOOSE]})`),bi(\"PRERELEASEIDENTIFIER\",`(?:${an[xi.NUMERICIDENTIFIER]}|${an[xi.NONNUMERICIDENTIFIER]})`),bi(\"PRERELEASEIDENTIFIERLOOSE\",`(?:${an[xi.NUMERICIDENTIFIERLOOSE]}|${an[xi.NONNUMERICIDENTIFIER]})`),bi(\"PRERELEASE\",`(?:-(${an[xi.PRERELEASEIDENTIFIER]}(?:\\\\.${an[xi.PRERELEASEIDENTIFIER]})*))`),bi(\"PRERELEASELOOSE\",`(?:-?(${an[xi.PRERELEASEIDENTIFIERLOOSE]}(?:\\\\.${an[xi.PRERELEASEIDENTIFIERLOOSE]})*))`),bi(\"BUILDIDENTIFIER\",\"[0-9A-Za-z-]+\"),bi(\"BUILD\",`(?:\\\\+(${an[xi.BUILDIDENTIFIER]}(?:\\\\.${an[xi.BUILDIDENTIFIER]})*))`),bi(\"FULLPLAIN\",`v?${an[xi.MAINVERSION]}${an[xi.PRERELEASE]}?${an[xi.BUILD]}?`),bi(\"FULL\",`^${an[xi.FULLPLAIN]}$`),bi(\"LOOSEPLAIN\",`[v=\\\\s]*${an[xi.MAINVERSIONLOOSE]}${an[xi.PRERELEASELOOSE]}?${an[xi.BUILD]}?`),bi(\"LOOSE\",`^${an[xi.LOOSEPLAIN]}$`),bi(\"GTLT\",\"((?:<|>)?=?)\"),bi(\"XRANGEIDENTIFIERLOOSE\",`${an[xi.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`),bi(\"XRANGEIDENTIFIER\",`${an[xi.NUMERICIDENTIFIER]}|x|X|\\\\*`),bi(\"XRANGEPLAIN\",`[v=\\\\s]*(${an[xi.XRANGEIDENTIFIER]})(?:\\\\.(${an[xi.XRANGEIDENTIFIER]})(?:\\\\.(${an[xi.XRANGEIDENTIFIER]})(?:${an[xi.PRERELEASE]})?${an[xi.BUILD]}?)?)?`),bi(\"XRANGEPLAINLOOSE\",`[v=\\\\s]*(${an[xi.XRANGEIDENTIFIERLOOSE]})(?:\\\\.(${an[xi.XRANGEIDENTIFIERLOOSE]})(?:\\\\.(${an[xi.XRANGEIDENTIFIERLOOSE]})(?:${an[xi.PRERELEASELOOSE]})?${an[xi.BUILD]}?)?)?`),bi(\"XRANGE\",`^${an[xi.GTLT]}\\\\s*${an[xi.XRANGEPLAIN]}$`),bi(\"XRANGELOOSE\",`^${an[xi.GTLT]}\\\\s*${an[xi.XRANGEPLAINLOOSE]}$`),bi(\"COERCE\",`(^|[^\\\\d])(\\\\d{1,${Oe}})(?:\\\\.(\\\\d{1,${Oe}}))?(?:\\\\.(\\\\d{1,${Oe}}))?(?:$|[^\\\\d])`),bi(\"COERCERTL\",an[xi.COERCE],!0),bi(\"LONETILDE\",\"(?:~>?)\"),bi(\"TILDETRIM\",`(\\\\s*)${an[xi.LONETILDE]}\\\\s+`,!0),Yx.tildeTrimReplace=\"$1~\",bi(\"TILDE\",`^${an[xi.LONETILDE]}${an[xi.XRANGEPLAIN]}$`),bi(\"TILDELOOSE\",`^${an[xi.LONETILDE]}${an[xi.XRANGEPLAINLOOSE]}$`),bi(\"LONECARET\",\"(?:\\\\^)\"),bi(\"CARETTRIM\",`(\\\\s*)${an[xi.LONECARET]}\\\\s+`,!0),Yx.caretTrimReplace=\"$1^\",bi(\"CARET\",`^${an[xi.LONECARET]}${an[xi.XRANGEPLAIN]}$`),bi(\"CARETLOOSE\",`^${an[xi.LONECARET]}${an[xi.XRANGEPLAINLOOSE]}$`),bi(\"COMPARATORLOOSE\",`^${an[xi.GTLT]}\\\\s*(${an[xi.LOOSEPLAIN]})$|^$`),bi(\"COMPARATOR\",`^${an[xi.GTLT]}\\\\s*(${an[xi.FULLPLAIN]})$|^$`),bi(\"COMPARATORTRIM\",`(\\\\s*)${an[xi.GTLT]}\\\\s*(${an[xi.LOOSEPLAIN]}|${an[xi.XRANGEPLAIN]})`,!0),Yx.comparatorTrimReplace=\"$1$2$3\",bi(\"HYPHENRANGE\",`^\\\\s*(${an[xi.XRANGEPLAIN]})\\\\s+-\\\\s+(${an[xi.XRANGEPLAIN]})\\\\s*$`),bi(\"HYPHENRANGELOOSE\",`^\\\\s*(${an[xi.XRANGEPLAINLOOSE]})\\\\s+-\\\\s+(${an[xi.XRANGEPLAINLOOSE]})\\\\s*$`),bi(\"STAR\",\"(<|>)?=?\\\\s*\\\\*\"),bi(\"GTE0\",\"^\\\\s*>=\\\\s*0.0.0\\\\s*$\"),bi(\"GTE0PRE\",\"^\\\\s*>=\\\\s*0.0.0-0\\\\s*$\")});const RS=[\"includePrerelease\",\"loose\",\"rtl\"];var H4=B1=>B1?typeof B1!=\"object\"?{loose:!0}:RS.filter(Yx=>B1[Yx]).reduce((Yx,Oe)=>(Yx[Oe]=!0,Yx),{}):{};const I4=/^[0-9]+$/,GS=(B1,Yx)=>{const Oe=I4.test(B1),zt=I4.test(Yx);return Oe&&zt&&(B1=+B1,Yx=+Yx),B1===Yx?0:Oe&&!zt?-1:zt&&!Oe?1:B1<Yx?-1:1};var SS={compareIdentifiers:GS,rcompareIdentifiers:(B1,Yx)=>GS(Yx,B1)};const{MAX_LENGTH:rS,MAX_SAFE_INTEGER:T6}=Ig,{re:dS,t:w6}=hA,{compareIdentifiers:vb}=SS;class Rh{constructor(Yx,Oe){if(Oe=H4(Oe),Yx instanceof Rh){if(Yx.loose===!!Oe.loose&&Yx.includePrerelease===!!Oe.includePrerelease)return Yx;Yx=Yx.version}else if(typeof Yx!=\"string\")throw new TypeError(`Invalid Version: ${Yx}`);if(Yx.length>rS)throw new TypeError(`version is longer than ${rS} characters`);Lu(\"SemVer\",Yx,Oe),this.options=Oe,this.loose=!!Oe.loose,this.includePrerelease=!!Oe.includePrerelease;const zt=Yx.trim().match(Oe.loose?dS[w6.LOOSE]:dS[w6.FULL]);if(!zt)throw new TypeError(`Invalid Version: ${Yx}`);if(this.raw=Yx,this.major=+zt[1],this.minor=+zt[2],this.patch=+zt[3],this.major>T6||this.major<0)throw new TypeError(\"Invalid major version\");if(this.minor>T6||this.minor<0)throw new TypeError(\"Invalid minor version\");if(this.patch>T6||this.patch<0)throw new TypeError(\"Invalid patch version\");zt[4]?this.prerelease=zt[4].split(\".\").map(an=>{if(/^[0-9]+$/.test(an)){const xi=+an;if(xi>=0&&xi<T6)return xi}return an}):this.prerelease=[],this.build=zt[5]?zt[5].split(\".\"):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(\".\")}`),this.version}toString(){return this.version}compare(Yx){if(Lu(\"SemVer.compare\",this.version,this.options,Yx),!(Yx instanceof Rh)){if(typeof Yx==\"string\"&&Yx===this.version)return 0;Yx=new Rh(Yx,this.options)}return Yx.version===this.version?0:this.compareMain(Yx)||this.comparePre(Yx)}compareMain(Yx){return Yx instanceof Rh||(Yx=new Rh(Yx,this.options)),vb(this.major,Yx.major)||vb(this.minor,Yx.minor)||vb(this.patch,Yx.patch)}comparePre(Yx){if(Yx instanceof Rh||(Yx=new Rh(Yx,this.options)),this.prerelease.length&&!Yx.prerelease.length)return-1;if(!this.prerelease.length&&Yx.prerelease.length)return 1;if(!this.prerelease.length&&!Yx.prerelease.length)return 0;let Oe=0;do{const zt=this.prerelease[Oe],an=Yx.prerelease[Oe];if(Lu(\"prerelease compare\",Oe,zt,an),zt===void 0&&an===void 0)return 0;if(an===void 0)return 1;if(zt===void 0)return-1;if(zt!==an)return vb(zt,an)}while(++Oe)}compareBuild(Yx){Yx instanceof Rh||(Yx=new Rh(Yx,this.options));let Oe=0;do{const zt=this.build[Oe],an=Yx.build[Oe];if(Lu(\"prerelease compare\",Oe,zt,an),zt===void 0&&an===void 0)return 0;if(an===void 0)return 1;if(zt===void 0)return-1;if(zt!==an)return vb(zt,an)}while(++Oe)}inc(Yx,Oe){switch(Yx){case\"premajor\":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc(\"pre\",Oe);break;case\"preminor\":this.prerelease.length=0,this.patch=0,this.minor++,this.inc(\"pre\",Oe);break;case\"prepatch\":this.prerelease.length=0,this.inc(\"patch\",Oe),this.inc(\"pre\",Oe);break;case\"prerelease\":this.prerelease.length===0&&this.inc(\"patch\",Oe),this.inc(\"pre\",Oe);break;case\"major\":this.minor===0&&this.patch===0&&this.prerelease.length!==0||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case\"minor\":this.patch===0&&this.prerelease.length!==0||this.minor++,this.patch=0,this.prerelease=[];break;case\"patch\":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case\"pre\":if(this.prerelease.length===0)this.prerelease=[0];else{let zt=this.prerelease.length;for(;--zt>=0;)typeof this.prerelease[zt]==\"number\"&&(this.prerelease[zt]++,zt=-2);zt===-1&&this.prerelease.push(0)}Oe&&(this.prerelease[0]===Oe?isNaN(this.prerelease[1])&&(this.prerelease=[Oe,0]):this.prerelease=[Oe,0]);break;default:throw new Error(`invalid increment argument: ${Yx}`)}return this.format(),this.raw=this.version,this}}var Wf=Rh,Fp=(B1,Yx,Oe)=>new Wf(B1,Oe).compare(new Wf(Yx,Oe)),ZC=(B1,Yx,Oe)=>Fp(B1,Yx,Oe)<0,zA=(B1,Yx,Oe)=>Fp(B1,Yx,Oe)>=0,zF=\"2.3.2\",WF=D1(function(B1,Yx){function Oe(){for(var Pa=[],Uu=0;Uu<arguments.length;Uu++)Pa[Uu]=arguments[Uu]}function zt(){return typeof WeakMap!=\"undefined\"?new WeakMap:{add:Oe,delete:Oe,get:Oe,set:Oe,has:function(Pa){return!1}}}Object.defineProperty(Yx,\"__esModule\",{value:!0}),Yx.outdent=void 0;var an=Object.prototype.hasOwnProperty,xi=function(Pa,Uu){return an.call(Pa,Uu)};function xs(Pa,Uu){for(var q2 in Uu)xi(Uu,q2)&&(Pa[q2]=Uu[q2]);return Pa}var bi=/^[ \\t]*(?:\\r\\n|\\r|\\n)/,ya=/(?:\\r\\n|\\r|\\n)[ \\t]*$/,ul=/^(?:[\\r\\n]|$)/,mu=/(?:\\r\\n|\\r|\\n)([ \\t]*)(?:[^ \\t\\r\\n]|$)/,Ds=/^[ \\t]*[\\r\\n][ \\t\\r\\n]*$/;function a6(Pa,Uu,q2){var Kl=0,Bs=Pa[0].match(mu);Bs&&(Kl=Bs[1].length);var qf=new RegExp(\"(\\\\r\\\\n|\\\\r|\\\\n).{0,\"+Kl+\"}\",\"g\");Uu&&(Pa=Pa.slice(1));var Zl=q2.newline,ZF=q2.trimLeadingNewline,Sl=q2.trimTrailingNewline,$8=typeof Zl==\"string\",wl=Pa.length;return Pa.map(function(Ko,$u){return Ko=Ko.replace(qf,\"$1\"),$u===0&&ZF&&(Ko=Ko.replace(bi,\"\")),$u===wl-1&&Sl&&(Ko=Ko.replace(ya,\"\")),$8&&(Ko=Ko.replace(/\\r\\n|\\n|\\r/g,function(dF){return Zl})),Ko})}function Mc(Pa,Uu){for(var q2=\"\",Kl=0,Bs=Pa.length;Kl<Bs;Kl++)q2+=Pa[Kl],Kl<Bs-1&&(q2+=Uu[Kl]);return q2}function bf(Pa){return xi(Pa,\"raw\")&&xi(Pa,\"length\")}var Rc=function Pa(Uu){var q2=zt(),Kl=zt();return xs(function Bs(qf){for(var Zl=[],ZF=1;ZF<arguments.length;ZF++)Zl[ZF-1]=arguments[ZF];if(bf(qf)){var Sl=qf,$8=(Zl[0]===Bs||Zl[0]===Rc)&&Ds.test(Sl[0])&&ul.test(Sl[1]),wl=$8?Kl:q2,Ko=wl.get(Sl);if(Ko||(Ko=a6(Sl,$8,Uu),wl.set(Sl,Ko)),Zl.length===0)return Ko[0];var $u=Mc(Ko,$8?Zl.slice(1):Zl);return $u}return Pa(xs(xs({},Uu),qf||{}))},{string:function(Bs){return a6([Bs],!1,Uu)[0]}})}({trimLeadingNewline:!0,trimTrailingNewline:!0});Yx.outdent=Rc,Yx.default=Rc;try{B1.exports=Rc,Object.defineProperty(Rc,\"__esModule\",{value:!0}),Rc.default=Rc,Rc.outdent=Rc}catch{}});const{outdent:l_}=WF,xE=\"Config\",r6=\"Editor\",M8=\"Other\",KE=\"Global\",lm=\"Special\",mS={cursorOffset:{since:\"1.4.0\",category:lm,type:\"int\",default:-1,range:{start:-1,end:Number.POSITIVE_INFINITY,step:1},description:l_`\n      Print (to stderr) where a cursor at the given position would move to after formatting.\n      This option cannot be used with --range-start and --range-end.\n    `,cliCategory:r6},endOfLine:{since:\"1.15.0\",category:KE,type:\"choice\",default:[{since:\"1.15.0\",value:\"auto\"},{since:\"2.0.0\",value:\"lf\"}],description:\"Which end of line characters to apply.\",choices:[{value:\"lf\",description:\"Line Feed only (\\\\n), common on Linux and macOS as well as inside git repos\"},{value:\"crlf\",description:\"Carriage Return + Line Feed characters (\\\\r\\\\n), common on Windows\"},{value:\"cr\",description:\"Carriage Return character only (\\\\r), used very rarely\"},{value:\"auto\",description:l_`\n          Maintain existing\n          (mixed values within one file are normalised by looking at what's used after the first line)\n        `}]},filepath:{since:\"1.4.0\",category:lm,type:\"path\",description:\"Specify the input filepath. This will be used to do parser inference.\",cliName:\"stdin-filepath\",cliCategory:M8,cliDescription:\"Path to the file to pretend that stdin comes from.\"},insertPragma:{since:\"1.8.0\",category:lm,type:\"boolean\",default:!1,description:\"Insert @format pragma into file's first docblock comment.\",cliCategory:M8},parser:{since:\"0.0.10\",category:KE,type:\"choice\",default:[{since:\"0.0.10\",value:\"babylon\"},{since:\"1.13.0\",value:void 0}],description:\"Which parser to use.\",exception:B1=>typeof B1==\"string\"||typeof B1==\"function\",choices:[{value:\"flow\",description:\"Flow\"},{value:\"babel\",since:\"1.16.0\",description:\"JavaScript\"},{value:\"babel-flow\",since:\"1.16.0\",description:\"Flow\"},{value:\"babel-ts\",since:\"2.0.0\",description:\"TypeScript\"},{value:\"typescript\",since:\"1.4.0\",description:\"TypeScript\"},{value:\"espree\",since:\"2.2.0\",description:\"JavaScript\"},{value:\"meriyah\",since:\"2.2.0\",description:\"JavaScript\"},{value:\"css\",since:\"1.7.1\",description:\"CSS\"},{value:\"less\",since:\"1.7.1\",description:\"Less\"},{value:\"scss\",since:\"1.7.1\",description:\"SCSS\"},{value:\"json\",since:\"1.5.0\",description:\"JSON\"},{value:\"json5\",since:\"1.13.0\",description:\"JSON5\"},{value:\"json-stringify\",since:\"1.13.0\",description:\"JSON.stringify\"},{value:\"graphql\",since:\"1.5.0\",description:\"GraphQL\"},{value:\"markdown\",since:\"1.8.0\",description:\"Markdown\"},{value:\"mdx\",since:\"1.15.0\",description:\"MDX\"},{value:\"vue\",since:\"1.10.0\",description:\"Vue\"},{value:\"yaml\",since:\"1.14.0\",description:\"YAML\"},{value:\"glimmer\",since:\"2.3.0\",description:\"Ember / Handlebars\"},{value:\"html\",since:\"1.15.0\",description:\"HTML\"},{value:\"angular\",since:\"1.15.0\",description:\"Angular\"},{value:\"lwc\",since:\"1.17.0\",description:\"Lightning Web Components\"}]},plugins:{since:\"1.10.0\",type:\"path\",array:!0,default:[{value:[]}],category:KE,description:\"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.\",exception:B1=>typeof B1==\"string\"||typeof B1==\"object\",cliName:\"plugin\",cliCategory:xE},pluginSearchDirs:{since:\"1.13.0\",type:\"path\",array:!0,default:[{value:[]}],category:KE,description:l_`\n      Custom directory that contains prettier plugins in node_modules subdirectory.\n      Overrides default behavior when plugins are searched relatively to the location of Prettier.\n      Multiple values are accepted.\n    `,exception:B1=>typeof B1==\"string\"||typeof B1==\"object\",cliName:\"plugin-search-dir\",cliCategory:xE},printWidth:{since:\"0.0.0\",category:KE,type:\"int\",default:80,description:\"The line length where Prettier will try wrap.\",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},rangeEnd:{since:\"1.4.0\",category:lm,type:\"int\",default:Number.POSITIVE_INFINITY,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:l_`\n      Format code ending at a given character offset (exclusive).\n      The range will extend forwards to the end of the selected statement.\n      This option cannot be used with --cursor-offset.\n    `,cliCategory:r6},rangeStart:{since:\"1.4.0\",category:lm,type:\"int\",default:0,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:l_`\n      Format code starting at a given character offset.\n      The range will extend backwards to the start of the first line containing the selected statement.\n      This option cannot be used with --cursor-offset.\n    `,cliCategory:r6},requirePragma:{since:\"1.7.0\",category:lm,type:\"boolean\",default:!1,description:l_`\n      Require either '@prettier' or '@format' to be present in the file's first docblock comment\n      in order for it to be formatted.\n    `,cliCategory:M8},tabWidth:{type:\"int\",category:KE,default:2,description:\"Number of spaces per indentation level.\",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},useTabs:{since:\"1.0.0\",category:KE,type:\"boolean\",default:!1,description:\"Indent with tabs instead of spaces.\"},embeddedLanguageFormatting:{since:\"2.1.0\",category:KE,type:\"choice\",default:[{since:\"2.1.0\",value:\"auto\"}],description:\"Control how Prettier formats quoted code embedded in the file.\",choices:[{value:\"auto\",description:\"Format embedded code if Prettier can automatically identify it.\"},{value:\"off\",description:\"Never automatically format embedded code.\"}]}},aT=[\"cliName\",\"cliCategory\",\"cliDescription\"],h4={compare:Fp,lt:ZC,gte:zA},G4=zF,k6=mS;var xw={getSupportInfo:function({plugins:B1=[],showUnreleased:Yx=!1,showDeprecated:Oe=!1,showInternal:zt=!1}={}){const an=G4.split(\"-\",1)[0],xi=B1.flatMap(Ds=>Ds.languages||[]).filter(ul),xs=(bi=Object.assign({},...B1.map(({options:Ds})=>Ds),k6),ya=\"name\",Object.entries(bi).map(([Ds,a6])=>Object.assign({[ya]:Ds},a6))).filter(Ds=>ul(Ds)&&mu(Ds)).sort((Ds,a6)=>Ds.name===a6.name?0:Ds.name<a6.name?-1:1).map(function(Ds){return zt?Ds:r1(Ds,aT)}).map(Ds=>{Ds=Object.assign({},Ds),Array.isArray(Ds.default)&&(Ds.default=Ds.default.length===1?Ds.default[0].value:Ds.default.filter(ul).sort((Mc,bf)=>h4.compare(bf.since,Mc.since))[0].value),Array.isArray(Ds.choices)&&(Ds.choices=Ds.choices.filter(Mc=>ul(Mc)&&mu(Mc)),Ds.name===\"parser\"&&function(Mc,bf,Rc){const Pa=new Set(Mc.choices.map(Uu=>Uu.value));for(const Uu of bf)if(Uu.parsers){for(const q2 of Uu.parsers)if(!Pa.has(q2)){Pa.add(q2);const Kl=Rc.find(qf=>qf.parsers&&qf.parsers[q2]);let Bs=Uu.name;Kl&&Kl.name&&(Bs+=` (plugin: ${Kl.name})`),Mc.choices.push({value:q2,description:Bs})}}}(Ds,xi,B1));const a6=Object.fromEntries(B1.filter(Mc=>Mc.defaultOptions&&Mc.defaultOptions[Ds.name]!==void 0).map(Mc=>[Mc.name,Mc.defaultOptions[Ds.name]]));return Object.assign(Object.assign({},Ds),{},{pluginDefaults:a6})});var bi,ya;return{languages:xi,options:xs};function ul(Ds){return Yx||!(\"since\"in Ds)||Ds.since&&h4.gte(an,Ds.since)}function mu(Ds){return Oe||!(\"deprecated\"in Ds)||Ds.deprecated&&h4.lt(an,Ds.deprecated)}}};const{getSupportInfo:UT}=xw,oT=/[^\\x20-\\x7F]/;function G8(B1){return(Yx,Oe,zt)=>{const an=zt&&zt.backwards;if(Oe===!1)return!1;const{length:xi}=Yx;let xs=Oe;for(;xs>=0&&xs<xi;){const bi=Yx.charAt(xs);if(B1 instanceof RegExp){if(!B1.test(bi))return xs}else if(!B1.includes(bi))return xs;an?xs--:xs++}return(xs===-1||xs===xi)&&xs}}const y6=G8(/\\s/),nS=G8(\" \t\"),jD=G8(\",; \t\"),X4=G8(/[^\\n\\r]/);function SF(B1,Yx){if(Yx===!1)return!1;if(B1.charAt(Yx)===\"/\"&&B1.charAt(Yx+1)===\"*\"){for(let Oe=Yx+2;Oe<B1.length;++Oe)if(B1.charAt(Oe)===\"*\"&&B1.charAt(Oe+1)===\"/\")return Oe+2}return Yx}function ad(B1,Yx){return Yx!==!1&&(B1.charAt(Yx)===\"/\"&&B1.charAt(Yx+1)===\"/\"?X4(B1,Yx):Yx)}function XS(B1,Yx,Oe){const zt=Oe&&Oe.backwards;if(Yx===!1)return!1;const an=B1.charAt(Yx);if(zt){if(B1.charAt(Yx-1)===\"\\r\"&&an===`\n`)return Yx-2;if(an===`\n`||an===\"\\r\"||an===\"\\u2028\"||an===\"\\u2029\")return Yx-1}else{if(an===\"\\r\"&&B1.charAt(Yx+1)===`\n`)return Yx+2;if(an===`\n`||an===\"\\r\"||an===\"\\u2028\"||an===\"\\u2029\")return Yx+1}return Yx}function X8(B1,Yx,Oe={}){const zt=nS(B1,Oe.backwards?Yx-1:Yx,Oe);return zt!==XS(B1,zt,Oe)}function gA(B1,Yx){let Oe=null,zt=Yx;for(;zt!==Oe;)Oe=zt,zt=jD(B1,zt),zt=SF(B1,zt),zt=nS(B1,zt);return zt=ad(B1,zt),zt=XS(B1,zt),zt!==!1&&X8(B1,zt)}function VT(B1,Yx){let Oe=null,zt=Yx;for(;zt!==Oe;)Oe=zt,zt=nS(B1,zt),zt=SF(B1,zt),zt=ad(B1,zt),zt=XS(B1,zt);return zt}function YS(B1,Yx,Oe){return VT(B1,Oe(Yx))}function _A(B1,Yx,Oe=0){let zt=0;for(let an=Oe;an<B1.length;++an)B1[an]===\"\t\"?zt=zt+Yx-zt%Yx:zt++;return zt}function QS(B1,Yx){const Oe=B1.slice(1,-1),zt={quote:'\"',regex:/\"/g},an={quote:\"'\",regex:/'/g},xi=Yx===\"'\"?an:zt,xs=xi===an?zt:an;let bi=xi.quote;return(Oe.includes(xi.quote)||Oe.includes(xs.quote))&&(bi=(Oe.match(xi.regex)||[]).length>(Oe.match(xs.regex)||[]).length?xs.quote:xi.quote),bi}function qF(B1,Yx,Oe){const zt=Yx==='\"'?\"'\":'\"',an=B1.replace(/\\\\(.)|([\"'])/gs,(xi,xs,bi)=>xs===zt?xs:bi===Yx?\"\\\\\"+bi:bi||(Oe&&/^[^\\n\\r\"'0-7\\\\bfnrt-vx\\u2028\\u2029]$/.test(xs)?xs:\"\\\\\"+xs));return Yx+an+Yx}function jS(B1,Yx){(B1.comments||(B1.comments=[])).push(Yx),Yx.printed=!1,Yx.nodeDescription=function(Oe){const zt=Oe.type||Oe.kind||\"(unknown type)\";let an=String(Oe.name||Oe.id&&(typeof Oe.id==\"object\"?Oe.id.name:Oe.id)||Oe.key&&(typeof Oe.key==\"object\"?Oe.key.name:Oe.key)||Oe.value&&(typeof Oe.value==\"object\"?\"\":String(Oe.value))||Oe.operator||\"\");return an.length>20&&(an=an.slice(0,19)+\"\\u2026\"),zt+(an?\" \"+an:\"\")}(B1)}var zE={inferParserByLanguage:function(B1,Yx){const{languages:Oe}=UT({plugins:Yx.plugins}),zt=Oe.find(({name:an})=>an.toLowerCase()===B1)||Oe.find(({aliases:an})=>Array.isArray(an)&&an.includes(B1))||Oe.find(({extensions:an})=>Array.isArray(an)&&an.includes(`.${B1}`));return zt&&zt.parsers[0]},getStringWidth:function(B1){return B1?oT.test(B1)?F0(B1):B1.length:0},getMaxContinuousCount:function(B1,Yx){const Oe=B1.match(new RegExp(`(${e1(Yx)})+`,\"g\"));return Oe===null?0:Oe.reduce((zt,an)=>Math.max(zt,an.length/Yx.length),0)},getMinNotPresentContinuousCount:function(B1,Yx){const Oe=B1.match(new RegExp(`(${e1(Yx)})+`,\"g\"));if(Oe===null)return 0;const zt=new Map;let an=0;for(const xi of Oe){const xs=xi.length/Yx.length;zt.set(xs,!0),xs>an&&(an=xs)}for(let xi=1;xi<an;xi++)if(!zt.get(xi))return xi;return an+1},getPenultimate:B1=>B1[B1.length-2],getLast:t1,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:VT,getNextNonSpaceNonCommentCharacterIndex:YS,getNextNonSpaceNonCommentCharacter:function(B1,Yx,Oe){return B1.charAt(YS(B1,Yx,Oe))},skip:G8,skipWhitespace:y6,skipSpaces:nS,skipToLineEnd:jD,skipEverythingButNewLine:X4,skipInlineComment:SF,skipTrailingComment:ad,skipNewline:XS,isNextLineEmptyAfterIndex:gA,isNextLineEmpty:function(B1,Yx,Oe){return gA(B1,Oe(Yx))},isPreviousLineEmpty:function(B1,Yx,Oe){let zt=Oe(Yx)-1;return zt=nS(B1,zt,{backwards:!0}),zt=XS(B1,zt,{backwards:!0}),zt=nS(B1,zt,{backwards:!0}),zt!==XS(B1,zt,{backwards:!0})},hasNewline:X8,hasNewlineInRange:function(B1,Yx,Oe){for(let zt=Yx;zt<Oe;++zt)if(B1.charAt(zt)===`\n`)return!0;return!1},hasSpaces:function(B1,Yx,Oe={}){return nS(B1,Oe.backwards?Yx-1:Yx,Oe)!==Yx},getAlignmentSize:_A,getIndentSize:function(B1,Yx){const Oe=B1.lastIndexOf(`\n`);return Oe===-1?0:_A(B1.slice(Oe+1).match(/^[\\t ]*/)[0],Yx)},getPreferredQuote:QS,printString:function(B1,Yx){return qF(B1.slice(1,-1),Yx.parser===\"json\"||Yx.parser===\"json5\"&&Yx.quoteProps===\"preserve\"&&!Yx.singleQuote?'\"':Yx.__isInHtmlAttribute?\"'\":QS(B1,Yx.singleQuote?\"'\":'\"'),!(Yx.parser===\"css\"||Yx.parser===\"less\"||Yx.parser===\"scss\"||Yx.__embeddedInHtml))},printNumber:function(B1){return B1.toLowerCase().replace(/^([+-]?[\\d.]+e)(?:\\+|(-))?0*(\\d)/,\"$1$2$3\").replace(/^([+-]?[\\d.]+)e[+-]?0+$/,\"$1\").replace(/^([+-])?\\./,\"$10.\").replace(/(\\.\\d+?)0+(?=e|$)/,\"$1\").replace(/\\.(?=e|$)/,\"\")},makeString:qF,addLeadingComment:function(B1,Yx){Yx.leading=!0,Yx.trailing=!1,jS(B1,Yx)},addDanglingComment:function(B1,Yx,Oe){Yx.leading=!1,Yx.trailing=!1,Oe&&(Yx.marker=Oe),jS(B1,Yx)},addTrailingComment:function(B1,Yx){Yx.leading=!1,Yx.trailing=!0,jS(B1,Yx)},isFrontMatterNode:function(B1){return B1&&B1.type===\"front-matter\"},getShebang:function(B1){if(!B1.startsWith(\"#!\"))return\"\";const Yx=B1.indexOf(`\n`);return Yx===-1?B1:B1.slice(0,Yx)},isNonEmptyArray:function(B1){return Array.isArray(B1)&&B1.length>0},createGroupIdMapper:function(B1){const Yx=new WeakMap;return function(Oe){return Yx.has(Oe)||Yx.set(Oe,Symbol(B1)),Yx.get(Oe)}}};const{isNonEmptyArray:n6}=zE;function iS(B1,Yx){const{ignoreDecorators:Oe}=Yx||{};if(!Oe){const zt=B1.declaration&&B1.declaration.decorators||B1.decorators;if(n6(zt))return iS(zt[0])}return B1.range?B1.range[0]:B1.start}function p6(B1){return B1.range?B1.range[1]:B1.end}function O4(B1,Yx){return iS(B1)===iS(Yx)}var $T={locStart:iS,locEnd:p6,hasSameLocStart:O4,hasSameLoc:function(B1,Yx){return O4(B1,Yx)&&function(Oe,zt){return p6(Oe)===p6(zt)}(B1,Yx)}},FF=D1(function(B1){(function(){function Yx(zt){if(zt==null)return!1;switch(zt.type){case\"BlockStatement\":case\"BreakStatement\":case\"ContinueStatement\":case\"DebuggerStatement\":case\"DoWhileStatement\":case\"EmptyStatement\":case\"ExpressionStatement\":case\"ForInStatement\":case\"ForStatement\":case\"IfStatement\":case\"LabeledStatement\":case\"ReturnStatement\":case\"SwitchStatement\":case\"ThrowStatement\":case\"TryStatement\":case\"VariableDeclaration\":case\"WhileStatement\":case\"WithStatement\":return!0}return!1}function Oe(zt){switch(zt.type){case\"IfStatement\":return zt.alternate!=null?zt.alternate:zt.consequent;case\"LabeledStatement\":case\"ForStatement\":case\"ForInStatement\":case\"WhileStatement\":case\"WithStatement\":return zt.body}return null}B1.exports={isExpression:function(zt){if(zt==null)return!1;switch(zt.type){case\"ArrayExpression\":case\"AssignmentExpression\":case\"BinaryExpression\":case\"CallExpression\":case\"ConditionalExpression\":case\"FunctionExpression\":case\"Identifier\":case\"Literal\":case\"LogicalExpression\":case\"MemberExpression\":case\"NewExpression\":case\"ObjectExpression\":case\"SequenceExpression\":case\"ThisExpression\":case\"UnaryExpression\":case\"UpdateExpression\":return!0}return!1},isStatement:Yx,isIterationStatement:function(zt){if(zt==null)return!1;switch(zt.type){case\"DoWhileStatement\":case\"ForInStatement\":case\"ForStatement\":case\"WhileStatement\":return!0}return!1},isSourceElement:function(zt){return Yx(zt)||zt!=null&&zt.type===\"FunctionDeclaration\"},isProblematicIfStatement:function(zt){var an;if(zt.type!==\"IfStatement\"||zt.alternate==null)return!1;an=zt.consequent;do{if(an.type===\"IfStatement\"&&an.alternate==null)return!0;an=Oe(an)}while(an);return!1},trailingStatement:Oe}})()}),AF=D1(function(B1){(function(){var Yx,Oe,zt,an,xi,xs;function bi(ya){return ya<=65535?String.fromCharCode(ya):String.fromCharCode(Math.floor((ya-65536)/1024)+55296)+String.fromCharCode((ya-65536)%1024+56320)}for(Oe={NonAsciiIdentifierStart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\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-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\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\\u0AF9\\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-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\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-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\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\\u2160-\\u2188\\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-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\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]/,NonAsciiIdentifierPart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B4\\u08B6-\\u08BD\\u08D4-\\u08E1\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D54-\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\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\\u135D-\\u135F\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19D9\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFB-\\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\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u2E2F\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099\\u309A\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]/},Yx={NonAsciiIdentifierStart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\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-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\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\\u0AF9\\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-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\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-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\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\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\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\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309B-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\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]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDF00-\\uDF19]|\\uD806[\\uDCA0-\\uDCDF\\uDCFF\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50\\uDF93-\\uDF9F\\uDFE0]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD83A[\\uDC00-\\uDCC4\\uDD00-\\uDD43]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]/,NonAsciiIdentifierPart:/[\\xAA\\xB5\\xB7\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B4\\u08B6-\\u08BD\\u08D4-\\u08E1\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D54-\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\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\\u135D-\\u135F\\u1369-\\u1371\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFB-\\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\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDDFD\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDEE0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF7A\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCA0-\\uDCA9\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE38-\\uDE3A\\uDE3F\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE6\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC00-\\uDC46\\uDC66-\\uDC6F\\uDC7F-\\uDCBA\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9\\uDD00-\\uDD34\\uDD36-\\uDD3F\\uDD50-\\uDD73\\uDD76\\uDD80-\\uDDC4\\uDDCA-\\uDDCC\\uDDD0-\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE37\\uDE3E\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEEA\\uDEF0-\\uDEF9\\uDF00-\\uDF03\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3C-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF50\\uDF57\\uDF5D-\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDC00-\\uDC4A\\uDC50-\\uDC59\\uDC80-\\uDCC5\\uDCC7\\uDCD0-\\uDCD9\\uDD80-\\uDDB5\\uDDB8-\\uDDC0\\uDDD8-\\uDDDD\\uDE00-\\uDE40\\uDE44\\uDE50-\\uDE59\\uDE80-\\uDEB7\\uDEC0-\\uDEC9\\uDF00-\\uDF19\\uDF1D-\\uDF2B\\uDF30-\\uDF39]|\\uD806[\\uDCA0-\\uDCE9\\uDCFF\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC36\\uDC38-\\uDC40\\uDC50-\\uDC59\\uDC72-\\uDC8F\\uDC92-\\uDCA7\\uDCA9-\\uDCB6]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE60-\\uDE69\\uDED0-\\uDEED\\uDEF0-\\uDEF4\\uDF00-\\uDF36\\uDF40-\\uDF43\\uDF50-\\uDF59\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50-\\uDF7E\\uDF8F-\\uDF9F\\uDFE0]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB\\uDFCE-\\uDFFF]|\\uD836[\\uDE00-\\uDE36\\uDE3B-\\uDE6C\\uDE75\\uDE84\\uDE9B-\\uDE9F\\uDEA1-\\uDEAF]|\\uD838[\\uDC00-\\uDC06\\uDC08-\\uDC18\\uDC1B-\\uDC21\\uDC23\\uDC24\\uDC26-\\uDC2A]|\\uD83A[\\uDC00-\\uDCC4\\uDCD0-\\uDCD6\\uDD00-\\uDD4A\\uDD50-\\uDD59]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]|\\uDB40[\\uDD00-\\uDDEF]/},zt=[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279],an=new Array(128),xs=0;xs<128;++xs)an[xs]=xs>=97&&xs<=122||xs>=65&&xs<=90||xs===36||xs===95;for(xi=new Array(128),xs=0;xs<128;++xs)xi[xs]=xs>=97&&xs<=122||xs>=65&&xs<=90||xs>=48&&xs<=57||xs===36||xs===95;B1.exports={isDecimalDigit:function(ya){return 48<=ya&&ya<=57},isHexDigit:function(ya){return 48<=ya&&ya<=57||97<=ya&&ya<=102||65<=ya&&ya<=70},isOctalDigit:function(ya){return ya>=48&&ya<=55},isWhiteSpace:function(ya){return ya===32||ya===9||ya===11||ya===12||ya===160||ya>=5760&&zt.indexOf(ya)>=0},isLineTerminator:function(ya){return ya===10||ya===13||ya===8232||ya===8233},isIdentifierStartES5:function(ya){return ya<128?an[ya]:Oe.NonAsciiIdentifierStart.test(bi(ya))},isIdentifierPartES5:function(ya){return ya<128?xi[ya]:Oe.NonAsciiIdentifierPart.test(bi(ya))},isIdentifierStartES6:function(ya){return ya<128?an[ya]:Yx.NonAsciiIdentifierStart.test(bi(ya))},isIdentifierPartES6:function(ya){return ya<128?xi[ya]:Yx.NonAsciiIdentifierPart.test(bi(ya))}}})()}),Y8=D1(function(B1){(function(){var Yx=AF;function Oe(ya,ul){return!(!ul&&ya===\"yield\")&&zt(ya,ul)}function zt(ya,ul){if(ul&&function(mu){switch(mu){case\"implements\":case\"interface\":case\"package\":case\"private\":case\"protected\":case\"public\":case\"static\":case\"let\":return!0;default:return!1}}(ya))return!0;switch(ya.length){case 2:return ya===\"if\"||ya===\"in\"||ya===\"do\";case 3:return ya===\"var\"||ya===\"for\"||ya===\"new\"||ya===\"try\";case 4:return ya===\"this\"||ya===\"else\"||ya===\"case\"||ya===\"void\"||ya===\"with\"||ya===\"enum\";case 5:return ya===\"while\"||ya===\"break\"||ya===\"catch\"||ya===\"throw\"||ya===\"const\"||ya===\"yield\"||ya===\"class\"||ya===\"super\";case 6:return ya===\"return\"||ya===\"typeof\"||ya===\"delete\"||ya===\"switch\"||ya===\"export\"||ya===\"import\";case 7:return ya===\"default\"||ya===\"finally\"||ya===\"extends\";case 8:return ya===\"function\"||ya===\"continue\"||ya===\"debugger\";case 10:return ya===\"instanceof\";default:return!1}}function an(ya,ul){return ya===\"null\"||ya===\"true\"||ya===\"false\"||Oe(ya,ul)}function xi(ya,ul){return ya===\"null\"||ya===\"true\"||ya===\"false\"||zt(ya,ul)}function xs(ya){var ul,mu,Ds;if(ya.length===0||(Ds=ya.charCodeAt(0),!Yx.isIdentifierStartES5(Ds)))return!1;for(ul=1,mu=ya.length;ul<mu;++ul)if(Ds=ya.charCodeAt(ul),!Yx.isIdentifierPartES5(Ds))return!1;return!0}function bi(ya){var ul,mu,Ds,a6,Mc;if(ya.length===0)return!1;for(Mc=Yx.isIdentifierStartES6,ul=0,mu=ya.length;ul<mu;++ul){if(55296<=(Ds=ya.charCodeAt(ul))&&Ds<=56319){if(++ul>=mu||!(56320<=(a6=ya.charCodeAt(ul))&&a6<=57343))return!1;Ds=1024*(Ds-55296)+(a6-56320)+65536}if(!Mc(Ds))return!1;Mc=Yx.isIdentifierPartES6}return!0}B1.exports={isKeywordES5:Oe,isKeywordES6:zt,isReservedWordES5:an,isReservedWordES6:xi,isRestrictedWord:function(ya){return ya===\"eval\"||ya===\"arguments\"},isIdentifierNameES5:xs,isIdentifierNameES6:bi,isIdentifierES5:function(ya,ul){return xs(ya)&&!an(ya,ul)},isIdentifierES6:function(ya,ul){return bi(ya)&&!xi(ya,ul)}}})()});const hS=D1(function(B1,Yx){Yx.ast=FF,Yx.code=AF,Yx.keyword=Y8}).keyword.isIdentifierNameES5,{getLast:yA,hasNewline:JF,skipWhitespace:eE,isNonEmptyArray:ew,isNextLineEmptyAfterIndex:b5}=zE,{locStart:DA,locEnd:_a,hasSameLocStart:$o}=$T,To=new RegExp(\"^(?:(?=.)\\\\s)*:\"),Qc=new RegExp(\"^(?:(?=.)\\\\s)*::\");function od(B1){return B1.type===\"Block\"||B1.type===\"CommentBlock\"||B1.type===\"MultiLine\"}function _p(B1){return B1.type===\"Line\"||B1.type===\"CommentLine\"||B1.type===\"SingleLine\"||B1.type===\"HashbangComment\"||B1.type===\"HTMLOpen\"||B1.type===\"HTMLClose\"}const F8=new Set([\"ExportDefaultDeclaration\",\"ExportDefaultSpecifier\",\"DeclareExportDeclaration\",\"ExportNamedDeclaration\",\"ExportAllDeclaration\"]);function rg(B1){return B1&&F8.has(B1.type)}function Y4(B1){return B1.type===\"NumericLiteral\"||B1.type===\"Literal\"&&typeof B1.value==\"number\"}function ZS(B1){return B1.type===\"StringLiteral\"||B1.type===\"Literal\"&&typeof B1.value==\"string\"}function A8(B1){return B1.type===\"FunctionExpression\"||B1.type===\"ArrowFunctionExpression\"}function WE(B1){return G6(B1)&&B1.callee.type===\"Identifier\"&&(B1.callee.name===\"async\"||B1.callee.name===\"inject\"||B1.callee.name===\"fakeAsync\")}function R8(B1){return B1.type===\"JSXElement\"||B1.type===\"JSXFragment\"}function gS(B1){return B1.kind===\"get\"||B1.kind===\"set\"}function N6(B1){return gS(B1)||$o(B1,B1.value)}const g4=new Set([\"BinaryExpression\",\"LogicalExpression\",\"NGPipeExpression\"]),f_=new Set([\"AnyTypeAnnotation\",\"TSAnyKeyword\",\"NullLiteralTypeAnnotation\",\"TSNullKeyword\",\"ThisTypeAnnotation\",\"TSThisType\",\"NumberTypeAnnotation\",\"TSNumberKeyword\",\"VoidTypeAnnotation\",\"TSVoidKeyword\",\"BooleanTypeAnnotation\",\"TSBooleanKeyword\",\"BigIntTypeAnnotation\",\"TSBigIntKeyword\",\"SymbolTypeAnnotation\",\"TSSymbolKeyword\",\"StringTypeAnnotation\",\"TSStringKeyword\",\"BooleanLiteralTypeAnnotation\",\"StringLiteralTypeAnnotation\",\"BigIntLiteralTypeAnnotation\",\"NumberLiteralTypeAnnotation\",\"TSLiteralType\",\"TSTemplateLiteralType\",\"EmptyTypeAnnotation\",\"MixedTypeAnnotation\",\"TSNeverKeyword\",\"TSObjectKeyword\",\"TSUndefinedKeyword\",\"TSUnknownKeyword\"]),TF=/^(skip|[fx]?(it|describe|test))$/;function G6(B1){return B1&&(B1.type===\"CallExpression\"||B1.type===\"OptionalCallExpression\")}function $2(B1){return B1&&(B1.type===\"MemberExpression\"||B1.type===\"OptionalMemberExpression\")}function b8(B1){return/^(\\d+|\\d+\\.\\d+)$/.test(B1)}function vA(B1){return B1.quasis.some(Yx=>Yx.value.raw.includes(`\n`))}function n5(B1){return B1.extra?B1.extra.raw:B1.raw}const bb={\"==\":!0,\"!=\":!0,\"===\":!0,\"!==\":!0},P6={\"*\":!0,\"/\":!0,\"%\":!0},i6={\">>\":!0,\">>>\":!0,\"<<\":!0},wF={};for(const[B1,Yx]of[[\"|>\"],[\"??\"],[\"||\"],[\"&&\"],[\"|\"],[\"^\"],[\"&\"],[\"==\",\"===\",\"!=\",\"!==\"],[\"<\",\">\",\"<=\",\">=\",\"in\",\"instanceof\"],[\">>\",\"<<\",\">>>\"],[\"+\",\"-\"],[\"*\",\"/\",\"%\"],[\"**\"]].entries())for(const Oe of Yx)wF[Oe]=B1;function I6(B1){return wF[B1]}const sd=new WeakMap;function HF(B1){if(sd.has(B1))return sd.get(B1);const Yx=[];return B1.this&&Yx.push(B1.this),Array.isArray(B1.parameters)?Yx.push(...B1.parameters):Array.isArray(B1.params)&&Yx.push(...B1.params),B1.rest&&Yx.push(B1.rest),sd.set(B1,Yx),Yx}const aS=new WeakMap;function B4(B1){if(aS.has(B1))return aS.get(B1);let Yx=B1.arguments;return B1.type===\"ImportExpression\"&&(Yx=[B1.source],B1.attributes&&Yx.push(B1.attributes)),aS.set(B1,Yx),Yx}function Ux(B1){return B1.value.trim()===\"prettier-ignore\"&&!B1.unignore}function ue(B1){return B1&&(B1.prettierIgnore||le(B1,Xe.PrettierIgnore))}const Xe={Leading:2,Trailing:4,Dangling:8,Block:16,Line:32,PrettierIgnore:64,First:128,Last:256},Ht=(B1,Yx)=>{if(typeof B1==\"function\"&&(Yx=B1,B1=0),B1||Yx)return(Oe,zt,an)=>!(B1&Xe.Leading&&!Oe.leading||B1&Xe.Trailing&&!Oe.trailing||B1&Xe.Dangling&&(Oe.leading||Oe.trailing)||B1&Xe.Block&&!od(Oe)||B1&Xe.Line&&!_p(Oe)||B1&Xe.First&&zt!==0||B1&Xe.Last&&zt!==an.length-1||B1&Xe.PrettierIgnore&&!Ux(Oe)||Yx&&!Yx(Oe))};function le(B1,Yx,Oe){if(!B1||!ew(B1.comments))return!1;const zt=Ht(Yx,Oe);return!zt||B1.comments.some(zt)}function hr(B1,Yx,Oe){if(!B1||!Array.isArray(B1.comments))return[];const zt=Ht(Yx,Oe);return zt?B1.comments.filter(zt):B1.comments}function pr(B1){return G6(B1)||B1.type===\"NewExpression\"||B1.type===\"ImportExpression\"}var lt={getFunctionParameters:HF,iterateFunctionParametersPath:function(B1,Yx){const Oe=B1.getValue();let zt=0;const an=xi=>Yx(xi,zt++);Oe.this&&B1.call(an,\"this\"),Array.isArray(Oe.parameters)?B1.each(an,\"parameters\"):Array.isArray(Oe.params)&&B1.each(an,\"params\"),Oe.rest&&B1.call(an,\"rest\")},getCallArguments:B4,iterateCallArgumentsPath:function(B1,Yx){const Oe=B1.getValue();Oe.type===\"ImportExpression\"?(B1.call(zt=>Yx(zt,0),\"source\"),Oe.attributes&&B1.call(zt=>Yx(zt,1),\"attributes\")):B1.each(Yx,\"arguments\")},hasRestParameter:function(B1){if(B1.rest)return!0;const Yx=HF(B1);return Yx.length>0&&yA(Yx).type===\"RestElement\"},getLeftSide:function(B1){return B1.expressions?B1.expressions[0]:B1.left||B1.test||B1.callee||B1.object||B1.tag||B1.argument||B1.expression},getLeftSidePathName:function(B1,Yx){if(Yx.expressions)return[\"expressions\",0];if(Yx.left)return[\"left\"];if(Yx.test)return[\"test\"];if(Yx.object)return[\"object\"];if(Yx.callee)return[\"callee\"];if(Yx.tag)return[\"tag\"];if(Yx.argument)return[\"argument\"];if(Yx.expression)return[\"expression\"];throw new Error(\"Unexpected node has no left side.\")},getParentExportDeclaration:function(B1){const Yx=B1.getParentNode();return B1.getName()===\"declaration\"&&rg(Yx)?Yx:null},getTypeScriptMappedTypeModifier:function(B1,Yx){return B1===\"+\"?\"+\"+Yx:B1===\"-\"?\"-\"+Yx:Yx},hasFlowAnnotationComment:function(B1){return B1&&od(B1[0])&&Qc.test(B1[0].value)},hasFlowShorthandAnnotationComment:function(B1){return B1.extra&&B1.extra.parenthesized&&ew(B1.trailingComments)&&od(B1.trailingComments[0])&&To.test(B1.trailingComments[0].value)},hasLeadingOwnLineComment:function(B1,Yx){return R8(Yx)?ue(Yx):le(Yx,Xe.Leading,Oe=>JF(B1,_a(Oe)))},hasNakedLeftSide:function(B1){return B1.type===\"AssignmentExpression\"||B1.type===\"BinaryExpression\"||B1.type===\"LogicalExpression\"||B1.type===\"NGPipeExpression\"||B1.type===\"ConditionalExpression\"||G6(B1)||$2(B1)||B1.type===\"SequenceExpression\"||B1.type===\"TaggedTemplateExpression\"||B1.type===\"BindExpression\"||B1.type===\"UpdateExpression\"&&!B1.prefix||B1.type===\"TSAsExpression\"||B1.type===\"TSNonNullExpression\"},hasNode:function B1(Yx,Oe){if(!Yx||typeof Yx!=\"object\")return!1;if(Array.isArray(Yx))return Yx.some(an=>B1(an,Oe));const zt=Oe(Yx);return typeof zt==\"boolean\"?zt:Object.values(Yx).some(an=>B1(an,Oe))},hasIgnoreComment:function(B1){return ue(B1.getValue())},hasNodeIgnoreComment:ue,identity:function(B1){return B1},isBinaryish:function(B1){return g4.has(B1.type)},isBlockComment:od,isCallLikeExpression:pr,isLineComment:_p,isPrettierIgnoreComment:Ux,isCallExpression:G6,isMemberExpression:$2,isExportDeclaration:rg,isFlowAnnotationComment:function(B1,Yx){const Oe=DA(Yx),zt=eE(B1,_a(Yx));return zt!==!1&&B1.slice(Oe,Oe+2)===\"/*\"&&B1.slice(zt,zt+2)===\"*/\"},isFunctionCompositionArgs:function(B1){if(B1.length<=1)return!1;let Yx=0;for(const Oe of B1)if(A8(Oe)){if(Yx+=1,Yx>1)return!0}else if(G6(Oe)){for(const zt of Oe.arguments)if(A8(zt))return!0}return!1},isFunctionNotation:N6,isFunctionOrArrowExpression:A8,isGetterOrSetter:gS,isJestEachTemplateLiteral:function(B1,Yx){const Oe=/^[fx]?(describe|it|test)$/;return Yx.type===\"TaggedTemplateExpression\"&&Yx.quasi===B1&&Yx.tag.type===\"MemberExpression\"&&Yx.tag.property.type===\"Identifier\"&&Yx.tag.property.name===\"each\"&&(Yx.tag.object.type===\"Identifier\"&&Oe.test(Yx.tag.object.name)||Yx.tag.object.type===\"MemberExpression\"&&Yx.tag.object.property.type===\"Identifier\"&&(Yx.tag.object.property.name===\"only\"||Yx.tag.object.property.name===\"skip\")&&Yx.tag.object.object.type===\"Identifier\"&&Oe.test(Yx.tag.object.object.name))},isJsxNode:R8,isLiteral:function(B1){return B1.type===\"BooleanLiteral\"||B1.type===\"DirectiveLiteral\"||B1.type===\"Literal\"||B1.type===\"NullLiteral\"||B1.type===\"NumericLiteral\"||B1.type===\"BigIntLiteral\"||B1.type===\"DecimalLiteral\"||B1.type===\"RegExpLiteral\"||B1.type===\"StringLiteral\"||B1.type===\"TemplateLiteral\"||B1.type===\"TSTypeLiteral\"||B1.type===\"JSXText\"},isLongCurriedCallExpression:function(B1){const Yx=B1.getValue(),Oe=B1.getParentNode();return G6(Yx)&&G6(Oe)&&Oe.callee===Yx&&Yx.arguments.length>Oe.arguments.length&&Oe.arguments.length>0},isSimpleCallArgument:function B1(Yx,Oe){if(Oe>=2)return!1;const zt=xi=>B1(xi,Oe+1),an=Yx.type===\"Literal\"&&\"regex\"in Yx&&Yx.regex.pattern||Yx.type===\"RegExpLiteral\"&&Yx.pattern;return!(an&&an.length>5)&&(Yx.type===\"Literal\"||Yx.type===\"BigIntLiteral\"||Yx.type===\"DecimalLiteral\"||Yx.type===\"BooleanLiteral\"||Yx.type===\"NullLiteral\"||Yx.type===\"NumericLiteral\"||Yx.type===\"RegExpLiteral\"||Yx.type===\"StringLiteral\"||Yx.type===\"Identifier\"||Yx.type===\"ThisExpression\"||Yx.type===\"Super\"||Yx.type===\"PrivateName\"||Yx.type===\"PrivateIdentifier\"||Yx.type===\"ArgumentPlaceholder\"||Yx.type===\"Import\"||(Yx.type===\"TemplateLiteral\"?Yx.quasis.every(xi=>!xi.value.raw.includes(`\n`))&&Yx.expressions.every(zt):Yx.type===\"ObjectExpression\"?Yx.properties.every(xi=>!xi.computed&&(xi.shorthand||xi.value&&zt(xi.value))):Yx.type===\"ArrayExpression\"?Yx.elements.every(xi=>xi===null||zt(xi)):pr(Yx)?(Yx.type===\"ImportExpression\"||B1(Yx.callee,Oe))&&B4(Yx).every(zt):$2(Yx)?B1(Yx.object,Oe)&&B1(Yx.property,Oe):Yx.type!==\"UnaryExpression\"||Yx.operator!==\"!\"&&Yx.operator!==\"-\"?Yx.type===\"TSNonNullExpression\"&&B1(Yx.expression,Oe):B1(Yx.argument,Oe)))},isMemberish:function(B1){return $2(B1)||B1.type===\"BindExpression\"&&Boolean(B1.object)},isNumericLiteral:Y4,isSignedNumericLiteral:function(B1){return B1.type===\"UnaryExpression\"&&(B1.operator===\"+\"||B1.operator===\"-\")&&Y4(B1.argument)},isObjectProperty:function(B1){return B1&&(B1.type===\"ObjectProperty\"||B1.type===\"Property\"&&!B1.method&&B1.kind===\"init\")},isObjectType:function(B1){return B1.type===\"ObjectTypeAnnotation\"||B1.type===\"TSTypeLiteral\"},isObjectTypePropertyAFunction:function(B1){return!(B1.type!==\"ObjectTypeProperty\"&&B1.type!==\"ObjectTypeInternalSlot\"||B1.value.type!==\"FunctionTypeAnnotation\"||B1.static||N6(B1))},isSimpleType:function(B1){return!!B1&&(!(B1.type!==\"GenericTypeAnnotation\"&&B1.type!==\"TSTypeReference\"||B1.typeParameters)||!!f_.has(B1.type))},isSimpleNumber:b8,isSimpleTemplateLiteral:function(B1){let Yx=\"expressions\";B1.type===\"TSTemplateLiteralType\"&&(Yx=\"types\");const Oe=B1[Yx];return Oe.length!==0&&Oe.every(zt=>{if(le(zt))return!1;if(zt.type===\"Identifier\"||zt.type===\"ThisExpression\")return!0;if($2(zt)){let an=zt;for(;$2(an);)if(an.property.type!==\"Identifier\"&&an.property.type!==\"Literal\"&&an.property.type!==\"StringLiteral\"&&an.property.type!==\"NumericLiteral\"||(an=an.object,le(an)))return!1;return an.type===\"Identifier\"||an.type===\"ThisExpression\"}return!1})},isStringLiteral:ZS,isStringPropSafeToUnquote:function(B1,Yx){return Yx.parser!==\"json\"&&ZS(B1.key)&&n5(B1.key).slice(1,-1)===B1.key.value&&(hS(B1.key.value)&&!((Yx.parser===\"typescript\"||Yx.parser===\"babel-ts\")&&B1.type===\"ClassProperty\")||b8(B1.key.value)&&String(Number(B1.key.value))===B1.key.value&&(Yx.parser===\"babel\"||Yx.parser===\"espree\"||Yx.parser===\"meriyah\"||Yx.parser===\"__babel_estree\"))},isTemplateOnItsOwnLine:function(B1,Yx){return(B1.type===\"TemplateLiteral\"&&vA(B1)||B1.type===\"TaggedTemplateExpression\"&&vA(B1.quasi))&&!JF(Yx,DA(B1),{backwards:!0})},isTestCall:function B1(Yx,Oe){if(Yx.type!==\"CallExpression\")return!1;if(Yx.arguments.length===1){if(WE(Yx)&&Oe&&B1(Oe))return A8(Yx.arguments[0]);if(function(zt){return zt.callee.type===\"Identifier\"&&/^(before|after)(Each|All)$/.test(zt.callee.name)&&zt.arguments.length===1}(Yx))return WE(Yx.arguments[0])}else if((Yx.arguments.length===2||Yx.arguments.length===3)&&(Yx.callee.type===\"Identifier\"&&TF.test(Yx.callee.name)||function(zt){return $2(zt.callee)&&zt.callee.object.type===\"Identifier\"&&zt.callee.property.type===\"Identifier\"&&TF.test(zt.callee.object.name)&&(zt.callee.property.name===\"only\"||zt.callee.property.name===\"skip\")}(Yx))&&(function(zt){return zt.type===\"TemplateLiteral\"}(Yx.arguments[0])||ZS(Yx.arguments[0])))return!(Yx.arguments[2]&&!Y4(Yx.arguments[2]))&&((Yx.arguments.length===2?A8(Yx.arguments[1]):function(zt){return zt.type===\"FunctionExpression\"||zt.type===\"ArrowFunctionExpression\"&&zt.body.type===\"BlockStatement\"}(Yx.arguments[1])&&HF(Yx.arguments[1]).length<=1)||WE(Yx.arguments[1]));return!1},isTheOnlyJsxElementInMarkdown:function(B1,Yx){if(B1.parentParser!==\"markdown\"&&B1.parentParser!==\"mdx\")return!1;const Oe=Yx.getNode();if(!Oe.expression||!R8(Oe.expression))return!1;const zt=Yx.getParentNode();return zt.type===\"Program\"&&zt.body.length===1},isTSXFile:function(B1){return B1.filepath&&/\\.tsx$/i.test(B1.filepath)},isTypeAnnotationAFunction:function(B1){return!(B1.type!==\"TypeAnnotation\"&&B1.type!==\"TSTypeAnnotation\"||B1.typeAnnotation.type!==\"FunctionTypeAnnotation\"||B1.static||$o(B1,B1.typeAnnotation))},isNextLineEmpty:(B1,{originalText:Yx})=>b5(Yx,_a(B1)),needsHardlineAfterDanglingComment:function(B1){if(!le(B1))return!1;const Yx=yA(hr(B1,Xe.Dangling));return Yx&&!od(Yx)},rawText:n5,shouldPrintComma:function(B1,Yx=\"es5\"){return B1.trailingComma===\"es5\"&&Yx===\"es5\"||B1.trailingComma===\"all\"&&(Yx===\"all\"||Yx===\"es5\")},isBitwiseOperator:function(B1){return Boolean(i6[B1])||B1===\"|\"||B1===\"^\"||B1===\"&\"},shouldFlatten:function(B1,Yx){return I6(Yx)===I6(B1)&&B1!==\"**\"&&(!bb[B1]||!bb[Yx])&&!(Yx===\"%\"&&P6[B1]||B1===\"%\"&&P6[Yx])&&(Yx===B1||!P6[Yx]||!P6[B1])&&(!i6[B1]||!i6[Yx])},startsWithNoLookaheadToken:function B1(Yx,Oe){switch((Yx=function(zt){for(;zt.left;)zt=zt.left;return zt}(Yx)).type){case\"FunctionExpression\":case\"ClassExpression\":case\"DoExpression\":return Oe;case\"ObjectExpression\":return!0;case\"MemberExpression\":case\"OptionalMemberExpression\":return B1(Yx.object,Oe);case\"TaggedTemplateExpression\":return Yx.tag.type!==\"FunctionExpression\"&&B1(Yx.tag,Oe);case\"CallExpression\":case\"OptionalCallExpression\":return Yx.callee.type!==\"FunctionExpression\"&&B1(Yx.callee,Oe);case\"ConditionalExpression\":return B1(Yx.test,Oe);case\"UpdateExpression\":return!Yx.prefix&&B1(Yx.argument,Oe);case\"BindExpression\":return Yx.object&&B1(Yx.object,Oe);case\"SequenceExpression\":return B1(Yx.expressions[0],Oe);case\"TSAsExpression\":case\"TSNonNullExpression\":return B1(Yx.expression,Oe);default:return!1}},getPrecedence:I6,hasComment:le,getComments:hr,CommentCheckFlags:Xe};const{getLast:Qr,hasNewline:Wi,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:Io,getNextNonSpaceNonCommentCharacter:Uo,hasNewlineInRange:sa,addLeadingComment:fn,addTrailingComment:Gn,addDanglingComment:Ti,getNextNonSpaceNonCommentCharacterIndex:Eo,isNonEmptyArray:qo}=zE,{isBlockComment:ci,getFunctionParameters:os,isPrettierIgnoreComment:$s,isJsxNode:Po,hasFlowShorthandAnnotationComment:Dr,hasFlowAnnotationComment:Nm,hasIgnoreComment:Og,isCallLikeExpression:Bg,getCallArguments:_S,isCallExpression:f8,isMemberExpression:Lx,isObjectProperty:q1}=lt,{locStart:Qx,locEnd:Be}=$T;function St(B1,Yx){const Oe=(B1.body||B1.properties).find(({type:zt})=>zt!==\"EmptyStatement\");Oe?fn(Oe,Yx):Ti(B1,Yx)}function _r(B1,Yx){B1.type===\"BlockStatement\"?St(B1,Yx):fn(B1,Yx)}function gi({comment:B1,followingNode:Yx}){return!(!Yx||!Um(B1))&&(fn(Yx,B1),!0)}function je({comment:B1,precedingNode:Yx,enclosingNode:Oe,followingNode:zt,text:an}){return!Oe||Oe.type!==\"IfStatement\"||!zt?!1:Uo(an,B1,Be)===\")\"?(Gn(Yx,B1),!0):Yx===Oe.consequent&&zt===Oe.alternate?(Yx.type===\"BlockStatement\"?Gn(Yx,B1):Ti(Oe,B1),!0):zt.type===\"BlockStatement\"?(St(zt,B1),!0):zt.type===\"IfStatement\"?(_r(zt.consequent,B1),!0):Oe.consequent===zt&&(fn(zt,B1),!0)}function Gu({comment:B1,precedingNode:Yx,enclosingNode:Oe,followingNode:zt,text:an}){return!Oe||Oe.type!==\"WhileStatement\"||!zt?!1:Uo(an,B1,Be)===\")\"?(Gn(Yx,B1),!0):zt.type===\"BlockStatement\"?(St(zt,B1),!0):Oe.body===zt&&(fn(zt,B1),!0)}function io({comment:B1,precedingNode:Yx,enclosingNode:Oe,followingNode:zt}){return!(!Oe||Oe.type!==\"TryStatement\"&&Oe.type!==\"CatchClause\"||!zt)&&(Oe.type===\"CatchClause\"&&Yx?(Gn(Yx,B1),!0):zt.type===\"BlockStatement\"?(St(zt,B1),!0):zt.type===\"TryStatement\"?(_r(zt.finalizer,B1),!0):zt.type===\"CatchClause\"&&(_r(zt.body,B1),!0))}function ss({comment:B1,enclosingNode:Yx,followingNode:Oe}){return!(!Lx(Yx)||!Oe||Oe.type!==\"Identifier\")&&(fn(Yx,B1),!0)}function to({comment:B1,precedingNode:Yx,enclosingNode:Oe,followingNode:zt,text:an}){const xi=Yx&&!sa(an,Be(Yx),Qx(B1));return!(Yx&&xi||!Oe||Oe.type!==\"ConditionalExpression\"&&Oe.type!==\"TSConditionalType\"||!zt)&&(fn(zt,B1),!0)}function Ma({comment:B1,precedingNode:Yx,enclosingNode:Oe}){return!(!q1(Oe)||!Oe.shorthand||Oe.key!==Yx||Oe.value.type!==\"AssignmentPattern\")&&(Gn(Oe.value.left,B1),!0)}function Ks({comment:B1,precedingNode:Yx,enclosingNode:Oe,followingNode:zt}){if(Oe&&(Oe.type===\"ClassDeclaration\"||Oe.type===\"ClassExpression\"||Oe.type===\"DeclareClass\"||Oe.type===\"DeclareInterface\"||Oe.type===\"InterfaceDeclaration\"||Oe.type===\"TSInterfaceDeclaration\")){if(qo(Oe.decorators)&&(!zt||zt.type!==\"Decorator\"))return Gn(Qr(Oe.decorators),B1),!0;if(Oe.body&&zt===Oe.body)return St(Oe.body,B1),!0;if(zt){for(const an of[\"implements\",\"extends\",\"mixins\"])if(Oe[an]&&zt===Oe[an][0])return!Yx||Yx!==Oe.id&&Yx!==Oe.typeParameters&&Yx!==Oe.superClass?Ti(Oe,B1,an):Gn(Yx,B1),!0}}return!1}function Qa({comment:B1,precedingNode:Yx,enclosingNode:Oe,text:zt}){return(Oe&&Yx&&(Oe.type===\"Property\"||Oe.type===\"TSDeclareMethod\"||Oe.type===\"TSAbstractMethodDefinition\")&&Yx.type===\"Identifier\"&&Oe.key===Yx&&Uo(zt,Yx,Be)!==\":\"||!(!Yx||!Oe||Yx.type!==\"Decorator\"||Oe.type!==\"ClassMethod\"&&Oe.type!==\"ClassProperty\"&&Oe.type!==\"PropertyDefinition\"&&Oe.type!==\"TSAbstractClassProperty\"&&Oe.type!==\"TSAbstractMethodDefinition\"&&Oe.type!==\"TSDeclareMethod\"&&Oe.type!==\"MethodDefinition\"))&&(Gn(Yx,B1),!0)}function Wc({comment:B1,precedingNode:Yx,enclosingNode:Oe,text:zt}){return Uo(zt,B1,Be)===\"(\"&&!(!Yx||!Oe||Oe.type!==\"FunctionDeclaration\"&&Oe.type!==\"FunctionExpression\"&&Oe.type!==\"ClassMethod\"&&Oe.type!==\"MethodDefinition\"&&Oe.type!==\"ObjectMethod\")&&(Gn(Yx,B1),!0)}function la({comment:B1,enclosingNode:Yx,text:Oe}){if(!Yx||Yx.type!==\"ArrowFunctionExpression\")return!1;const zt=Eo(Oe,B1,Be);return zt!==!1&&Oe.slice(zt,zt+2)===\"=>\"&&(Ti(Yx,B1),!0)}function Af({comment:B1,enclosingNode:Yx,text:Oe}){return Uo(Oe,B1,Be)===\")\"&&(Yx&&(i5(Yx)&&os(Yx).length===0||Bg(Yx)&&_S(Yx).length===0)?(Ti(Yx,B1),!0):!(!Yx||Yx.type!==\"MethodDefinition\"&&Yx.type!==\"TSAbstractMethodDefinition\"||os(Yx.value).length!==0)&&(Ti(Yx.value,B1),!0))}function so({comment:B1,precedingNode:Yx,enclosingNode:Oe,followingNode:zt,text:an}){if(Yx&&Yx.type===\"FunctionTypeParam\"&&Oe&&Oe.type===\"FunctionTypeAnnotation\"&&zt&&zt.type!==\"FunctionTypeParam\"||Yx&&(Yx.type===\"Identifier\"||Yx.type===\"AssignmentPattern\")&&Oe&&i5(Oe)&&Uo(an,B1,Be)===\")\")return Gn(Yx,B1),!0;if(Oe&&Oe.type===\"FunctionDeclaration\"&&zt&&zt.type===\"BlockStatement\"){const xi=(()=>{const xs=os(Oe);if(xs.length>0)return Io(an,Be(Qr(xs)));const bi=Io(an,Be(Oe.id));return bi!==!1&&Io(an,bi+1)})();if(Qx(B1)>xi)return St(zt,B1),!0}return!1}function qu({comment:B1,enclosingNode:Yx}){return!(!Yx||Yx.type!==\"ImportSpecifier\")&&(fn(Yx,B1),!0)}function lf({comment:B1,enclosingNode:Yx}){return!(!Yx||Yx.type!==\"LabeledStatement\")&&(fn(Yx,B1),!0)}function uu({comment:B1,enclosingNode:Yx}){return!(!Yx||Yx.type!==\"ContinueStatement\"&&Yx.type!==\"BreakStatement\"||Yx.label)&&(Gn(Yx,B1),!0)}function ud({comment:B1,precedingNode:Yx,enclosingNode:Oe}){return!!(f8(Oe)&&Yx&&Oe.callee===Yx&&Oe.arguments.length>0)&&(fn(Oe.arguments[0],B1),!0)}function fm({comment:B1,precedingNode:Yx,enclosingNode:Oe,followingNode:zt}){return!Oe||Oe.type!==\"UnionTypeAnnotation\"&&Oe.type!==\"TSUnionType\"?(zt&&(zt.type===\"UnionTypeAnnotation\"||zt.type===\"TSUnionType\")&&$s(B1)&&(zt.types[0].prettierIgnore=!0,B1.unignore=!0),!1):($s(B1)&&(zt.prettierIgnore=!0,B1.unignore=!0),!!Yx&&(Gn(Yx,B1),!0))}function w2({comment:B1,enclosingNode:Yx}){return!!q1(Yx)&&(fn(Yx,B1),!0)}function US({comment:B1,enclosingNode:Yx,followingNode:Oe,ast:zt,isLastComment:an}){return zt&&zt.body&&zt.body.length===0?(an?Ti(zt,B1):fn(zt,B1),!0):Yx&&Yx.type===\"Program\"&&Yx.body.length===0&&!qo(Yx.directives)?(an?Ti(Yx,B1):fn(Yx,B1),!0):!(!Oe||Oe.type!==\"Program\"||Oe.body.length!==0||!Yx||Yx.type!==\"ModuleExpression\")&&(Ti(Oe,B1),!0)}function j8({comment:B1,enclosingNode:Yx}){return!(!Yx||Yx.type!==\"ForInStatement\"&&Yx.type!==\"ForOfStatement\")&&(fn(Yx,B1),!0)}function tE({comment:B1,precedingNode:Yx,enclosingNode:Oe,text:zt}){return!!(Yx&&Yx.type===\"ImportSpecifier\"&&Oe&&Oe.type===\"ImportDeclaration\"&&Wi(zt,Be(B1)))&&(Gn(Yx,B1),!0)}function U8({comment:B1,enclosingNode:Yx}){return!(!Yx||Yx.type!==\"AssignmentPattern\")&&(fn(Yx,B1),!0)}function xp({comment:B1,enclosingNode:Yx}){return!(!Yx||Yx.type!==\"TypeAlias\")&&(fn(Yx,B1),!0)}function tw({comment:B1,enclosingNode:Yx,followingNode:Oe}){return!(!Yx||Yx.type!==\"VariableDeclarator\"&&Yx.type!==\"AssignmentExpression\"||!Oe||Oe.type!==\"ObjectExpression\"&&Oe.type!==\"ArrayExpression\"&&Oe.type!==\"TemplateLiteral\"&&Oe.type!==\"TaggedTemplateExpression\"&&!ci(B1))&&(fn(Oe,B1),!0)}function _4({comment:B1,enclosingNode:Yx,followingNode:Oe,text:zt}){return!(Oe||!Yx||Yx.type!==\"TSMethodSignature\"&&Yx.type!==\"TSDeclareFunction\"&&Yx.type!==\"TSAbstractMethodDefinition\"||Uo(zt,B1,Be)!==\";\")&&(Gn(Yx,B1),!0)}function rw({comment:B1,enclosingNode:Yx,followingNode:Oe}){if($s(B1)&&Yx&&Yx.type===\"TSMappedType\"&&Oe&&Oe.type===\"TSTypeParameter\"&&Oe.constraint)return Yx.prettierIgnore=!0,B1.unignore=!0,!0}function kF({comment:B1,precedingNode:Yx,enclosingNode:Oe,followingNode:zt}){return!(!Oe||Oe.type!==\"TSMappedType\")&&(zt&&zt.type===\"TSTypeParameter\"&&zt.name?(fn(zt.name,B1),!0):!(!Yx||Yx.type!==\"TSTypeParameter\"||!Yx.constraint)&&(Gn(Yx.constraint,B1),!0))}function i5(B1){return B1.type===\"ArrowFunctionExpression\"||B1.type===\"FunctionExpression\"||B1.type===\"FunctionDeclaration\"||B1.type===\"ObjectMethod\"||B1.type===\"ClassMethod\"||B1.type===\"TSDeclareFunction\"||B1.type===\"TSCallSignatureDeclaration\"||B1.type===\"TSConstructSignatureDeclaration\"||B1.type===\"TSMethodSignature\"||B1.type===\"TSConstructorType\"||B1.type===\"TSFunctionType\"||B1.type===\"TSDeclareMethod\"}function Um(B1){return ci(B1)&&B1.value[0]===\"*\"&&/@type\\b/.test(B1.value)}var Q8={handleOwnLineComment:function(B1){return[rw,so,ss,je,Gu,io,Ks,qu,j8,fm,US,tE,U8,Qa,lf].some(Yx=>Yx(B1))},handleEndOfLineComment:function(B1){return[gi,so,to,qu,je,Gu,io,Ks,lf,ud,w2,US,xp,tw].some(Yx=>Yx(B1))},handleRemainingComment:function(B1){return[rw,je,Gu,Ma,Af,Qa,US,la,Wc,kF,uu,_4].some(Yx=>Yx(B1))},isTypeCastComment:Um,getCommentChildNodes:function(B1,Yx){if((Yx.parser===\"typescript\"||Yx.parser===\"flow\"||Yx.parser===\"espree\"||Yx.parser===\"meriyah\"||Yx.parser===\"__babel_estree\")&&B1.type===\"MethodDefinition\"&&B1.value&&B1.value.type===\"FunctionExpression\"&&os(B1.value).length===0&&!B1.value.returnType&&!qo(B1.value.typeParameters)&&B1.value.body)return[...B1.decorators||[],B1.key,B1.value.body]},willPrintOwnComments:function(B1){const Yx=B1.getValue(),Oe=B1.getParentNode();return(Yx&&(Po(Yx)||Dr(Yx)||f8(Oe)&&(Nm(Yx.leadingComments)||Nm(Yx.trailingComments)))||Oe&&(Oe.type===\"JSXSpreadAttribute\"||Oe.type===\"JSXSpreadChild\"||Oe.type===\"UnionTypeAnnotation\"||Oe.type===\"TSUnionType\"||(Oe.type===\"ClassDeclaration\"||Oe.type===\"ClassExpression\")&&Oe.superClass===Yx))&&(!Og(B1)||Oe.type===\"UnionTypeAnnotation\"||Oe.type===\"TSUnionType\")}};const{getLast:bA,getNextNonSpaceNonCommentCharacter:CA}=zE,{locStart:sT,locEnd:rE}=$T,{isTypeCastComment:Z8}=Q8;function V5(B1){return B1.type===\"CallExpression\"?(B1.type=\"OptionalCallExpression\",B1.callee=V5(B1.callee)):B1.type===\"MemberExpression\"?(B1.type=\"OptionalMemberExpression\",B1.object=V5(B1.object)):B1.type===\"TSNonNullExpression\"&&(B1.expression=V5(B1.expression)),B1}function FS(B1,Yx){let Oe;if(Array.isArray(B1))Oe=B1.entries();else{if(!B1||typeof B1!=\"object\"||typeof B1.type!=\"string\")return B1;Oe=Object.entries(B1)}for(const[zt,an]of Oe)B1[zt]=FS(an,Yx);return Array.isArray(B1)?B1:Yx(B1)||B1}function xF(B1){return B1.type===\"LogicalExpression\"&&B1.right.type===\"LogicalExpression\"&&B1.operator===B1.right.operator}function $5(B1){return xF(B1)?$5({type:\"LogicalExpression\",operator:B1.operator,left:$5({type:\"LogicalExpression\",operator:B1.operator,left:B1.left,right:B1.right.left,range:[sT(B1.left),rE(B1.right.left)]}),right:B1.right.right,range:[sT(B1),rE(B1)]}):B1}var AS,O6=function(B1,Yx){if(Yx.parser===\"typescript\"&&Yx.originalText.includes(\"@\")){const{esTreeNodeToTSNodeMap:Oe,tsNodeToESTreeNodeMap:zt}=Yx.tsParseResult;B1=FS(B1,an=>{const xi=Oe.get(an);if(!xi)return;const xs=xi.decorators;if(!Array.isArray(xs))return;const bi=zt.get(xi);if(bi!==an)return;const ya=bi.decorators;if(!Array.isArray(ya)||ya.length!==xs.length||xs.some(ul=>{const mu=zt.get(ul);return!mu||!ya.includes(mu)})){const{start:ul,end:mu}=bi.loc;throw c(\"Leading decorators must be attached to a class declaration\",{start:{line:ul.line,column:ul.column+1},end:{line:mu.line,column:mu.column+1}})}})}if(Yx.parser!==\"typescript\"&&Yx.parser!==\"flow\"&&Yx.parser!==\"espree\"&&Yx.parser!==\"meriyah\"){const Oe=new Set;B1=FS(B1,zt=>{zt.leadingComments&&zt.leadingComments.some(Z8)&&Oe.add(sT(zt))}),B1=FS(B1,zt=>{if(zt.type===\"ParenthesizedExpression\"){const{expression:an}=zt;if(an.type===\"TypeCastExpression\")return an.range=zt.range,an;const xi=sT(zt);if(!Oe.has(xi))return an.extra=Object.assign(Object.assign({},an.extra),{},{parenthesized:!0}),an}})}return B1=FS(B1,Oe=>{switch(Oe.type){case\"ChainExpression\":return V5(Oe.expression);case\"LogicalExpression\":if(xF(Oe))return $5(Oe);break;case\"VariableDeclaration\":{const zt=bA(Oe.declarations);zt&&zt.init&&function(an,xi){Yx.originalText[rE(xi)]!==\";\"&&(an.range=[sT(an),rE(xi)])}(Oe,zt);break}case\"TSParenthesizedType\":return Oe.typeAnnotation.range=[sT(Oe),rE(Oe)],Oe.typeAnnotation;case\"TSTypeParameter\":if(typeof Oe.name==\"string\"){const zt=sT(Oe);Oe.name={type:\"Identifier\",name:Oe.name,range:[zt,zt+Oe.name.length]}}break;case\"SequenceExpression\":{const zt=bA(Oe.expressions);Oe.range=[sT(Oe),Math.min(rE(zt),rE(Oe))];break}case\"ClassProperty\":Oe.key&&Oe.key.type===\"TSPrivateIdentifier\"&&CA(Yx.originalText,Oe.key,rE)===\"?\"&&(Oe.optional=!0)}})};function zw(){if(AS===void 0){var B1=new ArrayBuffer(2),Yx=new Uint8Array(B1),Oe=new Uint16Array(B1);if(Yx[0]=1,Yx[1]=2,Oe[0]===258)AS=\"BE\";else{if(Oe[0]!==513)throw new Error(\"unable to figure out endianess\");AS=\"LE\"}}return AS}function EA(){return JS.location!==void 0?JS.location.hostname:\"\"}function K5(){return[]}function ps(){return 0}function eF(){return Number.MAX_VALUE}function NF(){return Number.MAX_VALUE}function C8(){return[]}function L4(){return\"Browser\"}function KT(){return JS.navigator!==void 0?JS.navigator.appVersion:\"\"}function C5(){}function y4(){}function Zs(){return\"javascript\"}function GF(){return\"browser\"}function zT(){return\"/tmp\"}var AT=zT,a5={EOL:`\n`,arch:Zs,platform:GF,tmpdir:AT,tmpDir:zT,networkInterfaces:C5,getNetworkInterfaces:y4,release:KT,type:L4,cpus:C8,totalmem:NF,freemem:eF,uptime:ps,loadavg:K5,hostname:EA,endianness:zw},z5=Object.freeze({__proto__:null,endianness:zw,hostname:EA,loadavg:K5,uptime:ps,freemem:eF,totalmem:NF,cpus:C8,type:L4,release:KT,networkInterfaces:C5,getNetworkInterfaces:y4,arch:Zs,platform:GF,tmpDir:zT,tmpdir:AT,EOL:`\n`,default:a5});const XF=B1=>{if(typeof B1!=\"string\")throw new TypeError(\"Expected a string\");const Yx=B1.match(/(?:\\r?\\n)/g)||[];if(Yx.length===0)return;const Oe=Yx.filter(zt=>zt===`\\r\n`).length;return Oe>Yx.length-Oe?`\\r\n`:`\n`};var zs=XF;zs.graceful=B1=>typeof B1==\"string\"&&XF(B1)||`\n`;var W5=a1(z5),TT=function(B1){const Yx=B1.match(gu);return Yx?Yx[0].trimLeft():\"\"},kx=function(B1){const Yx=B1.match(gu);return Yx&&Yx[0]?B1.substring(Yx[0].length):B1},Xx=function(B1){return ap(B1).pragmas},Ee=ap,at=function({comments:B1=\"\",pragmas:Yx={}}){const Oe=(0,Bn().default)(B1)||cn().EOL,zt=\" *\",an=Object.keys(Yx),xi=an.map(bi=>Ll(bi,Yx[bi])).reduce((bi,ya)=>bi.concat(ya),[]).map(bi=>\" * \"+bi+Oe).join(\"\");if(!B1){if(an.length===0)return\"\";if(an.length===1&&!Array.isArray(Yx[an[0]])){const bi=Yx[an[0]];return`/** ${Ll(an[0],bi)[0]} */`}}const xs=B1.split(Oe).map(bi=>` * ${bi}`).join(Oe)+Oe;return\"/**\"+Oe+(B1?xs:\"\")+(B1&&an.length?zt+Oe:\"\")+xi+\" */\"};function cn(){const B1=W5;return cn=function(){return B1},B1}function Bn(){const B1=(Yx=zs)&&Yx.__esModule?Yx:{default:Yx};var Yx;return Bn=function(){return B1},B1}const ao=/\\*\\/$/,go=/^\\/\\*\\*/,gu=/^\\s*(\\/\\*\\*?(.|\\r?\\n)*?\\*\\/)/,cu=/(^|\\s+)\\/\\/([^\\r\\n]*)/g,El=/^(\\r?\\n)+/,Go=/(?:^|\\r?\\n) *(@[^\\r\\n]*?) *\\r?\\n *(?![^@\\r\\n]*\\/\\/[^]*)([^@\\r\\n\\s][^@\\r\\n]+?) *\\r?\\n/g,Xu=/(?:^|\\r?\\n) *@(\\S+) *([^\\r\\n]*)/g,Ql=/(\\r?\\n|^) *\\* ?/g,p_=[];function ap(B1){const Yx=(0,Bn().default)(B1)||cn().EOL;B1=B1.replace(go,\"\").replace(ao,\"\").replace(Ql,\"$1\");let Oe=\"\";for(;Oe!==B1;)Oe=B1,B1=B1.replace(Go,`${Yx}$1 $2${Yx}`);B1=B1.replace(El,\"\").trimRight();const zt=Object.create(null),an=B1.replace(Xu,\"\").replace(El,\"\").trimRight();let xi;for(;xi=Xu.exec(B1);){const xs=xi[2].replace(cu,\"\");typeof zt[xi[1]]==\"string\"||Array.isArray(zt[xi[1]])?zt[xi[1]]=p_.concat(zt[xi[1]],xs):zt[xi[1]]=xs}return{comments:an,pragmas:zt}}function Ll(B1,Yx){return p_.concat(Yx).map(Oe=>`@${B1} ${Oe}`.trim())}var $l=Object.defineProperty({extract:TT,strip:kx,parse:Xx,parseWithComments:Ee,print:at},\"__esModule\",{value:!0}),Tu={guessEndOfLine:function(B1){const Yx=B1.indexOf(\"\\r\");return Yx>=0?B1.charAt(Yx+1)===`\n`?\"crlf\":\"cr\":\"lf\"},convertEndOfLineToChars:function(B1){switch(B1){case\"cr\":return\"\\r\";case\"crlf\":return`\\r\n`;default:return`\n`}},countEndOfLineChars:function(B1,Yx){let Oe;if(Yx===`\n`)Oe=/\\n/g;else if(Yx===\"\\r\")Oe=/\\r/g;else{if(Yx!==`\\r\n`)throw new Error(`Unexpected \"eol\" ${JSON.stringify(Yx)}.`);Oe=/\\r\\n/g}const zt=B1.match(Oe);return zt?zt.length:0},normalizeEndOfLine:function(B1){return B1.replace(/\\r\\n?/g,`\n`)}};const{parseWithComments:yp,strip:Gs,extract:ra,print:fo}=$l,{getShebang:lu}=zE,{normalizeEndOfLine:a2}=Tu;function V8(B1){const Yx=lu(B1);Yx&&(B1=B1.slice(Yx.length+1));const Oe=ra(B1),{pragmas:zt,comments:an}=yp(Oe);return{shebang:Yx,text:B1,pragmas:zt,comments:an}}var YF={hasPragma:function(B1){const Yx=Object.keys(V8(B1).pragmas);return Yx.includes(\"prettier\")||Yx.includes(\"format\")},insertPragma:function(B1){const{shebang:Yx,text:Oe,pragmas:zt,comments:an}=V8(B1),xi=Gs(Oe),xs=fo({pragmas:Object.assign({format:\"\"},zt),comments:an.trimStart()});return(Yx?`${Yx}\n`:\"\")+a2(xs)+(xi.startsWith(`\n`)?`\n`:`\n\n`)+xi}};const{hasPragma:T8}=YF,{locStart:Q4,locEnd:D4}=$T;var E5=function(B1){return B1=typeof B1==\"function\"?{parse:B1}:B1,Object.assign({astFormat:\"estree\",hasPragma:T8,locStart:Q4,locEnd:D4},B1)},QF=function(B1){return B1.charAt(0)===\"#\"&&B1.charAt(1)===\"!\"?\"//\"+B1.slice(2):B1},Ww=Object.freeze({__proto__:null,default:{}}),K2=131072,Sn=1048576,M4=4194304,B6=2097152,x6=269488255,vf=2147485780,Eu=262144,jh=4194304,Cb=2147483648,px=131072,Tf=33554432,e6=67108864,z2=268435456,ty=134217728,yS=8388608,TS=\"TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA256:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!SRP:!CAMELLIA\",L6={RTLD_LAZY:1,RTLD_NOW:2,RTLD_GLOBAL:8,RTLD_LOCAL:4,E2BIG:7,EACCES:13,EADDRINUSE:48,EADDRNOTAVAIL:49,EAFNOSUPPORT:47,EAGAIN:35,EALREADY:37,EBADF:9,EBADMSG:94,EBUSY:16,ECANCELED:89,ECHILD:10,ECONNABORTED:53,ECONNREFUSED:61,ECONNRESET:54,EDEADLK:11,EDESTADDRREQ:39,EDOM:33,EDQUOT:69,EEXIST:17,EFAULT:14,EFBIG:27,EHOSTUNREACH:65,EIDRM:90,EILSEQ:92,EINPROGRESS:36,EINTR:4,EINVAL:22,EIO:5,EISCONN:56,EISDIR:21,ELOOP:62,EMFILE:24,EMLINK:31,EMSGSIZE:40,EMULTIHOP:95,ENAMETOOLONG:63,ENETDOWN:50,ENETRESET:52,ENETUNREACH:51,ENFILE:23,ENOBUFS:55,ENODATA:96,ENODEV:19,ENOENT:2,ENOEXEC:8,ENOLCK:77,ENOLINK:97,ENOMEM:12,ENOMSG:91,ENOPROTOOPT:42,ENOSPC:28,ENOSR:98,ENOSTR:99,ENOSYS:78,ENOTCONN:57,ENOTDIR:20,ENOTEMPTY:66,ENOTSOCK:38,ENOTSUP:45,ENOTTY:25,ENXIO:6,EOPNOTSUPP:102,EOVERFLOW:84,EPERM:1,EPIPE:32,EPROTO:100,EPROTONOSUPPORT:43,EPROTOTYPE:41,ERANGE:34,EROFS:30,ESPIPE:29,ESRCH:3,ESTALE:70,ETIME:101,ETIMEDOUT:60,ETXTBSY:26,EWOULDBLOCK:35,EXDEV:18,PRIORITY_LOW:19,PRIORITY_BELOW_NORMAL:10,PRIORITY_NORMAL:0,PRIORITY_ABOVE_NORMAL:-7,PRIORITY_HIGH:-14,PRIORITY_HIGHEST:-20,SIGHUP:1,SIGINT:2,SIGQUIT:3,SIGILL:4,SIGTRAP:5,SIGABRT:6,SIGIOT:6,SIGBUS:10,SIGFPE:8,SIGKILL:9,SIGUSR1:30,SIGSEGV:11,SIGUSR2:31,SIGPIPE:13,SIGALRM:14,SIGTERM:15,SIGCHLD:20,SIGCONT:19,SIGSTOP:17,SIGTSTP:18,SIGTTIN:21,SIGTTOU:22,SIGURG:16,SIGXCPU:24,SIGXFSZ:25,SIGVTALRM:26,SIGPROF:27,SIGWINCH:28,SIGIO:23,SIGINFO:29,SIGSYS:12,UV_FS_SYMLINK_DIR:1,UV_FS_SYMLINK_JUNCTION:2,O_RDONLY:0,O_WRONLY:1,O_RDWR:2,UV_DIRENT_UNKNOWN:0,UV_DIRENT_FILE:1,UV_DIRENT_DIR:2,UV_DIRENT_LINK:3,UV_DIRENT_FIFO:4,UV_DIRENT_SOCKET:5,UV_DIRENT_CHAR:6,UV_DIRENT_BLOCK:7,S_IFMT:61440,S_IFREG:32768,S_IFDIR:16384,S_IFCHR:8192,S_IFBLK:24576,S_IFIFO:4096,S_IFLNK:40960,S_IFSOCK:49152,O_CREAT:512,O_EXCL:2048,UV_FS_O_FILEMAP:0,O_NOCTTY:K2,O_TRUNC:1024,O_APPEND:8,O_DIRECTORY:Sn,O_NOFOLLOW:256,O_SYNC:128,O_DSYNC:M4,O_SYMLINK:B6,O_NONBLOCK:4,S_IRWXU:448,S_IRUSR:256,S_IWUSR:128,S_IXUSR:64,S_IRWXG:56,S_IRGRP:32,S_IWGRP:16,S_IXGRP:8,S_IRWXO:7,S_IROTH:4,S_IWOTH:2,S_IXOTH:1,F_OK:0,R_OK:4,W_OK:2,X_OK:1,UV_FS_COPYFILE_EXCL:1,COPYFILE_EXCL:1,UV_FS_COPYFILE_FICLONE:2,COPYFILE_FICLONE:2,UV_FS_COPYFILE_FICLONE_FORCE:4,COPYFILE_FICLONE_FORCE:4,OPENSSL_VERSION_NUMBER:x6,SSL_OP_ALL:vf,SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION:Eu,SSL_OP_CIPHER_SERVER_PREFERENCE:jh,SSL_OP_CISCO_ANYCONNECT:32768,SSL_OP_COOKIE_EXCHANGE:8192,SSL_OP_CRYPTOPRO_TLSEXT_BUG:Cb,SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS:2048,SSL_OP_EPHEMERAL_RSA:0,SSL_OP_LEGACY_SERVER_CONNECT:4,SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER:0,SSL_OP_MICROSOFT_SESS_ID_BUG:0,SSL_OP_MSIE_SSLV2_RSA_PADDING:0,SSL_OP_NETSCAPE_CA_DN_BUG:0,SSL_OP_NETSCAPE_CHALLENGE_BUG:0,SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG:0,SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG:0,SSL_OP_NO_COMPRESSION:px,SSL_OP_NO_QUERY_MTU:4096,SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION:65536,SSL_OP_NO_SSLv2:0,SSL_OP_NO_SSLv3:Tf,SSL_OP_NO_TICKET:16384,SSL_OP_NO_TLSv1:e6,SSL_OP_NO_TLSv1_1:z2,SSL_OP_NO_TLSv1_2:ty,SSL_OP_PKCS1_CHECK_1:0,SSL_OP_PKCS1_CHECK_2:0,SSL_OP_SINGLE_DH_USE:0,SSL_OP_SINGLE_ECDH_USE:0,SSL_OP_SSLEAY_080_CLIENT_DH_BUG:0,SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG:0,SSL_OP_TLS_BLOCK_PADDING_BUG:0,SSL_OP_TLS_D5_BUG:0,SSL_OP_TLS_ROLLBACK_BUG:yS,ENGINE_METHOD_RSA:1,ENGINE_METHOD_DSA:2,ENGINE_METHOD_DH:4,ENGINE_METHOD_RAND:8,ENGINE_METHOD_EC:2048,ENGINE_METHOD_CIPHERS:64,ENGINE_METHOD_DIGESTS:128,ENGINE_METHOD_PKEY_METHS:512,ENGINE_METHOD_PKEY_ASN1_METHS:1024,ENGINE_METHOD_ALL:65535,ENGINE_METHOD_NONE:0,DH_CHECK_P_NOT_SAFE_PRIME:2,DH_CHECK_P_NOT_PRIME:1,DH_UNABLE_TO_CHECK_GENERATOR:4,DH_NOT_SUITABLE_GENERATOR:8,ALPN_ENABLED:1,RSA_PKCS1_PADDING:1,RSA_SSLV23_PADDING:2,RSA_NO_PADDING:3,RSA_PKCS1_OAEP_PADDING:4,RSA_X931_PADDING:5,RSA_PKCS1_PSS_PADDING:6,RSA_PSS_SALTLEN_DIGEST:-1,RSA_PSS_SALTLEN_MAX_SIGN:-2,RSA_PSS_SALTLEN_AUTO:-2,defaultCoreCipherList:TS,TLS1_VERSION:769,TLS1_1_VERSION:770,TLS1_2_VERSION:771,TLS1_3_VERSION:772,POINT_CONVERSION_COMPRESSED:2,POINT_CONVERSION_UNCOMPRESSED:4,POINT_CONVERSION_HYBRID:6},v4=Object.freeze({__proto__:null,RTLD_LAZY:1,RTLD_NOW:2,RTLD_GLOBAL:8,RTLD_LOCAL:4,E2BIG:7,EACCES:13,EADDRINUSE:48,EADDRNOTAVAIL:49,EAFNOSUPPORT:47,EAGAIN:35,EALREADY:37,EBADF:9,EBADMSG:94,EBUSY:16,ECANCELED:89,ECHILD:10,ECONNABORTED:53,ECONNREFUSED:61,ECONNRESET:54,EDEADLK:11,EDESTADDRREQ:39,EDOM:33,EDQUOT:69,EEXIST:17,EFAULT:14,EFBIG:27,EHOSTUNREACH:65,EIDRM:90,EILSEQ:92,EINPROGRESS:36,EINTR:4,EINVAL:22,EIO:5,EISCONN:56,EISDIR:21,ELOOP:62,EMFILE:24,EMLINK:31,EMSGSIZE:40,EMULTIHOP:95,ENAMETOOLONG:63,ENETDOWN:50,ENETRESET:52,ENETUNREACH:51,ENFILE:23,ENOBUFS:55,ENODATA:96,ENODEV:19,ENOENT:2,ENOEXEC:8,ENOLCK:77,ENOLINK:97,ENOMEM:12,ENOMSG:91,ENOPROTOOPT:42,ENOSPC:28,ENOSR:98,ENOSTR:99,ENOSYS:78,ENOTCONN:57,ENOTDIR:20,ENOTEMPTY:66,ENOTSOCK:38,ENOTSUP:45,ENOTTY:25,ENXIO:6,EOPNOTSUPP:102,EOVERFLOW:84,EPERM:1,EPIPE:32,EPROTO:100,EPROTONOSUPPORT:43,EPROTOTYPE:41,ERANGE:34,EROFS:30,ESPIPE:29,ESRCH:3,ESTALE:70,ETIME:101,ETIMEDOUT:60,ETXTBSY:26,EWOULDBLOCK:35,EXDEV:18,PRIORITY_LOW:19,PRIORITY_BELOW_NORMAL:10,PRIORITY_NORMAL:0,PRIORITY_ABOVE_NORMAL:-7,PRIORITY_HIGH:-14,PRIORITY_HIGHEST:-20,SIGHUP:1,SIGINT:2,SIGQUIT:3,SIGILL:4,SIGTRAP:5,SIGABRT:6,SIGIOT:6,SIGBUS:10,SIGFPE:8,SIGKILL:9,SIGUSR1:30,SIGSEGV:11,SIGUSR2:31,SIGPIPE:13,SIGALRM:14,SIGTERM:15,SIGCHLD:20,SIGCONT:19,SIGSTOP:17,SIGTSTP:18,SIGTTIN:21,SIGTTOU:22,SIGURG:16,SIGXCPU:24,SIGXFSZ:25,SIGVTALRM:26,SIGPROF:27,SIGWINCH:28,SIGIO:23,SIGINFO:29,SIGSYS:12,UV_FS_SYMLINK_DIR:1,UV_FS_SYMLINK_JUNCTION:2,O_RDONLY:0,O_WRONLY:1,O_RDWR:2,UV_DIRENT_UNKNOWN:0,UV_DIRENT_FILE:1,UV_DIRENT_DIR:2,UV_DIRENT_LINK:3,UV_DIRENT_FIFO:4,UV_DIRENT_SOCKET:5,UV_DIRENT_CHAR:6,UV_DIRENT_BLOCK:7,S_IFMT:61440,S_IFREG:32768,S_IFDIR:16384,S_IFCHR:8192,S_IFBLK:24576,S_IFIFO:4096,S_IFLNK:40960,S_IFSOCK:49152,O_CREAT:512,O_EXCL:2048,UV_FS_O_FILEMAP:0,O_NOCTTY:K2,O_TRUNC:1024,O_APPEND:8,O_DIRECTORY:Sn,O_NOFOLLOW:256,O_SYNC:128,O_DSYNC:M4,O_SYMLINK:B6,O_NONBLOCK:4,S_IRWXU:448,S_IRUSR:256,S_IWUSR:128,S_IXUSR:64,S_IRWXG:56,S_IRGRP:32,S_IWGRP:16,S_IXGRP:8,S_IRWXO:7,S_IROTH:4,S_IWOTH:2,S_IXOTH:1,F_OK:0,R_OK:4,W_OK:2,X_OK:1,UV_FS_COPYFILE_EXCL:1,COPYFILE_EXCL:1,UV_FS_COPYFILE_FICLONE:2,COPYFILE_FICLONE:2,UV_FS_COPYFILE_FICLONE_FORCE:4,COPYFILE_FICLONE_FORCE:4,OPENSSL_VERSION_NUMBER:x6,SSL_OP_ALL:vf,SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION:Eu,SSL_OP_CIPHER_SERVER_PREFERENCE:jh,SSL_OP_CISCO_ANYCONNECT:32768,SSL_OP_COOKIE_EXCHANGE:8192,SSL_OP_CRYPTOPRO_TLSEXT_BUG:Cb,SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS:2048,SSL_OP_EPHEMERAL_RSA:0,SSL_OP_LEGACY_SERVER_CONNECT:4,SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER:0,SSL_OP_MICROSOFT_SESS_ID_BUG:0,SSL_OP_MSIE_SSLV2_RSA_PADDING:0,SSL_OP_NETSCAPE_CA_DN_BUG:0,SSL_OP_NETSCAPE_CHALLENGE_BUG:0,SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG:0,SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG:0,SSL_OP_NO_COMPRESSION:px,SSL_OP_NO_QUERY_MTU:4096,SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION:65536,SSL_OP_NO_SSLv2:0,SSL_OP_NO_SSLv3:Tf,SSL_OP_NO_TICKET:16384,SSL_OP_NO_TLSv1:e6,SSL_OP_NO_TLSv1_1:z2,SSL_OP_NO_TLSv1_2:ty,SSL_OP_PKCS1_CHECK_1:0,SSL_OP_PKCS1_CHECK_2:0,SSL_OP_SINGLE_DH_USE:0,SSL_OP_SINGLE_ECDH_USE:0,SSL_OP_SSLEAY_080_CLIENT_DH_BUG:0,SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG:0,SSL_OP_TLS_BLOCK_PADDING_BUG:0,SSL_OP_TLS_D5_BUG:0,SSL_OP_TLS_ROLLBACK_BUG:yS,ENGINE_METHOD_RSA:1,ENGINE_METHOD_DSA:2,ENGINE_METHOD_DH:4,ENGINE_METHOD_RAND:8,ENGINE_METHOD_EC:2048,ENGINE_METHOD_CIPHERS:64,ENGINE_METHOD_DIGESTS:128,ENGINE_METHOD_PKEY_METHS:512,ENGINE_METHOD_PKEY_ASN1_METHS:1024,ENGINE_METHOD_ALL:65535,ENGINE_METHOD_NONE:0,DH_CHECK_P_NOT_SAFE_PRIME:2,DH_CHECK_P_NOT_PRIME:1,DH_UNABLE_TO_CHECK_GENERATOR:4,DH_NOT_SUITABLE_GENERATOR:8,ALPN_ENABLED:1,RSA_PKCS1_PADDING:1,RSA_SSLV23_PADDING:2,RSA_NO_PADDING:3,RSA_PKCS1_OAEP_PADDING:4,RSA_X931_PADDING:5,RSA_PKCS1_PSS_PADDING:6,RSA_PSS_SALTLEN_DIGEST:-1,RSA_PSS_SALTLEN_MAX_SIGN:-2,RSA_PSS_SALTLEN_AUTO:-2,defaultCoreCipherList:TS,TLS1_VERSION:769,TLS1_1_VERSION:770,TLS1_2_VERSION:771,TLS1_3_VERSION:772,POINT_CONVERSION_COMPRESSED:2,POINT_CONVERSION_UNCOMPRESSED:4,POINT_CONVERSION_HYBRID:6,default:L6}),W2=a1(Ww),pt=a1(v4),b4=D1(function(B1,Yx){(function(Oe){var zt=\"member_property_expression\",an=8483,xi=12538,xs=\"??\",bi=\"children\",ya=\"predicate_expression\",ul=\"Identifier\",mu=68107,Ds=64311,a6=192,Mc=71369,bf=11710,Rc=43597,Pa=110947,Uu=67591,q2=\"directive\",Kl=121504,Bs=69871,qf=12347,Zl=126553,ZF=\"block\",Sl=68096,$8=\"params\",wl=93071,Ko=72767,$u=122,dF=\"for_statement\",nE=128,pm=70873,bl=\"start\",nf=43867,Ts=\"_method\",xf=70414,w8=\">\",WT=\"catch_body\",al=120121,Z4=\"the end of an expression statement (`;`)\",op=126558,PF=\"jsx_fragment\",Lf=69733,xA=42527,nw=\"decorators\",Hd=82943,o2=71039,Pu=8472,mF=\"update\",sp=43205,wu=12783,Hp=12438,ep=12352,Uf=8511,ff=120713,iw=\"method\",R4=8191,o5=\"function_param\",Gd=67871,cd=\"throw\",uT=\"class_extends\",Mf=43470,Ap=11507,C4=\"object_key_literal\",wT=71903,tp=\"_bigarray\",o6=65437,hF=70840,Nl=119995,cl=43311,SA=\"jsx_child\",Vf=67637,hl=68116,Id=66204,wf=65470,tl=67391,kf=11631,Tp=66729,Xd=69956,M0=\"tparams\",e0=66735,R0=42623,R1=43697,H1=64217,Jx=\"Invalid binary/octal \",Se=70399,Ye=42864,tt=120487,Er=73110,Zt=43255,hi=\"do\",po=43301,ba=\"jsx_attribute_value_literal\",oa=\"binding_pattern\",ho=72759,Za=110878,Od=\"package\",Cl=72750,S=\"interface_declaration\",N0=119892,P1=\"tail\",zx=111,$e=8417,bt=119807,qr=65613,ji=\"type\",B0=68159,d=55215,N=\"export_default_declaration_decl\",C0=72970,_1=70416,jx=72881,We=43451,mt=\"function_this_param\",$t=\"module\",Zn=\"try\",_i=70143,Va=125183,Bo=70412,Rt=\"@])\",Xs=\"binary\",ll=\"infinity\",jc=\"private\",xu=65500,Ml=\"has_unknown_members\",iE=\"pattern_array_rest_element\",eA=\"Property\",y2=65343,FA=\"implements\",Rp=12548,VS=\"if_alternate_statement\",_=43395,v0=\"src/parser/type_parser.ml\",w1=126552,Ix=66915,Wx=120712,_e=126555,ot=68326,Mt=120596,Ft=\"raw\",nt=112,qt=126624,Ze=\"statement\",ur=\"meta_property\",ri=71235,Ui=44002,Bi=8467,Yi=8318,ro=\"class_property_value\",ha=8203,Xo=69816,oo=\"optional_call\",ts=43761,Gl=\"kind\",Gp=71230,Sc=\"class_identifier\",Ss=69955,Ws=68220,Zc=66378,ef=110,wp=123583,Pm=120512,Im=119154,S5=\"declare\",qw=71228,s2=11742,s5=70831,OI=\"catch_clause\",d_=8468,UD=72886,Lg=121343,m9=\"for_in_assignment_pattern\",Jw=\"object_\",Iy=70499,ng=43262,B9=\"mixins\",SO=\"visit_trailing_comment\",IN=\"type_param\",m_=72147,VD=69758,Mg=71839,gR=\"expected *\",WP=\"boolean\",cP=\"call\",h_=43010,Hw=\"expression\",qP=\"column\",ry=43258,g_=43595,$D=191456,BI=117,Uh=43754,Rg=126544,Oy=8416,ON=\"Assert_failure\",Vh=66517,By=42863,rN=\"enum_number_member\",nN=\"a string\",b0=119993,z0=43394,U1=65855,Bx=\"opaque\",pe=870530776,ne=72880,Te=67711,ir=\"enum_symbol_body\",hn=\"filter\",sn=126560,Mr=43615,ai=\"get\",li=64316,Hr=122917,uo=\"exported\",fi=71099,Fs=\"return\",$a=70516,Ys=\"members\",ru=256,js=64279,Yu=67829,wc=\"src/parser/expression_parser.ml\",au=\"(global)\",nu=\"Enum `\",kc=\"object_property\",hc=67589,k2=\"pattern_object_property\",KD=127343600,oS=\"template_literal_element\",Iu=70452,J2=\"class_element\",Nc=71131,Yd=120137,H2=94098,Xp=72349,wS=\"function_identifier\",Yp=126543,Vm=43487,So=\"@[<2>{ \",cT=\"jsx_attribute_name\",Dh=72849,D2=70393,Bd=72191,pf=65908,ld=120513,Uc=92909,lP=70195,Cw=\"bound\",Dd=8399,de=43566,dm=120070,OB=\"update_expression\",BB=\"enum_number_body\",dC=69941,Eb=123631,BN=\"spread_element\",FO=\"for_in_left_declaration\",ga=70401,mm=64319,ds=12703,$h=11687,WA=\"@,))@]\",AA=\"%d\",__=42239,iN=\"type_cast\",ig=42508,LI=71735,$m=43643,JP=\"class_implements_interface\",jg=67640,_R=\"buffer.ml\",fP=605857695,IF=\"handler\",Ly=66207,y_=11558,ag=113775,Gw=113,ih=126540,Xw=\"collect_comments\",L9=\"set\",u5=\"assignment_pattern\",Ew=\"right\",u2=94087,c3=72751,h9=\"object_key_identifier\",fl=120133,LB=\"Invalid number \",Km=8580,c2=68023,og=43798,af=12539,Yw=100,lT=\"pattern_literal\",pP=\"generic_type\",AO=\"Lookahead.peek failed\",Sb=93017,ny=42890,Fb=43766,iy=42783,TO=\"else\",JL=70851,Xj=\"the start of a statement\",l3=113820,MB=\"properties\",C=94094,D=71481,$=43696,o1=70474,j1=\"declare_function\",v1=120597,ex=110959,_0=\"object_indexer_property_type\",Ne=70492,e=173782,s=43042,X=107,J=\"arguments\",m0=\"comments\",s1=67431,i0=\"line\",H0=\"pattern_identifier\",E0=\"declaration\",I=\"static\",A=72883,Z=69958,A0=68100,o0=72783,j=11310,G=43814,u0=\"annot\",U=119179,g0=65786,d0=66303,P0=64967,c0=64255,D0=8584,x0=71350,l0=120655,w0=\"Stack_overflow\",V=43700,w=\"syntax_opt\",H=68921,k0=\"comprehension\",V0=65295,t0=\"Not_found\",f0=68680,y0=64324,G0=72966,d1=-1053382366,h1=\"rest\",S1=\"pattern_array_element\",Q1=\"jsx_attribute_value_expression\",Y0=65595,$1=\"pattern_array_e\",Z1=122916,Q0=43711,y1=69926,k1=\"symbol\",I1=42725,K0=70092,G1=43741,Nx=\"typeParameters\",n1=\"const\",S0=72847,I0=12341,U0=66271,p0=\"false\",p1=71104,Y1=106,N1=120076,V1=128,Ox=125124,$x=73460,rx=11743,O0=67593,C1=44031,nx=43449,O=92927,b1=68095,Px=42945,me=8231,Re=121519,gt=43453,Vt=\"object_key_computed\",wr=\"labeled_statement\",gr=\"function_param_pattern\",Nt=65481,Ir=43442,xr=\"collect_comments_opt\",Bt=126590,ar=\"_\",Ni=\"variable_declarator\",Kn=\"compare: functional value\",oi=67967,Ba=\"computed\",dt=\"object_property_type\",Gt=126562,lr=114,en=\"comment_bounds\",ii=\"id\",Tt=70853,bn=42237,Le=\"class_private_field\",Sa=72329,Yn=43001,W1=8412,cx=\"Invalid_argument\",E1=113770,qx=120092,xt=\"declare_class\",ae=94031,Ut=67839,or=43570,ut=72250,Gr=92879,B=\"prototype\",h0=8287,M=70370,X0=\"`.\",l1=65344,Hx=12542,ge=123641,Pe=42950,It=\"Internal Error: Found private field in object props\",Kr=\"sequence\",pn=\"debugger\",rn=\"call_type_args\",_t=12348,Ii=68863,Mn=70084,Ka=\"label\",fe=70193,Fr=-45,yt=\"jsx_opening_attribute\",Fn=119364,Ur=43583,fa=\"%F\",Kt=43784,Fa=\"call_arguments\",co=113791,Us=126503,qs=43743,vs=917999,sg=\"0\",Cf=93007,rc=119967,K8=44012,zl=42621,Xl=126538,OF=\"new_\",BF=449540197,Qp=68466,kp=64109,up=177983,mC=248,fd=\"@,]@]\",E4=\"program\",Yl=68031,fT=\"type_\",qE=\"function_type\",df=67382,pl=8484,Np=8205,rp=42537,jp=73022,tf=66559,cp=65074,Nf=11775,mf=71236,l2=64274,pd=120069,Ju=72105,vd=126570,aw=\"object\",c5=\"for_of_statement\",Qo=\"break\",Rl=43047,gl=43695,bd=70501,Ld=126551,Dp=126520,Hi=70477,Up=66045,rl=66499,tA=1024,rA=43018,G2=73103,vp=71471,Zp=126522,Ef=119140,yr=\"function_declaration\",Jr=73064,Un=92728,pa=73105,za=70418,Ls=\"await\",Mo=68119,Ps=\"function_rest_param\",mo=73119,bc=42653,Ro=11703,Vc=\"left\",ws=70449,gc=\"declare_type_alias\",Pl=16777215,xc=121475,Su=70302,hC=119142,_o=55242,ol=70470,Fc=126583,_l=124927,uc=72959,Fl=65497,D6=\"Invalid legacy octal \",R6=\"typeof\",nA=\"explicit_type\",x4=\"statement_list\",Al=65495,e4=\"class_method\",bp=119994,_c=71935,Wl=67861,Vp=8526,$f=69762,iA=\"enum\",t4=2147483647,Om=119170,Md=11702,Dk=\"in\",Cd=67638,tF=\"super\",dd=126504,Rf=8304,ow=\"import_specifier\",N2=177972,hm=68324,Bm=67646,kT=\"expression_or_spread\",Jf=43792,Qd=74879,$S=-82,Pf=43260,LF=\"internal\",Ku=93052,Qw=125258,Rd=65574,we=224,it=\"instanceof\",Ln=\"jsx_element_name_member_expression\",Xn=69599,La=44007,qa=43560,Hc=\"function_expression\",bx=223,Wa=121476,rs=72242,ht=11498,Mu=126467,Gc=73112,Ab=44008,jf=70107,lp=13311,f2=\"jsx_children\",np=126548,Cp=63743,ip=43471,fp=113822,xd=122887,l5=\"jsx_expression\",pp=69864,Pp=126591,Zo=126578,Fo=12592,pT=\"type_params\",ed=119148,ah=8420,Kh=126537,j6=123627,Jo=\"{ \",aN=\"jsx_spread_attribute\",X2=70161,md=70468,hd=\"@,\",Pk=42606,oh=126500,q5=\"number_literal_type\",M9=\"label_identifier\",HP=72884,Hf=42999,gm=64310,dP=-594953737,Ik=\"hasUnknownMembers\",P=92982,T1=\"array\",De=65615,rr=\"enum_string_member\",ei=\"void\",W=65135,L0=\")\",J1=\"let\",ce=70002,ze=70735,Zr=70271,ui=\"nan\",Ve=\"@[%s =@ \",ks=194559,Sf=42735,X6=\"/\",DS=\"for_in_statement_lhs\",P2=68154,qA=43503,nl=8516,gd=65381,f5=\"TypeParameterInstantiation\",p2=83526,D_=71339,GP=\"number\",jd=70286,vh=12447,zm=72160,Zw=43493,v_=70487,bh=70280,Sw=\"function\",Wm=70162,MI=255,zh=67702,Xc=66771,ms=42895,I2=121452,ug=8432,cg=40959,s6=\"unreachable\",qm=70312,mP=\"End_of_file\",b_=93759,zD=8494,Ae=43709,kt=\"new\",br=\"Failure\",Cn=\"local\",Ci=\"with\",$i=8489,no=\"enum_declaration\",lo=121460,Qs=\"member\",yo=70457,Ou=64325,oc=8488,xl=70448,Jl=69967,dp=126535,If=71934,ql=65312,Ip=43135,sw=12446,F5=\"import_named_specifier\",d2=126619,td=44025,qT=70196,rF=\"type_annotation\",C_=8188,Is=65071,O2=131071,ka=120770,lg=12440,x9=\"with_\",LN=\"statement_fork_point\",RI=\"finalizer\",My=71133,sh=12320,Ok=\"elements\",xk=\"literal\",E_=68607,Ry=8507,fg=122913,e9=\"each\",HL=\"Sys_error\",vk=\"bigint_literal_type\",Ug=69818,uh=11727,bo=64829,eu=120538,qc=\"type_alias\",Vu=\"member_private_name\",Ac=126556,$p=\"tagged_template\",d6=\"pattern_object_property_literal_key\",Pc=72192,of=67826,hf=44013,Op=70745,Gf=72153,mp=66511,A5=43249,Of=11646,ua=\"None\",TA=\"int_of_string\",MN=\"FunctionTypeParam\",J5=\"name\",S_=70285,NT=103,RN=12288,Tb=120744,jI=\"intersection_type\",ay=11679,WD=11559,qD=71295,JE=70205,yR=\"callee\",oy=70018,f3=11567,oN=\"predicate\",GL=\"expression_statement\",XL=\"regexp\",wb=44011,p3=123209,F_=65479,Yj=11389,Ez=43568,T5=\"optional\",Qj=-602162310,jt=\"@]\",aE=92777,d3=120003,RB=72249,Sz=\"Unexpected \",Yo=73008,hP=\"finally\",wO=\"toplevel_statement_list\",A_=178207,gC=65055,pg=70301,sy=72161,R9=70460,T_=12799,YL=\"loc\",jy=65535,kb=69375,JD=43518,Jm=65487,DR=\"while_\",bk=44004,uy=183983,kO=-673950933,Ed=42559,_C=121398,Uy=55291,vR=\"jsx_element_name_identifier\",m3=71452,Zj=70078,gP=8239,q$=-253313196,XP=\"mixed\",Il=70403,Vy=67827,Ch=11734,h3=101106,Nb=68287,dg=119976,g3=72151,oE=73129,sE=73102,$y=73017,Pt=\" =\",bR=888960333,jN=\"tuple_type\",mg=126602,UI=73111,_m=70726,Pb=126529,VI=\"object_property_value_type\",si=\"%a\",Ky=69423,Fw=\"static/\",uE=120831,Hm=120781,hg=11695,Ib=11711,vV=12294,HD=67583,yC=122879,_3=126584,GD=72703,Ob=68295,xU=\"prefix\",Bb=43871,Lb=69415,Mb=11492,bV=\"class\",HE=12333,Rb=65575,p8=42894,jB=\"continue\",DC=119145,cy=65663,Vg=68120,YP=782176664,v2=120779,Ep=71247,UN=71086,Y2=19967,GE=70849,XD=8486,VN=\" \",B2=66863,CV=\"RestElement\",EV=\"Undefined_recursive_module\",Sd=126634,b2=74751,Gm=66377,j9=\"jsx_element_name_namespaced\",UB=43334,$c=43481,Wh=66815,_d=11311,g9=\"typeAnnotation\",YD=120126,y3=69743,NO=\"array_element\",wA=64285,QL=\"Set.bal\",SV=8578,w_=8543,zu=\"()\",$N=\"declare_module\",XE=122886,S4=\"export_batch_specifier\",VB=\">>>=\",jb=68029,FV=\"importKind\",sN=\"extends\",Q2=72345,QD=64296,zy=43259,Ub=71679,ZD=64913,ec=119969,xv=94175,_u=72440,Vb=65141,ev=43071,vC=\"function_\",Ff=65391,cE=44010,$b=42888,CR=69807,Bk=\"variance\",QP=123,Eh=12730,ZL=\"import_default_specifier\",$B=43764,Aw=\"pattern\",Z2=70655,xm=70464,$I=\"consequent\",k_=68447,L2=65473,ER=\"call_type_arg\",Tw=255,kA=8238,lE=73019,yc=121498,_P=68899,tv=93026,fE=44015,$g=\"@[<2>[\",xM=\"comment\",AV=65439,KI=\"switch_case\",SR=\"do_while\",D3=43215,yP=\"constructor\",rv=43586,eM=43587,uN=\"yield\",FR=\"target\",Fd=72272,tM=\"var\",Kb=70108,KB=\"impltype\",rM=\"0o\",Ud=119972,Kg=92991,bC=43391,ym=70441,zb=8450,J$=72278,Cc=120074,DP=43044,ly=66717,vP=\"interface_type\",U6=\"%B\",fy=70472,Wy=122914,qy=111355,AR=5760,nv=11630,iv=126499,Wb=40943,Lk=108,Xm=120629,nM=\"Popping lex mode from empty stack\",av=65103,CC=42611,pE=195101,v3=42607,gg=126539,t9=\"([^/]*)\",Ym=126502,Kf=125135,zB=\"template_literal\",dE=68903,TR=\"src/parser/statement_parser.ml\",EC=72758,qb=11519,mE=11387,PO=\"Out_of_memory\",KN=12287,zf=120570,SC=72164,Jb=126534,YE=65076,Fz=44005,TV=\"index out of bounds\",_9=73029,ek=72873,eU=\"_bigarr02\",WB=\"for_statement_init\",Hb=126571,iM=\"supertype\",wR=\"class_property\",hE=92916,IO=\"this\",Mk=\"}\",zg=71095,qB=\"declare_module_exports\",kR=\"union_type\",zN=65535,JB=\"variance_opt\",Jy=94032,Lo=42124,HB=\"this_expression\",ZP=\"jsx_element\",Gb=65019,Xb=125251,Hy=64111,NR=\"typeArguments\",Kc=8254,Yb=8471,py=70497,FC=71359,xI=8202,aM=\"EnumDefaultedMember\",Rk=\"switch\",OO=69634,zI=\"unary_expression\",Wg=71215,Ck=126,Qb=65597,qg=67679,b3=120686,_g=72163,GB=-983660142,AC=70197,N_=64262,WI=124,cN=65279,Gy=126495,ov=69456,Sh=65342,U9=\"alternate\",XB=92975,Dm=65489,tU=252,gE=125142,sv=67807,JT=43187,rU=\"export\",vm=68850,Zb=66383,y9=\".\",r9=\"type_args\",QE=72155,x7=70508,dy=92159,jk=\"jsx_element_name\",V9=72283,H$=43644,_E=42737,BO=116,e7=75075,t7=70279,Fh=65338,$9=\"function_params\",Xy=126627,uv=73065,yE=72872,Qm=43762,P_=119970,cv=71352,DE=68158,r7=12295,qh=70005,Kp=120771,ch=11557,sf=42191,nU=\"flags\",C3=70088,n7=68437,E3=66368,Dc=\"pattern_object_p\",lv=70730,YB=\"optional_indexed_access\",em=42785,LO=\"nullable_type\",yg=\"value\",Lm=12343,Dg=71089,Zm=68415,Yy=11694,TC=69887,Jg=917759,Ah=11726,eI=\"syntax\",fv=119964,vg=68497,PR=73097,I_=126523,MO=\"null\",O_=120084,pv=126601,B_=8454,iU=\"expressions\",oM=72144,xo=\"(@[\",dv=12448,S3=121503,Th=68786,RO=\"<\",Ek=43443,wV=\"an identifier\",wC=43309,Qy=68799,G$=\"leadingComments\",tm=72969,L_=100351,X$=42231,aU=\"enum_defaulted_member\",bm=69839,cc=94026,sM=70724,Hg=12336,F3=73018,Zd=42605,tk=\"empty\",oU=331416730,vE=123199,my=70479,A3=43123,ZE=43494,M_=8319,uM=\"object_type_property_setter\",i7=12591,kC=12335,Ho=125,T3=92735,kV=\"cases\",lh=70199,a7=183969,NC=71455,QB=\"bigint\",IR=\"Division_by_zero\",rd=67071,sU=12329,PC=43609,Ad=120004,mv=69414,OR=\"if\",hv=126519,uU=\"immediately within another function.\",w3=55238,Az=12346,gv=126498,Zy=73031,bE=8504,xD=69940,R_=66256,fs=\"@ }@]\",o7=73106,hy=72765,cM=118,_v=11565,j_=120122,yv=74862,IC=68099,ZB=\"'\",BR=\"pattern_object_rest_property\",NA=-26065557,qI=119,jO=\"assignment\",Dv=42943,uw=104,eD=8457,xL=\"from\",Gg=64321,vv=113817,k3=65629,rm=43765,tD=70378,tI=42655,F4=102,fh=43137,cU=11502,Yr=\";@ \",Uk=101,Vd=\"pattern_array_element_pattern\",Y6=\"body\",eL=\"jsx_member_expression\",U_=65547,UO=\"jsx_attribute_value\",rD=72967,bv=126550,MF=\"jsx_namespaced_name\",rk=254,V_=43807,N3=43738,$_=126589,nm=8455,Cm=126628,Cv=11670,P3=120134,tL=\"conditional\",K_=119965,Ev=43599,gy=69890,ph=72817,Xg=43822,Sv=43638,s7=93047,I3=64322,Y$=\"AssignmentPattern\",NV=123190,Bp=72383,lM=\"object_spread_property_type\",nD=113663,Mm=70783,iD=42622,Fv=43823,Q$=70367,D9=\"init\",CE=71461,Vk=109,aD=66503,LR=\"proto\",u7=74649,fM=\"optional_member\",MR=40981,c7=120654,f1=\"@ \",RR=\"enum_boolean_body\",O3=119361,B3=73108,jR=\"export_named_specifier\",OC=123183,pM=\"declare_interface\",l7=120539,f7=70451,Av=64317,rL=\"pattern_object_property_computed_key\",Tv=12543,nk=\"export_named_declaration_specifier\",L3=43359,x8=43967,xh=113800,oD=126530,_y=72713,Em=72103,Td=70278,dT=\"if_consequent_statement\",im=8275,p7=126496,$k=\"try_catch\",rI=\"computed_key\",WN=\"class_\",Xf=173823,dM=\"pattern_object_property_identifier_key\",Yg=71913,d7=8485,qN=\"arrow_function\",wv=68151,m7=126546,nL=\"enum_boolean_member\",sD=94177,lU=\"delete\",Z$=\"blocks\",UR=\"pattern_array_rest_element_pattern\",kv=78894,e8=69881,Nv=66512,eh=94111,KS=\"test\",mM=\"string\",EE=71467,h7=66463,Qg=66335,Tz=43263,wh=73061,g7=72348,JI=\":\",VR=\"enum_body\",$R=\"function_this_param_type\",Jh=77823,xK=\"minus\",M3=119980,iL=\"private_name\",SE=72263,bP=\"object_key\",HI=\"function_param_type\",Zg=11718,Kk=\"as\",aA=\"delegate\",VO=\"true\",rf=119213,FE=71232,_7=67413,bg=73439,y7=70854,Cg=120628,kh=43776,Eg=43513,hM=\"jsx_attribute_name_namespaced\",D7=71723,R3=11505,uD=120127,t8=73039,fU=\"Map.bal\",gM=\"any\",yy=126559,GI=43596,nI=\"import\",z_=70404,$O=\"jsx_spread_child\",Dy=67897,ik=8233,dh=119974,Sm=68405,Pv=66639,eK=\"attributes\",aL=\"object_internal_slot_property_type\",r8=43225,v7=71351,j3=71349,AE=70383,cD=67643,PV=\"shorthand\",oL=\"for_in_statement\",Iv=126463,KR=71338,TE=69702,BC=92767,b7=69445,vy=65370,C7=73055,LC=73021,E7=64911,sL=\"pattern_object_property_pattern\",wE=70206,Ov=126579,MC=72343,lD=64286,W_=94030,zR=\"explicitType\",Bv=67669,fD=43866,tK=\"Sys_blocked_io\",S7=71093,pD=123197,lN=\"catch\",by=64466,rK=70463,dD=65140,U3=73030,F7=69404,Lv=66272,IV=\"protected\",Hh=43631,mD=120571,KO=\"array_type\",x2=43713,iI=\"export_default_declaration\",pU=\"quasi\",H5=\"%S\",V3=126515,Mv=120485,Sg=8525,M2=43519,R2=125263,Fm=120745,th=94178,OV=71229,Am=126588,sS=127,nd=19893,Tm=66855,nK=\"visit_leading_comment\",Rv=67742,$3=120144,CP=43632,dU=\"returnType\",zk=240,aI=-744106340,JN=\"-\",K3=68911,z3=8469,n9=\"async\",jv=126521,Uv=72095,oI=\" : file already exists\",iK=70725,Vv=65039,A7=178205,T7=8449,w7=94179,$v=42774,uL=\"case\",Fg=66431,sI=\"targs\",zO=\"declare_export_declaration\",WO=\"type_identifier\",BV=43013,q_=64284,Kv=43815,qO=\"function_body_any\",k7=120687,fN=\"public\",RC=70003,zv=68115,kE=125273,N7=65598,NE=72262,ak=43712,P7=126547,jC=70095,Cy=110591,_M=\"indexed_access\",EP=\"interface\",uI=-46,yM=\"string_literal_type\",DM=\"import_namespace_specifier\",I7=120132,O7=68102,hD=11735,Gh=70751,Xh=119893,mU=\"bool\",cI=1e3,K9=\"default\",ke=\"\",z9=\"exportKind\",aK=\"trailingComments\",lI=\"^\",J_=8348,W3=65594,WR=\"logical\",hU=\"jsx_member_expression_identifier\",oK=\"cooked\",qR=\"for_of_left_declaration\",cw=\"argument\",lw=63,cL=72202,vM=12442,B7=120085,gU=43645,x_=70749,gD=42539,Nh=126468,_U=\"Match_failure\",e_=68191,ww=\"src/parser/flow_ast.ml\",n8=72280,q3=43572,UC=71102,W9=11647,fI=\"declare_variable\",pI=\"+\",C2=71127,J3=43740,zp=120145,mh=64318,JR=\"declare_export_declaration_decl\",wz=43755,JO=\"class_implements\",yU=\"inexact\",Ag=119172,bM=\"a\",L7=73062,kz=8493,i8=65100,M7=70863,HN=65278,HO=\"function_rest_param_type\",HR=-696510241,lL=70066,Wv=43714,qv=70480,H3=113788,Ey=94207,GR=\"class_body\",_D=126651,Ph=119996,am=70719,yD=68735,R7=43456,Sy=43273,j7=119209,U7=67644,DU=\"boolean_literal_type\",XR=\"catch_clause_pattern\",Jv=126554,V7=126536,Hv=113807,Gv=126557,Nz=43046,dI=\"property\",Ih=123213,GO=\"for_of_assignment_pattern\",mI=\"if_statement\",Xv=66421,Yv=8505,p5=\"Literal\",hh=100343,DD=71257,wd=42887,fw=115,Sk=1255,$d=43574,jl=126566,Tg=93823,Wp=66719,Wk=\"opaque_type\",w5=\"jsx_attribute\",v9=\"type_annotation_hint\",Qv=92911,vD=73727,$7=72871,vU=\"range\",bU=\"jsError\",PT=32768,Yh=70458,Zv=70006,sK=71726,K7=43492,YR=\"@]}\",Ja=\"(Some \",z7=43345,PE=43231,j2=8477,xb=11359,Fy=121461,G3=126564,bD=126514,yl=70080,Q6=\"generic_identifier_type\",CD=71738,Ay=66811,eb=8256,X3=43759,W7=65007,pN=\"pattern_object_rest_property_pattern\",t_=70319,tb=66461,q7=11719,Y3=72271,hI=70461,VC=-48,QR=\"export_named_declaration\",XI=\"enum_string_body\",ED=110930,r_=73014,n_=70440,XO=\"while\",pw=\"camlinternalFormat.ml\",J7=43782,H7=11263,G7=11358,gI=1114111,Q3=73462,LV=70750,fL=70105,JA=\"jsx_identifier\",Pz=71101,ZR=43014,Js=11564,CM=\"typeof_type\",rb=64847,nb=92995,SD=71226,ib=71167,m2=42511,FD=72712,xj=121,MV=43704,AD=12293,pL=\"object_call_property_type\",Ty=64433,dL=\"operator\",ab=68296,YI=\"class_decorator\",YO=120,mL=\"for_of_statement_lhs\",TD=11623,wD=110927,H_=70708,QI=512,wy=71423,i_=93951,h2=12292,EM=\"object_type\",CU=\"types\",$C=69951,b9=8286,ob=126633,sb=12686,X7=73049,ub=72793,ZI=\"0x\",cb=70855,Oh=70511,E2=70366,Y7=65276,_I=\"variable_declaration\",IE=43203,lb=119981,ej=69814,fb=43887,dN=105,KC=122922,Z3=8335,EU=70187,Q7=70190,zC=69631,hL=\"jsx_attribute_name_identifier\",mN=\"source\",SU=\"pattern_object_property_key\",uK=70842,xC=65548,G_=66175,X_=92766,QO=\"pattern_assignment_pattern\",kD=42998,tj=\"object_type_property_getter\",Z7=8305,SP=\"generator\",cK=\"for\",OE=121402,Kd=-36,pb=68223,Bh=66044,BE=43757,SM=\"generic_qualified_identifier_type\",db=122906,wm=43790,ND=11686,FM=\"jsx_closing_element\",om=69687,mb=72162,wg=66348,zd=43388,kg=72768,PD=68351,xe=\"<2>\",hb=70015,ID=64297,OD=125259,sc=\",@ \",AM=42651,WC=70486,x3=70281,LE=66426,eC=43347,tC=68149,RV=68111,TM=\"member_property_identifier\",e3=71450,Y_=72254,wM=43009,rj=\"member_property\",BD=73458,ZO=\"identifier\",rC=67423,nC=40980,a_=66775,LD=110951,lK=\"Internal Error: Found object private prop\",qC=8276,nj=\"super_expression\",ij=\"jsx_opening_element\",GN=\"variable_declarator_pattern\",aj=\"pattern_expression\",oj=\"jsx_member_expression_object\",iC=68252,gL=-835925911,_L=\"import_declaration\",gb=55203,XN=\"key\",aC=126563,sj=43702,kM=\"spread_property\",xB=863850040,Q_=70106,oC=67592,FP=\"for_init_declaration\",ky=123214,sC=68479,uC=43879,a8=65305,FU=43019,MD=123180,Hu=69622,t3=8487,xO=\"specifiers\",AU=\"function_body\",_b=43641,NM=\"Unexpected token `\",ME=122904,r3=123135,n3=120093,i3=119162,RE=65023,a3=8521,uj=43642;function TU(i,x){throw[0,i,x]}var dw=[0];function Ce(i,x){if(typeof x==\"function\")return i.fun=x,0;if(x.fun)return i.fun=x.fun,0;for(var n=x.length;n--;)i[n]=x[n];return 0}function AP(i,x,n){var m=String.fromCharCode;if(x==0&&n<=4096&&n==i.length)return m.apply(null,i);for(var L=ke;0<n;x+=tA,n-=tA)L+=m.apply(null,i.slice(x,x+Math.min(n,tA)));return L}function yL(i){if(Oe.Uint8Array)var x=new Oe.Uint8Array(i.l);else x=new Array(i.l);for(var n=i.c,m=n.length,L=0;L<m;L++)x[L]=n.charCodeAt(L);for(m=i.l;L<m;L++)x[L]=0;return i.c=x,i.t=4,x}function eB(i,x,n,m,L){if(L==0)return 0;if(m==0&&(L>=n.l||n.t==2&&L>=n.c.length))n.c=i.t==4?AP(i.c,x,L):x==0&&i.c.length==L?i.c:i.c.substr(x,L),n.t=n.c.length==n.l?0:2;else if(n.t==2&&m==n.c.length)n.c+=i.t==4?AP(i.c,x,L):x==0&&i.c.length==L?i.c:i.c.substr(x,L),n.t=n.c.length==n.l?0:2;else{n.t!=4&&yL(n);var v=i.c,a0=n.c;if(i.t==4)if(m<=x)for(var O1=0;O1<L;O1++)a0[m+O1]=v[x+O1];else for(O1=L-1;O1>=0;O1--)a0[m+O1]=v[x+O1];else{var dx=Math.min(L,v.length-x);for(O1=0;O1<dx;O1++)a0[m+O1]=v.charCodeAt(x+O1);for(;O1<L;O1++)a0[m+O1]=0}}return 0}function DL(i,x,n,m,L){return eB(i,x,n,m,L),0}function cj(i,x){if(i==0)return ke;if(x.repeat)return x.repeat(i);for(var n=ke,m=0;;){if(1&i&&(n+=x),(i>>=1)==0)return n;x+=x,++m==9&&x.slice(0,1)}}function eO(i){i.t==2?i.c+=cj(i.l-i.c.length,\"\\0\"):i.c=AP(i.c,0,i.c.length),i.t=0}function jV(i){if(i.length<24){for(var x=0;x<i.length;x++)if(i.charCodeAt(x)>sS)return!1;return!0}return!/[^\\x00-\\x7f]/.test(i)}function UV(i){for(var x,n,m,L,v=ke,a0=ke,O1=0,dx=i.length;O1<dx;O1++){if((n=i.charCodeAt(O1))<V1){for(var ie=O1+1;ie<dx&&(n=i.charCodeAt(ie))<V1;ie++);if(ie-O1>QI?(a0.substr(0,1),v+=a0,a0=ke,v+=i.slice(O1,ie)):a0+=i.slice(O1,ie),ie==dx)break;O1=ie}L=1,++O1<dx&&(-64&(m=i.charCodeAt(O1)))==nE&&(x=m+(n<<6),n<224?(L=x-12416)<V1&&(L=1):(L=2,++O1<dx&&(-64&(m=i.charCodeAt(O1)))==nE&&(x=m+(x<<6),n<240?((L=x-925824)<2048||L>=55295&&L<57344)&&(L=2):(L=3,++O1<dx&&(-64&(m=i.charCodeAt(O1)))==nE&&n<245&&((L=m-63447168+(x<<6))<65536||L>1114111)&&(L=3))))),L<4?(O1-=L,a0+=\"\\uFFFD\"):a0+=L>zN?String.fromCharCode(55232+(L>>10),56320+(1023&L)):String.fromCharCode(L),a0.length>tA&&(a0.substr(0,1),v+=a0,a0=ke)}return v+a0}function kw(i,x,n){this.t=i,this.c=x,this.l=n}function ok(i){return new kw(0,i,i.length)}function t(i){return ok(i)}function VV(i,x){TU(i,t(x))}function k5(i){VV(dw.Invalid_argument,i)}function fK(){k5(TV)}function nF(i,x,n){if(n&=Tw,i.t!=4){if(x==i.c.length)return i.c+=String.fromCharCode(n),x+1==i.l&&(i.t=0),0;yL(i)}return i.c[x]=n,0}function C9(i,x,n){return x>>>0>=i.l&&fK(),nF(i,x,n)}function PA(i,x){switch(6&i.t){default:if(x>=i.c.length)return 0;case 0:return i.c.charCodeAt(x);case 4:return i.c[x]}}function YN(i,x){if(i.fun)return YN(i.fun,x);if(typeof i!=\"function\")return i;var n=0|i.length;if(n===0)return i.apply(null,x);var m=n-(0|x.length)|0;return m==0?i.apply(null,x):m<0?YN(i.apply(null,x.slice(0,n)),x.slice(n)):function(){for(var L=arguments.length==0?1:arguments.length,v=new Array(x.length+L),a0=0;a0<x.length;a0++)v[a0]=x[a0];for(a0=0;a0<arguments.length;a0++)v[x.length+a0]=arguments[a0];return YN(i,v)}}function vL(){k5(TV)}function A4(i,x){return x>>>0>=i.length-1&&vL(),i}function tB(i){return(6&i.t)!=0&&eO(i),i.c}kw.prototype.toString=function(){switch(this.t){case 9:return this.c;default:eO(this);case 0:if(jV(this.c))return this.t=9,this.c;this.t=8;case 8:return this.c}},kw.prototype.toUtf16=function(){var i=this.toString();return this.t==9?i:UV(i)},kw.prototype.slice=function(){var i=this.t==4?this.c.slice():this.c;return new kw(this.t,i,this.l)};var yI=Math.log2&&Math.log2(11235582092889474e291)==1020;function pK(i){var x=new Oe.Float32Array(1);return x[0]=i,0|new Oe.Int32Array(x.buffer)[0]}var dK=Math.pow(2,-24);function lj(i){throw i}function fj(){lj(dw.Division_by_zero)}function d8(i,x,n){this.lo=i&Pl,this.mi=x&Pl,this.hi=n&zN}function pj(i,x,n){return new d8(i,x,n)}function dj(i){if(!isFinite(i))return isNaN(i)?pj(1,0,32752):pj(0,0,i>0?32752:65520);var x=i==0&&1/i==-1/0?PT:i>=0?0:PT;x&&(i=-i);var n=function(a0){if(yI)return Math.floor(Math.log2(a0));var O1=0;if(a0==0)return-1/0;if(a0>=1)for(;a0>=2;)a0/=2,O1++;else for(;a0<1;)a0*=2,O1--;return O1}(i)+1023;n<=0?(n=0,i/=Math.pow(2,-1026)):((i/=Math.pow(2,n-1027))<16&&(i*=2,n-=1),n==0&&(i/=2));var m=Math.pow(2,24),L=0|i,v=0|(i=(i-L)*m);return pj(0|(i=(i-v)*m),v,L=15&L|x|n<<4)}function wU(i){return i.toArray()}function kU(i,x,n){if(i.write(32,x.dims.length),i.write(32,x.kind|x.layout<<8),x.caml_custom==eU)for(var m=0;m<x.dims.length;m++)x.dims[m]<zN?i.write(16,x.dims[m]):(i.write(16,zN),i.write(32,0),i.write(32,x.dims[m]));else for(m=0;m<x.dims.length;m++)i.write(32,x.dims[m]);switch(x.kind){case 2:case 3:case 12:for(m=0;m<x.data.length;m++)i.write(8,x.data[m]);break;case 4:case 5:for(m=0;m<x.data.length;m++)i.write(16,x.data[m]);break;case 6:for(m=0;m<x.data.length;m++)i.write(32,x.data[m]);break;case 8:case 9:for(i.write(8,0),m=0;m<x.data.length;m++)i.write(32,x.data[m]);break;case 7:for(m=0;m<x.data.length/2;m++)for(var L=wU(x.get(m)),v=0;v<8;v++)i.write(8,L[v]);break;case 1:for(m=0;m<x.data.length;m++)for(L=wU(dj(x.get(m))),v=0;v<8;v++)i.write(8,L[v]);break;case 0:for(m=0;m<x.data.length;m++)L=pK(x.get(m)),i.write(32,L);break;case 10:for(m=0;m<x.data.length/2;m++)v=x.get(m),i.write(32,pK(v[1])),i.write(32,pK(v[2]));break;case 11:for(m=0;m<x.data.length/2;m++){var a0=x.get(m);for(L=wU(dj(a0[1])),v=0;v<8;v++)i.write(8,L[v]);for(L=wU(dj(a0[2])),v=0;v<8;v++)i.write(8,L[v])}}n[0]=4*(4+x.dims.length),n[1]=8*(4+x.dims.length)}function mK(i){switch(i){case 7:case 10:case 11:return 2;default:return 1}}function hK(i){var x=new Oe.Int32Array(1);return x[0]=i,new Oe.Float32Array(x.buffer)[0]}function mj(i){return new d8(i[7]<<0|i[6]<<8|i[5]<<16,i[4]<<0|i[3]<<8|i[2]<<16,i[1]<<0|i[0]<<8)}function bL(i){var x=i.lo,n=i.mi,m=i.hi,L=(32767&m)>>4;if(L==2047)return(x|n|15&m)==0?m&PT?-1/0:1/0:NaN;var v=Math.pow(2,-24),a0=(x*v+n)*v+(15&m);return L>0?(a0+=16,a0*=Math.pow(2,L-1027)):a0*=Math.pow(2,-1026),m&PT&&(a0=-a0),a0}function gK(i){for(var x=i.length,n=1,m=0;m<x;m++)i[m]<0&&k5(\"Bigarray.create: negative dimension\"),n*=i[m];return n}function _K(i){return i.hi32()}function yK(i){return i.lo32()}d8.prototype.caml_custom=\"_j\",d8.prototype.copy=function(){return new d8(this.lo,this.mi,this.hi)},d8.prototype.ucompare=function(i){return this.hi>i.hi?1:this.hi<i.hi?-1:this.mi>i.mi?1:this.mi<i.mi?-1:this.lo>i.lo?1:this.lo<i.lo?-1:0},d8.prototype.compare=function(i){var x=this.hi<<16,n=i.hi<<16;return x>n?1:x<n?-1:this.mi>i.mi?1:this.mi<i.mi?-1:this.lo>i.lo?1:this.lo<i.lo?-1:0},d8.prototype.neg=function(){var i=-this.lo,x=-this.mi+(i>>24);return new d8(i,x,-this.hi+(x>>24))},d8.prototype.add=function(i){var x=this.lo+i.lo,n=this.mi+i.mi+(x>>24);return new d8(x,n,this.hi+i.hi+(n>>24))},d8.prototype.sub=function(i){var x=this.lo-i.lo,n=this.mi-i.mi+(x>>24);return new d8(x,n,this.hi-i.hi+(n>>24))},d8.prototype.mul=function(i){var x=this.lo*i.lo,n=(x*dK|0)+this.mi*i.lo+this.lo*i.mi;return new d8(x,n,(n*dK|0)+this.hi*i.lo+this.mi*i.mi+this.lo*i.hi)},d8.prototype.isZero=function(){return(this.lo|this.mi|this.hi)==0},d8.prototype.isNeg=function(){return this.hi<<16<0},d8.prototype.and=function(i){return new d8(this.lo&i.lo,this.mi&i.mi,this.hi&i.hi)},d8.prototype.or=function(i){return new d8(this.lo|i.lo,this.mi|i.mi,this.hi|i.hi)},d8.prototype.xor=function(i){return new d8(this.lo^i.lo,this.mi^i.mi,this.hi^i.hi)},d8.prototype.shift_left=function(i){return(i&=63)==0?this:i<24?new d8(this.lo<<i,this.mi<<i|this.lo>>24-i,this.hi<<i|this.mi>>24-i):i<48?new d8(0,this.lo<<i-24,this.mi<<i-24|this.lo>>48-i):new d8(0,0,this.lo<<i-48)},d8.prototype.shift_right_unsigned=function(i){return(i&=63)==0?this:i<24?new d8(this.lo>>i|this.mi<<24-i,this.mi>>i|this.hi<<24-i,this.hi>>i):i<48?new d8(this.mi>>i-24|this.hi<<48-i,this.hi>>i-24,0):new d8(this.hi>>i-48,0,0)},d8.prototype.shift_right=function(i){if((i&=63)==0)return this;var x=this.hi<<16>>16;if(i<24)return new d8(this.lo>>i|this.mi<<24-i,this.mi>>i|x<<24-i,this.hi<<16>>i>>>16);var n=this.hi<<16>>31;return i<48?new d8(this.mi>>i-24|this.hi<<48-i,this.hi<<16>>i-24>>16,n&zN):new d8(this.hi<<16>>i-32,n,n)},d8.prototype.lsl1=function(){this.hi=this.hi<<1|this.mi>>23,this.mi=(this.mi<<1|this.lo>>23)&Pl,this.lo=this.lo<<1&Pl},d8.prototype.lsr1=function(){this.lo=(this.lo>>>1|this.mi<<23)&Pl,this.mi=(this.mi>>>1|this.hi<<23)&Pl,this.hi=this.hi>>>1},d8.prototype.udivmod=function(i){for(var x=0,n=this.copy(),m=i.copy(),L=new d8(0,0,0);n.ucompare(m)>0;)x++,m.lsl1();for(;x>=0;)x--,L.lsl1(),n.ucompare(m)>=0&&(L.lo++,n=n.sub(m)),m.lsr1();return{quotient:L,modulus:n}},d8.prototype.div=function(i){var x=this;i.isZero()&&fj();var n=x.hi^i.hi;x.hi&PT&&(x=x.neg()),i.hi&PT&&(i=i.neg());var m=x.udivmod(i).quotient;return n&PT&&(m=m.neg()),m},d8.prototype.mod=function(i){var x=this;i.isZero()&&fj();var n=x.hi;x.hi&PT&&(x=x.neg()),i.hi&PT&&(i=i.neg());var m=x.udivmod(i).modulus;return n&PT&&(m=m.neg()),m},d8.prototype.toInt=function(){return this.lo|this.mi<<24},d8.prototype.toFloat=function(){return(this.hi<<16)*Math.pow(2,32)+this.mi*Math.pow(2,24)+this.lo},d8.prototype.toArray=function(){return[this.hi>>8,this.hi&Tw,this.mi>>16,this.mi>>8&Tw,this.mi&Tw,this.lo>>16,this.lo>>8&Tw,this.lo&Tw]},d8.prototype.lo32=function(){return this.lo|(this.mi&Tw)<<24},d8.prototype.hi32=function(){return this.mi>>>8&zN|this.hi<<16};function rB(i,x,n,m){this.kind=i,this.layout=x,this.dims=n,this.data=m}function tO(i,x,n,m){this.kind=i,this.layout=x,this.dims=n,this.data=m}function q9(i,x,n,m){var L=mK(i);return gK(n)*L!=m.length&&k5(\"length doesn't match dims\"),x==0&&n.length==1&&L==1?new tO(i,x,n,m):new rB(i,x,n,m)}function v6(i){VV(dw.Failure,i)}function DK(i,x,n){var m=i.read32s();(m<0||m>16)&&v6(\"input_value: wrong number of bigarray dimensions\");var L=i.read32s(),v=L&Tw,a0=L>>8&1,O1=[];if(n==eU)for(var dx=0;dx<m;dx++){var ie=i.read16u();if(ie==zN){var Ie=i.read32u(),Ot=i.read32u();Ie!=0&&v6(\"input_value: bigarray dimension overflow in 32bit\"),ie=Ot}O1.push(ie)}else for(dx=0;dx<m;dx++)O1.push(i.read32u());var Or=gK(O1),Cr=function(Xt,Me){var Ke,ct=Oe;switch(Xt){case 0:Ke=ct.Float32Array;break;case 1:Ke=ct.Float64Array;break;case 2:Ke=ct.Int8Array;break;case 3:Ke=ct.Uint8Array;break;case 4:Ke=ct.Int16Array;break;case 5:Ke=ct.Uint16Array;break;case 6:case 7:case 8:case 9:Ke=ct.Int32Array;break;case 10:Ke=ct.Float32Array;break;case 11:Ke=ct.Float64Array;break;case 12:Ke=ct.Uint8Array}return Ke||k5(\"Bigarray.create: unsupported kind\"),new Ke(Me*mK(Xt))}(v,Or),ni=q9(v,a0,O1,Cr);switch(v){case 2:for(dx=0;dx<Or;dx++)Cr[dx]=i.read8s();break;case 3:case 12:for(dx=0;dx<Or;dx++)Cr[dx]=i.read8u();break;case 4:for(dx=0;dx<Or;dx++)Cr[dx]=i.read16s();break;case 5:for(dx=0;dx<Or;dx++)Cr[dx]=i.read16u();break;case 6:for(dx=0;dx<Or;dx++)Cr[dx]=i.read32s();break;case 8:case 9:for(i.read8u()&&v6(\"input_value: cannot read bigarray with 64-bit OCaml ints\"),dx=0;dx<Or;dx++)Cr[dx]=i.read32s();break;case 7:var Jn=new Array(8);for(dx=0;dx<Or;dx++){for(var Vn=0;Vn<8;Vn++)Jn[Vn]=i.read8u();var zn=mj(Jn);ni.set(dx,zn)}break;case 1:for(Jn=new Array(8),dx=0;dx<Or;dx++){for(Vn=0;Vn<8;Vn++)Jn[Vn]=i.read8u();var Oi=bL(mj(Jn));ni.set(dx,Oi)}break;case 0:for(dx=0;dx<Or;dx++)Oi=hK(i.read32s()),ni.set(dx,Oi);break;case 10:for(dx=0;dx<Or;dx++){var xn=hK(i.read32s()),vt=hK(i.read32s());ni.set(dx,[rk,xn,vt])}break;case 11:for(Jn=new Array(8),dx=0;dx<Or;dx++){for(Vn=0;Vn<8;Vn++)Jn[Vn]=i.read8u();for(xn=bL(mj(Jn)),Vn=0;Vn<8;Vn++)Jn[Vn]=i.read8u();vt=bL(mj(Jn)),ni.set(dx,[rk,xn,vt])}}return x[0]=4*(4+m),q9(v,a0,O1,Cr)}function J9(i,x,n){return i.compare(x,n)}function NU(i,x){return Math.imul(i,x)}function i9(i,x){return x=NU(x,-862048943),((i=(i^=x=NU(x=x<<15|x>>>17,461845907))<<13|i>>>19)+(i<<2)|0)-430675100|0}function vK(i,x){return function(n,m){return n=i9(n,yK(m)),i9(n,_K(m))}(i,dj(x))}function $V(i){var x=gK(i.dims),n=0;switch(i.kind){case 2:case 3:case 12:x>ru&&(x=ru);var m=0,L=0;for(L=0;L+4<=i.data.length;L+=4)n=i9(n,m=i.data[L+0]|i.data[L+1]<<8|i.data[L+2]<<16|i.data[L+3]<<24);switch(m=0,3&x){case 3:m=i.data[L+2]<<16;case 2:m|=i.data[L+1]<<8;case 1:n=i9(n,m|=i.data[L+0])}break;case 4:case 5:for(x>nE&&(x=nE),m=0,L=0,L=0;L+2<=i.data.length;L+=2)n=i9(n,m=i.data[L+0]|i.data[L+1]<<16);(1&x)!=0&&(n=i9(n,i.data[L]));break;case 6:for(x>64&&(x=64),L=0;L<x;L++)n=i9(n,i.data[L]);break;case 8:case 9:for(x>64&&(x=64),L=0;L<x;L++)n=i9(n,i.data[L]);break;case 7:for(x>32&&(x=32),x*=2,L=0;L<x;L++)n=i9(n,i.data[L]);break;case 10:x*=2;case 0:for(x>64&&(x=64),L=0;L<x;L++)n=vK(n,i.data[L]);break;case 11:x*=2;case 1:for(x>32&&(x=32),L=0;L<x;L++)n=vK(n,i.data[L])}return n}rB.prototype.caml_custom=\"_bigarray\",rB.prototype.offset=function(i){var x=0;if(typeof i==\"number\"&&(i=[i]),i instanceof Array||k5(\"bigarray.js: invalid offset\"),this.dims.length!=i.length&&k5(\"Bigarray.get/set: bad number of dimensions\"),this.layout==0)for(var n=0;n<this.dims.length;n++)(i[n]<0||i[n]>=this.dims[n])&&vL(),x=x*this.dims[n]+i[n];else for(n=this.dims.length-1;n>=0;n--)(i[n]<1||i[n]>this.dims[n])&&vL(),x=x*this.dims[n]+(i[n]-1);return x},rB.prototype.get=function(i){switch(this.kind){case 7:return function(m,L){return new d8(m&Pl,m>>>24&Tw|(L&zN)<<8,L>>>16&zN)}(this.data[2*i+0],this.data[2*i+1]);case 10:case 11:var x=this.data[2*i+0],n=this.data[2*i+1];return[rk,x,n];default:return this.data[i]}},rB.prototype.set=function(i,x){switch(this.kind){case 7:this.data[2*i+0]=yK(x),this.data[2*i+1]=_K(x);break;case 10:case 11:this.data[2*i+0]=x[1],this.data[2*i+1]=x[2];break;default:this.data[i]=x}return 0},rB.prototype.fill=function(i){switch(this.kind){case 7:var x=yK(i),n=_K(i);if(x==n)this.data.fill(x);else for(var m=0;m<this.data.length;m++)this.data[m]=m%2==0?x:n;break;case 10:case 11:var L=i[1],v=i[2];if(L==v)this.data.fill(L);else for(m=0;m<this.data.length;m++)this.data[m]=m%2==0?L:v;break;default:this.data.fill(i)}},rB.prototype.compare=function(i,x){if(this.layout!=i.layout||this.kind!=i.kind){var n=this.kind|this.layout<<8;return(i.kind|i.layout<<8)-n}if(this.dims.length!=i.dims.length)return i.dims.length-this.dims.length;for(var m=0;m<this.dims.length;m++)if(this.dims[m]!=i.dims[m])return this.dims[m]<i.dims[m]?-1:1;switch(this.kind){case 0:case 1:case 10:case 11:var L,v;for(m=0;m<this.data.length;m++){if((L=this.data[m])<(v=i.data[m]))return-1;if(L>v)return 1;if(L!=v){if(!x)return NaN;if(L==L)return 1;if(v==v)return-1}}break;case 7:for(m=0;m<this.data.length;m+=2){if(this.data[m+1]<i.data[m+1])return-1;if(this.data[m+1]>i.data[m+1])return 1;if(this.data[m]>>>0<i.data[m]>>>0)return-1;if(this.data[m]>>>0>i.data[m]>>>0)return 1}break;case 2:case 3:case 4:case 5:case 6:case 8:case 9:case 12:for(m=0;m<this.data.length;m++){if(this.data[m]<i.data[m])return-1;if(this.data[m]>i.data[m])return 1}}return 0},tO.prototype=new rB,tO.prototype.offset=function(i){return typeof i!=\"number\"&&(i instanceof Array&&i.length==1?i=i[0]:k5(\"Ml_Bigarray_c_1_1.offset\")),(i<0||i>=this.dims[0])&&vL(),i},tO.prototype.get=function(i){return this.data[i]},tO.prototype.set=function(i,x){return this.data[i]=x,0},tO.prototype.fill=function(i){return this.data.fill(i),0};var PM={_j:{deserialize:function(i,x){for(var n=new Array(8),m=0;m<8;m++)n[m]=i.read8u();return x[0]=8,mj(n)},serialize:function(i,x,n){for(var m=wU(x),L=0;L<8;L++)i.write(8,m[L]);n[0]=8,n[1]=8},fixed_length:8,compare:function(i,x,n){return i.compare(x)},hash:function(i){return i.lo32()^i.hi32()}},_i:{deserialize:function(i,x){return x[0]=4,i.read32s()},fixed_length:4},_n:{deserialize:function(i,x){switch(i.read8u()){case 1:return x[0]=4,i.read32s();case 2:v6(\"input_value: native integer value too large\");default:v6(\"input_value: ill-formed native integer\")}},fixed_length:4},_bigarray:{deserialize:function(i,x){return DK(i,x,tp)},serialize:kU,compare:J9,hash:$V},_bigarr02:{deserialize:function(i,x){return DK(i,x,eU)},serialize:kU,compare:J9,hash:$V}};function IM(i){return PM[i.caml_custom]&&PM[i.caml_custom].compare}function bK(i,x,n,m){var L=IM(x);if(L){var v=n>0?L(x,i,m):L(i,x,m);if(m&&v!=v)return n;if(+v!=+v)return+v;if((0|v)!=0)return 0|v}return n}function PU(i){return i instanceof kw}function CK(i){return PU(i)}function IU(i){if(typeof i==\"number\")return cI;if(PU(i))return tU;if(CK(i))return 1252;if(i instanceof Array&&i[0]===i[0]>>>0&&i[0]<=MI){var x=0|i[0];return x==rk?0:x}return i instanceof String||typeof i==\"string\"?12520:i instanceof Number?cI:i&&i.caml_custom?Sk:i&&i.compare?1256:typeof i==\"function\"?1247:typeof i==\"symbol\"?1251:1001}function TP(i,x){return i<x?-1:i==x?0:1}function KV(i,x){return 6&i.t&&eO(i),6&x.t&&eO(x),i.c<x.c?-1:i.c>x.c?1:0}function S2(i,x){return KV(i,x)}function nB(i,x,n){for(var m=[];;){if(!n||i!==x){var L=IU(i);if(L==250){i=i[1];continue}var v=IU(x);if(v==250){x=x[1];continue}if(L!==v)return L==cI?v==Sk?bK(i,x,-1,n):-1:v==cI?L==Sk?bK(x,i,1,n):1:L<v?-1:1;switch(L){case 247:k5(Kn);break;case 248:if((O1=TP(i[2],x[2]))!=0)return 0|O1;break;case 249:k5(Kn);break;case 250:k5(\"equal: got Forward_tag, should not happen\");break;case 251:k5(\"equal: abstract value\");break;case 252:if(i!==x&&(O1=KV(i,x))!=0)return 0|O1;break;case 253:k5(\"equal: got Double_tag, should not happen\");break;case 254:k5(\"equal: got Double_array_tag, should not happen\");break;case 255:k5(\"equal: got Custom_tag, should not happen\");break;case 1247:k5(Kn);break;case 1255:var a0=IM(i);if(a0!=IM(x))return i.caml_custom<x.caml_custom?-1:1;if(a0||k5(\"compare: abstract value\"),(O1=a0(i,x,n))!=O1)return n?-1:O1;if(O1!==(0|O1))return-1;if(O1!=0)return 0|O1;break;case 1256:var O1;if((O1=i.compare(x,n))!=O1)return n?-1:O1;if(O1!==(0|O1))return-1;if(O1!=0)return 0|O1;break;case 1e3:if((i=+i)<(x=+x))return-1;if(i>x)return 1;if(i!=x){if(!n)return NaN;if(i==i)return 1;if(x==x)return-1}break;case 1001:if(i<x)return-1;if(i>x)return 1;if(i!=x){if(!n)return NaN;if(i==i)return 1;if(x==x)return-1}break;case 1251:if(i!==x)return n?1:NaN;break;case 1252:if((i=tB(i))!==(x=tB(x))){if(i<x)return-1;if(i>x)return 1}break;case 12520:if((i=i.toString())!==(x=x.toString())){if(i<x)return-1;if(i>x)return 1}break;case 246:case 254:default:if(i.length!=x.length)return i.length<x.length?-1:1;i.length>1&&m.push(i,x,1)}}if(m.length==0)return 0;var dx=m.pop();x=m.pop(),dx+1<(i=m.pop()).length&&m.push(i,x,dx+1),i=i[dx],x=x[dx]}}function OM(i,x){return nB(i,x,!0)}function HT(i){return i<0&&k5(\"Bytes.create\"),new kw(i?2:9,ke,i)}function sk(i,x){return+(nB(i,x,!1)==0)}function hj(i){var x;if(x=+(i=tB(i)),i.length>0&&x==x||(x=+(i=i.replace(/_/g,ke)),i.length>0&&x==x||/^[+-]?nan$/i.test(i)))return x;var n=/^ *([+-]?)0x([0-9a-f]+)\\.?([0-9a-f]*)p([+-]?[0-9]+)/i.exec(i);if(n){var m=n[3].replace(/0+$/,ke),L=parseInt(n[1]+n[2]+m,16),v=(0|n[4])-4*m.length;return x=L*Math.pow(2,v)}return/^\\+?inf(inity)?$/i.test(i)?1/0:/^-inf(inity)?$/i.test(i)?-1/0:void v6(\"float_of_string\")}function BM(i){var x=(i=tB(i)).length;x>31&&k5(\"format_int: format too long\");for(var n={justify:pI,signstyle:JN,filler:VN,alternate:!1,base:0,signedconv:!1,width:0,uppercase:!1,sign:1,prec:-1,conv:\"f\"},m=0;m<x;m++){var L=i.charAt(m);switch(L){case\"-\":n.justify=JN;break;case\"+\":case\" \":n.signstyle=L;break;case\"0\":n.filler=sg;break;case\"#\":n.alternate=!0;break;case\"1\":case\"2\":case\"3\":case\"4\":case\"5\":case\"6\":case\"7\":case\"8\":case\"9\":for(n.width=0;(L=i.charCodeAt(m)-48)>=0&&L<=9;)n.width=10*n.width+L,m++;m--;break;case\".\":for(n.prec=0,m++;(L=i.charCodeAt(m)-48)>=0&&L<=9;)n.prec=10*n.prec+L,m++;m--;case\"d\":case\"i\":n.signedconv=!0;case\"u\":n.base=10;break;case\"x\":n.base=16;break;case\"X\":n.base=16,n.uppercase=!0;break;case\"o\":n.base=8;break;case\"e\":case\"f\":case\"g\":n.signedconv=!0,n.conv=L;break;case\"E\":case\"F\":case\"G\":n.signedconv=!0,n.uppercase=!0,n.conv=L.toLowerCase()}}return n}function LM(i,x){i.uppercase&&(x=x.toUpperCase());var n=x.length;i.signedconv&&(i.sign<0||i.signstyle!=JN)&&n++,i.alternate&&(i.base==8&&(n+=1),i.base==16&&(n+=2));var m=ke;if(i.justify==pI&&i.filler==VN)for(var L=n;L<i.width;L++)m+=VN;if(i.signedconv&&(i.sign<0?m+=JN:i.signstyle!=JN&&(m+=i.signstyle)),i.alternate&&i.base==8&&(m+=sg),i.alternate&&i.base==16&&(m+=ZI),i.justify==pI&&i.filler==sg)for(L=n;L<i.width;L++)m+=sg;if(m+=x,i.justify==JN)for(L=n;L<i.width;L++)m+=VN;return t(m)}function gj(i,x){var n=BM(i),m=n.prec<0?6:n.prec;if((x<0||x==0&&1/x==-1/0)&&(n.sign=-1,x=-x),isNaN(x))L=ui,n.filler=VN;else if(isFinite(x))switch(n.conv){case\"e\":var L,v=(L=x.toExponential(m)).length;L.charAt(v-3)==\"e\"&&(L=L.slice(0,v-1)+sg+L.slice(v-1));break;case\"f\":L=function(ie,Ie){if(Math.abs(ie)<1)return ie.toFixed(Ie);var Ot=parseInt(ie.toString().split(pI)[1]);return Ot>20?(Ot-=20,ie/=Math.pow(10,Ot),ie+=new Array(Ot+1).join(sg),Ie>0&&(ie=ie+y9+new Array(Ie+1).join(sg)),ie):ie.toFixed(Ie)}(x,m);break;case\"g\":m=m||1;var a0=(L=x.toExponential(m-1)).indexOf(\"e\"),O1=+L.slice(a0+1);if(O1<-4||x>=1e21||x.toFixed(0).length>m){for(v=a0-1;L.charAt(v)==sg;)v--;L.charAt(v)==y9&&v--,v=(L=L.slice(0,v+1)+L.slice(a0)).length,L.charAt(v-3)==\"e\"&&(L=L.slice(0,v-1)+sg+L.slice(v-1));break}var dx=m;if(O1<0)dx-=O1+1,L=x.toFixed(dx);else for(;(L=x.toFixed(dx)).length>m+1;)dx--;if(dx){for(v=L.length-1;L.charAt(v)==sg;)v--;L.charAt(v)==y9&&v--,L=L.slice(0,v+1)}}else L=\"inf\",n.filler=VN;return LM(n,L)}function QN(i,x){if(tB(i)==AA)return t(ke+x);var n=BM(i);x<0&&(n.signedconv?(n.sign=-1,x=-x):x>>>=0);var m=x.toString(n.base);if(n.prec>=0){n.filler=VN;var L=n.prec-m.length;L>0&&(m=cj(L,sg)+m)}return LM(n,m)}var MM=0;function HA(){return MM++}var zS=[];function rh(i,x,n){var m=i[1],L=zS[n];if(L===null)for(var v=zS.length;v<n;v++)zS[v]=0;else if(m[L]===x)return m[L-1];for(var a0,O1=3,dx=2*m[1]+1;O1<dx;)x<m[(a0=O1+dx>>1|1)+1]?dx=a0-2:O1=a0;return zS[n]=O1+1,x==m[O1+1]?m[O1]:0}function wo(i){var x=9;return jV(i)||(x=8,i=function(n){for(var m,L,v=ke,a0=v,O1=0,dx=n.length;O1<dx;O1++){if((m=n.charCodeAt(O1))<V1){for(var ie=O1+1;ie<dx&&(m=n.charCodeAt(ie))<V1;ie++);if(ie-O1>QI?(a0.substr(0,1),v+=a0,a0=ke,v+=n.slice(O1,ie)):a0+=n.slice(O1,ie),ie==dx)break;O1=ie}m<2048?(a0+=String.fromCharCode(192|m>>6),a0+=String.fromCharCode(V1|m&lw)):m<55296||m>=57343?a0+=String.fromCharCode(224|m>>12,V1|m>>6&lw,V1|m&lw):m>=56319||O1+1==dx||(L=n.charCodeAt(O1+1))<56320||L>57343?a0+=\"\\xEF\\xBF\\xBD\":(O1++,m=(m<<10)+L-56613888,a0+=String.fromCharCode(240|m>>18,V1|m>>12&lw,V1|m>>6&lw,V1|m&lw)),a0.length>tA&&(a0.substr(0,1),v+=a0,a0=ke)}return v+a0}(i)),new kw(x,i,i.length)}function wP(i){return wo(i)}function a9(i){return+i.isZero()}function CL(i){return new d8(i&Pl,i>>24&Pl,i>>31&zN)}function _j(i){return i.toInt()}function r(i){return i.neg()}function f(i){return i.l}function g(i){return f(i)}function E(i,x){return PA(i,x)}function F(i,x){return i.add(x)}function q(i,x){return i.mul(x)}function T0(i,x){return i.ucompare(x)<0}function u1(i){var x=0,n=g(i),m=10,L=1;if(n>0)switch(E(i,x)){case 45:x++,L=-1;break;case 43:x++,L=1}if(x+1<n&&E(i,x)==48)switch(E(i,x+1)){case 120:case 88:m=16,x+=2;break;case 111:case 79:m=8,x+=2;break;case 98:case 66:m=2,x+=2;break;case 117:case 85:x+=2}return[x,L,m]}function M1(i){return i>=48&&i<=57?i-48:i>=65&&i<=90?i-55:i>=97&&i<=$u?i-87:-1}function A1(i){var x=u1(i),n=x[0],m=x[1],L=x[2],v=CL(L),a0=new d8(Pl,268435455,zN).udivmod(v).quotient,O1=E(i,n),dx=M1(O1);(dx<0||dx>=L)&&v6(TA);for(var ie=CL(dx);;)if((O1=E(i,++n))!=95){if((dx=M1(O1))<0||dx>=L)break;T0(a0,ie)&&v6(TA),dx=CL(dx),T0(ie=F(q(v,ie),dx),dx)&&v6(TA)}return n!=g(i)&&v6(TA),L==10&&T0(new d8(0,0,PT),ie)&&v6(TA),m<0&&(ie=r(ie)),ie}function lx(i){return i.toFloat()}function Vx(i){var x=u1(i),n=x[0],m=x[1],L=x[2],v=g(i),a0=n<v?E(i,n):0,O1=M1(a0);(O1<0||O1>=L)&&v6(TA);var dx=O1;for(n++;n<v;n++)if((a0=E(i,n))!=95){if((O1=M1(a0))<0||O1>=L)break;(dx=L*dx+O1)>4294967295&&v6(TA)}return n!=v&&v6(TA),dx*=m,L==10&&(0|dx)!=dx&&v6(TA),0|dx}function ye(i){return i.slice(1)}function Ue(i){return!!i}function Ge(i){return i.toUtf16()}function er(i){for(var x={},n=1;n<i.length;n++){var m=i[n];x[Ge(m[1])]=m[2]}return x}function Ar(i,x){return+(nB(i,x,!1)<0)}function vr(i,x){i<0&&vL(),i=i+1|0;var n=new Array(i);n[0]=0;for(var m=1;m<i;m++)n[m]=x;return n}function Yt(i){VV(dw.Sys_error,i)}var nn=new Array;function Nn(i){var x=nn[i];if(x.opened||Yt(\"Cannot flush a closed channel\"),!x.buffer||x.buffer==ke)return 0;if(x.fd&&dw.fds[x.fd]&&dw.fds[x.fd].output){var n=dw.fds[x.fd].output;switch(n.length){case 2:n(i,x.buffer);break;default:n(x.buffer)}}return x.buffer=ke,0}if(Oe.process&&Oe.process.cwd)var Ei=Oe.process.cwd().replace(/\\\\/g,X6);else Ei=\"/static\";function Ca(){}function Aa(i){this.data=i}function Qi(i,x){this.content={},this.root=i,this.lookupFun=x}function Oa(i){this.fs=W2,this.fd=i}function Ra(i){this.fs=W2,this.root=i}Ei.slice(-1)!==X6&&(Ei+=X6),Aa.prototype=new Ca,Aa.prototype.truncate=function(i){var x=this.data;this.data=HT(0|i),eB(x,0,this.data,0,i)},Aa.prototype.length=function(){return f(this.data)},Aa.prototype.write=function(i,x,n,m){var L=this.length();if(i+m>=L){var v=HT(i+m),a0=this.data;this.data=v,eB(a0,0,this.data,0,L)}return DL(x,n,this.data,i,m),0},Aa.prototype.read=function(i,x,n,m){return this.length(),eB(this.data,i,x,n,m),0},Aa.prototype.read_one=function(i){return function(x,n){return n>>>0>=x.l&&fK(),PA(x,n)}(this.data,i)},Aa.prototype.close=function(){},Aa.prototype.constructor=Aa,Qi.prototype.nm=function(i){return this.root+i},Qi.prototype.lookup=function(i){if(!this.content[i]&&this.lookupFun){var x=this.lookupFun(t(this.root),t(i));x!==0&&(this.content[i]=new Aa(x[1]))}},Qi.prototype.exists=function(i){if(i==ke)return 1;var x=new RegExp(lI+(i+X6));for(var n in this.content)if(n.match(x))return 1;return this.lookup(i),this.content[i]?1:0},Qi.prototype.readdir=function(i){var x=new RegExp(lI+(i==ke?ke:i+X6)+t9),n={},m=[];for(var L in this.content){var v=L.match(x);v&&!n[v[1]]&&(n[v[1]]=!0,m.push(v[1]))}return m},Qi.prototype.is_dir=function(i){var x=new RegExp(lI+(i==ke?ke:i+X6)+t9);for(var n in this.content)if(n.match(x))return 1;return 0},Qi.prototype.unlink=function(i){var x=!!this.content[i];return delete this.content[i],x},Qi.prototype.open=function(i,x){if(x.rdonly&&x.wronly&&Yt(this.nm(i)+\" : flags Open_rdonly and Open_wronly are not compatible\"),x.text&&x.binary&&Yt(this.nm(i)+\" : flags Open_text and Open_binary are not compatible\"),this.lookup(i),this.content[i]){this.is_dir(i)&&Yt(this.nm(i)+\" : is a directory\"),x.create&&x.excl&&Yt(this.nm(i)+oI);var n=this.content[i];return x.truncate&&n.truncate(),n}if(x.create)return this.content[i]=new Aa(HT(0)),this.content[i];(function(m){Yt((m=tB(m))+\": No such file or directory\")})(this.nm(i))},Qi.prototype.register=function(i,x){if(this.content[i]&&Yt(this.nm(i)+oI),PU(x)&&(this.content[i]=new Aa(x)),CK(x))this.content[i]=new Aa(x);else if(x instanceof Array)this.content[i]=new Aa(function(m){return new kw(4,m,m.length)}(x));else if(typeof x==\"string\")this.content[i]=new Aa(ok(x));else if(x.toString){var n=wP(x.toString());this.content[i]=new Aa(n)}else Yt(this.nm(i)+\" : registering file with invalid content type\")},Qi.prototype.constructor=Qi,Oa.prototype=new Ca,Oa.prototype.truncate=function(i){try{this.fs.ftruncateSync(this.fd,0|i)}catch(x){Yt(x.toString())}},Oa.prototype.length=function(){try{return this.fs.fstatSync(this.fd).size}catch(i){Yt(i.toString())}},Oa.prototype.write=function(i,x,n,m){var L=function(a0){for(var O1=g(a0),dx=new Array(O1),ie=0;ie<O1;ie++)dx[ie]=E(a0,ie);return dx}(x);L instanceof Oe.Uint8Array||(L=new Oe.Uint8Array(L));var v=Oe.Buffer.from(L);try{this.fs.writeSync(this.fd,v,n,m,i)}catch(a0){Yt(a0.toString())}return 0},Oa.prototype.read=function(i,x,n,m){var L=function(O1){return O1.t!=4&&yL(O1),O1.c}(x);L instanceof Oe.Uint8Array||(L=new Oe.Uint8Array(L));var v=Oe.Buffer.from(L);try{this.fs.readSync(this.fd,v,n,m,i)}catch(O1){Yt(O1.toString())}for(var a0=0;a0<m;a0++)C9(x,n+a0,v[n+a0]);return 0},Oa.prototype.read_one=function(i){var x=new Oe.Uint8Array(1),n=Oe.Buffer.from(x);try{this.fs.readSync(this.fd,n,0,1,i)}catch(m){Yt(m.toString())}return n[0]},Oa.prototype.close=function(){try{this.fs.closeSync(this.fd)}catch(i){Yt(i.toString())}},Oa.prototype.constructor=Oa,Ra.prototype.nm=function(i){return this.root+i},Ra.prototype.exists=function(i){try{return this.fs.existsSync(this.nm(i))?1:0}catch(x){Yt(x.toString())}},Ra.prototype.readdir=function(i){try{return this.fs.readdirSync(this.nm(i))}catch(x){Yt(x.toString())}},Ra.prototype.is_dir=function(i){try{return this.fs.statSync(this.nm(i)).isDirectory()?1:0}catch(x){Yt(x.toString())}},Ra.prototype.unlink=function(i){try{var x=this.fs.existsSync(this.nm(i))?1:0;this.fs.unlinkSync(this.nm(i))}catch(n){Yt(n.toString())}return x},Ra.prototype.open=function(i,x){var n=pt,m=0;for(var L in x)switch(L){case\"rdonly\":m|=n.O_RDONLY;break;case\"wronly\":m|=n.O_WRONLY;break;case\"append\":m|=n.O_WRONLY|n.O_APPEND;break;case\"create\":m|=n.O_CREAT;break;case\"truncate\":m|=n.O_TRUNC;break;case\"excl\":m|=n.O_EXCL;break;case\"binary\":m|=n.O_BINARY;break;case\"text\":m|=n.O_TEXT;break;case\"nonblock\":m|=n.O_NONBLOCK}try{return new Oa(this.fs.openSync(this.nm(i),m))}catch(v){Yt(v.toString())}},Ra.prototype.rename=function(i,x){try{this.fs.renameSync(this.nm(i),this.nm(x))}catch(n){Yt(n.toString())}},Ra.prototype.constructor=Ra;var yn=Ei.match(/[^\\/]*\\//)[0],ti=[];function Gi(i,x,n,m){dw.fds===void 0&&(dw.fds=new Array),m=m||{};var L={};return L.file=n,L.offset=m.append?n.length():0,L.flags=m,L.output=x,dw.fds[i]=L,(!dw.fd_last_idx||i>dw.fd_last_idx)&&(dw.fd_last_idx=i),i}function zi(i){var x=dw.fds[i];x.flags.rdonly&&Yt(\"fd \"+i+\" is readonly\");var n={file:x.file,offset:x.offset,fd:i,opened:!0,out:!0,buffer:ke};return nn[n.fd]=n,n.fd}function Wo(i,x,n,m){return function(L,v,a0,O1){var dx,ie=nn[L];ie.opened||Yt(\"Cannot output to a closed channel\"),a0==0&&f(v)==O1?dx=v:eB(v,a0,dx=HT(O1),0,O1);var Ie=tB(dx),Ot=Ie.lastIndexOf(`\n`);return Ot<0?ie.buffer+=Ie:(ie.buffer+=Ie.substr(0,Ot+1),Nn(L),ie.buffer+=Ie.substr(Ot+1)),0}(i,x,n,m)}function Ms(i,x){return+(nB(i,x,!1)!=0)}function Et(i,x){var n=new Array(x+1);n[0]=i;for(var m=1;m<=x;m++)n[m]=0;return n}function wt(i){return i instanceof Array&&i[0]==i[0]>>>0?i[0]:PU(i)||CK(i)?tU:i instanceof Function||typeof i==\"function\"?247:i&&i.caml_custom?MI:cI}function da(i,x,n){n&&Oe.toplevelReloc&&(i=Oe.toplevelReloc(n)),dw[i+1]=x,n&&(dw[n]=x)}Oe.process!==void 0&&Oe.process.versions!==void 0&&Oe.process.versions.node!==void 0&&Oe.process.platform!==\"browser\"?ti.push({path:yn,device:new Ra(yn)}):ti.push({path:yn,device:new Qi(yn)}),ti.push({path:yn+Fw,device:new Qi(yn+Fw)}),Gi(0,function(i,x){var n=nn[i],m=t(x),L=g(m);return n.file.write(n.offset,m,0,L),n.offset+=L,0},new Aa(HT(0))),Gi(1,function(i){i=UV(i);var x=Oe;if(x.process&&x.process.stdout&&x.process.stdout.write)x.process.stdout.write(i);else{i.charCodeAt(i.length-1)==10&&(i=i.substr(0,i.length-1));var n=x.console;n&&n.log&&n.log(i)}},new Aa(HT(0))),Gi(2,function(i){i=UV(i);var x=Oe;if(x.process&&x.process.stdout&&x.process.stdout.write)x.process.stderr.write(i);else{i.charCodeAt(i.length-1)==10&&(i=i.substr(0,i.length-1));var n=x.console;n&&n.error&&n.error(i)}},new Aa(HT(0)));var Ya={};function Da(i,x){return function(n,m){return n===m?1:(6&n.t&&eO(n),6&m.t&&eO(m),n.c==m.c?1:0)}(i,x)}function fr(i,x){return x>>>0>=g(i)&&k5(TV),E(i,x)}function rt(i,x){return 1-Da(i,x)}function di(i){var x=Oe,n=Ge(i);return x.process&&x.process.env&&x.process.env[n]!=null?wP(x.process.env[n]):Oe.jsoo_static_env&&Oe.jsoo_static_env[n]?wP(Oe.jsoo_static_env[n]):void lj(dw.Not_found)}function Wt(i){for(;i&&i.joo_tramp;)i=i.joo_tramp.apply(null,i.joo_args);return i}function dn(i,x){return{joo_tramp:i,joo_args:x}}function Si(i){return Ya[i]}function yi(i){return i instanceof Array?i:Oe.RangeError&&i instanceof Oe.RangeError&&i.message&&i.message.match(/maximum call stack/i)||Oe.InternalError&&i instanceof Oe.InternalError&&i.message&&i.message.match(/too much recursion/i)?dw.Stack_overflow:i instanceof Oe.Error&&Si(bU)?[0,Si(bU),i]:[0,dw.Failure,wP(String(i))]}function l(i,x){return i.length==1?i(x):YN(i,[x])}function z(i,x,n){return i.length==2?i(x,n):YN(i,[x,n])}function zr(i,x,n,m){return i.length==3?i(x,n,m):YN(i,[x,n,m])}function re(i,x,n,m,L){return i.length==4?i(x,n,m,L):YN(i,[x,n,m,L])}function Oo(i,x,n,m,L,v){return i.length==5?i(x,n,m,L,v):YN(i,[x,n,m,L,v])}var yu=[mC,t(PO),-1],dl=[mC,t(HL),-2],lc=[mC,t(br),-3],qi=[mC,t(cx),-4],eo=[mC,t(t0),-7],Co=[mC,t(_U),-8],ou=[mC,t(w0),-9],Cs=[mC,t(ON),-11],Pi=[mC,t(EV),-12],Ia=[0,NT],nc=[0,[11,t('File \"'),[2,0,[11,t('\", line '),[4,0,0,0,[11,t(\", characters \"),[4,0,0,0,[12,45,[4,0,0,0,[11,t(\": \"),[2,0,0]]]]]]]]]],t('File \"%s\", line %d, characters %d-%d: %s')],g2=[0,0,[0,0,0],[0,0,0]],yb=[0,0],Ic=t(\"\u0001\u0002\"),m8=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\"),cs=[0,0,0,0,0,0,0,0,1,0],Ul=[0,t(T1),t(NO),t(KO),t(qN),t(jO),t(u5),t(vk),t(Xs),t(oa),t(ZF),t(DU),t(Qo),t(cP),t(Fa),t(ER),t(rn),t(WT),t(OI),t(XR),t(WN),t(GR),t(YI),t(J2),t(uT),t(Sc),t(JO),t(JP),t(e4),t(Le),t(wR),t(ro),t(xM),t(k0),t(rI),t(tL),t(jB),t(pn),t(xt),t(zO),t(JR),t(j1),t(pM),t($N),t(qB),t(gc),t(fI),t(SR),t(tk),t(VR),t(RR),t(nL),t(no),t(aU),t(BB),t(rN),t(XI),t(rr),t(ir),t(S4),t(iI),t(N),t(QR),t(nk),t(jR),t(Hw),t(kT),t(GL),t(m9),t(FO),t(oL),t(DS),t(FP),t(GO),t(qR),t(c5),t(mL),t(dF),t(WB),t(vC),t(AU),t(qO),t(yr),t(Hc),t(wS),t(o5),t(gr),t(HI),t($9),t(Ps),t(HO),t(mt),t($R),t(qE),t(SP),t(Q6),t(SM),t(pP),t(ZO),t(VS),t(dT),t(mI),t(nI),t(_L),t(ZL),t(F5),t(DM),t(ow),t(_M),t(EP),t(S),t(vP),t(jI),t(w5),t(cT),t(hL),t(hM),t(UO),t(Q1),t(ba),t(SA),t(f2),t(FM),t(ZP),t(jk),t(vR),t(Ln),t(j9),t(l5),t(PF),t(JA),t(eL),t(hU),t(oj),t(MF),t(yt),t(ij),t(aN),t($O),t(M9),t(wr),t(xk),t(WR),t(Qs),t(Vu),t(rj),t(zt),t(TM),t(ur),t(OF),t(LO),t(q5),t(Jw),t(pL),t(_0),t(aL),t(bP),t(Vt),t(h9),t(C4),t(kc),t(dt),t(VI),t(lM),t(EM),t(tj),t(uM),t(Wk),t(oo),t(YB),t(fM),t(Aw),t($1),t(S1),t(Vd),t(iE),t(UR),t(QO),t(aj),t(H0),t(lT),t(Dc),t(k2),t(rL),t(dM),t(SU),t(d6),t(sL),t(BR),t(pN),t(oN),t(ya),t(iL),t(E4),t(Fs),t(Kr),t(BN),t(kM),t(Ze),t(LN),t(x4),t(yM),t(nj),t(Rk),t(KI),t(eI),t(w),t($p),t(zB),t(oS),t(HB),t(cd),t(wO),t($k),t(jN),t(fT),t(qc),t(rF),t(v9),t(r9),t(iN),t(WO),t(IN),t(pT),t(CM),t(zI),t(kR),t(OB),t(_I),t(Ni),t(GN),t(Bk),t(JB),t(DR),t(x9),t(uN)],hp=[0,t(\"first_leading\"),t(\"last_trailing\")],Jc=[0,0,0],jE=[0,0];da(11,Pi,EV),da(10,Cs,ON),da(9,[mC,t(tK),-10],tK),da(8,ou,w0),da(7,Co,_U),da(6,eo,t0),da(5,[mC,t(IR),-6],IR),da(4,[mC,t(mP),-5],mP),da(3,qi,cx),da(2,lc,br),da(1,dl,HL),da(0,yu,PO);var Wd=t(\"output_substring\"),RD=t(\"%.12g\"),Ru=t(y9),Yf=t(VO),gh=t(p0),b6=t(\"\\\\\\\\\"),RF=t(\"\\\\'\"),IA=t(\"\\\\b\"),kS=t(\"\\\\t\"),j4=t(\"\\\\n\"),T4=t(\"\\\\r\"),JC=t(\"Char.chr\"),u6=t(\" is not an Unicode scalar value\"),kd=t(\"%X\"),UE=t(\"List.iter2\"),iF=[0,t(\"list.ml\"),282,11],Nw=t(\"tl\"),Pw=t(\"hd\"),uk=t(\"String.blit / Bytes.blit_string\"),mw=t(\"Bytes.blit\"),hN=t(\"String.sub / Bytes.sub\"),jF=t(\"Array.blit\"),An=t(\"Array.sub\"),Rs=t(\"Array.init\"),fc=t(\"Set.remove_min_elt\"),Vo=[0,0,0,0],sl=[0,0,0],Tl=[0,t(\"set.ml\"),547,18],e2=t(QL),Qf=t(QL),ml=t(QL),nh=t(QL),o_=t(\"Map.remove_min_elt\"),NS=[0,0,0,0],k8=[0,t(\"map.ml\"),398,10],cC=[0,0,0],hw=t(fU),mT=t(fU),hT=t(fU),Z_=t(fU),WS=t(\"Stdlib.Queue.Empty\"),PS=t(\"Buffer.add_substring/add_subbytes\"),GA=t(\"Buffer.add: cannot grow buffer\"),IT=[0,t(_R),93,2],r4=[0,t(_R),94,2],N5=t(\"Buffer.sub\"),HC=t(\"%c\"),oA=t(\"%s\"),o=t(\"%i\"),p=t(\"%li\"),h=t(\"%ni\"),y=t(\"%Li\"),k=t(\"%f\"),Q=t(U6),$0=t(\"%{\"),j0=t(\"%}\"),Z0=t(\"%(\"),g1=t(\"%)\"),z1=t(si),X1=t(\"%t\"),se=t(\"%?\"),be=t(\"%r\"),Je=t(\"%_r\"),ft=[0,t(pw),847,23],Xr=[0,t(pw),811,21],on=[0,t(pw),812,21],Wr=[0,t(pw),815,21],Zi=[0,t(pw),816,21],hs=[0,t(pw),819,19],Ao=[0,t(pw),820,19],Hs=[0,t(pw),823,22],Oc=[0,t(pw),824,22],Nd=[0,t(pw),828,30],qd=[0,t(pw),829,30],Hl=[0,t(pw),833,26],gf=[0,t(pw),834,26],Qh=[0,t(pw),843,28],N8=[0,t(pw),844,28],o8=[0,t(pw),848,23],P5=t(\"%u\"),gN=[0,t(pw),1555,4],_N=t(\"Printf: bad conversion %[\"),yN=[0,t(pw),1623,39],zV=[0,t(pw),1646,31],DI=[0,t(pw),1647,31],RM=t(\"Printf: bad conversion %_\"),EK=t(\"@{\"),x70=t(\"@[\"),e70=[0,[11,t(\"invalid box description \"),[3,0,0]],t(\"invalid box description %S\")],t70=t(ke),r70=[0,0,4],n70=t(ke),i70=t(\"b\"),a70=t(\"h\"),o70=t(\"hov\"),s70=t(\"hv\"),u70=t(\"v\"),c70=t(ui),l70=t(y9),f70=t(\"neg_infinity\"),p70=t(ll),d70=t(\"%+nd\"),m70=t(\"% nd\"),h70=t(\"%+ni\"),g70=t(\"% ni\"),_70=t(\"%nx\"),y70=t(\"%#nx\"),D70=t(\"%nX\"),v70=t(\"%#nX\"),b70=t(\"%no\"),C70=t(\"%#no\"),E70=t(\"%nd\"),S70=t(\"%ni\"),F70=t(\"%nu\"),A70=t(\"%+ld\"),T70=t(\"% ld\"),w70=t(\"%+li\"),k70=t(\"% li\"),N70=t(\"%lx\"),P70=t(\"%#lx\"),I70=t(\"%lX\"),O70=t(\"%#lX\"),B70=t(\"%lo\"),L70=t(\"%#lo\"),M70=t(\"%ld\"),R70=t(\"%li\"),j70=t(\"%lu\"),U70=t(\"%+Ld\"),V70=t(\"% Ld\"),$70=t(\"%+Li\"),K70=t(\"% Li\"),z70=t(\"%Lx\"),W70=t(\"%#Lx\"),q70=t(\"%LX\"),J70=t(\"%#LX\"),H70=t(\"%Lo\"),G70=t(\"%#Lo\"),X70=t(\"%Ld\"),Y70=t(\"%Li\"),Q70=t(\"%Lu\"),Z70=t(\"%+d\"),x30=t(\"% d\"),e30=t(\"%+i\"),t30=t(\"% i\"),r30=t(\"%x\"),n30=t(\"%#x\"),i30=t(\"%X\"),a30=t(\"%#X\"),o30=t(\"%o\"),s30=t(\"%#o\"),u30=t(AA),c30=t(\"%i\"),l30=t(\"%u\"),f30=t(jt),p30=t(\"@}\"),d30=t(\"@?\"),m30=t(`@\n`),h30=t(\"@.\"),g30=t(\"@@\"),_30=t(\"@%\"),y30=t(\"@\"),D30=t(\"CamlinternalFormat.Type_mismatch\"),v30=t(ke),b30=[0,[11,t(\", \"),[2,0,[2,0,0]]],t(\", %s%s\")],C30=t(\"Out of memory\"),E30=t(\"Stack overflow\"),S30=t(\"Pattern matching failed\"),F30=t(\"Assertion failed\"),A30=t(\"Undefined recursive module\"),T30=[0,[12,40,[2,0,[2,0,[12,41,0]]]],t(\"(%s%s)\")],w30=t(ke),k30=t(ke),N30=[0,[12,40,[2,0,[12,41,0]]],t(\"(%s)\")],P30=[0,[4,0,0,0,0],t(AA)],I30=[0,[3,0,0],t(H5)],O30=t(ar),B30=[3,0,3],L30=t(y9),M30=t(w8),R30=t(\"</\"),j30=t(ke),U30=t(w8),V30=t(RO),$30=t(ke),K30=t(`\n`),z30=t(ke),W30=t(ke),q30=t(ke),J30=t(ke),H30=[0,t(ke)],G30=t(ke),X30=t(ke),Y30=t(ke),Q30=t(ke),Z30=[0,t(ke),0,t(ke)],xC0=t(ke),eC0=t(\"Stdlib.Format.String_tag\"),tC0=[0,t(\"camlinternalOO.ml\"),281,50],rC0=t(ke),nC0=t(\"TMPDIR\"),iC0=t(\"TEMP\"),aC0=t(\"Cygwin\"),oC0=t(\"Win32\"),sC0=[0,t(\"src/lib/sedlexing.ml\"),57,25],uC0=t(\"Sedlexing.MalFormed\"),cC0=t(ke),lC0=[0,t(\"src/wtf8.ml\"),65,9],fC0=t(\"Js_of_ocaml__Js.Error\"),pC0=t(bU),dC0=[0,[15,0],t(si)],mC0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],hC0=t(zu),gC0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],_C0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],yC0=t(\"Flow_ast.Program.statements\"),DC0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],vC0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[12,91,0]],t($g)],bC0=[0,[17,[0,t(hd),0,0],[12,93,[17,0,0]]],t(fd)],CC0=[0,[17,0,0],t(jt)],EC0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],SC0=t(m0),FC0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],AC0=t(Ja),TC0=t(L0),wC0=t(ua),kC0=[0,[17,0,0],t(jt)],NC0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],PC0=t(\"all_comments\"),IC0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],OC0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[12,91,0]],t($g)],BC0=[0,[17,[0,t(hd),0,0],[12,93,[17,0,0]]],t(fd)],LC0=[0,[17,0,0],t(jt)],MC0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],RC0=[0,[15,0],t(si)],jC0=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],UC0=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],VC0=[0,[17,0,[12,41,0]],t(Rt)],$C0=[0,[15,0],t(si)],KC0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Function.BodyBlock\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Function.BodyBlock@ \")],zC0=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],WC0=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],qC0=[0,[17,0,[12,41,0]],t(Rt)],JC0=[0,[17,0,[12,41,0]],t(Rt)],HC0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Function.BodyExpression\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Function.BodyExpression@ \")],GC0=[0,[17,0,[12,41,0]],t(Rt)],XC0=[0,[15,0],t(si)],YC0=t(zu),QC0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],ZC0=t(\"Flow_ast.Function.id\"),xE0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],eE0=t(Ja),tE0=t(L0),rE0=t(ua),nE0=[0,[17,0,0],t(jt)],iE0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],aE0=t($8),oE0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],sE0=[0,[17,0,0],t(jt)],uE0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],cE0=t(Y6),lE0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],fE0=[0,[17,0,0],t(jt)],pE0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],dE0=t(n9),mE0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],hE0=[0,[9,0,0],t(U6)],gE0=[0,[17,0,0],t(jt)],_E0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],yE0=t(SP),DE0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],vE0=[0,[9,0,0],t(U6)],bE0=[0,[17,0,0],t(jt)],CE0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],EE0=t(oN),SE0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],FE0=t(Ja),AE0=t(L0),TE0=t(ua),wE0=[0,[17,0,0],t(jt)],kE0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],NE0=t(Fs),PE0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],IE0=[0,[17,0,0],t(jt)],OE0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],BE0=t(M0),LE0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],ME0=t(Ja),RE0=t(L0),jE0=t(ua),UE0=[0,[17,0,0],t(jt)],VE0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],$E0=t(m0),KE0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],zE0=t(Ja),WE0=t(L0),qE0=t(ua),JE0=[0,[17,0,0],t(jt)],HE0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],GE0=t(\"sig_loc\"),XE0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],YE0=[0,[17,0,0],t(jt)],QE0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],ZE0=[0,[15,0],t(si)],x80=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],e80=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[12,91,0]],t($g)],t80=[0,[17,[0,t(hd),0,0],[12,93,[17,0,0]]],t(fd)],r80=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],n80=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],i80=t(\"Flow_ast.Function.Params.this_\"),a80=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],o80=t(Ja),s80=t(L0),u80=t(ua),c80=[0,[17,0,0],t(jt)],l80=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],f80=t($8),p80=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],d80=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[12,91,0]],t($g)],m80=[0,[17,[0,t(hd),0,0],[12,93,[17,0,0]]],t(fd)],h80=[0,[17,0,0],t(jt)],g80=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],_80=t(h1),y80=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],D80=t(Ja),v80=t(L0),b80=t(ua),C80=[0,[17,0,0],t(jt)],E80=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],S80=t(m0),F80=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],A80=t(Ja),T80=t(L0),w80=t(ua),k80=[0,[17,0,0],t(jt)],N80=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],P80=[0,[15,0],t(si)],I80=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],O80=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],B80=[0,[17,0,[12,41,0]],t(Rt)],L80=[0,[15,0],t(si)],M80=t(zu),R80=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],j80=t(\"Flow_ast.Function.ThisParam.annot\"),U80=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],V80=[0,[17,0,0],t(jt)],$80=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],K80=t(m0),z80=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],W80=t(Ja),q80=t(L0),J80=t(ua),H80=[0,[17,0,0],t(jt)],G80=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],X80=[0,[15,0],t(si)],Y80=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],Q80=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],Z80=[0,[17,0,[12,41,0]],t(Rt)],x60=[0,[15,0],t(si)],e60=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],t60=t(\"Flow_ast.Function.Param.argument\"),r60=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],n60=[0,[17,0,0],t(jt)],i60=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],a60=t(K9),o60=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],s60=t(Ja),u60=t(L0),c60=t(ua),l60=[0,[17,0,0],t(jt)],f60=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],p60=[0,[15,0],t(si)],d60=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],m60=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],h60=[0,[17,0,[12,41,0]],t(Rt)],g60=[0,[15,0],t(si)],_60=t(zu),y60=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],D60=t(\"Flow_ast.Function.RestParam.argument\"),v60=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],b60=[0,[17,0,0],t(jt)],C60=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],E60=t(m0),S60=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],F60=t(Ja),A60=t(L0),T60=t(ua),w60=[0,[17,0,0],t(jt)],k60=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],N60=[0,[15,0],t(si)],P60=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],I60=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],O60=[0,[17,0,[12,41,0]],t(Rt)],B60=[0,[15,0],t(si)],L60=t(zu),M60=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],R60=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],j60=t(\"Flow_ast.Class.id\"),U60=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],V60=t(Ja),$60=t(L0),K60=t(ua),z60=[0,[17,0,0],t(jt)],W60=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],q60=t(Y6),J60=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],H60=[0,[17,0,0],t(jt)],G60=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],X60=t(M0),Y60=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Q60=t(Ja),Z60=t(L0),xS0=t(ua),eS0=[0,[17,0,0],t(jt)],tS0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],rS0=t(sN),nS0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],iS0=t(Ja),aS0=t(L0),oS0=t(ua),sS0=[0,[17,0,0],t(jt)],uS0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],cS0=t(FA),lS0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],fS0=t(Ja),pS0=t(L0),dS0=t(ua),mS0=[0,[17,0,0],t(jt)],hS0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],gS0=t(\"class_decorators\"),_S0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],yS0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[12,91,0]],t($g)],DS0=[0,[17,[0,t(hd),0,0],[12,93,[17,0,0]]],t(fd)],vS0=[0,[17,0,0],t(jt)],bS0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],CS0=t(m0),ES0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],SS0=t(Ja),FS0=t(L0),AS0=t(ua),TS0=[0,[17,0,0],t(jt)],wS0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],kS0=[0,[15,0],t(si)],NS0=t(zu),PS0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],IS0=t(\"Flow_ast.Class.Decorator.expression\"),OS0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],BS0=[0,[17,0,0],t(jt)],LS0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],MS0=t(m0),RS0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],jS0=t(Ja),US0=t(L0),VS0=t(ua),$S0=[0,[17,0,0],t(jt)],KS0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],zS0=[0,[15,0],t(si)],WS0=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],qS0=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],JS0=[0,[17,0,[12,41,0]],t(Rt)],HS0=[0,[15,0],t(si)],GS0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Class.Body.Method\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Class.Body.Method@ \")],XS0=[0,[17,0,[12,41,0]],t(Rt)],YS0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Class.Body.Property\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Class.Body.Property@ \")],QS0=[0,[17,0,[12,41,0]],t(Rt)],ZS0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Class.Body.PrivateField\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Class.Body.PrivateField@ \")],xF0=[0,[17,0,[12,41,0]],t(Rt)],eF0=[0,[15,0],t(si)],tF0=t(zu),rF0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],nF0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],iF0=t(\"Flow_ast.Class.Body.body\"),aF0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],oF0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[12,91,0]],t($g)],sF0=[0,[17,[0,t(hd),0,0],[12,93,[17,0,0]]],t(fd)],uF0=[0,[17,0,0],t(jt)],cF0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],lF0=t(m0),fF0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],pF0=t(Ja),dF0=t(L0),mF0=t(ua),hF0=[0,[17,0,0],t(jt)],gF0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],_F0=[0,[15,0],t(si)],yF0=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],DF0=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],vF0=[0,[17,0,[12,41,0]],t(Rt)],bF0=[0,[15,0],t(si)],CF0=t(zu),EF0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],SF0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],FF0=t(\"Flow_ast.Class.Implements.interfaces\"),AF0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],TF0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[12,91,0]],t($g)],wF0=[0,[17,[0,t(hd),0,0],[12,93,[17,0,0]]],t(fd)],kF0=[0,[17,0,0],t(jt)],NF0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],PF0=t(m0),IF0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],OF0=t(Ja),BF0=t(L0),LF0=t(ua),MF0=[0,[17,0,0],t(jt)],RF0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],jF0=[0,[15,0],t(si)],UF0=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],VF0=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],$F0=[0,[17,0,[12,41,0]],t(Rt)],KF0=[0,[15,0],t(si)],zF0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],WF0=t(\"Flow_ast.Class.Implements.Interface.id\"),qF0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],JF0=[0,[17,0,0],t(jt)],HF0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],GF0=t(sI),XF0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],YF0=t(Ja),QF0=t(L0),ZF0=t(ua),x40=[0,[17,0,0],t(jt)],e40=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],t40=[0,[15,0],t(si)],r40=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],n40=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],i40=[0,[17,0,[12,41,0]],t(Rt)],a40=[0,[15,0],t(si)],o40=t(zu),s40=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],u40=t(\"Flow_ast.Class.Extends.expr\"),c40=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],l40=[0,[17,0,0],t(jt)],f40=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],p40=t(sI),d40=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],m40=t(Ja),h40=t(L0),g40=t(ua),_40=[0,[17,0,0],t(jt)],y40=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],D40=t(m0),v40=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],b40=t(Ja),C40=t(L0),E40=t(ua),S40=[0,[17,0,0],t(jt)],F40=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],A40=[0,[15,0],t(si)],T40=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],w40=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],k40=[0,[17,0,[12,41,0]],t(Rt)],N40=[0,[15,0],t(si)],P40=t(zu),I40=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],O40=t(\"Flow_ast.Class.PrivateField.key\"),B40=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],L40=[0,[17,0,0],t(jt)],M40=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],R40=t(yg),j40=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],U40=[0,[17,0,0],t(jt)],V40=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],$40=t(u0),K40=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],z40=[0,[17,0,0],t(jt)],W40=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],q40=t(I),J40=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],H40=[0,[9,0,0],t(U6)],G40=[0,[17,0,0],t(jt)],X40=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Y40=t(Bk),Q40=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Z40=t(Ja),xA0=t(L0),eA0=t(ua),tA0=[0,[17,0,0],t(jt)],rA0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],nA0=t(m0),iA0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],aA0=t(Ja),oA0=t(L0),sA0=t(ua),uA0=[0,[17,0,0],t(jt)],cA0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],lA0=[0,[15,0],t(si)],fA0=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],pA0=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],dA0=[0,[17,0,[12,41,0]],t(Rt)],mA0=[0,[15,0],t(si)],hA0=t(\"Flow_ast.Class.Property.Uninitialized\"),gA0=t(\"Flow_ast.Class.Property.Declared\"),_A0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Class.Property.Initialized\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Class.Property.Initialized@ \")],yA0=[0,[17,0,[12,41,0]],t(Rt)],DA0=[0,[15,0],t(si)],vA0=t(zu),bA0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],CA0=t(\"Flow_ast.Class.Property.key\"),EA0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],SA0=[0,[17,0,0],t(jt)],FA0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],AA0=t(yg),TA0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],wA0=[0,[17,0,0],t(jt)],kA0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],NA0=t(u0),PA0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],IA0=[0,[17,0,0],t(jt)],OA0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],BA0=t(I),LA0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],MA0=[0,[9,0,0],t(U6)],RA0=[0,[17,0,0],t(jt)],jA0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],UA0=t(Bk),VA0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],$A0=t(Ja),KA0=t(L0),zA0=t(ua),WA0=[0,[17,0,0],t(jt)],qA0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],JA0=t(m0),HA0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],GA0=t(Ja),XA0=t(L0),YA0=t(ua),QA0=[0,[17,0,0],t(jt)],ZA0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],xT0=[0,[15,0],t(si)],eT0=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],tT0=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],rT0=[0,[17,0,[12,41,0]],t(Rt)],nT0=[0,[15,0],t(si)],iT0=t(zu),aT0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],oT0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],sT0=t(\"Flow_ast.Class.Method.kind\"),uT0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],cT0=[0,[17,0,0],t(jt)],lT0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],fT0=t(XN),pT0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],dT0=[0,[17,0,0],t(jt)],mT0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],hT0=t(yg),gT0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],_T0=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],yT0=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],DT0=[0,[17,0,[12,41,0]],t(Rt)],vT0=[0,[17,0,0],t(jt)],bT0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],CT0=t(I),ET0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],ST0=[0,[9,0,0],t(U6)],FT0=[0,[17,0,0],t(jt)],AT0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],TT0=t(nw),wT0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],kT0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[12,91,0]],t($g)],NT0=[0,[17,[0,t(hd),0,0],[12,93,[17,0,0]]],t(fd)],PT0=[0,[17,0,0],t(jt)],IT0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],OT0=t(m0),BT0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],LT0=t(Ja),MT0=t(L0),RT0=t(ua),jT0=[0,[17,0,0],t(jt)],UT0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],VT0=[0,[15,0],t(si)],$T0=t(\"Flow_ast.Class.Method.Constructor\"),KT0=t(\"Flow_ast.Class.Method.Method\"),zT0=t(\"Flow_ast.Class.Method.Get\"),WT0=t(\"Flow_ast.Class.Method.Set\"),qT0=[0,[15,0],t(si)],JT0=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],HT0=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],GT0=[0,[17,0,[12,41,0]],t(Rt)],XT0=[0,[15,0],t(si)],YT0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],QT0=t(\"Flow_ast.Comment.kind\"),ZT0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],x50=[0,[17,0,0],t(jt)],e50=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],t50=t(\"text\"),r50=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],n50=[0,[3,0,0],t(H5)],i50=[0,[17,0,0],t(jt)],a50=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],o50=t(\"on_newline\"),s50=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],u50=[0,[9,0,0],t(U6)],c50=[0,[17,0,0],t(jt)],l50=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],f50=[0,[15,0],t(si)],p50=t(\"Flow_ast.Comment.Line\"),d50=t(\"Flow_ast.Comment.Block\"),m50=[0,[15,0],t(si)],h50=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],g50=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],_50=[0,[17,0,[12,41,0]],t(Rt)],y50=[0,[15,0],t(si)],D50=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Pattern.Object\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Pattern.Object@ \")],v50=[0,[17,0,[12,41,0]],t(Rt)],b50=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Pattern.Array\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Pattern.Array@ \")],C50=[0,[17,0,[12,41,0]],t(Rt)],E50=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Pattern.Identifier\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Pattern.Identifier@ \")],S50=[0,[17,0,[12,41,0]],t(Rt)],F50=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Pattern.Expression\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Pattern.Expression@ \")],A50=[0,[17,0,[12,41,0]],t(Rt)],T50=[0,[15,0],t(si)],w50=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],k50=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],N50=[0,[17,0,[12,41,0]],t(Rt)],P50=[0,[15,0],t(si)],I50=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],O50=t(\"Flow_ast.Pattern.Identifier.name\"),B50=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],L50=[0,[17,0,0],t(jt)],M50=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],R50=t(u0),j50=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],U50=[0,[17,0,0],t(jt)],V50=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],$50=t(T5),K50=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],z50=[0,[9,0,0],t(U6)],W50=[0,[17,0,0],t(jt)],q50=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],J50=[0,[15,0],t(si)],H50=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],G50=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[12,91,0]],t($g)],X50=[0,[17,[0,t(hd),0,0],[12,93,[17,0,0]]],t(fd)],Y50=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Q50=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],Z50=t(\"Flow_ast.Pattern.Array.elements\"),xw0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],ew0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[12,91,0]],t($g)],tw0=[0,[17,[0,t(hd),0,0],[12,93,[17,0,0]]],t(fd)],rw0=[0,[17,0,0],t(jt)],nw0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],iw0=t(u0),aw0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],ow0=[0,[17,0,0],t(jt)],sw0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],uw0=t(m0),cw0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],lw0=t(Ja),fw0=t(L0),pw0=t(ua),dw0=[0,[17,0,0],t(jt)],mw0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],hw0=[0,[15,0],t(si)],gw0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Pattern.Array.Element\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Pattern.Array.Element@ \")],_w0=[0,[17,0,[12,41,0]],t(Rt)],yw0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Pattern.Array.RestElement\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Pattern.Array.RestElement@ \")],Dw0=[0,[17,0,[12,41,0]],t(Rt)],vw0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Pattern.Array.Hole\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Pattern.Array.Hole@ \")],bw0=[0,[17,0,[12,41,0]],t(Rt)],Cw0=[0,[15,0],t(si)],Ew0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],Sw0=t(\"Flow_ast.Pattern.Array.Element.argument\"),Fw0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Aw0=[0,[17,0,0],t(jt)],Tw0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],ww0=t(K9),kw0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Nw0=t(Ja),Pw0=t(L0),Iw0=t(ua),Ow0=[0,[17,0,0],t(jt)],Bw0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],Lw0=[0,[15,0],t(si)],Mw0=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],Rw0=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],jw0=[0,[17,0,[12,41,0]],t(Rt)],Uw0=[0,[15,0],t(si)],Vw0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],$w0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[12,91,0]],t($g)],Kw0=[0,[17,[0,t(hd),0,0],[12,93,[17,0,0]]],t(fd)],zw0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Ww0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],qw0=t(\"Flow_ast.Pattern.Object.properties\"),Jw0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Hw0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[12,91,0]],t($g)],Gw0=[0,[17,[0,t(hd),0,0],[12,93,[17,0,0]]],t(fd)],Xw0=[0,[17,0,0],t(jt)],Yw0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Qw0=t(u0),Zw0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],xk0=[0,[17,0,0],t(jt)],ek0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],tk0=t(m0),rk0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],nk0=t(Ja),ik0=t(L0),ak0=t(ua),ok0=[0,[17,0,0],t(jt)],sk0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],uk0=[0,[15,0],t(si)],ck0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Pattern.Object.Property\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Pattern.Object.Property@ \")],lk0=[0,[17,0,[12,41,0]],t(Rt)],fk0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Pattern.Object.RestElement\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Pattern.Object.RestElement@ \")],pk0=[0,[17,0,[12,41,0]],t(Rt)],dk0=[0,[15,0],t(si)],mk0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],hk0=t(\"Flow_ast.Pattern.Object.Property.key\"),gk0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],_k0=[0,[17,0,0],t(jt)],yk0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Dk0=t(Aw),vk0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],bk0=[0,[17,0,0],t(jt)],Ck0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Ek0=t(K9),Sk0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Fk0=t(Ja),Ak0=t(L0),Tk0=t(ua),wk0=[0,[17,0,0],t(jt)],kk0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Nk0=t(PV),Pk0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Ik0=[0,[9,0,0],t(U6)],Ok0=[0,[17,0,0],t(jt)],Bk0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],Lk0=[0,[15,0],t(si)],Mk0=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],Rk0=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],jk0=[0,[17,0,[12,41,0]],t(Rt)],Uk0=[0,[15,0],t(si)],Vk0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Pattern.Object.Property.Literal\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Pattern.Object.Property.Literal@ \")],$k0=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],Kk0=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],zk0=[0,[17,0,[12,41,0]],t(Rt)],Wk0=[0,[17,0,[12,41,0]],t(Rt)],qk0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Pattern.Object.Property.Identifier\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Pattern.Object.Property.Identifier@ \")],Jk0=[0,[17,0,[12,41,0]],t(Rt)],Hk0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Pattern.Object.Property.Computed\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Pattern.Object.Property.Computed@ \")],Gk0=[0,[17,0,[12,41,0]],t(Rt)],Xk0=[0,[15,0],t(si)],Yk0=t(zu),Qk0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],Zk0=t(\"Flow_ast.Pattern.RestElement.argument\"),x90=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],e90=[0,[17,0,0],t(jt)],t90=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],r90=t(m0),n90=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],i90=t(Ja),a90=t(L0),o90=t(ua),s90=[0,[17,0,0],t(jt)],u90=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],c90=[0,[15,0],t(si)],l90=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],f90=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],p90=[0,[17,0,[12,41,0]],t(Rt)],d90=[0,[15,0],t(si)],m90=t(zu),h90=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],g90=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],_90=t(\"Flow_ast.JSX.frag_opening_element\"),y90=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],D90=[0,[17,0,0],t(jt)],v90=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],b90=t(\"frag_closing_element\"),C90=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],E90=[0,[17,0,0],t(jt)],S90=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],F90=t(\"frag_children\"),A90=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],T90=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],w90=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],k90=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[12,91,0]],t($g)],N90=[0,[17,[0,t(hd),0,0],[12,93,[17,0,0]]],t(fd)],P90=[0,[17,0,[12,41,0]],t(Rt)],I90=[0,[17,0,0],t(jt)],O90=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],B90=t(\"frag_comments\"),L90=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],M90=t(Ja),R90=t(L0),j90=t(ua),U90=[0,[17,0,0],t(jt)],V90=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],$90=[0,[15,0],t(si)],K90=t(zu),z90=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],W90=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],q90=t(\"Flow_ast.JSX.opening_element\"),J90=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],H90=[0,[17,0,0],t(jt)],G90=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],X90=t(\"closing_element\"),Y90=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Q90=t(Ja),Z90=t(L0),xN0=t(ua),eN0=[0,[17,0,0],t(jt)],tN0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],rN0=t(bi),nN0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],iN0=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],aN0=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],oN0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[12,91,0]],t($g)],sN0=[0,[17,[0,t(hd),0,0],[12,93,[17,0,0]]],t(fd)],uN0=[0,[17,0,[12,41,0]],t(Rt)],cN0=[0,[17,0,0],t(jt)],lN0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],fN0=t(m0),pN0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],dN0=t(Ja),mN0=t(L0),hN0=t(ua),gN0=[0,[17,0,0],t(jt)],_N0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],yN0=[0,[15,0],t(si)],DN0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.JSX.Element\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.JSX.Element@ \")],vN0=[0,[17,0,[12,41,0]],t(Rt)],bN0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.JSX.Fragment\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.JSX.Fragment@ \")],CN0=[0,[17,0,[12,41,0]],t(Rt)],EN0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.JSX.ExpressionContainer\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.JSX.ExpressionContainer@ \")],SN0=[0,[17,0,[12,41,0]],t(Rt)],FN0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.JSX.SpreadChild\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.JSX.SpreadChild@ \")],AN0=[0,[17,0,[12,41,0]],t(Rt)],TN0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.JSX.Text\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.JSX.Text@ \")],wN0=[0,[17,0,[12,41,0]],t(Rt)],kN0=[0,[15,0],t(si)],NN0=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],PN0=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],IN0=[0,[17,0,[12,41,0]],t(Rt)],ON0=[0,[15,0],t(si)],BN0=t(zu),LN0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],MN0=t(\"Flow_ast.JSX.SpreadChild.expression\"),RN0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],jN0=[0,[17,0,0],t(jt)],UN0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],VN0=t(m0),$N0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],KN0=t(Ja),zN0=t(L0),WN0=t(ua),qN0=[0,[17,0,0],t(jt)],JN0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],HN0=[0,[15,0],t(si)],GN0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],XN0=t(\"Flow_ast.JSX.Closing.name\"),YN0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],QN0=[0,[17,0,0],t(jt)],ZN0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],xP0=[0,[15,0],t(si)],eP0=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],tP0=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],rP0=[0,[17,0,[12,41,0]],t(Rt)],nP0=[0,[15,0],t(si)],iP0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],aP0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],oP0=t(\"Flow_ast.JSX.Opening.name\"),sP0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],uP0=[0,[17,0,0],t(jt)],cP0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],lP0=t(\"self_closing\"),fP0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],pP0=[0,[9,0,0],t(U6)],dP0=[0,[17,0,0],t(jt)],mP0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],hP0=t(eK),gP0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],_P0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[12,91,0]],t($g)],yP0=[0,[17,[0,t(hd),0,0],[12,93,[17,0,0]]],t(fd)],DP0=[0,[17,0,0],t(jt)],vP0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],bP0=[0,[15,0],t(si)],CP0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.JSX.Opening.Attribute\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.JSX.Opening.Attribute@ \")],EP0=[0,[17,0,[12,41,0]],t(Rt)],SP0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.JSX.Opening.SpreadAttribute\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.JSX.Opening.SpreadAttribute@ \")],FP0=[0,[17,0,[12,41,0]],t(Rt)],AP0=[0,[15,0],t(si)],TP0=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],wP0=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],kP0=[0,[17,0,[12,41,0]],t(Rt)],NP0=[0,[15,0],t(si)],PP0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.JSX.Identifier\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.JSX.Identifier@ \")],IP0=[0,[17,0,[12,41,0]],t(Rt)],OP0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.JSX.NamespacedName\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.JSX.NamespacedName@ \")],BP0=[0,[17,0,[12,41,0]],t(Rt)],LP0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.JSX.MemberExpression\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.JSX.MemberExpression@ \")],MP0=[0,[17,0,[12,41,0]],t(Rt)],RP0=[0,[15,0],t(si)],jP0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],UP0=t(\"Flow_ast.JSX.MemberExpression._object\"),VP0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],$P0=[0,[17,0,0],t(jt)],KP0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],zP0=t(dI),WP0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],qP0=[0,[17,0,0],t(jt)],JP0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],HP0=[0,[15,0],t(si)],GP0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.JSX.MemberExpression.Identifier\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.JSX.MemberExpression.Identifier@ \")],XP0=[0,[17,0,[12,41,0]],t(Rt)],YP0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.JSX.MemberExpression.MemberExpression\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.JSX.MemberExpression.MemberExpression@ \")],QP0=[0,[17,0,[12,41,0]],t(Rt)],ZP0=[0,[15,0],t(si)],xI0=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],eI0=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],tI0=[0,[17,0,[12,41,0]],t(Rt)],rI0=[0,[15,0],t(si)],nI0=t(zu),iI0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],aI0=t(\"Flow_ast.JSX.SpreadAttribute.argument\"),oI0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],sI0=[0,[17,0,0],t(jt)],uI0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],cI0=t(m0),lI0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],fI0=t(Ja),pI0=t(L0),dI0=t(ua),mI0=[0,[17,0,0],t(jt)],hI0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],gI0=[0,[15,0],t(si)],_I0=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],yI0=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],DI0=[0,[17,0,[12,41,0]],t(Rt)],vI0=[0,[15,0],t(si)],bI0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],CI0=t(\"Flow_ast.JSX.Attribute.name\"),EI0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],SI0=[0,[17,0,0],t(jt)],FI0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],AI0=t(yg),TI0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],wI0=t(Ja),kI0=t(L0),NI0=t(ua),PI0=[0,[17,0,0],t(jt)],II0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],OI0=[0,[15,0],t(si)],BI0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.JSX.Attribute.Literal (\"),[17,[0,t(hd),0,0],0]]]],t(\"(@[<2>Flow_ast.JSX.Attribute.Literal (@,\")],LI0=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],MI0=[0,[17,[0,t(hd),0,0],[11,t(\"))\"),[17,0,0]]],t(WA)],RI0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.JSX.Attribute.ExpressionContainer (\"),[17,[0,t(hd),0,0],0]]]],t(\"(@[<2>Flow_ast.JSX.Attribute.ExpressionContainer (@,\")],jI0=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],UI0=[0,[17,[0,t(hd),0,0],[11,t(\"))\"),[17,0,0]]],t(WA)],VI0=[0,[15,0],t(si)],$I0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.JSX.Attribute.Identifier\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.JSX.Attribute.Identifier@ \")],KI0=[0,[17,0,[12,41,0]],t(Rt)],zI0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.JSX.Attribute.NamespacedName\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.JSX.Attribute.NamespacedName@ \")],WI0=[0,[17,0,[12,41,0]],t(Rt)],qI0=[0,[15,0],t(si)],JI0=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],HI0=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],GI0=[0,[17,0,[12,41,0]],t(Rt)],XI0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],YI0=t(\"Flow_ast.JSX.Text.value\"),QI0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],ZI0=[0,[3,0,0],t(H5)],xO0=[0,[17,0,0],t(jt)],eO0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],tO0=t(Ft),rO0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],nO0=[0,[3,0,0],t(H5)],iO0=[0,[17,0,0],t(jt)],aO0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],oO0=[0,[15,0],t(si)],sO0=[0,[15,0],t(si)],uO0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.JSX.ExpressionContainer.Expression\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.JSX.ExpressionContainer.Expression@ \")],cO0=[0,[17,0,[12,41,0]],t(Rt)],lO0=t(\"Flow_ast.JSX.ExpressionContainer.EmptyExpression\"),fO0=[0,[15,0],t(si)],pO0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],dO0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[12,91,0]],t($g)],mO0=[0,[17,[0,t(hd),0,0],[12,93,[17,0,0]]],t(fd)],hO0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],gO0=t(\"Flow_ast.JSX.ExpressionContainer.expression\"),_O0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],yO0=[0,[17,0,0],t(jt)],DO0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],vO0=t(m0),bO0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],CO0=t(Ja),EO0=t(L0),SO0=t(ua),FO0=[0,[17,0,0],t(jt)],AO0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],TO0=[0,[15,0],t(si)],wO0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],kO0=t(\"Flow_ast.JSX.NamespacedName.namespace\"),NO0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],PO0=[0,[17,0,0],t(jt)],IO0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],OO0=t(J5),BO0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],LO0=[0,[17,0,0],t(jt)],MO0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],RO0=[0,[15,0],t(si)],jO0=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],UO0=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],VO0=[0,[17,0,[12,41,0]],t(Rt)],$O0=[0,[15,0],t(si)],KO0=t(zu),zO0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],WO0=t(\"Flow_ast.JSX.Identifier.name\"),qO0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],JO0=[0,[3,0,0],t(H5)],HO0=[0,[17,0,0],t(jt)],GO0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],XO0=t(m0),YO0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],QO0=t(Ja),ZO0=t(L0),xB0=t(ua),eB0=[0,[17,0,0],t(jt)],tB0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],rB0=[0,[15,0],t(si)],nB0=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],iB0=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],aB0=[0,[17,0,[12,41,0]],t(Rt)],oB0=[0,[15,0],t(si)],sB0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Expression.Array\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Expression.Array@ \")],uB0=[0,[17,0,[12,41,0]],t(Rt)],cB0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Expression.ArrowFunction\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Expression.ArrowFunction@ \")],lB0=[0,[17,0,[12,41,0]],t(Rt)],fB0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Expression.Assignment\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Expression.Assignment@ \")],pB0=[0,[17,0,[12,41,0]],t(Rt)],dB0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Expression.Binary\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Expression.Binary@ \")],mB0=[0,[17,0,[12,41,0]],t(Rt)],hB0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Expression.Call\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Expression.Call@ \")],gB0=[0,[17,0,[12,41,0]],t(Rt)],_B0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Expression.Class\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Expression.Class@ \")],yB0=[0,[17,0,[12,41,0]],t(Rt)],DB0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Expression.Comprehension\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Expression.Comprehension@ \")],vB0=[0,[17,0,[12,41,0]],t(Rt)],bB0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Expression.Conditional\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Expression.Conditional@ \")],CB0=[0,[17,0,[12,41,0]],t(Rt)],EB0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Expression.Function\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Expression.Function@ \")],SB0=[0,[17,0,[12,41,0]],t(Rt)],FB0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Expression.Generator\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Expression.Generator@ \")],AB0=[0,[17,0,[12,41,0]],t(Rt)],TB0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Expression.Identifier\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Expression.Identifier@ \")],wB0=[0,[17,0,[12,41,0]],t(Rt)],kB0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Expression.Import\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Expression.Import@ \")],NB0=[0,[17,0,[12,41,0]],t(Rt)],PB0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Expression.JSXElement\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Expression.JSXElement@ \")],IB0=[0,[17,0,[12,41,0]],t(Rt)],OB0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Expression.JSXFragment\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Expression.JSXFragment@ \")],BB0=[0,[17,0,[12,41,0]],t(Rt)],LB0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Expression.Literal\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Expression.Literal@ \")],MB0=[0,[17,0,[12,41,0]],t(Rt)],RB0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Expression.Logical\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Expression.Logical@ \")],jB0=[0,[17,0,[12,41,0]],t(Rt)],UB0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Expression.Member\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Expression.Member@ \")],VB0=[0,[17,0,[12,41,0]],t(Rt)],$B0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Expression.MetaProperty\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Expression.MetaProperty@ \")],KB0=[0,[17,0,[12,41,0]],t(Rt)],zB0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Expression.New\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Expression.New@ \")],WB0=[0,[17,0,[12,41,0]],t(Rt)],qB0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Expression.Object\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Expression.Object@ \")],JB0=[0,[17,0,[12,41,0]],t(Rt)],HB0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Expression.OptionalCall\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Expression.OptionalCall@ \")],GB0=[0,[17,0,[12,41,0]],t(Rt)],XB0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Expression.OptionalMember\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Expression.OptionalMember@ \")],YB0=[0,[17,0,[12,41,0]],t(Rt)],QB0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Expression.Sequence\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Expression.Sequence@ \")],ZB0=[0,[17,0,[12,41,0]],t(Rt)],xL0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Expression.Super\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Expression.Super@ \")],eL0=[0,[17,0,[12,41,0]],t(Rt)],tL0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Expression.TaggedTemplate\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Expression.TaggedTemplate@ \")],rL0=[0,[17,0,[12,41,0]],t(Rt)],nL0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Expression.TemplateLiteral\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Expression.TemplateLiteral@ \")],iL0=[0,[17,0,[12,41,0]],t(Rt)],aL0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Expression.This\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Expression.This@ \")],oL0=[0,[17,0,[12,41,0]],t(Rt)],sL0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Expression.TypeCast\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Expression.TypeCast@ \")],uL0=[0,[17,0,[12,41,0]],t(Rt)],cL0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Expression.Unary\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Expression.Unary@ \")],lL0=[0,[17,0,[12,41,0]],t(Rt)],fL0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Expression.Update\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Expression.Update@ \")],pL0=[0,[17,0,[12,41,0]],t(Rt)],dL0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Expression.Yield\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Expression.Yield@ \")],mL0=[0,[17,0,[12,41,0]],t(Rt)],hL0=[0,[15,0],t(si)],gL0=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],_L0=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],yL0=[0,[17,0,[12,41,0]],t(Rt)],DL0=[0,[15,0],t(si)],vL0=t(zu),bL0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],CL0=t(\"Flow_ast.Expression.Import.argument\"),EL0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],SL0=[0,[17,0,0],t(jt)],FL0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],AL0=t(m0),TL0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],wL0=t(Ja),kL0=t(L0),NL0=t(ua),PL0=[0,[17,0,0],t(jt)],IL0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],OL0=[0,[15,0],t(si)],BL0=t(zu),LL0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],ML0=t(\"Flow_ast.Expression.Super.comments\"),RL0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],jL0=t(Ja),UL0=t(L0),VL0=t(ua),$L0=[0,[17,0,0],t(jt)],KL0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],zL0=[0,[15,0],t(si)],WL0=t(zu),qL0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],JL0=t(\"Flow_ast.Expression.This.comments\"),HL0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],GL0=t(Ja),XL0=t(L0),YL0=t(ua),QL0=[0,[17,0,0],t(jt)],ZL0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],xM0=[0,[15,0],t(si)],eM0=t(zu),tM0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],rM0=t(\"Flow_ast.Expression.MetaProperty.meta\"),nM0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],iM0=[0,[17,0,0],t(jt)],aM0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],oM0=t(dI),sM0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],uM0=[0,[17,0,0],t(jt)],cM0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],lM0=t(m0),fM0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],pM0=t(Ja),dM0=t(L0),mM0=t(ua),hM0=[0,[17,0,0],t(jt)],gM0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],_M0=[0,[15,0],t(si)],yM0=t(zu),DM0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],vM0=t(\"Flow_ast.Expression.TypeCast.expression\"),bM0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],CM0=[0,[17,0,0],t(jt)],EM0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],SM0=t(u0),FM0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],AM0=[0,[17,0,0],t(jt)],TM0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],wM0=t(m0),kM0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],NM0=t(Ja),PM0=t(L0),IM0=t(ua),OM0=[0,[17,0,0],t(jt)],BM0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],LM0=[0,[15,0],t(si)],MM0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],RM0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],jM0=t(\"Flow_ast.Expression.Generator.blocks\"),UM0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],VM0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[12,91,0]],t($g)],$M0=[0,[17,[0,t(hd),0,0],[12,93,[17,0,0]]],t(fd)],KM0=[0,[17,0,0],t(jt)],zM0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],WM0=t(hn),qM0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],JM0=t(Ja),HM0=t(L0),GM0=t(ua),XM0=[0,[17,0,0],t(jt)],YM0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],QM0=[0,[15,0],t(si)],ZM0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],xR0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],eR0=t(\"Flow_ast.Expression.Comprehension.blocks\"),tR0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],rR0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[12,91,0]],t($g)],nR0=[0,[17,[0,t(hd),0,0],[12,93,[17,0,0]]],t(fd)],iR0=[0,[17,0,0],t(jt)],aR0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],oR0=t(hn),sR0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],uR0=t(Ja),cR0=t(L0),lR0=t(ua),fR0=[0,[17,0,0],t(jt)],pR0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],dR0=[0,[15,0],t(si)],mR0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],hR0=t(\"Flow_ast.Expression.Comprehension.Block.left\"),gR0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],_R0=[0,[17,0,0],t(jt)],yR0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],DR0=t(Ew),vR0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],bR0=[0,[17,0,0],t(jt)],CR0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],ER0=t(e9),SR0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],FR0=[0,[9,0,0],t(U6)],AR0=[0,[17,0,0],t(jt)],TR0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],wR0=[0,[15,0],t(si)],kR0=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],NR0=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],PR0=[0,[17,0,[12,41,0]],t(Rt)],IR0=[0,[15,0],t(si)],OR0=t(zu),BR0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],LR0=t(\"Flow_ast.Expression.Yield.argument\"),MR0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],RR0=t(Ja),jR0=t(L0),UR0=t(ua),VR0=[0,[17,0,0],t(jt)],$R0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],KR0=t(m0),zR0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],WR0=t(Ja),qR0=t(L0),JR0=t(ua),HR0=[0,[17,0,0],t(jt)],GR0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],XR0=t(aA),YR0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],QR0=[0,[9,0,0],t(U6)],ZR0=[0,[17,0,0],t(jt)],xj0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],ej0=[0,[15,0],t(si)],tj0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],rj0=t(\"Flow_ast.Expression.OptionalMember.member\"),nj0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],ij0=[0,[17,0,0],t(jt)],aj0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],oj0=t(T5),sj0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],uj0=[0,[9,0,0],t(U6)],cj0=[0,[17,0,0],t(jt)],lj0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],fj0=[0,[15,0],t(si)],pj0=t(zu),dj0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],mj0=t(\"Flow_ast.Expression.Member._object\"),hj0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],gj0=[0,[17,0,0],t(jt)],_j0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],yj0=t(dI),Dj0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],vj0=[0,[17,0,0],t(jt)],bj0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Cj0=t(m0),Ej0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Sj0=t(Ja),Fj0=t(L0),Aj0=t(ua),Tj0=[0,[17,0,0],t(jt)],wj0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],kj0=[0,[15,0],t(si)],Nj0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Expression.Member.PropertyIdentifier\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Expression.Member.PropertyIdentifier@ \")],Pj0=[0,[17,0,[12,41,0]],t(Rt)],Ij0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Expression.Member.PropertyPrivateName\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Expression.Member.PropertyPrivateName@ \")],Oj0=[0,[17,0,[12,41,0]],t(Rt)],Bj0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Expression.Member.PropertyExpression\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Expression.Member.PropertyExpression@ \")],Lj0=[0,[17,0,[12,41,0]],t(Rt)],Mj0=[0,[15,0],t(si)],Rj0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],jj0=t(\"Flow_ast.Expression.OptionalCall.call\"),Uj0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Vj0=[0,[17,0,0],t(jt)],$j0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Kj0=t(T5),zj0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Wj0=[0,[9,0,0],t(U6)],qj0=[0,[17,0,0],t(jt)],Jj0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],Hj0=[0,[15,0],t(si)],Gj0=t(zu),Xj0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],Yj0=t(\"Flow_ast.Expression.Call.callee\"),Qj0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Zj0=[0,[17,0,0],t(jt)],xU0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],eU0=t(sI),tU0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],rU0=t(Ja),nU0=t(L0),iU0=t(ua),aU0=[0,[17,0,0],t(jt)],oU0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],sU0=t(J),uU0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],cU0=[0,[17,0,0],t(jt)],lU0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],fU0=t(m0),pU0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],dU0=t(Ja),mU0=t(L0),hU0=t(ua),gU0=[0,[17,0,0],t(jt)],_U0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],yU0=[0,[15,0],t(si)],DU0=t(zu),vU0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],bU0=t(\"Flow_ast.Expression.New.callee\"),CU0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],EU0=[0,[17,0,0],t(jt)],SU0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],FU0=t(sI),AU0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],TU0=t(Ja),wU0=t(L0),kU0=t(ua),NU0=[0,[17,0,0],t(jt)],PU0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],IU0=t(J),OU0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],BU0=t(Ja),LU0=t(L0),MU0=t(ua),RU0=[0,[17,0,0],t(jt)],jU0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],UU0=t(m0),VU0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],$U0=t(Ja),KU0=t(L0),zU0=t(ua),WU0=[0,[17,0,0],t(jt)],qU0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],JU0=[0,[15,0],t(si)],HU0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],GU0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[12,91,0]],t($g)],XU0=[0,[17,[0,t(hd),0,0],[12,93,[17,0,0]]],t(fd)],YU0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],QU0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],ZU0=t(\"Flow_ast.Expression.ArgList.arguments\"),xV0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],eV0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[12,91,0]],t($g)],tV0=[0,[17,[0,t(hd),0,0],[12,93,[17,0,0]]],t(fd)],rV0=[0,[17,0,0],t(jt)],nV0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],iV0=t(m0),aV0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],oV0=t(Ja),sV0=t(L0),uV0=t(ua),cV0=[0,[17,0,0],t(jt)],lV0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],fV0=[0,[15,0],t(si)],pV0=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],dV0=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],mV0=[0,[17,0,[12,41,0]],t(Rt)],hV0=[0,[15,0],t(si)],gV0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Expression.Expression\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Expression.Expression@ \")],_V0=[0,[17,0,[12,41,0]],t(Rt)],yV0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Expression.Spread\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Expression.Spread@ \")],DV0=[0,[17,0,[12,41,0]],t(Rt)],vV0=[0,[15,0],t(si)],bV0=t(zu),CV0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],EV0=t(\"Flow_ast.Expression.Conditional.test\"),SV0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],FV0=[0,[17,0,0],t(jt)],AV0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],TV0=t($I),wV0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],kV0=[0,[17,0,0],t(jt)],NV0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],PV0=t(U9),IV0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],OV0=[0,[17,0,0],t(jt)],BV0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],LV0=t(m0),MV0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],RV0=t(Ja),jV0=t(L0),UV0=t(ua),VV0=[0,[17,0,0],t(jt)],$V0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],KV0=[0,[15,0],t(si)],zV0=t(zu),WV0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],qV0=t(\"Flow_ast.Expression.Logical.operator\"),JV0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],HV0=[0,[17,0,0],t(jt)],GV0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],XV0=t(Vc),YV0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],QV0=[0,[17,0,0],t(jt)],ZV0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],x$0=t(Ew),e$0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],t$0=[0,[17,0,0],t(jt)],r$0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],n$0=t(m0),i$0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],a$0=t(Ja),o$0=t(L0),s$0=t(ua),u$0=[0,[17,0,0],t(jt)],c$0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],l$0=[0,[15,0],t(si)],f$0=t(\"Flow_ast.Expression.Logical.Or\"),p$0=t(\"Flow_ast.Expression.Logical.And\"),d$0=t(\"Flow_ast.Expression.Logical.NullishCoalesce\"),m$0=[0,[15,0],t(si)],h$0=t(zu),g$0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],_$0=t(\"Flow_ast.Expression.Update.operator\"),y$0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],D$0=[0,[17,0,0],t(jt)],v$0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],b$0=t(cw),C$0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],E$0=[0,[17,0,0],t(jt)],S$0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],F$0=t(xU),A$0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],T$0=[0,[9,0,0],t(U6)],w$0=[0,[17,0,0],t(jt)],k$0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],N$0=t(m0),P$0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],I$0=t(Ja),O$0=t(L0),B$0=t(ua),L$0=[0,[17,0,0],t(jt)],M$0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],R$0=[0,[15,0],t(si)],j$0=t(\"Flow_ast.Expression.Update.Decrement\"),U$0=t(\"Flow_ast.Expression.Update.Increment\"),V$0=[0,[15,0],t(si)],$$0=t(zu),K$0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],z$0=t(\"Flow_ast.Expression.Assignment.operator\"),W$0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],q$0=t(Ja),J$0=t(L0),H$0=t(ua),G$0=[0,[17,0,0],t(jt)],X$0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Y$0=t(Vc),Q$0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Z$0=[0,[17,0,0],t(jt)],xK0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],eK0=t(Ew),tK0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],rK0=[0,[17,0,0],t(jt)],nK0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],iK0=t(m0),aK0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],oK0=t(Ja),sK0=t(L0),uK0=t(ua),cK0=[0,[17,0,0],t(jt)],lK0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],fK0=[0,[15,0],t(si)],pK0=t(\"Flow_ast.Expression.Assignment.PlusAssign\"),dK0=t(\"Flow_ast.Expression.Assignment.MinusAssign\"),mK0=t(\"Flow_ast.Expression.Assignment.MultAssign\"),hK0=t(\"Flow_ast.Expression.Assignment.ExpAssign\"),gK0=t(\"Flow_ast.Expression.Assignment.DivAssign\"),_K0=t(\"Flow_ast.Expression.Assignment.ModAssign\"),yK0=t(\"Flow_ast.Expression.Assignment.LShiftAssign\"),DK0=t(\"Flow_ast.Expression.Assignment.RShiftAssign\"),vK0=t(\"Flow_ast.Expression.Assignment.RShift3Assign\"),bK0=t(\"Flow_ast.Expression.Assignment.BitOrAssign\"),CK0=t(\"Flow_ast.Expression.Assignment.BitXorAssign\"),EK0=t(\"Flow_ast.Expression.Assignment.BitAndAssign\"),SK0=[0,[15,0],t(si)],FK0=t(zu),AK0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],TK0=t(\"Flow_ast.Expression.Binary.operator\"),wK0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],kK0=[0,[17,0,0],t(jt)],NK0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],PK0=t(Vc),IK0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],OK0=[0,[17,0,0],t(jt)],BK0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],LK0=t(Ew),MK0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],RK0=[0,[17,0,0],t(jt)],jK0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],UK0=t(m0),VK0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],$K0=t(Ja),KK0=t(L0),zK0=t(ua),WK0=[0,[17,0,0],t(jt)],qK0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],JK0=[0,[15,0],t(si)],HK0=t(\"Flow_ast.Expression.Binary.Equal\"),GK0=t(\"Flow_ast.Expression.Binary.NotEqual\"),XK0=t(\"Flow_ast.Expression.Binary.StrictEqual\"),YK0=t(\"Flow_ast.Expression.Binary.StrictNotEqual\"),QK0=t(\"Flow_ast.Expression.Binary.LessThan\"),ZK0=t(\"Flow_ast.Expression.Binary.LessThanEqual\"),xz0=t(\"Flow_ast.Expression.Binary.GreaterThan\"),ez0=t(\"Flow_ast.Expression.Binary.GreaterThanEqual\"),tz0=t(\"Flow_ast.Expression.Binary.LShift\"),rz0=t(\"Flow_ast.Expression.Binary.RShift\"),nz0=t(\"Flow_ast.Expression.Binary.RShift3\"),iz0=t(\"Flow_ast.Expression.Binary.Plus\"),az0=t(\"Flow_ast.Expression.Binary.Minus\"),oz0=t(\"Flow_ast.Expression.Binary.Mult\"),sz0=t(\"Flow_ast.Expression.Binary.Exp\"),uz0=t(\"Flow_ast.Expression.Binary.Div\"),cz0=t(\"Flow_ast.Expression.Binary.Mod\"),lz0=t(\"Flow_ast.Expression.Binary.BitOr\"),fz0=t(\"Flow_ast.Expression.Binary.Xor\"),pz0=t(\"Flow_ast.Expression.Binary.BitAnd\"),dz0=t(\"Flow_ast.Expression.Binary.In\"),mz0=t(\"Flow_ast.Expression.Binary.Instanceof\"),hz0=[0,[15,0],t(si)],gz0=t(zu),_z0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],yz0=t(\"Flow_ast.Expression.Unary.operator\"),Dz0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],vz0=[0,[17,0,0],t(jt)],bz0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Cz0=t(cw),Ez0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Sz0=[0,[17,0,0],t(jt)],Fz0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Az0=t(m0),Tz0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],wz0=t(Ja),kz0=t(L0),Nz0=t(ua),Pz0=[0,[17,0,0],t(jt)],Iz0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],Oz0=[0,[15,0],t(si)],Bz0=t(\"Flow_ast.Expression.Unary.Minus\"),Lz0=t(\"Flow_ast.Expression.Unary.Plus\"),Mz0=t(\"Flow_ast.Expression.Unary.Not\"),Rz0=t(\"Flow_ast.Expression.Unary.BitNot\"),jz0=t(\"Flow_ast.Expression.Unary.Typeof\"),Uz0=t(\"Flow_ast.Expression.Unary.Void\"),Vz0=t(\"Flow_ast.Expression.Unary.Delete\"),$z0=t(\"Flow_ast.Expression.Unary.Await\"),Kz0=[0,[15,0],t(si)],zz0=t(zu),Wz0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],qz0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],Jz0=t(\"Flow_ast.Expression.Sequence.expressions\"),Hz0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Gz0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[12,91,0]],t($g)],Xz0=[0,[17,[0,t(hd),0,0],[12,93,[17,0,0]]],t(fd)],Yz0=[0,[17,0,0],t(jt)],Qz0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Zz0=t(m0),xW0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],eW0=t(Ja),tW0=t(L0),rW0=t(ua),nW0=[0,[17,0,0],t(jt)],iW0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],aW0=[0,[15,0],t(si)],oW0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],sW0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[12,91,0]],t($g)],uW0=[0,[17,[0,t(hd),0,0],[12,93,[17,0,0]]],t(fd)],cW0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],lW0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],fW0=t(\"Flow_ast.Expression.Object.properties\"),pW0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],dW0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[12,91,0]],t($g)],mW0=[0,[17,[0,t(hd),0,0],[12,93,[17,0,0]]],t(fd)],hW0=[0,[17,0,0],t(jt)],gW0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],_W0=t(m0),yW0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],DW0=t(Ja),vW0=t(L0),bW0=t(ua),CW0=[0,[17,0,0],t(jt)],EW0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],SW0=[0,[15,0],t(si)],FW0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Expression.Object.Property\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Expression.Object.Property@ \")],AW0=[0,[17,0,[12,41,0]],t(Rt)],TW0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Expression.Object.SpreadProperty\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Expression.Object.SpreadProperty@ \")],wW0=[0,[17,0,[12,41,0]],t(Rt)],kW0=[0,[15,0],t(si)],NW0=t(zu),PW0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],IW0=t(\"Flow_ast.Expression.Object.SpreadProperty.argument\"),OW0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],BW0=[0,[17,0,0],t(jt)],LW0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],MW0=t(m0),RW0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],jW0=t(Ja),UW0=t(L0),VW0=t(ua),$W0=[0,[17,0,0],t(jt)],KW0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],zW0=[0,[15,0],t(si)],WW0=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],qW0=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],JW0=[0,[17,0,[12,41,0]],t(Rt)],HW0=[0,[15,0],t(si)],GW0=t(zu),XW0=t(zu),YW0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Expression.Object.Property.Init {\"),[17,[0,t(hd),0,0],0]]],t(\"@[<2>Flow_ast.Expression.Object.Property.Init {@,\")],QW0=t(XN),ZW0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],xq0=[0,[17,0,0],t(jt)],eq0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],tq0=t(yg),rq0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],nq0=[0,[17,0,0],t(jt)],iq0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],aq0=t(PV),oq0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],sq0=[0,[9,0,0],t(U6)],uq0=[0,[17,0,0],t(jt)],cq0=[0,[17,0,[12,Ho,0]],t(YR)],lq0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Expression.Object.Property.Method {\"),[17,[0,t(hd),0,0],0]]],t(\"@[<2>Flow_ast.Expression.Object.Property.Method {@,\")],fq0=t(XN),pq0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],dq0=[0,[17,0,0],t(jt)],mq0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],hq0=t(yg),gq0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],_q0=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],yq0=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],Dq0=[0,[17,0,[12,41,0]],t(Rt)],vq0=[0,[17,0,0],t(jt)],bq0=[0,[17,0,[12,Ho,0]],t(YR)],Cq0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Expression.Object.Property.Get {\"),[17,[0,t(hd),0,0],0]]],t(\"@[<2>Flow_ast.Expression.Object.Property.Get {@,\")],Eq0=t(XN),Sq0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Fq0=[0,[17,0,0],t(jt)],Aq0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Tq0=t(yg),wq0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],kq0=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],Nq0=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],Pq0=[0,[17,0,[12,41,0]],t(Rt)],Iq0=[0,[17,0,0],t(jt)],Oq0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Bq0=t(m0),Lq0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Mq0=t(Ja),Rq0=t(L0),jq0=t(ua),Uq0=[0,[17,0,0],t(jt)],Vq0=[0,[17,0,[12,Ho,0]],t(YR)],$q0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Expression.Object.Property.Set {\"),[17,[0,t(hd),0,0],0]]],t(\"@[<2>Flow_ast.Expression.Object.Property.Set {@,\")],Kq0=t(XN),zq0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Wq0=[0,[17,0,0],t(jt)],qq0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Jq0=t(yg),Hq0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Gq0=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],Xq0=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],Yq0=[0,[17,0,[12,41,0]],t(Rt)],Qq0=[0,[17,0,0],t(jt)],Zq0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],xJ0=t(m0),eJ0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],tJ0=t(Ja),rJ0=t(L0),nJ0=t(ua),iJ0=[0,[17,0,0],t(jt)],aJ0=[0,[17,0,[12,Ho,0]],t(YR)],oJ0=[0,[15,0],t(si)],sJ0=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],uJ0=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],cJ0=[0,[17,0,[12,41,0]],t(Rt)],lJ0=[0,[15,0],t(si)],fJ0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Expression.Object.Property.Literal\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Expression.Object.Property.Literal@ \")],pJ0=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],dJ0=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],mJ0=[0,[17,0,[12,41,0]],t(Rt)],hJ0=[0,[17,0,[12,41,0]],t(Rt)],gJ0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Expression.Object.Property.Identifier\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Expression.Object.Property.Identifier@ \")],_J0=[0,[17,0,[12,41,0]],t(Rt)],yJ0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Expression.Object.Property.PrivateName\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Expression.Object.Property.PrivateName@ \")],DJ0=[0,[17,0,[12,41,0]],t(Rt)],vJ0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Expression.Object.Property.Computed\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Expression.Object.Property.Computed@ \")],bJ0=[0,[17,0,[12,41,0]],t(Rt)],CJ0=[0,[15,0],t(si)],EJ0=t(zu),SJ0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],FJ0=t(\"Flow_ast.Expression.TaggedTemplate.tag\"),AJ0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],TJ0=[0,[17,0,0],t(jt)],wJ0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],kJ0=t(pU),NJ0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],PJ0=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],IJ0=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],OJ0=[0,[17,0,[12,41,0]],t(Rt)],BJ0=[0,[17,0,0],t(jt)],LJ0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],MJ0=t(m0),RJ0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],jJ0=t(Ja),UJ0=t(L0),VJ0=t(ua),$J0=[0,[17,0,0],t(jt)],KJ0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],zJ0=[0,[15,0],t(si)],WJ0=t(zu),qJ0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],JJ0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],HJ0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],GJ0=t(\"Flow_ast.Expression.TemplateLiteral.quasis\"),XJ0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],YJ0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[12,91,0]],t($g)],QJ0=[0,[17,[0,t(hd),0,0],[12,93,[17,0,0]]],t(fd)],ZJ0=[0,[17,0,0],t(jt)],xH0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],eH0=t(iU),tH0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],rH0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[12,91,0]],t($g)],nH0=[0,[17,[0,t(hd),0,0],[12,93,[17,0,0]]],t(fd)],iH0=[0,[17,0,0],t(jt)],aH0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],oH0=t(m0),sH0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],uH0=t(Ja),cH0=t(L0),lH0=t(ua),fH0=[0,[17,0,0],t(jt)],pH0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],dH0=[0,[15,0],t(si)],mH0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],hH0=t(\"Flow_ast.Expression.TemplateLiteral.Element.value\"),gH0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],_H0=[0,[17,0,0],t(jt)],yH0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],DH0=t(P1),vH0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],bH0=[0,[9,0,0],t(U6)],CH0=[0,[17,0,0],t(jt)],EH0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],SH0=[0,[15,0],t(si)],FH0=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],AH0=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],TH0=[0,[17,0,[12,41,0]],t(Rt)],wH0=[0,[15,0],t(si)],kH0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],NH0=t(\"Flow_ast.Expression.TemplateLiteral.Element.raw\"),PH0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],IH0=[0,[3,0,0],t(H5)],OH0=[0,[17,0,0],t(jt)],BH0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],LH0=t(oK),MH0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],RH0=[0,[3,0,0],t(H5)],jH0=[0,[17,0,0],t(jt)],UH0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],VH0=[0,[15,0],t(si)],$H0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],KH0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[12,91,0]],t($g)],zH0=[0,[17,[0,t(hd),0,0],[12,93,[17,0,0]]],t(fd)],WH0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],qH0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],JH0=t(\"Flow_ast.Expression.Array.elements\"),HH0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],GH0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[12,91,0]],t($g)],XH0=[0,[17,[0,t(hd),0,0],[12,93,[17,0,0]]],t(fd)],YH0=[0,[17,0,0],t(jt)],QH0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],ZH0=t(m0),xG0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],eG0=t(Ja),tG0=t(L0),rG0=t(ua),nG0=[0,[17,0,0],t(jt)],iG0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],aG0=[0,[15,0],t(si)],oG0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Expression.Array.Expression\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Expression.Array.Expression@ \")],sG0=[0,[17,0,[12,41,0]],t(Rt)],uG0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Expression.Array.Spread\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Expression.Array.Spread@ \")],cG0=[0,[17,0,[12,41,0]],t(Rt)],lG0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Expression.Array.Hole\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Expression.Array.Hole@ \")],fG0=[0,[17,0,[12,41,0]],t(Rt)],pG0=[0,[15,0],t(si)],dG0=t(zu),mG0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],hG0=t(\"Flow_ast.Expression.SpreadElement.argument\"),gG0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],_G0=[0,[17,0,0],t(jt)],yG0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],DG0=t(m0),vG0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],bG0=t(Ja),CG0=t(L0),EG0=t(ua),SG0=[0,[17,0,0],t(jt)],FG0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],AG0=[0,[15,0],t(si)],TG0=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],wG0=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],kG0=[0,[17,0,[12,41,0]],t(Rt)],NG0=[0,[15,0],t(si)],PG0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],IG0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[12,91,0]],t($g)],OG0=[0,[17,[0,t(hd),0,0],[12,93,[17,0,0]]],t(fd)],BG0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],LG0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],MG0=t(\"Flow_ast.Expression.CallTypeArgs.arguments\"),RG0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],jG0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[12,91,0]],t($g)],UG0=[0,[17,[0,t(hd),0,0],[12,93,[17,0,0]]],t(fd)],VG0=[0,[17,0,0],t(jt)],$G0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],KG0=t(m0),zG0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],WG0=t(Ja),qG0=t(L0),JG0=t(ua),HG0=[0,[17,0,0],t(jt)],GG0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],XG0=[0,[15,0],t(si)],YG0=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],QG0=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],ZG0=[0,[17,0,[12,41,0]],t(Rt)],xX0=[0,[15,0],t(si)],eX0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Expression.CallTypeArg.Explicit\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Expression.CallTypeArg.Explicit@ \")],tX0=[0,[17,0,[12,41,0]],t(Rt)],rX0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Expression.CallTypeArg.Implicit\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Expression.CallTypeArg.Implicit@ \")],nX0=[0,[17,0,[12,41,0]],t(Rt)],iX0=[0,[15,0],t(si)],aX0=t(zu),oX0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],sX0=t(\"Flow_ast.Expression.CallTypeArg.Implicit.comments\"),uX0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],cX0=t(Ja),lX0=t(L0),fX0=t(ua),pX0=[0,[17,0,0],t(jt)],dX0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],mX0=[0,[15,0],t(si)],hX0=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],gX0=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],_X0=[0,[17,0,[12,41,0]],t(Rt)],yX0=[0,[15,0],t(si)],DX0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.Block\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.Block@ \")],vX0=[0,[17,0,[12,41,0]],t(Rt)],bX0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.Break\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.Break@ \")],CX0=[0,[17,0,[12,41,0]],t(Rt)],EX0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.ClassDeclaration\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.ClassDeclaration@ \")],SX0=[0,[17,0,[12,41,0]],t(Rt)],FX0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.Continue\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.Continue@ \")],AX0=[0,[17,0,[12,41,0]],t(Rt)],TX0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.Debugger\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.Debugger@ \")],wX0=[0,[17,0,[12,41,0]],t(Rt)],kX0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.DeclareClass\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.DeclareClass@ \")],NX0=[0,[17,0,[12,41,0]],t(Rt)],PX0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.DeclareExportDeclaration\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.DeclareExportDeclaration@ \")],IX0=[0,[17,0,[12,41,0]],t(Rt)],OX0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.DeclareFunction\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.DeclareFunction@ \")],BX0=[0,[17,0,[12,41,0]],t(Rt)],LX0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.DeclareInterface\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.DeclareInterface@ \")],MX0=[0,[17,0,[12,41,0]],t(Rt)],RX0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.DeclareModule\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.DeclareModule@ \")],jX0=[0,[17,0,[12,41,0]],t(Rt)],UX0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.DeclareModuleExports\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.DeclareModuleExports@ \")],VX0=[0,[17,0,[12,41,0]],t(Rt)],$X0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.DeclareTypeAlias\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.DeclareTypeAlias@ \")],KX0=[0,[17,0,[12,41,0]],t(Rt)],zX0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.DeclareOpaqueType\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.DeclareOpaqueType@ \")],WX0=[0,[17,0,[12,41,0]],t(Rt)],qX0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.DeclareVariable\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.DeclareVariable@ \")],JX0=[0,[17,0,[12,41,0]],t(Rt)],HX0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.DoWhile\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.DoWhile@ \")],GX0=[0,[17,0,[12,41,0]],t(Rt)],XX0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.Empty\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.Empty@ \")],YX0=[0,[17,0,[12,41,0]],t(Rt)],QX0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.EnumDeclaration\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.EnumDeclaration@ \")],ZX0=[0,[17,0,[12,41,0]],t(Rt)],xY0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.ExportDefaultDeclaration\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.ExportDefaultDeclaration@ \")],eY0=[0,[17,0,[12,41,0]],t(Rt)],tY0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.ExportNamedDeclaration\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.ExportNamedDeclaration@ \")],rY0=[0,[17,0,[12,41,0]],t(Rt)],nY0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.Expression\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.Expression@ \")],iY0=[0,[17,0,[12,41,0]],t(Rt)],aY0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.For\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.For@ \")],oY0=[0,[17,0,[12,41,0]],t(Rt)],sY0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.ForIn\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.ForIn@ \")],uY0=[0,[17,0,[12,41,0]],t(Rt)],cY0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.ForOf\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.ForOf@ \")],lY0=[0,[17,0,[12,41,0]],t(Rt)],fY0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.FunctionDeclaration\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.FunctionDeclaration@ \")],pY0=[0,[17,0,[12,41,0]],t(Rt)],dY0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.If\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.If@ \")],mY0=[0,[17,0,[12,41,0]],t(Rt)],hY0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.ImportDeclaration\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.ImportDeclaration@ \")],gY0=[0,[17,0,[12,41,0]],t(Rt)],_Y0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.InterfaceDeclaration\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.InterfaceDeclaration@ \")],yY0=[0,[17,0,[12,41,0]],t(Rt)],DY0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.Labeled\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.Labeled@ \")],vY0=[0,[17,0,[12,41,0]],t(Rt)],bY0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.Return\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.Return@ \")],CY0=[0,[17,0,[12,41,0]],t(Rt)],EY0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.Switch\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.Switch@ \")],SY0=[0,[17,0,[12,41,0]],t(Rt)],FY0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.Throw\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.Throw@ \")],AY0=[0,[17,0,[12,41,0]],t(Rt)],TY0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.Try\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.Try@ \")],wY0=[0,[17,0,[12,41,0]],t(Rt)],kY0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.TypeAlias\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.TypeAlias@ \")],NY0=[0,[17,0,[12,41,0]],t(Rt)],PY0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.OpaqueType\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.OpaqueType@ \")],IY0=[0,[17,0,[12,41,0]],t(Rt)],OY0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.VariableDeclaration\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.VariableDeclaration@ \")],BY0=[0,[17,0,[12,41,0]],t(Rt)],LY0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.While\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.While@ \")],MY0=[0,[17,0,[12,41,0]],t(Rt)],RY0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.With\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.With@ \")],jY0=[0,[17,0,[12,41,0]],t(Rt)],UY0=[0,[15,0],t(si)],VY0=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],$Y0=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],KY0=[0,[17,0,[12,41,0]],t(Rt)],zY0=[0,[15,0],t(si)],WY0=t(\"Flow_ast.Statement.ExportValue\"),qY0=t(\"Flow_ast.Statement.ExportType\"),JY0=[0,[15,0],t(si)],HY0=t(zu),GY0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],XY0=t(\"Flow_ast.Statement.Empty.comments\"),YY0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],QY0=t(Ja),ZY0=t(L0),xQ0=t(ua),eQ0=[0,[17,0,0],t(jt)],tQ0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],rQ0=[0,[15,0],t(si)],nQ0=t(zu),iQ0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],aQ0=t(\"Flow_ast.Statement.Expression.expression\"),oQ0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],sQ0=[0,[17,0,0],t(jt)],uQ0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],cQ0=t(q2),lQ0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],fQ0=t(Ja),pQ0=[0,[3,0,0],t(H5)],dQ0=t(L0),mQ0=t(ua),hQ0=[0,[17,0,0],t(jt)],gQ0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],_Q0=t(m0),yQ0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],DQ0=t(Ja),vQ0=t(L0),bQ0=t(ua),CQ0=[0,[17,0,0],t(jt)],EQ0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],SQ0=[0,[15,0],t(si)],FQ0=t(zu),AQ0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],TQ0=t(\"Flow_ast.Statement.ImportDeclaration.import_kind\"),wQ0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],kQ0=[0,[17,0,0],t(jt)],NQ0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],PQ0=t(mN),IQ0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],OQ0=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],BQ0=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],LQ0=[0,[17,0,[12,41,0]],t(Rt)],MQ0=[0,[17,0,0],t(jt)],RQ0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],jQ0=t(K9),UQ0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],VQ0=t(Ja),$Q0=t(L0),KQ0=t(ua),zQ0=[0,[17,0,0],t(jt)],WQ0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],qQ0=t(xO),JQ0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],HQ0=t(Ja),GQ0=t(L0),XQ0=t(ua),YQ0=[0,[17,0,0],t(jt)],QQ0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],ZQ0=t(m0),xZ0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],eZ0=t(Ja),tZ0=t(L0),rZ0=t(ua),nZ0=[0,[17,0,0],t(jt)],iZ0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],aZ0=[0,[15,0],t(si)],oZ0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],sZ0=t(\"Flow_ast.Statement.ImportDeclaration.kind\"),uZ0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],cZ0=t(Ja),lZ0=t(L0),fZ0=t(ua),pZ0=[0,[17,0,0],t(jt)],dZ0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],mZ0=t(Cn),hZ0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],gZ0=t(Ja),_Z0=t(L0),yZ0=t(ua),DZ0=[0,[17,0,0],t(jt)],vZ0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],bZ0=t(\"remote\"),CZ0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],EZ0=[0,[17,0,0],t(jt)],SZ0=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],FZ0=[0,[15,0],t(si)],AZ0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],TZ0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.ImportDeclaration.ImportNamedSpecifiers\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.ImportDeclaration.ImportNamedSpecifiers@ \")],wZ0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[12,91,0]],t($g)],kZ0=[0,[17,[0,t(hd),0,0],[12,93,[17,0,0]]],t(fd)],NZ0=[0,[17,0,[12,41,0]],t(Rt)],PZ0=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.ImportDeclaration.ImportNamespaceSpecifier\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.ImportDeclaration.ImportNamespaceSpecifier@ \")],IZ0=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],OZ0=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],BZ0=[0,[17,0,[12,41,0]],t(Rt)],LZ0=[0,[17,0,[12,41,0]],t(Rt)],MZ0=[0,[15,0],t(si)],RZ0=t(\"Flow_ast.Statement.ImportDeclaration.ImportType\"),jZ0=t(\"Flow_ast.Statement.ImportDeclaration.ImportTypeof\"),UZ0=t(\"Flow_ast.Statement.ImportDeclaration.ImportValue\"),VZ0=[0,[15,0],t(si)],$Z0=t(zu),KZ0=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],zZ0=t(\"Flow_ast.Statement.DeclareExportDeclaration.default\"),WZ0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],qZ0=t(Ja),JZ0=t(L0),HZ0=t(ua),GZ0=[0,[17,0,0],t(jt)],XZ0=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],YZ0=t(E0),QZ0=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],ZZ0=t(Ja),x01=t(L0),e01=t(ua),t01=[0,[17,0,0],t(jt)],r01=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],n01=t(xO),i01=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],a01=t(Ja),o01=t(L0),s01=t(ua),u01=[0,[17,0,0],t(jt)],c01=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],l01=t(mN),f01=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],p01=t(Ja),d01=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],m01=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],h01=[0,[17,0,[12,41,0]],t(Rt)],g01=t(L0),_01=t(ua),y01=[0,[17,0,0],t(jt)],D01=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],v01=t(m0),b01=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],C01=t(Ja),E01=t(L0),S01=t(ua),F01=[0,[17,0,0],t(jt)],A01=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],T01=[0,[15,0],t(si)],w01=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.DeclareExportDeclaration.Variable\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.DeclareExportDeclaration.Variable@ \")],k01=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],N01=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],P01=[0,[17,0,[12,41,0]],t(Rt)],I01=[0,[17,0,[12,41,0]],t(Rt)],O01=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.DeclareExportDeclaration.Function\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.DeclareExportDeclaration.Function@ \")],B01=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],L01=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],M01=[0,[17,0,[12,41,0]],t(Rt)],R01=[0,[17,0,[12,41,0]],t(Rt)],j01=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.DeclareExportDeclaration.Class\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.DeclareExportDeclaration.Class@ \")],U01=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],V01=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],$01=[0,[17,0,[12,41,0]],t(Rt)],K01=[0,[17,0,[12,41,0]],t(Rt)],z01=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.DeclareExportDeclaration.DefaultType\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.DeclareExportDeclaration.DefaultType@ \")],W01=[0,[17,0,[12,41,0]],t(Rt)],q01=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.DeclareExportDeclaration.NamedType\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.DeclareExportDeclaration.NamedType@ \")],J01=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],H01=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],G01=[0,[17,0,[12,41,0]],t(Rt)],X01=[0,[17,0,[12,41,0]],t(Rt)],Y01=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.DeclareExportDeclaration.NamedOpaqueType\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.DeclareExportDeclaration.NamedOpaqueType@ \")],Q01=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],Z01=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],x11=[0,[17,0,[12,41,0]],t(Rt)],e11=[0,[17,0,[12,41,0]],t(Rt)],t11=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.DeclareExportDeclaration.Interface\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.DeclareExportDeclaration.Interface@ \")],r11=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],n11=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],i11=[0,[17,0,[12,41,0]],t(Rt)],a11=[0,[17,0,[12,41,0]],t(Rt)],o11=[0,[15,0],t(si)],s11=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.ExportDefaultDeclaration.Declaration\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.ExportDefaultDeclaration.Declaration@ \")],u11=[0,[17,0,[12,41,0]],t(Rt)],c11=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.ExportDefaultDeclaration.Expression\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.ExportDefaultDeclaration.Expression@ \")],l11=[0,[17,0,[12,41,0]],t(Rt)],f11=[0,[15,0],t(si)],p11=t(zu),d11=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],m11=t(\"Flow_ast.Statement.ExportDefaultDeclaration.default\"),h11=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],g11=[0,[17,0,0],t(jt)],_11=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],y11=t(E0),D11=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],v11=[0,[17,0,0],t(jt)],b11=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],C11=t(m0),E11=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],S11=t(Ja),F11=t(L0),A11=t(ua),T11=[0,[17,0,0],t(jt)],w11=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],k11=[0,[15,0],t(si)],N11=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],P11=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.ExportNamedDeclaration.ExportSpecifiers\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.ExportNamedDeclaration.ExportSpecifiers@ \")],I11=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[12,91,0]],t($g)],O11=[0,[17,[0,t(hd),0,0],[12,93,[17,0,0]]],t(fd)],B11=[0,[17,0,[12,41,0]],t(Rt)],L11=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.ExportNamedDeclaration.ExportBatchSpecifier\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.ExportNamedDeclaration.ExportBatchSpecifier@ \")],M11=[0,[17,0,[12,41,0]],t(Rt)],R11=[0,[15,0],t(si)],j11=t(zu),U11=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],V11=t(\"Flow_ast.Statement.ExportNamedDeclaration.declaration\"),$11=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],K11=t(Ja),z11=t(L0),W11=t(ua),q11=[0,[17,0,0],t(jt)],J11=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],H11=t(xO),G11=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],X11=t(Ja),Y11=t(L0),Q11=t(ua),Z11=[0,[17,0,0],t(jt)],xx1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],ex1=t(mN),tx1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],rx1=t(Ja),nx1=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],ix1=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],ax1=[0,[17,0,[12,41,0]],t(Rt)],ox1=t(L0),sx1=t(ua),ux1=[0,[17,0,0],t(jt)],cx1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],lx1=t(\"export_kind\"),fx1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],px1=[0,[17,0,0],t(jt)],dx1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],mx1=t(m0),hx1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],gx1=t(Ja),_x1=t(L0),yx1=t(ua),Dx1=[0,[17,0,0],t(jt)],vx1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],bx1=[0,[15,0],t(si)],Cx1=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],Ex1=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],Sx1=t(Ja),Fx1=t(L0),Ax1=t(ua),Tx1=[0,[17,0,[12,41,0]],t(Rt)],wx1=[0,[15,0],t(si)],kx1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],Nx1=t(\"Flow_ast.Statement.ExportNamedDeclaration.ExportSpecifier.local\"),Px1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Ix1=[0,[17,0,0],t(jt)],Ox1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Bx1=t(uo),Lx1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Mx1=t(Ja),Rx1=t(L0),jx1=t(ua),Ux1=[0,[17,0,0],t(jt)],Vx1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],$x1=[0,[15,0],t(si)],Kx1=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],zx1=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],Wx1=[0,[17,0,[12,41,0]],t(Rt)],qx1=[0,[15,0],t(si)],Jx1=t(zu),Hx1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],Gx1=t(\"Flow_ast.Statement.DeclareModuleExports.annot\"),Xx1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Yx1=[0,[17,0,0],t(jt)],Qx1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Zx1=t(m0),xe1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],ee1=t(Ja),te1=t(L0),re1=t(ua),ne1=[0,[17,0,0],t(jt)],ie1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],ae1=[0,[15,0],t(si)],oe1=t(zu),se1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],ue1=t(\"Flow_ast.Statement.DeclareModule.id\"),ce1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],le1=[0,[17,0,0],t(jt)],fe1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],pe1=t(Y6),de1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],me1=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],he1=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],ge1=[0,[17,0,[12,41,0]],t(Rt)],_e1=[0,[17,0,0],t(jt)],ye1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],De1=t(Gl),ve1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],be1=[0,[17,0,0],t(jt)],Ce1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Ee1=t(m0),Se1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Fe1=t(Ja),Ae1=t(L0),Te1=t(ua),we1=[0,[17,0,0],t(jt)],ke1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],Ne1=[0,[15,0],t(si)],Pe1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.DeclareModule.CommonJS\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.DeclareModule.CommonJS@ \")],Ie1=[0,[17,0,[12,41,0]],t(Rt)],Oe1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.DeclareModule.ES\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.DeclareModule.ES@ \")],Be1=[0,[17,0,[12,41,0]],t(Rt)],Le1=[0,[15,0],t(si)],Me1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.DeclareModule.Identifier\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.DeclareModule.Identifier@ \")],Re1=[0,[17,0,[12,41,0]],t(Rt)],je1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.DeclareModule.Literal\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.DeclareModule.Literal@ \")],Ue1=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],Ve1=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],$e1=[0,[17,0,[12,41,0]],t(Rt)],Ke1=[0,[17,0,[12,41,0]],t(Rt)],ze1=[0,[15,0],t(si)],We1=t(zu),qe1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],Je1=t(\"Flow_ast.Statement.DeclareFunction.id\"),He1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Ge1=[0,[17,0,0],t(jt)],Xe1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Ye1=t(u0),Qe1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Ze1=[0,[17,0,0],t(jt)],xt1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],et1=t(oN),tt1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],rt1=t(Ja),nt1=t(L0),it1=t(ua),at1=[0,[17,0,0],t(jt)],ot1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],st1=t(m0),ut1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],ct1=t(Ja),lt1=t(L0),ft1=t(ua),pt1=[0,[17,0,0],t(jt)],dt1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],mt1=[0,[15,0],t(si)],ht1=t(zu),gt1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],_t1=t(\"Flow_ast.Statement.DeclareVariable.id\"),yt1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Dt1=[0,[17,0,0],t(jt)],vt1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],bt1=t(u0),Ct1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Et1=[0,[17,0,0],t(jt)],St1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Ft1=t(m0),At1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Tt1=t(Ja),wt1=t(L0),kt1=t(ua),Nt1=[0,[17,0,0],t(jt)],Pt1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],It1=[0,[15,0],t(si)],Ot1=t(zu),Bt1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Lt1=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],Mt1=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],Rt1=[0,[17,0,[12,41,0]],t(Rt)],jt1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],Ut1=t(\"Flow_ast.Statement.DeclareClass.id\"),Vt1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],$t1=[0,[17,0,0],t(jt)],Kt1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],zt1=t(M0),Wt1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],qt1=t(Ja),Jt1=t(L0),Ht1=t(ua),Gt1=[0,[17,0,0],t(jt)],Xt1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Yt1=t(Y6),Qt1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Zt1=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],xr1=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],er1=[0,[17,0,[12,41,0]],t(Rt)],tr1=[0,[17,0,0],t(jt)],rr1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],nr1=t(sN),ir1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],ar1=t(Ja),or1=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],sr1=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],ur1=[0,[17,0,[12,41,0]],t(Rt)],cr1=t(L0),lr1=t(ua),fr1=[0,[17,0,0],t(jt)],pr1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],dr1=t(B9),mr1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],hr1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[12,91,0]],t($g)],gr1=[0,[17,[0,t(hd),0,0],[12,93,[17,0,0]]],t(fd)],_r1=[0,[17,0,0],t(jt)],yr1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Dr1=t(FA),vr1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],br1=t(Ja),Cr1=t(L0),Er1=t(ua),Sr1=[0,[17,0,0],t(jt)],Fr1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Ar1=t(m0),Tr1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],wr1=t(Ja),kr1=t(L0),Nr1=t(ua),Pr1=[0,[17,0,0],t(jt)],Ir1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],Or1=[0,[15,0],t(si)],Br1=t(zu),Lr1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Mr1=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],Rr1=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],jr1=[0,[17,0,[12,41,0]],t(Rt)],Ur1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],Vr1=t(\"Flow_ast.Statement.Interface.id\"),$r1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Kr1=[0,[17,0,0],t(jt)],zr1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Wr1=t(M0),qr1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Jr1=t(Ja),Hr1=t(L0),Gr1=t(ua),Xr1=[0,[17,0,0],t(jt)],Yr1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Qr1=t(sN),Zr1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],xn1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[12,91,0]],t($g)],en1=[0,[17,[0,t(hd),0,0],[12,93,[17,0,0]]],t(fd)],tn1=[0,[17,0,0],t(jt)],rn1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],nn1=t(Y6),in1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],an1=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],on1=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],sn1=[0,[17,0,[12,41,0]],t(Rt)],un1=[0,[17,0,0],t(jt)],cn1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],ln1=t(m0),fn1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],pn1=t(Ja),dn1=t(L0),mn1=t(ua),hn1=[0,[17,0,0],t(jt)],gn1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],_n1=[0,[15,0],t(si)],yn1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.EnumDeclaration.BooleanBody\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.EnumDeclaration.BooleanBody@ \")],Dn1=[0,[17,0,[12,41,0]],t(Rt)],vn1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.EnumDeclaration.NumberBody\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.EnumDeclaration.NumberBody@ \")],bn1=[0,[17,0,[12,41,0]],t(Rt)],Cn1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.EnumDeclaration.StringBody\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.EnumDeclaration.StringBody@ \")],En1=[0,[17,0,[12,41,0]],t(Rt)],Sn1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.EnumDeclaration.SymbolBody\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.EnumDeclaration.SymbolBody@ \")],Fn1=[0,[17,0,[12,41,0]],t(Rt)],An1=[0,[15,0],t(si)],Tn1=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],wn1=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],kn1=[0,[17,0,[12,41,0]],t(Rt)],Nn1=[0,[15,0],t(si)],Pn1=t(zu),In1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],On1=t(\"Flow_ast.Statement.EnumDeclaration.id\"),Bn1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Ln1=[0,[17,0,0],t(jt)],Mn1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Rn1=t(Y6),jn1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Un1=[0,[17,0,0],t(jt)],Vn1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],$n1=t(m0),Kn1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],zn1=t(Ja),Wn1=t(L0),qn1=t(ua),Jn1=[0,[17,0,0],t(jt)],Hn1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],Gn1=[0,[15,0],t(si)],Xn1=t(zu),Yn1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Qn1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],Zn1=t(\"Flow_ast.Statement.EnumDeclaration.SymbolBody.members\"),xi1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],ei1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[12,91,0]],t($g)],ti1=[0,[17,[0,t(hd),0,0],[12,93,[17,0,0]]],t(fd)],ri1=[0,[17,0,0],t(jt)],ni1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],ii1=t(Ml),ai1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],oi1=[0,[9,0,0],t(U6)],si1=[0,[17,0,0],t(jt)],ui1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],ci1=t(m0),li1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],fi1=t(Ja),pi1=t(L0),di1=t(ua),mi1=[0,[17,0,0],t(jt)],hi1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],gi1=[0,[15,0],t(si)],_i1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],yi1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Di1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.EnumDeclaration.StringBody.Defaulted\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.EnumDeclaration.StringBody.Defaulted@ \")],vi1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[12,91,0]],t($g)],bi1=[0,[17,[0,t(hd),0,0],[12,93,[17,0,0]]],t(fd)],Ci1=[0,[17,0,[12,41,0]],t(Rt)],Ei1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.EnumDeclaration.StringBody.Initialized\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.EnumDeclaration.StringBody.Initialized@ \")],Si1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[12,91,0]],t($g)],Fi1=[0,[17,[0,t(hd),0,0],[12,93,[17,0,0]]],t(fd)],Ai1=[0,[17,0,[12,41,0]],t(Rt)],Ti1=[0,[15,0],t(si)],wi1=t(zu),ki1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],Ni1=t(\"Flow_ast.Statement.EnumDeclaration.StringBody.members\"),Pi1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Ii1=[0,[17,0,0],t(jt)],Oi1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Bi1=t(nA),Li1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Mi1=[0,[9,0,0],t(U6)],Ri1=[0,[17,0,0],t(jt)],ji1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Ui1=t(Ml),Vi1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],$i1=[0,[9,0,0],t(U6)],Ki1=[0,[17,0,0],t(jt)],zi1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Wi1=t(m0),qi1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Ji1=t(Ja),Hi1=t(L0),Gi1=t(ua),Xi1=[0,[17,0,0],t(jt)],Yi1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],Qi1=[0,[15,0],t(si)],Zi1=t(zu),xa1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],ea1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],ta1=t(\"Flow_ast.Statement.EnumDeclaration.NumberBody.members\"),ra1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],na1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[12,91,0]],t($g)],ia1=[0,[17,[0,t(hd),0,0],[12,93,[17,0,0]]],t(fd)],aa1=[0,[17,0,0],t(jt)],oa1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],sa1=t(nA),ua1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],ca1=[0,[9,0,0],t(U6)],la1=[0,[17,0,0],t(jt)],fa1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],pa1=t(Ml),da1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],ma1=[0,[9,0,0],t(U6)],ha1=[0,[17,0,0],t(jt)],ga1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],_a1=t(m0),ya1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Da1=t(Ja),va1=t(L0),ba1=t(ua),Ca1=[0,[17,0,0],t(jt)],Ea1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],Sa1=[0,[15,0],t(si)],Fa1=t(zu),Aa1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Ta1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],wa1=t(\"Flow_ast.Statement.EnumDeclaration.BooleanBody.members\"),ka1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Na1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[12,91,0]],t($g)],Pa1=[0,[17,[0,t(hd),0,0],[12,93,[17,0,0]]],t(fd)],Ia1=[0,[17,0,0],t(jt)],Oa1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Ba1=t(nA),La1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Ma1=[0,[9,0,0],t(U6)],Ra1=[0,[17,0,0],t(jt)],ja1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Ua1=t(Ml),Va1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],$a1=[0,[9,0,0],t(U6)],Ka1=[0,[17,0,0],t(jt)],za1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Wa1=t(m0),qa1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Ja1=t(Ja),Ha1=t(L0),Ga1=t(ua),Xa1=[0,[17,0,0],t(jt)],Ya1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],Qa1=[0,[15,0],t(si)],Za1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],xo1=t(\"Flow_ast.Statement.EnumDeclaration.InitializedMember.id\"),eo1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],to1=[0,[17,0,0],t(jt)],ro1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],no1=t(D9),io1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],ao1=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],oo1=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],so1=[0,[17,0,[12,41,0]],t(Rt)],uo1=[0,[17,0,0],t(jt)],co1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],lo1=[0,[15,0],t(si)],fo1=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],po1=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],do1=[0,[17,0,[12,41,0]],t(Rt)],mo1=[0,[15,0],t(si)],ho1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],go1=t(\"Flow_ast.Statement.EnumDeclaration.DefaultedMember.id\"),_o1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],yo1=[0,[17,0,0],t(jt)],Do1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],vo1=[0,[15,0],t(si)],bo1=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],Co1=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],Eo1=[0,[17,0,[12,41,0]],t(Rt)],So1=[0,[15,0],t(si)],Fo1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.ForOf.LeftDeclaration\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.ForOf.LeftDeclaration@ \")],Ao1=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],To1=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],wo1=[0,[17,0,[12,41,0]],t(Rt)],ko1=[0,[17,0,[12,41,0]],t(Rt)],No1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.ForOf.LeftPattern\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.ForOf.LeftPattern@ \")],Po1=[0,[17,0,[12,41,0]],t(Rt)],Io1=[0,[15,0],t(si)],Oo1=t(zu),Bo1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],Lo1=t(\"Flow_ast.Statement.ForOf.left\"),Mo1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Ro1=[0,[17,0,0],t(jt)],jo1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Uo1=t(Ew),Vo1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],$o1=[0,[17,0,0],t(jt)],Ko1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],zo1=t(Y6),Wo1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],qo1=[0,[17,0,0],t(jt)],Jo1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Ho1=t(Ls),Go1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Xo1=[0,[9,0,0],t(U6)],Yo1=[0,[17,0,0],t(jt)],Qo1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Zo1=t(m0),xs1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],es1=t(Ja),ts1=t(L0),rs1=t(ua),ns1=[0,[17,0,0],t(jt)],is1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],as1=[0,[15,0],t(si)],os1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.ForIn.LeftDeclaration\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.ForIn.LeftDeclaration@ \")],ss1=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],us1=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],cs1=[0,[17,0,[12,41,0]],t(Rt)],ls1=[0,[17,0,[12,41,0]],t(Rt)],fs1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.ForIn.LeftPattern\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.ForIn.LeftPattern@ \")],ps1=[0,[17,0,[12,41,0]],t(Rt)],ds1=[0,[15,0],t(si)],ms1=t(zu),hs1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],gs1=t(\"Flow_ast.Statement.ForIn.left\"),_s1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],ys1=[0,[17,0,0],t(jt)],Ds1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],vs1=t(Ew),bs1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Cs1=[0,[17,0,0],t(jt)],Es1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Ss1=t(Y6),Fs1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],As1=[0,[17,0,0],t(jt)],Ts1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],ws1=t(e9),ks1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Ns1=[0,[9,0,0],t(U6)],Ps1=[0,[17,0,0],t(jt)],Is1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Os1=t(m0),Bs1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Ls1=t(Ja),Ms1=t(L0),Rs1=t(ua),js1=[0,[17,0,0],t(jt)],Us1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],Vs1=[0,[15,0],t(si)],$s1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.For.InitDeclaration\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.For.InitDeclaration@ \")],Ks1=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],zs1=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],Ws1=[0,[17,0,[12,41,0]],t(Rt)],qs1=[0,[17,0,[12,41,0]],t(Rt)],Js1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Statement.For.InitExpression\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Statement.For.InitExpression@ \")],Hs1=[0,[17,0,[12,41,0]],t(Rt)],Gs1=[0,[15,0],t(si)],Xs1=t(zu),Ys1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],Qs1=t(\"Flow_ast.Statement.For.init\"),Zs1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],xu1=t(Ja),eu1=t(L0),tu1=t(ua),ru1=[0,[17,0,0],t(jt)],nu1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],iu1=t(KS),au1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],ou1=t(Ja),su1=t(L0),uu1=t(ua),cu1=[0,[17,0,0],t(jt)],lu1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],fu1=t(mF),pu1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],du1=t(Ja),mu1=t(L0),hu1=t(ua),gu1=[0,[17,0,0],t(jt)],_u1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],yu1=t(Y6),Du1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],vu1=[0,[17,0,0],t(jt)],bu1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Cu1=t(m0),Eu1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Su1=t(Ja),Fu1=t(L0),Au1=t(ua),Tu1=[0,[17,0,0],t(jt)],wu1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],ku1=[0,[15,0],t(si)],Nu1=t(zu),Pu1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],Iu1=t(\"Flow_ast.Statement.DoWhile.body\"),Ou1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Bu1=[0,[17,0,0],t(jt)],Lu1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Mu1=t(KS),Ru1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],ju1=[0,[17,0,0],t(jt)],Uu1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Vu1=t(m0),$u1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Ku1=t(Ja),zu1=t(L0),Wu1=t(ua),qu1=[0,[17,0,0],t(jt)],Ju1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],Hu1=[0,[15,0],t(si)],Gu1=t(zu),Xu1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],Yu1=t(\"Flow_ast.Statement.While.test\"),Qu1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Zu1=[0,[17,0,0],t(jt)],xc1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],ec1=t(Y6),tc1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],rc1=[0,[17,0,0],t(jt)],nc1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],ic1=t(m0),ac1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],oc1=t(Ja),sc1=t(L0),uc1=t(ua),cc1=[0,[17,0,0],t(jt)],lc1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],fc1=[0,[15,0],t(si)],pc1=t(\"Flow_ast.Statement.VariableDeclaration.Var\"),dc1=t(\"Flow_ast.Statement.VariableDeclaration.Let\"),mc1=t(\"Flow_ast.Statement.VariableDeclaration.Const\"),hc1=[0,[15,0],t(si)],gc1=t(zu),_c1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],yc1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],Dc1=t(\"Flow_ast.Statement.VariableDeclaration.declarations\"),vc1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],bc1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[12,91,0]],t($g)],Cc1=[0,[17,[0,t(hd),0,0],[12,93,[17,0,0]]],t(fd)],Ec1=[0,[17,0,0],t(jt)],Sc1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Fc1=t(Gl),Ac1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Tc1=[0,[17,0,0],t(jt)],wc1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],kc1=t(m0),Nc1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Pc1=t(Ja),Ic1=t(L0),Oc1=t(ua),Bc1=[0,[17,0,0],t(jt)],Lc1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],Mc1=[0,[15,0],t(si)],Rc1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],jc1=t(\"Flow_ast.Statement.VariableDeclaration.Declarator.id\"),Uc1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Vc1=[0,[17,0,0],t(jt)],$c1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Kc1=t(D9),zc1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Wc1=t(Ja),qc1=t(L0),Jc1=t(ua),Hc1=[0,[17,0,0],t(jt)],Gc1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],Xc1=[0,[15,0],t(si)],Yc1=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],Qc1=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],Zc1=[0,[17,0,[12,41,0]],t(Rt)],xl1=[0,[15,0],t(si)],el1=t(zu),tl1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],rl1=t(\"Flow_ast.Statement.Try.block\"),nl1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],il1=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],al1=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],ol1=[0,[17,0,[12,41,0]],t(Rt)],sl1=[0,[17,0,0],t(jt)],ul1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],cl1=t(IF),ll1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],fl1=t(Ja),pl1=t(L0),dl1=t(ua),ml1=[0,[17,0,0],t(jt)],hl1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],gl1=t(RI),_l1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],yl1=t(Ja),Dl1=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],vl1=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],bl1=[0,[17,0,[12,41,0]],t(Rt)],Cl1=t(L0),El1=t(ua),Sl1=[0,[17,0,0],t(jt)],Fl1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Al1=t(m0),Tl1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],wl1=t(Ja),kl1=t(L0),Nl1=t(ua),Pl1=[0,[17,0,0],t(jt)],Il1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],Ol1=[0,[15,0],t(si)],Bl1=t(zu),Ll1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],Ml1=t(\"Flow_ast.Statement.Try.CatchClause.param\"),Rl1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],jl1=t(Ja),Ul1=t(L0),Vl1=t(ua),$l1=[0,[17,0,0],t(jt)],Kl1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],zl1=t(Y6),Wl1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],ql1=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],Jl1=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],Hl1=[0,[17,0,[12,41,0]],t(Rt)],Gl1=[0,[17,0,0],t(jt)],Xl1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Yl1=t(m0),Ql1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Zl1=t(Ja),xf1=t(L0),ef1=t(ua),tf1=[0,[17,0,0],t(jt)],rf1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],nf1=[0,[15,0],t(si)],if1=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],af1=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],of1=[0,[17,0,[12,41,0]],t(Rt)],sf1=[0,[15,0],t(si)],uf1=t(zu),cf1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],lf1=t(\"Flow_ast.Statement.Throw.argument\"),ff1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],pf1=[0,[17,0,0],t(jt)],df1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],mf1=t(m0),hf1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],gf1=t(Ja),_f1=t(L0),yf1=t(ua),Df1=[0,[17,0,0],t(jt)],vf1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],bf1=[0,[15,0],t(si)],Cf1=t(zu),Ef1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],Sf1=t(\"Flow_ast.Statement.Return.argument\"),Ff1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Af1=t(Ja),Tf1=t(L0),wf1=t(ua),kf1=[0,[17,0,0],t(jt)],Nf1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Pf1=t(m0),If1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Of1=t(Ja),Bf1=t(L0),Lf1=t(ua),Mf1=[0,[17,0,0],t(jt)],Rf1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],jf1=[0,[15,0],t(si)],Uf1=t(zu),Vf1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],$f1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],Kf1=t(\"Flow_ast.Statement.Switch.discriminant\"),zf1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Wf1=[0,[17,0,0],t(jt)],qf1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Jf1=t(kV),Hf1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Gf1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[12,91,0]],t($g)],Xf1=[0,[17,[0,t(hd),0,0],[12,93,[17,0,0]]],t(fd)],Yf1=[0,[17,0,0],t(jt)],Qf1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Zf1=t(m0),xp1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],ep1=t(Ja),tp1=t(L0),rp1=t(ua),np1=[0,[17,0,0],t(jt)],ip1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],ap1=[0,[15,0],t(si)],op1=t(zu),sp1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],up1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],cp1=t(\"Flow_ast.Statement.Switch.Case.test\"),lp1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],fp1=t(Ja),pp1=t(L0),dp1=t(ua),mp1=[0,[17,0,0],t(jt)],hp1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],gp1=t($I),_p1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],yp1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[12,91,0]],t($g)],Dp1=[0,[17,[0,t(hd),0,0],[12,93,[17,0,0]]],t(fd)],vp1=[0,[17,0,0],t(jt)],bp1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Cp1=t(m0),Ep1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Sp1=t(Ja),Fp1=t(L0),Ap1=t(ua),Tp1=[0,[17,0,0],t(jt)],wp1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],kp1=[0,[15,0],t(si)],Np1=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],Pp1=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],Ip1=[0,[17,0,[12,41,0]],t(Rt)],Op1=[0,[15,0],t(si)],Bp1=t(zu),Lp1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],Mp1=t(\"Flow_ast.Statement.OpaqueType.id\"),Rp1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],jp1=[0,[17,0,0],t(jt)],Up1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Vp1=t(M0),$p1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Kp1=t(Ja),zp1=t(L0),Wp1=t(ua),qp1=[0,[17,0,0],t(jt)],Jp1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Hp1=t(KB),Gp1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Xp1=t(Ja),Yp1=t(L0),Qp1=t(ua),Zp1=[0,[17,0,0],t(jt)],xd1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],ed1=t(iM),td1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],rd1=t(Ja),nd1=t(L0),id1=t(ua),ad1=[0,[17,0,0],t(jt)],od1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],sd1=t(m0),ud1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],cd1=t(Ja),ld1=t(L0),fd1=t(ua),pd1=[0,[17,0,0],t(jt)],dd1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],md1=[0,[15,0],t(si)],hd1=t(zu),gd1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],_d1=t(\"Flow_ast.Statement.TypeAlias.id\"),yd1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Dd1=[0,[17,0,0],t(jt)],vd1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],bd1=t(M0),Cd1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Ed1=t(Ja),Sd1=t(L0),Fd1=t(ua),Ad1=[0,[17,0,0],t(jt)],Td1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],wd1=t(Ew),kd1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Nd1=[0,[17,0,0],t(jt)],Pd1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Id1=t(m0),Od1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Bd1=t(Ja),Ld1=t(L0),Md1=t(ua),Rd1=[0,[17,0,0],t(jt)],jd1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],Ud1=[0,[15,0],t(si)],Vd1=t(zu),$d1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],Kd1=t(\"Flow_ast.Statement.With._object\"),zd1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Wd1=[0,[17,0,0],t(jt)],qd1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Jd1=t(Y6),Hd1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Gd1=[0,[17,0,0],t(jt)],Xd1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Yd1=t(m0),Qd1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Zd1=t(Ja),x21=t(L0),e21=t(ua),t21=[0,[17,0,0],t(jt)],r21=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],n21=[0,[15,0],t(si)],i21=t(zu),a21=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],o21=t(\"Flow_ast.Statement.Debugger.comments\"),s21=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],u21=t(Ja),c21=t(L0),l21=t(ua),f21=[0,[17,0,0],t(jt)],p21=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],d21=[0,[15,0],t(si)],m21=t(zu),h21=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],g21=t(\"Flow_ast.Statement.Continue.label\"),_21=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],y21=t(Ja),D21=t(L0),v21=t(ua),b21=[0,[17,0,0],t(jt)],C21=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],E21=t(m0),S21=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],F21=t(Ja),A21=t(L0),T21=t(ua),w21=[0,[17,0,0],t(jt)],k21=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],N21=[0,[15,0],t(si)],P21=t(zu),I21=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],O21=t(\"Flow_ast.Statement.Break.label\"),B21=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],L21=t(Ja),M21=t(L0),R21=t(ua),j21=[0,[17,0,0],t(jt)],U21=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],V21=t(m0),$21=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],K21=t(Ja),z21=t(L0),W21=t(ua),q21=[0,[17,0,0],t(jt)],J21=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],H21=[0,[15,0],t(si)],G21=t(zu),X21=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],Y21=t(\"Flow_ast.Statement.Labeled.label\"),Q21=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Z21=[0,[17,0,0],t(jt)],xm1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],em1=t(Y6),tm1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],rm1=[0,[17,0,0],t(jt)],nm1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],im1=t(m0),am1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],om1=t(Ja),sm1=t(L0),um1=t(ua),cm1=[0,[17,0,0],t(jt)],lm1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],fm1=[0,[15,0],t(si)],pm1=t(zu),dm1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],mm1=t(\"Flow_ast.Statement.If.test\"),hm1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],gm1=[0,[17,0,0],t(jt)],_m1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],ym1=t($I),Dm1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],vm1=[0,[17,0,0],t(jt)],bm1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Cm1=t(U9),Em1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Sm1=t(Ja),Fm1=t(L0),Am1=t(ua),Tm1=[0,[17,0,0],t(jt)],wm1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],km1=t(m0),Nm1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Pm1=t(Ja),Im1=t(L0),Om1=t(ua),Bm1=[0,[17,0,0],t(jt)],Lm1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],Mm1=[0,[15,0],t(si)],Rm1=t(zu),jm1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],Um1=t(\"Flow_ast.Statement.If.Alternate.body\"),Vm1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],$m1=[0,[17,0,0],t(jt)],Km1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],zm1=t(m0),Wm1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],qm1=t(Ja),Jm1=t(L0),Hm1=t(ua),Gm1=[0,[17,0,0],t(jt)],Xm1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],Ym1=[0,[15,0],t(si)],Qm1=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],Zm1=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],xh1=[0,[17,0,[12,41,0]],t(Rt)],eh1=[0,[15,0],t(si)],th1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],rh1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[12,91,0]],t($g)],nh1=[0,[17,[0,t(hd),0,0],[12,93,[17,0,0]]],t(fd)],ih1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],ah1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],oh1=t(\"Flow_ast.Statement.Block.body\"),sh1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],uh1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[12,91,0]],t($g)],ch1=[0,[17,[0,t(hd),0,0],[12,93,[17,0,0]]],t(fd)],lh1=[0,[17,0,0],t(jt)],fh1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],ph1=t(m0),dh1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],mh1=t(Ja),hh1=t(L0),gh1=t(ua),_h1=[0,[17,0,0],t(jt)],yh1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],Dh1=[0,[15,0],t(si)],vh1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Type.Predicate.Declared\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Type.Predicate.Declared@ \")],bh1=[0,[17,0,[12,41,0]],t(Rt)],Ch1=t(\"Flow_ast.Type.Predicate.Inferred\"),Eh1=[0,[15,0],t(si)],Sh1=t(zu),Fh1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],Ah1=t(\"Flow_ast.Type.Predicate.kind\"),Th1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],wh1=[0,[17,0,0],t(jt)],kh1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Nh1=t(m0),Ph1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Ih1=t(Ja),Oh1=t(L0),Bh1=t(ua),Lh1=[0,[17,0,0],t(jt)],Mh1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],Rh1=[0,[15,0],t(si)],jh1=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],Uh1=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],Vh1=[0,[17,0,[12,41,0]],t(Rt)],$h1=[0,[15,0],t(si)],Kh1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],zh1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[12,91,0]],t($g)],Wh1=[0,[17,[0,t(hd),0,0],[12,93,[17,0,0]]],t(fd)],qh1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Jh1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],Hh1=t(\"Flow_ast.Type.TypeArgs.arguments\"),Gh1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Xh1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[12,91,0]],t($g)],Yh1=[0,[17,[0,t(hd),0,0],[12,93,[17,0,0]]],t(fd)],Qh1=[0,[17,0,0],t(jt)],Zh1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],xg1=t(m0),eg1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],tg1=t(Ja),rg1=t(L0),ng1=t(ua),ig1=[0,[17,0,0],t(jt)],ag1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],og1=[0,[15,0],t(si)],sg1=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],ug1=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],cg1=[0,[17,0,[12,41,0]],t(Rt)],lg1=[0,[15,0],t(si)],fg1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],pg1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[12,91,0]],t($g)],dg1=[0,[17,[0,t(hd),0,0],[12,93,[17,0,0]]],t(fd)],mg1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],hg1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],gg1=t(\"Flow_ast.Type.TypeParams.params\"),_g1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],yg1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[12,91,0]],t($g)],Dg1=[0,[17,[0,t(hd),0,0],[12,93,[17,0,0]]],t(fd)],vg1=[0,[17,0,0],t(jt)],bg1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Cg1=t(m0),Eg1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Sg1=t(Ja),Fg1=t(L0),Ag1=t(ua),Tg1=[0,[17,0,0],t(jt)],wg1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],kg1=[0,[15,0],t(si)],Ng1=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],Pg1=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],Ig1=[0,[17,0,[12,41,0]],t(Rt)],Og1=[0,[15,0],t(si)],Bg1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],Lg1=t(\"Flow_ast.Type.TypeParam.name\"),Mg1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Rg1=[0,[17,0,0],t(jt)],jg1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Ug1=t(Cw),Vg1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],$g1=[0,[17,0,0],t(jt)],Kg1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],zg1=t(Bk),Wg1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],qg1=t(Ja),Jg1=t(L0),Hg1=t(ua),Gg1=[0,[17,0,0],t(jt)],Xg1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Yg1=t(K9),Qg1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Zg1=t(Ja),x_1=t(L0),e_1=t(ua),t_1=[0,[17,0,0],t(jt)],r_1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],n_1=[0,[15,0],t(si)],i_1=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],a_1=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],o_1=[0,[17,0,[12,41,0]],t(Rt)],s_1=[0,[15,0],t(si)],u_1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Type.Missing\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Type.Missing@ \")],c_1=[0,[17,0,[12,41,0]],t(Rt)],l_1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Type.Available\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Type.Available@ \")],f_1=[0,[17,0,[12,41,0]],t(Rt)],p_1=[0,[15,0],t(si)],d_1=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],m_1=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],h_1=[0,[17,0,[12,41,0]],t(Rt)],g_1=[0,[15,0],t(si)],__1=t(zu),y_1=t(zu),D_1=t(zu),v_1=t(zu),b_1=t(zu),C_1=t(zu),E_1=t(zu),S_1=t(zu),F_1=t(zu),A_1=t(zu),T_1=t(zu),w_1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Type.Any\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Type.Any@ \")],k_1=t(Ja),N_1=t(L0),P_1=t(ua),I_1=[0,[17,0,[12,41,0]],t(Rt)],O_1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Type.Mixed\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Type.Mixed@ \")],B_1=t(Ja),L_1=t(L0),M_1=t(ua),R_1=[0,[17,0,[12,41,0]],t(Rt)],j_1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Type.Empty\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Type.Empty@ \")],U_1=t(Ja),V_1=t(L0),$_1=t(ua),K_1=[0,[17,0,[12,41,0]],t(Rt)],z_1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Type.Void\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Type.Void@ \")],W_1=t(Ja),q_1=t(L0),J_1=t(ua),H_1=[0,[17,0,[12,41,0]],t(Rt)],G_1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Type.Null\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Type.Null@ \")],X_1=t(Ja),Y_1=t(L0),Q_1=t(ua),Z_1=[0,[17,0,[12,41,0]],t(Rt)],xy1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Type.Number\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Type.Number@ \")],ey1=t(Ja),ty1=t(L0),ry1=t(ua),ny1=[0,[17,0,[12,41,0]],t(Rt)],iy1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Type.BigInt\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Type.BigInt@ \")],ay1=t(Ja),oy1=t(L0),sy1=t(ua),uy1=[0,[17,0,[12,41,0]],t(Rt)],cy1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Type.String\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Type.String@ \")],ly1=t(Ja),fy1=t(L0),py1=t(ua),dy1=[0,[17,0,[12,41,0]],t(Rt)],my1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Type.Boolean\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Type.Boolean@ \")],hy1=t(Ja),gy1=t(L0),_y1=t(ua),yy1=[0,[17,0,[12,41,0]],t(Rt)],Dy1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Type.Symbol\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Type.Symbol@ \")],vy1=t(Ja),by1=t(L0),Cy1=t(ua),Ey1=[0,[17,0,[12,41,0]],t(Rt)],Sy1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Type.Exists\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Type.Exists@ \")],Fy1=t(Ja),Ay1=t(L0),Ty1=t(ua),wy1=[0,[17,0,[12,41,0]],t(Rt)],ky1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Type.Nullable\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Type.Nullable@ \")],Ny1=[0,[17,0,[12,41,0]],t(Rt)],Py1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Type.Function\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Type.Function@ \")],Iy1=[0,[17,0,[12,41,0]],t(Rt)],Oy1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Type.Object\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Type.Object@ \")],By1=[0,[17,0,[12,41,0]],t(Rt)],Ly1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Type.Interface\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Type.Interface@ \")],My1=[0,[17,0,[12,41,0]],t(Rt)],Ry1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Type.Array\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Type.Array@ \")],jy1=[0,[17,0,[12,41,0]],t(Rt)],Uy1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Type.Generic\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Type.Generic@ \")],Vy1=[0,[17,0,[12,41,0]],t(Rt)],$y1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Type.IndexedAccess\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Type.IndexedAccess@ \")],Ky1=[0,[17,0,[12,41,0]],t(Rt)],zy1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Type.OptionalIndexedAccess\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Type.OptionalIndexedAccess@ \")],Wy1=[0,[17,0,[12,41,0]],t(Rt)],qy1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Type.Union\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Type.Union@ \")],Jy1=[0,[17,0,[12,41,0]],t(Rt)],Hy1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Type.Intersection\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Type.Intersection@ \")],Gy1=[0,[17,0,[12,41,0]],t(Rt)],Xy1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Type.Typeof\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Type.Typeof@ \")],Yy1=[0,[17,0,[12,41,0]],t(Rt)],Qy1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Type.Tuple\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Type.Tuple@ \")],Zy1=[0,[17,0,[12,41,0]],t(Rt)],xD1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Type.StringLiteral\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Type.StringLiteral@ \")],eD1=[0,[17,0,[12,41,0]],t(Rt)],tD1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Type.NumberLiteral\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Type.NumberLiteral@ \")],rD1=[0,[17,0,[12,41,0]],t(Rt)],nD1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Type.BigIntLiteral\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Type.BigIntLiteral@ \")],iD1=[0,[17,0,[12,41,0]],t(Rt)],aD1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Type.BooleanLiteral\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Type.BooleanLiteral@ \")],oD1=[0,[17,0,[12,41,0]],t(Rt)],sD1=[0,[15,0],t(si)],uD1=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],cD1=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],lD1=[0,[17,0,[12,41,0]],t(Rt)],fD1=[0,[15,0],t(si)],pD1=t(zu),dD1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],mD1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],hD1=t(\"Flow_ast.Type.Intersection.types\"),gD1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],_D1=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],yD1=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],DD1=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],vD1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[12,91,0]],t($g)],bD1=[0,[17,[0,t(hd),0,0],[12,93,[17,0,0]]],t(fd)],CD1=[0,[17,0,[12,41,0]],t(Rt)],ED1=[0,[17,0,0],t(jt)],SD1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],FD1=t(m0),AD1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],TD1=t(Ja),wD1=t(L0),kD1=t(ua),ND1=[0,[17,0,0],t(jt)],PD1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],ID1=[0,[15,0],t(si)],OD1=t(zu),BD1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],LD1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],MD1=t(\"Flow_ast.Type.Union.types\"),RD1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],jD1=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],UD1=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],VD1=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],$D1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[12,91,0]],t($g)],KD1=[0,[17,[0,t(hd),0,0],[12,93,[17,0,0]]],t(fd)],zD1=[0,[17,0,[12,41,0]],t(Rt)],WD1=[0,[17,0,0],t(jt)],qD1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],JD1=t(m0),HD1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],GD1=t(Ja),XD1=t(L0),YD1=t(ua),QD1=[0,[17,0,0],t(jt)],ZD1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],xv1=[0,[15,0],t(si)],ev1=t(zu),tv1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],rv1=t(\"Flow_ast.Type.Array.argument\"),nv1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],iv1=[0,[17,0,0],t(jt)],av1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],ov1=t(m0),sv1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],uv1=t(Ja),cv1=t(L0),lv1=t(ua),fv1=[0,[17,0,0],t(jt)],pv1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],dv1=[0,[15,0],t(si)],mv1=t(zu),hv1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],gv1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],_v1=t(\"Flow_ast.Type.Tuple.types\"),yv1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Dv1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[12,91,0]],t($g)],vv1=[0,[17,[0,t(hd),0,0],[12,93,[17,0,0]]],t(fd)],bv1=[0,[17,0,0],t(jt)],Cv1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Ev1=t(m0),Sv1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Fv1=t(Ja),Av1=t(L0),Tv1=t(ua),wv1=[0,[17,0,0],t(jt)],kv1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],Nv1=[0,[15,0],t(si)],Pv1=t(zu),Iv1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],Ov1=t(\"Flow_ast.Type.Typeof.argument\"),Bv1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Lv1=[0,[17,0,0],t(jt)],Mv1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Rv1=t(LF),jv1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Uv1=[0,[9,0,0],t(U6)],Vv1=[0,[17,0,0],t(jt)],$v1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Kv1=t(m0),zv1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Wv1=t(Ja),qv1=t(L0),Jv1=t(ua),Hv1=[0,[17,0,0],t(jt)],Gv1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],Xv1=[0,[15,0],t(si)],Yv1=t(zu),Qv1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],Zv1=t(\"Flow_ast.Type.Nullable.argument\"),xb1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],eb1=[0,[17,0,0],t(jt)],tb1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],rb1=t(m0),nb1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],ib1=t(Ja),ab1=t(L0),ob1=t(ua),sb1=[0,[17,0,0],t(jt)],ub1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],cb1=[0,[15,0],t(si)],lb1=t(zu),fb1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],pb1=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],db1=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],mb1=[0,[17,0,[12,41,0]],t(Rt)],hb1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],gb1=t(\"Flow_ast.Type.Interface.body\"),_b1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],yb1=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],Db1=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],vb1=[0,[17,0,[12,41,0]],t(Rt)],bb1=[0,[17,0,0],t(jt)],Cb1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Eb1=t(sN),Sb1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Fb1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[12,91,0]],t($g)],Ab1=[0,[17,[0,t(hd),0,0],[12,93,[17,0,0]]],t(fd)],Tb1=[0,[17,0,0],t(jt)],wb1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],kb1=t(m0),Nb1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Pb1=t(Ja),Ib1=t(L0),Ob1=t(ua),Bb1=[0,[17,0,0],t(jt)],Lb1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],Mb1=[0,[15,0],t(si)],Rb1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Type.Object.Property\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Type.Object.Property@ \")],jb1=[0,[17,0,[12,41,0]],t(Rt)],Ub1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Type.Object.SpreadProperty\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Type.Object.SpreadProperty@ \")],Vb1=[0,[17,0,[12,41,0]],t(Rt)],$b1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Type.Object.Indexer\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Type.Object.Indexer@ \")],Kb1=[0,[17,0,[12,41,0]],t(Rt)],zb1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Type.Object.CallProperty\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Type.Object.CallProperty@ \")],Wb1=[0,[17,0,[12,41,0]],t(Rt)],qb1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Type.Object.InternalSlot\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Type.Object.InternalSlot@ \")],Jb1=[0,[17,0,[12,41,0]],t(Rt)],Hb1=[0,[15,0],t(si)],Gb1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Xb1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[12,91,0]],t($g)],Yb1=[0,[17,[0,t(hd),0,0],[12,93,[17,0,0]]],t(fd)],Qb1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Zb1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],x71=t(\"Flow_ast.Type.Object.exact\"),e71=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],t71=[0,[9,0,0],t(U6)],r71=[0,[17,0,0],t(jt)],n71=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],i71=t(yU),a71=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],o71=[0,[9,0,0],t(U6)],s71=[0,[17,0,0],t(jt)],u71=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],c71=t(MB),l71=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],f71=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[12,91,0]],t($g)],p71=[0,[17,[0,t(hd),0,0],[12,93,[17,0,0]]],t(fd)],d71=[0,[17,0,0],t(jt)],m71=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],h71=t(m0),g71=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],_71=t(Ja),y71=t(L0),D71=t(ua),v71=[0,[17,0,0],t(jt)],b71=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],C71=[0,[15,0],t(si)],E71=t(zu),S71=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],F71=t(\"Flow_ast.Type.Object.InternalSlot.id\"),A71=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],T71=[0,[17,0,0],t(jt)],w71=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],k71=t(yg),N71=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],P71=[0,[17,0,0],t(jt)],I71=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],O71=t(T5),B71=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],L71=[0,[9,0,0],t(U6)],M71=[0,[17,0,0],t(jt)],R71=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],j71=t(I),U71=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],V71=[0,[9,0,0],t(U6)],$71=[0,[17,0,0],t(jt)],K71=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],z71=t(Ts),W71=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],q71=[0,[9,0,0],t(U6)],J71=[0,[17,0,0],t(jt)],H71=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],G71=t(m0),X71=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Y71=t(Ja),Q71=t(L0),Z71=t(ua),x31=[0,[17,0,0],t(jt)],e31=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],t31=[0,[15,0],t(si)],r31=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],n31=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],i31=[0,[17,0,[12,41,0]],t(Rt)],a31=[0,[15,0],t(si)],o31=t(zu),s31=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],u31=t(\"Flow_ast.Type.Object.CallProperty.value\"),c31=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],l31=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],f31=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],p31=[0,[17,0,[12,41,0]],t(Rt)],d31=[0,[17,0,0],t(jt)],m31=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],h31=t(I),g31=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],_31=[0,[9,0,0],t(U6)],y31=[0,[17,0,0],t(jt)],D31=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],v31=t(m0),b31=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],C31=t(Ja),E31=t(L0),S31=t(ua),F31=[0,[17,0,0],t(jt)],A31=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],T31=[0,[15,0],t(si)],w31=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],k31=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],N31=[0,[17,0,[12,41,0]],t(Rt)],P31=[0,[15,0],t(si)],I31=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],O31=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],B31=[0,[17,0,[12,41,0]],t(Rt)],L31=[0,[15,0],t(si)],M31=t(zu),R31=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],j31=t(\"Flow_ast.Type.Object.Indexer.id\"),U31=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],V31=t(Ja),$31=t(L0),K31=t(ua),z31=[0,[17,0,0],t(jt)],W31=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],q31=t(XN),J31=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],H31=[0,[17,0,0],t(jt)],G31=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],X31=t(yg),Y31=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Q31=[0,[17,0,0],t(jt)],Z31=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],xC1=t(I),eC1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],tC1=[0,[9,0,0],t(U6)],rC1=[0,[17,0,0],t(jt)],nC1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],iC1=t(Bk),aC1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],oC1=t(Ja),sC1=t(L0),uC1=t(ua),cC1=[0,[17,0,0],t(jt)],lC1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],fC1=t(m0),pC1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],dC1=t(Ja),mC1=t(L0),hC1=t(ua),gC1=[0,[17,0,0],t(jt)],_C1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],yC1=[0,[15,0],t(si)],DC1=t(zu),vC1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],bC1=t(\"Flow_ast.Type.Object.SpreadProperty.argument\"),CC1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],EC1=[0,[17,0,0],t(jt)],SC1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],FC1=t(m0),AC1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],TC1=t(Ja),wC1=t(L0),kC1=t(ua),NC1=[0,[17,0,0],t(jt)],PC1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],IC1=[0,[15,0],t(si)],OC1=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],BC1=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],LC1=[0,[17,0,[12,41,0]],t(Rt)],MC1=[0,[15,0],t(si)],RC1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Type.Object.Property.Init\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Type.Object.Property.Init@ \")],jC1=[0,[17,0,[12,41,0]],t(Rt)],UC1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Type.Object.Property.Get\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Type.Object.Property.Get@ \")],VC1=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],$C1=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],KC1=[0,[17,0,[12,41,0]],t(Rt)],zC1=[0,[17,0,[12,41,0]],t(Rt)],WC1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Type.Object.Property.Set\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Type.Object.Property.Set@ \")],qC1=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],JC1=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],HC1=[0,[17,0,[12,41,0]],t(Rt)],GC1=[0,[17,0,[12,41,0]],t(Rt)],XC1=[0,[15,0],t(si)],YC1=t(zu),QC1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],ZC1=t(\"Flow_ast.Type.Object.Property.key\"),xE1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],eE1=[0,[17,0,0],t(jt)],tE1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],rE1=t(yg),nE1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],iE1=[0,[17,0,0],t(jt)],aE1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],oE1=t(T5),sE1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],uE1=[0,[9,0,0],t(U6)],cE1=[0,[17,0,0],t(jt)],lE1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],fE1=t(I),pE1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],dE1=[0,[9,0,0],t(U6)],mE1=[0,[17,0,0],t(jt)],hE1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],gE1=t(LR),_E1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],yE1=[0,[9,0,0],t(U6)],DE1=[0,[17,0,0],t(jt)],vE1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],bE1=t(Ts),CE1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],EE1=[0,[9,0,0],t(U6)],SE1=[0,[17,0,0],t(jt)],FE1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],AE1=t(Bk),TE1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],wE1=t(Ja),kE1=t(L0),NE1=t(ua),PE1=[0,[17,0,0],t(jt)],IE1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],OE1=t(m0),BE1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],LE1=t(Ja),ME1=t(L0),RE1=t(ua),jE1=[0,[17,0,0],t(jt)],UE1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],VE1=[0,[15,0],t(si)],$E1=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],KE1=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],zE1=[0,[17,0,[12,41,0]],t(Rt)],WE1=[0,[15,0],t(si)],qE1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],JE1=t(\"Flow_ast.Type.OptionalIndexedAccess.indexed_access\"),HE1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],GE1=[0,[17,0,0],t(jt)],XE1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],YE1=t(T5),QE1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],ZE1=[0,[9,0,0],t(U6)],x81=[0,[17,0,0],t(jt)],e81=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],t81=[0,[15,0],t(si)],r81=t(zu),n81=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],i81=t(\"Flow_ast.Type.IndexedAccess._object\"),a81=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],o81=[0,[17,0,0],t(jt)],s81=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],u81=t(\"index\"),c81=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],l81=[0,[17,0,0],t(jt)],f81=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],p81=t(m0),d81=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],m81=t(Ja),h81=t(L0),g81=t(ua),_81=[0,[17,0,0],t(jt)],y81=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],D81=[0,[15,0],t(si)],v81=t(zu),b81=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],C81=t(\"Flow_ast.Type.Generic.id\"),E81=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],S81=[0,[17,0,0],t(jt)],F81=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],A81=t(sI),T81=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],w81=t(Ja),k81=t(L0),N81=t(ua),P81=[0,[17,0,0],t(jt)],I81=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],O81=t(m0),B81=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],L81=t(Ja),M81=t(L0),R81=t(ua),j81=[0,[17,0,0],t(jt)],U81=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],V81=[0,[15,0],t(si)],$81=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],K81=t(\"Flow_ast.Type.Generic.Identifier.qualification\"),z81=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],W81=[0,[17,0,0],t(jt)],q81=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],J81=t(ii),H81=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],G81=[0,[17,0,0],t(jt)],X81=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],Y81=[0,[15,0],t(si)],Q81=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],Z81=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],x61=[0,[17,0,[12,41,0]],t(Rt)],e61=[0,[15,0],t(si)],t61=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Type.Generic.Identifier.Unqualified\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Type.Generic.Identifier.Unqualified@ \")],r61=[0,[17,0,[12,41,0]],t(Rt)],n61=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Type.Generic.Identifier.Qualified\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Type.Generic.Identifier.Qualified@ \")],i61=[0,[17,0,[12,41,0]],t(Rt)],a61=[0,[15,0],t(si)],o61=t(zu),s61=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],u61=t(\"Flow_ast.Type.Function.tparams\"),c61=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],l61=t(Ja),f61=t(L0),p61=t(ua),d61=[0,[17,0,0],t(jt)],m61=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],h61=t($8),g61=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],_61=[0,[17,0,0],t(jt)],y61=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],D61=t(Fs),v61=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],b61=[0,[17,0,0],t(jt)],C61=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],E61=t(m0),S61=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],F61=t(Ja),A61=t(L0),T61=t(ua),w61=[0,[17,0,0],t(jt)],k61=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],N61=[0,[15,0],t(si)],P61=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],I61=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[12,91,0]],t($g)],O61=[0,[17,[0,t(hd),0,0],[12,93,[17,0,0]]],t(fd)],B61=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],L61=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],M61=t(\"Flow_ast.Type.Function.Params.this_\"),R61=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],j61=t(Ja),U61=t(L0),V61=t(ua),$61=[0,[17,0,0],t(jt)],K61=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],z61=t($8),W61=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],q61=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[12,91,0]],t($g)],J61=[0,[17,[0,t(hd),0,0],[12,93,[17,0,0]]],t(fd)],H61=[0,[17,0,0],t(jt)],G61=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],X61=t(h1),Y61=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Q61=t(Ja),Z61=t(L0),xS1=t(ua),eS1=[0,[17,0,0],t(jt)],tS1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],rS1=t(m0),nS1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],iS1=t(Ja),aS1=t(L0),oS1=t(ua),sS1=[0,[17,0,0],t(jt)],uS1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],cS1=[0,[15,0],t(si)],lS1=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],fS1=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],pS1=[0,[17,0,[12,41,0]],t(Rt)],dS1=[0,[15,0],t(si)],mS1=t(zu),hS1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],gS1=t(\"Flow_ast.Type.Function.ThisParam.annot\"),_S1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],yS1=[0,[17,0,0],t(jt)],DS1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],vS1=t(m0),bS1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],CS1=t(Ja),ES1=t(L0),SS1=t(ua),FS1=[0,[17,0,0],t(jt)],AS1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],TS1=[0,[15,0],t(si)],wS1=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],kS1=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],NS1=[0,[17,0,[12,41,0]],t(Rt)],PS1=[0,[15,0],t(si)],IS1=t(zu),OS1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],BS1=t(\"Flow_ast.Type.Function.RestParam.argument\"),LS1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],MS1=[0,[17,0,0],t(jt)],RS1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],jS1=t(m0),US1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],VS1=t(Ja),$S1=t(L0),KS1=t(ua),zS1=[0,[17,0,0],t(jt)],WS1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],qS1=[0,[15,0],t(si)],JS1=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],HS1=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],GS1=[0,[17,0,[12,41,0]],t(Rt)],XS1=[0,[15,0],t(si)],YS1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],QS1=t(\"Flow_ast.Type.Function.Param.name\"),ZS1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],xF1=t(Ja),eF1=t(L0),tF1=t(ua),rF1=[0,[17,0,0],t(jt)],nF1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],iF1=t(u0),aF1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],oF1=[0,[17,0,0],t(jt)],sF1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],uF1=t(T5),cF1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],lF1=[0,[9,0,0],t(U6)],fF1=[0,[17,0,0],t(jt)],pF1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],dF1=[0,[15,0],t(si)],mF1=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],hF1=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],gF1=[0,[17,0,[12,41,0]],t(Rt)],_F1=[0,[15,0],t(si)],yF1=t(zu),DF1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],vF1=t(\"Flow_ast.ComputedKey.expression\"),bF1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],CF1=[0,[17,0,0],t(jt)],EF1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],SF1=t(m0),FF1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],AF1=t(Ja),TF1=t(L0),wF1=t(ua),kF1=[0,[17,0,0],t(jt)],NF1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],PF1=[0,[15,0],t(si)],IF1=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],OF1=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],BF1=[0,[17,0,[12,41,0]],t(Rt)],LF1=[0,[15,0],t(si)],MF1=t(zu),RF1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],jF1=t(\"Flow_ast.Variance.kind\"),UF1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],VF1=[0,[17,0,0],t(jt)],$F1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],KF1=t(m0),zF1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],WF1=t(Ja),qF1=t(L0),JF1=t(ua),HF1=[0,[17,0,0],t(jt)],GF1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],XF1=[0,[15,0],t(si)],YF1=t(\"Flow_ast.Variance.Minus\"),QF1=t(\"Flow_ast.Variance.Plus\"),ZF1=[0,[15,0],t(si)],x41=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],e41=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],t41=[0,[17,0,[12,41,0]],t(Rt)],r41=[0,[15,0],t(si)],n41=t(zu),i41=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],a41=t(\"Flow_ast.BooleanLiteral.value\"),o41=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],s41=[0,[9,0,0],t(U6)],u41=[0,[17,0,0],t(jt)],c41=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],l41=t(m0),f41=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],p41=t(Ja),d41=t(L0),m41=t(ua),h41=[0,[17,0,0],t(jt)],g41=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],_41=[0,[15,0],t(si)],y41=t(zu),D41=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],v41=t(\"Flow_ast.BigIntLiteral.approx_value\"),b41=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],C41=[0,[8,[0,0,5],0,0,0],t(fa)],E41=[0,[17,0,0],t(jt)],S41=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],F41=t(QB),A41=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],T41=[0,[3,0,0],t(H5)],w41=[0,[17,0,0],t(jt)],k41=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],N41=t(m0),P41=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],I41=t(Ja),O41=t(L0),B41=t(ua),L41=[0,[17,0,0],t(jt)],M41=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],R41=[0,[15,0],t(si)],j41=t(zu),U41=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],V41=t(\"Flow_ast.NumberLiteral.value\"),$41=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],K41=[0,[8,[0,0,5],0,0,0],t(fa)],z41=[0,[17,0,0],t(jt)],W41=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],q41=t(Ft),J41=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],H41=[0,[3,0,0],t(H5)],G41=[0,[17,0,0],t(jt)],X41=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],Y41=t(m0),Q41=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Z41=t(Ja),xA1=t(L0),eA1=t(ua),tA1=[0,[17,0,0],t(jt)],rA1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],nA1=[0,[15,0],t(si)],iA1=t(zu),aA1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],oA1=t(\"Flow_ast.StringLiteral.value\"),sA1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],uA1=[0,[3,0,0],t(H5)],cA1=[0,[17,0,0],t(jt)],lA1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],fA1=t(Ft),pA1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],dA1=[0,[3,0,0],t(H5)],mA1=[0,[17,0,0],t(jt)],hA1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],gA1=t(m0),_A1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],yA1=t(Ja),DA1=t(L0),vA1=t(ua),bA1=[0,[17,0,0],t(jt)],CA1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],EA1=[0,[15,0],t(si)],SA1=t(\"Flow_ast.Literal.Null\"),FA1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Literal.String\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Literal.String@ \")],AA1=[0,[3,0,0],t(H5)],TA1=[0,[17,0,[12,41,0]],t(Rt)],wA1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Literal.Boolean\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Literal.Boolean@ \")],kA1=[0,[9,0,0],t(U6)],NA1=[0,[17,0,[12,41,0]],t(Rt)],PA1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Literal.Number\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Literal.Number@ \")],IA1=[0,[8,[0,0,5],0,0,0],t(fa)],OA1=[0,[17,0,[12,41,0]],t(Rt)],BA1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Literal.BigInt\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Literal.BigInt@ \")],LA1=[0,[8,[0,0,5],0,0,0],t(fa)],MA1=[0,[17,0,[12,41,0]],t(Rt)],RA1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"Flow_ast.Literal.RegExp\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>Flow_ast.Literal.RegExp@ \")],jA1=[0,[17,0,[12,41,0]],t(Rt)],UA1=[0,[15,0],t(si)],VA1=t(zu),$A1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],KA1=t(\"Flow_ast.Literal.value\"),zA1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],WA1=[0,[17,0,0],t(jt)],qA1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],JA1=t(Ft),HA1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],GA1=[0,[3,0,0],t(H5)],XA1=[0,[17,0,0],t(jt)],YA1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],QA1=t(m0),ZA1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],xT1=t(Ja),eT1=t(L0),tT1=t(ua),rT1=[0,[17,0,0],t(jt)],nT1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],iT1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],aT1=t(\"Flow_ast.Literal.RegExp.pattern\"),oT1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],sT1=[0,[3,0,0],t(H5)],uT1=[0,[17,0,0],t(jt)],cT1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],lT1=t(nU),fT1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],pT1=[0,[3,0,0],t(H5)],dT1=[0,[17,0,0],t(jt)],mT1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],hT1=[0,[15,0],t(si)],gT1=[0,[15,0],t(si)],_T1=t(zu),yT1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],DT1=t(\"Flow_ast.PrivateName.id\"),vT1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],bT1=[0,[17,0,0],t(jt)],CT1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],ET1=t(m0),ST1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],FT1=t(Ja),AT1=t(L0),TT1=t(ua),wT1=[0,[17,0,0],t(jt)],kT1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],NT1=[0,[15,0],t(si)],PT1=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],IT1=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],OT1=[0,[17,0,[12,41,0]],t(Rt)],BT1=[0,[15,0],t(si)],LT1=t(zu),MT1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],RT1=t(\"Flow_ast.Identifier.name\"),jT1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],UT1=[0,[3,0,0],t(H5)],VT1=[0,[17,0,0],t(jt)],$T1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],KT1=t(m0),zT1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],WT1=t(Ja),qT1=t(L0),JT1=t(ua),HT1=[0,[17,0,0],t(jt)],GT1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],XT1=[0,[15,0],t(si)],YT1=[0,[12,40,[18,[1,[0,0,t(ke)]],0]],t(xo)],QT1=[0,[12,44,[17,[0,t(f1),1,0],0]],t(sc)],ZT1=[0,[17,0,[12,41,0]],t(Rt)],x51=[0,[15,0],t(si)],e51=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],t51=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],r51=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],n51=t(\"Flow_ast.Syntax.leading\"),i51=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],a51=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[12,91,0]],t($g)],o51=[0,[17,[0,t(hd),0,0],[12,93,[17,0,0]]],t(fd)],s51=[0,[17,0,0],t(jt)],u51=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],c51=t(\"trailing\"),l51=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],f51=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[12,91,0]],t($g)],p51=[0,[17,[0,t(hd),0,0],[12,93,[17,0,0]]],t(fd)],d51=[0,[17,0,0],t(jt)],m51=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],h51=t(LF),g51=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],_51=[0,[17,0,0],t(jt)],y51=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],D51=[0,[0,0,0]],v51=[0,t(ww),22,2],b51=[0,[0,0,0,0,0]],C51=[0,t(ww),33,2],E51=[0,[0,0,0,0,0]],S51=[0,t(ww),44,2],F51=[0,[0,[0,[0,0,0]],0,0,0,0]],A51=[0,t(ww),71,2],T51=[0,[0,0,0]],w51=[0,t(ww),81,2],k51=[0,[0,0,0]],N51=[0,t(ww),91,2],P51=[0,[0,0,0]],I51=[0,t(ww),F4,2],O51=[0,[0,0,0]],B51=[0,t(ww),zx,2],L51=[0,[0,0,0,0,0,0,0]],M51=[0,t(ww),Ck,2],R51=[0,[0,0,0,0,0]],j51=[0,t(ww),137,2],U51=[0,[0,[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],0,0,0,0,0,0,0,0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0,0,0]]]],V51=[0,t(ww),475,2],$51=[0,[0,[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],0,0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0]],0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],0,0,0,0,0,0]],K51=[0,t(ww),1010,2],z51=[0,[0,[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],0,0,[0,[0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],0,0,0,0]],W51=[0,t(ww),1442,2],q51=[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0,0,0]],0,0,[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],0,0,0,0,0,0,0,0]],J51=[0,t(ww),1586,2],H51=[0,[0,[0,[0,0,0,0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],0,0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0]],0,0,0,0]],G51=[0,t(ww),1671,2],X51=[0,[0,0,0,0,0,0,0]],Y51=[0,t(ww),1687,2],Q51=[0,[0,[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],0,0]],Z51=[0,t(ww),1810,2],xw1=[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],0,0,0,0]],ew1=[0,t(ww),1877,2],tw1=[0,[0,0,0,0,0]],rw1=[0,t(ww),1889,2],nw1=[0,[0,0,0]],iw1=[0,[0,0,0,0,0]],aw1=[0,[0,0,0,0,0]],ow1=[0,[0,[0,[0,0,0]],0,0,0,0]],sw1=[0,[0,0,0]],uw1=[0,[0,0,0]],cw1=[0,[0,0,0]],lw1=[0,[0,0,0]],fw1=[0,[0,0,0,0,0,0,0]],pw1=[0,[0,0,0,0,0]],dw1=[0,[0,[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],0,0,0,0,0,0,0,0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0,0,0]]]],mw1=[0,[0,[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],0,0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0]],0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],0,0,0,0,0,0]],hw1=[0,[0,[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],0,0,[0,[0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],0,0,0,0]],gw1=[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0,0,0]],0,0,[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],0,0,0,0,0,0,0,0]],_w1=[0,[0,[0,[0,0,0,0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],0,0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0]],0,0,0,0]],yw1=[0,[0,0,0,0,0,0,0]],Dw1=[0,[0,[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],0,0]],vw1=[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],0,0,0,0]],bw1=[0,[0,0,0,0,0]],Cw1=[0,1],Ew1=[0,0],Sw1=[0,2],Fw1=[0,0],Aw1=[0,1],Tw1=[0,1],ww1=[0,1],kw1=[0,1],Nw1=[0,0,0],Pw1=[0,0,0],Iw1=[0,t(uN),t(x9),t(DR),t(JB),t(Bk),t(GN),t(Ni),t(_I),t(OB),t(kR),t(zI),t(CM),t(pT),t(IN),t(WO),t(iN),t(r9),t(v9),t(rF),t(qc),t(fT),t(jN),t($k),t(wO),t(cd),t(HB),t(oS),t(zB),t($p),t(w),t(eI),t(KI),t(Rk),t(nj),t(yM),t(x4),t(LN),t(Ze),t(kM),t(BN),t(Kr),t(Fs),t(E4),t(iL),t(ya),t(oN),t(pN),t(BR),t(sL),t(d6),t(SU),t(dM),t(rL),t(k2),t(Dc),t(lT),t(H0),t(aj),t(QO),t(UR),t(iE),t(Vd),t(S1),t($1),t(Aw),t(fM),t(YB),t(oo),t(Wk),t(uM),t(tj),t(EM),t(lM),t(VI),t(dt),t(kc),t(C4),t(h9),t(Vt),t(bP),t(aL),t(_0),t(pL),t(Jw),t(q5),t(LO),t(OF),t(ur),t(TM),t(zt),t(rj),t(Vu),t(Qs),t(WR),t(xk),t(wr),t(M9),t($O),t(aN),t(ij),t(yt),t(MF),t(oj),t(hU),t(eL),t(JA),t(PF),t(l5),t(j9),t(Ln),t(vR),t(jk),t(ZP),t(FM),t(f2),t(SA),t(ba),t(Q1),t(UO),t(hM),t(hL),t(cT),t(w5),t(jI),t(vP),t(S),t(EP),t(_M),t(ow),t(DM),t(F5),t(ZL),t(_L),t(nI),t(mI),t(dT),t(VS),t(ZO),t(pP),t(SM),t(Q6),t(SP),t(qE),t($R),t(mt),t(HO),t(Ps),t($9),t(HI),t(gr),t(o5),t(wS),t(Hc),t(yr),t(qO),t(AU),t(vC),t(WB),t(dF),t(mL),t(c5),t(qR),t(GO),t(FP),t(DS),t(oL),t(FO),t(m9),t(GL),t(kT),t(Hw),t(jR),t(nk),t(QR),t(N),t(iI),t(S4),t(ir),t(rr),t(XI),t(rN),t(BB),t(aU),t(no),t(nL),t(RR),t(VR),t(tk),t(SR),t(fI),t(gc),t(qB),t($N),t(pM),t(j1),t(JR),t(zO),t(xt),t(pn),t(jB),t(tL),t(rI),t(k0),t(xM),t(ro),t(wR),t(Le),t(e4),t(JP),t(JO),t(Sc),t(uT),t(J2),t(YI),t(GR),t(WN),t(XR),t(OI),t(WT),t(rn),t(ER),t(Fa),t(cP),t(Qo),t(DU),t(ZF),t(oa),t(Xs),t(vk),t(u5),t(jO),t(qN),t(KO),t(NO),t(T1)],Ow1=[0,t(Ze),t(Q1),t(HI),t(pP),t(cP),t(lT),t(LO),t(Vt),t(l5),t(vP),t(v9),t(Rk),t(uM),t(jR),t(YI),t(FM),t(OF),t(SA),t(RR),t(x9),t(dF),t(ij),t(q5),t(Q6),t(nL),t(ZO),t(JB),t(DS),t(rL),t(j1),t(rn),t(gr),t(WT),t(jk),t(ir),t($R),t(QO),t(mL),t(KI),t(vk),t(bP),t(dT),t(x4),t(VR),t(aN),t(ur),t(uT),t(wR),t(fM),t(sL),t(h9),t(BR),t(eL),t(JP),t(EM),t(oN),t(kc),t(HO),t(TM),t(j9),t(ZP),t(SM),t(wr),t(tL),t(qc),t(rN),t(C4),t(JA),t(k0),t(M9),t($9),t(dM),t(KO),t($N),t(iI),t(Vu),t($1),t(NO),t(ER),t(Kr),t(Bk),t(pN),t(mI),t(Xs),t(WB),t(wO),t(hL),t(J2),t(pL),t(eI),t(tk),t(GO),t(rF),t(uN),t($k),t(zO),t(CM),t(Vd),t(E4),t(zI),t(ro),t(JR),t(_I),t(f2),t(d6),t(jI),t(aU),t(m9),t(tj),t(nk),t($O),t(iE),t(oL),t(IN),t(jN),t(GN),t(kM),t(pT),t(kR),t(JO),t(c5),t(Le),t(WR),t(Ps),t(OB),t(xM),t(Jw),t(MF),t(u5),t(Qs),t(WN),t(_M),t(UR),t(YB),t(oj),t(rj),t(nI),t(Fs),t(DU),t(nj),t(aj),t(cd),t(pn),t(VS),t(Wk),t(kT),t(ba),t(Aw),t(Hc),t(no),t(ow),t(e4),t(o5),t(xk),t(UO),t(SP),t(mt),t(BB),t(ya),t(AU),t(ZL),t(XI),t(N),t(_0),t(BN),t(DM),t(VI),t(k2),t(fT),t(dt),t(WO),t(Fa),t(qB),t(XR),t(pM),t(cT),t(w),t(qE),t(iL),t(_L),t(GR),t(aL),t(vR),t(Sc),t(S),t(SR),t(r9),t(T1),t(Ni),t(OI),t(iN),t(fI),t(Ln),t(hM),t(rI),t(yt),t(Dc),t(w5),t(FO),t(hU),t(zB),t(jO),t(H0),t(oa),t(Hw),t(S1),t(GL),t(yr),t(qO),t(LN),t(jB),t(wS),t(SU),t(S4),t(gc),t(oS),t($p),t(yM),t(vC),t(QR),t(qR),t(oo),t(ZF),t(F5),t(PF),t(lM),t(xt),t(rr),t(Qo),t(qN),t(EP),t(DR),t(FP),t(HB),t(zt)],Bw1=t(\"File_key.Builtins\"),Lw1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"File_key.LibFile\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>File_key.LibFile@ \")],Mw1=[0,[3,0,0],t(H5)],Rw1=[0,[17,0,[12,41,0]],t(Rt)],jw1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"File_key.SourceFile\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>File_key.SourceFile@ \")],Uw1=[0,[3,0,0],t(H5)],Vw1=[0,[17,0,[12,41,0]],t(Rt)],$w1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"File_key.JsonFile\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>File_key.JsonFile@ \")],Kw1=[0,[3,0,0],t(H5)],zw1=[0,[17,0,[12,41,0]],t(Rt)],Ww1=[0,[12,40,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(\"File_key.ResourceFile\"),[17,[0,t(f1),1,0],0]]]],t(\"(@[<2>File_key.ResourceFile@ \")],qw1=[0,[3,0,0],t(H5)],Jw1=[0,[17,0,[12,41,0]],t(Rt)],Hw1=t(au),Gw1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],Xw1=t(\"Loc.line\"),Yw1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],Qw1=[0,[4,0,0,0,0],t(AA)],Zw1=[0,[17,0,0],t(jt)],xk1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],ek1=t(qP),tk1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],rk1=[0,[4,0,0,0,0],t(AA)],nk1=[0,[17,0,0],t(jt)],ik1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],ak1=[0,[15,0],t(si)],ok1=[0,[18,[1,[0,[11,t(xe),0],t(xe)]],[11,t(Jo),0]],t(So)],sk1=t(\"Loc.source\"),uk1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],ck1=t(Ja),lk1=t(L0),fk1=t(ua),pk1=[0,[17,0,0],t(jt)],dk1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],mk1=t(bl),hk1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],gk1=[0,[17,0,0],t(jt)],_k1=[0,[12,59,[17,[0,t(f1),1,0],0]],t(Yr)],yk1=t(\"_end\"),Dk1=[0,[18,[1,[0,0,t(ke)]],[2,0,[11,t(Pt),[17,[0,t(f1),1,0],0]]]],t(Ve)],vk1=[0,[17,0,0],t(jt)],bk1=[0,[17,[0,t(f1),1,0],[12,Ho,[17,0,0]]],t(fs)],Ck1=t(\"==\"),Ek1=t(\"!=\"),Sk1=t(\"===\"),Fk1=t(\"!==\"),Ak1=t(RO),Tk1=t(\"<=\"),wk1=t(w8),kk1=t(\">=\"),Nk1=t(\"<<\"),Pk1=t(\">>\"),Ik1=t(\">>>\"),Ok1=t(pI),Bk1=t(JN),Lk1=t(\"*\"),Mk1=t(\"**\"),Rk1=t(X6),jk1=t(\"%\"),Uk1=t(\"|\"),Vk1=t(lI),$k1=t(\"&\"),Kk1=t(Dk),zk1=t(it),Wk1=t(\"+=\"),qk1=t(\"-=\"),Jk1=t(\"*=\"),Hk1=t(\"**=\"),Gk1=t(\"/=\"),Xk1=t(\"%=\"),Yk1=t(\"<<=\"),Qk1=t(\">>=\"),Zk1=t(VB),x91=t(\"|=\"),e91=t(\"^=\"),t91=t(\"&=\"),r91=t(WP),n91=t(GP),i91=t(mM),a91=t(k1),o91=t(\"Cannot export an enum with `export type`, try `export enum E {}` or `module.exports = E;` instead.\"),s91=t(\"Enum members are separated with `,`. Replace `;` with `,`.\"),u91=t(\"Unexpected reserved word\"),c91=t(\"Unexpected reserved type\"),l91=t(\"Unexpected `super` outside of a class method\"),f91=t(\"`super()` is only valid in a class constructor\"),p91=t(\"Unexpected end of input\"),d91=t(\"Unexpected variance sigil\"),m91=t(\"Unexpected static modifier\"),h91=t(\"Unexpected proto modifier\"),g91=t(\"Type aliases are not allowed in untyped mode\"),_91=t(\"Opaque type aliases are not allowed in untyped mode\"),y91=t(\"Type annotations are not allowed in untyped mode\"),D91=t(\"Type declarations are not allowed in untyped mode\"),v91=t(\"Type imports are not allowed in untyped mode\"),b91=t(\"Type exports are not allowed in untyped mode\"),C91=t(\"Interfaces are not allowed in untyped mode\"),E91=t(\"Spreading a type is only allowed inside an object type\"),S91=t(\"Explicit inexact syntax must come at the end of an object type\"),F91=t(\"Explicit inexact syntax cannot appear inside an explicit exact object type\"),A91=t(\"Explicit inexact syntax can only appear inside an object type\"),T91=t(\"Illegal newline after throw\"),w91=t(\"A bigint literal must be an integer\"),k91=t(\"A bigint literal cannot use exponential notation\"),N91=t(\"Invalid regular expression\"),P91=t(\"Invalid regular expression: missing /\"),I91=t(\"Invalid left-hand side in assignment\"),O91=t(\"Invalid left-hand side in exponentiation expression\"),B91=t(\"Invalid left-hand side in for-in\"),L91=t(\"Invalid left-hand side in for-of\"),M91=t(\"Invalid optional indexed access. Indexed access uses bracket notation. Use the format `T?.[K]`.\"),R91=t(\"found an expression instead\"),j91=t(\"Expected an object pattern, array pattern, or an identifier but \"),U91=t(\"More than one default clause in switch statement\"),V91=t(\"Missing catch or finally after try\"),$91=t(\"Illegal continue statement\"),K91=t(\"Illegal break statement\"),z91=t(\"Illegal return statement\"),W91=t(\"Illegal Unicode escape\"),q91=t(\"Strict mode code may not include a with statement\"),J91=t(\"Catch variable may not be eval or arguments in strict mode\"),H91=t(\"Variable name may not be eval or arguments in strict mode\"),G91=t(\"Parameter name eval or arguments is not allowed in strict mode\"),X91=t(\"Strict mode function may not have duplicate parameter names\"),Y91=t(\"Function name may not be eval or arguments in strict mode\"),Q91=t(\"Octal literals are not allowed in strict mode.\"),Z91=t(\"Number literals with leading zeros are not allowed in strict mode.\"),xN1=t(\"Delete of an unqualified identifier in strict mode.\"),eN1=t(\"Duplicate data property in object literal not allowed in strict mode\"),tN1=t(\"Object literal may not have data and accessor property with the same name\"),rN1=t(\"Object literal may not have multiple get/set accessors with the same name\"),nN1=t(\"Assignment to eval or arguments is not allowed in strict mode\"),iN1=t(\"Postfix increment/decrement may not have eval or arguments operand in strict mode\"),aN1=t(\"Prefix increment/decrement may not have eval or arguments operand in strict mode\"),oN1=t(\"Use of future reserved word in strict mode\"),sN1=t(\"JSX attributes must only be assigned a non-empty expression\"),uN1=t(\"JSX value should be either an expression or a quoted JSX text\"),cN1=t(\"Const must be initialized\"),lN1=t(\"Destructuring assignment must be initialized\"),fN1=t(\"Illegal newline before arrow\"),pN1=t(uU),dN1=t(\"Async functions can only be declared at top level or \"),mN1=t(uU),hN1=t(\"Generators can only be declared at top level or \"),gN1=t(\"elements must be wrapped in an enclosing parent tag\"),_N1=t(\"Unexpected token <. Remember, adjacent JSX \"),yN1=t(\"Rest parameter must be final parameter of an argument list\"),DN1=t(\"Rest element must be final element of an array pattern\"),vN1=t(\"Rest property must be final property of an object pattern\"),bN1=t(\"async is an implementation detail and isn't necessary for your declare function statement. It is sufficient for your declare function to just have a Promise return type.\"),CN1=t(\"`declare` modifier can only appear on class fields.\"),EN1=t(\"Unexpected token `=`. Initializers are not allowed in a `declare`.\"),SN1=t(\"Unexpected token `=`. Initializers are not allowed in a `declare opaque type`.\"),FN1=t(\"`declare export let` is not supported. Use `declare export var` instead.\"),AN1=t(\"`declare export const` is not supported. Use `declare export var` instead.\"),TN1=t(\"`declare export type` is not supported. Use `export type` instead.\"),wN1=t(\"`declare export interface` is not supported. Use `export interface` instead.\"),kN1=t(\"`export * as` is an early-stage proposal and is not enabled by default. To enable support in the parser, use the `esproposal_export_star_as` option\"),NN1=t(\"When exporting a class as a named export, you must specify a class name. Did you mean `export default class ...`?\"),PN1=t(\"When exporting a function as a named export, you must specify a function name. Did you mean `export default function ...`?\"),IN1=t(\"Found a decorator in an unsupported position.\"),ON1=t(\"Type parameter declaration needs a default, since a preceding type parameter declaration has a default.\"),BN1=t(\"Duplicate `declare module.exports` statement!\"),LN1=t(\"Found both `declare module.exports` and `declare export` in the same module. Modules can only have 1 since they are either an ES module xor they are a CommonJS module.\"),MN1=t(\"Getter should have zero parameters\"),RN1=t(\"Setter should have exactly one parameter\"),jN1=t(\"`import type` or `import typeof`!\"),UN1=t(\"Imports within a `declare module` body must always be \"),VN1=t(\"The `type` and `typeof` keywords on named imports can only be used on regular `import` statements. It cannot be used with `import type` or `import typeof` statements\"),$N1=t(\"Missing comma between import specifiers\"),KN1=t(\"Missing comma between export specifiers\"),zN1=t(\"Malformed unicode\"),WN1=t(\"Classes may only have one constructor\"),qN1=t(\"Classes may not have private methods.\"),JN1=t(\"Private fields may not be deleted.\"),HN1=t(\"Private fields can only be referenced from within a class.\"),GN1=t(\"You may not access a private field through the `super` keyword.\"),XN1=t(\"Yield expression not allowed in formal parameter\"),YN1=t(\"`await` is an invalid identifier in async functions\"),QN1=t(\"`yield` is an invalid identifier in generators\"),ZN1=t(\"either a `let` binding pattern, or a member expression.\"),xP1=t(\"`let [` is ambiguous in this position because it is \"),eP1=t(\"Literals cannot be used as shorthand properties.\"),tP1=t(\"Computed properties must have a value.\"),rP1=t(\"Object pattern can't contain methods\"),nP1=t(\"A trailing comma is not permitted after the rest element\"),iP1=t(\"The optional chaining plugin must be enabled in order to use the optional chaining operator (`?.`). Optional chaining is an active early-stage feature proposal which may change and is not enabled by default. To enable support in the parser, use the `esproposal_optional_chaining` option.\"),aP1=t(\"An optional chain may not be used in a `new` expression.\"),oP1=t(\"Template literals may not be used in an optional chain.\"),sP1=t(\"The nullish coalescing plugin must be enabled in order to use the nullish coalescing operator (`??`). Nullish coalescing is an active early-stage feature proposal which may change and is not enabled by default. To enable support in the parser, use the `esproposal_nullish_coalescing` option.\"),uP1=t(\"Unexpected whitespace between `#` and identifier\"),cP1=t(\"A type annotation is required for the `this` parameter.\"),lP1=t(\"The `this` parameter must be the first function parameter.\"),fP1=t(\"The `this` parameter cannot be optional.\"),pP1=t(\"A getter cannot have a `this` parameter.\"),dP1=t(\"A setter cannot have a `this` parameter.\"),mP1=t(\"Arrow functions cannot have a `this` parameter; arrow functions automatically bind `this` when declared.\"),hP1=t(\"Constructors cannot have a `this` parameter; constructors don't bind `this` like other functions.\"),gP1=t(\"Unexpected parser state: \"),_P1=[0,[11,t(\"Boolean enum members need to be initialized. Use either `\"),[2,0,[11,t(\" = true,` or `\"),[2,0,[11,t(\" = false,` in enum `\"),[2,0,[11,t(X0),0]]]]]]],t(\"Boolean enum members need to be initialized. Use either `%s = true,` or `%s = false,` in enum `%s`.\")],yP1=[0,[11,t(\"Enum member names need to be unique, but the name `\"),[2,0,[11,t(\"` has already been used before in enum `\"),[2,0,[11,t(X0),0]]]]],t(\"Enum member names need to be unique, but the name `%s` has already been used before in enum `%s`.\")],DP1=[0,[11,t(nu),[2,0,[11,t(\"` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, numbers, or strings) for all member initializers.\"),0]]],t(\"Enum `%s` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, numbers, or strings) for all member initializers.\")],vP1=[0,[11,t(\"Use one of `boolean`, `number`, `string`, or `symbol` in enum `\"),[2,0,[11,t(X0),0]]],t(\"Use one of `boolean`, `number`, `string`, or `symbol` in enum `%s`.\")],bP1=[0,[11,t(\"Enum type `\"),[2,0,[11,t(\"` is not valid. \"),[2,0,0]]]],t(\"Enum type `%s` is not valid. %s\")],CP1=[0,[11,t(\"Supplied enum type is not valid. \"),[2,0,0]],t(\"Supplied enum type is not valid. %s\")],EP1=[0,[11,t(\"Enum member names and initializers are separated with `=`. Replace `\"),[2,0,[11,t(\":` with `\"),[2,0,[11,t(\" =`.\"),0]]]]],t(\"Enum member names and initializers are separated with `=`. Replace `%s:` with `%s =`.\")],SP1=[0,[11,t(\"Symbol enum members cannot be initialized. Use `\"),[2,0,[11,t(\",` in enum `\"),[2,0,[11,t(X0),0]]]]],t(\"Symbol enum members cannot be initialized. Use `%s,` in enum `%s`.\")],FP1=[0,[11,t(nu),[2,0,[11,t(\"` has type `\"),[2,0,[11,t(\"`, so the initializer of `\"),[2,0,[11,t(\"` needs to be a \"),[2,0,[11,t(\" literal.\"),0]]]]]]]]],t(\"Enum `%s` has type `%s`, so the initializer of `%s` needs to be a %s literal.\")],AP1=[0,[11,t(\"The enum member initializer for `\"),[2,0,[11,t(\"` needs to be a literal (either a boolean, number, or string) in enum `\"),[2,0,[11,t(X0),0]]]]],t(\"The enum member initializer for `%s` needs to be a literal (either a boolean, number, or string) in enum `%s`.\")],TP1=[0,[11,t(\"Enum member names cannot start with lowercase 'a' through 'z'. Instead of using `\"),[2,0,[11,t(\"`, consider using `\"),[2,0,[11,t(\"`, in enum `\"),[2,0,[11,t(X0),0]]]]]]],t(\"Enum member names cannot start with lowercase 'a' through 'z'. Instead of using `%s`, consider using `%s`, in enum `%s`.\")],wP1=t(\"The `...` must come at the end of the enum body. Remove the trailing comma.\"),kP1=t(\"The `...` must come after all enum members. Move it to the end of the enum body.\"),NP1=[0,[11,t(\"Number enum members need to be initialized, e.g. `\"),[2,0,[11,t(\" = 1,` in enum `\"),[2,0,[11,t(X0),0]]]]],t(\"Number enum members need to be initialized, e.g. `%s = 1,` in enum `%s`.\")],PP1=[0,[11,t(\"String enum members need to consistently either all use initializers, or use no initializers, in enum \"),[2,0,[12,46,0]]],t(\"String enum members need to consistently either all use initializers, or use no initializers, in enum %s.\")],IP1=[0,[11,t(Sz),[2,0,0]],t(\"Unexpected %s\")],OP1=[0,[11,t(Sz),[2,0,[11,t(\", expected \"),[2,0,0]]]],t(\"Unexpected %s, expected %s\")],BP1=[0,[11,t(NM),[2,0,[11,t(\"`. Did you mean `\"),[2,0,[11,t(\"`?\"),0]]]]],t(\"Unexpected token `%s`. Did you mean `%s`?\")],LP1=t(ZB),MP1=t(\"Invalid flags supplied to RegExp constructor '\"),RP1=t(\"Remove the period.\"),jP1=t(\"Indexed access uses bracket notation.\"),UP1=[0,[11,t(\"Invalid indexed access. \"),[2,0,[11,t(\" Use the format `T[K]`.\"),0]]],t(\"Invalid indexed access. %s Use the format `T[K]`.\")],VP1=t(ZB),$P1=t(\"Undefined label '\"),KP1=t(\"' has already been declared\"),zP1=t(\" '\"),WP1=t(\"Expected corresponding JSX closing tag for \"),qP1=t(uU),JP1=t(\"In strict mode code, functions can only be declared at top level or \"),HP1=t(\"inside a block, or as the body of an if statement.\"),GP1=t(\"In non-strict mode code, functions can only be declared at top level, \"),XP1=[0,[11,t(\"Duplicate export for `\"),[2,0,[12,96,0]]],t(\"Duplicate export for `%s`\")],YP1=t(\"` is declared more than once.\"),QP1=t(\"Private fields may only be declared once. `#\"),ZP1=t(\"static \"),xI1=t(ke),eI1=t(\"#\"),tI1=t(X0),rI1=t(\"fields named `\"),nI1=t(\"Classes may not have \"),iI1=t(\"` has not been declared.\"),aI1=t(\"Private fields must be declared before they can be referenced. `#\"),oI1=[0,[11,t(NM),[2,0,[11,t(\"`. Parentheses are required to combine `??` with `&&` or `||` expressions.\"),0]]],t(\"Unexpected token `%s`. Parentheses are required to combine `??` with `&&` or `||` expressions.\")],sI1=t(\"Parse_error.Error\"),uI1=[0,1,0],cI1=[0,0,[0,1,0],[0,1,0]],lI1=[0,t(\"end of input\"),t(\"the\")],fI1=[0,t(\"template literal part\"),t(bM)],pI1=[0,t(XL),t(bM)],dI1=t(\"the\"),mI1=t(bM),hI1=t(GP),gI1=t(bM),_I1=t(QB),yI1=t(bM),DI1=t(mM),vI1=t(\"an\"),bI1=t(ZO),CI1=t(VN),EI1=[0,[11,t(\"token `\"),[2,0,[12,96,0]]],t(\"token `%s`\")],SI1=t(\"{\"),FI1=t(Mk),AI1=t(\"{|\"),TI1=t(\"|}\"),wI1=t(\"(\"),kI1=t(L0),NI1=t(\"[\"),PI1=t(\"]\"),II1=t(\";\"),OI1=t(\",\"),BI1=t(y9),LI1=t(\"=>\"),MI1=t(\"...\"),RI1=t(\"@\"),jI1=t(\"#\"),UI1=t(Sw),VI1=t(OR),$I1=t(Dk),KI1=t(it),zI1=t(Fs),WI1=t(Rk),qI1=t(IO),JI1=t(cd),HI1=t(Zn),GI1=t(tM),XI1=t(XO),YI1=t(Ci),QI1=t(n1),ZI1=t(J1),xO1=t(MO),eO1=t(p0),tO1=t(VO),rO1=t(Qo),nO1=t(uL),iO1=t(lN),aO1=t(jB),oO1=t(K9),sO1=t(hi),uO1=t(hP),cO1=t(cK),lO1=t(bV),fO1=t(sN),pO1=t(I),dO1=t(TO),mO1=t(kt),hO1=t(lU),gO1=t(R6),_O1=t(ei),yO1=t(iA),DO1=t(rU),vO1=t(nI),bO1=t(tF),CO1=t(FA),EO1=t(EP),SO1=t(Od),FO1=t(jc),AO1=t(IV),TO1=t(fN),wO1=t(uN),kO1=t(pn),NO1=t(S5),PO1=t(ji),IO1=t(Bx),OO1=t(\"of\"),BO1=t(n9),LO1=t(Ls),MO1=t(\"%checks\"),RO1=t(VB),jO1=t(\">>=\"),UO1=t(\"<<=\"),VO1=t(\"^=\"),$O1=t(\"|=\"),KO1=t(\"&=\"),zO1=t(\"%=\"),WO1=t(\"/=\"),qO1=t(\"*=\"),JO1=t(\"**=\"),HO1=t(\"-=\"),GO1=t(\"+=\"),XO1=t(\"=\"),YO1=t(\"?.\"),QO1=t(xs),ZO1=t(\"?\"),xB1=t(JI),eB1=t(\"||\"),tB1=t(\"&&\"),rB1=t(\"|\"),nB1=t(lI),iB1=t(\"&\"),aB1=t(\"==\"),oB1=t(\"!=\"),sB1=t(\"===\"),uB1=t(\"!==\"),cB1=t(\"<=\"),lB1=t(\">=\"),fB1=t(RO),pB1=t(w8),dB1=t(\"<<\"),mB1=t(\">>\"),hB1=t(\">>>\"),gB1=t(pI),_B1=t(JN),yB1=t(X6),DB1=t(\"*\"),vB1=t(\"**\"),bB1=t(\"%\"),CB1=t(\"!\"),EB1=t(\"~\"),SB1=t(\"++\"),FB1=t(\"--\"),AB1=t(ke),TB1=t(gM),wB1=t(XP),kB1=t(tk),NB1=t(GP),PB1=t(QB),IB1=t(mM),OB1=t(ei),BB1=t(k1),LB1=t(X6),MB1=t(X6),RB1=t(WP),jB1=t(mU),UB1=t(\"T_LCURLY\"),VB1=t(\"T_RCURLY\"),$B1=t(\"T_LCURLYBAR\"),KB1=t(\"T_RCURLYBAR\"),zB1=t(\"T_LPAREN\"),WB1=t(\"T_RPAREN\"),qB1=t(\"T_LBRACKET\"),JB1=t(\"T_RBRACKET\"),HB1=t(\"T_SEMICOLON\"),GB1=t(\"T_COMMA\"),XB1=t(\"T_PERIOD\"),YB1=t(\"T_ARROW\"),QB1=t(\"T_ELLIPSIS\"),ZB1=t(\"T_AT\"),xL1=t(\"T_POUND\"),eL1=t(\"T_FUNCTION\"),tL1=t(\"T_IF\"),rL1=t(\"T_IN\"),nL1=t(\"T_INSTANCEOF\"),iL1=t(\"T_RETURN\"),aL1=t(\"T_SWITCH\"),oL1=t(\"T_THIS\"),sL1=t(\"T_THROW\"),uL1=t(\"T_TRY\"),cL1=t(\"T_VAR\"),lL1=t(\"T_WHILE\"),fL1=t(\"T_WITH\"),pL1=t(\"T_CONST\"),dL1=t(\"T_LET\"),mL1=t(\"T_NULL\"),hL1=t(\"T_FALSE\"),gL1=t(\"T_TRUE\"),_L1=t(\"T_BREAK\"),yL1=t(\"T_CASE\"),DL1=t(\"T_CATCH\"),vL1=t(\"T_CONTINUE\"),bL1=t(\"T_DEFAULT\"),CL1=t(\"T_DO\"),EL1=t(\"T_FINALLY\"),SL1=t(\"T_FOR\"),FL1=t(\"T_CLASS\"),AL1=t(\"T_EXTENDS\"),TL1=t(\"T_STATIC\"),wL1=t(\"T_ELSE\"),kL1=t(\"T_NEW\"),NL1=t(\"T_DELETE\"),PL1=t(\"T_TYPEOF\"),IL1=t(\"T_VOID\"),OL1=t(\"T_ENUM\"),BL1=t(\"T_EXPORT\"),LL1=t(\"T_IMPORT\"),ML1=t(\"T_SUPER\"),RL1=t(\"T_IMPLEMENTS\"),jL1=t(\"T_INTERFACE\"),UL1=t(\"T_PACKAGE\"),VL1=t(\"T_PRIVATE\"),$L1=t(\"T_PROTECTED\"),KL1=t(\"T_PUBLIC\"),zL1=t(\"T_YIELD\"),WL1=t(\"T_DEBUGGER\"),qL1=t(\"T_DECLARE\"),JL1=t(\"T_TYPE\"),HL1=t(\"T_OPAQUE\"),GL1=t(\"T_OF\"),XL1=t(\"T_ASYNC\"),YL1=t(\"T_AWAIT\"),QL1=t(\"T_CHECKS\"),ZL1=t(\"T_RSHIFT3_ASSIGN\"),xM1=t(\"T_RSHIFT_ASSIGN\"),eM1=t(\"T_LSHIFT_ASSIGN\"),tM1=t(\"T_BIT_XOR_ASSIGN\"),rM1=t(\"T_BIT_OR_ASSIGN\"),nM1=t(\"T_BIT_AND_ASSIGN\"),iM1=t(\"T_MOD_ASSIGN\"),aM1=t(\"T_DIV_ASSIGN\"),oM1=t(\"T_MULT_ASSIGN\"),sM1=t(\"T_EXP_ASSIGN\"),uM1=t(\"T_MINUS_ASSIGN\"),cM1=t(\"T_PLUS_ASSIGN\"),lM1=t(\"T_ASSIGN\"),fM1=t(\"T_PLING_PERIOD\"),pM1=t(\"T_PLING_PLING\"),dM1=t(\"T_PLING\"),mM1=t(\"T_COLON\"),hM1=t(\"T_OR\"),gM1=t(\"T_AND\"),_M1=t(\"T_BIT_OR\"),yM1=t(\"T_BIT_XOR\"),DM1=t(\"T_BIT_AND\"),vM1=t(\"T_EQUAL\"),bM1=t(\"T_NOT_EQUAL\"),CM1=t(\"T_STRICT_EQUAL\"),EM1=t(\"T_STRICT_NOT_EQUAL\"),SM1=t(\"T_LESS_THAN_EQUAL\"),FM1=t(\"T_GREATER_THAN_EQUAL\"),AM1=t(\"T_LESS_THAN\"),TM1=t(\"T_GREATER_THAN\"),wM1=t(\"T_LSHIFT\"),kM1=t(\"T_RSHIFT\"),NM1=t(\"T_RSHIFT3\"),PM1=t(\"T_PLUS\"),IM1=t(\"T_MINUS\"),OM1=t(\"T_DIV\"),BM1=t(\"T_MULT\"),LM1=t(\"T_EXP\"),MM1=t(\"T_MOD\"),RM1=t(\"T_NOT\"),jM1=t(\"T_BIT_NOT\"),UM1=t(\"T_INCR\"),VM1=t(\"T_DECR\"),$M1=t(\"T_EOF\"),KM1=t(\"T_ANY_TYPE\"),zM1=t(\"T_MIXED_TYPE\"),WM1=t(\"T_EMPTY_TYPE\"),qM1=t(\"T_NUMBER_TYPE\"),JM1=t(\"T_BIGINT_TYPE\"),HM1=t(\"T_STRING_TYPE\"),GM1=t(\"T_VOID_TYPE\"),XM1=t(\"T_SYMBOL_TYPE\"),YM1=t(\"T_NUMBER\"),QM1=t(\"T_BIGINT\"),ZM1=t(\"T_STRING\"),xR1=t(\"T_TEMPLATE_PART\"),eR1=t(\"T_IDENTIFIER\"),tR1=t(\"T_REGEXP\"),rR1=t(\"T_ERROR\"),nR1=t(\"T_JSX_IDENTIFIER\"),iR1=t(\"T_JSX_TEXT\"),aR1=t(\"T_BOOLEAN_TYPE\"),oR1=t(\"T_NUMBER_SINGLETON_TYPE\"),sR1=t(\"T_BIGINT_SINGLETON_TYPE\"),uR1=t(\"*-/\"),cR1=t(\"*/\"),lR1=t(\"*-/\"),fR1=t(s6),pR1=t(s6),dR1=t(\"\\\\\"),mR1=t(s6),hR1=t(\"${\"),gR1=t(`\\r\n`),_R1=t(`\\r\n`),yR1=t(`\n`),DR1=t(s6),vR1=t(\"\\\\\\\\\"),bR1=t(s6),CR1=t(ke),ER1=t(ke),SR1=t(ke),FR1=t(ke),AR1=t(s6),TR1=t(ZB),wR1=t('\"'),kR1=t(RO),NR1=t(w8),PR1=t(\"{\"),IR1=t(Mk),OR1=t(\"{'}'}\"),BR1=t(Mk),LR1=t(\"{'>'}\"),MR1=t(w8),RR1=t(ZI),jR1=t(\"iexcl\"),UR1=t(\"aelig\"),VR1=t(\"Nu\"),$R1=t(\"Eacute\"),KR1=t(\"Atilde\"),zR1=t(\"'int'\"),WR1=t(\"AElig\"),qR1=t(\"Aacute\"),JR1=t(\"Acirc\"),HR1=t(\"Agrave\"),GR1=t(\"Alpha\"),XR1=t(\"Aring\"),YR1=[0,197],QR1=[0,913],ZR1=[0,a6],xj1=[0,194],ej1=[0,193],tj1=[0,198],rj1=[0,8747],nj1=t(\"Auml\"),ij1=t(\"Beta\"),aj1=t(\"Ccedil\"),oj1=t(\"Chi\"),sj1=t(\"Dagger\"),uj1=t(\"Delta\"),cj1=t(\"ETH\"),lj1=[0,208],fj1=[0,916],pj1=[0,8225],dj1=[0,935],mj1=[0,199],hj1=[0,914],gj1=[0,196],_j1=[0,195],yj1=t(\"Icirc\"),Dj1=t(\"Ecirc\"),vj1=t(\"Egrave\"),bj1=t(\"Epsilon\"),Cj1=t(\"Eta\"),Ej1=t(\"Euml\"),Sj1=t(\"Gamma\"),Fj1=t(\"Iacute\"),Aj1=[0,205],Tj1=[0,915],wj1=[0,203],kj1=[0,919],Nj1=[0,917],Pj1=[0,200],Ij1=[0,202],Oj1=t(\"Igrave\"),Bj1=t(\"Iota\"),Lj1=t(\"Iuml\"),Mj1=t(\"Kappa\"),Rj1=t(\"Lambda\"),jj1=t(\"Mu\"),Uj1=t(\"Ntilde\"),Vj1=[0,209],$j1=[0,924],Kj1=[0,923],zj1=[0,922],Wj1=[0,207],qj1=[0,921],Jj1=[0,204],Hj1=[0,206],Gj1=[0,201],Xj1=t(\"Sigma\"),Yj1=t(\"Otilde\"),Qj1=t(\"OElig\"),Zj1=t(\"Oacute\"),xU1=t(\"Ocirc\"),eU1=t(\"Ograve\"),tU1=t(\"Omega\"),rU1=t(\"Omicron\"),nU1=t(\"Oslash\"),iU1=[0,216],aU1=[0,927],oU1=[0,937],sU1=[0,210],uU1=[0,212],cU1=[0,211],lU1=[0,338],fU1=t(\"Ouml\"),pU1=t(\"Phi\"),dU1=t(\"Pi\"),mU1=t(\"Prime\"),hU1=t(\"Psi\"),gU1=t(\"Rho\"),_U1=t(\"Scaron\"),yU1=[0,352],DU1=[0,929],vU1=[0,936],bU1=[0,8243],CU1=[0,928],EU1=[0,934],SU1=[0,214],FU1=[0,213],AU1=t(\"Uuml\"),TU1=t(\"THORN\"),wU1=t(\"Tau\"),kU1=t(\"Theta\"),NU1=t(\"Uacute\"),PU1=t(\"Ucirc\"),IU1=t(\"Ugrave\"),OU1=t(\"Upsilon\"),BU1=[0,933],LU1=[0,217],MU1=[0,219],RU1=[0,218],jU1=[0,920],UU1=[0,932],VU1=[0,222],$U1=t(\"Xi\"),KU1=t(\"Yacute\"),zU1=t(\"Yuml\"),WU1=t(\"Zeta\"),qU1=t(\"aacute\"),JU1=t(\"acirc\"),HU1=t(\"acute\"),GU1=[0,180],XU1=[0,226],YU1=[0,225],QU1=[0,918],ZU1=[0,376],xV1=[0,221],eV1=[0,926],tV1=[0,220],rV1=[0,931],nV1=[0,925],iV1=t(\"delta\"),aV1=t(\"cap\"),oV1=t(\"aring\"),sV1=t(\"agrave\"),uV1=t(\"alefsym\"),cV1=t(\"alpha\"),lV1=t(\"amp\"),fV1=t(\"and\"),pV1=t(\"ang\"),dV1=t(\"apos\"),mV1=[0,39],hV1=[0,8736],gV1=[0,8743],_V1=[0,38],yV1=[0,945],DV1=[0,8501],vV1=[0,we],bV1=t(\"asymp\"),CV1=t(\"atilde\"),EV1=t(\"auml\"),SV1=t(\"bdquo\"),FV1=t(\"beta\"),AV1=t(\"brvbar\"),TV1=t(\"bull\"),wV1=[0,8226],kV1=[0,166],NV1=[0,946],PV1=[0,8222],IV1=[0,228],OV1=[0,227],BV1=[0,8776],LV1=[0,229],MV1=t(\"copy\"),RV1=t(\"ccedil\"),jV1=t(\"cedil\"),UV1=t(\"cent\"),VV1=t(\"chi\"),$V1=t(\"circ\"),KV1=t(\"clubs\"),zV1=t(\"cong\"),WV1=[0,8773],qV1=[0,9827],JV1=[0,710],HV1=[0,967],GV1=[0,162],XV1=[0,184],YV1=[0,231],QV1=t(\"crarr\"),ZV1=t(\"cup\"),x$1=t(\"curren\"),e$1=t(\"dArr\"),t$1=t(\"dagger\"),r$1=t(\"darr\"),n$1=t(\"deg\"),i$1=[0,176],a$1=[0,8595],o$1=[0,8224],s$1=[0,8659],u$1=[0,164],c$1=[0,8746],l$1=[0,8629],f$1=[0,169],p$1=[0,8745],d$1=t(\"fnof\"),m$1=t(\"ensp\"),h$1=t(\"diams\"),g$1=t(\"divide\"),_$1=t(\"eacute\"),y$1=t(\"ecirc\"),D$1=t(\"egrave\"),v$1=t(tk),b$1=t(\"emsp\"),C$1=[0,8195],E$1=[0,8709],S$1=[0,232],F$1=[0,234],A$1=[0,233],T$1=[0,247],w$1=[0,9830],k$1=t(\"epsilon\"),N$1=t(\"equiv\"),P$1=t(\"eta\"),I$1=t(\"eth\"),O$1=t(\"euml\"),B$1=t(\"euro\"),L$1=t(\"exist\"),M$1=[0,8707],R$1=[0,8364],j$1=[0,235],U$1=[0,zk],V$1=[0,951],$$1=[0,8801],K$1=[0,949],z$1=[0,8194],W$1=t(\"gt\"),q$1=t(\"forall\"),J$1=t(\"frac12\"),H$1=t(\"frac14\"),G$1=t(\"frac34\"),X$1=t(\"frasl\"),Y$1=t(\"gamma\"),Q$1=t(\"ge\"),Z$1=[0,8805],xK1=[0,947],eK1=[0,8260],tK1=[0,190],rK1=[0,188],nK1=[0,189],iK1=[0,8704],aK1=t(\"hArr\"),oK1=t(\"harr\"),sK1=t(\"hearts\"),uK1=t(\"hellip\"),cK1=t(\"iacute\"),lK1=t(\"icirc\"),fK1=[0,238],pK1=[0,237],dK1=[0,8230],mK1=[0,9829],hK1=[0,8596],gK1=[0,8660],_K1=[0,62],yK1=[0,402],DK1=[0,948],vK1=[0,230],bK1=t(\"prime\"),CK1=t(\"ndash\"),EK1=t(\"le\"),SK1=t(\"kappa\"),FK1=t(\"igrave\"),AK1=t(\"image\"),TK1=t(\"infin\"),wK1=t(\"iota\"),kK1=t(\"iquest\"),NK1=t(\"isin\"),PK1=t(\"iuml\"),IK1=[0,239],OK1=[0,8712],BK1=[0,191],LK1=[0,953],MK1=[0,8734],RK1=[0,8465],jK1=[0,236],UK1=t(\"lArr\"),VK1=t(\"lambda\"),$K1=t(\"lang\"),KK1=t(\"laquo\"),zK1=t(\"larr\"),WK1=t(\"lceil\"),qK1=t(\"ldquo\"),JK1=[0,8220],HK1=[0,8968],GK1=[0,8592],XK1=[0,171],YK1=[0,10216],QK1=[0,955],ZK1=[0,8656],xz1=[0,954],ez1=t(\"macr\"),tz1=t(\"lfloor\"),rz1=t(\"lowast\"),nz1=t(\"loz\"),iz1=t(\"lrm\"),az1=t(\"lsaquo\"),oz1=t(\"lsquo\"),sz1=t(\"lt\"),uz1=[0,60],cz1=[0,8216],lz1=[0,8249],fz1=[0,8206],pz1=[0,9674],dz1=[0,8727],mz1=[0,8970],hz1=t(\"mdash\"),gz1=t(\"micro\"),_z1=t(\"middot\"),yz1=t(xK),Dz1=t(\"mu\"),vz1=t(\"nabla\"),bz1=t(\"nbsp\"),Cz1=[0,160],Ez1=[0,8711],Sz1=[0,956],Fz1=[0,8722],Az1=[0,183],Tz1=[0,181],wz1=[0,8212],kz1=[0,175],Nz1=[0,8804],Pz1=t(\"or\"),Iz1=t(\"oacute\"),Oz1=t(\"ne\"),Bz1=t(\"ni\"),Lz1=t(\"not\"),Mz1=t(\"notin\"),Rz1=t(\"nsub\"),jz1=t(\"ntilde\"),Uz1=t(\"nu\"),Vz1=[0,957],$z1=[0,241],Kz1=[0,8836],zz1=[0,8713],Wz1=[0,172],qz1=[0,8715],Jz1=[0,8800],Hz1=t(\"ocirc\"),Gz1=t(\"oelig\"),Xz1=t(\"ograve\"),Yz1=t(\"oline\"),Qz1=t(\"omega\"),Zz1=t(\"omicron\"),xW1=t(\"oplus\"),eW1=[0,8853],tW1=[0,959],rW1=[0,969],nW1=[0,Kc],iW1=[0,242],aW1=[0,339],oW1=[0,244],sW1=[0,243],uW1=t(\"part\"),cW1=t(\"ordf\"),lW1=t(\"ordm\"),fW1=t(\"oslash\"),pW1=t(\"otilde\"),dW1=t(\"otimes\"),mW1=t(\"ouml\"),hW1=t(\"para\"),gW1=[0,182],_W1=[0,246],yW1=[0,8855],DW1=[0,245],vW1=[0,mC],bW1=[0,186],CW1=[0,170],EW1=t(\"permil\"),SW1=t(\"perp\"),FW1=t(\"phi\"),AW1=t(\"pi\"),TW1=t(\"piv\"),wW1=t(\"plusmn\"),kW1=t(\"pound\"),NW1=[0,163],PW1=[0,177],IW1=[0,982],OW1=[0,960],BW1=[0,966],LW1=[0,8869],MW1=[0,8240],RW1=[0,8706],jW1=[0,8744],UW1=[0,8211],VW1=t(\"sup1\"),$W1=t(\"rlm\"),KW1=t(\"raquo\"),zW1=t(\"prod\"),WW1=t(\"prop\"),qW1=t(\"psi\"),JW1=t(\"quot\"),HW1=t(\"rArr\"),GW1=t(\"radic\"),XW1=t(\"rang\"),YW1=[0,10217],QW1=[0,8730],ZW1=[0,8658],xq1=[0,34],eq1=[0,968],tq1=[0,8733],rq1=[0,8719],nq1=t(\"rarr\"),iq1=t(\"rceil\"),aq1=t(\"rdquo\"),oq1=t(\"real\"),sq1=t(\"reg\"),uq1=t(\"rfloor\"),cq1=t(\"rho\"),lq1=[0,961],fq1=[0,8971],pq1=[0,174],dq1=[0,8476],mq1=[0,8221],hq1=[0,8969],gq1=[0,8594],_q1=[0,187],yq1=t(\"sigma\"),Dq1=t(\"rsaquo\"),vq1=t(\"rsquo\"),bq1=t(\"sbquo\"),Cq1=t(\"scaron\"),Eq1=t(\"sdot\"),Sq1=t(\"sect\"),Fq1=t(\"shy\"),Aq1=[0,173],Tq1=[0,167],wq1=[0,8901],kq1=[0,353],Nq1=[0,8218],Pq1=[0,8217],Iq1=[0,8250],Oq1=t(\"sigmaf\"),Bq1=t(\"sim\"),Lq1=t(\"spades\"),Mq1=t(\"sub\"),Rq1=t(\"sube\"),jq1=t(\"sum\"),Uq1=t(\"sup\"),Vq1=[0,8835],$q1=[0,8721],Kq1=[0,8838],zq1=[0,8834],Wq1=[0,9824],qq1=[0,8764],Jq1=[0,962],Hq1=[0,963],Gq1=[0,8207],Xq1=t(\"uarr\"),Yq1=t(\"thetasym\"),Qq1=t(\"sup2\"),Zq1=t(\"sup3\"),xJ1=t(\"supe\"),eJ1=t(\"szlig\"),tJ1=t(\"tau\"),rJ1=t(\"there4\"),nJ1=t(\"theta\"),iJ1=[0,952],aJ1=[0,8756],oJ1=[0,964],sJ1=[0,bx],uJ1=[0,8839],cJ1=[0,179],lJ1=[0,178],fJ1=t(\"thinsp\"),pJ1=t(\"thorn\"),dJ1=t(\"tilde\"),mJ1=t(\"times\"),hJ1=t(\"trade\"),gJ1=t(\"uArr\"),_J1=t(\"uacute\"),yJ1=[0,250],DJ1=[0,8657],vJ1=[0,8482],bJ1=[0,215],CJ1=[0,732],EJ1=[0,rk],SJ1=[0,8201],FJ1=[0,977],AJ1=t(\"xi\"),TJ1=t(\"ucirc\"),wJ1=t(\"ugrave\"),kJ1=t(\"uml\"),NJ1=t(\"upsih\"),PJ1=t(\"upsilon\"),IJ1=t(\"uuml\"),OJ1=t(\"weierp\"),BJ1=[0,Pu],LJ1=[0,tU],MJ1=[0,965],RJ1=[0,978],jJ1=[0,168],UJ1=[0,249],VJ1=[0,251],$J1=t(\"yacute\"),KJ1=t(\"yen\"),zJ1=t(\"yuml\"),WJ1=t(\"zeta\"),qJ1=t(\"zwj\"),JJ1=t(\"zwnj\"),HJ1=[0,8204],GJ1=[0,Np],XJ1=[0,950],YJ1=[0,MI],QJ1=[0,165],ZJ1=[0,253],xH1=[0,958],eH1=[0,8593],tH1=[0,185],rH1=[0,8242],nH1=[0,161],iH1=t(\";\"),aH1=t(\"&\"),oH1=t(s6),sH1=t(s6),uH1=t(s6),cH1=t(s6),lH1=t(s6),fH1=t(s6),pH1=t(s6),dH1=t(s6),mH1=t(s6),hH1=t(s6),gH1=t(s6),_H1=t(s6),yH1=t(s6),DH1=t(s6),vH1=t(JI),bH1=t(JI),CH1=t(gR),EH1=[9,0],SH1=[9,1],FH1=t(s6),AH1=t(Mk),TH1=[0,t(ke),t(ke),t(ke)],wH1=t(s6),kH1=t(ZB),NH1=t(s6),PH1=t(s6),IH1=t(s6),OH1=t(s6),BH1=t(s6),LH1=t(s6),MH1=t(s6),RH1=t(s6),jH1=t(s6),UH1=t(s6),VH1=t(s6),$H1=t(s6),KH1=t(s6),zH1=t(s6),WH1=t(s6),qH1=t(JI),JH1=t(JI),HH1=t(gR),GH1=[6,t(\"#!\")],XH1=t(\"expected ?\"),YH1=t(s6),QH1=t(sg),ZH1=t(rM),xG1=t(rM),eG1=t(sg),tG1=t(\"b\"),rG1=t(\"f\"),nG1=t(\"n\"),iG1=t(\"r\"),aG1=t(\"t\"),oG1=t(\"v\"),sG1=t(rM),uG1=t(ZI),cG1=t(ZI),lG1=t(s6),fG1=t(ZI),pG1=t(ZI),dG1=t(s6),mG1=t(\"Invalid (lexer) bigint \"),hG1=t(\"Invalid (lexer) bigint binary/octal \"),gG1=t(rM),_G1=t(D6),yG1=t(Jx),DG1=t(LB),vG1=[11,t(\"token ILLEGAL\")],bG1=t(\"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\"),CG1=t(\"\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\"),EG1=t(\"\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0002\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\"),SG1=t(\"\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0002\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0003\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\"),FG1=t(\"\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0002\\0\u0003\u0004\u0004\u0004\u0004\u0004\u0004\u0004\u0004\u0004\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\"),AG1=t(\"\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0002\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\"),TG1=t(\"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\"),wG1=t(\"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),kG1=t(\"\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0003\u0002\u0002\u0004\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0005\u0002\u0002\u0002\u0006\u0005\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0005\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0005\u0002\\x07\"),NG1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0002\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0002\"),PG1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0002\"),IG1=t(\"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0003\u0002\u0002\u0004\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0005\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0006\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),OG1=t(\"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0002\"),BG1=t(\"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),LG1=t(\"\u0001\\0\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0003\"),MG1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0002\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),RG1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\0\\0\\0\\0\\0\\0\\0\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),jG1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),UG1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),VG1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0002\\0\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0004\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),$G1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0002\\0\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0004\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0005\\0\u0001\u0001\u0001\u0001\u0004\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0006\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),KG1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),zG1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0004\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),WG1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0004\\0\u0001\u0001\u0001\u0001\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0005\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),qG1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0002\u0002\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),JG1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0002\\0\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0004\u0004\\0\\0\\0\\0\\0\\0\\0\u0001\u0005\u0001\u0001\u0006\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\x07\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\b\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0005\u0001\u0001\u0006\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\t\\x07\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\b\u0001\u0001\"),HG1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),GG1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0003\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0004\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),XG1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0003\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0004\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),YG1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0002\\0\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0004\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0005\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),QG1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0002\u0002\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0003\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0004\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),ZG1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0002\\0\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0004\u0004\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0005\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),xX1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\0\\0\\0\\0\\0\\0\\0\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0003\\0\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0004\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),eX1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),tX1=t(\"\u0001\\0\\0\u0002\"),rX1=t(\"\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0003\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0004\u0002\u0002\u0002\u0002\u0004\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0005\"),nX1=t(\"\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0003\"),iX1=t(\"\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0003\u0002\u0002\u0004\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0005\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0006\\x07\"),aX1=t(\"\u0001\u0002\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\0\\0\\0\\0\\0\\0\\0\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\0\\0\\0\\0\\0\\0\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\"),oX1=t(\"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0002\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0003\"),sX1=t(\"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\"),uX1=t(\"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0002\\0\u0001\u0001\u0001\u0001\u0001\u0001\"),cX1=t(\"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0002\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\"),lX1=t(\"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),fX1=t(\"\u0001\\0\\0\\0\\0\\0\\0\u0002\\0\u0002\\0\\0\u0003\u0004\u0004\u0004\u0004\u0004\u0004\u0004\u0004\u0004\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),pX1=t(\"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0002\"),dX1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0002\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\\0\\0\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),mX1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0002\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0001\u0001\u0001\u0004\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\\0\\0\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),hX1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0002\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\\0\\0\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),gX1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0002\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\\0\\0\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),_X1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0002\\0\\0\u0001\\0\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0004\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\\0\\0\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),yX1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0002\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0001\u0001\u0001\u0004\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\\0\\0\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),DX1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0002\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\\0\\0\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),vX1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0002\\0\\0\u0001\\0\u0001\u0001\u0001\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\\0\\0\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),bX1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0002\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0001\u0001\u0004\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\\0\\0\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),CX1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0002\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\\0\\0\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),EX1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0002\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\\0\\0\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),SX1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0002\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\\0\\0\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),FX1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0002\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\\0\\0\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),AX1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0002\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0004\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\\0\\0\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),TX1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0002\\0\\0\u0001\\0\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0004\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\\0\\0\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),wX1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0002\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0004\u0001\u0001\u0001\u0001\u0001\u0001\u0005\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\\0\\0\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),kX1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0002\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0004\u0001\u0005\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\\0\\0\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),NX1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0002\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\\0\\0\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),PX1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0002\\0\\0\u0001\\0\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\\0\\0\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),IX1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0002\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\\0\\0\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),OX1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0002\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\\0\\0\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),BX1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0002\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\\0\\0\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),LX1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0002\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0004\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\\0\\0\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),MX1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0002\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0001\u0001\u0001\u0001\u0004\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\\0\\0\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),RX1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0002\\0\\0\u0001\\0\u0001\u0001\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\\0\\0\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),jX1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0002\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0004\u0005\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\\0\\0\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),UX1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0002\\0\\0\u0001\\0\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0004\u0001\u0001\u0001\u0001\u0001\u0005\u0001\u0001\u0001\u0001\u0001\u0006\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\\0\\0\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),VX1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0002\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\\0\\0\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),$X1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0002\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\\0\\0\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),KX1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0002\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0004\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\\0\\0\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),zX1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0002\\0\\0\u0001\\0\u0001\u0003\u0004\u0001\u0001\u0005\u0001\u0001\u0001\u0001\u0001\u0006\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\\0\\0\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),WX1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0002\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0004\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\\0\\0\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),qX1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0002\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0004\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\\0\\0\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),JX1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0002\\0\\0\u0001\\0\u0001\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\\0\\0\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),HX1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0002\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0004\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\\0\\0\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),GX1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0002\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0001\u0001\u0001\u0004\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\\0\\0\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),XX1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0002\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0004\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\\0\\0\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),YX1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0002\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\\0\\0\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),QX1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0002\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0004\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\\0\\0\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),ZX1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0002\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\\0\\0\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),xY1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0002\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\\0\\0\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),eY1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0002\\0\\0\u0001\\0\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0004\u0001\u0001\u0005\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\\0\\0\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),tY1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0002\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\\0\\0\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),rY1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0002\\0\\0\u0001\\0\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0004\u0001\u0001\u0005\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\\0\\0\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),nY1=t(\"\u0001\\0\u0002\"),iY1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0002\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\\0\\0\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),aY1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0002\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0001\u0001\u0001\u0001\u0001\u0004\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\\0\\0\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),oY1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0002\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0001\u0004\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0005\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\\0\\0\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),sY1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0002\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\\0\\0\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),uY1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0002\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\\0\\0\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),cY1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0002\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0004\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\\0\\0\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),lY1=t(\"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),fY1=t(\"\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0002\"),pY1=t(\"\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\"),dY1=t(\"\u0001\\0\\0\u0002\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\"),mY1=t(\"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0001\u0001\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0004\"),hY1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0002\"),gY1=t(\"\u0001\u0002\\0\u0003\u0004\u0004\u0004\u0004\u0004\u0004\u0004\u0004\u0004\"),_Y1=t(\"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0002\"),yY1=t(\"\u0001\\0\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0003\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0003\"),DY1=t(\"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0004\u0001\u0001\u0002\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0001\u0003\u0001\u0001\u0002\u0001\u0001\u0001\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0001\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0001\u0002\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0002\u0002\u0002\u0002\u0002\u0001\u0002\u0002\u0001\u0001\u0002\u0002\u0002\u0002\u0001\u0002\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0003\u0002\u0002\u0002\u0001\u0002\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0003\u0003\u0003\u0003\u0003\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0001\u0002\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0001\u0003\u0001\u0003\u0003\u0001\u0003\u0003\u0001\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0001\u0001\u0001\u0002\u0002\u0002\u0002\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0001\u0001\u0001\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0001\u0001\u0001\u0001\u0002\u0002\u0003\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0002\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0001\u0001\u0003\u0003\u0003\u0003\u0003\u0003\u0002\u0002\u0003\u0003\u0001\u0003\u0003\u0003\u0003\u0002\u0002\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0002\u0002\u0002\u0001\u0001\u0002\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0003\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0002\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0002\u0002\u0001\u0001\u0001\u0001\u0002\u0001\u0001\u0003\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0003\u0003\u0003\u0003\u0002\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0002\u0003\u0003\u0003\u0002\u0003\u0003\u0003\u0003\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0003\u0003\u0003\u0001\u0001\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0001\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0003\u0003\u0003\u0002\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0002\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0003\u0003\u0001\u0001\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0003\u0003\u0003\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0001\u0002\u0002\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0002\u0001\u0001\u0001\u0002\u0002\u0002\u0002\u0001\u0001\u0003\u0002\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0001\u0001\u0003\u0003\u0001\u0001\u0003\u0003\u0003\u0002\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0001\u0001\u0001\u0001\u0002\u0002\u0001\u0002\u0002\u0002\u0003\u0003\u0001\u0001\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0002\u0002\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0001\u0003\u0001\u0001\u0003\u0003\u0003\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0001\u0001\u0001\u0002\u0002\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0002\u0002\u0001\u0002\u0002\u0001\u0002\u0002\u0001\u0001\u0003\u0001\u0003\u0003\u0003\u0003\u0003\u0001\u0001\u0001\u0001\u0003\u0003\u0001\u0001\u0003\u0003\u0003\u0001\u0001\u0001\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0002\u0002\u0002\u0001\u0002\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0002\u0002\u0002\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0003\u0003\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0002\u0002\u0002\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0002\u0002\u0001\u0002\u0002\u0002\u0002\u0002\u0001\u0001\u0003\u0002\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0001\u0003\u0003\u0003\u0001\u0003\u0003\u0003\u0001\u0001\u0002\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0002\u0003\u0003\u0001\u0001\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0003\u0003\u0003\u0003\u0003\u0003\u0001\u0003\u0003\u0003\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0001\u0002\u0002\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0002\u0002\u0001\u0002\u0002\u0002\u0002\u0002\u0001\u0001\u0003\u0002\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0001\u0001\u0003\u0003\u0001\u0001\u0003\u0003\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0003\u0001\u0001\u0001\u0001\u0002\u0002\u0001\u0002\u0002\u0002\u0003\u0003\u0001\u0001\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0001\u0002\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0002\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0001\u0001\u0002\u0002\u0002\u0001\u0002\u0002\u0002\u0002\u0001\u0001\u0001\u0002\u0002\u0001\u0002\u0001\u0002\u0002\u0001\u0001\u0001\u0002\u0002\u0001\u0001\u0001\u0002\u0002\u0002\u0001\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0001\u0001\u0001\u0003\u0003\u0003\u0003\u0003\u0001\u0001\u0001\u0003\u0003\u0003\u0001\u0003\u0003\u0003\u0003\u0001\u0001\u0002\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0003\u0003\u0003\u0003\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0002\u0002\u0002\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0001\u0001\u0002\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0001\u0003\u0003\u0003\u0001\u0003\u0003\u0003\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0003\u0001\u0002\u0002\u0002\u0001\u0001\u0001\u0001\u0001\u0002\u0002\u0003\u0003\u0001\u0001\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0003\u0003\u0003\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0002\u0002\u0002\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0002\u0002\u0002\u0002\u0002\u0001\u0001\u0003\u0002\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0001\u0003\u0003\u0003\u0001\u0003\u0003\u0003\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0001\u0002\u0002\u0003\u0003\u0001\u0001\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0001\u0002\u0002\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0003\u0003\u0003\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0002\u0002\u0002\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0003\u0003\u0002\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0001\u0003\u0003\u0003\u0001\u0003\u0003\u0003\u0003\u0002\u0001\u0001\u0001\u0001\u0001\u0002\u0002\u0002\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0002\u0002\u0003\u0003\u0001\u0001\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0001\u0003\u0003\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0002\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0001\u0001\u0003\u0001\u0001\u0001\u0001\u0003\u0003\u0003\u0003\u0003\u0003\u0001\u0003\u0001\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0001\u0001\u0003\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0003\u0002\u0002\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0001\u0001\u0001\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0001\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0002\u0001\u0002\u0001\u0002\u0002\u0002\u0002\u0002\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0002\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0003\u0002\u0002\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0002\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0001\u0002\u0001\u0003\u0003\u0003\u0003\u0003\u0003\u0001\u0001\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0001\u0001\u0002\u0002\u0002\u0002\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0001\u0003\u0001\u0003\u0001\u0001\u0001\u0001\u0003\u0003\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0001\u0001\u0001\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0001\u0003\u0003\u0002\u0002\u0002\u0002\u0002\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0001\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0002\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0003\u0003\u0003\u0003\u0002\u0002\u0002\u0002\u0003\u0003\u0003\u0002\u0003\u0003\u0003\u0002\u0002\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0002\u0002\u0002\u0003\u0003\u0003\u0003\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0002\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0002\u0001\u0001\u0001\u0001\u0001\u0002\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0002\u0002\u0002\u0002\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0002\u0001\u0002\u0002\u0002\u0002\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0002\u0002\u0002\u0002\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0002\u0002\u0002\u0002\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0002\u0001\u0002\u0002\u0002\u0002\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0002\u0002\u0002\u0002\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0001\u0003\u0003\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0001\u0001\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0002\u0002\u0002\u0002\u0003\u0003\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0003\u0003\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0003\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0002\u0002\u0002\u0001\u0003\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0001\u0001\u0001\u0002\u0001\u0001\u0001\u0001\u0002\u0003\u0001\u0001\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0003\u0003\u0001\u0001\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0003\u0002\u0001\u0001\u0001\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0001\u0001\u0001\u0001\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0001\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0003\u0003\u0003\u0003\u0003\u0001\u0001\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0001\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0001\u0001\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0003\u0003\u0003\u0003\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0001\u0001\u0001\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0003\u0003\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0002\u0002\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0001\u0001\u0001\u0002\u0002\u0002\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0001\u0002\u0002\u0002\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0003\u0003\u0001\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0002\u0002\u0002\u0002\u0003\u0002\u0002\u0002\u0002\u0002\u0002\u0003\u0002\u0002\u0003\u0003\u0003\u0002\u0001\u0001\u0001\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0001\u0003\u0003\u0003\u0003\u0003\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0002\u0001\u0001\u0001\u0002\u0002\u0002\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0001\u0001\u0002\u0002\u0002\u0002\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0001\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0001\u0001\u0001\u0001\u0001\u0002\u0002\u0002\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\"),vY1=t(`\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0003\u0002\u0002\u0004\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0005\u0006\u0006\u0006\u0006\u0006\u0006\u0006\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\u0002\u0002\u0002\u0002\u0002\\b\u0002\u0002\u0002\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\n\u0002\u0002\u0002\\v\u0002\\f\\r\u000e\u0002\u000f`),bY1=t(\"\u0001\\0\u0001\\0\\0\u0002\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\"),CY1=t(\"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0001\u0001\u0003\"),EY1=t(\"\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0003\u0004\"),SY1=t(`\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0003\u0004\u0003\u0003\u0005\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0003\u0002\u0006\u0002\\x07\\b\t\u0006\n\\v\\f\\r\u000e\u000f\u0010\u0011\u0012\u0013\u0013\u0013\u0013\u0013\u0013\u0013\u0013\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u001a\u001b\u001c\u0002\\x07\u0002\u001d\u001e\\x07\\x07\u001f \\x07\\x07!\\x07\\x07\\x07\"#\\x07\\x07\\x07\\x07$%\\x07&\\x07\\x07\\x07\\x07'()\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0003\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\u0002\u0002\u0002\u0002\\x07\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\u0002\u0002\\x07\\x07\\x07\\x07\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\\x07\u0002\\x07\\x07\\x07\u0002\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\u0002\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\u0002\u0002\u0002\u0002\\x07\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\u0002\u0002\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\\x07\\x07\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\u0002\u0002\u0002\\x07\\x07\\x07\\x07\u0002\u0002\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\u0002\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\\x07\\x07\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\u0002\\x07\\x07\u0002\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\u0002\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\\x07\\x07\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\u0002\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\u0002\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\u0002\u0002\u0002\\x07\\x07\u0002\\x07\u0002\\x07\\x07\u0002\u0002\u0002\\x07\\x07\u0002\u0002\u0002\\x07\\x07\\x07\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\u0002\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\u0002\\x07\u0002\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\u0002\u0002\\x07\\x07\\x07\\x07\\x07\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\u0002\u0002\u0002\\x07\u0002\u0002\u0002\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\u0002\u0002\u0002\u0002\u0002\\x07\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\u0002\\x07\\x07\\x07\\x07\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\u0002\\x07\\x07\\x07\\x07\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0003\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\u0002\u0002\u0002\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\u0002\u0002\u0002\\x07\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\u0002\\x07\u0002\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\u0002\u0002\u0002\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\\x07\\x07\\x07\\x07\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002`),FY1=t(`\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0003\u0004\u0003\u0003\u0005\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0003\u0006\\x07\\b\t\n\\v\\x07\\f\\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0015\u0015\u0015\u0015\u0015\u0015\u0015\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u001d\u001e\u001f \t!\"#$%&'\t\t(\t\t)\t*+,\t-./\t01\t2\t3456\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0003\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\u0002\u0002\u0002\u0002\t\u0002\u0002\u0002\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\u0002\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\t\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\u0002\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\t\t\t\u0002\t\t\u0002\u0002\t\t\t\t\u0002\t\u0002\u0002\u0002\u0002\u0002\u0002\t\u0002\t\t\t\u0002\t\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\u0002\t\u0002\u0002\u0002\u0002\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\u0002\u0002\u0002\t\t\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\t\u0002\u0002\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\u0002\u0002\u0002\u0002\t\u0002\u0002\u0002\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\u0002\u0002\u0002\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\u0002\u0002\u0002\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\t\t\t\t\t\t\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\u0002\u0002\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\t\t\t\t\t\t\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\u0002\u0002\u0002\t\t\t\t\t\t\t\t\u0002\u0002\t\t\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\t\t\t\t\t\t\t\u0002\t\u0002\u0002\u0002\t\t\t\t\u0002\u0002\u0002\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\u0002\t\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\t\t\t\t\u0002\u0002\u0002\u0002\t\t\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\t\t\t\t\t\t\t\u0002\t\t\u0002\t\t\u0002\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\t\t\u0002\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\t\t\t\t\t\t\t\u0002\t\t\t\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\t\t\t\t\t\t\t\u0002\t\t\u0002\t\t\t\t\t\u0002\u0002\u0002\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\t\t\t\t\t\t\u0002\u0002\t\t\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\t\t\t\t\t\t\t\u0002\t\t\u0002\t\t\t\t\t\u0002\u0002\u0002\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\u0002\t\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\u0002\t\t\t\t\t\t\u0002\u0002\u0002\t\t\t\u0002\t\t\t\t\u0002\u0002\u0002\t\t\u0002\t\u0002\t\t\u0002\u0002\u0002\t\t\u0002\u0002\u0002\t\t\t\u0002\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\t\t\t\t\t\t\u0002\t\t\t\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\u0002\u0002\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\t\u0002\u0002\u0002\u0002\u0002\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\u0002\u0002\u0002\u0002\t\t\t\t\t\t\t\t\u0002\t\t\t\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\t\t\t\t\t\t\t\t\t\t\u0002\t\t\t\t\t\u0002\u0002\u0002\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\u0002\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\t\t\t\t\t\t\u0002\t\t\t\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\u0002\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\u0002\u0002\u0002\u0002\u0002\t\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\t\t\t\t\u0002\u0002\u0002\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\t\t\t\t\t\t\t\t\t\u0002\t\u0002\u0002\t\t\t\t\t\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\t\t\t\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\u0002\t\u0002\t\t\t\t\t\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\t\u0002\t\t\t\t\t\t\t\t\t\t\u0002\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\u0002\u0002\t\t\t\t\t\u0002\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\t\t\t\t\t\t\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\t\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\t\t\t\t\u0002\u0002\u0002\u0002\t\t\t\t\u0002\u0002\u0002\t\u0002\u0002\u0002\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\t\u0002\u0002\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\t\u0002\u0002\u0002\u0002\u0002\t\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\t\t\t\t\u0002\u0002\t\t\t\t\t\t\t\u0002\t\u0002\t\t\t\t\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\t\t\t\t\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\t\t\t\t\u0002\u0002\t\t\t\t\t\t\t\u0002\t\u0002\t\t\t\t\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\t\t\t\t\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\u0002\t\t\t\t\t\t\u0002\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0003\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\u0002\u0002\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\t\t\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\t\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\u0002\u0002\u0002\u0002\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\t\u0002\u0002\u0002\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\u0002\t\t\t\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\u0002\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\t\t\t\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\u0002\t\t\t\t\t\t\t\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\u0002\t\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\t\t\u0002\t\t\t\t\t\t\u0002\t\t\u0002\u0002\u0002\t\u0002\u0002\u0002\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\u0002\t\t\t\t\t\t\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\u0002\t\t\t\t\t\t\u0002\u0002\t\t\t\t\t\t\t\t\u0002\t\u0002\t\u0002\t\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\t\t\t\t\t\t\t\u0002\t\u0002\u0002\u0002\t\t\t\u0002\t\t\t\t\t\t\t\u0002\u0002\u0002\t\t\t\t\u0002\u0002\t\t\t\t\t\t\u0002\u0002\u0002\u0002\t\t\t\t\t\t\t\t\t\t\t\t\t\u0002\u0002\u0002\u0002\u0002\t\t\t\u0002\t\t\t\t\t\t\t\u0002\u0002\u0002`),AY1=t(\"\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0003\u0004\u0003\u0003\u0005\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0003\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0006\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0003\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0003\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\"),TY1=t(\"\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0003\u0002\u0002\u0004\"),wY1=t(\"\u0001\\0\\0\\0\\0\u0002\"),kY1=t(`\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0003\u0004\u0003\u0003\u0005\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0003\u0002\u0006\u0002\\x07\u0002\u0002\u0006\u0002\u0002\u0002\u0002\u0002\u0002\\b\t\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\n\u0002\\v\\f\\r\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u000e\u0002\u0002\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u000f\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0003\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\u0002\u0002\u0002\u0002\\x07\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\u0002\u0002\\x07\\x07\\x07\\x07\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\\x07\u0002\\x07\\x07\\x07\u0002\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\u0002\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\u0002\u0002\u0002\u0002\\x07\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\u0002\u0002\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\\x07\\x07\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\u0002\u0002\u0002\\x07\\x07\\x07\\x07\u0002\u0002\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\u0002\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\\x07\\x07\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\u0002\\x07\\x07\u0002\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\u0002\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\\x07\\x07\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\u0002\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\u0002\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\u0002\u0002\u0002\\x07\\x07\u0002\\x07\u0002\\x07\\x07\u0002\u0002\u0002\\x07\\x07\u0002\u0002\u0002\\x07\\x07\\x07\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\u0002\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\u0002\\x07\u0002\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\u0002\u0002\\x07\\x07\\x07\\x07\\x07\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\u0002\u0002\u0002\\x07\u0002\u0002\u0002\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\u0002\u0002\u0002\u0002\u0002\\x07\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\u0002\\x07\\x07\\x07\\x07\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\u0002\\x07\\x07\\x07\\x07\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0003\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\u0002\u0002\u0002\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\u0002\u0002\u0002\\x07\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\u0002\\x07\u0002\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\\x07\u0002\u0002\u0002\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\\x07\\x07\\x07\\x07\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002\u0002\u0002\\x07\\x07\\x07\u0002\\x07\\x07\\x07\\x07\\x07\\x07\\x07\u0002\u0002\u0002`),NY1=t(\"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0002\"),PY1=t(\"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0002\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0002\"),IY1=t(\"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0002\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0003\\0\\0\\0\\0\\0\u0002\"),OY1=t(\"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0002\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0003\"),BY1=t(\"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0002\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0003\"),LY1=t(\"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0002\"),MY1=t(\"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0002\"),RY1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\u0002\"),jY1=t(\"\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0003\u0002\u0002\u0004\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0005\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0006\u0002\u0002\u0002\\x07\"),UY1=t(\"\u0001\\0\\0\\0\\0\u0002\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0003\"),VY1=t(\"\u0001\\0\u0002\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\"),$Y1=t(\"\u0001\\0\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\"),KY1=t(\"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0002\"),zY1=t(\"\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0003\u0002\u0002\u0004\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0005\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0006\"),WY1=t(\"\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0002\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0003\"),qY1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0002\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\\0\\0\\0\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\u0001\\0\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\\0\\0\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\\0\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\\0\\0\\0\\0\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\u0001\\0\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\u0001\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\u0001\u0001\u0001\u0001\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\u0001\u0001\u0001\\0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\"),JY1=t(\"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0001\u0001\u0001\u0001\u0001\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0002\"),HY1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0002\"),GY1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0002\"),XY1=t(\"\u0001\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\u0002\"),YY1=[0,[11,t(\"the identifier `\"),[2,0,[12,96,0]]],t(\"the identifier `%s`\")],QY1=[0,1],ZY1=t(\"@flow\"),xQ1=t(nM),eQ1=t(nM),tQ1=t(\"Peeking current location when not available\"),rQ1=t(EP),nQ1=t(ar),iQ1=t(gM),aQ1=t(QB),oQ1=t(mU),sQ1=t(WP),uQ1=t(tk),cQ1=t(sN),lQ1=t(p0),fQ1=t(XP),pQ1=t(MO),dQ1=t(GP),mQ1=t(I),hQ1=t(mM),gQ1=t(VO),_Q1=t(R6),yQ1=t(ei),DQ1=t(p0),vQ1=t(MO),bQ1=t(VO),CQ1=t(p0),EQ1=t(MO),SQ1=t(VO),FQ1=t(J),AQ1=t(\"eval\"),TQ1=t(FA),wQ1=t(EP),kQ1=t(Od),NQ1=t(jc),PQ1=t(IV),IQ1=t(fN),OQ1=t(I),BQ1=t(uN),LQ1=t(iA),MQ1=t(OR),RQ1=t(K9),jQ1=t(Ls),UQ1=t(Qo),VQ1=t(uL),$Q1=t(lN),KQ1=t(bV),zQ1=t(n1),WQ1=t(jB),qQ1=t(pn),JQ1=t(lU),HQ1=t(hi),GQ1=t(TO),XQ1=t(rU),YQ1=t(sN),QQ1=t(hP),ZQ1=t(cK),xZ1=t(Sw),eZ1=t(cd),tZ1=t(nI),rZ1=t(Dk),nZ1=t(it),iZ1=t(kt),aZ1=t(Fs),oZ1=t(tF),sZ1=t(Rk),uZ1=t(IO),cZ1=t(Zn),lZ1=t(R6),fZ1=t(tM),pZ1=t(ei),dZ1=t(XO),mZ1=t(Ci),hZ1=t(uN),gZ1=[0,t(\"src/parser/parser_env.ml\"),361,2],_Z1=t(\"Internal Error: Tried to add_declared_private with outside of class scope.\"),yZ1=t(\"Internal Error: `exit_class` called before a matching `enter_class`\"),DZ1=t(ke),vZ1=t(ke),bZ1=[0,0,0],CZ1=[0,0,0],EZ1=t(AO),SZ1=t(AO),FZ1=t(\"Parser_env.Try.Rollback\"),AZ1=t(ke),TZ1=t(ke),wZ1=[0,t(SO),t(nK),t(eI),t(en),t(xr),t(Xw),t(ZF)],kZ1=[0,t(GN),t(Ni),t(kR),t(pT),t(iN),t(r9),t(fT),t(jN),t(zB),t(w),t(eI),t(Kr),t(oN),t(EM),t(Jw),t(OF),t(rj),t(Qs),t(WR),t(PF),t(ZP),t(jI),t(vP),t(nI),t(ZO),t(Q6),t(qE),t($9),t(qO),t(vC),t(Hw),t(tL),t(rI),t(JP),t(JO),t(uT),t(GR),t(WN),t(rn),t(Fa),t(cP),t(ZF),t(Xs),t(jO),t(KO),t(T1)],NZ1=[0,t(Ze),t(Q1),t(HI),t(pP),t(cP),t(lT),t(LO),t(Vt),t(l5),t(vP),t(v9),t(Rk),t(uM),t(jR),t(YI),t(FM),t(OF),t(SA),t(RR),t(x9),t(dF),t(ij),t(q5),t(Q6),t(nL),t(ZO),t(JB),t(DS),t(rL),t(j1),t(rn),t(gr),t(WT),t(jk),t(ir),t($R),t(QO),t(mL),t(KI),t(vk),t(bP),t(dT),t(x4),t(VR),t(aN),t(ur),t(uT),t(wR),t(fM),t(sL),t(h9),t(BR),t(eL),t(JP),t(EM),t(oN),t(kc),t(HO),t(TM),t(j9),t(ZP),t(SM),t(wr),t(tL),t(qc),t(rN),t(C4),t(JA),t(k0),t(M9),t($9),t(dM),t(KO),t($N),t(iI),t(Vu),t($1),t(NO),t(ER),t(Kr),t(Bk),t(pN),t(mI),t(Xs),t(WB),t(wO),t(hL),t(J2),t(pL),t(eI),t(tk),t(GO),t(rF),t(uN),t($k),t(zO),t(CM),t(Vd),t(E4),t(zI),t(ro),t(JR),t(_I),t(f2),t(d6),t(jI),t(aU),t(m9),t(tj),t(nk),t($O),t(iE),t(oL),t(IN),t(jN),t(GN),t(kM),t(pT),t(kR),t(JO),t(c5),t(Le),t(WR),t(Ps),t(OB),t(xM),t(Jw),t(MF),t(u5),t(Qs),t(WN),t(_M),t(UR),t(YB),t(oj),t(rj),t(nI),t(Fs),t(DU),t(nj),t(aj),t(cd),t(pn),t(VS),t(Wk),t(kT),t(ba),t(Aw),t(Hc),t(no),t(ow),t(e4),t(o5),t(xk),t(UO),t(SP),t(mt),t(BB),t(ya),t(AU),t(ZL),t(XI),t(N),t(_0),t(BN),t(DM),t(VI),t(k2),t(fT),t(dt),t(WO),t(Fa),t(qB),t(XR),t(pM),t(cT),t(w),t(qE),t(iL),t(_L),t(GR),t(aL),t(vR),t(Sc),t(S),t(SR),t(r9),t(T1),t(Ni),t(OI),t(iN),t(fI),t(Ln),t(hM),t(rI),t(yt),t(Dc),t(w5),t(FO),t(hU),t(zB),t(jO),t(H0),t(oa),t(Hw),t(S1),t(GL),t(yr),t(qO),t(LN),t(jB),t(wS),t(SU),t(S4),t(gc),t(oS),t($p),t(yM),t(vC),t(QR),t(qR),t(oo),t(ZF),t(F5),t(PF),t(lM),t(xt),t(rr),t(Qo),t(qN),t(EP),t(DR),t(FP),t(HB),t(zt)],PZ1=[0,t(Ze),t(Q1),t(HI),t(pP),t(cP),t(lT),t(LO),t(Vt),t(l5),t(vP),t(v9),t(Rk),t(uM),t(jR),t(YI),t(FM),t(OF),t(SA),t(RR),t(x9),t(dF),t(ij),t(q5),t(Q6),t(nL),t(ZO),t(JB),t(nK),t(DS),t(rL),t(j1),t(rn),t(gr),t(WT),t(jk),t(ir),t($R),t(QO),t(mL),t(KI),t(vk),t(bP),t(dT),t(x4),t(VR),t(aN),t(ur),t(uT),t(wR),t(fM),t(sL),t(xr),t(h9),t(BR),t(eL),t(JP),t(EM),t(oN),t(kc),t(HO),t(TM),t(j9),t(ZP),t(SM),t(wr),t(tL),t(qc),t(rN),t(C4),t(JA),t(k0),t(M9),t($9),t(dM),t(KO),t($N),t(iI),t(Vu),t($1),t(NO),t(ER),t(Kr),t(Bk),t(pN),t(mI),t(Xs),t(WB),t(wO),t(hL),t(J2),t(pL),t(eI),t(tk),t(GO),t(rF),t(uN),t($k),t(zO),t(CM),t(Vd),t(E4),t(zI),t(ro),t(JR),t(_I),t(f2),t(d6),t(jI),t(aU),t(m9),t(tj),t(nk),t($O),t(iE),t(oL),t(IN),t(jN),t(GN),t(kM),t(pT),t(kR),t(JO),t(c5),t(Le),t(WR),t(Ps),t(OB),t(xM),t(Jw),t(MF),t(u5),t(Qs),t(WN),t(_M),t(UR),t(YB),t(oj),t(rj),t(nI),t(Fs),t(DU),t(nj),t(aj),t(cd),t(pn),t(VS),t(Wk),t(kT),t(ba),t(Aw),t(Hc),t(no),t(ow),t(e4),t(o5),t(xk),t(UO),t(SP),t(mt),t(BB),t(ya),t(AU),t(ZL),t(XI),t(N),t(_0),t(BN),t(DM),t(VI),t(k2),t(fT),t(dt),t(WO),t(Fa),t(qB),t(XR),t(pM),t(cT),t(Xw),t(w),t(qE),t(iL),t(_L),t(GR),t(aL),t(vR),t(Sc),t(S),t(SR),t(r9),t(en),t(T1),t(Ni),t(OI),t(iN),t(SO),t(fI),t(Ln),t(hM),t(rI),t(yt),t(Dc),t(w5),t(FO),t(hU),t(zB),t(jO),t(H0),t(oa),t(Hw),t(S1),t(GL),t(yr),t(qO),t(LN),t(jB),t(wS),t(SU),t(S4),t(gc),t(oS),t($p),t(yM),t(vC),t(QR),t(qR),t(oo),t(ZF),t(F5),t(PF),t(lM),t(xt),t(rr),t(Qo),t(qN),t(EP),t(DR),t(FP),t(HB),t(zt)],IZ1=t(i0),OZ1=t(qP),BZ1=[0,[11,t(\"Failure while looking up \"),[2,0,[11,t(\". Index: \"),[4,0,0,0,[11,t(\". Length: \"),[4,0,0,0,[12,46,0]]]]]]],t(\"Failure while looking up %s. Index: %d. Length: %d.\")],LZ1=[0,0,0,0],MZ1=t(\"Offset_utils.Offset_lookup_failed\"),RZ1=t(vU),jZ1=t(YL),UZ1=t(aK),VZ1=t(G$),$Z1=t(G$),KZ1=t(aK),zZ1=t(ji),WZ1=t(m0),qZ1=t(Y6),JZ1=t(Y6),HZ1=t(\"Program\"),GZ1=t(Ka),XZ1=t(\"BreakStatement\"),YZ1=t(Ka),QZ1=t(\"ContinueStatement\"),ZZ1=t(\"DebuggerStatement\"),x0x=t(mN),e0x=t(\"DeclareExportAllDeclaration\"),t0x=t(mN),r0x=t(xO),n0x=t(E0),i0x=t(K9),a0x=t(\"DeclareExportDeclaration\"),o0x=t(Gl),s0x=t(Y6),u0x=t(ii),c0x=t(\"DeclareModule\"),l0x=t(g9),f0x=t(\"DeclareModuleExports\"),p0x=t(KS),d0x=t(Y6),m0x=t(\"DoWhileStatement\"),h0x=t(\"EmptyStatement\"),g0x=t(z9),_0x=t(E0),y0x=t(\"ExportDefaultDeclaration\"),D0x=t(z9),v0x=t(mN),b0x=t(\"ExportAllDeclaration\"),C0x=t(z9),E0x=t(mN),S0x=t(xO),F0x=t(E0),A0x=t(\"ExportNamedDeclaration\"),T0x=t(q2),w0x=t(Hw),k0x=t(\"ExpressionStatement\"),N0x=t(Y6),P0x=t(mF),I0x=t(KS),O0x=t(D9),B0x=t(\"ForStatement\"),L0x=t(e9),M0x=t(Y6),R0x=t(Ew),j0x=t(Vc),U0x=t(\"ForInStatement\"),V0x=t(Ls),$0x=t(Y6),K0x=t(Ew),z0x=t(Vc),W0x=t(\"ForOfStatement\"),q0x=t(U9),J0x=t($I),H0x=t(KS),G0x=t(\"IfStatement\"),X0x=t(ji),Y0x=t(R6),Q0x=t(yg),Z0x=t(FV),x1x=t(mN),e1x=t(xO),t1x=t(\"ImportDeclaration\"),r1x=t(Y6),n1x=t(Ka),i1x=t(\"LabeledStatement\"),a1x=t(cw),o1x=t(\"ReturnStatement\"),s1x=t(kV),u1x=t(\"discriminant\"),c1x=t(\"SwitchStatement\"),l1x=t(cw),f1x=t(\"ThrowStatement\"),p1x=t(RI),d1x=t(IF),m1x=t(ZF),h1x=t(\"TryStatement\"),g1x=t(Y6),_1x=t(KS),y1x=t(\"WhileStatement\"),D1x=t(Y6),v1x=t(aw),b1x=t(\"WithStatement\"),C1x=t(Ok),E1x=t(\"ArrayExpression\"),S1x=t(Nx),F1x=t(dU),A1x=t(Hw),T1x=t(oN),w1x=t(SP),k1x=t(n9),N1x=t(Y6),P1x=t($8),I1x=t(ii),O1x=t(\"ArrowFunctionExpression\"),B1x=t(\"=\"),L1x=t(Ew),M1x=t(Vc),R1x=t(dL),j1x=t(\"AssignmentExpression\"),U1x=t(Ew),V1x=t(Vc),$1x=t(dL),K1x=t(\"BinaryExpression\"),z1x=t(\"CallExpression\"),W1x=t(hn),q1x=t(Z$),J1x=t(\"ComprehensionExpression\"),H1x=t(U9),G1x=t($I),X1x=t(KS),Y1x=t(\"ConditionalExpression\"),Q1x=t(hn),Z1x=t(Z$),xxx=t(\"GeneratorExpression\"),exx=t(mN),txx=t(\"ImportExpression\"),rxx=t(\"||\"),nxx=t(\"&&\"),ixx=t(xs),axx=t(Ew),oxx=t(Vc),sxx=t(dL),uxx=t(\"LogicalExpression\"),cxx=t(\"MemberExpression\"),lxx=t(dI),fxx=t(\"meta\"),pxx=t(\"MetaProperty\"),dxx=t(J),mxx=t(NR),hxx=t(yR),gxx=t(\"NewExpression\"),_xx=t(MB),yxx=t(\"ObjectExpression\"),Dxx=t(T5),vxx=t(\"OptionalCallExpression\"),bxx=t(T5),Cxx=t(\"OptionalMemberExpression\"),Exx=t(iU),Sxx=t(\"SequenceExpression\"),Fxx=t(\"Super\"),Axx=t(\"ThisExpression\"),Txx=t(g9),wxx=t(Hw),kxx=t(\"TypeCastExpression\"),Nxx=t(cw),Pxx=t(\"AwaitExpression\"),Ixx=t(JN),Oxx=t(pI),Bxx=t(\"!\"),Lxx=t(\"~\"),Mxx=t(R6),Rxx=t(ei),jxx=t(lU),Uxx=t(\"matched above\"),Vxx=t(cw),$xx=t(xU),Kxx=t(dL),zxx=t(\"UnaryExpression\"),Wxx=t(\"--\"),qxx=t(\"++\"),Jxx=t(xU),Hxx=t(cw),Gxx=t(dL),Xxx=t(\"UpdateExpression\"),Yxx=t(aA),Qxx=t(cw),Zxx=t(\"YieldExpression\"),xex=t(\"Unexpected FunctionDeclaration with BodyExpression\"),eex=t(Nx),tex=t(dU),rex=t(Hw),nex=t(oN),iex=t(SP),aex=t(n9),oex=t(Y6),sex=t($8),uex=t(ii),cex=t(\"FunctionDeclaration\"),lex=t(\"Unexpected FunctionExpression with BodyExpression\"),fex=t(Nx),pex=t(dU),dex=t(Hw),mex=t(oN),hex=t(SP),gex=t(n9),_ex=t(Y6),yex=t($8),Dex=t(ii),vex=t(\"FunctionExpression\"),bex=t(T5),Cex=t(g9),Eex=t(J5),Sex=t(ul),Fex=t(ii),Aex=t(\"PrivateName\"),Tex=t(T5),wex=t(g9),kex=t(J5),Nex=t(ul),Pex=t($I),Iex=t(KS),Oex=t(\"SwitchCase\"),Bex=t(Y6),Lex=t(\"param\"),Mex=t(\"CatchClause\"),Rex=t(Y6),jex=t(\"BlockStatement\"),Uex=t(ii),Vex=t(\"DeclareVariable\"),$ex=t(oN),Kex=t(ii),zex=t(\"DeclareFunction\"),Wex=t(B9),qex=t(FA),Jex=t(sN),Hex=t(Y6),Gex=t(Nx),Xex=t(ii),Yex=t(\"DeclareClass\"),Qex=t(sN),Zex=t(Y6),xtx=t(Nx),etx=t(ii),ttx=t(\"DeclareInterface\"),rtx=t(yg),ntx=t(ji),itx=t(uo),atx=t(\"ExportNamespaceSpecifier\"),otx=t(Ew),stx=t(Nx),utx=t(ii),ctx=t(\"DeclareTypeAlias\"),ltx=t(Ew),ftx=t(Nx),ptx=t(ii),dtx=t(\"TypeAlias\"),mtx=t(\"DeclareOpaqueType\"),htx=t(\"OpaqueType\"),gtx=t(iM),_tx=t(KB),ytx=t(Nx),Dtx=t(ii),vtx=t(\"ClassDeclaration\"),btx=t(\"ClassExpression\"),Ctx=t(nw),Etx=t(FA),Stx=t(\"superTypeParameters\"),Ftx=t(\"superClass\"),Atx=t(Nx),Ttx=t(Y6),wtx=t(ii),ktx=t(Hw),Ntx=t(\"Decorator\"),Ptx=t(Nx),Itx=t(ii),Otx=t(\"ClassImplements\"),Btx=t(Y6),Ltx=t(\"ClassBody\"),Mtx=t(yP),Rtx=t(iw),jtx=t(ai),Utx=t(L9),Vtx=t(nw),$tx=t(Ba),Ktx=t(I),ztx=t(Gl),Wtx=t(yg),qtx=t(XN),Jtx=t(\"MethodDefinition\"),Htx=t(S5),Gtx=t(Bk),Xtx=t(I),Ytx=t(g9),Qtx=t(yg),Ztx=t(XN),xrx=t(\"ClassPrivateProperty\"),erx=t(\"Internal Error: Private name found in class prop\"),trx=t(S5),rrx=t(Bk),nrx=t(I),irx=t(Ba),arx=t(g9),orx=t(yg),srx=t(XN),urx=t(\"ClassProperty\"),crx=t(ii),lrx=t(aM),frx=t(D9),prx=t(ii),drx=t(\"EnumStringMember\"),mrx=t(ii),hrx=t(aM),grx=t(D9),_rx=t(ii),yrx=t(\"EnumNumberMember\"),Drx=t(D9),vrx=t(ii),brx=t(\"EnumBooleanMember\"),Crx=t(Ik),Erx=t(zR),Srx=t(Ys),Frx=t(\"EnumBooleanBody\"),Arx=t(Ik),Trx=t(zR),wrx=t(Ys),krx=t(\"EnumNumberBody\"),Nrx=t(Ik),Prx=t(zR),Irx=t(Ys),Orx=t(\"EnumStringBody\"),Brx=t(Ik),Lrx=t(Ys),Mrx=t(\"EnumSymbolBody\"),Rrx=t(Y6),jrx=t(ii),Urx=t(\"EnumDeclaration\"),Vrx=t(sN),$rx=t(Y6),Krx=t(Nx),zrx=t(ii),Wrx=t(\"InterfaceDeclaration\"),qrx=t(Nx),Jrx=t(ii),Hrx=t(\"InterfaceExtends\"),Grx=t(g9),Xrx=t(MB),Yrx=t(\"ObjectPattern\"),Qrx=t(g9),Zrx=t(Ok),xnx=t(\"ArrayPattern\"),enx=t(Ew),tnx=t(Vc),rnx=t(Y$),nnx=t(g9),inx=t(J5),anx=t(ul),onx=t(cw),snx=t(CV),unx=t(cw),cnx=t(CV),lnx=t(Ew),fnx=t(Vc),pnx=t(Y$),dnx=t(D9),mnx=t(D9),hnx=t(ai),gnx=t(L9),_nx=t(It),ynx=t(Ba),Dnx=t(PV),vnx=t(iw),bnx=t(Gl),Cnx=t(yg),Enx=t(XN),Snx=t(eA),Fnx=t(cw),Anx=t(\"SpreadProperty\"),Tnx=t(Ew),wnx=t(Vc),knx=t(Y$),Nnx=t(Ba),Pnx=t(PV),Inx=t(iw),Onx=t(Gl),Bnx=t(yg),Lnx=t(XN),Mnx=t(eA),Rnx=t(cw),jnx=t(\"SpreadElement\"),Unx=t(e9),Vnx=t(Ew),$nx=t(Vc),Knx=t(\"ComprehensionBlock\"),znx=t(\"We should not create Literal nodes for bigints\"),Wnx=t(nU),qnx=t(Aw),Jnx=t(\"regex\"),Hnx=t(Ft),Gnx=t(yg),Xnx=t(Ft),Ynx=t(yg),Qnx=t(p5),Znx=t(Ft),xix=t(yg),eix=t(p5),tix=t(QB),rix=t(yg),nix=t(\"BigIntLiteral\"),iix=t(Ft),aix=t(yg),oix=t(p5),six=t(VO),uix=t(p0),cix=t(Ft),lix=t(yg),fix=t(p5),pix=t(iU),dix=t(\"quasis\"),mix=t(\"TemplateLiteral\"),hix=t(oK),gix=t(Ft),_ix=t(P1),yix=t(yg),Dix=t(\"TemplateElement\"),vix=t(pU),bix=t(\"tag\"),Cix=t(\"TaggedTemplateExpression\"),Eix=t(tM),Six=t(J1),Fix=t(n1),Aix=t(Gl),Tix=t(\"declarations\"),wix=t(\"VariableDeclaration\"),kix=t(D9),Nix=t(ii),Pix=t(\"VariableDeclarator\"),Iix=t(Gl),Oix=t(\"Variance\"),Bix=t(\"AnyTypeAnnotation\"),Lix=t(\"MixedTypeAnnotation\"),Mix=t(\"EmptyTypeAnnotation\"),Rix=t(\"VoidTypeAnnotation\"),jix=t(\"NullLiteralTypeAnnotation\"),Uix=t(\"SymbolTypeAnnotation\"),Vix=t(\"NumberTypeAnnotation\"),$ix=t(\"BigIntTypeAnnotation\"),Kix=t(\"StringTypeAnnotation\"),zix=t(\"BooleanTypeAnnotation\"),Wix=t(g9),qix=t(\"NullableTypeAnnotation\"),Jix=t(Nx),Hix=t(h1),Gix=t(dU),Xix=t(IO),Yix=t($8),Qix=t(\"FunctionTypeAnnotation\"),Zix=t(T5),xax=t(g9),eax=t(J5),tax=t(MN),rax=t(T5),nax=t(g9),iax=t(J5),aax=t(MN),oax=[0,0,0,0,0],sax=t(\"internalSlots\"),uax=t(\"callProperties\"),cax=t(\"indexers\"),lax=t(MB),fax=t(\"exact\"),pax=t(yU),dax=t(\"ObjectTypeAnnotation\"),max=t(It),hax=t(\"There should not be computed object type property keys\"),gax=t(D9),_ax=t(ai),yax=t(L9),Dax=t(Gl),vax=t(Bk),bax=t(LR),Cax=t(I),Eax=t(T5),Sax=t(iw),Fax=t(yg),Aax=t(XN),Tax=t(\"ObjectTypeProperty\"),wax=t(cw),kax=t(\"ObjectTypeSpreadProperty\"),Nax=t(Bk),Pax=t(I),Iax=t(yg),Oax=t(XN),Bax=t(ii),Lax=t(\"ObjectTypeIndexer\"),Max=t(I),Rax=t(yg),jax=t(\"ObjectTypeCallProperty\"),Uax=t(yg),Vax=t(iw),$ax=t(I),Kax=t(T5),zax=t(ii),Wax=t(\"ObjectTypeInternalSlot\"),qax=t(Y6),Jax=t(sN),Hax=t(\"InterfaceTypeAnnotation\"),Gax=t(\"elementType\"),Xax=t(\"ArrayTypeAnnotation\"),Yax=t(ii),Qax=t(\"qualification\"),Zax=t(\"QualifiedTypeIdentifier\"),xox=t(Nx),eox=t(ii),tox=t(\"GenericTypeAnnotation\"),rox=t(\"indexType\"),nox=t(\"objectType\"),iox=t(\"IndexedAccessType\"),aox=t(T5),oox=t(\"OptionalIndexedAccessType\"),sox=t(CU),uox=t(\"UnionTypeAnnotation\"),cox=t(CU),lox=t(\"IntersectionTypeAnnotation\"),fox=t(cw),pox=t(\"TypeofTypeAnnotation\"),dox=t(CU),mox=t(\"TupleTypeAnnotation\"),hox=t(Ft),gox=t(yg),_ox=t(\"StringLiteralTypeAnnotation\"),yox=t(Ft),Dox=t(yg),vox=t(\"NumberLiteralTypeAnnotation\"),box=t(Ft),Cox=t(yg),Eox=t(\"BigIntLiteralTypeAnnotation\"),Sox=t(VO),Fox=t(p0),Aox=t(Ft),Tox=t(yg),wox=t(\"BooleanLiteralTypeAnnotation\"),kox=t(\"ExistsTypeAnnotation\"),Nox=t(g9),Pox=t(\"TypeAnnotation\"),Iox=t($8),Oox=t(\"TypeParameterDeclaration\"),Box=t(K9),Lox=t(Bk),Mox=t(Cw),Rox=t(J5),jox=t(\"TypeParameter\"),Uox=t($8),Vox=t(f5),$ox=t($8),Kox=t(f5),zox=t(ar),Wox=t(bi),qox=t(\"closingElement\"),Jox=t(\"openingElement\"),Hox=t(\"JSXElement\"),Gox=t(\"closingFragment\"),Xox=t(bi),Yox=t(\"openingFragment\"),Qox=t(\"JSXFragment\"),Zox=t(\"selfClosing\"),xsx=t(eK),esx=t(J5),tsx=t(\"JSXOpeningElement\"),rsx=t(\"JSXOpeningFragment\"),nsx=t(J5),isx=t(\"JSXClosingElement\"),asx=t(\"JSXClosingFragment\"),osx=t(yg),ssx=t(J5),usx=t(\"JSXAttribute\"),csx=t(cw),lsx=t(\"JSXSpreadAttribute\"),fsx=t(\"JSXEmptyExpression\"),psx=t(Hw),dsx=t(\"JSXExpressionContainer\"),msx=t(Hw),hsx=t(\"JSXSpreadChild\"),gsx=t(Ft),_sx=t(yg),ysx=t(\"JSXText\"),Dsx=t(dI),vsx=t(aw),bsx=t(\"JSXMemberExpression\"),Csx=t(J5),Esx=t(\"namespace\"),Ssx=t(\"JSXNamespacedName\"),Fsx=t(J5),Asx=t(\"JSXIdentifier\"),Tsx=t(uo),wsx=t(Cn),ksx=t(\"ExportSpecifier\"),Nsx=t(Cn),Psx=t(\"ImportDefaultSpecifier\"),Isx=t(Cn),Osx=t(\"ImportNamespaceSpecifier\"),Bsx=t(FV),Lsx=t(Cn),Msx=t(\"imported\"),Rsx=t(\"ImportSpecifier\"),jsx=t(\"Line\"),Usx=t(\"Block\"),Vsx=t(yg),$sx=t(yg),Ksx=t(\"DeclaredPredicate\"),zsx=t(\"InferredPredicate\"),Wsx=t(J),qsx=t(NR),Jsx=t(yR),Hsx=t(Ba),Gsx=t(dI),Xsx=t(aw),Ysx=t(\"message\"),Qsx=t(YL),Zsx=t(\"end\"),xux=t(bl),eux=t(mN),tux=t(qP),rux=t(i0),nux=t(Sw),iux=t(OR),aux=t(Dk),oux=t(it),sux=t(Fs),uux=t(Rk),cux=t(IO),lux=t(cd),fux=t(Zn),pux=t(tM),dux=t(XO),mux=t(Ci),hux=t(n1),gux=t(J1),_ux=t(MO),yux=t(p0),Dux=t(VO),vux=t(Qo),bux=t(uL),Cux=t(lN),Eux=t(jB),Sux=t(K9),Fux=t(hi),Aux=t(hP),Tux=t(cK),wux=t(bV),kux=t(sN),Nux=t(I),Pux=t(TO),Iux=t(kt),Oux=t(lU),Bux=t(R6),Lux=t(ei),Mux=t(iA),Rux=t(rU),jux=t(nI),Uux=t(tF),Vux=t(FA),$ux=t(EP),Kux=t(Od),zux=t(jc),Wux=t(IV),qux=t(fN),Jux=t(uN),Hux=t(pn),Gux=t(S5),Xux=t(ji),Yux=t(Bx),Qux=t(\"of\"),Zux=t(n9),xcx=t(Ls),ecx=t(gM),tcx=t(XP),rcx=t(tk),ncx=t(GP),icx=t(QB),acx=t(mM),ocx=t(ei),scx=t(k1),ucx=t(WP),ccx=t(mU),lcx=[0,t(wV)],fcx=t(ke),pcx=[8,0],dcx=t(ke),mcx=[0,1],hcx=[0,2],gcx=[0,3],_cx=[0,0],ycx=[0,0],Dcx=[0,0,0,0,0],vcx=[0,t(v0),850,6],bcx=[0,t(v0),853,6],Ccx=[0,t(v0),956,8],Ecx=t(LR),Scx=[0,t(v0),973,8],Fcx=t(\"Can not have both `static` and `proto`\"),Acx=t(I),Tcx=t(LR),wcx=t(ai),kcx=t(L9),Ncx=t(ai),Pcx=t(yP),Icx=t(B),Ocx=[0,0,0,0],Bcx=[0,[0,0,0,0,0]],Lcx=t(IO),Mcx=[0,0],Rcx=[15,1],jcx=[15,0],Ucx=[0,t(v0),138,15],Vcx=[0,t(v0),uw,15],$cx=[0,43],Kcx=[0,43],zcx=[0,0,0],Wcx=[0,0,0],qcx=[0,0,0],Jcx=[0,41],Hcx=t(X6),Gcx=t(X6),Xcx=[0,t(wc),1495,13],Ycx=[0,t(wc),1261,17],Qcx=[0,t(\"a template literal part\")],Zcx=[0,[0,t(ke),t(ke)],1],xlx=t(MO),elx=t(MO),tlx=t(VO),rlx=t(p0),nlx=t(\"Invalid bigint \"),ilx=t(\"Invalid bigint binary/octal \"),alx=t(rM),olx=t(D6),slx=t(LB),ulx=t(LB),clx=t(Jx),llx=[0,43],flx=[0,1],plx=[0,1],dlx=[0,1],mlx=[0,1],hlx=[0,0],glx=t(ar),_lx=t(ar),ylx=t(kt),Dlx=t(FR),vlx=[0,t(\"the identifier `target`\")],blx=[0,0],Clx=[0,80],Elx=[0,0,0],Slx=[0,1,0],Flx=[0,1,1],Alx=t(tF),Tlx=[0,0],wlx=[0,t(\"either a call or access of `super`\")],klx=t(tF),Nlx=[0,0],Plx=[0,1],Ilx=[0,0],Olx=[0,1],Blx=[0,0],Llx=[0,1],Mlx=[0,0],Rlx=[0,2],jlx=[0,3],Ulx=[0,7],Vlx=[0,6],$lx=[0,4],Klx=[0,5],zlx=[0,[0,17,[0,2]]],Wlx=[0,[0,18,[0,3]]],qlx=[0,[0,19,[0,4]]],Jlx=[0,[0,0,[0,5]]],Hlx=[0,[0,1,[0,5]]],Glx=[0,[0,2,[0,5]]],Xlx=[0,[0,3,[0,5]]],Ylx=[0,[0,5,[0,6]]],Qlx=[0,[0,7,[0,6]]],Zlx=[0,[0,4,[0,6]]],xfx=[0,[0,6,[0,6]]],efx=[0,[0,8,[0,7]]],tfx=[0,[0,9,[0,7]]],rfx=[0,[0,10,[0,7]]],nfx=[0,[0,11,[0,8]]],ifx=[0,[0,12,[0,8]]],afx=[0,[0,15,[0,9]]],ofx=[0,[0,13,[0,9]]],sfx=[0,[0,14,[1,10]]],ufx=[0,[0,16,[0,9]]],cfx=[0,[0,21,[0,6]]],lfx=[0,[0,20,[0,6]]],ffx=[24,t(xs)],pfx=[0,[0,8]],dfx=[0,[0,7]],mfx=[0,[0,6]],hfx=[0,[0,10]],gfx=[0,[0,9]],_fx=[0,[0,11]],yfx=[0,[0,5]],Dfx=[0,[0,4]],vfx=[0,[0,2]],bfx=[0,[0,3]],Cfx=[0,[0,1]],Efx=[0,[0,0]],Sfx=[0,0],Ffx=t(kt),Afx=t(FR),Tfx=[0,5],wfx=t(n9),kfx=t(kt),Nfx=t(FR),Pfx=t(JI),Ifx=t(y9),Ofx=[18,t(\"JSX fragment\")],Bfx=[0,KD],Lfx=[1,KD],Mfx=t(ke),Rfx=[0,t(ke)],jfx=[0,t(wV)],Ufx=t(ke),Vfx=t(\"unexpected PrivateName in Property, expected a PrivateField\"),$fx=t(yP),Kfx=t(B),zfx=[0,0,0],Wfx=t(yP),qfx=t(yP),Jfx=t(ai),Hfx=t(L9),Gfx=[0,1],Xfx=[0,1],Yfx=[0,1],Qfx=t(yP),Zfx=t(ai),xpx=t(L9),epx=t(\"=\"),tpx=t(uN),rpx=t(Ls),npx=t(\"Internal Error: private name found in object props\"),ipx=t(lK),apx=[0,t(wV)],opx=t(uN),spx=t(Ls),upx=t(uN),cpx=t(Ls),lpx=t(lK),fpx=[11,t(ZO)],ppx=[0,1],dpx=t(Kk),mpx=t(xL),hpx=[0,t(TR),1723,21],gpx=t(Kk),_px=t(K9),ypx=t(\"other than an interface declaration!\"),Dpx=t(\"Internal Flow Error! Parsed `export interface` into something \"),vpx=t(xL),bpx=t(\"Internal Flow Error! Unexpected export statement declaration!\"),Cpx=[0,40],Epx=t(Kk),Spx=t(xL),Fpx=[0,t(ke),t(ke),0],Apx=[0,t(nN)],Tpx=t($t),wpx=t(\"exports\"),kpx=[0,1],Npx=t($t),Ppx=[0,1],Ipx=t(B9),Opx=[0,0],Bpx=[0,1],Lpx=[0,83],Mpx=[0,0],Rpx=[0,1],jpx=t(Kk),Upx=t(Kk),Vpx=t(xL),$px=t(Kk),Kpx=[0,t(\"the keyword `as`\")],zpx=t(Kk),Wpx=t(xL),qpx=[0,t(nN)],Jpx=[0,t(\"the keyword `from`\")],Hpx=[0,t(ke),t(ke),0],Gpx=t(\"Parser error: No such thing as an expression pattern!\"),Xpx=[0,t(Z4)],Ypx=t(\"Label\"),Qpx=[0,t(Z4)],Zpx=[0,0,0],xdx=[0,29],edx=[0,t(TR),419,22],tdx=[0,28],rdx=[0,t(TR),438,22],ndx=[0,0],idx=t(\"the token `;`\"),adx=[0,0],odx=[0,0],sdx=t(Ls),udx=t(J1),cdx=t(uN),ldx=[0,t(Xj)],fdx=[15,[0,0]],pdx=[0,t(Xj)],ddx=t(\"use strict\"),mdx=[0,0,0],hdx=t(`\n`),gdx=t(\"Nooo: \"),_dx=[0,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],ydx=[0,t(\"src/parser/parser_flow.ml\"),42,28],Ddx=[0,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],vdx=t(yg),bdx=t(vU),Cdx=t(qP),Edx=t(i0),Sdx=t(\"end\"),Fdx=t(qP),Adx=t(i0),Tdx=t(bl),wdx=t(YL),kdx=t(\"normal\"),Ndx=t(ji),Pdx=t(\"jsxTag\"),Idx=t(\"jsxChild\"),Odx=t(\"template\"),Bdx=t(XL),Ldx=t(\"context\"),Mdx=t(ji),Rdx=t(\"use_strict\"),jdx=t(CU),Udx=t(\"esproposal_optional_chaining\"),Vdx=t(\"esproposal_nullish_coalescing\"),$dx=t(\"esproposal_export_star_as\"),Kdx=t(\"esproposal_decorators\"),zdx=t(\"esproposal_class_static_fields\"),Wdx=t(\"esproposal_class_instance_fields\"),qdx=t(\"enums\"),Jdx=t(\"Internal error: \");function ck(i){if(typeof i==\"number\")return 0;switch(i[0]){case 0:return[0,ck(i[1])];case 1:return[1,ck(i[1])];case 2:return[2,ck(i[1])];case 3:return[3,ck(i[1])];case 4:return[4,ck(i[1])];case 5:return[5,ck(i[1])];case 6:return[6,ck(i[1])];case 7:return[7,ck(i[1])];case 8:return[8,i[1],ck(i[2])];case 9:var x=i[1];return[9,x,x,ck(i[3])];case 10:return[10,ck(i[1])];case 11:return[11,ck(i[1])];case 12:return[12,ck(i[1])];case 13:return[13,ck(i[1])];default:return[14,ck(i[1])]}}function kP(i,x){if(typeof i==\"number\")return x;switch(i[0]){case 0:return[0,kP(i[1],x)];case 1:return[1,kP(i[1],x)];case 2:return[2,kP(i[1],x)];case 3:return[3,kP(i[1],x)];case 4:return[4,kP(i[1],x)];case 5:return[5,kP(i[1],x)];case 6:return[6,kP(i[1],x)];case 7:return[7,kP(i[1],x)];case 8:return[8,i[1],kP(i[2],x)];case 9:var n=i[2];return[9,i[1],n,kP(i[3],x)];case 10:return[10,kP(i[1],x)];case 11:return[11,kP(i[1],x)];case 12:return[12,kP(i[1],x)];case 13:return[13,kP(i[1],x)];default:return[14,kP(i[1],x)]}}function gw(i,x){if(typeof i==\"number\")return x;switch(i[0]){case 0:return[0,gw(i[1],x)];case 1:return[1,gw(i[1],x)];case 2:return[2,i[1],gw(i[2],x)];case 3:return[3,i[1],gw(i[2],x)];case 4:var n=i[3],m=i[2];return[4,i[1],m,n,gw(i[4],x)];case 5:var L=i[3],v=i[2];return[5,i[1],v,L,gw(i[4],x)];case 6:var a0=i[3],O1=i[2];return[6,i[1],O1,a0,gw(i[4],x)];case 7:var dx=i[3],ie=i[2];return[7,i[1],ie,dx,gw(i[4],x)];case 8:var Ie=i[3],Ot=i[2];return[8,i[1],Ot,Ie,gw(i[4],x)];case 9:return[9,i[1],gw(i[2],x)];case 10:return[10,gw(i[1],x)];case 11:return[11,i[1],gw(i[2],x)];case 12:return[12,i[1],gw(i[2],x)];case 13:var Or=i[2];return[13,i[1],Or,gw(i[3],x)];case 14:var Cr=i[2];return[14,i[1],Cr,gw(i[3],x)];case 15:return[15,gw(i[1],x)];case 16:return[16,gw(i[1],x)];case 17:return[17,i[1],gw(i[2],x)];case 18:return[18,i[1],gw(i[2],x)];case 19:return[19,gw(i[1],x)];case 20:var ni=i[2];return[20,i[1],ni,gw(i[3],x)];case 21:return[21,i[1],gw(i[2],x)];case 22:return[22,gw(i[1],x)];case 23:return[23,i[1],gw(i[2],x)];default:var Jn=i[2];return[24,i[1],Jn,gw(i[3],x)]}}function qp(i){throw[0,lc,i]}function lk(i){throw[0,qi,i]}function G00(i){return 0<=i?i:0|-i}HA();function F2(i,x){var n=g(i),m=g(x),L=HT(n+m|0);return DL(i,0,L,0,n),DL(x,0,L,n,m),L}function Hdx(i){return i?Yf:gh}function c6(i,x){return i?[0,i[1],c6(i[2],x)]:x}(function(i){var x=dw.fds[i];x.flags.wronly&&Yt(\"fd \"+i+\" is writeonly\");var n={file:x.file,offset:x.offset,fd:i,opened:!0,out:!1,refill:null};nn[n.fd]=n})(0);var Gdx=zi(1),Xdx=zi(2),X00=[0,function(i){return function(x){for(var n=x;;){if(!n)return 0;var m=n[2],L=n[1];try{Nn(L)}catch(v){if((v=yi(v))[1]!==dl)throw v}n=m}}(function(){for(var x=0,n=0;n<nn.length;n++)nn[n]&&nn[n].opened&&nn[n].out&&(x=[0,nn[n].fd,x]);return x}())}];function Xa0(i,x,n){for(var m=x,L=n;;){var v=l(L,0);if(!v)return m;var a0=v[2];m=z(i,m,v[1]),L=a0}}function yj(i){return 0<=i&&!(MI<i)?i:lk(JC)}function Ya0(i){return 97<=i&&!($u<i)?i+-32|0:i}function Qa0(i){var x=0<=i?1:0,n=x&&(i<=55295?1:0);if(n)var m=n;else{var L=57344<=i?1:0;m=L&&(i<=gI?1:0)}return m}function Y00(i){return Qa0(i)?i:lk(F2(QN(kd,i),u6))}function Za0(i){return i}var xo0=t(\"Unix\"),pq=2147483643;function Dj(i){for(var x=0,n=i;;){if(!n)return x;x=x+1|0,n=n[2]}}function dq(i){return i?i[1]:qp(Pw)}function eo0(i){return i?i[2]:qp(Nw)}function vj(i,x){for(var n=i,m=x;;){if(!n)return m;var L=[0,n[1],m];n=n[2],m=L}}function yd(i){return vj(i,0)}function mq(i){return i?c6(i[1],mq(i[2])):0}function SK(i,x){if(x){var n=x[2];return[0,l(i,x[1]),SK(i,n)]}return 0}function qH(i,x){for(var n=0,m=x;;){if(!m)return n;var L=m[2];n=[0,l(i,m[1]),n],m=L}}function H9(i,x){for(var n=x;;){if(!n)return 0;var m=n[2];l(i,n[1]),n=m}}function U2(i,x,n){for(var m=x,L=n;;){if(!L)return m;var v=L[2];m=z(i,m,L[1]),L=v}}function Q00(i,x,n){return x?z(i,x[1],Q00(i,x[2],n)):n}function to0(i,x,n){for(var m=x,L=n;;){if(m){if(L){var v=L[2],a0=m[2];z(i,m[1],L[1]),m=a0,L=v;continue}}else if(!L)return 0;return lk(UE)}}function Z00(i,x){for(var n=x;;){if(!n)return 0;var m=n[2],L=OM(n[1],i)===0?1:0;if(L)return L;n=m}}function hq(i){return function(x){for(var n=0,m=x;;){if(!m)return yd(n);var L=m[2],v=m[1];l(i,v)&&(n=[0,v,n]),m=L}}}function ro0(i,x){for(var n=i,m=x;;){if(n===0)return m;if(!m)throw[0,Cs,iF];n=n-1|0,m=m[2]}}function FK(i,x){var n=HT(i);return function(m,L,v,a0){if(v>0)if(L==0&&(v>=m.l||m.t==2&&v>=m.c.length))a0==0?(m.c=ke,m.t=2):(m.c=cj(v,String.fromCharCode(a0)),m.t=v==m.l?0:2);else for(m.t!=4&&yL(m),v+=L;L<v;L++)m.c[L]=a0}(n,0,i,x),n}function no0(i){var x=f(i),n=HT(x);return eB(i,0,n,0,x),n}function io0(i,x,n){if(0<=x&&0<=n&&!((f(i)-n|0)<x)){var m=HT(n);return eB(i,x,m,0,n),m}return lk(hN)}function x10(i,x,n){return io0(i,x,n)}function ao0(i,x,n,m,L){return 0<=L&&0<=x&&!((f(i)-L|0)<x)&&0<=m&&!((f(n)-L|0)<m)?eB(i,x,n,m,L):lk(mw)}function OU(i,x,n,m,L){return 0<=L&&0<=x&&!((g(i)-L|0)<x)&&0<=m&&!((f(n)-L|0)<m)?DL(i,x,n,m,L):lk(uk)}function JH(i,x){return FK(i,x)}function vI(i,x,n){return io0(i,x,n)}HA(),t(\"js_of_ocaml\");var gq=S2;function oo0(i,x){if(i===0)return[0];if(0<=i){var n=vr(i,l(x,0)),m=i-1|0;if(!(m<1))for(var L=1;;){n[1+L]=l(x,L);var v=L+1|0;if(m===L)break;L=v}return n}return lk(Rs)}function HH(i,x,n,m,L){return 0<=L&&0<=x&&!((i.length-1-L|0)<x)&&0<=m&&!((n.length-1-L|0)<m)?function(v,a0,O1,dx,ie){if(dx<=a0)for(var Ie=1;Ie<=ie;Ie++)O1[dx+Ie]=v[a0+Ie];else for(Ie=ie;Ie>=1;Ie--)O1[dx+Ie]=v[a0+Ie];return 0}(i,x,n,m,L):lk(jF)}function so0(i,x){var n=x.length-1-1|0;if(!(n<0))for(var m=0;;){l(i,x[1+m]);var L=m+1|0;if(n===m)break;m=L}return 0}function Iz(i,x){var n=x.length-1;if(n===0)return[0];var m=vr(n,l(i,x[1])),L=n-1|0;if(!(L<1))for(var v=1;;){m[1+v]=l(i,x[1+v]);var a0=v+1|0;if(L===v)break;v=a0}return m}function _q(i){if(i)for(var x=0,n=i,m=i[2],L=i[1];;)if(n)x=x+1|0,n=n[2];else for(var v=vr(x,L),a0=1,O1=m;;){if(!O1)return v;var dx=O1[2];v[1+a0]=O1[1],a0=a0+1|0,O1=dx}return[0]}function yq(i){function x(Me){return Me?Me[4]:0}function n(Me,Ke,ct){var sr=Me?Me[4]:0,kr=ct?ct[4]:0;return[0,Me,Ke,ct,kr<=sr?sr+1|0:kr+1|0]}function m(Me,Ke,ct){var sr=Me?Me[4]:0,kr=ct?ct[4]:0;if((kr+2|0)<sr){if(Me){var wn=Me[3],In=Me[2],Tn=Me[1];if(x(wn)<=x(Tn))return n(Tn,In,n(wn,Ke,ct));if(wn){var ix=wn[2],Nr=wn[1],Mx=n(wn[3],Ke,ct);return n(n(Tn,In,Nr),ix,Mx)}return lk(e2)}return lk(Qf)}if((sr+2|0)<kr){if(ct){var ko=ct[3],iu=ct[2],Mi=ct[1];if(x(Mi)<=x(ko))return n(n(Me,Ke,Mi),iu,ko);if(Mi){var Bc=Mi[2],ku=Mi[1],Kx=n(Mi[3],iu,ko);return n(n(Me,Ke,ku),Bc,Kx)}return lk(ml)}return lk(nh)}return[0,Me,Ke,ct,kr<=sr?sr+1|0:kr+1|0]}function L(Me,Ke){if(Ke){var ct=Ke[3],sr=Ke[2],kr=Ke[1],wn=z(i[1],Me,sr);if(wn===0)return Ke;if(0<=wn){var In=L(Me,ct);return ct===In?Ke:m(kr,sr,In)}var Tn=L(Me,kr);return kr===Tn?Ke:m(Tn,sr,ct)}return[0,0,Me,0,1]}function v(Me){return[0,0,Me,0,1]}function a0(Me,Ke){if(Ke){var ct=Ke[3],sr=Ke[2];return m(a0(Me,Ke[1]),sr,ct)}return v(Me)}function O1(Me,Ke){if(Ke){var ct=Ke[2];return m(Ke[1],ct,O1(Me,Ke[3]))}return v(Me)}function dx(Me,Ke,ct){if(Me){if(ct){var sr=ct[4],kr=Me[4],wn=ct[3],In=ct[2],Tn=ct[1],ix=Me[3],Nr=Me[2],Mx=Me[1];return(sr+2|0)<kr?m(Mx,Nr,dx(ix,Ke,ct)):(kr+2|0)<sr?m(dx(Me,Ke,Tn),In,wn):n(Me,Ke,ct)}return O1(Ke,Me)}return a0(Ke,ct)}function ie(Me){for(var Ke=Me;;){if(Ke){var ct=Ke[1];if(ct){Ke=ct;continue}return Ke[2]}throw eo}}function Ie(Me){for(var Ke=Me;;){if(Ke){var ct=Ke[1];if(ct){Ke=ct;continue}return[0,Ke[2]]}return 0}}function Ot(Me){for(var Ke=Me;;){if(Ke){var ct=Ke[3],sr=Ke[2];if(ct){Ke=ct;continue}return sr}throw eo}}function Or(Me){if(Me){var Ke=Me[1];if(Ke){var ct=Me[3],sr=Me[2];return m(Or(Ke),sr,ct)}return Me[3]}return lk(fc)}function Cr(Me,Ke){if(Me){if(Ke){var ct=Or(Ke);return dx(Me,ie(Ke),ct)}return Me}return Ke}function ni(Me,Ke){if(Ke){var ct=Ke[3],sr=Ke[2],kr=Ke[1],wn=z(i[1],Me,sr);if(wn===0)return[0,kr,1,ct];if(0<=wn){var In=ni(Me,ct),Tn=In[3],ix=In[2];return[0,dx(kr,sr,In[1]),ix,Tn]}var Nr=ni(Me,kr),Mx=Nr[2];return[0,Nr[1],Mx,dx(Nr[3],sr,ct)]}return Vo}function Jn(Me,Ke){if(Me){if(Ke){var ct=Ke[4],sr=Ke[2],kr=Me[4],wn=Me[2],In=Ke[3],Tn=Ke[1],ix=Me[3],Nr=Me[1];if(ct<=kr){if(ct===1)return L(sr,Me);var Mx=ni(wn,Ke),ko=Mx[1],iu=Jn(ix,Mx[3]);return dx(Jn(Nr,ko),wn,iu)}if(kr===1)return L(wn,Ke);var Mi=ni(sr,Me),Bc=Mi[1],ku=Jn(Mi[3],In);return dx(Jn(Bc,Tn),sr,ku)}return Me}return Ke}function Vn(Me,Ke){if(Ke){var ct=Ke[3],sr=Ke[2],kr=Ke[1],wn=z(i[1],Me,sr);if(wn===0)return 0;if(0<=wn){var In=Vn(Me,ct);if(In){var Tn=In[2];return[0,dx(kr,sr,In[1]),Tn]}return 0}var ix=Vn(Me,kr);if(ix){var Nr=ix[2];return[0,ix[1],function(Mx){return dx(l(Nr,0),sr,ct)}]}return 0}return[0,0,function(Mx){return 0}]}function zn(Me,Ke){for(var ct=Me,sr=Ke;;){if(!ct)return sr;var kr=[0,ct[2],ct[3],sr];ct=ct[1],sr=kr}}function Oi(Me,Ke){for(var ct=zn(Ke,0),sr=zn(Me,0),kr=ct;;){if(sr){if(kr){var wn=kr[3],In=kr[2],Tn=sr[3],ix=sr[2],Nr=z(i[1],sr[1],kr[1]);if(Nr===0){var Mx=zn(In,wn);sr=zn(ix,Tn),kr=Mx;continue}return Nr}return 1}return kr?-1:0}}function xn(Me,Ke){for(var ct=Me,sr=Ke;;){if(!sr)return ct;var kr=sr[2],wn=sr[1];ct=[0,kr,xn(ct,sr[3])],sr=wn}}function vt(Me,Ke){return Xa0(function(ct,sr){return L(sr,ct)},Ke,Me)}function Xt(Me,Ke){if(Me){var ct=Me[1],sr=zn(Me[2],Me[3]);return[0,ct,function(kr){return Xt(sr)}]}return 0}return[0,0,function(Me){return Me?0:1},function(Me,Ke){for(var ct=Ke;;){if(!ct)return 0;var sr=ct[3],kr=ct[1],wn=z(i[1],Me,ct[2]),In=wn===0?1:0;if(In)return In;ct=0<=wn?sr:kr}},L,v,function Me(Ke,ct){if(ct){var sr=ct[3],kr=ct[2],wn=ct[1],In=z(i[1],Ke,kr);if(In===0){if(wn){if(sr){var Tn=Or(sr);return m(wn,ie(sr),Tn)}return wn}return sr}if(0<=In){var ix=Me(Ke,sr);return sr===ix?ct:m(wn,kr,ix)}var Nr=Me(Ke,wn);return wn===Nr?ct:m(Nr,kr,sr)}return 0},Jn,function Me(Ke,ct){if(Ke){if(ct){var sr=Ke[3],kr=Ke[2],wn=Ke[1],In=ni(kr,ct),Tn=In[1];if(In[2]===0){var ix=Me(sr,In[3]);return Cr(Me(wn,Tn),ix)}var Nr=Me(sr,In[3]);return dx(Me(wn,Tn),kr,Nr)}return 0}return 0},function Me(Ke,ct){for(var sr=Ke,kr=ct;;){if(sr&&kr){var wn=sr[3],In=sr[2],Tn=sr[1];if(sr===kr)return 0;var ix=Vn(In,kr);if(ix){var Nr=ix[2],Mx=Me(Tn,ix[1]);if(Mx){sr=wn,kr=l(Nr,0);continue}return Mx}return 0}return 1}},function Me(Ke,ct){if(Ke){if(ct){var sr=Ke[3],kr=Ke[2],wn=Ke[1],In=ni(kr,ct),Tn=In[1];if(In[2]===0){var ix=Me(sr,In[3]);return dx(Me(wn,Tn),kr,ix)}var Nr=Me(sr,In[3]);return Cr(Me(wn,Tn),Nr)}return Ke}return 0},Oi,function(Me,Ke){return Oi(Me,Ke)===0?1:0},function Me(Ke,ct){for(var sr=Ke,kr=ct;;){if(sr){if(kr){var wn=kr[3],In=kr[1],Tn=sr[3],ix=sr[2],Nr=sr[1],Mx=z(i[1],ix,kr[2]);if(Mx===0){var ko=Me(Nr,In);if(ko){sr=Tn,kr=wn;continue}return ko}if(0<=Mx){var iu=Me([0,0,ix,Tn,0],wn);if(iu){sr=Nr;continue}return iu}var Mi=Me([0,Nr,ix,0,0],In);if(Mi){sr=Tn;continue}return Mi}return 0}return 1}},function Me(Ke,ct){for(var sr=ct;;){if(!sr)return 0;var kr=sr[3],wn=sr[2];Me(Ke,sr[1]),l(Ke,wn),sr=kr}},function Me(Ke,ct){if(ct){var sr=ct[3],kr=ct[2],wn=ct[1],In=Me(Ke,wn),Tn=l(Ke,kr),ix=Me(Ke,sr);if(wn===In&&kr===Tn&&sr===ix)return ct;var Nr=0;if(In!==0){var Mx=Ot(In);0<=z(i[1],Mx,Tn)&&(Nr=1)}if(!Nr){var ko=0;if(ix!==0){var iu=ie(ix);0<=z(i[1],Tn,iu)&&(ko=1)}if(!ko)return dx(In,Tn,ix)}return Jn(In,L(Tn,ix))}return 0},function Me(Ke,ct,sr){for(var kr=ct,wn=sr;;){if(!kr)return wn;var In=kr[3],Tn=z(Ke,kr[2],Me(Ke,kr[1],wn));kr=In,wn=Tn}},function Me(Ke,ct){for(var sr=ct;;){if(sr){var kr=sr[3],wn=sr[1],In=l(Ke,sr[2]);if(In){var Tn=Me(Ke,wn);if(Tn){sr=kr;continue}var ix=Tn}else ix=In;return ix}return 1}},function Me(Ke,ct){for(var sr=ct;;){if(sr){var kr=sr[3],wn=sr[1],In=l(Ke,sr[2]);if(In)var Tn=In;else{var ix=Me(Ke,wn);if(!ix){sr=kr;continue}Tn=ix}return Tn}return 0}},function Me(Ke,ct){if(ct){var sr=ct[3],kr=ct[2],wn=ct[1],In=Me(Ke,wn),Tn=l(Ke,kr),ix=Me(Ke,sr);return Tn?wn===In&&sr===ix?ct:dx(In,kr,ix):Cr(In,ix)}return 0},function Me(Ke,ct){if(ct){var sr=ct[2],kr=ct[3],wn=Me(Ke,ct[1]),In=wn[2],Tn=wn[1],ix=l(Ke,sr),Nr=Me(Ke,kr),Mx=Nr[2],ko=Nr[1];if(ix){var iu=Cr(In,Mx);return[0,dx(Tn,sr,ko),iu]}var Mi=dx(In,sr,Mx);return[0,Cr(Tn,ko),Mi]}return sl},function Me(Ke){if(Ke){var ct=Ke[1],sr=Me(Ke[3]);return(Me(ct)+1|0)+sr|0}return 0},function(Me){return xn(0,Me)},ie,Ie,Ot,function(Me){for(var Ke=Me;;){if(Ke){var ct=Ke[3],sr=Ke[2];if(ct){Ke=ct;continue}return[0,sr]}return 0}},ie,Ie,ni,function(Me,Ke){for(var ct=Ke;;){if(!ct)throw eo;var sr=ct[2],kr=ct[3],wn=ct[1],In=z(i[1],Me,sr);if(In===0)return sr;ct=0<=In?kr:wn}},function(Me,Ke){for(var ct=Ke;;){if(!ct)return 0;var sr=ct[2],kr=ct[3],wn=ct[1],In=z(i[1],Me,sr);if(In===0)return[0,sr];ct=0<=In?kr:wn}},function(Me,Ke){for(var ct=Ke;;){if(!ct)throw eo;var sr=ct[2],kr=ct[3],wn=ct[1];if(l(Me,sr))for(var In=sr,Tn=wn;;){if(!Tn)return In;var ix=Tn[2],Nr=Tn[3],Mx=Tn[1];l(Me,ix)?(In=ix,Tn=Mx):Tn=Nr}ct=kr}},function(Me,Ke){for(var ct=Ke;;){if(!ct)return 0;var sr=ct[2],kr=ct[3],wn=ct[1];if(l(Me,sr))for(var In=sr,Tn=wn;;){if(!Tn)return[0,In];var ix=Tn[2],Nr=Tn[3],Mx=Tn[1];l(Me,ix)?(In=ix,Tn=Mx):Tn=Nr}ct=kr}},function(Me,Ke){for(var ct=Ke;;){if(!ct)throw eo;var sr=ct[2],kr=ct[3],wn=ct[1];if(l(Me,sr))for(var In=sr,Tn=kr;;){if(!Tn)return In;var ix=Tn[2],Nr=Tn[3],Mx=Tn[1];l(Me,ix)?(In=ix,Tn=Nr):Tn=Mx}ct=wn}},function(Me,Ke){for(var ct=Ke;;){if(!ct)return 0;var sr=ct[2],kr=ct[3],wn=ct[1];if(l(Me,sr))for(var In=sr,Tn=kr;;){if(!Tn)return[0,In];var ix=Tn[2],Nr=Tn[3],Mx=Tn[1];l(Me,ix)?(In=ix,Tn=Nr):Tn=Mx}ct=wn}},function(Me){if(Me){var Ke=Me[2],ct=Me[1];if(Ke){var sr=Ke[2],kr=Ke[1];if(sr){var wn=sr[2],In=sr[1];if(wn){var Tn=wn[2],ix=wn[1];if(Tn){if(Tn[2]){var Nr=i[1],Mx=function(ku,Kx){if(ku===2){if(Kx){var ic=Kx[2];if(ic){var Br=ic[1],Dt=Kx[1],Li=z(Nr,Dt,Br);return Li===0?[0,Dt,0]:0<Li?[0,Dt,[0,Br,0]]:[0,Br,[0,Dt,0]]}}}else if(ku===3&&Kx){var Dl=Kx[2];if(Dl){var du=Dl[2];if(du){var is=du[1],Fu=Dl[1],Qt=Kx[1],Rn=z(Nr,Qt,Fu);if(Rn===0){var ca=z(Nr,Fu,is);return ca===0?[0,Fu,0]:0<ca?[0,Fu,[0,is,0]]:[0,is,[0,Fu,0]]}if(0<Rn){var Pr=z(Nr,Fu,is);if(Pr===0)return[0,Qt,[0,Fu,0]];if(0<Pr)return[0,Qt,[0,Fu,[0,is,0]]];var On=z(Nr,Qt,is);return On===0?[0,Qt,[0,Fu,0]]:0<On?[0,Qt,[0,is,[0,Fu,0]]]:[0,is,[0,Qt,[0,Fu,0]]]}var mn=z(Nr,Qt,is);if(mn===0)return[0,Fu,[0,Qt,0]];if(0<mn)return[0,Fu,[0,Qt,[0,is,0]]];var He=z(Nr,Fu,is);return He===0?[0,Fu,[0,Qt,0]]:0<He?[0,Fu,[0,is,[0,Qt,0]]]:[0,is,[0,Fu,[0,Qt,0]]]}}}for(var At=ku>>1,tr=ro0(At,Kx),Rr=ko(At,Kx),$n=ko(ku-At|0,tr),$r=0;;){if(Rr){if($n){var Ga=$n[2],Xa=$n[1],ls=Rr[2],Es=Rr[1],Fe=z(Nr,Es,Xa);if(Fe===0){Rr=ls,$n=Ga,$r=[0,Es,$r];continue}if(0<=Fe){$n=Ga,$r=[0,Xa,$r];continue}Rr=ls,$r=[0,Es,$r];continue}return vj(Rr,$r)}return vj($n,$r)}},ko=function(ku,Kx){if(ku===2){if(Kx){var ic=Kx[2];if(ic){var Br=ic[1],Dt=Kx[1],Li=z(Nr,Dt,Br);return Li===0?[0,Dt,0]:0<=Li?[0,Br,[0,Dt,0]]:[0,Dt,[0,Br,0]]}}}else if(ku===3&&Kx){var Dl=Kx[2];if(Dl){var du=Dl[2];if(du){var is=du[1],Fu=Dl[1],Qt=Kx[1],Rn=z(Nr,Qt,Fu);if(Rn===0){var ca=z(Nr,Fu,is);return ca===0?[0,Fu,0]:0<=ca?[0,is,[0,Fu,0]]:[0,Fu,[0,is,0]]}if(0<=Rn){var Pr=z(Nr,Qt,is);if(Pr===0)return[0,Fu,[0,Qt,0]];if(0<=Pr){var On=z(Nr,Fu,is);return On===0?[0,Fu,[0,Qt,0]]:0<=On?[0,is,[0,Fu,[0,Qt,0]]]:[0,Fu,[0,is,[0,Qt,0]]]}return[0,Fu,[0,Qt,[0,is,0]]]}var mn=z(Nr,Fu,is);if(mn===0)return[0,Qt,[0,Fu,0]];if(0<=mn){var He=z(Nr,Qt,is);return He===0?[0,Qt,[0,Fu,0]]:0<=He?[0,is,[0,Qt,[0,Fu,0]]]:[0,Qt,[0,is,[0,Fu,0]]]}return[0,Qt,[0,Fu,[0,is,0]]]}}}for(var At=ku>>1,tr=ro0(At,Kx),Rr=Mx(At,Kx),$n=Mx(ku-At|0,tr),$r=0;;){if(Rr){if($n){var Ga=$n[2],Xa=$n[1],ls=Rr[2],Es=Rr[1],Fe=z(Nr,Es,Xa);if(Fe===0){Rr=ls,$n=Ga,$r=[0,Es,$r];continue}if(0<Fe){Rr=ls,$r=[0,Es,$r];continue}$n=Ga,$r=[0,Xa,$r];continue}return vj(Rr,$r)}return vj($n,$r)}},iu=Dj(Me),Mi=2<=iu?ko(iu,Me):Me,Bc=function(ku,Kx){if(!(3<ku>>>0))switch(ku){case 0:return[0,0,Kx];case 1:if(Kx)return[0,[0,0,Kx[1],0,1],Kx[2]];break;case 2:if(Kx){var ic=Kx[2];if(ic)return[0,[0,[0,0,Kx[1],0,1],ic[1],0,2],ic[2]]}break;default:if(Kx){var Br=Kx[2];if(Br){var Dt=Br[2];if(Dt)return[0,[0,[0,0,Kx[1],0,1],Br[1],[0,0,Dt[1],0,1],2],Dt[2]]}}}var Li=ku/2|0,Dl=Bc(Li,Kx),du=Dl[2],is=Dl[1];if(du){var Fu=du[1],Qt=Bc((ku-Li|0)-1|0,du[2]),Rn=Qt[2];return[0,n(is,Fu,Qt[1]),Rn]}throw[0,Cs,Tl]};return Bc(Dj(Mi),Mi)[1]}return L(Tn[1],L(ix,L(In,L(kr,v(ct)))))}return L(ix,L(In,L(kr,v(ct))))}return L(In,L(kr,v(ct)))}return L(kr,v(ct))}return v(ct)}return 0},function(Me,Ke){for(var ct=Ke,sr=0;;){if(ct){var kr=ct[3],wn=ct[2],In=ct[1],Tn=z(i[1],wn,Me);if(Tn!==0){if(0<=Tn){ct=In,sr=[0,wn,kr,sr];continue}ct=kr;continue}var ix=[0,wn,kr,sr]}else ix=sr;return function(Nr){return Xt(ix)}}},function(Me){var Ke=zn(Me,0);return function(ct){return Xt(Ke)}},vt,function(Me){return vt(Me,0)}]}function GH(i){function x(vt){return vt?vt[5]:0}function n(vt,Xt,Me,Ke){var ct=x(vt),sr=x(Ke);return[0,vt,Xt,Me,Ke,sr<=ct?ct+1|0:sr+1|0]}function m(vt,Xt){return[0,0,vt,Xt,0,1]}function L(vt,Xt,Me,Ke){var ct=vt?vt[5]:0,sr=Ke?Ke[5]:0;if((sr+2|0)<ct){if(vt){var kr=vt[4],wn=vt[3],In=vt[2],Tn=vt[1];if(x(kr)<=x(Tn))return n(Tn,In,wn,n(kr,Xt,Me,Ke));if(kr){var ix=kr[3],Nr=kr[2],Mx=kr[1],ko=n(kr[4],Xt,Me,Ke);return n(n(Tn,In,wn,Mx),Nr,ix,ko)}return lk(hw)}return lk(mT)}if((ct+2|0)<sr){if(Ke){var iu=Ke[4],Mi=Ke[3],Bc=Ke[2],ku=Ke[1];if(x(ku)<=x(iu))return n(n(vt,Xt,Me,ku),Bc,Mi,iu);if(ku){var Kx=ku[3],ic=ku[2],Br=ku[1],Dt=n(ku[4],Bc,Mi,iu);return n(n(vt,Xt,Me,Br),ic,Kx,Dt)}return lk(hT)}return lk(Z_)}return[0,vt,Xt,Me,Ke,sr<=ct?ct+1|0:sr+1|0]}function v(vt,Xt,Me){if(Me){var Ke=Me[4],ct=Me[3],sr=Me[2],kr=Me[1],wn=Me[5],In=z(i[1],vt,sr);if(In===0)return ct===Xt?Me:[0,kr,vt,Xt,Ke,wn];if(0<=In){var Tn=v(vt,Xt,Ke);return Ke===Tn?Me:L(kr,sr,ct,Tn)}var ix=v(vt,Xt,kr);return kr===ix?Me:L(ix,sr,ct,Ke)}return[0,0,vt,Xt,0,1]}function a0(vt){for(var Xt=vt;;){if(Xt){var Me=Xt[1];if(Me){Xt=Me;continue}return[0,Xt[2],Xt[3]]}throw eo}}function O1(vt){for(var Xt=vt;;){if(Xt){var Me=Xt[1];if(Me){Xt=Me;continue}return[0,[0,Xt[2],Xt[3]]]}return 0}}function dx(vt){if(vt){var Xt=vt[1];if(Xt){var Me=vt[4],Ke=vt[3],ct=vt[2];return L(dx(Xt),ct,Ke,Me)}return vt[4]}return lk(o_)}function ie(vt,Xt){if(vt){if(Xt){var Me=a0(Xt),Ke=Me[2];return L(vt,Me[1],Ke,dx(Xt))}return vt}return Xt}function Ie(vt,Xt,Me){if(Me){var Ke=Me[4],ct=Me[3],sr=Me[2];return L(Ie(vt,Xt,Me[1]),sr,ct,Ke)}return m(vt,Xt)}function Ot(vt,Xt,Me){if(Me){var Ke=Me[3],ct=Me[2];return L(Me[1],ct,Ke,Ot(vt,Xt,Me[4]))}return m(vt,Xt)}function Or(vt,Xt,Me,Ke){if(vt){if(Ke){var ct=Ke[5],sr=vt[5],kr=Ke[4],wn=Ke[3],In=Ke[2],Tn=Ke[1],ix=vt[4],Nr=vt[3],Mx=vt[2],ko=vt[1];return(ct+2|0)<sr?L(ko,Mx,Nr,Or(ix,Xt,Me,Ke)):(sr+2|0)<ct?L(Or(vt,Xt,Me,Tn),In,wn,kr):n(vt,Xt,Me,Ke)}return Ot(Xt,Me,vt)}return Ie(Xt,Me,Ke)}function Cr(vt,Xt){if(vt){if(Xt){var Me=a0(Xt),Ke=Me[2];return Or(vt,Me[1],Ke,dx(Xt))}return vt}return Xt}function ni(vt,Xt,Me,Ke){return Me?Or(vt,Xt,Me[1],Ke):Cr(vt,Ke)}function Jn(vt,Xt){if(Xt){var Me=Xt[4],Ke=Xt[3],ct=Xt[2],sr=Xt[1],kr=z(i[1],vt,ct);if(kr===0)return[0,sr,[0,Ke],Me];if(0<=kr){var wn=Jn(vt,Me),In=wn[3],Tn=wn[2];return[0,Or(sr,ct,Ke,wn[1]),Tn,In]}var ix=Jn(vt,sr),Nr=ix[2];return[0,ix[1],Nr,Or(ix[3],ct,Ke,Me)]}return NS}function Vn(vt,Xt){for(var Me=vt,Ke=Xt;;){if(!Me)return Ke;var ct=[0,Me[2],Me[3],Me[4],Ke];Me=Me[1],Ke=ct}}function zn(vt,Xt){for(var Me=vt,Ke=Xt;;){if(!Ke)return Me;var ct=Ke[3],sr=Ke[2],kr=Ke[1];Me=[0,[0,sr,ct],zn(Me,Ke[4])],Ke=kr}}function Oi(vt,Xt){return Xa0(function(Me,Ke){return v(Ke[1],Ke[2],Me)},Xt,vt)}function xn(vt,Xt){if(vt){var Me=vt[2],Ke=vt[1],ct=Vn(vt[3],vt[4]);return[0,[0,Ke,Me],function(sr){return xn(ct)}]}return 0}return[0,0,function(vt){return vt?0:1},function(vt,Xt){for(var Me=Xt;;){if(!Me)return 0;var Ke=Me[4],ct=Me[1],sr=z(i[1],vt,Me[2]),kr=sr===0?1:0;if(kr)return kr;Me=0<=sr?Ke:ct}},v,function vt(Xt,Me,Ke){if(Ke){var ct=Ke[4],sr=Ke[3],kr=Ke[2],wn=Ke[1],In=Ke[5],Tn=z(i[1],Xt,kr);if(Tn===0){var ix=l(Me,[0,sr]);if(ix){var Nr=ix[1];return sr===Nr?Ke:[0,wn,Xt,Nr,ct,In]}return ie(wn,ct)}if(0<=Tn){var Mx=vt(Xt,Me,ct);return ct===Mx?Ke:L(wn,kr,sr,Mx)}var ko=vt(Xt,Me,wn);return wn===ko?Ke:L(ko,kr,sr,ct)}var iu=l(Me,0);return iu?[0,0,Xt,iu[1],0,1]:0},m,function vt(Xt,Me){if(Me){var Ke=Me[4],ct=Me[3],sr=Me[2],kr=Me[1],wn=z(i[1],Xt,sr);if(wn===0)return ie(kr,Ke);if(0<=wn){var In=vt(Xt,Ke);return Ke===In?Me:L(kr,sr,ct,In)}var Tn=vt(Xt,kr);return kr===Tn?Me:L(Tn,sr,ct,Ke)}return 0},function vt(Xt,Me,Ke){if(Me){var ct=Me[2],sr=Me[5],kr=Me[4],wn=Me[3],In=Me[1];if(x(Ke)<=sr){var Tn=Jn(ct,Ke),ix=Tn[2],Nr=Tn[1],Mx=vt(Xt,kr,Tn[3]),ko=zr(Xt,ct,[0,wn],ix);return ni(vt(Xt,In,Nr),ct,ko,Mx)}}else if(!Ke)return 0;if(Ke){var iu=Ke[2],Mi=Ke[4],Bc=Ke[3],ku=Ke[1],Kx=Jn(iu,Me),ic=Kx[2],Br=Kx[1],Dt=vt(Xt,Kx[3],Mi),Li=zr(Xt,iu,ic,[0,Bc]);return ni(vt(Xt,Br,ku),iu,Li,Dt)}throw[0,Cs,k8]},function vt(Xt,Me,Ke){if(Me){if(Ke){var ct=Ke[3],sr=Ke[2],kr=Me[3],wn=Me[2],In=Ke[4],Tn=Ke[1],ix=Me[4],Nr=Me[1];if(Ke[5]<=Me[5]){var Mx=Jn(wn,Ke),ko=Mx[2],iu=Mx[3],Mi=vt(Xt,Nr,Mx[1]),Bc=vt(Xt,ix,iu);return ko?ni(Mi,wn,zr(Xt,wn,kr,ko[1]),Bc):Or(Mi,wn,kr,Bc)}var ku=Jn(sr,Me),Kx=ku[2],ic=ku[3],Br=vt(Xt,ku[1],Tn),Dt=vt(Xt,ic,In);return Kx?ni(Br,sr,zr(Xt,sr,Kx[1],ct),Dt):Or(Br,sr,ct,Dt)}var Li=Me}else Li=Ke;return Li},function(vt,Xt,Me){for(var Ke=Vn(Me,0),ct=Vn(Xt,0),sr=Ke;;){if(ct){if(sr){var kr=sr[4],wn=sr[3],In=sr[2],Tn=ct[4],ix=ct[3],Nr=ct[2],Mx=z(i[1],ct[1],sr[1]);if(Mx===0){var ko=z(vt,Nr,In);if(ko===0){var iu=Vn(wn,kr);ct=Vn(ix,Tn),sr=iu;continue}return ko}return Mx}return 1}return sr?-1:0}},function(vt,Xt,Me){for(var Ke=Vn(Me,0),ct=Vn(Xt,0),sr=Ke;;){if(ct){if(sr){var kr=sr[4],wn=sr[3],In=sr[2],Tn=ct[4],ix=ct[3],Nr=ct[2],Mx=z(i[1],ct[1],sr[1])===0?1:0;if(Mx){var ko=z(vt,Nr,In);if(ko){var iu=Vn(wn,kr);ct=Vn(ix,Tn),sr=iu;continue}var Mi=ko}else Mi=Mx;return Mi}return 0}return sr?0:1}},function vt(Xt,Me){for(var Ke=Me;;){if(!Ke)return 0;var ct=Ke[4],sr=Ke[3],kr=Ke[2];vt(Xt,Ke[1]),z(Xt,kr,sr),Ke=ct}},function vt(Xt,Me,Ke){for(var ct=Me,sr=Ke;;){if(!ct)return sr;var kr=ct[4],wn=ct[3],In=zr(Xt,ct[2],wn,vt(Xt,ct[1],sr));ct=kr,sr=In}},function vt(Xt,Me){for(var Ke=Me;;){if(Ke){var ct=Ke[4],sr=Ke[1],kr=z(Xt,Ke[2],Ke[3]);if(kr){var wn=vt(Xt,sr);if(wn){Ke=ct;continue}var In=wn}else In=kr;return In}return 1}},function vt(Xt,Me){for(var Ke=Me;;){if(Ke){var ct=Ke[4],sr=Ke[1],kr=z(Xt,Ke[2],Ke[3]);if(kr)var wn=kr;else{var In=vt(Xt,sr);if(!In){Ke=ct;continue}wn=In}return wn}return 0}},function vt(Xt,Me){if(Me){var Ke=Me[4],ct=Me[3],sr=Me[2],kr=Me[1],wn=vt(Xt,kr),In=z(Xt,sr,ct),Tn=vt(Xt,Ke);return In?kr===wn&&Ke===Tn?Me:Or(wn,sr,ct,Tn):Cr(wn,Tn)}return 0},function vt(Xt,Me){if(Me){var Ke=Me[3],ct=Me[2],sr=Me[4],kr=vt(Xt,Me[1]),wn=kr[2],In=kr[1],Tn=z(Xt,ct,Ke),ix=vt(Xt,sr),Nr=ix[2],Mx=ix[1];if(Tn){var ko=Cr(wn,Nr);return[0,Or(In,ct,Ke,Mx),ko]}var iu=Or(wn,ct,Ke,Nr);return[0,Cr(In,Mx),iu]}return cC},function vt(Xt){if(Xt){var Me=Xt[1],Ke=vt(Xt[4]);return(vt(Me)+1|0)+Ke|0}return 0},function(vt){return zn(0,vt)},a0,O1,function(vt){for(var Xt=vt;;){if(Xt){var Me=Xt[4],Ke=Xt[3],ct=Xt[2];if(Me){Xt=Me;continue}return[0,ct,Ke]}throw eo}},function(vt){for(var Xt=vt;;){if(Xt){var Me=Xt[4],Ke=Xt[3],ct=Xt[2];if(Me){Xt=Me;continue}return[0,[0,ct,Ke]]}return 0}},a0,O1,Jn,function(vt,Xt){for(var Me=Xt;;){if(!Me)throw eo;var Ke=Me[4],ct=Me[3],sr=Me[1],kr=z(i[1],vt,Me[2]);if(kr===0)return ct;Me=0<=kr?Ke:sr}},function(vt,Xt){for(var Me=Xt;;){if(!Me)return 0;var Ke=Me[4],ct=Me[3],sr=Me[1],kr=z(i[1],vt,Me[2]);if(kr===0)return[0,ct];Me=0<=kr?Ke:sr}},function(vt,Xt){for(var Me=Xt;;){if(!Me)throw eo;var Ke=Me[2],ct=Me[4],sr=Me[3],kr=Me[1];if(l(vt,Ke))for(var wn=Ke,In=sr,Tn=kr;;){if(!Tn)return[0,wn,In];var ix=Tn[2],Nr=Tn[4],Mx=Tn[3],ko=Tn[1];l(vt,ix)?(wn=ix,In=Mx,Tn=ko):Tn=Nr}Me=ct}},function(vt,Xt){for(var Me=Xt;;){if(!Me)return 0;var Ke=Me[2],ct=Me[4],sr=Me[3],kr=Me[1];if(l(vt,Ke))for(var wn=Ke,In=sr,Tn=kr;;){if(!Tn)return[0,[0,wn,In]];var ix=Tn[2],Nr=Tn[4],Mx=Tn[3],ko=Tn[1];l(vt,ix)?(wn=ix,In=Mx,Tn=ko):Tn=Nr}Me=ct}},function(vt,Xt){for(var Me=Xt;;){if(!Me)throw eo;var Ke=Me[2],ct=Me[4],sr=Me[3],kr=Me[1];if(l(vt,Ke))for(var wn=Ke,In=sr,Tn=ct;;){if(!Tn)return[0,wn,In];var ix=Tn[2],Nr=Tn[4],Mx=Tn[3],ko=Tn[1];l(vt,ix)?(wn=ix,In=Mx,Tn=Nr):Tn=ko}Me=kr}},function(vt,Xt){for(var Me=Xt;;){if(!Me)return 0;var Ke=Me[2],ct=Me[4],sr=Me[3],kr=Me[1];if(l(vt,Ke))for(var wn=Ke,In=sr,Tn=ct;;){if(!Tn)return[0,[0,wn,In]];var ix=Tn[2],Nr=Tn[4],Mx=Tn[3],ko=Tn[1];l(vt,ix)?(wn=ix,In=Mx,Tn=Nr):Tn=ko}Me=kr}},function vt(Xt,Me){if(Me){var Ke=Me[5],ct=Me[4],sr=Me[3],kr=Me[2];return[0,vt(Xt,Me[1]),kr,l(Xt,sr),vt(Xt,ct),Ke]}return 0},function vt(Xt,Me){if(Me){var Ke=Me[2],ct=Me[5],sr=Me[4],kr=Me[3];return[0,vt(Xt,Me[1]),Ke,z(Xt,Ke,kr),vt(Xt,sr),ct]}return 0},function(vt){var Xt=Vn(vt,0);return function(Me){return xn(Xt)}},function(vt,Xt){for(var Me=Xt,Ke=0;;){if(Me){var ct=Me[4],sr=Me[3],kr=Me[2],wn=Me[1],In=z(i[1],kr,vt);if(In!==0){if(0<=In){Me=wn,Ke=[0,kr,sr,ct,Ke];continue}Me=ct;continue}var Tn=[0,kr,sr,ct,Ke]}else Tn=Ke;return function(ix){return xn(Tn)}}},Oi,function(vt){return Oi(vt,0)}]}function Dq(i){return i[1]=0,i[2]=0,0}function AK(i,x){return x[1]=[0,i,x[1]],x[2]=x[2]+1|0,0}function Oz(i){var x=i[1];if(x){var n=x[1];return i[1]=x[2],i[2]=i[2]-1|0,[0,n]}return 0}function Bz(i){var x=i[1];return x?[0,x[1]]:0}HA(),HA();var Ydx=[mC,WS,HA()];function e10(i){return i[1]=0,i[2]=0,i[3]=0,0}function t10(i,x){var n=[0,i,0],m=x[3];return m?(x[1]=x[1]+1|0,m[2]=n,x[3]=n,0):(x[1]=1,x[2]=n,x[3]=n,0)}function sA(i){var x=1<=i?i:1,n=pq<x?pq:x,m=HT(n);return[0,m,0,n,m]}function Iw(i){return x10(i[1],0,i[2])}function r10(i,x){for(var n=i[2],m=[0,i[3]];;){if(!(m[1]<(n+x|0))){pq<m[1]&&((n+x|0)<=pq?m[1]=pq:qp(GA));var L=HT(m[1]);if(ao0(i[1],0,L,0,i[2]),i[1]=L,i[3]=m[1],(i[2]+x|0)<=i[3]){if((n+x|0)<=i[3])return 0;throw[0,Cs,r4]}throw[0,Cs,IT]}m[1]=2*m[1]|0}}function o9(i,x){var n=i[2];return i[3]<=n&&r10(i,1),nF(i[1],n,x),i[2]=n+1|0,0}function E8(i,x){var n=g(x),m=i[2]+n|0;return i[3]<m&&r10(i,n),DL(x,0,i[1],i[2],n),i[2]=m,0}function n10(i){return i[2]===5?12:-6}function uo0(i){return[0,0,HT(i)]}function co0(i,x){var n=f(i[2]),m=i[1]+x|0,L=n<m?1:0;if(L){var v=2*n|0,a0=HT(function(dx,ie){return+(nB(dx,ie,!1)>=0)}(v,m)?v:m);ao0(i[2],0,a0,0,n),i[2]=a0;var O1=0}else O1=L;return O1}function vq(i,x){return co0(i,1),C9(i[2],i[1],x),i[1]=i[1]+1|0,0}function DN(i,x){var n=g(x);return co0(i,n),OU(x,0,i[2],i[1],n),i[1]=i[1]+n|0,0}function lo0(i){return x10(i[2],0,i[1])}function i10(i,x){for(var n=x;;){if(typeof n==\"number\")return 0;switch(n[0]){case 0:var m=n[1];DN(i,HC),n=m;continue;case 1:var L=n[1];DN(i,oA),n=L;continue;case 2:var v=n[1];DN(i,o),n=v;continue;case 3:var a0=n[1];DN(i,p),n=a0;continue;case 4:var O1=n[1];DN(i,h),n=O1;continue;case 5:var dx=n[1];DN(i,y),n=dx;continue;case 6:var ie=n[1];DN(i,k),n=ie;continue;case 7:var Ie=n[1];DN(i,Q),n=Ie;continue;case 8:var Ot=n[2],Or=n[1];DN(i,$0),i10(i,Or),DN(i,j0),n=Ot;continue;case 9:var Cr=n[3],ni=n[1];DN(i,Z0),i10(i,ni),DN(i,g1),n=Cr;continue;case 10:var Jn=n[1];DN(i,z1),n=Jn;continue;case 11:var Vn=n[1];DN(i,X1),n=Vn;continue;case 12:var zn=n[1];DN(i,se),n=zn;continue;case 13:var Oi=n[1];DN(i,be),n=Oi;continue;default:var xn=n[1];DN(i,Je),n=xn;continue}}}function s9(i){if(typeof i==\"number\")return 0;switch(i[0]){case 0:return[0,s9(i[1])];case 1:return[1,s9(i[1])];case 2:return[2,s9(i[1])];case 3:return[3,s9(i[1])];case 4:return[4,s9(i[1])];case 5:return[5,s9(i[1])];case 6:return[6,s9(i[1])];case 7:return[7,s9(i[1])];case 8:return[8,i[1],s9(i[2])];case 9:return[9,i[2],i[1],s9(i[3])];case 10:return[10,s9(i[1])];case 11:return[11,s9(i[1])];case 12:return[12,s9(i[1])];case 13:return[13,s9(i[1])];default:return[14,s9(i[1])]}}function vN(i){if(typeof i==\"number\")return[0,function(fu){return 0},function(fu){return 0},function(fu){return 0},function(fu){return 0}];switch(i[0]){case 0:var x=vN(i[1]),n=x[4],m=x[3],L=x[2],v=x[1];return[0,function(fu){return l(v,0),0},function(fu){return l(L,0),0},m,n];case 1:var a0=vN(i[1]),O1=a0[4],dx=a0[3],ie=a0[2],Ie=a0[1];return[0,function(fu){return l(Ie,0),0},function(fu){return l(ie,0),0},dx,O1];case 2:var Ot=vN(i[1]),Or=Ot[4],Cr=Ot[3],ni=Ot[2],Jn=Ot[1];return[0,function(fu){return l(Jn,0),0},function(fu){return l(ni,0),0},Cr,Or];case 3:var Vn=vN(i[1]),zn=Vn[4],Oi=Vn[3],xn=Vn[2],vt=Vn[1];return[0,function(fu){return l(vt,0),0},function(fu){return l(xn,0),0},Oi,zn];case 4:var Xt=vN(i[1]),Me=Xt[4],Ke=Xt[3],ct=Xt[2],sr=Xt[1];return[0,function(fu){return l(sr,0),0},function(fu){return l(ct,0),0},Ke,Me];case 5:var kr=vN(i[1]),wn=kr[4],In=kr[3],Tn=kr[2],ix=kr[1];return[0,function(fu){return l(ix,0),0},function(fu){return l(Tn,0),0},In,wn];case 6:var Nr=vN(i[1]),Mx=Nr[4],ko=Nr[3],iu=Nr[2],Mi=Nr[1];return[0,function(fu){return l(Mi,0),0},function(fu){return l(iu,0),0},ko,Mx];case 7:var Bc=vN(i[1]),ku=Bc[4],Kx=Bc[3],ic=Bc[2],Br=Bc[1];return[0,function(fu){return l(Br,0),0},function(fu){return l(ic,0),0},Kx,ku];case 8:var Dt=vN(i[2]),Li=Dt[4],Dl=Dt[3],du=Dt[2],is=Dt[1];return[0,function(fu){return l(is,0),0},function(fu){return l(du,0),0},Dl,Li];case 9:var Fu=i[2],Qt=i[1],Rn=vN(i[3]),ca=Rn[4],Pr=Rn[3],On=Rn[2],mn=Rn[1],He=vN(E9(s9(Qt),Fu)),At=He[4],tr=He[3],Rr=He[2],$n=He[1];return[0,function(fu){return l(mn,0),l($n,0),0},function(fu){return l(Rr,0),l(On,0),0},function(fu){return l(Pr,0),l(tr,0),0},function(fu){return l(At,0),l(ca,0),0}];case 10:var $r=vN(i[1]),Ga=$r[4],Xa=$r[3],ls=$r[2],Es=$r[1];return[0,function(fu){return l(Es,0),0},function(fu){return l(ls,0),0},Xa,Ga];case 11:var Fe=vN(i[1]),Lt=Fe[4],ln=Fe[3],tn=Fe[2],Ri=Fe[1];return[0,function(fu){return l(Ri,0),0},function(fu){return l(tn,0),0},ln,Lt];case 12:var Ji=vN(i[1]),Na=Ji[4],Do=Ji[3],No=Ji[2],tu=Ji[1];return[0,function(fu){return l(tu,0),0},function(fu){return l(No,0),0},Do,Na];case 13:var Vs=vN(i[1]),As=Vs[4],vu=Vs[3],Wu=Vs[2],L1=Vs[1];return[0,function(fu){return l(L1,0),0},function(fu){return l(Wu,0),0},function(fu){return l(vu,0),0},function(fu){return l(As,0),0}];default:var hu=vN(i[1]),Qu=hu[4],pc=hu[3],il=hu[2],Zu=hu[1];return[0,function(fu){return l(Zu,0),0},function(fu){return l(il,0),0},function(fu){return l(pc,0),0},function(fu){return l(Qu,0),0}]}}function E9(i,x){var n=0;if(typeof i==\"number\"){if(typeof x==\"number\")return 0;switch(x[0]){case 10:break;case 11:n=1;break;case 12:n=2;break;case 13:n=3;break;case 14:n=4;break;case 8:n=5;break;case 9:n=6;break;default:throw[0,Cs,ft]}}else switch(i[0]){case 0:var m=0,L=i[1];if(typeof x!=\"number\")switch(x[0]){case 0:return[0,E9(L,x[1])];case 8:n=5,m=1;break;case 9:n=6,m=1;break;case 10:m=1;break;case 11:n=1,m=1;break;case 12:n=2,m=1;break;case 13:n=3,m=1;break;case 14:n=4,m=1}m||(n=7);break;case 1:var v=0,a0=i[1];if(typeof x!=\"number\")switch(x[0]){case 1:return[1,E9(a0,x[1])];case 8:n=5,v=1;break;case 9:n=6,v=1;break;case 10:v=1;break;case 11:n=1,v=1;break;case 12:n=2,v=1;break;case 13:n=3,v=1;break;case 14:n=4,v=1}v||(n=7);break;case 2:var O1=0,dx=i[1];if(typeof x==\"number\")O1=1;else switch(x[0]){case 2:return[2,E9(dx,x[1])];case 8:n=5;break;case 9:n=6;break;case 10:break;case 11:n=1;break;case 12:n=2;break;case 13:n=3;break;case 14:n=4;break;default:O1=1}O1&&(n=7);break;case 3:var ie=0,Ie=i[1];if(typeof x==\"number\")ie=1;else switch(x[0]){case 3:return[3,E9(Ie,x[1])];case 8:n=5;break;case 9:n=6;break;case 10:break;case 11:n=1;break;case 12:n=2;break;case 13:n=3;break;case 14:n=4;break;default:ie=1}ie&&(n=7);break;case 4:var Ot=0,Or=i[1];if(typeof x==\"number\")Ot=1;else switch(x[0]){case 4:return[4,E9(Or,x[1])];case 8:n=5;break;case 9:n=6;break;case 10:break;case 11:n=1;break;case 12:n=2;break;case 13:n=3;break;case 14:n=4;break;default:Ot=1}Ot&&(n=7);break;case 5:var Cr=0,ni=i[1];if(typeof x==\"number\")Cr=1;else switch(x[0]){case 5:return[5,E9(ni,x[1])];case 8:n=5;break;case 9:n=6;break;case 10:break;case 11:n=1;break;case 12:n=2;break;case 13:n=3;break;case 14:n=4;break;default:Cr=1}Cr&&(n=7);break;case 6:var Jn=0,Vn=i[1];if(typeof x==\"number\")Jn=1;else switch(x[0]){case 6:return[6,E9(Vn,x[1])];case 8:n=5;break;case 9:n=6;break;case 10:break;case 11:n=1;break;case 12:n=2;break;case 13:n=3;break;case 14:n=4;break;default:Jn=1}Jn&&(n=7);break;case 7:var zn=0,Oi=i[1];if(typeof x==\"number\")zn=1;else switch(x[0]){case 7:return[7,E9(Oi,x[1])];case 8:n=5;break;case 9:n=6;break;case 10:break;case 11:n=1;break;case 12:n=2;break;case 13:n=3;break;case 14:n=4;break;default:zn=1}zn&&(n=7);break;case 8:var xn=0,vt=i[2],Xt=i[1];if(typeof x==\"number\")xn=1;else switch(x[0]){case 8:var Me=x[1],Ke=E9(vt,x[2]);return[8,E9(Xt,Me),Ke];case 10:break;case 11:n=1;break;case 12:n=2;break;case 13:n=3;break;case 14:n=4;break;default:xn=1}if(xn)throw[0,Cs,Hl];break;case 9:var ct=0,sr=i[3],kr=i[2],wn=i[1];if(typeof x==\"number\")ct=1;else switch(x[0]){case 8:n=5;break;case 9:var In=x[3],Tn=x[2],ix=x[1],Nr=vN(E9(s9(kr),ix)),Mx=Nr[4];return l(Nr[2],0),l(Mx,0),[9,wn,Tn,E9(sr,In)];case 10:break;case 11:n=1;break;case 12:n=2;break;case 13:n=3;break;case 14:n=4;break;default:ct=1}if(ct)throw[0,Cs,Qh];break;case 10:var ko=i[1];if(typeof x!=\"number\"&&x[0]===10)return[10,E9(ko,x[1])];throw[0,Cs,Xr];case 11:var iu=0,Mi=i[1];if(typeof x==\"number\")iu=1;else switch(x[0]){case 10:break;case 11:return[11,E9(Mi,x[1])];default:iu=1}if(iu)throw[0,Cs,Wr];break;case 12:var Bc=0,ku=i[1];if(typeof x==\"number\")Bc=1;else switch(x[0]){case 10:break;case 11:n=1;break;case 12:return[12,E9(ku,x[1])];default:Bc=1}if(Bc)throw[0,Cs,hs];break;case 13:var Kx=0,ic=i[1];if(typeof x==\"number\")Kx=1;else switch(x[0]){case 10:break;case 11:n=1;break;case 12:n=2;break;case 13:return[13,E9(ic,x[1])];default:Kx=1}if(Kx)throw[0,Cs,Hs];break;default:var Br=0,Dt=i[1];if(typeof x==\"number\")Br=1;else switch(x[0]){case 10:break;case 11:n=1;break;case 12:n=2;break;case 13:n=3;break;case 14:return[14,E9(Dt,x[1])];default:Br=1}if(Br)throw[0,Cs,Nd]}switch(n){case 0:throw[0,Cs,on];case 1:throw[0,Cs,Zi];case 2:throw[0,Cs,Ao];case 3:throw[0,Cs,Oc];case 4:throw[0,Cs,qd];case 5:throw[0,Cs,gf];case 6:throw[0,Cs,N8];default:throw[0,Cs,o8]}}HA(),HA(),HA();var G9=[mC,D30,HA()];function XH(i,x){if(typeof i==\"number\")return[0,0,x];if(i[0]===0)return[0,[0,i[1],i[2]],x];if(typeof x!=\"number\"&&x[0]===2)return[0,[1,i[1]],x[1]];throw G9}function bq(i,x,n){var m=XH(i,n);if(typeof x==\"number\"){if(x===0)return[0,m[1],0,m[2]];var L=m[2];if(typeof L!=\"number\"&&L[0]===2)return[0,m[1],1,L[1]];throw G9}return[0,m[1],[0,x[1]],m[2]]}function bI(i,x,n){if(typeof i==\"number\")return[0,0,d5(x,n)];switch(i[0]){case 0:if(typeof n!=\"number\"&&n[0]===0){var m=bI(i[1],x,n[1]);return[0,[0,m[1]],m[2]]}break;case 1:if(typeof n!=\"number\"&&n[0]===1){var L=bI(i[1],x,n[1]);return[0,[1,L[1]],L[2]]}break;case 2:if(typeof n!=\"number\"&&n[0]===2){var v=bI(i[1],x,n[1]);return[0,[2,v[1]],v[2]]}break;case 3:if(typeof n!=\"number\"&&n[0]===3){var a0=bI(i[1],x,n[1]);return[0,[3,a0[1]],a0[2]]}break;case 4:if(typeof n!=\"number\"&&n[0]===4){var O1=bI(i[1],x,n[1]);return[0,[4,O1[1]],O1[2]]}break;case 5:if(typeof n!=\"number\"&&n[0]===5){var dx=bI(i[1],x,n[1]);return[0,[5,dx[1]],dx[2]]}break;case 6:if(typeof n!=\"number\"&&n[0]===6){var ie=bI(i[1],x,n[1]);return[0,[6,ie[1]],ie[2]]}break;case 7:if(typeof n!=\"number\"&&n[0]===7){var Ie=bI(i[1],x,n[1]);return[0,[7,Ie[1]],Ie[2]]}break;case 8:if(typeof n!=\"number\"&&n[0]===8){var Ot=n[1],Or=n[2],Cr=i[2];if(Ms([0,i[1]],[0,Ot]))throw G9;var ni=bI(Cr,x,Or);return[0,[8,Ot,ni[1]],ni[2]]}break;case 9:if(typeof n!=\"number\"&&n[0]===9){var Jn=n[2],Vn=n[1],zn=n[3],Oi=i[3],xn=i[2],vt=i[1],Xt=[0,ck(Vn)];if(Ms([0,ck(vt)],Xt))throw G9;var Me=[0,ck(Jn)];if(Ms([0,ck(xn)],Me))throw G9;var Ke=vN(E9(s9(Vn),Jn)),ct=Ke[4];l(Ke[2],0),l(ct,0);var sr=bI(ck(Oi),x,zn),kr=sr[2];return[0,[9,Vn,Jn,s9(sr[1])],kr]}break;case 10:if(typeof n!=\"number\"&&n[0]===10){var wn=bI(i[1],x,n[1]);return[0,[10,wn[1]],wn[2]]}break;case 11:if(typeof n!=\"number\"&&n[0]===11){var In=bI(i[1],x,n[1]);return[0,[11,In[1]],In[2]]}break;case 13:if(typeof n!=\"number\"&&n[0]===13){var Tn=bI(i[1],x,n[1]);return[0,[13,Tn[1]],Tn[2]]}break;case 14:if(typeof n!=\"number\"&&n[0]===14){var ix=bI(i[1],x,n[1]);return[0,[14,ix[1]],ix[2]]}}throw G9}function d5(i,x){if(typeof i==\"number\")return[0,0,x];switch(i[0]){case 0:if(typeof x!=\"number\"&&x[0]===0){var n=d5(i[1],x[1]);return[0,[0,n[1]],n[2]]}break;case 1:if(typeof x!=\"number\"&&x[0]===0){var m=d5(i[1],x[1]);return[0,[1,m[1]],m[2]]}break;case 2:var L=i[2],v=XH(i[1],x),a0=v[2],O1=v[1];if(typeof a0!=\"number\"&&a0[0]===1){var dx=d5(L,a0[1]);return[0,[2,O1,dx[1]],dx[2]]}throw G9;case 3:var ie=i[2],Ie=XH(i[1],x),Ot=Ie[2],Or=Ie[1];if(typeof Ot!=\"number\"&&Ot[0]===1){var Cr=d5(ie,Ot[1]);return[0,[3,Or,Cr[1]],Cr[2]]}throw G9;case 4:var ni=i[4],Jn=i[1],Vn=bq(i[2],i[3],x),zn=Vn[3],Oi=Vn[2],xn=Vn[1];if(typeof zn!=\"number\"&&zn[0]===2){var vt=d5(ni,zn[1]);return[0,[4,Jn,xn,Oi,vt[1]],vt[2]]}throw G9;case 5:var Xt=i[4],Me=i[1],Ke=bq(i[2],i[3],x),ct=Ke[3],sr=Ke[2],kr=Ke[1];if(typeof ct!=\"number\"&&ct[0]===3){var wn=d5(Xt,ct[1]);return[0,[5,Me,kr,sr,wn[1]],wn[2]]}throw G9;case 6:var In=i[4],Tn=i[1],ix=bq(i[2],i[3],x),Nr=ix[3],Mx=ix[2],ko=ix[1];if(typeof Nr!=\"number\"&&Nr[0]===4){var iu=d5(In,Nr[1]);return[0,[6,Tn,ko,Mx,iu[1]],iu[2]]}throw G9;case 7:var Mi=i[4],Bc=i[1],ku=bq(i[2],i[3],x),Kx=ku[3],ic=ku[2],Br=ku[1];if(typeof Kx!=\"number\"&&Kx[0]===5){var Dt=d5(Mi,Kx[1]);return[0,[7,Bc,Br,ic,Dt[1]],Dt[2]]}throw G9;case 8:var Li=i[4],Dl=i[1],du=bq(i[2],i[3],x),is=du[3],Fu=du[2],Qt=du[1];if(typeof is!=\"number\"&&is[0]===6){var Rn=d5(Li,is[1]);return[0,[8,Dl,Qt,Fu,Rn[1]],Rn[2]]}throw G9;case 9:var ca=i[2],Pr=XH(i[1],x),On=Pr[2],mn=Pr[1];if(typeof On!=\"number\"&&On[0]===7){var He=d5(ca,On[1]);return[0,[9,mn,He[1]],He[2]]}throw G9;case 10:var At=d5(i[1],x);return[0,[10,At[1]],At[2]];case 11:var tr=i[1],Rr=d5(i[2],x);return[0,[11,tr,Rr[1]],Rr[2]];case 12:var $n=i[1],$r=d5(i[2],x);return[0,[12,$n,$r[1]],$r[2]];case 13:if(typeof x!=\"number\"&&x[0]===8){var Ga=x[1],Xa=x[2],ls=i[3],Es=i[1];if(Ms([0,i[2]],[0,Ga]))throw G9;var Fe=d5(ls,Xa);return[0,[13,Es,Ga,Fe[1]],Fe[2]]}break;case 14:if(typeof x!=\"number\"&&x[0]===9){var Lt=x[1],ln=x[3],tn=i[3],Ri=i[2],Ji=i[1],Na=[0,ck(Lt)];if(Ms([0,ck(Ri)],Na))throw G9;var Do=d5(tn,ck(ln));return[0,[14,Ji,Lt,Do[1]],Do[2]]}break;case 15:if(typeof x!=\"number\"&&x[0]===10){var No=d5(i[1],x[1]);return[0,[15,No[1]],No[2]]}break;case 16:if(typeof x!=\"number\"&&x[0]===11){var tu=d5(i[1],x[1]);return[0,[16,tu[1]],tu[2]]}break;case 17:var Vs=i[1],As=d5(i[2],x);return[0,[17,Vs,As[1]],As[2]];case 18:var vu=i[2],Wu=i[1];if(Wu[0]===0){var L1=Wu[1],hu=L1[2],Qu=d5(L1[1],x),pc=Qu[1],il=d5(vu,Qu[2]);return[0,[18,[0,[0,pc,hu]],il[1]],il[2]]}var Zu=Wu[1],fu=Zu[2],vl=d5(Zu[1],x),id=vl[1],_f=d5(vu,vl[2]);return[0,[18,[1,[0,id,fu]],_f[1]],_f[2]];case 19:if(typeof x!=\"number\"&&x[0]===13){var sm=d5(i[1],x[1]);return[0,[19,sm[1]],sm[2]]}break;case 20:if(typeof x!=\"number\"&&x[0]===1){var Pd=i[2],tc=i[1],YC=d5(i[3],x[1]);return[0,[20,tc,Pd,YC[1]],YC[2]]}break;case 21:if(typeof x!=\"number\"&&x[0]===2){var km=i[1],lC=d5(i[2],x[1]);return[0,[21,km,lC[1]],lC[2]]}break;case 23:var A2=i[2],s_=i[1];if(typeof s_==\"number\")switch(s_){case 0:case 1:return Cq(s_,A2,x);case 2:if(typeof x!=\"number\"&&x[0]===14){var Db=d5(A2,x[1]);return[0,[23,2,Db[1]],Db[2]]}throw G9;default:return Cq(s_,A2,x)}else switch(s_[0]){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:return Cq(s_,A2,x);case 8:return Cq([8,s_[1],s_[2]],A2,x);case 9:var o3=s_[1],l6=bI(s_[2],A2,x),fC=l6[2];return[0,[23,[9,o3,l6[1]],fC[1]],fC[2]];case 10:default:return Cq(s_,A2,x)}}throw G9}function Cq(i,x,n){var m=d5(x,n);return[0,[23,i,m[1]],m[2]]}function rO(i,x,n){var m=g(n),L=0<=x?i:0,v=G00(x);if(v<=m)return n;var a0=FK(v,L===2?48:32);switch(L){case 0:OU(n,0,a0,0,m);break;case 1:OU(n,0,a0,v-m|0,m);break;default:var O1=0;if(0<m){var dx=0;fr(n,0)!==43&&fr(n,0)!==45&&fr(n,0)!==32&&(O1=1,dx=1),dx||(C9(a0,0,fr(n,0)),OU(n,1,a0,1+(v-m|0)|0,m-1|0))}else O1=1;if(O1){var ie=0;if(1<m&&fr(n,0)===48){var Ie=0;YO!==fr(n,1)&&fr(n,1)!==88&&(ie=1,Ie=1),Ie||(C9(a0,1,fr(n,1)),OU(n,2,a0,2+(v-m|0)|0,m-2|0))}else ie=1;ie&&OU(n,0,a0,v-m|0,m)}}return a0}function Lz(i,x){var n=G00(i),m=g(x),L=fr(x,0),v=0;if(58<=L)71<=L?5<(L+-97|0)>>>0||(v=1):65<=L&&(v=1);else{var a0=0;if(L!==32)if(43<=L)switch(L+-43|0){case 5:if(m<(n+2|0)&&1<m){var O1=0;if(YO!==fr(x,1)&&fr(x,1)!==88||(O1=1),O1){var dx=FK(n+2|0,48);return C9(dx,1,fr(x,1)),OU(x,2,dx,4+(n-m|0)|0,m-2|0),dx}}v=1,a0=1;break;case 0:case 2:break;case 1:case 3:case 4:a0=1;break;default:v=1,a0=1}else a0=1;if(!a0&&m<(n+1|0)){var ie=FK(n+1|0,48);return C9(ie,0,L),OU(x,1,ie,2+(n-m|0)|0,m-1|0),ie}}if(v&&m<n){var Ie=FK(n,48);return OU(x,0,Ie,n-m|0,m),Ie}return x}function Qdx(i){for(var x=0,n=g(i);;){if(n<=x)var m=i;else{var L=E(i,x)+-32|0,v=0;if(59<L>>>0?33<(L+-61|0)>>>0&&(v=1):L===2&&(v=1),!v){x=x+1|0;continue}var a0=i,O1=[0,0],dx=f(a0)-1|0;if(!(dx<0))for(var ie=0;;){var Ie=PA(a0,ie),Ot=0;if(32<=Ie){var Or=Ie-34|0,Cr=0;if(58<Or>>>0?93<=Or&&(Cr=1):56<(Or-1|0)>>>0&&(Ot=1,Cr=1),!Cr){var ni=1;Ot=2}}else 11<=Ie?Ie===13&&(Ot=1):8<=Ie&&(Ot=1);switch(Ot){case 0:ni=4;break;case 1:ni=2}O1[1]=O1[1]+ni|0;var Jn=ie+1|0;if(dx===ie)break;ie=Jn}if(O1[1]===f(a0))var Vn=no0(a0);else{var zn=HT(O1[1]);O1[1]=0;var Oi=f(a0)-1|0;if(!(Oi<0))for(var xn=0;;){var vt=PA(a0,xn),Xt=0;if(35<=vt)Xt=vt===92?2:sS<=vt?1:3;else if(32<=vt)Xt=34<=vt?2:3;else if(14<=vt)Xt=1;else switch(vt){case 8:nF(zn,O1[1],92),O1[1]++,nF(zn,O1[1],98);break;case 9:nF(zn,O1[1],92),O1[1]++,nF(zn,O1[1],BO);break;case 10:nF(zn,O1[1],92),O1[1]++,nF(zn,O1[1],ef);break;case 13:nF(zn,O1[1],92),O1[1]++,nF(zn,O1[1],lr);break;default:Xt=1}switch(Xt){case 1:nF(zn,O1[1],92),O1[1]++,nF(zn,O1[1],48+(vt/Yw|0)|0),O1[1]++,nF(zn,O1[1],48+((vt/10|0)%10|0)|0),O1[1]++,nF(zn,O1[1],48+(vt%10|0)|0);break;case 2:nF(zn,O1[1],92),O1[1]++,nF(zn,O1[1],vt);break;case 3:nF(zn,O1[1],vt)}O1[1]++;var Me=xn+1|0;if(Oi===xn)break;xn=Me}Vn=zn}m=Vn}var Ke=g(m),ct=FK(Ke+2|0,34);return DL(m,0,ct,1,Ke),ct}}function YH(i,x){if(13<=i){var n=[0,0],m=g(x)-1|0;if(!(m<0))for(var L=0;;){9<(E(x,L)+VC|0)>>>0||n[1]++;var v=L+1|0;if(m===L)break;L=v}var a0=n[1],O1=HT(g(x)+((a0-1|0)/3|0)|0),dx=[0,0],ie=function(Jn){return C9(O1,dx[1],Jn),dx[1]++,0},Ie=[0,1+((a0-1|0)%3|0)|0],Ot=g(x)-1|0;if(!(Ot<0))for(var Or=0;;){var Cr=E(x,Or);9<(Cr+VC|0)>>>0||(Ie[1]===0&&(ie(95),Ie[1]=3),Ie[1]+=-1),ie(Cr);var ni=Or+1|0;if(Ot===Or)break;Or=ni}return O1}return x}function Zdx(i,x){switch(i){case 1:var n=Z70;break;case 2:n=x30;break;case 4:n=e30;break;case 5:n=t30;break;case 6:n=r30;break;case 7:n=n30;break;case 8:n=i30;break;case 9:n=a30;break;case 10:n=o30;break;case 11:n=s30;break;case 0:case 13:n=u30;break;case 3:case 14:n=c30;break;default:n=l30}return YH(i,QN(n,x))}function x2x(i,x){switch(i){case 1:var n=A70;break;case 2:n=T70;break;case 4:n=w70;break;case 5:n=k70;break;case 6:n=N70;break;case 7:n=P70;break;case 8:n=I70;break;case 9:n=O70;break;case 10:n=B70;break;case 11:n=L70;break;case 0:case 13:n=M70;break;case 3:case 14:n=R70;break;default:n=j70}return YH(i,QN(n,x))}function e2x(i,x){switch(i){case 1:var n=d70;break;case 2:n=m70;break;case 4:n=h70;break;case 5:n=g70;break;case 6:n=_70;break;case 7:n=y70;break;case 8:n=D70;break;case 9:n=v70;break;case 10:n=b70;break;case 11:n=C70;break;case 0:case 13:n=E70;break;case 3:case 14:n=S70;break;default:n=F70}return YH(i,QN(n,x))}function t2x(i,x){switch(i){case 1:var n=U70;break;case 2:n=V70;break;case 4:n=$70;break;case 5:n=K70;break;case 6:n=z70;break;case 7:n=W70;break;case 8:n=q70;break;case 9:n=J70;break;case 10:n=H70;break;case 11:n=G70;break;case 0:case 13:n=X70;break;case 3:case 14:n=Y70;break;default:n=Q70}return YH(i,function(m,L){var v=BM(m);v.signedconv&&function(Ie){return+Ie.isNeg()}(L)&&(v.sign=-1,L=r(L));var a0=ke,O1=CL(v.base);do{var dx=L.udivmod(O1);L=dx.quotient,a0=\"0123456789abcdef\".charAt(_j(dx.modulus))+a0}while(!a9(L));if(v.prec>=0){v.filler=VN;var ie=v.prec-a0.length;ie>0&&(a0=cj(ie,sg)+a0)}return LM(v,a0)}(n,x))}function BU(i,x,n){if(6<=i[2]){switch(i[1]){case 0:var m=45;break;case 1:m=43;break;default:m=32}var L=function(Ke,ct,sr){if(!isFinite(Ke))return isNaN(Ke)?wP(ui):wP(Ke>0?ll:\"-infinity\");var kr=Ke==0&&1/Ke==-1/0?1:Ke>=0?0:1;kr&&(Ke=-Ke);var wn=0;if(Ke!=0)if(Ke<1)for(;Ke<1&&wn>-1022;)Ke*=2,wn--;else for(;Ke>=2;)Ke/=2,wn++;var In=wn<0?ke:pI,Tn=ke;if(kr)Tn=JN;else switch(sr){case 43:Tn=pI;break;case 32:Tn=VN}if(ct>=0&&ct<13){var ix=Math.pow(2,4*ct);Ke=Math.round(Ke*ix)/ix}var Nr=Ke.toString(16);if(ct>=0){var Mx=Nr.indexOf(y9);if(Mx<0)Nr+=y9+cj(ct,sg);else{var ko=Mx+1+ct;Nr.length<ko?Nr+=cj(ko-Nr.length,sg):Nr=Nr.substr(0,ko)}}return wP(Tn+ZI+Nr+\"p\"+In+wn.toString(10))}(n,x,m);if(7<=i[2]){var v=L,a0=f(v);if(a0===0)var O1=v;else{var dx=HT(a0),ie=a0-1|0;if(!(ie<0))for(var Ie=0;;){nF(dx,Ie,Ya0(PA(v,Ie)));var Ot=Ie+1|0;if(ie===Ie)break;Ie=Ot}O1=dx}return O1}return L}var Or=G00(x),Cr=Ia?Ia[1]:70;switch(i[2]){case 0:var ni=F4;break;case 1:ni=Uk;break;case 2:ni=69;break;case 3:ni=NT;break;case 4:ni=71;break;case 5:ni=Cr;break;case 6:ni=uw;break;default:ni=72}var Jn=uo0(16);switch(vq(Jn,37),i[1]){case 0:break;case 1:vq(Jn,43);break;default:vq(Jn,32)}vq(Jn,46),DN(Jn,t(ke+Or)),vq(Jn,ni);var Vn=gj(lo0(Jn),n);if(i[2]===5){var zn=function(Ke){return isFinite(Ke)?Math.abs(Ke)>=22250738585072014e-324?0:Ke!=0?1:2:isNaN(Ke)?4:3}(n),Oi=g(Vn);if(zn===3)return n<0?f70:p70;if(4<=zn)return c70;for(var xn=0;;){if(xn===Oi)var vt=0;else{var Xt=fr(Vn,xn)+uI|0,Me=0;if(23<Xt>>>0?Xt===55&&(Me=1):21<(Xt-1|0)>>>0&&(Me=1),!Me){xn=xn+1|0;continue}vt=1}return vt?Vn:F2(Vn,l70)}}return Vn}function Eq(i,x,n,m){for(var L=x,v=n,a0=m;;){if(typeof a0==\"number\")return l(L,v);switch(a0[0]){case 0:var O1=a0[1];return function(du){return U4(L,[5,v,du],O1)};case 1:var dx=a0[1];return function(du){var is=0;if(40<=du)if(du===92)var Fu=b6;else is=sS<=du?1:2;else if(32<=du)39<=du?Fu=RF:is=2;else if(14<=du)is=1;else switch(du){case 8:Fu=IA;break;case 9:Fu=kS;break;case 10:Fu=j4;break;case 13:Fu=T4;break;default:is=1}switch(is){case 1:var Qt=HT(4);nF(Qt,0,92),nF(Qt,1,48+(du/Yw|0)|0),nF(Qt,2,48+((du/10|0)%10|0)|0),nF(Qt,3,48+(du%10|0)|0),Fu=Qt;break;case 2:var Rn=HT(1);nF(Rn,0,du),Fu=Rn}var ca=g(Fu),Pr=FK(ca+2|0,39);return DL(Fu,0,Pr,1,ca),U4(L,[4,v,Pr],dx)};case 2:var ie=a0[2],Ie=a0[1];return s10(L,v,ie,Ie,function(du){return du});case 3:return s10(L,v,a0[2],a0[1],Qdx);case 4:return QH(L,v,a0[4],a0[2],a0[3],Zdx,a0[1]);case 5:return QH(L,v,a0[4],a0[2],a0[3],x2x,a0[1]);case 6:return QH(L,v,a0[4],a0[2],a0[3],e2x,a0[1]);case 7:return QH(L,v,a0[4],a0[2],a0[3],t2x,a0[1]);case 8:var Ot=a0[4],Or=a0[3],Cr=a0[2],ni=a0[1];if(typeof Cr==\"number\"){if(typeof Or==\"number\")return Or===0?function(du){return U4(L,[4,v,BU(ni,n10(ni),du)],Ot)}:function(du,is){return U4(L,[4,v,BU(ni,du,is)],Ot)};var Jn=Or[1];return function(du){return U4(L,[4,v,BU(ni,Jn,du)],Ot)}}if(Cr[0]===0){var Vn=Cr[2],zn=Cr[1];if(typeof Or==\"number\")return Or===0?function(du){return U4(L,[4,v,rO(zn,Vn,BU(ni,n10(ni),du))],Ot)}:function(du,is){return U4(L,[4,v,rO(zn,Vn,BU(ni,du,is))],Ot)};var Oi=Or[1];return function(du){return U4(L,[4,v,rO(zn,Vn,BU(ni,Oi,du))],Ot)}}var xn=Cr[1];if(typeof Or==\"number\")return Or===0?function(du,is){return U4(L,[4,v,rO(xn,du,BU(ni,n10(ni),is))],Ot)}:function(du,is,Fu){return U4(L,[4,v,rO(xn,du,BU(ni,is,Fu))],Ot)};var vt=Or[1];return function(du,is){return U4(L,[4,v,rO(xn,du,BU(ni,vt,is))],Ot)};case 9:return s10(L,v,a0[2],a0[1],Hdx);case 10:v=[7,v],a0=a0[1];continue;case 11:v=[2,v,a0[1]],a0=a0[2];continue;case 12:v=[3,v,a0[1]],a0=a0[2];continue;case 13:var Xt=a0[3],Me=a0[2],Ke=uo0(16);i10(Ke,Me);var ct=lo0(Ke);return function(du){return U4(L,[4,v,ct],Xt)};case 14:var sr=a0[3],kr=a0[2];return function(du){var is=d5(du[1],ck(s9(kr)));if(typeof is[2]==\"number\")return U4(L,v,gw(is[1],sr));throw G9};case 15:var wn=a0[1];return function(du,is){return U4(L,[6,v,function(Fu){return z(du,Fu,is)}],wn)};case 16:var In=a0[1];return function(du){return U4(L,[6,v,du],In)};case 17:v=[0,v,a0[1]],a0=a0[2];continue;case 18:var Tn=a0[1];if(Tn[0]===0){var ix=a0[2],Nr=Tn[1][1];L=function(du,is,Fu){return function(Qt){return U4(is,[1,du,[0,Qt]],Fu)}}(v,L,ix),v=0,a0=Nr;continue}var Mx=a0[2],ko=Tn[1][1];L=function(du,is,Fu){return function(Qt){return U4(is,[1,du,[1,Qt]],Fu)}}(v,L,Mx),v=0,a0=ko;continue;case 19:throw[0,Cs,gN];case 20:var iu=a0[3],Mi=[8,v,_N];return function(du){return U4(L,Mi,iu)};case 21:var Bc=a0[2];return function(du){return U4(L,[4,v,QN(P5,du)],Bc)};case 22:var ku=a0[1];return function(du){return U4(L,[5,v,du],ku)};case 23:var Kx=a0[2],ic=a0[1];if(typeof ic==\"number\")switch(ic){case 0:case 1:return i<50?bj(i+1|0,L,v,Kx):dn(bj,[0,L,v,Kx]);case 2:throw[0,Cs,yN];default:return i<50?bj(i+1|0,L,v,Kx):dn(bj,[0,L,v,Kx])}else switch(ic[0]){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:return i<50?bj(i+1|0,L,v,Kx):dn(bj,[0,L,v,Kx]);case 9:var Br=ic[2];return i<50?a10(i+1|0,L,v,Br,Kx):dn(a10,[0,L,v,Br,Kx]);case 10:default:return i<50?bj(i+1|0,L,v,Kx):dn(bj,[0,L,v,Kx])}default:var Dt=a0[3],Li=a0[1],Dl=l(a0[2],0);return i<50?o10(i+1|0,L,v,Dt,Li,Dl):dn(o10,[0,L,v,Dt,Li,Dl])}}}function a10(i,x,n,m,L){if(typeof m==\"number\")return i<50?bj(i+1|0,x,n,L):dn(bj,[0,x,n,L]);switch(m[0]){case 0:var v=m[1];return function(vt){return iB(x,n,v,L)};case 1:var a0=m[1];return function(vt){return iB(x,n,a0,L)};case 2:var O1=m[1];return function(vt){return iB(x,n,O1,L)};case 3:var dx=m[1];return function(vt){return iB(x,n,dx,L)};case 4:var ie=m[1];return function(vt){return iB(x,n,ie,L)};case 5:var Ie=m[1];return function(vt){return iB(x,n,Ie,L)};case 6:var Ot=m[1];return function(vt){return iB(x,n,Ot,L)};case 7:var Or=m[1];return function(vt){return iB(x,n,Or,L)};case 8:var Cr=m[2];return function(vt){return iB(x,n,Cr,L)};case 9:var ni=m[3],Jn=m[2],Vn=E9(s9(m[1]),Jn);return function(vt){return iB(x,n,kP(Vn,ni),L)};case 10:var zn=m[1];return function(vt,Xt){return iB(x,n,zn,L)};case 11:var Oi=m[1];return function(vt){return iB(x,n,Oi,L)};case 12:var xn=m[1];return function(vt){return iB(x,n,xn,L)};case 13:throw[0,Cs,zV];default:throw[0,Cs,DI]}}function bj(i,x,n,m){var L=[8,n,RM];return i<50?Eq(i+1|0,x,L,m):dn(Eq,[0,x,L,m])}function o10(i,x,n,m,L,v){if(L){var a0=L[1];return function(dx){return function(ie,Ie,Ot,Or,Cr){return Wt(o10(0,ie,Ie,Ot,Or,Cr))}(x,n,m,a0,l(v,dx))}}var O1=[4,n,v];return i<50?Eq(i+1|0,x,O1,m):dn(Eq,[0,x,O1,m])}function U4(i,x,n){return Wt(Eq(0,i,x,n))}function iB(i,x,n,m){return Wt(a10(0,i,x,n,m))}function s10(i,x,n,m,L){if(typeof m==\"number\")return function(dx){return U4(i,[4,x,l(L,dx)],n)};if(m[0]===0){var v=m[2],a0=m[1];return function(dx){return U4(i,[4,x,rO(a0,v,l(L,dx))],n)}}var O1=m[1];return function(dx,ie){return U4(i,[4,x,rO(O1,dx,l(L,ie))],n)}}function QH(i,x,n,m,L,v,a0){if(typeof m==\"number\"){if(typeof L==\"number\")return L===0?function(Cr){return U4(i,[4,x,z(v,a0,Cr)],n)}:function(Cr,ni){return U4(i,[4,x,Lz(Cr,z(v,a0,ni))],n)};var O1=L[1];return function(Cr){return U4(i,[4,x,Lz(O1,z(v,a0,Cr))],n)}}if(m[0]===0){var dx=m[2],ie=m[1];if(typeof L==\"number\")return L===0?function(Cr){return U4(i,[4,x,rO(ie,dx,z(v,a0,Cr))],n)}:function(Cr,ni){return U4(i,[4,x,rO(ie,dx,Lz(Cr,z(v,a0,ni)))],n)};var Ie=L[1];return function(Cr){return U4(i,[4,x,rO(ie,dx,Lz(Ie,z(v,a0,Cr)))],n)}}var Ot=m[1];if(typeof L==\"number\")return L===0?function(Cr,ni){return U4(i,[4,x,rO(Ot,Cr,z(v,a0,ni))],n)}:function(Cr,ni,Jn){return U4(i,[4,x,rO(Ot,Cr,Lz(ni,z(v,a0,Jn)))],n)};var Or=L[1];return function(Cr,ni){return U4(i,[4,x,rO(Ot,Cr,Lz(Or,z(v,a0,ni)))],n)}}function LU(i,x){for(var n=x;;){if(typeof n==\"number\")return 0;switch(n[0]){case 0:var m=n[2],L=n[1];if(typeof m==\"number\")switch(m){case 0:var v=f30;break;case 1:v=p30;break;case 2:v=d30;break;case 3:v=m30;break;case 4:v=h30;break;case 5:v=g30;break;default:v=_30}else switch(m[0]){case 0:v=m[1];break;case 1:v=m[1];break;default:v=F2(y30,JH(1,m[1]))}return LU(i,L),E8(i,v);case 1:var a0=n[2],O1=n[1];if(a0[0]===0){var dx=a0[1];LU(i,O1),E8(i,EK),n=dx;continue}var ie=a0[1];LU(i,O1),E8(i,x70),n=ie;continue;case 6:var Ie=n[2];return LU(i,n[1]),E8(i,l(Ie,0));case 7:n=n[1];continue;case 8:var Ot=n[2];return LU(i,n[1]),lk(Ot);case 2:case 4:var Or=n[2];return LU(i,n[1]),E8(i,Or);default:var Cr=n[2];return LU(i,n[1]),o9(i,Cr)}}}function r2x(i){if(Da(i,t70))return r70;var x=g(i);function n(Or){var Cr=e70[1],ni=sA(ru);return l(U4(function(Jn){return LU(ni,Jn),qp(Iw(ni))},0,Cr),i)}function m(Or){for(var Cr=Or;;){if(Cr===x)return Cr;var ni=fr(i,Cr);if(ni!==9&&ni!==32)return Cr;Cr=Cr+1|0}}var L=m(0),v=function(Or,Cr){for(var ni=Cr;;){if(ni===x||25<(fr(i,ni)+-97|0)>>>0)return ni;ni=ni+1|0}}(0,L),a0=vI(i,L,v-L|0),O1=m(v),dx=function(Or,Cr){for(var ni=Cr;;){if(ni===x)return ni;var Jn=fr(i,ni),Vn=0;if(48<=Jn?58<=Jn||(Vn=1):Jn===45&&(Vn=1),!Vn)return ni;ni=ni+1|0}}(0,O1);if(O1===dx)var ie=0;else try{ie=Vx(vI(i,O1,dx-O1|0))}catch(Or){if((Or=yi(Or))[1]!==lc)throw Or;ie=n()}m(dx)!==x&&n();var Ie=0;if(rt(a0,n70)&&rt(a0,i70))var Ot=rt(a0,a70)?rt(a0,o70)?rt(a0,s70)?rt(a0,u70)?n():1:2:3:0;else Ie=1;return Ie&&(Ot=4),[0,ie,Ot]}function GT(i){return U4(function(x){var n=sA(64);return LU(n,x),Iw(n)},0,i[1])}var u10=[0,0];function c10(i,x){var n=i[1+x];if(1-(typeof n==\"number\"?1:0)){if(wt(n)===tU)return l(GT(I30),n);if(wt(n)===253)for(var m=gj(RD,n),L=0,v=g(m);;){if(v<=L)return F2(m,Ru);var a0=fr(m,L),O1=0;if(48<=a0?58<=a0||(O1=1):a0===45&&(O1=1),!O1)return m;L=L+1|0}return O30}return l(GT(P30),n)}function fo0(i,x){if(i.length-1<=x)return v30;var n=fo0(i,x+1|0),m=c10(i,x);return z(GT(b30),m,n)}function n2x(i){var x=function(vt){for(var Xt=vt;;){if(!Xt)return 0;var Me=Xt[2],Ke=Xt[1];try{var ct=0,sr=l(Ke,i);ct=1}catch{}if(ct&&sr)return[0,sr[1]];Xt=Me}}(u10[1]);if(x)return x[1];if(i===yu)return C30;if(i===ou)return E30;if(i[1]===Co){var n=i[2],m=n[3],L=n[2],v=n[1];return Oo(GT(nc),v,L,m,m+5|0,S30)}if(i[1]===Cs){var a0=i[2],O1=a0[3],dx=a0[2],ie=a0[1];return Oo(GT(nc),ie,dx,O1,O1+6|0,F30)}if(i[1]===Pi){var Ie=i[2],Ot=Ie[3],Or=Ie[2],Cr=Ie[1];return Oo(GT(nc),Cr,Or,Ot,Ot+6|0,A30)}if(wt(i)===0){var ni=i.length-1,Jn=i[1][1];if(2<ni>>>0)var Vn=fo0(i,2),zn=c10(i,1),Oi=z(GT(T30),zn,Vn);else switch(ni){case 0:Oi=w30;break;case 1:Oi=k30;break;default:var xn=c10(i,1);Oi=l(GT(N30),xn)}return F2(Jn,Oi)}return i[1]}function po0(i){return u10[1]=[0,i,u10[1]],0}var l10=[mC,eC0,HA()];function Sq(i,x){return i[13]=i[13]+x[3]|0,t10(x,i[28])}var do0=1000000010;function f10(i,x){return zr(i[17],x,0,g(x))}function ZH(i){return l(i[19],0)}function mo0(i,x,n){return i[9]=i[9]-x|0,f10(i,n),i[11]=0,0}function xG(i,x){var n=rt(x,xC0);return n&&mo0(i,g(x),x)}function Fq(i,x,n){var m=x[3],L=x[2];xG(i,x[1]),ZH(i),i[11]=1;var v=(i[6]-n|0)+L|0,a0=i[8],O1=function(dx,ie){return+(nB(dx,ie,!1)<=0)}(a0,v)?a0:v;return i[10]=O1,i[9]=i[6]-i[10]|0,l(i[21],i[10]),xG(i,m)}function ho0(i,x){return Fq(i,Z30,x)}function Aq(i,x){var n=x[2],m=x[3];return xG(i,x[1]),i[9]=i[9]-n|0,l(i[20],n),xG(i,m)}function go0(i){for(;;){var x=i[28][2],n=x?[0,x[1]]:0;if(n){var m=n[1],L=m[1],v=m[2],a0=0<=L?1:0,O1=m[3],dx=i[13]-i[12]|0,ie=a0||(i[9]<=dx?1:0);if(ie){var Ie=i[28],Ot=Ie[2];if(Ot){var Or=Ot[2];Or?(Ie[1]=Ie[1]-1|0,Ie[2]=Or):e10(Ie);var Cr=0<=L?L:do0;if(typeof v==\"number\")switch(v){case 0:var ni=Bz(i[3]);if(ni){var Jn=ni[1][1],Vn=function(At,tr){if(tr){var Rr=tr[1],$n=tr[2];return Ar(At,Rr)?[0,At,tr]:[0,Rr,Vn(At,$n)]}return[0,At,0]};Jn[1]=Vn(i[6]-i[9]|0,Jn[1])}break;case 1:Oz(i[2]);break;case 2:Oz(i[3]);break;case 3:var zn=Bz(i[2]);zn?ho0(i,zn[1][2]):ZH(i);break;case 4:if(i[10]!==(i[6]-i[9]|0)){var Oi=i[28],xn=Oi[2];if(xn)var vt=xn[1],Xt=xn[2],Me=Xt?(Oi[1]=Oi[1]-1|0,Oi[2]=Xt,[0,vt]):(e10(Oi),[0,vt]);else Me=0;if(Me){var Ke=Me[1],ct=Ke[1];i[12]=i[12]-Ke[3]|0,i[9]=i[9]+ct|0}}break;default:var sr=Oz(i[5]);sr&&f10(i,l(i[25],sr[1]))}else switch(v[0]){case 0:mo0(i,Cr,v[1]);break;case 1:var kr=v[2],wn=v[1],In=kr[1],Tn=kr[2],ix=Bz(i[2]);if(ix){var Nr=ix[1],Mx=Nr[2];switch(Nr[1]){case 0:Aq(i,wn);break;case 1:case 2:Fq(i,kr,Mx);break;case 3:i[9]<(Cr+g(In)|0)?Fq(i,kr,Mx):Aq(i,wn);break;case 4:i[11]||!(i[9]<(Cr+g(In)|0)||((i[6]-Mx|0)+Tn|0)<i[10])?Aq(i,wn):Fq(i,kr,Mx);break;default:Aq(i,wn)}}break;case 2:var ko=i[6]-i[9]|0,iu=v[2],Mi=v[1],Bc=Bz(i[3]);if(Bc){var ku=Bc[1][1],Kx=ku[1];if(Kx)for(var ic=ku[1],Br=Kx[1];;){if(ic){var Dt=ic[1],Li=ic[2];if(!(ko<=Dt)){ic=Li;continue}var Dl=Dt}else Dl=Br;var du=Dl;break}else du=ko;var is=du-ko|0;0<=is?Aq(i,[0,X30,is+Mi|0,G30]):Fq(i,[0,Q30,du+iu|0,Y30],i[6])}break;case 3:var Fu=v[2],Qt=v[1];if(i[8]<(i[6]-i[9]|0)){var Rn=Bz(i[2]);if(Rn){var ca=Rn[1],Pr=ca[2],On=ca[1];i[9]<Pr&&!(3<(On-1|0)>>>0)&&ho0(i,Pr)}else ZH(i)}var mn=i[9]-Qt|0;AK([0,Fu===1?1:i[9]<Cr?Fu:5,mn],i[2]);break;case 4:AK(v[1],i[3]);break;default:var He=v[1];f10(i,l(i[24],He)),AK(He,i[5])}i[12]=O1+i[12]|0;continue}throw Ydx}return ie}return 0}}function _o0(i,x){return Sq(i,x),go0(i)}function yo0(i,x,n){return _o0(i,[0,x,[0,n],x])}function p10(i){return Dq(i),AK([0,-1,[0,-1,H30,0]],i)}function d10(i,x){var n=Bz(i[1]);if(n){var m=n[1],L=m[2],v=L[1];if(m[1]<i[12])return p10(i[1]);var a0=L[2];if(typeof a0!=\"number\")switch(a0[0]){case 3:var O1=1-x;return O1&&(L[1]=i[13]+v|0,Oz(i[1]),0);case 1:case 2:return x&&(L[1]=i[13]+v|0,Oz(i[1]),0)}return 0}return 0}function Do0(i,x,n){return Sq(i,n),x&&d10(i,1),AK([0,i[13],n],i[1])}function vo0(i,x,n){if(i[14]=i[14]+1|0,i[14]<i[15])return Do0(i,0,[0,0|-i[13],[3,x,n],0]);var m=i[14]===i[15]?1:0;if(m){var L=i[16];return yo0(i,g(L),L)}return m}function bo0(i,x){var n=1<i[14]?1:0;if(n){i[14]<i[15]&&(Sq(i,[0,0,1,0]),d10(i,1),d10(i,0)),i[14]=i[14]-1|0;var m=0}else m=n;return m}function Co0(i,x){i[23]&&Sq(i,[0,0,5,0]);var n=i[22];if(n){var m=Oz(i[4]);if(m)return l(i[27],m[1]);var L=0}else L=n;return L}function m10(i,x){for(H9(function(n){return Co0(i)},i[4][1]);;){if(!(1<i[14]))return i[13]=do0,go0(i),x&&ZH(i),i[12]=1,i[13]=1,e10(i[28]),p10(i[1]),Dq(i[2]),Dq(i[3]),Dq(i[4]),Dq(i[5]),i[10]=0,i[14]=0,i[9]=i[6],vo0(i,0,3);bo0(i)}}function h10(i,x,n){var m=i[14]<i[15]?1:0;return m&&yo0(i,x,n)}function Eo0(i,x,n){return h10(i,x,n)}function te(i,x){return Eo0(i,g(x),x)}function Tq(i,x){return Eo0(i,1,JH(1,x))}function wq(i,x){return m10(i,0),l(i[18],0)}var So0=JH(80,32);function Fo0(i,x){for(var n=x;;){var m=0<n?1:0;if(m){if(80<n){zr(i[17],So0,0,80),n=n-80|0;continue}return zr(i[17],So0,0,n)}return m}}function i2x(i){return i[1]===l10?F2(V30,F2(i[2],U30)):$30}function a2x(i){return i[1]===l10?F2(R30,F2(i[2],M30)):j30}function o2x(i){return 0}function s2x(i){return 0}function Ao0(i,x){var n=[0,0,0,0],m=[0,-1,B30,0];t10(m,n);var L=[0,0,0];p10(L),AK([0,1,m],L);var v=[0,L,[0,0,0],[0,0,0],[0,0,0],[0,0,0],78,10,68,78,0,1,1,1,1,2147483647,L30,i,x,function(a0){return 0},function(a0){return 0},function(a0){return 0},0,0,i2x,a2x,o2x,s2x,n];return v[19]=function(a0){return zr(v[17],K30,0,1)},v[20]=function(a0){return Fo0(v,a0)},v[21]=function(a0){return Fo0(v,a0)},v}function To0(i){return Ao0(function(x,n,m){return 0<=n&&0<=m&&!((g(x)-m|0)<n)?Wo(i,x,n,m):lk(Wd)},function(x){return Nn(i)})}function g10(i){return Ao0(function(x,n,m){var L=n<0?1:0;if(L)var v=L;else v=(m<0?1:0)||((g(x)-m|0)<n?1:0);v&&lk(PS);var a0=i[2]+m|0;return i[3]<a0&&r10(i,m),DL(x,n,i[1],i[2],m),i[2]=a0,0},function(x){return 0})}function wo0(i){return sA(512)}var u2x=wo0(),c2x=To0(Gdx),l2x=To0(Xdx);function ko0(i,x){var n=sA(16),m=g10(n);z(i,m,x),wq(m);var L=n[2];if(2<=L){var v=L-2|0;return 0<=v&&!((n[2]-v|0)<1)?x10(n[1],1,v):lk(N5)}return Iw(n)}function nO(i,x){var n=0;if(typeof x==\"number\")return 0;switch(x[0]){case 0:var m=x[2];if(nO(i,x[1]),typeof m==\"number\")switch(m){case 0:return bo0(i);case 1:return Co0(i);case 2:return wq(i);case 3:var L=i[14]<i[15]?1:0;return L&&_o0(i,[0,0,3,0]);case 4:return m10(i,1),l(i[18],0);case 5:return Tq(i,64);default:return Tq(i,37)}else switch(m[0]){case 0:var v=[0,J30,m[2],q30],a0=i[14]<i[15]?1:0,O1=[0,W30,m[3],z30],dx=v[3],ie=v[2],Ie=v[1];return a0&&Do0(i,1,[0,0|-i[13],[1,v,O1],(g(Ie)+ie|0)+g(dx)|0]);case 1:return 0;default:var Ot=m[1];return Tq(i,64),Tq(i,Ot)}case 1:var Or=x[2],Cr=x[1];if(Or[0]===0){var ni=Or[1];nO(i,Cr);var Jn=[0,l10,ko0(nO,ni)];i[22]&&(AK(Jn,i[4]),l(i[26],Jn));var Vn=i[23];return Vn&&Sq(i,[0,0,[5,Jn],0])}var zn=Or[1];nO(i,Cr);var Oi=r2x(ko0(nO,zn));return vo0(i,Oi[1],Oi[2]);case 2:var xn=x[1],vt=0;if(typeof xn!=\"number\"&&xn[0]===0){var Xt=xn[2];if(typeof Xt!=\"number\"&&Xt[0]===1){var Me=xn[1],Ke=Xt[2],ct=x[2];vt=1}}if(!vt){var sr=xn,kr=x[2];n=2}break;case 3:var wn=x[1],In=0;if(typeof wn!=\"number\"&&wn[0]===0){var Tn=wn[2];if(typeof Tn!=\"number\"&&Tn[0]===1){var ix=wn[1],Nr=Tn[2],Mx=x[2];n=1,In=1}}if(!In){var ko=wn,iu=x[2];n=3}break;case 4:var Mi=x[1],Bc=0;if(typeof Mi!=\"number\"&&Mi[0]===0){var ku=Mi[2];typeof ku!=\"number\"&&ku[0]===1&&(Me=Mi[1],Ke=ku[2],ct=x[2],Bc=1)}Bc||(sr=Mi,kr=x[2],n=2);break;case 5:var Kx=x[1],ic=0;if(typeof Kx==\"number\"||Kx[0]!==0)ic=1;else{var Br=Kx[2],Dt=0;typeof Br!=\"number\"&&Br[0]===1&&(ix=Kx[1],Nr=Br[2],Mx=x[2],n=1,Dt=1),Dt||(ic=1)}ic&&(ko=Kx,iu=x[2],n=3);break;case 6:var Li=x[2];return nO(i,x[1]),l(Li,i);case 7:return nO(i,x[1]),wq(i);default:var Dl=x[2];return nO(i,x[1]),lk(Dl)}switch(n){case 0:return nO(i,Me),h10(i,Ke,ct);case 1:return nO(i,ix),h10(i,Nr,JH(1,Mx));case 2:return nO(i,sr),te(i,kr);default:return nO(i,ko),Tq(i,iu)}}function T(i){return function(x){return U4(function(n){return nO(i,n),0},0,x[1])}}function Fi(i){var x=i[1],n=wo0(),m=g10(n);return U4(function(L){nO(m,L),m10(m,0);var v=Iw(n);return n[2]=0,n[1]=n[4],n[3]=f(n[1]),v},0,x)}function f2x(i,x){return function(n,m){return Ya[tB(n)]=m,0}(i,wt(x)===mC?x:x[1])}g10(u2x),function(i){var x=[0,0],n=X00[1];X00[1]=function(m){return 1-x[1]&&(x[1]=1,l(i,0)),l(n,0)}}(function(i){return wq(c2x),wq(l2x)});function p2x(i){var x=[0,0],n=g(i)-1|0;if(!(n<0))for(var m=0;;){var L=fr(i,m);x[1]=(bx*x[1]|0)+L|0;var v=m+1|0;if(n===m)break;m=v}return x[1]=x[1]&t4,1073741823<x[1]?x[1]+2147483648|0:x[1]}var MU=GH([0,S2]),TK=GH([0,S2]),WV=GH([0,TP]),No0=Et(0,0);function Po0(i){return 2<i?2*Po0((i+1|0)/2|0)|0:i}function Io0(i){var x=i.length-1,n=vr(2+(2*x|0)|0,No0);A4(n,0)[1]=x;var m=((32*Po0(x)|0)/8|0)-1|0;A4(n,1)[2]=m;var L=x-1|0;if(!(L<0))for(var v=0;;){var a0=3+(2*v|0)|0,O1=A4(i,v)[1+v];A4(n,a0)[1+a0]=O1;var dx=v+1|0;if(L===v)break;v=dx}return[0,2,n,TK[1],WV[1],0,0,MU[1],0]}function _10(i,x){var n=i[2].length-1,m=n<x?1:0;if(m){var L=vr(x,No0);HH(i[2],0,L,0,n),i[2]=L;var v=0}else v=m;return v}var Oo0=[0,0];function y10(i){var x=i[2].length-1;return _10(i,x+1|0),x}function kq(i,x){try{var n;return z(TK[27],x,i[3])}catch(L){if((L=yi(L))===eo){var m=y10(i);return i[3]=zr(TK[4],x,m,i[3]),i[4]=zr(WV[4],m,1,i[4]),m}throw L}}function Bo0(i,x){return Iz(function(n){return kq(i,n)},x)}function d2x(i,x){try{var n;return function(m,L){for(var v=L;;){if(!v)throw eo;var a0=v[1],O1=v[2],dx=a0[2];if(OM(a0[1],m)===0)return dx;v=O1}}(x,i[6])}catch(m){if((m=yi(m))===eo)return A4(i[2],x)[1+x];throw m}}function D10(i){if(i===0)return 0;for(var x=i.length-1-1|0,n=0;;){if(!(0<=x))return n;var m=[0,i[1+x],n];x=x-1|0,n=m}}function v10(i,x){try{var n;return z(MU[27],x,i[7])}catch(L){if((L=yi(L))===eo){var m=function(v){var a0=v[1];return v[1]=a0+1|0,a0}(i);return rt(x,rC0)&&(i[7]=zr(MU[4],x,m,i[7])),m}throw L}}function b10(i){return sk(i,0)?[0]:i}function Lo0(i,x,n,m,L,v){var a0=L[2],O1=L[4],dx=D10(x),ie=D10(n),Ie=D10(m),Ot=SK(function(In){return kq(i,In)},ie),Or=SK(function(In){return kq(i,In)},Ie);i[5]=[0,[0,i[3],i[4],i[6],i[7],Ot,dx],i[5]];var Cr=MU[1],ni=i[7];i[7]=zr(MU[13],function(In,Tn,ix){return Z00(In,dx)?zr(MU[4],In,Tn,ix):ix},ni,Cr);var Jn=[0,TK[1]],Vn=[0,WV[1]];to0(function(In,Tn){Jn[1]=zr(TK[4],In,Tn,Jn[1]);var ix=Vn[1];try{var Nr=z(WV[27],Tn,i[4])}catch(Mx){if((Mx=yi(Mx))!==eo)throw Mx;Nr=1}return Vn[1]=zr(WV[4],Tn,Nr,ix),0},Ie,Or),to0(function(In,Tn){return Jn[1]=zr(TK[4],In,Tn,Jn[1]),Vn[1]=zr(WV[4],Tn,0,Vn[1]),0},ie,Ot),i[3]=Jn[1],i[4]=Vn[1];var zn=i[6];i[6]=Q00(function(In,Tn){return Z00(In[1],Ot)?Tn:[0,In,Tn]},zn,0);var Oi=v?z(a0,i,O1):l(a0,i),xn=dq(i[5]),vt=xn[6],Xt=xn[5],Me=xn[4],Ke=xn[3],ct=xn[2],sr=xn[1];i[5]=eo0(i[5]),i[7]=U2(function(In,Tn){var ix=z(MU[27],Tn,i[7]);return zr(MU[4],Tn,ix,In)},Me,vt),i[3]=sr,i[4]=ct;var kr=i[6];i[6]=Q00(function(In,Tn){return Z00(In[1],Xt)?Tn:[0,In,Tn]},kr,Ke);var wn=[0,Iz(function(In){return d2x(i,kq(i,In))},b10(m)),0];return function(In){for(var Tn=[0];In!==0;){for(var ix=In[1],Nr=1;Nr<ix.length;Nr++)Tn.push(ix[Nr]);In=In[2]}return Tn}([0,[0,Oi],[0,Iz(function(In){return function(Tn,ix){try{return z(MU[27],ix,Tn[7])}catch(Nr){throw(Nr=yi(Nr))===eo?[0,Cs,tC0]:Nr}}(i,In)},b10(x)),wn]])}function C10(i,x){if(i===0)var n=Io0([0]);else{var m=Io0(Iz(p2x,i)),L=i.length-1-1|0;if(!(L<0))for(var v=0;;){var a0=2+(2*v|0)|0;m[3]=zr(TK[4],i[1+v],a0,m[3]),m[4]=zr(WV[4],a0,1,m[4]);var O1=v+1|0;if(L===v)break;v=O1}n=m}var dx=l(x,n);return Oo0[1]=(Oo0[1]+n[1]|0)-1|0,n[8]=yd(n[8]),_10(n,3+((16*A4(n[2],1)[2]|0)/32|0)|0),[0,l(dx,0),x,dx,0]}function E10(i,x){if(i)return i;var n=Et(mC,x[1]);return n[1]=x[2],function(m){return m[2]=MM++,m}(n)}function Mo0(i,x,n){if(i)return x;var m=n[8];if(m!==0)for(var L=m;L;){var v=L[2];l(L[1],x),L=v}return x}function eG(i){var x=y10(i),n=0;if((x%2|0)!=0&&!((2+((16*A4(i[2],1)[2]|0)/32|0)|0)<x)){var m=y10(i);n=1}return n||(m=x),A4(i[2],m)[1+m]=0,m}function S10(i,x){for(var n=[0,0],m=x.length-1;;){if(!(n[1]<m))return 0;var L=n[1],v=A4(x,L)[1+L],a0=function(ie){n[1]++;var Ie=n[1];return A4(x,Ie)[1+Ie]},O1=a0();if(typeof O1==\"number\")switch(O1){case 0:var dx=function(ie){return function(Ie){return ie}}(a0());break;case 1:dx=function(ie){return function(Ie){return Ie[1+ie]}}(a0());break;case 2:dx=function(ie,Ie){return function(Ot){return Ot[1+ie][1+Ie]}}(a0(),a0());break;case 3:dx=function(ie){return function(Ie){return l(Ie[1][1+ie],Ie)}}(a0());break;case 4:dx=function(ie){return function(Ie,Ot){return Ie[1+ie]=Ot,0}}(a0());break;case 5:dx=function(ie,Ie){return function(Ot){return l(ie,Ie)}}(a0(),a0());break;case 6:dx=function(ie,Ie){return function(Ot){return l(ie,Ot[1+Ie])}}(a0(),a0());break;case 7:dx=function(ie,Ie,Ot){return function(Or){return l(ie,Or[1+Ie][1+Ot])}}(a0(),a0(),a0());break;case 8:dx=function(ie,Ie){return function(Ot){return l(ie,l(Ot[1][1+Ie],Ot))}}(a0(),a0());break;case 9:dx=function(ie,Ie,Ot){return function(Or){return z(ie,Ie,Ot)}}(a0(),a0(),a0());break;case 10:dx=function(ie,Ie,Ot){return function(Or){return z(ie,Ie,Or[1+Ot])}}(a0(),a0(),a0());break;case 11:dx=function(ie,Ie,Ot,Or){return function(Cr){return z(ie,Ie,Cr[1+Ot][1+Or])}}(a0(),a0(),a0(),a0());break;case 12:dx=function(ie,Ie,Ot){return function(Or){return z(ie,Ie,l(Or[1][1+Ot],Or))}}(a0(),a0(),a0());break;case 13:dx=function(ie,Ie,Ot){return function(Or){return z(ie,Or[1+Ie],Ot)}}(a0(),a0(),a0());break;case 14:dx=function(ie,Ie,Ot,Or){return function(Cr){return z(ie,Cr[1+Ie][1+Ot],Or)}}(a0(),a0(),a0(),a0());break;case 15:dx=function(ie,Ie,Ot){return function(Or){return z(ie,l(Or[1][1+Ie],Or),Ot)}}(a0(),a0(),a0());break;case 16:dx=function(ie,Ie){return function(Ot){return z(Ot[1][1+ie],Ot,Ie)}}(a0(),a0());break;case 17:dx=function(ie,Ie){return function(Ot){return z(Ot[1][1+ie],Ot,Ot[1+Ie])}}(a0(),a0());break;case 18:dx=function(ie,Ie,Ot){return function(Or){return z(Or[1][1+ie],Or,Or[1+Ie][1+Ot])}}(a0(),a0(),a0());break;case 19:dx=function(ie,Ie){return function(Ot){var Or=l(Ot[1][1+Ie],Ot);return z(Ot[1][1+ie],Ot,Or)}}(a0(),a0());break;case 20:dx=function(ie,Ie,Ot){return function(Or){return z(rh(Ie,ie,0),Ie,Ot)}}(a0(),a0(),eG(i));break;case 21:dx=function(ie,Ie,Ot){return function(Or){var Cr=Or[1+Ie];return z(rh(Cr,ie,0),Cr,Ot)}}(a0(),a0(),eG(i));break;case 22:dx=function(ie,Ie,Ot,Or){return function(Cr){var ni=Cr[1+Ie][1+Ot];return z(rh(ni,ie,0),ni,Or)}}(a0(),a0(),a0(),eG(i));break;default:dx=function(ie,Ie,Ot){return function(Or){var Cr=l(Or[1][1+Ie],Or);return z(rh(Cr,ie,0),Cr,Ot)}}(a0(),a0(),eG(i))}else dx=O1;z(WV[27],v,i[4])?(_10(i,v+1|0),A4(i[2],v)[1+v]=dx):i[6]=[0,[0,v,dx],i[6]],n[1]++}}var S9=function i(x,n,m){if(typeof x==\"number\")switch(x){case 0:case 1:case 2:default:Ce(n,m)}else switch(x[0]){case 0:for(var L=1;L<x[1].length;L++)i(x[1][L],n[L],m[L])}return 0},F9=function(i,x){function n(L){TU(dw.Undefined_recursive_module,i)}var m=[];return function L(v,a0,O1){if(typeof v==\"number\")switch(v){case 0:a0[O1]={fun:n};break;case 1:a0[O1]=[246,n];break;default:a0[O1]=[]}else switch(v[0]){case 0:a0[O1]=[0];for(var dx=1;dx<v[1].length;dx++)L(v[1][dx],a0[O1],dx);break;default:a0[O1]=v[1]}}(x,m,0),m[0]};try{di(nC0)}catch(i){if((i=yi(i))!==eo)throw i}try{di(iC0)}catch(i){if((i=yi(i))!==eo)throw i}rt(xo0,aC0)&&rt(xo0,oC0),HA();var Cj=[mC,uC0,HA()];function m2x(i,x,n){throw[0,Cs,sC0]}function Ro0(i){var x=i.length-1;return[0,m2x,oo0(x,function(n){return Y00(A4(i,n)[1+n])}),x,0,0,0,0,0,0,0,0,0,0,0,cC0,1]}function Rx(i){var x=1-i[16];if(x&&(i[5]===i[3]?1:0)){if(i[2].length-1<(i[3]+QI|0)){var n=i[8],m=i[3]-n|0;if((m+QI|0)<=i[2].length-1)HH(i[2],n,i[2],0,m);else{var L=vr(2*(i[2].length-1+QI|0)|0,Y00(0));HH(i[2],n,L,0,m),i[2]=L}i[3]=m,i[4]=i[4]+n|0,i[5]=i[5]-n|0,i[11]=i[11]-n|0,i[8]=0}var v=zr(i[1],i[2],i[5],512);v===0?i[16]=1:i[3]=i[3]+v|0}if(i[16]&&i[5]===i[3])return 0;var a0=i[5],O1=A4(i[2],a0)[1+a0];return i[5]=i[5]+1|0,sk(O1,Y00(10))&&(i[7]!==0&&(i[7]=i[7]+1|0),i[6]=i[5]+i[4]|0),[0,O1]}function Qe(i,x){return i[11]=i[5],i[12]=i[6],i[13]=i[7],i[14]=x,0}function vS(i){return i[8]=i[5],i[9]=i[6],i[10]=i[7],Qe(i,-1)}function Zx(i){return i[5]=i[11],i[6]=i[12],i[7]=i[13],i[14]}function Mz(i){return i[5]=i[8],i[6]=i[9],i[7]=i[10],0}function Nq(i){return i[8]+i[4]|0}function tG(i){return i[5]+i[4]|0}function rG(i){return i[5]-i[8]|0}function jo0(i){var x=i[5]-i[8]|0,n=i[8],m=i[2];return 0<=n&&0<=x&&!((m.length-1-x|0)<n)?function(L,v,a0){var O1=new Array(a0+1);O1[0]=0;for(var dx=1,ie=v+1;dx<=a0;dx++,ie++)O1[dx]=L[ie];return O1}(m,n,x):lk(An)}for(var Rz=vr(ru,-1),Pq=0;;){A4(Rz,Pq)[1+Pq]=1;var h2x=Pq+1|0;if(sS===Pq)for(var Iq=a6;;){A4(Rz,Iq)[1+Iq]=2;var g2x=Iq+1|0;if(bx===Iq)for(var Oq=we;;){A4(Rz,Oq)[1+Oq]=3;var _2x=Oq+1|0;if(Oq===239)for(var Bq=zk;;){A4(Rz,Bq)[1+Bq]=4;var y2x=Bq+1|0;if(Bq===247){var F10=function(i){for(var x=g(i),n=0,m=0;;){if((0|x)<=m){if(m===(0|x))for(var L=vr(n,0),v=0,a0=0,O1=n;;){if(!(0<O1))return Ro0(L);var dx=fr(i,v),ie=0;if(a6<=dx)if(zk<=dx)if(mC<=dx)ie=1;else{var Ie=fr(i,v+1|0),Ot=fr(i,v+2|0),Or=fr(i,v+3|0),Cr=(Ie>>>6|0)!=2?1:0;if(Cr)var ni=Cr;else ni=((Ot>>>6|0)!=2?1:0)||((Or>>>6|0)!=2?1:0);if(ni)throw Cj;var Jn=(7&dx)<<18|(63&Ie)<<12|(63&Ot)<<6|63&Or}else if(we<=dx){var Vn=fr(i,v+1|0),zn=fr(i,v+2|0);if(((Vn>>>6|0)!=2?1:0)||((zn>>>6|0)!=2?1:0))throw Cj;var Oi=(15&dx)<<12|(63&Vn)<<6|63&zn,xn=55296<=Oi?1:0;if(xn&&(Oi<=57088?1:0))throw Cj;Jn=Oi}else{var vt=fr(i,v+1|0);if((vt>>>6|0)!=2)throw Cj;Jn=(31&dx)<<6|63&vt}else nE<=dx?ie=1:Jn=dx;if(ie)throw Cj;A4(L,a0)[1+a0]=Jn;var Xt=fr(i,v);v=v+A4(Rz,Xt)[1+Xt]|0,a0=a0+1|0,O1=O1-1|0}throw Cj}var Me=fr(i,m),Ke=A4(Rz,Me)[1+Me];if(!(0<Ke))throw Cj;n=n+1|0,m=m+Ke|0}},jz=function(i,x,n){for(var m=i[8]+x|0,L=i[2],v=sA(4*n|0),a0=m,O1=n;;){if(!(0<O1))return Iw(v);var dx=A4(L,a0)[1+a0];if(sS<dx)if(2047<dx)if(jy<dx){if(gI<dx)throw Cj;o9(v,yj(zk|dx>>>18|0)),o9(v,yj(nE|63&(dx>>>12|0))),o9(v,yj(nE|63&(dx>>>6|0))),o9(v,yj(nE|63&dx))}else{var ie=55296<=dx?1:0;if(ie&&(dx<57344?1:0))throw Cj;o9(v,yj(we|dx>>>12|0)),o9(v,yj(nE|63&(dx>>>6|0))),o9(v,yj(nE|63&dx))}else o9(v,yj(a6|dx>>>6|0)),o9(v,yj(nE|63&dx));else o9(v,yj(dx));a0=a0+1|0,O1=O1-1|0}},Zf=function(i){return jz(i,0,i[5]-i[8]|0)},wK=function(i,x){function n(m){return o9(i,m)}return 65536<=x?(n(zk|x>>>18|0),n(nE|63&(x>>>12|0)),n(nE|63&(x>>>6|0)),n(nE|63&x)):2048<=x?(n(we|x>>>12|0),n(nE|63&(x>>>6|0)),n(nE|63&x)):nE<=x?(n(a6|x>>>6|0),n(nE|63&x)):n(x)},Uo0=Oe,iO=null,Vo0=void 0,nG=function(i){return i!==Vo0?1:0},D2x=Uo0.Array,A10=[mC,fC0,HA()],v2x=Uo0.Error;f2x(pC0,[0,A10,{}]);var $o0=function(i){throw i};po0(function(i){return i[1]===A10?[0,wP(i[2].toString())]:0}),po0(function(i){return i instanceof D2x?0:[0,wP(i.toString())]});var Du=z(F9,v51,D51),n4=z(F9,C51,b51),iG=z(F9,S51,E51),Lq=z(F9,A51,F51),kK=z(F9,w51,T51),T10=z(F9,N51,k51),Ko0=z(F9,I51,P51),w10=z(F9,B51,O51),Uz=z(F9,M51,L51),aG=z(F9,j51,R51),GC=z(F9,V51,U51),ZN=z(F9,K51,$51),Ny=z(F9,W51,z51),k10=z(F9,J51,q51),EL=z(F9,G51,H51),xP=z(F9,Y51,X51),NK=z(F9,Z51,Q51),qV=z(F9,ew1,xw1),N10=function i(x,n,m,L){return i.fun(x,n,m,L)},zo0=function i(x,n,m){return i.fun(x,n,m)},b2x=z(F9,rw1,tw1);Ce(N10,function(i,x,n,m){l(T(n),r51),z(T(n),i51,n51);var L=m[1];l(T(n),a51),U2(function(a0,O1){return a0&&l(T(n),t51),zr(xP[1],function(dx){return l(i,dx)},n,O1),1},0,L),l(T(n),o51),l(T(n),s51),l(T(n),u51),z(T(n),l51,c51);var v=m[2];return l(T(n),f51),U2(function(a0,O1){return a0&&l(T(n),e51),zr(xP[1],function(dx){return l(i,dx)},n,O1),1},0,v),l(T(n),p51),l(T(n),d51),l(T(n),m51),z(T(n),g51,h51),z(x,n,m[3]),l(T(n),_51),l(T(n),y51)}),Ce(zo0,function(i,x,n){var m=z(N10,i,x);return z(Fi(x51),m,n)}),zr(S9,nw1,Du,[0,N10,zo0]);var P10=function i(x,n,m,L){return i.fun(x,n,m,L)},Wo0=function i(x,n,m){return i.fun(x,n,m)},oG=function i(x,n,m){return i.fun(x,n,m)},qo0=function i(x,n){return i.fun(x,n)};Ce(P10,function(i,x,n,m){l(T(n),YT1),z(x,n,m[1]),l(T(n),QT1);var L=m[2];return zr(oG,function(v){return l(i,v)},n,L),l(T(n),ZT1)}),Ce(Wo0,function(i,x,n){var m=z(P10,i,x);return z(Fi(XT1),m,n)}),Ce(oG,function(i,x,n){l(T(x),MT1),z(T(x),jT1,RT1);var m=n[1];z(T(x),UT1,m),l(T(x),VT1),l(T(x),$T1),z(T(x),zT1,KT1);var L=n[2];if(L){te(x,WT1);var v=L[1];re(Du[1],function(a0){return l(i,a0)},function(a0,O1){return te(a0,LT1)},x,v),te(x,qT1)}else te(x,JT1);return l(T(x),HT1),l(T(x),GT1)}),Ce(qo0,function(i,x){var n=l(oG,i);return z(Fi(BT1),n,x)}),zr(S9,iw1,n4,[0,P10,Wo0,oG,qo0]);var I10=function i(x,n,m){return i.fun(x,n,m)},Jo0=function i(x,n){return i.fun(x,n)},sG=function i(x,n,m){return i.fun(x,n,m)},Ho0=function i(x,n){return i.fun(x,n)};Ce(I10,function(i,x,n){l(T(x),PT1),z(i,x,n[1]),l(T(x),IT1);var m=n[2];return zr(sG,function(L){return l(i,L)},x,m),l(T(x),OT1)}),Ce(Jo0,function(i,x){var n=l(I10,i);return z(Fi(NT1),n,x)}),Ce(sG,function(i,x,n){l(T(x),yT1),z(T(x),vT1,DT1);var m=n[1];re(n4[1],function(a0){return l(i,a0)},function(a0){return l(i,a0)},x,m),l(T(x),bT1),l(T(x),CT1),z(T(x),ST1,ET1);var L=n[2];if(L){te(x,FT1);var v=L[1];re(Du[1],function(a0){return l(i,a0)},function(a0,O1){return te(a0,_T1)},x,v),te(x,AT1)}else te(x,TT1);return l(T(x),wT1),l(T(x),kT1)}),Ce(Ho0,function(i,x){var n=l(sG,i);return z(Fi(gT1),n,x)}),zr(S9,aw1,iG,[0,I10,Jo0,sG,Ho0]);var Go0=function(i,x){l(T(i),iT1),z(T(i),oT1,aT1);var n=x[1];z(T(i),sT1,n),l(T(i),uT1),l(T(i),cT1),z(T(i),fT1,lT1);var m=x[2];return z(T(i),pT1,m),l(T(i),dT1),l(T(i),mT1)},Xo0=[0,Go0,function(i){return z(Fi(hT1),Go0,i)}],O10=function i(x,n,m){return i.fun(x,n,m)},Yo0=function i(x,n){return i.fun(x,n)},uG=function i(x,n){return i.fun(x,n)},Qo0=function i(x){return i.fun(x)};Ce(O10,function(i,x,n){l(T(x),$A1),z(T(x),zA1,KA1),z(uG,x,n[1]),l(T(x),WA1),l(T(x),qA1),z(T(x),HA1,JA1);var m=n[2];z(T(x),GA1,m),l(T(x),XA1),l(T(x),YA1),z(T(x),ZA1,QA1);var L=n[3];if(L){te(x,xT1);var v=L[1];re(Du[1],function(a0){return l(i,a0)},function(a0,O1){return te(a0,VA1)},x,v),te(x,eT1)}else te(x,tT1);return l(T(x),rT1),l(T(x),nT1)}),Ce(Yo0,function(i,x){var n=l(O10,i);return z(Fi(UA1),n,x)}),Ce(uG,function(i,x){if(typeof x==\"number\")return te(i,SA1);switch(x[0]){case 0:l(T(i),FA1);var n=x[1];return z(T(i),AA1,n),l(T(i),TA1);case 1:l(T(i),wA1);var m=x[1];return z(T(i),kA1,m),l(T(i),NA1);case 2:l(T(i),PA1);var L=x[1];return z(T(i),IA1,L),l(T(i),OA1);case 3:l(T(i),BA1);var v=x[1];return z(T(i),LA1,v),l(T(i),MA1);default:return l(T(i),RA1),z(Xo0[1],i,x[1]),l(T(i),jA1)}}),Ce(Qo0,function(i){return z(Fi(EA1),uG,i)}),zr(S9,ow1,Lq,[0,Xo0,O10,Yo0,uG,Qo0]);var B10=function i(x,n,m){return i.fun(x,n,m)},Zo0=function i(x,n){return i.fun(x,n)};Ce(B10,function(i,x,n){l(T(x),aA1),z(T(x),sA1,oA1);var m=n[1];z(T(x),uA1,m),l(T(x),cA1),l(T(x),lA1),z(T(x),pA1,fA1);var L=n[2];z(T(x),dA1,L),l(T(x),mA1),l(T(x),hA1),z(T(x),_A1,gA1);var v=n[3];if(v){te(x,yA1);var a0=v[1];re(Du[1],function(O1){return l(i,O1)},function(O1,dx){return te(O1,iA1)},x,a0),te(x,DA1)}else te(x,vA1);return l(T(x),bA1),l(T(x),CA1)}),Ce(Zo0,function(i,x){var n=l(B10,i);return z(Fi(nA1),n,x)}),zr(S9,sw1,kK,[0,B10,Zo0]);var L10=function i(x,n,m){return i.fun(x,n,m)},xs0=function i(x,n){return i.fun(x,n)};Ce(L10,function(i,x,n){l(T(x),U41),z(T(x),$41,V41);var m=n[1];z(T(x),K41,m),l(T(x),z41),l(T(x),W41),z(T(x),J41,q41);var L=n[2];z(T(x),H41,L),l(T(x),G41),l(T(x),X41),z(T(x),Q41,Y41);var v=n[3];if(v){te(x,Z41);var a0=v[1];re(Du[1],function(O1){return l(i,O1)},function(O1,dx){return te(O1,j41)},x,a0),te(x,xA1)}else te(x,eA1);return l(T(x),tA1),l(T(x),rA1)}),Ce(xs0,function(i,x){var n=l(L10,i);return z(Fi(R41),n,x)}),zr(S9,uw1,T10,[0,L10,xs0]);var M10=function i(x,n,m){return i.fun(x,n,m)},es0=function i(x,n){return i.fun(x,n)};Ce(M10,function(i,x,n){l(T(x),D41),z(T(x),b41,v41);var m=n[1];z(T(x),C41,m),l(T(x),E41),l(T(x),S41),z(T(x),A41,F41);var L=n[2];z(T(x),T41,L),l(T(x),w41),l(T(x),k41),z(T(x),P41,N41);var v=n[3];if(v){te(x,I41);var a0=v[1];re(Du[1],function(O1){return l(i,O1)},function(O1,dx){return te(O1,y41)},x,a0),te(x,O41)}else te(x,B41);return l(T(x),L41),l(T(x),M41)}),Ce(es0,function(i,x){var n=l(M10,i);return z(Fi(_41),n,x)}),zr(S9,cw1,Ko0,[0,M10,es0]);var R10=function i(x,n,m){return i.fun(x,n,m)},ts0=function i(x,n){return i.fun(x,n)};Ce(R10,function(i,x,n){l(T(x),i41),z(T(x),o41,a41);var m=n[1];z(T(x),s41,m),l(T(x),u41),l(T(x),c41),z(T(x),f41,l41);var L=n[2];if(L){te(x,p41);var v=L[1];re(Du[1],function(a0){return l(i,a0)},function(a0,O1){return te(a0,n41)},x,v),te(x,d41)}else te(x,m41);return l(T(x),h41),l(T(x),g41)}),Ce(ts0,function(i,x){var n=l(R10,i);return z(Fi(r41),n,x)}),zr(S9,lw1,w10,[0,R10,ts0]);var j10=function i(x,n,m){return i.fun(x,n,m)},rs0=function i(x,n){return i.fun(x,n)},cG=function i(x,n){return i.fun(x,n)},ns0=function i(x){return i.fun(x)},lG=function i(x,n,m){return i.fun(x,n,m)},is0=function i(x,n){return i.fun(x,n)};Ce(j10,function(i,x,n){l(T(x),x41),z(i,x,n[1]),l(T(x),e41);var m=n[2];return zr(lG,function(L){return l(i,L)},x,m),l(T(x),t41)}),Ce(rs0,function(i,x){var n=l(j10,i);return z(Fi(ZF1),n,x)}),Ce(cG,function(i,x){return te(i,x===0?QF1:YF1)}),Ce(ns0,function(i){return z(Fi(XF1),cG,i)}),Ce(lG,function(i,x,n){l(T(x),RF1),z(T(x),UF1,jF1),z(cG,x,n[1]),l(T(x),VF1),l(T(x),$F1),z(T(x),zF1,KF1);var m=n[2];if(m){te(x,WF1);var L=m[1];re(Du[1],function(v){return l(i,v)},function(v,a0){return te(v,MF1)},x,L),te(x,qF1)}else te(x,JF1);return l(T(x),HF1),l(T(x),GF1)}),Ce(is0,function(i,x){var n=l(lG,i);return z(Fi(LF1),n,x)}),zr(S9,fw1,Uz,[0,j10,rs0,cG,ns0,lG,is0]);var U10=function i(x,n,m,L){return i.fun(x,n,m,L)},as0=function i(x,n,m){return i.fun(x,n,m)},V10=function i(x,n,m,L){return i.fun(x,n,m,L)},os0=function i(x,n,m){return i.fun(x,n,m)};Ce(U10,function(i,x,n,m){l(T(n),IF1),z(i,n,m[1]),l(T(n),OF1);var L=m[2];return re(aG[3],function(v){return l(i,v)},function(v){return l(x,v)},n,L),l(T(n),BF1)}),Ce(as0,function(i,x,n){var m=z(U10,i,x);return z(Fi(PF1),m,n)}),Ce(V10,function(i,x,n,m){l(T(n),DF1),z(T(n),bF1,vF1);var L=m[1];re(Ny[31],function(O1){return l(i,O1)},function(O1){return l(x,O1)},n,L),l(T(n),CF1),l(T(n),EF1),z(T(n),FF1,SF1);var v=m[2];if(v){te(n,AF1);var a0=v[1];re(Du[1],function(O1){return l(i,O1)},function(O1,dx){return te(O1,yF1)},n,a0),te(n,TF1)}else te(n,wF1);return l(T(n),kF1),l(T(n),NF1)}),Ce(os0,function(i,x,n){var m=z(V10,i,x);return z(Fi(_F1),m,n)}),zr(S9,pw1,aG,[0,U10,as0,V10,os0]);var $10=function i(x,n,m,L){return i.fun(x,n,m,L)},ss0=function i(x,n,m){return i.fun(x,n,m)},fG=function i(x,n,m,L){return i.fun(x,n,m,L)},us0=function i(x,n,m){return i.fun(x,n,m)};Ce($10,function(i,x,n,m){l(T(n),mF1),z(i,n,m[1]),l(T(n),hF1);var L=m[2];return re(fG,function(v){return l(i,v)},function(v){return l(x,v)},n,L),l(T(n),gF1)}),Ce(ss0,function(i,x,n){var m=z($10,i,x);return z(Fi(dF1),m,n)}),Ce(fG,function(i,x,n,m){l(T(n),YS1),z(T(n),ZS1,QS1);var L=m[1];if(L){te(n,xF1);var v=L[1];re(n4[1],function(dx){return l(i,dx)},function(dx){return l(x,dx)},n,v),te(n,eF1)}else te(n,tF1);l(T(n),rF1),l(T(n),nF1),z(T(n),aF1,iF1);var a0=m[2];re(GC[13],function(dx){return l(i,dx)},function(dx){return l(x,dx)},n,a0),l(T(n),oF1),l(T(n),sF1),z(T(n),cF1,uF1);var O1=m[3];return z(T(n),lF1,O1),l(T(n),fF1),l(T(n),pF1)}),Ce(us0,function(i,x,n){var m=z(fG,i,x);return z(Fi(XS1),m,n)});var K10=[0,$10,ss0,fG,us0],z10=function i(x,n,m,L){return i.fun(x,n,m,L)},cs0=function i(x,n,m){return i.fun(x,n,m)},pG=function i(x,n,m,L){return i.fun(x,n,m,L)},ls0=function i(x,n,m){return i.fun(x,n,m)};Ce(z10,function(i,x,n,m){l(T(n),JS1),z(i,n,m[1]),l(T(n),HS1);var L=m[2];return re(pG,function(v){return l(i,v)},function(v){return l(x,v)},n,L),l(T(n),GS1)}),Ce(cs0,function(i,x,n){var m=z(z10,i,x);return z(Fi(qS1),m,n)}),Ce(pG,function(i,x,n,m){l(T(n),OS1),z(T(n),LS1,BS1);var L=m[1];re(K10[1],function(O1){return l(i,O1)},function(O1){return l(x,O1)},n,L),l(T(n),MS1),l(T(n),RS1),z(T(n),US1,jS1);var v=m[2];if(v){te(n,VS1);var a0=v[1];re(Du[1],function(O1){return l(i,O1)},function(O1,dx){return te(O1,IS1)},n,a0),te(n,$S1)}else te(n,KS1);return l(T(n),zS1),l(T(n),WS1)}),Ce(ls0,function(i,x,n){var m=z(pG,i,x);return z(Fi(PS1),m,n)});var fs0=[0,z10,cs0,pG,ls0],W10=function i(x,n,m,L){return i.fun(x,n,m,L)},ps0=function i(x,n,m){return i.fun(x,n,m)},dG=function i(x,n,m,L){return i.fun(x,n,m,L)},ds0=function i(x,n,m){return i.fun(x,n,m)};Ce(W10,function(i,x,n,m){l(T(n),wS1),z(i,n,m[1]),l(T(n),kS1);var L=m[2];return re(dG,function(v){return l(i,v)},function(v){return l(x,v)},n,L),l(T(n),NS1)}),Ce(ps0,function(i,x,n){var m=z(W10,i,x);return z(Fi(TS1),m,n)}),Ce(dG,function(i,x,n,m){l(T(n),hS1),z(T(n),_S1,gS1);var L=m[1];re(GC[17],function(O1){return l(i,O1)},function(O1){return l(x,O1)},n,L),l(T(n),yS1),l(T(n),DS1),z(T(n),bS1,vS1);var v=m[2];if(v){te(n,CS1);var a0=v[1];re(Du[1],function(O1){return l(i,O1)},function(O1,dx){return te(O1,mS1)},n,a0),te(n,ES1)}else te(n,SS1);return l(T(n),FS1),l(T(n),AS1)}),Ce(ds0,function(i,x,n){var m=z(dG,i,x);return z(Fi(dS1),m,n)});var ms0=[0,W10,ps0,dG,ds0],q10=function i(x,n,m,L){return i.fun(x,n,m,L)},hs0=function i(x,n,m){return i.fun(x,n,m)},mG=function i(x,n,m,L){return i.fun(x,n,m,L)},gs0=function i(x,n,m){return i.fun(x,n,m)};Ce(q10,function(i,x,n,m){l(T(n),lS1),z(i,n,m[1]),l(T(n),fS1);var L=m[2];return re(mG,function(v){return l(i,v)},function(v){return l(x,v)},n,L),l(T(n),pS1)}),Ce(hs0,function(i,x,n){var m=z(q10,i,x);return z(Fi(cS1),m,n)}),Ce(mG,function(i,x,n,m){l(T(n),L61),z(T(n),R61,M61);var L=m[1];if(L){te(n,j61);var v=L[1];re(ms0[1],function(Ot){return l(i,Ot)},function(Ot){return l(x,Ot)},n,v),te(n,U61)}else te(n,V61);l(T(n),$61),l(T(n),K61),z(T(n),W61,z61);var a0=m[2];l(T(n),q61),U2(function(Ot,Or){return Ot&&l(T(n),B61),re(K10[1],function(Cr){return l(i,Cr)},function(Cr){return l(x,Cr)},n,Or),1},0,a0),l(T(n),J61),l(T(n),H61),l(T(n),G61),z(T(n),Y61,X61);var O1=m[3];if(O1){te(n,Q61);var dx=O1[1];re(fs0[1],function(Ot){return l(i,Ot)},function(Ot){return l(x,Ot)},n,dx),te(n,Z61)}else te(n,xS1);l(T(n),eS1),l(T(n),tS1),z(T(n),nS1,rS1);var ie=m[4];if(ie){te(n,iS1);var Ie=ie[1];re(Du[1],function(Ot){return l(i,Ot)},function(Ot,Or){return l(T(Ot),I61),U2(function(Cr,ni){return Cr&&l(T(Ot),P61),zr(xP[1],function(Jn){return l(i,Jn)},Ot,ni),1},0,Or),l(T(Ot),O61)},n,Ie),te(n,aS1)}else te(n,oS1);return l(T(n),sS1),l(T(n),uS1)}),Ce(gs0,function(i,x,n){var m=z(mG,i,x);return z(Fi(N61),m,n)});var _s0=[0,q10,hs0,mG,gs0],J10=function i(x,n,m,L){return i.fun(x,n,m,L)},ys0=function i(x,n,m){return i.fun(x,n,m)};Ce(J10,function(i,x,n,m){l(T(n),s61),z(T(n),c61,u61);var L=m[1];if(L){te(n,l61);var v=L[1];re(GC[22][1],function(Ie){return l(i,Ie)},function(Ie){return l(x,Ie)},n,v),te(n,f61)}else te(n,p61);l(T(n),d61),l(T(n),m61),z(T(n),g61,h61);var a0=m[2];re(_s0[1],function(Ie){return l(i,Ie)},function(Ie){return l(x,Ie)},n,a0),l(T(n),_61),l(T(n),y61),z(T(n),v61,D61);var O1=m[3];re(GC[13],function(Ie){return l(i,Ie)},function(Ie){return l(x,Ie)},n,O1),l(T(n),b61),l(T(n),C61),z(T(n),S61,E61);var dx=m[4];if(dx){te(n,F61);var ie=dx[1];re(Du[1],function(Ie){return l(i,Ie)},function(Ie,Ot){return te(Ie,o61)},n,ie),te(n,A61)}else te(n,T61);return l(T(n),w61),l(T(n),k61)}),Ce(ys0,function(i,x,n){var m=z(J10,i,x);return z(Fi(a61),m,n)});var Mq=[0,K10,fs0,ms0,_s0,J10,ys0],hG=function i(x,n,m,L){return i.fun(x,n,m,L)},Ds0=function i(x,n,m){return i.fun(x,n,m)},gG=function i(x,n,m,L){return i.fun(x,n,m,L)},vs0=function i(x,n,m){return i.fun(x,n,m)},_G=function i(x,n,m,L){return i.fun(x,n,m,L)},bs0=function i(x,n,m){return i.fun(x,n,m)};Ce(hG,function(i,x,n,m){if(m[0]===0){l(T(n),t61);var L=m[1];return re(n4[1],function(a0){return l(i,a0)},function(a0){return l(x,a0)},n,L),l(T(n),r61)}l(T(n),n61);var v=m[1];return re(gG,function(a0){return l(i,a0)},function(a0){return l(x,a0)},n,v),l(T(n),i61)}),Ce(Ds0,function(i,x,n){var m=z(hG,i,x);return z(Fi(e61),m,n)}),Ce(gG,function(i,x,n,m){l(T(n),Q81),z(i,n,m[1]),l(T(n),Z81);var L=m[2];return re(_G,function(v){return l(i,v)},function(v){return l(x,v)},n,L),l(T(n),x61)}),Ce(vs0,function(i,x,n){var m=z(gG,i,x);return z(Fi(Y81),m,n)}),Ce(_G,function(i,x,n,m){l(T(n),$81),z(T(n),z81,K81);var L=m[1];re(hG,function(a0){return l(i,a0)},function(a0){return l(x,a0)},n,L),l(T(n),W81),l(T(n),q81),z(T(n),H81,J81);var v=m[2];return re(n4[1],function(a0){return l(i,a0)},function(a0){return l(x,a0)},n,v),l(T(n),G81),l(T(n),X81)}),Ce(bs0,function(i,x,n){var m=z(_G,i,x);return z(Fi(V81),m,n)});var Cs0=[0,hG,Ds0,gG,vs0,_G,bs0],H10=function i(x,n,m,L){return i.fun(x,n,m,L)},Es0=function i(x,n,m){return i.fun(x,n,m)};Ce(H10,function(i,x,n,m){l(T(n),b81),z(T(n),E81,C81);var L=m[1];re(Cs0[1],function(ie){return l(i,ie)},function(ie){return l(x,ie)},n,L),l(T(n),S81),l(T(n),F81),z(T(n),T81,A81);var v=m[2];if(v){te(n,w81);var a0=v[1];re(GC[23][1],function(ie){return l(i,ie)},function(ie){return l(x,ie)},n,a0),te(n,k81)}else te(n,N81);l(T(n),P81),l(T(n),I81),z(T(n),B81,O81);var O1=m[3];if(O1){te(n,L81);var dx=O1[1];re(Du[1],function(ie){return l(i,ie)},function(ie,Ie){return te(ie,v81)},n,dx),te(n,M81)}else te(n,R81);return l(T(n),j81),l(T(n),U81)}),Ce(Es0,function(i,x,n){var m=z(H10,i,x);return z(Fi(D81),m,n)});var G10=[0,Cs0,H10,Es0],X10=function i(x,n,m,L){return i.fun(x,n,m,L)},Ss0=function i(x,n,m){return i.fun(x,n,m)};Ce(X10,function(i,x,n,m){l(T(n),n81),z(T(n),a81,i81);var L=m[1];re(GC[13],function(dx){return l(i,dx)},function(dx){return l(x,dx)},n,L),l(T(n),o81),l(T(n),s81),z(T(n),c81,u81);var v=m[2];re(GC[13],function(dx){return l(i,dx)},function(dx){return l(x,dx)},n,v),l(T(n),l81),l(T(n),f81),z(T(n),d81,p81);var a0=m[3];if(a0){te(n,m81);var O1=a0[1];re(Du[1],function(dx){return l(i,dx)},function(dx,ie){return te(dx,r81)},n,O1),te(n,h81)}else te(n,g81);return l(T(n),_81),l(T(n),y81)}),Ce(Ss0,function(i,x,n){var m=z(X10,i,x);return z(Fi(t81),m,n)});var Y10=[0,X10,Ss0],Q10=function i(x,n,m,L){return i.fun(x,n,m,L)},Fs0=function i(x,n,m){return i.fun(x,n,m)};Ce(Q10,function(i,x,n,m){l(T(n),qE1),z(T(n),HE1,JE1);var L=m[1];re(Y10[1],function(a0){return l(i,a0)},function(a0){return l(x,a0)},n,L),l(T(n),GE1),l(T(n),XE1),z(T(n),QE1,YE1);var v=m[2];return z(T(n),ZE1,v),l(T(n),x81),l(T(n),e81)}),Ce(Fs0,function(i,x,n){var m=z(Q10,i,x);return z(Fi(WE1),m,n)});var As0=[0,Q10,Fs0],Z10=function i(x,n,m,L){return i.fun(x,n,m,L)},Ts0=function i(x,n,m){return i.fun(x,n,m)},yG=function i(x,n,m,L){return i.fun(x,n,m,L)},ws0=function i(x,n,m){return i.fun(x,n,m)},DG=function i(x,n,m,L){return i.fun(x,n,m,L)},ks0=function i(x,n,m){return i.fun(x,n,m)};Ce(Z10,function(i,x,n,m){l(T(n),$E1),z(i,n,m[1]),l(T(n),KE1);var L=m[2];return re(yG,function(v){return l(i,v)},function(v){return l(x,v)},n,L),l(T(n),zE1)}),Ce(Ts0,function(i,x,n){var m=z(Z10,i,x);return z(Fi(VE1),m,n)}),Ce(yG,function(i,x,n,m){l(T(n),QC1),z(T(n),xE1,ZC1);var L=m[1];re(Ny[7][1][1],function(ni){return l(i,ni)},function(ni){return l(x,ni)},n,L),l(T(n),eE1),l(T(n),tE1),z(T(n),nE1,rE1);var v=m[2];re(DG,function(ni){return l(i,ni)},function(ni){return l(x,ni)},n,v),l(T(n),iE1),l(T(n),aE1),z(T(n),sE1,oE1);var a0=m[3];z(T(n),uE1,a0),l(T(n),cE1),l(T(n),lE1),z(T(n),pE1,fE1);var O1=m[4];z(T(n),dE1,O1),l(T(n),mE1),l(T(n),hE1),z(T(n),_E1,gE1);var dx=m[5];z(T(n),yE1,dx),l(T(n),DE1),l(T(n),vE1),z(T(n),CE1,bE1);var ie=m[6];z(T(n),EE1,ie),l(T(n),SE1),l(T(n),FE1),z(T(n),TE1,AE1);var Ie=m[7];if(Ie){te(n,wE1);var Ot=Ie[1];zr(Uz[1],function(ni){return l(i,ni)},n,Ot),te(n,kE1)}else te(n,NE1);l(T(n),PE1),l(T(n),IE1),z(T(n),BE1,OE1);var Or=m[8];if(Or){te(n,LE1);var Cr=Or[1];re(Du[1],function(ni){return l(i,ni)},function(ni,Jn){return te(ni,YC1)},n,Cr),te(n,ME1)}else te(n,RE1);return l(T(n),jE1),l(T(n),UE1)}),Ce(ws0,function(i,x,n){var m=z(yG,i,x);return z(Fi(XC1),m,n)}),Ce(DG,function(i,x,n,m){switch(m[0]){case 0:l(T(n),RC1);var L=m[1];return re(GC[13],function(ie){return l(i,ie)},function(ie){return l(x,ie)},n,L),l(T(n),jC1);case 1:var v=m[1];l(T(n),UC1),l(T(n),VC1),z(i,n,v[1]),l(T(n),$C1);var a0=v[2];return re(Mq[5],function(ie){return l(i,ie)},function(ie){return l(x,ie)},n,a0),l(T(n),KC1),l(T(n),zC1);default:var O1=m[1];l(T(n),WC1),l(T(n),qC1),z(i,n,O1[1]),l(T(n),JC1);var dx=O1[2];return re(Mq[5],function(ie){return l(i,ie)},function(ie){return l(x,ie)},n,dx),l(T(n),HC1),l(T(n),GC1)}}),Ce(ks0,function(i,x,n){var m=z(DG,i,x);return z(Fi(MC1),m,n)});var Ns0=[0,Z10,Ts0,yG,ws0,DG,ks0],xx0=function i(x,n,m,L){return i.fun(x,n,m,L)},Ps0=function i(x,n,m){return i.fun(x,n,m)},vG=function i(x,n,m,L){return i.fun(x,n,m,L)},Is0=function i(x,n,m){return i.fun(x,n,m)};Ce(xx0,function(i,x,n,m){l(T(n),OC1),z(i,n,m[1]),l(T(n),BC1);var L=m[2];return re(vG,function(v){return l(i,v)},function(v){return l(x,v)},n,L),l(T(n),LC1)}),Ce(Ps0,function(i,x,n){var m=z(xx0,i,x);return z(Fi(IC1),m,n)}),Ce(vG,function(i,x,n,m){l(T(n),vC1),z(T(n),CC1,bC1);var L=m[1];re(GC[13],function(O1){return l(i,O1)},function(O1){return l(x,O1)},n,L),l(T(n),EC1),l(T(n),SC1),z(T(n),AC1,FC1);var v=m[2];if(v){te(n,TC1);var a0=v[1];re(Du[1],function(O1){return l(i,O1)},function(O1,dx){return te(O1,DC1)},n,a0),te(n,wC1)}else te(n,kC1);return l(T(n),NC1),l(T(n),PC1)}),Ce(Is0,function(i,x,n){var m=z(vG,i,x);return z(Fi(yC1),m,n)});var Os0=[0,xx0,Ps0,vG,Is0],bG=function i(x,n,m,L){return i.fun(x,n,m,L)},Bs0=function i(x,n,m){return i.fun(x,n,m)},ex0=function i(x,n,m,L){return i.fun(x,n,m,L)},Ls0=function i(x,n,m){return i.fun(x,n,m)};Ce(bG,function(i,x,n,m){l(T(n),R31),z(T(n),U31,j31);var L=m[1];if(L){te(n,V31);var v=L[1];re(n4[1],function(Cr){return l(i,Cr)},function(Cr){return l(i,Cr)},n,v),te(n,$31)}else te(n,K31);l(T(n),z31),l(T(n),W31),z(T(n),J31,q31);var a0=m[2];re(GC[13],function(Cr){return l(i,Cr)},function(Cr){return l(x,Cr)},n,a0),l(T(n),H31),l(T(n),G31),z(T(n),Y31,X31);var O1=m[3];re(GC[13],function(Cr){return l(i,Cr)},function(Cr){return l(x,Cr)},n,O1),l(T(n),Q31),l(T(n),Z31),z(T(n),eC1,xC1);var dx=m[4];z(T(n),tC1,dx),l(T(n),rC1),l(T(n),nC1),z(T(n),aC1,iC1);var ie=m[5];if(ie){te(n,oC1);var Ie=ie[1];zr(Uz[1],function(Cr){return l(i,Cr)},n,Ie),te(n,sC1)}else te(n,uC1);l(T(n),cC1),l(T(n),lC1),z(T(n),pC1,fC1);var Ot=m[6];if(Ot){te(n,dC1);var Or=Ot[1];re(Du[1],function(Cr){return l(i,Cr)},function(Cr,ni){return te(Cr,M31)},n,Or),te(n,mC1)}else te(n,hC1);return l(T(n),gC1),l(T(n),_C1)}),Ce(Bs0,function(i,x,n){var m=z(bG,i,x);return z(Fi(L31),m,n)}),Ce(ex0,function(i,x,n,m){l(T(n),I31),z(i,n,m[1]),l(T(n),O31);var L=m[2];return re(bG,function(v){return l(i,v)},function(v){return l(x,v)},n,L),l(T(n),B31)}),Ce(Ls0,function(i,x,n){var m=z(ex0,i,x);return z(Fi(P31),m,n)});var Ms0=[0,bG,Bs0,ex0,Ls0],tx0=function i(x,n,m,L){return i.fun(x,n,m,L)},Rs0=function i(x,n,m){return i.fun(x,n,m)},CG=function i(x,n,m,L){return i.fun(x,n,m,L)},js0=function i(x,n,m){return i.fun(x,n,m)};Ce(tx0,function(i,x,n,m){l(T(n),w31),z(i,n,m[1]),l(T(n),k31);var L=m[2];return re(CG,function(v){return l(i,v)},function(v){return l(x,v)},n,L),l(T(n),N31)}),Ce(Rs0,function(i,x,n){var m=z(tx0,i,x);return z(Fi(T31),m,n)}),Ce(CG,function(i,x,n,m){l(T(n),s31),z(T(n),c31,u31);var L=m[1];l(T(n),l31),z(i,n,L[1]),l(T(n),f31);var v=L[2];re(Mq[5],function(ie){return l(i,ie)},function(ie){return l(x,ie)},n,v),l(T(n),p31),l(T(n),d31),l(T(n),m31),z(T(n),g31,h31);var a0=m[2];z(T(n),_31,a0),l(T(n),y31),l(T(n),D31),z(T(n),b31,v31);var O1=m[3];if(O1){te(n,C31);var dx=O1[1];re(Du[1],function(ie){return l(i,ie)},function(ie,Ie){return te(ie,o31)},n,dx),te(n,E31)}else te(n,S31);return l(T(n),F31),l(T(n),A31)}),Ce(js0,function(i,x,n){var m=z(CG,i,x);return z(Fi(a31),m,n)});var Us0=[0,tx0,Rs0,CG,js0],rx0=function i(x,n,m,L){return i.fun(x,n,m,L)},Vs0=function i(x,n,m){return i.fun(x,n,m)},EG=function i(x,n,m,L){return i.fun(x,n,m,L)},$s0=function i(x,n,m){return i.fun(x,n,m)};Ce(rx0,function(i,x,n,m){l(T(n),r31),z(i,n,m[1]),l(T(n),n31);var L=m[2];return re(EG,function(v){return l(i,v)},function(v){return l(x,v)},n,L),l(T(n),i31)}),Ce(Vs0,function(i,x,n){var m=z(rx0,i,x);return z(Fi(t31),m,n)}),Ce(EG,function(i,x,n,m){l(T(n),S71),z(T(n),A71,F71);var L=m[1];re(n4[1],function(Ot){return l(i,Ot)},function(Ot){return l(i,Ot)},n,L),l(T(n),T71),l(T(n),w71),z(T(n),N71,k71);var v=m[2];re(GC[13],function(Ot){return l(i,Ot)},function(Ot){return l(x,Ot)},n,v),l(T(n),P71),l(T(n),I71),z(T(n),B71,O71);var a0=m[3];z(T(n),L71,a0),l(T(n),M71),l(T(n),R71),z(T(n),U71,j71);var O1=m[4];z(T(n),V71,O1),l(T(n),$71),l(T(n),K71),z(T(n),W71,z71);var dx=m[5];z(T(n),q71,dx),l(T(n),J71),l(T(n),H71),z(T(n),X71,G71);var ie=m[6];if(ie){te(n,Y71);var Ie=ie[1];re(Du[1],function(Ot){return l(i,Ot)},function(Ot,Or){return te(Ot,E71)},n,Ie),te(n,Q71)}else te(n,Z71);return l(T(n),x31),l(T(n),e31)}),Ce($s0,function(i,x,n){var m=z(EG,i,x);return z(Fi(C71),m,n)});var Ks0=[0,rx0,Vs0,EG,$s0],nx0=function i(x,n,m,L){return i.fun(x,n,m,L)},zs0=function i(x,n,m){return i.fun(x,n,m)},SG=function i(x,n,m,L){return i.fun(x,n,m,L)},Ws0=function i(x,n,m){return i.fun(x,n,m)};Ce(nx0,function(i,x,n,m){l(T(n),Zb1),z(T(n),e71,x71);var L=m[1];z(T(n),t71,L),l(T(n),r71),l(T(n),n71),z(T(n),a71,i71);var v=m[2];z(T(n),o71,v),l(T(n),s71),l(T(n),u71),z(T(n),l71,c71);var a0=m[3];l(T(n),f71),U2(function(ie,Ie){return ie&&l(T(n),Qb1),re(SG,function(Ot){return l(i,Ot)},function(Ot){return l(x,Ot)},n,Ie),1},0,a0),l(T(n),p71),l(T(n),d71),l(T(n),m71),z(T(n),g71,h71);var O1=m[4];if(O1){te(n,_71);var dx=O1[1];re(Du[1],function(ie){return l(i,ie)},function(ie,Ie){return l(T(ie),Xb1),U2(function(Ot,Or){return Ot&&l(T(ie),Gb1),zr(xP[1],function(Cr){return l(i,Cr)},ie,Or),1},0,Ie),l(T(ie),Yb1)},n,dx),te(n,y71)}else te(n,D71);return l(T(n),v71),l(T(n),b71)}),Ce(zs0,function(i,x,n){var m=z(nx0,i,x);return z(Fi(Hb1),m,n)}),Ce(SG,function(i,x,n,m){switch(m[0]){case 0:l(T(n),Rb1);var L=m[1];return re(Ns0[1],function(ie){return l(i,ie)},function(ie){return l(x,ie)},n,L),l(T(n),jb1);case 1:l(T(n),Ub1);var v=m[1];return re(Os0[1],function(ie){return l(i,ie)},function(ie){return l(x,ie)},n,v),l(T(n),Vb1);case 2:l(T(n),$b1);var a0=m[1];return re(Ms0[3],function(ie){return l(i,ie)},function(ie){return l(x,ie)},n,a0),l(T(n),Kb1);case 3:l(T(n),zb1);var O1=m[1];return re(Us0[1],function(ie){return l(i,ie)},function(ie){return l(x,ie)},n,O1),l(T(n),Wb1);default:l(T(n),qb1);var dx=m[1];return re(Ks0[1],function(ie){return l(i,ie)},function(ie){return l(x,ie)},n,dx),l(T(n),Jb1)}}),Ce(Ws0,function(i,x,n){var m=z(SG,i,x);return z(Fi(Mb1),m,n)});var ix0=[0,Ns0,Os0,Ms0,Us0,Ks0,nx0,zs0,SG,Ws0],ax0=function i(x,n,m,L){return i.fun(x,n,m,L)},qs0=function i(x,n,m){return i.fun(x,n,m)};Ce(ax0,function(i,x,n,m){l(T(n),hb1),z(T(n),_b1,gb1);var L=m[1];l(T(n),yb1),z(i,n,L[1]),l(T(n),Db1);var v=L[2];re(ix0[6],function(ie){return l(i,ie)},function(ie){return l(x,ie)},n,v),l(T(n),vb1),l(T(n),bb1),l(T(n),Cb1),z(T(n),Sb1,Eb1);var a0=m[2];l(T(n),Fb1),U2(function(ie,Ie){ie&&l(T(n),fb1),l(T(n),pb1),z(i,n,Ie[1]),l(T(n),db1);var Ot=Ie[2];return re(G10[2],function(Or){return l(i,Or)},function(Or){return l(x,Or)},n,Ot),l(T(n),mb1),1},0,a0),l(T(n),Ab1),l(T(n),Tb1),l(T(n),wb1),z(T(n),Nb1,kb1);var O1=m[3];if(O1){te(n,Pb1);var dx=O1[1];re(Du[1],function(ie){return l(i,ie)},function(ie,Ie){return te(ie,lb1)},n,dx),te(n,Ib1)}else te(n,Ob1);return l(T(n),Bb1),l(T(n),Lb1)}),Ce(qs0,function(i,x,n){var m=z(ax0,i,x);return z(Fi(cb1),m,n)});var Js0=[0,ax0,qs0],ox0=function i(x,n,m,L){return i.fun(x,n,m,L)},Hs0=function i(x,n,m){return i.fun(x,n,m)};Ce(ox0,function(i,x,n,m){l(T(n),Qv1),z(T(n),xb1,Zv1);var L=m[1];re(GC[13],function(O1){return l(i,O1)},function(O1){return l(x,O1)},n,L),l(T(n),eb1),l(T(n),tb1),z(T(n),nb1,rb1);var v=m[2];if(v){te(n,ib1);var a0=v[1];re(Du[1],function(O1){return l(i,O1)},function(O1,dx){return te(O1,Yv1)},n,a0),te(n,ab1)}else te(n,ob1);return l(T(n),sb1),l(T(n),ub1)}),Ce(Hs0,function(i,x,n){var m=z(ox0,i,x);return z(Fi(Xv1),m,n)});var Gs0=[0,ox0,Hs0],sx0=function i(x,n,m,L){return i.fun(x,n,m,L)},Xs0=function i(x,n,m){return i.fun(x,n,m)};Ce(sx0,function(i,x,n,m){l(T(n),Iv1),z(T(n),Bv1,Ov1);var L=m[1];re(GC[13],function(dx){return l(i,dx)},function(dx){return l(x,dx)},n,L),l(T(n),Lv1),l(T(n),Mv1),z(T(n),jv1,Rv1);var v=m[2];z(T(n),Uv1,v),l(T(n),Vv1),l(T(n),$v1),z(T(n),zv1,Kv1);var a0=m[3];if(a0){te(n,Wv1);var O1=a0[1];re(Du[1],function(dx){return l(i,dx)},function(dx,ie){return te(dx,Pv1)},n,O1),te(n,qv1)}else te(n,Jv1);return l(T(n),Hv1),l(T(n),Gv1)}),Ce(Xs0,function(i,x,n){var m=z(sx0,i,x);return z(Fi(Nv1),m,n)});var Ys0=[0,sx0,Xs0],ux0=function i(x,n,m,L){return i.fun(x,n,m,L)},Qs0=function i(x,n,m){return i.fun(x,n,m)};Ce(ux0,function(i,x,n,m){l(T(n),gv1),z(T(n),yv1,_v1);var L=m[1];l(T(n),Dv1),U2(function(O1,dx){return O1&&l(T(n),hv1),re(GC[13],function(ie){return l(i,ie)},function(ie){return l(x,ie)},n,dx),1},0,L),l(T(n),vv1),l(T(n),bv1),l(T(n),Cv1),z(T(n),Sv1,Ev1);var v=m[2];if(v){te(n,Fv1);var a0=v[1];re(Du[1],function(O1){return l(i,O1)},function(O1,dx){return te(O1,mv1)},n,a0),te(n,Av1)}else te(n,Tv1);return l(T(n),wv1),l(T(n),kv1)}),Ce(Qs0,function(i,x,n){var m=z(ux0,i,x);return z(Fi(dv1),m,n)});var Zs0=[0,ux0,Qs0],cx0=function i(x,n,m,L){return i.fun(x,n,m,L)},xu0=function i(x,n,m){return i.fun(x,n,m)};Ce(cx0,function(i,x,n,m){l(T(n),tv1),z(T(n),nv1,rv1);var L=m[1];re(GC[13],function(O1){return l(i,O1)},function(O1){return l(x,O1)},n,L),l(T(n),iv1),l(T(n),av1),z(T(n),sv1,ov1);var v=m[2];if(v){te(n,uv1);var a0=v[1];re(Du[1],function(O1){return l(i,O1)},function(O1,dx){return te(O1,ev1)},n,a0),te(n,cv1)}else te(n,lv1);return l(T(n),fv1),l(T(n),pv1)}),Ce(xu0,function(i,x,n){var m=z(cx0,i,x);return z(Fi(xv1),m,n)});var eu0=[0,cx0,xu0],lx0=function i(x,n,m,L){return i.fun(x,n,m,L)},tu0=function i(x,n,m){return i.fun(x,n,m)};Ce(lx0,function(i,x,n,m){l(T(n),LD1),z(T(n),RD1,MD1);var L=m[1];l(T(n),jD1);var v=L[1];re(GC[13],function(ie){return l(i,ie)},function(ie){return l(x,ie)},n,v),l(T(n),UD1);var a0=L[2];re(GC[13],function(ie){return l(i,ie)},function(ie){return l(x,ie)},n,a0),l(T(n),VD1),l(T(n),$D1),U2(function(ie,Ie){return ie&&l(T(n),BD1),re(GC[13],function(Ot){return l(i,Ot)},function(Ot){return l(x,Ot)},n,Ie),1},0,L[3]),l(T(n),KD1),l(T(n),zD1),l(T(n),WD1),l(T(n),qD1),z(T(n),HD1,JD1);var O1=m[2];if(O1){te(n,GD1);var dx=O1[1];re(Du[1],function(ie){return l(i,ie)},function(ie,Ie){return te(ie,OD1)},n,dx),te(n,XD1)}else te(n,YD1);return l(T(n),QD1),l(T(n),ZD1)}),Ce(tu0,function(i,x,n){var m=z(lx0,i,x);return z(Fi(ID1),m,n)});var ru0=[0,lx0,tu0],fx0=function i(x,n,m,L){return i.fun(x,n,m,L)},nu0=function i(x,n,m){return i.fun(x,n,m)};Ce(fx0,function(i,x,n,m){l(T(n),mD1),z(T(n),gD1,hD1);var L=m[1];l(T(n),_D1);var v=L[1];re(GC[13],function(ie){return l(i,ie)},function(ie){return l(x,ie)},n,v),l(T(n),yD1);var a0=L[2];re(GC[13],function(ie){return l(i,ie)},function(ie){return l(x,ie)},n,a0),l(T(n),DD1),l(T(n),vD1),U2(function(ie,Ie){return ie&&l(T(n),dD1),re(GC[13],function(Ot){return l(i,Ot)},function(Ot){return l(x,Ot)},n,Ie),1},0,L[3]),l(T(n),bD1),l(T(n),CD1),l(T(n),ED1),l(T(n),SD1),z(T(n),AD1,FD1);var O1=m[2];if(O1){te(n,TD1);var dx=O1[1];re(Du[1],function(ie){return l(i,ie)},function(ie,Ie){return te(ie,pD1)},n,dx),te(n,wD1)}else te(n,kD1);return l(T(n),ND1),l(T(n),PD1)}),Ce(nu0,function(i,x,n){var m=z(fx0,i,x);return z(Fi(fD1),m,n)});var iu0=[0,fx0,nu0],FG=function i(x,n,m,L){return i.fun(x,n,m,L)},au0=function i(x,n,m){return i.fun(x,n,m)},AG=function i(x,n,m,L){return i.fun(x,n,m,L)},ou0=function i(x,n,m){return i.fun(x,n,m)},px0=function i(x,n,m,L){return i.fun(x,n,m,L)},su0=function i(x,n,m){return i.fun(x,n,m)},dx0=function i(x,n,m,L){return i.fun(x,n,m,L)},uu0=function i(x,n,m){return i.fun(x,n,m)};Ce(FG,function(i,x,n,m){l(T(n),uD1),z(x,n,m[1]),l(T(n),cD1);var L=m[2];return re(AG,function(v){return l(i,v)},function(v){return l(x,v)},n,L),l(T(n),lD1)}),Ce(au0,function(i,x,n){var m=z(FG,i,x);return z(Fi(sD1),m,n)}),Ce(AG,function(i,x,n,m){switch(m[0]){case 0:var L=m[1];if(l(T(n),w_1),L){te(n,k_1);var v=L[1];re(Du[1],function(Li){return l(i,Li)},function(Li,Dl){return te(Li,T_1)},n,v),te(n,N_1)}else te(n,P_1);return l(T(n),I_1);case 1:var a0=m[1];if(l(T(n),O_1),a0){te(n,B_1);var O1=a0[1];re(Du[1],function(Li){return l(i,Li)},function(Li,Dl){return te(Li,A_1)},n,O1),te(n,L_1)}else te(n,M_1);return l(T(n),R_1);case 2:var dx=m[1];if(l(T(n),j_1),dx){te(n,U_1);var ie=dx[1];re(Du[1],function(Li){return l(i,Li)},function(Li,Dl){return te(Li,F_1)},n,ie),te(n,V_1)}else te(n,$_1);return l(T(n),K_1);case 3:var Ie=m[1];if(l(T(n),z_1),Ie){te(n,W_1);var Ot=Ie[1];re(Du[1],function(Li){return l(i,Li)},function(Li,Dl){return te(Li,S_1)},n,Ot),te(n,q_1)}else te(n,J_1);return l(T(n),H_1);case 4:var Or=m[1];if(l(T(n),G_1),Or){te(n,X_1);var Cr=Or[1];re(Du[1],function(Li){return l(i,Li)},function(Li,Dl){return te(Li,E_1)},n,Cr),te(n,Y_1)}else te(n,Q_1);return l(T(n),Z_1);case 5:var ni=m[1];if(l(T(n),xy1),ni){te(n,ey1);var Jn=ni[1];re(Du[1],function(Li){return l(i,Li)},function(Li,Dl){return te(Li,C_1)},n,Jn),te(n,ty1)}else te(n,ry1);return l(T(n),ny1);case 6:var Vn=m[1];if(l(T(n),iy1),Vn){te(n,ay1);var zn=Vn[1];re(Du[1],function(Li){return l(i,Li)},function(Li,Dl){return te(Li,b_1)},n,zn),te(n,oy1)}else te(n,sy1);return l(T(n),uy1);case 7:var Oi=m[1];if(l(T(n),cy1),Oi){te(n,ly1);var xn=Oi[1];re(Du[1],function(Li){return l(i,Li)},function(Li,Dl){return te(Li,v_1)},n,xn),te(n,fy1)}else te(n,py1);return l(T(n),dy1);case 8:var vt=m[1];if(l(T(n),my1),vt){te(n,hy1);var Xt=vt[1];re(Du[1],function(Li){return l(i,Li)},function(Li,Dl){return te(Li,D_1)},n,Xt),te(n,gy1)}else te(n,_y1);return l(T(n),yy1);case 9:var Me=m[1];if(l(T(n),Dy1),Me){te(n,vy1);var Ke=Me[1];re(Du[1],function(Li){return l(i,Li)},function(Li,Dl){return te(Li,y_1)},n,Ke),te(n,by1)}else te(n,Cy1);return l(T(n),Ey1);case 10:var ct=m[1];if(l(T(n),Sy1),ct){te(n,Fy1);var sr=ct[1];re(Du[1],function(Li){return l(i,Li)},function(Li,Dl){return te(Li,__1)},n,sr),te(n,Ay1)}else te(n,Ty1);return l(T(n),wy1);case 11:l(T(n),ky1);var kr=m[1];return re(Gs0[1],function(Li){return l(i,Li)},function(Li){return l(x,Li)},n,kr),l(T(n),Ny1);case 12:l(T(n),Py1);var wn=m[1];return re(Mq[5],function(Li){return l(i,Li)},function(Li){return l(x,Li)},n,wn),l(T(n),Iy1);case 13:l(T(n),Oy1);var In=m[1];return re(ix0[6],function(Li){return l(i,Li)},function(Li){return l(x,Li)},n,In),l(T(n),By1);case 14:l(T(n),Ly1);var Tn=m[1];return re(Js0[1],function(Li){return l(i,Li)},function(Li){return l(x,Li)},n,Tn),l(T(n),My1);case 15:l(T(n),Ry1);var ix=m[1];return re(eu0[1],function(Li){return l(i,Li)},function(Li){return l(x,Li)},n,ix),l(T(n),jy1);case 16:l(T(n),Uy1);var Nr=m[1];return re(G10[2],function(Li){return l(i,Li)},function(Li){return l(x,Li)},n,Nr),l(T(n),Vy1);case 17:l(T(n),$y1);var Mx=m[1];return re(Y10[1],function(Li){return l(i,Li)},function(Li){return l(x,Li)},n,Mx),l(T(n),Ky1);case 18:l(T(n),zy1);var ko=m[1];return re(As0[1],function(Li){return l(i,Li)},function(Li){return l(x,Li)},n,ko),l(T(n),Wy1);case 19:l(T(n),qy1);var iu=m[1];return re(ru0[1],function(Li){return l(i,Li)},function(Li){return l(x,Li)},n,iu),l(T(n),Jy1);case 20:l(T(n),Hy1);var Mi=m[1];return re(iu0[1],function(Li){return l(i,Li)},function(Li){return l(x,Li)},n,Mi),l(T(n),Gy1);case 21:l(T(n),Xy1);var Bc=m[1];return re(Ys0[1],function(Li){return l(i,Li)},function(Li){return l(x,Li)},n,Bc),l(T(n),Yy1);case 22:l(T(n),Qy1);var ku=m[1];return re(Zs0[1],function(Li){return l(i,Li)},function(Li){return l(x,Li)},n,ku),l(T(n),Zy1);case 23:l(T(n),xD1);var Kx=m[1];return zr(kK[1],function(Li){return l(i,Li)},n,Kx),l(T(n),eD1);case 24:l(T(n),tD1);var ic=m[1];return zr(T10[1],function(Li){return l(i,Li)},n,ic),l(T(n),rD1);case 25:l(T(n),nD1);var Br=m[1];return zr(Ko0[1],function(Li){return l(i,Li)},n,Br),l(T(n),iD1);default:l(T(n),aD1);var Dt=m[1];return zr(w10[1],function(Li){return l(i,Li)},n,Dt),l(T(n),oD1)}}),Ce(ou0,function(i,x,n){var m=z(AG,i,x);return z(Fi(g_1),m,n)}),Ce(px0,function(i,x,n,m){l(T(n),d_1),z(i,n,m[1]),l(T(n),m_1);var L=m[2];return re(FG,function(v){return l(i,v)},function(v){return l(x,v)},n,L),l(T(n),h_1)}),Ce(su0,function(i,x,n){var m=z(px0,i,x);return z(Fi(p_1),m,n)}),Ce(dx0,function(i,x,n,m){if(m[0]===0)return l(T(n),u_1),z(x,n,m[1]),l(T(n),c_1);l(T(n),l_1);var L=m[1];return re(GC[17],function(v){return l(i,v)},function(v){return l(x,v)},n,L),l(T(n),f_1)}),Ce(uu0,function(i,x,n){var m=z(dx0,i,x);return z(Fi(s_1),m,n)});var mx0=function i(x,n,m,L){return i.fun(x,n,m,L)},cu0=function i(x,n,m){return i.fun(x,n,m)},TG=function i(x,n,m,L){return i.fun(x,n,m,L)},lu0=function i(x,n,m){return i.fun(x,n,m)};Ce(mx0,function(i,x,n,m){l(T(n),i_1),z(i,n,m[1]),l(T(n),a_1);var L=m[2];return re(TG,function(v){return l(i,v)},function(v){return l(x,v)},n,L),l(T(n),o_1)}),Ce(cu0,function(i,x,n){var m=z(mx0,i,x);return z(Fi(n_1),m,n)}),Ce(TG,function(i,x,n,m){l(T(n),Bg1),z(T(n),Mg1,Lg1);var L=m[1];re(n4[1],function(Ie){return l(i,Ie)},function(Ie){return l(i,Ie)},n,L),l(T(n),Rg1),l(T(n),jg1),z(T(n),Vg1,Ug1);var v=m[2];re(GC[19],function(Ie){return l(i,Ie)},function(Ie){return l(x,Ie)},n,v),l(T(n),$g1),l(T(n),Kg1),z(T(n),Wg1,zg1);var a0=m[3];if(a0){te(n,qg1);var O1=a0[1];zr(Uz[1],function(Ie){return l(i,Ie)},n,O1),te(n,Jg1)}else te(n,Hg1);l(T(n),Gg1),l(T(n),Xg1),z(T(n),Qg1,Yg1);var dx=m[4];if(dx){te(n,Zg1);var ie=dx[1];re(GC[13],function(Ie){return l(i,Ie)},function(Ie){return l(x,Ie)},n,ie),te(n,x_1)}else te(n,e_1);return l(T(n),t_1),l(T(n),r_1)}),Ce(lu0,function(i,x,n){var m=z(TG,i,x);return z(Fi(Og1),m,n)});var fu0=[0,mx0,cu0,TG,lu0],hx0=function i(x,n,m,L){return i.fun(x,n,m,L)},pu0=function i(x,n,m){return i.fun(x,n,m)},wG=function i(x,n,m,L){return i.fun(x,n,m,L)},du0=function i(x,n,m){return i.fun(x,n,m)};Ce(hx0,function(i,x,n,m){l(T(n),Ng1),z(i,n,m[1]),l(T(n),Pg1);var L=m[2];return re(wG,function(v){return l(i,v)},function(v){return l(x,v)},n,L),l(T(n),Ig1)}),Ce(pu0,function(i,x,n){var m=z(hx0,i,x);return z(Fi(kg1),m,n)}),Ce(wG,function(i,x,n,m){l(T(n),hg1),z(T(n),_g1,gg1);var L=m[1];l(T(n),yg1),U2(function(O1,dx){return O1&&l(T(n),mg1),re(fu0[1],function(ie){return l(i,ie)},function(ie){return l(x,ie)},n,dx),1},0,L),l(T(n),Dg1),l(T(n),vg1),l(T(n),bg1),z(T(n),Eg1,Cg1);var v=m[2];if(v){te(n,Sg1);var a0=v[1];re(Du[1],function(O1){return l(i,O1)},function(O1,dx){return l(T(O1),pg1),U2(function(ie,Ie){return ie&&l(T(O1),fg1),zr(xP[1],function(Ot){return l(i,Ot)},O1,Ie),1},0,dx),l(T(O1),dg1)},n,a0),te(n,Fg1)}else te(n,Ag1);return l(T(n),Tg1),l(T(n),wg1)}),Ce(du0,function(i,x,n){var m=z(wG,i,x);return z(Fi(lg1),m,n)});var gx0=function i(x,n,m,L){return i.fun(x,n,m,L)},mu0=function i(x,n,m){return i.fun(x,n,m)},kG=function i(x,n,m,L){return i.fun(x,n,m,L)},hu0=function i(x,n,m){return i.fun(x,n,m)},C2x=[0,hx0,pu0,wG,du0];Ce(gx0,function(i,x,n,m){l(T(n),sg1),z(i,n,m[1]),l(T(n),ug1);var L=m[2];return re(kG,function(v){return l(i,v)},function(v){return l(x,v)},n,L),l(T(n),cg1)}),Ce(mu0,function(i,x,n){var m=z(gx0,i,x);return z(Fi(og1),m,n)}),Ce(kG,function(i,x,n,m){l(T(n),Jh1),z(T(n),Gh1,Hh1);var L=m[1];l(T(n),Xh1),U2(function(O1,dx){return O1&&l(T(n),qh1),re(GC[13],function(ie){return l(i,ie)},function(ie){return l(x,ie)},n,dx),1},0,L),l(T(n),Yh1),l(T(n),Qh1),l(T(n),Zh1),z(T(n),eg1,xg1);var v=m[2];if(v){te(n,tg1);var a0=v[1];re(Du[1],function(O1){return l(i,O1)},function(O1,dx){return l(T(O1),zh1),U2(function(ie,Ie){return ie&&l(T(O1),Kh1),zr(xP[1],function(Ot){return l(i,Ot)},O1,Ie),1},0,dx),l(T(O1),Wh1)},n,a0),te(n,rg1)}else te(n,ng1);return l(T(n),ig1),l(T(n),ag1)}),Ce(hu0,function(i,x,n){var m=z(kG,i,x);return z(Fi($h1),m,n)});var _x0=function i(x,n,m,L){return i.fun(x,n,m,L)},gu0=function i(x,n,m){return i.fun(x,n,m)},NG=function i(x,n,m,L){return i.fun(x,n,m,L)},_u0=function i(x,n,m){return i.fun(x,n,m)},PG=function i(x,n,m,L){return i.fun(x,n,m,L)},yu0=function i(x,n,m){return i.fun(x,n,m)},E2x=[0,gx0,mu0,kG,hu0];Ce(_x0,function(i,x,n,m){l(T(n),jh1),z(i,n,m[1]),l(T(n),Uh1);var L=m[2];return re(NG,function(v){return l(i,v)},function(v){return l(x,v)},n,L),l(T(n),Vh1)}),Ce(gu0,function(i,x,n){var m=z(_x0,i,x);return z(Fi(Rh1),m,n)}),Ce(NG,function(i,x,n,m){l(T(n),Fh1),z(T(n),Th1,Ah1);var L=m[1];re(PG,function(O1){return l(i,O1)},function(O1){return l(x,O1)},n,L),l(T(n),wh1),l(T(n),kh1),z(T(n),Ph1,Nh1);var v=m[2];if(v){te(n,Ih1);var a0=v[1];re(Du[1],function(O1){return l(i,O1)},function(O1,dx){return te(O1,Sh1)},n,a0),te(n,Oh1)}else te(n,Bh1);return l(T(n),Lh1),l(T(n),Mh1)}),Ce(_u0,function(i,x,n){var m=z(NG,i,x);return z(Fi(Eh1),m,n)}),Ce(PG,function(i,x,n,m){if(m){l(T(n),vh1);var L=m[1];return re(Ny[31],function(v){return l(i,v)},function(v){return l(x,v)},n,L),l(T(n),bh1)}return te(n,Ch1)}),Ce(yu0,function(i,x,n){var m=z(PG,i,x);return z(Fi(Dh1),m,n)}),zr(S9,dw1,GC,[0,Mq,G10,Y10,As0,ix0,Js0,Gs0,Ys0,Zs0,eu0,ru0,iu0,FG,au0,AG,ou0,px0,su0,dx0,uu0,fu0,C2x,E2x,[0,_x0,gu0,NG,_u0,PG,yu0]]);var yx0=function i(x,n,m,L){return i.fun(x,n,m,L)},Du0=function i(x,n,m){return i.fun(x,n,m)};Ce(yx0,function(i,x,n,m){l(T(n),ah1),z(T(n),sh1,oh1);var L=m[1];l(T(n),uh1),U2(function(O1,dx){return O1&&l(T(n),ih1),re(ZN[35],function(ie){return l(i,ie)},function(ie){return l(x,ie)},n,dx),1},0,L),l(T(n),ch1),l(T(n),lh1),l(T(n),fh1),z(T(n),dh1,ph1);var v=m[2];if(v){te(n,mh1);var a0=v[1];re(Du[1],function(O1){return l(i,O1)},function(O1,dx){return l(T(O1),rh1),U2(function(ie,Ie){return ie&&l(T(O1),th1),zr(xP[1],function(Ot){return l(i,Ot)},O1,Ie),1},0,dx),l(T(O1),nh1)},n,a0),te(n,hh1)}else te(n,gh1);return l(T(n),_h1),l(T(n),yh1)}),Ce(Du0,function(i,x,n){var m=z(yx0,i,x);return z(Fi(eh1),m,n)});var Vz=[0,yx0,Du0],Dx0=function i(x,n,m,L){return i.fun(x,n,m,L)},vu0=function i(x,n,m){return i.fun(x,n,m)},IG=function i(x,n,m,L){return i.fun(x,n,m,L)},bu0=function i(x,n,m){return i.fun(x,n,m)};Ce(Dx0,function(i,x,n,m){l(T(n),Qm1),z(i,n,m[1]),l(T(n),Zm1);var L=m[2];return re(IG,function(v){return l(i,v)},function(v){return l(x,v)},n,L),l(T(n),xh1)}),Ce(vu0,function(i,x,n){var m=z(Dx0,i,x);return z(Fi(Ym1),m,n)}),Ce(IG,function(i,x,n,m){l(T(n),jm1),z(T(n),Vm1,Um1);var L=m[1];re(ZN[35],function(O1){return l(i,O1)},function(O1){return l(x,O1)},n,L),l(T(n),$m1),l(T(n),Km1),z(T(n),Wm1,zm1);var v=m[2];if(v){te(n,qm1);var a0=v[1];re(Du[1],function(O1){return l(i,O1)},function(O1,dx){return te(O1,Rm1)},n,a0),te(n,Jm1)}else te(n,Hm1);return l(T(n),Gm1),l(T(n),Xm1)}),Ce(bu0,function(i,x,n){var m=z(IG,i,x);return z(Fi(Mm1),m,n)});var Cu0=[0,Dx0,vu0,IG,bu0],vx0=function i(x,n,m,L){return i.fun(x,n,m,L)},Eu0=function i(x,n,m){return i.fun(x,n,m)};Ce(vx0,function(i,x,n,m){l(T(n),dm1),z(T(n),hm1,mm1);var L=m[1];re(Ny[31],function(Ie){return l(i,Ie)},function(Ie){return l(x,Ie)},n,L),l(T(n),gm1),l(T(n),_m1),z(T(n),Dm1,ym1);var v=m[2];re(ZN[35],function(Ie){return l(i,Ie)},function(Ie){return l(x,Ie)},n,v),l(T(n),vm1),l(T(n),bm1),z(T(n),Em1,Cm1);var a0=m[3];if(a0){te(n,Sm1);var O1=a0[1];re(Cu0[1],function(Ie){return l(i,Ie)},function(Ie){return l(x,Ie)},n,O1),te(n,Fm1)}else te(n,Am1);l(T(n),Tm1),l(T(n),wm1),z(T(n),Nm1,km1);var dx=m[4];if(dx){te(n,Pm1);var ie=dx[1];re(Du[1],function(Ie){return l(i,Ie)},function(Ie,Ot){return te(Ie,pm1)},n,ie),te(n,Im1)}else te(n,Om1);return l(T(n),Bm1),l(T(n),Lm1)}),Ce(Eu0,function(i,x,n){var m=z(vx0,i,x);return z(Fi(fm1),m,n)});var Su0=[0,Cu0,vx0,Eu0],bx0=function i(x,n,m,L){return i.fun(x,n,m,L)},Fu0=function i(x,n,m){return i.fun(x,n,m)};Ce(bx0,function(i,x,n,m){l(T(n),X21),z(T(n),Q21,Y21);var L=m[1];re(n4[1],function(dx){return l(i,dx)},function(dx){return l(i,dx)},n,L),l(T(n),Z21),l(T(n),xm1),z(T(n),tm1,em1);var v=m[2];re(ZN[35],function(dx){return l(i,dx)},function(dx){return l(x,dx)},n,v),l(T(n),rm1),l(T(n),nm1),z(T(n),am1,im1);var a0=m[3];if(a0){te(n,om1);var O1=a0[1];re(Du[1],function(dx){return l(i,dx)},function(dx,ie){return te(dx,G21)},n,O1),te(n,sm1)}else te(n,um1);return l(T(n),cm1),l(T(n),lm1)}),Ce(Fu0,function(i,x,n){var m=z(bx0,i,x);return z(Fi(H21),m,n)});var Au0=[0,bx0,Fu0],Cx0=function i(x,n,m){return i.fun(x,n,m)},Tu0=function i(x,n){return i.fun(x,n)};Ce(Cx0,function(i,x,n){l(T(x),I21),z(T(x),B21,O21);var m=n[1];if(m){te(x,L21);var L=m[1];re(n4[1],function(O1){return l(i,O1)},function(O1){return l(i,O1)},x,L),te(x,M21)}else te(x,R21);l(T(x),j21),l(T(x),U21),z(T(x),$21,V21);var v=n[2];if(v){te(x,K21);var a0=v[1];re(Du[1],function(O1){return l(i,O1)},function(O1,dx){return te(O1,P21)},x,a0),te(x,z21)}else te(x,W21);return l(T(x),q21),l(T(x),J21)}),Ce(Tu0,function(i,x){var n=l(Cx0,i);return z(Fi(N21),n,x)});var wu0=[0,Cx0,Tu0],Ex0=function i(x,n,m){return i.fun(x,n,m)},ku0=function i(x,n){return i.fun(x,n)};Ce(Ex0,function(i,x,n){l(T(x),h21),z(T(x),_21,g21);var m=n[1];if(m){te(x,y21);var L=m[1];re(n4[1],function(O1){return l(i,O1)},function(O1){return l(i,O1)},x,L),te(x,D21)}else te(x,v21);l(T(x),b21),l(T(x),C21),z(T(x),S21,E21);var v=n[2];if(v){te(x,F21);var a0=v[1];re(Du[1],function(O1){return l(i,O1)},function(O1,dx){return te(O1,m21)},x,a0),te(x,A21)}else te(x,T21);return l(T(x),w21),l(T(x),k21)}),Ce(ku0,function(i,x){var n=l(Ex0,i);return z(Fi(d21),n,x)});var Nu0=[0,Ex0,ku0],Sx0=function i(x,n,m){return i.fun(x,n,m)},Pu0=function i(x,n){return i.fun(x,n)};Ce(Sx0,function(i,x,n){l(T(x),a21),z(T(x),s21,o21);var m=n[1];if(m){te(x,u21);var L=m[1];re(Du[1],function(v){return l(i,v)},function(v,a0){return te(v,i21)},x,L),te(x,c21)}else te(x,l21);return l(T(x),f21),l(T(x),p21)}),Ce(Pu0,function(i,x){var n=l(Sx0,i);return z(Fi(n21),n,x)});var Iu0=[0,Sx0,Pu0],Fx0=function i(x,n,m,L){return i.fun(x,n,m,L)},Ou0=function i(x,n,m){return i.fun(x,n,m)};Ce(Fx0,function(i,x,n,m){l(T(n),$d1),z(T(n),zd1,Kd1);var L=m[1];re(Ny[31],function(dx){return l(i,dx)},function(dx){return l(x,dx)},n,L),l(T(n),Wd1),l(T(n),qd1),z(T(n),Hd1,Jd1);var v=m[2];re(ZN[35],function(dx){return l(i,dx)},function(dx){return l(x,dx)},n,v),l(T(n),Gd1),l(T(n),Xd1),z(T(n),Qd1,Yd1);var a0=m[3];if(a0){te(n,Zd1);var O1=a0[1];re(Du[1],function(dx){return l(i,dx)},function(dx,ie){return te(dx,Vd1)},n,O1),te(n,x21)}else te(n,e21);return l(T(n),t21),l(T(n),r21)}),Ce(Ou0,function(i,x,n){var m=z(Fx0,i,x);return z(Fi(Ud1),m,n)});var Bu0=[0,Fx0,Ou0],Ax0=function i(x,n,m,L){return i.fun(x,n,m,L)},Lu0=function i(x,n,m){return i.fun(x,n,m)};Ce(Ax0,function(i,x,n,m){l(T(n),gd1),z(T(n),yd1,_d1);var L=m[1];re(n4[1],function(Ie){return l(i,Ie)},function(Ie){return l(x,Ie)},n,L),l(T(n),Dd1),l(T(n),vd1),z(T(n),Cd1,bd1);var v=m[2];if(v){te(n,Ed1);var a0=v[1];re(GC[22][1],function(Ie){return l(i,Ie)},function(Ie){return l(x,Ie)},n,a0),te(n,Sd1)}else te(n,Fd1);l(T(n),Ad1),l(T(n),Td1),z(T(n),kd1,wd1);var O1=m[3];re(GC[13],function(Ie){return l(i,Ie)},function(Ie){return l(x,Ie)},n,O1),l(T(n),Nd1),l(T(n),Pd1),z(T(n),Od1,Id1);var dx=m[4];if(dx){te(n,Bd1);var ie=dx[1];re(Du[1],function(Ie){return l(i,Ie)},function(Ie,Ot){return te(Ie,hd1)},n,ie),te(n,Ld1)}else te(n,Md1);return l(T(n),Rd1),l(T(n),jd1)}),Ce(Lu0,function(i,x,n){var m=z(Ax0,i,x);return z(Fi(md1),m,n)});var OG=[0,Ax0,Lu0],Tx0=function i(x,n,m,L){return i.fun(x,n,m,L)},Mu0=function i(x,n,m){return i.fun(x,n,m)};Ce(Tx0,function(i,x,n,m){l(T(n),Lp1),z(T(n),Rp1,Mp1);var L=m[1];re(n4[1],function(Cr){return l(i,Cr)},function(Cr){return l(x,Cr)},n,L),l(T(n),jp1),l(T(n),Up1),z(T(n),$p1,Vp1);var v=m[2];if(v){te(n,Kp1);var a0=v[1];re(GC[22][1],function(Cr){return l(i,Cr)},function(Cr){return l(x,Cr)},n,a0),te(n,zp1)}else te(n,Wp1);l(T(n),qp1),l(T(n),Jp1),z(T(n),Gp1,Hp1);var O1=m[3];if(O1){te(n,Xp1);var dx=O1[1];re(GC[13],function(Cr){return l(i,Cr)},function(Cr){return l(x,Cr)},n,dx),te(n,Yp1)}else te(n,Qp1);l(T(n),Zp1),l(T(n),xd1),z(T(n),td1,ed1);var ie=m[4];if(ie){te(n,rd1);var Ie=ie[1];re(GC[13],function(Cr){return l(i,Cr)},function(Cr){return l(x,Cr)},n,Ie),te(n,nd1)}else te(n,id1);l(T(n),ad1),l(T(n),od1),z(T(n),ud1,sd1);var Ot=m[5];if(Ot){te(n,cd1);var Or=Ot[1];re(Du[1],function(Cr){return l(i,Cr)},function(Cr,ni){return te(Cr,Bp1)},n,Or),te(n,ld1)}else te(n,fd1);return l(T(n),pd1),l(T(n),dd1)}),Ce(Mu0,function(i,x,n){var m=z(Tx0,i,x);return z(Fi(Op1),m,n)});var BG=[0,Tx0,Mu0],wx0=function i(x,n,m,L){return i.fun(x,n,m,L)},Ru0=function i(x,n,m){return i.fun(x,n,m)},LG=function i(x,n,m,L){return i.fun(x,n,m,L)},ju0=function i(x,n,m){return i.fun(x,n,m)};Ce(wx0,function(i,x,n,m){l(T(n),Np1),z(i,n,m[1]),l(T(n),Pp1);var L=m[2];return re(LG,function(v){return l(i,v)},function(v){return l(x,v)},n,L),l(T(n),Ip1)}),Ce(Ru0,function(i,x,n){var m=z(wx0,i,x);return z(Fi(kp1),m,n)}),Ce(LG,function(i,x,n,m){l(T(n),up1),z(T(n),lp1,cp1);var L=m[1];if(L){te(n,fp1);var v=L[1];re(Ny[31],function(ie){return l(i,ie)},function(ie){return l(x,ie)},n,v),te(n,pp1)}else te(n,dp1);l(T(n),mp1),l(T(n),hp1),z(T(n),_p1,gp1);var a0=m[2];l(T(n),yp1),U2(function(ie,Ie){return ie&&l(T(n),sp1),re(ZN[35],function(Ot){return l(i,Ot)},function(Ot){return l(x,Ot)},n,Ie),1},0,a0),l(T(n),Dp1),l(T(n),vp1),l(T(n),bp1),z(T(n),Ep1,Cp1);var O1=m[3];if(O1){te(n,Sp1);var dx=O1[1];re(Du[1],function(ie){return l(i,ie)},function(ie,Ie){return te(ie,op1)},n,dx),te(n,Fp1)}else te(n,Ap1);return l(T(n),Tp1),l(T(n),wp1)}),Ce(ju0,function(i,x,n){var m=z(LG,i,x);return z(Fi(ap1),m,n)});var Uu0=[0,wx0,Ru0,LG,ju0],kx0=function i(x,n,m,L){return i.fun(x,n,m,L)},Vu0=function i(x,n,m){return i.fun(x,n,m)};Ce(kx0,function(i,x,n,m){l(T(n),$f1),z(T(n),zf1,Kf1);var L=m[1];re(Ny[31],function(dx){return l(i,dx)},function(dx){return l(x,dx)},n,L),l(T(n),Wf1),l(T(n),qf1),z(T(n),Hf1,Jf1);var v=m[2];l(T(n),Gf1),U2(function(dx,ie){return dx&&l(T(n),Vf1),re(Uu0[1],function(Ie){return l(i,Ie)},function(Ie){return l(x,Ie)},n,ie),1},0,v),l(T(n),Xf1),l(T(n),Yf1),l(T(n),Qf1),z(T(n),xp1,Zf1);var a0=m[3];if(a0){te(n,ep1);var O1=a0[1];re(Du[1],function(dx){return l(i,dx)},function(dx,ie){return te(dx,Uf1)},n,O1),te(n,tp1)}else te(n,rp1);return l(T(n),np1),l(T(n),ip1)}),Ce(Vu0,function(i,x,n){var m=z(kx0,i,x);return z(Fi(jf1),m,n)});var $u0=[0,Uu0,kx0,Vu0],Nx0=function i(x,n,m,L){return i.fun(x,n,m,L)},Ku0=function i(x,n,m){return i.fun(x,n,m)};Ce(Nx0,function(i,x,n,m){l(T(n),Ef1),z(T(n),Ff1,Sf1);var L=m[1];if(L){te(n,Af1);var v=L[1];re(Ny[31],function(dx){return l(i,dx)},function(dx){return l(x,dx)},n,v),te(n,Tf1)}else te(n,wf1);l(T(n),kf1),l(T(n),Nf1),z(T(n),If1,Pf1);var a0=m[2];if(a0){te(n,Of1);var O1=a0[1];re(Du[1],function(dx){return l(i,dx)},function(dx,ie){return te(dx,Cf1)},n,O1),te(n,Bf1)}else te(n,Lf1);return l(T(n),Mf1),l(T(n),Rf1)}),Ce(Ku0,function(i,x,n){var m=z(Nx0,i,x);return z(Fi(bf1),m,n)});var zu0=[0,Nx0,Ku0],Px0=function i(x,n,m,L){return i.fun(x,n,m,L)},Wu0=function i(x,n,m){return i.fun(x,n,m)};Ce(Px0,function(i,x,n,m){l(T(n),cf1),z(T(n),ff1,lf1);var L=m[1];re(Ny[31],function(O1){return l(i,O1)},function(O1){return l(x,O1)},n,L),l(T(n),pf1),l(T(n),df1),z(T(n),hf1,mf1);var v=m[2];if(v){te(n,gf1);var a0=v[1];re(Du[1],function(O1){return l(i,O1)},function(O1,dx){return te(O1,uf1)},n,a0),te(n,_f1)}else te(n,yf1);return l(T(n),Df1),l(T(n),vf1)}),Ce(Wu0,function(i,x,n){var m=z(Px0,i,x);return z(Fi(sf1),m,n)});var qu0=[0,Px0,Wu0],Ix0=function i(x,n,m,L){return i.fun(x,n,m,L)},Ju0=function i(x,n,m){return i.fun(x,n,m)},MG=function i(x,n,m,L){return i.fun(x,n,m,L)},Hu0=function i(x,n,m){return i.fun(x,n,m)};Ce(Ix0,function(i,x,n,m){l(T(n),if1),z(i,n,m[1]),l(T(n),af1);var L=m[2];return re(MG,function(v){return l(i,v)},function(v){return l(x,v)},n,L),l(T(n),of1)}),Ce(Ju0,function(i,x,n){var m=z(Ix0,i,x);return z(Fi(nf1),m,n)}),Ce(MG,function(i,x,n,m){l(T(n),Ll1),z(T(n),Rl1,Ml1);var L=m[1];if(L){te(n,jl1);var v=L[1];re(EL[5],function(Ie){return l(i,Ie)},function(Ie){return l(x,Ie)},n,v),te(n,Ul1)}else te(n,Vl1);l(T(n),$l1),l(T(n),Kl1),z(T(n),Wl1,zl1);var a0=m[2];l(T(n),ql1),z(i,n,a0[1]),l(T(n),Jl1);var O1=a0[2];re(Vz[1],function(Ie){return l(i,Ie)},function(Ie){return l(x,Ie)},n,O1),l(T(n),Hl1),l(T(n),Gl1),l(T(n),Xl1),z(T(n),Ql1,Yl1);var dx=m[3];if(dx){te(n,Zl1);var ie=dx[1];re(Du[1],function(Ie){return l(i,Ie)},function(Ie,Ot){return te(Ie,Bl1)},n,ie),te(n,xf1)}else te(n,ef1);return l(T(n),tf1),l(T(n),rf1)}),Ce(Hu0,function(i,x,n){var m=z(MG,i,x);return z(Fi(Ol1),m,n)});var Gu0=[0,Ix0,Ju0,MG,Hu0],Ox0=function i(x,n,m,L){return i.fun(x,n,m,L)},Xu0=function i(x,n,m){return i.fun(x,n,m)};Ce(Ox0,function(i,x,n,m){l(T(n),tl1),z(T(n),nl1,rl1);var L=m[1];l(T(n),il1),z(i,n,L[1]),l(T(n),al1);var v=L[2];re(Vz[1],function(Cr){return l(i,Cr)},function(Cr){return l(x,Cr)},n,v),l(T(n),ol1),l(T(n),sl1),l(T(n),ul1),z(T(n),ll1,cl1);var a0=m[2];if(a0){te(n,fl1);var O1=a0[1];re(Gu0[1],function(Cr){return l(i,Cr)},function(Cr){return l(x,Cr)},n,O1),te(n,pl1)}else te(n,dl1);l(T(n),ml1),l(T(n),hl1),z(T(n),_l1,gl1);var dx=m[3];if(dx){var ie=dx[1];te(n,yl1),l(T(n),Dl1),z(i,n,ie[1]),l(T(n),vl1);var Ie=ie[2];re(Vz[1],function(Cr){return l(i,Cr)},function(Cr){return l(x,Cr)},n,Ie),l(T(n),bl1),te(n,Cl1)}else te(n,El1);l(T(n),Sl1),l(T(n),Fl1),z(T(n),Tl1,Al1);var Ot=m[4];if(Ot){te(n,wl1);var Or=Ot[1];re(Du[1],function(Cr){return l(i,Cr)},function(Cr,ni){return te(Cr,el1)},n,Or),te(n,kl1)}else te(n,Nl1);return l(T(n),Pl1),l(T(n),Il1)}),Ce(Xu0,function(i,x,n){var m=z(Ox0,i,x);return z(Fi(xl1),m,n)});var Yu0=[0,Gu0,Ox0,Xu0],Bx0=function i(x,n,m,L){return i.fun(x,n,m,L)},Qu0=function i(x,n,m){return i.fun(x,n,m)},RG=function i(x,n,m,L){return i.fun(x,n,m,L)},Zu0=function i(x,n,m){return i.fun(x,n,m)};Ce(Bx0,function(i,x,n,m){l(T(n),Yc1),z(i,n,m[1]),l(T(n),Qc1);var L=m[2];return re(RG,function(v){return l(i,v)},function(v){return l(x,v)},n,L),l(T(n),Zc1)}),Ce(Qu0,function(i,x,n){var m=z(Bx0,i,x);return z(Fi(Xc1),m,n)}),Ce(RG,function(i,x,n,m){l(T(n),Rc1),z(T(n),Uc1,jc1);var L=m[1];re(EL[5],function(O1){return l(i,O1)},function(O1){return l(x,O1)},n,L),l(T(n),Vc1),l(T(n),$c1),z(T(n),zc1,Kc1);var v=m[2];if(v){te(n,Wc1);var a0=v[1];re(Ny[31],function(O1){return l(i,O1)},function(O1){return l(x,O1)},n,a0),te(n,qc1)}else te(n,Jc1);return l(T(n),Hc1),l(T(n),Gc1)}),Ce(Zu0,function(i,x,n){var m=z(RG,i,x);return z(Fi(Mc1),m,n)});var xc0=[0,Bx0,Qu0,RG,Zu0],Lx0=function i(x,n,m,L){return i.fun(x,n,m,L)},ec0=function i(x,n,m){return i.fun(x,n,m)},jG=function i(x,n){return i.fun(x,n)},tc0=function i(x){return i.fun(x)};Ce(Lx0,function(i,x,n,m){l(T(n),yc1),z(T(n),vc1,Dc1);var L=m[1];l(T(n),bc1),U2(function(O1,dx){return O1&&l(T(n),_c1),re(xc0[1],function(ie){return l(i,ie)},function(ie){return l(x,ie)},n,dx),1},0,L),l(T(n),Cc1),l(T(n),Ec1),l(T(n),Sc1),z(T(n),Ac1,Fc1),z(jG,n,m[2]),l(T(n),Tc1),l(T(n),wc1),z(T(n),Nc1,kc1);var v=m[3];if(v){te(n,Pc1);var a0=v[1];re(Du[1],function(O1){return l(i,O1)},function(O1,dx){return te(O1,gc1)},n,a0),te(n,Ic1)}else te(n,Oc1);return l(T(n),Bc1),l(T(n),Lc1)}),Ce(ec0,function(i,x,n){var m=z(Lx0,i,x);return z(Fi(hc1),m,n)}),Ce(jG,function(i,x){switch(x){case 0:return te(i,pc1);case 1:return te(i,dc1);default:return te(i,mc1)}}),Ce(tc0,function(i){return z(Fi(fc1),jG,i)});var Rq=[0,xc0,Lx0,ec0,jG,tc0],Mx0=function i(x,n,m,L){return i.fun(x,n,m,L)},rc0=function i(x,n,m){return i.fun(x,n,m)};Ce(Mx0,function(i,x,n,m){l(T(n),Xu1),z(T(n),Qu1,Yu1);var L=m[1];re(Ny[31],function(dx){return l(i,dx)},function(dx){return l(x,dx)},n,L),l(T(n),Zu1),l(T(n),xc1),z(T(n),tc1,ec1);var v=m[2];re(ZN[35],function(dx){return l(i,dx)},function(dx){return l(x,dx)},n,v),l(T(n),rc1),l(T(n),nc1),z(T(n),ac1,ic1);var a0=m[3];if(a0){te(n,oc1);var O1=a0[1];re(Du[1],function(dx){return l(i,dx)},function(dx,ie){return te(dx,Gu1)},n,O1),te(n,sc1)}else te(n,uc1);return l(T(n),cc1),l(T(n),lc1)}),Ce(rc0,function(i,x,n){var m=z(Mx0,i,x);return z(Fi(Hu1),m,n)});var nc0=[0,Mx0,rc0],Rx0=function i(x,n,m,L){return i.fun(x,n,m,L)},ic0=function i(x,n,m){return i.fun(x,n,m)};Ce(Rx0,function(i,x,n,m){l(T(n),Pu1),z(T(n),Ou1,Iu1);var L=m[1];re(ZN[35],function(dx){return l(i,dx)},function(dx){return l(x,dx)},n,L),l(T(n),Bu1),l(T(n),Lu1),z(T(n),Ru1,Mu1);var v=m[2];re(Ny[31],function(dx){return l(i,dx)},function(dx){return l(x,dx)},n,v),l(T(n),ju1),l(T(n),Uu1),z(T(n),$u1,Vu1);var a0=m[3];if(a0){te(n,Ku1);var O1=a0[1];re(Du[1],function(dx){return l(i,dx)},function(dx,ie){return te(dx,Nu1)},n,O1),te(n,zu1)}else te(n,Wu1);return l(T(n),qu1),l(T(n),Ju1)}),Ce(ic0,function(i,x,n){var m=z(Rx0,i,x);return z(Fi(ku1),m,n)});var ac0=[0,Rx0,ic0],jx0=function i(x,n,m,L){return i.fun(x,n,m,L)},oc0=function i(x,n,m){return i.fun(x,n,m)},UG=function i(x,n,m,L){return i.fun(x,n,m,L)},sc0=function i(x,n,m){return i.fun(x,n,m)};Ce(jx0,function(i,x,n,m){l(T(n),Ys1),z(T(n),Zs1,Qs1);var L=m[1];if(L){te(n,xu1);var v=L[1];re(UG,function(Cr){return l(i,Cr)},function(Cr){return l(x,Cr)},n,v),te(n,eu1)}else te(n,tu1);l(T(n),ru1),l(T(n),nu1),z(T(n),au1,iu1);var a0=m[2];if(a0){te(n,ou1);var O1=a0[1];re(Ny[31],function(Cr){return l(i,Cr)},function(Cr){return l(x,Cr)},n,O1),te(n,su1)}else te(n,uu1);l(T(n),cu1),l(T(n),lu1),z(T(n),pu1,fu1);var dx=m[3];if(dx){te(n,du1);var ie=dx[1];re(Ny[31],function(Cr){return l(i,Cr)},function(Cr){return l(x,Cr)},n,ie),te(n,mu1)}else te(n,hu1);l(T(n),gu1),l(T(n),_u1),z(T(n),Du1,yu1);var Ie=m[4];re(ZN[35],function(Cr){return l(i,Cr)},function(Cr){return l(x,Cr)},n,Ie),l(T(n),vu1),l(T(n),bu1),z(T(n),Eu1,Cu1);var Ot=m[5];if(Ot){te(n,Su1);var Or=Ot[1];re(Du[1],function(Cr){return l(i,Cr)},function(Cr,ni){return te(Cr,Xs1)},n,Or),te(n,Fu1)}else te(n,Au1);return l(T(n),Tu1),l(T(n),wu1)}),Ce(oc0,function(i,x,n){var m=z(jx0,i,x);return z(Fi(Gs1),m,n)}),Ce(UG,function(i,x,n,m){if(m[0]===0){var L=m[1];l(T(n),$s1),l(T(n),Ks1),z(i,n,L[1]),l(T(n),zs1);var v=L[2];return re(Rq[2],function(O1){return l(i,O1)},function(O1){return l(x,O1)},n,v),l(T(n),Ws1),l(T(n),qs1)}l(T(n),Js1);var a0=m[1];return re(Ny[31],function(O1){return l(i,O1)},function(O1){return l(x,O1)},n,a0),l(T(n),Hs1)}),Ce(sc0,function(i,x,n){var m=z(UG,i,x);return z(Fi(Vs1),m,n)});var uc0=[0,jx0,oc0,UG,sc0],Ux0=function i(x,n,m,L){return i.fun(x,n,m,L)},cc0=function i(x,n,m){return i.fun(x,n,m)},VG=function i(x,n,m,L){return i.fun(x,n,m,L)},lc0=function i(x,n,m){return i.fun(x,n,m)};Ce(Ux0,function(i,x,n,m){l(T(n),hs1),z(T(n),_s1,gs1);var L=m[1];re(VG,function(Ie){return l(i,Ie)},function(Ie){return l(x,Ie)},n,L),l(T(n),ys1),l(T(n),Ds1),z(T(n),bs1,vs1);var v=m[2];re(Ny[31],function(Ie){return l(i,Ie)},function(Ie){return l(x,Ie)},n,v),l(T(n),Cs1),l(T(n),Es1),z(T(n),Fs1,Ss1);var a0=m[3];re(ZN[35],function(Ie){return l(i,Ie)},function(Ie){return l(x,Ie)},n,a0),l(T(n),As1),l(T(n),Ts1),z(T(n),ks1,ws1);var O1=m[4];z(T(n),Ns1,O1),l(T(n),Ps1),l(T(n),Is1),z(T(n),Bs1,Os1);var dx=m[5];if(dx){te(n,Ls1);var ie=dx[1];re(Du[1],function(Ie){return l(i,Ie)},function(Ie,Ot){return te(Ie,ms1)},n,ie),te(n,Ms1)}else te(n,Rs1);return l(T(n),js1),l(T(n),Us1)}),Ce(cc0,function(i,x,n){var m=z(Ux0,i,x);return z(Fi(ds1),m,n)}),Ce(VG,function(i,x,n,m){if(m[0]===0){var L=m[1];l(T(n),os1),l(T(n),ss1),z(i,n,L[1]),l(T(n),us1);var v=L[2];return re(Rq[2],function(O1){return l(i,O1)},function(O1){return l(x,O1)},n,v),l(T(n),cs1),l(T(n),ls1)}l(T(n),fs1);var a0=m[1];return re(EL[5],function(O1){return l(i,O1)},function(O1){return l(x,O1)},n,a0),l(T(n),ps1)}),Ce(lc0,function(i,x,n){var m=z(VG,i,x);return z(Fi(as1),m,n)});var fc0=[0,Ux0,cc0,VG,lc0],Vx0=function i(x,n,m,L){return i.fun(x,n,m,L)},pc0=function i(x,n,m){return i.fun(x,n,m)},$G=function i(x,n,m,L){return i.fun(x,n,m,L)},dc0=function i(x,n,m){return i.fun(x,n,m)};Ce(Vx0,function(i,x,n,m){l(T(n),Bo1),z(T(n),Mo1,Lo1);var L=m[1];re($G,function(Ie){return l(i,Ie)},function(Ie){return l(x,Ie)},n,L),l(T(n),Ro1),l(T(n),jo1),z(T(n),Vo1,Uo1);var v=m[2];re(Ny[31],function(Ie){return l(i,Ie)},function(Ie){return l(x,Ie)},n,v),l(T(n),$o1),l(T(n),Ko1),z(T(n),Wo1,zo1);var a0=m[3];re(ZN[35],function(Ie){return l(i,Ie)},function(Ie){return l(x,Ie)},n,a0),l(T(n),qo1),l(T(n),Jo1),z(T(n),Go1,Ho1);var O1=m[4];z(T(n),Xo1,O1),l(T(n),Yo1),l(T(n),Qo1),z(T(n),xs1,Zo1);var dx=m[5];if(dx){te(n,es1);var ie=dx[1];re(Du[1],function(Ie){return l(i,Ie)},function(Ie,Ot){return te(Ie,Oo1)},n,ie),te(n,ts1)}else te(n,rs1);return l(T(n),ns1),l(T(n),is1)}),Ce(pc0,function(i,x,n){var m=z(Vx0,i,x);return z(Fi(Io1),m,n)}),Ce($G,function(i,x,n,m){if(m[0]===0){var L=m[1];l(T(n),Fo1),l(T(n),Ao1),z(i,n,L[1]),l(T(n),To1);var v=L[2];return re(Rq[2],function(O1){return l(i,O1)},function(O1){return l(x,O1)},n,v),l(T(n),wo1),l(T(n),ko1)}l(T(n),No1);var a0=m[1];return re(EL[5],function(O1){return l(i,O1)},function(O1){return l(x,O1)},n,a0),l(T(n),Po1)}),Ce(dc0,function(i,x,n){var m=z($G,i,x);return z(Fi(So1),m,n)});var mc0=[0,Vx0,pc0,$G,dc0],$x0=function i(x,n,m){return i.fun(x,n,m)},hc0=function i(x,n){return i.fun(x,n)},KG=function i(x,n,m){return i.fun(x,n,m)},gc0=function i(x,n){return i.fun(x,n)};Ce($x0,function(i,x,n){l(T(x),bo1),z(i,x,n[1]),l(T(x),Co1);var m=n[2];return zr(KG,function(L){return l(i,L)},x,m),l(T(x),Eo1)}),Ce(hc0,function(i,x){var n=l($x0,i);return z(Fi(vo1),n,x)}),Ce(KG,function(i,x,n){l(T(x),ho1),z(T(x),_o1,go1);var m=n[1];return re(n4[1],function(L){return l(i,L)},function(L){return l(i,L)},x,m),l(T(x),yo1),l(T(x),Do1)}),Ce(gc0,function(i,x){var n=l(KG,i);return z(Fi(mo1),n,x)});var Kx0=[0,$x0,hc0,KG,gc0],zx0=function i(x,n,m,L){return i.fun(x,n,m,L)},_c0=function i(x,n,m){return i.fun(x,n,m)},zG=function i(x,n,m,L){return i.fun(x,n,m,L)},yc0=function i(x,n,m){return i.fun(x,n,m)};Ce(zx0,function(i,x,n,m){l(T(n),fo1),z(x,n,m[1]),l(T(n),po1);var L=m[2];return re(zG,function(v){return l(i,v)},function(v){return l(x,v)},n,L),l(T(n),do1)}),Ce(_c0,function(i,x,n){var m=z(zx0,i,x);return z(Fi(lo1),m,n)}),Ce(zG,function(i,x,n,m){l(T(n),Za1),z(T(n),eo1,xo1);var L=m[1];re(n4[1],function(a0){return l(x,a0)},function(a0){return l(x,a0)},n,L),l(T(n),to1),l(T(n),ro1),z(T(n),io1,no1);var v=m[2];return l(T(n),ao1),z(x,n,v[1]),l(T(n),oo1),z(i,n,v[2]),l(T(n),so1),l(T(n),uo1),l(T(n),co1)}),Ce(yc0,function(i,x,n){var m=z(zG,i,x);return z(Fi(Qa1),m,n)});var WG=[0,zx0,_c0,zG,yc0],Wx0=function i(x,n,m){return i.fun(x,n,m)},Dc0=function i(x,n){return i.fun(x,n)};Ce(Wx0,function(i,x,n){l(T(x),Ta1),z(T(x),ka1,wa1);var m=n[1];l(T(x),Na1),U2(function(dx,ie){return dx&&l(T(x),Aa1),re(WG[1],function(Ie){return z(w10[1],function(Ot){return l(i,Ot)},Ie)},function(Ie){return l(i,Ie)},x,ie),1},0,m),l(T(x),Pa1),l(T(x),Ia1),l(T(x),Oa1),z(T(x),La1,Ba1);var L=n[2];z(T(x),Ma1,L),l(T(x),Ra1),l(T(x),ja1),z(T(x),Va1,Ua1);var v=n[3];z(T(x),$a1,v),l(T(x),Ka1),l(T(x),za1),z(T(x),qa1,Wa1);var a0=n[4];if(a0){te(x,Ja1);var O1=a0[1];re(Du[1],function(dx){return l(i,dx)},function(dx,ie){return te(dx,Fa1)},x,O1),te(x,Ha1)}else te(x,Ga1);return l(T(x),Xa1),l(T(x),Ya1)}),Ce(Dc0,function(i,x){var n=l(Wx0,i);return z(Fi(Sa1),n,x)});var vc0=[0,Wx0,Dc0],qx0=function i(x,n,m){return i.fun(x,n,m)},bc0=function i(x,n){return i.fun(x,n)};Ce(qx0,function(i,x,n){l(T(x),ea1),z(T(x),ra1,ta1);var m=n[1];l(T(x),na1),U2(function(dx,ie){return dx&&l(T(x),xa1),re(WG[1],function(Ie){return z(T10[1],function(Ot){return l(i,Ot)},Ie)},function(Ie){return l(i,Ie)},x,ie),1},0,m),l(T(x),ia1),l(T(x),aa1),l(T(x),oa1),z(T(x),ua1,sa1);var L=n[2];z(T(x),ca1,L),l(T(x),la1),l(T(x),fa1),z(T(x),da1,pa1);var v=n[3];z(T(x),ma1,v),l(T(x),ha1),l(T(x),ga1),z(T(x),ya1,_a1);var a0=n[4];if(a0){te(x,Da1);var O1=a0[1];re(Du[1],function(dx){return l(i,dx)},function(dx,ie){return te(dx,Zi1)},x,O1),te(x,va1)}else te(x,ba1);return l(T(x),Ca1),l(T(x),Ea1)}),Ce(bc0,function(i,x){var n=l(qx0,i);return z(Fi(Qi1),n,x)});var Cc0=[0,qx0,bc0],Jx0=function i(x,n,m){return i.fun(x,n,m)},Ec0=function i(x,n){return i.fun(x,n)},qG=function i(x,n,m,L){return i.fun(x,n,m,L)},Sc0=function i(x,n,m){return i.fun(x,n,m)};Ce(Jx0,function(i,x,n){l(T(x),ki1),z(T(x),Pi1,Ni1);var m=n[1];re(qG,function(dx){return z(kK[1],function(ie){return l(i,ie)},dx)},function(dx){return l(i,dx)},x,m),l(T(x),Ii1),l(T(x),Oi1),z(T(x),Li1,Bi1);var L=n[2];z(T(x),Mi1,L),l(T(x),Ri1),l(T(x),ji1),z(T(x),Vi1,Ui1);var v=n[3];z(T(x),$i1,v),l(T(x),Ki1),l(T(x),zi1),z(T(x),qi1,Wi1);var a0=n[4];if(a0){te(x,Ji1);var O1=a0[1];re(Du[1],function(dx){return l(i,dx)},function(dx,ie){return te(dx,wi1)},x,O1),te(x,Hi1)}else te(x,Gi1);return l(T(x),Xi1),l(T(x),Yi1)}),Ce(Ec0,function(i,x){var n=l(Jx0,i);return z(Fi(Ti1),n,x)}),Ce(qG,function(i,x,n,m){return m[0]===0?(l(T(n),Di1),l(T(n),vi1),U2(function(L,v){return L&&l(T(n),yi1),zr(Kx0[1],function(a0){return l(x,a0)},n,v),1},0,m[1]),l(T(n),bi1),l(T(n),Ci1)):(l(T(n),Ei1),l(T(n),Si1),U2(function(L,v){return L&&l(T(n),_i1),re(WG[1],function(a0){return l(i,a0)},function(a0){return l(x,a0)},n,v),1},0,m[1]),l(T(n),Fi1),l(T(n),Ai1))}),Ce(Sc0,function(i,x,n){var m=z(qG,i,x);return z(Fi(gi1),m,n)});var Fc0=[0,Jx0,Ec0,qG,Sc0],Hx0=function i(x,n,m){return i.fun(x,n,m)},Ac0=function i(x,n){return i.fun(x,n)};Ce(Hx0,function(i,x,n){l(T(x),Qn1),z(T(x),xi1,Zn1);var m=n[1];l(T(x),ei1),U2(function(O1,dx){return O1&&l(T(x),Yn1),zr(Kx0[1],function(ie){return l(i,ie)},x,dx),1},0,m),l(T(x),ti1),l(T(x),ri1),l(T(x),ni1),z(T(x),ai1,ii1);var L=n[2];z(T(x),oi1,L),l(T(x),si1),l(T(x),ui1),z(T(x),li1,ci1);var v=n[3];if(v){te(x,fi1);var a0=v[1];re(Du[1],function(O1){return l(i,O1)},function(O1,dx){return te(O1,Xn1)},x,a0),te(x,pi1)}else te(x,di1);return l(T(x),mi1),l(T(x),hi1)}),Ce(Ac0,function(i,x){var n=l(Hx0,i);return z(Fi(Gn1),n,x)});var Tc0=[0,Hx0,Ac0],Gx0=function i(x,n,m,L){return i.fun(x,n,m,L)},wc0=function i(x,n,m){return i.fun(x,n,m)},JG=function i(x,n,m){return i.fun(x,n,m)},kc0=function i(x,n){return i.fun(x,n)},HG=function i(x,n,m){return i.fun(x,n,m)},Nc0=function i(x,n){return i.fun(x,n)};Ce(Gx0,function(i,x,n,m){l(T(n),In1),z(T(n),Bn1,On1);var L=m[1];re(n4[1],function(dx){return l(i,dx)},function(dx){return l(x,dx)},n,L),l(T(n),Ln1),l(T(n),Mn1),z(T(n),jn1,Rn1);var v=m[2];zr(JG,function(dx){return l(i,dx)},n,v),l(T(n),Un1),l(T(n),Vn1),z(T(n),Kn1,$n1);var a0=m[3];if(a0){te(n,zn1);var O1=a0[1];re(Du[1],function(dx){return l(i,dx)},function(dx,ie){return te(dx,Pn1)},n,O1),te(n,Wn1)}else te(n,qn1);return l(T(n),Jn1),l(T(n),Hn1)}),Ce(wc0,function(i,x,n){var m=z(Gx0,i,x);return z(Fi(Nn1),m,n)}),Ce(JG,function(i,x,n){l(T(x),Tn1),z(i,x,n[1]),l(T(x),wn1);var m=n[2];return zr(HG,function(L){return l(i,L)},x,m),l(T(x),kn1)}),Ce(kc0,function(i,x){var n=l(JG,i);return z(Fi(An1),n,x)}),Ce(HG,function(i,x,n){switch(n[0]){case 0:l(T(x),yn1);var m=n[1];return zr(vc0[1],function(O1){return l(i,O1)},x,m),l(T(x),Dn1);case 1:l(T(x),vn1);var L=n[1];return zr(Cc0[1],function(O1){return l(i,O1)},x,L),l(T(x),bn1);case 2:l(T(x),Cn1);var v=n[1];return zr(Fc0[1],function(O1){return l(i,O1)},x,v),l(T(x),En1);default:l(T(x),Sn1);var a0=n[1];return zr(Tc0[1],function(O1){return l(i,O1)},x,a0),l(T(x),Fn1)}}),Ce(Nc0,function(i,x){var n=l(HG,i);return z(Fi(_n1),n,x)});var Pc0=[0,Kx0,WG,vc0,Cc0,Fc0,Tc0,Gx0,wc0,JG,kc0,HG,Nc0],Xx0=function i(x,n,m,L){return i.fun(x,n,m,L)},Ic0=function i(x,n,m){return i.fun(x,n,m)};Ce(Xx0,function(i,x,n,m){l(T(n),Ur1),z(T(n),$r1,Vr1);var L=m[1];re(n4[1],function(Or){return l(i,Or)},function(Or){return l(x,Or)},n,L),l(T(n),Kr1),l(T(n),zr1),z(T(n),qr1,Wr1);var v=m[2];if(v){te(n,Jr1);var a0=v[1];re(GC[22][1],function(Or){return l(i,Or)},function(Or){return l(x,Or)},n,a0),te(n,Hr1)}else te(n,Gr1);l(T(n),Xr1),l(T(n),Yr1),z(T(n),Zr1,Qr1);var O1=m[3];l(T(n),xn1),U2(function(Or,Cr){Or&&l(T(n),Lr1),l(T(n),Mr1),z(i,n,Cr[1]),l(T(n),Rr1);var ni=Cr[2];return re(GC[2][2],function(Jn){return l(i,Jn)},function(Jn){return l(x,Jn)},n,ni),l(T(n),jr1),1},0,O1),l(T(n),en1),l(T(n),tn1),l(T(n),rn1),z(T(n),in1,nn1);var dx=m[4];l(T(n),an1),z(i,n,dx[1]),l(T(n),on1);var ie=dx[2];re(GC[5][6],function(Or){return l(i,Or)},function(Or){return l(x,Or)},n,ie),l(T(n),sn1),l(T(n),un1),l(T(n),cn1),z(T(n),fn1,ln1);var Ie=m[5];if(Ie){te(n,pn1);var Ot=Ie[1];re(Du[1],function(Or){return l(i,Or)},function(Or,Cr){return te(Or,Br1)},n,Ot),te(n,dn1)}else te(n,mn1);return l(T(n),hn1),l(T(n),gn1)}),Ce(Ic0,function(i,x,n){var m=z(Xx0,i,x);return z(Fi(Or1),m,n)});var GG=[0,Xx0,Ic0],Yx0=function i(x,n,m,L){return i.fun(x,n,m,L)},Oc0=function i(x,n,m){return i.fun(x,n,m)};Ce(Yx0,function(i,x,n,m){l(T(n),jt1),z(T(n),Vt1,Ut1);var L=m[1];re(n4[1],function(zn){return l(i,zn)},function(zn){return l(x,zn)},n,L),l(T(n),$t1),l(T(n),Kt1),z(T(n),Wt1,zt1);var v=m[2];if(v){te(n,qt1);var a0=v[1];re(GC[22][1],function(zn){return l(i,zn)},function(zn){return l(x,zn)},n,a0),te(n,Jt1)}else te(n,Ht1);l(T(n),Gt1),l(T(n),Xt1),z(T(n),Qt1,Yt1);var O1=m[3];l(T(n),Zt1),z(i,n,O1[1]),l(T(n),xr1);var dx=O1[2];re(GC[5][6],function(zn){return l(i,zn)},function(zn){return l(x,zn)},n,dx),l(T(n),er1),l(T(n),tr1),l(T(n),rr1),z(T(n),ir1,nr1);var ie=m[4];if(ie){var Ie=ie[1];te(n,ar1),l(T(n),or1),z(i,n,Ie[1]),l(T(n),sr1);var Ot=Ie[2];re(GC[2][2],function(zn){return l(i,zn)},function(zn){return l(x,zn)},n,Ot),l(T(n),ur1),te(n,cr1)}else te(n,lr1);l(T(n),fr1),l(T(n),pr1),z(T(n),mr1,dr1);var Or=m[5];l(T(n),hr1),U2(function(zn,Oi){zn&&l(T(n),Bt1),l(T(n),Lt1),z(i,n,Oi[1]),l(T(n),Mt1);var xn=Oi[2];return re(GC[2][2],function(vt){return l(i,vt)},function(vt){return l(x,vt)},n,xn),l(T(n),Rt1),1},0,Or),l(T(n),gr1),l(T(n),_r1),l(T(n),yr1),z(T(n),vr1,Dr1);var Cr=m[6];if(Cr){te(n,br1);var ni=Cr[1];re(NK[5][2],function(zn){return l(i,zn)},function(zn){return l(x,zn)},n,ni),te(n,Cr1)}else te(n,Er1);l(T(n),Sr1),l(T(n),Fr1),z(T(n),Tr1,Ar1);var Jn=m[7];if(Jn){te(n,wr1);var Vn=Jn[1];re(Du[1],function(zn){return l(i,zn)},function(zn,Oi){return te(zn,Ot1)},n,Vn),te(n,kr1)}else te(n,Nr1);return l(T(n),Pr1),l(T(n),Ir1)}),Ce(Oc0,function(i,x,n){var m=z(Yx0,i,x);return z(Fi(It1),m,n)});var Qx0=[0,Yx0,Oc0],Zx0=function i(x,n,m,L){return i.fun(x,n,m,L)},Bc0=function i(x,n,m){return i.fun(x,n,m)};Ce(Zx0,function(i,x,n,m){l(T(n),gt1),z(T(n),yt1,_t1);var L=m[1];re(n4[1],function(dx){return l(i,dx)},function(dx){return l(x,dx)},n,L),l(T(n),Dt1),l(T(n),vt1),z(T(n),Ct1,bt1);var v=m[2];re(GC[19],function(dx){return l(i,dx)},function(dx){return l(x,dx)},n,v),l(T(n),Et1),l(T(n),St1),z(T(n),At1,Ft1);var a0=m[3];if(a0){te(n,Tt1);var O1=a0[1];re(Du[1],function(dx){return l(i,dx)},function(dx,ie){return te(dx,ht1)},n,O1),te(n,wt1)}else te(n,kt1);return l(T(n),Nt1),l(T(n),Pt1)}),Ce(Bc0,function(i,x,n){var m=z(Zx0,i,x);return z(Fi(mt1),m,n)});var xe0=[0,Zx0,Bc0],ee0=function i(x,n,m,L){return i.fun(x,n,m,L)},Lc0=function i(x,n,m){return i.fun(x,n,m)};Ce(ee0,function(i,x,n,m){l(T(n),qe1),z(T(n),He1,Je1);var L=m[1];re(n4[1],function(Ie){return l(i,Ie)},function(Ie){return l(x,Ie)},n,L),l(T(n),Ge1),l(T(n),Xe1),z(T(n),Qe1,Ye1);var v=m[2];re(GC[17],function(Ie){return l(i,Ie)},function(Ie){return l(x,Ie)},n,v),l(T(n),Ze1),l(T(n),xt1),z(T(n),tt1,et1);var a0=m[3];if(a0){te(n,rt1);var O1=a0[1];re(GC[24][1],function(Ie){return l(i,Ie)},function(Ie){return l(x,Ie)},n,O1),te(n,nt1)}else te(n,it1);l(T(n),at1),l(T(n),ot1),z(T(n),ut1,st1);var dx=m[4];if(dx){te(n,ct1);var ie=dx[1];re(Du[1],function(Ie){return l(i,Ie)},function(Ie,Ot){return te(Ie,We1)},n,ie),te(n,lt1)}else te(n,ft1);return l(T(n),pt1),l(T(n),dt1)}),Ce(Lc0,function(i,x,n){var m=z(ee0,i,x);return z(Fi(ze1),m,n)});var te0=[0,ee0,Lc0],XG=function i(x,n,m,L){return i.fun(x,n,m,L)},Mc0=function i(x,n,m){return i.fun(x,n,m)},YG=function i(x,n,m){return i.fun(x,n,m)},Rc0=function i(x,n){return i.fun(x,n)},re0=function i(x,n,m,L){return i.fun(x,n,m,L)},jc0=function i(x,n,m){return i.fun(x,n,m)};Ce(XG,function(i,x,n,m){if(m[0]===0){l(T(n),Me1);var L=m[1];return re(n4[1],function(O1){return l(i,O1)},function(O1){return l(x,O1)},n,L),l(T(n),Re1)}var v=m[1];l(T(n),je1),l(T(n),Ue1),z(x,n,v[1]),l(T(n),Ve1);var a0=v[2];return zr(kK[1],function(O1){return l(i,O1)},n,a0),l(T(n),$e1),l(T(n),Ke1)}),Ce(Mc0,function(i,x,n){var m=z(XG,i,x);return z(Fi(Le1),m,n)}),Ce(YG,function(i,x,n){return n[0]===0?(l(T(x),Pe1),z(i,x,n[1]),l(T(x),Ie1)):(l(T(x),Oe1),z(i,x,n[1]),l(T(x),Be1))}),Ce(Rc0,function(i,x){var n=l(YG,i);return z(Fi(Ne1),n,x)}),Ce(re0,function(i,x,n,m){l(T(n),se1),z(T(n),ce1,ue1);var L=m[1];re(XG,function(Ie){return l(i,Ie)},function(Ie){return l(x,Ie)},n,L),l(T(n),le1),l(T(n),fe1),z(T(n),de1,pe1);var v=m[2];l(T(n),me1),z(i,n,v[1]),l(T(n),he1);var a0=v[2];re(Vz[1],function(Ie){return l(i,Ie)},function(Ie){return l(x,Ie)},n,a0),l(T(n),ge1),l(T(n),_e1),l(T(n),ye1),z(T(n),ve1,De1);var O1=m[3];zr(YG,function(Ie){return l(i,Ie)},n,O1),l(T(n),be1),l(T(n),Ce1),z(T(n),Se1,Ee1);var dx=m[4];if(dx){te(n,Fe1);var ie=dx[1];re(Du[1],function(Ie){return l(i,Ie)},function(Ie,Ot){return te(Ie,oe1)},n,ie),te(n,Ae1)}else te(n,Te1);return l(T(n),we1),l(T(n),ke1)}),Ce(jc0,function(i,x,n){var m=z(re0,i,x);return z(Fi(ae1),m,n)});var Uc0=[0,XG,Mc0,YG,Rc0,re0,jc0],ne0=function i(x,n,m,L){return i.fun(x,n,m,L)},Vc0=function i(x,n,m){return i.fun(x,n,m)};Ce(ne0,function(i,x,n,m){l(T(n),Hx1),z(T(n),Xx1,Gx1);var L=m[1];re(GC[17],function(O1){return l(i,O1)},function(O1){return l(x,O1)},n,L),l(T(n),Yx1),l(T(n),Qx1),z(T(n),xe1,Zx1);var v=m[2];if(v){te(n,ee1);var a0=v[1];re(Du[1],function(O1){return l(i,O1)},function(O1,dx){return te(O1,Jx1)},n,a0),te(n,te1)}else te(n,re1);return l(T(n),ne1),l(T(n),ie1)}),Ce(Vc0,function(i,x,n){var m=z(ne0,i,x);return z(Fi(qx1),m,n)});var $c0=[0,ne0,Vc0],ie0=function i(x,n,m){return i.fun(x,n,m)},Kc0=function i(x,n){return i.fun(x,n)},QG=function i(x,n,m){return i.fun(x,n,m)},zc0=function i(x,n){return i.fun(x,n)};Ce(ie0,function(i,x,n){l(T(x),Kx1),z(i,x,n[1]),l(T(x),zx1);var m=n[2];return zr(QG,function(L){return l(i,L)},x,m),l(T(x),Wx1)}),Ce(Kc0,function(i,x){var n=l(ie0,i);return z(Fi($x1),n,x)}),Ce(QG,function(i,x,n){l(T(x),kx1),z(T(x),Px1,Nx1);var m=n[1];re(n4[1],function(a0){return l(i,a0)},function(a0){return l(i,a0)},x,m),l(T(x),Ix1),l(T(x),Ox1),z(T(x),Lx1,Bx1);var L=n[2];if(L){te(x,Mx1);var v=L[1];re(n4[1],function(a0){return l(i,a0)},function(a0){return l(i,a0)},x,v),te(x,Rx1)}else te(x,jx1);return l(T(x),Ux1),l(T(x),Vx1)}),Ce(zc0,function(i,x){var n=l(QG,i);return z(Fi(wx1),n,x)});var Wc0=[0,ie0,Kc0,QG,zc0],ae0=function i(x,n,m){return i.fun(x,n,m)},qc0=function i(x,n){return i.fun(x,n)};Ce(ae0,function(i,x,n){var m=n[2];if(l(T(x),Cx1),z(i,x,n[1]),l(T(x),Ex1),m){te(x,Sx1);var L=m[1];re(n4[1],function(v){return l(i,v)},function(v){return l(i,v)},x,L),te(x,Fx1)}else te(x,Ax1);return l(T(x),Tx1)}),Ce(qc0,function(i,x){var n=l(ae0,i);return z(Fi(bx1),n,x)});var Jc0=[0,ae0,qc0],oe0=function i(x,n,m,L){return i.fun(x,n,m,L)},Hc0=function i(x,n,m){return i.fun(x,n,m)},ZG=function i(x,n,m){return i.fun(x,n,m)},Gc0=function i(x,n){return i.fun(x,n)};Ce(oe0,function(i,x,n,m){l(T(n),U11),z(T(n),$11,V11);var L=m[1];if(L){te(n,K11);var v=L[1];re(ZN[35],function(Cr){return l(i,Cr)},function(Cr){return l(x,Cr)},n,v),te(n,z11)}else te(n,W11);l(T(n),q11),l(T(n),J11),z(T(n),G11,H11);var a0=m[2];if(a0){te(n,X11);var O1=a0[1];zr(ZG,function(Cr){return l(i,Cr)},n,O1),te(n,Y11)}else te(n,Q11);l(T(n),Z11),l(T(n),xx1),z(T(n),tx1,ex1);var dx=m[3];if(dx){var ie=dx[1];te(n,rx1),l(T(n),nx1),z(i,n,ie[1]),l(T(n),ix1);var Ie=ie[2];zr(kK[1],function(Cr){return l(i,Cr)},n,Ie),l(T(n),ax1),te(n,ox1)}else te(n,sx1);l(T(n),ux1),l(T(n),cx1),z(T(n),fx1,lx1),z(ZN[33],n,m[4]),l(T(n),px1),l(T(n),dx1),z(T(n),hx1,mx1);var Ot=m[5];if(Ot){te(n,gx1);var Or=Ot[1];re(Du[1],function(Cr){return l(i,Cr)},function(Cr,ni){return te(Cr,j11)},n,Or),te(n,_x1)}else te(n,yx1);return l(T(n),Dx1),l(T(n),vx1)}),Ce(Hc0,function(i,x,n){var m=z(oe0,i,x);return z(Fi(R11),m,n)}),Ce(ZG,function(i,x,n){if(n[0]===0)return l(T(x),P11),l(T(x),I11),U2(function(L,v){return L&&l(T(x),N11),zr(Wc0[1],function(a0){return l(i,a0)},x,v),1},0,n[1]),l(T(x),O11),l(T(x),B11);l(T(x),L11);var m=n[1];return zr(Jc0[1],function(L){return l(i,L)},x,m),l(T(x),M11)}),Ce(Gc0,function(i,x){var n=l(ZG,i);return z(Fi(k11),n,x)});var se0=[0,Wc0,Jc0,oe0,Hc0,ZG,Gc0],ue0=function i(x,n,m,L){return i.fun(x,n,m,L)},Xc0=function i(x,n,m){return i.fun(x,n,m)},xX=function i(x,n,m,L){return i.fun(x,n,m,L)},Yc0=function i(x,n,m){return i.fun(x,n,m)};Ce(ue0,function(i,x,n,m){l(T(n),d11),z(T(n),h11,m11),z(i,n,m[1]),l(T(n),g11),l(T(n),_11),z(T(n),D11,y11);var L=m[2];re(xX,function(O1){return l(i,O1)},function(O1){return l(x,O1)},n,L),l(T(n),v11),l(T(n),b11),z(T(n),E11,C11);var v=m[3];if(v){te(n,S11);var a0=v[1];re(Du[1],function(O1){return l(i,O1)},function(O1,dx){return te(O1,p11)},n,a0),te(n,F11)}else te(n,A11);return l(T(n),T11),l(T(n),w11)}),Ce(Xc0,function(i,x,n){var m=z(ue0,i,x);return z(Fi(f11),m,n)}),Ce(xX,function(i,x,n,m){if(m[0]===0){l(T(n),s11);var L=m[1];return re(ZN[35],function(a0){return l(i,a0)},function(a0){return l(x,a0)},n,L),l(T(n),u11)}l(T(n),c11);var v=m[1];return re(Ny[31],function(a0){return l(i,a0)},function(a0){return l(x,a0)},n,v),l(T(n),l11)}),Ce(Yc0,function(i,x,n){var m=z(xX,i,x);return z(Fi(o11),m,n)});var Qc0=[0,ue0,Xc0,xX,Yc0],eX=function i(x,n,m,L){return i.fun(x,n,m,L)},Zc0=function i(x,n,m){return i.fun(x,n,m)},ce0=function i(x,n,m,L){return i.fun(x,n,m,L)},xl0=function i(x,n,m){return i.fun(x,n,m)};Ce(eX,function(i,x,n,m){switch(m[0]){case 0:var L=m[1];l(T(n),w01),l(T(n),k01),z(i,n,L[1]),l(T(n),N01);var v=L[2];return re(xe0[1],function(zn){return l(i,zn)},function(zn){return l(x,zn)},n,v),l(T(n),P01),l(T(n),I01);case 1:var a0=m[1];l(T(n),O01),l(T(n),B01),z(i,n,a0[1]),l(T(n),L01);var O1=a0[2];return re(te0[1],function(zn){return l(i,zn)},function(zn){return l(x,zn)},n,O1),l(T(n),M01),l(T(n),R01);case 2:var dx=m[1];l(T(n),j01),l(T(n),U01),z(i,n,dx[1]),l(T(n),V01);var ie=dx[2];return re(Qx0[1],function(zn){return l(i,zn)},function(zn){return l(x,zn)},n,ie),l(T(n),$01),l(T(n),K01);case 3:l(T(n),z01);var Ie=m[1];return re(GC[13],function(zn){return l(i,zn)},function(zn){return l(x,zn)},n,Ie),l(T(n),W01);case 4:var Ot=m[1];l(T(n),q01),l(T(n),J01),z(i,n,Ot[1]),l(T(n),H01);var Or=Ot[2];return re(OG[1],function(zn){return l(i,zn)},function(zn){return l(x,zn)},n,Or),l(T(n),G01),l(T(n),X01);case 5:var Cr=m[1];l(T(n),Y01),l(T(n),Q01),z(i,n,Cr[1]),l(T(n),Z01);var ni=Cr[2];return re(BG[1],function(zn){return l(i,zn)},function(zn){return l(x,zn)},n,ni),l(T(n),x11),l(T(n),e11);default:var Jn=m[1];l(T(n),t11),l(T(n),r11),z(i,n,Jn[1]),l(T(n),n11);var Vn=Jn[2];return re(GG[1],function(zn){return l(i,zn)},function(zn){return l(x,zn)},n,Vn),l(T(n),i11),l(T(n),a11)}}),Ce(Zc0,function(i,x,n){var m=z(eX,i,x);return z(Fi(T01),m,n)}),Ce(ce0,function(i,x,n,m){l(T(n),KZ0),z(T(n),WZ0,zZ0);var L=m[1];L?(te(n,qZ0),z(i,n,L[1]),te(n,JZ0)):te(n,HZ0),l(T(n),GZ0),l(T(n),XZ0),z(T(n),QZ0,YZ0);var v=m[2];if(v){te(n,ZZ0);var a0=v[1];re(eX,function(ni){return l(i,ni)},function(ni){return l(x,ni)},n,a0),te(n,x01)}else te(n,e01);l(T(n),t01),l(T(n),r01),z(T(n),i01,n01);var O1=m[3];if(O1){te(n,a01);var dx=O1[1];zr(se0[5],function(ni){return l(i,ni)},n,dx),te(n,o01)}else te(n,s01);l(T(n),u01),l(T(n),c01),z(T(n),f01,l01);var ie=m[4];if(ie){var Ie=ie[1];te(n,p01),l(T(n),d01),z(i,n,Ie[1]),l(T(n),m01);var Ot=Ie[2];zr(kK[1],function(ni){return l(i,ni)},n,Ot),l(T(n),h01),te(n,g01)}else te(n,_01);l(T(n),y01),l(T(n),D01),z(T(n),b01,v01);var Or=m[5];if(Or){te(n,C01);var Cr=Or[1];re(Du[1],function(ni){return l(i,ni)},function(ni,Jn){return te(ni,$Z0)},n,Cr),te(n,E01)}else te(n,S01);return l(T(n),F01),l(T(n),A01)}),Ce(xl0,function(i,x,n){var m=z(ce0,i,x);return z(Fi(VZ0),m,n)});var el0=[0,eX,Zc0,ce0,xl0],jq=function i(x,n){return i.fun(x,n)},tl0=function i(x){return i.fun(x)},tX=function i(x,n,m,L){return i.fun(x,n,m,L)},rl0=function i(x,n,m){return i.fun(x,n,m)},rX=function i(x,n,m,L){return i.fun(x,n,m,L)},nl0=function i(x,n,m){return i.fun(x,n,m)},le0=function i(x,n,m,L){return i.fun(x,n,m,L)},il0=function i(x,n,m){return i.fun(x,n,m)};Ce(jq,function(i,x){switch(x){case 0:return te(i,RZ0);case 1:return te(i,jZ0);default:return te(i,UZ0)}}),Ce(tl0,function(i){return z(Fi(MZ0),jq,i)}),Ce(tX,function(i,x,n,m){if(m[0]===0)return l(T(n),TZ0),l(T(n),wZ0),U2(function(a0,O1){return a0&&l(T(n),AZ0),re(rX,function(dx){return l(i,dx)},function(dx){return l(x,dx)},n,O1),1},0,m[1]),l(T(n),kZ0),l(T(n),NZ0);var L=m[1];l(T(n),PZ0),l(T(n),IZ0),z(i,n,L[1]),l(T(n),OZ0);var v=L[2];return re(n4[1],function(a0){return l(i,a0)},function(a0){return l(x,a0)},n,v),l(T(n),BZ0),l(T(n),LZ0)}),Ce(rl0,function(i,x,n){var m=z(tX,i,x);return z(Fi(FZ0),m,n)}),Ce(rX,function(i,x,n,m){l(T(n),oZ0),z(T(n),uZ0,sZ0);var L=m[1];L?(te(n,cZ0),z(jq,n,L[1]),te(n,lZ0)):te(n,fZ0),l(T(n),pZ0),l(T(n),dZ0),z(T(n),hZ0,mZ0);var v=m[2];if(v){te(n,gZ0);var a0=v[1];re(n4[1],function(dx){return l(i,dx)},function(dx){return l(x,dx)},n,a0),te(n,_Z0)}else te(n,yZ0);l(T(n),DZ0),l(T(n),vZ0),z(T(n),CZ0,bZ0);var O1=m[3];return re(n4[1],function(dx){return l(i,dx)},function(dx){return l(x,dx)},n,O1),l(T(n),EZ0),l(T(n),SZ0)}),Ce(nl0,function(i,x,n){var m=z(rX,i,x);return z(Fi(aZ0),m,n)}),Ce(le0,function(i,x,n,m){l(T(n),AQ0),z(T(n),wQ0,TQ0),z(jq,n,m[1]),l(T(n),kQ0),l(T(n),NQ0),z(T(n),IQ0,PQ0);var L=m[2];l(T(n),OQ0),z(i,n,L[1]),l(T(n),BQ0);var v=L[2];zr(kK[1],function(Or){return l(i,Or)},n,v),l(T(n),LQ0),l(T(n),MQ0),l(T(n),RQ0),z(T(n),UQ0,jQ0);var a0=m[3];if(a0){te(n,VQ0);var O1=a0[1];re(n4[1],function(Or){return l(i,Or)},function(Or){return l(x,Or)},n,O1),te(n,$Q0)}else te(n,KQ0);l(T(n),zQ0),l(T(n),WQ0),z(T(n),JQ0,qQ0);var dx=m[4];if(dx){te(n,HQ0);var ie=dx[1];re(tX,function(Or){return l(i,Or)},function(Or){return l(x,Or)},n,ie),te(n,GQ0)}else te(n,XQ0);l(T(n),YQ0),l(T(n),QQ0),z(T(n),xZ0,ZQ0);var Ie=m[5];if(Ie){te(n,eZ0);var Ot=Ie[1];re(Du[1],function(Or){return l(i,Or)},function(Or,Cr){return te(Or,FQ0)},n,Ot),te(n,tZ0)}else te(n,rZ0);return l(T(n),nZ0),l(T(n),iZ0)}),Ce(il0,function(i,x,n){var m=z(le0,i,x);return z(Fi(SQ0),m,n)});var al0=[0,jq,tl0,tX,rl0,rX,nl0,le0,il0],fe0=function i(x,n,m,L){return i.fun(x,n,m,L)},ol0=function i(x,n,m){return i.fun(x,n,m)};Ce(fe0,function(i,x,n,m){l(T(n),iQ0),z(T(n),oQ0,aQ0);var L=m[1];re(Ny[31],function(ie){return l(i,ie)},function(ie){return l(x,ie)},n,L),l(T(n),sQ0),l(T(n),uQ0),z(T(n),lQ0,cQ0);var v=m[2];if(v){te(n,fQ0);var a0=v[1];z(T(n),pQ0,a0),te(n,dQ0)}else te(n,mQ0);l(T(n),hQ0),l(T(n),gQ0),z(T(n),yQ0,_Q0);var O1=m[3];if(O1){te(n,DQ0);var dx=O1[1];re(Du[1],function(ie){return l(i,ie)},function(ie,Ie){return te(ie,nQ0)},n,dx),te(n,vQ0)}else te(n,bQ0);return l(T(n),CQ0),l(T(n),EQ0)}),Ce(ol0,function(i,x,n){var m=z(fe0,i,x);return z(Fi(rQ0),m,n)});var sl0=[0,fe0,ol0],pe0=function i(x,n,m){return i.fun(x,n,m)},ul0=function i(x,n){return i.fun(x,n)};Ce(pe0,function(i,x,n){l(T(x),GY0),z(T(x),YY0,XY0);var m=n[1];if(m){te(x,QY0);var L=m[1];re(Du[1],function(v){return l(i,v)},function(v,a0){return te(v,HY0)},x,L),te(x,ZY0)}else te(x,xQ0);return l(T(x),eQ0),l(T(x),tQ0)}),Ce(ul0,function(i,x){var n=l(pe0,i);return z(Fi(JY0),n,x)});var cl0=[0,pe0,ul0],de0=function i(x,n){return i.fun(x,n)},ll0=function i(x){return i.fun(x)},me0=function i(x,n,m,L){return i.fun(x,n,m,L)},fl0=function i(x,n,m){return i.fun(x,n,m)},nX=function i(x,n,m,L){return i.fun(x,n,m,L)},pl0=function i(x,n,m){return i.fun(x,n,m)};Ce(de0,function(i,x){return te(i,x===0?qY0:WY0)}),Ce(ll0,function(i){return z(Fi(zY0),de0,i)}),Ce(me0,function(i,x,n,m){l(T(n),VY0),z(i,n,m[1]),l(T(n),$Y0);var L=m[2];return re(nX,function(v){return l(i,v)},function(v){return l(x,v)},n,L),l(T(n),KY0)}),Ce(fl0,function(i,x,n){var m=z(me0,i,x);return z(Fi(UY0),m,n)}),Ce(nX,function(i,x,n,m){switch(m[0]){case 0:l(T(n),DX0);var L=m[1];return re(Vz[1],function(Dt){return l(i,Dt)},function(Dt){return l(x,Dt)},n,L),l(T(n),vX0);case 1:l(T(n),bX0);var v=m[1];return zr(wu0[1],function(Dt){return l(i,Dt)},n,v),l(T(n),CX0);case 2:l(T(n),EX0);var a0=m[1];return re(NK[8],function(Dt){return l(i,Dt)},function(Dt){return l(x,Dt)},n,a0),l(T(n),SX0);case 3:l(T(n),FX0);var O1=m[1];return zr(Nu0[1],function(Dt){return l(i,Dt)},n,O1),l(T(n),AX0);case 4:l(T(n),TX0);var dx=m[1];return zr(Iu0[1],function(Dt){return l(i,Dt)},n,dx),l(T(n),wX0);case 5:l(T(n),kX0);var ie=m[1];return re(Qx0[1],function(Dt){return l(i,Dt)},function(Dt){return l(x,Dt)},n,ie),l(T(n),NX0);case 6:l(T(n),PX0);var Ie=m[1];return re(el0[3],function(Dt){return l(i,Dt)},function(Dt){return l(x,Dt)},n,Ie),l(T(n),IX0);case 7:l(T(n),OX0);var Ot=m[1];return re(te0[1],function(Dt){return l(i,Dt)},function(Dt){return l(x,Dt)},n,Ot),l(T(n),BX0);case 8:l(T(n),LX0);var Or=m[1];return re(GG[1],function(Dt){return l(i,Dt)},function(Dt){return l(x,Dt)},n,Or),l(T(n),MX0);case 9:l(T(n),RX0);var Cr=m[1];return re(Uc0[5],function(Dt){return l(i,Dt)},function(Dt){return l(x,Dt)},n,Cr),l(T(n),jX0);case 10:l(T(n),UX0);var ni=m[1];return re($c0[1],function(Dt){return l(i,Dt)},function(Dt){return l(x,Dt)},n,ni),l(T(n),VX0);case 11:l(T(n),$X0);var Jn=m[1];return re(OG[1],function(Dt){return l(i,Dt)},function(Dt){return l(x,Dt)},n,Jn),l(T(n),KX0);case 12:l(T(n),zX0);var Vn=m[1];return re(BG[1],function(Dt){return l(i,Dt)},function(Dt){return l(x,Dt)},n,Vn),l(T(n),WX0);case 13:l(T(n),qX0);var zn=m[1];return re(xe0[1],function(Dt){return l(i,Dt)},function(Dt){return l(x,Dt)},n,zn),l(T(n),JX0);case 14:l(T(n),HX0);var Oi=m[1];return re(ac0[1],function(Dt){return l(i,Dt)},function(Dt){return l(x,Dt)},n,Oi),l(T(n),GX0);case 15:l(T(n),XX0);var xn=m[1];return zr(cl0[1],function(Dt){return l(i,Dt)},n,xn),l(T(n),YX0);case 16:l(T(n),QX0);var vt=m[1];return re(Pc0[7],function(Dt){return l(i,Dt)},function(Dt){return l(x,Dt)},n,vt),l(T(n),ZX0);case 17:l(T(n),xY0);var Xt=m[1];return re(Qc0[1],function(Dt){return l(i,Dt)},function(Dt){return l(x,Dt)},n,Xt),l(T(n),eY0);case 18:l(T(n),tY0);var Me=m[1];return re(se0[3],function(Dt){return l(i,Dt)},function(Dt){return l(x,Dt)},n,Me),l(T(n),rY0);case 19:l(T(n),nY0);var Ke=m[1];return re(sl0[1],function(Dt){return l(i,Dt)},function(Dt){return l(x,Dt)},n,Ke),l(T(n),iY0);case 20:l(T(n),aY0);var ct=m[1];return re(uc0[1],function(Dt){return l(i,Dt)},function(Dt){return l(x,Dt)},n,ct),l(T(n),oY0);case 21:l(T(n),sY0);var sr=m[1];return re(fc0[1],function(Dt){return l(i,Dt)},function(Dt){return l(x,Dt)},n,sr),l(T(n),uY0);case 22:l(T(n),cY0);var kr=m[1];return re(mc0[1],function(Dt){return l(i,Dt)},function(Dt){return l(x,Dt)},n,kr),l(T(n),lY0);case 23:l(T(n),fY0);var wn=m[1];return re(qV[5],function(Dt){return l(i,Dt)},function(Dt){return l(x,Dt)},n,wn),l(T(n),pY0);case 24:l(T(n),dY0);var In=m[1];return re(Su0[2],function(Dt){return l(i,Dt)},function(Dt){return l(x,Dt)},n,In),l(T(n),mY0);case 25:l(T(n),hY0);var Tn=m[1];return re(al0[7],function(Dt){return l(i,Dt)},function(Dt){return l(x,Dt)},n,Tn),l(T(n),gY0);case 26:l(T(n),_Y0);var ix=m[1];return re(GG[1],function(Dt){return l(i,Dt)},function(Dt){return l(x,Dt)},n,ix),l(T(n),yY0);case 27:l(T(n),DY0);var Nr=m[1];return re(Au0[1],function(Dt){return l(i,Dt)},function(Dt){return l(x,Dt)},n,Nr),l(T(n),vY0);case 28:l(T(n),bY0);var Mx=m[1];return re(zu0[1],function(Dt){return l(i,Dt)},function(Dt){return l(x,Dt)},n,Mx),l(T(n),CY0);case 29:l(T(n),EY0);var ko=m[1];return re($u0[2],function(Dt){return l(i,Dt)},function(Dt){return l(x,Dt)},n,ko),l(T(n),SY0);case 30:l(T(n),FY0);var iu=m[1];return re(qu0[1],function(Dt){return l(i,Dt)},function(Dt){return l(x,Dt)},n,iu),l(T(n),AY0);case 31:l(T(n),TY0);var Mi=m[1];return re(Yu0[2],function(Dt){return l(i,Dt)},function(Dt){return l(x,Dt)},n,Mi),l(T(n),wY0);case 32:l(T(n),kY0);var Bc=m[1];return re(OG[1],function(Dt){return l(i,Dt)},function(Dt){return l(x,Dt)},n,Bc),l(T(n),NY0);case 33:l(T(n),PY0);var ku=m[1];return re(BG[1],function(Dt){return l(i,Dt)},function(Dt){return l(x,Dt)},n,ku),l(T(n),IY0);case 34:l(T(n),OY0);var Kx=m[1];return re(Rq[2],function(Dt){return l(i,Dt)},function(Dt){return l(x,Dt)},n,Kx),l(T(n),BY0);case 35:l(T(n),LY0);var ic=m[1];return re(nc0[1],function(Dt){return l(i,Dt)},function(Dt){return l(x,Dt)},n,ic),l(T(n),MY0);default:l(T(n),RY0);var Br=m[1];return re(Bu0[1],function(Dt){return l(i,Dt)},function(Dt){return l(x,Dt)},n,Br),l(T(n),jY0)}}),Ce(pl0,function(i,x,n){var m=z(nX,i,x);return z(Fi(yX0),m,n)}),zr(S9,mw1,ZN,[0,Vz,Su0,Au0,wu0,Nu0,Iu0,Bu0,OG,BG,$u0,zu0,qu0,Yu0,Rq,nc0,ac0,uc0,fc0,mc0,Pc0,GG,Qx0,xe0,te0,Uc0,$c0,se0,Qc0,el0,al0,sl0,cl0,de0,ll0,me0,fl0,nX,pl0]);var he0=function i(x,n,m,L){return i.fun(x,n,m,L)},dl0=function i(x,n,m){return i.fun(x,n,m)},iX=function i(x,n,m){return i.fun(x,n,m)},ml0=function i(x,n){return i.fun(x,n)};Ce(he0,function(i,x,n,m){l(T(n),hX0),z(x,n,m[1]),l(T(n),gX0);var L=m[2];return zr(iX,function(v){return l(i,v)},n,L),l(T(n),_X0)}),Ce(dl0,function(i,x,n){var m=z(he0,i,x);return z(Fi(mX0),m,n)}),Ce(iX,function(i,x,n){l(T(x),oX0),z(T(x),uX0,sX0);var m=n[1];if(m){te(x,cX0);var L=m[1];re(Du[1],function(v){return l(i,v)},function(v,a0){return te(v,aX0)},x,L),te(x,lX0)}else te(x,fX0);return l(T(x),pX0),l(T(x),dX0)}),Ce(ml0,function(i,x){var n=l(iX,i);return z(Fi(iX0),n,x)});var hl0=[0,he0,dl0,iX,ml0],ge0=function i(x,n,m,L){return i.fun(x,n,m,L)},gl0=function i(x,n,m){return i.fun(x,n,m)};Ce(ge0,function(i,x,n,m){if(m[0]===0){l(T(n),eX0);var L=m[1];return re(GC[13],function(a0){return l(i,a0)},function(a0){return l(x,a0)},n,L),l(T(n),tX0)}l(T(n),rX0);var v=m[1];return re(hl0[1],function(a0){return l(i,a0)},function(a0){return l(x,a0)},n,v),l(T(n),nX0)}),Ce(gl0,function(i,x,n){var m=z(ge0,i,x);return z(Fi(xX0),m,n)});var _l0=[0,hl0,ge0,gl0],_e0=function i(x,n,m,L){return i.fun(x,n,m,L)},yl0=function i(x,n,m){return i.fun(x,n,m)},aX=function i(x,n,m,L){return i.fun(x,n,m,L)},Dl0=function i(x,n,m){return i.fun(x,n,m)};Ce(_e0,function(i,x,n,m){l(T(n),YG0),z(i,n,m[1]),l(T(n),QG0);var L=m[2];return re(aX,function(v){return l(i,v)},function(v){return l(x,v)},n,L),l(T(n),ZG0)}),Ce(yl0,function(i,x,n){var m=z(_e0,i,x);return z(Fi(XG0),m,n)}),Ce(aX,function(i,x,n,m){l(T(n),LG0),z(T(n),RG0,MG0);var L=m[1];l(T(n),jG0),U2(function(O1,dx){return O1&&l(T(n),BG0),re(_l0[2],function(ie){return l(i,ie)},function(ie){return l(x,ie)},n,dx),1},0,L),l(T(n),UG0),l(T(n),VG0),l(T(n),$G0),z(T(n),zG0,KG0);var v=m[2];if(v){te(n,WG0);var a0=v[1];re(Du[1],function(O1){return l(i,O1)},function(O1,dx){return l(T(O1),IG0),U2(function(ie,Ie){return ie&&l(T(O1),PG0),zr(xP[1],function(Ot){return l(i,Ot)},O1,Ie),1},0,dx),l(T(O1),OG0)},n,a0),te(n,qG0)}else te(n,JG0);return l(T(n),HG0),l(T(n),GG0)}),Ce(Dl0,function(i,x,n){var m=z(aX,i,x);return z(Fi(NG0),m,n)});var ye0=function i(x,n,m,L){return i.fun(x,n,m,L)},vl0=function i(x,n,m){return i.fun(x,n,m)},oX=function i(x,n,m,L){return i.fun(x,n,m,L)},bl0=function i(x,n,m){return i.fun(x,n,m)},S2x=[0,_e0,yl0,aX,Dl0];Ce(ye0,function(i,x,n,m){l(T(n),TG0),z(i,n,m[1]),l(T(n),wG0);var L=m[2];return re(oX,function(v){return l(i,v)},function(v){return l(x,v)},n,L),l(T(n),kG0)}),Ce(vl0,function(i,x,n){var m=z(ye0,i,x);return z(Fi(AG0),m,n)}),Ce(oX,function(i,x,n,m){l(T(n),mG0),z(T(n),gG0,hG0);var L=m[1];re(Ny[31],function(O1){return l(i,O1)},function(O1){return l(x,O1)},n,L),l(T(n),_G0),l(T(n),yG0),z(T(n),vG0,DG0);var v=m[2];if(v){te(n,bG0);var a0=v[1];re(Du[1],function(O1){return l(i,O1)},function(O1,dx){return te(O1,dG0)},n,a0),te(n,CG0)}else te(n,EG0);return l(T(n),SG0),l(T(n),FG0)}),Ce(bl0,function(i,x,n){var m=z(oX,i,x);return z(Fi(pG0),m,n)});var De0=[0,ye0,vl0,oX,bl0],sX=function i(x,n,m,L){return i.fun(x,n,m,L)},Cl0=function i(x,n,m){return i.fun(x,n,m)};Ce(sX,function(i,x,n,m){switch(m[0]){case 0:l(T(n),oG0);var L=m[1];return re(Ny[31],function(a0){return l(i,a0)},function(a0){return l(x,a0)},n,L),l(T(n),sG0);case 1:l(T(n),uG0);var v=m[1];return re(De0[1],function(a0){return l(i,a0)},function(a0){return l(x,a0)},n,v),l(T(n),cG0);default:return l(T(n),lG0),z(i,n,m[1]),l(T(n),fG0)}}),Ce(Cl0,function(i,x,n){var m=z(sX,i,x);return z(Fi(aG0),m,n)});var ve0=function i(x,n,m,L){return i.fun(x,n,m,L)},El0=function i(x,n,m){return i.fun(x,n,m)};Ce(ve0,function(i,x,n,m){l(T(n),qH0),z(T(n),HH0,JH0);var L=m[1];l(T(n),GH0),U2(function(O1,dx){return O1&&l(T(n),WH0),re(sX,function(ie){return l(i,ie)},function(ie){return l(x,ie)},n,dx),1},0,L),l(T(n),XH0),l(T(n),YH0),l(T(n),QH0),z(T(n),xG0,ZH0);var v=m[2];if(v){te(n,eG0);var a0=v[1];re(Du[1],function(O1){return l(i,O1)},function(O1,dx){return l(T(O1),KH0),U2(function(ie,Ie){return ie&&l(T(O1),$H0),zr(xP[1],function(Ot){return l(i,Ot)},O1,Ie),1},0,dx),l(T(O1),zH0)},n,a0),te(n,tG0)}else te(n,rG0);return l(T(n),nG0),l(T(n),iG0)}),Ce(El0,function(i,x,n){var m=z(ve0,i,x);return z(Fi(VH0),m,n)});var Sl0=[0,sX,Cl0,ve0,El0],uX=function i(x,n){return i.fun(x,n)},Fl0=function i(x){return i.fun(x)},be0=function i(x,n,m){return i.fun(x,n,m)},Al0=function i(x,n){return i.fun(x,n)},cX=function i(x,n){return i.fun(x,n)},Tl0=function i(x){return i.fun(x)};Ce(uX,function(i,x){l(T(i),kH0),z(T(i),PH0,NH0);var n=x[1];z(T(i),IH0,n),l(T(i),OH0),l(T(i),BH0),z(T(i),MH0,LH0);var m=x[2];return z(T(i),RH0,m),l(T(i),jH0),l(T(i),UH0)}),Ce(Fl0,function(i){return z(Fi(wH0),uX,i)}),Ce(be0,function(i,x,n){return l(T(x),FH0),z(i,x,n[1]),l(T(x),AH0),z(cX,x,n[2]),l(T(x),TH0)}),Ce(Al0,function(i,x){var n=l(be0,i);return z(Fi(SH0),n,x)}),Ce(cX,function(i,x){l(T(i),mH0),z(T(i),gH0,hH0),z(uX,i,x[1]),l(T(i),_H0),l(T(i),yH0),z(T(i),vH0,DH0);var n=x[2];return z(T(i),bH0,n),l(T(i),CH0),l(T(i),EH0)}),Ce(Tl0,function(i){return z(Fi(dH0),cX,i)});var wl0=[0,uX,Fl0,be0,Al0,cX,Tl0],Ce0=function i(x,n,m,L){return i.fun(x,n,m,L)},kl0=function i(x,n,m){return i.fun(x,n,m)};Ce(Ce0,function(i,x,n,m){l(T(n),HJ0),z(T(n),XJ0,GJ0);var L=m[1];l(T(n),YJ0),U2(function(dx,ie){return dx&&l(T(n),JJ0),zr(wl0[3],function(Ie){return l(i,Ie)},n,ie),1},0,L),l(T(n),QJ0),l(T(n),ZJ0),l(T(n),xH0),z(T(n),tH0,eH0);var v=m[2];l(T(n),rH0),U2(function(dx,ie){return dx&&l(T(n),qJ0),re(Ny[31],function(Ie){return l(i,Ie)},function(Ie){return l(x,Ie)},n,ie),1},0,v),l(T(n),nH0),l(T(n),iH0),l(T(n),aH0),z(T(n),sH0,oH0);var a0=m[3];if(a0){te(n,uH0);var O1=a0[1];re(Du[1],function(dx){return l(i,dx)},function(dx,ie){return te(dx,WJ0)},n,O1),te(n,cH0)}else te(n,lH0);return l(T(n),fH0),l(T(n),pH0)}),Ce(kl0,function(i,x,n){var m=z(Ce0,i,x);return z(Fi(zJ0),m,n)});var Ee0=[0,wl0,Ce0,kl0],Se0=function i(x,n,m,L){return i.fun(x,n,m,L)},Nl0=function i(x,n,m){return i.fun(x,n,m)};Ce(Se0,function(i,x,n,m){l(T(n),SJ0),z(T(n),AJ0,FJ0);var L=m[1];re(Ny[31],function(ie){return l(i,ie)},function(ie){return l(x,ie)},n,L),l(T(n),TJ0),l(T(n),wJ0),z(T(n),NJ0,kJ0);var v=m[2];l(T(n),PJ0),z(i,n,v[1]),l(T(n),IJ0);var a0=v[2];re(Ee0[2],function(ie){return l(i,ie)},function(ie){return l(x,ie)},n,a0),l(T(n),OJ0),l(T(n),BJ0),l(T(n),LJ0),z(T(n),RJ0,MJ0);var O1=m[3];if(O1){te(n,jJ0);var dx=O1[1];re(Du[1],function(ie){return l(i,ie)},function(ie,Ie){return te(ie,EJ0)},n,dx),te(n,UJ0)}else te(n,VJ0);return l(T(n),$J0),l(T(n),KJ0)}),Ce(Nl0,function(i,x,n){var m=z(Se0,i,x);return z(Fi(CJ0),m,n)});var Pl0=[0,Se0,Nl0],PK=function i(x,n,m,L){return i.fun(x,n,m,L)},Il0=function i(x,n,m){return i.fun(x,n,m)},Fe0=function i(x,n,m,L){return i.fun(x,n,m,L)},Ol0=function i(x,n,m){return i.fun(x,n,m)},lX=function i(x,n,m,L){return i.fun(x,n,m,L)},Bl0=function i(x,n,m){return i.fun(x,n,m)};Ce(PK,function(i,x,n,m){switch(m[0]){case 0:var L=m[1];l(T(n),fJ0),l(T(n),pJ0),z(x,n,L[1]),l(T(n),dJ0);var v=L[2];return zr(Lq[2],function(ie){return l(i,ie)},n,v),l(T(n),mJ0),l(T(n),hJ0);case 1:l(T(n),gJ0);var a0=m[1];return re(n4[1],function(ie){return l(i,ie)},function(ie){return l(x,ie)},n,a0),l(T(n),_J0);case 2:l(T(n),yJ0);var O1=m[1];return zr(iG[1],function(ie){return l(i,ie)},n,O1),l(T(n),DJ0);default:l(T(n),vJ0);var dx=m[1];return re(aG[1],function(ie){return l(i,ie)},function(ie){return l(x,ie)},n,dx),l(T(n),bJ0)}}),Ce(Il0,function(i,x,n){var m=z(PK,i,x);return z(Fi(lJ0),m,n)}),Ce(Fe0,function(i,x,n,m){l(T(n),sJ0),z(i,n,m[1]),l(T(n),uJ0);var L=m[2];return re(lX,function(v){return l(i,v)},function(v){return l(x,v)},n,L),l(T(n),cJ0)}),Ce(Ol0,function(i,x,n){var m=z(Fe0,i,x);return z(Fi(oJ0),m,n)}),Ce(lX,function(i,x,n,m){switch(m[0]){case 0:l(T(n),YW0),z(T(n),ZW0,QW0);var L=m[1];re(PK,function(vt){return l(i,vt)},function(vt){return l(x,vt)},n,L),l(T(n),xq0),l(T(n),eq0),z(T(n),rq0,tq0);var v=m[2];re(Ny[31],function(vt){return l(i,vt)},function(vt){return l(x,vt)},n,v),l(T(n),nq0),l(T(n),iq0),z(T(n),oq0,aq0);var a0=m[3];return z(T(n),sq0,a0),l(T(n),uq0),l(T(n),cq0);case 1:var O1=m[2];l(T(n),lq0),z(T(n),pq0,fq0);var dx=m[1];re(PK,function(vt){return l(i,vt)},function(vt){return l(x,vt)},n,dx),l(T(n),dq0),l(T(n),mq0),z(T(n),gq0,hq0),l(T(n),_q0),z(i,n,O1[1]),l(T(n),yq0);var ie=O1[2];return re(qV[5],function(vt){return l(i,vt)},function(vt){return l(x,vt)},n,ie),l(T(n),Dq0),l(T(n),vq0),l(T(n),bq0);case 2:var Ie=m[3],Ot=m[2];l(T(n),Cq0),z(T(n),Sq0,Eq0);var Or=m[1];re(PK,function(vt){return l(i,vt)},function(vt){return l(x,vt)},n,Or),l(T(n),Fq0),l(T(n),Aq0),z(T(n),wq0,Tq0),l(T(n),kq0),z(i,n,Ot[1]),l(T(n),Nq0);var Cr=Ot[2];if(re(qV[5],function(vt){return l(i,vt)},function(vt){return l(x,vt)},n,Cr),l(T(n),Pq0),l(T(n),Iq0),l(T(n),Oq0),z(T(n),Lq0,Bq0),Ie){te(n,Mq0);var ni=Ie[1];re(Du[1],function(vt){return l(i,vt)},function(vt,Xt){return te(vt,XW0)},n,ni),te(n,Rq0)}else te(n,jq0);return l(T(n),Uq0),l(T(n),Vq0);default:var Jn=m[3],Vn=m[2];l(T(n),$q0),z(T(n),zq0,Kq0);var zn=m[1];re(PK,function(vt){return l(i,vt)},function(vt){return l(x,vt)},n,zn),l(T(n),Wq0),l(T(n),qq0),z(T(n),Hq0,Jq0),l(T(n),Gq0),z(i,n,Vn[1]),l(T(n),Xq0);var Oi=Vn[2];if(re(qV[5],function(vt){return l(i,vt)},function(vt){return l(x,vt)},n,Oi),l(T(n),Yq0),l(T(n),Qq0),l(T(n),Zq0),z(T(n),eJ0,xJ0),Jn){te(n,tJ0);var xn=Jn[1];re(Du[1],function(vt){return l(i,vt)},function(vt,Xt){return te(vt,GW0)},n,xn),te(n,rJ0)}else te(n,nJ0);return l(T(n),iJ0),l(T(n),aJ0)}}),Ce(Bl0,function(i,x,n){var m=z(lX,i,x);return z(Fi(HW0),m,n)});var Ll0=[0,PK,Il0,Fe0,Ol0,lX,Bl0],Ae0=function i(x,n,m,L){return i.fun(x,n,m,L)},Ml0=function i(x,n,m){return i.fun(x,n,m)},fX=function i(x,n,m,L){return i.fun(x,n,m,L)},Rl0=function i(x,n,m){return i.fun(x,n,m)};Ce(Ae0,function(i,x,n,m){l(T(n),WW0),z(i,n,m[1]),l(T(n),qW0);var L=m[2];return re(fX,function(v){return l(i,v)},function(v){return l(x,v)},n,L),l(T(n),JW0)}),Ce(Ml0,function(i,x,n){var m=z(Ae0,i,x);return z(Fi(zW0),m,n)}),Ce(fX,function(i,x,n,m){l(T(n),PW0),z(T(n),OW0,IW0);var L=m[1];re(Ny[31],function(O1){return l(i,O1)},function(O1){return l(x,O1)},n,L),l(T(n),BW0),l(T(n),LW0),z(T(n),RW0,MW0);var v=m[2];if(v){te(n,jW0);var a0=v[1];re(Du[1],function(O1){return l(i,O1)},function(O1,dx){return te(O1,NW0)},n,a0),te(n,UW0)}else te(n,VW0);return l(T(n),$W0),l(T(n),KW0)}),Ce(Rl0,function(i,x,n){var m=z(fX,i,x);return z(Fi(kW0),m,n)});var jl0=[0,Ae0,Ml0,fX,Rl0],pX=function i(x,n,m,L){return i.fun(x,n,m,L)},Ul0=function i(x,n,m){return i.fun(x,n,m)},Te0=function i(x,n,m,L){return i.fun(x,n,m,L)},Vl0=function i(x,n,m){return i.fun(x,n,m)};Ce(pX,function(i,x,n,m){if(m[0]===0){l(T(n),FW0);var L=m[1];return re(Ll0[3],function(a0){return l(i,a0)},function(a0){return l(x,a0)},n,L),l(T(n),AW0)}l(T(n),TW0);var v=m[1];return re(jl0[1],function(a0){return l(i,a0)},function(a0){return l(x,a0)},n,v),l(T(n),wW0)}),Ce(Ul0,function(i,x,n){var m=z(pX,i,x);return z(Fi(SW0),m,n)}),Ce(Te0,function(i,x,n,m){l(T(n),lW0),z(T(n),pW0,fW0);var L=m[1];l(T(n),dW0),U2(function(O1,dx){return O1&&l(T(n),cW0),re(pX,function(ie){return l(i,ie)},function(ie){return l(x,ie)},n,dx),1},0,L),l(T(n),mW0),l(T(n),hW0),l(T(n),gW0),z(T(n),yW0,_W0);var v=m[2];if(v){te(n,DW0);var a0=v[1];re(Du[1],function(O1){return l(i,O1)},function(O1,dx){return l(T(O1),sW0),U2(function(ie,Ie){return ie&&l(T(O1),oW0),zr(xP[1],function(Ot){return l(i,Ot)},O1,Ie),1},0,dx),l(T(O1),uW0)},n,a0),te(n,vW0)}else te(n,bW0);return l(T(n),CW0),l(T(n),EW0)}),Ce(Vl0,function(i,x,n){var m=z(Te0,i,x);return z(Fi(aW0),m,n)});var $l0=[0,Ll0,jl0,pX,Ul0,Te0,Vl0],we0=function i(x,n,m,L){return i.fun(x,n,m,L)},Kl0=function i(x,n,m){return i.fun(x,n,m)};Ce(we0,function(i,x,n,m){l(T(n),qz0),z(T(n),Hz0,Jz0);var L=m[1];l(T(n),Gz0),U2(function(O1,dx){return O1&&l(T(n),Wz0),re(Ny[31],function(ie){return l(i,ie)},function(ie){return l(x,ie)},n,dx),1},0,L),l(T(n),Xz0),l(T(n),Yz0),l(T(n),Qz0),z(T(n),xW0,Zz0);var v=m[2];if(v){te(n,eW0);var a0=v[1];re(Du[1],function(O1){return l(i,O1)},function(O1,dx){return te(O1,zz0)},n,a0),te(n,tW0)}else te(n,rW0);return l(T(n),nW0),l(T(n),iW0)}),Ce(Kl0,function(i,x,n){var m=z(we0,i,x);return z(Fi(Kz0),m,n)});var zl0=[0,we0,Kl0],dX=function i(x,n){return i.fun(x,n)},Wl0=function i(x){return i.fun(x)},ke0=function i(x,n,m,L){return i.fun(x,n,m,L)},ql0=function i(x,n,m){return i.fun(x,n,m)};Ce(dX,function(i,x){switch(x){case 0:return te(i,Bz0);case 1:return te(i,Lz0);case 2:return te(i,Mz0);case 3:return te(i,Rz0);case 4:return te(i,jz0);case 5:return te(i,Uz0);case 6:return te(i,Vz0);default:return te(i,$z0)}}),Ce(Wl0,function(i){return z(Fi(Oz0),dX,i)}),Ce(ke0,function(i,x,n,m){l(T(n),_z0),z(T(n),Dz0,yz0),z(dX,n,m[1]),l(T(n),vz0),l(T(n),bz0),z(T(n),Ez0,Cz0);var L=m[2];re(Ny[31],function(O1){return l(i,O1)},function(O1){return l(x,O1)},n,L),l(T(n),Sz0),l(T(n),Fz0),z(T(n),Tz0,Az0);var v=m[3];if(v){te(n,wz0);var a0=v[1];re(Du[1],function(O1){return l(i,O1)},function(O1,dx){return te(O1,gz0)},n,a0),te(n,kz0)}else te(n,Nz0);return l(T(n),Pz0),l(T(n),Iz0)}),Ce(ql0,function(i,x,n){var m=z(ke0,i,x);return z(Fi(hz0),m,n)});var Jl0=[0,dX,Wl0,ke0,ql0],mX=function i(x,n){return i.fun(x,n)},Hl0=function i(x){return i.fun(x)},Ne0=function i(x,n,m,L){return i.fun(x,n,m,L)},Gl0=function i(x,n,m){return i.fun(x,n,m)};Ce(mX,function(i,x){switch(x){case 0:return te(i,HK0);case 1:return te(i,GK0);case 2:return te(i,XK0);case 3:return te(i,YK0);case 4:return te(i,QK0);case 5:return te(i,ZK0);case 6:return te(i,xz0);case 7:return te(i,ez0);case 8:return te(i,tz0);case 9:return te(i,rz0);case 10:return te(i,nz0);case 11:return te(i,iz0);case 12:return te(i,az0);case 13:return te(i,oz0);case 14:return te(i,sz0);case 15:return te(i,uz0);case 16:return te(i,cz0);case 17:return te(i,lz0);case 18:return te(i,fz0);case 19:return te(i,pz0);case 20:return te(i,dz0);default:return te(i,mz0)}}),Ce(Hl0,function(i){return z(Fi(JK0),mX,i)}),Ce(Ne0,function(i,x,n,m){l(T(n),AK0),z(T(n),wK0,TK0),z(mX,n,m[1]),l(T(n),kK0),l(T(n),NK0),z(T(n),IK0,PK0);var L=m[2];re(Ny[31],function(dx){return l(i,dx)},function(dx){return l(x,dx)},n,L),l(T(n),OK0),l(T(n),BK0),z(T(n),MK0,LK0);var v=m[3];re(Ny[31],function(dx){return l(i,dx)},function(dx){return l(x,dx)},n,v),l(T(n),RK0),l(T(n),jK0),z(T(n),VK0,UK0);var a0=m[4];if(a0){te(n,$K0);var O1=a0[1];re(Du[1],function(dx){return l(i,dx)},function(dx,ie){return te(dx,FK0)},n,O1),te(n,KK0)}else te(n,zK0);return l(T(n),WK0),l(T(n),qK0)}),Ce(Gl0,function(i,x,n){var m=z(Ne0,i,x);return z(Fi(SK0),m,n)});var Xl0=[0,mX,Hl0,Ne0,Gl0],hX=function i(x,n){return i.fun(x,n)},Yl0=function i(x){return i.fun(x)},Pe0=function i(x,n,m,L){return i.fun(x,n,m,L)},Ql0=function i(x,n,m){return i.fun(x,n,m)};Ce(hX,function(i,x){switch(x){case 0:return te(i,pK0);case 1:return te(i,dK0);case 2:return te(i,mK0);case 3:return te(i,hK0);case 4:return te(i,gK0);case 5:return te(i,_K0);case 6:return te(i,yK0);case 7:return te(i,DK0);case 8:return te(i,vK0);case 9:return te(i,bK0);case 10:return te(i,CK0);default:return te(i,EK0)}}),Ce(Yl0,function(i){return z(Fi(fK0),hX,i)}),Ce(Pe0,function(i,x,n,m){l(T(n),K$0),z(T(n),W$0,z$0);var L=m[1];L?(te(n,q$0),z(hX,n,L[1]),te(n,J$0)):te(n,H$0),l(T(n),G$0),l(T(n),X$0),z(T(n),Q$0,Y$0);var v=m[2];re(EL[5],function(ie){return l(i,ie)},function(ie){return l(x,ie)},n,v),l(T(n),Z$0),l(T(n),xK0),z(T(n),tK0,eK0);var a0=m[3];re(Ny[31],function(ie){return l(i,ie)},function(ie){return l(x,ie)},n,a0),l(T(n),rK0),l(T(n),nK0),z(T(n),aK0,iK0);var O1=m[4];if(O1){te(n,oK0);var dx=O1[1];re(Du[1],function(ie){return l(i,ie)},function(ie,Ie){return te(ie,$$0)},n,dx),te(n,sK0)}else te(n,uK0);return l(T(n),cK0),l(T(n),lK0)}),Ce(Ql0,function(i,x,n){var m=z(Pe0,i,x);return z(Fi(V$0),m,n)});var Zl0=[0,hX,Yl0,Pe0,Ql0],gX=function i(x,n){return i.fun(x,n)},xf0=function i(x){return i.fun(x)},Ie0=function i(x,n,m,L){return i.fun(x,n,m,L)},ef0=function i(x,n,m){return i.fun(x,n,m)};Ce(gX,function(i,x){return te(i,x===0?U$0:j$0)}),Ce(xf0,function(i){return z(Fi(R$0),gX,i)}),Ce(Ie0,function(i,x,n,m){l(T(n),g$0),z(T(n),y$0,_$0),z(gX,n,m[1]),l(T(n),D$0),l(T(n),v$0),z(T(n),C$0,b$0);var L=m[2];re(Ny[31],function(dx){return l(i,dx)},function(dx){return l(x,dx)},n,L),l(T(n),E$0),l(T(n),S$0),z(T(n),A$0,F$0);var v=m[3];z(T(n),T$0,v),l(T(n),w$0),l(T(n),k$0),z(T(n),P$0,N$0);var a0=m[4];if(a0){te(n,I$0);var O1=a0[1];re(Du[1],function(dx){return l(i,dx)},function(dx,ie){return te(dx,h$0)},n,O1),te(n,O$0)}else te(n,B$0);return l(T(n),L$0),l(T(n),M$0)}),Ce(ef0,function(i,x,n){var m=z(Ie0,i,x);return z(Fi(m$0),m,n)});var tf0=[0,gX,xf0,Ie0,ef0],_X=function i(x,n){return i.fun(x,n)},rf0=function i(x){return i.fun(x)},Oe0=function i(x,n,m,L){return i.fun(x,n,m,L)},nf0=function i(x,n,m){return i.fun(x,n,m)};Ce(_X,function(i,x){switch(x){case 0:return te(i,f$0);case 1:return te(i,p$0);default:return te(i,d$0)}}),Ce(rf0,function(i){return z(Fi(l$0),_X,i)}),Ce(Oe0,function(i,x,n,m){l(T(n),WV0),z(T(n),JV0,qV0),z(_X,n,m[1]),l(T(n),HV0),l(T(n),GV0),z(T(n),YV0,XV0);var L=m[2];re(Ny[31],function(dx){return l(i,dx)},function(dx){return l(x,dx)},n,L),l(T(n),QV0),l(T(n),ZV0),z(T(n),e$0,x$0);var v=m[3];re(Ny[31],function(dx){return l(i,dx)},function(dx){return l(x,dx)},n,v),l(T(n),t$0),l(T(n),r$0),z(T(n),i$0,n$0);var a0=m[4];if(a0){te(n,a$0);var O1=a0[1];re(Du[1],function(dx){return l(i,dx)},function(dx,ie){return te(dx,zV0)},n,O1),te(n,o$0)}else te(n,s$0);return l(T(n),u$0),l(T(n),c$0)}),Ce(nf0,function(i,x,n){var m=z(Oe0,i,x);return z(Fi(KV0),m,n)});var if0=[0,_X,rf0,Oe0,nf0],Be0=function i(x,n,m,L){return i.fun(x,n,m,L)},af0=function i(x,n,m){return i.fun(x,n,m)};Ce(Be0,function(i,x,n,m){l(T(n),CV0),z(T(n),SV0,EV0);var L=m[1];re(Ny[31],function(ie){return l(i,ie)},function(ie){return l(x,ie)},n,L),l(T(n),FV0),l(T(n),AV0),z(T(n),wV0,TV0);var v=m[2];re(Ny[31],function(ie){return l(i,ie)},function(ie){return l(x,ie)},n,v),l(T(n),kV0),l(T(n),NV0),z(T(n),IV0,PV0);var a0=m[3];re(Ny[31],function(ie){return l(i,ie)},function(ie){return l(x,ie)},n,a0),l(T(n),OV0),l(T(n),BV0),z(T(n),MV0,LV0);var O1=m[4];if(O1){te(n,RV0);var dx=O1[1];re(Du[1],function(ie){return l(i,ie)},function(ie,Ie){return te(ie,bV0)},n,dx),te(n,jV0)}else te(n,UV0);return l(T(n),VV0),l(T(n),$V0)}),Ce(af0,function(i,x,n){var m=z(Be0,i,x);return z(Fi(vV0),m,n)});var of0=[0,Be0,af0],yX=function i(x,n,m,L){return i.fun(x,n,m,L)},sf0=function i(x,n,m){return i.fun(x,n,m)};Ce(yX,function(i,x,n,m){if(m[0]===0){l(T(n),gV0);var L=m[1];return re(Ny[31],function(a0){return l(i,a0)},function(a0){return l(x,a0)},n,L),l(T(n),_V0)}l(T(n),yV0);var v=m[1];return re(De0[1],function(a0){return l(i,a0)},function(a0){return l(x,a0)},n,v),l(T(n),DV0)}),Ce(sf0,function(i,x,n){var m=z(yX,i,x);return z(Fi(hV0),m,n)});var Le0=function i(x,n,m,L){return i.fun(x,n,m,L)},uf0=function i(x,n,m){return i.fun(x,n,m)},DX=function i(x,n,m,L){return i.fun(x,n,m,L)},cf0=function i(x,n,m){return i.fun(x,n,m)};Ce(Le0,function(i,x,n,m){l(T(n),pV0),z(i,n,m[1]),l(T(n),dV0);var L=m[2];return re(DX,function(v){return l(i,v)},function(v){return l(x,v)},n,L),l(T(n),mV0)}),Ce(uf0,function(i,x,n){var m=z(Le0,i,x);return z(Fi(fV0),m,n)}),Ce(DX,function(i,x,n,m){l(T(n),QU0),z(T(n),xV0,ZU0);var L=m[1];l(T(n),eV0),U2(function(O1,dx){return O1&&l(T(n),YU0),re(yX,function(ie){return l(i,ie)},function(ie){return l(x,ie)},n,dx),1},0,L),l(T(n),tV0),l(T(n),rV0),l(T(n),nV0),z(T(n),aV0,iV0);var v=m[2];if(v){te(n,oV0);var a0=v[1];re(Du[1],function(O1){return l(i,O1)},function(O1,dx){return l(T(O1),GU0),U2(function(ie,Ie){return ie&&l(T(O1),HU0),zr(xP[1],function(Ot){return l(i,Ot)},O1,Ie),1},0,dx),l(T(O1),XU0)},n,a0),te(n,sV0)}else te(n,uV0);return l(T(n),cV0),l(T(n),lV0)}),Ce(cf0,function(i,x,n){var m=z(DX,i,x);return z(Fi(JU0),m,n)});var Me0=[0,Le0,uf0,DX,cf0],Re0=function i(x,n,m,L){return i.fun(x,n,m,L)},lf0=function i(x,n,m){return i.fun(x,n,m)};Ce(Re0,function(i,x,n,m){l(T(n),vU0),z(T(n),CU0,bU0);var L=m[1];re(Ny[31],function(Ot){return l(i,Ot)},function(Ot){return l(x,Ot)},n,L),l(T(n),EU0),l(T(n),SU0),z(T(n),AU0,FU0);var v=m[2];if(v){te(n,TU0);var a0=v[1];re(Ny[2][1],function(Ot){return l(i,Ot)},function(Ot){return l(x,Ot)},n,a0),te(n,wU0)}else te(n,kU0);l(T(n),NU0),l(T(n),PU0),z(T(n),OU0,IU0);var O1=m[3];if(O1){te(n,BU0);var dx=O1[1];re(Me0[1],function(Ot){return l(i,Ot)},function(Ot){return l(x,Ot)},n,dx),te(n,LU0)}else te(n,MU0);l(T(n),RU0),l(T(n),jU0),z(T(n),VU0,UU0);var ie=m[4];if(ie){te(n,$U0);var Ie=ie[1];re(Du[1],function(Ot){return l(i,Ot)},function(Ot,Or){return te(Ot,DU0)},n,Ie),te(n,KU0)}else te(n,zU0);return l(T(n),WU0),l(T(n),qU0)}),Ce(lf0,function(i,x,n){var m=z(Re0,i,x);return z(Fi(yU0),m,n)});var ff0=[0,Re0,lf0],je0=function i(x,n,m,L){return i.fun(x,n,m,L)},pf0=function i(x,n,m){return i.fun(x,n,m)};Ce(je0,function(i,x,n,m){l(T(n),Xj0),z(T(n),Qj0,Yj0);var L=m[1];re(Ny[31],function(Ie){return l(i,Ie)},function(Ie){return l(x,Ie)},n,L),l(T(n),Zj0),l(T(n),xU0),z(T(n),tU0,eU0);var v=m[2];if(v){te(n,rU0);var a0=v[1];re(Ny[2][1],function(Ie){return l(i,Ie)},function(Ie){return l(x,Ie)},n,a0),te(n,nU0)}else te(n,iU0);l(T(n),aU0),l(T(n),oU0),z(T(n),uU0,sU0);var O1=m[3];re(Me0[1],function(Ie){return l(i,Ie)},function(Ie){return l(x,Ie)},n,O1),l(T(n),cU0),l(T(n),lU0),z(T(n),pU0,fU0);var dx=m[4];if(dx){te(n,dU0);var ie=dx[1];re(Du[1],function(Ie){return l(i,Ie)},function(Ie,Ot){return te(Ie,Gj0)},n,ie),te(n,mU0)}else te(n,hU0);return l(T(n),gU0),l(T(n),_U0)}),Ce(pf0,function(i,x,n){var m=z(je0,i,x);return z(Fi(Hj0),m,n)});var Ue0=[0,je0,pf0],Ve0=function i(x,n,m,L){return i.fun(x,n,m,L)},df0=function i(x,n,m){return i.fun(x,n,m)};Ce(Ve0,function(i,x,n,m){l(T(n),Rj0),z(T(n),Uj0,jj0);var L=m[1];re(Ue0[1],function(a0){return l(i,a0)},function(a0){return l(x,a0)},n,L),l(T(n),Vj0),l(T(n),$j0),z(T(n),zj0,Kj0);var v=m[2];return z(T(n),Wj0,v),l(T(n),qj0),l(T(n),Jj0)}),Ce(df0,function(i,x,n){var m=z(Ve0,i,x);return z(Fi(Mj0),m,n)});var mf0=[0,Ve0,df0],vX=function i(x,n,m,L){return i.fun(x,n,m,L)},hf0=function i(x,n,m){return i.fun(x,n,m)},$e0=function i(x,n,m,L){return i.fun(x,n,m,L)},gf0=function i(x,n,m){return i.fun(x,n,m)};Ce(vX,function(i,x,n,m){switch(m[0]){case 0:l(T(n),Nj0);var L=m[1];return re(n4[1],function(O1){return l(i,O1)},function(O1){return l(x,O1)},n,L),l(T(n),Pj0);case 1:l(T(n),Ij0);var v=m[1];return zr(iG[1],function(O1){return l(i,O1)},n,v),l(T(n),Oj0);default:l(T(n),Bj0);var a0=m[1];return re(Ny[31],function(O1){return l(i,O1)},function(O1){return l(x,O1)},n,a0),l(T(n),Lj0)}}),Ce(hf0,function(i,x,n){var m=z(vX,i,x);return z(Fi(kj0),m,n)}),Ce($e0,function(i,x,n,m){l(T(n),dj0),z(T(n),hj0,mj0);var L=m[1];re(Ny[31],function(dx){return l(i,dx)},function(dx){return l(x,dx)},n,L),l(T(n),gj0),l(T(n),_j0),z(T(n),Dj0,yj0);var v=m[2];re(vX,function(dx){return l(i,dx)},function(dx){return l(x,dx)},n,v),l(T(n),vj0),l(T(n),bj0),z(T(n),Ej0,Cj0);var a0=m[3];if(a0){te(n,Sj0);var O1=a0[1];re(Du[1],function(dx){return l(i,dx)},function(dx,ie){return te(dx,pj0)},n,O1),te(n,Fj0)}else te(n,Aj0);return l(T(n),Tj0),l(T(n),wj0)}),Ce(gf0,function(i,x,n){var m=z($e0,i,x);return z(Fi(fj0),m,n)});var Ke0=[0,vX,hf0,$e0,gf0],ze0=function i(x,n,m,L){return i.fun(x,n,m,L)},_f0=function i(x,n,m){return i.fun(x,n,m)};Ce(ze0,function(i,x,n,m){l(T(n),tj0),z(T(n),nj0,rj0);var L=m[1];re(Ke0[3],function(a0){return l(i,a0)},function(a0){return l(x,a0)},n,L),l(T(n),ij0),l(T(n),aj0),z(T(n),sj0,oj0);var v=m[2];return z(T(n),uj0,v),l(T(n),cj0),l(T(n),lj0)}),Ce(_f0,function(i,x,n){var m=z(ze0,i,x);return z(Fi(ej0),m,n)});var yf0=[0,ze0,_f0],We0=function i(x,n,m,L){return i.fun(x,n,m,L)},Df0=function i(x,n,m){return i.fun(x,n,m)};Ce(We0,function(i,x,n,m){l(T(n),BR0),z(T(n),MR0,LR0);var L=m[1];if(L){te(n,RR0);var v=L[1];re(Ny[31],function(ie){return l(i,ie)},function(ie){return l(x,ie)},n,v),te(n,jR0)}else te(n,UR0);l(T(n),VR0),l(T(n),$R0),z(T(n),zR0,KR0);var a0=m[2];if(a0){te(n,WR0);var O1=a0[1];re(Du[1],function(ie){return l(i,ie)},function(ie,Ie){return te(ie,OR0)},n,O1),te(n,qR0)}else te(n,JR0);l(T(n),HR0),l(T(n),GR0),z(T(n),YR0,XR0);var dx=m[3];return z(T(n),QR0,dx),l(T(n),ZR0),l(T(n),xj0)}),Ce(Df0,function(i,x,n){var m=z(We0,i,x);return z(Fi(IR0),m,n)});var vf0=[0,We0,Df0],qe0=function i(x,n,m,L){return i.fun(x,n,m,L)},bf0=function i(x,n,m){return i.fun(x,n,m)},bX=function i(x,n,m,L){return i.fun(x,n,m,L)},Cf0=function i(x,n,m){return i.fun(x,n,m)};Ce(qe0,function(i,x,n,m){l(T(n),kR0),z(i,n,m[1]),l(T(n),NR0);var L=m[2];return re(bX,function(v){return l(i,v)},function(v){return l(x,v)},n,L),l(T(n),PR0)}),Ce(bf0,function(i,x,n){var m=z(qe0,i,x);return z(Fi(wR0),m,n)}),Ce(bX,function(i,x,n,m){l(T(n),mR0),z(T(n),gR0,hR0);var L=m[1];re(EL[5],function(O1){return l(i,O1)},function(O1){return l(x,O1)},n,L),l(T(n),_R0),l(T(n),yR0),z(T(n),vR0,DR0);var v=m[2];re(Ny[31],function(O1){return l(i,O1)},function(O1){return l(x,O1)},n,v),l(T(n),bR0),l(T(n),CR0),z(T(n),SR0,ER0);var a0=m[3];return z(T(n),FR0,a0),l(T(n),AR0),l(T(n),TR0)}),Ce(Cf0,function(i,x,n){var m=z(bX,i,x);return z(Fi(dR0),m,n)});var Ef0=[0,qe0,bf0,bX,Cf0],Je0=function i(x,n,m,L){return i.fun(x,n,m,L)},Sf0=function i(x,n,m){return i.fun(x,n,m)};Ce(Je0,function(i,x,n,m){l(T(n),xR0),z(T(n),tR0,eR0);var L=m[1];l(T(n),rR0),U2(function(O1,dx){return O1&&l(T(n),ZM0),re(Ef0[1],function(ie){return l(i,ie)},function(ie){return l(x,ie)},n,dx),1},0,L),l(T(n),nR0),l(T(n),iR0),l(T(n),aR0),z(T(n),sR0,oR0);var v=m[2];if(v){te(n,uR0);var a0=v[1];re(Ny[31],function(O1){return l(i,O1)},function(O1){return l(x,O1)},n,a0),te(n,cR0)}else te(n,lR0);return l(T(n),fR0),l(T(n),pR0)}),Ce(Sf0,function(i,x,n){var m=z(Je0,i,x);return z(Fi(QM0),m,n)});var He0=[0,Ef0,Je0,Sf0],Ge0=function i(x,n,m,L){return i.fun(x,n,m,L)},Ff0=function i(x,n,m){return i.fun(x,n,m)};Ce(Ge0,function(i,x,n,m){l(T(n),RM0),z(T(n),UM0,jM0);var L=m[1];l(T(n),VM0),U2(function(O1,dx){return O1&&l(T(n),MM0),re(He0[1][1],function(ie){return l(i,ie)},function(ie){return l(x,ie)},n,dx),1},0,L),l(T(n),$M0),l(T(n),KM0),l(T(n),zM0),z(T(n),qM0,WM0);var v=m[2];if(v){te(n,JM0);var a0=v[1];re(Ny[31],function(O1){return l(i,O1)},function(O1){return l(x,O1)},n,a0),te(n,HM0)}else te(n,GM0);return l(T(n),XM0),l(T(n),YM0)}),Ce(Ff0,function(i,x,n){var m=z(Ge0,i,x);return z(Fi(LM0),m,n)});var Af0=[0,Ge0,Ff0],Xe0=function i(x,n,m,L){return i.fun(x,n,m,L)},Tf0=function i(x,n,m){return i.fun(x,n,m)};Ce(Xe0,function(i,x,n,m){l(T(n),DM0),z(T(n),bM0,vM0);var L=m[1];re(Ny[31],function(dx){return l(i,dx)},function(dx){return l(x,dx)},n,L),l(T(n),CM0),l(T(n),EM0),z(T(n),FM0,SM0);var v=m[2];re(GC[17],function(dx){return l(i,dx)},function(dx){return l(x,dx)},n,v),l(T(n),AM0),l(T(n),TM0),z(T(n),kM0,wM0);var a0=m[3];if(a0){te(n,NM0);var O1=a0[1];re(Du[1],function(dx){return l(i,dx)},function(dx,ie){return te(dx,yM0)},n,O1),te(n,PM0)}else te(n,IM0);return l(T(n),OM0),l(T(n),BM0)}),Ce(Tf0,function(i,x,n){var m=z(Xe0,i,x);return z(Fi(_M0),m,n)});var wf0=[0,Xe0,Tf0],Ye0=function i(x,n,m){return i.fun(x,n,m)},kf0=function i(x,n){return i.fun(x,n)};Ce(Ye0,function(i,x,n){l(T(x),tM0),z(T(x),nM0,rM0);var m=n[1];re(n4[1],function(O1){return l(i,O1)},function(O1){return l(i,O1)},x,m),l(T(x),iM0),l(T(x),aM0),z(T(x),sM0,oM0);var L=n[2];re(n4[1],function(O1){return l(i,O1)},function(O1){return l(i,O1)},x,L),l(T(x),uM0),l(T(x),cM0),z(T(x),fM0,lM0);var v=n[3];if(v){te(x,pM0);var a0=v[1];re(Du[1],function(O1){return l(i,O1)},function(O1,dx){return te(O1,eM0)},x,a0),te(x,dM0)}else te(x,mM0);return l(T(x),hM0),l(T(x),gM0)}),Ce(kf0,function(i,x){var n=l(Ye0,i);return z(Fi(xM0),n,x)});var Nf0=[0,Ye0,kf0],Qe0=function i(x,n,m){return i.fun(x,n,m)},Pf0=function i(x,n){return i.fun(x,n)};Ce(Qe0,function(i,x,n){l(T(x),qL0),z(T(x),HL0,JL0);var m=n[1];if(m){te(x,GL0);var L=m[1];re(Du[1],function(v){return l(i,v)},function(v,a0){return te(v,WL0)},x,L),te(x,XL0)}else te(x,YL0);return l(T(x),QL0),l(T(x),ZL0)}),Ce(Pf0,function(i,x){var n=l(Qe0,i);return z(Fi(zL0),n,x)});var If0=[0,Qe0,Pf0],Ze0=function i(x,n,m){return i.fun(x,n,m)},Of0=function i(x,n){return i.fun(x,n)};Ce(Ze0,function(i,x,n){l(T(x),LL0),z(T(x),RL0,ML0);var m=n[1];if(m){te(x,jL0);var L=m[1];re(Du[1],function(v){return l(i,v)},function(v,a0){return te(v,BL0)},x,L),te(x,UL0)}else te(x,VL0);return l(T(x),$L0),l(T(x),KL0)}),Ce(Of0,function(i,x){var n=l(Ze0,i);return z(Fi(OL0),n,x)});var Bf0=[0,Ze0,Of0],xt0=function i(x,n,m,L){return i.fun(x,n,m,L)},Lf0=function i(x,n,m){return i.fun(x,n,m)};Ce(xt0,function(i,x,n,m){l(T(n),bL0),z(T(n),EL0,CL0);var L=m[1];re(Ny[31],function(O1){return l(i,O1)},function(O1){return l(x,O1)},n,L),l(T(n),SL0),l(T(n),FL0),z(T(n),TL0,AL0);var v=m[2];if(v){te(n,wL0);var a0=v[1];re(Du[1],function(O1){return l(i,O1)},function(O1,dx){return te(O1,vL0)},n,a0),te(n,kL0)}else te(n,NL0);return l(T(n),PL0),l(T(n),IL0)}),Ce(Lf0,function(i,x,n){var m=z(xt0,i,x);return z(Fi(DL0),m,n)});var Mf0=[0,xt0,Lf0],et0=function i(x,n,m,L){return i.fun(x,n,m,L)},Rf0=function i(x,n,m){return i.fun(x,n,m)},CX=function i(x,n,m,L){return i.fun(x,n,m,L)},jf0=function i(x,n,m){return i.fun(x,n,m)};Ce(et0,function(i,x,n,m){l(T(n),gL0),z(x,n,m[1]),l(T(n),_L0);var L=m[2];return re(CX,function(v){return l(i,v)},function(v){return l(x,v)},n,L),l(T(n),yL0)}),Ce(Rf0,function(i,x,n){var m=z(et0,i,x);return z(Fi(hL0),m,n)}),Ce(CX,function(i,x,n,m){switch(m[0]){case 0:l(T(n),sB0);var L=m[1];return re(Sl0[3],function(Mi){return l(i,Mi)},function(Mi){return l(x,Mi)},n,L),l(T(n),uB0);case 1:l(T(n),cB0);var v=m[1];return re(qV[5],function(Mi){return l(i,Mi)},function(Mi){return l(x,Mi)},n,v),l(T(n),lB0);case 2:l(T(n),fB0);var a0=m[1];return re(Zl0[3],function(Mi){return l(i,Mi)},function(Mi){return l(x,Mi)},n,a0),l(T(n),pB0);case 3:l(T(n),dB0);var O1=m[1];return re(Xl0[3],function(Mi){return l(i,Mi)},function(Mi){return l(x,Mi)},n,O1),l(T(n),mB0);case 4:l(T(n),hB0);var dx=m[1];return re(Ue0[1],function(Mi){return l(i,Mi)},function(Mi){return l(x,Mi)},n,dx),l(T(n),gB0);case 5:l(T(n),_B0);var ie=m[1];return re(NK[8],function(Mi){return l(i,Mi)},function(Mi){return l(x,Mi)},n,ie),l(T(n),yB0);case 6:l(T(n),DB0);var Ie=m[1];return re(He0[2],function(Mi){return l(i,Mi)},function(Mi){return l(x,Mi)},n,Ie),l(T(n),vB0);case 7:l(T(n),bB0);var Ot=m[1];return re(of0[1],function(Mi){return l(i,Mi)},function(Mi){return l(x,Mi)},n,Ot),l(T(n),CB0);case 8:l(T(n),EB0);var Or=m[1];return re(qV[5],function(Mi){return l(i,Mi)},function(Mi){return l(x,Mi)},n,Or),l(T(n),SB0);case 9:l(T(n),FB0);var Cr=m[1];return re(Af0[1],function(Mi){return l(i,Mi)},function(Mi){return l(x,Mi)},n,Cr),l(T(n),AB0);case 10:l(T(n),TB0);var ni=m[1];return re(n4[1],function(Mi){return l(i,Mi)},function(Mi){return l(x,Mi)},n,ni),l(T(n),wB0);case 11:l(T(n),kB0);var Jn=m[1];return re(Mf0[1],function(Mi){return l(i,Mi)},function(Mi){return l(x,Mi)},n,Jn),l(T(n),NB0);case 12:l(T(n),PB0);var Vn=m[1];return re(k10[17],function(Mi){return l(i,Mi)},function(Mi){return l(x,Mi)},n,Vn),l(T(n),IB0);case 13:l(T(n),OB0);var zn=m[1];return re(k10[19],function(Mi){return l(i,Mi)},function(Mi){return l(x,Mi)},n,zn),l(T(n),BB0);case 14:l(T(n),LB0);var Oi=m[1];return zr(Lq[2],function(Mi){return l(i,Mi)},n,Oi),l(T(n),MB0);case 15:l(T(n),RB0);var xn=m[1];return re(if0[3],function(Mi){return l(i,Mi)},function(Mi){return l(x,Mi)},n,xn),l(T(n),jB0);case 16:l(T(n),UB0);var vt=m[1];return re(Ke0[3],function(Mi){return l(i,Mi)},function(Mi){return l(x,Mi)},n,vt),l(T(n),VB0);case 17:l(T(n),$B0);var Xt=m[1];return zr(Nf0[1],function(Mi){return l(i,Mi)},n,Xt),l(T(n),KB0);case 18:l(T(n),zB0);var Me=m[1];return re(ff0[1],function(Mi){return l(i,Mi)},function(Mi){return l(x,Mi)},n,Me),l(T(n),WB0);case 19:l(T(n),qB0);var Ke=m[1];return re($l0[5],function(Mi){return l(i,Mi)},function(Mi){return l(x,Mi)},n,Ke),l(T(n),JB0);case 20:l(T(n),HB0);var ct=m[1];return re(mf0[1],function(Mi){return l(i,Mi)},function(Mi){return l(x,Mi)},n,ct),l(T(n),GB0);case 21:l(T(n),XB0);var sr=m[1];return re(yf0[1],function(Mi){return l(i,Mi)},function(Mi){return l(x,Mi)},n,sr),l(T(n),YB0);case 22:l(T(n),QB0);var kr=m[1];return re(zl0[1],function(Mi){return l(i,Mi)},function(Mi){return l(x,Mi)},n,kr),l(T(n),ZB0);case 23:l(T(n),xL0);var wn=m[1];return zr(Bf0[1],function(Mi){return l(i,Mi)},n,wn),l(T(n),eL0);case 24:l(T(n),tL0);var In=m[1];return re(Pl0[1],function(Mi){return l(i,Mi)},function(Mi){return l(x,Mi)},n,In),l(T(n),rL0);case 25:l(T(n),nL0);var Tn=m[1];return re(Ee0[2],function(Mi){return l(i,Mi)},function(Mi){return l(x,Mi)},n,Tn),l(T(n),iL0);case 26:l(T(n),aL0);var ix=m[1];return zr(If0[1],function(Mi){return l(i,Mi)},n,ix),l(T(n),oL0);case 27:l(T(n),sL0);var Nr=m[1];return re(wf0[1],function(Mi){return l(i,Mi)},function(Mi){return l(x,Mi)},n,Nr),l(T(n),uL0);case 28:l(T(n),cL0);var Mx=m[1];return re(Jl0[3],function(Mi){return l(i,Mi)},function(Mi){return l(x,Mi)},n,Mx),l(T(n),lL0);case 29:l(T(n),fL0);var ko=m[1];return re(tf0[3],function(Mi){return l(i,Mi)},function(Mi){return l(x,Mi)},n,ko),l(T(n),pL0);default:l(T(n),dL0);var iu=m[1];return re(vf0[1],function(Mi){return l(i,Mi)},function(Mi){return l(x,Mi)},n,iu),l(T(n),mL0)}}),Ce(jf0,function(i,x,n){var m=z(CX,i,x);return z(Fi(oB0),m,n)}),zr(S9,hw1,Ny,[0,_l0,S2x,De0,Sl0,Ee0,Pl0,$l0,zl0,Jl0,Xl0,Zl0,tf0,if0,of0,yX,sf0,Me0,ff0,Ue0,mf0,Ke0,yf0,vf0,He0,Af0,wf0,Nf0,If0,Bf0,Mf0,et0,Rf0,CX,jf0]);var tt0=function i(x,n,m,L){return i.fun(x,n,m,L)},Uf0=function i(x,n,m){return i.fun(x,n,m)},EX=function i(x,n,m){return i.fun(x,n,m)},Vf0=function i(x,n){return i.fun(x,n)};Ce(tt0,function(i,x,n,m){l(T(n),nB0),z(x,n,m[1]),l(T(n),iB0);var L=m[2];return zr(EX,function(v){return l(i,v)},n,L),l(T(n),aB0)}),Ce(Uf0,function(i,x,n){var m=z(tt0,i,x);return z(Fi(rB0),m,n)}),Ce(EX,function(i,x,n){l(T(x),zO0),z(T(x),qO0,WO0);var m=n[1];z(T(x),JO0,m),l(T(x),HO0),l(T(x),GO0),z(T(x),YO0,XO0);var L=n[2];if(L){te(x,QO0);var v=L[1];re(Du[1],function(a0){return l(i,a0)},function(a0,O1){return te(a0,KO0)},x,v),te(x,ZO0)}else te(x,xB0);return l(T(x),eB0),l(T(x),tB0)}),Ce(Vf0,function(i,x){var n=l(EX,i);return z(Fi($O0),n,x)});var IK=[0,tt0,Uf0,EX,Vf0],rt0=function i(x,n,m,L){return i.fun(x,n,m,L)},$f0=function i(x,n,m){return i.fun(x,n,m)},SX=function i(x,n,m,L){return i.fun(x,n,m,L)},Kf0=function i(x,n,m){return i.fun(x,n,m)};Ce(rt0,function(i,x,n,m){l(T(n),jO0),z(i,n,m[1]),l(T(n),UO0);var L=m[2];return re(SX,function(v){return l(i,v)},function(v){return l(x,v)},n,L),l(T(n),VO0)}),Ce($f0,function(i,x,n){var m=z(rt0,i,x);return z(Fi(RO0),m,n)}),Ce(SX,function(i,x,n,m){l(T(n),wO0),z(T(n),NO0,kO0);var L=m[1];re(IK[1],function(a0){return l(i,a0)},function(a0){return l(x,a0)},n,L),l(T(n),PO0),l(T(n),IO0),z(T(n),BO0,OO0);var v=m[2];return re(IK[1],function(a0){return l(i,a0)},function(a0){return l(x,a0)},n,v),l(T(n),LO0),l(T(n),MO0)}),Ce(Kf0,function(i,x,n){var m=z(SX,i,x);return z(Fi(TO0),m,n)});var nt0=[0,rt0,$f0,SX,Kf0],it0=function i(x,n,m,L){return i.fun(x,n,m,L)},zf0=function i(x,n,m){return i.fun(x,n,m)},FX=function i(x,n,m,L){return i.fun(x,n,m,L)},Wf0=function i(x,n,m){return i.fun(x,n,m)};Ce(it0,function(i,x,n,m){l(T(n),hO0),z(T(n),_O0,gO0);var L=m[1];re(FX,function(O1){return l(i,O1)},function(O1){return l(x,O1)},n,L),l(T(n),yO0),l(T(n),DO0),z(T(n),bO0,vO0);var v=m[2];if(v){te(n,CO0);var a0=v[1];re(Du[1],function(O1){return l(i,O1)},function(O1,dx){return l(T(O1),dO0),U2(function(ie,Ie){return ie&&l(T(O1),pO0),zr(xP[1],function(Ot){return l(i,Ot)},O1,Ie),1},0,dx),l(T(O1),mO0)},n,a0),te(n,EO0)}else te(n,SO0);return l(T(n),FO0),l(T(n),AO0)}),Ce(zf0,function(i,x,n){var m=z(it0,i,x);return z(Fi(fO0),m,n)}),Ce(FX,function(i,x,n,m){if(m){l(T(n),uO0);var L=m[1];return re(Ny[31],function(v){return l(i,v)},function(v){return l(x,v)},n,L),l(T(n),cO0)}return te(n,lO0)}),Ce(Wf0,function(i,x,n){var m=z(FX,i,x);return z(Fi(sO0),m,n)});var at0=[0,it0,zf0,FX,Wf0],qf0=function(i,x){l(T(i),XI0),z(T(i),QI0,YI0);var n=x[1];z(T(i),ZI0,n),l(T(i),xO0),l(T(i),eO0),z(T(i),rO0,tO0);var m=x[2];return z(T(i),nO0,m),l(T(i),iO0),l(T(i),aO0)},Jf0=[0,qf0,function(i){return z(Fi(oO0),qf0,i)}],ot0=function i(x,n,m,L){return i.fun(x,n,m,L)},Hf0=function i(x,n,m){return i.fun(x,n,m)},AX=function i(x,n,m,L){return i.fun(x,n,m,L)},Gf0=function i(x,n,m){return i.fun(x,n,m)},TX=function i(x,n,m,L){return i.fun(x,n,m,L)},Xf0=function i(x,n,m){return i.fun(x,n,m)},wX=function i(x,n,m,L){return i.fun(x,n,m,L)},Yf0=function i(x,n,m){return i.fun(x,n,m)};Ce(ot0,function(i,x,n,m){l(T(n),JI0),z(i,n,m[1]),l(T(n),HI0);var L=m[2];return re(wX,function(v){return l(i,v)},function(v){return l(x,v)},n,L),l(T(n),GI0)}),Ce(Hf0,function(i,x,n){var m=z(ot0,i,x);return z(Fi(qI0),m,n)}),Ce(AX,function(i,x,n,m){if(m[0]===0){l(T(n),$I0);var L=m[1];return re(IK[1],function(a0){return l(i,a0)},function(a0){return l(x,a0)},n,L),l(T(n),KI0)}l(T(n),zI0);var v=m[1];return re(nt0[1],function(a0){return l(i,a0)},function(a0){return l(x,a0)},n,v),l(T(n),WI0)}),Ce(Gf0,function(i,x,n){var m=z(AX,i,x);return z(Fi(VI0),m,n)}),Ce(TX,function(i,x,n,m){if(m[0]===0){l(T(n),BI0),z(x,n,m[1]),l(T(n),LI0);var L=m[2];return zr(Lq[2],function(a0){return l(i,a0)},n,L),l(T(n),MI0)}l(T(n),RI0),z(x,n,m[1]),l(T(n),jI0);var v=m[2];return re(at0[1],function(a0){return l(i,a0)},function(a0){return l(x,a0)},n,v),l(T(n),UI0)}),Ce(Xf0,function(i,x,n){var m=z(TX,i,x);return z(Fi(OI0),m,n)}),Ce(wX,function(i,x,n,m){l(T(n),bI0),z(T(n),EI0,CI0);var L=m[1];re(AX,function(O1){return l(i,O1)},function(O1){return l(x,O1)},n,L),l(T(n),SI0),l(T(n),FI0),z(T(n),TI0,AI0);var v=m[2];if(v){te(n,wI0);var a0=v[1];re(TX,function(O1){return l(i,O1)},function(O1){return l(x,O1)},n,a0),te(n,kI0)}else te(n,NI0);return l(T(n),PI0),l(T(n),II0)}),Ce(Yf0,function(i,x,n){var m=z(wX,i,x);return z(Fi(vI0),m,n)});var Qf0=[0,ot0,Hf0,AX,Gf0,TX,Xf0,wX,Yf0],st0=function i(x,n,m,L){return i.fun(x,n,m,L)},Zf0=function i(x,n,m){return i.fun(x,n,m)},kX=function i(x,n,m,L){return i.fun(x,n,m,L)},xp0=function i(x,n,m){return i.fun(x,n,m)};Ce(st0,function(i,x,n,m){l(T(n),_I0),z(i,n,m[1]),l(T(n),yI0);var L=m[2];return re(kX,function(v){return l(i,v)},function(v){return l(x,v)},n,L),l(T(n),DI0)}),Ce(Zf0,function(i,x,n){var m=z(st0,i,x);return z(Fi(gI0),m,n)}),Ce(kX,function(i,x,n,m){l(T(n),iI0),z(T(n),oI0,aI0);var L=m[1];re(Ny[31],function(O1){return l(i,O1)},function(O1){return l(x,O1)},n,L),l(T(n),sI0),l(T(n),uI0),z(T(n),lI0,cI0);var v=m[2];if(v){te(n,fI0);var a0=v[1];re(Du[1],function(O1){return l(i,O1)},function(O1,dx){return te(O1,nI0)},n,a0),te(n,pI0)}else te(n,dI0);return l(T(n),mI0),l(T(n),hI0)}),Ce(xp0,function(i,x,n){var m=z(kX,i,x);return z(Fi(rI0),m,n)});var ep0=[0,st0,Zf0,kX,xp0],NX=function i(x,n,m,L){return i.fun(x,n,m,L)},tp0=function i(x,n,m){return i.fun(x,n,m)},PX=function i(x,n,m,L){return i.fun(x,n,m,L)},rp0=function i(x,n,m){return i.fun(x,n,m)},IX=function i(x,n,m,L){return i.fun(x,n,m,L)},np0=function i(x,n,m){return i.fun(x,n,m)};Ce(NX,function(i,x,n,m){l(T(n),xI0),z(i,n,m[1]),l(T(n),eI0);var L=m[2];return re(IX,function(v){return l(i,v)},function(v){return l(x,v)},n,L),l(T(n),tI0)}),Ce(tp0,function(i,x,n){var m=z(NX,i,x);return z(Fi(ZP0),m,n)}),Ce(PX,function(i,x,n,m){if(m[0]===0){l(T(n),GP0);var L=m[1];return re(IK[1],function(a0){return l(i,a0)},function(a0){return l(x,a0)},n,L),l(T(n),XP0)}l(T(n),YP0);var v=m[1];return re(NX,function(a0){return l(i,a0)},function(a0){return l(x,a0)},n,v),l(T(n),QP0)}),Ce(rp0,function(i,x,n){var m=z(PX,i,x);return z(Fi(HP0),m,n)}),Ce(IX,function(i,x,n,m){l(T(n),jP0),z(T(n),VP0,UP0);var L=m[1];re(PX,function(a0){return l(i,a0)},function(a0){return l(x,a0)},n,L),l(T(n),$P0),l(T(n),KP0),z(T(n),WP0,zP0);var v=m[2];return re(IK[1],function(a0){return l(i,a0)},function(a0){return l(x,a0)},n,v),l(T(n),qP0),l(T(n),JP0)}),Ce(np0,function(i,x,n){var m=z(IX,i,x);return z(Fi(RP0),m,n)});var ip0=[0,NX,tp0,PX,rp0,IX,np0],Uq=function i(x,n,m,L){return i.fun(x,n,m,L)},ap0=function i(x,n,m){return i.fun(x,n,m)};Ce(Uq,function(i,x,n,m){switch(m[0]){case 0:l(T(n),PP0);var L=m[1];return re(IK[1],function(O1){return l(i,O1)},function(O1){return l(x,O1)},n,L),l(T(n),IP0);case 1:l(T(n),OP0);var v=m[1];return re(nt0[1],function(O1){return l(i,O1)},function(O1){return l(x,O1)},n,v),l(T(n),BP0);default:l(T(n),LP0);var a0=m[1];return re(ip0[1],function(O1){return l(i,O1)},function(O1){return l(x,O1)},n,a0),l(T(n),MP0)}}),Ce(ap0,function(i,x,n){var m=z(Uq,i,x);return z(Fi(NP0),m,n)});var ut0=function i(x,n,m,L){return i.fun(x,n,m,L)},op0=function i(x,n,m){return i.fun(x,n,m)},OX=function i(x,n,m,L){return i.fun(x,n,m,L)},sp0=function i(x,n,m){return i.fun(x,n,m)},BX=function i(x,n,m,L){return i.fun(x,n,m,L)},up0=function i(x,n,m){return i.fun(x,n,m)};Ce(ut0,function(i,x,n,m){l(T(n),TP0),z(i,n,m[1]),l(T(n),wP0);var L=m[2];return re(BX,function(v){return l(i,v)},function(v){return l(x,v)},n,L),l(T(n),kP0)}),Ce(op0,function(i,x,n){var m=z(ut0,i,x);return z(Fi(AP0),m,n)}),Ce(OX,function(i,x,n,m){if(m[0]===0){l(T(n),CP0);var L=m[1];return re(Qf0[1],function(a0){return l(i,a0)},function(a0){return l(x,a0)},n,L),l(T(n),EP0)}l(T(n),SP0);var v=m[1];return re(ep0[1],function(a0){return l(i,a0)},function(a0){return l(x,a0)},n,v),l(T(n),FP0)}),Ce(sp0,function(i,x,n){var m=z(OX,i,x);return z(Fi(bP0),m,n)}),Ce(BX,function(i,x,n,m){l(T(n),aP0),z(T(n),sP0,oP0);var L=m[1];re(Uq,function(O1){return l(i,O1)},function(O1){return l(x,O1)},n,L),l(T(n),uP0),l(T(n),cP0),z(T(n),fP0,lP0);var v=m[2];z(T(n),pP0,v),l(T(n),dP0),l(T(n),mP0),z(T(n),gP0,hP0);var a0=m[3];return l(T(n),_P0),U2(function(O1,dx){return O1&&l(T(n),iP0),re(OX,function(ie){return l(i,ie)},function(ie){return l(x,ie)},n,dx),1},0,a0),l(T(n),yP0),l(T(n),DP0),l(T(n),vP0)}),Ce(up0,function(i,x,n){var m=z(BX,i,x);return z(Fi(nP0),m,n)});var cp0=[0,ut0,op0,OX,sp0,BX,up0],ct0=function i(x,n,m,L){return i.fun(x,n,m,L)},lp0=function i(x,n,m){return i.fun(x,n,m)},LX=function i(x,n,m,L){return i.fun(x,n,m,L)},fp0=function i(x,n,m){return i.fun(x,n,m)};Ce(ct0,function(i,x,n,m){l(T(n),eP0),z(i,n,m[1]),l(T(n),tP0);var L=m[2];return re(LX,function(v){return l(i,v)},function(v){return l(x,v)},n,L),l(T(n),rP0)}),Ce(lp0,function(i,x,n){var m=z(ct0,i,x);return z(Fi(xP0),m,n)}),Ce(LX,function(i,x,n,m){l(T(n),GN0),z(T(n),YN0,XN0);var L=m[1];return re(Uq,function(v){return l(i,v)},function(v){return l(x,v)},n,L),l(T(n),QN0),l(T(n),ZN0)}),Ce(fp0,function(i,x,n){var m=z(LX,i,x);return z(Fi(HN0),m,n)});var pp0=[0,ct0,lp0,LX,fp0],lt0=function i(x,n,m,L){return i.fun(x,n,m,L)},dp0=function i(x,n,m){return i.fun(x,n,m)};Ce(lt0,function(i,x,n,m){l(T(n),LN0),z(T(n),RN0,MN0);var L=m[1];re(Ny[31],function(O1){return l(i,O1)},function(O1){return l(x,O1)},n,L),l(T(n),jN0),l(T(n),UN0),z(T(n),$N0,VN0);var v=m[2];if(v){te(n,KN0);var a0=v[1];re(Du[1],function(O1){return l(i,O1)},function(O1,dx){return te(O1,BN0)},n,a0),te(n,zN0)}else te(n,WN0);return l(T(n),qN0),l(T(n),JN0)}),Ce(dp0,function(i,x,n){var m=z(lt0,i,x);return z(Fi(ON0),m,n)});var mp0=[0,lt0,dp0],Vq=function i(x,n,m,L){return i.fun(x,n,m,L)},hp0=function i(x,n,m){return i.fun(x,n,m)},MX=function i(x,n,m,L){return i.fun(x,n,m,L)},gp0=function i(x,n,m){return i.fun(x,n,m)},RX=function i(x,n,m,L){return i.fun(x,n,m,L)},_p0=function i(x,n,m){return i.fun(x,n,m)},jX=function i(x,n,m,L){return i.fun(x,n,m,L)},yp0=function i(x,n,m){return i.fun(x,n,m)};Ce(Vq,function(i,x,n,m){l(T(n),NN0),z(i,n,m[1]),l(T(n),PN0);var L=m[2];return re(MX,function(v){return l(i,v)},function(v){return l(x,v)},n,L),l(T(n),IN0)}),Ce(hp0,function(i,x,n){var m=z(Vq,i,x);return z(Fi(kN0),m,n)}),Ce(MX,function(i,x,n,m){switch(m[0]){case 0:l(T(n),DN0);var L=m[1];return re(RX,function(dx){return l(i,dx)},function(dx){return l(x,dx)},n,L),l(T(n),vN0);case 1:l(T(n),bN0);var v=m[1];return re(jX,function(dx){return l(i,dx)},function(dx){return l(x,dx)},n,v),l(T(n),CN0);case 2:l(T(n),EN0);var a0=m[1];return re(at0[1],function(dx){return l(i,dx)},function(dx){return l(x,dx)},n,a0),l(T(n),SN0);case 3:l(T(n),FN0);var O1=m[1];return re(mp0[1],function(dx){return l(i,dx)},function(dx){return l(x,dx)},n,O1),l(T(n),AN0);default:return l(T(n),TN0),z(Jf0[1],n,m[1]),l(T(n),wN0)}}),Ce(gp0,function(i,x,n){var m=z(MX,i,x);return z(Fi(yN0),m,n)}),Ce(RX,function(i,x,n,m){l(T(n),W90),z(T(n),J90,q90);var L=m[1];re(cp0[1],function(Ie){return l(i,Ie)},function(Ie){return l(x,Ie)},n,L),l(T(n),H90),l(T(n),G90),z(T(n),Y90,X90);var v=m[2];if(v){te(n,Q90);var a0=v[1];re(pp0[1],function(Ie){return l(i,Ie)},function(Ie){return l(x,Ie)},n,a0),te(n,Z90)}else te(n,xN0);l(T(n),eN0),l(T(n),tN0),z(T(n),nN0,rN0);var O1=m[3];l(T(n),iN0),z(i,n,O1[1]),l(T(n),aN0),l(T(n),oN0),U2(function(Ie,Ot){return Ie&&l(T(n),z90),re(Vq,function(Or){return l(i,Or)},function(Or){return l(x,Or)},n,Ot),1},0,O1[2]),l(T(n),sN0),l(T(n),uN0),l(T(n),cN0),l(T(n),lN0),z(T(n),pN0,fN0);var dx=m[4];if(dx){te(n,dN0);var ie=dx[1];re(Du[1],function(Ie){return l(i,Ie)},function(Ie,Ot){return te(Ie,K90)},n,ie),te(n,mN0)}else te(n,hN0);return l(T(n),gN0),l(T(n),_N0)}),Ce(_p0,function(i,x,n){var m=z(RX,i,x);return z(Fi($90),m,n)}),Ce(jX,function(i,x,n,m){l(T(n),g90),z(T(n),y90,_90),z(i,n,m[1]),l(T(n),D90),l(T(n),v90),z(T(n),C90,b90),z(i,n,m[2]),l(T(n),E90),l(T(n),S90),z(T(n),A90,F90);var L=m[3];l(T(n),T90),z(i,n,L[1]),l(T(n),w90),l(T(n),k90),U2(function(O1,dx){return O1&&l(T(n),h90),re(Vq,function(ie){return l(i,ie)},function(ie){return l(x,ie)},n,dx),1},0,L[2]),l(T(n),N90),l(T(n),P90),l(T(n),I90),l(T(n),O90),z(T(n),L90,B90);var v=m[4];if(v){te(n,M90);var a0=v[1];re(Du[1],function(O1){return l(i,O1)},function(O1,dx){return te(O1,m90)},n,a0),te(n,R90)}else te(n,j90);return l(T(n),U90),l(T(n),V90)}),Ce(yp0,function(i,x,n){var m=z(jX,i,x);return z(Fi(d90),m,n)}),zr(S9,gw1,k10,[0,IK,nt0,at0,Jf0,Qf0,ep0,ip0,Uq,ap0,cp0,pp0,mp0,Vq,hp0,MX,gp0,RX,_p0,jX,yp0]);var ft0=function i(x,n,m,L){return i.fun(x,n,m,L)},Dp0=function i(x,n,m){return i.fun(x,n,m)},UX=function i(x,n,m,L){return i.fun(x,n,m,L)},vp0=function i(x,n,m){return i.fun(x,n,m)};Ce(ft0,function(i,x,n,m){l(T(n),l90),z(i,n,m[1]),l(T(n),f90);var L=m[2];return re(UX,function(v){return l(i,v)},function(v){return l(x,v)},n,L),l(T(n),p90)}),Ce(Dp0,function(i,x,n){var m=z(ft0,i,x);return z(Fi(c90),m,n)}),Ce(UX,function(i,x,n,m){l(T(n),Qk0),z(T(n),x90,Zk0);var L=m[1];re(EL[5],function(O1){return l(i,O1)},function(O1){return l(x,O1)},n,L),l(T(n),e90),l(T(n),t90),z(T(n),n90,r90);var v=m[2];if(v){te(n,i90);var a0=v[1];re(Du[1],function(O1){return l(i,O1)},function(O1,dx){return te(O1,Yk0)},n,a0),te(n,a90)}else te(n,o90);return l(T(n),s90),l(T(n),u90)}),Ce(vp0,function(i,x,n){var m=z(UX,i,x);return z(Fi(Xk0),m,n)});var pt0=[0,ft0,Dp0,UX,vp0],VX=function i(x,n,m,L){return i.fun(x,n,m,L)},bp0=function i(x,n,m){return i.fun(x,n,m)},dt0=function i(x,n,m,L){return i.fun(x,n,m,L)},Cp0=function i(x,n,m){return i.fun(x,n,m)},$X=function i(x,n,m,L){return i.fun(x,n,m,L)},Ep0=function i(x,n,m){return i.fun(x,n,m)};Ce(VX,function(i,x,n,m){switch(m[0]){case 0:var L=m[1];l(T(n),Vk0),l(T(n),$k0),z(i,n,L[1]),l(T(n),Kk0);var v=L[2];return zr(Lq[2],function(dx){return l(i,dx)},n,v),l(T(n),zk0),l(T(n),Wk0);case 1:l(T(n),qk0);var a0=m[1];return re(n4[1],function(dx){return l(i,dx)},function(dx){return l(x,dx)},n,a0),l(T(n),Jk0);default:l(T(n),Hk0);var O1=m[1];return re(aG[1],function(dx){return l(i,dx)},function(dx){return l(x,dx)},n,O1),l(T(n),Gk0)}}),Ce(bp0,function(i,x,n){var m=z(VX,i,x);return z(Fi(Uk0),m,n)}),Ce(dt0,function(i,x,n,m){l(T(n),Mk0),z(i,n,m[1]),l(T(n),Rk0);var L=m[2];return re($X,function(v){return l(i,v)},function(v){return l(x,v)},n,L),l(T(n),jk0)}),Ce(Cp0,function(i,x,n){var m=z(dt0,i,x);return z(Fi(Lk0),m,n)}),Ce($X,function(i,x,n,m){l(T(n),mk0),z(T(n),gk0,hk0);var L=m[1];re(VX,function(ie){return l(i,ie)},function(ie){return l(x,ie)},n,L),l(T(n),_k0),l(T(n),yk0),z(T(n),vk0,Dk0);var v=m[2];re(EL[5],function(ie){return l(i,ie)},function(ie){return l(x,ie)},n,v),l(T(n),bk0),l(T(n),Ck0),z(T(n),Sk0,Ek0);var a0=m[3];if(a0){te(n,Fk0);var O1=a0[1];re(Ny[31],function(ie){return l(i,ie)},function(ie){return l(x,ie)},n,O1),te(n,Ak0)}else te(n,Tk0);l(T(n),wk0),l(T(n),kk0),z(T(n),Pk0,Nk0);var dx=m[4];return z(T(n),Ik0,dx),l(T(n),Ok0),l(T(n),Bk0)}),Ce(Ep0,function(i,x,n){var m=z($X,i,x);return z(Fi(dk0),m,n)});var Sp0=[0,VX,bp0,dt0,Cp0,$X,Ep0],KX=function i(x,n,m,L){return i.fun(x,n,m,L)},Fp0=function i(x,n,m){return i.fun(x,n,m)},mt0=function i(x,n,m,L){return i.fun(x,n,m,L)},Ap0=function i(x,n,m){return i.fun(x,n,m)};Ce(KX,function(i,x,n,m){if(m[0]===0){l(T(n),ck0);var L=m[1];return re(Sp0[3],function(a0){return l(i,a0)},function(a0){return l(x,a0)},n,L),l(T(n),lk0)}l(T(n),fk0);var v=m[1];return re(pt0[1],function(a0){return l(i,a0)},function(a0){return l(x,a0)},n,v),l(T(n),pk0)}),Ce(Fp0,function(i,x,n){var m=z(KX,i,x);return z(Fi(uk0),m,n)}),Ce(mt0,function(i,x,n,m){l(T(n),Ww0),z(T(n),Jw0,qw0);var L=m[1];l(T(n),Hw0),U2(function(dx,ie){return dx&&l(T(n),zw0),re(KX,function(Ie){return l(i,Ie)},function(Ie){return l(x,Ie)},n,ie),1},0,L),l(T(n),Gw0),l(T(n),Xw0),l(T(n),Yw0),z(T(n),Zw0,Qw0);var v=m[2];re(GC[19],function(dx){return l(i,dx)},function(dx){return l(x,dx)},n,v),l(T(n),xk0),l(T(n),ek0),z(T(n),rk0,tk0);var a0=m[3];if(a0){te(n,nk0);var O1=a0[1];re(Du[1],function(dx){return l(i,dx)},function(dx,ie){return l(T(dx),$w0),U2(function(Ie,Ot){return Ie&&l(T(dx),Vw0),zr(xP[1],function(Or){return l(i,Or)},dx,Ot),1},0,ie),l(T(dx),Kw0)},n,O1),te(n,ik0)}else te(n,ak0);return l(T(n),ok0),l(T(n),sk0)}),Ce(Ap0,function(i,x,n){var m=z(mt0,i,x);return z(Fi(Uw0),m,n)});var Tp0=[0,Sp0,KX,Fp0,mt0,Ap0],ht0=function i(x,n,m,L){return i.fun(x,n,m,L)},wp0=function i(x,n,m){return i.fun(x,n,m)},zX=function i(x,n,m,L){return i.fun(x,n,m,L)},kp0=function i(x,n,m){return i.fun(x,n,m)};Ce(ht0,function(i,x,n,m){l(T(n),Mw0),z(i,n,m[1]),l(T(n),Rw0);var L=m[2];return re(zX,function(v){return l(i,v)},function(v){return l(x,v)},n,L),l(T(n),jw0)}),Ce(wp0,function(i,x,n){var m=z(ht0,i,x);return z(Fi(Lw0),m,n)}),Ce(zX,function(i,x,n,m){l(T(n),Ew0),z(T(n),Fw0,Sw0);var L=m[1];re(EL[5],function(O1){return l(i,O1)},function(O1){return l(x,O1)},n,L),l(T(n),Aw0),l(T(n),Tw0),z(T(n),kw0,ww0);var v=m[2];if(v){te(n,Nw0);var a0=v[1];re(Ny[31],function(O1){return l(i,O1)},function(O1){return l(x,O1)},n,a0),te(n,Pw0)}else te(n,Iw0);return l(T(n),Ow0),l(T(n),Bw0)}),Ce(kp0,function(i,x,n){var m=z(zX,i,x);return z(Fi(Cw0),m,n)});var Np0=[0,ht0,wp0,zX,kp0],WX=function i(x,n,m,L){return i.fun(x,n,m,L)},Pp0=function i(x,n,m){return i.fun(x,n,m)},gt0=function i(x,n,m,L){return i.fun(x,n,m,L)},Ip0=function i(x,n,m){return i.fun(x,n,m)};Ce(WX,function(i,x,n,m){switch(m[0]){case 0:l(T(n),gw0);var L=m[1];return re(Np0[1],function(a0){return l(i,a0)},function(a0){return l(x,a0)},n,L),l(T(n),_w0);case 1:l(T(n),yw0);var v=m[1];return re(pt0[1],function(a0){return l(i,a0)},function(a0){return l(x,a0)},n,v),l(T(n),Dw0);default:return l(T(n),vw0),z(i,n,m[1]),l(T(n),bw0)}}),Ce(Pp0,function(i,x,n){var m=z(WX,i,x);return z(Fi(hw0),m,n)}),Ce(gt0,function(i,x,n,m){l(T(n),Q50),z(T(n),xw0,Z50);var L=m[1];l(T(n),ew0),U2(function(dx,ie){return dx&&l(T(n),Y50),re(WX,function(Ie){return l(i,Ie)},function(Ie){return l(x,Ie)},n,ie),1},0,L),l(T(n),tw0),l(T(n),rw0),l(T(n),nw0),z(T(n),aw0,iw0);var v=m[2];re(GC[19],function(dx){return l(i,dx)},function(dx){return l(x,dx)},n,v),l(T(n),ow0),l(T(n),sw0),z(T(n),cw0,uw0);var a0=m[3];if(a0){te(n,lw0);var O1=a0[1];re(Du[1],function(dx){return l(i,dx)},function(dx,ie){return l(T(dx),G50),U2(function(Ie,Ot){return Ie&&l(T(dx),H50),zr(xP[1],function(Or){return l(i,Or)},dx,Ot),1},0,ie),l(T(dx),X50)},n,O1),te(n,fw0)}else te(n,pw0);return l(T(n),dw0),l(T(n),mw0)}),Ce(Ip0,function(i,x,n){var m=z(gt0,i,x);return z(Fi(J50),m,n)});var Op0=[0,Np0,WX,Pp0,gt0,Ip0],_t0=function i(x,n,m,L){return i.fun(x,n,m,L)},Bp0=function i(x,n,m){return i.fun(x,n,m)};Ce(_t0,function(i,x,n,m){l(T(n),I50),z(T(n),B50,O50);var L=m[1];re(n4[1],function(O1){return l(i,O1)},function(O1){return l(x,O1)},n,L),l(T(n),L50),l(T(n),M50),z(T(n),j50,R50);var v=m[2];re(GC[19],function(O1){return l(i,O1)},function(O1){return l(x,O1)},n,v),l(T(n),U50),l(T(n),V50),z(T(n),K50,$50);var a0=m[3];return z(T(n),z50,a0),l(T(n),W50),l(T(n),q50)}),Ce(Bp0,function(i,x,n){var m=z(_t0,i,x);return z(Fi(P50),m,n)});var Lp0=[0,_t0,Bp0],yt0=function i(x,n,m,L){return i.fun(x,n,m,L)},Mp0=function i(x,n,m){return i.fun(x,n,m)},qX=function i(x,n,m,L){return i.fun(x,n,m,L)},Rp0=function i(x,n,m){return i.fun(x,n,m)};Ce(yt0,function(i,x,n,m){l(T(n),w50),z(x,n,m[1]),l(T(n),k50);var L=m[2];return re(qX,function(v){return l(i,v)},function(v){return l(x,v)},n,L),l(T(n),N50)}),Ce(Mp0,function(i,x,n){var m=z(yt0,i,x);return z(Fi(T50),m,n)}),Ce(qX,function(i,x,n,m){switch(m[0]){case 0:l(T(n),D50);var L=m[1];return re(Tp0[4],function(dx){return l(i,dx)},function(dx){return l(x,dx)},n,L),l(T(n),v50);case 1:l(T(n),b50);var v=m[1];return re(Op0[4],function(dx){return l(i,dx)},function(dx){return l(x,dx)},n,v),l(T(n),C50);case 2:l(T(n),E50);var a0=m[1];return re(Lp0[1],function(dx){return l(i,dx)},function(dx){return l(x,dx)},n,a0),l(T(n),S50);default:l(T(n),F50);var O1=m[1];return re(Ny[31],function(dx){return l(i,dx)},function(dx){return l(x,dx)},n,O1),l(T(n),A50)}}),Ce(Rp0,function(i,x,n){var m=z(qX,i,x);return z(Fi(y50),m,n)}),zr(S9,_w1,EL,[0,pt0,Tp0,Op0,Lp0,yt0,Mp0,qX,Rp0]);var Dt0=function i(x,n,m){return i.fun(x,n,m)},jp0=function i(x,n){return i.fun(x,n)},JX=function i(x,n){return i.fun(x,n)},Up0=function i(x){return i.fun(x)},HX=function i(x,n){return i.fun(x,n)},Vp0=function i(x){return i.fun(x)};Ce(Dt0,function(i,x,n){return l(T(x),h50),z(i,x,n[1]),l(T(x),g50),z(HX,x,n[2]),l(T(x),_50)}),Ce(jp0,function(i,x){var n=l(Dt0,i);return z(Fi(m50),n,x)}),Ce(JX,function(i,x){return te(i,x===0?d50:p50)}),Ce(Up0,function(i){return z(Fi(f50),JX,i)}),Ce(HX,function(i,x){l(T(i),YT0),z(T(i),ZT0,QT0),z(JX,i,x[1]),l(T(i),x50),l(T(i),e50),z(T(i),r50,t50);var n=x[2];z(T(i),n50,n),l(T(i),i50),l(T(i),a50),z(T(i),s50,o50);var m=x[3];return z(T(i),u50,m),l(T(i),c50),l(T(i),l50)}),Ce(Vp0,function(i){return z(Fi(XT0),HX,i)}),zr(S9,yw1,xP,[0,Dt0,jp0,JX,Up0,HX,Vp0]);var vt0=function i(x,n,m,L){return i.fun(x,n,m,L)},$p0=function i(x,n,m){return i.fun(x,n,m)},GX=function i(x,n){return i.fun(x,n)},Kp0=function i(x){return i.fun(x)},XX=function i(x,n,m,L){return i.fun(x,n,m,L)},zp0=function i(x,n,m){return i.fun(x,n,m)};Ce(vt0,function(i,x,n,m){l(T(n),JT0),z(x,n,m[1]),l(T(n),HT0);var L=m[2];return re(XX,function(v){return l(i,v)},function(v){return l(x,v)},n,L),l(T(n),GT0)}),Ce($p0,function(i,x,n){var m=z(vt0,i,x);return z(Fi(qT0),m,n)}),Ce(GX,function(i,x){switch(x){case 0:return te(i,$T0);case 1:return te(i,KT0);case 2:return te(i,zT0);default:return te(i,WT0)}}),Ce(Kp0,function(i){return z(Fi(VT0),GX,i)}),Ce(XX,function(i,x,n,m){l(T(n),oT0),z(T(n),uT0,sT0),z(GX,n,m[1]),l(T(n),cT0),l(T(n),lT0),z(T(n),pT0,fT0);var L=m[2];re(Ny[7][1][1],function(Ot){return l(i,Ot)},function(Ot){return l(x,Ot)},n,L),l(T(n),dT0),l(T(n),mT0),z(T(n),gT0,hT0);var v=m[3];l(T(n),_T0),z(i,n,v[1]),l(T(n),yT0);var a0=v[2];re(qV[5],function(Ot){return l(i,Ot)},function(Ot){return l(x,Ot)},n,a0),l(T(n),DT0),l(T(n),vT0),l(T(n),bT0),z(T(n),ET0,CT0);var O1=m[4];z(T(n),ST0,O1),l(T(n),FT0),l(T(n),AT0),z(T(n),wT0,TT0);var dx=m[5];l(T(n),kT0),U2(function(Ot,Or){return Ot&&l(T(n),aT0),re(NK[7][1],function(Cr){return l(i,Cr)},function(Cr){return l(x,Cr)},n,Or),1},0,dx),l(T(n),NT0),l(T(n),PT0),l(T(n),IT0),z(T(n),BT0,OT0);var ie=m[6];if(ie){te(n,LT0);var Ie=ie[1];re(Du[1],function(Ot){return l(i,Ot)},function(Ot,Or){return te(Ot,iT0)},n,Ie),te(n,MT0)}else te(n,RT0);return l(T(n),jT0),l(T(n),UT0)}),Ce(zp0,function(i,x,n){var m=z(XX,i,x);return z(Fi(nT0),m,n)});var Wp0=[0,vt0,$p0,GX,Kp0,XX,zp0],bt0=function i(x,n,m,L){return i.fun(x,n,m,L)},qp0=function i(x,n,m){return i.fun(x,n,m)},YX=function i(x,n,m,L){return i.fun(x,n,m,L)},Jp0=function i(x,n,m){return i.fun(x,n,m)},QX=function i(x,n,m,L){return i.fun(x,n,m,L)},Hp0=function i(x,n,m){return i.fun(x,n,m)};Ce(bt0,function(i,x,n,m){l(T(n),eT0),z(x,n,m[1]),l(T(n),tT0);var L=m[2];return re(YX,function(v){return l(i,v)},function(v){return l(x,v)},n,L),l(T(n),rT0)}),Ce(qp0,function(i,x,n){var m=z(bt0,i,x);return z(Fi(xT0),m,n)}),Ce(YX,function(i,x,n,m){l(T(n),bA0),z(T(n),EA0,CA0);var L=m[1];re(Ny[7][1][1],function(Or){return l(i,Or)},function(Or){return l(x,Or)},n,L),l(T(n),SA0),l(T(n),FA0),z(T(n),TA0,AA0);var v=m[2];re(QX,function(Or){return l(i,Or)},function(Or){return l(x,Or)},n,v),l(T(n),wA0),l(T(n),kA0),z(T(n),PA0,NA0);var a0=m[3];re(GC[19],function(Or){return l(i,Or)},function(Or){return l(x,Or)},n,a0),l(T(n),IA0),l(T(n),OA0),z(T(n),LA0,BA0);var O1=m[4];z(T(n),MA0,O1),l(T(n),RA0),l(T(n),jA0),z(T(n),VA0,UA0);var dx=m[5];if(dx){te(n,$A0);var ie=dx[1];zr(Uz[1],function(Or){return l(i,Or)},n,ie),te(n,KA0)}else te(n,zA0);l(T(n),WA0),l(T(n),qA0),z(T(n),HA0,JA0);var Ie=m[6];if(Ie){te(n,GA0);var Ot=Ie[1];re(Du[1],function(Or){return l(i,Or)},function(Or,Cr){return te(Or,vA0)},n,Ot),te(n,XA0)}else te(n,YA0);return l(T(n),QA0),l(T(n),ZA0)}),Ce(Jp0,function(i,x,n){var m=z(YX,i,x);return z(Fi(DA0),m,n)}),Ce(QX,function(i,x,n,m){if(typeof m==\"number\")return te(n,m===0?gA0:hA0);l(T(n),_A0);var L=m[1];return re(Ny[31],function(v){return l(i,v)},function(v){return l(x,v)},n,L),l(T(n),yA0)}),Ce(Hp0,function(i,x,n){var m=z(QX,i,x);return z(Fi(mA0),m,n)});var Gp0=[0,bt0,qp0,YX,Jp0,QX,Hp0],Ct0=function i(x,n,m,L){return i.fun(x,n,m,L)},Xp0=function i(x,n,m){return i.fun(x,n,m)},ZX=function i(x,n,m,L){return i.fun(x,n,m,L)},Yp0=function i(x,n,m){return i.fun(x,n,m)};Ce(Ct0,function(i,x,n,m){l(T(n),fA0),z(x,n,m[1]),l(T(n),pA0);var L=m[2];return re(ZX,function(v){return l(i,v)},function(v){return l(x,v)},n,L),l(T(n),dA0)}),Ce(Xp0,function(i,x,n){var m=z(Ct0,i,x);return z(Fi(lA0),m,n)}),Ce(ZX,function(i,x,n,m){l(T(n),I40),z(T(n),B40,O40);var L=m[1];zr(iG[1],function(Or){return l(i,Or)},n,L),l(T(n),L40),l(T(n),M40),z(T(n),j40,R40);var v=m[2];re(NK[2][5],function(Or){return l(i,Or)},function(Or){return l(x,Or)},n,v),l(T(n),U40),l(T(n),V40),z(T(n),K40,$40);var a0=m[3];re(GC[19],function(Or){return l(i,Or)},function(Or){return l(x,Or)},n,a0),l(T(n),z40),l(T(n),W40),z(T(n),J40,q40);var O1=m[4];z(T(n),H40,O1),l(T(n),G40),l(T(n),X40),z(T(n),Q40,Y40);var dx=m[5];if(dx){te(n,Z40);var ie=dx[1];zr(Uz[1],function(Or){return l(i,Or)},n,ie),te(n,xA0)}else te(n,eA0);l(T(n),tA0),l(T(n),rA0),z(T(n),iA0,nA0);var Ie=m[6];if(Ie){te(n,aA0);var Ot=Ie[1];re(Du[1],function(Or){return l(i,Or)},function(Or,Cr){return te(Or,P40)},n,Ot),te(n,oA0)}else te(n,sA0);return l(T(n),uA0),l(T(n),cA0)}),Ce(Yp0,function(i,x,n){var m=z(ZX,i,x);return z(Fi(N40),m,n)});var Qp0=[0,Ct0,Xp0,ZX,Yp0],Et0=function i(x,n,m,L){return i.fun(x,n,m,L)},Zp0=function i(x,n,m){return i.fun(x,n,m)},xY=function i(x,n,m,L){return i.fun(x,n,m,L)},xd0=function i(x,n,m){return i.fun(x,n,m)};Ce(Et0,function(i,x,n,m){l(T(n),T40),z(i,n,m[1]),l(T(n),w40);var L=m[2];return re(xY,function(v){return l(i,v)},function(v){return l(x,v)},n,L),l(T(n),k40)}),Ce(Zp0,function(i,x,n){var m=z(Et0,i,x);return z(Fi(A40),m,n)}),Ce(xY,function(i,x,n,m){l(T(n),s40),z(T(n),c40,u40);var L=m[1];re(Ny[31],function(ie){return l(i,ie)},function(ie){return l(x,ie)},n,L),l(T(n),l40),l(T(n),f40),z(T(n),d40,p40);var v=m[2];if(v){te(n,m40);var a0=v[1];re(GC[23][1],function(ie){return l(i,ie)},function(ie){return l(x,ie)},n,a0),te(n,h40)}else te(n,g40);l(T(n),_40),l(T(n),y40),z(T(n),v40,D40);var O1=m[3];if(O1){te(n,b40);var dx=O1[1];re(Du[1],function(ie){return l(i,ie)},function(ie,Ie){return te(ie,o40)},n,dx),te(n,C40)}else te(n,E40);return l(T(n),S40),l(T(n),F40)}),Ce(xd0,function(i,x,n){var m=z(xY,i,x);return z(Fi(a40),m,n)});var ed0=[0,Et0,Zp0,xY,xd0],St0=function i(x,n,m,L){return i.fun(x,n,m,L)},td0=function i(x,n,m){return i.fun(x,n,m)},eY=function i(x,n,m,L){return i.fun(x,n,m,L)},rd0=function i(x,n,m){return i.fun(x,n,m)};Ce(St0,function(i,x,n,m){l(T(n),r40),z(i,n,m[1]),l(T(n),n40);var L=m[2];return re(eY,function(v){return l(i,v)},function(v){return l(x,v)},n,L),l(T(n),i40)}),Ce(td0,function(i,x,n){var m=z(St0,i,x);return z(Fi(t40),m,n)}),Ce(eY,function(i,x,n,m){l(T(n),zF0),z(T(n),qF0,WF0);var L=m[1];re(n4[1],function(O1){return l(i,O1)},function(O1){return l(x,O1)},n,L),l(T(n),JF0),l(T(n),HF0),z(T(n),XF0,GF0);var v=m[2];if(v){te(n,YF0);var a0=v[1];re(GC[23][1],function(O1){return l(i,O1)},function(O1){return l(x,O1)},n,a0),te(n,QF0)}else te(n,ZF0);return l(T(n),x40),l(T(n),e40)}),Ce(rd0,function(i,x,n){var m=z(eY,i,x);return z(Fi(KF0),m,n)});var nd0=[0,St0,td0,eY,rd0],Ft0=function i(x,n,m,L){return i.fun(x,n,m,L)},id0=function i(x,n,m){return i.fun(x,n,m)},tY=function i(x,n,m,L){return i.fun(x,n,m,L)},ad0=function i(x,n,m){return i.fun(x,n,m)};Ce(Ft0,function(i,x,n,m){l(T(n),UF0),z(i,n,m[1]),l(T(n),VF0);var L=m[2];return re(tY,function(v){return l(i,v)},function(v){return l(x,v)},n,L),l(T(n),$F0)}),Ce(id0,function(i,x,n){var m=z(Ft0,i,x);return z(Fi(jF0),m,n)}),Ce(tY,function(i,x,n,m){l(T(n),SF0),z(T(n),AF0,FF0);var L=m[1];l(T(n),TF0),U2(function(O1,dx){return O1&&l(T(n),EF0),re(nd0[1],function(ie){return l(i,ie)},function(ie){return l(x,ie)},n,dx),1},0,L),l(T(n),wF0),l(T(n),kF0),l(T(n),NF0),z(T(n),IF0,PF0);var v=m[2];if(v){te(n,OF0);var a0=v[1];re(Du[1],function(O1){return l(i,O1)},function(O1,dx){return te(O1,CF0)},n,a0),te(n,BF0)}else te(n,LF0);return l(T(n),MF0),l(T(n),RF0)}),Ce(ad0,function(i,x,n){var m=z(tY,i,x);return z(Fi(bF0),m,n)});var od0=[0,nd0,Ft0,id0,tY,ad0],At0=function i(x,n,m,L){return i.fun(x,n,m,L)},sd0=function i(x,n,m){return i.fun(x,n,m)},rY=function i(x,n,m,L){return i.fun(x,n,m,L)},ud0=function i(x,n,m){return i.fun(x,n,m)},nY=function i(x,n,m,L){return i.fun(x,n,m,L)},cd0=function i(x,n,m){return i.fun(x,n,m)};Ce(At0,function(i,x,n,m){l(T(n),yF0),z(i,n,m[1]),l(T(n),DF0);var L=m[2];return re(rY,function(v){return l(i,v)},function(v){return l(x,v)},n,L),l(T(n),vF0)}),Ce(sd0,function(i,x,n){var m=z(At0,i,x);return z(Fi(_F0),m,n)}),Ce(rY,function(i,x,n,m){l(T(n),nF0),z(T(n),aF0,iF0);var L=m[1];l(T(n),oF0),U2(function(O1,dx){return O1&&l(T(n),rF0),re(nY,function(ie){return l(i,ie)},function(ie){return l(x,ie)},n,dx),1},0,L),l(T(n),sF0),l(T(n),uF0),l(T(n),cF0),z(T(n),fF0,lF0);var v=m[2];if(v){te(n,pF0);var a0=v[1];re(Du[1],function(O1){return l(i,O1)},function(O1,dx){return te(O1,tF0)},n,a0),te(n,dF0)}else te(n,mF0);return l(T(n),hF0),l(T(n),gF0)}),Ce(ud0,function(i,x,n){var m=z(rY,i,x);return z(Fi(eF0),m,n)}),Ce(nY,function(i,x,n,m){switch(m[0]){case 0:l(T(n),GS0);var L=m[1];return re(Wp0[1],function(O1){return l(i,O1)},function(O1){return l(x,O1)},n,L),l(T(n),XS0);case 1:l(T(n),YS0);var v=m[1];return re(Gp0[1],function(O1){return l(i,O1)},function(O1){return l(x,O1)},n,v),l(T(n),QS0);default:l(T(n),ZS0);var a0=m[1];return re(Qp0[1],function(O1){return l(i,O1)},function(O1){return l(x,O1)},n,a0),l(T(n),xF0)}}),Ce(cd0,function(i,x,n){var m=z(nY,i,x);return z(Fi(HS0),m,n)});var Tt0=function i(x,n,m,L){return i.fun(x,n,m,L)},ld0=function i(x,n,m){return i.fun(x,n,m)},iY=function i(x,n,m,L){return i.fun(x,n,m,L)},fd0=function i(x,n,m){return i.fun(x,n,m)},F2x=[0,At0,sd0,rY,ud0,nY,cd0];Ce(Tt0,function(i,x,n,m){l(T(n),WS0),z(i,n,m[1]),l(T(n),qS0);var L=m[2];return re(iY,function(v){return l(i,v)},function(v){return l(x,v)},n,L),l(T(n),JS0)}),Ce(ld0,function(i,x,n){var m=z(Tt0,i,x);return z(Fi(zS0),m,n)}),Ce(iY,function(i,x,n,m){l(T(n),PS0),z(T(n),OS0,IS0);var L=m[1];re(Ny[31],function(O1){return l(i,O1)},function(O1){return l(x,O1)},n,L),l(T(n),BS0),l(T(n),LS0),z(T(n),RS0,MS0);var v=m[2];if(v){te(n,jS0);var a0=v[1];re(Du[1],function(O1){return l(i,O1)},function(O1,dx){return te(O1,NS0)},n,a0),te(n,US0)}else te(n,VS0);return l(T(n),$S0),l(T(n),KS0)}),Ce(fd0,function(i,x,n){var m=z(iY,i,x);return z(Fi(kS0),m,n)});var pd0=[0,Tt0,ld0,iY,fd0],wt0=function i(x,n,m,L){return i.fun(x,n,m,L)},dd0=function i(x,n,m){return i.fun(x,n,m)};Ce(wt0,function(i,x,n,m){l(T(n),R60),z(T(n),U60,j60);var L=m[1];if(L){te(n,V60);var v=L[1];re(n4[1],function(Vn){return l(i,Vn)},function(Vn){return l(x,Vn)},n,v),te(n,$60)}else te(n,K60);l(T(n),z60),l(T(n),W60),z(T(n),J60,q60);var a0=m[2];re(NK[6][1],function(Vn){return l(i,Vn)},function(Vn){return l(x,Vn)},n,a0),l(T(n),H60),l(T(n),G60),z(T(n),Y60,X60);var O1=m[3];if(O1){te(n,Q60);var dx=O1[1];re(GC[22][1],function(Vn){return l(i,Vn)},function(Vn){return l(x,Vn)},n,dx),te(n,Z60)}else te(n,xS0);l(T(n),eS0),l(T(n),tS0),z(T(n),nS0,rS0);var ie=m[4];if(ie){te(n,iS0);var Ie=ie[1];re(ed0[1],function(Vn){return l(i,Vn)},function(Vn){return l(x,Vn)},n,Ie),te(n,aS0)}else te(n,oS0);l(T(n),sS0),l(T(n),uS0),z(T(n),lS0,cS0);var Ot=m[5];if(Ot){te(n,fS0);var Or=Ot[1];re(od0[2],function(Vn){return l(i,Vn)},function(Vn){return l(x,Vn)},n,Or),te(n,pS0)}else te(n,dS0);l(T(n),mS0),l(T(n),hS0),z(T(n),_S0,gS0);var Cr=m[6];l(T(n),yS0),U2(function(Vn,zn){return Vn&&l(T(n),M60),re(pd0[1],function(Oi){return l(i,Oi)},function(Oi){return l(x,Oi)},n,zn),1},0,Cr),l(T(n),DS0),l(T(n),vS0),l(T(n),bS0),z(T(n),ES0,CS0);var ni=m[7];if(ni){te(n,SS0);var Jn=ni[1];re(Du[1],function(Vn){return l(i,Vn)},function(Vn,zn){return te(Vn,L60)},n,Jn),te(n,FS0)}else te(n,AS0);return l(T(n),TS0),l(T(n),wS0)}),Ce(dd0,function(i,x,n){var m=z(wt0,i,x);return z(Fi(B60),m,n)}),zr(S9,Dw1,NK,[0,Wp0,Gp0,Qp0,ed0,od0,F2x,pd0,wt0,dd0]);var kt0=function i(x,n,m,L){return i.fun(x,n,m,L)},md0=function i(x,n,m){return i.fun(x,n,m)},aY=function i(x,n,m,L){return i.fun(x,n,m,L)},hd0=function i(x,n,m){return i.fun(x,n,m)};Ce(kt0,function(i,x,n,m){l(T(n),P60),z(i,n,m[1]),l(T(n),I60);var L=m[2];return re(aY,function(v){return l(i,v)},function(v){return l(x,v)},n,L),l(T(n),O60)}),Ce(md0,function(i,x,n){var m=z(kt0,i,x);return z(Fi(N60),m,n)}),Ce(aY,function(i,x,n,m){l(T(n),y60),z(T(n),v60,D60);var L=m[1];re(EL[5],function(O1){return l(i,O1)},function(O1){return l(x,O1)},n,L),l(T(n),b60),l(T(n),C60),z(T(n),S60,E60);var v=m[2];if(v){te(n,F60);var a0=v[1];re(Du[1],function(O1){return l(i,O1)},function(O1,dx){return te(O1,_60)},n,a0),te(n,A60)}else te(n,T60);return l(T(n),w60),l(T(n),k60)}),Ce(hd0,function(i,x,n){var m=z(aY,i,x);return z(Fi(g60),m,n)});var gd0=[0,kt0,md0,aY,hd0],Nt0=function i(x,n,m,L){return i.fun(x,n,m,L)},_d0=function i(x,n,m){return i.fun(x,n,m)},oY=function i(x,n,m,L){return i.fun(x,n,m,L)},yd0=function i(x,n,m){return i.fun(x,n,m)};Ce(Nt0,function(i,x,n,m){l(T(n),d60),z(i,n,m[1]),l(T(n),m60);var L=m[2];return re(oY,function(v){return l(i,v)},function(v){return l(x,v)},n,L),l(T(n),h60)}),Ce(_d0,function(i,x,n){var m=z(Nt0,i,x);return z(Fi(p60),m,n)}),Ce(oY,function(i,x,n,m){l(T(n),e60),z(T(n),r60,t60);var L=m[1];re(EL[5],function(O1){return l(i,O1)},function(O1){return l(x,O1)},n,L),l(T(n),n60),l(T(n),i60),z(T(n),o60,a60);var v=m[2];if(v){te(n,s60);var a0=v[1];re(Ny[31],function(O1){return l(i,O1)},function(O1){return l(x,O1)},n,a0),te(n,u60)}else te(n,c60);return l(T(n),l60),l(T(n),f60)}),Ce(yd0,function(i,x,n){var m=z(oY,i,x);return z(Fi(x60),m,n)});var Dd0=[0,Nt0,_d0,oY,yd0],Pt0=function i(x,n,m,L){return i.fun(x,n,m,L)},vd0=function i(x,n,m){return i.fun(x,n,m)},sY=function i(x,n,m,L){return i.fun(x,n,m,L)},bd0=function i(x,n,m){return i.fun(x,n,m)};Ce(Pt0,function(i,x,n,m){l(T(n),Y80),z(i,n,m[1]),l(T(n),Q80);var L=m[2];return re(sY,function(v){return l(i,v)},function(v){return l(x,v)},n,L),l(T(n),Z80)}),Ce(vd0,function(i,x,n){var m=z(Pt0,i,x);return z(Fi(X80),m,n)}),Ce(sY,function(i,x,n,m){l(T(n),R80),z(T(n),U80,j80);var L=m[1];re(GC[17],function(O1){return l(i,O1)},function(O1){return l(x,O1)},n,L),l(T(n),V80),l(T(n),$80),z(T(n),z80,K80);var v=m[2];if(v){te(n,W80);var a0=v[1];re(Du[1],function(O1){return l(i,O1)},function(O1,dx){return te(O1,M80)},n,a0),te(n,q80)}else te(n,J80);return l(T(n),H80),l(T(n),G80)}),Ce(bd0,function(i,x,n){var m=z(sY,i,x);return z(Fi(L80),m,n)});var Cd0=[0,Pt0,vd0,sY,bd0],It0=function i(x,n,m,L){return i.fun(x,n,m,L)},Ed0=function i(x,n,m){return i.fun(x,n,m)},uY=function i(x,n,m,L){return i.fun(x,n,m,L)},Sd0=function i(x,n,m){return i.fun(x,n,m)};Ce(It0,function(i,x,n,m){l(T(n),I80),z(i,n,m[1]),l(T(n),O80);var L=m[2];return re(uY,function(v){return l(i,v)},function(v){return l(x,v)},n,L),l(T(n),B80)}),Ce(Ed0,function(i,x,n){var m=z(It0,i,x);return z(Fi(P80),m,n)}),Ce(uY,function(i,x,n,m){l(T(n),n80),z(T(n),a80,i80);var L=m[1];if(L){te(n,o80);var v=L[1];re(Cd0[1],function(Ot){return l(i,Ot)},function(Ot){return l(x,Ot)},n,v),te(n,s80)}else te(n,u80);l(T(n),c80),l(T(n),l80),z(T(n),p80,f80);var a0=m[2];l(T(n),d80),U2(function(Ot,Or){return Ot&&l(T(n),r80),re(Dd0[1],function(Cr){return l(i,Cr)},function(Cr){return l(x,Cr)},n,Or),1},0,a0),l(T(n),m80),l(T(n),h80),l(T(n),g80),z(T(n),y80,_80);var O1=m[3];if(O1){te(n,D80);var dx=O1[1];re(gd0[1],function(Ot){return l(i,Ot)},function(Ot){return l(x,Ot)},n,dx),te(n,v80)}else te(n,b80);l(T(n),C80),l(T(n),E80),z(T(n),F80,S80);var ie=m[4];if(ie){te(n,A80);var Ie=ie[1];re(Du[1],function(Ot){return l(i,Ot)},function(Ot,Or){return l(T(Ot),e80),U2(function(Cr,ni){return Cr&&l(T(Ot),x80),zr(xP[1],function(Jn){return l(i,Jn)},Ot,ni),1},0,Or),l(T(Ot),t80)},n,Ie),te(n,T80)}else te(n,w80);return l(T(n),k80),l(T(n),N80)}),Ce(Sd0,function(i,x,n){var m=z(uY,i,x);return z(Fi(ZE0),m,n)});var Fd0=[0,It0,Ed0,uY,Sd0],Ot0=function i(x,n,m,L){return i.fun(x,n,m,L)},Ad0=function i(x,n,m){return i.fun(x,n,m)},cY=function i(x,n,m,L){return i.fun(x,n,m,L)},Td0=function i(x,n,m){return i.fun(x,n,m)};Ce(Ot0,function(i,x,n,m){l(T(n),QC0),z(T(n),xE0,ZC0);var L=m[1];if(L){te(n,eE0);var v=L[1];re(n4[1],function(zn){return l(i,zn)},function(zn){return l(x,zn)},n,v),te(n,tE0)}else te(n,rE0);l(T(n),nE0),l(T(n),iE0),z(T(n),oE0,aE0);var a0=m[2];re(Fd0[1],function(zn){return l(i,zn)},function(zn){return l(x,zn)},n,a0),l(T(n),sE0),l(T(n),uE0),z(T(n),lE0,cE0);var O1=m[3];re(cY,function(zn){return l(i,zn)},function(zn){return l(x,zn)},n,O1),l(T(n),fE0),l(T(n),pE0),z(T(n),mE0,dE0);var dx=m[4];z(T(n),hE0,dx),l(T(n),gE0),l(T(n),_E0),z(T(n),DE0,yE0);var ie=m[5];z(T(n),vE0,ie),l(T(n),bE0),l(T(n),CE0),z(T(n),SE0,EE0);var Ie=m[6];if(Ie){te(n,FE0);var Ot=Ie[1];re(GC[24][1],function(zn){return l(i,zn)},function(zn){return l(x,zn)},n,Ot),te(n,AE0)}else te(n,TE0);l(T(n),wE0),l(T(n),kE0),z(T(n),PE0,NE0);var Or=m[7];re(GC[19],function(zn){return l(i,zn)},function(zn){return l(x,zn)},n,Or),l(T(n),IE0),l(T(n),OE0),z(T(n),LE0,BE0);var Cr=m[8];if(Cr){te(n,ME0);var ni=Cr[1];re(GC[22][1],function(zn){return l(i,zn)},function(zn){return l(x,zn)},n,ni),te(n,RE0)}else te(n,jE0);l(T(n),UE0),l(T(n),VE0),z(T(n),KE0,$E0);var Jn=m[9];if(Jn){te(n,zE0);var Vn=Jn[1];re(Du[1],function(zn){return l(i,zn)},function(zn,Oi){return te(zn,YC0)},n,Vn),te(n,WE0)}else te(n,qE0);return l(T(n),JE0),l(T(n),HE0),z(T(n),XE0,GE0),z(i,n,m[10]),l(T(n),YE0),l(T(n),QE0)}),Ce(Ad0,function(i,x,n){var m=z(Ot0,i,x);return z(Fi(XC0),m,n)}),Ce(cY,function(i,x,n,m){if(m[0]===0){var L=m[1];l(T(n),KC0),l(T(n),zC0),z(i,n,L[1]),l(T(n),WC0);var v=L[2];return re(ZN[1][1],function(O1){return l(i,O1)},function(O1){return l(x,O1)},n,v),l(T(n),qC0),l(T(n),JC0)}l(T(n),HC0);var a0=m[1];return re(Ny[31],function(O1){return l(i,O1)},function(O1){return l(x,O1)},n,a0),l(T(n),GC0)}),Ce(Td0,function(i,x,n){var m=z(cY,i,x);return z(Fi($C0),m,n)}),zr(S9,vw1,qV,[0,gd0,Dd0,Cd0,Fd0,Ot0,Ad0,cY,Td0]);var Bt0=function i(x,n,m,L){return i.fun(x,n,m,L)},wd0=function i(x,n,m){return i.fun(x,n,m)},lY=function i(x,n,m,L){return i.fun(x,n,m,L)},kd0=function i(x,n,m){return i.fun(x,n,m)};Ce(Bt0,function(i,x,n,m){l(T(n),jC0),z(i,n,m[1]),l(T(n),UC0);var L=m[2];return re(lY,function(v){return l(i,v)},function(v){return l(x,v)},n,L),l(T(n),VC0)}),Ce(wd0,function(i,x,n){var m=z(Bt0,i,x);return z(Fi(RC0),m,n)}),Ce(lY,function(i,x,n,m){l(T(n),_C0),z(T(n),DC0,yC0);var L=m[1];l(T(n),vC0),U2(function(dx,ie){return dx&&l(T(n),gC0),re(ZN[35],function(Ie){return l(i,Ie)},function(Ie){return l(x,Ie)},n,ie),1},0,L),l(T(n),bC0),l(T(n),CC0),l(T(n),EC0),z(T(n),FC0,SC0);var v=m[2];if(v){te(n,AC0);var a0=v[1];re(Du[1],function(dx){return l(i,dx)},function(dx,ie){return te(dx,hC0)},n,a0),te(n,TC0)}else te(n,wC0);l(T(n),kC0),l(T(n),NC0),z(T(n),IC0,PC0);var O1=m[3];return l(T(n),OC0),U2(function(dx,ie){return dx&&l(T(n),mC0),zr(xP[1],function(Ie){return l(i,Ie)},n,ie),1},0,O1),l(T(n),BC0),l(T(n),LC0),l(T(n),MC0)}),Ce(kd0,function(i,x,n){var m=z(lY,i,x);return z(Fi(dC0),m,n)}),zr(S9,bw1,b2x,[0,Bt0,wd0,lY,kd0]);var XC=function(i,x){if(x){var n=x[1],m=l(i,n);return n===m?x:[0,m]}return x},Vl=function(i,x,n,m,L){var v=z(i,x,n);return n===v?m:l(L,v)},Ol=function(i,x,n,m){var L=l(i,x);return x===L?n:l(m,L)},A9=function(i,x){var n=x[1];return Vl(i,n,x[2],x,function(m){return[0,n,m]})},i4=function(i,x){var n=U2(function(m,L){var v=l(i,L),a0=m[2]||(v!==L?1:0);return[0,[0,v,m[1]],a0]},Pw1,x);return n[2]?yd(n[1]):x},Nd0=C10(Ow1,function(i){var x=Bo0(i,Iw1),n=x[1],m=x[2],L=x[3],v=x[4],a0=x[5],O1=x[6],dx=x[7],ie=x[8],Ie=x[9],Ot=x[10],Or=x[11],Cr=x[12],ni=x[13],Jn=x[14],Vn=x[15],zn=x[16],Oi=x[17],xn=x[18],vt=x[19],Xt=x[20],Me=x[21],Ke=x[22],ct=x[23],sr=x[24],kr=x[25],wn=x[26],In=x[27],Tn=x[28],ix=x[29],Nr=x[30],Mx=x[31],ko=x[32],iu=x[33],Mi=x[34],Bc=x[35],ku=x[36],Kx=x[37],ic=x[38],Br=x[39],Dt=x[40],Li=x[41],Dl=x[42],du=x[44],is=x[45],Fu=x[46],Qt=x[47],Rn=x[48],ca=x[49],Pr=x[50],On=x[51],mn=x[52],He=x[53],At=x[54],tr=x[55],Rr=x[56],$n=x[57],$r=x[58],Ga=x[60],Xa=x[61],ls=x[62],Es=x[63],Fe=x[64],Lt=x[65],ln=x[66],tn=x[67],Ri=x[68],Ji=x[69],Na=x[70],Do=x[71],No=x[72],tu=x[73],Vs=x[74],As=x[75],vu=x[76],Wu=x[77],L1=x[78],hu=x[79],Qu=x[80],pc=x[81],il=x[82],Zu=x[83],fu=x[84],vl=x[85],id=x[86],_f=x[87],sm=x[88],Pd=x[89],tc=x[90],YC=x[91],km=x[92],lC=x[93],A2=x[94],s_=x[95],Db=x[96],o3=x[97],l6=x[98],fC=x[99],uS=x[Yw],P8=x[Uk],s8=x[F4],z8=x[NT],XT=x[uw],OT=x[dN],r0=x[Y1],_T=x[X],BT=x[Lk],IS=x[Vk],I5=x[ef],LT=x[zx],yT=x[nt],sx=x[Gw],XA=x[lr],O5=x[fw],OA=x[BO],YA=x[BI],a4=x[cM],c9=x[qI],Lw=x[YO],bS=x[xj],n0=x[$u],G5=x[QP],K4=x[WI],ox=x[Ho],BA=x[Ck],h6=x[sS],cA=x[nE],QA=x[129],YT=x[130],z4=x[131],Fk=x[132],pk=x[133],Ak=x[134],ZA=x[135],Q9=x[136],Hk=x[137],w4=x[138],EN=x[139],sB=x[140],gx=x[141],KM=x[142],uB=x[143],yx=x[144],Ai=x[145],dr=x[146],m1=x[147],Wn=x[148],zc=x[149],kl=x[150],u_=x[151],s3=x[152],QC=x[153],E6=x[154],cS=x[155],UF=x[156],VF=x[157],W8=x[158],xS=x[159],aF=x[160],OS=x[161],W4=x[162],LA=x[163],_F=x[164],eS=x[165],DT=x[166],X5=x[167],Mw=x[168],B5=x[169],Gk=x[170],xx=x[171],lS=x[172],dk=x[173],h5=x[174],Tk=x[175],_w=x[176],mk=x[177],Rw=x[178],SN=x[179],fx=x[180],T9=x[181],FN=x[182],Xk=x[183],wk=x[184],kk=x[185],w9=x[186],AN=x[187],l9=x[188],AI=x[189],cO=x[190],MP=x[191],c1=x[a6],na=x[193],r2=x[194],Lh=x[195],Rm=x[196],V2=x[197],Yc=x[198],$6=x[199],g6=x[200],xT=x[201],oF=x[202],f6=x[203],Mp=x[204],Bf=x[205],K6=x[206],sF=x[207],tP=x[208],NL=x[209],lO=x[210],PL=x[211],zM=x[212],WM=x[213],_x=x[214],qM=x[215],JM=x[216],qU=x[217],HM=x[218],Dx=x[219],cB=x[220],GM=x[221],kj=x[222],fO=x[bx],XM=x[we],Nj=x[225],TI=x[226],lB=x[227],k9=x[228],YM=x[229],pO=x[230],JU=x[231],HU=x[232],GU=x[233],wI=x[234],QM=x[235],t$=x[43],eW=x[59];return S10(i,[0,t$,function(q0,oe){var wx=oe[2],he=wx[3],st=wx[2],nr=wx[1],Vr=z(q0[1][1+sr],q0,nr),ta=z(q0[1][1+Nr],q0,st),Ta=i4(l(q0[1][1+Mp],q0),he);return nr===Vr&&st===ta&&he===Ta?oe:[0,oe[1],[0,Vr,ta,Ta]]},ic,function(q0,oe){var wx=oe[2],he=oe[1];switch(wx[0]){case 0:var st=wx[1];return Vl(l(q0[1][1+TI],q0),he,st,oe,function(Jd){return[0,he,[0,Jd]]});case 1:var nr=wx[1];return Vl(l(q0[1][1+XM],q0),he,nr,oe,function(Jd){return[0,he,[1,Jd]]});case 2:var Vr=wx[1];return Vl(l(q0[1][1+JM],q0),he,Vr,oe,function(Jd){return[0,he,[2,Jd]]});case 3:var ta=wx[1];return Vl(l(q0[1][1+g6],q0),he,ta,oe,function(Jd){return[0,he,[3,Jd]]});case 4:var Ta=wx[1];return Vl(l(q0[1][1+$6],q0),he,Ta,oe,function(Jd){return[0,he,[4,Jd]]});case 5:var dc=wx[1];return Vl(l(q0[1][1+Yc],q0),he,dc,oe,function(Jd){return[0,he,[5,Jd]]});case 6:var el=wx[1];return Vl(l(q0[1][1+V2],q0),he,el,oe,function(Jd){return[0,he,[6,Jd]]});case 7:var um=wx[1];return Vl(l(q0[1][1+Lh],q0),he,um,oe,function(Jd){return[0,he,[7,Jd]]});case 8:var h8=wx[1];return Vl(l(q0[1][1+r2],q0),he,h8,oe,function(Jd){return[0,he,[8,Jd]]});case 9:var ax=wx[1];return Vl(l(q0[1][1+na],q0),he,ax,oe,function(Jd){return[0,he,[9,Jd]]});case 10:var k4=wx[1];return Vl(l(q0[1][1+c1],q0),he,k4,oe,function(Jd){return[0,he,[10,Jd]]});case 11:var MA=wx[1];return Vl(l(q0[1][1+MP],q0),he,MA,oe,function(Jd){return[0,he,[11,Jd]]});case 12:var q4=wx[1];return Vl(l(q0[1][1+Ji],q0),he,q4,oe,function(Jd){return[0,he,[33,Jd]]});case 13:var QT=wx[1];return Vl(l(q0[1][1+cO],q0),he,QT,oe,function(Jd){return[0,he,[13,Jd]]});case 14:var yw=wx[1];return Vl(l(q0[1][1+AI],q0),he,yw,oe,function(Jd){return[0,he,[14,Jd]]});case 15:var hk=wx[1];return Vl(l(q0[1][1+l9],q0),he,hk,oe,function(Jd){return[0,he,[15,Jd]]});case 16:var N9=wx[1];return Vl(l(q0[1][1+wk],q0),he,N9,oe,function(Jd){return[0,he,[16,Jd]]});case 17:var tx=wx[1];return Vl(l(q0[1][1+_w],q0),he,tx,oe,function(Jd){return[0,he,[17,Jd]]});case 18:var g8=wx[1];return Vl(l(q0[1][1+h5],q0),he,g8,oe,function(Jd){return[0,he,[18,Jd]]});case 19:var f9=wx[1];return Vl(l(q0[1][1+B5],q0),he,f9,oe,function(Jd){return[0,he,[19,Jd]]});case 20:var RP=wx[1];return Vl(l(q0[1][1+xS],q0),he,RP,oe,function(Jd){return[0,he,[20,Jd]]});case 21:var q8=wx[1];return Vl(l(q0[1][1+DT],q0),he,q8,oe,function(Jd){return[0,he,[21,Jd]]});case 22:var mx=wx[1];return Vl(l(q0[1][1+OS],q0),he,mx,oe,function(Jd){return[0,he,[22,Jd]]});case 23:var rP=wx[1];return Vl(l(q0[1][1+E6],q0),he,rP,oe,function(Jd){return[0,he,[23,Jd]]});case 24:var Z9=wx[1];return Vl(l(q0[1][1+ZA],q0),he,Z9,oe,function(Jd){return[0,he,[24,Jd]]});case 25:var fB=wx[1];return Vl(l(q0[1][1+pk],q0),he,fB,oe,function(Jd){return[0,he,[25,Jd]]});case 26:var pB=wx[1];return Vl(l(q0[1][1+BA],q0),he,pB,oe,function(Jd){return[0,he,[26,Jd]]});case 27:var xy=wx[1];return Vl(l(q0[1][1+Db],q0),he,xy,oe,function(Jd){return[0,he,[27,Jd]]});case 28:var hx=wx[1];return Vl(l(q0[1][1+Dl],q0),he,hx,oe,function(Jd){return[0,he,[28,Jd]]});case 29:var XU=wx[1];return Vl(l(q0[1][1+iu],q0),he,XU,oe,function(Jd){return[0,he,[29,Jd]]});case 30:var IL=wx[1];return Vl(l(q0[1][1+kr],q0),he,IL,oe,function(Jd){return[0,he,[30,Jd]]});case 31:var Mh=wx[1];return Vl(l(q0[1][1+ct],q0),he,Mh,oe,function(Jd){return[0,he,[31,Jd]]});case 32:var YU=wx[1];return Vl(l(q0[1][1+Xt],q0),he,YU,oe,function(Jd){return[0,he,[32,Jd]]});case 33:var tW=wx[1];return Vl(l(q0[1][1+Ji],q0),he,tW,oe,function(Jd){return[0,he,[33,Jd]]});case 34:var Pj=wx[1];return Vl(l(q0[1][1+ie],q0),he,Pj,oe,function(Jd){return[0,he,[34,Jd]]});case 35:var rW=wx[1];return Vl(l(q0[1][1+L],q0),he,rW,oe,function(Jd){return[0,he,[35,Jd]]});default:var QU=wx[1];return Vl(l(q0[1][1+m],q0),he,QU,oe,function(Jd){return[0,he,[36,Jd]]})}},Mp,function(q0,oe){return oe},Nr,8,XC,Mx,Mx,function(q0,oe){var wx=oe[2],he=oe[1],st=i4(l(q0[1][1+Mp],q0),he),nr=i4(l(q0[1][1+Mp],q0),wx);return he===st&&wx===nr?oe:[0,st,nr,oe[3]]},xx,function(q0,oe){var wx=oe[2],he=oe[1];switch(wx[0]){case 0:var st=wx[1];return Vl(l(q0[1][1+QM],q0),he,st,oe,function(Mh){return[0,he,[0,Mh]]});case 1:var nr=wx[1];return Vl(l(q0[1][1+HU],q0),he,nr,oe,function(Mh){return[0,he,[1,Mh]]});case 2:var Vr=wx[1];return Vl(l(q0[1][1+JU],q0),he,Vr,oe,function(Mh){return[0,he,[2,Mh]]});case 3:var ta=wx[1];return Vl(l(q0[1][1+k9],q0),he,ta,oe,function(Mh){return[0,he,[3,Mh]]});case 4:var Ta=wx[1];return Vl(l(q0[1][1+fO],q0),he,Ta,oe,function(Mh){return[0,he,[4,Mh]]});case 5:var dc=wx[1];return Vl(l(q0[1][1+JM],q0),he,dc,oe,function(Mh){return[0,he,[5,Mh]]});case 6:var el=wx[1];return Vl(l(q0[1][1+f6],q0),he,el,oe,function(Mh){return[0,he,[6,Mh]]});case 7:var um=wx[1];return Vl(l(q0[1][1+xT],q0),he,um,oe,function(Mh){return[0,he,[7,Mh]]});case 8:var h8=wx[1];return Vl(l(q0[1][1+QC],q0),he,h8,oe,function(Mh){return[0,he,[8,Mh]]});case 9:var ax=wx[1];return Vl(l(q0[1][1+KM],q0),he,ax,oe,function(Mh){return[0,he,[9,Mh]]});case 10:var k4=wx[1];return Ol(l(q0[1][1+w4],q0),k4,oe,function(Mh){return[0,he,[10,Mh]]});case 11:var MA=wx[1];return Ol(z(q0[1][1+Ak],q0,he),MA,oe,function(Mh){return[0,he,[11,Mh]]});case 12:var q4=wx[1];return Vl(l(q0[1][1+sx],q0),he,q4,oe,function(Mh){return[0,he,[12,Mh]]});case 13:var QT=wx[1];return Vl(l(q0[1][1+_T],q0),he,QT,oe,function(Mh){return[0,he,[13,Mh]]});case 14:var yw=wx[1];return Vl(l(q0[1][1+s_],q0),he,yw,oe,function(Mh){return[0,he,[14,Mh]]});case 15:var hk=wx[1];return Vl(l(q0[1][1+A2],q0),he,hk,oe,function(Mh){return[0,he,[15,Mh]]});case 16:var N9=wx[1];return Vl(l(q0[1][1+lC],q0),he,N9,oe,function(Mh){return[0,he,[16,Mh]]});case 17:var tx=wx[1];return Vl(l(q0[1][1+sm],q0),he,tx,oe,function(Mh){return[0,he,[17,Mh]]});case 18:var g8=wx[1];return Vl(l(q0[1][1+_f],q0),he,g8,oe,function(Mh){return[0,he,[18,Mh]]});case 19:var f9=wx[1];return Vl(l(q0[1][1+fu],q0),he,f9,oe,function(Mh){return[0,he,[19,Mh]]});case 20:var RP=wx[1];return Ol(z(q0[1][1+Ri],q0,he),RP,oe,function(Mh){return[0,he,[20,Mh]]});case 21:var q8=wx[1];return Vl(l(q0[1][1+ln],q0),he,q8,oe,function(Mh){return[0,he,[21,Mh]]});case 22:var mx=wx[1];return Vl(l(q0[1][1+Li],q0),he,mx,oe,function(Mh){return[0,he,[22,Mh]]});case 23:var rP=wx[1];return Vl(l(q0[1][1+Mi],q0),he,rP,oe,function(Mh){return[0,he,[23,Mh]]});case 24:var Z9=wx[1];return Vl(l(q0[1][1+ix],q0),he,Z9,oe,function(Mh){return[0,he,[24,Mh]]});case 25:var fB=wx[1];return Vl(l(q0[1][1+Tn],q0),he,fB,oe,function(Mh){return[0,he,[25,Mh]]});case 26:var pB=wx[1];return Vl(l(q0[1][1+wn],q0),he,pB,oe,function(Mh){return[0,he,[26,Mh]]});case 27:var xy=wx[1];return Vl(l(q0[1][1+zn],q0),he,xy,oe,function(Mh){return[0,he,[27,Mh]]});case 28:var hx=wx[1];return Vl(l(q0[1][1+Or],q0),he,hx,oe,function(Mh){return[0,he,[28,Mh]]});case 29:var XU=wx[1];return Vl(l(q0[1][1+Ie],q0),he,XU,oe,function(Mh){return[0,he,[29,Mh]]});default:var IL=wx[1];return Vl(l(q0[1][1+n],q0),he,IL,oe,function(Mh){return[0,he,[30,Mh]]})}},QM,function(q0,oe,wx){var he=wx[2],st=wx[1],nr=i4(l(q0[1][1+wI],q0),st),Vr=z(q0[1][1+Nr],q0,he);return st===nr&&he===Vr?wx:[0,nr,Vr]},wI,function(q0,oe){switch(oe[0]){case 0:var wx=oe[1];return Ol(l(q0[1][1+xx],q0),wx,oe,function(st){return[0,st]});case 1:var he=oe[1];return Ol(l(q0[1][1+Dt],q0),he,oe,function(st){return[1,st]});default:return oe}},HU,function(q0,oe,wx){return zr(q0[1][1+VF],q0,oe,wx)},JU,function(q0,oe,wx){var he=wx[4],st=wx[3],nr=wx[2],Vr=z(q0[1][1+pO],q0,nr),ta=z(q0[1][1+xx],q0,st),Ta=z(q0[1][1+Nr],q0,he);return nr===Vr&&st===ta&&he===Ta?wx:[0,wx[1],Vr,ta,Ta]},k9,function(q0,oe,wx){var he=wx[4],st=wx[3],nr=wx[2],Vr=z(q0[1][1+xx],q0,nr),ta=z(q0[1][1+xx],q0,st),Ta=z(q0[1][1+Nr],q0,he);return nr===Vr&&st===ta&&he===Ta?wx:[0,wx[1],Vr,ta,Ta]},TI,function(q0,oe,wx){var he=wx[2],st=wx[1],nr=z(q0[1][1+ku],q0,st),Vr=z(q0[1][1+Nr],q0,he);return st===nr&&he===Vr?wx:[0,nr,Vr]},XM,function(q0,oe,wx){var he=wx[2],st=wx[1],nr=XC(l(q0[1][1+o3],q0),st),Vr=z(q0[1][1+Nr],q0,he);return st===nr&&he===Vr?wx:[0,nr,Vr]},fO,function(q0,oe,wx){var he=wx[4],st=wx[3],nr=wx[2],Vr=wx[1],ta=z(q0[1][1+xx],q0,Vr),Ta=XC(l(q0[1][1+cB],q0),nr),dc=z(q0[1][1+kj],q0,st),el=z(q0[1][1+Nr],q0,he);return Vr===ta&&nr===Ta&&st===dc&&he===el?wx:[0,ta,Ta,dc,el]},kj,function(q0,oe){var wx=oe[2],he=wx[2],st=wx[1],nr=i4(l(q0[1][1+Gk],q0),st),Vr=z(q0[1][1+Nr],q0,he);return st===nr&&he===Vr?oe:[0,oe[1],[0,nr,Vr]]},Ri,function(q0,oe,wx){var he=wx[1],st=zr(q0[1][1+fO],q0,oe,he);return he===st?wx:[0,st,wx[2]]},cB,function(q0,oe){var wx=oe[2],he=wx[2],st=wx[1],nr=i4(l(q0[1][1+GM],q0),st),Vr=z(q0[1][1+Nr],q0,he);return st===nr&&he===Vr?oe:[0,oe[1],[0,nr,Vr]]},GM,function(q0,oe){if(oe[0]===0){var wx=oe[1],he=z(q0[1][1+Me],q0,wx);return he===wx?oe:[0,he]}var st=oe[1],nr=st[2][1],Vr=z(q0[1][1+Nr],q0,nr);return nr===Vr?oe:[1,[0,st[1],[0,Vr]]]},Dx,function(q0,oe){return A9(l(q0[1][1+TI],q0),oe)},HM,function(q0,oe,wx){var he=wx[3],st=wx[2],nr=wx[1],Vr=XC(l(q0[1][1+qU],q0),nr),ta=z(q0[1][1+Dx],q0,st),Ta=z(q0[1][1+Nr],q0,he);return nr===Vr&&st===ta&&he===Ta?wx:[0,Vr,ta,Ta]},JM,function(q0,oe,wx){var he=wx[7],st=wx[6],nr=wx[5],Vr=wx[4],ta=wx[2],Ta=wx[1],dc=XC(l(q0[1][1+PL],q0),Ta),el=z(q0[1][1+qM],q0,ta),um=l(q0[1][1+zM],q0),h8=XC(function(q4){return A9(um,q4)},Vr),ax=XC(l(q0[1][1+lO],q0),nr),k4=i4(l(q0[1][1+_x],q0),st),MA=z(q0[1][1+Nr],q0,he);return Ta===dc&&ta===el&&Vr===h8&&nr===ax&&st===k4&&sk(he,MA)?wx:[0,dc,el,wx[3],h8,ax,k4,MA]},zM,function(q0,oe,wx){var he=wx[3],st=wx[2],nr=wx[1],Vr=z(q0[1][1+xx],q0,nr),ta=XC(l(q0[1][1+Oi],q0),st),Ta=z(q0[1][1+Nr],q0,he);return nr===Vr&&st===ta&&he===Ta?wx:[0,Vr,ta,Ta]},PL,function(q0,oe){return zr(q0[1][1+$n],q0,Cw1,oe)},qM,function(q0,oe){var wx=oe[2],he=wx[2],st=wx[1],nr=i4(l(q0[1][1+WM],q0),st),Vr=z(q0[1][1+Nr],q0,he);return st===nr&&he===Vr?oe:[0,oe[1],[0,nr,Vr]]},_x,function(q0,oe){var wx=oe[2],he=wx[2],st=wx[1],nr=z(q0[1][1+xx],q0,st),Vr=z(q0[1][1+Nr],q0,he);return st===nr&&he===Vr?oe:[0,oe[1],[0,nr,Vr]]},WM,function(q0,oe){switch(oe[0]){case 0:var wx=oe[1],he=wx[1],st=wx[2];return Vl(l(q0[1][1+tP],q0),he,st,oe,function(um){return[0,[0,he,um]]});case 1:var nr=oe[1],Vr=nr[1],ta=nr[2];return Vl(l(q0[1][1+K6],q0),Vr,ta,oe,function(um){return[1,[0,Vr,um]]});default:var Ta=oe[1],dc=Ta[1],el=Ta[2];return Vl(l(q0[1][1+sF],q0),dc,el,oe,function(um){return[2,[0,dc,um]]})}},lO,function(q0,oe){var wx=oe[2],he=wx[2],st=wx[1],nr=i4(l(q0[1][1+NL],q0),st),Vr=z(q0[1][1+Nr],q0,he);return st===nr&&he===Vr?oe:[0,oe[1],[0,nr,Vr]]},NL,function(q0,oe){var wx=oe[2],he=wx[2],st=wx[1],nr=z(q0[1][1+Vn],q0,st),Vr=XC(l(q0[1][1+Oi],q0),he);return st===nr&&he===Vr?oe:[0,oe[1],[0,nr,Vr]]},tP,function(q0,oe,wx){var he=wx[6],st=wx[5],nr=wx[3],Vr=wx[2],ta=z(q0[1][1+Qu],q0,Vr),Ta=A9(l(q0[1][1+QC],q0),nr),dc=i4(l(q0[1][1+_x],q0),st),el=z(q0[1][1+Nr],q0,he);return Vr===ta&&nr===Ta&&st===dc&&he===el?wx:[0,wx[1],ta,Ta,wx[4],dc,el]},K6,function(q0,oe,wx){var he=wx[6],st=wx[5],nr=wx[3],Vr=wx[2],ta=wx[1],Ta=z(q0[1][1+Qu],q0,ta),dc=z(q0[1][1+Bf],q0,Vr),el=z(q0[1][1+xn],q0,nr),um=z(q0[1][1+v],q0,st),h8=z(q0[1][1+Nr],q0,he);return ta===Ta&&Vr===dc&&el===nr&&um===st&&h8===he?wx:[0,Ta,dc,el,wx[4],um,h8]},Bf,function(q0,oe){if(typeof oe==\"number\")return oe;var wx=oe[1],he=z(q0[1][1+xx],q0,wx);return wx===he?oe:[0,he]},sF,function(q0,oe,wx){var he=wx[6],st=wx[5],nr=wx[3],Vr=wx[2],ta=wx[1],Ta=z(q0[1][1+du],q0,ta),dc=z(q0[1][1+Bf],q0,Vr),el=z(q0[1][1+xn],q0,nr),um=z(q0[1][1+v],q0,st),h8=z(q0[1][1+Nr],q0,he);return ta===Ta&&Vr===dc&&el===nr&&um===st&&h8===he?wx:[0,Ta,dc,el,wx[4],um,h8]},f6,function(q0,oe,wx){return wx},xT,function(q0,oe,wx){var he=wx[4],st=wx[3],nr=wx[2],Vr=wx[1],ta=z(q0[1][1+is],q0,Vr),Ta=z(q0[1][1+xx],q0,nr),dc=z(q0[1][1+xx],q0,st),el=z(q0[1][1+Nr],q0,he);return Vr===ta&&nr===Ta&&st===dc&&sk(he,el)?wx:[0,ta,Ta,dc,el]},g6,function(q0,oe,wx){var he=wx[2],st=wx[1],nr=XC(l(q0[1][1+o3],q0),st),Vr=z(q0[1][1+Nr],q0,he);return st===nr&&he===Vr?wx:[0,nr,Vr]},$6,function(q0,oe,wx){var he=wx[1],st=z(q0[1][1+Nr],q0,he);return he===st?wx:[0,st]},Yc,function(q0,oe,wx){var he=wx[7],st=wx[6],nr=wx[5],Vr=wx[4],ta=wx[3],Ta=wx[2],dc=wx[1],el=z(q0[1][1+PL],q0,dc),um=XC(l(q0[1][1+ni],q0),Ta),h8=A9(l(q0[1][1+No],q0),ta),ax=l(q0[1][1+EN],q0),k4=XC(function(hk){return A9(ax,hk)},Vr),MA=l(q0[1][1+EN],q0),q4=i4(function(hk){return A9(MA,hk)},nr),QT=XC(l(q0[1][1+lO],q0),st),yw=z(q0[1][1+Nr],q0,he);return el===dc&&um===Ta&&h8===ta&&k4===Vr&&q4===nr&&QT===st&&yw===he?wx:[0,el,um,h8,k4,q4,QT,yw]},V2,function(q0,oe,wx){var he=wx[5],st=wx[3],nr=wx[2],Vr=XC(l(q0[1][1+lS],q0),st),ta=XC(l(q0[1][1+Rm],q0),nr),Ta=z(q0[1][1+Nr],q0,he);return st===Vr&&nr===ta&&he===Ta?wx:[0,wx[1],ta,Vr,wx[4],Ta]},Rm,function(q0,oe){switch(oe[0]){case 0:var wx=oe[1],he=wx[2],st=wx[1],nr=zr(q0[1][1+cO],q0,st,he);return nr===he?oe:[0,[0,st,nr]];case 1:var Vr=oe[1],ta=Vr[2],Ta=Vr[1],dc=zr(q0[1][1+Lh],q0,Ta,ta);return dc===ta?oe:[1,[0,Ta,dc]];case 2:var el=oe[1],um=el[2],h8=el[1],ax=zr(q0[1][1+Yc],q0,h8,um);return ax===um?oe:[2,[0,h8,ax]];case 3:var k4=oe[1],MA=z(q0[1][1+Me],q0,k4);return MA===k4?oe:[3,MA];case 4:var q4=oe[1],QT=q4[2],yw=q4[1],hk=zr(q0[1][1+Xt],q0,yw,QT);return hk===QT?oe:[4,[0,yw,hk]];case 5:var N9=oe[1],tx=N9[2],g8=N9[1],f9=zr(q0[1][1+Ji],q0,g8,tx);return f9===tx?oe:[5,[0,g8,f9]];default:var RP=oe[1],q8=RP[2],mx=RP[1],rP=zr(q0[1][1+h6],q0,mx,q8);return rP===q8?oe:[6,[0,mx,rP]]}},Lh,function(q0,oe,wx){var he=wx[4],st=wx[3],nr=wx[2],Vr=wx[1],ta=z(q0[1][1+s3],q0,Vr),Ta=z(q0[1][1+vt],q0,nr),dc=XC(l(q0[1][1+Fu],q0),st),el=z(q0[1][1+Nr],q0,he);return ta===Vr&&Ta===nr&&dc===st&&el===he?wx:[0,ta,Ta,dc,el]},r2,function(q0,oe,wx){return zr(q0[1][1+h6],q0,oe,wx)},na,function(q0,oe,wx){var he=wx[4],st=wx[2],nr=A9(l(q0[1][1+TI],q0),st),Vr=z(q0[1][1+Nr],q0,he);return nr===st&&sk(he,Vr)?wx:[0,wx[1],nr,wx[3],Vr]},c1,function(q0,oe,wx){var he=wx[2],st=wx[1],nr=z(q0[1][1+vt],q0,st),Vr=z(q0[1][1+Nr],q0,he);return st===nr&&he===Vr?wx:[0,nr,Vr]},MP,function(q0,oe,wx){return zr(q0[1][1+Xt],q0,oe,wx)},cO,function(q0,oe,wx){var he=wx[3],st=wx[2],nr=wx[1],Vr=zr(q0[1][1+$n],q0,Ew1,nr),ta=z(q0[1][1+xn],q0,st),Ta=z(q0[1][1+Nr],q0,he);return Vr===nr&&ta===st&&Ta===he?wx:[0,Vr,ta,Ta]},AI,function(q0,oe,wx){var he=wx[3],st=wx[2],nr=wx[1],Vr=z(q0[1][1+ic],q0,nr),ta=z(q0[1][1+is],q0,st),Ta=z(q0[1][1+Nr],q0,he);return nr===Vr&&st===ta&&he===Ta?wx:[0,Vr,ta,Ta]},l9,function(q0,oe,wx){var he=wx[1],st=z(q0[1][1+Nr],q0,he);return he===st?wx:[0,st]},wk,function(q0,oe,wx){var he=wx[3],st=wx[2],nr=wx[1],Vr=zr(q0[1][1+$n],q0,Sw1,nr),ta=z(q0[1][1+AN],q0,st),Ta=z(q0[1][1+Nr],q0,he);return nr===Vr&&st===ta&&he===Ta?wx:[0,Vr,ta,Ta]},AN,function(q0,oe){var wx=oe[2],he=oe[1];switch(wx[0]){case 0:var st=wx[1];return Ol(l(q0[1][1+w9],q0),st,oe,function(Ta){return[0,he,[0,Ta]]});case 1:var nr=wx[1];return Ol(l(q0[1][1+FN],q0),nr,oe,function(Ta){return[0,he,[1,Ta]]});case 2:var Vr=wx[1];return Ol(l(q0[1][1+fx],q0),Vr,oe,function(Ta){return[0,he,[2,Ta]]});default:var ta=wx[1];return Ol(l(q0[1][1+Rw],q0),ta,oe,function(Ta){return[0,he,[3,Ta]]})}},w9,function(q0,oe){var wx=oe[4],he=oe[1],st=i4(l(q0[1][1+kk],q0),he),nr=z(q0[1][1+Nr],q0,wx);return he===st&&wx===nr?oe:[0,st,oe[2],oe[3],nr]},FN,function(q0,oe){var wx=oe[4],he=oe[1],st=i4(l(q0[1][1+T9],q0),he),nr=z(q0[1][1+Nr],q0,wx);return he===st&&wx===nr?oe:[0,st,oe[2],oe[3],nr]},fx,function(q0,oe){var wx=oe[4],he=oe[1];if(he[0]===0)var st=he[1],nr=[0,i4(l(q0[1][1+Xk],q0),st)];else{var Vr=he[1];nr=[1,i4(l(q0[1][1+SN],q0),Vr)]}var ta=z(q0[1][1+Nr],q0,wx);return he===nr&&wx===ta?oe:[0,nr,oe[2],oe[3],ta]},Rw,function(q0,oe){var wx=oe[3],he=oe[1],st=i4(l(q0[1][1+Xk],q0),he),nr=z(q0[1][1+Nr],q0,wx);return he===st&&wx===nr?oe:[0,st,oe[2],nr]},Xk,function(q0,oe){var wx=oe[2][1],he=z(q0[1][1+w4],q0,wx);return sk(wx,he)?oe:[0,oe[1],[0,he]]},kk,function(q0,oe){var wx=oe[2],he=wx[1],st=z(q0[1][1+w4],q0,he);return sk(he,st)?oe:[0,oe[1],[0,st,wx[2]]]},T9,function(q0,oe){var wx=oe[2],he=wx[1],st=z(q0[1][1+w4],q0,he);return sk(he,st)?oe:[0,oe[1],[0,st,wx[2]]]},SN,function(q0,oe){var wx=oe[2],he=wx[1],st=z(q0[1][1+w4],q0,he);return sk(he,st)?oe:[0,oe[1],[0,st,wx[2]]]},_w,function(q0,oe,wx){var he=wx[3],st=wx[2],nr=z(q0[1][1+Tk],q0,st),Vr=z(q0[1][1+Nr],q0,he);return nr===st&&Vr===he?wx:[0,wx[1],nr,Vr]},Tk,function(q0,oe){if(oe[0]===0){var wx=oe[1];return Ol(l(q0[1][1+ic],q0),wx,oe,function(st){return[0,st]})}var he=oe[1];return Ol(l(q0[1][1+xx],q0),he,oe,function(st){return[1,st]})},h5,function(q0,oe,wx){var he=wx[5],st=wx[2],nr=wx[1],Vr=XC(l(q0[1][1+lS],q0),st),ta=XC(l(q0[1][1+ic],q0),nr),Ta=z(q0[1][1+Nr],q0,he);return st===Vr&&nr===ta&&he===Ta?wx:[0,ta,Vr,wx[3],wx[4],Ta]},dk,function(q0,oe){var wx=oe[2],he=wx[2],st=wx[1],nr=z(q0[1][1+w4],q0,st),Vr=XC(l(q0[1][1+w4],q0),he);return st===nr&&he===Vr?oe:[0,oe[1],[0,nr,Vr]]},mk,function(q0,oe){var wx=oe[2],he=XC(l(q0[1][1+w4],q0),wx);return wx===he?oe:[0,oe[1],he]},lS,function(q0,oe){if(oe[0]===0){var wx=oe[1],he=i4(l(q0[1][1+dk],q0),wx);return wx===he?oe:[0,he]}var st=oe[1],nr=z(q0[1][1+mk],q0,st);return st===nr?oe:[1,nr]},B5,function(q0,oe,wx){var he=wx[3],st=wx[1],nr=z(q0[1][1+xx],q0,st),Vr=z(q0[1][1+Nr],q0,he);return st===nr&&he===Vr?wx:[0,nr,wx[2],Vr]},Gk,function(q0,oe){if(oe[0]===0){var wx=oe[1];return Ol(l(q0[1][1+xx],q0),wx,oe,function(st){return[0,st]})}var he=oe[1];return Ol(l(q0[1][1+Dt],q0),he,oe,function(st){return[1,st]})},DT,function(q0,oe,wx){var he=wx[5],st=wx[3],nr=wx[2],Vr=wx[1],ta=z(q0[1][1+eS],q0,Vr),Ta=z(q0[1][1+xx],q0,nr),dc=z(q0[1][1+ic],q0,st),el=z(q0[1][1+Nr],q0,he);return Vr===ta&&nr===Ta&&st===dc&&he===el?wx:[0,ta,Ta,dc,wx[4],el]},eS,function(q0,oe){if(oe[0]===0){var wx=oe[1];return Ol(l(q0[1][1+X5],q0),wx,oe,function(st){return[0,st]})}var he=oe[1];return Ol(l(q0[1][1+Mw],q0),he,oe,function(st){return[1,st]})},X5,function(q0,oe){var wx=oe[1],he=oe[2];return Vl(l(q0[1][1+ie],q0),wx,he,oe,function(st){return[0,wx,st]})},OS,function(q0,oe,wx){var he=wx[5],st=wx[3],nr=wx[2],Vr=wx[1],ta=z(q0[1][1+aF],q0,Vr),Ta=z(q0[1][1+xx],q0,nr),dc=z(q0[1][1+ic],q0,st),el=z(q0[1][1+Nr],q0,he);return Vr===ta&&nr===Ta&&st===dc&&he===el?wx:[0,ta,Ta,dc,wx[4],el]},aF,function(q0,oe){if(oe[0]===0){var wx=oe[1];return Ol(l(q0[1][1+W4],q0),wx,oe,function(st){return[0,st]})}var he=oe[1];return Ol(l(q0[1][1+LA],q0),he,oe,function(st){return[1,st]})},W4,function(q0,oe){var wx=oe[1],he=oe[2];return Vl(l(q0[1][1+ie],q0),wx,he,oe,function(st){return[0,wx,st]})},xS,function(q0,oe,wx){var he=wx[5],st=wx[4],nr=wx[3],Vr=wx[2],ta=wx[1],Ta=XC(l(q0[1][1+W8],q0),ta),dc=XC(l(q0[1][1+is],q0),Vr),el=XC(l(q0[1][1+xx],q0),nr),um=z(q0[1][1+ic],q0,st),h8=z(q0[1][1+Nr],q0,he);return ta===Ta&&Vr===dc&&nr===el&&st===um&&he===h8?wx:[0,Ta,dc,el,um,h8]},W8,function(q0,oe){if(oe[0]===0){var wx=oe[1];return Ol(l(q0[1][1+_F],q0),wx,oe,function(st){return[0,st]})}var he=oe[1];return Ol(l(q0[1][1+xx],q0),he,oe,function(st){return[1,st]})},_F,function(q0,oe){var wx=oe[1],he=oe[2];return Vl(l(q0[1][1+ie],q0),wx,he,oe,function(st){return[0,wx,st]})},zc,function(q0,oe){var wx=oe[2],he=wx[2],st=wx[1],nr=z(q0[1][1+Me],q0,he),Vr=XC(l(q0[1][1+w4],q0),st);return nr===he&&Vr===st?oe:[0,oe[1],[0,Vr,nr,wx[3]]]},dr,function(q0,oe){var wx=oe[2],he=wx[2],st=wx[1],nr=z(q0[1][1+zc],q0,st),Vr=z(q0[1][1+Nr],q0,he);return nr===st&&Vr===he?oe:[0,oe[1],[0,nr,Vr]]},yx,function(q0,oe){var wx=oe[2],he=wx[2],st=wx[1],nr=z(q0[1][1+vt],q0,st),Vr=z(q0[1][1+Nr],q0,he);return nr===st&&Vr===he?oe:[0,oe[1],[0,nr,Vr]]},uB,function(q0,oe,wx){var he=wx[4],st=wx[3],nr=wx[2],Vr=nr[2],ta=Vr[4],Ta=Vr[3],dc=Vr[2],el=Vr[1],um=wx[1],h8=XC(l(q0[1][1+yx],q0),el),ax=i4(l(q0[1][1+zc],q0),dc),k4=XC(l(q0[1][1+dr],q0),Ta),MA=z(q0[1][1+Me],q0,st),q4=XC(l(q0[1][1+ni],q0),um),QT=z(q0[1][1+Nr],q0,he),yw=z(q0[1][1+Nr],q0,ta);return ax===dc&&k4===Ta&&MA===st&&q4===um&&QT===he&&yw===ta&&h8===el?wx:[0,q4,[0,nr[1],[0,h8,ax,k4,yw]],MA,QT]},o3,function(q0,oe){return z(q0[1][1+w4],q0,oe)},Vs,function(q0,oe){switch(oe[0]){case 0:var wx=oe[1];return Ol(l(q0[1][1+Me],q0),wx,oe,function(nr){return[0,nr]});case 1:var he=oe[1];return Ol(l(q0[1][1+Do],q0),he,oe,function(nr){return[1,nr]});default:var st=oe[1];return Ol(l(q0[1][1+Na],q0),st,oe,function(nr){return[2,nr]})}},Do,function(q0,oe){var wx=oe[1],he=oe[2];return Vl(l(q0[1][1+uB],q0),wx,he,oe,function(st){return[0,wx,st]})},Na,function(q0,oe){var wx=oe[1],he=oe[2];return Vl(l(q0[1][1+uB],q0),wx,he,oe,function(st){return[0,wx,st]})},As,function(q0,oe){var wx=oe[2],he=wx[8],st=wx[7],nr=wx[2],Vr=wx[1],ta=z(q0[1][1+Qu],q0,Vr),Ta=z(q0[1][1+Vs],q0,nr),dc=z(q0[1][1+v],q0,st),el=z(q0[1][1+Nr],q0,he);return ta===Vr&&Ta===nr&&dc===st&&el===he?oe:[0,oe[1],[0,ta,Ta,wx[3],wx[4],wx[5],wx[6],dc,el]]},tu,function(q0,oe){var wx=oe[2],he=wx[2],st=wx[1],nr=z(q0[1][1+Me],q0,st),Vr=z(q0[1][1+Nr],q0,he);return nr===st&&he===Vr?oe:[0,oe[1],[0,nr,Vr]]},il,function(q0,oe){var wx=oe[2],he=wx[6],st=wx[5],nr=wx[3],Vr=wx[2],ta=z(q0[1][1+Me],q0,Vr),Ta=z(q0[1][1+Me],q0,nr),dc=z(q0[1][1+v],q0,st),el=z(q0[1][1+Nr],q0,he);return ta===Vr&&Ta===nr&&dc===st&&el===he?oe:[0,oe[1],[0,wx[1],ta,Ta,wx[4],dc,el]]},pc,function(q0,oe){var wx=oe[2],he=wx[6],st=wx[2],nr=wx[1],Vr=z(q0[1][1+w4],q0,nr),ta=z(q0[1][1+Me],q0,st),Ta=z(q0[1][1+Nr],q0,he);return nr===Vr&&st===ta&&he===Ta?oe:[0,oe[1],[0,Vr,ta,wx[3],wx[4],wx[5],Ta]]},Zu,function(q0,oe){var wx=oe[2],he=wx[3],st=wx[1],nr=st[2],Vr=st[1],ta=zr(q0[1][1+uB],q0,Vr,nr),Ta=z(q0[1][1+Nr],q0,he);return nr===ta&&he===Ta?oe:[0,oe[1],[0,[0,Vr,ta],wx[2],Ta]]},No,function(q0,oe,wx){var he=wx[4],st=wx[3],nr=i4(function(ta){switch(ta[0]){case 0:var Ta=ta[1];return Ol(l(q0[1][1+As],q0),Ta,ta,function(ax){return[0,ax]});case 1:var dc=ta[1];return Ol(l(q0[1][1+tu],q0),dc,ta,function(ax){return[1,ax]});case 2:var el=ta[1];return Ol(l(q0[1][1+il],q0),el,ta,function(ax){return[2,ax]});case 3:var um=ta[1];return Ol(l(q0[1][1+Zu],q0),um,ta,function(ax){return[3,ax]});default:var h8=ta[1];return Ol(l(q0[1][1+pc],q0),h8,ta,function(ax){return[4,ax]})}},st),Vr=z(q0[1][1+Nr],q0,he);return nr===st&&he===Vr?wx:[0,wx[1],wx[2],nr,Vr]},ox,function(q0,oe,wx){var he=wx[3],st=wx[2],nr=wx[1],Vr=l(q0[1][1+EN],q0),ta=i4(function(el){return A9(Vr,el)},st),Ta=A9(l(q0[1][1+No],q0),nr),dc=z(q0[1][1+Nr],q0,he);return ta===st&&Ta===nr&&he===dc?wx:[0,Ta,ta,dc]},gx,function(q0,oe){if(oe[0]===0){var wx=oe[1];return Ol(l(q0[1][1+Vn],q0),wx,oe,function(st){return[0,st]})}var he=oe[1];return Ol(l(q0[1][1+sB],q0),he,oe,function(st){return[1,st]})},sB,function(q0,oe){var wx=oe[2],he=wx[2],st=wx[1],nr=z(q0[1][1+gx],q0,st),Vr=z(q0[1][1+Vn],q0,he);return nr===st&&Vr===he?oe:[0,oe[1],[0,nr,Vr]]},a0,function(q0,oe){var wx=oe[2],he=wx[2],st=z(q0[1][1+Nr],q0,he);return he===st?oe:[0,oe[1],[0,wx[1],st]]},v,function(q0,oe){return XC(l(q0[1][1+a0],q0),oe)},Oi,function(q0,oe){var wx=oe[2],he=wx[2],st=wx[1],nr=i4(l(q0[1][1+Me],q0),st),Vr=z(q0[1][1+Nr],q0,he);return st===nr&&he===Vr?oe:[0,oe[1],[0,nr,Vr]]},ni,function(q0,oe){var wx=oe[2],he=wx[2],st=wx[1],nr=i4(l(q0[1][1+Jn],q0),st),Vr=z(q0[1][1+Nr],q0,he);return nr===st&&Vr===he?oe:[0,oe[1],[0,nr,Vr]]},Jn,function(q0,oe){var wx=oe[2],he=wx[4],st=wx[3],nr=wx[2],Vr=wx[1],ta=z(q0[1][1+Vn],q0,Vr),Ta=z(q0[1][1+xn],q0,nr),dc=z(q0[1][1+v],q0,st),el=XC(l(q0[1][1+Me],q0),he);return ta===Vr&&Ta===nr&&dc===st&&el===he?oe:[0,oe[1],[0,ta,Ta,dc,el]]},EN,function(q0,oe,wx){var he=wx[3],st=wx[2],nr=wx[1],Vr=z(q0[1][1+gx],q0,nr),ta=XC(l(q0[1][1+Oi],q0),st),Ta=z(q0[1][1+Nr],q0,he);return Vr===nr&&ta===st&&Ta===he?wx:[0,Vr,ta,Ta]},cA,function(q0,oe,wx){var he=wx[3],st=wx[2],nr=wx[1],Vr=z(q0[1][1+Me],q0,nr),ta=z(q0[1][1+Me],q0,st),Ta=z(q0[1][1+Nr],q0,he);return Vr===nr&&ta===st&&Ta===he?wx:[0,Vr,ta,Ta]},tn,function(q0,oe,wx){var he=wx[1],st=zr(q0[1][1+cA],q0,oe,he);return st===he?wx:[0,st,wx[2]]},Bc,function(q0,oe,wx){var he=wx[3],st=z(q0[1][1+Nr],q0,he);return he===st?wx:[0,wx[1],wx[2],st]},vl,function(q0,oe,wx){var he=wx[3],st=z(q0[1][1+Nr],q0,he);return he===st?wx:[0,wx[1],wx[2],st]},YM,function(q0,oe,wx){var he=wx[3],st=z(q0[1][1+Nr],q0,he);return he===st?wx:[0,wx[1],wx[2],st]},Nj,function(q0,oe,wx){var he=wx[2],st=z(q0[1][1+Nr],q0,he);return he===st?wx:[0,wx[1],st]},id,function(q0,oe){var wx=oe[2],he=oe[1],st=z(q0[1][1+Me],q0,he),nr=z(q0[1][1+Nr],q0,wx);return he===st&&wx===nr?oe:[0,st,nr]},Cr,function(q0,oe){var wx=oe[3],he=oe[1],st=z(q0[1][1+Me],q0,he),nr=z(q0[1][1+Nr],q0,wx);return he===st&&wx===nr?oe:[0,st,oe[2],nr]},Ke,function(q0,oe){var wx=oe[2],he=oe[1],st=i4(l(q0[1][1+Me],q0),he),nr=z(q0[1][1+Nr],q0,wx);return he===st&&wx===nr?oe:[0,st,nr]},GU,function(q0,oe){var wx=oe[2],he=oe[1],st=z(q0[1][1+Me],q0,he),nr=z(q0[1][1+Nr],q0,wx);return he===st&&wx===nr?oe:[0,st,nr]},Ot,function(q0,oe,wx){var he=wx[2],st=wx[1],nr=st[3],Vr=st[2],ta=st[1],Ta=z(q0[1][1+Me],q0,ta),dc=z(q0[1][1+Me],q0,Vr),el=i4(l(q0[1][1+Me],q0),nr),um=z(q0[1][1+Nr],q0,he);return Ta===ta&&dc===Vr&&el===nr&&um===he?wx:[0,[0,Ta,dc,el],um]},K4,function(q0,oe,wx){var he=wx[2],st=wx[1],nr=st[3],Vr=st[2],ta=st[1],Ta=z(q0[1][1+Me],q0,ta),dc=z(q0[1][1+Me],q0,Vr),el=i4(l(q0[1][1+Me],q0),nr),um=z(q0[1][1+Nr],q0,he);return Ta===ta&&dc===Vr&&el===nr&&um===he?wx:[0,[0,Ta,dc,el],um]},Me,function(q0,oe){var wx=oe[2],he=oe[1];switch(wx[0]){case 0:var st=wx[1];return Ol(l(q0[1][1+Nr],q0),st,oe,function(xy){return[0,he,[0,xy]]});case 1:var nr=wx[1];return Ol(l(q0[1][1+Nr],q0),nr,oe,function(xy){return[0,he,[1,xy]]});case 2:var Vr=wx[1];return Ol(l(q0[1][1+Nr],q0),Vr,oe,function(xy){return[0,he,[2,xy]]});case 3:var ta=wx[1];return Ol(l(q0[1][1+Nr],q0),ta,oe,function(xy){return[0,he,[3,xy]]});case 4:var Ta=wx[1];return Ol(l(q0[1][1+Nr],q0),Ta,oe,function(xy){return[0,he,[4,xy]]});case 5:var dc=wx[1];return Ol(l(q0[1][1+Nr],q0),dc,oe,function(xy){return[0,he,[5,xy]]});case 6:var el=wx[1];return Ol(l(q0[1][1+Nr],q0),el,oe,function(xy){return[0,he,[6,xy]]});case 7:var um=wx[1];return Ol(l(q0[1][1+Nr],q0),um,oe,function(xy){return[0,he,[7,xy]]});case 8:var h8=wx[1];return Ol(l(q0[1][1+Nr],q0),h8,oe,function(xy){return[0,he,[8,xy]]});case 9:var ax=wx[1];return Ol(l(q0[1][1+Nr],q0),ax,oe,function(xy){return[0,he,[9,xy]]});case 10:var k4=wx[1];return Ol(l(q0[1][1+Nr],q0),k4,oe,function(xy){return[0,he,[10,xy]]});case 11:var MA=wx[1];return Ol(l(q0[1][1+id],q0),MA,oe,function(xy){return[0,he,[11,xy]]});case 12:var q4=wx[1];return Vl(l(q0[1][1+uB],q0),he,q4,oe,function(xy){return[0,he,[12,xy]]});case 13:var QT=wx[1];return Vl(l(q0[1][1+No],q0),he,QT,oe,function(xy){return[0,he,[13,xy]]});case 14:var yw=wx[1];return Vl(l(q0[1][1+ox],q0),he,yw,oe,function(xy){return[0,he,[14,xy]]});case 15:var hk=wx[1];return Ol(l(q0[1][1+GU],q0),hk,oe,function(xy){return[0,he,[15,xy]]});case 16:var N9=wx[1];return Vl(l(q0[1][1+EN],q0),he,N9,oe,function(xy){return[0,he,[16,xy]]});case 17:var tx=wx[1];return Vl(l(q0[1][1+cA],q0),he,tx,oe,function(xy){return[0,he,[17,xy]]});case 18:var g8=wx[1];return Vl(l(q0[1][1+tn],q0),he,g8,oe,function(xy){return[0,he,[18,xy]]});case 19:var f9=wx[1];return Vl(l(q0[1][1+Ot],q0),he,f9,oe,function(xy){return[0,he,[19,xy]]});case 20:var RP=wx[1];return Vl(l(q0[1][1+K4],q0),he,RP,oe,function(xy){return[0,he,[20,xy]]});case 21:var q8=wx[1];return Ol(l(q0[1][1+Cr],q0),q8,oe,function(xy){return[0,he,[21,xy]]});case 22:var mx=wx[1];return Ol(l(q0[1][1+Ke],q0),mx,oe,function(xy){return[0,he,[22,xy]]});case 23:var rP=wx[1];return Vl(l(q0[1][1+Bc],q0),he,rP,oe,function(xy){return[0,he,[23,xy]]});case 24:var Z9=wx[1];return Vl(l(q0[1][1+vl],q0),he,Z9,oe,function(xy){return[0,he,[24,xy]]});case 25:var fB=wx[1];return Vl(l(q0[1][1+YM],q0),he,fB,oe,function(xy){return[0,he,[25,xy]]});default:var pB=wx[1];return Vl(l(q0[1][1+Nj],q0),he,pB,oe,function(xy){return[0,he,[26,xy]]})}},vt,function(q0,oe){var wx=oe[1],he=oe[2];return Ol(l(q0[1][1+Me],q0),he,oe,function(st){return[0,wx,st]})},xn,function(q0,oe){if(oe[0]===0)return oe;var wx=oe[1],he=z(q0[1][1+vt],q0,wx);return he===wx?oe:[1,he]},E6,function(q0,oe,wx){return zr(q0[1][1+VF],q0,oe,wx)},QC,function(q0,oe,wx){return zr(q0[1][1+VF],q0,oe,wx)},VF,function(q0,oe,wx){var he=wx[9],st=wx[8],nr=wx[7],Vr=wx[6],ta=wx[3],Ta=wx[2],dc=wx[1],el=XC(l(q0[1][1+s3],q0),dc),um=z(q0[1][1+Wn],q0,Ta),h8=z(q0[1][1+xn],q0,nr),ax=z(q0[1][1+cS],q0,ta),k4=XC(l(q0[1][1+Fu],q0),Vr),MA=XC(l(q0[1][1+ni],q0),st),q4=z(q0[1][1+Nr],q0,he);return dc===el&&Ta===um&&ta===ax&&sk(Vr,k4)&&nr===h8&&st===MA&&he===q4?wx:[0,el,um,ax,wx[4],wx[5],k4,h8,MA,q4,wx[10]]},Wn,function(q0,oe){var wx=oe[2],he=wx[4],st=wx[3],nr=wx[2],Vr=wx[1],ta=i4(l(q0[1][1+u_],q0),nr),Ta=XC(l(q0[1][1+m1],q0),st),dc=XC(l(q0[1][1+Ai],q0),Vr),el=z(q0[1][1+Nr],q0,he);return nr===ta&&st===Ta&&he===el&&Vr===dc?oe:[0,oe[1],[0,dc,ta,Ta,el]]},Ai,function(q0,oe){var wx=oe[2],he=wx[2],st=wx[1],nr=z(q0[1][1+vt],q0,st),Vr=z(q0[1][1+Nr],q0,he);return nr===st&&Vr===he?oe:[0,oe[1],[0,nr,Vr]]},u_,function(q0,oe){var wx=oe[2],he=wx[2],st=wx[1],nr=z(q0[1][1+kl],q0,st),Vr=XC(l(q0[1][1+xx],q0),he);return st===nr&&he===Vr?oe:[0,oe[1],[0,nr,Vr]]},cS,function(q0,oe){if(oe[0]===0){var wx=oe[1];return Ol(l(q0[1][1+UF],q0),wx,oe,function(st){return[0,st]})}var he=oe[1];return Ol(l(q0[1][1+xx],q0),he,oe,function(st){return[1,st]})},UF,function(q0,oe){var wx=oe[1],he=oe[2];return Vl(l(q0[1][1+TI],q0),wx,he,oe,function(st){return[0,wx,st]})},s3,function(q0,oe){return zr(q0[1][1+$n],q0,Fw1,oe)},KM,function(q0,oe,wx){return wx},w4,function(q0,oe){var wx=oe[2],he=wx[2],st=z(q0[1][1+Nr],q0,he);return he===st?oe:[0,oe[1],[0,wx[1],st]]},Vn,function(q0,oe){return z(q0[1][1+w4],q0,oe)},h6,function(q0,oe,wx){var he=wx[5],st=wx[4],nr=wx[3],Vr=wx[2],ta=wx[1],Ta=z(q0[1][1+PL],q0,ta),dc=XC(l(q0[1][1+ni],q0),Vr),el=l(q0[1][1+EN],q0),um=i4(function(k4){return A9(el,k4)},nr),h8=A9(l(q0[1][1+No],q0),st),ax=z(q0[1][1+Nr],q0,he);return Ta===ta&&dc===Vr&&um===nr&&h8===st&&ax===he?wx:[0,Ta,dc,um,h8,ax]},BA,function(q0,oe,wx){return zr(q0[1][1+h6],q0,oe,wx)},du,function(q0,oe){var wx=oe[2],he=wx[2],st=wx[1],nr=z(q0[1][1+w4],q0,st),Vr=z(q0[1][1+Nr],q0,he);return st===nr&&he===Vr?oe:[0,oe[1],[0,nr,Vr]]},oF,function(q0,oe){var wx=oe[2],he=wx[2],st=wx[1],nr=z(q0[1][1+xx],q0,st),Vr=z(q0[1][1+Nr],q0,he);return st===nr&&he===Vr?oe:[0,oe[1],[0,nr,Vr]]},Ak,function(q0,oe,wx){var he=wx[2],st=wx[1],nr=z(q0[1][1+xx],q0,st),Vr=z(q0[1][1+Nr],q0,he);return st===nr&&he===Vr?wx:[0,nr,Vr]},Q9,function(q0,oe,wx){return z(q0[1][1+ic],q0,wx)},Hk,function(q0,oe,wx){var he=wx[2],st=wx[1],nr=z(q0[1][1+ic],q0,st),Vr=z(q0[1][1+Nr],q0,he);return st===nr&&he===Vr?wx:[0,nr,Vr]},ZA,function(q0,oe,wx){var he=wx[4],st=wx[3],nr=wx[2],Vr=wx[1],ta=z(q0[1][1+is],q0,Vr),Ta=zr(q0[1][1+Q9],q0,st!==0?1:0,nr),dc=l(q0[1][1+Hk],q0),el=XC(function(h8){return A9(dc,h8)},st),um=z(q0[1][1+Nr],q0,he);return Vr===ta&&nr===Ta&&st===el&&he===um?wx:[0,ta,Ta,el,um]},pk,function(q0,oe,wx){var he=wx[5],st=wx[4],nr=wx[3],Vr=wx[1],ta=XC(z(q0[1][1+QA],q0,Vr),st),Ta=XC(l(q0[1][1+Fk],q0),nr),dc=z(q0[1][1+Nr],q0,he);return st===ta&&nr===Ta&&he===dc?wx:[0,Vr,wx[2],Ta,ta,dc]},QA,function(q0,oe,wx){if(wx[0]===0){var he=wx[1],st=i4(z(q0[1][1+z4],q0,oe),he);return he===st?wx:[0,st]}var nr=wx[1],Vr=nr[1],ta=nr[2];return Vl(l(q0[1][1+YT],q0),Vr,ta,wx,function(Ta){return[1,[0,Vr,Ta]]})},z4,function(q0,oe,wx){var he=wx[3],st=wx[2],nr=wx[1],Vr=0;if(oe!==0){var ta=0;if(nr&&nr[1]===0&&(ta=1),!ta){var Ta=0;Vr=1}}Vr||(Ta=1);var dc=z(Ta?q0[1][1+Vn]:q0[1][1+w4],q0,he);if(st)var el=Ta?l(q0[1][1+Vn],q0):z(q0[1][1+$n],q0,Aw1),um=Ol(el,st[1],st,function(h8){return[0,h8]});else um=st;return st===um&&he===dc?wx:[0,nr,um,dc]},Fk,function(q0,oe){return zr(q0[1][1+$n],q0,Tw1,oe)},YT,function(q0,oe,wx){return zr(q0[1][1+$n],q0,ww1,wx)},sx,function(q0,oe,wx){var he=wx[4],st=wx[3],nr=wx[2],Vr=wx[1],ta=z(q0[1][1+uS],q0,Vr),Ta=XC(l(q0[1][1+XA],q0),nr),dc=z(q0[1][1+O5],q0,st),el=z(q0[1][1+Nr],q0,he);return Vr===ta&&nr===Ta&&st===dc&&he===el?wx:[0,ta,Ta,dc,el]},_T,function(q0,oe,wx){var he=wx[4],st=wx[3],nr=z(q0[1][1+O5],q0,st),Vr=z(q0[1][1+Nr],q0,he);return st===nr&&he===Vr?wx:[0,wx[1],wx[2],nr,Vr]},uS,function(q0,oe){var wx=oe[2],he=wx[3],st=wx[1],nr=z(q0[1][1+yT],q0,st),Vr=i4(l(q0[1][1+P8],q0),he);return st===nr&&he===Vr?oe:[0,oe[1],[0,nr,wx[2],Vr]]},XA,function(q0,oe){var wx=oe[2][1],he=z(q0[1][1+yT],q0,wx);return wx===he?oe:[0,oe[1],[0,he]]},P8,function(q0,oe){if(oe[0]===0){var wx=oe[1];return Ol(l(q0[1][1+G5],q0),wx,oe,function(Vr){return[0,Vr]})}var he=oe[1],st=he[1],nr=he[2];return Vl(l(q0[1][1+fC],q0),st,nr,oe,function(Vr){return[1,[0,st,Vr]]})},fC,function(q0,oe,wx){var he=wx[2],st=wx[1],nr=z(q0[1][1+xx],q0,st),Vr=z(q0[1][1+Nr],q0,he);return st===nr&&he===Vr?wx:[0,nr,Vr]},G5,function(q0,oe){var wx=oe[2],he=wx[2],st=wx[1],nr=z(q0[1][1+n0],q0,st),Vr=XC(l(q0[1][1+c9],q0),he);return st===nr&&he===Vr?oe:[0,oe[1],[0,nr,Vr]]},n0,function(q0,oe){if(oe[0]===0){var wx=oe[1];return Ol(l(q0[1][1+bS],q0),wx,oe,function(st){return[0,st]})}var he=oe[1];return Ol(l(q0[1][1+Lw],q0),he,oe,function(st){return[1,st]})},bS,function(q0,oe){return z(q0[1][1+r0],q0,oe)},Lw,function(q0,oe){return z(q0[1][1+s8],q0,oe)},c9,function(q0,oe){if(oe[0]===0){var wx=oe[1],he=oe[2];return Vl(l(q0[1][1+YA],q0),wx,he,oe,function(Vr){return[0,wx,Vr]})}var st=oe[1],nr=oe[2];return Vl(l(q0[1][1+a4],q0),st,nr,oe,function(Vr){return[1,st,Vr]})},a4,function(q0,oe,wx){return zr(q0[1][1+BT],q0,oe,wx)},YA,function(q0,oe,wx){return zr(q0[1][1+s_],q0,oe,wx)},O5,function(q0,oe){var wx=oe[2],he=i4(l(q0[1][1+OA],q0),wx);return wx===he?oe:[0,oe[1],he]},OA,function(q0,oe){var wx=oe[2],he=oe[1];switch(wx[0]){case 0:var st=wx[1];return Vl(l(q0[1][1+sx],q0),he,st,oe,function(Ta){return[0,he,[0,Ta]]});case 1:var nr=wx[1];return Vl(l(q0[1][1+_T],q0),he,nr,oe,function(Ta){return[0,he,[1,Ta]]});case 2:var Vr=wx[1];return Vl(l(q0[1][1+BT],q0),he,Vr,oe,function(Ta){return[0,he,[2,Ta]]});case 3:var ta=wx[1];return Ol(l(q0[1][1+l6],q0),ta,oe,function(Ta){return[0,he,[3,Ta]]});default:return oe}},BT,function(q0,oe,wx){var he=wx[2],st=wx[1],nr=z(q0[1][1+Nr],q0,he);if(st){var Vr=st[1],ta=z(q0[1][1+xx],q0,Vr);return Vr===ta&&he===nr?wx:[0,[0,ta],nr]}return he===nr?wx:[0,0,nr]},l6,function(q0,oe){var wx=oe[2],he=oe[1],st=z(q0[1][1+xx],q0,he),nr=z(q0[1][1+Nr],q0,wx);return he===st&&wx===nr?oe:[0,st,nr]},yT,function(q0,oe){switch(oe[0]){case 0:var wx=oe[1];return Ol(l(q0[1][1+LT],q0),wx,oe,function(nr){return[0,nr]});case 1:var he=oe[1];return Ol(l(q0[1][1+IS],q0),he,oe,function(nr){return[1,nr]});default:var st=oe[1];return Ol(l(q0[1][1+I5],q0),st,oe,function(nr){return[2,nr]})}},LT,function(q0,oe){return z(q0[1][1+r0],q0,oe)},IS,function(q0,oe){return z(q0[1][1+s8],q0,oe)},I5,function(q0,oe){return z(q0[1][1+OT],q0,oe)},s8,function(q0,oe){var wx=oe[2],he=wx[2],st=wx[1],nr=z(q0[1][1+r0],q0,st),Vr=z(q0[1][1+r0],q0,he);return st===nr&&he===Vr?oe:[0,oe[1],[0,nr,Vr]]},OT,function(q0,oe){var wx=oe[2],he=wx[2],st=wx[1],nr=z(q0[1][1+z8],q0,st),Vr=z(q0[1][1+r0],q0,he);return st===nr&&he===Vr?oe:[0,oe[1],[0,nr,Vr]]},z8,function(q0,oe){if(oe[0]===0){var wx=oe[1];return Ol(l(q0[1][1+XT],q0),wx,oe,function(st){return[0,st]})}var he=oe[1];return Ol(l(q0[1][1+OT],q0),he,oe,function(st){return[1,st]})},XT,function(q0,oe){return z(q0[1][1+LT],q0,oe)},r0,function(q0,oe){var wx=oe[2],he=wx[2],st=z(q0[1][1+Nr],q0,he);return he===st?oe:[0,oe[1],[0,wx[1],st]]},Db,function(q0,oe,wx){var he=wx[3],st=wx[2],nr=wx[1],Vr=z(q0[1][1+o3],q0,nr),ta=z(q0[1][1+ic],q0,st),Ta=z(q0[1][1+Nr],q0,he);return nr===Vr&&st===ta&&he===Ta?wx:[0,Vr,ta,Ta]},s_,function(q0,oe,wx){var he=wx[3],st=z(q0[1][1+Nr],q0,he);return he===st?wx:[0,wx[1],wx[2],st]},A2,function(q0,oe,wx){var he=wx[4],st=wx[3],nr=wx[2],Vr=z(q0[1][1+xx],q0,nr),ta=z(q0[1][1+xx],q0,st),Ta=z(q0[1][1+Nr],q0,he);return nr===Vr&&st===ta&&he===Ta?wx:[0,wx[1],Vr,ta,Ta]},lC,function(q0,oe,wx){var he=wx[3],st=wx[2],nr=wx[1],Vr=z(q0[1][1+xx],q0,nr),ta=z(q0[1][1+YC],q0,st),Ta=z(q0[1][1+Nr],q0,he);return nr===Vr&&st===ta&&he===Ta?wx:[0,Vr,ta,Ta]},ln,function(q0,oe,wx){var he=wx[1],st=zr(q0[1][1+lC],q0,oe,he);return he===st?wx:[0,st,wx[2]]},YC,function(q0,oe){switch(oe[0]){case 0:var wx=oe[1];return Ol(l(q0[1][1+Pd],q0),wx,oe,function(nr){return[0,nr]});case 1:var he=oe[1];return Ol(l(q0[1][1+km],q0),he,oe,function(nr){return[1,nr]});default:var st=oe[1];return Ol(l(q0[1][1+tc],q0),st,oe,function(nr){return[2,nr]})}},Pd,function(q0,oe){return z(q0[1][1+w4],q0,oe)},km,function(q0,oe){return z(q0[1][1+du],q0,oe)},tc,function(q0,oe){return z(q0[1][1+xx],q0,oe)},sm,function(q0,oe,wx){var he=wx[3],st=wx[2],nr=wx[1],Vr=z(q0[1][1+w4],q0,nr),ta=z(q0[1][1+w4],q0,st),Ta=z(q0[1][1+Nr],q0,he);return nr===Vr&&st===ta&&he===Ta?wx:[0,Vr,ta,Ta]},_f,function(q0,oe,wx){var he=wx[4],st=wx[3],nr=wx[2],Vr=wx[1],ta=z(q0[1][1+xx],q0,Vr),Ta=XC(l(q0[1][1+cB],q0),nr),dc=XC(l(q0[1][1+kj],q0),st),el=z(q0[1][1+Nr],q0,he);return Vr===ta&&nr===Ta&&st===dc&&he===el?wx:[0,ta,Ta,dc,el]},fu,function(q0,oe,wx){var he=wx[2],st=wx[1],nr=i4(function(ta){if(ta[0]===0){var Ta=ta[1],dc=z(q0[1][1+vu],q0,Ta);return Ta===dc?ta:[0,dc]}var el=ta[1],um=z(q0[1][1+Br],q0,el);return el===um?ta:[1,um]},st),Vr=z(q0[1][1+Nr],q0,he);return st===nr&&he===Vr?wx:[0,nr,Vr]},vu,function(q0,oe){var wx=oe[2],he=oe[1];switch(wx[0]){case 0:var st=wx[2],nr=wx[1],Vr=z(q0[1][1+Qu],q0,nr),ta=z(q0[1][1+xx],q0,st);return nr===Vr&&st===ta?oe:[0,he,[0,Vr,ta,wx[3]]];case 1:var Ta=wx[2],dc=wx[1],el=z(q0[1][1+Qu],q0,dc),um=A9(l(q0[1][1+QC],q0),Ta);return dc===el&&Ta===um?oe:[0,he,[1,el,um]];case 2:var h8=wx[3],ax=wx[2],k4=wx[1],MA=z(q0[1][1+Qu],q0,k4),q4=A9(l(q0[1][1+QC],q0),ax),QT=z(q0[1][1+Nr],q0,h8);return k4===MA&&ax===q4&&h8===QT?oe:[0,he,[2,MA,q4,QT]];default:var yw=wx[3],hk=wx[2],N9=wx[1],tx=z(q0[1][1+Qu],q0,N9),g8=A9(l(q0[1][1+QC],q0),hk),f9=z(q0[1][1+Nr],q0,yw);return N9===tx&&hk===g8&&yw===f9?oe:[0,he,[3,tx,g8,f9]]}},Qu,function(q0,oe){switch(oe[0]){case 0:var wx=oe[1];return Ol(l(q0[1][1+Wu],q0),wx,oe,function(Vr){return[0,Vr]});case 1:var he=oe[1];return Ol(l(q0[1][1+L1],q0),he,oe,function(Vr){return[1,Vr]});case 2:var st=oe[1];return Ol(l(q0[1][1+du],q0),st,oe,function(Vr){return[2,Vr]});default:var nr=oe[1];return Ol(l(q0[1][1+hu],q0),nr,oe,function(Vr){return[3,Vr]})}},Wu,function(q0,oe){var wx=oe[1],he=oe[2];return Vl(l(q0[1][1+s_],q0),wx,he,oe,function(st){return[0,wx,st]})},L1,function(q0,oe){return z(q0[1][1+w4],q0,oe)},hu,function(q0,oe){return z(q0[1][1+oF],q0,oe)},Ji,function(q0,oe,wx){var he=wx[5],st=wx[4],nr=wx[3],Vr=wx[2],ta=wx[1],Ta=z(q0[1][1+Vn],q0,ta),dc=XC(l(q0[1][1+ni],q0),Vr),el=XC(l(q0[1][1+Me],q0),nr),um=XC(l(q0[1][1+Me],q0),st),h8=z(q0[1][1+Nr],q0,he);return ta===Ta&&nr===el&&Vr===dc&&nr===el&&st===um&&he===h8?wx:[0,Ta,dc,el,um,h8]},kl,function(q0,oe){return zr(q0[1][1+lB],q0,0,oe)},O1,function(q0,oe,wx){return zr(q0[1][1+lB],q0,[0,oe],wx)},qU,function(q0,oe){return zr(q0[1][1+lB],q0,kw1,oe)},Mw,function(q0,oe){return z(q0[1][1+pO],q0,oe)},LA,function(q0,oe){return z(q0[1][1+pO],q0,oe)},lB,function(q0,oe,wx){var he=oe&&oe[1];return zr(q0[1][1+Lt],q0,[0,he],wx)},pO,function(q0,oe){return zr(q0[1][1+Lt],q0,0,oe)},Lt,function(q0,oe,wx){var he=wx[2];switch(he[0]){case 0:var st=he[1],nr=st[3],Vr=st[2],ta=st[1],Ta=i4(z(q0[1][1+tr],q0,oe),ta),dc=z(q0[1][1+xn],q0,Vr),el=z(q0[1][1+Nr],q0,nr),um=0;if(Ta===ta&&dc===Vr&&el===nr){var h8=he;um=1}um||(h8=[0,[0,Ta,dc,el]]);var ax=h8;break;case 1:var k4=he[1],MA=k4[3],q4=k4[2],QT=k4[1],yw=i4(z(q0[1][1+Fe],q0,oe),QT),hk=z(q0[1][1+xn],q0,q4),N9=z(q0[1][1+Nr],q0,MA),tx=0;if(MA===N9&&yw===QT&&hk===q4){var g8=he;tx=1}tx||(g8=[1,[0,yw,hk,N9]]),ax=g8;break;case 2:var f9=he[1],RP=f9[2],q8=f9[1],mx=zr(q0[1][1+$n],q0,oe,q8),rP=z(q0[1][1+xn],q0,RP),Z9=0;if(q8===mx&&RP===rP){var fB=he;Z9=1}Z9||(fB=[2,[0,mx,rP,f9[3]]]),ax=fB;break;default:var pB=he[1];ax=Ol(l(q0[1][1+$r],q0),pB,he,function(xy){return[3,xy]})}return he===ax?wx:[0,wx[1],ax]},$n,function(q0,oe,wx){return z(q0[1][1+w4],q0,wx)},Rr,function(q0,oe,wx,he){return zr(q0[1][1+s_],q0,wx,he)},tr,function(q0,oe,wx){if(wx[0]===0){var he=wx[1];return Ol(z(q0[1][1+At],q0,oe),he,wx,function(nr){return[0,nr]})}var st=wx[1];return Ol(z(q0[1][1+Rn],q0,oe),st,wx,function(nr){return[1,nr]})},At,function(q0,oe,wx){var he=wx[2],st=he[3],nr=he[2],Vr=he[1],ta=zr(q0[1][1+On],q0,oe,Vr),Ta=zr(q0[1][1+ca],q0,oe,nr),dc=XC(l(q0[1][1+xx],q0),st);return ta===Vr&&Ta===nr&&dc===st?wx:[0,wx[1],[0,ta,Ta,dc,0]]},On,function(q0,oe,wx){switch(wx[0]){case 0:var he=wx[1];return Ol(z(q0[1][1+Pr],q0,oe),he,wx,function(Vr){return[0,Vr]});case 1:var st=wx[1];return Ol(z(q0[1][1+mn],q0,oe),st,wx,function(Vr){return[1,Vr]});default:var nr=wx[1];return Ol(z(q0[1][1+He],q0,oe),nr,wx,function(Vr){return[2,Vr]})}},Pr,function(q0,oe,wx){var he=wx[1],st=wx[2];return Vl(z(q0[1][1+Rr],q0,oe),he,st,wx,function(nr){return[0,he,nr]})},mn,function(q0,oe,wx){return zr(q0[1][1+$n],q0,oe,wx)},He,function(q0,oe,wx){return z(q0[1][1+oF],q0,wx)},Rn,function(q0,oe,wx){var he=wx[2],st=he[2],nr=he[1],Vr=zr(q0[1][1+Qt],q0,oe,nr),ta=z(q0[1][1+Nr],q0,st);return Vr===nr&&st===ta?wx:[0,wx[1],[0,Vr,ta]]},ca,function(q0,oe,wx){return zr(q0[1][1+Lt],q0,oe,wx)},Qt,function(q0,oe,wx){return zr(q0[1][1+Lt],q0,oe,wx)},Fe,function(q0,oe,wx){switch(wx[0]){case 0:var he=wx[1];return Ol(z(q0[1][1+Es],q0,oe),he,wx,function(nr){return[0,nr]});case 1:var st=wx[1];return Ol(z(q0[1][1+Xa],q0,oe),st,wx,function(nr){return[1,nr]});default:return wx}},Es,function(q0,oe,wx){var he=wx[2],st=he[2],nr=he[1],Vr=zr(q0[1][1+ls],q0,oe,nr),ta=XC(l(q0[1][1+xx],q0),st);return nr===Vr&&st===ta?wx:[0,wx[1],[0,Vr,ta]]},ls,function(q0,oe,wx){return zr(q0[1][1+Lt],q0,oe,wx)},Xa,function(q0,oe,wx){var he=wx[2],st=he[2],nr=he[1],Vr=zr(q0[1][1+Ga],q0,oe,nr),ta=z(q0[1][1+Nr],q0,st);return Vr===nr&&st===ta?wx:[0,wx[1],[0,Vr,ta]]},Ga,function(q0,oe,wx){return zr(q0[1][1+Lt],q0,oe,wx)},eW,function(q0,oe,wx){return zr(q0[1][1+Lt],q0,oe,wx)},$r,function(q0,oe){return z(q0[1][1+xx],q0,oe)},Fu,function(q0,oe){var wx=oe[2],he=wx[2],st=wx[1];if(st)var nr=st[1],Vr=Ol(l(q0[1][1+xx],q0),nr,st,function(Ta){return[0,Ta]});else Vr=st;var ta=z(q0[1][1+Nr],q0,he);return st===Vr&&he===ta?oe:[0,oe[1],[0,Vr,ta]]},is,function(q0,oe){return z(q0[1][1+xx],q0,oe)},m1,function(q0,oe){var wx=oe[2],he=wx[2],st=wx[1],nr=zr(q0[1][1+lB],q0,0,st),Vr=z(q0[1][1+Nr],q0,he);return st===nr&&he===Vr?oe:[0,oe[1],[0,nr,Vr]]},Dl,function(q0,oe,wx){var he=wx[2],st=wx[1],nr=XC(l(q0[1][1+xx],q0),st),Vr=z(q0[1][1+Nr],q0,he);return st===nr&&he===Vr?wx:[0,nr,Vr]},Li,function(q0,oe,wx){var he=wx[2],st=wx[1],nr=i4(l(q0[1][1+xx],q0),st),Vr=z(q0[1][1+Nr],q0,he);return st===nr&&he===Vr?wx:[0,nr,Vr]},sr,function(q0,oe){return z(q0[1][1+ku],q0,oe)},ku,function(q0,oe){var wx=l(q0[1][1+Kx],q0),he=U2(function(st,nr){var Vr=st[1],ta=l(wx,nr);if(ta){if(ta[2])return[0,vj(ta,Vr),1];var Ta=ta[1];return[0,[0,Ta,Vr],st[2]||(nr!==Ta?1:0)]}return[0,Vr,1]},Nw1,oe);return he[2]?yd(he[1]):oe},Kx,function(q0,oe){return[0,z(q0[1][1+ic],q0,oe),0]},Dt,function(q0,oe){var wx=oe[2],he=wx[2],st=wx[1],nr=z(q0[1][1+xx],q0,st),Vr=z(q0[1][1+Nr],q0,he);return st===nr&&he===Vr?oe:[0,oe[1],[0,nr,Vr]]},Br,function(q0,oe){var wx=oe[2],he=wx[2],st=wx[1],nr=z(q0[1][1+xx],q0,st),Vr=z(q0[1][1+Nr],q0,he);return st===nr&&he===Vr?oe:[0,oe[1],[0,nr,Vr]]},Mi,function(q0,oe,wx){var he=wx[1],st=z(q0[1][1+Nr],q0,he);return he===st?wx:[0,st]},iu,function(q0,oe,wx){var he=wx[3],st=wx[2],nr=wx[1],Vr=z(q0[1][1+xx],q0,nr),ta=i4(l(q0[1][1+ko],q0),st),Ta=z(q0[1][1+Nr],q0,he);return nr===Vr&&st===ta&&he===Ta?wx:[0,Vr,ta,Ta]},ko,function(q0,oe){var wx=oe[2],he=wx[3],st=wx[2],nr=wx[1],Vr=XC(l(q0[1][1+xx],q0),nr),ta=z(q0[1][1+ku],q0,st),Ta=z(q0[1][1+Nr],q0,he);return nr===Vr&&st===ta&&he===Ta?oe:[0,oe[1],[0,Vr,ta,Ta]]},ix,function(q0,oe,wx){var he=wx[3],st=wx[2],nr=wx[1],Vr=z(q0[1][1+xx],q0,nr),ta=A9(l(q0[1][1+Tn],q0),st),Ta=z(q0[1][1+Nr],q0,he);return nr===Vr&&st===ta&&he===Ta?wx:[0,Vr,ta,Ta]},Tn,function(q0,oe,wx){var he=wx[3],st=wx[2],nr=wx[1],Vr=i4(l(q0[1][1+In],q0),nr),ta=i4(l(q0[1][1+xx],q0),st),Ta=z(q0[1][1+Nr],q0,he);return nr===Vr&&st===ta&&he===Ta?wx:[0,Vr,ta,Ta]},In,function(q0,oe){return oe},wn,function(q0,oe,wx){var he=wx[1],st=z(q0[1][1+Nr],q0,he);return he===st?wx:[0,st]},kr,function(q0,oe,wx){var he=wx[2],st=wx[1],nr=z(q0[1][1+xx],q0,st),Vr=z(q0[1][1+Nr],q0,he);return st===nr&&he===Vr?wx:[0,nr,Vr]},ct,function(q0,oe,wx){var he=wx[4],st=wx[3],nr=wx[2],Vr=wx[1],ta=A9(l(q0[1][1+TI],q0),Vr);if(nr)var Ta=nr[1],dc=Ta[1],el=Ta[2],um=Vl(l(q0[1][1+HM],q0),dc,el,nr,function(QT){return[0,[0,dc,QT]]});else um=nr;if(st)var h8=st[1],ax=h8[1],k4=h8[2],MA=Vl(l(q0[1][1+TI],q0),ax,k4,st,function(QT){return[0,[0,ax,QT]]});else MA=st;var q4=z(q0[1][1+Nr],q0,he);return Vr===ta&&nr===um&&st===MA&&he===q4?wx:[0,ta,um,MA,q4]},zn,function(q0,oe,wx){var he=wx[3],st=wx[2],nr=wx[1],Vr=z(q0[1][1+xx],q0,nr),ta=z(q0[1][1+vt],q0,st),Ta=z(q0[1][1+Nr],q0,he);return Vr===nr&&ta===st&&Ta===he?wx:[0,Vr,ta,Ta]},Or,function(q0,oe,wx){var he=wx[3],st=wx[2],nr=z(q0[1][1+xx],q0,st),Vr=z(q0[1][1+Nr],q0,he);return st===nr&&he===Vr?wx:[0,wx[1],nr,Vr]},Ie,function(q0,oe,wx){var he=wx[4],st=wx[2],nr=z(q0[1][1+xx],q0,st),Vr=z(q0[1][1+Nr],q0,he);return st===nr&&he===Vr?wx:[0,wx[1],nr,wx[3],Vr]},ie,function(q0,oe,wx){var he=wx[3],st=wx[2],nr=wx[1],Vr=i4(z(q0[1][1+dx],q0,st),nr),ta=z(q0[1][1+Nr],q0,he);return nr===Vr&&sk(he,ta)?wx:[0,Vr,st,ta]},dx,function(q0,oe,wx){var he=wx[2],st=he[2],nr=he[1],Vr=zr(q0[1][1+O1],q0,oe,nr),ta=XC(l(q0[1][1+xx],q0),st);return nr===Vr&&st===ta?wx:[0,wx[1],[0,Vr,ta]]},L,function(q0,oe,wx){var he=wx[3],st=wx[2],nr=wx[1],Vr=z(q0[1][1+is],q0,nr),ta=z(q0[1][1+ic],q0,st),Ta=z(q0[1][1+Nr],q0,he);return nr===Vr&&st===ta&&he===Ta?wx:[0,Vr,ta,Ta]},m,function(q0,oe,wx){var he=wx[3],st=wx[2],nr=wx[1],Vr=z(q0[1][1+xx],q0,nr),ta=z(q0[1][1+ic],q0,st),Ta=z(q0[1][1+Nr],q0,he);return nr===Vr&&st===ta&&he===Ta?wx:[0,Vr,ta,Ta]},Xt,function(q0,oe,wx){var he=wx[4],st=wx[3],nr=wx[2],Vr=wx[1],ta=z(q0[1][1+Vn],q0,Vr),Ta=XC(l(q0[1][1+ni],q0),nr),dc=z(q0[1][1+Me],q0,st),el=z(q0[1][1+Nr],q0,he);return Vr===ta&&st===dc&&nr===Ta&&he===el?wx:[0,ta,Ta,dc,el]},n,function(q0,oe,wx){var he=wx[2],st=wx[1],nr=XC(l(q0[1][1+xx],q0),st),Vr=z(q0[1][1+Nr],q0,he);return sk(he,Vr)&&st===nr?wx:[0,nr,Vr,wx[3]]}]),function(q0,oe){return E10(oe,i)}}),Pd0=function(i){return typeof i==\"number\"?Hw1:i[1]},Id0=function(i){if(typeof i==\"number\")return 1;switch(i[0]){case 0:return 2;case 3:return 4;default:return 3}},Od0=function(i,x){l(T(i),Gw1),z(T(i),Yw1,Xw1);var n=x[1];z(T(i),Qw1,n),l(T(i),Zw1),l(T(i),xk1),z(T(i),tk1,ek1);var m=x[2];return z(T(i),rk1,m),l(T(i),nk1),l(T(i),ik1)},Bd0=function i(x,n){return i.fun(x,n)};Ce(Bd0,function(i,x){l(T(i),ok1),z(T(i),uk1,sk1);var n=x[1];if(n){te(i,ck1);var m=n[1];if(typeof m==\"number\")te(i,Bw1);else switch(m[0]){case 0:l(T(i),Lw1);var L=m[1];z(T(i),Mw1,L),l(T(i),Rw1);break;case 1:l(T(i),jw1);var v=m[1];z(T(i),Uw1,v),l(T(i),Vw1);break;case 2:l(T(i),$w1);var a0=m[1];z(T(i),Kw1,a0),l(T(i),zw1);break;default:l(T(i),Ww1);var O1=m[1];z(T(i),qw1,O1),l(T(i),Jw1)}te(i,lk1)}else te(i,fk1);return l(T(i),pk1),l(T(i),dk1),z(T(i),hk1,mk1),Od0(i,x[2]),l(T(i),gk1),l(T(i),_k1),z(T(i),Dk1,yk1),Od0(i,x[3]),l(T(i),vk1),l(T(i),bk1)}),Ce(function i(x){return i.fun(x)},function(i){return z(Fi(ak1),Bd0,i)});var gT=function(i,x){return[0,i[1],i[2],x[3]]},RU=function(i,x){var n=i[1]-x[1]|0;return n===0?i[2]-x[2]|0:n},Lt0=function i(x,n,m){return i.fun(x,n,m)};Ce(Lt0,function(i,x,n){var m=n[2];switch(m[0]){case 0:return U2(function(v,a0){var O1=a0[0]===0?a0[1][2][2]:a0[1][2][1];return zr(Lt0,i,v,O1)},x,m[1][1]);case 1:return U2(function(v,a0){return a0[0]===2?v:zr(Lt0,i,v,a0[1][2][1])},x,m[1][1]);case 2:var L=m[1];return zr(i,x,L[1],L[2]);default:return x}});var Ld0=function(i){return i[2][1]},jM=function(i,x){return[0,x[1],[0,x[2],i]]},Md0=function(i,x,n){return[0,i&&i[1],x&&x[1],n]},ns=function(i,x,n){var m=i&&i[1],L=x&&x[1];return m||L?[0,Md0([0,m],[0,L],0)]:L},X9=function(i,x,n){var m=i&&i[1],L=x&&x[1];return m||L||n?[0,Md0([0,m],[0,L],n)]:n},NP=function(i,x){if(i){if(x){var n=x[1],m=i[1],L=[0,c6(m[2],n[2])];return ns([0,c6(n[1],m[1])],L)}var v=i}else v=x;return v},Mt0=function(i,x){if(x){if(i){var n=x[1],m=i[1],L=m[3],v=[0,c6(m[2],n[2])];return X9([0,c6(n[1],m[1])],v,L)}var a0=x[1];return X9([0,a0[1]],[0,a0[2]],0)}return i},Rd0=function i(x,n){return i.fun(x,n)};Ce(Rd0,function(i,x){if(typeof i==\"number\"){var n=i;if(56<=n)switch(n){case 56:if(typeof x==\"number\"&&x===56)return 0;break;case 57:if(typeof x==\"number\"&&x===57)return 0;break;case 58:if(typeof x==\"number\"&&x===58)return 0;break;case 59:if(typeof x==\"number\"&&x===59)return 0;break;case 60:if(typeof x==\"number\"&&x===60)return 0;break;case 61:if(typeof x==\"number\"&&x===61)return 0;break;case 62:if(typeof x==\"number\"&&x===62)return 0;break;case 63:if(typeof x==\"number\"&&x===63)return 0;break;case 64:if(typeof x==\"number\"&&x===64)return 0;break;case 65:if(typeof x==\"number\"&&x===65)return 0;break;case 66:if(typeof x==\"number\"&&x===66)return 0;break;case 67:if(typeof x==\"number\"&&x===67)return 0;break;case 68:if(typeof x==\"number\"&&x===68)return 0;break;case 69:if(typeof x==\"number\"&&x===69)return 0;break;case 70:if(typeof x==\"number\"&&x===70)return 0;break;case 71:if(typeof x==\"number\"&&x===71)return 0;break;case 72:if(typeof x==\"number\"&&x===72)return 0;break;case 73:if(typeof x==\"number\"&&x===73)return 0;break;case 74:if(typeof x==\"number\"&&x===74)return 0;break;case 75:if(typeof x==\"number\"&&x===75)return 0;break;case 76:if(typeof x==\"number\"&&x===76)return 0;break;case 77:if(typeof x==\"number\"&&x===77)return 0;break;case 78:if(typeof x==\"number\"&&x===78)return 0;break;case 79:if(typeof x==\"number\"&&x===79)return 0;break;case 80:if(typeof x==\"number\"&&x===80)return 0;break;case 81:if(typeof x==\"number\"&&x===81)return 0;break;case 82:if(typeof x==\"number\"&&x===82)return 0;break;case 83:if(typeof x==\"number\"&&x===83)return 0;break;case 84:if(typeof x==\"number\"&&x===84)return 0;break;case 85:if(typeof x==\"number\"&&x===85)return 0;break;case 86:if(typeof x==\"number\"&&x===86)return 0;break;case 87:if(typeof x==\"number\"&&x===87)return 0;break;case 88:if(typeof x==\"number\"&&x===88)return 0;break;case 89:if(typeof x==\"number\"&&x===89)return 0;break;case 90:if(typeof x==\"number\"&&x===90)return 0;break;case 91:if(typeof x==\"number\"&&x===91)return 0;break;case 92:if(typeof x==\"number\"&&x===92)return 0;break;case 93:if(typeof x==\"number\"&&x===93)return 0;break;case 94:if(typeof x==\"number\"&&x===94)return 0;break;case 95:if(typeof x==\"number\"&&x===95)return 0;break;case 96:if(typeof x==\"number\"&&x===96)return 0;break;case 97:if(typeof x==\"number\"&&x===97)return 0;break;case 98:if(typeof x==\"number\"&&x===98)return 0;break;case 99:if(typeof x==\"number\"&&x===99)return 0;break;case 100:if(typeof x==\"number\"&&Yw===x)return 0;break;case 101:if(typeof x==\"number\"&&Uk===x)return 0;break;case 102:if(typeof x==\"number\"&&F4===x)return 0;break;case 103:if(typeof x==\"number\"&&NT===x)return 0;break;case 104:if(typeof x==\"number\"&&uw===x)return 0;break;case 105:if(typeof x==\"number\"&&dN===x)return 0;break;case 106:if(typeof x==\"number\"&&Y1===x)return 0;break;case 107:if(typeof x==\"number\"&&X===x)return 0;break;case 108:if(typeof x==\"number\"&&Lk===x)return 0;break;case 109:if(typeof x==\"number\"&&Vk===x)return 0;break;case 110:if(typeof x==\"number\"&&ef===x)return 0;break;default:if(typeof x==\"number\"&&zx<=x)return 0}else switch(n){case 0:if(typeof x==\"number\"&&x===0)return 0;break;case 1:if(typeof x==\"number\"&&x===1)return 0;break;case 2:if(typeof x==\"number\"&&x===2)return 0;break;case 3:if(typeof x==\"number\"&&x===3)return 0;break;case 4:if(typeof x==\"number\"&&x===4)return 0;break;case 5:if(typeof x==\"number\"&&x===5)return 0;break;case 6:if(typeof x==\"number\"&&x===6)return 0;break;case 7:if(typeof x==\"number\"&&x===7)return 0;break;case 8:if(typeof x==\"number\"&&x===8)return 0;break;case 9:if(typeof x==\"number\"&&x===9)return 0;break;case 10:if(typeof x==\"number\"&&x===10)return 0;break;case 11:if(typeof x==\"number\"&&x===11)return 0;break;case 12:if(typeof x==\"number\"&&x===12)return 0;break;case 13:if(typeof x==\"number\"&&x===13)return 0;break;case 14:if(typeof x==\"number\"&&x===14)return 0;break;case 15:if(typeof x==\"number\"&&x===15)return 0;break;case 16:if(typeof x==\"number\"&&x===16)return 0;break;case 17:if(typeof x==\"number\"&&x===17)return 0;break;case 18:if(typeof x==\"number\"&&x===18)return 0;break;case 19:if(typeof x==\"number\"&&x===19)return 0;break;case 20:if(typeof x==\"number\"&&x===20)return 0;break;case 21:if(typeof x==\"number\"&&x===21)return 0;break;case 22:if(typeof x==\"number\"&&x===22)return 0;break;case 23:if(typeof x==\"number\"&&x===23)return 0;break;case 24:if(typeof x==\"number\"&&x===24)return 0;break;case 25:if(typeof x==\"number\"&&x===25)return 0;break;case 26:if(typeof x==\"number\"&&x===26)return 0;break;case 27:if(typeof x==\"number\"&&x===27)return 0;break;case 28:if(typeof x==\"number\"&&x===28)return 0;break;case 29:if(typeof x==\"number\"&&x===29)return 0;break;case 30:if(typeof x==\"number\"&&x===30)return 0;break;case 31:if(typeof x==\"number\"&&x===31)return 0;break;case 32:if(typeof x==\"number\"&&x===32)return 0;break;case 33:if(typeof x==\"number\"&&x===33)return 0;break;case 34:if(typeof x==\"number\"&&x===34)return 0;break;case 35:if(typeof x==\"number\"&&x===35)return 0;break;case 36:if(typeof x==\"number\"&&x===36)return 0;break;case 37:if(typeof x==\"number\"&&x===37)return 0;break;case 38:if(typeof x==\"number\"&&x===38)return 0;break;case 39:if(typeof x==\"number\"&&x===39)return 0;break;case 40:if(typeof x==\"number\"&&x===40)return 0;break;case 41:if(typeof x==\"number\"&&x===41)return 0;break;case 42:if(typeof x==\"number\"&&x===42)return 0;break;case 43:if(typeof x==\"number\"&&x===43)return 0;break;case 44:if(typeof x==\"number\"&&x===44)return 0;break;case 45:if(typeof x==\"number\"&&x===45)return 0;break;case 46:if(typeof x==\"number\"&&x===46)return 0;break;case 47:if(typeof x==\"number\"&&x===47)return 0;break;case 48:if(typeof x==\"number\"&&x===48)return 0;break;case 49:if(typeof x==\"number\"&&x===49)return 0;break;case 50:if(typeof x==\"number\"&&x===50)return 0;break;case 51:if(typeof x==\"number\"&&x===51)return 0;break;case 52:if(typeof x==\"number\"&&x===52)return 0;break;case 53:if(typeof x==\"number\"&&x===53)return 0;break;case 54:if(typeof x==\"number\"&&x===54)return 0;break;default:if(typeof x==\"number\"&&x===55)return 0}}else switch(i[0]){case 0:if(typeof x!=\"number\"&&x[0]===0)return S2(i[1],x[1]);break;case 1:if(typeof x!=\"number\"&&x[0]===1){var m=S2(i[1],x[1]);return m===0?S2(i[2],x[2]):m}break;case 2:if(typeof x!=\"number\"&&x[0]===2){var L=S2(i[1],x[1]);return L===0?S2(i[2],x[2]):L}break;case 3:if(typeof x!=\"number\"&&x[0]===3)return S2(i[1],x[1]);break;case 4:if(typeof x!=\"number\"&&x[0]===4){var v=x[2],a0=i[2],O1=S2(i[1],x[1]);return O1===0?a0?v?S2(a0[1],v[1]):1:v?-1:0:O1}break;case 5:if(typeof x!=\"number\"&&x[0]===5)return S2(i[1],x[1]);break;case 6:if(typeof x!=\"number\"&&x[0]===6){var dx=x[2],ie=i[2],Ie=S2(i[1],x[1]);if(Ie===0){if(ie)if(dx){var Ot=dx[1],Or=ie[1],Cr=0;switch(Or){case 0:if(Ot===0)var ni=0;else Cr=1;break;case 1:Ot===1?ni=0:Cr=1;break;case 2:Ot===2?ni=0:Cr=1;break;default:3<=Ot?ni=0:Cr=1}if(Cr){var Jn=function(wn){switch(wn){case 0:return 0;case 1:return 1;case 2:return 2;default:return 3}},Vn=Jn(Ot);ni=TP(Jn(Or),Vn)}var zn=ni}else zn=1;else zn=dx?-1:0;return zn===0?S2(i[3],x[3]):zn}return Ie}break;case 7:if(typeof x!=\"number\"&&x[0]===7){var Oi=S2(i[1],x[1]);return Oi===0?S2(i[2],x[2]):Oi}break;case 8:if(typeof x!=\"number\"&&x[0]===8)return TP(i[1],x[1]);break;case 9:if(typeof x!=\"number\"&&x[0]===9){var xn=S2(i[1],x[1]);return xn===0?S2(i[2],x[2]):xn}break;case 10:if(typeof x!=\"number\"&&x[0]===10)return S2(i[1],x[1]);break;case 11:if(typeof x!=\"number\"&&x[0]===11)return S2(i[1],x[1]);break;case 12:if(typeof x!=\"number\"&&x[0]===12){var vt=S2(i[1],x[1]);return vt===0?S2(i[2],x[2]):vt}break;case 13:if(typeof x!=\"number\"&&x[0]===13){var Xt=S2(i[1],x[1]);return Xt===0?S2(i[2],x[2]):Xt}break;case 14:if(typeof x!=\"number\"&&x[0]===14)return S2(i[1],x[1]);break;case 15:if(typeof x!=\"number\"&&x[0]===15)return TP(i[1],x[1]);break;case 16:if(typeof x!=\"number\"&&x[0]===16)return S2(i[1],x[1]);break;case 17:if(typeof x!=\"number\"&&x[0]===17){var Me=S2(i[1],x[1]);return Me===0?S2(i[2],x[2]):Me}break;case 18:if(typeof x!=\"number\"&&x[0]===18)return S2(i[1],x[1]);break;case 19:if(typeof x!=\"number\"&&x[0]===19)return TP(i[1],x[1]);break;case 20:if(typeof x!=\"number\"&&x[0]===20)return S2(i[1],x[1]);break;case 21:if(typeof x!=\"number\"&&x[0]===21)return S2(i[1],x[1]);break;case 22:if(typeof x!=\"number\"&&x[0]===22){var Ke=S2(i[1],x[1]);if(Ke===0){var ct=TP(i[2],x[2]);return ct===0?TP(i[3],x[3]):ct}return Ke}break;case 23:if(typeof x!=\"number\"&&x[0]===23)return S2(i[1],x[1]);break;default:if(typeof x!=\"number\"&&x[0]===24)return S2(i[1],x[1])}function sr(wn){if(typeof wn==\"number\"){var In=wn;if(56<=In)switch(In){case 56:return 75;case 57:return 76;case 58:return 77;case 59:return 79;case 60:return 80;case 61:return 81;case 62:return 82;case 63:return 83;case 64:return 84;case 65:return 85;case 66:return 86;case 67:return 87;case 68:return 88;case 69:return 89;case 70:return 90;case 71:return 91;case 72:return 92;case 73:return 93;case 74:return 95;case 75:return 96;case 76:return 97;case 77:return 98;case 78:return 99;case 79:return Yw;case 80:return Uk;case 81:return F4;case 82:return NT;case 83:return uw;case 84:return dN;case 85:return Y1;case 86:return X;case 87:return Lk;case 88:return zx;case 89:return nt;case 90:return lr;case 91:return fw;case 92:return BO;case 93:return BI;case 94:return cM;case 95:return qI;case 96:return YO;case 97:return xj;case 98:return $u;case 99:return QP;case 100:return WI;case 101:return Ho;case 102:return Ck;case 103:return sS;case 104:return 129;case 105:return 130;case 106:return 131;case 107:return 132;case 108:return 133;case 109:return 134;case 110:return 135;default:return 136}switch(In){case 0:return 5;case 1:return 9;case 2:return 16;case 3:return 17;case 4:return 18;case 5:return 19;case 6:return 20;case 7:return 21;case 8:return 22;case 9:return 23;case 10:return 24;case 11:return 25;case 12:return 26;case 13:return 27;case 14:return 28;case 15:return 29;case 16:return 30;case 17:return 31;case 18:return 32;case 19:return 33;case 20:return 34;case 21:return 35;case 22:return 36;case 23:return 37;case 24:return 38;case 25:return 40;case 26:return 41;case 27:return 42;case 28:return 43;case 29:return 44;case 30:return 46;case 31:return 47;case 32:return 48;case 33:return 49;case 34:return 52;case 35:return 53;case 36:return 54;case 37:return 55;case 38:return 56;case 39:return 57;case 40:return 58;case 41:return 59;case 42:return 60;case 43:return 61;case 44:return 62;case 45:return 63;case 46:return 64;case 47:return 65;case 48:return 66;case 49:return 67;case 50:return 68;case 51:return 69;case 52:return 70;case 53:return 71;case 54:return 72;default:return 73}}else switch(wn[0]){case 0:return 0;case 1:return 1;case 2:return 2;case 3:return 3;case 4:return 4;case 5:return 6;case 6:return 7;case 7:return 8;case 8:return 10;case 9:return 11;case 10:return 12;case 11:return 13;case 12:return 14;case 13:return 15;case 14:return 39;case 15:return 45;case 16:return 50;case 17:return 51;case 18:return 74;case 19:return 78;case 20:return 94;case 21:return Vk;case 22:return ef;case 23:return Gw;default:return nE}}var kr=sr(x);return TP(sr(i),kr)});var A2x=[mC,sI1,HA()],jd0=function(i){return[0,i[1],i[2].slice(),i[3],i[4],i[5],i[6],i[7]]},Ud0=function(i){return i[3][1]},fY=function(i,x){return i!==x[4]?[0,x[1],x[2],x[3],i,x[5],x[6],x[7]]:x},Vd0=function(i){if(typeof i==\"number\"){var x=i;if(60<=x)switch(x){case 60:return qL1;case 61:return JL1;case 62:return HL1;case 63:return GL1;case 64:return XL1;case 65:return YL1;case 66:return QL1;case 67:return ZL1;case 68:return xM1;case 69:return eM1;case 70:return tM1;case 71:return rM1;case 72:return nM1;case 73:return iM1;case 74:return aM1;case 75:return oM1;case 76:return sM1;case 77:return uM1;case 78:return cM1;case 79:return lM1;case 80:return fM1;case 81:return pM1;case 82:return dM1;case 83:return mM1;case 84:return hM1;case 85:return gM1;case 86:return _M1;case 87:return yM1;case 88:return DM1;case 89:return vM1;case 90:return bM1;case 91:return CM1;case 92:return EM1;case 93:return SM1;case 94:return FM1;case 95:return AM1;case 96:return TM1;case 97:return wM1;case 98:return kM1;case 99:return NM1;case 100:return PM1;case 101:return IM1;case 102:return OM1;case 103:return BM1;case 104:return LM1;case 105:return MM1;case 106:return RM1;case 107:return jM1;case 108:return UM1;case 109:return VM1;case 110:return $M1;case 111:return KM1;case 112:return zM1;case 113:return WM1;case 114:return qM1;case 115:return JM1;case 116:return HM1;case 117:return GM1;default:return XM1}switch(x){case 0:return UB1;case 1:return VB1;case 2:return $B1;case 3:return KB1;case 4:return zB1;case 5:return WB1;case 6:return qB1;case 7:return JB1;case 8:return HB1;case 9:return GB1;case 10:return XB1;case 11:return YB1;case 12:return QB1;case 13:return ZB1;case 14:return xL1;case 15:return eL1;case 16:return tL1;case 17:return rL1;case 18:return nL1;case 19:return iL1;case 20:return aL1;case 21:return oL1;case 22:return sL1;case 23:return uL1;case 24:return cL1;case 25:return lL1;case 26:return fL1;case 27:return pL1;case 28:return dL1;case 29:return mL1;case 30:return hL1;case 31:return gL1;case 32:return _L1;case 33:return yL1;case 34:return DL1;case 35:return vL1;case 36:return bL1;case 37:return CL1;case 38:return EL1;case 39:return SL1;case 40:return FL1;case 41:return AL1;case 42:return TL1;case 43:return wL1;case 44:return kL1;case 45:return NL1;case 46:return PL1;case 47:return IL1;case 48:return OL1;case 49:return BL1;case 50:return LL1;case 51:return ML1;case 52:return RL1;case 53:return jL1;case 54:return UL1;case 55:return VL1;case 56:return $L1;case 57:return KL1;case 58:return zL1;default:return WL1}}else switch(i[0]){case 0:return YM1;case 1:return QM1;case 2:return ZM1;case 3:return xR1;case 4:return eR1;case 5:return tR1;case 6:return rR1;case 7:return nR1;case 8:return iR1;case 9:return aR1;case 10:return oR1;default:return sR1}},Rt0=function(i){if(typeof i==\"number\"){var x=i;if(60<=x)switch(x){case 60:return NO1;case 61:return PO1;case 62:return IO1;case 63:return OO1;case 64:return BO1;case 65:return LO1;case 66:return MO1;case 67:return RO1;case 68:return jO1;case 69:return UO1;case 70:return VO1;case 71:return $O1;case 72:return KO1;case 73:return zO1;case 74:return WO1;case 75:return qO1;case 76:return JO1;case 77:return HO1;case 78:return GO1;case 79:return XO1;case 80:return YO1;case 81:return QO1;case 82:return ZO1;case 83:return xB1;case 84:return eB1;case 85:return tB1;case 86:return rB1;case 87:return nB1;case 88:return iB1;case 89:return aB1;case 90:return oB1;case 91:return sB1;case 92:return uB1;case 93:return cB1;case 94:return lB1;case 95:return fB1;case 96:return pB1;case 97:return dB1;case 98:return mB1;case 99:return hB1;case 100:return gB1;case 101:return _B1;case 102:return yB1;case 103:return DB1;case 104:return vB1;case 105:return bB1;case 106:return CB1;case 107:return EB1;case 108:return SB1;case 109:return FB1;case 110:return AB1;case 111:return TB1;case 112:return wB1;case 113:return kB1;case 114:return NB1;case 115:return PB1;case 116:return IB1;case 117:return OB1;default:return BB1}switch(x){case 0:return SI1;case 1:return FI1;case 2:return AI1;case 3:return TI1;case 4:return wI1;case 5:return kI1;case 6:return NI1;case 7:return PI1;case 8:return II1;case 9:return OI1;case 10:return BI1;case 11:return LI1;case 12:return MI1;case 13:return RI1;case 14:return jI1;case 15:return UI1;case 16:return VI1;case 17:return $I1;case 18:return KI1;case 19:return zI1;case 20:return WI1;case 21:return qI1;case 22:return JI1;case 23:return HI1;case 24:return GI1;case 25:return XI1;case 26:return YI1;case 27:return QI1;case 28:return ZI1;case 29:return xO1;case 30:return eO1;case 31:return tO1;case 32:return rO1;case 33:return nO1;case 34:return iO1;case 35:return aO1;case 36:return oO1;case 37:return sO1;case 38:return uO1;case 39:return cO1;case 40:return lO1;case 41:return fO1;case 42:return pO1;case 43:return dO1;case 44:return mO1;case 45:return hO1;case 46:return gO1;case 47:return _O1;case 48:return yO1;case 49:return DO1;case 50:return vO1;case 51:return bO1;case 52:return CO1;case 53:return EO1;case 54:return SO1;case 55:return FO1;case 56:return AO1;case 57:return TO1;case 58:return wO1;default:return kO1}}else switch(i[0]){case 3:return i[1][2][3];case 5:var n=i[1],m=F2(LB1,n[3]);return F2(MB1,F2(n[2],m));case 9:return i[1]===0?jB1:RB1;case 0:case 1:return i[2];case 2:case 8:return i[1][3];case 6:case 7:return i[1];default:return i[3]}},$q=function(i){return l(GT(EI1),i)},$d0=function(i,x){var n=i&&i[1],m=0;if(typeof x==\"number\")if(ef===x){var L=lI1;m=1}else m=2;else switch(x[0]){case 3:L=fI1,m=1;break;case 5:L=pI1,m=1;break;case 6:case 9:m=2;break;case 0:case 10:var v=hI1,a0=mI1;break;case 1:case 11:v=_I1,a0=gI1;break;case 2:case 8:v=DI1,a0=yI1;break;default:v=bI1,a0=vI1}switch(m){case 1:v=L[1],a0=L[2];break;case 2:v=$q(Rt0(x)),a0=dI1}return n?F2(a0,F2(CI1,v)):v},Kd0=function(i){if(i){var x=i[1];return 35<x?C_<x?ha<x?vs<x?-1:ne<x?Mu<x?Nh<x?_D<x?O2<x?a7<x?uy<x?pE<x?Jg<x?0:-1:$D<x?ks<x?0:-1:0:-1:N2<x?up<x?A7<x?A_<x?0:-1:0:-1:e<x?Xf<x?0:-1:0:-1:Ld<x?w1<x?Zo<x?Ov<x?pv<x?mg<x?Xy<x?Cm<x?ob<x?Sd<x?0:-1:0:-1:d2<x?qt<x?0:-1:0:-1:Am<x?$_<x?Bt<x?Pp<x?0:-1:0:-1:Fc<x?_3<x?0:-1:0:-1:yy<x?sn<x?G3<x?jl<x?vd<x?Hb<x?0:-1:0:-1:Gt<x?aC<x?0:-1:0:-1:_e<x?Ac<x?Gv<x?op<x?0:-1:0:-1:Zl<x?Jv<x?0:-1:0:-1:I_<x?Pb<x?gg<x?ih<x?m7<x?P7<x?np<x?bv<x?0:-1:0:-1:Yp<x?Rg<x?0:-1:0:-1:dp<x?V7<x?Kh<x?Xl<x?0:-1:0:-1:oD<x?Jb<x?0:-1:0:-1:Us<x?dd<x?hv<x?Dp<x?jv<x?Zp<x?0:-1:0:-1:bD<x?V3<x?0:-1:0:-1:gv<x?iv<x?oh<x?Ym<x?0:-1:0:-1:Gy<x?p7<x?0:-1:0:-1:fp<x?Ef<x?c7<x?l0<x?Z1<x?Hr<x?Eb<x?Xb<x?OD<x?R2<x?kE<x?Iv<x?0:-1:0:-1:0:Ox<x?Kf<x?gE<x?Va<x?0:-1:0:-1:ge<x?_l<x?0:-1:0:pD<x?vE<x?ky<x?wp<x?0:-1:p3<x?Ih<x?0:-1:0:-1:MD<x?OC<x?0:-1:KC<x?r3<x?0:-1:0:-1:I2<x?lo<x?Re<x?yC<x?ME<x?db<x?fg<x?Wy<x?0:-1:0:-1:XE<x?xd<x?0:-1:0:-1:Wa<x?yc<x?S3<x?Kl<x?0:-1:0:-1:Fy<x?xc<x?0:-1:0:-1:ka<x?Kp<x?uE<x?Lg<x?_C<x?OE<x?0:-1:0:-1:v2<x?Hm<x?0:-1:0:-1:Wx<x?ff<x?Tb<x?Fm<x?0:-1:0:-1:b3<x?k7<x?0:-1:0:-1:d3<x?Ad<x?P3<x?Yd<x?eu<x?l7<x?Mt<x?v1<x?Cg<x?Xm<x?0:-1:0:-1:zf<x?mD<x?0:-1:0:-1:Mv<x?tt<x?Pm<x?ld<x?0:-1:0:-1:$3<x?zp<x?0:-1:0:-1:qx<x?n3<x?YD<x?uD<x?I7<x?fl<x?0:-1:0:-1:al<x?j_<x?0:-1:0:-1:Cc<x?N1<x?O_<x?B7<x?0:-1:0:-1:pd<x?dm<x?0:-1:0:-1:N0<x?Xh<x?dh<x?dg<x?b0<x?bp<x?Nl<x?Ph<x?0:-1:0:-1:M3<x?lb<x?0:-1:0:-1:rc<x?ec<x?P_<x?Ud<x?0:-1:0:-1:fv<x?K_<x?0:-1:0:-1:Om<x?Ag<x?rf<x?O3<x?Fn<x?bt<x?0:-1:0:-1:U<x?j7<x?0:-1:0:-1:DC<x?ed<x?Im<x?i3<x?0:-1:0:-1:0:-1:kv<x?Hd<x?Jy<x?Za<x?wD<x?E1<x?ag<x?xh<x?Hv<x?vv<x?l3<x?0:-1:0:-1:H3<x?co<x?0:-1:0:-1:LD<x?ex<x?qy<x?nD<x?0:-1:0:-1:ED<x?Pa<x?0:-1:0:-1:sD<x?th<x?hh<x?L_<x?h3<x?Cy<x?0:-1:0:-1:w7<x?Ey<x?0:-1:0:-1:H2<x?eh<x?xv<x?0:-1:0:u2<x?C<x?0:-1:0:P<x?Kg<x?wl<x?b_<x?cc<x?W_<x?0:-1:Tg<x?i_<x?0:-1:0:-1:Sb<x?tv<x?s7<x?Ku<x?0:-1:0:-1:nb<x?Cf<x?0:-1:0:-1:aE<x?Gr<x?hE<x?O<x?0:-1:Uc<x?Qv<x?0:-1:0:-1:Un<x?T3<x?X_<x?BC<x?0:-1:0:-1:p2<x?dy<x?0:-1:0:-1:Jr<x?uv<x?Gc<x?mo<x?Q3<x?vD<x?yv<x?Qd<x?e7<x?Jh<x?0:-1:0:-1:u7<x?b2<x?0:-1:0:-1:BD<x?0:oE<x?bg<x?0:-1:0:-1:B3<x?0:sE<x?G2<x?pa<x?o7<x?0:-1:0:-1:0:-1:r_<x?$y<x?U3<x?X7<x?C7<x?wh<x?L7<x?0:-1:0:-1:Zy<x?t8<x?0:-1:0:LC<x?jp<x?0:-1:F3<x?lE<x?0:-1:0:-1:UD<x?uc<x?tm<x?C0<x?0:-1:G0<x?rD<x?0:-1:0:-1:0:Qb<x?N7<x?D2<x?Se<x?D_<x?_g<x?MC<x?hy<x?ub<x?ph<x?$7<x?yE<x?0:-1:S0<x?Dh<x?0:-1:0:-1:Ko<x&&kg<x?o0<x?0:-1:0:FD<x?_y<x?c3<x&&EC<x?ho<x?0:-1:0:-1:Xp<x?Bp<x?_u<x?GD<x?0:-1:0:-1:Q2<x?g7<x?0:-1:0:Y_<x?NE<x?n8<x||Fd<x?0:SE<x?Y3<x?0:-1:0:-1:rs<x||Pc<x?0:SC<x?Bd<x?0:-1:0:D7<x?Em<x?Ju<x?QE<x?zm<x&&sy<x?mb<x?0:-1:0:m_<x&&g3<x?Gf<x?0:-1:0:-1:CD<x?Mg<x?Yg<x?If<x?_c<x?Uv<x?0:-1:0:-1:0:-1:0:Mc<x?wy<x?CE<x?EE<x?vp<x?D<x?Ub<x?0:-1:0:-1:0:NC<x?0:e3<x?m3<x?0:-1:0:-1:j3<x&&v7<x&&cv<x?FC<x?0:-1:0:Gh<x?Mm<x?fi<x?SD<x?FE<x?ri<x?DD<x?qD<x?0:-1:mf<x?Ep<x?0:-1:0:-1:0:Nc<x?Wg<x?0:My<x?ib<x?0:-1:0:UC<x&&p1<x?C2<x?0:-1:0:GE<x?pm<x?o2<x?Dg<x&&S7<x?zg<x?0:-1:0:-1:Tt<x?y7<x?cb<x?M7<x?0:-1:0:-1:0:0:-1:qv<x?WC<x?am<x?_m<x?Op<x?x_<x?0:-1:lv<x?ze<x?0:-1:0:0:x7<x?Oh<x?H_<x?0:$a<x?Z2<x?0:-1:0:-1:py<x?Iy<x?bd<x?0:-1:0:v_<x?Ne<x?0:-1:0:-1:yo<x?Yh<x?xm<x?fy<x?o1<x?Hi<x?my<x?0:-1:0:-1:md<x?ol<x?0:-1:0:0:-1:_1<x?za<x?xl<x?ws<x?f7<x?Iu<x?0:-1:0:-1:n_<x?ym<x?0:-1:0:-1:Il<x?z_<x?Bo<x?xf<x?0:-1:0:-1:0:-1:vm<x?Ii<x?ce<x?Q7<x?bh<x?x3<x?E2<x?M<x&&tD<x?AE<x?0:-1:0:pg<x?Su<x?qm<x?t_<x?0:-1:0:-1:S_<x?jd<x?0:-1:0:-1:AC<x?wE<x?Zr<x?Td<x?t7<x?0:-1:0:-1:lh<x?JE<x?0:-1:0:0:yl<x?Q_<x?jf<x?X2<x?Wm<x?0:-1:Kb<x?_i<x?0:-1:0:-1:K0<x?jC<x?0:-1:Mn<x?C3<x?0:-1:0:oy<x?0:Zv<x?hb<x?0:-1:RC<x?qh<x?0:-1:0:$f<x?gy<x?xD<x?dC<x?Xd<x?Z<x?Jl<x?0:-1:0:$C<x?Ss<x?0:-1:0:-1:0:Xo<x?pp<x?Bs<x?e8<x?TC<x?0:-1:0:-1:Ug<x?bm<x?0:-1:0:0:Hu<x?zC<x?om<x?y3<x?VD<x?0:-1:TE<x?Lf<x?0:-1:0:0:-1:F7<x?mv<x?b7<x?ov<x?Xn<x?0:-1:0:Lb<x?Ky<x?0:-1:0:-1:dE<x?K3<x?H<x?kb<x?0:-1:0:-1:0:-1:Vf<x?Cd<x?zv<x?hl<x?hm<x?Qp<x?sC<x?f0<x?yD<x?Th<x?Qy<x?0:-1:0:-1:vg<x?E_<x?0:-1:0:-1:Sm<x?Zm<x?n7<x?k_<x?0:-1:0:-1:ot<x?PD<x?0:-1:0:B0<x?e_<x?iC<x?Nb<x?Ob<x?ab<x?0:-1:0:-1:Ws<x?pb<x?0:-1:0:-1:tC<x?wv<x?P2<x?DE<x?0:-1:0:-1:Mo<x?Vg<x?0:-1:0:-1:Wl<x?Gd<x?Sl<x?O7<x?mu<x?0:-1:IC<x?A0<x?0:-1:0:c2<x?jb<x?Yl<x?b1<x?0:-1:0:-1:Dy<x?oi<x?0:-1:0:-1:zh<x?Te<x?of<x?Vy<x?Yu<x?Ut<x?0:-1:0:-1:Rv<x?sv<x?0:-1:0:-1:U7<x?Bm<x?Bv<x?qg<x?0:-1:0:-1:jg<x?cD<x?0:-1:0:-1:tb<x?h7<x?Ay<x?Wh<x?_7<x?rC<x?hc<x?Uu<x?oC<x?O0<x?0:-1:0:-1:s1<x?HD<x?0:-1:0:-1:Ix<x?rd<x?df<x?tl<x?0:-1:0:-1:Tm<x?B2<x?0:-1:0:-1:Pv<x?Tp<x?e0<x?Xc<x?a_<x?0:-1:0:-1:ly<x?Wp<x?0:-1:0:mp<x?Nv<x?Vh<x?tf<x?0:-1:0:-1:rl<x?aD<x?0:-1:0:-1:Lv<x?d0<x?Gm<x?Xv<x?LE<x?Fg<x?0:-1:0:Zc<x?Zb<x?0:-1:0:E3<x?0:Qg<x?wg<x?0:-1:0:-1:pf<x?Bh<x?Id<x?Ly<x?R_<x?U0<x?0:-1:0:-1:Up<x?G_<x?0:-1:0:-1:k3<x?cy<x?g0<x?U1<x?0:-1:0:-1:qr<x?De<x?0:-1:0:-1:Zt<x?ry<x?Qm<x?gm<x?Ds<x?a8<x?ql<x?wf<x?L2<x?xu<x?jy<x?Rd<x?Rb<x?W3<x?Y0<x?0:-1:0:-1:U_<x?xC<x?0:-1:0:-1:Jm<x?Dm<x?Al<x?Fl<x?0:-1:0:-1:F_<x?Nt<x?0:-1:0:-1:Ff<x?0:y2<x?l1<x?vy<x?gd<x?0:-1:0:-1:Fh<x?Sh<x?0:-1:0:-1:P0<x?W7<x?YE<x?i8<x?dD<x?Vb<x?Y7<x?V0<x?0:-1:0:-1:av<x?W<x?0:-1:0:-1:Vv<x?gC<x?Is<x?cp<x?0:-1:0:-1:Gb<x?RE<x?0:-1:0:-1:y0<x?Ou<x?bo<x?rb<x?E7<x?ZD<x?0:-1:0:-1:Ty<x?by<x?0:-1:0:-1:mh<x?mm<x?Gg<x?I3<x?0:-1:0:-1:li<x?Av<x?0:-1:0:-1:La<x?Uy<x?Cp<x?js<x?q_<x?lD<x&&QD<x?ID<x?0:-1:0:-1:H1<x?c0<x?N_<x?l2<x?0:-1:0:-1:kp<x?Hy<x?0:-1:0:-1:hf<x?fE<x?gb<x?d<x?w3<x?_o<x?0:-1:0:-1:td<x?C1<x?0:-1:0:-1:cE<x?wb<x?0:-1:0:Xg<x?Fv<x?x8<x?0:Bb<x?uC<x?fb<x?0:-1:0:fD<x?nf<x?0:-1:0:-1:J7<x?Kt<x?og<x?V_<x?G<x?Kv<x?0:-1:0:-1:wm<x?Jf<x?0:-1:0:-1:rm<x&&Fb<x?kh<x?0:-1:0:q3<x?$<x?x2<x?Uh<x?BE<x&&X3<x?ts<x?0:-1:0:J3<x?G1<x?qs<x?0:-1:0:Wv<x?N3<x?0:-1:0:0:Hh<x?$m<x?0:Sv<x?_b<x?0:-1:0:g_<x?Rc<x?Ev<x?PC<x?Mr<x?0:-1:0:-1:0:rv<x?0:$d<x?Ur<x?0:-1:0:nx<x?ZE<x?qa<x?0:Eg<x&&JD<x?M2<x?0:-1:0:ip<x?K7<x?0:$c<x?Vm<x?0:-1:0:gt<x&&R7<x?Mf<x?0:-1:0:z7<x?_<x?0:zd<x?bC<x?0:-1:eC<x?L3<x?0:-1:0:Sy<x?wC<x?cl<x?0:-1:0:ng<x?0:zy<x?Pf<x?0:-1:0:-1:Hp<x?lg<x?I1<x?h_<x?Rl<x?ev<x?IE<x?r8<x?PE<x?0:-1:sp<x?D3<x?0:-1:0:fh<x?0:A3<x?Ip<x?0:-1:0:-1:0:p8<x?Hf<x?0:Dv<x?Px<x?Pe<x?kD<x?0:-1:0:-1:0:By<x?wd<x&&$b<x?ny<x?0:-1:0:_E<x?$v<x?iy<x?em<x?0:-1:0:-1:0:Lo<x?sf<x?Zd<x?R0<x?0:v3<x?CC<x?zl<x?iD<x?0:-1:0:-1:0:ig<x?m2<x?rp<x&&gD<x?Ed<x?0:-1:0:-1:bn<x?__<x?0:-1:0:-1:i7<x?Fo<x?nd<x?Y2<x?nC<x?0:Wb<x?cg<x?0:-1:0:-1:Eh<x?wu<x?T_<x?lp<x?0:-1:0:-1:sb<x?ds<x?0:-1:0:-1:vh<x?dv<x?Hx<x?Tv<x?Rp<x?0:-1:0:xi<x?af<x?0:-1:0:-1:0:-1:mE<x?bf<x?Ib<x?r7<x?sh<x?I0<x?Lm<x?qf<x&&_t<x?ep<x?0:-1:0:-1:HE<x&&kC<x?Hg<x?0:-1:0:-1:s2<x?rx<x?AD<x?0:Nf<x?h2<x?0:-1:0:-1:Ah<x?uh<x?Ch<x?hD<x?0:-1:0:-1:Zg<x?q7<x?0:-1:0:-1:_v<x?f3<x?Cv<x?ay<x?Yy<x?hg<x?Md<x?Ro<x?0:-1:0:-1:ND<x?$h<x?0:-1:0:-1:kf<x?Of<x?0:-1:TD<x?nv<x?0:-1:0:-1:R3<x?ch<x?y_<x?WD<x?Js<x?0:-1:0:-1:Ap<x?qb<x?0:-1:0:Mb<x?ht<x?0:-1:0:pl<x?d7<x?Uf<x?nl<x?Km<x?j<x?_d<x?G7<x?xb<x?0:-1:0:-1:D0<x?H7<x?0:-1:0:Vp<x?w_<x?0:-1:a3<x?Sg<x?0:-1:0:-1:zD<x?bE<x&&Yv<x?Ry<x?0:-1:0:oc<x?$i<x?0:-1:XD<x?t3<x?0:-1:0:-1:$e<x?ah<x?Bi<x?d_<x?Pu<x?j2<x?an<x?0:-1:0:z3<x?Yb<x?0:-1:0:-1:zb<x?B_<x?nm<x?eD<x?0:-1:0:-1:ug<x?T7<x?0:-1:0:-1:Z7<x?Yi<x?J_<x?Dd<x?W1<x?Oy<x?0:-1:0:-1:M_<x?Z3<x?0:-1:0:-1:eb<x?im<x?qC<x?Rf<x?0:-1:0:-1:Np<x?Kc<x?0:-1:0:-1:fr(dX1,x+Kd|0)-1|0:-1}return-1},jt0=function(i){if(i){var x=i[1];return 45<x?46<x?-1:0:-1}return-1},JV=function(i){if(i){var x=i[1];return 35<x?C_<x?ha<x?vs<x?-1:ne<x?Mu<x?Nh<x?_D<x?O2<x?a7<x?uy<x?pE<x?Jg<x?0:-1:$D<x?ks<x?0:-1:0:-1:N2<x?up<x?A7<x?A_<x?0:-1:0:-1:e<x?Xf<x?0:-1:0:-1:Ld<x?w1<x?Zo<x?Ov<x?pv<x?mg<x?Xy<x?Cm<x?ob<x?Sd<x?0:-1:0:-1:d2<x?qt<x?0:-1:0:-1:Am<x?$_<x?Bt<x?Pp<x?0:-1:0:-1:Fc<x?_3<x?0:-1:0:-1:yy<x?sn<x?G3<x?jl<x?vd<x?Hb<x?0:-1:0:-1:Gt<x?aC<x?0:-1:0:-1:_e<x?Ac<x?Gv<x?op<x?0:-1:0:-1:Zl<x?Jv<x?0:-1:0:-1:I_<x?Pb<x?gg<x?ih<x?m7<x?P7<x?np<x?bv<x?0:-1:0:-1:Yp<x?Rg<x?0:-1:0:-1:dp<x?V7<x?Kh<x?Xl<x?0:-1:0:-1:oD<x?Jb<x?0:-1:0:-1:Us<x?dd<x?hv<x?Dp<x?jv<x?Zp<x?0:-1:0:-1:bD<x?V3<x?0:-1:0:-1:gv<x?iv<x?oh<x?Ym<x?0:-1:0:-1:Gy<x?p7<x?0:-1:0:-1:fp<x?Ef<x?c7<x?l0<x?Z1<x?Hr<x?Eb<x?Xb<x?OD<x?R2<x?kE<x?Iv<x?0:-1:0:-1:0:Ox<x?Kf<x?gE<x?Va<x?0:-1:0:-1:ge<x?_l<x?0:-1:0:pD<x?vE<x?ky<x?wp<x?0:-1:p3<x?Ih<x?0:-1:0:-1:MD<x?OC<x?0:-1:KC<x?r3<x?0:-1:0:-1:I2<x?lo<x?Re<x?yC<x?ME<x?db<x?fg<x?Wy<x?0:-1:0:-1:XE<x?xd<x?0:-1:0:-1:Wa<x?yc<x?S3<x?Kl<x?0:-1:0:-1:Fy<x?xc<x?0:-1:0:-1:ka<x?Kp<x?uE<x?Lg<x?_C<x?OE<x?0:-1:0:-1:v2<x?Hm<x?0:-1:0:-1:Wx<x?ff<x?Tb<x?Fm<x?0:-1:0:-1:b3<x?k7<x?0:-1:0:-1:d3<x?Ad<x?P3<x?Yd<x?eu<x?l7<x?Mt<x?v1<x?Cg<x?Xm<x?0:-1:0:-1:zf<x?mD<x?0:-1:0:-1:Mv<x?tt<x?Pm<x?ld<x?0:-1:0:-1:$3<x?zp<x?0:-1:0:-1:qx<x?n3<x?YD<x?uD<x?I7<x?fl<x?0:-1:0:-1:al<x?j_<x?0:-1:0:-1:Cc<x?N1<x?O_<x?B7<x?0:-1:0:-1:pd<x?dm<x?0:-1:0:-1:N0<x?Xh<x?dh<x?dg<x?b0<x?bp<x?Nl<x?Ph<x?0:-1:0:-1:M3<x?lb<x?0:-1:0:-1:rc<x?ec<x?P_<x?Ud<x?0:-1:0:-1:fv<x?K_<x?0:-1:0:-1:Om<x?Ag<x?rf<x?O3<x?Fn<x?bt<x?0:-1:0:-1:U<x?j7<x?0:-1:0:-1:DC<x?ed<x?Im<x?i3<x?0:-1:0:-1:0:-1:kv<x?Hd<x?Jy<x?Za<x?wD<x?E1<x?ag<x?xh<x?Hv<x?vv<x?l3<x?0:-1:0:-1:H3<x?co<x?0:-1:0:-1:LD<x?ex<x?qy<x?nD<x?0:-1:0:-1:ED<x?Pa<x?0:-1:0:-1:sD<x?th<x?hh<x?L_<x?h3<x?Cy<x?0:-1:0:-1:w7<x?Ey<x?0:-1:0:-1:H2<x?eh<x?xv<x?0:-1:0:u2<x?C<x?0:-1:0:P<x?Kg<x?wl<x?b_<x?cc<x?W_<x?0:-1:Tg<x?i_<x?0:-1:0:-1:Sb<x?tv<x?s7<x?Ku<x?0:-1:0:-1:nb<x?Cf<x?0:-1:0:-1:aE<x?Gr<x?hE<x?O<x?0:-1:Uc<x?Qv<x?0:-1:0:-1:Un<x?T3<x?X_<x?BC<x?0:-1:0:-1:p2<x?dy<x?0:-1:0:-1:Jr<x?uv<x?Gc<x?mo<x?Q3<x?vD<x?yv<x?Qd<x?e7<x?Jh<x?0:-1:0:-1:u7<x?b2<x?0:-1:0:-1:BD<x?0:oE<x?bg<x?0:-1:0:-1:B3<x?0:sE<x?G2<x?pa<x?o7<x?0:-1:0:-1:0:-1:r_<x?$y<x?U3<x?X7<x?C7<x?wh<x?L7<x?0:-1:0:-1:Zy<x?t8<x?0:-1:0:LC<x?jp<x?0:-1:F3<x?lE<x?0:-1:0:-1:UD<x?uc<x?tm<x?C0<x?0:-1:G0<x?rD<x?0:-1:0:-1:0:Qb<x?N7<x?D2<x?Se<x?D_<x?_g<x?MC<x?hy<x?ub<x?ph<x?$7<x?yE<x?0:-1:S0<x?Dh<x?0:-1:0:-1:Ko<x&&kg<x?o0<x?0:-1:0:FD<x?_y<x?c3<x&&EC<x?ho<x?0:-1:0:-1:Xp<x?Bp<x?_u<x?GD<x?0:-1:0:-1:Q2<x?g7<x?0:-1:0:Y_<x?NE<x?n8<x||Fd<x?0:SE<x?Y3<x?0:-1:0:-1:rs<x||Pc<x?0:SC<x?Bd<x?0:-1:0:D7<x?Em<x?Ju<x?QE<x?zm<x&&sy<x?mb<x?0:-1:0:m_<x&&g3<x?Gf<x?0:-1:0:-1:CD<x?Mg<x?Yg<x?If<x?_c<x?Uv<x?0:-1:0:-1:0:-1:0:Mc<x?wy<x?CE<x?EE<x?vp<x?D<x?Ub<x?0:-1:0:-1:0:NC<x?0:e3<x?m3<x?0:-1:0:-1:j3<x&&v7<x&&cv<x?FC<x?0:-1:0:Gh<x?Mm<x?fi<x?SD<x?FE<x?ri<x?DD<x?qD<x?0:-1:mf<x?Ep<x?0:-1:0:-1:0:Nc<x?Wg<x?0:My<x?ib<x?0:-1:0:UC<x&&p1<x?C2<x?0:-1:0:GE<x?pm<x?o2<x?Dg<x&&S7<x?zg<x?0:-1:0:-1:Tt<x?y7<x?cb<x?M7<x?0:-1:0:-1:0:0:-1:qv<x?WC<x?am<x?_m<x?Op<x?x_<x?0:-1:lv<x?ze<x?0:-1:0:0:x7<x?Oh<x?H_<x?0:$a<x?Z2<x?0:-1:0:-1:py<x?Iy<x?bd<x?0:-1:0:v_<x?Ne<x?0:-1:0:-1:yo<x?Yh<x?xm<x?fy<x?o1<x?Hi<x?my<x?0:-1:0:-1:md<x?ol<x?0:-1:0:0:-1:_1<x?za<x?xl<x?ws<x?f7<x?Iu<x?0:-1:0:-1:n_<x?ym<x?0:-1:0:-1:Il<x?z_<x?Bo<x?xf<x?0:-1:0:-1:0:-1:vm<x?Ii<x?ce<x?Q7<x?bh<x?x3<x?E2<x?M<x&&tD<x?AE<x?0:-1:0:pg<x?Su<x?qm<x?t_<x?0:-1:0:-1:S_<x?jd<x?0:-1:0:-1:AC<x?wE<x?Zr<x?Td<x?t7<x?0:-1:0:-1:lh<x?JE<x?0:-1:0:0:yl<x?Q_<x?jf<x?X2<x?Wm<x?0:-1:Kb<x?_i<x?0:-1:0:-1:K0<x?jC<x?0:-1:Mn<x?C3<x?0:-1:0:oy<x?0:Zv<x?hb<x?0:-1:RC<x?qh<x?0:-1:0:$f<x?gy<x?xD<x?dC<x?Xd<x?Z<x?Jl<x?0:-1:0:$C<x?Ss<x?0:-1:0:-1:0:Xo<x?pp<x?Bs<x?e8<x?TC<x?0:-1:0:-1:Ug<x?bm<x?0:-1:0:0:Hu<x?zC<x?om<x?y3<x?VD<x?0:-1:TE<x?Lf<x?0:-1:0:0:-1:F7<x?mv<x?b7<x?ov<x?Xn<x?0:-1:0:Lb<x?Ky<x?0:-1:0:-1:dE<x?K3<x?H<x?kb<x?0:-1:0:-1:0:-1:Vf<x?Cd<x?zv<x?hl<x?hm<x?Qp<x?sC<x?f0<x?yD<x?Th<x?Qy<x?0:-1:0:-1:vg<x?E_<x?0:-1:0:-1:Sm<x?Zm<x?n7<x?k_<x?0:-1:0:-1:ot<x?PD<x?0:-1:0:B0<x?e_<x?iC<x?Nb<x?Ob<x?ab<x?0:-1:0:-1:Ws<x?pb<x?0:-1:0:-1:tC<x?wv<x?P2<x?DE<x?0:-1:0:-1:Mo<x?Vg<x?0:-1:0:-1:Wl<x?Gd<x?Sl<x?O7<x?mu<x?0:-1:IC<x?A0<x?0:-1:0:c2<x?jb<x?Yl<x?b1<x?0:-1:0:-1:Dy<x?oi<x?0:-1:0:-1:zh<x?Te<x?of<x?Vy<x?Yu<x?Ut<x?0:-1:0:-1:Rv<x?sv<x?0:-1:0:-1:U7<x?Bm<x?Bv<x?qg<x?0:-1:0:-1:jg<x?cD<x?0:-1:0:-1:tb<x?h7<x?Ay<x?Wh<x?_7<x?rC<x?hc<x?Uu<x?oC<x?O0<x?0:-1:0:-1:s1<x?HD<x?0:-1:0:-1:Ix<x?rd<x?df<x?tl<x?0:-1:0:-1:Tm<x?B2<x?0:-1:0:-1:Pv<x?Tp<x?e0<x?Xc<x?a_<x?0:-1:0:-1:ly<x?Wp<x?0:-1:0:mp<x?Nv<x?Vh<x?tf<x?0:-1:0:-1:rl<x?aD<x?0:-1:0:-1:Lv<x?d0<x?Gm<x?Xv<x?LE<x?Fg<x?0:-1:0:Zc<x?Zb<x?0:-1:0:E3<x?0:Qg<x?wg<x?0:-1:0:-1:pf<x?Bh<x?Id<x?Ly<x?R_<x?U0<x?0:-1:0:-1:Up<x?G_<x?0:-1:0:-1:k3<x?cy<x?g0<x?U1<x?0:-1:0:-1:qr<x?De<x?0:-1:0:-1:Zt<x?ry<x?Qm<x?gm<x?Ds<x?a8<x?ql<x?wf<x?L2<x?xu<x?jy<x?Rd<x?Rb<x?W3<x?Y0<x?0:-1:0:-1:U_<x?xC<x?0:-1:0:-1:Jm<x?Dm<x?Al<x?Fl<x?0:-1:0:-1:F_<x?Nt<x?0:-1:0:-1:Ff<x?0:y2<x?l1<x?vy<x?gd<x?0:-1:0:-1:Fh<x?Sh<x?0:-1:0:-1:P0<x?W7<x?YE<x?i8<x?dD<x?Vb<x?Y7<x?V0<x?0:-1:0:-1:av<x?W<x?0:-1:0:-1:Vv<x?gC<x?Is<x?cp<x?0:-1:0:-1:Gb<x?RE<x?0:-1:0:-1:y0<x?Ou<x?bo<x?rb<x?E7<x?ZD<x?0:-1:0:-1:Ty<x?by<x?0:-1:0:-1:mh<x?mm<x?Gg<x?I3<x?0:-1:0:-1:li<x?Av<x?0:-1:0:-1:La<x?Uy<x?Cp<x?js<x?q_<x?lD<x&&QD<x?ID<x?0:-1:0:-1:H1<x?c0<x?N_<x?l2<x?0:-1:0:-1:kp<x?Hy<x?0:-1:0:-1:hf<x?fE<x?gb<x?d<x?w3<x?_o<x?0:-1:0:-1:td<x?C1<x?0:-1:0:-1:cE<x?wb<x?0:-1:0:Xg<x?Fv<x?x8<x?0:Bb<x?uC<x?fb<x?0:-1:0:fD<x?nf<x?0:-1:0:-1:J7<x?Kt<x?og<x?V_<x?G<x?Kv<x?0:-1:0:-1:wm<x?Jf<x?0:-1:0:-1:rm<x&&Fb<x?kh<x?0:-1:0:q3<x?$<x?x2<x?Uh<x?BE<x&&X3<x?ts<x?0:-1:0:J3<x?G1<x?qs<x?0:-1:0:Wv<x?N3<x?0:-1:0:0:Hh<x?$m<x?0:Sv<x?_b<x?0:-1:0:g_<x?Rc<x?Ev<x?PC<x?Mr<x?0:-1:0:-1:0:rv<x?0:$d<x?Ur<x?0:-1:0:nx<x?ZE<x?qa<x?0:Eg<x&&JD<x?M2<x?0:-1:0:ip<x?K7<x?0:$c<x?Vm<x?0:-1:0:gt<x&&R7<x?Mf<x?0:-1:0:z7<x?_<x?0:zd<x?bC<x?0:-1:eC<x?L3<x?0:-1:0:Sy<x?wC<x?cl<x?0:-1:0:ng<x?0:zy<x?Pf<x?0:-1:0:-1:Hp<x?lg<x?I1<x?h_<x?Rl<x?ev<x?IE<x?r8<x?PE<x?0:-1:sp<x?D3<x?0:-1:0:fh<x?0:A3<x?Ip<x?0:-1:0:-1:0:p8<x?Hf<x?0:Dv<x?Px<x?Pe<x?kD<x?0:-1:0:-1:0:By<x?wd<x&&$b<x?ny<x?0:-1:0:_E<x?$v<x?iy<x?em<x?0:-1:0:-1:0:Lo<x?sf<x?Zd<x?R0<x?0:v3<x?CC<x?zl<x?iD<x?0:-1:0:-1:0:ig<x?m2<x?rp<x&&gD<x?Ed<x?0:-1:0:-1:bn<x?__<x?0:-1:0:-1:i7<x?Fo<x?nd<x?Y2<x?nC<x?0:Wb<x?cg<x?0:-1:0:-1:Eh<x?wu<x?T_<x?lp<x?0:-1:0:-1:sb<x?ds<x?0:-1:0:-1:vh<x?dv<x?Hx<x?Tv<x?Rp<x?0:-1:0:xi<x?af<x?0:-1:0:-1:0:-1:mE<x?bf<x?Ib<x?r7<x?sh<x?I0<x?Lm<x?qf<x&&_t<x?ep<x?0:-1:0:-1:HE<x&&kC<x?Hg<x?0:-1:0:-1:s2<x?rx<x?AD<x?0:Nf<x?h2<x?0:-1:0:-1:Ah<x?uh<x?Ch<x?hD<x?0:-1:0:-1:Zg<x?q7<x?0:-1:0:-1:_v<x?f3<x?Cv<x?ay<x?Yy<x?hg<x?Md<x?Ro<x?0:-1:0:-1:ND<x?$h<x?0:-1:0:-1:kf<x?Of<x?0:-1:TD<x?nv<x?0:-1:0:-1:R3<x?ch<x?y_<x?WD<x?Js<x?0:-1:0:-1:Ap<x?qb<x?0:-1:0:Mb<x?ht<x?0:-1:0:pl<x?d7<x?Uf<x?nl<x?Km<x?j<x?_d<x?G7<x?xb<x?0:-1:0:-1:D0<x?H7<x?0:-1:0:Vp<x?w_<x?0:-1:a3<x?Sg<x?0:-1:0:-1:zD<x?bE<x&&Yv<x?Ry<x?0:-1:0:oc<x?$i<x?0:-1:XD<x?t3<x?0:-1:0:-1:$e<x?ah<x?Bi<x?d_<x?Pu<x?j2<x?an<x?0:-1:0:z3<x?Yb<x?0:-1:0:-1:zb<x?B_<x?nm<x?eD<x?0:-1:0:-1:ug<x?T7<x?0:-1:0:-1:Z7<x?Yi<x?J_<x?Dd<x?W1<x?Oy<x?0:-1:0:-1:M_<x?Z3<x?0:-1:0:-1:eb<x?im<x?qC<x?Rf<x?0:-1:0:-1:Np<x?Kc<x?0:-1:0:-1:fr(hX1,x+Kd|0)-1|0:-1}return-1},Ej=function(i){if(i){var x=i[1];return 8<x?AR<x?R4<x?cN<x?-1:RN<x?HN<x?0:-1:gP<x?b9<x?h0<x?KN<x?0:-1:0:-1:xI<x?kA<x?0:-1:0:-1:fr(CG1,x-9|0)-1|0:-1}return-1},V4=function(i){if(i){var x=i[1];return 35<x?C_<x?ha<x?vs<x?-1:ne<x?Mu<x?Nh<x?_D<x?O2<x?a7<x?uy<x?pE<x?Jg<x?0:-1:$D<x?ks<x?0:-1:0:-1:N2<x?up<x?A7<x?A_<x?0:-1:0:-1:e<x?Xf<x?0:-1:0:-1:Ld<x?w1<x?Zo<x?Ov<x?pv<x?mg<x?Xy<x?Cm<x?ob<x?Sd<x?0:-1:0:-1:d2<x?qt<x?0:-1:0:-1:Am<x?$_<x?Bt<x?Pp<x?0:-1:0:-1:Fc<x?_3<x?0:-1:0:-1:yy<x?sn<x?G3<x?jl<x?vd<x?Hb<x?0:-1:0:-1:Gt<x?aC<x?0:-1:0:-1:_e<x?Ac<x?Gv<x?op<x?0:-1:0:-1:Zl<x?Jv<x?0:-1:0:-1:I_<x?Pb<x?gg<x?ih<x?m7<x?P7<x?np<x?bv<x?0:-1:0:-1:Yp<x?Rg<x?0:-1:0:-1:dp<x?V7<x?Kh<x?Xl<x?0:-1:0:-1:oD<x?Jb<x?0:-1:0:-1:Us<x?dd<x?hv<x?Dp<x?jv<x?Zp<x?0:-1:0:-1:bD<x?V3<x?0:-1:0:-1:gv<x?iv<x?oh<x?Ym<x?0:-1:0:-1:Gy<x?p7<x?0:-1:0:-1:fp<x?Ef<x?c7<x?l0<x?Z1<x?Hr<x?Eb<x?Xb<x?OD<x?R2<x?kE<x?Iv<x?0:-1:0:-1:0:Ox<x?Kf<x?gE<x?Va<x?0:-1:0:-1:ge<x?_l<x?0:-1:0:pD<x?vE<x?ky<x?wp<x?0:-1:p3<x?Ih<x?0:-1:0:-1:MD<x?OC<x?0:-1:KC<x?r3<x?0:-1:0:-1:I2<x?lo<x?Re<x?yC<x?ME<x?db<x?fg<x?Wy<x?0:-1:0:-1:XE<x?xd<x?0:-1:0:-1:Wa<x?yc<x?S3<x?Kl<x?0:-1:0:-1:Fy<x?xc<x?0:-1:0:-1:ka<x?Kp<x?uE<x?Lg<x?_C<x?OE<x?0:-1:0:-1:v2<x?Hm<x?0:-1:0:-1:Wx<x?ff<x?Tb<x?Fm<x?0:-1:0:-1:b3<x?k7<x?0:-1:0:-1:d3<x?Ad<x?P3<x?Yd<x?eu<x?l7<x?Mt<x?v1<x?Cg<x?Xm<x?0:-1:0:-1:zf<x?mD<x?0:-1:0:-1:Mv<x?tt<x?Pm<x?ld<x?0:-1:0:-1:$3<x?zp<x?0:-1:0:-1:qx<x?n3<x?YD<x?uD<x?I7<x?fl<x?0:-1:0:-1:al<x?j_<x?0:-1:0:-1:Cc<x?N1<x?O_<x?B7<x?0:-1:0:-1:pd<x?dm<x?0:-1:0:-1:N0<x?Xh<x?dh<x?dg<x?b0<x?bp<x?Nl<x?Ph<x?0:-1:0:-1:M3<x?lb<x?0:-1:0:-1:rc<x?ec<x?P_<x?Ud<x?0:-1:0:-1:fv<x?K_<x?0:-1:0:-1:Om<x?Ag<x?rf<x?O3<x?Fn<x?bt<x?0:-1:0:-1:U<x?j7<x?0:-1:0:-1:DC<x?ed<x?Im<x?i3<x?0:-1:0:-1:0:-1:kv<x?Hd<x?Jy<x?Za<x?wD<x?E1<x?ag<x?xh<x?Hv<x?vv<x?l3<x?0:-1:0:-1:H3<x?co<x?0:-1:0:-1:LD<x?ex<x?qy<x?nD<x?0:-1:0:-1:ED<x?Pa<x?0:-1:0:-1:sD<x?th<x?hh<x?L_<x?h3<x?Cy<x?0:-1:0:-1:w7<x?Ey<x?0:-1:0:-1:H2<x?eh<x?xv<x?0:-1:0:u2<x?C<x?0:-1:0:P<x?Kg<x?wl<x?b_<x?cc<x?W_<x?0:-1:Tg<x?i_<x?0:-1:0:-1:Sb<x?tv<x?s7<x?Ku<x?0:-1:0:-1:nb<x?Cf<x?0:-1:0:-1:aE<x?Gr<x?hE<x?O<x?0:-1:Uc<x?Qv<x?0:-1:0:-1:Un<x?T3<x?X_<x?BC<x?0:-1:0:-1:p2<x?dy<x?0:-1:0:-1:Jr<x?uv<x?Gc<x?mo<x?Q3<x?vD<x?yv<x?Qd<x?e7<x?Jh<x?0:-1:0:-1:u7<x?b2<x?0:-1:0:-1:BD<x?0:oE<x?bg<x?0:-1:0:-1:B3<x?0:sE<x?G2<x?pa<x?o7<x?0:-1:0:-1:0:-1:r_<x?$y<x?U3<x?X7<x?C7<x?wh<x?L7<x?0:-1:0:-1:Zy<x?t8<x?0:-1:0:LC<x?jp<x?0:-1:F3<x?lE<x?0:-1:0:-1:UD<x?uc<x?tm<x?C0<x?0:-1:G0<x?rD<x?0:-1:0:-1:0:Qb<x?N7<x?D2<x?Se<x?D_<x?_g<x?MC<x?hy<x?ub<x?ph<x?$7<x?yE<x?0:-1:S0<x?Dh<x?0:-1:0:-1:Ko<x&&kg<x?o0<x?0:-1:0:FD<x?_y<x?c3<x&&EC<x?ho<x?0:-1:0:-1:Xp<x?Bp<x?_u<x?GD<x?0:-1:0:-1:Q2<x?g7<x?0:-1:0:Y_<x?NE<x?n8<x||Fd<x?0:SE<x?Y3<x?0:-1:0:-1:rs<x||Pc<x?0:SC<x?Bd<x?0:-1:0:D7<x?Em<x?Ju<x?QE<x?zm<x&&sy<x?mb<x?0:-1:0:m_<x&&g3<x?Gf<x?0:-1:0:-1:CD<x?Mg<x?Yg<x?If<x?_c<x?Uv<x?0:-1:0:-1:0:-1:0:Mc<x?wy<x?CE<x?EE<x?vp<x?D<x?Ub<x?0:-1:0:-1:0:NC<x?0:e3<x?m3<x?0:-1:0:-1:j3<x&&v7<x&&cv<x?FC<x?0:-1:0:Gh<x?Mm<x?fi<x?SD<x?FE<x?ri<x?DD<x?qD<x?0:-1:mf<x?Ep<x?0:-1:0:-1:0:Nc<x?Wg<x?0:My<x?ib<x?0:-1:0:UC<x&&p1<x?C2<x?0:-1:0:GE<x?pm<x?o2<x?Dg<x&&S7<x?zg<x?0:-1:0:-1:Tt<x?y7<x?cb<x?M7<x?0:-1:0:-1:0:0:-1:qv<x?WC<x?am<x?_m<x?Op<x?x_<x?0:-1:lv<x?ze<x?0:-1:0:0:x7<x?Oh<x?H_<x?0:$a<x?Z2<x?0:-1:0:-1:py<x?Iy<x?bd<x?0:-1:0:v_<x?Ne<x?0:-1:0:-1:yo<x?Yh<x?xm<x?fy<x?o1<x?Hi<x?my<x?0:-1:0:-1:md<x?ol<x?0:-1:0:0:-1:_1<x?za<x?xl<x?ws<x?f7<x?Iu<x?0:-1:0:-1:n_<x?ym<x?0:-1:0:-1:Il<x?z_<x?Bo<x?xf<x?0:-1:0:-1:0:-1:vm<x?Ii<x?ce<x?Q7<x?bh<x?x3<x?E2<x?M<x&&tD<x?AE<x?0:-1:0:pg<x?Su<x?qm<x?t_<x?0:-1:0:-1:S_<x?jd<x?0:-1:0:-1:AC<x?wE<x?Zr<x?Td<x?t7<x?0:-1:0:-1:lh<x?JE<x?0:-1:0:0:yl<x?Q_<x?jf<x?X2<x?Wm<x?0:-1:Kb<x?_i<x?0:-1:0:-1:K0<x?jC<x?0:-1:Mn<x?C3<x?0:-1:0:oy<x?0:Zv<x?hb<x?0:-1:RC<x?qh<x?0:-1:0:$f<x?gy<x?xD<x?dC<x?Xd<x?Z<x?Jl<x?0:-1:0:$C<x?Ss<x?0:-1:0:-1:0:Xo<x?pp<x?Bs<x?e8<x?TC<x?0:-1:0:-1:Ug<x?bm<x?0:-1:0:0:Hu<x?zC<x?om<x?y3<x?VD<x?0:-1:TE<x?Lf<x?0:-1:0:0:-1:F7<x?mv<x?b7<x?ov<x?Xn<x?0:-1:0:Lb<x?Ky<x?0:-1:0:-1:dE<x?K3<x?H<x?kb<x?0:-1:0:-1:0:-1:Vf<x?Cd<x?zv<x?hl<x?hm<x?Qp<x?sC<x?f0<x?yD<x?Th<x?Qy<x?0:-1:0:-1:vg<x?E_<x?0:-1:0:-1:Sm<x?Zm<x?n7<x?k_<x?0:-1:0:-1:ot<x?PD<x?0:-1:0:B0<x?e_<x?iC<x?Nb<x?Ob<x?ab<x?0:-1:0:-1:Ws<x?pb<x?0:-1:0:-1:tC<x?wv<x?P2<x?DE<x?0:-1:0:-1:Mo<x?Vg<x?0:-1:0:-1:Wl<x?Gd<x?Sl<x?O7<x?mu<x?0:-1:IC<x?A0<x?0:-1:0:c2<x?jb<x?Yl<x?b1<x?0:-1:0:-1:Dy<x?oi<x?0:-1:0:-1:zh<x?Te<x?of<x?Vy<x?Yu<x?Ut<x?0:-1:0:-1:Rv<x?sv<x?0:-1:0:-1:U7<x?Bm<x?Bv<x?qg<x?0:-1:0:-1:jg<x?cD<x?0:-1:0:-1:tb<x?h7<x?Ay<x?Wh<x?_7<x?rC<x?hc<x?Uu<x?oC<x?O0<x?0:-1:0:-1:s1<x?HD<x?0:-1:0:-1:Ix<x?rd<x?df<x?tl<x?0:-1:0:-1:Tm<x?B2<x?0:-1:0:-1:Pv<x?Tp<x?e0<x?Xc<x?a_<x?0:-1:0:-1:ly<x?Wp<x?0:-1:0:mp<x?Nv<x?Vh<x?tf<x?0:-1:0:-1:rl<x?aD<x?0:-1:0:-1:Lv<x?d0<x?Gm<x?Xv<x?LE<x?Fg<x?0:-1:0:Zc<x?Zb<x?0:-1:0:E3<x?0:Qg<x?wg<x?0:-1:0:-1:pf<x?Bh<x?Id<x?Ly<x?R_<x?U0<x?0:-1:0:-1:Up<x?G_<x?0:-1:0:-1:k3<x?cy<x?g0<x?U1<x?0:-1:0:-1:qr<x?De<x?0:-1:0:-1:Zt<x?ry<x?Qm<x?gm<x?Ds<x?a8<x?ql<x?wf<x?L2<x?xu<x?jy<x?Rd<x?Rb<x?W3<x?Y0<x?0:-1:0:-1:U_<x?xC<x?0:-1:0:-1:Jm<x?Dm<x?Al<x?Fl<x?0:-1:0:-1:F_<x?Nt<x?0:-1:0:-1:Ff<x?0:y2<x?l1<x?vy<x?gd<x?0:-1:0:-1:Fh<x?Sh<x?0:-1:0:-1:P0<x?W7<x?YE<x?i8<x?dD<x?Vb<x?Y7<x?V0<x?0:-1:0:-1:av<x?W<x?0:-1:0:-1:Vv<x?gC<x?Is<x?cp<x?0:-1:0:-1:Gb<x?RE<x?0:-1:0:-1:y0<x?Ou<x?bo<x?rb<x?E7<x?ZD<x?0:-1:0:-1:Ty<x?by<x?0:-1:0:-1:mh<x?mm<x?Gg<x?I3<x?0:-1:0:-1:li<x?Av<x?0:-1:0:-1:La<x?Uy<x?Cp<x?js<x?q_<x?lD<x&&QD<x?ID<x?0:-1:0:-1:H1<x?c0<x?N_<x?l2<x?0:-1:0:-1:kp<x?Hy<x?0:-1:0:-1:hf<x?fE<x?gb<x?d<x?w3<x?_o<x?0:-1:0:-1:td<x?C1<x?0:-1:0:-1:cE<x?wb<x?0:-1:0:Xg<x?Fv<x?x8<x?0:Bb<x?uC<x?fb<x?0:-1:0:fD<x?nf<x?0:-1:0:-1:J7<x?Kt<x?og<x?V_<x?G<x?Kv<x?0:-1:0:-1:wm<x?Jf<x?0:-1:0:-1:rm<x&&Fb<x?kh<x?0:-1:0:q3<x?$<x?x2<x?Uh<x?BE<x&&X3<x?ts<x?0:-1:0:J3<x?G1<x?qs<x?0:-1:0:Wv<x?N3<x?0:-1:0:0:Hh<x?$m<x?0:Sv<x?_b<x?0:-1:0:g_<x?Rc<x?Ev<x?PC<x?Mr<x?0:-1:0:-1:0:rv<x?0:$d<x?Ur<x?0:-1:0:nx<x?ZE<x?qa<x?0:Eg<x&&JD<x?M2<x?0:-1:0:ip<x?K7<x?0:$c<x?Vm<x?0:-1:0:gt<x&&R7<x?Mf<x?0:-1:0:z7<x?_<x?0:zd<x?bC<x?0:-1:eC<x?L3<x?0:-1:0:Sy<x?wC<x?cl<x?0:-1:0:ng<x?0:zy<x?Pf<x?0:-1:0:-1:Hp<x?lg<x?I1<x?h_<x?Rl<x?ev<x?IE<x?r8<x?PE<x?0:-1:sp<x?D3<x?0:-1:0:fh<x?0:A3<x?Ip<x?0:-1:0:-1:0:p8<x?Hf<x?0:Dv<x?Px<x?Pe<x?kD<x?0:-1:0:-1:0:By<x?wd<x&&$b<x?ny<x?0:-1:0:_E<x?$v<x?iy<x?em<x?0:-1:0:-1:0:Lo<x?sf<x?Zd<x?R0<x?0:v3<x?CC<x?zl<x?iD<x?0:-1:0:-1:0:ig<x?m2<x?rp<x&&gD<x?Ed<x?0:-1:0:-1:bn<x?__<x?0:-1:0:-1:i7<x?Fo<x?nd<x?Y2<x?nC<x?0:Wb<x?cg<x?0:-1:0:-1:Eh<x?wu<x?T_<x?lp<x?0:-1:0:-1:sb<x?ds<x?0:-1:0:-1:vh<x?dv<x?Hx<x?Tv<x?Rp<x?0:-1:0:xi<x?af<x?0:-1:0:-1:0:-1:mE<x?bf<x?Ib<x?r7<x?sh<x?I0<x?Lm<x?qf<x&&_t<x?ep<x?0:-1:0:-1:HE<x&&kC<x?Hg<x?0:-1:0:-1:s2<x?rx<x?AD<x?0:Nf<x?h2<x?0:-1:0:-1:Ah<x?uh<x?Ch<x?hD<x?0:-1:0:-1:Zg<x?q7<x?0:-1:0:-1:_v<x?f3<x?Cv<x?ay<x?Yy<x?hg<x?Md<x?Ro<x?0:-1:0:-1:ND<x?$h<x?0:-1:0:-1:kf<x?Of<x?0:-1:TD<x?nv<x?0:-1:0:-1:R3<x?ch<x?y_<x?WD<x?Js<x?0:-1:0:-1:Ap<x?qb<x?0:-1:0:Mb<x?ht<x?0:-1:0:pl<x?d7<x?Uf<x?nl<x?Km<x?j<x?_d<x?G7<x?xb<x?0:-1:0:-1:D0<x?H7<x?0:-1:0:Vp<x?w_<x?0:-1:a3<x?Sg<x?0:-1:0:-1:zD<x?bE<x&&Yv<x?Ry<x?0:-1:0:oc<x?$i<x?0:-1:XD<x?t3<x?0:-1:0:-1:$e<x?ah<x?Bi<x?d_<x?Pu<x?j2<x?an<x?0:-1:0:z3<x?Yb<x?0:-1:0:-1:zb<x?B_<x?nm<x?eD<x?0:-1:0:-1:ug<x?T7<x?0:-1:0:-1:Z7<x?Yi<x?J_<x?Dd<x?W1<x?Oy<x?0:-1:0:-1:M_<x?Z3<x?0:-1:0:-1:eb<x?im<x?qC<x?Rf<x?0:-1:0:-1:Np<x?Kc<x?0:-1:0:-1:fr(gX1,x+Kd|0)-1|0:-1}return-1},C6=function(i){if(i){var x=i[1];return 47<x?57<x?-1:0:-1}return-1},OK=function(i){if(i){var x=i[1];return 35<x?C_<x?ha<x?vs<x?-1:ne<x?Mu<x?Nh<x?_D<x?O2<x?a7<x?uy<x?pE<x?Jg<x?0:-1:$D<x?ks<x?0:-1:0:-1:N2<x?up<x?A7<x?A_<x?0:-1:0:-1:e<x?Xf<x?0:-1:0:-1:Ld<x?w1<x?Zo<x?Ov<x?pv<x?mg<x?Xy<x?Cm<x?ob<x?Sd<x?0:-1:0:-1:d2<x?qt<x?0:-1:0:-1:Am<x?$_<x?Bt<x?Pp<x?0:-1:0:-1:Fc<x?_3<x?0:-1:0:-1:yy<x?sn<x?G3<x?jl<x?vd<x?Hb<x?0:-1:0:-1:Gt<x?aC<x?0:-1:0:-1:_e<x?Ac<x?Gv<x?op<x?0:-1:0:-1:Zl<x?Jv<x?0:-1:0:-1:I_<x?Pb<x?gg<x?ih<x?m7<x?P7<x?np<x?bv<x?0:-1:0:-1:Yp<x?Rg<x?0:-1:0:-1:dp<x?V7<x?Kh<x?Xl<x?0:-1:0:-1:oD<x?Jb<x?0:-1:0:-1:Us<x?dd<x?hv<x?Dp<x?jv<x?Zp<x?0:-1:0:-1:bD<x?V3<x?0:-1:0:-1:gv<x?iv<x?oh<x?Ym<x?0:-1:0:-1:Gy<x?p7<x?0:-1:0:-1:fp<x?Ef<x?c7<x?l0<x?Z1<x?Hr<x?Eb<x?Xb<x?OD<x?R2<x?kE<x?Iv<x?0:-1:0:-1:0:Ox<x?Kf<x?gE<x?Va<x?0:-1:0:-1:ge<x?_l<x?0:-1:0:pD<x?vE<x?ky<x?wp<x?0:-1:p3<x?Ih<x?0:-1:0:-1:MD<x?OC<x?0:-1:KC<x?r3<x?0:-1:0:-1:I2<x?lo<x?Re<x?yC<x?ME<x?db<x?fg<x?Wy<x?0:-1:0:-1:XE<x?xd<x?0:-1:0:-1:Wa<x?yc<x?S3<x?Kl<x?0:-1:0:-1:Fy<x?xc<x?0:-1:0:-1:ka<x?Kp<x?uE<x?Lg<x?_C<x?OE<x?0:-1:0:-1:v2<x?Hm<x?0:-1:0:-1:Wx<x?ff<x?Tb<x?Fm<x?0:-1:0:-1:b3<x?k7<x?0:-1:0:-1:d3<x?Ad<x?P3<x?Yd<x?eu<x?l7<x?Mt<x?v1<x?Cg<x?Xm<x?0:-1:0:-1:zf<x?mD<x?0:-1:0:-1:Mv<x?tt<x?Pm<x?ld<x?0:-1:0:-1:$3<x?zp<x?0:-1:0:-1:qx<x?n3<x?YD<x?uD<x?I7<x?fl<x?0:-1:0:-1:al<x?j_<x?0:-1:0:-1:Cc<x?N1<x?O_<x?B7<x?0:-1:0:-1:pd<x?dm<x?0:-1:0:-1:N0<x?Xh<x?dh<x?dg<x?b0<x?bp<x?Nl<x?Ph<x?0:-1:0:-1:M3<x?lb<x?0:-1:0:-1:rc<x?ec<x?P_<x?Ud<x?0:-1:0:-1:fv<x?K_<x?0:-1:0:-1:Om<x?Ag<x?rf<x?O3<x?Fn<x?bt<x?0:-1:0:-1:U<x?j7<x?0:-1:0:-1:DC<x?ed<x?Im<x?i3<x?0:-1:0:-1:0:-1:kv<x?Hd<x?Jy<x?Za<x?wD<x?E1<x?ag<x?xh<x?Hv<x?vv<x?l3<x?0:-1:0:-1:H3<x?co<x?0:-1:0:-1:LD<x?ex<x?qy<x?nD<x?0:-1:0:-1:ED<x?Pa<x?0:-1:0:-1:sD<x?th<x?hh<x?L_<x?h3<x?Cy<x?0:-1:0:-1:w7<x?Ey<x?0:-1:0:-1:H2<x?eh<x?xv<x?0:-1:0:u2<x?C<x?0:-1:0:P<x?Kg<x?wl<x?b_<x?cc<x?W_<x?0:-1:Tg<x?i_<x?0:-1:0:-1:Sb<x?tv<x?s7<x?Ku<x?0:-1:0:-1:nb<x?Cf<x?0:-1:0:-1:aE<x?Gr<x?hE<x?O<x?0:-1:Uc<x?Qv<x?0:-1:0:-1:Un<x?T3<x?X_<x?BC<x?0:-1:0:-1:p2<x?dy<x?0:-1:0:-1:Jr<x?uv<x?Gc<x?mo<x?Q3<x?vD<x?yv<x?Qd<x?e7<x?Jh<x?0:-1:0:-1:u7<x?b2<x?0:-1:0:-1:BD<x?0:oE<x?bg<x?0:-1:0:-1:B3<x?0:sE<x?G2<x?pa<x?o7<x?0:-1:0:-1:0:-1:r_<x?$y<x?U3<x?X7<x?C7<x?wh<x?L7<x?0:-1:0:-1:Zy<x?t8<x?0:-1:0:LC<x?jp<x?0:-1:F3<x?lE<x?0:-1:0:-1:UD<x?uc<x?tm<x?C0<x?0:-1:G0<x?rD<x?0:-1:0:-1:0:Qb<x?N7<x?D2<x?Se<x?D_<x?_g<x?MC<x?hy<x?ub<x?ph<x?$7<x?yE<x?0:-1:S0<x?Dh<x?0:-1:0:-1:Ko<x&&kg<x?o0<x?0:-1:0:FD<x?_y<x?c3<x&&EC<x?ho<x?0:-1:0:-1:Xp<x?Bp<x?_u<x?GD<x?0:-1:0:-1:Q2<x?g7<x?0:-1:0:Y_<x?NE<x?n8<x||Fd<x?0:SE<x?Y3<x?0:-1:0:-1:rs<x||Pc<x?0:SC<x?Bd<x?0:-1:0:D7<x?Em<x?Ju<x?QE<x?zm<x&&sy<x?mb<x?0:-1:0:m_<x&&g3<x?Gf<x?0:-1:0:-1:CD<x?Mg<x?Yg<x?If<x?_c<x?Uv<x?0:-1:0:-1:0:-1:0:Mc<x?wy<x?CE<x?EE<x?vp<x?D<x?Ub<x?0:-1:0:-1:0:NC<x?0:e3<x?m3<x?0:-1:0:-1:j3<x&&v7<x&&cv<x?FC<x?0:-1:0:Gh<x?Mm<x?fi<x?SD<x?FE<x?ri<x?DD<x?qD<x?0:-1:mf<x?Ep<x?0:-1:0:-1:0:Nc<x?Wg<x?0:My<x?ib<x?0:-1:0:UC<x&&p1<x?C2<x?0:-1:0:GE<x?pm<x?o2<x?Dg<x&&S7<x?zg<x?0:-1:0:-1:Tt<x?y7<x?cb<x?M7<x?0:-1:0:-1:0:0:-1:qv<x?WC<x?am<x?_m<x?Op<x?x_<x?0:-1:lv<x?ze<x?0:-1:0:0:x7<x?Oh<x?H_<x?0:$a<x?Z2<x?0:-1:0:-1:py<x?Iy<x?bd<x?0:-1:0:v_<x?Ne<x?0:-1:0:-1:yo<x?Yh<x?xm<x?fy<x?o1<x?Hi<x?my<x?0:-1:0:-1:md<x?ol<x?0:-1:0:0:-1:_1<x?za<x?xl<x?ws<x?f7<x?Iu<x?0:-1:0:-1:n_<x?ym<x?0:-1:0:-1:Il<x?z_<x?Bo<x?xf<x?0:-1:0:-1:0:-1:vm<x?Ii<x?ce<x?Q7<x?bh<x?x3<x?E2<x?M<x&&tD<x?AE<x?0:-1:0:pg<x?Su<x?qm<x?t_<x?0:-1:0:-1:S_<x?jd<x?0:-1:0:-1:AC<x?wE<x?Zr<x?Td<x?t7<x?0:-1:0:-1:lh<x?JE<x?0:-1:0:0:yl<x?Q_<x?jf<x?X2<x?Wm<x?0:-1:Kb<x?_i<x?0:-1:0:-1:K0<x?jC<x?0:-1:Mn<x?C3<x?0:-1:0:oy<x?0:Zv<x?hb<x?0:-1:RC<x?qh<x?0:-1:0:$f<x?gy<x?xD<x?dC<x?Xd<x?Z<x?Jl<x?0:-1:0:$C<x?Ss<x?0:-1:0:-1:0:Xo<x?pp<x?Bs<x?e8<x?TC<x?0:-1:0:-1:Ug<x?bm<x?0:-1:0:0:Hu<x?zC<x?om<x?y3<x?VD<x?0:-1:TE<x?Lf<x?0:-1:0:0:-1:F7<x?mv<x?b7<x?ov<x?Xn<x?0:-1:0:Lb<x?Ky<x?0:-1:0:-1:dE<x?K3<x?H<x?kb<x?0:-1:0:-1:0:-1:Vf<x?Cd<x?zv<x?hl<x?hm<x?Qp<x?sC<x?f0<x?yD<x?Th<x?Qy<x?0:-1:0:-1:vg<x?E_<x?0:-1:0:-1:Sm<x?Zm<x?n7<x?k_<x?0:-1:0:-1:ot<x?PD<x?0:-1:0:B0<x?e_<x?iC<x?Nb<x?Ob<x?ab<x?0:-1:0:-1:Ws<x?pb<x?0:-1:0:-1:tC<x?wv<x?P2<x?DE<x?0:-1:0:-1:Mo<x?Vg<x?0:-1:0:-1:Wl<x?Gd<x?Sl<x?O7<x?mu<x?0:-1:IC<x?A0<x?0:-1:0:c2<x?jb<x?Yl<x?b1<x?0:-1:0:-1:Dy<x?oi<x?0:-1:0:-1:zh<x?Te<x?of<x?Vy<x?Yu<x?Ut<x?0:-1:0:-1:Rv<x?sv<x?0:-1:0:-1:U7<x?Bm<x?Bv<x?qg<x?0:-1:0:-1:jg<x?cD<x?0:-1:0:-1:tb<x?h7<x?Ay<x?Wh<x?_7<x?rC<x?hc<x?Uu<x?oC<x?O0<x?0:-1:0:-1:s1<x?HD<x?0:-1:0:-1:Ix<x?rd<x?df<x?tl<x?0:-1:0:-1:Tm<x?B2<x?0:-1:0:-1:Pv<x?Tp<x?e0<x?Xc<x?a_<x?0:-1:0:-1:ly<x?Wp<x?0:-1:0:mp<x?Nv<x?Vh<x?tf<x?0:-1:0:-1:rl<x?aD<x?0:-1:0:-1:Lv<x?d0<x?Gm<x?Xv<x?LE<x?Fg<x?0:-1:0:Zc<x?Zb<x?0:-1:0:E3<x?0:Qg<x?wg<x?0:-1:0:-1:pf<x?Bh<x?Id<x?Ly<x?R_<x?U0<x?0:-1:0:-1:Up<x?G_<x?0:-1:0:-1:k3<x?cy<x?g0<x?U1<x?0:-1:0:-1:qr<x?De<x?0:-1:0:-1:Zt<x?ry<x?Qm<x?gm<x?Ds<x?a8<x?ql<x?wf<x?L2<x?xu<x?jy<x?Rd<x?Rb<x?W3<x?Y0<x?0:-1:0:-1:U_<x?xC<x?0:-1:0:-1:Jm<x?Dm<x?Al<x?Fl<x?0:-1:0:-1:F_<x?Nt<x?0:-1:0:-1:Ff<x?0:y2<x?l1<x?vy<x?gd<x?0:-1:0:-1:Fh<x?Sh<x?0:-1:0:-1:P0<x?W7<x?YE<x?i8<x?dD<x?Vb<x?Y7<x?V0<x?0:-1:0:-1:av<x?W<x?0:-1:0:-1:Vv<x?gC<x?Is<x?cp<x?0:-1:0:-1:Gb<x?RE<x?0:-1:0:-1:y0<x?Ou<x?bo<x?rb<x?E7<x?ZD<x?0:-1:0:-1:Ty<x?by<x?0:-1:0:-1:mh<x?mm<x?Gg<x?I3<x?0:-1:0:-1:li<x?Av<x?0:-1:0:-1:La<x?Uy<x?Cp<x?js<x?q_<x?lD<x&&QD<x?ID<x?0:-1:0:-1:H1<x?c0<x?N_<x?l2<x?0:-1:0:-1:kp<x?Hy<x?0:-1:0:-1:hf<x?fE<x?gb<x?d<x?w3<x?_o<x?0:-1:0:-1:td<x?C1<x?0:-1:0:-1:cE<x?wb<x?0:-1:0:Xg<x?Fv<x?x8<x?0:Bb<x?uC<x?fb<x?0:-1:0:fD<x?nf<x?0:-1:0:-1:J7<x?Kt<x?og<x?V_<x?G<x?Kv<x?0:-1:0:-1:wm<x?Jf<x?0:-1:0:-1:rm<x&&Fb<x?kh<x?0:-1:0:q3<x?$<x?x2<x?Uh<x?BE<x&&X3<x?ts<x?0:-1:0:J3<x?G1<x?qs<x?0:-1:0:Wv<x?N3<x?0:-1:0:0:Hh<x?$m<x?0:Sv<x?_b<x?0:-1:0:g_<x?Rc<x?Ev<x?PC<x?Mr<x?0:-1:0:-1:0:rv<x?0:$d<x?Ur<x?0:-1:0:nx<x?ZE<x?qa<x?0:Eg<x&&JD<x?M2<x?0:-1:0:ip<x?K7<x?0:$c<x?Vm<x?0:-1:0:gt<x&&R7<x?Mf<x?0:-1:0:z7<x?_<x?0:zd<x?bC<x?0:-1:eC<x?L3<x?0:-1:0:Sy<x?wC<x?cl<x?0:-1:0:ng<x?0:zy<x?Pf<x?0:-1:0:-1:Hp<x?lg<x?I1<x?h_<x?Rl<x?ev<x?IE<x?r8<x?PE<x?0:-1:sp<x?D3<x?0:-1:0:fh<x?0:A3<x?Ip<x?0:-1:0:-1:0:p8<x?Hf<x?0:Dv<x?Px<x?Pe<x?kD<x?0:-1:0:-1:0:By<x?wd<x&&$b<x?ny<x?0:-1:0:_E<x?$v<x?iy<x?em<x?0:-1:0:-1:0:Lo<x?sf<x?Zd<x?R0<x?0:v3<x?CC<x?zl<x?iD<x?0:-1:0:-1:0:ig<x?m2<x?rp<x&&gD<x?Ed<x?0:-1:0:-1:bn<x?__<x?0:-1:0:-1:i7<x?Fo<x?nd<x?Y2<x?nC<x?0:Wb<x?cg<x?0:-1:0:-1:Eh<x?wu<x?T_<x?lp<x?0:-1:0:-1:sb<x?ds<x?0:-1:0:-1:vh<x?dv<x?Hx<x?Tv<x?Rp<x?0:-1:0:xi<x?af<x?0:-1:0:-1:0:-1:mE<x?bf<x?Ib<x?r7<x?sh<x?I0<x?Lm<x?qf<x&&_t<x?ep<x?0:-1:0:-1:HE<x&&kC<x?Hg<x?0:-1:0:-1:s2<x?rx<x?AD<x?0:Nf<x?h2<x?0:-1:0:-1:Ah<x?uh<x?Ch<x?hD<x?0:-1:0:-1:Zg<x?q7<x?0:-1:0:-1:_v<x?f3<x?Cv<x?ay<x?Yy<x?hg<x?Md<x?Ro<x?0:-1:0:-1:ND<x?$h<x?0:-1:0:-1:kf<x?Of<x?0:-1:TD<x?nv<x?0:-1:0:-1:R3<x?ch<x?y_<x?WD<x?Js<x?0:-1:0:-1:Ap<x?qb<x?0:-1:0:Mb<x?ht<x?0:-1:0:pl<x?d7<x?Uf<x?nl<x?Km<x?j<x?_d<x?G7<x?xb<x?0:-1:0:-1:D0<x?H7<x?0:-1:0:Vp<x?w_<x?0:-1:a3<x?Sg<x?0:-1:0:-1:zD<x?bE<x&&Yv<x?Ry<x?0:-1:0:oc<x?$i<x?0:-1:XD<x?t3<x?0:-1:0:-1:$e<x?ah<x?Bi<x?d_<x?Pu<x?j2<x?an<x?0:-1:0:z3<x?Yb<x?0:-1:0:-1:zb<x?B_<x?nm<x?eD<x?0:-1:0:-1:ug<x?T7<x?0:-1:0:-1:Z7<x?Yi<x?J_<x?Dd<x?W1<x?Oy<x?0:-1:0:-1:M_<x?Z3<x?0:-1:0:-1:eb<x?im<x?qC<x?Rf<x?0:-1:0:-1:Np<x?Kc<x?0:-1:0:-1:fr(vX1,x+Kd|0)-1|0:-1}return-1},m6=function(i){if(i){var x=i[1];return 47<x?F4<x?-1:fr(sX1,x+VC|0)-1|0:-1}return-1},SL=function(i){if(i){var x=i[1];return 47<x?ef<x?-1:fr(OY1,x+VC|0)-1|0:-1}return-1},$z=function(i){if(i){var x=i[1];return 35<x?$u<x?-1:fr(MG1,x+Kd|0)-1|0:-1}return-1},Kq=function(i){if(i){var x=i[1];return 35<x?C_<x?ha<x?vs<x?-1:ne<x?Mu<x?Nh<x?_D<x?O2<x?a7<x?uy<x?pE<x?Jg<x?0:-1:$D<x?ks<x?0:-1:0:-1:N2<x?up<x?A7<x?A_<x?0:-1:0:-1:e<x?Xf<x?0:-1:0:-1:Ld<x?w1<x?Zo<x?Ov<x?pv<x?mg<x?Xy<x?Cm<x?ob<x?Sd<x?0:-1:0:-1:d2<x?qt<x?0:-1:0:-1:Am<x?$_<x?Bt<x?Pp<x?0:-1:0:-1:Fc<x?_3<x?0:-1:0:-1:yy<x?sn<x?G3<x?jl<x?vd<x?Hb<x?0:-1:0:-1:Gt<x?aC<x?0:-1:0:-1:_e<x?Ac<x?Gv<x?op<x?0:-1:0:-1:Zl<x?Jv<x?0:-1:0:-1:I_<x?Pb<x?gg<x?ih<x?m7<x?P7<x?np<x?bv<x?0:-1:0:-1:Yp<x?Rg<x?0:-1:0:-1:dp<x?V7<x?Kh<x?Xl<x?0:-1:0:-1:oD<x?Jb<x?0:-1:0:-1:Us<x?dd<x?hv<x?Dp<x?jv<x?Zp<x?0:-1:0:-1:bD<x?V3<x?0:-1:0:-1:gv<x?iv<x?oh<x?Ym<x?0:-1:0:-1:Gy<x?p7<x?0:-1:0:-1:fp<x?Ef<x?c7<x?l0<x?Z1<x?Hr<x?Eb<x?Xb<x?OD<x?R2<x?kE<x?Iv<x?0:-1:0:-1:0:Ox<x?Kf<x?gE<x?Va<x?0:-1:0:-1:ge<x?_l<x?0:-1:0:pD<x?vE<x?ky<x?wp<x?0:-1:p3<x?Ih<x?0:-1:0:-1:MD<x?OC<x?0:-1:KC<x?r3<x?0:-1:0:-1:I2<x?lo<x?Re<x?yC<x?ME<x?db<x?fg<x?Wy<x?0:-1:0:-1:XE<x?xd<x?0:-1:0:-1:Wa<x?yc<x?S3<x?Kl<x?0:-1:0:-1:Fy<x?xc<x?0:-1:0:-1:ka<x?Kp<x?uE<x?Lg<x?_C<x?OE<x?0:-1:0:-1:v2<x?Hm<x?0:-1:0:-1:Wx<x?ff<x?Tb<x?Fm<x?0:-1:0:-1:b3<x?k7<x?0:-1:0:-1:d3<x?Ad<x?P3<x?Yd<x?eu<x?l7<x?Mt<x?v1<x?Cg<x?Xm<x?0:-1:0:-1:zf<x?mD<x?0:-1:0:-1:Mv<x?tt<x?Pm<x?ld<x?0:-1:0:-1:$3<x?zp<x?0:-1:0:-1:qx<x?n3<x?YD<x?uD<x?I7<x?fl<x?0:-1:0:-1:al<x?j_<x?0:-1:0:-1:Cc<x?N1<x?O_<x?B7<x?0:-1:0:-1:pd<x?dm<x?0:-1:0:-1:N0<x?Xh<x?dh<x?dg<x?b0<x?bp<x?Nl<x?Ph<x?0:-1:0:-1:M3<x?lb<x?0:-1:0:-1:rc<x?ec<x?P_<x?Ud<x?0:-1:0:-1:fv<x?K_<x?0:-1:0:-1:Om<x?Ag<x?rf<x?O3<x?Fn<x?bt<x?0:-1:0:-1:U<x?j7<x?0:-1:0:-1:DC<x?ed<x?Im<x?i3<x?0:-1:0:-1:0:-1:kv<x?Hd<x?Jy<x?Za<x?wD<x?E1<x?ag<x?xh<x?Hv<x?vv<x?l3<x?0:-1:0:-1:H3<x?co<x?0:-1:0:-1:LD<x?ex<x?qy<x?nD<x?0:-1:0:-1:ED<x?Pa<x?0:-1:0:-1:sD<x?th<x?hh<x?L_<x?h3<x?Cy<x?0:-1:0:-1:w7<x?Ey<x?0:-1:0:-1:H2<x?eh<x?xv<x?0:-1:0:u2<x?C<x?0:-1:0:P<x?Kg<x?wl<x?b_<x?cc<x?W_<x?0:-1:Tg<x?i_<x?0:-1:0:-1:Sb<x?tv<x?s7<x?Ku<x?0:-1:0:-1:nb<x?Cf<x?0:-1:0:-1:aE<x?Gr<x?hE<x?O<x?0:-1:Uc<x?Qv<x?0:-1:0:-1:Un<x?T3<x?X_<x?BC<x?0:-1:0:-1:p2<x?dy<x?0:-1:0:-1:Jr<x?uv<x?Gc<x?mo<x?Q3<x?vD<x?yv<x?Qd<x?e7<x?Jh<x?0:-1:0:-1:u7<x?b2<x?0:-1:0:-1:BD<x?0:oE<x?bg<x?0:-1:0:-1:B3<x?0:sE<x?G2<x?pa<x?o7<x?0:-1:0:-1:0:-1:r_<x?$y<x?U3<x?X7<x?C7<x?wh<x?L7<x?0:-1:0:-1:Zy<x?t8<x?0:-1:0:LC<x?jp<x?0:-1:F3<x?lE<x?0:-1:0:-1:UD<x?uc<x?tm<x?C0<x?0:-1:G0<x?rD<x?0:-1:0:-1:0:Qb<x?N7<x?D2<x?Se<x?D_<x?_g<x?MC<x?hy<x?ub<x?ph<x?$7<x?yE<x?0:-1:S0<x?Dh<x?0:-1:0:-1:Ko<x&&kg<x?o0<x?0:-1:0:FD<x?_y<x?c3<x&&EC<x?ho<x?0:-1:0:-1:Xp<x?Bp<x?_u<x?GD<x?0:-1:0:-1:Q2<x?g7<x?0:-1:0:Y_<x?NE<x?n8<x||Fd<x?0:SE<x?Y3<x?0:-1:0:-1:rs<x||Pc<x?0:SC<x?Bd<x?0:-1:0:D7<x?Em<x?Ju<x?QE<x?zm<x&&sy<x?mb<x?0:-1:0:m_<x&&g3<x?Gf<x?0:-1:0:-1:CD<x?Mg<x?Yg<x?If<x?_c<x?Uv<x?0:-1:0:-1:0:-1:0:Mc<x?wy<x?CE<x?EE<x?vp<x?D<x?Ub<x?0:-1:0:-1:0:NC<x?0:e3<x?m3<x?0:-1:0:-1:j3<x&&v7<x&&cv<x?FC<x?0:-1:0:Gh<x?Mm<x?fi<x?SD<x?FE<x?ri<x?DD<x?qD<x?0:-1:mf<x?Ep<x?0:-1:0:-1:0:Nc<x?Wg<x?0:My<x?ib<x?0:-1:0:UC<x&&p1<x?C2<x?0:-1:0:GE<x?pm<x?o2<x?Dg<x&&S7<x?zg<x?0:-1:0:-1:Tt<x?y7<x?cb<x?M7<x?0:-1:0:-1:0:0:-1:qv<x?WC<x?am<x?_m<x?Op<x?x_<x?0:-1:lv<x?ze<x?0:-1:0:0:x7<x?Oh<x?H_<x?0:$a<x?Z2<x?0:-1:0:-1:py<x?Iy<x?bd<x?0:-1:0:v_<x?Ne<x?0:-1:0:-1:yo<x?Yh<x?xm<x?fy<x?o1<x?Hi<x?my<x?0:-1:0:-1:md<x?ol<x?0:-1:0:0:-1:_1<x?za<x?xl<x?ws<x?f7<x?Iu<x?0:-1:0:-1:n_<x?ym<x?0:-1:0:-1:Il<x?z_<x?Bo<x?xf<x?0:-1:0:-1:0:-1:vm<x?Ii<x?ce<x?Q7<x?bh<x?x3<x?E2<x?M<x&&tD<x?AE<x?0:-1:0:pg<x?Su<x?qm<x?t_<x?0:-1:0:-1:S_<x?jd<x?0:-1:0:-1:AC<x?wE<x?Zr<x?Td<x?t7<x?0:-1:0:-1:lh<x?JE<x?0:-1:0:0:yl<x?Q_<x?jf<x?X2<x?Wm<x?0:-1:Kb<x?_i<x?0:-1:0:-1:K0<x?jC<x?0:-1:Mn<x?C3<x?0:-1:0:oy<x?0:Zv<x?hb<x?0:-1:RC<x?qh<x?0:-1:0:$f<x?gy<x?xD<x?dC<x?Xd<x?Z<x?Jl<x?0:-1:0:$C<x?Ss<x?0:-1:0:-1:0:Xo<x?pp<x?Bs<x?e8<x?TC<x?0:-1:0:-1:Ug<x?bm<x?0:-1:0:0:Hu<x?zC<x?om<x?y3<x?VD<x?0:-1:TE<x?Lf<x?0:-1:0:0:-1:F7<x?mv<x?b7<x?ov<x?Xn<x?0:-1:0:Lb<x?Ky<x?0:-1:0:-1:dE<x?K3<x?H<x?kb<x?0:-1:0:-1:0:-1:Vf<x?Cd<x?zv<x?hl<x?hm<x?Qp<x?sC<x?f0<x?yD<x?Th<x?Qy<x?0:-1:0:-1:vg<x?E_<x?0:-1:0:-1:Sm<x?Zm<x?n7<x?k_<x?0:-1:0:-1:ot<x?PD<x?0:-1:0:B0<x?e_<x?iC<x?Nb<x?Ob<x?ab<x?0:-1:0:-1:Ws<x?pb<x?0:-1:0:-1:tC<x?wv<x?P2<x?DE<x?0:-1:0:-1:Mo<x?Vg<x?0:-1:0:-1:Wl<x?Gd<x?Sl<x?O7<x?mu<x?0:-1:IC<x?A0<x?0:-1:0:c2<x?jb<x?Yl<x?b1<x?0:-1:0:-1:Dy<x?oi<x?0:-1:0:-1:zh<x?Te<x?of<x?Vy<x?Yu<x?Ut<x?0:-1:0:-1:Rv<x?sv<x?0:-1:0:-1:U7<x?Bm<x?Bv<x?qg<x?0:-1:0:-1:jg<x?cD<x?0:-1:0:-1:tb<x?h7<x?Ay<x?Wh<x?_7<x?rC<x?hc<x?Uu<x?oC<x?O0<x?0:-1:0:-1:s1<x?HD<x?0:-1:0:-1:Ix<x?rd<x?df<x?tl<x?0:-1:0:-1:Tm<x?B2<x?0:-1:0:-1:Pv<x?Tp<x?e0<x?Xc<x?a_<x?0:-1:0:-1:ly<x?Wp<x?0:-1:0:mp<x?Nv<x?Vh<x?tf<x?0:-1:0:-1:rl<x?aD<x?0:-1:0:-1:Lv<x?d0<x?Gm<x?Xv<x?LE<x?Fg<x?0:-1:0:Zc<x?Zb<x?0:-1:0:E3<x?0:Qg<x?wg<x?0:-1:0:-1:pf<x?Bh<x?Id<x?Ly<x?R_<x?U0<x?0:-1:0:-1:Up<x?G_<x?0:-1:0:-1:k3<x?cy<x?g0<x?U1<x?0:-1:0:-1:qr<x?De<x?0:-1:0:-1:Zt<x?ry<x?Qm<x?gm<x?Ds<x?a8<x?ql<x?wf<x?L2<x?xu<x?jy<x?Rd<x?Rb<x?W3<x?Y0<x?0:-1:0:-1:U_<x?xC<x?0:-1:0:-1:Jm<x?Dm<x?Al<x?Fl<x?0:-1:0:-1:F_<x?Nt<x?0:-1:0:-1:Ff<x?0:y2<x?l1<x?vy<x?gd<x?0:-1:0:-1:Fh<x?Sh<x?0:-1:0:-1:P0<x?W7<x?YE<x?i8<x?dD<x?Vb<x?Y7<x?V0<x?0:-1:0:-1:av<x?W<x?0:-1:0:-1:Vv<x?gC<x?Is<x?cp<x?0:-1:0:-1:Gb<x?RE<x?0:-1:0:-1:y0<x?Ou<x?bo<x?rb<x?E7<x?ZD<x?0:-1:0:-1:Ty<x?by<x?0:-1:0:-1:mh<x?mm<x?Gg<x?I3<x?0:-1:0:-1:li<x?Av<x?0:-1:0:-1:La<x?Uy<x?Cp<x?js<x?q_<x?lD<x&&QD<x?ID<x?0:-1:0:-1:H1<x?c0<x?N_<x?l2<x?0:-1:0:-1:kp<x?Hy<x?0:-1:0:-1:hf<x?fE<x?gb<x?d<x?w3<x?_o<x?0:-1:0:-1:td<x?C1<x?0:-1:0:-1:cE<x?wb<x?0:-1:0:Xg<x?Fv<x?x8<x?0:Bb<x?uC<x?fb<x?0:-1:0:fD<x?nf<x?0:-1:0:-1:J7<x?Kt<x?og<x?V_<x?G<x?Kv<x?0:-1:0:-1:wm<x?Jf<x?0:-1:0:-1:rm<x&&Fb<x?kh<x?0:-1:0:q3<x?$<x?x2<x?Uh<x?BE<x&&X3<x?ts<x?0:-1:0:J3<x?G1<x?qs<x?0:-1:0:Wv<x?N3<x?0:-1:0:0:Hh<x?$m<x?0:Sv<x?_b<x?0:-1:0:g_<x?Rc<x?Ev<x?PC<x?Mr<x?0:-1:0:-1:0:rv<x?0:$d<x?Ur<x?0:-1:0:nx<x?ZE<x?qa<x?0:Eg<x&&JD<x?M2<x?0:-1:0:ip<x?K7<x?0:$c<x?Vm<x?0:-1:0:gt<x&&R7<x?Mf<x?0:-1:0:z7<x?_<x?0:zd<x?bC<x?0:-1:eC<x?L3<x?0:-1:0:Sy<x?wC<x?cl<x?0:-1:0:ng<x?0:zy<x?Pf<x?0:-1:0:-1:Hp<x?lg<x?I1<x?h_<x?Rl<x?ev<x?IE<x?r8<x?PE<x?0:-1:sp<x?D3<x?0:-1:0:fh<x?0:A3<x?Ip<x?0:-1:0:-1:0:p8<x?Hf<x?0:Dv<x?Px<x?Pe<x?kD<x?0:-1:0:-1:0:By<x?wd<x&&$b<x?ny<x?0:-1:0:_E<x?$v<x?iy<x?em<x?0:-1:0:-1:0:Lo<x?sf<x?Zd<x?R0<x?0:v3<x?CC<x?zl<x?iD<x?0:-1:0:-1:0:ig<x?m2<x?rp<x&&gD<x?Ed<x?0:-1:0:-1:bn<x?__<x?0:-1:0:-1:i7<x?Fo<x?nd<x?Y2<x?nC<x?0:Wb<x?cg<x?0:-1:0:-1:Eh<x?wu<x?T_<x?lp<x?0:-1:0:-1:sb<x?ds<x?0:-1:0:-1:vh<x?dv<x?Hx<x?Tv<x?Rp<x?0:-1:0:xi<x?af<x?0:-1:0:-1:0:-1:mE<x?bf<x?Ib<x?r7<x?sh<x?I0<x?Lm<x?qf<x&&_t<x?ep<x?0:-1:0:-1:HE<x&&kC<x?Hg<x?0:-1:0:-1:s2<x?rx<x?AD<x?0:Nf<x?h2<x?0:-1:0:-1:Ah<x?uh<x?Ch<x?hD<x?0:-1:0:-1:Zg<x?q7<x?0:-1:0:-1:_v<x?f3<x?Cv<x?ay<x?Yy<x?hg<x?Md<x?Ro<x?0:-1:0:-1:ND<x?$h<x?0:-1:0:-1:kf<x?Of<x?0:-1:TD<x?nv<x?0:-1:0:-1:R3<x?ch<x?y_<x?WD<x?Js<x?0:-1:0:-1:Ap<x?qb<x?0:-1:0:Mb<x?ht<x?0:-1:0:pl<x?d7<x?Uf<x?nl<x?Km<x?j<x?_d<x?G7<x?xb<x?0:-1:0:-1:D0<x?H7<x?0:-1:0:Vp<x?w_<x?0:-1:a3<x?Sg<x?0:-1:0:-1:zD<x?bE<x&&Yv<x?Ry<x?0:-1:0:oc<x?$i<x?0:-1:XD<x?t3<x?0:-1:0:-1:$e<x?ah<x?Bi<x?d_<x?Pu<x?j2<x?an<x?0:-1:0:z3<x?Yb<x?0:-1:0:-1:zb<x?B_<x?nm<x?eD<x?0:-1:0:-1:ug<x?T7<x?0:-1:0:-1:Z7<x?Yi<x?J_<x?Dd<x?W1<x?Oy<x?0:-1:0:-1:M_<x?Z3<x?0:-1:0:-1:eb<x?im<x?qC<x?Rf<x?0:-1:0:-1:Np<x?Kc<x?0:-1:0:-1:fr(CX1,x+Kd|0)-1|0:-1}return-1},pY=function(i){if(i){var x=i[1];return 87<x?YO<x?-1:fr(m8,x-88|0)-1|0:-1}return-1},dY=function(i){if(i){var x=i[1];return 45<x?57<x?-1:fr(VY1,x+uI|0)-1|0:-1}return-1},zq=function(i){if(i){var x=i[1];return 35<x?C_<x?ha<x?vs<x?-1:ne<x?Mu<x?Nh<x?_D<x?O2<x?a7<x?uy<x?pE<x?Jg<x?0:-1:$D<x?ks<x?0:-1:0:-1:N2<x?up<x?A7<x?A_<x?0:-1:0:-1:e<x?Xf<x?0:-1:0:-1:Ld<x?w1<x?Zo<x?Ov<x?pv<x?mg<x?Xy<x?Cm<x?ob<x?Sd<x?0:-1:0:-1:d2<x?qt<x?0:-1:0:-1:Am<x?$_<x?Bt<x?Pp<x?0:-1:0:-1:Fc<x?_3<x?0:-1:0:-1:yy<x?sn<x?G3<x?jl<x?vd<x?Hb<x?0:-1:0:-1:Gt<x?aC<x?0:-1:0:-1:_e<x?Ac<x?Gv<x?op<x?0:-1:0:-1:Zl<x?Jv<x?0:-1:0:-1:I_<x?Pb<x?gg<x?ih<x?m7<x?P7<x?np<x?bv<x?0:-1:0:-1:Yp<x?Rg<x?0:-1:0:-1:dp<x?V7<x?Kh<x?Xl<x?0:-1:0:-1:oD<x?Jb<x?0:-1:0:-1:Us<x?dd<x?hv<x?Dp<x?jv<x?Zp<x?0:-1:0:-1:bD<x?V3<x?0:-1:0:-1:gv<x?iv<x?oh<x?Ym<x?0:-1:0:-1:Gy<x?p7<x?0:-1:0:-1:fp<x?Ef<x?c7<x?l0<x?Z1<x?Hr<x?Eb<x?Xb<x?OD<x?R2<x?kE<x?Iv<x?0:-1:0:-1:0:Ox<x?Kf<x?gE<x?Va<x?0:-1:0:-1:ge<x?_l<x?0:-1:0:pD<x?vE<x?ky<x?wp<x?0:-1:p3<x?Ih<x?0:-1:0:-1:MD<x?OC<x?0:-1:KC<x?r3<x?0:-1:0:-1:I2<x?lo<x?Re<x?yC<x?ME<x?db<x?fg<x?Wy<x?0:-1:0:-1:XE<x?xd<x?0:-1:0:-1:Wa<x?yc<x?S3<x?Kl<x?0:-1:0:-1:Fy<x?xc<x?0:-1:0:-1:ka<x?Kp<x?uE<x?Lg<x?_C<x?OE<x?0:-1:0:-1:v2<x?Hm<x?0:-1:0:-1:Wx<x?ff<x?Tb<x?Fm<x?0:-1:0:-1:b3<x?k7<x?0:-1:0:-1:d3<x?Ad<x?P3<x?Yd<x?eu<x?l7<x?Mt<x?v1<x?Cg<x?Xm<x?0:-1:0:-1:zf<x?mD<x?0:-1:0:-1:Mv<x?tt<x?Pm<x?ld<x?0:-1:0:-1:$3<x?zp<x?0:-1:0:-1:qx<x?n3<x?YD<x?uD<x?I7<x?fl<x?0:-1:0:-1:al<x?j_<x?0:-1:0:-1:Cc<x?N1<x?O_<x?B7<x?0:-1:0:-1:pd<x?dm<x?0:-1:0:-1:N0<x?Xh<x?dh<x?dg<x?b0<x?bp<x?Nl<x?Ph<x?0:-1:0:-1:M3<x?lb<x?0:-1:0:-1:rc<x?ec<x?P_<x?Ud<x?0:-1:0:-1:fv<x?K_<x?0:-1:0:-1:Om<x?Ag<x?rf<x?O3<x?Fn<x?bt<x?0:-1:0:-1:U<x?j7<x?0:-1:0:-1:DC<x?ed<x?Im<x?i3<x?0:-1:0:-1:0:-1:kv<x?Hd<x?Jy<x?Za<x?wD<x?E1<x?ag<x?xh<x?Hv<x?vv<x?l3<x?0:-1:0:-1:H3<x?co<x?0:-1:0:-1:LD<x?ex<x?qy<x?nD<x?0:-1:0:-1:ED<x?Pa<x?0:-1:0:-1:sD<x?th<x?hh<x?L_<x?h3<x?Cy<x?0:-1:0:-1:w7<x?Ey<x?0:-1:0:-1:H2<x?eh<x?xv<x?0:-1:0:u2<x?C<x?0:-1:0:P<x?Kg<x?wl<x?b_<x?cc<x?W_<x?0:-1:Tg<x?i_<x?0:-1:0:-1:Sb<x?tv<x?s7<x?Ku<x?0:-1:0:-1:nb<x?Cf<x?0:-1:0:-1:aE<x?Gr<x?hE<x?O<x?0:-1:Uc<x?Qv<x?0:-1:0:-1:Un<x?T3<x?X_<x?BC<x?0:-1:0:-1:p2<x?dy<x?0:-1:0:-1:Jr<x?uv<x?Gc<x?mo<x?Q3<x?vD<x?yv<x?Qd<x?e7<x?Jh<x?0:-1:0:-1:u7<x?b2<x?0:-1:0:-1:BD<x?0:oE<x?bg<x?0:-1:0:-1:B3<x?0:sE<x?G2<x?pa<x?o7<x?0:-1:0:-1:0:-1:r_<x?$y<x?U3<x?X7<x?C7<x?wh<x?L7<x?0:-1:0:-1:Zy<x?t8<x?0:-1:0:LC<x?jp<x?0:-1:F3<x?lE<x?0:-1:0:-1:UD<x?uc<x?tm<x?C0<x?0:-1:G0<x?rD<x?0:-1:0:-1:0:Qb<x?N7<x?D2<x?Se<x?D_<x?_g<x?MC<x?hy<x?ub<x?ph<x?$7<x?yE<x?0:-1:S0<x?Dh<x?0:-1:0:-1:Ko<x&&kg<x?o0<x?0:-1:0:FD<x?_y<x?c3<x&&EC<x?ho<x?0:-1:0:-1:Xp<x?Bp<x?_u<x?GD<x?0:-1:0:-1:Q2<x?g7<x?0:-1:0:Y_<x?NE<x?n8<x||Fd<x?0:SE<x?Y3<x?0:-1:0:-1:rs<x||Pc<x?0:SC<x?Bd<x?0:-1:0:D7<x?Em<x?Ju<x?QE<x?zm<x&&sy<x?mb<x?0:-1:0:m_<x&&g3<x?Gf<x?0:-1:0:-1:CD<x?Mg<x?Yg<x?If<x?_c<x?Uv<x?0:-1:0:-1:0:-1:0:Mc<x?wy<x?CE<x?EE<x?vp<x?D<x?Ub<x?0:-1:0:-1:0:NC<x?0:e3<x?m3<x?0:-1:0:-1:j3<x&&v7<x&&cv<x?FC<x?0:-1:0:Gh<x?Mm<x?fi<x?SD<x?FE<x?ri<x?DD<x?qD<x?0:-1:mf<x?Ep<x?0:-1:0:-1:0:Nc<x?Wg<x?0:My<x?ib<x?0:-1:0:UC<x&&p1<x?C2<x?0:-1:0:GE<x?pm<x?o2<x?Dg<x&&S7<x?zg<x?0:-1:0:-1:Tt<x?y7<x?cb<x?M7<x?0:-1:0:-1:0:0:-1:qv<x?WC<x?am<x?_m<x?Op<x?x_<x?0:-1:lv<x?ze<x?0:-1:0:0:x7<x?Oh<x?H_<x?0:$a<x?Z2<x?0:-1:0:-1:py<x?Iy<x?bd<x?0:-1:0:v_<x?Ne<x?0:-1:0:-1:yo<x?Yh<x?xm<x?fy<x?o1<x?Hi<x?my<x?0:-1:0:-1:md<x?ol<x?0:-1:0:0:-1:_1<x?za<x?xl<x?ws<x?f7<x?Iu<x?0:-1:0:-1:n_<x?ym<x?0:-1:0:-1:Il<x?z_<x?Bo<x?xf<x?0:-1:0:-1:0:-1:vm<x?Ii<x?ce<x?Q7<x?bh<x?x3<x?E2<x?M<x&&tD<x?AE<x?0:-1:0:pg<x?Su<x?qm<x?t_<x?0:-1:0:-1:S_<x?jd<x?0:-1:0:-1:AC<x?wE<x?Zr<x?Td<x?t7<x?0:-1:0:-1:lh<x?JE<x?0:-1:0:0:yl<x?Q_<x?jf<x?X2<x?Wm<x?0:-1:Kb<x?_i<x?0:-1:0:-1:K0<x?jC<x?0:-1:Mn<x?C3<x?0:-1:0:oy<x?0:Zv<x?hb<x?0:-1:RC<x?qh<x?0:-1:0:$f<x?gy<x?xD<x?dC<x?Xd<x?Z<x?Jl<x?0:-1:0:$C<x?Ss<x?0:-1:0:-1:0:Xo<x?pp<x?Bs<x?e8<x?TC<x?0:-1:0:-1:Ug<x?bm<x?0:-1:0:0:Hu<x?zC<x?om<x?y3<x?VD<x?0:-1:TE<x?Lf<x?0:-1:0:0:-1:F7<x?mv<x?b7<x?ov<x?Xn<x?0:-1:0:Lb<x?Ky<x?0:-1:0:-1:dE<x?K3<x?H<x?kb<x?0:-1:0:-1:0:-1:Vf<x?Cd<x?zv<x?hl<x?hm<x?Qp<x?sC<x?f0<x?yD<x?Th<x?Qy<x?0:-1:0:-1:vg<x?E_<x?0:-1:0:-1:Sm<x?Zm<x?n7<x?k_<x?0:-1:0:-1:ot<x?PD<x?0:-1:0:B0<x?e_<x?iC<x?Nb<x?Ob<x?ab<x?0:-1:0:-1:Ws<x?pb<x?0:-1:0:-1:tC<x?wv<x?P2<x?DE<x?0:-1:0:-1:Mo<x?Vg<x?0:-1:0:-1:Wl<x?Gd<x?Sl<x?O7<x?mu<x?0:-1:IC<x?A0<x?0:-1:0:c2<x?jb<x?Yl<x?b1<x?0:-1:0:-1:Dy<x?oi<x?0:-1:0:-1:zh<x?Te<x?of<x?Vy<x?Yu<x?Ut<x?0:-1:0:-1:Rv<x?sv<x?0:-1:0:-1:U7<x?Bm<x?Bv<x?qg<x?0:-1:0:-1:jg<x?cD<x?0:-1:0:-1:tb<x?h7<x?Ay<x?Wh<x?_7<x?rC<x?hc<x?Uu<x?oC<x?O0<x?0:-1:0:-1:s1<x?HD<x?0:-1:0:-1:Ix<x?rd<x?df<x?tl<x?0:-1:0:-1:Tm<x?B2<x?0:-1:0:-1:Pv<x?Tp<x?e0<x?Xc<x?a_<x?0:-1:0:-1:ly<x?Wp<x?0:-1:0:mp<x?Nv<x?Vh<x?tf<x?0:-1:0:-1:rl<x?aD<x?0:-1:0:-1:Lv<x?d0<x?Gm<x?Xv<x?LE<x?Fg<x?0:-1:0:Zc<x?Zb<x?0:-1:0:E3<x?0:Qg<x?wg<x?0:-1:0:-1:pf<x?Bh<x?Id<x?Ly<x?R_<x?U0<x?0:-1:0:-1:Up<x?G_<x?0:-1:0:-1:k3<x?cy<x?g0<x?U1<x?0:-1:0:-1:qr<x?De<x?0:-1:0:-1:Zt<x?ry<x?Qm<x?gm<x?Ds<x?a8<x?ql<x?wf<x?L2<x?xu<x?jy<x?Rd<x?Rb<x?W3<x?Y0<x?0:-1:0:-1:U_<x?xC<x?0:-1:0:-1:Jm<x?Dm<x?Al<x?Fl<x?0:-1:0:-1:F_<x?Nt<x?0:-1:0:-1:Ff<x?0:y2<x?l1<x?vy<x?gd<x?0:-1:0:-1:Fh<x?Sh<x?0:-1:0:-1:P0<x?W7<x?YE<x?i8<x?dD<x?Vb<x?Y7<x?V0<x?0:-1:0:-1:av<x?W<x?0:-1:0:-1:Vv<x?gC<x?Is<x?cp<x?0:-1:0:-1:Gb<x?RE<x?0:-1:0:-1:y0<x?Ou<x?bo<x?rb<x?E7<x?ZD<x?0:-1:0:-1:Ty<x?by<x?0:-1:0:-1:mh<x?mm<x?Gg<x?I3<x?0:-1:0:-1:li<x?Av<x?0:-1:0:-1:La<x?Uy<x?Cp<x?js<x?q_<x?lD<x&&QD<x?ID<x?0:-1:0:-1:H1<x?c0<x?N_<x?l2<x?0:-1:0:-1:kp<x?Hy<x?0:-1:0:-1:hf<x?fE<x?gb<x?d<x?w3<x?_o<x?0:-1:0:-1:td<x?C1<x?0:-1:0:-1:cE<x?wb<x?0:-1:0:Xg<x?Fv<x?x8<x?0:Bb<x?uC<x?fb<x?0:-1:0:fD<x?nf<x?0:-1:0:-1:J7<x?Kt<x?og<x?V_<x?G<x?Kv<x?0:-1:0:-1:wm<x?Jf<x?0:-1:0:-1:rm<x&&Fb<x?kh<x?0:-1:0:q3<x?$<x?x2<x?Uh<x?BE<x&&X3<x?ts<x?0:-1:0:J3<x?G1<x?qs<x?0:-1:0:Wv<x?N3<x?0:-1:0:0:Hh<x?$m<x?0:Sv<x?_b<x?0:-1:0:g_<x?Rc<x?Ev<x?PC<x?Mr<x?0:-1:0:-1:0:rv<x?0:$d<x?Ur<x?0:-1:0:nx<x?ZE<x?qa<x?0:Eg<x&&JD<x?M2<x?0:-1:0:ip<x?K7<x?0:$c<x?Vm<x?0:-1:0:gt<x&&R7<x?Mf<x?0:-1:0:z7<x?_<x?0:zd<x?bC<x?0:-1:eC<x?L3<x?0:-1:0:Sy<x?wC<x?cl<x?0:-1:0:ng<x?0:zy<x?Pf<x?0:-1:0:-1:Hp<x?lg<x?I1<x?h_<x?Rl<x?ev<x?IE<x?r8<x?PE<x?0:-1:sp<x?D3<x?0:-1:0:fh<x?0:A3<x?Ip<x?0:-1:0:-1:0:p8<x?Hf<x?0:Dv<x?Px<x?Pe<x?kD<x?0:-1:0:-1:0:By<x?wd<x&&$b<x?ny<x?0:-1:0:_E<x?$v<x?iy<x?em<x?0:-1:0:-1:0:Lo<x?sf<x?Zd<x?R0<x?0:v3<x?CC<x?zl<x?iD<x?0:-1:0:-1:0:ig<x?m2<x?rp<x&&gD<x?Ed<x?0:-1:0:-1:bn<x?__<x?0:-1:0:-1:i7<x?Fo<x?nd<x?Y2<x?nC<x?0:Wb<x?cg<x?0:-1:0:-1:Eh<x?wu<x?T_<x?lp<x?0:-1:0:-1:sb<x?ds<x?0:-1:0:-1:vh<x?dv<x?Hx<x?Tv<x?Rp<x?0:-1:0:xi<x?af<x?0:-1:0:-1:0:-1:mE<x?bf<x?Ib<x?r7<x?sh<x?I0<x?Lm<x?qf<x&&_t<x?ep<x?0:-1:0:-1:HE<x&&kC<x?Hg<x?0:-1:0:-1:s2<x?rx<x?AD<x?0:Nf<x?h2<x?0:-1:0:-1:Ah<x?uh<x?Ch<x?hD<x?0:-1:0:-1:Zg<x?q7<x?0:-1:0:-1:_v<x?f3<x?Cv<x?ay<x?Yy<x?hg<x?Md<x?Ro<x?0:-1:0:-1:ND<x?$h<x?0:-1:0:-1:kf<x?Of<x?0:-1:TD<x?nv<x?0:-1:0:-1:R3<x?ch<x?y_<x?WD<x?Js<x?0:-1:0:-1:Ap<x?qb<x?0:-1:0:Mb<x?ht<x?0:-1:0:pl<x?d7<x?Uf<x?nl<x?Km<x?j<x?_d<x?G7<x?xb<x?0:-1:0:-1:D0<x?H7<x?0:-1:0:Vp<x?w_<x?0:-1:a3<x?Sg<x?0:-1:0:-1:zD<x?bE<x&&Yv<x?Ry<x?0:-1:0:oc<x?$i<x?0:-1:XD<x?t3<x?0:-1:0:-1:$e<x?ah<x?Bi<x?d_<x?Pu<x?j2<x?an<x?0:-1:0:z3<x?Yb<x?0:-1:0:-1:zb<x?B_<x?nm<x?eD<x?0:-1:0:-1:ug<x?T7<x?0:-1:0:-1:Z7<x?Yi<x?J_<x?Dd<x?W1<x?Oy<x?0:-1:0:-1:M_<x?Z3<x?0:-1:0:-1:eb<x?im<x?qC<x?Rf<x?0:-1:0:-1:Np<x?Kc<x?0:-1:0:-1:fr(EX1,x+Kd|0)-1|0:-1}return-1},zd0=function(i){if(i){var x=i[1];return 35<x?$u<x?-1:fr(RG1,x+Kd|0)-1|0:-1}return-1},_h=function(i){if(i){var x=i[1];return 35<x?C_<x?ha<x?vs<x?-1:ne<x?Mu<x?Nh<x?_D<x?O2<x?a7<x?uy<x?pE<x?Jg<x?0:-1:$D<x?ks<x?0:-1:0:-1:N2<x?up<x?A7<x?A_<x?0:-1:0:-1:e<x?Xf<x?0:-1:0:-1:Ld<x?w1<x?Zo<x?Ov<x?pv<x?mg<x?Xy<x?Cm<x?ob<x?Sd<x?0:-1:0:-1:d2<x?qt<x?0:-1:0:-1:Am<x?$_<x?Bt<x?Pp<x?0:-1:0:-1:Fc<x?_3<x?0:-1:0:-1:yy<x?sn<x?G3<x?jl<x?vd<x?Hb<x?0:-1:0:-1:Gt<x?aC<x?0:-1:0:-1:_e<x?Ac<x?Gv<x?op<x?0:-1:0:-1:Zl<x?Jv<x?0:-1:0:-1:I_<x?Pb<x?gg<x?ih<x?m7<x?P7<x?np<x?bv<x?0:-1:0:-1:Yp<x?Rg<x?0:-1:0:-1:dp<x?V7<x?Kh<x?Xl<x?0:-1:0:-1:oD<x?Jb<x?0:-1:0:-1:Us<x?dd<x?hv<x?Dp<x?jv<x?Zp<x?0:-1:0:-1:bD<x?V3<x?0:-1:0:-1:gv<x?iv<x?oh<x?Ym<x?0:-1:0:-1:Gy<x?p7<x?0:-1:0:-1:fp<x?Ef<x?c7<x?l0<x?Z1<x?Hr<x?Eb<x?Xb<x?OD<x?R2<x?kE<x?Iv<x?0:-1:0:-1:0:Ox<x?Kf<x?gE<x?Va<x?0:-1:0:-1:ge<x?_l<x?0:-1:0:pD<x?vE<x?ky<x?wp<x?0:-1:p3<x?Ih<x?0:-1:0:-1:MD<x?OC<x?0:-1:KC<x?r3<x?0:-1:0:-1:I2<x?lo<x?Re<x?yC<x?ME<x?db<x?fg<x?Wy<x?0:-1:0:-1:XE<x?xd<x?0:-1:0:-1:Wa<x?yc<x?S3<x?Kl<x?0:-1:0:-1:Fy<x?xc<x?0:-1:0:-1:ka<x?Kp<x?uE<x?Lg<x?_C<x?OE<x?0:-1:0:-1:v2<x?Hm<x?0:-1:0:-1:Wx<x?ff<x?Tb<x?Fm<x?0:-1:0:-1:b3<x?k7<x?0:-1:0:-1:d3<x?Ad<x?P3<x?Yd<x?eu<x?l7<x?Mt<x?v1<x?Cg<x?Xm<x?0:-1:0:-1:zf<x?mD<x?0:-1:0:-1:Mv<x?tt<x?Pm<x?ld<x?0:-1:0:-1:$3<x?zp<x?0:-1:0:-1:qx<x?n3<x?YD<x?uD<x?I7<x?fl<x?0:-1:0:-1:al<x?j_<x?0:-1:0:-1:Cc<x?N1<x?O_<x?B7<x?0:-1:0:-1:pd<x?dm<x?0:-1:0:-1:N0<x?Xh<x?dh<x?dg<x?b0<x?bp<x?Nl<x?Ph<x?0:-1:0:-1:M3<x?lb<x?0:-1:0:-1:rc<x?ec<x?P_<x?Ud<x?0:-1:0:-1:fv<x?K_<x?0:-1:0:-1:Om<x?Ag<x?rf<x?O3<x?Fn<x?bt<x?0:-1:0:-1:U<x?j7<x?0:-1:0:-1:DC<x?ed<x?Im<x?i3<x?0:-1:0:-1:0:-1:kv<x?Hd<x?Jy<x?Za<x?wD<x?E1<x?ag<x?xh<x?Hv<x?vv<x?l3<x?0:-1:0:-1:H3<x?co<x?0:-1:0:-1:LD<x?ex<x?qy<x?nD<x?0:-1:0:-1:ED<x?Pa<x?0:-1:0:-1:sD<x?th<x?hh<x?L_<x?h3<x?Cy<x?0:-1:0:-1:w7<x?Ey<x?0:-1:0:-1:H2<x?eh<x?xv<x?0:-1:0:u2<x?C<x?0:-1:0:P<x?Kg<x?wl<x?b_<x?cc<x?W_<x?0:-1:Tg<x?i_<x?0:-1:0:-1:Sb<x?tv<x?s7<x?Ku<x?0:-1:0:-1:nb<x?Cf<x?0:-1:0:-1:aE<x?Gr<x?hE<x?O<x?0:-1:Uc<x?Qv<x?0:-1:0:-1:Un<x?T3<x?X_<x?BC<x?0:-1:0:-1:p2<x?dy<x?0:-1:0:-1:Jr<x?uv<x?Gc<x?mo<x?Q3<x?vD<x?yv<x?Qd<x?e7<x?Jh<x?0:-1:0:-1:u7<x?b2<x?0:-1:0:-1:BD<x?0:oE<x?bg<x?0:-1:0:-1:B3<x?0:sE<x?G2<x?pa<x?o7<x?0:-1:0:-1:0:-1:r_<x?$y<x?U3<x?X7<x?C7<x?wh<x?L7<x?0:-1:0:-1:Zy<x?t8<x?0:-1:0:LC<x?jp<x?0:-1:F3<x?lE<x?0:-1:0:-1:UD<x?uc<x?tm<x?C0<x?0:-1:G0<x?rD<x?0:-1:0:-1:0:Qb<x?N7<x?D2<x?Se<x?D_<x?_g<x?MC<x?hy<x?ub<x?ph<x?$7<x?yE<x?0:-1:S0<x?Dh<x?0:-1:0:-1:Ko<x&&kg<x?o0<x?0:-1:0:FD<x?_y<x?c3<x&&EC<x?ho<x?0:-1:0:-1:Xp<x?Bp<x?_u<x?GD<x?0:-1:0:-1:Q2<x?g7<x?0:-1:0:Y_<x?NE<x?n8<x||Fd<x?0:SE<x?Y3<x?0:-1:0:-1:rs<x||Pc<x?0:SC<x?Bd<x?0:-1:0:D7<x?Em<x?Ju<x?QE<x?zm<x&&sy<x?mb<x?0:-1:0:m_<x&&g3<x?Gf<x?0:-1:0:-1:CD<x?Mg<x?Yg<x?If<x?_c<x?Uv<x?0:-1:0:-1:0:-1:0:Mc<x?wy<x?CE<x?EE<x?vp<x?D<x?Ub<x?0:-1:0:-1:0:NC<x?0:e3<x?m3<x?0:-1:0:-1:j3<x&&v7<x&&cv<x?FC<x?0:-1:0:Gh<x?Mm<x?fi<x?SD<x?FE<x?ri<x?DD<x?qD<x?0:-1:mf<x?Ep<x?0:-1:0:-1:0:Nc<x?Wg<x?0:My<x?ib<x?0:-1:0:UC<x&&p1<x?C2<x?0:-1:0:GE<x?pm<x?o2<x?Dg<x&&S7<x?zg<x?0:-1:0:-1:Tt<x?y7<x?cb<x?M7<x?0:-1:0:-1:0:0:-1:qv<x?WC<x?am<x?_m<x?Op<x?x_<x?0:-1:lv<x?ze<x?0:-1:0:0:x7<x?Oh<x?H_<x?0:$a<x?Z2<x?0:-1:0:-1:py<x?Iy<x?bd<x?0:-1:0:v_<x?Ne<x?0:-1:0:-1:yo<x?Yh<x?xm<x?fy<x?o1<x?Hi<x?my<x?0:-1:0:-1:md<x?ol<x?0:-1:0:0:-1:_1<x?za<x?xl<x?ws<x?f7<x?Iu<x?0:-1:0:-1:n_<x?ym<x?0:-1:0:-1:Il<x?z_<x?Bo<x?xf<x?0:-1:0:-1:0:-1:vm<x?Ii<x?ce<x?Q7<x?bh<x?x3<x?E2<x?M<x&&tD<x?AE<x?0:-1:0:pg<x?Su<x?qm<x?t_<x?0:-1:0:-1:S_<x?jd<x?0:-1:0:-1:AC<x?wE<x?Zr<x?Td<x?t7<x?0:-1:0:-1:lh<x?JE<x?0:-1:0:0:yl<x?Q_<x?jf<x?X2<x?Wm<x?0:-1:Kb<x?_i<x?0:-1:0:-1:K0<x?jC<x?0:-1:Mn<x?C3<x?0:-1:0:oy<x?0:Zv<x?hb<x?0:-1:RC<x?qh<x?0:-1:0:$f<x?gy<x?xD<x?dC<x?Xd<x?Z<x?Jl<x?0:-1:0:$C<x?Ss<x?0:-1:0:-1:0:Xo<x?pp<x?Bs<x?e8<x?TC<x?0:-1:0:-1:Ug<x?bm<x?0:-1:0:0:Hu<x?zC<x?om<x?y3<x?VD<x?0:-1:TE<x?Lf<x?0:-1:0:0:-1:F7<x?mv<x?b7<x?ov<x?Xn<x?0:-1:0:Lb<x?Ky<x?0:-1:0:-1:dE<x?K3<x?H<x?kb<x?0:-1:0:-1:0:-1:Vf<x?Cd<x?zv<x?hl<x?hm<x?Qp<x?sC<x?f0<x?yD<x?Th<x?Qy<x?0:-1:0:-1:vg<x?E_<x?0:-1:0:-1:Sm<x?Zm<x?n7<x?k_<x?0:-1:0:-1:ot<x?PD<x?0:-1:0:B0<x?e_<x?iC<x?Nb<x?Ob<x?ab<x?0:-1:0:-1:Ws<x?pb<x?0:-1:0:-1:tC<x?wv<x?P2<x?DE<x?0:-1:0:-1:Mo<x?Vg<x?0:-1:0:-1:Wl<x?Gd<x?Sl<x?O7<x?mu<x?0:-1:IC<x?A0<x?0:-1:0:c2<x?jb<x?Yl<x?b1<x?0:-1:0:-1:Dy<x?oi<x?0:-1:0:-1:zh<x?Te<x?of<x?Vy<x?Yu<x?Ut<x?0:-1:0:-1:Rv<x?sv<x?0:-1:0:-1:U7<x?Bm<x?Bv<x?qg<x?0:-1:0:-1:jg<x?cD<x?0:-1:0:-1:tb<x?h7<x?Ay<x?Wh<x?_7<x?rC<x?hc<x?Uu<x?oC<x?O0<x?0:-1:0:-1:s1<x?HD<x?0:-1:0:-1:Ix<x?rd<x?df<x?tl<x?0:-1:0:-1:Tm<x?B2<x?0:-1:0:-1:Pv<x?Tp<x?e0<x?Xc<x?a_<x?0:-1:0:-1:ly<x?Wp<x?0:-1:0:mp<x?Nv<x?Vh<x?tf<x?0:-1:0:-1:rl<x?aD<x?0:-1:0:-1:Lv<x?d0<x?Gm<x?Xv<x?LE<x?Fg<x?0:-1:0:Zc<x?Zb<x?0:-1:0:E3<x?0:Qg<x?wg<x?0:-1:0:-1:pf<x?Bh<x?Id<x?Ly<x?R_<x?U0<x?0:-1:0:-1:Up<x?G_<x?0:-1:0:-1:k3<x?cy<x?g0<x?U1<x?0:-1:0:-1:qr<x?De<x?0:-1:0:-1:Zt<x?ry<x?Qm<x?gm<x?Ds<x?a8<x?ql<x?wf<x?L2<x?xu<x?jy<x?Rd<x?Rb<x?W3<x?Y0<x?0:-1:0:-1:U_<x?xC<x?0:-1:0:-1:Jm<x?Dm<x?Al<x?Fl<x?0:-1:0:-1:F_<x?Nt<x?0:-1:0:-1:Ff<x?0:y2<x?l1<x?vy<x?gd<x?0:-1:0:-1:Fh<x?Sh<x?0:-1:0:-1:P0<x?W7<x?YE<x?i8<x?dD<x?Vb<x?Y7<x?V0<x?0:-1:0:-1:av<x?W<x?0:-1:0:-1:Vv<x?gC<x?Is<x?cp<x?0:-1:0:-1:Gb<x?RE<x?0:-1:0:-1:y0<x?Ou<x?bo<x?rb<x?E7<x?ZD<x?0:-1:0:-1:Ty<x?by<x?0:-1:0:-1:mh<x?mm<x?Gg<x?I3<x?0:-1:0:-1:li<x?Av<x?0:-1:0:-1:La<x?Uy<x?Cp<x?js<x?q_<x?lD<x&&QD<x?ID<x?0:-1:0:-1:H1<x?c0<x?N_<x?l2<x?0:-1:0:-1:kp<x?Hy<x?0:-1:0:-1:hf<x?fE<x?gb<x?d<x?w3<x?_o<x?0:-1:0:-1:td<x?C1<x?0:-1:0:-1:cE<x?wb<x?0:-1:0:Xg<x?Fv<x?x8<x?0:Bb<x?uC<x?fb<x?0:-1:0:fD<x?nf<x?0:-1:0:-1:J7<x?Kt<x?og<x?V_<x?G<x?Kv<x?0:-1:0:-1:wm<x?Jf<x?0:-1:0:-1:rm<x&&Fb<x?kh<x?0:-1:0:q3<x?$<x?x2<x?Uh<x?BE<x&&X3<x?ts<x?0:-1:0:J3<x?G1<x?qs<x?0:-1:0:Wv<x?N3<x?0:-1:0:0:Hh<x?$m<x?0:Sv<x?_b<x?0:-1:0:g_<x?Rc<x?Ev<x?PC<x?Mr<x?0:-1:0:-1:0:rv<x?0:$d<x?Ur<x?0:-1:0:nx<x?ZE<x?qa<x?0:Eg<x&&JD<x?M2<x?0:-1:0:ip<x?K7<x?0:$c<x?Vm<x?0:-1:0:gt<x&&R7<x?Mf<x?0:-1:0:z7<x?_<x?0:zd<x?bC<x?0:-1:eC<x?L3<x?0:-1:0:Sy<x?wC<x?cl<x?0:-1:0:ng<x?0:zy<x?Pf<x?0:-1:0:-1:Hp<x?lg<x?I1<x?h_<x?Rl<x?ev<x?IE<x?r8<x?PE<x?0:-1:sp<x?D3<x?0:-1:0:fh<x?0:A3<x?Ip<x?0:-1:0:-1:0:p8<x?Hf<x?0:Dv<x?Px<x?Pe<x?kD<x?0:-1:0:-1:0:By<x?wd<x&&$b<x?ny<x?0:-1:0:_E<x?$v<x?iy<x?em<x?0:-1:0:-1:0:Lo<x?sf<x?Zd<x?R0<x?0:v3<x?CC<x?zl<x?iD<x?0:-1:0:-1:0:ig<x?m2<x?rp<x&&gD<x?Ed<x?0:-1:0:-1:bn<x?__<x?0:-1:0:-1:i7<x?Fo<x?nd<x?Y2<x?nC<x?0:Wb<x?cg<x?0:-1:0:-1:Eh<x?wu<x?T_<x?lp<x?0:-1:0:-1:sb<x?ds<x?0:-1:0:-1:vh<x?dv<x?Hx<x?Tv<x?Rp<x?0:-1:0:xi<x?af<x?0:-1:0:-1:0:-1:mE<x?bf<x?Ib<x?r7<x?sh<x?I0<x?Lm<x?qf<x&&_t<x?ep<x?0:-1:0:-1:HE<x&&kC<x?Hg<x?0:-1:0:-1:s2<x?rx<x?AD<x?0:Nf<x?h2<x?0:-1:0:-1:Ah<x?uh<x?Ch<x?hD<x?0:-1:0:-1:Zg<x?q7<x?0:-1:0:-1:_v<x?f3<x?Cv<x?ay<x?Yy<x?hg<x?Md<x?Ro<x?0:-1:0:-1:ND<x?$h<x?0:-1:0:-1:kf<x?Of<x?0:-1:TD<x?nv<x?0:-1:0:-1:R3<x?ch<x?y_<x?WD<x?Js<x?0:-1:0:-1:Ap<x?qb<x?0:-1:0:Mb<x?ht<x?0:-1:0:pl<x?d7<x?Uf<x?nl<x?Km<x?j<x?_d<x?G7<x?xb<x?0:-1:0:-1:D0<x?H7<x?0:-1:0:Vp<x?w_<x?0:-1:a3<x?Sg<x?0:-1:0:-1:zD<x?bE<x&&Yv<x?Ry<x?0:-1:0:oc<x?$i<x?0:-1:XD<x?t3<x?0:-1:0:-1:$e<x?ah<x?Bi<x?d_<x?Pu<x?j2<x?an<x?0:-1:0:z3<x?Yb<x?0:-1:0:-1:zb<x?B_<x?nm<x?eD<x?0:-1:0:-1:ug<x?T7<x?0:-1:0:-1:Z7<x?Yi<x?J_<x?Dd<x?W1<x?Oy<x?0:-1:0:-1:M_<x?Z3<x?0:-1:0:-1:eb<x?im<x?qC<x?Rf<x?0:-1:0:-1:Np<x?Kc<x?0:-1:0:-1:fr(SX1,x+Kd|0)-1|0:-1}return-1},jU=function(i){if(i){var x=i[1];return 47<x?Ho<x?-1:fr(NY1,x+VC|0)-1|0:-1}return-1},Kz=function(i){if(i){var x=i[1];return 35<x?$u<x?-1:fr(jG1,x+Kd|0)-1|0:-1}return-1},BK=function(i){if(i){var x=i[1];return 8<x?AR<x?R4<x?cN<x?-1:RN<x?HN<x?0:-1:gP<x?b9<x?h0<x?KN<x?0:-1:0:-1:xI<x?kA<x?0:-1:0:-1:fr(EG1,x-9|0)-1|0:-1}return-1},mY=function(i){if(i){var x=i[1];return 45<x?Uk<x?-1:fr(NG1,x+uI|0)-1|0:-1}return-1},Wd0=function(i){if(i){var x=i[1];return 35<x?$u<x?-1:fr(UG1,x+Kd|0)-1|0:-1}return-1},hY=function(i){if(i){var x=i[1];return 47<x?95<x?-1:fr(fY1,x+VC|0)-1|0:-1}return-1},gY=function(i){if(i){var x=i[1];return 47<x?ef<x?-1:fr(WY1,x+VC|0)-1|0:-1}return-1},_Y=function(i){if(i){var x=i[1];return 47<x?ef<x?-1:fr(BY1,x+VC|0)-1|0:-1}return-1},yY=function(i){if(i){var x=i[1];return 35<x?$u<x?-1:fr(VG1,x+Kd|0)-1|0:-1}return-1},DY=function(i){if(i){var x=i[1];return 8<x?AR<x?R4<x?cN<x?-1:RN<x?HN<x?0:-1:gP<x?b9<x?h0<x?KN<x?0:-1:0:-1:xI<x?kA<x?0:-1:0:-1:fr(SG1,x-9|0)-1|0:-1}return-1},vY=function(i){if(i){var x=i[1];return 44<x?57<x?-1:fr(gY1,x+Fr|0)-1|0:-1}return-1},PP=function(i){if(i){var x=i[1];return 35<x?C_<x?ha<x?vs<x?-1:ne<x?Mu<x?Nh<x?_D<x?O2<x?a7<x?uy<x?pE<x?Jg<x?0:-1:$D<x?ks<x?0:-1:0:-1:N2<x?up<x?A7<x?A_<x?0:-1:0:-1:e<x?Xf<x?0:-1:0:-1:Ld<x?w1<x?Zo<x?Ov<x?pv<x?mg<x?Xy<x?Cm<x?ob<x?Sd<x?0:-1:0:-1:d2<x?qt<x?0:-1:0:-1:Am<x?$_<x?Bt<x?Pp<x?0:-1:0:-1:Fc<x?_3<x?0:-1:0:-1:yy<x?sn<x?G3<x?jl<x?vd<x?Hb<x?0:-1:0:-1:Gt<x?aC<x?0:-1:0:-1:_e<x?Ac<x?Gv<x?op<x?0:-1:0:-1:Zl<x?Jv<x?0:-1:0:-1:I_<x?Pb<x?gg<x?ih<x?m7<x?P7<x?np<x?bv<x?0:-1:0:-1:Yp<x?Rg<x?0:-1:0:-1:dp<x?V7<x?Kh<x?Xl<x?0:-1:0:-1:oD<x?Jb<x?0:-1:0:-1:Us<x?dd<x?hv<x?Dp<x?jv<x?Zp<x?0:-1:0:-1:bD<x?V3<x?0:-1:0:-1:gv<x?iv<x?oh<x?Ym<x?0:-1:0:-1:Gy<x?p7<x?0:-1:0:-1:fp<x?Ef<x?c7<x?l0<x?Z1<x?Hr<x?Eb<x?Xb<x?OD<x?R2<x?kE<x?Iv<x?0:-1:0:-1:0:Ox<x?Kf<x?gE<x?Va<x?0:-1:0:-1:ge<x?_l<x?0:-1:0:pD<x?vE<x?ky<x?wp<x?0:-1:p3<x?Ih<x?0:-1:0:-1:MD<x?OC<x?0:-1:KC<x?r3<x?0:-1:0:-1:I2<x?lo<x?Re<x?yC<x?ME<x?db<x?fg<x?Wy<x?0:-1:0:-1:XE<x?xd<x?0:-1:0:-1:Wa<x?yc<x?S3<x?Kl<x?0:-1:0:-1:Fy<x?xc<x?0:-1:0:-1:ka<x?Kp<x?uE<x?Lg<x?_C<x?OE<x?0:-1:0:-1:v2<x?Hm<x?0:-1:0:-1:Wx<x?ff<x?Tb<x?Fm<x?0:-1:0:-1:b3<x?k7<x?0:-1:0:-1:d3<x?Ad<x?P3<x?Yd<x?eu<x?l7<x?Mt<x?v1<x?Cg<x?Xm<x?0:-1:0:-1:zf<x?mD<x?0:-1:0:-1:Mv<x?tt<x?Pm<x?ld<x?0:-1:0:-1:$3<x?zp<x?0:-1:0:-1:qx<x?n3<x?YD<x?uD<x?I7<x?fl<x?0:-1:0:-1:al<x?j_<x?0:-1:0:-1:Cc<x?N1<x?O_<x?B7<x?0:-1:0:-1:pd<x?dm<x?0:-1:0:-1:N0<x?Xh<x?dh<x?dg<x?b0<x?bp<x?Nl<x?Ph<x?0:-1:0:-1:M3<x?lb<x?0:-1:0:-1:rc<x?ec<x?P_<x?Ud<x?0:-1:0:-1:fv<x?K_<x?0:-1:0:-1:Om<x?Ag<x?rf<x?O3<x?Fn<x?bt<x?0:-1:0:-1:U<x?j7<x?0:-1:0:-1:DC<x?ed<x?Im<x?i3<x?0:-1:0:-1:0:-1:kv<x?Hd<x?Jy<x?Za<x?wD<x?E1<x?ag<x?xh<x?Hv<x?vv<x?l3<x?0:-1:0:-1:H3<x?co<x?0:-1:0:-1:LD<x?ex<x?qy<x?nD<x?0:-1:0:-1:ED<x?Pa<x?0:-1:0:-1:sD<x?th<x?hh<x?L_<x?h3<x?Cy<x?0:-1:0:-1:w7<x?Ey<x?0:-1:0:-1:H2<x?eh<x?xv<x?0:-1:0:u2<x?C<x?0:-1:0:P<x?Kg<x?wl<x?b_<x?cc<x?W_<x?0:-1:Tg<x?i_<x?0:-1:0:-1:Sb<x?tv<x?s7<x?Ku<x?0:-1:0:-1:nb<x?Cf<x?0:-1:0:-1:aE<x?Gr<x?hE<x?O<x?0:-1:Uc<x?Qv<x?0:-1:0:-1:Un<x?T3<x?X_<x?BC<x?0:-1:0:-1:p2<x?dy<x?0:-1:0:-1:Jr<x?uv<x?Gc<x?mo<x?Q3<x?vD<x?yv<x?Qd<x?e7<x?Jh<x?0:-1:0:-1:u7<x?b2<x?0:-1:0:-1:BD<x?0:oE<x?bg<x?0:-1:0:-1:B3<x?0:sE<x?G2<x?pa<x?o7<x?0:-1:0:-1:0:-1:r_<x?$y<x?U3<x?X7<x?C7<x?wh<x?L7<x?0:-1:0:-1:Zy<x?t8<x?0:-1:0:LC<x?jp<x?0:-1:F3<x?lE<x?0:-1:0:-1:UD<x?uc<x?tm<x?C0<x?0:-1:G0<x?rD<x?0:-1:0:-1:0:Qb<x?N7<x?D2<x?Se<x?D_<x?_g<x?MC<x?hy<x?ub<x?ph<x?$7<x?yE<x?0:-1:S0<x?Dh<x?0:-1:0:-1:Ko<x&&kg<x?o0<x?0:-1:0:FD<x?_y<x?c3<x&&EC<x?ho<x?0:-1:0:-1:Xp<x?Bp<x?_u<x?GD<x?0:-1:0:-1:Q2<x?g7<x?0:-1:0:Y_<x?NE<x?n8<x||Fd<x?0:SE<x?Y3<x?0:-1:0:-1:rs<x||Pc<x?0:SC<x?Bd<x?0:-1:0:D7<x?Em<x?Ju<x?QE<x?zm<x&&sy<x?mb<x?0:-1:0:m_<x&&g3<x?Gf<x?0:-1:0:-1:CD<x?Mg<x?Yg<x?If<x?_c<x?Uv<x?0:-1:0:-1:0:-1:0:Mc<x?wy<x?CE<x?EE<x?vp<x?D<x?Ub<x?0:-1:0:-1:0:NC<x?0:e3<x?m3<x?0:-1:0:-1:j3<x&&v7<x&&cv<x?FC<x?0:-1:0:Gh<x?Mm<x?fi<x?SD<x?FE<x?ri<x?DD<x?qD<x?0:-1:mf<x?Ep<x?0:-1:0:-1:0:Nc<x?Wg<x?0:My<x?ib<x?0:-1:0:UC<x&&p1<x?C2<x?0:-1:0:GE<x?pm<x?o2<x?Dg<x&&S7<x?zg<x?0:-1:0:-1:Tt<x?y7<x?cb<x?M7<x?0:-1:0:-1:0:0:-1:qv<x?WC<x?am<x?_m<x?Op<x?x_<x?0:-1:lv<x?ze<x?0:-1:0:0:x7<x?Oh<x?H_<x?0:$a<x?Z2<x?0:-1:0:-1:py<x?Iy<x?bd<x?0:-1:0:v_<x?Ne<x?0:-1:0:-1:yo<x?Yh<x?xm<x?fy<x?o1<x?Hi<x?my<x?0:-1:0:-1:md<x?ol<x?0:-1:0:0:-1:_1<x?za<x?xl<x?ws<x?f7<x?Iu<x?0:-1:0:-1:n_<x?ym<x?0:-1:0:-1:Il<x?z_<x?Bo<x?xf<x?0:-1:0:-1:0:-1:vm<x?Ii<x?ce<x?Q7<x?bh<x?x3<x?E2<x?M<x&&tD<x?AE<x?0:-1:0:pg<x?Su<x?qm<x?t_<x?0:-1:0:-1:S_<x?jd<x?0:-1:0:-1:AC<x?wE<x?Zr<x?Td<x?t7<x?0:-1:0:-1:lh<x?JE<x?0:-1:0:0:yl<x?Q_<x?jf<x?X2<x?Wm<x?0:-1:Kb<x?_i<x?0:-1:0:-1:K0<x?jC<x?0:-1:Mn<x?C3<x?0:-1:0:oy<x?0:Zv<x?hb<x?0:-1:RC<x?qh<x?0:-1:0:$f<x?gy<x?xD<x?dC<x?Xd<x?Z<x?Jl<x?0:-1:0:$C<x?Ss<x?0:-1:0:-1:0:Xo<x?pp<x?Bs<x?e8<x?TC<x?0:-1:0:-1:Ug<x?bm<x?0:-1:0:0:Hu<x?zC<x?om<x?y3<x?VD<x?0:-1:TE<x?Lf<x?0:-1:0:0:-1:F7<x?mv<x?b7<x?ov<x?Xn<x?0:-1:0:Lb<x?Ky<x?0:-1:0:-1:dE<x?K3<x?H<x?kb<x?0:-1:0:-1:0:-1:Vf<x?Cd<x?zv<x?hl<x?hm<x?Qp<x?sC<x?f0<x?yD<x?Th<x?Qy<x?0:-1:0:-1:vg<x?E_<x?0:-1:0:-1:Sm<x?Zm<x?n7<x?k_<x?0:-1:0:-1:ot<x?PD<x?0:-1:0:B0<x?e_<x?iC<x?Nb<x?Ob<x?ab<x?0:-1:0:-1:Ws<x?pb<x?0:-1:0:-1:tC<x?wv<x?P2<x?DE<x?0:-1:0:-1:Mo<x?Vg<x?0:-1:0:-1:Wl<x?Gd<x?Sl<x?O7<x?mu<x?0:-1:IC<x?A0<x?0:-1:0:c2<x?jb<x?Yl<x?b1<x?0:-1:0:-1:Dy<x?oi<x?0:-1:0:-1:zh<x?Te<x?of<x?Vy<x?Yu<x?Ut<x?0:-1:0:-1:Rv<x?sv<x?0:-1:0:-1:U7<x?Bm<x?Bv<x?qg<x?0:-1:0:-1:jg<x?cD<x?0:-1:0:-1:tb<x?h7<x?Ay<x?Wh<x?_7<x?rC<x?hc<x?Uu<x?oC<x?O0<x?0:-1:0:-1:s1<x?HD<x?0:-1:0:-1:Ix<x?rd<x?df<x?tl<x?0:-1:0:-1:Tm<x?B2<x?0:-1:0:-1:Pv<x?Tp<x?e0<x?Xc<x?a_<x?0:-1:0:-1:ly<x?Wp<x?0:-1:0:mp<x?Nv<x?Vh<x?tf<x?0:-1:0:-1:rl<x?aD<x?0:-1:0:-1:Lv<x?d0<x?Gm<x?Xv<x?LE<x?Fg<x?0:-1:0:Zc<x?Zb<x?0:-1:0:E3<x?0:Qg<x?wg<x?0:-1:0:-1:pf<x?Bh<x?Id<x?Ly<x?R_<x?U0<x?0:-1:0:-1:Up<x?G_<x?0:-1:0:-1:k3<x?cy<x?g0<x?U1<x?0:-1:0:-1:qr<x?De<x?0:-1:0:-1:Zt<x?ry<x?Qm<x?gm<x?Ds<x?a8<x?ql<x?wf<x?L2<x?xu<x?jy<x?Rd<x?Rb<x?W3<x?Y0<x?0:-1:0:-1:U_<x?xC<x?0:-1:0:-1:Jm<x?Dm<x?Al<x?Fl<x?0:-1:0:-1:F_<x?Nt<x?0:-1:0:-1:Ff<x?0:y2<x?l1<x?vy<x?gd<x?0:-1:0:-1:Fh<x?Sh<x?0:-1:0:-1:P0<x?W7<x?YE<x?i8<x?dD<x?Vb<x?Y7<x?V0<x?0:-1:0:-1:av<x?W<x?0:-1:0:-1:Vv<x?gC<x?Is<x?cp<x?0:-1:0:-1:Gb<x?RE<x?0:-1:0:-1:y0<x?Ou<x?bo<x?rb<x?E7<x?ZD<x?0:-1:0:-1:Ty<x?by<x?0:-1:0:-1:mh<x?mm<x?Gg<x?I3<x?0:-1:0:-1:li<x?Av<x?0:-1:0:-1:La<x?Uy<x?Cp<x?js<x?q_<x?lD<x&&QD<x?ID<x?0:-1:0:-1:H1<x?c0<x?N_<x?l2<x?0:-1:0:-1:kp<x?Hy<x?0:-1:0:-1:hf<x?fE<x?gb<x?d<x?w3<x?_o<x?0:-1:0:-1:td<x?C1<x?0:-1:0:-1:cE<x?wb<x?0:-1:0:Xg<x?Fv<x?x8<x?0:Bb<x?uC<x?fb<x?0:-1:0:fD<x?nf<x?0:-1:0:-1:J7<x?Kt<x?og<x?V_<x?G<x?Kv<x?0:-1:0:-1:wm<x?Jf<x?0:-1:0:-1:rm<x&&Fb<x?kh<x?0:-1:0:q3<x?$<x?x2<x?Uh<x?BE<x&&X3<x?ts<x?0:-1:0:J3<x?G1<x?qs<x?0:-1:0:Wv<x?N3<x?0:-1:0:0:Hh<x?$m<x?0:Sv<x?_b<x?0:-1:0:g_<x?Rc<x?Ev<x?PC<x?Mr<x?0:-1:0:-1:0:rv<x?0:$d<x?Ur<x?0:-1:0:nx<x?ZE<x?qa<x?0:Eg<x&&JD<x?M2<x?0:-1:0:ip<x?K7<x?0:$c<x?Vm<x?0:-1:0:gt<x&&R7<x?Mf<x?0:-1:0:z7<x?_<x?0:zd<x?bC<x?0:-1:eC<x?L3<x?0:-1:0:Sy<x?wC<x?cl<x?0:-1:0:ng<x?0:zy<x?Pf<x?0:-1:0:-1:Hp<x?lg<x?I1<x?h_<x?Rl<x?ev<x?IE<x?r8<x?PE<x?0:-1:sp<x?D3<x?0:-1:0:fh<x?0:A3<x?Ip<x?0:-1:0:-1:0:p8<x?Hf<x?0:Dv<x?Px<x?Pe<x?kD<x?0:-1:0:-1:0:By<x?wd<x&&$b<x?ny<x?0:-1:0:_E<x?$v<x?iy<x?em<x?0:-1:0:-1:0:Lo<x?sf<x?Zd<x?R0<x?0:v3<x?CC<x?zl<x?iD<x?0:-1:0:-1:0:ig<x?m2<x?rp<x&&gD<x?Ed<x?0:-1:0:-1:bn<x?__<x?0:-1:0:-1:i7<x?Fo<x?nd<x?Y2<x?nC<x?0:Wb<x?cg<x?0:-1:0:-1:Eh<x?wu<x?T_<x?lp<x?0:-1:0:-1:sb<x?ds<x?0:-1:0:-1:vh<x?dv<x?Hx<x?Tv<x?Rp<x?0:-1:0:xi<x?af<x?0:-1:0:-1:0:-1:mE<x?bf<x?Ib<x?r7<x?sh<x?I0<x?Lm<x?qf<x&&_t<x?ep<x?0:-1:0:-1:HE<x&&kC<x?Hg<x?0:-1:0:-1:s2<x?rx<x?AD<x?0:Nf<x?h2<x?0:-1:0:-1:Ah<x?uh<x?Ch<x?hD<x?0:-1:0:-1:Zg<x?q7<x?0:-1:0:-1:_v<x?f3<x?Cv<x?ay<x?Yy<x?hg<x?Md<x?Ro<x?0:-1:0:-1:ND<x?$h<x?0:-1:0:-1:kf<x?Of<x?0:-1:TD<x?nv<x?0:-1:0:-1:R3<x?ch<x?y_<x?WD<x?Js<x?0:-1:0:-1:Ap<x?qb<x?0:-1:0:Mb<x?ht<x?0:-1:0:pl<x?d7<x?Uf<x?nl<x?Km<x?j<x?_d<x?G7<x?xb<x?0:-1:0:-1:D0<x?H7<x?0:-1:0:Vp<x?w_<x?0:-1:a3<x?Sg<x?0:-1:0:-1:zD<x?bE<x&&Yv<x?Ry<x?0:-1:0:oc<x?$i<x?0:-1:XD<x?t3<x?0:-1:0:-1:$e<x?ah<x?Bi<x?d_<x?Pu<x?j2<x?an<x?0:-1:0:z3<x?Yb<x?0:-1:0:-1:zb<x?B_<x?nm<x?eD<x?0:-1:0:-1:ug<x?T7<x?0:-1:0:-1:Z7<x?Yi<x?J_<x?Dd<x?W1<x?Oy<x?0:-1:0:-1:M_<x?Z3<x?0:-1:0:-1:eb<x?im<x?qC<x?Rf<x?0:-1:0:-1:Np<x?Kc<x?0:-1:0:-1:fr(NX1,x+Kd|0)-1|0:-1}return-1},Sj=function(i){if(i){var x=i[1];return 47<x?49<x?-1:0:-1}return-1},bY=function(i){if(i){var x=i[1];return 47<x?95<x?-1:fr(_Y1,x+VC|0)-1|0:-1}return-1},LK=function(i){if(i){var x=i[1];return 47<x?57<x?-1:fr(pY1,x+VC|0)-1|0:-1}return-1},CY=function(i){if(i){var x=i[1];return 35<x?$u<x?-1:fr($G1,x+Kd|0)-1|0:-1}return-1},qd0=function(i){if(i){var x=i[1];return lr<x?fw<x?-1:0:-1}return-1},HV=function(i){if(i){var x=i[1];return 60<x?61<x?-1:0:-1}return-1},CI=function(i){if(i){var x=i[1];return 35<x?C_<x?ha<x?vs<x?-1:ne<x?Mu<x?Nh<x?_D<x?O2<x?a7<x?uy<x?pE<x?Jg<x?0:-1:$D<x?ks<x?0:-1:0:-1:N2<x?up<x?A7<x?A_<x?0:-1:0:-1:e<x?Xf<x?0:-1:0:-1:Ld<x?w1<x?Zo<x?Ov<x?pv<x?mg<x?Xy<x?Cm<x?ob<x?Sd<x?0:-1:0:-1:d2<x?qt<x?0:-1:0:-1:Am<x?$_<x?Bt<x?Pp<x?0:-1:0:-1:Fc<x?_3<x?0:-1:0:-1:yy<x?sn<x?G3<x?jl<x?vd<x?Hb<x?0:-1:0:-1:Gt<x?aC<x?0:-1:0:-1:_e<x?Ac<x?Gv<x?op<x?0:-1:0:-1:Zl<x?Jv<x?0:-1:0:-1:I_<x?Pb<x?gg<x?ih<x?m7<x?P7<x?np<x?bv<x?0:-1:0:-1:Yp<x?Rg<x?0:-1:0:-1:dp<x?V7<x?Kh<x?Xl<x?0:-1:0:-1:oD<x?Jb<x?0:-1:0:-1:Us<x?dd<x?hv<x?Dp<x?jv<x?Zp<x?0:-1:0:-1:bD<x?V3<x?0:-1:0:-1:gv<x?iv<x?oh<x?Ym<x?0:-1:0:-1:Gy<x?p7<x?0:-1:0:-1:fp<x?Ef<x?c7<x?l0<x?Z1<x?Hr<x?Eb<x?Xb<x?OD<x?R2<x?kE<x?Iv<x?0:-1:0:-1:0:Ox<x?Kf<x?gE<x?Va<x?0:-1:0:-1:ge<x?_l<x?0:-1:0:pD<x?vE<x?ky<x?wp<x?0:-1:p3<x?Ih<x?0:-1:0:-1:MD<x?OC<x?0:-1:KC<x?r3<x?0:-1:0:-1:I2<x?lo<x?Re<x?yC<x?ME<x?db<x?fg<x?Wy<x?0:-1:0:-1:XE<x?xd<x?0:-1:0:-1:Wa<x?yc<x?S3<x?Kl<x?0:-1:0:-1:Fy<x?xc<x?0:-1:0:-1:ka<x?Kp<x?uE<x?Lg<x?_C<x?OE<x?0:-1:0:-1:v2<x?Hm<x?0:-1:0:-1:Wx<x?ff<x?Tb<x?Fm<x?0:-1:0:-1:b3<x?k7<x?0:-1:0:-1:d3<x?Ad<x?P3<x?Yd<x?eu<x?l7<x?Mt<x?v1<x?Cg<x?Xm<x?0:-1:0:-1:zf<x?mD<x?0:-1:0:-1:Mv<x?tt<x?Pm<x?ld<x?0:-1:0:-1:$3<x?zp<x?0:-1:0:-1:qx<x?n3<x?YD<x?uD<x?I7<x?fl<x?0:-1:0:-1:al<x?j_<x?0:-1:0:-1:Cc<x?N1<x?O_<x?B7<x?0:-1:0:-1:pd<x?dm<x?0:-1:0:-1:N0<x?Xh<x?dh<x?dg<x?b0<x?bp<x?Nl<x?Ph<x?0:-1:0:-1:M3<x?lb<x?0:-1:0:-1:rc<x?ec<x?P_<x?Ud<x?0:-1:0:-1:fv<x?K_<x?0:-1:0:-1:Om<x?Ag<x?rf<x?O3<x?Fn<x?bt<x?0:-1:0:-1:U<x?j7<x?0:-1:0:-1:DC<x?ed<x?Im<x?i3<x?0:-1:0:-1:0:-1:kv<x?Hd<x?Jy<x?Za<x?wD<x?E1<x?ag<x?xh<x?Hv<x?vv<x?l3<x?0:-1:0:-1:H3<x?co<x?0:-1:0:-1:LD<x?ex<x?qy<x?nD<x?0:-1:0:-1:ED<x?Pa<x?0:-1:0:-1:sD<x?th<x?hh<x?L_<x?h3<x?Cy<x?0:-1:0:-1:w7<x?Ey<x?0:-1:0:-1:H2<x?eh<x?xv<x?0:-1:0:u2<x?C<x?0:-1:0:P<x?Kg<x?wl<x?b_<x?cc<x?W_<x?0:-1:Tg<x?i_<x?0:-1:0:-1:Sb<x?tv<x?s7<x?Ku<x?0:-1:0:-1:nb<x?Cf<x?0:-1:0:-1:aE<x?Gr<x?hE<x?O<x?0:-1:Uc<x?Qv<x?0:-1:0:-1:Un<x?T3<x?X_<x?BC<x?0:-1:0:-1:p2<x?dy<x?0:-1:0:-1:Jr<x?uv<x?Gc<x?mo<x?Q3<x?vD<x?yv<x?Qd<x?e7<x?Jh<x?0:-1:0:-1:u7<x?b2<x?0:-1:0:-1:BD<x?0:oE<x?bg<x?0:-1:0:-1:B3<x?0:sE<x?G2<x?pa<x?o7<x?0:-1:0:-1:0:-1:r_<x?$y<x?U3<x?X7<x?C7<x?wh<x?L7<x?0:-1:0:-1:Zy<x?t8<x?0:-1:0:LC<x?jp<x?0:-1:F3<x?lE<x?0:-1:0:-1:UD<x?uc<x?tm<x?C0<x?0:-1:G0<x?rD<x?0:-1:0:-1:0:Qb<x?N7<x?D2<x?Se<x?D_<x?_g<x?MC<x?hy<x?ub<x?ph<x?$7<x?yE<x?0:-1:S0<x?Dh<x?0:-1:0:-1:Ko<x&&kg<x?o0<x?0:-1:0:FD<x?_y<x?c3<x&&EC<x?ho<x?0:-1:0:-1:Xp<x?Bp<x?_u<x?GD<x?0:-1:0:-1:Q2<x?g7<x?0:-1:0:Y_<x?NE<x?n8<x||Fd<x?0:SE<x?Y3<x?0:-1:0:-1:rs<x||Pc<x?0:SC<x?Bd<x?0:-1:0:D7<x?Em<x?Ju<x?QE<x?zm<x&&sy<x?mb<x?0:-1:0:m_<x&&g3<x?Gf<x?0:-1:0:-1:CD<x?Mg<x?Yg<x?If<x?_c<x?Uv<x?0:-1:0:-1:0:-1:0:Mc<x?wy<x?CE<x?EE<x?vp<x?D<x?Ub<x?0:-1:0:-1:0:NC<x?0:e3<x?m3<x?0:-1:0:-1:j3<x&&v7<x&&cv<x?FC<x?0:-1:0:Gh<x?Mm<x?fi<x?SD<x?FE<x?ri<x?DD<x?qD<x?0:-1:mf<x?Ep<x?0:-1:0:-1:0:Nc<x?Wg<x?0:My<x?ib<x?0:-1:0:UC<x&&p1<x?C2<x?0:-1:0:GE<x?pm<x?o2<x?Dg<x&&S7<x?zg<x?0:-1:0:-1:Tt<x?y7<x?cb<x?M7<x?0:-1:0:-1:0:0:-1:qv<x?WC<x?am<x?_m<x?Op<x?x_<x?0:-1:lv<x?ze<x?0:-1:0:0:x7<x?Oh<x?H_<x?0:$a<x?Z2<x?0:-1:0:-1:py<x?Iy<x?bd<x?0:-1:0:v_<x?Ne<x?0:-1:0:-1:yo<x?Yh<x?xm<x?fy<x?o1<x?Hi<x?my<x?0:-1:0:-1:md<x?ol<x?0:-1:0:0:-1:_1<x?za<x?xl<x?ws<x?f7<x?Iu<x?0:-1:0:-1:n_<x?ym<x?0:-1:0:-1:Il<x?z_<x?Bo<x?xf<x?0:-1:0:-1:0:-1:vm<x?Ii<x?ce<x?Q7<x?bh<x?x3<x?E2<x?M<x&&tD<x?AE<x?0:-1:0:pg<x?Su<x?qm<x?t_<x?0:-1:0:-1:S_<x?jd<x?0:-1:0:-1:AC<x?wE<x?Zr<x?Td<x?t7<x?0:-1:0:-1:lh<x?JE<x?0:-1:0:0:yl<x?Q_<x?jf<x?X2<x?Wm<x?0:-1:Kb<x?_i<x?0:-1:0:-1:K0<x?jC<x?0:-1:Mn<x?C3<x?0:-1:0:oy<x?0:Zv<x?hb<x?0:-1:RC<x?qh<x?0:-1:0:$f<x?gy<x?xD<x?dC<x?Xd<x?Z<x?Jl<x?0:-1:0:$C<x?Ss<x?0:-1:0:-1:0:Xo<x?pp<x?Bs<x?e8<x?TC<x?0:-1:0:-1:Ug<x?bm<x?0:-1:0:0:Hu<x?zC<x?om<x?y3<x?VD<x?0:-1:TE<x?Lf<x?0:-1:0:0:-1:F7<x?mv<x?b7<x?ov<x?Xn<x?0:-1:0:Lb<x?Ky<x?0:-1:0:-1:dE<x?K3<x?H<x?kb<x?0:-1:0:-1:0:-1:Vf<x?Cd<x?zv<x?hl<x?hm<x?Qp<x?sC<x?f0<x?yD<x?Th<x?Qy<x?0:-1:0:-1:vg<x?E_<x?0:-1:0:-1:Sm<x?Zm<x?n7<x?k_<x?0:-1:0:-1:ot<x?PD<x?0:-1:0:B0<x?e_<x?iC<x?Nb<x?Ob<x?ab<x?0:-1:0:-1:Ws<x?pb<x?0:-1:0:-1:tC<x?wv<x?P2<x?DE<x?0:-1:0:-1:Mo<x?Vg<x?0:-1:0:-1:Wl<x?Gd<x?Sl<x?O7<x?mu<x?0:-1:IC<x?A0<x?0:-1:0:c2<x?jb<x?Yl<x?b1<x?0:-1:0:-1:Dy<x?oi<x?0:-1:0:-1:zh<x?Te<x?of<x?Vy<x?Yu<x?Ut<x?0:-1:0:-1:Rv<x?sv<x?0:-1:0:-1:U7<x?Bm<x?Bv<x?qg<x?0:-1:0:-1:jg<x?cD<x?0:-1:0:-1:tb<x?h7<x?Ay<x?Wh<x?_7<x?rC<x?hc<x?Uu<x?oC<x?O0<x?0:-1:0:-1:s1<x?HD<x?0:-1:0:-1:Ix<x?rd<x?df<x?tl<x?0:-1:0:-1:Tm<x?B2<x?0:-1:0:-1:Pv<x?Tp<x?e0<x?Xc<x?a_<x?0:-1:0:-1:ly<x?Wp<x?0:-1:0:mp<x?Nv<x?Vh<x?tf<x?0:-1:0:-1:rl<x?aD<x?0:-1:0:-1:Lv<x?d0<x?Gm<x?Xv<x?LE<x?Fg<x?0:-1:0:Zc<x?Zb<x?0:-1:0:E3<x?0:Qg<x?wg<x?0:-1:0:-1:pf<x?Bh<x?Id<x?Ly<x?R_<x?U0<x?0:-1:0:-1:Up<x?G_<x?0:-1:0:-1:k3<x?cy<x?g0<x?U1<x?0:-1:0:-1:qr<x?De<x?0:-1:0:-1:Zt<x?ry<x?Qm<x?gm<x?Ds<x?a8<x?ql<x?wf<x?L2<x?xu<x?jy<x?Rd<x?Rb<x?W3<x?Y0<x?0:-1:0:-1:U_<x?xC<x?0:-1:0:-1:Jm<x?Dm<x?Al<x?Fl<x?0:-1:0:-1:F_<x?Nt<x?0:-1:0:-1:Ff<x?0:y2<x?l1<x?vy<x?gd<x?0:-1:0:-1:Fh<x?Sh<x?0:-1:0:-1:P0<x?W7<x?YE<x?i8<x?dD<x?Vb<x?Y7<x?V0<x?0:-1:0:-1:av<x?W<x?0:-1:0:-1:Vv<x?gC<x?Is<x?cp<x?0:-1:0:-1:Gb<x?RE<x?0:-1:0:-1:y0<x?Ou<x?bo<x?rb<x?E7<x?ZD<x?0:-1:0:-1:Ty<x?by<x?0:-1:0:-1:mh<x?mm<x?Gg<x?I3<x?0:-1:0:-1:li<x?Av<x?0:-1:0:-1:La<x?Uy<x?Cp<x?js<x?q_<x?lD<x&&QD<x?ID<x?0:-1:0:-1:H1<x?c0<x?N_<x?l2<x?0:-1:0:-1:kp<x?Hy<x?0:-1:0:-1:hf<x?fE<x?gb<x?d<x?w3<x?_o<x?0:-1:0:-1:td<x?C1<x?0:-1:0:-1:cE<x?wb<x?0:-1:0:Xg<x?Fv<x?x8<x?0:Bb<x?uC<x?fb<x?0:-1:0:fD<x?nf<x?0:-1:0:-1:J7<x?Kt<x?og<x?V_<x?G<x?Kv<x?0:-1:0:-1:wm<x?Jf<x?0:-1:0:-1:rm<x&&Fb<x?kh<x?0:-1:0:q3<x?$<x?x2<x?Uh<x?BE<x&&X3<x?ts<x?0:-1:0:J3<x?G1<x?qs<x?0:-1:0:Wv<x?N3<x?0:-1:0:0:Hh<x?$m<x?0:Sv<x?_b<x?0:-1:0:g_<x?Rc<x?Ev<x?PC<x?Mr<x?0:-1:0:-1:0:rv<x?0:$d<x?Ur<x?0:-1:0:nx<x?ZE<x?qa<x?0:Eg<x&&JD<x?M2<x?0:-1:0:ip<x?K7<x?0:$c<x?Vm<x?0:-1:0:gt<x&&R7<x?Mf<x?0:-1:0:z7<x?_<x?0:zd<x?bC<x?0:-1:eC<x?L3<x?0:-1:0:Sy<x?wC<x?cl<x?0:-1:0:ng<x?0:zy<x?Pf<x?0:-1:0:-1:Hp<x?lg<x?I1<x?h_<x?Rl<x?ev<x?IE<x?r8<x?PE<x?0:-1:sp<x?D3<x?0:-1:0:fh<x?0:A3<x?Ip<x?0:-1:0:-1:0:p8<x?Hf<x?0:Dv<x?Px<x?Pe<x?kD<x?0:-1:0:-1:0:By<x?wd<x&&$b<x?ny<x?0:-1:0:_E<x?$v<x?iy<x?em<x?0:-1:0:-1:0:Lo<x?sf<x?Zd<x?R0<x?0:v3<x?CC<x?zl<x?iD<x?0:-1:0:-1:0:ig<x?m2<x?rp<x&&gD<x?Ed<x?0:-1:0:-1:bn<x?__<x?0:-1:0:-1:i7<x?Fo<x?nd<x?Y2<x?nC<x?0:Wb<x?cg<x?0:-1:0:-1:Eh<x?wu<x?T_<x?lp<x?0:-1:0:-1:sb<x?ds<x?0:-1:0:-1:vh<x?dv<x?Hx<x?Tv<x?Rp<x?0:-1:0:xi<x?af<x?0:-1:0:-1:0:-1:mE<x?bf<x?Ib<x?r7<x?sh<x?I0<x?Lm<x?qf<x&&_t<x?ep<x?0:-1:0:-1:HE<x&&kC<x?Hg<x?0:-1:0:-1:s2<x?rx<x?AD<x?0:Nf<x?h2<x?0:-1:0:-1:Ah<x?uh<x?Ch<x?hD<x?0:-1:0:-1:Zg<x?q7<x?0:-1:0:-1:_v<x?f3<x?Cv<x?ay<x?Yy<x?hg<x?Md<x?Ro<x?0:-1:0:-1:ND<x?$h<x?0:-1:0:-1:kf<x?Of<x?0:-1:TD<x?nv<x?0:-1:0:-1:R3<x?ch<x?y_<x?WD<x?Js<x?0:-1:0:-1:Ap<x?qb<x?0:-1:0:Mb<x?ht<x?0:-1:0:pl<x?d7<x?Uf<x?nl<x?Km<x?j<x?_d<x?G7<x?xb<x?0:-1:0:-1:D0<x?H7<x?0:-1:0:Vp<x?w_<x?0:-1:a3<x?Sg<x?0:-1:0:-1:zD<x?bE<x&&Yv<x?Ry<x?0:-1:0:oc<x?$i<x?0:-1:XD<x?t3<x?0:-1:0:-1:$e<x?ah<x?Bi<x?d_<x?Pu<x?j2<x?an<x?0:-1:0:z3<x?Yb<x?0:-1:0:-1:zb<x?B_<x?nm<x?eD<x?0:-1:0:-1:ug<x?T7<x?0:-1:0:-1:Z7<x?Yi<x?J_<x?Dd<x?W1<x?Oy<x?0:-1:0:-1:M_<x?Z3<x?0:-1:0:-1:eb<x?im<x?qC<x?Rf<x?0:-1:0:-1:Np<x?Kc<x?0:-1:0:-1:fr(PX1,x+Kd|0)-1|0:-1}return-1},Jd0=function(i){if(i){var x=i[1];return-1<x?$u<x?QP<x?me<x?ik<x?0:-1:0:-1:fr(BG1,x)-1|0:-1}return-1},zz=function(i){if(i){var x=i[1];return 47<x?ef<x?-1:fr(LY1,x+VC|0)-1|0:-1}return-1},EY=function(i){if(i){var x=i[1];return 47<x?ef<x?-1:fr(oX1,x+VC|0)-1|0:-1}return-1},Ut0=function(i){if(i){var x=i[1];return 60<x?62<x?-1:fr(Ic,x+-61|0)-1|0:-1}return-1},FL=function(i){if(i){var x=i[1];return 35<x?C_<x?ha<x?vs<x?-1:ne<x?Mu<x?Nh<x?_D<x?O2<x?a7<x?uy<x?pE<x?Jg<x?0:-1:$D<x?ks<x?0:-1:0:-1:N2<x?up<x?A7<x?A_<x?0:-1:0:-1:e<x?Xf<x?0:-1:0:-1:Ld<x?w1<x?Zo<x?Ov<x?pv<x?mg<x?Xy<x?Cm<x?ob<x?Sd<x?0:-1:0:-1:d2<x?qt<x?0:-1:0:-1:Am<x?$_<x?Bt<x?Pp<x?0:-1:0:-1:Fc<x?_3<x?0:-1:0:-1:yy<x?sn<x?G3<x?jl<x?vd<x?Hb<x?0:-1:0:-1:Gt<x?aC<x?0:-1:0:-1:_e<x?Ac<x?Gv<x?op<x?0:-1:0:-1:Zl<x?Jv<x?0:-1:0:-1:I_<x?Pb<x?gg<x?ih<x?m7<x?P7<x?np<x?bv<x?0:-1:0:-1:Yp<x?Rg<x?0:-1:0:-1:dp<x?V7<x?Kh<x?Xl<x?0:-1:0:-1:oD<x?Jb<x?0:-1:0:-1:Us<x?dd<x?hv<x?Dp<x?jv<x?Zp<x?0:-1:0:-1:bD<x?V3<x?0:-1:0:-1:gv<x?iv<x?oh<x?Ym<x?0:-1:0:-1:Gy<x?p7<x?0:-1:0:-1:fp<x?Ef<x?c7<x?l0<x?Z1<x?Hr<x?Eb<x?Xb<x?OD<x?R2<x?kE<x?Iv<x?0:-1:0:-1:0:Ox<x?Kf<x?gE<x?Va<x?0:-1:0:-1:ge<x?_l<x?0:-1:0:pD<x?vE<x?ky<x?wp<x?0:-1:p3<x?Ih<x?0:-1:0:-1:MD<x?OC<x?0:-1:KC<x?r3<x?0:-1:0:-1:I2<x?lo<x?Re<x?yC<x?ME<x?db<x?fg<x?Wy<x?0:-1:0:-1:XE<x?xd<x?0:-1:0:-1:Wa<x?yc<x?S3<x?Kl<x?0:-1:0:-1:Fy<x?xc<x?0:-1:0:-1:ka<x?Kp<x?uE<x?Lg<x?_C<x?OE<x?0:-1:0:-1:v2<x?Hm<x?0:-1:0:-1:Wx<x?ff<x?Tb<x?Fm<x?0:-1:0:-1:b3<x?k7<x?0:-1:0:-1:d3<x?Ad<x?P3<x?Yd<x?eu<x?l7<x?Mt<x?v1<x?Cg<x?Xm<x?0:-1:0:-1:zf<x?mD<x?0:-1:0:-1:Mv<x?tt<x?Pm<x?ld<x?0:-1:0:-1:$3<x?zp<x?0:-1:0:-1:qx<x?n3<x?YD<x?uD<x?I7<x?fl<x?0:-1:0:-1:al<x?j_<x?0:-1:0:-1:Cc<x?N1<x?O_<x?B7<x?0:-1:0:-1:pd<x?dm<x?0:-1:0:-1:N0<x?Xh<x?dh<x?dg<x?b0<x?bp<x?Nl<x?Ph<x?0:-1:0:-1:M3<x?lb<x?0:-1:0:-1:rc<x?ec<x?P_<x?Ud<x?0:-1:0:-1:fv<x?K_<x?0:-1:0:-1:Om<x?Ag<x?rf<x?O3<x?Fn<x?bt<x?0:-1:0:-1:U<x?j7<x?0:-1:0:-1:DC<x?ed<x?Im<x?i3<x?0:-1:0:-1:0:-1:kv<x?Hd<x?Jy<x?Za<x?wD<x?E1<x?ag<x?xh<x?Hv<x?vv<x?l3<x?0:-1:0:-1:H3<x?co<x?0:-1:0:-1:LD<x?ex<x?qy<x?nD<x?0:-1:0:-1:ED<x?Pa<x?0:-1:0:-1:sD<x?th<x?hh<x?L_<x?h3<x?Cy<x?0:-1:0:-1:w7<x?Ey<x?0:-1:0:-1:H2<x?eh<x?xv<x?0:-1:0:u2<x?C<x?0:-1:0:P<x?Kg<x?wl<x?b_<x?cc<x?W_<x?0:-1:Tg<x?i_<x?0:-1:0:-1:Sb<x?tv<x?s7<x?Ku<x?0:-1:0:-1:nb<x?Cf<x?0:-1:0:-1:aE<x?Gr<x?hE<x?O<x?0:-1:Uc<x?Qv<x?0:-1:0:-1:Un<x?T3<x?X_<x?BC<x?0:-1:0:-1:p2<x?dy<x?0:-1:0:-1:Jr<x?uv<x?Gc<x?mo<x?Q3<x?vD<x?yv<x?Qd<x?e7<x?Jh<x?0:-1:0:-1:u7<x?b2<x?0:-1:0:-1:BD<x?0:oE<x?bg<x?0:-1:0:-1:B3<x?0:sE<x?G2<x?pa<x?o7<x?0:-1:0:-1:0:-1:r_<x?$y<x?U3<x?X7<x?C7<x?wh<x?L7<x?0:-1:0:-1:Zy<x?t8<x?0:-1:0:LC<x?jp<x?0:-1:F3<x?lE<x?0:-1:0:-1:UD<x?uc<x?tm<x?C0<x?0:-1:G0<x?rD<x?0:-1:0:-1:0:Qb<x?N7<x?D2<x?Se<x?D_<x?_g<x?MC<x?hy<x?ub<x?ph<x?$7<x?yE<x?0:-1:S0<x?Dh<x?0:-1:0:-1:Ko<x&&kg<x?o0<x?0:-1:0:FD<x?_y<x?c3<x&&EC<x?ho<x?0:-1:0:-1:Xp<x?Bp<x?_u<x?GD<x?0:-1:0:-1:Q2<x?g7<x?0:-1:0:Y_<x?NE<x?n8<x||Fd<x?0:SE<x?Y3<x?0:-1:0:-1:rs<x||Pc<x?0:SC<x?Bd<x?0:-1:0:D7<x?Em<x?Ju<x?QE<x?zm<x&&sy<x?mb<x?0:-1:0:m_<x&&g3<x?Gf<x?0:-1:0:-1:CD<x?Mg<x?Yg<x?If<x?_c<x?Uv<x?0:-1:0:-1:0:-1:0:Mc<x?wy<x?CE<x?EE<x?vp<x?D<x?Ub<x?0:-1:0:-1:0:NC<x?0:e3<x?m3<x?0:-1:0:-1:j3<x&&v7<x&&cv<x?FC<x?0:-1:0:Gh<x?Mm<x?fi<x?SD<x?FE<x?ri<x?DD<x?qD<x?0:-1:mf<x?Ep<x?0:-1:0:-1:0:Nc<x?Wg<x?0:My<x?ib<x?0:-1:0:UC<x&&p1<x?C2<x?0:-1:0:GE<x?pm<x?o2<x?Dg<x&&S7<x?zg<x?0:-1:0:-1:Tt<x?y7<x?cb<x?M7<x?0:-1:0:-1:0:0:-1:qv<x?WC<x?am<x?_m<x?Op<x?x_<x?0:-1:lv<x?ze<x?0:-1:0:0:x7<x?Oh<x?H_<x?0:$a<x?Z2<x?0:-1:0:-1:py<x?Iy<x?bd<x?0:-1:0:v_<x?Ne<x?0:-1:0:-1:yo<x?Yh<x?xm<x?fy<x?o1<x?Hi<x?my<x?0:-1:0:-1:md<x?ol<x?0:-1:0:0:-1:_1<x?za<x?xl<x?ws<x?f7<x?Iu<x?0:-1:0:-1:n_<x?ym<x?0:-1:0:-1:Il<x?z_<x?Bo<x?xf<x?0:-1:0:-1:0:-1:vm<x?Ii<x?ce<x?Q7<x?bh<x?x3<x?E2<x?M<x&&tD<x?AE<x?0:-1:0:pg<x?Su<x?qm<x?t_<x?0:-1:0:-1:S_<x?jd<x?0:-1:0:-1:AC<x?wE<x?Zr<x?Td<x?t7<x?0:-1:0:-1:lh<x?JE<x?0:-1:0:0:yl<x?Q_<x?jf<x?X2<x?Wm<x?0:-1:Kb<x?_i<x?0:-1:0:-1:K0<x?jC<x?0:-1:Mn<x?C3<x?0:-1:0:oy<x?0:Zv<x?hb<x?0:-1:RC<x?qh<x?0:-1:0:$f<x?gy<x?xD<x?dC<x?Xd<x?Z<x?Jl<x?0:-1:0:$C<x?Ss<x?0:-1:0:-1:0:Xo<x?pp<x?Bs<x?e8<x?TC<x?0:-1:0:-1:Ug<x?bm<x?0:-1:0:0:Hu<x?zC<x?om<x?y3<x?VD<x?0:-1:TE<x?Lf<x?0:-1:0:0:-1:F7<x?mv<x?b7<x?ov<x?Xn<x?0:-1:0:Lb<x?Ky<x?0:-1:0:-1:dE<x?K3<x?H<x?kb<x?0:-1:0:-1:0:-1:Vf<x?Cd<x?zv<x?hl<x?hm<x?Qp<x?sC<x?f0<x?yD<x?Th<x?Qy<x?0:-1:0:-1:vg<x?E_<x?0:-1:0:-1:Sm<x?Zm<x?n7<x?k_<x?0:-1:0:-1:ot<x?PD<x?0:-1:0:B0<x?e_<x?iC<x?Nb<x?Ob<x?ab<x?0:-1:0:-1:Ws<x?pb<x?0:-1:0:-1:tC<x?wv<x?P2<x?DE<x?0:-1:0:-1:Mo<x?Vg<x?0:-1:0:-1:Wl<x?Gd<x?Sl<x?O7<x?mu<x?0:-1:IC<x?A0<x?0:-1:0:c2<x?jb<x?Yl<x?b1<x?0:-1:0:-1:Dy<x?oi<x?0:-1:0:-1:zh<x?Te<x?of<x?Vy<x?Yu<x?Ut<x?0:-1:0:-1:Rv<x?sv<x?0:-1:0:-1:U7<x?Bm<x?Bv<x?qg<x?0:-1:0:-1:jg<x?cD<x?0:-1:0:-1:tb<x?h7<x?Ay<x?Wh<x?_7<x?rC<x?hc<x?Uu<x?oC<x?O0<x?0:-1:0:-1:s1<x?HD<x?0:-1:0:-1:Ix<x?rd<x?df<x?tl<x?0:-1:0:-1:Tm<x?B2<x?0:-1:0:-1:Pv<x?Tp<x?e0<x?Xc<x?a_<x?0:-1:0:-1:ly<x?Wp<x?0:-1:0:mp<x?Nv<x?Vh<x?tf<x?0:-1:0:-1:rl<x?aD<x?0:-1:0:-1:Lv<x?d0<x?Gm<x?Xv<x?LE<x?Fg<x?0:-1:0:Zc<x?Zb<x?0:-1:0:E3<x?0:Qg<x?wg<x?0:-1:0:-1:pf<x?Bh<x?Id<x?Ly<x?R_<x?U0<x?0:-1:0:-1:Up<x?G_<x?0:-1:0:-1:k3<x?cy<x?g0<x?U1<x?0:-1:0:-1:qr<x?De<x?0:-1:0:-1:Zt<x?ry<x?Qm<x?gm<x?Ds<x?a8<x?ql<x?wf<x?L2<x?xu<x?jy<x?Rd<x?Rb<x?W3<x?Y0<x?0:-1:0:-1:U_<x?xC<x?0:-1:0:-1:Jm<x?Dm<x?Al<x?Fl<x?0:-1:0:-1:F_<x?Nt<x?0:-1:0:-1:Ff<x?0:y2<x?l1<x?vy<x?gd<x?0:-1:0:-1:Fh<x?Sh<x?0:-1:0:-1:P0<x?W7<x?YE<x?i8<x?dD<x?Vb<x?Y7<x?V0<x?0:-1:0:-1:av<x?W<x?0:-1:0:-1:Vv<x?gC<x?Is<x?cp<x?0:-1:0:-1:Gb<x?RE<x?0:-1:0:-1:y0<x?Ou<x?bo<x?rb<x?E7<x?ZD<x?0:-1:0:-1:Ty<x?by<x?0:-1:0:-1:mh<x?mm<x?Gg<x?I3<x?0:-1:0:-1:li<x?Av<x?0:-1:0:-1:La<x?Uy<x?Cp<x?js<x?q_<x?lD<x&&QD<x?ID<x?0:-1:0:-1:H1<x?c0<x?N_<x?l2<x?0:-1:0:-1:kp<x?Hy<x?0:-1:0:-1:hf<x?fE<x?gb<x?d<x?w3<x?_o<x?0:-1:0:-1:td<x?C1<x?0:-1:0:-1:cE<x?wb<x?0:-1:0:Xg<x?Fv<x?x8<x?0:Bb<x?uC<x?fb<x?0:-1:0:fD<x?nf<x?0:-1:0:-1:J7<x?Kt<x?og<x?V_<x?G<x?Kv<x?0:-1:0:-1:wm<x?Jf<x?0:-1:0:-1:rm<x&&Fb<x?kh<x?0:-1:0:q3<x?$<x?x2<x?Uh<x?BE<x&&X3<x?ts<x?0:-1:0:J3<x?G1<x?qs<x?0:-1:0:Wv<x?N3<x?0:-1:0:0:Hh<x?$m<x?0:Sv<x?_b<x?0:-1:0:g_<x?Rc<x?Ev<x?PC<x?Mr<x?0:-1:0:-1:0:rv<x?0:$d<x?Ur<x?0:-1:0:nx<x?ZE<x?qa<x?0:Eg<x&&JD<x?M2<x?0:-1:0:ip<x?K7<x?0:$c<x?Vm<x?0:-1:0:gt<x&&R7<x?Mf<x?0:-1:0:z7<x?_<x?0:zd<x?bC<x?0:-1:eC<x?L3<x?0:-1:0:Sy<x?wC<x?cl<x?0:-1:0:ng<x?0:zy<x?Pf<x?0:-1:0:-1:Hp<x?lg<x?I1<x?h_<x?Rl<x?ev<x?IE<x?r8<x?PE<x?0:-1:sp<x?D3<x?0:-1:0:fh<x?0:A3<x?Ip<x?0:-1:0:-1:0:p8<x?Hf<x?0:Dv<x?Px<x?Pe<x?kD<x?0:-1:0:-1:0:By<x?wd<x&&$b<x?ny<x?0:-1:0:_E<x?$v<x?iy<x?em<x?0:-1:0:-1:0:Lo<x?sf<x?Zd<x?R0<x?0:v3<x?CC<x?zl<x?iD<x?0:-1:0:-1:0:ig<x?m2<x?rp<x&&gD<x?Ed<x?0:-1:0:-1:bn<x?__<x?0:-1:0:-1:i7<x?Fo<x?nd<x?Y2<x?nC<x?0:Wb<x?cg<x?0:-1:0:-1:Eh<x?wu<x?T_<x?lp<x?0:-1:0:-1:sb<x?ds<x?0:-1:0:-1:vh<x?dv<x?Hx<x?Tv<x?Rp<x?0:-1:0:xi<x?af<x?0:-1:0:-1:0:-1:mE<x?bf<x?Ib<x?r7<x?sh<x?I0<x?Lm<x?qf<x&&_t<x?ep<x?0:-1:0:-1:HE<x&&kC<x?Hg<x?0:-1:0:-1:s2<x?rx<x?AD<x?0:Nf<x?h2<x?0:-1:0:-1:Ah<x?uh<x?Ch<x?hD<x?0:-1:0:-1:Zg<x?q7<x?0:-1:0:-1:_v<x?f3<x?Cv<x?ay<x?Yy<x?hg<x?Md<x?Ro<x?0:-1:0:-1:ND<x?$h<x?0:-1:0:-1:kf<x?Of<x?0:-1:TD<x?nv<x?0:-1:0:-1:R3<x?ch<x?y_<x?WD<x?Js<x?0:-1:0:-1:Ap<x?qb<x?0:-1:0:Mb<x?ht<x?0:-1:0:pl<x?d7<x?Uf<x?nl<x?Km<x?j<x?_d<x?G7<x?xb<x?0:-1:0:-1:D0<x?H7<x?0:-1:0:Vp<x?w_<x?0:-1:a3<x?Sg<x?0:-1:0:-1:zD<x?bE<x&&Yv<x?Ry<x?0:-1:0:oc<x?$i<x?0:-1:XD<x?t3<x?0:-1:0:-1:$e<x?ah<x?Bi<x?d_<x?Pu<x?j2<x?an<x?0:-1:0:z3<x?Yb<x?0:-1:0:-1:zb<x?B_<x?nm<x?eD<x?0:-1:0:-1:ug<x?T7<x?0:-1:0:-1:Z7<x?Yi<x?J_<x?Dd<x?W1<x?Oy<x?0:-1:0:-1:M_<x?Z3<x?0:-1:0:-1:eb<x?im<x?qC<x?Rf<x?0:-1:0:-1:Np<x?Kc<x?0:-1:0:-1:fr(IX1,x+Kd|0)-1|0:-1}return-1},SY=function(i){if(i){var x=i[1];return 65<x?98<x?-1:fr(m8,x-66|0)-1|0:-1}return-1},fk=function(i){if(i){var x=i[1];return 35<x?$u<x?-1:fr(KG1,x+Kd|0)-1|0:-1}return-1},FY=function(i){if(i){var x=i[1];return fw<x?BO<x?-1:0:-1}return-1},Hd0=function(i){if(i){var x=i[1];return 35<x?C_<x?ha<x?vs<x?-1:ne<x?Mu<x?Nh<x?_D<x?O2<x?a7<x?uy<x?pE<x?Jg<x?0:-1:$D<x?ks<x?0:-1:0:-1:N2<x?up<x?A7<x?A_<x?0:-1:0:-1:e<x?Xf<x?0:-1:0:-1:Ld<x?w1<x?Zo<x?Ov<x?pv<x?mg<x?Xy<x?Cm<x?ob<x?Sd<x?0:-1:0:-1:d2<x?qt<x?0:-1:0:-1:Am<x?$_<x?Bt<x?Pp<x?0:-1:0:-1:Fc<x?_3<x?0:-1:0:-1:yy<x?sn<x?G3<x?jl<x?vd<x?Hb<x?0:-1:0:-1:Gt<x?aC<x?0:-1:0:-1:_e<x?Ac<x?Gv<x?op<x?0:-1:0:-1:Zl<x?Jv<x?0:-1:0:-1:I_<x?Pb<x?gg<x?ih<x?m7<x?P7<x?np<x?bv<x?0:-1:0:-1:Yp<x?Rg<x?0:-1:0:-1:dp<x?V7<x?Kh<x?Xl<x?0:-1:0:-1:oD<x?Jb<x?0:-1:0:-1:Us<x?dd<x?hv<x?Dp<x?jv<x?Zp<x?0:-1:0:-1:bD<x?V3<x?0:-1:0:-1:gv<x?iv<x?oh<x?Ym<x?0:-1:0:-1:Gy<x?p7<x?0:-1:0:-1:fp<x?Ef<x?c7<x?l0<x?Z1<x?Hr<x?Eb<x?Xb<x?OD<x?R2<x?kE<x?Iv<x?0:-1:0:-1:0:Ox<x?Kf<x?gE<x?Va<x?0:-1:0:-1:ge<x?_l<x?0:-1:0:pD<x?vE<x?ky<x?wp<x?0:-1:p3<x?Ih<x?0:-1:0:-1:MD<x?OC<x?0:-1:KC<x?r3<x?0:-1:0:-1:I2<x?lo<x?Re<x?yC<x?ME<x?db<x?fg<x?Wy<x?0:-1:0:-1:XE<x?xd<x?0:-1:0:-1:Wa<x?yc<x?S3<x?Kl<x?0:-1:0:-1:Fy<x?xc<x?0:-1:0:-1:ka<x?Kp<x?uE<x?Lg<x?_C<x?OE<x?0:-1:0:-1:v2<x?Hm<x?0:-1:0:-1:Wx<x?ff<x?Tb<x?Fm<x?0:-1:0:-1:b3<x?k7<x?0:-1:0:-1:d3<x?Ad<x?P3<x?Yd<x?eu<x?l7<x?Mt<x?v1<x?Cg<x?Xm<x?0:-1:0:-1:zf<x?mD<x?0:-1:0:-1:Mv<x?tt<x?Pm<x?ld<x?0:-1:0:-1:$3<x?zp<x?0:-1:0:-1:qx<x?n3<x?YD<x?uD<x?I7<x?fl<x?0:-1:0:-1:al<x?j_<x?0:-1:0:-1:Cc<x?N1<x?O_<x?B7<x?0:-1:0:-1:pd<x?dm<x?0:-1:0:-1:N0<x?Xh<x?dh<x?dg<x?b0<x?bp<x?Nl<x?Ph<x?0:-1:0:-1:M3<x?lb<x?0:-1:0:-1:rc<x?ec<x?P_<x?Ud<x?0:-1:0:-1:fv<x?K_<x?0:-1:0:-1:Om<x?Ag<x?rf<x?O3<x?Fn<x?bt<x?0:-1:0:-1:U<x?j7<x?0:-1:0:-1:DC<x?ed<x?Im<x?i3<x?0:-1:0:-1:0:-1:kv<x?Hd<x?Jy<x?Za<x?wD<x?E1<x?ag<x?xh<x?Hv<x?vv<x?l3<x?0:-1:0:-1:H3<x?co<x?0:-1:0:-1:LD<x?ex<x?qy<x?nD<x?0:-1:0:-1:ED<x?Pa<x?0:-1:0:-1:sD<x?th<x?hh<x?L_<x?h3<x?Cy<x?0:-1:0:-1:w7<x?Ey<x?0:-1:0:-1:H2<x?eh<x?xv<x?0:-1:0:u2<x?C<x?0:-1:0:P<x?Kg<x?wl<x?b_<x?cc<x?W_<x?0:-1:Tg<x?i_<x?0:-1:0:-1:Sb<x?tv<x?s7<x?Ku<x?0:-1:0:-1:nb<x?Cf<x?0:-1:0:-1:aE<x?Gr<x?hE<x?O<x?0:-1:Uc<x?Qv<x?0:-1:0:-1:Un<x?T3<x?X_<x?BC<x?0:-1:0:-1:p2<x?dy<x?0:-1:0:-1:Jr<x?uv<x?Gc<x?mo<x?Q3<x?vD<x?yv<x?Qd<x?e7<x?Jh<x?0:-1:0:-1:u7<x?b2<x?0:-1:0:-1:BD<x?0:oE<x?bg<x?0:-1:0:-1:B3<x?0:sE<x?G2<x?pa<x?o7<x?0:-1:0:-1:0:-1:r_<x?$y<x?U3<x?X7<x?C7<x?wh<x?L7<x?0:-1:0:-1:Zy<x?t8<x?0:-1:0:LC<x?jp<x?0:-1:F3<x?lE<x?0:-1:0:-1:UD<x?uc<x?tm<x?C0<x?0:-1:G0<x?rD<x?0:-1:0:-1:0:Qb<x?N7<x?D2<x?Se<x?D_<x?_g<x?MC<x?hy<x?ub<x?ph<x?$7<x?yE<x?0:-1:S0<x?Dh<x?0:-1:0:-1:Ko<x&&kg<x?o0<x?0:-1:0:FD<x?_y<x?c3<x&&EC<x?ho<x?0:-1:0:-1:Xp<x?Bp<x?_u<x?GD<x?0:-1:0:-1:Q2<x?g7<x?0:-1:0:Y_<x?NE<x?n8<x||Fd<x?0:SE<x?Y3<x?0:-1:0:-1:rs<x||Pc<x?0:SC<x?Bd<x?0:-1:0:D7<x?Em<x?Ju<x?QE<x?zm<x&&sy<x?mb<x?0:-1:0:m_<x&&g3<x?Gf<x?0:-1:0:-1:CD<x?Mg<x?Yg<x?If<x?_c<x?Uv<x?0:-1:0:-1:0:-1:0:Mc<x?wy<x?CE<x?EE<x?vp<x?D<x?Ub<x?0:-1:0:-1:0:NC<x?0:e3<x?m3<x?0:-1:0:-1:j3<x&&v7<x&&cv<x?FC<x?0:-1:0:Gh<x?Mm<x?fi<x?SD<x?FE<x?ri<x?DD<x?qD<x?0:-1:mf<x?Ep<x?0:-1:0:-1:0:Nc<x?Wg<x?0:My<x?ib<x?0:-1:0:UC<x&&p1<x?C2<x?0:-1:0:GE<x?pm<x?o2<x?Dg<x&&S7<x?zg<x?0:-1:0:-1:Tt<x?y7<x?cb<x?M7<x?0:-1:0:-1:0:0:-1:qv<x?WC<x?am<x?_m<x?Op<x?x_<x?0:-1:lv<x?ze<x?0:-1:0:0:x7<x?Oh<x?H_<x?0:$a<x?Z2<x?0:-1:0:-1:py<x?Iy<x?bd<x?0:-1:0:v_<x?Ne<x?0:-1:0:-1:yo<x?Yh<x?xm<x?fy<x?o1<x?Hi<x?my<x?0:-1:0:-1:md<x?ol<x?0:-1:0:0:-1:_1<x?za<x?xl<x?ws<x?f7<x?Iu<x?0:-1:0:-1:n_<x?ym<x?0:-1:0:-1:Il<x?z_<x?Bo<x?xf<x?0:-1:0:-1:0:-1:vm<x?Ii<x?ce<x?Q7<x?bh<x?x3<x?E2<x?M<x&&tD<x?AE<x?0:-1:0:pg<x?Su<x?qm<x?t_<x?0:-1:0:-1:S_<x?jd<x?0:-1:0:-1:AC<x?wE<x?Zr<x?Td<x?t7<x?0:-1:0:-1:lh<x?JE<x?0:-1:0:0:yl<x?Q_<x?jf<x?X2<x?Wm<x?0:-1:Kb<x?_i<x?0:-1:0:-1:K0<x?jC<x?0:-1:Mn<x?C3<x?0:-1:0:oy<x?0:Zv<x?hb<x?0:-1:RC<x?qh<x?0:-1:0:$f<x?gy<x?xD<x?dC<x?Xd<x?Z<x?Jl<x?0:-1:0:$C<x?Ss<x?0:-1:0:-1:0:Xo<x?pp<x?Bs<x?e8<x?TC<x?0:-1:0:-1:Ug<x?bm<x?0:-1:0:0:Hu<x?zC<x?om<x?y3<x?VD<x?0:-1:TE<x?Lf<x?0:-1:0:0:-1:F7<x?mv<x?b7<x?ov<x?Xn<x?0:-1:0:Lb<x?Ky<x?0:-1:0:-1:dE<x?K3<x?H<x?kb<x?0:-1:0:-1:0:-1:Vf<x?Cd<x?zv<x?hl<x?hm<x?Qp<x?sC<x?f0<x?yD<x?Th<x?Qy<x?0:-1:0:-1:vg<x?E_<x?0:-1:0:-1:Sm<x?Zm<x?n7<x?k_<x?0:-1:0:-1:ot<x?PD<x?0:-1:0:B0<x?e_<x?iC<x?Nb<x?Ob<x?ab<x?0:-1:0:-1:Ws<x?pb<x?0:-1:0:-1:tC<x?wv<x?P2<x?DE<x?0:-1:0:-1:Mo<x?Vg<x?0:-1:0:-1:Wl<x?Gd<x?Sl<x?O7<x?mu<x?0:-1:IC<x?A0<x?0:-1:0:c2<x?jb<x?Yl<x?b1<x?0:-1:0:-1:Dy<x?oi<x?0:-1:0:-1:zh<x?Te<x?of<x?Vy<x?Yu<x?Ut<x?0:-1:0:-1:Rv<x?sv<x?0:-1:0:-1:U7<x?Bm<x?Bv<x?qg<x?0:-1:0:-1:jg<x?cD<x?0:-1:0:-1:tb<x?h7<x?Ay<x?Wh<x?_7<x?rC<x?hc<x?Uu<x?oC<x?O0<x?0:-1:0:-1:s1<x?HD<x?0:-1:0:-1:Ix<x?rd<x?df<x?tl<x?0:-1:0:-1:Tm<x?B2<x?0:-1:0:-1:Pv<x?Tp<x?e0<x?Xc<x?a_<x?0:-1:0:-1:ly<x?Wp<x?0:-1:0:mp<x?Nv<x?Vh<x?tf<x?0:-1:0:-1:rl<x?aD<x?0:-1:0:-1:Lv<x?d0<x?Gm<x?Xv<x?LE<x?Fg<x?0:-1:0:Zc<x?Zb<x?0:-1:0:E3<x?0:Qg<x?wg<x?0:-1:0:-1:pf<x?Bh<x?Id<x?Ly<x?R_<x?U0<x?0:-1:0:-1:Up<x?G_<x?0:-1:0:-1:k3<x?cy<x?g0<x?U1<x?0:-1:0:-1:qr<x?De<x?0:-1:0:-1:Zt<x?ry<x?Qm<x?gm<x?Ds<x?a8<x?ql<x?wf<x?L2<x?xu<x?jy<x?Rd<x?Rb<x?W3<x?Y0<x?0:-1:0:-1:U_<x?xC<x?0:-1:0:-1:Jm<x?Dm<x?Al<x?Fl<x?0:-1:0:-1:F_<x?Nt<x?0:-1:0:-1:Ff<x?0:y2<x?l1<x?vy<x?gd<x?0:-1:0:-1:Fh<x?Sh<x?0:-1:0:-1:P0<x?W7<x?YE<x?i8<x?dD<x?Vb<x?Y7<x?V0<x?0:-1:0:-1:av<x?W<x?0:-1:0:-1:Vv<x?gC<x?Is<x?cp<x?0:-1:0:-1:Gb<x?RE<x?0:-1:0:-1:y0<x?Ou<x?bo<x?rb<x?E7<x?ZD<x?0:-1:0:-1:Ty<x?by<x?0:-1:0:-1:mh<x?mm<x?Gg<x?I3<x?0:-1:0:-1:li<x?Av<x?0:-1:0:-1:La<x?Uy<x?Cp<x?js<x?q_<x?lD<x&&QD<x?ID<x?0:-1:0:-1:H1<x?c0<x?N_<x?l2<x?0:-1:0:-1:kp<x?Hy<x?0:-1:0:-1:hf<x?fE<x?gb<x?d<x?w3<x?_o<x?0:-1:0:-1:td<x?C1<x?0:-1:0:-1:cE<x?wb<x?0:-1:0:Xg<x?Fv<x?x8<x?0:Bb<x?uC<x?fb<x?0:-1:0:fD<x?nf<x?0:-1:0:-1:J7<x?Kt<x?og<x?V_<x?G<x?Kv<x?0:-1:0:-1:wm<x?Jf<x?0:-1:0:-1:rm<x&&Fb<x?kh<x?0:-1:0:q3<x?$<x?x2<x?Uh<x?BE<x&&X3<x?ts<x?0:-1:0:J3<x?G1<x?qs<x?0:-1:0:Wv<x?N3<x?0:-1:0:0:Hh<x?$m<x?0:Sv<x?_b<x?0:-1:0:g_<x?Rc<x?Ev<x?PC<x?Mr<x?0:-1:0:-1:0:rv<x?0:$d<x?Ur<x?0:-1:0:nx<x?ZE<x?qa<x?0:Eg<x&&JD<x?M2<x?0:-1:0:ip<x?K7<x?0:$c<x?Vm<x?0:-1:0:gt<x&&R7<x?Mf<x?0:-1:0:z7<x?_<x?0:zd<x?bC<x?0:-1:eC<x?L3<x?0:-1:0:Sy<x?wC<x?cl<x?0:-1:0:ng<x?0:zy<x?Pf<x?0:-1:0:-1:Hp<x?lg<x?I1<x?h_<x?Rl<x?ev<x?IE<x?r8<x?PE<x?0:-1:sp<x?D3<x?0:-1:0:fh<x?0:A3<x?Ip<x?0:-1:0:-1:0:p8<x?Hf<x?0:Dv<x?Px<x?Pe<x?kD<x?0:-1:0:-1:0:By<x?wd<x&&$b<x?ny<x?0:-1:0:_E<x?$v<x?iy<x?em<x?0:-1:0:-1:0:Lo<x?sf<x?Zd<x?R0<x?0:v3<x?CC<x?zl<x?iD<x?0:-1:0:-1:0:ig<x?m2<x?rp<x&&gD<x?Ed<x?0:-1:0:-1:bn<x?__<x?0:-1:0:-1:i7<x?Fo<x?nd<x?Y2<x?nC<x?0:Wb<x?cg<x?0:-1:0:-1:Eh<x?wu<x?T_<x?lp<x?0:-1:0:-1:sb<x?ds<x?0:-1:0:-1:vh<x?dv<x?Hx<x?Tv<x?Rp<x?0:-1:0:xi<x?af<x?0:-1:0:-1:0:-1:mE<x?bf<x?Ib<x?r7<x?sh<x?I0<x?Lm<x?qf<x&&_t<x?ep<x?0:-1:0:-1:HE<x&&kC<x?Hg<x?0:-1:0:-1:s2<x?rx<x?AD<x?0:Nf<x?h2<x?0:-1:0:-1:Ah<x?uh<x?Ch<x?hD<x?0:-1:0:-1:Zg<x?q7<x?0:-1:0:-1:_v<x?f3<x?Cv<x?ay<x?Yy<x?hg<x?Md<x?Ro<x?0:-1:0:-1:ND<x?$h<x?0:-1:0:-1:kf<x?Of<x?0:-1:TD<x?nv<x?0:-1:0:-1:R3<x?ch<x?y_<x?WD<x?Js<x?0:-1:0:-1:Ap<x?qb<x?0:-1:0:Mb<x?ht<x?0:-1:0:pl<x?d7<x?Uf<x?nl<x?Km<x?j<x?_d<x?G7<x?xb<x?0:-1:0:-1:D0<x?H7<x?0:-1:0:Vp<x?w_<x?0:-1:a3<x?Sg<x?0:-1:0:-1:zD<x?bE<x&&Yv<x?Ry<x?0:-1:0:oc<x?$i<x?0:-1:XD<x?t3<x?0:-1:0:-1:$e<x?ah<x?Bi<x?d_<x?Pu<x?j2<x?an<x?0:-1:0:z3<x?Yb<x?0:-1:0:-1:zb<x?B_<x?nm<x?eD<x?0:-1:0:-1:ug<x?T7<x?0:-1:0:-1:Z7<x?Yi<x?J_<x?Dd<x?W1<x?Oy<x?0:-1:0:-1:M_<x?Z3<x?0:-1:0:-1:eb<x?im<x?qC<x?Rf<x?0:-1:0:-1:Np<x?Kc<x?0:-1:0:-1:fr(qY1,x+Kd|0)-1|0:-1}return-1},eP=function(i){if(i){var x=i[1];return 47<x?55<x?-1:0:-1}return-1},Vt0=function(i){if(i){var x=i[1];return Vk<x?ef<x?-1:0:-1}return-1},AY=function(i){if(i){var x=i[1];return ef<x?zx<x?-1:0:-1}return-1},Wq=function(i){if(i){var x=i[1];return 98<x?99<x?-1:0:-1}return-1},GV=function(i){if(i){var x=i[1];return 47<x?48<x?-1:0:-1}return-1},qq=function(i){if(i){var x=i[1];return 8<x?AR<x?R4<x?cN<x?-1:RN<x?HN<x?0:-1:gP<x?b9<x?h0<x?KN<x?0:-1:0:-1:xI<x?kA<x?0:-1:0:-1:fr(FG1,x-9|0)-1|0:-1}return-1},TY=function(i){if(i){var x=i[1];return 35<x?C_<x?ha<x?vs<x?-1:ne<x?Mu<x?Nh<x?_D<x?O2<x?a7<x?uy<x?pE<x?Jg<x?0:-1:$D<x?ks<x?0:-1:0:-1:N2<x?up<x?A7<x?A_<x?0:-1:0:-1:e<x?Xf<x?0:-1:0:-1:Ld<x?w1<x?Zo<x?Ov<x?pv<x?mg<x?Xy<x?Cm<x?ob<x?Sd<x?0:-1:0:-1:d2<x?qt<x?0:-1:0:-1:Am<x?$_<x?Bt<x?Pp<x?0:-1:0:-1:Fc<x?_3<x?0:-1:0:-1:yy<x?sn<x?G3<x?jl<x?vd<x?Hb<x?0:-1:0:-1:Gt<x?aC<x?0:-1:0:-1:_e<x?Ac<x?Gv<x?op<x?0:-1:0:-1:Zl<x?Jv<x?0:-1:0:-1:I_<x?Pb<x?gg<x?ih<x?m7<x?P7<x?np<x?bv<x?0:-1:0:-1:Yp<x?Rg<x?0:-1:0:-1:dp<x?V7<x?Kh<x?Xl<x?0:-1:0:-1:oD<x?Jb<x?0:-1:0:-1:Us<x?dd<x?hv<x?Dp<x?jv<x?Zp<x?0:-1:0:-1:bD<x?V3<x?0:-1:0:-1:gv<x?iv<x?oh<x?Ym<x?0:-1:0:-1:Gy<x?p7<x?0:-1:0:-1:fp<x?Ef<x?c7<x?l0<x?Z1<x?Hr<x?Eb<x?Xb<x?OD<x?R2<x?kE<x?Iv<x?0:-1:0:-1:0:Ox<x?Kf<x?gE<x?Va<x?0:-1:0:-1:ge<x?_l<x?0:-1:0:pD<x?vE<x?ky<x?wp<x?0:-1:p3<x?Ih<x?0:-1:0:-1:MD<x?OC<x?0:-1:KC<x?r3<x?0:-1:0:-1:I2<x?lo<x?Re<x?yC<x?ME<x?db<x?fg<x?Wy<x?0:-1:0:-1:XE<x?xd<x?0:-1:0:-1:Wa<x?yc<x?S3<x?Kl<x?0:-1:0:-1:Fy<x?xc<x?0:-1:0:-1:ka<x?Kp<x?uE<x?Lg<x?_C<x?OE<x?0:-1:0:-1:v2<x?Hm<x?0:-1:0:-1:Wx<x?ff<x?Tb<x?Fm<x?0:-1:0:-1:b3<x?k7<x?0:-1:0:-1:d3<x?Ad<x?P3<x?Yd<x?eu<x?l7<x?Mt<x?v1<x?Cg<x?Xm<x?0:-1:0:-1:zf<x?mD<x?0:-1:0:-1:Mv<x?tt<x?Pm<x?ld<x?0:-1:0:-1:$3<x?zp<x?0:-1:0:-1:qx<x?n3<x?YD<x?uD<x?I7<x?fl<x?0:-1:0:-1:al<x?j_<x?0:-1:0:-1:Cc<x?N1<x?O_<x?B7<x?0:-1:0:-1:pd<x?dm<x?0:-1:0:-1:N0<x?Xh<x?dh<x?dg<x?b0<x?bp<x?Nl<x?Ph<x?0:-1:0:-1:M3<x?lb<x?0:-1:0:-1:rc<x?ec<x?P_<x?Ud<x?0:-1:0:-1:fv<x?K_<x?0:-1:0:-1:Om<x?Ag<x?rf<x?O3<x?Fn<x?bt<x?0:-1:0:-1:U<x?j7<x?0:-1:0:-1:DC<x?ed<x?Im<x?i3<x?0:-1:0:-1:0:-1:kv<x?Hd<x?Jy<x?Za<x?wD<x?E1<x?ag<x?xh<x?Hv<x?vv<x?l3<x?0:-1:0:-1:H3<x?co<x?0:-1:0:-1:LD<x?ex<x?qy<x?nD<x?0:-1:0:-1:ED<x?Pa<x?0:-1:0:-1:sD<x?th<x?hh<x?L_<x?h3<x?Cy<x?0:-1:0:-1:w7<x?Ey<x?0:-1:0:-1:H2<x?eh<x?xv<x?0:-1:0:u2<x?C<x?0:-1:0:P<x?Kg<x?wl<x?b_<x?cc<x?W_<x?0:-1:Tg<x?i_<x?0:-1:0:-1:Sb<x?tv<x?s7<x?Ku<x?0:-1:0:-1:nb<x?Cf<x?0:-1:0:-1:aE<x?Gr<x?hE<x?O<x?0:-1:Uc<x?Qv<x?0:-1:0:-1:Un<x?T3<x?X_<x?BC<x?0:-1:0:-1:p2<x?dy<x?0:-1:0:-1:Jr<x?uv<x?Gc<x?mo<x?Q3<x?vD<x?yv<x?Qd<x?e7<x?Jh<x?0:-1:0:-1:u7<x?b2<x?0:-1:0:-1:BD<x?0:oE<x?bg<x?0:-1:0:-1:B3<x?0:sE<x?G2<x?pa<x?o7<x?0:-1:0:-1:0:-1:r_<x?$y<x?U3<x?X7<x?C7<x?wh<x?L7<x?0:-1:0:-1:Zy<x?t8<x?0:-1:0:LC<x?jp<x?0:-1:F3<x?lE<x?0:-1:0:-1:UD<x?uc<x?tm<x?C0<x?0:-1:G0<x?rD<x?0:-1:0:-1:0:Qb<x?N7<x?D2<x?Se<x?D_<x?_g<x?MC<x?hy<x?ub<x?ph<x?$7<x?yE<x?0:-1:S0<x?Dh<x?0:-1:0:-1:Ko<x&&kg<x?o0<x?0:-1:0:FD<x?_y<x?c3<x&&EC<x?ho<x?0:-1:0:-1:Xp<x?Bp<x?_u<x?GD<x?0:-1:0:-1:Q2<x?g7<x?0:-1:0:Y_<x?NE<x?n8<x||Fd<x?0:SE<x?Y3<x?0:-1:0:-1:rs<x||Pc<x?0:SC<x?Bd<x?0:-1:0:D7<x?Em<x?Ju<x?QE<x?zm<x&&sy<x?mb<x?0:-1:0:m_<x&&g3<x?Gf<x?0:-1:0:-1:CD<x?Mg<x?Yg<x?If<x?_c<x?Uv<x?0:-1:0:-1:0:-1:0:Mc<x?wy<x?CE<x?EE<x?vp<x?D<x?Ub<x?0:-1:0:-1:0:NC<x?0:e3<x?m3<x?0:-1:0:-1:j3<x&&v7<x&&cv<x?FC<x?0:-1:0:Gh<x?Mm<x?fi<x?SD<x?FE<x?ri<x?DD<x?qD<x?0:-1:mf<x?Ep<x?0:-1:0:-1:0:Nc<x?Wg<x?0:My<x?ib<x?0:-1:0:UC<x&&p1<x?C2<x?0:-1:0:GE<x?pm<x?o2<x?Dg<x&&S7<x?zg<x?0:-1:0:-1:Tt<x?y7<x?cb<x?M7<x?0:-1:0:-1:0:0:-1:qv<x?WC<x?am<x?_m<x?Op<x?x_<x?0:-1:lv<x?ze<x?0:-1:0:0:x7<x?Oh<x?H_<x?0:$a<x?Z2<x?0:-1:0:-1:py<x?Iy<x?bd<x?0:-1:0:v_<x?Ne<x?0:-1:0:-1:yo<x?Yh<x?xm<x?fy<x?o1<x?Hi<x?my<x?0:-1:0:-1:md<x?ol<x?0:-1:0:0:-1:_1<x?za<x?xl<x?ws<x?f7<x?Iu<x?0:-1:0:-1:n_<x?ym<x?0:-1:0:-1:Il<x?z_<x?Bo<x?xf<x?0:-1:0:-1:0:-1:vm<x?Ii<x?ce<x?Q7<x?bh<x?x3<x?E2<x?M<x&&tD<x?AE<x?0:-1:0:pg<x?Su<x?qm<x?t_<x?0:-1:0:-1:S_<x?jd<x?0:-1:0:-1:AC<x?wE<x?Zr<x?Td<x?t7<x?0:-1:0:-1:lh<x?JE<x?0:-1:0:0:yl<x?Q_<x?jf<x?X2<x?Wm<x?0:-1:Kb<x?_i<x?0:-1:0:-1:K0<x?jC<x?0:-1:Mn<x?C3<x?0:-1:0:oy<x?0:Zv<x?hb<x?0:-1:RC<x?qh<x?0:-1:0:$f<x?gy<x?xD<x?dC<x?Xd<x?Z<x?Jl<x?0:-1:0:$C<x?Ss<x?0:-1:0:-1:0:Xo<x?pp<x?Bs<x?e8<x?TC<x?0:-1:0:-1:Ug<x?bm<x?0:-1:0:0:Hu<x?zC<x?om<x?y3<x?VD<x?0:-1:TE<x?Lf<x?0:-1:0:0:-1:F7<x?mv<x?b7<x?ov<x?Xn<x?0:-1:0:Lb<x?Ky<x?0:-1:0:-1:dE<x?K3<x?H<x?kb<x?0:-1:0:-1:0:-1:Vf<x?Cd<x?zv<x?hl<x?hm<x?Qp<x?sC<x?f0<x?yD<x?Th<x?Qy<x?0:-1:0:-1:vg<x?E_<x?0:-1:0:-1:Sm<x?Zm<x?n7<x?k_<x?0:-1:0:-1:ot<x?PD<x?0:-1:0:B0<x?e_<x?iC<x?Nb<x?Ob<x?ab<x?0:-1:0:-1:Ws<x?pb<x?0:-1:0:-1:tC<x?wv<x?P2<x?DE<x?0:-1:0:-1:Mo<x?Vg<x?0:-1:0:-1:Wl<x?Gd<x?Sl<x?O7<x?mu<x?0:-1:IC<x?A0<x?0:-1:0:c2<x?jb<x?Yl<x?b1<x?0:-1:0:-1:Dy<x?oi<x?0:-1:0:-1:zh<x?Te<x?of<x?Vy<x?Yu<x?Ut<x?0:-1:0:-1:Rv<x?sv<x?0:-1:0:-1:U7<x?Bm<x?Bv<x?qg<x?0:-1:0:-1:jg<x?cD<x?0:-1:0:-1:tb<x?h7<x?Ay<x?Wh<x?_7<x?rC<x?hc<x?Uu<x?oC<x?O0<x?0:-1:0:-1:s1<x?HD<x?0:-1:0:-1:Ix<x?rd<x?df<x?tl<x?0:-1:0:-1:Tm<x?B2<x?0:-1:0:-1:Pv<x?Tp<x?e0<x?Xc<x?a_<x?0:-1:0:-1:ly<x?Wp<x?0:-1:0:mp<x?Nv<x?Vh<x?tf<x?0:-1:0:-1:rl<x?aD<x?0:-1:0:-1:Lv<x?d0<x?Gm<x?Xv<x?LE<x?Fg<x?0:-1:0:Zc<x?Zb<x?0:-1:0:E3<x?0:Qg<x?wg<x?0:-1:0:-1:pf<x?Bh<x?Id<x?Ly<x?R_<x?U0<x?0:-1:0:-1:Up<x?G_<x?0:-1:0:-1:k3<x?cy<x?g0<x?U1<x?0:-1:0:-1:qr<x?De<x?0:-1:0:-1:Zt<x?ry<x?Qm<x?gm<x?Ds<x?a8<x?ql<x?wf<x?L2<x?xu<x?jy<x?Rd<x?Rb<x?W3<x?Y0<x?0:-1:0:-1:U_<x?xC<x?0:-1:0:-1:Jm<x?Dm<x?Al<x?Fl<x?0:-1:0:-1:F_<x?Nt<x?0:-1:0:-1:Ff<x?0:y2<x?l1<x?vy<x?gd<x?0:-1:0:-1:Fh<x?Sh<x?0:-1:0:-1:P0<x?W7<x?YE<x?i8<x?dD<x?Vb<x?Y7<x?V0<x?0:-1:0:-1:av<x?W<x?0:-1:0:-1:Vv<x?gC<x?Is<x?cp<x?0:-1:0:-1:Gb<x?RE<x?0:-1:0:-1:y0<x?Ou<x?bo<x?rb<x?E7<x?ZD<x?0:-1:0:-1:Ty<x?by<x?0:-1:0:-1:mh<x?mm<x?Gg<x?I3<x?0:-1:0:-1:li<x?Av<x?0:-1:0:-1:La<x?Uy<x?Cp<x?js<x?q_<x?lD<x&&QD<x?ID<x?0:-1:0:-1:H1<x?c0<x?N_<x?l2<x?0:-1:0:-1:kp<x?Hy<x?0:-1:0:-1:hf<x?fE<x?gb<x?d<x?w3<x?_o<x?0:-1:0:-1:td<x?C1<x?0:-1:0:-1:cE<x?wb<x?0:-1:0:Xg<x?Fv<x?x8<x?0:Bb<x?uC<x?fb<x?0:-1:0:fD<x?nf<x?0:-1:0:-1:J7<x?Kt<x?og<x?V_<x?G<x?Kv<x?0:-1:0:-1:wm<x?Jf<x?0:-1:0:-1:rm<x&&Fb<x?kh<x?0:-1:0:q3<x?$<x?x2<x?Uh<x?BE<x&&X3<x?ts<x?0:-1:0:J3<x?G1<x?qs<x?0:-1:0:Wv<x?N3<x?0:-1:0:0:Hh<x?$m<x?0:Sv<x?_b<x?0:-1:0:g_<x?Rc<x?Ev<x?PC<x?Mr<x?0:-1:0:-1:0:rv<x?0:$d<x?Ur<x?0:-1:0:nx<x?ZE<x?qa<x?0:Eg<x&&JD<x?M2<x?0:-1:0:ip<x?K7<x?0:$c<x?Vm<x?0:-1:0:gt<x&&R7<x?Mf<x?0:-1:0:z7<x?_<x?0:zd<x?bC<x?0:-1:eC<x?L3<x?0:-1:0:Sy<x?wC<x?cl<x?0:-1:0:ng<x?0:zy<x?Pf<x?0:-1:0:-1:Hp<x?lg<x?I1<x?h_<x?Rl<x?ev<x?IE<x?r8<x?PE<x?0:-1:sp<x?D3<x?0:-1:0:fh<x?0:A3<x?Ip<x?0:-1:0:-1:0:p8<x?Hf<x?0:Dv<x?Px<x?Pe<x?kD<x?0:-1:0:-1:0:By<x?wd<x&&$b<x?ny<x?0:-1:0:_E<x?$v<x?iy<x?em<x?0:-1:0:-1:0:Lo<x?sf<x?Zd<x?R0<x?0:v3<x?CC<x?zl<x?iD<x?0:-1:0:-1:0:ig<x?m2<x?rp<x&&gD<x?Ed<x?0:-1:0:-1:bn<x?__<x?0:-1:0:-1:i7<x?Fo<x?nd<x?Y2<x?nC<x?0:Wb<x?cg<x?0:-1:0:-1:Eh<x?wu<x?T_<x?lp<x?0:-1:0:-1:sb<x?ds<x?0:-1:0:-1:vh<x?dv<x?Hx<x?Tv<x?Rp<x?0:-1:0:xi<x?af<x?0:-1:0:-1:0:-1:mE<x?bf<x?Ib<x?r7<x?sh<x?I0<x?Lm<x?qf<x&&_t<x?ep<x?0:-1:0:-1:HE<x&&kC<x?Hg<x?0:-1:0:-1:s2<x?rx<x?AD<x?0:Nf<x?h2<x?0:-1:0:-1:Ah<x?uh<x?Ch<x?hD<x?0:-1:0:-1:Zg<x?q7<x?0:-1:0:-1:_v<x?f3<x?Cv<x?ay<x?Yy<x?hg<x?Md<x?Ro<x?0:-1:0:-1:ND<x?$h<x?0:-1:0:-1:kf<x?Of<x?0:-1:TD<x?nv<x?0:-1:0:-1:R3<x?ch<x?y_<x?WD<x?Js<x?0:-1:0:-1:Ap<x?qb<x?0:-1:0:Mb<x?ht<x?0:-1:0:pl<x?d7<x?Uf<x?nl<x?Km<x?j<x?_d<x?G7<x?xb<x?0:-1:0:-1:D0<x?H7<x?0:-1:0:Vp<x?w_<x?0:-1:a3<x?Sg<x?0:-1:0:-1:zD<x?bE<x&&Yv<x?Ry<x?0:-1:0:oc<x?$i<x?0:-1:XD<x?t3<x?0:-1:0:-1:$e<x?ah<x?Bi<x?d_<x?Pu<x?j2<x?an<x?0:-1:0:z3<x?Yb<x?0:-1:0:-1:zb<x?B_<x?nm<x?eD<x?0:-1:0:-1:ug<x?T7<x?0:-1:0:-1:Z7<x?Yi<x?J_<x?Dd<x?W1<x?Oy<x?0:-1:0:-1:M_<x?Z3<x?0:-1:0:-1:eb<x?im<x?qC<x?Rf<x?0:-1:0:-1:Np<x?Kc<x?0:-1:0:-1:fr(OX1,x+Kd|0)-1|0:-1}return-1},wY=function(i){if(i){var x=i[1];return 45<x?Uk<x?-1:fr(yY1,x+uI|0)-1|0:-1}return-1},aO=function(i){if(i){var x=i[1];return 35<x?C_<x?ha<x?vs<x?-1:ne<x?Mu<x?Nh<x?_D<x?O2<x?a7<x?uy<x?pE<x?Jg<x?0:-1:$D<x?ks<x?0:-1:0:-1:N2<x?up<x?A7<x?A_<x?0:-1:0:-1:e<x?Xf<x?0:-1:0:-1:Ld<x?w1<x?Zo<x?Ov<x?pv<x?mg<x?Xy<x?Cm<x?ob<x?Sd<x?0:-1:0:-1:d2<x?qt<x?0:-1:0:-1:Am<x?$_<x?Bt<x?Pp<x?0:-1:0:-1:Fc<x?_3<x?0:-1:0:-1:yy<x?sn<x?G3<x?jl<x?vd<x?Hb<x?0:-1:0:-1:Gt<x?aC<x?0:-1:0:-1:_e<x?Ac<x?Gv<x?op<x?0:-1:0:-1:Zl<x?Jv<x?0:-1:0:-1:I_<x?Pb<x?gg<x?ih<x?m7<x?P7<x?np<x?bv<x?0:-1:0:-1:Yp<x?Rg<x?0:-1:0:-1:dp<x?V7<x?Kh<x?Xl<x?0:-1:0:-1:oD<x?Jb<x?0:-1:0:-1:Us<x?dd<x?hv<x?Dp<x?jv<x?Zp<x?0:-1:0:-1:bD<x?V3<x?0:-1:0:-1:gv<x?iv<x?oh<x?Ym<x?0:-1:0:-1:Gy<x?p7<x?0:-1:0:-1:fp<x?Ef<x?c7<x?l0<x?Z1<x?Hr<x?Eb<x?Xb<x?OD<x?R2<x?kE<x?Iv<x?0:-1:0:-1:0:Ox<x?Kf<x?gE<x?Va<x?0:-1:0:-1:ge<x?_l<x?0:-1:0:pD<x?vE<x?ky<x?wp<x?0:-1:p3<x?Ih<x?0:-1:0:-1:MD<x?OC<x?0:-1:KC<x?r3<x?0:-1:0:-1:I2<x?lo<x?Re<x?yC<x?ME<x?db<x?fg<x?Wy<x?0:-1:0:-1:XE<x?xd<x?0:-1:0:-1:Wa<x?yc<x?S3<x?Kl<x?0:-1:0:-1:Fy<x?xc<x?0:-1:0:-1:ka<x?Kp<x?uE<x?Lg<x?_C<x?OE<x?0:-1:0:-1:v2<x?Hm<x?0:-1:0:-1:Wx<x?ff<x?Tb<x?Fm<x?0:-1:0:-1:b3<x?k7<x?0:-1:0:-1:d3<x?Ad<x?P3<x?Yd<x?eu<x?l7<x?Mt<x?v1<x?Cg<x?Xm<x?0:-1:0:-1:zf<x?mD<x?0:-1:0:-1:Mv<x?tt<x?Pm<x?ld<x?0:-1:0:-1:$3<x?zp<x?0:-1:0:-1:qx<x?n3<x?YD<x?uD<x?I7<x?fl<x?0:-1:0:-1:al<x?j_<x?0:-1:0:-1:Cc<x?N1<x?O_<x?B7<x?0:-1:0:-1:pd<x?dm<x?0:-1:0:-1:N0<x?Xh<x?dh<x?dg<x?b0<x?bp<x?Nl<x?Ph<x?0:-1:0:-1:M3<x?lb<x?0:-1:0:-1:rc<x?ec<x?P_<x?Ud<x?0:-1:0:-1:fv<x?K_<x?0:-1:0:-1:Om<x?Ag<x?rf<x?O3<x?Fn<x?bt<x?0:-1:0:-1:U<x?j7<x?0:-1:0:-1:DC<x?ed<x?Im<x?i3<x?0:-1:0:-1:0:-1:kv<x?Hd<x?Jy<x?Za<x?wD<x?E1<x?ag<x?xh<x?Hv<x?vv<x?l3<x?0:-1:0:-1:H3<x?co<x?0:-1:0:-1:LD<x?ex<x?qy<x?nD<x?0:-1:0:-1:ED<x?Pa<x?0:-1:0:-1:sD<x?th<x?hh<x?L_<x?h3<x?Cy<x?0:-1:0:-1:w7<x?Ey<x?0:-1:0:-1:H2<x?eh<x?xv<x?0:-1:0:u2<x?C<x?0:-1:0:P<x?Kg<x?wl<x?b_<x?cc<x?W_<x?0:-1:Tg<x?i_<x?0:-1:0:-1:Sb<x?tv<x?s7<x?Ku<x?0:-1:0:-1:nb<x?Cf<x?0:-1:0:-1:aE<x?Gr<x?hE<x?O<x?0:-1:Uc<x?Qv<x?0:-1:0:-1:Un<x?T3<x?X_<x?BC<x?0:-1:0:-1:p2<x?dy<x?0:-1:0:-1:Jr<x?uv<x?Gc<x?mo<x?Q3<x?vD<x?yv<x?Qd<x?e7<x?Jh<x?0:-1:0:-1:u7<x?b2<x?0:-1:0:-1:BD<x?0:oE<x?bg<x?0:-1:0:-1:B3<x?0:sE<x?G2<x?pa<x?o7<x?0:-1:0:-1:0:-1:r_<x?$y<x?U3<x?X7<x?C7<x?wh<x?L7<x?0:-1:0:-1:Zy<x?t8<x?0:-1:0:LC<x?jp<x?0:-1:F3<x?lE<x?0:-1:0:-1:UD<x?uc<x?tm<x?C0<x?0:-1:G0<x?rD<x?0:-1:0:-1:0:Qb<x?N7<x?D2<x?Se<x?D_<x?_g<x?MC<x?hy<x?ub<x?ph<x?$7<x?yE<x?0:-1:S0<x?Dh<x?0:-1:0:-1:Ko<x&&kg<x?o0<x?0:-1:0:FD<x?_y<x?c3<x&&EC<x?ho<x?0:-1:0:-1:Xp<x?Bp<x?_u<x?GD<x?0:-1:0:-1:Q2<x?g7<x?0:-1:0:Y_<x?NE<x?n8<x||Fd<x?0:SE<x?Y3<x?0:-1:0:-1:rs<x||Pc<x?0:SC<x?Bd<x?0:-1:0:D7<x?Em<x?Ju<x?QE<x?zm<x&&sy<x?mb<x?0:-1:0:m_<x&&g3<x?Gf<x?0:-1:0:-1:CD<x?Mg<x?Yg<x?If<x?_c<x?Uv<x?0:-1:0:-1:0:-1:0:Mc<x?wy<x?CE<x?EE<x?vp<x?D<x?Ub<x?0:-1:0:-1:0:NC<x?0:e3<x?m3<x?0:-1:0:-1:j3<x&&v7<x&&cv<x?FC<x?0:-1:0:Gh<x?Mm<x?fi<x?SD<x?FE<x?ri<x?DD<x?qD<x?0:-1:mf<x?Ep<x?0:-1:0:-1:0:Nc<x?Wg<x?0:My<x?ib<x?0:-1:0:UC<x&&p1<x?C2<x?0:-1:0:GE<x?pm<x?o2<x?Dg<x&&S7<x?zg<x?0:-1:0:-1:Tt<x?y7<x?cb<x?M7<x?0:-1:0:-1:0:0:-1:qv<x?WC<x?am<x?_m<x?Op<x?x_<x?0:-1:lv<x?ze<x?0:-1:0:0:x7<x?Oh<x?H_<x?0:$a<x?Z2<x?0:-1:0:-1:py<x?Iy<x?bd<x?0:-1:0:v_<x?Ne<x?0:-1:0:-1:yo<x?Yh<x?xm<x?fy<x?o1<x?Hi<x?my<x?0:-1:0:-1:md<x?ol<x?0:-1:0:0:-1:_1<x?za<x?xl<x?ws<x?f7<x?Iu<x?0:-1:0:-1:n_<x?ym<x?0:-1:0:-1:Il<x?z_<x?Bo<x?xf<x?0:-1:0:-1:0:-1:vm<x?Ii<x?ce<x?Q7<x?bh<x?x3<x?E2<x?M<x&&tD<x?AE<x?0:-1:0:pg<x?Su<x?qm<x?t_<x?0:-1:0:-1:S_<x?jd<x?0:-1:0:-1:AC<x?wE<x?Zr<x?Td<x?t7<x?0:-1:0:-1:lh<x?JE<x?0:-1:0:0:yl<x?Q_<x?jf<x?X2<x?Wm<x?0:-1:Kb<x?_i<x?0:-1:0:-1:K0<x?jC<x?0:-1:Mn<x?C3<x?0:-1:0:oy<x?0:Zv<x?hb<x?0:-1:RC<x?qh<x?0:-1:0:$f<x?gy<x?xD<x?dC<x?Xd<x?Z<x?Jl<x?0:-1:0:$C<x?Ss<x?0:-1:0:-1:0:Xo<x?pp<x?Bs<x?e8<x?TC<x?0:-1:0:-1:Ug<x?bm<x?0:-1:0:0:Hu<x?zC<x?om<x?y3<x?VD<x?0:-1:TE<x?Lf<x?0:-1:0:0:-1:F7<x?mv<x?b7<x?ov<x?Xn<x?0:-1:0:Lb<x?Ky<x?0:-1:0:-1:dE<x?K3<x?H<x?kb<x?0:-1:0:-1:0:-1:Vf<x?Cd<x?zv<x?hl<x?hm<x?Qp<x?sC<x?f0<x?yD<x?Th<x?Qy<x?0:-1:0:-1:vg<x?E_<x?0:-1:0:-1:Sm<x?Zm<x?n7<x?k_<x?0:-1:0:-1:ot<x?PD<x?0:-1:0:B0<x?e_<x?iC<x?Nb<x?Ob<x?ab<x?0:-1:0:-1:Ws<x?pb<x?0:-1:0:-1:tC<x?wv<x?P2<x?DE<x?0:-1:0:-1:Mo<x?Vg<x?0:-1:0:-1:Wl<x?Gd<x?Sl<x?O7<x?mu<x?0:-1:IC<x?A0<x?0:-1:0:c2<x?jb<x?Yl<x?b1<x?0:-1:0:-1:Dy<x?oi<x?0:-1:0:-1:zh<x?Te<x?of<x?Vy<x?Yu<x?Ut<x?0:-1:0:-1:Rv<x?sv<x?0:-1:0:-1:U7<x?Bm<x?Bv<x?qg<x?0:-1:0:-1:jg<x?cD<x?0:-1:0:-1:tb<x?h7<x?Ay<x?Wh<x?_7<x?rC<x?hc<x?Uu<x?oC<x?O0<x?0:-1:0:-1:s1<x?HD<x?0:-1:0:-1:Ix<x?rd<x?df<x?tl<x?0:-1:0:-1:Tm<x?B2<x?0:-1:0:-1:Pv<x?Tp<x?e0<x?Xc<x?a_<x?0:-1:0:-1:ly<x?Wp<x?0:-1:0:mp<x?Nv<x?Vh<x?tf<x?0:-1:0:-1:rl<x?aD<x?0:-1:0:-1:Lv<x?d0<x?Gm<x?Xv<x?LE<x?Fg<x?0:-1:0:Zc<x?Zb<x?0:-1:0:E3<x?0:Qg<x?wg<x?0:-1:0:-1:pf<x?Bh<x?Id<x?Ly<x?R_<x?U0<x?0:-1:0:-1:Up<x?G_<x?0:-1:0:-1:k3<x?cy<x?g0<x?U1<x?0:-1:0:-1:qr<x?De<x?0:-1:0:-1:Zt<x?ry<x?Qm<x?gm<x?Ds<x?a8<x?ql<x?wf<x?L2<x?xu<x?jy<x?Rd<x?Rb<x?W3<x?Y0<x?0:-1:0:-1:U_<x?xC<x?0:-1:0:-1:Jm<x?Dm<x?Al<x?Fl<x?0:-1:0:-1:F_<x?Nt<x?0:-1:0:-1:Ff<x?0:y2<x?l1<x?vy<x?gd<x?0:-1:0:-1:Fh<x?Sh<x?0:-1:0:-1:P0<x?W7<x?YE<x?i8<x?dD<x?Vb<x?Y7<x?V0<x?0:-1:0:-1:av<x?W<x?0:-1:0:-1:Vv<x?gC<x?Is<x?cp<x?0:-1:0:-1:Gb<x?RE<x?0:-1:0:-1:y0<x?Ou<x?bo<x?rb<x?E7<x?ZD<x?0:-1:0:-1:Ty<x?by<x?0:-1:0:-1:mh<x?mm<x?Gg<x?I3<x?0:-1:0:-1:li<x?Av<x?0:-1:0:-1:La<x?Uy<x?Cp<x?js<x?q_<x?lD<x&&QD<x?ID<x?0:-1:0:-1:H1<x?c0<x?N_<x?l2<x?0:-1:0:-1:kp<x?Hy<x?0:-1:0:-1:hf<x?fE<x?gb<x?d<x?w3<x?_o<x?0:-1:0:-1:td<x?C1<x?0:-1:0:-1:cE<x?wb<x?0:-1:0:Xg<x?Fv<x?x8<x?0:Bb<x?uC<x?fb<x?0:-1:0:fD<x?nf<x?0:-1:0:-1:J7<x?Kt<x?og<x?V_<x?G<x?Kv<x?0:-1:0:-1:wm<x?Jf<x?0:-1:0:-1:rm<x&&Fb<x?kh<x?0:-1:0:q3<x?$<x?x2<x?Uh<x?BE<x&&X3<x?ts<x?0:-1:0:J3<x?G1<x?qs<x?0:-1:0:Wv<x?N3<x?0:-1:0:0:Hh<x?$m<x?0:Sv<x?_b<x?0:-1:0:g_<x?Rc<x?Ev<x?PC<x?Mr<x?0:-1:0:-1:0:rv<x?0:$d<x?Ur<x?0:-1:0:nx<x?ZE<x?qa<x?0:Eg<x&&JD<x?M2<x?0:-1:0:ip<x?K7<x?0:$c<x?Vm<x?0:-1:0:gt<x&&R7<x?Mf<x?0:-1:0:z7<x?_<x?0:zd<x?bC<x?0:-1:eC<x?L3<x?0:-1:0:Sy<x?wC<x?cl<x?0:-1:0:ng<x?0:zy<x?Pf<x?0:-1:0:-1:Hp<x?lg<x?I1<x?h_<x?Rl<x?ev<x?IE<x?r8<x?PE<x?0:-1:sp<x?D3<x?0:-1:0:fh<x?0:A3<x?Ip<x?0:-1:0:-1:0:p8<x?Hf<x?0:Dv<x?Px<x?Pe<x?kD<x?0:-1:0:-1:0:By<x?wd<x&&$b<x?ny<x?0:-1:0:_E<x?$v<x?iy<x?em<x?0:-1:0:-1:0:Lo<x?sf<x?Zd<x?R0<x?0:v3<x?CC<x?zl<x?iD<x?0:-1:0:-1:0:ig<x?m2<x?rp<x&&gD<x?Ed<x?0:-1:0:-1:bn<x?__<x?0:-1:0:-1:i7<x?Fo<x?nd<x?Y2<x?nC<x?0:Wb<x?cg<x?0:-1:0:-1:Eh<x?wu<x?T_<x?lp<x?0:-1:0:-1:sb<x?ds<x?0:-1:0:-1:vh<x?dv<x?Hx<x?Tv<x?Rp<x?0:-1:0:xi<x?af<x?0:-1:0:-1:0:-1:mE<x?bf<x?Ib<x?r7<x?sh<x?I0<x?Lm<x?qf<x&&_t<x?ep<x?0:-1:0:-1:HE<x&&kC<x?Hg<x?0:-1:0:-1:s2<x?rx<x?AD<x?0:Nf<x?h2<x?0:-1:0:-1:Ah<x?uh<x?Ch<x?hD<x?0:-1:0:-1:Zg<x?q7<x?0:-1:0:-1:_v<x?f3<x?Cv<x?ay<x?Yy<x?hg<x?Md<x?Ro<x?0:-1:0:-1:ND<x?$h<x?0:-1:0:-1:kf<x?Of<x?0:-1:TD<x?nv<x?0:-1:0:-1:R3<x?ch<x?y_<x?WD<x?Js<x?0:-1:0:-1:Ap<x?qb<x?0:-1:0:Mb<x?ht<x?0:-1:0:pl<x?d7<x?Uf<x?nl<x?Km<x?j<x?_d<x?G7<x?xb<x?0:-1:0:-1:D0<x?H7<x?0:-1:0:Vp<x?w_<x?0:-1:a3<x?Sg<x?0:-1:0:-1:zD<x?bE<x&&Yv<x?Ry<x?0:-1:0:oc<x?$i<x?0:-1:XD<x?t3<x?0:-1:0:-1:$e<x?ah<x?Bi<x?d_<x?Pu<x?j2<x?an<x?0:-1:0:z3<x?Yb<x?0:-1:0:-1:zb<x?B_<x?nm<x?eD<x?0:-1:0:-1:ug<x?T7<x?0:-1:0:-1:Z7<x?Yi<x?J_<x?Dd<x?W1<x?Oy<x?0:-1:0:-1:M_<x?Z3<x?0:-1:0:-1:eb<x?im<x?qC<x?Rf<x?0:-1:0:-1:Np<x?Kc<x?0:-1:0:-1:fr(BX1,x+Kd|0)-1|0:-1}return-1},kY=function(i){if(i){var x=i[1];return 78<x?zx<x?-1:fr(m8,x-79|0)-1|0:-1}return-1},Gd0=function(i){if(i){var x=i[1];return 41<x?42<x?-1:0:-1}return-1},Xd0=function(i){if(i){var x=i[1];return 35<x?$u<x?-1:fr(zG1,x+Kd|0)-1|0:-1}return-1},NY=function(i){if(i){var x=i[1];return 47<x?Uk<x?-1:fr(PY1,x+VC|0)-1|0:-1}return-1},XV=function(i){if(i){var x=i[1];return 35<x?$u<x?-1:fr(WG1,x+Kd|0)-1|0:-1}return-1},Yd0=function(i){if(i){var x=i[1];return 41<x?61<x?-1:fr(UY1,x+-42|0)-1|0:-1}return-1},MK=function(i){if(i){var x=i[1];return 44<x?48<x?-1:fr(tX1,x+Fr|0)-1|0:-1}return-1},Qd0=function(i){if(i){var x=i[1];return 44<x?45<x?-1:0:-1}return-1},Zd0=function(i){if(i){var x=i[1];return uw<x?dN<x?-1:0:-1}return-1},PY=function(i){if(i){var x=i[1];return X<x?Lk<x?-1:0:-1}return-1},x20=function(i){if(i){var x=i[1];return 99<x?Yw<x?-1:0:-1}return-1},AL=function(i){if(i){var x=i[1];return 35<x?C_<x?ha<x?vs<x?-1:ne<x?Mu<x?Nh<x?_D<x?O2<x?a7<x?uy<x?pE<x?Jg<x?0:-1:$D<x?ks<x?0:-1:0:-1:N2<x?up<x?A7<x?A_<x?0:-1:0:-1:e<x?Xf<x?0:-1:0:-1:Ld<x?w1<x?Zo<x?Ov<x?pv<x?mg<x?Xy<x?Cm<x?ob<x?Sd<x?0:-1:0:-1:d2<x?qt<x?0:-1:0:-1:Am<x?$_<x?Bt<x?Pp<x?0:-1:0:-1:Fc<x?_3<x?0:-1:0:-1:yy<x?sn<x?G3<x?jl<x?vd<x?Hb<x?0:-1:0:-1:Gt<x?aC<x?0:-1:0:-1:_e<x?Ac<x?Gv<x?op<x?0:-1:0:-1:Zl<x?Jv<x?0:-1:0:-1:I_<x?Pb<x?gg<x?ih<x?m7<x?P7<x?np<x?bv<x?0:-1:0:-1:Yp<x?Rg<x?0:-1:0:-1:dp<x?V7<x?Kh<x?Xl<x?0:-1:0:-1:oD<x?Jb<x?0:-1:0:-1:Us<x?dd<x?hv<x?Dp<x?jv<x?Zp<x?0:-1:0:-1:bD<x?V3<x?0:-1:0:-1:gv<x?iv<x?oh<x?Ym<x?0:-1:0:-1:Gy<x?p7<x?0:-1:0:-1:fp<x?Ef<x?c7<x?l0<x?Z1<x?Hr<x?Eb<x?Xb<x?OD<x?R2<x?kE<x?Iv<x?0:-1:0:-1:0:Ox<x?Kf<x?gE<x?Va<x?0:-1:0:-1:ge<x?_l<x?0:-1:0:pD<x?vE<x?ky<x?wp<x?0:-1:p3<x?Ih<x?0:-1:0:-1:MD<x?OC<x?0:-1:KC<x?r3<x?0:-1:0:-1:I2<x?lo<x?Re<x?yC<x?ME<x?db<x?fg<x?Wy<x?0:-1:0:-1:XE<x?xd<x?0:-1:0:-1:Wa<x?yc<x?S3<x?Kl<x?0:-1:0:-1:Fy<x?xc<x?0:-1:0:-1:ka<x?Kp<x?uE<x?Lg<x?_C<x?OE<x?0:-1:0:-1:v2<x?Hm<x?0:-1:0:-1:Wx<x?ff<x?Tb<x?Fm<x?0:-1:0:-1:b3<x?k7<x?0:-1:0:-1:d3<x?Ad<x?P3<x?Yd<x?eu<x?l7<x?Mt<x?v1<x?Cg<x?Xm<x?0:-1:0:-1:zf<x?mD<x?0:-1:0:-1:Mv<x?tt<x?Pm<x?ld<x?0:-1:0:-1:$3<x?zp<x?0:-1:0:-1:qx<x?n3<x?YD<x?uD<x?I7<x?fl<x?0:-1:0:-1:al<x?j_<x?0:-1:0:-1:Cc<x?N1<x?O_<x?B7<x?0:-1:0:-1:pd<x?dm<x?0:-1:0:-1:N0<x?Xh<x?dh<x?dg<x?b0<x?bp<x?Nl<x?Ph<x?0:-1:0:-1:M3<x?lb<x?0:-1:0:-1:rc<x?ec<x?P_<x?Ud<x?0:-1:0:-1:fv<x?K_<x?0:-1:0:-1:Om<x?Ag<x?rf<x?O3<x?Fn<x?bt<x?0:-1:0:-1:U<x?j7<x?0:-1:0:-1:DC<x?ed<x?Im<x?i3<x?0:-1:0:-1:0:-1:kv<x?Hd<x?Jy<x?Za<x?wD<x?E1<x?ag<x?xh<x?Hv<x?vv<x?l3<x?0:-1:0:-1:H3<x?co<x?0:-1:0:-1:LD<x?ex<x?qy<x?nD<x?0:-1:0:-1:ED<x?Pa<x?0:-1:0:-1:sD<x?th<x?hh<x?L_<x?h3<x?Cy<x?0:-1:0:-1:w7<x?Ey<x?0:-1:0:-1:H2<x?eh<x?xv<x?0:-1:0:u2<x?C<x?0:-1:0:P<x?Kg<x?wl<x?b_<x?cc<x?W_<x?0:-1:Tg<x?i_<x?0:-1:0:-1:Sb<x?tv<x?s7<x?Ku<x?0:-1:0:-1:nb<x?Cf<x?0:-1:0:-1:aE<x?Gr<x?hE<x?O<x?0:-1:Uc<x?Qv<x?0:-1:0:-1:Un<x?T3<x?X_<x?BC<x?0:-1:0:-1:p2<x?dy<x?0:-1:0:-1:Jr<x?uv<x?Gc<x?mo<x?Q3<x?vD<x?yv<x?Qd<x?e7<x?Jh<x?0:-1:0:-1:u7<x?b2<x?0:-1:0:-1:BD<x?0:oE<x?bg<x?0:-1:0:-1:B3<x?0:sE<x?G2<x?pa<x?o7<x?0:-1:0:-1:0:-1:r_<x?$y<x?U3<x?X7<x?C7<x?wh<x?L7<x?0:-1:0:-1:Zy<x?t8<x?0:-1:0:LC<x?jp<x?0:-1:F3<x?lE<x?0:-1:0:-1:UD<x?uc<x?tm<x?C0<x?0:-1:G0<x?rD<x?0:-1:0:-1:0:Qb<x?N7<x?D2<x?Se<x?D_<x?_g<x?MC<x?hy<x?ub<x?ph<x?$7<x?yE<x?0:-1:S0<x?Dh<x?0:-1:0:-1:Ko<x&&kg<x?o0<x?0:-1:0:FD<x?_y<x?c3<x&&EC<x?ho<x?0:-1:0:-1:Xp<x?Bp<x?_u<x?GD<x?0:-1:0:-1:Q2<x?g7<x?0:-1:0:Y_<x?NE<x?n8<x||Fd<x?0:SE<x?Y3<x?0:-1:0:-1:rs<x||Pc<x?0:SC<x?Bd<x?0:-1:0:D7<x?Em<x?Ju<x?QE<x?zm<x&&sy<x?mb<x?0:-1:0:m_<x&&g3<x?Gf<x?0:-1:0:-1:CD<x?Mg<x?Yg<x?If<x?_c<x?Uv<x?0:-1:0:-1:0:-1:0:Mc<x?wy<x?CE<x?EE<x?vp<x?D<x?Ub<x?0:-1:0:-1:0:NC<x?0:e3<x?m3<x?0:-1:0:-1:j3<x&&v7<x&&cv<x?FC<x?0:-1:0:Gh<x?Mm<x?fi<x?SD<x?FE<x?ri<x?DD<x?qD<x?0:-1:mf<x?Ep<x?0:-1:0:-1:0:Nc<x?Wg<x?0:My<x?ib<x?0:-1:0:UC<x&&p1<x?C2<x?0:-1:0:GE<x?pm<x?o2<x?Dg<x&&S7<x?zg<x?0:-1:0:-1:Tt<x?y7<x?cb<x?M7<x?0:-1:0:-1:0:0:-1:qv<x?WC<x?am<x?_m<x?Op<x?x_<x?0:-1:lv<x?ze<x?0:-1:0:0:x7<x?Oh<x?H_<x?0:$a<x?Z2<x?0:-1:0:-1:py<x?Iy<x?bd<x?0:-1:0:v_<x?Ne<x?0:-1:0:-1:yo<x?Yh<x?xm<x?fy<x?o1<x?Hi<x?my<x?0:-1:0:-1:md<x?ol<x?0:-1:0:0:-1:_1<x?za<x?xl<x?ws<x?f7<x?Iu<x?0:-1:0:-1:n_<x?ym<x?0:-1:0:-1:Il<x?z_<x?Bo<x?xf<x?0:-1:0:-1:0:-1:vm<x?Ii<x?ce<x?Q7<x?bh<x?x3<x?E2<x?M<x&&tD<x?AE<x?0:-1:0:pg<x?Su<x?qm<x?t_<x?0:-1:0:-1:S_<x?jd<x?0:-1:0:-1:AC<x?wE<x?Zr<x?Td<x?t7<x?0:-1:0:-1:lh<x?JE<x?0:-1:0:0:yl<x?Q_<x?jf<x?X2<x?Wm<x?0:-1:Kb<x?_i<x?0:-1:0:-1:K0<x?jC<x?0:-1:Mn<x?C3<x?0:-1:0:oy<x?0:Zv<x?hb<x?0:-1:RC<x?qh<x?0:-1:0:$f<x?gy<x?xD<x?dC<x?Xd<x?Z<x?Jl<x?0:-1:0:$C<x?Ss<x?0:-1:0:-1:0:Xo<x?pp<x?Bs<x?e8<x?TC<x?0:-1:0:-1:Ug<x?bm<x?0:-1:0:0:Hu<x?zC<x?om<x?y3<x?VD<x?0:-1:TE<x?Lf<x?0:-1:0:0:-1:F7<x?mv<x?b7<x?ov<x?Xn<x?0:-1:0:Lb<x?Ky<x?0:-1:0:-1:dE<x?K3<x?H<x?kb<x?0:-1:0:-1:0:-1:Vf<x?Cd<x?zv<x?hl<x?hm<x?Qp<x?sC<x?f0<x?yD<x?Th<x?Qy<x?0:-1:0:-1:vg<x?E_<x?0:-1:0:-1:Sm<x?Zm<x?n7<x?k_<x?0:-1:0:-1:ot<x?PD<x?0:-1:0:B0<x?e_<x?iC<x?Nb<x?Ob<x?ab<x?0:-1:0:-1:Ws<x?pb<x?0:-1:0:-1:tC<x?wv<x?P2<x?DE<x?0:-1:0:-1:Mo<x?Vg<x?0:-1:0:-1:Wl<x?Gd<x?Sl<x?O7<x?mu<x?0:-1:IC<x?A0<x?0:-1:0:c2<x?jb<x?Yl<x?b1<x?0:-1:0:-1:Dy<x?oi<x?0:-1:0:-1:zh<x?Te<x?of<x?Vy<x?Yu<x?Ut<x?0:-1:0:-1:Rv<x?sv<x?0:-1:0:-1:U7<x?Bm<x?Bv<x?qg<x?0:-1:0:-1:jg<x?cD<x?0:-1:0:-1:tb<x?h7<x?Ay<x?Wh<x?_7<x?rC<x?hc<x?Uu<x?oC<x?O0<x?0:-1:0:-1:s1<x?HD<x?0:-1:0:-1:Ix<x?rd<x?df<x?tl<x?0:-1:0:-1:Tm<x?B2<x?0:-1:0:-1:Pv<x?Tp<x?e0<x?Xc<x?a_<x?0:-1:0:-1:ly<x?Wp<x?0:-1:0:mp<x?Nv<x?Vh<x?tf<x?0:-1:0:-1:rl<x?aD<x?0:-1:0:-1:Lv<x?d0<x?Gm<x?Xv<x?LE<x?Fg<x?0:-1:0:Zc<x?Zb<x?0:-1:0:E3<x?0:Qg<x?wg<x?0:-1:0:-1:pf<x?Bh<x?Id<x?Ly<x?R_<x?U0<x?0:-1:0:-1:Up<x?G_<x?0:-1:0:-1:k3<x?cy<x?g0<x?U1<x?0:-1:0:-1:qr<x?De<x?0:-1:0:-1:Zt<x?ry<x?Qm<x?gm<x?Ds<x?a8<x?ql<x?wf<x?L2<x?xu<x?jy<x?Rd<x?Rb<x?W3<x?Y0<x?0:-1:0:-1:U_<x?xC<x?0:-1:0:-1:Jm<x?Dm<x?Al<x?Fl<x?0:-1:0:-1:F_<x?Nt<x?0:-1:0:-1:Ff<x?0:y2<x?l1<x?vy<x?gd<x?0:-1:0:-1:Fh<x?Sh<x?0:-1:0:-1:P0<x?W7<x?YE<x?i8<x?dD<x?Vb<x?Y7<x?V0<x?0:-1:0:-1:av<x?W<x?0:-1:0:-1:Vv<x?gC<x?Is<x?cp<x?0:-1:0:-1:Gb<x?RE<x?0:-1:0:-1:y0<x?Ou<x?bo<x?rb<x?E7<x?ZD<x?0:-1:0:-1:Ty<x?by<x?0:-1:0:-1:mh<x?mm<x?Gg<x?I3<x?0:-1:0:-1:li<x?Av<x?0:-1:0:-1:La<x?Uy<x?Cp<x?js<x?q_<x?lD<x&&QD<x?ID<x?0:-1:0:-1:H1<x?c0<x?N_<x?l2<x?0:-1:0:-1:kp<x?Hy<x?0:-1:0:-1:hf<x?fE<x?gb<x?d<x?w3<x?_o<x?0:-1:0:-1:td<x?C1<x?0:-1:0:-1:cE<x?wb<x?0:-1:0:Xg<x?Fv<x?x8<x?0:Bb<x?uC<x?fb<x?0:-1:0:fD<x?nf<x?0:-1:0:-1:J7<x?Kt<x?og<x?V_<x?G<x?Kv<x?0:-1:0:-1:wm<x?Jf<x?0:-1:0:-1:rm<x&&Fb<x?kh<x?0:-1:0:q3<x?$<x?x2<x?Uh<x?BE<x&&X3<x?ts<x?0:-1:0:J3<x?G1<x?qs<x?0:-1:0:Wv<x?N3<x?0:-1:0:0:Hh<x?$m<x?0:Sv<x?_b<x?0:-1:0:g_<x?Rc<x?Ev<x?PC<x?Mr<x?0:-1:0:-1:0:rv<x?0:$d<x?Ur<x?0:-1:0:nx<x?ZE<x?qa<x?0:Eg<x&&JD<x?M2<x?0:-1:0:ip<x?K7<x?0:$c<x?Vm<x?0:-1:0:gt<x&&R7<x?Mf<x?0:-1:0:z7<x?_<x?0:zd<x?bC<x?0:-1:eC<x?L3<x?0:-1:0:Sy<x?wC<x?cl<x?0:-1:0:ng<x?0:zy<x?Pf<x?0:-1:0:-1:Hp<x?lg<x?I1<x?h_<x?Rl<x?ev<x?IE<x?r8<x?PE<x?0:-1:sp<x?D3<x?0:-1:0:fh<x?0:A3<x?Ip<x?0:-1:0:-1:0:p8<x?Hf<x?0:Dv<x?Px<x?Pe<x?kD<x?0:-1:0:-1:0:By<x?wd<x&&$b<x?ny<x?0:-1:0:_E<x?$v<x?iy<x?em<x?0:-1:0:-1:0:Lo<x?sf<x?Zd<x?R0<x?0:v3<x?CC<x?zl<x?iD<x?0:-1:0:-1:0:ig<x?m2<x?rp<x&&gD<x?Ed<x?0:-1:0:-1:bn<x?__<x?0:-1:0:-1:i7<x?Fo<x?nd<x?Y2<x?nC<x?0:Wb<x?cg<x?0:-1:0:-1:Eh<x?wu<x?T_<x?lp<x?0:-1:0:-1:sb<x?ds<x?0:-1:0:-1:vh<x?dv<x?Hx<x?Tv<x?Rp<x?0:-1:0:xi<x?af<x?0:-1:0:-1:0:-1:mE<x?bf<x?Ib<x?r7<x?sh<x?I0<x?Lm<x?qf<x&&_t<x?ep<x?0:-1:0:-1:HE<x&&kC<x?Hg<x?0:-1:0:-1:s2<x?rx<x?AD<x?0:Nf<x?h2<x?0:-1:0:-1:Ah<x?uh<x?Ch<x?hD<x?0:-1:0:-1:Zg<x?q7<x?0:-1:0:-1:_v<x?f3<x?Cv<x?ay<x?Yy<x?hg<x?Md<x?Ro<x?0:-1:0:-1:ND<x?$h<x?0:-1:0:-1:kf<x?Of<x?0:-1:TD<x?nv<x?0:-1:0:-1:R3<x?ch<x?y_<x?WD<x?Js<x?0:-1:0:-1:Ap<x?qb<x?0:-1:0:Mb<x?ht<x?0:-1:0:pl<x?d7<x?Uf<x?nl<x?Km<x?j<x?_d<x?G7<x?xb<x?0:-1:0:-1:D0<x?H7<x?0:-1:0:Vp<x?w_<x?0:-1:a3<x?Sg<x?0:-1:0:-1:zD<x?bE<x&&Yv<x?Ry<x?0:-1:0:oc<x?$i<x?0:-1:XD<x?t3<x?0:-1:0:-1:$e<x?ah<x?Bi<x?d_<x?Pu<x?j2<x?an<x?0:-1:0:z3<x?Yb<x?0:-1:0:-1:zb<x?B_<x?nm<x?eD<x?0:-1:0:-1:ug<x?T7<x?0:-1:0:-1:Z7<x?Yi<x?J_<x?Dd<x?W1<x?Oy<x?0:-1:0:-1:M_<x?Z3<x?0:-1:0:-1:eb<x?im<x?qC<x?Rf<x?0:-1:0:-1:Np<x?Kc<x?0:-1:0:-1:fr(RX1,x+Kd|0)-1|0:-1}return-1},IY=function(i){if(i){var x=i[1];return 47<x?F4<x?-1:fr(uX1,x+VC|0)-1|0:-1}return-1},OY=function(i){if(i){var x=i[1];return Gw<x?lr<x?-1:0:-1}return-1},RK=function(i){if(i){var x=i[1];return 45<x?57<x?-1:fr($Y1,x+uI|0)-1|0:-1}return-1},e20=function(i){if(i){var x=i[1];return 35<x?$u<x?-1:fr(qG1,x+Kd|0)-1|0:-1}return-1},UU=function(i){if(i){var x=i[1];return 47<x?QP<x?-1:fr(JY1,x+VC|0)-1|0:-1}return-1},$t0=function(i){if(i){var x=i[1];return 35<x?$u<x?-1:fr(JG1,x+Kd|0)-1|0:-1}return-1},aB=function(i){if(i){var x=i[1];return 9<x?10<x?-1:0:-1}return-1},t20=function(i){if(i){var x=i[1];return 35<x?$u<x?-1:fr(HG1,x+Kd|0)-1|0:-1}return-1},r20=function(i){if(i){var x=i[1];return 96<x?97<x?-1:0:-1}return-1},Kt0=function(i){if(i){var x=i[1];return 35<x?C_<x?ha<x?vs<x?-1:ne<x?Mu<x?Nh<x?_D<x?O2<x?a7<x?uy<x?pE<x?Jg<x?0:-1:$D<x?ks<x?0:-1:0:-1:N2<x?up<x?A7<x?A_<x?0:-1:0:-1:e<x?Xf<x?0:-1:0:-1:Ld<x?w1<x?Zo<x?Ov<x?pv<x?mg<x?Xy<x?Cm<x?ob<x?Sd<x?0:-1:0:-1:d2<x?qt<x?0:-1:0:-1:Am<x?$_<x?Bt<x?Pp<x?0:-1:0:-1:Fc<x?_3<x?0:-1:0:-1:yy<x?sn<x?G3<x?jl<x?vd<x?Hb<x?0:-1:0:-1:Gt<x?aC<x?0:-1:0:-1:_e<x?Ac<x?Gv<x?op<x?0:-1:0:-1:Zl<x?Jv<x?0:-1:0:-1:I_<x?Pb<x?gg<x?ih<x?m7<x?P7<x?np<x?bv<x?0:-1:0:-1:Yp<x?Rg<x?0:-1:0:-1:dp<x?V7<x?Kh<x?Xl<x?0:-1:0:-1:oD<x?Jb<x?0:-1:0:-1:Us<x?dd<x?hv<x?Dp<x?jv<x?Zp<x?0:-1:0:-1:bD<x?V3<x?0:-1:0:-1:gv<x?iv<x?oh<x?Ym<x?0:-1:0:-1:Gy<x?p7<x?0:-1:0:-1:fp<x?Ef<x?c7<x?l0<x?Z1<x?Hr<x?Eb<x?Xb<x?OD<x?R2<x?kE<x?Iv<x?0:-1:0:-1:0:Ox<x?Kf<x?gE<x?Va<x?0:-1:0:-1:ge<x?_l<x?0:-1:0:pD<x?vE<x?ky<x?wp<x?0:-1:p3<x?Ih<x?0:-1:0:-1:MD<x?OC<x?0:-1:KC<x?r3<x?0:-1:0:-1:I2<x?lo<x?Re<x?yC<x?ME<x?db<x?fg<x?Wy<x?0:-1:0:-1:XE<x?xd<x?0:-1:0:-1:Wa<x?yc<x?S3<x?Kl<x?0:-1:0:-1:Fy<x?xc<x?0:-1:0:-1:ka<x?Kp<x?uE<x?Lg<x?_C<x?OE<x?0:-1:0:-1:v2<x?Hm<x?0:-1:0:-1:Wx<x?ff<x?Tb<x?Fm<x?0:-1:0:-1:b3<x?k7<x?0:-1:0:-1:d3<x?Ad<x?P3<x?Yd<x?eu<x?l7<x?Mt<x?v1<x?Cg<x?Xm<x?0:-1:0:-1:zf<x?mD<x?0:-1:0:-1:Mv<x?tt<x?Pm<x?ld<x?0:-1:0:-1:$3<x?zp<x?0:-1:0:-1:qx<x?n3<x?YD<x?uD<x?I7<x?fl<x?0:-1:0:-1:al<x?j_<x?0:-1:0:-1:Cc<x?N1<x?O_<x?B7<x?0:-1:0:-1:pd<x?dm<x?0:-1:0:-1:N0<x?Xh<x?dh<x?dg<x?b0<x?bp<x?Nl<x?Ph<x?0:-1:0:-1:M3<x?lb<x?0:-1:0:-1:rc<x?ec<x?P_<x?Ud<x?0:-1:0:-1:fv<x?K_<x?0:-1:0:-1:Om<x?Ag<x?rf<x?O3<x?Fn<x?bt<x?0:-1:0:-1:U<x?j7<x?0:-1:0:-1:DC<x?ed<x?Im<x?i3<x?0:-1:0:-1:0:-1:kv<x?Hd<x?Jy<x?Za<x?wD<x?E1<x?ag<x?xh<x?Hv<x?vv<x?l3<x?0:-1:0:-1:H3<x?co<x?0:-1:0:-1:LD<x?ex<x?qy<x?nD<x?0:-1:0:-1:ED<x?Pa<x?0:-1:0:-1:sD<x?th<x?hh<x?L_<x?h3<x?Cy<x?0:-1:0:-1:w7<x?Ey<x?0:-1:0:-1:H2<x?eh<x?xv<x?0:-1:0:u2<x?C<x?0:-1:0:P<x?Kg<x?wl<x?b_<x?cc<x?W_<x?0:-1:Tg<x?i_<x?0:-1:0:-1:Sb<x?tv<x?s7<x?Ku<x?0:-1:0:-1:nb<x?Cf<x?0:-1:0:-1:aE<x?Gr<x?hE<x?O<x?0:-1:Uc<x?Qv<x?0:-1:0:-1:Un<x?T3<x?X_<x?BC<x?0:-1:0:-1:p2<x?dy<x?0:-1:0:-1:Jr<x?uv<x?Gc<x?mo<x?Q3<x?vD<x?yv<x?Qd<x?e7<x?Jh<x?0:-1:0:-1:u7<x?b2<x?0:-1:0:-1:BD<x?0:oE<x?bg<x?0:-1:0:-1:B3<x?0:sE<x?G2<x?pa<x?o7<x?0:-1:0:-1:0:-1:r_<x?$y<x?U3<x?X7<x?C7<x?wh<x?L7<x?0:-1:0:-1:Zy<x?t8<x?0:-1:0:LC<x?jp<x?0:-1:F3<x?lE<x?0:-1:0:-1:UD<x?uc<x?tm<x?C0<x?0:-1:G0<x?rD<x?0:-1:0:-1:0:Qb<x?N7<x?D2<x?Se<x?D_<x?_g<x?MC<x?hy<x?ub<x?ph<x?$7<x?yE<x?0:-1:S0<x?Dh<x?0:-1:0:-1:Ko<x&&kg<x?o0<x?0:-1:0:FD<x?_y<x?c3<x&&EC<x?ho<x?0:-1:0:-1:Xp<x?Bp<x?_u<x?GD<x?0:-1:0:-1:Q2<x?g7<x?0:-1:0:Y_<x?NE<x?n8<x||Fd<x?0:SE<x?Y3<x?0:-1:0:-1:rs<x||Pc<x?0:SC<x?Bd<x?0:-1:0:D7<x?Em<x?Ju<x?QE<x?zm<x&&sy<x?mb<x?0:-1:0:m_<x&&g3<x?Gf<x?0:-1:0:-1:CD<x?Mg<x?Yg<x?If<x?_c<x?Uv<x?0:-1:0:-1:0:-1:0:Mc<x?wy<x?CE<x?EE<x?vp<x?D<x?Ub<x?0:-1:0:-1:0:NC<x?0:e3<x?m3<x?0:-1:0:-1:j3<x&&v7<x&&cv<x?FC<x?0:-1:0:Gh<x?Mm<x?fi<x?SD<x?FE<x?ri<x?DD<x?qD<x?0:-1:mf<x?Ep<x?0:-1:0:-1:0:Nc<x?Wg<x?0:My<x?ib<x?0:-1:0:UC<x&&p1<x?C2<x?0:-1:0:GE<x?pm<x?o2<x?Dg<x&&S7<x?zg<x?0:-1:0:-1:Tt<x?y7<x?cb<x?M7<x?0:-1:0:-1:0:0:-1:qv<x?WC<x?am<x?_m<x?Op<x?x_<x?0:-1:lv<x?ze<x?0:-1:0:0:x7<x?Oh<x?H_<x?0:$a<x?Z2<x?0:-1:0:-1:py<x?Iy<x?bd<x?0:-1:0:v_<x?Ne<x?0:-1:0:-1:yo<x?Yh<x?xm<x?fy<x?o1<x?Hi<x?my<x?0:-1:0:-1:md<x?ol<x?0:-1:0:0:-1:_1<x?za<x?xl<x?ws<x?f7<x?Iu<x?0:-1:0:-1:n_<x?ym<x?0:-1:0:-1:Il<x?z_<x?Bo<x?xf<x?0:-1:0:-1:0:-1:vm<x?Ii<x?ce<x?Q7<x?bh<x?x3<x?E2<x?M<x&&tD<x?AE<x?0:-1:0:pg<x?Su<x?qm<x?t_<x?0:-1:0:-1:S_<x?jd<x?0:-1:0:-1:AC<x?wE<x?Zr<x?Td<x?t7<x?0:-1:0:-1:lh<x?JE<x?0:-1:0:0:yl<x?Q_<x?jf<x?X2<x?Wm<x?0:-1:Kb<x?_i<x?0:-1:0:-1:K0<x?jC<x?0:-1:Mn<x?C3<x?0:-1:0:oy<x?0:Zv<x?hb<x?0:-1:RC<x?qh<x?0:-1:0:$f<x?gy<x?xD<x?dC<x?Xd<x?Z<x?Jl<x?0:-1:0:$C<x?Ss<x?0:-1:0:-1:0:Xo<x?pp<x?Bs<x?e8<x?TC<x?0:-1:0:-1:Ug<x?bm<x?0:-1:0:0:Hu<x?zC<x?om<x?y3<x?VD<x?0:-1:TE<x?Lf<x?0:-1:0:0:-1:F7<x?mv<x?b7<x?ov<x?Xn<x?0:-1:0:Lb<x?Ky<x?0:-1:0:-1:dE<x?K3<x?H<x?kb<x?0:-1:0:-1:0:-1:Vf<x?Cd<x?zv<x?hl<x?hm<x?Qp<x?sC<x?f0<x?yD<x?Th<x?Qy<x?0:-1:0:-1:vg<x?E_<x?0:-1:0:-1:Sm<x?Zm<x?n7<x?k_<x?0:-1:0:-1:ot<x?PD<x?0:-1:0:B0<x?e_<x?iC<x?Nb<x?Ob<x?ab<x?0:-1:0:-1:Ws<x?pb<x?0:-1:0:-1:tC<x?wv<x?P2<x?DE<x?0:-1:0:-1:Mo<x?Vg<x?0:-1:0:-1:Wl<x?Gd<x?Sl<x?O7<x?mu<x?0:-1:IC<x?A0<x?0:-1:0:c2<x?jb<x?Yl<x?b1<x?0:-1:0:-1:Dy<x?oi<x?0:-1:0:-1:zh<x?Te<x?of<x?Vy<x?Yu<x?Ut<x?0:-1:0:-1:Rv<x?sv<x?0:-1:0:-1:U7<x?Bm<x?Bv<x?qg<x?0:-1:0:-1:jg<x?cD<x?0:-1:0:-1:tb<x?h7<x?Ay<x?Wh<x?_7<x?rC<x?hc<x?Uu<x?oC<x?O0<x?0:-1:0:-1:s1<x?HD<x?0:-1:0:-1:Ix<x?rd<x?df<x?tl<x?0:-1:0:-1:Tm<x?B2<x?0:-1:0:-1:Pv<x?Tp<x?e0<x?Xc<x?a_<x?0:-1:0:-1:ly<x?Wp<x?0:-1:0:mp<x?Nv<x?Vh<x?tf<x?0:-1:0:-1:rl<x?aD<x?0:-1:0:-1:Lv<x?d0<x?Gm<x?Xv<x?LE<x?Fg<x?0:-1:0:Zc<x?Zb<x?0:-1:0:E3<x?0:Qg<x?wg<x?0:-1:0:-1:pf<x?Bh<x?Id<x?Ly<x?R_<x?U0<x?0:-1:0:-1:Up<x?G_<x?0:-1:0:-1:k3<x?cy<x?g0<x?U1<x?0:-1:0:-1:qr<x?De<x?0:-1:0:-1:Zt<x?ry<x?Qm<x?gm<x?Ds<x?a8<x?ql<x?wf<x?L2<x?xu<x?jy<x?Rd<x?Rb<x?W3<x?Y0<x?0:-1:0:-1:U_<x?xC<x?0:-1:0:-1:Jm<x?Dm<x?Al<x?Fl<x?0:-1:0:-1:F_<x?Nt<x?0:-1:0:-1:Ff<x?0:y2<x?l1<x?vy<x?gd<x?0:-1:0:-1:Fh<x?Sh<x?0:-1:0:-1:P0<x?W7<x?YE<x?i8<x?dD<x?Vb<x?Y7<x?V0<x?0:-1:0:-1:av<x?W<x?0:-1:0:-1:Vv<x?gC<x?Is<x?cp<x?0:-1:0:-1:Gb<x?RE<x?0:-1:0:-1:y0<x?Ou<x?bo<x?rb<x?E7<x?ZD<x?0:-1:0:-1:Ty<x?by<x?0:-1:0:-1:mh<x?mm<x?Gg<x?I3<x?0:-1:0:-1:li<x?Av<x?0:-1:0:-1:La<x?Uy<x?Cp<x?js<x?q_<x?lD<x&&QD<x?ID<x?0:-1:0:-1:H1<x?c0<x?N_<x?l2<x?0:-1:0:-1:kp<x?Hy<x?0:-1:0:-1:hf<x?fE<x?gb<x?d<x?w3<x?_o<x?0:-1:0:-1:td<x?C1<x?0:-1:0:-1:cE<x?wb<x?0:-1:0:Xg<x?Fv<x?x8<x?0:Bb<x?uC<x?fb<x?0:-1:0:fD<x?nf<x?0:-1:0:-1:J7<x?Kt<x?og<x?V_<x?G<x?Kv<x?0:-1:0:-1:wm<x?Jf<x?0:-1:0:-1:rm<x&&Fb<x?kh<x?0:-1:0:q3<x?$<x?x2<x?Uh<x?BE<x&&X3<x?ts<x?0:-1:0:J3<x?G1<x?qs<x?0:-1:0:Wv<x?N3<x?0:-1:0:0:Hh<x?$m<x?0:Sv<x?_b<x?0:-1:0:g_<x?Rc<x?Ev<x?PC<x?Mr<x?0:-1:0:-1:0:rv<x?0:$d<x?Ur<x?0:-1:0:nx<x?ZE<x?qa<x?0:Eg<x&&JD<x?M2<x?0:-1:0:ip<x?K7<x?0:$c<x?Vm<x?0:-1:0:gt<x&&R7<x?Mf<x?0:-1:0:z7<x?_<x?0:zd<x?bC<x?0:-1:eC<x?L3<x?0:-1:0:Sy<x?wC<x?cl<x?0:-1:0:ng<x?0:zy<x?Pf<x?0:-1:0:-1:Hp<x?lg<x?I1<x?h_<x?Rl<x?ev<x?IE<x?r8<x?PE<x?0:-1:sp<x?D3<x?0:-1:0:fh<x?0:A3<x?Ip<x?0:-1:0:-1:0:p8<x?Hf<x?0:Dv<x?Px<x?Pe<x?kD<x?0:-1:0:-1:0:By<x?wd<x&&$b<x?ny<x?0:-1:0:_E<x?$v<x?iy<x?em<x?0:-1:0:-1:0:Lo<x?sf<x?Zd<x?R0<x?0:v3<x?CC<x?zl<x?iD<x?0:-1:0:-1:0:ig<x?m2<x?rp<x&&gD<x?Ed<x?0:-1:0:-1:bn<x?__<x?0:-1:0:-1:i7<x?Fo<x?nd<x?Y2<x?nC<x?0:Wb<x?cg<x?0:-1:0:-1:Eh<x?wu<x?T_<x?lp<x?0:-1:0:-1:sb<x?ds<x?0:-1:0:-1:vh<x?dv<x?Hx<x?Tv<x?Rp<x?0:-1:0:xi<x?af<x?0:-1:0:-1:0:-1:mE<x?bf<x?Ib<x?r7<x?sh<x?I0<x?Lm<x?qf<x&&_t<x?ep<x?0:-1:0:-1:HE<x&&kC<x?Hg<x?0:-1:0:-1:s2<x?rx<x?AD<x?0:Nf<x?h2<x?0:-1:0:-1:Ah<x?uh<x?Ch<x?hD<x?0:-1:0:-1:Zg<x?q7<x?0:-1:0:-1:_v<x?f3<x?Cv<x?ay<x?Yy<x?hg<x?Md<x?Ro<x?0:-1:0:-1:ND<x?$h<x?0:-1:0:-1:kf<x?Of<x?0:-1:TD<x?nv<x?0:-1:0:-1:R3<x?ch<x?y_<x?WD<x?Js<x?0:-1:0:-1:Ap<x?qb<x?0:-1:0:Mb<x?ht<x?0:-1:0:pl<x?d7<x?Uf<x?nl<x?Km<x?j<x?_d<x?G7<x?xb<x?0:-1:0:-1:D0<x?H7<x?0:-1:0:Vp<x?w_<x?0:-1:a3<x?Sg<x?0:-1:0:-1:zD<x?bE<x&&Yv<x?Ry<x?0:-1:0:oc<x?$i<x?0:-1:XD<x?t3<x?0:-1:0:-1:$e<x?ah<x?Bi<x?d_<x?Pu<x?j2<x?an<x?0:-1:0:z3<x?Yb<x?0:-1:0:-1:zb<x?B_<x?nm<x?eD<x?0:-1:0:-1:ug<x?T7<x?0:-1:0:-1:Z7<x?Yi<x?J_<x?Dd<x?W1<x?Oy<x?0:-1:0:-1:M_<x?Z3<x?0:-1:0:-1:eb<x?im<x?qC<x?Rf<x?0:-1:0:-1:Np<x?Kc<x?0:-1:0:-1:fr(VX1,x+Kd|0)-1|0:-1}return-1},Fj=function(i){if(i){var x=i[1];return 35<x?$u<x?-1:fr(GG1,x+Kd|0)-1|0:-1}return-1},qk=function(i){if(i){var x=i[1];return 35<x?C_<x?ha<x?vs<x?-1:ne<x?Mu<x?Nh<x?_D<x?O2<x?a7<x?uy<x?pE<x?Jg<x?0:-1:$D<x?ks<x?0:-1:0:-1:N2<x?up<x?A7<x?A_<x?0:-1:0:-1:e<x?Xf<x?0:-1:0:-1:Ld<x?w1<x?Zo<x?Ov<x?pv<x?mg<x?Xy<x?Cm<x?ob<x?Sd<x?0:-1:0:-1:d2<x?qt<x?0:-1:0:-1:Am<x?$_<x?Bt<x?Pp<x?0:-1:0:-1:Fc<x?_3<x?0:-1:0:-1:yy<x?sn<x?G3<x?jl<x?vd<x?Hb<x?0:-1:0:-1:Gt<x?aC<x?0:-1:0:-1:_e<x?Ac<x?Gv<x?op<x?0:-1:0:-1:Zl<x?Jv<x?0:-1:0:-1:I_<x?Pb<x?gg<x?ih<x?m7<x?P7<x?np<x?bv<x?0:-1:0:-1:Yp<x?Rg<x?0:-1:0:-1:dp<x?V7<x?Kh<x?Xl<x?0:-1:0:-1:oD<x?Jb<x?0:-1:0:-1:Us<x?dd<x?hv<x?Dp<x?jv<x?Zp<x?0:-1:0:-1:bD<x?V3<x?0:-1:0:-1:gv<x?iv<x?oh<x?Ym<x?0:-1:0:-1:Gy<x?p7<x?0:-1:0:-1:fp<x?Ef<x?c7<x?l0<x?Z1<x?Hr<x?Eb<x?Xb<x?OD<x?R2<x?kE<x?Iv<x?0:-1:0:-1:0:Ox<x?Kf<x?gE<x?Va<x?0:-1:0:-1:ge<x?_l<x?0:-1:0:pD<x?vE<x?ky<x?wp<x?0:-1:p3<x?Ih<x?0:-1:0:-1:MD<x?OC<x?0:-1:KC<x?r3<x?0:-1:0:-1:I2<x?lo<x?Re<x?yC<x?ME<x?db<x?fg<x?Wy<x?0:-1:0:-1:XE<x?xd<x?0:-1:0:-1:Wa<x?yc<x?S3<x?Kl<x?0:-1:0:-1:Fy<x?xc<x?0:-1:0:-1:ka<x?Kp<x?uE<x?Lg<x?_C<x?OE<x?0:-1:0:-1:v2<x?Hm<x?0:-1:0:-1:Wx<x?ff<x?Tb<x?Fm<x?0:-1:0:-1:b3<x?k7<x?0:-1:0:-1:d3<x?Ad<x?P3<x?Yd<x?eu<x?l7<x?Mt<x?v1<x?Cg<x?Xm<x?0:-1:0:-1:zf<x?mD<x?0:-1:0:-1:Mv<x?tt<x?Pm<x?ld<x?0:-1:0:-1:$3<x?zp<x?0:-1:0:-1:qx<x?n3<x?YD<x?uD<x?I7<x?fl<x?0:-1:0:-1:al<x?j_<x?0:-1:0:-1:Cc<x?N1<x?O_<x?B7<x?0:-1:0:-1:pd<x?dm<x?0:-1:0:-1:N0<x?Xh<x?dh<x?dg<x?b0<x?bp<x?Nl<x?Ph<x?0:-1:0:-1:M3<x?lb<x?0:-1:0:-1:rc<x?ec<x?P_<x?Ud<x?0:-1:0:-1:fv<x?K_<x?0:-1:0:-1:Om<x?Ag<x?rf<x?O3<x?Fn<x?bt<x?0:-1:0:-1:U<x?j7<x?0:-1:0:-1:DC<x?ed<x?Im<x?i3<x?0:-1:0:-1:0:-1:kv<x?Hd<x?Jy<x?Za<x?wD<x?E1<x?ag<x?xh<x?Hv<x?vv<x?l3<x?0:-1:0:-1:H3<x?co<x?0:-1:0:-1:LD<x?ex<x?qy<x?nD<x?0:-1:0:-1:ED<x?Pa<x?0:-1:0:-1:sD<x?th<x?hh<x?L_<x?h3<x?Cy<x?0:-1:0:-1:w7<x?Ey<x?0:-1:0:-1:H2<x?eh<x?xv<x?0:-1:0:u2<x?C<x?0:-1:0:P<x?Kg<x?wl<x?b_<x?cc<x?W_<x?0:-1:Tg<x?i_<x?0:-1:0:-1:Sb<x?tv<x?s7<x?Ku<x?0:-1:0:-1:nb<x?Cf<x?0:-1:0:-1:aE<x?Gr<x?hE<x?O<x?0:-1:Uc<x?Qv<x?0:-1:0:-1:Un<x?T3<x?X_<x?BC<x?0:-1:0:-1:p2<x?dy<x?0:-1:0:-1:Jr<x?uv<x?Gc<x?mo<x?Q3<x?vD<x?yv<x?Qd<x?e7<x?Jh<x?0:-1:0:-1:u7<x?b2<x?0:-1:0:-1:BD<x?0:oE<x?bg<x?0:-1:0:-1:B3<x?0:sE<x?G2<x?pa<x?o7<x?0:-1:0:-1:0:-1:r_<x?$y<x?U3<x?X7<x?C7<x?wh<x?L7<x?0:-1:0:-1:Zy<x?t8<x?0:-1:0:LC<x?jp<x?0:-1:F3<x?lE<x?0:-1:0:-1:UD<x?uc<x?tm<x?C0<x?0:-1:G0<x?rD<x?0:-1:0:-1:0:Qb<x?N7<x?D2<x?Se<x?D_<x?_g<x?MC<x?hy<x?ub<x?ph<x?$7<x?yE<x?0:-1:S0<x?Dh<x?0:-1:0:-1:Ko<x&&kg<x?o0<x?0:-1:0:FD<x?_y<x?c3<x&&EC<x?ho<x?0:-1:0:-1:Xp<x?Bp<x?_u<x?GD<x?0:-1:0:-1:Q2<x?g7<x?0:-1:0:Y_<x?NE<x?n8<x||Fd<x?0:SE<x?Y3<x?0:-1:0:-1:rs<x||Pc<x?0:SC<x?Bd<x?0:-1:0:D7<x?Em<x?Ju<x?QE<x?zm<x&&sy<x?mb<x?0:-1:0:m_<x&&g3<x?Gf<x?0:-1:0:-1:CD<x?Mg<x?Yg<x?If<x?_c<x?Uv<x?0:-1:0:-1:0:-1:0:Mc<x?wy<x?CE<x?EE<x?vp<x?D<x?Ub<x?0:-1:0:-1:0:NC<x?0:e3<x?m3<x?0:-1:0:-1:j3<x&&v7<x&&cv<x?FC<x?0:-1:0:Gh<x?Mm<x?fi<x?SD<x?FE<x?ri<x?DD<x?qD<x?0:-1:mf<x?Ep<x?0:-1:0:-1:0:Nc<x?Wg<x?0:My<x?ib<x?0:-1:0:UC<x&&p1<x?C2<x?0:-1:0:GE<x?pm<x?o2<x?Dg<x&&S7<x?zg<x?0:-1:0:-1:Tt<x?y7<x?cb<x?M7<x?0:-1:0:-1:0:0:-1:qv<x?WC<x?am<x?_m<x?Op<x?x_<x?0:-1:lv<x?ze<x?0:-1:0:0:x7<x?Oh<x?H_<x?0:$a<x?Z2<x?0:-1:0:-1:py<x?Iy<x?bd<x?0:-1:0:v_<x?Ne<x?0:-1:0:-1:yo<x?Yh<x?xm<x?fy<x?o1<x?Hi<x?my<x?0:-1:0:-1:md<x?ol<x?0:-1:0:0:-1:_1<x?za<x?xl<x?ws<x?f7<x?Iu<x?0:-1:0:-1:n_<x?ym<x?0:-1:0:-1:Il<x?z_<x?Bo<x?xf<x?0:-1:0:-1:0:-1:vm<x?Ii<x?ce<x?Q7<x?bh<x?x3<x?E2<x?M<x&&tD<x?AE<x?0:-1:0:pg<x?Su<x?qm<x?t_<x?0:-1:0:-1:S_<x?jd<x?0:-1:0:-1:AC<x?wE<x?Zr<x?Td<x?t7<x?0:-1:0:-1:lh<x?JE<x?0:-1:0:0:yl<x?Q_<x?jf<x?X2<x?Wm<x?0:-1:Kb<x?_i<x?0:-1:0:-1:K0<x?jC<x?0:-1:Mn<x?C3<x?0:-1:0:oy<x?0:Zv<x?hb<x?0:-1:RC<x?qh<x?0:-1:0:$f<x?gy<x?xD<x?dC<x?Xd<x?Z<x?Jl<x?0:-1:0:$C<x?Ss<x?0:-1:0:-1:0:Xo<x?pp<x?Bs<x?e8<x?TC<x?0:-1:0:-1:Ug<x?bm<x?0:-1:0:0:Hu<x?zC<x?om<x?y3<x?VD<x?0:-1:TE<x?Lf<x?0:-1:0:0:-1:F7<x?mv<x?b7<x?ov<x?Xn<x?0:-1:0:Lb<x?Ky<x?0:-1:0:-1:dE<x?K3<x?H<x?kb<x?0:-1:0:-1:0:-1:Vf<x?Cd<x?zv<x?hl<x?hm<x?Qp<x?sC<x?f0<x?yD<x?Th<x?Qy<x?0:-1:0:-1:vg<x?E_<x?0:-1:0:-1:Sm<x?Zm<x?n7<x?k_<x?0:-1:0:-1:ot<x?PD<x?0:-1:0:B0<x?e_<x?iC<x?Nb<x?Ob<x?ab<x?0:-1:0:-1:Ws<x?pb<x?0:-1:0:-1:tC<x?wv<x?P2<x?DE<x?0:-1:0:-1:Mo<x?Vg<x?0:-1:0:-1:Wl<x?Gd<x?Sl<x?O7<x?mu<x?0:-1:IC<x?A0<x?0:-1:0:c2<x?jb<x?Yl<x?b1<x?0:-1:0:-1:Dy<x?oi<x?0:-1:0:-1:zh<x?Te<x?of<x?Vy<x?Yu<x?Ut<x?0:-1:0:-1:Rv<x?sv<x?0:-1:0:-1:U7<x?Bm<x?Bv<x?qg<x?0:-1:0:-1:jg<x?cD<x?0:-1:0:-1:tb<x?h7<x?Ay<x?Wh<x?_7<x?rC<x?hc<x?Uu<x?oC<x?O0<x?0:-1:0:-1:s1<x?HD<x?0:-1:0:-1:Ix<x?rd<x?df<x?tl<x?0:-1:0:-1:Tm<x?B2<x?0:-1:0:-1:Pv<x?Tp<x?e0<x?Xc<x?a_<x?0:-1:0:-1:ly<x?Wp<x?0:-1:0:mp<x?Nv<x?Vh<x?tf<x?0:-1:0:-1:rl<x?aD<x?0:-1:0:-1:Lv<x?d0<x?Gm<x?Xv<x?LE<x?Fg<x?0:-1:0:Zc<x?Zb<x?0:-1:0:E3<x?0:Qg<x?wg<x?0:-1:0:-1:pf<x?Bh<x?Id<x?Ly<x?R_<x?U0<x?0:-1:0:-1:Up<x?G_<x?0:-1:0:-1:k3<x?cy<x?g0<x?U1<x?0:-1:0:-1:qr<x?De<x?0:-1:0:-1:Zt<x?ry<x?Qm<x?gm<x?Ds<x?a8<x?ql<x?wf<x?L2<x?xu<x?jy<x?Rd<x?Rb<x?W3<x?Y0<x?0:-1:0:-1:U_<x?xC<x?0:-1:0:-1:Jm<x?Dm<x?Al<x?Fl<x?0:-1:0:-1:F_<x?Nt<x?0:-1:0:-1:Ff<x?0:y2<x?l1<x?vy<x?gd<x?0:-1:0:-1:Fh<x?Sh<x?0:-1:0:-1:P0<x?W7<x?YE<x?i8<x?dD<x?Vb<x?Y7<x?V0<x?0:-1:0:-1:av<x?W<x?0:-1:0:-1:Vv<x?gC<x?Is<x?cp<x?0:-1:0:-1:Gb<x?RE<x?0:-1:0:-1:y0<x?Ou<x?bo<x?rb<x?E7<x?ZD<x?0:-1:0:-1:Ty<x?by<x?0:-1:0:-1:mh<x?mm<x?Gg<x?I3<x?0:-1:0:-1:li<x?Av<x?0:-1:0:-1:La<x?Uy<x?Cp<x?js<x?q_<x?lD<x&&QD<x?ID<x?0:-1:0:-1:H1<x?c0<x?N_<x?l2<x?0:-1:0:-1:kp<x?Hy<x?0:-1:0:-1:hf<x?fE<x?gb<x?d<x?w3<x?_o<x?0:-1:0:-1:td<x?C1<x?0:-1:0:-1:cE<x?wb<x?0:-1:0:Xg<x?Fv<x?x8<x?0:Bb<x?uC<x?fb<x?0:-1:0:fD<x?nf<x?0:-1:0:-1:J7<x?Kt<x?og<x?V_<x?G<x?Kv<x?0:-1:0:-1:wm<x?Jf<x?0:-1:0:-1:rm<x&&Fb<x?kh<x?0:-1:0:q3<x?$<x?x2<x?Uh<x?BE<x&&X3<x?ts<x?0:-1:0:J3<x?G1<x?qs<x?0:-1:0:Wv<x?N3<x?0:-1:0:0:Hh<x?$m<x?0:Sv<x?_b<x?0:-1:0:g_<x?Rc<x?Ev<x?PC<x?Mr<x?0:-1:0:-1:0:rv<x?0:$d<x?Ur<x?0:-1:0:nx<x?ZE<x?qa<x?0:Eg<x&&JD<x?M2<x?0:-1:0:ip<x?K7<x?0:$c<x?Vm<x?0:-1:0:gt<x&&R7<x?Mf<x?0:-1:0:z7<x?_<x?0:zd<x?bC<x?0:-1:eC<x?L3<x?0:-1:0:Sy<x?wC<x?cl<x?0:-1:0:ng<x?0:zy<x?Pf<x?0:-1:0:-1:Hp<x?lg<x?I1<x?h_<x?Rl<x?ev<x?IE<x?r8<x?PE<x?0:-1:sp<x?D3<x?0:-1:0:fh<x?0:A3<x?Ip<x?0:-1:0:-1:0:p8<x?Hf<x?0:Dv<x?Px<x?Pe<x?kD<x?0:-1:0:-1:0:By<x?wd<x&&$b<x?ny<x?0:-1:0:_E<x?$v<x?iy<x?em<x?0:-1:0:-1:0:Lo<x?sf<x?Zd<x?R0<x?0:v3<x?CC<x?zl<x?iD<x?0:-1:0:-1:0:ig<x?m2<x?rp<x&&gD<x?Ed<x?0:-1:0:-1:bn<x?__<x?0:-1:0:-1:i7<x?Fo<x?nd<x?Y2<x?nC<x?0:Wb<x?cg<x?0:-1:0:-1:Eh<x?wu<x?T_<x?lp<x?0:-1:0:-1:sb<x?ds<x?0:-1:0:-1:vh<x?dv<x?Hx<x?Tv<x?Rp<x?0:-1:0:xi<x?af<x?0:-1:0:-1:0:-1:mE<x?bf<x?Ib<x?r7<x?sh<x?I0<x?Lm<x?qf<x&&_t<x?ep<x?0:-1:0:-1:HE<x&&kC<x?Hg<x?0:-1:0:-1:s2<x?rx<x?AD<x?0:Nf<x?h2<x?0:-1:0:-1:Ah<x?uh<x?Ch<x?hD<x?0:-1:0:-1:Zg<x?q7<x?0:-1:0:-1:_v<x?f3<x?Cv<x?ay<x?Yy<x?hg<x?Md<x?Ro<x?0:-1:0:-1:ND<x?$h<x?0:-1:0:-1:kf<x?Of<x?0:-1:TD<x?nv<x?0:-1:0:-1:R3<x?ch<x?y_<x?WD<x?Js<x?0:-1:0:-1:Ap<x?qb<x?0:-1:0:Mb<x?ht<x?0:-1:0:pl<x?d7<x?Uf<x?nl<x?Km<x?j<x?_d<x?G7<x?xb<x?0:-1:0:-1:D0<x?H7<x?0:-1:0:Vp<x?w_<x?0:-1:a3<x?Sg<x?0:-1:0:-1:zD<x?bE<x&&Yv<x?Ry<x?0:-1:0:oc<x?$i<x?0:-1:XD<x?t3<x?0:-1:0:-1:$e<x?ah<x?Bi<x?d_<x?Pu<x?j2<x?an<x?0:-1:0:z3<x?Yb<x?0:-1:0:-1:zb<x?B_<x?nm<x?eD<x?0:-1:0:-1:ug<x?T7<x?0:-1:0:-1:Z7<x?Yi<x?J_<x?Dd<x?W1<x?Oy<x?0:-1:0:-1:M_<x?Z3<x?0:-1:0:-1:eb<x?im<x?qC<x?Rf<x?0:-1:0:-1:Np<x?Kc<x?0:-1:0:-1:fr($X1,x+Kd|0)-1|0:-1}return-1},BY=function(i){if(i){var x=i[1];return 35<x?$u<x?-1:fr(XG1,x+Kd|0)-1|0:-1}return-1},YV=function(i){if(i){var x=i[1];return 47<x?95<x?-1:fr(MY1,x+VC|0)-1|0:-1}return-1},n20=function(i){if(i){var x=i[1];return 35<x?$u<x?-1:fr(YG1,x+Kd|0)-1|0:-1}return-1},zt0=function(i){if(i){var x=i[1];return 35<x?C_<x?ha<x?vs<x?-1:ne<x?Mu<x?Nh<x?_D<x?O2<x?a7<x?uy<x?pE<x?Jg<x?0:-1:$D<x?ks<x?0:-1:0:-1:N2<x?up<x?A7<x?A_<x?0:-1:0:-1:e<x?Xf<x?0:-1:0:-1:Ld<x?w1<x?Zo<x?Ov<x?pv<x?mg<x?Xy<x?Cm<x?ob<x?Sd<x?0:-1:0:-1:d2<x?qt<x?0:-1:0:-1:Am<x?$_<x?Bt<x?Pp<x?0:-1:0:-1:Fc<x?_3<x?0:-1:0:-1:yy<x?sn<x?G3<x?jl<x?vd<x?Hb<x?0:-1:0:-1:Gt<x?aC<x?0:-1:0:-1:_e<x?Ac<x?Gv<x?op<x?0:-1:0:-1:Zl<x?Jv<x?0:-1:0:-1:I_<x?Pb<x?gg<x?ih<x?m7<x?P7<x?np<x?bv<x?0:-1:0:-1:Yp<x?Rg<x?0:-1:0:-1:dp<x?V7<x?Kh<x?Xl<x?0:-1:0:-1:oD<x?Jb<x?0:-1:0:-1:Us<x?dd<x?hv<x?Dp<x?jv<x?Zp<x?0:-1:0:-1:bD<x?V3<x?0:-1:0:-1:gv<x?iv<x?oh<x?Ym<x?0:-1:0:-1:Gy<x?p7<x?0:-1:0:-1:fp<x?Ef<x?c7<x?l0<x?Z1<x?Hr<x?Eb<x?Xb<x?OD<x?R2<x?kE<x?Iv<x?0:-1:0:-1:0:Ox<x?Kf<x?gE<x?Va<x?0:-1:0:-1:ge<x?_l<x?0:-1:0:pD<x?vE<x?ky<x?wp<x?0:-1:p3<x?Ih<x?0:-1:0:-1:MD<x?OC<x?0:-1:KC<x?r3<x?0:-1:0:-1:I2<x?lo<x?Re<x?yC<x?ME<x?db<x?fg<x?Wy<x?0:-1:0:-1:XE<x?xd<x?0:-1:0:-1:Wa<x?yc<x?S3<x?Kl<x?0:-1:0:-1:Fy<x?xc<x?0:-1:0:-1:ka<x?Kp<x?uE<x?Lg<x?_C<x?OE<x?0:-1:0:-1:v2<x?Hm<x?0:-1:0:-1:Wx<x?ff<x?Tb<x?Fm<x?0:-1:0:-1:b3<x?k7<x?0:-1:0:-1:d3<x?Ad<x?P3<x?Yd<x?eu<x?l7<x?Mt<x?v1<x?Cg<x?Xm<x?0:-1:0:-1:zf<x?mD<x?0:-1:0:-1:Mv<x?tt<x?Pm<x?ld<x?0:-1:0:-1:$3<x?zp<x?0:-1:0:-1:qx<x?n3<x?YD<x?uD<x?I7<x?fl<x?0:-1:0:-1:al<x?j_<x?0:-1:0:-1:Cc<x?N1<x?O_<x?B7<x?0:-1:0:-1:pd<x?dm<x?0:-1:0:-1:N0<x?Xh<x?dh<x?dg<x?b0<x?bp<x?Nl<x?Ph<x?0:-1:0:-1:M3<x?lb<x?0:-1:0:-1:rc<x?ec<x?P_<x?Ud<x?0:-1:0:-1:fv<x?K_<x?0:-1:0:-1:Om<x?Ag<x?rf<x?O3<x?Fn<x?bt<x?0:-1:0:-1:U<x?j7<x?0:-1:0:-1:DC<x?ed<x?Im<x?i3<x?0:-1:0:-1:0:-1:kv<x?Hd<x?Jy<x?Za<x?wD<x?E1<x?ag<x?xh<x?Hv<x?vv<x?l3<x?0:-1:0:-1:H3<x?co<x?0:-1:0:-1:LD<x?ex<x?qy<x?nD<x?0:-1:0:-1:ED<x?Pa<x?0:-1:0:-1:sD<x?th<x?hh<x?L_<x?h3<x?Cy<x?0:-1:0:-1:w7<x?Ey<x?0:-1:0:-1:H2<x?eh<x?xv<x?0:-1:0:u2<x?C<x?0:-1:0:P<x?Kg<x?wl<x?b_<x?cc<x?W_<x?0:-1:Tg<x?i_<x?0:-1:0:-1:Sb<x?tv<x?s7<x?Ku<x?0:-1:0:-1:nb<x?Cf<x?0:-1:0:-1:aE<x?Gr<x?hE<x?O<x?0:-1:Uc<x?Qv<x?0:-1:0:-1:Un<x?T3<x?X_<x?BC<x?0:-1:0:-1:p2<x?dy<x?0:-1:0:-1:Jr<x?uv<x?Gc<x?mo<x?Q3<x?vD<x?yv<x?Qd<x?e7<x?Jh<x?0:-1:0:-1:u7<x?b2<x?0:-1:0:-1:BD<x?0:oE<x?bg<x?0:-1:0:-1:B3<x?0:sE<x?G2<x?pa<x?o7<x?0:-1:0:-1:0:-1:r_<x?$y<x?U3<x?X7<x?C7<x?wh<x?L7<x?0:-1:0:-1:Zy<x?t8<x?0:-1:0:LC<x?jp<x?0:-1:F3<x?lE<x?0:-1:0:-1:UD<x?uc<x?tm<x?C0<x?0:-1:G0<x?rD<x?0:-1:0:-1:0:Qb<x?N7<x?D2<x?Se<x?D_<x?_g<x?MC<x?hy<x?ub<x?ph<x?$7<x?yE<x?0:-1:S0<x?Dh<x?0:-1:0:-1:Ko<x&&kg<x?o0<x?0:-1:0:FD<x?_y<x?c3<x&&EC<x?ho<x?0:-1:0:-1:Xp<x?Bp<x?_u<x?GD<x?0:-1:0:-1:Q2<x?g7<x?0:-1:0:Y_<x?NE<x?n8<x||Fd<x?0:SE<x?Y3<x?0:-1:0:-1:rs<x||Pc<x?0:SC<x?Bd<x?0:-1:0:D7<x?Em<x?Ju<x?QE<x?zm<x&&sy<x?mb<x?0:-1:0:m_<x&&g3<x?Gf<x?0:-1:0:-1:CD<x?Mg<x?Yg<x?If<x?_c<x?Uv<x?0:-1:0:-1:0:-1:0:Mc<x?wy<x?CE<x?EE<x?vp<x?D<x?Ub<x?0:-1:0:-1:0:NC<x?0:e3<x?m3<x?0:-1:0:-1:j3<x&&v7<x&&cv<x?FC<x?0:-1:0:Gh<x?Mm<x?fi<x?SD<x?FE<x?ri<x?DD<x?qD<x?0:-1:mf<x?Ep<x?0:-1:0:-1:0:Nc<x?Wg<x?0:My<x?ib<x?0:-1:0:UC<x&&p1<x?C2<x?0:-1:0:GE<x?pm<x?o2<x?Dg<x&&S7<x?zg<x?0:-1:0:-1:Tt<x?y7<x?cb<x?M7<x?0:-1:0:-1:0:0:-1:qv<x?WC<x?am<x?_m<x?Op<x?x_<x?0:-1:lv<x?ze<x?0:-1:0:0:x7<x?Oh<x?H_<x?0:$a<x?Z2<x?0:-1:0:-1:py<x?Iy<x?bd<x?0:-1:0:v_<x?Ne<x?0:-1:0:-1:yo<x?Yh<x?xm<x?fy<x?o1<x?Hi<x?my<x?0:-1:0:-1:md<x?ol<x?0:-1:0:0:-1:_1<x?za<x?xl<x?ws<x?f7<x?Iu<x?0:-1:0:-1:n_<x?ym<x?0:-1:0:-1:Il<x?z_<x?Bo<x?xf<x?0:-1:0:-1:0:-1:vm<x?Ii<x?ce<x?Q7<x?bh<x?x3<x?E2<x?M<x&&tD<x?AE<x?0:-1:0:pg<x?Su<x?qm<x?t_<x?0:-1:0:-1:S_<x?jd<x?0:-1:0:-1:AC<x?wE<x?Zr<x?Td<x?t7<x?0:-1:0:-1:lh<x?JE<x?0:-1:0:0:yl<x?Q_<x?jf<x?X2<x?Wm<x?0:-1:Kb<x?_i<x?0:-1:0:-1:K0<x?jC<x?0:-1:Mn<x?C3<x?0:-1:0:oy<x?0:Zv<x?hb<x?0:-1:RC<x?qh<x?0:-1:0:$f<x?gy<x?xD<x?dC<x?Xd<x?Z<x?Jl<x?0:-1:0:$C<x?Ss<x?0:-1:0:-1:0:Xo<x?pp<x?Bs<x?e8<x?TC<x?0:-1:0:-1:Ug<x?bm<x?0:-1:0:0:Hu<x?zC<x?om<x?y3<x?VD<x?0:-1:TE<x?Lf<x?0:-1:0:0:-1:F7<x?mv<x?b7<x?ov<x?Xn<x?0:-1:0:Lb<x?Ky<x?0:-1:0:-1:dE<x?K3<x?H<x?kb<x?0:-1:0:-1:0:-1:Vf<x?Cd<x?zv<x?hl<x?hm<x?Qp<x?sC<x?f0<x?yD<x?Th<x?Qy<x?0:-1:0:-1:vg<x?E_<x?0:-1:0:-1:Sm<x?Zm<x?n7<x?k_<x?0:-1:0:-1:ot<x?PD<x?0:-1:0:B0<x?e_<x?iC<x?Nb<x?Ob<x?ab<x?0:-1:0:-1:Ws<x?pb<x?0:-1:0:-1:tC<x?wv<x?P2<x?DE<x?0:-1:0:-1:Mo<x?Vg<x?0:-1:0:-1:Wl<x?Gd<x?Sl<x?O7<x?mu<x?0:-1:IC<x?A0<x?0:-1:0:c2<x?jb<x?Yl<x?b1<x?0:-1:0:-1:Dy<x?oi<x?0:-1:0:-1:zh<x?Te<x?of<x?Vy<x?Yu<x?Ut<x?0:-1:0:-1:Rv<x?sv<x?0:-1:0:-1:U7<x?Bm<x?Bv<x?qg<x?0:-1:0:-1:jg<x?cD<x?0:-1:0:-1:tb<x?h7<x?Ay<x?Wh<x?_7<x?rC<x?hc<x?Uu<x?oC<x?O0<x?0:-1:0:-1:s1<x?HD<x?0:-1:0:-1:Ix<x?rd<x?df<x?tl<x?0:-1:0:-1:Tm<x?B2<x?0:-1:0:-1:Pv<x?Tp<x?e0<x?Xc<x?a_<x?0:-1:0:-1:ly<x?Wp<x?0:-1:0:mp<x?Nv<x?Vh<x?tf<x?0:-1:0:-1:rl<x?aD<x?0:-1:0:-1:Lv<x?d0<x?Gm<x?Xv<x?LE<x?Fg<x?0:-1:0:Zc<x?Zb<x?0:-1:0:E3<x?0:Qg<x?wg<x?0:-1:0:-1:pf<x?Bh<x?Id<x?Ly<x?R_<x?U0<x?0:-1:0:-1:Up<x?G_<x?0:-1:0:-1:k3<x?cy<x?g0<x?U1<x?0:-1:0:-1:qr<x?De<x?0:-1:0:-1:Zt<x?ry<x?Qm<x?gm<x?Ds<x?a8<x?ql<x?wf<x?L2<x?xu<x?jy<x?Rd<x?Rb<x?W3<x?Y0<x?0:-1:0:-1:U_<x?xC<x?0:-1:0:-1:Jm<x?Dm<x?Al<x?Fl<x?0:-1:0:-1:F_<x?Nt<x?0:-1:0:-1:Ff<x?0:y2<x?l1<x?vy<x?gd<x?0:-1:0:-1:Fh<x?Sh<x?0:-1:0:-1:P0<x?W7<x?YE<x?i8<x?dD<x?Vb<x?Y7<x?V0<x?0:-1:0:-1:av<x?W<x?0:-1:0:-1:Vv<x?gC<x?Is<x?cp<x?0:-1:0:-1:Gb<x?RE<x?0:-1:0:-1:y0<x?Ou<x?bo<x?rb<x?E7<x?ZD<x?0:-1:0:-1:Ty<x?by<x?0:-1:0:-1:mh<x?mm<x?Gg<x?I3<x?0:-1:0:-1:li<x?Av<x?0:-1:0:-1:La<x?Uy<x?Cp<x?js<x?q_<x?lD<x&&QD<x?ID<x?0:-1:0:-1:H1<x?c0<x?N_<x?l2<x?0:-1:0:-1:kp<x?Hy<x?0:-1:0:-1:hf<x?fE<x?gb<x?d<x?w3<x?_o<x?0:-1:0:-1:td<x?C1<x?0:-1:0:-1:cE<x?wb<x?0:-1:0:Xg<x?Fv<x?x8<x?0:Bb<x?uC<x?fb<x?0:-1:0:fD<x?nf<x?0:-1:0:-1:J7<x?Kt<x?og<x?V_<x?G<x?Kv<x?0:-1:0:-1:wm<x?Jf<x?0:-1:0:-1:rm<x&&Fb<x?kh<x?0:-1:0:q3<x?$<x?x2<x?Uh<x?BE<x&&X3<x?ts<x?0:-1:0:J3<x?G1<x?qs<x?0:-1:0:Wv<x?N3<x?0:-1:0:0:Hh<x?$m<x?0:Sv<x?_b<x?0:-1:0:g_<x?Rc<x?Ev<x?PC<x?Mr<x?0:-1:0:-1:0:rv<x?0:$d<x?Ur<x?0:-1:0:nx<x?ZE<x?qa<x?0:Eg<x&&JD<x?M2<x?0:-1:0:ip<x?K7<x?0:$c<x?Vm<x?0:-1:0:gt<x&&R7<x?Mf<x?0:-1:0:z7<x?_<x?0:zd<x?bC<x?0:-1:eC<x?L3<x?0:-1:0:Sy<x?wC<x?cl<x?0:-1:0:ng<x?0:zy<x?Pf<x?0:-1:0:-1:Hp<x?lg<x?I1<x?h_<x?Rl<x?ev<x?IE<x?r8<x?PE<x?0:-1:sp<x?D3<x?0:-1:0:fh<x?0:A3<x?Ip<x?0:-1:0:-1:0:p8<x?Hf<x?0:Dv<x?Px<x?Pe<x?kD<x?0:-1:0:-1:0:By<x?wd<x&&$b<x?ny<x?0:-1:0:_E<x?$v<x?iy<x?em<x?0:-1:0:-1:0:Lo<x?sf<x?Zd<x?R0<x?0:v3<x?CC<x?zl<x?iD<x?0:-1:0:-1:0:ig<x?m2<x?rp<x&&gD<x?Ed<x?0:-1:0:-1:bn<x?__<x?0:-1:0:-1:i7<x?Fo<x?nd<x?Y2<x?nC<x?0:Wb<x?cg<x?0:-1:0:-1:Eh<x?wu<x?T_<x?lp<x?0:-1:0:-1:sb<x?ds<x?0:-1:0:-1:vh<x?dv<x?Hx<x?Tv<x?Rp<x?0:-1:0:xi<x?af<x?0:-1:0:-1:0:-1:mE<x?bf<x?Ib<x?r7<x?sh<x?I0<x?Lm<x?qf<x&&_t<x?ep<x?0:-1:0:-1:HE<x&&kC<x?Hg<x?0:-1:0:-1:s2<x?rx<x?AD<x?0:Nf<x?h2<x?0:-1:0:-1:Ah<x?uh<x?Ch<x?hD<x?0:-1:0:-1:Zg<x?q7<x?0:-1:0:-1:_v<x?f3<x?Cv<x?ay<x?Yy<x?hg<x?Md<x?Ro<x?0:-1:0:-1:ND<x?$h<x?0:-1:0:-1:kf<x?Of<x?0:-1:TD<x?nv<x?0:-1:0:-1:R3<x?ch<x?y_<x?WD<x?Js<x?0:-1:0:-1:Ap<x?qb<x?0:-1:0:Mb<x?ht<x?0:-1:0:pl<x?d7<x?Uf<x?nl<x?Km<x?j<x?_d<x?G7<x?xb<x?0:-1:0:-1:D0<x?H7<x?0:-1:0:Vp<x?w_<x?0:-1:a3<x?Sg<x?0:-1:0:-1:zD<x?bE<x&&Yv<x?Ry<x?0:-1:0:oc<x?$i<x?0:-1:XD<x?t3<x?0:-1:0:-1:$e<x?ah<x?Bi<x?d_<x?Pu<x?j2<x?an<x?0:-1:0:z3<x?Yb<x?0:-1:0:-1:zb<x?B_<x?nm<x?eD<x?0:-1:0:-1:ug<x?T7<x?0:-1:0:-1:Z7<x?Yi<x?J_<x?Dd<x?W1<x?Oy<x?0:-1:0:-1:M_<x?Z3<x?0:-1:0:-1:eb<x?im<x?qC<x?Rf<x?0:-1:0:-1:Np<x?Kc<x?0:-1:0:-1:fr(JX1,x+Kd|0)-1|0:-1}return-1},Wt0=function(i){if(i){var x=i[1];return 35<x?C_<x?ha<x?vs<x?-1:ne<x?Mu<x?Nh<x?_D<x?O2<x?a7<x?uy<x?pE<x?Jg<x?0:-1:$D<x?ks<x?0:-1:0:-1:N2<x?up<x?A7<x?A_<x?0:-1:0:-1:e<x?Xf<x?0:-1:0:-1:Ld<x?w1<x?Zo<x?Ov<x?pv<x?mg<x?Xy<x?Cm<x?ob<x?Sd<x?0:-1:0:-1:d2<x?qt<x?0:-1:0:-1:Am<x?$_<x?Bt<x?Pp<x?0:-1:0:-1:Fc<x?_3<x?0:-1:0:-1:yy<x?sn<x?G3<x?jl<x?vd<x?Hb<x?0:-1:0:-1:Gt<x?aC<x?0:-1:0:-1:_e<x?Ac<x?Gv<x?op<x?0:-1:0:-1:Zl<x?Jv<x?0:-1:0:-1:I_<x?Pb<x?gg<x?ih<x?m7<x?P7<x?np<x?bv<x?0:-1:0:-1:Yp<x?Rg<x?0:-1:0:-1:dp<x?V7<x?Kh<x?Xl<x?0:-1:0:-1:oD<x?Jb<x?0:-1:0:-1:Us<x?dd<x?hv<x?Dp<x?jv<x?Zp<x?0:-1:0:-1:bD<x?V3<x?0:-1:0:-1:gv<x?iv<x?oh<x?Ym<x?0:-1:0:-1:Gy<x?p7<x?0:-1:0:-1:fp<x?Ef<x?c7<x?l0<x?Z1<x?Hr<x?Eb<x?Xb<x?OD<x?R2<x?kE<x?Iv<x?0:-1:0:-1:0:Ox<x?Kf<x?gE<x?Va<x?0:-1:0:-1:ge<x?_l<x?0:-1:0:pD<x?vE<x?ky<x?wp<x?0:-1:p3<x?Ih<x?0:-1:0:-1:MD<x?OC<x?0:-1:KC<x?r3<x?0:-1:0:-1:I2<x?lo<x?Re<x?yC<x?ME<x?db<x?fg<x?Wy<x?0:-1:0:-1:XE<x?xd<x?0:-1:0:-1:Wa<x?yc<x?S3<x?Kl<x?0:-1:0:-1:Fy<x?xc<x?0:-1:0:-1:ka<x?Kp<x?uE<x?Lg<x?_C<x?OE<x?0:-1:0:-1:v2<x?Hm<x?0:-1:0:-1:Wx<x?ff<x?Tb<x?Fm<x?0:-1:0:-1:b3<x?k7<x?0:-1:0:-1:d3<x?Ad<x?P3<x?Yd<x?eu<x?l7<x?Mt<x?v1<x?Cg<x?Xm<x?0:-1:0:-1:zf<x?mD<x?0:-1:0:-1:Mv<x?tt<x?Pm<x?ld<x?0:-1:0:-1:$3<x?zp<x?0:-1:0:-1:qx<x?n3<x?YD<x?uD<x?I7<x?fl<x?0:-1:0:-1:al<x?j_<x?0:-1:0:-1:Cc<x?N1<x?O_<x?B7<x?0:-1:0:-1:pd<x?dm<x?0:-1:0:-1:N0<x?Xh<x?dh<x?dg<x?b0<x?bp<x?Nl<x?Ph<x?0:-1:0:-1:M3<x?lb<x?0:-1:0:-1:rc<x?ec<x?P_<x?Ud<x?0:-1:0:-1:fv<x?K_<x?0:-1:0:-1:Om<x?Ag<x?rf<x?O3<x?Fn<x?bt<x?0:-1:0:-1:U<x?j7<x?0:-1:0:-1:DC<x?ed<x?Im<x?i3<x?0:-1:0:-1:0:-1:kv<x?Hd<x?Jy<x?Za<x?wD<x?E1<x?ag<x?xh<x?Hv<x?vv<x?l3<x?0:-1:0:-1:H3<x?co<x?0:-1:0:-1:LD<x?ex<x?qy<x?nD<x?0:-1:0:-1:ED<x?Pa<x?0:-1:0:-1:sD<x?th<x?hh<x?L_<x?h3<x?Cy<x?0:-1:0:-1:w7<x?Ey<x?0:-1:0:-1:H2<x?eh<x?xv<x?0:-1:0:u2<x?C<x?0:-1:0:P<x?Kg<x?wl<x?b_<x?cc<x?W_<x?0:-1:Tg<x?i_<x?0:-1:0:-1:Sb<x?tv<x?s7<x?Ku<x?0:-1:0:-1:nb<x?Cf<x?0:-1:0:-1:aE<x?Gr<x?hE<x?O<x?0:-1:Uc<x?Qv<x?0:-1:0:-1:Un<x?T3<x?X_<x?BC<x?0:-1:0:-1:p2<x?dy<x?0:-1:0:-1:Jr<x?uv<x?Gc<x?mo<x?Q3<x?vD<x?yv<x?Qd<x?e7<x?Jh<x?0:-1:0:-1:u7<x?b2<x?0:-1:0:-1:BD<x?0:oE<x?bg<x?0:-1:0:-1:B3<x?0:sE<x?G2<x?pa<x?o7<x?0:-1:0:-1:0:-1:r_<x?$y<x?U3<x?X7<x?C7<x?wh<x?L7<x?0:-1:0:-1:Zy<x?t8<x?0:-1:0:LC<x?jp<x?0:-1:F3<x?lE<x?0:-1:0:-1:UD<x?uc<x?tm<x?C0<x?0:-1:G0<x?rD<x?0:-1:0:-1:0:Qb<x?N7<x?D2<x?Se<x?D_<x?_g<x?MC<x?hy<x?ub<x?ph<x?$7<x?yE<x?0:-1:S0<x?Dh<x?0:-1:0:-1:Ko<x&&kg<x?o0<x?0:-1:0:FD<x?_y<x?c3<x&&EC<x?ho<x?0:-1:0:-1:Xp<x?Bp<x?_u<x?GD<x?0:-1:0:-1:Q2<x?g7<x?0:-1:0:Y_<x?NE<x?n8<x||Fd<x?0:SE<x?Y3<x?0:-1:0:-1:rs<x||Pc<x?0:SC<x?Bd<x?0:-1:0:D7<x?Em<x?Ju<x?QE<x?zm<x&&sy<x?mb<x?0:-1:0:m_<x&&g3<x?Gf<x?0:-1:0:-1:CD<x?Mg<x?Yg<x?If<x?_c<x?Uv<x?0:-1:0:-1:0:-1:0:Mc<x?wy<x?CE<x?EE<x?vp<x?D<x?Ub<x?0:-1:0:-1:0:NC<x?0:e3<x?m3<x?0:-1:0:-1:j3<x&&v7<x&&cv<x?FC<x?0:-1:0:Gh<x?Mm<x?fi<x?SD<x?FE<x?ri<x?DD<x?qD<x?0:-1:mf<x?Ep<x?0:-1:0:-1:0:Nc<x?Wg<x?0:My<x?ib<x?0:-1:0:UC<x&&p1<x?C2<x?0:-1:0:GE<x?pm<x?o2<x?Dg<x&&S7<x?zg<x?0:-1:0:-1:Tt<x?y7<x?cb<x?M7<x?0:-1:0:-1:0:0:-1:qv<x?WC<x?am<x?_m<x?Op<x?x_<x?0:-1:lv<x?ze<x?0:-1:0:0:x7<x?Oh<x?H_<x?0:$a<x?Z2<x?0:-1:0:-1:py<x?Iy<x?bd<x?0:-1:0:v_<x?Ne<x?0:-1:0:-1:yo<x?Yh<x?xm<x?fy<x?o1<x?Hi<x?my<x?0:-1:0:-1:md<x?ol<x?0:-1:0:0:-1:_1<x?za<x?xl<x?ws<x?f7<x?Iu<x?0:-1:0:-1:n_<x?ym<x?0:-1:0:-1:Il<x?z_<x?Bo<x?xf<x?0:-1:0:-1:0:-1:vm<x?Ii<x?ce<x?Q7<x?bh<x?x3<x?E2<x?M<x&&tD<x?AE<x?0:-1:0:pg<x?Su<x?qm<x?t_<x?0:-1:0:-1:S_<x?jd<x?0:-1:0:-1:AC<x?wE<x?Zr<x?Td<x?t7<x?0:-1:0:-1:lh<x?JE<x?0:-1:0:0:yl<x?Q_<x?jf<x?X2<x?Wm<x?0:-1:Kb<x?_i<x?0:-1:0:-1:K0<x?jC<x?0:-1:Mn<x?C3<x?0:-1:0:oy<x?0:Zv<x?hb<x?0:-1:RC<x?qh<x?0:-1:0:$f<x?gy<x?xD<x?dC<x?Xd<x?Z<x?Jl<x?0:-1:0:$C<x?Ss<x?0:-1:0:-1:0:Xo<x?pp<x?Bs<x?e8<x?TC<x?0:-1:0:-1:Ug<x?bm<x?0:-1:0:0:Hu<x?zC<x?om<x?y3<x?VD<x?0:-1:TE<x?Lf<x?0:-1:0:0:-1:F7<x?mv<x?b7<x?ov<x?Xn<x?0:-1:0:Lb<x?Ky<x?0:-1:0:-1:dE<x?K3<x?H<x?kb<x?0:-1:0:-1:0:-1:Vf<x?Cd<x?zv<x?hl<x?hm<x?Qp<x?sC<x?f0<x?yD<x?Th<x?Qy<x?0:-1:0:-1:vg<x?E_<x?0:-1:0:-1:Sm<x?Zm<x?n7<x?k_<x?0:-1:0:-1:ot<x?PD<x?0:-1:0:B0<x?e_<x?iC<x?Nb<x?Ob<x?ab<x?0:-1:0:-1:Ws<x?pb<x?0:-1:0:-1:tC<x?wv<x?P2<x?DE<x?0:-1:0:-1:Mo<x?Vg<x?0:-1:0:-1:Wl<x?Gd<x?Sl<x?O7<x?mu<x?0:-1:IC<x?A0<x?0:-1:0:c2<x?jb<x?Yl<x?b1<x?0:-1:0:-1:Dy<x?oi<x?0:-1:0:-1:zh<x?Te<x?of<x?Vy<x?Yu<x?Ut<x?0:-1:0:-1:Rv<x?sv<x?0:-1:0:-1:U7<x?Bm<x?Bv<x?qg<x?0:-1:0:-1:jg<x?cD<x?0:-1:0:-1:tb<x?h7<x?Ay<x?Wh<x?_7<x?rC<x?hc<x?Uu<x?oC<x?O0<x?0:-1:0:-1:s1<x?HD<x?0:-1:0:-1:Ix<x?rd<x?df<x?tl<x?0:-1:0:-1:Tm<x?B2<x?0:-1:0:-1:Pv<x?Tp<x?e0<x?Xc<x?a_<x?0:-1:0:-1:ly<x?Wp<x?0:-1:0:mp<x?Nv<x?Vh<x?tf<x?0:-1:0:-1:rl<x?aD<x?0:-1:0:-1:Lv<x?d0<x?Gm<x?Xv<x?LE<x?Fg<x?0:-1:0:Zc<x?Zb<x?0:-1:0:E3<x?0:Qg<x?wg<x?0:-1:0:-1:pf<x?Bh<x?Id<x?Ly<x?R_<x?U0<x?0:-1:0:-1:Up<x?G_<x?0:-1:0:-1:k3<x?cy<x?g0<x?U1<x?0:-1:0:-1:qr<x?De<x?0:-1:0:-1:Zt<x?ry<x?Qm<x?gm<x?Ds<x?a8<x?ql<x?wf<x?L2<x?xu<x?jy<x?Rd<x?Rb<x?W3<x?Y0<x?0:-1:0:-1:U_<x?xC<x?0:-1:0:-1:Jm<x?Dm<x?Al<x?Fl<x?0:-1:0:-1:F_<x?Nt<x?0:-1:0:-1:Ff<x?0:y2<x?l1<x?vy<x?gd<x?0:-1:0:-1:Fh<x?Sh<x?0:-1:0:-1:P0<x?W7<x?YE<x?i8<x?dD<x?Vb<x?Y7<x?V0<x?0:-1:0:-1:av<x?W<x?0:-1:0:-1:Vv<x?gC<x?Is<x?cp<x?0:-1:0:-1:Gb<x?RE<x?0:-1:0:-1:y0<x?Ou<x?bo<x?rb<x?E7<x?ZD<x?0:-1:0:-1:Ty<x?by<x?0:-1:0:-1:mh<x?mm<x?Gg<x?I3<x?0:-1:0:-1:li<x?Av<x?0:-1:0:-1:La<x?Uy<x?Cp<x?js<x?q_<x?lD<x&&QD<x?ID<x?0:-1:0:-1:H1<x?c0<x?N_<x?l2<x?0:-1:0:-1:kp<x?Hy<x?0:-1:0:-1:hf<x?fE<x?gb<x?d<x?w3<x?_o<x?0:-1:0:-1:td<x?C1<x?0:-1:0:-1:cE<x?wb<x?0:-1:0:Xg<x?Fv<x?x8<x?0:Bb<x?uC<x?fb<x?0:-1:0:fD<x?nf<x?0:-1:0:-1:J7<x?Kt<x?og<x?V_<x?G<x?Kv<x?0:-1:0:-1:wm<x?Jf<x?0:-1:0:-1:rm<x&&Fb<x?kh<x?0:-1:0:q3<x?$<x?x2<x?Uh<x?BE<x&&X3<x?ts<x?0:-1:0:J3<x?G1<x?qs<x?0:-1:0:Wv<x?N3<x?0:-1:0:0:Hh<x?$m<x?0:Sv<x?_b<x?0:-1:0:g_<x?Rc<x?Ev<x?PC<x?Mr<x?0:-1:0:-1:0:rv<x?0:$d<x?Ur<x?0:-1:0:nx<x?ZE<x?qa<x?0:Eg<x&&JD<x?M2<x?0:-1:0:ip<x?K7<x?0:$c<x?Vm<x?0:-1:0:gt<x&&R7<x?Mf<x?0:-1:0:z7<x?_<x?0:zd<x?bC<x?0:-1:eC<x?L3<x?0:-1:0:Sy<x?wC<x?cl<x?0:-1:0:ng<x?0:zy<x?Pf<x?0:-1:0:-1:Hp<x?lg<x?I1<x?h_<x?Rl<x?ev<x?IE<x?r8<x?PE<x?0:-1:sp<x?D3<x?0:-1:0:fh<x?0:A3<x?Ip<x?0:-1:0:-1:0:p8<x?Hf<x?0:Dv<x?Px<x?Pe<x?kD<x?0:-1:0:-1:0:By<x?wd<x&&$b<x?ny<x?0:-1:0:_E<x?$v<x?iy<x?em<x?0:-1:0:-1:0:Lo<x?sf<x?Zd<x?R0<x?0:v3<x?CC<x?zl<x?iD<x?0:-1:0:-1:0:ig<x?m2<x?rp<x&&gD<x?Ed<x?0:-1:0:-1:bn<x?__<x?0:-1:0:-1:i7<x?Fo<x?nd<x?Y2<x?nC<x?0:Wb<x?cg<x?0:-1:0:-1:Eh<x?wu<x?T_<x?lp<x?0:-1:0:-1:sb<x?ds<x?0:-1:0:-1:vh<x?dv<x?Hx<x?Tv<x?Rp<x?0:-1:0:xi<x?af<x?0:-1:0:-1:0:-1:mE<x?bf<x?Ib<x?r7<x?sh<x?I0<x?Lm<x?qf<x&&_t<x?ep<x?0:-1:0:-1:HE<x&&kC<x?Hg<x?0:-1:0:-1:s2<x?rx<x?AD<x?0:Nf<x?h2<x?0:-1:0:-1:Ah<x?uh<x?Ch<x?hD<x?0:-1:0:-1:Zg<x?q7<x?0:-1:0:-1:_v<x?f3<x?Cv<x?ay<x?Yy<x?hg<x?Md<x?Ro<x?0:-1:0:-1:ND<x?$h<x?0:-1:0:-1:kf<x?Of<x?0:-1:TD<x?nv<x?0:-1:0:-1:R3<x?ch<x?y_<x?WD<x?Js<x?0:-1:0:-1:Ap<x?qb<x?0:-1:0:Mb<x?ht<x?0:-1:0:pl<x?d7<x?Uf<x?nl<x?Km<x?j<x?_d<x?G7<x?xb<x?0:-1:0:-1:D0<x?H7<x?0:-1:0:Vp<x?w_<x?0:-1:a3<x?Sg<x?0:-1:0:-1:zD<x?bE<x&&Yv<x?Ry<x?0:-1:0:oc<x?$i<x?0:-1:XD<x?t3<x?0:-1:0:-1:$e<x?ah<x?Bi<x?d_<x?Pu<x?j2<x?an<x?0:-1:0:z3<x?Yb<x?0:-1:0:-1:zb<x?B_<x?nm<x?eD<x?0:-1:0:-1:ug<x?T7<x?0:-1:0:-1:Z7<x?Yi<x?J_<x?Dd<x?W1<x?Oy<x?0:-1:0:-1:M_<x?Z3<x?0:-1:0:-1:eb<x?im<x?qC<x?Rf<x?0:-1:0:-1:Np<x?Kc<x?0:-1:0:-1:fr(HX1,x+Kd|0)-1|0:-1}return-1},Jq=function(i){if(i){var x=i[1];return Yw<x?Uk<x?-1:0:-1}return-1},i20=function(i){if(i){var x=i[1];return 8<x?AR<x?R4<x?cN<x?-1:RN<x?HN<x?0:-1:gP<x?b9<x?h0<x?KN<x?0:-1:0:-1:xI<x?kA<x?0:-1:0:-1:fr(AG1,x-9|0)-1|0:-1}return-1},a20=function(i){if(i){var x=i[1];return 35<x?$u<x?-1:fr(fX1,x+Kd|0)-1|0:-1}return-1},LY=function(i){if(i){var x=i[1];return 41<x?47<x?-1:fr(wY1,x+-42|0)-1|0:-1}return-1},MY=function(i){if(i){var x=i[1];return 35<x?$u<x?-1:fr(QG1,x+Kd|0)-1|0:-1}return-1},o20=function(i){if(i){var x=i[1];return 35<x?$u<x?-1:fr(ZG1,x+Kd|0)-1|0:-1}return-1},s20=function(i){if(i){var x=i[1];return cM<x?qI<x?-1:0:-1}return-1},RY=function(i){if(i){var x=i[1];return 35<x?$u<x?-1:fr(xX1,x+Kd|0)-1|0:-1}return-1},VU=function(i){if(i){var x=i[1];return 35<x?C_<x?ha<x?vs<x?-1:ne<x?Mu<x?Nh<x?_D<x?O2<x?a7<x?uy<x?pE<x?Jg<x?0:-1:$D<x?ks<x?0:-1:0:-1:N2<x?up<x?A7<x?A_<x?0:-1:0:-1:e<x?Xf<x?0:-1:0:-1:Ld<x?w1<x?Zo<x?Ov<x?pv<x?mg<x?Xy<x?Cm<x?ob<x?Sd<x?0:-1:0:-1:d2<x?qt<x?0:-1:0:-1:Am<x?$_<x?Bt<x?Pp<x?0:-1:0:-1:Fc<x?_3<x?0:-1:0:-1:yy<x?sn<x?G3<x?jl<x?vd<x?Hb<x?0:-1:0:-1:Gt<x?aC<x?0:-1:0:-1:_e<x?Ac<x?Gv<x?op<x?0:-1:0:-1:Zl<x?Jv<x?0:-1:0:-1:I_<x?Pb<x?gg<x?ih<x?m7<x?P7<x?np<x?bv<x?0:-1:0:-1:Yp<x?Rg<x?0:-1:0:-1:dp<x?V7<x?Kh<x?Xl<x?0:-1:0:-1:oD<x?Jb<x?0:-1:0:-1:Us<x?dd<x?hv<x?Dp<x?jv<x?Zp<x?0:-1:0:-1:bD<x?V3<x?0:-1:0:-1:gv<x?iv<x?oh<x?Ym<x?0:-1:0:-1:Gy<x?p7<x?0:-1:0:-1:fp<x?Ef<x?c7<x?l0<x?Z1<x?Hr<x?Eb<x?Xb<x?OD<x?R2<x?kE<x?Iv<x?0:-1:0:-1:0:Ox<x?Kf<x?gE<x?Va<x?0:-1:0:-1:ge<x?_l<x?0:-1:0:pD<x?vE<x?ky<x?wp<x?0:-1:p3<x?Ih<x?0:-1:0:-1:MD<x?OC<x?0:-1:KC<x?r3<x?0:-1:0:-1:I2<x?lo<x?Re<x?yC<x?ME<x?db<x?fg<x?Wy<x?0:-1:0:-1:XE<x?xd<x?0:-1:0:-1:Wa<x?yc<x?S3<x?Kl<x?0:-1:0:-1:Fy<x?xc<x?0:-1:0:-1:ka<x?Kp<x?uE<x?Lg<x?_C<x?OE<x?0:-1:0:-1:v2<x?Hm<x?0:-1:0:-1:Wx<x?ff<x?Tb<x?Fm<x?0:-1:0:-1:b3<x?k7<x?0:-1:0:-1:d3<x?Ad<x?P3<x?Yd<x?eu<x?l7<x?Mt<x?v1<x?Cg<x?Xm<x?0:-1:0:-1:zf<x?mD<x?0:-1:0:-1:Mv<x?tt<x?Pm<x?ld<x?0:-1:0:-1:$3<x?zp<x?0:-1:0:-1:qx<x?n3<x?YD<x?uD<x?I7<x?fl<x?0:-1:0:-1:al<x?j_<x?0:-1:0:-1:Cc<x?N1<x?O_<x?B7<x?0:-1:0:-1:pd<x?dm<x?0:-1:0:-1:N0<x?Xh<x?dh<x?dg<x?b0<x?bp<x?Nl<x?Ph<x?0:-1:0:-1:M3<x?lb<x?0:-1:0:-1:rc<x?ec<x?P_<x?Ud<x?0:-1:0:-1:fv<x?K_<x?0:-1:0:-1:Om<x?Ag<x?rf<x?O3<x?Fn<x?bt<x?0:-1:0:-1:U<x?j7<x?0:-1:0:-1:DC<x?ed<x?Im<x?i3<x?0:-1:0:-1:0:-1:kv<x?Hd<x?Jy<x?Za<x?wD<x?E1<x?ag<x?xh<x?Hv<x?vv<x?l3<x?0:-1:0:-1:H3<x?co<x?0:-1:0:-1:LD<x?ex<x?qy<x?nD<x?0:-1:0:-1:ED<x?Pa<x?0:-1:0:-1:sD<x?th<x?hh<x?L_<x?h3<x?Cy<x?0:-1:0:-1:w7<x?Ey<x?0:-1:0:-1:H2<x?eh<x?xv<x?0:-1:0:u2<x?C<x?0:-1:0:P<x?Kg<x?wl<x?b_<x?cc<x?W_<x?0:-1:Tg<x?i_<x?0:-1:0:-1:Sb<x?tv<x?s7<x?Ku<x?0:-1:0:-1:nb<x?Cf<x?0:-1:0:-1:aE<x?Gr<x?hE<x?O<x?0:-1:Uc<x?Qv<x?0:-1:0:-1:Un<x?T3<x?X_<x?BC<x?0:-1:0:-1:p2<x?dy<x?0:-1:0:-1:Jr<x?uv<x?Gc<x?mo<x?Q3<x?vD<x?yv<x?Qd<x?e7<x?Jh<x?0:-1:0:-1:u7<x?b2<x?0:-1:0:-1:BD<x?0:oE<x?bg<x?0:-1:0:-1:B3<x?0:sE<x?G2<x?pa<x?o7<x?0:-1:0:-1:0:-1:r_<x?$y<x?U3<x?X7<x?C7<x?wh<x?L7<x?0:-1:0:-1:Zy<x?t8<x?0:-1:0:LC<x?jp<x?0:-1:F3<x?lE<x?0:-1:0:-1:UD<x?uc<x?tm<x?C0<x?0:-1:G0<x?rD<x?0:-1:0:-1:0:Qb<x?N7<x?D2<x?Se<x?D_<x?_g<x?MC<x?hy<x?ub<x?ph<x?$7<x?yE<x?0:-1:S0<x?Dh<x?0:-1:0:-1:Ko<x&&kg<x?o0<x?0:-1:0:FD<x?_y<x?c3<x&&EC<x?ho<x?0:-1:0:-1:Xp<x?Bp<x?_u<x?GD<x?0:-1:0:-1:Q2<x?g7<x?0:-1:0:Y_<x?NE<x?n8<x||Fd<x?0:SE<x?Y3<x?0:-1:0:-1:rs<x||Pc<x?0:SC<x?Bd<x?0:-1:0:D7<x?Em<x?Ju<x?QE<x?zm<x&&sy<x?mb<x?0:-1:0:m_<x&&g3<x?Gf<x?0:-1:0:-1:CD<x?Mg<x?Yg<x?If<x?_c<x?Uv<x?0:-1:0:-1:0:-1:0:Mc<x?wy<x?CE<x?EE<x?vp<x?D<x?Ub<x?0:-1:0:-1:0:NC<x?0:e3<x?m3<x?0:-1:0:-1:j3<x&&v7<x&&cv<x?FC<x?0:-1:0:Gh<x?Mm<x?fi<x?SD<x?FE<x?ri<x?DD<x?qD<x?0:-1:mf<x?Ep<x?0:-1:0:-1:0:Nc<x?Wg<x?0:My<x?ib<x?0:-1:0:UC<x&&p1<x?C2<x?0:-1:0:GE<x?pm<x?o2<x?Dg<x&&S7<x?zg<x?0:-1:0:-1:Tt<x?y7<x?cb<x?M7<x?0:-1:0:-1:0:0:-1:qv<x?WC<x?am<x?_m<x?Op<x?x_<x?0:-1:lv<x?ze<x?0:-1:0:0:x7<x?Oh<x?H_<x?0:$a<x?Z2<x?0:-1:0:-1:py<x?Iy<x?bd<x?0:-1:0:v_<x?Ne<x?0:-1:0:-1:yo<x?Yh<x?xm<x?fy<x?o1<x?Hi<x?my<x?0:-1:0:-1:md<x?ol<x?0:-1:0:0:-1:_1<x?za<x?xl<x?ws<x?f7<x?Iu<x?0:-1:0:-1:n_<x?ym<x?0:-1:0:-1:Il<x?z_<x?Bo<x?xf<x?0:-1:0:-1:0:-1:vm<x?Ii<x?ce<x?Q7<x?bh<x?x3<x?E2<x?M<x&&tD<x?AE<x?0:-1:0:pg<x?Su<x?qm<x?t_<x?0:-1:0:-1:S_<x?jd<x?0:-1:0:-1:AC<x?wE<x?Zr<x?Td<x?t7<x?0:-1:0:-1:lh<x?JE<x?0:-1:0:0:yl<x?Q_<x?jf<x?X2<x?Wm<x?0:-1:Kb<x?_i<x?0:-1:0:-1:K0<x?jC<x?0:-1:Mn<x?C3<x?0:-1:0:oy<x?0:Zv<x?hb<x?0:-1:RC<x?qh<x?0:-1:0:$f<x?gy<x?xD<x?dC<x?Xd<x?Z<x?Jl<x?0:-1:0:$C<x?Ss<x?0:-1:0:-1:0:Xo<x?pp<x?Bs<x?e8<x?TC<x?0:-1:0:-1:Ug<x?bm<x?0:-1:0:0:Hu<x?zC<x?om<x?y3<x?VD<x?0:-1:TE<x?Lf<x?0:-1:0:0:-1:F7<x?mv<x?b7<x?ov<x?Xn<x?0:-1:0:Lb<x?Ky<x?0:-1:0:-1:dE<x?K3<x?H<x?kb<x?0:-1:0:-1:0:-1:Vf<x?Cd<x?zv<x?hl<x?hm<x?Qp<x?sC<x?f0<x?yD<x?Th<x?Qy<x?0:-1:0:-1:vg<x?E_<x?0:-1:0:-1:Sm<x?Zm<x?n7<x?k_<x?0:-1:0:-1:ot<x?PD<x?0:-1:0:B0<x?e_<x?iC<x?Nb<x?Ob<x?ab<x?0:-1:0:-1:Ws<x?pb<x?0:-1:0:-1:tC<x?wv<x?P2<x?DE<x?0:-1:0:-1:Mo<x?Vg<x?0:-1:0:-1:Wl<x?Gd<x?Sl<x?O7<x?mu<x?0:-1:IC<x?A0<x?0:-1:0:c2<x?jb<x?Yl<x?b1<x?0:-1:0:-1:Dy<x?oi<x?0:-1:0:-1:zh<x?Te<x?of<x?Vy<x?Yu<x?Ut<x?0:-1:0:-1:Rv<x?sv<x?0:-1:0:-1:U7<x?Bm<x?Bv<x?qg<x?0:-1:0:-1:jg<x?cD<x?0:-1:0:-1:tb<x?h7<x?Ay<x?Wh<x?_7<x?rC<x?hc<x?Uu<x?oC<x?O0<x?0:-1:0:-1:s1<x?HD<x?0:-1:0:-1:Ix<x?rd<x?df<x?tl<x?0:-1:0:-1:Tm<x?B2<x?0:-1:0:-1:Pv<x?Tp<x?e0<x?Xc<x?a_<x?0:-1:0:-1:ly<x?Wp<x?0:-1:0:mp<x?Nv<x?Vh<x?tf<x?0:-1:0:-1:rl<x?aD<x?0:-1:0:-1:Lv<x?d0<x?Gm<x?Xv<x?LE<x?Fg<x?0:-1:0:Zc<x?Zb<x?0:-1:0:E3<x?0:Qg<x?wg<x?0:-1:0:-1:pf<x?Bh<x?Id<x?Ly<x?R_<x?U0<x?0:-1:0:-1:Up<x?G_<x?0:-1:0:-1:k3<x?cy<x?g0<x?U1<x?0:-1:0:-1:qr<x?De<x?0:-1:0:-1:Zt<x?ry<x?Qm<x?gm<x?Ds<x?a8<x?ql<x?wf<x?L2<x?xu<x?jy<x?Rd<x?Rb<x?W3<x?Y0<x?0:-1:0:-1:U_<x?xC<x?0:-1:0:-1:Jm<x?Dm<x?Al<x?Fl<x?0:-1:0:-1:F_<x?Nt<x?0:-1:0:-1:Ff<x?0:y2<x?l1<x?vy<x?gd<x?0:-1:0:-1:Fh<x?Sh<x?0:-1:0:-1:P0<x?W7<x?YE<x?i8<x?dD<x?Vb<x?Y7<x?V0<x?0:-1:0:-1:av<x?W<x?0:-1:0:-1:Vv<x?gC<x?Is<x?cp<x?0:-1:0:-1:Gb<x?RE<x?0:-1:0:-1:y0<x?Ou<x?bo<x?rb<x?E7<x?ZD<x?0:-1:0:-1:Ty<x?by<x?0:-1:0:-1:mh<x?mm<x?Gg<x?I3<x?0:-1:0:-1:li<x?Av<x?0:-1:0:-1:La<x?Uy<x?Cp<x?js<x?q_<x?lD<x&&QD<x?ID<x?0:-1:0:-1:H1<x?c0<x?N_<x?l2<x?0:-1:0:-1:kp<x?Hy<x?0:-1:0:-1:hf<x?fE<x?gb<x?d<x?w3<x?_o<x?0:-1:0:-1:td<x?C1<x?0:-1:0:-1:cE<x?wb<x?0:-1:0:Xg<x?Fv<x?x8<x?0:Bb<x?uC<x?fb<x?0:-1:0:fD<x?nf<x?0:-1:0:-1:J7<x?Kt<x?og<x?V_<x?G<x?Kv<x?0:-1:0:-1:wm<x?Jf<x?0:-1:0:-1:rm<x&&Fb<x?kh<x?0:-1:0:q3<x?$<x?x2<x?Uh<x?BE<x&&X3<x?ts<x?0:-1:0:J3<x?G1<x?qs<x?0:-1:0:Wv<x?N3<x?0:-1:0:0:Hh<x?$m<x?0:Sv<x?_b<x?0:-1:0:g_<x?Rc<x?Ev<x?PC<x?Mr<x?0:-1:0:-1:0:rv<x?0:$d<x?Ur<x?0:-1:0:nx<x?ZE<x?qa<x?0:Eg<x&&JD<x?M2<x?0:-1:0:ip<x?K7<x?0:$c<x?Vm<x?0:-1:0:gt<x&&R7<x?Mf<x?0:-1:0:z7<x?_<x?0:zd<x?bC<x?0:-1:eC<x?L3<x?0:-1:0:Sy<x?wC<x?cl<x?0:-1:0:ng<x?0:zy<x?Pf<x?0:-1:0:-1:Hp<x?lg<x?I1<x?h_<x?Rl<x?ev<x?IE<x?r8<x?PE<x?0:-1:sp<x?D3<x?0:-1:0:fh<x?0:A3<x?Ip<x?0:-1:0:-1:0:p8<x?Hf<x?0:Dv<x?Px<x?Pe<x?kD<x?0:-1:0:-1:0:By<x?wd<x&&$b<x?ny<x?0:-1:0:_E<x?$v<x?iy<x?em<x?0:-1:0:-1:0:Lo<x?sf<x?Zd<x?R0<x?0:v3<x?CC<x?zl<x?iD<x?0:-1:0:-1:0:ig<x?m2<x?rp<x&&gD<x?Ed<x?0:-1:0:-1:bn<x?__<x?0:-1:0:-1:i7<x?Fo<x?nd<x?Y2<x?nC<x?0:Wb<x?cg<x?0:-1:0:-1:Eh<x?wu<x?T_<x?lp<x?0:-1:0:-1:sb<x?ds<x?0:-1:0:-1:vh<x?dv<x?Hx<x?Tv<x?Rp<x?0:-1:0:xi<x?af<x?0:-1:0:-1:0:-1:mE<x?bf<x?Ib<x?r7<x?sh<x?I0<x?Lm<x?qf<x&&_t<x?ep<x?0:-1:0:-1:HE<x&&kC<x?Hg<x?0:-1:0:-1:s2<x?rx<x?AD<x?0:Nf<x?h2<x?0:-1:0:-1:Ah<x?uh<x?Ch<x?hD<x?0:-1:0:-1:Zg<x?q7<x?0:-1:0:-1:_v<x?f3<x?Cv<x?ay<x?Yy<x?hg<x?Md<x?Ro<x?0:-1:0:-1:ND<x?$h<x?0:-1:0:-1:kf<x?Of<x?0:-1:TD<x?nv<x?0:-1:0:-1:R3<x?ch<x?y_<x?WD<x?Js<x?0:-1:0:-1:Ap<x?qb<x?0:-1:0:Mb<x?ht<x?0:-1:0:pl<x?d7<x?Uf<x?nl<x?Km<x?j<x?_d<x?G7<x?xb<x?0:-1:0:-1:D0<x?H7<x?0:-1:0:Vp<x?w_<x?0:-1:a3<x?Sg<x?0:-1:0:-1:zD<x?bE<x&&Yv<x?Ry<x?0:-1:0:oc<x?$i<x?0:-1:XD<x?t3<x?0:-1:0:-1:$e<x?ah<x?Bi<x?d_<x?Pu<x?j2<x?an<x?0:-1:0:z3<x?Yb<x?0:-1:0:-1:zb<x?B_<x?nm<x?eD<x?0:-1:0:-1:ug<x?T7<x?0:-1:0:-1:Z7<x?Yi<x?J_<x?Dd<x?W1<x?Oy<x?0:-1:0:-1:M_<x?Z3<x?0:-1:0:-1:eb<x?im<x?qC<x?Rf<x?0:-1:0:-1:Np<x?Kc<x?0:-1:0:-1:fr(ZX1,x+Kd|0)-1|0:-1}return-1},Hq=function(i){if(i){var x=i[1];return 35<x?C_<x?ha<x?vs<x?-1:ne<x?Mu<x?Nh<x?_D<x?O2<x?a7<x?uy<x?pE<x?Jg<x?0:-1:$D<x?ks<x?0:-1:0:-1:N2<x?up<x?A7<x?A_<x?0:-1:0:-1:e<x?Xf<x?0:-1:0:-1:Ld<x?w1<x?Zo<x?Ov<x?pv<x?mg<x?Xy<x?Cm<x?ob<x?Sd<x?0:-1:0:-1:d2<x?qt<x?0:-1:0:-1:Am<x?$_<x?Bt<x?Pp<x?0:-1:0:-1:Fc<x?_3<x?0:-1:0:-1:yy<x?sn<x?G3<x?jl<x?vd<x?Hb<x?0:-1:0:-1:Gt<x?aC<x?0:-1:0:-1:_e<x?Ac<x?Gv<x?op<x?0:-1:0:-1:Zl<x?Jv<x?0:-1:0:-1:I_<x?Pb<x?gg<x?ih<x?m7<x?P7<x?np<x?bv<x?0:-1:0:-1:Yp<x?Rg<x?0:-1:0:-1:dp<x?V7<x?Kh<x?Xl<x?0:-1:0:-1:oD<x?Jb<x?0:-1:0:-1:Us<x?dd<x?hv<x?Dp<x?jv<x?Zp<x?0:-1:0:-1:bD<x?V3<x?0:-1:0:-1:gv<x?iv<x?oh<x?Ym<x?0:-1:0:-1:Gy<x?p7<x?0:-1:0:-1:fp<x?Ef<x?c7<x?l0<x?Z1<x?Hr<x?Eb<x?Xb<x?OD<x?R2<x?kE<x?Iv<x?0:-1:0:-1:0:Ox<x?Kf<x?gE<x?Va<x?0:-1:0:-1:ge<x?_l<x?0:-1:0:pD<x?vE<x?ky<x?wp<x?0:-1:p3<x?Ih<x?0:-1:0:-1:MD<x?OC<x?0:-1:KC<x?r3<x?0:-1:0:-1:I2<x?lo<x?Re<x?yC<x?ME<x?db<x?fg<x?Wy<x?0:-1:0:-1:XE<x?xd<x?0:-1:0:-1:Wa<x?yc<x?S3<x?Kl<x?0:-1:0:-1:Fy<x?xc<x?0:-1:0:-1:ka<x?Kp<x?uE<x?Lg<x?_C<x?OE<x?0:-1:0:-1:v2<x?Hm<x?0:-1:0:-1:Wx<x?ff<x?Tb<x?Fm<x?0:-1:0:-1:b3<x?k7<x?0:-1:0:-1:d3<x?Ad<x?P3<x?Yd<x?eu<x?l7<x?Mt<x?v1<x?Cg<x?Xm<x?0:-1:0:-1:zf<x?mD<x?0:-1:0:-1:Mv<x?tt<x?Pm<x?ld<x?0:-1:0:-1:$3<x?zp<x?0:-1:0:-1:qx<x?n3<x?YD<x?uD<x?I7<x?fl<x?0:-1:0:-1:al<x?j_<x?0:-1:0:-1:Cc<x?N1<x?O_<x?B7<x?0:-1:0:-1:pd<x?dm<x?0:-1:0:-1:N0<x?Xh<x?dh<x?dg<x?b0<x?bp<x?Nl<x?Ph<x?0:-1:0:-1:M3<x?lb<x?0:-1:0:-1:rc<x?ec<x?P_<x?Ud<x?0:-1:0:-1:fv<x?K_<x?0:-1:0:-1:Om<x?Ag<x?rf<x?O3<x?Fn<x?bt<x?0:-1:0:-1:U<x?j7<x?0:-1:0:-1:DC<x?ed<x?Im<x?i3<x?0:-1:0:-1:0:-1:kv<x?Hd<x?Jy<x?Za<x?wD<x?E1<x?ag<x?xh<x?Hv<x?vv<x?l3<x?0:-1:0:-1:H3<x?co<x?0:-1:0:-1:LD<x?ex<x?qy<x?nD<x?0:-1:0:-1:ED<x?Pa<x?0:-1:0:-1:sD<x?th<x?hh<x?L_<x?h3<x?Cy<x?0:-1:0:-1:w7<x?Ey<x?0:-1:0:-1:H2<x?eh<x?xv<x?0:-1:0:u2<x?C<x?0:-1:0:P<x?Kg<x?wl<x?b_<x?cc<x?W_<x?0:-1:Tg<x?i_<x?0:-1:0:-1:Sb<x?tv<x?s7<x?Ku<x?0:-1:0:-1:nb<x?Cf<x?0:-1:0:-1:aE<x?Gr<x?hE<x?O<x?0:-1:Uc<x?Qv<x?0:-1:0:-1:Un<x?T3<x?X_<x?BC<x?0:-1:0:-1:p2<x?dy<x?0:-1:0:-1:Jr<x?uv<x?Gc<x?mo<x?Q3<x?vD<x?yv<x?Qd<x?e7<x?Jh<x?0:-1:0:-1:u7<x?b2<x?0:-1:0:-1:BD<x?0:oE<x?bg<x?0:-1:0:-1:B3<x?0:sE<x?G2<x?pa<x?o7<x?0:-1:0:-1:0:-1:r_<x?$y<x?U3<x?X7<x?C7<x?wh<x?L7<x?0:-1:0:-1:Zy<x?t8<x?0:-1:0:LC<x?jp<x?0:-1:F3<x?lE<x?0:-1:0:-1:UD<x?uc<x?tm<x?C0<x?0:-1:G0<x?rD<x?0:-1:0:-1:0:Qb<x?N7<x?D2<x?Se<x?D_<x?_g<x?MC<x?hy<x?ub<x?ph<x?$7<x?yE<x?0:-1:S0<x?Dh<x?0:-1:0:-1:Ko<x&&kg<x?o0<x?0:-1:0:FD<x?_y<x?c3<x&&EC<x?ho<x?0:-1:0:-1:Xp<x?Bp<x?_u<x?GD<x?0:-1:0:-1:Q2<x?g7<x?0:-1:0:Y_<x?NE<x?n8<x||Fd<x?0:SE<x?Y3<x?0:-1:0:-1:rs<x||Pc<x?0:SC<x?Bd<x?0:-1:0:D7<x?Em<x?Ju<x?QE<x?zm<x&&sy<x?mb<x?0:-1:0:m_<x&&g3<x?Gf<x?0:-1:0:-1:CD<x?Mg<x?Yg<x?If<x?_c<x?Uv<x?0:-1:0:-1:0:-1:0:Mc<x?wy<x?CE<x?EE<x?vp<x?D<x?Ub<x?0:-1:0:-1:0:NC<x?0:e3<x?m3<x?0:-1:0:-1:j3<x&&v7<x&&cv<x?FC<x?0:-1:0:Gh<x?Mm<x?fi<x?SD<x?FE<x?ri<x?DD<x?qD<x?0:-1:mf<x?Ep<x?0:-1:0:-1:0:Nc<x?Wg<x?0:My<x?ib<x?0:-1:0:UC<x&&p1<x?C2<x?0:-1:0:GE<x?pm<x?o2<x?Dg<x&&S7<x?zg<x?0:-1:0:-1:Tt<x?y7<x?cb<x?M7<x?0:-1:0:-1:0:0:-1:qv<x?WC<x?am<x?_m<x?Op<x?x_<x?0:-1:lv<x?ze<x?0:-1:0:0:x7<x?Oh<x?H_<x?0:$a<x?Z2<x?0:-1:0:-1:py<x?Iy<x?bd<x?0:-1:0:v_<x?Ne<x?0:-1:0:-1:yo<x?Yh<x?xm<x?fy<x?o1<x?Hi<x?my<x?0:-1:0:-1:md<x?ol<x?0:-1:0:0:-1:_1<x?za<x?xl<x?ws<x?f7<x?Iu<x?0:-1:0:-1:n_<x?ym<x?0:-1:0:-1:Il<x?z_<x?Bo<x?xf<x?0:-1:0:-1:0:-1:vm<x?Ii<x?ce<x?Q7<x?bh<x?x3<x?E2<x?M<x&&tD<x?AE<x?0:-1:0:pg<x?Su<x?qm<x?t_<x?0:-1:0:-1:S_<x?jd<x?0:-1:0:-1:AC<x?wE<x?Zr<x?Td<x?t7<x?0:-1:0:-1:lh<x?JE<x?0:-1:0:0:yl<x?Q_<x?jf<x?X2<x?Wm<x?0:-1:Kb<x?_i<x?0:-1:0:-1:K0<x?jC<x?0:-1:Mn<x?C3<x?0:-1:0:oy<x?0:Zv<x?hb<x?0:-1:RC<x?qh<x?0:-1:0:$f<x?gy<x?xD<x?dC<x?Xd<x?Z<x?Jl<x?0:-1:0:$C<x?Ss<x?0:-1:0:-1:0:Xo<x?pp<x?Bs<x?e8<x?TC<x?0:-1:0:-1:Ug<x?bm<x?0:-1:0:0:Hu<x?zC<x?om<x?y3<x?VD<x?0:-1:TE<x?Lf<x?0:-1:0:0:-1:F7<x?mv<x?b7<x?ov<x?Xn<x?0:-1:0:Lb<x?Ky<x?0:-1:0:-1:dE<x?K3<x?H<x?kb<x?0:-1:0:-1:0:-1:Vf<x?Cd<x?zv<x?hl<x?hm<x?Qp<x?sC<x?f0<x?yD<x?Th<x?Qy<x?0:-1:0:-1:vg<x?E_<x?0:-1:0:-1:Sm<x?Zm<x?n7<x?k_<x?0:-1:0:-1:ot<x?PD<x?0:-1:0:B0<x?e_<x?iC<x?Nb<x?Ob<x?ab<x?0:-1:0:-1:Ws<x?pb<x?0:-1:0:-1:tC<x?wv<x?P2<x?DE<x?0:-1:0:-1:Mo<x?Vg<x?0:-1:0:-1:Wl<x?Gd<x?Sl<x?O7<x?mu<x?0:-1:IC<x?A0<x?0:-1:0:c2<x?jb<x?Yl<x?b1<x?0:-1:0:-1:Dy<x?oi<x?0:-1:0:-1:zh<x?Te<x?of<x?Vy<x?Yu<x?Ut<x?0:-1:0:-1:Rv<x?sv<x?0:-1:0:-1:U7<x?Bm<x?Bv<x?qg<x?0:-1:0:-1:jg<x?cD<x?0:-1:0:-1:tb<x?h7<x?Ay<x?Wh<x?_7<x?rC<x?hc<x?Uu<x?oC<x?O0<x?0:-1:0:-1:s1<x?HD<x?0:-1:0:-1:Ix<x?rd<x?df<x?tl<x?0:-1:0:-1:Tm<x?B2<x?0:-1:0:-1:Pv<x?Tp<x?e0<x?Xc<x?a_<x?0:-1:0:-1:ly<x?Wp<x?0:-1:0:mp<x?Nv<x?Vh<x?tf<x?0:-1:0:-1:rl<x?aD<x?0:-1:0:-1:Lv<x?d0<x?Gm<x?Xv<x?LE<x?Fg<x?0:-1:0:Zc<x?Zb<x?0:-1:0:E3<x?0:Qg<x?wg<x?0:-1:0:-1:pf<x?Bh<x?Id<x?Ly<x?R_<x?U0<x?0:-1:0:-1:Up<x?G_<x?0:-1:0:-1:k3<x?cy<x?g0<x?U1<x?0:-1:0:-1:qr<x?De<x?0:-1:0:-1:Zt<x?ry<x?Qm<x?gm<x?Ds<x?a8<x?ql<x?wf<x?L2<x?xu<x?jy<x?Rd<x?Rb<x?W3<x?Y0<x?0:-1:0:-1:U_<x?xC<x?0:-1:0:-1:Jm<x?Dm<x?Al<x?Fl<x?0:-1:0:-1:F_<x?Nt<x?0:-1:0:-1:Ff<x?0:y2<x?l1<x?vy<x?gd<x?0:-1:0:-1:Fh<x?Sh<x?0:-1:0:-1:P0<x?W7<x?YE<x?i8<x?dD<x?Vb<x?Y7<x?V0<x?0:-1:0:-1:av<x?W<x?0:-1:0:-1:Vv<x?gC<x?Is<x?cp<x?0:-1:0:-1:Gb<x?RE<x?0:-1:0:-1:y0<x?Ou<x?bo<x?rb<x?E7<x?ZD<x?0:-1:0:-1:Ty<x?by<x?0:-1:0:-1:mh<x?mm<x?Gg<x?I3<x?0:-1:0:-1:li<x?Av<x?0:-1:0:-1:La<x?Uy<x?Cp<x?js<x?q_<x?lD<x&&QD<x?ID<x?0:-1:0:-1:H1<x?c0<x?N_<x?l2<x?0:-1:0:-1:kp<x?Hy<x?0:-1:0:-1:hf<x?fE<x?gb<x?d<x?w3<x?_o<x?0:-1:0:-1:td<x?C1<x?0:-1:0:-1:cE<x?wb<x?0:-1:0:Xg<x?Fv<x?x8<x?0:Bb<x?uC<x?fb<x?0:-1:0:fD<x?nf<x?0:-1:0:-1:J7<x?Kt<x?og<x?V_<x?G<x?Kv<x?0:-1:0:-1:wm<x?Jf<x?0:-1:0:-1:rm<x&&Fb<x?kh<x?0:-1:0:q3<x?$<x?x2<x?Uh<x?BE<x&&X3<x?ts<x?0:-1:0:J3<x?G1<x?qs<x?0:-1:0:Wv<x?N3<x?0:-1:0:0:Hh<x?$m<x?0:Sv<x?_b<x?0:-1:0:g_<x?Rc<x?Ev<x?PC<x?Mr<x?0:-1:0:-1:0:rv<x?0:$d<x?Ur<x?0:-1:0:nx<x?ZE<x?qa<x?0:Eg<x&&JD<x?M2<x?0:-1:0:ip<x?K7<x?0:$c<x?Vm<x?0:-1:0:gt<x&&R7<x?Mf<x?0:-1:0:z7<x?_<x?0:zd<x?bC<x?0:-1:eC<x?L3<x?0:-1:0:Sy<x?wC<x?cl<x?0:-1:0:ng<x?0:zy<x?Pf<x?0:-1:0:-1:Hp<x?lg<x?I1<x?h_<x?Rl<x?ev<x?IE<x?r8<x?PE<x?0:-1:sp<x?D3<x?0:-1:0:fh<x?0:A3<x?Ip<x?0:-1:0:-1:0:p8<x?Hf<x?0:Dv<x?Px<x?Pe<x?kD<x?0:-1:0:-1:0:By<x?wd<x&&$b<x?ny<x?0:-1:0:_E<x?$v<x?iy<x?em<x?0:-1:0:-1:0:Lo<x?sf<x?Zd<x?R0<x?0:v3<x?CC<x?zl<x?iD<x?0:-1:0:-1:0:ig<x?m2<x?rp<x&&gD<x?Ed<x?0:-1:0:-1:bn<x?__<x?0:-1:0:-1:i7<x?Fo<x?nd<x?Y2<x?nC<x?0:Wb<x?cg<x?0:-1:0:-1:Eh<x?wu<x?T_<x?lp<x?0:-1:0:-1:sb<x?ds<x?0:-1:0:-1:vh<x?dv<x?Hx<x?Tv<x?Rp<x?0:-1:0:xi<x?af<x?0:-1:0:-1:0:-1:mE<x?bf<x?Ib<x?r7<x?sh<x?I0<x?Lm<x?qf<x&&_t<x?ep<x?0:-1:0:-1:HE<x&&kC<x?Hg<x?0:-1:0:-1:s2<x?rx<x?AD<x?0:Nf<x?h2<x?0:-1:0:-1:Ah<x?uh<x?Ch<x?hD<x?0:-1:0:-1:Zg<x?q7<x?0:-1:0:-1:_v<x?f3<x?Cv<x?ay<x?Yy<x?hg<x?Md<x?Ro<x?0:-1:0:-1:ND<x?$h<x?0:-1:0:-1:kf<x?Of<x?0:-1:TD<x?nv<x?0:-1:0:-1:R3<x?ch<x?y_<x?WD<x?Js<x?0:-1:0:-1:Ap<x?qb<x?0:-1:0:Mb<x?ht<x?0:-1:0:pl<x?d7<x?Uf<x?nl<x?Km<x?j<x?_d<x?G7<x?xb<x?0:-1:0:-1:D0<x?H7<x?0:-1:0:Vp<x?w_<x?0:-1:a3<x?Sg<x?0:-1:0:-1:zD<x?bE<x&&Yv<x?Ry<x?0:-1:0:oc<x?$i<x?0:-1:XD<x?t3<x?0:-1:0:-1:$e<x?ah<x?Bi<x?d_<x?Pu<x?j2<x?an<x?0:-1:0:z3<x?Yb<x?0:-1:0:-1:zb<x?B_<x?nm<x?eD<x?0:-1:0:-1:ug<x?T7<x?0:-1:0:-1:Z7<x?Yi<x?J_<x?Dd<x?W1<x?Oy<x?0:-1:0:-1:M_<x?Z3<x?0:-1:0:-1:eb<x?im<x?qC<x?Rf<x?0:-1:0:-1:Np<x?Kc<x?0:-1:0:-1:fr(xY1,x+Kd|0)-1|0:-1}return-1},$U=function(i){if(i){var x=i[1];return 35<x?C_<x?ha<x?vs<x?-1:ne<x?Mu<x?Nh<x?_D<x?O2<x?a7<x?uy<x?pE<x?Jg<x?0:-1:$D<x?ks<x?0:-1:0:-1:N2<x?up<x?A7<x?A_<x?0:-1:0:-1:e<x?Xf<x?0:-1:0:-1:Ld<x?w1<x?Zo<x?Ov<x?pv<x?mg<x?Xy<x?Cm<x?ob<x?Sd<x?0:-1:0:-1:d2<x?qt<x?0:-1:0:-1:Am<x?$_<x?Bt<x?Pp<x?0:-1:0:-1:Fc<x?_3<x?0:-1:0:-1:yy<x?sn<x?G3<x?jl<x?vd<x?Hb<x?0:-1:0:-1:Gt<x?aC<x?0:-1:0:-1:_e<x?Ac<x?Gv<x?op<x?0:-1:0:-1:Zl<x?Jv<x?0:-1:0:-1:I_<x?Pb<x?gg<x?ih<x?m7<x?P7<x?np<x?bv<x?0:-1:0:-1:Yp<x?Rg<x?0:-1:0:-1:dp<x?V7<x?Kh<x?Xl<x?0:-1:0:-1:oD<x?Jb<x?0:-1:0:-1:Us<x?dd<x?hv<x?Dp<x?jv<x?Zp<x?0:-1:0:-1:bD<x?V3<x?0:-1:0:-1:gv<x?iv<x?oh<x?Ym<x?0:-1:0:-1:Gy<x?p7<x?0:-1:0:-1:fp<x?Ef<x?c7<x?l0<x?Z1<x?Hr<x?Eb<x?Xb<x?OD<x?R2<x?kE<x?Iv<x?0:-1:0:-1:0:Ox<x?Kf<x?gE<x?Va<x?0:-1:0:-1:ge<x?_l<x?0:-1:0:pD<x?vE<x?ky<x?wp<x?0:-1:p3<x?Ih<x?0:-1:0:-1:MD<x?OC<x?0:-1:KC<x?r3<x?0:-1:0:-1:I2<x?lo<x?Re<x?yC<x?ME<x?db<x?fg<x?Wy<x?0:-1:0:-1:XE<x?xd<x?0:-1:0:-1:Wa<x?yc<x?S3<x?Kl<x?0:-1:0:-1:Fy<x?xc<x?0:-1:0:-1:ka<x?Kp<x?uE<x?Lg<x?_C<x?OE<x?0:-1:0:-1:v2<x?Hm<x?0:-1:0:-1:Wx<x?ff<x?Tb<x?Fm<x?0:-1:0:-1:b3<x?k7<x?0:-1:0:-1:d3<x?Ad<x?P3<x?Yd<x?eu<x?l7<x?Mt<x?v1<x?Cg<x?Xm<x?0:-1:0:-1:zf<x?mD<x?0:-1:0:-1:Mv<x?tt<x?Pm<x?ld<x?0:-1:0:-1:$3<x?zp<x?0:-1:0:-1:qx<x?n3<x?YD<x?uD<x?I7<x?fl<x?0:-1:0:-1:al<x?j_<x?0:-1:0:-1:Cc<x?N1<x?O_<x?B7<x?0:-1:0:-1:pd<x?dm<x?0:-1:0:-1:N0<x?Xh<x?dh<x?dg<x?b0<x?bp<x?Nl<x?Ph<x?0:-1:0:-1:M3<x?lb<x?0:-1:0:-1:rc<x?ec<x?P_<x?Ud<x?0:-1:0:-1:fv<x?K_<x?0:-1:0:-1:Om<x?Ag<x?rf<x?O3<x?Fn<x?bt<x?0:-1:0:-1:U<x?j7<x?0:-1:0:-1:DC<x?ed<x?Im<x?i3<x?0:-1:0:-1:0:-1:kv<x?Hd<x?Jy<x?Za<x?wD<x?E1<x?ag<x?xh<x?Hv<x?vv<x?l3<x?0:-1:0:-1:H3<x?co<x?0:-1:0:-1:LD<x?ex<x?qy<x?nD<x?0:-1:0:-1:ED<x?Pa<x?0:-1:0:-1:sD<x?th<x?hh<x?L_<x?h3<x?Cy<x?0:-1:0:-1:w7<x?Ey<x?0:-1:0:-1:H2<x?eh<x?xv<x?0:-1:0:u2<x?C<x?0:-1:0:P<x?Kg<x?wl<x?b_<x?cc<x?W_<x?0:-1:Tg<x?i_<x?0:-1:0:-1:Sb<x?tv<x?s7<x?Ku<x?0:-1:0:-1:nb<x?Cf<x?0:-1:0:-1:aE<x?Gr<x?hE<x?O<x?0:-1:Uc<x?Qv<x?0:-1:0:-1:Un<x?T3<x?X_<x?BC<x?0:-1:0:-1:p2<x?dy<x?0:-1:0:-1:Jr<x?uv<x?Gc<x?mo<x?Q3<x?vD<x?yv<x?Qd<x?e7<x?Jh<x?0:-1:0:-1:u7<x?b2<x?0:-1:0:-1:BD<x?0:oE<x?bg<x?0:-1:0:-1:B3<x?0:sE<x?G2<x?pa<x?o7<x?0:-1:0:-1:0:-1:r_<x?$y<x?U3<x?X7<x?C7<x?wh<x?L7<x?0:-1:0:-1:Zy<x?t8<x?0:-1:0:LC<x?jp<x?0:-1:F3<x?lE<x?0:-1:0:-1:UD<x?uc<x?tm<x?C0<x?0:-1:G0<x?rD<x?0:-1:0:-1:0:Qb<x?N7<x?D2<x?Se<x?D_<x?_g<x?MC<x?hy<x?ub<x?ph<x?$7<x?yE<x?0:-1:S0<x?Dh<x?0:-1:0:-1:Ko<x&&kg<x?o0<x?0:-1:0:FD<x?_y<x?c3<x&&EC<x?ho<x?0:-1:0:-1:Xp<x?Bp<x?_u<x?GD<x?0:-1:0:-1:Q2<x?g7<x?0:-1:0:Y_<x?NE<x?n8<x||Fd<x?0:SE<x?Y3<x?0:-1:0:-1:rs<x||Pc<x?0:SC<x?Bd<x?0:-1:0:D7<x?Em<x?Ju<x?QE<x?zm<x&&sy<x?mb<x?0:-1:0:m_<x&&g3<x?Gf<x?0:-1:0:-1:CD<x?Mg<x?Yg<x?If<x?_c<x?Uv<x?0:-1:0:-1:0:-1:0:Mc<x?wy<x?CE<x?EE<x?vp<x?D<x?Ub<x?0:-1:0:-1:0:NC<x?0:e3<x?m3<x?0:-1:0:-1:j3<x&&v7<x&&cv<x?FC<x?0:-1:0:Gh<x?Mm<x?fi<x?SD<x?FE<x?ri<x?DD<x?qD<x?0:-1:mf<x?Ep<x?0:-1:0:-1:0:Nc<x?Wg<x?0:My<x?ib<x?0:-1:0:UC<x&&p1<x?C2<x?0:-1:0:GE<x?pm<x?o2<x?Dg<x&&S7<x?zg<x?0:-1:0:-1:Tt<x?y7<x?cb<x?M7<x?0:-1:0:-1:0:0:-1:qv<x?WC<x?am<x?_m<x?Op<x?x_<x?0:-1:lv<x?ze<x?0:-1:0:0:x7<x?Oh<x?H_<x?0:$a<x?Z2<x?0:-1:0:-1:py<x?Iy<x?bd<x?0:-1:0:v_<x?Ne<x?0:-1:0:-1:yo<x?Yh<x?xm<x?fy<x?o1<x?Hi<x?my<x?0:-1:0:-1:md<x?ol<x?0:-1:0:0:-1:_1<x?za<x?xl<x?ws<x?f7<x?Iu<x?0:-1:0:-1:n_<x?ym<x?0:-1:0:-1:Il<x?z_<x?Bo<x?xf<x?0:-1:0:-1:0:-1:vm<x?Ii<x?ce<x?Q7<x?bh<x?x3<x?E2<x?M<x&&tD<x?AE<x?0:-1:0:pg<x?Su<x?qm<x?t_<x?0:-1:0:-1:S_<x?jd<x?0:-1:0:-1:AC<x?wE<x?Zr<x?Td<x?t7<x?0:-1:0:-1:lh<x?JE<x?0:-1:0:0:yl<x?Q_<x?jf<x?X2<x?Wm<x?0:-1:Kb<x?_i<x?0:-1:0:-1:K0<x?jC<x?0:-1:Mn<x?C3<x?0:-1:0:oy<x?0:Zv<x?hb<x?0:-1:RC<x?qh<x?0:-1:0:$f<x?gy<x?xD<x?dC<x?Xd<x?Z<x?Jl<x?0:-1:0:$C<x?Ss<x?0:-1:0:-1:0:Xo<x?pp<x?Bs<x?e8<x?TC<x?0:-1:0:-1:Ug<x?bm<x?0:-1:0:0:Hu<x?zC<x?om<x?y3<x?VD<x?0:-1:TE<x?Lf<x?0:-1:0:0:-1:F7<x?mv<x?b7<x?ov<x?Xn<x?0:-1:0:Lb<x?Ky<x?0:-1:0:-1:dE<x?K3<x?H<x?kb<x?0:-1:0:-1:0:-1:Vf<x?Cd<x?zv<x?hl<x?hm<x?Qp<x?sC<x?f0<x?yD<x?Th<x?Qy<x?0:-1:0:-1:vg<x?E_<x?0:-1:0:-1:Sm<x?Zm<x?n7<x?k_<x?0:-1:0:-1:ot<x?PD<x?0:-1:0:B0<x?e_<x?iC<x?Nb<x?Ob<x?ab<x?0:-1:0:-1:Ws<x?pb<x?0:-1:0:-1:tC<x?wv<x?P2<x?DE<x?0:-1:0:-1:Mo<x?Vg<x?0:-1:0:-1:Wl<x?Gd<x?Sl<x?O7<x?mu<x?0:-1:IC<x?A0<x?0:-1:0:c2<x?jb<x?Yl<x?b1<x?0:-1:0:-1:Dy<x?oi<x?0:-1:0:-1:zh<x?Te<x?of<x?Vy<x?Yu<x?Ut<x?0:-1:0:-1:Rv<x?sv<x?0:-1:0:-1:U7<x?Bm<x?Bv<x?qg<x?0:-1:0:-1:jg<x?cD<x?0:-1:0:-1:tb<x?h7<x?Ay<x?Wh<x?_7<x?rC<x?hc<x?Uu<x?oC<x?O0<x?0:-1:0:-1:s1<x?HD<x?0:-1:0:-1:Ix<x?rd<x?df<x?tl<x?0:-1:0:-1:Tm<x?B2<x?0:-1:0:-1:Pv<x?Tp<x?e0<x?Xc<x?a_<x?0:-1:0:-1:ly<x?Wp<x?0:-1:0:mp<x?Nv<x?Vh<x?tf<x?0:-1:0:-1:rl<x?aD<x?0:-1:0:-1:Lv<x?d0<x?Gm<x?Xv<x?LE<x?Fg<x?0:-1:0:Zc<x?Zb<x?0:-1:0:E3<x?0:Qg<x?wg<x?0:-1:0:-1:pf<x?Bh<x?Id<x?Ly<x?R_<x?U0<x?0:-1:0:-1:Up<x?G_<x?0:-1:0:-1:k3<x?cy<x?g0<x?U1<x?0:-1:0:-1:qr<x?De<x?0:-1:0:-1:Zt<x?ry<x?Qm<x?gm<x?Ds<x?a8<x?ql<x?wf<x?L2<x?xu<x?jy<x?Rd<x?Rb<x?W3<x?Y0<x?0:-1:0:-1:U_<x?xC<x?0:-1:0:-1:Jm<x?Dm<x?Al<x?Fl<x?0:-1:0:-1:F_<x?Nt<x?0:-1:0:-1:Ff<x?0:y2<x?l1<x?vy<x?gd<x?0:-1:0:-1:Fh<x?Sh<x?0:-1:0:-1:P0<x?W7<x?YE<x?i8<x?dD<x?Vb<x?Y7<x?V0<x?0:-1:0:-1:av<x?W<x?0:-1:0:-1:Vv<x?gC<x?Is<x?cp<x?0:-1:0:-1:Gb<x?RE<x?0:-1:0:-1:y0<x?Ou<x?bo<x?rb<x?E7<x?ZD<x?0:-1:0:-1:Ty<x?by<x?0:-1:0:-1:mh<x?mm<x?Gg<x?I3<x?0:-1:0:-1:li<x?Av<x?0:-1:0:-1:La<x?Uy<x?Cp<x?js<x?q_<x?lD<x&&QD<x?ID<x?0:-1:0:-1:H1<x?c0<x?N_<x?l2<x?0:-1:0:-1:kp<x?Hy<x?0:-1:0:-1:hf<x?fE<x?gb<x?d<x?w3<x?_o<x?0:-1:0:-1:td<x?C1<x?0:-1:0:-1:cE<x?wb<x?0:-1:0:Xg<x?Fv<x?x8<x?0:Bb<x?uC<x?fb<x?0:-1:0:fD<x?nf<x?0:-1:0:-1:J7<x?Kt<x?og<x?V_<x?G<x?Kv<x?0:-1:0:-1:wm<x?Jf<x?0:-1:0:-1:rm<x&&Fb<x?kh<x?0:-1:0:q3<x?$<x?x2<x?Uh<x?BE<x&&X3<x?ts<x?0:-1:0:J3<x?G1<x?qs<x?0:-1:0:Wv<x?N3<x?0:-1:0:0:Hh<x?$m<x?0:Sv<x?_b<x?0:-1:0:g_<x?Rc<x?Ev<x?PC<x?Mr<x?0:-1:0:-1:0:rv<x?0:$d<x?Ur<x?0:-1:0:nx<x?ZE<x?qa<x?0:Eg<x&&JD<x?M2<x?0:-1:0:ip<x?K7<x?0:$c<x?Vm<x?0:-1:0:gt<x&&R7<x?Mf<x?0:-1:0:z7<x?_<x?0:zd<x?bC<x?0:-1:eC<x?L3<x?0:-1:0:Sy<x?wC<x?cl<x?0:-1:0:ng<x?0:zy<x?Pf<x?0:-1:0:-1:Hp<x?lg<x?I1<x?h_<x?Rl<x?ev<x?IE<x?r8<x?PE<x?0:-1:sp<x?D3<x?0:-1:0:fh<x?0:A3<x?Ip<x?0:-1:0:-1:0:p8<x?Hf<x?0:Dv<x?Px<x?Pe<x?kD<x?0:-1:0:-1:0:By<x?wd<x&&$b<x?ny<x?0:-1:0:_E<x?$v<x?iy<x?em<x?0:-1:0:-1:0:Lo<x?sf<x?Zd<x?R0<x?0:v3<x?CC<x?zl<x?iD<x?0:-1:0:-1:0:ig<x?m2<x?rp<x&&gD<x?Ed<x?0:-1:0:-1:bn<x?__<x?0:-1:0:-1:i7<x?Fo<x?nd<x?Y2<x?nC<x?0:Wb<x?cg<x?0:-1:0:-1:Eh<x?wu<x?T_<x?lp<x?0:-1:0:-1:sb<x?ds<x?0:-1:0:-1:vh<x?dv<x?Hx<x?Tv<x?Rp<x?0:-1:0:xi<x?af<x?0:-1:0:-1:0:-1:mE<x?bf<x?Ib<x?r7<x?sh<x?I0<x?Lm<x?qf<x&&_t<x?ep<x?0:-1:0:-1:HE<x&&kC<x?Hg<x?0:-1:0:-1:s2<x?rx<x?AD<x?0:Nf<x?h2<x?0:-1:0:-1:Ah<x?uh<x?Ch<x?hD<x?0:-1:0:-1:Zg<x?q7<x?0:-1:0:-1:_v<x?f3<x?Cv<x?ay<x?Yy<x?hg<x?Md<x?Ro<x?0:-1:0:-1:ND<x?$h<x?0:-1:0:-1:kf<x?Of<x?0:-1:TD<x?nv<x?0:-1:0:-1:R3<x?ch<x?y_<x?WD<x?Js<x?0:-1:0:-1:Ap<x?qb<x?0:-1:0:Mb<x?ht<x?0:-1:0:pl<x?d7<x?Uf<x?nl<x?Km<x?j<x?_d<x?G7<x?xb<x?0:-1:0:-1:D0<x?H7<x?0:-1:0:Vp<x?w_<x?0:-1:a3<x?Sg<x?0:-1:0:-1:zD<x?bE<x&&Yv<x?Ry<x?0:-1:0:oc<x?$i<x?0:-1:XD<x?t3<x?0:-1:0:-1:$e<x?ah<x?Bi<x?d_<x?Pu<x?j2<x?an<x?0:-1:0:z3<x?Yb<x?0:-1:0:-1:zb<x?B_<x?nm<x?eD<x?0:-1:0:-1:ug<x?T7<x?0:-1:0:-1:Z7<x?Yi<x?J_<x?Dd<x?W1<x?Oy<x?0:-1:0:-1:M_<x?Z3<x?0:-1:0:-1:eb<x?im<x?qC<x?Rf<x?0:-1:0:-1:Np<x?Kc<x?0:-1:0:-1:fr(tY1,x+Kd|0)-1|0:-1}return-1},IP=function(i){if(i){var x=i[1];return 47<x?Uk<x?-1:fr(IY1,x+VC|0)-1|0:-1}return-1},jY=function(i){if(i){var x=i[1];return 42<x?57<x?-1:fr(bY1,x+-43|0)-1|0:-1}return-1},oO=function(i){if(i){var x=i[1];return 35<x?C_<x?ha<x?vs<x?-1:ne<x?Mu<x?Nh<x?_D<x?O2<x?a7<x?uy<x?pE<x?Jg<x?0:-1:$D<x?ks<x?0:-1:0:-1:N2<x?up<x?A7<x?A_<x?0:-1:0:-1:e<x?Xf<x?0:-1:0:-1:Ld<x?w1<x?Zo<x?Ov<x?pv<x?mg<x?Xy<x?Cm<x?ob<x?Sd<x?0:-1:0:-1:d2<x?qt<x?0:-1:0:-1:Am<x?$_<x?Bt<x?Pp<x?0:-1:0:-1:Fc<x?_3<x?0:-1:0:-1:yy<x?sn<x?G3<x?jl<x?vd<x?Hb<x?0:-1:0:-1:Gt<x?aC<x?0:-1:0:-1:_e<x?Ac<x?Gv<x?op<x?0:-1:0:-1:Zl<x?Jv<x?0:-1:0:-1:I_<x?Pb<x?gg<x?ih<x?m7<x?P7<x?np<x?bv<x?0:-1:0:-1:Yp<x?Rg<x?0:-1:0:-1:dp<x?V7<x?Kh<x?Xl<x?0:-1:0:-1:oD<x?Jb<x?0:-1:0:-1:Us<x?dd<x?hv<x?Dp<x?jv<x?Zp<x?0:-1:0:-1:bD<x?V3<x?0:-1:0:-1:gv<x?iv<x?oh<x?Ym<x?0:-1:0:-1:Gy<x?p7<x?0:-1:0:-1:fp<x?Ef<x?c7<x?l0<x?Z1<x?Hr<x?Eb<x?Xb<x?OD<x?R2<x?kE<x?Iv<x?0:-1:0:-1:0:Ox<x?Kf<x?gE<x?Va<x?0:-1:0:-1:ge<x?_l<x?0:-1:0:pD<x?vE<x?ky<x?wp<x?0:-1:p3<x?Ih<x?0:-1:0:-1:MD<x?OC<x?0:-1:KC<x?r3<x?0:-1:0:-1:I2<x?lo<x?Re<x?yC<x?ME<x?db<x?fg<x?Wy<x?0:-1:0:-1:XE<x?xd<x?0:-1:0:-1:Wa<x?yc<x?S3<x?Kl<x?0:-1:0:-1:Fy<x?xc<x?0:-1:0:-1:ka<x?Kp<x?uE<x?Lg<x?_C<x?OE<x?0:-1:0:-1:v2<x?Hm<x?0:-1:0:-1:Wx<x?ff<x?Tb<x?Fm<x?0:-1:0:-1:b3<x?k7<x?0:-1:0:-1:d3<x?Ad<x?P3<x?Yd<x?eu<x?l7<x?Mt<x?v1<x?Cg<x?Xm<x?0:-1:0:-1:zf<x?mD<x?0:-1:0:-1:Mv<x?tt<x?Pm<x?ld<x?0:-1:0:-1:$3<x?zp<x?0:-1:0:-1:qx<x?n3<x?YD<x?uD<x?I7<x?fl<x?0:-1:0:-1:al<x?j_<x?0:-1:0:-1:Cc<x?N1<x?O_<x?B7<x?0:-1:0:-1:pd<x?dm<x?0:-1:0:-1:N0<x?Xh<x?dh<x?dg<x?b0<x?bp<x?Nl<x?Ph<x?0:-1:0:-1:M3<x?lb<x?0:-1:0:-1:rc<x?ec<x?P_<x?Ud<x?0:-1:0:-1:fv<x?K_<x?0:-1:0:-1:Om<x?Ag<x?rf<x?O3<x?Fn<x?bt<x?0:-1:0:-1:U<x?j7<x?0:-1:0:-1:DC<x?ed<x?Im<x?i3<x?0:-1:0:-1:0:-1:kv<x?Hd<x?Jy<x?Za<x?wD<x?E1<x?ag<x?xh<x?Hv<x?vv<x?l3<x?0:-1:0:-1:H3<x?co<x?0:-1:0:-1:LD<x?ex<x?qy<x?nD<x?0:-1:0:-1:ED<x?Pa<x?0:-1:0:-1:sD<x?th<x?hh<x?L_<x?h3<x?Cy<x?0:-1:0:-1:w7<x?Ey<x?0:-1:0:-1:H2<x?eh<x?xv<x?0:-1:0:u2<x?C<x?0:-1:0:P<x?Kg<x?wl<x?b_<x?cc<x?W_<x?0:-1:Tg<x?i_<x?0:-1:0:-1:Sb<x?tv<x?s7<x?Ku<x?0:-1:0:-1:nb<x?Cf<x?0:-1:0:-1:aE<x?Gr<x?hE<x?O<x?0:-1:Uc<x?Qv<x?0:-1:0:-1:Un<x?T3<x?X_<x?BC<x?0:-1:0:-1:p2<x?dy<x?0:-1:0:-1:Jr<x?uv<x?Gc<x?mo<x?Q3<x?vD<x?yv<x?Qd<x?e7<x?Jh<x?0:-1:0:-1:u7<x?b2<x?0:-1:0:-1:BD<x?0:oE<x?bg<x?0:-1:0:-1:B3<x?0:sE<x?G2<x?pa<x?o7<x?0:-1:0:-1:0:-1:r_<x?$y<x?U3<x?X7<x?C7<x?wh<x?L7<x?0:-1:0:-1:Zy<x?t8<x?0:-1:0:LC<x?jp<x?0:-1:F3<x?lE<x?0:-1:0:-1:UD<x?uc<x?tm<x?C0<x?0:-1:G0<x?rD<x?0:-1:0:-1:0:Qb<x?N7<x?D2<x?Se<x?D_<x?_g<x?MC<x?hy<x?ub<x?ph<x?$7<x?yE<x?0:-1:S0<x?Dh<x?0:-1:0:-1:Ko<x&&kg<x?o0<x?0:-1:0:FD<x?_y<x?c3<x&&EC<x?ho<x?0:-1:0:-1:Xp<x?Bp<x?_u<x?GD<x?0:-1:0:-1:Q2<x?g7<x?0:-1:0:Y_<x?NE<x?n8<x||Fd<x?0:SE<x?Y3<x?0:-1:0:-1:rs<x||Pc<x?0:SC<x?Bd<x?0:-1:0:D7<x?Em<x?Ju<x?QE<x?zm<x&&sy<x?mb<x?0:-1:0:m_<x&&g3<x?Gf<x?0:-1:0:-1:CD<x?Mg<x?Yg<x?If<x?_c<x?Uv<x?0:-1:0:-1:0:-1:0:Mc<x?wy<x?CE<x?EE<x?vp<x?D<x?Ub<x?0:-1:0:-1:0:NC<x?0:e3<x?m3<x?0:-1:0:-1:j3<x&&v7<x&&cv<x?FC<x?0:-1:0:Gh<x?Mm<x?fi<x?SD<x?FE<x?ri<x?DD<x?qD<x?0:-1:mf<x?Ep<x?0:-1:0:-1:0:Nc<x?Wg<x?0:My<x?ib<x?0:-1:0:UC<x&&p1<x?C2<x?0:-1:0:GE<x?pm<x?o2<x?Dg<x&&S7<x?zg<x?0:-1:0:-1:Tt<x?y7<x?cb<x?M7<x?0:-1:0:-1:0:0:-1:qv<x?WC<x?am<x?_m<x?Op<x?x_<x?0:-1:lv<x?ze<x?0:-1:0:0:x7<x?Oh<x?H_<x?0:$a<x?Z2<x?0:-1:0:-1:py<x?Iy<x?bd<x?0:-1:0:v_<x?Ne<x?0:-1:0:-1:yo<x?Yh<x?xm<x?fy<x?o1<x?Hi<x?my<x?0:-1:0:-1:md<x?ol<x?0:-1:0:0:-1:_1<x?za<x?xl<x?ws<x?f7<x?Iu<x?0:-1:0:-1:n_<x?ym<x?0:-1:0:-1:Il<x?z_<x?Bo<x?xf<x?0:-1:0:-1:0:-1:vm<x?Ii<x?ce<x?Q7<x?bh<x?x3<x?E2<x?M<x&&tD<x?AE<x?0:-1:0:pg<x?Su<x?qm<x?t_<x?0:-1:0:-1:S_<x?jd<x?0:-1:0:-1:AC<x?wE<x?Zr<x?Td<x?t7<x?0:-1:0:-1:lh<x?JE<x?0:-1:0:0:yl<x?Q_<x?jf<x?X2<x?Wm<x?0:-1:Kb<x?_i<x?0:-1:0:-1:K0<x?jC<x?0:-1:Mn<x?C3<x?0:-1:0:oy<x?0:Zv<x?hb<x?0:-1:RC<x?qh<x?0:-1:0:$f<x?gy<x?xD<x?dC<x?Xd<x?Z<x?Jl<x?0:-1:0:$C<x?Ss<x?0:-1:0:-1:0:Xo<x?pp<x?Bs<x?e8<x?TC<x?0:-1:0:-1:Ug<x?bm<x?0:-1:0:0:Hu<x?zC<x?om<x?y3<x?VD<x?0:-1:TE<x?Lf<x?0:-1:0:0:-1:F7<x?mv<x?b7<x?ov<x?Xn<x?0:-1:0:Lb<x?Ky<x?0:-1:0:-1:dE<x?K3<x?H<x?kb<x?0:-1:0:-1:0:-1:Vf<x?Cd<x?zv<x?hl<x?hm<x?Qp<x?sC<x?f0<x?yD<x?Th<x?Qy<x?0:-1:0:-1:vg<x?E_<x?0:-1:0:-1:Sm<x?Zm<x?n7<x?k_<x?0:-1:0:-1:ot<x?PD<x?0:-1:0:B0<x?e_<x?iC<x?Nb<x?Ob<x?ab<x?0:-1:0:-1:Ws<x?pb<x?0:-1:0:-1:tC<x?wv<x?P2<x?DE<x?0:-1:0:-1:Mo<x?Vg<x?0:-1:0:-1:Wl<x?Gd<x?Sl<x?O7<x?mu<x?0:-1:IC<x?A0<x?0:-1:0:c2<x?jb<x?Yl<x?b1<x?0:-1:0:-1:Dy<x?oi<x?0:-1:0:-1:zh<x?Te<x?of<x?Vy<x?Yu<x?Ut<x?0:-1:0:-1:Rv<x?sv<x?0:-1:0:-1:U7<x?Bm<x?Bv<x?qg<x?0:-1:0:-1:jg<x?cD<x?0:-1:0:-1:tb<x?h7<x?Ay<x?Wh<x?_7<x?rC<x?hc<x?Uu<x?oC<x?O0<x?0:-1:0:-1:s1<x?HD<x?0:-1:0:-1:Ix<x?rd<x?df<x?tl<x?0:-1:0:-1:Tm<x?B2<x?0:-1:0:-1:Pv<x?Tp<x?e0<x?Xc<x?a_<x?0:-1:0:-1:ly<x?Wp<x?0:-1:0:mp<x?Nv<x?Vh<x?tf<x?0:-1:0:-1:rl<x?aD<x?0:-1:0:-1:Lv<x?d0<x?Gm<x?Xv<x?LE<x?Fg<x?0:-1:0:Zc<x?Zb<x?0:-1:0:E3<x?0:Qg<x?wg<x?0:-1:0:-1:pf<x?Bh<x?Id<x?Ly<x?R_<x?U0<x?0:-1:0:-1:Up<x?G_<x?0:-1:0:-1:k3<x?cy<x?g0<x?U1<x?0:-1:0:-1:qr<x?De<x?0:-1:0:-1:Zt<x?ry<x?Qm<x?gm<x?Ds<x?a8<x?ql<x?wf<x?L2<x?xu<x?jy<x?Rd<x?Rb<x?W3<x?Y0<x?0:-1:0:-1:U_<x?xC<x?0:-1:0:-1:Jm<x?Dm<x?Al<x?Fl<x?0:-1:0:-1:F_<x?Nt<x?0:-1:0:-1:Ff<x?0:y2<x?l1<x?vy<x?gd<x?0:-1:0:-1:Fh<x?Sh<x?0:-1:0:-1:P0<x?W7<x?YE<x?i8<x?dD<x?Vb<x?Y7<x?V0<x?0:-1:0:-1:av<x?W<x?0:-1:0:-1:Vv<x?gC<x?Is<x?cp<x?0:-1:0:-1:Gb<x?RE<x?0:-1:0:-1:y0<x?Ou<x?bo<x?rb<x?E7<x?ZD<x?0:-1:0:-1:Ty<x?by<x?0:-1:0:-1:mh<x?mm<x?Gg<x?I3<x?0:-1:0:-1:li<x?Av<x?0:-1:0:-1:La<x?Uy<x?Cp<x?js<x?q_<x?lD<x&&QD<x?ID<x?0:-1:0:-1:H1<x?c0<x?N_<x?l2<x?0:-1:0:-1:kp<x?Hy<x?0:-1:0:-1:hf<x?fE<x?gb<x?d<x?w3<x?_o<x?0:-1:0:-1:td<x?C1<x?0:-1:0:-1:cE<x?wb<x?0:-1:0:Xg<x?Fv<x?x8<x?0:Bb<x?uC<x?fb<x?0:-1:0:fD<x?nf<x?0:-1:0:-1:J7<x?Kt<x?og<x?V_<x?G<x?Kv<x?0:-1:0:-1:wm<x?Jf<x?0:-1:0:-1:rm<x&&Fb<x?kh<x?0:-1:0:q3<x?$<x?x2<x?Uh<x?BE<x&&X3<x?ts<x?0:-1:0:J3<x?G1<x?qs<x?0:-1:0:Wv<x?N3<x?0:-1:0:0:Hh<x?$m<x?0:Sv<x?_b<x?0:-1:0:g_<x?Rc<x?Ev<x?PC<x?Mr<x?0:-1:0:-1:0:rv<x?0:$d<x?Ur<x?0:-1:0:nx<x?ZE<x?qa<x?0:Eg<x&&JD<x?M2<x?0:-1:0:ip<x?K7<x?0:$c<x?Vm<x?0:-1:0:gt<x&&R7<x?Mf<x?0:-1:0:z7<x?_<x?0:zd<x?bC<x?0:-1:eC<x?L3<x?0:-1:0:Sy<x?wC<x?cl<x?0:-1:0:ng<x?0:zy<x?Pf<x?0:-1:0:-1:Hp<x?lg<x?I1<x?h_<x?Rl<x?ev<x?IE<x?r8<x?PE<x?0:-1:sp<x?D3<x?0:-1:0:fh<x?0:A3<x?Ip<x?0:-1:0:-1:0:p8<x?Hf<x?0:Dv<x?Px<x?Pe<x?kD<x?0:-1:0:-1:0:By<x?wd<x&&$b<x?ny<x?0:-1:0:_E<x?$v<x?iy<x?em<x?0:-1:0:-1:0:Lo<x?sf<x?Zd<x?R0<x?0:v3<x?CC<x?zl<x?iD<x?0:-1:0:-1:0:ig<x?m2<x?rp<x&&gD<x?Ed<x?0:-1:0:-1:bn<x?__<x?0:-1:0:-1:i7<x?Fo<x?nd<x?Y2<x?nC<x?0:Wb<x?cg<x?0:-1:0:-1:Eh<x?wu<x?T_<x?lp<x?0:-1:0:-1:sb<x?ds<x?0:-1:0:-1:vh<x?dv<x?Hx<x?Tv<x?Rp<x?0:-1:0:xi<x?af<x?0:-1:0:-1:0:-1:mE<x?bf<x?Ib<x?r7<x?sh<x?I0<x?Lm<x?qf<x&&_t<x?ep<x?0:-1:0:-1:HE<x&&kC<x?Hg<x?0:-1:0:-1:s2<x?rx<x?AD<x?0:Nf<x?h2<x?0:-1:0:-1:Ah<x?uh<x?Ch<x?hD<x?0:-1:0:-1:Zg<x?q7<x?0:-1:0:-1:_v<x?f3<x?Cv<x?ay<x?Yy<x?hg<x?Md<x?Ro<x?0:-1:0:-1:ND<x?$h<x?0:-1:0:-1:kf<x?Of<x?0:-1:TD<x?nv<x?0:-1:0:-1:R3<x?ch<x?y_<x?WD<x?Js<x?0:-1:0:-1:Ap<x?qb<x?0:-1:0:Mb<x?ht<x?0:-1:0:pl<x?d7<x?Uf<x?nl<x?Km<x?j<x?_d<x?G7<x?xb<x?0:-1:0:-1:D0<x?H7<x?0:-1:0:Vp<x?w_<x?0:-1:a3<x?Sg<x?0:-1:0:-1:zD<x?bE<x&&Yv<x?Ry<x?0:-1:0:oc<x?$i<x?0:-1:XD<x?t3<x?0:-1:0:-1:$e<x?ah<x?Bi<x?d_<x?Pu<x?j2<x?an<x?0:-1:0:z3<x?Yb<x?0:-1:0:-1:zb<x?B_<x?nm<x?eD<x?0:-1:0:-1:ug<x?T7<x?0:-1:0:-1:Z7<x?Yi<x?J_<x?Dd<x?W1<x?Oy<x?0:-1:0:-1:M_<x?Z3<x?0:-1:0:-1:eb<x?im<x?qC<x?Rf<x?0:-1:0:-1:Np<x?Kc<x?0:-1:0:-1:fr(iY1,x+Kd|0)-1|0:-1}return-1},u20=function(i){if(i){var x=i[1];return 35<x?C_<x?ha<x?vs<x?-1:ne<x?Mu<x?Nh<x?_D<x?O2<x?a7<x?uy<x?pE<x?Jg<x?0:-1:$D<x?ks<x?0:-1:0:-1:N2<x?up<x?A7<x?A_<x?0:-1:0:-1:e<x?Xf<x?0:-1:0:-1:Ld<x?w1<x?Zo<x?Ov<x?pv<x?mg<x?Xy<x?Cm<x?ob<x?Sd<x?0:-1:0:-1:d2<x?qt<x?0:-1:0:-1:Am<x?$_<x?Bt<x?Pp<x?0:-1:0:-1:Fc<x?_3<x?0:-1:0:-1:yy<x?sn<x?G3<x?jl<x?vd<x?Hb<x?0:-1:0:-1:Gt<x?aC<x?0:-1:0:-1:_e<x?Ac<x?Gv<x?op<x?0:-1:0:-1:Zl<x?Jv<x?0:-1:0:-1:I_<x?Pb<x?gg<x?ih<x?m7<x?P7<x?np<x?bv<x?0:-1:0:-1:Yp<x?Rg<x?0:-1:0:-1:dp<x?V7<x?Kh<x?Xl<x?0:-1:0:-1:oD<x?Jb<x?0:-1:0:-1:Us<x?dd<x?hv<x?Dp<x?jv<x?Zp<x?0:-1:0:-1:bD<x?V3<x?0:-1:0:-1:gv<x?iv<x?oh<x?Ym<x?0:-1:0:-1:Gy<x?p7<x?0:-1:0:-1:fp<x?Ef<x?c7<x?l0<x?Z1<x?Hr<x?Eb<x?Xb<x?OD<x?R2<x?kE<x?Iv<x?0:-1:0:-1:0:Ox<x?Kf<x?gE<x?Va<x?0:-1:0:-1:ge<x?_l<x?0:-1:0:pD<x?vE<x?ky<x?wp<x?0:-1:p3<x?Ih<x?0:-1:0:-1:MD<x?OC<x?0:-1:KC<x?r3<x?0:-1:0:-1:I2<x?lo<x?Re<x?yC<x?ME<x?db<x?fg<x?Wy<x?0:-1:0:-1:XE<x?xd<x?0:-1:0:-1:Wa<x?yc<x?S3<x?Kl<x?0:-1:0:-1:Fy<x?xc<x?0:-1:0:-1:ka<x?Kp<x?uE<x?Lg<x?_C<x?OE<x?0:-1:0:-1:v2<x?Hm<x?0:-1:0:-1:Wx<x?ff<x?Tb<x?Fm<x?0:-1:0:-1:b3<x?k7<x?0:-1:0:-1:d3<x?Ad<x?P3<x?Yd<x?eu<x?l7<x?Mt<x?v1<x?Cg<x?Xm<x?0:-1:0:-1:zf<x?mD<x?0:-1:0:-1:Mv<x?tt<x?Pm<x?ld<x?0:-1:0:-1:$3<x?zp<x?0:-1:0:-1:qx<x?n3<x?YD<x?uD<x?I7<x?fl<x?0:-1:0:-1:al<x?j_<x?0:-1:0:-1:Cc<x?N1<x?O_<x?B7<x?0:-1:0:-1:pd<x?dm<x?0:-1:0:-1:N0<x?Xh<x?dh<x?dg<x?b0<x?bp<x?Nl<x?Ph<x?0:-1:0:-1:M3<x?lb<x?0:-1:0:-1:rc<x?ec<x?P_<x?Ud<x?0:-1:0:-1:fv<x?K_<x?0:-1:0:-1:Om<x?Ag<x?rf<x?O3<x?Fn<x?bt<x?0:-1:0:-1:U<x?j7<x?0:-1:0:-1:DC<x?ed<x?Im<x?i3<x?0:-1:0:-1:0:-1:kv<x?Hd<x?Jy<x?Za<x?wD<x?E1<x?ag<x?xh<x?Hv<x?vv<x?l3<x?0:-1:0:-1:H3<x?co<x?0:-1:0:-1:LD<x?ex<x?qy<x?nD<x?0:-1:0:-1:ED<x?Pa<x?0:-1:0:-1:sD<x?th<x?hh<x?L_<x?h3<x?Cy<x?0:-1:0:-1:w7<x?Ey<x?0:-1:0:-1:H2<x?eh<x?xv<x?0:-1:0:u2<x?C<x?0:-1:0:P<x?Kg<x?wl<x?b_<x?cc<x?W_<x?0:-1:Tg<x?i_<x?0:-1:0:-1:Sb<x?tv<x?s7<x?Ku<x?0:-1:0:-1:nb<x?Cf<x?0:-1:0:-1:aE<x?Gr<x?hE<x?O<x?0:-1:Uc<x?Qv<x?0:-1:0:-1:Un<x?T3<x?X_<x?BC<x?0:-1:0:-1:p2<x?dy<x?0:-1:0:-1:Jr<x?uv<x?Gc<x?mo<x?Q3<x?vD<x?yv<x?Qd<x?e7<x?Jh<x?0:-1:0:-1:u7<x?b2<x?0:-1:0:-1:BD<x?0:oE<x?bg<x?0:-1:0:-1:B3<x?0:sE<x?G2<x?pa<x?o7<x?0:-1:0:-1:0:-1:r_<x?$y<x?U3<x?X7<x?C7<x?wh<x?L7<x?0:-1:0:-1:Zy<x?t8<x?0:-1:0:LC<x?jp<x?0:-1:F3<x?lE<x?0:-1:0:-1:UD<x?uc<x?tm<x?C0<x?0:-1:G0<x?rD<x?0:-1:0:-1:0:Qb<x?N7<x?D2<x?Se<x?D_<x?_g<x?MC<x?hy<x?ub<x?ph<x?$7<x?yE<x?0:-1:S0<x?Dh<x?0:-1:0:-1:Ko<x&&kg<x?o0<x?0:-1:0:FD<x?_y<x?c3<x&&EC<x?ho<x?0:-1:0:-1:Xp<x?Bp<x?_u<x?GD<x?0:-1:0:-1:Q2<x?g7<x?0:-1:0:Y_<x?NE<x?n8<x||Fd<x?0:SE<x?Y3<x?0:-1:0:-1:rs<x||Pc<x?0:SC<x?Bd<x?0:-1:0:D7<x?Em<x?Ju<x?QE<x?zm<x&&sy<x?mb<x?0:-1:0:m_<x&&g3<x?Gf<x?0:-1:0:-1:CD<x?Mg<x?Yg<x?If<x?_c<x?Uv<x?0:-1:0:-1:0:-1:0:Mc<x?wy<x?CE<x?EE<x?vp<x?D<x?Ub<x?0:-1:0:-1:0:NC<x?0:e3<x?m3<x?0:-1:0:-1:j3<x&&v7<x&&cv<x?FC<x?0:-1:0:Gh<x?Mm<x?fi<x?SD<x?FE<x?ri<x?DD<x?qD<x?0:-1:mf<x?Ep<x?0:-1:0:-1:0:Nc<x?Wg<x?0:My<x?ib<x?0:-1:0:UC<x&&p1<x?C2<x?0:-1:0:GE<x?pm<x?o2<x?Dg<x&&S7<x?zg<x?0:-1:0:-1:Tt<x?y7<x?cb<x?M7<x?0:-1:0:-1:0:0:-1:qv<x?WC<x?am<x?_m<x?Op<x?x_<x?0:-1:lv<x?ze<x?0:-1:0:0:x7<x?Oh<x?H_<x?0:$a<x?Z2<x?0:-1:0:-1:py<x?Iy<x?bd<x?0:-1:0:v_<x?Ne<x?0:-1:0:-1:yo<x?Yh<x?xm<x?fy<x?o1<x?Hi<x?my<x?0:-1:0:-1:md<x?ol<x?0:-1:0:0:-1:_1<x?za<x?xl<x?ws<x?f7<x?Iu<x?0:-1:0:-1:n_<x?ym<x?0:-1:0:-1:Il<x?z_<x?Bo<x?xf<x?0:-1:0:-1:0:-1:vm<x?Ii<x?ce<x?Q7<x?bh<x?x3<x?E2<x?M<x&&tD<x?AE<x?0:-1:0:pg<x?Su<x?qm<x?t_<x?0:-1:0:-1:S_<x?jd<x?0:-1:0:-1:AC<x?wE<x?Zr<x?Td<x?t7<x?0:-1:0:-1:lh<x?JE<x?0:-1:0:0:yl<x?Q_<x?jf<x?X2<x?Wm<x?0:-1:Kb<x?_i<x?0:-1:0:-1:K0<x?jC<x?0:-1:Mn<x?C3<x?0:-1:0:oy<x?0:Zv<x?hb<x?0:-1:RC<x?qh<x?0:-1:0:$f<x?gy<x?xD<x?dC<x?Xd<x?Z<x?Jl<x?0:-1:0:$C<x?Ss<x?0:-1:0:-1:0:Xo<x?pp<x?Bs<x?e8<x?TC<x?0:-1:0:-1:Ug<x?bm<x?0:-1:0:0:Hu<x?zC<x?om<x?y3<x?VD<x?0:-1:TE<x?Lf<x?0:-1:0:0:-1:F7<x?mv<x?b7<x?ov<x?Xn<x?0:-1:0:Lb<x?Ky<x?0:-1:0:-1:dE<x?K3<x?H<x?kb<x?0:-1:0:-1:0:-1:Vf<x?Cd<x?zv<x?hl<x?hm<x?Qp<x?sC<x?f0<x?yD<x?Th<x?Qy<x?0:-1:0:-1:vg<x?E_<x?0:-1:0:-1:Sm<x?Zm<x?n7<x?k_<x?0:-1:0:-1:ot<x?PD<x?0:-1:0:B0<x?e_<x?iC<x?Nb<x?Ob<x?ab<x?0:-1:0:-1:Ws<x?pb<x?0:-1:0:-1:tC<x?wv<x?P2<x?DE<x?0:-1:0:-1:Mo<x?Vg<x?0:-1:0:-1:Wl<x?Gd<x?Sl<x?O7<x?mu<x?0:-1:IC<x?A0<x?0:-1:0:c2<x?jb<x?Yl<x?b1<x?0:-1:0:-1:Dy<x?oi<x?0:-1:0:-1:zh<x?Te<x?of<x?Vy<x?Yu<x?Ut<x?0:-1:0:-1:Rv<x?sv<x?0:-1:0:-1:U7<x?Bm<x?Bv<x?qg<x?0:-1:0:-1:jg<x?cD<x?0:-1:0:-1:tb<x?h7<x?Ay<x?Wh<x?_7<x?rC<x?hc<x?Uu<x?oC<x?O0<x?0:-1:0:-1:s1<x?HD<x?0:-1:0:-1:Ix<x?rd<x?df<x?tl<x?0:-1:0:-1:Tm<x?B2<x?0:-1:0:-1:Pv<x?Tp<x?e0<x?Xc<x?a_<x?0:-1:0:-1:ly<x?Wp<x?0:-1:0:mp<x?Nv<x?Vh<x?tf<x?0:-1:0:-1:rl<x?aD<x?0:-1:0:-1:Lv<x?d0<x?Gm<x?Xv<x?LE<x?Fg<x?0:-1:0:Zc<x?Zb<x?0:-1:0:E3<x?0:Qg<x?wg<x?0:-1:0:-1:pf<x?Bh<x?Id<x?Ly<x?R_<x?U0<x?0:-1:0:-1:Up<x?G_<x?0:-1:0:-1:k3<x?cy<x?g0<x?U1<x?0:-1:0:-1:qr<x?De<x?0:-1:0:-1:Zt<x?ry<x?Qm<x?gm<x?Ds<x?a8<x?ql<x?wf<x?L2<x?xu<x?jy<x?Rd<x?Rb<x?W3<x?Y0<x?0:-1:0:-1:U_<x?xC<x?0:-1:0:-1:Jm<x?Dm<x?Al<x?Fl<x?0:-1:0:-1:F_<x?Nt<x?0:-1:0:-1:Ff<x?0:y2<x?l1<x?vy<x?gd<x?0:-1:0:-1:Fh<x?Sh<x?0:-1:0:-1:P0<x?W7<x?YE<x?i8<x?dD<x?Vb<x?Y7<x?V0<x?0:-1:0:-1:av<x?W<x?0:-1:0:-1:Vv<x?gC<x?Is<x?cp<x?0:-1:0:-1:Gb<x?RE<x?0:-1:0:-1:y0<x?Ou<x?bo<x?rb<x?E7<x?ZD<x?0:-1:0:-1:Ty<x?by<x?0:-1:0:-1:mh<x?mm<x?Gg<x?I3<x?0:-1:0:-1:li<x?Av<x?0:-1:0:-1:La<x?Uy<x?Cp<x?js<x?q_<x?lD<x&&QD<x?ID<x?0:-1:0:-1:H1<x?c0<x?N_<x?l2<x?0:-1:0:-1:kp<x?Hy<x?0:-1:0:-1:hf<x?fE<x?gb<x?d<x?w3<x?_o<x?0:-1:0:-1:td<x?C1<x?0:-1:0:-1:cE<x?wb<x?0:-1:0:Xg<x?Fv<x?x8<x?0:Bb<x?uC<x?fb<x?0:-1:0:fD<x?nf<x?0:-1:0:-1:J7<x?Kt<x?og<x?V_<x?G<x?Kv<x?0:-1:0:-1:wm<x?Jf<x?0:-1:0:-1:rm<x&&Fb<x?kh<x?0:-1:0:q3<x?$<x?x2<x?Uh<x?BE<x&&X3<x?ts<x?0:-1:0:J3<x?G1<x?qs<x?0:-1:0:Wv<x?N3<x?0:-1:0:0:Hh<x?$m<x?0:Sv<x?_b<x?0:-1:0:g_<x?Rc<x?Ev<x?PC<x?Mr<x?0:-1:0:-1:0:rv<x?0:$d<x?Ur<x?0:-1:0:nx<x?ZE<x?qa<x?0:Eg<x&&JD<x?M2<x?0:-1:0:ip<x?K7<x?0:$c<x?Vm<x?0:-1:0:gt<x&&R7<x?Mf<x?0:-1:0:z7<x?_<x?0:zd<x?bC<x?0:-1:eC<x?L3<x?0:-1:0:Sy<x?wC<x?cl<x?0:-1:0:ng<x?0:zy<x?Pf<x?0:-1:0:-1:Hp<x?lg<x?I1<x?h_<x?Rl<x?ev<x?IE<x?r8<x?PE<x?0:-1:sp<x?D3<x?0:-1:0:fh<x?0:A3<x?Ip<x?0:-1:0:-1:0:p8<x?Hf<x?0:Dv<x?Px<x?Pe<x?kD<x?0:-1:0:-1:0:By<x?wd<x&&$b<x?ny<x?0:-1:0:_E<x?$v<x?iy<x?em<x?0:-1:0:-1:0:Lo<x?sf<x?Zd<x?R0<x?0:v3<x?CC<x?zl<x?iD<x?0:-1:0:-1:0:ig<x?m2<x?rp<x&&gD<x?Ed<x?0:-1:0:-1:bn<x?__<x?0:-1:0:-1:i7<x?Fo<x?nd<x?Y2<x?nC<x?0:Wb<x?cg<x?0:-1:0:-1:Eh<x?wu<x?T_<x?lp<x?0:-1:0:-1:sb<x?ds<x?0:-1:0:-1:vh<x?dv<x?Hx<x?Tv<x?Rp<x?0:-1:0:xi<x?af<x?0:-1:0:-1:0:-1:mE<x?bf<x?Ib<x?r7<x?sh<x?I0<x?Lm<x?qf<x&&_t<x?ep<x?0:-1:0:-1:HE<x&&kC<x?Hg<x?0:-1:0:-1:s2<x?rx<x?AD<x?0:Nf<x?h2<x?0:-1:0:-1:Ah<x?uh<x?Ch<x?hD<x?0:-1:0:-1:Zg<x?q7<x?0:-1:0:-1:_v<x?f3<x?Cv<x?ay<x?Yy<x?hg<x?Md<x?Ro<x?0:-1:0:-1:ND<x?$h<x?0:-1:0:-1:kf<x?Of<x?0:-1:TD<x?nv<x?0:-1:0:-1:R3<x?ch<x?y_<x?WD<x?Js<x?0:-1:0:-1:Ap<x?qb<x?0:-1:0:Mb<x?ht<x?0:-1:0:pl<x?d7<x?Uf<x?nl<x?Km<x?j<x?_d<x?G7<x?xb<x?0:-1:0:-1:D0<x?H7<x?0:-1:0:Vp<x?w_<x?0:-1:a3<x?Sg<x?0:-1:0:-1:zD<x?bE<x&&Yv<x?Ry<x?0:-1:0:oc<x?$i<x?0:-1:XD<x?t3<x?0:-1:0:-1:$e<x?ah<x?Bi<x?d_<x?Pu<x?j2<x?an<x?0:-1:0:z3<x?Yb<x?0:-1:0:-1:zb<x?B_<x?nm<x?eD<x?0:-1:0:-1:ug<x?T7<x?0:-1:0:-1:Z7<x?Yi<x?J_<x?Dd<x?W1<x?Oy<x?0:-1:0:-1:M_<x?Z3<x?0:-1:0:-1:eb<x?im<x?qC<x?Rf<x?0:-1:0:-1:Np<x?Kc<x?0:-1:0:-1:fr(aY1,x+Kd|0)-1|0:-1}return-1},Aj=function(i){if(i){var x=i[1];return 45<x?95<x?-1:fr(LG1,x+uI|0)-1|0:-1}return-1},qt0=function(i){if(i){var x=i[1];return 35<x?C_<x?ha<x?vs<x?-1:ne<x?Mu<x?Nh<x?_D<x?O2<x?a7<x?uy<x?pE<x?Jg<x?0:-1:$D<x?ks<x?0:-1:0:-1:N2<x?up<x?A7<x?A_<x?0:-1:0:-1:e<x?Xf<x?0:-1:0:-1:Ld<x?w1<x?Zo<x?Ov<x?pv<x?mg<x?Xy<x?Cm<x?ob<x?Sd<x?0:-1:0:-1:d2<x?qt<x?0:-1:0:-1:Am<x?$_<x?Bt<x?Pp<x?0:-1:0:-1:Fc<x?_3<x?0:-1:0:-1:yy<x?sn<x?G3<x?jl<x?vd<x?Hb<x?0:-1:0:-1:Gt<x?aC<x?0:-1:0:-1:_e<x?Ac<x?Gv<x?op<x?0:-1:0:-1:Zl<x?Jv<x?0:-1:0:-1:I_<x?Pb<x?gg<x?ih<x?m7<x?P7<x?np<x?bv<x?0:-1:0:-1:Yp<x?Rg<x?0:-1:0:-1:dp<x?V7<x?Kh<x?Xl<x?0:-1:0:-1:oD<x?Jb<x?0:-1:0:-1:Us<x?dd<x?hv<x?Dp<x?jv<x?Zp<x?0:-1:0:-1:bD<x?V3<x?0:-1:0:-1:gv<x?iv<x?oh<x?Ym<x?0:-1:0:-1:Gy<x?p7<x?0:-1:0:-1:fp<x?Ef<x?c7<x?l0<x?Z1<x?Hr<x?Eb<x?Xb<x?OD<x?R2<x?kE<x?Iv<x?0:-1:0:-1:0:Ox<x?Kf<x?gE<x?Va<x?0:-1:0:-1:ge<x?_l<x?0:-1:0:pD<x?vE<x?ky<x?wp<x?0:-1:p3<x?Ih<x?0:-1:0:-1:MD<x?OC<x?0:-1:KC<x?r3<x?0:-1:0:-1:I2<x?lo<x?Re<x?yC<x?ME<x?db<x?fg<x?Wy<x?0:-1:0:-1:XE<x?xd<x?0:-1:0:-1:Wa<x?yc<x?S3<x?Kl<x?0:-1:0:-1:Fy<x?xc<x?0:-1:0:-1:ka<x?Kp<x?uE<x?Lg<x?_C<x?OE<x?0:-1:0:-1:v2<x?Hm<x?0:-1:0:-1:Wx<x?ff<x?Tb<x?Fm<x?0:-1:0:-1:b3<x?k7<x?0:-1:0:-1:d3<x?Ad<x?P3<x?Yd<x?eu<x?l7<x?Mt<x?v1<x?Cg<x?Xm<x?0:-1:0:-1:zf<x?mD<x?0:-1:0:-1:Mv<x?tt<x?Pm<x?ld<x?0:-1:0:-1:$3<x?zp<x?0:-1:0:-1:qx<x?n3<x?YD<x?uD<x?I7<x?fl<x?0:-1:0:-1:al<x?j_<x?0:-1:0:-1:Cc<x?N1<x?O_<x?B7<x?0:-1:0:-1:pd<x?dm<x?0:-1:0:-1:N0<x?Xh<x?dh<x?dg<x?b0<x?bp<x?Nl<x?Ph<x?0:-1:0:-1:M3<x?lb<x?0:-1:0:-1:rc<x?ec<x?P_<x?Ud<x?0:-1:0:-1:fv<x?K_<x?0:-1:0:-1:Om<x?Ag<x?rf<x?O3<x?Fn<x?bt<x?0:-1:0:-1:U<x?j7<x?0:-1:0:-1:DC<x?ed<x?Im<x?i3<x?0:-1:0:-1:0:-1:kv<x?Hd<x?Jy<x?Za<x?wD<x?E1<x?ag<x?xh<x?Hv<x?vv<x?l3<x?0:-1:0:-1:H3<x?co<x?0:-1:0:-1:LD<x?ex<x?qy<x?nD<x?0:-1:0:-1:ED<x?Pa<x?0:-1:0:-1:sD<x?th<x?hh<x?L_<x?h3<x?Cy<x?0:-1:0:-1:w7<x?Ey<x?0:-1:0:-1:H2<x?eh<x?xv<x?0:-1:0:u2<x?C<x?0:-1:0:P<x?Kg<x?wl<x?b_<x?cc<x?W_<x?0:-1:Tg<x?i_<x?0:-1:0:-1:Sb<x?tv<x?s7<x?Ku<x?0:-1:0:-1:nb<x?Cf<x?0:-1:0:-1:aE<x?Gr<x?hE<x?O<x?0:-1:Uc<x?Qv<x?0:-1:0:-1:Un<x?T3<x?X_<x?BC<x?0:-1:0:-1:p2<x?dy<x?0:-1:0:-1:Jr<x?uv<x?Gc<x?mo<x?Q3<x?vD<x?yv<x?Qd<x?e7<x?Jh<x?0:-1:0:-1:u7<x?b2<x?0:-1:0:-1:BD<x?0:oE<x?bg<x?0:-1:0:-1:B3<x?0:sE<x?G2<x?pa<x?o7<x?0:-1:0:-1:0:-1:r_<x?$y<x?U3<x?X7<x?C7<x?wh<x?L7<x?0:-1:0:-1:Zy<x?t8<x?0:-1:0:LC<x?jp<x?0:-1:F3<x?lE<x?0:-1:0:-1:UD<x?uc<x?tm<x?C0<x?0:-1:G0<x?rD<x?0:-1:0:-1:0:Qb<x?N7<x?D2<x?Se<x?D_<x?_g<x?MC<x?hy<x?ub<x?ph<x?$7<x?yE<x?0:-1:S0<x?Dh<x?0:-1:0:-1:Ko<x&&kg<x?o0<x?0:-1:0:FD<x?_y<x?c3<x&&EC<x?ho<x?0:-1:0:-1:Xp<x?Bp<x?_u<x?GD<x?0:-1:0:-1:Q2<x?g7<x?0:-1:0:Y_<x?NE<x?n8<x||Fd<x?0:SE<x?Y3<x?0:-1:0:-1:rs<x||Pc<x?0:SC<x?Bd<x?0:-1:0:D7<x?Em<x?Ju<x?QE<x?zm<x&&sy<x?mb<x?0:-1:0:m_<x&&g3<x?Gf<x?0:-1:0:-1:CD<x?Mg<x?Yg<x?If<x?_c<x?Uv<x?0:-1:0:-1:0:-1:0:Mc<x?wy<x?CE<x?EE<x?vp<x?D<x?Ub<x?0:-1:0:-1:0:NC<x?0:e3<x?m3<x?0:-1:0:-1:j3<x&&v7<x&&cv<x?FC<x?0:-1:0:Gh<x?Mm<x?fi<x?SD<x?FE<x?ri<x?DD<x?qD<x?0:-1:mf<x?Ep<x?0:-1:0:-1:0:Nc<x?Wg<x?0:My<x?ib<x?0:-1:0:UC<x&&p1<x?C2<x?0:-1:0:GE<x?pm<x?o2<x?Dg<x&&S7<x?zg<x?0:-1:0:-1:Tt<x?y7<x?cb<x?M7<x?0:-1:0:-1:0:0:-1:qv<x?WC<x?am<x?_m<x?Op<x?x_<x?0:-1:lv<x?ze<x?0:-1:0:0:x7<x?Oh<x?H_<x?0:$a<x?Z2<x?0:-1:0:-1:py<x?Iy<x?bd<x?0:-1:0:v_<x?Ne<x?0:-1:0:-1:yo<x?Yh<x?xm<x?fy<x?o1<x?Hi<x?my<x?0:-1:0:-1:md<x?ol<x?0:-1:0:0:-1:_1<x?za<x?xl<x?ws<x?f7<x?Iu<x?0:-1:0:-1:n_<x?ym<x?0:-1:0:-1:Il<x?z_<x?Bo<x?xf<x?0:-1:0:-1:0:-1:vm<x?Ii<x?ce<x?Q7<x?bh<x?x3<x?E2<x?M<x&&tD<x?AE<x?0:-1:0:pg<x?Su<x?qm<x?t_<x?0:-1:0:-1:S_<x?jd<x?0:-1:0:-1:AC<x?wE<x?Zr<x?Td<x?t7<x?0:-1:0:-1:lh<x?JE<x?0:-1:0:0:yl<x?Q_<x?jf<x?X2<x?Wm<x?0:-1:Kb<x?_i<x?0:-1:0:-1:K0<x?jC<x?0:-1:Mn<x?C3<x?0:-1:0:oy<x?0:Zv<x?hb<x?0:-1:RC<x?qh<x?0:-1:0:$f<x?gy<x?xD<x?dC<x?Xd<x?Z<x?Jl<x?0:-1:0:$C<x?Ss<x?0:-1:0:-1:0:Xo<x?pp<x?Bs<x?e8<x?TC<x?0:-1:0:-1:Ug<x?bm<x?0:-1:0:0:Hu<x?zC<x?om<x?y3<x?VD<x?0:-1:TE<x?Lf<x?0:-1:0:0:-1:F7<x?mv<x?b7<x?ov<x?Xn<x?0:-1:0:Lb<x?Ky<x?0:-1:0:-1:dE<x?K3<x?H<x?kb<x?0:-1:0:-1:0:-1:Vf<x?Cd<x?zv<x?hl<x?hm<x?Qp<x?sC<x?f0<x?yD<x?Th<x?Qy<x?0:-1:0:-1:vg<x?E_<x?0:-1:0:-1:Sm<x?Zm<x?n7<x?k_<x?0:-1:0:-1:ot<x?PD<x?0:-1:0:B0<x?e_<x?iC<x?Nb<x?Ob<x?ab<x?0:-1:0:-1:Ws<x?pb<x?0:-1:0:-1:tC<x?wv<x?P2<x?DE<x?0:-1:0:-1:Mo<x?Vg<x?0:-1:0:-1:Wl<x?Gd<x?Sl<x?O7<x?mu<x?0:-1:IC<x?A0<x?0:-1:0:c2<x?jb<x?Yl<x?b1<x?0:-1:0:-1:Dy<x?oi<x?0:-1:0:-1:zh<x?Te<x?of<x?Vy<x?Yu<x?Ut<x?0:-1:0:-1:Rv<x?sv<x?0:-1:0:-1:U7<x?Bm<x?Bv<x?qg<x?0:-1:0:-1:jg<x?cD<x?0:-1:0:-1:tb<x?h7<x?Ay<x?Wh<x?_7<x?rC<x?hc<x?Uu<x?oC<x?O0<x?0:-1:0:-1:s1<x?HD<x?0:-1:0:-1:Ix<x?rd<x?df<x?tl<x?0:-1:0:-1:Tm<x?B2<x?0:-1:0:-1:Pv<x?Tp<x?e0<x?Xc<x?a_<x?0:-1:0:-1:ly<x?Wp<x?0:-1:0:mp<x?Nv<x?Vh<x?tf<x?0:-1:0:-1:rl<x?aD<x?0:-1:0:-1:Lv<x?d0<x?Gm<x?Xv<x?LE<x?Fg<x?0:-1:0:Zc<x?Zb<x?0:-1:0:E3<x?0:Qg<x?wg<x?0:-1:0:-1:pf<x?Bh<x?Id<x?Ly<x?R_<x?U0<x?0:-1:0:-1:Up<x?G_<x?0:-1:0:-1:k3<x?cy<x?g0<x?U1<x?0:-1:0:-1:qr<x?De<x?0:-1:0:-1:Zt<x?ry<x?Qm<x?gm<x?Ds<x?a8<x?ql<x?wf<x?L2<x?xu<x?jy<x?Rd<x?Rb<x?W3<x?Y0<x?0:-1:0:-1:U_<x?xC<x?0:-1:0:-1:Jm<x?Dm<x?Al<x?Fl<x?0:-1:0:-1:F_<x?Nt<x?0:-1:0:-1:Ff<x?0:y2<x?l1<x?vy<x?gd<x?0:-1:0:-1:Fh<x?Sh<x?0:-1:0:-1:P0<x?W7<x?YE<x?i8<x?dD<x?Vb<x?Y7<x?V0<x?0:-1:0:-1:av<x?W<x?0:-1:0:-1:Vv<x?gC<x?Is<x?cp<x?0:-1:0:-1:Gb<x?RE<x?0:-1:0:-1:y0<x?Ou<x?bo<x?rb<x?E7<x?ZD<x?0:-1:0:-1:Ty<x?by<x?0:-1:0:-1:mh<x?mm<x?Gg<x?I3<x?0:-1:0:-1:li<x?Av<x?0:-1:0:-1:La<x?Uy<x?Cp<x?js<x?q_<x?lD<x&&QD<x?ID<x?0:-1:0:-1:H1<x?c0<x?N_<x?l2<x?0:-1:0:-1:kp<x?Hy<x?0:-1:0:-1:hf<x?fE<x?gb<x?d<x?w3<x?_o<x?0:-1:0:-1:td<x?C1<x?0:-1:0:-1:cE<x?wb<x?0:-1:0:Xg<x?Fv<x?x8<x?0:Bb<x?uC<x?fb<x?0:-1:0:fD<x?nf<x?0:-1:0:-1:J7<x?Kt<x?og<x?V_<x?G<x?Kv<x?0:-1:0:-1:wm<x?Jf<x?0:-1:0:-1:rm<x&&Fb<x?kh<x?0:-1:0:q3<x?$<x?x2<x?Uh<x?BE<x&&X3<x?ts<x?0:-1:0:J3<x?G1<x?qs<x?0:-1:0:Wv<x?N3<x?0:-1:0:0:Hh<x?$m<x?0:Sv<x?_b<x?0:-1:0:g_<x?Rc<x?Ev<x?PC<x?Mr<x?0:-1:0:-1:0:rv<x?0:$d<x?Ur<x?0:-1:0:nx<x?ZE<x?qa<x?0:Eg<x&&JD<x?M2<x?0:-1:0:ip<x?K7<x?0:$c<x?Vm<x?0:-1:0:gt<x&&R7<x?Mf<x?0:-1:0:z7<x?_<x?0:zd<x?bC<x?0:-1:eC<x?L3<x?0:-1:0:Sy<x?wC<x?cl<x?0:-1:0:ng<x?0:zy<x?Pf<x?0:-1:0:-1:Hp<x?lg<x?I1<x?h_<x?Rl<x?ev<x?IE<x?r8<x?PE<x?0:-1:sp<x?D3<x?0:-1:0:fh<x?0:A3<x?Ip<x?0:-1:0:-1:0:p8<x?Hf<x?0:Dv<x?Px<x?Pe<x?kD<x?0:-1:0:-1:0:By<x?wd<x&&$b<x?ny<x?0:-1:0:_E<x?$v<x?iy<x?em<x?0:-1:0:-1:0:Lo<x?sf<x?Zd<x?R0<x?0:v3<x?CC<x?zl<x?iD<x?0:-1:0:-1:0:ig<x?m2<x?rp<x&&gD<x?Ed<x?0:-1:0:-1:bn<x?__<x?0:-1:0:-1:i7<x?Fo<x?nd<x?Y2<x?nC<x?0:Wb<x?cg<x?0:-1:0:-1:Eh<x?wu<x?T_<x?lp<x?0:-1:0:-1:sb<x?ds<x?0:-1:0:-1:vh<x?dv<x?Hx<x?Tv<x?Rp<x?0:-1:0:xi<x?af<x?0:-1:0:-1:0:-1:mE<x?bf<x?Ib<x?r7<x?sh<x?I0<x?Lm<x?qf<x&&_t<x?ep<x?0:-1:0:-1:HE<x&&kC<x?Hg<x?0:-1:0:-1:s2<x?rx<x?AD<x?0:Nf<x?h2<x?0:-1:0:-1:Ah<x?uh<x?Ch<x?hD<x?0:-1:0:-1:Zg<x?q7<x?0:-1:0:-1:_v<x?f3<x?Cv<x?ay<x?Yy<x?hg<x?Md<x?Ro<x?0:-1:0:-1:ND<x?$h<x?0:-1:0:-1:kf<x?Of<x?0:-1:TD<x?nv<x?0:-1:0:-1:R3<x?ch<x?y_<x?WD<x?Js<x?0:-1:0:-1:Ap<x?qb<x?0:-1:0:Mb<x?ht<x?0:-1:0:pl<x?d7<x?Uf<x?nl<x?Km<x?j<x?_d<x?G7<x?xb<x?0:-1:0:-1:D0<x?H7<x?0:-1:0:Vp<x?w_<x?0:-1:a3<x?Sg<x?0:-1:0:-1:zD<x?bE<x&&Yv<x?Ry<x?0:-1:0:oc<x?$i<x?0:-1:XD<x?t3<x?0:-1:0:-1:$e<x?ah<x?Bi<x?d_<x?Pu<x?j2<x?an<x?0:-1:0:z3<x?Yb<x?0:-1:0:-1:zb<x?B_<x?nm<x?eD<x?0:-1:0:-1:ug<x?T7<x?0:-1:0:-1:Z7<x?Yi<x?J_<x?Dd<x?W1<x?Oy<x?0:-1:0:-1:M_<x?Z3<x?0:-1:0:-1:eb<x?im<x?qC<x?Rf<x?0:-1:0:-1:Np<x?Kc<x?0:-1:0:-1:fr(sY1,x+Kd|0)-1|0:-1}return-1},Tj=function(i){if(i){var x=i[1];return BO<x?BI<x?-1:0:-1}return-1},c20=function(i){if(i){var x=i[1];return 35<x?C_<x?ha<x?vs<x?-1:ne<x?Mu<x?Nh<x?_D<x?O2<x?a7<x?uy<x?pE<x?Jg<x?0:-1:$D<x?ks<x?0:-1:0:-1:N2<x?up<x?A7<x?A_<x?0:-1:0:-1:e<x?Xf<x?0:-1:0:-1:Ld<x?w1<x?Zo<x?Ov<x?pv<x?mg<x?Xy<x?Cm<x?ob<x?Sd<x?0:-1:0:-1:d2<x?qt<x?0:-1:0:-1:Am<x?$_<x?Bt<x?Pp<x?0:-1:0:-1:Fc<x?_3<x?0:-1:0:-1:yy<x?sn<x?G3<x?jl<x?vd<x?Hb<x?0:-1:0:-1:Gt<x?aC<x?0:-1:0:-1:_e<x?Ac<x?Gv<x?op<x?0:-1:0:-1:Zl<x?Jv<x?0:-1:0:-1:I_<x?Pb<x?gg<x?ih<x?m7<x?P7<x?np<x?bv<x?0:-1:0:-1:Yp<x?Rg<x?0:-1:0:-1:dp<x?V7<x?Kh<x?Xl<x?0:-1:0:-1:oD<x?Jb<x?0:-1:0:-1:Us<x?dd<x?hv<x?Dp<x?jv<x?Zp<x?0:-1:0:-1:bD<x?V3<x?0:-1:0:-1:gv<x?iv<x?oh<x?Ym<x?0:-1:0:-1:Gy<x?p7<x?0:-1:0:-1:fp<x?Ef<x?c7<x?l0<x?Z1<x?Hr<x?Eb<x?Xb<x?OD<x?R2<x?kE<x?Iv<x?0:-1:0:-1:0:Ox<x?Kf<x?gE<x?Va<x?0:-1:0:-1:ge<x?_l<x?0:-1:0:pD<x?vE<x?ky<x?wp<x?0:-1:p3<x?Ih<x?0:-1:0:-1:MD<x?OC<x?0:-1:KC<x?r3<x?0:-1:0:-1:I2<x?lo<x?Re<x?yC<x?ME<x?db<x?fg<x?Wy<x?0:-1:0:-1:XE<x?xd<x?0:-1:0:-1:Wa<x?yc<x?S3<x?Kl<x?0:-1:0:-1:Fy<x?xc<x?0:-1:0:-1:ka<x?Kp<x?uE<x?Lg<x?_C<x?OE<x?0:-1:0:-1:v2<x?Hm<x?0:-1:0:-1:Wx<x?ff<x?Tb<x?Fm<x?0:-1:0:-1:b3<x?k7<x?0:-1:0:-1:d3<x?Ad<x?P3<x?Yd<x?eu<x?l7<x?Mt<x?v1<x?Cg<x?Xm<x?0:-1:0:-1:zf<x?mD<x?0:-1:0:-1:Mv<x?tt<x?Pm<x?ld<x?0:-1:0:-1:$3<x?zp<x?0:-1:0:-1:qx<x?n3<x?YD<x?uD<x?I7<x?fl<x?0:-1:0:-1:al<x?j_<x?0:-1:0:-1:Cc<x?N1<x?O_<x?B7<x?0:-1:0:-1:pd<x?dm<x?0:-1:0:-1:N0<x?Xh<x?dh<x?dg<x?b0<x?bp<x?Nl<x?Ph<x?0:-1:0:-1:M3<x?lb<x?0:-1:0:-1:rc<x?ec<x?P_<x?Ud<x?0:-1:0:-1:fv<x?K_<x?0:-1:0:-1:Om<x?Ag<x?rf<x?O3<x?Fn<x?bt<x?0:-1:0:-1:U<x?j7<x?0:-1:0:-1:DC<x?ed<x?Im<x?i3<x?0:-1:0:-1:0:-1:kv<x?Hd<x?Jy<x?Za<x?wD<x?E1<x?ag<x?xh<x?Hv<x?vv<x?l3<x?0:-1:0:-1:H3<x?co<x?0:-1:0:-1:LD<x?ex<x?qy<x?nD<x?0:-1:0:-1:ED<x?Pa<x?0:-1:0:-1:sD<x?th<x?hh<x?L_<x?h3<x?Cy<x?0:-1:0:-1:w7<x?Ey<x?0:-1:0:-1:H2<x?eh<x?xv<x?0:-1:0:u2<x?C<x?0:-1:0:P<x?Kg<x?wl<x?b_<x?cc<x?W_<x?0:-1:Tg<x?i_<x?0:-1:0:-1:Sb<x?tv<x?s7<x?Ku<x?0:-1:0:-1:nb<x?Cf<x?0:-1:0:-1:aE<x?Gr<x?hE<x?O<x?0:-1:Uc<x?Qv<x?0:-1:0:-1:Un<x?T3<x?X_<x?BC<x?0:-1:0:-1:p2<x?dy<x?0:-1:0:-1:Jr<x?uv<x?Gc<x?mo<x?Q3<x?vD<x?yv<x?Qd<x?e7<x?Jh<x?0:-1:0:-1:u7<x?b2<x?0:-1:0:-1:BD<x?0:oE<x?bg<x?0:-1:0:-1:B3<x?0:sE<x?G2<x?pa<x?o7<x?0:-1:0:-1:0:-1:r_<x?$y<x?U3<x?X7<x?C7<x?wh<x?L7<x?0:-1:0:-1:Zy<x?t8<x?0:-1:0:LC<x?jp<x?0:-1:F3<x?lE<x?0:-1:0:-1:UD<x?uc<x?tm<x?C0<x?0:-1:G0<x?rD<x?0:-1:0:-1:0:Qb<x?N7<x?D2<x?Se<x?D_<x?_g<x?MC<x?hy<x?ub<x?ph<x?$7<x?yE<x?0:-1:S0<x?Dh<x?0:-1:0:-1:Ko<x&&kg<x?o0<x?0:-1:0:FD<x?_y<x?c3<x&&EC<x?ho<x?0:-1:0:-1:Xp<x?Bp<x?_u<x?GD<x?0:-1:0:-1:Q2<x?g7<x?0:-1:0:Y_<x?NE<x?n8<x||Fd<x?0:SE<x?Y3<x?0:-1:0:-1:rs<x||Pc<x?0:SC<x?Bd<x?0:-1:0:D7<x?Em<x?Ju<x?QE<x?zm<x&&sy<x?mb<x?0:-1:0:m_<x&&g3<x?Gf<x?0:-1:0:-1:CD<x?Mg<x?Yg<x?If<x?_c<x?Uv<x?0:-1:0:-1:0:-1:0:Mc<x?wy<x?CE<x?EE<x?vp<x?D<x?Ub<x?0:-1:0:-1:0:NC<x?0:e3<x?m3<x?0:-1:0:-1:j3<x&&v7<x&&cv<x?FC<x?0:-1:0:Gh<x?Mm<x?fi<x?SD<x?FE<x?ri<x?DD<x?qD<x?0:-1:mf<x?Ep<x?0:-1:0:-1:0:Nc<x?Wg<x?0:My<x?ib<x?0:-1:0:UC<x&&p1<x?C2<x?0:-1:0:GE<x?pm<x?o2<x?Dg<x&&S7<x?zg<x?0:-1:0:-1:Tt<x?y7<x?cb<x?M7<x?0:-1:0:-1:0:0:-1:qv<x?WC<x?am<x?_m<x?Op<x?x_<x?0:-1:lv<x?ze<x?0:-1:0:0:x7<x?Oh<x?H_<x?0:$a<x?Z2<x?0:-1:0:-1:py<x?Iy<x?bd<x?0:-1:0:v_<x?Ne<x?0:-1:0:-1:yo<x?Yh<x?xm<x?fy<x?o1<x?Hi<x?my<x?0:-1:0:-1:md<x?ol<x?0:-1:0:0:-1:_1<x?za<x?xl<x?ws<x?f7<x?Iu<x?0:-1:0:-1:n_<x?ym<x?0:-1:0:-1:Il<x?z_<x?Bo<x?xf<x?0:-1:0:-1:0:-1:vm<x?Ii<x?ce<x?Q7<x?bh<x?x3<x?E2<x?M<x&&tD<x?AE<x?0:-1:0:pg<x?Su<x?qm<x?t_<x?0:-1:0:-1:S_<x?jd<x?0:-1:0:-1:AC<x?wE<x?Zr<x?Td<x?t7<x?0:-1:0:-1:lh<x?JE<x?0:-1:0:0:yl<x?Q_<x?jf<x?X2<x?Wm<x?0:-1:Kb<x?_i<x?0:-1:0:-1:K0<x?jC<x?0:-1:Mn<x?C3<x?0:-1:0:oy<x?0:Zv<x?hb<x?0:-1:RC<x?qh<x?0:-1:0:$f<x?gy<x?xD<x?dC<x?Xd<x?Z<x?Jl<x?0:-1:0:$C<x?Ss<x?0:-1:0:-1:0:Xo<x?pp<x?Bs<x?e8<x?TC<x?0:-1:0:-1:Ug<x?bm<x?0:-1:0:0:Hu<x?zC<x?om<x?y3<x?VD<x?0:-1:TE<x?Lf<x?0:-1:0:0:-1:F7<x?mv<x?b7<x?ov<x?Xn<x?0:-1:0:Lb<x?Ky<x?0:-1:0:-1:dE<x?K3<x?H<x?kb<x?0:-1:0:-1:0:-1:Vf<x?Cd<x?zv<x?hl<x?hm<x?Qp<x?sC<x?f0<x?yD<x?Th<x?Qy<x?0:-1:0:-1:vg<x?E_<x?0:-1:0:-1:Sm<x?Zm<x?n7<x?k_<x?0:-1:0:-1:ot<x?PD<x?0:-1:0:B0<x?e_<x?iC<x?Nb<x?Ob<x?ab<x?0:-1:0:-1:Ws<x?pb<x?0:-1:0:-1:tC<x?wv<x?P2<x?DE<x?0:-1:0:-1:Mo<x?Vg<x?0:-1:0:-1:Wl<x?Gd<x?Sl<x?O7<x?mu<x?0:-1:IC<x?A0<x?0:-1:0:c2<x?jb<x?Yl<x?b1<x?0:-1:0:-1:Dy<x?oi<x?0:-1:0:-1:zh<x?Te<x?of<x?Vy<x?Yu<x?Ut<x?0:-1:0:-1:Rv<x?sv<x?0:-1:0:-1:U7<x?Bm<x?Bv<x?qg<x?0:-1:0:-1:jg<x?cD<x?0:-1:0:-1:tb<x?h7<x?Ay<x?Wh<x?_7<x?rC<x?hc<x?Uu<x?oC<x?O0<x?0:-1:0:-1:s1<x?HD<x?0:-1:0:-1:Ix<x?rd<x?df<x?tl<x?0:-1:0:-1:Tm<x?B2<x?0:-1:0:-1:Pv<x?Tp<x?e0<x?Xc<x?a_<x?0:-1:0:-1:ly<x?Wp<x?0:-1:0:mp<x?Nv<x?Vh<x?tf<x?0:-1:0:-1:rl<x?aD<x?0:-1:0:-1:Lv<x?d0<x?Gm<x?Xv<x?LE<x?Fg<x?0:-1:0:Zc<x?Zb<x?0:-1:0:E3<x?0:Qg<x?wg<x?0:-1:0:-1:pf<x?Bh<x?Id<x?Ly<x?R_<x?U0<x?0:-1:0:-1:Up<x?G_<x?0:-1:0:-1:k3<x?cy<x?g0<x?U1<x?0:-1:0:-1:qr<x?De<x?0:-1:0:-1:Zt<x?ry<x?Qm<x?gm<x?Ds<x?a8<x?ql<x?wf<x?L2<x?xu<x?jy<x?Rd<x?Rb<x?W3<x?Y0<x?0:-1:0:-1:U_<x?xC<x?0:-1:0:-1:Jm<x?Dm<x?Al<x?Fl<x?0:-1:0:-1:F_<x?Nt<x?0:-1:0:-1:Ff<x?0:y2<x?l1<x?vy<x?gd<x?0:-1:0:-1:Fh<x?Sh<x?0:-1:0:-1:P0<x?W7<x?YE<x?i8<x?dD<x?Vb<x?Y7<x?V0<x?0:-1:0:-1:av<x?W<x?0:-1:0:-1:Vv<x?gC<x?Is<x?cp<x?0:-1:0:-1:Gb<x?RE<x?0:-1:0:-1:y0<x?Ou<x?bo<x?rb<x?E7<x?ZD<x?0:-1:0:-1:Ty<x?by<x?0:-1:0:-1:mh<x?mm<x?Gg<x?I3<x?0:-1:0:-1:li<x?Av<x?0:-1:0:-1:La<x?Uy<x?Cp<x?js<x?q_<x?lD<x&&QD<x?ID<x?0:-1:0:-1:H1<x?c0<x?N_<x?l2<x?0:-1:0:-1:kp<x?Hy<x?0:-1:0:-1:hf<x?fE<x?gb<x?d<x?w3<x?_o<x?0:-1:0:-1:td<x?C1<x?0:-1:0:-1:cE<x?wb<x?0:-1:0:Xg<x?Fv<x?x8<x?0:Bb<x?uC<x?fb<x?0:-1:0:fD<x?nf<x?0:-1:0:-1:J7<x?Kt<x?og<x?V_<x?G<x?Kv<x?0:-1:0:-1:wm<x?Jf<x?0:-1:0:-1:rm<x&&Fb<x?kh<x?0:-1:0:q3<x?$<x?x2<x?Uh<x?BE<x&&X3<x?ts<x?0:-1:0:J3<x?G1<x?qs<x?0:-1:0:Wv<x?N3<x?0:-1:0:0:Hh<x?$m<x?0:Sv<x?_b<x?0:-1:0:g_<x?Rc<x?Ev<x?PC<x?Mr<x?0:-1:0:-1:0:rv<x?0:$d<x?Ur<x?0:-1:0:nx<x?ZE<x?qa<x?0:Eg<x&&JD<x?M2<x?0:-1:0:ip<x?K7<x?0:$c<x?Vm<x?0:-1:0:gt<x&&R7<x?Mf<x?0:-1:0:z7<x?_<x?0:zd<x?bC<x?0:-1:eC<x?L3<x?0:-1:0:Sy<x?wC<x?cl<x?0:-1:0:ng<x?0:zy<x?Pf<x?0:-1:0:-1:Hp<x?lg<x?I1<x?h_<x?Rl<x?ev<x?IE<x?r8<x?PE<x?0:-1:sp<x?D3<x?0:-1:0:fh<x?0:A3<x?Ip<x?0:-1:0:-1:0:p8<x?Hf<x?0:Dv<x?Px<x?Pe<x?kD<x?0:-1:0:-1:0:By<x?wd<x&&$b<x?ny<x?0:-1:0:_E<x?$v<x?iy<x?em<x?0:-1:0:-1:0:Lo<x?sf<x?Zd<x?R0<x?0:v3<x?CC<x?zl<x?iD<x?0:-1:0:-1:0:ig<x?m2<x?rp<x&&gD<x?Ed<x?0:-1:0:-1:bn<x?__<x?0:-1:0:-1:i7<x?Fo<x?nd<x?Y2<x?nC<x?0:Wb<x?cg<x?0:-1:0:-1:Eh<x?wu<x?T_<x?lp<x?0:-1:0:-1:sb<x?ds<x?0:-1:0:-1:vh<x?dv<x?Hx<x?Tv<x?Rp<x?0:-1:0:xi<x?af<x?0:-1:0:-1:0:-1:mE<x?bf<x?Ib<x?r7<x?sh<x?I0<x?Lm<x?qf<x&&_t<x?ep<x?0:-1:0:-1:HE<x&&kC<x?Hg<x?0:-1:0:-1:s2<x?rx<x?AD<x?0:Nf<x?h2<x?0:-1:0:-1:Ah<x?uh<x?Ch<x?hD<x?0:-1:0:-1:Zg<x?q7<x?0:-1:0:-1:_v<x?f3<x?Cv<x?ay<x?Yy<x?hg<x?Md<x?Ro<x?0:-1:0:-1:ND<x?$h<x?0:-1:0:-1:kf<x?Of<x?0:-1:TD<x?nv<x?0:-1:0:-1:R3<x?ch<x?y_<x?WD<x?Js<x?0:-1:0:-1:Ap<x?qb<x?0:-1:0:Mb<x?ht<x?0:-1:0:pl<x?d7<x?Uf<x?nl<x?Km<x?j<x?_d<x?G7<x?xb<x?0:-1:0:-1:D0<x?H7<x?0:-1:0:Vp<x?w_<x?0:-1:a3<x?Sg<x?0:-1:0:-1:zD<x?bE<x&&Yv<x?Ry<x?0:-1:0:oc<x?$i<x?0:-1:XD<x?t3<x?0:-1:0:-1:$e<x?ah<x?Bi<x?d_<x?Pu<x?j2<x?an<x?0:-1:0:z3<x?Yb<x?0:-1:0:-1:zb<x?B_<x?nm<x?eD<x?0:-1:0:-1:ug<x?T7<x?0:-1:0:-1:Z7<x?Yi<x?J_<x?Dd<x?W1<x?Oy<x?0:-1:0:-1:M_<x?Z3<x?0:-1:0:-1:eb<x?im<x?qC<x?Rf<x?0:-1:0:-1:Np<x?Kc<x?0:-1:0:-1:fr(uY1,x+Kd|0)-1|0:-1}return-1},l20=function(i){if(i){var x=i[1];return 46<x?47<x?-1:0:-1}return-1},f20=function(i){if(i){var x=i[1];return 57<x?58<x?-1:0:-1}return-1},V6=function(i){if(i){var x=i[1];return 35<x?$u<x?-1:fr(eX1,x+Kd|0)-1|0:-1}return-1},UY=function(i,x){var n=x-i[3][2]|0;return[0,Ud0(i),n]},p20=function(i,x,n){var m=UY(i,n),L=UY(i,x);return[0,i[1],L,m]},bN=function(i,x){return UY(i,Nq(x))},EI=function(i,x){return UY(i,tG(x))},uA=function(i,x){var n=Nq(x);return p20(i,n,tG(x))},d20=function(i,x){if(typeof x!=\"number\")switch(x[0]){case 2:case 3:case 5:case 8:return x[1][1]}return uA(i,i[2])},m20=function(i){var x=i[1],n=x[6],m=n!==yb?[0,x[1],x[2],x[3],x[4],x[5],yb,x[7]]:x,L=i[4],v=yd(n[1]);return[0,m,[0,i[2],i[3],v,L]]},CN=function(i,x,n){return[0,i[1],i[2],i[3],i[4],i[5],[0,[0,[0,x,n],i[6][1]]],i[7]]},h20=function(i,x,n){return CN(i,x,[11,$q(n)])},Jt0=function(i,x,n,m){return CN(i,x,[13,n,m])},TL=function(i,x){return CN(i,x,vG1)},SI=function(i,x){var n=tG(x),m=[0,Ud0(i)+1|0,n];return[0,i[1],i[2],m,i[4],i[5],i[6],i[7]]},g20=function(i){var x=g(i);return x!==0&&ef===fr(i,x-1|0)?vI(i,0,x-1|0):i},wL=function(i,x,n,m,L){var v=[0,i[1],x,n];return[0,v,[0,L?0:1,Iw(m),i[7][3][1]<v[2][1]?1:0]]},wj=function(i,x){if(fr(x,0)===45)var n=1,m=vI(x,1,g(x)-1|0);else n=0,m=x;switch(i){case 1:try{var L=lx(A1(F2(gG1,m)))}catch(v){if((v=yi(v))[1]!==lc)throw v;L=qp(F2(_G1,m))}break;case 0:case 3:try{L=lx(A1(m))}catch(v){if((v=yi(v))[1]!==lc)throw v;L=qp(F2(yG1,m))}break;default:try{L=hj(m)}catch(v){if((v=yi(v))[1]!==lc)throw v;L=qp(F2(DG1,m))}}return[10,i,n?-L:L,x]},UM=function(i,x){if(fr(x,0)===45)var n=1,m=vI(x,1,g(x)-1|0);else n=0,m=x;if(2<=i){var L=g20(m);try{var v=hj(L)}catch(ie){if((ie=yi(ie))[1]!==lc)throw ie;v=qp(F2(mG1,L))}var a0=v}else{var O1=g20(m);try{var dx=lx(A1(O1))}catch(ie){if((ie=yi(ie))[1]!==lc)throw ie;dx=qp(F2(hG1,O1))}a0=dx}return[11,i,n?-a0:a0,x]},_20=function(i,x,n){var m=Ro0([0,n]);vS(m);var L=Rx(m);if(L)var v=L[1],a0=C_<v?LC<v?m7<v?Xy<v?ks<v?vs<v?0:pE<v?Jg<v?2:0:1:N2<v?a7<v?uy<v?$D<v?0:1:0:A7<v?A_<v?1:0:up<v?1:0:_D<v?e<v?Xf<v?1:0:O2<v?1:0:ob<v?Sd<v?1:0:Cm<v?1:0:G3<v?Am<v?pv<v?d2<v?qt<v?1:0:mg<v?1:0:Bt<v?Pp<v?1:0:$_<v?1:0:Zo<v?Fc<v?_3<v?1:0:Ov<v?1:0:vd<v?Hb<v?1:0:jl<v?1:0:_e<v?yy<v?Gt<v?aC<v?1:0:sn<v?1:0:Gv<v?op<v?1:0:Ac<v?1:0:Ld<v?Zl<v?Jv<v?1:0:w1<v?1:0:np<v?bv<v?1:0:P7<v?1:0:M3<v?XE<v?OD<v?hv<v?dp<v?gg<v?Yp<v?Rg<v?1:0:ih<v?1:0:Kh<v?Xl<v?1:0:V7<v?1:0:I_<v?oD<v?Jb<v?1:0:Pb<v?1:0:jv<v?Zp<v?1:0:Dp<v?1:0:gv<v?Us<v?bD<v?V3<v?1:0:dd<v?1:0:oh<v?Ym<v?1:0:iv<v?1:0:Mu<v?Gy<v?p7<v?1:0:Nh<v?1:0:kE<v?Iv<v?1:0:R2<v?2:0:Ih<v?_l<v?Va<v?Qw<v?1:Xb<v?2:1:Kf<v?gE<v?0:2:Ox<v?0:1:Eb<v?ge<v?0:2:wp<v?j6<v?2:1:ky<v?0:1:KC<v?NV<v?vE<v?p3<v?0:2:pD<v?0:1:MD<v?OC<v?2:0:r3<v?1:0:fg<v?Z1<v?Hr<v?2:0:Wy<v?2:0:ME<v?db<v?2:0:xd<v?2:0:zf<v?v2<v?Fy<v?S3<v?Re<v?yC<v?2:0:Kl<v?2:0:Wa<v?yc<v?2:0:xc<v?2:0:_C<v?I2<v?lo<v?2:0:OE<v?2:0:uE<v?Lg<v?2:0:Hm<v?2:0:b3<v?Tb<v?ka<v?Kp<v?1:0:Fm<v?1:0:Wx<v?ff<v?1:0:k7<v?1:0:Cg<v?c7<v?l0<v?1:0:Xm<v?1:0:Mt<v?v1<v?1:0:mD<v?1:0:al<v?$3<v?Pm<v?eu<v?l7<v?1:0:ld<v?1:0:Mv<v?tt<v?1:0:zp<v?1:0:I7<v?P3<v?Yd<v?1:0:fl<v?1:0:YD<v?uD<v?1:0:j_<v?1:0:pd<v?O_<v?qx<v?n3<v?1:0:B7<v?1:0:Cc<v?N1<v?1:0:dm<v?1:0:Nl<v?d3<v?Ad<v?1:0:Ph<v?1:0:b0<v?bp<v?1:0:lb<v?1:0:Ku<v?H3<v?U<v?fv<v?P_<v?dh<v?dg<v?1:0:Ud<v?1:0:rc<v?ec<v?1:0:K_<v?1:0:Fn<v?N0<v?Xh<v?1:0:bt<v?1:0:rf<v?O3<v?2:0:j7<v?2:0:hC<v?Im<v?Om<v?Ag<v?2:0:i3<v?2:0:DC<v?ed<v?2:0:-1:vv<v?fp<v?Ef<v?2:0:l3<v?2:0:xh<v?Hv<v?1:0:co<v?1:0:w7<v?ED<v?qy<v?E1<v?ag<v?1:0:nD<v?1:0:LD<v?ex<v?1:0:Pa<v?1:0:h3<v?Za<v?wD<v?1:0:Cy<v?1:0:hh<v?L_<v?1:0:Ey<v?1:0:Jy<v?eh<v?sD<v?th<v?1:0:xv<v?1:0:C<v?H2<v?1:2:u2<v?0:2:i_<v?W_<v?ae<v?1:2:cc<v?0:1:b_<v?Tg<v?0:1:wl<v?0:1:Q3<v?BC<v?P<v?Cf<v?tv<v?s7<v?0:1:Sb<v?0:2:Kg<v?nb<v?0:1:0:Qv<v?O<v?XB<v?2:1:hE<v?0:2:Gr<v?Uc<v?0:1:aE<v?0:2:Jh<v?dy<v?T3<v?X_<v?0:1:Un<v?0:1:Hd<v?p2<v?0:1:kv<v?0:1:b2<v?Qd<v?e7<v?0:1:yv<v?0:1:vD<v?u7<v?0:1:0:pa<v?Er<v?UI<v?bg<v?$x<v||BD<v?2:1:mo<v?oE<v?0:2:Gc<v?0:1:-1:B3<v?-1:o7<v?2:0:wh<v?PR<v?sE<v?G2<v?2:0:-1:Jr<v?uv<v?1:0:L7<v?1:0:Zy<v?X7<v?C7<v?1:0:t8<v?2:0:_9<v?U3<v?2:1:jp<v?2:0:xC<v?ga<v?Il<v?j3<v?x0<v?NE<v?Ko<v?jx<v?A<v?tm<v?Yo<v?r_<v?F3<v?lE<v?2:0:$y<v?2:0:-1:C0<v?1:0:HP<v&&UD<v?G0<v?rD<v?1:0:uc<v?1:0:-1:-1:$7<v?ek<v?-1:yE<v?2:0:ub<v?S0<v?Dh<v?2:0:ph<v?1:0:kg<v?o0<v?2:0:1:g7<v?c3<v?ho<v?2:EC<v?0:2:GD<v?_y<v?Cl<v?2:1:FD<v?0:1:Bp<v?_u<v?0:1:Xp<v?0:1:V9<v?MC<v?Q2<v?0:2:Sa<v?2:1:J$<v?2:Y3<v?Fd<v?2:1:SE<v?0:2:Yg<v?zm<v?cL<v?RB<v?ut<v?Y_<v?0:2:1:rs<v?2:1:_g<v?Bd<v?Pc<v?2:1:SC<v?0:2:sy<v?mb<v?1:0:1:m_<v?Gf<v?2:g3<v?0:2:Uv<v?Ju<v?oM<v?2:1:Em<v?0:1:If<v?_c<v?0:1:0:EE<v?LI<v?CD<v?Mg<v?wT<v?2:1:0:2:Ub<v?sK<v||D7<v?2:1:vp<v?D<v?0:2:0:m3<v?2:FC<v?wy<v?e3<v?0:1:Mc<v?0:2:v7<v?cv<v?0:1:-1:-1:uK<v?Nc<v?My<v?mf<v?D_<v||KR<v?-1:DD<v?qD<v?1:0:Ep<v?2:0:SD<v?qw<v&&OV<v&&Gp<v&&FE<v?ri<v?1:0:-1:Wg<v?-1:ib<v?1:0:-1:UN<v?fi<v?Pz<v&&UC<v&&p1<v?C2<v?1:0:-1:Dg<v&&S7<v?zg<v?2:0:-1:JL<v?cb<v?pm<v?o2<v?1:0:M7<v?2:0:Tt<v?y7<v?1:0:1:2:py<v?Iy<v?sM<v?iK<v?Gh<v?hF<v||s5<v?2:Mm<v?1:0:ze<v?x_<v?LV<v?1:2:Op<v?0:2:_m<v?lv<v?0:1:-1:-1:H_<v?-1:$a<v?Z2<v?1:0:x7<v?Oh<v?2:0:bd<v?2:0:-1:rK<v?Hi<v?v_<v?Ne<v?1:0:qv<v?WC<v?2:0:my<v?1:0:xm<v&&md<v?fy<v?o1<v?2:0:ol<v?2:0:-1:xl<v?yo<v?R9<v?hI<v?2:1:Yh<v?2:0:f7<v?Iu<v?1:0:ws<v?1:0:_1<v?n_<v?ym<v?1:0:za<v?1:0:Bo<v?xf<v?1:0:z_<v?1:0:-1:sC<v?Jl<v?fe<v?lP<v?pg<v?Q$<v?M<v?D2<v?Se<v?2:0:tD<v?AE<v?2:0:-1:-1:E2<v?-1:qm<v?t_<v?1:0:Su<v?1:0:wE<v?bh<v?S_<v?jd<v?1:0:x3<v?1:0:Td<v?t7<v?1:0:Zr<v?1:0:qT<v&&AC<v&&lh<v?JE<v?2:0:-1:-1:Mn<v?_i<v?Q7<v?-1:Wm<v?EU<v?2:1:X2<v?0:1:fL<v?jf<v?Kb<v?0:1:Q_<v?0:1:K0<v?jC<v?2:0:C3<v?2:0:oy<v?Zj<v?yl<v?1:2:lL<v?2:1:qh<v?hb<v?2:Zv<v?0:1:RC<v?0:ce<v?2:1:Lf<v?Bs<v?xD<v?Ss<v?Z<v?0:Xd<v?2:1:dC<v?$C<v?0:2:0:y1<v?2:TC<v?gy<v?1:2:e8<v?0:2:ej<v?Ug<v?bm<v?pp<v?0:1:0:2:$f<v?CR<v?2:1:VD<v?2:y3<v?0:2:mv<v?zC<v?OO<v?om<v?TE<v?0:2:1:2:ov<v?Xn<v?Hu<v?0:1:0:Ky<v?b7<v?2:1:Lb<v?0:1:Ii<v?K3<v?kb<v?F7<v?0:1:H<v?0:2:dE<v?0:_P<v?2:1:yD<v?Qy<v?vm<v?0:1:Th<v?0:1:E_<v?f0<v?0:1:vg<v?0:1:_7<v?Sl<v?e_<v?ot<v?Zm<v?k_<v?Qp<v?0:1:n7<v?0:1:PD<v?Sm<v?0:1:0:Nb<v?ab<v?hm<v?2:1:Ob<v?0:1:pb<v?iC<v?0:1:Ws<v?0:1:hl<v?wv<v?DE<v?B0<v?0:2:P2<v?0:2:Vg<v?tC<v?0:1:Mo<v?0:1:O7<v?RV<v?zv<v?0:1:mu<v?2:0:IC<v?A0<v?2:0:-1:zh<v?Wl<v?c2<v?Yl<v?b1<v?1:0:jb<v?1:0:Dy<v?oi<v?1:0:Gd<v?1:0:of<v?Yu<v?Ut<v?1:0:Vy<v?1:0:Rv<v?sv<v?1:0:Te<v?1:0:Vf<v?U7<v?Bv<v?qg<v?1:0:Bm<v?1:0:jg<v?cD<v?1:0:Cd<v?1:0:hc<v?oC<v?O0<v?1:0:Uu<v?1:0:s1<v?HD<v?1:0:rC<v?1:0:Gm<v?Pv<v?Ay<v?Ix<v?df<v?tl<v?1:0:rd<v?1:0:Tm<v?B2<v?1:0:Wh<v?1:0:Tp<v?Xc<v?a_<v?1:0:e0<v?1:0:ly<v?Wp<v?2:0:1:h7<v?Nv<v?tf<v?1:Vh<v?0:1:aD<v?mp<v?0:1:rl<v?0:1:Xv<v?Fg<v?tb<v?0:1:LE<v?0:2:Zc<v?Zb<v?1:0:1:G_<v?wg<v?1:U0<v?d0<v?Qg<v?0:1:Lv<v?0:2:Ly<v?R_<v?0:1:Id<v?0:1:De<v?U1<v?Bh<v?Up<v?0:2:pf<v?0:1:cy<v?g0<v?0:1:k3<v?0:1:Y0<v?N7<v?qr<v?0:1:Qb<v?0:1:Rb<v?W3<v?0:1:Rd<v?0:1:DP<v?Qm<v?ID<v?V0<v?o6<v?Nt<v?Fl<v?jy<v?U_<v?0:1:xu<v?0:1:Dm<v?Al<v?0:1:Jm<v?0:1:AV<v?L2<v?F_<v?0:1:wf<v?0:1:1:gd<v?1:Sh<v?l1<v?vy<v?0:1:y2<v?0:2:ql<v?Fh<v?0:1:a8<v?0:2:ZD<v?cp<v?W<v?Vb<v?Y7<v?0:1:dD<v?0:1:i8<v?av<v?0:2:YE<v?0:2:RE<v?gC<v?Is<v?0:2:Vv<v?0:2:W7<v?Gb<v?0:1:P0<v?0:1:I3<v?by<v?rb<v?E7<v?0:1:bo<v?0:1:Ou<v?Ty<v?0:1:y0<v?0:1:Av<v?mm<v?Gg<v?0:1:mh<v?0:1:Ds<v?li<v?0:1:gm<v?0:1:bk<v?Fz<v?w3<v?N_<v?wA<v?lD<v?QD<v?0:1:-1:js<v?q_<v?1:0:l2<v?1:0:kp<v?H1<v?c0<v?1:0:Hy<v?1:0:Uy<v?Cp<v?1:0:_o<v?1:0:K8<v?td<v?gb<v?d<v?1:0:C1<v?1:0:hf<v?fE<v?2:0:-1:La<v&&Ab<v&&cE<v?wb<v?2:0:-1:-1:Xg<v?fb<v?Ui<v?-1:1:Bb<v?uC<v?0:1:fD<v?nf<v?1:0:Fv<v?1:0:J7<v?og<v?G<v?Kv<v?1:0:V_<v?1:0:wm<v?Jf<v?1:0:Kt<v?1:0:rm<v?Fb<v?kh<v?1:0:-1:$B<v?2:1:qA<v?Eg<v?uj<v?x2<v?Uh<v?wz<v&&BE<v&&X3<v?ts<v?1:0:-1:J3<v?G1<v?qs<v?1:0:1:N3<v?1:Wv<v?0:1:$<v?MV<v?Q0<v?ak<v?2:1:Ae<v?2:1:V<v?sj<v?2:1:R1<v?2:1:$m<v&&H$<v&&gU<v?gl<v?2:1:-1:rv<v?eM<v?Hh<v?CP<v&&Sv<v?_b<v?1:0:1:GI<v?Rc<v?PC<v?Mr<v?1:0:Ev<v?2:0:-1:g_<v?2:1:-1:Ez<v?or<v&&q3<v&&$d<v?Ur<v?1:0:-1:de<v?-1:M2<v?qa<v?2:1:JD<v?0:1:-1:z7<v?eC<v?We<v?gt<v?K7<v?ZE<v||Zw<v?1:-1:ip<v?$c<v?Vm<v?1:0:-1:R7<v?Mf<v?1:0:-1:-1:Ek<v?-1:z0<v?_<v?Ir<v?2:1:-1:zd<v?bC<v?2:0:L3<v?1:0:-1:A5<v?Tz<v?Sy<v?UB<v?-1:wC<v?cl<v?1:0:po<v?2:1:-1:Pf<v?ng<v?2:1:ry<v?zy<v?0:1:Zt<v?0:1:fh<v?IE<v?sp<v?r8<v?PE<v?2:0:D3<v?2:0:-1:JT<v?2:1:Nz<v&&Rl<v?A3<v?Ip<v?2:0:ev<v?1:0:-1:I0<v?Zd<v?wd<v?Hf<v?wM<v?ZR<v?FU<v?s<v?2:1:rA<v?2:1:h_<v?BV<v?2:1:-1:1:ms<v?Px<v?kD<v?1:Pe<v?0:1:Dv<v?0:1:ny<v?1:$b<v?0:1:bc<v?tI<v?iy<v?By<v||em<v?1:0:Sf<v?_E<v?$v<v?1:0:-1:1:-1:R0<v?1:Pk<v?v3<v?zl<v?iD<v?1:0:CC<v?2:0:-1:1:Eh<v?X$<v?ig<v?xA<v?rp<v?Ed<v?1:gD<v?0:1:-1:m2<v?1:0:__<v?1:bn<v?0:1:nC<v?MR<v&&Lo<v?sf<v?1:0:1:nd<v?Wb<v?cg<v?1:0:Y2<v?1:0:T_<v?lp<v?1:0:wu<v?1:0:sw<v?Hx<v?i7<v?sb<v?ds<v?1:0:Fo<v?1:0:Tv<v?Rp<v?1:0:1:dv<v?af<v?1:xi<v?0:1:vh<v?0:1:_t<v?vM<v?1:Hp<v?lg<v?2:0:ep<v?1:0:Az<v||Lm<v?1:0:Km<v?ND<v?Nf<v?r7<v?sU<v?HE<v&&kC<v?Hg<v?1:0:-1:sh<v?1:0:AD<v||h2<v?1:0:Zg<v?Ch<v?s2<v?rx<v?2:0:hD<v?1:0:Ah<v?uh<v?1:0:q7<v?1:0:Md<v?bf<v?Ib<v?1:0:Ro<v?1:0:Yy<v?hg<v?1:0:$h<v?1:0:R3<v?f3<v?Of<v?Cv<v?ay<v?1:0:W9<v?1:2:nv<v?kf<v?0:1:TD<v?0:1:y_<v?Js<v?_v<v?0:1:WD<v?0:1:qb<v?ch<v?0:1:Ap<v?0:1:mE<v?Yj<v?ht<v?cU<v?2:1:Mb<v?0:1:1:_d<v?xb<v?1:G7<v?0:1:H7<v?j<v?0:1:D0<v?0:1:an<v?bE<v?Sg<v?SV<v||w_<v?1:Vp<v?0:1:Ry<v?nl<v?a3<v?0:1:Uf<v?0:1:Yv<v?0:1:kz<v?1:t3<v?$i<v?1:oc<v?0:1:d7<v?XD<v?0:1:pl<v?0:1:$e<v?Bi<v?Pu<v?j2<v?0:1:z3<v?Yb<v?1:0:d_<v?1:0:zb<v?nm<v?eD<v?1:0:B_<v?1:0:ug<v?T7<v?1:0:ah<v?2:0:Z7<v?J_<v?W1<v?Oy<v?2:0:Dd<v?2:0:M_<v?Z3<v?1:0:Yi<v?1:0:eb<v?qC<v?Rf<v?1:0:im<v?2:0:Np<v?Kc<v?2:0:ha<v?2:0:fr(DY1,v+1|0)-1|0;else a0=0;if(4<a0>>>0)var O1=Zx(m);else switch(a0){case 0:O1=2;break;case 2:O1=1;break;case 3:if(Qe(m,2),Tj(Rx(m))===0){var dx=UU(Rx(m));if(dx===0)O1=m6(Rx(m))===0&&m6(Rx(m))===0&&m6(Rx(m))===0?0:Zx(m);else if(dx===1&&m6(Rx(m))===0)for(;;){var ie=jU(Rx(m));if(ie!==0){O1=ie===1?0:Zx(m);break}}else O1=Zx(m)}else O1=Zx(m);break;default:O1=0}if(2<=O1){if(!(3<=O1))return CN(i,x,37)}else if(0<=O1)return i;return qp(dG1)},y20=function(i,x,n,m,L){var v=x+Nq(n)|0;return[0,p20(i,v,x+tG(n)|0),jz(n,m,(rG(n)-m|0)-L|0)]},D20=function(i,x){for(var n=Nq(i[2]),m=F10(x),L=sA(g(x)),v=i;;){vS(m);var a0=Rx(m);if(a0)var O1=a0[1],dx=92<O1?1:fr(nX1,O1+1|0)-1|0;else dx=0;if(2<dx>>>0)var ie=Zx(m);else switch(dx){case 0:ie=2;break;case 1:for(;;){Qe(m,3);var Ie=Rx(m);if(Ie)var Ot=Ie[1],Or=-1<Ot?91<Ot?92<Ot?0:-1:0:-1;else Or=-1;if(Or!==0){ie=Zx(m);break}}break;default:if(Qe(m,3),Tj(Rx(m))===0){var Cr=UU(Rx(m));if(Cr===0)ie=m6(Rx(m))===0&&m6(Rx(m))===0&&m6(Rx(m))===0?0:Zx(m);else if(Cr===1&&m6(Rx(m))===0)for(;;){var ni=jU(Rx(m));if(ni!==0){ie=ni===1?1:Zx(m);break}}else ie=Zx(m)}else ie=Zx(m)}if(3<ie>>>0)return qp(lG1);switch(ie){case 0:var Jn=y20(v,n,m,2,0),Vn=Jn[1],zn=Vx(F2(fG1,Jn[2])),Oi=Qa0(zn)?_20(v,Vn,zn):CN(v,Vn,37);wK(L,zn),v=Oi;continue;case 1:var xn=y20(v,n,m,3,1),vt=Vx(F2(pG1,xn[2])),Xt=_20(v,xn[1],vt);wK(L,vt),v=Xt;continue;case 2:return[0,v,Iw(L)];default:E8(L,Zf(m));continue}}},Ow=function(i,x,n){var m=TL(i,uA(i,x));return Mz(x),z(n,m,x)},jK=function(i,x,n){for(var m=i;;){vS(n);var L=Rx(n);if(L)var v=L[1],a0=-1<v?42<v?ik<v?0:me<v?1:0:fr(mY1,v)-1|0:-1;else a0=-1;if(3<a0>>>0)var O1=Zx(n);else switch(a0){case 0:for(;;){Qe(n,3);var dx=Rx(n);if(dx)var ie=dx[1],Ie=-1<ie?41<ie?42<ie?me<ie?ik<ie?0:-1:0:-1:fr(lX1,ie)-1|0:-1;else Ie=-1;if(Ie!==0){O1=Zx(n);break}}break;case 1:O1=0;break;case 2:Qe(n,0),O1=aB(Rx(n))===0?0:Zx(n);break;default:Qe(n,3);var Ot=Rx(n);if(Ot)var Or=Ot[1],Cr=44<Or?47<Or?-1:fr(nY1,Or+Fr|0)-1|0:-1;else Cr=-1;O1=Cr===0?l20(Rx(n))===0?2:Zx(n):Cr===1?1:Zx(n)}if(3<O1>>>0){var ni=TL(m,uA(m,n));return[0,ni,EI(ni,n)]}switch(O1){case 0:var Jn=SI(m,n);E8(x,Zf(n)),m=Jn;continue;case 1:var Vn=m[4]?Jt0(m,uA(m,n),cR1,uR1):m;return[0,Vn,EI(Vn,n)];case 2:if(m[4])return[0,m,EI(m,n)];E8(x,lR1);continue;default:E8(x,Zf(n));continue}}},Wz=function(i,x,n){for(;;){vS(n);var m=Rx(n);if(m)var L=m[1],v=13<L?ik<L?1:me<L?2:1:fr(TY1,L+1|0)-1|0;else v=0;if(3<v>>>0)var a0=Zx(n);else switch(v){case 0:a0=0;break;case 1:for(;;){Qe(n,2);var O1=Rx(n);if(O1)var dx=O1[1],ie=-1<dx?12<dx?13<dx?me<dx?ik<dx?0:-1:0:-1:fr(bG1,dx)-1|0:-1;else ie=-1;if(ie!==0){a0=Zx(n);break}}break;case 2:a0=1;break;default:Qe(n,1),a0=aB(Rx(n))===0?1:Zx(n)}if(2<a0>>>0)return qp(fR1);switch(a0){case 0:return[0,i,EI(i,n)];case 1:var Ie=EI(i,n),Ot=SI(i,n),Or=rG(n);return[0,Ot,[0,Ie[1],Ie[2]-Or|0]];default:E8(x,Zf(n));continue}}},v20=function(i,x){function n(vt){return Qe(vt,3),eP(Rx(vt))===0?2:Zx(vt)}vS(x);var m=Rx(x);if(m)var L=m[1],v=YO<L?ik<L?1:me<L?2:1:fr(vY1,L+1|0)-1|0;else v=0;if(14<v>>>0)var a0=Zx(x);else switch(v){case 1:a0=16;break;case 2:a0=15;break;case 3:Qe(x,15),a0=aB(Rx(x))===0?15:Zx(x);break;case 4:Qe(x,4),a0=eP(Rx(x))===0?n(x):Zx(x);break;case 5:Qe(x,11),a0=eP(Rx(x))===0?n(x):Zx(x);break;case 7:a0=5;break;case 8:a0=6;break;case 9:a0=7;break;case 10:a0=8;break;case 11:a0=9;break;case 12:Qe(x,14);var O1=UU(Rx(x));if(O1===0)a0=m6(Rx(x))===0&&m6(Rx(x))===0&&m6(Rx(x))===0?12:Zx(x);else if(O1===1&&m6(Rx(x))===0)for(;;){var dx=jU(Rx(x));if(dx!==0){a0=dx===1?13:Zx(x);break}}else a0=Zx(x);break;case 13:a0=10;break;case 14:Qe(x,14),a0=m6(Rx(x))===0&&m6(Rx(x))===0?1:Zx(x);break;default:a0=0}if(16<a0>>>0)return qp(YH1);switch(a0){case 1:var ie=Zf(x);return[0,i,ie,[0,Vx(F2(QH1,ie))],0];case 2:var Ie=Zf(x),Ot=Vx(F2(ZH1,Ie));return ru<=Ot?[0,i,Ie,[0,Ot>>>3|0,48+(7&Ot)|0],1]:[0,i,Ie,[0,Ot],1];case 3:var Or=Zf(x);return[0,i,Or,[0,Vx(F2(xG1,Or))],1];case 4:return[0,i,eG1,[0,0],0];case 5:return[0,i,tG1,[0,8],0];case 6:return[0,i,rG1,[0,12],0];case 7:return[0,i,nG1,[0,10],0];case 8:return[0,i,iG1,[0,13],0];case 9:return[0,i,aG1,[0,9],0];case 10:return[0,i,oG1,[0,11],0];case 11:var Cr=Zf(x);return[0,i,Cr,[0,Vx(F2(sG1,Cr))],1];case 12:var ni=Zf(x);return[0,i,ni,[0,Vx(F2(uG1,vI(ni,1,g(ni)-1|0)))],0];case 13:var Jn=Zf(x),Vn=Vx(F2(cG1,vI(Jn,2,g(Jn)-3|0)));return[0,gI<Vn?TL(i,uA(i,x)):i,Jn,[0,Vn],0];case 14:var zn=Zf(x),Oi=Iz(Za0,jo0(x));return[0,TL(i,uA(i,x)),zn,Oi,0];case 15:var xn=Zf(x);return[0,SI(i,x),xn,[0],0];default:return[0,i,Zf(x),Iz(Za0,jo0(x)),0]}},b20=function(i,x,n,m,L,v){for(var a0=i,O1=L;;){vS(v);var dx=Rx(v);if(dx)var ie=dx[1],Ie=92<ie?1:fr(rX1,ie+1|0)-1|0;else Ie=0;if(4<Ie>>>0)var Ot=Zx(v);else switch(Ie){case 0:Ot=3;break;case 1:for(;;){Qe(v,4);var Or=Rx(v);if(Or)var Cr=Or[1],ni=-1<Cr?91<Cr?92<Cr?0:-1:fr(wG1,Cr)-1|0:-1;else ni=-1;if(ni!==0){Ot=Zx(v);break}}break;case 2:Ot=2;break;case 3:Ot=0;break;default:Ot=1}if(4<Ot>>>0)return qp(pR1);switch(Ot){case 0:var Jn=Zf(v);if(E8(m,Jn),Da(x,Jn))return[0,a0,EI(a0,v),O1];E8(n,Jn);continue;case 1:E8(m,dR1);var Vn=v20(a0,v),zn=Vn[4]||O1;E8(m,Vn[2]),so0(function(Ke){return wK(n,Ke)},Vn[3]),a0=Vn[1],O1=zn;continue;case 2:var Oi=Zf(v);E8(m,Oi);var xn=SI(TL(a0,uA(a0,v)),v);return E8(n,Oi),[0,xn,EI(xn,v),O1];case 3:var vt=Zf(v);E8(m,vt);var Xt=TL(a0,uA(a0,v));return E8(n,vt),[0,Xt,EI(Xt,v),O1];default:var Me=Zf(v);E8(m,Me),E8(n,Me);continue}}},C20=function(i,x,n,m,L){for(var v=i;;){vS(L);var a0=Rx(L);if(a0)var O1=a0[1],dx=96<O1?1:fr(jY1,O1+1|0)-1|0;else dx=0;if(6<dx>>>0)var ie=Zx(L);else switch(dx){case 0:ie=0;break;case 1:for(;;){Qe(L,6);var Ie=Rx(L);if(Ie)var Ot=Ie[1],Or=-1<Ot?95<Ot?96<Ot?0:-1:fr(TG1,Ot)-1|0:-1;else Or=-1;if(Or!==0){ie=Zx(L);break}}break;case 2:ie=5;break;case 3:Qe(L,5),ie=aB(Rx(L))===0?4:Zx(L);break;case 4:Qe(L,6);var Cr=Rx(L);if(Cr)var ni=Cr[1],Jn=$u<ni?QP<ni?-1:0:-1;else Jn=-1;ie=Jn===0?2:Zx(L);break;case 5:ie=3;break;default:ie=1}if(6<ie>>>0)return qp(mR1);switch(ie){case 0:return[0,TL(v,uA(v,L)),1];case 1:return o9(m,96),[0,v,1];case 2:return E8(m,hR1),[0,v,0];case 3:o9(n,92),o9(m,92);var Vn=v20(v,L),zn=Vn[2];E8(n,zn),E8(m,zn),so0(function(vt){return wK(x,vt)},Vn[3]),v=Vn[1];continue;case 4:E8(n,gR1),E8(m,_R1),E8(x,yR1),v=SI(v,L);continue;case 5:var Oi=Zf(L);E8(n,Oi),E8(m,Oi),o9(x,10),v=SI(v,L);continue;default:var xn=Zf(L);E8(n,xn),E8(m,xn),E8(x,xn);continue}}},Ht0=function(i,x,n,m,L){for(var v=i;;){var a0=function(w4){for(;;)if(Qe(w4,6),Jd0(Rx(w4))!==0)return Zx(w4)};vS(L);var O1=Rx(L);if(O1)var dx=O1[1],ie=Ho<dx?ik<dx?1:me<dx?2:1:fr(kG1,dx+1|0)-1|0;else ie=0;if(6<ie>>>0)var Ie=Zx(L);else switch(ie){case 0:Ie=1;break;case 1:Ie=a0(L);break;case 2:Ie=2;break;case 3:Qe(L,2),Ie=aB(Rx(L))===0?2:Zx(L);break;case 4:Ie=0;break;case 5:Qe(L,6);var Ot=Rx(L);if(Ot)var Or=Ot[1],Cr=34<Or?$u<Or?-1:fr(aX1,Or-35|0)-1|0:-1;else Cr=-1;if(Cr===0){var ni=Rx(L);if(ni)var Jn=ni[1],Vn=47<Jn?YO<Jn?-1:fr(pX1,Jn+VC|0)-1|0:-1;else Vn=-1;if(Vn===0)for(;;){var zn=Rx(L);if(zn)var Oi=zn[1],xn=47<Oi?59<Oi?-1:fr(OG1,Oi+VC|0)-1|0:-1;else xn=-1;if(xn!==0){Ie=xn===1?4:Zx(L);break}}else if(Vn===1&&m6(Rx(L))===0)for(;;){var vt=Rx(L);if(vt)var Xt=vt[1],Me=47<Xt?F4<Xt?-1:fr(cX1,Xt+VC|0)-1|0:-1;else Me=-1;if(Me!==0){Ie=Me===1?3:Zx(L);break}}else Ie=Zx(L)}else if(Cr===1&&V6(Rx(L))===0){var Ke=$z(Rx(L));if(Ke===0){var ct=$z(Rx(L));if(ct===0){var sr=$z(Rx(L));if(sr===0){var kr=$z(Rx(L));if(kr===0){var wn=$z(Rx(L));if(wn===0){var In=$z(Rx(L));if(In===0){var Tn=Rx(L);if(Tn)var ix=Tn[1],Nr=58<ix?59<ix?-1:0:-1;else Nr=-1;Ie=Nr===0?5:Zx(L)}else Ie=In===1?5:Zx(L)}else Ie=wn===1?5:Zx(L)}else Ie=kr===1?5:Zx(L)}else Ie=sr===1?5:Zx(L)}else Ie=ct===1?5:Zx(L)}else Ie=Ke===1?5:Zx(L)}else Ie=Zx(L);break;default:Qe(L,0),Ie=Jd0(Rx(L))===0?a0(L):Zx(L)}if(6<Ie>>>0)return qp(AR1);switch(Ie){case 0:var Mx=Zf(L),ko=0;switch(x){case 0:rt(Mx,TR1)||(ko=1);break;case 1:rt(Mx,wR1)||(ko=1);break;default:var iu=0;if(rt(Mx,kR1)){if(!rt(Mx,NR1))return Jt0(v,uA(v,L),MR1,LR1);if(rt(Mx,PR1)){if(!rt(Mx,IR1))return Jt0(v,uA(v,L),BR1,OR1);iu=1}}if(!iu)return Mz(L),v}if(ko)return v;E8(m,Mx),E8(n,Mx);continue;case 1:return TL(v,uA(v,L));case 2:var Mi=Zf(L);E8(m,Mi),E8(n,Mi),v=SI(v,L);continue;case 3:var Bc=Zf(L),ku=vI(Bc,3,g(Bc)-4|0);E8(m,Bc),wK(n,Vx(F2(RR1,ku)));continue;case 4:var Kx=Zf(L),ic=vI(Kx,2,g(Kx)-3|0);E8(m,Kx),wK(n,Vx(ic));continue;case 5:var Br=Zf(L),Dt=vI(Br,1,g(Br)-2|0);E8(m,Br);var Li=S2(Dt,jR1),Dl=0;if(0<=Li)if(0<Li){var du=S2(Dt,bK1),is=0;if(0<=du)if(0<du){var Fu=S2(Dt,VW1),Qt=0;if(0<=Fu)if(0<Fu){var Rn=S2(Dt,Xq1),ca=0;if(0<=Rn)if(0<Rn){var Pr=S2(Dt,AJ1),On=0;if(0<=Pr)if(0<Pr)if(rt(Dt,$J1))if(rt(Dt,KJ1))if(rt(Dt,zJ1))if(rt(Dt,WJ1))if(rt(Dt,qJ1))if(rt(Dt,JJ1))is=1,Qt=1,ca=1,On=1;else var mn=HJ1;else mn=GJ1;else mn=XJ1;else mn=YJ1;else mn=QJ1;else mn=ZJ1;else mn=xH1;else rt(Dt,TJ1)?rt(Dt,wJ1)?rt(Dt,kJ1)?rt(Dt,NJ1)?rt(Dt,PJ1)?rt(Dt,IJ1)?rt(Dt,OJ1)?(is=1,Qt=1,ca=1,On=1):mn=BJ1:mn=LJ1:mn=MJ1:mn=RJ1:mn=jJ1:mn=UJ1:mn=VJ1;if(!On)var He=mn}else He=eH1;else{var At=S2(Dt,Yq1),tr=0;if(0<=At)if(0<At)if(rt(Dt,fJ1))if(rt(Dt,pJ1))if(rt(Dt,dJ1))if(rt(Dt,mJ1))if(rt(Dt,hJ1))if(rt(Dt,gJ1))if(rt(Dt,_J1))is=1,Qt=1,ca=1,tr=1;else var Rr=yJ1;else Rr=DJ1;else Rr=vJ1;else Rr=bJ1;else Rr=CJ1;else Rr=EJ1;else Rr=SJ1;else Rr=FJ1;else rt(Dt,Qq1)?rt(Dt,Zq1)?rt(Dt,xJ1)?rt(Dt,eJ1)?rt(Dt,tJ1)?rt(Dt,rJ1)?rt(Dt,nJ1)?(is=1,Qt=1,ca=1,tr=1):Rr=iJ1:Rr=aJ1:Rr=oJ1:Rr=sJ1:Rr=uJ1:Rr=cJ1:Rr=lJ1;tr||(He=Rr)}if(!ca)var $n=He}else $n=tH1;else{var $r=S2(Dt,$W1),Ga=0;if(0<=$r)if(0<$r){var Xa=S2(Dt,yq1),ls=0;if(0<=Xa)if(0<Xa)if(rt(Dt,Oq1))if(rt(Dt,Bq1))if(rt(Dt,Lq1))if(rt(Dt,Mq1))if(rt(Dt,Rq1))if(rt(Dt,jq1))if(rt(Dt,Uq1))is=1,Qt=1,Ga=1,ls=1;else var Es=Vq1;else Es=$q1;else Es=Kq1;else Es=zq1;else Es=Wq1;else Es=qq1;else Es=Jq1;else Es=Hq1;else rt(Dt,Dq1)?rt(Dt,vq1)?rt(Dt,bq1)?rt(Dt,Cq1)?rt(Dt,Eq1)?rt(Dt,Sq1)?rt(Dt,Fq1)?(is=1,Qt=1,Ga=1,ls=1):Es=Aq1:Es=Tq1:Es=wq1:Es=kq1:Es=Nq1:Es=Pq1:Es=Iq1;if(!ls)var Fe=Es}else Fe=Gq1;else{var Lt=S2(Dt,KW1),ln=0;if(0<=Lt)if(0<Lt)if(rt(Dt,nq1))if(rt(Dt,iq1))if(rt(Dt,aq1))if(rt(Dt,oq1))if(rt(Dt,sq1))if(rt(Dt,uq1))if(rt(Dt,cq1))is=1,Qt=1,Ga=1,ln=1;else var tn=lq1;else tn=fq1;else tn=pq1;else tn=dq1;else tn=mq1;else tn=hq1;else tn=gq1;else tn=_q1;else rt(Dt,zW1)?rt(Dt,WW1)?rt(Dt,qW1)?rt(Dt,JW1)?rt(Dt,HW1)?rt(Dt,GW1)?rt(Dt,XW1)?(is=1,Qt=1,Ga=1,ln=1):tn=YW1:tn=QW1:tn=ZW1:tn=xq1:tn=eq1:tn=tq1:tn=rq1;ln||(Fe=tn)}Ga||($n=Fe)}if(!Qt)var Ri=$n}else Ri=rH1;else{var Ji=S2(Dt,CK1),Na=0;if(0<=Ji)if(0<Ji){var Do=S2(Dt,Pz1),No=0;if(0<=Do)if(0<Do){var tu=S2(Dt,uW1),Vs=0;if(0<=tu)if(0<tu)if(rt(Dt,EW1))if(rt(Dt,SW1))if(rt(Dt,FW1))if(rt(Dt,AW1))if(rt(Dt,TW1))if(rt(Dt,wW1))if(rt(Dt,kW1))is=1,Na=1,No=1,Vs=1;else var As=NW1;else As=PW1;else As=IW1;else As=OW1;else As=BW1;else As=LW1;else As=MW1;else As=RW1;else rt(Dt,cW1)?rt(Dt,lW1)?rt(Dt,fW1)?rt(Dt,pW1)?rt(Dt,dW1)?rt(Dt,mW1)?rt(Dt,hW1)?(is=1,Na=1,No=1,Vs=1):As=gW1:As=_W1:As=yW1:As=DW1:As=vW1:As=bW1:As=CW1;if(!Vs)var vu=As}else vu=jW1;else{var Wu=S2(Dt,Iz1),L1=0;if(0<=Wu)if(0<Wu)if(rt(Dt,Hz1))if(rt(Dt,Gz1))if(rt(Dt,Xz1))if(rt(Dt,Yz1))if(rt(Dt,Qz1))if(rt(Dt,Zz1))if(rt(Dt,xW1))is=1,Na=1,No=1,L1=1;else var hu=eW1;else hu=tW1;else hu=rW1;else hu=nW1;else hu=iW1;else hu=aW1;else hu=oW1;else hu=sW1;else rt(Dt,Oz1)?rt(Dt,Bz1)?rt(Dt,Lz1)?rt(Dt,Mz1)?rt(Dt,Rz1)?rt(Dt,jz1)?rt(Dt,Uz1)?(is=1,Na=1,No=1,L1=1):hu=Vz1:hu=$z1:hu=Kz1:hu=zz1:hu=Wz1:hu=qz1:hu=Jz1;L1||(vu=hu)}if(!No)var Qu=vu}else Qu=UW1;else{var pc=S2(Dt,EK1),il=0;if(0<=pc)if(0<pc){var Zu=S2(Dt,ez1),fu=0;if(0<=Zu)if(0<Zu)if(rt(Dt,hz1))if(rt(Dt,gz1))if(rt(Dt,_z1))if(rt(Dt,yz1))if(rt(Dt,Dz1))if(rt(Dt,vz1))if(rt(Dt,bz1))is=1,Na=1,il=1,fu=1;else var vl=Cz1;else vl=Ez1;else vl=Sz1;else vl=Fz1;else vl=Az1;else vl=Tz1;else vl=wz1;else vl=kz1;else rt(Dt,tz1)?rt(Dt,rz1)?rt(Dt,nz1)?rt(Dt,iz1)?rt(Dt,az1)?rt(Dt,oz1)?rt(Dt,sz1)?(is=1,Na=1,il=1,fu=1):vl=uz1:vl=cz1:vl=lz1:vl=fz1:vl=pz1:vl=dz1:vl=mz1;if(!fu)var id=vl}else id=Nz1;else{var _f=S2(Dt,SK1),sm=0;if(0<=_f)if(0<_f)if(rt(Dt,UK1))if(rt(Dt,VK1))if(rt(Dt,$K1))if(rt(Dt,KK1))if(rt(Dt,zK1))if(rt(Dt,WK1))if(rt(Dt,qK1))is=1,Na=1,il=1,sm=1;else var Pd=JK1;else Pd=HK1;else Pd=GK1;else Pd=XK1;else Pd=YK1;else Pd=QK1;else Pd=ZK1;else Pd=xz1;else rt(Dt,FK1)?rt(Dt,AK1)?rt(Dt,TK1)?rt(Dt,wK1)?rt(Dt,kK1)?rt(Dt,NK1)?rt(Dt,PK1)?(is=1,Na=1,il=1,sm=1):Pd=IK1:Pd=OK1:Pd=BK1:Pd=LK1:Pd=MK1:Pd=RK1:Pd=jK1;sm||(id=Pd)}il||(Qu=id)}Na||(Ri=Qu)}if(!is){var tc=Ri;Dl=1}}else tc=nH1,Dl=1;else{var YC=S2(Dt,UR1),km=0;if(0<=YC)if(0<YC){var lC=S2(Dt,iV1),A2=0;if(0<=lC)if(0<lC){var s_=S2(Dt,d$1),Db=0;if(0<=s_)if(0<s_){var o3=S2(Dt,W$1),l6=0;if(0<=o3)if(0<o3)if(rt(Dt,aK1))if(rt(Dt,oK1))if(rt(Dt,sK1))if(rt(Dt,uK1))if(rt(Dt,cK1))if(rt(Dt,lK1))km=1,A2=1,Db=1,l6=1;else var fC=fK1;else fC=pK1;else fC=dK1;else fC=mK1;else fC=hK1;else fC=gK1;else fC=_K1;else rt(Dt,q$1)?rt(Dt,J$1)?rt(Dt,H$1)?rt(Dt,G$1)?rt(Dt,X$1)?rt(Dt,Y$1)?rt(Dt,Q$1)?(km=1,A2=1,Db=1,l6=1):fC=Z$1:fC=xK1:fC=eK1:fC=tK1:fC=rK1:fC=nK1:fC=iK1;if(!l6)var uS=fC}else uS=yK1;else{var P8=S2(Dt,m$1),s8=0;if(0<=P8)if(0<P8)if(rt(Dt,k$1))if(rt(Dt,N$1))if(rt(Dt,P$1))if(rt(Dt,I$1))if(rt(Dt,O$1))if(rt(Dt,B$1))if(rt(Dt,L$1))km=1,A2=1,Db=1,s8=1;else var z8=M$1;else z8=R$1;else z8=j$1;else z8=U$1;else z8=V$1;else z8=$$1;else z8=K$1;else z8=z$1;else rt(Dt,h$1)?rt(Dt,g$1)?rt(Dt,_$1)?rt(Dt,y$1)?rt(Dt,D$1)?rt(Dt,v$1)?rt(Dt,b$1)?(km=1,A2=1,Db=1,s8=1):z8=C$1:z8=E$1:z8=S$1:z8=F$1:z8=A$1:z8=T$1:z8=w$1;s8||(uS=z8)}if(!Db)var XT=uS}else XT=DK1;else{var OT=S2(Dt,aV1),r0=0;if(0<=OT)if(0<OT){var _T=S2(Dt,MV1),BT=0;if(0<=_T)if(0<_T)if(rt(Dt,QV1))if(rt(Dt,ZV1))if(rt(Dt,x$1))if(rt(Dt,e$1))if(rt(Dt,t$1))if(rt(Dt,r$1))if(rt(Dt,n$1))km=1,A2=1,r0=1,BT=1;else var IS=i$1;else IS=a$1;else IS=o$1;else IS=s$1;else IS=u$1;else IS=c$1;else IS=l$1;else IS=f$1;else rt(Dt,RV1)?rt(Dt,jV1)?rt(Dt,UV1)?rt(Dt,VV1)?rt(Dt,$V1)?rt(Dt,KV1)?rt(Dt,zV1)?(km=1,A2=1,r0=1,BT=1):IS=WV1:IS=qV1:IS=JV1:IS=HV1:IS=GV1:IS=XV1:IS=YV1;if(!BT)var I5=IS}else I5=p$1;else{var LT=S2(Dt,oV1),yT=0;if(0<=LT)if(0<LT)if(rt(Dt,bV1))if(rt(Dt,CV1))if(rt(Dt,EV1))if(rt(Dt,SV1))if(rt(Dt,FV1))if(rt(Dt,AV1))if(rt(Dt,TV1))km=1,A2=1,r0=1,yT=1;else var sx=wV1;else sx=kV1;else sx=NV1;else sx=PV1;else sx=IV1;else sx=OV1;else sx=BV1;else sx=LV1;else rt(Dt,sV1)?rt(Dt,uV1)?rt(Dt,cV1)?rt(Dt,lV1)?rt(Dt,fV1)?rt(Dt,pV1)?rt(Dt,dV1)?(km=1,A2=1,r0=1,yT=1):sx=mV1:sx=hV1:sx=gV1:sx=_V1:sx=yV1:sx=DV1:sx=vV1;yT||(I5=sx)}r0||(XT=I5)}if(!A2)var XA=XT}else XA=vK1;else{var O5=S2(Dt,VR1),OA=0;if(0<=O5)if(0<O5){var YA=S2(Dt,Xj1),a4=0;if(0<=YA)if(0<YA){var c9=S2(Dt,AU1),Lw=0;if(0<=c9)if(0<c9)if(rt(Dt,$U1))if(rt(Dt,KU1))if(rt(Dt,zU1))if(rt(Dt,WU1))if(rt(Dt,qU1))if(rt(Dt,JU1))if(rt(Dt,HU1))km=1,OA=1,a4=1,Lw=1;else var bS=GU1;else bS=XU1;else bS=YU1;else bS=QU1;else bS=ZU1;else bS=xV1;else bS=eV1;else bS=tV1;else rt(Dt,TU1)?rt(Dt,wU1)?rt(Dt,kU1)?rt(Dt,NU1)?rt(Dt,PU1)?rt(Dt,IU1)?rt(Dt,OU1)?(km=1,OA=1,a4=1,Lw=1):bS=BU1:bS=LU1:bS=MU1:bS=RU1:bS=jU1:bS=UU1:bS=VU1;if(!Lw)var n0=bS}else n0=rV1;else{var G5=S2(Dt,Yj1),K4=0;if(0<=G5)if(0<G5)if(rt(Dt,fU1))if(rt(Dt,pU1))if(rt(Dt,dU1))if(rt(Dt,mU1))if(rt(Dt,hU1))if(rt(Dt,gU1))if(rt(Dt,_U1))km=1,OA=1,a4=1,K4=1;else var ox=yU1;else ox=DU1;else ox=vU1;else ox=bU1;else ox=CU1;else ox=EU1;else ox=SU1;else ox=FU1;else rt(Dt,Qj1)?rt(Dt,Zj1)?rt(Dt,xU1)?rt(Dt,eU1)?rt(Dt,tU1)?rt(Dt,rU1)?rt(Dt,nU1)?(km=1,OA=1,a4=1,K4=1):ox=iU1:ox=aU1:ox=oU1:ox=sU1:ox=uU1:ox=cU1:ox=lU1;K4||(n0=ox)}if(!a4)var BA=n0}else BA=nV1;else{var h6=S2(Dt,$R1),cA=0;if(0<=h6)if(0<h6){var QA=S2(Dt,yj1),YT=0;if(0<=QA)if(0<QA)if(rt(Dt,Oj1))if(rt(Dt,Bj1))if(rt(Dt,Lj1))if(rt(Dt,Mj1))if(rt(Dt,Rj1))if(rt(Dt,jj1))if(rt(Dt,Uj1))km=1,OA=1,cA=1,YT=1;else var z4=Vj1;else z4=$j1;else z4=Kj1;else z4=zj1;else z4=Wj1;else z4=qj1;else z4=Jj1;else z4=Hj1;else rt(Dt,Dj1)?rt(Dt,vj1)?rt(Dt,bj1)?rt(Dt,Cj1)?rt(Dt,Ej1)?rt(Dt,Sj1)?rt(Dt,Fj1)?(km=1,OA=1,cA=1,YT=1):z4=Aj1:z4=Tj1:z4=wj1:z4=kj1:z4=Nj1:z4=Pj1:z4=Ij1;if(!YT)var Fk=z4}else Fk=Gj1;else{var pk=S2(Dt,KR1),Ak=0;if(0<=pk)if(0<pk)if(rt(Dt,nj1))if(rt(Dt,ij1))if(rt(Dt,aj1))if(rt(Dt,oj1))if(rt(Dt,sj1))if(rt(Dt,uj1))if(rt(Dt,cj1))km=1,OA=1,cA=1,Ak=1;else var ZA=lj1;else ZA=fj1;else ZA=pj1;else ZA=dj1;else ZA=mj1;else ZA=hj1;else ZA=gj1;else ZA=_j1;else rt(Dt,zR1)?rt(Dt,WR1)?rt(Dt,qR1)?rt(Dt,JR1)?rt(Dt,HR1)?rt(Dt,GR1)?rt(Dt,XR1)?(km=1,OA=1,cA=1,Ak=1):ZA=YR1:ZA=QR1:ZA=ZR1:ZA=xj1:ZA=ej1:ZA=tj1:ZA=rj1;Ak||(Fk=ZA)}cA||(BA=Fk)}OA||(XA=BA)}km||(tc=XA,Dl=1)}var Q9=Dl?tc:0;Q9?wK(n,Q9[1]):E8(n,F2(aH1,F2(Dt,iH1)));continue;default:var Hk=Zf(L);E8(m,Hk),E8(n,Hk);continue}}},Gq=function(i){return function(x){for(var n=0,m=x;;){var L=z(i,m,m[2]);switch(L[0]){case 0:var v=L[2],a0=L[1],O1=d20(a0,v),dx=[0,a0[1],a0[2],a0[3],a0[4],a0[5],a0[6],O1];return m20([0,dx,v,O1,yd(n)]);case 1:var ie=L[2],Ie=L[1];n=[0,ie,n],m=[0,Ie[1],Ie[2],Ie[3],Ie[4],Ie[5],Ie[6],ie[1]];continue;default:m=L[1];continue}}}},T2x=Gq(function(i,x){vS(x);var n=Rx(x);if(n)var m=n[1],L=R4<m?KN<m?HN<m?cN<m?1:2:RN<m?1:2:kA<m?b9<m?h0<m?1:2:gP<m?1:2:me<m?ik<m?1:3:xI<m?1:2:fr(AY1,m+1|0)-1|0;else L=0;if(5<L>>>0)var v=Zx(x);else switch(L){case 0:v=0;break;case 1:v=6;break;case 2:if(Qe(x,2),Ej(Rx(x))===0){for(;;)if(Qe(x,2),Ej(Rx(x))!==0){v=Zx(x);break}}else v=Zx(x);break;case 3:v=1;break;case 4:Qe(x,1),v=aB(Rx(x))===0?1:Zx(x);break;default:Qe(x,5);var a0=LY(Rx(x));v=a0===0?4:a0===1?3:Zx(x)}if(6<v>>>0)return qp(NH1);switch(v){case 0:return[0,i,ef];case 1:return[2,SI(i,x)];case 2:return[2,i];case 3:var O1=bN(i,x),dx=sA(sS),ie=Wz(i,dx,x),Ie=ie[1];return[1,Ie,wL(Ie,O1,ie[2],dx,0)];case 4:var Ot=bN(i,x),Or=sA(sS),Cr=jK(i,Or,x),ni=Cr[1];return[1,ni,wL(ni,Ot,Cr[2],Or,1)];case 5:var Jn=bN(i,x),Vn=sA(sS),zn=i;x:for(;;){vS(x);var Oi=Rx(x);if(Oi)var xn=Oi[1],vt=92<xn?ik<xn?1:me<xn?2:1:fr(iX1,xn+1|0)-1|0;else vt=0;if(6<vt>>>0)var Xt=Zx(x);else switch(vt){case 0:Xt=0;break;case 1:for(;;){Qe(x,7);var Me=Rx(x);if(Me)var Ke=Me[1],ct=-1<Ke?90<Ke?92<Ke?me<Ke?ik<Ke?0:-1:0:-1:fr(lY1,Ke)-1|0:-1;else ct=-1;if(ct!==0){Xt=Zx(x);break}}break;case 2:Xt=6;break;case 3:Qe(x,6),Xt=aB(Rx(x))===0?6:Zx(x);break;case 4:if(Qe(x,4),Wd0(Rx(x))===0){for(;;)if(Qe(x,3),Wd0(Rx(x))!==0){Xt=Zx(x);break}}else Xt=Zx(x);break;case 5:Xt=5;break;default:Qe(x,7);var sr=Rx(x);if(sr)var kr=sr[1],wn=-1<kr?13<kr?ik<kr?0:me<kr?1:0:fr(CY1,kr)-1|0:-1;else wn=-1;if(2<wn>>>0)Xt=Zx(x);else switch(wn){case 0:Xt=2;break;case 1:Xt=1;break;default:Qe(x,1),Xt=aB(Rx(x))===0?1:Zx(x)}}if(7<Xt>>>0)var In=qp(bR1);else switch(Xt){case 0:In=[0,CN(zn,uA(zn,x),25),CR1];break;case 1:In=[0,SI(CN(zn,uA(zn,x),25),x),ER1];break;case 3:var Tn=Zf(x);In=[0,zn,vI(Tn,1,g(Tn)-1|0)];break;case 4:In=[0,zn,SR1];break;case 5:for(o9(Vn,91);;){vS(x);var ix=Rx(x);if(ix)var Nr=ix[1],Mx=93<Nr?1:fr(EY1,Nr+1|0)-1|0;else Mx=0;if(3<Mx>>>0)var ko=Zx(x);else switch(Mx){case 0:ko=0;break;case 1:for(;;){Qe(x,4);var iu=Rx(x);if(iu)var Mi=iu[1],Bc=-1<Mi?91<Mi?93<Mi?0:-1:0:-1;else Bc=-1;if(Bc!==0){ko=Zx(x);break}}break;case 2:Qe(x,4);var ku=Rx(x);if(ku)var Kx=ku[1],ic=91<Kx?93<Kx?-1:fr(Ic,Kx-92|0)-1|0:-1;else ic=-1;ko=ic===0?1:ic===1?2:Zx(x);break;default:ko=3}if(4<ko>>>0)var Br=qp(DR1);else switch(ko){case 0:Br=zn;break;case 1:E8(Vn,vR1);continue;case 2:o9(Vn,92),o9(Vn,93);continue;case 3:o9(Vn,93),Br=zn;break;default:E8(Vn,Zf(x));continue}zn=Br;continue x}case 6:In=[0,SI(CN(zn,uA(zn,x),25),x),FR1];break;default:E8(Vn,Zf(x));continue}var Dt=In[1],Li=EI(Dt,x),Dl=[0,Dt[1],Jn,Li],du=In[2];return[0,Dt,[5,[0,Dl,Iw(Vn),du]]]}default:return[0,TL(i,uA(i,x)),[6,Zf(x)]]}}),w2x=Gq(function(i,x){function n(ix,Nr){for(;;){Qe(Nr,12);var Mx=Hd0(Rx(Nr));if(Mx!==0)return Mx===1?ix<50?m(ix+1|0,Nr):dn(m,[0,Nr]):Zx(Nr)}}function m(ix,Nr){if(Tj(Rx(Nr))===0){var Mx=UU(Rx(Nr));if(Mx===0)return m6(Rx(Nr))===0&&m6(Rx(Nr))===0&&m6(Rx(Nr))===0?ix<50?n(ix+1|0,Nr):dn(n,[0,Nr]):Zx(Nr);if(Mx===1){if(m6(Rx(Nr))===0)for(;;){var ko=jU(Rx(Nr));if(ko!==0)return ko===1?ix<50?n(ix+1|0,Nr):dn(n,[0,Nr]):Zx(Nr)}return Zx(Nr)}return Zx(Nr)}return Zx(Nr)}function L(ix){return Wt(n(0,ix))}vS(x);var v=Rx(x);if(v)var a0=v[1],O1=R4<a0?uy<a0?-1:jd<a0?V7<a0?$_<a0?up<a0?A_<a0?a7<a0?1:6:A7<a0?1:6:Cm<a0?O2<a0?Xf<a0?N2<a0?1:6:e<a0?1:6:Sd<a0?_D<a0?1:6:ob<a0?1:6:mg<a0?qt<a0?Xy<a0?1:6:d2<a0?1:6:Pp<a0?pv<a0?1:6:Bt<a0?1:6:Ac<a0?jl<a0?Ov<a0?_3<a0?Am<a0?1:6:Fc<a0?1:6:Hb<a0?Zo<a0?1:6:vd<a0?1:6:sn<a0?aC<a0?G3<a0?1:6:Gt<a0?1:6:op<a0?yy<a0?1:6:Gv<a0?1:6:P7<a0?w1<a0?Jv<a0?_e<a0?1:6:Zl<a0?1:6:bv<a0?Ld<a0?1:6:np<a0?1:6:ih<a0?Rg<a0?m7<a0?1:6:Yp<a0?1:6:Xl<a0?gg<a0?1:6:Kh<a0?1:6:b_<a0?fl<a0?Ih<a0?iv<a0?Dp<a0?Pb<a0?Jb<a0?dp<a0?1:6:oD<a0?1:6:Zp<a0?I_<a0?1:6:jv<a0?1:6:dd<a0?V3<a0?hv<a0?1:6:bD<a0?1:6:Ym<a0?Us<a0?1:6:oh<a0?1:6:Qw<a0?Nh<a0?p7<a0?gv<a0?1:6:Gy<a0?1:6:Iv<a0?Mu<a0?1:6:OD<a0?1:6:_l<a0?Va<a0?Xb<a0?1:6:Ox<a0?1:6:wp<a0?j6<a0?1:6:ky<a0?1:6:Xm<a0?Fm<a0?r3<a0?NV<a0?pD<a0?1:6:MD<a0?1:6:Kp<a0?v2<a0?1:6:ka<a0?1:6:k7<a0?ff<a0?Tb<a0?1:6:Wx<a0?1:6:l0<a0?b3<a0?1:6:c7<a0?1:6:ld<a0?mD<a0?v1<a0?Cg<a0?1:6:Mt<a0?1:6:l7<a0?zf<a0?1:6:eu<a0?1:6:zp<a0?tt<a0?Pm<a0?1:6:Mv<a0?1:6:Yd<a0?$3<a0?1:6:P3<a0?1:6:bt<a0?Ph<a0?B7<a0?j_<a0?uD<a0?I7<a0?1:6:YD<a0?1:6:n3<a0?al<a0?1:6:qx<a0?1:6:dm<a0?N1<a0?O_<a0?1:6:Cc<a0?1:6:Ad<a0?pd<a0?1:6:d3<a0?1:6:Ud<a0?lb<a0?bp<a0?Nl<a0?1:6:b0<a0?1:6:dg<a0?M3<a0?1:6:dh<a0?1:6:K_<a0?ec<a0?P_<a0?1:6:rc<a0?1:6:Xh<a0?fv<a0?1:6:N0<a0?1:6:Cy<a0?nD<a0?co<a0?Hv<a0?vv<a0?1:6:xh<a0?1:6:ag<a0?H3<a0?1:6:E1<a0?1:6:Pa<a0?ex<a0?qy<a0?1:6:LD<a0?1:6:wD<a0?ED<a0?1:6:Za<a0?1:6:xv<a0?Ey<a0?L_<a0?h3<a0?1:6:hh<a0?1:6:th<a0?w7<a0?1:6:sD<a0?1:6:ae<a0?H2<a0?eh<a0?1:6:Jy<a0?1:6:i_<a0?cc<a0?1:6:Tg<a0?1:6:Bd<a0?L7<a0?Hd<a0?O<a0?tv<a0?Ku<a0?wl<a0?1:6:s7<a0?1:6:Kg<a0?nb<a0?1:6:XB<a0?1:6:T3<a0?Gr<a0?Uc<a0?1:6:X_<a0?1:6:dy<a0?Un<a0?1:6:p2<a0?1:6:vD<a0?Qd<a0?Jh<a0?kv<a0?1:6:e7<a0?1:6:b2<a0?yv<a0?1:6:u7<a0?1:6:UI<a0?bg<a0?BD<a0?1:6:Gc<a0?1:6:uv<a0?PR<a0?1:6:Jr<a0?1:6:_y<a0?rD<a0?_9<a0?C7<a0?wh<a0?1:6:U3<a0?1:6:C0<a0?Yo<a0?1:6:tm<a0?1:6:ph<a0?uc<a0?G0<a0?1:6:S0<a0?1:6:Ko<a0?kg<a0?1:6:Cl<a0?1:6:V9<a0?Bp<a0?GD<a0?FD<a0?1:6:_u<a0?1:6:g7<a0?Xp<a0?1:6:Sa<a0?1:6:RB<a0?Y3<a0?Fd<a0?1:6:ut<a0?1:6:cL<a0?rs<a0?1:6:Pc<a0?1:6:JL<a0?wy<a0?Uv<a0?zm<a0?mb<a0?_g<a0?1:6:sy<a0?1:6:Ju<a0?oM<a0?1:6:Em<a0?1:6:Mg<a0?If<a0?_c<a0?1:6:wT<a0?1:6:Ub<a0?D7<a0?1:6:e3<a0?1:6:ib<a0?qD<a0?v7<a0?cv<a0?1:6:KR<a0?1:6:ri<a0?mf<a0?1:6:Wg<a0?1:6:o2<a0?C2<a0?Nc<a0?1:6:UN<a0?1:6:y7<a0?cb<a0?1:6:Tt<a0?1:6:Iu<a0?Z2<a0?LV<a0?Mm<a0?s5<a0?1:6:Gh<a0?1:6:_m<a0?lv<a0?1:6:H_<a0?1:6:my<a0?Ne<a0?py<a0?1:6:qv<a0?1:6:R9<a0?hI<a0?1:6:yo<a0?1:6:xf<a0?ym<a0?ws<a0?f7<a0?1:6:xl<a0?1:6:za<a0?n_<a0?1:6:_1<a0?1:6:t_<a0?z_<a0?Bo<a0?1:6:E2<a0?1:6:Su<a0?qm<a0?1:6:pg<a0?1:6:x2<a0?Zb<a0?e_<a0?OO<a0?yl<a0?Wm<a0?t7<a0?x3<a0?S_<a0?1:6:bh<a0?1:6:Zr<a0?Td<a0?1:6:EU<a0?1:6:jf<a0?_i<a0?X2<a0?1:6:Kb<a0?1:6:fL<a0?Q_<a0?1:6:Mn<a0?1:6:Ss<a0?qh<a0?oy<a0?lL<a0?1:6:Zv<a0?1:6:Jl<a0?ce<a0?1:6:Xd<a0?1:6:bm<a0?gy<a0?y1<a0?1:6:pp<a0?1:6:$f<a0?CR<a0?1:6:om<a0?1:6:E_<a0?kb<a0?Ky<a0?Xn<a0?Hu<a0?1:6:b7<a0?1:6:mv<a0?Lb<a0?1:6:F7<a0?1:6:Qy<a0?Ii<a0?_P<a0?1:6:vm<a0?1:6:yD<a0?Th<a0?1:6:f0<a0?1:6:PD<a0?k_<a0?sC<a0?vg<a0?1:6:Qp<a0?1:6:Zm<a0?n7<a0?1:6:Sm<a0?1:6:Nb<a0?ab<a0?hm<a0?1:6:Ob<a0?1:6:pb<a0?iC<a0?1:6:Ws<a0?1:6:O0<a0?Ut<a0?b1<a0?hl<a0?Vg<a0?tC<a0?1:6:Mo<a0?1:6:RV<a0?zv<a0?1:6:Sl<a0?1:6:oi<a0?jb<a0?Yl<a0?1:6:c2<a0?1:6:Gd<a0?Dy<a0?1:6:Wl<a0?1:6:qg<a0?sv<a0?Vy<a0?Yu<a0?1:6:of<a0?1:6:Te<a0?Rv<a0?1:6:zh<a0?1:6:cD<a0?Bm<a0?Bv<a0?1:6:U7<a0?1:6:Cd<a0?jg<a0?1:6:Vf<a0?1:6:a_<a0?tl<a0?HD<a0?Uu<a0?oC<a0?1:6:hc<a0?1:6:rC<a0?s1<a0?1:6:_7<a0?1:6:B2<a0?rd<a0?df<a0?1:6:Ix<a0?1:6:Wh<a0?Tm<a0?1:6:Ay<a0?1:6:Nv<a0?ly<a0?e0<a0?Xc<a0?1:6:1:tf<a0?6:Vh<a0?1:6:h7<a0?aD<a0?mp<a0?1:6:rl<a0?1:6:Fg<a0?tb<a0?1:6:Xv<a0?1:6:rb<a0?Fl<a0?U1<a0?wg<a0?Gm<a0&&Zc<a0?1:6:Ly<a0?d0<a0?Qg<a0?1:6:R_<a0?1:6:G_<a0?Id<a0?1:6:pf<a0?1:6:Y0<a0?De<a0?cy<a0?g0<a0?1:6:k3<a0?1:6:N7<a0?qr<a0?1:6:Qb<a0?1:6:xC<a0?Rb<a0?W3<a0?1:6:Rd<a0?1:6:jy<a0?U_<a0?1:6:xu<a0?1:6:gd<a0?wf<a0?Nt<a0?Dm<a0?Al<a0?1:6:Jm<a0?1:6:L2<a0?F_<a0?1:6:1:6:Vb<a0?ql<a0?l1<a0?vy<a0?1:6:Fh<a0?1:6:HN<a0?cN<a0?1:2:Y7<a0?1:6:W7<a0?W<a0?dD<a0?1:6:Gb<a0?1:6:ZD<a0?P0<a0?1:6:E7<a0?1:6:C1<a0?lD<a0?mm<a0?Ou<a0?by<a0?bo<a0?1:6:Ty<a0?1:6:I3<a0?y0<a0?1:6:Gg<a0?1:6:Ds<a0?Av<a0?mh<a0?1:6:li<a0?1:6:ID<a0?gm<a0?1:6:QD<a0?1:6:Hy<a0?l2<a0?q_<a0?wA<a0?1:6:js<a0?1:6:c0<a0?N_<a0?1:6:H1<a0?1:6:_o<a0?Cp<a0?kp<a0?1:6:Uy<a0?1:6:d<a0?w3<a0?1:6:gb<a0?1:6:Jf<a0?nf<a0?fb<a0?Ui<a0?1:6:uC<a0?1:6:Kv<a0?Fv<a0?fD<a0?1:6:Xg<a0?1:6:V_<a0?G<a0?1:6:og<a0?1:6:ts<a0?kh<a0?Kt<a0?wm<a0?1:6:J7<a0?1:6:$B<a0?1:6:G1<a0?qs<a0?Uh<a0?1:6:1:N3<a0?6:Wv<a0?1:6:Rp<a0?Yn<a0?Vm<a0?CP<a0?$<a0?MV<a0?Q0<a0?ak<a0?1:6:Ae<a0?1:6:V<a0?sj<a0?1:6:R1<a0?1:6:_b<a0?gU<a0?gl<a0?1:6:uj<a0?1:6:Sv<a0?1:6:M2<a0?eM<a0?Mr<a0?6:g_<a0?1:6:Ur<a0?rv<a0?1:6:qa<a0?1:6:qA<a0?Eg<a0?JD<a0?1:6:1:Zw<a0?6:K7<a0?1:6:A5<a0?cl<a0?_<a0?Mf<a0?ip<a0?1:6:Ir<a0?1:6:L3<a0?zd<a0?1:6:UB<a0?1:6:Pf<a0?Sy<a0?po<a0?1:6:ng<a0?1:6:ry<a0?zy<a0?1:6:Zt<a0?1:6:ZR<a0?ev<a0?fh<a0?JT<a0?1:6:A3<a0?1:6:FU<a0?s<a0?1:6:rA<a0?1:6:wM<a0?h_<a0?BV<a0?1:6:1:6:Pk<a0?Ye<a0?ms<a0?Px<a0?kD<a0?6:Pe<a0?1:6:Dv<a0?1:6:$b<a0?ny<a0?6:1:6:tI<a0?$v<a0?em<a0?6:iy<a0?1:6:Sf<a0?1:6:AM<a0?bc<a0?1:6:iD<a0?6:1:Lo<a0?ig<a0?rp<a0?Ed<a0?6:gD<a0?1:6:m2<a0?xA<a0?1:6:1:bn<a0?__<a0?6:1:sf<a0?6:1:lp<a0?cg<a0?6:Y2<a0?Wb<a0?1:6:nd<a0?1:6:ds<a0?wu<a0?T_<a0?1:6:Eh<a0?1:6:Fo<a0?sb<a0?1:6:i7<a0?1:6:ht<a0?KN<a0?_t<a0?vh<a0?af<a0?Tv<a0?1:6:dv<a0?xi<a0?1:6:1:vM<a0?6:ep<a0?Hp<a0?1:6:1:sh<a0?Lm<a0?6:Hg<a0?I0<a0?1:6:sU<a0?1:6:vV<a0?r7<a0?1:6:h2<a0?6:RN<a0?1:2:ay<a0?Ib<a0?uh<a0?hD<a0?s2<a0?1:6:Ch<a0?1:6:q7<a0?Ah<a0?1:6:Zg<a0?1:6:hg<a0?Ro<a0?bf<a0?1:6:Md<a0?1:6:$h<a0?Yy<a0?1:6:ND<a0?1:6:Js<a0?nv<a0?W9<a0?Cv<a0?1:6:kf<a0?1:6:f3<a0?TD<a0?1:6:_v<a0?1:6:qb<a0?y_<a0?WD<a0?1:6:ch<a0?1:6:R3<a0?Ap<a0?1:6:cU<a0?1:6:$i<a0?w_<a0?_d<a0?Yj<a0?Mb<a0?1:6:xb<a0?6:G7<a0?1:6:D0<a0?H7<a0?j<a0?1:6:1:6:Yv<a0?nl<a0?Sg<a0?Vp<a0?1:6:a3<a0?1:6:Ry<a0?Uf<a0?1:6:1:6:B_<a0?j2<a0?d7<a0?t3<a0?oc<a0?1:6:XD<a0?1:6:an<a0?pl<a0?1:6:1:d_<a0?Yb<a0?6:z3<a0?1:6:eD<a0?Bi<a0?1:6:nm<a0?1:6:Rf<a0?Z3<a0?T7<a0?zb<a0?1:6:J_<a0?1:6:Yi<a0?M_<a0?1:6:Z7<a0?1:6:kA<a0?b9<a0?h0<a0?1:2:gP<a0?1:2:me<a0?ik<a0?1:3:xI<a0?1:2:fr(kY1,a0+1|0)-1|0;else O1=0;if(14<O1>>>0)var dx=Zx(x);else switch(O1){case 0:dx=0;break;case 1:dx=14;break;case 2:if(Qe(x,2),Ej(Rx(x))===0){for(;;)if(Qe(x,2),Ej(Rx(x))!==0){dx=Zx(x);break}}else dx=Zx(x);break;case 3:dx=1;break;case 4:Qe(x,1),dx=aB(Rx(x))===0?1:Zx(x);break;case 5:dx=13;break;case 6:Qe(x,12);var ie=Hd0(Rx(x));dx=ie===0?L(x):ie===1?function(ix){return Wt(m(0,ix))}(x):Zx(x);break;case 7:dx=10;break;case 8:Qe(x,6);var Ie=LY(Rx(x));dx=Ie===0?4:Ie===1?3:Zx(x);break;case 9:dx=9;break;case 10:dx=5;break;case 11:dx=11;break;case 12:dx=7;break;case 13:if(Qe(x,14),Tj(Rx(x))===0){var Ot=UU(Rx(x));if(Ot===0)dx=m6(Rx(x))===0&&m6(Rx(x))===0&&m6(Rx(x))===0?L(x):Zx(x);else if(Ot===1&&m6(Rx(x))===0)for(;;){var Or=jU(Rx(x));if(Or!==0){dx=Or===1?L(x):Zx(x);break}}else dx=Zx(x)}else dx=Zx(x);break;default:dx=8}if(14<dx>>>0)return qp(wH1);switch(dx){case 0:return[0,i,ef];case 1:return[2,SI(i,x)];case 2:return[2,i];case 3:var Cr=bN(i,x),ni=sA(sS),Jn=Wz(i,ni,x),Vn=Jn[1];return[1,Vn,wL(Vn,Cr,Jn[2],ni,0)];case 4:var zn=bN(i,x),Oi=sA(sS),xn=jK(i,Oi,x),vt=xn[1];return[1,vt,wL(vt,zn,xn[2],Oi,1)];case 5:return[0,i,95];case 6:return[0,i,F4];case 7:return[0,i,96];case 8:return[0,i,0];case 9:return[0,i,83];case 10:return[0,i,10];case 11:return[0,i,79];case 12:return[0,i,[7,Zf(x)]];case 13:var Xt=Zf(x),Me=bN(i,x),Ke=sA(sS),ct=sA(sS);E8(ct,Xt);var sr=Da(Xt,kH1)?0:1,kr=Ht0(i,sr,Ke,ct,x),wn=EI(kr,x);E8(ct,Xt);var In=Iw(Ke),Tn=Iw(ct);return[0,kr,[8,[0,[0,kr[1],Me,wn],In,Tn]]];default:return[0,i,[6,Zf(x)]]}}),k2x=Gq(function(i,x){vS(x);var n=Rx(x);if(n)var m=n[1],L=-1<m?R4<m?KN<m?HN<m?cN<m?0:1:RN<m?0:1:kA<m?b9<m?h0<m?0:1:gP<m?0:1:me<m?ik<m?0:2:xI<m?0:1:fr(IG1,m)-1|0:-1;else L=-1;if(5<L>>>0)var v=Zx(x);else switch(L){case 0:v=5;break;case 1:if(Qe(x,1),Ej(Rx(x))===0){for(;;)if(Qe(x,1),Ej(Rx(x))!==0){v=Zx(x);break}}else v=Zx(x);break;case 2:v=0;break;case 3:Qe(x,0),v=aB(Rx(x))===0?0:Zx(x);break;case 4:Qe(x,5);var a0=LY(Rx(x));v=a0===0?3:a0===1?2:Zx(x);break;default:v=4}if(5<v>>>0)return qp(FH1);switch(v){case 0:return[2,SI(i,x)];case 1:return[2,i];case 2:var O1=bN(i,x),dx=sA(sS),ie=Wz(i,dx,x),Ie=ie[1];return[1,Ie,wL(Ie,O1,ie[2],dx,0)];case 3:var Ot=bN(i,x),Or=sA(sS),Cr=jK(i,Or,x),ni=Cr[1];return[1,ni,wL(ni,Ot,Cr[2],Or,1)];case 4:var Jn=bN(i,x),Vn=sA(sS),zn=sA(sS),Oi=sA(sS);E8(Oi,AH1);var xn=C20(i,Vn,zn,Oi,x),vt=xn[1],Xt=EI(vt,x),Me=[0,vt[1],Jn,Xt],Ke=xn[2],ct=Iw(Oi),sr=Iw(zn);return[0,vt,[3,[0,Me,[0,Iw(Vn),sr,ct],Ke]]];default:var kr=TL(i,uA(i,x));return[0,kr,[3,[0,uA(kr,x),TH1,1]]]}}),N2x=Gq(function(i,x){function n(c1,na){for(;;){Qe(na,48);var r2=_h(Rx(na));if(r2!==0)return r2===1?c1<50?m(c1+1|0,na):dn(m,[0,na]):Zx(na)}}function m(c1,na){if(Tj(Rx(na))===0){var r2=UU(Rx(na));if(r2===0)return m6(Rx(na))===0&&m6(Rx(na))===0&&m6(Rx(na))===0?c1<50?n(c1+1|0,na):dn(n,[0,na]):Zx(na);if(r2===1){if(m6(Rx(na))===0)for(;;){var Lh=jU(Rx(na));if(Lh!==0)return Lh===1?c1<50?n(c1+1|0,na):dn(n,[0,na]):Zx(na)}return Zx(na)}return Zx(na)}return Zx(na)}function L(c1){return Wt(n(0,c1))}function v(c1){return Wt(m(0,c1))}function a0(c1){for(;;)if(Qe(c1,29),V6(Rx(c1))!==0)return Zx(c1)}function O1(c1){Qe(c1,27);var na=fk(Rx(c1));if(na===0){for(;;)if(Qe(c1,25),V6(Rx(c1))!==0)return Zx(c1)}return na===1?a0(c1):Zx(c1)}function dx(c1){for(;;)if(Qe(c1,23),V6(Rx(c1))!==0)return Zx(c1)}function ie(c1){Qe(c1,22);var na=fk(Rx(c1));if(na===0){for(;;)if(Qe(c1,21),V6(Rx(c1))!==0)return Zx(c1)}return na===1?dx(c1):Zx(c1)}function Ie(c1){for(;;)if(Qe(c1,23),V6(Rx(c1))!==0)return Zx(c1)}function Ot(c1){Qe(c1,22);var na=fk(Rx(c1));if(na===0){for(;;)if(Qe(c1,21),V6(Rx(c1))!==0)return Zx(c1)}return na===1?Ie(c1):Zx(c1)}function Or(c1){x:for(;;){if(C6(Rx(c1))===0)for(;;){Qe(c1,24);var na=Fj(Rx(c1));if(3<na>>>0)return Zx(c1);switch(na){case 0:return Ie(c1);case 1:continue;case 2:continue x;default:return Ot(c1)}}return Zx(c1)}}function Cr(c1){Qe(c1,29);var na=a20(Rx(c1));if(3<na>>>0)return Zx(c1);switch(na){case 0:return a0(c1);case 1:var r2=LK(Rx(c1));if(r2===0)for(;;){Qe(c1,24);var Lh=Kz(Rx(c1));if(2<Lh>>>0)return Zx(c1);switch(Lh){case 0:return Ie(c1);case 1:continue;default:return Ot(c1)}}if(r2===1)for(;;){Qe(c1,24);var Rm=Fj(Rx(c1));if(3<Rm>>>0)return Zx(c1);switch(Rm){case 0:return Ie(c1);case 1:continue;case 2:return Or(c1);default:return Ot(c1)}}return Zx(c1);case 2:for(;;){Qe(c1,24);var V2=Kz(Rx(c1));if(2<V2>>>0)return Zx(c1);switch(V2){case 0:return dx(c1);case 1:continue;default:return ie(c1)}}default:for(;;){Qe(c1,24);var Yc=Fj(Rx(c1));if(3<Yc>>>0)return Zx(c1);switch(Yc){case 0:return dx(c1);case 1:continue;case 2:return Or(c1);default:return ie(c1)}}}}function ni(c1){for(;;){Qe(c1,30);var na=XV(Rx(c1));if(4<na>>>0)return Zx(c1);switch(na){case 0:return a0(c1);case 1:continue;case 2:return Cr(c1);case 3:x:for(;;){if(C6(Rx(c1))===0)for(;;){Qe(c1,30);var r2=XV(Rx(c1));if(4<r2>>>0)return Zx(c1);switch(r2){case 0:return a0(c1);case 1:continue;case 2:return Cr(c1);case 3:continue x;default:return O1(c1)}}return Zx(c1)}default:return O1(c1)}}}function Jn(c1){return C6(Rx(c1))===0?ni(c1):Zx(c1)}function Vn(c1){for(;;)if(Qe(c1,19),V6(Rx(c1))!==0)return Zx(c1)}function zn(c1){for(;;)if(Qe(c1,19),V6(Rx(c1))!==0)return Zx(c1)}function Oi(c1){Qe(c1,29);var na=zd0(Rx(c1));if(na===0)return a0(c1);if(na===1)for(;;){Qe(c1,20);var r2=RY(Rx(c1));if(3<r2>>>0)return Zx(c1);switch(r2){case 0:return zn(c1);case 1:continue;case 2:x:for(;;){if(m6(Rx(c1))===0)for(;;){Qe(c1,20);var Lh=RY(Rx(c1));if(3<Lh>>>0)return Zx(c1);switch(Lh){case 0:return Vn(c1);case 1:continue;case 2:continue x;default:Qe(c1,18);var Rm=fk(Rx(c1));if(Rm===0){for(;;)if(Qe(c1,17),V6(Rx(c1))!==0)return Zx(c1)}return Rm===1?Vn(c1):Zx(c1)}}return Zx(c1)}default:Qe(c1,18);var V2=fk(Rx(c1));if(V2===0){for(;;)if(Qe(c1,17),V6(Rx(c1))!==0)return Zx(c1)}return V2===1?zn(c1):Zx(c1)}}return Zx(c1)}function xn(c1){for(;;)if(Qe(c1,13),V6(Rx(c1))!==0)return Zx(c1)}function vt(c1){for(;;)if(Qe(c1,13),V6(Rx(c1))!==0)return Zx(c1)}function Xt(c1){Qe(c1,29);var na=t20(Rx(c1));if(na===0)return a0(c1);if(na===1)for(;;){Qe(c1,14);var r2=BY(Rx(c1));if(3<r2>>>0)return Zx(c1);switch(r2){case 0:return vt(c1);case 1:continue;case 2:x:for(;;){if(eP(Rx(c1))===0)for(;;){Qe(c1,14);var Lh=BY(Rx(c1));if(3<Lh>>>0)return Zx(c1);switch(Lh){case 0:return xn(c1);case 1:continue;case 2:continue x;default:Qe(c1,12);var Rm=fk(Rx(c1));if(Rm===0){for(;;)if(Qe(c1,11),V6(Rx(c1))!==0)return Zx(c1)}return Rm===1?xn(c1):Zx(c1)}}return Zx(c1)}default:Qe(c1,12);var V2=fk(Rx(c1));if(V2===0){for(;;)if(Qe(c1,11),V6(Rx(c1))!==0)return Zx(c1)}return V2===1?vt(c1):Zx(c1)}}return Zx(c1)}function Me(c1){for(;;)if(Qe(c1,9),V6(Rx(c1))!==0)return Zx(c1)}function Ke(c1){for(;;)if(Qe(c1,9),V6(Rx(c1))!==0)return Zx(c1)}function ct(c1){Qe(c1,29);var na=e20(Rx(c1));if(na===0)return a0(c1);if(na===1)for(;;){Qe(c1,10);var r2=MY(Rx(c1));if(3<r2>>>0)return Zx(c1);switch(r2){case 0:return Ke(c1);case 1:continue;case 2:x:for(;;){if(Sj(Rx(c1))===0)for(;;){Qe(c1,10);var Lh=MY(Rx(c1));if(3<Lh>>>0)return Zx(c1);switch(Lh){case 0:return Me(c1);case 1:continue;case 2:continue x;default:Qe(c1,8);var Rm=fk(Rx(c1));if(Rm===0){for(;;)if(Qe(c1,7),V6(Rx(c1))!==0)return Zx(c1)}return Rm===1?Me(c1):Zx(c1)}}return Zx(c1)}default:Qe(c1,8);var V2=fk(Rx(c1));if(V2===0){for(;;)if(Qe(c1,7),V6(Rx(c1))!==0)return Zx(c1)}return V2===1?Ke(c1):Zx(c1)}}return Zx(c1)}function sr(c1){Qe(c1,28);var na=fk(Rx(c1));if(na===0){for(;;)if(Qe(c1,26),V6(Rx(c1))!==0)return Zx(c1)}return na===1?a0(c1):Zx(c1)}function kr(c1){Qe(c1,30);var na=Kz(Rx(c1));if(2<na>>>0)return Zx(c1);switch(na){case 0:return a0(c1);case 1:for(;;){Qe(c1,30);var r2=Fj(Rx(c1));if(3<r2>>>0)return Zx(c1);switch(r2){case 0:return a0(c1);case 1:continue;case 2:x:for(;;){if(C6(Rx(c1))===0)for(;;){Qe(c1,30);var Lh=Fj(Rx(c1));if(3<Lh>>>0)return Zx(c1);switch(Lh){case 0:return a0(c1);case 1:continue;case 2:continue x;default:return O1(c1)}}return Zx(c1)}default:return O1(c1)}}default:return O1(c1)}}function wn(c1){for(;;){Qe(c1,30);var na=yY(Rx(c1));if(3<na>>>0)return Zx(c1);switch(na){case 0:return a0(c1);case 1:return kr(c1);case 2:continue;default:return sr(c1)}}}function In(c1){for(;;)if(Qe(c1,15),V6(Rx(c1))!==0)return Zx(c1)}function Tn(c1){Qe(c1,15);var na=fk(Rx(c1));if(na===0){for(;;)if(Qe(c1,15),V6(Rx(c1))!==0)return Zx(c1)}return na===1?In(c1):Zx(c1)}function ix(c1){for(;;){Qe(c1,16);var na=o20(Rx(c1));if(4<na>>>0)return Zx(c1);switch(na){case 0:return In(c1);case 1:return kr(c1);case 2:continue;case 3:for(;;){Qe(c1,15);var r2=yY(Rx(c1));if(3<r2>>>0)return Zx(c1);switch(r2){case 0:return In(c1);case 1:return kr(c1);case 2:continue;default:return Tn(c1)}}default:return Tn(c1)}}}function Nr(c1){Qe(c1,30);var na=Xd0(Rx(c1));if(3<na>>>0)return Zx(c1);switch(na){case 0:return a0(c1);case 1:for(;;){Qe(c1,30);var r2=XV(Rx(c1));if(4<r2>>>0)return Zx(c1);switch(r2){case 0:return a0(c1);case 1:continue;case 2:return Cr(c1);case 3:x:for(;;){if(C6(Rx(c1))===0)for(;;){Qe(c1,30);var Lh=XV(Rx(c1));if(4<Lh>>>0)return Zx(c1);switch(Lh){case 0:return a0(c1);case 1:continue;case 2:return Cr(c1);case 3:continue x;default:return O1(c1)}}return Zx(c1)}default:return O1(c1)}}case 2:return Cr(c1);default:return O1(c1)}}function Mx(c1){Qe(c1,30);var na=$t0(Rx(c1));if(8<na>>>0)return Zx(c1);switch(na){case 0:return a0(c1);case 1:return Nr(c1);case 2:return ix(c1);case 3:return wn(c1);case 4:return ct(c1);case 5:return Cr(c1);case 6:return Xt(c1);case 7:return Oi(c1);default:return sr(c1)}}function ko(c1){x:for(;;){if(C6(Rx(c1))===0)for(;;){Qe(c1,30);var na=n20(Rx(c1));if(4<na>>>0)return Zx(c1);switch(na){case 0:return a0(c1);case 1:return kr(c1);case 2:continue;case 3:continue x;default:return sr(c1)}}return Zx(c1)}}function iu(c1){for(;;){Qe(c1,30);var na=CY(Rx(c1));if(5<na>>>0)return Zx(c1);switch(na){case 0:return a0(c1);case 1:return Nr(c1);case 2:continue;case 3:return Cr(c1);case 4:return ko(c1);default:return sr(c1)}}}function Mi(c1){return Qe(c1,3),f20(Rx(c1))===0?3:Zx(c1)}function Bc(c1){return PY(Rx(c1))===0&&AY(Rx(c1))===0&&s20(Rx(c1))===0&&Qd0(Rx(c1))===0&&Zd0(Rx(c1))===0&&Vt0(Rx(c1))===0&&Wq(Rx(c1))===0&&PY(Rx(c1))===0&&Tj(Rx(c1))===0&&x20(Rx(c1))===0&&Jq(Rx(c1))===0?3:Zx(c1)}vS(x);var ku=Rx(x);if(ku)var Kx=ku[1],ic=R4<Kx?uy<Kx?-1:jd<Kx?V7<Kx?$_<Kx?up<Kx?A_<Kx?a7<Kx?1:6:A7<Kx?1:6:Cm<Kx?O2<Kx?Xf<Kx?N2<Kx?1:6:e<Kx?1:6:Sd<Kx?_D<Kx?1:6:ob<Kx?1:6:mg<Kx?qt<Kx?Xy<Kx?1:6:d2<Kx?1:6:Pp<Kx?pv<Kx?1:6:Bt<Kx?1:6:Ac<Kx?jl<Kx?Ov<Kx?_3<Kx?Am<Kx?1:6:Fc<Kx?1:6:Hb<Kx?Zo<Kx?1:6:vd<Kx?1:6:sn<Kx?aC<Kx?G3<Kx?1:6:Gt<Kx?1:6:op<Kx?yy<Kx?1:6:Gv<Kx?1:6:P7<Kx?w1<Kx?Jv<Kx?_e<Kx?1:6:Zl<Kx?1:6:bv<Kx?Ld<Kx?1:6:np<Kx?1:6:ih<Kx?Rg<Kx?m7<Kx?1:6:Yp<Kx?1:6:Xl<Kx?gg<Kx?1:6:Kh<Kx?1:6:b_<Kx?fl<Kx?Ih<Kx?iv<Kx?Dp<Kx?Pb<Kx?Jb<Kx?dp<Kx?1:6:oD<Kx?1:6:Zp<Kx?I_<Kx?1:6:jv<Kx?1:6:dd<Kx?V3<Kx?hv<Kx?1:6:bD<Kx?1:6:Ym<Kx?Us<Kx?1:6:oh<Kx?1:6:Qw<Kx?Nh<Kx?p7<Kx?gv<Kx?1:6:Gy<Kx?1:6:Iv<Kx?Mu<Kx?1:6:OD<Kx?1:6:_l<Kx?Va<Kx?Xb<Kx?1:6:Ox<Kx?1:6:wp<Kx?j6<Kx?1:6:ky<Kx?1:6:Xm<Kx?Fm<Kx?r3<Kx?NV<Kx?pD<Kx?1:6:MD<Kx?1:6:Kp<Kx?v2<Kx?1:6:ka<Kx?1:6:k7<Kx?ff<Kx?Tb<Kx?1:6:Wx<Kx?1:6:l0<Kx?b3<Kx?1:6:c7<Kx?1:6:ld<Kx?mD<Kx?v1<Kx?Cg<Kx?1:6:Mt<Kx?1:6:l7<Kx?zf<Kx?1:6:eu<Kx?1:6:zp<Kx?tt<Kx?Pm<Kx?1:6:Mv<Kx?1:6:Yd<Kx?$3<Kx?1:6:P3<Kx?1:6:bt<Kx?Ph<Kx?B7<Kx?j_<Kx?uD<Kx?I7<Kx?1:6:YD<Kx?1:6:n3<Kx?al<Kx?1:6:qx<Kx?1:6:dm<Kx?N1<Kx?O_<Kx?1:6:Cc<Kx?1:6:Ad<Kx?pd<Kx?1:6:d3<Kx?1:6:Ud<Kx?lb<Kx?bp<Kx?Nl<Kx?1:6:b0<Kx?1:6:dg<Kx?M3<Kx?1:6:dh<Kx?1:6:K_<Kx?ec<Kx?P_<Kx?1:6:rc<Kx?1:6:Xh<Kx?fv<Kx?1:6:N0<Kx?1:6:Cy<Kx?nD<Kx?co<Kx?Hv<Kx?vv<Kx?1:6:xh<Kx?1:6:ag<Kx?H3<Kx?1:6:E1<Kx?1:6:Pa<Kx?ex<Kx?qy<Kx?1:6:LD<Kx?1:6:wD<Kx?ED<Kx?1:6:Za<Kx?1:6:xv<Kx?Ey<Kx?L_<Kx?h3<Kx?1:6:hh<Kx?1:6:th<Kx?w7<Kx?1:6:sD<Kx?1:6:ae<Kx?H2<Kx?eh<Kx?1:6:Jy<Kx?1:6:i_<Kx?cc<Kx?1:6:Tg<Kx?1:6:Bd<Kx?L7<Kx?Hd<Kx?O<Kx?tv<Kx?Ku<Kx?wl<Kx?1:6:s7<Kx?1:6:Kg<Kx?nb<Kx?1:6:XB<Kx?1:6:T3<Kx?Gr<Kx?Uc<Kx?1:6:X_<Kx?1:6:dy<Kx?Un<Kx?1:6:p2<Kx?1:6:vD<Kx?Qd<Kx?Jh<Kx?kv<Kx?1:6:e7<Kx?1:6:b2<Kx?yv<Kx?1:6:u7<Kx?1:6:UI<Kx?bg<Kx?BD<Kx?1:6:Gc<Kx?1:6:uv<Kx?PR<Kx?1:6:Jr<Kx?1:6:_y<Kx?rD<Kx?_9<Kx?C7<Kx?wh<Kx?1:6:U3<Kx?1:6:C0<Kx?Yo<Kx?1:6:tm<Kx?1:6:ph<Kx?uc<Kx?G0<Kx?1:6:S0<Kx?1:6:Ko<Kx?kg<Kx?1:6:Cl<Kx?1:6:V9<Kx?Bp<Kx?GD<Kx?FD<Kx?1:6:_u<Kx?1:6:g7<Kx?Xp<Kx?1:6:Sa<Kx?1:6:RB<Kx?Y3<Kx?Fd<Kx?1:6:ut<Kx?1:6:cL<Kx?rs<Kx?1:6:Pc<Kx?1:6:JL<Kx?wy<Kx?Uv<Kx?zm<Kx?mb<Kx?_g<Kx?1:6:sy<Kx?1:6:Ju<Kx?oM<Kx?1:6:Em<Kx?1:6:Mg<Kx?If<Kx?_c<Kx?1:6:wT<Kx?1:6:Ub<Kx?D7<Kx?1:6:e3<Kx?1:6:ib<Kx?qD<Kx?v7<Kx?cv<Kx?1:6:KR<Kx?1:6:ri<Kx?mf<Kx?1:6:Wg<Kx?1:6:o2<Kx?C2<Kx?Nc<Kx?1:6:UN<Kx?1:6:y7<Kx?cb<Kx?1:6:Tt<Kx?1:6:Iu<Kx?Z2<Kx?LV<Kx?Mm<Kx?s5<Kx?1:6:Gh<Kx?1:6:_m<Kx?lv<Kx?1:6:H_<Kx?1:6:my<Kx?Ne<Kx?py<Kx?1:6:qv<Kx?1:6:R9<Kx?hI<Kx?1:6:yo<Kx?1:6:xf<Kx?ym<Kx?ws<Kx?f7<Kx?1:6:xl<Kx?1:6:za<Kx?n_<Kx?1:6:_1<Kx?1:6:t_<Kx?z_<Kx?Bo<Kx?1:6:E2<Kx?1:6:Su<Kx?qm<Kx?1:6:pg<Kx?1:6:x2<Kx?Zb<Kx?e_<Kx?OO<Kx?yl<Kx?Wm<Kx?t7<Kx?x3<Kx?S_<Kx?1:6:bh<Kx?1:6:Zr<Kx?Td<Kx?1:6:EU<Kx?1:6:jf<Kx?_i<Kx?X2<Kx?1:6:Kb<Kx?1:6:fL<Kx?Q_<Kx?1:6:Mn<Kx?1:6:Ss<Kx?qh<Kx?oy<Kx?lL<Kx?1:6:Zv<Kx?1:6:Jl<Kx?ce<Kx?1:6:Xd<Kx?1:6:bm<Kx?gy<Kx?y1<Kx?1:6:pp<Kx?1:6:$f<Kx?CR<Kx?1:6:om<Kx?1:6:E_<Kx?kb<Kx?Ky<Kx?Xn<Kx?Hu<Kx?1:6:b7<Kx?1:6:mv<Kx?Lb<Kx?1:6:F7<Kx?1:6:Qy<Kx?Ii<Kx?_P<Kx?1:6:vm<Kx?1:6:yD<Kx?Th<Kx?1:6:f0<Kx?1:6:PD<Kx?k_<Kx?sC<Kx?vg<Kx?1:6:Qp<Kx?1:6:Zm<Kx?n7<Kx?1:6:Sm<Kx?1:6:Nb<Kx?ab<Kx?hm<Kx?1:6:Ob<Kx?1:6:pb<Kx?iC<Kx?1:6:Ws<Kx?1:6:O0<Kx?Ut<Kx?b1<Kx?hl<Kx?Vg<Kx?tC<Kx?1:6:Mo<Kx?1:6:RV<Kx?zv<Kx?1:6:Sl<Kx?1:6:oi<Kx?jb<Kx?Yl<Kx?1:6:c2<Kx?1:6:Gd<Kx?Dy<Kx?1:6:Wl<Kx?1:6:qg<Kx?sv<Kx?Vy<Kx?Yu<Kx?1:6:of<Kx?1:6:Te<Kx?Rv<Kx?1:6:zh<Kx?1:6:cD<Kx?Bm<Kx?Bv<Kx?1:6:U7<Kx?1:6:Cd<Kx?jg<Kx?1:6:Vf<Kx?1:6:a_<Kx?tl<Kx?HD<Kx?Uu<Kx?oC<Kx?1:6:hc<Kx?1:6:rC<Kx?s1<Kx?1:6:_7<Kx?1:6:B2<Kx?rd<Kx?df<Kx?1:6:Ix<Kx?1:6:Wh<Kx?Tm<Kx?1:6:Ay<Kx?1:6:Nv<Kx?ly<Kx?e0<Kx?Xc<Kx?1:6:1:tf<Kx?6:Vh<Kx?1:6:h7<Kx?aD<Kx?mp<Kx?1:6:rl<Kx?1:6:Fg<Kx?tb<Kx?1:6:Xv<Kx?1:6:rb<Kx?Fl<Kx?U1<Kx?wg<Kx?Gm<Kx&&Zc<Kx?1:6:Ly<Kx?d0<Kx?Qg<Kx?1:6:R_<Kx?1:6:G_<Kx?Id<Kx?1:6:pf<Kx?1:6:Y0<Kx?De<Kx?cy<Kx?g0<Kx?1:6:k3<Kx?1:6:N7<Kx?qr<Kx?1:6:Qb<Kx?1:6:xC<Kx?Rb<Kx?W3<Kx?1:6:Rd<Kx?1:6:jy<Kx?U_<Kx?1:6:xu<Kx?1:6:gd<Kx?wf<Kx?Nt<Kx?Dm<Kx?Al<Kx?1:6:Jm<Kx?1:6:L2<Kx?F_<Kx?1:6:1:6:Vb<Kx?ql<Kx?l1<Kx?vy<Kx?1:6:Fh<Kx?1:6:HN<Kx?cN<Kx?1:2:Y7<Kx?1:6:W7<Kx?W<Kx?dD<Kx?1:6:Gb<Kx?1:6:ZD<Kx?P0<Kx?1:6:E7<Kx?1:6:C1<Kx?lD<Kx?mm<Kx?Ou<Kx?by<Kx?bo<Kx?1:6:Ty<Kx?1:6:I3<Kx?y0<Kx?1:6:Gg<Kx?1:6:Ds<Kx?Av<Kx?mh<Kx?1:6:li<Kx?1:6:ID<Kx?gm<Kx?1:6:QD<Kx?1:6:Hy<Kx?l2<Kx?q_<Kx?wA<Kx?1:6:js<Kx?1:6:c0<Kx?N_<Kx?1:6:H1<Kx?1:6:_o<Kx?Cp<Kx?kp<Kx?1:6:Uy<Kx?1:6:d<Kx?w3<Kx?1:6:gb<Kx?1:6:Jf<Kx?nf<Kx?fb<Kx?Ui<Kx?1:6:uC<Kx?1:6:Kv<Kx?Fv<Kx?fD<Kx?1:6:Xg<Kx?1:6:V_<Kx?G<Kx?1:6:og<Kx?1:6:ts<Kx?kh<Kx?Kt<Kx?wm<Kx?1:6:J7<Kx?1:6:$B<Kx?1:6:G1<Kx?qs<Kx?Uh<Kx?1:6:1:N3<Kx?6:Wv<Kx?1:6:Rp<Kx?Yn<Kx?Vm<Kx?CP<Kx?$<Kx?MV<Kx?Q0<Kx?ak<Kx?1:6:Ae<Kx?1:6:V<Kx?sj<Kx?1:6:R1<Kx?1:6:_b<Kx?gU<Kx?gl<Kx?1:6:uj<Kx?1:6:Sv<Kx?1:6:M2<Kx?eM<Kx?Mr<Kx?6:g_<Kx?1:6:Ur<Kx?rv<Kx?1:6:qa<Kx?1:6:qA<Kx?Eg<Kx?JD<Kx?1:6:1:Zw<Kx?6:K7<Kx?1:6:A5<Kx?cl<Kx?_<Kx?Mf<Kx?ip<Kx?1:6:Ir<Kx?1:6:L3<Kx?zd<Kx?1:6:UB<Kx?1:6:Pf<Kx?Sy<Kx?po<Kx?1:6:ng<Kx?1:6:ry<Kx?zy<Kx?1:6:Zt<Kx?1:6:ZR<Kx?ev<Kx?fh<Kx?JT<Kx?1:6:A3<Kx?1:6:FU<Kx?s<Kx?1:6:rA<Kx?1:6:wM<Kx?h_<Kx?BV<Kx?1:6:1:6:Pk<Kx?Ye<Kx?ms<Kx?Px<Kx?kD<Kx?6:Pe<Kx?1:6:Dv<Kx?1:6:$b<Kx?ny<Kx?6:1:6:tI<Kx?$v<Kx?em<Kx?6:iy<Kx?1:6:Sf<Kx?1:6:AM<Kx?bc<Kx?1:6:iD<Kx?6:1:Lo<Kx?ig<Kx?rp<Kx?Ed<Kx?6:gD<Kx?1:6:m2<Kx?xA<Kx?1:6:1:bn<Kx?__<Kx?6:1:sf<Kx?6:1:lp<Kx?cg<Kx?6:Y2<Kx?Wb<Kx?1:6:nd<Kx?1:6:ds<Kx?wu<Kx?T_<Kx?1:6:Eh<Kx?1:6:Fo<Kx?sb<Kx?1:6:i7<Kx?1:6:ht<Kx?KN<Kx?_t<Kx?vh<Kx?af<Kx?Tv<Kx?1:6:dv<Kx?xi<Kx?1:6:1:vM<Kx?6:ep<Kx?Hp<Kx?1:6:1:sh<Kx?Lm<Kx?6:Hg<Kx?I0<Kx?1:6:sU<Kx?1:6:vV<Kx?r7<Kx?1:6:h2<Kx?6:RN<Kx?1:2:ay<Kx?Ib<Kx?uh<Kx?hD<Kx?s2<Kx?1:6:Ch<Kx?1:6:q7<Kx?Ah<Kx?1:6:Zg<Kx?1:6:hg<Kx?Ro<Kx?bf<Kx?1:6:Md<Kx?1:6:$h<Kx?Yy<Kx?1:6:ND<Kx?1:6:Js<Kx?nv<Kx?W9<Kx?Cv<Kx?1:6:kf<Kx?1:6:f3<Kx?TD<Kx?1:6:_v<Kx?1:6:qb<Kx?y_<Kx?WD<Kx?1:6:ch<Kx?1:6:R3<Kx?Ap<Kx?1:6:cU<Kx?1:6:$i<Kx?w_<Kx?_d<Kx?Yj<Kx?Mb<Kx?1:6:xb<Kx?6:G7<Kx?1:6:D0<Kx?H7<Kx?j<Kx?1:6:1:6:Yv<Kx?nl<Kx?Sg<Kx?Vp<Kx?1:6:a3<Kx?1:6:Ry<Kx?Uf<Kx?1:6:1:6:B_<Kx?j2<Kx?d7<Kx?t3<Kx?oc<Kx?1:6:XD<Kx?1:6:an<Kx?pl<Kx?1:6:1:d_<Kx?Yb<Kx?6:z3<Kx?1:6:eD<Kx?Bi<Kx?1:6:nm<Kx?1:6:Rf<Kx?Z3<Kx?T7<Kx?zb<Kx?1:6:J_<Kx?1:6:Yi<Kx?M_<Kx?1:6:Z7<Kx?1:6:kA<Kx?b9<Kx?h0<Kx?1:2:gP<Kx?1:2:me<Kx?ik<Kx?1:3:xI<Kx?1:2:fr(SY1,Kx+1|0)-1|0;else ic=0;if(40<ic>>>0)var Br=Zx(x);else switch(ic){case 0:Br=80;break;case 1:Br=81;break;case 2:if(Qe(x,1),Ej(Rx(x))===0){for(;;)if(Qe(x,1),Ej(Rx(x))!==0){Br=Zx(x);break}}else Br=Zx(x);break;case 3:Br=0;break;case 4:Qe(x,0),Br=aB(Rx(x))===0?0:Zx(x);break;case 5:Br=6;break;case 6:Qe(x,48);var Dt=_h(Rx(x));Br=Dt===0?L(x):Dt===1?v(x):Zx(x);break;case 7:if(Qe(x,81),Wq(Rx(x))===0){var Li=Rx(x);if(Li)var Dl=Li[1],du=NT<Dl?uw<Dl?-1:0:-1;else du=-1;if(du===0&&Jq(Rx(x))===0&&Wq(Rx(x))===0){var is=Rx(x);if(is)var Fu=is[1],Qt=Y1<Fu?X<Fu?-1:0:-1;else Qt=-1;Br=Qt===0&&qd0(Rx(x))===0?49:Zx(x)}else Br=Zx(x)}else Br=Zx(x);break;case 8:Br=74;break;case 9:Br=56;break;case 10:Br=57;break;case 11:Qe(x,71),Br=l20(Rx(x))===0?4:Zx(x);break;case 12:Br=78;break;case 13:Br=61;break;case 14:Qe(x,79);var Rn=qq(Rx(x));if(3<Rn>>>0)Br=Zx(x);else switch(Rn){case 0:for(;;){var ca=qq(Rx(x));if(3<ca>>>0)Br=Zx(x);else switch(ca){case 0:continue;case 1:Br=Jn(x);break;case 2:Br=Mx(x);break;default:Br=iu(x)}break}break;case 1:Br=Jn(x);break;case 2:Br=Mx(x);break;default:Br=iu(x)}break;case 15:Qe(x,59);var Pr=RK(Rx(x));Br=Pr===0?jt0(Rx(x))===0?58:Zx(x):Pr===1?ni(x):Zx(x);break;case 16:Qe(x,81);var On=LY(Rx(x));if(On===0){Qe(x,2);var mn=DY(Rx(x));if(2<mn>>>0)Br=Zx(x);else switch(mn){case 0:for(;;){var He=DY(Rx(x));if(2<He>>>0)Br=Zx(x);else switch(He){case 0:continue;case 1:Br=Mi(x);break;default:Br=Bc(x)}break}break;case 1:Br=Mi(x);break;default:Br=Bc(x)}}else Br=On===1?5:Zx(x);break;case 17:Qe(x,30);var At=$t0(Rx(x));if(8<At>>>0)Br=Zx(x);else switch(At){case 0:Br=a0(x);break;case 1:Br=Nr(x);break;case 2:Br=ix(x);break;case 3:Br=wn(x);break;case 4:Br=ct(x);break;case 5:Br=Cr(x);break;case 6:Br=Xt(x);break;case 7:Br=Oi(x);break;default:Br=sr(x)}break;case 18:Qe(x,30);var tr=CY(Rx(x));if(5<tr>>>0)Br=Zx(x);else switch(tr){case 0:Br=a0(x);break;case 1:Br=Nr(x);break;case 2:Br=iu(x);break;case 3:Br=Cr(x);break;case 4:Br=ko(x);break;default:Br=sr(x)}break;case 19:Br=62;break;case 20:Br=60;break;case 21:Br=67;break;case 22:Qe(x,69);var Rr=Rx(x);if(Rr)var $n=Rr[1],$r=61<$n?62<$n?-1:0:-1;else $r=-1;Br=$r===0?76:Zx(x);break;case 23:Br=68;break;case 24:Qe(x,64),Br=jt0(Rx(x))===0?63:Zx(x);break;case 25:Br=50;break;case 26:if(Qe(x,81),Tj(Rx(x))===0){var Ga=UU(Rx(x));if(Ga===0)Br=m6(Rx(x))===0&&m6(Rx(x))===0&&m6(Rx(x))===0?L(x):Zx(x);else if(Ga===1&&m6(Rx(x))===0)for(;;){var Xa=jU(Rx(x));if(Xa!==0){Br=Xa===1?L(x):Zx(x);break}}else Br=Zx(x)}else Br=Zx(x);break;case 27:Br=51;break;case 28:Qe(x,48);var ls=PP(Rx(x));if(2<ls>>>0)Br=Zx(x);else switch(ls){case 0:Br=L(x);break;case 1:Br=v(x);break;default:Qe(x,48);var Es=TY(Rx(x));if(2<Es>>>0)Br=Zx(x);else switch(Es){case 0:Br=L(x);break;case 1:Br=v(x);break;default:Qe(x,31);var Fe=_h(Rx(x));Br=Fe===0?L(x):Fe===1?v(x):Zx(x)}}break;case 29:Qe(x,48);var Lt=u20(Rx(x));if(3<Lt>>>0)Br=Zx(x);else switch(Lt){case 0:Br=L(x);break;case 1:Br=v(x);break;case 2:Qe(x,48);var ln=Kq(Rx(x));if(2<ln>>>0)Br=Zx(x);else switch(ln){case 0:Br=L(x);break;case 1:Br=v(x);break;default:Qe(x,48);var tn=oO(Rx(x));if(2<tn>>>0)Br=Zx(x);else switch(tn){case 0:Br=L(x);break;case 1:Br=v(x);break;default:Qe(x,48);var Ri=PP(Rx(x));if(2<Ri>>>0)Br=Zx(x);else switch(Ri){case 0:Br=L(x);break;case 1:Br=v(x);break;default:Qe(x,48);var Ji=qk(Rx(x));if(2<Ji>>>0)Br=Zx(x);else switch(Ji){case 0:Br=L(x);break;case 1:Br=v(x);break;default:Qe(x,41);var Na=_h(Rx(x));Br=Na===0?L(x):Na===1?v(x):Zx(x)}}}}break;default:Qe(x,48);var Do=$U(Rx(x));if(2<Do>>>0)Br=Zx(x);else switch(Do){case 0:Br=L(x);break;case 1:Br=v(x);break;default:Qe(x,48);var No=aO(Rx(x));if(2<No>>>0)Br=Zx(x);else switch(No){case 0:Br=L(x);break;case 1:Br=v(x);break;default:Qe(x,32);var tu=V4(Rx(x));if(2<tu>>>0)Br=Zx(x);else switch(tu){case 0:Br=L(x);break;case 1:Br=v(x);break;default:Qe(x,48);var Vs=CI(Rx(x));if(2<Vs>>>0)Br=Zx(x);else switch(Vs){case 0:Br=L(x);break;case 1:Br=v(x);break;default:Qe(x,48);var As=PP(Rx(x));if(2<As>>>0)Br=Zx(x);else switch(As){case 0:Br=L(x);break;case 1:Br=v(x);break;default:Qe(x,33);var vu=_h(Rx(x));Br=vu===0?L(x):vu===1?v(x):Zx(x)}}}}}}break;case 30:Qe(x,48);var Wu=Rx(x);if(Wu)var L1=Wu[1],hu=35<L1?C_<L1?ha<L1?vs<L1?-1:ne<L1?Mu<L1?Nh<L1?_D<L1?O2<L1?a7<L1?uy<L1?pE<L1?Jg<L1?0:-1:$D<L1?ks<L1?0:-1:0:-1:N2<L1?up<L1?A7<L1?A_<L1?0:-1:0:-1:e<L1?Xf<L1?0:-1:0:-1:Ld<L1?w1<L1?Zo<L1?Ov<L1?pv<L1?mg<L1?Xy<L1?Cm<L1?ob<L1?Sd<L1?0:-1:0:-1:d2<L1?qt<L1?0:-1:0:-1:Am<L1?$_<L1?Bt<L1?Pp<L1?0:-1:0:-1:Fc<L1?_3<L1?0:-1:0:-1:yy<L1?sn<L1?G3<L1?jl<L1?vd<L1?Hb<L1?0:-1:0:-1:Gt<L1?aC<L1?0:-1:0:-1:_e<L1?Ac<L1?Gv<L1?op<L1?0:-1:0:-1:Zl<L1?Jv<L1?0:-1:0:-1:I_<L1?Pb<L1?gg<L1?ih<L1?m7<L1?P7<L1?np<L1?bv<L1?0:-1:0:-1:Yp<L1?Rg<L1?0:-1:0:-1:dp<L1?V7<L1?Kh<L1?Xl<L1?0:-1:0:-1:oD<L1?Jb<L1?0:-1:0:-1:Us<L1?dd<L1?hv<L1?Dp<L1?jv<L1?Zp<L1?0:-1:0:-1:bD<L1?V3<L1?0:-1:0:-1:gv<L1?iv<L1?oh<L1?Ym<L1?0:-1:0:-1:Gy<L1?p7<L1?0:-1:0:-1:fp<L1?Ef<L1?c7<L1?l0<L1?Z1<L1?Hr<L1?Eb<L1?Xb<L1?OD<L1?R2<L1?kE<L1?Iv<L1?0:-1:0:-1:0:Ox<L1?Kf<L1?gE<L1?Va<L1?0:-1:0:-1:ge<L1?_l<L1?0:-1:0:pD<L1?vE<L1?ky<L1?wp<L1?0:-1:p3<L1?Ih<L1?0:-1:0:-1:MD<L1?OC<L1?0:-1:KC<L1?r3<L1?0:-1:0:-1:I2<L1?lo<L1?Re<L1?yC<L1?ME<L1?db<L1?fg<L1?Wy<L1?0:-1:0:-1:XE<L1?xd<L1?0:-1:0:-1:Wa<L1?yc<L1?S3<L1?Kl<L1?0:-1:0:-1:Fy<L1?xc<L1?0:-1:0:-1:ka<L1?Kp<L1?uE<L1?Lg<L1?_C<L1?OE<L1?0:-1:0:-1:v2<L1?Hm<L1?0:-1:0:-1:Wx<L1?ff<L1?Tb<L1?Fm<L1?0:-1:0:-1:b3<L1?k7<L1?0:-1:0:-1:d3<L1?Ad<L1?P3<L1?Yd<L1?eu<L1?l7<L1?Mt<L1?v1<L1?Cg<L1?Xm<L1?0:-1:0:-1:zf<L1?mD<L1?0:-1:0:-1:Mv<L1?tt<L1?Pm<L1?ld<L1?0:-1:0:-1:$3<L1?zp<L1?0:-1:0:-1:qx<L1?n3<L1?YD<L1?uD<L1?I7<L1?fl<L1?0:-1:0:-1:al<L1?j_<L1?0:-1:0:-1:Cc<L1?N1<L1?O_<L1?B7<L1?0:-1:0:-1:pd<L1?dm<L1?0:-1:0:-1:N0<L1?Xh<L1?dh<L1?dg<L1?b0<L1?bp<L1?Nl<L1?Ph<L1?0:-1:0:-1:M3<L1?lb<L1?0:-1:0:-1:rc<L1?ec<L1?P_<L1?Ud<L1?0:-1:0:-1:fv<L1?K_<L1?0:-1:0:-1:Om<L1?Ag<L1?rf<L1?O3<L1?Fn<L1?bt<L1?0:-1:0:-1:U<L1?j7<L1?0:-1:0:-1:DC<L1?ed<L1?Im<L1?i3<L1?0:-1:0:-1:0:-1:kv<L1?Hd<L1?Jy<L1?Za<L1?wD<L1?E1<L1?ag<L1?xh<L1?Hv<L1?vv<L1?l3<L1?0:-1:0:-1:H3<L1?co<L1?0:-1:0:-1:LD<L1?ex<L1?qy<L1?nD<L1?0:-1:0:-1:ED<L1?Pa<L1?0:-1:0:-1:sD<L1?th<L1?hh<L1?L_<L1?h3<L1?Cy<L1?0:-1:0:-1:w7<L1?Ey<L1?0:-1:0:-1:H2<L1?eh<L1?xv<L1?0:-1:0:u2<L1?C<L1?0:-1:0:P<L1?Kg<L1?wl<L1?b_<L1?cc<L1?W_<L1?0:-1:Tg<L1?i_<L1?0:-1:0:-1:Sb<L1?tv<L1?s7<L1?Ku<L1?0:-1:0:-1:nb<L1?Cf<L1?0:-1:0:-1:aE<L1?Gr<L1?hE<L1?O<L1?0:-1:Uc<L1?Qv<L1?0:-1:0:-1:Un<L1?T3<L1?X_<L1?BC<L1?0:-1:0:-1:p2<L1?dy<L1?0:-1:0:-1:Jr<L1?uv<L1?Gc<L1?mo<L1?Q3<L1?vD<L1?yv<L1?Qd<L1?e7<L1?Jh<L1?0:-1:0:-1:u7<L1?b2<L1?0:-1:0:-1:BD<L1?0:oE<L1?bg<L1?0:-1:0:-1:B3<L1?0:sE<L1?G2<L1?pa<L1?o7<L1?0:-1:0:-1:0:-1:r_<L1?$y<L1?U3<L1?X7<L1?C7<L1?wh<L1?L7<L1?0:-1:0:-1:Zy<L1?t8<L1?0:-1:0:LC<L1?jp<L1?0:-1:F3<L1?lE<L1?0:-1:0:-1:UD<L1?uc<L1?tm<L1?C0<L1?0:-1:G0<L1?rD<L1?0:-1:0:-1:0:Qb<L1?N7<L1?D2<L1?Se<L1?D_<L1?_g<L1?MC<L1?hy<L1?ub<L1?ph<L1?$7<L1?yE<L1?0:-1:S0<L1?Dh<L1?0:-1:0:-1:Ko<L1&&kg<L1?o0<L1?0:-1:0:FD<L1?_y<L1?c3<L1&&EC<L1?ho<L1?0:-1:0:-1:Xp<L1?Bp<L1?_u<L1?GD<L1?0:-1:0:-1:Q2<L1?g7<L1?0:-1:0:Y_<L1?NE<L1?n8<L1||Fd<L1?0:SE<L1?Y3<L1?0:-1:0:-1:rs<L1||Pc<L1?0:SC<L1?Bd<L1?0:-1:0:D7<L1?Em<L1?Ju<L1?QE<L1?zm<L1&&sy<L1?mb<L1?0:-1:0:m_<L1&&g3<L1?Gf<L1?0:-1:0:-1:CD<L1?Mg<L1?Yg<L1?If<L1?_c<L1?Uv<L1?0:-1:0:-1:0:-1:0:Mc<L1?wy<L1?CE<L1?EE<L1?vp<L1?D<L1?Ub<L1?0:-1:0:-1:0:NC<L1?0:e3<L1?m3<L1?0:-1:0:-1:j3<L1&&v7<L1&&cv<L1?FC<L1?0:-1:0:Gh<L1?Mm<L1?fi<L1?SD<L1?FE<L1?ri<L1?DD<L1?qD<L1?0:-1:mf<L1?Ep<L1?0:-1:0:-1:0:Nc<L1?Wg<L1?0:My<L1?ib<L1?0:-1:0:UC<L1&&p1<L1?C2<L1?0:-1:0:GE<L1?pm<L1?o2<L1?Dg<L1&&S7<L1?zg<L1?0:-1:0:-1:Tt<L1?y7<L1?cb<L1?M7<L1?0:-1:0:-1:0:0:-1:qv<L1?WC<L1?am<L1?_m<L1?Op<L1?x_<L1?0:-1:lv<L1?ze<L1?0:-1:0:0:x7<L1?Oh<L1?H_<L1?0:$a<L1?Z2<L1?0:-1:0:-1:py<L1?Iy<L1?bd<L1?0:-1:0:v_<L1?Ne<L1?0:-1:0:-1:yo<L1?Yh<L1?xm<L1?fy<L1?o1<L1?Hi<L1?my<L1?0:-1:0:-1:md<L1?ol<L1?0:-1:0:0:-1:_1<L1?za<L1?xl<L1?ws<L1?f7<L1?Iu<L1?0:-1:0:-1:n_<L1?ym<L1?0:-1:0:-1:Il<L1?z_<L1?Bo<L1?xf<L1?0:-1:0:-1:0:-1:vm<L1?Ii<L1?ce<L1?Q7<L1?bh<L1?x3<L1?E2<L1?M<L1&&tD<L1?AE<L1?0:-1:0:pg<L1?Su<L1?qm<L1?t_<L1?0:-1:0:-1:S_<L1?jd<L1?0:-1:0:-1:AC<L1?wE<L1?Zr<L1?Td<L1?t7<L1?0:-1:0:-1:lh<L1?JE<L1?0:-1:0:0:yl<L1?Q_<L1?jf<L1?X2<L1?Wm<L1?0:-1:Kb<L1?_i<L1?0:-1:0:-1:K0<L1?jC<L1?0:-1:Mn<L1?C3<L1?0:-1:0:oy<L1?0:Zv<L1?hb<L1?0:-1:RC<L1?qh<L1?0:-1:0:$f<L1?gy<L1?xD<L1?dC<L1?Xd<L1?Z<L1?Jl<L1?0:-1:0:$C<L1?Ss<L1?0:-1:0:-1:0:Xo<L1?pp<L1?Bs<L1?e8<L1?TC<L1?0:-1:0:-1:Ug<L1?bm<L1?0:-1:0:0:Hu<L1?zC<L1?om<L1?y3<L1?VD<L1?0:-1:TE<L1?Lf<L1?0:-1:0:0:-1:F7<L1?mv<L1?b7<L1?ov<L1?Xn<L1?0:-1:0:Lb<L1?Ky<L1?0:-1:0:-1:dE<L1?K3<L1?H<L1?kb<L1?0:-1:0:-1:0:-1:Vf<L1?Cd<L1?zv<L1?hl<L1?hm<L1?Qp<L1?sC<L1?f0<L1?yD<L1?Th<L1?Qy<L1?0:-1:0:-1:vg<L1?E_<L1?0:-1:0:-1:Sm<L1?Zm<L1?n7<L1?k_<L1?0:-1:0:-1:ot<L1?PD<L1?0:-1:0:B0<L1?e_<L1?iC<L1?Nb<L1?Ob<L1?ab<L1?0:-1:0:-1:Ws<L1?pb<L1?0:-1:0:-1:tC<L1?wv<L1?P2<L1?DE<L1?0:-1:0:-1:Mo<L1?Vg<L1?0:-1:0:-1:Wl<L1?Gd<L1?Sl<L1?O7<L1?mu<L1?0:-1:IC<L1?A0<L1?0:-1:0:c2<L1?jb<L1?Yl<L1?b1<L1?0:-1:0:-1:Dy<L1?oi<L1?0:-1:0:-1:zh<L1?Te<L1?of<L1?Vy<L1?Yu<L1?Ut<L1?0:-1:0:-1:Rv<L1?sv<L1?0:-1:0:-1:U7<L1?Bm<L1?Bv<L1?qg<L1?0:-1:0:-1:jg<L1?cD<L1?0:-1:0:-1:tb<L1?h7<L1?Ay<L1?Wh<L1?_7<L1?rC<L1?hc<L1?Uu<L1?oC<L1?O0<L1?0:-1:0:-1:s1<L1?HD<L1?0:-1:0:-1:Ix<L1?rd<L1?df<L1?tl<L1?0:-1:0:-1:Tm<L1?B2<L1?0:-1:0:-1:Pv<L1?Tp<L1?e0<L1?Xc<L1?a_<L1?0:-1:0:-1:ly<L1?Wp<L1?0:-1:0:mp<L1?Nv<L1?Vh<L1?tf<L1?0:-1:0:-1:rl<L1?aD<L1?0:-1:0:-1:Lv<L1?d0<L1?Gm<L1?Xv<L1?LE<L1?Fg<L1?0:-1:0:Zc<L1?Zb<L1?0:-1:0:E3<L1?0:Qg<L1?wg<L1?0:-1:0:-1:pf<L1?Bh<L1?Id<L1?Ly<L1?R_<L1?U0<L1?0:-1:0:-1:Up<L1?G_<L1?0:-1:0:-1:k3<L1?cy<L1?g0<L1?U1<L1?0:-1:0:-1:qr<L1?De<L1?0:-1:0:-1:Zt<L1?ry<L1?Qm<L1?gm<L1?Ds<L1?a8<L1?ql<L1?wf<L1?L2<L1?xu<L1?jy<L1?Rd<L1?Rb<L1?W3<L1?Y0<L1?0:-1:0:-1:U_<L1?xC<L1?0:-1:0:-1:Jm<L1?Dm<L1?Al<L1?Fl<L1?0:-1:0:-1:F_<L1?Nt<L1?0:-1:0:-1:Ff<L1?0:y2<L1?l1<L1?vy<L1?gd<L1?0:-1:0:-1:Fh<L1?Sh<L1?0:-1:0:-1:P0<L1?W7<L1?YE<L1?i8<L1?dD<L1?Vb<L1?Y7<L1?V0<L1?0:-1:0:-1:av<L1?W<L1?0:-1:0:-1:Vv<L1?gC<L1?Is<L1?cp<L1?0:-1:0:-1:Gb<L1?RE<L1?0:-1:0:-1:y0<L1?Ou<L1?bo<L1?rb<L1?E7<L1?ZD<L1?0:-1:0:-1:Ty<L1?by<L1?0:-1:0:-1:mh<L1?mm<L1?Gg<L1?I3<L1?0:-1:0:-1:li<L1?Av<L1?0:-1:0:-1:La<L1?Uy<L1?Cp<L1?js<L1?q_<L1?lD<L1&&QD<L1?ID<L1?0:-1:0:-1:H1<L1?c0<L1?N_<L1?l2<L1?0:-1:0:-1:kp<L1?Hy<L1?0:-1:0:-1:hf<L1?fE<L1?gb<L1?d<L1?w3<L1?_o<L1?0:-1:0:-1:td<L1?C1<L1?0:-1:0:-1:cE<L1?wb<L1?0:-1:0:Xg<L1?Fv<L1?x8<L1?0:Bb<L1?uC<L1?fb<L1?0:-1:0:fD<L1?nf<L1?0:-1:0:-1:J7<L1?Kt<L1?og<L1?V_<L1?G<L1?Kv<L1?0:-1:0:-1:wm<L1?Jf<L1?0:-1:0:-1:rm<L1&&Fb<L1?kh<L1?0:-1:0:q3<L1?$<L1?x2<L1?Uh<L1?BE<L1&&X3<L1?ts<L1?0:-1:0:J3<L1?G1<L1?qs<L1?0:-1:0:Wv<L1?N3<L1?0:-1:0:0:Hh<L1?$m<L1?0:Sv<L1?_b<L1?0:-1:0:g_<L1?Rc<L1?Ev<L1?PC<L1?Mr<L1?0:-1:0:-1:0:rv<L1?0:$d<L1?Ur<L1?0:-1:0:nx<L1?ZE<L1?qa<L1?0:Eg<L1&&JD<L1?M2<L1?0:-1:0:ip<L1?K7<L1?0:$c<L1?Vm<L1?0:-1:0:gt<L1&&R7<L1?Mf<L1?0:-1:0:z7<L1?_<L1?0:zd<L1?bC<L1?0:-1:eC<L1?L3<L1?0:-1:0:Sy<L1?wC<L1?cl<L1?0:-1:0:ng<L1?0:zy<L1?Pf<L1?0:-1:0:-1:Hp<L1?lg<L1?I1<L1?h_<L1?Rl<L1?ev<L1?IE<L1?r8<L1?PE<L1?0:-1:sp<L1?D3<L1?0:-1:0:fh<L1?0:A3<L1?Ip<L1?0:-1:0:-1:0:p8<L1?Hf<L1?0:Dv<L1?Px<L1?Pe<L1?kD<L1?0:-1:0:-1:0:By<L1?wd<L1&&$b<L1?ny<L1?0:-1:0:_E<L1?$v<L1?iy<L1?em<L1?0:-1:0:-1:0:Lo<L1?sf<L1?Zd<L1?R0<L1?0:v3<L1?CC<L1?zl<L1?iD<L1?0:-1:0:-1:0:ig<L1?m2<L1?rp<L1&&gD<L1?Ed<L1?0:-1:0:-1:bn<L1?__<L1?0:-1:0:-1:i7<L1?Fo<L1?nd<L1?Y2<L1?nC<L1?0:Wb<L1?cg<L1?0:-1:0:-1:Eh<L1?wu<L1?T_<L1?lp<L1?0:-1:0:-1:sb<L1?ds<L1?0:-1:0:-1:vh<L1?dv<L1?Hx<L1?Tv<L1?Rp<L1?0:-1:0:xi<L1?af<L1?0:-1:0:-1:0:-1:mE<L1?bf<L1?Ib<L1?r7<L1?sh<L1?I0<L1?Lm<L1?qf<L1&&_t<L1?ep<L1?0:-1:0:-1:HE<L1&&kC<L1?Hg<L1?0:-1:0:-1:s2<L1?rx<L1?AD<L1?0:Nf<L1?h2<L1?0:-1:0:-1:Ah<L1?uh<L1?Ch<L1?hD<L1?0:-1:0:-1:Zg<L1?q7<L1?0:-1:0:-1:_v<L1?f3<L1?Cv<L1?ay<L1?Yy<L1?hg<L1?Md<L1?Ro<L1?0:-1:0:-1:ND<L1?$h<L1?0:-1:0:-1:kf<L1?Of<L1?0:-1:TD<L1?nv<L1?0:-1:0:-1:R3<L1?ch<L1?y_<L1?WD<L1?Js<L1?0:-1:0:-1:Ap<L1?qb<L1?0:-1:0:Mb<L1?ht<L1?0:-1:0:pl<L1?d7<L1?Uf<L1?nl<L1?Km<L1?j<L1?_d<L1?G7<L1?xb<L1?0:-1:0:-1:D0<L1?H7<L1?0:-1:0:Vp<L1?w_<L1?0:-1:a3<L1?Sg<L1?0:-1:0:-1:zD<L1?bE<L1&&Yv<L1?Ry<L1?0:-1:0:oc<L1?$i<L1?0:-1:XD<L1?t3<L1?0:-1:0:-1:$e<L1?ah<L1?Bi<L1?d_<L1?Pu<L1?j2<L1?an<L1?0:-1:0:z3<L1?Yb<L1?0:-1:0:-1:zb<L1?B_<L1?nm<L1?eD<L1?0:-1:0:-1:ug<L1?T7<L1?0:-1:0:-1:Z7<L1?Yi<L1?J_<L1?Dd<L1?W1<L1?Oy<L1?0:-1:0:-1:M_<L1?Z3<L1?0:-1:0:-1:eb<L1?im<L1?qC<L1?Rf<L1?0:-1:0:-1:Np<L1?Kc<L1?0:-1:0:-1:fr(LX1,L1+Kd|0)-1|0:-1;else hu=-1;if(3<hu>>>0)Br=Zx(x);else switch(hu){case 0:Br=L(x);break;case 1:Br=v(x);break;case 2:Qe(x,48);var Qu=zq(Rx(x));if(2<Qu>>>0)Br=Zx(x);else switch(Qu){case 0:Br=L(x);break;case 1:Br=v(x);break;default:Qe(x,48);var pc=qk(Rx(x));if(2<pc>>>0)Br=Zx(x);else switch(pc){case 0:Br=L(x);break;case 1:Br=v(x);break;default:Qe(x,48);var il=TY(Rx(x));if(2<il>>>0)Br=Zx(x);else switch(il){case 0:Br=L(x);break;case 1:Br=v(x);break;default:Qe(x,34);var Zu=_h(Rx(x));Br=Zu===0?L(x):Zu===1?v(x):Zx(x)}}}break;default:Qe(x,48);var fu=qk(Rx(x));if(2<fu>>>0)Br=Zx(x);else switch(fu){case 0:Br=L(x);break;case 1:Br=v(x);break;default:Qe(x,48);var vl=V4(Rx(x));if(2<vl>>>0)Br=Zx(x);else switch(vl){case 0:Br=L(x);break;case 1:Br=v(x);break;default:Qe(x,48);var id=PP(Rx(x));if(2<id>>>0)Br=Zx(x);else switch(id){case 0:Br=L(x);break;case 1:Br=v(x);break;default:Qe(x,48);var _f=OK(Rx(x));if(2<_f>>>0)Br=Zx(x);else switch(_f){case 0:Br=L(x);break;case 1:Br=v(x);break;default:Qe(x,48);var sm=VU(Rx(x));if(2<sm>>>0)Br=Zx(x);else switch(sm){case 0:Br=L(x);break;case 1:Br=v(x);break;default:Qe(x,35);var Pd=_h(Rx(x));Br=Pd===0?L(x):Pd===1?v(x):Zx(x)}}}}}}break;case 31:Qe(x,48);var tc=CI(Rx(x));if(2<tc>>>0)Br=Zx(x);else switch(tc){case 0:Br=L(x);break;case 1:Br=v(x);break;default:Qe(x,48);var YC=aO(Rx(x));if(2<YC>>>0)Br=Zx(x);else switch(YC){case 0:Br=L(x);break;case 1:Br=v(x);break;default:Qe(x,48);var km=VU(Rx(x));if(2<km>>>0)Br=Zx(x);else switch(km){case 0:Br=L(x);break;case 1:Br=v(x);break;default:Qe(x,48);var lC=V4(Rx(x));if(2<lC>>>0)Br=Zx(x);else switch(lC){case 0:Br=L(x);break;case 1:Br=v(x);break;default:Qe(x,36);var A2=_h(Rx(x));Br=A2===0?L(x):A2===1?v(x):Zx(x)}}}}break;case 32:Qe(x,48);var s_=PP(Rx(x));if(2<s_>>>0)Br=Zx(x);else switch(s_){case 0:Br=L(x);break;case 1:Br=v(x);break;default:Qe(x,48);var Db=qk(Rx(x));if(2<Db>>>0)Br=Zx(x);else switch(Db){case 0:Br=L(x);break;case 1:Br=v(x);break;default:Qe(x,48);var o3=V4(Rx(x));if(2<o3>>>0)Br=Zx(x);else switch(o3){case 0:Br=L(x);break;case 1:Br=v(x);break;default:Qe(x,48);var l6=FL(Rx(x));if(2<l6>>>0)Br=Zx(x);else switch(l6){case 0:Br=L(x);break;case 1:Br=v(x);break;default:Qe(x,48);var fC=Hq(Rx(x));if(2<fC>>>0)Br=Zx(x);else switch(fC){case 0:Br=L(x);break;case 1:Br=v(x);break;default:Qe(x,48);var uS=CI(Rx(x));if(2<uS>>>0)Br=Zx(x);else switch(uS){case 0:Br=L(x);break;case 1:Br=v(x);break;default:Qe(x,48);var P8=AL(Rx(x));if(2<P8>>>0)Br=Zx(x);else switch(P8){case 0:Br=L(x);break;case 1:Br=v(x);break;default:Qe(x,48);var s8=V4(Rx(x));if(2<s8>>>0)Br=Zx(x);else switch(s8){case 0:Br=L(x);break;case 1:Br=v(x);break;default:Qe(x,37);var z8=_h(Rx(x));Br=z8===0?L(x):z8===1?v(x):Zx(x)}}}}}}}}break;case 33:Qe(x,48);var XT=oO(Rx(x));if(2<XT>>>0)Br=Zx(x);else switch(XT){case 0:Br=L(x);break;case 1:Br=v(x);break;default:Qe(x,48);var OT=Rx(x);if(OT)var r0=OT[1],_T=35<r0?C_<r0?ha<r0?vs<r0?-1:ne<r0?Mu<r0?Nh<r0?_D<r0?O2<r0?a7<r0?uy<r0?pE<r0?Jg<r0?0:-1:$D<r0?ks<r0?0:-1:0:-1:N2<r0?up<r0?A7<r0?A_<r0?0:-1:0:-1:e<r0?Xf<r0?0:-1:0:-1:Ld<r0?w1<r0?Zo<r0?Ov<r0?pv<r0?mg<r0?Xy<r0?Cm<r0?ob<r0?Sd<r0?0:-1:0:-1:d2<r0?qt<r0?0:-1:0:-1:Am<r0?$_<r0?Bt<r0?Pp<r0?0:-1:0:-1:Fc<r0?_3<r0?0:-1:0:-1:yy<r0?sn<r0?G3<r0?jl<r0?vd<r0?Hb<r0?0:-1:0:-1:Gt<r0?aC<r0?0:-1:0:-1:_e<r0?Ac<r0?Gv<r0?op<r0?0:-1:0:-1:Zl<r0?Jv<r0?0:-1:0:-1:I_<r0?Pb<r0?gg<r0?ih<r0?m7<r0?P7<r0?np<r0?bv<r0?0:-1:0:-1:Yp<r0?Rg<r0?0:-1:0:-1:dp<r0?V7<r0?Kh<r0?Xl<r0?0:-1:0:-1:oD<r0?Jb<r0?0:-1:0:-1:Us<r0?dd<r0?hv<r0?Dp<r0?jv<r0?Zp<r0?0:-1:0:-1:bD<r0?V3<r0?0:-1:0:-1:gv<r0?iv<r0?oh<r0?Ym<r0?0:-1:0:-1:Gy<r0?p7<r0?0:-1:0:-1:fp<r0?Ef<r0?c7<r0?l0<r0?Z1<r0?Hr<r0?Eb<r0?Xb<r0?OD<r0?R2<r0?kE<r0?Iv<r0?0:-1:0:-1:0:Ox<r0?Kf<r0?gE<r0?Va<r0?0:-1:0:-1:ge<r0?_l<r0?0:-1:0:pD<r0?vE<r0?ky<r0?wp<r0?0:-1:p3<r0?Ih<r0?0:-1:0:-1:MD<r0?OC<r0?0:-1:KC<r0?r3<r0?0:-1:0:-1:I2<r0?lo<r0?Re<r0?yC<r0?ME<r0?db<r0?fg<r0?Wy<r0?0:-1:0:-1:XE<r0?xd<r0?0:-1:0:-1:Wa<r0?yc<r0?S3<r0?Kl<r0?0:-1:0:-1:Fy<r0?xc<r0?0:-1:0:-1:ka<r0?Kp<r0?uE<r0?Lg<r0?_C<r0?OE<r0?0:-1:0:-1:v2<r0?Hm<r0?0:-1:0:-1:Wx<r0?ff<r0?Tb<r0?Fm<r0?0:-1:0:-1:b3<r0?k7<r0?0:-1:0:-1:d3<r0?Ad<r0?P3<r0?Yd<r0?eu<r0?l7<r0?Mt<r0?v1<r0?Cg<r0?Xm<r0?0:-1:0:-1:zf<r0?mD<r0?0:-1:0:-1:Mv<r0?tt<r0?Pm<r0?ld<r0?0:-1:0:-1:$3<r0?zp<r0?0:-1:0:-1:qx<r0?n3<r0?YD<r0?uD<r0?I7<r0?fl<r0?0:-1:0:-1:al<r0?j_<r0?0:-1:0:-1:Cc<r0?N1<r0?O_<r0?B7<r0?0:-1:0:-1:pd<r0?dm<r0?0:-1:0:-1:N0<r0?Xh<r0?dh<r0?dg<r0?b0<r0?bp<r0?Nl<r0?Ph<r0?0:-1:0:-1:M3<r0?lb<r0?0:-1:0:-1:rc<r0?ec<r0?P_<r0?Ud<r0?0:-1:0:-1:fv<r0?K_<r0?0:-1:0:-1:Om<r0?Ag<r0?rf<r0?O3<r0?Fn<r0?bt<r0?0:-1:0:-1:U<r0?j7<r0?0:-1:0:-1:DC<r0?ed<r0?Im<r0?i3<r0?0:-1:0:-1:0:-1:kv<r0?Hd<r0?Jy<r0?Za<r0?wD<r0?E1<r0?ag<r0?xh<r0?Hv<r0?vv<r0?l3<r0?0:-1:0:-1:H3<r0?co<r0?0:-1:0:-1:LD<r0?ex<r0?qy<r0?nD<r0?0:-1:0:-1:ED<r0?Pa<r0?0:-1:0:-1:sD<r0?th<r0?hh<r0?L_<r0?h3<r0?Cy<r0?0:-1:0:-1:w7<r0?Ey<r0?0:-1:0:-1:H2<r0?eh<r0?xv<r0?0:-1:0:u2<r0?C<r0?0:-1:0:P<r0?Kg<r0?wl<r0?b_<r0?cc<r0?W_<r0?0:-1:Tg<r0?i_<r0?0:-1:0:-1:Sb<r0?tv<r0?s7<r0?Ku<r0?0:-1:0:-1:nb<r0?Cf<r0?0:-1:0:-1:aE<r0?Gr<r0?hE<r0?O<r0?0:-1:Uc<r0?Qv<r0?0:-1:0:-1:Un<r0?T3<r0?X_<r0?BC<r0?0:-1:0:-1:p2<r0?dy<r0?0:-1:0:-1:Jr<r0?uv<r0?Gc<r0?mo<r0?Q3<r0?vD<r0?yv<r0?Qd<r0?e7<r0?Jh<r0?0:-1:0:-1:u7<r0?b2<r0?0:-1:0:-1:BD<r0?0:oE<r0?bg<r0?0:-1:0:-1:B3<r0?0:sE<r0?G2<r0?pa<r0?o7<r0?0:-1:0:-1:0:-1:r_<r0?$y<r0?U3<r0?X7<r0?C7<r0?wh<r0?L7<r0?0:-1:0:-1:Zy<r0?t8<r0?0:-1:0:LC<r0?jp<r0?0:-1:F3<r0?lE<r0?0:-1:0:-1:UD<r0?uc<r0?tm<r0?C0<r0?0:-1:G0<r0?rD<r0?0:-1:0:-1:0:Qb<r0?N7<r0?D2<r0?Se<r0?D_<r0?_g<r0?MC<r0?hy<r0?ub<r0?ph<r0?$7<r0?yE<r0?0:-1:S0<r0?Dh<r0?0:-1:0:-1:Ko<r0&&kg<r0?o0<r0?0:-1:0:FD<r0?_y<r0?c3<r0&&EC<r0?ho<r0?0:-1:0:-1:Xp<r0?Bp<r0?_u<r0?GD<r0?0:-1:0:-1:Q2<r0?g7<r0?0:-1:0:Y_<r0?NE<r0?n8<r0||Fd<r0?0:SE<r0?Y3<r0?0:-1:0:-1:rs<r0||Pc<r0?0:SC<r0?Bd<r0?0:-1:0:D7<r0?Em<r0?Ju<r0?QE<r0?zm<r0&&sy<r0?mb<r0?0:-1:0:m_<r0&&g3<r0?Gf<r0?0:-1:0:-1:CD<r0?Mg<r0?Yg<r0?If<r0?_c<r0?Uv<r0?0:-1:0:-1:0:-1:0:Mc<r0?wy<r0?CE<r0?EE<r0?vp<r0?D<r0?Ub<r0?0:-1:0:-1:0:NC<r0?0:e3<r0?m3<r0?0:-1:0:-1:j3<r0&&v7<r0&&cv<r0?FC<r0?0:-1:0:Gh<r0?Mm<r0?fi<r0?SD<r0?FE<r0?ri<r0?DD<r0?qD<r0?0:-1:mf<r0?Ep<r0?0:-1:0:-1:0:Nc<r0?Wg<r0?0:My<r0?ib<r0?0:-1:0:UC<r0&&p1<r0?C2<r0?0:-1:0:GE<r0?pm<r0?o2<r0?Dg<r0&&S7<r0?zg<r0?0:-1:0:-1:Tt<r0?y7<r0?cb<r0?M7<r0?0:-1:0:-1:0:0:-1:qv<r0?WC<r0?am<r0?_m<r0?Op<r0?x_<r0?0:-1:lv<r0?ze<r0?0:-1:0:0:x7<r0?Oh<r0?H_<r0?0:$a<r0?Z2<r0?0:-1:0:-1:py<r0?Iy<r0?bd<r0?0:-1:0:v_<r0?Ne<r0?0:-1:0:-1:yo<r0?Yh<r0?xm<r0?fy<r0?o1<r0?Hi<r0?my<r0?0:-1:0:-1:md<r0?ol<r0?0:-1:0:0:-1:_1<r0?za<r0?xl<r0?ws<r0?f7<r0?Iu<r0?0:-1:0:-1:n_<r0?ym<r0?0:-1:0:-1:Il<r0?z_<r0?Bo<r0?xf<r0?0:-1:0:-1:0:-1:vm<r0?Ii<r0?ce<r0?Q7<r0?bh<r0?x3<r0?E2<r0?M<r0&&tD<r0?AE<r0?0:-1:0:pg<r0?Su<r0?qm<r0?t_<r0?0:-1:0:-1:S_<r0?jd<r0?0:-1:0:-1:AC<r0?wE<r0?Zr<r0?Td<r0?t7<r0?0:-1:0:-1:lh<r0?JE<r0?0:-1:0:0:yl<r0?Q_<r0?jf<r0?X2<r0?Wm<r0?0:-1:Kb<r0?_i<r0?0:-1:0:-1:K0<r0?jC<r0?0:-1:Mn<r0?C3<r0?0:-1:0:oy<r0?0:Zv<r0?hb<r0?0:-1:RC<r0?qh<r0?0:-1:0:$f<r0?gy<r0?xD<r0?dC<r0?Xd<r0?Z<r0?Jl<r0?0:-1:0:$C<r0?Ss<r0?0:-1:0:-1:0:Xo<r0?pp<r0?Bs<r0?e8<r0?TC<r0?0:-1:0:-1:Ug<r0?bm<r0?0:-1:0:0:Hu<r0?zC<r0?om<r0?y3<r0?VD<r0?0:-1:TE<r0?Lf<r0?0:-1:0:0:-1:F7<r0?mv<r0?b7<r0?ov<r0?Xn<r0?0:-1:0:Lb<r0?Ky<r0?0:-1:0:-1:dE<r0?K3<r0?H<r0?kb<r0?0:-1:0:-1:0:-1:Vf<r0?Cd<r0?zv<r0?hl<r0?hm<r0?Qp<r0?sC<r0?f0<r0?yD<r0?Th<r0?Qy<r0?0:-1:0:-1:vg<r0?E_<r0?0:-1:0:-1:Sm<r0?Zm<r0?n7<r0?k_<r0?0:-1:0:-1:ot<r0?PD<r0?0:-1:0:B0<r0?e_<r0?iC<r0?Nb<r0?Ob<r0?ab<r0?0:-1:0:-1:Ws<r0?pb<r0?0:-1:0:-1:tC<r0?wv<r0?P2<r0?DE<r0?0:-1:0:-1:Mo<r0?Vg<r0?0:-1:0:-1:Wl<r0?Gd<r0?Sl<r0?O7<r0?mu<r0?0:-1:IC<r0?A0<r0?0:-1:0:c2<r0?jb<r0?Yl<r0?b1<r0?0:-1:0:-1:Dy<r0?oi<r0?0:-1:0:-1:zh<r0?Te<r0?of<r0?Vy<r0?Yu<r0?Ut<r0?0:-1:0:-1:Rv<r0?sv<r0?0:-1:0:-1:U7<r0?Bm<r0?Bv<r0?qg<r0?0:-1:0:-1:jg<r0?cD<r0?0:-1:0:-1:tb<r0?h7<r0?Ay<r0?Wh<r0?_7<r0?rC<r0?hc<r0?Uu<r0?oC<r0?O0<r0?0:-1:0:-1:s1<r0?HD<r0?0:-1:0:-1:Ix<r0?rd<r0?df<r0?tl<r0?0:-1:0:-1:Tm<r0?B2<r0?0:-1:0:-1:Pv<r0?Tp<r0?e0<r0?Xc<r0?a_<r0?0:-1:0:-1:ly<r0?Wp<r0?0:-1:0:mp<r0?Nv<r0?Vh<r0?tf<r0?0:-1:0:-1:rl<r0?aD<r0?0:-1:0:-1:Lv<r0?d0<r0?Gm<r0?Xv<r0?LE<r0?Fg<r0?0:-1:0:Zc<r0?Zb<r0?0:-1:0:E3<r0?0:Qg<r0?wg<r0?0:-1:0:-1:pf<r0?Bh<r0?Id<r0?Ly<r0?R_<r0?U0<r0?0:-1:0:-1:Up<r0?G_<r0?0:-1:0:-1:k3<r0?cy<r0?g0<r0?U1<r0?0:-1:0:-1:qr<r0?De<r0?0:-1:0:-1:Zt<r0?ry<r0?Qm<r0?gm<r0?Ds<r0?a8<r0?ql<r0?wf<r0?L2<r0?xu<r0?jy<r0?Rd<r0?Rb<r0?W3<r0?Y0<r0?0:-1:0:-1:U_<r0?xC<r0?0:-1:0:-1:Jm<r0?Dm<r0?Al<r0?Fl<r0?0:-1:0:-1:F_<r0?Nt<r0?0:-1:0:-1:Ff<r0?0:y2<r0?l1<r0?vy<r0?gd<r0?0:-1:0:-1:Fh<r0?Sh<r0?0:-1:0:-1:P0<r0?W7<r0?YE<r0?i8<r0?dD<r0?Vb<r0?Y7<r0?V0<r0?0:-1:0:-1:av<r0?W<r0?0:-1:0:-1:Vv<r0?gC<r0?Is<r0?cp<r0?0:-1:0:-1:Gb<r0?RE<r0?0:-1:0:-1:y0<r0?Ou<r0?bo<r0?rb<r0?E7<r0?ZD<r0?0:-1:0:-1:Ty<r0?by<r0?0:-1:0:-1:mh<r0?mm<r0?Gg<r0?I3<r0?0:-1:0:-1:li<r0?Av<r0?0:-1:0:-1:La<r0?Uy<r0?Cp<r0?js<r0?q_<r0?lD<r0&&QD<r0?ID<r0?0:-1:0:-1:H1<r0?c0<r0?N_<r0?l2<r0?0:-1:0:-1:kp<r0?Hy<r0?0:-1:0:-1:hf<r0?fE<r0?gb<r0?d<r0?w3<r0?_o<r0?0:-1:0:-1:td<r0?C1<r0?0:-1:0:-1:cE<r0?wb<r0?0:-1:0:Xg<r0?Fv<r0?x8<r0?0:Bb<r0?uC<r0?fb<r0?0:-1:0:fD<r0?nf<r0?0:-1:0:-1:J7<r0?Kt<r0?og<r0?V_<r0?G<r0?Kv<r0?0:-1:0:-1:wm<r0?Jf<r0?0:-1:0:-1:rm<r0&&Fb<r0?kh<r0?0:-1:0:q3<r0?$<r0?x2<r0?Uh<r0?BE<r0&&X3<r0?ts<r0?0:-1:0:J3<r0?G1<r0?qs<r0?0:-1:0:Wv<r0?N3<r0?0:-1:0:0:Hh<r0?$m<r0?0:Sv<r0?_b<r0?0:-1:0:g_<r0?Rc<r0?Ev<r0?PC<r0?Mr<r0?0:-1:0:-1:0:rv<r0?0:$d<r0?Ur<r0?0:-1:0:nx<r0?ZE<r0?qa<r0?0:Eg<r0&&JD<r0?M2<r0?0:-1:0:ip<r0?K7<r0?0:$c<r0?Vm<r0?0:-1:0:gt<r0&&R7<r0?Mf<r0?0:-1:0:z7<r0?_<r0?0:zd<r0?bC<r0?0:-1:eC<r0?L3<r0?0:-1:0:Sy<r0?wC<r0?cl<r0?0:-1:0:ng<r0?0:zy<r0?Pf<r0?0:-1:0:-1:Hp<r0?lg<r0?I1<r0?h_<r0?Rl<r0?ev<r0?IE<r0?r8<r0?PE<r0?0:-1:sp<r0?D3<r0?0:-1:0:fh<r0?0:A3<r0?Ip<r0?0:-1:0:-1:0:p8<r0?Hf<r0?0:Dv<r0?Px<r0?Pe<r0?kD<r0?0:-1:0:-1:0:By<r0?wd<r0&&$b<r0?ny<r0?0:-1:0:_E<r0?$v<r0?iy<r0?em<r0?0:-1:0:-1:0:Lo<r0?sf<r0?Zd<r0?R0<r0?0:v3<r0?CC<r0?zl<r0?iD<r0?0:-1:0:-1:0:ig<r0?m2<r0?rp<r0&&gD<r0?Ed<r0?0:-1:0:-1:bn<r0?__<r0?0:-1:0:-1:i7<r0?Fo<r0?nd<r0?Y2<r0?nC<r0?0:Wb<r0?cg<r0?0:-1:0:-1:Eh<r0?wu<r0?T_<r0?lp<r0?0:-1:0:-1:sb<r0?ds<r0?0:-1:0:-1:vh<r0?dv<r0?Hx<r0?Tv<r0?Rp<r0?0:-1:0:xi<r0?af<r0?0:-1:0:-1:0:-1:mE<r0?bf<r0?Ib<r0?r7<r0?sh<r0?I0<r0?Lm<r0?qf<r0&&_t<r0?ep<r0?0:-1:0:-1:HE<r0&&kC<r0?Hg<r0?0:-1:0:-1:s2<r0?rx<r0?AD<r0?0:Nf<r0?h2<r0?0:-1:0:-1:Ah<r0?uh<r0?Ch<r0?hD<r0?0:-1:0:-1:Zg<r0?q7<r0?0:-1:0:-1:_v<r0?f3<r0?Cv<r0?ay<r0?Yy<r0?hg<r0?Md<r0?Ro<r0?0:-1:0:-1:ND<r0?$h<r0?0:-1:0:-1:kf<r0?Of<r0?0:-1:TD<r0?nv<r0?0:-1:0:-1:R3<r0?ch<r0?y_<r0?WD<r0?Js<r0?0:-1:0:-1:Ap<r0?qb<r0?0:-1:0:Mb<r0?ht<r0?0:-1:0:pl<r0?d7<r0?Uf<r0?nl<r0?Km<r0?j<r0?_d<r0?G7<r0?xb<r0?0:-1:0:-1:D0<r0?H7<r0?0:-1:0:Vp<r0?w_<r0?0:-1:a3<r0?Sg<r0?0:-1:0:-1:zD<r0?bE<r0&&Yv<r0?Ry<r0?0:-1:0:oc<r0?$i<r0?0:-1:XD<r0?t3<r0?0:-1:0:-1:$e<r0?ah<r0?Bi<r0?d_<r0?Pu<r0?j2<r0?an<r0?0:-1:0:z3<r0?Yb<r0?0:-1:0:-1:zb<r0?B_<r0?nm<r0?eD<r0?0:-1:0:-1:ug<r0?T7<r0?0:-1:0:-1:Z7<r0?Yi<r0?J_<r0?Dd<r0?W1<r0?Oy<r0?0:-1:0:-1:M_<r0?Z3<r0?0:-1:0:-1:eb<r0?im<r0?qC<r0?Rf<r0?0:-1:0:-1:Np<r0?Kc<r0?0:-1:0:-1:fr(FX1,r0+Kd|0)-1|0:-1;else _T=-1;if(2<_T>>>0)Br=Zx(x);else switch(_T){case 0:Br=L(x);break;case 1:Br=v(x);break;default:Qe(x,48);var BT=V4(Rx(x));if(2<BT>>>0)Br=Zx(x);else switch(BT){case 0:Br=L(x);break;case 1:Br=v(x);break;default:Qe(x,48);var IS=OK(Rx(x));if(2<IS>>>0)Br=Zx(x);else switch(IS){case 0:Br=L(x);break;case 1:Br=v(x);break;default:Qe(x,38);var I5=_h(Rx(x));Br=I5===0?L(x):I5===1?v(x):Zx(x)}}}}break;case 34:Qe(x,48);var LT=JV(Rx(x));if(2<LT>>>0)Br=Zx(x);else switch(LT){case 0:Br=L(x);break;case 1:Br=v(x);break;default:Qe(x,48);var yT=Rx(x);if(yT)var sx=yT[1],XA=35<sx?C_<sx?ha<sx?vs<sx?-1:ne<sx?Mu<sx?Nh<sx?_D<sx?O2<sx?a7<sx?uy<sx?pE<sx?Jg<sx?0:-1:$D<sx?ks<sx?0:-1:0:-1:N2<sx?up<sx?A7<sx?A_<sx?0:-1:0:-1:e<sx?Xf<sx?0:-1:0:-1:Ld<sx?w1<sx?Zo<sx?Ov<sx?pv<sx?mg<sx?Xy<sx?Cm<sx?ob<sx?Sd<sx?0:-1:0:-1:d2<sx?qt<sx?0:-1:0:-1:Am<sx?$_<sx?Bt<sx?Pp<sx?0:-1:0:-1:Fc<sx?_3<sx?0:-1:0:-1:yy<sx?sn<sx?G3<sx?jl<sx?vd<sx?Hb<sx?0:-1:0:-1:Gt<sx?aC<sx?0:-1:0:-1:_e<sx?Ac<sx?Gv<sx?op<sx?0:-1:0:-1:Zl<sx?Jv<sx?0:-1:0:-1:I_<sx?Pb<sx?gg<sx?ih<sx?m7<sx?P7<sx?np<sx?bv<sx?0:-1:0:-1:Yp<sx?Rg<sx?0:-1:0:-1:dp<sx?V7<sx?Kh<sx?Xl<sx?0:-1:0:-1:oD<sx?Jb<sx?0:-1:0:-1:Us<sx?dd<sx?hv<sx?Dp<sx?jv<sx?Zp<sx?0:-1:0:-1:bD<sx?V3<sx?0:-1:0:-1:gv<sx?iv<sx?oh<sx?Ym<sx?0:-1:0:-1:Gy<sx?p7<sx?0:-1:0:-1:fp<sx?Ef<sx?c7<sx?l0<sx?Z1<sx?Hr<sx?Eb<sx?Xb<sx?OD<sx?R2<sx?kE<sx?Iv<sx?0:-1:0:-1:0:Ox<sx?Kf<sx?gE<sx?Va<sx?0:-1:0:-1:ge<sx?_l<sx?0:-1:0:pD<sx?vE<sx?ky<sx?wp<sx?0:-1:p3<sx?Ih<sx?0:-1:0:-1:MD<sx?OC<sx?0:-1:KC<sx?r3<sx?0:-1:0:-1:I2<sx?lo<sx?Re<sx?yC<sx?ME<sx?db<sx?fg<sx?Wy<sx?0:-1:0:-1:XE<sx?xd<sx?0:-1:0:-1:Wa<sx?yc<sx?S3<sx?Kl<sx?0:-1:0:-1:Fy<sx?xc<sx?0:-1:0:-1:ka<sx?Kp<sx?uE<sx?Lg<sx?_C<sx?OE<sx?0:-1:0:-1:v2<sx?Hm<sx?0:-1:0:-1:Wx<sx?ff<sx?Tb<sx?Fm<sx?0:-1:0:-1:b3<sx?k7<sx?0:-1:0:-1:d3<sx?Ad<sx?P3<sx?Yd<sx?eu<sx?l7<sx?Mt<sx?v1<sx?Cg<sx?Xm<sx?0:-1:0:-1:zf<sx?mD<sx?0:-1:0:-1:Mv<sx?tt<sx?Pm<sx?ld<sx?0:-1:0:-1:$3<sx?zp<sx?0:-1:0:-1:qx<sx?n3<sx?YD<sx?uD<sx?I7<sx?fl<sx?0:-1:0:-1:al<sx?j_<sx?0:-1:0:-1:Cc<sx?N1<sx?O_<sx?B7<sx?0:-1:0:-1:pd<sx?dm<sx?0:-1:0:-1:N0<sx?Xh<sx?dh<sx?dg<sx?b0<sx?bp<sx?Nl<sx?Ph<sx?0:-1:0:-1:M3<sx?lb<sx?0:-1:0:-1:rc<sx?ec<sx?P_<sx?Ud<sx?0:-1:0:-1:fv<sx?K_<sx?0:-1:0:-1:Om<sx?Ag<sx?rf<sx?O3<sx?Fn<sx?bt<sx?0:-1:0:-1:U<sx?j7<sx?0:-1:0:-1:DC<sx?ed<sx?Im<sx?i3<sx?0:-1:0:-1:0:-1:kv<sx?Hd<sx?Jy<sx?Za<sx?wD<sx?E1<sx?ag<sx?xh<sx?Hv<sx?vv<sx?l3<sx?0:-1:0:-1:H3<sx?co<sx?0:-1:0:-1:LD<sx?ex<sx?qy<sx?nD<sx?0:-1:0:-1:ED<sx?Pa<sx?0:-1:0:-1:sD<sx?th<sx?hh<sx?L_<sx?h3<sx?Cy<sx?0:-1:0:-1:w7<sx?Ey<sx?0:-1:0:-1:H2<sx?eh<sx?xv<sx?0:-1:0:u2<sx?C<sx?0:-1:0:P<sx?Kg<sx?wl<sx?b_<sx?cc<sx?W_<sx?0:-1:Tg<sx?i_<sx?0:-1:0:-1:Sb<sx?tv<sx?s7<sx?Ku<sx?0:-1:0:-1:nb<sx?Cf<sx?0:-1:0:-1:aE<sx?Gr<sx?hE<sx?O<sx?0:-1:Uc<sx?Qv<sx?0:-1:0:-1:Un<sx?T3<sx?X_<sx?BC<sx?0:-1:0:-1:p2<sx?dy<sx?0:-1:0:-1:Jr<sx?uv<sx?Gc<sx?mo<sx?Q3<sx?vD<sx?yv<sx?Qd<sx?e7<sx?Jh<sx?0:-1:0:-1:u7<sx?b2<sx?0:-1:0:-1:BD<sx?0:oE<sx?bg<sx?0:-1:0:-1:B3<sx?0:sE<sx?G2<sx?pa<sx?o7<sx?0:-1:0:-1:0:-1:r_<sx?$y<sx?U3<sx?X7<sx?C7<sx?wh<sx?L7<sx?0:-1:0:-1:Zy<sx?t8<sx?0:-1:0:LC<sx?jp<sx?0:-1:F3<sx?lE<sx?0:-1:0:-1:UD<sx?uc<sx?tm<sx?C0<sx?0:-1:G0<sx?rD<sx?0:-1:0:-1:0:Qb<sx?N7<sx?D2<sx?Se<sx?D_<sx?_g<sx?MC<sx?hy<sx?ub<sx?ph<sx?$7<sx?yE<sx?0:-1:S0<sx?Dh<sx?0:-1:0:-1:Ko<sx&&kg<sx?o0<sx?0:-1:0:FD<sx?_y<sx?c3<sx&&EC<sx?ho<sx?0:-1:0:-1:Xp<sx?Bp<sx?_u<sx?GD<sx?0:-1:0:-1:Q2<sx?g7<sx?0:-1:0:Y_<sx?NE<sx?n8<sx||Fd<sx?0:SE<sx?Y3<sx?0:-1:0:-1:rs<sx||Pc<sx?0:SC<sx?Bd<sx?0:-1:0:D7<sx?Em<sx?Ju<sx?QE<sx?zm<sx&&sy<sx?mb<sx?0:-1:0:m_<sx&&g3<sx?Gf<sx?0:-1:0:-1:CD<sx?Mg<sx?Yg<sx?If<sx?_c<sx?Uv<sx?0:-1:0:-1:0:-1:0:Mc<sx?wy<sx?CE<sx?EE<sx?vp<sx?D<sx?Ub<sx?0:-1:0:-1:0:NC<sx?0:e3<sx?m3<sx?0:-1:0:-1:j3<sx&&v7<sx&&cv<sx?FC<sx?0:-1:0:Gh<sx?Mm<sx?fi<sx?SD<sx?FE<sx?ri<sx?DD<sx?qD<sx?0:-1:mf<sx?Ep<sx?0:-1:0:-1:0:Nc<sx?Wg<sx?0:My<sx?ib<sx?0:-1:0:UC<sx&&p1<sx?C2<sx?0:-1:0:GE<sx?pm<sx?o2<sx?Dg<sx&&S7<sx?zg<sx?0:-1:0:-1:Tt<sx?y7<sx?cb<sx?M7<sx?0:-1:0:-1:0:0:-1:qv<sx?WC<sx?am<sx?_m<sx?Op<sx?x_<sx?0:-1:lv<sx?ze<sx?0:-1:0:0:x7<sx?Oh<sx?H_<sx?0:$a<sx?Z2<sx?0:-1:0:-1:py<sx?Iy<sx?bd<sx?0:-1:0:v_<sx?Ne<sx?0:-1:0:-1:yo<sx?Yh<sx?xm<sx?fy<sx?o1<sx?Hi<sx?my<sx?0:-1:0:-1:md<sx?ol<sx?0:-1:0:0:-1:_1<sx?za<sx?xl<sx?ws<sx?f7<sx?Iu<sx?0:-1:0:-1:n_<sx?ym<sx?0:-1:0:-1:Il<sx?z_<sx?Bo<sx?xf<sx?0:-1:0:-1:0:-1:vm<sx?Ii<sx?ce<sx?Q7<sx?bh<sx?x3<sx?E2<sx?M<sx&&tD<sx?AE<sx?0:-1:0:pg<sx?Su<sx?qm<sx?t_<sx?0:-1:0:-1:S_<sx?jd<sx?0:-1:0:-1:AC<sx?wE<sx?Zr<sx?Td<sx?t7<sx?0:-1:0:-1:lh<sx?JE<sx?0:-1:0:0:yl<sx?Q_<sx?jf<sx?X2<sx?Wm<sx?0:-1:Kb<sx?_i<sx?0:-1:0:-1:K0<sx?jC<sx?0:-1:Mn<sx?C3<sx?0:-1:0:oy<sx?0:Zv<sx?hb<sx?0:-1:RC<sx?qh<sx?0:-1:0:$f<sx?gy<sx?xD<sx?dC<sx?Xd<sx?Z<sx?Jl<sx?0:-1:0:$C<sx?Ss<sx?0:-1:0:-1:0:Xo<sx?pp<sx?Bs<sx?e8<sx?TC<sx?0:-1:0:-1:Ug<sx?bm<sx?0:-1:0:0:Hu<sx?zC<sx?om<sx?y3<sx?VD<sx?0:-1:TE<sx?Lf<sx?0:-1:0:0:-1:F7<sx?mv<sx?b7<sx?ov<sx?Xn<sx?0:-1:0:Lb<sx?Ky<sx?0:-1:0:-1:dE<sx?K3<sx?H<sx?kb<sx?0:-1:0:-1:0:-1:Vf<sx?Cd<sx?zv<sx?hl<sx?hm<sx?Qp<sx?sC<sx?f0<sx?yD<sx?Th<sx?Qy<sx?0:-1:0:-1:vg<sx?E_<sx?0:-1:0:-1:Sm<sx?Zm<sx?n7<sx?k_<sx?0:-1:0:-1:ot<sx?PD<sx?0:-1:0:B0<sx?e_<sx?iC<sx?Nb<sx?Ob<sx?ab<sx?0:-1:0:-1:Ws<sx?pb<sx?0:-1:0:-1:tC<sx?wv<sx?P2<sx?DE<sx?0:-1:0:-1:Mo<sx?Vg<sx?0:-1:0:-1:Wl<sx?Gd<sx?Sl<sx?O7<sx?mu<sx?0:-1:IC<sx?A0<sx?0:-1:0:c2<sx?jb<sx?Yl<sx?b1<sx?0:-1:0:-1:Dy<sx?oi<sx?0:-1:0:-1:zh<sx?Te<sx?of<sx?Vy<sx?Yu<sx?Ut<sx?0:-1:0:-1:Rv<sx?sv<sx?0:-1:0:-1:U7<sx?Bm<sx?Bv<sx?qg<sx?0:-1:0:-1:jg<sx?cD<sx?0:-1:0:-1:tb<sx?h7<sx?Ay<sx?Wh<sx?_7<sx?rC<sx?hc<sx?Uu<sx?oC<sx?O0<sx?0:-1:0:-1:s1<sx?HD<sx?0:-1:0:-1:Ix<sx?rd<sx?df<sx?tl<sx?0:-1:0:-1:Tm<sx?B2<sx?0:-1:0:-1:Pv<sx?Tp<sx?e0<sx?Xc<sx?a_<sx?0:-1:0:-1:ly<sx?Wp<sx?0:-1:0:mp<sx?Nv<sx?Vh<sx?tf<sx?0:-1:0:-1:rl<sx?aD<sx?0:-1:0:-1:Lv<sx?d0<sx?Gm<sx?Xv<sx?LE<sx?Fg<sx?0:-1:0:Zc<sx?Zb<sx?0:-1:0:E3<sx?0:Qg<sx?wg<sx?0:-1:0:-1:pf<sx?Bh<sx?Id<sx?Ly<sx?R_<sx?U0<sx?0:-1:0:-1:Up<sx?G_<sx?0:-1:0:-1:k3<sx?cy<sx?g0<sx?U1<sx?0:-1:0:-1:qr<sx?De<sx?0:-1:0:-1:Zt<sx?ry<sx?Qm<sx?gm<sx?Ds<sx?a8<sx?ql<sx?wf<sx?L2<sx?xu<sx?jy<sx?Rd<sx?Rb<sx?W3<sx?Y0<sx?0:-1:0:-1:U_<sx?xC<sx?0:-1:0:-1:Jm<sx?Dm<sx?Al<sx?Fl<sx?0:-1:0:-1:F_<sx?Nt<sx?0:-1:0:-1:Ff<sx?0:y2<sx?l1<sx?vy<sx?gd<sx?0:-1:0:-1:Fh<sx?Sh<sx?0:-1:0:-1:P0<sx?W7<sx?YE<sx?i8<sx?dD<sx?Vb<sx?Y7<sx?V0<sx?0:-1:0:-1:av<sx?W<sx?0:-1:0:-1:Vv<sx?gC<sx?Is<sx?cp<sx?0:-1:0:-1:Gb<sx?RE<sx?0:-1:0:-1:y0<sx?Ou<sx?bo<sx?rb<sx?E7<sx?ZD<sx?0:-1:0:-1:Ty<sx?by<sx?0:-1:0:-1:mh<sx?mm<sx?Gg<sx?I3<sx?0:-1:0:-1:li<sx?Av<sx?0:-1:0:-1:La<sx?Uy<sx?Cp<sx?js<sx?q_<sx?lD<sx&&QD<sx?ID<sx?0:-1:0:-1:H1<sx?c0<sx?N_<sx?l2<sx?0:-1:0:-1:kp<sx?Hy<sx?0:-1:0:-1:hf<sx?fE<sx?gb<sx?d<sx?w3<sx?_o<sx?0:-1:0:-1:td<sx?C1<sx?0:-1:0:-1:cE<sx?wb<sx?0:-1:0:Xg<sx?Fv<sx?x8<sx?0:Bb<sx?uC<sx?fb<sx?0:-1:0:fD<sx?nf<sx?0:-1:0:-1:J7<sx?Kt<sx?og<sx?V_<sx?G<sx?Kv<sx?0:-1:0:-1:wm<sx?Jf<sx?0:-1:0:-1:rm<sx&&Fb<sx?kh<sx?0:-1:0:q3<sx?$<sx?x2<sx?Uh<sx?BE<sx&&X3<sx?ts<sx?0:-1:0:J3<sx?G1<sx?qs<sx?0:-1:0:Wv<sx?N3<sx?0:-1:0:0:Hh<sx?$m<sx?0:Sv<sx?_b<sx?0:-1:0:g_<sx?Rc<sx?Ev<sx?PC<sx?Mr<sx?0:-1:0:-1:0:rv<sx?0:$d<sx?Ur<sx?0:-1:0:nx<sx?ZE<sx?qa<sx?0:Eg<sx&&JD<sx?M2<sx?0:-1:0:ip<sx?K7<sx?0:$c<sx?Vm<sx?0:-1:0:gt<sx&&R7<sx?Mf<sx?0:-1:0:z7<sx?_<sx?0:zd<sx?bC<sx?0:-1:eC<sx?L3<sx?0:-1:0:Sy<sx?wC<sx?cl<sx?0:-1:0:ng<sx?0:zy<sx?Pf<sx?0:-1:0:-1:Hp<sx?lg<sx?I1<sx?h_<sx?Rl<sx?ev<sx?IE<sx?r8<sx?PE<sx?0:-1:sp<sx?D3<sx?0:-1:0:fh<sx?0:A3<sx?Ip<sx?0:-1:0:-1:0:p8<sx?Hf<sx?0:Dv<sx?Px<sx?Pe<sx?kD<sx?0:-1:0:-1:0:By<sx?wd<sx&&$b<sx?ny<sx?0:-1:0:_E<sx?$v<sx?iy<sx?em<sx?0:-1:0:-1:0:Lo<sx?sf<sx?Zd<sx?R0<sx?0:v3<sx?CC<sx?zl<sx?iD<sx?0:-1:0:-1:0:ig<sx?m2<sx?rp<sx&&gD<sx?Ed<sx?0:-1:0:-1:bn<sx?__<sx?0:-1:0:-1:i7<sx?Fo<sx?nd<sx?Y2<sx?nC<sx?0:Wb<sx?cg<sx?0:-1:0:-1:Eh<sx?wu<sx?T_<sx?lp<sx?0:-1:0:-1:sb<sx?ds<sx?0:-1:0:-1:vh<sx?dv<sx?Hx<sx?Tv<sx?Rp<sx?0:-1:0:xi<sx?af<sx?0:-1:0:-1:0:-1:mE<sx?bf<sx?Ib<sx?r7<sx?sh<sx?I0<sx?Lm<sx?qf<sx&&_t<sx?ep<sx?0:-1:0:-1:HE<sx&&kC<sx?Hg<sx?0:-1:0:-1:s2<sx?rx<sx?AD<sx?0:Nf<sx?h2<sx?0:-1:0:-1:Ah<sx?uh<sx?Ch<sx?hD<sx?0:-1:0:-1:Zg<sx?q7<sx?0:-1:0:-1:_v<sx?f3<sx?Cv<sx?ay<sx?Yy<sx?hg<sx?Md<sx?Ro<sx?0:-1:0:-1:ND<sx?$h<sx?0:-1:0:-1:kf<sx?Of<sx?0:-1:TD<sx?nv<sx?0:-1:0:-1:R3<sx?ch<sx?y_<sx?WD<sx?Js<sx?0:-1:0:-1:Ap<sx?qb<sx?0:-1:0:Mb<sx?ht<sx?0:-1:0:pl<sx?d7<sx?Uf<sx?nl<sx?Km<sx?j<sx?_d<sx?G7<sx?xb<sx?0:-1:0:-1:D0<sx?H7<sx?0:-1:0:Vp<sx?w_<sx?0:-1:a3<sx?Sg<sx?0:-1:0:-1:zD<sx?bE<sx&&Yv<sx?Ry<sx?0:-1:0:oc<sx?$i<sx?0:-1:XD<sx?t3<sx?0:-1:0:-1:$e<sx?ah<sx?Bi<sx?d_<sx?Pu<sx?j2<sx?an<sx?0:-1:0:z3<sx?Yb<sx?0:-1:0:-1:zb<sx?B_<sx?nm<sx?eD<sx?0:-1:0:-1:ug<sx?T7<sx?0:-1:0:-1:Z7<sx?Yi<sx?J_<sx?Dd<sx?W1<sx?Oy<sx?0:-1:0:-1:M_<sx?Z3<sx?0:-1:0:-1:eb<sx?im<sx?qC<sx?Rf<sx?0:-1:0:-1:Np<sx?Kc<sx?0:-1:0:-1:fr(QX1,sx+Kd|0)-1|0:-1;else XA=-1;if(3<XA>>>0)Br=Zx(x);else switch(XA){case 0:Br=L(x);break;case 1:Br=v(x);break;case 2:Qe(x,48);var O5=aO(Rx(x));if(2<O5>>>0)Br=Zx(x);else switch(O5){case 0:Br=L(x);break;case 1:Br=v(x);break;default:Qe(x,39);var OA=_h(Rx(x));Br=OA===0?L(x):OA===1?v(x):Zx(x)}break;default:Qe(x,48);var YA=zt0(Rx(x));if(2<YA>>>0)Br=Zx(x);else switch(YA){case 0:Br=L(x);break;case 1:Br=v(x);break;default:Qe(x,48);var a4=V4(Rx(x));if(2<a4>>>0)Br=Zx(x);else switch(a4){case 0:Br=L(x);break;case 1:Br=v(x);break;default:Qe(x,48);var c9=FL(Rx(x));if(2<c9>>>0)Br=Zx(x);else switch(c9){case 0:Br=L(x);break;case 1:Br=v(x);break;default:Qe(x,40);var Lw=_h(Rx(x));Br=Lw===0?L(x):Lw===1?v(x):Zx(x)}}}}}break;case 35:Qe(x,48);var bS=Rx(x);if(bS)var n0=bS[1],G5=35<n0?C_<n0?ha<n0?vs<n0?-1:ne<n0?Mu<n0?Nh<n0?_D<n0?O2<n0?a7<n0?uy<n0?pE<n0?Jg<n0?0:-1:$D<n0?ks<n0?0:-1:0:-1:N2<n0?up<n0?A7<n0?A_<n0?0:-1:0:-1:e<n0?Xf<n0?0:-1:0:-1:Ld<n0?w1<n0?Zo<n0?Ov<n0?pv<n0?mg<n0?Xy<n0?Cm<n0?ob<n0?Sd<n0?0:-1:0:-1:d2<n0?qt<n0?0:-1:0:-1:Am<n0?$_<n0?Bt<n0?Pp<n0?0:-1:0:-1:Fc<n0?_3<n0?0:-1:0:-1:yy<n0?sn<n0?G3<n0?jl<n0?vd<n0?Hb<n0?0:-1:0:-1:Gt<n0?aC<n0?0:-1:0:-1:_e<n0?Ac<n0?Gv<n0?op<n0?0:-1:0:-1:Zl<n0?Jv<n0?0:-1:0:-1:I_<n0?Pb<n0?gg<n0?ih<n0?m7<n0?P7<n0?np<n0?bv<n0?0:-1:0:-1:Yp<n0?Rg<n0?0:-1:0:-1:dp<n0?V7<n0?Kh<n0?Xl<n0?0:-1:0:-1:oD<n0?Jb<n0?0:-1:0:-1:Us<n0?dd<n0?hv<n0?Dp<n0?jv<n0?Zp<n0?0:-1:0:-1:bD<n0?V3<n0?0:-1:0:-1:gv<n0?iv<n0?oh<n0?Ym<n0?0:-1:0:-1:Gy<n0?p7<n0?0:-1:0:-1:fp<n0?Ef<n0?c7<n0?l0<n0?Z1<n0?Hr<n0?Eb<n0?Xb<n0?OD<n0?R2<n0?kE<n0?Iv<n0?0:-1:0:-1:0:Ox<n0?Kf<n0?gE<n0?Va<n0?0:-1:0:-1:ge<n0?_l<n0?0:-1:0:pD<n0?vE<n0?ky<n0?wp<n0?0:-1:p3<n0?Ih<n0?0:-1:0:-1:MD<n0?OC<n0?0:-1:KC<n0?r3<n0?0:-1:0:-1:I2<n0?lo<n0?Re<n0?yC<n0?ME<n0?db<n0?fg<n0?Wy<n0?0:-1:0:-1:XE<n0?xd<n0?0:-1:0:-1:Wa<n0?yc<n0?S3<n0?Kl<n0?0:-1:0:-1:Fy<n0?xc<n0?0:-1:0:-1:ka<n0?Kp<n0?uE<n0?Lg<n0?_C<n0?OE<n0?0:-1:0:-1:v2<n0?Hm<n0?0:-1:0:-1:Wx<n0?ff<n0?Tb<n0?Fm<n0?0:-1:0:-1:b3<n0?k7<n0?0:-1:0:-1:d3<n0?Ad<n0?P3<n0?Yd<n0?eu<n0?l7<n0?Mt<n0?v1<n0?Cg<n0?Xm<n0?0:-1:0:-1:zf<n0?mD<n0?0:-1:0:-1:Mv<n0?tt<n0?Pm<n0?ld<n0?0:-1:0:-1:$3<n0?zp<n0?0:-1:0:-1:qx<n0?n3<n0?YD<n0?uD<n0?I7<n0?fl<n0?0:-1:0:-1:al<n0?j_<n0?0:-1:0:-1:Cc<n0?N1<n0?O_<n0?B7<n0?0:-1:0:-1:pd<n0?dm<n0?0:-1:0:-1:N0<n0?Xh<n0?dh<n0?dg<n0?b0<n0?bp<n0?Nl<n0?Ph<n0?0:-1:0:-1:M3<n0?lb<n0?0:-1:0:-1:rc<n0?ec<n0?P_<n0?Ud<n0?0:-1:0:-1:fv<n0?K_<n0?0:-1:0:-1:Om<n0?Ag<n0?rf<n0?O3<n0?Fn<n0?bt<n0?0:-1:0:-1:U<n0?j7<n0?0:-1:0:-1:DC<n0?ed<n0?Im<n0?i3<n0?0:-1:0:-1:0:-1:kv<n0?Hd<n0?Jy<n0?Za<n0?wD<n0?E1<n0?ag<n0?xh<n0?Hv<n0?vv<n0?l3<n0?0:-1:0:-1:H3<n0?co<n0?0:-1:0:-1:LD<n0?ex<n0?qy<n0?nD<n0?0:-1:0:-1:ED<n0?Pa<n0?0:-1:0:-1:sD<n0?th<n0?hh<n0?L_<n0?h3<n0?Cy<n0?0:-1:0:-1:w7<n0?Ey<n0?0:-1:0:-1:H2<n0?eh<n0?xv<n0?0:-1:0:u2<n0?C<n0?0:-1:0:P<n0?Kg<n0?wl<n0?b_<n0?cc<n0?W_<n0?0:-1:Tg<n0?i_<n0?0:-1:0:-1:Sb<n0?tv<n0?s7<n0?Ku<n0?0:-1:0:-1:nb<n0?Cf<n0?0:-1:0:-1:aE<n0?Gr<n0?hE<n0?O<n0?0:-1:Uc<n0?Qv<n0?0:-1:0:-1:Un<n0?T3<n0?X_<n0?BC<n0?0:-1:0:-1:p2<n0?dy<n0?0:-1:0:-1:Jr<n0?uv<n0?Gc<n0?mo<n0?Q3<n0?vD<n0?yv<n0?Qd<n0?e7<n0?Jh<n0?0:-1:0:-1:u7<n0?b2<n0?0:-1:0:-1:BD<n0?0:oE<n0?bg<n0?0:-1:0:-1:B3<n0?0:sE<n0?G2<n0?pa<n0?o7<n0?0:-1:0:-1:0:-1:r_<n0?$y<n0?U3<n0?X7<n0?C7<n0?wh<n0?L7<n0?0:-1:0:-1:Zy<n0?t8<n0?0:-1:0:LC<n0?jp<n0?0:-1:F3<n0?lE<n0?0:-1:0:-1:UD<n0?uc<n0?tm<n0?C0<n0?0:-1:G0<n0?rD<n0?0:-1:0:-1:0:Qb<n0?N7<n0?D2<n0?Se<n0?D_<n0?_g<n0?MC<n0?hy<n0?ub<n0?ph<n0?$7<n0?yE<n0?0:-1:S0<n0?Dh<n0?0:-1:0:-1:Ko<n0&&kg<n0?o0<n0?0:-1:0:FD<n0?_y<n0?c3<n0&&EC<n0?ho<n0?0:-1:0:-1:Xp<n0?Bp<n0?_u<n0?GD<n0?0:-1:0:-1:Q2<n0?g7<n0?0:-1:0:Y_<n0?NE<n0?n8<n0||Fd<n0?0:SE<n0?Y3<n0?0:-1:0:-1:rs<n0||Pc<n0?0:SC<n0?Bd<n0?0:-1:0:D7<n0?Em<n0?Ju<n0?QE<n0?zm<n0&&sy<n0?mb<n0?0:-1:0:m_<n0&&g3<n0?Gf<n0?0:-1:0:-1:CD<n0?Mg<n0?Yg<n0?If<n0?_c<n0?Uv<n0?0:-1:0:-1:0:-1:0:Mc<n0?wy<n0?CE<n0?EE<n0?vp<n0?D<n0?Ub<n0?0:-1:0:-1:0:NC<n0?0:e3<n0?m3<n0?0:-1:0:-1:j3<n0&&v7<n0&&cv<n0?FC<n0?0:-1:0:Gh<n0?Mm<n0?fi<n0?SD<n0?FE<n0?ri<n0?DD<n0?qD<n0?0:-1:mf<n0?Ep<n0?0:-1:0:-1:0:Nc<n0?Wg<n0?0:My<n0?ib<n0?0:-1:0:UC<n0&&p1<n0?C2<n0?0:-1:0:GE<n0?pm<n0?o2<n0?Dg<n0&&S7<n0?zg<n0?0:-1:0:-1:Tt<n0?y7<n0?cb<n0?M7<n0?0:-1:0:-1:0:0:-1:qv<n0?WC<n0?am<n0?_m<n0?Op<n0?x_<n0?0:-1:lv<n0?ze<n0?0:-1:0:0:x7<n0?Oh<n0?H_<n0?0:$a<n0?Z2<n0?0:-1:0:-1:py<n0?Iy<n0?bd<n0?0:-1:0:v_<n0?Ne<n0?0:-1:0:-1:yo<n0?Yh<n0?xm<n0?fy<n0?o1<n0?Hi<n0?my<n0?0:-1:0:-1:md<n0?ol<n0?0:-1:0:0:-1:_1<n0?za<n0?xl<n0?ws<n0?f7<n0?Iu<n0?0:-1:0:-1:n_<n0?ym<n0?0:-1:0:-1:Il<n0?z_<n0?Bo<n0?xf<n0?0:-1:0:-1:0:-1:vm<n0?Ii<n0?ce<n0?Q7<n0?bh<n0?x3<n0?E2<n0?M<n0&&tD<n0?AE<n0?0:-1:0:pg<n0?Su<n0?qm<n0?t_<n0?0:-1:0:-1:S_<n0?jd<n0?0:-1:0:-1:AC<n0?wE<n0?Zr<n0?Td<n0?t7<n0?0:-1:0:-1:lh<n0?JE<n0?0:-1:0:0:yl<n0?Q_<n0?jf<n0?X2<n0?Wm<n0?0:-1:Kb<n0?_i<n0?0:-1:0:-1:K0<n0?jC<n0?0:-1:Mn<n0?C3<n0?0:-1:0:oy<n0?0:Zv<n0?hb<n0?0:-1:RC<n0?qh<n0?0:-1:0:$f<n0?gy<n0?xD<n0?dC<n0?Xd<n0?Z<n0?Jl<n0?0:-1:0:$C<n0?Ss<n0?0:-1:0:-1:0:Xo<n0?pp<n0?Bs<n0?e8<n0?TC<n0?0:-1:0:-1:Ug<n0?bm<n0?0:-1:0:0:Hu<n0?zC<n0?om<n0?y3<n0?VD<n0?0:-1:TE<n0?Lf<n0?0:-1:0:0:-1:F7<n0?mv<n0?b7<n0?ov<n0?Xn<n0?0:-1:0:Lb<n0?Ky<n0?0:-1:0:-1:dE<n0?K3<n0?H<n0?kb<n0?0:-1:0:-1:0:-1:Vf<n0?Cd<n0?zv<n0?hl<n0?hm<n0?Qp<n0?sC<n0?f0<n0?yD<n0?Th<n0?Qy<n0?0:-1:0:-1:vg<n0?E_<n0?0:-1:0:-1:Sm<n0?Zm<n0?n7<n0?k_<n0?0:-1:0:-1:ot<n0?PD<n0?0:-1:0:B0<n0?e_<n0?iC<n0?Nb<n0?Ob<n0?ab<n0?0:-1:0:-1:Ws<n0?pb<n0?0:-1:0:-1:tC<n0?wv<n0?P2<n0?DE<n0?0:-1:0:-1:Mo<n0?Vg<n0?0:-1:0:-1:Wl<n0?Gd<n0?Sl<n0?O7<n0?mu<n0?0:-1:IC<n0?A0<n0?0:-1:0:c2<n0?jb<n0?Yl<n0?b1<n0?0:-1:0:-1:Dy<n0?oi<n0?0:-1:0:-1:zh<n0?Te<n0?of<n0?Vy<n0?Yu<n0?Ut<n0?0:-1:0:-1:Rv<n0?sv<n0?0:-1:0:-1:U7<n0?Bm<n0?Bv<n0?qg<n0?0:-1:0:-1:jg<n0?cD<n0?0:-1:0:-1:tb<n0?h7<n0?Ay<n0?Wh<n0?_7<n0?rC<n0?hc<n0?Uu<n0?oC<n0?O0<n0?0:-1:0:-1:s1<n0?HD<n0?0:-1:0:-1:Ix<n0?rd<n0?df<n0?tl<n0?0:-1:0:-1:Tm<n0?B2<n0?0:-1:0:-1:Pv<n0?Tp<n0?e0<n0?Xc<n0?a_<n0?0:-1:0:-1:ly<n0?Wp<n0?0:-1:0:mp<n0?Nv<n0?Vh<n0?tf<n0?0:-1:0:-1:rl<n0?aD<n0?0:-1:0:-1:Lv<n0?d0<n0?Gm<n0?Xv<n0?LE<n0?Fg<n0?0:-1:0:Zc<n0?Zb<n0?0:-1:0:E3<n0?0:Qg<n0?wg<n0?0:-1:0:-1:pf<n0?Bh<n0?Id<n0?Ly<n0?R_<n0?U0<n0?0:-1:0:-1:Up<n0?G_<n0?0:-1:0:-1:k3<n0?cy<n0?g0<n0?U1<n0?0:-1:0:-1:qr<n0?De<n0?0:-1:0:-1:Zt<n0?ry<n0?Qm<n0?gm<n0?Ds<n0?a8<n0?ql<n0?wf<n0?L2<n0?xu<n0?jy<n0?Rd<n0?Rb<n0?W3<n0?Y0<n0?0:-1:0:-1:U_<n0?xC<n0?0:-1:0:-1:Jm<n0?Dm<n0?Al<n0?Fl<n0?0:-1:0:-1:F_<n0?Nt<n0?0:-1:0:-1:Ff<n0?0:y2<n0?l1<n0?vy<n0?gd<n0?0:-1:0:-1:Fh<n0?Sh<n0?0:-1:0:-1:P0<n0?W7<n0?YE<n0?i8<n0?dD<n0?Vb<n0?Y7<n0?V0<n0?0:-1:0:-1:av<n0?W<n0?0:-1:0:-1:Vv<n0?gC<n0?Is<n0?cp<n0?0:-1:0:-1:Gb<n0?RE<n0?0:-1:0:-1:y0<n0?Ou<n0?bo<n0?rb<n0?E7<n0?ZD<n0?0:-1:0:-1:Ty<n0?by<n0?0:-1:0:-1:mh<n0?mm<n0?Gg<n0?I3<n0?0:-1:0:-1:li<n0?Av<n0?0:-1:0:-1:La<n0?Uy<n0?Cp<n0?js<n0?q_<n0?lD<n0&&QD<n0?ID<n0?0:-1:0:-1:H1<n0?c0<n0?N_<n0?l2<n0?0:-1:0:-1:kp<n0?Hy<n0?0:-1:0:-1:hf<n0?fE<n0?gb<n0?d<n0?w3<n0?_o<n0?0:-1:0:-1:td<n0?C1<n0?0:-1:0:-1:cE<n0?wb<n0?0:-1:0:Xg<n0?Fv<n0?x8<n0?0:Bb<n0?uC<n0?fb<n0?0:-1:0:fD<n0?nf<n0?0:-1:0:-1:J7<n0?Kt<n0?og<n0?V_<n0?G<n0?Kv<n0?0:-1:0:-1:wm<n0?Jf<n0?0:-1:0:-1:rm<n0&&Fb<n0?kh<n0?0:-1:0:q3<n0?$<n0?x2<n0?Uh<n0?BE<n0&&X3<n0?ts<n0?0:-1:0:J3<n0?G1<n0?qs<n0?0:-1:0:Wv<n0?N3<n0?0:-1:0:0:Hh<n0?$m<n0?0:Sv<n0?_b<n0?0:-1:0:g_<n0?Rc<n0?Ev<n0?PC<n0?Mr<n0?0:-1:0:-1:0:rv<n0?0:$d<n0?Ur<n0?0:-1:0:nx<n0?ZE<n0?qa<n0?0:Eg<n0&&JD<n0?M2<n0?0:-1:0:ip<n0?K7<n0?0:$c<n0?Vm<n0?0:-1:0:gt<n0&&R7<n0?Mf<n0?0:-1:0:z7<n0?_<n0?0:zd<n0?bC<n0?0:-1:eC<n0?L3<n0?0:-1:0:Sy<n0?wC<n0?cl<n0?0:-1:0:ng<n0?0:zy<n0?Pf<n0?0:-1:0:-1:Hp<n0?lg<n0?I1<n0?h_<n0?Rl<n0?ev<n0?IE<n0?r8<n0?PE<n0?0:-1:sp<n0?D3<n0?0:-1:0:fh<n0?0:A3<n0?Ip<n0?0:-1:0:-1:0:p8<n0?Hf<n0?0:Dv<n0?Px<n0?Pe<n0?kD<n0?0:-1:0:-1:0:By<n0?wd<n0&&$b<n0?ny<n0?0:-1:0:_E<n0?$v<n0?iy<n0?em<n0?0:-1:0:-1:0:Lo<n0?sf<n0?Zd<n0?R0<n0?0:v3<n0?CC<n0?zl<n0?iD<n0?0:-1:0:-1:0:ig<n0?m2<n0?rp<n0&&gD<n0?Ed<n0?0:-1:0:-1:bn<n0?__<n0?0:-1:0:-1:i7<n0?Fo<n0?nd<n0?Y2<n0?nC<n0?0:Wb<n0?cg<n0?0:-1:0:-1:Eh<n0?wu<n0?T_<n0?lp<n0?0:-1:0:-1:sb<n0?ds<n0?0:-1:0:-1:vh<n0?dv<n0?Hx<n0?Tv<n0?Rp<n0?0:-1:0:xi<n0?af<n0?0:-1:0:-1:0:-1:mE<n0?bf<n0?Ib<n0?r7<n0?sh<n0?I0<n0?Lm<n0?qf<n0&&_t<n0?ep<n0?0:-1:0:-1:HE<n0&&kC<n0?Hg<n0?0:-1:0:-1:s2<n0?rx<n0?AD<n0?0:Nf<n0?h2<n0?0:-1:0:-1:Ah<n0?uh<n0?Ch<n0?hD<n0?0:-1:0:-1:Zg<n0?q7<n0?0:-1:0:-1:_v<n0?f3<n0?Cv<n0?ay<n0?Yy<n0?hg<n0?Md<n0?Ro<n0?0:-1:0:-1:ND<n0?$h<n0?0:-1:0:-1:kf<n0?Of<n0?0:-1:TD<n0?nv<n0?0:-1:0:-1:R3<n0?ch<n0?y_<n0?WD<n0?Js<n0?0:-1:0:-1:Ap<n0?qb<n0?0:-1:0:Mb<n0?ht<n0?0:-1:0:pl<n0?d7<n0?Uf<n0?nl<n0?Km<n0?j<n0?_d<n0?G7<n0?xb<n0?0:-1:0:-1:D0<n0?H7<n0?0:-1:0:Vp<n0?w_<n0?0:-1:a3<n0?Sg<n0?0:-1:0:-1:zD<n0?bE<n0&&Yv<n0?Ry<n0?0:-1:0:oc<n0?$i<n0?0:-1:XD<n0?t3<n0?0:-1:0:-1:$e<n0?ah<n0?Bi<n0?d_<n0?Pu<n0?j2<n0?an<n0?0:-1:0:z3<n0?Yb<n0?0:-1:0:-1:zb<n0?B_<n0?nm<n0?eD<n0?0:-1:0:-1:ug<n0?T7<n0?0:-1:0:-1:Z7<n0?Yi<n0?J_<n0?Dd<n0?W1<n0?Oy<n0?0:-1:0:-1:M_<n0?Z3<n0?0:-1:0:-1:eb<n0?im<n0?qC<n0?Rf<n0?0:-1:0:-1:Np<n0?Kc<n0?0:-1:0:-1:fr(MX1,n0+Kd|0)-1|0:-1;else G5=-1;if(3<G5>>>0)Br=Zx(x);else switch(G5){case 0:Br=L(x);break;case 1:Br=v(x);break;case 2:Qe(x,48);var K4=Rx(x);if(K4)var ox=K4[1],BA=35<ox?C_<ox?ha<ox?vs<ox?-1:ne<ox?Mu<ox?Nh<ox?_D<ox?O2<ox?a7<ox?uy<ox?pE<ox?Jg<ox?0:-1:$D<ox?ks<ox?0:-1:0:-1:N2<ox?up<ox?A7<ox?A_<ox?0:-1:0:-1:e<ox?Xf<ox?0:-1:0:-1:Ld<ox?w1<ox?Zo<ox?Ov<ox?pv<ox?mg<ox?Xy<ox?Cm<ox?ob<ox?Sd<ox?0:-1:0:-1:d2<ox?qt<ox?0:-1:0:-1:Am<ox?$_<ox?Bt<ox?Pp<ox?0:-1:0:-1:Fc<ox?_3<ox?0:-1:0:-1:yy<ox?sn<ox?G3<ox?jl<ox?vd<ox?Hb<ox?0:-1:0:-1:Gt<ox?aC<ox?0:-1:0:-1:_e<ox?Ac<ox?Gv<ox?op<ox?0:-1:0:-1:Zl<ox?Jv<ox?0:-1:0:-1:I_<ox?Pb<ox?gg<ox?ih<ox?m7<ox?P7<ox?np<ox?bv<ox?0:-1:0:-1:Yp<ox?Rg<ox?0:-1:0:-1:dp<ox?V7<ox?Kh<ox?Xl<ox?0:-1:0:-1:oD<ox?Jb<ox?0:-1:0:-1:Us<ox?dd<ox?hv<ox?Dp<ox?jv<ox?Zp<ox?0:-1:0:-1:bD<ox?V3<ox?0:-1:0:-1:gv<ox?iv<ox?oh<ox?Ym<ox?0:-1:0:-1:Gy<ox?p7<ox?0:-1:0:-1:fp<ox?Ef<ox?c7<ox?l0<ox?Z1<ox?Hr<ox?Eb<ox?Xb<ox?OD<ox?R2<ox?kE<ox?Iv<ox?0:-1:0:-1:0:Ox<ox?Kf<ox?gE<ox?Va<ox?0:-1:0:-1:ge<ox?_l<ox?0:-1:0:pD<ox?vE<ox?ky<ox?wp<ox?0:-1:p3<ox?Ih<ox?0:-1:0:-1:MD<ox?OC<ox?0:-1:KC<ox?r3<ox?0:-1:0:-1:I2<ox?lo<ox?Re<ox?yC<ox?ME<ox?db<ox?fg<ox?Wy<ox?0:-1:0:-1:XE<ox?xd<ox?0:-1:0:-1:Wa<ox?yc<ox?S3<ox?Kl<ox?0:-1:0:-1:Fy<ox?xc<ox?0:-1:0:-1:ka<ox?Kp<ox?uE<ox?Lg<ox?_C<ox?OE<ox?0:-1:0:-1:v2<ox?Hm<ox?0:-1:0:-1:Wx<ox?ff<ox?Tb<ox?Fm<ox?0:-1:0:-1:b3<ox?k7<ox?0:-1:0:-1:d3<ox?Ad<ox?P3<ox?Yd<ox?eu<ox?l7<ox?Mt<ox?v1<ox?Cg<ox?Xm<ox?0:-1:0:-1:zf<ox?mD<ox?0:-1:0:-1:Mv<ox?tt<ox?Pm<ox?ld<ox?0:-1:0:-1:$3<ox?zp<ox?0:-1:0:-1:qx<ox?n3<ox?YD<ox?uD<ox?I7<ox?fl<ox?0:-1:0:-1:al<ox?j_<ox?0:-1:0:-1:Cc<ox?N1<ox?O_<ox?B7<ox?0:-1:0:-1:pd<ox?dm<ox?0:-1:0:-1:N0<ox?Xh<ox?dh<ox?dg<ox?b0<ox?bp<ox?Nl<ox?Ph<ox?0:-1:0:-1:M3<ox?lb<ox?0:-1:0:-1:rc<ox?ec<ox?P_<ox?Ud<ox?0:-1:0:-1:fv<ox?K_<ox?0:-1:0:-1:Om<ox?Ag<ox?rf<ox?O3<ox?Fn<ox?bt<ox?0:-1:0:-1:U<ox?j7<ox?0:-1:0:-1:DC<ox?ed<ox?Im<ox?i3<ox?0:-1:0:-1:0:-1:kv<ox?Hd<ox?Jy<ox?Za<ox?wD<ox?E1<ox?ag<ox?xh<ox?Hv<ox?vv<ox?l3<ox?0:-1:0:-1:H3<ox?co<ox?0:-1:0:-1:LD<ox?ex<ox?qy<ox?nD<ox?0:-1:0:-1:ED<ox?Pa<ox?0:-1:0:-1:sD<ox?th<ox?hh<ox?L_<ox?h3<ox?Cy<ox?0:-1:0:-1:w7<ox?Ey<ox?0:-1:0:-1:H2<ox?eh<ox?xv<ox?0:-1:0:u2<ox?C<ox?0:-1:0:P<ox?Kg<ox?wl<ox?b_<ox?cc<ox?W_<ox?0:-1:Tg<ox?i_<ox?0:-1:0:-1:Sb<ox?tv<ox?s7<ox?Ku<ox?0:-1:0:-1:nb<ox?Cf<ox?0:-1:0:-1:aE<ox?Gr<ox?hE<ox?O<ox?0:-1:Uc<ox?Qv<ox?0:-1:0:-1:Un<ox?T3<ox?X_<ox?BC<ox?0:-1:0:-1:p2<ox?dy<ox?0:-1:0:-1:Jr<ox?uv<ox?Gc<ox?mo<ox?Q3<ox?vD<ox?yv<ox?Qd<ox?e7<ox?Jh<ox?0:-1:0:-1:u7<ox?b2<ox?0:-1:0:-1:BD<ox?0:oE<ox?bg<ox?0:-1:0:-1:B3<ox?0:sE<ox?G2<ox?pa<ox?o7<ox?0:-1:0:-1:0:-1:r_<ox?$y<ox?U3<ox?X7<ox?C7<ox?wh<ox?L7<ox?0:-1:0:-1:Zy<ox?t8<ox?0:-1:0:LC<ox?jp<ox?0:-1:F3<ox?lE<ox?0:-1:0:-1:UD<ox?uc<ox?tm<ox?C0<ox?0:-1:G0<ox?rD<ox?0:-1:0:-1:0:Qb<ox?N7<ox?D2<ox?Se<ox?D_<ox?_g<ox?MC<ox?hy<ox?ub<ox?ph<ox?$7<ox?yE<ox?0:-1:S0<ox?Dh<ox?0:-1:0:-1:Ko<ox&&kg<ox?o0<ox?0:-1:0:FD<ox?_y<ox?c3<ox&&EC<ox?ho<ox?0:-1:0:-1:Xp<ox?Bp<ox?_u<ox?GD<ox?0:-1:0:-1:Q2<ox?g7<ox?0:-1:0:Y_<ox?NE<ox?n8<ox||Fd<ox?0:SE<ox?Y3<ox?0:-1:0:-1:rs<ox||Pc<ox?0:SC<ox?Bd<ox?0:-1:0:D7<ox?Em<ox?Ju<ox?QE<ox?zm<ox&&sy<ox?mb<ox?0:-1:0:m_<ox&&g3<ox?Gf<ox?0:-1:0:-1:CD<ox?Mg<ox?Yg<ox?If<ox?_c<ox?Uv<ox?0:-1:0:-1:0:-1:0:Mc<ox?wy<ox?CE<ox?EE<ox?vp<ox?D<ox?Ub<ox?0:-1:0:-1:0:NC<ox?0:e3<ox?m3<ox?0:-1:0:-1:j3<ox&&v7<ox&&cv<ox?FC<ox?0:-1:0:Gh<ox?Mm<ox?fi<ox?SD<ox?FE<ox?ri<ox?DD<ox?qD<ox?0:-1:mf<ox?Ep<ox?0:-1:0:-1:0:Nc<ox?Wg<ox?0:My<ox?ib<ox?0:-1:0:UC<ox&&p1<ox?C2<ox?0:-1:0:GE<ox?pm<ox?o2<ox?Dg<ox&&S7<ox?zg<ox?0:-1:0:-1:Tt<ox?y7<ox?cb<ox?M7<ox?0:-1:0:-1:0:0:-1:qv<ox?WC<ox?am<ox?_m<ox?Op<ox?x_<ox?0:-1:lv<ox?ze<ox?0:-1:0:0:x7<ox?Oh<ox?H_<ox?0:$a<ox?Z2<ox?0:-1:0:-1:py<ox?Iy<ox?bd<ox?0:-1:0:v_<ox?Ne<ox?0:-1:0:-1:yo<ox?Yh<ox?xm<ox?fy<ox?o1<ox?Hi<ox?my<ox?0:-1:0:-1:md<ox?ol<ox?0:-1:0:0:-1:_1<ox?za<ox?xl<ox?ws<ox?f7<ox?Iu<ox?0:-1:0:-1:n_<ox?ym<ox?0:-1:0:-1:Il<ox?z_<ox?Bo<ox?xf<ox?0:-1:0:-1:0:-1:vm<ox?Ii<ox?ce<ox?Q7<ox?bh<ox?x3<ox?E2<ox?M<ox&&tD<ox?AE<ox?0:-1:0:pg<ox?Su<ox?qm<ox?t_<ox?0:-1:0:-1:S_<ox?jd<ox?0:-1:0:-1:AC<ox?wE<ox?Zr<ox?Td<ox?t7<ox?0:-1:0:-1:lh<ox?JE<ox?0:-1:0:0:yl<ox?Q_<ox?jf<ox?X2<ox?Wm<ox?0:-1:Kb<ox?_i<ox?0:-1:0:-1:K0<ox?jC<ox?0:-1:Mn<ox?C3<ox?0:-1:0:oy<ox?0:Zv<ox?hb<ox?0:-1:RC<ox?qh<ox?0:-1:0:$f<ox?gy<ox?xD<ox?dC<ox?Xd<ox?Z<ox?Jl<ox?0:-1:0:$C<ox?Ss<ox?0:-1:0:-1:0:Xo<ox?pp<ox?Bs<ox?e8<ox?TC<ox?0:-1:0:-1:Ug<ox?bm<ox?0:-1:0:0:Hu<ox?zC<ox?om<ox?y3<ox?VD<ox?0:-1:TE<ox?Lf<ox?0:-1:0:0:-1:F7<ox?mv<ox?b7<ox?ov<ox?Xn<ox?0:-1:0:Lb<ox?Ky<ox?0:-1:0:-1:dE<ox?K3<ox?H<ox?kb<ox?0:-1:0:-1:0:-1:Vf<ox?Cd<ox?zv<ox?hl<ox?hm<ox?Qp<ox?sC<ox?f0<ox?yD<ox?Th<ox?Qy<ox?0:-1:0:-1:vg<ox?E_<ox?0:-1:0:-1:Sm<ox?Zm<ox?n7<ox?k_<ox?0:-1:0:-1:ot<ox?PD<ox?0:-1:0:B0<ox?e_<ox?iC<ox?Nb<ox?Ob<ox?ab<ox?0:-1:0:-1:Ws<ox?pb<ox?0:-1:0:-1:tC<ox?wv<ox?P2<ox?DE<ox?0:-1:0:-1:Mo<ox?Vg<ox?0:-1:0:-1:Wl<ox?Gd<ox?Sl<ox?O7<ox?mu<ox?0:-1:IC<ox?A0<ox?0:-1:0:c2<ox?jb<ox?Yl<ox?b1<ox?0:-1:0:-1:Dy<ox?oi<ox?0:-1:0:-1:zh<ox?Te<ox?of<ox?Vy<ox?Yu<ox?Ut<ox?0:-1:0:-1:Rv<ox?sv<ox?0:-1:0:-1:U7<ox?Bm<ox?Bv<ox?qg<ox?0:-1:0:-1:jg<ox?cD<ox?0:-1:0:-1:tb<ox?h7<ox?Ay<ox?Wh<ox?_7<ox?rC<ox?hc<ox?Uu<ox?oC<ox?O0<ox?0:-1:0:-1:s1<ox?HD<ox?0:-1:0:-1:Ix<ox?rd<ox?df<ox?tl<ox?0:-1:0:-1:Tm<ox?B2<ox?0:-1:0:-1:Pv<ox?Tp<ox?e0<ox?Xc<ox?a_<ox?0:-1:0:-1:ly<ox?Wp<ox?0:-1:0:mp<ox?Nv<ox?Vh<ox?tf<ox?0:-1:0:-1:rl<ox?aD<ox?0:-1:0:-1:Lv<ox?d0<ox?Gm<ox?Xv<ox?LE<ox?Fg<ox?0:-1:0:Zc<ox?Zb<ox?0:-1:0:E3<ox?0:Qg<ox?wg<ox?0:-1:0:-1:pf<ox?Bh<ox?Id<ox?Ly<ox?R_<ox?U0<ox?0:-1:0:-1:Up<ox?G_<ox?0:-1:0:-1:k3<ox?cy<ox?g0<ox?U1<ox?0:-1:0:-1:qr<ox?De<ox?0:-1:0:-1:Zt<ox?ry<ox?Qm<ox?gm<ox?Ds<ox?a8<ox?ql<ox?wf<ox?L2<ox?xu<ox?jy<ox?Rd<ox?Rb<ox?W3<ox?Y0<ox?0:-1:0:-1:U_<ox?xC<ox?0:-1:0:-1:Jm<ox?Dm<ox?Al<ox?Fl<ox?0:-1:0:-1:F_<ox?Nt<ox?0:-1:0:-1:Ff<ox?0:y2<ox?l1<ox?vy<ox?gd<ox?0:-1:0:-1:Fh<ox?Sh<ox?0:-1:0:-1:P0<ox?W7<ox?YE<ox?i8<ox?dD<ox?Vb<ox?Y7<ox?V0<ox?0:-1:0:-1:av<ox?W<ox?0:-1:0:-1:Vv<ox?gC<ox?Is<ox?cp<ox?0:-1:0:-1:Gb<ox?RE<ox?0:-1:0:-1:y0<ox?Ou<ox?bo<ox?rb<ox?E7<ox?ZD<ox?0:-1:0:-1:Ty<ox?by<ox?0:-1:0:-1:mh<ox?mm<ox?Gg<ox?I3<ox?0:-1:0:-1:li<ox?Av<ox?0:-1:0:-1:La<ox?Uy<ox?Cp<ox?js<ox?q_<ox?lD<ox&&QD<ox?ID<ox?0:-1:0:-1:H1<ox?c0<ox?N_<ox?l2<ox?0:-1:0:-1:kp<ox?Hy<ox?0:-1:0:-1:hf<ox?fE<ox?gb<ox?d<ox?w3<ox?_o<ox?0:-1:0:-1:td<ox?C1<ox?0:-1:0:-1:cE<ox?wb<ox?0:-1:0:Xg<ox?Fv<ox?x8<ox?0:Bb<ox?uC<ox?fb<ox?0:-1:0:fD<ox?nf<ox?0:-1:0:-1:J7<ox?Kt<ox?og<ox?V_<ox?G<ox?Kv<ox?0:-1:0:-1:wm<ox?Jf<ox?0:-1:0:-1:rm<ox&&Fb<ox?kh<ox?0:-1:0:q3<ox?$<ox?x2<ox?Uh<ox?BE<ox&&X3<ox?ts<ox?0:-1:0:J3<ox?G1<ox?qs<ox?0:-1:0:Wv<ox?N3<ox?0:-1:0:0:Hh<ox?$m<ox?0:Sv<ox?_b<ox?0:-1:0:g_<ox?Rc<ox?Ev<ox?PC<ox?Mr<ox?0:-1:0:-1:0:rv<ox?0:$d<ox?Ur<ox?0:-1:0:nx<ox?ZE<ox?qa<ox?0:Eg<ox&&JD<ox?M2<ox?0:-1:0:ip<ox?K7<ox?0:$c<ox?Vm<ox?0:-1:0:gt<ox&&R7<ox?Mf<ox?0:-1:0:z7<ox?_<ox?0:zd<ox?bC<ox?0:-1:eC<ox?L3<ox?0:-1:0:Sy<ox?wC<ox?cl<ox?0:-1:0:ng<ox?0:zy<ox?Pf<ox?0:-1:0:-1:Hp<ox?lg<ox?I1<ox?h_<ox?Rl<ox?ev<ox?IE<ox?r8<ox?PE<ox?0:-1:sp<ox?D3<ox?0:-1:0:fh<ox?0:A3<ox?Ip<ox?0:-1:0:-1:0:p8<ox?Hf<ox?0:Dv<ox?Px<ox?Pe<ox?kD<ox?0:-1:0:-1:0:By<ox?wd<ox&&$b<ox?ny<ox?0:-1:0:_E<ox?$v<ox?iy<ox?em<ox?0:-1:0:-1:0:Lo<ox?sf<ox?Zd<ox?R0<ox?0:v3<ox?CC<ox?zl<ox?iD<ox?0:-1:0:-1:0:ig<ox?m2<ox?rp<ox&&gD<ox?Ed<ox?0:-1:0:-1:bn<ox?__<ox?0:-1:0:-1:i7<ox?Fo<ox?nd<ox?Y2<ox?nC<ox?0:Wb<ox?cg<ox?0:-1:0:-1:Eh<ox?wu<ox?T_<ox?lp<ox?0:-1:0:-1:sb<ox?ds<ox?0:-1:0:-1:vh<ox?dv<ox?Hx<ox?Tv<ox?Rp<ox?0:-1:0:xi<ox?af<ox?0:-1:0:-1:0:-1:mE<ox?bf<ox?Ib<ox?r7<ox?sh<ox?I0<ox?Lm<ox?qf<ox&&_t<ox?ep<ox?0:-1:0:-1:HE<ox&&kC<ox?Hg<ox?0:-1:0:-1:s2<ox?rx<ox?AD<ox?0:Nf<ox?h2<ox?0:-1:0:-1:Ah<ox?uh<ox?Ch<ox?hD<ox?0:-1:0:-1:Zg<ox?q7<ox?0:-1:0:-1:_v<ox?f3<ox?Cv<ox?ay<ox?Yy<ox?hg<ox?Md<ox?Ro<ox?0:-1:0:-1:ND<ox?$h<ox?0:-1:0:-1:kf<ox?Of<ox?0:-1:TD<ox?nv<ox?0:-1:0:-1:R3<ox?ch<ox?y_<ox?WD<ox?Js<ox?0:-1:0:-1:Ap<ox?qb<ox?0:-1:0:Mb<ox?ht<ox?0:-1:0:pl<ox?d7<ox?Uf<ox?nl<ox?Km<ox?j<ox?_d<ox?G7<ox?xb<ox?0:-1:0:-1:D0<ox?H7<ox?0:-1:0:Vp<ox?w_<ox?0:-1:a3<ox?Sg<ox?0:-1:0:-1:zD<ox?bE<ox&&Yv<ox?Ry<ox?0:-1:0:oc<ox?$i<ox?0:-1:XD<ox?t3<ox?0:-1:0:-1:$e<ox?ah<ox?Bi<ox?d_<ox?Pu<ox?j2<ox?an<ox?0:-1:0:z3<ox?Yb<ox?0:-1:0:-1:zb<ox?B_<ox?nm<ox?eD<ox?0:-1:0:-1:ug<ox?T7<ox?0:-1:0:-1:Z7<ox?Yi<ox?J_<ox?Dd<ox?W1<ox?Oy<ox?0:-1:0:-1:M_<ox?Z3<ox?0:-1:0:-1:eb<ox?im<ox?qC<ox?Rf<ox?0:-1:0:-1:Np<ox?Kc<ox?0:-1:0:-1:fr(TX1,ox+Kd|0)-1|0:-1;else BA=-1;if(3<BA>>>0)Br=Zx(x);else switch(BA){case 0:Br=L(x);break;case 1:Br=v(x);break;case 2:Qe(x,48);var h6=qk(Rx(x));if(2<h6>>>0)Br=Zx(x);else switch(h6){case 0:Br=L(x);break;case 1:Br=v(x);break;default:Qe(x,48);var cA=oO(Rx(x));if(2<cA>>>0)Br=Zx(x);else switch(cA){case 0:Br=L(x);break;case 1:Br=v(x);break;default:Qe(x,48);var QA=AL(Rx(x));if(2<QA>>>0)Br=Zx(x);else switch(QA){case 0:Br=L(x);break;case 1:Br=v(x);break;default:Qe(x,42);var YT=_h(Rx(x));Br=YT===0?L(x):YT===1?v(x):Zx(x)}}}break;default:Qe(x,48);var z4=oO(Rx(x));if(2<z4>>>0)Br=Zx(x);else switch(z4){case 0:Br=L(x);break;case 1:Br=v(x);break;default:Qe(x,48);var Fk=PP(Rx(x));if(2<Fk>>>0)Br=Zx(x);else switch(Fk){case 0:Br=L(x);break;case 1:Br=v(x);break;default:Qe(x,48);var pk=Kq(Rx(x));if(2<pk>>>0)Br=Zx(x);else switch(pk){case 0:Br=L(x);break;case 1:Br=v(x);break;default:Qe(x,43);var Ak=_h(Rx(x));Br=Ak===0?L(x):Ak===1?v(x):Zx(x)}}}}break;default:Qe(x,48);var ZA=Kt0(Rx(x));if(2<ZA>>>0)Br=Zx(x);else switch(ZA){case 0:Br=L(x);break;case 1:Br=v(x);break;default:Qe(x,48);var Q9=zt0(Rx(x));if(2<Q9>>>0)Br=Zx(x);else switch(Q9){case 0:Br=L(x);break;case 1:Br=v(x);break;default:Qe(x,48);var Hk=$U(Rx(x));if(2<Hk>>>0)Br=Zx(x);else switch(Hk){case 0:Br=L(x);break;case 1:Br=v(x);break;default:Qe(x,48);var w4=aO(Rx(x));if(2<w4>>>0)Br=Zx(x);else switch(w4){case 0:Br=L(x);break;case 1:Br=v(x);break;default:Qe(x,47);var EN=_h(Rx(x));Br=EN===0?L(x):EN===1?v(x):Zx(x)}}}}}break;case 36:Qe(x,48);var sB=Rx(x);if(sB)var gx=sB[1],KM=35<gx?C_<gx?ha<gx?vs<gx?-1:ne<gx?Mu<gx?Nh<gx?_D<gx?O2<gx?a7<gx?uy<gx?pE<gx?Jg<gx?0:-1:$D<gx?ks<gx?0:-1:0:-1:N2<gx?up<gx?A7<gx?A_<gx?0:-1:0:-1:e<gx?Xf<gx?0:-1:0:-1:Ld<gx?w1<gx?Zo<gx?Ov<gx?pv<gx?mg<gx?Xy<gx?Cm<gx?ob<gx?Sd<gx?0:-1:0:-1:d2<gx?qt<gx?0:-1:0:-1:Am<gx?$_<gx?Bt<gx?Pp<gx?0:-1:0:-1:Fc<gx?_3<gx?0:-1:0:-1:yy<gx?sn<gx?G3<gx?jl<gx?vd<gx?Hb<gx?0:-1:0:-1:Gt<gx?aC<gx?0:-1:0:-1:_e<gx?Ac<gx?Gv<gx?op<gx?0:-1:0:-1:Zl<gx?Jv<gx?0:-1:0:-1:I_<gx?Pb<gx?gg<gx?ih<gx?m7<gx?P7<gx?np<gx?bv<gx?0:-1:0:-1:Yp<gx?Rg<gx?0:-1:0:-1:dp<gx?V7<gx?Kh<gx?Xl<gx?0:-1:0:-1:oD<gx?Jb<gx?0:-1:0:-1:Us<gx?dd<gx?hv<gx?Dp<gx?jv<gx?Zp<gx?0:-1:0:-1:bD<gx?V3<gx?0:-1:0:-1:gv<gx?iv<gx?oh<gx?Ym<gx?0:-1:0:-1:Gy<gx?p7<gx?0:-1:0:-1:fp<gx?Ef<gx?c7<gx?l0<gx?Z1<gx?Hr<gx?Eb<gx?Xb<gx?OD<gx?R2<gx?kE<gx?Iv<gx?0:-1:0:-1:0:Ox<gx?Kf<gx?gE<gx?Va<gx?0:-1:0:-1:ge<gx?_l<gx?0:-1:0:pD<gx?vE<gx?ky<gx?wp<gx?0:-1:p3<gx?Ih<gx?0:-1:0:-1:MD<gx?OC<gx?0:-1:KC<gx?r3<gx?0:-1:0:-1:I2<gx?lo<gx?Re<gx?yC<gx?ME<gx?db<gx?fg<gx?Wy<gx?0:-1:0:-1:XE<gx?xd<gx?0:-1:0:-1:Wa<gx?yc<gx?S3<gx?Kl<gx?0:-1:0:-1:Fy<gx?xc<gx?0:-1:0:-1:ka<gx?Kp<gx?uE<gx?Lg<gx?_C<gx?OE<gx?0:-1:0:-1:v2<gx?Hm<gx?0:-1:0:-1:Wx<gx?ff<gx?Tb<gx?Fm<gx?0:-1:0:-1:b3<gx?k7<gx?0:-1:0:-1:d3<gx?Ad<gx?P3<gx?Yd<gx?eu<gx?l7<gx?Mt<gx?v1<gx?Cg<gx?Xm<gx?0:-1:0:-1:zf<gx?mD<gx?0:-1:0:-1:Mv<gx?tt<gx?Pm<gx?ld<gx?0:-1:0:-1:$3<gx?zp<gx?0:-1:0:-1:qx<gx?n3<gx?YD<gx?uD<gx?I7<gx?fl<gx?0:-1:0:-1:al<gx?j_<gx?0:-1:0:-1:Cc<gx?N1<gx?O_<gx?B7<gx?0:-1:0:-1:pd<gx?dm<gx?0:-1:0:-1:N0<gx?Xh<gx?dh<gx?dg<gx?b0<gx?bp<gx?Nl<gx?Ph<gx?0:-1:0:-1:M3<gx?lb<gx?0:-1:0:-1:rc<gx?ec<gx?P_<gx?Ud<gx?0:-1:0:-1:fv<gx?K_<gx?0:-1:0:-1:Om<gx?Ag<gx?rf<gx?O3<gx?Fn<gx?bt<gx?0:-1:0:-1:U<gx?j7<gx?0:-1:0:-1:DC<gx?ed<gx?Im<gx?i3<gx?0:-1:0:-1:0:-1:kv<gx?Hd<gx?Jy<gx?Za<gx?wD<gx?E1<gx?ag<gx?xh<gx?Hv<gx?vv<gx?l3<gx?0:-1:0:-1:H3<gx?co<gx?0:-1:0:-1:LD<gx?ex<gx?qy<gx?nD<gx?0:-1:0:-1:ED<gx?Pa<gx?0:-1:0:-1:sD<gx?th<gx?hh<gx?L_<gx?h3<gx?Cy<gx?0:-1:0:-1:w7<gx?Ey<gx?0:-1:0:-1:H2<gx?eh<gx?xv<gx?0:-1:0:u2<gx?C<gx?0:-1:0:P<gx?Kg<gx?wl<gx?b_<gx?cc<gx?W_<gx?0:-1:Tg<gx?i_<gx?0:-1:0:-1:Sb<gx?tv<gx?s7<gx?Ku<gx?0:-1:0:-1:nb<gx?Cf<gx?0:-1:0:-1:aE<gx?Gr<gx?hE<gx?O<gx?0:-1:Uc<gx?Qv<gx?0:-1:0:-1:Un<gx?T3<gx?X_<gx?BC<gx?0:-1:0:-1:p2<gx?dy<gx?0:-1:0:-1:Jr<gx?uv<gx?Gc<gx?mo<gx?Q3<gx?vD<gx?yv<gx?Qd<gx?e7<gx?Jh<gx?0:-1:0:-1:u7<gx?b2<gx?0:-1:0:-1:BD<gx?0:oE<gx?bg<gx?0:-1:0:-1:B3<gx?0:sE<gx?G2<gx?pa<gx?o7<gx?0:-1:0:-1:0:-1:r_<gx?$y<gx?U3<gx?X7<gx?C7<gx?wh<gx?L7<gx?0:-1:0:-1:Zy<gx?t8<gx?0:-1:0:LC<gx?jp<gx?0:-1:F3<gx?lE<gx?0:-1:0:-1:UD<gx?uc<gx?tm<gx?C0<gx?0:-1:G0<gx?rD<gx?0:-1:0:-1:0:Qb<gx?N7<gx?D2<gx?Se<gx?D_<gx?_g<gx?MC<gx?hy<gx?ub<gx?ph<gx?$7<gx?yE<gx?0:-1:S0<gx?Dh<gx?0:-1:0:-1:Ko<gx&&kg<gx?o0<gx?0:-1:0:FD<gx?_y<gx?c3<gx&&EC<gx?ho<gx?0:-1:0:-1:Xp<gx?Bp<gx?_u<gx?GD<gx?0:-1:0:-1:Q2<gx?g7<gx?0:-1:0:Y_<gx?NE<gx?n8<gx||Fd<gx?0:SE<gx?Y3<gx?0:-1:0:-1:rs<gx||Pc<gx?0:SC<gx?Bd<gx?0:-1:0:D7<gx?Em<gx?Ju<gx?QE<gx?zm<gx&&sy<gx?mb<gx?0:-1:0:m_<gx&&g3<gx?Gf<gx?0:-1:0:-1:CD<gx?Mg<gx?Yg<gx?If<gx?_c<gx?Uv<gx?0:-1:0:-1:0:-1:0:Mc<gx?wy<gx?CE<gx?EE<gx?vp<gx?D<gx?Ub<gx?0:-1:0:-1:0:NC<gx?0:e3<gx?m3<gx?0:-1:0:-1:j3<gx&&v7<gx&&cv<gx?FC<gx?0:-1:0:Gh<gx?Mm<gx?fi<gx?SD<gx?FE<gx?ri<gx?DD<gx?qD<gx?0:-1:mf<gx?Ep<gx?0:-1:0:-1:0:Nc<gx?Wg<gx?0:My<gx?ib<gx?0:-1:0:UC<gx&&p1<gx?C2<gx?0:-1:0:GE<gx?pm<gx?o2<gx?Dg<gx&&S7<gx?zg<gx?0:-1:0:-1:Tt<gx?y7<gx?cb<gx?M7<gx?0:-1:0:-1:0:0:-1:qv<gx?WC<gx?am<gx?_m<gx?Op<gx?x_<gx?0:-1:lv<gx?ze<gx?0:-1:0:0:x7<gx?Oh<gx?H_<gx?0:$a<gx?Z2<gx?0:-1:0:-1:py<gx?Iy<gx?bd<gx?0:-1:0:v_<gx?Ne<gx?0:-1:0:-1:yo<gx?Yh<gx?xm<gx?fy<gx?o1<gx?Hi<gx?my<gx?0:-1:0:-1:md<gx?ol<gx?0:-1:0:0:-1:_1<gx?za<gx?xl<gx?ws<gx?f7<gx?Iu<gx?0:-1:0:-1:n_<gx?ym<gx?0:-1:0:-1:Il<gx?z_<gx?Bo<gx?xf<gx?0:-1:0:-1:0:-1:vm<gx?Ii<gx?ce<gx?Q7<gx?bh<gx?x3<gx?E2<gx?M<gx&&tD<gx?AE<gx?0:-1:0:pg<gx?Su<gx?qm<gx?t_<gx?0:-1:0:-1:S_<gx?jd<gx?0:-1:0:-1:AC<gx?wE<gx?Zr<gx?Td<gx?t7<gx?0:-1:0:-1:lh<gx?JE<gx?0:-1:0:0:yl<gx?Q_<gx?jf<gx?X2<gx?Wm<gx?0:-1:Kb<gx?_i<gx?0:-1:0:-1:K0<gx?jC<gx?0:-1:Mn<gx?C3<gx?0:-1:0:oy<gx?0:Zv<gx?hb<gx?0:-1:RC<gx?qh<gx?0:-1:0:$f<gx?gy<gx?xD<gx?dC<gx?Xd<gx?Z<gx?Jl<gx?0:-1:0:$C<gx?Ss<gx?0:-1:0:-1:0:Xo<gx?pp<gx?Bs<gx?e8<gx?TC<gx?0:-1:0:-1:Ug<gx?bm<gx?0:-1:0:0:Hu<gx?zC<gx?om<gx?y3<gx?VD<gx?0:-1:TE<gx?Lf<gx?0:-1:0:0:-1:F7<gx?mv<gx?b7<gx?ov<gx?Xn<gx?0:-1:0:Lb<gx?Ky<gx?0:-1:0:-1:dE<gx?K3<gx?H<gx?kb<gx?0:-1:0:-1:0:-1:Vf<gx?Cd<gx?zv<gx?hl<gx?hm<gx?Qp<gx?sC<gx?f0<gx?yD<gx?Th<gx?Qy<gx?0:-1:0:-1:vg<gx?E_<gx?0:-1:0:-1:Sm<gx?Zm<gx?n7<gx?k_<gx?0:-1:0:-1:ot<gx?PD<gx?0:-1:0:B0<gx?e_<gx?iC<gx?Nb<gx?Ob<gx?ab<gx?0:-1:0:-1:Ws<gx?pb<gx?0:-1:0:-1:tC<gx?wv<gx?P2<gx?DE<gx?0:-1:0:-1:Mo<gx?Vg<gx?0:-1:0:-1:Wl<gx?Gd<gx?Sl<gx?O7<gx?mu<gx?0:-1:IC<gx?A0<gx?0:-1:0:c2<gx?jb<gx?Yl<gx?b1<gx?0:-1:0:-1:Dy<gx?oi<gx?0:-1:0:-1:zh<gx?Te<gx?of<gx?Vy<gx?Yu<gx?Ut<gx?0:-1:0:-1:Rv<gx?sv<gx?0:-1:0:-1:U7<gx?Bm<gx?Bv<gx?qg<gx?0:-1:0:-1:jg<gx?cD<gx?0:-1:0:-1:tb<gx?h7<gx?Ay<gx?Wh<gx?_7<gx?rC<gx?hc<gx?Uu<gx?oC<gx?O0<gx?0:-1:0:-1:s1<gx?HD<gx?0:-1:0:-1:Ix<gx?rd<gx?df<gx?tl<gx?0:-1:0:-1:Tm<gx?B2<gx?0:-1:0:-1:Pv<gx?Tp<gx?e0<gx?Xc<gx?a_<gx?0:-1:0:-1:ly<gx?Wp<gx?0:-1:0:mp<gx?Nv<gx?Vh<gx?tf<gx?0:-1:0:-1:rl<gx?aD<gx?0:-1:0:-1:Lv<gx?d0<gx?Gm<gx?Xv<gx?LE<gx?Fg<gx?0:-1:0:Zc<gx?Zb<gx?0:-1:0:E3<gx?0:Qg<gx?wg<gx?0:-1:0:-1:pf<gx?Bh<gx?Id<gx?Ly<gx?R_<gx?U0<gx?0:-1:0:-1:Up<gx?G_<gx?0:-1:0:-1:k3<gx?cy<gx?g0<gx?U1<gx?0:-1:0:-1:qr<gx?De<gx?0:-1:0:-1:Zt<gx?ry<gx?Qm<gx?gm<gx?Ds<gx?a8<gx?ql<gx?wf<gx?L2<gx?xu<gx?jy<gx?Rd<gx?Rb<gx?W3<gx?Y0<gx?0:-1:0:-1:U_<gx?xC<gx?0:-1:0:-1:Jm<gx?Dm<gx?Al<gx?Fl<gx?0:-1:0:-1:F_<gx?Nt<gx?0:-1:0:-1:Ff<gx?0:y2<gx?l1<gx?vy<gx?gd<gx?0:-1:0:-1:Fh<gx?Sh<gx?0:-1:0:-1:P0<gx?W7<gx?YE<gx?i8<gx?dD<gx?Vb<gx?Y7<gx?V0<gx?0:-1:0:-1:av<gx?W<gx?0:-1:0:-1:Vv<gx?gC<gx?Is<gx?cp<gx?0:-1:0:-1:Gb<gx?RE<gx?0:-1:0:-1:y0<gx?Ou<gx?bo<gx?rb<gx?E7<gx?ZD<gx?0:-1:0:-1:Ty<gx?by<gx?0:-1:0:-1:mh<gx?mm<gx?Gg<gx?I3<gx?0:-1:0:-1:li<gx?Av<gx?0:-1:0:-1:La<gx?Uy<gx?Cp<gx?js<gx?q_<gx?lD<gx&&QD<gx?ID<gx?0:-1:0:-1:H1<gx?c0<gx?N_<gx?l2<gx?0:-1:0:-1:kp<gx?Hy<gx?0:-1:0:-1:hf<gx?fE<gx?gb<gx?d<gx?w3<gx?_o<gx?0:-1:0:-1:td<gx?C1<gx?0:-1:0:-1:cE<gx?wb<gx?0:-1:0:Xg<gx?Fv<gx?x8<gx?0:Bb<gx?uC<gx?fb<gx?0:-1:0:fD<gx?nf<gx?0:-1:0:-1:J7<gx?Kt<gx?og<gx?V_<gx?G<gx?Kv<gx?0:-1:0:-1:wm<gx?Jf<gx?0:-1:0:-1:rm<gx&&Fb<gx?kh<gx?0:-1:0:q3<gx?$<gx?x2<gx?Uh<gx?BE<gx&&X3<gx?ts<gx?0:-1:0:J3<gx?G1<gx?qs<gx?0:-1:0:Wv<gx?N3<gx?0:-1:0:0:Hh<gx?$m<gx?0:Sv<gx?_b<gx?0:-1:0:g_<gx?Rc<gx?Ev<gx?PC<gx?Mr<gx?0:-1:0:-1:0:rv<gx?0:$d<gx?Ur<gx?0:-1:0:nx<gx?ZE<gx?qa<gx?0:Eg<gx&&JD<gx?M2<gx?0:-1:0:ip<gx?K7<gx?0:$c<gx?Vm<gx?0:-1:0:gt<gx&&R7<gx?Mf<gx?0:-1:0:z7<gx?_<gx?0:zd<gx?bC<gx?0:-1:eC<gx?L3<gx?0:-1:0:Sy<gx?wC<gx?cl<gx?0:-1:0:ng<gx?0:zy<gx?Pf<gx?0:-1:0:-1:Hp<gx?lg<gx?I1<gx?h_<gx?Rl<gx?ev<gx?IE<gx?r8<gx?PE<gx?0:-1:sp<gx?D3<gx?0:-1:0:fh<gx?0:A3<gx?Ip<gx?0:-1:0:-1:0:p8<gx?Hf<gx?0:Dv<gx?Px<gx?Pe<gx?kD<gx?0:-1:0:-1:0:By<gx?wd<gx&&$b<gx?ny<gx?0:-1:0:_E<gx?$v<gx?iy<gx?em<gx?0:-1:0:-1:0:Lo<gx?sf<gx?Zd<gx?R0<gx?0:v3<gx?CC<gx?zl<gx?iD<gx?0:-1:0:-1:0:ig<gx?m2<gx?rp<gx&&gD<gx?Ed<gx?0:-1:0:-1:bn<gx?__<gx?0:-1:0:-1:i7<gx?Fo<gx?nd<gx?Y2<gx?nC<gx?0:Wb<gx?cg<gx?0:-1:0:-1:Eh<gx?wu<gx?T_<gx?lp<gx?0:-1:0:-1:sb<gx?ds<gx?0:-1:0:-1:vh<gx?dv<gx?Hx<gx?Tv<gx?Rp<gx?0:-1:0:xi<gx?af<gx?0:-1:0:-1:0:-1:mE<gx?bf<gx?Ib<gx?r7<gx?sh<gx?I0<gx?Lm<gx?qf<gx&&_t<gx?ep<gx?0:-1:0:-1:HE<gx&&kC<gx?Hg<gx?0:-1:0:-1:s2<gx?rx<gx?AD<gx?0:Nf<gx?h2<gx?0:-1:0:-1:Ah<gx?uh<gx?Ch<gx?hD<gx?0:-1:0:-1:Zg<gx?q7<gx?0:-1:0:-1:_v<gx?f3<gx?Cv<gx?ay<gx?Yy<gx?hg<gx?Md<gx?Ro<gx?0:-1:0:-1:ND<gx?$h<gx?0:-1:0:-1:kf<gx?Of<gx?0:-1:TD<gx?nv<gx?0:-1:0:-1:R3<gx?ch<gx?y_<gx?WD<gx?Js<gx?0:-1:0:-1:Ap<gx?qb<gx?0:-1:0:Mb<gx?ht<gx?0:-1:0:pl<gx?d7<gx?Uf<gx?nl<gx?Km<gx?j<gx?_d<gx?G7<gx?xb<gx?0:-1:0:-1:D0<gx?H7<gx?0:-1:0:Vp<gx?w_<gx?0:-1:a3<gx?Sg<gx?0:-1:0:-1:zD<gx?bE<gx&&Yv<gx?Ry<gx?0:-1:0:oc<gx?$i<gx?0:-1:XD<gx?t3<gx?0:-1:0:-1:$e<gx?ah<gx?Bi<gx?d_<gx?Pu<gx?j2<gx?an<gx?0:-1:0:z3<gx?Yb<gx?0:-1:0:-1:zb<gx?B_<gx?nm<gx?eD<gx?0:-1:0:-1:ug<gx?T7<gx?0:-1:0:-1:Z7<gx?Yi<gx?J_<gx?Dd<gx?W1<gx?Oy<gx?0:-1:0:-1:M_<gx?Z3<gx?0:-1:0:-1:eb<gx?im<gx?qC<gx?Rf<gx?0:-1:0:-1:Np<gx?Kc<gx?0:-1:0:-1:fr(cY1,gx+Kd|0)-1|0:-1;else KM=-1;if(3<KM>>>0)Br=Zx(x);else switch(KM){case 0:Br=L(x);break;case 1:Br=v(x);break;case 2:Qe(x,48);var uB=JV(Rx(x));if(2<uB>>>0)Br=Zx(x);else switch(uB){case 0:Br=L(x);break;case 1:Br=v(x);break;default:Qe(x,48);var yx=V4(Rx(x));if(2<yx>>>0)Br=Zx(x);else switch(yx){case 0:Br=L(x);break;case 1:Br=v(x);break;default:Qe(x,44);var Ai=_h(Rx(x));Br=Ai===0?L(x):Ai===1?v(x):Zx(x)}}break;default:Qe(x,48);var dr=zq(Rx(x));if(2<dr>>>0)Br=Zx(x);else switch(dr){case 0:Br=L(x);break;case 1:Br=v(x);break;default:Qe(x,48);var m1=V4(Rx(x));if(2<m1>>>0)Br=Zx(x);else switch(m1){case 0:Br=L(x);break;case 1:Br=v(x);break;default:Qe(x,48);var Wn=$U(Rx(x));if(2<Wn>>>0)Br=Zx(x);else switch(Wn){case 0:Br=L(x);break;case 1:Br=v(x);break;default:Qe(x,48);var zc=Hq(Rx(x));if(2<zc>>>0)Br=Zx(x);else switch(zc){case 0:Br=L(x);break;case 1:Br=v(x);break;default:Qe(x,45);var kl=_h(Rx(x));Br=kl===0?L(x):kl===1?v(x):Zx(x)}}}}}break;case 37:Qe(x,48);var u_=$U(Rx(x));if(2<u_>>>0)Br=Zx(x);else switch(u_){case 0:Br=L(x);break;case 1:Br=v(x);break;default:Qe(x,48);var s3=oO(Rx(x));if(2<s3>>>0)Br=Zx(x);else switch(s3){case 0:Br=L(x);break;case 1:Br=v(x);break;default:Qe(x,48);var QC=OK(Rx(x));if(2<QC>>>0)Br=Zx(x);else switch(QC){case 0:Br=L(x);break;case 1:Br=v(x);break;default:Qe(x,46);var E6=_h(Rx(x));Br=E6===0?L(x):E6===1?v(x):Zx(x)}}}break;case 38:Qe(x,52);var cS=Rx(x);if(cS)var UF=cS[1],VF=QP<UF?WI<UF?-1:0:-1;else VF=-1;Br=VF===0?54:Zx(x);break;case 39:Qe(x,73);var W8=Rx(x);if(W8)var xS=W8[1],aF=WI<xS?Ho<xS?-1:0:-1;else aF=-1;Br=aF===0?55:Zx(x);break;default:Br=53}if(81<Br>>>0)return qp(DH1);var OS=Br;if(41<=OS)switch(OS){case 41:return[0,i,fw];case 42:return[0,i,42];case 43:return[0,i,BO];case 44:return[0,i,31];case 46:return[0,i,BI];case 47:return[0,i,cM];case 48:var W4=uA(i,x),LA=Zf(x),_F=D20(i,LA);return[0,_F[1],[4,W4,_F[2],LA]];case 49:return[0,i,66];case 52:return[0,i,0];case 53:return[0,i,1];case 54:return[0,i,2];case 55:return[0,i,3];case 56:return[0,i,4];case 57:return[0,i,5];case 58:return[0,i,12];case 59:return[0,i,10];case 60:return[0,i,8];case 61:return[0,i,9];case 63:return[0,i,80];case 67:return[0,i,95];case 68:return[0,i,96];case 71:return[0,i,NT];case 73:return[0,i,86];case 74:return[0,i,88];case 76:return[0,i,11];case 78:return[0,i,Yw];case 79:return[0,i,Uk];case 80:return[0,i[4]?CN(i,uA(i,x),6):i,ef];case 81:return[0,i,[6,Zf(x)]];case 45:case 75:return[0,i,46];case 50:case 65:return[0,i,6];case 51:case 66:return[0,i,7];case 62:case 72:return[0,i,83];case 64:case 70:return[0,i,82];default:return[0,i,79]}switch(OS){case 0:return[2,SI(i,x)];case 1:return[2,i];case 2:var eS=bN(i,x),DT=sA(sS),X5=jK(i,DT,x),Mw=X5[1];return[1,Mw,wL(Mw,eS,X5[2],DT,1)];case 3:var B5=Zf(x);if(i[5]){var Gk=i[4]?h20(i,uA(i,x),B5):i,xx=fY(1,Gk),lS=rG(x);return Da(jz(x,lS-1|0,1),vH1)&&rt(jz(x,lS-2|0,1),bH1)?[0,xx,83]:[2,xx]}var dk=bN(i,x),h5=sA(sS);E8(h5,B5);var Tk=jK(i,h5,x),_w=Tk[1];return[1,_w,wL(_w,dk,Tk[2],h5,1)];case 4:return i[4]?[2,fY(0,i)]:(Mz(x),vS(x),(Gd0(Rx(x))===0?0:Zx(x))===0?[0,i,NT]:qp(CH1));case 5:var mk=bN(i,x),Rw=sA(sS),SN=Wz(i,Rw,x),fx=SN[1];return[1,fx,wL(fx,mk,SN[2],Rw,0)];case 6:var T9=Zf(x),FN=bN(i,x),Xk=sA(sS),wk=sA(sS);E8(wk,T9);var kk=b20(i,T9,Xk,wk,0,x),w9=kk[1],AN=[0,w9[1],FN,kk[2]],l9=kk[3],AI=Iw(wk);return[0,w9,[2,[0,AN,Iw(Xk),AI,l9]]];case 7:return Ow(i,x,function(c1,na){function r2(Yc){if(SY(Rx(Yc))===0){if(Sj(Rx(Yc))===0)for(;;){var $6=gY(Rx(Yc));if(2<$6>>>0)return Zx(Yc);switch($6){case 0:continue;case 1:x:for(;;){if(Sj(Rx(Yc))===0)for(;;){var g6=gY(Rx(Yc));if(2<g6>>>0)return Zx(Yc);switch(g6){case 0:continue;case 1:continue x;default:return 0}}return Zx(Yc)}default:return 0}}return Zx(Yc)}return Zx(Yc)}vS(na);var Lh=MK(Rx(na));if(Lh===0)for(;;){var Rm=BK(Rx(na));if(Rm!==0){var V2=Rm===1?r2(na):Zx(na);break}}else V2=Lh===1?r2(na):Zx(na);return V2===0?[0,c1,UM(0,Zf(na))]:qp(yH1)});case 8:return[0,i,UM(0,Zf(x))];case 9:return Ow(i,x,function(c1,na){function r2(Yc){if(SY(Rx(Yc))===0){if(Sj(Rx(Yc))===0)for(;;){Qe(Yc,0);var $6=hY(Rx(Yc));if($6!==0){if($6===1)x:for(;;){if(Sj(Rx(Yc))===0)for(;;){Qe(Yc,0);var g6=hY(Rx(Yc));if(g6!==0){if(g6===1)continue x;return Zx(Yc)}}return Zx(Yc)}return Zx(Yc)}}return Zx(Yc)}return Zx(Yc)}vS(na);var Lh=MK(Rx(na));if(Lh===0)for(;;){var Rm=BK(Rx(na));if(Rm!==0){var V2=Rm===1?r2(na):Zx(na);break}}else V2=Lh===1?r2(na):Zx(na);return V2===0?[0,c1,wj(0,Zf(na))]:qp(_H1)});case 10:return[0,i,wj(0,Zf(x))];case 11:return Ow(i,x,function(c1,na){function r2(Yc){if(kY(Rx(Yc))===0){if(eP(Rx(Yc))===0)for(;;){var $6=EY(Rx(Yc));if(2<$6>>>0)return Zx(Yc);switch($6){case 0:continue;case 1:x:for(;;){if(eP(Rx(Yc))===0)for(;;){var g6=EY(Rx(Yc));if(2<g6>>>0)return Zx(Yc);switch(g6){case 0:continue;case 1:continue x;default:return 0}}return Zx(Yc)}default:return 0}}return Zx(Yc)}return Zx(Yc)}vS(na);var Lh=MK(Rx(na));if(Lh===0)for(;;){var Rm=BK(Rx(na));if(Rm!==0){var V2=Rm===1?r2(na):Zx(na);break}}else V2=Lh===1?r2(na):Zx(na);return V2===0?[0,c1,UM(1,Zf(na))]:qp(gH1)});case 12:return[0,i,UM(1,Zf(x))];case 13:return Ow(i,x,function(c1,na){function r2(Yc){if(kY(Rx(Yc))===0){if(eP(Rx(Yc))===0)for(;;){Qe(Yc,0);var $6=bY(Rx(Yc));if($6!==0){if($6===1)x:for(;;){if(eP(Rx(Yc))===0)for(;;){Qe(Yc,0);var g6=bY(Rx(Yc));if(g6!==0){if(g6===1)continue x;return Zx(Yc)}}return Zx(Yc)}return Zx(Yc)}}return Zx(Yc)}return Zx(Yc)}vS(na);var Lh=MK(Rx(na));if(Lh===0)for(;;){var Rm=BK(Rx(na));if(Rm!==0){var V2=Rm===1?r2(na):Zx(na);break}}else V2=Lh===1?r2(na):Zx(na);return V2===0?[0,c1,wj(3,Zf(na))]:qp(hH1)});case 14:return[0,i,wj(3,Zf(x))];case 15:return Ow(i,x,function(c1,na){function r2(Yc){if(eP(Rx(Yc))===0){for(;;)if(Qe(Yc,0),eP(Rx(Yc))!==0)return Zx(Yc)}return Zx(Yc)}vS(na);var Lh=MK(Rx(na));if(Lh===0)for(;;){var Rm=BK(Rx(na));if(Rm!==0){var V2=Rm===1?r2(na):Zx(na);break}}else V2=Lh===1?r2(na):Zx(na);return V2===0?[0,c1,wj(1,Zf(na))]:qp(mH1)});case 16:return[0,i,wj(1,Zf(x))];case 17:return Ow(i,x,function(c1,na){function r2(Yc){if(pY(Rx(Yc))===0){if(m6(Rx(Yc))===0)for(;;){var $6=_Y(Rx(Yc));if(2<$6>>>0)return Zx(Yc);switch($6){case 0:continue;case 1:x:for(;;){if(m6(Rx(Yc))===0)for(;;){var g6=_Y(Rx(Yc));if(2<g6>>>0)return Zx(Yc);switch(g6){case 0:continue;case 1:continue x;default:return 0}}return Zx(Yc)}default:return 0}}return Zx(Yc)}return Zx(Yc)}vS(na);var Lh=MK(Rx(na));if(Lh===0)for(;;){var Rm=BK(Rx(na));if(Rm!==0){var V2=Rm===1?r2(na):Zx(na);break}}else V2=Lh===1?r2(na):Zx(na);return V2===0?[0,c1,UM(2,Zf(na))]:qp(dH1)});case 19:return Ow(i,x,function(c1,na){function r2(Yc){if(pY(Rx(Yc))===0){if(m6(Rx(Yc))===0)for(;;){Qe(Yc,0);var $6=IY(Rx(Yc));if($6!==0){if($6===1)x:for(;;){if(m6(Rx(Yc))===0)for(;;){Qe(Yc,0);var g6=IY(Rx(Yc));if(g6!==0){if(g6===1)continue x;return Zx(Yc)}}return Zx(Yc)}return Zx(Yc)}}return Zx(Yc)}return Zx(Yc)}vS(na);var Lh=MK(Rx(na));if(Lh===0)for(;;){var Rm=BK(Rx(na));if(Rm!==0){var V2=Rm===1?r2(na):Zx(na);break}}else V2=Lh===1?r2(na):Zx(na);return V2===0?[0,c1,wj(4,Zf(na))]:qp(pH1)});case 21:return Ow(i,x,function(c1,na){function r2(Bf){for(;;){var K6=SL(Rx(Bf));if(2<K6>>>0)return Zx(Bf);switch(K6){case 0:continue;case 1:x:for(;;){if(C6(Rx(Bf))===0)for(;;){var sF=SL(Rx(Bf));if(2<sF>>>0)return Zx(Bf);switch(sF){case 0:continue;case 1:continue x;default:return 0}}return Zx(Bf)}default:return 0}}}function Lh(Bf){for(;;){var K6=zz(Rx(Bf));if(K6!==0)return K6===1?0:Zx(Bf)}}function Rm(Bf){var K6=jY(Rx(Bf));if(2<K6>>>0)return Zx(Bf);switch(K6){case 0:var sF=LK(Rx(Bf));return sF===0?Lh(Bf):sF===1?r2(Bf):Zx(Bf);case 1:return Lh(Bf);default:return r2(Bf)}}function V2(Bf){if(C6(Rx(Bf))===0)for(;;){var K6=IP(Rx(Bf));if(2<K6>>>0)return Zx(Bf);switch(K6){case 0:continue;case 1:return Rm(Bf);default:x:for(;;){if(C6(Rx(Bf))===0)for(;;){var sF=IP(Rx(Bf));if(2<sF>>>0)return Zx(Bf);switch(sF){case 0:continue;case 1:return Rm(Bf);default:continue x}}return Zx(Bf)}}}return Zx(Bf)}function Yc(Bf){var K6=NY(Rx(Bf));if(K6===0)for(;;){var sF=IP(Rx(Bf));if(2<sF>>>0)return Zx(Bf);switch(sF){case 0:continue;case 1:return Rm(Bf);default:x:for(;;){if(C6(Rx(Bf))===0)for(;;){var tP=IP(Rx(Bf));if(2<tP>>>0)return Zx(Bf);switch(tP){case 0:continue;case 1:return Rm(Bf);default:continue x}}return Zx(Bf)}}}return K6===1?Rm(Bf):Zx(Bf)}function $6(Bf){var K6=mY(Rx(Bf));return K6===0?Yc(Bf):K6===1?Rm(Bf):Zx(Bf)}function g6(Bf){for(;;){var K6=wY(Rx(Bf));if(2<K6>>>0)return Zx(Bf);switch(K6){case 0:return Yc(Bf);case 1:continue;default:return Rm(Bf)}}}vS(na);var xT=vY(Rx(na));if(3<xT>>>0)var oF=Zx(na);else switch(xT){case 0:for(;;){var f6=qq(Rx(na));if(3<f6>>>0)oF=Zx(na);else switch(f6){case 0:continue;case 1:oF=V2(na);break;case 2:oF=$6(na);break;default:oF=g6(na)}break}break;case 1:oF=V2(na);break;case 2:oF=$6(na);break;default:oF=g6(na)}if(oF===0){var Mp=Zf(na);return[0,CN(c1,uA(c1,na),23),UM(2,Mp)]}return qp(fH1)});case 22:var cO=Zf(x);return[0,CN(i,uA(i,x),23),UM(2,cO)];case 23:return Ow(i,x,function(c1,na){function r2(Mp){for(;;){Qe(Mp,0);var Bf=YV(Rx(Mp));if(Bf!==0){if(Bf===1)x:for(;;){if(C6(Rx(Mp))===0)for(;;){Qe(Mp,0);var K6=YV(Rx(Mp));if(K6!==0){if(K6===1)continue x;return Zx(Mp)}}return Zx(Mp)}return Zx(Mp)}}}function Lh(Mp){for(;;)if(Qe(Mp,0),C6(Rx(Mp))!==0)return Zx(Mp)}function Rm(Mp){var Bf=jY(Rx(Mp));if(2<Bf>>>0)return Zx(Mp);switch(Bf){case 0:var K6=LK(Rx(Mp));return K6===0?Lh(Mp):K6===1?r2(Mp):Zx(Mp);case 1:return Lh(Mp);default:return r2(Mp)}}function V2(Mp){if(C6(Rx(Mp))===0)for(;;){var Bf=IP(Rx(Mp));if(2<Bf>>>0)return Zx(Mp);switch(Bf){case 0:continue;case 1:return Rm(Mp);default:x:for(;;){if(C6(Rx(Mp))===0)for(;;){var K6=IP(Rx(Mp));if(2<K6>>>0)return Zx(Mp);switch(K6){case 0:continue;case 1:return Rm(Mp);default:continue x}}return Zx(Mp)}}}return Zx(Mp)}function Yc(Mp){var Bf=NY(Rx(Mp));if(Bf===0)for(;;){var K6=IP(Rx(Mp));if(2<K6>>>0)return Zx(Mp);switch(K6){case 0:continue;case 1:return Rm(Mp);default:x:for(;;){if(C6(Rx(Mp))===0)for(;;){var sF=IP(Rx(Mp));if(2<sF>>>0)return Zx(Mp);switch(sF){case 0:continue;case 1:return Rm(Mp);default:continue x}}return Zx(Mp)}}}return Bf===1?Rm(Mp):Zx(Mp)}function $6(Mp){var Bf=mY(Rx(Mp));return Bf===0?Yc(Mp):Bf===1?Rm(Mp):Zx(Mp)}function g6(Mp){for(;;){var Bf=wY(Rx(Mp));if(2<Bf>>>0)return Zx(Mp);switch(Bf){case 0:return Yc(Mp);case 1:continue;default:return Rm(Mp)}}}vS(na);var xT=vY(Rx(na));if(3<xT>>>0)var oF=Zx(na);else switch(xT){case 0:for(;;){var f6=qq(Rx(na));if(3<f6>>>0)oF=Zx(na);else switch(f6){case 0:continue;case 1:oF=V2(na);break;case 2:oF=$6(na);break;default:oF=g6(na)}break}break;case 1:oF=V2(na);break;case 2:oF=$6(na);break;default:oF=g6(na)}return oF===0?[0,c1,wj(4,Zf(na))]:qp(lH1)});case 25:return Ow(i,x,function(c1,na){function r2(f6){for(;;){var Mp=SL(Rx(f6));if(2<Mp>>>0)return Zx(f6);switch(Mp){case 0:continue;case 1:x:for(;;){if(C6(Rx(f6))===0)for(;;){var Bf=SL(Rx(f6));if(2<Bf>>>0)return Zx(f6);switch(Bf){case 0:continue;case 1:continue x;default:return 0}}return Zx(f6)}default:return 0}}}function Lh(f6){return C6(Rx(f6))===0?r2(f6):Zx(f6)}function Rm(f6){var Mp=zz(Rx(f6));return Mp===0?r2(f6):Mp===1?0:Zx(f6)}function V2(f6){for(;;){var Mp=RK(Rx(f6));if(Mp===0)return Rm(f6);if(Mp!==1)return Zx(f6)}}function Yc(f6){for(;;){var Mp=Aj(Rx(f6));if(2<Mp>>>0)return Zx(f6);switch(Mp){case 0:return Rm(f6);case 1:continue;default:x:for(;;){if(C6(Rx(f6))===0)for(;;){var Bf=Aj(Rx(f6));if(2<Bf>>>0)return Zx(f6);switch(Bf){case 0:return Rm(f6);case 1:continue;default:continue x}}return Zx(f6)}}}}vS(na);var $6=vY(Rx(na));if(3<$6>>>0)var g6=Zx(na);else switch($6){case 0:for(;;){var xT=qq(Rx(na));if(3<xT>>>0)g6=Zx(na);else switch(xT){case 0:continue;case 1:g6=Lh(na);break;case 2:g6=V2(na);break;default:g6=Yc(na)}break}break;case 1:g6=Lh(na);break;case 2:g6=V2(na);break;default:g6=Yc(na)}if(g6===0){var oF=Zf(na);return[0,CN(c1,uA(c1,na),22),UM(2,oF)]}return qp(cH1)});case 26:return Ow(i,x,function(c1,na){function r2(xT){for(;;){var oF=zz(Rx(xT));if(oF!==0)return oF===1?0:Zx(xT)}}function Lh(xT){for(;;){var oF=SL(Rx(xT));if(2<oF>>>0)return Zx(xT);switch(oF){case 0:continue;case 1:x:for(;;){if(C6(Rx(xT))===0)for(;;){var f6=SL(Rx(xT));if(2<f6>>>0)return Zx(xT);switch(f6){case 0:continue;case 1:continue x;default:return 0}}return Zx(xT)}default:return 0}}}vS(na);var Rm=Rx(na);if(Rm)var V2=Rm[1],Yc=44<V2?57<V2?-1:fr(dY1,V2+Fr|0)-1|0:-1;else Yc=-1;if(2<Yc>>>0)var $6=Zx(na);else switch(Yc){case 0:for(;;){var g6=i20(Rx(na));if(2<g6>>>0)$6=Zx(na);else switch(g6){case 0:continue;case 1:$6=r2(na);break;default:$6=Lh(na)}break}break;case 1:$6=r2(na);break;default:$6=Lh(na)}return $6===0?[0,c1,UM(2,Zf(na))]:qp(uH1)});case 27:var MP=Zf(x);return[0,CN(i,uA(i,x),22),UM(2,MP)];case 29:return Ow(i,x,function(c1,na){function r2(sF){for(;;){Qe(sF,0);var tP=YV(Rx(sF));if(tP!==0){if(tP===1)x:for(;;){if(C6(Rx(sF))===0)for(;;){Qe(sF,0);var NL=YV(Rx(sF));if(NL!==0){if(NL===1)continue x;return Zx(sF)}}return Zx(sF)}return Zx(sF)}}}function Lh(sF){return Qe(sF,0),C6(Rx(sF))===0?r2(sF):Zx(sF)}vS(na);var Rm=vY(Rx(na));if(3<Rm>>>0)var V2=Zx(na);else switch(Rm){case 0:for(;;){var Yc=i20(Rx(na));if(2<Yc>>>0)V2=Zx(na);else switch(Yc){case 0:continue;case 1:for(;;){Qe(na,0);var $6=RK(Rx(na));if($6===0)V2=0;else{if($6===1)continue;V2=Zx(na)}break}break;default:for(;;){Qe(na,0);var g6=Aj(Rx(na));if(2<g6>>>0)V2=Zx(na);else switch(g6){case 0:V2=0;break;case 1:continue;default:x:for(;;){if(C6(Rx(na))===0)for(;;){Qe(na,0);var xT=Aj(Rx(na));if(2<xT>>>0)var oF=Zx(na);else switch(xT){case 0:oF=0;break;case 1:continue;default:continue x}break}else oF=Zx(na);V2=oF;break}}break}}break}break;case 1:V2=C6(Rx(na))===0?r2(na):Zx(na);break;case 2:for(;;){Qe(na,0);var f6=RK(Rx(na));if(f6===0)V2=Lh(na);else{if(f6===1)continue;V2=Zx(na)}break}break;default:for(;;){Qe(na,0);var Mp=Aj(Rx(na));if(2<Mp>>>0)V2=Zx(na);else switch(Mp){case 0:V2=Lh(na);break;case 1:continue;default:x:for(;;){if(C6(Rx(na))===0)for(;;){Qe(na,0);var Bf=Aj(Rx(na));if(2<Bf>>>0)var K6=Zx(na);else switch(Bf){case 0:K6=Lh(na);break;case 1:continue;default:continue x}break}else K6=Zx(na);V2=K6;break}}break}}return V2===0?[0,c1,wj(4,Zf(na))]:qp(sH1)});case 31:return[0,i,zx];case 32:return[0,i,EH1];case 33:return[0,i,SH1];case 34:return[0,i,Gw];case 35:return[0,i,41];case 36:return[0,i,30];case 37:return[0,i,53];case 38:return[0,i,nt];case 39:return[0,i,29];case 40:return[0,i,lr];case 18:case 28:return[0,i,UM(2,Zf(x))];default:return[0,i,wj(4,Zf(x))]}}),P2x=Gq(function(i,x){function n(va,Vi){for(;;){Qe(Vi,87);var I8=_h(Rx(Vi));if(I8!==0)return I8===1?va<50?m(va+1|0,Vi):dn(m,[0,Vi]):Zx(Vi)}}function m(va,Vi){if(Tj(Rx(Vi))===0){var I8=UU(Rx(Vi));if(I8===0)return m6(Rx(Vi))===0&&m6(Rx(Vi))===0&&m6(Rx(Vi))===0?va<50?n(va+1|0,Vi):dn(n,[0,Vi]):Zx(Vi);if(I8===1){if(m6(Rx(Vi))===0)for(;;){var u8=jU(Rx(Vi));if(u8!==0)return u8===1?va<50?n(va+1|0,Vi):dn(n,[0,Vi]):Zx(Vi)}return Zx(Vi)}return Zx(Vi)}return Zx(Vi)}function L(va){return Wt(n(0,va))}function v(va){return Wt(m(0,va))}function a0(va){for(;;)if(Qe(va,34),V6(Rx(va))!==0)return Zx(va)}function O1(va){for(;;)if(Qe(va,28),V6(Rx(va))!==0)return Zx(va)}function dx(va){Qe(va,27);var Vi=fk(Rx(va));if(Vi===0){for(;;)if(Qe(va,26),V6(Rx(va))!==0)return Zx(va)}return Vi===1?O1(va):Zx(va)}function ie(va){for(;;)if(Qe(va,28),V6(Rx(va))!==0)return Zx(va)}function Ie(va){Qe(va,27);var Vi=fk(Rx(va));if(Vi===0){for(;;)if(Qe(va,26),V6(Rx(va))!==0)return Zx(va)}return Vi===1?ie(va):Zx(va)}function Ot(va){x:for(;;){if(C6(Rx(va))===0)for(;;){Qe(va,29);var Vi=Fj(Rx(va));if(3<Vi>>>0)return Zx(va);switch(Vi){case 0:return ie(va);case 1:continue;case 2:continue x;default:return Ie(va)}}return Zx(va)}}function Or(va){Qe(va,34);var Vi=a20(Rx(va));if(3<Vi>>>0)return Zx(va);switch(Vi){case 0:return a0(va);case 1:var I8=LK(Rx(va));if(I8===0)for(;;){Qe(va,29);var u8=Kz(Rx(va));if(2<u8>>>0)return Zx(va);switch(u8){case 0:return ie(va);case 1:continue;default:return Ie(va)}}if(I8===1)for(;;){Qe(va,29);var J8=Fj(Rx(va));if(3<J8>>>0)return Zx(va);switch(J8){case 0:return ie(va);case 1:continue;case 2:return Ot(va);default:return Ie(va)}}return Zx(va);case 2:for(;;){Qe(va,29);var _8=Kz(Rx(va));if(2<_8>>>0)return Zx(va);switch(_8){case 0:return O1(va);case 1:continue;default:return dx(va)}}default:for(;;){Qe(va,29);var nP=Fj(Rx(va));if(3<nP>>>0)return Zx(va);switch(nP){case 0:return O1(va);case 1:continue;case 2:return Ot(va);default:return dx(va)}}}}function Cr(va){Qe(va,32);var Vi=fk(Rx(va));if(Vi===0){for(;;)if(Qe(va,30),V6(Rx(va))!==0)return Zx(va)}return Vi===1?a0(va):Zx(va)}function ni(va){return Qe(va,4),f20(Rx(va))===0?4:Zx(va)}function Jn(va){return PY(Rx(va))===0&&AY(Rx(va))===0&&s20(Rx(va))===0&&Qd0(Rx(va))===0&&Zd0(Rx(va))===0&&Vt0(Rx(va))===0&&Wq(Rx(va))===0&&PY(Rx(va))===0&&Tj(Rx(va))===0&&x20(Rx(va))===0&&Jq(Rx(va))===0?4:Zx(va)}function Vn(va){Qe(va,35);var Vi=Xd0(Rx(va));if(3<Vi>>>0)return Zx(va);switch(Vi){case 0:return a0(va);case 1:for(;;){Qe(va,35);var I8=XV(Rx(va));if(4<I8>>>0)return Zx(va);switch(I8){case 0:return a0(va);case 1:continue;case 2:return Or(va);case 3:x:for(;;){if(C6(Rx(va))===0)for(;;){Qe(va,35);var u8=XV(Rx(va));if(4<u8>>>0)return Zx(va);switch(u8){case 0:return a0(va);case 1:continue;case 2:return Or(va);case 3:continue x;default:return Cr(va)}}return Zx(va)}default:return Cr(va)}}case 2:return Or(va);default:return Cr(va)}}function zn(va){for(;;)if(Qe(va,20),V6(Rx(va))!==0)return Zx(va)}function Oi(va){Qe(va,35);var Vi=Kz(Rx(va));if(2<Vi>>>0)return Zx(va);switch(Vi){case 0:return a0(va);case 1:for(;;){Qe(va,35);var I8=Fj(Rx(va));if(3<I8>>>0)return Zx(va);switch(I8){case 0:return a0(va);case 1:continue;case 2:x:for(;;){if(C6(Rx(va))===0)for(;;){Qe(va,35);var u8=Fj(Rx(va));if(3<u8>>>0)return Zx(va);switch(u8){case 0:return a0(va);case 1:continue;case 2:continue x;default:return Cr(va)}}return Zx(va)}default:return Cr(va)}}default:return Cr(va)}}function xn(va){for(;;)if(Qe(va,18),V6(Rx(va))!==0)return Zx(va)}function vt(va){for(;;)if(Qe(va,18),V6(Rx(va))!==0)return Zx(va)}function Xt(va){for(;;)if(Qe(va,12),V6(Rx(va))!==0)return Zx(va)}function Me(va){for(;;)if(Qe(va,12),V6(Rx(va))!==0)return Zx(va)}function Ke(va){for(;;)if(Qe(va,16),V6(Rx(va))!==0)return Zx(va)}function ct(va){for(;;)if(Qe(va,16),V6(Rx(va))!==0)return Zx(va)}function sr(va){for(;;)if(Qe(va,24),V6(Rx(va))!==0)return Zx(va)}function kr(va){for(;;)if(Qe(va,24),V6(Rx(va))!==0)return Zx(va)}function wn(va){Qe(va,33);var Vi=fk(Rx(va));if(Vi===0){for(;;)if(Qe(va,31),V6(Rx(va))!==0)return Zx(va)}return Vi===1?a0(va):Zx(va)}function In(va){x:for(;;){if(C6(Rx(va))===0)for(;;){Qe(va,35);var Vi=n20(Rx(va));if(4<Vi>>>0)return Zx(va);switch(Vi){case 0:return a0(va);case 1:return Oi(va);case 2:continue;case 3:continue x;default:return wn(va)}}return Zx(va)}}vS(x);var Tn=Rx(x);if(Tn)var ix=Tn[1],Nr=R4<ix?uy<ix?-1:jd<ix?V7<ix?$_<ix?up<ix?A_<ix?a7<ix?1:8:A7<ix?1:8:Cm<ix?O2<ix?Xf<ix?N2<ix?1:8:e<ix?1:8:Sd<ix?_D<ix?1:8:ob<ix?1:8:mg<ix?qt<ix?Xy<ix?1:8:d2<ix?1:8:Pp<ix?pv<ix?1:8:Bt<ix?1:8:Ac<ix?jl<ix?Ov<ix?_3<ix?Am<ix?1:8:Fc<ix?1:8:Hb<ix?Zo<ix?1:8:vd<ix?1:8:sn<ix?aC<ix?G3<ix?1:8:Gt<ix?1:8:op<ix?yy<ix?1:8:Gv<ix?1:8:P7<ix?w1<ix?Jv<ix?_e<ix?1:8:Zl<ix?1:8:bv<ix?Ld<ix?1:8:np<ix?1:8:ih<ix?Rg<ix?m7<ix?1:8:Yp<ix?1:8:Xl<ix?gg<ix?1:8:Kh<ix?1:8:b_<ix?fl<ix?Ih<ix?iv<ix?Dp<ix?Pb<ix?Jb<ix?dp<ix?1:8:oD<ix?1:8:Zp<ix?I_<ix?1:8:jv<ix?1:8:dd<ix?V3<ix?hv<ix?1:8:bD<ix?1:8:Ym<ix?Us<ix?1:8:oh<ix?1:8:Qw<ix?Nh<ix?p7<ix?gv<ix?1:8:Gy<ix?1:8:Iv<ix?Mu<ix?1:8:OD<ix?1:8:_l<ix?Va<ix?Xb<ix?1:8:Ox<ix?1:8:wp<ix?j6<ix?1:8:ky<ix?1:8:Xm<ix?Fm<ix?r3<ix?NV<ix?pD<ix?1:8:MD<ix?1:8:Kp<ix?v2<ix?1:8:ka<ix?1:8:k7<ix?ff<ix?Tb<ix?1:8:Wx<ix?1:8:l0<ix?b3<ix?1:8:c7<ix?1:8:ld<ix?mD<ix?v1<ix?Cg<ix?1:8:Mt<ix?1:8:l7<ix?zf<ix?1:8:eu<ix?1:8:zp<ix?tt<ix?Pm<ix?1:8:Mv<ix?1:8:Yd<ix?$3<ix?1:8:P3<ix?1:8:bt<ix?Ph<ix?B7<ix?j_<ix?uD<ix?I7<ix?1:8:YD<ix?1:8:n3<ix?al<ix?1:8:qx<ix?1:8:dm<ix?N1<ix?O_<ix?1:8:Cc<ix?1:8:Ad<ix?pd<ix?1:8:d3<ix?1:8:Ud<ix?lb<ix?bp<ix?Nl<ix?1:8:b0<ix?1:8:dg<ix?M3<ix?1:8:dh<ix?1:8:K_<ix?ec<ix?P_<ix?1:8:rc<ix?1:8:Xh<ix?fv<ix?1:8:N0<ix?1:8:Cy<ix?nD<ix?co<ix?Hv<ix?vv<ix?1:8:xh<ix?1:8:ag<ix?H3<ix?1:8:E1<ix?1:8:Pa<ix?ex<ix?qy<ix?1:8:LD<ix?1:8:wD<ix?ED<ix?1:8:Za<ix?1:8:xv<ix?Ey<ix?L_<ix?h3<ix?1:8:hh<ix?1:8:th<ix?w7<ix?1:8:sD<ix?1:8:ae<ix?H2<ix?eh<ix?1:8:Jy<ix?1:8:i_<ix?cc<ix?1:8:Tg<ix?1:8:Bd<ix?L7<ix?Hd<ix?O<ix?tv<ix?Ku<ix?wl<ix?1:8:s7<ix?1:8:Kg<ix?nb<ix?1:8:XB<ix?1:8:T3<ix?Gr<ix?Uc<ix?1:8:X_<ix?1:8:dy<ix?Un<ix?1:8:p2<ix?1:8:vD<ix?Qd<ix?Jh<ix?kv<ix?1:8:e7<ix?1:8:b2<ix?yv<ix?1:8:u7<ix?1:8:UI<ix?bg<ix?BD<ix?1:8:Gc<ix?1:8:uv<ix?PR<ix?1:8:Jr<ix?1:8:_y<ix?rD<ix?_9<ix?C7<ix?wh<ix?1:8:U3<ix?1:8:C0<ix?Yo<ix?1:8:tm<ix?1:8:ph<ix?uc<ix?G0<ix?1:8:S0<ix?1:8:Ko<ix?kg<ix?1:8:Cl<ix?1:8:V9<ix?Bp<ix?GD<ix?FD<ix?1:8:_u<ix?1:8:g7<ix?Xp<ix?1:8:Sa<ix?1:8:RB<ix?Y3<ix?Fd<ix?1:8:ut<ix?1:8:cL<ix?rs<ix?1:8:Pc<ix?1:8:JL<ix?wy<ix?Uv<ix?zm<ix?mb<ix?_g<ix?1:8:sy<ix?1:8:Ju<ix?oM<ix?1:8:Em<ix?1:8:Mg<ix?If<ix?_c<ix?1:8:wT<ix?1:8:Ub<ix?D7<ix?1:8:e3<ix?1:8:ib<ix?qD<ix?v7<ix?cv<ix?1:8:KR<ix?1:8:ri<ix?mf<ix?1:8:Wg<ix?1:8:o2<ix?C2<ix?Nc<ix?1:8:UN<ix?1:8:y7<ix?cb<ix?1:8:Tt<ix?1:8:Iu<ix?Z2<ix?LV<ix?Mm<ix?s5<ix?1:8:Gh<ix?1:8:_m<ix?lv<ix?1:8:H_<ix?1:8:my<ix?Ne<ix?py<ix?1:8:qv<ix?1:8:R9<ix?hI<ix?1:8:yo<ix?1:8:xf<ix?ym<ix?ws<ix?f7<ix?1:8:xl<ix?1:8:za<ix?n_<ix?1:8:_1<ix?1:8:t_<ix?z_<ix?Bo<ix?1:8:E2<ix?1:8:Su<ix?qm<ix?1:8:pg<ix?1:8:x2<ix?Zb<ix?e_<ix?OO<ix?yl<ix?Wm<ix?t7<ix?x3<ix?S_<ix?1:8:bh<ix?1:8:Zr<ix?Td<ix?1:8:EU<ix?1:8:jf<ix?_i<ix?X2<ix?1:8:Kb<ix?1:8:fL<ix?Q_<ix?1:8:Mn<ix?1:8:Ss<ix?qh<ix?oy<ix?lL<ix?1:8:Zv<ix?1:8:Jl<ix?ce<ix?1:8:Xd<ix?1:8:bm<ix?gy<ix?y1<ix?1:8:pp<ix?1:8:$f<ix?CR<ix?1:8:om<ix?1:8:E_<ix?kb<ix?Ky<ix?Xn<ix?Hu<ix?1:8:b7<ix?1:8:mv<ix?Lb<ix?1:8:F7<ix?1:8:Qy<ix?Ii<ix?_P<ix?1:8:vm<ix?1:8:yD<ix?Th<ix?1:8:f0<ix?1:8:PD<ix?k_<ix?sC<ix?vg<ix?1:8:Qp<ix?1:8:Zm<ix?n7<ix?1:8:Sm<ix?1:8:Nb<ix?ab<ix?hm<ix?1:8:Ob<ix?1:8:pb<ix?iC<ix?1:8:Ws<ix?1:8:O0<ix?Ut<ix?b1<ix?hl<ix?Vg<ix?tC<ix?1:8:Mo<ix?1:8:RV<ix?zv<ix?1:8:Sl<ix?1:8:oi<ix?jb<ix?Yl<ix?1:8:c2<ix?1:8:Gd<ix?Dy<ix?1:8:Wl<ix?1:8:qg<ix?sv<ix?Vy<ix?Yu<ix?1:8:of<ix?1:8:Te<ix?Rv<ix?1:8:zh<ix?1:8:cD<ix?Bm<ix?Bv<ix?1:8:U7<ix?1:8:Cd<ix?jg<ix?1:8:Vf<ix?1:8:a_<ix?tl<ix?HD<ix?Uu<ix?oC<ix?1:8:hc<ix?1:8:rC<ix?s1<ix?1:8:_7<ix?1:8:B2<ix?rd<ix?df<ix?1:8:Ix<ix?1:8:Wh<ix?Tm<ix?1:8:Ay<ix?1:8:Nv<ix?ly<ix?e0<ix?Xc<ix?1:8:1:tf<ix?8:Vh<ix?1:8:h7<ix?aD<ix?mp<ix?1:8:rl<ix?1:8:Fg<ix?tb<ix?1:8:Xv<ix?1:8:rb<ix?Fl<ix?U1<ix?wg<ix?Gm<ix&&Zc<ix?1:8:Ly<ix?d0<ix?Qg<ix?1:8:R_<ix?1:8:G_<ix?Id<ix?1:8:pf<ix?1:8:Y0<ix?De<ix?cy<ix?g0<ix?1:8:k3<ix?1:8:N7<ix?qr<ix?1:8:Qb<ix?1:8:xC<ix?Rb<ix?W3<ix?1:8:Rd<ix?1:8:jy<ix?U_<ix?1:8:xu<ix?1:8:gd<ix?wf<ix?Nt<ix?Dm<ix?Al<ix?1:8:Jm<ix?1:8:L2<ix?F_<ix?1:8:1:8:Vb<ix?ql<ix?l1<ix?vy<ix?1:8:Fh<ix?1:8:HN<ix?cN<ix?1:2:Y7<ix?1:8:W7<ix?W<ix?dD<ix?1:8:Gb<ix?1:8:ZD<ix?P0<ix?1:8:E7<ix?1:8:C1<ix?lD<ix?mm<ix?Ou<ix?by<ix?bo<ix?1:8:Ty<ix?1:8:I3<ix?y0<ix?1:8:Gg<ix?1:8:Ds<ix?Av<ix?mh<ix?1:8:li<ix?1:8:ID<ix?gm<ix?1:8:QD<ix?1:8:Hy<ix?l2<ix?q_<ix?wA<ix?1:8:js<ix?1:8:c0<ix?N_<ix?1:8:H1<ix?1:8:_o<ix?Cp<ix?kp<ix?1:8:Uy<ix?1:8:d<ix?w3<ix?1:8:gb<ix?1:8:Jf<ix?nf<ix?fb<ix?Ui<ix?1:8:uC<ix?1:8:Kv<ix?Fv<ix?fD<ix?1:8:Xg<ix?1:8:V_<ix?G<ix?1:8:og<ix?1:8:ts<ix?kh<ix?Kt<ix?wm<ix?1:8:J7<ix?1:8:$B<ix?1:8:G1<ix?qs<ix?Uh<ix?1:8:1:N3<ix?8:Wv<ix?1:8:Rp<ix?Yn<ix?Vm<ix?CP<ix?$<ix?MV<ix?Q0<ix?ak<ix?1:8:Ae<ix?1:8:V<ix?sj<ix?1:8:R1<ix?1:8:_b<ix?gU<ix?gl<ix?1:8:uj<ix?1:8:Sv<ix?1:8:M2<ix?eM<ix?Mr<ix?8:g_<ix?1:8:Ur<ix?rv<ix?1:8:qa<ix?1:8:qA<ix?Eg<ix?JD<ix?1:8:1:Zw<ix?8:K7<ix?1:8:A5<ix?cl<ix?_<ix?Mf<ix?ip<ix?1:8:Ir<ix?1:8:L3<ix?zd<ix?1:8:UB<ix?1:8:Pf<ix?Sy<ix?po<ix?1:8:ng<ix?1:8:ry<ix?zy<ix?1:8:Zt<ix?1:8:ZR<ix?ev<ix?fh<ix?JT<ix?1:8:A3<ix?1:8:FU<ix?s<ix?1:8:rA<ix?1:8:wM<ix?h_<ix?BV<ix?1:8:1:8:Pk<ix?Ye<ix?ms<ix?Px<ix?kD<ix?8:Pe<ix?1:8:Dv<ix?1:8:$b<ix?ny<ix?8:1:8:tI<ix?$v<ix?em<ix?8:iy<ix?1:8:Sf<ix?1:8:AM<ix?bc<ix?1:8:iD<ix?8:1:Lo<ix?ig<ix?rp<ix?Ed<ix?8:gD<ix?1:8:m2<ix?xA<ix?1:8:1:bn<ix?__<ix?8:1:sf<ix?8:1:lp<ix?cg<ix?8:Y2<ix?Wb<ix?1:8:nd<ix?1:8:ds<ix?wu<ix?T_<ix?1:8:Eh<ix?1:8:Fo<ix?sb<ix?1:8:i7<ix?1:8:ht<ix?KN<ix?_t<ix?vh<ix?af<ix?Tv<ix?1:8:dv<ix?xi<ix?1:8:1:vM<ix?8:ep<ix?Hp<ix?1:8:1:sh<ix?Lm<ix?8:Hg<ix?I0<ix?1:8:sU<ix?1:8:vV<ix?r7<ix?1:8:h2<ix?8:RN<ix?1:2:ay<ix?Ib<ix?uh<ix?hD<ix?s2<ix?1:8:Ch<ix?1:8:q7<ix?Ah<ix?1:8:Zg<ix?1:8:hg<ix?Ro<ix?bf<ix?1:8:Md<ix?1:8:$h<ix?Yy<ix?1:8:ND<ix?1:8:Js<ix?nv<ix?W9<ix?Cv<ix?1:8:kf<ix?1:8:f3<ix?TD<ix?1:8:_v<ix?1:8:qb<ix?y_<ix?WD<ix?1:8:ch<ix?1:8:R3<ix?Ap<ix?1:8:cU<ix?1:8:$i<ix?w_<ix?_d<ix?Yj<ix?Mb<ix?1:8:xb<ix?8:G7<ix?1:8:D0<ix?H7<ix?j<ix?1:8:1:8:Yv<ix?nl<ix?Sg<ix?Vp<ix?1:8:a3<ix?1:8:Ry<ix?Uf<ix?1:8:1:8:B_<ix?j2<ix?d7<ix?t3<ix?oc<ix?1:8:XD<ix?1:8:an<ix?pl<ix?1:8:1:d_<ix?Yb<ix?8:z3<ix?1:8:eD<ix?Bi<ix?1:8:nm<ix?1:8:Rf<ix?Z3<ix?T7<ix?zb<ix?1:8:J_<ix?1:8:Yi<ix?M_<ix?1:8:Z7<ix?1:8:kA<ix?b9<ix?h0<ix?1:2:gP<ix?1:2:me<ix?ik<ix?1:3:xI<ix?1:2:fr(FY1,ix+1|0)-1|0;else Nr=0;if(53<Nr>>>0)var Mx=Zx(x);else switch(Nr){case 0:Mx=146;break;case 1:Mx=147;break;case 2:if(Qe(x,2),Ej(Rx(x))===0){for(;;)if(Qe(x,2),Ej(Rx(x))!==0){Mx=Zx(x);break}}else Mx=Zx(x);break;case 3:Mx=0;break;case 4:Qe(x,0),Mx=aB(Rx(x))===0?0:Zx(x);break;case 5:Qe(x,138),Mx=HV(Rx(x))===0?(Qe(x,zx),HV(Rx(x))===0?X:Zx(x)):Zx(x);break;case 6:Mx=8;break;case 7:Qe(x,145);var ko=Rx(x);if(ko)var iu=ko[1],Mi=32<iu?33<iu?-1:0:-1;else Mi=-1;Mx=Mi===0?7:Zx(x);break;case 8:Qe(x,87);var Bc=_h(Rx(x));Mx=Bc===0?L(x):Bc===1?v(x):Zx(x);break;case 9:Qe(x,134),Mx=HV(Rx(x))===0?WI:Zx(x);break;case 10:Qe(x,136);var ku=Rx(x);if(ku)var Kx=ku[1],ic=37<Kx?61<Kx?-1:fr(HY1,Kx-38|0)-1|0:-1;else ic=-1;Mx=ic===0?uw:ic===1?Ho:Zx(x);break;case 11:Mx=91;break;case 12:Mx=92;break;case 13:Qe(x,132);var Br=Yd0(Rx(x));if(2<Br>>>0)Mx=Zx(x);else switch(Br){case 0:Qe(x,133),Mx=HV(Rx(x))===0?QP:Zx(x);break;case 1:Mx=5;break;default:Mx=$u}break;case 14:Qe(x,130);var Dt=Rx(x);if(Dt)var Li=Dt[1],Dl=42<Li?61<Li?-1:fr(GY1,Li+-43|0)-1|0:-1;else Dl=-1;Mx=Dl===0?nt:Dl===1?YO:Zx(x);break;case 15:Mx=98;break;case 16:Qe(x,131);var du=Rx(x);if(du)var is=du[1],Fu=44<is?61<is?-1:fr(PG1,is+Fr|0)-1|0:-1;else Fu=-1;Mx=Fu===0?Gw:Fu===1?xj:Zx(x);break;case 17:Qe(x,96);var Qt=RK(Rx(x));if(Qt===0)Mx=jt0(Rx(x))===0?95:Zx(x);else if(Qt===1)for(;;){Qe(x,35);var Rn=XV(Rx(x));if(4<Rn>>>0)Mx=Zx(x);else switch(Rn){case 0:Mx=a0(x);break;case 1:continue;case 2:Mx=Or(x);break;case 3:x:for(;;){if(C6(Rx(x))===0)for(;;){Qe(x,35);var ca=XV(Rx(x));if(4<ca>>>0)var Pr=Zx(x);else switch(ca){case 0:Pr=a0(x);break;case 1:continue;case 2:Pr=Or(x);break;case 3:continue x;default:Pr=Cr(x)}break}else Pr=Zx(x);Mx=Pr;break}break;default:Mx=Cr(x)}break}else Mx=Zx(x);break;case 18:Qe(x,143);var On=Yd0(Rx(x));if(2<On>>>0)Mx=Zx(x);else switch(On){case 0:Qe(x,3);var mn=DY(Rx(x));if(2<mn>>>0)Mx=Zx(x);else switch(mn){case 0:for(;;){var He=DY(Rx(x));if(2<He>>>0)Mx=Zx(x);else switch(He){case 0:continue;case 1:Mx=ni(x);break;default:Mx=Jn(x)}break}break;case 1:Mx=ni(x);break;default:Mx=Jn(x)}break;case 1:Mx=6;break;default:Mx=142}break;case 19:Qe(x,35);var At=$t0(Rx(x));if(8<At>>>0)Mx=Zx(x);else switch(At){case 0:Mx=a0(x);break;case 1:Mx=Vn(x);break;case 2:for(;;){Qe(x,21);var tr=o20(Rx(x));if(4<tr>>>0)Mx=Zx(x);else switch(tr){case 0:Mx=zn(x);break;case 1:Mx=Oi(x);break;case 2:continue;case 3:for(;;){Qe(x,19);var Rr=yY(Rx(x));if(3<Rr>>>0)Mx=Zx(x);else switch(Rr){case 0:Mx=xn(x);break;case 1:Mx=Oi(x);break;case 2:continue;default:Qe(x,18);var $n=fk(Rx(x));if($n===0){for(;;)if(Qe(x,18),V6(Rx(x))!==0){Mx=Zx(x);break}}else Mx=$n===1?xn(x):Zx(x)}break}break;default:Qe(x,20);var $r=fk(Rx(x));if($r===0){for(;;)if(Qe(x,20),V6(Rx(x))!==0){Mx=Zx(x);break}}else Mx=$r===1?zn(x):Zx(x)}break}break;case 3:for(;;){Qe(x,19);var Ga=yY(Rx(x));if(3<Ga>>>0)Mx=Zx(x);else switch(Ga){case 0:Mx=vt(x);break;case 1:Mx=Oi(x);break;case 2:continue;default:Qe(x,18);var Xa=fk(Rx(x));if(Xa===0){for(;;)if(Qe(x,18),V6(Rx(x))!==0){Mx=Zx(x);break}}else Mx=Xa===1?vt(x):Zx(x)}break}break;case 4:Qe(x,34);var ls=e20(Rx(x));if(ls===0)Mx=a0(x);else if(ls===1)for(;;){Qe(x,13);var Es=MY(Rx(x));if(3<Es>>>0)Mx=Zx(x);else switch(Es){case 0:Mx=Xt(x);break;case 1:continue;case 2:x:for(;;){if(Sj(Rx(x))===0)for(;;){Qe(x,13);var Fe=MY(Rx(x));if(3<Fe>>>0)var Lt=Zx(x);else switch(Fe){case 0:Lt=Me(x);break;case 1:continue;case 2:continue x;default:Qe(x,11);var ln=fk(Rx(x));if(ln===0){for(;;)if(Qe(x,10),V6(Rx(x))!==0){Lt=Zx(x);break}}else Lt=ln===1?Me(x):Zx(x)}break}else Lt=Zx(x);Mx=Lt;break}break;default:Qe(x,11);var tn=fk(Rx(x));if(tn===0){for(;;)if(Qe(x,10),V6(Rx(x))!==0){Mx=Zx(x);break}}else Mx=tn===1?Xt(x):Zx(x)}break}else Mx=Zx(x);break;case 5:Mx=Or(x);break;case 6:Qe(x,34);var Ri=t20(Rx(x));if(Ri===0)Mx=a0(x);else if(Ri===1)for(;;){Qe(x,17);var Ji=BY(Rx(x));if(3<Ji>>>0)Mx=Zx(x);else switch(Ji){case 0:Mx=Ke(x);break;case 1:continue;case 2:x:for(;;){if(eP(Rx(x))===0)for(;;){Qe(x,17);var Na=BY(Rx(x));if(3<Na>>>0)var Do=Zx(x);else switch(Na){case 0:Do=ct(x);break;case 1:continue;case 2:continue x;default:Qe(x,15);var No=fk(Rx(x));if(No===0){for(;;)if(Qe(x,14),V6(Rx(x))!==0){Do=Zx(x);break}}else Do=No===1?ct(x):Zx(x)}break}else Do=Zx(x);Mx=Do;break}break;default:Qe(x,15);var tu=fk(Rx(x));if(tu===0){for(;;)if(Qe(x,14),V6(Rx(x))!==0){Mx=Zx(x);break}}else Mx=tu===1?Ke(x):Zx(x)}break}else Mx=Zx(x);break;case 7:Qe(x,34);var Vs=zd0(Rx(x));if(Vs===0)Mx=a0(x);else if(Vs===1)for(;;){Qe(x,25);var As=RY(Rx(x));if(3<As>>>0)Mx=Zx(x);else switch(As){case 0:Mx=sr(x);break;case 1:continue;case 2:x:for(;;){if(m6(Rx(x))===0)for(;;){Qe(x,25);var vu=RY(Rx(x));if(3<vu>>>0)var Wu=Zx(x);else switch(vu){case 0:Wu=kr(x);break;case 1:continue;case 2:continue x;default:Qe(x,23);var L1=fk(Rx(x));if(L1===0){for(;;)if(Qe(x,22),V6(Rx(x))!==0){Wu=Zx(x);break}}else Wu=L1===1?kr(x):Zx(x)}break}else Wu=Zx(x);Mx=Wu;break}break;default:Qe(x,23);var hu=fk(Rx(x));if(hu===0){for(;;)if(Qe(x,22),V6(Rx(x))!==0){Mx=Zx(x);break}}else Mx=hu===1?sr(x):Zx(x)}break}else Mx=Zx(x);break;default:Mx=wn(x)}break;case 20:Qe(x,35);var Qu=CY(Rx(x));if(5<Qu>>>0)Mx=Zx(x);else switch(Qu){case 0:Mx=a0(x);break;case 1:Mx=Vn(x);break;case 2:for(;;){Qe(x,35);var pc=CY(Rx(x));if(5<pc>>>0)Mx=Zx(x);else switch(pc){case 0:Mx=a0(x);break;case 1:Mx=Vn(x);break;case 2:continue;case 3:Mx=Or(x);break;case 4:Mx=In(x);break;default:Mx=wn(x)}break}break;case 3:Mx=Or(x);break;case 4:Mx=In(x);break;default:Mx=wn(x)}break;case 21:Mx=99;break;case 22:Mx=97;break;case 23:Qe(x,nE);var il=Rx(x);if(il)var Zu=il[1],fu=59<Zu?61<Zu?-1:fr(Ic,Zu-60|0)-1|0:-1;else fu=-1;Mx=fu===0?(Qe(x,fw),HV(Rx(x))===0?lr:Zx(x)):fu===1?Lk:Zx(x);break;case 24:Qe(x,140);var vl=Ut0(Rx(x));Mx=vl===0?(Qe(x,ef),HV(Rx(x))===0?Y1:Zx(x)):vl===1?141:Zx(x);break;case 25:Qe(x,129);var id=Ut0(Rx(x));if(id===0)Mx=Vk;else if(id===1){Qe(x,qI);var _f=Ut0(Rx(x));Mx=_f===0?BO:_f===1?(Qe(x,cM),HV(Rx(x))===0?BI:Zx(x)):Zx(x)}else Mx=Zx(x);break;case 26:Qe(x,NT);var sm=Rx(x);if(sm)var Pd=sm[1],tc=45<Pd?63<Pd?-1:fr(hY1,Pd+uI|0)-1|0:-1;else tc=-1;Mx=tc===0?(Qe(x,Uk),C6(Rx(x))===0?Yw:Zx(x)):tc===1?F4:Zx(x);break;case 27:Qe(x,144);var YC=Rx(x);if(YC)var km=YC[1],lC=63<km?64<km?-1:0:-1;else lC=-1;if(lC===0){var A2=Rx(x);if(A2)var s_=A2[1],Db=96<s_?dN<s_?-1:fr(RY1,s_+-97|0)-1|0:-1;else Db=-1;if(Db===0)if(qd0(Rx(x))===0){var o3=Rx(x);if(o3)var l6=o3[1],fC=YO<l6?xj<l6?-1:0:-1;else fC=-1;if(fC===0&&Vt0(Rx(x))===0&&Wq(Rx(x))===0){var uS=Rx(x);if(uS)var P8=uS[1],s8=72<P8?73<P8?-1:0:-1;else s8=-1;Mx=s8===0&&FY(Rx(x))===0&&Jq(Rx(x))===0&&OY(Rx(x))===0&&r20(Rx(x))===0&&FY(Rx(x))===0&&AY(Rx(x))===0&&OY(Rx(x))===0?88:Zx(x)}else Mx=Zx(x)}else Mx=Zx(x);else Mx=Db===1&&FY(Rx(x))===0&&Jq(Rx(x))===0&&OY(Rx(x))===0&&r20(Rx(x))===0&&FY(Rx(x))===0&&AY(Rx(x))===0&&OY(Rx(x))===0?88:Zx(x)}else Mx=Zx(x);break;case 28:Mx=93;break;case 29:if(Qe(x,1),Tj(Rx(x))===0){var z8=UU(Rx(x));if(z8===0)Mx=m6(Rx(x))===0&&m6(Rx(x))===0&&m6(Rx(x))===0?L(x):Zx(x);else if(z8===1&&m6(Rx(x))===0)for(;;){var XT=jU(Rx(x));if(XT!==0){Mx=XT===1?L(x):Zx(x);break}}else Mx=Zx(x)}else Mx=Zx(x);break;case 30:Mx=94;break;case 31:Qe(x,137),Mx=HV(Rx(x))===0?sS:Zx(x);break;case 32:Mx=9;break;case 33:Qe(x,87);var OT=Rx(x);if(OT)var r0=OT[1],_T=35<r0?C_<r0?ha<r0?vs<r0?-1:ne<r0?Mu<r0?Nh<r0?_D<r0?O2<r0?a7<r0?uy<r0?pE<r0?Jg<r0?0:-1:$D<r0?ks<r0?0:-1:0:-1:N2<r0?up<r0?A7<r0?A_<r0?0:-1:0:-1:e<r0?Xf<r0?0:-1:0:-1:Ld<r0?w1<r0?Zo<r0?Ov<r0?pv<r0?mg<r0?Xy<r0?Cm<r0?ob<r0?Sd<r0?0:-1:0:-1:d2<r0?qt<r0?0:-1:0:-1:Am<r0?$_<r0?Bt<r0?Pp<r0?0:-1:0:-1:Fc<r0?_3<r0?0:-1:0:-1:yy<r0?sn<r0?G3<r0?jl<r0?vd<r0?Hb<r0?0:-1:0:-1:Gt<r0?aC<r0?0:-1:0:-1:_e<r0?Ac<r0?Gv<r0?op<r0?0:-1:0:-1:Zl<r0?Jv<r0?0:-1:0:-1:I_<r0?Pb<r0?gg<r0?ih<r0?m7<r0?P7<r0?np<r0?bv<r0?0:-1:0:-1:Yp<r0?Rg<r0?0:-1:0:-1:dp<r0?V7<r0?Kh<r0?Xl<r0?0:-1:0:-1:oD<r0?Jb<r0?0:-1:0:-1:Us<r0?dd<r0?hv<r0?Dp<r0?jv<r0?Zp<r0?0:-1:0:-1:bD<r0?V3<r0?0:-1:0:-1:gv<r0?iv<r0?oh<r0?Ym<r0?0:-1:0:-1:Gy<r0?p7<r0?0:-1:0:-1:fp<r0?Ef<r0?c7<r0?l0<r0?Z1<r0?Hr<r0?Eb<r0?Xb<r0?OD<r0?R2<r0?kE<r0?Iv<r0?0:-1:0:-1:0:Ox<r0?Kf<r0?gE<r0?Va<r0?0:-1:0:-1:ge<r0?_l<r0?0:-1:0:pD<r0?vE<r0?ky<r0?wp<r0?0:-1:p3<r0?Ih<r0?0:-1:0:-1:MD<r0?OC<r0?0:-1:KC<r0?r3<r0?0:-1:0:-1:I2<r0?lo<r0?Re<r0?yC<r0?ME<r0?db<r0?fg<r0?Wy<r0?0:-1:0:-1:XE<r0?xd<r0?0:-1:0:-1:Wa<r0?yc<r0?S3<r0?Kl<r0?0:-1:0:-1:Fy<r0?xc<r0?0:-1:0:-1:ka<r0?Kp<r0?uE<r0?Lg<r0?_C<r0?OE<r0?0:-1:0:-1:v2<r0?Hm<r0?0:-1:0:-1:Wx<r0?ff<r0?Tb<r0?Fm<r0?0:-1:0:-1:b3<r0?k7<r0?0:-1:0:-1:d3<r0?Ad<r0?P3<r0?Yd<r0?eu<r0?l7<r0?Mt<r0?v1<r0?Cg<r0?Xm<r0?0:-1:0:-1:zf<r0?mD<r0?0:-1:0:-1:Mv<r0?tt<r0?Pm<r0?ld<r0?0:-1:0:-1:$3<r0?zp<r0?0:-1:0:-1:qx<r0?n3<r0?YD<r0?uD<r0?I7<r0?fl<r0?0:-1:0:-1:al<r0?j_<r0?0:-1:0:-1:Cc<r0?N1<r0?O_<r0?B7<r0?0:-1:0:-1:pd<r0?dm<r0?0:-1:0:-1:N0<r0?Xh<r0?dh<r0?dg<r0?b0<r0?bp<r0?Nl<r0?Ph<r0?0:-1:0:-1:M3<r0?lb<r0?0:-1:0:-1:rc<r0?ec<r0?P_<r0?Ud<r0?0:-1:0:-1:fv<r0?K_<r0?0:-1:0:-1:Om<r0?Ag<r0?rf<r0?O3<r0?Fn<r0?bt<r0?0:-1:0:-1:U<r0?j7<r0?0:-1:0:-1:DC<r0?ed<r0?Im<r0?i3<r0?0:-1:0:-1:0:-1:kv<r0?Hd<r0?Jy<r0?Za<r0?wD<r0?E1<r0?ag<r0?xh<r0?Hv<r0?vv<r0?l3<r0?0:-1:0:-1:H3<r0?co<r0?0:-1:0:-1:LD<r0?ex<r0?qy<r0?nD<r0?0:-1:0:-1:ED<r0?Pa<r0?0:-1:0:-1:sD<r0?th<r0?hh<r0?L_<r0?h3<r0?Cy<r0?0:-1:0:-1:w7<r0?Ey<r0?0:-1:0:-1:H2<r0?eh<r0?xv<r0?0:-1:0:u2<r0?C<r0?0:-1:0:P<r0?Kg<r0?wl<r0?b_<r0?cc<r0?W_<r0?0:-1:Tg<r0?i_<r0?0:-1:0:-1:Sb<r0?tv<r0?s7<r0?Ku<r0?0:-1:0:-1:nb<r0?Cf<r0?0:-1:0:-1:aE<r0?Gr<r0?hE<r0?O<r0?0:-1:Uc<r0?Qv<r0?0:-1:0:-1:Un<r0?T3<r0?X_<r0?BC<r0?0:-1:0:-1:p2<r0?dy<r0?0:-1:0:-1:Jr<r0?uv<r0?Gc<r0?mo<r0?Q3<r0?vD<r0?yv<r0?Qd<r0?e7<r0?Jh<r0?0:-1:0:-1:u7<r0?b2<r0?0:-1:0:-1:BD<r0?0:oE<r0?bg<r0?0:-1:0:-1:B3<r0?0:sE<r0?G2<r0?pa<r0?o7<r0?0:-1:0:-1:0:-1:r_<r0?$y<r0?U3<r0?X7<r0?C7<r0?wh<r0?L7<r0?0:-1:0:-1:Zy<r0?t8<r0?0:-1:0:LC<r0?jp<r0?0:-1:F3<r0?lE<r0?0:-1:0:-1:UD<r0?uc<r0?tm<r0?C0<r0?0:-1:G0<r0?rD<r0?0:-1:0:-1:0:Qb<r0?N7<r0?D2<r0?Se<r0?D_<r0?_g<r0?MC<r0?hy<r0?ub<r0?ph<r0?$7<r0?yE<r0?0:-1:S0<r0?Dh<r0?0:-1:0:-1:Ko<r0&&kg<r0?o0<r0?0:-1:0:FD<r0?_y<r0?c3<r0&&EC<r0?ho<r0?0:-1:0:-1:Xp<r0?Bp<r0?_u<r0?GD<r0?0:-1:0:-1:Q2<r0?g7<r0?0:-1:0:Y_<r0?NE<r0?n8<r0||Fd<r0?0:SE<r0?Y3<r0?0:-1:0:-1:rs<r0||Pc<r0?0:SC<r0?Bd<r0?0:-1:0:D7<r0?Em<r0?Ju<r0?QE<r0?zm<r0&&sy<r0?mb<r0?0:-1:0:m_<r0&&g3<r0?Gf<r0?0:-1:0:-1:CD<r0?Mg<r0?Yg<r0?If<r0?_c<r0?Uv<r0?0:-1:0:-1:0:-1:0:Mc<r0?wy<r0?CE<r0?EE<r0?vp<r0?D<r0?Ub<r0?0:-1:0:-1:0:NC<r0?0:e3<r0?m3<r0?0:-1:0:-1:j3<r0&&v7<r0&&cv<r0?FC<r0?0:-1:0:Gh<r0?Mm<r0?fi<r0?SD<r0?FE<r0?ri<r0?DD<r0?qD<r0?0:-1:mf<r0?Ep<r0?0:-1:0:-1:0:Nc<r0?Wg<r0?0:My<r0?ib<r0?0:-1:0:UC<r0&&p1<r0?C2<r0?0:-1:0:GE<r0?pm<r0?o2<r0?Dg<r0&&S7<r0?zg<r0?0:-1:0:-1:Tt<r0?y7<r0?cb<r0?M7<r0?0:-1:0:-1:0:0:-1:qv<r0?WC<r0?am<r0?_m<r0?Op<r0?x_<r0?0:-1:lv<r0?ze<r0?0:-1:0:0:x7<r0?Oh<r0?H_<r0?0:$a<r0?Z2<r0?0:-1:0:-1:py<r0?Iy<r0?bd<r0?0:-1:0:v_<r0?Ne<r0?0:-1:0:-1:yo<r0?Yh<r0?xm<r0?fy<r0?o1<r0?Hi<r0?my<r0?0:-1:0:-1:md<r0?ol<r0?0:-1:0:0:-1:_1<r0?za<r0?xl<r0?ws<r0?f7<r0?Iu<r0?0:-1:0:-1:n_<r0?ym<r0?0:-1:0:-1:Il<r0?z_<r0?Bo<r0?xf<r0?0:-1:0:-1:0:-1:vm<r0?Ii<r0?ce<r0?Q7<r0?bh<r0?x3<r0?E2<r0?M<r0&&tD<r0?AE<r0?0:-1:0:pg<r0?Su<r0?qm<r0?t_<r0?0:-1:0:-1:S_<r0?jd<r0?0:-1:0:-1:AC<r0?wE<r0?Zr<r0?Td<r0?t7<r0?0:-1:0:-1:lh<r0?JE<r0?0:-1:0:0:yl<r0?Q_<r0?jf<r0?X2<r0?Wm<r0?0:-1:Kb<r0?_i<r0?0:-1:0:-1:K0<r0?jC<r0?0:-1:Mn<r0?C3<r0?0:-1:0:oy<r0?0:Zv<r0?hb<r0?0:-1:RC<r0?qh<r0?0:-1:0:$f<r0?gy<r0?xD<r0?dC<r0?Xd<r0?Z<r0?Jl<r0?0:-1:0:$C<r0?Ss<r0?0:-1:0:-1:0:Xo<r0?pp<r0?Bs<r0?e8<r0?TC<r0?0:-1:0:-1:Ug<r0?bm<r0?0:-1:0:0:Hu<r0?zC<r0?om<r0?y3<r0?VD<r0?0:-1:TE<r0?Lf<r0?0:-1:0:0:-1:F7<r0?mv<r0?b7<r0?ov<r0?Xn<r0?0:-1:0:Lb<r0?Ky<r0?0:-1:0:-1:dE<r0?K3<r0?H<r0?kb<r0?0:-1:0:-1:0:-1:Vf<r0?Cd<r0?zv<r0?hl<r0?hm<r0?Qp<r0?sC<r0?f0<r0?yD<r0?Th<r0?Qy<r0?0:-1:0:-1:vg<r0?E_<r0?0:-1:0:-1:Sm<r0?Zm<r0?n7<r0?k_<r0?0:-1:0:-1:ot<r0?PD<r0?0:-1:0:B0<r0?e_<r0?iC<r0?Nb<r0?Ob<r0?ab<r0?0:-1:0:-1:Ws<r0?pb<r0?0:-1:0:-1:tC<r0?wv<r0?P2<r0?DE<r0?0:-1:0:-1:Mo<r0?Vg<r0?0:-1:0:-1:Wl<r0?Gd<r0?Sl<r0?O7<r0?mu<r0?0:-1:IC<r0?A0<r0?0:-1:0:c2<r0?jb<r0?Yl<r0?b1<r0?0:-1:0:-1:Dy<r0?oi<r0?0:-1:0:-1:zh<r0?Te<r0?of<r0?Vy<r0?Yu<r0?Ut<r0?0:-1:0:-1:Rv<r0?sv<r0?0:-1:0:-1:U7<r0?Bm<r0?Bv<r0?qg<r0?0:-1:0:-1:jg<r0?cD<r0?0:-1:0:-1:tb<r0?h7<r0?Ay<r0?Wh<r0?_7<r0?rC<r0?hc<r0?Uu<r0?oC<r0?O0<r0?0:-1:0:-1:s1<r0?HD<r0?0:-1:0:-1:Ix<r0?rd<r0?df<r0?tl<r0?0:-1:0:-1:Tm<r0?B2<r0?0:-1:0:-1:Pv<r0?Tp<r0?e0<r0?Xc<r0?a_<r0?0:-1:0:-1:ly<r0?Wp<r0?0:-1:0:mp<r0?Nv<r0?Vh<r0?tf<r0?0:-1:0:-1:rl<r0?aD<r0?0:-1:0:-1:Lv<r0?d0<r0?Gm<r0?Xv<r0?LE<r0?Fg<r0?0:-1:0:Zc<r0?Zb<r0?0:-1:0:E3<r0?0:Qg<r0?wg<r0?0:-1:0:-1:pf<r0?Bh<r0?Id<r0?Ly<r0?R_<r0?U0<r0?0:-1:0:-1:Up<r0?G_<r0?0:-1:0:-1:k3<r0?cy<r0?g0<r0?U1<r0?0:-1:0:-1:qr<r0?De<r0?0:-1:0:-1:Zt<r0?ry<r0?Qm<r0?gm<r0?Ds<r0?a8<r0?ql<r0?wf<r0?L2<r0?xu<r0?jy<r0?Rd<r0?Rb<r0?W3<r0?Y0<r0?0:-1:0:-1:U_<r0?xC<r0?0:-1:0:-1:Jm<r0?Dm<r0?Al<r0?Fl<r0?0:-1:0:-1:F_<r0?Nt<r0?0:-1:0:-1:Ff<r0?0:y2<r0?l1<r0?vy<r0?gd<r0?0:-1:0:-1:Fh<r0?Sh<r0?0:-1:0:-1:P0<r0?W7<r0?YE<r0?i8<r0?dD<r0?Vb<r0?Y7<r0?V0<r0?0:-1:0:-1:av<r0?W<r0?0:-1:0:-1:Vv<r0?gC<r0?Is<r0?cp<r0?0:-1:0:-1:Gb<r0?RE<r0?0:-1:0:-1:y0<r0?Ou<r0?bo<r0?rb<r0?E7<r0?ZD<r0?0:-1:0:-1:Ty<r0?by<r0?0:-1:0:-1:mh<r0?mm<r0?Gg<r0?I3<r0?0:-1:0:-1:li<r0?Av<r0?0:-1:0:-1:La<r0?Uy<r0?Cp<r0?js<r0?q_<r0?lD<r0&&QD<r0?ID<r0?0:-1:0:-1:H1<r0?c0<r0?N_<r0?l2<r0?0:-1:0:-1:kp<r0?Hy<r0?0:-1:0:-1:hf<r0?fE<r0?gb<r0?d<r0?w3<r0?_o<r0?0:-1:0:-1:td<r0?C1<r0?0:-1:0:-1:cE<r0?wb<r0?0:-1:0:Xg<r0?Fv<r0?x8<r0?0:Bb<r0?uC<r0?fb<r0?0:-1:0:fD<r0?nf<r0?0:-1:0:-1:J7<r0?Kt<r0?og<r0?V_<r0?G<r0?Kv<r0?0:-1:0:-1:wm<r0?Jf<r0?0:-1:0:-1:rm<r0&&Fb<r0?kh<r0?0:-1:0:q3<r0?$<r0?x2<r0?Uh<r0?BE<r0&&X3<r0?ts<r0?0:-1:0:J3<r0?G1<r0?qs<r0?0:-1:0:Wv<r0?N3<r0?0:-1:0:0:Hh<r0?$m<r0?0:Sv<r0?_b<r0?0:-1:0:g_<r0?Rc<r0?Ev<r0?PC<r0?Mr<r0?0:-1:0:-1:0:rv<r0?0:$d<r0?Ur<r0?0:-1:0:nx<r0?ZE<r0?qa<r0?0:Eg<r0&&JD<r0?M2<r0?0:-1:0:ip<r0?K7<r0?0:$c<r0?Vm<r0?0:-1:0:gt<r0&&R7<r0?Mf<r0?0:-1:0:z7<r0?_<r0?0:zd<r0?bC<r0?0:-1:eC<r0?L3<r0?0:-1:0:Sy<r0?wC<r0?cl<r0?0:-1:0:ng<r0?0:zy<r0?Pf<r0?0:-1:0:-1:Hp<r0?lg<r0?I1<r0?h_<r0?Rl<r0?ev<r0?IE<r0?r8<r0?PE<r0?0:-1:sp<r0?D3<r0?0:-1:0:fh<r0?0:A3<r0?Ip<r0?0:-1:0:-1:0:p8<r0?Hf<r0?0:Dv<r0?Px<r0?Pe<r0?kD<r0?0:-1:0:-1:0:By<r0?wd<r0&&$b<r0?ny<r0?0:-1:0:_E<r0?$v<r0?iy<r0?em<r0?0:-1:0:-1:0:Lo<r0?sf<r0?Zd<r0?R0<r0?0:v3<r0?CC<r0?zl<r0?iD<r0?0:-1:0:-1:0:ig<r0?m2<r0?rp<r0&&gD<r0?Ed<r0?0:-1:0:-1:bn<r0?__<r0?0:-1:0:-1:i7<r0?Fo<r0?nd<r0?Y2<r0?nC<r0?0:Wb<r0?cg<r0?0:-1:0:-1:Eh<r0?wu<r0?T_<r0?lp<r0?0:-1:0:-1:sb<r0?ds<r0?0:-1:0:-1:vh<r0?dv<r0?Hx<r0?Tv<r0?Rp<r0?0:-1:0:xi<r0?af<r0?0:-1:0:-1:0:-1:mE<r0?bf<r0?Ib<r0?r7<r0?sh<r0?I0<r0?Lm<r0?qf<r0&&_t<r0?ep<r0?0:-1:0:-1:HE<r0&&kC<r0?Hg<r0?0:-1:0:-1:s2<r0?rx<r0?AD<r0?0:Nf<r0?h2<r0?0:-1:0:-1:Ah<r0?uh<r0?Ch<r0?hD<r0?0:-1:0:-1:Zg<r0?q7<r0?0:-1:0:-1:_v<r0?f3<r0?Cv<r0?ay<r0?Yy<r0?hg<r0?Md<r0?Ro<r0?0:-1:0:-1:ND<r0?$h<r0?0:-1:0:-1:kf<r0?Of<r0?0:-1:TD<r0?nv<r0?0:-1:0:-1:R3<r0?ch<r0?y_<r0?WD<r0?Js<r0?0:-1:0:-1:Ap<r0?qb<r0?0:-1:0:Mb<r0?ht<r0?0:-1:0:pl<r0?d7<r0?Uf<r0?nl<r0?Km<r0?j<r0?_d<r0?G7<r0?xb<r0?0:-1:0:-1:D0<r0?H7<r0?0:-1:0:Vp<r0?w_<r0?0:-1:a3<r0?Sg<r0?0:-1:0:-1:zD<r0?bE<r0&&Yv<r0?Ry<r0?0:-1:0:oc<r0?$i<r0?0:-1:XD<r0?t3<r0?0:-1:0:-1:$e<r0?ah<r0?Bi<r0?d_<r0?Pu<r0?j2<r0?an<r0?0:-1:0:z3<r0?Yb<r0?0:-1:0:-1:zb<r0?B_<r0?nm<r0?eD<r0?0:-1:0:-1:ug<r0?T7<r0?0:-1:0:-1:Z7<r0?Yi<r0?J_<r0?Dd<r0?W1<r0?Oy<r0?0:-1:0:-1:M_<r0?Z3<r0?0:-1:0:-1:eb<r0?im<r0?qC<r0?Rf<r0?0:-1:0:-1:Np<r0?Kc<r0?0:-1:0:-1:fr(mX1,r0+Kd|0)-1|0:-1;else _T=-1;if(3<_T>>>0)Mx=Zx(x);else switch(_T){case 0:Mx=L(x);break;case 1:Mx=v(x);break;case 2:Qe(x,87);var BT=TY(Rx(x));if(2<BT>>>0)Mx=Zx(x);else switch(BT){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var IS=PP(Rx(x));if(2<IS>>>0)Mx=Zx(x);else switch(IS){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var I5=AL(Rx(x));if(2<I5>>>0)Mx=Zx(x);else switch(I5){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,36);var LT=_h(Rx(x));Mx=LT===0?L(x):LT===1?v(x):Zx(x)}}}break;default:Qe(x,87);var yT=CI(Rx(x));if(2<yT>>>0)Mx=Zx(x);else switch(yT){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var sx=oO(Rx(x));if(2<sx>>>0)Mx=Zx(x);else switch(sx){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var XA=qk(Rx(x));if(2<XA>>>0)Mx=Zx(x);else switch(XA){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,37);var O5=_h(Rx(x));Mx=O5===0?L(x):O5===1?v(x):Zx(x)}}}}break;case 34:Qe(x,87);var OA=FL(Rx(x));if(2<OA>>>0)Mx=Zx(x);else switch(OA){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var YA=V4(Rx(x));if(2<YA>>>0)Mx=Zx(x);else switch(YA){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var a4=CI(Rx(x));if(2<a4>>>0)Mx=Zx(x);else switch(a4){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var c9=Kd0(Rx(x));if(2<c9>>>0)Mx=Zx(x);else switch(c9){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,38);var Lw=_h(Rx(x));Mx=Lw===0?L(x):Lw===1?v(x):Zx(x)}}}}break;case 35:Qe(x,87);var bS=Rx(x);if(bS)var n0=bS[1],G5=35<n0?C_<n0?ha<n0?vs<n0?-1:ne<n0?Mu<n0?Nh<n0?_D<n0?O2<n0?a7<n0?uy<n0?pE<n0?Jg<n0?0:-1:$D<n0?ks<n0?0:-1:0:-1:N2<n0?up<n0?A7<n0?A_<n0?0:-1:0:-1:e<n0?Xf<n0?0:-1:0:-1:Ld<n0?w1<n0?Zo<n0?Ov<n0?pv<n0?mg<n0?Xy<n0?Cm<n0?ob<n0?Sd<n0?0:-1:0:-1:d2<n0?qt<n0?0:-1:0:-1:Am<n0?$_<n0?Bt<n0?Pp<n0?0:-1:0:-1:Fc<n0?_3<n0?0:-1:0:-1:yy<n0?sn<n0?G3<n0?jl<n0?vd<n0?Hb<n0?0:-1:0:-1:Gt<n0?aC<n0?0:-1:0:-1:_e<n0?Ac<n0?Gv<n0?op<n0?0:-1:0:-1:Zl<n0?Jv<n0?0:-1:0:-1:I_<n0?Pb<n0?gg<n0?ih<n0?m7<n0?P7<n0?np<n0?bv<n0?0:-1:0:-1:Yp<n0?Rg<n0?0:-1:0:-1:dp<n0?V7<n0?Kh<n0?Xl<n0?0:-1:0:-1:oD<n0?Jb<n0?0:-1:0:-1:Us<n0?dd<n0?hv<n0?Dp<n0?jv<n0?Zp<n0?0:-1:0:-1:bD<n0?V3<n0?0:-1:0:-1:gv<n0?iv<n0?oh<n0?Ym<n0?0:-1:0:-1:Gy<n0?p7<n0?0:-1:0:-1:fp<n0?Ef<n0?c7<n0?l0<n0?Z1<n0?Hr<n0?Eb<n0?Xb<n0?OD<n0?R2<n0?kE<n0?Iv<n0?0:-1:0:-1:0:Ox<n0?Kf<n0?gE<n0?Va<n0?0:-1:0:-1:ge<n0?_l<n0?0:-1:0:pD<n0?vE<n0?ky<n0?wp<n0?0:-1:p3<n0?Ih<n0?0:-1:0:-1:MD<n0?OC<n0?0:-1:KC<n0?r3<n0?0:-1:0:-1:I2<n0?lo<n0?Re<n0?yC<n0?ME<n0?db<n0?fg<n0?Wy<n0?0:-1:0:-1:XE<n0?xd<n0?0:-1:0:-1:Wa<n0?yc<n0?S3<n0?Kl<n0?0:-1:0:-1:Fy<n0?xc<n0?0:-1:0:-1:ka<n0?Kp<n0?uE<n0?Lg<n0?_C<n0?OE<n0?0:-1:0:-1:v2<n0?Hm<n0?0:-1:0:-1:Wx<n0?ff<n0?Tb<n0?Fm<n0?0:-1:0:-1:b3<n0?k7<n0?0:-1:0:-1:d3<n0?Ad<n0?P3<n0?Yd<n0?eu<n0?l7<n0?Mt<n0?v1<n0?Cg<n0?Xm<n0?0:-1:0:-1:zf<n0?mD<n0?0:-1:0:-1:Mv<n0?tt<n0?Pm<n0?ld<n0?0:-1:0:-1:$3<n0?zp<n0?0:-1:0:-1:qx<n0?n3<n0?YD<n0?uD<n0?I7<n0?fl<n0?0:-1:0:-1:al<n0?j_<n0?0:-1:0:-1:Cc<n0?N1<n0?O_<n0?B7<n0?0:-1:0:-1:pd<n0?dm<n0?0:-1:0:-1:N0<n0?Xh<n0?dh<n0?dg<n0?b0<n0?bp<n0?Nl<n0?Ph<n0?0:-1:0:-1:M3<n0?lb<n0?0:-1:0:-1:rc<n0?ec<n0?P_<n0?Ud<n0?0:-1:0:-1:fv<n0?K_<n0?0:-1:0:-1:Om<n0?Ag<n0?rf<n0?O3<n0?Fn<n0?bt<n0?0:-1:0:-1:U<n0?j7<n0?0:-1:0:-1:DC<n0?ed<n0?Im<n0?i3<n0?0:-1:0:-1:0:-1:kv<n0?Hd<n0?Jy<n0?Za<n0?wD<n0?E1<n0?ag<n0?xh<n0?Hv<n0?vv<n0?l3<n0?0:-1:0:-1:H3<n0?co<n0?0:-1:0:-1:LD<n0?ex<n0?qy<n0?nD<n0?0:-1:0:-1:ED<n0?Pa<n0?0:-1:0:-1:sD<n0?th<n0?hh<n0?L_<n0?h3<n0?Cy<n0?0:-1:0:-1:w7<n0?Ey<n0?0:-1:0:-1:H2<n0?eh<n0?xv<n0?0:-1:0:u2<n0?C<n0?0:-1:0:P<n0?Kg<n0?wl<n0?b_<n0?cc<n0?W_<n0?0:-1:Tg<n0?i_<n0?0:-1:0:-1:Sb<n0?tv<n0?s7<n0?Ku<n0?0:-1:0:-1:nb<n0?Cf<n0?0:-1:0:-1:aE<n0?Gr<n0?hE<n0?O<n0?0:-1:Uc<n0?Qv<n0?0:-1:0:-1:Un<n0?T3<n0?X_<n0?BC<n0?0:-1:0:-1:p2<n0?dy<n0?0:-1:0:-1:Jr<n0?uv<n0?Gc<n0?mo<n0?Q3<n0?vD<n0?yv<n0?Qd<n0?e7<n0?Jh<n0?0:-1:0:-1:u7<n0?b2<n0?0:-1:0:-1:BD<n0?0:oE<n0?bg<n0?0:-1:0:-1:B3<n0?0:sE<n0?G2<n0?pa<n0?o7<n0?0:-1:0:-1:0:-1:r_<n0?$y<n0?U3<n0?X7<n0?C7<n0?wh<n0?L7<n0?0:-1:0:-1:Zy<n0?t8<n0?0:-1:0:LC<n0?jp<n0?0:-1:F3<n0?lE<n0?0:-1:0:-1:UD<n0?uc<n0?tm<n0?C0<n0?0:-1:G0<n0?rD<n0?0:-1:0:-1:0:Qb<n0?N7<n0?D2<n0?Se<n0?D_<n0?_g<n0?MC<n0?hy<n0?ub<n0?ph<n0?$7<n0?yE<n0?0:-1:S0<n0?Dh<n0?0:-1:0:-1:Ko<n0&&kg<n0?o0<n0?0:-1:0:FD<n0?_y<n0?c3<n0&&EC<n0?ho<n0?0:-1:0:-1:Xp<n0?Bp<n0?_u<n0?GD<n0?0:-1:0:-1:Q2<n0?g7<n0?0:-1:0:Y_<n0?NE<n0?n8<n0||Fd<n0?0:SE<n0?Y3<n0?0:-1:0:-1:rs<n0||Pc<n0?0:SC<n0?Bd<n0?0:-1:0:D7<n0?Em<n0?Ju<n0?QE<n0?zm<n0&&sy<n0?mb<n0?0:-1:0:m_<n0&&g3<n0?Gf<n0?0:-1:0:-1:CD<n0?Mg<n0?Yg<n0?If<n0?_c<n0?Uv<n0?0:-1:0:-1:0:-1:0:Mc<n0?wy<n0?CE<n0?EE<n0?vp<n0?D<n0?Ub<n0?0:-1:0:-1:0:NC<n0?0:e3<n0?m3<n0?0:-1:0:-1:j3<n0&&v7<n0&&cv<n0?FC<n0?0:-1:0:Gh<n0?Mm<n0?fi<n0?SD<n0?FE<n0?ri<n0?DD<n0?qD<n0?0:-1:mf<n0?Ep<n0?0:-1:0:-1:0:Nc<n0?Wg<n0?0:My<n0?ib<n0?0:-1:0:UC<n0&&p1<n0?C2<n0?0:-1:0:GE<n0?pm<n0?o2<n0?Dg<n0&&S7<n0?zg<n0?0:-1:0:-1:Tt<n0?y7<n0?cb<n0?M7<n0?0:-1:0:-1:0:0:-1:qv<n0?WC<n0?am<n0?_m<n0?Op<n0?x_<n0?0:-1:lv<n0?ze<n0?0:-1:0:0:x7<n0?Oh<n0?H_<n0?0:$a<n0?Z2<n0?0:-1:0:-1:py<n0?Iy<n0?bd<n0?0:-1:0:v_<n0?Ne<n0?0:-1:0:-1:yo<n0?Yh<n0?xm<n0?fy<n0?o1<n0?Hi<n0?my<n0?0:-1:0:-1:md<n0?ol<n0?0:-1:0:0:-1:_1<n0?za<n0?xl<n0?ws<n0?f7<n0?Iu<n0?0:-1:0:-1:n_<n0?ym<n0?0:-1:0:-1:Il<n0?z_<n0?Bo<n0?xf<n0?0:-1:0:-1:0:-1:vm<n0?Ii<n0?ce<n0?Q7<n0?bh<n0?x3<n0?E2<n0?M<n0&&tD<n0?AE<n0?0:-1:0:pg<n0?Su<n0?qm<n0?t_<n0?0:-1:0:-1:S_<n0?jd<n0?0:-1:0:-1:AC<n0?wE<n0?Zr<n0?Td<n0?t7<n0?0:-1:0:-1:lh<n0?JE<n0?0:-1:0:0:yl<n0?Q_<n0?jf<n0?X2<n0?Wm<n0?0:-1:Kb<n0?_i<n0?0:-1:0:-1:K0<n0?jC<n0?0:-1:Mn<n0?C3<n0?0:-1:0:oy<n0?0:Zv<n0?hb<n0?0:-1:RC<n0?qh<n0?0:-1:0:$f<n0?gy<n0?xD<n0?dC<n0?Xd<n0?Z<n0?Jl<n0?0:-1:0:$C<n0?Ss<n0?0:-1:0:-1:0:Xo<n0?pp<n0?Bs<n0?e8<n0?TC<n0?0:-1:0:-1:Ug<n0?bm<n0?0:-1:0:0:Hu<n0?zC<n0?om<n0?y3<n0?VD<n0?0:-1:TE<n0?Lf<n0?0:-1:0:0:-1:F7<n0?mv<n0?b7<n0?ov<n0?Xn<n0?0:-1:0:Lb<n0?Ky<n0?0:-1:0:-1:dE<n0?K3<n0?H<n0?kb<n0?0:-1:0:-1:0:-1:Vf<n0?Cd<n0?zv<n0?hl<n0?hm<n0?Qp<n0?sC<n0?f0<n0?yD<n0?Th<n0?Qy<n0?0:-1:0:-1:vg<n0?E_<n0?0:-1:0:-1:Sm<n0?Zm<n0?n7<n0?k_<n0?0:-1:0:-1:ot<n0?PD<n0?0:-1:0:B0<n0?e_<n0?iC<n0?Nb<n0?Ob<n0?ab<n0?0:-1:0:-1:Ws<n0?pb<n0?0:-1:0:-1:tC<n0?wv<n0?P2<n0?DE<n0?0:-1:0:-1:Mo<n0?Vg<n0?0:-1:0:-1:Wl<n0?Gd<n0?Sl<n0?O7<n0?mu<n0?0:-1:IC<n0?A0<n0?0:-1:0:c2<n0?jb<n0?Yl<n0?b1<n0?0:-1:0:-1:Dy<n0?oi<n0?0:-1:0:-1:zh<n0?Te<n0?of<n0?Vy<n0?Yu<n0?Ut<n0?0:-1:0:-1:Rv<n0?sv<n0?0:-1:0:-1:U7<n0?Bm<n0?Bv<n0?qg<n0?0:-1:0:-1:jg<n0?cD<n0?0:-1:0:-1:tb<n0?h7<n0?Ay<n0?Wh<n0?_7<n0?rC<n0?hc<n0?Uu<n0?oC<n0?O0<n0?0:-1:0:-1:s1<n0?HD<n0?0:-1:0:-1:Ix<n0?rd<n0?df<n0?tl<n0?0:-1:0:-1:Tm<n0?B2<n0?0:-1:0:-1:Pv<n0?Tp<n0?e0<n0?Xc<n0?a_<n0?0:-1:0:-1:ly<n0?Wp<n0?0:-1:0:mp<n0?Nv<n0?Vh<n0?tf<n0?0:-1:0:-1:rl<n0?aD<n0?0:-1:0:-1:Lv<n0?d0<n0?Gm<n0?Xv<n0?LE<n0?Fg<n0?0:-1:0:Zc<n0?Zb<n0?0:-1:0:E3<n0?0:Qg<n0?wg<n0?0:-1:0:-1:pf<n0?Bh<n0?Id<n0?Ly<n0?R_<n0?U0<n0?0:-1:0:-1:Up<n0?G_<n0?0:-1:0:-1:k3<n0?cy<n0?g0<n0?U1<n0?0:-1:0:-1:qr<n0?De<n0?0:-1:0:-1:Zt<n0?ry<n0?Qm<n0?gm<n0?Ds<n0?a8<n0?ql<n0?wf<n0?L2<n0?xu<n0?jy<n0?Rd<n0?Rb<n0?W3<n0?Y0<n0?0:-1:0:-1:U_<n0?xC<n0?0:-1:0:-1:Jm<n0?Dm<n0?Al<n0?Fl<n0?0:-1:0:-1:F_<n0?Nt<n0?0:-1:0:-1:Ff<n0?0:y2<n0?l1<n0?vy<n0?gd<n0?0:-1:0:-1:Fh<n0?Sh<n0?0:-1:0:-1:P0<n0?W7<n0?YE<n0?i8<n0?dD<n0?Vb<n0?Y7<n0?V0<n0?0:-1:0:-1:av<n0?W<n0?0:-1:0:-1:Vv<n0?gC<n0?Is<n0?cp<n0?0:-1:0:-1:Gb<n0?RE<n0?0:-1:0:-1:y0<n0?Ou<n0?bo<n0?rb<n0?E7<n0?ZD<n0?0:-1:0:-1:Ty<n0?by<n0?0:-1:0:-1:mh<n0?mm<n0?Gg<n0?I3<n0?0:-1:0:-1:li<n0?Av<n0?0:-1:0:-1:La<n0?Uy<n0?Cp<n0?js<n0?q_<n0?lD<n0&&QD<n0?ID<n0?0:-1:0:-1:H1<n0?c0<n0?N_<n0?l2<n0?0:-1:0:-1:kp<n0?Hy<n0?0:-1:0:-1:hf<n0?fE<n0?gb<n0?d<n0?w3<n0?_o<n0?0:-1:0:-1:td<n0?C1<n0?0:-1:0:-1:cE<n0?wb<n0?0:-1:0:Xg<n0?Fv<n0?x8<n0?0:Bb<n0?uC<n0?fb<n0?0:-1:0:fD<n0?nf<n0?0:-1:0:-1:J7<n0?Kt<n0?og<n0?V_<n0?G<n0?Kv<n0?0:-1:0:-1:wm<n0?Jf<n0?0:-1:0:-1:rm<n0&&Fb<n0?kh<n0?0:-1:0:q3<n0?$<n0?x2<n0?Uh<n0?BE<n0&&X3<n0?ts<n0?0:-1:0:J3<n0?G1<n0?qs<n0?0:-1:0:Wv<n0?N3<n0?0:-1:0:0:Hh<n0?$m<n0?0:Sv<n0?_b<n0?0:-1:0:g_<n0?Rc<n0?Ev<n0?PC<n0?Mr<n0?0:-1:0:-1:0:rv<n0?0:$d<n0?Ur<n0?0:-1:0:nx<n0?ZE<n0?qa<n0?0:Eg<n0&&JD<n0?M2<n0?0:-1:0:ip<n0?K7<n0?0:$c<n0?Vm<n0?0:-1:0:gt<n0&&R7<n0?Mf<n0?0:-1:0:z7<n0?_<n0?0:zd<n0?bC<n0?0:-1:eC<n0?L3<n0?0:-1:0:Sy<n0?wC<n0?cl<n0?0:-1:0:ng<n0?0:zy<n0?Pf<n0?0:-1:0:-1:Hp<n0?lg<n0?I1<n0?h_<n0?Rl<n0?ev<n0?IE<n0?r8<n0?PE<n0?0:-1:sp<n0?D3<n0?0:-1:0:fh<n0?0:A3<n0?Ip<n0?0:-1:0:-1:0:p8<n0?Hf<n0?0:Dv<n0?Px<n0?Pe<n0?kD<n0?0:-1:0:-1:0:By<n0?wd<n0&&$b<n0?ny<n0?0:-1:0:_E<n0?$v<n0?iy<n0?em<n0?0:-1:0:-1:0:Lo<n0?sf<n0?Zd<n0?R0<n0?0:v3<n0?CC<n0?zl<n0?iD<n0?0:-1:0:-1:0:ig<n0?m2<n0?rp<n0&&gD<n0?Ed<n0?0:-1:0:-1:bn<n0?__<n0?0:-1:0:-1:i7<n0?Fo<n0?nd<n0?Y2<n0?nC<n0?0:Wb<n0?cg<n0?0:-1:0:-1:Eh<n0?wu<n0?T_<n0?lp<n0?0:-1:0:-1:sb<n0?ds<n0?0:-1:0:-1:vh<n0?dv<n0?Hx<n0?Tv<n0?Rp<n0?0:-1:0:xi<n0?af<n0?0:-1:0:-1:0:-1:mE<n0?bf<n0?Ib<n0?r7<n0?sh<n0?I0<n0?Lm<n0?qf<n0&&_t<n0?ep<n0?0:-1:0:-1:HE<n0&&kC<n0?Hg<n0?0:-1:0:-1:s2<n0?rx<n0?AD<n0?0:Nf<n0?h2<n0?0:-1:0:-1:Ah<n0?uh<n0?Ch<n0?hD<n0?0:-1:0:-1:Zg<n0?q7<n0?0:-1:0:-1:_v<n0?f3<n0?Cv<n0?ay<n0?Yy<n0?hg<n0?Md<n0?Ro<n0?0:-1:0:-1:ND<n0?$h<n0?0:-1:0:-1:kf<n0?Of<n0?0:-1:TD<n0?nv<n0?0:-1:0:-1:R3<n0?ch<n0?y_<n0?WD<n0?Js<n0?0:-1:0:-1:Ap<n0?qb<n0?0:-1:0:Mb<n0?ht<n0?0:-1:0:pl<n0?d7<n0?Uf<n0?nl<n0?Km<n0?j<n0?_d<n0?G7<n0?xb<n0?0:-1:0:-1:D0<n0?H7<n0?0:-1:0:Vp<n0?w_<n0?0:-1:a3<n0?Sg<n0?0:-1:0:-1:zD<n0?bE<n0&&Yv<n0?Ry<n0?0:-1:0:oc<n0?$i<n0?0:-1:XD<n0?t3<n0?0:-1:0:-1:$e<n0?ah<n0?Bi<n0?d_<n0?Pu<n0?j2<n0?an<n0?0:-1:0:z3<n0?Yb<n0?0:-1:0:-1:zb<n0?B_<n0?nm<n0?eD<n0?0:-1:0:-1:ug<n0?T7<n0?0:-1:0:-1:Z7<n0?Yi<n0?J_<n0?Dd<n0?W1<n0?Oy<n0?0:-1:0:-1:M_<n0?Z3<n0?0:-1:0:-1:eb<n0?im<n0?qC<n0?Rf<n0?0:-1:0:-1:Np<n0?Kc<n0?0:-1:0:-1:fr(eY1,n0+Kd|0)-1|0:-1;else G5=-1;if(4<G5>>>0)Mx=Zx(x);else switch(G5){case 0:Mx=L(x);break;case 1:Mx=v(x);break;case 2:Qe(x,87);var K4=Wt0(Rx(x));if(3<K4>>>0)Mx=Zx(x);else switch(K4){case 0:Mx=L(x);break;case 1:Mx=v(x);break;case 2:Qe(x,87);var ox=V4(Rx(x));if(2<ox>>>0)Mx=Zx(x);else switch(ox){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,39);var BA=_h(Rx(x));Mx=BA===0?L(x):BA===1?v(x):Zx(x)}break;default:Qe(x,87);var h6=AL(Rx(x));if(2<h6>>>0)Mx=Zx(x);else switch(h6){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var cA=qt0(Rx(x));if(2<cA>>>0)Mx=Zx(x);else switch(cA){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,40);var QA=_h(Rx(x));Mx=QA===0?L(x):QA===1?v(x):Zx(x)}}}break;case 3:Qe(x,87);var YT=CI(Rx(x));if(2<YT>>>0)Mx=Zx(x);else switch(YT){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var z4=VU(Rx(x));if(2<z4>>>0)Mx=Zx(x);else switch(z4){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var Fk=VU(Rx(x));if(2<Fk>>>0)Mx=Zx(x);else switch(Fk){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,41);var pk=_h(Rx(x));Mx=pk===0?L(x):pk===1?v(x):Zx(x)}}}break;default:Qe(x,87);var Ak=PP(Rx(x));if(2<Ak>>>0)Mx=Zx(x);else switch(Ak){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var ZA=Wt0(Rx(x));if(3<ZA>>>0)Mx=Zx(x);else switch(ZA){case 0:Mx=L(x);break;case 1:Mx=v(x);break;case 2:Qe(x,87);var Q9=qk(Rx(x));if(2<Q9>>>0)Mx=Zx(x);else switch(Q9){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,42);var Hk=_h(Rx(x));Mx=Hk===0?L(x):Hk===1?v(x):Zx(x)}break;default:Qe(x,87);var w4=oO(Rx(x));if(2<w4>>>0)Mx=Zx(x);else switch(w4){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var EN=PP(Rx(x));if(2<EN>>>0)Mx=Zx(x);else switch(EN){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var sB=JV(Rx(x));if(2<sB>>>0)Mx=Zx(x);else switch(sB){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var gx=V4(Rx(x));if(2<gx>>>0)Mx=Zx(x);else switch(gx){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,43);var KM=_h(Rx(x));Mx=KM===0?L(x):KM===1?v(x):Zx(x)}}}}}}}break;case 36:Qe(x,87);var uB=Rx(x);if(uB)var yx=uB[1],Ai=35<yx?C_<yx?ha<yx?vs<yx?-1:ne<yx?Mu<yx?Nh<yx?_D<yx?O2<yx?a7<yx?uy<yx?pE<yx?Jg<yx?0:-1:$D<yx?ks<yx?0:-1:0:-1:N2<yx?up<yx?A7<yx?A_<yx?0:-1:0:-1:e<yx?Xf<yx?0:-1:0:-1:Ld<yx?w1<yx?Zo<yx?Ov<yx?pv<yx?mg<yx?Xy<yx?Cm<yx?ob<yx?Sd<yx?0:-1:0:-1:d2<yx?qt<yx?0:-1:0:-1:Am<yx?$_<yx?Bt<yx?Pp<yx?0:-1:0:-1:Fc<yx?_3<yx?0:-1:0:-1:yy<yx?sn<yx?G3<yx?jl<yx?vd<yx?Hb<yx?0:-1:0:-1:Gt<yx?aC<yx?0:-1:0:-1:_e<yx?Ac<yx?Gv<yx?op<yx?0:-1:0:-1:Zl<yx?Jv<yx?0:-1:0:-1:I_<yx?Pb<yx?gg<yx?ih<yx?m7<yx?P7<yx?np<yx?bv<yx?0:-1:0:-1:Yp<yx?Rg<yx?0:-1:0:-1:dp<yx?V7<yx?Kh<yx?Xl<yx?0:-1:0:-1:oD<yx?Jb<yx?0:-1:0:-1:Us<yx?dd<yx?hv<yx?Dp<yx?jv<yx?Zp<yx?0:-1:0:-1:bD<yx?V3<yx?0:-1:0:-1:gv<yx?iv<yx?oh<yx?Ym<yx?0:-1:0:-1:Gy<yx?p7<yx?0:-1:0:-1:fp<yx?Ef<yx?c7<yx?l0<yx?Z1<yx?Hr<yx?Eb<yx?Xb<yx?OD<yx?R2<yx?kE<yx?Iv<yx?0:-1:0:-1:0:Ox<yx?Kf<yx?gE<yx?Va<yx?0:-1:0:-1:ge<yx?_l<yx?0:-1:0:pD<yx?vE<yx?ky<yx?wp<yx?0:-1:p3<yx?Ih<yx?0:-1:0:-1:MD<yx?OC<yx?0:-1:KC<yx?r3<yx?0:-1:0:-1:I2<yx?lo<yx?Re<yx?yC<yx?ME<yx?db<yx?fg<yx?Wy<yx?0:-1:0:-1:XE<yx?xd<yx?0:-1:0:-1:Wa<yx?yc<yx?S3<yx?Kl<yx?0:-1:0:-1:Fy<yx?xc<yx?0:-1:0:-1:ka<yx?Kp<yx?uE<yx?Lg<yx?_C<yx?OE<yx?0:-1:0:-1:v2<yx?Hm<yx?0:-1:0:-1:Wx<yx?ff<yx?Tb<yx?Fm<yx?0:-1:0:-1:b3<yx?k7<yx?0:-1:0:-1:d3<yx?Ad<yx?P3<yx?Yd<yx?eu<yx?l7<yx?Mt<yx?v1<yx?Cg<yx?Xm<yx?0:-1:0:-1:zf<yx?mD<yx?0:-1:0:-1:Mv<yx?tt<yx?Pm<yx?ld<yx?0:-1:0:-1:$3<yx?zp<yx?0:-1:0:-1:qx<yx?n3<yx?YD<yx?uD<yx?I7<yx?fl<yx?0:-1:0:-1:al<yx?j_<yx?0:-1:0:-1:Cc<yx?N1<yx?O_<yx?B7<yx?0:-1:0:-1:pd<yx?dm<yx?0:-1:0:-1:N0<yx?Xh<yx?dh<yx?dg<yx?b0<yx?bp<yx?Nl<yx?Ph<yx?0:-1:0:-1:M3<yx?lb<yx?0:-1:0:-1:rc<yx?ec<yx?P_<yx?Ud<yx?0:-1:0:-1:fv<yx?K_<yx?0:-1:0:-1:Om<yx?Ag<yx?rf<yx?O3<yx?Fn<yx?bt<yx?0:-1:0:-1:U<yx?j7<yx?0:-1:0:-1:DC<yx?ed<yx?Im<yx?i3<yx?0:-1:0:-1:0:-1:kv<yx?Hd<yx?Jy<yx?Za<yx?wD<yx?E1<yx?ag<yx?xh<yx?Hv<yx?vv<yx?l3<yx?0:-1:0:-1:H3<yx?co<yx?0:-1:0:-1:LD<yx?ex<yx?qy<yx?nD<yx?0:-1:0:-1:ED<yx?Pa<yx?0:-1:0:-1:sD<yx?th<yx?hh<yx?L_<yx?h3<yx?Cy<yx?0:-1:0:-1:w7<yx?Ey<yx?0:-1:0:-1:H2<yx?eh<yx?xv<yx?0:-1:0:u2<yx?C<yx?0:-1:0:P<yx?Kg<yx?wl<yx?b_<yx?cc<yx?W_<yx?0:-1:Tg<yx?i_<yx?0:-1:0:-1:Sb<yx?tv<yx?s7<yx?Ku<yx?0:-1:0:-1:nb<yx?Cf<yx?0:-1:0:-1:aE<yx?Gr<yx?hE<yx?O<yx?0:-1:Uc<yx?Qv<yx?0:-1:0:-1:Un<yx?T3<yx?X_<yx?BC<yx?0:-1:0:-1:p2<yx?dy<yx?0:-1:0:-1:Jr<yx?uv<yx?Gc<yx?mo<yx?Q3<yx?vD<yx?yv<yx?Qd<yx?e7<yx?Jh<yx?0:-1:0:-1:u7<yx?b2<yx?0:-1:0:-1:BD<yx?0:oE<yx?bg<yx?0:-1:0:-1:B3<yx?0:sE<yx?G2<yx?pa<yx?o7<yx?0:-1:0:-1:0:-1:r_<yx?$y<yx?U3<yx?X7<yx?C7<yx?wh<yx?L7<yx?0:-1:0:-1:Zy<yx?t8<yx?0:-1:0:LC<yx?jp<yx?0:-1:F3<yx?lE<yx?0:-1:0:-1:UD<yx?uc<yx?tm<yx?C0<yx?0:-1:G0<yx?rD<yx?0:-1:0:-1:0:Qb<yx?N7<yx?D2<yx?Se<yx?D_<yx?_g<yx?MC<yx?hy<yx?ub<yx?ph<yx?$7<yx?yE<yx?0:-1:S0<yx?Dh<yx?0:-1:0:-1:Ko<yx&&kg<yx?o0<yx?0:-1:0:FD<yx?_y<yx?c3<yx&&EC<yx?ho<yx?0:-1:0:-1:Xp<yx?Bp<yx?_u<yx?GD<yx?0:-1:0:-1:Q2<yx?g7<yx?0:-1:0:Y_<yx?NE<yx?n8<yx||Fd<yx?0:SE<yx?Y3<yx?0:-1:0:-1:rs<yx||Pc<yx?0:SC<yx?Bd<yx?0:-1:0:D7<yx?Em<yx?Ju<yx?QE<yx?zm<yx&&sy<yx?mb<yx?0:-1:0:m_<yx&&g3<yx?Gf<yx?0:-1:0:-1:CD<yx?Mg<yx?Yg<yx?If<yx?_c<yx?Uv<yx?0:-1:0:-1:0:-1:0:Mc<yx?wy<yx?CE<yx?EE<yx?vp<yx?D<yx?Ub<yx?0:-1:0:-1:0:NC<yx?0:e3<yx?m3<yx?0:-1:0:-1:j3<yx&&v7<yx&&cv<yx?FC<yx?0:-1:0:Gh<yx?Mm<yx?fi<yx?SD<yx?FE<yx?ri<yx?DD<yx?qD<yx?0:-1:mf<yx?Ep<yx?0:-1:0:-1:0:Nc<yx?Wg<yx?0:My<yx?ib<yx?0:-1:0:UC<yx&&p1<yx?C2<yx?0:-1:0:GE<yx?pm<yx?o2<yx?Dg<yx&&S7<yx?zg<yx?0:-1:0:-1:Tt<yx?y7<yx?cb<yx?M7<yx?0:-1:0:-1:0:0:-1:qv<yx?WC<yx?am<yx?_m<yx?Op<yx?x_<yx?0:-1:lv<yx?ze<yx?0:-1:0:0:x7<yx?Oh<yx?H_<yx?0:$a<yx?Z2<yx?0:-1:0:-1:py<yx?Iy<yx?bd<yx?0:-1:0:v_<yx?Ne<yx?0:-1:0:-1:yo<yx?Yh<yx?xm<yx?fy<yx?o1<yx?Hi<yx?my<yx?0:-1:0:-1:md<yx?ol<yx?0:-1:0:0:-1:_1<yx?za<yx?xl<yx?ws<yx?f7<yx?Iu<yx?0:-1:0:-1:n_<yx?ym<yx?0:-1:0:-1:Il<yx?z_<yx?Bo<yx?xf<yx?0:-1:0:-1:0:-1:vm<yx?Ii<yx?ce<yx?Q7<yx?bh<yx?x3<yx?E2<yx?M<yx&&tD<yx?AE<yx?0:-1:0:pg<yx?Su<yx?qm<yx?t_<yx?0:-1:0:-1:S_<yx?jd<yx?0:-1:0:-1:AC<yx?wE<yx?Zr<yx?Td<yx?t7<yx?0:-1:0:-1:lh<yx?JE<yx?0:-1:0:0:yl<yx?Q_<yx?jf<yx?X2<yx?Wm<yx?0:-1:Kb<yx?_i<yx?0:-1:0:-1:K0<yx?jC<yx?0:-1:Mn<yx?C3<yx?0:-1:0:oy<yx?0:Zv<yx?hb<yx?0:-1:RC<yx?qh<yx?0:-1:0:$f<yx?gy<yx?xD<yx?dC<yx?Xd<yx?Z<yx?Jl<yx?0:-1:0:$C<yx?Ss<yx?0:-1:0:-1:0:Xo<yx?pp<yx?Bs<yx?e8<yx?TC<yx?0:-1:0:-1:Ug<yx?bm<yx?0:-1:0:0:Hu<yx?zC<yx?om<yx?y3<yx?VD<yx?0:-1:TE<yx?Lf<yx?0:-1:0:0:-1:F7<yx?mv<yx?b7<yx?ov<yx?Xn<yx?0:-1:0:Lb<yx?Ky<yx?0:-1:0:-1:dE<yx?K3<yx?H<yx?kb<yx?0:-1:0:-1:0:-1:Vf<yx?Cd<yx?zv<yx?hl<yx?hm<yx?Qp<yx?sC<yx?f0<yx?yD<yx?Th<yx?Qy<yx?0:-1:0:-1:vg<yx?E_<yx?0:-1:0:-1:Sm<yx?Zm<yx?n7<yx?k_<yx?0:-1:0:-1:ot<yx?PD<yx?0:-1:0:B0<yx?e_<yx?iC<yx?Nb<yx?Ob<yx?ab<yx?0:-1:0:-1:Ws<yx?pb<yx?0:-1:0:-1:tC<yx?wv<yx?P2<yx?DE<yx?0:-1:0:-1:Mo<yx?Vg<yx?0:-1:0:-1:Wl<yx?Gd<yx?Sl<yx?O7<yx?mu<yx?0:-1:IC<yx?A0<yx?0:-1:0:c2<yx?jb<yx?Yl<yx?b1<yx?0:-1:0:-1:Dy<yx?oi<yx?0:-1:0:-1:zh<yx?Te<yx?of<yx?Vy<yx?Yu<yx?Ut<yx?0:-1:0:-1:Rv<yx?sv<yx?0:-1:0:-1:U7<yx?Bm<yx?Bv<yx?qg<yx?0:-1:0:-1:jg<yx?cD<yx?0:-1:0:-1:tb<yx?h7<yx?Ay<yx?Wh<yx?_7<yx?rC<yx?hc<yx?Uu<yx?oC<yx?O0<yx?0:-1:0:-1:s1<yx?HD<yx?0:-1:0:-1:Ix<yx?rd<yx?df<yx?tl<yx?0:-1:0:-1:Tm<yx?B2<yx?0:-1:0:-1:Pv<yx?Tp<yx?e0<yx?Xc<yx?a_<yx?0:-1:0:-1:ly<yx?Wp<yx?0:-1:0:mp<yx?Nv<yx?Vh<yx?tf<yx?0:-1:0:-1:rl<yx?aD<yx?0:-1:0:-1:Lv<yx?d0<yx?Gm<yx?Xv<yx?LE<yx?Fg<yx?0:-1:0:Zc<yx?Zb<yx?0:-1:0:E3<yx?0:Qg<yx?wg<yx?0:-1:0:-1:pf<yx?Bh<yx?Id<yx?Ly<yx?R_<yx?U0<yx?0:-1:0:-1:Up<yx?G_<yx?0:-1:0:-1:k3<yx?cy<yx?g0<yx?U1<yx?0:-1:0:-1:qr<yx?De<yx?0:-1:0:-1:Zt<yx?ry<yx?Qm<yx?gm<yx?Ds<yx?a8<yx?ql<yx?wf<yx?L2<yx?xu<yx?jy<yx?Rd<yx?Rb<yx?W3<yx?Y0<yx?0:-1:0:-1:U_<yx?xC<yx?0:-1:0:-1:Jm<yx?Dm<yx?Al<yx?Fl<yx?0:-1:0:-1:F_<yx?Nt<yx?0:-1:0:-1:Ff<yx?0:y2<yx?l1<yx?vy<yx?gd<yx?0:-1:0:-1:Fh<yx?Sh<yx?0:-1:0:-1:P0<yx?W7<yx?YE<yx?i8<yx?dD<yx?Vb<yx?Y7<yx?V0<yx?0:-1:0:-1:av<yx?W<yx?0:-1:0:-1:Vv<yx?gC<yx?Is<yx?cp<yx?0:-1:0:-1:Gb<yx?RE<yx?0:-1:0:-1:y0<yx?Ou<yx?bo<yx?rb<yx?E7<yx?ZD<yx?0:-1:0:-1:Ty<yx?by<yx?0:-1:0:-1:mh<yx?mm<yx?Gg<yx?I3<yx?0:-1:0:-1:li<yx?Av<yx?0:-1:0:-1:La<yx?Uy<yx?Cp<yx?js<yx?q_<yx?lD<yx&&QD<yx?ID<yx?0:-1:0:-1:H1<yx?c0<yx?N_<yx?l2<yx?0:-1:0:-1:kp<yx?Hy<yx?0:-1:0:-1:hf<yx?fE<yx?gb<yx?d<yx?w3<yx?_o<yx?0:-1:0:-1:td<yx?C1<yx?0:-1:0:-1:cE<yx?wb<yx?0:-1:0:Xg<yx?Fv<yx?x8<yx?0:Bb<yx?uC<yx?fb<yx?0:-1:0:fD<yx?nf<yx?0:-1:0:-1:J7<yx?Kt<yx?og<yx?V_<yx?G<yx?Kv<yx?0:-1:0:-1:wm<yx?Jf<yx?0:-1:0:-1:rm<yx&&Fb<yx?kh<yx?0:-1:0:q3<yx?$<yx?x2<yx?Uh<yx?BE<yx&&X3<yx?ts<yx?0:-1:0:J3<yx?G1<yx?qs<yx?0:-1:0:Wv<yx?N3<yx?0:-1:0:0:Hh<yx?$m<yx?0:Sv<yx?_b<yx?0:-1:0:g_<yx?Rc<yx?Ev<yx?PC<yx?Mr<yx?0:-1:0:-1:0:rv<yx?0:$d<yx?Ur<yx?0:-1:0:nx<yx?ZE<yx?qa<yx?0:Eg<yx&&JD<yx?M2<yx?0:-1:0:ip<yx?K7<yx?0:$c<yx?Vm<yx?0:-1:0:gt<yx&&R7<yx?Mf<yx?0:-1:0:z7<yx?_<yx?0:zd<yx?bC<yx?0:-1:eC<yx?L3<yx?0:-1:0:Sy<yx?wC<yx?cl<yx?0:-1:0:ng<yx?0:zy<yx?Pf<yx?0:-1:0:-1:Hp<yx?lg<yx?I1<yx?h_<yx?Rl<yx?ev<yx?IE<yx?r8<yx?PE<yx?0:-1:sp<yx?D3<yx?0:-1:0:fh<yx?0:A3<yx?Ip<yx?0:-1:0:-1:0:p8<yx?Hf<yx?0:Dv<yx?Px<yx?Pe<yx?kD<yx?0:-1:0:-1:0:By<yx?wd<yx&&$b<yx?ny<yx?0:-1:0:_E<yx?$v<yx?iy<yx?em<yx?0:-1:0:-1:0:Lo<yx?sf<yx?Zd<yx?R0<yx?0:v3<yx?CC<yx?zl<yx?iD<yx?0:-1:0:-1:0:ig<yx?m2<yx?rp<yx&&gD<yx?Ed<yx?0:-1:0:-1:bn<yx?__<yx?0:-1:0:-1:i7<yx?Fo<yx?nd<yx?Y2<yx?nC<yx?0:Wb<yx?cg<yx?0:-1:0:-1:Eh<yx?wu<yx?T_<yx?lp<yx?0:-1:0:-1:sb<yx?ds<yx?0:-1:0:-1:vh<yx?dv<yx?Hx<yx?Tv<yx?Rp<yx?0:-1:0:xi<yx?af<yx?0:-1:0:-1:0:-1:mE<yx?bf<yx?Ib<yx?r7<yx?sh<yx?I0<yx?Lm<yx?qf<yx&&_t<yx?ep<yx?0:-1:0:-1:HE<yx&&kC<yx?Hg<yx?0:-1:0:-1:s2<yx?rx<yx?AD<yx?0:Nf<yx?h2<yx?0:-1:0:-1:Ah<yx?uh<yx?Ch<yx?hD<yx?0:-1:0:-1:Zg<yx?q7<yx?0:-1:0:-1:_v<yx?f3<yx?Cv<yx?ay<yx?Yy<yx?hg<yx?Md<yx?Ro<yx?0:-1:0:-1:ND<yx?$h<yx?0:-1:0:-1:kf<yx?Of<yx?0:-1:TD<yx?nv<yx?0:-1:0:-1:R3<yx?ch<yx?y_<yx?WD<yx?Js<yx?0:-1:0:-1:Ap<yx?qb<yx?0:-1:0:Mb<yx?ht<yx?0:-1:0:pl<yx?d7<yx?Uf<yx?nl<yx?Km<yx?j<yx?_d<yx?G7<yx?xb<yx?0:-1:0:-1:D0<yx?H7<yx?0:-1:0:Vp<yx?w_<yx?0:-1:a3<yx?Sg<yx?0:-1:0:-1:zD<yx?bE<yx&&Yv<yx?Ry<yx?0:-1:0:oc<yx?$i<yx?0:-1:XD<yx?t3<yx?0:-1:0:-1:$e<yx?ah<yx?Bi<yx?d_<yx?Pu<yx?j2<yx?an<yx?0:-1:0:z3<yx?Yb<yx?0:-1:0:-1:zb<yx?B_<yx?nm<yx?eD<yx?0:-1:0:-1:ug<yx?T7<yx?0:-1:0:-1:Z7<yx?Yi<yx?J_<yx?Dd<yx?W1<yx?Oy<yx?0:-1:0:-1:M_<yx?Z3<yx?0:-1:0:-1:eb<yx?im<yx?qC<yx?Rf<yx?0:-1:0:-1:Np<yx?Kc<yx?0:-1:0:-1:fr(XX1,yx+Kd|0)-1|0:-1;else Ai=-1;if(3<Ai>>>0)Mx=Zx(x);else switch(Ai){case 0:Mx=L(x);break;case 1:Mx=v(x);break;case 2:Qe(x,87);var dr=Rx(x);if(dr)var m1=dr[1],Wn=35<m1?C_<m1?ha<m1?vs<m1?-1:ne<m1?Mu<m1?Nh<m1?_D<m1?O2<m1?a7<m1?uy<m1?pE<m1?Jg<m1?0:-1:$D<m1?ks<m1?0:-1:0:-1:N2<m1?up<m1?A7<m1?A_<m1?0:-1:0:-1:e<m1?Xf<m1?0:-1:0:-1:Ld<m1?w1<m1?Zo<m1?Ov<m1?pv<m1?mg<m1?Xy<m1?Cm<m1?ob<m1?Sd<m1?0:-1:0:-1:d2<m1?qt<m1?0:-1:0:-1:Am<m1?$_<m1?Bt<m1?Pp<m1?0:-1:0:-1:Fc<m1?_3<m1?0:-1:0:-1:yy<m1?sn<m1?G3<m1?jl<m1?vd<m1?Hb<m1?0:-1:0:-1:Gt<m1?aC<m1?0:-1:0:-1:_e<m1?Ac<m1?Gv<m1?op<m1?0:-1:0:-1:Zl<m1?Jv<m1?0:-1:0:-1:I_<m1?Pb<m1?gg<m1?ih<m1?m7<m1?P7<m1?np<m1?bv<m1?0:-1:0:-1:Yp<m1?Rg<m1?0:-1:0:-1:dp<m1?V7<m1?Kh<m1?Xl<m1?0:-1:0:-1:oD<m1?Jb<m1?0:-1:0:-1:Us<m1?dd<m1?hv<m1?Dp<m1?jv<m1?Zp<m1?0:-1:0:-1:bD<m1?V3<m1?0:-1:0:-1:gv<m1?iv<m1?oh<m1?Ym<m1?0:-1:0:-1:Gy<m1?p7<m1?0:-1:0:-1:fp<m1?Ef<m1?c7<m1?l0<m1?Z1<m1?Hr<m1?Eb<m1?Xb<m1?OD<m1?R2<m1?kE<m1?Iv<m1?0:-1:0:-1:0:Ox<m1?Kf<m1?gE<m1?Va<m1?0:-1:0:-1:ge<m1?_l<m1?0:-1:0:pD<m1?vE<m1?ky<m1?wp<m1?0:-1:p3<m1?Ih<m1?0:-1:0:-1:MD<m1?OC<m1?0:-1:KC<m1?r3<m1?0:-1:0:-1:I2<m1?lo<m1?Re<m1?yC<m1?ME<m1?db<m1?fg<m1?Wy<m1?0:-1:0:-1:XE<m1?xd<m1?0:-1:0:-1:Wa<m1?yc<m1?S3<m1?Kl<m1?0:-1:0:-1:Fy<m1?xc<m1?0:-1:0:-1:ka<m1?Kp<m1?uE<m1?Lg<m1?_C<m1?OE<m1?0:-1:0:-1:v2<m1?Hm<m1?0:-1:0:-1:Wx<m1?ff<m1?Tb<m1?Fm<m1?0:-1:0:-1:b3<m1?k7<m1?0:-1:0:-1:d3<m1?Ad<m1?P3<m1?Yd<m1?eu<m1?l7<m1?Mt<m1?v1<m1?Cg<m1?Xm<m1?0:-1:0:-1:zf<m1?mD<m1?0:-1:0:-1:Mv<m1?tt<m1?Pm<m1?ld<m1?0:-1:0:-1:$3<m1?zp<m1?0:-1:0:-1:qx<m1?n3<m1?YD<m1?uD<m1?I7<m1?fl<m1?0:-1:0:-1:al<m1?j_<m1?0:-1:0:-1:Cc<m1?N1<m1?O_<m1?B7<m1?0:-1:0:-1:pd<m1?dm<m1?0:-1:0:-1:N0<m1?Xh<m1?dh<m1?dg<m1?b0<m1?bp<m1?Nl<m1?Ph<m1?0:-1:0:-1:M3<m1?lb<m1?0:-1:0:-1:rc<m1?ec<m1?P_<m1?Ud<m1?0:-1:0:-1:fv<m1?K_<m1?0:-1:0:-1:Om<m1?Ag<m1?rf<m1?O3<m1?Fn<m1?bt<m1?0:-1:0:-1:U<m1?j7<m1?0:-1:0:-1:DC<m1?ed<m1?Im<m1?i3<m1?0:-1:0:-1:0:-1:kv<m1?Hd<m1?Jy<m1?Za<m1?wD<m1?E1<m1?ag<m1?xh<m1?Hv<m1?vv<m1?l3<m1?0:-1:0:-1:H3<m1?co<m1?0:-1:0:-1:LD<m1?ex<m1?qy<m1?nD<m1?0:-1:0:-1:ED<m1?Pa<m1?0:-1:0:-1:sD<m1?th<m1?hh<m1?L_<m1?h3<m1?Cy<m1?0:-1:0:-1:w7<m1?Ey<m1?0:-1:0:-1:H2<m1?eh<m1?xv<m1?0:-1:0:u2<m1?C<m1?0:-1:0:P<m1?Kg<m1?wl<m1?b_<m1?cc<m1?W_<m1?0:-1:Tg<m1?i_<m1?0:-1:0:-1:Sb<m1?tv<m1?s7<m1?Ku<m1?0:-1:0:-1:nb<m1?Cf<m1?0:-1:0:-1:aE<m1?Gr<m1?hE<m1?O<m1?0:-1:Uc<m1?Qv<m1?0:-1:0:-1:Un<m1?T3<m1?X_<m1?BC<m1?0:-1:0:-1:p2<m1?dy<m1?0:-1:0:-1:Jr<m1?uv<m1?Gc<m1?mo<m1?Q3<m1?vD<m1?yv<m1?Qd<m1?e7<m1?Jh<m1?0:-1:0:-1:u7<m1?b2<m1?0:-1:0:-1:BD<m1?0:oE<m1?bg<m1?0:-1:0:-1:B3<m1?0:sE<m1?G2<m1?pa<m1?o7<m1?0:-1:0:-1:0:-1:r_<m1?$y<m1?U3<m1?X7<m1?C7<m1?wh<m1?L7<m1?0:-1:0:-1:Zy<m1?t8<m1?0:-1:0:LC<m1?jp<m1?0:-1:F3<m1?lE<m1?0:-1:0:-1:UD<m1?uc<m1?tm<m1?C0<m1?0:-1:G0<m1?rD<m1?0:-1:0:-1:0:Qb<m1?N7<m1?D2<m1?Se<m1?D_<m1?_g<m1?MC<m1?hy<m1?ub<m1?ph<m1?$7<m1?yE<m1?0:-1:S0<m1?Dh<m1?0:-1:0:-1:Ko<m1&&kg<m1?o0<m1?0:-1:0:FD<m1?_y<m1?c3<m1&&EC<m1?ho<m1?0:-1:0:-1:Xp<m1?Bp<m1?_u<m1?GD<m1?0:-1:0:-1:Q2<m1?g7<m1?0:-1:0:Y_<m1?NE<m1?n8<m1||Fd<m1?0:SE<m1?Y3<m1?0:-1:0:-1:rs<m1||Pc<m1?0:SC<m1?Bd<m1?0:-1:0:D7<m1?Em<m1?Ju<m1?QE<m1?zm<m1&&sy<m1?mb<m1?0:-1:0:m_<m1&&g3<m1?Gf<m1?0:-1:0:-1:CD<m1?Mg<m1?Yg<m1?If<m1?_c<m1?Uv<m1?0:-1:0:-1:0:-1:0:Mc<m1?wy<m1?CE<m1?EE<m1?vp<m1?D<m1?Ub<m1?0:-1:0:-1:0:NC<m1?0:e3<m1?m3<m1?0:-1:0:-1:j3<m1&&v7<m1&&cv<m1?FC<m1?0:-1:0:Gh<m1?Mm<m1?fi<m1?SD<m1?FE<m1?ri<m1?DD<m1?qD<m1?0:-1:mf<m1?Ep<m1?0:-1:0:-1:0:Nc<m1?Wg<m1?0:My<m1?ib<m1?0:-1:0:UC<m1&&p1<m1?C2<m1?0:-1:0:GE<m1?pm<m1?o2<m1?Dg<m1&&S7<m1?zg<m1?0:-1:0:-1:Tt<m1?y7<m1?cb<m1?M7<m1?0:-1:0:-1:0:0:-1:qv<m1?WC<m1?am<m1?_m<m1?Op<m1?x_<m1?0:-1:lv<m1?ze<m1?0:-1:0:0:x7<m1?Oh<m1?H_<m1?0:$a<m1?Z2<m1?0:-1:0:-1:py<m1?Iy<m1?bd<m1?0:-1:0:v_<m1?Ne<m1?0:-1:0:-1:yo<m1?Yh<m1?xm<m1?fy<m1?o1<m1?Hi<m1?my<m1?0:-1:0:-1:md<m1?ol<m1?0:-1:0:0:-1:_1<m1?za<m1?xl<m1?ws<m1?f7<m1?Iu<m1?0:-1:0:-1:n_<m1?ym<m1?0:-1:0:-1:Il<m1?z_<m1?Bo<m1?xf<m1?0:-1:0:-1:0:-1:vm<m1?Ii<m1?ce<m1?Q7<m1?bh<m1?x3<m1?E2<m1?M<m1&&tD<m1?AE<m1?0:-1:0:pg<m1?Su<m1?qm<m1?t_<m1?0:-1:0:-1:S_<m1?jd<m1?0:-1:0:-1:AC<m1?wE<m1?Zr<m1?Td<m1?t7<m1?0:-1:0:-1:lh<m1?JE<m1?0:-1:0:0:yl<m1?Q_<m1?jf<m1?X2<m1?Wm<m1?0:-1:Kb<m1?_i<m1?0:-1:0:-1:K0<m1?jC<m1?0:-1:Mn<m1?C3<m1?0:-1:0:oy<m1?0:Zv<m1?hb<m1?0:-1:RC<m1?qh<m1?0:-1:0:$f<m1?gy<m1?xD<m1?dC<m1?Xd<m1?Z<m1?Jl<m1?0:-1:0:$C<m1?Ss<m1?0:-1:0:-1:0:Xo<m1?pp<m1?Bs<m1?e8<m1?TC<m1?0:-1:0:-1:Ug<m1?bm<m1?0:-1:0:0:Hu<m1?zC<m1?om<m1?y3<m1?VD<m1?0:-1:TE<m1?Lf<m1?0:-1:0:0:-1:F7<m1?mv<m1?b7<m1?ov<m1?Xn<m1?0:-1:0:Lb<m1?Ky<m1?0:-1:0:-1:dE<m1?K3<m1?H<m1?kb<m1?0:-1:0:-1:0:-1:Vf<m1?Cd<m1?zv<m1?hl<m1?hm<m1?Qp<m1?sC<m1?f0<m1?yD<m1?Th<m1?Qy<m1?0:-1:0:-1:vg<m1?E_<m1?0:-1:0:-1:Sm<m1?Zm<m1?n7<m1?k_<m1?0:-1:0:-1:ot<m1?PD<m1?0:-1:0:B0<m1?e_<m1?iC<m1?Nb<m1?Ob<m1?ab<m1?0:-1:0:-1:Ws<m1?pb<m1?0:-1:0:-1:tC<m1?wv<m1?P2<m1?DE<m1?0:-1:0:-1:Mo<m1?Vg<m1?0:-1:0:-1:Wl<m1?Gd<m1?Sl<m1?O7<m1?mu<m1?0:-1:IC<m1?A0<m1?0:-1:0:c2<m1?jb<m1?Yl<m1?b1<m1?0:-1:0:-1:Dy<m1?oi<m1?0:-1:0:-1:zh<m1?Te<m1?of<m1?Vy<m1?Yu<m1?Ut<m1?0:-1:0:-1:Rv<m1?sv<m1?0:-1:0:-1:U7<m1?Bm<m1?Bv<m1?qg<m1?0:-1:0:-1:jg<m1?cD<m1?0:-1:0:-1:tb<m1?h7<m1?Ay<m1?Wh<m1?_7<m1?rC<m1?hc<m1?Uu<m1?oC<m1?O0<m1?0:-1:0:-1:s1<m1?HD<m1?0:-1:0:-1:Ix<m1?rd<m1?df<m1?tl<m1?0:-1:0:-1:Tm<m1?B2<m1?0:-1:0:-1:Pv<m1?Tp<m1?e0<m1?Xc<m1?a_<m1?0:-1:0:-1:ly<m1?Wp<m1?0:-1:0:mp<m1?Nv<m1?Vh<m1?tf<m1?0:-1:0:-1:rl<m1?aD<m1?0:-1:0:-1:Lv<m1?d0<m1?Gm<m1?Xv<m1?LE<m1?Fg<m1?0:-1:0:Zc<m1?Zb<m1?0:-1:0:E3<m1?0:Qg<m1?wg<m1?0:-1:0:-1:pf<m1?Bh<m1?Id<m1?Ly<m1?R_<m1?U0<m1?0:-1:0:-1:Up<m1?G_<m1?0:-1:0:-1:k3<m1?cy<m1?g0<m1?U1<m1?0:-1:0:-1:qr<m1?De<m1?0:-1:0:-1:Zt<m1?ry<m1?Qm<m1?gm<m1?Ds<m1?a8<m1?ql<m1?wf<m1?L2<m1?xu<m1?jy<m1?Rd<m1?Rb<m1?W3<m1?Y0<m1?0:-1:0:-1:U_<m1?xC<m1?0:-1:0:-1:Jm<m1?Dm<m1?Al<m1?Fl<m1?0:-1:0:-1:F_<m1?Nt<m1?0:-1:0:-1:Ff<m1?0:y2<m1?l1<m1?vy<m1?gd<m1?0:-1:0:-1:Fh<m1?Sh<m1?0:-1:0:-1:P0<m1?W7<m1?YE<m1?i8<m1?dD<m1?Vb<m1?Y7<m1?V0<m1?0:-1:0:-1:av<m1?W<m1?0:-1:0:-1:Vv<m1?gC<m1?Is<m1?cp<m1?0:-1:0:-1:Gb<m1?RE<m1?0:-1:0:-1:y0<m1?Ou<m1?bo<m1?rb<m1?E7<m1?ZD<m1?0:-1:0:-1:Ty<m1?by<m1?0:-1:0:-1:mh<m1?mm<m1?Gg<m1?I3<m1?0:-1:0:-1:li<m1?Av<m1?0:-1:0:-1:La<m1?Uy<m1?Cp<m1?js<m1?q_<m1?lD<m1&&QD<m1?ID<m1?0:-1:0:-1:H1<m1?c0<m1?N_<m1?l2<m1?0:-1:0:-1:kp<m1?Hy<m1?0:-1:0:-1:hf<m1?fE<m1?gb<m1?d<m1?w3<m1?_o<m1?0:-1:0:-1:td<m1?C1<m1?0:-1:0:-1:cE<m1?wb<m1?0:-1:0:Xg<m1?Fv<m1?x8<m1?0:Bb<m1?uC<m1?fb<m1?0:-1:0:fD<m1?nf<m1?0:-1:0:-1:J7<m1?Kt<m1?og<m1?V_<m1?G<m1?Kv<m1?0:-1:0:-1:wm<m1?Jf<m1?0:-1:0:-1:rm<m1&&Fb<m1?kh<m1?0:-1:0:q3<m1?$<m1?x2<m1?Uh<m1?BE<m1&&X3<m1?ts<m1?0:-1:0:J3<m1?G1<m1?qs<m1?0:-1:0:Wv<m1?N3<m1?0:-1:0:0:Hh<m1?$m<m1?0:Sv<m1?_b<m1?0:-1:0:g_<m1?Rc<m1?Ev<m1?PC<m1?Mr<m1?0:-1:0:-1:0:rv<m1?0:$d<m1?Ur<m1?0:-1:0:nx<m1?ZE<m1?qa<m1?0:Eg<m1&&JD<m1?M2<m1?0:-1:0:ip<m1?K7<m1?0:$c<m1?Vm<m1?0:-1:0:gt<m1&&R7<m1?Mf<m1?0:-1:0:z7<m1?_<m1?0:zd<m1?bC<m1?0:-1:eC<m1?L3<m1?0:-1:0:Sy<m1?wC<m1?cl<m1?0:-1:0:ng<m1?0:zy<m1?Pf<m1?0:-1:0:-1:Hp<m1?lg<m1?I1<m1?h_<m1?Rl<m1?ev<m1?IE<m1?r8<m1?PE<m1?0:-1:sp<m1?D3<m1?0:-1:0:fh<m1?0:A3<m1?Ip<m1?0:-1:0:-1:0:p8<m1?Hf<m1?0:Dv<m1?Px<m1?Pe<m1?kD<m1?0:-1:0:-1:0:By<m1?wd<m1&&$b<m1?ny<m1?0:-1:0:_E<m1?$v<m1?iy<m1?em<m1?0:-1:0:-1:0:Lo<m1?sf<m1?Zd<m1?R0<m1?0:v3<m1?CC<m1?zl<m1?iD<m1?0:-1:0:-1:0:ig<m1?m2<m1?rp<m1&&gD<m1?Ed<m1?0:-1:0:-1:bn<m1?__<m1?0:-1:0:-1:i7<m1?Fo<m1?nd<m1?Y2<m1?nC<m1?0:Wb<m1?cg<m1?0:-1:0:-1:Eh<m1?wu<m1?T_<m1?lp<m1?0:-1:0:-1:sb<m1?ds<m1?0:-1:0:-1:vh<m1?dv<m1?Hx<m1?Tv<m1?Rp<m1?0:-1:0:xi<m1?af<m1?0:-1:0:-1:0:-1:mE<m1?bf<m1?Ib<m1?r7<m1?sh<m1?I0<m1?Lm<m1?qf<m1&&_t<m1?ep<m1?0:-1:0:-1:HE<m1&&kC<m1?Hg<m1?0:-1:0:-1:s2<m1?rx<m1?AD<m1?0:Nf<m1?h2<m1?0:-1:0:-1:Ah<m1?uh<m1?Ch<m1?hD<m1?0:-1:0:-1:Zg<m1?q7<m1?0:-1:0:-1:_v<m1?f3<m1?Cv<m1?ay<m1?Yy<m1?hg<m1?Md<m1?Ro<m1?0:-1:0:-1:ND<m1?$h<m1?0:-1:0:-1:kf<m1?Of<m1?0:-1:TD<m1?nv<m1?0:-1:0:-1:R3<m1?ch<m1?y_<m1?WD<m1?Js<m1?0:-1:0:-1:Ap<m1?qb<m1?0:-1:0:Mb<m1?ht<m1?0:-1:0:pl<m1?d7<m1?Uf<m1?nl<m1?Km<m1?j<m1?_d<m1?G7<m1?xb<m1?0:-1:0:-1:D0<m1?H7<m1?0:-1:0:Vp<m1?w_<m1?0:-1:a3<m1?Sg<m1?0:-1:0:-1:zD<m1?bE<m1&&Yv<m1?Ry<m1?0:-1:0:oc<m1?$i<m1?0:-1:XD<m1?t3<m1?0:-1:0:-1:$e<m1?ah<m1?Bi<m1?d_<m1?Pu<m1?j2<m1?an<m1?0:-1:0:z3<m1?Yb<m1?0:-1:0:-1:zb<m1?B_<m1?nm<m1?eD<m1?0:-1:0:-1:ug<m1?T7<m1?0:-1:0:-1:Z7<m1?Yi<m1?J_<m1?Dd<m1?W1<m1?Oy<m1?0:-1:0:-1:M_<m1?Z3<m1?0:-1:0:-1:eb<m1?im<m1?qC<m1?Rf<m1?0:-1:0:-1:Np<m1?Kc<m1?0:-1:0:-1:fr(zX1,m1+Kd|0)-1|0:-1;else Wn=-1;if(5<Wn>>>0)Mx=Zx(x);else switch(Wn){case 0:Mx=L(x);break;case 1:Mx=v(x);break;case 2:Qe(x,87);var zc=JV(Rx(x));if(2<zc>>>0)Mx=Zx(x);else switch(zc){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var kl=Kq(Rx(x));if(2<kl>>>0)Mx=Zx(x);else switch(kl){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var u_=Kq(Rx(x));if(2<u_>>>0)Mx=Zx(x);else switch(u_){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var s3=V4(Rx(x));if(2<s3>>>0)Mx=Zx(x);else switch(s3){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var QC=FL(Rx(x));if(2<QC>>>0)Mx=Zx(x);else switch(QC){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,44);var E6=_h(Rx(x));Mx=E6===0?L(x):E6===1?v(x):Zx(x)}}}}}break;case 3:Qe(x,87);var cS=aO(Rx(x));if(2<cS>>>0)Mx=Zx(x);else switch(cS){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var UF=CI(Rx(x));if(2<UF>>>0)Mx=Zx(x);else switch(UF){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var VF=FL(Rx(x));if(2<VF>>>0)Mx=Zx(x);else switch(VF){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var W8=V4(Rx(x));if(2<W8>>>0)Mx=Zx(x);else switch(W8){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,45);var xS=_h(Rx(x));Mx=xS===0?L(x):xS===1?v(x):Zx(x)}}}}break;case 4:Qe(x,87);var aF=CI(Rx(x));if(2<aF>>>0)Mx=Zx(x);else switch(aF){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var OS=JV(Rx(x));if(2<OS>>>0)Mx=Zx(x);else switch(OS){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var W4=aO(Rx(x));if(2<W4>>>0)Mx=Zx(x);else switch(W4){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var LA=qk(Rx(x));if(2<LA>>>0)Mx=Zx(x);else switch(LA){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,46);var _F=_h(Rx(x));Mx=_F===0?L(x):_F===1?v(x):Zx(x)}}}}break;default:Qe(x,87);var eS=V4(Rx(x));if(2<eS>>>0)Mx=Zx(x);else switch(eS){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var DT=qk(Rx(x));if(2<DT>>>0)Mx=Zx(x);else switch(DT){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var X5=V4(Rx(x));if(2<X5>>>0)Mx=Zx(x);else switch(X5){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,47);var Mw=_h(Rx(x));Mx=Mw===0?L(x):Mw===1?v(x):Zx(x)}}}}break;default:Qe(x,48);var B5=_h(Rx(x));Mx=B5===0?L(x):B5===1?v(x):Zx(x)}break;case 37:Qe(x,87);var Gk=Rx(x);if(Gk)var xx=Gk[1],lS=35<xx?C_<xx?ha<xx?vs<xx?-1:ne<xx?Mu<xx?Nh<xx?_D<xx?O2<xx?a7<xx?uy<xx?pE<xx?Jg<xx?0:-1:$D<xx?ks<xx?0:-1:0:-1:N2<xx?up<xx?A7<xx?A_<xx?0:-1:0:-1:e<xx?Xf<xx?0:-1:0:-1:Ld<xx?w1<xx?Zo<xx?Ov<xx?pv<xx?mg<xx?Xy<xx?Cm<xx?ob<xx?Sd<xx?0:-1:0:-1:d2<xx?qt<xx?0:-1:0:-1:Am<xx?$_<xx?Bt<xx?Pp<xx?0:-1:0:-1:Fc<xx?_3<xx?0:-1:0:-1:yy<xx?sn<xx?G3<xx?jl<xx?vd<xx?Hb<xx?0:-1:0:-1:Gt<xx?aC<xx?0:-1:0:-1:_e<xx?Ac<xx?Gv<xx?op<xx?0:-1:0:-1:Zl<xx?Jv<xx?0:-1:0:-1:I_<xx?Pb<xx?gg<xx?ih<xx?m7<xx?P7<xx?np<xx?bv<xx?0:-1:0:-1:Yp<xx?Rg<xx?0:-1:0:-1:dp<xx?V7<xx?Kh<xx?Xl<xx?0:-1:0:-1:oD<xx?Jb<xx?0:-1:0:-1:Us<xx?dd<xx?hv<xx?Dp<xx?jv<xx?Zp<xx?0:-1:0:-1:bD<xx?V3<xx?0:-1:0:-1:gv<xx?iv<xx?oh<xx?Ym<xx?0:-1:0:-1:Gy<xx?p7<xx?0:-1:0:-1:fp<xx?Ef<xx?c7<xx?l0<xx?Z1<xx?Hr<xx?Eb<xx?Xb<xx?OD<xx?R2<xx?kE<xx?Iv<xx?0:-1:0:-1:0:Ox<xx?Kf<xx?gE<xx?Va<xx?0:-1:0:-1:ge<xx?_l<xx?0:-1:0:pD<xx?vE<xx?ky<xx?wp<xx?0:-1:p3<xx?Ih<xx?0:-1:0:-1:MD<xx?OC<xx?0:-1:KC<xx?r3<xx?0:-1:0:-1:I2<xx?lo<xx?Re<xx?yC<xx?ME<xx?db<xx?fg<xx?Wy<xx?0:-1:0:-1:XE<xx?xd<xx?0:-1:0:-1:Wa<xx?yc<xx?S3<xx?Kl<xx?0:-1:0:-1:Fy<xx?xc<xx?0:-1:0:-1:ka<xx?Kp<xx?uE<xx?Lg<xx?_C<xx?OE<xx?0:-1:0:-1:v2<xx?Hm<xx?0:-1:0:-1:Wx<xx?ff<xx?Tb<xx?Fm<xx?0:-1:0:-1:b3<xx?k7<xx?0:-1:0:-1:d3<xx?Ad<xx?P3<xx?Yd<xx?eu<xx?l7<xx?Mt<xx?v1<xx?Cg<xx?Xm<xx?0:-1:0:-1:zf<xx?mD<xx?0:-1:0:-1:Mv<xx?tt<xx?Pm<xx?ld<xx?0:-1:0:-1:$3<xx?zp<xx?0:-1:0:-1:qx<xx?n3<xx?YD<xx?uD<xx?I7<xx?fl<xx?0:-1:0:-1:al<xx?j_<xx?0:-1:0:-1:Cc<xx?N1<xx?O_<xx?B7<xx?0:-1:0:-1:pd<xx?dm<xx?0:-1:0:-1:N0<xx?Xh<xx?dh<xx?dg<xx?b0<xx?bp<xx?Nl<xx?Ph<xx?0:-1:0:-1:M3<xx?lb<xx?0:-1:0:-1:rc<xx?ec<xx?P_<xx?Ud<xx?0:-1:0:-1:fv<xx?K_<xx?0:-1:0:-1:Om<xx?Ag<xx?rf<xx?O3<xx?Fn<xx?bt<xx?0:-1:0:-1:U<xx?j7<xx?0:-1:0:-1:DC<xx?ed<xx?Im<xx?i3<xx?0:-1:0:-1:0:-1:kv<xx?Hd<xx?Jy<xx?Za<xx?wD<xx?E1<xx?ag<xx?xh<xx?Hv<xx?vv<xx?l3<xx?0:-1:0:-1:H3<xx?co<xx?0:-1:0:-1:LD<xx?ex<xx?qy<xx?nD<xx?0:-1:0:-1:ED<xx?Pa<xx?0:-1:0:-1:sD<xx?th<xx?hh<xx?L_<xx?h3<xx?Cy<xx?0:-1:0:-1:w7<xx?Ey<xx?0:-1:0:-1:H2<xx?eh<xx?xv<xx?0:-1:0:u2<xx?C<xx?0:-1:0:P<xx?Kg<xx?wl<xx?b_<xx?cc<xx?W_<xx?0:-1:Tg<xx?i_<xx?0:-1:0:-1:Sb<xx?tv<xx?s7<xx?Ku<xx?0:-1:0:-1:nb<xx?Cf<xx?0:-1:0:-1:aE<xx?Gr<xx?hE<xx?O<xx?0:-1:Uc<xx?Qv<xx?0:-1:0:-1:Un<xx?T3<xx?X_<xx?BC<xx?0:-1:0:-1:p2<xx?dy<xx?0:-1:0:-1:Jr<xx?uv<xx?Gc<xx?mo<xx?Q3<xx?vD<xx?yv<xx?Qd<xx?e7<xx?Jh<xx?0:-1:0:-1:u7<xx?b2<xx?0:-1:0:-1:BD<xx?0:oE<xx?bg<xx?0:-1:0:-1:B3<xx?0:sE<xx?G2<xx?pa<xx?o7<xx?0:-1:0:-1:0:-1:r_<xx?$y<xx?U3<xx?X7<xx?C7<xx?wh<xx?L7<xx?0:-1:0:-1:Zy<xx?t8<xx?0:-1:0:LC<xx?jp<xx?0:-1:F3<xx?lE<xx?0:-1:0:-1:UD<xx?uc<xx?tm<xx?C0<xx?0:-1:G0<xx?rD<xx?0:-1:0:-1:0:Qb<xx?N7<xx?D2<xx?Se<xx?D_<xx?_g<xx?MC<xx?hy<xx?ub<xx?ph<xx?$7<xx?yE<xx?0:-1:S0<xx?Dh<xx?0:-1:0:-1:Ko<xx&&kg<xx?o0<xx?0:-1:0:FD<xx?_y<xx?c3<xx&&EC<xx?ho<xx?0:-1:0:-1:Xp<xx?Bp<xx?_u<xx?GD<xx?0:-1:0:-1:Q2<xx?g7<xx?0:-1:0:Y_<xx?NE<xx?n8<xx||Fd<xx?0:SE<xx?Y3<xx?0:-1:0:-1:rs<xx||Pc<xx?0:SC<xx?Bd<xx?0:-1:0:D7<xx?Em<xx?Ju<xx?QE<xx?zm<xx&&sy<xx?mb<xx?0:-1:0:m_<xx&&g3<xx?Gf<xx?0:-1:0:-1:CD<xx?Mg<xx?Yg<xx?If<xx?_c<xx?Uv<xx?0:-1:0:-1:0:-1:0:Mc<xx?wy<xx?CE<xx?EE<xx?vp<xx?D<xx?Ub<xx?0:-1:0:-1:0:NC<xx?0:e3<xx?m3<xx?0:-1:0:-1:j3<xx&&v7<xx&&cv<xx?FC<xx?0:-1:0:Gh<xx?Mm<xx?fi<xx?SD<xx?FE<xx?ri<xx?DD<xx?qD<xx?0:-1:mf<xx?Ep<xx?0:-1:0:-1:0:Nc<xx?Wg<xx?0:My<xx?ib<xx?0:-1:0:UC<xx&&p1<xx?C2<xx?0:-1:0:GE<xx?pm<xx?o2<xx?Dg<xx&&S7<xx?zg<xx?0:-1:0:-1:Tt<xx?y7<xx?cb<xx?M7<xx?0:-1:0:-1:0:0:-1:qv<xx?WC<xx?am<xx?_m<xx?Op<xx?x_<xx?0:-1:lv<xx?ze<xx?0:-1:0:0:x7<xx?Oh<xx?H_<xx?0:$a<xx?Z2<xx?0:-1:0:-1:py<xx?Iy<xx?bd<xx?0:-1:0:v_<xx?Ne<xx?0:-1:0:-1:yo<xx?Yh<xx?xm<xx?fy<xx?o1<xx?Hi<xx?my<xx?0:-1:0:-1:md<xx?ol<xx?0:-1:0:0:-1:_1<xx?za<xx?xl<xx?ws<xx?f7<xx?Iu<xx?0:-1:0:-1:n_<xx?ym<xx?0:-1:0:-1:Il<xx?z_<xx?Bo<xx?xf<xx?0:-1:0:-1:0:-1:vm<xx?Ii<xx?ce<xx?Q7<xx?bh<xx?x3<xx?E2<xx?M<xx&&tD<xx?AE<xx?0:-1:0:pg<xx?Su<xx?qm<xx?t_<xx?0:-1:0:-1:S_<xx?jd<xx?0:-1:0:-1:AC<xx?wE<xx?Zr<xx?Td<xx?t7<xx?0:-1:0:-1:lh<xx?JE<xx?0:-1:0:0:yl<xx?Q_<xx?jf<xx?X2<xx?Wm<xx?0:-1:Kb<xx?_i<xx?0:-1:0:-1:K0<xx?jC<xx?0:-1:Mn<xx?C3<xx?0:-1:0:oy<xx?0:Zv<xx?hb<xx?0:-1:RC<xx?qh<xx?0:-1:0:$f<xx?gy<xx?xD<xx?dC<xx?Xd<xx?Z<xx?Jl<xx?0:-1:0:$C<xx?Ss<xx?0:-1:0:-1:0:Xo<xx?pp<xx?Bs<xx?e8<xx?TC<xx?0:-1:0:-1:Ug<xx?bm<xx?0:-1:0:0:Hu<xx?zC<xx?om<xx?y3<xx?VD<xx?0:-1:TE<xx?Lf<xx?0:-1:0:0:-1:F7<xx?mv<xx?b7<xx?ov<xx?Xn<xx?0:-1:0:Lb<xx?Ky<xx?0:-1:0:-1:dE<xx?K3<xx?H<xx?kb<xx?0:-1:0:-1:0:-1:Vf<xx?Cd<xx?zv<xx?hl<xx?hm<xx?Qp<xx?sC<xx?f0<xx?yD<xx?Th<xx?Qy<xx?0:-1:0:-1:vg<xx?E_<xx?0:-1:0:-1:Sm<xx?Zm<xx?n7<xx?k_<xx?0:-1:0:-1:ot<xx?PD<xx?0:-1:0:B0<xx?e_<xx?iC<xx?Nb<xx?Ob<xx?ab<xx?0:-1:0:-1:Ws<xx?pb<xx?0:-1:0:-1:tC<xx?wv<xx?P2<xx?DE<xx?0:-1:0:-1:Mo<xx?Vg<xx?0:-1:0:-1:Wl<xx?Gd<xx?Sl<xx?O7<xx?mu<xx?0:-1:IC<xx?A0<xx?0:-1:0:c2<xx?jb<xx?Yl<xx?b1<xx?0:-1:0:-1:Dy<xx?oi<xx?0:-1:0:-1:zh<xx?Te<xx?of<xx?Vy<xx?Yu<xx?Ut<xx?0:-1:0:-1:Rv<xx?sv<xx?0:-1:0:-1:U7<xx?Bm<xx?Bv<xx?qg<xx?0:-1:0:-1:jg<xx?cD<xx?0:-1:0:-1:tb<xx?h7<xx?Ay<xx?Wh<xx?_7<xx?rC<xx?hc<xx?Uu<xx?oC<xx?O0<xx?0:-1:0:-1:s1<xx?HD<xx?0:-1:0:-1:Ix<xx?rd<xx?df<xx?tl<xx?0:-1:0:-1:Tm<xx?B2<xx?0:-1:0:-1:Pv<xx?Tp<xx?e0<xx?Xc<xx?a_<xx?0:-1:0:-1:ly<xx?Wp<xx?0:-1:0:mp<xx?Nv<xx?Vh<xx?tf<xx?0:-1:0:-1:rl<xx?aD<xx?0:-1:0:-1:Lv<xx?d0<xx?Gm<xx?Xv<xx?LE<xx?Fg<xx?0:-1:0:Zc<xx?Zb<xx?0:-1:0:E3<xx?0:Qg<xx?wg<xx?0:-1:0:-1:pf<xx?Bh<xx?Id<xx?Ly<xx?R_<xx?U0<xx?0:-1:0:-1:Up<xx?G_<xx?0:-1:0:-1:k3<xx?cy<xx?g0<xx?U1<xx?0:-1:0:-1:qr<xx?De<xx?0:-1:0:-1:Zt<xx?ry<xx?Qm<xx?gm<xx?Ds<xx?a8<xx?ql<xx?wf<xx?L2<xx?xu<xx?jy<xx?Rd<xx?Rb<xx?W3<xx?Y0<xx?0:-1:0:-1:U_<xx?xC<xx?0:-1:0:-1:Jm<xx?Dm<xx?Al<xx?Fl<xx?0:-1:0:-1:F_<xx?Nt<xx?0:-1:0:-1:Ff<xx?0:y2<xx?l1<xx?vy<xx?gd<xx?0:-1:0:-1:Fh<xx?Sh<xx?0:-1:0:-1:P0<xx?W7<xx?YE<xx?i8<xx?dD<xx?Vb<xx?Y7<xx?V0<xx?0:-1:0:-1:av<xx?W<xx?0:-1:0:-1:Vv<xx?gC<xx?Is<xx?cp<xx?0:-1:0:-1:Gb<xx?RE<xx?0:-1:0:-1:y0<xx?Ou<xx?bo<xx?rb<xx?E7<xx?ZD<xx?0:-1:0:-1:Ty<xx?by<xx?0:-1:0:-1:mh<xx?mm<xx?Gg<xx?I3<xx?0:-1:0:-1:li<xx?Av<xx?0:-1:0:-1:La<xx?Uy<xx?Cp<xx?js<xx?q_<xx?lD<xx&&QD<xx?ID<xx?0:-1:0:-1:H1<xx?c0<xx?N_<xx?l2<xx?0:-1:0:-1:kp<xx?Hy<xx?0:-1:0:-1:hf<xx?fE<xx?gb<xx?d<xx?w3<xx?_o<xx?0:-1:0:-1:td<xx?C1<xx?0:-1:0:-1:cE<xx?wb<xx?0:-1:0:Xg<xx?Fv<xx?x8<xx?0:Bb<xx?uC<xx?fb<xx?0:-1:0:fD<xx?nf<xx?0:-1:0:-1:J7<xx?Kt<xx?og<xx?V_<xx?G<xx?Kv<xx?0:-1:0:-1:wm<xx?Jf<xx?0:-1:0:-1:rm<xx&&Fb<xx?kh<xx?0:-1:0:q3<xx?$<xx?x2<xx?Uh<xx?BE<xx&&X3<xx?ts<xx?0:-1:0:J3<xx?G1<xx?qs<xx?0:-1:0:Wv<xx?N3<xx?0:-1:0:0:Hh<xx?$m<xx?0:Sv<xx?_b<xx?0:-1:0:g_<xx?Rc<xx?Ev<xx?PC<xx?Mr<xx?0:-1:0:-1:0:rv<xx?0:$d<xx?Ur<xx?0:-1:0:nx<xx?ZE<xx?qa<xx?0:Eg<xx&&JD<xx?M2<xx?0:-1:0:ip<xx?K7<xx?0:$c<xx?Vm<xx?0:-1:0:gt<xx&&R7<xx?Mf<xx?0:-1:0:z7<xx?_<xx?0:zd<xx?bC<xx?0:-1:eC<xx?L3<xx?0:-1:0:Sy<xx?wC<xx?cl<xx?0:-1:0:ng<xx?0:zy<xx?Pf<xx?0:-1:0:-1:Hp<xx?lg<xx?I1<xx?h_<xx?Rl<xx?ev<xx?IE<xx?r8<xx?PE<xx?0:-1:sp<xx?D3<xx?0:-1:0:fh<xx?0:A3<xx?Ip<xx?0:-1:0:-1:0:p8<xx?Hf<xx?0:Dv<xx?Px<xx?Pe<xx?kD<xx?0:-1:0:-1:0:By<xx?wd<xx&&$b<xx?ny<xx?0:-1:0:_E<xx?$v<xx?iy<xx?em<xx?0:-1:0:-1:0:Lo<xx?sf<xx?Zd<xx?R0<xx?0:v3<xx?CC<xx?zl<xx?iD<xx?0:-1:0:-1:0:ig<xx?m2<xx?rp<xx&&gD<xx?Ed<xx?0:-1:0:-1:bn<xx?__<xx?0:-1:0:-1:i7<xx?Fo<xx?nd<xx?Y2<xx?nC<xx?0:Wb<xx?cg<xx?0:-1:0:-1:Eh<xx?wu<xx?T_<xx?lp<xx?0:-1:0:-1:sb<xx?ds<xx?0:-1:0:-1:vh<xx?dv<xx?Hx<xx?Tv<xx?Rp<xx?0:-1:0:xi<xx?af<xx?0:-1:0:-1:0:-1:mE<xx?bf<xx?Ib<xx?r7<xx?sh<xx?I0<xx?Lm<xx?qf<xx&&_t<xx?ep<xx?0:-1:0:-1:HE<xx&&kC<xx?Hg<xx?0:-1:0:-1:s2<xx?rx<xx?AD<xx?0:Nf<xx?h2<xx?0:-1:0:-1:Ah<xx?uh<xx?Ch<xx?hD<xx?0:-1:0:-1:Zg<xx?q7<xx?0:-1:0:-1:_v<xx?f3<xx?Cv<xx?ay<xx?Yy<xx?hg<xx?Md<xx?Ro<xx?0:-1:0:-1:ND<xx?$h<xx?0:-1:0:-1:kf<xx?Of<xx?0:-1:TD<xx?nv<xx?0:-1:0:-1:R3<xx?ch<xx?y_<xx?WD<xx?Js<xx?0:-1:0:-1:Ap<xx?qb<xx?0:-1:0:Mb<xx?ht<xx?0:-1:0:pl<xx?d7<xx?Uf<xx?nl<xx?Km<xx?j<xx?_d<xx?G7<xx?xb<xx?0:-1:0:-1:D0<xx?H7<xx?0:-1:0:Vp<xx?w_<xx?0:-1:a3<xx?Sg<xx?0:-1:0:-1:zD<xx?bE<xx&&Yv<xx?Ry<xx?0:-1:0:oc<xx?$i<xx?0:-1:XD<xx?t3<xx?0:-1:0:-1:$e<xx?ah<xx?Bi<xx?d_<xx?Pu<xx?j2<xx?an<xx?0:-1:0:z3<xx?Yb<xx?0:-1:0:-1:zb<xx?B_<xx?nm<xx?eD<xx?0:-1:0:-1:ug<xx?T7<xx?0:-1:0:-1:Z7<xx?Yi<xx?J_<xx?Dd<xx?W1<xx?Oy<xx?0:-1:0:-1:M_<xx?Z3<xx?0:-1:0:-1:eb<xx?im<xx?qC<xx?Rf<xx?0:-1:0:-1:Np<xx?Kc<xx?0:-1:0:-1:fr(oY1,xx+Kd|0)-1|0:-1;else lS=-1;if(4<lS>>>0)Mx=Zx(x);else switch(lS){case 0:Mx=L(x);break;case 1:Mx=v(x);break;case 2:Qe(x,87);var dk=VU(Rx(x));if(2<dk>>>0)Mx=Zx(x);else switch(dk){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var h5=V4(Rx(x));if(2<h5>>>0)Mx=Zx(x);else switch(h5){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,49);var Tk=_h(Rx(x));Mx=Tk===0?L(x):Tk===1?v(x):Zx(x)}}break;case 3:Qe(x,87);var _w=JV(Rx(x));if(2<_w>>>0)Mx=Zx(x);else switch(_w){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var mk=Kt0(Rx(x));if(2<mk>>>0)Mx=Zx(x);else switch(mk){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,50);var Rw=_h(Rx(x));Mx=Rw===0?L(x):Rw===1?v(x):Zx(x)}}break;default:Qe(x,87);var SN=Rx(x);if(SN)var fx=SN[1],T9=35<fx?C_<fx?ha<fx?vs<fx?-1:ne<fx?Mu<fx?Nh<fx?_D<fx?O2<fx?a7<fx?uy<fx?pE<fx?Jg<fx?0:-1:$D<fx?ks<fx?0:-1:0:-1:N2<fx?up<fx?A7<fx?A_<fx?0:-1:0:-1:e<fx?Xf<fx?0:-1:0:-1:Ld<fx?w1<fx?Zo<fx?Ov<fx?pv<fx?mg<fx?Xy<fx?Cm<fx?ob<fx?Sd<fx?0:-1:0:-1:d2<fx?qt<fx?0:-1:0:-1:Am<fx?$_<fx?Bt<fx?Pp<fx?0:-1:0:-1:Fc<fx?_3<fx?0:-1:0:-1:yy<fx?sn<fx?G3<fx?jl<fx?vd<fx?Hb<fx?0:-1:0:-1:Gt<fx?aC<fx?0:-1:0:-1:_e<fx?Ac<fx?Gv<fx?op<fx?0:-1:0:-1:Zl<fx?Jv<fx?0:-1:0:-1:I_<fx?Pb<fx?gg<fx?ih<fx?m7<fx?P7<fx?np<fx?bv<fx?0:-1:0:-1:Yp<fx?Rg<fx?0:-1:0:-1:dp<fx?V7<fx?Kh<fx?Xl<fx?0:-1:0:-1:oD<fx?Jb<fx?0:-1:0:-1:Us<fx?dd<fx?hv<fx?Dp<fx?jv<fx?Zp<fx?0:-1:0:-1:bD<fx?V3<fx?0:-1:0:-1:gv<fx?iv<fx?oh<fx?Ym<fx?0:-1:0:-1:Gy<fx?p7<fx?0:-1:0:-1:fp<fx?Ef<fx?c7<fx?l0<fx?Z1<fx?Hr<fx?Eb<fx?Xb<fx?OD<fx?R2<fx?kE<fx?Iv<fx?0:-1:0:-1:0:Ox<fx?Kf<fx?gE<fx?Va<fx?0:-1:0:-1:ge<fx?_l<fx?0:-1:0:pD<fx?vE<fx?ky<fx?wp<fx?0:-1:p3<fx?Ih<fx?0:-1:0:-1:MD<fx?OC<fx?0:-1:KC<fx?r3<fx?0:-1:0:-1:I2<fx?lo<fx?Re<fx?yC<fx?ME<fx?db<fx?fg<fx?Wy<fx?0:-1:0:-1:XE<fx?xd<fx?0:-1:0:-1:Wa<fx?yc<fx?S3<fx?Kl<fx?0:-1:0:-1:Fy<fx?xc<fx?0:-1:0:-1:ka<fx?Kp<fx?uE<fx?Lg<fx?_C<fx?OE<fx?0:-1:0:-1:v2<fx?Hm<fx?0:-1:0:-1:Wx<fx?ff<fx?Tb<fx?Fm<fx?0:-1:0:-1:b3<fx?k7<fx?0:-1:0:-1:d3<fx?Ad<fx?P3<fx?Yd<fx?eu<fx?l7<fx?Mt<fx?v1<fx?Cg<fx?Xm<fx?0:-1:0:-1:zf<fx?mD<fx?0:-1:0:-1:Mv<fx?tt<fx?Pm<fx?ld<fx?0:-1:0:-1:$3<fx?zp<fx?0:-1:0:-1:qx<fx?n3<fx?YD<fx?uD<fx?I7<fx?fl<fx?0:-1:0:-1:al<fx?j_<fx?0:-1:0:-1:Cc<fx?N1<fx?O_<fx?B7<fx?0:-1:0:-1:pd<fx?dm<fx?0:-1:0:-1:N0<fx?Xh<fx?dh<fx?dg<fx?b0<fx?bp<fx?Nl<fx?Ph<fx?0:-1:0:-1:M3<fx?lb<fx?0:-1:0:-1:rc<fx?ec<fx?P_<fx?Ud<fx?0:-1:0:-1:fv<fx?K_<fx?0:-1:0:-1:Om<fx?Ag<fx?rf<fx?O3<fx?Fn<fx?bt<fx?0:-1:0:-1:U<fx?j7<fx?0:-1:0:-1:DC<fx?ed<fx?Im<fx?i3<fx?0:-1:0:-1:0:-1:kv<fx?Hd<fx?Jy<fx?Za<fx?wD<fx?E1<fx?ag<fx?xh<fx?Hv<fx?vv<fx?l3<fx?0:-1:0:-1:H3<fx?co<fx?0:-1:0:-1:LD<fx?ex<fx?qy<fx?nD<fx?0:-1:0:-1:ED<fx?Pa<fx?0:-1:0:-1:sD<fx?th<fx?hh<fx?L_<fx?h3<fx?Cy<fx?0:-1:0:-1:w7<fx?Ey<fx?0:-1:0:-1:H2<fx?eh<fx?xv<fx?0:-1:0:u2<fx?C<fx?0:-1:0:P<fx?Kg<fx?wl<fx?b_<fx?cc<fx?W_<fx?0:-1:Tg<fx?i_<fx?0:-1:0:-1:Sb<fx?tv<fx?s7<fx?Ku<fx?0:-1:0:-1:nb<fx?Cf<fx?0:-1:0:-1:aE<fx?Gr<fx?hE<fx?O<fx?0:-1:Uc<fx?Qv<fx?0:-1:0:-1:Un<fx?T3<fx?X_<fx?BC<fx?0:-1:0:-1:p2<fx?dy<fx?0:-1:0:-1:Jr<fx?uv<fx?Gc<fx?mo<fx?Q3<fx?vD<fx?yv<fx?Qd<fx?e7<fx?Jh<fx?0:-1:0:-1:u7<fx?b2<fx?0:-1:0:-1:BD<fx?0:oE<fx?bg<fx?0:-1:0:-1:B3<fx?0:sE<fx?G2<fx?pa<fx?o7<fx?0:-1:0:-1:0:-1:r_<fx?$y<fx?U3<fx?X7<fx?C7<fx?wh<fx?L7<fx?0:-1:0:-1:Zy<fx?t8<fx?0:-1:0:LC<fx?jp<fx?0:-1:F3<fx?lE<fx?0:-1:0:-1:UD<fx?uc<fx?tm<fx?C0<fx?0:-1:G0<fx?rD<fx?0:-1:0:-1:0:Qb<fx?N7<fx?D2<fx?Se<fx?D_<fx?_g<fx?MC<fx?hy<fx?ub<fx?ph<fx?$7<fx?yE<fx?0:-1:S0<fx?Dh<fx?0:-1:0:-1:Ko<fx&&kg<fx?o0<fx?0:-1:0:FD<fx?_y<fx?c3<fx&&EC<fx?ho<fx?0:-1:0:-1:Xp<fx?Bp<fx?_u<fx?GD<fx?0:-1:0:-1:Q2<fx?g7<fx?0:-1:0:Y_<fx?NE<fx?n8<fx||Fd<fx?0:SE<fx?Y3<fx?0:-1:0:-1:rs<fx||Pc<fx?0:SC<fx?Bd<fx?0:-1:0:D7<fx?Em<fx?Ju<fx?QE<fx?zm<fx&&sy<fx?mb<fx?0:-1:0:m_<fx&&g3<fx?Gf<fx?0:-1:0:-1:CD<fx?Mg<fx?Yg<fx?If<fx?_c<fx?Uv<fx?0:-1:0:-1:0:-1:0:Mc<fx?wy<fx?CE<fx?EE<fx?vp<fx?D<fx?Ub<fx?0:-1:0:-1:0:NC<fx?0:e3<fx?m3<fx?0:-1:0:-1:j3<fx&&v7<fx&&cv<fx?FC<fx?0:-1:0:Gh<fx?Mm<fx?fi<fx?SD<fx?FE<fx?ri<fx?DD<fx?qD<fx?0:-1:mf<fx?Ep<fx?0:-1:0:-1:0:Nc<fx?Wg<fx?0:My<fx?ib<fx?0:-1:0:UC<fx&&p1<fx?C2<fx?0:-1:0:GE<fx?pm<fx?o2<fx?Dg<fx&&S7<fx?zg<fx?0:-1:0:-1:Tt<fx?y7<fx?cb<fx?M7<fx?0:-1:0:-1:0:0:-1:qv<fx?WC<fx?am<fx?_m<fx?Op<fx?x_<fx?0:-1:lv<fx?ze<fx?0:-1:0:0:x7<fx?Oh<fx?H_<fx?0:$a<fx?Z2<fx?0:-1:0:-1:py<fx?Iy<fx?bd<fx?0:-1:0:v_<fx?Ne<fx?0:-1:0:-1:yo<fx?Yh<fx?xm<fx?fy<fx?o1<fx?Hi<fx?my<fx?0:-1:0:-1:md<fx?ol<fx?0:-1:0:0:-1:_1<fx?za<fx?xl<fx?ws<fx?f7<fx?Iu<fx?0:-1:0:-1:n_<fx?ym<fx?0:-1:0:-1:Il<fx?z_<fx?Bo<fx?xf<fx?0:-1:0:-1:0:-1:vm<fx?Ii<fx?ce<fx?Q7<fx?bh<fx?x3<fx?E2<fx?M<fx&&tD<fx?AE<fx?0:-1:0:pg<fx?Su<fx?qm<fx?t_<fx?0:-1:0:-1:S_<fx?jd<fx?0:-1:0:-1:AC<fx?wE<fx?Zr<fx?Td<fx?t7<fx?0:-1:0:-1:lh<fx?JE<fx?0:-1:0:0:yl<fx?Q_<fx?jf<fx?X2<fx?Wm<fx?0:-1:Kb<fx?_i<fx?0:-1:0:-1:K0<fx?jC<fx?0:-1:Mn<fx?C3<fx?0:-1:0:oy<fx?0:Zv<fx?hb<fx?0:-1:RC<fx?qh<fx?0:-1:0:$f<fx?gy<fx?xD<fx?dC<fx?Xd<fx?Z<fx?Jl<fx?0:-1:0:$C<fx?Ss<fx?0:-1:0:-1:0:Xo<fx?pp<fx?Bs<fx?e8<fx?TC<fx?0:-1:0:-1:Ug<fx?bm<fx?0:-1:0:0:Hu<fx?zC<fx?om<fx?y3<fx?VD<fx?0:-1:TE<fx?Lf<fx?0:-1:0:0:-1:F7<fx?mv<fx?b7<fx?ov<fx?Xn<fx?0:-1:0:Lb<fx?Ky<fx?0:-1:0:-1:dE<fx?K3<fx?H<fx?kb<fx?0:-1:0:-1:0:-1:Vf<fx?Cd<fx?zv<fx?hl<fx?hm<fx?Qp<fx?sC<fx?f0<fx?yD<fx?Th<fx?Qy<fx?0:-1:0:-1:vg<fx?E_<fx?0:-1:0:-1:Sm<fx?Zm<fx?n7<fx?k_<fx?0:-1:0:-1:ot<fx?PD<fx?0:-1:0:B0<fx?e_<fx?iC<fx?Nb<fx?Ob<fx?ab<fx?0:-1:0:-1:Ws<fx?pb<fx?0:-1:0:-1:tC<fx?wv<fx?P2<fx?DE<fx?0:-1:0:-1:Mo<fx?Vg<fx?0:-1:0:-1:Wl<fx?Gd<fx?Sl<fx?O7<fx?mu<fx?0:-1:IC<fx?A0<fx?0:-1:0:c2<fx?jb<fx?Yl<fx?b1<fx?0:-1:0:-1:Dy<fx?oi<fx?0:-1:0:-1:zh<fx?Te<fx?of<fx?Vy<fx?Yu<fx?Ut<fx?0:-1:0:-1:Rv<fx?sv<fx?0:-1:0:-1:U7<fx?Bm<fx?Bv<fx?qg<fx?0:-1:0:-1:jg<fx?cD<fx?0:-1:0:-1:tb<fx?h7<fx?Ay<fx?Wh<fx?_7<fx?rC<fx?hc<fx?Uu<fx?oC<fx?O0<fx?0:-1:0:-1:s1<fx?HD<fx?0:-1:0:-1:Ix<fx?rd<fx?df<fx?tl<fx?0:-1:0:-1:Tm<fx?B2<fx?0:-1:0:-1:Pv<fx?Tp<fx?e0<fx?Xc<fx?a_<fx?0:-1:0:-1:ly<fx?Wp<fx?0:-1:0:mp<fx?Nv<fx?Vh<fx?tf<fx?0:-1:0:-1:rl<fx?aD<fx?0:-1:0:-1:Lv<fx?d0<fx?Gm<fx?Xv<fx?LE<fx?Fg<fx?0:-1:0:Zc<fx?Zb<fx?0:-1:0:E3<fx?0:Qg<fx?wg<fx?0:-1:0:-1:pf<fx?Bh<fx?Id<fx?Ly<fx?R_<fx?U0<fx?0:-1:0:-1:Up<fx?G_<fx?0:-1:0:-1:k3<fx?cy<fx?g0<fx?U1<fx?0:-1:0:-1:qr<fx?De<fx?0:-1:0:-1:Zt<fx?ry<fx?Qm<fx?gm<fx?Ds<fx?a8<fx?ql<fx?wf<fx?L2<fx?xu<fx?jy<fx?Rd<fx?Rb<fx?W3<fx?Y0<fx?0:-1:0:-1:U_<fx?xC<fx?0:-1:0:-1:Jm<fx?Dm<fx?Al<fx?Fl<fx?0:-1:0:-1:F_<fx?Nt<fx?0:-1:0:-1:Ff<fx?0:y2<fx?l1<fx?vy<fx?gd<fx?0:-1:0:-1:Fh<fx?Sh<fx?0:-1:0:-1:P0<fx?W7<fx?YE<fx?i8<fx?dD<fx?Vb<fx?Y7<fx?V0<fx?0:-1:0:-1:av<fx?W<fx?0:-1:0:-1:Vv<fx?gC<fx?Is<fx?cp<fx?0:-1:0:-1:Gb<fx?RE<fx?0:-1:0:-1:y0<fx?Ou<fx?bo<fx?rb<fx?E7<fx?ZD<fx?0:-1:0:-1:Ty<fx?by<fx?0:-1:0:-1:mh<fx?mm<fx?Gg<fx?I3<fx?0:-1:0:-1:li<fx?Av<fx?0:-1:0:-1:La<fx?Uy<fx?Cp<fx?js<fx?q_<fx?lD<fx&&QD<fx?ID<fx?0:-1:0:-1:H1<fx?c0<fx?N_<fx?l2<fx?0:-1:0:-1:kp<fx?Hy<fx?0:-1:0:-1:hf<fx?fE<fx?gb<fx?d<fx?w3<fx?_o<fx?0:-1:0:-1:td<fx?C1<fx?0:-1:0:-1:cE<fx?wb<fx?0:-1:0:Xg<fx?Fv<fx?x8<fx?0:Bb<fx?uC<fx?fb<fx?0:-1:0:fD<fx?nf<fx?0:-1:0:-1:J7<fx?Kt<fx?og<fx?V_<fx?G<fx?Kv<fx?0:-1:0:-1:wm<fx?Jf<fx?0:-1:0:-1:rm<fx&&Fb<fx?kh<fx?0:-1:0:q3<fx?$<fx?x2<fx?Uh<fx?BE<fx&&X3<fx?ts<fx?0:-1:0:J3<fx?G1<fx?qs<fx?0:-1:0:Wv<fx?N3<fx?0:-1:0:0:Hh<fx?$m<fx?0:Sv<fx?_b<fx?0:-1:0:g_<fx?Rc<fx?Ev<fx?PC<fx?Mr<fx?0:-1:0:-1:0:rv<fx?0:$d<fx?Ur<fx?0:-1:0:nx<fx?ZE<fx?qa<fx?0:Eg<fx&&JD<fx?M2<fx?0:-1:0:ip<fx?K7<fx?0:$c<fx?Vm<fx?0:-1:0:gt<fx&&R7<fx?Mf<fx?0:-1:0:z7<fx?_<fx?0:zd<fx?bC<fx?0:-1:eC<fx?L3<fx?0:-1:0:Sy<fx?wC<fx?cl<fx?0:-1:0:ng<fx?0:zy<fx?Pf<fx?0:-1:0:-1:Hp<fx?lg<fx?I1<fx?h_<fx?Rl<fx?ev<fx?IE<fx?r8<fx?PE<fx?0:-1:sp<fx?D3<fx?0:-1:0:fh<fx?0:A3<fx?Ip<fx?0:-1:0:-1:0:p8<fx?Hf<fx?0:Dv<fx?Px<fx?Pe<fx?kD<fx?0:-1:0:-1:0:By<fx?wd<fx&&$b<fx?ny<fx?0:-1:0:_E<fx?$v<fx?iy<fx?em<fx?0:-1:0:-1:0:Lo<fx?sf<fx?Zd<fx?R0<fx?0:v3<fx?CC<fx?zl<fx?iD<fx?0:-1:0:-1:0:ig<fx?m2<fx?rp<fx&&gD<fx?Ed<fx?0:-1:0:-1:bn<fx?__<fx?0:-1:0:-1:i7<fx?Fo<fx?nd<fx?Y2<fx?nC<fx?0:Wb<fx?cg<fx?0:-1:0:-1:Eh<fx?wu<fx?T_<fx?lp<fx?0:-1:0:-1:sb<fx?ds<fx?0:-1:0:-1:vh<fx?dv<fx?Hx<fx?Tv<fx?Rp<fx?0:-1:0:xi<fx?af<fx?0:-1:0:-1:0:-1:mE<fx?bf<fx?Ib<fx?r7<fx?sh<fx?I0<fx?Lm<fx?qf<fx&&_t<fx?ep<fx?0:-1:0:-1:HE<fx&&kC<fx?Hg<fx?0:-1:0:-1:s2<fx?rx<fx?AD<fx?0:Nf<fx?h2<fx?0:-1:0:-1:Ah<fx?uh<fx?Ch<fx?hD<fx?0:-1:0:-1:Zg<fx?q7<fx?0:-1:0:-1:_v<fx?f3<fx?Cv<fx?ay<fx?Yy<fx?hg<fx?Md<fx?Ro<fx?0:-1:0:-1:ND<fx?$h<fx?0:-1:0:-1:kf<fx?Of<fx?0:-1:TD<fx?nv<fx?0:-1:0:-1:R3<fx?ch<fx?y_<fx?WD<fx?Js<fx?0:-1:0:-1:Ap<fx?qb<fx?0:-1:0:Mb<fx?ht<fx?0:-1:0:pl<fx?d7<fx?Uf<fx?nl<fx?Km<fx?j<fx?_d<fx?G7<fx?xb<fx?0:-1:0:-1:D0<fx?H7<fx?0:-1:0:Vp<fx?w_<fx?0:-1:a3<fx?Sg<fx?0:-1:0:-1:zD<fx?bE<fx&&Yv<fx?Ry<fx?0:-1:0:oc<fx?$i<fx?0:-1:XD<fx?t3<fx?0:-1:0:-1:$e<fx?ah<fx?Bi<fx?d_<fx?Pu<fx?j2<fx?an<fx?0:-1:0:z3<fx?Yb<fx?0:-1:0:-1:zb<fx?B_<fx?nm<fx?eD<fx?0:-1:0:-1:ug<fx?T7<fx?0:-1:0:-1:Z7<fx?Yi<fx?J_<fx?Dd<fx?W1<fx?Oy<fx?0:-1:0:-1:M_<fx?Z3<fx?0:-1:0:-1:eb<fx?im<fx?qC<fx?Rf<fx?0:-1:0:-1:Np<fx?Kc<fx?0:-1:0:-1:fr(GX1,fx+Kd|0)-1|0:-1;else T9=-1;if(3<T9>>>0)Mx=Zx(x);else switch(T9){case 0:Mx=L(x);break;case 1:Mx=v(x);break;case 2:Qe(x,87);var FN=$U(Rx(x));if(2<FN>>>0)Mx=Zx(x);else switch(FN){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var Xk=FL(Rx(x));if(2<Xk>>>0)Mx=Zx(x);else switch(Xk){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var wk=qk(Rx(x));if(2<wk>>>0)Mx=Zx(x);else switch(wk){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,51);var kk=_h(Rx(x));Mx=kk===0?L(x):kk===1?v(x):Zx(x)}}}break;default:Qe(x,87);var w9=V4(Rx(x));if(2<w9>>>0)Mx=Zx(x);else switch(w9){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var AN=PP(Rx(x));if(2<AN>>>0)Mx=Zx(x);else switch(AN){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var l9=OK(Rx(x));if(2<l9>>>0)Mx=Zx(x);else switch(l9){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var AI=VU(Rx(x));if(2<AI>>>0)Mx=Zx(x);else switch(AI){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,52);var cO=_h(Rx(x));Mx=cO===0?L(x):cO===1?v(x):Zx(x)}}}}}}break;case 38:Qe(x,87);var MP=Rx(x);if(MP)var c1=MP[1],na=35<c1?C_<c1?ha<c1?vs<c1?-1:ne<c1?Mu<c1?Nh<c1?_D<c1?O2<c1?a7<c1?uy<c1?pE<c1?Jg<c1?0:-1:$D<c1?ks<c1?0:-1:0:-1:N2<c1?up<c1?A7<c1?A_<c1?0:-1:0:-1:e<c1?Xf<c1?0:-1:0:-1:Ld<c1?w1<c1?Zo<c1?Ov<c1?pv<c1?mg<c1?Xy<c1?Cm<c1?ob<c1?Sd<c1?0:-1:0:-1:d2<c1?qt<c1?0:-1:0:-1:Am<c1?$_<c1?Bt<c1?Pp<c1?0:-1:0:-1:Fc<c1?_3<c1?0:-1:0:-1:yy<c1?sn<c1?G3<c1?jl<c1?vd<c1?Hb<c1?0:-1:0:-1:Gt<c1?aC<c1?0:-1:0:-1:_e<c1?Ac<c1?Gv<c1?op<c1?0:-1:0:-1:Zl<c1?Jv<c1?0:-1:0:-1:I_<c1?Pb<c1?gg<c1?ih<c1?m7<c1?P7<c1?np<c1?bv<c1?0:-1:0:-1:Yp<c1?Rg<c1?0:-1:0:-1:dp<c1?V7<c1?Kh<c1?Xl<c1?0:-1:0:-1:oD<c1?Jb<c1?0:-1:0:-1:Us<c1?dd<c1?hv<c1?Dp<c1?jv<c1?Zp<c1?0:-1:0:-1:bD<c1?V3<c1?0:-1:0:-1:gv<c1?iv<c1?oh<c1?Ym<c1?0:-1:0:-1:Gy<c1?p7<c1?0:-1:0:-1:fp<c1?Ef<c1?c7<c1?l0<c1?Z1<c1?Hr<c1?Eb<c1?Xb<c1?OD<c1?R2<c1?kE<c1?Iv<c1?0:-1:0:-1:0:Ox<c1?Kf<c1?gE<c1?Va<c1?0:-1:0:-1:ge<c1?_l<c1?0:-1:0:pD<c1?vE<c1?ky<c1?wp<c1?0:-1:p3<c1?Ih<c1?0:-1:0:-1:MD<c1?OC<c1?0:-1:KC<c1?r3<c1?0:-1:0:-1:I2<c1?lo<c1?Re<c1?yC<c1?ME<c1?db<c1?fg<c1?Wy<c1?0:-1:0:-1:XE<c1?xd<c1?0:-1:0:-1:Wa<c1?yc<c1?S3<c1?Kl<c1?0:-1:0:-1:Fy<c1?xc<c1?0:-1:0:-1:ka<c1?Kp<c1?uE<c1?Lg<c1?_C<c1?OE<c1?0:-1:0:-1:v2<c1?Hm<c1?0:-1:0:-1:Wx<c1?ff<c1?Tb<c1?Fm<c1?0:-1:0:-1:b3<c1?k7<c1?0:-1:0:-1:d3<c1?Ad<c1?P3<c1?Yd<c1?eu<c1?l7<c1?Mt<c1?v1<c1?Cg<c1?Xm<c1?0:-1:0:-1:zf<c1?mD<c1?0:-1:0:-1:Mv<c1?tt<c1?Pm<c1?ld<c1?0:-1:0:-1:$3<c1?zp<c1?0:-1:0:-1:qx<c1?n3<c1?YD<c1?uD<c1?I7<c1?fl<c1?0:-1:0:-1:al<c1?j_<c1?0:-1:0:-1:Cc<c1?N1<c1?O_<c1?B7<c1?0:-1:0:-1:pd<c1?dm<c1?0:-1:0:-1:N0<c1?Xh<c1?dh<c1?dg<c1?b0<c1?bp<c1?Nl<c1?Ph<c1?0:-1:0:-1:M3<c1?lb<c1?0:-1:0:-1:rc<c1?ec<c1?P_<c1?Ud<c1?0:-1:0:-1:fv<c1?K_<c1?0:-1:0:-1:Om<c1?Ag<c1?rf<c1?O3<c1?Fn<c1?bt<c1?0:-1:0:-1:U<c1?j7<c1?0:-1:0:-1:DC<c1?ed<c1?Im<c1?i3<c1?0:-1:0:-1:0:-1:kv<c1?Hd<c1?Jy<c1?Za<c1?wD<c1?E1<c1?ag<c1?xh<c1?Hv<c1?vv<c1?l3<c1?0:-1:0:-1:H3<c1?co<c1?0:-1:0:-1:LD<c1?ex<c1?qy<c1?nD<c1?0:-1:0:-1:ED<c1?Pa<c1?0:-1:0:-1:sD<c1?th<c1?hh<c1?L_<c1?h3<c1?Cy<c1?0:-1:0:-1:w7<c1?Ey<c1?0:-1:0:-1:H2<c1?eh<c1?xv<c1?0:-1:0:u2<c1?C<c1?0:-1:0:P<c1?Kg<c1?wl<c1?b_<c1?cc<c1?W_<c1?0:-1:Tg<c1?i_<c1?0:-1:0:-1:Sb<c1?tv<c1?s7<c1?Ku<c1?0:-1:0:-1:nb<c1?Cf<c1?0:-1:0:-1:aE<c1?Gr<c1?hE<c1?O<c1?0:-1:Uc<c1?Qv<c1?0:-1:0:-1:Un<c1?T3<c1?X_<c1?BC<c1?0:-1:0:-1:p2<c1?dy<c1?0:-1:0:-1:Jr<c1?uv<c1?Gc<c1?mo<c1?Q3<c1?vD<c1?yv<c1?Qd<c1?e7<c1?Jh<c1?0:-1:0:-1:u7<c1?b2<c1?0:-1:0:-1:BD<c1?0:oE<c1?bg<c1?0:-1:0:-1:B3<c1?0:sE<c1?G2<c1?pa<c1?o7<c1?0:-1:0:-1:0:-1:r_<c1?$y<c1?U3<c1?X7<c1?C7<c1?wh<c1?L7<c1?0:-1:0:-1:Zy<c1?t8<c1?0:-1:0:LC<c1?jp<c1?0:-1:F3<c1?lE<c1?0:-1:0:-1:UD<c1?uc<c1?tm<c1?C0<c1?0:-1:G0<c1?rD<c1?0:-1:0:-1:0:Qb<c1?N7<c1?D2<c1?Se<c1?D_<c1?_g<c1?MC<c1?hy<c1?ub<c1?ph<c1?$7<c1?yE<c1?0:-1:S0<c1?Dh<c1?0:-1:0:-1:Ko<c1&&kg<c1?o0<c1?0:-1:0:FD<c1?_y<c1?c3<c1&&EC<c1?ho<c1?0:-1:0:-1:Xp<c1?Bp<c1?_u<c1?GD<c1?0:-1:0:-1:Q2<c1?g7<c1?0:-1:0:Y_<c1?NE<c1?n8<c1||Fd<c1?0:SE<c1?Y3<c1?0:-1:0:-1:rs<c1||Pc<c1?0:SC<c1?Bd<c1?0:-1:0:D7<c1?Em<c1?Ju<c1?QE<c1?zm<c1&&sy<c1?mb<c1?0:-1:0:m_<c1&&g3<c1?Gf<c1?0:-1:0:-1:CD<c1?Mg<c1?Yg<c1?If<c1?_c<c1?Uv<c1?0:-1:0:-1:0:-1:0:Mc<c1?wy<c1?CE<c1?EE<c1?vp<c1?D<c1?Ub<c1?0:-1:0:-1:0:NC<c1?0:e3<c1?m3<c1?0:-1:0:-1:j3<c1&&v7<c1&&cv<c1?FC<c1?0:-1:0:Gh<c1?Mm<c1?fi<c1?SD<c1?FE<c1?ri<c1?DD<c1?qD<c1?0:-1:mf<c1?Ep<c1?0:-1:0:-1:0:Nc<c1?Wg<c1?0:My<c1?ib<c1?0:-1:0:UC<c1&&p1<c1?C2<c1?0:-1:0:GE<c1?pm<c1?o2<c1?Dg<c1&&S7<c1?zg<c1?0:-1:0:-1:Tt<c1?y7<c1?cb<c1?M7<c1?0:-1:0:-1:0:0:-1:qv<c1?WC<c1?am<c1?_m<c1?Op<c1?x_<c1?0:-1:lv<c1?ze<c1?0:-1:0:0:x7<c1?Oh<c1?H_<c1?0:$a<c1?Z2<c1?0:-1:0:-1:py<c1?Iy<c1?bd<c1?0:-1:0:v_<c1?Ne<c1?0:-1:0:-1:yo<c1?Yh<c1?xm<c1?fy<c1?o1<c1?Hi<c1?my<c1?0:-1:0:-1:md<c1?ol<c1?0:-1:0:0:-1:_1<c1?za<c1?xl<c1?ws<c1?f7<c1?Iu<c1?0:-1:0:-1:n_<c1?ym<c1?0:-1:0:-1:Il<c1?z_<c1?Bo<c1?xf<c1?0:-1:0:-1:0:-1:vm<c1?Ii<c1?ce<c1?Q7<c1?bh<c1?x3<c1?E2<c1?M<c1&&tD<c1?AE<c1?0:-1:0:pg<c1?Su<c1?qm<c1?t_<c1?0:-1:0:-1:S_<c1?jd<c1?0:-1:0:-1:AC<c1?wE<c1?Zr<c1?Td<c1?t7<c1?0:-1:0:-1:lh<c1?JE<c1?0:-1:0:0:yl<c1?Q_<c1?jf<c1?X2<c1?Wm<c1?0:-1:Kb<c1?_i<c1?0:-1:0:-1:K0<c1?jC<c1?0:-1:Mn<c1?C3<c1?0:-1:0:oy<c1?0:Zv<c1?hb<c1?0:-1:RC<c1?qh<c1?0:-1:0:$f<c1?gy<c1?xD<c1?dC<c1?Xd<c1?Z<c1?Jl<c1?0:-1:0:$C<c1?Ss<c1?0:-1:0:-1:0:Xo<c1?pp<c1?Bs<c1?e8<c1?TC<c1?0:-1:0:-1:Ug<c1?bm<c1?0:-1:0:0:Hu<c1?zC<c1?om<c1?y3<c1?VD<c1?0:-1:TE<c1?Lf<c1?0:-1:0:0:-1:F7<c1?mv<c1?b7<c1?ov<c1?Xn<c1?0:-1:0:Lb<c1?Ky<c1?0:-1:0:-1:dE<c1?K3<c1?H<c1?kb<c1?0:-1:0:-1:0:-1:Vf<c1?Cd<c1?zv<c1?hl<c1?hm<c1?Qp<c1?sC<c1?f0<c1?yD<c1?Th<c1?Qy<c1?0:-1:0:-1:vg<c1?E_<c1?0:-1:0:-1:Sm<c1?Zm<c1?n7<c1?k_<c1?0:-1:0:-1:ot<c1?PD<c1?0:-1:0:B0<c1?e_<c1?iC<c1?Nb<c1?Ob<c1?ab<c1?0:-1:0:-1:Ws<c1?pb<c1?0:-1:0:-1:tC<c1?wv<c1?P2<c1?DE<c1?0:-1:0:-1:Mo<c1?Vg<c1?0:-1:0:-1:Wl<c1?Gd<c1?Sl<c1?O7<c1?mu<c1?0:-1:IC<c1?A0<c1?0:-1:0:c2<c1?jb<c1?Yl<c1?b1<c1?0:-1:0:-1:Dy<c1?oi<c1?0:-1:0:-1:zh<c1?Te<c1?of<c1?Vy<c1?Yu<c1?Ut<c1?0:-1:0:-1:Rv<c1?sv<c1?0:-1:0:-1:U7<c1?Bm<c1?Bv<c1?qg<c1?0:-1:0:-1:jg<c1?cD<c1?0:-1:0:-1:tb<c1?h7<c1?Ay<c1?Wh<c1?_7<c1?rC<c1?hc<c1?Uu<c1?oC<c1?O0<c1?0:-1:0:-1:s1<c1?HD<c1?0:-1:0:-1:Ix<c1?rd<c1?df<c1?tl<c1?0:-1:0:-1:Tm<c1?B2<c1?0:-1:0:-1:Pv<c1?Tp<c1?e0<c1?Xc<c1?a_<c1?0:-1:0:-1:ly<c1?Wp<c1?0:-1:0:mp<c1?Nv<c1?Vh<c1?tf<c1?0:-1:0:-1:rl<c1?aD<c1?0:-1:0:-1:Lv<c1?d0<c1?Gm<c1?Xv<c1?LE<c1?Fg<c1?0:-1:0:Zc<c1?Zb<c1?0:-1:0:E3<c1?0:Qg<c1?wg<c1?0:-1:0:-1:pf<c1?Bh<c1?Id<c1?Ly<c1?R_<c1?U0<c1?0:-1:0:-1:Up<c1?G_<c1?0:-1:0:-1:k3<c1?cy<c1?g0<c1?U1<c1?0:-1:0:-1:qr<c1?De<c1?0:-1:0:-1:Zt<c1?ry<c1?Qm<c1?gm<c1?Ds<c1?a8<c1?ql<c1?wf<c1?L2<c1?xu<c1?jy<c1?Rd<c1?Rb<c1?W3<c1?Y0<c1?0:-1:0:-1:U_<c1?xC<c1?0:-1:0:-1:Jm<c1?Dm<c1?Al<c1?Fl<c1?0:-1:0:-1:F_<c1?Nt<c1?0:-1:0:-1:Ff<c1?0:y2<c1?l1<c1?vy<c1?gd<c1?0:-1:0:-1:Fh<c1?Sh<c1?0:-1:0:-1:P0<c1?W7<c1?YE<c1?i8<c1?dD<c1?Vb<c1?Y7<c1?V0<c1?0:-1:0:-1:av<c1?W<c1?0:-1:0:-1:Vv<c1?gC<c1?Is<c1?cp<c1?0:-1:0:-1:Gb<c1?RE<c1?0:-1:0:-1:y0<c1?Ou<c1?bo<c1?rb<c1?E7<c1?ZD<c1?0:-1:0:-1:Ty<c1?by<c1?0:-1:0:-1:mh<c1?mm<c1?Gg<c1?I3<c1?0:-1:0:-1:li<c1?Av<c1?0:-1:0:-1:La<c1?Uy<c1?Cp<c1?js<c1?q_<c1?lD<c1&&QD<c1?ID<c1?0:-1:0:-1:H1<c1?c0<c1?N_<c1?l2<c1?0:-1:0:-1:kp<c1?Hy<c1?0:-1:0:-1:hf<c1?fE<c1?gb<c1?d<c1?w3<c1?_o<c1?0:-1:0:-1:td<c1?C1<c1?0:-1:0:-1:cE<c1?wb<c1?0:-1:0:Xg<c1?Fv<c1?x8<c1?0:Bb<c1?uC<c1?fb<c1?0:-1:0:fD<c1?nf<c1?0:-1:0:-1:J7<c1?Kt<c1?og<c1?V_<c1?G<c1?Kv<c1?0:-1:0:-1:wm<c1?Jf<c1?0:-1:0:-1:rm<c1&&Fb<c1?kh<c1?0:-1:0:q3<c1?$<c1?x2<c1?Uh<c1?BE<c1&&X3<c1?ts<c1?0:-1:0:J3<c1?G1<c1?qs<c1?0:-1:0:Wv<c1?N3<c1?0:-1:0:0:Hh<c1?$m<c1?0:Sv<c1?_b<c1?0:-1:0:g_<c1?Rc<c1?Ev<c1?PC<c1?Mr<c1?0:-1:0:-1:0:rv<c1?0:$d<c1?Ur<c1?0:-1:0:nx<c1?ZE<c1?qa<c1?0:Eg<c1&&JD<c1?M2<c1?0:-1:0:ip<c1?K7<c1?0:$c<c1?Vm<c1?0:-1:0:gt<c1&&R7<c1?Mf<c1?0:-1:0:z7<c1?_<c1?0:zd<c1?bC<c1?0:-1:eC<c1?L3<c1?0:-1:0:Sy<c1?wC<c1?cl<c1?0:-1:0:ng<c1?0:zy<c1?Pf<c1?0:-1:0:-1:Hp<c1?lg<c1?I1<c1?h_<c1?Rl<c1?ev<c1?IE<c1?r8<c1?PE<c1?0:-1:sp<c1?D3<c1?0:-1:0:fh<c1?0:A3<c1?Ip<c1?0:-1:0:-1:0:p8<c1?Hf<c1?0:Dv<c1?Px<c1?Pe<c1?kD<c1?0:-1:0:-1:0:By<c1?wd<c1&&$b<c1?ny<c1?0:-1:0:_E<c1?$v<c1?iy<c1?em<c1?0:-1:0:-1:0:Lo<c1?sf<c1?Zd<c1?R0<c1?0:v3<c1?CC<c1?zl<c1?iD<c1?0:-1:0:-1:0:ig<c1?m2<c1?rp<c1&&gD<c1?Ed<c1?0:-1:0:-1:bn<c1?__<c1?0:-1:0:-1:i7<c1?Fo<c1?nd<c1?Y2<c1?nC<c1?0:Wb<c1?cg<c1?0:-1:0:-1:Eh<c1?wu<c1?T_<c1?lp<c1?0:-1:0:-1:sb<c1?ds<c1?0:-1:0:-1:vh<c1?dv<c1?Hx<c1?Tv<c1?Rp<c1?0:-1:0:xi<c1?af<c1?0:-1:0:-1:0:-1:mE<c1?bf<c1?Ib<c1?r7<c1?sh<c1?I0<c1?Lm<c1?qf<c1&&_t<c1?ep<c1?0:-1:0:-1:HE<c1&&kC<c1?Hg<c1?0:-1:0:-1:s2<c1?rx<c1?AD<c1?0:Nf<c1?h2<c1?0:-1:0:-1:Ah<c1?uh<c1?Ch<c1?hD<c1?0:-1:0:-1:Zg<c1?q7<c1?0:-1:0:-1:_v<c1?f3<c1?Cv<c1?ay<c1?Yy<c1?hg<c1?Md<c1?Ro<c1?0:-1:0:-1:ND<c1?$h<c1?0:-1:0:-1:kf<c1?Of<c1?0:-1:TD<c1?nv<c1?0:-1:0:-1:R3<c1?ch<c1?y_<c1?WD<c1?Js<c1?0:-1:0:-1:Ap<c1?qb<c1?0:-1:0:Mb<c1?ht<c1?0:-1:0:pl<c1?d7<c1?Uf<c1?nl<c1?Km<c1?j<c1?_d<c1?G7<c1?xb<c1?0:-1:0:-1:D0<c1?H7<c1?0:-1:0:Vp<c1?w_<c1?0:-1:a3<c1?Sg<c1?0:-1:0:-1:zD<c1?bE<c1&&Yv<c1?Ry<c1?0:-1:0:oc<c1?$i<c1?0:-1:XD<c1?t3<c1?0:-1:0:-1:$e<c1?ah<c1?Bi<c1?d_<c1?Pu<c1?j2<c1?an<c1?0:-1:0:z3<c1?Yb<c1?0:-1:0:-1:zb<c1?B_<c1?nm<c1?eD<c1?0:-1:0:-1:ug<c1?T7<c1?0:-1:0:-1:Z7<c1?Yi<c1?J_<c1?Dd<c1?W1<c1?Oy<c1?0:-1:0:-1:M_<c1?Z3<c1?0:-1:0:-1:eb<c1?im<c1?qC<c1?Rf<c1?0:-1:0:-1:Np<c1?Kc<c1?0:-1:0:-1:fr(UX1,c1+Kd|0)-1|0:-1;else na=-1;if(5<na>>>0)Mx=Zx(x);else switch(na){case 0:Mx=L(x);break;case 1:Mx=v(x);break;case 2:Qe(x,87);var r2=aO(Rx(x));if(2<r2>>>0)Mx=Zx(x);else switch(r2){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var Lh=VU(Rx(x));if(2<Lh>>>0)Mx=Zx(x);else switch(Lh){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var Rm=V4(Rx(x));if(2<Rm>>>0)Mx=Zx(x);else switch(Rm){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,53);var V2=_h(Rx(x));Mx=V2===0?L(x):V2===1?v(x):Zx(x)}}}break;case 3:Qe(x,87);var Yc=PP(Rx(x));if(2<Yc>>>0)Mx=Zx(x);else switch(Yc){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var $6=CI(Rx(x));if(2<$6>>>0)Mx=Zx(x);else switch($6){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var g6=aO(Rx(x));if(2<g6>>>0)Mx=Zx(x);else switch(g6){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var xT=aO(Rx(x));if(2<xT>>>0)Mx=Zx(x);else switch(xT){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var oF=TY(Rx(x));if(2<oF>>>0)Mx=Zx(x);else switch(oF){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,54);var f6=_h(Rx(x));Mx=f6===0?L(x):f6===1?v(x):Zx(x)}}}}}break;case 4:Qe(x,87);var Mp=FL(Rx(x));if(2<Mp>>>0)Mx=Zx(x);else switch(Mp){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,55);var Bf=_h(Rx(x));Mx=Bf===0?L(x):Bf===1?v(x):Zx(x)}break;default:Qe(x,87);var K6=PP(Rx(x));if(2<K6>>>0)Mx=Zx(x);else switch(K6){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var sF=AL(Rx(x));if(2<sF>>>0)Mx=Zx(x);else switch(sF){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var tP=qk(Rx(x));if(2<tP>>>0)Mx=Zx(x);else switch(tP){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var NL=oO(Rx(x));if(2<NL>>>0)Mx=Zx(x);else switch(NL){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var lO=$U(Rx(x));if(2<lO>>>0)Mx=Zx(x);else switch(lO){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var PL=PP(Rx(x));if(2<PL>>>0)Mx=Zx(x);else switch(PL){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,56);var zM=_h(Rx(x));Mx=zM===0?L(x):zM===1?v(x):Zx(x)}}}}}}}break;case 39:Qe(x,87);var WM=Rx(x);if(WM)var _x=WM[1],qM=35<_x?C_<_x?ha<_x?vs<_x?-1:ne<_x?Mu<_x?Nh<_x?_D<_x?O2<_x?a7<_x?uy<_x?pE<_x?Jg<_x?0:-1:$D<_x?ks<_x?0:-1:0:-1:N2<_x?up<_x?A7<_x?A_<_x?0:-1:0:-1:e<_x?Xf<_x?0:-1:0:-1:Ld<_x?w1<_x?Zo<_x?Ov<_x?pv<_x?mg<_x?Xy<_x?Cm<_x?ob<_x?Sd<_x?0:-1:0:-1:d2<_x?qt<_x?0:-1:0:-1:Am<_x?$_<_x?Bt<_x?Pp<_x?0:-1:0:-1:Fc<_x?_3<_x?0:-1:0:-1:yy<_x?sn<_x?G3<_x?jl<_x?vd<_x?Hb<_x?0:-1:0:-1:Gt<_x?aC<_x?0:-1:0:-1:_e<_x?Ac<_x?Gv<_x?op<_x?0:-1:0:-1:Zl<_x?Jv<_x?0:-1:0:-1:I_<_x?Pb<_x?gg<_x?ih<_x?m7<_x?P7<_x?np<_x?bv<_x?0:-1:0:-1:Yp<_x?Rg<_x?0:-1:0:-1:dp<_x?V7<_x?Kh<_x?Xl<_x?0:-1:0:-1:oD<_x?Jb<_x?0:-1:0:-1:Us<_x?dd<_x?hv<_x?Dp<_x?jv<_x?Zp<_x?0:-1:0:-1:bD<_x?V3<_x?0:-1:0:-1:gv<_x?iv<_x?oh<_x?Ym<_x?0:-1:0:-1:Gy<_x?p7<_x?0:-1:0:-1:fp<_x?Ef<_x?c7<_x?l0<_x?Z1<_x?Hr<_x?Eb<_x?Xb<_x?OD<_x?R2<_x?kE<_x?Iv<_x?0:-1:0:-1:0:Ox<_x?Kf<_x?gE<_x?Va<_x?0:-1:0:-1:ge<_x?_l<_x?0:-1:0:pD<_x?vE<_x?ky<_x?wp<_x?0:-1:p3<_x?Ih<_x?0:-1:0:-1:MD<_x?OC<_x?0:-1:KC<_x?r3<_x?0:-1:0:-1:I2<_x?lo<_x?Re<_x?yC<_x?ME<_x?db<_x?fg<_x?Wy<_x?0:-1:0:-1:XE<_x?xd<_x?0:-1:0:-1:Wa<_x?yc<_x?S3<_x?Kl<_x?0:-1:0:-1:Fy<_x?xc<_x?0:-1:0:-1:ka<_x?Kp<_x?uE<_x?Lg<_x?_C<_x?OE<_x?0:-1:0:-1:v2<_x?Hm<_x?0:-1:0:-1:Wx<_x?ff<_x?Tb<_x?Fm<_x?0:-1:0:-1:b3<_x?k7<_x?0:-1:0:-1:d3<_x?Ad<_x?P3<_x?Yd<_x?eu<_x?l7<_x?Mt<_x?v1<_x?Cg<_x?Xm<_x?0:-1:0:-1:zf<_x?mD<_x?0:-1:0:-1:Mv<_x?tt<_x?Pm<_x?ld<_x?0:-1:0:-1:$3<_x?zp<_x?0:-1:0:-1:qx<_x?n3<_x?YD<_x?uD<_x?I7<_x?fl<_x?0:-1:0:-1:al<_x?j_<_x?0:-1:0:-1:Cc<_x?N1<_x?O_<_x?B7<_x?0:-1:0:-1:pd<_x?dm<_x?0:-1:0:-1:N0<_x?Xh<_x?dh<_x?dg<_x?b0<_x?bp<_x?Nl<_x?Ph<_x?0:-1:0:-1:M3<_x?lb<_x?0:-1:0:-1:rc<_x?ec<_x?P_<_x?Ud<_x?0:-1:0:-1:fv<_x?K_<_x?0:-1:0:-1:Om<_x?Ag<_x?rf<_x?O3<_x?Fn<_x?bt<_x?0:-1:0:-1:U<_x?j7<_x?0:-1:0:-1:DC<_x?ed<_x?Im<_x?i3<_x?0:-1:0:-1:0:-1:kv<_x?Hd<_x?Jy<_x?Za<_x?wD<_x?E1<_x?ag<_x?xh<_x?Hv<_x?vv<_x?l3<_x?0:-1:0:-1:H3<_x?co<_x?0:-1:0:-1:LD<_x?ex<_x?qy<_x?nD<_x?0:-1:0:-1:ED<_x?Pa<_x?0:-1:0:-1:sD<_x?th<_x?hh<_x?L_<_x?h3<_x?Cy<_x?0:-1:0:-1:w7<_x?Ey<_x?0:-1:0:-1:H2<_x?eh<_x?xv<_x?0:-1:0:u2<_x?C<_x?0:-1:0:P<_x?Kg<_x?wl<_x?b_<_x?cc<_x?W_<_x?0:-1:Tg<_x?i_<_x?0:-1:0:-1:Sb<_x?tv<_x?s7<_x?Ku<_x?0:-1:0:-1:nb<_x?Cf<_x?0:-1:0:-1:aE<_x?Gr<_x?hE<_x?O<_x?0:-1:Uc<_x?Qv<_x?0:-1:0:-1:Un<_x?T3<_x?X_<_x?BC<_x?0:-1:0:-1:p2<_x?dy<_x?0:-1:0:-1:Jr<_x?uv<_x?Gc<_x?mo<_x?Q3<_x?vD<_x?yv<_x?Qd<_x?e7<_x?Jh<_x?0:-1:0:-1:u7<_x?b2<_x?0:-1:0:-1:BD<_x?0:oE<_x?bg<_x?0:-1:0:-1:B3<_x?0:sE<_x?G2<_x?pa<_x?o7<_x?0:-1:0:-1:0:-1:r_<_x?$y<_x?U3<_x?X7<_x?C7<_x?wh<_x?L7<_x?0:-1:0:-1:Zy<_x?t8<_x?0:-1:0:LC<_x?jp<_x?0:-1:F3<_x?lE<_x?0:-1:0:-1:UD<_x?uc<_x?tm<_x?C0<_x?0:-1:G0<_x?rD<_x?0:-1:0:-1:0:Qb<_x?N7<_x?D2<_x?Se<_x?D_<_x?_g<_x?MC<_x?hy<_x?ub<_x?ph<_x?$7<_x?yE<_x?0:-1:S0<_x?Dh<_x?0:-1:0:-1:Ko<_x&&kg<_x?o0<_x?0:-1:0:FD<_x?_y<_x?c3<_x&&EC<_x?ho<_x?0:-1:0:-1:Xp<_x?Bp<_x?_u<_x?GD<_x?0:-1:0:-1:Q2<_x?g7<_x?0:-1:0:Y_<_x?NE<_x?n8<_x||Fd<_x?0:SE<_x?Y3<_x?0:-1:0:-1:rs<_x||Pc<_x?0:SC<_x?Bd<_x?0:-1:0:D7<_x?Em<_x?Ju<_x?QE<_x?zm<_x&&sy<_x?mb<_x?0:-1:0:m_<_x&&g3<_x?Gf<_x?0:-1:0:-1:CD<_x?Mg<_x?Yg<_x?If<_x?_c<_x?Uv<_x?0:-1:0:-1:0:-1:0:Mc<_x?wy<_x?CE<_x?EE<_x?vp<_x?D<_x?Ub<_x?0:-1:0:-1:0:NC<_x?0:e3<_x?m3<_x?0:-1:0:-1:j3<_x&&v7<_x&&cv<_x?FC<_x?0:-1:0:Gh<_x?Mm<_x?fi<_x?SD<_x?FE<_x?ri<_x?DD<_x?qD<_x?0:-1:mf<_x?Ep<_x?0:-1:0:-1:0:Nc<_x?Wg<_x?0:My<_x?ib<_x?0:-1:0:UC<_x&&p1<_x?C2<_x?0:-1:0:GE<_x?pm<_x?o2<_x?Dg<_x&&S7<_x?zg<_x?0:-1:0:-1:Tt<_x?y7<_x?cb<_x?M7<_x?0:-1:0:-1:0:0:-1:qv<_x?WC<_x?am<_x?_m<_x?Op<_x?x_<_x?0:-1:lv<_x?ze<_x?0:-1:0:0:x7<_x?Oh<_x?H_<_x?0:$a<_x?Z2<_x?0:-1:0:-1:py<_x?Iy<_x?bd<_x?0:-1:0:v_<_x?Ne<_x?0:-1:0:-1:yo<_x?Yh<_x?xm<_x?fy<_x?o1<_x?Hi<_x?my<_x?0:-1:0:-1:md<_x?ol<_x?0:-1:0:0:-1:_1<_x?za<_x?xl<_x?ws<_x?f7<_x?Iu<_x?0:-1:0:-1:n_<_x?ym<_x?0:-1:0:-1:Il<_x?z_<_x?Bo<_x?xf<_x?0:-1:0:-1:0:-1:vm<_x?Ii<_x?ce<_x?Q7<_x?bh<_x?x3<_x?E2<_x?M<_x&&tD<_x?AE<_x?0:-1:0:pg<_x?Su<_x?qm<_x?t_<_x?0:-1:0:-1:S_<_x?jd<_x?0:-1:0:-1:AC<_x?wE<_x?Zr<_x?Td<_x?t7<_x?0:-1:0:-1:lh<_x?JE<_x?0:-1:0:0:yl<_x?Q_<_x?jf<_x?X2<_x?Wm<_x?0:-1:Kb<_x?_i<_x?0:-1:0:-1:K0<_x?jC<_x?0:-1:Mn<_x?C3<_x?0:-1:0:oy<_x?0:Zv<_x?hb<_x?0:-1:RC<_x?qh<_x?0:-1:0:$f<_x?gy<_x?xD<_x?dC<_x?Xd<_x?Z<_x?Jl<_x?0:-1:0:$C<_x?Ss<_x?0:-1:0:-1:0:Xo<_x?pp<_x?Bs<_x?e8<_x?TC<_x?0:-1:0:-1:Ug<_x?bm<_x?0:-1:0:0:Hu<_x?zC<_x?om<_x?y3<_x?VD<_x?0:-1:TE<_x?Lf<_x?0:-1:0:0:-1:F7<_x?mv<_x?b7<_x?ov<_x?Xn<_x?0:-1:0:Lb<_x?Ky<_x?0:-1:0:-1:dE<_x?K3<_x?H<_x?kb<_x?0:-1:0:-1:0:-1:Vf<_x?Cd<_x?zv<_x?hl<_x?hm<_x?Qp<_x?sC<_x?f0<_x?yD<_x?Th<_x?Qy<_x?0:-1:0:-1:vg<_x?E_<_x?0:-1:0:-1:Sm<_x?Zm<_x?n7<_x?k_<_x?0:-1:0:-1:ot<_x?PD<_x?0:-1:0:B0<_x?e_<_x?iC<_x?Nb<_x?Ob<_x?ab<_x?0:-1:0:-1:Ws<_x?pb<_x?0:-1:0:-1:tC<_x?wv<_x?P2<_x?DE<_x?0:-1:0:-1:Mo<_x?Vg<_x?0:-1:0:-1:Wl<_x?Gd<_x?Sl<_x?O7<_x?mu<_x?0:-1:IC<_x?A0<_x?0:-1:0:c2<_x?jb<_x?Yl<_x?b1<_x?0:-1:0:-1:Dy<_x?oi<_x?0:-1:0:-1:zh<_x?Te<_x?of<_x?Vy<_x?Yu<_x?Ut<_x?0:-1:0:-1:Rv<_x?sv<_x?0:-1:0:-1:U7<_x?Bm<_x?Bv<_x?qg<_x?0:-1:0:-1:jg<_x?cD<_x?0:-1:0:-1:tb<_x?h7<_x?Ay<_x?Wh<_x?_7<_x?rC<_x?hc<_x?Uu<_x?oC<_x?O0<_x?0:-1:0:-1:s1<_x?HD<_x?0:-1:0:-1:Ix<_x?rd<_x?df<_x?tl<_x?0:-1:0:-1:Tm<_x?B2<_x?0:-1:0:-1:Pv<_x?Tp<_x?e0<_x?Xc<_x?a_<_x?0:-1:0:-1:ly<_x?Wp<_x?0:-1:0:mp<_x?Nv<_x?Vh<_x?tf<_x?0:-1:0:-1:rl<_x?aD<_x?0:-1:0:-1:Lv<_x?d0<_x?Gm<_x?Xv<_x?LE<_x?Fg<_x?0:-1:0:Zc<_x?Zb<_x?0:-1:0:E3<_x?0:Qg<_x?wg<_x?0:-1:0:-1:pf<_x?Bh<_x?Id<_x?Ly<_x?R_<_x?U0<_x?0:-1:0:-1:Up<_x?G_<_x?0:-1:0:-1:k3<_x?cy<_x?g0<_x?U1<_x?0:-1:0:-1:qr<_x?De<_x?0:-1:0:-1:Zt<_x?ry<_x?Qm<_x?gm<_x?Ds<_x?a8<_x?ql<_x?wf<_x?L2<_x?xu<_x?jy<_x?Rd<_x?Rb<_x?W3<_x?Y0<_x?0:-1:0:-1:U_<_x?xC<_x?0:-1:0:-1:Jm<_x?Dm<_x?Al<_x?Fl<_x?0:-1:0:-1:F_<_x?Nt<_x?0:-1:0:-1:Ff<_x?0:y2<_x?l1<_x?vy<_x?gd<_x?0:-1:0:-1:Fh<_x?Sh<_x?0:-1:0:-1:P0<_x?W7<_x?YE<_x?i8<_x?dD<_x?Vb<_x?Y7<_x?V0<_x?0:-1:0:-1:av<_x?W<_x?0:-1:0:-1:Vv<_x?gC<_x?Is<_x?cp<_x?0:-1:0:-1:Gb<_x?RE<_x?0:-1:0:-1:y0<_x?Ou<_x?bo<_x?rb<_x?E7<_x?ZD<_x?0:-1:0:-1:Ty<_x?by<_x?0:-1:0:-1:mh<_x?mm<_x?Gg<_x?I3<_x?0:-1:0:-1:li<_x?Av<_x?0:-1:0:-1:La<_x?Uy<_x?Cp<_x?js<_x?q_<_x?lD<_x&&QD<_x?ID<_x?0:-1:0:-1:H1<_x?c0<_x?N_<_x?l2<_x?0:-1:0:-1:kp<_x?Hy<_x?0:-1:0:-1:hf<_x?fE<_x?gb<_x?d<_x?w3<_x?_o<_x?0:-1:0:-1:td<_x?C1<_x?0:-1:0:-1:cE<_x?wb<_x?0:-1:0:Xg<_x?Fv<_x?x8<_x?0:Bb<_x?uC<_x?fb<_x?0:-1:0:fD<_x?nf<_x?0:-1:0:-1:J7<_x?Kt<_x?og<_x?V_<_x?G<_x?Kv<_x?0:-1:0:-1:wm<_x?Jf<_x?0:-1:0:-1:rm<_x&&Fb<_x?kh<_x?0:-1:0:q3<_x?$<_x?x2<_x?Uh<_x?BE<_x&&X3<_x?ts<_x?0:-1:0:J3<_x?G1<_x?qs<_x?0:-1:0:Wv<_x?N3<_x?0:-1:0:0:Hh<_x?$m<_x?0:Sv<_x?_b<_x?0:-1:0:g_<_x?Rc<_x?Ev<_x?PC<_x?Mr<_x?0:-1:0:-1:0:rv<_x?0:$d<_x?Ur<_x?0:-1:0:nx<_x?ZE<_x?qa<_x?0:Eg<_x&&JD<_x?M2<_x?0:-1:0:ip<_x?K7<_x?0:$c<_x?Vm<_x?0:-1:0:gt<_x&&R7<_x?Mf<_x?0:-1:0:z7<_x?_<_x?0:zd<_x?bC<_x?0:-1:eC<_x?L3<_x?0:-1:0:Sy<_x?wC<_x?cl<_x?0:-1:0:ng<_x?0:zy<_x?Pf<_x?0:-1:0:-1:Hp<_x?lg<_x?I1<_x?h_<_x?Rl<_x?ev<_x?IE<_x?r8<_x?PE<_x?0:-1:sp<_x?D3<_x?0:-1:0:fh<_x?0:A3<_x?Ip<_x?0:-1:0:-1:0:p8<_x?Hf<_x?0:Dv<_x?Px<_x?Pe<_x?kD<_x?0:-1:0:-1:0:By<_x?wd<_x&&$b<_x?ny<_x?0:-1:0:_E<_x?$v<_x?iy<_x?em<_x?0:-1:0:-1:0:Lo<_x?sf<_x?Zd<_x?R0<_x?0:v3<_x?CC<_x?zl<_x?iD<_x?0:-1:0:-1:0:ig<_x?m2<_x?rp<_x&&gD<_x?Ed<_x?0:-1:0:-1:bn<_x?__<_x?0:-1:0:-1:i7<_x?Fo<_x?nd<_x?Y2<_x?nC<_x?0:Wb<_x?cg<_x?0:-1:0:-1:Eh<_x?wu<_x?T_<_x?lp<_x?0:-1:0:-1:sb<_x?ds<_x?0:-1:0:-1:vh<_x?dv<_x?Hx<_x?Tv<_x?Rp<_x?0:-1:0:xi<_x?af<_x?0:-1:0:-1:0:-1:mE<_x?bf<_x?Ib<_x?r7<_x?sh<_x?I0<_x?Lm<_x?qf<_x&&_t<_x?ep<_x?0:-1:0:-1:HE<_x&&kC<_x?Hg<_x?0:-1:0:-1:s2<_x?rx<_x?AD<_x?0:Nf<_x?h2<_x?0:-1:0:-1:Ah<_x?uh<_x?Ch<_x?hD<_x?0:-1:0:-1:Zg<_x?q7<_x?0:-1:0:-1:_v<_x?f3<_x?Cv<_x?ay<_x?Yy<_x?hg<_x?Md<_x?Ro<_x?0:-1:0:-1:ND<_x?$h<_x?0:-1:0:-1:kf<_x?Of<_x?0:-1:TD<_x?nv<_x?0:-1:0:-1:R3<_x?ch<_x?y_<_x?WD<_x?Js<_x?0:-1:0:-1:Ap<_x?qb<_x?0:-1:0:Mb<_x?ht<_x?0:-1:0:pl<_x?d7<_x?Uf<_x?nl<_x?Km<_x?j<_x?_d<_x?G7<_x?xb<_x?0:-1:0:-1:D0<_x?H7<_x?0:-1:0:Vp<_x?w_<_x?0:-1:a3<_x?Sg<_x?0:-1:0:-1:zD<_x?bE<_x&&Yv<_x?Ry<_x?0:-1:0:oc<_x?$i<_x?0:-1:XD<_x?t3<_x?0:-1:0:-1:$e<_x?ah<_x?Bi<_x?d_<_x?Pu<_x?j2<_x?an<_x?0:-1:0:z3<_x?Yb<_x?0:-1:0:-1:zb<_x?B_<_x?nm<_x?eD<_x?0:-1:0:-1:ug<_x?T7<_x?0:-1:0:-1:Z7<_x?Yi<_x?J_<_x?Dd<_x?W1<_x?Oy<_x?0:-1:0:-1:M_<_x?Z3<_x?0:-1:0:-1:eb<_x?im<_x?qC<_x?Rf<_x?0:-1:0:-1:Np<_x?Kc<_x?0:-1:0:-1:fr(jX1,_x+Kd|0)-1|0:-1;else qM=-1;if(4<qM>>>0)Mx=Zx(x);else switch(qM){case 0:Mx=L(x);break;case 1:Mx=v(x);break;case 2:Qe(x,57);var JM=_h(Rx(x));Mx=JM===0?L(x):JM===1?v(x):Zx(x);break;case 3:Qe(x,87);var qU=zq(Rx(x));if(2<qU>>>0)Mx=Zx(x);else switch(qU){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var HM=Rx(x);if(HM)var Dx=HM[1],cB=35<Dx?C_<Dx?ha<Dx?vs<Dx?-1:ne<Dx?Mu<Dx?Nh<Dx?_D<Dx?O2<Dx?a7<Dx?uy<Dx?pE<Dx?Jg<Dx?0:-1:$D<Dx?ks<Dx?0:-1:0:-1:N2<Dx?up<Dx?A7<Dx?A_<Dx?0:-1:0:-1:e<Dx?Xf<Dx?0:-1:0:-1:Ld<Dx?w1<Dx?Zo<Dx?Ov<Dx?pv<Dx?mg<Dx?Xy<Dx?Cm<Dx?ob<Dx?Sd<Dx?0:-1:0:-1:d2<Dx?qt<Dx?0:-1:0:-1:Am<Dx?$_<Dx?Bt<Dx?Pp<Dx?0:-1:0:-1:Fc<Dx?_3<Dx?0:-1:0:-1:yy<Dx?sn<Dx?G3<Dx?jl<Dx?vd<Dx?Hb<Dx?0:-1:0:-1:Gt<Dx?aC<Dx?0:-1:0:-1:_e<Dx?Ac<Dx?Gv<Dx?op<Dx?0:-1:0:-1:Zl<Dx?Jv<Dx?0:-1:0:-1:I_<Dx?Pb<Dx?gg<Dx?ih<Dx?m7<Dx?P7<Dx?np<Dx?bv<Dx?0:-1:0:-1:Yp<Dx?Rg<Dx?0:-1:0:-1:dp<Dx?V7<Dx?Kh<Dx?Xl<Dx?0:-1:0:-1:oD<Dx?Jb<Dx?0:-1:0:-1:Us<Dx?dd<Dx?hv<Dx?Dp<Dx?jv<Dx?Zp<Dx?0:-1:0:-1:bD<Dx?V3<Dx?0:-1:0:-1:gv<Dx?iv<Dx?oh<Dx?Ym<Dx?0:-1:0:-1:Gy<Dx?p7<Dx?0:-1:0:-1:fp<Dx?Ef<Dx?c7<Dx?l0<Dx?Z1<Dx?Hr<Dx?Eb<Dx?Xb<Dx?OD<Dx?R2<Dx?kE<Dx?Iv<Dx?0:-1:0:-1:0:Ox<Dx?Kf<Dx?gE<Dx?Va<Dx?0:-1:0:-1:ge<Dx?_l<Dx?0:-1:0:pD<Dx?vE<Dx?ky<Dx?wp<Dx?0:-1:p3<Dx?Ih<Dx?0:-1:0:-1:MD<Dx?OC<Dx?0:-1:KC<Dx?r3<Dx?0:-1:0:-1:I2<Dx?lo<Dx?Re<Dx?yC<Dx?ME<Dx?db<Dx?fg<Dx?Wy<Dx?0:-1:0:-1:XE<Dx?xd<Dx?0:-1:0:-1:Wa<Dx?yc<Dx?S3<Dx?Kl<Dx?0:-1:0:-1:Fy<Dx?xc<Dx?0:-1:0:-1:ka<Dx?Kp<Dx?uE<Dx?Lg<Dx?_C<Dx?OE<Dx?0:-1:0:-1:v2<Dx?Hm<Dx?0:-1:0:-1:Wx<Dx?ff<Dx?Tb<Dx?Fm<Dx?0:-1:0:-1:b3<Dx?k7<Dx?0:-1:0:-1:d3<Dx?Ad<Dx?P3<Dx?Yd<Dx?eu<Dx?l7<Dx?Mt<Dx?v1<Dx?Cg<Dx?Xm<Dx?0:-1:0:-1:zf<Dx?mD<Dx?0:-1:0:-1:Mv<Dx?tt<Dx?Pm<Dx?ld<Dx?0:-1:0:-1:$3<Dx?zp<Dx?0:-1:0:-1:qx<Dx?n3<Dx?YD<Dx?uD<Dx?I7<Dx?fl<Dx?0:-1:0:-1:al<Dx?j_<Dx?0:-1:0:-1:Cc<Dx?N1<Dx?O_<Dx?B7<Dx?0:-1:0:-1:pd<Dx?dm<Dx?0:-1:0:-1:N0<Dx?Xh<Dx?dh<Dx?dg<Dx?b0<Dx?bp<Dx?Nl<Dx?Ph<Dx?0:-1:0:-1:M3<Dx?lb<Dx?0:-1:0:-1:rc<Dx?ec<Dx?P_<Dx?Ud<Dx?0:-1:0:-1:fv<Dx?K_<Dx?0:-1:0:-1:Om<Dx?Ag<Dx?rf<Dx?O3<Dx?Fn<Dx?bt<Dx?0:-1:0:-1:U<Dx?j7<Dx?0:-1:0:-1:DC<Dx?ed<Dx?Im<Dx?i3<Dx?0:-1:0:-1:0:-1:kv<Dx?Hd<Dx?Jy<Dx?Za<Dx?wD<Dx?E1<Dx?ag<Dx?xh<Dx?Hv<Dx?vv<Dx?l3<Dx?0:-1:0:-1:H3<Dx?co<Dx?0:-1:0:-1:LD<Dx?ex<Dx?qy<Dx?nD<Dx?0:-1:0:-1:ED<Dx?Pa<Dx?0:-1:0:-1:sD<Dx?th<Dx?hh<Dx?L_<Dx?h3<Dx?Cy<Dx?0:-1:0:-1:w7<Dx?Ey<Dx?0:-1:0:-1:H2<Dx?eh<Dx?xv<Dx?0:-1:0:u2<Dx?C<Dx?0:-1:0:P<Dx?Kg<Dx?wl<Dx?b_<Dx?cc<Dx?W_<Dx?0:-1:Tg<Dx?i_<Dx?0:-1:0:-1:Sb<Dx?tv<Dx?s7<Dx?Ku<Dx?0:-1:0:-1:nb<Dx?Cf<Dx?0:-1:0:-1:aE<Dx?Gr<Dx?hE<Dx?O<Dx?0:-1:Uc<Dx?Qv<Dx?0:-1:0:-1:Un<Dx?T3<Dx?X_<Dx?BC<Dx?0:-1:0:-1:p2<Dx?dy<Dx?0:-1:0:-1:Jr<Dx?uv<Dx?Gc<Dx?mo<Dx?Q3<Dx?vD<Dx?yv<Dx?Qd<Dx?e7<Dx?Jh<Dx?0:-1:0:-1:u7<Dx?b2<Dx?0:-1:0:-1:BD<Dx?0:oE<Dx?bg<Dx?0:-1:0:-1:B3<Dx?0:sE<Dx?G2<Dx?pa<Dx?o7<Dx?0:-1:0:-1:0:-1:r_<Dx?$y<Dx?U3<Dx?X7<Dx?C7<Dx?wh<Dx?L7<Dx?0:-1:0:-1:Zy<Dx?t8<Dx?0:-1:0:LC<Dx?jp<Dx?0:-1:F3<Dx?lE<Dx?0:-1:0:-1:UD<Dx?uc<Dx?tm<Dx?C0<Dx?0:-1:G0<Dx?rD<Dx?0:-1:0:-1:0:Qb<Dx?N7<Dx?D2<Dx?Se<Dx?D_<Dx?_g<Dx?MC<Dx?hy<Dx?ub<Dx?ph<Dx?$7<Dx?yE<Dx?0:-1:S0<Dx?Dh<Dx?0:-1:0:-1:Ko<Dx&&kg<Dx?o0<Dx?0:-1:0:FD<Dx?_y<Dx?c3<Dx&&EC<Dx?ho<Dx?0:-1:0:-1:Xp<Dx?Bp<Dx?_u<Dx?GD<Dx?0:-1:0:-1:Q2<Dx?g7<Dx?0:-1:0:Y_<Dx?NE<Dx?n8<Dx||Fd<Dx?0:SE<Dx?Y3<Dx?0:-1:0:-1:rs<Dx||Pc<Dx?0:SC<Dx?Bd<Dx?0:-1:0:D7<Dx?Em<Dx?Ju<Dx?QE<Dx?zm<Dx&&sy<Dx?mb<Dx?0:-1:0:m_<Dx&&g3<Dx?Gf<Dx?0:-1:0:-1:CD<Dx?Mg<Dx?Yg<Dx?If<Dx?_c<Dx?Uv<Dx?0:-1:0:-1:0:-1:0:Mc<Dx?wy<Dx?CE<Dx?EE<Dx?vp<Dx?D<Dx?Ub<Dx?0:-1:0:-1:0:NC<Dx?0:e3<Dx?m3<Dx?0:-1:0:-1:j3<Dx&&v7<Dx&&cv<Dx?FC<Dx?0:-1:0:Gh<Dx?Mm<Dx?fi<Dx?SD<Dx?FE<Dx?ri<Dx?DD<Dx?qD<Dx?0:-1:mf<Dx?Ep<Dx?0:-1:0:-1:0:Nc<Dx?Wg<Dx?0:My<Dx?ib<Dx?0:-1:0:UC<Dx&&p1<Dx?C2<Dx?0:-1:0:GE<Dx?pm<Dx?o2<Dx?Dg<Dx&&S7<Dx?zg<Dx?0:-1:0:-1:Tt<Dx?y7<Dx?cb<Dx?M7<Dx?0:-1:0:-1:0:0:-1:qv<Dx?WC<Dx?am<Dx?_m<Dx?Op<Dx?x_<Dx?0:-1:lv<Dx?ze<Dx?0:-1:0:0:x7<Dx?Oh<Dx?H_<Dx?0:$a<Dx?Z2<Dx?0:-1:0:-1:py<Dx?Iy<Dx?bd<Dx?0:-1:0:v_<Dx?Ne<Dx?0:-1:0:-1:yo<Dx?Yh<Dx?xm<Dx?fy<Dx?o1<Dx?Hi<Dx?my<Dx?0:-1:0:-1:md<Dx?ol<Dx?0:-1:0:0:-1:_1<Dx?za<Dx?xl<Dx?ws<Dx?f7<Dx?Iu<Dx?0:-1:0:-1:n_<Dx?ym<Dx?0:-1:0:-1:Il<Dx?z_<Dx?Bo<Dx?xf<Dx?0:-1:0:-1:0:-1:vm<Dx?Ii<Dx?ce<Dx?Q7<Dx?bh<Dx?x3<Dx?E2<Dx?M<Dx&&tD<Dx?AE<Dx?0:-1:0:pg<Dx?Su<Dx?qm<Dx?t_<Dx?0:-1:0:-1:S_<Dx?jd<Dx?0:-1:0:-1:AC<Dx?wE<Dx?Zr<Dx?Td<Dx?t7<Dx?0:-1:0:-1:lh<Dx?JE<Dx?0:-1:0:0:yl<Dx?Q_<Dx?jf<Dx?X2<Dx?Wm<Dx?0:-1:Kb<Dx?_i<Dx?0:-1:0:-1:K0<Dx?jC<Dx?0:-1:Mn<Dx?C3<Dx?0:-1:0:oy<Dx?0:Zv<Dx?hb<Dx?0:-1:RC<Dx?qh<Dx?0:-1:0:$f<Dx?gy<Dx?xD<Dx?dC<Dx?Xd<Dx?Z<Dx?Jl<Dx?0:-1:0:$C<Dx?Ss<Dx?0:-1:0:-1:0:Xo<Dx?pp<Dx?Bs<Dx?e8<Dx?TC<Dx?0:-1:0:-1:Ug<Dx?bm<Dx?0:-1:0:0:Hu<Dx?zC<Dx?om<Dx?y3<Dx?VD<Dx?0:-1:TE<Dx?Lf<Dx?0:-1:0:0:-1:F7<Dx?mv<Dx?b7<Dx?ov<Dx?Xn<Dx?0:-1:0:Lb<Dx?Ky<Dx?0:-1:0:-1:dE<Dx?K3<Dx?H<Dx?kb<Dx?0:-1:0:-1:0:-1:Vf<Dx?Cd<Dx?zv<Dx?hl<Dx?hm<Dx?Qp<Dx?sC<Dx?f0<Dx?yD<Dx?Th<Dx?Qy<Dx?0:-1:0:-1:vg<Dx?E_<Dx?0:-1:0:-1:Sm<Dx?Zm<Dx?n7<Dx?k_<Dx?0:-1:0:-1:ot<Dx?PD<Dx?0:-1:0:B0<Dx?e_<Dx?iC<Dx?Nb<Dx?Ob<Dx?ab<Dx?0:-1:0:-1:Ws<Dx?pb<Dx?0:-1:0:-1:tC<Dx?wv<Dx?P2<Dx?DE<Dx?0:-1:0:-1:Mo<Dx?Vg<Dx?0:-1:0:-1:Wl<Dx?Gd<Dx?Sl<Dx?O7<Dx?mu<Dx?0:-1:IC<Dx?A0<Dx?0:-1:0:c2<Dx?jb<Dx?Yl<Dx?b1<Dx?0:-1:0:-1:Dy<Dx?oi<Dx?0:-1:0:-1:zh<Dx?Te<Dx?of<Dx?Vy<Dx?Yu<Dx?Ut<Dx?0:-1:0:-1:Rv<Dx?sv<Dx?0:-1:0:-1:U7<Dx?Bm<Dx?Bv<Dx?qg<Dx?0:-1:0:-1:jg<Dx?cD<Dx?0:-1:0:-1:tb<Dx?h7<Dx?Ay<Dx?Wh<Dx?_7<Dx?rC<Dx?hc<Dx?Uu<Dx?oC<Dx?O0<Dx?0:-1:0:-1:s1<Dx?HD<Dx?0:-1:0:-1:Ix<Dx?rd<Dx?df<Dx?tl<Dx?0:-1:0:-1:Tm<Dx?B2<Dx?0:-1:0:-1:Pv<Dx?Tp<Dx?e0<Dx?Xc<Dx?a_<Dx?0:-1:0:-1:ly<Dx?Wp<Dx?0:-1:0:mp<Dx?Nv<Dx?Vh<Dx?tf<Dx?0:-1:0:-1:rl<Dx?aD<Dx?0:-1:0:-1:Lv<Dx?d0<Dx?Gm<Dx?Xv<Dx?LE<Dx?Fg<Dx?0:-1:0:Zc<Dx?Zb<Dx?0:-1:0:E3<Dx?0:Qg<Dx?wg<Dx?0:-1:0:-1:pf<Dx?Bh<Dx?Id<Dx?Ly<Dx?R_<Dx?U0<Dx?0:-1:0:-1:Up<Dx?G_<Dx?0:-1:0:-1:k3<Dx?cy<Dx?g0<Dx?U1<Dx?0:-1:0:-1:qr<Dx?De<Dx?0:-1:0:-1:Zt<Dx?ry<Dx?Qm<Dx?gm<Dx?Ds<Dx?a8<Dx?ql<Dx?wf<Dx?L2<Dx?xu<Dx?jy<Dx?Rd<Dx?Rb<Dx?W3<Dx?Y0<Dx?0:-1:0:-1:U_<Dx?xC<Dx?0:-1:0:-1:Jm<Dx?Dm<Dx?Al<Dx?Fl<Dx?0:-1:0:-1:F_<Dx?Nt<Dx?0:-1:0:-1:Ff<Dx?0:y2<Dx?l1<Dx?vy<Dx?gd<Dx?0:-1:0:-1:Fh<Dx?Sh<Dx?0:-1:0:-1:P0<Dx?W7<Dx?YE<Dx?i8<Dx?dD<Dx?Vb<Dx?Y7<Dx?V0<Dx?0:-1:0:-1:av<Dx?W<Dx?0:-1:0:-1:Vv<Dx?gC<Dx?Is<Dx?cp<Dx?0:-1:0:-1:Gb<Dx?RE<Dx?0:-1:0:-1:y0<Dx?Ou<Dx?bo<Dx?rb<Dx?E7<Dx?ZD<Dx?0:-1:0:-1:Ty<Dx?by<Dx?0:-1:0:-1:mh<Dx?mm<Dx?Gg<Dx?I3<Dx?0:-1:0:-1:li<Dx?Av<Dx?0:-1:0:-1:La<Dx?Uy<Dx?Cp<Dx?js<Dx?q_<Dx?lD<Dx&&QD<Dx?ID<Dx?0:-1:0:-1:H1<Dx?c0<Dx?N_<Dx?l2<Dx?0:-1:0:-1:kp<Dx?Hy<Dx?0:-1:0:-1:hf<Dx?fE<Dx?gb<Dx?d<Dx?w3<Dx?_o<Dx?0:-1:0:-1:td<Dx?C1<Dx?0:-1:0:-1:cE<Dx?wb<Dx?0:-1:0:Xg<Dx?Fv<Dx?x8<Dx?0:Bb<Dx?uC<Dx?fb<Dx?0:-1:0:fD<Dx?nf<Dx?0:-1:0:-1:J7<Dx?Kt<Dx?og<Dx?V_<Dx?G<Dx?Kv<Dx?0:-1:0:-1:wm<Dx?Jf<Dx?0:-1:0:-1:rm<Dx&&Fb<Dx?kh<Dx?0:-1:0:q3<Dx?$<Dx?x2<Dx?Uh<Dx?BE<Dx&&X3<Dx?ts<Dx?0:-1:0:J3<Dx?G1<Dx?qs<Dx?0:-1:0:Wv<Dx?N3<Dx?0:-1:0:0:Hh<Dx?$m<Dx?0:Sv<Dx?_b<Dx?0:-1:0:g_<Dx?Rc<Dx?Ev<Dx?PC<Dx?Mr<Dx?0:-1:0:-1:0:rv<Dx?0:$d<Dx?Ur<Dx?0:-1:0:nx<Dx?ZE<Dx?qa<Dx?0:Eg<Dx&&JD<Dx?M2<Dx?0:-1:0:ip<Dx?K7<Dx?0:$c<Dx?Vm<Dx?0:-1:0:gt<Dx&&R7<Dx?Mf<Dx?0:-1:0:z7<Dx?_<Dx?0:zd<Dx?bC<Dx?0:-1:eC<Dx?L3<Dx?0:-1:0:Sy<Dx?wC<Dx?cl<Dx?0:-1:0:ng<Dx?0:zy<Dx?Pf<Dx?0:-1:0:-1:Hp<Dx?lg<Dx?I1<Dx?h_<Dx?Rl<Dx?ev<Dx?IE<Dx?r8<Dx?PE<Dx?0:-1:sp<Dx?D3<Dx?0:-1:0:fh<Dx?0:A3<Dx?Ip<Dx?0:-1:0:-1:0:p8<Dx?Hf<Dx?0:Dv<Dx?Px<Dx?Pe<Dx?kD<Dx?0:-1:0:-1:0:By<Dx?wd<Dx&&$b<Dx?ny<Dx?0:-1:0:_E<Dx?$v<Dx?iy<Dx?em<Dx?0:-1:0:-1:0:Lo<Dx?sf<Dx?Zd<Dx?R0<Dx?0:v3<Dx?CC<Dx?zl<Dx?iD<Dx?0:-1:0:-1:0:ig<Dx?m2<Dx?rp<Dx&&gD<Dx?Ed<Dx?0:-1:0:-1:bn<Dx?__<Dx?0:-1:0:-1:i7<Dx?Fo<Dx?nd<Dx?Y2<Dx?nC<Dx?0:Wb<Dx?cg<Dx?0:-1:0:-1:Eh<Dx?wu<Dx?T_<Dx?lp<Dx?0:-1:0:-1:sb<Dx?ds<Dx?0:-1:0:-1:vh<Dx?dv<Dx?Hx<Dx?Tv<Dx?Rp<Dx?0:-1:0:xi<Dx?af<Dx?0:-1:0:-1:0:-1:mE<Dx?bf<Dx?Ib<Dx?r7<Dx?sh<Dx?I0<Dx?Lm<Dx?qf<Dx&&_t<Dx?ep<Dx?0:-1:0:-1:HE<Dx&&kC<Dx?Hg<Dx?0:-1:0:-1:s2<Dx?rx<Dx?AD<Dx?0:Nf<Dx?h2<Dx?0:-1:0:-1:Ah<Dx?uh<Dx?Ch<Dx?hD<Dx?0:-1:0:-1:Zg<Dx?q7<Dx?0:-1:0:-1:_v<Dx?f3<Dx?Cv<Dx?ay<Dx?Yy<Dx?hg<Dx?Md<Dx?Ro<Dx?0:-1:0:-1:ND<Dx?$h<Dx?0:-1:0:-1:kf<Dx?Of<Dx?0:-1:TD<Dx?nv<Dx?0:-1:0:-1:R3<Dx?ch<Dx?y_<Dx?WD<Dx?Js<Dx?0:-1:0:-1:Ap<Dx?qb<Dx?0:-1:0:Mb<Dx?ht<Dx?0:-1:0:pl<Dx?d7<Dx?Uf<Dx?nl<Dx?Km<Dx?j<Dx?_d<Dx?G7<Dx?xb<Dx?0:-1:0:-1:D0<Dx?H7<Dx?0:-1:0:Vp<Dx?w_<Dx?0:-1:a3<Dx?Sg<Dx?0:-1:0:-1:zD<Dx?bE<Dx&&Yv<Dx?Ry<Dx?0:-1:0:oc<Dx?$i<Dx?0:-1:XD<Dx?t3<Dx?0:-1:0:-1:$e<Dx?ah<Dx?Bi<Dx?d_<Dx?Pu<Dx?j2<Dx?an<Dx?0:-1:0:z3<Dx?Yb<Dx?0:-1:0:-1:zb<Dx?B_<Dx?nm<Dx?eD<Dx?0:-1:0:-1:ug<Dx?T7<Dx?0:-1:0:-1:Z7<Dx?Yi<Dx?J_<Dx?Dd<Dx?W1<Dx?Oy<Dx?0:-1:0:-1:M_<Dx?Z3<Dx?0:-1:0:-1:eb<Dx?im<Dx?qC<Dx?Rf<Dx?0:-1:0:-1:Np<Dx?Kc<Dx?0:-1:0:-1:fr(bX1,Dx+Kd|0)-1|0:-1;else cB=-1;if(3<cB>>>0)Mx=Zx(x);else switch(cB){case 0:Mx=L(x);break;case 1:Mx=v(x);break;case 2:Qe(x,87);var GM=V4(Rx(x));if(2<GM>>>0)Mx=Zx(x);else switch(GM){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var kj=Kt0(Rx(x));if(2<kj>>>0)Mx=Zx(x);else switch(kj){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var fO=V4(Rx(x));if(2<fO>>>0)Mx=Zx(x);else switch(fO){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var XM=PP(Rx(x));if(2<XM>>>0)Mx=Zx(x);else switch(XM){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var Nj=qk(Rx(x));if(2<Nj>>>0)Mx=Zx(x);else switch(Nj){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var TI=VU(Rx(x));if(2<TI>>>0)Mx=Zx(x);else switch(TI){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,58);var lB=_h(Rx(x));Mx=lB===0?L(x):lB===1?v(x):Zx(x)}}}}}}break;default:Qe(x,87);var k9=FL(Rx(x));if(2<k9>>>0)Mx=Zx(x);else switch(k9){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var YM=qk(Rx(x));if(2<YM>>>0)Mx=Zx(x);else switch(YM){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,59);var pO=_h(Rx(x));Mx=pO===0?L(x):pO===1?v(x):Zx(x)}}}}break;default:Qe(x,60);var JU=Wt0(Rx(x));if(3<JU>>>0)Mx=Zx(x);else switch(JU){case 0:Mx=L(x);break;case 1:Mx=v(x);break;case 2:Qe(x,87);var HU=qk(Rx(x));if(2<HU>>>0)Mx=Zx(x);else switch(HU){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var GU=CI(Rx(x));if(2<GU>>>0)Mx=Zx(x);else switch(GU){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var wI=PP(Rx(x));if(2<wI>>>0)Mx=Zx(x);else switch(wI){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var QM=AL(Rx(x));if(2<QM>>>0)Mx=Zx(x);else switch(QM){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var t$=V4(Rx(x));if(2<t$>>>0)Mx=Zx(x);else switch(t$){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var eW=$U(Rx(x));if(2<eW>>>0)Mx=Zx(x);else switch(eW){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var q0=Hq(Rx(x));if(2<q0>>>0)Mx=Zx(x);else switch(q0){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,61);var oe=_h(Rx(x));Mx=oe===0?L(x):oe===1?v(x):Zx(x)}}}}}}}break;default:Qe(x,87);var wx=V4(Rx(x));if(2<wx>>>0)Mx=Zx(x);else switch(wx){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var he=FL(Rx(x));if(2<he>>>0)Mx=Zx(x);else switch(he){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var st=Hq(Rx(x));if(2<st>>>0)Mx=Zx(x);else switch(st){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var nr=CI(Rx(x));if(2<nr>>>0)Mx=Zx(x);else switch(nr){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var Vr=AL(Rx(x));if(2<Vr>>>0)Mx=Zx(x);else switch(Vr){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var ta=V4(Rx(x));if(2<ta>>>0)Mx=Zx(x);else switch(ta){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,62);var Ta=_h(Rx(x));Mx=Ta===0?L(x):Ta===1?v(x):Zx(x)}}}}}}}}break;case 40:Qe(x,87);var dc=V4(Rx(x));if(2<dc>>>0)Mx=Zx(x);else switch(dc){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var el=qk(Rx(x));if(2<el>>>0)Mx=Zx(x);else switch(el){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,63);var um=_h(Rx(x));Mx=um===0?L(x):um===1?v(x):Zx(x)}}break;case 41:Qe(x,87);var h8=Rx(x);if(h8)var ax=h8[1],k4=35<ax?C_<ax?ha<ax?vs<ax?-1:ne<ax?Mu<ax?Nh<ax?_D<ax?O2<ax?a7<ax?uy<ax?pE<ax?Jg<ax?0:-1:$D<ax?ks<ax?0:-1:0:-1:N2<ax?up<ax?A7<ax?A_<ax?0:-1:0:-1:e<ax?Xf<ax?0:-1:0:-1:Ld<ax?w1<ax?Zo<ax?Ov<ax?pv<ax?mg<ax?Xy<ax?Cm<ax?ob<ax?Sd<ax?0:-1:0:-1:d2<ax?qt<ax?0:-1:0:-1:Am<ax?$_<ax?Bt<ax?Pp<ax?0:-1:0:-1:Fc<ax?_3<ax?0:-1:0:-1:yy<ax?sn<ax?G3<ax?jl<ax?vd<ax?Hb<ax?0:-1:0:-1:Gt<ax?aC<ax?0:-1:0:-1:_e<ax?Ac<ax?Gv<ax?op<ax?0:-1:0:-1:Zl<ax?Jv<ax?0:-1:0:-1:I_<ax?Pb<ax?gg<ax?ih<ax?m7<ax?P7<ax?np<ax?bv<ax?0:-1:0:-1:Yp<ax?Rg<ax?0:-1:0:-1:dp<ax?V7<ax?Kh<ax?Xl<ax?0:-1:0:-1:oD<ax?Jb<ax?0:-1:0:-1:Us<ax?dd<ax?hv<ax?Dp<ax?jv<ax?Zp<ax?0:-1:0:-1:bD<ax?V3<ax?0:-1:0:-1:gv<ax?iv<ax?oh<ax?Ym<ax?0:-1:0:-1:Gy<ax?p7<ax?0:-1:0:-1:fp<ax?Ef<ax?c7<ax?l0<ax?Z1<ax?Hr<ax?Eb<ax?Xb<ax?OD<ax?R2<ax?kE<ax?Iv<ax?0:-1:0:-1:0:Ox<ax?Kf<ax?gE<ax?Va<ax?0:-1:0:-1:ge<ax?_l<ax?0:-1:0:pD<ax?vE<ax?ky<ax?wp<ax?0:-1:p3<ax?Ih<ax?0:-1:0:-1:MD<ax?OC<ax?0:-1:KC<ax?r3<ax?0:-1:0:-1:I2<ax?lo<ax?Re<ax?yC<ax?ME<ax?db<ax?fg<ax?Wy<ax?0:-1:0:-1:XE<ax?xd<ax?0:-1:0:-1:Wa<ax?yc<ax?S3<ax?Kl<ax?0:-1:0:-1:Fy<ax?xc<ax?0:-1:0:-1:ka<ax?Kp<ax?uE<ax?Lg<ax?_C<ax?OE<ax?0:-1:0:-1:v2<ax?Hm<ax?0:-1:0:-1:Wx<ax?ff<ax?Tb<ax?Fm<ax?0:-1:0:-1:b3<ax?k7<ax?0:-1:0:-1:d3<ax?Ad<ax?P3<ax?Yd<ax?eu<ax?l7<ax?Mt<ax?v1<ax?Cg<ax?Xm<ax?0:-1:0:-1:zf<ax?mD<ax?0:-1:0:-1:Mv<ax?tt<ax?Pm<ax?ld<ax?0:-1:0:-1:$3<ax?zp<ax?0:-1:0:-1:qx<ax?n3<ax?YD<ax?uD<ax?I7<ax?fl<ax?0:-1:0:-1:al<ax?j_<ax?0:-1:0:-1:Cc<ax?N1<ax?O_<ax?B7<ax?0:-1:0:-1:pd<ax?dm<ax?0:-1:0:-1:N0<ax?Xh<ax?dh<ax?dg<ax?b0<ax?bp<ax?Nl<ax?Ph<ax?0:-1:0:-1:M3<ax?lb<ax?0:-1:0:-1:rc<ax?ec<ax?P_<ax?Ud<ax?0:-1:0:-1:fv<ax?K_<ax?0:-1:0:-1:Om<ax?Ag<ax?rf<ax?O3<ax?Fn<ax?bt<ax?0:-1:0:-1:U<ax?j7<ax?0:-1:0:-1:DC<ax?ed<ax?Im<ax?i3<ax?0:-1:0:-1:0:-1:kv<ax?Hd<ax?Jy<ax?Za<ax?wD<ax?E1<ax?ag<ax?xh<ax?Hv<ax?vv<ax?l3<ax?0:-1:0:-1:H3<ax?co<ax?0:-1:0:-1:LD<ax?ex<ax?qy<ax?nD<ax?0:-1:0:-1:ED<ax?Pa<ax?0:-1:0:-1:sD<ax?th<ax?hh<ax?L_<ax?h3<ax?Cy<ax?0:-1:0:-1:w7<ax?Ey<ax?0:-1:0:-1:H2<ax?eh<ax?xv<ax?0:-1:0:u2<ax?C<ax?0:-1:0:P<ax?Kg<ax?wl<ax?b_<ax?cc<ax?W_<ax?0:-1:Tg<ax?i_<ax?0:-1:0:-1:Sb<ax?tv<ax?s7<ax?Ku<ax?0:-1:0:-1:nb<ax?Cf<ax?0:-1:0:-1:aE<ax?Gr<ax?hE<ax?O<ax?0:-1:Uc<ax?Qv<ax?0:-1:0:-1:Un<ax?T3<ax?X_<ax?BC<ax?0:-1:0:-1:p2<ax?dy<ax?0:-1:0:-1:Jr<ax?uv<ax?Gc<ax?mo<ax?Q3<ax?vD<ax?yv<ax?Qd<ax?e7<ax?Jh<ax?0:-1:0:-1:u7<ax?b2<ax?0:-1:0:-1:BD<ax?0:oE<ax?bg<ax?0:-1:0:-1:B3<ax?0:sE<ax?G2<ax?pa<ax?o7<ax?0:-1:0:-1:0:-1:r_<ax?$y<ax?U3<ax?X7<ax?C7<ax?wh<ax?L7<ax?0:-1:0:-1:Zy<ax?t8<ax?0:-1:0:LC<ax?jp<ax?0:-1:F3<ax?lE<ax?0:-1:0:-1:UD<ax?uc<ax?tm<ax?C0<ax?0:-1:G0<ax?rD<ax?0:-1:0:-1:0:Qb<ax?N7<ax?D2<ax?Se<ax?D_<ax?_g<ax?MC<ax?hy<ax?ub<ax?ph<ax?$7<ax?yE<ax?0:-1:S0<ax?Dh<ax?0:-1:0:-1:Ko<ax&&kg<ax?o0<ax?0:-1:0:FD<ax?_y<ax?c3<ax&&EC<ax?ho<ax?0:-1:0:-1:Xp<ax?Bp<ax?_u<ax?GD<ax?0:-1:0:-1:Q2<ax?g7<ax?0:-1:0:Y_<ax?NE<ax?n8<ax||Fd<ax?0:SE<ax?Y3<ax?0:-1:0:-1:rs<ax||Pc<ax?0:SC<ax?Bd<ax?0:-1:0:D7<ax?Em<ax?Ju<ax?QE<ax?zm<ax&&sy<ax?mb<ax?0:-1:0:m_<ax&&g3<ax?Gf<ax?0:-1:0:-1:CD<ax?Mg<ax?Yg<ax?If<ax?_c<ax?Uv<ax?0:-1:0:-1:0:-1:0:Mc<ax?wy<ax?CE<ax?EE<ax?vp<ax?D<ax?Ub<ax?0:-1:0:-1:0:NC<ax?0:e3<ax?m3<ax?0:-1:0:-1:j3<ax&&v7<ax&&cv<ax?FC<ax?0:-1:0:Gh<ax?Mm<ax?fi<ax?SD<ax?FE<ax?ri<ax?DD<ax?qD<ax?0:-1:mf<ax?Ep<ax?0:-1:0:-1:0:Nc<ax?Wg<ax?0:My<ax?ib<ax?0:-1:0:UC<ax&&p1<ax?C2<ax?0:-1:0:GE<ax?pm<ax?o2<ax?Dg<ax&&S7<ax?zg<ax?0:-1:0:-1:Tt<ax?y7<ax?cb<ax?M7<ax?0:-1:0:-1:0:0:-1:qv<ax?WC<ax?am<ax?_m<ax?Op<ax?x_<ax?0:-1:lv<ax?ze<ax?0:-1:0:0:x7<ax?Oh<ax?H_<ax?0:$a<ax?Z2<ax?0:-1:0:-1:py<ax?Iy<ax?bd<ax?0:-1:0:v_<ax?Ne<ax?0:-1:0:-1:yo<ax?Yh<ax?xm<ax?fy<ax?o1<ax?Hi<ax?my<ax?0:-1:0:-1:md<ax?ol<ax?0:-1:0:0:-1:_1<ax?za<ax?xl<ax?ws<ax?f7<ax?Iu<ax?0:-1:0:-1:n_<ax?ym<ax?0:-1:0:-1:Il<ax?z_<ax?Bo<ax?xf<ax?0:-1:0:-1:0:-1:vm<ax?Ii<ax?ce<ax?Q7<ax?bh<ax?x3<ax?E2<ax?M<ax&&tD<ax?AE<ax?0:-1:0:pg<ax?Su<ax?qm<ax?t_<ax?0:-1:0:-1:S_<ax?jd<ax?0:-1:0:-1:AC<ax?wE<ax?Zr<ax?Td<ax?t7<ax?0:-1:0:-1:lh<ax?JE<ax?0:-1:0:0:yl<ax?Q_<ax?jf<ax?X2<ax?Wm<ax?0:-1:Kb<ax?_i<ax?0:-1:0:-1:K0<ax?jC<ax?0:-1:Mn<ax?C3<ax?0:-1:0:oy<ax?0:Zv<ax?hb<ax?0:-1:RC<ax?qh<ax?0:-1:0:$f<ax?gy<ax?xD<ax?dC<ax?Xd<ax?Z<ax?Jl<ax?0:-1:0:$C<ax?Ss<ax?0:-1:0:-1:0:Xo<ax?pp<ax?Bs<ax?e8<ax?TC<ax?0:-1:0:-1:Ug<ax?bm<ax?0:-1:0:0:Hu<ax?zC<ax?om<ax?y3<ax?VD<ax?0:-1:TE<ax?Lf<ax?0:-1:0:0:-1:F7<ax?mv<ax?b7<ax?ov<ax?Xn<ax?0:-1:0:Lb<ax?Ky<ax?0:-1:0:-1:dE<ax?K3<ax?H<ax?kb<ax?0:-1:0:-1:0:-1:Vf<ax?Cd<ax?zv<ax?hl<ax?hm<ax?Qp<ax?sC<ax?f0<ax?yD<ax?Th<ax?Qy<ax?0:-1:0:-1:vg<ax?E_<ax?0:-1:0:-1:Sm<ax?Zm<ax?n7<ax?k_<ax?0:-1:0:-1:ot<ax?PD<ax?0:-1:0:B0<ax?e_<ax?iC<ax?Nb<ax?Ob<ax?ab<ax?0:-1:0:-1:Ws<ax?pb<ax?0:-1:0:-1:tC<ax?wv<ax?P2<ax?DE<ax?0:-1:0:-1:Mo<ax?Vg<ax?0:-1:0:-1:Wl<ax?Gd<ax?Sl<ax?O7<ax?mu<ax?0:-1:IC<ax?A0<ax?0:-1:0:c2<ax?jb<ax?Yl<ax?b1<ax?0:-1:0:-1:Dy<ax?oi<ax?0:-1:0:-1:zh<ax?Te<ax?of<ax?Vy<ax?Yu<ax?Ut<ax?0:-1:0:-1:Rv<ax?sv<ax?0:-1:0:-1:U7<ax?Bm<ax?Bv<ax?qg<ax?0:-1:0:-1:jg<ax?cD<ax?0:-1:0:-1:tb<ax?h7<ax?Ay<ax?Wh<ax?_7<ax?rC<ax?hc<ax?Uu<ax?oC<ax?O0<ax?0:-1:0:-1:s1<ax?HD<ax?0:-1:0:-1:Ix<ax?rd<ax?df<ax?tl<ax?0:-1:0:-1:Tm<ax?B2<ax?0:-1:0:-1:Pv<ax?Tp<ax?e0<ax?Xc<ax?a_<ax?0:-1:0:-1:ly<ax?Wp<ax?0:-1:0:mp<ax?Nv<ax?Vh<ax?tf<ax?0:-1:0:-1:rl<ax?aD<ax?0:-1:0:-1:Lv<ax?d0<ax?Gm<ax?Xv<ax?LE<ax?Fg<ax?0:-1:0:Zc<ax?Zb<ax?0:-1:0:E3<ax?0:Qg<ax?wg<ax?0:-1:0:-1:pf<ax?Bh<ax?Id<ax?Ly<ax?R_<ax?U0<ax?0:-1:0:-1:Up<ax?G_<ax?0:-1:0:-1:k3<ax?cy<ax?g0<ax?U1<ax?0:-1:0:-1:qr<ax?De<ax?0:-1:0:-1:Zt<ax?ry<ax?Qm<ax?gm<ax?Ds<ax?a8<ax?ql<ax?wf<ax?L2<ax?xu<ax?jy<ax?Rd<ax?Rb<ax?W3<ax?Y0<ax?0:-1:0:-1:U_<ax?xC<ax?0:-1:0:-1:Jm<ax?Dm<ax?Al<ax?Fl<ax?0:-1:0:-1:F_<ax?Nt<ax?0:-1:0:-1:Ff<ax?0:y2<ax?l1<ax?vy<ax?gd<ax?0:-1:0:-1:Fh<ax?Sh<ax?0:-1:0:-1:P0<ax?W7<ax?YE<ax?i8<ax?dD<ax?Vb<ax?Y7<ax?V0<ax?0:-1:0:-1:av<ax?W<ax?0:-1:0:-1:Vv<ax?gC<ax?Is<ax?cp<ax?0:-1:0:-1:Gb<ax?RE<ax?0:-1:0:-1:y0<ax?Ou<ax?bo<ax?rb<ax?E7<ax?ZD<ax?0:-1:0:-1:Ty<ax?by<ax?0:-1:0:-1:mh<ax?mm<ax?Gg<ax?I3<ax?0:-1:0:-1:li<ax?Av<ax?0:-1:0:-1:La<ax?Uy<ax?Cp<ax?js<ax?q_<ax?lD<ax&&QD<ax?ID<ax?0:-1:0:-1:H1<ax?c0<ax?N_<ax?l2<ax?0:-1:0:-1:kp<ax?Hy<ax?0:-1:0:-1:hf<ax?fE<ax?gb<ax?d<ax?w3<ax?_o<ax?0:-1:0:-1:td<ax?C1<ax?0:-1:0:-1:cE<ax?wb<ax?0:-1:0:Xg<ax?Fv<ax?x8<ax?0:Bb<ax?uC<ax?fb<ax?0:-1:0:fD<ax?nf<ax?0:-1:0:-1:J7<ax?Kt<ax?og<ax?V_<ax?G<ax?Kv<ax?0:-1:0:-1:wm<ax?Jf<ax?0:-1:0:-1:rm<ax&&Fb<ax?kh<ax?0:-1:0:q3<ax?$<ax?x2<ax?Uh<ax?BE<ax&&X3<ax?ts<ax?0:-1:0:J3<ax?G1<ax?qs<ax?0:-1:0:Wv<ax?N3<ax?0:-1:0:0:Hh<ax?$m<ax?0:Sv<ax?_b<ax?0:-1:0:g_<ax?Rc<ax?Ev<ax?PC<ax?Mr<ax?0:-1:0:-1:0:rv<ax?0:$d<ax?Ur<ax?0:-1:0:nx<ax?ZE<ax?qa<ax?0:Eg<ax&&JD<ax?M2<ax?0:-1:0:ip<ax?K7<ax?0:$c<ax?Vm<ax?0:-1:0:gt<ax&&R7<ax?Mf<ax?0:-1:0:z7<ax?_<ax?0:zd<ax?bC<ax?0:-1:eC<ax?L3<ax?0:-1:0:Sy<ax?wC<ax?cl<ax?0:-1:0:ng<ax?0:zy<ax?Pf<ax?0:-1:0:-1:Hp<ax?lg<ax?I1<ax?h_<ax?Rl<ax?ev<ax?IE<ax?r8<ax?PE<ax?0:-1:sp<ax?D3<ax?0:-1:0:fh<ax?0:A3<ax?Ip<ax?0:-1:0:-1:0:p8<ax?Hf<ax?0:Dv<ax?Px<ax?Pe<ax?kD<ax?0:-1:0:-1:0:By<ax?wd<ax&&$b<ax?ny<ax?0:-1:0:_E<ax?$v<ax?iy<ax?em<ax?0:-1:0:-1:0:Lo<ax?sf<ax?Zd<ax?R0<ax?0:v3<ax?CC<ax?zl<ax?iD<ax?0:-1:0:-1:0:ig<ax?m2<ax?rp<ax&&gD<ax?Ed<ax?0:-1:0:-1:bn<ax?__<ax?0:-1:0:-1:i7<ax?Fo<ax?nd<ax?Y2<ax?nC<ax?0:Wb<ax?cg<ax?0:-1:0:-1:Eh<ax?wu<ax?T_<ax?lp<ax?0:-1:0:-1:sb<ax?ds<ax?0:-1:0:-1:vh<ax?dv<ax?Hx<ax?Tv<ax?Rp<ax?0:-1:0:xi<ax?af<ax?0:-1:0:-1:0:-1:mE<ax?bf<ax?Ib<ax?r7<ax?sh<ax?I0<ax?Lm<ax?qf<ax&&_t<ax?ep<ax?0:-1:0:-1:HE<ax&&kC<ax?Hg<ax?0:-1:0:-1:s2<ax?rx<ax?AD<ax?0:Nf<ax?h2<ax?0:-1:0:-1:Ah<ax?uh<ax?Ch<ax?hD<ax?0:-1:0:-1:Zg<ax?q7<ax?0:-1:0:-1:_v<ax?f3<ax?Cv<ax?ay<ax?Yy<ax?hg<ax?Md<ax?Ro<ax?0:-1:0:-1:ND<ax?$h<ax?0:-1:0:-1:kf<ax?Of<ax?0:-1:TD<ax?nv<ax?0:-1:0:-1:R3<ax?ch<ax?y_<ax?WD<ax?Js<ax?0:-1:0:-1:Ap<ax?qb<ax?0:-1:0:Mb<ax?ht<ax?0:-1:0:pl<ax?d7<ax?Uf<ax?nl<ax?Km<ax?j<ax?_d<ax?G7<ax?xb<ax?0:-1:0:-1:D0<ax?H7<ax?0:-1:0:Vp<ax?w_<ax?0:-1:a3<ax?Sg<ax?0:-1:0:-1:zD<ax?bE<ax&&Yv<ax?Ry<ax?0:-1:0:oc<ax?$i<ax?0:-1:XD<ax?t3<ax?0:-1:0:-1:$e<ax?ah<ax?Bi<ax?d_<ax?Pu<ax?j2<ax?an<ax?0:-1:0:z3<ax?Yb<ax?0:-1:0:-1:zb<ax?B_<ax?nm<ax?eD<ax?0:-1:0:-1:ug<ax?T7<ax?0:-1:0:-1:Z7<ax?Yi<ax?J_<ax?Dd<ax?W1<ax?Oy<ax?0:-1:0:-1:M_<ax?Z3<ax?0:-1:0:-1:eb<ax?im<ax?qC<ax?Rf<ax?0:-1:0:-1:Np<ax?Kc<ax?0:-1:0:-1:fr(KX1,ax+Kd|0)-1|0:-1;else k4=-1;if(3<k4>>>0)Mx=Zx(x);else switch(k4){case 0:Mx=L(x);break;case 1:Mx=v(x);break;case 2:Qe(x,87);var MA=c20(Rx(x));if(2<MA>>>0)Mx=Zx(x);else switch(MA){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,64);var q4=_h(Rx(x));Mx=q4===0?L(x):q4===1?v(x):Zx(x)}break;default:Qe(x,87);var QT=aO(Rx(x));if(2<QT>>>0)Mx=Zx(x);else switch(QT){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var yw=aO(Rx(x));if(2<yw>>>0)Mx=Zx(x);else switch(yw){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,65);var hk=_h(Rx(x));Mx=hk===0?L(x):hk===1?v(x):Zx(x)}}}break;case 42:Qe(x,87);var N9=Rx(x);if(N9)var tx=N9[1],g8=35<tx?C_<tx?ha<tx?vs<tx?-1:ne<tx?Mu<tx?Nh<tx?_D<tx?O2<tx?a7<tx?uy<tx?pE<tx?Jg<tx?0:-1:$D<tx?ks<tx?0:-1:0:-1:N2<tx?up<tx?A7<tx?A_<tx?0:-1:0:-1:e<tx?Xf<tx?0:-1:0:-1:Ld<tx?w1<tx?Zo<tx?Ov<tx?pv<tx?mg<tx?Xy<tx?Cm<tx?ob<tx?Sd<tx?0:-1:0:-1:d2<tx?qt<tx?0:-1:0:-1:Am<tx?$_<tx?Bt<tx?Pp<tx?0:-1:0:-1:Fc<tx?_3<tx?0:-1:0:-1:yy<tx?sn<tx?G3<tx?jl<tx?vd<tx?Hb<tx?0:-1:0:-1:Gt<tx?aC<tx?0:-1:0:-1:_e<tx?Ac<tx?Gv<tx?op<tx?0:-1:0:-1:Zl<tx?Jv<tx?0:-1:0:-1:I_<tx?Pb<tx?gg<tx?ih<tx?m7<tx?P7<tx?np<tx?bv<tx?0:-1:0:-1:Yp<tx?Rg<tx?0:-1:0:-1:dp<tx?V7<tx?Kh<tx?Xl<tx?0:-1:0:-1:oD<tx?Jb<tx?0:-1:0:-1:Us<tx?dd<tx?hv<tx?Dp<tx?jv<tx?Zp<tx?0:-1:0:-1:bD<tx?V3<tx?0:-1:0:-1:gv<tx?iv<tx?oh<tx?Ym<tx?0:-1:0:-1:Gy<tx?p7<tx?0:-1:0:-1:fp<tx?Ef<tx?c7<tx?l0<tx?Z1<tx?Hr<tx?Eb<tx?Xb<tx?OD<tx?R2<tx?kE<tx?Iv<tx?0:-1:0:-1:0:Ox<tx?Kf<tx?gE<tx?Va<tx?0:-1:0:-1:ge<tx?_l<tx?0:-1:0:pD<tx?vE<tx?ky<tx?wp<tx?0:-1:p3<tx?Ih<tx?0:-1:0:-1:MD<tx?OC<tx?0:-1:KC<tx?r3<tx?0:-1:0:-1:I2<tx?lo<tx?Re<tx?yC<tx?ME<tx?db<tx?fg<tx?Wy<tx?0:-1:0:-1:XE<tx?xd<tx?0:-1:0:-1:Wa<tx?yc<tx?S3<tx?Kl<tx?0:-1:0:-1:Fy<tx?xc<tx?0:-1:0:-1:ka<tx?Kp<tx?uE<tx?Lg<tx?_C<tx?OE<tx?0:-1:0:-1:v2<tx?Hm<tx?0:-1:0:-1:Wx<tx?ff<tx?Tb<tx?Fm<tx?0:-1:0:-1:b3<tx?k7<tx?0:-1:0:-1:d3<tx?Ad<tx?P3<tx?Yd<tx?eu<tx?l7<tx?Mt<tx?v1<tx?Cg<tx?Xm<tx?0:-1:0:-1:zf<tx?mD<tx?0:-1:0:-1:Mv<tx?tt<tx?Pm<tx?ld<tx?0:-1:0:-1:$3<tx?zp<tx?0:-1:0:-1:qx<tx?n3<tx?YD<tx?uD<tx?I7<tx?fl<tx?0:-1:0:-1:al<tx?j_<tx?0:-1:0:-1:Cc<tx?N1<tx?O_<tx?B7<tx?0:-1:0:-1:pd<tx?dm<tx?0:-1:0:-1:N0<tx?Xh<tx?dh<tx?dg<tx?b0<tx?bp<tx?Nl<tx?Ph<tx?0:-1:0:-1:M3<tx?lb<tx?0:-1:0:-1:rc<tx?ec<tx?P_<tx?Ud<tx?0:-1:0:-1:fv<tx?K_<tx?0:-1:0:-1:Om<tx?Ag<tx?rf<tx?O3<tx?Fn<tx?bt<tx?0:-1:0:-1:U<tx?j7<tx?0:-1:0:-1:DC<tx?ed<tx?Im<tx?i3<tx?0:-1:0:-1:0:-1:kv<tx?Hd<tx?Jy<tx?Za<tx?wD<tx?E1<tx?ag<tx?xh<tx?Hv<tx?vv<tx?l3<tx?0:-1:0:-1:H3<tx?co<tx?0:-1:0:-1:LD<tx?ex<tx?qy<tx?nD<tx?0:-1:0:-1:ED<tx?Pa<tx?0:-1:0:-1:sD<tx?th<tx?hh<tx?L_<tx?h3<tx?Cy<tx?0:-1:0:-1:w7<tx?Ey<tx?0:-1:0:-1:H2<tx?eh<tx?xv<tx?0:-1:0:u2<tx?C<tx?0:-1:0:P<tx?Kg<tx?wl<tx?b_<tx?cc<tx?W_<tx?0:-1:Tg<tx?i_<tx?0:-1:0:-1:Sb<tx?tv<tx?s7<tx?Ku<tx?0:-1:0:-1:nb<tx?Cf<tx?0:-1:0:-1:aE<tx?Gr<tx?hE<tx?O<tx?0:-1:Uc<tx?Qv<tx?0:-1:0:-1:Un<tx?T3<tx?X_<tx?BC<tx?0:-1:0:-1:p2<tx?dy<tx?0:-1:0:-1:Jr<tx?uv<tx?Gc<tx?mo<tx?Q3<tx?vD<tx?yv<tx?Qd<tx?e7<tx?Jh<tx?0:-1:0:-1:u7<tx?b2<tx?0:-1:0:-1:BD<tx?0:oE<tx?bg<tx?0:-1:0:-1:B3<tx?0:sE<tx?G2<tx?pa<tx?o7<tx?0:-1:0:-1:0:-1:r_<tx?$y<tx?U3<tx?X7<tx?C7<tx?wh<tx?L7<tx?0:-1:0:-1:Zy<tx?t8<tx?0:-1:0:LC<tx?jp<tx?0:-1:F3<tx?lE<tx?0:-1:0:-1:UD<tx?uc<tx?tm<tx?C0<tx?0:-1:G0<tx?rD<tx?0:-1:0:-1:0:Qb<tx?N7<tx?D2<tx?Se<tx?D_<tx?_g<tx?MC<tx?hy<tx?ub<tx?ph<tx?$7<tx?yE<tx?0:-1:S0<tx?Dh<tx?0:-1:0:-1:Ko<tx&&kg<tx?o0<tx?0:-1:0:FD<tx?_y<tx?c3<tx&&EC<tx?ho<tx?0:-1:0:-1:Xp<tx?Bp<tx?_u<tx?GD<tx?0:-1:0:-1:Q2<tx?g7<tx?0:-1:0:Y_<tx?NE<tx?n8<tx||Fd<tx?0:SE<tx?Y3<tx?0:-1:0:-1:rs<tx||Pc<tx?0:SC<tx?Bd<tx?0:-1:0:D7<tx?Em<tx?Ju<tx?QE<tx?zm<tx&&sy<tx?mb<tx?0:-1:0:m_<tx&&g3<tx?Gf<tx?0:-1:0:-1:CD<tx?Mg<tx?Yg<tx?If<tx?_c<tx?Uv<tx?0:-1:0:-1:0:-1:0:Mc<tx?wy<tx?CE<tx?EE<tx?vp<tx?D<tx?Ub<tx?0:-1:0:-1:0:NC<tx?0:e3<tx?m3<tx?0:-1:0:-1:j3<tx&&v7<tx&&cv<tx?FC<tx?0:-1:0:Gh<tx?Mm<tx?fi<tx?SD<tx?FE<tx?ri<tx?DD<tx?qD<tx?0:-1:mf<tx?Ep<tx?0:-1:0:-1:0:Nc<tx?Wg<tx?0:My<tx?ib<tx?0:-1:0:UC<tx&&p1<tx?C2<tx?0:-1:0:GE<tx?pm<tx?o2<tx?Dg<tx&&S7<tx?zg<tx?0:-1:0:-1:Tt<tx?y7<tx?cb<tx?M7<tx?0:-1:0:-1:0:0:-1:qv<tx?WC<tx?am<tx?_m<tx?Op<tx?x_<tx?0:-1:lv<tx?ze<tx?0:-1:0:0:x7<tx?Oh<tx?H_<tx?0:$a<tx?Z2<tx?0:-1:0:-1:py<tx?Iy<tx?bd<tx?0:-1:0:v_<tx?Ne<tx?0:-1:0:-1:yo<tx?Yh<tx?xm<tx?fy<tx?o1<tx?Hi<tx?my<tx?0:-1:0:-1:md<tx?ol<tx?0:-1:0:0:-1:_1<tx?za<tx?xl<tx?ws<tx?f7<tx?Iu<tx?0:-1:0:-1:n_<tx?ym<tx?0:-1:0:-1:Il<tx?z_<tx?Bo<tx?xf<tx?0:-1:0:-1:0:-1:vm<tx?Ii<tx?ce<tx?Q7<tx?bh<tx?x3<tx?E2<tx?M<tx&&tD<tx?AE<tx?0:-1:0:pg<tx?Su<tx?qm<tx?t_<tx?0:-1:0:-1:S_<tx?jd<tx?0:-1:0:-1:AC<tx?wE<tx?Zr<tx?Td<tx?t7<tx?0:-1:0:-1:lh<tx?JE<tx?0:-1:0:0:yl<tx?Q_<tx?jf<tx?X2<tx?Wm<tx?0:-1:Kb<tx?_i<tx?0:-1:0:-1:K0<tx?jC<tx?0:-1:Mn<tx?C3<tx?0:-1:0:oy<tx?0:Zv<tx?hb<tx?0:-1:RC<tx?qh<tx?0:-1:0:$f<tx?gy<tx?xD<tx?dC<tx?Xd<tx?Z<tx?Jl<tx?0:-1:0:$C<tx?Ss<tx?0:-1:0:-1:0:Xo<tx?pp<tx?Bs<tx?e8<tx?TC<tx?0:-1:0:-1:Ug<tx?bm<tx?0:-1:0:0:Hu<tx?zC<tx?om<tx?y3<tx?VD<tx?0:-1:TE<tx?Lf<tx?0:-1:0:0:-1:F7<tx?mv<tx?b7<tx?ov<tx?Xn<tx?0:-1:0:Lb<tx?Ky<tx?0:-1:0:-1:dE<tx?K3<tx?H<tx?kb<tx?0:-1:0:-1:0:-1:Vf<tx?Cd<tx?zv<tx?hl<tx?hm<tx?Qp<tx?sC<tx?f0<tx?yD<tx?Th<tx?Qy<tx?0:-1:0:-1:vg<tx?E_<tx?0:-1:0:-1:Sm<tx?Zm<tx?n7<tx?k_<tx?0:-1:0:-1:ot<tx?PD<tx?0:-1:0:B0<tx?e_<tx?iC<tx?Nb<tx?Ob<tx?ab<tx?0:-1:0:-1:Ws<tx?pb<tx?0:-1:0:-1:tC<tx?wv<tx?P2<tx?DE<tx?0:-1:0:-1:Mo<tx?Vg<tx?0:-1:0:-1:Wl<tx?Gd<tx?Sl<tx?O7<tx?mu<tx?0:-1:IC<tx?A0<tx?0:-1:0:c2<tx?jb<tx?Yl<tx?b1<tx?0:-1:0:-1:Dy<tx?oi<tx?0:-1:0:-1:zh<tx?Te<tx?of<tx?Vy<tx?Yu<tx?Ut<tx?0:-1:0:-1:Rv<tx?sv<tx?0:-1:0:-1:U7<tx?Bm<tx?Bv<tx?qg<tx?0:-1:0:-1:jg<tx?cD<tx?0:-1:0:-1:tb<tx?h7<tx?Ay<tx?Wh<tx?_7<tx?rC<tx?hc<tx?Uu<tx?oC<tx?O0<tx?0:-1:0:-1:s1<tx?HD<tx?0:-1:0:-1:Ix<tx?rd<tx?df<tx?tl<tx?0:-1:0:-1:Tm<tx?B2<tx?0:-1:0:-1:Pv<tx?Tp<tx?e0<tx?Xc<tx?a_<tx?0:-1:0:-1:ly<tx?Wp<tx?0:-1:0:mp<tx?Nv<tx?Vh<tx?tf<tx?0:-1:0:-1:rl<tx?aD<tx?0:-1:0:-1:Lv<tx?d0<tx?Gm<tx?Xv<tx?LE<tx?Fg<tx?0:-1:0:Zc<tx?Zb<tx?0:-1:0:E3<tx?0:Qg<tx?wg<tx?0:-1:0:-1:pf<tx?Bh<tx?Id<tx?Ly<tx?R_<tx?U0<tx?0:-1:0:-1:Up<tx?G_<tx?0:-1:0:-1:k3<tx?cy<tx?g0<tx?U1<tx?0:-1:0:-1:qr<tx?De<tx?0:-1:0:-1:Zt<tx?ry<tx?Qm<tx?gm<tx?Ds<tx?a8<tx?ql<tx?wf<tx?L2<tx?xu<tx?jy<tx?Rd<tx?Rb<tx?W3<tx?Y0<tx?0:-1:0:-1:U_<tx?xC<tx?0:-1:0:-1:Jm<tx?Dm<tx?Al<tx?Fl<tx?0:-1:0:-1:F_<tx?Nt<tx?0:-1:0:-1:Ff<tx?0:y2<tx?l1<tx?vy<tx?gd<tx?0:-1:0:-1:Fh<tx?Sh<tx?0:-1:0:-1:P0<tx?W7<tx?YE<tx?i8<tx?dD<tx?Vb<tx?Y7<tx?V0<tx?0:-1:0:-1:av<tx?W<tx?0:-1:0:-1:Vv<tx?gC<tx?Is<tx?cp<tx?0:-1:0:-1:Gb<tx?RE<tx?0:-1:0:-1:y0<tx?Ou<tx?bo<tx?rb<tx?E7<tx?ZD<tx?0:-1:0:-1:Ty<tx?by<tx?0:-1:0:-1:mh<tx?mm<tx?Gg<tx?I3<tx?0:-1:0:-1:li<tx?Av<tx?0:-1:0:-1:La<tx?Uy<tx?Cp<tx?js<tx?q_<tx?lD<tx&&QD<tx?ID<tx?0:-1:0:-1:H1<tx?c0<tx?N_<tx?l2<tx?0:-1:0:-1:kp<tx?Hy<tx?0:-1:0:-1:hf<tx?fE<tx?gb<tx?d<tx?w3<tx?_o<tx?0:-1:0:-1:td<tx?C1<tx?0:-1:0:-1:cE<tx?wb<tx?0:-1:0:Xg<tx?Fv<tx?x8<tx?0:Bb<tx?uC<tx?fb<tx?0:-1:0:fD<tx?nf<tx?0:-1:0:-1:J7<tx?Kt<tx?og<tx?V_<tx?G<tx?Kv<tx?0:-1:0:-1:wm<tx?Jf<tx?0:-1:0:-1:rm<tx&&Fb<tx?kh<tx?0:-1:0:q3<tx?$<tx?x2<tx?Uh<tx?BE<tx&&X3<tx?ts<tx?0:-1:0:J3<tx?G1<tx?qs<tx?0:-1:0:Wv<tx?N3<tx?0:-1:0:0:Hh<tx?$m<tx?0:Sv<tx?_b<tx?0:-1:0:g_<tx?Rc<tx?Ev<tx?PC<tx?Mr<tx?0:-1:0:-1:0:rv<tx?0:$d<tx?Ur<tx?0:-1:0:nx<tx?ZE<tx?qa<tx?0:Eg<tx&&JD<tx?M2<tx?0:-1:0:ip<tx?K7<tx?0:$c<tx?Vm<tx?0:-1:0:gt<tx&&R7<tx?Mf<tx?0:-1:0:z7<tx?_<tx?0:zd<tx?bC<tx?0:-1:eC<tx?L3<tx?0:-1:0:Sy<tx?wC<tx?cl<tx?0:-1:0:ng<tx?0:zy<tx?Pf<tx?0:-1:0:-1:Hp<tx?lg<tx?I1<tx?h_<tx?Rl<tx?ev<tx?IE<tx?r8<tx?PE<tx?0:-1:sp<tx?D3<tx?0:-1:0:fh<tx?0:A3<tx?Ip<tx?0:-1:0:-1:0:p8<tx?Hf<tx?0:Dv<tx?Px<tx?Pe<tx?kD<tx?0:-1:0:-1:0:By<tx?wd<tx&&$b<tx?ny<tx?0:-1:0:_E<tx?$v<tx?iy<tx?em<tx?0:-1:0:-1:0:Lo<tx?sf<tx?Zd<tx?R0<tx?0:v3<tx?CC<tx?zl<tx?iD<tx?0:-1:0:-1:0:ig<tx?m2<tx?rp<tx&&gD<tx?Ed<tx?0:-1:0:-1:bn<tx?__<tx?0:-1:0:-1:i7<tx?Fo<tx?nd<tx?Y2<tx?nC<tx?0:Wb<tx?cg<tx?0:-1:0:-1:Eh<tx?wu<tx?T_<tx?lp<tx?0:-1:0:-1:sb<tx?ds<tx?0:-1:0:-1:vh<tx?dv<tx?Hx<tx?Tv<tx?Rp<tx?0:-1:0:xi<tx?af<tx?0:-1:0:-1:0:-1:mE<tx?bf<tx?Ib<tx?r7<tx?sh<tx?I0<tx?Lm<tx?qf<tx&&_t<tx?ep<tx?0:-1:0:-1:HE<tx&&kC<tx?Hg<tx?0:-1:0:-1:s2<tx?rx<tx?AD<tx?0:Nf<tx?h2<tx?0:-1:0:-1:Ah<tx?uh<tx?Ch<tx?hD<tx?0:-1:0:-1:Zg<tx?q7<tx?0:-1:0:-1:_v<tx?f3<tx?Cv<tx?ay<tx?Yy<tx?hg<tx?Md<tx?Ro<tx?0:-1:0:-1:ND<tx?$h<tx?0:-1:0:-1:kf<tx?Of<tx?0:-1:TD<tx?nv<tx?0:-1:0:-1:R3<tx?ch<tx?y_<tx?WD<tx?Js<tx?0:-1:0:-1:Ap<tx?qb<tx?0:-1:0:Mb<tx?ht<tx?0:-1:0:pl<tx?d7<tx?Uf<tx?nl<tx?Km<tx?j<tx?_d<tx?G7<tx?xb<tx?0:-1:0:-1:D0<tx?H7<tx?0:-1:0:Vp<tx?w_<tx?0:-1:a3<tx?Sg<tx?0:-1:0:-1:zD<tx?bE<tx&&Yv<tx?Ry<tx?0:-1:0:oc<tx?$i<tx?0:-1:XD<tx?t3<tx?0:-1:0:-1:$e<tx?ah<tx?Bi<tx?d_<tx?Pu<tx?j2<tx?an<tx?0:-1:0:z3<tx?Yb<tx?0:-1:0:-1:zb<tx?B_<tx?nm<tx?eD<tx?0:-1:0:-1:ug<tx?T7<tx?0:-1:0:-1:Z7<tx?Yi<tx?J_<tx?Dd<tx?W1<tx?Oy<tx?0:-1:0:-1:M_<tx?Z3<tx?0:-1:0:-1:eb<tx?im<tx?qC<tx?Rf<tx?0:-1:0:-1:Np<tx?Kc<tx?0:-1:0:-1:fr(qX1,tx+Kd|0)-1|0:-1;else g8=-1;if(3<g8>>>0)Mx=Zx(x);else switch(g8){case 0:Mx=L(x);break;case 1:Mx=v(x);break;case 2:Qe(x,66);var f9=_h(Rx(x));Mx=f9===0?L(x):f9===1?v(x):Zx(x);break;default:Qe(x,87);var RP=CI(Rx(x));if(2<RP>>>0)Mx=Zx(x);else switch(RP){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var q8=Rx(x);if(q8)var mx=q8[1],rP=35<mx?C_<mx?ha<mx?vs<mx?-1:ne<mx?Mu<mx?Nh<mx?_D<mx?O2<mx?a7<mx?uy<mx?pE<mx?Jg<mx?0:-1:$D<mx?ks<mx?0:-1:0:-1:N2<mx?up<mx?A7<mx?A_<mx?0:-1:0:-1:e<mx?Xf<mx?0:-1:0:-1:Ld<mx?w1<mx?Zo<mx?Ov<mx?pv<mx?mg<mx?Xy<mx?Cm<mx?ob<mx?Sd<mx?0:-1:0:-1:d2<mx?qt<mx?0:-1:0:-1:Am<mx?$_<mx?Bt<mx?Pp<mx?0:-1:0:-1:Fc<mx?_3<mx?0:-1:0:-1:yy<mx?sn<mx?G3<mx?jl<mx?vd<mx?Hb<mx?0:-1:0:-1:Gt<mx?aC<mx?0:-1:0:-1:_e<mx?Ac<mx?Gv<mx?op<mx?0:-1:0:-1:Zl<mx?Jv<mx?0:-1:0:-1:I_<mx?Pb<mx?gg<mx?ih<mx?m7<mx?P7<mx?np<mx?bv<mx?0:-1:0:-1:Yp<mx?Rg<mx?0:-1:0:-1:dp<mx?V7<mx?Kh<mx?Xl<mx?0:-1:0:-1:oD<mx?Jb<mx?0:-1:0:-1:Us<mx?dd<mx?hv<mx?Dp<mx?jv<mx?Zp<mx?0:-1:0:-1:bD<mx?V3<mx?0:-1:0:-1:gv<mx?iv<mx?oh<mx?Ym<mx?0:-1:0:-1:Gy<mx?p7<mx?0:-1:0:-1:fp<mx?Ef<mx?c7<mx?l0<mx?Z1<mx?Hr<mx?Eb<mx?Xb<mx?OD<mx?R2<mx?kE<mx?Iv<mx?0:-1:0:-1:0:Ox<mx?Kf<mx?gE<mx?Va<mx?0:-1:0:-1:ge<mx?_l<mx?0:-1:0:pD<mx?vE<mx?ky<mx?wp<mx?0:-1:p3<mx?Ih<mx?0:-1:0:-1:MD<mx?OC<mx?0:-1:KC<mx?r3<mx?0:-1:0:-1:I2<mx?lo<mx?Re<mx?yC<mx?ME<mx?db<mx?fg<mx?Wy<mx?0:-1:0:-1:XE<mx?xd<mx?0:-1:0:-1:Wa<mx?yc<mx?S3<mx?Kl<mx?0:-1:0:-1:Fy<mx?xc<mx?0:-1:0:-1:ka<mx?Kp<mx?uE<mx?Lg<mx?_C<mx?OE<mx?0:-1:0:-1:v2<mx?Hm<mx?0:-1:0:-1:Wx<mx?ff<mx?Tb<mx?Fm<mx?0:-1:0:-1:b3<mx?k7<mx?0:-1:0:-1:d3<mx?Ad<mx?P3<mx?Yd<mx?eu<mx?l7<mx?Mt<mx?v1<mx?Cg<mx?Xm<mx?0:-1:0:-1:zf<mx?mD<mx?0:-1:0:-1:Mv<mx?tt<mx?Pm<mx?ld<mx?0:-1:0:-1:$3<mx?zp<mx?0:-1:0:-1:qx<mx?n3<mx?YD<mx?uD<mx?I7<mx?fl<mx?0:-1:0:-1:al<mx?j_<mx?0:-1:0:-1:Cc<mx?N1<mx?O_<mx?B7<mx?0:-1:0:-1:pd<mx?dm<mx?0:-1:0:-1:N0<mx?Xh<mx?dh<mx?dg<mx?b0<mx?bp<mx?Nl<mx?Ph<mx?0:-1:0:-1:M3<mx?lb<mx?0:-1:0:-1:rc<mx?ec<mx?P_<mx?Ud<mx?0:-1:0:-1:fv<mx?K_<mx?0:-1:0:-1:Om<mx?Ag<mx?rf<mx?O3<mx?Fn<mx?bt<mx?0:-1:0:-1:U<mx?j7<mx?0:-1:0:-1:DC<mx?ed<mx?Im<mx?i3<mx?0:-1:0:-1:0:-1:kv<mx?Hd<mx?Jy<mx?Za<mx?wD<mx?E1<mx?ag<mx?xh<mx?Hv<mx?vv<mx?l3<mx?0:-1:0:-1:H3<mx?co<mx?0:-1:0:-1:LD<mx?ex<mx?qy<mx?nD<mx?0:-1:0:-1:ED<mx?Pa<mx?0:-1:0:-1:sD<mx?th<mx?hh<mx?L_<mx?h3<mx?Cy<mx?0:-1:0:-1:w7<mx?Ey<mx?0:-1:0:-1:H2<mx?eh<mx?xv<mx?0:-1:0:u2<mx?C<mx?0:-1:0:P<mx?Kg<mx?wl<mx?b_<mx?cc<mx?W_<mx?0:-1:Tg<mx?i_<mx?0:-1:0:-1:Sb<mx?tv<mx?s7<mx?Ku<mx?0:-1:0:-1:nb<mx?Cf<mx?0:-1:0:-1:aE<mx?Gr<mx?hE<mx?O<mx?0:-1:Uc<mx?Qv<mx?0:-1:0:-1:Un<mx?T3<mx?X_<mx?BC<mx?0:-1:0:-1:p2<mx?dy<mx?0:-1:0:-1:Jr<mx?uv<mx?Gc<mx?mo<mx?Q3<mx?vD<mx?yv<mx?Qd<mx?e7<mx?Jh<mx?0:-1:0:-1:u7<mx?b2<mx?0:-1:0:-1:BD<mx?0:oE<mx?bg<mx?0:-1:0:-1:B3<mx?0:sE<mx?G2<mx?pa<mx?o7<mx?0:-1:0:-1:0:-1:r_<mx?$y<mx?U3<mx?X7<mx?C7<mx?wh<mx?L7<mx?0:-1:0:-1:Zy<mx?t8<mx?0:-1:0:LC<mx?jp<mx?0:-1:F3<mx?lE<mx?0:-1:0:-1:UD<mx?uc<mx?tm<mx?C0<mx?0:-1:G0<mx?rD<mx?0:-1:0:-1:0:Qb<mx?N7<mx?D2<mx?Se<mx?D_<mx?_g<mx?MC<mx?hy<mx?ub<mx?ph<mx?$7<mx?yE<mx?0:-1:S0<mx?Dh<mx?0:-1:0:-1:Ko<mx&&kg<mx?o0<mx?0:-1:0:FD<mx?_y<mx?c3<mx&&EC<mx?ho<mx?0:-1:0:-1:Xp<mx?Bp<mx?_u<mx?GD<mx?0:-1:0:-1:Q2<mx?g7<mx?0:-1:0:Y_<mx?NE<mx?n8<mx||Fd<mx?0:SE<mx?Y3<mx?0:-1:0:-1:rs<mx||Pc<mx?0:SC<mx?Bd<mx?0:-1:0:D7<mx?Em<mx?Ju<mx?QE<mx?zm<mx&&sy<mx?mb<mx?0:-1:0:m_<mx&&g3<mx?Gf<mx?0:-1:0:-1:CD<mx?Mg<mx?Yg<mx?If<mx?_c<mx?Uv<mx?0:-1:0:-1:0:-1:0:Mc<mx?wy<mx?CE<mx?EE<mx?vp<mx?D<mx?Ub<mx?0:-1:0:-1:0:NC<mx?0:e3<mx?m3<mx?0:-1:0:-1:j3<mx&&v7<mx&&cv<mx?FC<mx?0:-1:0:Gh<mx?Mm<mx?fi<mx?SD<mx?FE<mx?ri<mx?DD<mx?qD<mx?0:-1:mf<mx?Ep<mx?0:-1:0:-1:0:Nc<mx?Wg<mx?0:My<mx?ib<mx?0:-1:0:UC<mx&&p1<mx?C2<mx?0:-1:0:GE<mx?pm<mx?o2<mx?Dg<mx&&S7<mx?zg<mx?0:-1:0:-1:Tt<mx?y7<mx?cb<mx?M7<mx?0:-1:0:-1:0:0:-1:qv<mx?WC<mx?am<mx?_m<mx?Op<mx?x_<mx?0:-1:lv<mx?ze<mx?0:-1:0:0:x7<mx?Oh<mx?H_<mx?0:$a<mx?Z2<mx?0:-1:0:-1:py<mx?Iy<mx?bd<mx?0:-1:0:v_<mx?Ne<mx?0:-1:0:-1:yo<mx?Yh<mx?xm<mx?fy<mx?o1<mx?Hi<mx?my<mx?0:-1:0:-1:md<mx?ol<mx?0:-1:0:0:-1:_1<mx?za<mx?xl<mx?ws<mx?f7<mx?Iu<mx?0:-1:0:-1:n_<mx?ym<mx?0:-1:0:-1:Il<mx?z_<mx?Bo<mx?xf<mx?0:-1:0:-1:0:-1:vm<mx?Ii<mx?ce<mx?Q7<mx?bh<mx?x3<mx?E2<mx?M<mx&&tD<mx?AE<mx?0:-1:0:pg<mx?Su<mx?qm<mx?t_<mx?0:-1:0:-1:S_<mx?jd<mx?0:-1:0:-1:AC<mx?wE<mx?Zr<mx?Td<mx?t7<mx?0:-1:0:-1:lh<mx?JE<mx?0:-1:0:0:yl<mx?Q_<mx?jf<mx?X2<mx?Wm<mx?0:-1:Kb<mx?_i<mx?0:-1:0:-1:K0<mx?jC<mx?0:-1:Mn<mx?C3<mx?0:-1:0:oy<mx?0:Zv<mx?hb<mx?0:-1:RC<mx?qh<mx?0:-1:0:$f<mx?gy<mx?xD<mx?dC<mx?Xd<mx?Z<mx?Jl<mx?0:-1:0:$C<mx?Ss<mx?0:-1:0:-1:0:Xo<mx?pp<mx?Bs<mx?e8<mx?TC<mx?0:-1:0:-1:Ug<mx?bm<mx?0:-1:0:0:Hu<mx?zC<mx?om<mx?y3<mx?VD<mx?0:-1:TE<mx?Lf<mx?0:-1:0:0:-1:F7<mx?mv<mx?b7<mx?ov<mx?Xn<mx?0:-1:0:Lb<mx?Ky<mx?0:-1:0:-1:dE<mx?K3<mx?H<mx?kb<mx?0:-1:0:-1:0:-1:Vf<mx?Cd<mx?zv<mx?hl<mx?hm<mx?Qp<mx?sC<mx?f0<mx?yD<mx?Th<mx?Qy<mx?0:-1:0:-1:vg<mx?E_<mx?0:-1:0:-1:Sm<mx?Zm<mx?n7<mx?k_<mx?0:-1:0:-1:ot<mx?PD<mx?0:-1:0:B0<mx?e_<mx?iC<mx?Nb<mx?Ob<mx?ab<mx?0:-1:0:-1:Ws<mx?pb<mx?0:-1:0:-1:tC<mx?wv<mx?P2<mx?DE<mx?0:-1:0:-1:Mo<mx?Vg<mx?0:-1:0:-1:Wl<mx?Gd<mx?Sl<mx?O7<mx?mu<mx?0:-1:IC<mx?A0<mx?0:-1:0:c2<mx?jb<mx?Yl<mx?b1<mx?0:-1:0:-1:Dy<mx?oi<mx?0:-1:0:-1:zh<mx?Te<mx?of<mx?Vy<mx?Yu<mx?Ut<mx?0:-1:0:-1:Rv<mx?sv<mx?0:-1:0:-1:U7<mx?Bm<mx?Bv<mx?qg<mx?0:-1:0:-1:jg<mx?cD<mx?0:-1:0:-1:tb<mx?h7<mx?Ay<mx?Wh<mx?_7<mx?rC<mx?hc<mx?Uu<mx?oC<mx?O0<mx?0:-1:0:-1:s1<mx?HD<mx?0:-1:0:-1:Ix<mx?rd<mx?df<mx?tl<mx?0:-1:0:-1:Tm<mx?B2<mx?0:-1:0:-1:Pv<mx?Tp<mx?e0<mx?Xc<mx?a_<mx?0:-1:0:-1:ly<mx?Wp<mx?0:-1:0:mp<mx?Nv<mx?Vh<mx?tf<mx?0:-1:0:-1:rl<mx?aD<mx?0:-1:0:-1:Lv<mx?d0<mx?Gm<mx?Xv<mx?LE<mx?Fg<mx?0:-1:0:Zc<mx?Zb<mx?0:-1:0:E3<mx?0:Qg<mx?wg<mx?0:-1:0:-1:pf<mx?Bh<mx?Id<mx?Ly<mx?R_<mx?U0<mx?0:-1:0:-1:Up<mx?G_<mx?0:-1:0:-1:k3<mx?cy<mx?g0<mx?U1<mx?0:-1:0:-1:qr<mx?De<mx?0:-1:0:-1:Zt<mx?ry<mx?Qm<mx?gm<mx?Ds<mx?a8<mx?ql<mx?wf<mx?L2<mx?xu<mx?jy<mx?Rd<mx?Rb<mx?W3<mx?Y0<mx?0:-1:0:-1:U_<mx?xC<mx?0:-1:0:-1:Jm<mx?Dm<mx?Al<mx?Fl<mx?0:-1:0:-1:F_<mx?Nt<mx?0:-1:0:-1:Ff<mx?0:y2<mx?l1<mx?vy<mx?gd<mx?0:-1:0:-1:Fh<mx?Sh<mx?0:-1:0:-1:P0<mx?W7<mx?YE<mx?i8<mx?dD<mx?Vb<mx?Y7<mx?V0<mx?0:-1:0:-1:av<mx?W<mx?0:-1:0:-1:Vv<mx?gC<mx?Is<mx?cp<mx?0:-1:0:-1:Gb<mx?RE<mx?0:-1:0:-1:y0<mx?Ou<mx?bo<mx?rb<mx?E7<mx?ZD<mx?0:-1:0:-1:Ty<mx?by<mx?0:-1:0:-1:mh<mx?mm<mx?Gg<mx?I3<mx?0:-1:0:-1:li<mx?Av<mx?0:-1:0:-1:La<mx?Uy<mx?Cp<mx?js<mx?q_<mx?lD<mx&&QD<mx?ID<mx?0:-1:0:-1:H1<mx?c0<mx?N_<mx?l2<mx?0:-1:0:-1:kp<mx?Hy<mx?0:-1:0:-1:hf<mx?fE<mx?gb<mx?d<mx?w3<mx?_o<mx?0:-1:0:-1:td<mx?C1<mx?0:-1:0:-1:cE<mx?wb<mx?0:-1:0:Xg<mx?Fv<mx?x8<mx?0:Bb<mx?uC<mx?fb<mx?0:-1:0:fD<mx?nf<mx?0:-1:0:-1:J7<mx?Kt<mx?og<mx?V_<mx?G<mx?Kv<mx?0:-1:0:-1:wm<mx?Jf<mx?0:-1:0:-1:rm<mx&&Fb<mx?kh<mx?0:-1:0:q3<mx?$<mx?x2<mx?Uh<mx?BE<mx&&X3<mx?ts<mx?0:-1:0:J3<mx?G1<mx?qs<mx?0:-1:0:Wv<mx?N3<mx?0:-1:0:0:Hh<mx?$m<mx?0:Sv<mx?_b<mx?0:-1:0:g_<mx?Rc<mx?Ev<mx?PC<mx?Mr<mx?0:-1:0:-1:0:rv<mx?0:$d<mx?Ur<mx?0:-1:0:nx<mx?ZE<mx?qa<mx?0:Eg<mx&&JD<mx?M2<mx?0:-1:0:ip<mx?K7<mx?0:$c<mx?Vm<mx?0:-1:0:gt<mx&&R7<mx?Mf<mx?0:-1:0:z7<mx?_<mx?0:zd<mx?bC<mx?0:-1:eC<mx?L3<mx?0:-1:0:Sy<mx?wC<mx?cl<mx?0:-1:0:ng<mx?0:zy<mx?Pf<mx?0:-1:0:-1:Hp<mx?lg<mx?I1<mx?h_<mx?Rl<mx?ev<mx?IE<mx?r8<mx?PE<mx?0:-1:sp<mx?D3<mx?0:-1:0:fh<mx?0:A3<mx?Ip<mx?0:-1:0:-1:0:p8<mx?Hf<mx?0:Dv<mx?Px<mx?Pe<mx?kD<mx?0:-1:0:-1:0:By<mx?wd<mx&&$b<mx?ny<mx?0:-1:0:_E<mx?$v<mx?iy<mx?em<mx?0:-1:0:-1:0:Lo<mx?sf<mx?Zd<mx?R0<mx?0:v3<mx?CC<mx?zl<mx?iD<mx?0:-1:0:-1:0:ig<mx?m2<mx?rp<mx&&gD<mx?Ed<mx?0:-1:0:-1:bn<mx?__<mx?0:-1:0:-1:i7<mx?Fo<mx?nd<mx?Y2<mx?nC<mx?0:Wb<mx?cg<mx?0:-1:0:-1:Eh<mx?wu<mx?T_<mx?lp<mx?0:-1:0:-1:sb<mx?ds<mx?0:-1:0:-1:vh<mx?dv<mx?Hx<mx?Tv<mx?Rp<mx?0:-1:0:xi<mx?af<mx?0:-1:0:-1:0:-1:mE<mx?bf<mx?Ib<mx?r7<mx?sh<mx?I0<mx?Lm<mx?qf<mx&&_t<mx?ep<mx?0:-1:0:-1:HE<mx&&kC<mx?Hg<mx?0:-1:0:-1:s2<mx?rx<mx?AD<mx?0:Nf<mx?h2<mx?0:-1:0:-1:Ah<mx?uh<mx?Ch<mx?hD<mx?0:-1:0:-1:Zg<mx?q7<mx?0:-1:0:-1:_v<mx?f3<mx?Cv<mx?ay<mx?Yy<mx?hg<mx?Md<mx?Ro<mx?0:-1:0:-1:ND<mx?$h<mx?0:-1:0:-1:kf<mx?Of<mx?0:-1:TD<mx?nv<mx?0:-1:0:-1:R3<mx?ch<mx?y_<mx?WD<mx?Js<mx?0:-1:0:-1:Ap<mx?qb<mx?0:-1:0:Mb<mx?ht<mx?0:-1:0:pl<mx?d7<mx?Uf<mx?nl<mx?Km<mx?j<mx?_d<mx?G7<mx?xb<mx?0:-1:0:-1:D0<mx?H7<mx?0:-1:0:Vp<mx?w_<mx?0:-1:a3<mx?Sg<mx?0:-1:0:-1:zD<mx?bE<mx&&Yv<mx?Ry<mx?0:-1:0:oc<mx?$i<mx?0:-1:XD<mx?t3<mx?0:-1:0:-1:$e<mx?ah<mx?Bi<mx?d_<mx?Pu<mx?j2<mx?an<mx?0:-1:0:z3<mx?Yb<mx?0:-1:0:-1:zb<mx?B_<mx?nm<mx?eD<mx?0:-1:0:-1:ug<mx?T7<mx?0:-1:0:-1:Z7<mx?Yi<mx?J_<mx?Dd<mx?W1<mx?Oy<mx?0:-1:0:-1:M_<mx?Z3<mx?0:-1:0:-1:eb<mx?im<mx?qC<mx?Rf<mx?0:-1:0:-1:Np<mx?Kc<mx?0:-1:0:-1:fr(DX1,mx+Kd|0)-1|0:-1;else rP=-1;if(2<rP>>>0)Mx=Zx(x);else switch(rP){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var Z9=JV(Rx(x));if(2<Z9>>>0)Mx=Zx(x);else switch(Z9){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var fB=V4(Rx(x));if(2<fB>>>0)Mx=Zx(x);else switch(fB){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,67);var pB=_h(Rx(x));Mx=pB===0?L(x):pB===1?v(x):Zx(x)}}}}}break;case 43:Qe(x,87);var xy=Rx(x);if(xy)var hx=xy[1],XU=35<hx?C_<hx?ha<hx?vs<hx?-1:ne<hx?Mu<hx?Nh<hx?_D<hx?O2<hx?a7<hx?uy<hx?pE<hx?Jg<hx?0:-1:$D<hx?ks<hx?0:-1:0:-1:N2<hx?up<hx?A7<hx?A_<hx?0:-1:0:-1:e<hx?Xf<hx?0:-1:0:-1:Ld<hx?w1<hx?Zo<hx?Ov<hx?pv<hx?mg<hx?Xy<hx?Cm<hx?ob<hx?Sd<hx?0:-1:0:-1:d2<hx?qt<hx?0:-1:0:-1:Am<hx?$_<hx?Bt<hx?Pp<hx?0:-1:0:-1:Fc<hx?_3<hx?0:-1:0:-1:yy<hx?sn<hx?G3<hx?jl<hx?vd<hx?Hb<hx?0:-1:0:-1:Gt<hx?aC<hx?0:-1:0:-1:_e<hx?Ac<hx?Gv<hx?op<hx?0:-1:0:-1:Zl<hx?Jv<hx?0:-1:0:-1:I_<hx?Pb<hx?gg<hx?ih<hx?m7<hx?P7<hx?np<hx?bv<hx?0:-1:0:-1:Yp<hx?Rg<hx?0:-1:0:-1:dp<hx?V7<hx?Kh<hx?Xl<hx?0:-1:0:-1:oD<hx?Jb<hx?0:-1:0:-1:Us<hx?dd<hx?hv<hx?Dp<hx?jv<hx?Zp<hx?0:-1:0:-1:bD<hx?V3<hx?0:-1:0:-1:gv<hx?iv<hx?oh<hx?Ym<hx?0:-1:0:-1:Gy<hx?p7<hx?0:-1:0:-1:fp<hx?Ef<hx?c7<hx?l0<hx?Z1<hx?Hr<hx?Eb<hx?Xb<hx?OD<hx?R2<hx?kE<hx?Iv<hx?0:-1:0:-1:0:Ox<hx?Kf<hx?gE<hx?Va<hx?0:-1:0:-1:ge<hx?_l<hx?0:-1:0:pD<hx?vE<hx?ky<hx?wp<hx?0:-1:p3<hx?Ih<hx?0:-1:0:-1:MD<hx?OC<hx?0:-1:KC<hx?r3<hx?0:-1:0:-1:I2<hx?lo<hx?Re<hx?yC<hx?ME<hx?db<hx?fg<hx?Wy<hx?0:-1:0:-1:XE<hx?xd<hx?0:-1:0:-1:Wa<hx?yc<hx?S3<hx?Kl<hx?0:-1:0:-1:Fy<hx?xc<hx?0:-1:0:-1:ka<hx?Kp<hx?uE<hx?Lg<hx?_C<hx?OE<hx?0:-1:0:-1:v2<hx?Hm<hx?0:-1:0:-1:Wx<hx?ff<hx?Tb<hx?Fm<hx?0:-1:0:-1:b3<hx?k7<hx?0:-1:0:-1:d3<hx?Ad<hx?P3<hx?Yd<hx?eu<hx?l7<hx?Mt<hx?v1<hx?Cg<hx?Xm<hx?0:-1:0:-1:zf<hx?mD<hx?0:-1:0:-1:Mv<hx?tt<hx?Pm<hx?ld<hx?0:-1:0:-1:$3<hx?zp<hx?0:-1:0:-1:qx<hx?n3<hx?YD<hx?uD<hx?I7<hx?fl<hx?0:-1:0:-1:al<hx?j_<hx?0:-1:0:-1:Cc<hx?N1<hx?O_<hx?B7<hx?0:-1:0:-1:pd<hx?dm<hx?0:-1:0:-1:N0<hx?Xh<hx?dh<hx?dg<hx?b0<hx?bp<hx?Nl<hx?Ph<hx?0:-1:0:-1:M3<hx?lb<hx?0:-1:0:-1:rc<hx?ec<hx?P_<hx?Ud<hx?0:-1:0:-1:fv<hx?K_<hx?0:-1:0:-1:Om<hx?Ag<hx?rf<hx?O3<hx?Fn<hx?bt<hx?0:-1:0:-1:U<hx?j7<hx?0:-1:0:-1:DC<hx?ed<hx?Im<hx?i3<hx?0:-1:0:-1:0:-1:kv<hx?Hd<hx?Jy<hx?Za<hx?wD<hx?E1<hx?ag<hx?xh<hx?Hv<hx?vv<hx?l3<hx?0:-1:0:-1:H3<hx?co<hx?0:-1:0:-1:LD<hx?ex<hx?qy<hx?nD<hx?0:-1:0:-1:ED<hx?Pa<hx?0:-1:0:-1:sD<hx?th<hx?hh<hx?L_<hx?h3<hx?Cy<hx?0:-1:0:-1:w7<hx?Ey<hx?0:-1:0:-1:H2<hx?eh<hx?xv<hx?0:-1:0:u2<hx?C<hx?0:-1:0:P<hx?Kg<hx?wl<hx?b_<hx?cc<hx?W_<hx?0:-1:Tg<hx?i_<hx?0:-1:0:-1:Sb<hx?tv<hx?s7<hx?Ku<hx?0:-1:0:-1:nb<hx?Cf<hx?0:-1:0:-1:aE<hx?Gr<hx?hE<hx?O<hx?0:-1:Uc<hx?Qv<hx?0:-1:0:-1:Un<hx?T3<hx?X_<hx?BC<hx?0:-1:0:-1:p2<hx?dy<hx?0:-1:0:-1:Jr<hx?uv<hx?Gc<hx?mo<hx?Q3<hx?vD<hx?yv<hx?Qd<hx?e7<hx?Jh<hx?0:-1:0:-1:u7<hx?b2<hx?0:-1:0:-1:BD<hx?0:oE<hx?bg<hx?0:-1:0:-1:B3<hx?0:sE<hx?G2<hx?pa<hx?o7<hx?0:-1:0:-1:0:-1:r_<hx?$y<hx?U3<hx?X7<hx?C7<hx?wh<hx?L7<hx?0:-1:0:-1:Zy<hx?t8<hx?0:-1:0:LC<hx?jp<hx?0:-1:F3<hx?lE<hx?0:-1:0:-1:UD<hx?uc<hx?tm<hx?C0<hx?0:-1:G0<hx?rD<hx?0:-1:0:-1:0:Qb<hx?N7<hx?D2<hx?Se<hx?D_<hx?_g<hx?MC<hx?hy<hx?ub<hx?ph<hx?$7<hx?yE<hx?0:-1:S0<hx?Dh<hx?0:-1:0:-1:Ko<hx&&kg<hx?o0<hx?0:-1:0:FD<hx?_y<hx?c3<hx&&EC<hx?ho<hx?0:-1:0:-1:Xp<hx?Bp<hx?_u<hx?GD<hx?0:-1:0:-1:Q2<hx?g7<hx?0:-1:0:Y_<hx?NE<hx?n8<hx||Fd<hx?0:SE<hx?Y3<hx?0:-1:0:-1:rs<hx||Pc<hx?0:SC<hx?Bd<hx?0:-1:0:D7<hx?Em<hx?Ju<hx?QE<hx?zm<hx&&sy<hx?mb<hx?0:-1:0:m_<hx&&g3<hx?Gf<hx?0:-1:0:-1:CD<hx?Mg<hx?Yg<hx?If<hx?_c<hx?Uv<hx?0:-1:0:-1:0:-1:0:Mc<hx?wy<hx?CE<hx?EE<hx?vp<hx?D<hx?Ub<hx?0:-1:0:-1:0:NC<hx?0:e3<hx?m3<hx?0:-1:0:-1:j3<hx&&v7<hx&&cv<hx?FC<hx?0:-1:0:Gh<hx?Mm<hx?fi<hx?SD<hx?FE<hx?ri<hx?DD<hx?qD<hx?0:-1:mf<hx?Ep<hx?0:-1:0:-1:0:Nc<hx?Wg<hx?0:My<hx?ib<hx?0:-1:0:UC<hx&&p1<hx?C2<hx?0:-1:0:GE<hx?pm<hx?o2<hx?Dg<hx&&S7<hx?zg<hx?0:-1:0:-1:Tt<hx?y7<hx?cb<hx?M7<hx?0:-1:0:-1:0:0:-1:qv<hx?WC<hx?am<hx?_m<hx?Op<hx?x_<hx?0:-1:lv<hx?ze<hx?0:-1:0:0:x7<hx?Oh<hx?H_<hx?0:$a<hx?Z2<hx?0:-1:0:-1:py<hx?Iy<hx?bd<hx?0:-1:0:v_<hx?Ne<hx?0:-1:0:-1:yo<hx?Yh<hx?xm<hx?fy<hx?o1<hx?Hi<hx?my<hx?0:-1:0:-1:md<hx?ol<hx?0:-1:0:0:-1:_1<hx?za<hx?xl<hx?ws<hx?f7<hx?Iu<hx?0:-1:0:-1:n_<hx?ym<hx?0:-1:0:-1:Il<hx?z_<hx?Bo<hx?xf<hx?0:-1:0:-1:0:-1:vm<hx?Ii<hx?ce<hx?Q7<hx?bh<hx?x3<hx?E2<hx?M<hx&&tD<hx?AE<hx?0:-1:0:pg<hx?Su<hx?qm<hx?t_<hx?0:-1:0:-1:S_<hx?jd<hx?0:-1:0:-1:AC<hx?wE<hx?Zr<hx?Td<hx?t7<hx?0:-1:0:-1:lh<hx?JE<hx?0:-1:0:0:yl<hx?Q_<hx?jf<hx?X2<hx?Wm<hx?0:-1:Kb<hx?_i<hx?0:-1:0:-1:K0<hx?jC<hx?0:-1:Mn<hx?C3<hx?0:-1:0:oy<hx?0:Zv<hx?hb<hx?0:-1:RC<hx?qh<hx?0:-1:0:$f<hx?gy<hx?xD<hx?dC<hx?Xd<hx?Z<hx?Jl<hx?0:-1:0:$C<hx?Ss<hx?0:-1:0:-1:0:Xo<hx?pp<hx?Bs<hx?e8<hx?TC<hx?0:-1:0:-1:Ug<hx?bm<hx?0:-1:0:0:Hu<hx?zC<hx?om<hx?y3<hx?VD<hx?0:-1:TE<hx?Lf<hx?0:-1:0:0:-1:F7<hx?mv<hx?b7<hx?ov<hx?Xn<hx?0:-1:0:Lb<hx?Ky<hx?0:-1:0:-1:dE<hx?K3<hx?H<hx?kb<hx?0:-1:0:-1:0:-1:Vf<hx?Cd<hx?zv<hx?hl<hx?hm<hx?Qp<hx?sC<hx?f0<hx?yD<hx?Th<hx?Qy<hx?0:-1:0:-1:vg<hx?E_<hx?0:-1:0:-1:Sm<hx?Zm<hx?n7<hx?k_<hx?0:-1:0:-1:ot<hx?PD<hx?0:-1:0:B0<hx?e_<hx?iC<hx?Nb<hx?Ob<hx?ab<hx?0:-1:0:-1:Ws<hx?pb<hx?0:-1:0:-1:tC<hx?wv<hx?P2<hx?DE<hx?0:-1:0:-1:Mo<hx?Vg<hx?0:-1:0:-1:Wl<hx?Gd<hx?Sl<hx?O7<hx?mu<hx?0:-1:IC<hx?A0<hx?0:-1:0:c2<hx?jb<hx?Yl<hx?b1<hx?0:-1:0:-1:Dy<hx?oi<hx?0:-1:0:-1:zh<hx?Te<hx?of<hx?Vy<hx?Yu<hx?Ut<hx?0:-1:0:-1:Rv<hx?sv<hx?0:-1:0:-1:U7<hx?Bm<hx?Bv<hx?qg<hx?0:-1:0:-1:jg<hx?cD<hx?0:-1:0:-1:tb<hx?h7<hx?Ay<hx?Wh<hx?_7<hx?rC<hx?hc<hx?Uu<hx?oC<hx?O0<hx?0:-1:0:-1:s1<hx?HD<hx?0:-1:0:-1:Ix<hx?rd<hx?df<hx?tl<hx?0:-1:0:-1:Tm<hx?B2<hx?0:-1:0:-1:Pv<hx?Tp<hx?e0<hx?Xc<hx?a_<hx?0:-1:0:-1:ly<hx?Wp<hx?0:-1:0:mp<hx?Nv<hx?Vh<hx?tf<hx?0:-1:0:-1:rl<hx?aD<hx?0:-1:0:-1:Lv<hx?d0<hx?Gm<hx?Xv<hx?LE<hx?Fg<hx?0:-1:0:Zc<hx?Zb<hx?0:-1:0:E3<hx?0:Qg<hx?wg<hx?0:-1:0:-1:pf<hx?Bh<hx?Id<hx?Ly<hx?R_<hx?U0<hx?0:-1:0:-1:Up<hx?G_<hx?0:-1:0:-1:k3<hx?cy<hx?g0<hx?U1<hx?0:-1:0:-1:qr<hx?De<hx?0:-1:0:-1:Zt<hx?ry<hx?Qm<hx?gm<hx?Ds<hx?a8<hx?ql<hx?wf<hx?L2<hx?xu<hx?jy<hx?Rd<hx?Rb<hx?W3<hx?Y0<hx?0:-1:0:-1:U_<hx?xC<hx?0:-1:0:-1:Jm<hx?Dm<hx?Al<hx?Fl<hx?0:-1:0:-1:F_<hx?Nt<hx?0:-1:0:-1:Ff<hx?0:y2<hx?l1<hx?vy<hx?gd<hx?0:-1:0:-1:Fh<hx?Sh<hx?0:-1:0:-1:P0<hx?W7<hx?YE<hx?i8<hx?dD<hx?Vb<hx?Y7<hx?V0<hx?0:-1:0:-1:av<hx?W<hx?0:-1:0:-1:Vv<hx?gC<hx?Is<hx?cp<hx?0:-1:0:-1:Gb<hx?RE<hx?0:-1:0:-1:y0<hx?Ou<hx?bo<hx?rb<hx?E7<hx?ZD<hx?0:-1:0:-1:Ty<hx?by<hx?0:-1:0:-1:mh<hx?mm<hx?Gg<hx?I3<hx?0:-1:0:-1:li<hx?Av<hx?0:-1:0:-1:La<hx?Uy<hx?Cp<hx?js<hx?q_<hx?lD<hx&&QD<hx?ID<hx?0:-1:0:-1:H1<hx?c0<hx?N_<hx?l2<hx?0:-1:0:-1:kp<hx?Hy<hx?0:-1:0:-1:hf<hx?fE<hx?gb<hx?d<hx?w3<hx?_o<hx?0:-1:0:-1:td<hx?C1<hx?0:-1:0:-1:cE<hx?wb<hx?0:-1:0:Xg<hx?Fv<hx?x8<hx?0:Bb<hx?uC<hx?fb<hx?0:-1:0:fD<hx?nf<hx?0:-1:0:-1:J7<hx?Kt<hx?og<hx?V_<hx?G<hx?Kv<hx?0:-1:0:-1:wm<hx?Jf<hx?0:-1:0:-1:rm<hx&&Fb<hx?kh<hx?0:-1:0:q3<hx?$<hx?x2<hx?Uh<hx?BE<hx&&X3<hx?ts<hx?0:-1:0:J3<hx?G1<hx?qs<hx?0:-1:0:Wv<hx?N3<hx?0:-1:0:0:Hh<hx?$m<hx?0:Sv<hx?_b<hx?0:-1:0:g_<hx?Rc<hx?Ev<hx?PC<hx?Mr<hx?0:-1:0:-1:0:rv<hx?0:$d<hx?Ur<hx?0:-1:0:nx<hx?ZE<hx?qa<hx?0:Eg<hx&&JD<hx?M2<hx?0:-1:0:ip<hx?K7<hx?0:$c<hx?Vm<hx?0:-1:0:gt<hx&&R7<hx?Mf<hx?0:-1:0:z7<hx?_<hx?0:zd<hx?bC<hx?0:-1:eC<hx?L3<hx?0:-1:0:Sy<hx?wC<hx?cl<hx?0:-1:0:ng<hx?0:zy<hx?Pf<hx?0:-1:0:-1:Hp<hx?lg<hx?I1<hx?h_<hx?Rl<hx?ev<hx?IE<hx?r8<hx?PE<hx?0:-1:sp<hx?D3<hx?0:-1:0:fh<hx?0:A3<hx?Ip<hx?0:-1:0:-1:0:p8<hx?Hf<hx?0:Dv<hx?Px<hx?Pe<hx?kD<hx?0:-1:0:-1:0:By<hx?wd<hx&&$b<hx?ny<hx?0:-1:0:_E<hx?$v<hx?iy<hx?em<hx?0:-1:0:-1:0:Lo<hx?sf<hx?Zd<hx?R0<hx?0:v3<hx?CC<hx?zl<hx?iD<hx?0:-1:0:-1:0:ig<hx?m2<hx?rp<hx&&gD<hx?Ed<hx?0:-1:0:-1:bn<hx?__<hx?0:-1:0:-1:i7<hx?Fo<hx?nd<hx?Y2<hx?nC<hx?0:Wb<hx?cg<hx?0:-1:0:-1:Eh<hx?wu<hx?T_<hx?lp<hx?0:-1:0:-1:sb<hx?ds<hx?0:-1:0:-1:vh<hx?dv<hx?Hx<hx?Tv<hx?Rp<hx?0:-1:0:xi<hx?af<hx?0:-1:0:-1:0:-1:mE<hx?bf<hx?Ib<hx?r7<hx?sh<hx?I0<hx?Lm<hx?qf<hx&&_t<hx?ep<hx?0:-1:0:-1:HE<hx&&kC<hx?Hg<hx?0:-1:0:-1:s2<hx?rx<hx?AD<hx?0:Nf<hx?h2<hx?0:-1:0:-1:Ah<hx?uh<hx?Ch<hx?hD<hx?0:-1:0:-1:Zg<hx?q7<hx?0:-1:0:-1:_v<hx?f3<hx?Cv<hx?ay<hx?Yy<hx?hg<hx?Md<hx?Ro<hx?0:-1:0:-1:ND<hx?$h<hx?0:-1:0:-1:kf<hx?Of<hx?0:-1:TD<hx?nv<hx?0:-1:0:-1:R3<hx?ch<hx?y_<hx?WD<hx?Js<hx?0:-1:0:-1:Ap<hx?qb<hx?0:-1:0:Mb<hx?ht<hx?0:-1:0:pl<hx?d7<hx?Uf<hx?nl<hx?Km<hx?j<hx?_d<hx?G7<hx?xb<hx?0:-1:0:-1:D0<hx?H7<hx?0:-1:0:Vp<hx?w_<hx?0:-1:a3<hx?Sg<hx?0:-1:0:-1:zD<hx?bE<hx&&Yv<hx?Ry<hx?0:-1:0:oc<hx?$i<hx?0:-1:XD<hx?t3<hx?0:-1:0:-1:$e<hx?ah<hx?Bi<hx?d_<hx?Pu<hx?j2<hx?an<hx?0:-1:0:z3<hx?Yb<hx?0:-1:0:-1:zb<hx?B_<hx?nm<hx?eD<hx?0:-1:0:-1:ug<hx?T7<hx?0:-1:0:-1:Z7<hx?Yi<hx?J_<hx?Dd<hx?W1<hx?Oy<hx?0:-1:0:-1:M_<hx?Z3<hx?0:-1:0:-1:eb<hx?im<hx?qC<hx?Rf<hx?0:-1:0:-1:Np<hx?Kc<hx?0:-1:0:-1:fr(rY1,hx+Kd|0)-1|0:-1;else XU=-1;if(4<XU>>>0)Mx=Zx(x);else switch(XU){case 0:Mx=L(x);break;case 1:Mx=v(x);break;case 2:Qe(x,87);var IL=AL(Rx(x));if(2<IL>>>0)Mx=Zx(x);else switch(IL){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var Mh=Kd0(Rx(x));if(2<Mh>>>0)Mx=Zx(x);else switch(Mh){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var YU=CI(Rx(x));if(2<YU>>>0)Mx=Zx(x);else switch(YU){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var tW=Kq(Rx(x));if(2<tW>>>0)Mx=Zx(x);else switch(tW){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var Pj=V4(Rx(x));if(2<Pj>>>0)Mx=Zx(x);else switch(Pj){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,68);var rW=_h(Rx(x));Mx=rW===0?L(x):rW===1?v(x):Zx(x)}}}}}break;case 3:Qe(x,87);var QU=u20(Rx(x));if(3<QU>>>0)Mx=Zx(x);else switch(QU){case 0:Mx=L(x);break;case 1:Mx=v(x);break;case 2:Qe(x,87);var Jd=Rx(x);if(Jd)var Cx=Jd[1],sJ=35<Cx?C_<Cx?ha<Cx?vs<Cx?-1:ne<Cx?Mu<Cx?Nh<Cx?_D<Cx?O2<Cx?a7<Cx?uy<Cx?pE<Cx?Jg<Cx?0:-1:$D<Cx?ks<Cx?0:-1:0:-1:N2<Cx?up<Cx?A7<Cx?A_<Cx?0:-1:0:-1:e<Cx?Xf<Cx?0:-1:0:-1:Ld<Cx?w1<Cx?Zo<Cx?Ov<Cx?pv<Cx?mg<Cx?Xy<Cx?Cm<Cx?ob<Cx?Sd<Cx?0:-1:0:-1:d2<Cx?qt<Cx?0:-1:0:-1:Am<Cx?$_<Cx?Bt<Cx?Pp<Cx?0:-1:0:-1:Fc<Cx?_3<Cx?0:-1:0:-1:yy<Cx?sn<Cx?G3<Cx?jl<Cx?vd<Cx?Hb<Cx?0:-1:0:-1:Gt<Cx?aC<Cx?0:-1:0:-1:_e<Cx?Ac<Cx?Gv<Cx?op<Cx?0:-1:0:-1:Zl<Cx?Jv<Cx?0:-1:0:-1:I_<Cx?Pb<Cx?gg<Cx?ih<Cx?m7<Cx?P7<Cx?np<Cx?bv<Cx?0:-1:0:-1:Yp<Cx?Rg<Cx?0:-1:0:-1:dp<Cx?V7<Cx?Kh<Cx?Xl<Cx?0:-1:0:-1:oD<Cx?Jb<Cx?0:-1:0:-1:Us<Cx?dd<Cx?hv<Cx?Dp<Cx?jv<Cx?Zp<Cx?0:-1:0:-1:bD<Cx?V3<Cx?0:-1:0:-1:gv<Cx?iv<Cx?oh<Cx?Ym<Cx?0:-1:0:-1:Gy<Cx?p7<Cx?0:-1:0:-1:fp<Cx?Ef<Cx?c7<Cx?l0<Cx?Z1<Cx?Hr<Cx?Eb<Cx?Xb<Cx?OD<Cx?R2<Cx?kE<Cx?Iv<Cx?0:-1:0:-1:0:Ox<Cx?Kf<Cx?gE<Cx?Va<Cx?0:-1:0:-1:ge<Cx?_l<Cx?0:-1:0:pD<Cx?vE<Cx?ky<Cx?wp<Cx?0:-1:p3<Cx?Ih<Cx?0:-1:0:-1:MD<Cx?OC<Cx?0:-1:KC<Cx?r3<Cx?0:-1:0:-1:I2<Cx?lo<Cx?Re<Cx?yC<Cx?ME<Cx?db<Cx?fg<Cx?Wy<Cx?0:-1:0:-1:XE<Cx?xd<Cx?0:-1:0:-1:Wa<Cx?yc<Cx?S3<Cx?Kl<Cx?0:-1:0:-1:Fy<Cx?xc<Cx?0:-1:0:-1:ka<Cx?Kp<Cx?uE<Cx?Lg<Cx?_C<Cx?OE<Cx?0:-1:0:-1:v2<Cx?Hm<Cx?0:-1:0:-1:Wx<Cx?ff<Cx?Tb<Cx?Fm<Cx?0:-1:0:-1:b3<Cx?k7<Cx?0:-1:0:-1:d3<Cx?Ad<Cx?P3<Cx?Yd<Cx?eu<Cx?l7<Cx?Mt<Cx?v1<Cx?Cg<Cx?Xm<Cx?0:-1:0:-1:zf<Cx?mD<Cx?0:-1:0:-1:Mv<Cx?tt<Cx?Pm<Cx?ld<Cx?0:-1:0:-1:$3<Cx?zp<Cx?0:-1:0:-1:qx<Cx?n3<Cx?YD<Cx?uD<Cx?I7<Cx?fl<Cx?0:-1:0:-1:al<Cx?j_<Cx?0:-1:0:-1:Cc<Cx?N1<Cx?O_<Cx?B7<Cx?0:-1:0:-1:pd<Cx?dm<Cx?0:-1:0:-1:N0<Cx?Xh<Cx?dh<Cx?dg<Cx?b0<Cx?bp<Cx?Nl<Cx?Ph<Cx?0:-1:0:-1:M3<Cx?lb<Cx?0:-1:0:-1:rc<Cx?ec<Cx?P_<Cx?Ud<Cx?0:-1:0:-1:fv<Cx?K_<Cx?0:-1:0:-1:Om<Cx?Ag<Cx?rf<Cx?O3<Cx?Fn<Cx?bt<Cx?0:-1:0:-1:U<Cx?j7<Cx?0:-1:0:-1:DC<Cx?ed<Cx?Im<Cx?i3<Cx?0:-1:0:-1:0:-1:kv<Cx?Hd<Cx?Jy<Cx?Za<Cx?wD<Cx?E1<Cx?ag<Cx?xh<Cx?Hv<Cx?vv<Cx?l3<Cx?0:-1:0:-1:H3<Cx?co<Cx?0:-1:0:-1:LD<Cx?ex<Cx?qy<Cx?nD<Cx?0:-1:0:-1:ED<Cx?Pa<Cx?0:-1:0:-1:sD<Cx?th<Cx?hh<Cx?L_<Cx?h3<Cx?Cy<Cx?0:-1:0:-1:w7<Cx?Ey<Cx?0:-1:0:-1:H2<Cx?eh<Cx?xv<Cx?0:-1:0:u2<Cx?C<Cx?0:-1:0:P<Cx?Kg<Cx?wl<Cx?b_<Cx?cc<Cx?W_<Cx?0:-1:Tg<Cx?i_<Cx?0:-1:0:-1:Sb<Cx?tv<Cx?s7<Cx?Ku<Cx?0:-1:0:-1:nb<Cx?Cf<Cx?0:-1:0:-1:aE<Cx?Gr<Cx?hE<Cx?O<Cx?0:-1:Uc<Cx?Qv<Cx?0:-1:0:-1:Un<Cx?T3<Cx?X_<Cx?BC<Cx?0:-1:0:-1:p2<Cx?dy<Cx?0:-1:0:-1:Jr<Cx?uv<Cx?Gc<Cx?mo<Cx?Q3<Cx?vD<Cx?yv<Cx?Qd<Cx?e7<Cx?Jh<Cx?0:-1:0:-1:u7<Cx?b2<Cx?0:-1:0:-1:BD<Cx?0:oE<Cx?bg<Cx?0:-1:0:-1:B3<Cx?0:sE<Cx?G2<Cx?pa<Cx?o7<Cx?0:-1:0:-1:0:-1:r_<Cx?$y<Cx?U3<Cx?X7<Cx?C7<Cx?wh<Cx?L7<Cx?0:-1:0:-1:Zy<Cx?t8<Cx?0:-1:0:LC<Cx?jp<Cx?0:-1:F3<Cx?lE<Cx?0:-1:0:-1:UD<Cx?uc<Cx?tm<Cx?C0<Cx?0:-1:G0<Cx?rD<Cx?0:-1:0:-1:0:Qb<Cx?N7<Cx?D2<Cx?Se<Cx?D_<Cx?_g<Cx?MC<Cx?hy<Cx?ub<Cx?ph<Cx?$7<Cx?yE<Cx?0:-1:S0<Cx?Dh<Cx?0:-1:0:-1:Ko<Cx&&kg<Cx?o0<Cx?0:-1:0:FD<Cx?_y<Cx?c3<Cx&&EC<Cx?ho<Cx?0:-1:0:-1:Xp<Cx?Bp<Cx?_u<Cx?GD<Cx?0:-1:0:-1:Q2<Cx?g7<Cx?0:-1:0:Y_<Cx?NE<Cx?n8<Cx||Fd<Cx?0:SE<Cx?Y3<Cx?0:-1:0:-1:rs<Cx||Pc<Cx?0:SC<Cx?Bd<Cx?0:-1:0:D7<Cx?Em<Cx?Ju<Cx?QE<Cx?zm<Cx&&sy<Cx?mb<Cx?0:-1:0:m_<Cx&&g3<Cx?Gf<Cx?0:-1:0:-1:CD<Cx?Mg<Cx?Yg<Cx?If<Cx?_c<Cx?Uv<Cx?0:-1:0:-1:0:-1:0:Mc<Cx?wy<Cx?CE<Cx?EE<Cx?vp<Cx?D<Cx?Ub<Cx?0:-1:0:-1:0:NC<Cx?0:e3<Cx?m3<Cx?0:-1:0:-1:j3<Cx&&v7<Cx&&cv<Cx?FC<Cx?0:-1:0:Gh<Cx?Mm<Cx?fi<Cx?SD<Cx?FE<Cx?ri<Cx?DD<Cx?qD<Cx?0:-1:mf<Cx?Ep<Cx?0:-1:0:-1:0:Nc<Cx?Wg<Cx?0:My<Cx?ib<Cx?0:-1:0:UC<Cx&&p1<Cx?C2<Cx?0:-1:0:GE<Cx?pm<Cx?o2<Cx?Dg<Cx&&S7<Cx?zg<Cx?0:-1:0:-1:Tt<Cx?y7<Cx?cb<Cx?M7<Cx?0:-1:0:-1:0:0:-1:qv<Cx?WC<Cx?am<Cx?_m<Cx?Op<Cx?x_<Cx?0:-1:lv<Cx?ze<Cx?0:-1:0:0:x7<Cx?Oh<Cx?H_<Cx?0:$a<Cx?Z2<Cx?0:-1:0:-1:py<Cx?Iy<Cx?bd<Cx?0:-1:0:v_<Cx?Ne<Cx?0:-1:0:-1:yo<Cx?Yh<Cx?xm<Cx?fy<Cx?o1<Cx?Hi<Cx?my<Cx?0:-1:0:-1:md<Cx?ol<Cx?0:-1:0:0:-1:_1<Cx?za<Cx?xl<Cx?ws<Cx?f7<Cx?Iu<Cx?0:-1:0:-1:n_<Cx?ym<Cx?0:-1:0:-1:Il<Cx?z_<Cx?Bo<Cx?xf<Cx?0:-1:0:-1:0:-1:vm<Cx?Ii<Cx?ce<Cx?Q7<Cx?bh<Cx?x3<Cx?E2<Cx?M<Cx&&tD<Cx?AE<Cx?0:-1:0:pg<Cx?Su<Cx?qm<Cx?t_<Cx?0:-1:0:-1:S_<Cx?jd<Cx?0:-1:0:-1:AC<Cx?wE<Cx?Zr<Cx?Td<Cx?t7<Cx?0:-1:0:-1:lh<Cx?JE<Cx?0:-1:0:0:yl<Cx?Q_<Cx?jf<Cx?X2<Cx?Wm<Cx?0:-1:Kb<Cx?_i<Cx?0:-1:0:-1:K0<Cx?jC<Cx?0:-1:Mn<Cx?C3<Cx?0:-1:0:oy<Cx?0:Zv<Cx?hb<Cx?0:-1:RC<Cx?qh<Cx?0:-1:0:$f<Cx?gy<Cx?xD<Cx?dC<Cx?Xd<Cx?Z<Cx?Jl<Cx?0:-1:0:$C<Cx?Ss<Cx?0:-1:0:-1:0:Xo<Cx?pp<Cx?Bs<Cx?e8<Cx?TC<Cx?0:-1:0:-1:Ug<Cx?bm<Cx?0:-1:0:0:Hu<Cx?zC<Cx?om<Cx?y3<Cx?VD<Cx?0:-1:TE<Cx?Lf<Cx?0:-1:0:0:-1:F7<Cx?mv<Cx?b7<Cx?ov<Cx?Xn<Cx?0:-1:0:Lb<Cx?Ky<Cx?0:-1:0:-1:dE<Cx?K3<Cx?H<Cx?kb<Cx?0:-1:0:-1:0:-1:Vf<Cx?Cd<Cx?zv<Cx?hl<Cx?hm<Cx?Qp<Cx?sC<Cx?f0<Cx?yD<Cx?Th<Cx?Qy<Cx?0:-1:0:-1:vg<Cx?E_<Cx?0:-1:0:-1:Sm<Cx?Zm<Cx?n7<Cx?k_<Cx?0:-1:0:-1:ot<Cx?PD<Cx?0:-1:0:B0<Cx?e_<Cx?iC<Cx?Nb<Cx?Ob<Cx?ab<Cx?0:-1:0:-1:Ws<Cx?pb<Cx?0:-1:0:-1:tC<Cx?wv<Cx?P2<Cx?DE<Cx?0:-1:0:-1:Mo<Cx?Vg<Cx?0:-1:0:-1:Wl<Cx?Gd<Cx?Sl<Cx?O7<Cx?mu<Cx?0:-1:IC<Cx?A0<Cx?0:-1:0:c2<Cx?jb<Cx?Yl<Cx?b1<Cx?0:-1:0:-1:Dy<Cx?oi<Cx?0:-1:0:-1:zh<Cx?Te<Cx?of<Cx?Vy<Cx?Yu<Cx?Ut<Cx?0:-1:0:-1:Rv<Cx?sv<Cx?0:-1:0:-1:U7<Cx?Bm<Cx?Bv<Cx?qg<Cx?0:-1:0:-1:jg<Cx?cD<Cx?0:-1:0:-1:tb<Cx?h7<Cx?Ay<Cx?Wh<Cx?_7<Cx?rC<Cx?hc<Cx?Uu<Cx?oC<Cx?O0<Cx?0:-1:0:-1:s1<Cx?HD<Cx?0:-1:0:-1:Ix<Cx?rd<Cx?df<Cx?tl<Cx?0:-1:0:-1:Tm<Cx?B2<Cx?0:-1:0:-1:Pv<Cx?Tp<Cx?e0<Cx?Xc<Cx?a_<Cx?0:-1:0:-1:ly<Cx?Wp<Cx?0:-1:0:mp<Cx?Nv<Cx?Vh<Cx?tf<Cx?0:-1:0:-1:rl<Cx?aD<Cx?0:-1:0:-1:Lv<Cx?d0<Cx?Gm<Cx?Xv<Cx?LE<Cx?Fg<Cx?0:-1:0:Zc<Cx?Zb<Cx?0:-1:0:E3<Cx?0:Qg<Cx?wg<Cx?0:-1:0:-1:pf<Cx?Bh<Cx?Id<Cx?Ly<Cx?R_<Cx?U0<Cx?0:-1:0:-1:Up<Cx?G_<Cx?0:-1:0:-1:k3<Cx?cy<Cx?g0<Cx?U1<Cx?0:-1:0:-1:qr<Cx?De<Cx?0:-1:0:-1:Zt<Cx?ry<Cx?Qm<Cx?gm<Cx?Ds<Cx?a8<Cx?ql<Cx?wf<Cx?L2<Cx?xu<Cx?jy<Cx?Rd<Cx?Rb<Cx?W3<Cx?Y0<Cx?0:-1:0:-1:U_<Cx?xC<Cx?0:-1:0:-1:Jm<Cx?Dm<Cx?Al<Cx?Fl<Cx?0:-1:0:-1:F_<Cx?Nt<Cx?0:-1:0:-1:Ff<Cx?0:y2<Cx?l1<Cx?vy<Cx?gd<Cx?0:-1:0:-1:Fh<Cx?Sh<Cx?0:-1:0:-1:P0<Cx?W7<Cx?YE<Cx?i8<Cx?dD<Cx?Vb<Cx?Y7<Cx?V0<Cx?0:-1:0:-1:av<Cx?W<Cx?0:-1:0:-1:Vv<Cx?gC<Cx?Is<Cx?cp<Cx?0:-1:0:-1:Gb<Cx?RE<Cx?0:-1:0:-1:y0<Cx?Ou<Cx?bo<Cx?rb<Cx?E7<Cx?ZD<Cx?0:-1:0:-1:Ty<Cx?by<Cx?0:-1:0:-1:mh<Cx?mm<Cx?Gg<Cx?I3<Cx?0:-1:0:-1:li<Cx?Av<Cx?0:-1:0:-1:La<Cx?Uy<Cx?Cp<Cx?js<Cx?q_<Cx?lD<Cx&&QD<Cx?ID<Cx?0:-1:0:-1:H1<Cx?c0<Cx?N_<Cx?l2<Cx?0:-1:0:-1:kp<Cx?Hy<Cx?0:-1:0:-1:hf<Cx?fE<Cx?gb<Cx?d<Cx?w3<Cx?_o<Cx?0:-1:0:-1:td<Cx?C1<Cx?0:-1:0:-1:cE<Cx?wb<Cx?0:-1:0:Xg<Cx?Fv<Cx?x8<Cx?0:Bb<Cx?uC<Cx?fb<Cx?0:-1:0:fD<Cx?nf<Cx?0:-1:0:-1:J7<Cx?Kt<Cx?og<Cx?V_<Cx?G<Cx?Kv<Cx?0:-1:0:-1:wm<Cx?Jf<Cx?0:-1:0:-1:rm<Cx&&Fb<Cx?kh<Cx?0:-1:0:q3<Cx?$<Cx?x2<Cx?Uh<Cx?BE<Cx&&X3<Cx?ts<Cx?0:-1:0:J3<Cx?G1<Cx?qs<Cx?0:-1:0:Wv<Cx?N3<Cx?0:-1:0:0:Hh<Cx?$m<Cx?0:Sv<Cx?_b<Cx?0:-1:0:g_<Cx?Rc<Cx?Ev<Cx?PC<Cx?Mr<Cx?0:-1:0:-1:0:rv<Cx?0:$d<Cx?Ur<Cx?0:-1:0:nx<Cx?ZE<Cx?qa<Cx?0:Eg<Cx&&JD<Cx?M2<Cx?0:-1:0:ip<Cx?K7<Cx?0:$c<Cx?Vm<Cx?0:-1:0:gt<Cx&&R7<Cx?Mf<Cx?0:-1:0:z7<Cx?_<Cx?0:zd<Cx?bC<Cx?0:-1:eC<Cx?L3<Cx?0:-1:0:Sy<Cx?wC<Cx?cl<Cx?0:-1:0:ng<Cx?0:zy<Cx?Pf<Cx?0:-1:0:-1:Hp<Cx?lg<Cx?I1<Cx?h_<Cx?Rl<Cx?ev<Cx?IE<Cx?r8<Cx?PE<Cx?0:-1:sp<Cx?D3<Cx?0:-1:0:fh<Cx?0:A3<Cx?Ip<Cx?0:-1:0:-1:0:p8<Cx?Hf<Cx?0:Dv<Cx?Px<Cx?Pe<Cx?kD<Cx?0:-1:0:-1:0:By<Cx?wd<Cx&&$b<Cx?ny<Cx?0:-1:0:_E<Cx?$v<Cx?iy<Cx?em<Cx?0:-1:0:-1:0:Lo<Cx?sf<Cx?Zd<Cx?R0<Cx?0:v3<Cx?CC<Cx?zl<Cx?iD<Cx?0:-1:0:-1:0:ig<Cx?m2<Cx?rp<Cx&&gD<Cx?Ed<Cx?0:-1:0:-1:bn<Cx?__<Cx?0:-1:0:-1:i7<Cx?Fo<Cx?nd<Cx?Y2<Cx?nC<Cx?0:Wb<Cx?cg<Cx?0:-1:0:-1:Eh<Cx?wu<Cx?T_<Cx?lp<Cx?0:-1:0:-1:sb<Cx?ds<Cx?0:-1:0:-1:vh<Cx?dv<Cx?Hx<Cx?Tv<Cx?Rp<Cx?0:-1:0:xi<Cx?af<Cx?0:-1:0:-1:0:-1:mE<Cx?bf<Cx?Ib<Cx?r7<Cx?sh<Cx?I0<Cx?Lm<Cx?qf<Cx&&_t<Cx?ep<Cx?0:-1:0:-1:HE<Cx&&kC<Cx?Hg<Cx?0:-1:0:-1:s2<Cx?rx<Cx?AD<Cx?0:Nf<Cx?h2<Cx?0:-1:0:-1:Ah<Cx?uh<Cx?Ch<Cx?hD<Cx?0:-1:0:-1:Zg<Cx?q7<Cx?0:-1:0:-1:_v<Cx?f3<Cx?Cv<Cx?ay<Cx?Yy<Cx?hg<Cx?Md<Cx?Ro<Cx?0:-1:0:-1:ND<Cx?$h<Cx?0:-1:0:-1:kf<Cx?Of<Cx?0:-1:TD<Cx?nv<Cx?0:-1:0:-1:R3<Cx?ch<Cx?y_<Cx?WD<Cx?Js<Cx?0:-1:0:-1:Ap<Cx?qb<Cx?0:-1:0:Mb<Cx?ht<Cx?0:-1:0:pl<Cx?d7<Cx?Uf<Cx?nl<Cx?Km<Cx?j<Cx?_d<Cx?G7<Cx?xb<Cx?0:-1:0:-1:D0<Cx?H7<Cx?0:-1:0:Vp<Cx?w_<Cx?0:-1:a3<Cx?Sg<Cx?0:-1:0:-1:zD<Cx?bE<Cx&&Yv<Cx?Ry<Cx?0:-1:0:oc<Cx?$i<Cx?0:-1:XD<Cx?t3<Cx?0:-1:0:-1:$e<Cx?ah<Cx?Bi<Cx?d_<Cx?Pu<Cx?j2<Cx?an<Cx?0:-1:0:z3<Cx?Yb<Cx?0:-1:0:-1:zb<Cx?B_<Cx?nm<Cx?eD<Cx?0:-1:0:-1:ug<Cx?T7<Cx?0:-1:0:-1:Z7<Cx?Yi<Cx?J_<Cx?Dd<Cx?W1<Cx?Oy<Cx?0:-1:0:-1:M_<Cx?Z3<Cx?0:-1:0:-1:eb<Cx?im<Cx?qC<Cx?Rf<Cx?0:-1:0:-1:Np<Cx?Kc<Cx?0:-1:0:-1:fr(YX1,Cx+Kd|0)-1|0:-1;else sJ=-1;if(2<sJ>>>0)Mx=Zx(x);else switch(sJ){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var JK=CI(Rx(x));if(2<JK>>>0)Mx=Zx(x);else switch(JK){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var ZY=qk(Rx(x));if(2<ZY>>>0)Mx=Zx(x);else switch(ZY){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var r$=V4(Rx(x));if(2<r$>>>0)Mx=Zx(x);else switch(r$){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,69);var xQ=_h(Rx(x));Mx=xQ===0?L(x):xQ===1?v(x):Zx(x)}}}}break;default:Qe(x,87);var nW=qk(Rx(x));if(2<nW>>>0)Mx=Zx(x);else switch(nW){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var eQ=V4(Rx(x));if(2<eQ>>>0)Mx=Zx(x);else switch(eQ){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var iW=AL(Rx(x));if(2<iW>>>0)Mx=Zx(x);else switch(iW){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var tQ=qk(Rx(x));if(2<tQ>>>0)Mx=Zx(x);else switch(tQ){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var aW=V4(Rx(x));if(2<aW>>>0)Mx=Zx(x);else switch(aW){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var rQ=OK(Rx(x));if(2<rQ>>>0)Mx=Zx(x);else switch(rQ){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,70);var oW=_h(Rx(x));Mx=oW===0?L(x):oW===1?v(x):Zx(x)}}}}}}}break;default:Qe(x,87);var nQ=zt0(Rx(x));if(2<nQ>>>0)Mx=Zx(x);else switch(nQ){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var n$=aO(Rx(x));if(2<n$>>>0)Mx=Zx(x);else switch(n$){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var iQ=oO(Rx(x));if(2<iQ>>>0)Mx=Zx(x);else switch(iQ){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var sW=AL(Rx(x));if(2<sW>>>0)Mx=Zx(x);else switch(sW){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,71);var aQ=_h(Rx(x));Mx=aQ===0?L(x):aQ===1?v(x):Zx(x)}}}}}break;case 44:Qe(x,87);var i$=V4(Rx(x));if(2<i$>>>0)Mx=Zx(x);else switch(i$){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var oQ=qk(Rx(x));if(2<oQ>>>0)Mx=Zx(x);else switch(oQ){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var a$=JV(Rx(x));if(2<a$>>>0)Mx=Zx(x);else switch(a$){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var sQ=FL(Rx(x));if(2<sQ>>>0)Mx=Zx(x);else switch(sQ){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var o$=PP(Rx(x));if(2<o$>>>0)Mx=Zx(x);else switch(o$){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,72);var uQ=_h(Rx(x));Mx=uQ===0?L(x):uQ===1?v(x):Zx(x)}}}}}break;case 45:Qe(x,87);var dB=Rx(x);if(dB)var Fx=dB[1],uJ=35<Fx?C_<Fx?ha<Fx?vs<Fx?-1:ne<Fx?Mu<Fx?Nh<Fx?_D<Fx?O2<Fx?a7<Fx?uy<Fx?pE<Fx?Jg<Fx?0:-1:$D<Fx?ks<Fx?0:-1:0:-1:N2<Fx?up<Fx?A7<Fx?A_<Fx?0:-1:0:-1:e<Fx?Xf<Fx?0:-1:0:-1:Ld<Fx?w1<Fx?Zo<Fx?Ov<Fx?pv<Fx?mg<Fx?Xy<Fx?Cm<Fx?ob<Fx?Sd<Fx?0:-1:0:-1:d2<Fx?qt<Fx?0:-1:0:-1:Am<Fx?$_<Fx?Bt<Fx?Pp<Fx?0:-1:0:-1:Fc<Fx?_3<Fx?0:-1:0:-1:yy<Fx?sn<Fx?G3<Fx?jl<Fx?vd<Fx?Hb<Fx?0:-1:0:-1:Gt<Fx?aC<Fx?0:-1:0:-1:_e<Fx?Ac<Fx?Gv<Fx?op<Fx?0:-1:0:-1:Zl<Fx?Jv<Fx?0:-1:0:-1:I_<Fx?Pb<Fx?gg<Fx?ih<Fx?m7<Fx?P7<Fx?np<Fx?bv<Fx?0:-1:0:-1:Yp<Fx?Rg<Fx?0:-1:0:-1:dp<Fx?V7<Fx?Kh<Fx?Xl<Fx?0:-1:0:-1:oD<Fx?Jb<Fx?0:-1:0:-1:Us<Fx?dd<Fx?hv<Fx?Dp<Fx?jv<Fx?Zp<Fx?0:-1:0:-1:bD<Fx?V3<Fx?0:-1:0:-1:gv<Fx?iv<Fx?oh<Fx?Ym<Fx?0:-1:0:-1:Gy<Fx?p7<Fx?0:-1:0:-1:fp<Fx?Ef<Fx?c7<Fx?l0<Fx?Z1<Fx?Hr<Fx?Eb<Fx?Xb<Fx?OD<Fx?R2<Fx?kE<Fx?Iv<Fx?0:-1:0:-1:0:Ox<Fx?Kf<Fx?gE<Fx?Va<Fx?0:-1:0:-1:ge<Fx?_l<Fx?0:-1:0:pD<Fx?vE<Fx?ky<Fx?wp<Fx?0:-1:p3<Fx?Ih<Fx?0:-1:0:-1:MD<Fx?OC<Fx?0:-1:KC<Fx?r3<Fx?0:-1:0:-1:I2<Fx?lo<Fx?Re<Fx?yC<Fx?ME<Fx?db<Fx?fg<Fx?Wy<Fx?0:-1:0:-1:XE<Fx?xd<Fx?0:-1:0:-1:Wa<Fx?yc<Fx?S3<Fx?Kl<Fx?0:-1:0:-1:Fy<Fx?xc<Fx?0:-1:0:-1:ka<Fx?Kp<Fx?uE<Fx?Lg<Fx?_C<Fx?OE<Fx?0:-1:0:-1:v2<Fx?Hm<Fx?0:-1:0:-1:Wx<Fx?ff<Fx?Tb<Fx?Fm<Fx?0:-1:0:-1:b3<Fx?k7<Fx?0:-1:0:-1:d3<Fx?Ad<Fx?P3<Fx?Yd<Fx?eu<Fx?l7<Fx?Mt<Fx?v1<Fx?Cg<Fx?Xm<Fx?0:-1:0:-1:zf<Fx?mD<Fx?0:-1:0:-1:Mv<Fx?tt<Fx?Pm<Fx?ld<Fx?0:-1:0:-1:$3<Fx?zp<Fx?0:-1:0:-1:qx<Fx?n3<Fx?YD<Fx?uD<Fx?I7<Fx?fl<Fx?0:-1:0:-1:al<Fx?j_<Fx?0:-1:0:-1:Cc<Fx?N1<Fx?O_<Fx?B7<Fx?0:-1:0:-1:pd<Fx?dm<Fx?0:-1:0:-1:N0<Fx?Xh<Fx?dh<Fx?dg<Fx?b0<Fx?bp<Fx?Nl<Fx?Ph<Fx?0:-1:0:-1:M3<Fx?lb<Fx?0:-1:0:-1:rc<Fx?ec<Fx?P_<Fx?Ud<Fx?0:-1:0:-1:fv<Fx?K_<Fx?0:-1:0:-1:Om<Fx?Ag<Fx?rf<Fx?O3<Fx?Fn<Fx?bt<Fx?0:-1:0:-1:U<Fx?j7<Fx?0:-1:0:-1:DC<Fx?ed<Fx?Im<Fx?i3<Fx?0:-1:0:-1:0:-1:kv<Fx?Hd<Fx?Jy<Fx?Za<Fx?wD<Fx?E1<Fx?ag<Fx?xh<Fx?Hv<Fx?vv<Fx?l3<Fx?0:-1:0:-1:H3<Fx?co<Fx?0:-1:0:-1:LD<Fx?ex<Fx?qy<Fx?nD<Fx?0:-1:0:-1:ED<Fx?Pa<Fx?0:-1:0:-1:sD<Fx?th<Fx?hh<Fx?L_<Fx?h3<Fx?Cy<Fx?0:-1:0:-1:w7<Fx?Ey<Fx?0:-1:0:-1:H2<Fx?eh<Fx?xv<Fx?0:-1:0:u2<Fx?C<Fx?0:-1:0:P<Fx?Kg<Fx?wl<Fx?b_<Fx?cc<Fx?W_<Fx?0:-1:Tg<Fx?i_<Fx?0:-1:0:-1:Sb<Fx?tv<Fx?s7<Fx?Ku<Fx?0:-1:0:-1:nb<Fx?Cf<Fx?0:-1:0:-1:aE<Fx?Gr<Fx?hE<Fx?O<Fx?0:-1:Uc<Fx?Qv<Fx?0:-1:0:-1:Un<Fx?T3<Fx?X_<Fx?BC<Fx?0:-1:0:-1:p2<Fx?dy<Fx?0:-1:0:-1:Jr<Fx?uv<Fx?Gc<Fx?mo<Fx?Q3<Fx?vD<Fx?yv<Fx?Qd<Fx?e7<Fx?Jh<Fx?0:-1:0:-1:u7<Fx?b2<Fx?0:-1:0:-1:BD<Fx?0:oE<Fx?bg<Fx?0:-1:0:-1:B3<Fx?0:sE<Fx?G2<Fx?pa<Fx?o7<Fx?0:-1:0:-1:0:-1:r_<Fx?$y<Fx?U3<Fx?X7<Fx?C7<Fx?wh<Fx?L7<Fx?0:-1:0:-1:Zy<Fx?t8<Fx?0:-1:0:LC<Fx?jp<Fx?0:-1:F3<Fx?lE<Fx?0:-1:0:-1:UD<Fx?uc<Fx?tm<Fx?C0<Fx?0:-1:G0<Fx?rD<Fx?0:-1:0:-1:0:Qb<Fx?N7<Fx?D2<Fx?Se<Fx?D_<Fx?_g<Fx?MC<Fx?hy<Fx?ub<Fx?ph<Fx?$7<Fx?yE<Fx?0:-1:S0<Fx?Dh<Fx?0:-1:0:-1:Ko<Fx&&kg<Fx?o0<Fx?0:-1:0:FD<Fx?_y<Fx?c3<Fx&&EC<Fx?ho<Fx?0:-1:0:-1:Xp<Fx?Bp<Fx?_u<Fx?GD<Fx?0:-1:0:-1:Q2<Fx?g7<Fx?0:-1:0:Y_<Fx?NE<Fx?n8<Fx||Fd<Fx?0:SE<Fx?Y3<Fx?0:-1:0:-1:rs<Fx||Pc<Fx?0:SC<Fx?Bd<Fx?0:-1:0:D7<Fx?Em<Fx?Ju<Fx?QE<Fx?zm<Fx&&sy<Fx?mb<Fx?0:-1:0:m_<Fx&&g3<Fx?Gf<Fx?0:-1:0:-1:CD<Fx?Mg<Fx?Yg<Fx?If<Fx?_c<Fx?Uv<Fx?0:-1:0:-1:0:-1:0:Mc<Fx?wy<Fx?CE<Fx?EE<Fx?vp<Fx?D<Fx?Ub<Fx?0:-1:0:-1:0:NC<Fx?0:e3<Fx?m3<Fx?0:-1:0:-1:j3<Fx&&v7<Fx&&cv<Fx?FC<Fx?0:-1:0:Gh<Fx?Mm<Fx?fi<Fx?SD<Fx?FE<Fx?ri<Fx?DD<Fx?qD<Fx?0:-1:mf<Fx?Ep<Fx?0:-1:0:-1:0:Nc<Fx?Wg<Fx?0:My<Fx?ib<Fx?0:-1:0:UC<Fx&&p1<Fx?C2<Fx?0:-1:0:GE<Fx?pm<Fx?o2<Fx?Dg<Fx&&S7<Fx?zg<Fx?0:-1:0:-1:Tt<Fx?y7<Fx?cb<Fx?M7<Fx?0:-1:0:-1:0:0:-1:qv<Fx?WC<Fx?am<Fx?_m<Fx?Op<Fx?x_<Fx?0:-1:lv<Fx?ze<Fx?0:-1:0:0:x7<Fx?Oh<Fx?H_<Fx?0:$a<Fx?Z2<Fx?0:-1:0:-1:py<Fx?Iy<Fx?bd<Fx?0:-1:0:v_<Fx?Ne<Fx?0:-1:0:-1:yo<Fx?Yh<Fx?xm<Fx?fy<Fx?o1<Fx?Hi<Fx?my<Fx?0:-1:0:-1:md<Fx?ol<Fx?0:-1:0:0:-1:_1<Fx?za<Fx?xl<Fx?ws<Fx?f7<Fx?Iu<Fx?0:-1:0:-1:n_<Fx?ym<Fx?0:-1:0:-1:Il<Fx?z_<Fx?Bo<Fx?xf<Fx?0:-1:0:-1:0:-1:vm<Fx?Ii<Fx?ce<Fx?Q7<Fx?bh<Fx?x3<Fx?E2<Fx?M<Fx&&tD<Fx?AE<Fx?0:-1:0:pg<Fx?Su<Fx?qm<Fx?t_<Fx?0:-1:0:-1:S_<Fx?jd<Fx?0:-1:0:-1:AC<Fx?wE<Fx?Zr<Fx?Td<Fx?t7<Fx?0:-1:0:-1:lh<Fx?JE<Fx?0:-1:0:0:yl<Fx?Q_<Fx?jf<Fx?X2<Fx?Wm<Fx?0:-1:Kb<Fx?_i<Fx?0:-1:0:-1:K0<Fx?jC<Fx?0:-1:Mn<Fx?C3<Fx?0:-1:0:oy<Fx?0:Zv<Fx?hb<Fx?0:-1:RC<Fx?qh<Fx?0:-1:0:$f<Fx?gy<Fx?xD<Fx?dC<Fx?Xd<Fx?Z<Fx?Jl<Fx?0:-1:0:$C<Fx?Ss<Fx?0:-1:0:-1:0:Xo<Fx?pp<Fx?Bs<Fx?e8<Fx?TC<Fx?0:-1:0:-1:Ug<Fx?bm<Fx?0:-1:0:0:Hu<Fx?zC<Fx?om<Fx?y3<Fx?VD<Fx?0:-1:TE<Fx?Lf<Fx?0:-1:0:0:-1:F7<Fx?mv<Fx?b7<Fx?ov<Fx?Xn<Fx?0:-1:0:Lb<Fx?Ky<Fx?0:-1:0:-1:dE<Fx?K3<Fx?H<Fx?kb<Fx?0:-1:0:-1:0:-1:Vf<Fx?Cd<Fx?zv<Fx?hl<Fx?hm<Fx?Qp<Fx?sC<Fx?f0<Fx?yD<Fx?Th<Fx?Qy<Fx?0:-1:0:-1:vg<Fx?E_<Fx?0:-1:0:-1:Sm<Fx?Zm<Fx?n7<Fx?k_<Fx?0:-1:0:-1:ot<Fx?PD<Fx?0:-1:0:B0<Fx?e_<Fx?iC<Fx?Nb<Fx?Ob<Fx?ab<Fx?0:-1:0:-1:Ws<Fx?pb<Fx?0:-1:0:-1:tC<Fx?wv<Fx?P2<Fx?DE<Fx?0:-1:0:-1:Mo<Fx?Vg<Fx?0:-1:0:-1:Wl<Fx?Gd<Fx?Sl<Fx?O7<Fx?mu<Fx?0:-1:IC<Fx?A0<Fx?0:-1:0:c2<Fx?jb<Fx?Yl<Fx?b1<Fx?0:-1:0:-1:Dy<Fx?oi<Fx?0:-1:0:-1:zh<Fx?Te<Fx?of<Fx?Vy<Fx?Yu<Fx?Ut<Fx?0:-1:0:-1:Rv<Fx?sv<Fx?0:-1:0:-1:U7<Fx?Bm<Fx?Bv<Fx?qg<Fx?0:-1:0:-1:jg<Fx?cD<Fx?0:-1:0:-1:tb<Fx?h7<Fx?Ay<Fx?Wh<Fx?_7<Fx?rC<Fx?hc<Fx?Uu<Fx?oC<Fx?O0<Fx?0:-1:0:-1:s1<Fx?HD<Fx?0:-1:0:-1:Ix<Fx?rd<Fx?df<Fx?tl<Fx?0:-1:0:-1:Tm<Fx?B2<Fx?0:-1:0:-1:Pv<Fx?Tp<Fx?e0<Fx?Xc<Fx?a_<Fx?0:-1:0:-1:ly<Fx?Wp<Fx?0:-1:0:mp<Fx?Nv<Fx?Vh<Fx?tf<Fx?0:-1:0:-1:rl<Fx?aD<Fx?0:-1:0:-1:Lv<Fx?d0<Fx?Gm<Fx?Xv<Fx?LE<Fx?Fg<Fx?0:-1:0:Zc<Fx?Zb<Fx?0:-1:0:E3<Fx?0:Qg<Fx?wg<Fx?0:-1:0:-1:pf<Fx?Bh<Fx?Id<Fx?Ly<Fx?R_<Fx?U0<Fx?0:-1:0:-1:Up<Fx?G_<Fx?0:-1:0:-1:k3<Fx?cy<Fx?g0<Fx?U1<Fx?0:-1:0:-1:qr<Fx?De<Fx?0:-1:0:-1:Zt<Fx?ry<Fx?Qm<Fx?gm<Fx?Ds<Fx?a8<Fx?ql<Fx?wf<Fx?L2<Fx?xu<Fx?jy<Fx?Rd<Fx?Rb<Fx?W3<Fx?Y0<Fx?0:-1:0:-1:U_<Fx?xC<Fx?0:-1:0:-1:Jm<Fx?Dm<Fx?Al<Fx?Fl<Fx?0:-1:0:-1:F_<Fx?Nt<Fx?0:-1:0:-1:Ff<Fx?0:y2<Fx?l1<Fx?vy<Fx?gd<Fx?0:-1:0:-1:Fh<Fx?Sh<Fx?0:-1:0:-1:P0<Fx?W7<Fx?YE<Fx?i8<Fx?dD<Fx?Vb<Fx?Y7<Fx?V0<Fx?0:-1:0:-1:av<Fx?W<Fx?0:-1:0:-1:Vv<Fx?gC<Fx?Is<Fx?cp<Fx?0:-1:0:-1:Gb<Fx?RE<Fx?0:-1:0:-1:y0<Fx?Ou<Fx?bo<Fx?rb<Fx?E7<Fx?ZD<Fx?0:-1:0:-1:Ty<Fx?by<Fx?0:-1:0:-1:mh<Fx?mm<Fx?Gg<Fx?I3<Fx?0:-1:0:-1:li<Fx?Av<Fx?0:-1:0:-1:La<Fx?Uy<Fx?Cp<Fx?js<Fx?q_<Fx?lD<Fx&&QD<Fx?ID<Fx?0:-1:0:-1:H1<Fx?c0<Fx?N_<Fx?l2<Fx?0:-1:0:-1:kp<Fx?Hy<Fx?0:-1:0:-1:hf<Fx?fE<Fx?gb<Fx?d<Fx?w3<Fx?_o<Fx?0:-1:0:-1:td<Fx?C1<Fx?0:-1:0:-1:cE<Fx?wb<Fx?0:-1:0:Xg<Fx?Fv<Fx?x8<Fx?0:Bb<Fx?uC<Fx?fb<Fx?0:-1:0:fD<Fx?nf<Fx?0:-1:0:-1:J7<Fx?Kt<Fx?og<Fx?V_<Fx?G<Fx?Kv<Fx?0:-1:0:-1:wm<Fx?Jf<Fx?0:-1:0:-1:rm<Fx&&Fb<Fx?kh<Fx?0:-1:0:q3<Fx?$<Fx?x2<Fx?Uh<Fx?BE<Fx&&X3<Fx?ts<Fx?0:-1:0:J3<Fx?G1<Fx?qs<Fx?0:-1:0:Wv<Fx?N3<Fx?0:-1:0:0:Hh<Fx?$m<Fx?0:Sv<Fx?_b<Fx?0:-1:0:g_<Fx?Rc<Fx?Ev<Fx?PC<Fx?Mr<Fx?0:-1:0:-1:0:rv<Fx?0:$d<Fx?Ur<Fx?0:-1:0:nx<Fx?ZE<Fx?qa<Fx?0:Eg<Fx&&JD<Fx?M2<Fx?0:-1:0:ip<Fx?K7<Fx?0:$c<Fx?Vm<Fx?0:-1:0:gt<Fx&&R7<Fx?Mf<Fx?0:-1:0:z7<Fx?_<Fx?0:zd<Fx?bC<Fx?0:-1:eC<Fx?L3<Fx?0:-1:0:Sy<Fx?wC<Fx?cl<Fx?0:-1:0:ng<Fx?0:zy<Fx?Pf<Fx?0:-1:0:-1:Hp<Fx?lg<Fx?I1<Fx?h_<Fx?Rl<Fx?ev<Fx?IE<Fx?r8<Fx?PE<Fx?0:-1:sp<Fx?D3<Fx?0:-1:0:fh<Fx?0:A3<Fx?Ip<Fx?0:-1:0:-1:0:p8<Fx?Hf<Fx?0:Dv<Fx?Px<Fx?Pe<Fx?kD<Fx?0:-1:0:-1:0:By<Fx?wd<Fx&&$b<Fx?ny<Fx?0:-1:0:_E<Fx?$v<Fx?iy<Fx?em<Fx?0:-1:0:-1:0:Lo<Fx?sf<Fx?Zd<Fx?R0<Fx?0:v3<Fx?CC<Fx?zl<Fx?iD<Fx?0:-1:0:-1:0:ig<Fx?m2<Fx?rp<Fx&&gD<Fx?Ed<Fx?0:-1:0:-1:bn<Fx?__<Fx?0:-1:0:-1:i7<Fx?Fo<Fx?nd<Fx?Y2<Fx?nC<Fx?0:Wb<Fx?cg<Fx?0:-1:0:-1:Eh<Fx?wu<Fx?T_<Fx?lp<Fx?0:-1:0:-1:sb<Fx?ds<Fx?0:-1:0:-1:vh<Fx?dv<Fx?Hx<Fx?Tv<Fx?Rp<Fx?0:-1:0:xi<Fx?af<Fx?0:-1:0:-1:0:-1:mE<Fx?bf<Fx?Ib<Fx?r7<Fx?sh<Fx?I0<Fx?Lm<Fx?qf<Fx&&_t<Fx?ep<Fx?0:-1:0:-1:HE<Fx&&kC<Fx?Hg<Fx?0:-1:0:-1:s2<Fx?rx<Fx?AD<Fx?0:Nf<Fx?h2<Fx?0:-1:0:-1:Ah<Fx?uh<Fx?Ch<Fx?hD<Fx?0:-1:0:-1:Zg<Fx?q7<Fx?0:-1:0:-1:_v<Fx?f3<Fx?Cv<Fx?ay<Fx?Yy<Fx?hg<Fx?Md<Fx?Ro<Fx?0:-1:0:-1:ND<Fx?$h<Fx?0:-1:0:-1:kf<Fx?Of<Fx?0:-1:TD<Fx?nv<Fx?0:-1:0:-1:R3<Fx?ch<Fx?y_<Fx?WD<Fx?Js<Fx?0:-1:0:-1:Ap<Fx?qb<Fx?0:-1:0:Mb<Fx?ht<Fx?0:-1:0:pl<Fx?d7<Fx?Uf<Fx?nl<Fx?Km<Fx?j<Fx?_d<Fx?G7<Fx?xb<Fx?0:-1:0:-1:D0<Fx?H7<Fx?0:-1:0:Vp<Fx?w_<Fx?0:-1:a3<Fx?Sg<Fx?0:-1:0:-1:zD<Fx?bE<Fx&&Yv<Fx?Ry<Fx?0:-1:0:oc<Fx?$i<Fx?0:-1:XD<Fx?t3<Fx?0:-1:0:-1:$e<Fx?ah<Fx?Bi<Fx?d_<Fx?Pu<Fx?j2<Fx?an<Fx?0:-1:0:z3<Fx?Yb<Fx?0:-1:0:-1:zb<Fx?B_<Fx?nm<Fx?eD<Fx?0:-1:0:-1:ug<Fx?T7<Fx?0:-1:0:-1:Z7<Fx?Yi<Fx?J_<Fx?Dd<Fx?W1<Fx?Oy<Fx?0:-1:0:-1:M_<Fx?Z3<Fx?0:-1:0:-1:eb<Fx?im<Fx?qC<Fx?Rf<Fx?0:-1:0:-1:Np<Fx?Kc<Fx?0:-1:0:-1:fr(kX1,Fx+Kd|0)-1|0:-1;else uJ=-1;if(4<uJ>>>0)Mx=Zx(x);else switch(uJ){case 0:Mx=L(x);break;case 1:Mx=v(x);break;case 2:Qe(x,87);var HK=CI(Rx(x));if(2<HK>>>0)Mx=Zx(x);else switch(HK){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var cQ=qk(Rx(x));if(2<cQ>>>0)Mx=Zx(x);else switch(cQ){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var s$=oO(Rx(x));if(2<s$>>>0)Mx=Zx(x);else switch(s$){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var lQ=AL(Rx(x));if(2<lQ>>>0)Mx=Zx(x);else switch(lQ){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,73);var u$=_h(Rx(x));Mx=u$===0?L(x):u$===1?v(x):Zx(x)}}}}break;case 3:Qe(x,87);var fQ=zq(Rx(x));if(2<fQ>>>0)Mx=Zx(x);else switch(fQ){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var uW=V4(Rx(x));if(2<uW>>>0)Mx=Zx(x);else switch(uW){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var pQ=FL(Rx(x));if(2<pQ>>>0)Mx=Zx(x);else switch(pQ){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,74);var cJ=_h(Rx(x));Mx=cJ===0?L(x):cJ===1?v(x):Zx(x)}}}break;default:Qe(x,87);var dQ=oO(Rx(x));if(2<dQ>>>0)Mx=Zx(x);else switch(dQ){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var cW=qk(Rx(x));if(2<cW>>>0)Mx=Zx(x);else switch(cW){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var mQ=AL(Rx(x));if(2<mQ>>>0)Mx=Zx(x);else switch(mQ){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var lJ=qt0(Rx(x));if(2<lJ>>>0)Mx=Zx(x);else switch(lJ){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,75);var hQ=_h(Rx(x));Mx=hQ===0?L(x):hQ===1?v(x):Zx(x)}}}}}break;case 46:Qe(x,87);var GK=Rx(x);if(GK)var Ax=GK[1],c$=35<Ax?C_<Ax?ha<Ax?vs<Ax?-1:ne<Ax?Mu<Ax?Nh<Ax?_D<Ax?O2<Ax?a7<Ax?uy<Ax?pE<Ax?Jg<Ax?0:-1:$D<Ax?ks<Ax?0:-1:0:-1:N2<Ax?up<Ax?A7<Ax?A_<Ax?0:-1:0:-1:e<Ax?Xf<Ax?0:-1:0:-1:Ld<Ax?w1<Ax?Zo<Ax?Ov<Ax?pv<Ax?mg<Ax?Xy<Ax?Cm<Ax?ob<Ax?Sd<Ax?0:-1:0:-1:d2<Ax?qt<Ax?0:-1:0:-1:Am<Ax?$_<Ax?Bt<Ax?Pp<Ax?0:-1:0:-1:Fc<Ax?_3<Ax?0:-1:0:-1:yy<Ax?sn<Ax?G3<Ax?jl<Ax?vd<Ax?Hb<Ax?0:-1:0:-1:Gt<Ax?aC<Ax?0:-1:0:-1:_e<Ax?Ac<Ax?Gv<Ax?op<Ax?0:-1:0:-1:Zl<Ax?Jv<Ax?0:-1:0:-1:I_<Ax?Pb<Ax?gg<Ax?ih<Ax?m7<Ax?P7<Ax?np<Ax?bv<Ax?0:-1:0:-1:Yp<Ax?Rg<Ax?0:-1:0:-1:dp<Ax?V7<Ax?Kh<Ax?Xl<Ax?0:-1:0:-1:oD<Ax?Jb<Ax?0:-1:0:-1:Us<Ax?dd<Ax?hv<Ax?Dp<Ax?jv<Ax?Zp<Ax?0:-1:0:-1:bD<Ax?V3<Ax?0:-1:0:-1:gv<Ax?iv<Ax?oh<Ax?Ym<Ax?0:-1:0:-1:Gy<Ax?p7<Ax?0:-1:0:-1:fp<Ax?Ef<Ax?c7<Ax?l0<Ax?Z1<Ax?Hr<Ax?Eb<Ax?Xb<Ax?OD<Ax?R2<Ax?kE<Ax?Iv<Ax?0:-1:0:-1:0:Ox<Ax?Kf<Ax?gE<Ax?Va<Ax?0:-1:0:-1:ge<Ax?_l<Ax?0:-1:0:pD<Ax?vE<Ax?ky<Ax?wp<Ax?0:-1:p3<Ax?Ih<Ax?0:-1:0:-1:MD<Ax?OC<Ax?0:-1:KC<Ax?r3<Ax?0:-1:0:-1:I2<Ax?lo<Ax?Re<Ax?yC<Ax?ME<Ax?db<Ax?fg<Ax?Wy<Ax?0:-1:0:-1:XE<Ax?xd<Ax?0:-1:0:-1:Wa<Ax?yc<Ax?S3<Ax?Kl<Ax?0:-1:0:-1:Fy<Ax?xc<Ax?0:-1:0:-1:ka<Ax?Kp<Ax?uE<Ax?Lg<Ax?_C<Ax?OE<Ax?0:-1:0:-1:v2<Ax?Hm<Ax?0:-1:0:-1:Wx<Ax?ff<Ax?Tb<Ax?Fm<Ax?0:-1:0:-1:b3<Ax?k7<Ax?0:-1:0:-1:d3<Ax?Ad<Ax?P3<Ax?Yd<Ax?eu<Ax?l7<Ax?Mt<Ax?v1<Ax?Cg<Ax?Xm<Ax?0:-1:0:-1:zf<Ax?mD<Ax?0:-1:0:-1:Mv<Ax?tt<Ax?Pm<Ax?ld<Ax?0:-1:0:-1:$3<Ax?zp<Ax?0:-1:0:-1:qx<Ax?n3<Ax?YD<Ax?uD<Ax?I7<Ax?fl<Ax?0:-1:0:-1:al<Ax?j_<Ax?0:-1:0:-1:Cc<Ax?N1<Ax?O_<Ax?B7<Ax?0:-1:0:-1:pd<Ax?dm<Ax?0:-1:0:-1:N0<Ax?Xh<Ax?dh<Ax?dg<Ax?b0<Ax?bp<Ax?Nl<Ax?Ph<Ax?0:-1:0:-1:M3<Ax?lb<Ax?0:-1:0:-1:rc<Ax?ec<Ax?P_<Ax?Ud<Ax?0:-1:0:-1:fv<Ax?K_<Ax?0:-1:0:-1:Om<Ax?Ag<Ax?rf<Ax?O3<Ax?Fn<Ax?bt<Ax?0:-1:0:-1:U<Ax?j7<Ax?0:-1:0:-1:DC<Ax?ed<Ax?Im<Ax?i3<Ax?0:-1:0:-1:0:-1:kv<Ax?Hd<Ax?Jy<Ax?Za<Ax?wD<Ax?E1<Ax?ag<Ax?xh<Ax?Hv<Ax?vv<Ax?l3<Ax?0:-1:0:-1:H3<Ax?co<Ax?0:-1:0:-1:LD<Ax?ex<Ax?qy<Ax?nD<Ax?0:-1:0:-1:ED<Ax?Pa<Ax?0:-1:0:-1:sD<Ax?th<Ax?hh<Ax?L_<Ax?h3<Ax?Cy<Ax?0:-1:0:-1:w7<Ax?Ey<Ax?0:-1:0:-1:H2<Ax?eh<Ax?xv<Ax?0:-1:0:u2<Ax?C<Ax?0:-1:0:P<Ax?Kg<Ax?wl<Ax?b_<Ax?cc<Ax?W_<Ax?0:-1:Tg<Ax?i_<Ax?0:-1:0:-1:Sb<Ax?tv<Ax?s7<Ax?Ku<Ax?0:-1:0:-1:nb<Ax?Cf<Ax?0:-1:0:-1:aE<Ax?Gr<Ax?hE<Ax?O<Ax?0:-1:Uc<Ax?Qv<Ax?0:-1:0:-1:Un<Ax?T3<Ax?X_<Ax?BC<Ax?0:-1:0:-1:p2<Ax?dy<Ax?0:-1:0:-1:Jr<Ax?uv<Ax?Gc<Ax?mo<Ax?Q3<Ax?vD<Ax?yv<Ax?Qd<Ax?e7<Ax?Jh<Ax?0:-1:0:-1:u7<Ax?b2<Ax?0:-1:0:-1:BD<Ax?0:oE<Ax?bg<Ax?0:-1:0:-1:B3<Ax?0:sE<Ax?G2<Ax?pa<Ax?o7<Ax?0:-1:0:-1:0:-1:r_<Ax?$y<Ax?U3<Ax?X7<Ax?C7<Ax?wh<Ax?L7<Ax?0:-1:0:-1:Zy<Ax?t8<Ax?0:-1:0:LC<Ax?jp<Ax?0:-1:F3<Ax?lE<Ax?0:-1:0:-1:UD<Ax?uc<Ax?tm<Ax?C0<Ax?0:-1:G0<Ax?rD<Ax?0:-1:0:-1:0:Qb<Ax?N7<Ax?D2<Ax?Se<Ax?D_<Ax?_g<Ax?MC<Ax?hy<Ax?ub<Ax?ph<Ax?$7<Ax?yE<Ax?0:-1:S0<Ax?Dh<Ax?0:-1:0:-1:Ko<Ax&&kg<Ax?o0<Ax?0:-1:0:FD<Ax?_y<Ax?c3<Ax&&EC<Ax?ho<Ax?0:-1:0:-1:Xp<Ax?Bp<Ax?_u<Ax?GD<Ax?0:-1:0:-1:Q2<Ax?g7<Ax?0:-1:0:Y_<Ax?NE<Ax?n8<Ax||Fd<Ax?0:SE<Ax?Y3<Ax?0:-1:0:-1:rs<Ax||Pc<Ax?0:SC<Ax?Bd<Ax?0:-1:0:D7<Ax?Em<Ax?Ju<Ax?QE<Ax?zm<Ax&&sy<Ax?mb<Ax?0:-1:0:m_<Ax&&g3<Ax?Gf<Ax?0:-1:0:-1:CD<Ax?Mg<Ax?Yg<Ax?If<Ax?_c<Ax?Uv<Ax?0:-1:0:-1:0:-1:0:Mc<Ax?wy<Ax?CE<Ax?EE<Ax?vp<Ax?D<Ax?Ub<Ax?0:-1:0:-1:0:NC<Ax?0:e3<Ax?m3<Ax?0:-1:0:-1:j3<Ax&&v7<Ax&&cv<Ax?FC<Ax?0:-1:0:Gh<Ax?Mm<Ax?fi<Ax?SD<Ax?FE<Ax?ri<Ax?DD<Ax?qD<Ax?0:-1:mf<Ax?Ep<Ax?0:-1:0:-1:0:Nc<Ax?Wg<Ax?0:My<Ax?ib<Ax?0:-1:0:UC<Ax&&p1<Ax?C2<Ax?0:-1:0:GE<Ax?pm<Ax?o2<Ax?Dg<Ax&&S7<Ax?zg<Ax?0:-1:0:-1:Tt<Ax?y7<Ax?cb<Ax?M7<Ax?0:-1:0:-1:0:0:-1:qv<Ax?WC<Ax?am<Ax?_m<Ax?Op<Ax?x_<Ax?0:-1:lv<Ax?ze<Ax?0:-1:0:0:x7<Ax?Oh<Ax?H_<Ax?0:$a<Ax?Z2<Ax?0:-1:0:-1:py<Ax?Iy<Ax?bd<Ax?0:-1:0:v_<Ax?Ne<Ax?0:-1:0:-1:yo<Ax?Yh<Ax?xm<Ax?fy<Ax?o1<Ax?Hi<Ax?my<Ax?0:-1:0:-1:md<Ax?ol<Ax?0:-1:0:0:-1:_1<Ax?za<Ax?xl<Ax?ws<Ax?f7<Ax?Iu<Ax?0:-1:0:-1:n_<Ax?ym<Ax?0:-1:0:-1:Il<Ax?z_<Ax?Bo<Ax?xf<Ax?0:-1:0:-1:0:-1:vm<Ax?Ii<Ax?ce<Ax?Q7<Ax?bh<Ax?x3<Ax?E2<Ax?M<Ax&&tD<Ax?AE<Ax?0:-1:0:pg<Ax?Su<Ax?qm<Ax?t_<Ax?0:-1:0:-1:S_<Ax?jd<Ax?0:-1:0:-1:AC<Ax?wE<Ax?Zr<Ax?Td<Ax?t7<Ax?0:-1:0:-1:lh<Ax?JE<Ax?0:-1:0:0:yl<Ax?Q_<Ax?jf<Ax?X2<Ax?Wm<Ax?0:-1:Kb<Ax?_i<Ax?0:-1:0:-1:K0<Ax?jC<Ax?0:-1:Mn<Ax?C3<Ax?0:-1:0:oy<Ax?0:Zv<Ax?hb<Ax?0:-1:RC<Ax?qh<Ax?0:-1:0:$f<Ax?gy<Ax?xD<Ax?dC<Ax?Xd<Ax?Z<Ax?Jl<Ax?0:-1:0:$C<Ax?Ss<Ax?0:-1:0:-1:0:Xo<Ax?pp<Ax?Bs<Ax?e8<Ax?TC<Ax?0:-1:0:-1:Ug<Ax?bm<Ax?0:-1:0:0:Hu<Ax?zC<Ax?om<Ax?y3<Ax?VD<Ax?0:-1:TE<Ax?Lf<Ax?0:-1:0:0:-1:F7<Ax?mv<Ax?b7<Ax?ov<Ax?Xn<Ax?0:-1:0:Lb<Ax?Ky<Ax?0:-1:0:-1:dE<Ax?K3<Ax?H<Ax?kb<Ax?0:-1:0:-1:0:-1:Vf<Ax?Cd<Ax?zv<Ax?hl<Ax?hm<Ax?Qp<Ax?sC<Ax?f0<Ax?yD<Ax?Th<Ax?Qy<Ax?0:-1:0:-1:vg<Ax?E_<Ax?0:-1:0:-1:Sm<Ax?Zm<Ax?n7<Ax?k_<Ax?0:-1:0:-1:ot<Ax?PD<Ax?0:-1:0:B0<Ax?e_<Ax?iC<Ax?Nb<Ax?Ob<Ax?ab<Ax?0:-1:0:-1:Ws<Ax?pb<Ax?0:-1:0:-1:tC<Ax?wv<Ax?P2<Ax?DE<Ax?0:-1:0:-1:Mo<Ax?Vg<Ax?0:-1:0:-1:Wl<Ax?Gd<Ax?Sl<Ax?O7<Ax?mu<Ax?0:-1:IC<Ax?A0<Ax?0:-1:0:c2<Ax?jb<Ax?Yl<Ax?b1<Ax?0:-1:0:-1:Dy<Ax?oi<Ax?0:-1:0:-1:zh<Ax?Te<Ax?of<Ax?Vy<Ax?Yu<Ax?Ut<Ax?0:-1:0:-1:Rv<Ax?sv<Ax?0:-1:0:-1:U7<Ax?Bm<Ax?Bv<Ax?qg<Ax?0:-1:0:-1:jg<Ax?cD<Ax?0:-1:0:-1:tb<Ax?h7<Ax?Ay<Ax?Wh<Ax?_7<Ax?rC<Ax?hc<Ax?Uu<Ax?oC<Ax?O0<Ax?0:-1:0:-1:s1<Ax?HD<Ax?0:-1:0:-1:Ix<Ax?rd<Ax?df<Ax?tl<Ax?0:-1:0:-1:Tm<Ax?B2<Ax?0:-1:0:-1:Pv<Ax?Tp<Ax?e0<Ax?Xc<Ax?a_<Ax?0:-1:0:-1:ly<Ax?Wp<Ax?0:-1:0:mp<Ax?Nv<Ax?Vh<Ax?tf<Ax?0:-1:0:-1:rl<Ax?aD<Ax?0:-1:0:-1:Lv<Ax?d0<Ax?Gm<Ax?Xv<Ax?LE<Ax?Fg<Ax?0:-1:0:Zc<Ax?Zb<Ax?0:-1:0:E3<Ax?0:Qg<Ax?wg<Ax?0:-1:0:-1:pf<Ax?Bh<Ax?Id<Ax?Ly<Ax?R_<Ax?U0<Ax?0:-1:0:-1:Up<Ax?G_<Ax?0:-1:0:-1:k3<Ax?cy<Ax?g0<Ax?U1<Ax?0:-1:0:-1:qr<Ax?De<Ax?0:-1:0:-1:Zt<Ax?ry<Ax?Qm<Ax?gm<Ax?Ds<Ax?a8<Ax?ql<Ax?wf<Ax?L2<Ax?xu<Ax?jy<Ax?Rd<Ax?Rb<Ax?W3<Ax?Y0<Ax?0:-1:0:-1:U_<Ax?xC<Ax?0:-1:0:-1:Jm<Ax?Dm<Ax?Al<Ax?Fl<Ax?0:-1:0:-1:F_<Ax?Nt<Ax?0:-1:0:-1:Ff<Ax?0:y2<Ax?l1<Ax?vy<Ax?gd<Ax?0:-1:0:-1:Fh<Ax?Sh<Ax?0:-1:0:-1:P0<Ax?W7<Ax?YE<Ax?i8<Ax?dD<Ax?Vb<Ax?Y7<Ax?V0<Ax?0:-1:0:-1:av<Ax?W<Ax?0:-1:0:-1:Vv<Ax?gC<Ax?Is<Ax?cp<Ax?0:-1:0:-1:Gb<Ax?RE<Ax?0:-1:0:-1:y0<Ax?Ou<Ax?bo<Ax?rb<Ax?E7<Ax?ZD<Ax?0:-1:0:-1:Ty<Ax?by<Ax?0:-1:0:-1:mh<Ax?mm<Ax?Gg<Ax?I3<Ax?0:-1:0:-1:li<Ax?Av<Ax?0:-1:0:-1:La<Ax?Uy<Ax?Cp<Ax?js<Ax?q_<Ax?lD<Ax&&QD<Ax?ID<Ax?0:-1:0:-1:H1<Ax?c0<Ax?N_<Ax?l2<Ax?0:-1:0:-1:kp<Ax?Hy<Ax?0:-1:0:-1:hf<Ax?fE<Ax?gb<Ax?d<Ax?w3<Ax?_o<Ax?0:-1:0:-1:td<Ax?C1<Ax?0:-1:0:-1:cE<Ax?wb<Ax?0:-1:0:Xg<Ax?Fv<Ax?x8<Ax?0:Bb<Ax?uC<Ax?fb<Ax?0:-1:0:fD<Ax?nf<Ax?0:-1:0:-1:J7<Ax?Kt<Ax?og<Ax?V_<Ax?G<Ax?Kv<Ax?0:-1:0:-1:wm<Ax?Jf<Ax?0:-1:0:-1:rm<Ax&&Fb<Ax?kh<Ax?0:-1:0:q3<Ax?$<Ax?x2<Ax?Uh<Ax?BE<Ax&&X3<Ax?ts<Ax?0:-1:0:J3<Ax?G1<Ax?qs<Ax?0:-1:0:Wv<Ax?N3<Ax?0:-1:0:0:Hh<Ax?$m<Ax?0:Sv<Ax?_b<Ax?0:-1:0:g_<Ax?Rc<Ax?Ev<Ax?PC<Ax?Mr<Ax?0:-1:0:-1:0:rv<Ax?0:$d<Ax?Ur<Ax?0:-1:0:nx<Ax?ZE<Ax?qa<Ax?0:Eg<Ax&&JD<Ax?M2<Ax?0:-1:0:ip<Ax?K7<Ax?0:$c<Ax?Vm<Ax?0:-1:0:gt<Ax&&R7<Ax?Mf<Ax?0:-1:0:z7<Ax?_<Ax?0:zd<Ax?bC<Ax?0:-1:eC<Ax?L3<Ax?0:-1:0:Sy<Ax?wC<Ax?cl<Ax?0:-1:0:ng<Ax?0:zy<Ax?Pf<Ax?0:-1:0:-1:Hp<Ax?lg<Ax?I1<Ax?h_<Ax?Rl<Ax?ev<Ax?IE<Ax?r8<Ax?PE<Ax?0:-1:sp<Ax?D3<Ax?0:-1:0:fh<Ax?0:A3<Ax?Ip<Ax?0:-1:0:-1:0:p8<Ax?Hf<Ax?0:Dv<Ax?Px<Ax?Pe<Ax?kD<Ax?0:-1:0:-1:0:By<Ax?wd<Ax&&$b<Ax?ny<Ax?0:-1:0:_E<Ax?$v<Ax?iy<Ax?em<Ax?0:-1:0:-1:0:Lo<Ax?sf<Ax?Zd<Ax?R0<Ax?0:v3<Ax?CC<Ax?zl<Ax?iD<Ax?0:-1:0:-1:0:ig<Ax?m2<Ax?rp<Ax&&gD<Ax?Ed<Ax?0:-1:0:-1:bn<Ax?__<Ax?0:-1:0:-1:i7<Ax?Fo<Ax?nd<Ax?Y2<Ax?nC<Ax?0:Wb<Ax?cg<Ax?0:-1:0:-1:Eh<Ax?wu<Ax?T_<Ax?lp<Ax?0:-1:0:-1:sb<Ax?ds<Ax?0:-1:0:-1:vh<Ax?dv<Ax?Hx<Ax?Tv<Ax?Rp<Ax?0:-1:0:xi<Ax?af<Ax?0:-1:0:-1:0:-1:mE<Ax?bf<Ax?Ib<Ax?r7<Ax?sh<Ax?I0<Ax?Lm<Ax?qf<Ax&&_t<Ax?ep<Ax?0:-1:0:-1:HE<Ax&&kC<Ax?Hg<Ax?0:-1:0:-1:s2<Ax?rx<Ax?AD<Ax?0:Nf<Ax?h2<Ax?0:-1:0:-1:Ah<Ax?uh<Ax?Ch<Ax?hD<Ax?0:-1:0:-1:Zg<Ax?q7<Ax?0:-1:0:-1:_v<Ax?f3<Ax?Cv<Ax?ay<Ax?Yy<Ax?hg<Ax?Md<Ax?Ro<Ax?0:-1:0:-1:ND<Ax?$h<Ax?0:-1:0:-1:kf<Ax?Of<Ax?0:-1:TD<Ax?nv<Ax?0:-1:0:-1:R3<Ax?ch<Ax?y_<Ax?WD<Ax?Js<Ax?0:-1:0:-1:Ap<Ax?qb<Ax?0:-1:0:Mb<Ax?ht<Ax?0:-1:0:pl<Ax?d7<Ax?Uf<Ax?nl<Ax?Km<Ax?j<Ax?_d<Ax?G7<Ax?xb<Ax?0:-1:0:-1:D0<Ax?H7<Ax?0:-1:0:Vp<Ax?w_<Ax?0:-1:a3<Ax?Sg<Ax?0:-1:0:-1:zD<Ax?bE<Ax&&Yv<Ax?Ry<Ax?0:-1:0:oc<Ax?$i<Ax?0:-1:XD<Ax?t3<Ax?0:-1:0:-1:$e<Ax?ah<Ax?Bi<Ax?d_<Ax?Pu<Ax?j2<Ax?an<Ax?0:-1:0:z3<Ax?Yb<Ax?0:-1:0:-1:zb<Ax?B_<Ax?nm<Ax?eD<Ax?0:-1:0:-1:ug<Ax?T7<Ax?0:-1:0:-1:Z7<Ax?Yi<Ax?J_<Ax?Dd<Ax?W1<Ax?Oy<Ax?0:-1:0:-1:M_<Ax?Z3<Ax?0:-1:0:-1:eb<Ax?im<Ax?qC<Ax?Rf<Ax?0:-1:0:-1:Np<Ax?Kc<Ax?0:-1:0:-1:fr(wX1,Ax+Kd|0)-1|0:-1;else c$=-1;if(4<c$>>>0)Mx=Zx(x);else switch(c$){case 0:Mx=L(x);break;case 1:Mx=v(x);break;case 2:Qe(x,87);var gQ=Rx(x);if(gQ)var vx=gQ[1],fJ=35<vx?C_<vx?ha<vx?vs<vx?-1:ne<vx?Mu<vx?Nh<vx?_D<vx?O2<vx?a7<vx?uy<vx?pE<vx?Jg<vx?0:-1:$D<vx?ks<vx?0:-1:0:-1:N2<vx?up<vx?A7<vx?A_<vx?0:-1:0:-1:e<vx?Xf<vx?0:-1:0:-1:Ld<vx?w1<vx?Zo<vx?Ov<vx?pv<vx?mg<vx?Xy<vx?Cm<vx?ob<vx?Sd<vx?0:-1:0:-1:d2<vx?qt<vx?0:-1:0:-1:Am<vx?$_<vx?Bt<vx?Pp<vx?0:-1:0:-1:Fc<vx?_3<vx?0:-1:0:-1:yy<vx?sn<vx?G3<vx?jl<vx?vd<vx?Hb<vx?0:-1:0:-1:Gt<vx?aC<vx?0:-1:0:-1:_e<vx?Ac<vx?Gv<vx?op<vx?0:-1:0:-1:Zl<vx?Jv<vx?0:-1:0:-1:I_<vx?Pb<vx?gg<vx?ih<vx?m7<vx?P7<vx?np<vx?bv<vx?0:-1:0:-1:Yp<vx?Rg<vx?0:-1:0:-1:dp<vx?V7<vx?Kh<vx?Xl<vx?0:-1:0:-1:oD<vx?Jb<vx?0:-1:0:-1:Us<vx?dd<vx?hv<vx?Dp<vx?jv<vx?Zp<vx?0:-1:0:-1:bD<vx?V3<vx?0:-1:0:-1:gv<vx?iv<vx?oh<vx?Ym<vx?0:-1:0:-1:Gy<vx?p7<vx?0:-1:0:-1:fp<vx?Ef<vx?c7<vx?l0<vx?Z1<vx?Hr<vx?Eb<vx?Xb<vx?OD<vx?R2<vx?kE<vx?Iv<vx?0:-1:0:-1:0:Ox<vx?Kf<vx?gE<vx?Va<vx?0:-1:0:-1:ge<vx?_l<vx?0:-1:0:pD<vx?vE<vx?ky<vx?wp<vx?0:-1:p3<vx?Ih<vx?0:-1:0:-1:MD<vx?OC<vx?0:-1:KC<vx?r3<vx?0:-1:0:-1:I2<vx?lo<vx?Re<vx?yC<vx?ME<vx?db<vx?fg<vx?Wy<vx?0:-1:0:-1:XE<vx?xd<vx?0:-1:0:-1:Wa<vx?yc<vx?S3<vx?Kl<vx?0:-1:0:-1:Fy<vx?xc<vx?0:-1:0:-1:ka<vx?Kp<vx?uE<vx?Lg<vx?_C<vx?OE<vx?0:-1:0:-1:v2<vx?Hm<vx?0:-1:0:-1:Wx<vx?ff<vx?Tb<vx?Fm<vx?0:-1:0:-1:b3<vx?k7<vx?0:-1:0:-1:d3<vx?Ad<vx?P3<vx?Yd<vx?eu<vx?l7<vx?Mt<vx?v1<vx?Cg<vx?Xm<vx?0:-1:0:-1:zf<vx?mD<vx?0:-1:0:-1:Mv<vx?tt<vx?Pm<vx?ld<vx?0:-1:0:-1:$3<vx?zp<vx?0:-1:0:-1:qx<vx?n3<vx?YD<vx?uD<vx?I7<vx?fl<vx?0:-1:0:-1:al<vx?j_<vx?0:-1:0:-1:Cc<vx?N1<vx?O_<vx?B7<vx?0:-1:0:-1:pd<vx?dm<vx?0:-1:0:-1:N0<vx?Xh<vx?dh<vx?dg<vx?b0<vx?bp<vx?Nl<vx?Ph<vx?0:-1:0:-1:M3<vx?lb<vx?0:-1:0:-1:rc<vx?ec<vx?P_<vx?Ud<vx?0:-1:0:-1:fv<vx?K_<vx?0:-1:0:-1:Om<vx?Ag<vx?rf<vx?O3<vx?Fn<vx?bt<vx?0:-1:0:-1:U<vx?j7<vx?0:-1:0:-1:DC<vx?ed<vx?Im<vx?i3<vx?0:-1:0:-1:0:-1:kv<vx?Hd<vx?Jy<vx?Za<vx?wD<vx?E1<vx?ag<vx?xh<vx?Hv<vx?vv<vx?l3<vx?0:-1:0:-1:H3<vx?co<vx?0:-1:0:-1:LD<vx?ex<vx?qy<vx?nD<vx?0:-1:0:-1:ED<vx?Pa<vx?0:-1:0:-1:sD<vx?th<vx?hh<vx?L_<vx?h3<vx?Cy<vx?0:-1:0:-1:w7<vx?Ey<vx?0:-1:0:-1:H2<vx?eh<vx?xv<vx?0:-1:0:u2<vx?C<vx?0:-1:0:P<vx?Kg<vx?wl<vx?b_<vx?cc<vx?W_<vx?0:-1:Tg<vx?i_<vx?0:-1:0:-1:Sb<vx?tv<vx?s7<vx?Ku<vx?0:-1:0:-1:nb<vx?Cf<vx?0:-1:0:-1:aE<vx?Gr<vx?hE<vx?O<vx?0:-1:Uc<vx?Qv<vx?0:-1:0:-1:Un<vx?T3<vx?X_<vx?BC<vx?0:-1:0:-1:p2<vx?dy<vx?0:-1:0:-1:Jr<vx?uv<vx?Gc<vx?mo<vx?Q3<vx?vD<vx?yv<vx?Qd<vx?e7<vx?Jh<vx?0:-1:0:-1:u7<vx?b2<vx?0:-1:0:-1:BD<vx?0:oE<vx?bg<vx?0:-1:0:-1:B3<vx?0:sE<vx?G2<vx?pa<vx?o7<vx?0:-1:0:-1:0:-1:r_<vx?$y<vx?U3<vx?X7<vx?C7<vx?wh<vx?L7<vx?0:-1:0:-1:Zy<vx?t8<vx?0:-1:0:LC<vx?jp<vx?0:-1:F3<vx?lE<vx?0:-1:0:-1:UD<vx?uc<vx?tm<vx?C0<vx?0:-1:G0<vx?rD<vx?0:-1:0:-1:0:Qb<vx?N7<vx?D2<vx?Se<vx?D_<vx?_g<vx?MC<vx?hy<vx?ub<vx?ph<vx?$7<vx?yE<vx?0:-1:S0<vx?Dh<vx?0:-1:0:-1:Ko<vx&&kg<vx?o0<vx?0:-1:0:FD<vx?_y<vx?c3<vx&&EC<vx?ho<vx?0:-1:0:-1:Xp<vx?Bp<vx?_u<vx?GD<vx?0:-1:0:-1:Q2<vx?g7<vx?0:-1:0:Y_<vx?NE<vx?n8<vx||Fd<vx?0:SE<vx?Y3<vx?0:-1:0:-1:rs<vx||Pc<vx?0:SC<vx?Bd<vx?0:-1:0:D7<vx?Em<vx?Ju<vx?QE<vx?zm<vx&&sy<vx?mb<vx?0:-1:0:m_<vx&&g3<vx?Gf<vx?0:-1:0:-1:CD<vx?Mg<vx?Yg<vx?If<vx?_c<vx?Uv<vx?0:-1:0:-1:0:-1:0:Mc<vx?wy<vx?CE<vx?EE<vx?vp<vx?D<vx?Ub<vx?0:-1:0:-1:0:NC<vx?0:e3<vx?m3<vx?0:-1:0:-1:j3<vx&&v7<vx&&cv<vx?FC<vx?0:-1:0:Gh<vx?Mm<vx?fi<vx?SD<vx?FE<vx?ri<vx?DD<vx?qD<vx?0:-1:mf<vx?Ep<vx?0:-1:0:-1:0:Nc<vx?Wg<vx?0:My<vx?ib<vx?0:-1:0:UC<vx&&p1<vx?C2<vx?0:-1:0:GE<vx?pm<vx?o2<vx?Dg<vx&&S7<vx?zg<vx?0:-1:0:-1:Tt<vx?y7<vx?cb<vx?M7<vx?0:-1:0:-1:0:0:-1:qv<vx?WC<vx?am<vx?_m<vx?Op<vx?x_<vx?0:-1:lv<vx?ze<vx?0:-1:0:0:x7<vx?Oh<vx?H_<vx?0:$a<vx?Z2<vx?0:-1:0:-1:py<vx?Iy<vx?bd<vx?0:-1:0:v_<vx?Ne<vx?0:-1:0:-1:yo<vx?Yh<vx?xm<vx?fy<vx?o1<vx?Hi<vx?my<vx?0:-1:0:-1:md<vx?ol<vx?0:-1:0:0:-1:_1<vx?za<vx?xl<vx?ws<vx?f7<vx?Iu<vx?0:-1:0:-1:n_<vx?ym<vx?0:-1:0:-1:Il<vx?z_<vx?Bo<vx?xf<vx?0:-1:0:-1:0:-1:vm<vx?Ii<vx?ce<vx?Q7<vx?bh<vx?x3<vx?E2<vx?M<vx&&tD<vx?AE<vx?0:-1:0:pg<vx?Su<vx?qm<vx?t_<vx?0:-1:0:-1:S_<vx?jd<vx?0:-1:0:-1:AC<vx?wE<vx?Zr<vx?Td<vx?t7<vx?0:-1:0:-1:lh<vx?JE<vx?0:-1:0:0:yl<vx?Q_<vx?jf<vx?X2<vx?Wm<vx?0:-1:Kb<vx?_i<vx?0:-1:0:-1:K0<vx?jC<vx?0:-1:Mn<vx?C3<vx?0:-1:0:oy<vx?0:Zv<vx?hb<vx?0:-1:RC<vx?qh<vx?0:-1:0:$f<vx?gy<vx?xD<vx?dC<vx?Xd<vx?Z<vx?Jl<vx?0:-1:0:$C<vx?Ss<vx?0:-1:0:-1:0:Xo<vx?pp<vx?Bs<vx?e8<vx?TC<vx?0:-1:0:-1:Ug<vx?bm<vx?0:-1:0:0:Hu<vx?zC<vx?om<vx?y3<vx?VD<vx?0:-1:TE<vx?Lf<vx?0:-1:0:0:-1:F7<vx?mv<vx?b7<vx?ov<vx?Xn<vx?0:-1:0:Lb<vx?Ky<vx?0:-1:0:-1:dE<vx?K3<vx?H<vx?kb<vx?0:-1:0:-1:0:-1:Vf<vx?Cd<vx?zv<vx?hl<vx?hm<vx?Qp<vx?sC<vx?f0<vx?yD<vx?Th<vx?Qy<vx?0:-1:0:-1:vg<vx?E_<vx?0:-1:0:-1:Sm<vx?Zm<vx?n7<vx?k_<vx?0:-1:0:-1:ot<vx?PD<vx?0:-1:0:B0<vx?e_<vx?iC<vx?Nb<vx?Ob<vx?ab<vx?0:-1:0:-1:Ws<vx?pb<vx?0:-1:0:-1:tC<vx?wv<vx?P2<vx?DE<vx?0:-1:0:-1:Mo<vx?Vg<vx?0:-1:0:-1:Wl<vx?Gd<vx?Sl<vx?O7<vx?mu<vx?0:-1:IC<vx?A0<vx?0:-1:0:c2<vx?jb<vx?Yl<vx?b1<vx?0:-1:0:-1:Dy<vx?oi<vx?0:-1:0:-1:zh<vx?Te<vx?of<vx?Vy<vx?Yu<vx?Ut<vx?0:-1:0:-1:Rv<vx?sv<vx?0:-1:0:-1:U7<vx?Bm<vx?Bv<vx?qg<vx?0:-1:0:-1:jg<vx?cD<vx?0:-1:0:-1:tb<vx?h7<vx?Ay<vx?Wh<vx?_7<vx?rC<vx?hc<vx?Uu<vx?oC<vx?O0<vx?0:-1:0:-1:s1<vx?HD<vx?0:-1:0:-1:Ix<vx?rd<vx?df<vx?tl<vx?0:-1:0:-1:Tm<vx?B2<vx?0:-1:0:-1:Pv<vx?Tp<vx?e0<vx?Xc<vx?a_<vx?0:-1:0:-1:ly<vx?Wp<vx?0:-1:0:mp<vx?Nv<vx?Vh<vx?tf<vx?0:-1:0:-1:rl<vx?aD<vx?0:-1:0:-1:Lv<vx?d0<vx?Gm<vx?Xv<vx?LE<vx?Fg<vx?0:-1:0:Zc<vx?Zb<vx?0:-1:0:E3<vx?0:Qg<vx?wg<vx?0:-1:0:-1:pf<vx?Bh<vx?Id<vx?Ly<vx?R_<vx?U0<vx?0:-1:0:-1:Up<vx?G_<vx?0:-1:0:-1:k3<vx?cy<vx?g0<vx?U1<vx?0:-1:0:-1:qr<vx?De<vx?0:-1:0:-1:Zt<vx?ry<vx?Qm<vx?gm<vx?Ds<vx?a8<vx?ql<vx?wf<vx?L2<vx?xu<vx?jy<vx?Rd<vx?Rb<vx?W3<vx?Y0<vx?0:-1:0:-1:U_<vx?xC<vx?0:-1:0:-1:Jm<vx?Dm<vx?Al<vx?Fl<vx?0:-1:0:-1:F_<vx?Nt<vx?0:-1:0:-1:Ff<vx?0:y2<vx?l1<vx?vy<vx?gd<vx?0:-1:0:-1:Fh<vx?Sh<vx?0:-1:0:-1:P0<vx?W7<vx?YE<vx?i8<vx?dD<vx?Vb<vx?Y7<vx?V0<vx?0:-1:0:-1:av<vx?W<vx?0:-1:0:-1:Vv<vx?gC<vx?Is<vx?cp<vx?0:-1:0:-1:Gb<vx?RE<vx?0:-1:0:-1:y0<vx?Ou<vx?bo<vx?rb<vx?E7<vx?ZD<vx?0:-1:0:-1:Ty<vx?by<vx?0:-1:0:-1:mh<vx?mm<vx?Gg<vx?I3<vx?0:-1:0:-1:li<vx?Av<vx?0:-1:0:-1:La<vx?Uy<vx?Cp<vx?js<vx?q_<vx?lD<vx&&QD<vx?ID<vx?0:-1:0:-1:H1<vx?c0<vx?N_<vx?l2<vx?0:-1:0:-1:kp<vx?Hy<vx?0:-1:0:-1:hf<vx?fE<vx?gb<vx?d<vx?w3<vx?_o<vx?0:-1:0:-1:td<vx?C1<vx?0:-1:0:-1:cE<vx?wb<vx?0:-1:0:Xg<vx?Fv<vx?x8<vx?0:Bb<vx?uC<vx?fb<vx?0:-1:0:fD<vx?nf<vx?0:-1:0:-1:J7<vx?Kt<vx?og<vx?V_<vx?G<vx?Kv<vx?0:-1:0:-1:wm<vx?Jf<vx?0:-1:0:-1:rm<vx&&Fb<vx?kh<vx?0:-1:0:q3<vx?$<vx?x2<vx?Uh<vx?BE<vx&&X3<vx?ts<vx?0:-1:0:J3<vx?G1<vx?qs<vx?0:-1:0:Wv<vx?N3<vx?0:-1:0:0:Hh<vx?$m<vx?0:Sv<vx?_b<vx?0:-1:0:g_<vx?Rc<vx?Ev<vx?PC<vx?Mr<vx?0:-1:0:-1:0:rv<vx?0:$d<vx?Ur<vx?0:-1:0:nx<vx?ZE<vx?qa<vx?0:Eg<vx&&JD<vx?M2<vx?0:-1:0:ip<vx?K7<vx?0:$c<vx?Vm<vx?0:-1:0:gt<vx&&R7<vx?Mf<vx?0:-1:0:z7<vx?_<vx?0:zd<vx?bC<vx?0:-1:eC<vx?L3<vx?0:-1:0:Sy<vx?wC<vx?cl<vx?0:-1:0:ng<vx?0:zy<vx?Pf<vx?0:-1:0:-1:Hp<vx?lg<vx?I1<vx?h_<vx?Rl<vx?ev<vx?IE<vx?r8<vx?PE<vx?0:-1:sp<vx?D3<vx?0:-1:0:fh<vx?0:A3<vx?Ip<vx?0:-1:0:-1:0:p8<vx?Hf<vx?0:Dv<vx?Px<vx?Pe<vx?kD<vx?0:-1:0:-1:0:By<vx?wd<vx&&$b<vx?ny<vx?0:-1:0:_E<vx?$v<vx?iy<vx?em<vx?0:-1:0:-1:0:Lo<vx?sf<vx?Zd<vx?R0<vx?0:v3<vx?CC<vx?zl<vx?iD<vx?0:-1:0:-1:0:ig<vx?m2<vx?rp<vx&&gD<vx?Ed<vx?0:-1:0:-1:bn<vx?__<vx?0:-1:0:-1:i7<vx?Fo<vx?nd<vx?Y2<vx?nC<vx?0:Wb<vx?cg<vx?0:-1:0:-1:Eh<vx?wu<vx?T_<vx?lp<vx?0:-1:0:-1:sb<vx?ds<vx?0:-1:0:-1:vh<vx?dv<vx?Hx<vx?Tv<vx?Rp<vx?0:-1:0:xi<vx?af<vx?0:-1:0:-1:0:-1:mE<vx?bf<vx?Ib<vx?r7<vx?sh<vx?I0<vx?Lm<vx?qf<vx&&_t<vx?ep<vx?0:-1:0:-1:HE<vx&&kC<vx?Hg<vx?0:-1:0:-1:s2<vx?rx<vx?AD<vx?0:Nf<vx?h2<vx?0:-1:0:-1:Ah<vx?uh<vx?Ch<vx?hD<vx?0:-1:0:-1:Zg<vx?q7<vx?0:-1:0:-1:_v<vx?f3<vx?Cv<vx?ay<vx?Yy<vx?hg<vx?Md<vx?Ro<vx?0:-1:0:-1:ND<vx?$h<vx?0:-1:0:-1:kf<vx?Of<vx?0:-1:TD<vx?nv<vx?0:-1:0:-1:R3<vx?ch<vx?y_<vx?WD<vx?Js<vx?0:-1:0:-1:Ap<vx?qb<vx?0:-1:0:Mb<vx?ht<vx?0:-1:0:pl<vx?d7<vx?Uf<vx?nl<vx?Km<vx?j<vx?_d<vx?G7<vx?xb<vx?0:-1:0:-1:D0<vx?H7<vx?0:-1:0:Vp<vx?w_<vx?0:-1:a3<vx?Sg<vx?0:-1:0:-1:zD<vx?bE<vx&&Yv<vx?Ry<vx?0:-1:0:oc<vx?$i<vx?0:-1:XD<vx?t3<vx?0:-1:0:-1:$e<vx?ah<vx?Bi<vx?d_<vx?Pu<vx?j2<vx?an<vx?0:-1:0:z3<vx?Yb<vx?0:-1:0:-1:zb<vx?B_<vx?nm<vx?eD<vx?0:-1:0:-1:ug<vx?T7<vx?0:-1:0:-1:Z7<vx?Yi<vx?J_<vx?Dd<vx?W1<vx?Oy<vx?0:-1:0:-1:M_<vx?Z3<vx?0:-1:0:-1:eb<vx?im<vx?qC<vx?Rf<vx?0:-1:0:-1:Np<vx?Kc<vx?0:-1:0:-1:fr(AX1,vx+Kd|0)-1|0:-1;else fJ=-1;if(3<fJ>>>0)Mx=Zx(x);else switch(fJ){case 0:Mx=L(x);break;case 1:Mx=v(x);break;case 2:Qe(x,87);var lW=VU(Rx(x));if(2<lW>>>0)Mx=Zx(x);else switch(lW){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,76);var _Q=_h(Rx(x));Mx=_Q===0?L(x):_Q===1?v(x):Zx(x)}break;default:Qe(x,87);var fW=$U(Rx(x));if(2<fW>>>0)Mx=Zx(x);else switch(fW){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var yQ=c20(Rx(x));if(2<yQ>>>0)Mx=Zx(x);else switch(yQ){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,77);var pW=_h(Rx(x));Mx=pW===0?L(x):pW===1?v(x):Zx(x)}}}break;case 3:Qe(x,87);var DQ=Rx(x);if(DQ)var Ex=DQ[1],pJ=35<Ex?C_<Ex?ha<Ex?vs<Ex?-1:ne<Ex?Mu<Ex?Nh<Ex?_D<Ex?O2<Ex?a7<Ex?uy<Ex?pE<Ex?Jg<Ex?0:-1:$D<Ex?ks<Ex?0:-1:0:-1:N2<Ex?up<Ex?A7<Ex?A_<Ex?0:-1:0:-1:e<Ex?Xf<Ex?0:-1:0:-1:Ld<Ex?w1<Ex?Zo<Ex?Ov<Ex?pv<Ex?mg<Ex?Xy<Ex?Cm<Ex?ob<Ex?Sd<Ex?0:-1:0:-1:d2<Ex?qt<Ex?0:-1:0:-1:Am<Ex?$_<Ex?Bt<Ex?Pp<Ex?0:-1:0:-1:Fc<Ex?_3<Ex?0:-1:0:-1:yy<Ex?sn<Ex?G3<Ex?jl<Ex?vd<Ex?Hb<Ex?0:-1:0:-1:Gt<Ex?aC<Ex?0:-1:0:-1:_e<Ex?Ac<Ex?Gv<Ex?op<Ex?0:-1:0:-1:Zl<Ex?Jv<Ex?0:-1:0:-1:I_<Ex?Pb<Ex?gg<Ex?ih<Ex?m7<Ex?P7<Ex?np<Ex?bv<Ex?0:-1:0:-1:Yp<Ex?Rg<Ex?0:-1:0:-1:dp<Ex?V7<Ex?Kh<Ex?Xl<Ex?0:-1:0:-1:oD<Ex?Jb<Ex?0:-1:0:-1:Us<Ex?dd<Ex?hv<Ex?Dp<Ex?jv<Ex?Zp<Ex?0:-1:0:-1:bD<Ex?V3<Ex?0:-1:0:-1:gv<Ex?iv<Ex?oh<Ex?Ym<Ex?0:-1:0:-1:Gy<Ex?p7<Ex?0:-1:0:-1:fp<Ex?Ef<Ex?c7<Ex?l0<Ex?Z1<Ex?Hr<Ex?Eb<Ex?Xb<Ex?OD<Ex?R2<Ex?kE<Ex?Iv<Ex?0:-1:0:-1:0:Ox<Ex?Kf<Ex?gE<Ex?Va<Ex?0:-1:0:-1:ge<Ex?_l<Ex?0:-1:0:pD<Ex?vE<Ex?ky<Ex?wp<Ex?0:-1:p3<Ex?Ih<Ex?0:-1:0:-1:MD<Ex?OC<Ex?0:-1:KC<Ex?r3<Ex?0:-1:0:-1:I2<Ex?lo<Ex?Re<Ex?yC<Ex?ME<Ex?db<Ex?fg<Ex?Wy<Ex?0:-1:0:-1:XE<Ex?xd<Ex?0:-1:0:-1:Wa<Ex?yc<Ex?S3<Ex?Kl<Ex?0:-1:0:-1:Fy<Ex?xc<Ex?0:-1:0:-1:ka<Ex?Kp<Ex?uE<Ex?Lg<Ex?_C<Ex?OE<Ex?0:-1:0:-1:v2<Ex?Hm<Ex?0:-1:0:-1:Wx<Ex?ff<Ex?Tb<Ex?Fm<Ex?0:-1:0:-1:b3<Ex?k7<Ex?0:-1:0:-1:d3<Ex?Ad<Ex?P3<Ex?Yd<Ex?eu<Ex?l7<Ex?Mt<Ex?v1<Ex?Cg<Ex?Xm<Ex?0:-1:0:-1:zf<Ex?mD<Ex?0:-1:0:-1:Mv<Ex?tt<Ex?Pm<Ex?ld<Ex?0:-1:0:-1:$3<Ex?zp<Ex?0:-1:0:-1:qx<Ex?n3<Ex?YD<Ex?uD<Ex?I7<Ex?fl<Ex?0:-1:0:-1:al<Ex?j_<Ex?0:-1:0:-1:Cc<Ex?N1<Ex?O_<Ex?B7<Ex?0:-1:0:-1:pd<Ex?dm<Ex?0:-1:0:-1:N0<Ex?Xh<Ex?dh<Ex?dg<Ex?b0<Ex?bp<Ex?Nl<Ex?Ph<Ex?0:-1:0:-1:M3<Ex?lb<Ex?0:-1:0:-1:rc<Ex?ec<Ex?P_<Ex?Ud<Ex?0:-1:0:-1:fv<Ex?K_<Ex?0:-1:0:-1:Om<Ex?Ag<Ex?rf<Ex?O3<Ex?Fn<Ex?bt<Ex?0:-1:0:-1:U<Ex?j7<Ex?0:-1:0:-1:DC<Ex?ed<Ex?Im<Ex?i3<Ex?0:-1:0:-1:0:-1:kv<Ex?Hd<Ex?Jy<Ex?Za<Ex?wD<Ex?E1<Ex?ag<Ex?xh<Ex?Hv<Ex?vv<Ex?l3<Ex?0:-1:0:-1:H3<Ex?co<Ex?0:-1:0:-1:LD<Ex?ex<Ex?qy<Ex?nD<Ex?0:-1:0:-1:ED<Ex?Pa<Ex?0:-1:0:-1:sD<Ex?th<Ex?hh<Ex?L_<Ex?h3<Ex?Cy<Ex?0:-1:0:-1:w7<Ex?Ey<Ex?0:-1:0:-1:H2<Ex?eh<Ex?xv<Ex?0:-1:0:u2<Ex?C<Ex?0:-1:0:P<Ex?Kg<Ex?wl<Ex?b_<Ex?cc<Ex?W_<Ex?0:-1:Tg<Ex?i_<Ex?0:-1:0:-1:Sb<Ex?tv<Ex?s7<Ex?Ku<Ex?0:-1:0:-1:nb<Ex?Cf<Ex?0:-1:0:-1:aE<Ex?Gr<Ex?hE<Ex?O<Ex?0:-1:Uc<Ex?Qv<Ex?0:-1:0:-1:Un<Ex?T3<Ex?X_<Ex?BC<Ex?0:-1:0:-1:p2<Ex?dy<Ex?0:-1:0:-1:Jr<Ex?uv<Ex?Gc<Ex?mo<Ex?Q3<Ex?vD<Ex?yv<Ex?Qd<Ex?e7<Ex?Jh<Ex?0:-1:0:-1:u7<Ex?b2<Ex?0:-1:0:-1:BD<Ex?0:oE<Ex?bg<Ex?0:-1:0:-1:B3<Ex?0:sE<Ex?G2<Ex?pa<Ex?o7<Ex?0:-1:0:-1:0:-1:r_<Ex?$y<Ex?U3<Ex?X7<Ex?C7<Ex?wh<Ex?L7<Ex?0:-1:0:-1:Zy<Ex?t8<Ex?0:-1:0:LC<Ex?jp<Ex?0:-1:F3<Ex?lE<Ex?0:-1:0:-1:UD<Ex?uc<Ex?tm<Ex?C0<Ex?0:-1:G0<Ex?rD<Ex?0:-1:0:-1:0:Qb<Ex?N7<Ex?D2<Ex?Se<Ex?D_<Ex?_g<Ex?MC<Ex?hy<Ex?ub<Ex?ph<Ex?$7<Ex?yE<Ex?0:-1:S0<Ex?Dh<Ex?0:-1:0:-1:Ko<Ex&&kg<Ex?o0<Ex?0:-1:0:FD<Ex?_y<Ex?c3<Ex&&EC<Ex?ho<Ex?0:-1:0:-1:Xp<Ex?Bp<Ex?_u<Ex?GD<Ex?0:-1:0:-1:Q2<Ex?g7<Ex?0:-1:0:Y_<Ex?NE<Ex?n8<Ex||Fd<Ex?0:SE<Ex?Y3<Ex?0:-1:0:-1:rs<Ex||Pc<Ex?0:SC<Ex?Bd<Ex?0:-1:0:D7<Ex?Em<Ex?Ju<Ex?QE<Ex?zm<Ex&&sy<Ex?mb<Ex?0:-1:0:m_<Ex&&g3<Ex?Gf<Ex?0:-1:0:-1:CD<Ex?Mg<Ex?Yg<Ex?If<Ex?_c<Ex?Uv<Ex?0:-1:0:-1:0:-1:0:Mc<Ex?wy<Ex?CE<Ex?EE<Ex?vp<Ex?D<Ex?Ub<Ex?0:-1:0:-1:0:NC<Ex?0:e3<Ex?m3<Ex?0:-1:0:-1:j3<Ex&&v7<Ex&&cv<Ex?FC<Ex?0:-1:0:Gh<Ex?Mm<Ex?fi<Ex?SD<Ex?FE<Ex?ri<Ex?DD<Ex?qD<Ex?0:-1:mf<Ex?Ep<Ex?0:-1:0:-1:0:Nc<Ex?Wg<Ex?0:My<Ex?ib<Ex?0:-1:0:UC<Ex&&p1<Ex?C2<Ex?0:-1:0:GE<Ex?pm<Ex?o2<Ex?Dg<Ex&&S7<Ex?zg<Ex?0:-1:0:-1:Tt<Ex?y7<Ex?cb<Ex?M7<Ex?0:-1:0:-1:0:0:-1:qv<Ex?WC<Ex?am<Ex?_m<Ex?Op<Ex?x_<Ex?0:-1:lv<Ex?ze<Ex?0:-1:0:0:x7<Ex?Oh<Ex?H_<Ex?0:$a<Ex?Z2<Ex?0:-1:0:-1:py<Ex?Iy<Ex?bd<Ex?0:-1:0:v_<Ex?Ne<Ex?0:-1:0:-1:yo<Ex?Yh<Ex?xm<Ex?fy<Ex?o1<Ex?Hi<Ex?my<Ex?0:-1:0:-1:md<Ex?ol<Ex?0:-1:0:0:-1:_1<Ex?za<Ex?xl<Ex?ws<Ex?f7<Ex?Iu<Ex?0:-1:0:-1:n_<Ex?ym<Ex?0:-1:0:-1:Il<Ex?z_<Ex?Bo<Ex?xf<Ex?0:-1:0:-1:0:-1:vm<Ex?Ii<Ex?ce<Ex?Q7<Ex?bh<Ex?x3<Ex?E2<Ex?M<Ex&&tD<Ex?AE<Ex?0:-1:0:pg<Ex?Su<Ex?qm<Ex?t_<Ex?0:-1:0:-1:S_<Ex?jd<Ex?0:-1:0:-1:AC<Ex?wE<Ex?Zr<Ex?Td<Ex?t7<Ex?0:-1:0:-1:lh<Ex?JE<Ex?0:-1:0:0:yl<Ex?Q_<Ex?jf<Ex?X2<Ex?Wm<Ex?0:-1:Kb<Ex?_i<Ex?0:-1:0:-1:K0<Ex?jC<Ex?0:-1:Mn<Ex?C3<Ex?0:-1:0:oy<Ex?0:Zv<Ex?hb<Ex?0:-1:RC<Ex?qh<Ex?0:-1:0:$f<Ex?gy<Ex?xD<Ex?dC<Ex?Xd<Ex?Z<Ex?Jl<Ex?0:-1:0:$C<Ex?Ss<Ex?0:-1:0:-1:0:Xo<Ex?pp<Ex?Bs<Ex?e8<Ex?TC<Ex?0:-1:0:-1:Ug<Ex?bm<Ex?0:-1:0:0:Hu<Ex?zC<Ex?om<Ex?y3<Ex?VD<Ex?0:-1:TE<Ex?Lf<Ex?0:-1:0:0:-1:F7<Ex?mv<Ex?b7<Ex?ov<Ex?Xn<Ex?0:-1:0:Lb<Ex?Ky<Ex?0:-1:0:-1:dE<Ex?K3<Ex?H<Ex?kb<Ex?0:-1:0:-1:0:-1:Vf<Ex?Cd<Ex?zv<Ex?hl<Ex?hm<Ex?Qp<Ex?sC<Ex?f0<Ex?yD<Ex?Th<Ex?Qy<Ex?0:-1:0:-1:vg<Ex?E_<Ex?0:-1:0:-1:Sm<Ex?Zm<Ex?n7<Ex?k_<Ex?0:-1:0:-1:ot<Ex?PD<Ex?0:-1:0:B0<Ex?e_<Ex?iC<Ex?Nb<Ex?Ob<Ex?ab<Ex?0:-1:0:-1:Ws<Ex?pb<Ex?0:-1:0:-1:tC<Ex?wv<Ex?P2<Ex?DE<Ex?0:-1:0:-1:Mo<Ex?Vg<Ex?0:-1:0:-1:Wl<Ex?Gd<Ex?Sl<Ex?O7<Ex?mu<Ex?0:-1:IC<Ex?A0<Ex?0:-1:0:c2<Ex?jb<Ex?Yl<Ex?b1<Ex?0:-1:0:-1:Dy<Ex?oi<Ex?0:-1:0:-1:zh<Ex?Te<Ex?of<Ex?Vy<Ex?Yu<Ex?Ut<Ex?0:-1:0:-1:Rv<Ex?sv<Ex?0:-1:0:-1:U7<Ex?Bm<Ex?Bv<Ex?qg<Ex?0:-1:0:-1:jg<Ex?cD<Ex?0:-1:0:-1:tb<Ex?h7<Ex?Ay<Ex?Wh<Ex?_7<Ex?rC<Ex?hc<Ex?Uu<Ex?oC<Ex?O0<Ex?0:-1:0:-1:s1<Ex?HD<Ex?0:-1:0:-1:Ix<Ex?rd<Ex?df<Ex?tl<Ex?0:-1:0:-1:Tm<Ex?B2<Ex?0:-1:0:-1:Pv<Ex?Tp<Ex?e0<Ex?Xc<Ex?a_<Ex?0:-1:0:-1:ly<Ex?Wp<Ex?0:-1:0:mp<Ex?Nv<Ex?Vh<Ex?tf<Ex?0:-1:0:-1:rl<Ex?aD<Ex?0:-1:0:-1:Lv<Ex?d0<Ex?Gm<Ex?Xv<Ex?LE<Ex?Fg<Ex?0:-1:0:Zc<Ex?Zb<Ex?0:-1:0:E3<Ex?0:Qg<Ex?wg<Ex?0:-1:0:-1:pf<Ex?Bh<Ex?Id<Ex?Ly<Ex?R_<Ex?U0<Ex?0:-1:0:-1:Up<Ex?G_<Ex?0:-1:0:-1:k3<Ex?cy<Ex?g0<Ex?U1<Ex?0:-1:0:-1:qr<Ex?De<Ex?0:-1:0:-1:Zt<Ex?ry<Ex?Qm<Ex?gm<Ex?Ds<Ex?a8<Ex?ql<Ex?wf<Ex?L2<Ex?xu<Ex?jy<Ex?Rd<Ex?Rb<Ex?W3<Ex?Y0<Ex?0:-1:0:-1:U_<Ex?xC<Ex?0:-1:0:-1:Jm<Ex?Dm<Ex?Al<Ex?Fl<Ex?0:-1:0:-1:F_<Ex?Nt<Ex?0:-1:0:-1:Ff<Ex?0:y2<Ex?l1<Ex?vy<Ex?gd<Ex?0:-1:0:-1:Fh<Ex?Sh<Ex?0:-1:0:-1:P0<Ex?W7<Ex?YE<Ex?i8<Ex?dD<Ex?Vb<Ex?Y7<Ex?V0<Ex?0:-1:0:-1:av<Ex?W<Ex?0:-1:0:-1:Vv<Ex?gC<Ex?Is<Ex?cp<Ex?0:-1:0:-1:Gb<Ex?RE<Ex?0:-1:0:-1:y0<Ex?Ou<Ex?bo<Ex?rb<Ex?E7<Ex?ZD<Ex?0:-1:0:-1:Ty<Ex?by<Ex?0:-1:0:-1:mh<Ex?mm<Ex?Gg<Ex?I3<Ex?0:-1:0:-1:li<Ex?Av<Ex?0:-1:0:-1:La<Ex?Uy<Ex?Cp<Ex?js<Ex?q_<Ex?lD<Ex&&QD<Ex?ID<Ex?0:-1:0:-1:H1<Ex?c0<Ex?N_<Ex?l2<Ex?0:-1:0:-1:kp<Ex?Hy<Ex?0:-1:0:-1:hf<Ex?fE<Ex?gb<Ex?d<Ex?w3<Ex?_o<Ex?0:-1:0:-1:td<Ex?C1<Ex?0:-1:0:-1:cE<Ex?wb<Ex?0:-1:0:Xg<Ex?Fv<Ex?x8<Ex?0:Bb<Ex?uC<Ex?fb<Ex?0:-1:0:fD<Ex?nf<Ex?0:-1:0:-1:J7<Ex?Kt<Ex?og<Ex?V_<Ex?G<Ex?Kv<Ex?0:-1:0:-1:wm<Ex?Jf<Ex?0:-1:0:-1:rm<Ex&&Fb<Ex?kh<Ex?0:-1:0:q3<Ex?$<Ex?x2<Ex?Uh<Ex?BE<Ex&&X3<Ex?ts<Ex?0:-1:0:J3<Ex?G1<Ex?qs<Ex?0:-1:0:Wv<Ex?N3<Ex?0:-1:0:0:Hh<Ex?$m<Ex?0:Sv<Ex?_b<Ex?0:-1:0:g_<Ex?Rc<Ex?Ev<Ex?PC<Ex?Mr<Ex?0:-1:0:-1:0:rv<Ex?0:$d<Ex?Ur<Ex?0:-1:0:nx<Ex?ZE<Ex?qa<Ex?0:Eg<Ex&&JD<Ex?M2<Ex?0:-1:0:ip<Ex?K7<Ex?0:$c<Ex?Vm<Ex?0:-1:0:gt<Ex&&R7<Ex?Mf<Ex?0:-1:0:z7<Ex?_<Ex?0:zd<Ex?bC<Ex?0:-1:eC<Ex?L3<Ex?0:-1:0:Sy<Ex?wC<Ex?cl<Ex?0:-1:0:ng<Ex?0:zy<Ex?Pf<Ex?0:-1:0:-1:Hp<Ex?lg<Ex?I1<Ex?h_<Ex?Rl<Ex?ev<Ex?IE<Ex?r8<Ex?PE<Ex?0:-1:sp<Ex?D3<Ex?0:-1:0:fh<Ex?0:A3<Ex?Ip<Ex?0:-1:0:-1:0:p8<Ex?Hf<Ex?0:Dv<Ex?Px<Ex?Pe<Ex?kD<Ex?0:-1:0:-1:0:By<Ex?wd<Ex&&$b<Ex?ny<Ex?0:-1:0:_E<Ex?$v<Ex?iy<Ex?em<Ex?0:-1:0:-1:0:Lo<Ex?sf<Ex?Zd<Ex?R0<Ex?0:v3<Ex?CC<Ex?zl<Ex?iD<Ex?0:-1:0:-1:0:ig<Ex?m2<Ex?rp<Ex&&gD<Ex?Ed<Ex?0:-1:0:-1:bn<Ex?__<Ex?0:-1:0:-1:i7<Ex?Fo<Ex?nd<Ex?Y2<Ex?nC<Ex?0:Wb<Ex?cg<Ex?0:-1:0:-1:Eh<Ex?wu<Ex?T_<Ex?lp<Ex?0:-1:0:-1:sb<Ex?ds<Ex?0:-1:0:-1:vh<Ex?dv<Ex?Hx<Ex?Tv<Ex?Rp<Ex?0:-1:0:xi<Ex?af<Ex?0:-1:0:-1:0:-1:mE<Ex?bf<Ex?Ib<Ex?r7<Ex?sh<Ex?I0<Ex?Lm<Ex?qf<Ex&&_t<Ex?ep<Ex?0:-1:0:-1:HE<Ex&&kC<Ex?Hg<Ex?0:-1:0:-1:s2<Ex?rx<Ex?AD<Ex?0:Nf<Ex?h2<Ex?0:-1:0:-1:Ah<Ex?uh<Ex?Ch<Ex?hD<Ex?0:-1:0:-1:Zg<Ex?q7<Ex?0:-1:0:-1:_v<Ex?f3<Ex?Cv<Ex?ay<Ex?Yy<Ex?hg<Ex?Md<Ex?Ro<Ex?0:-1:0:-1:ND<Ex?$h<Ex?0:-1:0:-1:kf<Ex?Of<Ex?0:-1:TD<Ex?nv<Ex?0:-1:0:-1:R3<Ex?ch<Ex?y_<Ex?WD<Ex?Js<Ex?0:-1:0:-1:Ap<Ex?qb<Ex?0:-1:0:Mb<Ex?ht<Ex?0:-1:0:pl<Ex?d7<Ex?Uf<Ex?nl<Ex?Km<Ex?j<Ex?_d<Ex?G7<Ex?xb<Ex?0:-1:0:-1:D0<Ex?H7<Ex?0:-1:0:Vp<Ex?w_<Ex?0:-1:a3<Ex?Sg<Ex?0:-1:0:-1:zD<Ex?bE<Ex&&Yv<Ex?Ry<Ex?0:-1:0:oc<Ex?$i<Ex?0:-1:XD<Ex?t3<Ex?0:-1:0:-1:$e<Ex?ah<Ex?Bi<Ex?d_<Ex?Pu<Ex?j2<Ex?an<Ex?0:-1:0:z3<Ex?Yb<Ex?0:-1:0:-1:zb<Ex?B_<Ex?nm<Ex?eD<Ex?0:-1:0:-1:ug<Ex?T7<Ex?0:-1:0:-1:Z7<Ex?Yi<Ex?J_<Ex?Dd<Ex?W1<Ex?Oy<Ex?0:-1:0:-1:M_<Ex?Z3<Ex?0:-1:0:-1:eb<Ex?im<Ex?qC<Ex?Rf<Ex?0:-1:0:-1:Np<Ex?Kc<Ex?0:-1:0:-1:fr(yX1,Ex+Kd|0)-1|0:-1;else pJ=-1;if(3<pJ>>>0)Mx=Zx(x);else switch(pJ){case 0:Mx=L(x);break;case 1:Mx=v(x);break;case 2:Qe(x,87);var vQ=V4(Rx(x));if(2<vQ>>>0)Mx=Zx(x);else switch(vQ){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,78);var l$=_h(Rx(x));Mx=l$===0?L(x):l$===1?v(x):Zx(x)}break;default:Qe(x,79);var dW=_h(Rx(x));Mx=dW===0?L(x):dW===1?v(x):Zx(x)}break;default:Qe(x,87);var dJ=zq(Rx(x));if(2<dJ>>>0)Mx=Zx(x);else switch(dJ){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var mW=V4(Rx(x));if(2<mW>>>0)Mx=Zx(x);else switch(mW){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,80);var mJ=$U(Rx(x));if(2<mJ>>>0)Mx=Zx(x);else switch(mJ){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var hJ=Hq(Rx(x));if(2<hJ>>>0)Mx=Zx(x);else switch(hJ){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,81);var bQ=_h(Rx(x));Mx=bQ===0?L(x):bQ===1?v(x):Zx(x)}}}}}break;case 47:Qe(x,87);var hW=Rx(x);if(hW)var Sx=hW[1],gJ=35<Sx?C_<Sx?ha<Sx?vs<Sx?-1:ne<Sx?Mu<Sx?Nh<Sx?_D<Sx?O2<Sx?a7<Sx?uy<Sx?pE<Sx?Jg<Sx?0:-1:$D<Sx?ks<Sx?0:-1:0:-1:N2<Sx?up<Sx?A7<Sx?A_<Sx?0:-1:0:-1:e<Sx?Xf<Sx?0:-1:0:-1:Ld<Sx?w1<Sx?Zo<Sx?Ov<Sx?pv<Sx?mg<Sx?Xy<Sx?Cm<Sx?ob<Sx?Sd<Sx?0:-1:0:-1:d2<Sx?qt<Sx?0:-1:0:-1:Am<Sx?$_<Sx?Bt<Sx?Pp<Sx?0:-1:0:-1:Fc<Sx?_3<Sx?0:-1:0:-1:yy<Sx?sn<Sx?G3<Sx?jl<Sx?vd<Sx?Hb<Sx?0:-1:0:-1:Gt<Sx?aC<Sx?0:-1:0:-1:_e<Sx?Ac<Sx?Gv<Sx?op<Sx?0:-1:0:-1:Zl<Sx?Jv<Sx?0:-1:0:-1:I_<Sx?Pb<Sx?gg<Sx?ih<Sx?m7<Sx?P7<Sx?np<Sx?bv<Sx?0:-1:0:-1:Yp<Sx?Rg<Sx?0:-1:0:-1:dp<Sx?V7<Sx?Kh<Sx?Xl<Sx?0:-1:0:-1:oD<Sx?Jb<Sx?0:-1:0:-1:Us<Sx?dd<Sx?hv<Sx?Dp<Sx?jv<Sx?Zp<Sx?0:-1:0:-1:bD<Sx?V3<Sx?0:-1:0:-1:gv<Sx?iv<Sx?oh<Sx?Ym<Sx?0:-1:0:-1:Gy<Sx?p7<Sx?0:-1:0:-1:fp<Sx?Ef<Sx?c7<Sx?l0<Sx?Z1<Sx?Hr<Sx?Eb<Sx?Xb<Sx?OD<Sx?R2<Sx?kE<Sx?Iv<Sx?0:-1:0:-1:0:Ox<Sx?Kf<Sx?gE<Sx?Va<Sx?0:-1:0:-1:ge<Sx?_l<Sx?0:-1:0:pD<Sx?vE<Sx?ky<Sx?wp<Sx?0:-1:p3<Sx?Ih<Sx?0:-1:0:-1:MD<Sx?OC<Sx?0:-1:KC<Sx?r3<Sx?0:-1:0:-1:I2<Sx?lo<Sx?Re<Sx?yC<Sx?ME<Sx?db<Sx?fg<Sx?Wy<Sx?0:-1:0:-1:XE<Sx?xd<Sx?0:-1:0:-1:Wa<Sx?yc<Sx?S3<Sx?Kl<Sx?0:-1:0:-1:Fy<Sx?xc<Sx?0:-1:0:-1:ka<Sx?Kp<Sx?uE<Sx?Lg<Sx?_C<Sx?OE<Sx?0:-1:0:-1:v2<Sx?Hm<Sx?0:-1:0:-1:Wx<Sx?ff<Sx?Tb<Sx?Fm<Sx?0:-1:0:-1:b3<Sx?k7<Sx?0:-1:0:-1:d3<Sx?Ad<Sx?P3<Sx?Yd<Sx?eu<Sx?l7<Sx?Mt<Sx?v1<Sx?Cg<Sx?Xm<Sx?0:-1:0:-1:zf<Sx?mD<Sx?0:-1:0:-1:Mv<Sx?tt<Sx?Pm<Sx?ld<Sx?0:-1:0:-1:$3<Sx?zp<Sx?0:-1:0:-1:qx<Sx?n3<Sx?YD<Sx?uD<Sx?I7<Sx?fl<Sx?0:-1:0:-1:al<Sx?j_<Sx?0:-1:0:-1:Cc<Sx?N1<Sx?O_<Sx?B7<Sx?0:-1:0:-1:pd<Sx?dm<Sx?0:-1:0:-1:N0<Sx?Xh<Sx?dh<Sx?dg<Sx?b0<Sx?bp<Sx?Nl<Sx?Ph<Sx?0:-1:0:-1:M3<Sx?lb<Sx?0:-1:0:-1:rc<Sx?ec<Sx?P_<Sx?Ud<Sx?0:-1:0:-1:fv<Sx?K_<Sx?0:-1:0:-1:Om<Sx?Ag<Sx?rf<Sx?O3<Sx?Fn<Sx?bt<Sx?0:-1:0:-1:U<Sx?j7<Sx?0:-1:0:-1:DC<Sx?ed<Sx?Im<Sx?i3<Sx?0:-1:0:-1:0:-1:kv<Sx?Hd<Sx?Jy<Sx?Za<Sx?wD<Sx?E1<Sx?ag<Sx?xh<Sx?Hv<Sx?vv<Sx?l3<Sx?0:-1:0:-1:H3<Sx?co<Sx?0:-1:0:-1:LD<Sx?ex<Sx?qy<Sx?nD<Sx?0:-1:0:-1:ED<Sx?Pa<Sx?0:-1:0:-1:sD<Sx?th<Sx?hh<Sx?L_<Sx?h3<Sx?Cy<Sx?0:-1:0:-1:w7<Sx?Ey<Sx?0:-1:0:-1:H2<Sx?eh<Sx?xv<Sx?0:-1:0:u2<Sx?C<Sx?0:-1:0:P<Sx?Kg<Sx?wl<Sx?b_<Sx?cc<Sx?W_<Sx?0:-1:Tg<Sx?i_<Sx?0:-1:0:-1:Sb<Sx?tv<Sx?s7<Sx?Ku<Sx?0:-1:0:-1:nb<Sx?Cf<Sx?0:-1:0:-1:aE<Sx?Gr<Sx?hE<Sx?O<Sx?0:-1:Uc<Sx?Qv<Sx?0:-1:0:-1:Un<Sx?T3<Sx?X_<Sx?BC<Sx?0:-1:0:-1:p2<Sx?dy<Sx?0:-1:0:-1:Jr<Sx?uv<Sx?Gc<Sx?mo<Sx?Q3<Sx?vD<Sx?yv<Sx?Qd<Sx?e7<Sx?Jh<Sx?0:-1:0:-1:u7<Sx?b2<Sx?0:-1:0:-1:BD<Sx?0:oE<Sx?bg<Sx?0:-1:0:-1:B3<Sx?0:sE<Sx?G2<Sx?pa<Sx?o7<Sx?0:-1:0:-1:0:-1:r_<Sx?$y<Sx?U3<Sx?X7<Sx?C7<Sx?wh<Sx?L7<Sx?0:-1:0:-1:Zy<Sx?t8<Sx?0:-1:0:LC<Sx?jp<Sx?0:-1:F3<Sx?lE<Sx?0:-1:0:-1:UD<Sx?uc<Sx?tm<Sx?C0<Sx?0:-1:G0<Sx?rD<Sx?0:-1:0:-1:0:Qb<Sx?N7<Sx?D2<Sx?Se<Sx?D_<Sx?_g<Sx?MC<Sx?hy<Sx?ub<Sx?ph<Sx?$7<Sx?yE<Sx?0:-1:S0<Sx?Dh<Sx?0:-1:0:-1:Ko<Sx&&kg<Sx?o0<Sx?0:-1:0:FD<Sx?_y<Sx?c3<Sx&&EC<Sx?ho<Sx?0:-1:0:-1:Xp<Sx?Bp<Sx?_u<Sx?GD<Sx?0:-1:0:-1:Q2<Sx?g7<Sx?0:-1:0:Y_<Sx?NE<Sx?n8<Sx||Fd<Sx?0:SE<Sx?Y3<Sx?0:-1:0:-1:rs<Sx||Pc<Sx?0:SC<Sx?Bd<Sx?0:-1:0:D7<Sx?Em<Sx?Ju<Sx?QE<Sx?zm<Sx&&sy<Sx?mb<Sx?0:-1:0:m_<Sx&&g3<Sx?Gf<Sx?0:-1:0:-1:CD<Sx?Mg<Sx?Yg<Sx?If<Sx?_c<Sx?Uv<Sx?0:-1:0:-1:0:-1:0:Mc<Sx?wy<Sx?CE<Sx?EE<Sx?vp<Sx?D<Sx?Ub<Sx?0:-1:0:-1:0:NC<Sx?0:e3<Sx?m3<Sx?0:-1:0:-1:j3<Sx&&v7<Sx&&cv<Sx?FC<Sx?0:-1:0:Gh<Sx?Mm<Sx?fi<Sx?SD<Sx?FE<Sx?ri<Sx?DD<Sx?qD<Sx?0:-1:mf<Sx?Ep<Sx?0:-1:0:-1:0:Nc<Sx?Wg<Sx?0:My<Sx?ib<Sx?0:-1:0:UC<Sx&&p1<Sx?C2<Sx?0:-1:0:GE<Sx?pm<Sx?o2<Sx?Dg<Sx&&S7<Sx?zg<Sx?0:-1:0:-1:Tt<Sx?y7<Sx?cb<Sx?M7<Sx?0:-1:0:-1:0:0:-1:qv<Sx?WC<Sx?am<Sx?_m<Sx?Op<Sx?x_<Sx?0:-1:lv<Sx?ze<Sx?0:-1:0:0:x7<Sx?Oh<Sx?H_<Sx?0:$a<Sx?Z2<Sx?0:-1:0:-1:py<Sx?Iy<Sx?bd<Sx?0:-1:0:v_<Sx?Ne<Sx?0:-1:0:-1:yo<Sx?Yh<Sx?xm<Sx?fy<Sx?o1<Sx?Hi<Sx?my<Sx?0:-1:0:-1:md<Sx?ol<Sx?0:-1:0:0:-1:_1<Sx?za<Sx?xl<Sx?ws<Sx?f7<Sx?Iu<Sx?0:-1:0:-1:n_<Sx?ym<Sx?0:-1:0:-1:Il<Sx?z_<Sx?Bo<Sx?xf<Sx?0:-1:0:-1:0:-1:vm<Sx?Ii<Sx?ce<Sx?Q7<Sx?bh<Sx?x3<Sx?E2<Sx?M<Sx&&tD<Sx?AE<Sx?0:-1:0:pg<Sx?Su<Sx?qm<Sx?t_<Sx?0:-1:0:-1:S_<Sx?jd<Sx?0:-1:0:-1:AC<Sx?wE<Sx?Zr<Sx?Td<Sx?t7<Sx?0:-1:0:-1:lh<Sx?JE<Sx?0:-1:0:0:yl<Sx?Q_<Sx?jf<Sx?X2<Sx?Wm<Sx?0:-1:Kb<Sx?_i<Sx?0:-1:0:-1:K0<Sx?jC<Sx?0:-1:Mn<Sx?C3<Sx?0:-1:0:oy<Sx?0:Zv<Sx?hb<Sx?0:-1:RC<Sx?qh<Sx?0:-1:0:$f<Sx?gy<Sx?xD<Sx?dC<Sx?Xd<Sx?Z<Sx?Jl<Sx?0:-1:0:$C<Sx?Ss<Sx?0:-1:0:-1:0:Xo<Sx?pp<Sx?Bs<Sx?e8<Sx?TC<Sx?0:-1:0:-1:Ug<Sx?bm<Sx?0:-1:0:0:Hu<Sx?zC<Sx?om<Sx?y3<Sx?VD<Sx?0:-1:TE<Sx?Lf<Sx?0:-1:0:0:-1:F7<Sx?mv<Sx?b7<Sx?ov<Sx?Xn<Sx?0:-1:0:Lb<Sx?Ky<Sx?0:-1:0:-1:dE<Sx?K3<Sx?H<Sx?kb<Sx?0:-1:0:-1:0:-1:Vf<Sx?Cd<Sx?zv<Sx?hl<Sx?hm<Sx?Qp<Sx?sC<Sx?f0<Sx?yD<Sx?Th<Sx?Qy<Sx?0:-1:0:-1:vg<Sx?E_<Sx?0:-1:0:-1:Sm<Sx?Zm<Sx?n7<Sx?k_<Sx?0:-1:0:-1:ot<Sx?PD<Sx?0:-1:0:B0<Sx?e_<Sx?iC<Sx?Nb<Sx?Ob<Sx?ab<Sx?0:-1:0:-1:Ws<Sx?pb<Sx?0:-1:0:-1:tC<Sx?wv<Sx?P2<Sx?DE<Sx?0:-1:0:-1:Mo<Sx?Vg<Sx?0:-1:0:-1:Wl<Sx?Gd<Sx?Sl<Sx?O7<Sx?mu<Sx?0:-1:IC<Sx?A0<Sx?0:-1:0:c2<Sx?jb<Sx?Yl<Sx?b1<Sx?0:-1:0:-1:Dy<Sx?oi<Sx?0:-1:0:-1:zh<Sx?Te<Sx?of<Sx?Vy<Sx?Yu<Sx?Ut<Sx?0:-1:0:-1:Rv<Sx?sv<Sx?0:-1:0:-1:U7<Sx?Bm<Sx?Bv<Sx?qg<Sx?0:-1:0:-1:jg<Sx?cD<Sx?0:-1:0:-1:tb<Sx?h7<Sx?Ay<Sx?Wh<Sx?_7<Sx?rC<Sx?hc<Sx?Uu<Sx?oC<Sx?O0<Sx?0:-1:0:-1:s1<Sx?HD<Sx?0:-1:0:-1:Ix<Sx?rd<Sx?df<Sx?tl<Sx?0:-1:0:-1:Tm<Sx?B2<Sx?0:-1:0:-1:Pv<Sx?Tp<Sx?e0<Sx?Xc<Sx?a_<Sx?0:-1:0:-1:ly<Sx?Wp<Sx?0:-1:0:mp<Sx?Nv<Sx?Vh<Sx?tf<Sx?0:-1:0:-1:rl<Sx?aD<Sx?0:-1:0:-1:Lv<Sx?d0<Sx?Gm<Sx?Xv<Sx?LE<Sx?Fg<Sx?0:-1:0:Zc<Sx?Zb<Sx?0:-1:0:E3<Sx?0:Qg<Sx?wg<Sx?0:-1:0:-1:pf<Sx?Bh<Sx?Id<Sx?Ly<Sx?R_<Sx?U0<Sx?0:-1:0:-1:Up<Sx?G_<Sx?0:-1:0:-1:k3<Sx?cy<Sx?g0<Sx?U1<Sx?0:-1:0:-1:qr<Sx?De<Sx?0:-1:0:-1:Zt<Sx?ry<Sx?Qm<Sx?gm<Sx?Ds<Sx?a8<Sx?ql<Sx?wf<Sx?L2<Sx?xu<Sx?jy<Sx?Rd<Sx?Rb<Sx?W3<Sx?Y0<Sx?0:-1:0:-1:U_<Sx?xC<Sx?0:-1:0:-1:Jm<Sx?Dm<Sx?Al<Sx?Fl<Sx?0:-1:0:-1:F_<Sx?Nt<Sx?0:-1:0:-1:Ff<Sx?0:y2<Sx?l1<Sx?vy<Sx?gd<Sx?0:-1:0:-1:Fh<Sx?Sh<Sx?0:-1:0:-1:P0<Sx?W7<Sx?YE<Sx?i8<Sx?dD<Sx?Vb<Sx?Y7<Sx?V0<Sx?0:-1:0:-1:av<Sx?W<Sx?0:-1:0:-1:Vv<Sx?gC<Sx?Is<Sx?cp<Sx?0:-1:0:-1:Gb<Sx?RE<Sx?0:-1:0:-1:y0<Sx?Ou<Sx?bo<Sx?rb<Sx?E7<Sx?ZD<Sx?0:-1:0:-1:Ty<Sx?by<Sx?0:-1:0:-1:mh<Sx?mm<Sx?Gg<Sx?I3<Sx?0:-1:0:-1:li<Sx?Av<Sx?0:-1:0:-1:La<Sx?Uy<Sx?Cp<Sx?js<Sx?q_<Sx?lD<Sx&&QD<Sx?ID<Sx?0:-1:0:-1:H1<Sx?c0<Sx?N_<Sx?l2<Sx?0:-1:0:-1:kp<Sx?Hy<Sx?0:-1:0:-1:hf<Sx?fE<Sx?gb<Sx?d<Sx?w3<Sx?_o<Sx?0:-1:0:-1:td<Sx?C1<Sx?0:-1:0:-1:cE<Sx?wb<Sx?0:-1:0:Xg<Sx?Fv<Sx?x8<Sx?0:Bb<Sx?uC<Sx?fb<Sx?0:-1:0:fD<Sx?nf<Sx?0:-1:0:-1:J7<Sx?Kt<Sx?og<Sx?V_<Sx?G<Sx?Kv<Sx?0:-1:0:-1:wm<Sx?Jf<Sx?0:-1:0:-1:rm<Sx&&Fb<Sx?kh<Sx?0:-1:0:q3<Sx?$<Sx?x2<Sx?Uh<Sx?BE<Sx&&X3<Sx?ts<Sx?0:-1:0:J3<Sx?G1<Sx?qs<Sx?0:-1:0:Wv<Sx?N3<Sx?0:-1:0:0:Hh<Sx?$m<Sx?0:Sv<Sx?_b<Sx?0:-1:0:g_<Sx?Rc<Sx?Ev<Sx?PC<Sx?Mr<Sx?0:-1:0:-1:0:rv<Sx?0:$d<Sx?Ur<Sx?0:-1:0:nx<Sx?ZE<Sx?qa<Sx?0:Eg<Sx&&JD<Sx?M2<Sx?0:-1:0:ip<Sx?K7<Sx?0:$c<Sx?Vm<Sx?0:-1:0:gt<Sx&&R7<Sx?Mf<Sx?0:-1:0:z7<Sx?_<Sx?0:zd<Sx?bC<Sx?0:-1:eC<Sx?L3<Sx?0:-1:0:Sy<Sx?wC<Sx?cl<Sx?0:-1:0:ng<Sx?0:zy<Sx?Pf<Sx?0:-1:0:-1:Hp<Sx?lg<Sx?I1<Sx?h_<Sx?Rl<Sx?ev<Sx?IE<Sx?r8<Sx?PE<Sx?0:-1:sp<Sx?D3<Sx?0:-1:0:fh<Sx?0:A3<Sx?Ip<Sx?0:-1:0:-1:0:p8<Sx?Hf<Sx?0:Dv<Sx?Px<Sx?Pe<Sx?kD<Sx?0:-1:0:-1:0:By<Sx?wd<Sx&&$b<Sx?ny<Sx?0:-1:0:_E<Sx?$v<Sx?iy<Sx?em<Sx?0:-1:0:-1:0:Lo<Sx?sf<Sx?Zd<Sx?R0<Sx?0:v3<Sx?CC<Sx?zl<Sx?iD<Sx?0:-1:0:-1:0:ig<Sx?m2<Sx?rp<Sx&&gD<Sx?Ed<Sx?0:-1:0:-1:bn<Sx?__<Sx?0:-1:0:-1:i7<Sx?Fo<Sx?nd<Sx?Y2<Sx?nC<Sx?0:Wb<Sx?cg<Sx?0:-1:0:-1:Eh<Sx?wu<Sx?T_<Sx?lp<Sx?0:-1:0:-1:sb<Sx?ds<Sx?0:-1:0:-1:vh<Sx?dv<Sx?Hx<Sx?Tv<Sx?Rp<Sx?0:-1:0:xi<Sx?af<Sx?0:-1:0:-1:0:-1:mE<Sx?bf<Sx?Ib<Sx?r7<Sx?sh<Sx?I0<Sx?Lm<Sx?qf<Sx&&_t<Sx?ep<Sx?0:-1:0:-1:HE<Sx&&kC<Sx?Hg<Sx?0:-1:0:-1:s2<Sx?rx<Sx?AD<Sx?0:Nf<Sx?h2<Sx?0:-1:0:-1:Ah<Sx?uh<Sx?Ch<Sx?hD<Sx?0:-1:0:-1:Zg<Sx?q7<Sx?0:-1:0:-1:_v<Sx?f3<Sx?Cv<Sx?ay<Sx?Yy<Sx?hg<Sx?Md<Sx?Ro<Sx?0:-1:0:-1:ND<Sx?$h<Sx?0:-1:0:-1:kf<Sx?Of<Sx?0:-1:TD<Sx?nv<Sx?0:-1:0:-1:R3<Sx?ch<Sx?y_<Sx?WD<Sx?Js<Sx?0:-1:0:-1:Ap<Sx?qb<Sx?0:-1:0:Mb<Sx?ht<Sx?0:-1:0:pl<Sx?d7<Sx?Uf<Sx?nl<Sx?Km<Sx?j<Sx?_d<Sx?G7<Sx?xb<Sx?0:-1:0:-1:D0<Sx?H7<Sx?0:-1:0:Vp<Sx?w_<Sx?0:-1:a3<Sx?Sg<Sx?0:-1:0:-1:zD<Sx?bE<Sx&&Yv<Sx?Ry<Sx?0:-1:0:oc<Sx?$i<Sx?0:-1:XD<Sx?t3<Sx?0:-1:0:-1:$e<Sx?ah<Sx?Bi<Sx?d_<Sx?Pu<Sx?j2<Sx?an<Sx?0:-1:0:z3<Sx?Yb<Sx?0:-1:0:-1:zb<Sx?B_<Sx?nm<Sx?eD<Sx?0:-1:0:-1:ug<Sx?T7<Sx?0:-1:0:-1:Z7<Sx?Yi<Sx?J_<Sx?Dd<Sx?W1<Sx?Oy<Sx?0:-1:0:-1:M_<Sx?Z3<Sx?0:-1:0:-1:eb<Sx?im<Sx?qC<Sx?Rf<Sx?0:-1:0:-1:Np<Sx?Kc<Sx?0:-1:0:-1:fr(_X1,Sx+Kd|0)-1|0:-1;else gJ=-1;if(3<gJ>>>0)Mx=Zx(x);else switch(gJ){case 0:Mx=L(x);break;case 1:Mx=v(x);break;case 2:Qe(x,87);var _J=FL(Rx(x));if(2<_J>>>0)Mx=Zx(x);else switch(_J){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,82);var gW=_h(Rx(x));Mx=gW===0?L(x):gW===1?v(x):Zx(x)}break;default:Qe(x,87);var CQ=oO(Rx(x));if(2<CQ>>>0)Mx=Zx(x);else switch(CQ){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var EQ=OK(Rx(x));if(2<EQ>>>0)Mx=Zx(x);else switch(EQ){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,83);var SQ=_h(Rx(x));Mx=SQ===0?L(x):SQ===1?v(x):Zx(x)}}}break;case 48:Qe(x,87);var _W=Rx(x);if(_W)var Tx=_W[1],yJ=35<Tx?C_<Tx?ha<Tx?vs<Tx?-1:ne<Tx?Mu<Tx?Nh<Tx?_D<Tx?O2<Tx?a7<Tx?uy<Tx?pE<Tx?Jg<Tx?0:-1:$D<Tx?ks<Tx?0:-1:0:-1:N2<Tx?up<Tx?A7<Tx?A_<Tx?0:-1:0:-1:e<Tx?Xf<Tx?0:-1:0:-1:Ld<Tx?w1<Tx?Zo<Tx?Ov<Tx?pv<Tx?mg<Tx?Xy<Tx?Cm<Tx?ob<Tx?Sd<Tx?0:-1:0:-1:d2<Tx?qt<Tx?0:-1:0:-1:Am<Tx?$_<Tx?Bt<Tx?Pp<Tx?0:-1:0:-1:Fc<Tx?_3<Tx?0:-1:0:-1:yy<Tx?sn<Tx?G3<Tx?jl<Tx?vd<Tx?Hb<Tx?0:-1:0:-1:Gt<Tx?aC<Tx?0:-1:0:-1:_e<Tx?Ac<Tx?Gv<Tx?op<Tx?0:-1:0:-1:Zl<Tx?Jv<Tx?0:-1:0:-1:I_<Tx?Pb<Tx?gg<Tx?ih<Tx?m7<Tx?P7<Tx?np<Tx?bv<Tx?0:-1:0:-1:Yp<Tx?Rg<Tx?0:-1:0:-1:dp<Tx?V7<Tx?Kh<Tx?Xl<Tx?0:-1:0:-1:oD<Tx?Jb<Tx?0:-1:0:-1:Us<Tx?dd<Tx?hv<Tx?Dp<Tx?jv<Tx?Zp<Tx?0:-1:0:-1:bD<Tx?V3<Tx?0:-1:0:-1:gv<Tx?iv<Tx?oh<Tx?Ym<Tx?0:-1:0:-1:Gy<Tx?p7<Tx?0:-1:0:-1:fp<Tx?Ef<Tx?c7<Tx?l0<Tx?Z1<Tx?Hr<Tx?Eb<Tx?Xb<Tx?OD<Tx?R2<Tx?kE<Tx?Iv<Tx?0:-1:0:-1:0:Ox<Tx?Kf<Tx?gE<Tx?Va<Tx?0:-1:0:-1:ge<Tx?_l<Tx?0:-1:0:pD<Tx?vE<Tx?ky<Tx?wp<Tx?0:-1:p3<Tx?Ih<Tx?0:-1:0:-1:MD<Tx?OC<Tx?0:-1:KC<Tx?r3<Tx?0:-1:0:-1:I2<Tx?lo<Tx?Re<Tx?yC<Tx?ME<Tx?db<Tx?fg<Tx?Wy<Tx?0:-1:0:-1:XE<Tx?xd<Tx?0:-1:0:-1:Wa<Tx?yc<Tx?S3<Tx?Kl<Tx?0:-1:0:-1:Fy<Tx?xc<Tx?0:-1:0:-1:ka<Tx?Kp<Tx?uE<Tx?Lg<Tx?_C<Tx?OE<Tx?0:-1:0:-1:v2<Tx?Hm<Tx?0:-1:0:-1:Wx<Tx?ff<Tx?Tb<Tx?Fm<Tx?0:-1:0:-1:b3<Tx?k7<Tx?0:-1:0:-1:d3<Tx?Ad<Tx?P3<Tx?Yd<Tx?eu<Tx?l7<Tx?Mt<Tx?v1<Tx?Cg<Tx?Xm<Tx?0:-1:0:-1:zf<Tx?mD<Tx?0:-1:0:-1:Mv<Tx?tt<Tx?Pm<Tx?ld<Tx?0:-1:0:-1:$3<Tx?zp<Tx?0:-1:0:-1:qx<Tx?n3<Tx?YD<Tx?uD<Tx?I7<Tx?fl<Tx?0:-1:0:-1:al<Tx?j_<Tx?0:-1:0:-1:Cc<Tx?N1<Tx?O_<Tx?B7<Tx?0:-1:0:-1:pd<Tx?dm<Tx?0:-1:0:-1:N0<Tx?Xh<Tx?dh<Tx?dg<Tx?b0<Tx?bp<Tx?Nl<Tx?Ph<Tx?0:-1:0:-1:M3<Tx?lb<Tx?0:-1:0:-1:rc<Tx?ec<Tx?P_<Tx?Ud<Tx?0:-1:0:-1:fv<Tx?K_<Tx?0:-1:0:-1:Om<Tx?Ag<Tx?rf<Tx?O3<Tx?Fn<Tx?bt<Tx?0:-1:0:-1:U<Tx?j7<Tx?0:-1:0:-1:DC<Tx?ed<Tx?Im<Tx?i3<Tx?0:-1:0:-1:0:-1:kv<Tx?Hd<Tx?Jy<Tx?Za<Tx?wD<Tx?E1<Tx?ag<Tx?xh<Tx?Hv<Tx?vv<Tx?l3<Tx?0:-1:0:-1:H3<Tx?co<Tx?0:-1:0:-1:LD<Tx?ex<Tx?qy<Tx?nD<Tx?0:-1:0:-1:ED<Tx?Pa<Tx?0:-1:0:-1:sD<Tx?th<Tx?hh<Tx?L_<Tx?h3<Tx?Cy<Tx?0:-1:0:-1:w7<Tx?Ey<Tx?0:-1:0:-1:H2<Tx?eh<Tx?xv<Tx?0:-1:0:u2<Tx?C<Tx?0:-1:0:P<Tx?Kg<Tx?wl<Tx?b_<Tx?cc<Tx?W_<Tx?0:-1:Tg<Tx?i_<Tx?0:-1:0:-1:Sb<Tx?tv<Tx?s7<Tx?Ku<Tx?0:-1:0:-1:nb<Tx?Cf<Tx?0:-1:0:-1:aE<Tx?Gr<Tx?hE<Tx?O<Tx?0:-1:Uc<Tx?Qv<Tx?0:-1:0:-1:Un<Tx?T3<Tx?X_<Tx?BC<Tx?0:-1:0:-1:p2<Tx?dy<Tx?0:-1:0:-1:Jr<Tx?uv<Tx?Gc<Tx?mo<Tx?Q3<Tx?vD<Tx?yv<Tx?Qd<Tx?e7<Tx?Jh<Tx?0:-1:0:-1:u7<Tx?b2<Tx?0:-1:0:-1:BD<Tx?0:oE<Tx?bg<Tx?0:-1:0:-1:B3<Tx?0:sE<Tx?G2<Tx?pa<Tx?o7<Tx?0:-1:0:-1:0:-1:r_<Tx?$y<Tx?U3<Tx?X7<Tx?C7<Tx?wh<Tx?L7<Tx?0:-1:0:-1:Zy<Tx?t8<Tx?0:-1:0:LC<Tx?jp<Tx?0:-1:F3<Tx?lE<Tx?0:-1:0:-1:UD<Tx?uc<Tx?tm<Tx?C0<Tx?0:-1:G0<Tx?rD<Tx?0:-1:0:-1:0:Qb<Tx?N7<Tx?D2<Tx?Se<Tx?D_<Tx?_g<Tx?MC<Tx?hy<Tx?ub<Tx?ph<Tx?$7<Tx?yE<Tx?0:-1:S0<Tx?Dh<Tx?0:-1:0:-1:Ko<Tx&&kg<Tx?o0<Tx?0:-1:0:FD<Tx?_y<Tx?c3<Tx&&EC<Tx?ho<Tx?0:-1:0:-1:Xp<Tx?Bp<Tx?_u<Tx?GD<Tx?0:-1:0:-1:Q2<Tx?g7<Tx?0:-1:0:Y_<Tx?NE<Tx?n8<Tx||Fd<Tx?0:SE<Tx?Y3<Tx?0:-1:0:-1:rs<Tx||Pc<Tx?0:SC<Tx?Bd<Tx?0:-1:0:D7<Tx?Em<Tx?Ju<Tx?QE<Tx?zm<Tx&&sy<Tx?mb<Tx?0:-1:0:m_<Tx&&g3<Tx?Gf<Tx?0:-1:0:-1:CD<Tx?Mg<Tx?Yg<Tx?If<Tx?_c<Tx?Uv<Tx?0:-1:0:-1:0:-1:0:Mc<Tx?wy<Tx?CE<Tx?EE<Tx?vp<Tx?D<Tx?Ub<Tx?0:-1:0:-1:0:NC<Tx?0:e3<Tx?m3<Tx?0:-1:0:-1:j3<Tx&&v7<Tx&&cv<Tx?FC<Tx?0:-1:0:Gh<Tx?Mm<Tx?fi<Tx?SD<Tx?FE<Tx?ri<Tx?DD<Tx?qD<Tx?0:-1:mf<Tx?Ep<Tx?0:-1:0:-1:0:Nc<Tx?Wg<Tx?0:My<Tx?ib<Tx?0:-1:0:UC<Tx&&p1<Tx?C2<Tx?0:-1:0:GE<Tx?pm<Tx?o2<Tx?Dg<Tx&&S7<Tx?zg<Tx?0:-1:0:-1:Tt<Tx?y7<Tx?cb<Tx?M7<Tx?0:-1:0:-1:0:0:-1:qv<Tx?WC<Tx?am<Tx?_m<Tx?Op<Tx?x_<Tx?0:-1:lv<Tx?ze<Tx?0:-1:0:0:x7<Tx?Oh<Tx?H_<Tx?0:$a<Tx?Z2<Tx?0:-1:0:-1:py<Tx?Iy<Tx?bd<Tx?0:-1:0:v_<Tx?Ne<Tx?0:-1:0:-1:yo<Tx?Yh<Tx?xm<Tx?fy<Tx?o1<Tx?Hi<Tx?my<Tx?0:-1:0:-1:md<Tx?ol<Tx?0:-1:0:0:-1:_1<Tx?za<Tx?xl<Tx?ws<Tx?f7<Tx?Iu<Tx?0:-1:0:-1:n_<Tx?ym<Tx?0:-1:0:-1:Il<Tx?z_<Tx?Bo<Tx?xf<Tx?0:-1:0:-1:0:-1:vm<Tx?Ii<Tx?ce<Tx?Q7<Tx?bh<Tx?x3<Tx?E2<Tx?M<Tx&&tD<Tx?AE<Tx?0:-1:0:pg<Tx?Su<Tx?qm<Tx?t_<Tx?0:-1:0:-1:S_<Tx?jd<Tx?0:-1:0:-1:AC<Tx?wE<Tx?Zr<Tx?Td<Tx?t7<Tx?0:-1:0:-1:lh<Tx?JE<Tx?0:-1:0:0:yl<Tx?Q_<Tx?jf<Tx?X2<Tx?Wm<Tx?0:-1:Kb<Tx?_i<Tx?0:-1:0:-1:K0<Tx?jC<Tx?0:-1:Mn<Tx?C3<Tx?0:-1:0:oy<Tx?0:Zv<Tx?hb<Tx?0:-1:RC<Tx?qh<Tx?0:-1:0:$f<Tx?gy<Tx?xD<Tx?dC<Tx?Xd<Tx?Z<Tx?Jl<Tx?0:-1:0:$C<Tx?Ss<Tx?0:-1:0:-1:0:Xo<Tx?pp<Tx?Bs<Tx?e8<Tx?TC<Tx?0:-1:0:-1:Ug<Tx?bm<Tx?0:-1:0:0:Hu<Tx?zC<Tx?om<Tx?y3<Tx?VD<Tx?0:-1:TE<Tx?Lf<Tx?0:-1:0:0:-1:F7<Tx?mv<Tx?b7<Tx?ov<Tx?Xn<Tx?0:-1:0:Lb<Tx?Ky<Tx?0:-1:0:-1:dE<Tx?K3<Tx?H<Tx?kb<Tx?0:-1:0:-1:0:-1:Vf<Tx?Cd<Tx?zv<Tx?hl<Tx?hm<Tx?Qp<Tx?sC<Tx?f0<Tx?yD<Tx?Th<Tx?Qy<Tx?0:-1:0:-1:vg<Tx?E_<Tx?0:-1:0:-1:Sm<Tx?Zm<Tx?n7<Tx?k_<Tx?0:-1:0:-1:ot<Tx?PD<Tx?0:-1:0:B0<Tx?e_<Tx?iC<Tx?Nb<Tx?Ob<Tx?ab<Tx?0:-1:0:-1:Ws<Tx?pb<Tx?0:-1:0:-1:tC<Tx?wv<Tx?P2<Tx?DE<Tx?0:-1:0:-1:Mo<Tx?Vg<Tx?0:-1:0:-1:Wl<Tx?Gd<Tx?Sl<Tx?O7<Tx?mu<Tx?0:-1:IC<Tx?A0<Tx?0:-1:0:c2<Tx?jb<Tx?Yl<Tx?b1<Tx?0:-1:0:-1:Dy<Tx?oi<Tx?0:-1:0:-1:zh<Tx?Te<Tx?of<Tx?Vy<Tx?Yu<Tx?Ut<Tx?0:-1:0:-1:Rv<Tx?sv<Tx?0:-1:0:-1:U7<Tx?Bm<Tx?Bv<Tx?qg<Tx?0:-1:0:-1:jg<Tx?cD<Tx?0:-1:0:-1:tb<Tx?h7<Tx?Ay<Tx?Wh<Tx?_7<Tx?rC<Tx?hc<Tx?Uu<Tx?oC<Tx?O0<Tx?0:-1:0:-1:s1<Tx?HD<Tx?0:-1:0:-1:Ix<Tx?rd<Tx?df<Tx?tl<Tx?0:-1:0:-1:Tm<Tx?B2<Tx?0:-1:0:-1:Pv<Tx?Tp<Tx?e0<Tx?Xc<Tx?a_<Tx?0:-1:0:-1:ly<Tx?Wp<Tx?0:-1:0:mp<Tx?Nv<Tx?Vh<Tx?tf<Tx?0:-1:0:-1:rl<Tx?aD<Tx?0:-1:0:-1:Lv<Tx?d0<Tx?Gm<Tx?Xv<Tx?LE<Tx?Fg<Tx?0:-1:0:Zc<Tx?Zb<Tx?0:-1:0:E3<Tx?0:Qg<Tx?wg<Tx?0:-1:0:-1:pf<Tx?Bh<Tx?Id<Tx?Ly<Tx?R_<Tx?U0<Tx?0:-1:0:-1:Up<Tx?G_<Tx?0:-1:0:-1:k3<Tx?cy<Tx?g0<Tx?U1<Tx?0:-1:0:-1:qr<Tx?De<Tx?0:-1:0:-1:Zt<Tx?ry<Tx?Qm<Tx?gm<Tx?Ds<Tx?a8<Tx?ql<Tx?wf<Tx?L2<Tx?xu<Tx?jy<Tx?Rd<Tx?Rb<Tx?W3<Tx?Y0<Tx?0:-1:0:-1:U_<Tx?xC<Tx?0:-1:0:-1:Jm<Tx?Dm<Tx?Al<Tx?Fl<Tx?0:-1:0:-1:F_<Tx?Nt<Tx?0:-1:0:-1:Ff<Tx?0:y2<Tx?l1<Tx?vy<Tx?gd<Tx?0:-1:0:-1:Fh<Tx?Sh<Tx?0:-1:0:-1:P0<Tx?W7<Tx?YE<Tx?i8<Tx?dD<Tx?Vb<Tx?Y7<Tx?V0<Tx?0:-1:0:-1:av<Tx?W<Tx?0:-1:0:-1:Vv<Tx?gC<Tx?Is<Tx?cp<Tx?0:-1:0:-1:Gb<Tx?RE<Tx?0:-1:0:-1:y0<Tx?Ou<Tx?bo<Tx?rb<Tx?E7<Tx?ZD<Tx?0:-1:0:-1:Ty<Tx?by<Tx?0:-1:0:-1:mh<Tx?mm<Tx?Gg<Tx?I3<Tx?0:-1:0:-1:li<Tx?Av<Tx?0:-1:0:-1:La<Tx?Uy<Tx?Cp<Tx?js<Tx?q_<Tx?lD<Tx&&QD<Tx?ID<Tx?0:-1:0:-1:H1<Tx?c0<Tx?N_<Tx?l2<Tx?0:-1:0:-1:kp<Tx?Hy<Tx?0:-1:0:-1:hf<Tx?fE<Tx?gb<Tx?d<Tx?w3<Tx?_o<Tx?0:-1:0:-1:td<Tx?C1<Tx?0:-1:0:-1:cE<Tx?wb<Tx?0:-1:0:Xg<Tx?Fv<Tx?x8<Tx?0:Bb<Tx?uC<Tx?fb<Tx?0:-1:0:fD<Tx?nf<Tx?0:-1:0:-1:J7<Tx?Kt<Tx?og<Tx?V_<Tx?G<Tx?Kv<Tx?0:-1:0:-1:wm<Tx?Jf<Tx?0:-1:0:-1:rm<Tx&&Fb<Tx?kh<Tx?0:-1:0:q3<Tx?$<Tx?x2<Tx?Uh<Tx?BE<Tx&&X3<Tx?ts<Tx?0:-1:0:J3<Tx?G1<Tx?qs<Tx?0:-1:0:Wv<Tx?N3<Tx?0:-1:0:0:Hh<Tx?$m<Tx?0:Sv<Tx?_b<Tx?0:-1:0:g_<Tx?Rc<Tx?Ev<Tx?PC<Tx?Mr<Tx?0:-1:0:-1:0:rv<Tx?0:$d<Tx?Ur<Tx?0:-1:0:nx<Tx?ZE<Tx?qa<Tx?0:Eg<Tx&&JD<Tx?M2<Tx?0:-1:0:ip<Tx?K7<Tx?0:$c<Tx?Vm<Tx?0:-1:0:gt<Tx&&R7<Tx?Mf<Tx?0:-1:0:z7<Tx?_<Tx?0:zd<Tx?bC<Tx?0:-1:eC<Tx?L3<Tx?0:-1:0:Sy<Tx?wC<Tx?cl<Tx?0:-1:0:ng<Tx?0:zy<Tx?Pf<Tx?0:-1:0:-1:Hp<Tx?lg<Tx?I1<Tx?h_<Tx?Rl<Tx?ev<Tx?IE<Tx?r8<Tx?PE<Tx?0:-1:sp<Tx?D3<Tx?0:-1:0:fh<Tx?0:A3<Tx?Ip<Tx?0:-1:0:-1:0:p8<Tx?Hf<Tx?0:Dv<Tx?Px<Tx?Pe<Tx?kD<Tx?0:-1:0:-1:0:By<Tx?wd<Tx&&$b<Tx?ny<Tx?0:-1:0:_E<Tx?$v<Tx?iy<Tx?em<Tx?0:-1:0:-1:0:Lo<Tx?sf<Tx?Zd<Tx?R0<Tx?0:v3<Tx?CC<Tx?zl<Tx?iD<Tx?0:-1:0:-1:0:ig<Tx?m2<Tx?rp<Tx&&gD<Tx?Ed<Tx?0:-1:0:-1:bn<Tx?__<Tx?0:-1:0:-1:i7<Tx?Fo<Tx?nd<Tx?Y2<Tx?nC<Tx?0:Wb<Tx?cg<Tx?0:-1:0:-1:Eh<Tx?wu<Tx?T_<Tx?lp<Tx?0:-1:0:-1:sb<Tx?ds<Tx?0:-1:0:-1:vh<Tx?dv<Tx?Hx<Tx?Tv<Tx?Rp<Tx?0:-1:0:xi<Tx?af<Tx?0:-1:0:-1:0:-1:mE<Tx?bf<Tx?Ib<Tx?r7<Tx?sh<Tx?I0<Tx?Lm<Tx?qf<Tx&&_t<Tx?ep<Tx?0:-1:0:-1:HE<Tx&&kC<Tx?Hg<Tx?0:-1:0:-1:s2<Tx?rx<Tx?AD<Tx?0:Nf<Tx?h2<Tx?0:-1:0:-1:Ah<Tx?uh<Tx?Ch<Tx?hD<Tx?0:-1:0:-1:Zg<Tx?q7<Tx?0:-1:0:-1:_v<Tx?f3<Tx?Cv<Tx?ay<Tx?Yy<Tx?hg<Tx?Md<Tx?Ro<Tx?0:-1:0:-1:ND<Tx?$h<Tx?0:-1:0:-1:kf<Tx?Of<Tx?0:-1:TD<Tx?nv<Tx?0:-1:0:-1:R3<Tx?ch<Tx?y_<Tx?WD<Tx?Js<Tx?0:-1:0:-1:Ap<Tx?qb<Tx?0:-1:0:Mb<Tx?ht<Tx?0:-1:0:pl<Tx?d7<Tx?Uf<Tx?nl<Tx?Km<Tx?j<Tx?_d<Tx?G7<Tx?xb<Tx?0:-1:0:-1:D0<Tx?H7<Tx?0:-1:0:Vp<Tx?w_<Tx?0:-1:a3<Tx?Sg<Tx?0:-1:0:-1:zD<Tx?bE<Tx&&Yv<Tx?Ry<Tx?0:-1:0:oc<Tx?$i<Tx?0:-1:XD<Tx?t3<Tx?0:-1:0:-1:$e<Tx?ah<Tx?Bi<Tx?d_<Tx?Pu<Tx?j2<Tx?an<Tx?0:-1:0:z3<Tx?Yb<Tx?0:-1:0:-1:zb<Tx?B_<Tx?nm<Tx?eD<Tx?0:-1:0:-1:ug<Tx?T7<Tx?0:-1:0:-1:Z7<Tx?Yi<Tx?J_<Tx?Dd<Tx?W1<Tx?Oy<Tx?0:-1:0:-1:M_<Tx?Z3<Tx?0:-1:0:-1:eb<Tx?im<Tx?qC<Tx?Rf<Tx?0:-1:0:-1:Np<Tx?Kc<Tx?0:-1:0:-1:fr(WX1,Tx+Kd|0)-1|0:-1;else yJ=-1;if(3<yJ>>>0)Mx=Zx(x);else switch(yJ){case 0:Mx=L(x);break;case 1:Mx=v(x);break;case 2:Qe(x,87);var DJ=oO(Rx(x));if(2<DJ>>>0)Mx=Zx(x);else switch(DJ){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var FQ=aO(Rx(x));if(2<FQ>>>0)Mx=Zx(x);else switch(FQ){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var yW=V4(Rx(x));if(2<yW>>>0)Mx=Zx(x);else switch(yW){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,84);var AQ=_h(Rx(x));Mx=AQ===0?L(x):AQ===1?v(x):Zx(x)}}}break;default:Qe(x,87);var TQ=qk(Rx(x));if(2<TQ>>>0)Mx=Zx(x);else switch(TQ){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var vJ=qt0(Rx(x));if(2<vJ>>>0)Mx=Zx(x);else switch(vJ){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,85);var wQ=_h(Rx(x));Mx=wQ===0?L(x):wQ===1?v(x):Zx(x)}}}break;case 49:Qe(x,87);var XK=oO(Rx(x));if(2<XK>>>0)Mx=Zx(x);else switch(XK){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var kQ=V4(Rx(x));if(2<kQ>>>0)Mx=Zx(x);else switch(kQ){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var NQ=aO(Rx(x));if(2<NQ>>>0)Mx=Zx(x);else switch(NQ){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,87);var PQ=OK(Rx(x));if(2<PQ>>>0)Mx=Zx(x);else switch(PQ){case 0:Mx=L(x);break;case 1:Mx=v(x);break;default:Qe(x,86);var DW=_h(Rx(x));Mx=DW===0?L(x):DW===1?v(x):Zx(x)}}}}break;case 50:Mx=89;break;case 51:Qe(x,135);var IQ=Rx(x);if(IQ)var bJ=IQ[1],YK=60<bJ?WI<bJ?-1:fr(XY1,bJ+-61|0)-1|0:-1;else YK=-1;Mx=YK===0?Ck:YK===1?dN:Zx(x);break;case 52:Mx=90;break;default:Mx=139}if(147<Mx>>>0)return qp(WH1);var ZU=Mx;if(74<=ZU){if(zx<=ZU)switch(ZU){case 111:return[0,i,90];case 112:return[0,i,Lk];case 113:return[0,i,Vk];case 114:return[0,i,69];case 115:return[0,i,97];case 116:return[0,i,68];case 117:return[0,i,67];case 118:return[0,i,99];case 119:return[0,i,98];case 120:return[0,i,78];case 121:return[0,i,77];case 122:return[0,i,75];case 123:return[0,i,76];case 124:return[0,i,73];case 125:return[0,i,72];case 126:return[0,i,71];case 127:return[0,i,70];case 128:return[0,i,95];case 129:return[0,i,96];case 130:return[0,i,Yw];case 131:return[0,i,Uk];case 132:return[0,i,NT];case 133:return[0,i,uw];case 134:return[0,i,dN];case 135:return[0,i,86];case 136:return[0,i,88];case 137:return[0,i,87];case 138:return[0,i,Y1];case 139:return[0,i,X];case 140:return[0,i,79];case 141:return[0,i,11];case 142:return[0,i,74];case 143:return[0,i,F4];case 144:return[0,i,13];case 145:return[0,i,14];case 146:return[0,i[4]?CN(i,uA(i,x),6):i,ef];default:return[0,TL(i,uA(i,x)),[6,Zf(x)]]}switch(ZU){case 74:return[0,i,51];case 75:return[0,i,20];case 76:return[0,i,21];case 77:return[0,i,22];case 78:return[0,i,31];case 79:return[0,i,23];case 80:return[0,i,61];case 81:return[0,i,46];case 82:return[0,i,24];case 83:return[0,i,47];case 84:return[0,i,25];case 85:return[0,i,26];case 86:return[0,i,58];case 87:var mr0=uA(i,x),Y5=Zf(x),TN=D20(i,Y5);return[0,TN[1],[4,mr0,TN[2],Y5]];case 88:var dO=uA(i,x),jP=Zf(x);return[0,i,[4,dO,jP,jP]];case 89:return[0,i,0];case 90:return[0,i,1];case 91:return[0,i,4];case 92:return[0,i,5];case 93:return[0,i,6];case 94:return[0,i,7];case 95:return[0,i,12];case 96:return[0,i,10];case 97:return[0,i,8];case 98:return[0,i,9];case 99:return[0,i,83];case 100:Mz(x),vS(x);var xV=Rx(x);if(xV)var f$=xV[1],p$=62<f$?63<f$?-1:0:-1;else p$=-1;return(p$===0?0:Zx(x))===0?[0,i,82]:qp(XH1);case 101:return[0,i,80];case 102:return[0,i,81];case 103:return[0,i,82];case 104:return[0,i,85];case 105:return[0,i,84];case 106:return[0,i,91];case 107:return[0,i,92];case 108:return[0,i,93];case 109:return[0,i,94];default:return[0,i,89]}}if(37<=ZU)switch(ZU){case 37:return[0,i,65];case 38:return[0,i,32];case 39:return[0,i,33];case 40:return[0,i,34];case 41:return[0,i,40];case 42:return[0,i,27];case 43:return[0,i,35];case 44:return[0,i,59];case 45:return[0,i,60];case 46:return[0,i,36];case 47:return[0,i,45];case 48:return[0,i,37];case 49:return[0,i,43];case 50:return[0,i,48];case 51:return[0,i,49];case 52:return[0,i,41];case 53:return[0,i,30];case 54:return[0,i,38];case 55:return[0,i,39];case 56:return[0,i,15];case 57:return[0,i,16];case 58:return[0,i,52];case 59:return[0,i,50];case 60:return[0,i,17];case 61:return[0,i,18];case 62:return[0,i,53];case 63:return[0,i,28];case 64:return[0,i,44];case 65:return[0,i,29];case 66:return[0,i,63];case 67:return[0,i,62];case 68:return[0,i,54];case 69:return[0,i,55];case 70:return[0,i,56];case 71:return[0,i,57];case 72:return[0,i,19];default:return[0,i,42]}switch(ZU){case 0:return[2,SI(i,x)];case 1:return[2,TL(i,uA(i,x))];case 2:return[2,i];case 3:var QK=bN(i,x),OQ=sA(sS),tm0=jK(i,OQ,x),rm0=tm0[1];return[1,rm0,wL(rm0,QK,tm0[2],OQ,1)];case 4:var hr0=Zf(x);if(i[5]){var G2x=i[4]?h20(i,uA(i,x),hr0):i,nm0=fY(1,G2x),im0=rG(x);return Da(jz(x,im0-1|0,1),qH1)&&rt(jz(x,im0-2|0,1),JH1)?[0,nm0,83]:[2,nm0]}var X2x=bN(i,x),gr0=sA(sS);E8(gr0,vI(hr0,2,g(hr0)-2|0));var am0=jK(i,gr0,x),om0=am0[1];return[1,om0,wL(om0,X2x,am0[2],gr0,1)];case 5:return i[4]?[2,fY(0,i)]:(Mz(x),vS(x),(Gd0(Rx(x))===0?0:Zx(x))===0?[0,i,NT]:qp(HH1));case 6:var Y2x=bN(i,x),sm0=sA(sS),um0=Wz(i,sm0,x),cm0=um0[1];return[1,cm0,wL(cm0,Y2x,um0[2],sm0,0)];case 7:return Nq(x)===0?[2,Wz(i,sA(sS),x)[1]]:[0,i,GH1];case 8:var lm0=Zf(x),Q2x=bN(i,x),fm0=sA(sS),_r0=sA(sS);E8(_r0,lm0);var yr0=b20(i,lm0,fm0,_r0,0,x),pm0=yr0[1],Z2x=[0,pm0[1],Q2x,yr0[2]],xmx=yr0[3],emx=Iw(_r0);return[0,pm0,[2,[0,Z2x,Iw(fm0),emx,xmx]]];case 9:var dm0=sA(sS),mm0=sA(sS),Dr0=sA(sS);E8(Dr0,Zf(x));var tmx=bN(i,x),hm0=C20(i,dm0,mm0,Dr0,x),vr0=hm0[1],rmx=EI(vr0,x),nmx=[0,vr0[1],tmx,rmx],imx=hm0[2],amx=Iw(Dr0),omx=Iw(mm0);return[0,vr0,[3,[0,nmx,[0,Iw(dm0),omx,amx],imx]]];case 10:return Ow(i,x,function(va,Vi){if(vS(Vi),GV(Rx(Vi))===0&&SY(Rx(Vi))===0&&Sj(Rx(Vi))===0)for(;;){var I8=gY(Rx(Vi));if(2<I8>>>0)var u8=Zx(Vi);else switch(I8){case 0:continue;case 1:x:for(;;){if(Sj(Rx(Vi))===0)for(;;){var J8=gY(Rx(Vi));if(2<J8>>>0)var _8=Zx(Vi);else switch(J8){case 0:continue;case 1:continue x;default:_8=0}break}else _8=Zx(Vi);u8=_8;break}break;default:u8=0}break}else u8=Zx(Vi);return u8===0?[0,va,[1,0,Zf(Vi)]]:qp(zH1)});case 11:return[0,i,[1,0,Zf(x)]];case 12:return Ow(i,x,function(va,Vi){if(vS(Vi),GV(Rx(Vi))===0&&SY(Rx(Vi))===0&&Sj(Rx(Vi))===0)for(;;){Qe(Vi,0);var I8=hY(Rx(Vi));if(I8!==0){if(I8===1)x:for(;;){if(Sj(Rx(Vi))===0)for(;;){Qe(Vi,0);var u8=hY(Rx(Vi));if(u8!==0){if(u8===1)continue x;var J8=Zx(Vi);break}}else J8=Zx(Vi);var _8=J8;break}else _8=Zx(Vi);break}}else _8=Zx(Vi);return _8===0?[0,va,[0,0,Zf(Vi)]]:qp(KH1)});case 13:return[0,i,[0,0,Zf(x)]];case 14:return Ow(i,x,function(va,Vi){if(vS(Vi),GV(Rx(Vi))===0&&kY(Rx(Vi))===0&&eP(Rx(Vi))===0)for(;;){var I8=EY(Rx(Vi));if(2<I8>>>0)var u8=Zx(Vi);else switch(I8){case 0:continue;case 1:x:for(;;){if(eP(Rx(Vi))===0)for(;;){var J8=EY(Rx(Vi));if(2<J8>>>0)var _8=Zx(Vi);else switch(J8){case 0:continue;case 1:continue x;default:_8=0}break}else _8=Zx(Vi);u8=_8;break}break;default:u8=0}break}else u8=Zx(Vi);return u8===0?[0,va,[1,1,Zf(Vi)]]:qp($H1)});case 15:return[0,i,[1,1,Zf(x)]];case 16:return Ow(i,x,function(va,Vi){if(vS(Vi),GV(Rx(Vi))===0&&kY(Rx(Vi))===0&&eP(Rx(Vi))===0)for(;;){Qe(Vi,0);var I8=bY(Rx(Vi));if(I8!==0){if(I8===1)x:for(;;){if(eP(Rx(Vi))===0)for(;;){Qe(Vi,0);var u8=bY(Rx(Vi));if(u8!==0){if(u8===1)continue x;var J8=Zx(Vi);break}}else J8=Zx(Vi);var _8=J8;break}else _8=Zx(Vi);break}}else _8=Zx(Vi);return _8===0?[0,va,[0,3,Zf(Vi)]]:qp(VH1)});case 17:return[0,i,[0,3,Zf(x)]];case 18:return Ow(i,x,function(va,Vi){if(vS(Vi),GV(Rx(Vi))===0)for(;;){var I8=Rx(Vi);if(I8)var u8=I8[1],J8=47<u8?57<u8?-1:fr(KY1,u8+VC|0)-1|0:-1;else J8=-1;if(J8!==0){if(J8===1){for(;;)if(Qe(Vi,0),C6(Rx(Vi))!==0){var _8=Zx(Vi);break}}else _8=Zx(Vi);break}}else _8=Zx(Vi);return _8===0?[0,va,[0,2,Zf(Vi)]]:qp(UH1)});case 19:return[0,i,[0,2,Zf(x)]];case 20:return Ow(i,x,function(va,Vi){if(vS(Vi),GV(Rx(Vi))===0&&eP(Rx(Vi))===0){for(;;)if(Qe(Vi,0),eP(Rx(Vi))!==0){var I8=Zx(Vi);break}}else I8=Zx(Vi);return I8===0?[0,va,[0,1,Zf(Vi)]]:qp(jH1)});case 21:return[0,i,[0,1,Zf(x)]];case 22:return Ow(i,x,function(va,Vi){if(vS(Vi),GV(Rx(Vi))===0&&pY(Rx(Vi))===0&&m6(Rx(Vi))===0)for(;;){var I8=_Y(Rx(Vi));if(2<I8>>>0)var u8=Zx(Vi);else switch(I8){case 0:continue;case 1:x:for(;;){if(m6(Rx(Vi))===0)for(;;){var J8=_Y(Rx(Vi));if(2<J8>>>0)var _8=Zx(Vi);else switch(J8){case 0:continue;case 1:continue x;default:_8=0}break}else _8=Zx(Vi);u8=_8;break}break;default:u8=0}break}else u8=Zx(Vi);return u8===0?[0,va,[1,2,Zf(Vi)]]:qp(RH1)});case 24:return Ow(i,x,function(va,Vi){if(vS(Vi),GV(Rx(Vi))===0&&pY(Rx(Vi))===0&&m6(Rx(Vi))===0)for(;;){Qe(Vi,0);var I8=IY(Rx(Vi));if(I8!==0){if(I8===1)x:for(;;){if(m6(Rx(Vi))===0)for(;;){Qe(Vi,0);var u8=IY(Rx(Vi));if(u8!==0){if(u8===1)continue x;var J8=Zx(Vi);break}}else J8=Zx(Vi);var _8=J8;break}else _8=Zx(Vi);break}}else _8=Zx(Vi);return _8===0?[0,va,[0,4,Zf(Vi)]]:qp(MH1)});case 26:return Ow(i,x,function(va,Vi){function I8(ey){for(;;){var P9=SL(Rx(ey));if(2<P9>>>0)return Zx(ey);switch(P9){case 0:continue;case 1:x:for(;;){if(C6(Rx(ey))===0)for(;;){var iP=SL(Rx(ey));if(2<iP>>>0)return Zx(ey);switch(iP){case 0:continue;case 1:continue x;default:return 0}}return Zx(ey)}default:return 0}}}function u8(ey){for(;;){var P9=zz(Rx(ey));if(P9!==0)return P9===1?0:Zx(ey)}}function J8(ey){var P9=jY(Rx(ey));if(2<P9>>>0)return Zx(ey);switch(P9){case 0:var iP=LK(Rx(ey));return iP===0?u8(ey):iP===1?I8(ey):Zx(ey);case 1:return u8(ey);default:return I8(ey)}}function _8(ey){var P9=NY(Rx(ey));if(P9===0)for(;;){var iP=IP(Rx(ey));if(2<iP>>>0)return Zx(ey);switch(iP){case 0:continue;case 1:return J8(ey);default:x:for(;;){if(C6(Rx(ey))===0)for(;;){var CJ=IP(Rx(ey));if(2<CJ>>>0)return Zx(ey);switch(CJ){case 0:continue;case 1:return J8(ey);default:continue x}}return Zx(ey)}}}return P9===1?J8(ey):Zx(ey)}vS(Vi);var nP=dY(Rx(Vi));if(2<nP>>>0)var g5=Zx(Vi);else switch(nP){case 0:if(C6(Rx(Vi))===0)for(;;){var ZM=IP(Rx(Vi));if(2<ZM>>>0)g5=Zx(Vi);else switch(ZM){case 0:continue;case 1:g5=J8(Vi);break;default:x:for(;;){if(C6(Rx(Vi))===0)for(;;){var mB=IP(Rx(Vi));if(2<mB>>>0)var vT=Zx(Vi);else switch(mB){case 0:continue;case 1:vT=J8(Vi);break;default:continue x}break}else vT=Zx(Vi);g5=vT;break}}break}else g5=Zx(Vi);break;case 1:var mO=mY(Rx(Vi));g5=mO===0?_8(Vi):mO===1?J8(Vi):Zx(Vi);break;default:for(;;){var xR=wY(Rx(Vi));if(2<xR>>>0)g5=Zx(Vi);else switch(xR){case 0:g5=_8(Vi);break;case 1:continue;default:g5=J8(Vi)}break}}return g5===0?[0,CN(va,uA(va,Vi),23),[1,2,Zf(Vi)]]:qp(LH1)});case 27:return[0,CN(i,uA(i,x),23),[1,2,Zf(x)]];case 28:return Ow(i,x,function(va,Vi){function I8(ey){for(;;){Qe(ey,0);var P9=YV(Rx(ey));if(P9!==0){if(P9===1)x:for(;;){if(C6(Rx(ey))===0)for(;;){Qe(ey,0);var iP=YV(Rx(ey));if(iP!==0){if(iP===1)continue x;return Zx(ey)}}return Zx(ey)}return Zx(ey)}}}function u8(ey){for(;;)if(Qe(ey,0),C6(Rx(ey))!==0)return Zx(ey)}function J8(ey){var P9=jY(Rx(ey));if(2<P9>>>0)return Zx(ey);switch(P9){case 0:var iP=LK(Rx(ey));return iP===0?u8(ey):iP===1?I8(ey):Zx(ey);case 1:return u8(ey);default:return I8(ey)}}function _8(ey){var P9=NY(Rx(ey));if(P9===0)for(;;){var iP=IP(Rx(ey));if(2<iP>>>0)return Zx(ey);switch(iP){case 0:continue;case 1:return J8(ey);default:x:for(;;){if(C6(Rx(ey))===0)for(;;){var CJ=IP(Rx(ey));if(2<CJ>>>0)return Zx(ey);switch(CJ){case 0:continue;case 1:return J8(ey);default:continue x}}return Zx(ey)}}}return P9===1?J8(ey):Zx(ey)}vS(Vi);var nP=dY(Rx(Vi));if(2<nP>>>0)var g5=Zx(Vi);else switch(nP){case 0:if(C6(Rx(Vi))===0)for(;;){var ZM=IP(Rx(Vi));if(2<ZM>>>0)g5=Zx(Vi);else switch(ZM){case 0:continue;case 1:g5=J8(Vi);break;default:x:for(;;){if(C6(Rx(Vi))===0)for(;;){var mB=IP(Rx(Vi));if(2<mB>>>0)var vT=Zx(Vi);else switch(mB){case 0:continue;case 1:vT=J8(Vi);break;default:continue x}break}else vT=Zx(Vi);g5=vT;break}}break}else g5=Zx(Vi);break;case 1:var mO=mY(Rx(Vi));g5=mO===0?_8(Vi):mO===1?J8(Vi):Zx(Vi);break;default:for(;;){var xR=wY(Rx(Vi));if(2<xR>>>0)g5=Zx(Vi);else switch(xR){case 0:g5=_8(Vi);break;case 1:continue;default:g5=J8(Vi)}break}}return g5===0?[0,va,[0,4,Zf(Vi)]]:qp(BH1)});case 30:return Ow(i,x,function(va,Vi){function I8(vT){for(;;){var mO=SL(Rx(vT));if(2<mO>>>0)return Zx(vT);switch(mO){case 0:continue;case 1:x:for(;;){if(C6(Rx(vT))===0)for(;;){var xR=SL(Rx(vT));if(2<xR>>>0)return Zx(vT);switch(xR){case 0:continue;case 1:continue x;default:return 0}}return Zx(vT)}default:return 0}}}function u8(vT){var mO=zz(Rx(vT));return mO===0?I8(vT):mO===1?0:Zx(vT)}vS(Vi);var J8=dY(Rx(Vi));if(2<J8>>>0)var _8=Zx(Vi);else switch(J8){case 0:_8=C6(Rx(Vi))===0?I8(Vi):Zx(Vi);break;case 1:for(;;){var nP=RK(Rx(Vi));if(nP===0)_8=u8(Vi);else{if(nP===1)continue;_8=Zx(Vi)}break}break;default:for(;;){var g5=Aj(Rx(Vi));if(2<g5>>>0)_8=Zx(Vi);else switch(g5){case 0:_8=u8(Vi);break;case 1:continue;default:x:for(;;){if(C6(Rx(Vi))===0)for(;;){var ZM=Aj(Rx(Vi));if(2<ZM>>>0)var mB=Zx(Vi);else switch(ZM){case 0:mB=u8(Vi);break;case 1:continue;default:continue x}break}else mB=Zx(Vi);_8=mB;break}}break}}return _8===0?[0,CN(va,uA(va,Vi),22),[1,2,Zf(Vi)]]:qp(OH1)});case 31:return Ow(i,x,function(va,Vi){vS(Vi);var I8=LK(Rx(Vi));if(I8===0)for(;;){var u8=zz(Rx(Vi));if(u8!==0){var J8=u8===1?0:Zx(Vi);break}}else if(I8===1)for(;;){var _8=SL(Rx(Vi));if(2<_8>>>0)J8=Zx(Vi);else switch(_8){case 0:continue;case 1:x:for(;;){if(C6(Rx(Vi))===0)for(;;){var nP=SL(Rx(Vi));if(2<nP>>>0)var g5=Zx(Vi);else switch(nP){case 0:continue;case 1:continue x;default:g5=0}break}else g5=Zx(Vi);J8=g5;break}break;default:J8=0}break}else J8=Zx(Vi);return J8===0?[0,va,[1,2,Zf(Vi)]]:qp(IH1)});case 32:return[0,CN(i,uA(i,x),22),[1,2,Zf(x)]];case 34:return Ow(i,x,function(va,Vi){function I8(vT){for(;;){Qe(vT,0);var mO=YV(Rx(vT));if(mO!==0){if(mO===1)x:for(;;){if(C6(Rx(vT))===0)for(;;){Qe(vT,0);var xR=YV(Rx(vT));if(xR!==0){if(xR===1)continue x;return Zx(vT)}}return Zx(vT)}return Zx(vT)}}}function u8(vT){return Qe(vT,0),C6(Rx(vT))===0?I8(vT):Zx(vT)}vS(Vi);var J8=dY(Rx(Vi));if(2<J8>>>0)var _8=Zx(Vi);else switch(J8){case 0:_8=C6(Rx(Vi))===0?I8(Vi):Zx(Vi);break;case 1:for(;;){Qe(Vi,0);var nP=RK(Rx(Vi));if(nP===0)_8=u8(Vi);else{if(nP===1)continue;_8=Zx(Vi)}break}break;default:for(;;){Qe(Vi,0);var g5=Aj(Rx(Vi));if(2<g5>>>0)_8=Zx(Vi);else switch(g5){case 0:_8=u8(Vi);break;case 1:continue;default:x:for(;;){if(C6(Rx(Vi))===0)for(;;){Qe(Vi,0);var ZM=Aj(Rx(Vi));if(2<ZM>>>0)var mB=Zx(Vi);else switch(ZM){case 0:mB=u8(Vi);break;case 1:continue;default:continue x}break}else mB=Zx(Vi);_8=mB;break}}break}}return _8===0?[0,va,[0,4,Zf(Vi)]]:qp(PH1)});case 36:return[0,i,64];case 23:case 33:return[0,i,[1,2,Zf(x)]];default:return[0,i,[0,4,Zf(x)]]}}),KU=yq([0,gq]),Xq=function(i,x){return[0,[0],0,x,jd0(i)]},Gt0=function(i,x){var n=x+1|0;if(i[1].length-1<n)for(var m=1;;){if(n<=m){i[1]=oo0(m,function(ix){var Nr=ix<i[1].length-1?1:0;return Nr&&A4(i[1],ix)[1+ix]});break}m=2*m|0}for(;;){if(!(i[2]<=x))return 0;var L=i[4];switch(i[3]){case 0:var v=l(P2x,L);break;case 1:v=l(N2x,L);break;case 2:v=l(w2x,L);break;case 3:var a0=EI(L,L[2]),O1=sA(sS),dx=sA(sS),ie=L[2];vS(ie);var Ie=Rx(ie);if(Ie)var Ot=Ie[1],Or=QP<Ot?ik<Ot?1:me<Ot?2:1:fr(zY1,Ot+1|0)-1|0;else Or=0;if(5<Or>>>0)var Cr=Zx(ie);else switch(Or){case 0:Cr=1;break;case 1:Cr=4;break;case 2:Cr=0;break;case 3:Qe(ie,0),Cr=aB(Rx(ie))===0?0:Zx(ie);break;case 4:Cr=2;break;default:Cr=3}if(4<Cr>>>0)var ni=qp(oH1);else switch(Cr){case 0:var Jn=Zf(ie);E8(dx,Jn),E8(O1,Jn);var Vn=Ht0(SI(L,ie),2,O1,dx,ie),zn=EI(Vn,ie),Oi=Iw(O1),xn=Iw(dx);ni=[0,Vn,[8,[0,[0,Vn[1],a0,zn],Oi,xn]]];break;case 1:ni=[0,L,ef];break;case 2:ni=[0,L,95];break;case 3:ni=[0,L,0];break;default:Mz(ie);var vt=Ht0(L,2,O1,dx,ie),Xt=EI(vt,ie),Me=Iw(O1),Ke=Iw(dx);ni=[0,vt,[8,[0,[0,vt[1],a0,Xt],Me,Ke]]]}var ct=ni[2],sr=ni[1];v=m20([0,sr,ct,d20(sr,ct),0]);break;case 4:v=l(k2x,L);break;default:v=l(T2x,L)}var kr=v[1],wn=jd0(kr);i[4]=kr;var In=i[2],Tn=[0,[0,wn,v[2]]];A4(i[1],In)[1+In]=Tn,i[2]=i[2]+1|0}},I2x=function(i,x,n,m){var L=i&&i[1],v=x&&x[1];try{var a0=F10(m),O1=0}catch(Or){if((Or=yi(Or))!==Cj)throw Or;var dx=[0,[0,[0,n,g2[2],g2[3]],86],0];a0=F10(vZ1),O1=dx}var ie=v?v[1]:cs,Ie=function(Or,Cr,ni){return[0,Or,Cr,uI1,0,ni,yb,cI1]}(n,a0,ie[8]),Ot=[0,Xq(Ie,0)];return[0,[0,O1],[0,0],KU[1],[0,KU[1]],[0,0],ie[9],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[0,CZ1],[0,Ie],Ot,[0,L],ie,n,[0,0],[0,bZ1]]},qz=function(i){return dq(i[22][1])},u9=function(i){return i[26][8]},Bl=function(i,x){var n=x[2];i[1][1]=[0,[0,x[1],n],i[1][1]];var m=i[21];return m&&z(m[1],i,n)},UK=function(i,x){var n=x[2][1];if(Da(n,DZ1))return 0;if(z(KU[3],n,i[4][1]))return Bl(i,[0,x[1],[20,n]]);var m=z(KU[4],n,i[4][1]);return i[4][1]=m,0},Yq=function(i,x){return i[29][1]=x,0},QV=function(i,x){if(i<2){var n=x[24][1];Gt0(n,i);var m=A4(n[1],i)[1+i];return m?m[1][2]:qp(SZ1)}throw[0,Cs,gZ1]},ZV=function(i,x){return[0,x[1],x[2],x[3],x[4],x[5],i,x[7],x[8],x[9],x[10],x[11],x[12],x[13],x[14],x[15],x[16],x[17],x[18],x[19],x[20],x[21],x[22],x[23],x[24],x[25],x[26],x[27],x[28],x[29]]},Xt0=function(i,x){return[0,x[1],x[2],x[3],x[4],x[5],x[6],x[7],x[8],x[9],x[10],x[11],x[12],x[13],x[14],x[15],x[16],i,x[18],x[19],x[20],x[21],x[22],x[23],x[24],x[25],x[26],x[27],x[28],x[29]]},E20=function(i,x){return[0,x[1],x[2],x[3],x[4],x[5],x[6],x[7],x[8],x[9],x[10],x[11],x[12],x[13],x[14],x[15],x[16],x[17],i,x[19],x[20],x[21],x[22],x[23],x[24],x[25],x[26],x[27],x[28],x[29]]},S20=function(i,x){return[0,x[1],x[2],x[3],x[4],x[5],x[6],x[7],x[8],x[9],x[10],x[11],x[12],x[13],x[14],x[15],x[16],x[17],x[18],i,x[20],x[21],x[22],x[23],x[24],x[25],x[26],x[27],x[28],x[29]]},Jz=function(i,x){return[0,x[1],x[2],x[3],x[4],x[5],x[6],x[7],x[8],x[9],x[10],x[11],x[12],x[13],x[14],x[15],x[16],x[17],x[18],x[19],i,x[21],x[22],x[23],x[24],x[25],x[26],x[27],x[28],x[29]]},VY=function(i,x){return[0,x[1],x[2],x[3],x[4],x[5],x[6],x[7],x[8],x[9],x[10],x[11],x[12],x[13],i,x[15],x[16],x[17],x[18],x[19],x[20],x[21],x[22],x[23],x[24],x[25],x[26],x[27],x[28],x[29]]},Qq=function(i,x){return[0,x[1],x[2],x[3],x[4],x[5],x[6],x[7],i,x[9],x[10],x[11],x[12],x[13],x[14],x[15],x[16],x[17],x[18],x[19],x[20],x[21],x[22],x[23],x[24],x[25],x[26],x[27],x[28],x[29]]},Zq=function(i,x){return[0,x[1],x[2],x[3],x[4],x[5],x[6],x[7],x[8],x[9],x[10],x[11],i,x[13],x[14],x[15],x[16],x[17],x[18],x[19],x[20],x[21],x[22],x[23],x[24],x[25],x[26],x[27],x[28],x[29]]},Hz=function(i,x){return[0,x[1],x[2],x[3],x[4],x[5],x[6],x[7],x[8],x[9],x[10],x[11],x[12],x[13],x[14],i,x[16],x[17],x[18],x[19],x[20],x[21],x[22],x[23],x[24],x[25],x[26],x[27],x[28],x[29]]},F20=function(i,x){return[0,x[1],x[2],x[3],x[4],x[5],x[6],i,x[8],x[9],x[10],x[11],x[12],x[13],x[14],x[15],x[16],x[17],x[18],x[19],x[20],x[21],x[22],x[23],x[24],x[25],x[26],x[27],x[28],x[29]]},Yt0=function(i,x){return[0,x[1],x[2],x[3],x[4],x[5],x[6],x[7],x[8],x[9],x[10],x[11],x[12],i,x[14],x[15],x[16],x[17],x[18],x[19],x[20],x[21],x[22],x[23],x[24],x[25],x[26],x[27],x[28],x[29]]},$Y=function(i,x){return[0,x[1],x[2],x[3],x[4],x[5],x[6],x[7],x[8],x[9],x[10],x[11],x[12],x[13],x[14],x[15],x[16],x[17],x[18],x[19],x[20],[0,i],x[22],x[23],x[24],x[25],x[26],x[27],x[28],x[29]]},Qt0=function(i){function x(n){return Bl(i,n)}return function(n){return H9(x,n)}},Gz=function(i){var x=i[5][1];return x&&[0,x[1][2]]},A20=function(i){var x=i[5][1];return x&&[0,x[1][1]]},T20=function(i){return[0,i[1],i[2],i[3],i[4],i[5],i[6],i[7],i[8],i[9],i[10],i[11],i[12],i[13],i[14],i[15],i[16],i[17],i[18],i[19],i[20],0,i[22],i[23],i[24],i[25],i[26],i[27],i[28],i[29]]},w20=function(i,x,n){return[0,i[1],i[2],KU[1],i[4],i[5],i[6],0,0,0,0,1,i[12],i[13],i[14],i[15],i[16],n,x,i[19],i[20],i[21],i[22],i[23],i[24],i[25],i[26],i[27],i[28],i[29]]},k20=function(i){var x=S2(i,MQ1),n=0;if(0<=x){if(0<x){var m=S2(i,eZ1);0<=m?0<m&&rt(i,cZ1)&&rt(i,lZ1)&&rt(i,fZ1)&&rt(i,pZ1)&&rt(i,dZ1)&&rt(i,mZ1)&&rt(i,hZ1)&&(n=1):rt(i,tZ1)&&rt(i,rZ1)&&rt(i,nZ1)&&rt(i,iZ1)&&rt(i,aZ1)&&rt(i,oZ1)&&rt(i,sZ1)&&rt(i,uZ1)&&(n=1)}}else{var L=S2(i,RQ1);0<=L?0<L&&rt(i,JQ1)&&rt(i,HQ1)&&rt(i,GQ1)&&rt(i,XQ1)&&rt(i,YQ1)&&rt(i,QQ1)&&rt(i,ZQ1)&&rt(i,xZ1)&&(n=1):rt(i,jQ1)&&rt(i,UQ1)&&rt(i,VQ1)&&rt(i,$Q1)&&rt(i,KQ1)&&rt(i,zQ1)&&rt(i,WQ1)&&rt(i,qQ1)&&(n=1)}return n?0:1},KY=function(i){return rt(i,LQ1)?0:1},Zt0=function(i){if(typeof i==\"number\"){if(i===48)return 1}else if(i[0]===4&&KY(i[3]))return 1;return 0},Xz=function(i){return rt(i,TQ1)&&rt(i,wQ1)&&rt(i,kQ1)&&rt(i,NQ1)&&rt(i,PQ1)&&rt(i,IQ1)&&rt(i,OQ1)&&rt(i,BQ1)?0:1},xr0=function(i){if(typeof i==\"number\")switch(i){case 42:case 52:case 53:case 54:case 55:case 56:case 57:case 58:return 1}else if(i[0]===4&&Xz(i[3]))return 1;return 0},x$=function(i){return rt(i,FQ1)&&rt(i,AQ1)?0:1},N20=function(i){return typeof i!=\"number\"&&i[0]===4&&x$(i[3])?1:0},er0=function(i){var x=k20(i);if(x)var n=x;else{var m=KY(i);if(m)n=m;else{if(rt(i,CQ1)&&rt(i,EQ1)&&rt(i,SQ1))return 0;n=1}}return n},P20=function(i){var x=S2(i,rQ1),n=0;return 0<=x?0<x&&rt(i,fQ1)&&rt(i,pQ1)&&rt(i,dQ1)&&rt(i,mQ1)&&rt(i,hQ1)&&rt(i,gQ1)&&rt(i,_Q1)&&rt(i,yQ1)&&(n=1):rt(i,nQ1)&&rt(i,iQ1)&&rt(i,aQ1)&&rt(i,oQ1)&&rt(i,sQ1)&&rt(i,uQ1)&&rt(i,cQ1)&&rt(i,lQ1)&&(n=1),n?0:1},$4=function(i,x){return QV(i,x)[1]},xJ=function(i,x){return QV(i,x)[2]},Di=function(i){return $4(0,i)},Ng=function(i){return xJ(0,i)},VK=function(i){var x=Gz(i),n=x?x[1]:qp(tQ1);return[0,n[1],n[3],n[3]]},tr0=function(i){return QV(0,i)[3]},gs=function(i){var x=QV(0,i)[4];return l(hq(function(n){return RU(i[29][1],n[1][2])<=0?1:0}),x)},I20=function(i){for(var x=QV(0,i)[4];;){if(!x)return 0;var n=x[2],m=RU(x[1][1][2],i[29][1])<0?1:0;if(m)return m;x=n}},eJ=function(i,x){var n=0<i?[0,xJ(i-1|0,x)]:Gz(x);if(n)var m=n[1][2][1]<xJ(i,x)[2][1]?1:0;else m=n;return m},OP=function(i){return eJ(0,i)},O20=function(i,x){var n=$4(i,x);if(typeof n==\"number\"){var m=n-2|0;if(X<m>>>0){if(!(Vk<(m+1|0)>>>0))return 1}else{var L=m!==6?1:0;if(!L)return L}}return eJ(i,x)},Yz=function(i){return O20(0,i)},rr0=function(i,x){var n=$4(i,x);if(xr0(n)||Zt0(n)||N20(n))return 1;var m=0;if(typeof n==\"number\")switch(n){case 14:case 28:case 60:case 61:case 62:case 63:case 64:case 65:m=1}else n[0]===4&&(m=1);return m?1:0},B20=function(i,x){var n=qz(x);if(n===1){var m=$4(i,x);return typeof m!=\"number\"&&m[0]===4?1:0}if(n===0){var L=$4(i,x);if(typeof L==\"number\")switch(L){case 42:case 46:case 47:return 0;case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 43:case 44:case 45:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 65:case 111:case 112:case 113:case 114:case 115:case 116:case 117:case 118:break;default:return 0}else switch(L[0]){case 4:if(P20(L[3]))return 0;break;case 9:case 10:case 11:break;default:return 0}return 1}return 0},tJ=function(i){return rr0(0,i)},$K=function(i){var x=Di(i)===15?1:0;if(x)var n=x;else{var m=Di(i)===64?1:0;if(m){var L=$4(1,i)===15?1:0;if(L){var v=xJ(1,i)[2][1];n=Ng(i)[3][1]===v?1:0}else n=L}else n=m}return n},zY=function(i){var x=Di(i);if(typeof x==\"number\"){var n=0;if(x!==13&&x!==40||(n=1),n)return 1}return 0},Zh=function(i,x){return Bl(i,[0,Ng(i),x])},Bw=function(i,x){var n=tr0(x);l(Qt0(x),n);var m=Di(x);if(Zt0(m))var L=2;else if(xr0(m))L=53;else{var v=$d0(0,m);L=i?[12,v,i[1]]:[11,v]}return Zh(x,L)},nr0=function(i){function x(n){return Bl(i,[0,n[1],76])}return function(n){return H9(x,n)}},kL=function(i,x){var n=i[6];return n&&Zh(i,x)},sO=function(i,x){var n=i[6];return n&&Bl(i,[0,x[1],x[2]])},KK=function(i,x){return Bl(i,[0,x,[19,i[6]]])},uf=function(i){var x=i[25][1];if(x){var n=qz(i),m=Di(i),L=[0,Ng(i),m,n];l(x[1],L)}var v=i[24][1];Gt0(v,0);var a0=A4(v[1],0)[1],O1=a0?a0[1][1]:qp(EZ1);i[23][1]=O1;var dx=tr0(i);l(Qt0(i),dx);var ie=i[2][1],Ie=vj(QV(0,i)[4],ie);i[2][1]=Ie;var Ot=[0,QV(0,i)];i[5][1]=Ot;var Or=i[24][1];Gt0(Or,0),1<Or[2]&&HH(Or[1],1,Or[1],0,Or[2]-1|0);var Cr=Or[2]-1|0;return A4(Or[1],Cr)[1+Cr]=0,Or[2]=Or[2]-1|0,0},BP=function(i,x){var n=sk(Di(i),x);return n&&(uf(i),1)},LP=function(i,x){i[22][1]=[0,x,i[22][1]];var n=qz(i),m=Xq(i[23][1],n);return i[24][1]=m,0},uO=function(i){var x=i[22][1],n=x?x[2]:qp(eQ1);i[22][1]=n;var m=qz(i),L=Xq(i[23][1],m);return i[24][1]=L,0},t2=function(i){var x=Ng(i);if(Di(i)===9&&eJ(1,i)){var n=gs(i),m=QV(1,i)[4],L=c6(n,l(hq(function(a0){return a0[1][2][1]<=x[3][1]?1:0}),m));return Yq(i,[0,x[3][1]+1|0,0]),L}var v=gs(i);return Yq(i,x[3]),v},e$=function(i){var x=i[5][1];if(x){var n=x[1][2],m=gs(i),L=l(hq(function(a0){return a0[1][2][1]<=n[3][1]?1:0}),m);Yq(i,[0,n[3][1]+1|0,0]);var v=L}else v=x;return v},Qz=function(i,x){return Bw([0,$d0(QY1,x)],i)},ia=function(i,x){return Ms(Di(i),x)&&Qz(i,x),uf(i)},WY=function(i,x){var n=Di(i),m=0;return typeof n!=\"number\"&&n[0]===4&&Da(n[3],x)&&(m=1),m||Bw([0,l(GT(YY1),x)],i),uf(i)},zK=[mC,FZ1,HA()],L20=function(i,x,n){if(n){var m=n[1],L=m[1];if(x[25][1]=[0,L],i)for(var v=m[2][2];;){if(!v)return 0;var a0=v[2];l(L,v[1]),v=a0}var O1=i}else O1=n;return O1},ir0=function(i,x){var n=function(m){var L=m[25][1];if(L){var v=[0,0,0,0],a0=[0,function(dx){return t10(dx,v)}];m[25][1]=a0;var O1=[0,[0,L[1],v]]}else O1=L;return[0,m[1][1],m[2][1],m[5][1],m[22][1],m[23][1],m[29][1],O1]}(i);try{return function(m,L,v){return L20(1,m,L[7]),[0,v]}(i,n,l(x,i))}catch(m){if((m=yi(m))===zK)return function(L,v){L20(0,L,v[7]),L[1][1]=v[1],L[2][1]=v[2],L[5][1]=v[3],L[22][1]=v[4],L[23][1]=v[5],L[29][1]=v[6];var a0=qz(L),O1=Xq(L[23][1],a0);return L[24][1]=O1,0}(i,n);throw m}},M20=function(i,x,n){var m=ir0(i,n);return m?m[1]:x},rJ=function(i,x){var n=yd(x);if(n){var m=n[1],L=l(i,m);return m===L?x:yd([0,L,n[2]])}return x},R20=C10(NZ1,function(i){var x=v10(i,TZ1),n=Bo0(i,kZ1),m=n[6],L=n[7],v=n[10],a0=n[14],O1=n[25],dx=n[31],ie=n[34],Ie=n[37],Ot=n[39],Or=n[40],Cr=n[1],ni=n[2],Jn=n[3],Vn=n[4],zn=n[5],Oi=n[8],xn=n[9],vt=n[11],Xt=n[12],Me=n[13],Ke=n[15],ct=n[16],sr=n[17],kr=n[18],wn=n[19],In=n[20],Tn=n[21],ix=n[22],Nr=n[23],Mx=n[24],ko=n[26],iu=n[27],Mi=n[28],Bc=n[29],ku=n[30],Kx=n[32],ic=n[33],Br=n[35],Dt=n[36],Li=n[38],Dl=n[41],du=n[42],is=n[43],Fu=n[44],Qt=n[45],Rn=n[46],ca=Lo0(i,0,0,Ul,Nd0,1)[1];return S10(i,[0,vt,function(Pr,On){var mn=On[2],He=l(hq(function(tr){return RU(tr[1][2],Pr[1+x])<0?1:0}),mn),At=Dj(He);return Dj(mn)===At?On:[0,On[1],He,On[3]]},Rn,function(Pr,On,mn){var He=mn[2];return Ol(l(Pr[1][1+v],Pr),He,mn,function(At){return[0,mn[1],At]})},Qt,function(Pr,On){var mn=On[2];return Ol(l(Pr[1][1+v],Pr),mn,On,function(He){return[0,On[1],He]})},Fu,function(Pr,On,mn){var He=mn[4],At=mn[3],tr=z(Pr[1][1+dx],Pr,At),Rr=z(Pr[1][1+v],Pr,He);return At===tr&&He===Rr?mn:[0,mn[1],mn[2],tr,Rr]},is,function(Pr,On,mn){var He=mn[4],At=mn[3],tr=z(Pr[1][1+dx],Pr,At),Rr=z(Pr[1][1+v],Pr,He);return At===tr&&He===Rr?mn:[0,mn[1],mn[2],tr,Rr]},du,function(Pr,On,mn){var He=mn[2];return Ol(l(Pr[1][1+v],Pr),He,mn,function(At){return[0,mn[1],At]})},Dl,function(Pr,On,mn){var He=mn[4],At=mn[3],tr=z(Pr[1][1+Or],Pr,At),Rr=z(Pr[1][1+v],Pr,He);return At===tr&&He===Rr?mn:[0,mn[1],mn[2],tr,Rr]},Or,function(Pr,On){var mn=On[2],He=mn[1],At=On[1],tr=mn[2];return Ol(l(Pr[1][1+v],Pr),tr,On,function(Rr){return[0,At,[0,He,Rr]]})},Ot,function(Pr,On){var mn=On[2],He=mn[1],At=On[1],tr=mn[2];return Ol(l(Pr[1][1+v],Pr),tr,On,function(Rr){return[0,At,[0,He,Rr]]})},Li,function(Pr,On,mn){var He=mn[7],At=mn[2],tr=z(Pr[1][1+Ie],Pr,At),Rr=z(Pr[1][1+v],Pr,He);return At===tr&&He===Rr?mn:[0,mn[1],tr,mn[3],mn[4],mn[5],mn[6],Rr]},Ie,function(Pr,On){var mn=On[2],He=mn[1],At=On[1],tr=mn[2];return Ol(l(Pr[1][1+v],Pr),tr,On,function(Rr){return[0,At,[0,He,Rr]]})},Dt,function(Pr,On,mn){var He=mn[2];if(He===0){var At=mn[1];return Ol(l(Pr[1][1+dx],Pr),At,mn,function(Rr){return[0,Rr,mn[2],mn[3]]})}var tr=l(Pr[1][1+m],Pr);return Ol(function(Rr){return XC(tr,Rr)},He,mn,function(Rr){return[0,mn[1],Rr,mn[3]]})},Br,function(Pr,On){var mn=On[2],He=mn[2],At=On[1],tr=mn[1],Rr=l(Pr[1][1+ie],Pr);return Ol(function($n){return rJ(Rr,$n)},tr,On,function($n){return[0,At,[0,$n,He]]})},ie,function(Pr,On){var mn=On[2],He=mn[2],At=mn[1],tr=On[1];if(He===0)return Ol(l(Pr[1][1+O1],Pr),At,On,function($n){return[0,tr,[0,$n,He]]});var Rr=l(Pr[1][1+m],Pr);return Ol(function($n){return XC(Rr,$n)},He,On,function($n){return[0,tr,[0,At,$n]]})},ic,function(Pr,On){var mn=On[2],He=mn[1],At=On[1],tr=mn[2];return Ol(l(Pr[1][1+v],Pr),tr,On,function(Rr){return[0,At,[0,He,Rr]]})},Kx,function(Pr,On,mn){var He=mn[4],At=mn[3],tr=z(Pr[1][1+dx],Pr,At),Rr=z(Pr[1][1+v],Pr,He);return At===tr&&sk(He,Rr)?mn:[0,mn[1],mn[2],tr,Rr]},ku,function(Pr,On,mn){var He=mn[9],At=mn[3],tr=z(Pr[1][1+Bc],Pr,At),Rr=z(Pr[1][1+v],Pr,He);return At===tr&&He===Rr?mn:[0,mn[1],mn[2],tr,mn[4],mn[5],mn[6],mn[7],mn[8],Rr,mn[10]]},Mi,function(Pr,On){var mn=On[2],He=On[1],At=mn[4];return Ol(l(Pr[1][1+v],Pr),At,[0,He,mn],function(tr){return[0,He,[0,mn[1],mn[2],mn[3],tr]]})},iu,function(Pr,On,mn){var He=mn[4],At=mn[3],tr=z(Pr[1][1+L],Pr,At),Rr=z(Pr[1][1+v],Pr,He);return At===tr&&He===Rr?mn:[0,mn[1],mn[2],tr,Rr]},ko,function(Pr,On){if(On[0]===0){var mn=On[1];return Ol(l(Pr[1][1+O1],Pr),mn,On,function($n){return[0,$n]})}var He=On[1],At=He[2],tr=At[2],Rr=z(Pr[1][1+O1],Pr,tr);return tr===Rr?On:[1,[0,He[1],[0,At[1],Rr]]]},Mx,function(Pr,On,mn){var He=mn[2];return Ol(l(Pr[1][1+v],Pr),He,mn,function(At){return[0,mn[1],At]})},Nr,function(Pr,On,mn){var He=mn[3],At=mn[1],tr=A9(l(Pr[1][1+a0],Pr),At),Rr=z(Pr[1][1+v],Pr,He);return At===tr&&He===Rr?mn:[0,tr,mn[2],Rr]},ix,function(Pr,On,mn){var He=mn[2],At=mn[1],tr=At[3],Rr=At[2];if(tr)var $n=Rr,$r=rJ(l(Pr[1][1+L],Pr),tr);else $n=z(Pr[1][1+L],Pr,Rr),$r=0;var Ga=z(Pr[1][1+v],Pr,He);return Rr===$n&&tr===$r&&He===Ga?mn:[0,[0,At[1],$n,$r],Ga]},Tn,function(Pr,On,mn){var He=mn[4];return Ol(l(Pr[1][1+v],Pr),He,mn,function(At){return[0,mn[1],mn[2],mn[3],At]})},In,function(Pr,On,mn){var He=mn[4];return Ol(l(Pr[1][1+v],Pr),He,mn,function(At){return[0,mn[1],mn[2],mn[3],At]})},wn,function(Pr,On,mn){var He=mn[4],At=mn[3],tr=z(Pr[1][1+dx],Pr,At),Rr=z(Pr[1][1+v],Pr,He);return At===tr&&He===Rr?mn:[0,mn[1],mn[2],tr,Rr]},ct,function(Pr,On,mn){var He=mn[4],At=mn[3],tr=mn[2],Rr=mn[1],$n=z(Pr[1][1+v],Pr,He);if(At){var $r=XC(l(Pr[1][1+Or],Pr),At);return At===$r&&He===$n?mn:[0,mn[1],mn[2],$r,$n]}if(tr){var Ga=XC(l(Pr[1][1+Ot],Pr),tr);return tr===Ga&&He===$n?mn:[0,mn[1],Ga,mn[3],$n]}var Xa=z(Pr[1][1+dx],Pr,Rr);return Rr===Xa&&He===$n?mn:[0,Xa,mn[2],mn[3],$n]},kr,function(Pr,On,mn){var He=mn[3],At=mn[2],tr=z(Pr[1][1+sr],Pr,At),Rr=z(Pr[1][1+v],Pr,He);return At===tr&&He===Rr?mn:[0,mn[1],tr,Rr]},Ke,function(Pr,On,mn){var He=mn[2];return Ol(l(Pr[1][1+v],Pr),He,mn,function(At){return[0,mn[1],At]})},a0,function(Pr,On,mn){var He=mn[4];return Ol(l(Pr[1][1+v],Pr),He,mn,function(At){return[0,mn[1],mn[2],mn[3],At]})},Me,function(Pr,On){var mn=On[2],He=mn[1],At=On[1],tr=mn[2];return Ol(l(Pr[1][1+v],Pr),tr,On,function(Rr){return[0,At,[0,He,Rr]]})},Xt,function(Pr,On,mn){var He=mn[2],At=mn[1],tr=rJ(l(Pr[1][1+dx],Pr),At),Rr=z(Pr[1][1+v],Pr,He);return At===tr&&He===Rr?mn:[0,tr,Rr]},xn,function(Pr,On,mn){var He=mn[3];return Ol(l(Pr[1][1+v],Pr),He,mn,function(At){return[0,mn[1],mn[2],At]})},Oi,function(Pr,On){var mn=On[2];return Ol(l(Pr[1][1+v],Pr),mn,On,function(He){return[0,On[1],He]})},zn,function(Pr,On,mn){var He=mn[3];return Ol(l(Pr[1][1+v],Pr),He,mn,function(At){return[0,mn[1],mn[2],At]})},Vn,function(Pr,On){var mn=On[2],He=mn[1],At=On[1],tr=mn[2];return Ol(l(Pr[1][1+v],Pr),tr,On,function(Rr){return[0,At,[0,He,Rr]]})},Jn,function(Pr,On,mn){var He=mn[2],At=mn[1],tr=At[3],Rr=At[2];if(tr)var $n=Rr,$r=rJ(l(Pr[1][1+L],Pr),tr);else $n=z(Pr[1][1+L],Pr,Rr),$r=0;var Ga=z(Pr[1][1+v],Pr,He);return Rr===$n&&tr===$r&&He===Ga?mn:[0,[0,At[1],$n,$r],Ga]},ni,function(Pr,On,mn){var He=mn[2],At=He[2],tr=He[1],Rr=mn[1];if(At){var $n=At[1];return Ol(l(Pr[1][1+dx],Pr),$n,mn,function($r){return[0,Rr,[0,tr,[0,$r]]]})}return Ol(z(Pr[1][1+Cr],Pr,On),tr,mn,function($r){return[0,Rr,[0,$r,At]]})}]),function(Pr,On,mn){var He=E10(On,i);return He[1+x]=mn,l(ca,He),Mo0(On,He,i)}}),qY=function(i){var x=Gz(i);if(x)var n=x[1],m=I20(i)?(Yq(i,n[3]),[0,z(R20[1],0,n[3])]):0;else m=x;return[0,0,function(L,v){return m?z(v,m[1],L):L}]},nJ=function(i){var x=Gz(i);if(x){var n=x[1];if(I20(i)){Yq(i,n[3]);var m=e$(i),L=[0,z(R20[1],0,[0,n[3][1]+1|0,0])]}else m=e$(i),L=0}else m=0,L=0;return[0,m,function(v,a0){return L?z(a0,L[1],v):v}]},Jk=function(i){return OP(i)?nJ(i):qY(i)},zU=function(i,x){return z(Jk(i)[2],x,function(n,m){return z(rh(n,gL,25),n,m)})},oB=function(i,x){if(x)var n=[0,z(Jk(i)[2],x[1],function(m,L){return z(rh(m,NA,28),m,L)})];else n=x;return n},Zz=function(i,x){return z(Jk(i)[2],x,function(n,m){return z(rh(n,GB,30),n,m)})},iJ=function(i,x){return z(Jk(i)[2],x,function(n,m){return z(rh(n,-455772979,31),n,m)})},j20=function(i,x){if(x)var n=[0,z(Jk(i)[2],x[1],function(m,L){return z(rh(m,dP,32),m,L)})];else n=x;return n},VM=function(i,x){return z(Jk(i)[2],x,function(n,m){return z(rh(n,HR,33),n,m)})},U20=function(i,x){return z(Jk(i)[2],x,function(n,m){var L=l(rh(n,d1,35),n);return rJ(function(v){return A9(L,v)},m)})},V20=function(i,x){return z(Jk(i)[2],x,function(n,m){return z(rh(n,-21476009,36),n,m)})};C10(PZ1,function(i){var x=v10(i,AZ1),n=b10(wZ1),m=n.length-1,L=hp.length-1,v=vr(m+L|0,0),a0=m-1|0;if(!(a0<0))for(var O1=0;;){var dx=kq(i,A4(n,O1)[1+O1]);A4(v,O1)[1+O1]=dx;var ie=O1+1|0;if(a0===O1)break;O1=ie}var Ie=L-1|0;if(!(Ie<0))for(var Ot=0;;){var Or=Ot+m|0,Cr=v10(i,A4(hp,Ot)[1+Ot]);A4(v,Or)[1+Or]=Cr;var ni=Ot+1|0;if(Ie===Ot)break;Ot=ni}var Jn=v[1],Vn=v[2],zn=v[5],Oi=v[6],xn=v[8],vt=v[9],Xt=v[3],Me=v[4],Ke=v[7],ct=Lo0(i,0,0,Ul,Nd0,1)[1];return S10(i,[0,Me,function(sr){return[0,sr[1+xn],sr[1+vt]]},Oi,function(sr,kr){var wn=kr[1];H9(l(sr[1][1+Vn],sr),wn);var In=kr[2];return H9(l(sr[1][1+Jn],sr),In)},zn,function(sr,kr){return kr&&z(sr[1][1+Oi],sr,kr[1])},Vn,function(sr,kr){var wn=kr[1],In=sr[1+xn];if(In){var Tn=RU(wn[2],In[1][1][2])<0?1:0;return Tn&&(sr[1+xn]=[0,kr],0)}var ix=RU(wn[2],sr[1+x][2])<0?1:0;return ix&&(sr[1+xn]=[0,kr],0)},Jn,function(sr,kr){var wn=kr[1],In=sr[1+vt];if(In){var Tn=RU(In[1][1][2],wn[2])<0?1:0;return Tn&&(sr[1+vt]=[0,kr],0)}var ix=0<=RU(wn[2],sr[1+x][3])?1:0;return ix&&(sr[1+vt]=[0,kr],0)},Xt,function(sr,kr){return z(sr[1][1+Oi],sr,kr),kr},Ke,function(sr,kr,wn){return z(sr[1][1+zn],sr,wn[2]),wn}]),function(sr,kr,wn){var In=E10(kr,i);return In[1+x]=wn,l(ct,In),In[1+xn]=0,In[1+vt]=0,Mo0(kr,In,i)}});var $20=function(i){return i===3?2:1},ar0=function(i,x,n){if(n){var m=n[1],L=0;if(m===8232||ik===m)L=1;else if(m===10)var v=6;else if(m===13)v=5;else if(65536<=m)v=3;else if(2048<=m)v=2;else{var a0=nE<=m?1:0;v=a0&&1}L&&(v=7);var O1=v}else O1=4;return[0,O1,i]},O2x=[mC,MZ1,HA()],K20=function(i,x,n,m){try{var L;return A4(i,x)[1+x]}catch(v){throw(v=yi(v))[1]===qi?[0,O2x,n,zr(GT(BZ1),m,x,i.length-1)]:v}},JY=function(i,x){if(x[1]===0&&x[2]===0)return 0;var n=K20(i,x[1]-1|0,x,IZ1);return K20(n,x[2],x,OZ1)},$M=function(i){var x=Ng(i),n=gs(i),m=Di(i),L=0;if(typeof m==\"number\")switch(m){case 15:var v=nux;break;case 16:v=iux;break;case 17:v=aux;break;case 18:v=oux;break;case 19:v=sux;break;case 20:v=uux;break;case 21:v=cux;break;case 22:v=lux;break;case 23:v=fux;break;case 24:v=pux;break;case 25:v=dux;break;case 26:v=mux;break;case 27:v=hux;break;case 28:v=gux;break;case 29:v=_ux;break;case 30:v=yux;break;case 31:v=Dux;break;case 32:v=vux;break;case 33:v=bux;break;case 34:v=Cux;break;case 35:v=Eux;break;case 36:v=Sux;break;case 37:v=Fux;break;case 38:v=Aux;break;case 39:v=Tux;break;case 40:v=wux;break;case 41:v=kux;break;case 42:v=Nux;break;case 43:v=Pux;break;case 44:v=Iux;break;case 45:v=Oux;break;case 46:v=Bux;break;case 47:v=Lux;break;case 48:v=Mux;break;case 49:v=Rux;break;case 50:v=jux;break;case 51:v=Uux;break;case 52:v=Vux;break;case 53:v=$ux;break;case 54:v=Kux;break;case 55:v=zux;break;case 56:v=Wux;break;case 57:v=qux;break;case 58:v=Jux;break;case 59:v=Hux;break;case 60:v=Gux;break;case 61:v=Xux;break;case 62:v=Yux;break;case 63:v=Qux;break;case 64:v=Zux;break;case 65:v=xcx;break;case 111:v=ecx;break;case 112:v=tcx;break;case 113:v=rcx;break;case 114:v=ncx;break;case 115:v=icx;break;case 116:v=acx;break;case 117:v=ocx;break;case 118:v=scx;break;default:L=1}else switch(m[0]){case 4:v=m[2];break;case 9:v=m[1]===0?ccx:ucx;break;default:L=1}return L&&(Bw(lcx,i),v=fcx),uf(i),[0,x,[0,v,ns([0,n],[0,t2(i)])]]},aJ=function(i){for(var x=i;;){var n=x[2];if(n[0]!==27)return 0;var m=n[1][2];if(m[2][0]===23)return 1;x=m}},ys=function(i,x,n){var m=i?i[1]:Ng(n),L=l(x,n),v=Gz(n);return[0,v?gT(m,v[1]):m,L]},or0=yq([0,gq]),sr0=yq([0,gq]),HY=GH([0,gq]),xW=function(i){return[0,VK(i)]},ur0=yq([0,gq]),cr0=yq([0,function(i,x){var n=x[1],m=i[1],L=n[1],v=m[1];if(v)if(L){var a0=L[1],O1=v[1],dx=Id0(a0),ie=Id0(O1)-dx|0;if(ie===0)var Ie=Pd0(a0),Ot=S2(Pd0(O1),Ie);else Ot=ie}else Ot=-1;else Ot=L?1:0;if(Ot===0)var Or=RU(m[2],n[2]),Cr=Or===0?RU(m[3],n[3]):Or;else Cr=Ot;return Cr===0?z(Rd0,i[2],x[2]):Cr}]),Lp=z(F9,ydx,_dx),Z6=function(i){function x(Qt){var Rn=Ng(Qt),ca=Di(Qt);if(typeof ca==\"number\"){if(Yw===ca){var Pr=gs(Qt);return uf(Qt),[0,[0,Rn,[0,0,ns([0,Pr],0)]]]}if(Uk===ca){var On=gs(Qt);return uf(Qt),[0,[0,Rn,[0,1,ns([0,On],0)]]]}}return 0}var n=function Qt(Rn){return Qt.fun(Rn)},m=function Qt(Rn){return Qt.fun(Rn)},L=function Qt(Rn){return Qt.fun(Rn)},v=function Qt(Rn,ca,Pr){return Qt.fun(Rn,ca,Pr)},a0=function Qt(Rn){return Qt.fun(Rn)},O1=function Qt(Rn,ca,Pr){return Qt.fun(Rn,ca,Pr)},dx=function Qt(Rn){return Qt.fun(Rn)},ie=function Qt(Rn,ca){return Qt.fun(Rn,ca)},Ie=function Qt(Rn){return Qt.fun(Rn)},Ot=function Qt(Rn){return Qt.fun(Rn)},Or=function Qt(Rn,ca,Pr){return Qt.fun(Rn,ca,Pr)},Cr=function Qt(Rn,ca,Pr,On){return Qt.fun(Rn,ca,Pr,On)},ni=function Qt(Rn){return Qt.fun(Rn)},Jn=function Qt(Rn){return Qt.fun(Rn)},Vn=function Qt(Rn){return Qt.fun(Rn)},zn=function Qt(Rn){return Qt.fun(Rn)},Oi=function Qt(Rn,ca){return Qt.fun(Rn,ca)},xn=function Qt(Rn){return Qt.fun(Rn)},vt=function Qt(Rn){return Qt.fun(Rn)},Xt=function Qt(Rn){return Qt.fun(Rn)},Me=function Qt(Rn){return Qt.fun(Rn)},Ke=function Qt(Rn){return Qt.fun(Rn)},ct=function Qt(Rn){return Qt.fun(Rn)},sr=function Qt(Rn){return Qt.fun(Rn)},kr=function Qt(Rn,ca,Pr,On){return Qt.fun(Rn,ca,Pr,On)},wn=function Qt(Rn,ca,Pr,On){return Qt.fun(Rn,ca,Pr,On)},In=function Qt(Rn){return Qt.fun(Rn)},Tn=function Qt(Rn){return Qt.fun(Rn)},ix=function Qt(Rn){return Qt.fun(Rn)},Nr=function Qt(Rn){return Qt.fun(Rn)},Mx=function Qt(Rn){return Qt.fun(Rn)},ko=function Qt(Rn){return Qt.fun(Rn)},iu=function Qt(Rn,ca){return Qt.fun(Rn,ca)},Mi=function Qt(Rn,ca){return Qt.fun(Rn,ca)},Bc=function Qt(Rn){return Qt.fun(Rn)},ku=function Qt(Rn,ca,Pr){return Qt.fun(Rn,ca,Pr)};function Kx(Qt){var Rn=$4(1,Qt);return typeof Rn!=\"number\"||1<(Rn+$S|0)>>>0?z(Oi,Qt,l(n,Qt)):l(xn,Qt)}function ic(Qt,Rn,ca){return ys([0,Rn],function(Pr){var On=l(Xt,Pr);return ia(Pr,83),[0,ca,On,l(n,Pr),0]},Qt)}function Br(Qt,Rn){var ca=Di(Rn);if(typeof ca==\"number\"&&!(10<=ca))switch(ca){case 1:if(!Qt)return 0;break;case 3:if(Qt)return 0;break;case 8:case 9:return uf(Rn)}return Bw(0,Rn)}function Dt(Qt,Rn){return Rn&&Bl(Qt,[0,Rn[1][1],7])}function Li(Qt,Rn){return Rn&&Bl(Qt,[0,Rn[1],9])}function Dl(Qt){var Rn=gs(Qt);if(ia(Qt,66),Di(Qt)===4){var ca=c6(Rn,gs(Qt));ia(Qt,4),LP(Qt,0);var Pr=l(i[9],Qt);return uO(Qt),ia(Qt,5),[0,[0,Pr],ns([0,ca],[0,t2(Qt)])]}return[0,0,ns([0,Rn],[0,t2(Qt)])]}Ce(n,function(Qt){return l(L,Qt)}),Ce(m,function(Qt){return 1-u9(Qt)&&Zh(Qt,12),ys(0,function(Rn){return ia(Rn,83),l(n,Rn)},Qt)}),Ce(L,function(Qt){var Rn=Di(Qt)===86?1:0;if(Rn){var ca=gs(Qt);uf(Qt);var Pr=ca}else Pr=Rn;return zr(v,Qt,[0,Pr],l(a0,Qt))}),Ce(v,function(Qt,Rn,ca){var Pr=Rn&&Rn[1];if(Di(Qt)===86){var On=[0,ca,0];return ys([0,ca[1]],function(mn){for(var He=On;;){var At=Di(mn);if(typeof At!=\"number\"||At!==86){var tr=yd(He);if(tr){var Rr=tr[2];if(Rr){var $n=ns([0,Pr],0);return[19,[0,[0,tr[1],Rr[1],Rr[2]],$n]]}}throw[0,Cs,Vcx]}ia(mn,86),He=[0,l(a0,mn),He]}},Qt)}return ca}),Ce(a0,function(Qt){var Rn=Di(Qt)===88?1:0;if(Rn){var ca=gs(Qt);uf(Qt);var Pr=ca}else Pr=Rn;return zr(O1,Qt,[0,Pr],l(dx,Qt))}),Ce(O1,function(Qt,Rn,ca){var Pr=Rn&&Rn[1];if(Di(Qt)===88){var On=[0,ca,0];return ys([0,ca[1]],function(mn){for(var He=On;;){var At=Di(mn);if(typeof At!=\"number\"||At!==88){var tr=yd(He);if(tr){var Rr=tr[2];if(Rr){var $n=ns([0,Pr],0);return[20,[0,[0,tr[1],Rr[1],Rr[2]],$n]]}}throw[0,Cs,Ucx]}ia(mn,88),He=[0,l(dx,mn),He]}},Qt)}return ca}),Ce(dx,function(Qt){return z(ie,Qt,l(Ie,Qt))}),Ce(ie,function(Qt,Rn){var ca=Di(Qt);if(typeof ca==\"number\"&&ca===11&&!Qt[15]){var Pr=z(Oi,Qt,Rn);return re(kr,Qt,Pr[1],0,[0,Pr[1],[0,0,[0,Pr,0],0,0]])}return Rn}),Ce(Ie,function(Qt){var Rn=Di(Qt);return typeof Rn==\"number\"&&Rn===82?ys(0,function(ca){var Pr=gs(ca);ia(ca,82);var On=ns([0,Pr],0);return[11,[0,l(Ie,ca),On]]},Qt):l(Ot,Qt)}),Ce(Ot,function(Qt){return zr(Or,0,Qt,l(ni,Qt))}),Ce(Or,function(Qt,Rn,ca){var Pr=Qt&&Qt[1];if(OP(Rn))return ca;var On=Di(Rn);if(typeof On==\"number\"){if(On===6)return uf(Rn),re(Cr,Pr,0,Rn,ca);if(On===10){var mn=$4(1,Rn);return typeof mn==\"number\"&&mn===6?(Zh(Rn,Rcx),ia(Rn,10),ia(Rn,6),re(Cr,Pr,0,Rn,ca)):(Zh(Rn,jcx),ca)}if(On===80)return uf(Rn),Di(Rn)!==6&&Zh(Rn,30),ia(Rn,6),re(Cr,1,1,Rn,ca)}return ca}),Ce(Cr,function(Qt,Rn,ca,Pr){return zr(Or,[0,Qt],ca,ys([0,Pr[1]],function(On){if(!Rn&&BP(On,7))return[15,[0,Pr,ns(0,[0,t2(On)])]];var mn=l(n,On);ia(On,7);var He=[0,Pr,mn,ns(0,[0,t2(On)])];return Qt?[18,[0,He,Rn]]:[17,He]},ca))}),Ce(ni,function(Qt){var Rn=Ng(Qt),ca=Di(Qt),Pr=0;if(typeof ca==\"number\")switch(ca){case 4:return l(ct,Qt);case 6:return l(zn,Qt);case 46:return ys(0,function(Do){var No=gs(Do);ia(Do,46);var tu=ns([0,No],0);return[21,[0,l(ni,Do),0,tu]]},Qt);case 53:return ys(0,function(Do){var No=gs(Do);ia(Do,53);var tu=l(In,Do),Vs=ns([0,No],0);return[14,[0,tu[2],tu[1],Vs]]},Qt);case 95:return l(sr,Qt);case 103:var On=gs(Qt);return ia(Qt,NT),[0,Rn,[10,ns([0,On],[0,t2(Qt)])]];case 42:Pr=1;break;case 0:case 2:var mn=re(wn,0,1,1,Qt);return[0,mn[1],[13,mn[2]]];case 30:case 31:var He=gs(Qt);return ia(Qt,ca),[0,Rn,[26,[0,ca===31?1:0,ns([0,He],[0,t2(Qt)])]]]}else switch(ca[0]){case 2:var At=ca[1],tr=At[4],Rr=At[3],$n=At[2],$r=At[1];tr&&kL(Qt,44);var Ga=gs(Qt);return ia(Qt,[2,[0,$r,$n,Rr,tr]]),[0,$r,[23,[0,$n,Rr,ns([0,Ga],[0,t2(Qt)])]]];case 10:var Xa=ca[3],ls=ca[2],Es=ca[1],Fe=gs(Qt);ia(Qt,[10,Es,ls,Xa]);var Lt=t2(Qt);return Es===1&&kL(Qt,44),[0,Rn,[24,[0,ls,Xa,ns([0,Fe],[0,Lt])]]];case 11:var ln=ca[3],tn=ca[2],Ri=gs(Qt);return ia(Qt,[11,ca[1],tn,ln]),[0,Rn,[25,[0,tn,ln,ns([0,Ri],[0,t2(Qt)])]]];case 4:Pr=1}if(Pr){var Ji=l(ko,Qt);return[0,Ji[1],[16,Ji[2]]]}var Na=l(Vn,Qt);return Na?[0,Rn,Na[1]]:(Bw(0,Qt),[0,Rn,Mcx])}),Ce(Jn,function(Qt){var Rn=0;if(typeof Qt==\"number\")switch(Qt){case 29:case 111:case 112:case 113:case 114:case 115:case 116:case 117:case 118:Rn=1}else Qt[0]===9&&(Rn=1);return Rn?1:0}),Ce(Vn,function(Qt){var Rn=gs(Qt),ca=Di(Qt);if(typeof ca==\"number\")switch(ca){case 29:return uf(Qt),[0,[4,ns([0,Rn],[0,t2(Qt)])]];case 111:return uf(Qt),[0,[0,ns([0,Rn],[0,t2(Qt)])]];case 112:return uf(Qt),[0,[1,ns([0,Rn],[0,t2(Qt)])]];case 113:return uf(Qt),[0,[2,ns([0,Rn],[0,t2(Qt)])]];case 114:return uf(Qt),[0,[5,ns([0,Rn],[0,t2(Qt)])]];case 115:return uf(Qt),[0,[6,ns([0,Rn],[0,t2(Qt)])]];case 116:return uf(Qt),[0,[7,ns([0,Rn],[0,t2(Qt)])]];case 117:return uf(Qt),[0,[3,ns([0,Rn],[0,t2(Qt)])]];case 118:return uf(Qt),[0,[9,ns([0,Rn],[0,t2(Qt)])]]}else if(ca[0]===9)return uf(Qt),[0,[8,ns([0,Rn],[0,t2(Qt)])]];return 0}),Ce(zn,function(Qt){return ys(0,function(Rn){var ca=gs(Rn);ia(Rn,6);for(var Pr=Hz(0,Rn),On=0;;){var mn=Di(Pr);if(typeof mn==\"number\"){var He=0;if(mn!==7&&ef!==mn||(He=1),He){var At=yd(On);return ia(Rn,7),[22,[0,At,ns([0,ca],[0,t2(Rn)])]]}}var tr=[0,l(n,Pr),On];Di(Pr)!==7&&ia(Pr,9),On=tr}},Qt)}),Ce(Oi,function(Qt,Rn){return[0,Rn[1],[0,0,Rn,0]]}),Ce(xn,function(Qt){return ys(0,function(Rn){LP(Rn,0);var ca=z(i[13],0,Rn);uO(Rn),1-u9(Rn)&&Zh(Rn,12);var Pr=BP(Rn,82);return ia(Rn,83),[0,[0,ca],l(n,Rn),Pr]},Qt)}),Ce(vt,function(Qt){return function(Rn){for(var ca=0,Pr=Rn;;){var On=Di(Qt);if(typeof On==\"number\")switch(On){case 5:case 12:case 110:var mn=On===12?1:0,He=mn&&[0,ys(0,function($n){var $r=gs($n);ia($n,12);var Ga=ns([0,$r],0);return[0,Kx($n),Ga]},Qt)];return[0,ca,yd(Pr),He,0]}else if(On[0]===4&&!rt(On[3],Lcx)){var At=0;if($4(1,Qt)!==83&&$4(1,Qt)!==82||(At=1),At){((ca!==0?1:0)||(Pr!==0?1:0))&&Zh(Qt,Y1);var tr=ys(0,function($n){var $r=gs($n);uf($n),Di($n)===82&&Zh($n,X);var Ga=ns([0,$r],0);return[0,l(m,$n),Ga]},Qt);Di(Qt)!==5&&ia(Qt,9),ca=[0,tr];continue}}var Rr=[0,Kx(Qt),Pr];Di(Qt)!==5&&ia(Qt,9),Pr=Rr}}}),Ce(Xt,function(Qt){return ys(0,function(Rn){var ca=gs(Rn);ia(Rn,4);var Pr=z(vt,Rn,0),On=gs(Rn);ia(Rn,5);var mn=X9([0,ca],[0,t2(Rn)],On);return[0,Pr[1],Pr[2],Pr[3],mn]},Qt)}),Ce(Me,function(Qt){var Rn=gs(Qt);ia(Qt,4);var ca=Hz(0,Qt),Pr=Di(ca),On=0;if(typeof Pr==\"number\")switch(Pr){case 5:var mn=Bcx;break;case 42:On=2;break;case 12:case 110:mn=[0,z(vt,ca,0)];break;default:On=1}else On=Pr[0]===4?2:1;switch(On){case 1:if(l(Jn,Pr)){var He=$4(1,ca),At=0;if(typeof He==\"number\"&&!(1<(He+$S|0)>>>0)){var tr=[0,z(vt,ca,0)];At=1}At||(tr=[1,l(n,ca)]),mn=tr}else mn=[1,l(n,ca)];break;case 2:mn=l(Ke,ca)}if(mn[0]===0)var Rr=mn;else{var $n=mn[1];if(Qt[15])var $r=mn;else{var Ga=Di(Qt),Xa=0;if(typeof Ga==\"number\")if(Ga===5)var ls=$4(1,Qt)===11?[0,z(vt,Qt,[0,z(Oi,Qt,$n),0])]:[1,$n];else Ga===9?(ia(Qt,9),ls=[0,z(vt,Qt,[0,z(Oi,Qt,$n),0])]):Xa=1;else Xa=1;Xa&&(ls=mn),$r=ls}Rr=$r}var Es=gs(Qt);ia(Qt,5);var Fe=t2(Qt);if(Rr[0]===0){var Lt=Rr[1],ln=X9([0,Rn],[0,Fe],Es);return[0,[0,Lt[1],Lt[2],Lt[3],ln]]}return[1,zr(ku,Rr[1],Rn,Fe)]}),Ce(Ke,function(Qt){var Rn=$4(1,Qt);if(typeof Rn==\"number\"&&!(1<(Rn+$S|0)>>>0))return[0,z(vt,Qt,0)];var ca=z(ie,Qt,zr(Or,0,Qt,z(Mi,Qt,l(Tn,Qt)))),Pr=z(l(O1,Qt),0,ca);return[1,z(l(v,Qt),0,Pr)]}),Ce(ct,function(Qt){var Rn=Ng(Qt),ca=ys(0,Me,Qt),Pr=ca[2];return Pr[0]===0?re(kr,Qt,Rn,0,[0,ca[1],Pr[1]]):Pr[1]}),Ce(sr,function(Qt){var Rn=Ng(Qt),ca=oB(Qt,l(Nr,Qt));return re(kr,Qt,Rn,ca,l(Xt,Qt))}),Ce(kr,function(Qt,Rn,ca,Pr){return ys([0,Rn],function(On){return ia(On,11),[12,[0,ca,Pr,l(n,On),0]]},Qt)}),Ce(wn,function(Qt,Rn,ca,Pr){var On=Rn&&(Di(Pr)===2?1:0),mn=Rn&&1-On;return ys(0,function(He){var At=gs(He);ia(He,On&&2);var tr=Hz(0,He),Rr=Ocx;x:for(;;){var $n=Rr[3],$r=Rr[2],Ga=Rr[1];if(Qt&&ca)throw[0,Cs,vcx];if(mn&&!ca)throw[0,Cs,bcx];var Xa=Ng(tr),ls=Di(tr);if(typeof ls==\"number\"){var Es=0;if(13<=ls){if(ef===ls){var Fe=[0,yd(Ga),$r,$n];Es=1}}else if(ls!==0)switch(ls-1|0){case 0:On||(Fe=[0,yd(Ga),$r,$n],Es=1);break;case 2:On&&(Fe=[0,yd(Ga),$r,$n],Es=1);break;case 11:if(!ca){uf(tr);var Lt=Di(tr);if(typeof Lt==\"number\"&&!(10<=Lt))switch(Lt){case 1:case 3:case 8:case 9:Bl(tr,[0,Xa,20]),Br(On,tr);continue}var ln=tr0(tr);l(Qt0(tr),ln),Bl(tr,[0,Xa,17]),uf(tr),Br(On,tr);continue}var tn=gs(tr);uf(tr);var Ri=Di(tr),Ji=0;if(typeof Ri==\"number\"&&!(10<=Ri))switch(Ri){case 1:case 3:case 8:case 9:Br(On,tr);var Na=Di(tr),Do=0;if(typeof Na==\"number\"){var No=Na-1|0;if(!(2<No>>>0))switch(No){case 0:mn&&(Fe=[0,yd(Ga),1,tn],Es=1,Ji=1,Do=1);break;case 1:break;default:Bl(tr,[0,Xa,19]),Fe=[0,yd(Ga),$r,$n],Es=1,Ji=1,Do=1}}if(!Do){Bl(tr,[0,Xa,18]);continue}}if(!Ji){var tu=[1,ys([0,Xa],function(K4){return function(ox){var BA=ns([0,K4],0);return[0,l(n,ox),BA]}}(tn),tr)];Br(On,tr),Rr=[0,[0,tu,Ga],$r,$n];continue}}if(Es){var Vs=gs(He),As=c6(Fe[3],Vs);ia(He,On?3:1);var vu=X9([0,At],[0,t2(He)],As);return[0,On,Fe[2],Fe[1],vu]}}for(var Wu=Qt,L1=Qt,hu=0,Qu=0,pc=0,il=0;;){var Zu=Di(tr),fu=0;if(typeof Zu==\"number\")switch(Zu){case 6:Li(tr,pc);var vl=$4(1,tr),id=0;if(typeof vl==\"number\"&&vl===6){Dt(tr,hu);var _f=[4,ys([0,Xa],function(K4,ox,BA){return function(h6){var cA=c6(ox,gs(h6));ia(h6,6),ia(h6,6);var QA=$M(h6);ia(h6,7),ia(h6,7);var YT=Di(h6),z4=0;if(typeof YT==\"number\"){var Fk=0;if(YT!==4&&YT!==95&&(Fk=1),!Fk){var pk=ic(h6,K4,oB(h6,l(Nr,h6))),Ak=0,ZA=1,Q9=[0,pk[1],[12,pk[2]]],Hk=0;z4=1}}if(!z4){var w4=BP(h6,82),EN=t2(h6);ia(h6,83),Ak=w4,ZA=0,Q9=l(n,h6),Hk=EN}return[0,QA,Q9,Ak,BA!==0?1:0,ZA,ns([0,cA],[0,Hk])]}}(Xa,il,Qu),tr)];id=1}id||(_f=[2,ys([0,Xa],function(K4,ox,BA){return function(h6){var cA=c6(K4,gs(h6));ia(h6,6);var QA=$4(1,h6)===83?1:0;if(QA){var YT=$M(h6);ia(h6,83);var z4=[0,YT]}else z4=QA;var Fk=l(n,h6);ia(h6,7);var pk=t2(h6);return ia(h6,83),[0,z4,Fk,l(n,h6),ox!==0?1:0,BA,ns([0,cA],[0,pk])]}}(il,Qu,hu),tr)]);break;case 42:if(Wu){if(hu===0){var sm=[0,Ng(tr)],Pd=c6(il,gs(tr));uf(tr),Wu=0,L1=0,Qu=sm,il=Pd;continue}throw[0,Cs,Ccx]}fu=1;break;case 100:case 101:if(hu===0){Wu=0,L1=0,hu=x(tr);continue}fu=1;break;case 4:case 95:Li(tr,pc),Dt(tr,hu),_f=[3,ys([0,Xa],function(K4,ox){return function(BA){return[0,ic(BA,Ng(BA),oB(BA,l(Nr,BA))),ox!==0?1:0,ns([0,K4],0)]}}(il,Qu),tr)];break;default:fu=1}else if(Zu[0]!==4||rt(Zu[3],Ecx))fu=1;else{if(L1){if(hu===0){var tc=[0,Ng(tr)],YC=c6(il,gs(tr));uf(tr),Wu=0,L1=0,pc=tc,il=YC;continue}throw[0,Cs,Scx]}fu=1}if(fu){var km=0;if(Qu){if(pc)_f=qp(Fcx),km=1;else if(typeof Zu==\"number\"&&!(1<(Zu+$S|0)>>>0)){var lC=[0,Qu[1],Acx],A2=[1,jM(ns([0,il],0),lC)],s_=0,Db=pc,o3=0;km=2}}else if(pc&&typeof Zu==\"number\"&&!(1<(Zu+$S|0)>>>0)){var l6=[0,pc[1],Tcx];A2=[1,jM(ns([0,il],0),l6)],s_=0,Db=0,o3=Qu,km=2}var fC=0;switch(km){case 0:var uS=function(K4){LP(K4,0);var ox=z(i[20],0,K4);return uO(K4),ox},P8=gs(tr),s8=uS(tr)[2],z8=0;if(s8[0]===1){var XT=s8[1][2][1],OT=0;if(rt(XT,wcx)&&rt(XT,kcx)&&(OT=1),!OT){var r0=Di(tr),_T=0;if(typeof r0==\"number\"){var BT=r0-5|0;89<BT>>>0?91<(BT+1|0)>>>0||(Li(tr,pc),Dt(tr,hu),z8=1,_T=1):1<(BT-77|0)>>>0||(A2=s8,s_=il,Db=pc,o3=Qu,fC=1,z8=2,_T=1)}if(!_T){VM(tr,s8);var IS=uS(tr),I5=Da(XT,Ncx),LT=c6(il,P8);Li(tr,pc),Dt(tr,hu),_f=[0,ys([0,Xa],function(K4,ox,BA,h6,cA){return function(QA){var YT=BA[1],z4=VM(QA,BA[2]),Fk=ic(QA,K4,0),pk=Fk[2][2];if(h6===0){var Ak=pk[2];if(Ak[1])Bl(QA,[0,YT,Vk]);else{var ZA=Ak[2];if(Ak[3])Bl(QA,[0,YT,81]);else{var Q9=0;ZA&&!ZA[2]&&(Q9=1),Q9||Bl(QA,[0,YT,81])}}}else{var Hk=pk[2];if(Hk[1])Bl(QA,[0,YT,Lk]);else{var w4=0;(Hk[2]||Hk[3])&&(w4=1),w4&&Bl(QA,[0,YT,80])}}var EN=ns([0,cA],0);return[0,z4,h6?[1,Fk]:[2,Fk],0,ox!==0?1:0,0,0,0,EN]}}(Xa,Qu,IS,I5,LT),tr)],z8=2}}}var yT=0;switch(z8){case 2:yT=1;break;case 0:var sx=Di(tr),XA=0;if(typeof sx==\"number\"){var O5=0;sx!==4&&sx!==95&&(O5=1),O5||(Li(tr,pc),Dt(tr,hu),XA=1)}if(!XA){var OA=Qu!==0?1:0;if(s8[0]===1){var YA=s8[1],a4=YA[2][1];if(Qt){var c9=0;Da(Pcx,a4)||OA&&Da(Icx,a4)||(c9=1),c9||Bl(tr,[0,YA[1],[22,a4,OA,0]])}}A2=s8,s_=il,Db=pc,o3=Qu,fC=1,yT=1}}if(!yT){var Lw=VM(tr,s8),bS=ic(tr,Xa,oB(tr,l(Nr,tr))),n0=[0,bS[1],[12,bS[2]]],G5=[0,Lw,[0,n0],0,Qu!==0?1:0,0,1,0,ns([0,il],0)];_f=[0,[0,n0[1],G5]]}break;case 2:fC=1}fC&&(1-u9(tr)&&Zh(tr,12),_f=[0,ys([0,Xa],function(K4,ox,BA,h6,cA){return function(QA){var YT=BP(QA,82);ia(QA,83);var z4=l(n,QA);return[0,cA,[0,z4],YT,ox!==0?1:0,BA!==0?1:0,0,K4,ns([0,h6],0)]}}(hu,o3,Db,s_,A2),tr)])}Br(On,tr),Rr=[0,[0,_f,Ga],$r,$n];continue x}}},Pr)}),Ce(In,function(Qt){var Rn=Di(Qt)===41?1:0;if(Rn){ia(Qt,41);for(var ca=0;;){var Pr=[0,l(ko,Qt),ca],On=Di(Qt);if(typeof On!=\"number\"||On!==9){var mn=U20(Qt,yd(Pr));break}ia(Qt,9),ca=Pr}}else mn=Rn;return[0,mn,re(wn,0,0,0,Qt)]}),Ce(Tn,function(Qt){var Rn=$M(Qt),ca=Rn[2],Pr=ca[1],On=Rn[1];return P20(Pr)&&Bl(Qt,[0,On,3]),[0,On,[0,Pr,ca[2]]]}),Ce(ix,function(Qt){return ys(0,function(Rn){return[0,l(Tn,Rn),Di(Rn)===83?[1,l(m,Rn)]:[0,VK(Rn)]]},Qt)}),Ce(Nr,function(Qt){var Rn=Di(Qt)===95?1:0;if(Rn){1-u9(Qt)&&Zh(Qt,12);var ca=[0,ys(0,function(Pr){var On=gs(Pr);ia(Pr,95);for(var mn=0,He=0;;){var At=ys(0,function(Es){return function(Fe){var Lt=x(Fe),ln=l(ix,Fe),tn=ln[2],Ri=Di(Fe),Ji=0;if(typeof Ri==\"number\"&&Ri===79){uf(Fe);var Na=[0,l(n,Fe)],Do=1;Ji=1}return Ji||(Es&&Bl(Fe,[0,ln[1],77]),Na=0,Do=Es),[0,Lt,tn[1],tn[2],Na,Do]}}(mn),Pr),tr=At[2],Rr=[0,[0,At[1],[0,tr[2],tr[3],tr[1],tr[4]]],He],$n=Di(Pr),$r=0;if(typeof $n==\"number\"){var Ga=0;if($n!==96&&ef!==$n&&(Ga=1),!Ga){var Xa=yd(Rr);$r=1}}if(!$r){if(ia(Pr,9),Di(Pr)!==96){mn=tr[5],He=Rr;continue}Xa=yd(Rr)}var ls=gs(Pr);return ia(Pr,96),[0,Xa,X9([0,On],[0,t2(Pr)],ls)]}},Qt)]}else ca=Rn;return ca}),Ce(Mx,function(Qt){var Rn=Di(Qt)===95?1:0;return Rn&&[0,ys(0,function(ca){var Pr=gs(ca);ia(ca,95);for(var On=Hz(0,ca),mn=0;;){var He=Di(On);if(typeof He==\"number\"){var At=0;if(He!==96&&ef!==He||(At=1),At){var tr=yd(mn),Rr=gs(On);return ia(On,96),[0,tr,X9([0,Pr],[0,t2(On)],Rr)]}}var $n=[0,l(n,On),mn];Di(On)!==96&&ia(On,9),mn=$n}},Qt)]}),Ce(ko,function(Qt){return z(iu,Qt,l(Tn,Qt))}),Ce(iu,function(Qt,Rn){return ys([0,Rn[1]],function(ca){for(var Pr=[0,Rn[1],[0,Rn]];;){var On=Pr[2],mn=Pr[1];if(Di(ca)!==10||!B20(1,ca)){if(Di(ca)===95)var He=z(Jk(ca)[2],On,function(Rr,$n){return z(rh(Rr,-860373976,75),Rr,$n)});else He=On;return[0,He,l(Mx,ca),0]}var At=ys([0,mn],function(Rr){return function($n){return ia($n,10),[0,Rr,l(Tn,$n)]}}(On),ca),tr=At[1];Pr=[0,tr,[1,[0,tr,At[2]]]]}},Qt)}),Ce(Mi,function(Qt,Rn){var ca=z(iu,Qt,Rn);return[0,ca[1],[16,ca[2]]]}),Ce(Bc,function(Qt){var Rn=Di(Qt);return typeof Rn==\"number\"&&Rn===83?[1,l(m,Qt)]:[0,VK(Qt)]}),Ce(ku,function(Qt,Rn,ca){var Pr=Qt[2];function On(Pd){return NP(Pd,ns([0,Rn],[0,ca]))}switch(Pr[0]){case 0:var mn=[0,On(Pr[1])];break;case 1:mn=[1,On(Pr[1])];break;case 2:mn=[2,On(Pr[1])];break;case 3:mn=[3,On(Pr[1])];break;case 4:mn=[4,On(Pr[1])];break;case 5:mn=[5,On(Pr[1])];break;case 6:mn=[6,On(Pr[1])];break;case 7:mn=[7,On(Pr[1])];break;case 8:mn=[8,On(Pr[1])];break;case 9:mn=[9,On(Pr[1])];break;case 10:mn=[10,On(Pr[1])];break;case 11:var He=Pr[1],At=On(He[2]);mn=[11,[0,He[1],At]];break;case 12:var tr=Pr[1],Rr=On(tr[4]);mn=[12,[0,tr[1],tr[2],tr[3],Rr]];break;case 13:var $n=Pr[1],$r=ns([0,Rn],[0,ca]),Ga=Mt0($n[4],$r);mn=[13,[0,$n[1],$n[2],$n[3],Ga]];break;case 14:var Xa=Pr[1],ls=On(Xa[3]);mn=[14,[0,Xa[1],Xa[2],ls]];break;case 15:var Es=Pr[1],Fe=On(Es[2]);mn=[15,[0,Es[1],Fe]];break;case 16:var Lt=Pr[1],ln=On(Lt[3]);mn=[16,[0,Lt[1],Lt[2],ln]];break;case 17:var tn=Pr[1],Ri=On(tn[3]);mn=[17,[0,tn[1],tn[2],Ri]];break;case 18:var Ji=Pr[1],Na=Ji[1],Do=Ji[2],No=On(Na[3]);mn=[18,[0,[0,Na[1],Na[2],No],Do]];break;case 19:var tu=Pr[1],Vs=On(tu[2]);mn=[19,[0,tu[1],Vs]];break;case 20:var As=Pr[1],vu=On(As[2]);mn=[20,[0,As[1],vu]];break;case 21:var Wu=Pr[1],L1=On(Wu[3]);mn=[21,[0,Wu[1],Wu[2],L1]];break;case 22:var hu=Pr[1],Qu=On(hu[2]);mn=[22,[0,hu[1],Qu]];break;case 23:var pc=Pr[1],il=On(pc[3]);mn=[23,[0,pc[1],pc[2],il]];break;case 24:var Zu=Pr[1],fu=On(Zu[3]);mn=[24,[0,Zu[1],Zu[2],fu]];break;case 25:var vl=Pr[1],id=On(vl[3]);mn=[25,[0,vl[1],vl[2],id]];break;default:var _f=Pr[1],sm=On(_f[2]);mn=[26,[0,_f[1],sm]]}return[0,Qt[1],mn]});function du(Qt){var Rn=Hz(0,Qt),ca=Di(Rn);return typeof ca==\"number\"&&ca===66?[0,ys(0,Dl,Rn)]:0}function is(Qt){var Rn=Di(Qt),ca=$4(1,Qt);if(typeof Rn==\"number\"&&Rn===83){if(typeof ca==\"number\"&&ca===66){ia(Qt,83);var Pr=du(Qt);return[0,[0,VK(Qt)],Pr]}var On=l(Bc,Qt);return[0,Di(Qt)===66?Zz(Qt,On):On,du(Qt)]}return[0,[0,VK(Qt)],0]}function Fu(Qt,Rn){var ca=ZV(1,Rn);LP(ca,1);var Pr=l(Qt,ca);return uO(ca),Pr}return[0,function(Qt){return Fu(n,Qt)},function(Qt){return Fu(Tn,Qt)},function(Qt){return Fu(Nr,Qt)},function(Qt){return Fu(Mx,Qt)},function(Qt){return Fu(ko,Qt)},function(Qt,Rn){return Fu(zr(wn,Qt,0,0),Rn)},function(Qt){return Fu(In,Qt)},function(Qt){return Fu(Xt,Qt)},function(Qt){return Fu(m,Qt)},function(Qt){return Fu(Bc,Qt)},function(Qt){return Fu(du,Qt)},function(Qt){return Fu(is,Qt)}]}(Lp),gF=function(i){var x=[0,Dcx,or0[1],0];function n(xn){var vt=Di(xn);if(typeof vt==\"number\"){var Xt=0;if(8<=vt?10<=vt||(Xt=1):vt===1&&(Xt=1),Xt)return 1}return 0}function m(xn){var vt=$M(xn),Xt=Di(xn),Me=0;if(typeof Xt==\"number\"){var Ke=0;if(Xt===79?ia(xn,79):Xt===83?(Zh(xn,[5,vt[2][1]]),ia(xn,83)):Ke=1,!Ke){var ct=Ng(xn),sr=gs(xn),kr=Di(xn),wn=0;if(typeof kr==\"number\")switch(kr){case 30:case 31:uf(xn);var In=t2(xn),Tn=n(xn)?[1,ct,[0,kr===31?1:0,ns([0,sr],[0,In])]]:[0,ct];break;default:wn=1}else switch(kr[0]){case 0:var ix=kr[2],Nr=zr(Lp[24],xn,kr[1],ix),Mx=t2(xn);Tn=n(xn)?[2,ct,[0,Nr,ix,ns([0,sr],[0,Mx])]]:[0,ct];break;case 2:var ko=kr[1],iu=ko[1];ko[4]&&kL(xn,44),uf(xn);var Mi=t2(xn);if(n(xn))var Bc=ns([0,sr],[0,Mi]),ku=[3,iu,[0,ko[2],ko[3],Bc]];else ku=[0,iu];Tn=ku;break;default:wn=1}wn&&(uf(xn),Tn=[0,ct]);var Kx=Tn;Me=1}}return Me||(Kx=0),[0,vt,Kx]}function L(xn){var vt=gs(xn);ia(xn,48);var Xt=z(Lp[13],0,xn),Me=Xt[2][1],Ke=Xt[1];return[16,[0,Xt,ys(0,function(ct){var sr=BP(ct,63);if(sr){LP(ct,1);var kr=Di(ct),wn=0;if(typeof kr==\"number\")switch(kr){case 114:var In=mcx;break;case 116:In=hcx;break;case 118:In=gcx;break;default:wn=1}else switch(kr[0]){case 4:Zh(ct,[4,Me,[0,kr[2]]]),In=0;break;case 9:kr[1]===0?wn=1:In=_cx;break;default:wn=1}wn&&(Zh(ct,[4,Me,0]),In=0),uf(ct),uO(ct);var Tn=In}else Tn=sr;var ix=Tn!==0?1:0,Nr=ix&&gs(ct);ia(ct,0);for(var Mx=x;;){var ko=Di(ct);if(typeof ko==\"number\"){var iu=ko-2|0;if(X<iu>>>0){if(!(Vk<(iu+1|0)>>>0)){var Mi=Mx[3],Bc=yd(Mx[1][4]),ku=yd(Mx[1][3]),Kx=yd(Mx[1][2]),ic=yd(Mx[1][1]);ia(ct,1);var Br=Di(ct),Dt=0;if(typeof Br==\"number\"){var Li=0;if(Br!==1&&ef!==Br&&(Dt=1,Li=1),!Li)var Dl=t2(ct)}else Dt=1;if(Dt){var du=OP(ct);Dl=du&&e$(ct)}var is=ns([0,Nr],[0,Dl]);if(Tn)switch(Tn[1]){case 0:return[0,[0,ic,1,Mi,is]];case 1:return[1,[0,Kx,1,Mi,is]];case 2:var Fu=1;break;default:return[3,[0,Bc,Mi,is]]}else{var Qt=Dj(ic),Rn=Dj(Kx),ca=Dj(ku),Pr=Dj(Bc),On=0;if(Qt===0&&Rn===0){var mn=0;ca===0&&Pr===0&&(On=1,mn=1),!mn&&(Fu=0,On=2)}var He=0;switch(On){case 0:if(Rn===0&&ca===0&&Pr<=Qt)return H9(function(A2){return Bl(ct,[0,A2[1],[1,Me,A2[2][1][2][1]]])},Bc),[0,[0,ic,0,Mi,is]];if(Qt===0&&ca===0&&Pr<=Rn)return H9(function(A2){return Bl(ct,[0,A2[1],[9,Me,A2[2][1][2][1]]])},Bc),[1,[0,Kx,0,Mi,is]];Bl(ct,[0,Ke,[3,Me]]);break;case 1:break;default:He=1}if(!He)return[2,[0,ycx,0,Mi,is]]}var At=Dj(ku),tr=Dj(Bc);if(At!==0){var Rr=0;if(tr!==0&&(At<tr?(H9(function(A2){return Bl(ct,[0,A2[1],[10,Me]])},ku),Rr=1):H9(function(A2){return Bl(ct,[0,A2[1],[10,Me]])},Bc)),!Rr)return[2,[0,[1,ku],Fu,Mi,is]]}return[2,[0,[0,Bc],Fu,Mi,is]]}}else if(iu===10){var $n=Ng(ct);uf(ct);var $r=Di(ct),Ga=0;if(typeof $r==\"number\"){var Xa=$r-2|0,ls=0;if(X<Xa>>>0)Vk<(Xa+1|0)>>>0&&(ls=1);else if(Xa===7){ia(ct,9);var Es=Di(ct),Fe=0;if(typeof Es==\"number\"){var Lt=0;if(Es!==1&&ef!==Es&&(Lt=1),!Lt){var ln=1;Fe=1}}Fe||(ln=0),Bl(ct,[0,$n,[8,ln]])}else ls=1;ls||(Ga=1)}Ga||Bl(ct,[0,$n,pcx]),Mx=[0,Mx[1],Mx[2],1];continue}}var tn=Mx[2],Ri=Mx[1],Ji=ys(0,m,ct),Na=Ji[2],Do=Na[1],No=Do[2][1];if(Da(No,dcx))var tu=Mx;else{var Vs=Do[1],As=Na[2],vu=Ji[1],Wu=fr(No,0),L1=97<=Wu?1:0;L1&&(Wu<=$u?1:0)&&Bl(ct,[0,Vs,[7,Me,No]]),z(or0[3],No,tn)&&Bl(ct,[0,Vs,[2,Me,No]]);var hu=Mx[3],Qu=z(or0[4],No,tn),pc=[0,Mx[1],Qu,hu],il=function(A2){return function(s_,Db){return Tn&&Tn[1]!==s_?Bl(ct,[0,Db,[6,Me,Tn,A2]]):0}}(No);if(typeof As==\"number\"){var Zu=0;if(Tn){var fu=Tn[1],vl=0;if(fu===1?Bl(ct,[0,vu,[9,Me,No]]):fu===0?Bl(ct,[0,vu,[1,Me,No]]):(Zu=1,vl=1),!vl)var id=pc}else Zu=1;Zu&&(id=[0,[0,Ri[1],Ri[2],Ri[3],[0,[0,vu,[0,Do]],Ri[4]]],Qu,hu])}else switch(As[0]){case 0:Bl(ct,[0,As[1],[6,Me,Tn,No]]),id=pc;break;case 1:var _f=As[1];il(0,_f),id=[0,[0,[0,[0,vu,[0,Do,[0,_f,As[2]]]],Ri[1]],Ri[2],Ri[3],Ri[4]],Qu,hu];break;case 2:var sm=As[1];il(1,sm),id=[0,[0,Ri[1],[0,[0,vu,[0,Do,[0,sm,As[2]]]],Ri[2]],Ri[3],Ri[4]],Qu,hu];break;default:var Pd=As[1];il(2,Pd),id=[0,[0,Ri[1],Ri[2],[0,[0,vu,[0,Do,[0,Pd,As[2]]]],Ri[3]],Ri[4]],Qu,hu]}tu=id}var tc=Di(ct),YC=0;if(typeof tc==\"number\"){var km=tc-2|0,lC=0;X<km>>>0?Vk<(km+1|0)>>>0&&(lC=1):km===6?(Zh(ct,1),ia(ct,8)):lC=1,lC||(YC=1)}YC||ia(ct,9),Mx=tu}},xn),ns([0,vt],0)]]}function v(xn,vt){var Xt=vt[2][1],Me=vt[1],Ke=xn[1];return x$(Xt)&&sO(Ke,[0,Me,41]),(KY(Xt)||Xz(Xt))&&sO(Ke,[0,Me,53]),[0,Ke,xn[2]]}function a0(xn,vt){var Xt=vt[2];switch(Xt[0]){case 0:return U2(O1,xn,Xt[1][1]);case 1:return U2(dx,xn,Xt[1][1]);case 2:var Me=Xt[1][1],Ke=Me[2][1],ct=xn[2],sr=xn[1];z(sr0[3],Ke,ct)&&Bl(sr,[0,Me[1],42]);var kr=v([0,sr,ct],Me),wn=z(sr0[4],Ke,kr[2]);return[0,kr[1],wn];default:return Bl(xn[1],[0,vt[1],31]),xn}}function O1(xn,vt){if(vt[0]===0){var Xt=vt[1][2],Me=Xt[1];return a0(Me[0]===1?v(xn,Me[1]):xn,Xt[2])}return a0(xn,vt[1][2][1])}function dx(xn,vt){return vt[0]===2?xn:a0(xn,vt[1][2][1])}function ie(xn,vt,Xt,Me,Ke){var ct=vt||1-Xt;if(ct){var sr=Ke[2],kr=sr[3],wn=vt?ZV(1-xn[6],xn):xn;if(Me){var In=Me[1],Tn=In[2][1],ix=In[1];x$(Tn)&&sO(wn,[0,ix,43]),(KY(Tn)||Xz(Tn))&&sO(wn,[0,ix,53])}var Nr=sr[2],Mx=U2(function(iu,Mi){return a0(iu,Mi[2][1])},[0,wn,sr0[1]],Nr),ko=kr&&(a0(Mx,kr[1][2][1]),0)}else ko=ct;return ko}var Ie=function xn(vt,Xt){return xn.fun(vt,Xt)};function Ot(xn){Di(xn)===21&&Zh(xn,Y1);var vt=z(Lp[18],xn,41),Xt=Di(xn)===79?1:0;return[0,vt,Xt&&(ia(xn,79),[0,l(Lp[10],xn)])]}function Or(xn,vt){function Xt(Me){var Ke=Xt0(vt,E20(xn,Me)),ct=[0,Ke[1],Ke[2],Ke[3],Ke[4],Ke[5],Ke[6],Ke[7],Ke[8],Ke[9],1,Ke[11],Ke[12],Ke[13],Ke[14],Ke[15],Ke[16],Ke[17],Ke[18],Ke[19],Ke[20],Ke[21],Ke[22],Ke[23],Ke[24],Ke[25],Ke[26],Ke[27],Ke[28],Ke[29]],sr=gs(ct);ia(ct,4);var kr=u9(ct),wn=kr&&(Di(ct)===21?1:0);if(wn){var In=gs(ct),Tn=ys(0,function(ku){return ia(ku,21),Di(ku)===83?[0,l(i[9],ku)]:(Zh(ku,dN),0)},ct),ix=Tn[2];if(ix){Di(ct)===9&&uf(ct);var Nr=ns([0,In],0),Mx=[0,[0,Tn[1],[0,ix[1],Nr]]]}else Mx=ix;var ko=Mx}else ko=wn;var iu=z(Ie,ct,0),Mi=gs(ct);ia(ct,5);var Bc=X9([0,sr],[0,t2(ct)],Mi);return[0,ko,iu[1],iu[2],Bc]}return function(Me){return ys(0,Xt,Me)}}function Cr(xn,vt,Xt,Me){var Ke=w20(xn,vt,Xt),ct=z(Lp[16],Me,Ke);return[0,[0,[0,ct[1],ct[2]]],ct[3]]}function ni(xn){if(NT===Di(xn)){var vt=gs(xn);return uf(xn),[0,1,vt]}return Wcx}function Jn(xn){if(Di(xn)===64&&!eJ(1,xn)){var vt=gs(xn);return uf(xn),[0,1,vt]}return zcx}function Vn(xn){var vt=xn[2],Xt=vt[3]===0?1:0;if(Xt)for(var Me=vt[2];;){if(Me){var Ke=Me[1][2],ct=0,sr=Me[2];if(Ke[1][2][0]===2&&!Ke[2]){var kr=1;ct=1}if(ct||(kr=0),kr){Me=sr;continue}return kr}return 1}return Xt}function zn(xn){var vt=Jn(xn),Xt=vt[1],Me=vt[2],Ke=ys(0,function(Mx){var ko=gs(Mx);ia(Mx,15);var iu=ni(Mx),Mi=iu[1],Bc=mq([0,Me,[0,ko,[0,iu[2],0]]]),ku=Mx[7],Kx=Di(Mx),ic=0;if(ku!==0&&typeof Kx==\"number\")if(Kx===4){var Br=0,Dt=0;ic=1}else Kx===95&&(Br=oB(Mx,l(i[3],Mx)),Dt=Di(Mx)===4?0:[0,zU(Mx,z(Lp[13],$cx,Mx))],ic=1);if(!ic){var Li=zU(Mx,z(Lp[13],Kcx,Mx));Br=oB(Mx,l(i[3],Mx)),Dt=[0,Li]}var Dl=l(Or(Xt,Mi),Mx),du=Di(Mx)===83?Dl:iJ(Mx,Dl),is=l(i[12],Mx),Fu=is[2],Qt=is[1];if(Fu)var Rn=Qt,ca=j20(Mx,Fu);else Rn=Zz(Mx,Qt),ca=Fu;return[0,Mi,Br,Dt,du,Rn,ca,Bc]},xn),ct=Ke[2],sr=ct[4],kr=ct[3],wn=ct[1],In=Cr(xn,Xt,wn,0),Tn=Vn(sr);ie(xn,In[2],Tn,kr,sr);var ix=Ke[1],Nr=ns([0,ct[7]],0);return[23,[0,kr,sr,In[1],Xt,wn,ct[6],ct[5],ct[2],Nr,ix]]}Ce(Ie,function(xn,vt){var Xt=Di(xn);if(typeof Xt==\"number\"){var Me=Xt-5|0,Ke=0;if(7<Me>>>0?dN===Me&&(Ke=1):5<(Me-1|0)>>>0&&(Ke=1),Ke){var ct=Xt===12?1:0;if(ct)var sr=gs(xn),kr=ys(0,function(ix){return ia(ix,12),z(Lp[18],ix,41)},xn),wn=ns([0,sr],0),In=[0,[0,kr[1],[0,kr[2],wn]]];else In=ct;return Di(xn)!==5&&Zh(xn,62),[0,yd(vt),In]}}var Tn=ys(0,Ot,xn);return Di(xn)!==5&&ia(xn,9),z(Ie,xn,[0,Tn,vt])});function Oi(xn,vt){var Xt=gs(vt);ia(vt,xn);for(var Me=0,Ke=0;;){var ct=ys(0,function(ix){var Nr=z(Lp[18],ix,40);if(BP(ix,79))var Mx=[0,l(Lp[10],ix)],ko=0;else Nr[2][0]===2?(Mx=Jc[1],ko=Jc[2]):(Mx=0,ko=[0,[0,Nr[1],57]]);return[0,[0,Nr,Mx],ko]},vt),sr=ct[2],kr=sr[2],wn=[0,[0,ct[1],sr[1]],Me],In=kr?[0,kr[1],Ke]:Ke;if(!BP(vt,9)){var Tn=yd(In);return[0,yd(wn),Xt,Tn]}Me=wn,Ke=In}}return[0,Jn,ni,function(xn,vt,Xt){var Me=Ng(xn),Ke=Di(xn),ct=0;if(typeof Ke==\"number\")if(Yw===Ke){var sr=gs(xn);uf(xn);var kr=[0,[0,Me,[0,0,ns([0,sr],0)]]]}else if(Uk===Ke){var wn=gs(xn);uf(xn),kr=[0,[0,Me,[0,1,ns([0,wn],0)]]]}else ct=1;else ct=1;if(ct&&(kr=0),kr){var In=0;if(vt||Xt||(In=1),!In)return Bl(xn,[0,kr[1][1],7]),0}return kr},Or,Cr,Vn,ie,function(xn){return Oi(28,VY(1,xn))},function(xn){var vt=Oi(27,VY(1,xn)),Xt=vt[1],Me=yd(U2(function(Ke,ct){return ct[2][2]?Ke:[0,[0,ct[1],56],Ke]},vt[3],Xt));return[0,Xt,vt[2],Me]},function(xn){return Oi(24,xn)},function(xn){return ys(0,zn,xn)},function(xn){return ys(0,L,xn)}]}(Z6),GY=function(i){return[0,function(x,n){return n[0]===0||H9(function(m){return Bl(x,m)},n[2][1]),n[1]},function(x,n,m){var L=x?x[1]:26;if(m[0]===0)var v=m[1];else H9(function(O1){return Bl(n,O1)},m[2][2]),v=m[1];1-l(i[23],v)&&Bl(n,[0,v[1],L]);var a0=v[2];return a0[0]===10&&x$(a0[1][2][1])&&sO(n,[0,v[1],50]),z(i[19],n,v)},qcx,function(x,n){var m=vj(x[2],n[2]);return[0,vj(x[1],n[1]),m]},function(x){var n=yd(x[2]);return[0,yd(x[1]),n]}]}(Lp),FI=function(i){var x=i[1],n=function He(At){return He.fun(At)},m=function He(At){return He.fun(At)},L=function He(At){return He.fun(At)},v=function He(At){return He.fun(At)},a0=function He(At){return He.fun(At)},O1=function He(At){return He.fun(At)},dx=function He(At){return He.fun(At)},ie=function He(At){return He.fun(At)},Ie=function He(At){return He.fun(At)},Ot=function He(At){return He.fun(At)},Or=function He(At){return He.fun(At)},Cr=function He(At){return He.fun(At)},ni=function He(At){return He.fun(At)},Jn=function He(At){return He.fun(At)},Vn=function He(At){return He.fun(At)},zn=function He(At){return He.fun(At)},Oi=function He(At){return He.fun(At)},xn=function He(At,tr,Rr,$n,$r){return He.fun(At,tr,Rr,$n,$r)},vt=function He(At,tr,Rr,$n){return He.fun(At,tr,Rr,$n)},Xt=function He(At){return He.fun(At)},Me=function He(At){return He.fun(At)},Ke=function He(At){return He.fun(At)},ct=function He(At,tr,Rr,$n,$r){return He.fun(At,tr,Rr,$n,$r)},sr=function He(At,tr,Rr,$n){return He.fun(At,tr,Rr,$n)},kr=function He(At){return He.fun(At)},wn=function He(At,tr,Rr){return He.fun(At,tr,Rr)},In=function He(At){return He.fun(At)},Tn=function He(At,tr,Rr){return He.fun(At,tr,Rr)},ix=function He(At){return He.fun(At)},Nr=function He(At){return He.fun(At)},Mx=function He(At,tr){return He.fun(At,tr)},ko=function He(At,tr,Rr,$n){return He.fun(At,tr,Rr,$n)},iu=function He(At){return He.fun(At)},Mi=function He(At,tr,Rr){return He.fun(At,tr,Rr)},Bc=function He(At){return He.fun(At)},ku=function He(At){return He.fun(At)},Kx=function He(At){return He.fun(At)},ic=function He(At,tr,Rr){return He.fun(At,tr,Rr)},Br=function He(At){return He.fun(At)},Dt=i[2];function Li(He){var At=Ng(He),tr=l(O1,He),Rr=l(a0,He);if(Rr){var $n=Rr[1];return[0,ys([0,At],function($r){var Ga=zr(Dt,0,$r,tr);return[2,[0,$n,Ga,l(m,$r),0]]},He)]}return tr}function Dl(He,At){if(typeof At==\"number\"){var tr=At!==53?1:0;if(!tr)return tr}throw zK}function du(He){var At=$Y(Dl,He),tr=Li(At),Rr=Di(At);if(typeof Rr==\"number\"&&(Rr===11||Rr===83&&sk(A20(At),Tfx)))throw zK;if(tJ(At)){if(tr[0]===0){var $n=tr[1][2];if($n[0]===10&&!rt($n[1][2][1],wfx)&&!OP(At))throw zK}return tr}return tr}function is(He,At,tr,Rr,$n){return[0,[0,$n,[15,[0,Rr,z(x,He,At),z(x,He,tr),0]]]]}function Fu(He,At,tr,Rr){for(var $n=He,$r=tr,Ga=Rr;;){var Xa=Di(At);if(typeof Xa!=\"number\"||Xa!==81)return[0,Ga,$r];1-At[26][6]&&Zh(At,NT),1-$n&&Zh(At,ffx),ia(At,81);var ls=ys(0,Ie,At),Es=ls[2],Fe=ls[1],Lt=Di(At),ln=0;if(typeof Lt==\"number\"&&!(1<(Lt-84|0)>>>0)){Zh(At,[24,Rt0(Lt)]);var tn=Rn(At,Es,Fe),Ri=Qt(At,tn[2],tn[1]),Ji=Ri[1],Na=Ri[2];ln=1}ln||(Ji=Fe,Na=Es);var Do=gT(Ga,Ji);$n=1,$r=is(At,$r,Na,2,Do),Ga=Do}}function Qt(He,At,tr){for(var Rr=At,$n=tr;;){var $r=Di(He);if(typeof $r!=\"number\"||$r!==84)return[0,$n,Rr];uf(He);var Ga=ys(0,Ie,He),Xa=Rn(He,Ga[2],Ga[1]),ls=gT($n,Xa[1]),Es=Fu(0,He,is(He,Rr,Xa[2],0,ls),ls);Rr=Es[2],$n=Es[1]}}function Rn(He,At,tr){for(var Rr=At,$n=tr;;){var $r=Di(He);if(typeof $r!=\"number\"||$r!==85)return[0,$n,Rr];uf(He);var Ga=ys(0,Ie,He),Xa=gT($n,Ga[1]),ls=Fu(0,He,is(He,Rr,Ga[2],1,Xa),Xa);Rr=ls[2],$n=ls[1]}}function ca(He,At,tr,Rr){return[0,Rr,[3,[0,tr,He,At,0]]]}function Pr(He){var At=gs(He);ia(He,95);for(var tr=0;;){var Rr=Di(He);if(typeof Rr==\"number\"){var $n=0;if(Rr!==96&&ef!==Rr||($n=1),$n){var $r=yd(tr),Ga=gs(He);ia(He,96);var Xa=Di(He)===4?Jk(He)[1]:t2(He);return[0,$r,X9([0,At],[0,Xa],Ga)]}}var ls=Di(He),Es=0;if(typeof ls!=\"number\"&&ls[0]===4&&!rt(ls[2],glx)){var Fe=Ng(He),Lt=gs(He);WY(He,_lx);var ln=[1,[0,Fe,[0,ns([0,Lt],[0,t2(He)])]]];Es=1}Es||(ln=[0,l(Z6[1],He)]);var tn=[0,ln,tr];Di(He)!==96&&ia(He,9),tr=tn}}function On(He){var At=gs(He);return ia(He,12),[0,l(m,He),ns([0,At],0)]}function mn(He,At){if(typeof At==\"number\"){var tr=0;if(59<=At){var Rr=At-62|0;30<Rr>>>0?Rr===48&&(tr=1):28<(Rr-1|0)>>>0&&(tr=1)}else{var $n=At+-42|0;15<$n>>>0?-1<=$n&&(tr=1):$n===11&&(tr=1)}if(tr)return 0}throw zK}return Ce(n,function(He){var At=Di(He),tr=0,Rr=tJ(He);if(typeof At==\"number\"){var $n=0;if(22<=At)if(At===58){if(He[17])return[0,l(L,He)];$n=1}else At!==95&&($n=1);else At===4||21<=At||($n=1);$n||(tr=1)}if(!tr&&Rr===0)return Li(He);var $r=0;if(At===64&&u9(He)&&$4(1,He)===95){var Ga=Kx,Xa=du;$r=1}$r||(Ga=du,Xa=Kx);var ls=ir0(He,Ga);if(ls)return ls[1];var Es=ir0(He,Xa);return Es?Es[1]:Li(He)}),Ce(m,function(He){return z(x,He,l(n,He))}),Ce(L,function(He){return ys(0,function(At){At[10]&&Zh(At,92);var tr=gs(At);if(ia(At,58),Yz(At))var Rr=0,$n=0;else{var $r=BP(At,NT),Ga=Di(At),Xa=0;if(typeof Ga==\"number\"){var ls=0;if(Ga!==83)if(10<=Ga)ls=1;else switch(Ga){case 0:case 2:case 3:case 4:case 6:ls=1}if(!ls){var Es=0;Xa=1}}Xa||(Es=1);var Fe=$r||Es;Rr=Fe&&[0,l(m,At)],$n=$r}var Lt=Rr?0:t2(At);return[30,[0,Rr,ns([0,tr],[0,Lt]),$n]]},He)}),Ce(v,function(He){var At=He[2];switch(At[0]){case 17:var tr=At[1];if(!rt(tr[1][2][1],Ffx)){var Rr=rt(tr[2][2][1],Afx);if(!Rr)return Rr}break;case 10:case 16:break;default:return 0}return 1}),Ce(a0,function(He){var At=Di(He),tr=0;if(typeof At==\"number\"){var Rr=At-67|0;if(!(12<Rr>>>0)){switch(Rr){case 0:var $n=pfx;break;case 1:$n=dfx;break;case 2:$n=mfx;break;case 3:$n=hfx;break;case 4:$n=gfx;break;case 5:$n=_fx;break;case 6:$n=yfx;break;case 7:$n=Dfx;break;case 8:$n=vfx;break;case 9:$n=bfx;break;case 10:$n=Cfx;break;case 11:$n=Efx;break;default:$n=Sfx}var $r=$n;tr=1}}return tr||($r=0),$r!==0&&uf(He),$r}),Ce(O1,function(He){var At=Ng(He),tr=l(ie,He);if(Di(He)===82){uf(He);var Rr=l(m,Zq(0,He));ia(He,83);var $n=ys(0,m,He),$r=gT(At,$n[1]),Ga=$n[2];return[0,[0,$r,[7,[0,z(x,He,tr),Rr,Ga,0]]]]}return tr}),Ce(dx,function(He){return z(x,He,l(O1,He))}),Ce(ie,function(He){var At=ys(0,Ie,He),tr=At[2],Rr=At[1],$n=Di(He),$r=0;if(typeof $n==\"number\"&&$n===81){var Ga=Fu(1,He,tr,Rr);$r=1}if(!$r){var Xa=Rn(He,tr,Rr);Ga=Qt(He,Xa[2],Xa[1])}return Ga[2]}),Ce(Ie,function(He){var At=0;x:for(;;){var tr=ys(0,function(id){return[0,l(Ot,id)!==0?1:0,l(Or,Zq(0,id))]},He),Rr=tr[2],$n=Rr[2],$r=tr[1];Di(He)===95&&$n[0]===0&&$n[1][2][0]===12&&Zh(He,61);var Ga=Di(He),Xa=0;if(typeof Ga==\"number\"){var ls=Ga-17|0,Es=0;if(1<ls>>>0)if(69<=ls)switch(ls-69|0){case 0:var Fe=zlx;break;case 1:Fe=Wlx;break;case 2:Fe=qlx;break;case 3:Fe=Jlx;break;case 4:Fe=Hlx;break;case 5:Fe=Glx;break;case 6:Fe=Xlx;break;case 7:Fe=Ylx;break;case 8:Fe=Qlx;break;case 9:Fe=Zlx;break;case 10:Fe=xfx;break;case 11:Fe=efx;break;case 12:Fe=tfx;break;case 13:Fe=rfx;break;case 14:Fe=nfx;break;case 15:Fe=ifx;break;case 16:Fe=afx;break;case 17:Fe=ofx;break;case 18:Fe=sfx;break;case 19:Fe=ufx;break;default:Es=1}else Es=1;else Fe=ls===0?He[12]?0:lfx:cfx;if(!Es){var Lt=Fe;Xa=1}}if(Xa||(Lt=0),Lt!==0&&uf(He),!At&&!Lt)return $n;if(Lt){var ln=Lt[1],tn=ln[1],Ri=Rr[1];Ri&&(tn===14?1:0)&&Bl(He,[0,$r,27]);for(var Ji=z(x,He,$n),Na=[0,tn,ln[2]],Do=$r,No=At;;){var tu=Na[2],Vs=Na[1];if(No){var As=No[1],vu=As[2],Wu=vu[2],L1=Wu[0]===0?Wu[1]:Wu[1]-1|0;if(tu[1]<=L1){var hu=gT(As[3],Do);Ji=ca(As[1],Ji,vu[1],hu),Na=[0,Vs,tu],Do=hu,No=No[2];continue}}At=[0,[0,Ji,[0,Vs,tu],Do],No];continue x}}for(var Qu=z(x,He,$n),pc=$r,il=At;;){if(!il)return[0,Qu];var Zu=il[1],fu=gT(Zu[3],pc),vl=il[2];Qu=ca(Zu[1],Qu,Zu[2][1],fu),pc=fu,il=vl}}}),Ce(Ot,function(He){var At=Di(He);if(typeof At==\"number\"){if(48<=At){if(Yw<=At){if(!(Lk<=At))switch(At-100|0){case 0:return Llx;case 1:return Mlx;case 6:return Rlx;case 7:return jlx}}else if(At===65&&He[18])return Ulx}else if(45<=At)switch(At+Fr|0){case 0:return Vlx;case 1:return $lx;default:return Klx}}return 0}),Ce(Or,function(He){var At=Ng(He),tr=gs(He),Rr=l(Ot,He);if(Rr){var $n=Rr[1];uf(He);var $r=ys(0,Cr,He),Ga=$r[2],Xa=gT(At,$r[1]);if($n===6){var ls=Ga[2];switch(ls[0]){case 10:sO(He,[0,Xa,46]);break;case 16:ls[1][2][0]===1&&Bl(He,[0,Xa,89])}}return[0,[0,Xa,[28,[0,$n,Ga,ns([0,tr],0)]]]]}var Es=Di(He),Fe=0;if(typeof Es==\"number\")if(Lk===Es)var Lt=Blx;else Vk===Es?Lt=Olx:Fe=1;else Fe=1;if(Fe&&(Lt=0),Lt){uf(He);var ln=ys(0,Cr,He),tn=ln[2];1-l(v,tn)&&Bl(He,[0,tn[1],26]);var Ri=tn[2];Ri[0]===10&&x$(Ri[1][2][1])&&kL(He,52);var Ji=gT(At,ln[1]),Na=ns([0,tr],0);return[0,[0,Ji,[29,[0,Lt[1],tn,1,Na]]]]}return l(ni,He)}),Ce(Cr,function(He){return z(x,He,l(Or,He))}),Ce(ni,function(He){var At=l(Jn,He);if(OP(He))return At;var tr=Di(He),Rr=0;if(typeof tr==\"number\")if(Lk===tr)var $n=Ilx;else Vk===tr?$n=Plx:Rr=1;else Rr=1;if(Rr&&($n=0),$n){var $r=z(x,He,At);1-l(v,$r)&&Bl(He,[0,$r[1],26]);var Ga=$r[2];Ga[0]===10&&x$(Ga[1][2][1])&&kL(He,51);var Xa=Ng(He);uf(He);var ls=t2(He),Es=gT($r[1],Xa),Fe=ns(0,[0,ls]);return[0,[0,Es,[29,[0,$n[1],$r,0,Fe]]]]}return At}),Ce(Jn,function(He){var At=Ng(He),tr=[0,He[1],He[2],He[3],He[4],He[5],He[6],He[7],He[8],He[9],He[10],He[11],He[12],He[13],He[14],He[15],0,He[17],He[18],He[19],He[20],He[21],He[22],He[23],He[24],He[25],He[26],He[27],He[28],He[29]],Rr=1-He[16],$n=Di(tr),$r=0;if(typeof $n==\"number\"){var Ga=$n-44|0;if(!(7<Ga>>>0)){var Xa=0;switch(Ga){case 0:if(Rr)var ls=[0,l(Xt,tr)];else Xa=1;break;case 6:ls=[0,l(Oi,tr)];break;case 7:ls=[0,l(zn,tr)];break;default:Xa=1}if(!Xa){var Es=ls;$r=1}}}return $r||(Es=$K(tr)?[0,l(kr,tr)]:l(ix,tr)),Oo(xn,0,0,tr,At,Es)}),Ce(Vn,function(He){return z(x,He,l(Jn,He))}),Ce(zn,function(He){switch(He[20]){case 0:var At=Elx;break;case 1:At=Slx;break;default:At=Flx}var tr=At[1],Rr=Ng(He),$n=gs(He);ia(He,51);var $r=[0,Rr,[23,[0,ns([0,$n],[0,t2(He)])]]],Ga=Di(He);if(typeof Ga==\"number\"&&!(11<=Ga))switch(Ga){case 4:var Xa=At[2]?$r:(Bl(He,[0,Rr,5]),[0,Rr,[10,jM(0,[0,Rr,Alx])]]);return re(vt,Tlx,He,Rr,Xa);case 6:case 10:var ls=tr?$r:(Bl(He,[0,Rr,4]),[0,Rr,[10,jM(0,[0,Rr,klx])]]);return re(vt,Nlx,He,Rr,ls)}return tr?Bw(wlx,He):Bl(He,[0,Rr,4]),$r}),Ce(Oi,function(He){return ys(0,function(At){var tr=gs(At);ia(At,50);var Rr=gs(At);ia(At,4);var $n=zr(Mi,[0,Rr],0,l(m,Zq(0,At)));return ia(At,5),[11,[0,$n,ns([0,tr],[0,t2(At)])]]},He)}),Ce(xn,function(He,At,tr,Rr,$n){var $r=He?He[1]:1,Ga=At&&At[1],Xa=Oo(ct,[0,$r],[0,Ga],tr,Rr,$n),ls=sk(A20(tr),Clx);function Es(tn){var Ri=Jk(tn),Ji=z(x,tn,Xa);return z(Ri[2],Ji,function(Na,Do){return z(rh(Na,YP,76),Na,Do)})}function Fe(tn,Ri,Ji){var Na=l(Ke,Ri),Do=Na[1],No=gT(Rr,Do),tu=[0,Ji,tn,[0,Do,Na[2]],0],Vs=0;if(!ls&&!Ga){var As=[4,tu];Vs=1}return Vs||(As=[20,[0,tu,ls]]),Oo(xn,[0,$r],[0,Ga||ls],Ri,Rr,[0,[0,No,As]])}if(tr[13])return Xa;var Lt=Di(tr);if(typeof Lt==\"number\"){if(Lt===4)return Fe(0,tr,Es(tr));if(Lt===95&&u9(tr)){var ln=$Y(function(tn,Ri){throw zK},tr);return M20(ln,Xa,function(tn){var Ri=Es(tn);return Fe(l(Me,tn),tn,Ri)})}}return Xa}),Ce(vt,function(He,At,tr,Rr){var $n=He?He[1]:1;return z(x,At,Oo(xn,[0,$n],0,At,tr,[0,Rr]))}),Ce(Xt,function(He){return ys(0,function(At){var tr=Ng(At),Rr=gs(At);if(ia(At,44),At[11]&&Di(At)===10){var $n=t2(At);uf(At);var $r=jM(ns([0,Rr],[0,$n]),[0,tr,ylx]),Ga=Di(At);return typeof Ga==\"number\"||Ga[0]!==4||rt(Ga[3],Dlx)?(Bw(vlx,At),uf(At),[10,$r]):[17,[0,$r,z(Lp[13],0,At),0]]}var Xa=Ng(At),ls=Di(At),Es=0;if(typeof ls==\"number\")if(ls===44)var Fe=l(Xt,At);else ls===51?Fe=l(zn,Yt0(1,At)):Es=1;else Es=1;Es&&(Fe=$K(At)?l(kr,At):l(Nr,At));var Lt=re(sr,blx,Yt0(1,At),Xa,Fe),ln=Di(At),tn=0;if(typeof ln!=\"number\"&&ln[0]===3){var Ri=re(ko,At,Xa,Lt,ln[1]);tn=1}tn||(Ri=Lt);var Ji=0;if(Di(At)!==4){var Na=0;if(u9(At)&&Di(At)===95&&(Na=1),!Na){var Do=Ri;Ji=1}}Ji||(Do=z(Jk(At)[2],Ri,function(Wu,L1){return z(rh(Wu,YP,77),Wu,L1)}));var No=u9(At),tu=No&&M20($Y(function(Wu,L1){throw zK},At),0,Me),Vs=Di(At),As=0;if(typeof Vs==\"number\"&&Vs===4){var vu=[0,l(Ke,At)];As=1}return As||(vu=0),[18,[0,Do,tu,vu,ns([0,Rr],0)]]},He)}),Ce(Me,function(He){var At=Di(He)===95?1:0;return At&&[0,ys(0,Pr,He)]}),Ce(Ke,function(He){return ys(0,function(At){var tr=gs(At);ia(At,4);for(var Rr=0;;){var $n=Di(At);if(typeof $n==\"number\"){var $r=0;if($n!==5&&ef!==$n||($r=1),$r){var Ga=yd(Rr),Xa=gs(At);return ia(At,5),[0,Ga,X9([0,tr],[0,t2(At)],Xa)]}}var ls=Di(At),Es=0;if(typeof ls==\"number\"&&ls===12){var Fe=[1,ys(0,On,At)];Es=1}Es||(Fe=[0,l(m,At)]);var Lt=[0,Fe,Rr];Di(At)!==5&&ia(At,9),Rr=Lt}},He)}),Ce(ct,function(He,At,tr,Rr,$n){var $r=He?He[1]:1,Ga=At&&At[1],Xa=tr[26],ls=Di(tr),Es=0;if(typeof ls==\"number\")switch(ls){case 6:uf(tr);var Fe=0,Lt=[0,Ga],ln=[0,$r];Es=2;break;case 10:uf(tr);var tn=0,Ri=[0,Ga],Ji=[0,$r];Es=1;break;case 80:1-Xa[7]&&Zh(tr,Yw),1-$r&&Zh(tr,Uk),ia(tr,80);var Na=0,Do=Di(tr);if(typeof Do==\"number\")switch(Do){case 4:return $n;case 6:uf(tr),Fe=flx,Lt=plx,ln=[0,$r],Es=2,Na=1;break;case 95:if(u9(tr))return $n}else if(Do[0]===3)return Zh(tr,F4),$n;Na||(tn=dlx,Ri=mlx,Ji=[0,$r],Es=1)}else if(ls[0]===3){Ga&&Zh(tr,F4);var No=ls[1];return Oo(xn,hlx,0,tr,Rr,[0,re(ko,tr,Rr,z(x,tr,$n),No)])}switch(Es){case 0:return $n;case 1:var tu=Ji?$r:1,Vs=Ri&&Ri[1],As=tn&&tn[1],vu=l(Br,tr),Wu=vu[3],L1=vu[2],hu=vu[1];if(Wu){var Qu=Ld0(L1),pc=tr[28][1];if(pc){var il=pc[1];tr[28][1]=[0,[0,il[1],[0,[0,Qu,hu],il[2]]],pc[2]]}else Bl(tr,[0,hu,90])}var Zu=gT(Rr,hu),fu=Wu?[1,[0,hu,[0,L1,ns([0,vu[4]],0)]]]:[0,L1];$n[0]===0&&$n[1][2][0]===23&&Wu&&Bl(tr,[0,Zu,91]);var vl=[0,z(x,tr,$n),fu,0];return Oo(xn,[0,tu],[0,Vs],tr,Rr,[0,[0,Zu,Vs?[21,[0,vl,As]]:[16,vl]]]);default:var id=ln?$r:1,_f=Lt&&Lt[1],sm=Fe&&Fe[1],Pd=Yt0(0,tr),tc=l(Lp[7],Pd),YC=Ng(tr);ia(tr,7);var km=t2(tr),lC=gT(Rr,YC),A2=ns(0,[0,km]),s_=[0,z(x,tr,$n),[2,tc],A2];return Oo(xn,[0,id],[0,_f],tr,Rr,[0,[0,lC,_f?[21,[0,s_,sm]]:[16,s_]]])}}),Ce(sr,function(He,At,tr,Rr){var $n=He?He[1]:1;return z(x,At,Oo(ct,[0,$n],0,At,tr,[0,Rr]))}),Ce(kr,function(He){return ys(0,function(At){var tr=l(gF[1],At),Rr=tr[1],$n=tr[2],$r=ys(0,function(Ri){var Ji=gs(Ri);ia(Ri,15);var Na=l(gF[2],Ri),Do=Na[1],No=mq([0,$n,[0,Ji,[0,Na[2],0]]]);if(Di(Ri)===4)var tu=0,Vs=0;else{var As=Di(Ri),vu=0;if(typeof As==\"number\"){var Wu=As!==95?1:0;if(!Wu){var L1=Wu;vu=1}}if(!vu){var hu=Xt0(Do,E20(Rr,Ri));L1=[0,zU(hu,z(Lp[13],llx,hu))]}tu=L1,Vs=oB(Ri,l(Z6[3],Ri))}var Qu=Jz(0,Ri),pc=zr(gF[4],Rr,Do,Qu),il=Di(Qu)===83?pc:iJ(Qu,pc),Zu=l(Z6[12],Qu),fu=Zu[2],vl=Zu[1];if(fu)var id=vl,_f=j20(Qu,fu);else id=Zz(Qu,vl),_f=fu;return[0,tu,il,Do,_f,id,Vs,No]},At),Ga=$r[2],Xa=Ga[3],ls=Ga[2],Es=Ga[1],Fe=re(gF[5],At,Rr,Xa,1),Lt=l(gF[6],ls);Oo(gF[7],At,Fe[2],Lt,Es,ls);var ln=$r[1],tn=ns([0,Ga[7]],0);return[8,[0,Es,ls,Fe[1],Rr,Xa,Ga[4],Ga[5],Ga[6],tn,ln]]},He)}),Ce(wn,function(He,At,tr){switch(At){case 1:kL(He,44);try{var Rr=lx(A1(F2(alx,tr)))}catch($n){if(($n=yi($n))[1]!==lc)throw $n;Rr=qp(F2(olx,tr))}break;case 2:kL(He,45);try{Rr=hj(tr)}catch($n){if(($n=yi($n))[1]!==lc)throw $n;Rr=qp(F2(slx,tr))}break;case 4:try{Rr=hj(tr)}catch($n){if(($n=yi($n))[1]!==lc)throw $n;Rr=qp(F2(ulx,tr))}break;default:try{Rr=lx(A1(tr))}catch($n){if(($n=yi($n))[1]!==lc)throw $n;Rr=qp(F2(clx,tr))}}return ia(He,[0,At,tr]),Rr}),Ce(In,function(He){var At=g(He);return At!==0&&ef===fr(He,At-1|0)?vI(He,0,At-1|0):He}),Ce(Tn,function(He,At,tr){if(2<=At){var Rr=l(In,tr);try{var $n=hj(Rr)}catch(ls){if((ls=yi(ls))[1]!==lc)throw ls;$n=qp(F2(nlx,Rr))}var $r=$n}else{var Ga=l(In,tr);try{var Xa=lx(A1(Ga))}catch(ls){if((ls=yi(ls))[1]!==lc)throw ls;Xa=qp(F2(ilx,Ga))}$r=Xa}return ia(He,[1,At,tr]),$r}),Ce(ix,function(He){var At=Ng(He),tr=gs(He),Rr=Di(He);if(typeof Rr==\"number\")switch(Rr){case 0:var $n=l(Lp[12],He);return[1,[0,$n[1],[19,$n[2]]],$n[3]];case 4:return[0,l(iu,He)];case 6:var $r=ys(0,Bc,He),Ga=$r[2];return[1,[0,$r[1],[0,Ga[1]]],Ga[2]];case 21:return uf(He),[0,[0,At,[26,[0,ns([0,tr],[0,t2(He)])]]]];case 29:return uf(He),[0,[0,At,[14,[0,0,xlx,ns([0,tr],[0,t2(He)])]]]];case 40:return[0,l(Lp[22],He)];case 95:var Xa=l(Lp[17],He),ls=Xa[2];return[0,[0,Xa[1],KD<=ls[1]?[13,ls[2]]:[12,ls[2]]]];case 30:case 31:uf(He);var Es=Rr===31?1:0;return[0,[0,At,[14,[0,[1,Es],Es?tlx:rlx,ns([0,tr],[0,t2(He)])]]]];case 74:case 102:return[0,l(ku,He)]}else switch(Rr[0]){case 0:var Fe=Rr[2];return[0,[0,At,[14,[0,[2,zr(wn,He,Rr[1],Fe)],Fe,ns([0,tr],[0,t2(He)])]]]];case 1:var Lt=Rr[2];return[0,[0,At,[14,[0,[3,zr(Tn,He,Rr[1],Lt)],Lt,ns([0,tr],[0,t2(He)])]]]];case 2:var ln=Rr[1];ln[4]&&kL(He,44),uf(He);var tn=[0,ln[2]],Ri=ns([0,tr],[0,t2(He)]);return[0,[0,ln[1],[14,[0,tn,ln[3],Ri]]]];case 3:var Ji=z(Mx,He,Rr[1]);return[0,[0,Ji[1],[25,Ji[2]]]]}if(tJ(He)){var Na=z(Lp[13],0,He);return[0,[0,Na[1],[10,Na]]]}return Bw(0,He),typeof Rr!=\"number\"&&Rr[0]===6&&uf(He),[0,[0,At,[14,[0,0,elx,ns([0,tr],[0,0])]]]]}),Ce(Nr,function(He){return z(x,He,l(ix,He))}),Ce(Mx,function(He,At){var tr=At[3],Rr=At[2],$n=At[1],$r=gs(He);ia(He,[3,At]);var Ga=[0,$n,[0,[0,Rr[2],Rr[1]],tr]];if(tr)var Xa=$n,ls=[0,Ga,0],Es=0;else for(var Fe=[0,Ga,0],Lt=0;;){var ln=l(Lp[7],He),tn=[0,ln,Lt],Ri=Di(He),Ji=0;if(typeof Ri==\"number\"&&Ri===1){LP(He,4);var Na=Di(He),Do=0;if(typeof Na!=\"number\"&&Na[0]===3){var No=Na[1],tu=No[3],Vs=No[2];uf(He);var As=No[1],vu=[0,[0,Vs[2],Vs[1]],tu];uO(He);var Wu=[0,[0,As,vu],Fe];if(!tu){Fe=Wu,Lt=tn;continue}var L1=yd(tn),hu=[0,As,yd(Wu),L1];Ji=1,Do=1}if(!Do)throw[0,Cs,Ycx]}if(!Ji){Bw(Qcx,He);var Qu=[0,ln[1],Zcx],pc=yd(tn),il=yd([0,Qu,Fe]);hu=[0,ln[1],il,pc]}Xa=hu[1],ls=hu[2],Es=hu[3];break}var Zu=t2(He);return[0,gT($n,Xa),[0,ls,Es,ns([0,$r],[0,Zu])]]}),Ce(ko,function(He,At,tr,Rr){var $n=z(Jk(He)[2],tr,function(Ga,Xa){return z(rh(Ga,YP,26),Ga,Xa)}),$r=z(Mx,He,Rr);return[0,gT(At,$r[1]),[24,[0,$n,$r,0]]]}),Ce(iu,function(He){var At=gs(He),tr=ys(0,function(Ga){ia(Ga,4);var Xa=Ng(Ga),ls=l(m,Ga),Es=Di(Ga),Fe=0;if(typeof Es==\"number\")if(Es===9)var Lt=[0,zr(ic,Ga,Xa,[0,ls,0])];else Es===83?Lt=[1,[0,ls,l(Z6[9],Ga),0]]:Fe=1;else Fe=1;return Fe&&(Lt=[0,ls]),ia(Ga,5),Lt},He),Rr=tr[2],$n=t2(He),$r=Rr[0]===0?Rr[1]:[0,tr[1],[27,Rr[1]]];return zr(Mi,[0,At],[0,$n],$r)}),Ce(Mi,function(He,At,tr){var Rr=tr[2],$n=He&&He[1],$r=At&&At[1];function Ga(ox){return NP(ox,ns([0,$n],[0,$r]))}function Xa(ox){return Mt0(ox,ns([0,$n],[0,$r]))}switch(Rr[0]){case 0:var ls=Rr[1],Es=Xa(ls[2]),Fe=[0,[0,ls[1],Es]];break;case 1:var Lt=Rr[1],ln=Lt[10],tn=Ga(Lt[9]);Fe=[1,[0,Lt[1],Lt[2],Lt[3],Lt[4],Lt[5],Lt[6],Lt[7],Lt[8],tn,ln]];break;case 2:var Ri=Rr[1],Ji=Ga(Ri[4]);Fe=[2,[0,Ri[1],Ri[2],Ri[3],Ji]];break;case 3:var Na=Rr[1],Do=Ga(Na[4]);Fe=[3,[0,Na[1],Na[2],Na[3],Do]];break;case 4:var No=Rr[1],tu=Ga(No[4]);Fe=[4,[0,No[1],No[2],No[3],tu]];break;case 5:var Vs=Rr[1],As=Ga(Vs[7]);Fe=[5,[0,Vs[1],Vs[2],Vs[3],Vs[4],Vs[5],Vs[6],As]];break;case 7:var vu=Rr[1],Wu=Ga(vu[4]);Fe=[7,[0,vu[1],vu[2],vu[3],Wu]];break;case 8:var L1=Rr[1],hu=L1[10],Qu=Ga(L1[9]);Fe=[8,[0,L1[1],L1[2],L1[3],L1[4],L1[5],L1[6],L1[7],L1[8],Qu,hu]];break;case 10:var pc=Rr[1],il=pc[2],Zu=Ga(il[2]);Fe=[10,[0,pc[1],[0,il[1],Zu]]];break;case 11:var fu=Rr[1],vl=Ga(fu[2]);Fe=[11,[0,fu[1],vl]];break;case 12:var id=Rr[1],_f=Ga(id[4]);Fe=[12,[0,id[1],id[2],id[3],_f]];break;case 13:var sm=Rr[1],Pd=Ga(sm[4]);Fe=[13,[0,sm[1],sm[2],sm[3],Pd]];break;case 14:var tc=Rr[1],YC=Ga(tc[3]);Fe=[14,[0,tc[1],tc[2],YC]];break;case 15:var km=Rr[1],lC=Ga(km[4]);Fe=[15,[0,km[1],km[2],km[3],lC]];break;case 16:var A2=Rr[1],s_=Ga(A2[3]);Fe=[16,[0,A2[1],A2[2],s_]];break;case 17:var Db=Rr[1],o3=Ga(Db[3]);Fe=[17,[0,Db[1],Db[2],o3]];break;case 18:var l6=Rr[1],fC=Ga(l6[4]);Fe=[18,[0,l6[1],l6[2],l6[3],fC]];break;case 19:var uS=Rr[1],P8=Xa(uS[2]);Fe=[19,[0,uS[1],P8]];break;case 20:var s8=Rr[1],z8=s8[1],XT=s8[2],OT=Ga(z8[4]);Fe=[20,[0,[0,z8[1],z8[2],z8[3],OT],XT]];break;case 21:var r0=Rr[1],_T=r0[1],BT=r0[2],IS=Ga(_T[3]);Fe=[21,[0,[0,_T[1],_T[2],IS],BT]];break;case 22:var I5=Rr[1],LT=Ga(I5[2]);Fe=[22,[0,I5[1],LT]];break;case 23:Fe=[23,[0,Ga(Rr[1][1])]];break;case 24:var yT=Rr[1],sx=Ga(yT[3]);Fe=[24,[0,yT[1],yT[2],sx]];break;case 25:var XA=Rr[1],O5=Ga(XA[3]);Fe=[25,[0,XA[1],XA[2],O5]];break;case 26:Fe=[26,[0,Ga(Rr[1][1])]];break;case 27:var OA=Rr[1],YA=Ga(OA[3]);Fe=[27,[0,OA[1],OA[2],YA]];break;case 28:var a4=Rr[1],c9=Ga(a4[3]);Fe=[28,[0,a4[1],a4[2],c9]];break;case 29:var Lw=Rr[1],bS=Ga(Lw[4]);Fe=[29,[0,Lw[1],Lw[2],Lw[3],bS]];break;case 30:var n0=Rr[1],G5=n0[3],K4=Ga(n0[2]);Fe=[30,[0,n0[1],K4,G5]];break;default:Fe=Rr}return[0,tr[1],Fe]}),Ce(Bc,function(He){var At=gs(He);ia(He,6);for(var tr=[0,0,i[3]];;){var Rr=tr[2],$n=tr[1],$r=Di(He);if(typeof $r==\"number\"){var Ga=0;if(13<=$r)ef===$r&&(Ga=1);else if(7<=$r)switch($r-7|0){case 2:var Xa=Ng(He);uf(He),tr=[0,[0,[2,Xa],$n],Rr];continue;case 5:var ls=gs(He),Es=ys(0,function(Wu){uf(Wu);var L1=l(n,Wu);return L1[0]===0?[0,L1[1],i[3]]:[0,L1[1],L1[2]]},He),Fe=Es[2],Lt=Fe[2],ln=Es[1],tn=ns([0,ls],0),Ri=[1,[0,ln,[0,Fe[1],tn]]],Ji=Di(He)===7?1:0,Na=0;if(!Ji&&$4(1,He)===7){var Do=[0,Lt[1],[0,[0,ln,63],Lt[2]]];Na=1}Na||(Do=Lt),1-Ji&&ia(He,9),tr=[0,[0,Ri,$n],z(i[4],Do,Rr)];continue;case 0:Ga=1}if(Ga){var No=l(i[5],Rr),tu=yd($n),Vs=gs(He);return ia(He,7),[0,[0,tu,X9([0,At],[0,t2(He)],Vs)],No]}}var As=l(n,He),vu=As[0]===0?[0,As[1],i[3]]:[0,As[1],As[2]];Di(He)!==7&&ia(He,9),tr=[0,[0,[0,vu[1]],$n],z(i[4],vu[2],Rr)]}}),Ce(ku,function(He){LP(He,5);var At=Ng(He),tr=gs(He),Rr=Di(He);if(typeof Rr!=\"number\"&&Rr[0]===5){var $n=Rr[1],$r=$n[3],Ga=$n[2];uf(He);var Xa=t2(He),ls=F2(Gcx,F2(Ga,F2(Hcx,$r)));uO(He);var Es=sA(g($r)),Fe=g($r)-1|0;if(!(Fe<0))for(var Lt=0;;){var ln=E($r,Lt),tn=ln-103|0;if(!(18<tn>>>0))switch(tn){case 0:case 2:case 6:case 12:case 14:case 18:o9(Es,ln)}var Ri=Lt+1|0;if(Fe===Lt)break;Lt=Ri}var Ji=Iw(Es);return rt(Ji,$r)&&Zh(He,[14,$r]),[0,At,[14,[0,[4,[0,Ga,Ji]],ls,ns([0,tr],[0,Xa])]]]}throw[0,Cs,Xcx]}),Ce(Kx,function(He){var At=$Y(mn,He),tr=Ng(At);if($4(1,At)===11)var Rr=0,$n=0;else{var $r=l(gF[1],At);Rr=$r[1],$n=$r[2]}var Ga=ys(0,function(L1){var hu=oB(L1,l(Z6[3],L1));if(tJ(L1)&&hu===0){var Qu=z(Lp[13],Jcx,L1),pc=Qu[1];return[0,hu,[0,pc,[0,0,[0,[0,pc,[0,[0,pc,[2,[0,Qu,[0,VK(L1)],0]]],0]],0],0,0]],[0,[0,pc[1],pc[3],pc[3]]],0]}var il=zr(gF[4],L1[18],L1[17],L1),Zu=Hz(1,L1),fu=l(Z6[12],Zu);return[0,hu,il,fu[1],fu[2]]},At),Xa=Ga[2],ls=Xa[2],Es=ls[2],Fe=0;if(!Es[1]){var Lt=0;if(!Es[3]&&Es[2]&&(Lt=1),!Lt){var ln=T20(At);Fe=1}}Fe||(ln=At);var tn=ls[2],Ri=tn[1],Ji=Ri?(Bl(ln,[0,Ri[1][1],ef]),[0,ls[1],[0,0,tn[2],tn[3],tn[4]]]):ls,Na=OP(ln);Na&&(Di(ln)===11?1:0)&&Zh(ln,58),ia(ln,11);var Do=T20(ln),No=ys(0,function(L1){var hu=w20(L1,Rr,0),Qu=Di(hu);if(typeof Qu==\"number\"&&Qu===0){var pc=z(Lp[16],1,hu);return[0,[0,[0,pc[1],pc[2]]],pc[3]]}return[0,[1,l(Lp[10],hu)],hu[6]]},Do),tu=No[2],Vs=l(gF[6],Ji);Oo(gF[7],Do,tu[2],Vs,0,Ji);var As=gT(tr,No[1]),vu=Ga[1],Wu=ns([0,$n],0);return[0,[0,As,[1,[0,0,Ji,tu[1],Rr,0,Xa[4],Xa[3],Xa[1],Wu,vu]]]]}),Ce(ic,function(He,At,tr){return ys([0,At],function(Rr){for(var $n=tr;;){var $r=Di(Rr);if(typeof $r!=\"number\"||$r!==9)return[22,[0,yd($n),0]];uf(Rr),$n=[0,l(m,Rr),$n]}},He)}),Ce(Br,function(He){var At=Ng(He),tr=ys(0,function(Xa){var ls=Di(Xa),Es=0;if(typeof ls==\"number\"&&ls===14){var Fe=gs(Xa);uf(Xa);var Lt=1,ln=Fe;Es=1}return Es||(Lt=0,ln=0),[0,Lt,$M(Xa),ln]},He),Rr=tr[2],$n=Rr[2],$r=Rr[1],Ga=tr[1];return $r&&Ms(At[3],$n[1][2])&&Bl(He,[0,Ga,uw]),[0,Ga,$n,$r,Rr[3]]}),[0,m,n,dx,Br,function(He){var At=He[2];switch(At[0]){case 17:var tr=At[1];if(!rt(tr[1][2][1],kfx)){var Rr=rt(tr[2][2][1],Nfx);if(!Rr)return Rr}break;case 0:case 10:case 16:case 19:break;default:return 0}return 1},Vn,wn,ic]}(GY),WK=function(i){function x(Oi){var xn=gs(Oi);uf(Oi);var vt=ns([0,xn],0),Xt=l(FI[6],Oi);return[0,z((OP(Oi)?nJ(Oi):qY(Oi))[2],Xt,function(Me,Ke){return z(rh(Me,YP,78),Me,Ke)}),vt]}function n(Oi){var xn=Oi[26][4];if(xn)for(var vt=0;;){var Xt=Di(Oi);if(typeof Xt!=\"number\"||Xt!==13)return yd(vt);vt=[0,ys(0,x,Oi),vt]}return xn}function m(Oi,xn){var vt=Oi&&Oi[1],Xt=gs(xn),Me=Di(xn);if(typeof Me==\"number\")switch(Me){case 6:var Ke=ys(0,function(Dl){var du=gs(Dl);ia(Dl,6);var is=Zq(0,Dl),Fu=l(Lp[10],is);return ia(Dl,7),[0,Fu,ns([0,du],[0,t2(Dl)])]},xn),ct=Ke[1];return[0,ct,[3,[0,ct,Ke[2]]]];case 14:if(vt){var sr=l(FI[4],xn),kr=sr[2],wn=sr[1],In=Ld0(kr),Tn=xn[28][1];if(Tn){var ix=Tn[1],Nr=Tn[2],Mx=ix[2],ko=[0,[0,z(KU[4],In,ix[1]),Mx],Nr];xn[28][1]=ko}else qp(_Z1);return[0,wn,[2,[0,wn,[0,kr,ns([0,sr[4]],0)]]]]}}else switch(Me[0]){case 0:var iu=Me[2],Mi=Ng(xn);return[0,Mi,[0,[0,Mi,[0,[2,zr(FI[7],xn,Me[1],iu)],iu,ns([0,Xt],[0,t2(xn)])]]]];case 2:var Bc=Me[1],ku=Bc[4],Kx=Bc[3],ic=Bc[2],Br=Bc[1];return ku&&kL(xn,44),ia(xn,[2,[0,Br,ic,Kx,ku]]),[0,Br,[0,[0,Br,[0,[0,ic],Kx,ns([0,Xt],[0,t2(xn)])]]]]}var Dt=l(FI[4],xn),Li=Dt[1];return Dt[3]&&Bl(xn,[0,Li,90]),[0,Li,[1,Dt[2]]]}function L(Oi,xn,vt){var Xt=l(gF[2],Oi),Me=Xt[1],Ke=Xt[2],ct=m([0,xn],Oi),sr=ct[1];return[0,VM(Oi,ct[2]),ys(0,function(kr){var wn=Jz(1,kr),In=ys(0,function(Mi){var Bc=zr(gF[4],0,0,Mi),ku=Di(Mi)===83?Bc:iJ(Mi,Bc);if(vt===0){var Kx=ku[2];if(Kx[1])Bl(Mi,[0,sr,Vk]);else{var ic=Kx[2],Br=0;(!ic||ic[2]||Kx[3])&&(Br=1),Br&&(Kx[3],Bl(Mi,[0,sr,81]))}}else{var Dt=ku[2];if(Dt[1])Bl(Mi,[0,sr,Lk]);else{var Li=0;(Dt[2]||Dt[3])&&(Li=1),Li&&Bl(Mi,[0,sr,80])}}return[0,0,ku,Zz(Mi,l(Z6[10],Mi))]},wn),Tn=In[2],ix=Tn[2],Nr=re(gF[5],wn,0,Me,0),Mx=l(gF[6],ix);Oo(gF[7],wn,Nr[2],Mx,0,ix);var ko=In[1],iu=ns([0,Ke],0);return[0,0,ix,Nr[1],0,Me,0,Tn[3],Tn[1],iu,ko]},Oi)]}function v(Oi){var xn=l(FI[2],Oi);return xn[0]===0?[0,xn[1],i[3]]:[0,xn[1],xn[2]]}function a0(Oi,xn,vt){function Xt(Me){var Ke=Jz(1,Me),ct=ys(0,function(Nr){var Mx=oB(Nr,l(Z6[3],Nr));if(Oi===0)if(xn===0)var ko=0,iu=0;else ko=1,iu=0;else xn===0?(ko=0,iu=Nr[18]):(ko=1,iu=1);var Mi=zr(gF[4],iu,ko,Nr);return[0,Mx,Di(Nr)===83?Mi:iJ(Nr,Mi),Zz(Nr,l(Z6[10],Nr))]},Ke),sr=ct[2],kr=sr[2],wn=re(gF[5],Ke,Oi,xn,0),In=l(gF[6],kr);Oo(gF[7],Ke,wn[2],In,0,kr);var Tn=ct[1],ix=ns([0,vt],0);return[0,0,kr,wn[1],Oi,xn,0,sr[3],sr[1],ix,Tn]}return function(Me){return ys(0,Xt,Me)}}function O1(Oi){return ia(Oi,83),v(Oi)}function dx(Oi,xn,vt,Xt,Me,Ke){var ct=ys([0,xn],function(kr){if(!Xt&&!Me){var wn=Di(kr);if(typeof wn==\"number\"){if(wn===79){if(vt[0]===1)var In=vt[1],Tn=Ng(kr),ix=[0,ys([0,In[1]],function(Dt){var Li=gs(Dt);ia(Dt,79);var Dl=t2(Dt);return[2,[0,0,z(Lp[19],Dt,[0,In[1],[10,In]]),l(Lp[10],Dt),ns([0,Li],[0,Dl])]]},kr),[0,[0,[0,Tn,[11,$q(epx)]],0],0]];else ix=O1(kr);return[0,[0,vt,ix[1],1],ix[2]]}var Nr=0;if(wn===95)Nr=1;else if(!(10<=wn))switch(wn){case 4:Nr=1;break;case 1:case 9:switch(vt[0]){case 0:var Mx=vt[1],ko=Mx[1];Bl(kr,[0,ko,96]);var iu=[0,ko,[14,Mx[2]]];break;case 1:var Mi=vt[1],Bc=Mi[2][1],ku=Mi[1],Kx=0;er0(Bc)&&rt(Bc,tpx)&&rt(Bc,rpx)&&(Bl(kr,[0,ku,2]),Kx=1),!Kx&&Xz(Bc)&&sO(kr,[0,ku,53]),iu=[0,ku,[10,Mi]];break;case 2:iu=qp(npx);break;default:var ic=vt[1][2][1];Bl(kr,[0,ic[1],97]),iu=ic}return[0,[0,vt,iu,1],i[3]]}if(Nr)return[0,[1,VM(kr,vt),l(a0(Xt,Me,Ke),kr)],i[3]]}var Br=O1(kr);return[0,[0,vt,Br[1],0],Br[2]]}return[0,[1,VM(kr,vt),l(a0(Xt,Me,Ke),kr)],i[3]]},Oi),sr=ct[2];return[0,[0,[0,ct[1],sr[1]]],sr[2]]}function ie(Oi,xn,vt,Xt){var Me=vt[2][1][2][1],Ke=vt[1];if(Da(Me,Qfx))return Bl(Oi,[0,Ke,[22,Me,0,1]]),xn;var ct=z(HY[28],Me,xn);if(ct){var sr=ct[1],kr=0;return kO===Xt?fP===sr&&(kr=1):fP===Xt&&kO===sr&&(kr=1),kr||Bl(Oi,[0,Ke,[21,Me]]),zr(HY[4],Me,oU,xn)}return zr(HY[4],Me,Xt,xn)}function Ie(Oi,xn){return ys(0,function(vt){var Xt=xn&&gs(vt);ia(vt,52);for(var Me=0;;){var Ke=[0,ys(0,function(sr){var kr=l(Z6[2],sr);if(Di(sr)===95)var wn=z(Jk(sr)[2],kr,function(In,Tn){return z(rh(In,gL,79),In,Tn)});else wn=kr;return[0,wn,l(Z6[4],sr)]},vt),Me],ct=Di(vt);if(typeof ct!=\"number\"||ct!==9)return[0,yd(Ke),ns([0,Xt],0)];ia(vt,9),Me=Ke}},Oi)}function Ot(Oi,xn){return xn&&Bl(Oi,[0,xn[1][1],7])}function Or(Oi,xn){return xn&&Bl(Oi,[0,xn[1],66])}function Cr(Oi,xn,vt,Xt,Me,Ke,ct,sr,kr,wn){for(;;){var In=Di(Oi),Tn=0;if(typeof In==\"number\"){var ix=In-1|0,Nr=0;if(7<ix>>>0){var Mx=ix-78|0;if(4<Mx>>>0)Nr=1;else switch(Mx){case 3:Bw(0,Oi),uf(Oi);continue;case 0:case 4:break;default:Nr=1}}else 5<(ix-1|0)>>>0||(Nr=1);Nr||Me||Ke||(Tn=1)}if(!Tn&&!Yz(Oi)){Or(Oi,sr),Ot(Oi,kr);var ko=0;if(ct===0){var iu=0;switch(Xt[0]){case 0:var Mi=Xt[1][2][1],Bc=0;typeof Mi!=\"number\"&&Mi[0]===0&&(rt(Mi[1],Wfx)&&(iu=1),Bc=1),Bc||(iu=1);break;case 1:rt(Xt[1][2][1],qfx)&&(iu=1);break;default:iu=1}if(!iu){var ku=0,Kx=Jz(2,Oi);ko=1}}ko||(ku=1,Kx=Jz(1,Oi));var ic=VM(Kx,Xt),Br=ys(0,function(ca){var Pr=ys(0,function(tr){var Rr=oB(tr,l(Z6[3],tr));if(Me===0)if(Ke===0)var $n=0,$r=0;else $n=1,$r=0;else Ke===0?($n=0,$r=tr[18]):($n=1,$r=1);var Ga=zr(gF[4],$r,$n,tr),Xa=Di(tr)===83?Ga:iJ(tr,Ga),ls=Xa[2],Es=ls[1],Fe=0;if(Es&&ku===0){Bl(tr,[0,Es[1][1],zx]);var Lt=[0,Xa[1],[0,0,ls[2],ls[3],ls[4]]];Fe=1}return Fe||(Lt=Xa),[0,Rr,Lt,Zz(tr,l(Z6[10],tr))]},ca),On=Pr[2],mn=On[2],He=re(gF[5],ca,Me,Ke,0),At=l(gF[6],mn);return Oo(gF[7],ca,He[2],At,0,mn),[0,0,mn,He[1],Me,Ke,0,On[3],On[1],0,Pr[1]]},Kx),Dt=[0,ku,ic,Br,ct,vt,ns([0,wn],0)];return[0,[0,gT(xn,Br[1]),Dt]]}var Li=ys([0,xn],function(ca){var Pr=l(Z6[10],ca),On=ca[26],mn=Di(ca);if(sr){var He=0;if(typeof mn==\"number\"&&mn===79){Zh(ca,67),uf(ca);var At=0}else He=1;He&&(At=0)}else{var tr=0;if(typeof mn==\"number\"&&mn===79){var Rr=0;ct&&On[3]&&(Rr=1);var $n=0;if(!Rr){var $r=0;!ct&&On[2]&&($r=1),!$r&&(At=1,$n=1)}if(!$n){ia(ca,79);var Ga=Jz(1,ca);At=[0,l(Lp[7],Ga)]}}else tr=1;tr&&(At=1)}var Xa=Di(ca),ls=0;if(typeof Xa==\"number\"&&!(9<=Xa))switch(Xa){case 8:uf(ca);var Es=Di(ca),Fe=0;if(typeof Es==\"number\"){var Lt=0;if(Es!==1&&ef!==Es&&(Fe=1,Lt=1),!Lt)var ln=t2(ca)}else Fe=1;if(Fe){var tn=OP(ca);ln=tn&&e$(ca)}var Ri=[0,Xt,Pr,At,ln];ls=1;break;case 4:case 6:Bw(0,ca),Ri=[0,Xt,Pr,At,0],ls=1}if(!ls){var Ji=Di(ca),Na=0;if(typeof Ji==\"number\"){var Do=0;if(Ji!==1&&ef!==Ji&&(Na=1,Do=1),!Do)var No=[0,0,function(Wu,L1){return Wu}]}else Na=1;if(Na&&(No=OP(ca)?nJ(ca):qY(ca)),typeof At==\"number\")if(Pr[0]===0)var tu=z(No[2],Xt,function(Wu,L1){return z(rh(Wu,HR,81),Wu,L1)}),Vs=Pr,As=At;else tu=Xt,Vs=[1,z(No[2],Pr[1],function(Wu,L1){return z(rh(Wu,q$,82),Wu,L1)})],As=At;else tu=Xt,Vs=Pr,As=[0,z(No[2],At[1],function(Wu,L1){return z(rh(Wu,YP,83),Wu,L1)})];Ri=[0,tu,Vs,As,0]}var vu=ns([0,wn],[0,Ri[4]]);return[0,Ri[1],Ri[2],Ri[3],vu]},Oi),Dl=Li[2],du=Dl[4],is=Dl[3],Fu=Dl[2],Qt=Dl[1],Rn=Li[1];return Qt[0]===2?[2,[0,Rn,[0,Qt[1],is,Fu,ct,kr,du]]]:[1,[0,Rn,[0,Qt,is,Fu,ct,kr,du]]]}}function ni(Oi,xn){var vt=$4(Oi,xn);if(typeof vt==\"number\"){var Xt=0;if(83<=vt)vt!==95&&84<=vt||(Xt=1);else if(vt===79)Xt=1;else if(!(9<=vt))switch(vt){case 1:case 4:case 8:Xt=1}if(Xt)return 1}return 0}function Jn(Oi){return ni(0,Oi)}function Vn(Oi,xn,vt,Xt){var Me=Oi&&Oi[1],Ke=ZV(1,xn),ct=c6(Me,n(Ke)),sr=gs(Ke);ia(Ke,40);var kr=VY(1,Ke),wn=Di(kr),In=0;if(vt!==0&&typeof wn==\"number\"){var Tn=0;if(52<=wn?wn!==95&&53<=wn&&(Tn=1):wn!==41&&wn!==0&&(Tn=1),!Tn){var ix=0;In=1}}if(!In){var Nr=z(Lp[13],0,kr);ix=[0,z(Jk(Ke)[2],Nr,function(Li,Dl){return z(rh(Li,gL,84),Li,Dl)})]}var Mx=l(Z6[3],Ke);if(Mx)var ko=[0,z(Jk(Ke)[2],Mx[1],function(Li,Dl){return z(rh(Li,NA,85),Li,Dl)})];else ko=Mx;var iu=gs(Ke),Mi=BP(Ke,41);if(Mi)var Bc=ys(0,function(Li){var Dl=Xt0(0,Li),du=l(FI[6],Dl);if(Di(Li)===95)var is=z(Jk(Li)[2],du,function(Fu,Qt){return z(rh(Fu,YP,80),Fu,Qt)});else is=du;return[0,is,l(Z6[4],Li),ns([0,iu],0)]},Ke),ku=Bc[1],Kx=Jk(Ke),ic=[0,[0,ku,z(Kx[2],Bc[2],function(Li,Dl){return zr(rh(Li,-663447790,86),Li,ku,Dl)})]];else ic=Mi;var Br=Di(Ke)===52?1:0;if(Br){1-u9(Ke)&&Zh(Ke,16);var Dt=[0,V20(Ke,Ie(Ke,1))]}else Dt=Br;return[0,ix,ys(0,function(Li){var Dl=gs(Li);if(BP(Li,0)){Li[28][1]=[0,[0,KU[1],0],Li[28][1]];for(var du=0,is=HY[1],Fu=0;;){var Qt=Di(Li);if(typeof Qt==\"number\"){var Rn=Qt-2|0;if(X<Rn>>>0){if(!(Vk<(Rn+1|0)>>>0)){var ca=yd(Fu),Pr=function(cA,QA){return l(hq(function(YT){return 1-z(KU[3],YT[1],cA)}),QA)},On=Li[28][1];if(On){var mn=On[2],He=On[1],At=He[2],tr=He[1];if(mn){var Rr=Pr(tr,At),$n=dq(mn),$r=eo0(mn),Ga=c6($n[2],Rr);Li[28][1]=[0,[0,$n[1],Ga],$r]}else H9(function(cA){return Bl(Li,[0,cA[2],[23,cA[1]]])},Pr(tr,At)),Li[28][1]=0}else qp(yZ1);ia(Li,1);var Xa=Di(Li),ls=0;if(Xt===0){var Es=0;if(typeof Xa!=\"number\"||Xa!==1&&ef!==Xa||(Es=1),!Es){var Fe=OP(Li);if(Fe){var Lt=e$(Li);ls=1}else Lt=Fe,ls=1}}return ls||(Lt=t2(Li)),[0,ca,ns([0,Dl],[0,Lt])]}}else if(Rn===6){ia(Li,8);continue}}var ln=Ng(Li),tn=n(Li),Ri=Di(Li),Ji=0;if(typeof Ri==\"number\"&&Ri===60&&!ni(1,Li)){var Na=[0,Ng(Li)],Do=gs(Li);uf(Li);var No=Na,tu=Do;Ji=1}Ji||(No=0,tu=0);var Vs=$4(1,Li)!==4?1:0;if(Vs)var As=$4(1,Li)!==95?1:0,vu=As&&(Di(Li)===42?1:0);else vu=Vs;if(vu){var Wu=gs(Li);uf(Li);var L1=Wu}else L1=vu;var hu=Di(Li)===64?1:0;if(hu)var Qu=1-ni(1,Li),pc=Qu&&1-eJ(1,Li);else pc=hu;if(pc){var il=gs(Li);uf(Li);var Zu=il}else Zu=pc;var fu=l(gF[2],Li),vl=fu[1],id=zr(gF[3],Li,pc,vl),_f=0;if(vl===0&&id){var sm=l(gF[2],Li),Pd=sm[1],tc=sm[2];_f=1}_f||(Pd=vl,tc=fu[2]);var YC=mq([0,tu,[0,L1,[0,Zu,[0,tc,0]]]]),km=Di(Li),lC=0;if(pc===0&&Pd===0&&typeof km!=\"number\"&&km[0]===4){var A2=km[3];if(rt(A2,Jfx)){if(!rt(A2,Hfx)){var s_=gs(Li),Db=m(Gfx,Li)[2];if(Jn(Li)){var o3=Cr(Li,ln,tn,Db,pc,Pd,vu,No,id,YC);lC=1}else{Or(Li,No),Ot(Li,id),VM(Li,Db);var l6=c6(YC,s_),fC=ys([0,ln],function(cA){return L(cA,1,0)},Li),uS=fC[2],P8=ns([0,l6],0);o3=[0,[0,fC[1],[0,3,uS[1],uS[2],vu,tn,P8]]],lC=1}}}else{var s8=gs(Li),z8=m(Xfx,Li)[2];if(Jn(Li))o3=Cr(Li,ln,tn,z8,pc,Pd,vu,No,id,YC),lC=1;else{Or(Li,No),Ot(Li,id),VM(Li,z8);var XT=c6(YC,s8),OT=ys([0,ln],function(cA){return L(cA,1,1)},Li),r0=OT[2],_T=ns([0,XT],0);o3=[0,[0,OT[1],[0,2,r0[1],r0[2],vu,tn,_T]]],lC=1}}}switch(lC||(o3=Cr(Li,ln,tn,m(Yfx,Li)[2],pc,Pd,vu,No,id,YC)),o3[0]){case 0:var BT=o3[1],IS=BT[2],I5=BT[1];switch(IS[1]){case 0:if(IS[4])var LT=[0,du,is];else du&&Bl(Li,[0,I5,87]),LT=[0,1,is];break;case 1:IS[2][0]===2&&Bl(Li,[0,I5,88]),LT=[0,du,is];break;case 2:var yT=IS[2];LT=[0,du,yT[0]===2?ie(Li,is,yT[1],kO):is];break;default:var sx=IS[2];LT=[0,du,sx[0]===2?ie(Li,is,sx[1],fP):is]}var XA=LT;break;case 1:var O5=o3[1][2],OA=O5[4],YA=O5[1],a4=0;switch(YA[0]){case 0:var c9=YA[1],Lw=c9[2][1],bS=0;if(typeof Lw!=\"number\"&&Lw[0]===0){var n0=c9[1],G5=Lw[1];a4=1,bS=1}bS||(a4=2);break;case 1:var K4=YA[1];n0=K4[1],G5=K4[2][1],a4=1;break;case 2:qp(Vfx);break;default:a4=2}switch(a4){case 1:var ox=Da(G5,$fx);if(ox)var BA=ox;else{var h6=Da(G5,Kfx);BA=h6&&OA}BA&&Bl(Li,[0,n0,[22,G5,OA,0]])}XA=[0,du,is];break;default:XA=[0,du,ie(Li,is,o3[1][2][1],oU)]}du=XA[1],is=XA[2],Fu=[0,o3,Fu]}}return Qz(Li,0),zfx},Ke),ko,ic,Dt,ct,ns([0,sr],0)]}function zn(Oi){return[5,Vn(0,Oi,1,1)]}return[0,m,function(Oi){var xn=ys(0,function(Xt){var Me=gs(Xt);ia(Xt,0);for(var Ke=0,ct=[0,0,i[3]];;){var sr=ct[2],kr=ct[1],wn=Di(Xt);if(typeof wn==\"number\"){var In=0;if(wn!==1&&ef!==wn||(In=1),In){var Tn=Ke?[0,sr[1],[0,[0,Ke[1],99],sr[2]]]:sr,ix=l(i[5],Tn),Nr=yd(kr),Mx=gs(Xt);return ia(Xt,1),[0,[0,Nr,X9([0,Me],[0,t2(Xt)],Mx)],ix]}}if(Di(Xt)===12)var ko=gs(Xt),iu=ys(0,function(il){return ia(il,12),v(il)},Xt),Mi=iu[2],Bc=Mi[2],ku=ns([0,ko],0),Kx=[0,[1,[0,iu[1],[0,Mi[1],ku]]],Bc];else{var ic=Ng(Xt),Br=$4(1,Xt),Dt=0;if(typeof Br==\"number\"){var Li=0;if(83<=Br)Br!==95&&84<=Br&&(Li=1);else if(Br!==79)if(10<=Br)Li=1;else switch(Br){case 1:case 4:case 9:break;default:Li=1}if(!Li){var Dl=0,du=0;Dt=1}}if(!Dt){var is=l(gF[1],Xt);Dl=is[1],du=is[2]}var Fu=l(gF[2],Xt),Qt=Fu[1],Rn=c6(du,Fu[2]),ca=Di(Xt),Pr=0;if(Dl===0&&Qt===0&&typeof ca!=\"number\"&&ca[0]===4){var On=ca[3],mn=0;if(rt(On,Zfx))if(rt(On,xpx))mn=1;else{var He=gs(Xt),At=m(0,Xt)[2],tr=Di(Xt),Rr=0;if(typeof tr==\"number\"){var $n=0;if(83<=tr)tr!==95&&84<=tr&&($n=1);else if(tr!==79)if(10<=tr)$n=1;else switch(tr){case 1:case 4:case 9:break;default:$n=1}if(!$n){var $r=dx(Xt,ic,At,0,0,0);Rr=1}}if(!Rr){VM(Xt,At);var Ga=i[3],Xa=ys([0,ic],function(il){return L(il,0,0)},Xt),ls=Xa[2],Es=ns([0,He],0);$r=[0,[0,[0,Xa[1],[3,ls[1],ls[2],Es]]],Ga]}var Fe=$r}else{var Lt=gs(Xt),ln=m(0,Xt)[2],tn=Di(Xt),Ri=0;if(typeof tn==\"number\"){var Ji=0;if(83<=tn)tn!==95&&84<=tn&&(Ji=1);else if(tn!==79)if(10<=tn)Ji=1;else switch(tn){case 1:case 4:case 9:break;default:Ji=1}if(!Ji){var Na=dx(Xt,ic,ln,0,0,0);Ri=1}}if(!Ri){VM(Xt,ln);var Do=i[3],No=ys([0,ic],function(il){return L(il,0,1)},Xt),tu=No[2],Vs=ns([0,Lt],0);Na=[0,[0,[0,No[1],[2,tu[1],tu[2],Vs]]],Do]}Fe=Na}if(!mn){var As=Fe;Pr=1}}Pr||(As=dx(Xt,ic,m(0,Xt)[2],Dl,Qt,Rn)),Kx=As}var vu=Kx[1],Wu=0;if(vu[0]===1&&Di(Xt)===9){var L1=[0,Ng(Xt)];Wu=1}Wu||(L1=0);var hu=Di(Xt),Qu=0;if(typeof hu==\"number\"){var pc=0;hu!==1&&ef!==hu&&(pc=1),pc||(Qu=1)}Qu||ia(Xt,9),Ke=L1,ct=[0,[0,vu,kr],z(i[4],Kx[2],sr)]}},Oi),vt=xn[2];return[0,xn[1],vt[1],vt[2]]},function(Oi,xn){return ys(0,function(vt){return[2,Vn([0,xn],vt,vt[7],0)]},Oi)},function(Oi){return ys(0,zn,Oi)},Ie,n]}(GY),m5=function(i){function x(Fe){var Lt=l(gF[11],Fe);if(Fe[6])KK(Fe,Lt[1]);else{var ln=Lt[2],tn=Lt[1];if(ln[0]===23){var Ri=ln[1];Ri[4]===0?Ri[5]===0||Bl(Fe,[0,tn,60]):Bl(Fe,[0,tn,59])}}return Lt}function n(Fe,Lt,ln){var tn=ln[2][1],Ri=ln[1];if(rt(tn,sdx)){if(rt(tn,udx))return rt(tn,cdx)?Xz(tn)?sO(Lt,[0,Ri,53]):er0(tn)?Bl(Lt,[0,Ri,[11,$q(tn)]]):Fe&&x$(tn)?sO(Lt,[0,Ri,Fe[1]]):0:Lt[17]?Bl(Lt,[0,Ri,2]):sO(Lt,[0,Ri,53]);if(Lt[6])return sO(Lt,[0,Ri,53]);var Ji=Lt[14];return Ji&&Bl(Lt,[0,Ri,[11,$q(tn)]])}var Na=Lt[18];return Na&&Bl(Lt,[0,Ri,2])}function m(Fe,Lt){var ln=Lt[4],tn=Lt[3],Ri=Lt[2],Ji=Lt[1];ln&&kL(Fe,44);var Na=gs(Fe);return ia(Fe,[2,[0,Ji,Ri,tn,ln]]),[0,Ji,[0,Ri,tn,ns([0,Na],[0,t2(Fe)])]]}function L(Fe,Lt,ln){var tn=Fe?Fe[1]:idx,Ri=Lt?Lt[1]:1,Ji=Di(ln);if(typeof Ji==\"number\"){var Na=Ji-2|0;if(X<Na>>>0){if(!(Vk<(Na+1|0)>>>0))return[1,[0,t2(ln),function(tu,Vs){return tu}]]}else if(Na===6){uf(ln);var Do=Di(ln);if(typeof Do==\"number\"){var No=0;if(Do!==1&&ef!==Do||(No=1),No)return[0,t2(ln)]}return OP(ln)?[0,e$(ln)]:adx}}return OP(ln)?[1,nJ(ln)]:(Ri&&Bw([0,tn],ln),odx)}function v(Fe){var Lt=Di(Fe);if(typeof Lt==\"number\"){var ln=0;if(Lt!==1&&ef!==Lt||(ln=1),ln)return[0,t2(Fe),function(tn,Ri){return tn}]}return OP(Fe)?nJ(Fe):qY(Fe)}function a0(Fe,Lt,ln){var tn=L(0,0,Lt);if(tn[0]===0)return[0,tn[1],ln];var Ri=yd(ln);if(Ri)var Ji=yd([0,z(tn[1][2],Ri[1],function(Na,Do){return zr(rh(Na,634872468,87),Na,Fe,Do)}),Ri[2]]);else Ji=Ri;return[0,0,Ji]}var O1=function Fe(Lt){return Fe.fun(Lt)},dx=function Fe(Lt){return Fe.fun(Lt)},ie=function Fe(Lt){return Fe.fun(Lt)},Ie=function Fe(Lt){return Fe.fun(Lt)},Ot=function Fe(Lt){return Fe.fun(Lt)},Or=function Fe(Lt,ln){return Fe.fun(Lt,ln)},Cr=function Fe(Lt){return Fe.fun(Lt)},ni=function Fe(Lt){return Fe.fun(Lt)},Jn=function Fe(Lt,ln,tn){return Fe.fun(Lt,ln,tn)},Vn=function Fe(Lt){return Fe.fun(Lt)},zn=function Fe(Lt){return Fe.fun(Lt)},Oi=function Fe(Lt,ln){return Fe.fun(Lt,ln)},xn=function Fe(Lt){return Fe.fun(Lt)},vt=function Fe(Lt){return Fe.fun(Lt)},Xt=function Fe(Lt,ln){return Fe.fun(Lt,ln)},Me=function Fe(Lt){return Fe.fun(Lt)},Ke=function Fe(Lt,ln){return Fe.fun(Lt,ln)},ct=function Fe(Lt){return Fe.fun(Lt)},sr=function Fe(Lt,ln){return Fe.fun(Lt,ln)},kr=function Fe(Lt){return Fe.fun(Lt)},wn=function Fe(Lt,ln){return Fe.fun(Lt,ln)},In=function Fe(Lt,ln){return Fe.fun(Lt,ln)},Tn=function Fe(Lt,ln){return Fe.fun(Lt,ln)},ix=function Fe(Lt){return Fe.fun(Lt)},Nr=function Fe(Lt){return Fe.fun(Lt)},Mx=function Fe(Lt){return Fe.fun(Lt)},ko=function Fe(Lt,ln,tn){return Fe.fun(Lt,ln,tn)},iu=function Fe(Lt,ln){return Fe.fun(Lt,ln)},Mi=function Fe(Lt){return Fe.fun(Lt)},Bc=function Fe(Lt){return Fe.fun(Lt)};function ku(Fe){var Lt=gs(Fe);ia(Fe,59);var ln=Di(Fe)===8?1:0,tn=ln&&t2(Fe),Ri=L(0,0,Fe),Ji=Ri[0]===0?Ri[1]:Ri[1][1];return[4,[0,ns([0,Lt],[0,c6(tn,Ji)])]]}function Kx(Fe){var Lt=gs(Fe);ia(Fe,37);var ln=Qq(1,Fe),tn=l(Lp[2],ln),Ri=1-Fe[6];Ri&&aJ(tn)&&KK(Fe,tn[1]);var Ji=t2(Fe);ia(Fe,25);var Na=t2(Fe);ia(Fe,4);var Do=l(Lp[7],Fe);ia(Fe,5);var No=Di(Fe)===8?1:0,tu=No&&t2(Fe),Vs=L(0,ndx,Fe),As=Vs[0]===0?c6(tu,Vs[1]):Vs[1][1];return[14,[0,tn,Do,ns([0,Lt],[0,c6(Ji,c6(Na,As))])]]}function ic(Fe,Lt,ln){var tn=ln[2][1];if(tn&&!tn[1][2][2]){var Ri=tn[2];if(!Ri)return Ri}return Bl(Fe,[0,ln[1],Lt])}function Br(Fe,Lt){var ln=1-Fe[6],tn=ln&&aJ(Lt);return tn&&KK(Fe,Lt[1])}function Dt(Fe){var Lt=gs(Fe);ia(Fe,39);var ln=Fe[18],tn=ln&&BP(Fe,65),Ri=c6(Lt,gs(Fe));ia(Fe,4);var Ji=ns([0,Ri],0),Na=Zq(1,Fe),Do=Di(Na),No=0;if(typeof Do==\"number\")if(24<=Do){if(!(29<=Do)){var tu=0;switch(Do-24|0){case 0:var Vs=ys(0,gF[10],Na),As=Vs[2],vu=As[3],Wu=ns([0,As[2]],0),L1=[0,[0,[1,[0,Vs[1],[0,As[1],0,Wu]]]],vu];break;case 3:var hu=ys(0,gF[9],Na),Qu=hu[2],pc=Qu[3],il=ns([0,Qu[2]],0);L1=[0,[0,[1,[0,hu[1],[0,Qu[1],2,il]]]],pc];break;case 4:var Zu=ys(0,gF[8],Na),fu=Zu[2],vl=fu[3],id=ns([0,fu[2]],0);L1=[0,[0,[1,[0,Zu[1],[0,fu[1],1,id]]]],vl];break;default:tu=1}if(!tu){var _f=L1[1],sm=L1[2];No=1}}}else Do===8&&(_f=0,sm=0,No=1);if(!No){var Pd=VY(1,Na);_f=[0,[0,l(Lp[8],Pd)]],sm=0}var tc=Di(Fe);if(tc!==63&&!tn){if(typeof tc==\"number\"&&tc===17){if(_f){var YC=_f[1];if(YC[0]===0)var km=[1,zr(i[2],tdx,Fe,YC[1])];else{var lC=YC[1];ic(Fe,28,lC),km=[0,lC]}ia(Fe,17);var A2=l(Lp[7],Fe);ia(Fe,5);var s_=Qq(1,Fe),Db=l(Lp[2],s_);return Br(Fe,Db),[21,[0,km,A2,Db,0,Ji]]}throw[0,Cs,rdx]}if(H9(function(O5){return Bl(Fe,O5)},sm),ia(Fe,8),_f)var o3=_f[1],l6=o3[0]===0?[0,[1,z(i[1],Fe,o3[1])]]:[0,[0,o3[1]]];else l6=_f;var fC=Di(Fe),uS=0;if(typeof fC==\"number\"){var P8=fC!==8?1:0;if(!P8){var s8=P8;uS=1}}uS||(s8=[0,l(Lp[7],Fe)]),ia(Fe,8);var z8=Di(Fe),XT=0;if(typeof z8==\"number\"){var OT=z8!==5?1:0;if(!OT){var r0=OT;XT=1}}XT||(r0=[0,l(Lp[7],Fe)]),ia(Fe,5);var _T=Qq(1,Fe),BT=l(Lp[2],_T);return Br(Fe,BT),[20,[0,l6,s8,r0,BT,Ji]]}if(_f){var IS=_f[1];if(IS[0]===0)var I5=[1,zr(i[2],xdx,Fe,IS[1])];else{var LT=IS[1];ic(Fe,29,LT),I5=[0,LT]}ia(Fe,63);var yT=l(Lp[10],Fe);ia(Fe,5);var sx=Qq(1,Fe),XA=l(Lp[2],sx);return Br(Fe,XA),[22,[0,I5,yT,XA,tn,Ji]]}throw[0,Cs,edx]}function Li(Fe){var Lt=$K(Fe)?x(Fe):l(Lp[2],Fe),ln=1-Fe[6];return ln&&aJ(Lt)&&KK(Fe,Lt[1]),Lt}function Dl(Fe){var Lt=gs(Fe);return ia(Fe,43),[0,Li(Fe),ns([0,Lt],0)]}function du(Fe){var Lt=gs(Fe);ia(Fe,16);var ln=c6(Lt,gs(Fe));ia(Fe,4);var tn=l(Lp[7],Fe);ia(Fe,5);var Ri=Li(Fe),Ji=Di(Fe)===43?1:0;return[24,[0,tn,Ri,Ji&&[0,ys(0,Dl,Fe)],ns([0,ln],0)]]}function is(Fe){1-Fe[11]&&Zh(Fe,36);var Lt=gs(Fe);ia(Fe,19);var ln=Di(Fe)===8?1:0,tn=ln&&t2(Fe),Ri=0;if(Di(Fe)!==8&&!Yz(Fe)){var Ji=[0,l(Lp[7],Fe)];Ri=1}Ri||(Ji=0);var Na=L(0,0,Fe),Do=0;if(Na[0]===0)var No=Na[1];else{var tu=Na[1];if(Ji){var Vs=tn,As=[0,z(tu[2],Ji[1],function(vu,Wu){return z(rh(vu,YP,88),vu,Wu)})];Do=1}else No=tu[1]}return Do||(Vs=c6(tn,No),As=Ji),[28,[0,As,ns([0,Lt],[0,Vs])]]}function Fu(Fe){var Lt=gs(Fe);ia(Fe,20),ia(Fe,4);var ln=l(Lp[7],Fe);ia(Fe,5),ia(Fe,0);for(var tn=Zpx;;){var Ri=tn[2],Ji=tn[1],Na=Di(Fe);if(typeof Na==\"number\"){var Do=0;if(Na!==1&&ef!==Na||(Do=1),Do){var No=yd(Ri);return ia(Fe,1),[29,[0,ln,No,ns([0,Lt],[0,v(Fe)[1]])]]}}var tu=Ng(Fe),Vs=gs(Fe),As=Di(Fe),vu=0;if(typeof As==\"number\"&&As===36){Ji&&Zh(Fe,32),ia(Fe,36);var Wu=0,L1=t2(Fe);vu=1}vu||(ia(Fe,33),Wu=[0,l(Lp[7],Fe)],L1=0);var hu=Ji||(Wu===0?1:0),Qu=Ng(Fe);ia(Fe,83);var pc=c6(L1,v(Fe)[1]),il=z(Lp[4],function(id){if(typeof id==\"number\"){var _f=id-1|0,sm=0;if(32<_f>>>0?_f===35&&(sm=1):30<(_f-1|0)>>>0&&(sm=1),sm)return 1}return 0},[0,Fe[1],Fe[2],Fe[3],Fe[4],Fe[5],Fe[6],Fe[7],Fe[8],1,Fe[10],Fe[11],Fe[12],Fe[13],Fe[14],Fe[15],Fe[16],Fe[17],Fe[18],Fe[19],Fe[20],Fe[21],Fe[22],Fe[23],Fe[24],Fe[25],Fe[26],Fe[27],Fe[28],Fe[29]]),Zu=yd(il),fu=Zu?Zu[1][1]:Qu,vl=[0,Wu,il,ns([0,Vs],[0,pc])];tn=[0,hu,[0,[0,gT(tu,fu),vl],Ri]]}}function Qt(Fe){var Lt=gs(Fe),ln=Ng(Fe);ia(Fe,22),OP(Fe)&&Bl(Fe,[0,ln,21]);var tn=l(Lp[7],Fe),Ri=L(0,0,Fe);if(Ri[0]===0)var Ji=[0,Ri[1],tn];else Ji=[0,0,z(Ri[1][2],tn,function(Do,No){return z(rh(Do,YP,89),Do,No)})];var Na=ns([0,Lt],[0,Ji[1]]);return[30,[0,Ji[2],Na]]}function Rn(Fe){var Lt=gs(Fe);ia(Fe,23);var ln=l(Lp[15],Fe);if(Di(Fe)===34)var tn=z(Jk(Fe)[2],ln,function(L1,hu){var Qu=hu[1];return[0,Qu,zr(rh(L1,bR,27),L1,Qu,hu[2])]});else tn=ln;var Ri=Di(Fe),Ji=0;if(typeof Ri==\"number\"&&Ri===34){var Na=[0,ys(0,function(L1){var hu=gs(L1);ia(L1,34);var Qu=t2(L1),pc=Di(L1)===4?1:0;if(pc){ia(L1,4);var il=[0,z(Lp[18],L1,39)];ia(L1,5);var Zu=il}else Zu=pc;var fu=l(Lp[15],L1);if(Di(L1)===38)var vl=fu;else vl=z(v(L1)[2],fu,function(id,_f){var sm=_f[1];return[0,sm,zr(rh(id,bR,90),id,sm,_f[2])]});return[0,Zu,vl,ns([0,hu],[0,Qu])]},Fe)];Ji=1}Ji||(Na=0);var Do=Di(Fe),No=0;if(typeof Do==\"number\"&&Do===38){ia(Fe,38);var tu=l(Lp[15],Fe),Vs=tu[1],As=v(Fe),vu=[0,[0,Vs,z(As[2],tu[2],function(L1,hu){return zr(rh(L1,bR,91),L1,Vs,hu)})]];No=1}No||(vu=0);var Wu=Na===0?1:0;return Wu&&(vu===0?1:0)&&Bl(Fe,[0,tn[1],33]),[31,[0,tn,Na,vu,ns([0,Lt],0)]]}function ca(Fe){var Lt=l(gF[10],Fe),ln=a0(0,Fe,Lt[1]);H9(function(Ri){return Bl(Fe,Ri)},Lt[3]);var tn=ns([0,Lt[2]],[0,ln[1]]);return[34,[0,ln[2],0,tn]]}function Pr(Fe){var Lt=l(gF[9],Fe),ln=a0(2,Fe,Lt[1]);H9(function(Ri){return Bl(Fe,Ri)},Lt[3]);var tn=ns([0,Lt[2]],[0,ln[1]]);return[34,[0,ln[2],2,tn]]}function On(Fe){var Lt=l(gF[8],Fe),ln=a0(1,Fe,Lt[1]);H9(function(Ri){return Bl(Fe,Ri)},Lt[3]);var tn=ns([0,Lt[2]],[0,ln[1]]);return[34,[0,ln[2],1,tn]]}function mn(Fe){var Lt=gs(Fe);ia(Fe,25);var ln=c6(Lt,gs(Fe));ia(Fe,4);var tn=l(Lp[7],Fe);ia(Fe,5);var Ri=Qq(1,Fe),Ji=l(Lp[2],Ri),Na=1-Fe[6];return Na&&aJ(Ji)&&KK(Fe,Ji[1]),[35,[0,tn,Ji,ns([0,ln],0)]]}function He(Fe){var Lt=gs(Fe),ln=l(Lp[7],Fe),tn=Di(Fe),Ri=ln[2];if(Ri[0]===10&&typeof tn==\"number\"&&tn===83){var Ji=Ri[1],Na=Ji[2][1];ia(Fe,83),z(ur0[3],Na,Fe[3])&&Bl(Fe,[0,ln[1],[17,Ypx,Na]]);var Do=Fe[29],No=Fe[28],tu=Fe[27],Vs=Fe[26],As=Fe[25],vu=Fe[24],Wu=Fe[23],L1=Fe[22],hu=Fe[21],Qu=Fe[20],pc=Fe[19],il=Fe[18],Zu=Fe[17],fu=Fe[16],vl=Fe[15],id=Fe[14],_f=Fe[13],sm=Fe[12],Pd=Fe[11],tc=Fe[10],YC=Fe[9],km=Fe[8],lC=Fe[7],A2=Fe[6],s_=Fe[5],Db=Fe[4],o3=z(KU[4],Na,Fe[3]),l6=[0,Fe[1],Fe[2],o3,Db,s_,A2,lC,km,YC,tc,Pd,sm,_f,id,vl,fu,Zu,il,pc,Qu,hu,L1,Wu,vu,As,Vs,tu,No,Do];return[27,[0,Ji,$K(l6)?x(l6):l(Lp[2],l6),ns([0,Lt],0)]]}var fC=L(Qpx,0,Fe);if(fC[0]===0)var uS=[0,fC[1],ln];else uS=[0,0,z(fC[1][2],ln,function(s8,z8){return z(rh(s8,YP,92),s8,z8)})];var P8=ns(0,[0,uS[1]]);return[19,[0,uS[2],0,P8]]}function At(Fe){var Lt=l(Lp[7],Fe),ln=L(Xpx,0,Fe);if(ln[0]===0)var tn=[0,ln[1],Lt];else tn=[0,0,z(ln[1][2],Lt,function(Wu,L1){return z(rh(Wu,YP,93),Wu,L1)})];var Ri=tn[2],Ji=Fe[19];if(Ji){var Na=Ri[2],Do=0;if(Na[0]===14){var No=Na[1],tu=No[1];if(typeof tu!=\"number\"&&tu[0]===0){var Vs=No[2],As=[0,vI(Vs,1,g(Vs)-2|0)];Do=1}}Do||(As=0);var vu=As}else vu=Ji;return[19,[0,Ri,vu,ns(0,[0,tn[1]])]]}function tr(Fe){return ys(0,At,Fe)}function Rr(Fe,Lt){var ln=Lt[2];switch(ln[0]){case 0:return U2(function(tn,Ri){return Rr(tn,Ri[0]===0?Ri[1][2][2]:Ri[1][2][1])},Fe,ln[1][1]);case 1:return U2(function(tn,Ri){return Ri[0]===2?tn:Rr(tn,Ri[1][2][1])},Fe,ln[1][1]);case 2:return[0,ln[1][1],Fe];default:return qp(Gpx)}}function $n(Fe){var Lt=Di(Fe),ln=0;if(typeof Lt!=\"number\"&&Lt[0]===4&&!rt(Lt[3],Wpx)){uf(Fe);var tn=Di(Fe);if(typeof tn!=\"number\"&&tn[0]===2)return m(Fe,tn[1]);Bw(qpx,Fe),ln=1}return ln||Bw(Jpx,Fe),[0,VK(Fe),Hpx]}function $r(Fe,Lt,ln){function tn(No){return Fe?l(Z6[2],No):z(Lp[13],0,No)}var Ri=$4(1,ln);if(typeof Ri==\"number\")switch(Ri){case 1:case 9:case 110:return[0,tn(ln),0]}else if(Ri[0]===4&&!rt(Ri[3],zpx)){var Ji=$M(ln);return uf(ln),[0,Ji,[0,tn(ln)]]}var Na=Di(ln);if(Lt&&typeof Na==\"number\"){var Do=0;if(Na!==46&&Na!==61||(Do=1),Do)return Zh(ln,Lt[1]),uf(ln),[0,l(Z6[2],ln),0]}return[0,tn(ln),0]}function Ga(Fe,Lt){var ln=Di(Fe);if(typeof ln==\"number\"&&NT===ln){var tn=ys(0,function(Db){uf(Db);var o3=Di(Db);return typeof o3==\"number\"||o3[0]!==4||rt(o3[3],$px)?(Bw(Kpx,Db),0):(uf(Db),2<=Lt?[0,z(Lp[13],0,Db)]:[0,l(Z6[2],Db)])},Fe),Ri=tn[2],Ji=Ri&&[0,[0,tn[1],Ri[1]]];return Ji&&[0,[1,Ji[1]]]}ia(Fe,0);for(var Na=0,Do=0;;){var No=Na?Na[1]:1,tu=Di(Fe);if(typeof tu==\"number\"){var Vs=0;if(tu!==1&&ef!==tu||(Vs=1),Vs){var As=yd(Do);return ia(Fe,1),[0,[0,As]]}}if(1-No&&Zh(Fe,84),Lt===2){var vu=Di(Fe),Wu=0;if(typeof vu==\"number\")if(vu===46)var L1=Rpx;else vu===61?L1=Mpx:Wu=1;else Wu=1;Wu&&(L1=0);var hu=Di(Fe),Qu=0;if(typeof hu==\"number\"){var pc=0;if(hu!==46&&hu!==61&&(pc=1),!pc){var il=1;Qu=1}}if(Qu||(il=0),il){var Zu=$M(Fe),fu=Di(Fe),vl=0;if(typeof fu==\"number\")switch(fu){case 1:case 9:case 110:n(0,Fe,Zu);var id=[0,0,0,Zu];vl=1}else if(fu[0]===4&&!rt(fu[3],jpx)){var _f=$4(1,Fe),sm=0;if(typeof _f==\"number\")switch(_f){case 1:case 9:case 110:var Pd=[0,L1,0,l(Z6[2],Fe)];sm=1}else if(_f[0]===4&&!rt(_f[3],Upx)){var tc=$M(Fe);uf(Fe),Pd=[0,L1,[0,l(Z6[2],Fe)],tc],sm=1}sm||(n(0,Fe,Zu),uf(Fe),Pd=[0,0,[0,z(Lp[13],0,Fe)],Zu]),id=Pd,vl=1}if(!vl){var YC=$r(1,0,Fe);id=[0,L1,YC[2],YC[1]]}var km=id}else{var lC=$r(0,0,Fe);km=[0,0,lC[2],lC[1]]}var A2=km}else{var s_=$r(1,Lpx,Fe);A2=[0,0,s_[2],s_[1]]}Na=[0,BP(Fe,9)],Do=[0,A2,Do]}}function Xa(Fe,Lt){var ln=L(0,0,Fe);return ln[0]===0?[0,ln[1],Lt]:[0,0,z(ln[1][2],Lt,function(tn,Ri){var Ji=Ri[1];return[0,Ji,zr(rh(tn,xB,94),tn,Ji,Ri[2])]})]}function ls(Fe){var Lt=ZV(1,Fe),ln=gs(Lt);ia(Lt,50);var tn=Di(Lt),Ri=0;if(typeof tn==\"number\")switch(tn){case 46:if(u9(Lt)){ia(Lt,46);var Ji=Di(Lt),Na=0;if(typeof Ji==\"number\"){var Do=0;if(NT!==Ji&&Ji!==0&&(Do=1),!Do){var No=1;Ri=2,Na=1}}if(!Na){var tu=1;Ri=1}}break;case 61:if(u9(Lt)){var Vs=$4(1,Lt),As=0;if(typeof Vs==\"number\")switch(Vs){case 0:uf(Lt),No=0,Ri=2,As=2;break;case 103:uf(Lt),Bw(0,Lt),No=0,Ri=2,As=2;break;case 9:As=1}else Vs[0]!==4||rt(Vs[3],Vpx)||(As=1);switch(As){case 2:break;case 0:uf(Lt),tu=0,Ri=1;break;default:tu=2,Ri=1}}break;case 0:case 103:No=2,Ri=2}else if(tn[0]===2){var vu=Xa(Lt,m(Lt,tn[1])),Wu=ns([0,ln],[0,vu[1]]);return[25,[0,2,vu[2],0,0,Wu]]}switch(Ri){case 0:tu=2;break;case 1:break;default:var L1=Ga(Lt,No),hu=Xa(Lt,$n(Lt)),Qu=ns([0,ln],[0,hu[1]]);return[25,[0,No,hu[2],0,L1,Qu]]}var pc=2<=tu?z(Lp[13],0,Lt):l(Z6[2],Lt),il=Di(Lt),Zu=0;if(typeof il==\"number\"&&il===9){ia(Lt,9);var fu=Ga(Lt,tu);Zu=1}Zu||(fu=0);var vl=Xa(Lt,$n(Lt)),id=ns([0,ln],[0,vl[1]]);return[25,[0,tu,vl[2],[0,pc],fu,id]]}function Es(Fe){return ys(0,ls,Fe)}return Ce(O1,function(Fe){var Lt=Ng(Fe),ln=gs(Fe);return ia(Fe,8),[0,Lt,[15,[0,ns([0,ln],[0,v(Fe)[1]])]]]}),Ce(dx,function(Fe){var Lt=gs(Fe),ln=ys(0,function(No){ia(No,32);var tu=0;if(Di(No)!==8&&!Yz(No)){var Vs=z(Lp[13],0,No),As=Vs[2][1];1-z(ur0[3],As,No[3])&&Zh(No,[16,As]);var vu=[0,Vs];tu=1}tu||(vu=0);var Wu=L(0,0,No),L1=0;if(Wu[0]===0)var hu=Wu[1];else{var Qu=Wu[1];if(vu){var pc=0,il=[0,z(Qu[2],vu[1],function(Zu,fu){return z(rh(Zu,gL,95),Zu,fu)})];L1=1}else hu=Qu[1]}return L1||(pc=hu,il=vu),[0,il,pc]},Fe),tn=ln[2],Ri=tn[1],Ji=ln[1],Na=Ri===0?1:0;if(Na)var Do=1-(Fe[8]||Fe[9]);else Do=Na;return Do&&Bl(Fe,[0,Ji,35]),[0,Ji,[1,[0,Ri,ns([0,Lt],[0,tn[2]])]]]}),Ce(ie,function(Fe){var Lt=gs(Fe),ln=ys(0,function(Na){ia(Na,35);var Do=0;if(Di(Na)!==8&&!Yz(Na)){var No=z(Lp[13],0,Na),tu=No[2][1];1-z(ur0[3],tu,Na[3])&&Zh(Na,[16,tu]);var Vs=[0,No];Do=1}Do||(Vs=0);var As=L(0,0,Na),vu=0;if(As[0]===0)var Wu=As[1];else{var L1=As[1];if(Vs){var hu=0,Qu=[0,z(L1[2],Vs[1],function(pc,il){return z(rh(pc,gL,96),pc,il)})];vu=1}else Wu=L1[1]}return vu||(hu=Wu,Qu=Vs),[0,Qu,hu]},Fe),tn=ln[2],Ri=ln[1];1-Fe[8]&&Bl(Fe,[0,Ri,34]);var Ji=ns([0,Lt],[0,tn[2]]);return[0,Ri,[3,[0,tn[1],Ji]]]}),Ce(Ie,function(Fe){var Lt=ys(0,function(tn){var Ri=gs(tn);ia(tn,26);var Ji=c6(Ri,gs(tn));ia(tn,4);var Na=l(Lp[7],tn);ia(tn,5);var Do=l(Lp[2],tn),No=1-tn[6];return No&&aJ(Do)&&KK(tn,Do[1]),[36,[0,Na,Do,ns([0,Ji],0)]]},Fe),ln=Lt[1];return sO(Fe,[0,ln,38]),[0,ln,Lt[2]]}),Ce(Ot,function(Fe){var Lt=l(Lp[15],Fe),ln=Lt[1],tn=v(Fe);return[0,ln,[0,z(tn[2],Lt[2],function(Ri,Ji){return zr(rh(Ri,bR,97),Ri,ln,Ji)})]]}),Ce(Or,function(Fe,Lt){1-u9(Lt)&&Zh(Lt,10);var ln=c6(Fe,gs(Lt));ia(Lt,61),LP(Lt,1);var tn=l(Z6[2],Lt),Ri=Di(Lt)===95?zU(Lt,tn):tn,Ji=l(Z6[3],Lt);ia(Lt,79);var Na=l(Z6[1],Lt);uO(Lt);var Do=L(0,0,Lt);if(Do[0]===0)var No=[0,Do[1],Na];else No=[0,0,z(Do[1][2],Na,function(Vs,As){return z(rh(Vs,BF,98),Vs,As)})];var tu=ns([0,ln],[0,No[1]]);return[0,Ri,Ji,No[2],tu]}),Ce(Cr,function(Fe){return ys(0,function(Lt){var ln=gs(Lt);return ia(Lt,60),[11,z(Or,ln,Lt)]},Fe)}),Ce(ni,function(Fe){if(rr0(1,Fe)&&!O20(1,Fe)){var Lt=ys(0,l(Or,0),Fe);return[0,Lt[1],[32,Lt[2]]]}return l(Lp[2],Fe)}),Ce(Jn,function(Fe,Lt,ln){var tn=Fe&&Fe[1];1-u9(ln)&&Zh(ln,11);var Ri=c6(Lt,gs(ln));ia(ln,62);var Ji=gs(ln);ia(ln,61);var Na=c6(Ri,Ji);LP(ln,1);var Do=l(Z6[2],ln),No=Di(ln)===95?zU(ln,Do):Do,tu=l(Z6[3],ln),Vs=Di(ln),As=0;if(typeof Vs==\"number\"&&Vs===83){ia(ln,83);var vu=[0,l(Z6[1],ln)];As=1}if(As||(vu=0),tn){var Wu=Di(ln),L1=0;if(typeof Wu==\"number\"&&Wu===79){Zh(ln,68),uf(ln);var hu=0;if(Di(ln)!==8&&!Yz(ln)){var Qu=[0,l(Z6[1],ln)];hu=1}hu||(Qu=0)}else L1=1;L1&&(Qu=0);var pc=Qu}else ia(ln,79),pc=[0,l(Z6[1],ln)];uO(ln);var il=L(0,0,ln);if(il[0]===0)var Zu=[0,il[1],No,tu,vu,pc];else{var fu=il[1][2];if(pc)var vl=[0,0,No,tu,vu,[0,z(fu,pc[1],function(_f,sm){return z(rh(_f,BF,99),_f,sm)})]];else vu?vl=[0,0,No,tu,[0,z(fu,vu[1],function(_f,sm){return z(rh(_f,BF,Yw),_f,sm)})],0]:tu?vl=[0,0,No,[0,z(fu,tu[1],function(_f,sm){return z(rh(_f,NA,Uk),_f,sm)})],0,0]:vl=[0,0,z(fu,No,function(_f,sm){return z(rh(_f,gL,F4),_f,sm)}),0,0,0];Zu=vl}var id=ns([0,Na],[0,Zu[1]]);return[0,Zu[2],Zu[3],Zu[5],Zu[4],id]}),Ce(Vn,function(Fe){return ys(0,function(Lt){var ln=gs(Lt);return ia(Lt,60),[12,zr(Jn,Bpx,ln,Lt)]},Fe)}),Ce(zn,function(Fe){var Lt=$4(1,Fe);if(typeof Lt==\"number\"&&Lt===61){var ln=ys(0,z(Jn,Opx,0),Fe);return[0,ln[1],[33,ln[2]]]}return l(Lp[2],Fe)}),Ce(Oi,function(Fe,Lt){1-u9(Lt)&&Zh(Lt,16);var ln=c6(Fe,gs(Lt));ia(Lt,53);var tn=l(Z6[2],Lt),Ri=Di(Lt)===41?tn:zU(Lt,tn),Ji=l(Z6[3],Lt),Na=Di(Lt)===41?Ji:oB(Lt,Ji),Do=l(Z6[7],Lt),No=z(v(Lt)[2],Do[2],function(Vs,As){var vu=As[1];return[0,vu,zr(rh(Vs,Qj,NT),Vs,vu,As[2])]}),tu=ns([0,ln],0);return[0,Ri,Na,Do[1],No,tu]}),Ce(xn,function(Fe){return ys(0,function(Lt){var ln=gs(Lt);return ia(Lt,60),[8,z(Oi,ln,Lt)]},Fe)}),Ce(vt,function(Fe){if(rr0(1,Fe)||B20(1,Fe)){var Lt=ys(0,l(Oi,0),Fe);return[0,Lt[1],[26,Lt[2]]]}return tr(Fe)}),Ce(Xt,function(Fe,Lt){var ln=ZV(1,Lt),tn=c6(Fe,gs(ln));ia(ln,40);var Ri=z(Lp[13],0,ln),Ji=Di(ln),Na=0;if(typeof Ji==\"number\"){var Do=0;if(Ji!==95&&Ji!==0&&(Do=1),!Do){var No=zU(ln,Ri);Na=1}}Na||(No=Ri);var tu=l(Z6[3],ln),Vs=Di(ln),As=0;if(typeof Vs==\"number\"&&Vs===0){var vu=oB(ln,tu);As=1}As||(vu=tu);var Wu=BP(ln,41);if(Wu){var L1=l(Z6[5],ln),hu=Di(ln),Qu=0;if(typeof hu==\"number\"&&hu===0){var pc=[0,z(Jk(ln)[2],L1,function(P8,s8){return A9(l(rh(P8,d1,34),P8),s8)})];Qu=1}Qu||(pc=[0,L1]);var il=pc}else il=Wu;var Zu=Di(ln),fu=0;if(typeof Zu!=\"number\"&&Zu[0]===4&&!rt(Zu[3],Ipx)){uf(ln);for(var vl=0;;){var id=[0,l(Z6[5],ln),vl],_f=Di(ln);if(typeof _f!=\"number\"||_f!==9){var sm=yd(id),Pd=Di(ln),tc=0;if(typeof Pd==\"number\"&&Pd===0){var YC=U20(ln,sm);tc=1}tc||(YC=sm);var km=YC;fu=1;break}ia(ln,9),vl=id}}fu||(km=0);var lC=Di(ln),A2=0;if(typeof lC==\"number\"&&lC===52){var s_=z(WK[5],ln,0),Db=Di(ln),o3=0;if(typeof Db==\"number\"&&Db===0){var l6=[0,V20(ln,s_)];o3=1}o3||(l6=[0,s_]);var fC=l6;A2=1}A2||(fC=0);var uS=z(Z6[6],1,ln);return[0,No,vu,z(v(ln)[2],uS,function(P8,s8){var z8=s8[1];return[0,z8,zr(rh(P8,Qj,uw),P8,z8,s8[2])]}),il,km,fC,ns([0,tn],0)]}),Ce(Me,function(Fe){return ys(0,function(Lt){var ln=gs(Lt);return ia(Lt,60),[5,z(Xt,ln,Lt)]},Fe)}),Ce(Ke,function(Fe,Lt){var ln=c6(Fe&&Fe[1],gs(Lt));ia(Lt,15);var tn=zU(Lt,z(Lp[13],0,Lt)),Ri=Ng(Lt),Ji=oB(Lt,l(Z6[3],Lt)),Na=l(Z6[8],Lt);ia(Lt,83);var Do=l(Z6[1],Lt);LP(Lt,1);var No=Di(Lt);if(uO(Lt),No===66)var tu=z(Jk(Lt)[2],Do,function(Zu,fu){return z(rh(Zu,BF,29),Zu,fu)});else tu=Do;var Vs=gT(Ri,tu[1]),As=[0,Vs,[12,[0,Ji,Na,tu,0]]],vu=l(Z6[11],Lt),Wu=L(0,0,Lt);if(Wu[0]===0)var L1=[0,Wu[1],As,vu];else{var hu=Wu[1][2];if(vu)var Qu=[0,0,As,[0,z(hu,vu[1],function(Zu,fu){return z(rh(Zu,dP,dN),Zu,fu)})]];else Qu=[0,0,z(hu,As,function(Zu,fu){return z(rh(Zu,BF,Y1),Zu,fu)}),0];L1=Qu}var pc=[0,Vs,L1[2]],il=ns([0,ln],[0,L1[1]]);return[0,tn,pc,L1[3],il]}),Ce(ct,function(Fe){return ys(0,function(Lt){var ln=gs(Lt);ia(Lt,60);var tn=Di(Lt);return typeof tn==\"number\"&&tn===64&&(Zh(Lt,65),ia(Lt,64)),[7,z(Ke,[0,ln],Lt)]},Fe)}),Ce(sr,function(Fe,Lt){var ln=c6(Lt,gs(Fe));ia(Fe,24);var tn=zr(Lp[14],Fe,Ppx,40)[2],Ri=tn[2],Ji=tn[1],Na=L(0,0,Fe);if(Na[0]===0)var Do=[0,Na[1],Ji,Ri];else{var No=Na[1][2];Do=Ri[0]===0?[0,0,z(No,Ji,function(Vs,As){return z(rh(Vs,gL,X),Vs,As)}),Ri]:[0,0,Ji,z(No,Ri,function(Vs,As){return z(rh(Vs,GB,Lk),Vs,As)})]}var tu=ns([0,ln],[0,Do[1]]);return[0,Do[2],Do[3],tu]}),Ce(kr,function(Fe){return ys(0,function(Lt){var ln=gs(Lt);return ia(Lt,60),[13,z(sr,Lt,ln)]},Fe)}),Ce(wn,function(Fe,Lt){var ln=Fe&&Fe[1],tn=Ng(Lt),Ri=gs(Lt);ia(Lt,60);var Ji=c6(Ri,gs(Lt));if(WY(Lt,Npx),!ln&&Di(Lt)!==10){var Na=Di(Lt),Do=0;if(typeof Na!=\"number\"&&Na[0]===2){var No=m(Lt,Na[1]),tu=[1,z(Jk(Lt)[2],No,function(Zu,fu){var vl=fu[1];return[0,vl,zr(rh(Zu,xB,37),Zu,vl,fu[2])]})];Do=1}Do||(tu=[0,zU(Lt,z(Lp[13],0,Lt))]);var Vs=ys(0,function(Zu){var fu=gs(Zu);ia(Zu,0);for(var vl=0,id=0;;){var _f=Di(Zu);if(typeof _f==\"number\"){var sm=0;if(_f!==1&&ef!==_f||(sm=1),sm){var Pd=yd(id),tc=Pd===0?1:0,YC=tc&&gs(Zu);return ia(Zu,1),[0,[0,vl,Pd],X9([0,fu],[0,v(Zu)[1]],YC)]}}var km=z(Tn,kpx,Zu),lC=km[2],A2=km[1],s_=0;if(vl)if(vl[1][0]===0)switch(lC[0]){case 6:var Db=lC[1][2],o3=0;if(Db)switch(Db[1][0]){case 4:case 6:o3=1}o3||Zh(Zu,79);var l6=vl;break;case 10:Zh(Zu,78),l6=vl;break;default:s_=1}else lC[0]===10?(Zh(Zu,79),l6=vl):s_=1;else switch(lC[0]){case 6:var fC=lC[1][2],uS=0;if(fC)switch(fC[1][0]){case 4:case 6:var P8=vl;uS=1}uS||(P8=[0,[1,A2]]),l6=P8;break;case 10:l6=[0,[0,A2]];break;default:s_=1}s_&&(l6=vl),vl=l6,id=[0,km,id]}},Lt),As=Vs[2],vu=As[1],Wu=vu[1],L1=Vs[1],hu=[0,L1,[0,vu[2],As[2]]],Qu=gT(tn,L1);return[0,Qu,[9,[0,tu,hu,Wu?Wu[1]:[0,Qu],ns([0,Ji],0)]]]}var pc=ys(0,l(In,Ji),Lt),il=pc[2];return[0,gT(tn,pc[1]),il]}),Ce(In,function(Fe,Lt){var ln=gs(Lt);ia(Lt,10);var tn=gs(Lt);WY(Lt,wpx);var Ri=mq([0,Fe,[0,ln,[0,tn,[0,gs(Lt),0]]]]),Ji=l(Z6[9],Lt),Na=L(0,0,Lt);if(Na[0]===0)var Do=[0,Ji,Na[1]];else Do=[0,z(Na[1][2],Ji,function(tu,Vs){return z(rh(tu,q$,Vk),tu,Vs)}),0];var No=ns([0,Ri],[0,Do[2]]);return[10,[0,Do[1],No]]}),Ce(Tn,function(Fe,Lt){var ln=Fe&&Fe[1];1-u9(Lt)&&Zh(Lt,13);var tn=$4(1,Lt);if(typeof tn==\"number\")switch(tn){case 24:return l(kr,Lt);case 40:return l(Me,Lt);case 46:if(Di(Lt)===50)return Es(Lt);break;case 49:if(ln)return z(Bc,[0,ln],Lt);break;case 53:return l(xn,Lt);case 61:var Ri=Di(Lt);return typeof Ri==\"number\"&&Ri===50&&ln?Es(Lt):l(Cr,Lt);case 62:return l(Vn,Lt);case 15:case 64:return l(ct,Lt)}else if(tn[0]===4&&!rt(tn[3],Tpx))return z(wn,[0,ln],Lt);if(ln){var Ji=Di(Lt);return typeof Ji==\"number\"&&Ji===50?(Zh(Lt,82),l(Lp[2],Lt)):l(kr,Lt)}return l(Lp[2],Lt)}),Ce(ix,function(Fe){WY(Fe,Spx);var Lt=Di(Fe);if(typeof Lt!=\"number\"&&Lt[0]===2)return m(Fe,Lt[1]);var ln=[0,Ng(Fe),Fpx];return Bw(Apx,Fe),ln}),Ce(Nr,function(Fe){var Lt=l(ix,Fe),ln=Lt[2],tn=Lt[1],Ri=L(0,0,Fe);return Ri[0]===0?[0,[0,tn,ln],Ri[1]]:[0,[0,tn,z(Ri[1][2],ln,function(Ji,Na){return zr(rh(Ji,xB,ef),Ji,tn,Na)})],0]}),Ce(Mx,function(Fe){return Fe[2][1]}),Ce(ko,function(Fe,Lt,ln){var tn=Fe?Fe[1]:1,Ri=Di(Lt);if(typeof Ri==\"number\"){var Ji=0;if(Ri!==1&&ef!==Ri||(Ji=1),Ji)return yd(ln)}1-tn&&Zh(Lt,85);var Na=ys(0,function(Do){var No=$M(Do),tu=Di(Do),Vs=0;if(typeof tu!=\"number\"&&tu[0]===4&&!rt(tu[3],Epx)){uf(Do);var As=$M(Do);UK(Do,As);var vu=[0,As];Vs=1}return Vs||(UK(Do,No),vu=0),[0,No,vu]},Lt);return zr(ko,[0,BP(Lt,9)],Lt,[0,Na,ln])}),Ce(iu,function(Fe,Lt){return H9(function(ln){var tn=ln[2];return tn[2]?0:n(Cpx,Fe,tn[1])},Lt)}),Ce(Mi,function(Fe){function Lt(ln){var tn=F20(1,ZV(1,ln)),Ri=Ng(tn),Ji=gs(tn);ia(tn,49);var Na=Di(tn);if(typeof Na==\"number\"){if(65<=Na){if(NT===Na){var Do=Ng(tn);ia(tn,NT);var No=tn[26][5],tu=Di(tn),Vs=0;if(typeof tu!=\"number\"&&tu[0]===4&&!rt(tu[3],gpx)){uf(tn);var As=No?[0,z(Lp[13],0,tn)]:(Zh(tn,13),0);Vs=1}Vs||(As=0);var vu=l(Nr,tn),Wu=ns([0,Ji],[0,vu[2]]);return[18,[0,0,[0,[1,[0,Do,As]]],[0,vu[1]],1,Wu]]}}else if(13<=Na)switch(Na-13|0){case 23:var L1=c6(Ji,gs(tn)),hu=ys(0,function(YA){return ia(YA,36)},tn);if(UK(tn,jM(0,[0,gT(Ri,Ng(tn)),_px])),$K(tn))var Qu=[0,l(gF[11],tn)],pc=0;else if(zY(tn))Qu=[0,z(WK[3],tn,Fe)],pc=0;else if(Di(tn)===48)Qu=[0,l(gF[12],tn)],pc=0;else{var il=l(Lp[10],tn),Zu=L(0,0,tn);if(Zu[0]===0)var fu=[0,il,Zu[1]];else fu=[0,z(Zu[1][2],il,function(YA,a4){return z(rh(YA,YP,zx),YA,a4)}),0];Qu=[1,fu[1]],pc=fu[2]}var vl=ns([0,L1],[0,pc]);return[17,[0,hu[1],Qu,vl]];case 40:1-u9(tn)&&Zh(tn,15);var id=l(vt,tn),_f=id[2];if(_f[0]===26){var sm=l(Mx,_f[1][1]);UK(tn,jM(0,[0,id[1],sm]))}else qp(F2(Dpx,ypx));return[18,[0,[0,id],0,0,0,ns([0,Ji],0)]];case 48:if($4(1,tn)!==0){1-u9(tn)&&Zh(tn,15);var Pd=$4(1,tn);if(typeof Pd==\"number\"){if(Pd===48)return Zh(tn,0),ia(tn,61),[18,[0,0,0,0,0,ns([0,Ji],0)]];if(NT===Pd){ia(tn,61);var tc=Ng(tn);ia(tn,NT);var YC=l(Nr,tn),km=ns([0,Ji],[0,YC[2]]);return[18,[0,0,[0,[1,[0,tc,0]]],[0,YC[1]],0,km]]}}var lC=ys(0,l(Or,0),tn),A2=lC[2],s_=lC[1];return UK(tn,jM(0,[0,s_,l(Mx,A2[1])])),[18,[0,[0,[0,s_,[32,A2]]],0,0,0,ns([0,Ji],0)]]}break;case 49:var Db=ys(0,function(YA){return l(z(Jn,0,0),YA)},tn),o3=Db[2],l6=Db[1];return UK(tn,jM(0,[0,l6,l(Mx,o3[1])])),[18,[0,[0,[0,l6,[33,o3]]],0,0,0,ns([0,Ji],0)]];case 0:case 2:case 11:case 14:case 15:case 27:case 35:case 51:var fC=z(Lp[3],[0,Fe],tn),uS=fC[2],P8=fC[1],s8=0;switch(uS[0]){case 2:var z8=uS[1][1];if(z8){var XT=z8[1];s8=1}else{Bl(tn,[0,P8,74]);var OT=0}break;case 16:XT=uS[1][1],s8=1;break;case 23:var r0=uS[1][1];r0?(XT=r0[1],s8=1):(Bl(tn,[0,P8,75]),OT=0);break;case 34:OT=U2(function(YA,a4){return U2(Rr,YA,[0,a4[2][1],0])},0,uS[1][1]);break;default:OT=qp(bpx)}return H9(function(YA){return UK(tn,YA)},s8?[0,jM(0,[0,P8,l(Mx,XT)]),0]:OT),[18,[0,[0,fC],0,0,1,ns([0,Ji],0)]]}}var _T=Di(tn),BT=0;if(typeof _T==\"number\"&&_T===61){uf(tn);var IS=0;BT=1}BT||(IS=1),ia(tn,0);var I5=zr(ko,0,tn,0);ia(tn,1);var LT=Di(tn),yT=0;if(typeof LT!=\"number\"&&LT[0]===4&&!rt(LT[3],vpx)){var sx=l(Nr,tn),XA=[0,sx[1]],O5=sx[2];yT=1}if(!yT){z(iu,tn,I5);var OA=L(0,0,tn);XA=0,O5=OA[0]===0?OA[1]:OA[1][1]}return[18,[0,0,[0,[0,I5]],XA,IS,ns([0,Ji],[0,O5])]]}return function(ln){return ys(0,Lt,ln)}}),Ce(Bc,function(Fe){var Lt=Fe&&Fe[1];function ln(tn){1-u9(tn)&&Zh(tn,13);var Ri=gs(tn);ia(tn,60);var Ji=F20(1,ZV(1,tn)),Na=c6(Ri,gs(Ji));ia(Ji,49);var Do=Di(Ji);if(typeof Do==\"number\")if(53<=Do){if(NT===Do){var No=Ng(Ji);ia(Ji,NT);var tu=Ji[26][5],Vs=Di(Ji),As=0;if(typeof Vs!=\"number\"&&Vs[0]===4&&!rt(Vs[3],dpx)){uf(Ji);var vu=tu?[0,z(Lp[13],0,Ji)]:(Zh(Ji,13),0);As=1}As||(vu=0);var Wu=l(Nr,Ji),L1=ns([0,Na],[0,Wu[2]]);return[6,[0,0,0,[0,[1,[0,No,vu]]],[0,Wu[1]],L1]]}if(!(63<=Do))switch(Do-53|0){case 0:if(Lt)return[6,[0,0,[0,[6,ys(0,l(Oi,0),Ji)]],0,0,ns([0,Na],0)]];break;case 8:if(Lt)return[6,[0,0,[0,[4,ys(0,l(Or,0),Ji)]],0,0,ns([0,Na],0)]];break;case 9:return[6,[0,0,[0,[5,ys(0,z(Jn,ppx,0),Ji)]],0,0,ns([0,Na],0)]]}}else{var hu=Do-15|0;if(!(25<hu>>>0))switch(hu){case 21:var Qu=c6(Na,gs(Ji)),pc=ys(0,function(s8){return ia(s8,36)},Ji),il=Di(Ji),Zu=0;if(typeof il==\"number\")if(il===15)var fu=[0,[1,ys(0,function(s8){return z(Ke,0,s8)},Ji)]],vl=0;else il===40?(fu=[0,[2,ys(0,l(Xt,0),Ji)]],vl=0):Zu=1;else Zu=1;if(Zu){var id=l(Z6[1],Ji),_f=L(0,0,Ji);if(_f[0]===0)var sm=[0,id,_f[1]];else sm=[0,z(_f[1][2],id,function(s8,z8){return z(rh(s8,BF,nt),s8,z8)}),0];fu=[0,[3,sm[1]]],vl=sm[2]}var Pd=ns([0,Qu],[0,vl]);return[6,[0,[0,pc[1]],fu,0,0,Pd]];case 0:case 9:case 12:case 13:case 25:var tc=Di(Ji);if(typeof tc==\"number\"){var YC=0;if(25<=tc)if(29<=tc){if(tc===40){var km=[0,[2,ys(0,l(Xt,0),Ji)]];YC=1}}else 27<=tc&&(YC=2);else tc===15?(km=[0,[1,ys(0,function(s8){return z(Ke,0,s8)},Ji)]],YC=1):24<=tc&&(YC=2);var lC=0;switch(YC){case 0:break;case 2:typeof tc==\"number\"&&(tc===27?Zh(Ji,70):tc===28&&Zh(Ji,69)),km=[0,[0,ys(0,function(s8){return z(sr,s8,0)},Ji)]],lC=1;break;default:lC=1}if(lC)return[6,[0,0,km,0,0,ns([0,Na],0)]]}throw[0,Cs,hpx]}}var A2=Di(Ji);typeof A2==\"number\"&&(A2===53?Zh(Ji,72):A2===61&&Zh(Ji,71)),ia(Ji,0);var s_=zr(ko,0,Ji,0);ia(Ji,1);var Db=Di(Ji),o3=0;if(typeof Db!=\"number\"&&Db[0]===4&&!rt(Db[3],mpx)){var l6=l(Nr,Ji),fC=[0,l6[1]],uS=l6[2];o3=1}if(!o3){z(iu,Ji,s_);var P8=L(0,0,Ji);fC=0,uS=P8[0]===0?P8[1]:P8[1][1]}return[6,[0,0,0,[0,[0,s_]],fC,ns([0,Na],[0,uS])]]}return function(tn){return ys(0,ln,tn)}}),[0,function(Fe){return ys(0,Dt,Fe)},function(Fe){return ys(0,du,Fe)},function(Fe){return ys(0,On,Fe)},function(Fe){return ys(0,Rn,Fe)},function(Fe){return ys(0,mn,Fe)},Ie,Ot,dx,ie,function(Fe){return ys(0,ku,Fe)},Tn,Bc,Vn,function(Fe){return ys(0,Kx,Fe)},O1,Mi,tr,Es,vt,function(Fe){return ys(0,He,Fe)},zn,function(Fe){return ys(0,is,Fe)},function(Fe){return ys(0,Fu,Fe)},function(Fe){return ys(0,Qt,Fe)},ni,function(Fe){return ys(0,ca,Fe)},function(Fe){return ys(0,Pr,Fe)}]}(GY),z20=function(i){var x=function dx(ie,Ie){return dx.fun(ie,Ie)},n=function dx(ie,Ie){return dx.fun(ie,Ie)},m=function dx(ie,Ie){return dx.fun(ie,Ie)};function L(dx,ie){return l(Lp[23],ie)?[0,z(m,dx,ie)]:(Bl(dx,[0,ie[1],26]),0)}function v(dx){function ie(Ot){var Or=Di(Ot);return typeof Or==\"number\"&&Or===79?(ia(Ot,79),[0,l(Lp[10],Ot)]):0}function Ie(Ot){var Or=gs(Ot);ia(Ot,0);for(var Cr=0,ni=0,Jn=0;;){var Vn=Di(Ot);if(typeof Vn==\"number\"){var zn=0;if(Vn!==1&&ef!==Vn||(zn=1),zn){ni&&Bl(Ot,[0,ni[1],99]);var Oi=yd(Jn),xn=gs(Ot);ia(Ot,1);var vt=t2(Ot);return[0,[0,Oi,Di(Ot)===83?[1,l(i[9],Ot)]:xW(Ot),X9([0,Or],[0,vt],xn)]]}}if(Di(Ot)===12)var Xt=gs(Ot),Me=ys(0,function(is){return ia(is,12),O1(is,dx)},Ot),Ke=ns([0,Xt],0),ct=[0,[1,[0,Me[1],[0,Me[2],Ke]]]];else{var sr=Ng(Ot),kr=z(Lp[20],0,Ot),wn=Di(Ot),In=0;if(typeof wn==\"number\"&&wn===83){ia(Ot,83);var Tn=ys([0,sr],function(is){return[0,O1(is,dx),ie(is)]},Ot),ix=Tn[2],Nr=kr[2];switch(Nr[0]){case 0:var Mx=[0,Nr[1]];break;case 1:Mx=[1,Nr[1]];break;case 2:Mx=qp(ipx);break;default:Mx=[2,Nr[1]]}ct=[0,[0,[0,Tn[1],[0,Mx,ix[1],ix[2],0]]]]}else In=1;if(In){var ko=kr[2];if(ko[0]===1){var iu=ko[1],Mi=iu[2][1],Bc=iu[1],ku=0;er0(Mi)&&rt(Mi,opx)&&rt(Mi,spx)&&(Bl(Ot,[0,Bc,2]),ku=1),!ku&&Xz(Mi)&&sO(Ot,[0,Bc,53]);var Kx=ys([0,sr],function(is,Fu){return function(Qt){return[0,[0,Fu,[2,[0,is,xW(Qt),0]]],ie(Qt)]}}(iu,Bc),Ot),ic=Kx[2];ct=[0,[0,[0,Kx[1],[0,[1,iu],ic[1],ic[2],1]]]]}else Bw(apx,Ot),ct=0}}if(ct){var Br=ct[1],Dt=Cr?(Bl(Ot,[0,Br[1][1],64]),0):ni;if(Br[0]===0)var Li=Cr,Dl=Dt;else{var du=Di(Ot)===9?1:0;Li=1,Dl=du&&[0,Ng(Ot)]}Di(Ot)!==1&&ia(Ot,9),Cr=Li,ni=Dl,Jn=[0,Br,Jn]}}}return function(Ot){return ys(0,Ie,Ot)}}function a0(dx){function ie(Ie){var Ot=gs(Ie);ia(Ie,6);for(var Or=0;;){var Cr=Di(Ie);if(typeof Cr==\"number\"){var ni=0;if(13<=Cr)ef===Cr&&(ni=1);else if(7<=Cr)switch(Cr-7|0){case 2:var Jn=Ng(Ie);ia(Ie,9),Or=[0,[2,Jn],Or];continue;case 5:var Vn=gs(Ie),zn=ys(0,function(kr){return ia(kr,12),O1(kr,dx)},Ie),Oi=zn[1],xn=ns([0,Vn],0),vt=[1,[0,Oi,[0,zn[2],xn]]];Di(Ie)!==7&&(Bl(Ie,[0,Oi,63]),Di(Ie)===9&&uf(Ie)),Or=[0,vt,Or];continue;case 0:ni=1}if(ni){var Xt=yd(Or),Me=gs(Ie);return ia(Ie,7),[1,[0,Xt,Di(Ie)===83?[1,l(i[9],Ie)]:xW(Ie),X9([0,Ot],[0,t2(Ie)],Me)]]}}var Ke=ys(0,function(kr){var wn=O1(kr,dx),In=Di(kr),Tn=0;if(typeof In==\"number\"&&In===79){ia(kr,79);var ix=[0,l(Lp[10],kr)];Tn=1}return Tn||(ix=0),[0,wn,ix]},Ie),ct=Ke[2],sr=[0,[0,Ke[1],[0,ct[1],ct[2]]]];Di(Ie)!==7&&ia(Ie,9),Or=[0,sr,Or]}}return function(Ie){return ys(0,ie,Ie)}}function O1(dx,ie){var Ie=Di(dx);if(typeof Ie==\"number\"){if(Ie===6)return l(a0(ie),dx);if(Ie===0)return l(v(ie),dx)}var Ot=zr(Lp[14],dx,0,ie);return[0,Ot[1],[2,Ot[2]]]}return Ce(x,function(dx,ie){for(var Ie=ie[2],Ot=Ie[2],Or=xW(dx),Cr=0,ni=Ie[1];;){if(!ni){var Jn=[0,[0,yd(Cr),Or,Ot]];return[0,ie[1],Jn]}var Vn=ni[1];if(Vn[0]!==0){var zn=ni[2],Oi=Vn[1],xn=Oi[2],vt=Oi[1];if(zn)Bl(dx,[0,vt,64]),ni=zn;else{var Xt=xn[2];Cr=[0,[1,[0,vt,[0,z(m,dx,xn[1]),Xt]]],Cr],ni=0}}else{var Me=Vn[1],Ke=Me[2];switch(Ke[0]){case 0:var ct=Ke[2],sr=Ke[1];switch(sr[0]){case 0:var kr=[0,sr[1]];break;case 1:kr=[1,sr[1]];break;case 2:kr=qp(lpx);break;default:kr=[2,sr[1]]}var wn=ct[2],In=0;if(wn[0]===2){var Tn=wn[1];if(!Tn[1]){var ix=Tn[2],Nr=[0,Tn[3]];In=1}}In||(ix=z(m,dx,ct),Nr=0);var Mx=[0,[0,[0,Me[1],[0,kr,ix,Nr,Ke[3]]]],Cr];break;case 1:Bl(dx,[0,Ke[2][1],98]),Mx=Cr;break;default:Bl(dx,[0,Ke[2][1],fpx]),Mx=Cr}var Cr=Mx,ni=ni[2]}}}),Ce(n,function(dx,ie){for(var Ie=ie[2],Ot=Ie[2],Or=xW(dx),Cr=0,ni=Ie[1];;){if(ni){var Jn=ni[1];switch(Jn[0]){case 0:var Vn=Jn[1],zn=Vn[2];if(zn[0]===2){var Oi=zn[1];if(!Oi[1]){Cr=[0,[0,[0,Vn[1],[0,Oi[2],[0,Oi[3]]]]],Cr],ni=ni[2];continue}}var xn=L(dx,Vn);if(xn)var vt=xn[1],Xt=[0,[0,[0,vt[1],[0,vt,0]]],Cr];else Xt=Cr;Cr=Xt,ni=ni[2];continue;case 1:var Me=ni[2],Ke=Jn[1],ct=Ke[2],sr=Ke[1];if(Me){Bl(dx,[0,sr,63]),ni=Me;continue}var kr=L(dx,ct[1]);Cr=kr?[0,[1,[0,sr,[0,kr[1],ct[2]]]],Cr]:Cr,ni=0;continue;default:Cr=[0,[2,Jn[1]],Cr],ni=ni[2];continue}}var wn=[1,[0,yd(Cr),Or,Ot]];return[0,ie[1],wn]}}),Ce(m,function(dx,ie){var Ie=ie[2],Ot=ie[1];switch(Ie[0]){case 0:return z(n,dx,[0,Ot,Ie[1]]);case 10:var Or=Ie[1],Cr=Or[2][1],ni=Or[1],Jn=0;if(dx[6]&&x$(Cr)?Bl(dx,[0,ni,50]):Jn=1,Jn&&1-dx[6]){var Vn=0;if(dx[17]&&Da(Cr,upx)?Bl(dx,[0,ni,94]):Vn=1,Vn){var zn=dx[18];zn&&Da(Cr,cpx)&&Bl(dx,[0,ni,93])}}return[0,Ot,[2,[0,Or,xW(dx),0]]];case 19:return z(x,dx,[0,Ot,Ie[1]]);default:return[0,Ot,[3,[0,Ot,Ie]]]}}),[0,x,n,m,v,a0,O1]}(Z6),B2x=function(i){function x(Jn){var Vn=Di(Jn);if(typeof Vn==\"number\"){var zn=Vn-96|0,Oi=0;if(6<zn>>>0?zn===14&&(Oi=1):4<(zn-1|0)>>>0&&(Oi=1),Oi)return t2(Jn)}var xn=OP(Jn);return xn&&e$(Jn)}function n(Jn){var Vn=gs(Jn);LP(Jn,0);var zn=ys(0,function(xn){ia(xn,0),ia(xn,12);var vt=l(i[10],xn);return ia(xn,1),vt},Jn);uO(Jn);var Oi=ns([0,Vn],[0,x(Jn)]);return[0,zn[1],[0,zn[2],Oi]]}function m(Jn){return Di(Jn)===1?0:[0,l(i[7],Jn)]}function L(Jn){var Vn=gs(Jn);LP(Jn,0);var zn=ys(0,function(xn){ia(xn,0);var vt=m(xn);return ia(xn,1),vt},Jn);uO(Jn);var Oi=X9([0,Vn],[0,x(Jn)],0);return[0,zn[1],[0,zn[2],Oi]]}function v(Jn){LP(Jn,0);var Vn=ys(0,function(zn){ia(zn,0);var Oi=Di(zn),xn=0;if(typeof Oi==\"number\"&&Oi===12){var vt=gs(zn);ia(zn,12);var Xt=[3,[0,l(i[10],zn),ns([0,vt],0)]];xn=1}if(!xn){var Me=m(zn),Ke=Me?0:gs(zn);Xt=[2,[0,Me,X9(0,0,Ke)]]}return ia(zn,1),Xt},Jn);return uO(Jn),[0,Vn[1],Vn[2]]}function a0(Jn){var Vn=Ng(Jn),zn=Di(Jn),Oi=0;if(typeof zn!=\"number\"&&zn[0]===7){var xn=zn[1];Oi=1}Oi||(Bw(jfx,Jn),xn=Ufx);var vt=gs(Jn);uf(Jn);var Xt=Di(Jn),Me=0;if(typeof Xt==\"number\"){var Ke=Xt+-10|0,ct=0;if(69<Ke>>>0?Ke!==73&&(ct=1):67<(Ke-1|0)>>>0||(ct=1),!ct){var sr=t2(Jn);Me=1}}return Me||(sr=x(Jn)),[0,Vn,[0,xn,ns([0,vt],[0,sr])]]}function O1(Jn){var Vn=$4(1,Jn);if(typeof Vn==\"number\"){if(Vn===10)for(var zn=ys(0,function(vt){var Xt=[0,a0(vt)];return ia(vt,10),[0,Xt,a0(vt)]},Jn);;){var Oi=Di(Jn);if(typeof Oi!=\"number\"||Oi!==10)return[2,zn];var xn=function(vt){return function(Xt){return ia(Xt,10),[0,[1,vt],a0(Xt)]}}(zn);zn=ys([0,zn[1]],xn,Jn)}if(Vn===83)return[1,ys(0,function(vt){var Xt=a0(vt);return ia(vt,83),[0,Xt,a0(vt)]},Jn)]}return[0,a0(Jn)]}function dx(Jn){return ys(0,function(Vn){var zn=$4(1,Vn),Oi=0;if(typeof zn==\"number\"&&zn===83){var xn=[1,ys(0,function(ko){var iu=a0(ko);return ia(ko,83),[0,iu,a0(ko)]},Vn)];Oi=1}Oi||(xn=[0,a0(Vn)]);var vt=Di(Vn),Xt=0;if(typeof vt==\"number\"&&vt===79){ia(Vn,79);var Me=gs(Vn),Ke=Di(Vn),ct=0;if(typeof Ke==\"number\")if(Ke===0){var sr=L(Vn),kr=sr[2],wn=sr[1];kr[1]||Bl(Vn,[0,wn,54]);var In=[0,[1,wn,kr]]}else ct=1;else if(Ke[0]===8){var Tn=Ke[1];ia(Vn,Ke);var ix=[0,Tn[2]],Nr=ns([0,Me],[0,x(Vn)]);In=[0,[0,Tn[1],[0,ix,Tn[3],Nr]]]}else ct=1;ct&&(Zh(Vn,55),In=[0,[0,Ng(Vn),[0,Rfx,Mfx,0]]]);var Mx=In;Xt=1}return Xt||(Mx=0),[0,xn,Mx]},Jn)}function ie(Jn){return ys(0,function(Vn){ia(Vn,95);var zn=Di(Vn);if(typeof zn==\"number\"){if(zn===96)return uf(Vn),Bfx}else if(zn[0]===7)for(var Oi=0,xn=O1(Vn);;){var vt=Di(Vn);if(typeof vt==\"number\"){if(vt===0){Oi=[0,[1,n(Vn)],Oi];continue}}else if(vt[0]===7){Oi=[0,[0,dx(Vn)],Oi];continue}var Xt=yd(Oi),Me=[0,aI,[0,xn,BP(Vn,F4),Xt]];return BP(Vn,96)?[0,Me]:(Qz(Vn,96),[1,Me])}return Qz(Vn,96),Lfx},Jn)}function Ie(Jn){return ys(0,function(Vn){ia(Vn,95),ia(Vn,F4);var zn=Di(Vn);if(typeof zn==\"number\"){if(zn===96)return uf(Vn),KD}else if(zn[0]===7){var Oi=O1(Vn);return Ms(Di(Vn),96)?Qz(Vn,96):uf(Vn),[0,aI,[0,Oi]]}return Qz(Vn,96),KD},Jn)}var Ot=function Jn(Vn){return Jn.fun(Vn)},Or=function Jn(Vn){return Jn.fun(Vn)},Cr=function Jn(Vn){return Jn.fun(Vn)};function ni(Jn){switch(Jn[0]){case 0:return Jn[1][2][1];case 1:var Vn=Jn[1][2],zn=F2(Pfx,Vn[2][2][1]);return F2(Vn[1][2][1],zn);default:var Oi=Jn[1][2],xn=Oi[1];return F2(xn[0]===0?xn[1][2][1]:ni([2,xn[1]]),F2(Ifx,Oi[2][2][1]))}}return Ce(Ot,function(Jn){var Vn=Di(Jn);if(typeof Vn==\"number\"){if(Vn===0)return v(Jn)}else if(Vn[0]===8){var zn=Vn[1];return ia(Jn,Vn),[0,zn[1],[4,[0,zn[2],zn[3]]]]}var Oi=l(Cr,Jn),xn=Oi[2],vt=Oi[1];return KD<=xn[1]?[0,vt,[1,xn[2]]]:[0,vt,[0,xn[2]]]}),Ce(Or,function(Jn){var Vn=gs(Jn),zn=ie(Jn);uO(Jn);var Oi=zn[2];if(Oi[0]===0)var xn=Oi[1],vt=typeof xn==\"number\"?0:xn[2][2];else vt=1;if(vt)var Xt=ys(0,function(tu){return 0},Jn),Me=870530776;else{LP(Jn,3);for(var Ke=Ng(Jn),ct=0;;){var sr=Gz(Jn),kr=Di(Jn),wn=0;if(typeof kr==\"number\"){var In=0;if(kr===95){LP(Jn,2);var Tn=Di(Jn),ix=$4(1,Jn),Nr=0;if(typeof Tn==\"number\"&&Tn===95&&typeof ix==\"number\"){var Mx=0;if(F4!==ix&&ef!==ix&&(Mx=1),!Mx){var ko=Ie(Jn),iu=ko[2],Mi=ko[1],Bc=typeof iu==\"number\"?[0,KD,Mi]:[0,aI,[0,Mi,iu[2]]],ku=Jn[22][1],Kx=0;if(ku){var ic=ku[2];if(ic){var Br=ic[2];Kx=1}}Kx||(Br=qp(xQ1)),Jn[22][1]=Br;var Dt=qz(Jn),Li=Xq(Jn[23][1],Dt);Jn[24][1]=Li;var Dl=[0,yd(ct),sr,Bc];Nr=1}}if(!Nr){var du=l(Or,Jn),is=du[2],Fu=du[1];ct=[0,KD<=is[1]?[0,Fu,[1,is[2]]]:[0,Fu,[0,is[2]]],ct];continue}}else ef===kr?(Bw(0,Jn),Dl=[0,yd(ct),sr,pe]):(wn=1,In=1);if(!In){var Qt=sr?sr[1]:Ke;Xt=[0,gT(Ke,Qt),Dl[1]],Me=Dl[3]}}else wn=1;if(!wn)break;ct=[0,l(Ot,Jn),ct]}}var Rn=t2(Jn),ca=0;if(typeof Me!=\"number\"){var Pr=Me[1],On=0;if(aI===Pr){var mn=Me[2],He=zn[2];if(He[0]===0){var At=He[1];if(typeof At==\"number\")Zh(Jn,Ofx);else{var tr=ni(At[2][1]);rt(ni(mn[2][1]),tr)&&Zh(Jn,[18,tr])}}var Rr=mn[1]}else if(KD===Pr){var $n=zn[2];if($n[0]===0){var $r=$n[1];typeof $r!=\"number\"&&Zh(Jn,[18,ni($r[2][1])])}Rr=Me[2]}else On=1;if(!On){var Ga=Rr;ca=1}}ca||(Ga=zn[1]);var Xa=zn[2][1],ls=zn[1];if(typeof Xa==\"number\"){var Es=0,Fe=ns([0,Vn],[0,Rn]);if(typeof Me!=\"number\"){var Lt=Me[1],ln=0;if(aI===Lt)var tn=Me[2][1];else KD===Lt?tn=Me[2]:ln=1;if(!ln){var Ri=tn;Es=1}}Es||(Ri=Ga);var Ji=[0,KD,[0,ls,Ri,Xt,Fe]]}else{var Na=0,Do=ns([0,Vn],[0,Rn]);if(typeof Me!=\"number\"&&aI===Me[1]){var No=[0,Me[2]];Na=1}Na||(No=0),Ji=[0,aI,[0,[0,ls,Xa[2]],No,Xt,Do]]}return[0,gT(zn[1],Ga),Ji]}),Ce(Cr,function(Jn){return LP(Jn,2),l(Or,Jn)}),[0,x,n,m,L,v,a0,O1,dx,ie,Ie,Ot,Or,Cr]}(Lp),W20=function(i,x){var n=Di(x),m=0;if(typeof n==\"number\"?n===28?x[6]?Zh(x,53):x[14]&&Bw(0,x):n===58?x[17]?Zh(x,2):x[6]&&Zh(x,53):n===65?x[18]&&Zh(x,2):m=1:m=1,m)if(xr0(n))kL(x,53);else{var L=0;if(typeof n==\"number\")switch(n){case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 32:case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 43:case 44:case 45:case 46:case 47:case 49:case 50:case 51:case 58:case 59:case 65:var v=1;L=1}else n[0]===4&&k20(n[3])&&(v=1,L=1);L||(v=0);var a0=0;if(v)var O1=v;else{var dx=Zt0(n);if(dx)O1=dx;else{var ie=0;if(typeof n==\"number\")switch(n){case 29:case 30:case 31:break;default:ie=1}else if(n[0]===4){var Ie=n[3];rt(Ie,DQ1)&&rt(Ie,vQ1)&&rt(Ie,bQ1)&&(ie=1)}else ie=1;if(ie){var Ot=0;a0=1}else O1=1}}a0||(Ot=O1),Ot?Bw(0,x):i&&N20(n)&&kL(x,i[1])}return $M(x)},q20=function i(x){return i.fun(x)},lr0=function i(x,n,m){return i.fun(x,n,m)},fr0=function i(x){return i.fun(x)},J20=function i(x,n){return i.fun(x,n)},pr0=function i(x,n){return i.fun(x,n)},dr0=function i(x,n){return i.fun(x,n)},XY=function i(x,n){return i.fun(x,n)},oJ=function i(x,n){return i.fun(x,n)},YY=function i(x){return i.fun(x)},H20=function i(x){return i.fun(x)},G20=function i(x){return i.fun(x)},X20=function i(x,n,m){return i.fun(x,n,m)},Y20=function i(x){return i.fun(x)},Q20=function i(x,n){return i.fun(x,n)},Z20=WK[3],L2x=FI[3],M2x=FI[1],R2x=FI[6],j2x=WK[2],U2x=WK[1],V2x=WK[4],$2x=FI[5],K2x=FI[7],z2x=B2x[13],W2x=z20[6],q2x=z20[3];Ce(q20,function(i){var x=gs(i),n=yd(x);x:for(;;){if(n)for(var m=n[2],L=n[1],v=L[2],a0=L[1],O1=v[2],dx=0,ie=g(O1);;){if(ie<(dx+5|0))var Ie=0;else{var Ot=Da(vI(O1,dx,5),ZY1);if(!Ot){dx=dx+1|0;continue}Ie=Ot}if(!Ie){n=m;continue x}i[29][1]=a0[3];var Or=yd([0,[0,a0,v],m]);break}else Or=n;if(Or===0){var Cr=0;if(x){var ni=x[1],Jn=ni[2];if(Jn[1]===0){var Vn=Jn[2];if(1<=g(Vn)&&fr(Vn,0)===42){i[29][1]=ni[1][3];var zn=[0,ni,0];Cr=1}}}Cr||(zn=0)}else zn=Or;var Oi=z(J20,i,function(Ke){return 0}),xn=Ng(i);if(ia(i,ef),Oi)var vt=dq(yd(Oi))[1],Xt=gT(dq(Oi)[1],vt);else Xt=xn;var Me=yd(i[2][1]);return[0,Xt,[0,Oi,ns([0,zn],0),Me]]}}),Ce(lr0,function(i,x,n){for(var m=S20(1,i),L=mdx;;){var v=L[2],a0=L[1],O1=Di(m),dx=0;if(typeof O1==\"number\"&&ef===O1)var ie=[0,m,a0,v];else dx=1;if(dx)if(l(x,O1))ie=[0,m,a0,v];else{var Ie=0;if(typeof O1==\"number\"||O1[0]!==2)Ie=1;else{var Ot=l(n,m),Or=[0,Ot,v],Cr=Ot[2];if(Cr[0]===19){var ni=Cr[1][2];if(ni){var Jn=m[6]||Da(ni[1],ddx);m=ZV(Jn,m),L=[0,[0,O1,a0],Or];continue}}ie=[0,m,a0,Or]}Ie&&(ie=[0,m,a0,v])}var Vn=S20(0,m);return H9(function(zn){if(typeof zn!=\"number\"&&zn[0]===2){var Oi=zn[1],xn=Oi[4];return xn&&sO(Vn,[0,Oi[1],44])}return qp(F2(gdx,F2(Vd0(zn),hdx)))},yd(a0)),[0,Vn,ie[3]]}}),Ce(fr0,function(i){var x=l(WK[6],i),n=Di(i);if(typeof n==\"number\"){var m=n-49|0;if(!(11<m>>>0))switch(m){case 0:return z(m5[16],x,i);case 1:l(nr0(i),x);var L=$4(1,i);return l(typeof L==\"number\"&&L===4?m5[17]:m5[18],i);case 11:if($4(1,i)===49)return l(nr0(i),x),z(m5[12],0,i)}}return z(oJ,[0,x],i)}),Ce(J20,function(i,x){var n=zr(lr0,i,x,fr0);return U2(function(m,L){return[0,L,m]},z(pr0,x,n[1]),n[2])}),Ce(pr0,function(i,x){for(var n=0;;){var m=Di(x);if(typeof m==\"number\"&&ef===m||l(i,m))return yd(n);n=[0,l(fr0,x),n]}}),Ce(dr0,function(i,x){var n=zr(lr0,x,i,function(L){return z(oJ,0,L)}),m=n[1];return[0,U2(function(L,v){return[0,v,L]},z(XY,i,m),n[2]),m[6]]}),Ce(XY,function(i,x){for(var n=0;;){var m=Di(x);if(typeof m==\"number\"&&ef===m||l(i,m))return yd(n);n=[0,z(oJ,0,x),n]}}),Ce(oJ,function(i,x){var n=i&&i[1];1-zY(x)&&l(nr0(x),n);var m=Di(x);if(typeof m==\"number\"){if(m===27)return l(m5[27],x);if(m===28)return l(m5[3],x)}if($K(x))return l(gF[11],x);if(zY(x))return z(Z20,x,n);if(typeof m==\"number\"){var L=m+VC|0;if(!(14<L>>>0))switch(L){case 0:if(x[26][1])return l(gF[12],x);break;case 5:return l(m5[19],x);case 12:return z(m5[11],0,x);case 13:return l(m5[25],x);case 14:return l(m5[21],x)}}return l(YY,x)}),Ce(YY,function(i){var x=Di(i);if(typeof x==\"number\")switch(x){case 0:return l(m5[7],i);case 8:return l(m5[15],i);case 19:return l(m5[22],i);case 20:return l(m5[23],i);case 22:return l(m5[24],i);case 23:return l(m5[4],i);case 24:return l(m5[26],i);case 25:return l(m5[5],i);case 26:return l(m5[6],i);case 32:return l(m5[8],i);case 35:return l(m5[9],i);case 37:return l(m5[14],i);case 39:return l(m5[1],i);case 59:return l(m5[10],i);case 110:return Bw(ldx,i),[0,Ng(i),fdx];case 16:case 43:return l(m5[2],i);case 1:case 5:case 7:case 9:case 10:case 11:case 12:case 17:case 18:case 33:case 34:case 36:case 38:case 41:case 42:case 49:case 80:case 83:return Bw(pdx,i),uf(i),l(YY,i)}if($K(i)){var n=l(gF[11],i);return KK(i,n[1]),n}if(typeof x==\"number\"&&x===28&&$4(1,i)===6){var m=xJ(1,i);return Bl(i,[0,gT(Ng(i),m),95]),l(m5[17],i)}return tJ(i)?l(m5[20],i):(zY(i)&&(Bw(0,i),uf(i)),l(m5[17],i))}),Ce(H20,function(i){var x=Ng(i),n=l(FI[1],i),m=Di(i);return typeof m==\"number\"&&m===9?zr(FI[8],i,x,[0,n,0]):n}),Ce(G20,function(i){var x=Ng(i),n=l(FI[2],i),m=Di(i);if(typeof m==\"number\"&&m===9){var L=[0,z(GY[1],i,n),0];return[0,zr(FI[8],i,x,L)]}return n}),Ce(X20,function(i,x,n){var m=x&&x[1];return ys(0,function(L){var v=1-m,a0=W20([0,n],L),O1=v&&(Di(L)===82?1:0);return O1&&(1-u9(L)&&Zh(L,12),ia(L,82)),[0,a0,l(Z6[10],L),O1]},i)}),Ce(Y20,function(i){var x=Ng(i),n=gs(i);ia(i,0);var m=z(XY,function(dx){return dx===1?1:0},i),L=m===0?1:0,v=Ng(i),a0=L&&gs(i);ia(i,1);var O1=[0,m,X9([0,n],[0,t2(i)],a0)];return[0,gT(x,v),O1]}),Ce(Q20,function(i,x){var n=Ng(x),m=gs(x);ia(x,0);var L=z(dr0,function(Vn){return Vn===1?1:0},x),v=L[1],a0=v===0?1:0,O1=Ng(x),dx=a0&&gs(x);ia(x,1);var ie=Di(x),Ie=0;if(i===0){var Ot=0;if(typeof ie!=\"number\"||ie!==1&&ef!==ie||(Ot=1),!Ot){var Or=OP(x);if(Or){var Cr=e$(x);Ie=1}else Cr=Or,Ie=1}}Ie||(Cr=t2(x));var ni=L[2],Jn=[0,v,X9([0,m],[0,Cr],dx)];return[0,gT(n,O1),Jn,ni]}),zr(S9,Ddx,Lp,[0,q20,YY,oJ,XY,dr0,pr0,H20,G20,L2x,M2x,R2x,j2x,W20,X20,Y20,Q20,z2x,W2x,q2x,U2x,Z20,V2x,$2x,K2x]);var QY=[0,0],xm0=Ge,qK=function(i){return er(_q(i))},Y9=function(i){return ye(_q(i))},em0=function(i,x,n){try{return new RegExp(Ge(x),Ge(n))}catch{return QY[1]=[0,[0,i,24],QY[1]],new RegExp(ke,Ge(n))}},J2x=function(i){function x(n,m){var L=m[2],v=m[1],a0=Rt0(L),O1=[0,[0,vdx,l(i[1],a0)],0],dx=JY(n,v[3]),ie=[0,l(i[5],dx),0],Ie=JY(n,v[2]),Ot=[0,l(i[5],Ie),ie],Or=[0,[0,bdx,l(i[4],Ot)],O1],Cr=[0,[0,Cdx,l(i[5],v[3][2])],0],ni=[0,[0,Edx,l(i[5],v[3][1])],Cr],Jn=[0,[0,Sdx,l(i[3],ni)],0],Vn=[0,[0,Fdx,l(i[5],v[2][2])],0],zn=[0,[0,Adx,l(i[5],v[2][1])],Vn],Oi=[0,[0,Tdx,l(i[3],zn)],Jn],xn=[0,[0,wdx,l(i[3],Oi)],Or];switch(m[3]){case 0:var vt=kdx;break;case 1:vt=Ndx;break;case 2:vt=Pdx;break;case 3:vt=Idx;break;case 4:vt=Odx;break;default:vt=Bdx}var Xt=[0,[0,Ldx,l(i[1],vt)],xn],Me=Vd0(L),Ke=[0,[0,Mdx,l(i[1],Me)],Xt];return l(i[3],Ke)}return[0,x,function(n,m){var L=yd(qH(function(v){return x(n,v)},m));return l(i[4],L)}]}([0,xm0,Ue,qK,Y9,function(i){return i},function(i){return i},iO,em0]),WU=function(i,x,n){var m=x[n];return nG(m)?0|m:i},H2x=function(i,x){var n=sk(x,Vo0)?{}:x,m=wP(i),L=WU(cs[9],n,Rdx),v=WU(cs[8],n,jdx),a0=WU(cs[7],n,Udx),O1=WU(cs[6],n,Vdx),dx=WU(cs[5],n,$dx),ie=WU(cs[4],n,Kdx),Ie=WU(cs[3],n,zdx),Ot=WU(cs[2],n,Wdx),Or=[0,[0,WU(cs[1],n,qdx),Ot,Ie,ie,dx,O1,a0,v,L]],Cr=n.tokens,ni=nG(Cr),Jn=ni&&0|Cr,Vn=n.comments,zn=nG(Vn)?0|Vn:1,Oi=n.all_comments,xn=nG(Oi)?0|Oi:1,vt=[0,0],Xt=[0,Or],Me=[0,Jn&&[0,function(Ai){return vt[1]=[0,Ai,vt[1]],0}]],Ke=jE?jE[1]:1,ct=[0,Xt&&Xt[1]],sr=[0,Me&&Me[1]],kr=I2x([0,sr&&sr[1]],[0,ct&&ct[1]],0,m),wn=l(Lp[1],kr),In=yd(kr[1][1]),Tn=yd(U2(function(Ai,dr){var m1=Ai[2],Wn=Ai[1];return z(cr0[3],dr,Wn)?[0,Wn,m1]:[0,z(cr0[4],dr,Wn),[0,dr,m1]]},[0,cr0[1],0],In)[2]);if(Ke&&(Tn!==0?1:0))throw[0,A2x,Tn];QY[1]=0;for(var ix=g(m)-0|0,Nr=m,Mx=0,ko=0;;){if(ko===ix)var iu=Mx;else{var Mi=PA(Nr,ko),Bc=0;if(0<=Mi&&!(sS<Mi))var ku=1;else Bc=1;if(Bc){var Kx=0;if(194<=Mi&&!(bx<Mi)?ku=2:Kx=1,Kx){var ic=0;if(we<=Mi&&!(239<Mi)?ku=3:ic=1,ic){var Br=0;zk<=Mi&&!(244<Mi)?ku=4:Br=1,Br&&(ku=0)}}}if(ku===0){Mx=ar0(Mx,0,0),ko=ko+1|0;continue}if(!((ix-ko|0)<ku)){var Dt=ku-1|0,Li=ko+ku|0;if(3<Dt>>>0)throw[0,Cs,lC0];switch(Dt){case 0:var Dl=PA(Nr,ko);break;case 1:Dl=(31&PA(Nr,ko))<<6|63&PA(Nr,ko+1|0);break;case 2:Dl=(15&PA(Nr,ko))<<12|(63&PA(Nr,ko+1|0))<<6|63&PA(Nr,ko+2|0);break;default:Dl=(7&PA(Nr,ko))<<18|(63&PA(Nr,ko+1|0))<<12|(63&PA(Nr,ko+2|0))<<6|63&PA(Nr,ko+3|0)}Mx=ar0(Mx,0,[0,Dl]),ko=Li;continue}iu=ar0(Mx,0,0)}for(var du=LZ1,is=yd([0,6,iu]);;){var Fu=du[3],Qt=du[2],Rn=du[1];if(!is){var ca=_q(yd(Fu)),Pr=function(Ai,dr){return Y9(yd(qH(Ai,dr)))},On=function(Ai,dr){return dr?l(Ai,dr[1]):iO},mn=function(Ai,dr){return dr[0]===0?iO:l(Ai,dr[1])},He=function(Ai){return qK([0,[0,rux,Ai[1]],[0,[0,tux,Ai[2]],0]])},At=function(Ai){var dr=Ai[1];if(dr)var m1=dr[1],Wn=typeof m1==\"number\"?au:Ge(m1[1]);else Wn=iO;var zc=[0,[0,Zsx,He(Ai[3])],0];return qK([0,[0,eux,Wn],[0,[0,xux,He(Ai[2])],zc]])},tr=function(Ai){if(Ai){var dr=Ai[1],m1=[0,c6(dr[3],dr[2])];return ns([0,dr[1]],m1)}return Ai},Rr=[0,ca],$n=function(Ai){return Pr(Fk,Ai)},$r=function(Ai,dr,m1,Wn){if(Rr)var zc=Rr[1],kl=[0,JY(zc,dr[3]),0],u_=[0,[0,RZ1,Y9([0,JY(zc,dr[2]),kl])],0];else u_=Rr;var s3=0,QC=c6(u_,[0,[0,jZ1,At(dr)],0]);if(zn!==0&&m1){var E6=m1[1],cS=E6[1];if(cS){var UF=E6[2];if(UF)var VF=[0,[0,UZ1,$n(UF)],0],W8=[0,[0,VZ1,$n(cS)],VF];else W8=[0,[0,$Z1,$n(cS)],0];var xS=W8}else{var aF=E6[2];xS=aF&&[0,[0,KZ1,$n(aF)],0]}var OS=xS;s3=1}return s3||(OS=0),qK(vj(c6(QC,c6(OS,[0,[0,zZ1,Ge(Ai)],0])),Wn))},Ga=function(Ai){return Pr(P8,Ai)},Xa=function(Ai){var dr=Ai[2];return $r(Sex,Ai[1],dr[2],[0,[0,Eex,Ge(dr[1])],[0,[0,Cex,iO],[0,[0,bex,!1],0]]])},ls=function(Ai){var dr=Ai[2],m1=dr[1],Wn=m1[0]===0?Xa(m1[1]):ls(m1[1]),zc=[0,[0,Qax,Wn],[0,[0,Yax,Xa(dr[2])],0]];return $r(Zax,Ai[1],0,zc)},Es=function(Ai){var dr=Ai[2],m1=dr[1],Wn=m1[0]===0?Xa(m1[1]):ls(m1[1]),zc=[0,[0,eox,Wn],[0,[0,xox,On(G5,dr[2])],0]];return $r(tox,Ai[1],dr[3],zc)},Fe=function(Ai){var dr=Ai[2],m1=dr[2],Wn=dr[1],zc=Ai[1];if(typeof Wn==\"number\")var kl=iO;else switch(Wn[0]){case 0:kl=Ge(Wn[1]);break;case 1:kl=!!Wn[1];break;case 2:kl=Wn[1];break;case 3:kl=qp(znx);break;default:var u_=Wn[1];kl=em0(zc,u_[1],u_[2])}var s3=0;if(typeof Wn!=\"number\"&&Wn[0]===4){var QC=Wn[1],E6=[0,[0,Jnx,qK([0,[0,qnx,Ge(QC[1])],[0,[0,Wnx,Ge(QC[2])],0]])],0],cS=[0,[0,Gnx,kl],[0,[0,Hnx,Ge(m1)],E6]];s3=1}return s3||(cS=[0,[0,Ynx,kl],[0,[0,Xnx,Ge(m1)],0]]),$r(Qnx,zc,dr[3],cS)},Lt=function(Ai){var dr=[0,[0,rox,tn(Ai[2])],0];return[0,[0,nox,tn(Ai[1])],dr]},ln=function(Ai,dr){var m1=dr[2],Wn=[0,[0,Zix,!!m1[3]],0],zc=[0,[0,xax,tn(m1[2])],Wn],kl=[0,[0,eax,On(Xa,m1[1])],zc];return $r(tax,dr[1],Ai,kl)},tn=function(Ai){var dr=Ai[2],m1=Ai[1];switch(dr[0]){case 0:return $r(Bix,m1,dr[1],0);case 1:return $r(Lix,m1,dr[1],0);case 2:return $r(Mix,m1,dr[1],0);case 3:return $r(Rix,m1,dr[1],0);case 4:return $r(jix,m1,dr[1],0);case 5:return $r(Vix,m1,dr[1],0);case 6:return $r($ix,m1,dr[1],0);case 7:return $r(Kix,m1,dr[1],0);case 8:return $r(zix,m1,dr[1],0);case 9:return $r(Uix,m1,dr[1],0);case 10:return $r(kox,m1,dr[1],0);case 11:var Wn=dr[1],zc=[0,[0,Wix,tn(Wn[1])],0];return $r(qix,m1,Wn[2],zc);case 12:return Ri([0,m1,dr[1]]);case 13:return Ji(1,[0,m1,dr[1]]);case 14:var kl=dr[1],u_=[0,[0,qax,Ji(0,kl[1])],0],s3=[0,[0,Jax,Pr(o3,kl[2])],u_];return $r(Hax,m1,kl[3],s3);case 15:var QC=dr[1],E6=[0,[0,Gax,tn(QC[1])],0];return $r(Xax,m1,QC[2],E6);case 16:return Es([0,m1,dr[1]]);case 17:var cS=dr[1],UF=Lt(cS);return $r(iox,m1,cS[3],UF);case 18:var VF=dr[1],W8=VF[1],xS=[0,[0,aox,!!VF[2]],0],aF=c6(Lt(W8),xS);return $r(oox,m1,W8[3],aF);case 19:var OS=dr[1],W4=OS[1],LA=[0,[0,sox,Pr(tn,[0,W4[1],[0,W4[2],W4[3]]])],0];return $r(uox,m1,OS[2],LA);case 20:var _F=dr[1],eS=_F[1],DT=[0,[0,cox,Pr(tn,[0,eS[1],[0,eS[2],eS[3]]])],0];return $r(lox,m1,_F[2],DT);case 21:var X5=dr[1],Mw=[0,[0,fox,tn(X5[1])],0];return $r(pox,m1,X5[3],Mw);case 22:var B5=dr[1],Gk=[0,[0,dox,Pr(tn,B5[1])],0];return $r(mox,m1,B5[2],Gk);case 23:var xx=dr[1];return $r(_ox,m1,xx[3],[0,[0,gox,Ge(xx[1])],[0,[0,hox,Ge(xx[2])],0]]);case 24:var lS=dr[1];return $r(vox,m1,lS[3],[0,[0,Dox,lS[1]],[0,[0,yox,Ge(lS[2])],0]]);case 25:var dk=dr[1];return $r(Eox,m1,dk[3],[0,[0,Cox,iO],[0,[0,box,Ge(dk[2])],0]]);default:var h5=dr[1],Tk=h5[1],_w=Tk?Sox:Fox;return $r(wox,m1,h5[2],[0,[0,Tox,!!Tk],[0,[0,Aox,Ge(_w)],0]])}},Ri=function(Ai){var dr=Ai[2],m1=dr[2][2],Wn=dr[4],zc=NP(tr(m1[4]),Wn),kl=[0,[0,Jix,On(bS,dr[1])],0],u_=[0,[0,Hix,On(c9,m1[3])],kl],s3=[0,[0,Gix,tn(dr[3])],u_],QC=[0,[0,Xix,On(Lw,m1[1])],s3],E6=m1[2],cS=[0,[0,Yix,Pr(function(UF){return ln(0,UF)},E6)],QC];return $r(Qix,Ai[1],zc,cS)},Ji=function(Ai,dr){var m1=dr[2],Wn=m1[3],zc=U2(function(VF,W8){var xS=VF[4],aF=VF[3],OS=VF[2],W4=VF[1];switch(W8[0]){case 0:var LA=W8[1],_F=LA[2],eS=_F[2],DT=_F[1];switch(DT[0]){case 0:var X5=Fe(DT[1]);break;case 1:X5=Xa(DT[1]);break;case 2:X5=qp(max);break;default:X5=qp(hax)}switch(eS[0]){case 0:var Mw=[0,tn(eS[1]),gax];break;case 1:var B5=eS[1];Mw=[0,Ri([0,B5[1],B5[2]]),_ax];break;default:var Gk=eS[1];Mw=[0,Ri([0,Gk[1],Gk[2]]),yax]}var xx=[0,[0,Dax,Ge(Mw[2])],0],lS=[0,[0,vax,On(a4,_F[7])],xx];return[0,[0,$r(Tax,LA[1],_F[8],[0,[0,Aax,X5],[0,[0,Fax,Mw[1]],[0,[0,Sax,!!_F[6]],[0,[0,Eax,!!_F[3]],[0,[0,Cax,!!_F[4]],[0,[0,bax,!!_F[5]],lS]]]]]]),W4],OS,aF,xS];case 1:var dk=W8[1],h5=dk[2],Tk=[0,[0,wax,tn(h5[1])],0];return[0,[0,$r(kax,dk[1],h5[2],Tk),W4],OS,aF,xS];case 2:var _w=W8[1],mk=_w[2],Rw=[0,[0,Nax,On(a4,mk[5])],0],SN=[0,[0,Pax,!!mk[4]],Rw],fx=[0,[0,Iax,tn(mk[3])],SN],T9=[0,[0,Oax,tn(mk[2])],fx],FN=[0,[0,Bax,On(Xa,mk[1])],T9];return[0,W4,[0,$r(Lax,_w[1],mk[6],FN),OS],aF,xS];case 3:var Xk=W8[1],wk=Xk[2],kk=[0,[0,Max,!!wk[2]],0],w9=[0,[0,Rax,Ri(wk[1])],kk];return[0,W4,OS,[0,$r(jax,Xk[1],wk[3],w9),aF],xS];default:var AN=W8[1],l9=AN[2],AI=[0,[0,Uax,tn(l9[2])],0],cO=[0,[0,Kax,!!l9[3]],[0,[0,$ax,!!l9[4]],[0,[0,Vax,!!l9[5]],AI]]],MP=[0,[0,zax,Xa(l9[1])],cO];return[0,W4,OS,aF,[0,$r(Wax,AN[1],l9[6],MP),xS]]}},oax,Wn),kl=[0,[0,sax,Y9(yd(zc[4]))],0],u_=[0,[0,uax,Y9(yd(zc[3]))],kl],s3=[0,[0,cax,Y9(yd(zc[2]))],u_],QC=[0,[0,lax,Y9(yd(zc[1]))],s3],E6=[0,[0,fax,!!m1[1]],QC],cS=Ai?[0,[0,pax,!!m1[2]],E6]:E6,UF=tr(m1[4]);return $r(dax,dr[1],UF,cS)},Na=function(Ai){var dr=[0,[0,Nox,tn(Ai[2])],0];return $r(Pox,Ai[1],0,dr)},Do=function(Ai){var dr=Ai[2];switch(dr[2]){case 0:var m1=Eix;break;case 1:m1=Six;break;default:m1=Fix}var Wn=[0,[0,Aix,Ge(m1)],0],zc=[0,[0,Tix,Pr(YA,dr[1])],Wn];return $r(wix,Ai[1],dr[3],zc)},No=function(Ai){var dr=Ai[2];return $r(oix,Ai[1],dr[3],[0,[0,aix,Ge(dr[1])],[0,[0,iix,Ge(dr[2])],0]])},tu=function(Ai){var dr=Ai[2],m1=[0,[0,inx,IO],[0,[0,nnx,Na(dr[1])],0]];return $r(anx,Ai[1],dr[2],m1)},Vs=function(Ai,dr){var m1=dr[1][2],Wn=[0,[0,Tex,!!dr[3]],0],zc=[0,[0,wex,mn(Na,dr[2])],Wn];return $r(Nex,Ai,m1[2],[0,[0,kex,Ge(m1[1])],zc])},As=function(Ai){var dr=Ai[2],m1=[0,[0,Fex,Xa(dr[1])],0];return $r(Aex,Ai[1],dr[2],m1)},vu=function(Ai){return Pr(sx,Ai[2][1])},Wu=function(Ai){var dr=Ai[2],m1=[0,[0,Gox,$r(asx,dr[2],0,0)],0],Wn=[0,[0,Xox,Pr(QA,dr[3][2])],m1],zc=[0,[0,Yox,$r(rsx,dr[1],0,0)],Wn];return $r(Qox,Ai[1],dr[4],zc)},L1=function(Ai){var dr=Ai[2];return $r(Asx,Ai[1],dr[2],[0,[0,Fsx,Ge(dr[1])],0])},hu=function(Ai){var dr=Ai[2],m1=[0,[0,Csx,L1(dr[2])],0],Wn=[0,[0,Esx,L1(dr[1])],m1];return $r(Ssx,Ai[1],0,Wn)},Qu=function(Ai){var dr=Ai[2],m1=dr[1],Wn=m1[0]===0?L1(m1[1]):Qu(m1[1]),zc=[0,[0,vsx,Wn],[0,[0,Dsx,L1(dr[2])],0]];return $r(bsx,Ai[1],0,zc)},pc=function(Ai){switch(Ai[0]){case 0:return L1(Ai[1]);case 1:return hu(Ai[1]);default:return Qu(Ai[1])}},il=function(Ai){var dr=Ai[2],m1=[0,[0,Wox,Pr(QA,dr[3][2])],0],Wn=[0,[0,qox,On(h6,dr[2])],m1],zc=dr[1],kl=zc[2],u_=[0,[0,Zox,!!kl[2]],0],s3=[0,[0,xsx,Pr(BA,kl[3])],u_],QC=[0,[0,esx,pc(kl[1])],s3],E6=[0,[0,Jox,$r(tsx,zc[1],0,QC)],Wn];return $r(Hox,Ai[1],dr[4],E6)},Zu=function(Ai){var dr=Ai[2],m1=[0,[0,pix,Pr(tc,dr[2])],0],Wn=[0,[0,dix,Pr(OA,dr[1])],m1];return $r(mix,Ai[1],dr[3],Wn)},fu=function(Ai,dr){var m1=dr[2],Wn=m1[7],zc=m1[5],kl=m1[4];if(kl)var u_=kl[1][2],s3=NP(u_[3],Wn),QC=[0,u_[1]],E6=u_[2],cS=s3;else QC=0,E6=0,cS=Wn;if(zc)var UF=zc[1][2],VF=NP(UF[2],cS),W8=Pr(OT,UF[1]),xS=VF;else W8=Y9(0),xS=cS;var aF=[0,[0,Etx,W8],[0,[0,Ctx,Pr(XT,m1[6])],0]],OS=[0,[0,Stx,On(G5,E6)],aF],W4=[0,[0,Ftx,On(tc,QC)],OS],LA=[0,[0,Atx,On(bS,m1[3])],W4],_F=m1[2],eS=_F[2],DT=[0,[0,Btx,Pr(r0,eS[1])],0],X5=[0,[0,Ttx,$r(Ltx,_F[1],eS[2],DT)],LA],Mw=[0,[0,wtx,On(Xa,m1[1])],X5];return $r(Ai,dr[1],xS,Mw)},vl=function(Ai){var dr=Ai[2],m1=[0,[0,Rex,Ga(dr[1])],0],Wn=tr(dr[2]);return $r(jex,Ai[1],Wn,m1)},id=function(Ai){var dr=Ai[2];switch(dr[0]){case 0:var m1=[0,Xa(dr[1]),0];break;case 1:m1=[0,As(dr[1]),0];break;default:m1=[0,tc(dr[1]),1]}var Wn=[0,[0,Gsx,m1[1]],[0,[0,Hsx,!!m1[2]],0]];return[0,[0,Xsx,tc(Ai[1])],Wn]},_f=function(Ai){var dr=[0,[0,Wsx,vu(Ai[3])],0],m1=[0,[0,qsx,On(K4,Ai[2])],dr];return[0,[0,Jsx,tc(Ai[1])],m1]},sm=function(Ai){var dr=Ai[2],m1=dr[3],Wn=dr[2],zc=dr[1];if(m1){var kl=m1[1],u_=kl[2],s3=[0,[0,onx,Pd(u_[1])],0],QC=yd([0,$r(snx,kl[1],u_[2],s3),qH(_T,Wn)]),E6=zc?[0,tu(zc[1]),QC]:QC;return Y9(E6)}var cS=SK(_T,Wn),UF=zc?[0,tu(zc[1]),cS]:cS;return Y9(UF)},Pd=function(Ai){var dr=Ai[2],m1=Ai[1];switch(dr[0]){case 0:var Wn=dr[1],zc=[0,[0,Grx,mn(Na,Wn[2])],0],kl=[0,[0,Xrx,Pr(LT,Wn[1])],zc];return $r(Yrx,m1,tr(Wn[3]),kl);case 1:var u_=dr[1],s3=[0,[0,Qrx,mn(Na,u_[2])],0],QC=[0,[0,Zrx,Pr(IS,u_[1])],s3];return $r(xnx,m1,tr(u_[3]),QC);case 2:return Vs(m1,dr[1]);default:return tc(dr[1])}},tc=function(Ai){var dr=Ai[2],m1=Ai[1];switch(dr[0]){case 0:var Wn=dr[1],zc=[0,[0,C1x,Pr(XA,Wn[1])],0];return $r(E1x,m1,tr(Wn[2]),zc);case 1:var kl=dr[1],u_=kl[7],s3=kl[3],QC=kl[2],E6=s3[0]===0?[0,vl(s3[1]),0]:[0,tc(s3[1]),1],cS=u_[0]===0?0:[0,u_[1]],UF=kl[9],VF=NP(tr(QC[2][4]),UF),W8=[0,[0,S1x,On(bS,kl[8])],0],xS=[0,[0,F1x,On(Na,cS)],W8],aF=[0,[0,A1x,!!E6[2]],xS],OS=[0,[0,w1x,!1],[0,[0,T1x,On(pk,kl[6])],aF]],W4=[0,[0,N1x,E6[1]],[0,[0,k1x,!!kl[4]],OS]];return $r(O1x,m1,VF,[0,[0,I1x,iO],[0,[0,P1x,sm(QC)],W4]]);case 2:var LA=dr[1],_F=LA[1];if(_F){switch(_F[1]){case 0:var eS=Wk1;break;case 1:eS=qk1;break;case 2:eS=Jk1;break;case 3:eS=Hk1;break;case 4:eS=Gk1;break;case 5:eS=Xk1;break;case 6:eS=Yk1;break;case 7:eS=Qk1;break;case 8:eS=Zk1;break;case 9:eS=x91;break;case 10:eS=e91;break;default:eS=t91}var DT=eS}else DT=B1x;var X5=[0,[0,L1x,tc(LA[3])],0],Mw=[0,[0,M1x,Pd(LA[2])],X5];return $r(j1x,m1,LA[4],[0,[0,R1x,Ge(DT)],Mw]);case 3:var B5=dr[1],Gk=[0,[0,U1x,tc(B5[3])],0],xx=[0,[0,V1x,tc(B5[2])],Gk];switch(B5[1]){case 0:var lS=Ck1;break;case 1:lS=Ek1;break;case 2:lS=Sk1;break;case 3:lS=Fk1;break;case 4:lS=Ak1;break;case 5:lS=Tk1;break;case 6:lS=wk1;break;case 7:lS=kk1;break;case 8:lS=Nk1;break;case 9:lS=Pk1;break;case 10:lS=Ik1;break;case 11:lS=Ok1;break;case 12:lS=Bk1;break;case 13:lS=Lk1;break;case 14:lS=Mk1;break;case 15:lS=Rk1;break;case 16:lS=jk1;break;case 17:lS=Uk1;break;case 18:lS=Vk1;break;case 19:lS=$k1;break;case 20:lS=Kk1;break;default:lS=zk1}return $r(K1x,m1,B5[4],[0,[0,$1x,Ge(lS)],xx]);case 4:var dk=dr[1],h5=dk[4],Tk=NP(tr(dk[3][2][2]),h5);return $r(z1x,m1,Tk,_f(dk));case 5:return fu(btx,[0,m1,dr[1]]);case 6:var _w=dr[1],mk=[0,[0,W1x,On(tc,_w[2])],0];return $r(J1x,m1,0,[0,[0,q1x,Pr(O5,_w[1])],mk]);case 7:var Rw=dr[1],SN=[0,[0,H1x,tc(Rw[3])],0],fx=[0,[0,G1x,tc(Rw[2])],SN],T9=[0,[0,X1x,tc(Rw[1])],fx];return $r(Y1x,m1,Rw[4],T9);case 8:return YC([0,m1,dr[1]]);case 9:var FN=dr[1],Xk=[0,[0,Q1x,On(tc,FN[2])],0];return $r(xxx,m1,0,[0,[0,Z1x,Pr(O5,FN[1])],Xk]);case 10:return Xa(dr[1]);case 11:var wk=dr[1],kk=[0,[0,exx,tc(wk[1])],0];return $r(txx,m1,wk[2],kk);case 12:return il([0,m1,dr[1]]);case 13:return Wu([0,m1,dr[1]]);case 14:var w9=dr[1],AN=w9[1];return typeof AN!=\"number\"&&AN[0]===3?$r(nix,m1,w9[3],[0,[0,rix,iO],[0,[0,tix,Ge(w9[2])],0]]):Fe([0,m1,w9]);case 15:var l9=dr[1];switch(l9[1]){case 0:var AI=rxx;break;case 1:AI=nxx;break;default:AI=ixx}var cO=[0,[0,axx,tc(l9[3])],0],MP=[0,[0,oxx,tc(l9[2])],cO];return $r(uxx,m1,l9[4],[0,[0,sxx,Ge(AI)],MP]);case 16:var c1=dr[1],na=id(c1);return $r(cxx,m1,c1[3],na);case 17:var r2=dr[1],Lh=[0,[0,lxx,Xa(r2[2])],0],Rm=[0,[0,fxx,Xa(r2[1])],Lh];return $r(pxx,m1,r2[3],Rm);case 18:var V2=dr[1],Yc=V2[4],$6=V2[3];if($6)var g6=$6[1],xT=NP(tr(g6[2][2]),Yc),oF=vu(g6),f6=xT;else oF=Y9(0),f6=Yc;var Mp=[0,[0,mxx,On(K4,V2[2])],[0,[0,dxx,oF],0]];return $r(gxx,m1,f6,[0,[0,hxx,tc(V2[1])],Mp]);case 19:var Bf=dr[1],K6=[0,[0,_xx,Pr(I5,Bf[1])],0];return $r(yxx,m1,tr(Bf[2]),K6);case 20:var sF=dr[1],tP=sF[1],NL=tP[4],lO=NP(tr(tP[3][2][2]),NL),PL=[0,[0,Dxx,!!sF[2]],0];return $r(vxx,m1,lO,c6(_f(tP),PL));case 21:var zM=dr[1],WM=zM[1],_x=[0,[0,bxx,!!zM[2]],0],qM=c6(id(WM),_x);return $r(Cxx,m1,WM[3],qM);case 22:var JM=dr[1],qU=[0,[0,Exx,Pr(tc,JM[1])],0];return $r(Sxx,m1,JM[2],qU);case 23:return $r(Fxx,m1,dr[1][1],0);case 24:var HM=dr[1],Dx=[0,[0,vix,Zu(HM[2])],0],cB=[0,[0,bix,tc(HM[1])],Dx];return $r(Cix,m1,HM[3],cB);case 25:return Zu([0,m1,dr[1]]);case 26:return $r(Axx,m1,dr[1][1],0);case 27:var GM=dr[1],kj=[0,[0,Txx,Na(GM[2])],0],fO=[0,[0,wxx,tc(GM[1])],kj];return $r(kxx,m1,GM[3],fO);case 28:var XM=dr[1],Nj=XM[3],TI=XM[2],lB=XM[1];if(7<=lB)return $r(Pxx,m1,Nj,[0,[0,Nxx,tc(TI)],0]);switch(lB){case 0:var k9=Ixx;break;case 1:k9=Oxx;break;case 2:k9=Bxx;break;case 3:k9=Lxx;break;case 4:k9=Mxx;break;case 5:k9=Rxx;break;case 6:k9=jxx;break;default:k9=qp(Uxx)}var YM=[0,[0,$xx,!0],[0,[0,Vxx,tc(TI)],0]];return $r(zxx,m1,Nj,[0,[0,Kxx,Ge(k9)],YM]);case 29:var pO=dr[1],JU=pO[1]===0?qxx:Wxx,HU=[0,[0,Jxx,!!pO[3]],0],GU=[0,[0,Hxx,tc(pO[2])],HU];return $r(Xxx,m1,pO[4],[0,[0,Gxx,Ge(JU)],GU]);default:var wI=dr[1],QM=[0,[0,Yxx,!!wI[3]],0],t$=[0,[0,Qxx,On(tc,wI[1])],QM];return $r(Zxx,m1,wI[2],t$)}},YC=function(Ai){var dr=Ai[2],m1=dr[7],Wn=dr[3],zc=dr[2],kl=Wn[0]===0?Wn[1]:qp(lex),u_=m1[0]===0?0:[0,m1[1]],s3=dr[9],QC=NP(tr(zc[2][4]),s3),E6=[0,[0,fex,On(bS,dr[8])],0],cS=[0,[0,dex,!1],[0,[0,pex,On(Na,u_)],E6]],UF=[0,[0,mex,On(pk,dr[6])],cS],VF=[0,[0,gex,!!dr[4]],[0,[0,hex,!!dr[5]],UF]],W8=[0,[0,_ex,vl(kl)],VF],xS=[0,[0,yex,sm(zc)],W8],aF=[0,[0,Dex,On(Xa,dr[1])],xS];return $r(vex,Ai[1],QC,aF)},km=function(Ai){var dr=Ai[2],m1=[0,[0,Vrx,Pr(o3,dr[3])],0],Wn=[0,[0,$rx,Ji(0,dr[4])],m1],zc=[0,[0,Krx,On(bS,dr[2])],Wn],kl=[0,[0,zrx,Xa(dr[1])],zc];return $r(Wrx,Ai[1],dr[5],kl)},lC=function(Ai,dr){var m1=dr[2],Wn=Ai?mtx:htx,zc=[0,[0,gtx,On(tn,m1[4])],0],kl=[0,[0,_tx,On(tn,m1[3])],zc],u_=[0,[0,ytx,On(bS,m1[2])],kl],s3=[0,[0,Dtx,Xa(m1[1])],u_];return $r(Wn,dr[1],m1[5],s3)},A2=function(Ai){var dr=Ai[2],m1=[0,[0,ltx,tn(dr[3])],0],Wn=[0,[0,ftx,On(bS,dr[2])],m1],zc=[0,[0,ptx,Xa(dr[1])],Wn];return $r(dtx,Ai[1],dr[4],zc)},s_=function(Ai){if(Ai){var dr=Ai[1];if(dr[0]===0)return Pr(z4,dr[1]);var m1=dr[1],Wn=m1[2];if(Wn){var zc=[0,[0,itx,Xa(Wn[1])],0];return Y9([0,$r(atx,m1[1],0,zc),0])}return Y9(0)}return Y9(0)},Db=function(Ai){return Ai===0?ntx:rtx},o3=function(Ai){var dr=Ai[2],m1=dr[1],Wn=m1[0]===0?Xa(m1[1]):ls(m1[1]),zc=[0,[0,Jrx,Wn],[0,[0,qrx,On(G5,dr[2])],0]];return $r(Hrx,Ai[1],dr[3],zc)},l6=function(Ai){var dr=Ai[2],m1=dr[6],Wn=dr[4],zc=Y9(Wn?[0,o3(Wn[1]),0]:0),kl=m1?Pr(OT,m1[1][2][1]):Y9(0),u_=[0,[0,Jex,zc],[0,[0,qex,kl],[0,[0,Wex,Pr(o3,dr[5])],0]]],s3=[0,[0,Hex,Ji(0,dr[3])],u_],QC=[0,[0,Gex,On(bS,dr[2])],s3],E6=[0,[0,Xex,Xa(dr[1])],QC];return $r(Yex,Ai[1],dr[7],E6)},fC=function(Ai){var dr=Ai[2],m1=dr[2],Wn=dr[1],zc=gT(Wn[1],m1[1]),kl=[0,[0,$ex,On(pk,dr[3])],0],u_=[0,[0,Kex,Vs(zc,[0,Wn,[1,m1],0])],kl];return $r(zex,Ai[1],dr[4],u_)},uS=function(Ai){var dr=Ai[2],m1=dr[2],Wn=dr[1],zc=m1[0]===0?Wn[1]:m1[1][1],kl=[0,[0,Uex,Vs(gT(Wn[1],zc),[0,Wn,m1,0])],0];return $r(Vex,Ai[1],dr[3],kl)},P8=function(Ai){var dr=Ai[2],m1=Ai[1];switch(dr[0]){case 0:return vl([0,m1,dr[1]]);case 1:var Wn=dr[1],zc=[0,[0,GZ1,On(Xa,Wn[1])],0];return $r(XZ1,m1,Wn[2],zc);case 2:return fu(vtx,[0,m1,dr[1]]);case 3:var kl=dr[1],u_=[0,[0,YZ1,On(Xa,kl[1])],0];return $r(QZ1,m1,kl[2],u_);case 4:return $r(ZZ1,m1,dr[1][1],0);case 5:return l6([0,m1,dr[1]]);case 6:var s3=dr[1],QC=s3[5],E6=s3[4],cS=s3[3],UF=s3[2];if(cS){var VF=cS[1];if(VF[0]!==0&&!VF[1][2])return $r(e0x,m1,QC,[0,[0,x0x,On(No,E6)],0])}if(UF){var W8=UF[1];switch(W8[0]){case 0:var xS=uS(W8[1]);break;case 1:xS=fC(W8[1]);break;case 2:xS=l6(W8[1]);break;case 3:xS=tn(W8[1]);break;case 4:xS=A2(W8[1]);break;case 5:xS=lC(1,W8[1]);break;default:xS=km(W8[1])}var aF=xS}else aF=iO;var OS=[0,[0,t0x,On(No,E6)],0],W4=[0,[0,n0x,aF],[0,[0,r0x,s_(cS)],OS]],LA=s3[1];return $r(a0x,m1,QC,[0,[0,i0x,!!LA],W4]);case 7:return fC([0,m1,dr[1]]);case 8:var _F=dr[1],eS=[0,[0,Qex,Pr(o3,_F[3])],0],DT=[0,[0,Zex,Ji(0,_F[4])],eS],X5=[0,[0,xtx,On(bS,_F[2])],DT],Mw=[0,[0,etx,Xa(_F[1])],X5];return $r(ttx,m1,_F[5],Mw);case 9:var B5=dr[1],Gk=B5[1],xx=Gk[0]===0?Xa(Gk[1]):No(Gk[1]),lS=B5[3][0]===0?\"CommonJS\":\"ES\",dk=[0,[0,u0x,xx],[0,[0,s0x,vl(B5[2])],[0,[0,o0x,lS],0]]];return $r(c0x,m1,B5[4],dk);case 10:var h5=dr[1],Tk=[0,[0,l0x,Na(h5[1])],0];return $r(f0x,m1,h5[2],Tk);case 11:var _w=dr[1],mk=[0,[0,otx,tn(_w[3])],0],Rw=[0,[0,stx,On(bS,_w[2])],mk],SN=[0,[0,utx,Xa(_w[1])],Rw];return $r(ctx,m1,_w[4],SN);case 12:return lC(1,[0,m1,dr[1]]);case 13:return uS([0,m1,dr[1]]);case 14:var fx=dr[1],T9=[0,[0,p0x,tc(fx[2])],0],FN=[0,[0,d0x,P8(fx[1])],T9];return $r(m0x,m1,fx[3],FN);case 15:return $r(h0x,m1,dr[1][1],0);case 16:var Xk=dr[1],wk=Xk[2],kk=wk[2],w9=wk[1];switch(kk[0]){case 0:var AN=kk[1],l9=[0,[0,Erx,!!AN[2]],[0,[0,Crx,!!AN[3]],0]],AI=AN[1],cO=[0,[0,Srx,Pr(function(Y5){var TN=Y5[2],dO=TN[2],jP=dO[2],xV=jP[1],f$=xV?six:uix,p$=[0,[0,Drx,$r(fix,dO[1],jP[2],[0,[0,lix,!!xV],[0,[0,cix,Ge(f$)],0]])],0],QK=[0,[0,vrx,Xa(TN[1])],p$];return $r(brx,Y5[1],0,QK)},AI)],l9],MP=$r(Frx,w9,AN[4],cO);break;case 1:var c1=kk[1],na=[0,[0,Trx,!!c1[2]],[0,[0,Arx,!!c1[3]],0]],r2=c1[1],Lh=[0,[0,wrx,Pr(function(Y5){var TN=Y5[2],dO=TN[2],jP=dO[2],xV=[0,[0,grx,$r(eix,dO[1],jP[3],[0,[0,xix,jP[1]],[0,[0,Znx,Ge(jP[2])],0]])],0],f$=[0,[0,_rx,Xa(TN[1])],xV];return $r(yrx,Y5[1],0,f$)},r2)],na];MP=$r(krx,w9,c1[4],Lh);break;case 2:var Rm=kk[1],V2=Rm[1];if(V2[0]===0)var Yc=SK(function(Y5){var TN=[0,[0,mrx,Xa(Y5[2][1])],0];return $r(hrx,Y5[1],0,TN)},V2[1]);else Yc=SK(function(Y5){var TN=Y5[2],dO=[0,[0,frx,No(TN[2])],0],jP=[0,[0,prx,Xa(TN[1])],dO];return $r(drx,Y5[1],0,jP)},V2[1]);var $6=[0,[0,Prx,!!Rm[2]],[0,[0,Nrx,!!Rm[3]],0]],g6=[0,[0,Irx,Y9(Yc)],$6];MP=$r(Orx,w9,Rm[4],g6);break;default:var xT=kk[1],oF=[0,[0,Brx,!!xT[2]],0],f6=xT[1],Mp=[0,[0,Lrx,Pr(function(Y5){var TN=[0,[0,crx,Xa(Y5[2][1])],0];return $r(lrx,Y5[1],0,TN)},f6)],oF];MP=$r(Mrx,w9,xT[3],Mp)}var Bf=[0,[0,jrx,Xa(Xk[1])],[0,[0,Rrx,MP],0]];return $r(Urx,m1,Xk[3],Bf);case 17:var K6=dr[1],sF=K6[2],tP=sF[0]===0?P8(sF[1]):tc(sF[1]),NL=[0,[0,_0x,tP],[0,[0,g0x,Ge(Db(1))],0]];return $r(y0x,m1,K6[3],NL);case 18:var lO=dr[1],PL=lO[5],zM=lO[4],WM=lO[3],_x=lO[2];if(_x){var qM=_x[1];if(qM[0]!==0&&!qM[1][2]){var JM=[0,[0,D0x,Ge(Db(zM))],0];return $r(b0x,m1,PL,[0,[0,v0x,On(No,WM)],JM])}}var qU=[0,[0,C0x,Ge(Db(zM))],0],HM=[0,[0,E0x,On(No,WM)],qU],Dx=[0,[0,S0x,s_(_x)],HM];return $r(A0x,m1,PL,[0,[0,F0x,On(P8,lO[1])],Dx]);case 19:var cB=dr[1],GM=[0,[0,T0x,On(xm0,cB[2])],0],kj=[0,[0,w0x,tc(cB[1])],GM];return $r(k0x,m1,cB[3],kj);case 20:var fO=dr[1],XM=[0,[0,N0x,P8(fO[4])],0],Nj=[0,[0,P0x,On(tc,fO[3])],XM],TI=[0,[0,I0x,On(tc,fO[2])],Nj],lB=[0,[0,O0x,On(function(Y5){return Y5[0]===0?Do(Y5[1]):tc(Y5[1])},fO[1])],TI];return $r(B0x,m1,fO[5],lB);case 21:var k9=dr[1],YM=k9[1],pO=YM[0]===0?Do(YM[1]):Pd(YM[1]),JU=[0,[0,L0x,!!k9[4]],0],HU=[0,[0,M0x,P8(k9[3])],JU],GU=[0,[0,j0x,pO],[0,[0,R0x,tc(k9[2])],HU]];return $r(U0x,m1,k9[5],GU);case 22:var wI=dr[1],QM=wI[1],t$=QM[0]===0?Do(QM[1]):Pd(QM[1]),eW=[0,[0,V0x,!!wI[4]],0],q0=[0,[0,$0x,P8(wI[3])],eW],oe=[0,[0,z0x,t$],[0,[0,K0x,tc(wI[2])],q0]];return $r(W0x,m1,wI[5],oe);case 23:var wx=dr[1],he=wx[7],st=wx[3],nr=wx[2],Vr=st[0]===0?st[1]:qp(xex),ta=he[0]===0?0:[0,he[1]],Ta=wx[9],dc=NP(tr(nr[2][4]),Ta),el=[0,[0,eex,On(bS,wx[8])],0],um=[0,[0,rex,!1],[0,[0,tex,On(Na,ta)],el]],h8=[0,[0,nex,On(pk,wx[6])],um],ax=[0,[0,aex,!!wx[4]],[0,[0,iex,!!wx[5]],h8]],k4=[0,[0,oex,vl(Vr)],ax],MA=[0,[0,sex,sm(nr)],k4];return $r(cex,m1,dc,[0,[0,uex,On(Xa,wx[1])],MA]);case 24:var q4=dr[1],QT=q4[3];if(QT){var yw=QT[1][2],hk=yw[2],N9=yw[1],tx=N9[2],g8=function(Y5){return NP(Y5,hk)};switch(tx[0]){case 0:var f9=tx[1],RP=Mt0(f9[2],hk),q8=[0,[0,f9[1],RP]];break;case 1:var mx=tx[1],rP=g8(mx[2]);q8=[1,[0,mx[1],rP]];break;case 2:var Z9=tx[1],fB=g8(Z9[7]);q8=[2,[0,Z9[1],Z9[2],Z9[3],Z9[4],Z9[5],Z9[6],fB]];break;case 3:var pB=tx[1],xy=g8(pB[2]);q8=[3,[0,pB[1],xy]];break;case 4:q8=[4,[0,g8(tx[1][1])]];break;case 5:var hx=tx[1],XU=g8(hx[7]);q8=[5,[0,hx[1],hx[2],hx[3],hx[4],hx[5],hx[6],XU]];break;case 6:var IL=tx[1],Mh=g8(IL[5]);q8=[6,[0,IL[1],IL[2],IL[3],IL[4],Mh]];break;case 7:var YU=tx[1],tW=g8(YU[4]);q8=[7,[0,YU[1],YU[2],YU[3],tW]];break;case 8:var Pj=tx[1],rW=g8(Pj[5]);q8=[8,[0,Pj[1],Pj[2],Pj[3],Pj[4],rW]];break;case 9:var QU=tx[1],Jd=g8(QU[4]);q8=[9,[0,QU[1],QU[2],QU[3],Jd]];break;case 10:var Cx=tx[1],sJ=g8(Cx[2]);q8=[10,[0,Cx[1],sJ]];break;case 11:var JK=tx[1],ZY=g8(JK[4]);q8=[11,[0,JK[1],JK[2],JK[3],ZY]];break;case 12:var r$=tx[1],xQ=g8(r$[5]);q8=[12,[0,r$[1],r$[2],r$[3],r$[4],xQ]];break;case 13:var nW=tx[1],eQ=g8(nW[3]);q8=[13,[0,nW[1],nW[2],eQ]];break;case 14:var iW=tx[1],tQ=g8(iW[3]);q8=[14,[0,iW[1],iW[2],tQ]];break;case 15:q8=[15,[0,g8(tx[1][1])]];break;case 16:var aW=tx[1],rQ=g8(aW[3]);q8=[16,[0,aW[1],aW[2],rQ]];break;case 17:var oW=tx[1],nQ=g8(oW[3]);q8=[17,[0,oW[1],oW[2],nQ]];break;case 18:var n$=tx[1],iQ=g8(n$[5]);q8=[18,[0,n$[1],n$[2],n$[3],n$[4],iQ]];break;case 19:var sW=tx[1],aQ=g8(sW[3]);q8=[19,[0,sW[1],sW[2],aQ]];break;case 20:var i$=tx[1],oQ=g8(i$[5]);q8=[20,[0,i$[1],i$[2],i$[3],i$[4],oQ]];break;case 21:var a$=tx[1],sQ=g8(a$[5]);q8=[21,[0,a$[1],a$[2],a$[3],a$[4],sQ]];break;case 22:var o$=tx[1],uQ=g8(o$[5]);q8=[22,[0,o$[1],o$[2],o$[3],o$[4],uQ]];break;case 23:var dB=tx[1],Fx=dB[10],uJ=g8(dB[9]);q8=[23,[0,dB[1],dB[2],dB[3],dB[4],dB[5],dB[6],dB[7],dB[8],uJ,Fx]];break;case 24:var HK=tx[1],cQ=g8(HK[4]);q8=[24,[0,HK[1],HK[2],HK[3],cQ]];break;case 25:var s$=tx[1],lQ=g8(s$[5]);q8=[25,[0,s$[1],s$[2],s$[3],s$[4],lQ]];break;case 26:var u$=tx[1],fQ=g8(u$[5]);q8=[26,[0,u$[1],u$[2],u$[3],u$[4],fQ]];break;case 27:var uW=tx[1],pQ=g8(uW[3]);q8=[27,[0,uW[1],uW[2],pQ]];break;case 28:var cJ=tx[1],dQ=g8(cJ[2]);q8=[28,[0,cJ[1],dQ]];break;case 29:var cW=tx[1],mQ=g8(cW[3]);q8=[29,[0,cW[1],cW[2],mQ]];break;case 30:var lJ=tx[1],hQ=g8(lJ[2]);q8=[30,[0,lJ[1],hQ]];break;case 31:var GK=tx[1],Ax=g8(GK[4]);q8=[31,[0,GK[1],GK[2],GK[3],Ax]];break;case 32:var c$=tx[1],gQ=g8(c$[4]);q8=[32,[0,c$[1],c$[2],c$[3],gQ]];break;case 33:var vx=tx[1],fJ=g8(vx[5]);q8=[33,[0,vx[1],vx[2],vx[3],vx[4],fJ]];break;case 34:var lW=tx[1],_Q=g8(lW[3]);q8=[34,[0,lW[1],lW[2],_Q]];break;case 35:var fW=tx[1],yQ=g8(fW[3]);q8=[35,[0,fW[1],fW[2],yQ]];break;default:var pW=tx[1],DQ=g8(pW[3]);q8=[36,[0,pW[1],pW[2],DQ]]}var Ex=P8([0,N9[1],q8])}else Ex=iO;var pJ=[0,[0,J0x,P8(q4[2])],[0,[0,q0x,Ex],0]],vQ=[0,[0,H0x,tc(q4[1])],pJ];return $r(G0x,m1,q4[4],vQ);case 25:var l$=dr[1],dW=l$[4],dJ=l$[3];if(dW){var mW=dW[1];if(mW[0]===0)var mJ=SK(function(Y5){var TN=Y5[1],dO=Y5[3],jP=Y5[2],xV=jP?gT(dO[1],jP[1][1]):dO[1],f$=jP?jP[1]:dO,p$=0;if(TN)switch(TN[1]){case 0:var QK=ji;break;case 1:QK=R6;break;default:p$=1}else p$=1;p$&&(QK=iO);var OQ=[0,[0,Lsx,Xa(f$)],[0,[0,Bsx,QK],0]];return $r(Rsx,xV,0,[0,[0,Msx,Xa(dO)],OQ])},mW[1]);else{var hJ=mW[1],bQ=[0,[0,Isx,Xa(hJ[2])],0];mJ=[0,$r(Osx,hJ[1],0,bQ),0]}var hW=mJ}else hW=dW;if(dJ)var Sx=dJ[1],gJ=[0,[0,Nsx,Xa(Sx)],0],_J=[0,$r(Psx,Sx[1],0,gJ),hW];else _J=hW;switch(l$[1]){case 0:var gW=X0x;break;case 1:gW=Y0x;break;default:gW=Q0x}var CQ=[0,[0,Z0x,Ge(gW)],0],EQ=[0,[0,x1x,No(l$[2])],CQ],SQ=[0,[0,e1x,Y9(_J)],EQ];return $r(t1x,m1,l$[5],SQ);case 26:return km([0,m1,dr[1]]);case 27:var _W=dr[1],Tx=[0,[0,r1x,P8(_W[2])],0],yJ=[0,[0,n1x,Xa(_W[1])],Tx];return $r(i1x,m1,_W[3],yJ);case 28:var DJ=dr[1],FQ=[0,[0,a1x,On(tc,DJ[1])],0];return $r(o1x,m1,DJ[2],FQ);case 29:var yW=dr[1],AQ=[0,[0,s1x,Pr(s8,yW[2])],0],TQ=[0,[0,u1x,tc(yW[1])],AQ];return $r(c1x,m1,yW[3],TQ);case 30:var vJ=dr[1],wQ=[0,[0,l1x,tc(vJ[1])],0];return $r(f1x,m1,vJ[2],wQ);case 31:var XK=dr[1],kQ=[0,[0,p1x,On(vl,XK[3])],0],NQ=[0,[0,d1x,On(z8,XK[2])],kQ],PQ=[0,[0,m1x,vl(XK[1])],NQ];return $r(h1x,m1,XK[4],PQ);case 32:return A2([0,m1,dr[1]]);case 33:return lC(0,[0,m1,dr[1]]);case 34:return Do([0,m1,dr[1]]);case 35:var DW=dr[1],IQ=[0,[0,g1x,P8(DW[2])],0],bJ=[0,[0,_1x,tc(DW[1])],IQ];return $r(y1x,m1,DW[3],bJ);default:var YK=dr[1],ZU=[0,[0,D1x,P8(YK[2])],0],mr0=[0,[0,v1x,tc(YK[1])],ZU];return $r(b1x,m1,YK[3],mr0)}},s8=function(Ai){var dr=Ai[2],m1=[0,[0,Pex,Pr(P8,dr[2])],0],Wn=[0,[0,Iex,On(tc,dr[1])],m1];return $r(Oex,Ai[1],dr[3],Wn)},z8=function(Ai){var dr=Ai[2],m1=[0,[0,Bex,vl(dr[2])],0],Wn=[0,[0,Lex,On(Pd,dr[1])],m1];return $r(Mex,Ai[1],dr[3],Wn)},XT=function(Ai){var dr=Ai[2],m1=[0,[0,ktx,tc(dr[1])],0];return $r(Ntx,Ai[1],dr[2],m1)},OT=function(Ai){var dr=Ai[2],m1=[0,[0,Ptx,On(G5,dr[2])],0],Wn=[0,[0,Itx,Xa(dr[1])],m1];return $r(Otx,Ai[1],0,Wn)},r0=function(Ai){switch(Ai[0]){case 0:var dr=Ai[1],m1=dr[2],Wn=m1[6],zc=m1[2];switch(zc[0]){case 0:var kl=[0,Fe(zc[1]),0,Wn];break;case 1:kl=[0,Xa(zc[1]),0,Wn];break;case 2:kl=[0,As(zc[1]),0,Wn];break;default:var u_=zc[1][2],s3=NP(u_[2],Wn);kl=[0,tc(u_[1]),1,s3]}switch(m1[1]){case 0:var QC=Mtx;break;case 1:QC=Rtx;break;case 2:QC=jtx;break;default:QC=Utx}var E6=[0,[0,Vtx,Pr(XT,m1[5])],0],cS=[0,[0,ztx,Ge(QC)],[0,[0,Ktx,!!m1[4]],[0,[0,$tx,!!kl[2]],E6]]],UF=[0,[0,Wtx,YC(m1[3])],cS];return $r(Jtx,dr[1],kl[3],[0,[0,qtx,kl[1]],UF]);case 1:var VF=Ai[1],W8=VF[2],xS=W8[6],aF=W8[2],OS=W8[1];switch(OS[0]){case 0:var W4=[0,Fe(OS[1]),0,xS];break;case 1:W4=[0,Xa(OS[1]),0,xS];break;case 2:W4=qp(erx);break;default:var LA=OS[1][2],_F=NP(LA[2],xS);W4=[0,tc(LA[1]),1,_F]}if(typeof aF==\"number\")if(aF===0)var eS=0,DT=1;else eS=0,DT=0;else eS=[0,aF[1]],DT=0;var X5=DT&&[0,[0,trx,!!DT],0],Mw=[0,[0,rrx,On(a4,W8[5])],0],B5=[0,[0,irx,!!W4[2]],[0,[0,nrx,!!W8[4]],Mw]],Gk=[0,[0,arx,mn(Na,W8[3])],B5],xx=[0,[0,orx,On(tc,eS)],Gk],lS=c6([0,[0,srx,W4[1]],xx],X5);return $r(urx,VF[1],W4[3],lS);default:var dk=Ai[1],h5=dk[2],Tk=h5[2],_w=h5[1][2];if(typeof Tk==\"number\")if(Tk===0)var mk=0,Rw=1;else mk=0,Rw=0;else mk=[0,Tk[1]],Rw=0;var SN=NP(_w[2],h5[6]),fx=Rw&&[0,[0,Htx,!!Rw],0],T9=[0,[0,Gtx,On(a4,h5[5])],0],FN=[0,[0,Xtx,!!h5[4]],T9],Xk=[0,[0,Ytx,mn(Na,h5[3])],FN],wk=[0,[0,Qtx,On(tc,mk)],Xk],kk=c6([0,[0,Ztx,Xa(_w[1])],wk],fx);return $r(xrx,dk[1],SN,kk)}},_T=function(Ai){var dr=Ai[2],m1=dr[2],Wn=dr[1];if(m1){var zc=[0,[0,enx,tc(m1[1])],0],kl=[0,[0,tnx,Pd(Wn)],zc];return $r(rnx,Ai[1],0,kl)}return Pd(Wn)},BT=function(Ai,dr){var m1=[0,[0,unx,Pd(dr[1])],0];return $r(cnx,Ai,dr[2],m1)},IS=function(Ai){switch(Ai[0]){case 0:var dr=Ai[1],m1=dr[2],Wn=m1[2],zc=m1[1];if(Wn){var kl=[0,[0,lnx,tc(Wn[1])],0],u_=[0,[0,fnx,Pd(zc)],kl];return $r(pnx,dr[1],0,u_)}return Pd(zc);case 1:var s3=Ai[1];return BT(s3[1],s3[2]);default:return iO}},I5=function(Ai){if(Ai[0]===0){var dr=Ai[1],m1=dr[2];switch(m1[0]){case 0:var Wn=m1[3],zc=tc(m1[2]),kl=[0,m1[1],zc,dnx,0,Wn,0];break;case 1:var u_=m1[2],s3=YC([0,u_[1],u_[2]]);kl=[0,m1[1],s3,mnx,1,0,0];break;case 2:var QC=m1[2],E6=m1[3],cS=YC([0,QC[1],QC[2]]);kl=[0,m1[1],cS,hnx,0,0,E6];break;default:var UF=m1[2],VF=m1[3],W8=YC([0,UF[1],UF[2]]);kl=[0,m1[1],W8,gnx,0,0,VF]}var xS=kl[6],aF=kl[1];switch(aF[0]){case 0:var OS=[0,Fe(aF[1]),0,xS];break;case 1:OS=[0,Xa(aF[1]),0,xS];break;case 2:OS=qp(_nx);break;default:var W4=aF[1][2],LA=NP(W4[2],xS);OS=[0,tc(W4[1]),1,LA]}return $r(Snx,dr[1],OS[3],[0,[0,Enx,OS[1]],[0,[0,Cnx,kl[2]],[0,[0,bnx,Ge(kl[3])],[0,[0,vnx,!!kl[4]],[0,[0,Dnx,!!kl[5]],[0,[0,ynx,!!OS[2]],0]]]]]])}var _F=Ai[1],eS=_F[2],DT=[0,[0,Fnx,tc(eS[1])],0];return $r(Anx,_F[1],eS[2],DT)},LT=function(Ai){if(Ai[0]===0){var dr=Ai[1],m1=dr[2],Wn=m1[3],zc=m1[2],kl=m1[1];switch(kl[0]){case 0:var u_=[0,Fe(kl[1]),0,0];break;case 1:u_=[0,Xa(kl[1]),0,0];break;default:var s3=kl[1][2],QC=s3[2];u_=[0,tc(s3[1]),1,QC]}if(Wn)var E6=Wn[1],cS=gT(zc[1],E6[1]),UF=[0,[0,Tnx,tc(E6)],0],VF=$r(knx,cS,0,[0,[0,wnx,Pd(zc)],UF]);else VF=Pd(zc);return $r(Mnx,dr[1],u_[3],[0,[0,Lnx,u_[1]],[0,[0,Bnx,VF],[0,[0,Onx,D9],[0,[0,Inx,!1],[0,[0,Pnx,!!m1[4]],[0,[0,Nnx,!!u_[2]],0]]]]]])}var W8=Ai[1];return BT(W8[1],W8[2])},yT=function(Ai){var dr=Ai[2],m1=[0,[0,Rnx,tc(dr[1])],0];return $r(jnx,Ai[1],dr[2],m1)},sx=function(Ai){return Ai[0]===0?tc(Ai[1]):yT(Ai[1])},XA=function(Ai){switch(Ai[0]){case 0:return tc(Ai[1]);case 1:return yT(Ai[1]);default:return iO}},O5=function(Ai){var dr=Ai[2],m1=[0,[0,Unx,!!dr[3]],0],Wn=[0,[0,Vnx,tc(dr[2])],m1],zc=[0,[0,$nx,Pd(dr[1])],Wn];return $r(Knx,Ai[1],0,zc)},OA=function(Ai){var dr=Ai[2],m1=dr[1],Wn=qK([0,[0,gix,Ge(m1[1])],[0,[0,hix,Ge(m1[2])],0]]);return $r(Dix,Ai[1],0,[0,[0,yix,Wn],[0,[0,_ix,!!dr[2]],0]])},YA=function(Ai){var dr=Ai[2],m1=[0,[0,kix,On(tc,dr[2])],0],Wn=[0,[0,Nix,Pd(dr[1])],m1];return $r(Pix,Ai[1],0,Wn)},a4=function(Ai){var dr=Ai[2],m1=dr[1]===0?\"plus\":xK;return $r(Oix,Ai[1],dr[2],[0,[0,Iix,m1],0])},c9=function(Ai){var dr=Ai[2];return ln(dr[2],dr[1])},Lw=function(Ai){var dr=Ai[2],m1=[0,[0,nax,tn(dr[1][2])],[0,[0,rax,!1],0]],Wn=[0,[0,iax,On(Xa,0)],m1];return $r(aax,Ai[1],dr[2],Wn)},bS=function(Ai){var dr=Ai[2],m1=[0,[0,Iox,Pr(n0,dr[1])],0],Wn=tr(dr[2]);return $r(Oox,Ai[1],Wn,m1)},n0=function(Ai){var dr=Ai[2],m1=dr[1][2],Wn=[0,[0,Box,On(tn,dr[4])],0],zc=[0,[0,Lox,On(a4,dr[3])],Wn],kl=[0,[0,Mox,mn(Na,dr[2])],zc];return $r(jox,Ai[1],m1[2],[0,[0,Rox,Ge(m1[1])],kl])},G5=function(Ai){var dr=Ai[2],m1=[0,[0,Uox,Pr(tn,dr[1])],0],Wn=tr(dr[2]);return $r(Vox,Ai[1],Wn,m1)},K4=function(Ai){var dr=Ai[2],m1=[0,[0,$ox,Pr(ox,dr[1])],0],Wn=tr(dr[2]);return $r(Kox,Ai[1],Wn,m1)},ox=function(Ai){if(Ai[0]===0)return tn(Ai[1]);var dr=Ai[1],m1=dr[1],Wn=dr[2][1];return Es([0,m1,[0,[0,jM(0,[0,m1,zox])],0,Wn]])},BA=function(Ai){if(Ai[0]===0){var dr=Ai[1],m1=dr[2],Wn=m1[1],zc=Wn[0]===0?L1(Wn[1]):hu(Wn[1]),kl=[0,[0,ssx,zc],[0,[0,osx,On(YT,m1[2])],0]];return $r(usx,dr[1],0,kl)}var u_=Ai[1],s3=u_[2],QC=[0,[0,csx,tc(s3[1])],0];return $r(lsx,u_[1],s3[2],QC)},h6=function(Ai){var dr=[0,[0,nsx,pc(Ai[2][1])],0];return $r(isx,Ai[1],0,dr)},cA=function(Ai){var dr=Ai[2],m1=dr[1],Wn=Ai[1],zc=m1?tc(m1[1]):$r(fsx,[0,Wn[1],[0,Wn[2][1],Wn[2][2]+1|0],[0,Wn[3][1],Wn[3][2]-1|0]],0,0);return $r(dsx,Wn,tr(dr[2]),[0,[0,psx,zc],0])},QA=function(Ai){var dr=Ai[2],m1=Ai[1];switch(dr[0]){case 0:return il([0,m1,dr[1]]);case 1:return Wu([0,m1,dr[1]]);case 2:return cA([0,m1,dr[1]]);case 3:var Wn=dr[1],zc=[0,[0,msx,tc(Wn[1])],0];return $r(hsx,m1,Wn[2],zc);default:var kl=dr[1];return $r(ysx,m1,0,[0,[0,_sx,Ge(kl[1])],[0,[0,gsx,Ge(kl[2])],0]])}},YT=function(Ai){return Ai[0]===0?Fe([0,Ai[1],Ai[2]]):cA([0,Ai[1],Ai[2]])},z4=function(Ai){var dr=Ai[2],m1=dr[2],Wn=dr[1],zc=Xa(m1?m1[1]:Wn),kl=[0,[0,wsx,Xa(Wn)],[0,[0,Tsx,zc],0]];return $r(ksx,Ai[1],0,kl)},Fk=function(Ai){var dr=Ai[2];if(dr[1]===0)var m1=Usx,Wn=dr[2];else m1=jsx,Wn=dr[2];return $r(m1,Ai[1],0,[0,[0,Vsx,Ge(Wn)],0])},pk=function(Ai){var dr=Ai[2],m1=dr[1];if(m1)var Wn=Ksx,zc=[0,[0,$sx,tc(m1[1])],0];else Wn=zsx,zc=0;return $r(Wn,Ai[1],dr[2],zc)},Ak=wn[2],ZA=Ga(Ak[1]),Q9=xn?[0,[0,qZ1,ZA],[0,[0,WZ1,$n(Ak[3])],0]]:[0,[0,JZ1,ZA],0],Hk=$r(HZ1,wn[1],Ak[2],Q9),w4=c6(Tn,QY[1]);if(Hk.errors=Pr(function(Ai){var dr=Ai[2];if(typeof dr==\"number\"){var m1=dr;if(56<=m1)switch(m1){case 56:var Wn=cN1;break;case 57:Wn=lN1;break;case 58:Wn=fN1;break;case 59:Wn=F2(dN1,pN1);break;case 60:Wn=F2(hN1,mN1);break;case 61:Wn=F2(_N1,gN1);break;case 62:Wn=yN1;break;case 63:Wn=DN1;break;case 64:Wn=vN1;break;case 65:Wn=bN1;break;case 66:Wn=CN1;break;case 67:Wn=EN1;break;case 68:Wn=SN1;break;case 69:Wn=FN1;break;case 70:Wn=AN1;break;case 71:Wn=TN1;break;case 72:Wn=wN1;break;case 73:Wn=kN1;break;case 74:Wn=NN1;break;case 75:Wn=PN1;break;case 76:Wn=IN1;break;case 77:Wn=ON1;break;case 78:Wn=BN1;break;case 79:Wn=LN1;break;case 80:Wn=MN1;break;case 81:Wn=RN1;break;case 82:Wn=F2(UN1,jN1);break;case 83:Wn=VN1;break;case 84:Wn=$N1;break;case 85:Wn=KN1;break;case 86:Wn=zN1;break;case 87:Wn=WN1;break;case 88:Wn=qN1;break;case 89:Wn=JN1;break;case 90:Wn=HN1;break;case 91:Wn=GN1;break;case 92:Wn=XN1;break;case 93:Wn=YN1;break;case 94:Wn=QN1;break;case 95:Wn=F2(xP1,ZN1);break;case 96:Wn=eP1;break;case 97:Wn=tP1;break;case 98:Wn=rP1;break;case 99:Wn=nP1;break;case 100:Wn=iP1;break;case 101:Wn=aP1;break;case 102:Wn=oP1;break;case 103:Wn=sP1;break;case 104:Wn=uP1;break;case 105:Wn=cP1;break;case 106:Wn=lP1;break;case 107:Wn=fP1;break;case 108:Wn=pP1;break;case 109:Wn=dP1;break;case 110:Wn=mP1;break;default:Wn=hP1}else switch(m1){case 0:Wn=o91;break;case 1:Wn=s91;break;case 2:Wn=u91;break;case 3:Wn=c91;break;case 4:Wn=l91;break;case 5:Wn=f91;break;case 6:Wn=p91;break;case 7:Wn=d91;break;case 8:Wn=m91;break;case 9:Wn=h91;break;case 10:Wn=g91;break;case 11:Wn=_91;break;case 12:Wn=y91;break;case 13:Wn=D91;break;case 14:Wn=v91;break;case 15:Wn=b91;break;case 16:Wn=C91;break;case 17:Wn=E91;break;case 18:Wn=S91;break;case 19:Wn=F91;break;case 20:Wn=A91;break;case 21:Wn=T91;break;case 22:Wn=w91;break;case 23:Wn=k91;break;case 24:Wn=N91;break;case 25:Wn=P91;break;case 26:Wn=I91;break;case 27:Wn=O91;break;case 28:Wn=B91;break;case 29:Wn=L91;break;case 30:Wn=M91;break;case 31:Wn=F2(j91,R91);break;case 32:Wn=U91;break;case 33:Wn=V91;break;case 34:Wn=$91;break;case 35:Wn=K91;break;case 36:Wn=z91;break;case 37:Wn=W91;break;case 38:Wn=q91;break;case 39:Wn=J91;break;case 40:Wn=H91;break;case 41:Wn=G91;break;case 42:Wn=X91;break;case 43:Wn=Y91;break;case 44:Wn=Q91;break;case 45:Wn=Z91;break;case 46:Wn=xN1;break;case 47:Wn=eN1;break;case 48:Wn=tN1;break;case 49:Wn=rN1;break;case 50:Wn=nN1;break;case 51:Wn=iN1;break;case 52:Wn=aN1;break;case 53:Wn=oN1;break;case 54:Wn=sN1;break;default:Wn=uN1}}else switch(dr[0]){case 0:Wn=F2(gP1,dr[1]);break;case 1:var zc=dr[2],kl=dr[1];Wn=zr(GT(_P1),zc,zc,kl);break;case 2:var u_=dr[1],s3=dr[2];Wn=z(GT(yP1),s3,u_);break;case 3:var QC=dr[1];Wn=l(GT(DP1),QC);break;case 4:var E6=dr[2],cS=dr[1],UF=l(GT(vP1),cS);if(E6){var VF=E6[1];Wn=z(GT(bP1),VF,UF)}else Wn=l(GT(CP1),UF);break;case 5:var W8=dr[1];Wn=z(GT(EP1),W8,W8);break;case 6:var xS=dr[3],aF=dr[2],OS=dr[1];if(aF){var W4=aF[1];if(3<=W4)Wn=z(GT(SP1),xS,OS);else{switch(W4){case 0:var LA=r91;break;case 1:LA=n91;break;case 2:LA=i91;break;default:LA=a91}Wn=re(GT(FP1),OS,LA,xS,LA)}}else Wn=z(GT(AP1),xS,OS);break;case 7:var _F=dr[2],eS=_F;if(f(eS)===0)var DT=eS;else{var X5=no0(eS);nF(X5,0,Ya0(PA(eS,0))),DT=X5}var Mw=DT,B5=dr[1];Wn=zr(GT(TP1),_F,Mw,B5);break;case 8:Wn=dr[1]?wP1:kP1;break;case 9:var Gk=dr[1],xx=dr[2];Wn=z(GT(NP1),xx,Gk);break;case 10:var lS=dr[1];Wn=l(GT(PP1),lS);break;case 11:var dk=dr[1];Wn=l(GT(IP1),dk);break;case 12:var h5=dr[2],Tk=dr[1];Wn=z(GT(OP1),Tk,h5);break;case 13:var _w=dr[2],mk=dr[1];Wn=z(GT(BP1),mk,_w);break;case 14:Wn=F2(MP1,F2(dr[1],LP1));break;case 15:var Rw=dr[1]?RP1:jP1;Wn=l(GT(UP1),Rw);break;case 16:Wn=F2($P1,F2(dr[1],VP1));break;case 17:var SN=F2(zP1,F2(dr[2],KP1));Wn=F2(dr[1],SN);break;case 18:Wn=F2(WP1,dr[1]);break;case 19:Wn=dr[1]?F2(JP1,qP1):F2(GP1,HP1);break;case 20:var fx=dr[1];Wn=l(GT(XP1),fx);break;case 21:Wn=F2(QP1,F2(dr[1],YP1));break;case 22:var T9=dr[1],FN=dr[2]?ZP1:xI1,Xk=dr[3]?F2(eI1,T9):T9;Wn=F2(nI1,F2(FN,F2(rI1,F2(Xk,tI1))));break;case 23:Wn=F2(aI1,F2(dr[1],iI1));break;default:var wk=dr[1];Wn=l(GT(oI1),wk)}var kk=[0,[0,Ysx,Ge(Wn)],0];return qK([0,[0,Qsx,At(Ai[1])],kk])},w4),Jn){var EN=vt[1];Hk.tokens=Y9(qH(l(J2x[1],ca),EN))}return Hk}var sB=is[1];if(sB===5){var gx=is[2];if(gx&&gx[1]===6){du=[0,Rn+2|0,0,[0,_q(yd([0,Rn,Qt])),Fu]],is=gx[2];continue}}else if(!(6<=sB)){var KM=is[2];du=[0,Rn+$20(sB)|0,[0,Rn,Qt],Fu],is=KM;continue}var uB=_q(yd([0,Rn,Qt])),yx=is[2];du=[0,Rn+$20(sB)|0,0,[0,uB,Fu]],is=yx}}};return Yx.parse=function(i,x){try{return H2x(i,x)}catch(n){return(n=yi(n))[1]===A10?l($o0,n[2]):l($o0,new v2x(Ge(F2(Jdx,n2x(n)))))}},void l(X00[1],0)}Bq=y2x}else Oq=_2x}else Iq=g2x}else Pq=h2x}})(new Function(\"return this\")())});const M6={comments:!1,enums:!0,esproposal_class_instance_fields:!0,esproposal_class_static_fields:!0,esproposal_decorators:!0,esproposal_export_star_as:!0,esproposal_nullish_coalescing:!0,esproposal_optional_chaining:!0,tokens:!0};return{parsers:{flow:E5(function(B1,Yx,Oe){const{parse:zt}=b4,an=zt(QF(B1),M6),[xi]=an.errors;if(xi)throw function(xs){const{message:bi,loc:{start:ya,end:ul}}=xs;return c(bi,{start:{line:ya.line,column:ya.column+1},end:{line:ul.line,column:ul.column+1}})}(xi);return O6(an,Object.assign(Object.assign({},Oe),{},{originalText:B1}))})}}})})(Jy0);var Hy0={exports:{}};(function(a,u){(function(c,b){a.exports=b()})($F,function(){var c=function(C,D){const $=new SyntaxError(C+\" (\"+D.start.line+\":\"+D.start.column+\")\");return $.loc=D,$},b=function(...C){let D;for(const[$,o1]of C.entries())try{return{result:o1()}}catch(j1){$===0&&(D=j1)}return{error:D}},R=C=>typeof C==\"string\"?C.replace((({onlyFirst:D=!1}={})=>{const $=[\"[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:[a-zA-Z\\\\d]*(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)\",\"(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))\"].join(\"|\");return new RegExp($,D?void 0:\"g\")})(),\"\"):C;const K=C=>!Number.isNaN(C)&&C>=4352&&(C<=4447||C===9001||C===9002||11904<=C&&C<=12871&&C!==12351||12880<=C&&C<=19903||19968<=C&&C<=42182||43360<=C&&C<=43388||44032<=C&&C<=55203||63744<=C&&C<=64255||65040<=C&&C<=65049||65072<=C&&C<=65131||65281<=C&&C<=65376||65504<=C&&C<=65510||110592<=C&&C<=110593||127488<=C&&C<=127569||131072<=C&&C<=262141);var s0=K,Y=K;s0.default=Y;const F0=C=>{if(typeof C!=\"string\"||C.length===0||(C=R(C)).length===0)return 0;C=C.replace(/\\uD83C\\uDFF4\\uDB40\\uDC67\\uDB40\\uDC62(?:\\uDB40\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67|\\uDB40\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDB40\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73)\\uDB40\\uDC7F|\\uD83D\\uDC68(?:\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C\\uDFFB|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFE])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83D\\uDC68|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D[\\uDC66\\uDC67])|[\\u2695\\u2696\\u2708]\\uFE0F|\\uD83D[\\uDC66\\uDC67]|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|(?:\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708])\\uFE0F|\\uD83C\\uDFFB\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C[\\uDFFB-\\uDFFF])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFB\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)\\uD83C\\uDFFB|\\uD83E\\uDDD1(?:\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1)|(?:\\uD83E\\uDDD1\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69]))(?:\\uD83C[\\uDFFB-\\uDFFE])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83D\\uDC69(?:\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFB\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFC-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D(?:\\uD83D[\\uDC68\\uDC69])|\\uD83D[\\uDC68\\uDC69])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|(?:\\uD83E\\uDDD1\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D\\uDC41\\uFE0F\\u200D\\uD83D\\uDDE8|\\uD83D\\uDC69(?:\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708])|(?:(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)\\uFE0F|\\uD83D\\uDC6F|\\uD83E[\\uDD3C\\uDDDE\\uDDDF])\\u200D[\\u2640\\u2642]|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|\\u200D[\\u2640\\u2642])|\\uD83C\\uDFF4\\u200D\\u2620)\\uFE0F|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|\\uD83C\\uDFF3\\uFE0F\\u200D\\uD83C\\uDF08|\\uD83D\\uDC15\\u200D\\uD83E\\uDDBA|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67|\\uD83C\\uDDFD\\uD83C\\uDDF0|\\uD83C\\uDDF4\\uD83C\\uDDF2|\\uD83C\\uDDF6\\uD83C\\uDDE6|[#\\*0-9]\\uFE0F\\u20E3|\\uD83C\\uDDE7(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDF9(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF])|\\uD83C\\uDDEA(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA])|\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF7(?:\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC])|\\uD83D\\uDC69(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF2(?:\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF])|\\uD83C\\uDDE6(?:\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF])|\\uD83C\\uDDF0(?:\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDED(?:\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA])|\\uD83C\\uDDE9(?:\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF])|\\uD83C\\uDDFE(?:\\uD83C[\\uDDEA\\uDDF9])|\\uD83C\\uDDEC(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE])|\\uD83C\\uDDF8(?:\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF])|\\uD83C\\uDDEB(?:\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7])|\\uD83C\\uDDF5(?:\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE])|\\uD83C\\uDDFB(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA])|\\uD83C\\uDDF3(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF])|\\uD83C\\uDDE8(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF5\\uDDF7\\uDDFA-\\uDDFF])|\\uD83C\\uDDF1(?:\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE])|\\uD83C\\uDDFF(?:\\uD83C[\\uDDE6\\uDDF2\\uDDFC])|\\uD83C\\uDDFC(?:\\uD83C[\\uDDEB\\uDDF8])|\\uD83C\\uDDFA(?:\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF])|\\uD83C\\uDDEE(?:\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9])|\\uD83C\\uDDEF(?:\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5])|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u261D\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2\\uDFC7]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC70\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDCAA\\uDD74\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1C\\uDD1E\\uDD1F\\uDD30-\\uDD36\\uDDB5\\uDDB6\\uDDBB\\uDDD2-\\uDDD5])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u231A\\u231B\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u25FE\\u2614\\u2615\\u2648-\\u2653\\u267F\\u2693\\u26A1\\u26AA\\u26AB\\u26BD\\u26BE\\u26C4\\u26C5\\u26CE\\u26D4\\u26EA\\u26F2\\u26F3\\u26F5\\u26FA\\u26FD\\u2705\\u270A\\u270B\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2795-\\u2797\\u27B0\\u27BF\\u2B1B\\u2B1C\\u2B50\\u2B55]|\\uD83C[\\uDC04\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF7C\\uDF7E-\\uDF93\\uDFA0-\\uDFCA\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF4\\uDFF8-\\uDFFF]|\\uD83D[\\uDC00-\\uDC3E\\uDC40\\uDC42-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDD7A\\uDD95\\uDD96\\uDDA4\\uDDFB-\\uDE4F\\uDE80-\\uDEC5\\uDECC\\uDED0-\\uDED2\\uDED5\\uDEEB\\uDEEC\\uDEF4-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])|(?:[#\\*0-9\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u231A\\u231B\\u2328\\u23CF\\u23E9-\\u23F3\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB-\\u25FE\\u2600-\\u2604\\u260E\\u2611\\u2614\\u2615\\u2618\\u261D\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u2648-\\u2653\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u267F\\u2692-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A1\\u26AA\\u26AB\\u26B0\\u26B1\\u26BD\\u26BE\\u26C4\\u26C5\\u26C8\\u26CE\\u26CF\\u26D1\\u26D3\\u26D4\\u26E9\\u26EA\\u26F0-\\u26F5\\u26F7-\\u26FA\\u26FD\\u2702\\u2705\\u2708-\\u270D\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2728\\u2733\\u2734\\u2744\\u2747\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2763\\u2764\\u2795-\\u2797\\u27A1\\u27B0\\u27BF\\u2934\\u2935\\u2B05-\\u2B07\\u2B1B\\u2B1C\\u2B50\\u2B55\\u3030\\u303D\\u3297\\u3299]|\\uD83C[\\uDC04\\uDCCF\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE02\\uDE1A\\uDE2F\\uDE32-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF21\\uDF24-\\uDF93\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E-\\uDFF0\\uDFF3-\\uDFF5\\uDFF7-\\uDFFF]|\\uD83D[\\uDC00-\\uDCFD\\uDCFF-\\uDD3D\\uDD49-\\uDD4E\\uDD50-\\uDD67\\uDD6F\\uDD70\\uDD73-\\uDD7A\\uDD87\\uDD8A-\\uDD8D\\uDD90\\uDD95\\uDD96\\uDDA4\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA-\\uDE4F\\uDE80-\\uDEC5\\uDECB-\\uDED2\\uDED5\\uDEE0-\\uDEE5\\uDEE9\\uDEEB\\uDEEC\\uDEF0\\uDEF3-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])\\uFE0F|(?:[\\u261D\\u26F9\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2-\\uDFC4\\uDFC7\\uDFCA-\\uDFCC]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66-\\uDC78\\uDC7C\\uDC81-\\uDC83\\uDC85-\\uDC87\\uDC8F\\uDC91\\uDCAA\\uDD74\\uDD75\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE45-\\uDE47\\uDE4B-\\uDE4F\\uDEA3\\uDEB4-\\uDEB6\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1F\\uDD26\\uDD30-\\uDD39\\uDD3C-\\uDD3E\\uDDB5\\uDDB6\\uDDB8\\uDDB9\\uDDBB\\uDDCD-\\uDDCF\\uDDD1-\\uDDDD])/g,\"  \");let D=0;for(let $=0;$<C.length;$++){const o1=C.codePointAt($);o1<=31||o1>=127&&o1<=159||o1>=768&&o1<=879||(o1>65535&&$++,D+=s0(o1)?2:1)}return D};var J0=F0,e1=F0;J0.default=e1;var t1=C=>{if(typeof C!=\"string\")throw new TypeError(\"Expected a string\");return C.replace(/[|\\\\{}()[\\]^$+*?.]/g,\"\\\\$&\").replace(/-/g,\"\\\\x2d\")},r1=C=>C[C.length-1];function F1(C,D){if(C==null)return{};var $,o1,j1=function(ex,_0){if(ex==null)return{};var Ne,e,s={},X=Object.keys(ex);for(e=0;e<X.length;e++)Ne=X[e],_0.indexOf(Ne)>=0||(s[Ne]=ex[Ne]);return s}(C,D);if(Object.getOwnPropertySymbols){var v1=Object.getOwnPropertySymbols(C);for(o1=0;o1<v1.length;o1++)$=v1[o1],D.indexOf($)>=0||Object.prototype.propertyIsEnumerable.call(C,$)&&(j1[$]=C[$])}return j1}var a1=typeof globalThis!=\"undefined\"?globalThis:typeof window!=\"undefined\"?window:typeof $F!=\"undefined\"?$F:typeof self!=\"undefined\"?self:{};function D1(C){return C&&Object.prototype.hasOwnProperty.call(C,\"default\")?C.default:C}function W0(C){var D={exports:{}};return C(D,D.exports),D.exports}var i1=function(C){return C&&C.Math==Math&&C},x1=i1(typeof globalThis==\"object\"&&globalThis)||i1(typeof window==\"object\"&&window)||i1(typeof self==\"object\"&&self)||i1(typeof a1==\"object\"&&a1)||function(){return this}()||Function(\"return this\")(),ux=function(C){try{return!!C()}catch{return!0}},K1=!ux(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7}),ee={}.propertyIsEnumerable,Gx=Object.getOwnPropertyDescriptor,ve={f:Gx&&!ee.call({1:2},1)?function(C){var D=Gx(this,C);return!!D&&D.enumerable}:ee},qe=function(C,D){return{enumerable:!(1&C),configurable:!(2&C),writable:!(4&C),value:D}},Jt={}.toString,Ct=function(C){return Jt.call(C).slice(8,-1)},vn=\"\".split,_n=ux(function(){return!Object(\"z\").propertyIsEnumerable(0)})?function(C){return Ct(C)==\"String\"?vn.call(C,\"\"):Object(C)}:Object,Tr=function(C){if(C==null)throw TypeError(\"Can't call method on \"+C);return C},Lr=function(C){return _n(Tr(C))},Pn=function(C){return typeof C==\"object\"?C!==null:typeof C==\"function\"},En=function(C,D){if(!Pn(C))return C;var $,o1;if(D&&typeof($=C.toString)==\"function\"&&!Pn(o1=$.call(C))||typeof($=C.valueOf)==\"function\"&&!Pn(o1=$.call(C))||!D&&typeof($=C.toString)==\"function\"&&!Pn(o1=$.call(C)))return o1;throw TypeError(\"Can't convert object to primitive value\")},cr=function(C){return Object(Tr(C))},Ea={}.hasOwnProperty,Qn=Object.hasOwn||function(C,D){return Ea.call(cr(C),D)},Bu=x1.document,Au=Pn(Bu)&&Pn(Bu.createElement),Ec=!K1&&!ux(function(){return Object.defineProperty((C=\"div\",Au?Bu.createElement(C):{}),\"a\",{get:function(){return 7}}).a!=7;var C}),kn=Object.getOwnPropertyDescriptor,pu={f:K1?kn:function(C,D){if(C=Lr(C),D=En(D,!0),Ec)try{return kn(C,D)}catch{}if(Qn(C,D))return qe(!ve.f.call(C,D),C[D])}},mi=function(C){if(!Pn(C))throw TypeError(String(C)+\" is not an object\");return C},ma=Object.defineProperty,ja={f:K1?ma:function(C,D,$){if(mi(C),D=En(D,!0),mi($),Ec)try{return ma(C,D,$)}catch{}if(\"get\"in $||\"set\"in $)throw TypeError(\"Accessors not supported\");return\"value\"in $&&(C[D]=$.value),C}},Ua=K1?function(C,D,$){return ja.f(C,D,qe(1,$))}:function(C,D,$){return C[D]=$,C},aa=function(C,D){try{Ua(x1,C,D)}catch{x1[C]=D}return D},Os=\"__core-js_shared__\",gn=x1[Os]||aa(Os,{}),et=Function.toString;typeof gn.inspectSource!=\"function\"&&(gn.inspectSource=function(C){return et.call(C)});var Sr,un,jn,ea,wa=gn.inspectSource,as=x1.WeakMap,zo=typeof as==\"function\"&&/native code/.test(wa(as)),vo=W0(function(C){(C.exports=function(D,$){return gn[D]||(gn[D]=$!==void 0?$:{})})(\"versions\",[]).push({version:\"3.14.0\",mode:\"global\",copyright:\"\\xA9 2021 Denis Pushkarev (zloirock.ru)\"})}),vi=0,jr=Math.random(),Hn=function(C){return\"Symbol(\"+String(C===void 0?\"\":C)+\")_\"+(++vi+jr).toString(36)},wi=vo(\"keys\"),jo={},bs=\"Object already initialized\",Ha=x1.WeakMap;if(zo||gn.state){var qn=gn.state||(gn.state=new Ha),Ki=qn.get,es=qn.has,Ns=qn.set;Sr=function(C,D){if(es.call(qn,C))throw new TypeError(bs);return D.facade=C,Ns.call(qn,C,D),D},un=function(C){return Ki.call(qn,C)||{}},jn=function(C){return es.call(qn,C)}}else{var ju=wi[ea=\"state\"]||(wi[ea]=Hn(ea));jo[ju]=!0,Sr=function(C,D){if(Qn(C,ju))throw new TypeError(bs);return D.facade=C,Ua(C,ju,D),D},un=function(C){return Qn(C,ju)?C[ju]:{}},jn=function(C){return Qn(C,ju)}}var Tc,bu,mc={set:Sr,get:un,has:jn,enforce:function(C){return jn(C)?un(C):Sr(C,{})},getterFor:function(C){return function(D){var $;if(!Pn(D)||($=un(D)).type!==C)throw TypeError(\"Incompatible receiver, \"+C+\" required\");return $}}},vc=W0(function(C){var D=mc.get,$=mc.enforce,o1=String(String).split(\"String\");(C.exports=function(j1,v1,ex,_0){var Ne,e=!!_0&&!!_0.unsafe,s=!!_0&&!!_0.enumerable,X=!!_0&&!!_0.noTargetGet;typeof ex==\"function\"&&(typeof v1!=\"string\"||Qn(ex,\"name\")||Ua(ex,\"name\",v1),(Ne=$(ex)).source||(Ne.source=o1.join(typeof v1==\"string\"?v1:\"\"))),j1!==x1?(e?!X&&j1[v1]&&(s=!0):delete j1[v1],s?j1[v1]=ex:Ua(j1,v1,ex)):s?j1[v1]=ex:aa(v1,ex)})(Function.prototype,\"toString\",function(){return typeof this==\"function\"&&D(this).source||wa(this)})}),Lc=x1,i2=function(C){return typeof C==\"function\"?C:void 0},su=function(C,D){return arguments.length<2?i2(Lc[C])||i2(x1[C]):Lc[C]&&Lc[C][D]||x1[C]&&x1[C][D]},T2=Math.ceil,Cu=Math.floor,mr=function(C){return isNaN(C=+C)?0:(C>0?Cu:T2)(C)},Dn=Math.min,ki=function(C){return C>0?Dn(mr(C),9007199254740991):0},us=Math.max,ac=Math.min,_s=function(C){return function(D,$,o1){var j1,v1=Lr(D),ex=ki(v1.length),_0=function(Ne,e){var s=mr(Ne);return s<0?us(s+e,0):ac(s,e)}(o1,ex);if(C&&$!=$){for(;ex>_0;)if((j1=v1[_0++])!=j1)return!0}else for(;ex>_0;_0++)if((C||_0 in v1)&&v1[_0]===$)return C||_0||0;return!C&&-1}},cf={includes:_s(!0),indexOf:_s(!1)}.indexOf,Df=[\"constructor\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"toLocaleString\",\"toString\",\"valueOf\"].concat(\"length\",\"prototype\"),gp={f:Object.getOwnPropertyNames||function(C){return function(D,$){var o1,j1=Lr(D),v1=0,ex=[];for(o1 in j1)!Qn(jo,o1)&&Qn(j1,o1)&&ex.push(o1);for(;$.length>v1;)Qn(j1,o1=$[v1++])&&(~cf(ex,o1)||ex.push(o1));return ex}(C,Df)}},_2={f:Object.getOwnPropertySymbols},c_=su(\"Reflect\",\"ownKeys\")||function(C){var D=gp.f(mi(C)),$=_2.f;return $?D.concat($(C)):D},pC=function(C,D){for(var $=c_(D),o1=ja.f,j1=pu.f,v1=0;v1<$.length;v1++){var ex=$[v1];Qn(C,ex)||o1(C,ex,j1(D,ex))}},c8=/#|\\.prototype\\./,VE=function(C,D){var $=c4[S8(C)];return $==ES||$!=BS&&(typeof D==\"function\"?ux(D):!!D)},S8=VE.normalize=function(C){return String(C).replace(c8,\".\").toLowerCase()},c4=VE.data={},BS=VE.NATIVE=\"N\",ES=VE.POLYFILL=\"P\",fS=VE,DF=pu.f,D8=function(C,D){var $,o1,j1,v1,ex,_0=C.target,Ne=C.global,e=C.stat;if($=Ne?x1:e?x1[_0]||aa(_0,{}):(x1[_0]||{}).prototype)for(o1 in D){if(v1=D[o1],j1=C.noTargetGet?(ex=DF($,o1))&&ex.value:$[o1],!fS(Ne?o1:_0+(e?\".\":\"#\")+o1,C.forced)&&j1!==void 0){if(typeof v1==typeof j1)continue;pC(v1,j1)}(C.sham||j1&&j1.sham)&&Ua(v1,\"sham\",!0),vc($,o1,v1,C)}},v8=Array.isArray||function(C){return Ct(C)==\"Array\"},pS=function(C){if(typeof C!=\"function\")throw TypeError(String(C)+\" is not a function\");return C},l4=function(C,D,$){if(pS(C),D===void 0)return C;switch($){case 0:return function(){return C.call(D)};case 1:return function(o1){return C.call(D,o1)};case 2:return function(o1,j1){return C.call(D,o1,j1)};case 3:return function(o1,j1,v1){return C.call(D,o1,j1,v1)}}return function(){return C.apply(D,arguments)}},KF=function(C,D,$,o1,j1,v1,ex,_0){for(var Ne,e=j1,s=0,X=!!ex&&l4(ex,_0,3);s<o1;){if(s in $){if(Ne=X?X($[s],s,D):$[s],v1>0&&v8(Ne))e=KF(C,D,Ne,ki(Ne.length),e,v1-1)-1;else{if(e>=9007199254740991)throw TypeError(\"Exceed the acceptable array length\");C[e]=Ne}e++}s++}return e},f4=KF,$E=su(\"navigator\",\"userAgent\")||\"\",t6=x1.process,vF=t6&&t6.versions,fF=vF&&vF.v8;fF?bu=(Tc=fF.split(\".\"))[0]<4?1:Tc[0]+Tc[1]:$E&&(!(Tc=$E.match(/Edge\\/(\\d+)/))||Tc[1]>=74)&&(Tc=$E.match(/Chrome\\/(\\d+)/))&&(bu=Tc[1]);var tS=bu&&+bu,z6=!!Object.getOwnPropertySymbols&&!ux(function(){var C=Symbol();return!String(C)||!(Object(C)instanceof Symbol)||!Symbol.sham&&tS&&tS<41}),LS=z6&&!Symbol.sham&&typeof Symbol.iterator==\"symbol\",B8=vo(\"wks\"),MS=x1.Symbol,rT=LS?MS:MS&&MS.withoutSetter||Hn,bF=function(C){return Qn(B8,C)&&(z6||typeof B8[C]==\"string\")||(z6&&Qn(MS,C)?B8[C]=MS[C]:B8[C]=rT(\"Symbol.\"+C)),B8[C]},nT=bF(\"species\"),RT=function(C,D){var $;return v8(C)&&(typeof($=C.constructor)!=\"function\"||$!==Array&&!v8($.prototype)?Pn($)&&($=$[nT])===null&&($=void 0):$=void 0),new($===void 0?Array:$)(D===0?0:D)};D8({target:\"Array\",proto:!0},{flatMap:function(C){var D,$=cr(this),o1=ki($.length);return pS(C),(D=RT($,0)).length=f4(D,$,$,o1,0,1,C,arguments.length>1?arguments[1]:void 0),D}});var UA,_5,VA=Math.floor,ST=function(C,D){var $=C.length,o1=VA($/2);return $<8?ZT(C,D):Kw(ST(C.slice(0,o1),D),ST(C.slice(o1),D),D)},ZT=function(C,D){for(var $,o1,j1=C.length,v1=1;v1<j1;){for(o1=v1,$=C[v1];o1&&D(C[o1-1],$)>0;)C[o1]=C[--o1];o1!==v1++&&(C[o1]=$)}return C},Kw=function(C,D,$){for(var o1=C.length,j1=D.length,v1=0,ex=0,_0=[];v1<o1||ex<j1;)v1<o1&&ex<j1?_0.push($(C[v1],D[ex])<=0?C[v1++]:D[ex++]):_0.push(v1<o1?C[v1++]:D[ex++]);return _0},y5=ST,P4=$E.match(/firefox\\/(\\d+)/i),fA=!!P4&&+P4[1],H8=/MSIE|Trident/.test($E),pA=$E.match(/AppleWebKit\\/(\\d+)\\./),qS=!!pA&&+pA[1],W6=[],D5=W6.sort,$A=ux(function(){W6.sort(void 0)}),J4=ux(function(){W6.sort(null)}),dA=!!(_5=[].sort)&&ux(function(){_5.call(null,UA||function(){throw 1},1)}),CF=!ux(function(){if(tS)return tS<70;if(!(fA&&fA>3)){if(H8)return!0;if(qS)return qS<603;var C,D,$,o1,j1=\"\";for(C=65;C<76;C++){switch(D=String.fromCharCode(C),C){case 66:case 69:case 70:case 72:$=3;break;case 68:case 71:$=4;break;default:$=2}for(o1=0;o1<47;o1++)W6.push({k:D+o1,v:$})}for(W6.sort(function(v1,ex){return ex.v-v1.v}),o1=0;o1<W6.length;o1++)D=W6[o1].k.charAt(0),j1.charAt(j1.length-1)!==D&&(j1+=D);return j1!==\"DGBEFHACIJK\"}});D8({target:\"Array\",proto:!0,forced:$A||!J4||!dA||!CF},{sort:function(C){C!==void 0&&pS(C);var D=cr(this);if(CF)return C===void 0?D5.call(D):D5.call(D,C);var $,o1,j1=[],v1=ki(D.length);for(o1=0;o1<v1;o1++)o1 in D&&j1.push(D[o1]);for($=(j1=y5(j1,function(ex){return function(_0,Ne){return Ne===void 0?-1:_0===void 0?1:ex!==void 0?+ex(_0,Ne)||0:String(_0)>String(Ne)?1:-1}}(C))).length,o1=0;o1<$;)D[o1]=j1[o1++];for(;o1<v1;)delete D[o1++];return D}});var FT={},mA=bF(\"iterator\"),v5=Array.prototype,KA={};KA[bF(\"toStringTag\")]=\"z\";var vw=String(KA)===\"[object z]\",p4=bF(\"toStringTag\"),x5=Ct(function(){return arguments}())==\"Arguments\",e5=vw?Ct:function(C){var D,$,o1;return C===void 0?\"Undefined\":C===null?\"Null\":typeof($=function(j1,v1){try{return j1[v1]}catch{}}(D=Object(C),p4))==\"string\"?$:x5?Ct(D):(o1=Ct(D))==\"Object\"&&typeof D.callee==\"function\"?\"Arguments\":o1},jT=bF(\"iterator\"),_6=function(C){var D=C.return;if(D!==void 0)return mi(D.call(C)).value},q6=function(C,D){this.stopped=C,this.result=D},JS=function(C,D,$){var o1,j1,v1,ex,_0,Ne,e,s,X=$&&$.that,J=!(!$||!$.AS_ENTRIES),m0=!(!$||!$.IS_ITERATOR),s1=!(!$||!$.INTERRUPTED),i0=l4(D,X,1+J+s1),H0=function(I){return o1&&_6(o1),new q6(!0,I)},E0=function(I){return J?(mi(I),s1?i0(I[0],I[1],H0):i0(I[0],I[1])):s1?i0(I,H0):i0(I)};if(m0)o1=C;else{if(typeof(j1=function(I){if(I!=null)return I[jT]||I[\"@@iterator\"]||FT[e5(I)]}(C))!=\"function\")throw TypeError(\"Target is not iterable\");if((s=j1)!==void 0&&(FT.Array===s||v5[mA]===s)){for(v1=0,ex=ki(C.length);ex>v1;v1++)if((_0=E0(C[v1]))&&_0 instanceof q6)return _0;return new q6(!1)}o1=j1.call(C)}for(Ne=o1.next;!(e=Ne.call(o1)).done;){try{_0=E0(e.value)}catch(I){throw _6(o1),I}if(typeof _0==\"object\"&&_0&&_0 instanceof q6)return _0}return new q6(!1)};D8({target:\"Object\",stat:!0},{fromEntries:function(C){var D={};return JS(C,function($,o1){(function(j1,v1,ex){var _0=En(v1);_0 in j1?ja.f(j1,_0,qe(0,ex)):j1[_0]=ex})(D,$,o1)},{AS_ENTRIES:!0}),D}});var eg=eg!==void 0?eg:typeof self!=\"undefined\"?self:typeof window!=\"undefined\"?window:{};function L8(){throw new Error(\"setTimeout has not been defined\")}function J6(){throw new Error(\"clearTimeout has not been defined\")}var cm=L8,l8=J6;function S6(C){if(cm===setTimeout)return setTimeout(C,0);if((cm===L8||!cm)&&setTimeout)return cm=setTimeout,setTimeout(C,0);try{return cm(C,0)}catch{try{return cm.call(null,C,0)}catch{return cm.call(this,C,0)}}}typeof eg.setTimeout==\"function\"&&(cm=setTimeout),typeof eg.clearTimeout==\"function\"&&(l8=clearTimeout);var Pg,Py=[],F6=!1,tg=-1;function u3(){F6&&Pg&&(F6=!1,Pg.length?Py=Pg.concat(Py):tg=-1,Py.length&&iT())}function iT(){if(!F6){var C=S6(u3);F6=!0;for(var D=Py.length;D;){for(Pg=Py,Py=[];++tg<D;)Pg&&Pg[tg].run();tg=-1,D=Py.length}Pg=null,F6=!1,function($){if(l8===clearTimeout)return clearTimeout($);if((l8===J6||!l8)&&clearTimeout)return l8=clearTimeout,clearTimeout($);try{l8($)}catch{try{return l8.call(null,$)}catch{return l8.call(this,$)}}}(C)}}function HS(C,D){this.fun=C,this.array=D}HS.prototype.run=function(){this.fun.apply(null,this.array)};function H6(){}var j5=H6,t5=H6,bw=H6,U5=H6,d4=H6,pF=H6,EF=H6,A6=eg.performance||{},r5=A6.now||A6.mozNow||A6.msNow||A6.oNow||A6.webkitNow||function(){return new Date().getTime()},m4=new Date,Lu={nextTick:function(C){var D=new Array(arguments.length-1);if(arguments.length>1)for(var $=1;$<arguments.length;$++)D[$-1]=arguments[$];Py.push(new HS(C,D)),Py.length!==1||F6||S6(iT)},title:\"browser\",browser:!0,env:{},argv:[],version:\"\",versions:{},on:j5,addListener:t5,once:bw,off:U5,removeListener:d4,removeAllListeners:pF,emit:EF,binding:function(C){throw new Error(\"process.binding is not supported\")},cwd:function(){return\"/\"},chdir:function(C){throw new Error(\"process.chdir is not supported\")},umask:function(){return 0},hrtime:function(C){var D=.001*r5.call(A6),$=Math.floor(D),o1=Math.floor(D%1*1e9);return C&&($-=C[0],(o1-=C[1])<0&&($--,o1+=1e9)),[$,o1]},platform:\"browser\",release:{},config:{},uptime:function(){return(new Date-m4)/1e3}},Ig=typeof Lu==\"object\"&&Lu.env&&Lu.env.NODE_DEBUG&&/\\bsemver\\b/i.test(Lu.env.NODE_DEBUG)?(...C)=>console.error(\"SEMVER\",...C):()=>{},hA={SEMVER_SPEC_VERSION:\"2.0.0\",MAX_LENGTH:256,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,MAX_SAFE_COMPONENT_LENGTH:16},RS=W0(function(C,D){const{MAX_SAFE_COMPONENT_LENGTH:$}=hA,o1=(D=C.exports={}).re=[],j1=D.src=[],v1=D.t={};let ex=0;const _0=(Ne,e,s)=>{const X=ex++;Ig(X,e),v1[Ne]=X,j1[X]=e,o1[X]=new RegExp(e,s?\"g\":void 0)};_0(\"NUMERICIDENTIFIER\",\"0|[1-9]\\\\d*\"),_0(\"NUMERICIDENTIFIERLOOSE\",\"[0-9]+\"),_0(\"NONNUMERICIDENTIFIER\",\"\\\\d*[a-zA-Z-][a-zA-Z0-9-]*\"),_0(\"MAINVERSION\",`(${j1[v1.NUMERICIDENTIFIER]})\\\\.(${j1[v1.NUMERICIDENTIFIER]})\\\\.(${j1[v1.NUMERICIDENTIFIER]})`),_0(\"MAINVERSIONLOOSE\",`(${j1[v1.NUMERICIDENTIFIERLOOSE]})\\\\.(${j1[v1.NUMERICIDENTIFIERLOOSE]})\\\\.(${j1[v1.NUMERICIDENTIFIERLOOSE]})`),_0(\"PRERELEASEIDENTIFIER\",`(?:${j1[v1.NUMERICIDENTIFIER]}|${j1[v1.NONNUMERICIDENTIFIER]})`),_0(\"PRERELEASEIDENTIFIERLOOSE\",`(?:${j1[v1.NUMERICIDENTIFIERLOOSE]}|${j1[v1.NONNUMERICIDENTIFIER]})`),_0(\"PRERELEASE\",`(?:-(${j1[v1.PRERELEASEIDENTIFIER]}(?:\\\\.${j1[v1.PRERELEASEIDENTIFIER]})*))`),_0(\"PRERELEASELOOSE\",`(?:-?(${j1[v1.PRERELEASEIDENTIFIERLOOSE]}(?:\\\\.${j1[v1.PRERELEASEIDENTIFIERLOOSE]})*))`),_0(\"BUILDIDENTIFIER\",\"[0-9A-Za-z-]+\"),_0(\"BUILD\",`(?:\\\\+(${j1[v1.BUILDIDENTIFIER]}(?:\\\\.${j1[v1.BUILDIDENTIFIER]})*))`),_0(\"FULLPLAIN\",`v?${j1[v1.MAINVERSION]}${j1[v1.PRERELEASE]}?${j1[v1.BUILD]}?`),_0(\"FULL\",`^${j1[v1.FULLPLAIN]}$`),_0(\"LOOSEPLAIN\",`[v=\\\\s]*${j1[v1.MAINVERSIONLOOSE]}${j1[v1.PRERELEASELOOSE]}?${j1[v1.BUILD]}?`),_0(\"LOOSE\",`^${j1[v1.LOOSEPLAIN]}$`),_0(\"GTLT\",\"((?:<|>)?=?)\"),_0(\"XRANGEIDENTIFIERLOOSE\",`${j1[v1.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`),_0(\"XRANGEIDENTIFIER\",`${j1[v1.NUMERICIDENTIFIER]}|x|X|\\\\*`),_0(\"XRANGEPLAIN\",`[v=\\\\s]*(${j1[v1.XRANGEIDENTIFIER]})(?:\\\\.(${j1[v1.XRANGEIDENTIFIER]})(?:\\\\.(${j1[v1.XRANGEIDENTIFIER]})(?:${j1[v1.PRERELEASE]})?${j1[v1.BUILD]}?)?)?`),_0(\"XRANGEPLAINLOOSE\",`[v=\\\\s]*(${j1[v1.XRANGEIDENTIFIERLOOSE]})(?:\\\\.(${j1[v1.XRANGEIDENTIFIERLOOSE]})(?:\\\\.(${j1[v1.XRANGEIDENTIFIERLOOSE]})(?:${j1[v1.PRERELEASELOOSE]})?${j1[v1.BUILD]}?)?)?`),_0(\"XRANGE\",`^${j1[v1.GTLT]}\\\\s*${j1[v1.XRANGEPLAIN]}$`),_0(\"XRANGELOOSE\",`^${j1[v1.GTLT]}\\\\s*${j1[v1.XRANGEPLAINLOOSE]}$`),_0(\"COERCE\",`(^|[^\\\\d])(\\\\d{1,${$}})(?:\\\\.(\\\\d{1,${$}}))?(?:\\\\.(\\\\d{1,${$}}))?(?:$|[^\\\\d])`),_0(\"COERCERTL\",j1[v1.COERCE],!0),_0(\"LONETILDE\",\"(?:~>?)\"),_0(\"TILDETRIM\",`(\\\\s*)${j1[v1.LONETILDE]}\\\\s+`,!0),D.tildeTrimReplace=\"$1~\",_0(\"TILDE\",`^${j1[v1.LONETILDE]}${j1[v1.XRANGEPLAIN]}$`),_0(\"TILDELOOSE\",`^${j1[v1.LONETILDE]}${j1[v1.XRANGEPLAINLOOSE]}$`),_0(\"LONECARET\",\"(?:\\\\^)\"),_0(\"CARETTRIM\",`(\\\\s*)${j1[v1.LONECARET]}\\\\s+`,!0),D.caretTrimReplace=\"$1^\",_0(\"CARET\",`^${j1[v1.LONECARET]}${j1[v1.XRANGEPLAIN]}$`),_0(\"CARETLOOSE\",`^${j1[v1.LONECARET]}${j1[v1.XRANGEPLAINLOOSE]}$`),_0(\"COMPARATORLOOSE\",`^${j1[v1.GTLT]}\\\\s*(${j1[v1.LOOSEPLAIN]})$|^$`),_0(\"COMPARATOR\",`^${j1[v1.GTLT]}\\\\s*(${j1[v1.FULLPLAIN]})$|^$`),_0(\"COMPARATORTRIM\",`(\\\\s*)${j1[v1.GTLT]}\\\\s*(${j1[v1.LOOSEPLAIN]}|${j1[v1.XRANGEPLAIN]})`,!0),D.comparatorTrimReplace=\"$1$2$3\",_0(\"HYPHENRANGE\",`^\\\\s*(${j1[v1.XRANGEPLAIN]})\\\\s+-\\\\s+(${j1[v1.XRANGEPLAIN]})\\\\s*$`),_0(\"HYPHENRANGELOOSE\",`^\\\\s*(${j1[v1.XRANGEPLAINLOOSE]})\\\\s+-\\\\s+(${j1[v1.XRANGEPLAINLOOSE]})\\\\s*$`),_0(\"STAR\",\"(<|>)?=?\\\\s*\\\\*\"),_0(\"GTE0\",\"^\\\\s*>=\\\\s*0.0.0\\\\s*$\"),_0(\"GTE0PRE\",\"^\\\\s*>=\\\\s*0.0.0-0\\\\s*$\")});const H4=[\"includePrerelease\",\"loose\",\"rtl\"];var I4=C=>C?typeof C!=\"object\"?{loose:!0}:H4.filter(D=>C[D]).reduce((D,$)=>(D[$]=!0,D),{}):{};const GS=/^[0-9]+$/,SS=(C,D)=>{const $=GS.test(C),o1=GS.test(D);return $&&o1&&(C=+C,D=+D),C===D?0:$&&!o1?-1:o1&&!$?1:C<D?-1:1};var rS={compareIdentifiers:SS,rcompareIdentifiers:(C,D)=>SS(D,C)};const{MAX_LENGTH:T6,MAX_SAFE_INTEGER:dS}=hA,{re:w6,t:vb}=RS,{compareIdentifiers:Rh}=rS;class Wf{constructor(D,$){if($=I4($),D instanceof Wf){if(D.loose===!!$.loose&&D.includePrerelease===!!$.includePrerelease)return D;D=D.version}else if(typeof D!=\"string\")throw new TypeError(`Invalid Version: ${D}`);if(D.length>T6)throw new TypeError(`version is longer than ${T6} characters`);Ig(\"SemVer\",D,$),this.options=$,this.loose=!!$.loose,this.includePrerelease=!!$.includePrerelease;const o1=D.trim().match($.loose?w6[vb.LOOSE]:w6[vb.FULL]);if(!o1)throw new TypeError(`Invalid Version: ${D}`);if(this.raw=D,this.major=+o1[1],this.minor=+o1[2],this.patch=+o1[3],this.major>dS||this.major<0)throw new TypeError(\"Invalid major version\");if(this.minor>dS||this.minor<0)throw new TypeError(\"Invalid minor version\");if(this.patch>dS||this.patch<0)throw new TypeError(\"Invalid patch version\");o1[4]?this.prerelease=o1[4].split(\".\").map(j1=>{if(/^[0-9]+$/.test(j1)){const v1=+j1;if(v1>=0&&v1<dS)return v1}return j1}):this.prerelease=[],this.build=o1[5]?o1[5].split(\".\"):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(\".\")}`),this.version}toString(){return this.version}compare(D){if(Ig(\"SemVer.compare\",this.version,this.options,D),!(D instanceof Wf)){if(typeof D==\"string\"&&D===this.version)return 0;D=new Wf(D,this.options)}return D.version===this.version?0:this.compareMain(D)||this.comparePre(D)}compareMain(D){return D instanceof Wf||(D=new Wf(D,this.options)),Rh(this.major,D.major)||Rh(this.minor,D.minor)||Rh(this.patch,D.patch)}comparePre(D){if(D instanceof Wf||(D=new Wf(D,this.options)),this.prerelease.length&&!D.prerelease.length)return-1;if(!this.prerelease.length&&D.prerelease.length)return 1;if(!this.prerelease.length&&!D.prerelease.length)return 0;let $=0;do{const o1=this.prerelease[$],j1=D.prerelease[$];if(Ig(\"prerelease compare\",$,o1,j1),o1===void 0&&j1===void 0)return 0;if(j1===void 0)return 1;if(o1===void 0)return-1;if(o1!==j1)return Rh(o1,j1)}while(++$)}compareBuild(D){D instanceof Wf||(D=new Wf(D,this.options));let $=0;do{const o1=this.build[$],j1=D.build[$];if(Ig(\"prerelease compare\",$,o1,j1),o1===void 0&&j1===void 0)return 0;if(j1===void 0)return 1;if(o1===void 0)return-1;if(o1!==j1)return Rh(o1,j1)}while(++$)}inc(D,$){switch(D){case\"premajor\":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc(\"pre\",$);break;case\"preminor\":this.prerelease.length=0,this.patch=0,this.minor++,this.inc(\"pre\",$);break;case\"prepatch\":this.prerelease.length=0,this.inc(\"patch\",$),this.inc(\"pre\",$);break;case\"prerelease\":this.prerelease.length===0&&this.inc(\"patch\",$),this.inc(\"pre\",$);break;case\"major\":this.minor===0&&this.patch===0&&this.prerelease.length!==0||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case\"minor\":this.patch===0&&this.prerelease.length!==0||this.minor++,this.patch=0,this.prerelease=[];break;case\"patch\":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case\"pre\":if(this.prerelease.length===0)this.prerelease=[0];else{let o1=this.prerelease.length;for(;--o1>=0;)typeof this.prerelease[o1]==\"number\"&&(this.prerelease[o1]++,o1=-2);o1===-1&&this.prerelease.push(0)}$&&(this.prerelease[0]===$?isNaN(this.prerelease[1])&&(this.prerelease=[$,0]):this.prerelease=[$,0]);break;default:throw new Error(`invalid increment argument: ${D}`)}return this.format(),this.raw=this.version,this}}var Fp=Wf,ZC=(C,D,$)=>new Fp(C,$).compare(new Fp(D,$)),zA=(C,D,$)=>ZC(C,D,$)<0,zF=(C,D,$)=>ZC(C,D,$)>=0,WF=\"2.3.2\",l_=W0(function(C,D){function $(){for(var H0=[],E0=0;E0<arguments.length;E0++)H0[E0]=arguments[E0]}function o1(){return typeof WeakMap!=\"undefined\"?new WeakMap:{add:$,delete:$,get:$,set:$,has:function(H0){return!1}}}Object.defineProperty(D,\"__esModule\",{value:!0}),D.outdent=void 0;var j1=Object.prototype.hasOwnProperty,v1=function(H0,E0){return j1.call(H0,E0)};function ex(H0,E0){for(var I in E0)v1(E0,I)&&(H0[I]=E0[I]);return H0}var _0=/^[ \\t]*(?:\\r\\n|\\r|\\n)/,Ne=/(?:\\r\\n|\\r|\\n)[ \\t]*$/,e=/^(?:[\\r\\n]|$)/,s=/(?:\\r\\n|\\r|\\n)([ \\t]*)(?:[^ \\t\\r\\n]|$)/,X=/^[ \\t]*[\\r\\n][ \\t\\r\\n]*$/;function J(H0,E0,I){var A=0,Z=H0[0].match(s);Z&&(A=Z[1].length);var A0=new RegExp(\"(\\\\r\\\\n|\\\\r|\\\\n).{0,\"+A+\"}\",\"g\");E0&&(H0=H0.slice(1));var o0=I.newline,j=I.trimLeadingNewline,G=I.trimTrailingNewline,u0=typeof o0==\"string\",U=H0.length;return H0.map(function(g0,d0){return g0=g0.replace(A0,\"$1\"),d0===0&&j&&(g0=g0.replace(_0,\"\")),d0===U-1&&G&&(g0=g0.replace(Ne,\"\")),u0&&(g0=g0.replace(/\\r\\n|\\n|\\r/g,function(P0){return o0})),g0})}function m0(H0,E0){for(var I=\"\",A=0,Z=H0.length;A<Z;A++)I+=H0[A],A<Z-1&&(I+=E0[A]);return I}function s1(H0){return v1(H0,\"raw\")&&v1(H0,\"length\")}var i0=function H0(E0){var I=o1(),A=o1();return ex(function Z(A0){for(var o0=[],j=1;j<arguments.length;j++)o0[j-1]=arguments[j];if(s1(A0)){var G=A0,u0=(o0[0]===Z||o0[0]===i0)&&X.test(G[0])&&e.test(G[1]),U=u0?A:I,g0=U.get(G);if(g0||(g0=J(G,u0,E0),U.set(G,g0)),o0.length===0)return g0[0];var d0=m0(g0,u0?o0.slice(1):o0);return d0}return H0(ex(ex({},E0),A0||{}))},{string:function(Z){return J([Z],!1,E0)[0]}})}({trimLeadingNewline:!0,trimTrailingNewline:!0});D.outdent=i0,D.default=i0;try{C.exports=i0,Object.defineProperty(i0,\"__esModule\",{value:!0}),i0.default=i0,i0.outdent=i0}catch{}});const{outdent:xE}=l_,r6=\"Config\",M8=\"Editor\",KE=\"Other\",lm=\"Global\",mS=\"Special\",aT={cursorOffset:{since:\"1.4.0\",category:mS,type:\"int\",default:-1,range:{start:-1,end:Number.POSITIVE_INFINITY,step:1},description:xE`\n      Print (to stderr) where a cursor at the given position would move to after formatting.\n      This option cannot be used with --range-start and --range-end.\n    `,cliCategory:M8},endOfLine:{since:\"1.15.0\",category:lm,type:\"choice\",default:[{since:\"1.15.0\",value:\"auto\"},{since:\"2.0.0\",value:\"lf\"}],description:\"Which end of line characters to apply.\",choices:[{value:\"lf\",description:\"Line Feed only (\\\\n), common on Linux and macOS as well as inside git repos\"},{value:\"crlf\",description:\"Carriage Return + Line Feed characters (\\\\r\\\\n), common on Windows\"},{value:\"cr\",description:\"Carriage Return character only (\\\\r), used very rarely\"},{value:\"auto\",description:xE`\n          Maintain existing\n          (mixed values within one file are normalised by looking at what's used after the first line)\n        `}]},filepath:{since:\"1.4.0\",category:mS,type:\"path\",description:\"Specify the input filepath. This will be used to do parser inference.\",cliName:\"stdin-filepath\",cliCategory:KE,cliDescription:\"Path to the file to pretend that stdin comes from.\"},insertPragma:{since:\"1.8.0\",category:mS,type:\"boolean\",default:!1,description:\"Insert @format pragma into file's first docblock comment.\",cliCategory:KE},parser:{since:\"0.0.10\",category:lm,type:\"choice\",default:[{since:\"0.0.10\",value:\"babylon\"},{since:\"1.13.0\",value:void 0}],description:\"Which parser to use.\",exception:C=>typeof C==\"string\"||typeof C==\"function\",choices:[{value:\"flow\",description:\"Flow\"},{value:\"babel\",since:\"1.16.0\",description:\"JavaScript\"},{value:\"babel-flow\",since:\"1.16.0\",description:\"Flow\"},{value:\"babel-ts\",since:\"2.0.0\",description:\"TypeScript\"},{value:\"typescript\",since:\"1.4.0\",description:\"TypeScript\"},{value:\"espree\",since:\"2.2.0\",description:\"JavaScript\"},{value:\"meriyah\",since:\"2.2.0\",description:\"JavaScript\"},{value:\"css\",since:\"1.7.1\",description:\"CSS\"},{value:\"less\",since:\"1.7.1\",description:\"Less\"},{value:\"scss\",since:\"1.7.1\",description:\"SCSS\"},{value:\"json\",since:\"1.5.0\",description:\"JSON\"},{value:\"json5\",since:\"1.13.0\",description:\"JSON5\"},{value:\"json-stringify\",since:\"1.13.0\",description:\"JSON.stringify\"},{value:\"graphql\",since:\"1.5.0\",description:\"GraphQL\"},{value:\"markdown\",since:\"1.8.0\",description:\"Markdown\"},{value:\"mdx\",since:\"1.15.0\",description:\"MDX\"},{value:\"vue\",since:\"1.10.0\",description:\"Vue\"},{value:\"yaml\",since:\"1.14.0\",description:\"YAML\"},{value:\"glimmer\",since:\"2.3.0\",description:\"Ember / Handlebars\"},{value:\"html\",since:\"1.15.0\",description:\"HTML\"},{value:\"angular\",since:\"1.15.0\",description:\"Angular\"},{value:\"lwc\",since:\"1.17.0\",description:\"Lightning Web Components\"}]},plugins:{since:\"1.10.0\",type:\"path\",array:!0,default:[{value:[]}],category:lm,description:\"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.\",exception:C=>typeof C==\"string\"||typeof C==\"object\",cliName:\"plugin\",cliCategory:r6},pluginSearchDirs:{since:\"1.13.0\",type:\"path\",array:!0,default:[{value:[]}],category:lm,description:xE`\n      Custom directory that contains prettier plugins in node_modules subdirectory.\n      Overrides default behavior when plugins are searched relatively to the location of Prettier.\n      Multiple values are accepted.\n    `,exception:C=>typeof C==\"string\"||typeof C==\"object\",cliName:\"plugin-search-dir\",cliCategory:r6},printWidth:{since:\"0.0.0\",category:lm,type:\"int\",default:80,description:\"The line length where Prettier will try wrap.\",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},rangeEnd:{since:\"1.4.0\",category:mS,type:\"int\",default:Number.POSITIVE_INFINITY,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:xE`\n      Format code ending at a given character offset (exclusive).\n      The range will extend forwards to the end of the selected statement.\n      This option cannot be used with --cursor-offset.\n    `,cliCategory:M8},rangeStart:{since:\"1.4.0\",category:mS,type:\"int\",default:0,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:xE`\n      Format code starting at a given character offset.\n      The range will extend backwards to the start of the first line containing the selected statement.\n      This option cannot be used with --cursor-offset.\n    `,cliCategory:M8},requirePragma:{since:\"1.7.0\",category:mS,type:\"boolean\",default:!1,description:xE`\n      Require either '@prettier' or '@format' to be present in the file's first docblock comment\n      in order for it to be formatted.\n    `,cliCategory:KE},tabWidth:{type:\"int\",category:lm,default:2,description:\"Number of spaces per indentation level.\",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},useTabs:{since:\"1.0.0\",category:lm,type:\"boolean\",default:!1,description:\"Indent with tabs instead of spaces.\"},embeddedLanguageFormatting:{since:\"2.1.0\",category:lm,type:\"choice\",default:[{since:\"2.1.0\",value:\"auto\"}],description:\"Control how Prettier formats quoted code embedded in the file.\",choices:[{value:\"auto\",description:\"Format embedded code if Prettier can automatically identify it.\"},{value:\"off\",description:\"Never automatically format embedded code.\"}]}},h4=[\"cliName\",\"cliCategory\",\"cliDescription\"],G4={compare:ZC,lt:zA,gte:zF},k6=WF,xw=aT;var UT={getSupportInfo:function({plugins:C=[],showUnreleased:D=!1,showDeprecated:$=!1,showInternal:o1=!1}={}){const j1=k6.split(\"-\",1)[0],v1=C.flatMap(X=>X.languages||[]).filter(e),ex=(_0=Object.assign({},...C.map(({options:X})=>X),xw),Ne=\"name\",Object.entries(_0).map(([X,J])=>Object.assign({[Ne]:X},J))).filter(X=>e(X)&&s(X)).sort((X,J)=>X.name===J.name?0:X.name<J.name?-1:1).map(function(X){return o1?X:F1(X,h4)}).map(X=>{X=Object.assign({},X),Array.isArray(X.default)&&(X.default=X.default.length===1?X.default[0].value:X.default.filter(e).sort((m0,s1)=>G4.compare(s1.since,m0.since))[0].value),Array.isArray(X.choices)&&(X.choices=X.choices.filter(m0=>e(m0)&&s(m0)),X.name===\"parser\"&&function(m0,s1,i0){const H0=new Set(m0.choices.map(E0=>E0.value));for(const E0 of s1)if(E0.parsers){for(const I of E0.parsers)if(!H0.has(I)){H0.add(I);const A=i0.find(A0=>A0.parsers&&A0.parsers[I]);let Z=E0.name;A&&A.name&&(Z+=` (plugin: ${A.name})`),m0.choices.push({value:I,description:Z})}}}(X,v1,C));const J=Object.fromEntries(C.filter(m0=>m0.defaultOptions&&m0.defaultOptions[X.name]!==void 0).map(m0=>[m0.name,m0.defaultOptions[X.name]]));return Object.assign(Object.assign({},X),{},{pluginDefaults:J})});var _0,Ne;return{languages:v1,options:ex};function e(X){return D||!(\"since\"in X)||X.since&&G4.gte(j1,X.since)}function s(X){return $||!(\"deprecated\"in X)||X.deprecated&&G4.lt(j1,X.deprecated)}}};const{getSupportInfo:oT}=UT,G8=/[^\\x20-\\x7F]/;function y6(C){return(D,$,o1)=>{const j1=o1&&o1.backwards;if($===!1)return!1;const{length:v1}=D;let ex=$;for(;ex>=0&&ex<v1;){const _0=D.charAt(ex);if(C instanceof RegExp){if(!C.test(_0))return ex}else if(!C.includes(_0))return ex;j1?ex--:ex++}return(ex===-1||ex===v1)&&ex}}const nS=y6(/\\s/),jD=y6(\" \t\"),X4=y6(\",; \t\"),SF=y6(/[^\\n\\r]/);function ad(C,D){if(D===!1)return!1;if(C.charAt(D)===\"/\"&&C.charAt(D+1)===\"*\"){for(let $=D+2;$<C.length;++$)if(C.charAt($)===\"*\"&&C.charAt($+1)===\"/\")return $+2}return D}function XS(C,D){return D!==!1&&(C.charAt(D)===\"/\"&&C.charAt(D+1)===\"/\"?SF(C,D):D)}function X8(C,D,$){const o1=$&&$.backwards;if(D===!1)return!1;const j1=C.charAt(D);if(o1){if(C.charAt(D-1)===\"\\r\"&&j1===`\n`)return D-2;if(j1===`\n`||j1===\"\\r\"||j1===\"\\u2028\"||j1===\"\\u2029\")return D-1}else{if(j1===\"\\r\"&&C.charAt(D+1)===`\n`)return D+2;if(j1===`\n`||j1===\"\\r\"||j1===\"\\u2028\"||j1===\"\\u2029\")return D+1}return D}function gA(C,D,$={}){const o1=jD(C,$.backwards?D-1:D,$);return o1!==X8(C,o1,$)}function VT(C,D){let $=null,o1=D;for(;o1!==$;)$=o1,o1=X4(C,o1),o1=ad(C,o1),o1=jD(C,o1);return o1=XS(C,o1),o1=X8(C,o1),o1!==!1&&gA(C,o1)}function YS(C,D){let $=null,o1=D;for(;o1!==$;)$=o1,o1=jD(C,o1),o1=ad(C,o1),o1=XS(C,o1),o1=X8(C,o1);return o1}function _A(C,D,$){return YS(C,$(D))}function QS(C,D,$=0){let o1=0;for(let j1=$;j1<C.length;++j1)C[j1]===\"\t\"?o1=o1+D-o1%D:o1++;return o1}function qF(C,D){const $=C.slice(1,-1),o1={quote:'\"',regex:/\"/g},j1={quote:\"'\",regex:/'/g},v1=D===\"'\"?j1:o1,ex=v1===j1?o1:j1;let _0=v1.quote;return($.includes(v1.quote)||$.includes(ex.quote))&&(_0=($.match(v1.regex)||[]).length>($.match(ex.regex)||[]).length?ex.quote:v1.quote),_0}function jS(C,D,$){const o1=D==='\"'?\"'\":'\"',j1=C.replace(/\\\\(.)|([\"'])/gs,(v1,ex,_0)=>ex===o1?ex:_0===D?\"\\\\\"+_0:_0||($&&/^[^\\n\\r\"'0-7\\\\bfnrt-vx\\u2028\\u2029]$/.test(ex)?ex:\"\\\\\"+ex));return D+j1+D}function zE(C,D){(C.comments||(C.comments=[])).push(D),D.printed=!1,D.nodeDescription=function($){const o1=$.type||$.kind||\"(unknown type)\";let j1=String($.name||$.id&&(typeof $.id==\"object\"?$.id.name:$.id)||$.key&&(typeof $.key==\"object\"?$.key.name:$.key)||$.value&&(typeof $.value==\"object\"?\"\":String($.value))||$.operator||\"\");return j1.length>20&&(j1=j1.slice(0,19)+\"\\u2026\"),o1+(j1?\" \"+j1:\"\")}(C)}var n6={inferParserByLanguage:function(C,D){const{languages:$}=oT({plugins:D.plugins}),o1=$.find(({name:j1})=>j1.toLowerCase()===C)||$.find(({aliases:j1})=>Array.isArray(j1)&&j1.includes(C))||$.find(({extensions:j1})=>Array.isArray(j1)&&j1.includes(`.${C}`));return o1&&o1.parsers[0]},getStringWidth:function(C){return C?G8.test(C)?J0(C):C.length:0},getMaxContinuousCount:function(C,D){const $=C.match(new RegExp(`(${t1(D)})+`,\"g\"));return $===null?0:$.reduce((o1,j1)=>Math.max(o1,j1.length/D.length),0)},getMinNotPresentContinuousCount:function(C,D){const $=C.match(new RegExp(`(${t1(D)})+`,\"g\"));if($===null)return 0;const o1=new Map;let j1=0;for(const v1 of $){const ex=v1.length/D.length;o1.set(ex,!0),ex>j1&&(j1=ex)}for(let v1=1;v1<j1;v1++)if(!o1.get(v1))return v1;return j1+1},getPenultimate:C=>C[C.length-2],getLast:r1,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:YS,getNextNonSpaceNonCommentCharacterIndex:_A,getNextNonSpaceNonCommentCharacter:function(C,D,$){return C.charAt(_A(C,D,$))},skip:y6,skipWhitespace:nS,skipSpaces:jD,skipToLineEnd:X4,skipEverythingButNewLine:SF,skipInlineComment:ad,skipTrailingComment:XS,skipNewline:X8,isNextLineEmptyAfterIndex:VT,isNextLineEmpty:function(C,D,$){return VT(C,$(D))},isPreviousLineEmpty:function(C,D,$){let o1=$(D)-1;return o1=jD(C,o1,{backwards:!0}),o1=X8(C,o1,{backwards:!0}),o1=jD(C,o1,{backwards:!0}),o1!==X8(C,o1,{backwards:!0})},hasNewline:gA,hasNewlineInRange:function(C,D,$){for(let o1=D;o1<$;++o1)if(C.charAt(o1)===`\n`)return!0;return!1},hasSpaces:function(C,D,$={}){return jD(C,$.backwards?D-1:D,$)!==D},getAlignmentSize:QS,getIndentSize:function(C,D){const $=C.lastIndexOf(`\n`);return $===-1?0:QS(C.slice($+1).match(/^[\\t ]*/)[0],D)},getPreferredQuote:qF,printString:function(C,D){return jS(C.slice(1,-1),D.parser===\"json\"||D.parser===\"json5\"&&D.quoteProps===\"preserve\"&&!D.singleQuote?'\"':D.__isInHtmlAttribute?\"'\":qF(C,D.singleQuote?\"'\":'\"'),!(D.parser===\"css\"||D.parser===\"less\"||D.parser===\"scss\"||D.__embeddedInHtml))},printNumber:function(C){return C.toLowerCase().replace(/^([+-]?[\\d.]+e)(?:\\+|(-))?0*(\\d)/,\"$1$2$3\").replace(/^([+-]?[\\d.]+)e[+-]?0+$/,\"$1\").replace(/^([+-])?\\./,\"$10.\").replace(/(\\.\\d+?)0+(?=e|$)/,\"$1\").replace(/\\.(?=e|$)/,\"\")},makeString:jS,addLeadingComment:function(C,D){D.leading=!0,D.trailing=!1,zE(C,D)},addDanglingComment:function(C,D,$){D.leading=!1,D.trailing=!1,$&&(D.marker=$),zE(C,D)},addTrailingComment:function(C,D){D.leading=!1,D.trailing=!0,zE(C,D)},isFrontMatterNode:function(C){return C&&C.type===\"front-matter\"},getShebang:function(C){if(!C.startsWith(\"#!\"))return\"\";const D=C.indexOf(`\n`);return D===-1?C:C.slice(0,D)},isNonEmptyArray:function(C){return Array.isArray(C)&&C.length>0},createGroupIdMapper:function(C){const D=new WeakMap;return function($){return D.has($)||D.set($,Symbol(C)),D.get($)}}};const{isNonEmptyArray:iS}=n6;function p6(C,D){const{ignoreDecorators:$}=D||{};if(!$){const o1=C.declaration&&C.declaration.decorators||C.decorators;if(iS(o1))return p6(o1[0])}return C.range?C.range[0]:C.start}function O4(C){return C.range?C.range[1]:C.end}function $T(C,D){return p6(C)===p6(D)}var FF={locStart:p6,locEnd:O4,hasSameLocStart:$T,hasSameLoc:function(C,D){return $T(C,D)&&function($,o1){return O4($)===O4(o1)}(C,D)}},AF=W0(function(C){(function(){function D(o1){if(o1==null)return!1;switch(o1.type){case\"BlockStatement\":case\"BreakStatement\":case\"ContinueStatement\":case\"DebuggerStatement\":case\"DoWhileStatement\":case\"EmptyStatement\":case\"ExpressionStatement\":case\"ForInStatement\":case\"ForStatement\":case\"IfStatement\":case\"LabeledStatement\":case\"ReturnStatement\":case\"SwitchStatement\":case\"ThrowStatement\":case\"TryStatement\":case\"VariableDeclaration\":case\"WhileStatement\":case\"WithStatement\":return!0}return!1}function $(o1){switch(o1.type){case\"IfStatement\":return o1.alternate!=null?o1.alternate:o1.consequent;case\"LabeledStatement\":case\"ForStatement\":case\"ForInStatement\":case\"WhileStatement\":case\"WithStatement\":return o1.body}return null}C.exports={isExpression:function(o1){if(o1==null)return!1;switch(o1.type){case\"ArrayExpression\":case\"AssignmentExpression\":case\"BinaryExpression\":case\"CallExpression\":case\"ConditionalExpression\":case\"FunctionExpression\":case\"Identifier\":case\"Literal\":case\"LogicalExpression\":case\"MemberExpression\":case\"NewExpression\":case\"ObjectExpression\":case\"SequenceExpression\":case\"ThisExpression\":case\"UnaryExpression\":case\"UpdateExpression\":return!0}return!1},isStatement:D,isIterationStatement:function(o1){if(o1==null)return!1;switch(o1.type){case\"DoWhileStatement\":case\"ForInStatement\":case\"ForStatement\":case\"WhileStatement\":return!0}return!1},isSourceElement:function(o1){return D(o1)||o1!=null&&o1.type===\"FunctionDeclaration\"},isProblematicIfStatement:function(o1){var j1;if(o1.type!==\"IfStatement\"||o1.alternate==null)return!1;j1=o1.consequent;do{if(j1.type===\"IfStatement\"&&j1.alternate==null)return!0;j1=$(j1)}while(j1);return!1},trailingStatement:$}})()}),Y8=W0(function(C){(function(){var D,$,o1,j1,v1,ex;function _0(Ne){return Ne<=65535?String.fromCharCode(Ne):String.fromCharCode(Math.floor((Ne-65536)/1024)+55296)+String.fromCharCode((Ne-65536)%1024+56320)}for($={NonAsciiIdentifierStart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\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-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\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\\u0AF9\\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-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\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-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\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\\u2160-\\u2188\\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-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\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]/,NonAsciiIdentifierPart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B4\\u08B6-\\u08BD\\u08D4-\\u08E1\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D54-\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\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\\u135D-\\u135F\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19D9\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFB-\\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\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u2E2F\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099\\u309A\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]/},D={NonAsciiIdentifierStart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\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-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\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\\u0AF9\\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-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\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-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\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\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\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\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309B-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\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]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDF00-\\uDF19]|\\uD806[\\uDCA0-\\uDCDF\\uDCFF\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50\\uDF93-\\uDF9F\\uDFE0]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD83A[\\uDC00-\\uDCC4\\uDD00-\\uDD43]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]/,NonAsciiIdentifierPart:/[\\xAA\\xB5\\xB7\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B4\\u08B6-\\u08BD\\u08D4-\\u08E1\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D54-\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\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\\u135D-\\u135F\\u1369-\\u1371\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFB-\\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\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDDFD\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDEE0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF7A\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCA0-\\uDCA9\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE38-\\uDE3A\\uDE3F\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE6\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC00-\\uDC46\\uDC66-\\uDC6F\\uDC7F-\\uDCBA\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9\\uDD00-\\uDD34\\uDD36-\\uDD3F\\uDD50-\\uDD73\\uDD76\\uDD80-\\uDDC4\\uDDCA-\\uDDCC\\uDDD0-\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE37\\uDE3E\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEEA\\uDEF0-\\uDEF9\\uDF00-\\uDF03\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3C-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF50\\uDF57\\uDF5D-\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDC00-\\uDC4A\\uDC50-\\uDC59\\uDC80-\\uDCC5\\uDCC7\\uDCD0-\\uDCD9\\uDD80-\\uDDB5\\uDDB8-\\uDDC0\\uDDD8-\\uDDDD\\uDE00-\\uDE40\\uDE44\\uDE50-\\uDE59\\uDE80-\\uDEB7\\uDEC0-\\uDEC9\\uDF00-\\uDF19\\uDF1D-\\uDF2B\\uDF30-\\uDF39]|\\uD806[\\uDCA0-\\uDCE9\\uDCFF\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC36\\uDC38-\\uDC40\\uDC50-\\uDC59\\uDC72-\\uDC8F\\uDC92-\\uDCA7\\uDCA9-\\uDCB6]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE60-\\uDE69\\uDED0-\\uDEED\\uDEF0-\\uDEF4\\uDF00-\\uDF36\\uDF40-\\uDF43\\uDF50-\\uDF59\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50-\\uDF7E\\uDF8F-\\uDF9F\\uDFE0]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB\\uDFCE-\\uDFFF]|\\uD836[\\uDE00-\\uDE36\\uDE3B-\\uDE6C\\uDE75\\uDE84\\uDE9B-\\uDE9F\\uDEA1-\\uDEAF]|\\uD838[\\uDC00-\\uDC06\\uDC08-\\uDC18\\uDC1B-\\uDC21\\uDC23\\uDC24\\uDC26-\\uDC2A]|\\uD83A[\\uDC00-\\uDCC4\\uDCD0-\\uDCD6\\uDD00-\\uDD4A\\uDD50-\\uDD59]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]|\\uDB40[\\uDD00-\\uDDEF]/},o1=[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279],j1=new Array(128),ex=0;ex<128;++ex)j1[ex]=ex>=97&&ex<=122||ex>=65&&ex<=90||ex===36||ex===95;for(v1=new Array(128),ex=0;ex<128;++ex)v1[ex]=ex>=97&&ex<=122||ex>=65&&ex<=90||ex>=48&&ex<=57||ex===36||ex===95;C.exports={isDecimalDigit:function(Ne){return 48<=Ne&&Ne<=57},isHexDigit:function(Ne){return 48<=Ne&&Ne<=57||97<=Ne&&Ne<=102||65<=Ne&&Ne<=70},isOctalDigit:function(Ne){return Ne>=48&&Ne<=55},isWhiteSpace:function(Ne){return Ne===32||Ne===9||Ne===11||Ne===12||Ne===160||Ne>=5760&&o1.indexOf(Ne)>=0},isLineTerminator:function(Ne){return Ne===10||Ne===13||Ne===8232||Ne===8233},isIdentifierStartES5:function(Ne){return Ne<128?j1[Ne]:$.NonAsciiIdentifierStart.test(_0(Ne))},isIdentifierPartES5:function(Ne){return Ne<128?v1[Ne]:$.NonAsciiIdentifierPart.test(_0(Ne))},isIdentifierStartES6:function(Ne){return Ne<128?j1[Ne]:D.NonAsciiIdentifierStart.test(_0(Ne))},isIdentifierPartES6:function(Ne){return Ne<128?v1[Ne]:D.NonAsciiIdentifierPart.test(_0(Ne))}}})()}),hS=W0(function(C){(function(){var D=Y8;function $(Ne,e){return!(!e&&Ne===\"yield\")&&o1(Ne,e)}function o1(Ne,e){if(e&&function(s){switch(s){case\"implements\":case\"interface\":case\"package\":case\"private\":case\"protected\":case\"public\":case\"static\":case\"let\":return!0;default:return!1}}(Ne))return!0;switch(Ne.length){case 2:return Ne===\"if\"||Ne===\"in\"||Ne===\"do\";case 3:return Ne===\"var\"||Ne===\"for\"||Ne===\"new\"||Ne===\"try\";case 4:return Ne===\"this\"||Ne===\"else\"||Ne===\"case\"||Ne===\"void\"||Ne===\"with\"||Ne===\"enum\";case 5:return Ne===\"while\"||Ne===\"break\"||Ne===\"catch\"||Ne===\"throw\"||Ne===\"const\"||Ne===\"yield\"||Ne===\"class\"||Ne===\"super\";case 6:return Ne===\"return\"||Ne===\"typeof\"||Ne===\"delete\"||Ne===\"switch\"||Ne===\"export\"||Ne===\"import\";case 7:return Ne===\"default\"||Ne===\"finally\"||Ne===\"extends\";case 8:return Ne===\"function\"||Ne===\"continue\"||Ne===\"debugger\";case 10:return Ne===\"instanceof\";default:return!1}}function j1(Ne,e){return Ne===\"null\"||Ne===\"true\"||Ne===\"false\"||$(Ne,e)}function v1(Ne,e){return Ne===\"null\"||Ne===\"true\"||Ne===\"false\"||o1(Ne,e)}function ex(Ne){var e,s,X;if(Ne.length===0||(X=Ne.charCodeAt(0),!D.isIdentifierStartES5(X)))return!1;for(e=1,s=Ne.length;e<s;++e)if(X=Ne.charCodeAt(e),!D.isIdentifierPartES5(X))return!1;return!0}function _0(Ne){var e,s,X,J,m0;if(Ne.length===0)return!1;for(m0=D.isIdentifierStartES6,e=0,s=Ne.length;e<s;++e){if(55296<=(X=Ne.charCodeAt(e))&&X<=56319){if(++e>=s||!(56320<=(J=Ne.charCodeAt(e))&&J<=57343))return!1;X=1024*(X-55296)+(J-56320)+65536}if(!m0(X))return!1;m0=D.isIdentifierPartES6}return!0}C.exports={isKeywordES5:$,isKeywordES6:o1,isReservedWordES5:j1,isReservedWordES6:v1,isRestrictedWord:function(Ne){return Ne===\"eval\"||Ne===\"arguments\"},isIdentifierNameES5:ex,isIdentifierNameES6:_0,isIdentifierES5:function(Ne,e){return ex(Ne)&&!j1(Ne,e)},isIdentifierES6:function(Ne,e){return _0(Ne)&&!v1(Ne,e)}}})()});const yA=W0(function(C,D){D.ast=AF,D.code=Y8,D.keyword=hS}).keyword.isIdentifierNameES5,{getLast:JF,hasNewline:eE,skipWhitespace:ew,isNonEmptyArray:b5,isNextLineEmptyAfterIndex:DA}=n6,{locStart:_a,locEnd:$o,hasSameLocStart:To}=FF,Qc=new RegExp(\"^(?:(?=.)\\\\s)*:\"),od=new RegExp(\"^(?:(?=.)\\\\s)*::\");function _p(C){return C.type===\"Block\"||C.type===\"CommentBlock\"||C.type===\"MultiLine\"}function F8(C){return C.type===\"Line\"||C.type===\"CommentLine\"||C.type===\"SingleLine\"||C.type===\"HashbangComment\"||C.type===\"HTMLOpen\"||C.type===\"HTMLClose\"}const rg=new Set([\"ExportDefaultDeclaration\",\"ExportDefaultSpecifier\",\"DeclareExportDeclaration\",\"ExportNamedDeclaration\",\"ExportAllDeclaration\"]);function Y4(C){return C&&rg.has(C.type)}function ZS(C){return C.type===\"NumericLiteral\"||C.type===\"Literal\"&&typeof C.value==\"number\"}function A8(C){return C.type===\"StringLiteral\"||C.type===\"Literal\"&&typeof C.value==\"string\"}function WE(C){return C.type===\"FunctionExpression\"||C.type===\"ArrowFunctionExpression\"}function R8(C){return $2(C)&&C.callee.type===\"Identifier\"&&(C.callee.name===\"async\"||C.callee.name===\"inject\"||C.callee.name===\"fakeAsync\")}function gS(C){return C.type===\"JSXElement\"||C.type===\"JSXFragment\"}function N6(C){return C.kind===\"get\"||C.kind===\"set\"}function g4(C){return N6(C)||To(C,C.value)}const f_=new Set([\"BinaryExpression\",\"LogicalExpression\",\"NGPipeExpression\"]),TF=new Set([\"AnyTypeAnnotation\",\"TSAnyKeyword\",\"NullLiteralTypeAnnotation\",\"TSNullKeyword\",\"ThisTypeAnnotation\",\"TSThisType\",\"NumberTypeAnnotation\",\"TSNumberKeyword\",\"VoidTypeAnnotation\",\"TSVoidKeyword\",\"BooleanTypeAnnotation\",\"TSBooleanKeyword\",\"BigIntTypeAnnotation\",\"TSBigIntKeyword\",\"SymbolTypeAnnotation\",\"TSSymbolKeyword\",\"StringTypeAnnotation\",\"TSStringKeyword\",\"BooleanLiteralTypeAnnotation\",\"StringLiteralTypeAnnotation\",\"BigIntLiteralTypeAnnotation\",\"NumberLiteralTypeAnnotation\",\"TSLiteralType\",\"TSTemplateLiteralType\",\"EmptyTypeAnnotation\",\"MixedTypeAnnotation\",\"TSNeverKeyword\",\"TSObjectKeyword\",\"TSUndefinedKeyword\",\"TSUnknownKeyword\"]),G6=/^(skip|[fx]?(it|describe|test))$/;function $2(C){return C&&(C.type===\"CallExpression\"||C.type===\"OptionalCallExpression\")}function b8(C){return C&&(C.type===\"MemberExpression\"||C.type===\"OptionalMemberExpression\")}function vA(C){return/^(\\d+|\\d+\\.\\d+)$/.test(C)}function n5(C){return C.quasis.some(D=>D.value.raw.includes(`\n`))}function bb(C){return C.extra?C.extra.raw:C.raw}const P6={\"==\":!0,\"!=\":!0,\"===\":!0,\"!==\":!0},i6={\"*\":!0,\"/\":!0,\"%\":!0},wF={\">>\":!0,\">>>\":!0,\"<<\":!0},I6={};for(const[C,D]of[[\"|>\"],[\"??\"],[\"||\"],[\"&&\"],[\"|\"],[\"^\"],[\"&\"],[\"==\",\"===\",\"!=\",\"!==\"],[\"<\",\">\",\"<=\",\">=\",\"in\",\"instanceof\"],[\">>\",\"<<\",\">>>\"],[\"+\",\"-\"],[\"*\",\"/\",\"%\"],[\"**\"]].entries())for(const $ of D)I6[$]=C;function sd(C){return I6[C]}const HF=new WeakMap;function aS(C){if(HF.has(C))return HF.get(C);const D=[];return C.this&&D.push(C.this),Array.isArray(C.parameters)?D.push(...C.parameters):Array.isArray(C.params)&&D.push(...C.params),C.rest&&D.push(C.rest),HF.set(C,D),D}const B4=new WeakMap;function Ux(C){if(B4.has(C))return B4.get(C);let D=C.arguments;return C.type===\"ImportExpression\"&&(D=[C.source],C.attributes&&D.push(C.attributes)),B4.set(C,D),D}function ue(C){return C.value.trim()===\"prettier-ignore\"&&!C.unignore}function Xe(C){return C&&(C.prettierIgnore||hr(C,Ht.PrettierIgnore))}const Ht={Leading:2,Trailing:4,Dangling:8,Block:16,Line:32,PrettierIgnore:64,First:128,Last:256},le=(C,D)=>{if(typeof C==\"function\"&&(D=C,C=0),C||D)return($,o1,j1)=>!(C&Ht.Leading&&!$.leading||C&Ht.Trailing&&!$.trailing||C&Ht.Dangling&&($.leading||$.trailing)||C&Ht.Block&&!_p($)||C&Ht.Line&&!F8($)||C&Ht.First&&o1!==0||C&Ht.Last&&o1!==j1.length-1||C&Ht.PrettierIgnore&&!ue($)||D&&!D($))};function hr(C,D,$){if(!C||!b5(C.comments))return!1;const o1=le(D,$);return!o1||C.comments.some(o1)}function pr(C,D,$){if(!C||!Array.isArray(C.comments))return[];const o1=le(D,$);return o1?C.comments.filter(o1):C.comments}function lt(C){return $2(C)||C.type===\"NewExpression\"||C.type===\"ImportExpression\"}var Qr={getFunctionParameters:aS,iterateFunctionParametersPath:function(C,D){const $=C.getValue();let o1=0;const j1=v1=>D(v1,o1++);$.this&&C.call(j1,\"this\"),Array.isArray($.parameters)?C.each(j1,\"parameters\"):Array.isArray($.params)&&C.each(j1,\"params\"),$.rest&&C.call(j1,\"rest\")},getCallArguments:Ux,iterateCallArgumentsPath:function(C,D){const $=C.getValue();$.type===\"ImportExpression\"?(C.call(o1=>D(o1,0),\"source\"),$.attributes&&C.call(o1=>D(o1,1),\"attributes\")):C.each(D,\"arguments\")},hasRestParameter:function(C){if(C.rest)return!0;const D=aS(C);return D.length>0&&JF(D).type===\"RestElement\"},getLeftSide:function(C){return C.expressions?C.expressions[0]:C.left||C.test||C.callee||C.object||C.tag||C.argument||C.expression},getLeftSidePathName:function(C,D){if(D.expressions)return[\"expressions\",0];if(D.left)return[\"left\"];if(D.test)return[\"test\"];if(D.object)return[\"object\"];if(D.callee)return[\"callee\"];if(D.tag)return[\"tag\"];if(D.argument)return[\"argument\"];if(D.expression)return[\"expression\"];throw new Error(\"Unexpected node has no left side.\")},getParentExportDeclaration:function(C){const D=C.getParentNode();return C.getName()===\"declaration\"&&Y4(D)?D:null},getTypeScriptMappedTypeModifier:function(C,D){return C===\"+\"?\"+\"+D:C===\"-\"?\"-\"+D:D},hasFlowAnnotationComment:function(C){return C&&_p(C[0])&&od.test(C[0].value)},hasFlowShorthandAnnotationComment:function(C){return C.extra&&C.extra.parenthesized&&b5(C.trailingComments)&&_p(C.trailingComments[0])&&Qc.test(C.trailingComments[0].value)},hasLeadingOwnLineComment:function(C,D){return gS(D)?Xe(D):hr(D,Ht.Leading,$=>eE(C,$o($)))},hasNakedLeftSide:function(C){return C.type===\"AssignmentExpression\"||C.type===\"BinaryExpression\"||C.type===\"LogicalExpression\"||C.type===\"NGPipeExpression\"||C.type===\"ConditionalExpression\"||$2(C)||b8(C)||C.type===\"SequenceExpression\"||C.type===\"TaggedTemplateExpression\"||C.type===\"BindExpression\"||C.type===\"UpdateExpression\"&&!C.prefix||C.type===\"TSAsExpression\"||C.type===\"TSNonNullExpression\"},hasNode:function C(D,$){if(!D||typeof D!=\"object\")return!1;if(Array.isArray(D))return D.some(j1=>C(j1,$));const o1=$(D);return typeof o1==\"boolean\"?o1:Object.values(D).some(j1=>C(j1,$))},hasIgnoreComment:function(C){return Xe(C.getValue())},hasNodeIgnoreComment:Xe,identity:function(C){return C},isBinaryish:function(C){return f_.has(C.type)},isBlockComment:_p,isCallLikeExpression:lt,isLineComment:F8,isPrettierIgnoreComment:ue,isCallExpression:$2,isMemberExpression:b8,isExportDeclaration:Y4,isFlowAnnotationComment:function(C,D){const $=_a(D),o1=ew(C,$o(D));return o1!==!1&&C.slice($,$+2)===\"/*\"&&C.slice(o1,o1+2)===\"*/\"},isFunctionCompositionArgs:function(C){if(C.length<=1)return!1;let D=0;for(const $ of C)if(WE($)){if(D+=1,D>1)return!0}else if($2($)){for(const o1 of $.arguments)if(WE(o1))return!0}return!1},isFunctionNotation:g4,isFunctionOrArrowExpression:WE,isGetterOrSetter:N6,isJestEachTemplateLiteral:function(C,D){const $=/^[fx]?(describe|it|test)$/;return D.type===\"TaggedTemplateExpression\"&&D.quasi===C&&D.tag.type===\"MemberExpression\"&&D.tag.property.type===\"Identifier\"&&D.tag.property.name===\"each\"&&(D.tag.object.type===\"Identifier\"&&$.test(D.tag.object.name)||D.tag.object.type===\"MemberExpression\"&&D.tag.object.property.type===\"Identifier\"&&(D.tag.object.property.name===\"only\"||D.tag.object.property.name===\"skip\")&&D.tag.object.object.type===\"Identifier\"&&$.test(D.tag.object.object.name))},isJsxNode:gS,isLiteral:function(C){return C.type===\"BooleanLiteral\"||C.type===\"DirectiveLiteral\"||C.type===\"Literal\"||C.type===\"NullLiteral\"||C.type===\"NumericLiteral\"||C.type===\"BigIntLiteral\"||C.type===\"DecimalLiteral\"||C.type===\"RegExpLiteral\"||C.type===\"StringLiteral\"||C.type===\"TemplateLiteral\"||C.type===\"TSTypeLiteral\"||C.type===\"JSXText\"},isLongCurriedCallExpression:function(C){const D=C.getValue(),$=C.getParentNode();return $2(D)&&$2($)&&$.callee===D&&D.arguments.length>$.arguments.length&&$.arguments.length>0},isSimpleCallArgument:function C(D,$){if($>=2)return!1;const o1=v1=>C(v1,$+1),j1=D.type===\"Literal\"&&\"regex\"in D&&D.regex.pattern||D.type===\"RegExpLiteral\"&&D.pattern;return!(j1&&j1.length>5)&&(D.type===\"Literal\"||D.type===\"BigIntLiteral\"||D.type===\"DecimalLiteral\"||D.type===\"BooleanLiteral\"||D.type===\"NullLiteral\"||D.type===\"NumericLiteral\"||D.type===\"RegExpLiteral\"||D.type===\"StringLiteral\"||D.type===\"Identifier\"||D.type===\"ThisExpression\"||D.type===\"Super\"||D.type===\"PrivateName\"||D.type===\"PrivateIdentifier\"||D.type===\"ArgumentPlaceholder\"||D.type===\"Import\"||(D.type===\"TemplateLiteral\"?D.quasis.every(v1=>!v1.value.raw.includes(`\n`))&&D.expressions.every(o1):D.type===\"ObjectExpression\"?D.properties.every(v1=>!v1.computed&&(v1.shorthand||v1.value&&o1(v1.value))):D.type===\"ArrayExpression\"?D.elements.every(v1=>v1===null||o1(v1)):lt(D)?(D.type===\"ImportExpression\"||C(D.callee,$))&&Ux(D).every(o1):b8(D)?C(D.object,$)&&C(D.property,$):D.type!==\"UnaryExpression\"||D.operator!==\"!\"&&D.operator!==\"-\"?D.type===\"TSNonNullExpression\"&&C(D.expression,$):C(D.argument,$)))},isMemberish:function(C){return b8(C)||C.type===\"BindExpression\"&&Boolean(C.object)},isNumericLiteral:ZS,isSignedNumericLiteral:function(C){return C.type===\"UnaryExpression\"&&(C.operator===\"+\"||C.operator===\"-\")&&ZS(C.argument)},isObjectProperty:function(C){return C&&(C.type===\"ObjectProperty\"||C.type===\"Property\"&&!C.method&&C.kind===\"init\")},isObjectType:function(C){return C.type===\"ObjectTypeAnnotation\"||C.type===\"TSTypeLiteral\"},isObjectTypePropertyAFunction:function(C){return!(C.type!==\"ObjectTypeProperty\"&&C.type!==\"ObjectTypeInternalSlot\"||C.value.type!==\"FunctionTypeAnnotation\"||C.static||g4(C))},isSimpleType:function(C){return!!C&&(!(C.type!==\"GenericTypeAnnotation\"&&C.type!==\"TSTypeReference\"||C.typeParameters)||!!TF.has(C.type))},isSimpleNumber:vA,isSimpleTemplateLiteral:function(C){let D=\"expressions\";C.type===\"TSTemplateLiteralType\"&&(D=\"types\");const $=C[D];return $.length!==0&&$.every(o1=>{if(hr(o1))return!1;if(o1.type===\"Identifier\"||o1.type===\"ThisExpression\")return!0;if(b8(o1)){let j1=o1;for(;b8(j1);)if(j1.property.type!==\"Identifier\"&&j1.property.type!==\"Literal\"&&j1.property.type!==\"StringLiteral\"&&j1.property.type!==\"NumericLiteral\"||(j1=j1.object,hr(j1)))return!1;return j1.type===\"Identifier\"||j1.type===\"ThisExpression\"}return!1})},isStringLiteral:A8,isStringPropSafeToUnquote:function(C,D){return D.parser!==\"json\"&&A8(C.key)&&bb(C.key).slice(1,-1)===C.key.value&&(yA(C.key.value)&&!((D.parser===\"typescript\"||D.parser===\"babel-ts\")&&C.type===\"ClassProperty\")||vA(C.key.value)&&String(Number(C.key.value))===C.key.value&&(D.parser===\"babel\"||D.parser===\"espree\"||D.parser===\"meriyah\"||D.parser===\"__babel_estree\"))},isTemplateOnItsOwnLine:function(C,D){return(C.type===\"TemplateLiteral\"&&n5(C)||C.type===\"TaggedTemplateExpression\"&&n5(C.quasi))&&!eE(D,_a(C),{backwards:!0})},isTestCall:function C(D,$){if(D.type!==\"CallExpression\")return!1;if(D.arguments.length===1){if(R8(D)&&$&&C($))return WE(D.arguments[0]);if(function(o1){return o1.callee.type===\"Identifier\"&&/^(before|after)(Each|All)$/.test(o1.callee.name)&&o1.arguments.length===1}(D))return R8(D.arguments[0])}else if((D.arguments.length===2||D.arguments.length===3)&&(D.callee.type===\"Identifier\"&&G6.test(D.callee.name)||function(o1){return b8(o1.callee)&&o1.callee.object.type===\"Identifier\"&&o1.callee.property.type===\"Identifier\"&&G6.test(o1.callee.object.name)&&(o1.callee.property.name===\"only\"||o1.callee.property.name===\"skip\")}(D))&&(function(o1){return o1.type===\"TemplateLiteral\"}(D.arguments[0])||A8(D.arguments[0])))return!(D.arguments[2]&&!ZS(D.arguments[2]))&&((D.arguments.length===2?WE(D.arguments[1]):function(o1){return o1.type===\"FunctionExpression\"||o1.type===\"ArrowFunctionExpression\"&&o1.body.type===\"BlockStatement\"}(D.arguments[1])&&aS(D.arguments[1]).length<=1)||R8(D.arguments[1]));return!1},isTheOnlyJsxElementInMarkdown:function(C,D){if(C.parentParser!==\"markdown\"&&C.parentParser!==\"mdx\")return!1;const $=D.getNode();if(!$.expression||!gS($.expression))return!1;const o1=D.getParentNode();return o1.type===\"Program\"&&o1.body.length===1},isTSXFile:function(C){return C.filepath&&/\\.tsx$/i.test(C.filepath)},isTypeAnnotationAFunction:function(C){return!(C.type!==\"TypeAnnotation\"&&C.type!==\"TSTypeAnnotation\"||C.typeAnnotation.type!==\"FunctionTypeAnnotation\"||C.static||To(C,C.typeAnnotation))},isNextLineEmpty:(C,{originalText:D})=>DA(D,$o(C)),needsHardlineAfterDanglingComment:function(C){if(!hr(C))return!1;const D=JF(pr(C,Ht.Dangling));return D&&!_p(D)},rawText:bb,shouldPrintComma:function(C,D=\"es5\"){return C.trailingComma===\"es5\"&&D===\"es5\"||C.trailingComma===\"all\"&&(D===\"all\"||D===\"es5\")},isBitwiseOperator:function(C){return Boolean(wF[C])||C===\"|\"||C===\"^\"||C===\"&\"},shouldFlatten:function(C,D){return sd(D)===sd(C)&&C!==\"**\"&&(!P6[C]||!P6[D])&&!(D===\"%\"&&i6[C]||C===\"%\"&&i6[D])&&(D===C||!i6[D]||!i6[C])&&(!wF[C]||!wF[D])},startsWithNoLookaheadToken:function C(D,$){switch((D=function(o1){for(;o1.left;)o1=o1.left;return o1}(D)).type){case\"FunctionExpression\":case\"ClassExpression\":case\"DoExpression\":return $;case\"ObjectExpression\":return!0;case\"MemberExpression\":case\"OptionalMemberExpression\":return C(D.object,$);case\"TaggedTemplateExpression\":return D.tag.type!==\"FunctionExpression\"&&C(D.tag,$);case\"CallExpression\":case\"OptionalCallExpression\":return D.callee.type!==\"FunctionExpression\"&&C(D.callee,$);case\"ConditionalExpression\":return C(D.test,$);case\"UpdateExpression\":return!D.prefix&&C(D.argument,$);case\"BindExpression\":return D.object&&C(D.object,$);case\"SequenceExpression\":return C(D.expressions[0],$);case\"TSAsExpression\":case\"TSNonNullExpression\":return C(D.expression,$);default:return!1}},getPrecedence:sd,hasComment:hr,getComments:pr,CommentCheckFlags:Ht};const{getLast:Wi,hasNewline:Io,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:Uo,getNextNonSpaceNonCommentCharacter:sa,hasNewlineInRange:fn,addLeadingComment:Gn,addTrailingComment:Ti,addDanglingComment:Eo,getNextNonSpaceNonCommentCharacterIndex:qo,isNonEmptyArray:ci}=n6,{isBlockComment:os,getFunctionParameters:$s,isPrettierIgnoreComment:Po,isJsxNode:Dr,hasFlowShorthandAnnotationComment:Nm,hasFlowAnnotationComment:Og,hasIgnoreComment:Bg,isCallLikeExpression:_S,getCallArguments:f8,isCallExpression:Lx,isMemberExpression:q1,isObjectProperty:Qx}=Qr,{locStart:Be,locEnd:St}=FF;function _r(C,D){const $=(C.body||C.properties).find(({type:o1})=>o1!==\"EmptyStatement\");$?Gn($,D):Eo(C,D)}function gi(C,D){C.type===\"BlockStatement\"?_r(C,D):Gn(C,D)}function je({comment:C,followingNode:D}){return!(!D||!Q8(C))&&(Gn(D,C),!0)}function Gu({comment:C,precedingNode:D,enclosingNode:$,followingNode:o1,text:j1}){return!$||$.type!==\"IfStatement\"||!o1?!1:sa(j1,C,St)===\")\"?(Ti(D,C),!0):D===$.consequent&&o1===$.alternate?(D.type===\"BlockStatement\"?Ti(D,C):Eo($,C),!0):o1.type===\"BlockStatement\"?(_r(o1,C),!0):o1.type===\"IfStatement\"?(gi(o1.consequent,C),!0):$.consequent===o1&&(Gn(o1,C),!0)}function io({comment:C,precedingNode:D,enclosingNode:$,followingNode:o1,text:j1}){return!$||$.type!==\"WhileStatement\"||!o1?!1:sa(j1,C,St)===\")\"?(Ti(D,C),!0):o1.type===\"BlockStatement\"?(_r(o1,C),!0):$.body===o1&&(Gn(o1,C),!0)}function ss({comment:C,precedingNode:D,enclosingNode:$,followingNode:o1}){return!(!$||$.type!==\"TryStatement\"&&$.type!==\"CatchClause\"||!o1)&&($.type===\"CatchClause\"&&D?(Ti(D,C),!0):o1.type===\"BlockStatement\"?(_r(o1,C),!0):o1.type===\"TryStatement\"?(gi(o1.finalizer,C),!0):o1.type===\"CatchClause\"&&(gi(o1.body,C),!0))}function to({comment:C,enclosingNode:D,followingNode:$}){return!(!q1(D)||!$||$.type!==\"Identifier\")&&(Gn(D,C),!0)}function Ma({comment:C,precedingNode:D,enclosingNode:$,followingNode:o1,text:j1}){const v1=D&&!fn(j1,St(D),Be(C));return!(D&&v1||!$||$.type!==\"ConditionalExpression\"&&$.type!==\"TSConditionalType\"||!o1)&&(Gn(o1,C),!0)}function Ks({comment:C,precedingNode:D,enclosingNode:$}){return!(!Qx($)||!$.shorthand||$.key!==D||$.value.type!==\"AssignmentPattern\")&&(Ti($.value.left,C),!0)}function Qa({comment:C,precedingNode:D,enclosingNode:$,followingNode:o1}){if($&&($.type===\"ClassDeclaration\"||$.type===\"ClassExpression\"||$.type===\"DeclareClass\"||$.type===\"DeclareInterface\"||$.type===\"InterfaceDeclaration\"||$.type===\"TSInterfaceDeclaration\")){if(ci($.decorators)&&(!o1||o1.type!==\"Decorator\"))return Ti(Wi($.decorators),C),!0;if($.body&&o1===$.body)return _r($.body,C),!0;if(o1){for(const j1 of[\"implements\",\"extends\",\"mixins\"])if($[j1]&&o1===$[j1][0])return!D||D!==$.id&&D!==$.typeParameters&&D!==$.superClass?Eo($,C,j1):Ti(D,C),!0}}return!1}function Wc({comment:C,precedingNode:D,enclosingNode:$,text:o1}){return($&&D&&($.type===\"Property\"||$.type===\"TSDeclareMethod\"||$.type===\"TSAbstractMethodDefinition\")&&D.type===\"Identifier\"&&$.key===D&&sa(o1,D,St)!==\":\"||!(!D||!$||D.type!==\"Decorator\"||$.type!==\"ClassMethod\"&&$.type!==\"ClassProperty\"&&$.type!==\"PropertyDefinition\"&&$.type!==\"TSAbstractClassProperty\"&&$.type!==\"TSAbstractMethodDefinition\"&&$.type!==\"TSDeclareMethod\"&&$.type!==\"MethodDefinition\"))&&(Ti(D,C),!0)}function la({comment:C,precedingNode:D,enclosingNode:$,text:o1}){return sa(o1,C,St)===\"(\"&&!(!D||!$||$.type!==\"FunctionDeclaration\"&&$.type!==\"FunctionExpression\"&&$.type!==\"ClassMethod\"&&$.type!==\"MethodDefinition\"&&$.type!==\"ObjectMethod\")&&(Ti(D,C),!0)}function Af({comment:C,enclosingNode:D,text:$}){if(!D||D.type!==\"ArrowFunctionExpression\")return!1;const o1=qo($,C,St);return o1!==!1&&$.slice(o1,o1+2)===\"=>\"&&(Eo(D,C),!0)}function so({comment:C,enclosingNode:D,text:$}){return sa($,C,St)===\")\"&&(D&&(Um(D)&&$s(D).length===0||_S(D)&&f8(D).length===0)?(Eo(D,C),!0):!(!D||D.type!==\"MethodDefinition\"&&D.type!==\"TSAbstractMethodDefinition\"||$s(D.value).length!==0)&&(Eo(D.value,C),!0))}function qu({comment:C,precedingNode:D,enclosingNode:$,followingNode:o1,text:j1}){if(D&&D.type===\"FunctionTypeParam\"&&$&&$.type===\"FunctionTypeAnnotation\"&&o1&&o1.type!==\"FunctionTypeParam\"||D&&(D.type===\"Identifier\"||D.type===\"AssignmentPattern\")&&$&&Um($)&&sa(j1,C,St)===\")\")return Ti(D,C),!0;if($&&$.type===\"FunctionDeclaration\"&&o1&&o1.type===\"BlockStatement\"){const v1=(()=>{const ex=$s($);if(ex.length>0)return Uo(j1,St(Wi(ex)));const _0=Uo(j1,St($.id));return _0!==!1&&Uo(j1,_0+1)})();if(Be(C)>v1)return _r(o1,C),!0}return!1}function lf({comment:C,enclosingNode:D}){return!(!D||D.type!==\"ImportSpecifier\")&&(Gn(D,C),!0)}function uu({comment:C,enclosingNode:D}){return!(!D||D.type!==\"LabeledStatement\")&&(Gn(D,C),!0)}function ud({comment:C,enclosingNode:D}){return!(!D||D.type!==\"ContinueStatement\"&&D.type!==\"BreakStatement\"||D.label)&&(Ti(D,C),!0)}function fm({comment:C,precedingNode:D,enclosingNode:$}){return!!(Lx($)&&D&&$.callee===D&&$.arguments.length>0)&&(Gn($.arguments[0],C),!0)}function w2({comment:C,precedingNode:D,enclosingNode:$,followingNode:o1}){return!$||$.type!==\"UnionTypeAnnotation\"&&$.type!==\"TSUnionType\"?(o1&&(o1.type===\"UnionTypeAnnotation\"||o1.type===\"TSUnionType\")&&Po(C)&&(o1.types[0].prettierIgnore=!0,C.unignore=!0),!1):(Po(C)&&(o1.prettierIgnore=!0,C.unignore=!0),!!D&&(Ti(D,C),!0))}function US({comment:C,enclosingNode:D}){return!!Qx(D)&&(Gn(D,C),!0)}function j8({comment:C,enclosingNode:D,followingNode:$,ast:o1,isLastComment:j1}){return o1&&o1.body&&o1.body.length===0?(j1?Eo(o1,C):Gn(o1,C),!0):D&&D.type===\"Program\"&&D.body.length===0&&!ci(D.directives)?(j1?Eo(D,C):Gn(D,C),!0):!(!$||$.type!==\"Program\"||$.body.length!==0||!D||D.type!==\"ModuleExpression\")&&(Eo($,C),!0)}function tE({comment:C,enclosingNode:D}){return!(!D||D.type!==\"ForInStatement\"&&D.type!==\"ForOfStatement\")&&(Gn(D,C),!0)}function U8({comment:C,precedingNode:D,enclosingNode:$,text:o1}){return!!(D&&D.type===\"ImportSpecifier\"&&$&&$.type===\"ImportDeclaration\"&&Io(o1,St(C)))&&(Ti(D,C),!0)}function xp({comment:C,enclosingNode:D}){return!(!D||D.type!==\"AssignmentPattern\")&&(Gn(D,C),!0)}function tw({comment:C,enclosingNode:D}){return!(!D||D.type!==\"TypeAlias\")&&(Gn(D,C),!0)}function _4({comment:C,enclosingNode:D,followingNode:$}){return!(!D||D.type!==\"VariableDeclarator\"&&D.type!==\"AssignmentExpression\"||!$||$.type!==\"ObjectExpression\"&&$.type!==\"ArrayExpression\"&&$.type!==\"TemplateLiteral\"&&$.type!==\"TaggedTemplateExpression\"&&!os(C))&&(Gn($,C),!0)}function rw({comment:C,enclosingNode:D,followingNode:$,text:o1}){return!($||!D||D.type!==\"TSMethodSignature\"&&D.type!==\"TSDeclareFunction\"&&D.type!==\"TSAbstractMethodDefinition\"||sa(o1,C,St)!==\";\")&&(Ti(D,C),!0)}function kF({comment:C,enclosingNode:D,followingNode:$}){if(Po(C)&&D&&D.type===\"TSMappedType\"&&$&&$.type===\"TSTypeParameter\"&&$.constraint)return D.prettierIgnore=!0,C.unignore=!0,!0}function i5({comment:C,precedingNode:D,enclosingNode:$,followingNode:o1}){return!(!$||$.type!==\"TSMappedType\")&&(o1&&o1.type===\"TSTypeParameter\"&&o1.name?(Gn(o1.name,C),!0):!(!D||D.type!==\"TSTypeParameter\"||!D.constraint)&&(Ti(D.constraint,C),!0))}function Um(C){return C.type===\"ArrowFunctionExpression\"||C.type===\"FunctionExpression\"||C.type===\"FunctionDeclaration\"||C.type===\"ObjectMethod\"||C.type===\"ClassMethod\"||C.type===\"TSDeclareFunction\"||C.type===\"TSCallSignatureDeclaration\"||C.type===\"TSConstructSignatureDeclaration\"||C.type===\"TSMethodSignature\"||C.type===\"TSConstructorType\"||C.type===\"TSFunctionType\"||C.type===\"TSDeclareMethod\"}function Q8(C){return os(C)&&C.value[0]===\"*\"&&/@type\\b/.test(C.value)}var bA={handleOwnLineComment:function(C){return[kF,qu,to,Gu,io,ss,Qa,lf,tE,w2,j8,U8,xp,Wc,uu].some(D=>D(C))},handleEndOfLineComment:function(C){return[je,qu,Ma,lf,Gu,io,ss,Qa,uu,fm,US,j8,tw,_4].some(D=>D(C))},handleRemainingComment:function(C){return[kF,Gu,io,Ks,so,Wc,j8,Af,la,i5,ud,rw].some(D=>D(C))},isTypeCastComment:Q8,getCommentChildNodes:function(C,D){if((D.parser===\"typescript\"||D.parser===\"flow\"||D.parser===\"espree\"||D.parser===\"meriyah\"||D.parser===\"__babel_estree\")&&C.type===\"MethodDefinition\"&&C.value&&C.value.type===\"FunctionExpression\"&&$s(C.value).length===0&&!C.value.returnType&&!ci(C.value.typeParameters)&&C.value.body)return[...C.decorators||[],C.key,C.value.body]},willPrintOwnComments:function(C){const D=C.getValue(),$=C.getParentNode();return(D&&(Dr(D)||Nm(D)||Lx($)&&(Og(D.leadingComments)||Og(D.trailingComments)))||$&&($.type===\"JSXSpreadAttribute\"||$.type===\"JSXSpreadChild\"||$.type===\"UnionTypeAnnotation\"||$.type===\"TSUnionType\"||($.type===\"ClassDeclaration\"||$.type===\"ClassExpression\")&&$.superClass===D))&&(!Bg(C)||$.type===\"UnionTypeAnnotation\"||$.type===\"TSUnionType\")}};const{getLast:CA,getNextNonSpaceNonCommentCharacter:sT}=n6,{locStart:rE,locEnd:Z8}=FF,{isTypeCastComment:V5}=bA;function FS(C){return C.type===\"CallExpression\"?(C.type=\"OptionalCallExpression\",C.callee=FS(C.callee)):C.type===\"MemberExpression\"?(C.type=\"OptionalMemberExpression\",C.object=FS(C.object)):C.type===\"TSNonNullExpression\"&&(C.expression=FS(C.expression)),C}function xF(C,D){let $;if(Array.isArray(C))$=C.entries();else{if(!C||typeof C!=\"object\"||typeof C.type!=\"string\")return C;$=Object.entries(C)}for(const[o1,j1]of $)C[o1]=xF(j1,D);return Array.isArray(C)?C:D(C)||C}function $5(C){return C.type===\"LogicalExpression\"&&C.right.type===\"LogicalExpression\"&&C.operator===C.right.operator}function AS(C){return $5(C)?AS({type:\"LogicalExpression\",operator:C.operator,left:AS({type:\"LogicalExpression\",operator:C.operator,left:C.left,right:C.right.left,range:[rE(C.left),Z8(C.right.left)]}),right:C.right.right,range:[rE(C),Z8(C)]}):C}var O6,zw=function(C,D){if(D.parser===\"typescript\"&&D.originalText.includes(\"@\")){const{esTreeNodeToTSNodeMap:$,tsNodeToESTreeNodeMap:o1}=D.tsParseResult;C=xF(C,j1=>{const v1=$.get(j1);if(!v1)return;const ex=v1.decorators;if(!Array.isArray(ex))return;const _0=o1.get(v1);if(_0!==j1)return;const Ne=_0.decorators;if(!Array.isArray(Ne)||Ne.length!==ex.length||ex.some(e=>{const s=o1.get(e);return!s||!Ne.includes(s)})){const{start:e,end:s}=_0.loc;throw c(\"Leading decorators must be attached to a class declaration\",{start:{line:e.line,column:e.column+1},end:{line:s.line,column:s.column+1}})}})}if(D.parser!==\"typescript\"&&D.parser!==\"flow\"&&D.parser!==\"espree\"&&D.parser!==\"meriyah\"){const $=new Set;C=xF(C,o1=>{o1.leadingComments&&o1.leadingComments.some(V5)&&$.add(rE(o1))}),C=xF(C,o1=>{if(o1.type===\"ParenthesizedExpression\"){const{expression:j1}=o1;if(j1.type===\"TypeCastExpression\")return j1.range=o1.range,j1;const v1=rE(o1);if(!$.has(v1))return j1.extra=Object.assign(Object.assign({},j1.extra),{},{parenthesized:!0}),j1}})}return C=xF(C,$=>{switch($.type){case\"ChainExpression\":return FS($.expression);case\"LogicalExpression\":if($5($))return AS($);break;case\"VariableDeclaration\":{const o1=CA($.declarations);o1&&o1.init&&function(j1,v1){D.originalText[Z8(v1)]!==\";\"&&(j1.range=[rE(j1),Z8(v1)])}($,o1);break}case\"TSParenthesizedType\":return $.typeAnnotation.range=[rE($),Z8($)],$.typeAnnotation;case\"TSTypeParameter\":if(typeof $.name==\"string\"){const o1=rE($);$.name={type:\"Identifier\",name:$.name,range:[o1,o1+$.name.length]}}break;case\"SequenceExpression\":{const o1=CA($.expressions);$.range=[rE($),Math.min(Z8(o1),Z8($))];break}case\"ClassProperty\":$.key&&$.key.type===\"TSPrivateIdentifier\"&&sT(D.originalText,$.key,Z8)===\"?\"&&($.optional=!0)}})};function EA(){if(O6===void 0){var C=new ArrayBuffer(2),D=new Uint8Array(C),$=new Uint16Array(C);if(D[0]=1,D[1]=2,$[0]===258)O6=\"BE\";else{if($[0]!==513)throw new Error(\"unable to figure out endianess\");O6=\"LE\"}}return O6}function K5(){return eg.location!==void 0?eg.location.hostname:\"\"}function ps(){return[]}function eF(){return 0}function NF(){return Number.MAX_VALUE}function C8(){return Number.MAX_VALUE}function L4(){return[]}function KT(){return\"Browser\"}function C5(){return eg.navigator!==void 0?eg.navigator.appVersion:\"\"}function y4(){}function Zs(){}function GF(){return\"javascript\"}function zT(){return\"browser\"}function AT(){return\"/tmp\"}var a5=AT,z5={EOL:`\n`,arch:GF,platform:zT,tmpdir:a5,tmpDir:AT,networkInterfaces:y4,getNetworkInterfaces:Zs,release:C5,type:KT,cpus:L4,totalmem:C8,freemem:NF,uptime:eF,loadavg:ps,hostname:K5,endianness:EA},XF=Object.freeze({__proto__:null,endianness:EA,hostname:K5,loadavg:ps,uptime:eF,freemem:NF,totalmem:C8,cpus:L4,type:KT,release:C5,networkInterfaces:y4,getNetworkInterfaces:Zs,arch:GF,platform:zT,tmpDir:AT,tmpdir:a5,EOL:`\n`,default:z5});const zs=C=>{if(typeof C!=\"string\")throw new TypeError(\"Expected a string\");const D=C.match(/(?:\\r?\\n)/g)||[];if(D.length===0)return;const $=D.filter(o1=>o1===`\\r\n`).length;return $>D.length-$?`\\r\n`:`\n`};var W5=zs;W5.graceful=C=>typeof C==\"string\"&&zs(C)||`\n`;var TT=D1(XF),kx=function(C){const D=C.match(cu);return D?D[0].trimLeft():\"\"},Xx=function(C){const D=C.match(cu);return D&&D[0]?C.substring(D[0].length):C},Ee=function(C){return Ll(C).pragmas},at=Ll,cn=function({comments:C=\"\",pragmas:D={}}){const $=(0,ao().default)(C)||Bn().EOL,o1=\" *\",j1=Object.keys(D),v1=j1.map(_0=>$l(_0,D[_0])).reduce((_0,Ne)=>_0.concat(Ne),[]).map(_0=>\" * \"+_0+$).join(\"\");if(!C){if(j1.length===0)return\"\";if(j1.length===1&&!Array.isArray(D[j1[0]])){const _0=D[j1[0]];return`/** ${$l(j1[0],_0)[0]} */`}}const ex=C.split($).map(_0=>` * ${_0}`).join($)+$;return\"/**\"+$+(C?ex:\"\")+(C&&j1.length?o1+$:\"\")+v1+\" */\"};function Bn(){const C=TT;return Bn=function(){return C},C}function ao(){const C=(D=W5)&&D.__esModule?D:{default:D};var D;return ao=function(){return C},C}const go=/\\*\\/$/,gu=/^\\/\\*\\*/,cu=/^\\s*(\\/\\*\\*?(.|\\r?\\n)*?\\*\\/)/,El=/(^|\\s+)\\/\\/([^\\r\\n]*)/g,Go=/^(\\r?\\n)+/,Xu=/(?:^|\\r?\\n) *(@[^\\r\\n]*?) *\\r?\\n *(?![^@\\r\\n]*\\/\\/[^]*)([^@\\r\\n\\s][^@\\r\\n]+?) *\\r?\\n/g,Ql=/(?:^|\\r?\\n) *@(\\S+) *([^\\r\\n]*)/g,p_=/(\\r?\\n|^) *\\* ?/g,ap=[];function Ll(C){const D=(0,ao().default)(C)||Bn().EOL;C=C.replace(gu,\"\").replace(go,\"\").replace(p_,\"$1\");let $=\"\";for(;$!==C;)$=C,C=C.replace(Xu,`${D}$1 $2${D}`);C=C.replace(Go,\"\").trimRight();const o1=Object.create(null),j1=C.replace(Ql,\"\").replace(Go,\"\").trimRight();let v1;for(;v1=Ql.exec(C);){const ex=v1[2].replace(El,\"\");typeof o1[v1[1]]==\"string\"||Array.isArray(o1[v1[1]])?o1[v1[1]]=ap.concat(o1[v1[1]],ex):o1[v1[1]]=ex}return{comments:j1,pragmas:o1}}function $l(C,D){return ap.concat(D).map($=>`@${C} ${$}`.trim())}var Tu=Object.defineProperty({extract:kx,strip:Xx,parse:Ee,parseWithComments:at,print:cn},\"__esModule\",{value:!0}),yp={guessEndOfLine:function(C){const D=C.indexOf(\"\\r\");return D>=0?C.charAt(D+1)===`\n`?\"crlf\":\"cr\":\"lf\"},convertEndOfLineToChars:function(C){switch(C){case\"cr\":return\"\\r\";case\"crlf\":return`\\r\n`;default:return`\n`}},countEndOfLineChars:function(C,D){let $;if(D===`\n`)$=/\\n/g;else if(D===\"\\r\")$=/\\r/g;else{if(D!==`\\r\n`)throw new Error(`Unexpected \"eol\" ${JSON.stringify(D)}.`);$=/\\r\\n/g}const o1=C.match($);return o1?o1.length:0},normalizeEndOfLine:function(C){return C.replace(/\\r\\n?/g,`\n`)}};const{parseWithComments:Gs,strip:ra,extract:fo,print:lu}=Tu,{getShebang:a2}=n6,{normalizeEndOfLine:V8}=yp;function YF(C){const D=a2(C);D&&(C=C.slice(D.length+1));const $=fo(C),{pragmas:o1,comments:j1}=Gs($);return{shebang:D,text:C,pragmas:o1,comments:j1}}var T8={hasPragma:function(C){const D=Object.keys(YF(C).pragmas);return D.includes(\"prettier\")||D.includes(\"format\")},insertPragma:function(C){const{shebang:D,text:$,pragmas:o1,comments:j1}=YF(C),v1=ra($),ex=lu({pragmas:Object.assign({format:\"\"},o1),comments:j1.trimStart()});return(D?`${D}\n`:\"\")+V8(ex)+(v1.startsWith(`\n`)?`\n`:`\n\n`)+v1}};const{hasPragma:Q4}=T8,{locStart:D4,locEnd:E5}=FF;var QF=function(C){return C=typeof C==\"function\"?{parse:C}:C,Object.assign({astFormat:\"estree\",hasPragma:Q4,locStart:D4,locEnd:E5},C)},Ww=function(C){return C.charAt(0)===\"#\"&&C.charAt(1)===\"!\"?\"//\"+C.slice(2):C},K2=1e3,Sn=60*K2,M4=60*Sn,B6=24*M4,x6=7*B6,vf=365.25*B6,Eu=function(C,D){D=D||{};var $=typeof C;if($===\"string\"&&C.length>0)return function(o1){if(!((o1=String(o1)).length>100)){var j1=/^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(o1);if(!!j1){var v1=parseFloat(j1[1]);switch((j1[2]||\"ms\").toLowerCase()){case\"years\":case\"year\":case\"yrs\":case\"yr\":case\"y\":return v1*vf;case\"weeks\":case\"week\":case\"w\":return v1*x6;case\"days\":case\"day\":case\"d\":return v1*B6;case\"hours\":case\"hour\":case\"hrs\":case\"hr\":case\"h\":return v1*M4;case\"minutes\":case\"minute\":case\"mins\":case\"min\":case\"m\":return v1*Sn;case\"seconds\":case\"second\":case\"secs\":case\"sec\":case\"s\":return v1*K2;case\"milliseconds\":case\"millisecond\":case\"msecs\":case\"msec\":case\"ms\":return v1;default:return}}}}(C);if($===\"number\"&&isFinite(C))return D.long?function(o1){var j1=Math.abs(o1);return j1>=B6?jh(o1,j1,B6,\"day\"):j1>=M4?jh(o1,j1,M4,\"hour\"):j1>=Sn?jh(o1,j1,Sn,\"minute\"):j1>=K2?jh(o1,j1,K2,\"second\"):o1+\" ms\"}(C):function(o1){var j1=Math.abs(o1);return j1>=B6?Math.round(o1/B6)+\"d\":j1>=M4?Math.round(o1/M4)+\"h\":j1>=Sn?Math.round(o1/Sn)+\"m\":j1>=K2?Math.round(o1/K2)+\"s\":o1+\"ms\"}(C);throw new Error(\"val is not a non-empty string or a valid number. val=\"+JSON.stringify(C))};function jh(C,D,$,o1){var j1=D>=1.5*$;return Math.round(C/$)+\" \"+o1+(j1?\"s\":\"\")}var Cb=function(C){function D(j1){let v1,ex=null;function _0(...Ne){if(!_0.enabled)return;const e=_0,s=Number(new Date),X=s-(v1||s);e.diff=X,e.prev=v1,e.curr=s,v1=s,Ne[0]=D.coerce(Ne[0]),typeof Ne[0]!=\"string\"&&Ne.unshift(\"%O\");let J=0;Ne[0]=Ne[0].replace(/%([a-zA-Z%])/g,(m0,s1)=>{if(m0===\"%%\")return\"%\";J++;const i0=D.formatters[s1];if(typeof i0==\"function\"){const H0=Ne[J];m0=i0.call(e,H0),Ne.splice(J,1),J--}return m0}),D.formatArgs.call(e,Ne),(e.log||D.log).apply(e,Ne)}return _0.namespace=j1,_0.useColors=D.useColors(),_0.color=D.selectColor(j1),_0.extend=$,_0.destroy=D.destroy,Object.defineProperty(_0,\"enabled\",{enumerable:!0,configurable:!1,get:()=>ex===null?D.enabled(j1):ex,set:Ne=>{ex=Ne}}),typeof D.init==\"function\"&&D.init(_0),_0}function $(j1,v1){const ex=D(this.namespace+(v1===void 0?\":\":v1)+j1);return ex.log=this.log,ex}function o1(j1){return j1.toString().substring(2,j1.toString().length-2).replace(/\\.\\*\\?$/,\"*\")}return D.debug=D,D.default=D,D.coerce=function(j1){return j1 instanceof Error?j1.stack||j1.message:j1},D.disable=function(){const j1=[...D.names.map(o1),...D.skips.map(o1).map(v1=>\"-\"+v1)].join(\",\");return D.enable(\"\"),j1},D.enable=function(j1){let v1;D.save(j1),D.names=[],D.skips=[];const ex=(typeof j1==\"string\"?j1:\"\").split(/[\\s,]+/),_0=ex.length;for(v1=0;v1<_0;v1++)ex[v1]&&((j1=ex[v1].replace(/\\*/g,\".*?\"))[0]===\"-\"?D.skips.push(new RegExp(\"^\"+j1.substr(1)+\"$\")):D.names.push(new RegExp(\"^\"+j1+\"$\")))},D.enabled=function(j1){if(j1[j1.length-1]===\"*\")return!0;let v1,ex;for(v1=0,ex=D.skips.length;v1<ex;v1++)if(D.skips[v1].test(j1))return!1;for(v1=0,ex=D.names.length;v1<ex;v1++)if(D.names[v1].test(j1))return!0;return!1},D.humanize=Eu,D.destroy=function(){console.warn(\"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.\")},Object.keys(C).forEach(j1=>{D[j1]=C[j1]}),D.names=[],D.skips=[],D.formatters={},D.selectColor=function(j1){let v1=0;for(let ex=0;ex<j1.length;ex++)v1=(v1<<5)-v1+j1.charCodeAt(ex),v1|=0;return D.colors[Math.abs(v1)%D.colors.length]},D.enable(D.load()),D},px=W0(function(C,D){D.formatArgs=function(o1){if(o1[0]=(this.useColors?\"%c\":\"\")+this.namespace+(this.useColors?\" %c\":\" \")+o1[0]+(this.useColors?\"%c \":\" \")+\"+\"+C.exports.humanize(this.diff),!this.useColors)return;const j1=\"color: \"+this.color;o1.splice(1,0,j1,\"color: inherit\");let v1=0,ex=0;o1[0].replace(/%[a-zA-Z%]/g,_0=>{_0!==\"%%\"&&(v1++,_0===\"%c\"&&(ex=v1))}),o1.splice(ex,0,j1)},D.save=function(o1){try{o1?D.storage.setItem(\"debug\",o1):D.storage.removeItem(\"debug\")}catch{}},D.load=function(){let o1;try{o1=D.storage.getItem(\"debug\")}catch{}return!o1&&Lu!==void 0&&\"env\"in Lu&&(o1=Lu.env.DEBUG),o1},D.useColors=function(){return typeof window!=\"undefined\"&&window.process&&(window.process.type===\"renderer\"||window.process.__nwjs)?!0:typeof navigator!=\"undefined\"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)?!1:typeof document!=\"undefined\"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window!=\"undefined\"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator!=\"undefined\"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator!=\"undefined\"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/)},D.storage=function(){try{return localStorage}catch{}}(),D.destroy=(()=>{let o1=!1;return()=>{o1||(o1=!0,console.warn(\"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.\"))}})(),D.colors=[\"#0000CC\",\"#0000FF\",\"#0033CC\",\"#0033FF\",\"#0066CC\",\"#0066FF\",\"#0099CC\",\"#0099FF\",\"#00CC00\",\"#00CC33\",\"#00CC66\",\"#00CC99\",\"#00CCCC\",\"#00CCFF\",\"#3300CC\",\"#3300FF\",\"#3333CC\",\"#3333FF\",\"#3366CC\",\"#3366FF\",\"#3399CC\",\"#3399FF\",\"#33CC00\",\"#33CC33\",\"#33CC66\",\"#33CC99\",\"#33CCCC\",\"#33CCFF\",\"#6600CC\",\"#6600FF\",\"#6633CC\",\"#6633FF\",\"#66CC00\",\"#66CC33\",\"#9900CC\",\"#9900FF\",\"#9933CC\",\"#9933FF\",\"#99CC00\",\"#99CC33\",\"#CC0000\",\"#CC0033\",\"#CC0066\",\"#CC0099\",\"#CC00CC\",\"#CC00FF\",\"#CC3300\",\"#CC3333\",\"#CC3366\",\"#CC3399\",\"#CC33CC\",\"#CC33FF\",\"#CC6600\",\"#CC6633\",\"#CC9900\",\"#CC9933\",\"#CCCC00\",\"#CCCC33\",\"#FF0000\",\"#FF0033\",\"#FF0066\",\"#FF0099\",\"#FF00CC\",\"#FF00FF\",\"#FF3300\",\"#FF3333\",\"#FF3366\",\"#FF3399\",\"#FF33CC\",\"#FF33FF\",\"#FF6600\",\"#FF6633\",\"#FF9900\",\"#FF9933\",\"#FFCC00\",\"#FFCC33\"],D.log=console.debug||console.log||(()=>{}),C.exports=Cb(D);const{formatters:$}=C.exports;$.j=function(o1){try{return JSON.stringify(o1)}catch(j1){return\"[UnexpectedJSONParseError]: \"+j1.message}}});function Tf(){return!1}function e6(){throw new Error(\"tty.ReadStream is not implemented\")}function z2(){throw new Error(\"tty.ReadStream is not implemented\")}var ty={isatty:Tf,ReadStream:e6,WriteStream:z2},yS=Object.freeze({__proto__:null,isatty:Tf,ReadStream:e6,WriteStream:z2,default:ty}),TS=[],L6=[],v4=typeof Uint8Array!=\"undefined\"?Uint8Array:Array,W2=!1;function pt(){W2=!0;for(var C=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",D=0,$=C.length;D<$;++D)TS[D]=C[D],L6[C.charCodeAt(D)]=D;L6[\"-\".charCodeAt(0)]=62,L6[\"_\".charCodeAt(0)]=63}function b4(C,D,$){for(var o1,j1,v1=[],ex=D;ex<$;ex+=3)o1=(C[ex]<<16)+(C[ex+1]<<8)+C[ex+2],v1.push(TS[(j1=o1)>>18&63]+TS[j1>>12&63]+TS[j1>>6&63]+TS[63&j1]);return v1.join(\"\")}function M6(C){var D;W2||pt();for(var $=C.length,o1=$%3,j1=\"\",v1=[],ex=16383,_0=0,Ne=$-o1;_0<Ne;_0+=ex)v1.push(b4(C,_0,_0+ex>Ne?Ne:_0+ex));return o1===1?(D=C[$-1],j1+=TS[D>>2],j1+=TS[D<<4&63],j1+=\"==\"):o1===2&&(D=(C[$-2]<<8)+C[$-1],j1+=TS[D>>10],j1+=TS[D>>4&63],j1+=TS[D<<2&63],j1+=\"=\"),v1.push(j1),v1.join(\"\")}function B1(C,D,$,o1,j1){var v1,ex,_0=8*j1-o1-1,Ne=(1<<_0)-1,e=Ne>>1,s=-7,X=$?j1-1:0,J=$?-1:1,m0=C[D+X];for(X+=J,v1=m0&(1<<-s)-1,m0>>=-s,s+=_0;s>0;v1=256*v1+C[D+X],X+=J,s-=8);for(ex=v1&(1<<-s)-1,v1>>=-s,s+=o1;s>0;ex=256*ex+C[D+X],X+=J,s-=8);if(v1===0)v1=1-e;else{if(v1===Ne)return ex?NaN:1/0*(m0?-1:1);ex+=Math.pow(2,o1),v1-=e}return(m0?-1:1)*ex*Math.pow(2,v1-o1)}function Yx(C,D,$,o1,j1,v1){var ex,_0,Ne,e=8*v1-j1-1,s=(1<<e)-1,X=s>>1,J=j1===23?Math.pow(2,-24)-Math.pow(2,-77):0,m0=o1?0:v1-1,s1=o1?1:-1,i0=D<0||D===0&&1/D<0?1:0;for(D=Math.abs(D),isNaN(D)||D===1/0?(_0=isNaN(D)?1:0,ex=s):(ex=Math.floor(Math.log(D)/Math.LN2),D*(Ne=Math.pow(2,-ex))<1&&(ex--,Ne*=2),(D+=ex+X>=1?J/Ne:J*Math.pow(2,1-X))*Ne>=2&&(ex++,Ne/=2),ex+X>=s?(_0=0,ex=s):ex+X>=1?(_0=(D*Ne-1)*Math.pow(2,j1),ex+=X):(_0=D*Math.pow(2,X-1)*Math.pow(2,j1),ex=0));j1>=8;C[$+m0]=255&_0,m0+=s1,_0/=256,j1-=8);for(ex=ex<<j1|_0,e+=j1;e>0;C[$+m0]=255&ex,m0+=s1,ex/=256,e-=8);C[$+m0-s1]|=128*i0}var Oe={}.toString,zt=Array.isArray||function(C){return Oe.call(C)==\"[object Array]\"};bi.TYPED_ARRAY_SUPPORT=eg.TYPED_ARRAY_SUPPORT===void 0||eg.TYPED_ARRAY_SUPPORT;var an=xi();function xi(){return bi.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function xs(C,D){if(xi()<D)throw new RangeError(\"Invalid typed array length\");return bi.TYPED_ARRAY_SUPPORT?(C=new Uint8Array(D)).__proto__=bi.prototype:(C===null&&(C=new bi(D)),C.length=D),C}function bi(C,D,$){if(!(bi.TYPED_ARRAY_SUPPORT||this instanceof bi))return new bi(C,D,$);if(typeof C==\"number\"){if(typeof D==\"string\")throw new Error(\"If encoding is specified then the first argument must be a string\");return mu(this,C)}return ya(this,C,D,$)}function ya(C,D,$,o1){if(typeof D==\"number\")throw new TypeError('\"value\" argument must not be a number');return typeof ArrayBuffer!=\"undefined\"&&D instanceof ArrayBuffer?function(j1,v1,ex,_0){if(v1.byteLength,ex<0||v1.byteLength<ex)throw new RangeError(\"'offset' is out of bounds\");if(v1.byteLength<ex+(_0||0))throw new RangeError(\"'length' is out of bounds\");return v1=ex===void 0&&_0===void 0?new Uint8Array(v1):_0===void 0?new Uint8Array(v1,ex):new Uint8Array(v1,ex,_0),bi.TYPED_ARRAY_SUPPORT?(j1=v1).__proto__=bi.prototype:j1=Ds(j1,v1),j1}(C,D,$,o1):typeof D==\"string\"?function(j1,v1,ex){if(typeof ex==\"string\"&&ex!==\"\"||(ex=\"utf8\"),!bi.isEncoding(ex))throw new TypeError('\"encoding\" must be a valid string encoding');var _0=0|bf(v1,ex),Ne=(j1=xs(j1,_0)).write(v1,ex);return Ne!==_0&&(j1=j1.slice(0,Ne)),j1}(C,D,$):function(j1,v1){if(Mc(v1)){var ex=0|a6(v1.length);return(j1=xs(j1,ex)).length===0||v1.copy(j1,0,0,ex),j1}if(v1){if(typeof ArrayBuffer!=\"undefined\"&&v1.buffer instanceof ArrayBuffer||\"length\"in v1)return typeof v1.length!=\"number\"||(_0=v1.length)!=_0?xs(j1,0):Ds(j1,v1);if(v1.type===\"Buffer\"&&zt(v1.data))return Ds(j1,v1.data)}var _0;throw new TypeError(\"First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.\")}(C,D)}function ul(C){if(typeof C!=\"number\")throw new TypeError('\"size\" argument must be a number');if(C<0)throw new RangeError('\"size\" argument must not be negative')}function mu(C,D){if(ul(D),C=xs(C,D<0?0:0|a6(D)),!bi.TYPED_ARRAY_SUPPORT)for(var $=0;$<D;++$)C[$]=0;return C}function Ds(C,D){var $=D.length<0?0:0|a6(D.length);C=xs(C,$);for(var o1=0;o1<$;o1+=1)C[o1]=255&D[o1];return C}function a6(C){if(C>=xi())throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+xi().toString(16)+\" bytes\");return 0|C}function Mc(C){return!(C==null||!C._isBuffer)}function bf(C,D){if(Mc(C))return C.length;if(typeof ArrayBuffer!=\"undefined\"&&typeof ArrayBuffer.isView==\"function\"&&(ArrayBuffer.isView(C)||C instanceof ArrayBuffer))return C.byteLength;typeof C!=\"string\"&&(C=\"\"+C);var $=C.length;if($===0)return 0;for(var o1=!1;;)switch(D){case\"ascii\":case\"latin1\":case\"binary\":return $;case\"utf8\":case\"utf-8\":case void 0:return PF(C).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*$;case\"hex\":return $>>>1;case\"base64\":return Lf(C).length;default:if(o1)return PF(C).length;D=(\"\"+D).toLowerCase(),o1=!0}}function Rc(C,D,$){var o1=!1;if((D===void 0||D<0)&&(D=0),D>this.length||(($===void 0||$>this.length)&&($=this.length),$<=0)||($>>>=0)<=(D>>>=0))return\"\";for(C||(C=\"utf8\");;)switch(C){case\"hex\":return nE(this,D,$);case\"utf8\":case\"utf-8\":return wl(this,D,$);case\"ascii\":return $u(this,D,$);case\"latin1\":case\"binary\":return dF(this,D,$);case\"base64\":return $8(this,D,$);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return pm(this,D,$);default:if(o1)throw new TypeError(\"Unknown encoding: \"+C);C=(C+\"\").toLowerCase(),o1=!0}}function Pa(C,D,$){var o1=C[D];C[D]=C[$],C[$]=o1}function Uu(C,D,$,o1,j1){if(C.length===0)return-1;if(typeof $==\"string\"?(o1=$,$=0):$>2147483647?$=2147483647:$<-2147483648&&($=-2147483648),$=+$,isNaN($)&&($=j1?0:C.length-1),$<0&&($=C.length+$),$>=C.length){if(j1)return-1;$=C.length-1}else if($<0){if(!j1)return-1;$=0}if(typeof D==\"string\"&&(D=bi.from(D,o1)),Mc(D))return D.length===0?-1:q2(C,D,$,o1,j1);if(typeof D==\"number\")return D&=255,bi.TYPED_ARRAY_SUPPORT&&typeof Uint8Array.prototype.indexOf==\"function\"?j1?Uint8Array.prototype.indexOf.call(C,D,$):Uint8Array.prototype.lastIndexOf.call(C,D,$):q2(C,[D],$,o1,j1);throw new TypeError(\"val must be string, number or Buffer\")}function q2(C,D,$,o1,j1){var v1,ex=1,_0=C.length,Ne=D.length;if(o1!==void 0&&((o1=String(o1).toLowerCase())===\"ucs2\"||o1===\"ucs-2\"||o1===\"utf16le\"||o1===\"utf-16le\")){if(C.length<2||D.length<2)return-1;ex=2,_0/=2,Ne/=2,$/=2}function e(m0,s1){return ex===1?m0[s1]:m0.readUInt16BE(s1*ex)}if(j1){var s=-1;for(v1=$;v1<_0;v1++)if(e(C,v1)===e(D,s===-1?0:v1-s)){if(s===-1&&(s=v1),v1-s+1===Ne)return s*ex}else s!==-1&&(v1-=v1-s),s=-1}else for($+Ne>_0&&($=_0-Ne),v1=$;v1>=0;v1--){for(var X=!0,J=0;J<Ne;J++)if(e(C,v1+J)!==e(D,J)){X=!1;break}if(X)return v1}return-1}function Kl(C,D,$,o1){$=Number($)||0;var j1=C.length-$;o1?(o1=Number(o1))>j1&&(o1=j1):o1=j1;var v1=D.length;if(v1%2!=0)throw new TypeError(\"Invalid hex string\");o1>v1/2&&(o1=v1/2);for(var ex=0;ex<o1;++ex){var _0=parseInt(D.substr(2*ex,2),16);if(isNaN(_0))return ex;C[$+ex]=_0}return ex}function Bs(C,D,$,o1){return xA(PF(D,C.length-$),C,$,o1)}function qf(C,D,$,o1){return xA(function(j1){for(var v1=[],ex=0;ex<j1.length;++ex)v1.push(255&j1.charCodeAt(ex));return v1}(D),C,$,o1)}function Zl(C,D,$,o1){return qf(C,D,$,o1)}function ZF(C,D,$,o1){return xA(Lf(D),C,$,o1)}function Sl(C,D,$,o1){return xA(function(j1,v1){for(var ex,_0,Ne,e=[],s=0;s<j1.length&&!((v1-=2)<0);++s)_0=(ex=j1.charCodeAt(s))>>8,Ne=ex%256,e.push(Ne),e.push(_0);return e}(D,C.length-$),C,$,o1)}function $8(C,D,$){return D===0&&$===C.length?M6(C):M6(C.slice(D,$))}function wl(C,D,$){$=Math.min(C.length,$);for(var o1=[],j1=D;j1<$;){var v1,ex,_0,Ne,e=C[j1],s=null,X=e>239?4:e>223?3:e>191?2:1;if(j1+X<=$)switch(X){case 1:e<128&&(s=e);break;case 2:(192&(v1=C[j1+1]))==128&&(Ne=(31&e)<<6|63&v1)>127&&(s=Ne);break;case 3:v1=C[j1+1],ex=C[j1+2],(192&v1)==128&&(192&ex)==128&&(Ne=(15&e)<<12|(63&v1)<<6|63&ex)>2047&&(Ne<55296||Ne>57343)&&(s=Ne);break;case 4:v1=C[j1+1],ex=C[j1+2],_0=C[j1+3],(192&v1)==128&&(192&ex)==128&&(192&_0)==128&&(Ne=(15&e)<<18|(63&v1)<<12|(63&ex)<<6|63&_0)>65535&&Ne<1114112&&(s=Ne)}s===null?(s=65533,X=1):s>65535&&(s-=65536,o1.push(s>>>10&1023|55296),s=56320|1023&s),o1.push(s),j1+=X}return function(J){var m0=J.length;if(m0<=Ko)return String.fromCharCode.apply(String,J);for(var s1=\"\",i0=0;i0<m0;)s1+=String.fromCharCode.apply(String,J.slice(i0,i0+=Ko));return s1}(o1)}bi.poolSize=8192,bi._augment=function(C){return C.__proto__=bi.prototype,C},bi.from=function(C,D,$){return ya(null,C,D,$)},bi.TYPED_ARRAY_SUPPORT&&(bi.prototype.__proto__=Uint8Array.prototype,bi.__proto__=Uint8Array),bi.alloc=function(C,D,$){return function(o1,j1,v1,ex){return ul(j1),j1<=0?xs(o1,j1):v1!==void 0?typeof ex==\"string\"?xs(o1,j1).fill(v1,ex):xs(o1,j1).fill(v1):xs(o1,j1)}(null,C,D,$)},bi.allocUnsafe=function(C){return mu(null,C)},bi.allocUnsafeSlow=function(C){return mu(null,C)},bi.isBuffer=nw,bi.compare=function(C,D){if(!Mc(C)||!Mc(D))throw new TypeError(\"Arguments must be Buffers\");if(C===D)return 0;for(var $=C.length,o1=D.length,j1=0,v1=Math.min($,o1);j1<v1;++j1)if(C[j1]!==D[j1]){$=C[j1],o1=D[j1];break}return $<o1?-1:o1<$?1:0},bi.isEncoding=function(C){switch(String(C).toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"latin1\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return!0;default:return!1}},bi.concat=function(C,D){if(!zt(C))throw new TypeError('\"list\" argument must be an Array of Buffers');if(C.length===0)return bi.alloc(0);var $;if(D===void 0)for(D=0,$=0;$<C.length;++$)D+=C[$].length;var o1=bi.allocUnsafe(D),j1=0;for($=0;$<C.length;++$){var v1=C[$];if(!Mc(v1))throw new TypeError('\"list\" argument must be an Array of Buffers');v1.copy(o1,j1),j1+=v1.length}return o1},bi.byteLength=bf,bi.prototype._isBuffer=!0,bi.prototype.swap16=function(){var C=this.length;if(C%2!=0)throw new RangeError(\"Buffer size must be a multiple of 16-bits\");for(var D=0;D<C;D+=2)Pa(this,D,D+1);return this},bi.prototype.swap32=function(){var C=this.length;if(C%4!=0)throw new RangeError(\"Buffer size must be a multiple of 32-bits\");for(var D=0;D<C;D+=4)Pa(this,D,D+3),Pa(this,D+1,D+2);return this},bi.prototype.swap64=function(){var C=this.length;if(C%8!=0)throw new RangeError(\"Buffer size must be a multiple of 64-bits\");for(var D=0;D<C;D+=8)Pa(this,D,D+7),Pa(this,D+1,D+6),Pa(this,D+2,D+5),Pa(this,D+3,D+4);return this},bi.prototype.toString=function(){var C=0|this.length;return C===0?\"\":arguments.length===0?wl(this,0,C):Rc.apply(this,arguments)},bi.prototype.equals=function(C){if(!Mc(C))throw new TypeError(\"Argument must be a Buffer\");return this===C||bi.compare(this,C)===0},bi.prototype.inspect=function(){var C=\"\";return this.length>0&&(C=this.toString(\"hex\",0,50).match(/.{2}/g).join(\" \"),this.length>50&&(C+=\" ... \")),\"<Buffer \"+C+\">\"},bi.prototype.compare=function(C,D,$,o1,j1){if(!Mc(C))throw new TypeError(\"Argument must be a Buffer\");if(D===void 0&&(D=0),$===void 0&&($=C?C.length:0),o1===void 0&&(o1=0),j1===void 0&&(j1=this.length),D<0||$>C.length||o1<0||j1>this.length)throw new RangeError(\"out of range index\");if(o1>=j1&&D>=$)return 0;if(o1>=j1)return-1;if(D>=$)return 1;if(this===C)return 0;for(var v1=(j1>>>=0)-(o1>>>=0),ex=($>>>=0)-(D>>>=0),_0=Math.min(v1,ex),Ne=this.slice(o1,j1),e=C.slice(D,$),s=0;s<_0;++s)if(Ne[s]!==e[s]){v1=Ne[s],ex=e[s];break}return v1<ex?-1:ex<v1?1:0},bi.prototype.includes=function(C,D,$){return this.indexOf(C,D,$)!==-1},bi.prototype.indexOf=function(C,D,$){return Uu(this,C,D,$,!0)},bi.prototype.lastIndexOf=function(C,D,$){return Uu(this,C,D,$,!1)},bi.prototype.write=function(C,D,$,o1){if(D===void 0)o1=\"utf8\",$=this.length,D=0;else if($===void 0&&typeof D==\"string\")o1=D,$=this.length,D=0;else{if(!isFinite(D))throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");D|=0,isFinite($)?($|=0,o1===void 0&&(o1=\"utf8\")):(o1=$,$=void 0)}var j1=this.length-D;if(($===void 0||$>j1)&&($=j1),C.length>0&&($<0||D<0)||D>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");o1||(o1=\"utf8\");for(var v1=!1;;)switch(o1){case\"hex\":return Kl(this,C,D,$);case\"utf8\":case\"utf-8\":return Bs(this,C,D,$);case\"ascii\":return qf(this,C,D,$);case\"latin1\":case\"binary\":return Zl(this,C,D,$);case\"base64\":return ZF(this,C,D,$);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return Sl(this,C,D,$);default:if(v1)throw new TypeError(\"Unknown encoding: \"+o1);o1=(\"\"+o1).toLowerCase(),v1=!0}},bi.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};var Ko=4096;function $u(C,D,$){var o1=\"\";$=Math.min(C.length,$);for(var j1=D;j1<$;++j1)o1+=String.fromCharCode(127&C[j1]);return o1}function dF(C,D,$){var o1=\"\";$=Math.min(C.length,$);for(var j1=D;j1<$;++j1)o1+=String.fromCharCode(C[j1]);return o1}function nE(C,D,$){var o1=C.length;(!D||D<0)&&(D=0),(!$||$<0||$>o1)&&($=o1);for(var j1=\"\",v1=D;v1<$;++v1)j1+=op(C[v1]);return j1}function pm(C,D,$){for(var o1=C.slice(D,$),j1=\"\",v1=0;v1<o1.length;v1+=2)j1+=String.fromCharCode(o1[v1]+256*o1[v1+1]);return j1}function bl(C,D,$){if(C%1!=0||C<0)throw new RangeError(\"offset is not uint\");if(C+D>$)throw new RangeError(\"Trying to access beyond buffer length\")}function nf(C,D,$,o1,j1,v1){if(!Mc(C))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(D>j1||D<v1)throw new RangeError('\"value\" argument is out of bounds');if($+o1>C.length)throw new RangeError(\"Index out of range\")}function Ts(C,D,$,o1){D<0&&(D=65535+D+1);for(var j1=0,v1=Math.min(C.length-$,2);j1<v1;++j1)C[$+j1]=(D&255<<8*(o1?j1:1-j1))>>>8*(o1?j1:1-j1)}function xf(C,D,$,o1){D<0&&(D=4294967295+D+1);for(var j1=0,v1=Math.min(C.length-$,4);j1<v1;++j1)C[$+j1]=D>>>8*(o1?j1:3-j1)&255}function w8(C,D,$,o1,j1,v1){if($+o1>C.length)throw new RangeError(\"Index out of range\");if($<0)throw new RangeError(\"Index out of range\")}function WT(C,D,$,o1,j1){return j1||w8(C,0,$,4),Yx(C,D,$,o1,23,4),$+4}function al(C,D,$,o1,j1){return j1||w8(C,0,$,8),Yx(C,D,$,o1,52,8),$+8}bi.prototype.slice=function(C,D){var $,o1=this.length;if((C=~~C)<0?(C+=o1)<0&&(C=0):C>o1&&(C=o1),(D=D===void 0?o1:~~D)<0?(D+=o1)<0&&(D=0):D>o1&&(D=o1),D<C&&(D=C),bi.TYPED_ARRAY_SUPPORT)($=this.subarray(C,D)).__proto__=bi.prototype;else{var j1=D-C;$=new bi(j1,void 0);for(var v1=0;v1<j1;++v1)$[v1]=this[v1+C]}return $},bi.prototype.readUIntLE=function(C,D,$){C|=0,D|=0,$||bl(C,D,this.length);for(var o1=this[C],j1=1,v1=0;++v1<D&&(j1*=256);)o1+=this[C+v1]*j1;return o1},bi.prototype.readUIntBE=function(C,D,$){C|=0,D|=0,$||bl(C,D,this.length);for(var o1=this[C+--D],j1=1;D>0&&(j1*=256);)o1+=this[C+--D]*j1;return o1},bi.prototype.readUInt8=function(C,D){return D||bl(C,1,this.length),this[C]},bi.prototype.readUInt16LE=function(C,D){return D||bl(C,2,this.length),this[C]|this[C+1]<<8},bi.prototype.readUInt16BE=function(C,D){return D||bl(C,2,this.length),this[C]<<8|this[C+1]},bi.prototype.readUInt32LE=function(C,D){return D||bl(C,4,this.length),(this[C]|this[C+1]<<8|this[C+2]<<16)+16777216*this[C+3]},bi.prototype.readUInt32BE=function(C,D){return D||bl(C,4,this.length),16777216*this[C]+(this[C+1]<<16|this[C+2]<<8|this[C+3])},bi.prototype.readIntLE=function(C,D,$){C|=0,D|=0,$||bl(C,D,this.length);for(var o1=this[C],j1=1,v1=0;++v1<D&&(j1*=256);)o1+=this[C+v1]*j1;return o1>=(j1*=128)&&(o1-=Math.pow(2,8*D)),o1},bi.prototype.readIntBE=function(C,D,$){C|=0,D|=0,$||bl(C,D,this.length);for(var o1=D,j1=1,v1=this[C+--o1];o1>0&&(j1*=256);)v1+=this[C+--o1]*j1;return v1>=(j1*=128)&&(v1-=Math.pow(2,8*D)),v1},bi.prototype.readInt8=function(C,D){return D||bl(C,1,this.length),128&this[C]?-1*(255-this[C]+1):this[C]},bi.prototype.readInt16LE=function(C,D){D||bl(C,2,this.length);var $=this[C]|this[C+1]<<8;return 32768&$?4294901760|$:$},bi.prototype.readInt16BE=function(C,D){D||bl(C,2,this.length);var $=this[C+1]|this[C]<<8;return 32768&$?4294901760|$:$},bi.prototype.readInt32LE=function(C,D){return D||bl(C,4,this.length),this[C]|this[C+1]<<8|this[C+2]<<16|this[C+3]<<24},bi.prototype.readInt32BE=function(C,D){return D||bl(C,4,this.length),this[C]<<24|this[C+1]<<16|this[C+2]<<8|this[C+3]},bi.prototype.readFloatLE=function(C,D){return D||bl(C,4,this.length),B1(this,C,!0,23,4)},bi.prototype.readFloatBE=function(C,D){return D||bl(C,4,this.length),B1(this,C,!1,23,4)},bi.prototype.readDoubleLE=function(C,D){return D||bl(C,8,this.length),B1(this,C,!0,52,8)},bi.prototype.readDoubleBE=function(C,D){return D||bl(C,8,this.length),B1(this,C,!1,52,8)},bi.prototype.writeUIntLE=function(C,D,$,o1){C=+C,D|=0,$|=0,o1||nf(this,C,D,$,Math.pow(2,8*$)-1,0);var j1=1,v1=0;for(this[D]=255&C;++v1<$&&(j1*=256);)this[D+v1]=C/j1&255;return D+$},bi.prototype.writeUIntBE=function(C,D,$,o1){C=+C,D|=0,$|=0,o1||nf(this,C,D,$,Math.pow(2,8*$)-1,0);var j1=$-1,v1=1;for(this[D+j1]=255&C;--j1>=0&&(v1*=256);)this[D+j1]=C/v1&255;return D+$},bi.prototype.writeUInt8=function(C,D,$){return C=+C,D|=0,$||nf(this,C,D,1,255,0),bi.TYPED_ARRAY_SUPPORT||(C=Math.floor(C)),this[D]=255&C,D+1},bi.prototype.writeUInt16LE=function(C,D,$){return C=+C,D|=0,$||nf(this,C,D,2,65535,0),bi.TYPED_ARRAY_SUPPORT?(this[D]=255&C,this[D+1]=C>>>8):Ts(this,C,D,!0),D+2},bi.prototype.writeUInt16BE=function(C,D,$){return C=+C,D|=0,$||nf(this,C,D,2,65535,0),bi.TYPED_ARRAY_SUPPORT?(this[D]=C>>>8,this[D+1]=255&C):Ts(this,C,D,!1),D+2},bi.prototype.writeUInt32LE=function(C,D,$){return C=+C,D|=0,$||nf(this,C,D,4,4294967295,0),bi.TYPED_ARRAY_SUPPORT?(this[D+3]=C>>>24,this[D+2]=C>>>16,this[D+1]=C>>>8,this[D]=255&C):xf(this,C,D,!0),D+4},bi.prototype.writeUInt32BE=function(C,D,$){return C=+C,D|=0,$||nf(this,C,D,4,4294967295,0),bi.TYPED_ARRAY_SUPPORT?(this[D]=C>>>24,this[D+1]=C>>>16,this[D+2]=C>>>8,this[D+3]=255&C):xf(this,C,D,!1),D+4},bi.prototype.writeIntLE=function(C,D,$,o1){if(C=+C,D|=0,!o1){var j1=Math.pow(2,8*$-1);nf(this,C,D,$,j1-1,-j1)}var v1=0,ex=1,_0=0;for(this[D]=255&C;++v1<$&&(ex*=256);)C<0&&_0===0&&this[D+v1-1]!==0&&(_0=1),this[D+v1]=(C/ex>>0)-_0&255;return D+$},bi.prototype.writeIntBE=function(C,D,$,o1){if(C=+C,D|=0,!o1){var j1=Math.pow(2,8*$-1);nf(this,C,D,$,j1-1,-j1)}var v1=$-1,ex=1,_0=0;for(this[D+v1]=255&C;--v1>=0&&(ex*=256);)C<0&&_0===0&&this[D+v1+1]!==0&&(_0=1),this[D+v1]=(C/ex>>0)-_0&255;return D+$},bi.prototype.writeInt8=function(C,D,$){return C=+C,D|=0,$||nf(this,C,D,1,127,-128),bi.TYPED_ARRAY_SUPPORT||(C=Math.floor(C)),C<0&&(C=255+C+1),this[D]=255&C,D+1},bi.prototype.writeInt16LE=function(C,D,$){return C=+C,D|=0,$||nf(this,C,D,2,32767,-32768),bi.TYPED_ARRAY_SUPPORT?(this[D]=255&C,this[D+1]=C>>>8):Ts(this,C,D,!0),D+2},bi.prototype.writeInt16BE=function(C,D,$){return C=+C,D|=0,$||nf(this,C,D,2,32767,-32768),bi.TYPED_ARRAY_SUPPORT?(this[D]=C>>>8,this[D+1]=255&C):Ts(this,C,D,!1),D+2},bi.prototype.writeInt32LE=function(C,D,$){return C=+C,D|=0,$||nf(this,C,D,4,2147483647,-2147483648),bi.TYPED_ARRAY_SUPPORT?(this[D]=255&C,this[D+1]=C>>>8,this[D+2]=C>>>16,this[D+3]=C>>>24):xf(this,C,D,!0),D+4},bi.prototype.writeInt32BE=function(C,D,$){return C=+C,D|=0,$||nf(this,C,D,4,2147483647,-2147483648),C<0&&(C=4294967295+C+1),bi.TYPED_ARRAY_SUPPORT?(this[D]=C>>>24,this[D+1]=C>>>16,this[D+2]=C>>>8,this[D+3]=255&C):xf(this,C,D,!1),D+4},bi.prototype.writeFloatLE=function(C,D,$){return WT(this,C,D,!0,$)},bi.prototype.writeFloatBE=function(C,D,$){return WT(this,C,D,!1,$)},bi.prototype.writeDoubleLE=function(C,D,$){return al(this,C,D,!0,$)},bi.prototype.writeDoubleBE=function(C,D,$){return al(this,C,D,!1,$)},bi.prototype.copy=function(C,D,$,o1){if($||($=0),o1||o1===0||(o1=this.length),D>=C.length&&(D=C.length),D||(D=0),o1>0&&o1<$&&(o1=$),o1===$||C.length===0||this.length===0)return 0;if(D<0)throw new RangeError(\"targetStart out of bounds\");if($<0||$>=this.length)throw new RangeError(\"sourceStart out of bounds\");if(o1<0)throw new RangeError(\"sourceEnd out of bounds\");o1>this.length&&(o1=this.length),C.length-D<o1-$&&(o1=C.length-D+$);var j1,v1=o1-$;if(this===C&&$<D&&D<o1)for(j1=v1-1;j1>=0;--j1)C[j1+D]=this[j1+$];else if(v1<1e3||!bi.TYPED_ARRAY_SUPPORT)for(j1=0;j1<v1;++j1)C[j1+D]=this[j1+$];else Uint8Array.prototype.set.call(C,this.subarray($,$+v1),D);return v1},bi.prototype.fill=function(C,D,$,o1){if(typeof C==\"string\"){if(typeof D==\"string\"?(o1=D,D=0,$=this.length):typeof $==\"string\"&&(o1=$,$=this.length),C.length===1){var j1=C.charCodeAt(0);j1<256&&(C=j1)}if(o1!==void 0&&typeof o1!=\"string\")throw new TypeError(\"encoding must be a string\");if(typeof o1==\"string\"&&!bi.isEncoding(o1))throw new TypeError(\"Unknown encoding: \"+o1)}else typeof C==\"number\"&&(C&=255);if(D<0||this.length<D||this.length<$)throw new RangeError(\"Out of range index\");if($<=D)return this;var v1;if(D>>>=0,$=$===void 0?this.length:$>>>0,C||(C=0),typeof C==\"number\")for(v1=D;v1<$;++v1)this[v1]=C;else{var ex=Mc(C)?C:PF(new bi(C,o1).toString()),_0=ex.length;for(v1=0;v1<$-D;++v1)this[v1+D]=ex[v1%_0]}return this};var Z4=/[^+\\/0-9A-Za-z-_]/g;function op(C){return C<16?\"0\"+C.toString(16):C.toString(16)}function PF(C,D){var $;D=D||1/0;for(var o1=C.length,j1=null,v1=[],ex=0;ex<o1;++ex){if(($=C.charCodeAt(ex))>55295&&$<57344){if(!j1){if($>56319){(D-=3)>-1&&v1.push(239,191,189);continue}if(ex+1===o1){(D-=3)>-1&&v1.push(239,191,189);continue}j1=$;continue}if($<56320){(D-=3)>-1&&v1.push(239,191,189),j1=$;continue}$=65536+(j1-55296<<10|$-56320)}else j1&&(D-=3)>-1&&v1.push(239,191,189);if(j1=null,$<128){if((D-=1)<0)break;v1.push($)}else if($<2048){if((D-=2)<0)break;v1.push($>>6|192,63&$|128)}else if($<65536){if((D-=3)<0)break;v1.push($>>12|224,$>>6&63|128,63&$|128)}else{if(!($<1114112))throw new Error(\"Invalid code point\");if((D-=4)<0)break;v1.push($>>18|240,$>>12&63|128,$>>6&63|128,63&$|128)}}return v1}function Lf(C){return function(D){var $,o1,j1,v1,ex,_0;W2||pt();var Ne=D.length;if(Ne%4>0)throw new Error(\"Invalid string. Length must be a multiple of 4\");ex=D[Ne-2]===\"=\"?2:D[Ne-1]===\"=\"?1:0,_0=new v4(3*Ne/4-ex),j1=ex>0?Ne-4:Ne;var e=0;for($=0,o1=0;$<j1;$+=4,o1+=3)v1=L6[D.charCodeAt($)]<<18|L6[D.charCodeAt($+1)]<<12|L6[D.charCodeAt($+2)]<<6|L6[D.charCodeAt($+3)],_0[e++]=v1>>16&255,_0[e++]=v1>>8&255,_0[e++]=255&v1;return ex===2?(v1=L6[D.charCodeAt($)]<<2|L6[D.charCodeAt($+1)]>>4,_0[e++]=255&v1):ex===1&&(v1=L6[D.charCodeAt($)]<<10|L6[D.charCodeAt($+1)]<<4|L6[D.charCodeAt($+2)]>>2,_0[e++]=v1>>8&255,_0[e++]=255&v1),_0}(function(D){if((D=function($){return $.trim?$.trim():$.replace(/^\\s+|\\s+$/g,\"\")}(D).replace(Z4,\"\")).length<2)return\"\";for(;D.length%4!=0;)D+=\"=\";return D}(C))}function xA(C,D,$,o1){for(var j1=0;j1<o1&&!(j1+$>=D.length||j1>=C.length);++j1)D[j1+$]=C[j1];return j1}function nw(C){return C!=null&&(!!C._isBuffer||Hd(C)||function(D){return typeof D.readFloatLE==\"function\"&&typeof D.slice==\"function\"&&Hd(D.slice(0,0))}(C))}function Hd(C){return!!C.constructor&&typeof C.constructor.isBuffer==\"function\"&&C.constructor.isBuffer(C)}var o2=Object.freeze({__proto__:null,Buffer:bi,INSPECT_MAX_BYTES:50,SlowBuffer:function(C){return+C!=C&&(C=0),bi.alloc(+C)},isBuffer:nw,kMaxLength:an}),Pu=typeof Object.create==\"function\"?function(C,D){C.super_=D,C.prototype=Object.create(D.prototype,{constructor:{value:C,enumerable:!1,writable:!0,configurable:!0}})}:function(C,D){C.super_=D;var $=function(){};$.prototype=D.prototype,C.prototype=new $,C.prototype.constructor=C},mF=/%[sdj%]/g;function sp(C){if(!tp(C)){for(var D=[],$=0;$<arguments.length;$++)D.push(ff(arguments[$]));return D.join(\" \")}$=1;for(var o1=arguments,j1=o1.length,v1=String(C).replace(mF,function(_0){if(_0===\"%%\")return\"%\";if($>=j1)return _0;switch(_0){case\"%s\":return String(o1[$++]);case\"%d\":return Number(o1[$++]);case\"%j\":try{return JSON.stringify(o1[$++])}catch{return\"[Circular]\"}default:return _0}}),ex=o1[$];$<j1;ex=o1[++$])Ap(ex)||!cl(ex)?v1+=\" \"+ex:v1+=\" \"+ff(ex);return v1}function wu(C,D){if(hF(eg.process))return function(){return wu(C,D).apply(this,arguments)};var $=!1;return function(){return $||(console.error(D),$=!0),C.apply(this,arguments)}}var Hp,ep={};function Uf(C){return hF(Hp)&&(Hp=Lu.env.NODE_DEBUG||\"\"),C=C.toUpperCase(),!ep[C]&&(new RegExp(\"\\\\b\"+C+\"\\\\b\",\"i\").test(Hp)?ep[C]=function(){var D=sp.apply(null,arguments);console.error(\"%s %d: %s\",C,0,D)}:ep[C]=function(){}),ep[C]}function ff(C,D){var $={seen:[],stylize:R4};return arguments.length>=3&&($.depth=arguments[2]),arguments.length>=4&&($.colors=arguments[3]),Mf(D)?$.showHidden=D:D&&e0($,D),hF($.showHidden)&&($.showHidden=!1),hF($.depth)&&($.depth=2),hF($.colors)&&($.colors=!1),hF($.customInspect)&&($.customInspect=!0),$.colors&&($.stylize=iw),o5($,C,$.depth)}function iw(C,D){var $=ff.styles[D];return $?\"\u001b[\"+ff.colors[$][0]+\"m\"+C+\"\u001b[\"+ff.colors[$][1]+\"m\":C}function R4(C,D){return C}function o5(C,D,$){if(C.customInspect&&D&&hl(D.inspect)&&D.inspect!==ff&&(!D.constructor||D.constructor.prototype!==D)){var o1=D.inspect($,C);return tp(o1)||(o1=o5(C,o1,$)),o1}var j1=function(J,m0){if(hF(m0))return J.stylize(\"undefined\",\"undefined\");if(tp(m0)){var s1=\"'\"+JSON.stringify(m0).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return J.stylize(s1,\"string\")}if(wT(m0))return J.stylize(\"\"+m0,\"number\");if(Mf(m0))return J.stylize(\"\"+m0,\"boolean\");if(Ap(m0))return J.stylize(\"null\",\"null\")}(C,D);if(j1)return j1;var v1=Object.keys(D),ex=function(J){var m0={};return J.forEach(function(s1,i0){m0[s1]=!0}),m0}(v1);if(C.showHidden&&(v1=Object.getOwnPropertyNames(D)),Vf(D)&&(v1.indexOf(\"message\")>=0||v1.indexOf(\"description\")>=0))return Gd(D);if(v1.length===0){if(hl(D)){var _0=D.name?\": \"+D.name:\"\";return C.stylize(\"[Function\"+_0+\"]\",\"special\")}if(Nl(D))return C.stylize(RegExp.prototype.toString.call(D),\"regexp\");if(SA(D))return C.stylize(Date.prototype.toString.call(D),\"date\");if(Vf(D))return Gd(D)}var Ne,e=\"\",s=!1,X=[\"{\",\"}\"];return uT(D)&&(s=!0,X=[\"[\",\"]\"]),hl(D)&&(e=\" [Function\"+(D.name?\": \"+D.name:\"\")+\"]\"),Nl(D)&&(e=\" \"+RegExp.prototype.toString.call(D)),SA(D)&&(e=\" \"+Date.prototype.toUTCString.call(D)),Vf(D)&&(e=\" \"+Gd(D)),v1.length!==0||s&&D.length!=0?$<0?Nl(D)?C.stylize(RegExp.prototype.toString.call(D),\"regexp\"):C.stylize(\"[Object]\",\"special\"):(C.seen.push(D),Ne=s?function(J,m0,s1,i0,H0){for(var E0=[],I=0,A=m0.length;I<A;++I)R0(m0,String(I))?E0.push(cd(J,m0,s1,i0,String(I),!0)):E0.push(\"\");return H0.forEach(function(Z){Z.match(/^\\d+$/)||E0.push(cd(J,m0,s1,i0,Z,!0))}),E0}(C,D,$,ex,v1):v1.map(function(J){return cd(C,D,$,ex,J,s)}),C.seen.pop(),function(J,m0,s1){return J.reduce(function(i0,H0){return H0.indexOf(`\n`),i0+H0.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1},0)>60?s1[0]+(m0===\"\"?\"\":m0+`\n `)+\" \"+J.join(`,\n  `)+\" \"+s1[1]:s1[0]+m0+\" \"+J.join(\", \")+\" \"+s1[1]}(Ne,e,X)):X[0]+e+X[1]}function Gd(C){return\"[\"+Error.prototype.toString.call(C)+\"]\"}function cd(C,D,$,o1,j1,v1){var ex,_0,Ne;if((Ne=Object.getOwnPropertyDescriptor(D,j1)||{value:D[j1]}).get?_0=Ne.set?C.stylize(\"[Getter/Setter]\",\"special\"):C.stylize(\"[Getter]\",\"special\"):Ne.set&&(_0=C.stylize(\"[Setter]\",\"special\")),R0(o1,j1)||(ex=\"[\"+j1+\"]\"),_0||(C.seen.indexOf(Ne.value)<0?(_0=Ap($)?o5(C,Ne.value,null):o5(C,Ne.value,$-1)).indexOf(`\n`)>-1&&(_0=v1?_0.split(`\n`).map(function(e){return\"  \"+e}).join(`\n`).substr(2):`\n`+_0.split(`\n`).map(function(e){return\"   \"+e}).join(`\n`)):_0=C.stylize(\"[Circular]\",\"special\")),hF(ex)){if(v1&&j1.match(/^\\d+$/))return _0;(ex=JSON.stringify(\"\"+j1)).match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)?(ex=ex.substr(1,ex.length-2),ex=C.stylize(ex,\"name\")):(ex=ex.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),ex=C.stylize(ex,\"string\"))}return ex+\": \"+_0}function uT(C){return Array.isArray(C)}function Mf(C){return typeof C==\"boolean\"}function Ap(C){return C===null}function C4(C){return C==null}function wT(C){return typeof C==\"number\"}function tp(C){return typeof C==\"string\"}function o6(C){return typeof C==\"symbol\"}function hF(C){return C===void 0}function Nl(C){return cl(C)&&tl(C)===\"[object RegExp]\"}function cl(C){return typeof C==\"object\"&&C!==null}function SA(C){return cl(C)&&tl(C)===\"[object Date]\"}function Vf(C){return cl(C)&&(tl(C)===\"[object Error]\"||C instanceof Error)}function hl(C){return typeof C==\"function\"}function Id(C){return C===null||typeof C==\"boolean\"||typeof C==\"number\"||typeof C==\"string\"||typeof C==\"symbol\"||C===void 0}function wf(C){return bi.isBuffer(C)}function tl(C){return Object.prototype.toString.call(C)}function kf(C){return C<10?\"0\"+C.toString(10):C.toString(10)}ff.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},ff.styles={special:\"cyan\",number:\"yellow\",boolean:\"yellow\",undefined:\"grey\",null:\"bold\",string:\"green\",date:\"magenta\",regexp:\"red\"};var Tp=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];function Xd(){var C=new Date,D=[kf(C.getHours()),kf(C.getMinutes()),kf(C.getSeconds())].join(\":\");return[C.getDate(),Tp[C.getMonth()],D].join(\" \")}function M0(){console.log(\"%s - %s\",Xd(),sp.apply(null,arguments))}function e0(C,D){if(!D||!cl(D))return C;for(var $=Object.keys(D),o1=$.length;o1--;)C[$[o1]]=D[$[o1]];return C}function R0(C,D){return Object.prototype.hasOwnProperty.call(C,D)}var R1={inherits:Pu,_extend:e0,log:M0,isBuffer:wf,isPrimitive:Id,isFunction:hl,isError:Vf,isDate:SA,isObject:cl,isRegExp:Nl,isUndefined:hF,isSymbol:o6,isString:tp,isNumber:wT,isNullOrUndefined:C4,isNull:Ap,isBoolean:Mf,isArray:uT,inspect:ff,deprecate:wu,format:sp,debuglog:Uf},H1=Object.freeze({__proto__:null,format:sp,deprecate:wu,debuglog:Uf,inspect:ff,isArray:uT,isBoolean:Mf,isNull:Ap,isNullOrUndefined:C4,isNumber:wT,isString:tp,isSymbol:o6,isUndefined:hF,isRegExp:Nl,isObject:cl,isDate:SA,isError:Vf,isFunction:hl,isPrimitive:Id,isBuffer:wf,log:M0,inherits:Pu,_extend:e0,default:R1}),Jx=(C,D=Lu.argv)=>{const $=C.startsWith(\"-\")?\"\":C.length===1?\"-\":\"--\",o1=D.indexOf($+C),j1=D.indexOf(\"--\");return o1!==-1&&(j1===-1||o1<j1)},Se=D1(yS);const{env:Ye}=Lu;let tt;function Er(C){return C!==0&&{level:C,hasBasic:!0,has256:C>=2,has16m:C>=3}}function Zt(C,D){if(tt===0)return 0;if(Jx(\"color=16m\")||Jx(\"color=full\")||Jx(\"color=truecolor\"))return 3;if(Jx(\"color=256\"))return 2;if(C&&!D&&tt===void 0)return 0;const $=tt||0;if(Ye.TERM===\"dumb\")return $;if(\"CI\"in Ye)return[\"TRAVIS\",\"CIRCLECI\",\"APPVEYOR\",\"GITLAB_CI\",\"GITHUB_ACTIONS\",\"BUILDKITE\"].some(o1=>o1 in Ye)||Ye.CI_NAME===\"codeship\"?1:$;if(\"TEAMCITY_VERSION\"in Ye)return/^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(Ye.TEAMCITY_VERSION)?1:0;if(Ye.COLORTERM===\"truecolor\")return 3;if(\"TERM_PROGRAM\"in Ye){const o1=parseInt((Ye.TERM_PROGRAM_VERSION||\"\").split(\".\")[0],10);switch(Ye.TERM_PROGRAM){case\"iTerm.app\":return o1>=3?3:2;case\"Apple_Terminal\":return 2}}return/-256(color)?$/i.test(Ye.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Ye.TERM)||\"COLORTERM\"in Ye?1:$}Jx(\"no-color\")||Jx(\"no-colors\")||Jx(\"color=false\")||Jx(\"color=never\")?tt=0:(Jx(\"color\")||Jx(\"colors\")||Jx(\"color=true\")||Jx(\"color=always\"))&&(tt=1),\"FORCE_COLOR\"in Ye&&(tt=Ye.FORCE_COLOR===\"true\"?1:Ye.FORCE_COLOR===\"false\"?0:Ye.FORCE_COLOR.length===0?1:Math.min(parseInt(Ye.FORCE_COLOR,10),3));var hi={supportsColor:function(C){return Er(Zt(C,C&&C.isTTY))},stdout:Er(Zt(!0,Se.isatty(1))),stderr:Er(Zt(!0,Se.isatty(2)))},po=D1(H1),ba=W0(function(C,D){D.init=function(o1){o1.inspectOpts={};const j1=Object.keys(D.inspectOpts);for(let v1=0;v1<j1.length;v1++)o1.inspectOpts[j1[v1]]=D.inspectOpts[j1[v1]]},D.log=function(...o1){return Lu.stderr.write(po.format(...o1)+`\n`)},D.formatArgs=function(o1){const{namespace:j1,useColors:v1}=this;if(v1){const ex=this.color,_0=\"\u001b[3\"+(ex<8?ex:\"8;5;\"+ex),Ne=`  ${_0};1m${j1} \u001b[0m`;o1[0]=Ne+o1[0].split(`\n`).join(`\n`+Ne),o1.push(_0+\"m+\"+C.exports.humanize(this.diff)+\"\u001b[0m\")}else o1[0]=function(){return D.inspectOpts.hideDate?\"\":new Date().toISOString()+\" \"}()+j1+\" \"+o1[0]},D.save=function(o1){o1?Lu.env.DEBUG=o1:delete Lu.env.DEBUG},D.load=function(){return Lu.env.DEBUG},D.useColors=function(){return\"colors\"in D.inspectOpts?Boolean(D.inspectOpts.colors):Se.isatty(Lu.stderr.fd)},D.destroy=po.deprecate(()=>{},\"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.\"),D.colors=[6,2,3,4,5,1];try{const o1=hi;o1&&(o1.stderr||o1).level>=2&&(D.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}D.inspectOpts=Object.keys(Lu.env).filter(o1=>/^debug_/i.test(o1)).reduce((o1,j1)=>{const v1=j1.substring(6).toLowerCase().replace(/_([a-z])/g,(_0,Ne)=>Ne.toUpperCase());let ex=Lu.env[j1];return ex=!!/^(yes|on|true|enabled)$/i.test(ex)||!/^(no|off|false|disabled)$/i.test(ex)&&(ex===\"null\"?null:Number(ex)),o1[v1]=ex,o1},{}),C.exports=Cb(D);const{formatters:$}=C.exports;$.o=function(o1){return this.inspectOpts.colors=this.useColors,po.inspect(o1,this.inspectOpts).split(`\n`).map(j1=>j1.trim()).join(\" \")},$.O=function(o1){return this.inspectOpts.colors=this.useColors,po.inspect(o1,this.inspectOpts)}}),oa=W0(function(C){Lu===void 0||Lu.type===\"renderer\"||Lu.browser===!0||Lu.__nwjs?C.exports=px:C.exports=ba}),ho={\"{\":\"}\",\"(\":\")\",\"[\":\"]\"},Za=/\\\\(.)|(^!|\\*|[\\].+)]\\?|\\[[^\\\\\\]]+\\]|\\{[^\\\\}]+\\}|\\(\\?[:!=][^\\\\)]+\\)|\\([^|]+\\|[^\\\\)]+\\))/,Od=/\\\\(.)|(^!|[*?{}()[\\]]|\\(\\?)/,Cl=function(C,D){if(typeof C!=\"string\"||C===\"\")return!1;if(function(Ne){if(typeof Ne!=\"string\"||Ne===\"\")return!1;for(var e;e=/(\\\\).|([@?!+*]\\(.*\\))/g.exec(Ne);){if(e[2])return!0;Ne=Ne.slice(e.index+e[0].length)}return!1}(C))return!0;var $,o1=Za;for(D&&D.strict===!1&&(o1=Od);$=o1.exec(C);){if($[2])return!0;var j1=$.index+$[0].length,v1=$[1],ex=v1?ho[v1]:null;if(v1&&ex){var _0=C.indexOf(ex,j1);_0!==-1&&(j1=_0+1)}C=C.slice(j1)}return!1};const{MAX_LENGTH:S}=hA,{re:N0,t:P1}=RS;var zx=(C,D)=>{if(D=I4(D),C instanceof Fp)return C;if(typeof C!=\"string\"||C.length>S||!(D.loose?N0[P1.LOOSE]:N0[P1.FULL]).test(C))return null;try{return new Fp(C,D)}catch{return null}},$e=(C,D)=>{const $=zx(C,D);return $?$.version:null},bt=(C,D)=>{const $=zx(C.trim().replace(/^[=v]+/,\"\"),D);return $?$.version:null},qr=(C,D,$,o1)=>{typeof $==\"string\"&&(o1=$,$=void 0);try{return new Fp(C,$).inc(D,o1).version}catch{return null}},ji=(C,D,$)=>ZC(C,D,$)===0,B0=(C,D)=>{if(ji(C,D))return null;{const $=zx(C),o1=zx(D),j1=$.prerelease.length||o1.prerelease.length,v1=j1?\"pre\":\"\",ex=j1?\"prerelease\":\"\";for(const _0 in $)if((_0===\"major\"||_0===\"minor\"||_0===\"patch\")&&$[_0]!==o1[_0])return v1+_0;return ex}},d=(C,D)=>new Fp(C,D).major,N=(C,D)=>new Fp(C,D).minor,C0=(C,D)=>new Fp(C,D).patch,_1=(C,D)=>{const $=zx(C,D);return $&&$.prerelease.length?$.prerelease:null},jx=(C,D,$)=>ZC(D,C,$),We=(C,D)=>ZC(C,D,!0),mt=(C,D,$)=>{const o1=new Fp(C,$),j1=new Fp(D,$);return o1.compare(j1)||o1.compareBuild(j1)},$t=(C,D)=>C.sort(($,o1)=>mt($,o1,D)),Zn=(C,D)=>C.sort(($,o1)=>mt(o1,$,D)),_i=(C,D,$)=>ZC(C,D,$)>0,Va=(C,D,$)=>ZC(C,D,$)!==0,Bo=(C,D,$)=>ZC(C,D,$)<=0,Rt=(C,D,$,o1)=>{switch(D){case\"===\":return typeof C==\"object\"&&(C=C.version),typeof $==\"object\"&&($=$.version),C===$;case\"!==\":return typeof C==\"object\"&&(C=C.version),typeof $==\"object\"&&($=$.version),C!==$;case\"\":case\"=\":case\"==\":return ji(C,$,o1);case\"!=\":return Va(C,$,o1);case\">\":return _i(C,$,o1);case\">=\":return zF(C,$,o1);case\"<\":return zA(C,$,o1);case\"<=\":return Bo(C,$,o1);default:throw new TypeError(`Invalid operator: ${D}`)}};const{re:Xs,t:ll}=RS;var jc=(C,D)=>{if(C instanceof Fp)return C;if(typeof C==\"number\"&&(C=String(C)),typeof C!=\"string\")return null;let $=null;if((D=D||{}).rtl){let o1;for(;(o1=Xs[ll.COERCERTL].exec(C))&&(!$||$.index+$[0].length!==C.length);)$&&o1.index+o1[0].length===$.index+$[0].length||($=o1),Xs[ll.COERCERTL].lastIndex=o1.index+o1[1].length+o1[2].length;Xs[ll.COERCERTL].lastIndex=-1}else $=C.match(Xs[ll.COERCE]);return $===null?null:zx(`${$[2]}.${$[3]||\"0\"}.${$[4]||\"0\"}`,D)},xu=Ml;function Ml(C){var D=this;if(D instanceof Ml||(D=new Ml),D.tail=null,D.head=null,D.length=0,C&&typeof C.forEach==\"function\")C.forEach(function(j1){D.push(j1)});else if(arguments.length>0)for(var $=0,o1=arguments.length;$<o1;$++)D.push(arguments[$]);return D}function iE(C,D,$){var o1=D===C.head?new FA($,null,D,C):new FA($,D,D.next,C);return o1.next===null&&(C.tail=o1),o1.prev===null&&(C.head=o1),C.length++,o1}function eA(C,D){C.tail=new FA(D,C.tail,null,C),C.head||(C.head=C.tail),C.length++}function y2(C,D){C.head=new FA(D,null,C.head,C),C.tail||(C.tail=C.head),C.length++}function FA(C,D,$,o1){if(!(this instanceof FA))return new FA(C,D,$,o1);this.list=o1,this.value=C,D?(D.next=this,this.prev=D):this.prev=null,$?($.prev=this,this.next=$):this.next=null}Ml.Node=FA,Ml.create=Ml,Ml.prototype.removeNode=function(C){if(C.list!==this)throw new Error(\"removing node which does not belong to this list\");var D=C.next,$=C.prev;return D&&(D.prev=$),$&&($.next=D),C===this.head&&(this.head=D),C===this.tail&&(this.tail=$),C.list.length--,C.next=null,C.prev=null,C.list=null,D},Ml.prototype.unshiftNode=function(C){if(C!==this.head){C.list&&C.list.removeNode(C);var D=this.head;C.list=this,C.next=D,D&&(D.prev=C),this.head=C,this.tail||(this.tail=C),this.length++}},Ml.prototype.pushNode=function(C){if(C!==this.tail){C.list&&C.list.removeNode(C);var D=this.tail;C.list=this,C.prev=D,D&&(D.next=C),this.tail=C,this.head||(this.head=C),this.length++}},Ml.prototype.push=function(){for(var C=0,D=arguments.length;C<D;C++)eA(this,arguments[C]);return this.length},Ml.prototype.unshift=function(){for(var C=0,D=arguments.length;C<D;C++)y2(this,arguments[C]);return this.length},Ml.prototype.pop=function(){if(this.tail){var C=this.tail.value;return this.tail=this.tail.prev,this.tail?this.tail.next=null:this.head=null,this.length--,C}},Ml.prototype.shift=function(){if(this.head){var C=this.head.value;return this.head=this.head.next,this.head?this.head.prev=null:this.tail=null,this.length--,C}},Ml.prototype.forEach=function(C,D){D=D||this;for(var $=this.head,o1=0;$!==null;o1++)C.call(D,$.value,o1,this),$=$.next},Ml.prototype.forEachReverse=function(C,D){D=D||this;for(var $=this.tail,o1=this.length-1;$!==null;o1--)C.call(D,$.value,o1,this),$=$.prev},Ml.prototype.get=function(C){for(var D=0,$=this.head;$!==null&&D<C;D++)$=$.next;if(D===C&&$!==null)return $.value},Ml.prototype.getReverse=function(C){for(var D=0,$=this.tail;$!==null&&D<C;D++)$=$.prev;if(D===C&&$!==null)return $.value},Ml.prototype.map=function(C,D){D=D||this;for(var $=new Ml,o1=this.head;o1!==null;)$.push(C.call(D,o1.value,this)),o1=o1.next;return $},Ml.prototype.mapReverse=function(C,D){D=D||this;for(var $=new Ml,o1=this.tail;o1!==null;)$.push(C.call(D,o1.value,this)),o1=o1.prev;return $},Ml.prototype.reduce=function(C,D){var $,o1=this.head;if(arguments.length>1)$=D;else{if(!this.head)throw new TypeError(\"Reduce of empty list with no initial value\");o1=this.head.next,$=this.head.value}for(var j1=0;o1!==null;j1++)$=C($,o1.value,j1),o1=o1.next;return $},Ml.prototype.reduceReverse=function(C,D){var $,o1=this.tail;if(arguments.length>1)$=D;else{if(!this.tail)throw new TypeError(\"Reduce of empty list with no initial value\");o1=this.tail.prev,$=this.tail.value}for(var j1=this.length-1;o1!==null;j1--)$=C($,o1.value,j1),o1=o1.prev;return $},Ml.prototype.toArray=function(){for(var C=new Array(this.length),D=0,$=this.head;$!==null;D++)C[D]=$.value,$=$.next;return C},Ml.prototype.toArrayReverse=function(){for(var C=new Array(this.length),D=0,$=this.tail;$!==null;D++)C[D]=$.value,$=$.prev;return C},Ml.prototype.slice=function(C,D){(D=D||this.length)<0&&(D+=this.length),(C=C||0)<0&&(C+=this.length);var $=new Ml;if(D<C||D<0)return $;C<0&&(C=0),D>this.length&&(D=this.length);for(var o1=0,j1=this.head;j1!==null&&o1<C;o1++)j1=j1.next;for(;j1!==null&&o1<D;o1++,j1=j1.next)$.push(j1.value);return $},Ml.prototype.sliceReverse=function(C,D){(D=D||this.length)<0&&(D+=this.length),(C=C||0)<0&&(C+=this.length);var $=new Ml;if(D<C||D<0)return $;C<0&&(C=0),D>this.length&&(D=this.length);for(var o1=this.length,j1=this.tail;j1!==null&&o1>D;o1--)j1=j1.prev;for(;j1!==null&&o1>C;o1--,j1=j1.prev)$.push(j1.value);return $},Ml.prototype.splice=function(C,D,...$){C>this.length&&(C=this.length-1),C<0&&(C=this.length+C);for(var o1=0,j1=this.head;j1!==null&&o1<C;o1++)j1=j1.next;var v1=[];for(o1=0;j1&&o1<D;o1++)v1.push(j1.value),j1=this.removeNode(j1);for(j1===null&&(j1=this.tail),j1!==this.head&&j1!==this.tail&&(j1=j1.prev),o1=0;o1<$.length;o1++)j1=iE(this,j1,$[o1]);return v1},Ml.prototype.reverse=function(){for(var C=this.head,D=this.tail,$=C;$!==null;$=$.prev){var o1=$.prev;$.prev=$.next,$.next=o1}return this.head=D,this.tail=C,this};try{(function(C){C.prototype[Symbol.iterator]=function*(){for(let D=this.head;D;D=D.next)yield D.value}})(Ml)}catch{}const Rp=Symbol(\"max\"),VS=Symbol(\"length\"),_=Symbol(\"lengthCalculator\"),v0=Symbol(\"allowStale\"),w1=Symbol(\"maxAge\"),Ix=Symbol(\"dispose\"),Wx=Symbol(\"noDisposeOnSet\"),_e=Symbol(\"lruList\"),ot=Symbol(\"cache\"),Mt=Symbol(\"updateAgeOnGet\"),Ft=()=>1,nt=(C,D,$)=>{const o1=C[ot].get(D);if(o1){const j1=o1.value;if(qt(C,j1)){if(ur(C,o1),!C[v0])return}else $&&(C[Mt]&&(o1.value.now=Date.now()),C[_e].unshiftNode(o1));return j1.value}},qt=(C,D)=>{if(!D||!D.maxAge&&!C[w1])return!1;const $=Date.now()-D.now;return D.maxAge?$>D.maxAge:C[w1]&&$>C[w1]},Ze=C=>{if(C[VS]>C[Rp])for(let D=C[_e].tail;C[VS]>C[Rp]&&D!==null;){const $=D.prev;ur(C,D),D=$}},ur=(C,D)=>{if(D){const $=D.value;C[Ix]&&C[Ix]($.key,$.value),C[VS]-=$.length,C[ot].delete($.key),C[_e].removeNode(D)}};class ri{constructor(D,$,o1,j1,v1){this.key=D,this.value=$,this.length=o1,this.now=j1,this.maxAge=v1||0}}const Ui=(C,D,$,o1)=>{let j1=$.value;qt(C,j1)&&(ur(C,$),C[v0]||(j1=void 0)),j1&&D.call(o1,j1.value,j1.key,C)};var Bi=class{constructor(C){if(typeof C==\"number\"&&(C={max:C}),C||(C={}),C.max&&(typeof C.max!=\"number\"||C.max<0))throw new TypeError(\"max must be a non-negative number\");this[Rp]=C.max||1/0;const D=C.length||Ft;if(this[_]=typeof D!=\"function\"?Ft:D,this[v0]=C.stale||!1,C.maxAge&&typeof C.maxAge!=\"number\")throw new TypeError(\"maxAge must be a number\");this[w1]=C.maxAge||0,this[Ix]=C.dispose,this[Wx]=C.noDisposeOnSet||!1,this[Mt]=C.updateAgeOnGet||!1,this.reset()}set max(C){if(typeof C!=\"number\"||C<0)throw new TypeError(\"max must be a non-negative number\");this[Rp]=C||1/0,Ze(this)}get max(){return this[Rp]}set allowStale(C){this[v0]=!!C}get allowStale(){return this[v0]}set maxAge(C){if(typeof C!=\"number\")throw new TypeError(\"maxAge must be a non-negative number\");this[w1]=C,Ze(this)}get maxAge(){return this[w1]}set lengthCalculator(C){typeof C!=\"function\"&&(C=Ft),C!==this[_]&&(this[_]=C,this[VS]=0,this[_e].forEach(D=>{D.length=this[_](D.value,D.key),this[VS]+=D.length})),Ze(this)}get lengthCalculator(){return this[_]}get length(){return this[VS]}get itemCount(){return this[_e].length}rforEach(C,D){D=D||this;for(let $=this[_e].tail;$!==null;){const o1=$.prev;Ui(this,C,$,D),$=o1}}forEach(C,D){D=D||this;for(let $=this[_e].head;$!==null;){const o1=$.next;Ui(this,C,$,D),$=o1}}keys(){return this[_e].toArray().map(C=>C.key)}values(){return this[_e].toArray().map(C=>C.value)}reset(){this[Ix]&&this[_e]&&this[_e].length&&this[_e].forEach(C=>this[Ix](C.key,C.value)),this[ot]=new Map,this[_e]=new xu,this[VS]=0}dump(){return this[_e].map(C=>!qt(this,C)&&{k:C.key,v:C.value,e:C.now+(C.maxAge||0)}).toArray().filter(C=>C)}dumpLru(){return this[_e]}set(C,D,$){if(($=$||this[w1])&&typeof $!=\"number\")throw new TypeError(\"maxAge must be a number\");const o1=$?Date.now():0,j1=this[_](D,C);if(this[ot].has(C)){if(j1>this[Rp])return ur(this,this[ot].get(C)),!1;const ex=this[ot].get(C).value;return this[Ix]&&(this[Wx]||this[Ix](C,ex.value)),ex.now=o1,ex.maxAge=$,ex.value=D,this[VS]+=j1-ex.length,ex.length=j1,this.get(C),Ze(this),!0}const v1=new ri(C,D,j1,o1,$);return v1.length>this[Rp]?(this[Ix]&&this[Ix](C,D),!1):(this[VS]+=v1.length,this[_e].unshift(v1),this[ot].set(C,this[_e].head),Ze(this),!0)}has(C){if(!this[ot].has(C))return!1;const D=this[ot].get(C).value;return!qt(this,D)}get(C){return nt(this,C,!0)}peek(C){return nt(this,C,!1)}pop(){const C=this[_e].tail;return C?(ur(this,C),C.value):null}del(C){ur(this,this[ot].get(C))}load(C){this.reset();const D=Date.now();for(let $=C.length-1;$>=0;$--){const o1=C[$],j1=o1.e||0;if(j1===0)this.set(o1.k,o1.v);else{const v1=j1-D;v1>0&&this.set(o1.k,o1.v,v1)}}}prune(){this[ot].forEach((C,D)=>nt(this,D,!1))}};class Yi{constructor(D,$){if($=I4($),D instanceof Yi)return D.loose===!!$.loose&&D.includePrerelease===!!$.includePrerelease?D:new Yi(D.raw,$);if(D instanceof Jw)return this.raw=D.value,this.set=[[D]],this.format(),this;if(this.options=$,this.loose=!!$.loose,this.includePrerelease=!!$.includePrerelease,this.raw=D,this.set=D.split(/\\s*\\|\\|\\s*/).map(o1=>this.parseRange(o1.trim())).filter(o1=>o1.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${D}`);if(this.set.length>1){const o1=this.set[0];if(this.set=this.set.filter(j1=>!Sc(j1[0])),this.set.length===0)this.set=[o1];else if(this.set.length>1){for(const j1 of this.set)if(j1.length===1&&Ss(j1[0])){this.set=[j1];break}}}this.format()}format(){return this.range=this.set.map(D=>D.join(\" \").trim()).join(\"||\").trim(),this.range}toString(){return this.range}parseRange(D){D=D.trim();const $=`parseRange:${Object.keys(this.options).join(\",\")}:${D}`,o1=ha.get($);if(o1)return o1;const j1=this.options.loose,v1=j1?Xo[oo.HYPHENRANGELOOSE]:Xo[oo.HYPHENRANGE];D=D.replace(v1,d_(this.options.includePrerelease)),Ig(\"hyphen replace\",D),D=D.replace(Xo[oo.COMPARATORTRIM],ts),Ig(\"comparator trim\",D,Xo[oo.COMPARATORTRIM]),D=(D=(D=D.replace(Xo[oo.TILDETRIM],Gl)).replace(Xo[oo.CARETTRIM],Gp)).split(/\\s+/).join(\" \");const ex=j1?Xo[oo.COMPARATORLOOSE]:Xo[oo.COMPARATOR],_0=D.split(\" \").map(s=>Zc(s,this.options)).join(\" \").split(/\\s+/).map(s=>OI(s,this.options)).filter(this.options.loose?s=>!!s.match(ex):()=>!0).map(s=>new Jw(s,this.options));_0.length;const Ne=new Map;for(const s of _0){if(Sc(s))return[s];Ne.set(s.value,s)}Ne.size>1&&Ne.has(\"\")&&Ne.delete(\"\");const e=[...Ne.values()];return ha.set($,e),e}intersects(D,$){if(!(D instanceof Yi))throw new TypeError(\"a Range is required\");return this.set.some(o1=>Ws(o1,$)&&D.set.some(j1=>Ws(j1,$)&&o1.every(v1=>j1.every(ex=>v1.intersects(ex,$)))))}test(D){if(!D)return!1;if(typeof D==\"string\")try{D=new Fp(D,this.options)}catch{return!1}for(let $=0;$<this.set.length;$++)if(UD(this.set[$],D,this.options))return!0;return!1}}var ro=Yi;const ha=new Bi({max:1e3}),{re:Xo,t:oo,comparatorTrimReplace:ts,tildeTrimReplace:Gl,caretTrimReplace:Gp}=RS,Sc=C=>C.value===\"<0.0.0-0\",Ss=C=>C.value===\"\",Ws=(C,D)=>{let $=!0;const o1=C.slice();let j1=o1.pop();for(;$&&o1.length;)$=o1.every(v1=>j1.intersects(v1,D)),j1=o1.pop();return $},Zc=(C,D)=>(Ig(\"comp\",C,D),C=Im(C,D),Ig(\"caret\",C),C=wp(C,D),Ig(\"tildes\",C),C=qw(C,D),Ig(\"xrange\",C),C=s5(C,D),Ig(\"stars\",C),C),ef=C=>!C||C.toLowerCase()===\"x\"||C===\"*\",wp=(C,D)=>C.trim().split(/\\s+/).map($=>Pm($,D)).join(\" \"),Pm=(C,D)=>{const $=D.loose?Xo[oo.TILDELOOSE]:Xo[oo.TILDE];return C.replace($,(o1,j1,v1,ex,_0)=>{let Ne;return Ig(\"tilde\",C,o1,j1,v1,ex,_0),ef(j1)?Ne=\"\":ef(v1)?Ne=`>=${j1}.0.0 <${+j1+1}.0.0-0`:ef(ex)?Ne=`>=${j1}.${v1}.0 <${j1}.${+v1+1}.0-0`:_0?(Ig(\"replaceTilde pr\",_0),Ne=`>=${j1}.${v1}.${ex}-${_0} <${j1}.${+v1+1}.0-0`):Ne=`>=${j1}.${v1}.${ex} <${j1}.${+v1+1}.0-0`,Ig(\"tilde return\",Ne),Ne})},Im=(C,D)=>C.trim().split(/\\s+/).map($=>S5($,D)).join(\" \"),S5=(C,D)=>{Ig(\"caret\",C,D);const $=D.loose?Xo[oo.CARETLOOSE]:Xo[oo.CARET],o1=D.includePrerelease?\"-0\":\"\";return C.replace($,(j1,v1,ex,_0,Ne)=>{let e;return Ig(\"caret\",C,j1,v1,ex,_0,Ne),ef(v1)?e=\"\":ef(ex)?e=`>=${v1}.0.0${o1} <${+v1+1}.0.0-0`:ef(_0)?e=v1===\"0\"?`>=${v1}.${ex}.0${o1} <${v1}.${+ex+1}.0-0`:`>=${v1}.${ex}.0${o1} <${+v1+1}.0.0-0`:Ne?(Ig(\"replaceCaret pr\",Ne),e=v1===\"0\"?ex===\"0\"?`>=${v1}.${ex}.${_0}-${Ne} <${v1}.${ex}.${+_0+1}-0`:`>=${v1}.${ex}.${_0}-${Ne} <${v1}.${+ex+1}.0-0`:`>=${v1}.${ex}.${_0}-${Ne} <${+v1+1}.0.0-0`):(Ig(\"no pr\"),e=v1===\"0\"?ex===\"0\"?`>=${v1}.${ex}.${_0}${o1} <${v1}.${ex}.${+_0+1}-0`:`>=${v1}.${ex}.${_0}${o1} <${v1}.${+ex+1}.0-0`:`>=${v1}.${ex}.${_0} <${+v1+1}.0.0-0`),Ig(\"caret return\",e),e})},qw=(C,D)=>(Ig(\"replaceXRanges\",C,D),C.split(/\\s+/).map($=>s2($,D)).join(\" \")),s2=(C,D)=>{C=C.trim();const $=D.loose?Xo[oo.XRANGELOOSE]:Xo[oo.XRANGE];return C.replace($,(o1,j1,v1,ex,_0,Ne)=>{Ig(\"xRange\",C,o1,j1,v1,ex,_0,Ne);const e=ef(v1),s=e||ef(ex),X=s||ef(_0),J=X;return j1===\"=\"&&J&&(j1=\"\"),Ne=D.includePrerelease?\"-0\":\"\",e?o1=j1===\">\"||j1===\"<\"?\"<0.0.0-0\":\"*\":j1&&J?(s&&(ex=0),_0=0,j1===\">\"?(j1=\">=\",s?(v1=+v1+1,ex=0,_0=0):(ex=+ex+1,_0=0)):j1===\"<=\"&&(j1=\"<\",s?v1=+v1+1:ex=+ex+1),j1===\"<\"&&(Ne=\"-0\"),o1=`${j1+v1}.${ex}.${_0}${Ne}`):s?o1=`>=${v1}.0.0${Ne} <${+v1+1}.0.0-0`:X&&(o1=`>=${v1}.${ex}.0${Ne} <${v1}.${+ex+1}.0-0`),Ig(\"xRange return\",o1),o1})},s5=(C,D)=>(Ig(\"replaceStars\",C,D),C.trim().replace(Xo[oo.STAR],\"\")),OI=(C,D)=>(Ig(\"replaceGTE0\",C,D),C.trim().replace(Xo[D.includePrerelease?oo.GTE0PRE:oo.GTE0],\"\")),d_=C=>(D,$,o1,j1,v1,ex,_0,Ne,e,s,X,J,m0)=>`${$=ef(o1)?\"\":ef(j1)?`>=${o1}.0.0${C?\"-0\":\"\"}`:ef(v1)?`>=${o1}.${j1}.0${C?\"-0\":\"\"}`:ex?`>=${$}`:`>=${$}${C?\"-0\":\"\"}`} ${Ne=ef(e)?\"\":ef(s)?`<${+e+1}.0.0-0`:ef(X)?`<${e}.${+s+1}.0-0`:J?`<=${e}.${s}.${X}-${J}`:C?`<${e}.${s}.${+X+1}-0`:`<=${Ne}`}`.trim(),UD=(C,D,$)=>{for(let o1=0;o1<C.length;o1++)if(!C[o1].test(D))return!1;if(D.prerelease.length&&!$.includePrerelease){for(let o1=0;o1<C.length;o1++)if(Ig(C[o1].semver),C[o1].semver!==Jw.ANY&&C[o1].semver.prerelease.length>0){const j1=C[o1].semver;if(j1.major===D.major&&j1.minor===D.minor&&j1.patch===D.patch)return!0}return!1}return!0},Lg=Symbol(\"SemVer ANY\");class m9{static get ANY(){return Lg}constructor(D,$){if($=I4($),D instanceof m9){if(D.loose===!!$.loose)return D;D=D.value}Ig(\"comparator\",D,$),this.options=$,this.loose=!!$.loose,this.parse(D),this.semver===Lg?this.value=\"\":this.value=this.operator+this.semver.version,Ig(\"comp\",this)}parse(D){const $=this.options.loose?Iy[ng.COMPARATORLOOSE]:Iy[ng.COMPARATOR],o1=D.match($);if(!o1)throw new TypeError(`Invalid comparator: ${D}`);this.operator=o1[1]!==void 0?o1[1]:\"\",this.operator===\"=\"&&(this.operator=\"\"),o1[2]?this.semver=new Fp(o1[2],this.options.loose):this.semver=Lg}toString(){return this.value}test(D){if(Ig(\"Comparator.test\",D,this.options.loose),this.semver===Lg||D===Lg)return!0;if(typeof D==\"string\")try{D=new Fp(D,this.options)}catch{return!1}return Rt(D,this.operator,this.semver,this.options)}intersects(D,$){if(!(D instanceof m9))throw new TypeError(\"a Comparator is required\");if($&&typeof $==\"object\"||($={loose:!!$,includePrerelease:!1}),this.operator===\"\")return this.value===\"\"||new ro(D.value,$).test(this.value);if(D.operator===\"\")return D.value===\"\"||new ro(this.value,$).test(D.semver);const o1=!(this.operator!==\">=\"&&this.operator!==\">\"||D.operator!==\">=\"&&D.operator!==\">\"),j1=!(this.operator!==\"<=\"&&this.operator!==\"<\"||D.operator!==\"<=\"&&D.operator!==\"<\"),v1=this.semver.version===D.semver.version,ex=!(this.operator!==\">=\"&&this.operator!==\"<=\"||D.operator!==\">=\"&&D.operator!==\"<=\"),_0=Rt(this.semver,\"<\",D.semver,$)&&(this.operator===\">=\"||this.operator===\">\")&&(D.operator===\"<=\"||D.operator===\"<\"),Ne=Rt(this.semver,\">\",D.semver,$)&&(this.operator===\"<=\"||this.operator===\"<\")&&(D.operator===\">=\"||D.operator===\">\");return o1||j1||v1&&ex||_0||Ne}}var Jw=m9;const{re:Iy,t:ng}=RS;var B9=(C,D,$)=>{try{D=new ro(D,$)}catch{return!1}return D.test(C)},SO=(C,D)=>new ro(C,D).set.map($=>$.map(o1=>o1.value).join(\" \").trim().split(\" \")),IN=(C,D,$)=>{let o1=null,j1=null,v1=null;try{v1=new ro(D,$)}catch{return null}return C.forEach(ex=>{v1.test(ex)&&(o1&&j1.compare(ex)!==-1||(o1=ex,j1=new Fp(o1,$)))}),o1},m_=(C,D,$)=>{let o1=null,j1=null,v1=null;try{v1=new ro(D,$)}catch{return null}return C.forEach(ex=>{v1.test(ex)&&(o1&&j1.compare(ex)!==1||(o1=ex,j1=new Fp(o1,$)))}),o1},VD=(C,D)=>{C=new ro(C,D);let $=new Fp(\"0.0.0\");if(C.test($)||($=new Fp(\"0.0.0-0\"),C.test($)))return $;$=null;for(let o1=0;o1<C.set.length;++o1){const j1=C.set[o1];let v1=null;j1.forEach(ex=>{const _0=new Fp(ex.semver.version);switch(ex.operator){case\">\":_0.prerelease.length===0?_0.patch++:_0.prerelease.push(0),_0.raw=_0.format();case\"\":case\">=\":v1&&!_i(_0,v1)||(v1=_0);break;case\"<\":case\"<=\":break;default:throw new Error(`Unexpected operation: ${ex.operator}`)}}),!v1||$&&!_i($,v1)||($=v1)}return $&&C.test($)?$:null},Mg=(C,D)=>{try{return new ro(C,D).range||\"*\"}catch{return null}};const{ANY:gR}=Jw;var WP=(C,D,$,o1)=>{let j1,v1,ex,_0,Ne;switch(C=new Fp(C,o1),D=new ro(D,o1),$){case\">\":j1=_i,v1=Bo,ex=zA,_0=\">\",Ne=\">=\";break;case\"<\":j1=zA,v1=zF,ex=_i,_0=\"<\",Ne=\"<=\";break;default:throw new TypeError('Must provide a hilo val of \"<\" or \">\"')}if(B9(C,D,o1))return!1;for(let e=0;e<D.set.length;++e){const s=D.set[e];let X=null,J=null;if(s.forEach(m0=>{m0.semver===gR&&(m0=new Jw(\">=0.0.0\")),X=X||m0,J=J||m0,j1(m0.semver,X.semver,o1)?X=m0:ex(m0.semver,J.semver,o1)&&(J=m0)}),X.operator===_0||X.operator===Ne||(!J.operator||J.operator===_0)&&v1(C,J.semver)||J.operator===Ne&&ex(C,J.semver))return!1}return!0},cP=(C,D,$)=>WP(C,D,\">\",$),h_=(C,D,$)=>WP(C,D,\"<\",$),Hw=(C,D,$)=>(C=new ro(C,$),D=new ro(D,$),C.intersects(D));const{ANY:qP}=Jw,ry=(C,D,$)=>{if(C===D)return!0;if(C.length===1&&C[0].semver===qP){if(D.length===1&&D[0].semver===qP)return!0;C=$.includePrerelease?[new Jw(\">=0.0.0-0\")]:[new Jw(\">=0.0.0\")]}if(D.length===1&&D[0].semver===qP){if($.includePrerelease)return!0;D=[new Jw(\">=0.0.0\")]}const o1=new Set;let j1,v1,ex,_0,Ne,e,s;for(const m0 of C)m0.operator===\">\"||m0.operator===\">=\"?j1=g_(j1,m0,$):m0.operator===\"<\"||m0.operator===\"<=\"?v1=$D(v1,m0,$):o1.add(m0.semver);if(o1.size>1||j1&&v1&&(ex=ZC(j1.semver,v1.semver,$),ex>0||ex===0&&(j1.operator!==\">=\"||v1.operator!==\"<=\")))return null;for(const m0 of o1){if(j1&&!B9(m0,String(j1),$)||v1&&!B9(m0,String(v1),$))return null;for(const s1 of D)if(!B9(m0,String(s1),$))return!1;return!0}let X=!(!v1||$.includePrerelease||!v1.semver.prerelease.length)&&v1.semver,J=!(!j1||$.includePrerelease||!j1.semver.prerelease.length)&&j1.semver;X&&X.prerelease.length===1&&v1.operator===\"<\"&&X.prerelease[0]===0&&(X=!1);for(const m0 of D){if(s=s||m0.operator===\">\"||m0.operator===\">=\",e=e||m0.operator===\"<\"||m0.operator===\"<=\",j1){if(J&&m0.semver.prerelease&&m0.semver.prerelease.length&&m0.semver.major===J.major&&m0.semver.minor===J.minor&&m0.semver.patch===J.patch&&(J=!1),m0.operator===\">\"||m0.operator===\">=\"){if(_0=g_(j1,m0,$),_0===m0&&_0!==j1)return!1}else if(j1.operator===\">=\"&&!B9(j1.semver,String(m0),$))return!1}if(v1){if(X&&m0.semver.prerelease&&m0.semver.prerelease.length&&m0.semver.major===X.major&&m0.semver.minor===X.minor&&m0.semver.patch===X.patch&&(X=!1),m0.operator===\"<\"||m0.operator===\"<=\"){if(Ne=$D(v1,m0,$),Ne===m0&&Ne!==v1)return!1}else if(v1.operator===\"<=\"&&!B9(v1.semver,String(m0),$))return!1}if(!m0.operator&&(v1||j1)&&ex!==0)return!1}return!(j1&&e&&!v1&&ex!==0)&&!(v1&&s&&!j1&&ex!==0)&&!J&&!X},g_=(C,D,$)=>{if(!C)return D;const o1=ZC(C.semver,D.semver,$);return o1>0?C:o1<0||D.operator===\">\"&&C.operator===\">=\"?D:C},$D=(C,D,$)=>{if(!C)return D;const o1=ZC(C.semver,D.semver,$);return o1<0?C:o1>0||D.operator===\"<\"&&C.operator===\"<=\"?D:C};var BI=(C,D,$={})=>{if(C===D)return!0;C=new ro(C,$),D=new ro(D,$);let o1=!1;x:for(const j1 of C.set){for(const v1 of D.set){const ex=ry(j1,v1,$);if(o1=o1||ex!==null,ex)continue x}if(o1)return!1}return!0},Uh={re:RS.re,src:RS.src,tokens:RS.t,SEMVER_SPEC_VERSION:hA.SEMVER_SPEC_VERSION,SemVer:Fp,compareIdentifiers:rS.compareIdentifiers,rcompareIdentifiers:rS.rcompareIdentifiers,parse:zx,valid:$e,clean:bt,inc:qr,diff:B0,major:d,minor:N,patch:C0,prerelease:_1,compare:ZC,rcompare:jx,compareLoose:We,compareBuild:mt,sort:$t,rsort:Zn,gt:_i,lt:zA,eq:ji,neq:Va,gte:zF,lte:Bo,cmp:Rt,coerce:jc,Comparator:Jw,Range:ro,satisfies:B9,toComparators:SO,maxSatisfying:IN,minSatisfying:m_,minVersion:VD,validRange:Mg,outside:WP,gtr:cP,ltr:h_,intersects:Hw,simplifyRange:(C,D,$)=>{const o1=[];let j1=null,v1=null;const ex=C.sort((s,X)=>ZC(s,X,$));for(const s of ex)B9(s,D,$)?(v1=s,j1||(j1=s)):(v1&&o1.push([j1,v1]),v1=null,j1=null);j1&&o1.push([j1,null]);const _0=[];for(const[s,X]of o1)s===X?_0.push(s):X||s!==ex[0]?X?s===ex[0]?_0.push(`<=${X}`):_0.push(`${s} - ${X}`):_0.push(`>=${s}`):_0.push(\"*\");const Ne=_0.join(\" || \"),e=typeof D.raw==\"string\"?D.raw:String(D);return Ne.length<e.length?Ne:D},subset:BI};function Rg(C,D){for(var $=0,o1=C.length-1;o1>=0;o1--){var j1=C[o1];j1===\".\"?C.splice(o1,1):j1===\"..\"?(C.splice(o1,1),$++):$&&(C.splice(o1,1),$--)}if(D)for(;$--;$)C.unshift(\"..\");return C}var Oy=/^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/,ON=function(C){return Oy.exec(C).slice(1)};function Vh(){for(var C=\"\",D=!1,$=arguments.length-1;$>=-1&&!D;$--){var o1=$>=0?arguments[$]:\"/\";if(typeof o1!=\"string\")throw new TypeError(\"Arguments to path.resolve must be strings\");o1&&(C=o1+\"/\"+C,D=o1.charAt(0)===\"/\")}return(D?\"/\":\"\")+(C=Rg(ne(C.split(\"/\"),function(j1){return!!j1}),!D).join(\"/\"))||\".\"}function By(C){var D=rN(C),$=Te(C,-1)===\"/\";return(C=Rg(ne(C.split(\"/\"),function(o1){return!!o1}),!D).join(\"/\"))||D||(C=\".\"),C&&$&&(C+=\"/\"),(D?\"/\":\"\")+C}function rN(C){return C.charAt(0)===\"/\"}function nN(){var C=Array.prototype.slice.call(arguments,0);return By(ne(C,function(D,$){if(typeof D!=\"string\")throw new TypeError(\"Arguments to path.join must be strings\");return D}).join(\"/\"))}function b0(C,D){function $(e){for(var s=0;s<e.length&&e[s]===\"\";s++);for(var X=e.length-1;X>=0&&e[X]===\"\";X--);return s>X?[]:e.slice(s,X-s+1)}C=Vh(C).substr(1),D=Vh(D).substr(1);for(var o1=$(C.split(\"/\")),j1=$(D.split(\"/\")),v1=Math.min(o1.length,j1.length),ex=v1,_0=0;_0<v1;_0++)if(o1[_0]!==j1[_0]){ex=_0;break}var Ne=[];for(_0=ex;_0<o1.length;_0++)Ne.push(\"..\");return(Ne=Ne.concat(j1.slice(ex))).join(\"/\")}function z0(C){var D=ON(C),$=D[0],o1=D[1];return $||o1?(o1&&(o1=o1.substr(0,o1.length-1)),$+o1):\".\"}function U1(C,D){var $=ON(C)[2];return D&&$.substr(-1*D.length)===D&&($=$.substr(0,$.length-D.length)),$}function Bx(C){return ON(C)[3]}var pe={extname:Bx,basename:U1,dirname:z0,sep:\"/\",delimiter:\":\",relative:b0,join:nN,isAbsolute:rN,normalize:By,resolve:Vh};function ne(C,D){if(C.filter)return C.filter(D);for(var $=[],o1=0;o1<C.length;o1++)D(C[o1],o1,C)&&$.push(C[o1]);return $}var Te=\"ab\".substr(-1)===\"b\"?function(C,D,$){return C.substr(D,$)}:function(C,D,$){return D<0&&(D=C.length+D),C.substr(D,$)},ir=Object.freeze({__proto__:null,resolve:Vh,normalize:By,isAbsolute:rN,join:nN,relative:b0,sep:\"/\",delimiter:\":\",dirname:z0,basename:U1,extname:Bx,default:pe}),hn=Object.freeze({__proto__:null,default:{}}),sn=Object.freeze({__proto__:null,default:{}}),Mr=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\".split(\"\"),ai=function(C){if(0<=C&&C<Mr.length)return Mr[C];throw new TypeError(\"Must be between 0 and 63: \"+C)},li=function(C){return 65<=C&&C<=90?C-65:97<=C&&C<=122?C-97+26:48<=C&&C<=57?C-48+52:C==43?62:C==47?63:-1},Hr=function(C){var D,$=\"\",o1=function(j1){return j1<0?1+(-j1<<1):0+(j1<<1)}(C);do D=31&o1,(o1>>>=5)>0&&(D|=32),$+=ai(D);while(o1>0);return $},uo=function(C,D,$){var o1,j1,v1,ex,_0=C.length,Ne=0,e=0;do{if(D>=_0)throw new Error(\"Expected more digits in base 64 VLQ value.\");if((j1=li(C.charCodeAt(D++)))===-1)throw new Error(\"Invalid base64 digit: \"+C.charAt(D-1));o1=!!(32&j1),Ne+=(j1&=31)<<e,e+=5}while(o1);$.value=(ex=(v1=Ne)>>1,(1&v1)==1?-ex:ex),$.rest=D},fi=W0(function(C,D){D.getArg=function(J,m0,s1){if(m0 in J)return J[m0];if(arguments.length===3)return s1;throw new Error('\"'+m0+'\" is a required argument.')};var $=/^(?:([\\w+\\-.]+):)?\\/\\/(?:(\\w+:\\w+)@)?([\\w.-]*)(?::(\\d+))?(.*)$/,o1=/^data:.+\\,.+$/;function j1(J){var m0=J.match($);return m0?{scheme:m0[1],auth:m0[2],host:m0[3],port:m0[4],path:m0[5]}:null}function v1(J){var m0=\"\";return J.scheme&&(m0+=J.scheme+\":\"),m0+=\"//\",J.auth&&(m0+=J.auth+\"@\"),J.host&&(m0+=J.host),J.port&&(m0+=\":\"+J.port),J.path&&(m0+=J.path),m0}function ex(J){var m0=J,s1=j1(J);if(s1){if(!s1.path)return J;m0=s1.path}for(var i0,H0=D.isAbsolute(m0),E0=m0.split(/\\/+/),I=0,A=E0.length-1;A>=0;A--)(i0=E0[A])===\".\"?E0.splice(A,1):i0===\"..\"?I++:I>0&&(i0===\"\"?(E0.splice(A+1,I),I=0):(E0.splice(A,2),I--));return(m0=E0.join(\"/\"))===\"\"&&(m0=H0?\"/\":\".\"),s1?(s1.path=m0,v1(s1)):m0}function _0(J,m0){J===\"\"&&(J=\".\"),m0===\"\"&&(m0=\".\");var s1=j1(m0),i0=j1(J);if(i0&&(J=i0.path||\"/\"),s1&&!s1.scheme)return i0&&(s1.scheme=i0.scheme),v1(s1);if(s1||m0.match(o1))return m0;if(i0&&!i0.host&&!i0.path)return i0.host=m0,v1(i0);var H0=m0.charAt(0)===\"/\"?m0:ex(J.replace(/\\/+$/,\"\")+\"/\"+m0);return i0?(i0.path=H0,v1(i0)):H0}D.urlParse=j1,D.urlGenerate=v1,D.normalize=ex,D.join=_0,D.isAbsolute=function(J){return J.charAt(0)===\"/\"||$.test(J)},D.relative=function(J,m0){J===\"\"&&(J=\".\"),J=J.replace(/\\/$/,\"\");for(var s1=0;m0.indexOf(J+\"/\")!==0;){var i0=J.lastIndexOf(\"/\");if(i0<0||(J=J.slice(0,i0)).match(/^([^\\/]+:\\/)?\\/*$/))return m0;++s1}return Array(s1+1).join(\"../\")+m0.substr(J.length+1)};var Ne=!(\"__proto__\"in Object.create(null));function e(J){return J}function s(J){if(!J)return!1;var m0=J.length;if(m0<9||J.charCodeAt(m0-1)!==95||J.charCodeAt(m0-2)!==95||J.charCodeAt(m0-3)!==111||J.charCodeAt(m0-4)!==116||J.charCodeAt(m0-5)!==111||J.charCodeAt(m0-6)!==114||J.charCodeAt(m0-7)!==112||J.charCodeAt(m0-8)!==95||J.charCodeAt(m0-9)!==95)return!1;for(var s1=m0-10;s1>=0;s1--)if(J.charCodeAt(s1)!==36)return!1;return!0}function X(J,m0){return J===m0?0:J===null?1:m0===null?-1:J>m0?1:-1}D.toSetString=Ne?e:function(J){return s(J)?\"$\"+J:J},D.fromSetString=Ne?e:function(J){return s(J)?J.slice(1):J},D.compareByOriginalPositions=function(J,m0,s1){var i0=X(J.source,m0.source);return i0!==0||(i0=J.originalLine-m0.originalLine)!=0||(i0=J.originalColumn-m0.originalColumn)!=0||s1||(i0=J.generatedColumn-m0.generatedColumn)!=0||(i0=J.generatedLine-m0.generatedLine)!=0?i0:X(J.name,m0.name)},D.compareByGeneratedPositionsDeflated=function(J,m0,s1){var i0=J.generatedLine-m0.generatedLine;return i0!==0||(i0=J.generatedColumn-m0.generatedColumn)!=0||s1||(i0=X(J.source,m0.source))!==0||(i0=J.originalLine-m0.originalLine)!=0||(i0=J.originalColumn-m0.originalColumn)!=0?i0:X(J.name,m0.name)},D.compareByGeneratedPositionsInflated=function(J,m0){var s1=J.generatedLine-m0.generatedLine;return s1!==0||(s1=J.generatedColumn-m0.generatedColumn)!=0||(s1=X(J.source,m0.source))!==0||(s1=J.originalLine-m0.originalLine)!=0||(s1=J.originalColumn-m0.originalColumn)!=0?s1:X(J.name,m0.name)},D.parseSourceMapInput=function(J){return JSON.parse(J.replace(/^\\)]}'[^\\n]*\\n/,\"\"))},D.computeSourceURL=function(J,m0,s1){if(m0=m0||\"\",J&&(J[J.length-1]!==\"/\"&&m0[0]!==\"/\"&&(J+=\"/\"),m0=J+m0),s1){var i0=j1(s1);if(!i0)throw new Error(\"sourceMapURL could not be parsed\");if(i0.path){var H0=i0.path.lastIndexOf(\"/\");H0>=0&&(i0.path=i0.path.substring(0,H0+1))}m0=_0(v1(i0),m0)}return ex(m0)}}),Fs=Object.prototype.hasOwnProperty,$a=typeof Map!=\"undefined\";function Ys(){this._array=[],this._set=$a?new Map:Object.create(null)}Ys.fromArray=function(C,D){for(var $=new Ys,o1=0,j1=C.length;o1<j1;o1++)$.add(C[o1],D);return $},Ys.prototype.size=function(){return $a?this._set.size:Object.getOwnPropertyNames(this._set).length},Ys.prototype.add=function(C,D){var $=$a?C:fi.toSetString(C),o1=$a?this.has(C):Fs.call(this._set,$),j1=this._array.length;o1&&!D||this._array.push(C),o1||($a?this._set.set(C,j1):this._set[$]=j1)},Ys.prototype.has=function(C){if($a)return this._set.has(C);var D=fi.toSetString(C);return Fs.call(this._set,D)},Ys.prototype.indexOf=function(C){if($a){var D=this._set.get(C);if(D>=0)return D}else{var $=fi.toSetString(C);if(Fs.call(this._set,$))return this._set[$]}throw new Error('\"'+C+'\" is not in the set.')},Ys.prototype.at=function(C){if(C>=0&&C<this._array.length)return this._array[C];throw new Error(\"No element indexed by \"+C)},Ys.prototype.toArray=function(){return this._array.slice()};var ru={ArraySet:Ys};function js(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}js.prototype.unsortedForEach=function(C,D){this._array.forEach(C,D)},js.prototype.add=function(C){var D,$,o1,j1,v1,ex;D=this._last,$=C,o1=D.generatedLine,j1=$.generatedLine,v1=D.generatedColumn,ex=$.generatedColumn,j1>o1||j1==o1&&ex>=v1||fi.compareByGeneratedPositionsInflated(D,$)<=0?(this._last=C,this._array.push(C)):(this._sorted=!1,this._array.push(C))},js.prototype.toArray=function(){return this._sorted||(this._array.sort(fi.compareByGeneratedPositionsInflated),this._sorted=!0),this._array};var Yu=ru.ArraySet,wc=js;function au(C){C||(C={}),this._file=fi.getArg(C,\"file\",null),this._sourceRoot=fi.getArg(C,\"sourceRoot\",null),this._skipValidation=fi.getArg(C,\"skipValidation\",!1),this._sources=new Yu,this._names=new Yu,this._mappings=new wc,this._sourcesContents=null}au.prototype._version=3,au.fromSourceMap=function(C){var D=C.sourceRoot,$=new au({file:C.file,sourceRoot:D});return C.eachMapping(function(o1){var j1={generated:{line:o1.generatedLine,column:o1.generatedColumn}};o1.source!=null&&(j1.source=o1.source,D!=null&&(j1.source=fi.relative(D,j1.source)),j1.original={line:o1.originalLine,column:o1.originalColumn},o1.name!=null&&(j1.name=o1.name)),$.addMapping(j1)}),C.sources.forEach(function(o1){var j1=o1;D!==null&&(j1=fi.relative(D,o1)),$._sources.has(j1)||$._sources.add(j1);var v1=C.sourceContentFor(o1);v1!=null&&$.setSourceContent(o1,v1)}),$},au.prototype.addMapping=function(C){var D=fi.getArg(C,\"generated\"),$=fi.getArg(C,\"original\",null),o1=fi.getArg(C,\"source\",null),j1=fi.getArg(C,\"name\",null);this._skipValidation||this._validateMapping(D,$,o1,j1),o1!=null&&(o1=String(o1),this._sources.has(o1)||this._sources.add(o1)),j1!=null&&(j1=String(j1),this._names.has(j1)||this._names.add(j1)),this._mappings.add({generatedLine:D.line,generatedColumn:D.column,originalLine:$!=null&&$.line,originalColumn:$!=null&&$.column,source:o1,name:j1})},au.prototype.setSourceContent=function(C,D){var $=C;this._sourceRoot!=null&&($=fi.relative(this._sourceRoot,$)),D!=null?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[fi.toSetString($)]=D):this._sourcesContents&&(delete this._sourcesContents[fi.toSetString($)],Object.keys(this._sourcesContents).length===0&&(this._sourcesContents=null))},au.prototype.applySourceMap=function(C,D,$){var o1=D;if(D==null){if(C.file==null)throw new Error(`SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map's \"file\" property. Both were omitted.`);o1=C.file}var j1=this._sourceRoot;j1!=null&&(o1=fi.relative(j1,o1));var v1=new Yu,ex=new Yu;this._mappings.unsortedForEach(function(_0){if(_0.source===o1&&_0.originalLine!=null){var Ne=C.originalPositionFor({line:_0.originalLine,column:_0.originalColumn});Ne.source!=null&&(_0.source=Ne.source,$!=null&&(_0.source=fi.join($,_0.source)),j1!=null&&(_0.source=fi.relative(j1,_0.source)),_0.originalLine=Ne.line,_0.originalColumn=Ne.column,Ne.name!=null&&(_0.name=Ne.name))}var e=_0.source;e==null||v1.has(e)||v1.add(e);var s=_0.name;s==null||ex.has(s)||ex.add(s)},this),this._sources=v1,this._names=ex,C.sources.forEach(function(_0){var Ne=C.sourceContentFor(_0);Ne!=null&&($!=null&&(_0=fi.join($,_0)),j1!=null&&(_0=fi.relative(j1,_0)),this.setSourceContent(_0,Ne))},this)},au.prototype._validateMapping=function(C,D,$,o1){if(D&&typeof D.line!=\"number\"&&typeof D.column!=\"number\")throw new Error(\"original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.\");if((!(C&&\"line\"in C&&\"column\"in C&&C.line>0&&C.column>=0)||D||$||o1)&&!(C&&\"line\"in C&&\"column\"in C&&D&&\"line\"in D&&\"column\"in D&&C.line>0&&C.column>=0&&D.line>0&&D.column>=0&&$))throw new Error(\"Invalid mapping: \"+JSON.stringify({generated:C,source:$,original:D,name:o1}))},au.prototype._serializeMappings=function(){for(var C,D,$,o1,j1=0,v1=1,ex=0,_0=0,Ne=0,e=0,s=\"\",X=this._mappings.toArray(),J=0,m0=X.length;J<m0;J++){if(C=\"\",(D=X[J]).generatedLine!==v1)for(j1=0;D.generatedLine!==v1;)C+=\";\",v1++;else if(J>0){if(!fi.compareByGeneratedPositionsInflated(D,X[J-1]))continue;C+=\",\"}C+=Hr(D.generatedColumn-j1),j1=D.generatedColumn,D.source!=null&&(o1=this._sources.indexOf(D.source),C+=Hr(o1-e),e=o1,C+=Hr(D.originalLine-1-_0),_0=D.originalLine-1,C+=Hr(D.originalColumn-ex),ex=D.originalColumn,D.name!=null&&($=this._names.indexOf(D.name),C+=Hr($-Ne),Ne=$)),s+=C}return s},au.prototype._generateSourcesContent=function(C,D){return C.map(function($){if(!this._sourcesContents)return null;D!=null&&($=fi.relative(D,$));var o1=fi.toSetString($);return Object.prototype.hasOwnProperty.call(this._sourcesContents,o1)?this._sourcesContents[o1]:null},this)},au.prototype.toJSON=function(){var C={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return this._file!=null&&(C.file=this._file),this._sourceRoot!=null&&(C.sourceRoot=this._sourceRoot),this._sourcesContents&&(C.sourcesContent=this._generateSourcesContent(C.sources,C.sourceRoot)),C},au.prototype.toString=function(){return JSON.stringify(this.toJSON())};var nu={SourceMapGenerator:au},kc=W0(function(C,D){function $(o1,j1,v1,ex,_0,Ne){var e=Math.floor((j1-o1)/2)+o1,s=_0(v1,ex[e],!0);return s===0?e:s>0?j1-e>1?$(e,j1,v1,ex,_0,Ne):Ne==D.LEAST_UPPER_BOUND?j1<ex.length?j1:-1:e:e-o1>1?$(o1,e,v1,ex,_0,Ne):Ne==D.LEAST_UPPER_BOUND?e:o1<0?-1:o1}D.GREATEST_LOWER_BOUND=1,D.LEAST_UPPER_BOUND=2,D.search=function(o1,j1,v1,ex){if(j1.length===0)return-1;var _0=$(-1,j1.length,o1,j1,v1,ex||D.GREATEST_LOWER_BOUND);if(_0<0)return-1;for(;_0-1>=0&&v1(j1[_0],j1[_0-1],!0)===0;)--_0;return _0}});function hc(C,D,$){var o1=C[D];C[D]=C[$],C[$]=o1}function k2(C,D,$,o1){if($<o1){var j1=$-1;hc(C,(Ne=$,e=o1,Math.round(Ne+Math.random()*(e-Ne))),o1);for(var v1=C[o1],ex=$;ex<o1;ex++)D(C[ex],v1)<=0&&hc(C,j1+=1,ex);hc(C,j1+1,ex);var _0=j1+1;k2(C,D,$,_0-1),k2(C,D,_0+1,o1)}var Ne,e}var KD=ru.ArraySet,oS=function(C,D){k2(C,D,0,C.length-1)};function Iu(C,D){var $=C;return typeof C==\"string\"&&($=fi.parseSourceMapInput(C)),$.sections!=null?new Xp($,D):new Nc($,D)}Iu.fromSourceMap=function(C,D){return Nc.fromSourceMap(C,D)},Iu.prototype._version=3,Iu.prototype.__generatedMappings=null,Object.defineProperty(Iu.prototype,\"_generatedMappings\",{configurable:!0,enumerable:!0,get:function(){return this.__generatedMappings||this._parseMappings(this._mappings,this.sourceRoot),this.__generatedMappings}}),Iu.prototype.__originalMappings=null,Object.defineProperty(Iu.prototype,\"_originalMappings\",{configurable:!0,enumerable:!0,get:function(){return this.__originalMappings||this._parseMappings(this._mappings,this.sourceRoot),this.__originalMappings}}),Iu.prototype._charIsMappingSeparator=function(C,D){var $=C.charAt(D);return $===\";\"||$===\",\"},Iu.prototype._parseMappings=function(C,D){throw new Error(\"Subclasses must implement _parseMappings\")},Iu.GENERATED_ORDER=1,Iu.ORIGINAL_ORDER=2,Iu.GREATEST_LOWER_BOUND=1,Iu.LEAST_UPPER_BOUND=2,Iu.prototype.eachMapping=function(C,D,$){var o1,j1=D||null;switch($||Iu.GENERATED_ORDER){case Iu.GENERATED_ORDER:o1=this._generatedMappings;break;case Iu.ORIGINAL_ORDER:o1=this._originalMappings;break;default:throw new Error(\"Unknown order of iteration.\")}var v1=this.sourceRoot;o1.map(function(ex){var _0=ex.source===null?null:this._sources.at(ex.source);return{source:_0=fi.computeSourceURL(v1,_0,this._sourceMapURL),generatedLine:ex.generatedLine,generatedColumn:ex.generatedColumn,originalLine:ex.originalLine,originalColumn:ex.originalColumn,name:ex.name===null?null:this._names.at(ex.name)}},this).forEach(C,j1)},Iu.prototype.allGeneratedPositionsFor=function(C){var D=fi.getArg(C,\"line\"),$={source:fi.getArg(C,\"source\"),originalLine:D,originalColumn:fi.getArg(C,\"column\",0)};if($.source=this._findSourceIndex($.source),$.source<0)return[];var o1=[],j1=this._findMapping($,this._originalMappings,\"originalLine\",\"originalColumn\",fi.compareByOriginalPositions,kc.LEAST_UPPER_BOUND);if(j1>=0){var v1=this._originalMappings[j1];if(C.column===void 0)for(var ex=v1.originalLine;v1&&v1.originalLine===ex;)o1.push({line:fi.getArg(v1,\"generatedLine\",null),column:fi.getArg(v1,\"generatedColumn\",null),lastColumn:fi.getArg(v1,\"lastGeneratedColumn\",null)}),v1=this._originalMappings[++j1];else for(var _0=v1.originalColumn;v1&&v1.originalLine===D&&v1.originalColumn==_0;)o1.push({line:fi.getArg(v1,\"generatedLine\",null),column:fi.getArg(v1,\"generatedColumn\",null),lastColumn:fi.getArg(v1,\"lastGeneratedColumn\",null)}),v1=this._originalMappings[++j1]}return o1};var J2=Iu;function Nc(C,D){var $=C;typeof C==\"string\"&&($=fi.parseSourceMapInput(C));var o1=fi.getArg($,\"version\"),j1=fi.getArg($,\"sources\"),v1=fi.getArg($,\"names\",[]),ex=fi.getArg($,\"sourceRoot\",null),_0=fi.getArg($,\"sourcesContent\",null),Ne=fi.getArg($,\"mappings\"),e=fi.getArg($,\"file\",null);if(o1!=this._version)throw new Error(\"Unsupported version: \"+o1);ex&&(ex=fi.normalize(ex)),j1=j1.map(String).map(fi.normalize).map(function(s){return ex&&fi.isAbsolute(ex)&&fi.isAbsolute(s)?fi.relative(ex,s):s}),this._names=KD.fromArray(v1.map(String),!0),this._sources=KD.fromArray(j1,!0),this._absoluteSources=this._sources.toArray().map(function(s){return fi.computeSourceURL(ex,s,D)}),this.sourceRoot=ex,this.sourcesContent=_0,this._mappings=Ne,this._sourceMapURL=D,this.file=e}function Yd(){this.generatedLine=0,this.generatedColumn=0,this.source=null,this.originalLine=null,this.originalColumn=null,this.name=null}Nc.prototype=Object.create(Iu.prototype),Nc.prototype.consumer=Iu,Nc.prototype._findSourceIndex=function(C){var D,$=C;if(this.sourceRoot!=null&&($=fi.relative(this.sourceRoot,$)),this._sources.has($))return this._sources.indexOf($);for(D=0;D<this._absoluteSources.length;++D)if(this._absoluteSources[D]==C)return D;return-1},Nc.fromSourceMap=function(C,D){var $=Object.create(Nc.prototype),o1=$._names=KD.fromArray(C._names.toArray(),!0),j1=$._sources=KD.fromArray(C._sources.toArray(),!0);$.sourceRoot=C._sourceRoot,$.sourcesContent=C._generateSourcesContent($._sources.toArray(),$.sourceRoot),$.file=C._file,$._sourceMapURL=D,$._absoluteSources=$._sources.toArray().map(function(J){return fi.computeSourceURL($.sourceRoot,J,D)});for(var v1=C._mappings.toArray().slice(),ex=$.__generatedMappings=[],_0=$.__originalMappings=[],Ne=0,e=v1.length;Ne<e;Ne++){var s=v1[Ne],X=new Yd;X.generatedLine=s.generatedLine,X.generatedColumn=s.generatedColumn,s.source&&(X.source=j1.indexOf(s.source),X.originalLine=s.originalLine,X.originalColumn=s.originalColumn,s.name&&(X.name=o1.indexOf(s.name)),_0.push(X)),ex.push(X)}return oS($.__originalMappings,fi.compareByOriginalPositions),$},Nc.prototype._version=3,Object.defineProperty(Nc.prototype,\"sources\",{get:function(){return this._absoluteSources.slice()}}),Nc.prototype._parseMappings=function(C,D){for(var $,o1,j1,v1,ex,_0=1,Ne=0,e=0,s=0,X=0,J=0,m0=C.length,s1=0,i0={},H0={},E0=[],I=[];s1<m0;)if(C.charAt(s1)===\";\")_0++,s1++,Ne=0;else if(C.charAt(s1)===\",\")s1++;else{for(($=new Yd).generatedLine=_0,v1=s1;v1<m0&&!this._charIsMappingSeparator(C,v1);v1++);if(j1=i0[o1=C.slice(s1,v1)])s1+=o1.length;else{for(j1=[];s1<v1;)uo(C,s1,H0),ex=H0.value,s1=H0.rest,j1.push(ex);if(j1.length===2)throw new Error(\"Found a source, but no line and column\");if(j1.length===3)throw new Error(\"Found a source and line, but no column\");i0[o1]=j1}$.generatedColumn=Ne+j1[0],Ne=$.generatedColumn,j1.length>1&&($.source=X+j1[1],X+=j1[1],$.originalLine=e+j1[2],e=$.originalLine,$.originalLine+=1,$.originalColumn=s+j1[3],s=$.originalColumn,j1.length>4&&($.name=J+j1[4],J+=j1[4])),I.push($),typeof $.originalLine==\"number\"&&E0.push($)}oS(I,fi.compareByGeneratedPositionsDeflated),this.__generatedMappings=I,oS(E0,fi.compareByOriginalPositions),this.__originalMappings=E0},Nc.prototype._findMapping=function(C,D,$,o1,j1,v1){if(C[$]<=0)throw new TypeError(\"Line must be greater than or equal to 1, got \"+C[$]);if(C[o1]<0)throw new TypeError(\"Column must be greater than or equal to 0, got \"+C[o1]);return kc.search(C,D,j1,v1)},Nc.prototype.computeColumnSpans=function(){for(var C=0;C<this._generatedMappings.length;++C){var D=this._generatedMappings[C];if(C+1<this._generatedMappings.length){var $=this._generatedMappings[C+1];if(D.generatedLine===$.generatedLine){D.lastGeneratedColumn=$.generatedColumn-1;continue}}D.lastGeneratedColumn=1/0}},Nc.prototype.originalPositionFor=function(C){var D={generatedLine:fi.getArg(C,\"line\"),generatedColumn:fi.getArg(C,\"column\")},$=this._findMapping(D,this._generatedMappings,\"generatedLine\",\"generatedColumn\",fi.compareByGeneratedPositionsDeflated,fi.getArg(C,\"bias\",Iu.GREATEST_LOWER_BOUND));if($>=0){var o1=this._generatedMappings[$];if(o1.generatedLine===D.generatedLine){var j1=fi.getArg(o1,\"source\",null);j1!==null&&(j1=this._sources.at(j1),j1=fi.computeSourceURL(this.sourceRoot,j1,this._sourceMapURL));var v1=fi.getArg(o1,\"name\",null);return v1!==null&&(v1=this._names.at(v1)),{source:j1,line:fi.getArg(o1,\"originalLine\",null),column:fi.getArg(o1,\"originalColumn\",null),name:v1}}}return{source:null,line:null,column:null,name:null}},Nc.prototype.hasContentsOfAllSources=function(){return!!this.sourcesContent&&this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some(function(C){return C==null})},Nc.prototype.sourceContentFor=function(C,D){if(!this.sourcesContent)return null;var $=this._findSourceIndex(C);if($>=0)return this.sourcesContent[$];var o1,j1=C;if(this.sourceRoot!=null&&(j1=fi.relative(this.sourceRoot,j1)),this.sourceRoot!=null&&(o1=fi.urlParse(this.sourceRoot))){var v1=j1.replace(/^file:\\/\\//,\"\");if(o1.scheme==\"file\"&&this._sources.has(v1))return this.sourcesContent[this._sources.indexOf(v1)];if((!o1.path||o1.path==\"/\")&&this._sources.has(\"/\"+j1))return this.sourcesContent[this._sources.indexOf(\"/\"+j1)]}if(D)return null;throw new Error('\"'+j1+'\" is not in the SourceMap.')},Nc.prototype.generatedPositionFor=function(C){var D=fi.getArg(C,\"source\");if((D=this._findSourceIndex(D))<0)return{line:null,column:null,lastColumn:null};var $={source:D,originalLine:fi.getArg(C,\"line\"),originalColumn:fi.getArg(C,\"column\")},o1=this._findMapping($,this._originalMappings,\"originalLine\",\"originalColumn\",fi.compareByOriginalPositions,fi.getArg(C,\"bias\",Iu.GREATEST_LOWER_BOUND));if(o1>=0){var j1=this._originalMappings[o1];if(j1.source===$.source)return{line:fi.getArg(j1,\"generatedLine\",null),column:fi.getArg(j1,\"generatedColumn\",null),lastColumn:fi.getArg(j1,\"lastGeneratedColumn\",null)}}return{line:null,column:null,lastColumn:null}};var H2=Nc;function Xp(C,D){var $=C;typeof C==\"string\"&&($=fi.parseSourceMapInput(C));var o1=fi.getArg($,\"version\"),j1=fi.getArg($,\"sections\");if(o1!=this._version)throw new Error(\"Unsupported version: \"+o1);this._sources=new KD,this._names=new KD;var v1={line:-1,column:0};this._sections=j1.map(function(ex){if(ex.url)throw new Error(\"Support for url field in sections not implemented.\");var _0=fi.getArg(ex,\"offset\"),Ne=fi.getArg(_0,\"line\"),e=fi.getArg(_0,\"column\");if(Ne<v1.line||Ne===v1.line&&e<v1.column)throw new Error(\"Section offsets must be ordered and non-overlapping.\");return v1=_0,{generatedOffset:{generatedLine:Ne+1,generatedColumn:e+1},consumer:new Iu(fi.getArg(ex,\"map\"),D)}})}Xp.prototype=Object.create(Iu.prototype),Xp.prototype.constructor=Iu,Xp.prototype._version=3,Object.defineProperty(Xp.prototype,\"sources\",{get:function(){for(var C=[],D=0;D<this._sections.length;D++)for(var $=0;$<this._sections[D].consumer.sources.length;$++)C.push(this._sections[D].consumer.sources[$]);return C}}),Xp.prototype.originalPositionFor=function(C){var D={generatedLine:fi.getArg(C,\"line\"),generatedColumn:fi.getArg(C,\"column\")},$=kc.search(D,this._sections,function(j1,v1){var ex=j1.generatedLine-v1.generatedOffset.generatedLine;return ex||j1.generatedColumn-v1.generatedOffset.generatedColumn}),o1=this._sections[$];return o1?o1.consumer.originalPositionFor({line:D.generatedLine-(o1.generatedOffset.generatedLine-1),column:D.generatedColumn-(o1.generatedOffset.generatedLine===D.generatedLine?o1.generatedOffset.generatedColumn-1:0),bias:C.bias}):{source:null,line:null,column:null,name:null}},Xp.prototype.hasContentsOfAllSources=function(){return this._sections.every(function(C){return C.consumer.hasContentsOfAllSources()})},Xp.prototype.sourceContentFor=function(C,D){for(var $=0;$<this._sections.length;$++){var o1=this._sections[$].consumer.sourceContentFor(C,!0);if(o1)return o1}if(D)return null;throw new Error('\"'+C+'\" is not in the SourceMap.')},Xp.prototype.generatedPositionFor=function(C){for(var D=0;D<this._sections.length;D++){var $=this._sections[D];if($.consumer._findSourceIndex(fi.getArg(C,\"source\"))!==-1){var o1=$.consumer.generatedPositionFor(C);if(o1)return{line:o1.line+($.generatedOffset.generatedLine-1),column:o1.column+($.generatedOffset.generatedLine===o1.line?$.generatedOffset.generatedColumn-1:0)}}}return{line:null,column:null}},Xp.prototype._parseMappings=function(C,D){this.__generatedMappings=[],this.__originalMappings=[];for(var $=0;$<this._sections.length;$++)for(var o1=this._sections[$],j1=o1.consumer._generatedMappings,v1=0;v1<j1.length;v1++){var ex=j1[v1],_0=o1.consumer._sources.at(ex.source);_0=fi.computeSourceURL(o1.consumer.sourceRoot,_0,this._sourceMapURL),this._sources.add(_0),_0=this._sources.indexOf(_0);var Ne=null;ex.name&&(Ne=o1.consumer._names.at(ex.name),this._names.add(Ne),Ne=this._names.indexOf(Ne));var e={source:_0,generatedLine:ex.generatedLine+(o1.generatedOffset.generatedLine-1),generatedColumn:ex.generatedColumn+(o1.generatedOffset.generatedLine===ex.generatedLine?o1.generatedOffset.generatedColumn-1:0),originalLine:ex.originalLine,originalColumn:ex.originalColumn,name:Ne};this.__generatedMappings.push(e),typeof e.originalLine==\"number\"&&this.__originalMappings.push(e)}oS(this.__generatedMappings,fi.compareByGeneratedPositionsDeflated),oS(this.__originalMappings,fi.compareByOriginalPositions)};var wS={SourceMapConsumer:J2,BasicSourceMapConsumer:H2,IndexedSourceMapConsumer:Xp},Yp=nu.SourceMapGenerator,Vm=/(\\r?\\n)/,So=\"$$$isSourceNode$$$\";function cT(C,D,$,o1,j1){this.children=[],this.sourceContents={},this.line=C==null?null:C,this.column=D==null?null:D,this.source=$==null?null:$,this.name=j1==null?null:j1,this[So]=!0,o1!=null&&this.add(o1)}cT.fromStringWithSourceMap=function(C,D,$){var o1=new cT,j1=C.split(Vm),v1=0,ex=function(){return X()+(X()||\"\");function X(){return v1<j1.length?j1[v1++]:void 0}},_0=1,Ne=0,e=null;return D.eachMapping(function(X){if(e!==null){if(!(_0<X.generatedLine)){var J=(m0=j1[v1]||\"\").substr(0,X.generatedColumn-Ne);return j1[v1]=m0.substr(X.generatedColumn-Ne),Ne=X.generatedColumn,s(e,J),void(e=X)}s(e,ex()),_0++,Ne=0}for(;_0<X.generatedLine;)o1.add(ex()),_0++;if(Ne<X.generatedColumn){var m0=j1[v1]||\"\";o1.add(m0.substr(0,X.generatedColumn)),j1[v1]=m0.substr(X.generatedColumn),Ne=X.generatedColumn}e=X},this),v1<j1.length&&(e&&s(e,ex()),o1.add(j1.splice(v1).join(\"\"))),D.sources.forEach(function(X){var J=D.sourceContentFor(X);J!=null&&($!=null&&(X=fi.join($,X)),o1.setSourceContent(X,J))}),o1;function s(X,J){if(X===null||X.source===void 0)o1.add(J);else{var m0=$?fi.join($,X.source):X.source;o1.add(new cT(X.originalLine,X.originalColumn,m0,J,X.name))}}},cT.prototype.add=function(C){if(Array.isArray(C))C.forEach(function(D){this.add(D)},this);else{if(!C[So]&&typeof C!=\"string\")throw new TypeError(\"Expected a SourceNode, string, or an array of SourceNodes and strings. Got \"+C);C&&this.children.push(C)}return this},cT.prototype.prepend=function(C){if(Array.isArray(C))for(var D=C.length-1;D>=0;D--)this.prepend(C[D]);else{if(!C[So]&&typeof C!=\"string\")throw new TypeError(\"Expected a SourceNode, string, or an array of SourceNodes and strings. Got \"+C);this.children.unshift(C)}return this},cT.prototype.walk=function(C){for(var D,$=0,o1=this.children.length;$<o1;$++)(D=this.children[$])[So]?D.walk(C):D!==\"\"&&C(D,{source:this.source,line:this.line,column:this.column,name:this.name})},cT.prototype.join=function(C){var D,$,o1=this.children.length;if(o1>0){for(D=[],$=0;$<o1-1;$++)D.push(this.children[$]),D.push(C);D.push(this.children[$]),this.children=D}return this},cT.prototype.replaceRight=function(C,D){var $=this.children[this.children.length-1];return $[So]?$.replaceRight(C,D):typeof $==\"string\"?this.children[this.children.length-1]=$.replace(C,D):this.children.push(\"\".replace(C,D)),this},cT.prototype.setSourceContent=function(C,D){this.sourceContents[fi.toSetString(C)]=D},cT.prototype.walkSourceContents=function(C){for(var D=0,$=this.children.length;D<$;D++)this.children[D][So]&&this.children[D].walkSourceContents(C);var o1=Object.keys(this.sourceContents);for(D=0,$=o1.length;D<$;D++)C(fi.fromSetString(o1[D]),this.sourceContents[o1[D]])},cT.prototype.toString=function(){var C=\"\";return this.walk(function(D){C+=D}),C},cT.prototype.toStringWithSourceMap=function(C){var D={code:\"\",line:1,column:0},$=new Yp(C),o1=!1,j1=null,v1=null,ex=null,_0=null;return this.walk(function(Ne,e){D.code+=Ne,e.source!==null&&e.line!==null&&e.column!==null?(j1===e.source&&v1===e.line&&ex===e.column&&_0===e.name||$.addMapping({source:e.source,original:{line:e.line,column:e.column},generated:{line:D.line,column:D.column},name:e.name}),j1=e.source,v1=e.line,ex=e.column,_0=e.name,o1=!0):o1&&($.addMapping({generated:{line:D.line,column:D.column}}),j1=null,o1=!1);for(var s=0,X=Ne.length;s<X;s++)Ne.charCodeAt(s)===10?(D.line++,D.column=0,s+1===X?(j1=null,o1=!1):o1&&$.addMapping({source:e.source,original:{line:e.line,column:e.column},generated:{line:D.line,column:D.column},name:e.name})):D.column++}),this.walkSourceContents(function(Ne,e){$.setSourceContent(Ne,e)}),{code:D.code,map:$}};var Dh={SourceMapGenerator:nu.SourceMapGenerator,SourceMapConsumer:wS.SourceMapConsumer,SourceNode:cT},D2=Object.prototype.toString,Bd=typeof bi.alloc==\"function\"&&typeof bi.allocUnsafe==\"function\"&&typeof bi.from==\"function\",pf=function(C,D,$){if(typeof C==\"number\")throw new TypeError('\"value\" argument must not be a number');return o1=C,D2.call(o1).slice(8,-1)===\"ArrayBuffer\"?function(j1,v1,ex){v1>>>=0;var _0=j1.byteLength-v1;if(_0<0)throw new RangeError(\"'offset' is out of bounds\");if(ex===void 0)ex=_0;else if((ex>>>=0)>_0)throw new RangeError(\"'length' is out of bounds\");return Bd?bi.from(j1.slice(v1,v1+ex)):new bi(new Uint8Array(j1.slice(v1,v1+ex)))}(C,D,$):typeof C==\"string\"?function(j1,v1){if(typeof v1==\"string\"&&v1!==\"\"||(v1=\"utf8\"),!bi.isEncoding(v1))throw new TypeError('\"encoding\" must be a valid string encoding');return Bd?bi.from(j1,v1):new bi(j1,v1)}(C,D):Bd?bi.from(C):new bi(C);var o1},ld=D1(ir),Uc=D1(hn),lP=W0(function(C,D){var $,o1=Dh.SourceMapConsumer,j1=ld;try{($=Uc).existsSync&&$.readFileSync||($=null)}catch{}function v1(c0,D0){return c0.require(D0)}var ex=!1,_0=!1,Ne=!1,e=\"auto\",s={},X={},J=/^data:application\\/json[^,]+base64,/,m0=[],s1=[];function i0(){return e===\"browser\"||e!==\"node\"&&typeof window!=\"undefined\"&&typeof XMLHttpRequest==\"function\"&&!(window.require&&window.module&&window.process&&window.process.type===\"renderer\")}function H0(c0){return function(D0){for(var x0=0;x0<c0.length;x0++){var l0=c0[x0](D0);if(l0)return l0}return null}}var E0=H0(m0);function I(c0,D0){if(!c0)return D0;var x0=j1.dirname(c0),l0=/^\\w+:\\/\\/[^\\/]*/.exec(x0),w0=l0?l0[0]:\"\",V=x0.slice(w0.length);return w0&&/^\\/\\w\\:/.test(V)?(w0+=\"/\")+j1.resolve(x0.slice(w0.length),D0).replace(/\\\\/g,\"/\"):w0+j1.resolve(x0.slice(w0.length),D0)}m0.push(function(c0){if(c0=c0.trim(),/^file:/.test(c0)&&(c0=c0.replace(/file:\\/\\/\\/(\\w:)?/,function(l0,w0){return w0?\"\":\"/\"})),c0 in s)return s[c0];var D0=\"\";try{if($)$.existsSync(c0)&&(D0=$.readFileSync(c0,\"utf8\"));else{var x0=new XMLHttpRequest;x0.open(\"GET\",c0,!1),x0.send(null),x0.readyState===4&&x0.status===200&&(D0=x0.responseText)}}catch{}return s[c0]=D0});var A=H0(s1);function Z(c0){var D0=X[c0.source];if(!D0){var x0=A(c0.source);x0?(D0=X[c0.source]={url:x0.url,map:new o1(x0.map)}).map.sourcesContent&&D0.map.sources.forEach(function(w0,V){var w=D0.map.sourcesContent[V];if(w){var H=I(D0.url,w0);s[H]=w}}):D0=X[c0.source]={url:null,map:null}}if(D0&&D0.map&&typeof D0.map.originalPositionFor==\"function\"){var l0=D0.map.originalPositionFor(c0);if(l0.source!==null)return l0.source=I(D0.url,l0.source),l0}return c0}function A0(c0){var D0=/^eval at ([^(]+) \\((.+):(\\d+):(\\d+)\\)$/.exec(c0);if(D0){var x0=Z({source:D0[2],line:+D0[3],column:D0[4]-1});return\"eval at \"+D0[1]+\" (\"+x0.source+\":\"+x0.line+\":\"+(x0.column+1)+\")\"}return(D0=/^eval at ([^(]+) \\((.+)\\)$/.exec(c0))?\"eval at \"+D0[1]+\" (\"+A0(D0[2])+\")\":c0}function o0(){var c0,D0=\"\";if(this.isNative())D0=\"native\";else{!(c0=this.getScriptNameOrSourceURL())&&this.isEval()&&(D0=this.getEvalOrigin(),D0+=\", \"),D0+=c0||\"<anonymous>\";var x0=this.getLineNumber();if(x0!=null){D0+=\":\"+x0;var l0=this.getColumnNumber();l0&&(D0+=\":\"+l0)}}var w0=\"\",V=this.getFunctionName(),w=!0,H=this.isConstructor();if(this.isToplevel()||H)H?w0+=\"new \"+(V||\"<anonymous>\"):V?w0+=V:(w0+=D0,w=!1);else{var k0=this.getTypeName();k0===\"[object Object]\"&&(k0=\"null\");var V0=this.getMethodName();V?(k0&&V.indexOf(k0)!=0&&(w0+=k0+\".\"),w0+=V,V0&&V.indexOf(\".\"+V0)!=V.length-V0.length-1&&(w0+=\" [as \"+V0+\"]\")):w0+=k0+\".\"+(V0||\"<anonymous>\")}return w&&(w0+=\" (\"+D0+\")\"),w0}function j(c0){var D0={};return Object.getOwnPropertyNames(Object.getPrototypeOf(c0)).forEach(function(x0){D0[x0]=/^(?:is|get)/.test(x0)?function(){return c0[x0].call(c0)}:c0[x0]}),D0.toString=o0,D0}function G(c0,D0){if(D0===void 0&&(D0={nextPosition:null,curPosition:null}),c0.isNative())return D0.curPosition=null,c0;var x0=c0.getFileName()||c0.getScriptNameOrSourceURL();if(x0){var l0=c0.getLineNumber(),w0=c0.getColumnNumber()-1,V=/^v(10\\.1[6-9]|10\\.[2-9][0-9]|10\\.[0-9]{3,}|1[2-9]\\d*|[2-9]\\d|\\d{3,}|11\\.11)/.test(Lu.version)?0:62;l0===1&&w0>V&&!i0()&&!c0.isEval()&&(w0-=V);var w=Z({source:x0,line:l0,column:w0});D0.curPosition=w;var H=(c0=j(c0)).getFunctionName;return c0.getFunctionName=function(){return D0.nextPosition==null?H():D0.nextPosition.name||H()},c0.getFileName=function(){return w.source},c0.getLineNumber=function(){return w.line},c0.getColumnNumber=function(){return w.column+1},c0.getScriptNameOrSourceURL=function(){return w.source},c0}var k0=c0.isEval()&&c0.getEvalOrigin();return k0&&(k0=A0(k0),(c0=j(c0)).getEvalOrigin=function(){return k0}),c0}function u0(c0,D0){Ne&&(s={},X={});for(var x0=(c0.name||\"Error\")+\": \"+(c0.message||\"\"),l0={nextPosition:null,curPosition:null},w0=[],V=D0.length-1;V>=0;V--)w0.push(`\n    at `+G(D0[V],l0)),l0.nextPosition=l0.curPosition;return l0.curPosition=l0.nextPosition=null,x0+w0.reverse().join(\"\")}function U(c0){var D0=/\\n    at [^(]+ \\((.*):(\\d+):(\\d+)\\)/.exec(c0.stack);if(D0){var x0=D0[1],l0=+D0[2],w0=+D0[3],V=s[x0];if(!V&&$&&$.existsSync(x0))try{V=$.readFileSync(x0,\"utf8\")}catch{V=\"\"}if(V){var w=V.split(/(?:\\r\\n|\\r|\\n)/)[l0-1];if(w)return x0+\":\"+l0+`\n`+w+`\n`+new Array(w0).join(\" \")+\"^\"}}return null}function g0(c0){var D0=U(c0);Lu.stderr._handle&&Lu.stderr._handle.setBlocking&&Lu.stderr._handle.setBlocking(!0),D0&&(console.error(),console.error(D0)),console.error(c0.stack),Lu.exit(1)}s1.push(function(c0){var D0,x0=function(w0){var V;if(i0())try{var w=new XMLHttpRequest;w.open(\"GET\",w0,!1),w.send(null),V=w.readyState===4?w.responseText:null;var H=w.getResponseHeader(\"SourceMap\")||w.getResponseHeader(\"X-SourceMap\");if(H)return H}catch{}V=E0(w0);for(var k0,V0,t0=/(?:\\/\\/[@#][\\s]*sourceMappingURL=([^\\s'\"]+)[\\s]*$)|(?:\\/\\*[@#][\\s]*sourceMappingURL=([^\\s*'\"]+)[\\s]*(?:\\*\\/)[\\s]*$)/gm;V0=t0.exec(V);)k0=V0;return k0?k0[1]:null}(c0);if(!x0)return null;if(J.test(x0)){var l0=x0.slice(x0.indexOf(\",\")+1);D0=pf(l0,\"base64\").toString(),x0=c0}else x0=I(c0,x0),D0=E0(x0);return D0?{url:x0,map:D0}:null});var d0=m0.slice(0),P0=s1.slice(0);D.wrapCallSite=G,D.getErrorSource=U,D.mapSourcePosition=Z,D.retrieveSourceMap=A,D.install=function(c0){if((c0=c0||{}).environment&&(e=c0.environment,[\"node\",\"browser\",\"auto\"].indexOf(e)===-1))throw new Error(\"environment \"+e+\" was unknown. Available options are {auto, browser, node}\");if(c0.retrieveFile&&(c0.overrideRetrieveFile&&(m0.length=0),m0.unshift(c0.retrieveFile)),c0.retrieveSourceMap&&(c0.overrideRetrieveSourceMap&&(s1.length=0),s1.unshift(c0.retrieveSourceMap)),c0.hookRequire&&!i0()){var D0=v1(C,\"module\"),x0=D0.prototype._compile;x0.__sourceMapSupport||(D0.prototype._compile=function(V,w){return s[w]=V,X[w]=void 0,x0.call(this,V,w)},D0.prototype._compile.__sourceMapSupport=!0)}if(Ne||(Ne=\"emptyCacheBetweenOperations\"in c0&&c0.emptyCacheBetweenOperations),ex||(ex=!0,Error.prepareStackTrace=u0),!_0){var l0=!(\"handleUncaughtExceptions\"in c0)||c0.handleUncaughtExceptions;try{v1(C,\"worker_threads\").isMainThread===!1&&(l0=!1)}catch{}l0&&typeof Lu==\"object\"&&Lu!==null&&typeof Lu.on==\"function\"&&(_0=!0,w0=Lu.emit,Lu.emit=function(V){if(V===\"uncaughtException\"){var w=arguments[1]&&arguments[1].stack,H=this.listeners(V).length>0;if(w&&!H)return g0(arguments[1])}return w0.apply(this,arguments)})}var w0},D.resetRetrieveHandlers=function(){m0.length=0,s1.length=0,m0=d0.slice(0),s1=P0.slice(0),A=H0(s1),E0=H0(m0)}}),Cw=D1(sn),Dd=D1(o2),de=W0(function(C){var D=a1&&a1.__spreadArray||function(e,s){for(var X=0,J=s.length,m0=e.length;X<J;X++,m0++)e[m0]=s[X];return e},$=a1&&a1.__assign||function(){return($=Object.assign||function(e){for(var s,X=1,J=arguments.length;X<J;X++)for(var m0 in s=arguments[X])Object.prototype.hasOwnProperty.call(s,m0)&&(e[m0]=s[m0]);return e}).apply(this,arguments)},o1=a1&&a1.__makeTemplateObject||function(e,s){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:s}):e.raw=s,e},j1=a1&&a1.__generator||function(e,s){var X,J,m0,s1,i0={label:0,sent:function(){if(1&m0[0])throw m0[1];return m0[1]},trys:[],ops:[]};return s1={next:H0(0),throw:H0(1),return:H0(2)},typeof Symbol==\"function\"&&(s1[Symbol.iterator]=function(){return this}),s1;function H0(E0){return function(I){return function(A){if(X)throw new TypeError(\"Generator is already executing.\");for(;i0;)try{if(X=1,J&&(m0=2&A[0]?J.return:A[0]?J.throw||((m0=J.return)&&m0.call(J),0):J.next)&&!(m0=m0.call(J,A[1])).done)return m0;switch(J=0,m0&&(A=[2&A[0],m0.value]),A[0]){case 0:case 1:m0=A;break;case 4:return i0.label++,{value:A[1],done:!1};case 5:i0.label++,J=A[1],A=[0];continue;case 7:A=i0.ops.pop(),i0.trys.pop();continue;default:if(m0=i0.trys,!((m0=m0.length>0&&m0[m0.length-1])||A[0]!==6&&A[0]!==2)){i0=0;continue}if(A[0]===3&&(!m0||A[1]>m0[0]&&A[1]<m0[3])){i0.label=A[1];break}if(A[0]===6&&i0.label<m0[1]){i0.label=m0[1],m0=A;break}if(m0&&i0.label<m0[2]){i0.label=m0[2],i0.ops.push(A);break}m0[2]&&i0.ops.pop(),i0.trys.pop();continue}A=s.call(e,i0)}catch(Z){A=[6,Z],J=0}finally{X=m0=0}if(5&A[0])throw A[1];return{value:A[0]?A[1]:void 0,done:!0}}([E0,I])}}},v1=a1&&a1.__rest||function(e,s){var X={};for(var J in e)Object.prototype.hasOwnProperty.call(e,J)&&s.indexOf(J)<0&&(X[J]=e[J]);if(e!=null&&typeof Object.getOwnPropertySymbols==\"function\"){var m0=0;for(J=Object.getOwnPropertySymbols(e);m0<J.length;m0++)s.indexOf(J[m0])<0&&Object.prototype.propertyIsEnumerable.call(e,J[m0])&&(X[J[m0]]=e[J[m0]])}return X},ex=a1&&a1.__extends||function(){var e=function(s,X){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(J,m0){J.__proto__=m0}||function(J,m0){for(var s1 in m0)Object.prototype.hasOwnProperty.call(m0,s1)&&(J[s1]=m0[s1])})(s,X)};return function(s,X){if(typeof X!=\"function\"&&X!==null)throw new TypeError(\"Class extends value \"+String(X)+\" is not a constructor or null\");function J(){this.constructor=s}e(s,X),s.prototype=X===null?Object.create(X):(J.prototype=X.prototype,new J)}}();(function(e){function s(){var j={};return j.prev=j,{head:j,tail:j,size:0}}function X(j,G){return j===G||j!=j&&G!=G}function J(j){var G=j.prev;if(!G||G===j)throw new Error(\"Illegal state\");return G}function m0(j){for(;j;){var G=!j.prev;if(j=j.next,!G)return j}}function s1(j,G){for(var u0=j.tail;u0!==j.head;u0=J(u0))if(X(u0.key,G))return u0}function i0(j,G,u0){var U=s1(j,G);if(!U){var g0=function(d0,P0){return{key:d0,value:P0,next:void 0,prev:void 0}}(G,u0);return g0.prev=j.tail,j.tail.next=g0,j.tail=g0,j.size++,g0}U.value=u0}function H0(j,G){for(var u0=j.tail;u0!==j.head;u0=J(u0)){if(u0.prev===void 0)throw new Error(\"Illegal state\");if(X(u0.key,G)){if(u0.next)u0.next.prev=u0.prev;else{if(j.tail!==u0)throw new Error(\"Illegal state\");j.tail=u0.prev}return u0.prev.next=u0.next,u0.next=u0.prev,u0.prev=void 0,j.size--,u0}}}function E0(j){for(var G=j.tail;G!==j.head;){var u0=J(G);G.next=j.head,G.prev=void 0,G=u0}j.head.next=void 0,j.tail=j.head,j.size=0}function I(j,G){for(var u0=j.head;u0;)(u0=m0(u0))&&G(u0.value,u0.key)}function A(j,G){if(j)for(var u0=j.next();!u0.done;u0=j.next())G(u0.value)}function Z(j,G){return{current:j.head,selector:G}}function A0(j){return j.current=m0(j.current),j.current?{value:j.selector(j.current.key,j.current.value),done:!1}:{value:void 0,done:!0}}var o0;(o0=e.ShimCollections||(e.ShimCollections={})).createMapShim=function(j){var G=function(){function u0(U,g0){this._data=Z(U,g0)}return u0.prototype.next=function(){return A0(this._data)},u0}();return function(){function u0(U){var g0=this;this._mapData=s(),A(j(U),function(d0){var P0=d0[0],c0=d0[1];return g0.set(P0,c0)})}return Object.defineProperty(u0.prototype,\"size\",{get:function(){return this._mapData.size},enumerable:!1,configurable:!0}),u0.prototype.get=function(U){var g0;return(g0=s1(this._mapData,U))===null||g0===void 0?void 0:g0.value},u0.prototype.set=function(U,g0){return i0(this._mapData,U,g0),this},u0.prototype.has=function(U){return!!s1(this._mapData,U)},u0.prototype.delete=function(U){return!!H0(this._mapData,U)},u0.prototype.clear=function(){E0(this._mapData)},u0.prototype.keys=function(){return new G(this._mapData,function(U,g0){return U})},u0.prototype.values=function(){return new G(this._mapData,function(U,g0){return g0})},u0.prototype.entries=function(){return new G(this._mapData,function(U,g0){return[U,g0]})},u0.prototype.forEach=function(U){I(this._mapData,U)},u0}()},o0.createSetShim=function(j){var G=function(){function u0(U,g0){this._data=Z(U,g0)}return u0.prototype.next=function(){return A0(this._data)},u0}();return function(){function u0(U){var g0=this;this._mapData=s(),A(j(U),function(d0){return g0.add(d0)})}return Object.defineProperty(u0.prototype,\"size\",{get:function(){return this._mapData.size},enumerable:!1,configurable:!0}),u0.prototype.add=function(U){return i0(this._mapData,U,U),this},u0.prototype.has=function(U){return!!s1(this._mapData,U)},u0.prototype.delete=function(U){return!!H0(this._mapData,U)},u0.prototype.clear=function(){E0(this._mapData)},u0.prototype.keys=function(){return new G(this._mapData,function(U,g0){return U})},u0.prototype.values=function(){return new G(this._mapData,function(U,g0){return g0})},u0.prototype.entries=function(){return new G(this._mapData,function(U,g0){return[U,g0]})},u0.prototype.forEach=function(U){I(this._mapData,U)},u0}()}})(_0||(_0={})),function(e){var s,X;e.versionMajorMinor=\"4.3\",e.version=\"4.3.4\",(s=e.Comparison||(e.Comparison={}))[s.LessThan=-1]=\"LessThan\",s[s.EqualTo=0]=\"EqualTo\",s[s.GreaterThan=1]=\"GreaterThan\",(X=e.NativeCollections||(e.NativeCollections={})).tryGetNativeMap=function(){return typeof Map!=\"undefined\"&&\"entries\"in Map.prototype&&new Map([[0,0]]).size===1?Map:void 0},X.tryGetNativeSet=function(){return typeof Set!=\"undefined\"&&\"entries\"in Set.prototype&&new Set([0]).size===1?Set:void 0}}(_0||(_0={})),function(e){function s(S0,I0,U0){var p0,p1=(p0=e.NativeCollections[I0]())!==null&&p0!==void 0?p0:e.ShimCollections===null||e.ShimCollections===void 0?void 0:e.ShimCollections[U0](X);if(p1)return p1;throw new Error(\"TypeScript requires an environment that provides a compatible native \"+S0+\" implementation.\")}function X(S0){if(S0){if(w(S0))return j(S0);if(S0 instanceof e.Map)return S0.entries();if(S0 instanceof e.Set)return S0.values();throw new Error(\"Iteration not supported.\")}}function J(S0,I0,U0){if(U0===void 0&&(U0=G0),S0){for(var p0=0,p1=S0;p0<p1.length;p0++)if(U0(p1[p0],I0))return!0}return!1}function m0(S0,I0){if(S0){if(!I0)return S0.length>0;for(var U0=0,p0=S0;U0<p0.length;U0++)if(I0(p0[U0]))return!0}return!1}function s1(S0,I0){return m0(I0)?m0(S0)?D(D([],S0),I0):I0:S0}function i0(S0,I0){return I0}function H0(S0){return S0.map(i0)}function E0(S0,I0){return I0===void 0?S0:S0===void 0?[I0]:(S0.push(I0),S0)}function I(S0,I0){return I0<0?S0.length+I0:I0}function A(S0,I0,U0,p0){if(I0===void 0||I0.length===0)return S0;if(S0===void 0)return I0.slice(U0,p0);U0=U0===void 0?0:I(I0,U0),p0=p0===void 0?I0.length:I(I0,p0);for(var p1=U0;p1<p0&&p1<I0.length;p1++)I0[p1]!==void 0&&S0.push(I0[p1]);return S0}function Z(S0,I0,U0){return!J(S0,I0,U0)&&(S0.push(I0),!0)}function A0(S0,I0,U0){I0.sort(function(p0,p1){return U0(S0[p0],S0[p1])||h1(p0,p1)})}function o0(S0,I0){return S0.length===0?S0:S0.slice().sort(I0)}function j(S0){var I0=0;return{next:function(){return I0===S0.length?{value:void 0,done:!0}:(I0++,{value:S0[I0-1],done:!1})}}}function G(S0,I0,U0,p0,p1){return u0(S0,U0(I0),U0,p0,p1)}function u0(S0,I0,U0,p0,p1){if(!m0(S0))return-1;for(var Y1=p1||0,N1=S0.length-1;Y1<=N1;){var V1=Y1+(N1-Y1>>1);switch(p0(U0(S0[V1],V1),I0)){case-1:Y1=V1+1;break;case 0:return V1;case 1:N1=V1-1}}return~Y1}function U(S0,I0,U0,p0,p1){if(S0&&S0.length>0){var Y1=S0.length;if(Y1>0){var N1=p0===void 0||p0<0?0:p0,V1=p1===void 0||N1+p1>Y1-1?Y1-1:N1+p1,Ox=void 0;for(arguments.length<=2?(Ox=S0[N1],N1++):Ox=U0;N1<=V1;)Ox=I0(Ox,S0[N1],N1),N1++;return Ox}}return U0}e.Map=s(\"Map\",\"tryGetNativeMap\",\"createMapShim\"),e.Set=s(\"Set\",\"tryGetNativeSet\",\"createSetShim\"),e.getIterator=X,e.emptyArray=[],e.emptyMap=new e.Map,e.emptySet=new e.Set,e.createMap=function(){return new e.Map},e.createMapFromTemplate=function(S0){var I0=new e.Map;for(var U0 in S0)g0.call(S0,U0)&&I0.set(U0,S0[U0]);return I0},e.length=function(S0){return S0?S0.length:0},e.forEach=function(S0,I0){if(S0)for(var U0=0;U0<S0.length;U0++){var p0=I0(S0[U0],U0);if(p0)return p0}},e.forEachRight=function(S0,I0){if(S0)for(var U0=S0.length-1;U0>=0;U0--){var p0=I0(S0[U0],U0);if(p0)return p0}},e.firstDefined=function(S0,I0){if(S0!==void 0)for(var U0=0;U0<S0.length;U0++){var p0=I0(S0[U0],U0);if(p0!==void 0)return p0}},e.firstDefinedIterator=function(S0,I0){for(;;){var U0=S0.next();if(U0.done)return;var p0=I0(U0.value);if(p0!==void 0)return p0}},e.reduceLeftIterator=function(S0,I0,U0){var p0=U0;if(S0)for(var p1=S0.next(),Y1=0;!p1.done;p1=S0.next(),Y1++)p0=I0(p0,p1.value,Y1);return p0},e.zipWith=function(S0,I0,U0){var p0=[];e.Debug.assertEqual(S0.length,I0.length);for(var p1=0;p1<S0.length;p1++)p0.push(U0(S0[p1],I0[p1],p1));return p0},e.zipToIterator=function(S0,I0){e.Debug.assertEqual(S0.length,I0.length);var U0=0;return{next:function(){return U0===S0.length?{value:void 0,done:!0}:(U0++,{value:[S0[U0-1],I0[U0-1]],done:!1})}}},e.zipToMap=function(S0,I0){e.Debug.assert(S0.length===I0.length);for(var U0=new e.Map,p0=0;p0<S0.length;++p0)U0.set(S0[p0],I0[p0]);return U0},e.intersperse=function(S0,I0){if(S0.length<=1)return S0;for(var U0=[],p0=0,p1=S0.length;p0<p1;p0++)p0&&U0.push(I0),U0.push(S0[p0]);return U0},e.every=function(S0,I0){if(S0){for(var U0=0;U0<S0.length;U0++)if(!I0(S0[U0],U0))return!1}return!0},e.find=function(S0,I0){for(var U0=0;U0<S0.length;U0++){var p0=S0[U0];if(I0(p0,U0))return p0}},e.findLast=function(S0,I0){for(var U0=S0.length-1;U0>=0;U0--){var p0=S0[U0];if(I0(p0,U0))return p0}},e.findIndex=function(S0,I0,U0){for(var p0=U0||0;p0<S0.length;p0++)if(I0(S0[p0],p0))return p0;return-1},e.findLastIndex=function(S0,I0,U0){for(var p0=U0===void 0?S0.length-1:U0;p0>=0;p0--)if(I0(S0[p0],p0))return p0;return-1},e.findMap=function(S0,I0){for(var U0=0;U0<S0.length;U0++){var p0=I0(S0[U0],U0);if(p0)return p0}return e.Debug.fail()},e.contains=J,e.arraysEqual=function(S0,I0,U0){return U0===void 0&&(U0=G0),S0.length===I0.length&&S0.every(function(p0,p1){return U0(p0,I0[p1])})},e.indexOfAnyCharCode=function(S0,I0,U0){for(var p0=U0||0;p0<S0.length;p0++)if(J(I0,S0.charCodeAt(p0)))return p0;return-1},e.countWhere=function(S0,I0){var U0=0;if(S0)for(var p0=0;p0<S0.length;p0++)I0(S0[p0],p0)&&U0++;return U0},e.filter=function(S0,I0){if(S0){for(var U0=S0.length,p0=0;p0<U0&&I0(S0[p0]);)p0++;if(p0<U0){var p1=S0.slice(0,p0);for(p0++;p0<U0;){var Y1=S0[p0];I0(Y1)&&p1.push(Y1),p0++}return p1}}return S0},e.filterMutate=function(S0,I0){for(var U0=0,p0=0;p0<S0.length;p0++)I0(S0[p0],p0,S0)&&(S0[U0]=S0[p0],U0++);S0.length=U0},e.clear=function(S0){S0.length=0},e.map=function(S0,I0){var U0;if(S0){U0=[];for(var p0=0;p0<S0.length;p0++)U0.push(I0(S0[p0],p0))}return U0},e.mapIterator=function(S0,I0){return{next:function(){var U0=S0.next();return U0.done?U0:{value:I0(U0.value),done:!1}}}},e.sameMap=function(S0,I0){if(S0)for(var U0=0;U0<S0.length;U0++){var p0=S0[U0],p1=I0(p0,U0);if(p0!==p1){var Y1=S0.slice(0,U0);for(Y1.push(p1),U0++;U0<S0.length;U0++)Y1.push(I0(S0[U0],U0));return Y1}}return S0},e.flatten=function(S0){for(var I0=[],U0=0,p0=S0;U0<p0.length;U0++){var p1=p0[U0];p1&&(w(p1)?A(I0,p1):I0.push(p1))}return I0},e.flatMap=function(S0,I0){var U0;if(S0)for(var p0=0;p0<S0.length;p0++){var p1=I0(S0[p0],p0);p1&&(U0=w(p1)?A(U0,p1):E0(U0,p1))}return U0||e.emptyArray},e.flatMapToMutable=function(S0,I0){var U0=[];if(S0)for(var p0=0;p0<S0.length;p0++){var p1=I0(S0[p0],p0);p1&&(w(p1)?A(U0,p1):U0.push(p1))}return U0},e.flatMapIterator=function(S0,I0){var U0=S0.next();if(U0.done)return e.emptyIterator;var p0=p1(U0.value);return{next:function(){for(;;){var Y1=p0.next();if(!Y1.done)return Y1;var N1=S0.next();if(N1.done)return N1;p0=p1(N1.value)}}};function p1(Y1){var N1=I0(Y1);return N1===void 0?e.emptyIterator:w(N1)?j(N1):N1}},e.sameFlatMap=function(S0,I0){var U0;if(S0)for(var p0=0;p0<S0.length;p0++){var p1=S0[p0],Y1=I0(p1,p0);(U0||p1!==Y1||w(Y1))&&(U0||(U0=S0.slice(0,p0)),w(Y1)?A(U0,Y1):U0.push(Y1))}return U0||S0},e.mapAllOrFail=function(S0,I0){for(var U0=[],p0=0;p0<S0.length;p0++){var p1=I0(S0[p0],p0);if(p1===void 0)return;U0.push(p1)}return U0},e.mapDefined=function(S0,I0){var U0=[];if(S0)for(var p0=0;p0<S0.length;p0++){var p1=I0(S0[p0],p0);p1!==void 0&&U0.push(p1)}return U0},e.mapDefinedIterator=function(S0,I0){return{next:function(){for(;;){var U0=S0.next();if(U0.done)return U0;var p0=I0(U0.value);if(p0!==void 0)return{value:p0,done:!1}}}}},e.mapDefinedEntries=function(S0,I0){if(S0){var U0=new e.Map;return S0.forEach(function(p0,p1){var Y1=I0(p1,p0);if(Y1!==void 0){var N1=Y1[0],V1=Y1[1];N1!==void 0&&V1!==void 0&&U0.set(N1,V1)}}),U0}},e.mapDefinedValues=function(S0,I0){if(S0){var U0=new e.Set;return S0.forEach(function(p0){var p1=I0(p0);p1!==void 0&&U0.add(p1)}),U0}},e.getOrUpdate=function(S0,I0,U0){if(S0.has(I0))return S0.get(I0);var p0=U0();return S0.set(I0,p0),p0},e.tryAddToSet=function(S0,I0){return!S0.has(I0)&&(S0.add(I0),!0)},e.emptyIterator={next:function(){return{value:void 0,done:!0}}},e.singleIterator=function(S0){var I0=!1;return{next:function(){var U0=I0;return I0=!0,U0?{value:void 0,done:!0}:{value:S0,done:!1}}}},e.spanMap=function(S0,I0,U0){var p0;if(S0){p0=[];for(var p1=S0.length,Y1=void 0,N1=void 0,V1=0,Ox=0;V1<p1;){for(;Ox<p1;){if(N1=I0(S0[Ox],Ox),Ox===0)Y1=N1;else if(N1!==Y1)break;Ox++}if(V1<Ox){var $x=U0(S0.slice(V1,Ox),Y1,V1,Ox);$x&&p0.push($x),V1=Ox}Y1=N1,Ox++}}return p0},e.mapEntries=function(S0,I0){if(S0){var U0=new e.Map;return S0.forEach(function(p0,p1){var Y1=I0(p1,p0),N1=Y1[0],V1=Y1[1];U0.set(N1,V1)}),U0}},e.some=m0,e.getRangesWhere=function(S0,I0,U0){for(var p0,p1=0;p1<S0.length;p1++)I0(S0[p1])?p0=p0===void 0?p1:p0:p0!==void 0&&(U0(p0,p1),p0=void 0);p0!==void 0&&U0(p0,S0.length)},e.concatenate=s1,e.indicesOf=H0,e.deduplicate=function(S0,I0,U0){return S0.length===0?[]:S0.length===1?S0.slice():U0?function(p0,p1,Y1){var N1=H0(p0);A0(p0,N1,Y1);for(var V1=p0[N1[0]],Ox=[N1[0]],$x=1;$x<N1.length;$x++){var rx=N1[$x],O0=p0[rx];p1(V1,O0)||(Ox.push(rx),V1=O0)}return Ox.sort(),Ox.map(function(C1){return p0[C1]})}(S0,I0,U0):function(p0,p1){for(var Y1=[],N1=0,V1=p0;N1<V1.length;N1++)Z(Y1,V1[N1],p1);return Y1}(S0,I0)},e.insertSorted=function(S0,I0,U0){if(S0.length!==0){var p0=G(S0,I0,k0,U0);p0<0&&S0.splice(~p0,0,I0)}else S0.push(I0)},e.sortAndDeduplicate=function(S0,I0,U0){return function(p0,p1){if(p0.length===0)return e.emptyArray;for(var Y1=p0[0],N1=[Y1],V1=1;V1<p0.length;V1++){var Ox=p0[V1];switch(p1(Ox,Y1)){case!0:case 0:continue;case-1:return e.Debug.fail(\"Array is unsorted.\")}N1.push(Y1=Ox)}return N1}(o0(S0,I0),U0||I0||Q1)},e.arrayIsSorted=function(S0,I0){if(S0.length<2)return!0;for(var U0=S0[0],p0=0,p1=S0.slice(1);p0<p1.length;p0++){var Y1=p1[p0];if(I0(U0,Y1)===1)return!1;U0=Y1}return!0},e.arrayIsEqualTo=function(S0,I0,U0){if(U0===void 0&&(U0=G0),!S0||!I0)return S0===I0;if(S0.length!==I0.length)return!1;for(var p0=0;p0<S0.length;p0++)if(!U0(S0[p0],I0[p0],p0))return!1;return!0},e.compact=function(S0){var I0;if(S0)for(var U0=0;U0<S0.length;U0++){var p0=S0[U0];!I0&&p0||(I0||(I0=S0.slice(0,U0)),p0&&I0.push(p0))}return I0||S0},e.relativeComplement=function(S0,I0,U0){if(!I0||!S0||I0.length===0||S0.length===0)return I0;var p0=[];x:for(var p1=0,Y1=0;Y1<I0.length;Y1++){Y1>0&&e.Debug.assertGreaterThanOrEqual(U0(I0[Y1],I0[Y1-1]),0);e:for(var N1=p1;p1<S0.length;p1++)switch(p1>N1&&e.Debug.assertGreaterThanOrEqual(U0(S0[p1],S0[p1-1]),0),U0(I0[Y1],S0[p1])){case-1:p0.push(I0[Y1]);continue x;case 0:continue x;case 1:continue e}}return p0},e.sum=function(S0,I0){for(var U0=0,p0=0,p1=S0;p0<p1.length;p0++)U0+=p1[p0][I0];return U0},e.append=E0,e.combine=function(S0,I0){return S0===void 0?I0:I0===void 0?S0:w(S0)?w(I0)?s1(S0,I0):E0(S0,I0):w(I0)?E0(I0,S0):[S0,I0]},e.addRange=A,e.pushIfUnique=Z,e.appendIfUnique=function(S0,I0,U0){return S0?(Z(S0,I0,U0),S0):[I0]},e.sort=o0,e.arrayIterator=j,e.arrayReverseIterator=function(S0){var I0=S0.length;return{next:function(){return I0===0?{value:void 0,done:!0}:(I0--,{value:S0[I0],done:!1})}}},e.stableSort=function(S0,I0){var U0=H0(S0);return A0(S0,U0,I0),U0.map(function(p0){return S0[p0]})},e.rangeEquals=function(S0,I0,U0,p0){for(;U0<p0;){if(S0[U0]!==I0[U0])return!1;U0++}return!0},e.elementAt=function(S0,I0){if(S0&&(I0=I(S0,I0))<S0.length)return S0[I0]},e.firstOrUndefined=function(S0){return S0.length===0?void 0:S0[0]},e.first=function(S0){return e.Debug.assert(S0.length!==0),S0[0]},e.lastOrUndefined=function(S0){return S0.length===0?void 0:S0[S0.length-1]},e.last=function(S0){return e.Debug.assert(S0.length!==0),S0[S0.length-1]},e.singleOrUndefined=function(S0){return S0&&S0.length===1?S0[0]:void 0},e.singleOrMany=function(S0){return S0&&S0.length===1?S0[0]:S0},e.replaceElement=function(S0,I0,U0){var p0=S0.slice(0);return p0[I0]=U0,p0},e.binarySearch=G,e.binarySearchKey=u0,e.reduceLeft=U;var g0=Object.prototype.hasOwnProperty;function d0(S0,I0){return g0.call(S0,I0)}function P0(S0){var I0=[];for(var U0 in S0)g0.call(S0,U0)&&I0.push(U0);return I0}e.hasProperty=d0,e.getProperty=function(S0,I0){return g0.call(S0,I0)?S0[I0]:void 0},e.getOwnKeys=P0,e.getAllKeys=function(S0){var I0=[];do for(var U0=0,p0=Object.getOwnPropertyNames(S0);U0<p0.length;U0++)Z(I0,p0[U0]);while(S0=Object.getPrototypeOf(S0));return I0},e.getOwnValues=function(S0){var I0=[];for(var U0 in S0)g0.call(S0,U0)&&I0.push(S0[U0]);return I0};var c0=Object.entries||function(S0){for(var I0=P0(S0),U0=Array(I0.length),p0=0;p0<I0.length;p0++)U0[p0]=[I0[p0],S0[I0[p0]]];return U0};function D0(S0,I0){for(var U0=[],p0=S0.next();!p0.done;p0=S0.next())U0.push(I0?I0(p0.value):p0.value);return U0}function x0(S0,I0,U0){U0===void 0&&(U0=k0);for(var p0=l0(),p1=0,Y1=S0;p1<Y1.length;p1++){var N1=Y1[p1];p0.add(I0(N1),U0(N1))}return p0}function l0(){var S0=new e.Map;return S0.add=w0,S0.remove=V,S0}function w0(S0,I0){var U0=this.get(S0);return U0?U0.push(I0):this.set(S0,U0=[I0]),U0}function V(S0,I0){var U0=this.get(S0);U0&&(K0(U0,I0),U0.length||this.delete(S0))}function w(S0){return Array.isArray?Array.isArray(S0):S0 instanceof Array}function H(S0){}function k0(S0){return S0}function V0(S0){return S0.toLowerCase()}e.getEntries=function(S0){return S0?c0(S0):[]},e.arrayOf=function(S0,I0){for(var U0=new Array(S0),p0=0;p0<S0;p0++)U0[p0]=I0(p0);return U0},e.arrayFrom=D0,e.assign=function(S0){for(var I0=[],U0=1;U0<arguments.length;U0++)I0[U0-1]=arguments[U0];for(var p0=0,p1=I0;p0<p1.length;p0++){var Y1=p1[p0];if(Y1!==void 0)for(var N1 in Y1)d0(Y1,N1)&&(S0[N1]=Y1[N1])}return S0},e.equalOwnProperties=function(S0,I0,U0){if(U0===void 0&&(U0=G0),S0===I0)return!0;if(!S0||!I0)return!1;for(var p0 in S0)if(g0.call(S0,p0)&&(!g0.call(I0,p0)||!U0(S0[p0],I0[p0])))return!1;for(var p0 in I0)if(g0.call(I0,p0)&&!g0.call(S0,p0))return!1;return!0},e.arrayToMap=function(S0,I0,U0){U0===void 0&&(U0=k0);for(var p0=new e.Map,p1=0,Y1=S0;p1<Y1.length;p1++){var N1=Y1[p1],V1=I0(N1);V1!==void 0&&p0.set(V1,U0(N1))}return p0},e.arrayToNumericMap=function(S0,I0,U0){U0===void 0&&(U0=k0);for(var p0=[],p1=0,Y1=S0;p1<Y1.length;p1++){var N1=Y1[p1];p0[I0(N1)]=U0(N1)}return p0},e.arrayToMultiMap=x0,e.group=function(S0,I0,U0){return U0===void 0&&(U0=k0),D0(x0(S0,I0).values(),U0)},e.clone=function(S0){var I0={};for(var U0 in S0)g0.call(S0,U0)&&(I0[U0]=S0[U0]);return I0},e.extend=function(S0,I0){var U0={};for(var p0 in I0)g0.call(I0,p0)&&(U0[p0]=I0[p0]);for(var p0 in S0)g0.call(S0,p0)&&(U0[p0]=S0[p0]);return U0},e.copyProperties=function(S0,I0){for(var U0 in I0)g0.call(I0,U0)&&(S0[U0]=I0[U0])},e.maybeBind=function(S0,I0){return I0?I0.bind(S0):void 0},e.createMultiMap=l0,e.createUnderscoreEscapedMultiMap=function(){return l0()},e.isArray=w,e.toArray=function(S0){return w(S0)?S0:[S0]},e.isString=function(S0){return typeof S0==\"string\"},e.isNumber=function(S0){return typeof S0==\"number\"},e.tryCast=function(S0,I0){return S0!==void 0&&I0(S0)?S0:void 0},e.cast=function(S0,I0){return S0!==void 0&&I0(S0)?S0:e.Debug.fail(\"Invalid cast. The supplied value \"+S0+\" did not pass the test '\"+e.Debug.getFunctionName(I0)+\"'.\")},e.noop=H,e.returnFalse=function(){return!1},e.returnTrue=function(){return!0},e.returnUndefined=function(){},e.identity=k0,e.toLowerCase=V0;var t0,f0=/[^\\u0130\\u0131\\u00DFa-z0-9\\\\/:\\-_\\. ]+/g;function y0(S0){return f0.test(S0)?S0.replace(f0,V0):S0}function G0(S0,I0){return S0===I0}function d1(S0,I0){return S0===I0?0:S0===void 0?-1:I0===void 0?1:S0<I0?-1:1}function h1(S0,I0){return d1(S0,I0)}function S1(S0,I0){return S0===I0?0:S0===void 0?-1:I0===void 0?1:(S0=S0.toUpperCase())<(I0=I0.toUpperCase())?-1:S0>I0?1:0}function Q1(S0,I0){return d1(S0,I0)}e.toFileNameLowerCase=y0,e.notImplemented=function(){throw new Error(\"Not implemented\")},e.memoize=function(S0){var I0;return function(){return S0&&(I0=S0(),S0=void 0),I0}},e.memoizeOne=function(S0){var I0=new e.Map;return function(U0){var p0=typeof U0+\":\"+U0,p1=I0.get(p0);return p1!==void 0||I0.has(p0)||(p1=S0(U0),I0.set(p0,p1)),p1}},e.compose=function(S0,I0,U0,p0,p1){if(p1){for(var Y1=[],N1=0;N1<arguments.length;N1++)Y1[N1]=arguments[N1];return function(V1){return U(Y1,function(Ox,$x){return $x(Ox)},V1)}}return p0?function(V1){return p0(U0(I0(S0(V1))))}:U0?function(V1){return U0(I0(S0(V1)))}:I0?function(V1){return I0(S0(V1))}:S0?function(V1){return S0(V1)}:function(V1){return V1}},(t0=e.AssertionLevel||(e.AssertionLevel={}))[t0.None=0]=\"None\",t0[t0.Normal=1]=\"Normal\",t0[t0.Aggressive=2]=\"Aggressive\",t0[t0.VeryAggressive=3]=\"VeryAggressive\",e.equateValues=G0,e.equateStringsCaseInsensitive=function(S0,I0){return S0===I0||S0!==void 0&&I0!==void 0&&S0.toUpperCase()===I0.toUpperCase()},e.equateStringsCaseSensitive=function(S0,I0){return G0(S0,I0)},e.compareValues=h1,e.compareTextSpans=function(S0,I0){return h1(S0==null?void 0:S0.start,I0==null?void 0:I0.start)||h1(S0==null?void 0:S0.length,I0==null?void 0:I0.length)},e.min=function(S0,I0,U0){return U0(S0,I0)===-1?S0:I0},e.compareStringsCaseInsensitive=S1,e.compareStringsCaseSensitive=Q1,e.getStringComparer=function(S0){return S0?S1:Q1};var Y0,$1,Z1=function(){var S0,I0,U0=function(){return typeof Intl==\"object\"&&typeof Intl.Collator==\"function\"?p1:typeof String.prototype.localeCompare==\"function\"&&typeof String.prototype.toLocaleUpperCase==\"function\"&&\"a\".localeCompare(\"B\")<0?Y1:N1}();return function(V1){return V1===void 0?S0||(S0=U0(V1)):V1===\"en-US\"?I0||(I0=U0(V1)):U0(V1)};function p0(V1,Ox,$x){if(V1===Ox)return 0;if(V1===void 0)return-1;if(Ox===void 0)return 1;var rx=$x(V1,Ox);return rx<0?-1:rx>0?1:0}function p1(V1){var Ox=new Intl.Collator(V1,{usage:\"sort\",sensitivity:\"variant\"}).compare;return function($x,rx){return p0($x,rx,Ox)}}function Y1(V1){return V1!==void 0?N1():function($x,rx){return p0($x,rx,Ox)};function Ox($x,rx){return $x.localeCompare(rx)}}function N1(){return function($x,rx){return p0($x,rx,V1)};function V1($x,rx){return Ox($x.toUpperCase(),rx.toUpperCase())||Ox($x,rx)}function Ox($x,rx){return $x<rx?-1:$x>rx?1:0}}}();function Q0(S0,I0,U0){for(var p0=new Array(I0.length+1),p1=new Array(I0.length+1),Y1=U0+.01,N1=0;N1<=I0.length;N1++)p0[N1]=N1;for(N1=1;N1<=S0.length;N1++){var V1=S0.charCodeAt(N1-1),Ox=Math.ceil(N1>U0?N1-U0:1),$x=Math.floor(I0.length>U0+N1?U0+N1:I0.length);p1[0]=N1;for(var rx=N1,O0=1;O0<Ox;O0++)p1[O0]=Y1;for(O0=Ox;O0<=$x;O0++){var C1=S0[N1-1].toLowerCase()===I0[O0-1].toLowerCase()?p0[O0-1]+.1:p0[O0-1]+2,nx=V1===I0.charCodeAt(O0-1)?p0[O0-1]:Math.min(p0[O0]+1,p1[O0-1]+1,C1);p1[O0]=nx,rx=Math.min(rx,nx)}for(O0=$x+1;O0<=I0.length;O0++)p1[O0]=Y1;if(rx>U0)return;var O=p0;p0=p1,p1=O}var b1=p0[I0.length];return b1>U0?void 0:b1}function y1(S0,I0){var U0=S0.length-I0.length;return U0>=0&&S0.indexOf(I0,U0)===U0}function k1(S0,I0){for(var U0=I0;U0<S0.length-1;U0++)S0[U0]=S0[U0+1];S0.pop()}function I1(S0,I0){S0[I0]=S0[S0.length-1],S0.pop()}function K0(S0,I0){return function(U0,p0){for(var p1=0;p1<U0.length;p1++)if(p0(U0[p1]))return I1(U0,p1),!0;return!1}(S0,function(U0){return U0===I0})}function G1(S0,I0){return S0.lastIndexOf(I0,0)===0}function Nx(S0,I0){var U0=S0.prefix,p0=S0.suffix;return I0.length>=U0.length+p0.length&&G1(I0,U0)&&y1(I0,p0)}function n1(S0,I0,U0,p0){for(var p1=0,Y1=S0[p0];p1<Y1.length;p1++){var N1=Y1[p1],V1=void 0;U0?(V1=U0.slice()).push(N1):V1=[N1],p0===S0.length-1?I0.push(V1):n1(S0,I0,V1,p0+1)}}e.getUILocale=function(){return $1},e.setUILocale=function(S0){$1!==S0&&($1=S0,Y0=void 0)},e.compareStringsCaseSensitiveUI=function(S0,I0){return(Y0||(Y0=Z1($1)))(S0,I0)},e.compareProperties=function(S0,I0,U0,p0){return S0===I0?0:S0===void 0?-1:I0===void 0?1:p0(S0[U0],I0[U0])},e.compareBooleans=function(S0,I0){return h1(S0?1:0,I0?1:0)},e.getSpellingSuggestion=function(S0,I0,U0){for(var p0,p1=Math.min(2,Math.floor(.34*S0.length)),Y1=Math.floor(.4*S0.length)+1,N1=0,V1=I0;N1<V1.length;N1++){var Ox=V1[N1],$x=U0(Ox);if($x!==void 0&&Math.abs($x.length-S0.length)<=p1){if($x===S0||$x.length<3&&$x.toLowerCase()!==S0.toLowerCase())continue;var rx=Q0(S0,$x,Y1-.1);if(rx===void 0)continue;e.Debug.assert(rx<Y1),Y1=rx,p0=Ox}}return p0},e.endsWith=y1,e.removeSuffix=function(S0,I0){return y1(S0,I0)?S0.slice(0,S0.length-I0.length):S0},e.tryRemoveSuffix=function(S0,I0){return y1(S0,I0)?S0.slice(0,S0.length-I0.length):void 0},e.stringContains=function(S0,I0){return S0.indexOf(I0)!==-1},e.removeMinAndVersionNumbers=function(S0){var I0=/[.-]((min)|(\\d+(\\.\\d+)*))$/;return S0.replace(I0,\"\").replace(I0,\"\")},e.orderedRemoveItem=function(S0,I0){for(var U0=0;U0<S0.length;U0++)if(S0[U0]===I0)return k1(S0,U0),!0;return!1},e.orderedRemoveItemAt=k1,e.unorderedRemoveItemAt=I1,e.unorderedRemoveItem=K0,e.createGetCanonicalFileName=function(S0){return S0?k0:y0},e.patternText=function(S0){return S0.prefix+\"*\"+S0.suffix},e.matchedText=function(S0,I0){return e.Debug.assert(Nx(S0,I0)),I0.substring(S0.prefix.length,I0.length-S0.suffix.length)},e.findBestPatternMatch=function(S0,I0,U0){for(var p0,p1=-1,Y1=0,N1=S0;Y1<N1.length;Y1++){var V1=N1[Y1],Ox=I0(V1);Nx(Ox,U0)&&Ox.prefix.length>p1&&(p1=Ox.prefix.length,p0=V1)}return p0},e.startsWith=G1,e.removePrefix=function(S0,I0){return G1(S0,I0)?S0.substr(I0.length):S0},e.tryRemovePrefix=function(S0,I0,U0){return U0===void 0&&(U0=k0),G1(U0(S0),U0(I0))?S0.substring(I0.length):void 0},e.and=function(S0,I0){return function(U0){return S0(U0)&&I0(U0)}},e.or=function(){for(var S0=[],I0=0;I0<arguments.length;I0++)S0[I0]=arguments[I0];return function(){for(var U0=[],p0=0;p0<arguments.length;p0++)U0[p0]=arguments[p0];for(var p1=0,Y1=S0;p1<Y1.length;p1++){var N1=Y1[p1];if(N1.apply(void 0,U0))return!0}return!1}},e.not=function(S0){return function(){for(var I0=[],U0=0;U0<arguments.length;U0++)I0[U0]=arguments[U0];return!S0.apply(void 0,I0)}},e.assertType=function(S0){},e.singleElementArray=function(S0){return S0===void 0?void 0:[S0]},e.enumerateInsertsAndDeletes=function(S0,I0,U0,p0,p1,Y1){Y1=Y1||H;for(var N1=0,V1=0,Ox=S0.length,$x=I0.length,rx=!1;N1<Ox&&V1<$x;){var O0=S0[N1],C1=I0[V1],nx=U0(O0,C1);nx===-1?(p0(O0),N1++,rx=!0):nx===1?(p1(C1),V1++,rx=!0):(Y1(C1,O0),N1++,V1++)}for(;N1<Ox;)p0(S0[N1++]),rx=!0;for(;V1<$x;)p1(I0[V1++]),rx=!0;return rx},e.fill=function(S0,I0){for(var U0=Array(S0),p0=0;p0<S0;p0++)U0[p0]=I0(p0);return U0},e.cartesianProduct=function(S0){var I0=[];return n1(S0,I0,void 0,0),I0},e.padLeft=function(S0,I0,U0){return U0===void 0&&(U0=\" \"),I0<=S0.length?S0:U0.repeat(I0-S0.length)+S0},e.padRight=function(S0,I0,U0){return U0===void 0&&(U0=\" \"),I0<=S0.length?S0:S0+U0.repeat(I0-S0.length)},e.takeWhile=function(S0,I0){for(var U0=S0.length,p0=0;p0<U0&&I0(S0[p0]);)p0++;return S0.slice(0,p0)}}(_0||(_0={})),function(e){var s;(function(X){X[X.Off=0]=\"Off\",X[X.Error=1]=\"Error\",X[X.Warning=2]=\"Warning\",X[X.Info=3]=\"Info\",X[X.Verbose=4]=\"Verbose\"})(s=e.LogLevel||(e.LogLevel={})),function(X){var J,m0,s1=0;function i0(){return J!=null?J:J=new e.Version(e.version)}function H0(Z1){return X.currentLogLevel<=Z1}function E0(Z1,Q0){X.loggingHost&&H0(Z1)&&X.loggingHost.log(Z1,Q0)}function I(Z1){E0(s.Info,Z1)}X.currentLogLevel=s.Warning,X.isDebugging=!1,X.getTypeScriptVersion=i0,X.shouldLog=H0,X.log=I,(m0=I=X.log||(X.log={})).error=function(Z1){E0(s.Error,Z1)},m0.warn=function(Z1){E0(s.Warning,Z1)},m0.log=function(Z1){E0(s.Info,Z1)},m0.trace=function(Z1){E0(s.Verbose,Z1)};var A={};function Z(Z1){return s1>=Z1}function A0(Z1,Q0){return!!Z(Z1)||(A[Q0]={level:Z1,assertion:X[Q0]},X[Q0]=e.noop,!1)}function o0(Z1,Q0){var y1=new Error(Z1?\"Debug Failure. \"+Z1:\"Debug Failure.\");throw Error.captureStackTrace&&Error.captureStackTrace(y1,Q0||o0),y1}function j(Z1,Q0,y1,k1){Z1||(Q0=Q0?\"False expression: \"+Q0:\"False expression.\",y1&&(Q0+=`\\r\nVerbose Debug Information: `+(typeof y1==\"string\"?y1:y1())),o0(Q0,k1||j))}function G(Z1,Q0,y1){Z1==null&&o0(Q0,y1||G)}function u0(Z1,Q0,y1){return G(Z1,Q0,y1||u0),Z1}function U(Z1,Q0,y1){for(var k1=0,I1=Z1;k1<I1.length;k1++)G(I1[k1],Q0,y1||U)}function g0(Z1,Q0,y1){return U(Z1,Q0,y1||g0),Z1}function d0(Z1){if(typeof Z1!=\"function\")return\"\";if(Z1.hasOwnProperty(\"name\"))return Z1.name;var Q0=Function.prototype.toString.call(Z1),y1=/^function\\s+([\\w\\$]+)\\s*\\(/.exec(Q0);return y1?y1[1]:\"\"}function P0(Z1,Q0,y1){Z1===void 0&&(Z1=0);var k1=function(Y1){var N1=[];for(var V1 in Y1){var Ox=Y1[V1];typeof Ox==\"number\"&&N1.push([Ox,V1])}return e.stableSort(N1,function($x,rx){return e.compareValues($x[0],rx[0])})}(Q0);if(Z1===0)return k1.length>0&&k1[0][0]===0?k1[0][1]:\"0\";if(y1){for(var I1=\"\",K0=Z1,G1=0,Nx=k1;G1<Nx.length;G1++){var n1=Nx[G1],S0=n1[0],I0=n1[1];if(S0>Z1)break;S0!==0&&S0&Z1&&(I1=I1+(I1?\"|\":\"\")+I0,K0&=~S0)}if(K0===0)return I1}else for(var U0=0,p0=k1;U0<p0.length;U0++){var p1=p0[U0];if(S0=p1[0],I0=p1[1],S0===Z1)return I0}return Z1.toString()}function c0(Z1){return P0(Z1,e.SyntaxKind,!1)}function D0(Z1){return P0(Z1,e.NodeFlags,!0)}function x0(Z1){return P0(Z1,e.ModifierFlags,!0)}function l0(Z1){return P0(Z1,e.TransformFlags,!0)}function w0(Z1){return P0(Z1,e.EmitFlags,!0)}function V(Z1){return P0(Z1,e.SymbolFlags,!0)}function w(Z1){return P0(Z1,e.TypeFlags,!0)}function H(Z1){return P0(Z1,e.SignatureFlags,!0)}function k0(Z1){return P0(Z1,e.ObjectFlags,!0)}function V0(Z1){return P0(Z1,e.FlowFlags,!0)}X.getAssertionLevel=function(){return s1},X.setAssertionLevel=function(Z1){var Q0=s1;if(s1=Z1,Z1>Q0)for(var y1=0,k1=e.getOwnKeys(A);y1<k1.length;y1++){var I1=k1[y1],K0=A[I1];K0!==void 0&&X[I1]!==K0.assertion&&Z1>=K0.level&&(X[I1]=K0,A[I1]=void 0)}},X.shouldAssert=Z,X.fail=o0,X.failBadSyntaxKind=function Z1(Q0,y1,k1){return o0((y1||\"Unexpected node.\")+`\\r\nNode `+c0(Q0.kind)+\" was unexpected.\",k1||Z1)},X.assert=j,X.assertEqual=function Z1(Q0,y1,k1,I1,K0){Q0!==y1&&o0(\"Expected \"+Q0+\" === \"+y1+\". \"+(k1?I1?k1+\" \"+I1:k1:\"\"),K0||Z1)},X.assertLessThan=function Z1(Q0,y1,k1,I1){Q0>=y1&&o0(\"Expected \"+Q0+\" < \"+y1+\". \"+(k1||\"\"),I1||Z1)},X.assertLessThanOrEqual=function Z1(Q0,y1,k1){Q0>y1&&o0(\"Expected \"+Q0+\" <= \"+y1,k1||Z1)},X.assertGreaterThanOrEqual=function Z1(Q0,y1,k1){Q0<y1&&o0(\"Expected \"+Q0+\" >= \"+y1,k1||Z1)},X.assertIsDefined=G,X.checkDefined=u0,X.assertDefined=u0,X.assertEachIsDefined=U,X.checkEachDefined=g0,X.assertEachDefined=g0,X.assertNever=function Z1(Q0,y1,k1){return y1===void 0&&(y1=\"Illegal value:\"),o0(y1+\" \"+(typeof Q0==\"object\"&&e.hasProperty(Q0,\"kind\")&&e.hasProperty(Q0,\"pos\")&&c0?\"SyntaxKind: \"+c0(Q0.kind):JSON.stringify(Q0)),k1||Z1)},X.assertEachNode=function Z1(Q0,y1,k1,I1){A0(1,\"assertEachNode\")&&j(y1===void 0||e.every(Q0,y1),k1||\"Unexpected node.\",function(){return\"Node array did not pass test '\"+d0(y1)+\"'.\"},I1||Z1)},X.assertNode=function Z1(Q0,y1,k1,I1){A0(1,\"assertNode\")&&j(Q0!==void 0&&(y1===void 0||y1(Q0)),k1||\"Unexpected node.\",function(){return\"Node \"+c0(Q0.kind)+\" did not pass test '\"+d0(y1)+\"'.\"},I1||Z1)},X.assertNotNode=function Z1(Q0,y1,k1,I1){A0(1,\"assertNotNode\")&&j(Q0===void 0||y1===void 0||!y1(Q0),k1||\"Unexpected node.\",function(){return\"Node \"+c0(Q0.kind)+\" should not have passed test '\"+d0(y1)+\"'.\"},I1||Z1)},X.assertOptionalNode=function Z1(Q0,y1,k1,I1){A0(1,\"assertOptionalNode\")&&j(y1===void 0||Q0===void 0||y1(Q0),k1||\"Unexpected node.\",function(){return\"Node \"+c0(Q0.kind)+\" did not pass test '\"+d0(y1)+\"'.\"},I1||Z1)},X.assertOptionalToken=function Z1(Q0,y1,k1,I1){A0(1,\"assertOptionalToken\")&&j(y1===void 0||Q0===void 0||Q0.kind===y1,k1||\"Unexpected node.\",function(){return\"Node \"+c0(Q0.kind)+\" was not a '\"+c0(y1)+\"' token.\"},I1||Z1)},X.assertMissingNode=function Z1(Q0,y1,k1){A0(1,\"assertMissingNode\")&&j(Q0===void 0,y1||\"Unexpected node.\",function(){return\"Node \"+c0(Q0.kind)+\" was unexpected'.\"},k1||Z1)},X.type=function(Z1){},X.getFunctionName=d0,X.formatSymbol=function(Z1){return\"{ name: \"+e.unescapeLeadingUnderscores(Z1.escapedName)+\"; flags: \"+V(Z1.flags)+\"; declarations: \"+e.map(Z1.declarations,function(Q0){return c0(Q0.kind)})+\" }\"},X.formatEnum=P0,X.formatSyntaxKind=c0,X.formatNodeFlags=D0,X.formatModifierFlags=x0,X.formatTransformFlags=l0,X.formatEmitFlags=w0,X.formatSymbolFlags=V,X.formatTypeFlags=w,X.formatSignatureFlags=H,X.formatObjectFlags=k0,X.formatFlowFlags=V0;var t0,f0,y0,G0=!1;function d1(Z1){return function(){if(Q1(),!t0)throw new Error(\"Debugging helpers could not be loaded.\");return t0}().formatControlFlowGraph(Z1)}function h1(Z1){\"__debugFlowFlags\"in Z1||Object.defineProperties(Z1,{__tsDebuggerDisplay:{value:function(){var Q0=2&this.flags?\"FlowStart\":4&this.flags?\"FlowBranchLabel\":8&this.flags?\"FlowLoopLabel\":16&this.flags?\"FlowAssignment\":32&this.flags?\"FlowTrueCondition\":64&this.flags?\"FlowFalseCondition\":128&this.flags?\"FlowSwitchClause\":256&this.flags?\"FlowArrayMutation\":512&this.flags?\"FlowCall\":1024&this.flags?\"FlowReduceLabel\":1&this.flags?\"FlowUnreachable\":\"UnknownFlow\",y1=-2048&this.flags;return Q0+(y1?\" (\"+V0(y1)+\")\":\"\")}},__debugFlowFlags:{get:function(){return P0(this.flags,e.FlowFlags,!0)}},__debugToString:{value:function(){return d1(this)}}})}function S1(Z1){\"__tsDebuggerDisplay\"in Z1||Object.defineProperties(Z1,{__tsDebuggerDisplay:{value:function(Q0){return\"NodeArray \"+(Q0=String(Q0).replace(/(?:,[\\s\\w\\d_]+:[^,]+)+\\]$/,\"]\"))}}})}function Q1(){if(!G0){var Z1,Q0;Object.defineProperties(e.objectAllocator.getSymbolConstructor().prototype,{__tsDebuggerDisplay:{value:function(){var Nx=33554432&this.flags?\"TransientSymbol\":\"Symbol\",n1=-33554433&this.flags;return Nx+\" '\"+e.symbolName(this)+\"'\"+(n1?\" (\"+V(n1)+\")\":\"\")}},__debugFlags:{get:function(){return V(this.flags)}}}),Object.defineProperties(e.objectAllocator.getTypeConstructor().prototype,{__tsDebuggerDisplay:{value:function(){var Nx=98304&this.flags?\"NullableType\":384&this.flags?\"LiteralType \"+JSON.stringify(this.value):2048&this.flags?\"LiteralType \"+(this.value.negative?\"-\":\"\")+this.value.base10Value+\"n\":8192&this.flags?\"UniqueESSymbolType\":32&this.flags?\"EnumType\":67359327&this.flags?\"IntrinsicType \"+this.intrinsicName:1048576&this.flags?\"UnionType\":2097152&this.flags?\"IntersectionType\":4194304&this.flags?\"IndexType\":8388608&this.flags?\"IndexedAccessType\":16777216&this.flags?\"ConditionalType\":33554432&this.flags?\"SubstitutionType\":262144&this.flags?\"TypeParameter\":524288&this.flags?3&this.objectFlags?\"InterfaceType\":4&this.objectFlags?\"TypeReference\":8&this.objectFlags?\"TupleType\":16&this.objectFlags?\"AnonymousType\":32&this.objectFlags?\"MappedType\":1024&this.objectFlags?\"ReverseMappedType\":256&this.objectFlags?\"EvolvingArrayType\":\"ObjectType\":\"Type\",n1=524288&this.flags?-1344&this.objectFlags:0;return Nx+(this.symbol?\" '\"+e.symbolName(this.symbol)+\"'\":\"\")+(n1?\" (\"+k0(n1)+\")\":\"\")}},__debugFlags:{get:function(){return w(this.flags)}},__debugObjectFlags:{get:function(){return 524288&this.flags?k0(this.objectFlags):\"\"}},__debugTypeToString:{value:function(){var Nx=(Z1===void 0&&typeof WeakMap==\"function\"&&(Z1=new WeakMap),Z1),n1=Nx==null?void 0:Nx.get(this);return n1===void 0&&(n1=this.checker.typeToString(this),Nx==null||Nx.set(this,n1)),n1}}}),Object.defineProperties(e.objectAllocator.getSignatureConstructor().prototype,{__debugFlags:{get:function(){return H(this.flags)}},__debugSignatureToString:{value:function(){var Nx;return(Nx=this.checker)===null||Nx===void 0?void 0:Nx.signatureToString(this)}}});for(var y1=0,k1=[e.objectAllocator.getNodeConstructor(),e.objectAllocator.getIdentifierConstructor(),e.objectAllocator.getTokenConstructor(),e.objectAllocator.getSourceFileConstructor()];y1<k1.length;y1++){var I1=k1[y1];I1.prototype.hasOwnProperty(\"__debugKind\")||Object.defineProperties(I1.prototype,{__tsDebuggerDisplay:{value:function(){return(e.isGeneratedIdentifier(this)?\"GeneratedIdentifier\":e.isIdentifier(this)?\"Identifier '\"+e.idText(this)+\"'\":e.isPrivateIdentifier(this)?\"PrivateIdentifier '\"+e.idText(this)+\"'\":e.isStringLiteral(this)?\"StringLiteral \"+JSON.stringify(this.text.length<10?this.text:this.text.slice(10)+\"...\"):e.isNumericLiteral(this)?\"NumericLiteral \"+this.text:e.isBigIntLiteral(this)?\"BigIntLiteral \"+this.text+\"n\":e.isTypeParameterDeclaration(this)?\"TypeParameterDeclaration\":e.isParameter(this)?\"ParameterDeclaration\":e.isConstructorDeclaration(this)?\"ConstructorDeclaration\":e.isGetAccessorDeclaration(this)?\"GetAccessorDeclaration\":e.isSetAccessorDeclaration(this)?\"SetAccessorDeclaration\":e.isCallSignatureDeclaration(this)?\"CallSignatureDeclaration\":e.isConstructSignatureDeclaration(this)?\"ConstructSignatureDeclaration\":e.isIndexSignatureDeclaration(this)?\"IndexSignatureDeclaration\":e.isTypePredicateNode(this)?\"TypePredicateNode\":e.isTypeReferenceNode(this)?\"TypeReferenceNode\":e.isFunctionTypeNode(this)?\"FunctionTypeNode\":e.isConstructorTypeNode(this)?\"ConstructorTypeNode\":e.isTypeQueryNode(this)?\"TypeQueryNode\":e.isTypeLiteralNode(this)?\"TypeLiteralNode\":e.isArrayTypeNode(this)?\"ArrayTypeNode\":e.isTupleTypeNode(this)?\"TupleTypeNode\":e.isOptionalTypeNode(this)?\"OptionalTypeNode\":e.isRestTypeNode(this)?\"RestTypeNode\":e.isUnionTypeNode(this)?\"UnionTypeNode\":e.isIntersectionTypeNode(this)?\"IntersectionTypeNode\":e.isConditionalTypeNode(this)?\"ConditionalTypeNode\":e.isInferTypeNode(this)?\"InferTypeNode\":e.isParenthesizedTypeNode(this)?\"ParenthesizedTypeNode\":e.isThisTypeNode(this)?\"ThisTypeNode\":e.isTypeOperatorNode(this)?\"TypeOperatorNode\":e.isIndexedAccessTypeNode(this)?\"IndexedAccessTypeNode\":e.isMappedTypeNode(this)?\"MappedTypeNode\":e.isLiteralTypeNode(this)?\"LiteralTypeNode\":e.isNamedTupleMember(this)?\"NamedTupleMember\":e.isImportTypeNode(this)?\"ImportTypeNode\":c0(this.kind))+(this.flags?\" (\"+D0(this.flags)+\")\":\"\")}},__debugKind:{get:function(){return c0(this.kind)}},__debugNodeFlags:{get:function(){return D0(this.flags)}},__debugModifierFlags:{get:function(){return x0(e.getEffectiveModifierFlagsNoCache(this))}},__debugTransformFlags:{get:function(){return l0(this.transformFlags)}},__debugIsParseTreeNode:{get:function(){return e.isParseTreeNode(this)}},__debugEmitFlags:{get:function(){return w0(e.getEmitFlags(this))}},__debugGetText:{value:function(Nx){if(e.nodeIsSynthesized(this))return\"\";var n1=(Q0===void 0&&typeof WeakMap==\"function\"&&(Q0=new WeakMap),Q0),S0=n1==null?void 0:n1.get(this);if(S0===void 0){var I0=e.getParseTreeNode(this),U0=I0&&e.getSourceFileOfNode(I0);S0=U0?e.getSourceTextOfNodeFromSourceFile(U0,I0,Nx):\"\",n1==null||n1.set(this,S0)}return S0}}})}try{if(e.sys&&e.sys.require){var K0=e.getDirectoryPath(e.resolvePath(e.sys.getExecutingFilePath())),G1=e.sys.require(K0,\"./compiler-debug\");G1.error||(G1.module.init(e),t0=G1.module)}}catch{}G0=!0}}function Y0(Z1,Q0,y1,k1,I1){var K0=Q0?\"DeprecationError: \":\"DeprecationWarning: \";return K0+=\"'\"+Z1+\"' \",K0+=k1?\"has been deprecated since v\"+k1:\"is deprecated\",K0+=Q0?\" and can no longer be used.\":y1?\" and will no longer be usable after v\"+y1+\".\":\".\",K0+=I1?\" \"+e.formatStringFromArgs(I1,[Z1],0):\"\"}function $1(Z1,Q0){var y1,k1;Q0===void 0&&(Q0={});var I1=typeof Q0.typeScriptVersion==\"string\"?new e.Version(Q0.typeScriptVersion):(y1=Q0.typeScriptVersion)!==null&&y1!==void 0?y1:i0(),K0=typeof Q0.errorAfter==\"string\"?new e.Version(Q0.errorAfter):Q0.errorAfter,G1=typeof Q0.warnAfter==\"string\"?new e.Version(Q0.warnAfter):Q0.warnAfter,Nx=typeof Q0.since==\"string\"?new e.Version(Q0.since):(k1=Q0.since)!==null&&k1!==void 0?k1:G1,n1=Q0.error||K0&&I1.compareTo(K0)<=0,S0=!G1||I1.compareTo(G1)>=0;return n1?function(I0,U0,p0,p1){var Y1=Y0(I0,!0,U0,p0,p1);return function(){throw new TypeError(Y1)}}(Z1,K0,Nx,Q0.message):S0?function(I0,U0,p0,p1){var Y1=!1;return function(){Y1||(I.warn(Y0(I0,!1,U0,p0,p1)),Y1=!0)}}(Z1,K0,Nx,Q0.message):e.noop}X.printControlFlowGraph=function(Z1){return console.log(d1(Z1))},X.formatControlFlowGraph=d1,X.attachFlowNodeDebugInfo=function(Z1){G0&&(typeof Object.setPrototypeOf==\"function\"?(f0||h1(f0=Object.create(Object.prototype)),Object.setPrototypeOf(Z1,f0)):h1(Z1))},X.attachNodeArrayDebugInfo=function(Z1){G0&&(typeof Object.setPrototypeOf==\"function\"?(y0||S1(y0=Object.create(Array.prototype)),Object.setPrototypeOf(Z1,y0)):S1(Z1))},X.enableDebugInfo=Q1,X.deprecate=function(Z1,Q0){return function(y1,k1){return function(){return y1(),k1.apply(this,arguments)}}($1(d0(Z1),Q0),Z1)}}(e.Debug||(e.Debug={}))}(_0||(_0={})),function(e){var s=/^(0|[1-9]\\d*)(?:\\.(0|[1-9]\\d*)(?:\\.(0|[1-9]\\d*)(?:\\-([a-z0-9-.]+))?(?:\\+([a-z0-9-.]+))?)?)?$/i,X=/^(?:0|[1-9]\\d*|[a-z-][a-z0-9-]*)(?:\\.(?:0|[1-9]\\d*|[a-z-][a-z0-9-]*))*$/i,J=/^[a-z0-9-]+(?:\\.[a-z0-9-]+)*$/i,m0=/^(0|[1-9]\\d*)$/,s1=function(){function x0(l0,w0,V,w,H){if(w0===void 0&&(w0=0),V===void 0&&(V=0),w===void 0&&(w=\"\"),H===void 0&&(H=\"\"),typeof l0==\"string\"){var k0=e.Debug.checkDefined(i0(l0),\"Invalid version\");l0=k0.major,w0=k0.minor,V=k0.patch,w=k0.prerelease,H=k0.build}e.Debug.assert(l0>=0,\"Invalid argument: major\"),e.Debug.assert(w0>=0,\"Invalid argument: minor\"),e.Debug.assert(V>=0,\"Invalid argument: patch\"),e.Debug.assert(!w||X.test(w),\"Invalid argument: prerelease\"),e.Debug.assert(!H||J.test(H),\"Invalid argument: build\"),this.major=l0,this.minor=w0,this.patch=V,this.prerelease=w?w.split(\".\"):e.emptyArray,this.build=H?H.split(\".\"):e.emptyArray}return x0.tryParse=function(l0){var w0=i0(l0);if(w0)return new x0(w0.major,w0.minor,w0.patch,w0.prerelease,w0.build)},x0.prototype.compareTo=function(l0){return this===l0?0:l0===void 0?1:e.compareValues(this.major,l0.major)||e.compareValues(this.minor,l0.minor)||e.compareValues(this.patch,l0.patch)||function(w0,V){if(w0===V)return 0;if(w0.length===0)return V.length===0?0:1;if(V.length===0)return-1;for(var w=Math.min(w0.length,V.length),H=0;H<w;H++){var k0=w0[H],V0=V[H];if(k0!==V0){var t0=m0.test(k0),f0=m0.test(V0);if(t0||f0){if(t0!==f0)return t0?-1:1;if(y0=e.compareValues(+k0,+V0))return y0}else{var y0;if(y0=e.compareStringsCaseSensitive(k0,V0))return y0}}}return e.compareValues(w0.length,V.length)}(this.prerelease,l0.prerelease)},x0.prototype.increment=function(l0){switch(l0){case\"major\":return new x0(this.major+1,0,0);case\"minor\":return new x0(this.major,this.minor+1,0);case\"patch\":return new x0(this.major,this.minor,this.patch+1);default:return e.Debug.assertNever(l0)}},x0.prototype.toString=function(){var l0=this.major+\".\"+this.minor+\".\"+this.patch;return e.some(this.prerelease)&&(l0+=\"-\"+this.prerelease.join(\".\")),e.some(this.build)&&(l0+=\"+\"+this.build.join(\".\")),l0},x0.zero=new x0(0,0,0),x0}();function i0(x0){var l0=s.exec(x0);if(l0){var w0=l0[1],V=l0[2],w=V===void 0?\"0\":V,H=l0[3],k0=H===void 0?\"0\":H,V0=l0[4],t0=V0===void 0?\"\":V0,f0=l0[5],y0=f0===void 0?\"\":f0;if((!t0||X.test(t0))&&(!y0||J.test(y0)))return{major:parseInt(w0,10),minor:parseInt(w,10),patch:parseInt(k0,10),prerelease:t0,build:y0}}}e.Version=s1;var H0=function(){function x0(l0){this._alternatives=l0?e.Debug.checkDefined(o0(l0),\"Invalid range spec.\"):e.emptyArray}return x0.tryParse=function(l0){var w0=o0(l0);if(w0){var V=new x0(\"\");return V._alternatives=w0,V}},x0.prototype.test=function(l0){return typeof l0==\"string\"&&(l0=new s1(l0)),function(w0,V){if(V.length===0)return!0;for(var w=0,H=V;w<H.length;w++)if(d0(w0,H[w]))return!0;return!1}(l0,this._alternatives)},x0.prototype.toString=function(){return l0=this._alternatives,e.map(l0,c0).join(\" || \")||\"*\";var l0},x0}();e.VersionRange=H0;var E0=/\\s*\\|\\|\\s*/g,I=/\\s+/g,A=/^([xX*0]|[1-9]\\d*)(?:\\.([xX*0]|[1-9]\\d*)(?:\\.([xX*0]|[1-9]\\d*)(?:-([a-z0-9-.]+))?(?:\\+([a-z0-9-.]+))?)?)?$/i,Z=/^\\s*([a-z0-9-+.*]+)\\s+-\\s+([a-z0-9-+.*]+)\\s*$/i,A0=/^\\s*(~|\\^|<|<=|>|>=|=)?\\s*([a-z0-9-+.*]+)$/i;function o0(x0){for(var l0=[],w0=0,V=x0.trim().split(E0);w0<V.length;w0++){var w=V[w0];if(w){var H=[],k0=Z.exec(w);if(k0){if(!G(k0[1],k0[2],H))return}else for(var V0=0,t0=w.split(I);V0<t0.length;V0++){var f0=t0[V0],y0=A0.exec(f0);if(!y0||!u0(y0[1],y0[2],H))return}l0.push(H)}}return l0}function j(x0){var l0=A.exec(x0);if(l0){var w0=l0[1],V=l0[2],w=V===void 0?\"*\":V,H=l0[3],k0=H===void 0?\"*\":H,V0=l0[4],t0=l0[5];return{version:new s1(U(w0)?0:parseInt(w0,10),U(w0)||U(w)?0:parseInt(w,10),U(w0)||U(w)||U(k0)?0:parseInt(k0,10),V0,t0),major:w0,minor:w,patch:k0}}}function G(x0,l0,w0){var V=j(x0);if(!V)return!1;var w=j(l0);return!!w&&(U(V.major)||w0.push(g0(\">=\",V.version)),U(w.major)||w0.push(U(w.minor)?g0(\"<\",w.version.increment(\"major\")):U(w.patch)?g0(\"<\",w.version.increment(\"minor\")):g0(\"<=\",w.version)),!0)}function u0(x0,l0,w0){var V=j(l0);if(!V)return!1;var w=V.version,H=V.major,k0=V.minor,V0=V.patch;if(U(H))x0!==\"<\"&&x0!==\">\"||w0.push(g0(\"<\",s1.zero));else switch(x0){case\"~\":w0.push(g0(\">=\",w)),w0.push(g0(\"<\",w.increment(U(k0)?\"major\":\"minor\")));break;case\"^\":w0.push(g0(\">=\",w)),w0.push(g0(\"<\",w.increment(w.major>0||U(k0)?\"major\":w.minor>0||U(V0)?\"minor\":\"patch\")));break;case\"<\":case\">=\":w0.push(g0(x0,w));break;case\"<=\":case\">\":w0.push(U(k0)?g0(x0===\"<=\"?\"<\":\">=\",w.increment(\"major\")):U(V0)?g0(x0===\"<=\"?\"<\":\">=\",w.increment(\"minor\")):g0(x0,w));break;case\"=\":case void 0:U(k0)||U(V0)?(w0.push(g0(\">=\",w)),w0.push(g0(\"<\",w.increment(U(k0)?\"major\":\"minor\")))):w0.push(g0(\"=\",w));break;default:return!1}return!0}function U(x0){return x0===\"*\"||x0===\"x\"||x0===\"X\"}function g0(x0,l0){return{operator:x0,operand:l0}}function d0(x0,l0){for(var w0=0,V=l0;w0<V.length;w0++){var w=V[w0];if(!P0(x0,w.operator,w.operand))return!1}return!0}function P0(x0,l0,w0){var V=x0.compareTo(w0);switch(l0){case\"<\":return V<0;case\"<=\":return V<=0;case\">\":return V>0;case\">=\":return V>=0;case\"=\":return V===0;default:return e.Debug.assertNever(l0)}}function c0(x0){return e.map(x0,D0).join(\" \")}function D0(x0){return\"\"+x0.operator+x0.operand}}(_0||(_0={})),function(e){function s(m0,s1){return typeof m0==\"object\"&&typeof m0.timeOrigin==\"number\"&&typeof m0.mark==\"function\"&&typeof m0.measure==\"function\"&&typeof m0.now==\"function\"&&typeof s1==\"function\"}var X=function(){if(typeof performance==\"object\"&&typeof PerformanceObserver==\"function\"&&s(performance,PerformanceObserver))return{shouldWriteNativeEvents:!0,performance,PerformanceObserver}}()||function(){if(Lu!==void 0&&Lu.nextTick&&!Lu.browser&&typeof LQ==\"function\")try{var m0,s1={},i0=s1.performance,H0=s1.PerformanceObserver;if(s(i0,H0)){m0=i0;var E0=new e.Version(\"999.999.999\");return new e.VersionRange(\"<12.16.3 || 13 <13.13\").test(E0)&&(m0={get timeOrigin(){return i0.timeOrigin},now:function(){return i0.now()},mark:function(I){return i0.mark(I)},measure:function(I,A,Z){A===void 0&&(A=\"nodeStart\"),Z===void 0&&(Z=\"__performance.measure-fix__\",i0.mark(Z)),i0.measure(I,A,Z),Z===\"__performance.measure-fix__\"&&i0.clearMarks(\"__performance.measure-fix__\")}}),{shouldWriteNativeEvents:!1,performance:m0,PerformanceObserver:H0}}}catch{}}(),J=X==null?void 0:X.performance;e.tryGetNativePerformanceHooks=function(){return X},e.timestamp=J?function(){return J.now()}:Date.now?Date.now:function(){return+new Date}}(_0||(_0={})),function(e){(function(s){var X,J;function m0(A0,o0,j){var G=0;return{enter:function(){++G==1&&A(o0)},exit:function(){--G==0?(A(j),Z(A0,o0,j)):G<0&&e.Debug.fail(\"enter/exit count does not match.\")}}}s.createTimerIf=function(A0,o0,j,G){return A0?m0(o0,j,G):s.nullTimer},s.createTimer=m0,s.nullTimer={enter:e.noop,exit:e.noop};var s1=!1,i0=e.timestamp(),H0=new e.Map,E0=new e.Map,I=new e.Map;function A(A0){var o0;if(s1){var j=(o0=E0.get(A0))!==null&&o0!==void 0?o0:0;E0.set(A0,j+1),H0.set(A0,e.timestamp()),J==null||J.mark(A0)}}function Z(A0,o0,j){var G,u0;if(s1){var U=(G=j!==void 0?H0.get(j):void 0)!==null&&G!==void 0?G:e.timestamp(),g0=(u0=o0!==void 0?H0.get(o0):void 0)!==null&&u0!==void 0?u0:i0,d0=I.get(A0)||0;I.set(A0,d0+(U-g0)),J==null||J.measure(A0,o0,j)}}s.mark=A,s.measure=Z,s.getCount=function(A0){return E0.get(A0)||0},s.getDuration=function(A0){return I.get(A0)||0},s.forEachMeasure=function(A0){I.forEach(function(o0,j){return A0(j,o0)})},s.isEnabled=function(){return s1},s.enable=function(A0){var o0;return A0===void 0&&(A0=e.sys),s1||(s1=!0,X||(X=e.tryGetNativePerformanceHooks()),X&&(i0=X.performance.timeOrigin,(X.shouldWriteNativeEvents||((o0=A0==null?void 0:A0.cpuProfilingEnabled)===null||o0===void 0?void 0:o0.call(A0))||(A0==null?void 0:A0.debugMode))&&(J=X.performance))),!0},s.disable=function(){s1&&(H0.clear(),E0.clear(),I.clear(),J=void 0,s1=!1)}})(e.performance||(e.performance={}))}(_0||(_0={})),function(e){var s,X,J={logEvent:e.noop,logErrEvent:e.noop,logPerfEvent:e.noop,logInfoEvent:e.noop,logStartCommand:e.noop,logStopCommand:e.noop,logStartUpdateProgram:e.noop,logStopUpdateProgram:e.noop,logStartUpdateGraph:e.noop,logStopUpdateGraph:e.noop,logStartResolveModule:e.noop,logStopResolveModule:e.noop,logStartParseSourceFile:e.noop,logStopParseSourceFile:e.noop,logStartReadFile:e.noop,logStopReadFile:e.noop,logStartBindFile:e.noop,logStopBindFile:e.noop,logStartScheduledOperation:e.noop,logStopScheduledOperation:e.noop};try{var m0=(s=Lu.env.TS_ETW_MODULE_PATH)!==null&&s!==void 0?s:\"./node_modules/@microsoft/typescript-etw\";X=LQ(m0)}catch{X=void 0}e.perfLogger=X&&X.logEvent?X:J}(_0||(_0={})),function(e){var s;(function(X){var J,m0,s1,i0,H0=0,E0=0,I=[],A=[];X.startTracing=function(G,u0,U){if(e.Debug.assert(!e.tracing,\"Tracing already started\"),J===void 0)try{J=Uc}catch(D0){throw new Error(`tracing requires having fs\n(original error: `+(D0.message||D0)+\")\")}m0=G,I.length=0,s1===void 0&&(s1=e.combinePaths(u0,\"legend.json\")),J.existsSync(u0)||J.mkdirSync(u0,{recursive:!0});var g0=m0===\"build\"?\".\"+Lu.pid+\"-\"+ ++H0:m0===\"server\"?\".\"+Lu.pid:\"\",d0=e.combinePaths(u0,\"trace\"+g0+\".json\"),P0=e.combinePaths(u0,\"types\"+g0+\".json\");A.push({configFilePath:U,tracePath:d0,typesPath:P0}),E0=J.openSync(d0,\"w\"),e.tracing=X;var c0={cat:\"__metadata\",ph:\"M\",ts:1e3*e.timestamp(),pid:1,tid:1};J.writeSync(E0,`[\n`+[$({name:\"process_name\",args:{name:\"tsc\"}},c0),$({name:\"thread_name\",args:{name:\"Main\"}},c0),$($({name:\"TracingStartedInBrowser\"},c0),{cat:\"disabled-by-default-devtools.timeline\"})].map(function(D0){return JSON.stringify(D0)}).join(`,\n`))},X.stopTracing=function(){e.Debug.assert(e.tracing,\"Tracing is not in progress\"),e.Debug.assert(!!I.length==(m0!==\"server\")),J.writeSync(E0,`\n]\n`),J.closeSync(E0),e.tracing=void 0,I.length?function(G){var u0,U,g0,d0,P0,c0,D0,x0,l0,w0,V,w,H,k0,V0,t0,f0,y0,G0,d1,h1,S1;e.performance.mark(\"beginDumpTypes\");var Q1=A[A.length-1].typesPath,Y0=J.openSync(Q1,\"w\"),$1=new e.Map;J.writeSync(Y0,\"[\");for(var Z1=G.length,Q0=0;Q0<Z1;Q0++){var y1=G[Q0],k1=y1.objectFlags,I1=(u0=y1.aliasSymbol)!==null&&u0!==void 0?u0:y1.symbol,K0=void 0;if(16&k1|2944&y1.flags)try{K0=(U=y1.checker)===null||U===void 0?void 0:U.typeToString(y1)}catch{K0=void 0}var G1={};if(8388608&y1.flags){var Nx=y1;G1={indexedAccessObjectType:(g0=Nx.objectType)===null||g0===void 0?void 0:g0.id,indexedAccessIndexType:(d0=Nx.indexType)===null||d0===void 0?void 0:d0.id}}var n1={};if(4&k1){var S0=y1;n1={instantiatedType:(P0=S0.target)===null||P0===void 0?void 0:P0.id,typeArguments:(c0=S0.resolvedTypeArguments)===null||c0===void 0?void 0:c0.map(function(C1){return C1.id}),referenceLocation:j(S0.node)}}var I0={};if(16777216&y1.flags){var U0=y1;I0={conditionalCheckType:(D0=U0.checkType)===null||D0===void 0?void 0:D0.id,conditionalExtendsType:(x0=U0.extendsType)===null||x0===void 0?void 0:x0.id,conditionalTrueType:(w0=(l0=U0.resolvedTrueType)===null||l0===void 0?void 0:l0.id)!==null&&w0!==void 0?w0:-1,conditionalFalseType:(w=(V=U0.resolvedFalseType)===null||V===void 0?void 0:V.id)!==null&&w!==void 0?w:-1}}var p0={};if(33554432&y1.flags){var p1=y1;p0={substitutionBaseType:(H=p1.baseType)===null||H===void 0?void 0:H.id,substituteType:(k0=p1.substitute)===null||k0===void 0?void 0:k0.id}}var Y1={};if(1024&k1){var N1=y1;Y1={reverseMappedSourceType:(V0=N1.source)===null||V0===void 0?void 0:V0.id,reverseMappedMappedType:(t0=N1.mappedType)===null||t0===void 0?void 0:t0.id,reverseMappedConstraintType:(f0=N1.constraintType)===null||f0===void 0?void 0:f0.id}}var V1={};if(256&k1){var Ox=y1;V1={evolvingArrayElementType:Ox.elementType.id,evolvingArrayFinalType:(y0=Ox.finalArrayType)===null||y0===void 0?void 0:y0.id}}var $x=void 0,rx=y1.checker.getRecursionIdentity(y1);rx&&(($x=$1.get(rx))||($x=$1.size,$1.set(rx,$x)));var O0=$($($($($($($({id:y1.id,intrinsicName:y1.intrinsicName,symbolName:(I1==null?void 0:I1.escapedName)&&e.unescapeLeadingUnderscores(I1.escapedName),recursionId:$x,isTuple:!!(8&k1)||void 0,unionTypes:1048576&y1.flags?(G0=y1.types)===null||G0===void 0?void 0:G0.map(function(C1){return C1.id}):void 0,intersectionTypes:2097152&y1.flags?y1.types.map(function(C1){return C1.id}):void 0,aliasTypeArguments:(d1=y1.aliasTypeArguments)===null||d1===void 0?void 0:d1.map(function(C1){return C1.id}),keyofType:4194304&y1.flags?(h1=y1.type)===null||h1===void 0?void 0:h1.id:void 0},G1),n1),I0),p0),Y1),V1),{destructuringPattern:j(y1.pattern),firstDeclaration:j((S1=I1==null?void 0:I1.declarations)===null||S1===void 0?void 0:S1[0]),flags:e.Debug.formatTypeFlags(y1.flags).split(\"|\"),display:K0});J.writeSync(Y0,JSON.stringify(O0)),Q0<Z1-1&&J.writeSync(Y0,`,\n`)}J.writeSync(Y0,`]\n`),J.closeSync(Y0),e.performance.mark(\"endDumpTypes\"),e.performance.measure(\"Dump types\",\"beginDumpTypes\",\"endDumpTypes\")}(I):A[A.length-1].typesPath=void 0},X.recordType=function(G){m0!==\"server\"&&I.push(G)},(i0=X.Phase||(X.Phase={})).Parse=\"parse\",i0.Program=\"program\",i0.Bind=\"bind\",i0.Check=\"check\",i0.CheckTypes=\"checkTypes\",i0.Emit=\"emit\",i0.Session=\"session\",X.instant=function(G,u0,U){o0(\"I\",G,u0,U,'\"s\":\"g\"')};var Z=[];X.push=function(G,u0,U,g0){g0===void 0&&(g0=!1),g0&&o0(\"B\",G,u0,U),Z.push({phase:G,name:u0,args:U,time:1e3*e.timestamp(),separateBeginAndEnd:g0})},X.pop=function(){e.Debug.assert(Z.length>0),A0(Z.length-1,1e3*e.timestamp()),Z.length--},X.popAll=function(){for(var G=1e3*e.timestamp(),u0=Z.length-1;u0>=0;u0--)A0(u0,G);Z.length=0};function A0(G,u0){var U=Z[G],g0=U.phase,d0=U.name,P0=U.args,c0=U.time;U.separateBeginAndEnd?o0(\"E\",g0,d0,P0,void 0,u0):1e4-c0%1e4<=u0-c0&&o0(\"X\",g0,d0,P0,'\"dur\":'+(u0-c0),c0)}function o0(G,u0,U,g0,d0,P0){P0===void 0&&(P0=1e3*e.timestamp()),m0===\"server\"&&u0===\"checkTypes\"||(e.performance.mark(\"beginTracing\"),J.writeSync(E0,`,\n{\"pid\":1,\"tid\":1,\"ph\":\"`+G+'\",\"cat\":\"'+u0+'\",\"ts\":'+P0+',\"name\":\"'+U+'\"'),d0&&J.writeSync(E0,\",\"+d0),g0&&J.writeSync(E0,',\"args\":'+JSON.stringify(g0)),J.writeSync(E0,\"}\"),e.performance.mark(\"endTracing\"),e.performance.measure(\"Tracing\",\"beginTracing\",\"endTracing\"))}function j(G){var u0=e.getSourceFileOfNode(G);return u0?{path:u0.path,start:U(e.getLineAndCharacterOfPosition(u0,G.pos)),end:U(e.getLineAndCharacterOfPosition(u0,G.end))}:void 0;function U(g0){return{line:g0.line+1,character:g0.character+1}}}X.dumpLegend=function(){s1&&J.writeFileSync(s1,JSON.stringify(A))}})(s||(s={})),e.startTracing=s.startTracing,e.dumpTracingLegend=s.dumpLegend}(_0||(_0={})),function(e){var s,X,J,m0,s1,i0,H0,E0,I;(s=e.SyntaxKind||(e.SyntaxKind={}))[s.Unknown=0]=\"Unknown\",s[s.EndOfFileToken=1]=\"EndOfFileToken\",s[s.SingleLineCommentTrivia=2]=\"SingleLineCommentTrivia\",s[s.MultiLineCommentTrivia=3]=\"MultiLineCommentTrivia\",s[s.NewLineTrivia=4]=\"NewLineTrivia\",s[s.WhitespaceTrivia=5]=\"WhitespaceTrivia\",s[s.ShebangTrivia=6]=\"ShebangTrivia\",s[s.ConflictMarkerTrivia=7]=\"ConflictMarkerTrivia\",s[s.NumericLiteral=8]=\"NumericLiteral\",s[s.BigIntLiteral=9]=\"BigIntLiteral\",s[s.StringLiteral=10]=\"StringLiteral\",s[s.JsxText=11]=\"JsxText\",s[s.JsxTextAllWhiteSpaces=12]=\"JsxTextAllWhiteSpaces\",s[s.RegularExpressionLiteral=13]=\"RegularExpressionLiteral\",s[s.NoSubstitutionTemplateLiteral=14]=\"NoSubstitutionTemplateLiteral\",s[s.TemplateHead=15]=\"TemplateHead\",s[s.TemplateMiddle=16]=\"TemplateMiddle\",s[s.TemplateTail=17]=\"TemplateTail\",s[s.OpenBraceToken=18]=\"OpenBraceToken\",s[s.CloseBraceToken=19]=\"CloseBraceToken\",s[s.OpenParenToken=20]=\"OpenParenToken\",s[s.CloseParenToken=21]=\"CloseParenToken\",s[s.OpenBracketToken=22]=\"OpenBracketToken\",s[s.CloseBracketToken=23]=\"CloseBracketToken\",s[s.DotToken=24]=\"DotToken\",s[s.DotDotDotToken=25]=\"DotDotDotToken\",s[s.SemicolonToken=26]=\"SemicolonToken\",s[s.CommaToken=27]=\"CommaToken\",s[s.QuestionDotToken=28]=\"QuestionDotToken\",s[s.LessThanToken=29]=\"LessThanToken\",s[s.LessThanSlashToken=30]=\"LessThanSlashToken\",s[s.GreaterThanToken=31]=\"GreaterThanToken\",s[s.LessThanEqualsToken=32]=\"LessThanEqualsToken\",s[s.GreaterThanEqualsToken=33]=\"GreaterThanEqualsToken\",s[s.EqualsEqualsToken=34]=\"EqualsEqualsToken\",s[s.ExclamationEqualsToken=35]=\"ExclamationEqualsToken\",s[s.EqualsEqualsEqualsToken=36]=\"EqualsEqualsEqualsToken\",s[s.ExclamationEqualsEqualsToken=37]=\"ExclamationEqualsEqualsToken\",s[s.EqualsGreaterThanToken=38]=\"EqualsGreaterThanToken\",s[s.PlusToken=39]=\"PlusToken\",s[s.MinusToken=40]=\"MinusToken\",s[s.AsteriskToken=41]=\"AsteriskToken\",s[s.AsteriskAsteriskToken=42]=\"AsteriskAsteriskToken\",s[s.SlashToken=43]=\"SlashToken\",s[s.PercentToken=44]=\"PercentToken\",s[s.PlusPlusToken=45]=\"PlusPlusToken\",s[s.MinusMinusToken=46]=\"MinusMinusToken\",s[s.LessThanLessThanToken=47]=\"LessThanLessThanToken\",s[s.GreaterThanGreaterThanToken=48]=\"GreaterThanGreaterThanToken\",s[s.GreaterThanGreaterThanGreaterThanToken=49]=\"GreaterThanGreaterThanGreaterThanToken\",s[s.AmpersandToken=50]=\"AmpersandToken\",s[s.BarToken=51]=\"BarToken\",s[s.CaretToken=52]=\"CaretToken\",s[s.ExclamationToken=53]=\"ExclamationToken\",s[s.TildeToken=54]=\"TildeToken\",s[s.AmpersandAmpersandToken=55]=\"AmpersandAmpersandToken\",s[s.BarBarToken=56]=\"BarBarToken\",s[s.QuestionToken=57]=\"QuestionToken\",s[s.ColonToken=58]=\"ColonToken\",s[s.AtToken=59]=\"AtToken\",s[s.QuestionQuestionToken=60]=\"QuestionQuestionToken\",s[s.BacktickToken=61]=\"BacktickToken\",s[s.EqualsToken=62]=\"EqualsToken\",s[s.PlusEqualsToken=63]=\"PlusEqualsToken\",s[s.MinusEqualsToken=64]=\"MinusEqualsToken\",s[s.AsteriskEqualsToken=65]=\"AsteriskEqualsToken\",s[s.AsteriskAsteriskEqualsToken=66]=\"AsteriskAsteriskEqualsToken\",s[s.SlashEqualsToken=67]=\"SlashEqualsToken\",s[s.PercentEqualsToken=68]=\"PercentEqualsToken\",s[s.LessThanLessThanEqualsToken=69]=\"LessThanLessThanEqualsToken\",s[s.GreaterThanGreaterThanEqualsToken=70]=\"GreaterThanGreaterThanEqualsToken\",s[s.GreaterThanGreaterThanGreaterThanEqualsToken=71]=\"GreaterThanGreaterThanGreaterThanEqualsToken\",s[s.AmpersandEqualsToken=72]=\"AmpersandEqualsToken\",s[s.BarEqualsToken=73]=\"BarEqualsToken\",s[s.BarBarEqualsToken=74]=\"BarBarEqualsToken\",s[s.AmpersandAmpersandEqualsToken=75]=\"AmpersandAmpersandEqualsToken\",s[s.QuestionQuestionEqualsToken=76]=\"QuestionQuestionEqualsToken\",s[s.CaretEqualsToken=77]=\"CaretEqualsToken\",s[s.Identifier=78]=\"Identifier\",s[s.PrivateIdentifier=79]=\"PrivateIdentifier\",s[s.BreakKeyword=80]=\"BreakKeyword\",s[s.CaseKeyword=81]=\"CaseKeyword\",s[s.CatchKeyword=82]=\"CatchKeyword\",s[s.ClassKeyword=83]=\"ClassKeyword\",s[s.ConstKeyword=84]=\"ConstKeyword\",s[s.ContinueKeyword=85]=\"ContinueKeyword\",s[s.DebuggerKeyword=86]=\"DebuggerKeyword\",s[s.DefaultKeyword=87]=\"DefaultKeyword\",s[s.DeleteKeyword=88]=\"DeleteKeyword\",s[s.DoKeyword=89]=\"DoKeyword\",s[s.ElseKeyword=90]=\"ElseKeyword\",s[s.EnumKeyword=91]=\"EnumKeyword\",s[s.ExportKeyword=92]=\"ExportKeyword\",s[s.ExtendsKeyword=93]=\"ExtendsKeyword\",s[s.FalseKeyword=94]=\"FalseKeyword\",s[s.FinallyKeyword=95]=\"FinallyKeyword\",s[s.ForKeyword=96]=\"ForKeyword\",s[s.FunctionKeyword=97]=\"FunctionKeyword\",s[s.IfKeyword=98]=\"IfKeyword\",s[s.ImportKeyword=99]=\"ImportKeyword\",s[s.InKeyword=100]=\"InKeyword\",s[s.InstanceOfKeyword=101]=\"InstanceOfKeyword\",s[s.NewKeyword=102]=\"NewKeyword\",s[s.NullKeyword=103]=\"NullKeyword\",s[s.ReturnKeyword=104]=\"ReturnKeyword\",s[s.SuperKeyword=105]=\"SuperKeyword\",s[s.SwitchKeyword=106]=\"SwitchKeyword\",s[s.ThisKeyword=107]=\"ThisKeyword\",s[s.ThrowKeyword=108]=\"ThrowKeyword\",s[s.TrueKeyword=109]=\"TrueKeyword\",s[s.TryKeyword=110]=\"TryKeyword\",s[s.TypeOfKeyword=111]=\"TypeOfKeyword\",s[s.VarKeyword=112]=\"VarKeyword\",s[s.VoidKeyword=113]=\"VoidKeyword\",s[s.WhileKeyword=114]=\"WhileKeyword\",s[s.WithKeyword=115]=\"WithKeyword\",s[s.ImplementsKeyword=116]=\"ImplementsKeyword\",s[s.InterfaceKeyword=117]=\"InterfaceKeyword\",s[s.LetKeyword=118]=\"LetKeyword\",s[s.PackageKeyword=119]=\"PackageKeyword\",s[s.PrivateKeyword=120]=\"PrivateKeyword\",s[s.ProtectedKeyword=121]=\"ProtectedKeyword\",s[s.PublicKeyword=122]=\"PublicKeyword\",s[s.StaticKeyword=123]=\"StaticKeyword\",s[s.YieldKeyword=124]=\"YieldKeyword\",s[s.AbstractKeyword=125]=\"AbstractKeyword\",s[s.AsKeyword=126]=\"AsKeyword\",s[s.AssertsKeyword=127]=\"AssertsKeyword\",s[s.AnyKeyword=128]=\"AnyKeyword\",s[s.AsyncKeyword=129]=\"AsyncKeyword\",s[s.AwaitKeyword=130]=\"AwaitKeyword\",s[s.BooleanKeyword=131]=\"BooleanKeyword\",s[s.ConstructorKeyword=132]=\"ConstructorKeyword\",s[s.DeclareKeyword=133]=\"DeclareKeyword\",s[s.GetKeyword=134]=\"GetKeyword\",s[s.InferKeyword=135]=\"InferKeyword\",s[s.IntrinsicKeyword=136]=\"IntrinsicKeyword\",s[s.IsKeyword=137]=\"IsKeyword\",s[s.KeyOfKeyword=138]=\"KeyOfKeyword\",s[s.ModuleKeyword=139]=\"ModuleKeyword\",s[s.NamespaceKeyword=140]=\"NamespaceKeyword\",s[s.NeverKeyword=141]=\"NeverKeyword\",s[s.ReadonlyKeyword=142]=\"ReadonlyKeyword\",s[s.RequireKeyword=143]=\"RequireKeyword\",s[s.NumberKeyword=144]=\"NumberKeyword\",s[s.ObjectKeyword=145]=\"ObjectKeyword\",s[s.SetKeyword=146]=\"SetKeyword\",s[s.StringKeyword=147]=\"StringKeyword\",s[s.SymbolKeyword=148]=\"SymbolKeyword\",s[s.TypeKeyword=149]=\"TypeKeyword\",s[s.UndefinedKeyword=150]=\"UndefinedKeyword\",s[s.UniqueKeyword=151]=\"UniqueKeyword\",s[s.UnknownKeyword=152]=\"UnknownKeyword\",s[s.FromKeyword=153]=\"FromKeyword\",s[s.GlobalKeyword=154]=\"GlobalKeyword\",s[s.BigIntKeyword=155]=\"BigIntKeyword\",s[s.OverrideKeyword=156]=\"OverrideKeyword\",s[s.OfKeyword=157]=\"OfKeyword\",s[s.QualifiedName=158]=\"QualifiedName\",s[s.ComputedPropertyName=159]=\"ComputedPropertyName\",s[s.TypeParameter=160]=\"TypeParameter\",s[s.Parameter=161]=\"Parameter\",s[s.Decorator=162]=\"Decorator\",s[s.PropertySignature=163]=\"PropertySignature\",s[s.PropertyDeclaration=164]=\"PropertyDeclaration\",s[s.MethodSignature=165]=\"MethodSignature\",s[s.MethodDeclaration=166]=\"MethodDeclaration\",s[s.Constructor=167]=\"Constructor\",s[s.GetAccessor=168]=\"GetAccessor\",s[s.SetAccessor=169]=\"SetAccessor\",s[s.CallSignature=170]=\"CallSignature\",s[s.ConstructSignature=171]=\"ConstructSignature\",s[s.IndexSignature=172]=\"IndexSignature\",s[s.TypePredicate=173]=\"TypePredicate\",s[s.TypeReference=174]=\"TypeReference\",s[s.FunctionType=175]=\"FunctionType\",s[s.ConstructorType=176]=\"ConstructorType\",s[s.TypeQuery=177]=\"TypeQuery\",s[s.TypeLiteral=178]=\"TypeLiteral\",s[s.ArrayType=179]=\"ArrayType\",s[s.TupleType=180]=\"TupleType\",s[s.OptionalType=181]=\"OptionalType\",s[s.RestType=182]=\"RestType\",s[s.UnionType=183]=\"UnionType\",s[s.IntersectionType=184]=\"IntersectionType\",s[s.ConditionalType=185]=\"ConditionalType\",s[s.InferType=186]=\"InferType\",s[s.ParenthesizedType=187]=\"ParenthesizedType\",s[s.ThisType=188]=\"ThisType\",s[s.TypeOperator=189]=\"TypeOperator\",s[s.IndexedAccessType=190]=\"IndexedAccessType\",s[s.MappedType=191]=\"MappedType\",s[s.LiteralType=192]=\"LiteralType\",s[s.NamedTupleMember=193]=\"NamedTupleMember\",s[s.TemplateLiteralType=194]=\"TemplateLiteralType\",s[s.TemplateLiteralTypeSpan=195]=\"TemplateLiteralTypeSpan\",s[s.ImportType=196]=\"ImportType\",s[s.ObjectBindingPattern=197]=\"ObjectBindingPattern\",s[s.ArrayBindingPattern=198]=\"ArrayBindingPattern\",s[s.BindingElement=199]=\"BindingElement\",s[s.ArrayLiteralExpression=200]=\"ArrayLiteralExpression\",s[s.ObjectLiteralExpression=201]=\"ObjectLiteralExpression\",s[s.PropertyAccessExpression=202]=\"PropertyAccessExpression\",s[s.ElementAccessExpression=203]=\"ElementAccessExpression\",s[s.CallExpression=204]=\"CallExpression\",s[s.NewExpression=205]=\"NewExpression\",s[s.TaggedTemplateExpression=206]=\"TaggedTemplateExpression\",s[s.TypeAssertionExpression=207]=\"TypeAssertionExpression\",s[s.ParenthesizedExpression=208]=\"ParenthesizedExpression\",s[s.FunctionExpression=209]=\"FunctionExpression\",s[s.ArrowFunction=210]=\"ArrowFunction\",s[s.DeleteExpression=211]=\"DeleteExpression\",s[s.TypeOfExpression=212]=\"TypeOfExpression\",s[s.VoidExpression=213]=\"VoidExpression\",s[s.AwaitExpression=214]=\"AwaitExpression\",s[s.PrefixUnaryExpression=215]=\"PrefixUnaryExpression\",s[s.PostfixUnaryExpression=216]=\"PostfixUnaryExpression\",s[s.BinaryExpression=217]=\"BinaryExpression\",s[s.ConditionalExpression=218]=\"ConditionalExpression\",s[s.TemplateExpression=219]=\"TemplateExpression\",s[s.YieldExpression=220]=\"YieldExpression\",s[s.SpreadElement=221]=\"SpreadElement\",s[s.ClassExpression=222]=\"ClassExpression\",s[s.OmittedExpression=223]=\"OmittedExpression\",s[s.ExpressionWithTypeArguments=224]=\"ExpressionWithTypeArguments\",s[s.AsExpression=225]=\"AsExpression\",s[s.NonNullExpression=226]=\"NonNullExpression\",s[s.MetaProperty=227]=\"MetaProperty\",s[s.SyntheticExpression=228]=\"SyntheticExpression\",s[s.TemplateSpan=229]=\"TemplateSpan\",s[s.SemicolonClassElement=230]=\"SemicolonClassElement\",s[s.Block=231]=\"Block\",s[s.EmptyStatement=232]=\"EmptyStatement\",s[s.VariableStatement=233]=\"VariableStatement\",s[s.ExpressionStatement=234]=\"ExpressionStatement\",s[s.IfStatement=235]=\"IfStatement\",s[s.DoStatement=236]=\"DoStatement\",s[s.WhileStatement=237]=\"WhileStatement\",s[s.ForStatement=238]=\"ForStatement\",s[s.ForInStatement=239]=\"ForInStatement\",s[s.ForOfStatement=240]=\"ForOfStatement\",s[s.ContinueStatement=241]=\"ContinueStatement\",s[s.BreakStatement=242]=\"BreakStatement\",s[s.ReturnStatement=243]=\"ReturnStatement\",s[s.WithStatement=244]=\"WithStatement\",s[s.SwitchStatement=245]=\"SwitchStatement\",s[s.LabeledStatement=246]=\"LabeledStatement\",s[s.ThrowStatement=247]=\"ThrowStatement\",s[s.TryStatement=248]=\"TryStatement\",s[s.DebuggerStatement=249]=\"DebuggerStatement\",s[s.VariableDeclaration=250]=\"VariableDeclaration\",s[s.VariableDeclarationList=251]=\"VariableDeclarationList\",s[s.FunctionDeclaration=252]=\"FunctionDeclaration\",s[s.ClassDeclaration=253]=\"ClassDeclaration\",s[s.InterfaceDeclaration=254]=\"InterfaceDeclaration\",s[s.TypeAliasDeclaration=255]=\"TypeAliasDeclaration\",s[s.EnumDeclaration=256]=\"EnumDeclaration\",s[s.ModuleDeclaration=257]=\"ModuleDeclaration\",s[s.ModuleBlock=258]=\"ModuleBlock\",s[s.CaseBlock=259]=\"CaseBlock\",s[s.NamespaceExportDeclaration=260]=\"NamespaceExportDeclaration\",s[s.ImportEqualsDeclaration=261]=\"ImportEqualsDeclaration\",s[s.ImportDeclaration=262]=\"ImportDeclaration\",s[s.ImportClause=263]=\"ImportClause\",s[s.NamespaceImport=264]=\"NamespaceImport\",s[s.NamedImports=265]=\"NamedImports\",s[s.ImportSpecifier=266]=\"ImportSpecifier\",s[s.ExportAssignment=267]=\"ExportAssignment\",s[s.ExportDeclaration=268]=\"ExportDeclaration\",s[s.NamedExports=269]=\"NamedExports\",s[s.NamespaceExport=270]=\"NamespaceExport\",s[s.ExportSpecifier=271]=\"ExportSpecifier\",s[s.MissingDeclaration=272]=\"MissingDeclaration\",s[s.ExternalModuleReference=273]=\"ExternalModuleReference\",s[s.JsxElement=274]=\"JsxElement\",s[s.JsxSelfClosingElement=275]=\"JsxSelfClosingElement\",s[s.JsxOpeningElement=276]=\"JsxOpeningElement\",s[s.JsxClosingElement=277]=\"JsxClosingElement\",s[s.JsxFragment=278]=\"JsxFragment\",s[s.JsxOpeningFragment=279]=\"JsxOpeningFragment\",s[s.JsxClosingFragment=280]=\"JsxClosingFragment\",s[s.JsxAttribute=281]=\"JsxAttribute\",s[s.JsxAttributes=282]=\"JsxAttributes\",s[s.JsxSpreadAttribute=283]=\"JsxSpreadAttribute\",s[s.JsxExpression=284]=\"JsxExpression\",s[s.CaseClause=285]=\"CaseClause\",s[s.DefaultClause=286]=\"DefaultClause\",s[s.HeritageClause=287]=\"HeritageClause\",s[s.CatchClause=288]=\"CatchClause\",s[s.PropertyAssignment=289]=\"PropertyAssignment\",s[s.ShorthandPropertyAssignment=290]=\"ShorthandPropertyAssignment\",s[s.SpreadAssignment=291]=\"SpreadAssignment\",s[s.EnumMember=292]=\"EnumMember\",s[s.UnparsedPrologue=293]=\"UnparsedPrologue\",s[s.UnparsedPrepend=294]=\"UnparsedPrepend\",s[s.UnparsedText=295]=\"UnparsedText\",s[s.UnparsedInternalText=296]=\"UnparsedInternalText\",s[s.UnparsedSyntheticReference=297]=\"UnparsedSyntheticReference\",s[s.SourceFile=298]=\"SourceFile\",s[s.Bundle=299]=\"Bundle\",s[s.UnparsedSource=300]=\"UnparsedSource\",s[s.InputFiles=301]=\"InputFiles\",s[s.JSDocTypeExpression=302]=\"JSDocTypeExpression\",s[s.JSDocNameReference=303]=\"JSDocNameReference\",s[s.JSDocAllType=304]=\"JSDocAllType\",s[s.JSDocUnknownType=305]=\"JSDocUnknownType\",s[s.JSDocNullableType=306]=\"JSDocNullableType\",s[s.JSDocNonNullableType=307]=\"JSDocNonNullableType\",s[s.JSDocOptionalType=308]=\"JSDocOptionalType\",s[s.JSDocFunctionType=309]=\"JSDocFunctionType\",s[s.JSDocVariadicType=310]=\"JSDocVariadicType\",s[s.JSDocNamepathType=311]=\"JSDocNamepathType\",s[s.JSDocComment=312]=\"JSDocComment\",s[s.JSDocText=313]=\"JSDocText\",s[s.JSDocTypeLiteral=314]=\"JSDocTypeLiteral\",s[s.JSDocSignature=315]=\"JSDocSignature\",s[s.JSDocLink=316]=\"JSDocLink\",s[s.JSDocTag=317]=\"JSDocTag\",s[s.JSDocAugmentsTag=318]=\"JSDocAugmentsTag\",s[s.JSDocImplementsTag=319]=\"JSDocImplementsTag\",s[s.JSDocAuthorTag=320]=\"JSDocAuthorTag\",s[s.JSDocDeprecatedTag=321]=\"JSDocDeprecatedTag\",s[s.JSDocClassTag=322]=\"JSDocClassTag\",s[s.JSDocPublicTag=323]=\"JSDocPublicTag\",s[s.JSDocPrivateTag=324]=\"JSDocPrivateTag\",s[s.JSDocProtectedTag=325]=\"JSDocProtectedTag\",s[s.JSDocReadonlyTag=326]=\"JSDocReadonlyTag\",s[s.JSDocOverrideTag=327]=\"JSDocOverrideTag\",s[s.JSDocCallbackTag=328]=\"JSDocCallbackTag\",s[s.JSDocEnumTag=329]=\"JSDocEnumTag\",s[s.JSDocParameterTag=330]=\"JSDocParameterTag\",s[s.JSDocReturnTag=331]=\"JSDocReturnTag\",s[s.JSDocThisTag=332]=\"JSDocThisTag\",s[s.JSDocTypeTag=333]=\"JSDocTypeTag\",s[s.JSDocTemplateTag=334]=\"JSDocTemplateTag\",s[s.JSDocTypedefTag=335]=\"JSDocTypedefTag\",s[s.JSDocSeeTag=336]=\"JSDocSeeTag\",s[s.JSDocPropertyTag=337]=\"JSDocPropertyTag\",s[s.SyntaxList=338]=\"SyntaxList\",s[s.NotEmittedStatement=339]=\"NotEmittedStatement\",s[s.PartiallyEmittedExpression=340]=\"PartiallyEmittedExpression\",s[s.CommaListExpression=341]=\"CommaListExpression\",s[s.MergeDeclarationMarker=342]=\"MergeDeclarationMarker\",s[s.EndOfDeclarationMarker=343]=\"EndOfDeclarationMarker\",s[s.SyntheticReferenceExpression=344]=\"SyntheticReferenceExpression\",s[s.Count=345]=\"Count\",s[s.FirstAssignment=62]=\"FirstAssignment\",s[s.LastAssignment=77]=\"LastAssignment\",s[s.FirstCompoundAssignment=63]=\"FirstCompoundAssignment\",s[s.LastCompoundAssignment=77]=\"LastCompoundAssignment\",s[s.FirstReservedWord=80]=\"FirstReservedWord\",s[s.LastReservedWord=115]=\"LastReservedWord\",s[s.FirstKeyword=80]=\"FirstKeyword\",s[s.LastKeyword=157]=\"LastKeyword\",s[s.FirstFutureReservedWord=116]=\"FirstFutureReservedWord\",s[s.LastFutureReservedWord=124]=\"LastFutureReservedWord\",s[s.FirstTypeNode=173]=\"FirstTypeNode\",s[s.LastTypeNode=196]=\"LastTypeNode\",s[s.FirstPunctuation=18]=\"FirstPunctuation\",s[s.LastPunctuation=77]=\"LastPunctuation\",s[s.FirstToken=0]=\"FirstToken\",s[s.LastToken=157]=\"LastToken\",s[s.FirstTriviaToken=2]=\"FirstTriviaToken\",s[s.LastTriviaToken=7]=\"LastTriviaToken\",s[s.FirstLiteralToken=8]=\"FirstLiteralToken\",s[s.LastLiteralToken=14]=\"LastLiteralToken\",s[s.FirstTemplateToken=14]=\"FirstTemplateToken\",s[s.LastTemplateToken=17]=\"LastTemplateToken\",s[s.FirstBinaryOperator=29]=\"FirstBinaryOperator\",s[s.LastBinaryOperator=77]=\"LastBinaryOperator\",s[s.FirstStatement=233]=\"FirstStatement\",s[s.LastStatement=249]=\"LastStatement\",s[s.FirstNode=158]=\"FirstNode\",s[s.FirstJSDocNode=302]=\"FirstJSDocNode\",s[s.LastJSDocNode=337]=\"LastJSDocNode\",s[s.FirstJSDocTagNode=317]=\"FirstJSDocTagNode\",s[s.LastJSDocTagNode=337]=\"LastJSDocTagNode\",s[s.FirstContextualKeyword=125]=\"FirstContextualKeyword\",s[s.LastContextualKeyword=157]=\"LastContextualKeyword\",(X=e.NodeFlags||(e.NodeFlags={}))[X.None=0]=\"None\",X[X.Let=1]=\"Let\",X[X.Const=2]=\"Const\",X[X.NestedNamespace=4]=\"NestedNamespace\",X[X.Synthesized=8]=\"Synthesized\",X[X.Namespace=16]=\"Namespace\",X[X.OptionalChain=32]=\"OptionalChain\",X[X.ExportContext=64]=\"ExportContext\",X[X.ContainsThis=128]=\"ContainsThis\",X[X.HasImplicitReturn=256]=\"HasImplicitReturn\",X[X.HasExplicitReturn=512]=\"HasExplicitReturn\",X[X.GlobalAugmentation=1024]=\"GlobalAugmentation\",X[X.HasAsyncFunctions=2048]=\"HasAsyncFunctions\",X[X.DisallowInContext=4096]=\"DisallowInContext\",X[X.YieldContext=8192]=\"YieldContext\",X[X.DecoratorContext=16384]=\"DecoratorContext\",X[X.AwaitContext=32768]=\"AwaitContext\",X[X.ThisNodeHasError=65536]=\"ThisNodeHasError\",X[X.JavaScriptFile=131072]=\"JavaScriptFile\",X[X.ThisNodeOrAnySubNodesHasError=262144]=\"ThisNodeOrAnySubNodesHasError\",X[X.HasAggregatedChildData=524288]=\"HasAggregatedChildData\",X[X.PossiblyContainsDynamicImport=1048576]=\"PossiblyContainsDynamicImport\",X[X.PossiblyContainsImportMeta=2097152]=\"PossiblyContainsImportMeta\",X[X.JSDoc=4194304]=\"JSDoc\",X[X.Ambient=8388608]=\"Ambient\",X[X.InWithStatement=16777216]=\"InWithStatement\",X[X.JsonFile=33554432]=\"JsonFile\",X[X.TypeCached=67108864]=\"TypeCached\",X[X.Deprecated=134217728]=\"Deprecated\",X[X.BlockScoped=3]=\"BlockScoped\",X[X.ReachabilityCheckFlags=768]=\"ReachabilityCheckFlags\",X[X.ReachabilityAndEmitFlags=2816]=\"ReachabilityAndEmitFlags\",X[X.ContextFlags=25358336]=\"ContextFlags\",X[X.TypeExcludesFlags=40960]=\"TypeExcludesFlags\",X[X.PermanentlySetIncrementalFlags=3145728]=\"PermanentlySetIncrementalFlags\",(J=e.ModifierFlags||(e.ModifierFlags={}))[J.None=0]=\"None\",J[J.Export=1]=\"Export\",J[J.Ambient=2]=\"Ambient\",J[J.Public=4]=\"Public\",J[J.Private=8]=\"Private\",J[J.Protected=16]=\"Protected\",J[J.Static=32]=\"Static\",J[J.Readonly=64]=\"Readonly\",J[J.Abstract=128]=\"Abstract\",J[J.Async=256]=\"Async\",J[J.Default=512]=\"Default\",J[J.Const=2048]=\"Const\",J[J.HasComputedJSDocModifiers=4096]=\"HasComputedJSDocModifiers\",J[J.Deprecated=8192]=\"Deprecated\",J[J.Override=16384]=\"Override\",J[J.HasComputedFlags=536870912]=\"HasComputedFlags\",J[J.AccessibilityModifier=28]=\"AccessibilityModifier\",J[J.ParameterPropertyModifier=16476]=\"ParameterPropertyModifier\",J[J.NonPublicAccessibilityModifier=24]=\"NonPublicAccessibilityModifier\",J[J.TypeScriptModifier=18654]=\"TypeScriptModifier\",J[J.ExportDefault=513]=\"ExportDefault\",J[J.All=27647]=\"All\",(m0=e.JsxFlags||(e.JsxFlags={}))[m0.None=0]=\"None\",m0[m0.IntrinsicNamedElement=1]=\"IntrinsicNamedElement\",m0[m0.IntrinsicIndexedElement=2]=\"IntrinsicIndexedElement\",m0[m0.IntrinsicElement=3]=\"IntrinsicElement\",(s1=e.RelationComparisonResult||(e.RelationComparisonResult={}))[s1.Succeeded=1]=\"Succeeded\",s1[s1.Failed=2]=\"Failed\",s1[s1.Reported=4]=\"Reported\",s1[s1.ReportsUnmeasurable=8]=\"ReportsUnmeasurable\",s1[s1.ReportsUnreliable=16]=\"ReportsUnreliable\",s1[s1.ReportsMask=24]=\"ReportsMask\",(i0=e.GeneratedIdentifierFlags||(e.GeneratedIdentifierFlags={}))[i0.None=0]=\"None\",i0[i0.Auto=1]=\"Auto\",i0[i0.Loop=2]=\"Loop\",i0[i0.Unique=3]=\"Unique\",i0[i0.Node=4]=\"Node\",i0[i0.KindMask=7]=\"KindMask\",i0[i0.ReservedInNestedScopes=8]=\"ReservedInNestedScopes\",i0[i0.Optimistic=16]=\"Optimistic\",i0[i0.FileLevel=32]=\"FileLevel\",i0[i0.AllowNameSubstitution=64]=\"AllowNameSubstitution\",(H0=e.TokenFlags||(e.TokenFlags={}))[H0.None=0]=\"None\",H0[H0.PrecedingLineBreak=1]=\"PrecedingLineBreak\",H0[H0.PrecedingJSDocComment=2]=\"PrecedingJSDocComment\",H0[H0.Unterminated=4]=\"Unterminated\",H0[H0.ExtendedUnicodeEscape=8]=\"ExtendedUnicodeEscape\",H0[H0.Scientific=16]=\"Scientific\",H0[H0.Octal=32]=\"Octal\",H0[H0.HexSpecifier=64]=\"HexSpecifier\",H0[H0.BinarySpecifier=128]=\"BinarySpecifier\",H0[H0.OctalSpecifier=256]=\"OctalSpecifier\",H0[H0.ContainsSeparator=512]=\"ContainsSeparator\",H0[H0.UnicodeEscape=1024]=\"UnicodeEscape\",H0[H0.ContainsInvalidEscape=2048]=\"ContainsInvalidEscape\",H0[H0.BinaryOrOctalSpecifier=384]=\"BinaryOrOctalSpecifier\",H0[H0.NumericLiteralFlags=1008]=\"NumericLiteralFlags\",H0[H0.TemplateLiteralLikeFlags=2048]=\"TemplateLiteralLikeFlags\",(E0=e.FlowFlags||(e.FlowFlags={}))[E0.Unreachable=1]=\"Unreachable\",E0[E0.Start=2]=\"Start\",E0[E0.BranchLabel=4]=\"BranchLabel\",E0[E0.LoopLabel=8]=\"LoopLabel\",E0[E0.Assignment=16]=\"Assignment\",E0[E0.TrueCondition=32]=\"TrueCondition\",E0[E0.FalseCondition=64]=\"FalseCondition\",E0[E0.SwitchClause=128]=\"SwitchClause\",E0[E0.ArrayMutation=256]=\"ArrayMutation\",E0[E0.Call=512]=\"Call\",E0[E0.ReduceLabel=1024]=\"ReduceLabel\",E0[E0.Referenced=2048]=\"Referenced\",E0[E0.Shared=4096]=\"Shared\",E0[E0.Label=12]=\"Label\",E0[E0.Condition=96]=\"Condition\",(I=e.CommentDirectiveType||(e.CommentDirectiveType={}))[I.ExpectError=0]=\"ExpectError\",I[I.Ignore=1]=\"Ignore\";var A,Z,A0,o0,j,G,u0,U,g0,d0,P0,c0,D0,x0,l0,w0,V,w,H,k0,V0,t0,f0,y0,G0,d1,h1,S1,Q1,Y0,$1,Z1,Q0,y1,k1,I1,K0,G1,Nx,n1,S0,I0,U0,p0,p1,Y1,N1,V1,Ox,$x,rx,O0,C1,nx,O,b1=function(){};e.OperationCanceledException=b1,(A=e.FileIncludeKind||(e.FileIncludeKind={}))[A.RootFile=0]=\"RootFile\",A[A.SourceFromProjectReference=1]=\"SourceFromProjectReference\",A[A.OutputFromProjectReference=2]=\"OutputFromProjectReference\",A[A.Import=3]=\"Import\",A[A.ReferenceFile=4]=\"ReferenceFile\",A[A.TypeReferenceDirective=5]=\"TypeReferenceDirective\",A[A.LibFile=6]=\"LibFile\",A[A.LibReferenceDirective=7]=\"LibReferenceDirective\",A[A.AutomaticTypeDirectiveFile=8]=\"AutomaticTypeDirectiveFile\",(Z=e.FilePreprocessingDiagnosticsKind||(e.FilePreprocessingDiagnosticsKind={}))[Z.FilePreprocessingReferencedDiagnostic=0]=\"FilePreprocessingReferencedDiagnostic\",Z[Z.FilePreprocessingFileExplainingDiagnostic=1]=\"FilePreprocessingFileExplainingDiagnostic\",(A0=e.StructureIsReused||(e.StructureIsReused={}))[A0.Not=0]=\"Not\",A0[A0.SafeModules=1]=\"SafeModules\",A0[A0.Completely=2]=\"Completely\",(o0=e.ExitStatus||(e.ExitStatus={}))[o0.Success=0]=\"Success\",o0[o0.DiagnosticsPresent_OutputsSkipped=1]=\"DiagnosticsPresent_OutputsSkipped\",o0[o0.DiagnosticsPresent_OutputsGenerated=2]=\"DiagnosticsPresent_OutputsGenerated\",o0[o0.InvalidProject_OutputsSkipped=3]=\"InvalidProject_OutputsSkipped\",o0[o0.ProjectReferenceCycle_OutputsSkipped=4]=\"ProjectReferenceCycle_OutputsSkipped\",o0[o0.ProjectReferenceCycle_OutputsSkupped=4]=\"ProjectReferenceCycle_OutputsSkupped\",(j=e.UnionReduction||(e.UnionReduction={}))[j.None=0]=\"None\",j[j.Literal=1]=\"Literal\",j[j.Subtype=2]=\"Subtype\",(G=e.ContextFlags||(e.ContextFlags={}))[G.None=0]=\"None\",G[G.Signature=1]=\"Signature\",G[G.NoConstraints=2]=\"NoConstraints\",G[G.Completions=4]=\"Completions\",G[G.SkipBindingPatterns=8]=\"SkipBindingPatterns\",(u0=e.NodeBuilderFlags||(e.NodeBuilderFlags={}))[u0.None=0]=\"None\",u0[u0.NoTruncation=1]=\"NoTruncation\",u0[u0.WriteArrayAsGenericType=2]=\"WriteArrayAsGenericType\",u0[u0.GenerateNamesForShadowedTypeParams=4]=\"GenerateNamesForShadowedTypeParams\",u0[u0.UseStructuralFallback=8]=\"UseStructuralFallback\",u0[u0.ForbidIndexedAccessSymbolReferences=16]=\"ForbidIndexedAccessSymbolReferences\",u0[u0.WriteTypeArgumentsOfSignature=32]=\"WriteTypeArgumentsOfSignature\",u0[u0.UseFullyQualifiedType=64]=\"UseFullyQualifiedType\",u0[u0.UseOnlyExternalAliasing=128]=\"UseOnlyExternalAliasing\",u0[u0.SuppressAnyReturnType=256]=\"SuppressAnyReturnType\",u0[u0.WriteTypeParametersInQualifiedName=512]=\"WriteTypeParametersInQualifiedName\",u0[u0.MultilineObjectLiterals=1024]=\"MultilineObjectLiterals\",u0[u0.WriteClassExpressionAsTypeLiteral=2048]=\"WriteClassExpressionAsTypeLiteral\",u0[u0.UseTypeOfFunction=4096]=\"UseTypeOfFunction\",u0[u0.OmitParameterModifiers=8192]=\"OmitParameterModifiers\",u0[u0.UseAliasDefinedOutsideCurrentScope=16384]=\"UseAliasDefinedOutsideCurrentScope\",u0[u0.UseSingleQuotesForStringLiteralType=268435456]=\"UseSingleQuotesForStringLiteralType\",u0[u0.NoTypeReduction=536870912]=\"NoTypeReduction\",u0[u0.NoUndefinedOptionalParameterType=1073741824]=\"NoUndefinedOptionalParameterType\",u0[u0.AllowThisInObjectLiteral=32768]=\"AllowThisInObjectLiteral\",u0[u0.AllowQualifiedNameInPlaceOfIdentifier=65536]=\"AllowQualifiedNameInPlaceOfIdentifier\",u0[u0.AllowQualifedNameInPlaceOfIdentifier=65536]=\"AllowQualifedNameInPlaceOfIdentifier\",u0[u0.AllowAnonymousIdentifier=131072]=\"AllowAnonymousIdentifier\",u0[u0.AllowEmptyUnionOrIntersection=262144]=\"AllowEmptyUnionOrIntersection\",u0[u0.AllowEmptyTuple=524288]=\"AllowEmptyTuple\",u0[u0.AllowUniqueESSymbolType=1048576]=\"AllowUniqueESSymbolType\",u0[u0.AllowEmptyIndexInfoType=2097152]=\"AllowEmptyIndexInfoType\",u0[u0.AllowNodeModulesRelativePaths=67108864]=\"AllowNodeModulesRelativePaths\",u0[u0.DoNotIncludeSymbolChain=134217728]=\"DoNotIncludeSymbolChain\",u0[u0.IgnoreErrors=70221824]=\"IgnoreErrors\",u0[u0.InObjectTypeLiteral=4194304]=\"InObjectTypeLiteral\",u0[u0.InTypeAlias=8388608]=\"InTypeAlias\",u0[u0.InInitialEntityName=16777216]=\"InInitialEntityName\",(U=e.TypeFormatFlags||(e.TypeFormatFlags={}))[U.None=0]=\"None\",U[U.NoTruncation=1]=\"NoTruncation\",U[U.WriteArrayAsGenericType=2]=\"WriteArrayAsGenericType\",U[U.UseStructuralFallback=8]=\"UseStructuralFallback\",U[U.WriteTypeArgumentsOfSignature=32]=\"WriteTypeArgumentsOfSignature\",U[U.UseFullyQualifiedType=64]=\"UseFullyQualifiedType\",U[U.SuppressAnyReturnType=256]=\"SuppressAnyReturnType\",U[U.MultilineObjectLiterals=1024]=\"MultilineObjectLiterals\",U[U.WriteClassExpressionAsTypeLiteral=2048]=\"WriteClassExpressionAsTypeLiteral\",U[U.UseTypeOfFunction=4096]=\"UseTypeOfFunction\",U[U.OmitParameterModifiers=8192]=\"OmitParameterModifiers\",U[U.UseAliasDefinedOutsideCurrentScope=16384]=\"UseAliasDefinedOutsideCurrentScope\",U[U.UseSingleQuotesForStringLiteralType=268435456]=\"UseSingleQuotesForStringLiteralType\",U[U.NoTypeReduction=536870912]=\"NoTypeReduction\",U[U.AllowUniqueESSymbolType=1048576]=\"AllowUniqueESSymbolType\",U[U.AddUndefined=131072]=\"AddUndefined\",U[U.WriteArrowStyleSignature=262144]=\"WriteArrowStyleSignature\",U[U.InArrayType=524288]=\"InArrayType\",U[U.InElementType=2097152]=\"InElementType\",U[U.InFirstTypeArgument=4194304]=\"InFirstTypeArgument\",U[U.InTypeAlias=8388608]=\"InTypeAlias\",U[U.WriteOwnNameForAnyLike=0]=\"WriteOwnNameForAnyLike\",U[U.NodeBuilderFlagsMask=814775659]=\"NodeBuilderFlagsMask\",(g0=e.SymbolFormatFlags||(e.SymbolFormatFlags={}))[g0.None=0]=\"None\",g0[g0.WriteTypeParametersOrArguments=1]=\"WriteTypeParametersOrArguments\",g0[g0.UseOnlyExternalAliasing=2]=\"UseOnlyExternalAliasing\",g0[g0.AllowAnyNodeKind=4]=\"AllowAnyNodeKind\",g0[g0.UseAliasDefinedOutsideCurrentScope=8]=\"UseAliasDefinedOutsideCurrentScope\",g0[g0.DoNotIncludeSymbolChain=16]=\"DoNotIncludeSymbolChain\",(d0=e.SymbolAccessibility||(e.SymbolAccessibility={}))[d0.Accessible=0]=\"Accessible\",d0[d0.NotAccessible=1]=\"NotAccessible\",d0[d0.CannotBeNamed=2]=\"CannotBeNamed\",(P0=e.SyntheticSymbolKind||(e.SyntheticSymbolKind={}))[P0.UnionOrIntersection=0]=\"UnionOrIntersection\",P0[P0.Spread=1]=\"Spread\",(c0=e.TypePredicateKind||(e.TypePredicateKind={}))[c0.This=0]=\"This\",c0[c0.Identifier=1]=\"Identifier\",c0[c0.AssertsThis=2]=\"AssertsThis\",c0[c0.AssertsIdentifier=3]=\"AssertsIdentifier\",(D0=e.TypeReferenceSerializationKind||(e.TypeReferenceSerializationKind={}))[D0.Unknown=0]=\"Unknown\",D0[D0.TypeWithConstructSignatureAndValue=1]=\"TypeWithConstructSignatureAndValue\",D0[D0.VoidNullableOrNeverType=2]=\"VoidNullableOrNeverType\",D0[D0.NumberLikeType=3]=\"NumberLikeType\",D0[D0.BigIntLikeType=4]=\"BigIntLikeType\",D0[D0.StringLikeType=5]=\"StringLikeType\",D0[D0.BooleanType=6]=\"BooleanType\",D0[D0.ArrayLikeType=7]=\"ArrayLikeType\",D0[D0.ESSymbolType=8]=\"ESSymbolType\",D0[D0.Promise=9]=\"Promise\",D0[D0.TypeWithCallSignature=10]=\"TypeWithCallSignature\",D0[D0.ObjectType=11]=\"ObjectType\",(x0=e.SymbolFlags||(e.SymbolFlags={}))[x0.None=0]=\"None\",x0[x0.FunctionScopedVariable=1]=\"FunctionScopedVariable\",x0[x0.BlockScopedVariable=2]=\"BlockScopedVariable\",x0[x0.Property=4]=\"Property\",x0[x0.EnumMember=8]=\"EnumMember\",x0[x0.Function=16]=\"Function\",x0[x0.Class=32]=\"Class\",x0[x0.Interface=64]=\"Interface\",x0[x0.ConstEnum=128]=\"ConstEnum\",x0[x0.RegularEnum=256]=\"RegularEnum\",x0[x0.ValueModule=512]=\"ValueModule\",x0[x0.NamespaceModule=1024]=\"NamespaceModule\",x0[x0.TypeLiteral=2048]=\"TypeLiteral\",x0[x0.ObjectLiteral=4096]=\"ObjectLiteral\",x0[x0.Method=8192]=\"Method\",x0[x0.Constructor=16384]=\"Constructor\",x0[x0.GetAccessor=32768]=\"GetAccessor\",x0[x0.SetAccessor=65536]=\"SetAccessor\",x0[x0.Signature=131072]=\"Signature\",x0[x0.TypeParameter=262144]=\"TypeParameter\",x0[x0.TypeAlias=524288]=\"TypeAlias\",x0[x0.ExportValue=1048576]=\"ExportValue\",x0[x0.Alias=2097152]=\"Alias\",x0[x0.Prototype=4194304]=\"Prototype\",x0[x0.ExportStar=8388608]=\"ExportStar\",x0[x0.Optional=16777216]=\"Optional\",x0[x0.Transient=33554432]=\"Transient\",x0[x0.Assignment=67108864]=\"Assignment\",x0[x0.ModuleExports=134217728]=\"ModuleExports\",x0[x0.All=67108863]=\"All\",x0[x0.Enum=384]=\"Enum\",x0[x0.Variable=3]=\"Variable\",x0[x0.Value=111551]=\"Value\",x0[x0.Type=788968]=\"Type\",x0[x0.Namespace=1920]=\"Namespace\",x0[x0.Module=1536]=\"Module\",x0[x0.Accessor=98304]=\"Accessor\",x0[x0.FunctionScopedVariableExcludes=111550]=\"FunctionScopedVariableExcludes\",x0[x0.BlockScopedVariableExcludes=111551]=\"BlockScopedVariableExcludes\",x0[x0.ParameterExcludes=111551]=\"ParameterExcludes\",x0[x0.PropertyExcludes=0]=\"PropertyExcludes\",x0[x0.EnumMemberExcludes=900095]=\"EnumMemberExcludes\",x0[x0.FunctionExcludes=110991]=\"FunctionExcludes\",x0[x0.ClassExcludes=899503]=\"ClassExcludes\",x0[x0.InterfaceExcludes=788872]=\"InterfaceExcludes\",x0[x0.RegularEnumExcludes=899327]=\"RegularEnumExcludes\",x0[x0.ConstEnumExcludes=899967]=\"ConstEnumExcludes\",x0[x0.ValueModuleExcludes=110735]=\"ValueModuleExcludes\",x0[x0.NamespaceModuleExcludes=0]=\"NamespaceModuleExcludes\",x0[x0.MethodExcludes=103359]=\"MethodExcludes\",x0[x0.GetAccessorExcludes=46015]=\"GetAccessorExcludes\",x0[x0.SetAccessorExcludes=78783]=\"SetAccessorExcludes\",x0[x0.TypeParameterExcludes=526824]=\"TypeParameterExcludes\",x0[x0.TypeAliasExcludes=788968]=\"TypeAliasExcludes\",x0[x0.AliasExcludes=2097152]=\"AliasExcludes\",x0[x0.ModuleMember=2623475]=\"ModuleMember\",x0[x0.ExportHasLocal=944]=\"ExportHasLocal\",x0[x0.BlockScoped=418]=\"BlockScoped\",x0[x0.PropertyOrAccessor=98308]=\"PropertyOrAccessor\",x0[x0.ClassMember=106500]=\"ClassMember\",x0[x0.ExportSupportsDefaultModifier=112]=\"ExportSupportsDefaultModifier\",x0[x0.ExportDoesNotSupportDefaultModifier=-113]=\"ExportDoesNotSupportDefaultModifier\",x0[x0.Classifiable=2885600]=\"Classifiable\",x0[x0.LateBindingContainer=6256]=\"LateBindingContainer\",(l0=e.EnumKind||(e.EnumKind={}))[l0.Numeric=0]=\"Numeric\",l0[l0.Literal=1]=\"Literal\",(w0=e.CheckFlags||(e.CheckFlags={}))[w0.Instantiated=1]=\"Instantiated\",w0[w0.SyntheticProperty=2]=\"SyntheticProperty\",w0[w0.SyntheticMethod=4]=\"SyntheticMethod\",w0[w0.Readonly=8]=\"Readonly\",w0[w0.ReadPartial=16]=\"ReadPartial\",w0[w0.WritePartial=32]=\"WritePartial\",w0[w0.HasNonUniformType=64]=\"HasNonUniformType\",w0[w0.HasLiteralType=128]=\"HasLiteralType\",w0[w0.ContainsPublic=256]=\"ContainsPublic\",w0[w0.ContainsProtected=512]=\"ContainsProtected\",w0[w0.ContainsPrivate=1024]=\"ContainsPrivate\",w0[w0.ContainsStatic=2048]=\"ContainsStatic\",w0[w0.Late=4096]=\"Late\",w0[w0.ReverseMapped=8192]=\"ReverseMapped\",w0[w0.OptionalParameter=16384]=\"OptionalParameter\",w0[w0.RestParameter=32768]=\"RestParameter\",w0[w0.DeferredType=65536]=\"DeferredType\",w0[w0.HasNeverType=131072]=\"HasNeverType\",w0[w0.Mapped=262144]=\"Mapped\",w0[w0.StripOptional=524288]=\"StripOptional\",w0[w0.Synthetic=6]=\"Synthetic\",w0[w0.Discriminant=192]=\"Discriminant\",w0[w0.Partial=48]=\"Partial\",(V=e.InternalSymbolName||(e.InternalSymbolName={})).Call=\"__call\",V.Constructor=\"__constructor\",V.New=\"__new\",V.Index=\"__index\",V.ExportStar=\"__export\",V.Global=\"__global\",V.Missing=\"__missing\",V.Type=\"__type\",V.Object=\"__object\",V.JSXAttributes=\"__jsxAttributes\",V.Class=\"__class\",V.Function=\"__function\",V.Computed=\"__computed\",V.Resolving=\"__resolving__\",V.ExportEquals=\"export=\",V.Default=\"default\",V.This=\"this\",(w=e.NodeCheckFlags||(e.NodeCheckFlags={}))[w.TypeChecked=1]=\"TypeChecked\",w[w.LexicalThis=2]=\"LexicalThis\",w[w.CaptureThis=4]=\"CaptureThis\",w[w.CaptureNewTarget=8]=\"CaptureNewTarget\",w[w.SuperInstance=256]=\"SuperInstance\",w[w.SuperStatic=512]=\"SuperStatic\",w[w.ContextChecked=1024]=\"ContextChecked\",w[w.AsyncMethodWithSuper=2048]=\"AsyncMethodWithSuper\",w[w.AsyncMethodWithSuperBinding=4096]=\"AsyncMethodWithSuperBinding\",w[w.CaptureArguments=8192]=\"CaptureArguments\",w[w.EnumValuesComputed=16384]=\"EnumValuesComputed\",w[w.LexicalModuleMergesWithClass=32768]=\"LexicalModuleMergesWithClass\",w[w.LoopWithCapturedBlockScopedBinding=65536]=\"LoopWithCapturedBlockScopedBinding\",w[w.ContainsCapturedBlockScopeBinding=131072]=\"ContainsCapturedBlockScopeBinding\",w[w.CapturedBlockScopedBinding=262144]=\"CapturedBlockScopedBinding\",w[w.BlockScopedBindingInLoop=524288]=\"BlockScopedBindingInLoop\",w[w.ClassWithBodyScopedClassBinding=1048576]=\"ClassWithBodyScopedClassBinding\",w[w.BodyScopedClassBinding=2097152]=\"BodyScopedClassBinding\",w[w.NeedsLoopOutParameter=4194304]=\"NeedsLoopOutParameter\",w[w.AssignmentsMarked=8388608]=\"AssignmentsMarked\",w[w.ClassWithConstructorReference=16777216]=\"ClassWithConstructorReference\",w[w.ConstructorReferenceInClass=33554432]=\"ConstructorReferenceInClass\",w[w.ContainsClassWithPrivateIdentifiers=67108864]=\"ContainsClassWithPrivateIdentifiers\",(H=e.TypeFlags||(e.TypeFlags={}))[H.Any=1]=\"Any\",H[H.Unknown=2]=\"Unknown\",H[H.String=4]=\"String\",H[H.Number=8]=\"Number\",H[H.Boolean=16]=\"Boolean\",H[H.Enum=32]=\"Enum\",H[H.BigInt=64]=\"BigInt\",H[H.StringLiteral=128]=\"StringLiteral\",H[H.NumberLiteral=256]=\"NumberLiteral\",H[H.BooleanLiteral=512]=\"BooleanLiteral\",H[H.EnumLiteral=1024]=\"EnumLiteral\",H[H.BigIntLiteral=2048]=\"BigIntLiteral\",H[H.ESSymbol=4096]=\"ESSymbol\",H[H.UniqueESSymbol=8192]=\"UniqueESSymbol\",H[H.Void=16384]=\"Void\",H[H.Undefined=32768]=\"Undefined\",H[H.Null=65536]=\"Null\",H[H.Never=131072]=\"Never\",H[H.TypeParameter=262144]=\"TypeParameter\",H[H.Object=524288]=\"Object\",H[H.Union=1048576]=\"Union\",H[H.Intersection=2097152]=\"Intersection\",H[H.Index=4194304]=\"Index\",H[H.IndexedAccess=8388608]=\"IndexedAccess\",H[H.Conditional=16777216]=\"Conditional\",H[H.Substitution=33554432]=\"Substitution\",H[H.NonPrimitive=67108864]=\"NonPrimitive\",H[H.TemplateLiteral=134217728]=\"TemplateLiteral\",H[H.StringMapping=268435456]=\"StringMapping\",H[H.AnyOrUnknown=3]=\"AnyOrUnknown\",H[H.Nullable=98304]=\"Nullable\",H[H.Literal=2944]=\"Literal\",H[H.Unit=109440]=\"Unit\",H[H.StringOrNumberLiteral=384]=\"StringOrNumberLiteral\",H[H.StringOrNumberLiteralOrUnique=8576]=\"StringOrNumberLiteralOrUnique\",H[H.DefinitelyFalsy=117632]=\"DefinitelyFalsy\",H[H.PossiblyFalsy=117724]=\"PossiblyFalsy\",H[H.Intrinsic=67359327]=\"Intrinsic\",H[H.Primitive=131068]=\"Primitive\",H[H.StringLike=402653316]=\"StringLike\",H[H.NumberLike=296]=\"NumberLike\",H[H.BigIntLike=2112]=\"BigIntLike\",H[H.BooleanLike=528]=\"BooleanLike\",H[H.EnumLike=1056]=\"EnumLike\",H[H.ESSymbolLike=12288]=\"ESSymbolLike\",H[H.VoidLike=49152]=\"VoidLike\",H[H.DisjointDomains=469892092]=\"DisjointDomains\",H[H.UnionOrIntersection=3145728]=\"UnionOrIntersection\",H[H.StructuredType=3670016]=\"StructuredType\",H[H.TypeVariable=8650752]=\"TypeVariable\",H[H.InstantiableNonPrimitive=58982400]=\"InstantiableNonPrimitive\",H[H.InstantiablePrimitive=406847488]=\"InstantiablePrimitive\",H[H.Instantiable=465829888]=\"Instantiable\",H[H.StructuredOrInstantiable=469499904]=\"StructuredOrInstantiable\",H[H.ObjectFlagsType=3899393]=\"ObjectFlagsType\",H[H.Simplifiable=25165824]=\"Simplifiable\",H[H.Substructure=469237760]=\"Substructure\",H[H.Narrowable=536624127]=\"Narrowable\",H[H.NotPrimitiveUnion=468598819]=\"NotPrimitiveUnion\",H[H.IncludesMask=205258751]=\"IncludesMask\",H[H.IncludesStructuredOrInstantiable=262144]=\"IncludesStructuredOrInstantiable\",H[H.IncludesNonWideningType=4194304]=\"IncludesNonWideningType\",H[H.IncludesWildcard=8388608]=\"IncludesWildcard\",H[H.IncludesEmptyObject=16777216]=\"IncludesEmptyObject\",(k0=e.ObjectFlags||(e.ObjectFlags={}))[k0.Class=1]=\"Class\",k0[k0.Interface=2]=\"Interface\",k0[k0.Reference=4]=\"Reference\",k0[k0.Tuple=8]=\"Tuple\",k0[k0.Anonymous=16]=\"Anonymous\",k0[k0.Mapped=32]=\"Mapped\",k0[k0.Instantiated=64]=\"Instantiated\",k0[k0.ObjectLiteral=128]=\"ObjectLiteral\",k0[k0.EvolvingArray=256]=\"EvolvingArray\",k0[k0.ObjectLiteralPatternWithComputedProperties=512]=\"ObjectLiteralPatternWithComputedProperties\",k0[k0.ReverseMapped=1024]=\"ReverseMapped\",k0[k0.JsxAttributes=2048]=\"JsxAttributes\",k0[k0.MarkerType=4096]=\"MarkerType\",k0[k0.JSLiteral=8192]=\"JSLiteral\",k0[k0.FreshLiteral=16384]=\"FreshLiteral\",k0[k0.ArrayLiteral=32768]=\"ArrayLiteral\",k0[k0.PrimitiveUnion=65536]=\"PrimitiveUnion\",k0[k0.ContainsWideningType=131072]=\"ContainsWideningType\",k0[k0.ContainsObjectOrArrayLiteral=262144]=\"ContainsObjectOrArrayLiteral\",k0[k0.NonInferrableType=524288]=\"NonInferrableType\",k0[k0.CouldContainTypeVariablesComputed=1048576]=\"CouldContainTypeVariablesComputed\",k0[k0.CouldContainTypeVariables=2097152]=\"CouldContainTypeVariables\",k0[k0.ClassOrInterface=3]=\"ClassOrInterface\",k0[k0.RequiresWidening=393216]=\"RequiresWidening\",k0[k0.PropagatingFlags=917504]=\"PropagatingFlags\",k0[k0.ObjectTypeKindMask=1343]=\"ObjectTypeKindMask\",k0[k0.ContainsSpread=4194304]=\"ContainsSpread\",k0[k0.ObjectRestType=8388608]=\"ObjectRestType\",k0[k0.IsClassInstanceClone=16777216]=\"IsClassInstanceClone\",k0[k0.IdenticalBaseTypeCalculated=33554432]=\"IdenticalBaseTypeCalculated\",k0[k0.IdenticalBaseTypeExists=67108864]=\"IdenticalBaseTypeExists\",k0[k0.IsGenericObjectTypeComputed=4194304]=\"IsGenericObjectTypeComputed\",k0[k0.IsGenericObjectType=8388608]=\"IsGenericObjectType\",k0[k0.IsGenericIndexTypeComputed=16777216]=\"IsGenericIndexTypeComputed\",k0[k0.IsGenericIndexType=33554432]=\"IsGenericIndexType\",k0[k0.ContainsIntersections=67108864]=\"ContainsIntersections\",k0[k0.IsNeverIntersectionComputed=67108864]=\"IsNeverIntersectionComputed\",k0[k0.IsNeverIntersection=134217728]=\"IsNeverIntersection\",(V0=e.VarianceFlags||(e.VarianceFlags={}))[V0.Invariant=0]=\"Invariant\",V0[V0.Covariant=1]=\"Covariant\",V0[V0.Contravariant=2]=\"Contravariant\",V0[V0.Bivariant=3]=\"Bivariant\",V0[V0.Independent=4]=\"Independent\",V0[V0.VarianceMask=7]=\"VarianceMask\",V0[V0.Unmeasurable=8]=\"Unmeasurable\",V0[V0.Unreliable=16]=\"Unreliable\",V0[V0.AllowsStructuralFallback=24]=\"AllowsStructuralFallback\",(t0=e.ElementFlags||(e.ElementFlags={}))[t0.Required=1]=\"Required\",t0[t0.Optional=2]=\"Optional\",t0[t0.Rest=4]=\"Rest\",t0[t0.Variadic=8]=\"Variadic\",t0[t0.Fixed=3]=\"Fixed\",t0[t0.Variable=12]=\"Variable\",t0[t0.NonRequired=14]=\"NonRequired\",t0[t0.NonRest=11]=\"NonRest\",(f0=e.JsxReferenceKind||(e.JsxReferenceKind={}))[f0.Component=0]=\"Component\",f0[f0.Function=1]=\"Function\",f0[f0.Mixed=2]=\"Mixed\",(y0=e.SignatureKind||(e.SignatureKind={}))[y0.Call=0]=\"Call\",y0[y0.Construct=1]=\"Construct\",(G0=e.SignatureFlags||(e.SignatureFlags={}))[G0.None=0]=\"None\",G0[G0.HasRestParameter=1]=\"HasRestParameter\",G0[G0.HasLiteralTypes=2]=\"HasLiteralTypes\",G0[G0.Abstract=4]=\"Abstract\",G0[G0.IsInnerCallChain=8]=\"IsInnerCallChain\",G0[G0.IsOuterCallChain=16]=\"IsOuterCallChain\",G0[G0.IsUntypedSignatureInJSFile=32]=\"IsUntypedSignatureInJSFile\",G0[G0.PropagatingFlags=39]=\"PropagatingFlags\",G0[G0.CallChainFlags=24]=\"CallChainFlags\",(d1=e.IndexKind||(e.IndexKind={}))[d1.String=0]=\"String\",d1[d1.Number=1]=\"Number\",(h1=e.TypeMapKind||(e.TypeMapKind={}))[h1.Simple=0]=\"Simple\",h1[h1.Array=1]=\"Array\",h1[h1.Function=2]=\"Function\",h1[h1.Composite=3]=\"Composite\",h1[h1.Merged=4]=\"Merged\",(S1=e.InferencePriority||(e.InferencePriority={}))[S1.NakedTypeVariable=1]=\"NakedTypeVariable\",S1[S1.SpeculativeTuple=2]=\"SpeculativeTuple\",S1[S1.SubstituteSource=4]=\"SubstituteSource\",S1[S1.HomomorphicMappedType=8]=\"HomomorphicMappedType\",S1[S1.PartialHomomorphicMappedType=16]=\"PartialHomomorphicMappedType\",S1[S1.MappedTypeConstraint=32]=\"MappedTypeConstraint\",S1[S1.ContravariantConditional=64]=\"ContravariantConditional\",S1[S1.ReturnType=128]=\"ReturnType\",S1[S1.LiteralKeyof=256]=\"LiteralKeyof\",S1[S1.NoConstraints=512]=\"NoConstraints\",S1[S1.AlwaysStrict=1024]=\"AlwaysStrict\",S1[S1.MaxValue=2048]=\"MaxValue\",S1[S1.PriorityImpliesCombination=416]=\"PriorityImpliesCombination\",S1[S1.Circularity=-1]=\"Circularity\",(Q1=e.InferenceFlags||(e.InferenceFlags={}))[Q1.None=0]=\"None\",Q1[Q1.NoDefault=1]=\"NoDefault\",Q1[Q1.AnyDefault=2]=\"AnyDefault\",Q1[Q1.SkippedGenericFunction=4]=\"SkippedGenericFunction\",(Y0=e.Ternary||(e.Ternary={}))[Y0.False=0]=\"False\",Y0[Y0.Unknown=1]=\"Unknown\",Y0[Y0.Maybe=3]=\"Maybe\",Y0[Y0.True=-1]=\"True\",($1=e.AssignmentDeclarationKind||(e.AssignmentDeclarationKind={}))[$1.None=0]=\"None\",$1[$1.ExportsProperty=1]=\"ExportsProperty\",$1[$1.ModuleExports=2]=\"ModuleExports\",$1[$1.PrototypeProperty=3]=\"PrototypeProperty\",$1[$1.ThisProperty=4]=\"ThisProperty\",$1[$1.Property=5]=\"Property\",$1[$1.Prototype=6]=\"Prototype\",$1[$1.ObjectDefinePropertyValue=7]=\"ObjectDefinePropertyValue\",$1[$1.ObjectDefinePropertyExports=8]=\"ObjectDefinePropertyExports\",$1[$1.ObjectDefinePrototypeProperty=9]=\"ObjectDefinePrototypeProperty\",function(Px){Px[Px.Warning=0]=\"Warning\",Px[Px.Error=1]=\"Error\",Px[Px.Suggestion=2]=\"Suggestion\",Px[Px.Message=3]=\"Message\"}(Z1=e.DiagnosticCategory||(e.DiagnosticCategory={})),e.diagnosticCategoryName=function(Px,me){me===void 0&&(me=!0);var Re=Z1[Px.category];return me?Re.toLowerCase():Re},(Q0=e.ModuleResolutionKind||(e.ModuleResolutionKind={}))[Q0.Classic=1]=\"Classic\",Q0[Q0.NodeJs=2]=\"NodeJs\",(y1=e.WatchFileKind||(e.WatchFileKind={}))[y1.FixedPollingInterval=0]=\"FixedPollingInterval\",y1[y1.PriorityPollingInterval=1]=\"PriorityPollingInterval\",y1[y1.DynamicPriorityPolling=2]=\"DynamicPriorityPolling\",y1[y1.FixedChunkSizePolling=3]=\"FixedChunkSizePolling\",y1[y1.UseFsEvents=4]=\"UseFsEvents\",y1[y1.UseFsEventsOnParentDirectory=5]=\"UseFsEventsOnParentDirectory\",(k1=e.WatchDirectoryKind||(e.WatchDirectoryKind={}))[k1.UseFsEvents=0]=\"UseFsEvents\",k1[k1.FixedPollingInterval=1]=\"FixedPollingInterval\",k1[k1.DynamicPriorityPolling=2]=\"DynamicPriorityPolling\",k1[k1.FixedChunkSizePolling=3]=\"FixedChunkSizePolling\",(I1=e.PollingWatchKind||(e.PollingWatchKind={}))[I1.FixedInterval=0]=\"FixedInterval\",I1[I1.PriorityInterval=1]=\"PriorityInterval\",I1[I1.DynamicPriority=2]=\"DynamicPriority\",I1[I1.FixedChunkSize=3]=\"FixedChunkSize\",(K0=e.ModuleKind||(e.ModuleKind={}))[K0.None=0]=\"None\",K0[K0.CommonJS=1]=\"CommonJS\",K0[K0.AMD=2]=\"AMD\",K0[K0.UMD=3]=\"UMD\",K0[K0.System=4]=\"System\",K0[K0.ES2015=5]=\"ES2015\",K0[K0.ES2020=6]=\"ES2020\",K0[K0.ESNext=99]=\"ESNext\",(G1=e.JsxEmit||(e.JsxEmit={}))[G1.None=0]=\"None\",G1[G1.Preserve=1]=\"Preserve\",G1[G1.React=2]=\"React\",G1[G1.ReactNative=3]=\"ReactNative\",G1[G1.ReactJSX=4]=\"ReactJSX\",G1[G1.ReactJSXDev=5]=\"ReactJSXDev\",(Nx=e.ImportsNotUsedAsValues||(e.ImportsNotUsedAsValues={}))[Nx.Remove=0]=\"Remove\",Nx[Nx.Preserve=1]=\"Preserve\",Nx[Nx.Error=2]=\"Error\",(n1=e.NewLineKind||(e.NewLineKind={}))[n1.CarriageReturnLineFeed=0]=\"CarriageReturnLineFeed\",n1[n1.LineFeed=1]=\"LineFeed\",(S0=e.ScriptKind||(e.ScriptKind={}))[S0.Unknown=0]=\"Unknown\",S0[S0.JS=1]=\"JS\",S0[S0.JSX=2]=\"JSX\",S0[S0.TS=3]=\"TS\",S0[S0.TSX=4]=\"TSX\",S0[S0.External=5]=\"External\",S0[S0.JSON=6]=\"JSON\",S0[S0.Deferred=7]=\"Deferred\",(I0=e.ScriptTarget||(e.ScriptTarget={}))[I0.ES3=0]=\"ES3\",I0[I0.ES5=1]=\"ES5\",I0[I0.ES2015=2]=\"ES2015\",I0[I0.ES2016=3]=\"ES2016\",I0[I0.ES2017=4]=\"ES2017\",I0[I0.ES2018=5]=\"ES2018\",I0[I0.ES2019=6]=\"ES2019\",I0[I0.ES2020=7]=\"ES2020\",I0[I0.ES2021=8]=\"ES2021\",I0[I0.ESNext=99]=\"ESNext\",I0[I0.JSON=100]=\"JSON\",I0[I0.Latest=99]=\"Latest\",(U0=e.LanguageVariant||(e.LanguageVariant={}))[U0.Standard=0]=\"Standard\",U0[U0.JSX=1]=\"JSX\",(p0=e.WatchDirectoryFlags||(e.WatchDirectoryFlags={}))[p0.None=0]=\"None\",p0[p0.Recursive=1]=\"Recursive\",(p1=e.CharacterCodes||(e.CharacterCodes={}))[p1.nullCharacter=0]=\"nullCharacter\",p1[p1.maxAsciiCharacter=127]=\"maxAsciiCharacter\",p1[p1.lineFeed=10]=\"lineFeed\",p1[p1.carriageReturn=13]=\"carriageReturn\",p1[p1.lineSeparator=8232]=\"lineSeparator\",p1[p1.paragraphSeparator=8233]=\"paragraphSeparator\",p1[p1.nextLine=133]=\"nextLine\",p1[p1.space=32]=\"space\",p1[p1.nonBreakingSpace=160]=\"nonBreakingSpace\",p1[p1.enQuad=8192]=\"enQuad\",p1[p1.emQuad=8193]=\"emQuad\",p1[p1.enSpace=8194]=\"enSpace\",p1[p1.emSpace=8195]=\"emSpace\",p1[p1.threePerEmSpace=8196]=\"threePerEmSpace\",p1[p1.fourPerEmSpace=8197]=\"fourPerEmSpace\",p1[p1.sixPerEmSpace=8198]=\"sixPerEmSpace\",p1[p1.figureSpace=8199]=\"figureSpace\",p1[p1.punctuationSpace=8200]=\"punctuationSpace\",p1[p1.thinSpace=8201]=\"thinSpace\",p1[p1.hairSpace=8202]=\"hairSpace\",p1[p1.zeroWidthSpace=8203]=\"zeroWidthSpace\",p1[p1.narrowNoBreakSpace=8239]=\"narrowNoBreakSpace\",p1[p1.ideographicSpace=12288]=\"ideographicSpace\",p1[p1.mathematicalSpace=8287]=\"mathematicalSpace\",p1[p1.ogham=5760]=\"ogham\",p1[p1._=95]=\"_\",p1[p1.$=36]=\"$\",p1[p1._0=48]=\"_0\",p1[p1._1=49]=\"_1\",p1[p1._2=50]=\"_2\",p1[p1._3=51]=\"_3\",p1[p1._4=52]=\"_4\",p1[p1._5=53]=\"_5\",p1[p1._6=54]=\"_6\",p1[p1._7=55]=\"_7\",p1[p1._8=56]=\"_8\",p1[p1._9=57]=\"_9\",p1[p1.a=97]=\"a\",p1[p1.b=98]=\"b\",p1[p1.c=99]=\"c\",p1[p1.d=100]=\"d\",p1[p1.e=101]=\"e\",p1[p1.f=102]=\"f\",p1[p1.g=103]=\"g\",p1[p1.h=104]=\"h\",p1[p1.i=105]=\"i\",p1[p1.j=106]=\"j\",p1[p1.k=107]=\"k\",p1[p1.l=108]=\"l\",p1[p1.m=109]=\"m\",p1[p1.n=110]=\"n\",p1[p1.o=111]=\"o\",p1[p1.p=112]=\"p\",p1[p1.q=113]=\"q\",p1[p1.r=114]=\"r\",p1[p1.s=115]=\"s\",p1[p1.t=116]=\"t\",p1[p1.u=117]=\"u\",p1[p1.v=118]=\"v\",p1[p1.w=119]=\"w\",p1[p1.x=120]=\"x\",p1[p1.y=121]=\"y\",p1[p1.z=122]=\"z\",p1[p1.A=65]=\"A\",p1[p1.B=66]=\"B\",p1[p1.C=67]=\"C\",p1[p1.D=68]=\"D\",p1[p1.E=69]=\"E\",p1[p1.F=70]=\"F\",p1[p1.G=71]=\"G\",p1[p1.H=72]=\"H\",p1[p1.I=73]=\"I\",p1[p1.J=74]=\"J\",p1[p1.K=75]=\"K\",p1[p1.L=76]=\"L\",p1[p1.M=77]=\"M\",p1[p1.N=78]=\"N\",p1[p1.O=79]=\"O\",p1[p1.P=80]=\"P\",p1[p1.Q=81]=\"Q\",p1[p1.R=82]=\"R\",p1[p1.S=83]=\"S\",p1[p1.T=84]=\"T\",p1[p1.U=85]=\"U\",p1[p1.V=86]=\"V\",p1[p1.W=87]=\"W\",p1[p1.X=88]=\"X\",p1[p1.Y=89]=\"Y\",p1[p1.Z=90]=\"Z\",p1[p1.ampersand=38]=\"ampersand\",p1[p1.asterisk=42]=\"asterisk\",p1[p1.at=64]=\"at\",p1[p1.backslash=92]=\"backslash\",p1[p1.backtick=96]=\"backtick\",p1[p1.bar=124]=\"bar\",p1[p1.caret=94]=\"caret\",p1[p1.closeBrace=125]=\"closeBrace\",p1[p1.closeBracket=93]=\"closeBracket\",p1[p1.closeParen=41]=\"closeParen\",p1[p1.colon=58]=\"colon\",p1[p1.comma=44]=\"comma\",p1[p1.dot=46]=\"dot\",p1[p1.doubleQuote=34]=\"doubleQuote\",p1[p1.equals=61]=\"equals\",p1[p1.exclamation=33]=\"exclamation\",p1[p1.greaterThan=62]=\"greaterThan\",p1[p1.hash=35]=\"hash\",p1[p1.lessThan=60]=\"lessThan\",p1[p1.minus=45]=\"minus\",p1[p1.openBrace=123]=\"openBrace\",p1[p1.openBracket=91]=\"openBracket\",p1[p1.openParen=40]=\"openParen\",p1[p1.percent=37]=\"percent\",p1[p1.plus=43]=\"plus\",p1[p1.question=63]=\"question\",p1[p1.semicolon=59]=\"semicolon\",p1[p1.singleQuote=39]=\"singleQuote\",p1[p1.slash=47]=\"slash\",p1[p1.tilde=126]=\"tilde\",p1[p1.backspace=8]=\"backspace\",p1[p1.formFeed=12]=\"formFeed\",p1[p1.byteOrderMark=65279]=\"byteOrderMark\",p1[p1.tab=9]=\"tab\",p1[p1.verticalTab=11]=\"verticalTab\",(Y1=e.Extension||(e.Extension={})).Ts=\".ts\",Y1.Tsx=\".tsx\",Y1.Dts=\".d.ts\",Y1.Js=\".js\",Y1.Jsx=\".jsx\",Y1.Json=\".json\",Y1.TsBuildInfo=\".tsbuildinfo\",(N1=e.TransformFlags||(e.TransformFlags={}))[N1.None=0]=\"None\",N1[N1.ContainsTypeScript=1]=\"ContainsTypeScript\",N1[N1.ContainsJsx=2]=\"ContainsJsx\",N1[N1.ContainsESNext=4]=\"ContainsESNext\",N1[N1.ContainsES2021=8]=\"ContainsES2021\",N1[N1.ContainsES2020=16]=\"ContainsES2020\",N1[N1.ContainsES2019=32]=\"ContainsES2019\",N1[N1.ContainsES2018=64]=\"ContainsES2018\",N1[N1.ContainsES2017=128]=\"ContainsES2017\",N1[N1.ContainsES2016=256]=\"ContainsES2016\",N1[N1.ContainsES2015=512]=\"ContainsES2015\",N1[N1.ContainsGenerator=1024]=\"ContainsGenerator\",N1[N1.ContainsDestructuringAssignment=2048]=\"ContainsDestructuringAssignment\",N1[N1.ContainsTypeScriptClassSyntax=4096]=\"ContainsTypeScriptClassSyntax\",N1[N1.ContainsLexicalThis=8192]=\"ContainsLexicalThis\",N1[N1.ContainsRestOrSpread=16384]=\"ContainsRestOrSpread\",N1[N1.ContainsObjectRestOrSpread=32768]=\"ContainsObjectRestOrSpread\",N1[N1.ContainsComputedPropertyName=65536]=\"ContainsComputedPropertyName\",N1[N1.ContainsBlockScopedBinding=131072]=\"ContainsBlockScopedBinding\",N1[N1.ContainsBindingPattern=262144]=\"ContainsBindingPattern\",N1[N1.ContainsYield=524288]=\"ContainsYield\",N1[N1.ContainsAwait=1048576]=\"ContainsAwait\",N1[N1.ContainsHoistedDeclarationOrCompletion=2097152]=\"ContainsHoistedDeclarationOrCompletion\",N1[N1.ContainsDynamicImport=4194304]=\"ContainsDynamicImport\",N1[N1.ContainsClassFields=8388608]=\"ContainsClassFields\",N1[N1.ContainsPossibleTopLevelAwait=16777216]=\"ContainsPossibleTopLevelAwait\",N1[N1.HasComputedFlags=536870912]=\"HasComputedFlags\",N1[N1.AssertTypeScript=1]=\"AssertTypeScript\",N1[N1.AssertJsx=2]=\"AssertJsx\",N1[N1.AssertESNext=4]=\"AssertESNext\",N1[N1.AssertES2021=8]=\"AssertES2021\",N1[N1.AssertES2020=16]=\"AssertES2020\",N1[N1.AssertES2019=32]=\"AssertES2019\",N1[N1.AssertES2018=64]=\"AssertES2018\",N1[N1.AssertES2017=128]=\"AssertES2017\",N1[N1.AssertES2016=256]=\"AssertES2016\",N1[N1.AssertES2015=512]=\"AssertES2015\",N1[N1.AssertGenerator=1024]=\"AssertGenerator\",N1[N1.AssertDestructuringAssignment=2048]=\"AssertDestructuringAssignment\",N1[N1.OuterExpressionExcludes=536870912]=\"OuterExpressionExcludes\",N1[N1.PropertyAccessExcludes=536870912]=\"PropertyAccessExcludes\",N1[N1.NodeExcludes=536870912]=\"NodeExcludes\",N1[N1.ArrowFunctionExcludes=557748224]=\"ArrowFunctionExcludes\",N1[N1.FunctionExcludes=557756416]=\"FunctionExcludes\",N1[N1.ConstructorExcludes=557752320]=\"ConstructorExcludes\",N1[N1.MethodOrAccessorExcludes=540975104]=\"MethodOrAccessorExcludes\",N1[N1.PropertyExcludes=536879104]=\"PropertyExcludes\",N1[N1.ClassExcludes=536940544]=\"ClassExcludes\",N1[N1.ModuleExcludes=555888640]=\"ModuleExcludes\",N1[N1.TypeExcludes=-2]=\"TypeExcludes\",N1[N1.ObjectLiteralExcludes=536973312]=\"ObjectLiteralExcludes\",N1[N1.ArrayLiteralOrCallOrNewExcludes=536887296]=\"ArrayLiteralOrCallOrNewExcludes\",N1[N1.VariableDeclarationListExcludes=537165824]=\"VariableDeclarationListExcludes\",N1[N1.ParameterExcludes=536870912]=\"ParameterExcludes\",N1[N1.CatchClauseExcludes=536903680]=\"CatchClauseExcludes\",N1[N1.BindingPatternExcludes=536887296]=\"BindingPatternExcludes\",N1[N1.PropertyNamePropagatingFlags=8192]=\"PropertyNamePropagatingFlags\",(V1=e.EmitFlags||(e.EmitFlags={}))[V1.None=0]=\"None\",V1[V1.SingleLine=1]=\"SingleLine\",V1[V1.AdviseOnEmitNode=2]=\"AdviseOnEmitNode\",V1[V1.NoSubstitution=4]=\"NoSubstitution\",V1[V1.CapturesThis=8]=\"CapturesThis\",V1[V1.NoLeadingSourceMap=16]=\"NoLeadingSourceMap\",V1[V1.NoTrailingSourceMap=32]=\"NoTrailingSourceMap\",V1[V1.NoSourceMap=48]=\"NoSourceMap\",V1[V1.NoNestedSourceMaps=64]=\"NoNestedSourceMaps\",V1[V1.NoTokenLeadingSourceMaps=128]=\"NoTokenLeadingSourceMaps\",V1[V1.NoTokenTrailingSourceMaps=256]=\"NoTokenTrailingSourceMaps\",V1[V1.NoTokenSourceMaps=384]=\"NoTokenSourceMaps\",V1[V1.NoLeadingComments=512]=\"NoLeadingComments\",V1[V1.NoTrailingComments=1024]=\"NoTrailingComments\",V1[V1.NoComments=1536]=\"NoComments\",V1[V1.NoNestedComments=2048]=\"NoNestedComments\",V1[V1.HelperName=4096]=\"HelperName\",V1[V1.ExportName=8192]=\"ExportName\",V1[V1.LocalName=16384]=\"LocalName\",V1[V1.InternalName=32768]=\"InternalName\",V1[V1.Indented=65536]=\"Indented\",V1[V1.NoIndentation=131072]=\"NoIndentation\",V1[V1.AsyncFunctionBody=262144]=\"AsyncFunctionBody\",V1[V1.ReuseTempVariableScope=524288]=\"ReuseTempVariableScope\",V1[V1.CustomPrologue=1048576]=\"CustomPrologue\",V1[V1.NoHoisting=2097152]=\"NoHoisting\",V1[V1.HasEndOfDeclarationMarker=4194304]=\"HasEndOfDeclarationMarker\",V1[V1.Iterator=8388608]=\"Iterator\",V1[V1.NoAsciiEscaping=16777216]=\"NoAsciiEscaping\",V1[V1.TypeScriptClassWrapper=33554432]=\"TypeScriptClassWrapper\",V1[V1.NeverApplyImportHelper=67108864]=\"NeverApplyImportHelper\",V1[V1.IgnoreSourceNewlines=134217728]=\"IgnoreSourceNewlines\",(Ox=e.ExternalEmitHelpers||(e.ExternalEmitHelpers={}))[Ox.Extends=1]=\"Extends\",Ox[Ox.Assign=2]=\"Assign\",Ox[Ox.Rest=4]=\"Rest\",Ox[Ox.Decorate=8]=\"Decorate\",Ox[Ox.Metadata=16]=\"Metadata\",Ox[Ox.Param=32]=\"Param\",Ox[Ox.Awaiter=64]=\"Awaiter\",Ox[Ox.Generator=128]=\"Generator\",Ox[Ox.Values=256]=\"Values\",Ox[Ox.Read=512]=\"Read\",Ox[Ox.SpreadArray=1024]=\"SpreadArray\",Ox[Ox.Await=2048]=\"Await\",Ox[Ox.AsyncGenerator=4096]=\"AsyncGenerator\",Ox[Ox.AsyncDelegator=8192]=\"AsyncDelegator\",Ox[Ox.AsyncValues=16384]=\"AsyncValues\",Ox[Ox.ExportStar=32768]=\"ExportStar\",Ox[Ox.ImportStar=65536]=\"ImportStar\",Ox[Ox.ImportDefault=131072]=\"ImportDefault\",Ox[Ox.MakeTemplateObject=262144]=\"MakeTemplateObject\",Ox[Ox.ClassPrivateFieldGet=524288]=\"ClassPrivateFieldGet\",Ox[Ox.ClassPrivateFieldSet=1048576]=\"ClassPrivateFieldSet\",Ox[Ox.CreateBinding=2097152]=\"CreateBinding\",Ox[Ox.FirstEmitHelper=1]=\"FirstEmitHelper\",Ox[Ox.LastEmitHelper=2097152]=\"LastEmitHelper\",Ox[Ox.ForOfIncludes=256]=\"ForOfIncludes\",Ox[Ox.ForAwaitOfIncludes=16384]=\"ForAwaitOfIncludes\",Ox[Ox.AsyncGeneratorIncludes=6144]=\"AsyncGeneratorIncludes\",Ox[Ox.AsyncDelegatorIncludes=26624]=\"AsyncDelegatorIncludes\",Ox[Ox.SpreadIncludes=1536]=\"SpreadIncludes\",($x=e.EmitHint||(e.EmitHint={}))[$x.SourceFile=0]=\"SourceFile\",$x[$x.Expression=1]=\"Expression\",$x[$x.IdentifierName=2]=\"IdentifierName\",$x[$x.MappedTypeParameter=3]=\"MappedTypeParameter\",$x[$x.Unspecified=4]=\"Unspecified\",$x[$x.EmbeddedStatement=5]=\"EmbeddedStatement\",$x[$x.JsxAttributeValue=6]=\"JsxAttributeValue\",(rx=e.OuterExpressionKinds||(e.OuterExpressionKinds={}))[rx.Parentheses=1]=\"Parentheses\",rx[rx.TypeAssertions=2]=\"TypeAssertions\",rx[rx.NonNullAssertions=4]=\"NonNullAssertions\",rx[rx.PartiallyEmittedExpressions=8]=\"PartiallyEmittedExpressions\",rx[rx.Assertions=6]=\"Assertions\",rx[rx.All=15]=\"All\",(O0=e.LexicalEnvironmentFlags||(e.LexicalEnvironmentFlags={}))[O0.None=0]=\"None\",O0[O0.InParameters=1]=\"InParameters\",O0[O0.VariablesHoistedInParameters=2]=\"VariablesHoistedInParameters\",(C1=e.BundleFileSectionKind||(e.BundleFileSectionKind={})).Prologue=\"prologue\",C1.EmitHelpers=\"emitHelpers\",C1.NoDefaultLib=\"no-default-lib\",C1.Reference=\"reference\",C1.Type=\"type\",C1.Lib=\"lib\",C1.Prepend=\"prepend\",C1.Text=\"text\",C1.Internal=\"internal\",(nx=e.ListFormat||(e.ListFormat={}))[nx.None=0]=\"None\",nx[nx.SingleLine=0]=\"SingleLine\",nx[nx.MultiLine=1]=\"MultiLine\",nx[nx.PreserveLines=2]=\"PreserveLines\",nx[nx.LinesMask=3]=\"LinesMask\",nx[nx.NotDelimited=0]=\"NotDelimited\",nx[nx.BarDelimited=4]=\"BarDelimited\",nx[nx.AmpersandDelimited=8]=\"AmpersandDelimited\",nx[nx.CommaDelimited=16]=\"CommaDelimited\",nx[nx.AsteriskDelimited=32]=\"AsteriskDelimited\",nx[nx.DelimitersMask=60]=\"DelimitersMask\",nx[nx.AllowTrailingComma=64]=\"AllowTrailingComma\",nx[nx.Indented=128]=\"Indented\",nx[nx.SpaceBetweenBraces=256]=\"SpaceBetweenBraces\",nx[nx.SpaceBetweenSiblings=512]=\"SpaceBetweenSiblings\",nx[nx.Braces=1024]=\"Braces\",nx[nx.Parenthesis=2048]=\"Parenthesis\",nx[nx.AngleBrackets=4096]=\"AngleBrackets\",nx[nx.SquareBrackets=8192]=\"SquareBrackets\",nx[nx.BracketsMask=15360]=\"BracketsMask\",nx[nx.OptionalIfUndefined=16384]=\"OptionalIfUndefined\",nx[nx.OptionalIfEmpty=32768]=\"OptionalIfEmpty\",nx[nx.Optional=49152]=\"Optional\",nx[nx.PreferNewLine=65536]=\"PreferNewLine\",nx[nx.NoTrailingNewLine=131072]=\"NoTrailingNewLine\",nx[nx.NoInterveningComments=262144]=\"NoInterveningComments\",nx[nx.NoSpaceIfEmpty=524288]=\"NoSpaceIfEmpty\",nx[nx.SingleElement=1048576]=\"SingleElement\",nx[nx.SpaceAfterList=2097152]=\"SpaceAfterList\",nx[nx.Modifiers=262656]=\"Modifiers\",nx[nx.HeritageClauses=512]=\"HeritageClauses\",nx[nx.SingleLineTypeLiteralMembers=768]=\"SingleLineTypeLiteralMembers\",nx[nx.MultiLineTypeLiteralMembers=32897]=\"MultiLineTypeLiteralMembers\",nx[nx.SingleLineTupleTypeElements=528]=\"SingleLineTupleTypeElements\",nx[nx.MultiLineTupleTypeElements=657]=\"MultiLineTupleTypeElements\",nx[nx.UnionTypeConstituents=516]=\"UnionTypeConstituents\",nx[nx.IntersectionTypeConstituents=520]=\"IntersectionTypeConstituents\",nx[nx.ObjectBindingPatternElements=525136]=\"ObjectBindingPatternElements\",nx[nx.ArrayBindingPatternElements=524880]=\"ArrayBindingPatternElements\",nx[nx.ObjectLiteralExpressionProperties=526226]=\"ObjectLiteralExpressionProperties\",nx[nx.ArrayLiteralExpressionElements=8914]=\"ArrayLiteralExpressionElements\",nx[nx.CommaListElements=528]=\"CommaListElements\",nx[nx.CallExpressionArguments=2576]=\"CallExpressionArguments\",nx[nx.NewExpressionArguments=18960]=\"NewExpressionArguments\",nx[nx.TemplateExpressionSpans=262144]=\"TemplateExpressionSpans\",nx[nx.SingleLineBlockStatements=768]=\"SingleLineBlockStatements\",nx[nx.MultiLineBlockStatements=129]=\"MultiLineBlockStatements\",nx[nx.VariableDeclarationList=528]=\"VariableDeclarationList\",nx[nx.SingleLineFunctionBodyStatements=768]=\"SingleLineFunctionBodyStatements\",nx[nx.MultiLineFunctionBodyStatements=1]=\"MultiLineFunctionBodyStatements\",nx[nx.ClassHeritageClauses=0]=\"ClassHeritageClauses\",nx[nx.ClassMembers=129]=\"ClassMembers\",nx[nx.InterfaceMembers=129]=\"InterfaceMembers\",nx[nx.EnumMembers=145]=\"EnumMembers\",nx[nx.CaseBlockClauses=129]=\"CaseBlockClauses\",nx[nx.NamedImportsOrExportsElements=525136]=\"NamedImportsOrExportsElements\",nx[nx.JsxElementOrFragmentChildren=262144]=\"JsxElementOrFragmentChildren\",nx[nx.JsxElementAttributes=262656]=\"JsxElementAttributes\",nx[nx.CaseOrDefaultClauseStatements=163969]=\"CaseOrDefaultClauseStatements\",nx[nx.HeritageClauseTypes=528]=\"HeritageClauseTypes\",nx[nx.SourceFileStatements=131073]=\"SourceFileStatements\",nx[nx.Decorators=2146305]=\"Decorators\",nx[nx.TypeArguments=53776]=\"TypeArguments\",nx[nx.TypeParameters=53776]=\"TypeParameters\",nx[nx.Parameters=2576]=\"Parameters\",nx[nx.IndexSignatureParameters=8848]=\"IndexSignatureParameters\",nx[nx.JSDocComment=33]=\"JSDocComment\",(O=e.PragmaKindFlags||(e.PragmaKindFlags={}))[O.None=0]=\"None\",O[O.TripleSlashXML=1]=\"TripleSlashXML\",O[O.SingleLine=2]=\"SingleLine\",O[O.MultiLine=4]=\"MultiLine\",O[O.All=7]=\"All\",O[O.Default=7]=\"Default\",e.commentPragmas={reference:{args:[{name:\"types\",optional:!0,captureSpan:!0},{name:\"lib\",optional:!0,captureSpan:!0},{name:\"path\",optional:!0,captureSpan:!0},{name:\"no-default-lib\",optional:!0}],kind:1},\"amd-dependency\":{args:[{name:\"path\"},{name:\"name\",optional:!0}],kind:1},\"amd-module\":{args:[{name:\"name\"}],kind:1},\"ts-check\":{kind:2},\"ts-nocheck\":{kind:2},jsx:{args:[{name:\"factory\"}],kind:4},jsxfrag:{args:[{name:\"factory\"}],kind:4},jsximportsource:{args:[{name:\"factory\"}],kind:4},jsxruntime:{args:[{name:\"factory\"}],kind:4}}}(_0||(_0={})),function(e){e.directorySeparator=\"/\",e.altDirectorySeparator=\"\\\\\";var s=/\\\\/g;function X(f0){return f0===47||f0===92}function J(f0){return I(f0)>0}function m0(f0){return I(f0)!==0}function s1(f0){return/^\\.\\.?($|[\\\\/])/.test(f0)}function i0(f0,y0){return f0.length>y0.length&&e.endsWith(f0,y0)}function H0(f0){return f0.length>0&&X(f0.charCodeAt(f0.length-1))}function E0(f0){return f0>=97&&f0<=122||f0>=65&&f0<=90}function I(f0){if(!f0)return 0;var y0=f0.charCodeAt(0);if(y0===47||y0===92){if(f0.charCodeAt(1)!==y0)return 1;var G0=f0.indexOf(y0===47?e.directorySeparator:e.altDirectorySeparator,2);return G0<0?f0.length:G0+1}if(E0(y0)&&f0.charCodeAt(1)===58){var d1=f0.charCodeAt(2);if(d1===47||d1===92)return 3;if(f0.length===2)return 2}var h1=f0.indexOf(\"://\");if(h1!==-1){var S1=h1+\"://\".length,Q1=f0.indexOf(e.directorySeparator,S1);if(Q1!==-1){var Y0=f0.slice(0,h1),$1=f0.slice(S1,Q1);if(Y0===\"file\"&&($1===\"\"||$1===\"localhost\")&&E0(f0.charCodeAt(Q1+1))){var Z1=function(Q0,y1){var k1=Q0.charCodeAt(y1);if(k1===58)return y1+1;if(k1===37&&Q0.charCodeAt(y1+1)===51){var I1=Q0.charCodeAt(y1+2);if(I1===97||I1===65)return y1+3}return-1}(f0,Q1+2);if(Z1!==-1){if(f0.charCodeAt(Z1)===47)return~(Z1+1);if(Z1===f0.length)return~Z1}}return~(Q1+1)}return~f0.length}return 0}function A(f0){var y0=I(f0);return y0<0?~y0:y0}function Z(f0){var y0=A(f0=U(f0));return y0===f0.length?f0:(f0=l0(f0)).slice(0,Math.max(y0,f0.lastIndexOf(e.directorySeparator)))}function A0(f0,y0,G0){if(A(f0=U(f0))===f0.length)return\"\";var d1=(f0=l0(f0)).slice(Math.max(A(f0),f0.lastIndexOf(e.directorySeparator)+1)),h1=y0!==void 0&&G0!==void 0?j(d1,y0,G0):void 0;return h1?d1.slice(0,d1.length-h1.length):d1}function o0(f0,y0,G0){if(e.startsWith(y0,\".\")||(y0=\".\"+y0),f0.length>=y0.length&&f0.charCodeAt(f0.length-y0.length)===46){var d1=f0.slice(f0.length-y0.length);if(G0(d1,y0))return d1}}function j(f0,y0,G0){if(y0)return function(S1,Q1,Y0){if(typeof Q1==\"string\")return o0(S1,Q1,Y0)||\"\";for(var $1=0,Z1=Q1;$1<Z1.length;$1++){var Q0=o0(S1,Z1[$1],Y0);if(Q0)return Q0}return\"\"}(l0(f0),y0,G0?e.equateStringsCaseInsensitive:e.equateStringsCaseSensitive);var d1=A0(f0),h1=d1.lastIndexOf(\".\");return h1>=0?d1.substring(h1):\"\"}function G(f0,y0){return y0===void 0&&(y0=\"\"),function(G0,d1){var h1=G0.substring(0,d1),S1=G0.substring(d1).split(e.directorySeparator);return S1.length&&!e.lastOrUndefined(S1)&&S1.pop(),D([h1],S1)}(f0=d0(y0,f0),A(f0))}function u0(f0){return f0.length===0?\"\":(f0[0]&&w0(f0[0]))+f0.slice(1).join(e.directorySeparator)}function U(f0){return f0.replace(s,e.directorySeparator)}function g0(f0){if(!e.some(f0))return[];for(var y0=[f0[0]],G0=1;G0<f0.length;G0++){var d1=f0[G0];if(d1&&d1!==\".\"){if(d1===\"..\"){if(y0.length>1){if(y0[y0.length-1]!==\"..\"){y0.pop();continue}}else if(y0[0])continue}y0.push(d1)}}return y0}function d0(f0){for(var y0=[],G0=1;G0<arguments.length;G0++)y0[G0-1]=arguments[G0];f0&&(f0=U(f0));for(var d1=0,h1=y0;d1<h1.length;d1++){var S1=h1[d1];S1&&(S1=U(S1),f0=f0&&A(S1)===0?w0(f0)+S1:S1)}return f0}function P0(f0){for(var y0=[],G0=1;G0<arguments.length;G0++)y0[G0-1]=arguments[G0];return x0(e.some(y0)?d0.apply(void 0,D([f0],y0)):U(f0))}function c0(f0,y0){return g0(G(f0,y0))}function D0(f0,y0){return u0(c0(f0,y0))}function x0(f0){var y0=u0(g0(G(f0=U(f0))));return y0&&H0(f0)?w0(y0):y0}function l0(f0){return H0(f0)?f0.substr(0,f0.length-1):f0}function w0(f0){return H0(f0)?f0:f0+e.directorySeparator}function V(f0){return m0(f0)||s1(f0)?f0:\"./\"+f0}e.isAnyDirectorySeparator=X,e.isUrl=function(f0){return I(f0)<0},e.isRootedDiskPath=J,e.isDiskPathRoot=function(f0){var y0=I(f0);return y0>0&&y0===f0.length},e.pathIsAbsolute=m0,e.pathIsRelative=s1,e.pathIsBareSpecifier=function(f0){return!m0(f0)&&!s1(f0)},e.hasExtension=function(f0){return e.stringContains(A0(f0),\".\")},e.fileExtensionIs=i0,e.fileExtensionIsOneOf=function(f0,y0){for(var G0=0,d1=y0;G0<d1.length;G0++)if(i0(f0,d1[G0]))return!0;return!1},e.hasTrailingDirectorySeparator=H0,e.getRootLength=A,e.getDirectoryPath=Z,e.getBaseFileName=A0,e.getAnyExtensionFromPath=j,e.getPathComponents=G,e.getPathFromPathComponents=u0,e.normalizeSlashes=U,e.reducePathComponents=g0,e.combinePaths=d0,e.resolvePath=P0,e.getNormalizedPathComponents=c0,e.getNormalizedAbsolutePath=D0,e.normalizePath=x0,e.getNormalizedAbsolutePathWithoutRoot=function(f0,y0){return function(G0){return G0.length===0?\"\":G0.slice(1).join(e.directorySeparator)}(c0(f0,y0))},e.toPath=function(f0,y0,G0){return G0(J(f0)?x0(f0):D0(f0,y0))},e.normalizePathAndParts=function(f0){var y0=g0(G(f0=U(f0))),G0=y0[0],d1=y0.slice(1);if(d1.length){var h1=G0+d1.join(e.directorySeparator);return{path:H0(f0)?w0(h1):h1,parts:d1}}return{path:G0,parts:d1}},e.removeTrailingDirectorySeparator=l0,e.ensureTrailingDirectorySeparator=w0,e.ensurePathIsNonModuleName=V,e.changeAnyExtension=function(f0,y0,G0,d1){var h1=G0!==void 0&&d1!==void 0?j(f0,G0,d1):j(f0);return h1?f0.slice(0,f0.length-h1.length)+(e.startsWith(y0,\".\")?y0:\".\"+y0):f0};var w=/(^|\\/)\\.{0,2}($|\\/)/;function H(f0,y0,G0){if(f0===y0)return 0;if(f0===void 0)return-1;if(y0===void 0)return 1;var d1=f0.substring(0,A(f0)),h1=y0.substring(0,A(y0)),S1=e.compareStringsCaseInsensitive(d1,h1);if(S1!==0)return S1;var Q1=f0.substring(d1.length),Y0=y0.substring(h1.length);if(!w.test(Q1)&&!w.test(Y0))return G0(Q1,Y0);for(var $1=g0(G(f0)),Z1=g0(G(y0)),Q0=Math.min($1.length,Z1.length),y1=1;y1<Q0;y1++){var k1=G0($1[y1],Z1[y1]);if(k1!==0)return k1}return e.compareValues($1.length,Z1.length)}function k0(f0,y0,G0,d1){var h1,S1=g0(G(f0)),Q1=g0(G(y0));for(h1=0;h1<S1.length&&h1<Q1.length;h1++){var Y0=d1(S1[h1]),$1=d1(Q1[h1]);if(!(h1===0?e.equateStringsCaseInsensitive:G0)(Y0,$1))break}if(h1===0)return Q1;for(var Z1=Q1.slice(h1),Q0=[];h1<S1.length;h1++)Q0.push(\"..\");return D(D([\"\"],Q0),Z1)}function V0(f0,y0,G0){e.Debug.assert(A(f0)>0==A(y0)>0,\"Paths must either both be absolute or both be relative\");var d1=typeof G0==\"function\"?G0:e.identity;return u0(k0(f0,y0,typeof G0==\"boolean\"&&G0?e.equateStringsCaseInsensitive:e.equateStringsCaseSensitive,d1))}function t0(f0,y0,G0,d1,h1){var S1=k0(P0(G0,f0),P0(G0,y0),e.equateStringsCaseSensitive,d1),Q1=S1[0];if(h1&&J(Q1)){var Y0=Q1.charAt(0)===e.directorySeparator?\"file://\":\"file:///\";S1[0]=Y0+Q1}return u0(S1)}e.comparePathsCaseSensitive=function(f0,y0){return H(f0,y0,e.compareStringsCaseSensitive)},e.comparePathsCaseInsensitive=function(f0,y0){return H(f0,y0,e.compareStringsCaseInsensitive)},e.comparePaths=function(f0,y0,G0,d1){return typeof G0==\"string\"?(f0=d0(G0,f0),y0=d0(G0,y0)):typeof G0==\"boolean\"&&(d1=G0),H(f0,y0,e.getStringComparer(d1))},e.containsPath=function(f0,y0,G0,d1){if(typeof G0==\"string\"?(f0=d0(G0,f0),y0=d0(G0,y0)):typeof G0==\"boolean\"&&(d1=G0),f0===void 0||y0===void 0)return!1;if(f0===y0)return!0;var h1=g0(G(f0)),S1=g0(G(y0));if(S1.length<h1.length)return!1;for(var Q1=d1?e.equateStringsCaseInsensitive:e.equateStringsCaseSensitive,Y0=0;Y0<h1.length;Y0++)if(!(Y0===0?e.equateStringsCaseInsensitive:Q1)(h1[Y0],S1[Y0]))return!1;return!0},e.startsWithDirectory=function(f0,y0,G0){var d1=G0(f0),h1=G0(y0);return e.startsWith(d1,h1+\"/\")||e.startsWith(d1,h1+\"\\\\\")},e.getPathComponentsRelativeTo=k0,e.getRelativePathFromDirectory=V0,e.convertToRelativePath=function(f0,y0,G0){return J(f0)?t0(y0,f0,y0,G0,!1):f0},e.getRelativePathFromFile=function(f0,y0,G0){return V(V0(Z(f0),y0,G0))},e.getRelativePathToDirectoryOrUrl=t0,e.forEachAncestorDirectory=function(f0,y0){for(;;){var G0=y0(f0);if(G0!==void 0)return G0;var d1=Z(f0);if(d1===f0)return;f0=d1}},e.isNodeModulesDirectory=function(f0){return e.endsWith(f0,\"/node_modules\")}}(_0||(_0={})),function(e){function s(w0){for(var V=5381,w=0;w<w0.length;w++)V=(V<<5)+V+w0.charCodeAt(w);return V.toString()}var X,J;function m0(w0,V){return w0.getModifiedTime(V)||e.missingFileModifiedTime}function s1(w0){var V;return(V={})[J.Low]=w0.Low,V[J.Medium]=w0.Medium,V[J.High]=w0.High,V}e.generateDjb2Hash=s,e.setStackTraceLimit=function(){Error.stackTraceLimit<100&&(Error.stackTraceLimit=100)},function(w0){w0[w0.Created=0]=\"Created\",w0[w0.Changed=1]=\"Changed\",w0[w0.Deleted=2]=\"Deleted\"}(X=e.FileWatcherEventKind||(e.FileWatcherEventKind={})),function(w0){w0[w0.High=2e3]=\"High\",w0[w0.Medium=500]=\"Medium\",w0[w0.Low=250]=\"Low\"}(J=e.PollingInterval||(e.PollingInterval={})),e.missingFileModifiedTime=new Date(0),e.getModifiedTime=m0;var i0,H0,E0={Low:32,Medium:64,High:256},I=s1(E0);function A(w0){if(w0.getEnvironmentVariable){var V=function(k0,V0){var t0=w(k0);if(t0)return f0(\"Low\"),f0(\"Medium\"),f0(\"High\"),!0;return!1;function f0(y0){V0[y0]=t0[y0]||V0[y0]}}(\"TSC_WATCH_POLLINGINTERVAL\",J);I=H(\"TSC_WATCH_POLLINGCHUNKSIZE\",E0)||I,e.unchangedPollThresholds=H(\"TSC_WATCH_UNCHANGEDPOLLTHRESHOLDS\",E0)||e.unchangedPollThresholds}function w(k0){var V0;return t0(\"Low\"),t0(\"Medium\"),t0(\"High\"),V0;function t0(f0){var y0=function(G0,d1){return w0.getEnvironmentVariable(G0+\"_\"+d1.toUpperCase())}(k0,f0);y0&&((V0||(V0={}))[f0]=Number(y0))}}function H(k0,V0){var t0=w(k0);return(V||t0)&&s1(t0?$($({},V0),t0):V0)}}function Z(w0,V,w,H,k0){for(var V0=w,t0=V.length;H&&t0;G0(),t0--){var f0=V[w];if(f0)if(f0.isClosed)V[w]=void 0;else{H--;var y0=u0(f0,m0(w0,f0.fileName));f0.isClosed?V[w]=void 0:(k0==null||k0(f0,w,y0),V[w]&&(V0<w&&(V[V0]=f0,V[w]=void 0),V0++))}}return w;function G0(){++w===V.length&&(V0<w&&(V.length=V0),w=0,V0=0)}}function A0(w0){var V=[],w=[],H=t0(J.Low),k0=t0(J.Medium),V0=t0(J.High);return function(Y0,$1,Z1){var Q0={fileName:Y0,callback:$1,unchangedPolls:0,mtime:m0(w0,Y0)};return V.push(Q0),h1(Q0,Z1),{close:function(){Q0.isClosed=!0,e.unorderedRemoveItem(V,Q0)}}};function t0(Y0){var $1=[];return $1.pollingInterval=Y0,$1.pollIndex=0,$1.pollScheduled=!1,$1}function f0(Y0){Y0.pollIndex=G0(Y0,Y0.pollingInterval,Y0.pollIndex,I[Y0.pollingInterval]),Y0.length?Q1(Y0.pollingInterval):(e.Debug.assert(Y0.pollIndex===0),Y0.pollScheduled=!1)}function y0(Y0){G0(w,J.Low,0,w.length),f0(Y0),!Y0.pollScheduled&&w.length&&Q1(J.Low)}function G0(Y0,$1,Z1,Q0){return Z(w0,Y0,Z1,Q0,function(y1,k1,I1){I1?(y1.unchangedPolls=0,Y0!==w&&(Y0[k1]=void 0,K0=y1,w.push(K0),S1(J.Low))):y1.unchangedPolls!==e.unchangedPollThresholds[$1]?y1.unchangedPolls++:Y0===w?(y1.unchangedPolls=1,Y0[k1]=void 0,h1(y1,J.Low)):$1!==J.High&&(y1.unchangedPolls++,Y0[k1]=void 0,h1(y1,$1===J.Low?J.Medium:J.High));var K0})}function d1(Y0){switch(Y0){case J.Low:return H;case J.Medium:return k0;case J.High:return V0}}function h1(Y0,$1){d1($1).push(Y0),S1($1)}function S1(Y0){d1(Y0).pollScheduled||Q1(Y0)}function Q1(Y0){d1(Y0).pollScheduled=w0.setTimeout(Y0===J.Low?y0:f0,Y0,d1(Y0))}}function o0(w0,V){var w=e.createMultiMap(),H=new e.Map,k0=e.createGetCanonicalFileName(V);return function(V0,t0,f0,y0){var G0=k0(V0);w.add(G0,t0);var d1=e.getDirectoryPath(G0)||\".\",h1=H.get(d1)||function(S1,Q1,Y0){var $1=w0(S1,1,function(Z1,Q0){if(e.isString(Q0)){var y1=e.getNormalizedAbsolutePath(Q0,S1),k1=y1&&w.get(k0(y1));if(k1)for(var I1=0,K0=k1;I1<K0.length;I1++)(0,K0[I1])(y1,X.Changed)}},!1,J.Medium,Y0);return $1.referenceCount=0,H.set(Q1,$1),$1}(e.getDirectoryPath(V0)||\".\",d1,y0);return h1.referenceCount++,{close:function(){h1.referenceCount===1?(h1.close(),H.delete(d1)):h1.referenceCount--,w.remove(G0,t0)}}}}function j(w0){var V,w=[],H=0;return function(t0,f0){var y0={fileName:t0,callback:f0,mtime:m0(w0,t0)};return w.push(y0),V0(),{close:function(){y0.isClosed=!0,e.unorderedRemoveItem(w,y0)}}};function k0(){V=void 0,H=Z(w0,w,H,I[J.Low]),V0()}function V0(){w.length&&!V&&(V=w0.setTimeout(k0,J.High))}}function G(w0,V){var w=new e.Map,H=e.createMultiMap(),k0=e.createGetCanonicalFileName(V);return function(V0,t0,f0,y0){var G0=k0(V0),d1=w.get(G0);return d1?d1.refCount++:w.set(G0,{watcher:w0(V0,function(h1,S1){return e.forEach(H.get(G0),function(Q1){return Q1(h1,S1)})},f0,y0),refCount:1}),H.add(G0,t0),{close:function(){var h1=e.Debug.checkDefined(w.get(G0));H.remove(G0,t0),h1.refCount--,h1.refCount||(w.delete(G0),e.closeFileWatcherOf(h1))}}}}function u0(w0,V){var w=w0.mtime.getTime(),H=V.getTime();return w!==H&&(w0.mtime=V,w0.callback(w0.fileName,U(w,H)),!0)}function U(w0,V){return w0===0?X.Created:V===0?X.Deleted:X.Changed}function g0(w0){var V,w=w0.watchDirectory,H=w0.useCaseSensitiveFileNames,k0=w0.getCurrentDirectory,V0=w0.getAccessibleSortedChildDirectories,t0=w0.directoryExists,f0=w0.realpath,y0=w0.setTimeout,G0=w0.clearTimeout,d1=new e.Map,h1=e.createMultiMap(),S1=new e.Map,Q1=e.getStringComparer(!H),Y0=e.createGetCanonicalFileName(H);return function(K0,G1,Nx,n1){return Nx?$1(K0,n1,G1):w(K0,G1,Nx,n1)};function $1(K0,G1,Nx){var n1=Y0(K0),S0=d1.get(n1);S0?S0.refCount++:(S0={watcher:w(K0,function(U0){I1(U0,G1)||((G1==null?void 0:G1.synchronousWatchDirectory)?(Z1(n1,U0),k1(K0,n1,G1)):function(p0,p1,Y1,N1){var V1=d1.get(p1);if(V1&&t0(p0))return void function(Ox,$x,rx,O0){var C1=S1.get($x);C1?C1.fileNames.push(rx):S1.set($x,{dirName:Ox,options:O0,fileNames:[rx]}),V&&(G0(V),V=void 0),V=y0(Q0,1e3)}(p0,p1,Y1,N1);Z1(p1,Y1),y1(V1)}(K0,n1,U0,G1))},!1,G1),refCount:1,childWatches:e.emptyArray},d1.set(n1,S0),k1(K0,n1,G1));var I0=Nx&&{dirName:K0,callback:Nx};return I0&&h1.add(n1,I0),{dirName:K0,close:function(){var U0=e.Debug.checkDefined(d1.get(n1));I0&&h1.remove(n1,I0),U0.refCount--,U0.refCount||(d1.delete(n1),e.closeFileWatcherOf(U0),U0.childWatches.forEach(e.closeFileWatcher))}}}function Z1(K0,G1,Nx){var n1,S0;e.isString(G1)?n1=G1:S0=G1,h1.forEach(function(I0,U0){var p0;if((!S0||S0.get(U0)!==!0)&&(U0===K0||e.startsWith(K0,U0)&&K0[U0.length]===e.directorySeparator))if(S0)if(Nx){var p1=S0.get(U0);p1?(p0=p1).push.apply(p0,Nx):S0.set(U0,Nx.slice())}else S0.set(U0,!0);else I0.forEach(function(Y1){return(0,Y1.callback)(n1)})})}function Q0(){V=void 0,e.sysLog(\"sysLog:: onTimerToUpdateChildWatches:: \"+S1.size);for(var K0=e.timestamp(),G1=new e.Map;!V&&S1.size;){var Nx=S1.entries().next();e.Debug.assert(!Nx.done);var n1=Nx.value,S0=n1[0],I0=n1[1],U0=I0.dirName,p0=I0.options,p1=I0.fileNames;S1.delete(S0);var Y1=k1(U0,S0,p0);Z1(S0,G1,Y1?void 0:p1)}e.sysLog(\"sysLog:: invokingWatchers:: Elapsed:: \"+(e.timestamp()-K0)+\"ms:: \"+S1.size),h1.forEach(function(V1,Ox){var $x=G1.get(Ox);$x&&V1.forEach(function(rx){var O0=rx.callback,C1=rx.dirName;e.isArray($x)?$x.forEach(O0):O0(C1)})});var N1=e.timestamp()-K0;e.sysLog(\"sysLog:: Elapsed:: \"+N1+\"ms:: onTimerToUpdateChildWatches:: \"+S1.size+\" \"+V)}function y1(K0){if(K0){var G1=K0.childWatches;K0.childWatches=e.emptyArray;for(var Nx=0,n1=G1;Nx<n1.length;Nx++){var S0=n1[Nx];S0.close(),y1(d1.get(Y0(S0.dirName)))}}}function k1(K0,G1,Nx){var n1,S0=d1.get(G1);if(!S0)return!1;var I0=e.enumerateInsertsAndDeletes(t0(K0)?e.mapDefined(V0(K0),function(p0){var p1=e.getNormalizedAbsolutePath(p0,K0);return I1(p1,Nx)||Q1(p1,e.normalizePath(f0(p1)))!==0?void 0:p1}):e.emptyArray,S0.childWatches,function(p0,p1){return Q1(p0,p1.dirName)},function(p0){U0($1(p0,Nx))},e.closeFileWatcher,U0);return S0.childWatches=n1||e.emptyArray,I0;function U0(p0){(n1||(n1=[])).push(p0)}}function I1(K0,G1){return e.some(e.ignoredPaths,function(Nx){return function(n1,S0){return!!e.stringContains(n1,S0)||!H&&e.stringContains(Y0(n1),S0)}(K0,Nx)})||P0(K0,G1,H,k0)}}function d0(w0){return function(V,w){return w0(w===X.Changed?\"change\":\"rename\",\"\")}}function P0(w0,V,w,H){return((V==null?void 0:V.excludeDirectories)||(V==null?void 0:V.excludeFiles))&&(e.matchesExclude(w0,V==null?void 0:V.excludeFiles,w,H())||e.matchesExclude(w0,V==null?void 0:V.excludeDirectories,w,H()))}function c0(w0,V,w,H,k0){return function(V0,t0){if(V0===\"rename\"){var f0=t0?e.normalizePath(e.combinePaths(w0,t0)):w0;t0&&P0(f0,w,H,k0)||V(f0)}}}function D0(w0){var V,w,H,k0,V0=w0.pollingWatchFile,t0=w0.getModifiedTime,f0=w0.setTimeout,y0=w0.clearTimeout,G0=w0.fsWatch,d1=w0.fileExists,h1=w0.useCaseSensitiveFileNames,S1=w0.getCurrentDirectory,Q1=w0.fsSupportsRecursiveFsWatch,Y0=w0.directoryExists,$1=w0.getAccessibleSortedChildDirectories,Z1=w0.realpath,Q0=w0.tscWatchFile,y1=w0.useNonPollingWatchers,k1=w0.tscWatchDirectory,I1=w0.defaultWatchFileKind;return{watchFile:function(S0,I0,U0,p0){p0=function(Y1,N1){if(Y1&&Y1.watchFile!==void 0)return Y1;switch(Q0){case\"PriorityPollingInterval\":return{watchFile:e.WatchFileKind.PriorityPollingInterval};case\"DynamicPriorityPolling\":return{watchFile:e.WatchFileKind.DynamicPriorityPolling};case\"UseFsEvents\":return Nx(e.WatchFileKind.UseFsEvents,e.PollingWatchKind.PriorityInterval,Y1);case\"UseFsEventsWithFallbackDynamicPolling\":return Nx(e.WatchFileKind.UseFsEvents,e.PollingWatchKind.DynamicPriority,Y1);case\"UseFsEventsOnParentDirectory\":N1=!0;default:return N1?Nx(e.WatchFileKind.UseFsEventsOnParentDirectory,e.PollingWatchKind.PriorityInterval,Y1):{watchFile:(I1==null?void 0:I1())||e.WatchFileKind.FixedPollingInterval}}}(p0,y1);var p1=e.Debug.checkDefined(p0.watchFile);switch(p1){case e.WatchFileKind.FixedPollingInterval:return V0(S0,I0,J.Low,void 0);case e.WatchFileKind.PriorityPollingInterval:return V0(S0,I0,U0,void 0);case e.WatchFileKind.DynamicPriorityPolling:return K0()(S0,I0,U0,void 0);case e.WatchFileKind.FixedChunkSizePolling:return G1()(S0,I0,void 0,void 0);case e.WatchFileKind.UseFsEvents:return G0(S0,0,function(Y1,N1,V1){return function(Ox){N1(Y1,Ox===\"rename\"?V1(Y1)?X.Created:X.Deleted:X.Changed)}}(S0,I0,d1),!1,U0,e.getFallbackOptions(p0));case e.WatchFileKind.UseFsEventsOnParentDirectory:return H||(H=o0(G0,h1)),H(S0,I0,U0,e.getFallbackOptions(p0));default:e.Debug.assertNever(p1)}},watchDirectory:function(S0,I0,U0,p0){return Q1?G0(S0,1,c0(S0,I0,p0,h1,S1),U0,J.Medium,e.getFallbackOptions(p0)):(k0||(k0=g0({useCaseSensitiveFileNames:h1,getCurrentDirectory:S1,directoryExists:Y0,getAccessibleSortedChildDirectories:$1,watchDirectory:n1,realpath:Z1,setTimeout:f0,clearTimeout:y0})),k0(S0,I0,U0,p0))}};function K0(){return V||(V=A0({getModifiedTime:t0,setTimeout:f0}))}function G1(){return w||(w=j({getModifiedTime:t0,setTimeout:f0}))}function Nx(S0,I0,U0){var p0=U0==null?void 0:U0.fallbackPolling;return{watchFile:S0,fallbackPolling:p0===void 0?I0:p0}}function n1(S0,I0,U0,p0){e.Debug.assert(!U0);var p1=function(N1){if(N1&&N1.watchDirectory!==void 0)return N1;switch(k1){case\"RecursiveDirectoryUsingFsWatchFile\":return{watchDirectory:e.WatchDirectoryKind.FixedPollingInterval};case\"RecursiveDirectoryUsingDynamicPriorityPolling\":return{watchDirectory:e.WatchDirectoryKind.DynamicPriorityPolling};default:var V1=N1==null?void 0:N1.fallbackPolling;return{watchDirectory:e.WatchDirectoryKind.UseFsEvents,fallbackPolling:V1!==void 0?V1:void 0}}}(p0),Y1=e.Debug.checkDefined(p1.watchDirectory);switch(Y1){case e.WatchDirectoryKind.FixedPollingInterval:return V0(S0,function(){return I0(S0)},J.Medium,void 0);case e.WatchDirectoryKind.DynamicPriorityPolling:return K0()(S0,function(){return I0(S0)},J.Medium,void 0);case e.WatchDirectoryKind.FixedChunkSizePolling:return G1()(S0,function(){return I0(S0)},void 0,void 0);case e.WatchDirectoryKind.UseFsEvents:return G0(S0,1,c0(S0,I0,p0,h1,S1),U0,J.Medium,e.getFallbackOptions(p1));default:e.Debug.assertNever(Y1)}}}function x0(w0){var V=w0.writeFile;w0.writeFile=function(w,H,k0){return e.writeFileEnsuringDirectories(w,H,!!k0,function(V0,t0,f0){return V.call(w0,V0,t0,f0)},function(V0){return w0.createDirectory(V0)},function(V0){return w0.directoryExists(V0)})}}function l0(){}e.unchangedPollThresholds=s1(E0),e.setCustomPollingValues=A,e.createDynamicPriorityPollingWatchFile=A0,e.createSingleFileWatcherPerName=G,e.onWatchedFileStat=u0,e.getFileWatcherEventKind=U,e.ignoredPaths=[\"/node_modules/.\",\"/.git\",\"/.#\"],e.sysLog=e.noop,e.setSysLog=function(w0){e.sysLog=w0},e.createDirectoryWatcherSupportingRecursive=g0,(i0=e.FileSystemEntryKind||(e.FileSystemEntryKind={}))[i0.File=0]=\"File\",i0[i0.Directory=1]=\"Directory\",e.createFileWatcherCallback=d0,e.createSystemWatchFunctions=D0,e.patchWriteFileEnsuringDirectory=x0,e.getNodeMajorVersion=l0,e.sys=(Lu!==void 0&&Lu.nextTick&&!Lu.browser&&typeof LQ!=\"undefined\"&&(H0=function(){var w0,V,w,H=/^native |^\\([^)]+\\)$|^(internal[\\\\/]|[a-zA-Z0-9_\\s]+(\\.js)?$)/,k0=Uc,V0=ld,t0=TT;try{V=Cw}catch{V=void 0}var f0=\"./profile.cpuprofile\",y0=Dd.Buffer,G0=Lu.platform===\"darwin\",d1=t0.platform(),h1=d1!==\"win32\"&&d1!==\"win64\"&&!Nx(\"/prettier-security-filename-placeholder.js\".replace(/\\w/g,function(p0){var p1=p0.toUpperCase();return p0===p1?p0.toLowerCase():p1})),S1=h1&&(w0=k0.realpathSync.native)!==null&&w0!==void 0?w0:k0.realpathSync,Q1=e.memoize(function(){return Lu.cwd()}),Y0=D0({pollingWatchFile:G(function(p0,p1,Y1){var N1;return k0.watchFile(p0,{persistent:!0,interval:Y1},V1),{close:function(){return k0.unwatchFile(p0,V1)}};function V1(Ox,$x){var rx=+$x.mtime==0||N1===X.Deleted;if(+Ox.mtime==0){if(rx)return;N1=X.Deleted}else if(rx)N1=X.Created;else{if(+Ox.mtime==+$x.mtime)return;N1=X.Changed}p1(p0,N1)}},h1),getModifiedTime:I0,setTimeout,clearTimeout,fsWatch:function(p0,p1,Y1,N1,V1,Ox){var $x,rx,O0=G1(p0,p1)?nx():b1();return{close:function(){O0.close(),O0=void 0}};function C1(Px){e.sysLog(\"sysLog:: \"+p0+\":: Changing watcher to \"+(Px===nx?\"Present\":\"Missing\")+\"FileSystemEntryWatcher\"),Y1(\"rename\",\"\"),O0&&(O0.close(),O0=Px())}function nx(){$x===void 0&&($x={persistent:!0});try{var Px=k0.watch(p0,$x,G0?O:Y1);return Px.on(\"error\",function(){return C1(b1)}),Px}catch{return e.sysLog(\"sysLog:: \"+p0+\":: Changing to fsWatchFile\"),$1(p0,d0(Y1),V1,Ox)}}function O(Px,me){return Px!==\"rename\"||me&&me!==void 0&&(me.lastIndexOf(rx)===-1||me.lastIndexOf(rx)!==me.length-rx.length)||G1(p0,p1)?Y1(Px,me):C1(b1)}function b1(){return $1(p0,function(Px,me){me===X.Created&&G1(p0,p1)&&C1(nx)},V1,Ox)}},useCaseSensitiveFileNames:h1,getCurrentDirectory:Q1,fileExists:Nx,fsSupportsRecursiveFsWatch:!1,directoryExists:n1,getAccessibleSortedChildDirectories:function(p0){return K0(p0).directories},realpath:S0,tscWatchFile:Lu.env.TSC_WATCHFILE,useNonPollingWatchers:Lu.env.TSC_NONPOLLING_WATCHER,tscWatchDirectory:Lu.env.TSC_WATCHDIRECTORY,defaultWatchFileKind:function(){var p0,p1;return(p1=(p0=H0).defaultWatchFileKind)===null||p1===void 0?void 0:p1.call(p0)}}),$1=Y0.watchFile,Z1=Y0.watchDirectory,Q0={args:Lu.argv.slice(2),newLine:t0.EOL,useCaseSensitiveFileNames:h1,write:function(p0){Lu.stdout.write(p0)},writeOutputIsTTY:function(){return Lu.stdout.isTTY},readFile:function(p0,p1){e.perfLogger.logStartReadFile(p0);var Y1=function(N1,V1){var Ox;try{Ox=k0.readFileSync(N1)}catch{return}var $x=Ox.length;if($x>=2&&Ox[0]===254&&Ox[1]===255){$x&=-2;for(var rx=0;rx<$x;rx+=2){var O0=Ox[rx];Ox[rx]=Ox[rx+1],Ox[rx+1]=O0}return Ox.toString(\"utf16le\",2)}return $x>=2&&Ox[0]===255&&Ox[1]===254?Ox.toString(\"utf16le\",2):$x>=3&&Ox[0]===239&&Ox[1]===187&&Ox[2]===191?Ox.toString(\"utf8\",3):Ox.toString(\"utf8\")}(p0);return e.perfLogger.logStopReadFile(),Y1},writeFile:function(p0,p1,Y1){var N1;e.perfLogger.logEvent(\"WriteFile: \"+p0),Y1&&(p1=\"\\uFEFF\"+p1);try{N1=k0.openSync(p0,\"w\"),k0.writeSync(N1,p1,void 0,\"utf8\")}finally{N1!==void 0&&k0.closeSync(N1)}},watchFile:$1,watchDirectory:Z1,resolvePath:function(p0){return V0.resolve(p0)},fileExists:Nx,directoryExists:n1,createDirectory:function(p0){if(!Q0.directoryExists(p0))try{k0.mkdirSync(p0)}catch(p1){if(p1.code!==\"EEXIST\")throw p1}},getExecutingFilePath:function(){return\"/prettier-security-filename-placeholder.js\"},getCurrentDirectory:Q1,getDirectories:function(p0){return K0(p0).directories.slice()},getEnvironmentVariable:function(p0){return Lu.env[p0]||\"\"},readDirectory:function(p0,p1,Y1,N1,V1){return e.matchFiles(p0,p1,Y1,N1,h1,Lu.cwd(),V1,K0,S0)},getModifiedTime:I0,setModifiedTime:function(p0,p1){try{k0.utimesSync(p0,p1,p1)}catch{return}},deleteFile:function(p0){try{return k0.unlinkSync(p0)}catch{return}},createHash:V?U0:s,createSHA256Hash:V?U0:void 0,getMemoryUsage:function(){return a1.gc&&a1.gc(),Lu.memoryUsage().heapUsed},getFileSize:function(p0){try{var p1=y1(p0);if(p1==null?void 0:p1.isFile())return p1.size}catch{}return 0},exit:function(p0){k1(function(){return Lu.exit(p0)})},enableCPUProfiler:function(p0,p1){if(w)return p1(),!1;var Y1={};if(!Y1||!Y1.Session)return p1(),!1;var N1=new Y1.Session;return N1.connect(),N1.post(\"Profiler.enable\",function(){N1.post(\"Profiler.start\",function(){w=N1,f0=p0,p1()})}),!0},disableCPUProfiler:k1,cpuProfilingEnabled:function(){return!!w||e.contains(Lu.execArgv,\"--cpu-prof\")||e.contains(Lu.execArgv,\"--prof\")},realpath:S0,debugMode:!!Lu.env.NODE_INSPECTOR_IPC||!!Lu.env.VSCODE_INSPECTOR_OPTIONS||e.some(Lu.execArgv,function(p0){return/^--(inspect|debug)(-brk)?(=\\d+)?$/i.test(p0)}),tryEnableSourceMapsForHost:function(){try{lP.install()}catch{}},setTimeout,clearTimeout,clearScreen:function(){Lu.stdout.write(\"\u001bc\")},setBlocking:function(){},bufferFrom:I1,base64decode:function(p0){return I1(p0,\"base64\").toString(\"utf8\")},base64encode:function(p0){return I1(p0).toString(\"base64\")},require:function(p0,p1){try{var Y1=e.resolveJSModule(p1,p0,Q0);return{module:LQ(Y1),modulePath:Y1,error:void 0}}catch(N1){return{module:void 0,modulePath:void 0,error:N1}}}};return Q0;function y1(p0){return k0.statSync(p0,{throwIfNoEntry:!1})}function k1(p0){if(w&&w!==\"stopping\"){var p1=w;return w.post(\"Profiler.stop\",function(Y1,N1){var V1,Ox=N1.profile;if(!Y1){try{((V1=y1(f0))===null||V1===void 0?void 0:V1.isDirectory())&&(f0=V0.join(f0,new Date().toISOString().replace(/:/g,\"-\")+\"+P\"+Lu.pid+\".cpuprofile\"))}catch{}try{k0.mkdirSync(V0.dirname(f0),{recursive:!0})}catch{}k0.writeFileSync(f0,JSON.stringify(function($x){for(var rx=0,O0=new e.Map,C1=e.normalizeSlashes(\"/prettier-security-dirname-placeholder\"),nx=\"file://\"+(e.getRootLength(C1)===1?\"\":\"/\")+C1,O=0,b1=$x.nodes;O<b1.length;O++){var Px=b1[O];if(Px.callFrame.url){var me=e.normalizeSlashes(Px.callFrame.url);e.containsPath(nx,me,h1)?Px.callFrame.url=e.getRelativePathToDirectoryOrUrl(nx,me,nx,e.createGetCanonicalFileName(h1),!0):H.test(me)||(Px.callFrame.url=(O0.has(me)?O0:O0.set(me,\"external\"+rx+\".js\")).get(me),rx++)}}return $x}(Ox)))}w=void 0,p1.disconnect(),p0()}),w=\"stopping\",!0}return p0(),!1}function I1(p0,p1){return y0.from&&y0.from!==Int8Array.from?y0.from(p0,p1):new y0(p0,p1)}function K0(p0){e.perfLogger.logEvent(\"ReadDir: \"+(p0||\".\"));try{for(var p1=k0.readdirSync(p0||\".\",{withFileTypes:!0}),Y1=[],N1=[],V1=0,Ox=p1;V1<Ox.length;V1++){var $x=Ox[V1],rx=typeof $x==\"string\"?$x:$x.name;if(rx!==\".\"&&rx!==\"..\"){var O0=void 0;if(typeof $x==\"string\"||$x.isSymbolicLink()){var C1=e.combinePaths(p0,rx);try{if(!(O0=y1(C1)))continue}catch{continue}}else O0=$x;O0.isFile()?Y1.push(rx):O0.isDirectory()&&N1.push(rx)}}return Y1.sort(),N1.sort(),{files:Y1,directories:N1}}catch{return e.emptyFileSystemEntries}}function G1(p0,p1){var Y1=Error.stackTraceLimit;Error.stackTraceLimit=0;try{var N1=y1(p0);if(!N1)return!1;switch(p1){case 0:return N1.isFile();case 1:return N1.isDirectory();default:return!1}}catch{return!1}finally{Error.stackTraceLimit=Y1}}function Nx(p0){return G1(p0,0)}function n1(p0){return G1(p0,1)}function S0(p0){try{return S1(p0)}catch{return p0}}function I0(p0){var p1;try{return(p1=y1(p0))===null||p1===void 0?void 0:p1.mtime}catch{return}}function U0(p0){var p1=V.createHash(\"sha256\");return p1.update(p0),p1.digest(\"hex\")}}()),H0&&x0(H0),H0),e.sys&&e.sys.getEnvironmentVariable&&(A(e.sys),e.Debug.setAssertionLevel(/^development$/i.test(e.sys.getEnvironmentVariable(\"NODE_ENV\"))?1:0)),e.sys&&e.sys.debugMode&&(e.Debug.isDebugging=!0)}(_0||(_0={})),function(e){function s(X,J,m0,s1,i0,H0,E0){return{code:X,category:J,key:m0,message:s1,reportsUnnecessary:i0,elidedInCompatabilityPyramid:H0,reportsDeprecated:E0}}e.Diagnostics={Unterminated_string_literal:s(1002,e.DiagnosticCategory.Error,\"Unterminated_string_literal_1002\",\"Unterminated string literal.\"),Identifier_expected:s(1003,e.DiagnosticCategory.Error,\"Identifier_expected_1003\",\"Identifier expected.\"),_0_expected:s(1005,e.DiagnosticCategory.Error,\"_0_expected_1005\",\"'{0}' expected.\"),A_file_cannot_have_a_reference_to_itself:s(1006,e.DiagnosticCategory.Error,\"A_file_cannot_have_a_reference_to_itself_1006\",\"A file cannot have a reference to itself.\"),The_parser_expected_to_find_a_to_match_the_token_here:s(1007,e.DiagnosticCategory.Error,\"The_parser_expected_to_find_a_to_match_the_token_here_1007\",\"The parser expected to find a '}' to match the '{' token here.\"),Trailing_comma_not_allowed:s(1009,e.DiagnosticCategory.Error,\"Trailing_comma_not_allowed_1009\",\"Trailing comma not allowed.\"),Asterisk_Slash_expected:s(1010,e.DiagnosticCategory.Error,\"Asterisk_Slash_expected_1010\",\"'*/' expected.\"),An_element_access_expression_should_take_an_argument:s(1011,e.DiagnosticCategory.Error,\"An_element_access_expression_should_take_an_argument_1011\",\"An element access expression should take an argument.\"),Unexpected_token:s(1012,e.DiagnosticCategory.Error,\"Unexpected_token_1012\",\"Unexpected token.\"),A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma:s(1013,e.DiagnosticCategory.Error,\"A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma_1013\",\"A rest parameter or binding pattern may not have a trailing comma.\"),A_rest_parameter_must_be_last_in_a_parameter_list:s(1014,e.DiagnosticCategory.Error,\"A_rest_parameter_must_be_last_in_a_parameter_list_1014\",\"A rest parameter must be last in a parameter list.\"),Parameter_cannot_have_question_mark_and_initializer:s(1015,e.DiagnosticCategory.Error,\"Parameter_cannot_have_question_mark_and_initializer_1015\",\"Parameter cannot have question mark and initializer.\"),A_required_parameter_cannot_follow_an_optional_parameter:s(1016,e.DiagnosticCategory.Error,\"A_required_parameter_cannot_follow_an_optional_parameter_1016\",\"A required parameter cannot follow an optional parameter.\"),An_index_signature_cannot_have_a_rest_parameter:s(1017,e.DiagnosticCategory.Error,\"An_index_signature_cannot_have_a_rest_parameter_1017\",\"An index signature cannot have a rest parameter.\"),An_index_signature_parameter_cannot_have_an_accessibility_modifier:s(1018,e.DiagnosticCategory.Error,\"An_index_signature_parameter_cannot_have_an_accessibility_modifier_1018\",\"An index signature parameter cannot have an accessibility modifier.\"),An_index_signature_parameter_cannot_have_a_question_mark:s(1019,e.DiagnosticCategory.Error,\"An_index_signature_parameter_cannot_have_a_question_mark_1019\",\"An index signature parameter cannot have a question mark.\"),An_index_signature_parameter_cannot_have_an_initializer:s(1020,e.DiagnosticCategory.Error,\"An_index_signature_parameter_cannot_have_an_initializer_1020\",\"An index signature parameter cannot have an initializer.\"),An_index_signature_must_have_a_type_annotation:s(1021,e.DiagnosticCategory.Error,\"An_index_signature_must_have_a_type_annotation_1021\",\"An index signature must have a type annotation.\"),An_index_signature_parameter_must_have_a_type_annotation:s(1022,e.DiagnosticCategory.Error,\"An_index_signature_parameter_must_have_a_type_annotation_1022\",\"An index signature parameter must have a type annotation.\"),An_index_signature_parameter_type_must_be_either_string_or_number:s(1023,e.DiagnosticCategory.Error,\"An_index_signature_parameter_type_must_be_either_string_or_number_1023\",\"An index signature parameter type must be either 'string' or 'number'.\"),readonly_modifier_can_only_appear_on_a_property_declaration_or_index_signature:s(1024,e.DiagnosticCategory.Error,\"readonly_modifier_can_only_appear_on_a_property_declaration_or_index_signature_1024\",\"'readonly' modifier can only appear on a property declaration or index signature.\"),An_index_signature_cannot_have_a_trailing_comma:s(1025,e.DiagnosticCategory.Error,\"An_index_signature_cannot_have_a_trailing_comma_1025\",\"An index signature cannot have a trailing comma.\"),Accessibility_modifier_already_seen:s(1028,e.DiagnosticCategory.Error,\"Accessibility_modifier_already_seen_1028\",\"Accessibility modifier already seen.\"),_0_modifier_must_precede_1_modifier:s(1029,e.DiagnosticCategory.Error,\"_0_modifier_must_precede_1_modifier_1029\",\"'{0}' modifier must precede '{1}' modifier.\"),_0_modifier_already_seen:s(1030,e.DiagnosticCategory.Error,\"_0_modifier_already_seen_1030\",\"'{0}' modifier already seen.\"),_0_modifier_cannot_appear_on_class_elements_of_this_kind:s(1031,e.DiagnosticCategory.Error,\"_0_modifier_cannot_appear_on_class_elements_of_this_kind_1031\",\"'{0}' modifier cannot appear on class elements of this kind.\"),super_must_be_followed_by_an_argument_list_or_member_access:s(1034,e.DiagnosticCategory.Error,\"super_must_be_followed_by_an_argument_list_or_member_access_1034\",\"'super' must be followed by an argument list or member access.\"),Only_ambient_modules_can_use_quoted_names:s(1035,e.DiagnosticCategory.Error,\"Only_ambient_modules_can_use_quoted_names_1035\",\"Only ambient modules can use quoted names.\"),Statements_are_not_allowed_in_ambient_contexts:s(1036,e.DiagnosticCategory.Error,\"Statements_are_not_allowed_in_ambient_contexts_1036\",\"Statements are not allowed in ambient contexts.\"),A_declare_modifier_cannot_be_used_in_an_already_ambient_context:s(1038,e.DiagnosticCategory.Error,\"A_declare_modifier_cannot_be_used_in_an_already_ambient_context_1038\",\"A 'declare' modifier cannot be used in an already ambient context.\"),Initializers_are_not_allowed_in_ambient_contexts:s(1039,e.DiagnosticCategory.Error,\"Initializers_are_not_allowed_in_ambient_contexts_1039\",\"Initializers are not allowed in ambient contexts.\"),_0_modifier_cannot_be_used_in_an_ambient_context:s(1040,e.DiagnosticCategory.Error,\"_0_modifier_cannot_be_used_in_an_ambient_context_1040\",\"'{0}' modifier cannot be used in an ambient context.\"),_0_modifier_cannot_be_used_with_a_class_declaration:s(1041,e.DiagnosticCategory.Error,\"_0_modifier_cannot_be_used_with_a_class_declaration_1041\",\"'{0}' modifier cannot be used with a class declaration.\"),_0_modifier_cannot_be_used_here:s(1042,e.DiagnosticCategory.Error,\"_0_modifier_cannot_be_used_here_1042\",\"'{0}' modifier cannot be used here.\"),_0_modifier_cannot_appear_on_a_data_property:s(1043,e.DiagnosticCategory.Error,\"_0_modifier_cannot_appear_on_a_data_property_1043\",\"'{0}' modifier cannot appear on a data property.\"),_0_modifier_cannot_appear_on_a_module_or_namespace_element:s(1044,e.DiagnosticCategory.Error,\"_0_modifier_cannot_appear_on_a_module_or_namespace_element_1044\",\"'{0}' modifier cannot appear on a module or namespace element.\"),A_0_modifier_cannot_be_used_with_an_interface_declaration:s(1045,e.DiagnosticCategory.Error,\"A_0_modifier_cannot_be_used_with_an_interface_declaration_1045\",\"A '{0}' modifier cannot be used with an interface declaration.\"),Top_level_declarations_in_d_ts_files_must_start_with_either_a_declare_or_export_modifier:s(1046,e.DiagnosticCategory.Error,\"Top_level_declarations_in_d_ts_files_must_start_with_either_a_declare_or_export_modifier_1046\",\"Top-level declarations in .d.ts files must start with either a 'declare' or 'export' modifier.\"),A_rest_parameter_cannot_be_optional:s(1047,e.DiagnosticCategory.Error,\"A_rest_parameter_cannot_be_optional_1047\",\"A rest parameter cannot be optional.\"),A_rest_parameter_cannot_have_an_initializer:s(1048,e.DiagnosticCategory.Error,\"A_rest_parameter_cannot_have_an_initializer_1048\",\"A rest parameter cannot have an initializer.\"),A_set_accessor_must_have_exactly_one_parameter:s(1049,e.DiagnosticCategory.Error,\"A_set_accessor_must_have_exactly_one_parameter_1049\",\"A 'set' accessor must have exactly one parameter.\"),A_set_accessor_cannot_have_an_optional_parameter:s(1051,e.DiagnosticCategory.Error,\"A_set_accessor_cannot_have_an_optional_parameter_1051\",\"A 'set' accessor cannot have an optional parameter.\"),A_set_accessor_parameter_cannot_have_an_initializer:s(1052,e.DiagnosticCategory.Error,\"A_set_accessor_parameter_cannot_have_an_initializer_1052\",\"A 'set' accessor parameter cannot have an initializer.\"),A_set_accessor_cannot_have_rest_parameter:s(1053,e.DiagnosticCategory.Error,\"A_set_accessor_cannot_have_rest_parameter_1053\",\"A 'set' accessor cannot have rest parameter.\"),A_get_accessor_cannot_have_parameters:s(1054,e.DiagnosticCategory.Error,\"A_get_accessor_cannot_have_parameters_1054\",\"A 'get' accessor cannot have parameters.\"),Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value:s(1055,e.DiagnosticCategory.Error,\"Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Prom_1055\",\"Type '{0}' is not a valid async function return type in ES5/ES3 because it does not refer to a Promise-compatible constructor value.\"),Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher:s(1056,e.DiagnosticCategory.Error,\"Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher_1056\",\"Accessors are only available when targeting ECMAScript 5 and higher.\"),An_async_function_or_method_must_have_a_valid_awaitable_return_type:s(1057,e.DiagnosticCategory.Error,\"An_async_function_or_method_must_have_a_valid_awaitable_return_type_1057\",\"An async function or method must have a valid awaitable return type.\"),The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:s(1058,e.DiagnosticCategory.Error,\"The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_t_1058\",\"The return type of an async function must either be a valid promise or must not contain a callable 'then' member.\"),A_promise_must_have_a_then_method:s(1059,e.DiagnosticCategory.Error,\"A_promise_must_have_a_then_method_1059\",\"A promise must have a 'then' method.\"),The_first_parameter_of_the_then_method_of_a_promise_must_be_a_callback:s(1060,e.DiagnosticCategory.Error,\"The_first_parameter_of_the_then_method_of_a_promise_must_be_a_callback_1060\",\"The first parameter of the 'then' method of a promise must be a callback.\"),Enum_member_must_have_initializer:s(1061,e.DiagnosticCategory.Error,\"Enum_member_must_have_initializer_1061\",\"Enum member must have initializer.\"),Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method:s(1062,e.DiagnosticCategory.Error,\"Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method_1062\",\"Type is referenced directly or indirectly in the fulfillment callback of its own 'then' method.\"),An_export_assignment_cannot_be_used_in_a_namespace:s(1063,e.DiagnosticCategory.Error,\"An_export_assignment_cannot_be_used_in_a_namespace_1063\",\"An export assignment cannot be used in a namespace.\"),The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_write_Promise_0:s(1064,e.DiagnosticCategory.Error,\"The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_wri_1064\",\"The return type of an async function or method must be the global Promise<T> type. Did you mean to write 'Promise<{0}>'?\"),In_ambient_enum_declarations_member_initializer_must_be_constant_expression:s(1066,e.DiagnosticCategory.Error,\"In_ambient_enum_declarations_member_initializer_must_be_constant_expression_1066\",\"In ambient enum declarations member initializer must be constant expression.\"),Unexpected_token_A_constructor_method_accessor_or_property_was_expected:s(1068,e.DiagnosticCategory.Error,\"Unexpected_token_A_constructor_method_accessor_or_property_was_expected_1068\",\"Unexpected token. A constructor, method, accessor, or property was expected.\"),Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces:s(1069,e.DiagnosticCategory.Error,\"Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces_1069\",\"Unexpected token. A type parameter name was expected without curly braces.\"),_0_modifier_cannot_appear_on_a_type_member:s(1070,e.DiagnosticCategory.Error,\"_0_modifier_cannot_appear_on_a_type_member_1070\",\"'{0}' modifier cannot appear on a type member.\"),_0_modifier_cannot_appear_on_an_index_signature:s(1071,e.DiagnosticCategory.Error,\"_0_modifier_cannot_appear_on_an_index_signature_1071\",\"'{0}' modifier cannot appear on an index signature.\"),A_0_modifier_cannot_be_used_with_an_import_declaration:s(1079,e.DiagnosticCategory.Error,\"A_0_modifier_cannot_be_used_with_an_import_declaration_1079\",\"A '{0}' modifier cannot be used with an import declaration.\"),Invalid_reference_directive_syntax:s(1084,e.DiagnosticCategory.Error,\"Invalid_reference_directive_syntax_1084\",\"Invalid 'reference' directive syntax.\"),Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0:s(1085,e.DiagnosticCategory.Error,\"Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0_1085\",\"Octal literals are not available when targeting ECMAScript 5 and higher. Use the syntax '{0}'.\"),_0_modifier_cannot_appear_on_a_constructor_declaration:s(1089,e.DiagnosticCategory.Error,\"_0_modifier_cannot_appear_on_a_constructor_declaration_1089\",\"'{0}' modifier cannot appear on a constructor declaration.\"),_0_modifier_cannot_appear_on_a_parameter:s(1090,e.DiagnosticCategory.Error,\"_0_modifier_cannot_appear_on_a_parameter_1090\",\"'{0}' modifier cannot appear on a parameter.\"),Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement:s(1091,e.DiagnosticCategory.Error,\"Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement_1091\",\"Only a single variable declaration is allowed in a 'for...in' statement.\"),Type_parameters_cannot_appear_on_a_constructor_declaration:s(1092,e.DiagnosticCategory.Error,\"Type_parameters_cannot_appear_on_a_constructor_declaration_1092\",\"Type parameters cannot appear on a constructor declaration.\"),Type_annotation_cannot_appear_on_a_constructor_declaration:s(1093,e.DiagnosticCategory.Error,\"Type_annotation_cannot_appear_on_a_constructor_declaration_1093\",\"Type annotation cannot appear on a constructor declaration.\"),An_accessor_cannot_have_type_parameters:s(1094,e.DiagnosticCategory.Error,\"An_accessor_cannot_have_type_parameters_1094\",\"An accessor cannot have type parameters.\"),A_set_accessor_cannot_have_a_return_type_annotation:s(1095,e.DiagnosticCategory.Error,\"A_set_accessor_cannot_have_a_return_type_annotation_1095\",\"A 'set' accessor cannot have a return type annotation.\"),An_index_signature_must_have_exactly_one_parameter:s(1096,e.DiagnosticCategory.Error,\"An_index_signature_must_have_exactly_one_parameter_1096\",\"An index signature must have exactly one parameter.\"),_0_list_cannot_be_empty:s(1097,e.DiagnosticCategory.Error,\"_0_list_cannot_be_empty_1097\",\"'{0}' list cannot be empty.\"),Type_parameter_list_cannot_be_empty:s(1098,e.DiagnosticCategory.Error,\"Type_parameter_list_cannot_be_empty_1098\",\"Type parameter list cannot be empty.\"),Type_argument_list_cannot_be_empty:s(1099,e.DiagnosticCategory.Error,\"Type_argument_list_cannot_be_empty_1099\",\"Type argument list cannot be empty.\"),Invalid_use_of_0_in_strict_mode:s(1100,e.DiagnosticCategory.Error,\"Invalid_use_of_0_in_strict_mode_1100\",\"Invalid use of '{0}' in strict mode.\"),with_statements_are_not_allowed_in_strict_mode:s(1101,e.DiagnosticCategory.Error,\"with_statements_are_not_allowed_in_strict_mode_1101\",\"'with' statements are not allowed in strict mode.\"),delete_cannot_be_called_on_an_identifier_in_strict_mode:s(1102,e.DiagnosticCategory.Error,\"delete_cannot_be_called_on_an_identifier_in_strict_mode_1102\",\"'delete' cannot be called on an identifier in strict mode.\"),for_await_loops_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules:s(1103,e.DiagnosticCategory.Error,\"for_await_loops_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules_1103\",\"'for await' loops are only allowed within async functions and at the top levels of modules.\"),A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement:s(1104,e.DiagnosticCategory.Error,\"A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement_1104\",\"A 'continue' statement can only be used within an enclosing iteration statement.\"),A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement:s(1105,e.DiagnosticCategory.Error,\"A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement_1105\",\"A 'break' statement can only be used within an enclosing iteration or switch statement.\"),Jump_target_cannot_cross_function_boundary:s(1107,e.DiagnosticCategory.Error,\"Jump_target_cannot_cross_function_boundary_1107\",\"Jump target cannot cross function boundary.\"),A_return_statement_can_only_be_used_within_a_function_body:s(1108,e.DiagnosticCategory.Error,\"A_return_statement_can_only_be_used_within_a_function_body_1108\",\"A 'return' statement can only be used within a function body.\"),Expression_expected:s(1109,e.DiagnosticCategory.Error,\"Expression_expected_1109\",\"Expression expected.\"),Type_expected:s(1110,e.DiagnosticCategory.Error,\"Type_expected_1110\",\"Type expected.\"),A_default_clause_cannot_appear_more_than_once_in_a_switch_statement:s(1113,e.DiagnosticCategory.Error,\"A_default_clause_cannot_appear_more_than_once_in_a_switch_statement_1113\",\"A 'default' clause cannot appear more than once in a 'switch' statement.\"),Duplicate_label_0:s(1114,e.DiagnosticCategory.Error,\"Duplicate_label_0_1114\",\"Duplicate label '{0}'.\"),A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement:s(1115,e.DiagnosticCategory.Error,\"A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement_1115\",\"A 'continue' statement can only jump to a label of an enclosing iteration statement.\"),A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement:s(1116,e.DiagnosticCategory.Error,\"A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement_1116\",\"A 'break' statement can only jump to a label of an enclosing statement.\"),An_object_literal_cannot_have_multiple_properties_with_the_same_name_in_strict_mode:s(1117,e.DiagnosticCategory.Error,\"An_object_literal_cannot_have_multiple_properties_with_the_same_name_in_strict_mode_1117\",\"An object literal cannot have multiple properties with the same name in strict mode.\"),An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name:s(1118,e.DiagnosticCategory.Error,\"An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name_1118\",\"An object literal cannot have multiple get/set accessors with the same name.\"),An_object_literal_cannot_have_property_and_accessor_with_the_same_name:s(1119,e.DiagnosticCategory.Error,\"An_object_literal_cannot_have_property_and_accessor_with_the_same_name_1119\",\"An object literal cannot have property and accessor with the same name.\"),An_export_assignment_cannot_have_modifiers:s(1120,e.DiagnosticCategory.Error,\"An_export_assignment_cannot_have_modifiers_1120\",\"An export assignment cannot have modifiers.\"),Octal_literals_are_not_allowed_in_strict_mode:s(1121,e.DiagnosticCategory.Error,\"Octal_literals_are_not_allowed_in_strict_mode_1121\",\"Octal literals are not allowed in strict mode.\"),Variable_declaration_list_cannot_be_empty:s(1123,e.DiagnosticCategory.Error,\"Variable_declaration_list_cannot_be_empty_1123\",\"Variable declaration list cannot be empty.\"),Digit_expected:s(1124,e.DiagnosticCategory.Error,\"Digit_expected_1124\",\"Digit expected.\"),Hexadecimal_digit_expected:s(1125,e.DiagnosticCategory.Error,\"Hexadecimal_digit_expected_1125\",\"Hexadecimal digit expected.\"),Unexpected_end_of_text:s(1126,e.DiagnosticCategory.Error,\"Unexpected_end_of_text_1126\",\"Unexpected end of text.\"),Invalid_character:s(1127,e.DiagnosticCategory.Error,\"Invalid_character_1127\",\"Invalid character.\"),Declaration_or_statement_expected:s(1128,e.DiagnosticCategory.Error,\"Declaration_or_statement_expected_1128\",\"Declaration or statement expected.\"),Statement_expected:s(1129,e.DiagnosticCategory.Error,\"Statement_expected_1129\",\"Statement expected.\"),case_or_default_expected:s(1130,e.DiagnosticCategory.Error,\"case_or_default_expected_1130\",\"'case' or 'default' expected.\"),Property_or_signature_expected:s(1131,e.DiagnosticCategory.Error,\"Property_or_signature_expected_1131\",\"Property or signature expected.\"),Enum_member_expected:s(1132,e.DiagnosticCategory.Error,\"Enum_member_expected_1132\",\"Enum member expected.\"),Variable_declaration_expected:s(1134,e.DiagnosticCategory.Error,\"Variable_declaration_expected_1134\",\"Variable declaration expected.\"),Argument_expression_expected:s(1135,e.DiagnosticCategory.Error,\"Argument_expression_expected_1135\",\"Argument expression expected.\"),Property_assignment_expected:s(1136,e.DiagnosticCategory.Error,\"Property_assignment_expected_1136\",\"Property assignment expected.\"),Expression_or_comma_expected:s(1137,e.DiagnosticCategory.Error,\"Expression_or_comma_expected_1137\",\"Expression or comma expected.\"),Parameter_declaration_expected:s(1138,e.DiagnosticCategory.Error,\"Parameter_declaration_expected_1138\",\"Parameter declaration expected.\"),Type_parameter_declaration_expected:s(1139,e.DiagnosticCategory.Error,\"Type_parameter_declaration_expected_1139\",\"Type parameter declaration expected.\"),Type_argument_expected:s(1140,e.DiagnosticCategory.Error,\"Type_argument_expected_1140\",\"Type argument expected.\"),String_literal_expected:s(1141,e.DiagnosticCategory.Error,\"String_literal_expected_1141\",\"String literal expected.\"),Line_break_not_permitted_here:s(1142,e.DiagnosticCategory.Error,\"Line_break_not_permitted_here_1142\",\"Line break not permitted here.\"),or_expected:s(1144,e.DiagnosticCategory.Error,\"or_expected_1144\",\"'{' or ';' expected.\"),Declaration_expected:s(1146,e.DiagnosticCategory.Error,\"Declaration_expected_1146\",\"Declaration expected.\"),Import_declarations_in_a_namespace_cannot_reference_a_module:s(1147,e.DiagnosticCategory.Error,\"Import_declarations_in_a_namespace_cannot_reference_a_module_1147\",\"Import declarations in a namespace cannot reference a module.\"),Cannot_use_imports_exports_or_module_augmentations_when_module_is_none:s(1148,e.DiagnosticCategory.Error,\"Cannot_use_imports_exports_or_module_augmentations_when_module_is_none_1148\",\"Cannot use imports, exports, or module augmentations when '--module' is 'none'.\"),File_name_0_differs_from_already_included_file_name_1_only_in_casing:s(1149,e.DiagnosticCategory.Error,\"File_name_0_differs_from_already_included_file_name_1_only_in_casing_1149\",\"File name '{0}' differs from already included file name '{1}' only in casing.\"),const_declarations_must_be_initialized:s(1155,e.DiagnosticCategory.Error,\"const_declarations_must_be_initialized_1155\",\"'const' declarations must be initialized.\"),const_declarations_can_only_be_declared_inside_a_block:s(1156,e.DiagnosticCategory.Error,\"const_declarations_can_only_be_declared_inside_a_block_1156\",\"'const' declarations can only be declared inside a block.\"),let_declarations_can_only_be_declared_inside_a_block:s(1157,e.DiagnosticCategory.Error,\"let_declarations_can_only_be_declared_inside_a_block_1157\",\"'let' declarations can only be declared inside a block.\"),Unterminated_template_literal:s(1160,e.DiagnosticCategory.Error,\"Unterminated_template_literal_1160\",\"Unterminated template literal.\"),Unterminated_regular_expression_literal:s(1161,e.DiagnosticCategory.Error,\"Unterminated_regular_expression_literal_1161\",\"Unterminated regular expression literal.\"),An_object_member_cannot_be_declared_optional:s(1162,e.DiagnosticCategory.Error,\"An_object_member_cannot_be_declared_optional_1162\",\"An object member cannot be declared optional.\"),A_yield_expression_is_only_allowed_in_a_generator_body:s(1163,e.DiagnosticCategory.Error,\"A_yield_expression_is_only_allowed_in_a_generator_body_1163\",\"A 'yield' expression is only allowed in a generator body.\"),Computed_property_names_are_not_allowed_in_enums:s(1164,e.DiagnosticCategory.Error,\"Computed_property_names_are_not_allowed_in_enums_1164\",\"Computed property names are not allowed in enums.\"),A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:s(1165,e.DiagnosticCategory.Error,\"A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_t_1165\",\"A computed property name in an ambient context must refer to an expression whose type is a literal type or a 'unique symbol' type.\"),A_computed_property_name_in_a_class_property_declaration_must_have_a_simple_literal_type_or_a_unique_symbol_type:s(1166,e.DiagnosticCategory.Error,\"A_computed_property_name_in_a_class_property_declaration_must_have_a_simple_literal_type_or_a_unique_1166\",\"A computed property name in a class property declaration must have a simple literal type or a 'unique symbol' type.\"),A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:s(1168,e.DiagnosticCategory.Error,\"A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_ty_1168\",\"A computed property name in a method overload must refer to an expression whose type is a literal type or a 'unique symbol' type.\"),A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:s(1169,e.DiagnosticCategory.Error,\"A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_1169\",\"A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type.\"),A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:s(1170,e.DiagnosticCategory.Error,\"A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type__1170\",\"A computed property name in a type literal must refer to an expression whose type is a literal type or a 'unique symbol' type.\"),A_comma_expression_is_not_allowed_in_a_computed_property_name:s(1171,e.DiagnosticCategory.Error,\"A_comma_expression_is_not_allowed_in_a_computed_property_name_1171\",\"A comma expression is not allowed in a computed property name.\"),extends_clause_already_seen:s(1172,e.DiagnosticCategory.Error,\"extends_clause_already_seen_1172\",\"'extends' clause already seen.\"),extends_clause_must_precede_implements_clause:s(1173,e.DiagnosticCategory.Error,\"extends_clause_must_precede_implements_clause_1173\",\"'extends' clause must precede 'implements' clause.\"),Classes_can_only_extend_a_single_class:s(1174,e.DiagnosticCategory.Error,\"Classes_can_only_extend_a_single_class_1174\",\"Classes can only extend a single class.\"),implements_clause_already_seen:s(1175,e.DiagnosticCategory.Error,\"implements_clause_already_seen_1175\",\"'implements' clause already seen.\"),Interface_declaration_cannot_have_implements_clause:s(1176,e.DiagnosticCategory.Error,\"Interface_declaration_cannot_have_implements_clause_1176\",\"Interface declaration cannot have 'implements' clause.\"),Binary_digit_expected:s(1177,e.DiagnosticCategory.Error,\"Binary_digit_expected_1177\",\"Binary digit expected.\"),Octal_digit_expected:s(1178,e.DiagnosticCategory.Error,\"Octal_digit_expected_1178\",\"Octal digit expected.\"),Unexpected_token_expected:s(1179,e.DiagnosticCategory.Error,\"Unexpected_token_expected_1179\",\"Unexpected token. '{' expected.\"),Property_destructuring_pattern_expected:s(1180,e.DiagnosticCategory.Error,\"Property_destructuring_pattern_expected_1180\",\"Property destructuring pattern expected.\"),Array_element_destructuring_pattern_expected:s(1181,e.DiagnosticCategory.Error,\"Array_element_destructuring_pattern_expected_1181\",\"Array element destructuring pattern expected.\"),A_destructuring_declaration_must_have_an_initializer:s(1182,e.DiagnosticCategory.Error,\"A_destructuring_declaration_must_have_an_initializer_1182\",\"A destructuring declaration must have an initializer.\"),An_implementation_cannot_be_declared_in_ambient_contexts:s(1183,e.DiagnosticCategory.Error,\"An_implementation_cannot_be_declared_in_ambient_contexts_1183\",\"An implementation cannot be declared in ambient contexts.\"),Modifiers_cannot_appear_here:s(1184,e.DiagnosticCategory.Error,\"Modifiers_cannot_appear_here_1184\",\"Modifiers cannot appear here.\"),Merge_conflict_marker_encountered:s(1185,e.DiagnosticCategory.Error,\"Merge_conflict_marker_encountered_1185\",\"Merge conflict marker encountered.\"),A_rest_element_cannot_have_an_initializer:s(1186,e.DiagnosticCategory.Error,\"A_rest_element_cannot_have_an_initializer_1186\",\"A rest element cannot have an initializer.\"),A_parameter_property_may_not_be_declared_using_a_binding_pattern:s(1187,e.DiagnosticCategory.Error,\"A_parameter_property_may_not_be_declared_using_a_binding_pattern_1187\",\"A parameter property may not be declared using a binding pattern.\"),Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement:s(1188,e.DiagnosticCategory.Error,\"Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement_1188\",\"Only a single variable declaration is allowed in a 'for...of' statement.\"),The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer:s(1189,e.DiagnosticCategory.Error,\"The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer_1189\",\"The variable declaration of a 'for...in' statement cannot have an initializer.\"),The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer:s(1190,e.DiagnosticCategory.Error,\"The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer_1190\",\"The variable declaration of a 'for...of' statement cannot have an initializer.\"),An_import_declaration_cannot_have_modifiers:s(1191,e.DiagnosticCategory.Error,\"An_import_declaration_cannot_have_modifiers_1191\",\"An import declaration cannot have modifiers.\"),Module_0_has_no_default_export:s(1192,e.DiagnosticCategory.Error,\"Module_0_has_no_default_export_1192\",\"Module '{0}' has no default export.\"),An_export_declaration_cannot_have_modifiers:s(1193,e.DiagnosticCategory.Error,\"An_export_declaration_cannot_have_modifiers_1193\",\"An export declaration cannot have modifiers.\"),Export_declarations_are_not_permitted_in_a_namespace:s(1194,e.DiagnosticCategory.Error,\"Export_declarations_are_not_permitted_in_a_namespace_1194\",\"Export declarations are not permitted in a namespace.\"),export_Asterisk_does_not_re_export_a_default:s(1195,e.DiagnosticCategory.Error,\"export_Asterisk_does_not_re_export_a_default_1195\",\"'export *' does not re-export a default.\"),Catch_clause_variable_type_annotation_must_be_any_or_unknown_if_specified:s(1196,e.DiagnosticCategory.Error,\"Catch_clause_variable_type_annotation_must_be_any_or_unknown_if_specified_1196\",\"Catch clause variable type annotation must be 'any' or 'unknown' if specified.\"),Catch_clause_variable_cannot_have_an_initializer:s(1197,e.DiagnosticCategory.Error,\"Catch_clause_variable_cannot_have_an_initializer_1197\",\"Catch clause variable cannot have an initializer.\"),An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive:s(1198,e.DiagnosticCategory.Error,\"An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive_1198\",\"An extended Unicode escape value must be between 0x0 and 0x10FFFF inclusive.\"),Unterminated_Unicode_escape_sequence:s(1199,e.DiagnosticCategory.Error,\"Unterminated_Unicode_escape_sequence_1199\",\"Unterminated Unicode escape sequence.\"),Line_terminator_not_permitted_before_arrow:s(1200,e.DiagnosticCategory.Error,\"Line_terminator_not_permitted_before_arrow_1200\",\"Line terminator not permitted before arrow.\"),Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead:s(1202,e.DiagnosticCategory.Error,\"Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_1202\",`Import assignment cannot be used when targeting ECMAScript modules. Consider using 'import * as ns from \"mod\"', 'import {a} from \"mod\"', 'import d from \"mod\"', or another module format instead.`),Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or_another_module_format_instead:s(1203,e.DiagnosticCategory.Error,\"Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or__1203\",\"Export assignment cannot be used when targeting ECMAScript modules. Consider using 'export default' or another module format instead.\"),Re_exporting_a_type_when_the_isolatedModules_flag_is_provided_requires_using_export_type:s(1205,e.DiagnosticCategory.Error,\"Re_exporting_a_type_when_the_isolatedModules_flag_is_provided_requires_using_export_type_1205\",\"Re-exporting a type when the '--isolatedModules' flag is provided requires using 'export type'.\"),Decorators_are_not_valid_here:s(1206,e.DiagnosticCategory.Error,\"Decorators_are_not_valid_here_1206\",\"Decorators are not valid here.\"),Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name:s(1207,e.DiagnosticCategory.Error,\"Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name_1207\",\"Decorators cannot be applied to multiple get/set accessors of the same name.\"),_0_cannot_be_compiled_under_isolatedModules_because_it_is_considered_a_global_script_file_Add_an_import_export_or_an_empty_export_statement_to_make_it_a_module:s(1208,e.DiagnosticCategory.Error,\"_0_cannot_be_compiled_under_isolatedModules_because_it_is_considered_a_global_script_file_Add_an_imp_1208\",\"'{0}' cannot be compiled under '--isolatedModules' because it is considered a global script file. Add an import, export, or an empty 'export {}' statement to make it a module.\"),Invalid_use_of_0_Class_definitions_are_automatically_in_strict_mode:s(1210,e.DiagnosticCategory.Error,\"Invalid_use_of_0_Class_definitions_are_automatically_in_strict_mode_1210\",\"Invalid use of '{0}'. Class definitions are automatically in strict mode.\"),A_class_declaration_without_the_default_modifier_must_have_a_name:s(1211,e.DiagnosticCategory.Error,\"A_class_declaration_without_the_default_modifier_must_have_a_name_1211\",\"A class declaration without the 'default' modifier must have a name.\"),Identifier_expected_0_is_a_reserved_word_in_strict_mode:s(1212,e.DiagnosticCategory.Error,\"Identifier_expected_0_is_a_reserved_word_in_strict_mode_1212\",\"Identifier expected. '{0}' is a reserved word in strict mode.\"),Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode:s(1213,e.DiagnosticCategory.Error,\"Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_stric_1213\",\"Identifier expected. '{0}' is a reserved word in strict mode. Class definitions are automatically in strict mode.\"),Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode:s(1214,e.DiagnosticCategory.Error,\"Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode_1214\",\"Identifier expected. '{0}' is a reserved word in strict mode. Modules are automatically in strict mode.\"),Invalid_use_of_0_Modules_are_automatically_in_strict_mode:s(1215,e.DiagnosticCategory.Error,\"Invalid_use_of_0_Modules_are_automatically_in_strict_mode_1215\",\"Invalid use of '{0}'. Modules are automatically in strict mode.\"),Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules:s(1216,e.DiagnosticCategory.Error,\"Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules_1216\",\"Identifier expected. '__esModule' is reserved as an exported marker when transforming ECMAScript modules.\"),Export_assignment_is_not_supported_when_module_flag_is_system:s(1218,e.DiagnosticCategory.Error,\"Export_assignment_is_not_supported_when_module_flag_is_system_1218\",\"Export assignment is not supported when '--module' flag is 'system'.\"),Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_the_experimentalDecorators_option_in_your_tsconfig_or_jsconfig_to_remove_this_warning:s(1219,e.DiagnosticCategory.Error,\"Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_t_1219\",\"Experimental support for decorators is a feature that is subject to change in a future release. Set the 'experimentalDecorators' option in your 'tsconfig' or 'jsconfig' to remove this warning.\"),Generators_are_only_available_when_targeting_ECMAScript_2015_or_higher:s(1220,e.DiagnosticCategory.Error,\"Generators_are_only_available_when_targeting_ECMAScript_2015_or_higher_1220\",\"Generators are only available when targeting ECMAScript 2015 or higher.\"),Generators_are_not_allowed_in_an_ambient_context:s(1221,e.DiagnosticCategory.Error,\"Generators_are_not_allowed_in_an_ambient_context_1221\",\"Generators are not allowed in an ambient context.\"),An_overload_signature_cannot_be_declared_as_a_generator:s(1222,e.DiagnosticCategory.Error,\"An_overload_signature_cannot_be_declared_as_a_generator_1222\",\"An overload signature cannot be declared as a generator.\"),_0_tag_already_specified:s(1223,e.DiagnosticCategory.Error,\"_0_tag_already_specified_1223\",\"'{0}' tag already specified.\"),Signature_0_must_be_a_type_predicate:s(1224,e.DiagnosticCategory.Error,\"Signature_0_must_be_a_type_predicate_1224\",\"Signature '{0}' must be a type predicate.\"),Cannot_find_parameter_0:s(1225,e.DiagnosticCategory.Error,\"Cannot_find_parameter_0_1225\",\"Cannot find parameter '{0}'.\"),Type_predicate_0_is_not_assignable_to_1:s(1226,e.DiagnosticCategory.Error,\"Type_predicate_0_is_not_assignable_to_1_1226\",\"Type predicate '{0}' is not assignable to '{1}'.\"),Parameter_0_is_not_in_the_same_position_as_parameter_1:s(1227,e.DiagnosticCategory.Error,\"Parameter_0_is_not_in_the_same_position_as_parameter_1_1227\",\"Parameter '{0}' is not in the same position as parameter '{1}'.\"),A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods:s(1228,e.DiagnosticCategory.Error,\"A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods_1228\",\"A type predicate is only allowed in return type position for functions and methods.\"),A_type_predicate_cannot_reference_a_rest_parameter:s(1229,e.DiagnosticCategory.Error,\"A_type_predicate_cannot_reference_a_rest_parameter_1229\",\"A type predicate cannot reference a rest parameter.\"),A_type_predicate_cannot_reference_element_0_in_a_binding_pattern:s(1230,e.DiagnosticCategory.Error,\"A_type_predicate_cannot_reference_element_0_in_a_binding_pattern_1230\",\"A type predicate cannot reference element '{0}' in a binding pattern.\"),An_export_assignment_must_be_at_the_top_level_of_a_file_or_module_declaration:s(1231,e.DiagnosticCategory.Error,\"An_export_assignment_must_be_at_the_top_level_of_a_file_or_module_declaration_1231\",\"An export assignment must be at the top level of a file or module declaration.\"),An_import_declaration_can_only_be_used_in_a_namespace_or_module:s(1232,e.DiagnosticCategory.Error,\"An_import_declaration_can_only_be_used_in_a_namespace_or_module_1232\",\"An import declaration can only be used in a namespace or module.\"),An_export_declaration_can_only_be_used_in_a_module:s(1233,e.DiagnosticCategory.Error,\"An_export_declaration_can_only_be_used_in_a_module_1233\",\"An export declaration can only be used in a module.\"),An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file:s(1234,e.DiagnosticCategory.Error,\"An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file_1234\",\"An ambient module declaration is only allowed at the top level in a file.\"),A_namespace_declaration_is_only_allowed_in_a_namespace_or_module:s(1235,e.DiagnosticCategory.Error,\"A_namespace_declaration_is_only_allowed_in_a_namespace_or_module_1235\",\"A namespace declaration is only allowed in a namespace or module.\"),The_return_type_of_a_property_decorator_function_must_be_either_void_or_any:s(1236,e.DiagnosticCategory.Error,\"The_return_type_of_a_property_decorator_function_must_be_either_void_or_any_1236\",\"The return type of a property decorator function must be either 'void' or 'any'.\"),The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any:s(1237,e.DiagnosticCategory.Error,\"The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any_1237\",\"The return type of a parameter decorator function must be either 'void' or 'any'.\"),Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression:s(1238,e.DiagnosticCategory.Error,\"Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression_1238\",\"Unable to resolve signature of class decorator when called as an expression.\"),Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression:s(1239,e.DiagnosticCategory.Error,\"Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression_1239\",\"Unable to resolve signature of parameter decorator when called as an expression.\"),Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression:s(1240,e.DiagnosticCategory.Error,\"Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression_1240\",\"Unable to resolve signature of property decorator when called as an expression.\"),Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression:s(1241,e.DiagnosticCategory.Error,\"Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression_1241\",\"Unable to resolve signature of method decorator when called as an expression.\"),abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration:s(1242,e.DiagnosticCategory.Error,\"abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration_1242\",\"'abstract' modifier can only appear on a class, method, or property declaration.\"),_0_modifier_cannot_be_used_with_1_modifier:s(1243,e.DiagnosticCategory.Error,\"_0_modifier_cannot_be_used_with_1_modifier_1243\",\"'{0}' modifier cannot be used with '{1}' modifier.\"),Abstract_methods_can_only_appear_within_an_abstract_class:s(1244,e.DiagnosticCategory.Error,\"Abstract_methods_can_only_appear_within_an_abstract_class_1244\",\"Abstract methods can only appear within an abstract class.\"),Method_0_cannot_have_an_implementation_because_it_is_marked_abstract:s(1245,e.DiagnosticCategory.Error,\"Method_0_cannot_have_an_implementation_because_it_is_marked_abstract_1245\",\"Method '{0}' cannot have an implementation because it is marked abstract.\"),An_interface_property_cannot_have_an_initializer:s(1246,e.DiagnosticCategory.Error,\"An_interface_property_cannot_have_an_initializer_1246\",\"An interface property cannot have an initializer.\"),A_type_literal_property_cannot_have_an_initializer:s(1247,e.DiagnosticCategory.Error,\"A_type_literal_property_cannot_have_an_initializer_1247\",\"A type literal property cannot have an initializer.\"),A_class_member_cannot_have_the_0_keyword:s(1248,e.DiagnosticCategory.Error,\"A_class_member_cannot_have_the_0_keyword_1248\",\"A class member cannot have the '{0}' keyword.\"),A_decorator_can_only_decorate_a_method_implementation_not_an_overload:s(1249,e.DiagnosticCategory.Error,\"A_decorator_can_only_decorate_a_method_implementation_not_an_overload_1249\",\"A decorator can only decorate a method implementation, not an overload.\"),Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5:s(1250,e.DiagnosticCategory.Error,\"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_1250\",\"Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'.\"),Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_definitions_are_automatically_in_strict_mode:s(1251,e.DiagnosticCategory.Error,\"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_d_1251\",\"Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'. Class definitions are automatically in strict mode.\"),Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_are_automatically_in_strict_mode:s(1252,e.DiagnosticCategory.Error,\"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_1252\",\"Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'. Modules are automatically in strict mode.\"),_0_tag_cannot_be_used_independently_as_a_top_level_JSDoc_tag:s(1253,e.DiagnosticCategory.Error,\"_0_tag_cannot_be_used_independently_as_a_top_level_JSDoc_tag_1253\",\"'{0}' tag cannot be used independently as a top level JSDoc tag.\"),A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_reference:s(1254,e.DiagnosticCategory.Error,\"A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_refere_1254\",\"A 'const' initializer in an ambient context must be a string or numeric literal or literal enum reference.\"),A_definite_assignment_assertion_is_not_permitted_in_this_context:s(1255,e.DiagnosticCategory.Error,\"A_definite_assignment_assertion_is_not_permitted_in_this_context_1255\",\"A definite assignment assertion '!' is not permitted in this context.\"),A_required_element_cannot_follow_an_optional_element:s(1257,e.DiagnosticCategory.Error,\"A_required_element_cannot_follow_an_optional_element_1257\",\"A required element cannot follow an optional element.\"),A_default_export_must_be_at_the_top_level_of_a_file_or_module_declaration:s(1258,e.DiagnosticCategory.Error,\"A_default_export_must_be_at_the_top_level_of_a_file_or_module_declaration_1258\",\"A default export must be at the top level of a file or module declaration.\"),Module_0_can_only_be_default_imported_using_the_1_flag:s(1259,e.DiagnosticCategory.Error,\"Module_0_can_only_be_default_imported_using_the_1_flag_1259\",\"Module '{0}' can only be default-imported using the '{1}' flag\"),Keywords_cannot_contain_escape_characters:s(1260,e.DiagnosticCategory.Error,\"Keywords_cannot_contain_escape_characters_1260\",\"Keywords cannot contain escape characters.\"),Already_included_file_name_0_differs_from_file_name_1_only_in_casing:s(1261,e.DiagnosticCategory.Error,\"Already_included_file_name_0_differs_from_file_name_1_only_in_casing_1261\",\"Already included file name '{0}' differs from file name '{1}' only in casing.\"),Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module:s(1262,e.DiagnosticCategory.Error,\"Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module_1262\",\"Identifier expected. '{0}' is a reserved word at the top-level of a module.\"),Declarations_with_initializers_cannot_also_have_definite_assignment_assertions:s(1263,e.DiagnosticCategory.Error,\"Declarations_with_initializers_cannot_also_have_definite_assignment_assertions_1263\",\"Declarations with initializers cannot also have definite assignment assertions.\"),Declarations_with_definite_assignment_assertions_must_also_have_type_annotations:s(1264,e.DiagnosticCategory.Error,\"Declarations_with_definite_assignment_assertions_must_also_have_type_annotations_1264\",\"Declarations with definite assignment assertions must also have type annotations.\"),A_rest_element_cannot_follow_another_rest_element:s(1265,e.DiagnosticCategory.Error,\"A_rest_element_cannot_follow_another_rest_element_1265\",\"A rest element cannot follow another rest element.\"),An_optional_element_cannot_follow_a_rest_element:s(1266,e.DiagnosticCategory.Error,\"An_optional_element_cannot_follow_a_rest_element_1266\",\"An optional element cannot follow a rest element.\"),with_statements_are_not_allowed_in_an_async_function_block:s(1300,e.DiagnosticCategory.Error,\"with_statements_are_not_allowed_in_an_async_function_block_1300\",\"'with' statements are not allowed in an async function block.\"),await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules:s(1308,e.DiagnosticCategory.Error,\"await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules_1308\",\"'await' expressions are only allowed within async functions and at the top levels of modules.\"),Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_part_of_a_destructuring_pattern:s(1312,e.DiagnosticCategory.Error,\"Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_1312\",\"Did you mean to use a ':'? An '=' can only follow a property name when the containing object literal is part of a destructuring pattern.\"),The_body_of_an_if_statement_cannot_be_the_empty_statement:s(1313,e.DiagnosticCategory.Error,\"The_body_of_an_if_statement_cannot_be_the_empty_statement_1313\",\"The body of an 'if' statement cannot be the empty statement.\"),Global_module_exports_may_only_appear_in_module_files:s(1314,e.DiagnosticCategory.Error,\"Global_module_exports_may_only_appear_in_module_files_1314\",\"Global module exports may only appear in module files.\"),Global_module_exports_may_only_appear_in_declaration_files:s(1315,e.DiagnosticCategory.Error,\"Global_module_exports_may_only_appear_in_declaration_files_1315\",\"Global module exports may only appear in declaration files.\"),Global_module_exports_may_only_appear_at_top_level:s(1316,e.DiagnosticCategory.Error,\"Global_module_exports_may_only_appear_at_top_level_1316\",\"Global module exports may only appear at top level.\"),A_parameter_property_cannot_be_declared_using_a_rest_parameter:s(1317,e.DiagnosticCategory.Error,\"A_parameter_property_cannot_be_declared_using_a_rest_parameter_1317\",\"A parameter property cannot be declared using a rest parameter.\"),An_abstract_accessor_cannot_have_an_implementation:s(1318,e.DiagnosticCategory.Error,\"An_abstract_accessor_cannot_have_an_implementation_1318\",\"An abstract accessor cannot have an implementation.\"),A_default_export_can_only_be_used_in_an_ECMAScript_style_module:s(1319,e.DiagnosticCategory.Error,\"A_default_export_can_only_be_used_in_an_ECMAScript_style_module_1319\",\"A default export can only be used in an ECMAScript-style module.\"),Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:s(1320,e.DiagnosticCategory.Error,\"Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member_1320\",\"Type of 'await' operand must either be a valid promise or must not contain a callable 'then' member.\"),Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:s(1321,e.DiagnosticCategory.Error,\"Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_cal_1321\",\"Type of 'yield' operand in an async generator must either be a valid promise or must not contain a callable 'then' member.\"),Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:s(1322,e.DiagnosticCategory.Error,\"Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_con_1322\",\"Type of iterated elements of a 'yield*' operand must either be a valid promise or must not contain a callable 'then' member.\"),Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_esnext_commonjs_amd_system_or_umd:s(1323,e.DiagnosticCategory.Error,\"Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_esnext_commonjs_amd_system__1323\",\"Dynamic imports are only supported when the '--module' flag is set to 'es2020', 'esnext', 'commonjs', 'amd', 'system', or 'umd'.\"),Dynamic_import_must_have_one_specifier_as_an_argument:s(1324,e.DiagnosticCategory.Error,\"Dynamic_import_must_have_one_specifier_as_an_argument_1324\",\"Dynamic import must have one specifier as an argument.\"),Specifier_of_dynamic_import_cannot_be_spread_element:s(1325,e.DiagnosticCategory.Error,\"Specifier_of_dynamic_import_cannot_be_spread_element_1325\",\"Specifier of dynamic import cannot be spread element.\"),Dynamic_import_cannot_have_type_arguments:s(1326,e.DiagnosticCategory.Error,\"Dynamic_import_cannot_have_type_arguments_1326\",\"Dynamic import cannot have type arguments.\"),String_literal_with_double_quotes_expected:s(1327,e.DiagnosticCategory.Error,\"String_literal_with_double_quotes_expected_1327\",\"String literal with double quotes expected.\"),Property_value_can_only_be_string_literal_numeric_literal_true_false_null_object_literal_or_array_literal:s(1328,e.DiagnosticCategory.Error,\"Property_value_can_only_be_string_literal_numeric_literal_true_false_null_object_literal_or_array_li_1328\",\"Property value can only be string literal, numeric literal, 'true', 'false', 'null', object literal or array literal.\"),_0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write_0:s(1329,e.DiagnosticCategory.Error,\"_0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write__1329\",\"'{0}' accepts too few arguments to be used as a decorator here. Did you mean to call it first and write '@{0}()'?\"),A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly:s(1330,e.DiagnosticCategory.Error,\"A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly_1330\",\"A property of an interface or type literal whose type is a 'unique symbol' type must be 'readonly'.\"),A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly:s(1331,e.DiagnosticCategory.Error,\"A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly_1331\",\"A property of a class whose type is a 'unique symbol' type must be both 'static' and 'readonly'.\"),A_variable_whose_type_is_a_unique_symbol_type_must_be_const:s(1332,e.DiagnosticCategory.Error,\"A_variable_whose_type_is_a_unique_symbol_type_must_be_const_1332\",\"A variable whose type is a 'unique symbol' type must be 'const'.\"),unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name:s(1333,e.DiagnosticCategory.Error,\"unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name_1333\",\"'unique symbol' types may not be used on a variable declaration with a binding name.\"),unique_symbol_types_are_only_allowed_on_variables_in_a_variable_statement:s(1334,e.DiagnosticCategory.Error,\"unique_symbol_types_are_only_allowed_on_variables_in_a_variable_statement_1334\",\"'unique symbol' types are only allowed on variables in a variable statement.\"),unique_symbol_types_are_not_allowed_here:s(1335,e.DiagnosticCategory.Error,\"unique_symbol_types_are_not_allowed_here_1335\",\"'unique symbol' types are not allowed here.\"),An_index_signature_parameter_type_cannot_be_a_type_alias_Consider_writing_0_Colon_1_Colon_2_instead:s(1336,e.DiagnosticCategory.Error,\"An_index_signature_parameter_type_cannot_be_a_type_alias_Consider_writing_0_Colon_1_Colon_2_instead_1336\",\"An index signature parameter type cannot be a type alias. Consider writing '[{0}: {1}]: {2}' instead.\"),An_index_signature_parameter_type_cannot_be_a_union_type_Consider_using_a_mapped_object_type_instead:s(1337,e.DiagnosticCategory.Error,\"An_index_signature_parameter_type_cannot_be_a_union_type_Consider_using_a_mapped_object_type_instead_1337\",\"An index signature parameter type cannot be a union type. Consider using a mapped object type instead.\"),infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type:s(1338,e.DiagnosticCategory.Error,\"infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type_1338\",\"'infer' declarations are only permitted in the 'extends' clause of a conditional type.\"),Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here:s(1339,e.DiagnosticCategory.Error,\"Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here_1339\",\"Module '{0}' does not refer to a value, but is used as a value here.\"),Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0:s(1340,e.DiagnosticCategory.Error,\"Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0_1340\",\"Module '{0}' does not refer to a type, but is used as a type here. Did you mean 'typeof import('{0}')'?\"),Type_arguments_cannot_be_used_here:s(1342,e.DiagnosticCategory.Error,\"Type_arguments_cannot_be_used_here_1342\",\"Type arguments cannot be used here.\"),The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_esnext_or_system:s(1343,e.DiagnosticCategory.Error,\"The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_esnext_or_system_1343\",\"The 'import.meta' meta-property is only allowed when the '--module' option is 'es2020', 'esnext', or 'system'.\"),A_label_is_not_allowed_here:s(1344,e.DiagnosticCategory.Error,\"A_label_is_not_allowed_here_1344\",\"'A label is not allowed here.\"),An_expression_of_type_void_cannot_be_tested_for_truthiness:s(1345,e.DiagnosticCategory.Error,\"An_expression_of_type_void_cannot_be_tested_for_truthiness_1345\",\"An expression of type 'void' cannot be tested for truthiness.\"),This_parameter_is_not_allowed_with_use_strict_directive:s(1346,e.DiagnosticCategory.Error,\"This_parameter_is_not_allowed_with_use_strict_directive_1346\",\"This parameter is not allowed with 'use strict' directive.\"),use_strict_directive_cannot_be_used_with_non_simple_parameter_list:s(1347,e.DiagnosticCategory.Error,\"use_strict_directive_cannot_be_used_with_non_simple_parameter_list_1347\",\"'use strict' directive cannot be used with non-simple parameter list.\"),Non_simple_parameter_declared_here:s(1348,e.DiagnosticCategory.Error,\"Non_simple_parameter_declared_here_1348\",\"Non-simple parameter declared here.\"),use_strict_directive_used_here:s(1349,e.DiagnosticCategory.Error,\"use_strict_directive_used_here_1349\",\"'use strict' directive used here.\"),Print_the_final_configuration_instead_of_building:s(1350,e.DiagnosticCategory.Message,\"Print_the_final_configuration_instead_of_building_1350\",\"Print the final configuration instead of building.\"),An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal:s(1351,e.DiagnosticCategory.Error,\"An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal_1351\",\"An identifier or keyword cannot immediately follow a numeric literal.\"),A_bigint_literal_cannot_use_exponential_notation:s(1352,e.DiagnosticCategory.Error,\"A_bigint_literal_cannot_use_exponential_notation_1352\",\"A bigint literal cannot use exponential notation.\"),A_bigint_literal_must_be_an_integer:s(1353,e.DiagnosticCategory.Error,\"A_bigint_literal_must_be_an_integer_1353\",\"A bigint literal must be an integer.\"),readonly_type_modifier_is_only_permitted_on_array_and_tuple_literal_types:s(1354,e.DiagnosticCategory.Error,\"readonly_type_modifier_is_only_permitted_on_array_and_tuple_literal_types_1354\",\"'readonly' type modifier is only permitted on array and tuple literal types.\"),A_const_assertions_can_only_be_applied_to_references_to_enum_members_or_string_number_boolean_array_or_object_literals:s(1355,e.DiagnosticCategory.Error,\"A_const_assertions_can_only_be_applied_to_references_to_enum_members_or_string_number_boolean_array__1355\",\"A 'const' assertions can only be applied to references to enum members, or string, number, boolean, array, or object literals.\"),Did_you_mean_to_mark_this_function_as_async:s(1356,e.DiagnosticCategory.Error,\"Did_you_mean_to_mark_this_function_as_async_1356\",\"Did you mean to mark this function as 'async'?\"),An_enum_member_name_must_be_followed_by_a_or:s(1357,e.DiagnosticCategory.Error,\"An_enum_member_name_must_be_followed_by_a_or_1357\",\"An enum member name must be followed by a ',', '=', or '}'.\"),Tagged_template_expressions_are_not_permitted_in_an_optional_chain:s(1358,e.DiagnosticCategory.Error,\"Tagged_template_expressions_are_not_permitted_in_an_optional_chain_1358\",\"Tagged template expressions are not permitted in an optional chain.\"),Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here:s(1359,e.DiagnosticCategory.Error,\"Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here_1359\",\"Identifier expected. '{0}' is a reserved word that cannot be used here.\"),Did_you_mean_to_parenthesize_this_function_type:s(1360,e.DiagnosticCategory.Error,\"Did_you_mean_to_parenthesize_this_function_type_1360\",\"Did you mean to parenthesize this function type?\"),_0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type:s(1361,e.DiagnosticCategory.Error,\"_0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type_1361\",\"'{0}' cannot be used as a value because it was imported using 'import type'.\"),_0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type:s(1362,e.DiagnosticCategory.Error,\"_0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type_1362\",\"'{0}' cannot be used as a value because it was exported using 'export type'.\"),A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both:s(1363,e.DiagnosticCategory.Error,\"A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both_1363\",\"A type-only import can specify a default import or named bindings, but not both.\"),Convert_to_type_only_export:s(1364,e.DiagnosticCategory.Message,\"Convert_to_type_only_export_1364\",\"Convert to type-only export\"),Convert_all_re_exported_types_to_type_only_exports:s(1365,e.DiagnosticCategory.Message,\"Convert_all_re_exported_types_to_type_only_exports_1365\",\"Convert all re-exported types to type-only exports\"),Split_into_two_separate_import_declarations:s(1366,e.DiagnosticCategory.Message,\"Split_into_two_separate_import_declarations_1366\",\"Split into two separate import declarations\"),Split_all_invalid_type_only_imports:s(1367,e.DiagnosticCategory.Message,\"Split_all_invalid_type_only_imports_1367\",\"Split all invalid type-only imports\"),Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types:s(1368,e.DiagnosticCategory.Message,\"Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types_1368\",\"Specify emit/checking behavior for imports that are only used for types\"),Did_you_mean_0:s(1369,e.DiagnosticCategory.Message,\"Did_you_mean_0_1369\",\"Did you mean '{0}'?\"),This_import_is_never_used_as_a_value_and_must_use_import_type_because_importsNotUsedAsValues_is_set_to_error:s(1371,e.DiagnosticCategory.Error,\"This_import_is_never_used_as_a_value_and_must_use_import_type_because_importsNotUsedAsValues_is_set__1371\",\"This import is never used as a value and must use 'import type' because 'importsNotUsedAsValues' is set to 'error'.\"),Convert_to_type_only_import:s(1373,e.DiagnosticCategory.Message,\"Convert_to_type_only_import_1373\",\"Convert to type-only import\"),Convert_all_imports_not_used_as_a_value_to_type_only_imports:s(1374,e.DiagnosticCategory.Message,\"Convert_all_imports_not_used_as_a_value_to_type_only_imports_1374\",\"Convert all imports not used as a value to type-only imports\"),await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module:s(1375,e.DiagnosticCategory.Error,\"await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_fi_1375\",\"'await' expressions are only allowed at the top level of a file when that file is a module, but this file has no imports or exports. Consider adding an empty 'export {}' to make this file a module.\"),_0_was_imported_here:s(1376,e.DiagnosticCategory.Message,\"_0_was_imported_here_1376\",\"'{0}' was imported here.\"),_0_was_exported_here:s(1377,e.DiagnosticCategory.Message,\"_0_was_exported_here_1377\",\"'{0}' was exported here.\"),Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_esnext_or_system_and_the_target_option_is_set_to_es2017_or_higher:s(1378,e.DiagnosticCategory.Error,\"Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_esnext_or_system_and_t_1378\",\"Top-level 'await' expressions are only allowed when the 'module' option is set to 'esnext' or 'system', and the 'target' option is set to 'es2017' or higher.\"),An_import_alias_cannot_reference_a_declaration_that_was_exported_using_export_type:s(1379,e.DiagnosticCategory.Error,\"An_import_alias_cannot_reference_a_declaration_that_was_exported_using_export_type_1379\",\"An import alias cannot reference a declaration that was exported using 'export type'.\"),An_import_alias_cannot_reference_a_declaration_that_was_imported_using_import_type:s(1380,e.DiagnosticCategory.Error,\"An_import_alias_cannot_reference_a_declaration_that_was_imported_using_import_type_1380\",\"An import alias cannot reference a declaration that was imported using 'import type'.\"),Unexpected_token_Did_you_mean_or_rbrace:s(1381,e.DiagnosticCategory.Error,\"Unexpected_token_Did_you_mean_or_rbrace_1381\",\"Unexpected token. Did you mean `{'}'}` or `&rbrace;`?\"),Unexpected_token_Did_you_mean_or_gt:s(1382,e.DiagnosticCategory.Error,\"Unexpected_token_Did_you_mean_or_gt_1382\",\"Unexpected token. Did you mean `{'>'}` or `&gt;`?\"),Only_named_exports_may_use_export_type:s(1383,e.DiagnosticCategory.Error,\"Only_named_exports_may_use_export_type_1383\",\"Only named exports may use 'export type'.\"),A_new_expression_with_type_arguments_must_always_be_followed_by_a_parenthesized_argument_list:s(1384,e.DiagnosticCategory.Error,\"A_new_expression_with_type_arguments_must_always_be_followed_by_a_parenthesized_argument_list_1384\",\"A 'new' expression with type arguments must always be followed by a parenthesized argument list.\"),Function_type_notation_must_be_parenthesized_when_used_in_a_union_type:s(1385,e.DiagnosticCategory.Error,\"Function_type_notation_must_be_parenthesized_when_used_in_a_union_type_1385\",\"Function type notation must be parenthesized when used in a union type.\"),Constructor_type_notation_must_be_parenthesized_when_used_in_a_union_type:s(1386,e.DiagnosticCategory.Error,\"Constructor_type_notation_must_be_parenthesized_when_used_in_a_union_type_1386\",\"Constructor type notation must be parenthesized when used in a union type.\"),Function_type_notation_must_be_parenthesized_when_used_in_an_intersection_type:s(1387,e.DiagnosticCategory.Error,\"Function_type_notation_must_be_parenthesized_when_used_in_an_intersection_type_1387\",\"Function type notation must be parenthesized when used in an intersection type.\"),Constructor_type_notation_must_be_parenthesized_when_used_in_an_intersection_type:s(1388,e.DiagnosticCategory.Error,\"Constructor_type_notation_must_be_parenthesized_when_used_in_an_intersection_type_1388\",\"Constructor type notation must be parenthesized when used in an intersection type.\"),_0_is_not_allowed_as_a_variable_declaration_name:s(1389,e.DiagnosticCategory.Error,\"_0_is_not_allowed_as_a_variable_declaration_name_1389\",\"'{0}' is not allowed as a variable declaration name.\"),Provides_a_root_package_name_when_using_outFile_with_declarations:s(1390,e.DiagnosticCategory.Message,\"Provides_a_root_package_name_when_using_outFile_with_declarations_1390\",\"Provides a root package name when using outFile with declarations.\"),The_bundledPackageName_option_must_be_provided_when_using_outFile_and_node_module_resolution_with_declaration_emit:s(1391,e.DiagnosticCategory.Error,\"The_bundledPackageName_option_must_be_provided_when_using_outFile_and_node_module_resolution_with_de_1391\",\"The 'bundledPackageName' option must be provided when using outFile and node module resolution with declaration emit.\"),An_import_alias_cannot_use_import_type:s(1392,e.DiagnosticCategory.Error,\"An_import_alias_cannot_use_import_type_1392\",\"An import alias cannot use 'import type'\"),Imported_via_0_from_file_1:s(1393,e.DiagnosticCategory.Message,\"Imported_via_0_from_file_1_1393\",\"Imported via {0} from file '{1}'\"),Imported_via_0_from_file_1_with_packageId_2:s(1394,e.DiagnosticCategory.Message,\"Imported_via_0_from_file_1_with_packageId_2_1394\",\"Imported via {0} from file '{1}' with packageId '{2}'\"),Imported_via_0_from_file_1_to_import_importHelpers_as_specified_in_compilerOptions:s(1395,e.DiagnosticCategory.Message,\"Imported_via_0_from_file_1_to_import_importHelpers_as_specified_in_compilerOptions_1395\",\"Imported via {0} from file '{1}' to import 'importHelpers' as specified in compilerOptions\"),Imported_via_0_from_file_1_with_packageId_2_to_import_importHelpers_as_specified_in_compilerOptions:s(1396,e.DiagnosticCategory.Message,\"Imported_via_0_from_file_1_with_packageId_2_to_import_importHelpers_as_specified_in_compilerOptions_1396\",\"Imported via {0} from file '{1}' with packageId '{2}' to import 'importHelpers' as specified in compilerOptions\"),Imported_via_0_from_file_1_to_import_jsx_and_jsxs_factory_functions:s(1397,e.DiagnosticCategory.Message,\"Imported_via_0_from_file_1_to_import_jsx_and_jsxs_factory_functions_1397\",\"Imported via {0} from file '{1}' to import 'jsx' and 'jsxs' factory functions\"),Imported_via_0_from_file_1_with_packageId_2_to_import_jsx_and_jsxs_factory_functions:s(1398,e.DiagnosticCategory.Message,\"Imported_via_0_from_file_1_with_packageId_2_to_import_jsx_and_jsxs_factory_functions_1398\",\"Imported via {0} from file '{1}' with packageId '{2}' to import 'jsx' and 'jsxs' factory functions\"),File_is_included_via_import_here:s(1399,e.DiagnosticCategory.Message,\"File_is_included_via_import_here_1399\",\"File is included via import here.\"),Referenced_via_0_from_file_1:s(1400,e.DiagnosticCategory.Message,\"Referenced_via_0_from_file_1_1400\",\"Referenced via '{0}' from file '{1}'\"),File_is_included_via_reference_here:s(1401,e.DiagnosticCategory.Message,\"File_is_included_via_reference_here_1401\",\"File is included via reference here.\"),Type_library_referenced_via_0_from_file_1:s(1402,e.DiagnosticCategory.Message,\"Type_library_referenced_via_0_from_file_1_1402\",\"Type library referenced via '{0}' from file '{1}'\"),Type_library_referenced_via_0_from_file_1_with_packageId_2:s(1403,e.DiagnosticCategory.Message,\"Type_library_referenced_via_0_from_file_1_with_packageId_2_1403\",\"Type library referenced via '{0}' from file '{1}' with packageId '{2}'\"),File_is_included_via_type_library_reference_here:s(1404,e.DiagnosticCategory.Message,\"File_is_included_via_type_library_reference_here_1404\",\"File is included via type library reference here.\"),Library_referenced_via_0_from_file_1:s(1405,e.DiagnosticCategory.Message,\"Library_referenced_via_0_from_file_1_1405\",\"Library referenced via '{0}' from file '{1}'\"),File_is_included_via_library_reference_here:s(1406,e.DiagnosticCategory.Message,\"File_is_included_via_library_reference_here_1406\",\"File is included via library reference here.\"),Matched_by_include_pattern_0_in_1:s(1407,e.DiagnosticCategory.Message,\"Matched_by_include_pattern_0_in_1_1407\",\"Matched by include pattern '{0}' in '{1}'\"),File_is_matched_by_include_pattern_specified_here:s(1408,e.DiagnosticCategory.Message,\"File_is_matched_by_include_pattern_specified_here_1408\",\"File is matched by include pattern specified here.\"),Part_of_files_list_in_tsconfig_json:s(1409,e.DiagnosticCategory.Message,\"Part_of_files_list_in_tsconfig_json_1409\",\"Part of 'files' list in tsconfig.json\"),File_is_matched_by_files_list_specified_here:s(1410,e.DiagnosticCategory.Message,\"File_is_matched_by_files_list_specified_here_1410\",\"File is matched by 'files' list specified here.\"),Output_from_referenced_project_0_included_because_1_specified:s(1411,e.DiagnosticCategory.Message,\"Output_from_referenced_project_0_included_because_1_specified_1411\",\"Output from referenced project '{0}' included because '{1}' specified\"),Output_from_referenced_project_0_included_because_module_is_specified_as_none:s(1412,e.DiagnosticCategory.Message,\"Output_from_referenced_project_0_included_because_module_is_specified_as_none_1412\",\"Output from referenced project '{0}' included because '--module' is specified as 'none'\"),File_is_output_from_referenced_project_specified_here:s(1413,e.DiagnosticCategory.Message,\"File_is_output_from_referenced_project_specified_here_1413\",\"File is output from referenced project specified here.\"),Source_from_referenced_project_0_included_because_1_specified:s(1414,e.DiagnosticCategory.Message,\"Source_from_referenced_project_0_included_because_1_specified_1414\",\"Source from referenced project '{0}' included because '{1}' specified\"),Source_from_referenced_project_0_included_because_module_is_specified_as_none:s(1415,e.DiagnosticCategory.Message,\"Source_from_referenced_project_0_included_because_module_is_specified_as_none_1415\",\"Source from referenced project '{0}' included because '--module' is specified as 'none'\"),File_is_source_from_referenced_project_specified_here:s(1416,e.DiagnosticCategory.Message,\"File_is_source_from_referenced_project_specified_here_1416\",\"File is source from referenced project specified here.\"),Entry_point_of_type_library_0_specified_in_compilerOptions:s(1417,e.DiagnosticCategory.Message,\"Entry_point_of_type_library_0_specified_in_compilerOptions_1417\",\"Entry point of type library '{0}' specified in compilerOptions\"),Entry_point_of_type_library_0_specified_in_compilerOptions_with_packageId_1:s(1418,e.DiagnosticCategory.Message,\"Entry_point_of_type_library_0_specified_in_compilerOptions_with_packageId_1_1418\",\"Entry point of type library '{0}' specified in compilerOptions with packageId '{1}'\"),File_is_entry_point_of_type_library_specified_here:s(1419,e.DiagnosticCategory.Message,\"File_is_entry_point_of_type_library_specified_here_1419\",\"File is entry point of type library specified here.\"),Entry_point_for_implicit_type_library_0:s(1420,e.DiagnosticCategory.Message,\"Entry_point_for_implicit_type_library_0_1420\",\"Entry point for implicit type library '{0}'\"),Entry_point_for_implicit_type_library_0_with_packageId_1:s(1421,e.DiagnosticCategory.Message,\"Entry_point_for_implicit_type_library_0_with_packageId_1_1421\",\"Entry point for implicit type library '{0}' with packageId '{1}'\"),Library_0_specified_in_compilerOptions:s(1422,e.DiagnosticCategory.Message,\"Library_0_specified_in_compilerOptions_1422\",\"Library '{0}' specified in compilerOptions\"),File_is_library_specified_here:s(1423,e.DiagnosticCategory.Message,\"File_is_library_specified_here_1423\",\"File is library specified here.\"),Default_library:s(1424,e.DiagnosticCategory.Message,\"Default_library_1424\",\"Default library\"),Default_library_for_target_0:s(1425,e.DiagnosticCategory.Message,\"Default_library_for_target_0_1425\",\"Default library for target '{0}'\"),File_is_default_library_for_target_specified_here:s(1426,e.DiagnosticCategory.Message,\"File_is_default_library_for_target_specified_here_1426\",\"File is default library for target specified here.\"),Root_file_specified_for_compilation:s(1427,e.DiagnosticCategory.Message,\"Root_file_specified_for_compilation_1427\",\"Root file specified for compilation\"),File_is_output_of_project_reference_source_0:s(1428,e.DiagnosticCategory.Message,\"File_is_output_of_project_reference_source_0_1428\",\"File is output of project reference source '{0}'\"),File_redirects_to_file_0:s(1429,e.DiagnosticCategory.Message,\"File_redirects_to_file_0_1429\",\"File redirects to file '{0}'\"),The_file_is_in_the_program_because_Colon:s(1430,e.DiagnosticCategory.Message,\"The_file_is_in_the_program_because_Colon_1430\",\"The file is in the program because:\"),for_await_loops_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module:s(1431,e.DiagnosticCategory.Error,\"for_await_loops_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_1431\",\"'for await' loops are only allowed at the top level of a file when that file is a module, but this file has no imports or exports. Consider adding an empty 'export {}' to make this file a module.\"),Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_esnext_or_system_and_the_target_option_is_set_to_es2017_or_higher:s(1432,e.DiagnosticCategory.Error,\"Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_esnext_or_system_and_the_1432\",\"Top-level 'for await' loops are only allowed when the 'module' option is set to 'esnext' or 'system', and the 'target' option is set to 'es2017' or higher.\"),Decorators_may_not_be_applied_to_this_parameters:s(1433,e.DiagnosticCategory.Error,\"Decorators_may_not_be_applied_to_this_parameters_1433\",\"Decorators may not be applied to 'this' parameters.\"),The_types_of_0_are_incompatible_between_these_types:s(2200,e.DiagnosticCategory.Error,\"The_types_of_0_are_incompatible_between_these_types_2200\",\"The types of '{0}' are incompatible between these types.\"),The_types_returned_by_0_are_incompatible_between_these_types:s(2201,e.DiagnosticCategory.Error,\"The_types_returned_by_0_are_incompatible_between_these_types_2201\",\"The types returned by '{0}' are incompatible between these types.\"),Call_signature_return_types_0_and_1_are_incompatible:s(2202,e.DiagnosticCategory.Error,\"Call_signature_return_types_0_and_1_are_incompatible_2202\",\"Call signature return types '{0}' and '{1}' are incompatible.\",void 0,!0),Construct_signature_return_types_0_and_1_are_incompatible:s(2203,e.DiagnosticCategory.Error,\"Construct_signature_return_types_0_and_1_are_incompatible_2203\",\"Construct signature return types '{0}' and '{1}' are incompatible.\",void 0,!0),Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1:s(2204,e.DiagnosticCategory.Error,\"Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1_2204\",\"Call signatures with no arguments have incompatible return types '{0}' and '{1}'.\",void 0,!0),Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1:s(2205,e.DiagnosticCategory.Error,\"Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1_2205\",\"Construct signatures with no arguments have incompatible return types '{0}' and '{1}'.\",void 0,!0),Duplicate_identifier_0:s(2300,e.DiagnosticCategory.Error,\"Duplicate_identifier_0_2300\",\"Duplicate identifier '{0}'.\"),Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor:s(2301,e.DiagnosticCategory.Error,\"Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor_2301\",\"Initializer of instance member variable '{0}' cannot reference identifier '{1}' declared in the constructor.\"),Static_members_cannot_reference_class_type_parameters:s(2302,e.DiagnosticCategory.Error,\"Static_members_cannot_reference_class_type_parameters_2302\",\"Static members cannot reference class type parameters.\"),Circular_definition_of_import_alias_0:s(2303,e.DiagnosticCategory.Error,\"Circular_definition_of_import_alias_0_2303\",\"Circular definition of import alias '{0}'.\"),Cannot_find_name_0:s(2304,e.DiagnosticCategory.Error,\"Cannot_find_name_0_2304\",\"Cannot find name '{0}'.\"),Module_0_has_no_exported_member_1:s(2305,e.DiagnosticCategory.Error,\"Module_0_has_no_exported_member_1_2305\",\"Module '{0}' has no exported member '{1}'.\"),File_0_is_not_a_module:s(2306,e.DiagnosticCategory.Error,\"File_0_is_not_a_module_2306\",\"File '{0}' is not a module.\"),Cannot_find_module_0_or_its_corresponding_type_declarations:s(2307,e.DiagnosticCategory.Error,\"Cannot_find_module_0_or_its_corresponding_type_declarations_2307\",\"Cannot find module '{0}' or its corresponding type declarations.\"),Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambiguity:s(2308,e.DiagnosticCategory.Error,\"Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambig_2308\",\"Module {0} has already exported a member named '{1}'. Consider explicitly re-exporting to resolve the ambiguity.\"),An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements:s(2309,e.DiagnosticCategory.Error,\"An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements_2309\",\"An export assignment cannot be used in a module with other exported elements.\"),Type_0_recursively_references_itself_as_a_base_type:s(2310,e.DiagnosticCategory.Error,\"Type_0_recursively_references_itself_as_a_base_type_2310\",\"Type '{0}' recursively references itself as a base type.\"),A_class_may_only_extend_another_class:s(2311,e.DiagnosticCategory.Error,\"A_class_may_only_extend_another_class_2311\",\"A class may only extend another class.\"),An_interface_can_only_extend_an_object_type_or_intersection_of_object_types_with_statically_known_members:s(2312,e.DiagnosticCategory.Error,\"An_interface_can_only_extend_an_object_type_or_intersection_of_object_types_with_statically_known_me_2312\",\"An interface can only extend an object type or intersection of object types with statically known members.\"),Type_parameter_0_has_a_circular_constraint:s(2313,e.DiagnosticCategory.Error,\"Type_parameter_0_has_a_circular_constraint_2313\",\"Type parameter '{0}' has a circular constraint.\"),Generic_type_0_requires_1_type_argument_s:s(2314,e.DiagnosticCategory.Error,\"Generic_type_0_requires_1_type_argument_s_2314\",\"Generic type '{0}' requires {1} type argument(s).\"),Type_0_is_not_generic:s(2315,e.DiagnosticCategory.Error,\"Type_0_is_not_generic_2315\",\"Type '{0}' is not generic.\"),Global_type_0_must_be_a_class_or_interface_type:s(2316,e.DiagnosticCategory.Error,\"Global_type_0_must_be_a_class_or_interface_type_2316\",\"Global type '{0}' must be a class or interface type.\"),Global_type_0_must_have_1_type_parameter_s:s(2317,e.DiagnosticCategory.Error,\"Global_type_0_must_have_1_type_parameter_s_2317\",\"Global type '{0}' must have {1} type parameter(s).\"),Cannot_find_global_type_0:s(2318,e.DiagnosticCategory.Error,\"Cannot_find_global_type_0_2318\",\"Cannot find global type '{0}'.\"),Named_property_0_of_types_1_and_2_are_not_identical:s(2319,e.DiagnosticCategory.Error,\"Named_property_0_of_types_1_and_2_are_not_identical_2319\",\"Named property '{0}' of types '{1}' and '{2}' are not identical.\"),Interface_0_cannot_simultaneously_extend_types_1_and_2:s(2320,e.DiagnosticCategory.Error,\"Interface_0_cannot_simultaneously_extend_types_1_and_2_2320\",\"Interface '{0}' cannot simultaneously extend types '{1}' and '{2}'.\"),Excessive_stack_depth_comparing_types_0_and_1:s(2321,e.DiagnosticCategory.Error,\"Excessive_stack_depth_comparing_types_0_and_1_2321\",\"Excessive stack depth comparing types '{0}' and '{1}'.\"),Type_0_is_not_assignable_to_type_1:s(2322,e.DiagnosticCategory.Error,\"Type_0_is_not_assignable_to_type_1_2322\",\"Type '{0}' is not assignable to type '{1}'.\"),Cannot_redeclare_exported_variable_0:s(2323,e.DiagnosticCategory.Error,\"Cannot_redeclare_exported_variable_0_2323\",\"Cannot redeclare exported variable '{0}'.\"),Property_0_is_missing_in_type_1:s(2324,e.DiagnosticCategory.Error,\"Property_0_is_missing_in_type_1_2324\",\"Property '{0}' is missing in type '{1}'.\"),Property_0_is_private_in_type_1_but_not_in_type_2:s(2325,e.DiagnosticCategory.Error,\"Property_0_is_private_in_type_1_but_not_in_type_2_2325\",\"Property '{0}' is private in type '{1}' but not in type '{2}'.\"),Types_of_property_0_are_incompatible:s(2326,e.DiagnosticCategory.Error,\"Types_of_property_0_are_incompatible_2326\",\"Types of property '{0}' are incompatible.\"),Property_0_is_optional_in_type_1_but_required_in_type_2:s(2327,e.DiagnosticCategory.Error,\"Property_0_is_optional_in_type_1_but_required_in_type_2_2327\",\"Property '{0}' is optional in type '{1}' but required in type '{2}'.\"),Types_of_parameters_0_and_1_are_incompatible:s(2328,e.DiagnosticCategory.Error,\"Types_of_parameters_0_and_1_are_incompatible_2328\",\"Types of parameters '{0}' and '{1}' are incompatible.\"),Index_signature_is_missing_in_type_0:s(2329,e.DiagnosticCategory.Error,\"Index_signature_is_missing_in_type_0_2329\",\"Index signature is missing in type '{0}'.\"),Index_signatures_are_incompatible:s(2330,e.DiagnosticCategory.Error,\"Index_signatures_are_incompatible_2330\",\"Index signatures are incompatible.\"),this_cannot_be_referenced_in_a_module_or_namespace_body:s(2331,e.DiagnosticCategory.Error,\"this_cannot_be_referenced_in_a_module_or_namespace_body_2331\",\"'this' cannot be referenced in a module or namespace body.\"),this_cannot_be_referenced_in_current_location:s(2332,e.DiagnosticCategory.Error,\"this_cannot_be_referenced_in_current_location_2332\",\"'this' cannot be referenced in current location.\"),this_cannot_be_referenced_in_constructor_arguments:s(2333,e.DiagnosticCategory.Error,\"this_cannot_be_referenced_in_constructor_arguments_2333\",\"'this' cannot be referenced in constructor arguments.\"),this_cannot_be_referenced_in_a_static_property_initializer:s(2334,e.DiagnosticCategory.Error,\"this_cannot_be_referenced_in_a_static_property_initializer_2334\",\"'this' cannot be referenced in a static property initializer.\"),super_can_only_be_referenced_in_a_derived_class:s(2335,e.DiagnosticCategory.Error,\"super_can_only_be_referenced_in_a_derived_class_2335\",\"'super' can only be referenced in a derived class.\"),super_cannot_be_referenced_in_constructor_arguments:s(2336,e.DiagnosticCategory.Error,\"super_cannot_be_referenced_in_constructor_arguments_2336\",\"'super' cannot be referenced in constructor arguments.\"),Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors:s(2337,e.DiagnosticCategory.Error,\"Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors_2337\",\"Super calls are not permitted outside constructors or in nested functions inside constructors.\"),super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class:s(2338,e.DiagnosticCategory.Error,\"super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_der_2338\",\"'super' property access is permitted only in a constructor, member function, or member accessor of a derived class.\"),Property_0_does_not_exist_on_type_1:s(2339,e.DiagnosticCategory.Error,\"Property_0_does_not_exist_on_type_1_2339\",\"Property '{0}' does not exist on type '{1}'.\"),Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword:s(2340,e.DiagnosticCategory.Error,\"Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword_2340\",\"Only public and protected methods of the base class are accessible via the 'super' keyword.\"),Property_0_is_private_and_only_accessible_within_class_1:s(2341,e.DiagnosticCategory.Error,\"Property_0_is_private_and_only_accessible_within_class_1_2341\",\"Property '{0}' is private and only accessible within class '{1}'.\"),An_index_expression_argument_must_be_of_type_string_number_symbol_or_any:s(2342,e.DiagnosticCategory.Error,\"An_index_expression_argument_must_be_of_type_string_number_symbol_or_any_2342\",\"An index expression argument must be of type 'string', 'number', 'symbol', or 'any'.\"),This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_version_of_0:s(2343,e.DiagnosticCategory.Error,\"This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_ve_2343\",\"This syntax requires an imported helper named '{1}' which does not exist in '{0}'. Consider upgrading your version of '{0}'.\"),Type_0_does_not_satisfy_the_constraint_1:s(2344,e.DiagnosticCategory.Error,\"Type_0_does_not_satisfy_the_constraint_1_2344\",\"Type '{0}' does not satisfy the constraint '{1}'.\"),Argument_of_type_0_is_not_assignable_to_parameter_of_type_1:s(2345,e.DiagnosticCategory.Error,\"Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_2345\",\"Argument of type '{0}' is not assignable to parameter of type '{1}'.\"),Call_target_does_not_contain_any_signatures:s(2346,e.DiagnosticCategory.Error,\"Call_target_does_not_contain_any_signatures_2346\",\"Call target does not contain any signatures.\"),Untyped_function_calls_may_not_accept_type_arguments:s(2347,e.DiagnosticCategory.Error,\"Untyped_function_calls_may_not_accept_type_arguments_2347\",\"Untyped function calls may not accept type arguments.\"),Value_of_type_0_is_not_callable_Did_you_mean_to_include_new:s(2348,e.DiagnosticCategory.Error,\"Value_of_type_0_is_not_callable_Did_you_mean_to_include_new_2348\",\"Value of type '{0}' is not callable. Did you mean to include 'new'?\"),This_expression_is_not_callable:s(2349,e.DiagnosticCategory.Error,\"This_expression_is_not_callable_2349\",\"This expression is not callable.\"),Only_a_void_function_can_be_called_with_the_new_keyword:s(2350,e.DiagnosticCategory.Error,\"Only_a_void_function_can_be_called_with_the_new_keyword_2350\",\"Only a void function can be called with the 'new' keyword.\"),This_expression_is_not_constructable:s(2351,e.DiagnosticCategory.Error,\"This_expression_is_not_constructable_2351\",\"This expression is not constructable.\"),Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the_other_If_this_was_intentional_convert_the_expression_to_unknown_first:s(2352,e.DiagnosticCategory.Error,\"Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the__2352\",\"Conversion of type '{0}' to type '{1}' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first.\"),Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1:s(2353,e.DiagnosticCategory.Error,\"Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1_2353\",\"Object literal may only specify known properties, and '{0}' does not exist in type '{1}'.\"),This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found:s(2354,e.DiagnosticCategory.Error,\"This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found_2354\",\"This syntax requires an imported helper but module '{0}' cannot be found.\"),A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value:s(2355,e.DiagnosticCategory.Error,\"A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value_2355\",\"A function whose declared type is neither 'void' nor 'any' must return a value.\"),An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type:s(2356,e.DiagnosticCategory.Error,\"An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type_2356\",\"An arithmetic operand must be of type 'any', 'number', 'bigint' or an enum type.\"),The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access:s(2357,e.DiagnosticCategory.Error,\"The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access_2357\",\"The operand of an increment or decrement operator must be a variable or a property access.\"),The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_parameter:s(2358,e.DiagnosticCategory.Error,\"The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_paramete_2358\",\"The left-hand side of an 'instanceof' expression must be of type 'any', an object type or a type parameter.\"),The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_Function_interface_type:s(2359,e.DiagnosticCategory.Error,\"The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_F_2359\",\"The right-hand side of an 'instanceof' expression must be of type 'any' or of a type assignable to the 'Function' interface type.\"),The_left_hand_side_of_an_in_expression_must_be_of_type_any_string_number_or_symbol:s(2360,e.DiagnosticCategory.Error,\"The_left_hand_side_of_an_in_expression_must_be_of_type_any_string_number_or_symbol_2360\",\"The left-hand side of an 'in' expression must be of type 'any', 'string', 'number', or 'symbol'.\"),The_right_hand_side_of_an_in_expression_must_not_be_a_primitive:s(2361,e.DiagnosticCategory.Error,\"The_right_hand_side_of_an_in_expression_must_not_be_a_primitive_2361\",\"The right-hand side of an 'in' expression must not be a primitive.\"),The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type:s(2362,e.DiagnosticCategory.Error,\"The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type_2362\",\"The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type.\"),The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type:s(2363,e.DiagnosticCategory.Error,\"The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type_2363\",\"The right-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type.\"),The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access:s(2364,e.DiagnosticCategory.Error,\"The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access_2364\",\"The left-hand side of an assignment expression must be a variable or a property access.\"),Operator_0_cannot_be_applied_to_types_1_and_2:s(2365,e.DiagnosticCategory.Error,\"Operator_0_cannot_be_applied_to_types_1_and_2_2365\",\"Operator '{0}' cannot be applied to types '{1}' and '{2}'.\"),Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined:s(2366,e.DiagnosticCategory.Error,\"Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined_2366\",\"Function lacks ending return statement and return type does not include 'undefined'.\"),This_condition_will_always_return_0_since_the_types_1_and_2_have_no_overlap:s(2367,e.DiagnosticCategory.Error,\"This_condition_will_always_return_0_since_the_types_1_and_2_have_no_overlap_2367\",\"This condition will always return '{0}' since the types '{1}' and '{2}' have no overlap.\"),Type_parameter_name_cannot_be_0:s(2368,e.DiagnosticCategory.Error,\"Type_parameter_name_cannot_be_0_2368\",\"Type parameter name cannot be '{0}'.\"),A_parameter_property_is_only_allowed_in_a_constructor_implementation:s(2369,e.DiagnosticCategory.Error,\"A_parameter_property_is_only_allowed_in_a_constructor_implementation_2369\",\"A parameter property is only allowed in a constructor implementation.\"),A_rest_parameter_must_be_of_an_array_type:s(2370,e.DiagnosticCategory.Error,\"A_rest_parameter_must_be_of_an_array_type_2370\",\"A rest parameter must be of an array type.\"),A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation:s(2371,e.DiagnosticCategory.Error,\"A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation_2371\",\"A parameter initializer is only allowed in a function or constructor implementation.\"),Parameter_0_cannot_reference_itself:s(2372,e.DiagnosticCategory.Error,\"Parameter_0_cannot_reference_itself_2372\",\"Parameter '{0}' cannot reference itself.\"),Parameter_0_cannot_reference_identifier_1_declared_after_it:s(2373,e.DiagnosticCategory.Error,\"Parameter_0_cannot_reference_identifier_1_declared_after_it_2373\",\"Parameter '{0}' cannot reference identifier '{1}' declared after it.\"),Duplicate_string_index_signature:s(2374,e.DiagnosticCategory.Error,\"Duplicate_string_index_signature_2374\",\"Duplicate string index signature.\"),Duplicate_number_index_signature:s(2375,e.DiagnosticCategory.Error,\"Duplicate_number_index_signature_2375\",\"Duplicate number index signature.\"),A_super_call_must_be_the_first_statement_in_the_constructor_when_a_class_contains_initialized_properties_parameter_properties_or_private_identifiers:s(2376,e.DiagnosticCategory.Error,\"A_super_call_must_be_the_first_statement_in_the_constructor_when_a_class_contains_initialized_proper_2376\",\"A 'super' call must be the first statement in the constructor when a class contains initialized properties, parameter properties, or private identifiers.\"),Constructors_for_derived_classes_must_contain_a_super_call:s(2377,e.DiagnosticCategory.Error,\"Constructors_for_derived_classes_must_contain_a_super_call_2377\",\"Constructors for derived classes must contain a 'super' call.\"),A_get_accessor_must_return_a_value:s(2378,e.DiagnosticCategory.Error,\"A_get_accessor_must_return_a_value_2378\",\"A 'get' accessor must return a value.\"),The_return_type_of_a_get_accessor_must_be_assignable_to_its_set_accessor_type:s(2380,e.DiagnosticCategory.Error,\"The_return_type_of_a_get_accessor_must_be_assignable_to_its_set_accessor_type_2380\",\"The return type of a 'get' accessor must be assignable to its 'set' accessor type\"),A_signature_with_an_implementation_cannot_use_a_string_literal_type:s(2381,e.DiagnosticCategory.Error,\"A_signature_with_an_implementation_cannot_use_a_string_literal_type_2381\",\"A signature with an implementation cannot use a string literal type.\"),Specialized_overload_signature_is_not_assignable_to_any_non_specialized_signature:s(2382,e.DiagnosticCategory.Error,\"Specialized_overload_signature_is_not_assignable_to_any_non_specialized_signature_2382\",\"Specialized overload signature is not assignable to any non-specialized signature.\"),Overload_signatures_must_all_be_exported_or_non_exported:s(2383,e.DiagnosticCategory.Error,\"Overload_signatures_must_all_be_exported_or_non_exported_2383\",\"Overload signatures must all be exported or non-exported.\"),Overload_signatures_must_all_be_ambient_or_non_ambient:s(2384,e.DiagnosticCategory.Error,\"Overload_signatures_must_all_be_ambient_or_non_ambient_2384\",\"Overload signatures must all be ambient or non-ambient.\"),Overload_signatures_must_all_be_public_private_or_protected:s(2385,e.DiagnosticCategory.Error,\"Overload_signatures_must_all_be_public_private_or_protected_2385\",\"Overload signatures must all be public, private or protected.\"),Overload_signatures_must_all_be_optional_or_required:s(2386,e.DiagnosticCategory.Error,\"Overload_signatures_must_all_be_optional_or_required_2386\",\"Overload signatures must all be optional or required.\"),Function_overload_must_be_static:s(2387,e.DiagnosticCategory.Error,\"Function_overload_must_be_static_2387\",\"Function overload must be static.\"),Function_overload_must_not_be_static:s(2388,e.DiagnosticCategory.Error,\"Function_overload_must_not_be_static_2388\",\"Function overload must not be static.\"),Function_implementation_name_must_be_0:s(2389,e.DiagnosticCategory.Error,\"Function_implementation_name_must_be_0_2389\",\"Function implementation name must be '{0}'.\"),Constructor_implementation_is_missing:s(2390,e.DiagnosticCategory.Error,\"Constructor_implementation_is_missing_2390\",\"Constructor implementation is missing.\"),Function_implementation_is_missing_or_not_immediately_following_the_declaration:s(2391,e.DiagnosticCategory.Error,\"Function_implementation_is_missing_or_not_immediately_following_the_declaration_2391\",\"Function implementation is missing or not immediately following the declaration.\"),Multiple_constructor_implementations_are_not_allowed:s(2392,e.DiagnosticCategory.Error,\"Multiple_constructor_implementations_are_not_allowed_2392\",\"Multiple constructor implementations are not allowed.\"),Duplicate_function_implementation:s(2393,e.DiagnosticCategory.Error,\"Duplicate_function_implementation_2393\",\"Duplicate function implementation.\"),This_overload_signature_is_not_compatible_with_its_implementation_signature:s(2394,e.DiagnosticCategory.Error,\"This_overload_signature_is_not_compatible_with_its_implementation_signature_2394\",\"This overload signature is not compatible with its implementation signature.\"),Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local:s(2395,e.DiagnosticCategory.Error,\"Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local_2395\",\"Individual declarations in merged declaration '{0}' must be all exported or all local.\"),Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters:s(2396,e.DiagnosticCategory.Error,\"Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters_2396\",\"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.\"),Declaration_name_conflicts_with_built_in_global_identifier_0:s(2397,e.DiagnosticCategory.Error,\"Declaration_name_conflicts_with_built_in_global_identifier_0_2397\",\"Declaration name conflicts with built-in global identifier '{0}'.\"),constructor_cannot_be_used_as_a_parameter_property_name:s(2398,e.DiagnosticCategory.Error,\"constructor_cannot_be_used_as_a_parameter_property_name_2398\",\"'constructor' cannot be used as a parameter property name.\"),Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference:s(2399,e.DiagnosticCategory.Error,\"Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference_2399\",\"Duplicate identifier '_this'. Compiler uses variable declaration '_this' to capture 'this' reference.\"),Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference:s(2400,e.DiagnosticCategory.Error,\"Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference_2400\",\"Expression resolves to variable declaration '_this' that compiler uses to capture 'this' reference.\"),Duplicate_identifier_super_Compiler_uses_super_to_capture_base_class_reference:s(2401,e.DiagnosticCategory.Error,\"Duplicate_identifier_super_Compiler_uses_super_to_capture_base_class_reference_2401\",\"Duplicate identifier '_super'. Compiler uses '_super' to capture base class reference.\"),Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference:s(2402,e.DiagnosticCategory.Error,\"Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference_2402\",\"Expression resolves to '_super' that compiler uses to capture base class reference.\"),Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2:s(2403,e.DiagnosticCategory.Error,\"Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_t_2403\",\"Subsequent variable declarations must have the same type.  Variable '{0}' must be of type '{1}', but here has type '{2}'.\"),The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation:s(2404,e.DiagnosticCategory.Error,\"The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation_2404\",\"The left-hand side of a 'for...in' statement cannot use a type annotation.\"),The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any:s(2405,e.DiagnosticCategory.Error,\"The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any_2405\",\"The left-hand side of a 'for...in' statement must be of type 'string' or 'any'.\"),The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access:s(2406,e.DiagnosticCategory.Error,\"The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access_2406\",\"The left-hand side of a 'for...in' statement must be a variable or a property access.\"),The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_here_has_type_0:s(2407,e.DiagnosticCategory.Error,\"The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_2407\",\"The right-hand side of a 'for...in' statement must be of type 'any', an object type or a type parameter, but here has type '{0}'.\"),Setters_cannot_return_a_value:s(2408,e.DiagnosticCategory.Error,\"Setters_cannot_return_a_value_2408\",\"Setters cannot return a value.\"),Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class:s(2409,e.DiagnosticCategory.Error,\"Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class_2409\",\"Return type of constructor signature must be assignable to the instance type of the class.\"),The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any:s(2410,e.DiagnosticCategory.Error,\"The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any_2410\",\"The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'.\"),Property_0_of_type_1_is_not_assignable_to_string_index_type_2:s(2411,e.DiagnosticCategory.Error,\"Property_0_of_type_1_is_not_assignable_to_string_index_type_2_2411\",\"Property '{0}' of type '{1}' is not assignable to string index type '{2}'.\"),Property_0_of_type_1_is_not_assignable_to_numeric_index_type_2:s(2412,e.DiagnosticCategory.Error,\"Property_0_of_type_1_is_not_assignable_to_numeric_index_type_2_2412\",\"Property '{0}' of type '{1}' is not assignable to numeric index type '{2}'.\"),Numeric_index_type_0_is_not_assignable_to_string_index_type_1:s(2413,e.DiagnosticCategory.Error,\"Numeric_index_type_0_is_not_assignable_to_string_index_type_1_2413\",\"Numeric index type '{0}' is not assignable to string index type '{1}'.\"),Class_name_cannot_be_0:s(2414,e.DiagnosticCategory.Error,\"Class_name_cannot_be_0_2414\",\"Class name cannot be '{0}'.\"),Class_0_incorrectly_extends_base_class_1:s(2415,e.DiagnosticCategory.Error,\"Class_0_incorrectly_extends_base_class_1_2415\",\"Class '{0}' incorrectly extends base class '{1}'.\"),Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2:s(2416,e.DiagnosticCategory.Error,\"Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2_2416\",\"Property '{0}' in type '{1}' is not assignable to the same property in base type '{2}'.\"),Class_static_side_0_incorrectly_extends_base_class_static_side_1:s(2417,e.DiagnosticCategory.Error,\"Class_static_side_0_incorrectly_extends_base_class_static_side_1_2417\",\"Class static side '{0}' incorrectly extends base class static side '{1}'.\"),Type_of_computed_property_s_value_is_0_which_is_not_assignable_to_type_1:s(2418,e.DiagnosticCategory.Error,\"Type_of_computed_property_s_value_is_0_which_is_not_assignable_to_type_1_2418\",\"Type of computed property's value is '{0}', which is not assignable to type '{1}'.\"),Types_of_construct_signatures_are_incompatible:s(2419,e.DiagnosticCategory.Error,\"Types_of_construct_signatures_are_incompatible_2419\",\"Types of construct signatures are incompatible.\"),Class_0_incorrectly_implements_interface_1:s(2420,e.DiagnosticCategory.Error,\"Class_0_incorrectly_implements_interface_1_2420\",\"Class '{0}' incorrectly implements interface '{1}'.\"),A_class_can_only_implement_an_object_type_or_intersection_of_object_types_with_statically_known_members:s(2422,e.DiagnosticCategory.Error,\"A_class_can_only_implement_an_object_type_or_intersection_of_object_types_with_statically_known_memb_2422\",\"A class can only implement an object type or intersection of object types with statically known members.\"),Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_accessor:s(2423,e.DiagnosticCategory.Error,\"Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_access_2423\",\"Class '{0}' defines instance member function '{1}', but extended class '{2}' defines it as instance member accessor.\"),Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_function:s(2425,e.DiagnosticCategory.Error,\"Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_functi_2425\",\"Class '{0}' defines instance member property '{1}', but extended class '{2}' defines it as instance member function.\"),Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_function:s(2426,e.DiagnosticCategory.Error,\"Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_functi_2426\",\"Class '{0}' defines instance member accessor '{1}', but extended class '{2}' defines it as instance member function.\"),Interface_name_cannot_be_0:s(2427,e.DiagnosticCategory.Error,\"Interface_name_cannot_be_0_2427\",\"Interface name cannot be '{0}'.\"),All_declarations_of_0_must_have_identical_type_parameters:s(2428,e.DiagnosticCategory.Error,\"All_declarations_of_0_must_have_identical_type_parameters_2428\",\"All declarations of '{0}' must have identical type parameters.\"),Interface_0_incorrectly_extends_interface_1:s(2430,e.DiagnosticCategory.Error,\"Interface_0_incorrectly_extends_interface_1_2430\",\"Interface '{0}' incorrectly extends interface '{1}'.\"),Enum_name_cannot_be_0:s(2431,e.DiagnosticCategory.Error,\"Enum_name_cannot_be_0_2431\",\"Enum name cannot be '{0}'.\"),In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enum_element:s(2432,e.DiagnosticCategory.Error,\"In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enu_2432\",\"In an enum with multiple declarations, only one declaration can omit an initializer for its first enum element.\"),A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merged:s(2433,e.DiagnosticCategory.Error,\"A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merg_2433\",\"A namespace declaration cannot be in a different file from a class or function with which it is merged.\"),A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged:s(2434,e.DiagnosticCategory.Error,\"A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged_2434\",\"A namespace declaration cannot be located prior to a class or function with which it is merged.\"),Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces:s(2435,e.DiagnosticCategory.Error,\"Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces_2435\",\"Ambient modules cannot be nested in other modules or namespaces.\"),Ambient_module_declaration_cannot_specify_relative_module_name:s(2436,e.DiagnosticCategory.Error,\"Ambient_module_declaration_cannot_specify_relative_module_name_2436\",\"Ambient module declaration cannot specify relative module name.\"),Module_0_is_hidden_by_a_local_declaration_with_the_same_name:s(2437,e.DiagnosticCategory.Error,\"Module_0_is_hidden_by_a_local_declaration_with_the_same_name_2437\",\"Module '{0}' is hidden by a local declaration with the same name.\"),Import_name_cannot_be_0:s(2438,e.DiagnosticCategory.Error,\"Import_name_cannot_be_0_2438\",\"Import name cannot be '{0}'.\"),Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relative_module_name:s(2439,e.DiagnosticCategory.Error,\"Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relati_2439\",\"Import or export declaration in an ambient module declaration cannot reference module through relative module name.\"),Import_declaration_conflicts_with_local_declaration_of_0:s(2440,e.DiagnosticCategory.Error,\"Import_declaration_conflicts_with_local_declaration_of_0_2440\",\"Import declaration conflicts with local declaration of '{0}'.\"),Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module:s(2441,e.DiagnosticCategory.Error,\"Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_2441\",\"Duplicate identifier '{0}'. Compiler reserves name '{1}' in top level scope of a module.\"),Types_have_separate_declarations_of_a_private_property_0:s(2442,e.DiagnosticCategory.Error,\"Types_have_separate_declarations_of_a_private_property_0_2442\",\"Types have separate declarations of a private property '{0}'.\"),Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2:s(2443,e.DiagnosticCategory.Error,\"Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2_2443\",\"Property '{0}' is protected but type '{1}' is not a class derived from '{2}'.\"),Property_0_is_protected_in_type_1_but_public_in_type_2:s(2444,e.DiagnosticCategory.Error,\"Property_0_is_protected_in_type_1_but_public_in_type_2_2444\",\"Property '{0}' is protected in type '{1}' but public in type '{2}'.\"),Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses:s(2445,e.DiagnosticCategory.Error,\"Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses_2445\",\"Property '{0}' is protected and only accessible within class '{1}' and its subclasses.\"),Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1_This_is_an_instance_of_class_2:s(2446,e.DiagnosticCategory.Error,\"Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1_This_is_an_instance_of_cl_2446\",\"Property '{0}' is protected and only accessible through an instance of class '{1}'. This is an instance of class '{2}'.\"),The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead:s(2447,e.DiagnosticCategory.Error,\"The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead_2447\",\"The '{0}' operator is not allowed for boolean types. Consider using '{1}' instead.\"),Block_scoped_variable_0_used_before_its_declaration:s(2448,e.DiagnosticCategory.Error,\"Block_scoped_variable_0_used_before_its_declaration_2448\",\"Block-scoped variable '{0}' used before its declaration.\"),Class_0_used_before_its_declaration:s(2449,e.DiagnosticCategory.Error,\"Class_0_used_before_its_declaration_2449\",\"Class '{0}' used before its declaration.\"),Enum_0_used_before_its_declaration:s(2450,e.DiagnosticCategory.Error,\"Enum_0_used_before_its_declaration_2450\",\"Enum '{0}' used before its declaration.\"),Cannot_redeclare_block_scoped_variable_0:s(2451,e.DiagnosticCategory.Error,\"Cannot_redeclare_block_scoped_variable_0_2451\",\"Cannot redeclare block-scoped variable '{0}'.\"),An_enum_member_cannot_have_a_numeric_name:s(2452,e.DiagnosticCategory.Error,\"An_enum_member_cannot_have_a_numeric_name_2452\",\"An enum member cannot have a numeric name.\"),The_type_argument_for_type_parameter_0_cannot_be_inferred_from_the_usage_Consider_specifying_the_type_arguments_explicitly:s(2453,e.DiagnosticCategory.Error,\"The_type_argument_for_type_parameter_0_cannot_be_inferred_from_the_usage_Consider_specifying_the_typ_2453\",\"The type argument for type parameter '{0}' cannot be inferred from the usage. Consider specifying the type arguments explicitly.\"),Variable_0_is_used_before_being_assigned:s(2454,e.DiagnosticCategory.Error,\"Variable_0_is_used_before_being_assigned_2454\",\"Variable '{0}' is used before being assigned.\"),Type_argument_candidate_1_is_not_a_valid_type_argument_because_it_is_not_a_supertype_of_candidate_0:s(2455,e.DiagnosticCategory.Error,\"Type_argument_candidate_1_is_not_a_valid_type_argument_because_it_is_not_a_supertype_of_candidate_0_2455\",\"Type argument candidate '{1}' is not a valid type argument because it is not a supertype of candidate '{0}'.\"),Type_alias_0_circularly_references_itself:s(2456,e.DiagnosticCategory.Error,\"Type_alias_0_circularly_references_itself_2456\",\"Type alias '{0}' circularly references itself.\"),Type_alias_name_cannot_be_0:s(2457,e.DiagnosticCategory.Error,\"Type_alias_name_cannot_be_0_2457\",\"Type alias name cannot be '{0}'.\"),An_AMD_module_cannot_have_multiple_name_assignments:s(2458,e.DiagnosticCategory.Error,\"An_AMD_module_cannot_have_multiple_name_assignments_2458\",\"An AMD module cannot have multiple name assignments.\"),Module_0_declares_1_locally_but_it_is_not_exported:s(2459,e.DiagnosticCategory.Error,\"Module_0_declares_1_locally_but_it_is_not_exported_2459\",\"Module '{0}' declares '{1}' locally, but it is not exported.\"),Module_0_declares_1_locally_but_it_is_exported_as_2:s(2460,e.DiagnosticCategory.Error,\"Module_0_declares_1_locally_but_it_is_exported_as_2_2460\",\"Module '{0}' declares '{1}' locally, but it is exported as '{2}'.\"),Type_0_is_not_an_array_type:s(2461,e.DiagnosticCategory.Error,\"Type_0_is_not_an_array_type_2461\",\"Type '{0}' is not an array type.\"),A_rest_element_must_be_last_in_a_destructuring_pattern:s(2462,e.DiagnosticCategory.Error,\"A_rest_element_must_be_last_in_a_destructuring_pattern_2462\",\"A rest element must be last in a destructuring pattern.\"),A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature:s(2463,e.DiagnosticCategory.Error,\"A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature_2463\",\"A binding pattern parameter cannot be optional in an implementation signature.\"),A_computed_property_name_must_be_of_type_string_number_symbol_or_any:s(2464,e.DiagnosticCategory.Error,\"A_computed_property_name_must_be_of_type_string_number_symbol_or_any_2464\",\"A computed property name must be of type 'string', 'number', 'symbol', or 'any'.\"),this_cannot_be_referenced_in_a_computed_property_name:s(2465,e.DiagnosticCategory.Error,\"this_cannot_be_referenced_in_a_computed_property_name_2465\",\"'this' cannot be referenced in a computed property name.\"),super_cannot_be_referenced_in_a_computed_property_name:s(2466,e.DiagnosticCategory.Error,\"super_cannot_be_referenced_in_a_computed_property_name_2466\",\"'super' cannot be referenced in a computed property name.\"),A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type:s(2467,e.DiagnosticCategory.Error,\"A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type_2467\",\"A computed property name cannot reference a type parameter from its containing type.\"),Cannot_find_global_value_0:s(2468,e.DiagnosticCategory.Error,\"Cannot_find_global_value_0_2468\",\"Cannot find global value '{0}'.\"),The_0_operator_cannot_be_applied_to_type_symbol:s(2469,e.DiagnosticCategory.Error,\"The_0_operator_cannot_be_applied_to_type_symbol_2469\",\"The '{0}' operator cannot be applied to type 'symbol'.\"),Symbol_reference_does_not_refer_to_the_global_Symbol_constructor_object:s(2470,e.DiagnosticCategory.Error,\"Symbol_reference_does_not_refer_to_the_global_Symbol_constructor_object_2470\",\"'Symbol' reference does not refer to the global Symbol constructor object.\"),A_computed_property_name_of_the_form_0_must_be_of_type_symbol:s(2471,e.DiagnosticCategory.Error,\"A_computed_property_name_of_the_form_0_must_be_of_type_symbol_2471\",\"A computed property name of the form '{0}' must be of type 'symbol'.\"),Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher:s(2472,e.DiagnosticCategory.Error,\"Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher_2472\",\"Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher.\"),Enum_declarations_must_all_be_const_or_non_const:s(2473,e.DiagnosticCategory.Error,\"Enum_declarations_must_all_be_const_or_non_const_2473\",\"Enum declarations must all be const or non-const.\"),const_enum_member_initializers_can_only_contain_literal_values_and_other_computed_enum_values:s(2474,e.DiagnosticCategory.Error,\"const_enum_member_initializers_can_only_contain_literal_values_and_other_computed_enum_values_2474\",\"const enum member initializers can only contain literal values and other computed enum values.\"),const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_import_declaration_or_export_assignment_or_type_query:s(2475,e.DiagnosticCategory.Error,\"const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_im_2475\",\"'const' enums can only be used in property or index access expressions or the right hand side of an import declaration or export assignment or type query.\"),A_const_enum_member_can_only_be_accessed_using_a_string_literal:s(2476,e.DiagnosticCategory.Error,\"A_const_enum_member_can_only_be_accessed_using_a_string_literal_2476\",\"A const enum member can only be accessed using a string literal.\"),const_enum_member_initializer_was_evaluated_to_a_non_finite_value:s(2477,e.DiagnosticCategory.Error,\"const_enum_member_initializer_was_evaluated_to_a_non_finite_value_2477\",\"'const' enum member initializer was evaluated to a non-finite value.\"),const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN:s(2478,e.DiagnosticCategory.Error,\"const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN_2478\",\"'const' enum member initializer was evaluated to disallowed value 'NaN'.\"),Property_0_does_not_exist_on_const_enum_1:s(2479,e.DiagnosticCategory.Error,\"Property_0_does_not_exist_on_const_enum_1_2479\",\"Property '{0}' does not exist on 'const' enum '{1}'.\"),let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations:s(2480,e.DiagnosticCategory.Error,\"let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations_2480\",\"'let' is not allowed to be used as a name in 'let' or 'const' declarations.\"),Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1:s(2481,e.DiagnosticCategory.Error,\"Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1_2481\",\"Cannot initialize outer scoped variable '{0}' in the same scope as block scoped declaration '{1}'.\"),The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation:s(2483,e.DiagnosticCategory.Error,\"The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation_2483\",\"The left-hand side of a 'for...of' statement cannot use a type annotation.\"),Export_declaration_conflicts_with_exported_declaration_of_0:s(2484,e.DiagnosticCategory.Error,\"Export_declaration_conflicts_with_exported_declaration_of_0_2484\",\"Export declaration conflicts with exported declaration of '{0}'.\"),The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access:s(2487,e.DiagnosticCategory.Error,\"The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access_2487\",\"The left-hand side of a 'for...of' statement must be a variable or a property access.\"),Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator:s(2488,e.DiagnosticCategory.Error,\"Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator_2488\",\"Type '{0}' must have a '[Symbol.iterator]()' method that returns an iterator.\"),An_iterator_must_have_a_next_method:s(2489,e.DiagnosticCategory.Error,\"An_iterator_must_have_a_next_method_2489\",\"An iterator must have a 'next()' method.\"),The_type_returned_by_the_0_method_of_an_iterator_must_have_a_value_property:s(2490,e.DiagnosticCategory.Error,\"The_type_returned_by_the_0_method_of_an_iterator_must_have_a_value_property_2490\",\"The type returned by the '{0}()' method of an iterator must have a 'value' property.\"),The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern:s(2491,e.DiagnosticCategory.Error,\"The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern_2491\",\"The left-hand side of a 'for...in' statement cannot be a destructuring pattern.\"),Cannot_redeclare_identifier_0_in_catch_clause:s(2492,e.DiagnosticCategory.Error,\"Cannot_redeclare_identifier_0_in_catch_clause_2492\",\"Cannot redeclare identifier '{0}' in catch clause.\"),Tuple_type_0_of_length_1_has_no_element_at_index_2:s(2493,e.DiagnosticCategory.Error,\"Tuple_type_0_of_length_1_has_no_element_at_index_2_2493\",\"Tuple type '{0}' of length '{1}' has no element at index '{2}'.\"),Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher:s(2494,e.DiagnosticCategory.Error,\"Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher_2494\",\"Using a string in a 'for...of' statement is only supported in ECMAScript 5 and higher.\"),Type_0_is_not_an_array_type_or_a_string_type:s(2495,e.DiagnosticCategory.Error,\"Type_0_is_not_an_array_type_or_a_string_type_2495\",\"Type '{0}' is not an array type or a string type.\"),The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_standard_function_expression:s(2496,e.DiagnosticCategory.Error,\"The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_stand_2496\",\"The 'arguments' object cannot be referenced in an arrow function in ES3 and ES5. Consider using a standard function expression.\"),This_module_can_only_be_referenced_with_ECMAScript_imports_Slashexports_by_turning_on_the_0_flag_and_referencing_its_default_export:s(2497,e.DiagnosticCategory.Error,\"This_module_can_only_be_referenced_with_ECMAScript_imports_Slashexports_by_turning_on_the_0_flag_and_2497\",\"This module can only be referenced with ECMAScript imports/exports by turning on the '{0}' flag and referencing its default export.\"),Module_0_uses_export_and_cannot_be_used_with_export_Asterisk:s(2498,e.DiagnosticCategory.Error,\"Module_0_uses_export_and_cannot_be_used_with_export_Asterisk_2498\",\"Module '{0}' uses 'export =' and cannot be used with 'export *'.\"),An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments:s(2499,e.DiagnosticCategory.Error,\"An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments_2499\",\"An interface can only extend an identifier/qualified-name with optional type arguments.\"),A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments:s(2500,e.DiagnosticCategory.Error,\"A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments_2500\",\"A class can only implement an identifier/qualified-name with optional type arguments.\"),A_rest_element_cannot_contain_a_binding_pattern:s(2501,e.DiagnosticCategory.Error,\"A_rest_element_cannot_contain_a_binding_pattern_2501\",\"A rest element cannot contain a binding pattern.\"),_0_is_referenced_directly_or_indirectly_in_its_own_type_annotation:s(2502,e.DiagnosticCategory.Error,\"_0_is_referenced_directly_or_indirectly_in_its_own_type_annotation_2502\",\"'{0}' is referenced directly or indirectly in its own type annotation.\"),Cannot_find_namespace_0:s(2503,e.DiagnosticCategory.Error,\"Cannot_find_namespace_0_2503\",\"Cannot find namespace '{0}'.\"),Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator:s(2504,e.DiagnosticCategory.Error,\"Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator_2504\",\"Type '{0}' must have a '[Symbol.asyncIterator]()' method that returns an async iterator.\"),A_generator_cannot_have_a_void_type_annotation:s(2505,e.DiagnosticCategory.Error,\"A_generator_cannot_have_a_void_type_annotation_2505\",\"A generator cannot have a 'void' type annotation.\"),_0_is_referenced_directly_or_indirectly_in_its_own_base_expression:s(2506,e.DiagnosticCategory.Error,\"_0_is_referenced_directly_or_indirectly_in_its_own_base_expression_2506\",\"'{0}' is referenced directly or indirectly in its own base expression.\"),Type_0_is_not_a_constructor_function_type:s(2507,e.DiagnosticCategory.Error,\"Type_0_is_not_a_constructor_function_type_2507\",\"Type '{0}' is not a constructor function type.\"),No_base_constructor_has_the_specified_number_of_type_arguments:s(2508,e.DiagnosticCategory.Error,\"No_base_constructor_has_the_specified_number_of_type_arguments_2508\",\"No base constructor has the specified number of type arguments.\"),Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_known_members:s(2509,e.DiagnosticCategory.Error,\"Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_2509\",\"Base constructor return type '{0}' is not an object type or intersection of object types with statically known members.\"),Base_constructors_must_all_have_the_same_return_type:s(2510,e.DiagnosticCategory.Error,\"Base_constructors_must_all_have_the_same_return_type_2510\",\"Base constructors must all have the same return type.\"),Cannot_create_an_instance_of_an_abstract_class:s(2511,e.DiagnosticCategory.Error,\"Cannot_create_an_instance_of_an_abstract_class_2511\",\"Cannot create an instance of an abstract class.\"),Overload_signatures_must_all_be_abstract_or_non_abstract:s(2512,e.DiagnosticCategory.Error,\"Overload_signatures_must_all_be_abstract_or_non_abstract_2512\",\"Overload signatures must all be abstract or non-abstract.\"),Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression:s(2513,e.DiagnosticCategory.Error,\"Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression_2513\",\"Abstract method '{0}' in class '{1}' cannot be accessed via super expression.\"),Classes_containing_abstract_methods_must_be_marked_abstract:s(2514,e.DiagnosticCategory.Error,\"Classes_containing_abstract_methods_must_be_marked_abstract_2514\",\"Classes containing abstract methods must be marked abstract.\"),Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2:s(2515,e.DiagnosticCategory.Error,\"Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2_2515\",\"Non-abstract class '{0}' does not implement inherited abstract member '{1}' from class '{2}'.\"),All_declarations_of_an_abstract_method_must_be_consecutive:s(2516,e.DiagnosticCategory.Error,\"All_declarations_of_an_abstract_method_must_be_consecutive_2516\",\"All declarations of an abstract method must be consecutive.\"),Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type:s(2517,e.DiagnosticCategory.Error,\"Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type_2517\",\"Cannot assign an abstract constructor type to a non-abstract constructor type.\"),A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard:s(2518,e.DiagnosticCategory.Error,\"A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard_2518\",\"A 'this'-based type guard is not compatible with a parameter-based type guard.\"),An_async_iterator_must_have_a_next_method:s(2519,e.DiagnosticCategory.Error,\"An_async_iterator_must_have_a_next_method_2519\",\"An async iterator must have a 'next()' method.\"),Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions:s(2520,e.DiagnosticCategory.Error,\"Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions_2520\",\"Duplicate identifier '{0}'. Compiler uses declaration '{1}' to support async functions.\"),Expression_resolves_to_variable_declaration_0_that_compiler_uses_to_support_async_functions:s(2521,e.DiagnosticCategory.Error,\"Expression_resolves_to_variable_declaration_0_that_compiler_uses_to_support_async_functions_2521\",\"Expression resolves to variable declaration '{0}' that compiler uses to support async functions.\"),The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES3_and_ES5_Consider_using_a_standard_function_or_method:s(2522,e.DiagnosticCategory.Error,\"The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES3_and_ES5_Consider_usi_2522\",\"The 'arguments' object cannot be referenced in an async function or method in ES3 and ES5. Consider using a standard function or method.\"),yield_expressions_cannot_be_used_in_a_parameter_initializer:s(2523,e.DiagnosticCategory.Error,\"yield_expressions_cannot_be_used_in_a_parameter_initializer_2523\",\"'yield' expressions cannot be used in a parameter initializer.\"),await_expressions_cannot_be_used_in_a_parameter_initializer:s(2524,e.DiagnosticCategory.Error,\"await_expressions_cannot_be_used_in_a_parameter_initializer_2524\",\"'await' expressions cannot be used in a parameter initializer.\"),Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value:s(2525,e.DiagnosticCategory.Error,\"Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value_2525\",\"Initializer provides no value for this binding element and the binding element has no default value.\"),A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface:s(2526,e.DiagnosticCategory.Error,\"A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface_2526\",\"A 'this' type is available only in a non-static member of a class or interface.\"),The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary:s(2527,e.DiagnosticCategory.Error,\"The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary_2527\",\"The inferred type of '{0}' references an inaccessible '{1}' type. A type annotation is necessary.\"),A_module_cannot_have_multiple_default_exports:s(2528,e.DiagnosticCategory.Error,\"A_module_cannot_have_multiple_default_exports_2528\",\"A module cannot have multiple default exports.\"),Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions:s(2529,e.DiagnosticCategory.Error,\"Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_func_2529\",\"Duplicate identifier '{0}'. Compiler reserves name '{1}' in top level scope of a module containing async functions.\"),Property_0_is_incompatible_with_index_signature:s(2530,e.DiagnosticCategory.Error,\"Property_0_is_incompatible_with_index_signature_2530\",\"Property '{0}' is incompatible with index signature.\"),Object_is_possibly_null:s(2531,e.DiagnosticCategory.Error,\"Object_is_possibly_null_2531\",\"Object is possibly 'null'.\"),Object_is_possibly_undefined:s(2532,e.DiagnosticCategory.Error,\"Object_is_possibly_undefined_2532\",\"Object is possibly 'undefined'.\"),Object_is_possibly_null_or_undefined:s(2533,e.DiagnosticCategory.Error,\"Object_is_possibly_null_or_undefined_2533\",\"Object is possibly 'null' or 'undefined'.\"),A_function_returning_never_cannot_have_a_reachable_end_point:s(2534,e.DiagnosticCategory.Error,\"A_function_returning_never_cannot_have_a_reachable_end_point_2534\",\"A function returning 'never' cannot have a reachable end point.\"),Enum_type_0_has_members_with_initializers_that_are_not_literals:s(2535,e.DiagnosticCategory.Error,\"Enum_type_0_has_members_with_initializers_that_are_not_literals_2535\",\"Enum type '{0}' has members with initializers that are not literals.\"),Type_0_cannot_be_used_to_index_type_1:s(2536,e.DiagnosticCategory.Error,\"Type_0_cannot_be_used_to_index_type_1_2536\",\"Type '{0}' cannot be used to index type '{1}'.\"),Type_0_has_no_matching_index_signature_for_type_1:s(2537,e.DiagnosticCategory.Error,\"Type_0_has_no_matching_index_signature_for_type_1_2537\",\"Type '{0}' has no matching index signature for type '{1}'.\"),Type_0_cannot_be_used_as_an_index_type:s(2538,e.DiagnosticCategory.Error,\"Type_0_cannot_be_used_as_an_index_type_2538\",\"Type '{0}' cannot be used as an index type.\"),Cannot_assign_to_0_because_it_is_not_a_variable:s(2539,e.DiagnosticCategory.Error,\"Cannot_assign_to_0_because_it_is_not_a_variable_2539\",\"Cannot assign to '{0}' because it is not a variable.\"),Cannot_assign_to_0_because_it_is_a_read_only_property:s(2540,e.DiagnosticCategory.Error,\"Cannot_assign_to_0_because_it_is_a_read_only_property_2540\",\"Cannot assign to '{0}' because it is a read-only property.\"),The_target_of_an_assignment_must_be_a_variable_or_a_property_access:s(2541,e.DiagnosticCategory.Error,\"The_target_of_an_assignment_must_be_a_variable_or_a_property_access_2541\",\"The target of an assignment must be a variable or a property access.\"),Index_signature_in_type_0_only_permits_reading:s(2542,e.DiagnosticCategory.Error,\"Index_signature_in_type_0_only_permits_reading_2542\",\"Index signature in type '{0}' only permits reading.\"),Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_meta_property_reference:s(2543,e.DiagnosticCategory.Error,\"Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_me_2543\",\"Duplicate identifier '_newTarget'. Compiler uses variable declaration '_newTarget' to capture 'new.target' meta-property reference.\"),Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta_property_reference:s(2544,e.DiagnosticCategory.Error,\"Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta__2544\",\"Expression resolves to variable declaration '_newTarget' that compiler uses to capture 'new.target' meta-property reference.\"),A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any:s(2545,e.DiagnosticCategory.Error,\"A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any_2545\",\"A mixin class must have a constructor with a single rest parameter of type 'any[]'.\"),The_type_returned_by_the_0_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_property:s(2547,e.DiagnosticCategory.Error,\"The_type_returned_by_the_0_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_pro_2547\",\"The type returned by the '{0}()' method of an async iterator must be a promise for a type with a 'value' property.\"),Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator:s(2548,e.DiagnosticCategory.Error,\"Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator_2548\",\"Type '{0}' is not an array type or does not have a '[Symbol.iterator]()' method that returns an iterator.\"),Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator:s(2549,e.DiagnosticCategory.Error,\"Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns__2549\",\"Type '{0}' is not an array type or a string type or does not have a '[Symbol.iterator]()' method that returns an iterator.\"),Property_0_does_not_exist_on_type_1_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2_or_later:s(2550,e.DiagnosticCategory.Error,\"Property_0_does_not_exist_on_type_1_Do_you_need_to_change_your_target_library_Try_changing_the_lib_c_2550\",\"Property '{0}' does not exist on type '{1}'. Do you need to change your target library? Try changing the 'lib' compiler option to '{2}' or later.\"),Property_0_does_not_exist_on_type_1_Did_you_mean_2:s(2551,e.DiagnosticCategory.Error,\"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551\",\"Property '{0}' does not exist on type '{1}'. Did you mean '{2}'?\"),Cannot_find_name_0_Did_you_mean_1:s(2552,e.DiagnosticCategory.Error,\"Cannot_find_name_0_Did_you_mean_1_2552\",\"Cannot find name '{0}'. Did you mean '{1}'?\"),Computed_values_are_not_permitted_in_an_enum_with_string_valued_members:s(2553,e.DiagnosticCategory.Error,\"Computed_values_are_not_permitted_in_an_enum_with_string_valued_members_2553\",\"Computed values are not permitted in an enum with string valued members.\"),Expected_0_arguments_but_got_1:s(2554,e.DiagnosticCategory.Error,\"Expected_0_arguments_but_got_1_2554\",\"Expected {0} arguments, but got {1}.\"),Expected_at_least_0_arguments_but_got_1:s(2555,e.DiagnosticCategory.Error,\"Expected_at_least_0_arguments_but_got_1_2555\",\"Expected at least {0} arguments, but got {1}.\"),A_spread_argument_must_either_have_a_tuple_type_or_be_passed_to_a_rest_parameter:s(2556,e.DiagnosticCategory.Error,\"A_spread_argument_must_either_have_a_tuple_type_or_be_passed_to_a_rest_parameter_2556\",\"A spread argument must either have a tuple type or be passed to a rest parameter.\"),Expected_0_type_arguments_but_got_1:s(2558,e.DiagnosticCategory.Error,\"Expected_0_type_arguments_but_got_1_2558\",\"Expected {0} type arguments, but got {1}.\"),Type_0_has_no_properties_in_common_with_type_1:s(2559,e.DiagnosticCategory.Error,\"Type_0_has_no_properties_in_common_with_type_1_2559\",\"Type '{0}' has no properties in common with type '{1}'.\"),Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it:s(2560,e.DiagnosticCategory.Error,\"Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it_2560\",\"Value of type '{0}' has no properties in common with type '{1}'. Did you mean to call it?\"),Object_literal_may_only_specify_known_properties_but_0_does_not_exist_in_type_1_Did_you_mean_to_write_2:s(2561,e.DiagnosticCategory.Error,\"Object_literal_may_only_specify_known_properties_but_0_does_not_exist_in_type_1_Did_you_mean_to_writ_2561\",\"Object literal may only specify known properties, but '{0}' does not exist in type '{1}'. Did you mean to write '{2}'?\"),Base_class_expressions_cannot_reference_class_type_parameters:s(2562,e.DiagnosticCategory.Error,\"Base_class_expressions_cannot_reference_class_type_parameters_2562\",\"Base class expressions cannot reference class type parameters.\"),The_containing_function_or_module_body_is_too_large_for_control_flow_analysis:s(2563,e.DiagnosticCategory.Error,\"The_containing_function_or_module_body_is_too_large_for_control_flow_analysis_2563\",\"The containing function or module body is too large for control flow analysis.\"),Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor:s(2564,e.DiagnosticCategory.Error,\"Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor_2564\",\"Property '{0}' has no initializer and is not definitely assigned in the constructor.\"),Property_0_is_used_before_being_assigned:s(2565,e.DiagnosticCategory.Error,\"Property_0_is_used_before_being_assigned_2565\",\"Property '{0}' is used before being assigned.\"),A_rest_element_cannot_have_a_property_name:s(2566,e.DiagnosticCategory.Error,\"A_rest_element_cannot_have_a_property_name_2566\",\"A rest element cannot have a property name.\"),Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations:s(2567,e.DiagnosticCategory.Error,\"Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations_2567\",\"Enum declarations can only merge with namespace or other enum declarations.\"),Type_0_is_not_an_array_type_or_a_string_type_Use_compiler_option_downlevelIteration_to_allow_iterating_of_iterators:s(2569,e.DiagnosticCategory.Error,\"Type_0_is_not_an_array_type_or_a_string_type_Use_compiler_option_downlevelIteration_to_allow_iterati_2569\",\"Type '{0}' is not an array type or a string type. Use compiler option '--downlevelIteration' to allow iterating of iterators.\"),Object_is_of_type_unknown:s(2571,e.DiagnosticCategory.Error,\"Object_is_of_type_unknown_2571\",\"Object is of type 'unknown'.\"),Rest_signatures_are_incompatible:s(2572,e.DiagnosticCategory.Error,\"Rest_signatures_are_incompatible_2572\",\"Rest signatures are incompatible.\"),Property_0_is_incompatible_with_rest_element_type:s(2573,e.DiagnosticCategory.Error,\"Property_0_is_incompatible_with_rest_element_type_2573\",\"Property '{0}' is incompatible with rest element type.\"),A_rest_element_type_must_be_an_array_type:s(2574,e.DiagnosticCategory.Error,\"A_rest_element_type_must_be_an_array_type_2574\",\"A rest element type must be an array type.\"),No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments:s(2575,e.DiagnosticCategory.Error,\"No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments_2575\",\"No overload expects {0} arguments, but overloads do exist that expect either {1} or {2} arguments.\"),Property_0_does_not_exist_on_type_1_Did_you_mean_to_access_the_static_member_2_instead:s(2576,e.DiagnosticCategory.Error,\"Property_0_does_not_exist_on_type_1_Did_you_mean_to_access_the_static_member_2_instead_2576\",\"Property '{0}' does not exist on type '{1}'. Did you mean to access the static member '{2}' instead?\"),Return_type_annotation_circularly_references_itself:s(2577,e.DiagnosticCategory.Error,\"Return_type_annotation_circularly_references_itself_2577\",\"Return type annotation circularly references itself.\"),Unused_ts_expect_error_directive:s(2578,e.DiagnosticCategory.Error,\"Unused_ts_expect_error_directive_2578\",\"Unused '@ts-expect-error' directive.\"),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashnode:s(2580,e.DiagnosticCategory.Error,\"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashno_2580\",\"Cannot find name '{0}'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node`.\"),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slashjquery:s(2581,e.DiagnosticCategory.Error,\"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slash_2581\",\"Cannot find name '{0}'. Do you need to install type definitions for jQuery? Try `npm i --save-dev @types/jquery`.\"),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_types_Slashjest_or_npm_i_save_dev_types_Slashmocha:s(2582,e.DiagnosticCategory.Error,\"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_type_2582\",\"Cannot find name '{0}'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.\"),Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_1_or_later:s(2583,e.DiagnosticCategory.Error,\"Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2583\",\"Cannot find name '{0}'. Do you need to change your target library? Try changing the 'lib' compiler option to '{1}' or later.\"),Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_include_dom:s(2584,e.DiagnosticCategory.Error,\"Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2584\",\"Cannot find name '{0}'. Do you need to change your target library? Try changing the 'lib' compiler option to include 'dom'.\"),_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_es2015_or_later:s(2585,e.DiagnosticCategory.Error,\"_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_2585\",\"'{0}' only refers to a type, but is being used as a value here. Do you need to change your target library? Try changing the 'lib' compiler option to es2015 or later.\"),Enum_type_0_circularly_references_itself:s(2586,e.DiagnosticCategory.Error,\"Enum_type_0_circularly_references_itself_2586\",\"Enum type '{0}' circularly references itself.\"),JSDoc_type_0_circularly_references_itself:s(2587,e.DiagnosticCategory.Error,\"JSDoc_type_0_circularly_references_itself_2587\",\"JSDoc type '{0}' circularly references itself.\"),Cannot_assign_to_0_because_it_is_a_constant:s(2588,e.DiagnosticCategory.Error,\"Cannot_assign_to_0_because_it_is_a_constant_2588\",\"Cannot assign to '{0}' because it is a constant.\"),Type_instantiation_is_excessively_deep_and_possibly_infinite:s(2589,e.DiagnosticCategory.Error,\"Type_instantiation_is_excessively_deep_and_possibly_infinite_2589\",\"Type instantiation is excessively deep and possibly infinite.\"),Expression_produces_a_union_type_that_is_too_complex_to_represent:s(2590,e.DiagnosticCategory.Error,\"Expression_produces_a_union_type_that_is_too_complex_to_represent_2590\",\"Expression produces a union type that is too complex to represent.\"),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashnode_and_then_add_node_to_the_types_field_in_your_tsconfig:s(2591,e.DiagnosticCategory.Error,\"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashno_2591\",\"Cannot find name '{0}'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig.\"),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slashjquery_and_then_add_jquery_to_the_types_field_in_your_tsconfig:s(2592,e.DiagnosticCategory.Error,\"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slash_2592\",\"Cannot find name '{0}'. Do you need to install type definitions for jQuery? Try `npm i --save-dev @types/jquery` and then add 'jquery' to the types field in your tsconfig.\"),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_types_Slashjest_or_npm_i_save_dev_types_Slashmocha_and_then_add_jest_or_mocha_to_the_types_field_in_your_tsconfig:s(2593,e.DiagnosticCategory.Error,\"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_type_2593\",\"Cannot find name '{0}'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha` and then add 'jest' or 'mocha' to the types field in your tsconfig.\"),This_module_is_declared_with_using_export_and_can_only_be_used_with_a_default_import_when_using_the_0_flag:s(2594,e.DiagnosticCategory.Error,\"This_module_is_declared_with_using_export_and_can_only_be_used_with_a_default_import_when_using_the__2594\",\"This module is declared with using 'export =', and can only be used with a default import when using the '{0}' flag.\"),_0_can_only_be_imported_by_using_a_default_import:s(2595,e.DiagnosticCategory.Error,\"_0_can_only_be_imported_by_using_a_default_import_2595\",\"'{0}' can only be imported by using a default import.\"),_0_can_only_be_imported_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import:s(2596,e.DiagnosticCategory.Error,\"_0_can_only_be_imported_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import_2596\",\"'{0}' can only be imported by turning on the 'esModuleInterop' flag and using a default import.\"),_0_can_only_be_imported_by_using_a_require_call_or_by_using_a_default_import:s(2597,e.DiagnosticCategory.Error,\"_0_can_only_be_imported_by_using_a_require_call_or_by_using_a_default_import_2597\",\"'{0}' can only be imported by using a 'require' call or by using a default import.\"),_0_can_only_be_imported_by_using_a_require_call_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import:s(2598,e.DiagnosticCategory.Error,\"_0_can_only_be_imported_by_using_a_require_call_or_by_turning_on_the_esModuleInterop_flag_and_using__2598\",\"'{0}' can only be imported by using a 'require' call or by turning on the 'esModuleInterop' flag and using a default import.\"),JSX_element_attributes_type_0_may_not_be_a_union_type:s(2600,e.DiagnosticCategory.Error,\"JSX_element_attributes_type_0_may_not_be_a_union_type_2600\",\"JSX element attributes type '{0}' may not be a union type.\"),The_return_type_of_a_JSX_element_constructor_must_return_an_object_type:s(2601,e.DiagnosticCategory.Error,\"The_return_type_of_a_JSX_element_constructor_must_return_an_object_type_2601\",\"The return type of a JSX element constructor must return an object type.\"),JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist:s(2602,e.DiagnosticCategory.Error,\"JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist_2602\",\"JSX element implicitly has type 'any' because the global type 'JSX.Element' does not exist.\"),Property_0_in_type_1_is_not_assignable_to_type_2:s(2603,e.DiagnosticCategory.Error,\"Property_0_in_type_1_is_not_assignable_to_type_2_2603\",\"Property '{0}' in type '{1}' is not assignable to type '{2}'.\"),JSX_element_type_0_does_not_have_any_construct_or_call_signatures:s(2604,e.DiagnosticCategory.Error,\"JSX_element_type_0_does_not_have_any_construct_or_call_signatures_2604\",\"JSX element type '{0}' does not have any construct or call signatures.\"),JSX_element_type_0_is_not_a_constructor_function_for_JSX_elements:s(2605,e.DiagnosticCategory.Error,\"JSX_element_type_0_is_not_a_constructor_function_for_JSX_elements_2605\",\"JSX element type '{0}' is not a constructor function for JSX elements.\"),Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property:s(2606,e.DiagnosticCategory.Error,\"Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property_2606\",\"Property '{0}' of JSX spread attribute is not assignable to target property.\"),JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property:s(2607,e.DiagnosticCategory.Error,\"JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property_2607\",\"JSX element class does not support attributes because it does not have a '{0}' property.\"),The_global_type_JSX_0_may_not_have_more_than_one_property:s(2608,e.DiagnosticCategory.Error,\"The_global_type_JSX_0_may_not_have_more_than_one_property_2608\",\"The global type 'JSX.{0}' may not have more than one property.\"),JSX_spread_child_must_be_an_array_type:s(2609,e.DiagnosticCategory.Error,\"JSX_spread_child_must_be_an_array_type_2609\",\"JSX spread child must be an array type.\"),_0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property:s(2610,e.DiagnosticCategory.Error,\"_0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property_2610\",\"'{0}' is defined as an accessor in class '{1}', but is overridden here in '{2}' as an instance property.\"),_0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor:s(2611,e.DiagnosticCategory.Error,\"_0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor_2611\",\"'{0}' is defined as a property in class '{1}', but is overridden here in '{2}' as an accessor.\"),Property_0_will_overwrite_the_base_property_in_1_If_this_is_intentional_add_an_initializer_Otherwise_add_a_declare_modifier_or_remove_the_redundant_declaration:s(2612,e.DiagnosticCategory.Error,\"Property_0_will_overwrite_the_base_property_in_1_If_this_is_intentional_add_an_initializer_Otherwise_2612\",\"Property '{0}' will overwrite the base property in '{1}'. If this is intentional, add an initializer. Otherwise, add a 'declare' modifier or remove the redundant declaration.\"),Module_0_has_no_default_export_Did_you_mean_to_use_import_1_from_0_instead:s(2613,e.DiagnosticCategory.Error,\"Module_0_has_no_default_export_Did_you_mean_to_use_import_1_from_0_instead_2613\",\"Module '{0}' has no default export. Did you mean to use 'import { {1} } from {0}' instead?\"),Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead:s(2614,e.DiagnosticCategory.Error,\"Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead_2614\",\"Module '{0}' has no exported member '{1}'. Did you mean to use 'import {1} from {0}' instead?\"),Type_of_property_0_circularly_references_itself_in_mapped_type_1:s(2615,e.DiagnosticCategory.Error,\"Type_of_property_0_circularly_references_itself_in_mapped_type_1_2615\",\"Type of property '{0}' circularly references itself in mapped type '{1}'.\"),_0_can_only_be_imported_by_using_import_1_require_2_or_a_default_import:s(2616,e.DiagnosticCategory.Error,\"_0_can_only_be_imported_by_using_import_1_require_2_or_a_default_import_2616\",\"'{0}' can only be imported by using 'import {1} = require({2})' or a default import.\"),_0_can_only_be_imported_by_using_import_1_require_2_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import:s(2617,e.DiagnosticCategory.Error,\"_0_can_only_be_imported_by_using_import_1_require_2_or_by_turning_on_the_esModuleInterop_flag_and_us_2617\",\"'{0}' can only be imported by using 'import {1} = require({2})' or by turning on the 'esModuleInterop' flag and using a default import.\"),Source_has_0_element_s_but_target_requires_1:s(2618,e.DiagnosticCategory.Error,\"Source_has_0_element_s_but_target_requires_1_2618\",\"Source has {0} element(s) but target requires {1}.\"),Source_has_0_element_s_but_target_allows_only_1:s(2619,e.DiagnosticCategory.Error,\"Source_has_0_element_s_but_target_allows_only_1_2619\",\"Source has {0} element(s) but target allows only {1}.\"),Target_requires_0_element_s_but_source_may_have_fewer:s(2620,e.DiagnosticCategory.Error,\"Target_requires_0_element_s_but_source_may_have_fewer_2620\",\"Target requires {0} element(s) but source may have fewer.\"),Target_allows_only_0_element_s_but_source_may_have_more:s(2621,e.DiagnosticCategory.Error,\"Target_allows_only_0_element_s_but_source_may_have_more_2621\",\"Target allows only {0} element(s) but source may have more.\"),Source_provides_no_match_for_required_element_at_position_0_in_target:s(2623,e.DiagnosticCategory.Error,\"Source_provides_no_match_for_required_element_at_position_0_in_target_2623\",\"Source provides no match for required element at position {0} in target.\"),Source_provides_no_match_for_variadic_element_at_position_0_in_target:s(2624,e.DiagnosticCategory.Error,\"Source_provides_no_match_for_variadic_element_at_position_0_in_target_2624\",\"Source provides no match for variadic element at position {0} in target.\"),Variadic_element_at_position_0_in_source_does_not_match_element_at_position_1_in_target:s(2625,e.DiagnosticCategory.Error,\"Variadic_element_at_position_0_in_source_does_not_match_element_at_position_1_in_target_2625\",\"Variadic element at position {0} in source does not match element at position {1} in target.\"),Type_at_position_0_in_source_is_not_compatible_with_type_at_position_1_in_target:s(2626,e.DiagnosticCategory.Error,\"Type_at_position_0_in_source_is_not_compatible_with_type_at_position_1_in_target_2626\",\"Type at position {0} in source is not compatible with type at position {1} in target.\"),Type_at_positions_0_through_1_in_source_is_not_compatible_with_type_at_position_2_in_target:s(2627,e.DiagnosticCategory.Error,\"Type_at_positions_0_through_1_in_source_is_not_compatible_with_type_at_position_2_in_target_2627\",\"Type at positions {0} through {1} in source is not compatible with type at position {2} in target.\"),Cannot_assign_to_0_because_it_is_an_enum:s(2628,e.DiagnosticCategory.Error,\"Cannot_assign_to_0_because_it_is_an_enum_2628\",\"Cannot assign to '{0}' because it is an enum.\"),Cannot_assign_to_0_because_it_is_a_class:s(2629,e.DiagnosticCategory.Error,\"Cannot_assign_to_0_because_it_is_a_class_2629\",\"Cannot assign to '{0}' because it is a class.\"),Cannot_assign_to_0_because_it_is_a_function:s(2630,e.DiagnosticCategory.Error,\"Cannot_assign_to_0_because_it_is_a_function_2630\",\"Cannot assign to '{0}' because it is a function.\"),Cannot_assign_to_0_because_it_is_a_namespace:s(2631,e.DiagnosticCategory.Error,\"Cannot_assign_to_0_because_it_is_a_namespace_2631\",\"Cannot assign to '{0}' because it is a namespace.\"),Cannot_assign_to_0_because_it_is_an_import:s(2632,e.DiagnosticCategory.Error,\"Cannot_assign_to_0_because_it_is_an_import_2632\",\"Cannot assign to '{0}' because it is an import.\"),JSX_property_access_expressions_cannot_include_JSX_namespace_names:s(2633,e.DiagnosticCategory.Error,\"JSX_property_access_expressions_cannot_include_JSX_namespace_names_2633\",\"JSX property access expressions cannot include JSX namespace names\"),Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity:s(2649,e.DiagnosticCategory.Error,\"Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity_2649\",\"Cannot augment module '{0}' with value exports because it resolves to a non-module entity.\"),A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums:s(2651,e.DiagnosticCategory.Error,\"A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_memb_2651\",\"A member initializer in a enum declaration cannot reference members declared after it, including members defined in other enums.\"),Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_default_0_declaration_instead:s(2652,e.DiagnosticCategory.Error,\"Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_d_2652\",\"Merged declaration '{0}' cannot include a default export declaration. Consider adding a separate 'export default {0}' declaration instead.\"),Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1:s(2653,e.DiagnosticCategory.Error,\"Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1_2653\",\"Non-abstract class expression does not implement inherited abstract member '{0}' from class '{1}'.\"),Exported_external_package_typings_file_cannot_contain_tripleslash_references_Please_contact_the_package_author_to_update_the_package_definition:s(2654,e.DiagnosticCategory.Error,\"Exported_external_package_typings_file_cannot_contain_tripleslash_references_Please_contact_the_pack_2654\",\"Exported external package typings file cannot contain tripleslash references. Please contact the package author to update the package definition.\"),Exported_external_package_typings_file_0_is_not_a_module_Please_contact_the_package_author_to_update_the_package_definition:s(2656,e.DiagnosticCategory.Error,\"Exported_external_package_typings_file_0_is_not_a_module_Please_contact_the_package_author_to_update_2656\",\"Exported external package typings file '{0}' is not a module. Please contact the package author to update the package definition.\"),JSX_expressions_must_have_one_parent_element:s(2657,e.DiagnosticCategory.Error,\"JSX_expressions_must_have_one_parent_element_2657\",\"JSX expressions must have one parent element.\"),Type_0_provides_no_match_for_the_signature_1:s(2658,e.DiagnosticCategory.Error,\"Type_0_provides_no_match_for_the_signature_1_2658\",\"Type '{0}' provides no match for the signature '{1}'.\"),super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher:s(2659,e.DiagnosticCategory.Error,\"super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_highe_2659\",\"'super' is only allowed in members of object literal expressions when option 'target' is 'ES2015' or higher.\"),super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions:s(2660,e.DiagnosticCategory.Error,\"super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions_2660\",\"'super' can only be referenced in members of derived classes or object literal expressions.\"),Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module:s(2661,e.DiagnosticCategory.Error,\"Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module_2661\",\"Cannot export '{0}'. Only local declarations can be exported from a module.\"),Cannot_find_name_0_Did_you_mean_the_static_member_1_0:s(2662,e.DiagnosticCategory.Error,\"Cannot_find_name_0_Did_you_mean_the_static_member_1_0_2662\",\"Cannot find name '{0}'. Did you mean the static member '{1}.{0}'?\"),Cannot_find_name_0_Did_you_mean_the_instance_member_this_0:s(2663,e.DiagnosticCategory.Error,\"Cannot_find_name_0_Did_you_mean_the_instance_member_this_0_2663\",\"Cannot find name '{0}'. Did you mean the instance member 'this.{0}'?\"),Invalid_module_name_in_augmentation_module_0_cannot_be_found:s(2664,e.DiagnosticCategory.Error,\"Invalid_module_name_in_augmentation_module_0_cannot_be_found_2664\",\"Invalid module name in augmentation, module '{0}' cannot be found.\"),Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augmented:s(2665,e.DiagnosticCategory.Error,\"Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augm_2665\",\"Invalid module name in augmentation. Module '{0}' resolves to an untyped module at '{1}', which cannot be augmented.\"),Exports_and_export_assignments_are_not_permitted_in_module_augmentations:s(2666,e.DiagnosticCategory.Error,\"Exports_and_export_assignments_are_not_permitted_in_module_augmentations_2666\",\"Exports and export assignments are not permitted in module augmentations.\"),Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_module:s(2667,e.DiagnosticCategory.Error,\"Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_mod_2667\",\"Imports are not permitted in module augmentations. Consider moving them to the enclosing external module.\"),export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always_visible:s(2668,e.DiagnosticCategory.Error,\"export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always__2668\",\"'export' modifier cannot be applied to ambient modules and module augmentations since they are always visible.\"),Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_declarations:s(2669,e.DiagnosticCategory.Error,\"Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_2669\",\"Augmentations for the global scope can only be directly nested in external modules or ambient module declarations.\"),Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambient_context:s(2670,e.DiagnosticCategory.Error,\"Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambien_2670\",\"Augmentations for the global scope should have 'declare' modifier unless they appear in already ambient context.\"),Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity:s(2671,e.DiagnosticCategory.Error,\"Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity_2671\",\"Cannot augment module '{0}' because it resolves to a non-module entity.\"),Cannot_assign_a_0_constructor_type_to_a_1_constructor_type:s(2672,e.DiagnosticCategory.Error,\"Cannot_assign_a_0_constructor_type_to_a_1_constructor_type_2672\",\"Cannot assign a '{0}' constructor type to a '{1}' constructor type.\"),Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration:s(2673,e.DiagnosticCategory.Error,\"Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration_2673\",\"Constructor of class '{0}' is private and only accessible within the class declaration.\"),Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration:s(2674,e.DiagnosticCategory.Error,\"Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration_2674\",\"Constructor of class '{0}' is protected and only accessible within the class declaration.\"),Cannot_extend_a_class_0_Class_constructor_is_marked_as_private:s(2675,e.DiagnosticCategory.Error,\"Cannot_extend_a_class_0_Class_constructor_is_marked_as_private_2675\",\"Cannot extend a class '{0}'. Class constructor is marked as private.\"),Accessors_must_both_be_abstract_or_non_abstract:s(2676,e.DiagnosticCategory.Error,\"Accessors_must_both_be_abstract_or_non_abstract_2676\",\"Accessors must both be abstract or non-abstract.\"),A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type:s(2677,e.DiagnosticCategory.Error,\"A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type_2677\",\"A type predicate's type must be assignable to its parameter's type.\"),Type_0_is_not_comparable_to_type_1:s(2678,e.DiagnosticCategory.Error,\"Type_0_is_not_comparable_to_type_1_2678\",\"Type '{0}' is not comparable to type '{1}'.\"),A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void:s(2679,e.DiagnosticCategory.Error,\"A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void_2679\",\"A function that is called with the 'new' keyword cannot have a 'this' type that is 'void'.\"),A_0_parameter_must_be_the_first_parameter:s(2680,e.DiagnosticCategory.Error,\"A_0_parameter_must_be_the_first_parameter_2680\",\"A '{0}' parameter must be the first parameter.\"),A_constructor_cannot_have_a_this_parameter:s(2681,e.DiagnosticCategory.Error,\"A_constructor_cannot_have_a_this_parameter_2681\",\"A constructor cannot have a 'this' parameter.\"),get_and_set_accessor_must_have_the_same_this_type:s(2682,e.DiagnosticCategory.Error,\"get_and_set_accessor_must_have_the_same_this_type_2682\",\"'get' and 'set' accessor must have the same 'this' type.\"),this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation:s(2683,e.DiagnosticCategory.Error,\"this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_2683\",\"'this' implicitly has type 'any' because it does not have a type annotation.\"),The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1:s(2684,e.DiagnosticCategory.Error,\"The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1_2684\",\"The 'this' context of type '{0}' is not assignable to method's 'this' of type '{1}'.\"),The_this_types_of_each_signature_are_incompatible:s(2685,e.DiagnosticCategory.Error,\"The_this_types_of_each_signature_are_incompatible_2685\",\"The 'this' types of each signature are incompatible.\"),_0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead:s(2686,e.DiagnosticCategory.Error,\"_0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead_2686\",\"'{0}' refers to a UMD global, but the current file is a module. Consider adding an import instead.\"),All_declarations_of_0_must_have_identical_modifiers:s(2687,e.DiagnosticCategory.Error,\"All_declarations_of_0_must_have_identical_modifiers_2687\",\"All declarations of '{0}' must have identical modifiers.\"),Cannot_find_type_definition_file_for_0:s(2688,e.DiagnosticCategory.Error,\"Cannot_find_type_definition_file_for_0_2688\",\"Cannot find type definition file for '{0}'.\"),Cannot_extend_an_interface_0_Did_you_mean_implements:s(2689,e.DiagnosticCategory.Error,\"Cannot_extend_an_interface_0_Did_you_mean_implements_2689\",\"Cannot extend an interface '{0}'. Did you mean 'implements'?\"),_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Did_you_mean_to_use_1_in_0:s(2690,e.DiagnosticCategory.Error,\"_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Did_you_mean_to_use_1_in_0_2690\",\"'{0}' only refers to a type, but is being used as a value here. Did you mean to use '{1} in {0}'?\"),An_import_path_cannot_end_with_a_0_extension_Consider_importing_1_instead:s(2691,e.DiagnosticCategory.Error,\"An_import_path_cannot_end_with_a_0_extension_Consider_importing_1_instead_2691\",\"An import path cannot end with a '{0}' extension. Consider importing '{1}' instead.\"),_0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible:s(2692,e.DiagnosticCategory.Error,\"_0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible_2692\",\"'{0}' is a primitive, but '{1}' is a wrapper object. Prefer using '{0}' when possible.\"),_0_only_refers_to_a_type_but_is_being_used_as_a_value_here:s(2693,e.DiagnosticCategory.Error,\"_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_2693\",\"'{0}' only refers to a type, but is being used as a value here.\"),Namespace_0_has_no_exported_member_1:s(2694,e.DiagnosticCategory.Error,\"Namespace_0_has_no_exported_member_1_2694\",\"Namespace '{0}' has no exported member '{1}'.\"),Left_side_of_comma_operator_is_unused_and_has_no_side_effects:s(2695,e.DiagnosticCategory.Error,\"Left_side_of_comma_operator_is_unused_and_has_no_side_effects_2695\",\"Left side of comma operator is unused and has no side effects.\",!0),The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead:s(2696,e.DiagnosticCategory.Error,\"The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead_2696\",\"The 'Object' type is assignable to very few other types. Did you mean to use the 'any' type instead?\"),An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option:s(2697,e.DiagnosticCategory.Error,\"An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_in_2697\",\"An async function or method must return a 'Promise'. Make sure you have a declaration for 'Promise' or include 'ES2015' in your '--lib' option.\"),Spread_types_may_only_be_created_from_object_types:s(2698,e.DiagnosticCategory.Error,\"Spread_types_may_only_be_created_from_object_types_2698\",\"Spread types may only be created from object types.\"),Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1:s(2699,e.DiagnosticCategory.Error,\"Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1_2699\",\"Static property '{0}' conflicts with built-in property 'Function.{0}' of constructor function '{1}'.\"),Rest_types_may_only_be_created_from_object_types:s(2700,e.DiagnosticCategory.Error,\"Rest_types_may_only_be_created_from_object_types_2700\",\"Rest types may only be created from object types.\"),The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access:s(2701,e.DiagnosticCategory.Error,\"The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access_2701\",\"The target of an object rest assignment must be a variable or a property access.\"),_0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here:s(2702,e.DiagnosticCategory.Error,\"_0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here_2702\",\"'{0}' only refers to a type, but is being used as a namespace here.\"),The_operand_of_a_delete_operator_must_be_a_property_reference:s(2703,e.DiagnosticCategory.Error,\"The_operand_of_a_delete_operator_must_be_a_property_reference_2703\",\"The operand of a 'delete' operator must be a property reference.\"),The_operand_of_a_delete_operator_cannot_be_a_read_only_property:s(2704,e.DiagnosticCategory.Error,\"The_operand_of_a_delete_operator_cannot_be_a_read_only_property_2704\",\"The operand of a 'delete' operator cannot be a read-only property.\"),An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option:s(2705,e.DiagnosticCategory.Error,\"An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_de_2705\",\"An async function or method in ES5/ES3 requires the 'Promise' constructor.  Make sure you have a declaration for the 'Promise' constructor or include 'ES2015' in your '--lib' option.\"),Required_type_parameters_may_not_follow_optional_type_parameters:s(2706,e.DiagnosticCategory.Error,\"Required_type_parameters_may_not_follow_optional_type_parameters_2706\",\"Required type parameters may not follow optional type parameters.\"),Generic_type_0_requires_between_1_and_2_type_arguments:s(2707,e.DiagnosticCategory.Error,\"Generic_type_0_requires_between_1_and_2_type_arguments_2707\",\"Generic type '{0}' requires between {1} and {2} type arguments.\"),Cannot_use_namespace_0_as_a_value:s(2708,e.DiagnosticCategory.Error,\"Cannot_use_namespace_0_as_a_value_2708\",\"Cannot use namespace '{0}' as a value.\"),Cannot_use_namespace_0_as_a_type:s(2709,e.DiagnosticCategory.Error,\"Cannot_use_namespace_0_as_a_type_2709\",\"Cannot use namespace '{0}' as a type.\"),_0_are_specified_twice_The_attribute_named_0_will_be_overwritten:s(2710,e.DiagnosticCategory.Error,\"_0_are_specified_twice_The_attribute_named_0_will_be_overwritten_2710\",\"'{0}' are specified twice. The attribute named '{0}' will be overwritten.\"),A_dynamic_import_call_returns_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option:s(2711,e.DiagnosticCategory.Error,\"A_dynamic_import_call_returns_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES20_2711\",\"A dynamic import call returns a 'Promise'. Make sure you have a declaration for 'Promise' or include 'ES2015' in your '--lib' option.\"),A_dynamic_import_call_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option:s(2712,e.DiagnosticCategory.Error,\"A_dynamic_import_call_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declarat_2712\",\"A dynamic import call in ES5/ES3 requires the 'Promise' constructor.  Make sure you have a declaration for the 'Promise' constructor or include 'ES2015' in your '--lib' option.\"),Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_property_1_in_0_with_0_1:s(2713,e.DiagnosticCategory.Error,\"Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_p_2713\",`Cannot access '{0}.{1}' because '{0}' is a type, but not a namespace. Did you mean to retrieve the type of the property '{1}' in '{0}' with '{0}[\"{1}\"]'?`),The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context:s(2714,e.DiagnosticCategory.Error,\"The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context_2714\",\"The expression of an export assignment must be an identifier or qualified name in an ambient context.\"),Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor:s(2715,e.DiagnosticCategory.Error,\"Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor_2715\",\"Abstract property '{0}' in class '{1}' cannot be accessed in the constructor.\"),Type_parameter_0_has_a_circular_default:s(2716,e.DiagnosticCategory.Error,\"Type_parameter_0_has_a_circular_default_2716\",\"Type parameter '{0}' has a circular default.\"),Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_type_2:s(2717,e.DiagnosticCategory.Error,\"Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_t_2717\",\"Subsequent property declarations must have the same type.  Property '{0}' must be of type '{1}', but here has type '{2}'.\"),Duplicate_property_0:s(2718,e.DiagnosticCategory.Error,\"Duplicate_property_0_2718\",\"Duplicate property '{0}'.\"),Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated:s(2719,e.DiagnosticCategory.Error,\"Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated_2719\",\"Type '{0}' is not assignable to type '{1}'. Two different types with this name exist, but they are unrelated.\"),Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclass:s(2720,e.DiagnosticCategory.Error,\"Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclas_2720\",\"Class '{0}' incorrectly implements class '{1}'. Did you mean to extend '{1}' and inherit its members as a subclass?\"),Cannot_invoke_an_object_which_is_possibly_null:s(2721,e.DiagnosticCategory.Error,\"Cannot_invoke_an_object_which_is_possibly_null_2721\",\"Cannot invoke an object which is possibly 'null'.\"),Cannot_invoke_an_object_which_is_possibly_undefined:s(2722,e.DiagnosticCategory.Error,\"Cannot_invoke_an_object_which_is_possibly_undefined_2722\",\"Cannot invoke an object which is possibly 'undefined'.\"),Cannot_invoke_an_object_which_is_possibly_null_or_undefined:s(2723,e.DiagnosticCategory.Error,\"Cannot_invoke_an_object_which_is_possibly_null_or_undefined_2723\",\"Cannot invoke an object which is possibly 'null' or 'undefined'.\"),_0_has_no_exported_member_named_1_Did_you_mean_2:s(2724,e.DiagnosticCategory.Error,\"_0_has_no_exported_member_named_1_Did_you_mean_2_2724\",\"'{0}' has no exported member named '{1}'. Did you mean '{2}'?\"),Class_name_cannot_be_Object_when_targeting_ES5_with_module_0:s(2725,e.DiagnosticCategory.Error,\"Class_name_cannot_be_Object_when_targeting_ES5_with_module_0_2725\",\"Class name cannot be 'Object' when targeting ES5 with module {0}.\"),Cannot_find_lib_definition_for_0:s(2726,e.DiagnosticCategory.Error,\"Cannot_find_lib_definition_for_0_2726\",\"Cannot find lib definition for '{0}'.\"),Cannot_find_lib_definition_for_0_Did_you_mean_1:s(2727,e.DiagnosticCategory.Error,\"Cannot_find_lib_definition_for_0_Did_you_mean_1_2727\",\"Cannot find lib definition for '{0}'. Did you mean '{1}'?\"),_0_is_declared_here:s(2728,e.DiagnosticCategory.Message,\"_0_is_declared_here_2728\",\"'{0}' is declared here.\"),Property_0_is_used_before_its_initialization:s(2729,e.DiagnosticCategory.Error,\"Property_0_is_used_before_its_initialization_2729\",\"Property '{0}' is used before its initialization.\"),An_arrow_function_cannot_have_a_this_parameter:s(2730,e.DiagnosticCategory.Error,\"An_arrow_function_cannot_have_a_this_parameter_2730\",\"An arrow function cannot have a 'this' parameter.\"),Implicit_conversion_of_a_symbol_to_a_string_will_fail_at_runtime_Consider_wrapping_this_expression_in_String:s(2731,e.DiagnosticCategory.Error,\"Implicit_conversion_of_a_symbol_to_a_string_will_fail_at_runtime_Consider_wrapping_this_expression_i_2731\",\"Implicit conversion of a 'symbol' to a 'string' will fail at runtime. Consider wrapping this expression in 'String(...)'.\"),Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension:s(2732,e.DiagnosticCategory.Error,\"Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension_2732\",\"Cannot find module '{0}'. Consider using '--resolveJsonModule' to import module with '.json' extension.\"),Property_0_was_also_declared_here:s(2733,e.DiagnosticCategory.Error,\"Property_0_was_also_declared_here_2733\",\"Property '{0}' was also declared here.\"),Are_you_missing_a_semicolon:s(2734,e.DiagnosticCategory.Error,\"Are_you_missing_a_semicolon_2734\",\"Are you missing a semicolon?\"),Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1:s(2735,e.DiagnosticCategory.Error,\"Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1_2735\",\"Did you mean for '{0}' to be constrained to type 'new (...args: any[]) => {1}'?\"),Operator_0_cannot_be_applied_to_type_1:s(2736,e.DiagnosticCategory.Error,\"Operator_0_cannot_be_applied_to_type_1_2736\",\"Operator '{0}' cannot be applied to type '{1}'.\"),BigInt_literals_are_not_available_when_targeting_lower_than_ES2020:s(2737,e.DiagnosticCategory.Error,\"BigInt_literals_are_not_available_when_targeting_lower_than_ES2020_2737\",\"BigInt literals are not available when targeting lower than ES2020.\"),An_outer_value_of_this_is_shadowed_by_this_container:s(2738,e.DiagnosticCategory.Message,\"An_outer_value_of_this_is_shadowed_by_this_container_2738\",\"An outer value of 'this' is shadowed by this container.\"),Type_0_is_missing_the_following_properties_from_type_1_Colon_2:s(2739,e.DiagnosticCategory.Error,\"Type_0_is_missing_the_following_properties_from_type_1_Colon_2_2739\",\"Type '{0}' is missing the following properties from type '{1}': {2}\"),Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more:s(2740,e.DiagnosticCategory.Error,\"Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more_2740\",\"Type '{0}' is missing the following properties from type '{1}': {2}, and {3} more.\"),Property_0_is_missing_in_type_1_but_required_in_type_2:s(2741,e.DiagnosticCategory.Error,\"Property_0_is_missing_in_type_1_but_required_in_type_2_2741\",\"Property '{0}' is missing in type '{1}' but required in type '{2}'.\"),The_inferred_type_of_0_cannot_be_named_without_a_reference_to_1_This_is_likely_not_portable_A_type_annotation_is_necessary:s(2742,e.DiagnosticCategory.Error,\"The_inferred_type_of_0_cannot_be_named_without_a_reference_to_1_This_is_likely_not_portable_A_type_a_2742\",\"The inferred type of '{0}' cannot be named without a reference to '{1}'. This is likely not portable. A type annotation is necessary.\"),No_overload_expects_0_type_arguments_but_overloads_do_exist_that_expect_either_1_or_2_type_arguments:s(2743,e.DiagnosticCategory.Error,\"No_overload_expects_0_type_arguments_but_overloads_do_exist_that_expect_either_1_or_2_type_arguments_2743\",\"No overload expects {0} type arguments, but overloads do exist that expect either {1} or {2} type arguments.\"),Type_parameter_defaults_can_only_reference_previously_declared_type_parameters:s(2744,e.DiagnosticCategory.Error,\"Type_parameter_defaults_can_only_reference_previously_declared_type_parameters_2744\",\"Type parameter defaults can only reference previously declared type parameters.\"),This_JSX_tag_s_0_prop_expects_type_1_which_requires_multiple_children_but_only_a_single_child_was_provided:s(2745,e.DiagnosticCategory.Error,\"This_JSX_tag_s_0_prop_expects_type_1_which_requires_multiple_children_but_only_a_single_child_was_pr_2745\",\"This JSX tag's '{0}' prop expects type '{1}' which requires multiple children, but only a single child was provided.\"),This_JSX_tag_s_0_prop_expects_a_single_child_of_type_1_but_multiple_children_were_provided:s(2746,e.DiagnosticCategory.Error,\"This_JSX_tag_s_0_prop_expects_a_single_child_of_type_1_but_multiple_children_were_provided_2746\",\"This JSX tag's '{0}' prop expects a single child of type '{1}', but multiple children were provided.\"),_0_components_don_t_accept_text_as_child_elements_Text_in_JSX_has_the_type_string_but_the_expected_type_of_1_is_2:s(2747,e.DiagnosticCategory.Error,\"_0_components_don_t_accept_text_as_child_elements_Text_in_JSX_has_the_type_string_but_the_expected_t_2747\",\"'{0}' components don't accept text as child elements. Text in JSX has the type 'string', but the expected type of '{1}' is '{2}'.\"),Cannot_access_ambient_const_enums_when_the_isolatedModules_flag_is_provided:s(2748,e.DiagnosticCategory.Error,\"Cannot_access_ambient_const_enums_when_the_isolatedModules_flag_is_provided_2748\",\"Cannot access ambient const enums when the '--isolatedModules' flag is provided.\"),_0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0:s(2749,e.DiagnosticCategory.Error,\"_0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0_2749\",\"'{0}' refers to a value, but is being used as a type here. Did you mean 'typeof {0}'?\"),The_implementation_signature_is_declared_here:s(2750,e.DiagnosticCategory.Error,\"The_implementation_signature_is_declared_here_2750\",\"The implementation signature is declared here.\"),Circularity_originates_in_type_at_this_location:s(2751,e.DiagnosticCategory.Error,\"Circularity_originates_in_type_at_this_location_2751\",\"Circularity originates in type at this location.\"),The_first_export_default_is_here:s(2752,e.DiagnosticCategory.Error,\"The_first_export_default_is_here_2752\",\"The first export default is here.\"),Another_export_default_is_here:s(2753,e.DiagnosticCategory.Error,\"Another_export_default_is_here_2753\",\"Another export default is here.\"),super_may_not_use_type_arguments:s(2754,e.DiagnosticCategory.Error,\"super_may_not_use_type_arguments_2754\",\"'super' may not use type arguments.\"),No_constituent_of_type_0_is_callable:s(2755,e.DiagnosticCategory.Error,\"No_constituent_of_type_0_is_callable_2755\",\"No constituent of type '{0}' is callable.\"),Not_all_constituents_of_type_0_are_callable:s(2756,e.DiagnosticCategory.Error,\"Not_all_constituents_of_type_0_are_callable_2756\",\"Not all constituents of type '{0}' are callable.\"),Type_0_has_no_call_signatures:s(2757,e.DiagnosticCategory.Error,\"Type_0_has_no_call_signatures_2757\",\"Type '{0}' has no call signatures.\"),Each_member_of_the_union_type_0_has_signatures_but_none_of_those_signatures_are_compatible_with_each_other:s(2758,e.DiagnosticCategory.Error,\"Each_member_of_the_union_type_0_has_signatures_but_none_of_those_signatures_are_compatible_with_each_2758\",\"Each member of the union type '{0}' has signatures, but none of those signatures are compatible with each other.\"),No_constituent_of_type_0_is_constructable:s(2759,e.DiagnosticCategory.Error,\"No_constituent_of_type_0_is_constructable_2759\",\"No constituent of type '{0}' is constructable.\"),Not_all_constituents_of_type_0_are_constructable:s(2760,e.DiagnosticCategory.Error,\"Not_all_constituents_of_type_0_are_constructable_2760\",\"Not all constituents of type '{0}' are constructable.\"),Type_0_has_no_construct_signatures:s(2761,e.DiagnosticCategory.Error,\"Type_0_has_no_construct_signatures_2761\",\"Type '{0}' has no construct signatures.\"),Each_member_of_the_union_type_0_has_construct_signatures_but_none_of_those_signatures_are_compatible_with_each_other:s(2762,e.DiagnosticCategory.Error,\"Each_member_of_the_union_type_0_has_construct_signatures_but_none_of_those_signatures_are_compatible_2762\",\"Each member of the union type '{0}' has construct signatures, but none of those signatures are compatible with each other.\"),Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_for_of_will_always_send_0:s(2763,e.DiagnosticCategory.Error,\"Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_for_of_will_always_s_2763\",\"Cannot iterate value because the 'next' method of its iterator expects type '{1}', but for-of will always send '{0}'.\"),Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_spread_will_always_send_0:s(2764,e.DiagnosticCategory.Error,\"Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_spread_will_al_2764\",\"Cannot iterate value because the 'next' method of its iterator expects type '{1}', but array spread will always send '{0}'.\"),Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_destructuring_will_always_send_0:s(2765,e.DiagnosticCategory.Error,\"Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_destructuring__2765\",\"Cannot iterate value because the 'next' method of its iterator expects type '{1}', but array destructuring will always send '{0}'.\"),Cannot_delegate_iteration_to_value_because_the_next_method_of_its_iterator_expects_type_1_but_the_containing_generator_will_always_send_0:s(2766,e.DiagnosticCategory.Error,\"Cannot_delegate_iteration_to_value_because_the_next_method_of_its_iterator_expects_type_1_but_the_co_2766\",\"Cannot delegate iteration to value because the 'next' method of its iterator expects type '{1}', but the containing generator will always send '{0}'.\"),The_0_property_of_an_iterator_must_be_a_method:s(2767,e.DiagnosticCategory.Error,\"The_0_property_of_an_iterator_must_be_a_method_2767\",\"The '{0}' property of an iterator must be a method.\"),The_0_property_of_an_async_iterator_must_be_a_method:s(2768,e.DiagnosticCategory.Error,\"The_0_property_of_an_async_iterator_must_be_a_method_2768\",\"The '{0}' property of an async iterator must be a method.\"),No_overload_matches_this_call:s(2769,e.DiagnosticCategory.Error,\"No_overload_matches_this_call_2769\",\"No overload matches this call.\"),The_last_overload_gave_the_following_error:s(2770,e.DiagnosticCategory.Error,\"The_last_overload_gave_the_following_error_2770\",\"The last overload gave the following error.\"),The_last_overload_is_declared_here:s(2771,e.DiagnosticCategory.Error,\"The_last_overload_is_declared_here_2771\",\"The last overload is declared here.\"),Overload_0_of_1_2_gave_the_following_error:s(2772,e.DiagnosticCategory.Error,\"Overload_0_of_1_2_gave_the_following_error_2772\",\"Overload {0} of {1}, '{2}', gave the following error.\"),Did_you_forget_to_use_await:s(2773,e.DiagnosticCategory.Error,\"Did_you_forget_to_use_await_2773\",\"Did you forget to use 'await'?\"),This_condition_will_always_return_true_since_this_function_is_always_defined_Did_you_mean_to_call_it_instead:s(2774,e.DiagnosticCategory.Error,\"This_condition_will_always_return_true_since_this_function_is_always_defined_Did_you_mean_to_call_it_2774\",\"This condition will always return true since this function is always defined. Did you mean to call it instead?\"),Assertions_require_every_name_in_the_call_target_to_be_declared_with_an_explicit_type_annotation:s(2775,e.DiagnosticCategory.Error,\"Assertions_require_every_name_in_the_call_target_to_be_declared_with_an_explicit_type_annotation_2775\",\"Assertions require every name in the call target to be declared with an explicit type annotation.\"),Assertions_require_the_call_target_to_be_an_identifier_or_qualified_name:s(2776,e.DiagnosticCategory.Error,\"Assertions_require_the_call_target_to_be_an_identifier_or_qualified_name_2776\",\"Assertions require the call target to be an identifier or qualified name.\"),The_operand_of_an_increment_or_decrement_operator_may_not_be_an_optional_property_access:s(2777,e.DiagnosticCategory.Error,\"The_operand_of_an_increment_or_decrement_operator_may_not_be_an_optional_property_access_2777\",\"The operand of an increment or decrement operator may not be an optional property access.\"),The_target_of_an_object_rest_assignment_may_not_be_an_optional_property_access:s(2778,e.DiagnosticCategory.Error,\"The_target_of_an_object_rest_assignment_may_not_be_an_optional_property_access_2778\",\"The target of an object rest assignment may not be an optional property access.\"),The_left_hand_side_of_an_assignment_expression_may_not_be_an_optional_property_access:s(2779,e.DiagnosticCategory.Error,\"The_left_hand_side_of_an_assignment_expression_may_not_be_an_optional_property_access_2779\",\"The left-hand side of an assignment expression may not be an optional property access.\"),The_left_hand_side_of_a_for_in_statement_may_not_be_an_optional_property_access:s(2780,e.DiagnosticCategory.Error,\"The_left_hand_side_of_a_for_in_statement_may_not_be_an_optional_property_access_2780\",\"The left-hand side of a 'for...in' statement may not be an optional property access.\"),The_left_hand_side_of_a_for_of_statement_may_not_be_an_optional_property_access:s(2781,e.DiagnosticCategory.Error,\"The_left_hand_side_of_a_for_of_statement_may_not_be_an_optional_property_access_2781\",\"The left-hand side of a 'for...of' statement may not be an optional property access.\"),_0_needs_an_explicit_type_annotation:s(2782,e.DiagnosticCategory.Message,\"_0_needs_an_explicit_type_annotation_2782\",\"'{0}' needs an explicit type annotation.\"),_0_is_specified_more_than_once_so_this_usage_will_be_overwritten:s(2783,e.DiagnosticCategory.Error,\"_0_is_specified_more_than_once_so_this_usage_will_be_overwritten_2783\",\"'{0}' is specified more than once, so this usage will be overwritten.\"),get_and_set_accessors_cannot_declare_this_parameters:s(2784,e.DiagnosticCategory.Error,\"get_and_set_accessors_cannot_declare_this_parameters_2784\",\"'get' and 'set' accessors cannot declare 'this' parameters.\"),This_spread_always_overwrites_this_property:s(2785,e.DiagnosticCategory.Error,\"This_spread_always_overwrites_this_property_2785\",\"This spread always overwrites this property.\"),_0_cannot_be_used_as_a_JSX_component:s(2786,e.DiagnosticCategory.Error,\"_0_cannot_be_used_as_a_JSX_component_2786\",\"'{0}' cannot be used as a JSX component.\"),Its_return_type_0_is_not_a_valid_JSX_element:s(2787,e.DiagnosticCategory.Error,\"Its_return_type_0_is_not_a_valid_JSX_element_2787\",\"Its return type '{0}' is not a valid JSX element.\"),Its_instance_type_0_is_not_a_valid_JSX_element:s(2788,e.DiagnosticCategory.Error,\"Its_instance_type_0_is_not_a_valid_JSX_element_2788\",\"Its instance type '{0}' is not a valid JSX element.\"),Its_element_type_0_is_not_a_valid_JSX_element:s(2789,e.DiagnosticCategory.Error,\"Its_element_type_0_is_not_a_valid_JSX_element_2789\",\"Its element type '{0}' is not a valid JSX element.\"),The_operand_of_a_delete_operator_must_be_optional:s(2790,e.DiagnosticCategory.Error,\"The_operand_of_a_delete_operator_must_be_optional_2790\",\"The operand of a 'delete' operator must be optional.\"),Exponentiation_cannot_be_performed_on_bigint_values_unless_the_target_option_is_set_to_es2016_or_later:s(2791,e.DiagnosticCategory.Error,\"Exponentiation_cannot_be_performed_on_bigint_values_unless_the_target_option_is_set_to_es2016_or_lat_2791\",\"Exponentiation cannot be performed on 'bigint' values unless the 'target' option is set to 'es2016' or later.\"),Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_node_or_to_add_aliases_to_the_paths_option:s(2792,e.DiagnosticCategory.Error,\"Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_node_or_to_add_aliases_to_th_2792\",\"Cannot find module '{0}'. Did you mean to set the 'moduleResolution' option to 'node', or to add aliases to the 'paths' option?\"),The_call_would_have_succeeded_against_this_implementation_but_implementation_signatures_of_overloads_are_not_externally_visible:s(2793,e.DiagnosticCategory.Error,\"The_call_would_have_succeeded_against_this_implementation_but_implementation_signatures_of_overloads_2793\",\"The call would have succeeded against this implementation, but implementation signatures of overloads are not externally visible.\"),Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise:s(2794,e.DiagnosticCategory.Error,\"Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise_2794\",\"Expected {0} arguments, but got {1}. Did you forget to include 'void' in your type argument to 'Promise'?\"),The_intrinsic_keyword_can_only_be_used_to_declare_compiler_provided_intrinsic_types:s(2795,e.DiagnosticCategory.Error,\"The_intrinsic_keyword_can_only_be_used_to_declare_compiler_provided_intrinsic_types_2795\",\"The 'intrinsic' keyword can only be used to declare compiler provided intrinsic types.\"),It_is_likely_that_you_are_missing_a_comma_to_separate_these_two_template_expressions_They_form_a_tagged_template_expression_which_cannot_be_invoked:s(2796,e.DiagnosticCategory.Error,\"It_is_likely_that_you_are_missing_a_comma_to_separate_these_two_template_expressions_They_form_a_tag_2796\",\"It is likely that you are missing a comma to separate these two template expressions. They form a tagged template expression which cannot be invoked.\"),A_mixin_class_that_extends_from_a_type_variable_containing_an_abstract_construct_signature_must_also_be_declared_abstract:s(2797,e.DiagnosticCategory.Error,\"A_mixin_class_that_extends_from_a_type_variable_containing_an_abstract_construct_signature_must_also_2797\",\"A mixin class that extends from a type variable containing an abstract construct signature must also be declared 'abstract'.\"),The_declaration_was_marked_as_deprecated_here:s(2798,e.DiagnosticCategory.Error,\"The_declaration_was_marked_as_deprecated_here_2798\",\"The declaration was marked as deprecated here.\"),Type_produces_a_tuple_type_that_is_too_large_to_represent:s(2799,e.DiagnosticCategory.Error,\"Type_produces_a_tuple_type_that_is_too_large_to_represent_2799\",\"Type produces a tuple type that is too large to represent.\"),Expression_produces_a_tuple_type_that_is_too_large_to_represent:s(2800,e.DiagnosticCategory.Error,\"Expression_produces_a_tuple_type_that_is_too_large_to_represent_2800\",\"Expression produces a tuple type that is too large to represent.\"),This_condition_will_always_return_true_since_this_0_is_always_defined:s(2801,e.DiagnosticCategory.Error,\"This_condition_will_always_return_true_since_this_0_is_always_defined_2801\",\"This condition will always return true since this '{0}' is always defined.\"),Type_0_can_only_be_iterated_through_when_using_the_downlevelIteration_flag_or_with_a_target_of_es2015_or_higher:s(2802,e.DiagnosticCategory.Error,\"Type_0_can_only_be_iterated_through_when_using_the_downlevelIteration_flag_or_with_a_target_of_es201_2802\",\"Type '{0}' can only be iterated through when using the '--downlevelIteration' flag or with a '--target' of 'es2015' or higher.\"),Cannot_assign_to_private_method_0_Private_methods_are_not_writable:s(2803,e.DiagnosticCategory.Error,\"Cannot_assign_to_private_method_0_Private_methods_are_not_writable_2803\",\"Cannot assign to private method '{0}'. Private methods are not writable.\"),Duplicate_identifier_0_Static_and_instance_elements_cannot_share_the_same_private_name:s(2804,e.DiagnosticCategory.Error,\"Duplicate_identifier_0_Static_and_instance_elements_cannot_share_the_same_private_name_2804\",\"Duplicate identifier '{0}'. Static and instance elements cannot share the same private name.\"),Static_fields_with_private_names_can_t_have_initializers_when_the_useDefineForClassFields_flag_is_not_specified_with_a_target_of_esnext_Consider_adding_the_useDefineForClassFields_flag:s(2805,e.DiagnosticCategory.Error,\"Static_fields_with_private_names_can_t_have_initializers_when_the_useDefineForClassFields_flag_is_no_2805\",\"Static fields with private names can't have initializers when the '--useDefineForClassFields' flag is not specified with a '--target' of 'esnext'. Consider adding the '--useDefineForClassFields' flag.\"),Private_accessor_was_defined_without_a_getter:s(2806,e.DiagnosticCategory.Error,\"Private_accessor_was_defined_without_a_getter_2806\",\"Private accessor was defined without a getter.\"),This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_one_in_0_Consider_upgrading_your_version_of_0:s(2807,e.DiagnosticCategory.Error,\"This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_o_2807\",\"This syntax requires an imported helper named '{1}' with {2} parameters, which is not compatible with the one in '{0}'. Consider upgrading your version of '{0}'.\"),A_get_accessor_must_be_at_least_as_accessible_as_the_setter:s(2808,e.DiagnosticCategory.Error,\"A_get_accessor_must_be_at_least_as_accessible_as_the_setter_2808\",\"A get accessor must be at least as accessible as the setter\"),Declaration_or_statement_expected_This_follows_a_block_of_statements_so_if_you_intended_to_write_a_destructuring_assignment_you_might_need_to_wrap_the_the_whole_assignment_in_parentheses:s(2809,e.DiagnosticCategory.Error,\"Declaration_or_statement_expected_This_follows_a_block_of_statements_so_if_you_intended_to_write_a_d_2809\",\"Declaration or statement expected. This '=' follows a block of statements, so if you intended to write a destructuring assignment, you might need to wrap the the whole assignment in parentheses.\"),Property_0_may_not_be_used_in_a_static_property_s_initializer_in_the_same_class_when_target_is_esnext_and_useDefineForClassFields_is_false:s(2810,e.DiagnosticCategory.Error,\"Property_0_may_not_be_used_in_a_static_property_s_initializer_in_the_same_class_when_target_is_esnex_2810\",\"Property '{0}' may not be used in a static property's initializer in the same class when 'target' is 'esnext' and 'useDefineForClassFields' is 'false'.\"),Initializer_for_property_0:s(2811,e.DiagnosticCategory.Error,\"Initializer_for_property_0_2811\",\"Initializer for property '{0}'\"),Property_0_does_not_exist_on_type_1_Try_changing_the_lib_compiler_option_to_include_dom:s(2812,e.DiagnosticCategory.Error,\"Property_0_does_not_exist_on_type_1_Try_changing_the_lib_compiler_option_to_include_dom_2812\",\"Property '{0}' does not exist on type '{1}'. Try changing the 'lib' compiler option to include 'dom'.\"),Import_declaration_0_is_using_private_name_1:s(4e3,e.DiagnosticCategory.Error,\"Import_declaration_0_is_using_private_name_1_4000\",\"Import declaration '{0}' is using private name '{1}'.\"),Type_parameter_0_of_exported_class_has_or_is_using_private_name_1:s(4002,e.DiagnosticCategory.Error,\"Type_parameter_0_of_exported_class_has_or_is_using_private_name_1_4002\",\"Type parameter '{0}' of exported class has or is using private name '{1}'.\"),Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1:s(4004,e.DiagnosticCategory.Error,\"Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1_4004\",\"Type parameter '{0}' of exported interface has or is using private name '{1}'.\"),Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1:s(4006,e.DiagnosticCategory.Error,\"Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1_4006\",\"Type parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'.\"),Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1:s(4008,e.DiagnosticCategory.Error,\"Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1_4008\",\"Type parameter '{0}' of call signature from exported interface has or is using private name '{1}'.\"),Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:s(4010,e.DiagnosticCategory.Error,\"Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1_4010\",\"Type parameter '{0}' of public static method from exported class has or is using private name '{1}'.\"),Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:s(4012,e.DiagnosticCategory.Error,\"Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1_4012\",\"Type parameter '{0}' of public method from exported class has or is using private name '{1}'.\"),Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1:s(4014,e.DiagnosticCategory.Error,\"Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1_4014\",\"Type parameter '{0}' of method from exported interface has or is using private name '{1}'.\"),Type_parameter_0_of_exported_function_has_or_is_using_private_name_1:s(4016,e.DiagnosticCategory.Error,\"Type_parameter_0_of_exported_function_has_or_is_using_private_name_1_4016\",\"Type parameter '{0}' of exported function has or is using private name '{1}'.\"),Implements_clause_of_exported_class_0_has_or_is_using_private_name_1:s(4019,e.DiagnosticCategory.Error,\"Implements_clause_of_exported_class_0_has_or_is_using_private_name_1_4019\",\"Implements clause of exported class '{0}' has or is using private name '{1}'.\"),extends_clause_of_exported_class_0_has_or_is_using_private_name_1:s(4020,e.DiagnosticCategory.Error,\"extends_clause_of_exported_class_0_has_or_is_using_private_name_1_4020\",\"'extends' clause of exported class '{0}' has or is using private name '{1}'.\"),extends_clause_of_exported_class_has_or_is_using_private_name_0:s(4021,e.DiagnosticCategory.Error,\"extends_clause_of_exported_class_has_or_is_using_private_name_0_4021\",\"'extends' clause of exported class has or is using private name '{0}'.\"),extends_clause_of_exported_interface_0_has_or_is_using_private_name_1:s(4022,e.DiagnosticCategory.Error,\"extends_clause_of_exported_interface_0_has_or_is_using_private_name_1_4022\",\"'extends' clause of exported interface '{0}' has or is using private name '{1}'.\"),Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:s(4023,e.DiagnosticCategory.Error,\"Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4023\",\"Exported variable '{0}' has or is using name '{1}' from external module {2} but cannot be named.\"),Exported_variable_0_has_or_is_using_name_1_from_private_module_2:s(4024,e.DiagnosticCategory.Error,\"Exported_variable_0_has_or_is_using_name_1_from_private_module_2_4024\",\"Exported variable '{0}' has or is using name '{1}' from private module '{2}'.\"),Exported_variable_0_has_or_is_using_private_name_1:s(4025,e.DiagnosticCategory.Error,\"Exported_variable_0_has_or_is_using_private_name_1_4025\",\"Exported variable '{0}' has or is using private name '{1}'.\"),Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:s(4026,e.DiagnosticCategory.Error,\"Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot__4026\",\"Public static property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named.\"),Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:s(4027,e.DiagnosticCategory.Error,\"Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4027\",\"Public static property '{0}' of exported class has or is using name '{1}' from private module '{2}'.\"),Public_static_property_0_of_exported_class_has_or_is_using_private_name_1:s(4028,e.DiagnosticCategory.Error,\"Public_static_property_0_of_exported_class_has_or_is_using_private_name_1_4028\",\"Public static property '{0}' of exported class has or is using private name '{1}'.\"),Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:s(4029,e.DiagnosticCategory.Error,\"Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_name_4029\",\"Public property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named.\"),Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:s(4030,e.DiagnosticCategory.Error,\"Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4030\",\"Public property '{0}' of exported class has or is using name '{1}' from private module '{2}'.\"),Public_property_0_of_exported_class_has_or_is_using_private_name_1:s(4031,e.DiagnosticCategory.Error,\"Public_property_0_of_exported_class_has_or_is_using_private_name_1_4031\",\"Public property '{0}' of exported class has or is using private name '{1}'.\"),Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:s(4032,e.DiagnosticCategory.Error,\"Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2_4032\",\"Property '{0}' of exported interface has or is using name '{1}' from private module '{2}'.\"),Property_0_of_exported_interface_has_or_is_using_private_name_1:s(4033,e.DiagnosticCategory.Error,\"Property_0_of_exported_interface_has_or_is_using_private_name_1_4033\",\"Property '{0}' of exported interface has or is using private name '{1}'.\"),Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:s(4034,e.DiagnosticCategory.Error,\"Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_mod_4034\",\"Parameter type of public static setter '{0}' from exported class has or is using name '{1}' from private module '{2}'.\"),Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1:s(4035,e.DiagnosticCategory.Error,\"Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1_4035\",\"Parameter type of public static setter '{0}' from exported class has or is using private name '{1}'.\"),Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:s(4036,e.DiagnosticCategory.Error,\"Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2_4036\",\"Parameter type of public setter '{0}' from exported class has or is using name '{1}' from private module '{2}'.\"),Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1:s(4037,e.DiagnosticCategory.Error,\"Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1_4037\",\"Parameter type of public setter '{0}' from exported class has or is using private name '{1}'.\"),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:s(4038,e.DiagnosticCategory.Error,\"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_modul_4038\",\"Return type of public static getter '{0}' from exported class has or is using name '{1}' from external module {2} but cannot be named.\"),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:s(4039,e.DiagnosticCategory.Error,\"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_4039\",\"Return type of public static getter '{0}' from exported class has or is using name '{1}' from private module '{2}'.\"),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1:s(4040,e.DiagnosticCategory.Error,\"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1_4040\",\"Return type of public static getter '{0}' from exported class has or is using private name '{1}'.\"),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:s(4041,e.DiagnosticCategory.Error,\"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_4041\",\"Return type of public getter '{0}' from exported class has or is using name '{1}' from external module {2} but cannot be named.\"),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:s(4042,e.DiagnosticCategory.Error,\"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2_4042\",\"Return type of public getter '{0}' from exported class has or is using name '{1}' from private module '{2}'.\"),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1:s(4043,e.DiagnosticCategory.Error,\"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1_4043\",\"Return type of public getter '{0}' from exported class has or is using private name '{1}'.\"),Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:s(4044,e.DiagnosticCategory.Error,\"Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_mod_4044\",\"Return type of constructor signature from exported interface has or is using name '{0}' from private module '{1}'.\"),Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0:s(4045,e.DiagnosticCategory.Error,\"Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0_4045\",\"Return type of constructor signature from exported interface has or is using private name '{0}'.\"),Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:s(4046,e.DiagnosticCategory.Error,\"Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4046\",\"Return type of call signature from exported interface has or is using name '{0}' from private module '{1}'.\"),Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0:s(4047,e.DiagnosticCategory.Error,\"Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0_4047\",\"Return type of call signature from exported interface has or is using private name '{0}'.\"),Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:s(4048,e.DiagnosticCategory.Error,\"Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4048\",\"Return type of index signature from exported interface has or is using name '{0}' from private module '{1}'.\"),Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0:s(4049,e.DiagnosticCategory.Error,\"Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0_4049\",\"Return type of index signature from exported interface has or is using private name '{0}'.\"),Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:s(4050,e.DiagnosticCategory.Error,\"Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module__4050\",\"Return type of public static method from exported class has or is using name '{0}' from external module {1} but cannot be named.\"),Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:s(4051,e.DiagnosticCategory.Error,\"Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1_4051\",\"Return type of public static method from exported class has or is using name '{0}' from private module '{1}'.\"),Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0:s(4052,e.DiagnosticCategory.Error,\"Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0_4052\",\"Return type of public static method from exported class has or is using private name '{0}'.\"),Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:s(4053,e.DiagnosticCategory.Error,\"Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_c_4053\",\"Return type of public method from exported class has or is using name '{0}' from external module {1} but cannot be named.\"),Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:s(4054,e.DiagnosticCategory.Error,\"Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1_4054\",\"Return type of public method from exported class has or is using name '{0}' from private module '{1}'.\"),Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0:s(4055,e.DiagnosticCategory.Error,\"Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0_4055\",\"Return type of public method from exported class has or is using private name '{0}'.\"),Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1:s(4056,e.DiagnosticCategory.Error,\"Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4056\",\"Return type of method from exported interface has or is using name '{0}' from private module '{1}'.\"),Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0:s(4057,e.DiagnosticCategory.Error,\"Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0_4057\",\"Return type of method from exported interface has or is using private name '{0}'.\"),Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:s(4058,e.DiagnosticCategory.Error,\"Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named_4058\",\"Return type of exported function has or is using name '{0}' from external module {1} but cannot be named.\"),Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1:s(4059,e.DiagnosticCategory.Error,\"Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1_4059\",\"Return type of exported function has or is using name '{0}' from private module '{1}'.\"),Return_type_of_exported_function_has_or_is_using_private_name_0:s(4060,e.DiagnosticCategory.Error,\"Return_type_of_exported_function_has_or_is_using_private_name_0_4060\",\"Return type of exported function has or is using private name '{0}'.\"),Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:s(4061,e.DiagnosticCategory.Error,\"Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_can_4061\",\"Parameter '{0}' of constructor from exported class has or is using name '{1}' from external module {2} but cannot be named.\"),Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2:s(4062,e.DiagnosticCategory.Error,\"Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2_4062\",\"Parameter '{0}' of constructor from exported class has or is using name '{1}' from private module '{2}'.\"),Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1:s(4063,e.DiagnosticCategory.Error,\"Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1_4063\",\"Parameter '{0}' of constructor from exported class has or is using private name '{1}'.\"),Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:s(4064,e.DiagnosticCategory.Error,\"Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_mod_4064\",\"Parameter '{0}' of constructor signature from exported interface has or is using name '{1}' from private module '{2}'.\"),Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1:s(4065,e.DiagnosticCategory.Error,\"Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1_4065\",\"Parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'.\"),Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:s(4066,e.DiagnosticCategory.Error,\"Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4066\",\"Parameter '{0}' of call signature from exported interface has or is using name '{1}' from private module '{2}'.\"),Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1:s(4067,e.DiagnosticCategory.Error,\"Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1_4067\",\"Parameter '{0}' of call signature from exported interface has or is using private name '{1}'.\"),Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:s(4068,e.DiagnosticCategory.Error,\"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module__4068\",\"Parameter '{0}' of public static method from exported class has or is using name '{1}' from external module {2} but cannot be named.\"),Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:s(4069,e.DiagnosticCategory.Error,\"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2_4069\",\"Parameter '{0}' of public static method from exported class has or is using name '{1}' from private module '{2}'.\"),Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:s(4070,e.DiagnosticCategory.Error,\"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1_4070\",\"Parameter '{0}' of public static method from exported class has or is using private name '{1}'.\"),Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:s(4071,e.DiagnosticCategory.Error,\"Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_c_4071\",\"Parameter '{0}' of public method from exported class has or is using name '{1}' from external module {2} but cannot be named.\"),Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:s(4072,e.DiagnosticCategory.Error,\"Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2_4072\",\"Parameter '{0}' of public method from exported class has or is using name '{1}' from private module '{2}'.\"),Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:s(4073,e.DiagnosticCategory.Error,\"Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1_4073\",\"Parameter '{0}' of public method from exported class has or is using private name '{1}'.\"),Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2:s(4074,e.DiagnosticCategory.Error,\"Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4074\",\"Parameter '{0}' of method from exported interface has or is using name '{1}' from private module '{2}'.\"),Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1:s(4075,e.DiagnosticCategory.Error,\"Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1_4075\",\"Parameter '{0}' of method from exported interface has or is using private name '{1}'.\"),Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:s(4076,e.DiagnosticCategory.Error,\"Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4076\",\"Parameter '{0}' of exported function has or is using name '{1}' from external module {2} but cannot be named.\"),Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2:s(4077,e.DiagnosticCategory.Error,\"Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2_4077\",\"Parameter '{0}' of exported function has or is using name '{1}' from private module '{2}'.\"),Parameter_0_of_exported_function_has_or_is_using_private_name_1:s(4078,e.DiagnosticCategory.Error,\"Parameter_0_of_exported_function_has_or_is_using_private_name_1_4078\",\"Parameter '{0}' of exported function has or is using private name '{1}'.\"),Exported_type_alias_0_has_or_is_using_private_name_1:s(4081,e.DiagnosticCategory.Error,\"Exported_type_alias_0_has_or_is_using_private_name_1_4081\",\"Exported type alias '{0}' has or is using private name '{1}'.\"),Default_export_of_the_module_has_or_is_using_private_name_0:s(4082,e.DiagnosticCategory.Error,\"Default_export_of_the_module_has_or_is_using_private_name_0_4082\",\"Default export of the module has or is using private name '{0}'.\"),Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1:s(4083,e.DiagnosticCategory.Error,\"Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1_4083\",\"Type parameter '{0}' of exported type alias has or is using private name '{1}'.\"),Exported_type_alias_0_has_or_is_using_private_name_1_from_module_2:s(4084,e.DiagnosticCategory.Error,\"Exported_type_alias_0_has_or_is_using_private_name_1_from_module_2_4084\",\"Exported type alias '{0}' has or is using private name '{1}' from module {2}.\"),Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_library_to_resolve_the_conflict:s(4090,e.DiagnosticCategory.Error,\"Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_librar_4090\",\"Conflicting definitions for '{0}' found at '{1}' and '{2}'. Consider installing a specific version of this library to resolve the conflict.\"),Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:s(4091,e.DiagnosticCategory.Error,\"Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4091\",\"Parameter '{0}' of index signature from exported interface has or is using name '{1}' from private module '{2}'.\"),Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1:s(4092,e.DiagnosticCategory.Error,\"Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1_4092\",\"Parameter '{0}' of index signature from exported interface has or is using private name '{1}'.\"),Property_0_of_exported_class_expression_may_not_be_private_or_protected:s(4094,e.DiagnosticCategory.Error,\"Property_0_of_exported_class_expression_may_not_be_private_or_protected_4094\",\"Property '{0}' of exported class expression may not be private or protected.\"),Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:s(4095,e.DiagnosticCategory.Error,\"Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_4095\",\"Public static method '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named.\"),Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:s(4096,e.DiagnosticCategory.Error,\"Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4096\",\"Public static method '{0}' of exported class has or is using name '{1}' from private module '{2}'.\"),Public_static_method_0_of_exported_class_has_or_is_using_private_name_1:s(4097,e.DiagnosticCategory.Error,\"Public_static_method_0_of_exported_class_has_or_is_using_private_name_1_4097\",\"Public static method '{0}' of exported class has or is using private name '{1}'.\"),Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:s(4098,e.DiagnosticCategory.Error,\"Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4098\",\"Public method '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named.\"),Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:s(4099,e.DiagnosticCategory.Error,\"Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4099\",\"Public method '{0}' of exported class has or is using name '{1}' from private module '{2}'.\"),Public_method_0_of_exported_class_has_or_is_using_private_name_1:s(4100,e.DiagnosticCategory.Error,\"Public_method_0_of_exported_class_has_or_is_using_private_name_1_4100\",\"Public method '{0}' of exported class has or is using private name '{1}'.\"),Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:s(4101,e.DiagnosticCategory.Error,\"Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2_4101\",\"Method '{0}' of exported interface has or is using name '{1}' from private module '{2}'.\"),Method_0_of_exported_interface_has_or_is_using_private_name_1:s(4102,e.DiagnosticCategory.Error,\"Method_0_of_exported_interface_has_or_is_using_private_name_1_4102\",\"Method '{0}' of exported interface has or is using private name '{1}'.\"),Type_parameter_0_of_exported_mapped_object_type_is_using_private_name_1:s(4103,e.DiagnosticCategory.Error,\"Type_parameter_0_of_exported_mapped_object_type_is_using_private_name_1_4103\",\"Type parameter '{0}' of exported mapped object type is using private name '{1}'.\"),The_type_0_is_readonly_and_cannot_be_assigned_to_the_mutable_type_1:s(4104,e.DiagnosticCategory.Error,\"The_type_0_is_readonly_and_cannot_be_assigned_to_the_mutable_type_1_4104\",\"The type '{0}' is 'readonly' and cannot be assigned to the mutable type '{1}'.\"),Private_or_protected_member_0_cannot_be_accessed_on_a_type_parameter:s(4105,e.DiagnosticCategory.Error,\"Private_or_protected_member_0_cannot_be_accessed_on_a_type_parameter_4105\",\"Private or protected member '{0}' cannot be accessed on a type parameter.\"),Parameter_0_of_accessor_has_or_is_using_private_name_1:s(4106,e.DiagnosticCategory.Error,\"Parameter_0_of_accessor_has_or_is_using_private_name_1_4106\",\"Parameter '{0}' of accessor has or is using private name '{1}'.\"),Parameter_0_of_accessor_has_or_is_using_name_1_from_private_module_2:s(4107,e.DiagnosticCategory.Error,\"Parameter_0_of_accessor_has_or_is_using_name_1_from_private_module_2_4107\",\"Parameter '{0}' of accessor has or is using name '{1}' from private module '{2}'.\"),Parameter_0_of_accessor_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:s(4108,e.DiagnosticCategory.Error,\"Parameter_0_of_accessor_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4108\",\"Parameter '{0}' of accessor has or is using name '{1}' from external module '{2}' but cannot be named.\"),Type_arguments_for_0_circularly_reference_themselves:s(4109,e.DiagnosticCategory.Error,\"Type_arguments_for_0_circularly_reference_themselves_4109\",\"Type arguments for '{0}' circularly reference themselves.\"),Tuple_type_arguments_circularly_reference_themselves:s(4110,e.DiagnosticCategory.Error,\"Tuple_type_arguments_circularly_reference_themselves_4110\",\"Tuple type arguments circularly reference themselves.\"),Property_0_comes_from_an_index_signature_so_it_must_be_accessed_with_0:s(4111,e.DiagnosticCategory.Error,\"Property_0_comes_from_an_index_signature_so_it_must_be_accessed_with_0_4111\",\"Property '{0}' comes from an index signature, so it must be accessed with ['{0}'].\"),This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another_class:s(4112,e.DiagnosticCategory.Error,\"This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another__4112\",\"This member cannot have an 'override' modifier because its containing class '{0}' does not extend another class.\"),This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0:s(4113,e.DiagnosticCategory.Error,\"This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0_4113\",\"This member cannot have an 'override' modifier because it is not declared in the base class '{0}'.\"),This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0:s(4114,e.DiagnosticCategory.Error,\"This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0_4114\",\"This member must have an 'override' modifier because it overrides a member in the base class '{0}'.\"),This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0:s(4115,e.DiagnosticCategory.Error,\"This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0_4115\",\"This parameter property must have an 'override' modifier because it overrides a member in base class '{0}'.\"),This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared_in_the_base_class_0:s(4116,e.DiagnosticCategory.Error,\"This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared__4116\",\"This member must have an 'override' modifier because it overrides an abstract method that is declared in the base class '{0}'.\"),The_current_host_does_not_support_the_0_option:s(5001,e.DiagnosticCategory.Error,\"The_current_host_does_not_support_the_0_option_5001\",\"The current host does not support the '{0}' option.\"),Cannot_find_the_common_subdirectory_path_for_the_input_files:s(5009,e.DiagnosticCategory.Error,\"Cannot_find_the_common_subdirectory_path_for_the_input_files_5009\",\"Cannot find the common subdirectory path for the input files.\"),File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0:s(5010,e.DiagnosticCategory.Error,\"File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0_5010\",\"File specification cannot end in a recursive directory wildcard ('**'): '{0}'.\"),Cannot_read_file_0_Colon_1:s(5012,e.DiagnosticCategory.Error,\"Cannot_read_file_0_Colon_1_5012\",\"Cannot read file '{0}': {1}.\"),Failed_to_parse_file_0_Colon_1:s(5014,e.DiagnosticCategory.Error,\"Failed_to_parse_file_0_Colon_1_5014\",\"Failed to parse file '{0}': {1}.\"),Unknown_compiler_option_0:s(5023,e.DiagnosticCategory.Error,\"Unknown_compiler_option_0_5023\",\"Unknown compiler option '{0}'.\"),Compiler_option_0_requires_a_value_of_type_1:s(5024,e.DiagnosticCategory.Error,\"Compiler_option_0_requires_a_value_of_type_1_5024\",\"Compiler option '{0}' requires a value of type {1}.\"),Unknown_compiler_option_0_Did_you_mean_1:s(5025,e.DiagnosticCategory.Error,\"Unknown_compiler_option_0_Did_you_mean_1_5025\",\"Unknown compiler option '{0}'. Did you mean '{1}'?\"),Could_not_write_file_0_Colon_1:s(5033,e.DiagnosticCategory.Error,\"Could_not_write_file_0_Colon_1_5033\",\"Could not write file '{0}': {1}.\"),Option_project_cannot_be_mixed_with_source_files_on_a_command_line:s(5042,e.DiagnosticCategory.Error,\"Option_project_cannot_be_mixed_with_source_files_on_a_command_line_5042\",\"Option 'project' cannot be mixed with source files on a command line.\"),Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES2015_or_higher:s(5047,e.DiagnosticCategory.Error,\"Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES_5047\",\"Option 'isolatedModules' can only be used when either option '--module' is provided or option 'target' is 'ES2015' or higher.\"),Option_0_cannot_be_specified_when_option_target_is_ES3:s(5048,e.DiagnosticCategory.Error,\"Option_0_cannot_be_specified_when_option_target_is_ES3_5048\",\"Option '{0}' cannot be specified when option 'target' is 'ES3'.\"),Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided:s(5051,e.DiagnosticCategory.Error,\"Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided_5051\",\"Option '{0} can only be used when either option '--inlineSourceMap' or option '--sourceMap' is provided.\"),Option_0_cannot_be_specified_without_specifying_option_1:s(5052,e.DiagnosticCategory.Error,\"Option_0_cannot_be_specified_without_specifying_option_1_5052\",\"Option '{0}' cannot be specified without specifying option '{1}'.\"),Option_0_cannot_be_specified_with_option_1:s(5053,e.DiagnosticCategory.Error,\"Option_0_cannot_be_specified_with_option_1_5053\",\"Option '{0}' cannot be specified with option '{1}'.\"),A_tsconfig_json_file_is_already_defined_at_Colon_0:s(5054,e.DiagnosticCategory.Error,\"A_tsconfig_json_file_is_already_defined_at_Colon_0_5054\",\"A 'tsconfig.json' file is already defined at: '{0}'.\"),Cannot_write_file_0_because_it_would_overwrite_input_file:s(5055,e.DiagnosticCategory.Error,\"Cannot_write_file_0_because_it_would_overwrite_input_file_5055\",\"Cannot write file '{0}' because it would overwrite input file.\"),Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files:s(5056,e.DiagnosticCategory.Error,\"Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files_5056\",\"Cannot write file '{0}' because it would be overwritten by multiple input files.\"),Cannot_find_a_tsconfig_json_file_at_the_specified_directory_Colon_0:s(5057,e.DiagnosticCategory.Error,\"Cannot_find_a_tsconfig_json_file_at_the_specified_directory_Colon_0_5057\",\"Cannot find a tsconfig.json file at the specified directory: '{0}'.\"),The_specified_path_does_not_exist_Colon_0:s(5058,e.DiagnosticCategory.Error,\"The_specified_path_does_not_exist_Colon_0_5058\",\"The specified path does not exist: '{0}'.\"),Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier:s(5059,e.DiagnosticCategory.Error,\"Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier_5059\",\"Invalid value for '--reactNamespace'. '{0}' is not a valid identifier.\"),Pattern_0_can_have_at_most_one_Asterisk_character:s(5061,e.DiagnosticCategory.Error,\"Pattern_0_can_have_at_most_one_Asterisk_character_5061\",\"Pattern '{0}' can have at most one '*' character.\"),Substitution_0_in_pattern_1_can_have_at_most_one_Asterisk_character:s(5062,e.DiagnosticCategory.Error,\"Substitution_0_in_pattern_1_can_have_at_most_one_Asterisk_character_5062\",\"Substitution '{0}' in pattern '{1}' can have at most one '*' character.\"),Substitutions_for_pattern_0_should_be_an_array:s(5063,e.DiagnosticCategory.Error,\"Substitutions_for_pattern_0_should_be_an_array_5063\",\"Substitutions for pattern '{0}' should be an array.\"),Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2:s(5064,e.DiagnosticCategory.Error,\"Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2_5064\",\"Substitution '{0}' for pattern '{1}' has incorrect type, expected 'string', got '{2}'.\"),File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0:s(5065,e.DiagnosticCategory.Error,\"File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildca_5065\",\"File specification cannot contain a parent directory ('..') that appears after a recursive directory wildcard ('**'): '{0}'.\"),Substitutions_for_pattern_0_shouldn_t_be_an_empty_array:s(5066,e.DiagnosticCategory.Error,\"Substitutions_for_pattern_0_shouldn_t_be_an_empty_array_5066\",\"Substitutions for pattern '{0}' shouldn't be an empty array.\"),Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name:s(5067,e.DiagnosticCategory.Error,\"Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name_5067\",\"Invalid value for 'jsxFactory'. '{0}' is not a valid identifier or qualified-name.\"),Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript_files_Learn_more_at_https_Colon_Slash_Slashaka_ms_Slashtsconfig:s(5068,e.DiagnosticCategory.Error,\"Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript__5068\",\"Adding a tsconfig.json file will help organize projects that contain both TypeScript and JavaScript files. Learn more at https://aka.ms/tsconfig.\"),Option_0_cannot_be_specified_without_specifying_option_1_or_option_2:s(5069,e.DiagnosticCategory.Error,\"Option_0_cannot_be_specified_without_specifying_option_1_or_option_2_5069\",\"Option '{0}' cannot be specified without specifying option '{1}' or option '{2}'.\"),Option_resolveJsonModule_cannot_be_specified_without_node_module_resolution_strategy:s(5070,e.DiagnosticCategory.Error,\"Option_resolveJsonModule_cannot_be_specified_without_node_module_resolution_strategy_5070\",\"Option '--resolveJsonModule' cannot be specified without 'node' module resolution strategy.\"),Option_resolveJsonModule_can_only_be_specified_when_module_code_generation_is_commonjs_amd_es2015_or_esNext:s(5071,e.DiagnosticCategory.Error,\"Option_resolveJsonModule_can_only_be_specified_when_module_code_generation_is_commonjs_amd_es2015_or_5071\",\"Option '--resolveJsonModule' can only be specified when module code generation is 'commonjs', 'amd', 'es2015' or 'esNext'.\"),Unknown_build_option_0:s(5072,e.DiagnosticCategory.Error,\"Unknown_build_option_0_5072\",\"Unknown build option '{0}'.\"),Build_option_0_requires_a_value_of_type_1:s(5073,e.DiagnosticCategory.Error,\"Build_option_0_requires_a_value_of_type_1_5073\",\"Build option '{0}' requires a value of type {1}.\"),Option_incremental_can_only_be_specified_using_tsconfig_emitting_to_single_file_or_when_option_tsBuildInfoFile_is_specified:s(5074,e.DiagnosticCategory.Error,\"Option_incremental_can_only_be_specified_using_tsconfig_emitting_to_single_file_or_when_option_tsBui_5074\",\"Option '--incremental' can only be specified using tsconfig, emitting to single file or when option '--tsBuildInfoFile' is specified.\"),_0_is_assignable_to_the_constraint_of_type_1_but_1_could_be_instantiated_with_a_different_subtype_of_constraint_2:s(5075,e.DiagnosticCategory.Error,\"_0_is_assignable_to_the_constraint_of_type_1_but_1_could_be_instantiated_with_a_different_subtype_of_5075\",\"'{0}' is assignable to the constraint of type '{1}', but '{1}' could be instantiated with a different subtype of constraint '{2}'.\"),_0_and_1_operations_cannot_be_mixed_without_parentheses:s(5076,e.DiagnosticCategory.Error,\"_0_and_1_operations_cannot_be_mixed_without_parentheses_5076\",\"'{0}' and '{1}' operations cannot be mixed without parentheses.\"),Unknown_build_option_0_Did_you_mean_1:s(5077,e.DiagnosticCategory.Error,\"Unknown_build_option_0_Did_you_mean_1_5077\",\"Unknown build option '{0}'. Did you mean '{1}'?\"),Unknown_watch_option_0:s(5078,e.DiagnosticCategory.Error,\"Unknown_watch_option_0_5078\",\"Unknown watch option '{0}'.\"),Unknown_watch_option_0_Did_you_mean_1:s(5079,e.DiagnosticCategory.Error,\"Unknown_watch_option_0_Did_you_mean_1_5079\",\"Unknown watch option '{0}'. Did you mean '{1}'?\"),Watch_option_0_requires_a_value_of_type_1:s(5080,e.DiagnosticCategory.Error,\"Watch_option_0_requires_a_value_of_type_1_5080\",\"Watch option '{0}' requires a value of type {1}.\"),Cannot_find_a_tsconfig_json_file_at_the_current_directory_Colon_0:s(5081,e.DiagnosticCategory.Error,\"Cannot_find_a_tsconfig_json_file_at_the_current_directory_Colon_0_5081\",\"Cannot find a tsconfig.json file at the current directory: {0}.\"),_0_could_be_instantiated_with_an_arbitrary_type_which_could_be_unrelated_to_1:s(5082,e.DiagnosticCategory.Error,\"_0_could_be_instantiated_with_an_arbitrary_type_which_could_be_unrelated_to_1_5082\",\"'{0}' could be instantiated with an arbitrary type which could be unrelated to '{1}'.\"),Cannot_read_file_0:s(5083,e.DiagnosticCategory.Error,\"Cannot_read_file_0_5083\",\"Cannot read file '{0}'.\"),Tuple_members_must_all_have_names_or_all_not_have_names:s(5084,e.DiagnosticCategory.Error,\"Tuple_members_must_all_have_names_or_all_not_have_names_5084\",\"Tuple members must all have names or all not have names.\"),A_tuple_member_cannot_be_both_optional_and_rest:s(5085,e.DiagnosticCategory.Error,\"A_tuple_member_cannot_be_both_optional_and_rest_5085\",\"A tuple member cannot be both optional and rest.\"),A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_colon_rather_than_after_the_type:s(5086,e.DiagnosticCategory.Error,\"A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_c_5086\",\"A labeled tuple element is declared as optional with a question mark after the name and before the colon, rather than after the type.\"),A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type:s(5087,e.DiagnosticCategory.Error,\"A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type_5087\",\"A labeled tuple element is declared as rest with a '...' before the name, rather than before the type.\"),The_inferred_type_of_0_references_a_type_with_a_cyclic_structure_which_cannot_be_trivially_serialized_A_type_annotation_is_necessary:s(5088,e.DiagnosticCategory.Error,\"The_inferred_type_of_0_references_a_type_with_a_cyclic_structure_which_cannot_be_trivially_serialize_5088\",\"The inferred type of '{0}' references a type with a cyclic structure which cannot be trivially serialized. A type annotation is necessary.\"),Option_0_cannot_be_specified_when_option_jsx_is_1:s(5089,e.DiagnosticCategory.Error,\"Option_0_cannot_be_specified_when_option_jsx_is_1_5089\",\"Option '{0}' cannot be specified when option 'jsx' is '{1}'.\"),Non_relative_paths_are_not_allowed_when_baseUrl_is_not_set_Did_you_forget_a_leading_Slash:s(5090,e.DiagnosticCategory.Error,\"Non_relative_paths_are_not_allowed_when_baseUrl_is_not_set_Did_you_forget_a_leading_Slash_5090\",\"Non-relative paths are not allowed when 'baseUrl' is not set. Did you forget a leading './'?\"),Option_preserveConstEnums_cannot_be_disabled_when_isolatedModules_is_enabled:s(5091,e.DiagnosticCategory.Error,\"Option_preserveConstEnums_cannot_be_disabled_when_isolatedModules_is_enabled_5091\",\"Option 'preserveConstEnums' cannot be disabled when 'isolatedModules' is enabled.\"),The_root_value_of_a_0_file_must_be_an_object:s(5092,e.DiagnosticCategory.Error,\"The_root_value_of_a_0_file_must_be_an_object_5092\",\"The root value of a '{0}' file must be an object.\"),Compiler_option_0_may_only_be_used_with_build:s(5093,e.DiagnosticCategory.Error,\"Compiler_option_0_may_only_be_used_with_build_5093\",\"Compiler option '--{0}' may only be used with '--build'.\"),Compiler_option_0_may_not_be_used_with_build:s(5094,e.DiagnosticCategory.Error,\"Compiler_option_0_may_not_be_used_with_build_5094\",\"Compiler option '--{0}' may not be used with '--build'.\"),Generates_a_sourcemap_for_each_corresponding_d_ts_file:s(6e3,e.DiagnosticCategory.Message,\"Generates_a_sourcemap_for_each_corresponding_d_ts_file_6000\",\"Generates a sourcemap for each corresponding '.d.ts' file.\"),Concatenate_and_emit_output_to_single_file:s(6001,e.DiagnosticCategory.Message,\"Concatenate_and_emit_output_to_single_file_6001\",\"Concatenate and emit output to single file.\"),Generates_corresponding_d_ts_file:s(6002,e.DiagnosticCategory.Message,\"Generates_corresponding_d_ts_file_6002\",\"Generates corresponding '.d.ts' file.\"),Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations:s(6003,e.DiagnosticCategory.Message,\"Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations_6003\",\"Specify the location where debugger should locate map files instead of generated locations.\"),Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations:s(6004,e.DiagnosticCategory.Message,\"Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations_6004\",\"Specify the location where debugger should locate TypeScript files instead of source locations.\"),Watch_input_files:s(6005,e.DiagnosticCategory.Message,\"Watch_input_files_6005\",\"Watch input files.\"),Redirect_output_structure_to_the_directory:s(6006,e.DiagnosticCategory.Message,\"Redirect_output_structure_to_the_directory_6006\",\"Redirect output structure to the directory.\"),Do_not_erase_const_enum_declarations_in_generated_code:s(6007,e.DiagnosticCategory.Message,\"Do_not_erase_const_enum_declarations_in_generated_code_6007\",\"Do not erase const enum declarations in generated code.\"),Do_not_emit_outputs_if_any_errors_were_reported:s(6008,e.DiagnosticCategory.Message,\"Do_not_emit_outputs_if_any_errors_were_reported_6008\",\"Do not emit outputs if any errors were reported.\"),Do_not_emit_comments_to_output:s(6009,e.DiagnosticCategory.Message,\"Do_not_emit_comments_to_output_6009\",\"Do not emit comments to output.\"),Do_not_emit_outputs:s(6010,e.DiagnosticCategory.Message,\"Do_not_emit_outputs_6010\",\"Do not emit outputs.\"),Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typechecking:s(6011,e.DiagnosticCategory.Message,\"Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typech_6011\",\"Allow default imports from modules with no default export. This does not affect code emit, just typechecking.\"),Skip_type_checking_of_declaration_files:s(6012,e.DiagnosticCategory.Message,\"Skip_type_checking_of_declaration_files_6012\",\"Skip type checking of declaration files.\"),Do_not_resolve_the_real_path_of_symlinks:s(6013,e.DiagnosticCategory.Message,\"Do_not_resolve_the_real_path_of_symlinks_6013\",\"Do not resolve the real path of symlinks.\"),Only_emit_d_ts_declaration_files:s(6014,e.DiagnosticCategory.Message,\"Only_emit_d_ts_declaration_files_6014\",\"Only emit '.d.ts' declaration files.\"),Specify_ECMAScript_target_version_Colon_ES3_default_ES5_ES2015_ES2016_ES2017_ES2018_ES2019_ES2020_ES2021_or_ESNEXT:s(6015,e.DiagnosticCategory.Message,\"Specify_ECMAScript_target_version_Colon_ES3_default_ES5_ES2015_ES2016_ES2017_ES2018_ES2019_ES2020_ES_6015\",\"Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', 'ES2021', or 'ESNEXT'.\"),Specify_module_code_generation_Colon_none_commonjs_amd_system_umd_es2015_es2020_or_ESNext:s(6016,e.DiagnosticCategory.Message,\"Specify_module_code_generation_Colon_none_commonjs_amd_system_umd_es2015_es2020_or_ESNext_6016\",\"Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'.\"),Print_this_message:s(6017,e.DiagnosticCategory.Message,\"Print_this_message_6017\",\"Print this message.\"),Print_the_compiler_s_version:s(6019,e.DiagnosticCategory.Message,\"Print_the_compiler_s_version_6019\",\"Print the compiler's version.\"),Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json:s(6020,e.DiagnosticCategory.Message,\"Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json_6020\",\"Compile the project given the path to its configuration file, or to a folder with a 'tsconfig.json'.\"),Syntax_Colon_0:s(6023,e.DiagnosticCategory.Message,\"Syntax_Colon_0_6023\",\"Syntax: {0}\"),options:s(6024,e.DiagnosticCategory.Message,\"options_6024\",\"options\"),file:s(6025,e.DiagnosticCategory.Message,\"file_6025\",\"file\"),Examples_Colon_0:s(6026,e.DiagnosticCategory.Message,\"Examples_Colon_0_6026\",\"Examples: {0}\"),Options_Colon:s(6027,e.DiagnosticCategory.Message,\"Options_Colon_6027\",\"Options:\"),Version_0:s(6029,e.DiagnosticCategory.Message,\"Version_0_6029\",\"Version {0}\"),Insert_command_line_options_and_files_from_a_file:s(6030,e.DiagnosticCategory.Message,\"Insert_command_line_options_and_files_from_a_file_6030\",\"Insert command line options and files from a file.\"),Starting_compilation_in_watch_mode:s(6031,e.DiagnosticCategory.Message,\"Starting_compilation_in_watch_mode_6031\",\"Starting compilation in watch mode...\"),File_change_detected_Starting_incremental_compilation:s(6032,e.DiagnosticCategory.Message,\"File_change_detected_Starting_incremental_compilation_6032\",\"File change detected. Starting incremental compilation...\"),KIND:s(6034,e.DiagnosticCategory.Message,\"KIND_6034\",\"KIND\"),FILE:s(6035,e.DiagnosticCategory.Message,\"FILE_6035\",\"FILE\"),VERSION:s(6036,e.DiagnosticCategory.Message,\"VERSION_6036\",\"VERSION\"),LOCATION:s(6037,e.DiagnosticCategory.Message,\"LOCATION_6037\",\"LOCATION\"),DIRECTORY:s(6038,e.DiagnosticCategory.Message,\"DIRECTORY_6038\",\"DIRECTORY\"),STRATEGY:s(6039,e.DiagnosticCategory.Message,\"STRATEGY_6039\",\"STRATEGY\"),FILE_OR_DIRECTORY:s(6040,e.DiagnosticCategory.Message,\"FILE_OR_DIRECTORY_6040\",\"FILE OR DIRECTORY\"),Generates_corresponding_map_file:s(6043,e.DiagnosticCategory.Message,\"Generates_corresponding_map_file_6043\",\"Generates corresponding '.map' file.\"),Compiler_option_0_expects_an_argument:s(6044,e.DiagnosticCategory.Error,\"Compiler_option_0_expects_an_argument_6044\",\"Compiler option '{0}' expects an argument.\"),Unterminated_quoted_string_in_response_file_0:s(6045,e.DiagnosticCategory.Error,\"Unterminated_quoted_string_in_response_file_0_6045\",\"Unterminated quoted string in response file '{0}'.\"),Argument_for_0_option_must_be_Colon_1:s(6046,e.DiagnosticCategory.Error,\"Argument_for_0_option_must_be_Colon_1_6046\",\"Argument for '{0}' option must be: {1}.\"),Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1:s(6048,e.DiagnosticCategory.Error,\"Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1_6048\",\"Locale must be of the form <language> or <language>-<territory>. For example '{0}' or '{1}'.\"),Unsupported_locale_0:s(6049,e.DiagnosticCategory.Error,\"Unsupported_locale_0_6049\",\"Unsupported locale '{0}'.\"),Unable_to_open_file_0:s(6050,e.DiagnosticCategory.Error,\"Unable_to_open_file_0_6050\",\"Unable to open file '{0}'.\"),Corrupted_locale_file_0:s(6051,e.DiagnosticCategory.Error,\"Corrupted_locale_file_0_6051\",\"Corrupted locale file {0}.\"),Raise_error_on_expressions_and_declarations_with_an_implied_any_type:s(6052,e.DiagnosticCategory.Message,\"Raise_error_on_expressions_and_declarations_with_an_implied_any_type_6052\",\"Raise error on expressions and declarations with an implied 'any' type.\"),File_0_not_found:s(6053,e.DiagnosticCategory.Error,\"File_0_not_found_6053\",\"File '{0}' not found.\"),File_0_has_an_unsupported_extension_The_only_supported_extensions_are_1:s(6054,e.DiagnosticCategory.Error,\"File_0_has_an_unsupported_extension_The_only_supported_extensions_are_1_6054\",\"File '{0}' has an unsupported extension. The only supported extensions are {1}.\"),Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures:s(6055,e.DiagnosticCategory.Message,\"Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures_6055\",\"Suppress noImplicitAny errors for indexing objects lacking index signatures.\"),Do_not_emit_declarations_for_code_that_has_an_internal_annotation:s(6056,e.DiagnosticCategory.Message,\"Do_not_emit_declarations_for_code_that_has_an_internal_annotation_6056\",\"Do not emit declarations for code that has an '@internal' annotation.\"),Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir:s(6058,e.DiagnosticCategory.Message,\"Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir_6058\",\"Specify the root directory of input files. Use to control the output directory structure with --outDir.\"),File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files:s(6059,e.DiagnosticCategory.Error,\"File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files_6059\",\"File '{0}' is not under 'rootDir' '{1}'. 'rootDir' is expected to contain all source files.\"),Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix:s(6060,e.DiagnosticCategory.Message,\"Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix_6060\",\"Specify the end of line sequence to be used when emitting files: 'CRLF' (dos) or 'LF' (unix).\"),NEWLINE:s(6061,e.DiagnosticCategory.Message,\"NEWLINE_6061\",\"NEWLINE\"),Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_null_on_command_line:s(6064,e.DiagnosticCategory.Error,\"Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_null_on_command_line_6064\",\"Option '{0}' can only be specified in 'tsconfig.json' file or set to 'null' on command line.\"),Enables_experimental_support_for_ES7_decorators:s(6065,e.DiagnosticCategory.Message,\"Enables_experimental_support_for_ES7_decorators_6065\",\"Enables experimental support for ES7 decorators.\"),Enables_experimental_support_for_emitting_type_metadata_for_decorators:s(6066,e.DiagnosticCategory.Message,\"Enables_experimental_support_for_emitting_type_metadata_for_decorators_6066\",\"Enables experimental support for emitting type metadata for decorators.\"),Enables_experimental_support_for_ES7_async_functions:s(6068,e.DiagnosticCategory.Message,\"Enables_experimental_support_for_ES7_async_functions_6068\",\"Enables experimental support for ES7 async functions.\"),Specify_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6:s(6069,e.DiagnosticCategory.Message,\"Specify_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6_6069\",\"Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6).\"),Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file:s(6070,e.DiagnosticCategory.Message,\"Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file_6070\",\"Initializes a TypeScript project and creates a tsconfig.json file.\"),Successfully_created_a_tsconfig_json_file:s(6071,e.DiagnosticCategory.Message,\"Successfully_created_a_tsconfig_json_file_6071\",\"Successfully created a tsconfig.json file.\"),Suppress_excess_property_checks_for_object_literals:s(6072,e.DiagnosticCategory.Message,\"Suppress_excess_property_checks_for_object_literals_6072\",\"Suppress excess property checks for object literals.\"),Stylize_errors_and_messages_using_color_and_context_experimental:s(6073,e.DiagnosticCategory.Message,\"Stylize_errors_and_messages_using_color_and_context_experimental_6073\",\"Stylize errors and messages using color and context (experimental).\"),Do_not_report_errors_on_unused_labels:s(6074,e.DiagnosticCategory.Message,\"Do_not_report_errors_on_unused_labels_6074\",\"Do not report errors on unused labels.\"),Report_error_when_not_all_code_paths_in_function_return_a_value:s(6075,e.DiagnosticCategory.Message,\"Report_error_when_not_all_code_paths_in_function_return_a_value_6075\",\"Report error when not all code paths in function return a value.\"),Report_errors_for_fallthrough_cases_in_switch_statement:s(6076,e.DiagnosticCategory.Message,\"Report_errors_for_fallthrough_cases_in_switch_statement_6076\",\"Report errors for fallthrough cases in switch statement.\"),Do_not_report_errors_on_unreachable_code:s(6077,e.DiagnosticCategory.Message,\"Do_not_report_errors_on_unreachable_code_6077\",\"Do not report errors on unreachable code.\"),Disallow_inconsistently_cased_references_to_the_same_file:s(6078,e.DiagnosticCategory.Message,\"Disallow_inconsistently_cased_references_to_the_same_file_6078\",\"Disallow inconsistently-cased references to the same file.\"),Specify_library_files_to_be_included_in_the_compilation:s(6079,e.DiagnosticCategory.Message,\"Specify_library_files_to_be_included_in_the_compilation_6079\",\"Specify library files to be included in the compilation.\"),Specify_JSX_code_generation_Colon_preserve_react_native_react_react_jsx_or_react_jsxdev:s(6080,e.DiagnosticCategory.Message,\"Specify_JSX_code_generation_Colon_preserve_react_native_react_react_jsx_or_react_jsxdev_6080\",\"Specify JSX code generation: 'preserve', 'react-native', 'react', 'react-jsx' or 'react-jsxdev'.\"),File_0_has_an_unsupported_extension_so_skipping_it:s(6081,e.DiagnosticCategory.Message,\"File_0_has_an_unsupported_extension_so_skipping_it_6081\",\"File '{0}' has an unsupported extension, so skipping it.\"),Only_amd_and_system_modules_are_supported_alongside_0:s(6082,e.DiagnosticCategory.Error,\"Only_amd_and_system_modules_are_supported_alongside_0_6082\",\"Only 'amd' and 'system' modules are supported alongside --{0}.\"),Base_directory_to_resolve_non_absolute_module_names:s(6083,e.DiagnosticCategory.Message,\"Base_directory_to_resolve_non_absolute_module_names_6083\",\"Base directory to resolve non-absolute module names.\"),Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react_JSX_emit:s(6084,e.DiagnosticCategory.Message,\"Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react__6084\",\"[Deprecated] Use '--jsxFactory' instead. Specify the object invoked for createElement when targeting 'react' JSX emit\"),Enable_tracing_of_the_name_resolution_process:s(6085,e.DiagnosticCategory.Message,\"Enable_tracing_of_the_name_resolution_process_6085\",\"Enable tracing of the name resolution process.\"),Resolving_module_0_from_1:s(6086,e.DiagnosticCategory.Message,\"Resolving_module_0_from_1_6086\",\"======== Resolving module '{0}' from '{1}'. ========\"),Explicitly_specified_module_resolution_kind_Colon_0:s(6087,e.DiagnosticCategory.Message,\"Explicitly_specified_module_resolution_kind_Colon_0_6087\",\"Explicitly specified module resolution kind: '{0}'.\"),Module_resolution_kind_is_not_specified_using_0:s(6088,e.DiagnosticCategory.Message,\"Module_resolution_kind_is_not_specified_using_0_6088\",\"Module resolution kind is not specified, using '{0}'.\"),Module_name_0_was_successfully_resolved_to_1:s(6089,e.DiagnosticCategory.Message,\"Module_name_0_was_successfully_resolved_to_1_6089\",\"======== Module name '{0}' was successfully resolved to '{1}'. ========\"),Module_name_0_was_not_resolved:s(6090,e.DiagnosticCategory.Message,\"Module_name_0_was_not_resolved_6090\",\"======== Module name '{0}' was not resolved. ========\"),paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0:s(6091,e.DiagnosticCategory.Message,\"paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0_6091\",\"'paths' option is specified, looking for a pattern to match module name '{0}'.\"),Module_name_0_matched_pattern_1:s(6092,e.DiagnosticCategory.Message,\"Module_name_0_matched_pattern_1_6092\",\"Module name '{0}', matched pattern '{1}'.\"),Trying_substitution_0_candidate_module_location_Colon_1:s(6093,e.DiagnosticCategory.Message,\"Trying_substitution_0_candidate_module_location_Colon_1_6093\",\"Trying substitution '{0}', candidate module location: '{1}'.\"),Resolving_module_name_0_relative_to_base_url_1_2:s(6094,e.DiagnosticCategory.Message,\"Resolving_module_name_0_relative_to_base_url_1_2_6094\",\"Resolving module name '{0}' relative to base url '{1}' - '{2}'.\"),Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_type_1:s(6095,e.DiagnosticCategory.Message,\"Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_type_1_6095\",\"Loading module as file / folder, candidate module location '{0}', target file type '{1}'.\"),File_0_does_not_exist:s(6096,e.DiagnosticCategory.Message,\"File_0_does_not_exist_6096\",\"File '{0}' does not exist.\"),File_0_exist_use_it_as_a_name_resolution_result:s(6097,e.DiagnosticCategory.Message,\"File_0_exist_use_it_as_a_name_resolution_result_6097\",\"File '{0}' exist - use it as a name resolution result.\"),Loading_module_0_from_node_modules_folder_target_file_type_1:s(6098,e.DiagnosticCategory.Message,\"Loading_module_0_from_node_modules_folder_target_file_type_1_6098\",\"Loading module '{0}' from 'node_modules' folder, target file type '{1}'.\"),Found_package_json_at_0:s(6099,e.DiagnosticCategory.Message,\"Found_package_json_at_0_6099\",\"Found 'package.json' at '{0}'.\"),package_json_does_not_have_a_0_field:s(6100,e.DiagnosticCategory.Message,\"package_json_does_not_have_a_0_field_6100\",\"'package.json' does not have a '{0}' field.\"),package_json_has_0_field_1_that_references_2:s(6101,e.DiagnosticCategory.Message,\"package_json_has_0_field_1_that_references_2_6101\",\"'package.json' has '{0}' field '{1}' that references '{2}'.\"),Allow_javascript_files_to_be_compiled:s(6102,e.DiagnosticCategory.Message,\"Allow_javascript_files_to_be_compiled_6102\",\"Allow javascript files to be compiled.\"),Option_0_should_have_array_of_strings_as_a_value:s(6103,e.DiagnosticCategory.Error,\"Option_0_should_have_array_of_strings_as_a_value_6103\",\"Option '{0}' should have array of strings as a value.\"),Checking_if_0_is_the_longest_matching_prefix_for_1_2:s(6104,e.DiagnosticCategory.Message,\"Checking_if_0_is_the_longest_matching_prefix_for_1_2_6104\",\"Checking if '{0}' is the longest matching prefix for '{1}' - '{2}'.\"),Expected_type_of_0_field_in_package_json_to_be_1_got_2:s(6105,e.DiagnosticCategory.Message,\"Expected_type_of_0_field_in_package_json_to_be_1_got_2_6105\",\"Expected type of '{0}' field in 'package.json' to be '{1}', got '{2}'.\"),baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1:s(6106,e.DiagnosticCategory.Message,\"baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1_6106\",\"'baseUrl' option is set to '{0}', using this value to resolve non-relative module name '{1}'.\"),rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0:s(6107,e.DiagnosticCategory.Message,\"rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0_6107\",\"'rootDirs' option is set, using it to resolve relative module name '{0}'.\"),Longest_matching_prefix_for_0_is_1:s(6108,e.DiagnosticCategory.Message,\"Longest_matching_prefix_for_0_is_1_6108\",\"Longest matching prefix for '{0}' is '{1}'.\"),Loading_0_from_the_root_dir_1_candidate_location_2:s(6109,e.DiagnosticCategory.Message,\"Loading_0_from_the_root_dir_1_candidate_location_2_6109\",\"Loading '{0}' from the root dir '{1}', candidate location '{2}'.\"),Trying_other_entries_in_rootDirs:s(6110,e.DiagnosticCategory.Message,\"Trying_other_entries_in_rootDirs_6110\",\"Trying other entries in 'rootDirs'.\"),Module_resolution_using_rootDirs_has_failed:s(6111,e.DiagnosticCategory.Message,\"Module_resolution_using_rootDirs_has_failed_6111\",\"Module resolution using 'rootDirs' has failed.\"),Do_not_emit_use_strict_directives_in_module_output:s(6112,e.DiagnosticCategory.Message,\"Do_not_emit_use_strict_directives_in_module_output_6112\",\"Do not emit 'use strict' directives in module output.\"),Enable_strict_null_checks:s(6113,e.DiagnosticCategory.Message,\"Enable_strict_null_checks_6113\",\"Enable strict null checks.\"),Unknown_option_excludes_Did_you_mean_exclude:s(6114,e.DiagnosticCategory.Error,\"Unknown_option_excludes_Did_you_mean_exclude_6114\",\"Unknown option 'excludes'. Did you mean 'exclude'?\"),Raise_error_on_this_expressions_with_an_implied_any_type:s(6115,e.DiagnosticCategory.Message,\"Raise_error_on_this_expressions_with_an_implied_any_type_6115\",\"Raise error on 'this' expressions with an implied 'any' type.\"),Resolving_type_reference_directive_0_containing_file_1_root_directory_2:s(6116,e.DiagnosticCategory.Message,\"Resolving_type_reference_directive_0_containing_file_1_root_directory_2_6116\",\"======== Resolving type reference directive '{0}', containing file '{1}', root directory '{2}'. ========\"),Resolving_using_primary_search_paths:s(6117,e.DiagnosticCategory.Message,\"Resolving_using_primary_search_paths_6117\",\"Resolving using primary search paths...\"),Resolving_from_node_modules_folder:s(6118,e.DiagnosticCategory.Message,\"Resolving_from_node_modules_folder_6118\",\"Resolving from node_modules folder...\"),Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2:s(6119,e.DiagnosticCategory.Message,\"Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2_6119\",\"======== Type reference directive '{0}' was successfully resolved to '{1}', primary: {2}. ========\"),Type_reference_directive_0_was_not_resolved:s(6120,e.DiagnosticCategory.Message,\"Type_reference_directive_0_was_not_resolved_6120\",\"======== Type reference directive '{0}' was not resolved. ========\"),Resolving_with_primary_search_path_0:s(6121,e.DiagnosticCategory.Message,\"Resolving_with_primary_search_path_0_6121\",\"Resolving with primary search path '{0}'.\"),Root_directory_cannot_be_determined_skipping_primary_search_paths:s(6122,e.DiagnosticCategory.Message,\"Root_directory_cannot_be_determined_skipping_primary_search_paths_6122\",\"Root directory cannot be determined, skipping primary search paths.\"),Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set:s(6123,e.DiagnosticCategory.Message,\"Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set_6123\",\"======== Resolving type reference directive '{0}', containing file '{1}', root directory not set. ========\"),Type_declaration_files_to_be_included_in_compilation:s(6124,e.DiagnosticCategory.Message,\"Type_declaration_files_to_be_included_in_compilation_6124\",\"Type declaration files to be included in compilation.\"),Looking_up_in_node_modules_folder_initial_location_0:s(6125,e.DiagnosticCategory.Message,\"Looking_up_in_node_modules_folder_initial_location_0_6125\",\"Looking up in 'node_modules' folder, initial location '{0}'.\"),Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_modules_folder:s(6126,e.DiagnosticCategory.Message,\"Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_mod_6126\",\"Containing file is not specified and root directory cannot be determined, skipping lookup in 'node_modules' folder.\"),Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1:s(6127,e.DiagnosticCategory.Message,\"Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1_6127\",\"======== Resolving type reference directive '{0}', containing file not set, root directory '{1}'. ========\"),Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set:s(6128,e.DiagnosticCategory.Message,\"Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set_6128\",\"======== Resolving type reference directive '{0}', containing file not set, root directory not set. ========\"),Resolving_real_path_for_0_result_1:s(6130,e.DiagnosticCategory.Message,\"Resolving_real_path_for_0_result_1_6130\",\"Resolving real path for '{0}', result '{1}'.\"),Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system:s(6131,e.DiagnosticCategory.Error,\"Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system_6131\",\"Cannot compile modules using option '{0}' unless the '--module' flag is 'amd' or 'system'.\"),File_name_0_has_a_1_extension_stripping_it:s(6132,e.DiagnosticCategory.Message,\"File_name_0_has_a_1_extension_stripping_it_6132\",\"File name '{0}' has a '{1}' extension - stripping it.\"),_0_is_declared_but_its_value_is_never_read:s(6133,e.DiagnosticCategory.Error,\"_0_is_declared_but_its_value_is_never_read_6133\",\"'{0}' is declared but its value is never read.\",!0),Report_errors_on_unused_locals:s(6134,e.DiagnosticCategory.Message,\"Report_errors_on_unused_locals_6134\",\"Report errors on unused locals.\"),Report_errors_on_unused_parameters:s(6135,e.DiagnosticCategory.Message,\"Report_errors_on_unused_parameters_6135\",\"Report errors on unused parameters.\"),The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files:s(6136,e.DiagnosticCategory.Message,\"The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files_6136\",\"The maximum dependency depth to search under node_modules and load JavaScript files.\"),Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1:s(6137,e.DiagnosticCategory.Error,\"Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1_6137\",\"Cannot import type declaration files. Consider importing '{0}' instead of '{1}'.\"),Property_0_is_declared_but_its_value_is_never_read:s(6138,e.DiagnosticCategory.Error,\"Property_0_is_declared_but_its_value_is_never_read_6138\",\"Property '{0}' is declared but its value is never read.\",!0),Import_emit_helpers_from_tslib:s(6139,e.DiagnosticCategory.Message,\"Import_emit_helpers_from_tslib_6139\",\"Import emit helpers from 'tslib'.\"),Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using_cache_location_2:s(6140,e.DiagnosticCategory.Error,\"Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using__6140\",\"Auto discovery for typings is enabled in project '{0}'. Running extra resolution pass for module '{1}' using cache location '{2}'.\"),Parse_in_strict_mode_and_emit_use_strict_for_each_source_file:s(6141,e.DiagnosticCategory.Message,\"Parse_in_strict_mode_and_emit_use_strict_for_each_source_file_6141\",'Parse in strict mode and emit \"use strict\" for each source file.'),Module_0_was_resolved_to_1_but_jsx_is_not_set:s(6142,e.DiagnosticCategory.Error,\"Module_0_was_resolved_to_1_but_jsx_is_not_set_6142\",\"Module '{0}' was resolved to '{1}', but '--jsx' is not set.\"),Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1:s(6144,e.DiagnosticCategory.Message,\"Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1_6144\",\"Module '{0}' was resolved as locally declared ambient module in file '{1}'.\"),Module_0_was_resolved_as_ambient_module_declared_in_1_since_this_file_was_not_modified:s(6145,e.DiagnosticCategory.Message,\"Module_0_was_resolved_as_ambient_module_declared_in_1_since_this_file_was_not_modified_6145\",\"Module '{0}' was resolved as ambient module declared in '{1}' since this file was not modified.\"),Specify_the_JSX_factory_function_to_use_when_targeting_react_JSX_emit_e_g_React_createElement_or_h:s(6146,e.DiagnosticCategory.Message,\"Specify_the_JSX_factory_function_to_use_when_targeting_react_JSX_emit_e_g_React_createElement_or_h_6146\",\"Specify the JSX factory function to use when targeting 'react' JSX emit, e.g. 'React.createElement' or 'h'.\"),Resolution_for_module_0_was_found_in_cache_from_location_1:s(6147,e.DiagnosticCategory.Message,\"Resolution_for_module_0_was_found_in_cache_from_location_1_6147\",\"Resolution for module '{0}' was found in cache from location '{1}'.\"),Directory_0_does_not_exist_skipping_all_lookups_in_it:s(6148,e.DiagnosticCategory.Message,\"Directory_0_does_not_exist_skipping_all_lookups_in_it_6148\",\"Directory '{0}' does not exist, skipping all lookups in it.\"),Show_diagnostic_information:s(6149,e.DiagnosticCategory.Message,\"Show_diagnostic_information_6149\",\"Show diagnostic information.\"),Show_verbose_diagnostic_information:s(6150,e.DiagnosticCategory.Message,\"Show_verbose_diagnostic_information_6150\",\"Show verbose diagnostic information.\"),Emit_a_single_file_with_source_maps_instead_of_having_a_separate_file:s(6151,e.DiagnosticCategory.Message,\"Emit_a_single_file_with_source_maps_instead_of_having_a_separate_file_6151\",\"Emit a single file with source maps instead of having a separate file.\"),Emit_the_source_alongside_the_sourcemaps_within_a_single_file_requires_inlineSourceMap_or_sourceMap_to_be_set:s(6152,e.DiagnosticCategory.Message,\"Emit_the_source_alongside_the_sourcemaps_within_a_single_file_requires_inlineSourceMap_or_sourceMap__6152\",\"Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set.\"),Transpile_each_file_as_a_separate_module_similar_to_ts_transpileModule:s(6153,e.DiagnosticCategory.Message,\"Transpile_each_file_as_a_separate_module_similar_to_ts_transpileModule_6153\",\"Transpile each file as a separate module (similar to 'ts.transpileModule').\"),Print_names_of_generated_files_part_of_the_compilation:s(6154,e.DiagnosticCategory.Message,\"Print_names_of_generated_files_part_of_the_compilation_6154\",\"Print names of generated files part of the compilation.\"),Print_names_of_files_part_of_the_compilation:s(6155,e.DiagnosticCategory.Message,\"Print_names_of_files_part_of_the_compilation_6155\",\"Print names of files part of the compilation.\"),The_locale_used_when_displaying_messages_to_the_user_e_g_en_us:s(6156,e.DiagnosticCategory.Message,\"The_locale_used_when_displaying_messages_to_the_user_e_g_en_us_6156\",\"The locale used when displaying messages to the user (e.g. 'en-us')\"),Do_not_generate_custom_helper_functions_like_extends_in_compiled_output:s(6157,e.DiagnosticCategory.Message,\"Do_not_generate_custom_helper_functions_like_extends_in_compiled_output_6157\",\"Do not generate custom helper functions like '__extends' in compiled output.\"),Do_not_include_the_default_library_file_lib_d_ts:s(6158,e.DiagnosticCategory.Message,\"Do_not_include_the_default_library_file_lib_d_ts_6158\",\"Do not include the default library file (lib.d.ts).\"),Do_not_add_triple_slash_references_or_imported_modules_to_the_list_of_compiled_files:s(6159,e.DiagnosticCategory.Message,\"Do_not_add_triple_slash_references_or_imported_modules_to_the_list_of_compiled_files_6159\",\"Do not add triple-slash references or imported modules to the list of compiled files.\"),Deprecated_Use_skipLibCheck_instead_Skip_type_checking_of_default_library_declaration_files:s(6160,e.DiagnosticCategory.Message,\"Deprecated_Use_skipLibCheck_instead_Skip_type_checking_of_default_library_declaration_files_6160\",\"[Deprecated] Use '--skipLibCheck' instead. Skip type checking of default library declaration files.\"),List_of_folders_to_include_type_definitions_from:s(6161,e.DiagnosticCategory.Message,\"List_of_folders_to_include_type_definitions_from_6161\",\"List of folders to include type definitions from.\"),Disable_size_limitations_on_JavaScript_projects:s(6162,e.DiagnosticCategory.Message,\"Disable_size_limitations_on_JavaScript_projects_6162\",\"Disable size limitations on JavaScript projects.\"),The_character_set_of_the_input_files:s(6163,e.DiagnosticCategory.Message,\"The_character_set_of_the_input_files_6163\",\"The character set of the input files.\"),Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files:s(6164,e.DiagnosticCategory.Message,\"Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files_6164\",\"Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files.\"),Do_not_truncate_error_messages:s(6165,e.DiagnosticCategory.Message,\"Do_not_truncate_error_messages_6165\",\"Do not truncate error messages.\"),Output_directory_for_generated_declaration_files:s(6166,e.DiagnosticCategory.Message,\"Output_directory_for_generated_declaration_files_6166\",\"Output directory for generated declaration files.\"),A_series_of_entries_which_re_map_imports_to_lookup_locations_relative_to_the_baseUrl:s(6167,e.DiagnosticCategory.Message,\"A_series_of_entries_which_re_map_imports_to_lookup_locations_relative_to_the_baseUrl_6167\",\"A series of entries which re-map imports to lookup locations relative to the 'baseUrl'.\"),List_of_root_folders_whose_combined_content_represents_the_structure_of_the_project_at_runtime:s(6168,e.DiagnosticCategory.Message,\"List_of_root_folders_whose_combined_content_represents_the_structure_of_the_project_at_runtime_6168\",\"List of root folders whose combined content represents the structure of the project at runtime.\"),Show_all_compiler_options:s(6169,e.DiagnosticCategory.Message,\"Show_all_compiler_options_6169\",\"Show all compiler options.\"),Deprecated_Use_outFile_instead_Concatenate_and_emit_output_to_single_file:s(6170,e.DiagnosticCategory.Message,\"Deprecated_Use_outFile_instead_Concatenate_and_emit_output_to_single_file_6170\",\"[Deprecated] Use '--outFile' instead. Concatenate and emit output to single file\"),Command_line_Options:s(6171,e.DiagnosticCategory.Message,\"Command_line_Options_6171\",\"Command-line Options\"),Basic_Options:s(6172,e.DiagnosticCategory.Message,\"Basic_Options_6172\",\"Basic Options\"),Strict_Type_Checking_Options:s(6173,e.DiagnosticCategory.Message,\"Strict_Type_Checking_Options_6173\",\"Strict Type-Checking Options\"),Module_Resolution_Options:s(6174,e.DiagnosticCategory.Message,\"Module_Resolution_Options_6174\",\"Module Resolution Options\"),Source_Map_Options:s(6175,e.DiagnosticCategory.Message,\"Source_Map_Options_6175\",\"Source Map Options\"),Additional_Checks:s(6176,e.DiagnosticCategory.Message,\"Additional_Checks_6176\",\"Additional Checks\"),Experimental_Options:s(6177,e.DiagnosticCategory.Message,\"Experimental_Options_6177\",\"Experimental Options\"),Advanced_Options:s(6178,e.DiagnosticCategory.Message,\"Advanced_Options_6178\",\"Advanced Options\"),Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5_or_ES3:s(6179,e.DiagnosticCategory.Message,\"Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5_or_ES3_6179\",\"Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'.\"),Enable_all_strict_type_checking_options:s(6180,e.DiagnosticCategory.Message,\"Enable_all_strict_type_checking_options_6180\",\"Enable all strict type-checking options.\"),List_of_language_service_plugins:s(6181,e.DiagnosticCategory.Message,\"List_of_language_service_plugins_6181\",\"List of language service plugins.\"),Scoped_package_detected_looking_in_0:s(6182,e.DiagnosticCategory.Message,\"Scoped_package_detected_looking_in_0_6182\",\"Scoped package detected, looking in '{0}'\"),Reusing_resolution_of_module_0_to_file_1_from_old_program:s(6183,e.DiagnosticCategory.Message,\"Reusing_resolution_of_module_0_to_file_1_from_old_program_6183\",\"Reusing resolution of module '{0}' to file '{1}' from old program.\"),Reusing_module_resolutions_originating_in_0_since_resolutions_are_unchanged_from_old_program:s(6184,e.DiagnosticCategory.Message,\"Reusing_module_resolutions_originating_in_0_since_resolutions_are_unchanged_from_old_program_6184\",\"Reusing module resolutions originating in '{0}' since resolutions are unchanged from old program.\"),Disable_strict_checking_of_generic_signatures_in_function_types:s(6185,e.DiagnosticCategory.Message,\"Disable_strict_checking_of_generic_signatures_in_function_types_6185\",\"Disable strict checking of generic signatures in function types.\"),Enable_strict_checking_of_function_types:s(6186,e.DiagnosticCategory.Message,\"Enable_strict_checking_of_function_types_6186\",\"Enable strict checking of function types.\"),Enable_strict_checking_of_property_initialization_in_classes:s(6187,e.DiagnosticCategory.Message,\"Enable_strict_checking_of_property_initialization_in_classes_6187\",\"Enable strict checking of property initialization in classes.\"),Numeric_separators_are_not_allowed_here:s(6188,e.DiagnosticCategory.Error,\"Numeric_separators_are_not_allowed_here_6188\",\"Numeric separators are not allowed here.\"),Multiple_consecutive_numeric_separators_are_not_permitted:s(6189,e.DiagnosticCategory.Error,\"Multiple_consecutive_numeric_separators_are_not_permitted_6189\",\"Multiple consecutive numeric separators are not permitted.\"),Whether_to_keep_outdated_console_output_in_watch_mode_instead_of_clearing_the_screen:s(6191,e.DiagnosticCategory.Message,\"Whether_to_keep_outdated_console_output_in_watch_mode_instead_of_clearing_the_screen_6191\",\"Whether to keep outdated console output in watch mode instead of clearing the screen.\"),All_imports_in_import_declaration_are_unused:s(6192,e.DiagnosticCategory.Error,\"All_imports_in_import_declaration_are_unused_6192\",\"All imports in import declaration are unused.\",!0),Found_1_error_Watching_for_file_changes:s(6193,e.DiagnosticCategory.Message,\"Found_1_error_Watching_for_file_changes_6193\",\"Found 1 error. Watching for file changes.\"),Found_0_errors_Watching_for_file_changes:s(6194,e.DiagnosticCategory.Message,\"Found_0_errors_Watching_for_file_changes_6194\",\"Found {0} errors. Watching for file changes.\"),Resolve_keyof_to_string_valued_property_names_only_no_numbers_or_symbols:s(6195,e.DiagnosticCategory.Message,\"Resolve_keyof_to_string_valued_property_names_only_no_numbers_or_symbols_6195\",\"Resolve 'keyof' to string valued property names only (no numbers or symbols).\"),_0_is_declared_but_never_used:s(6196,e.DiagnosticCategory.Error,\"_0_is_declared_but_never_used_6196\",\"'{0}' is declared but never used.\",!0),Include_modules_imported_with_json_extension:s(6197,e.DiagnosticCategory.Message,\"Include_modules_imported_with_json_extension_6197\",\"Include modules imported with '.json' extension\"),All_destructured_elements_are_unused:s(6198,e.DiagnosticCategory.Error,\"All_destructured_elements_are_unused_6198\",\"All destructured elements are unused.\",!0),All_variables_are_unused:s(6199,e.DiagnosticCategory.Error,\"All_variables_are_unused_6199\",\"All variables are unused.\",!0),Definitions_of_the_following_identifiers_conflict_with_those_in_another_file_Colon_0:s(6200,e.DiagnosticCategory.Error,\"Definitions_of_the_following_identifiers_conflict_with_those_in_another_file_Colon_0_6200\",\"Definitions of the following identifiers conflict with those in another file: {0}\"),Conflicts_are_in_this_file:s(6201,e.DiagnosticCategory.Message,\"Conflicts_are_in_this_file_6201\",\"Conflicts are in this file.\"),Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0:s(6202,e.DiagnosticCategory.Error,\"Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0_6202\",\"Project references may not form a circular graph. Cycle detected: {0}\"),_0_was_also_declared_here:s(6203,e.DiagnosticCategory.Message,\"_0_was_also_declared_here_6203\",\"'{0}' was also declared here.\"),and_here:s(6204,e.DiagnosticCategory.Message,\"and_here_6204\",\"and here.\"),All_type_parameters_are_unused:s(6205,e.DiagnosticCategory.Error,\"All_type_parameters_are_unused_6205\",\"All type parameters are unused.\"),package_json_has_a_typesVersions_field_with_version_specific_path_mappings:s(6206,e.DiagnosticCategory.Message,\"package_json_has_a_typesVersions_field_with_version_specific_path_mappings_6206\",\"'package.json' has a 'typesVersions' field with version-specific path mappings.\"),package_json_does_not_have_a_typesVersions_entry_that_matches_version_0:s(6207,e.DiagnosticCategory.Message,\"package_json_does_not_have_a_typesVersions_entry_that_matches_version_0_6207\",\"'package.json' does not have a 'typesVersions' entry that matches version '{0}'.\"),package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2:s(6208,e.DiagnosticCategory.Message,\"package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_ma_6208\",\"'package.json' has a 'typesVersions' entry '{0}' that matches compiler version '{1}', looking for a pattern to match module name '{2}'.\"),package_json_has_a_typesVersions_entry_0_that_is_not_a_valid_semver_range:s(6209,e.DiagnosticCategory.Message,\"package_json_has_a_typesVersions_entry_0_that_is_not_a_valid_semver_range_6209\",\"'package.json' has a 'typesVersions' entry '{0}' that is not a valid semver range.\"),An_argument_for_0_was_not_provided:s(6210,e.DiagnosticCategory.Message,\"An_argument_for_0_was_not_provided_6210\",\"An argument for '{0}' was not provided.\"),An_argument_matching_this_binding_pattern_was_not_provided:s(6211,e.DiagnosticCategory.Message,\"An_argument_matching_this_binding_pattern_was_not_provided_6211\",\"An argument matching this binding pattern was not provided.\"),Did_you_mean_to_call_this_expression:s(6212,e.DiagnosticCategory.Message,\"Did_you_mean_to_call_this_expression_6212\",\"Did you mean to call this expression?\"),Did_you_mean_to_use_new_with_this_expression:s(6213,e.DiagnosticCategory.Message,\"Did_you_mean_to_use_new_with_this_expression_6213\",\"Did you mean to use 'new' with this expression?\"),Enable_strict_bind_call_and_apply_methods_on_functions:s(6214,e.DiagnosticCategory.Message,\"Enable_strict_bind_call_and_apply_methods_on_functions_6214\",\"Enable strict 'bind', 'call', and 'apply' methods on functions.\"),Using_compiler_options_of_project_reference_redirect_0:s(6215,e.DiagnosticCategory.Message,\"Using_compiler_options_of_project_reference_redirect_0_6215\",\"Using compiler options of project reference redirect '{0}'.\"),Found_1_error:s(6216,e.DiagnosticCategory.Message,\"Found_1_error_6216\",\"Found 1 error.\"),Found_0_errors:s(6217,e.DiagnosticCategory.Message,\"Found_0_errors_6217\",\"Found {0} errors.\"),Module_name_0_was_successfully_resolved_to_1_with_Package_ID_2:s(6218,e.DiagnosticCategory.Message,\"Module_name_0_was_successfully_resolved_to_1_with_Package_ID_2_6218\",\"======== Module name '{0}' was successfully resolved to '{1}' with Package ID '{2}'. ========\"),Type_reference_directive_0_was_successfully_resolved_to_1_with_Package_ID_2_primary_Colon_3:s(6219,e.DiagnosticCategory.Message,\"Type_reference_directive_0_was_successfully_resolved_to_1_with_Package_ID_2_primary_Colon_3_6219\",\"======== Type reference directive '{0}' was successfully resolved to '{1}' with Package ID '{2}', primary: {3}. ========\"),package_json_had_a_falsy_0_field:s(6220,e.DiagnosticCategory.Message,\"package_json_had_a_falsy_0_field_6220\",\"'package.json' had a falsy '{0}' field.\"),Disable_use_of_source_files_instead_of_declaration_files_from_referenced_projects:s(6221,e.DiagnosticCategory.Message,\"Disable_use_of_source_files_instead_of_declaration_files_from_referenced_projects_6221\",\"Disable use of source files instead of declaration files from referenced projects.\"),Emit_class_fields_with_Define_instead_of_Set:s(6222,e.DiagnosticCategory.Message,\"Emit_class_fields_with_Define_instead_of_Set_6222\",\"Emit class fields with Define instead of Set.\"),Generates_a_CPU_profile:s(6223,e.DiagnosticCategory.Message,\"Generates_a_CPU_profile_6223\",\"Generates a CPU profile.\"),Disable_solution_searching_for_this_project:s(6224,e.DiagnosticCategory.Message,\"Disable_solution_searching_for_this_project_6224\",\"Disable solution searching for this project.\"),Specify_strategy_for_watching_file_Colon_FixedPollingInterval_default_PriorityPollingInterval_DynamicPriorityPolling_FixedChunkSizePolling_UseFsEvents_UseFsEventsOnParentDirectory:s(6225,e.DiagnosticCategory.Message,\"Specify_strategy_for_watching_file_Colon_FixedPollingInterval_default_PriorityPollingInterval_Dynami_6225\",\"Specify strategy for watching file: 'FixedPollingInterval' (default), 'PriorityPollingInterval', 'DynamicPriorityPolling', 'FixedChunkSizePolling', 'UseFsEvents', 'UseFsEventsOnParentDirectory'.\"),Specify_strategy_for_watching_directory_on_platforms_that_don_t_support_recursive_watching_natively_Colon_UseFsEvents_default_FixedPollingInterval_DynamicPriorityPolling_FixedChunkSizePolling:s(6226,e.DiagnosticCategory.Message,\"Specify_strategy_for_watching_directory_on_platforms_that_don_t_support_recursive_watching_natively__6226\",\"Specify strategy for watching directory on platforms that don't support recursive watching natively: 'UseFsEvents' (default), 'FixedPollingInterval', 'DynamicPriorityPolling', 'FixedChunkSizePolling'.\"),Specify_strategy_for_creating_a_polling_watch_when_it_fails_to_create_using_file_system_events_Colon_FixedInterval_default_PriorityInterval_DynamicPriority_FixedChunkSize:s(6227,e.DiagnosticCategory.Message,\"Specify_strategy_for_creating_a_polling_watch_when_it_fails_to_create_using_file_system_events_Colon_6227\",\"Specify strategy for creating a polling watch when it fails to create using file system events: 'FixedInterval' (default), 'PriorityInterval', 'DynamicPriority', 'FixedChunkSize'.\"),Synchronously_call_callbacks_and_update_the_state_of_directory_watchers_on_platforms_that_don_t_support_recursive_watching_natively:s(6228,e.DiagnosticCategory.Message,\"Synchronously_call_callbacks_and_update_the_state_of_directory_watchers_on_platforms_that_don_t_supp_6228\",\"Synchronously call callbacks and update the state of directory watchers on platforms that don't support recursive watching natively.\"),Tag_0_expects_at_least_1_arguments_but_the_JSX_factory_2_provides_at_most_3:s(6229,e.DiagnosticCategory.Error,\"Tag_0_expects_at_least_1_arguments_but_the_JSX_factory_2_provides_at_most_3_6229\",\"Tag '{0}' expects at least '{1}' arguments, but the JSX factory '{2}' provides at most '{3}'.\"),Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_false_or_null_on_command_line:s(6230,e.DiagnosticCategory.Error,\"Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_false_or_null_on_command_line_6230\",\"Option '{0}' can only be specified in 'tsconfig.json' file or set to 'false' or 'null' on command line.\"),Could_not_resolve_the_path_0_with_the_extensions_Colon_1:s(6231,e.DiagnosticCategory.Error,\"Could_not_resolve_the_path_0_with_the_extensions_Colon_1_6231\",\"Could not resolve the path '{0}' with the extensions: {1}.\"),Declaration_augments_declaration_in_another_file_This_cannot_be_serialized:s(6232,e.DiagnosticCategory.Error,\"Declaration_augments_declaration_in_another_file_This_cannot_be_serialized_6232\",\"Declaration augments declaration in another file. This cannot be serialized.\"),This_is_the_declaration_being_augmented_Consider_moving_the_augmenting_declaration_into_the_same_file:s(6233,e.DiagnosticCategory.Error,\"This_is_the_declaration_being_augmented_Consider_moving_the_augmenting_declaration_into_the_same_fil_6233\",\"This is the declaration being augmented. Consider moving the augmenting declaration into the same file.\"),This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without:s(6234,e.DiagnosticCategory.Error,\"This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without_6234\",\"This expression is not callable because it is a 'get' accessor. Did you mean to use it without '()'?\"),Disable_loading_referenced_projects:s(6235,e.DiagnosticCategory.Message,\"Disable_loading_referenced_projects_6235\",\"Disable loading referenced projects.\"),Arguments_for_the_rest_parameter_0_were_not_provided:s(6236,e.DiagnosticCategory.Error,\"Arguments_for_the_rest_parameter_0_were_not_provided_6236\",\"Arguments for the rest parameter '{0}' were not provided.\"),Generates_an_event_trace_and_a_list_of_types:s(6237,e.DiagnosticCategory.Message,\"Generates_an_event_trace_and_a_list_of_types_6237\",\"Generates an event trace and a list of types.\"),Specify_the_module_specifier_to_be_used_to_import_the_jsx_and_jsxs_factory_functions_from_eg_react:s(6238,e.DiagnosticCategory.Error,\"Specify_the_module_specifier_to_be_used_to_import_the_jsx_and_jsxs_factory_functions_from_eg_react_6238\",\"Specify the module specifier to be used to import the 'jsx' and 'jsxs' factory functions from. eg, react\"),File_0_exists_according_to_earlier_cached_lookups:s(6239,e.DiagnosticCategory.Message,\"File_0_exists_according_to_earlier_cached_lookups_6239\",\"File '{0}' exists according to earlier cached lookups.\"),File_0_does_not_exist_according_to_earlier_cached_lookups:s(6240,e.DiagnosticCategory.Message,\"File_0_does_not_exist_according_to_earlier_cached_lookups_6240\",\"File '{0}' does not exist according to earlier cached lookups.\"),Resolution_for_type_reference_directive_0_was_found_in_cache_from_location_1:s(6241,e.DiagnosticCategory.Message,\"Resolution_for_type_reference_directive_0_was_found_in_cache_from_location_1_6241\",\"Resolution for type reference directive '{0}' was found in cache from location '{1}'.\"),Resolving_type_reference_directive_0_containing_file_1:s(6242,e.DiagnosticCategory.Message,\"Resolving_type_reference_directive_0_containing_file_1_6242\",\"======== Resolving type reference directive '{0}', containing file '{1}'. ========\"),Projects_to_reference:s(6300,e.DiagnosticCategory.Message,\"Projects_to_reference_6300\",\"Projects to reference\"),Enable_project_compilation:s(6302,e.DiagnosticCategory.Message,\"Enable_project_compilation_6302\",\"Enable project compilation\"),Composite_projects_may_not_disable_declaration_emit:s(6304,e.DiagnosticCategory.Error,\"Composite_projects_may_not_disable_declaration_emit_6304\",\"Composite projects may not disable declaration emit.\"),Output_file_0_has_not_been_built_from_source_file_1:s(6305,e.DiagnosticCategory.Error,\"Output_file_0_has_not_been_built_from_source_file_1_6305\",\"Output file '{0}' has not been built from source file '{1}'.\"),Referenced_project_0_must_have_setting_composite_Colon_true:s(6306,e.DiagnosticCategory.Error,\"Referenced_project_0_must_have_setting_composite_Colon_true_6306\",`Referenced project '{0}' must have setting \"composite\": true.`),File_0_is_not_listed_within_the_file_list_of_project_1_Projects_must_list_all_files_or_use_an_include_pattern:s(6307,e.DiagnosticCategory.Error,\"File_0_is_not_listed_within_the_file_list_of_project_1_Projects_must_list_all_files_or_use_an_includ_6307\",\"File '{0}' is not listed within the file list of project '{1}'. Projects must list all files or use an 'include' pattern.\"),Cannot_prepend_project_0_because_it_does_not_have_outFile_set:s(6308,e.DiagnosticCategory.Error,\"Cannot_prepend_project_0_because_it_does_not_have_outFile_set_6308\",\"Cannot prepend project '{0}' because it does not have 'outFile' set\"),Output_file_0_from_project_1_does_not_exist:s(6309,e.DiagnosticCategory.Error,\"Output_file_0_from_project_1_does_not_exist_6309\",\"Output file '{0}' from project '{1}' does not exist\"),Referenced_project_0_may_not_disable_emit:s(6310,e.DiagnosticCategory.Error,\"Referenced_project_0_may_not_disable_emit_6310\",\"Referenced project '{0}' may not disable emit.\"),Project_0_is_out_of_date_because_oldest_output_1_is_older_than_newest_input_2:s(6350,e.DiagnosticCategory.Message,\"Project_0_is_out_of_date_because_oldest_output_1_is_older_than_newest_input_2_6350\",\"Project '{0}' is out of date because oldest output '{1}' is older than newest input '{2}'\"),Project_0_is_up_to_date_because_newest_input_1_is_older_than_oldest_output_2:s(6351,e.DiagnosticCategory.Message,\"Project_0_is_up_to_date_because_newest_input_1_is_older_than_oldest_output_2_6351\",\"Project '{0}' is up to date because newest input '{1}' is older than oldest output '{2}'\"),Project_0_is_out_of_date_because_output_file_1_does_not_exist:s(6352,e.DiagnosticCategory.Message,\"Project_0_is_out_of_date_because_output_file_1_does_not_exist_6352\",\"Project '{0}' is out of date because output file '{1}' does not exist\"),Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date:s(6353,e.DiagnosticCategory.Message,\"Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date_6353\",\"Project '{0}' is out of date because its dependency '{1}' is out of date\"),Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies:s(6354,e.DiagnosticCategory.Message,\"Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies_6354\",\"Project '{0}' is up to date with .d.ts files from its dependencies\"),Projects_in_this_build_Colon_0:s(6355,e.DiagnosticCategory.Message,\"Projects_in_this_build_Colon_0_6355\",\"Projects in this build: {0}\"),A_non_dry_build_would_delete_the_following_files_Colon_0:s(6356,e.DiagnosticCategory.Message,\"A_non_dry_build_would_delete_the_following_files_Colon_0_6356\",\"A non-dry build would delete the following files: {0}\"),A_non_dry_build_would_build_project_0:s(6357,e.DiagnosticCategory.Message,\"A_non_dry_build_would_build_project_0_6357\",\"A non-dry build would build project '{0}'\"),Building_project_0:s(6358,e.DiagnosticCategory.Message,\"Building_project_0_6358\",\"Building project '{0}'...\"),Updating_output_timestamps_of_project_0:s(6359,e.DiagnosticCategory.Message,\"Updating_output_timestamps_of_project_0_6359\",\"Updating output timestamps of project '{0}'...\"),delete_this_Project_0_is_up_to_date_because_it_was_previously_built:s(6360,e.DiagnosticCategory.Message,\"delete_this_Project_0_is_up_to_date_because_it_was_previously_built_6360\",\"delete this - Project '{0}' is up to date because it was previously built\"),Project_0_is_up_to_date:s(6361,e.DiagnosticCategory.Message,\"Project_0_is_up_to_date_6361\",\"Project '{0}' is up to date\"),Skipping_build_of_project_0_because_its_dependency_1_has_errors:s(6362,e.DiagnosticCategory.Message,\"Skipping_build_of_project_0_because_its_dependency_1_has_errors_6362\",\"Skipping build of project '{0}' because its dependency '{1}' has errors\"),Project_0_can_t_be_built_because_its_dependency_1_has_errors:s(6363,e.DiagnosticCategory.Message,\"Project_0_can_t_be_built_because_its_dependency_1_has_errors_6363\",\"Project '{0}' can't be built because its dependency '{1}' has errors\"),Build_one_or_more_projects_and_their_dependencies_if_out_of_date:s(6364,e.DiagnosticCategory.Message,\"Build_one_or_more_projects_and_their_dependencies_if_out_of_date_6364\",\"Build one or more projects and their dependencies, if out of date\"),Delete_the_outputs_of_all_projects:s(6365,e.DiagnosticCategory.Message,\"Delete_the_outputs_of_all_projects_6365\",\"Delete the outputs of all projects\"),Enable_verbose_logging:s(6366,e.DiagnosticCategory.Message,\"Enable_verbose_logging_6366\",\"Enable verbose logging\"),Show_what_would_be_built_or_deleted_if_specified_with_clean:s(6367,e.DiagnosticCategory.Message,\"Show_what_would_be_built_or_deleted_if_specified_with_clean_6367\",\"Show what would be built (or deleted, if specified with '--clean')\"),Build_all_projects_including_those_that_appear_to_be_up_to_date:s(6368,e.DiagnosticCategory.Message,\"Build_all_projects_including_those_that_appear_to_be_up_to_date_6368\",\"Build all projects, including those that appear to be up to date\"),Option_build_must_be_the_first_command_line_argument:s(6369,e.DiagnosticCategory.Error,\"Option_build_must_be_the_first_command_line_argument_6369\",\"Option '--build' must be the first command line argument.\"),Options_0_and_1_cannot_be_combined:s(6370,e.DiagnosticCategory.Error,\"Options_0_and_1_cannot_be_combined_6370\",\"Options '{0}' and '{1}' cannot be combined.\"),Updating_unchanged_output_timestamps_of_project_0:s(6371,e.DiagnosticCategory.Message,\"Updating_unchanged_output_timestamps_of_project_0_6371\",\"Updating unchanged output timestamps of project '{0}'...\"),Project_0_is_out_of_date_because_output_of_its_dependency_1_has_changed:s(6372,e.DiagnosticCategory.Message,\"Project_0_is_out_of_date_because_output_of_its_dependency_1_has_changed_6372\",\"Project '{0}' is out of date because output of its dependency '{1}' has changed\"),Updating_output_of_project_0:s(6373,e.DiagnosticCategory.Message,\"Updating_output_of_project_0_6373\",\"Updating output of project '{0}'...\"),A_non_dry_build_would_update_timestamps_for_output_of_project_0:s(6374,e.DiagnosticCategory.Message,\"A_non_dry_build_would_update_timestamps_for_output_of_project_0_6374\",\"A non-dry build would update timestamps for output of project '{0}'\"),A_non_dry_build_would_update_output_of_project_0:s(6375,e.DiagnosticCategory.Message,\"A_non_dry_build_would_update_output_of_project_0_6375\",\"A non-dry build would update output of project '{0}'\"),Cannot_update_output_of_project_0_because_there_was_error_reading_file_1:s(6376,e.DiagnosticCategory.Message,\"Cannot_update_output_of_project_0_because_there_was_error_reading_file_1_6376\",\"Cannot update output of project '{0}' because there was error reading file '{1}'\"),Cannot_write_file_0_because_it_will_overwrite_tsbuildinfo_file_generated_by_referenced_project_1:s(6377,e.DiagnosticCategory.Error,\"Cannot_write_file_0_because_it_will_overwrite_tsbuildinfo_file_generated_by_referenced_project_1_6377\",\"Cannot write file '{0}' because it will overwrite '.tsbuildinfo' file generated by referenced project '{1}'\"),Enable_incremental_compilation:s(6378,e.DiagnosticCategory.Message,\"Enable_incremental_compilation_6378\",\"Enable incremental compilation\"),Composite_projects_may_not_disable_incremental_compilation:s(6379,e.DiagnosticCategory.Error,\"Composite_projects_may_not_disable_incremental_compilation_6379\",\"Composite projects may not disable incremental compilation.\"),Specify_file_to_store_incremental_compilation_information:s(6380,e.DiagnosticCategory.Message,\"Specify_file_to_store_incremental_compilation_information_6380\",\"Specify file to store incremental compilation information\"),Project_0_is_out_of_date_because_output_for_it_was_generated_with_version_1_that_differs_with_current_version_2:s(6381,e.DiagnosticCategory.Message,\"Project_0_is_out_of_date_because_output_for_it_was_generated_with_version_1_that_differs_with_curren_6381\",\"Project '{0}' is out of date because output for it was generated with version '{1}' that differs with current version '{2}'\"),Skipping_build_of_project_0_because_its_dependency_1_was_not_built:s(6382,e.DiagnosticCategory.Message,\"Skipping_build_of_project_0_because_its_dependency_1_was_not_built_6382\",\"Skipping build of project '{0}' because its dependency '{1}' was not built\"),Project_0_can_t_be_built_because_its_dependency_1_was_not_built:s(6383,e.DiagnosticCategory.Message,\"Project_0_can_t_be_built_because_its_dependency_1_was_not_built_6383\",\"Project '{0}' can't be built because its dependency '{1}' was not built\"),Have_recompiles_in_incremental_and_watch_assume_that_changes_within_a_file_will_only_affect_files_directly_depending_on_it:s(6384,e.DiagnosticCategory.Message,\"Have_recompiles_in_incremental_and_watch_assume_that_changes_within_a_file_will_only_affect_files_di_6384\",\"Have recompiles in '--incremental' and '--watch' assume that changes within a file will only affect files directly depending on it.\"),_0_is_deprecated:s(6385,e.DiagnosticCategory.Suggestion,\"_0_is_deprecated_6385\",\"'{0}' is deprecated.\",void 0,void 0,!0),Performance_timings_for_diagnostics_or_extendedDiagnostics_are_not_available_in_this_session_A_native_implementation_of_the_Web_Performance_API_could_not_be_found:s(6386,e.DiagnosticCategory.Message,\"Performance_timings_for_diagnostics_or_extendedDiagnostics_are_not_available_in_this_session_A_nativ_6386\",\"Performance timings for '--diagnostics' or '--extendedDiagnostics' are not available in this session. A native implementation of the Web Performance API could not be found.\"),The_signature_0_of_1_is_deprecated:s(6387,e.DiagnosticCategory.Suggestion,\"The_signature_0_of_1_is_deprecated_6387\",\"The signature '{0}' of '{1}' is deprecated.\",void 0,void 0,!0),Project_0_is_being_forcibly_rebuilt:s(6388,e.DiagnosticCategory.Message,\"Project_0_is_being_forcibly_rebuilt_6388\",\"Project '{0}' is being forcibly rebuilt\"),The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1:s(6500,e.DiagnosticCategory.Message,\"The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1_6500\",\"The expected type comes from property '{0}' which is declared here on type '{1}'\"),The_expected_type_comes_from_this_index_signature:s(6501,e.DiagnosticCategory.Message,\"The_expected_type_comes_from_this_index_signature_6501\",\"The expected type comes from this index signature.\"),The_expected_type_comes_from_the_return_type_of_this_signature:s(6502,e.DiagnosticCategory.Message,\"The_expected_type_comes_from_the_return_type_of_this_signature_6502\",\"The expected type comes from the return type of this signature.\"),Print_names_of_files_that_are_part_of_the_compilation_and_then_stop_processing:s(6503,e.DiagnosticCategory.Message,\"Print_names_of_files_that_are_part_of_the_compilation_and_then_stop_processing_6503\",\"Print names of files that are part of the compilation and then stop processing.\"),File_0_is_a_JavaScript_file_Did_you_mean_to_enable_the_allowJs_option:s(6504,e.DiagnosticCategory.Error,\"File_0_is_a_JavaScript_file_Did_you_mean_to_enable_the_allowJs_option_6504\",\"File '{0}' is a JavaScript file. Did you mean to enable the 'allowJs' option?\"),Print_names_of_files_and_the_reason_they_are_part_of_the_compilation:s(6505,e.DiagnosticCategory.Message,\"Print_names_of_files_and_the_reason_they_are_part_of_the_compilation_6505\",\"Print names of files and the reason they are part of the compilation.\"),Include_undefined_in_index_signature_results:s(6800,e.DiagnosticCategory.Message,\"Include_undefined_in_index_signature_results_6800\",\"Include 'undefined' in index signature results\"),Ensure_overriding_members_in_derived_classes_are_marked_with_an_override_modifier:s(6801,e.DiagnosticCategory.Message,\"Ensure_overriding_members_in_derived_classes_are_marked_with_an_override_modifier_6801\",\"Ensure overriding members in derived classes are marked with an 'override' modifier.\"),Require_undeclared_properties_from_index_signatures_to_use_element_accesses:s(6802,e.DiagnosticCategory.Message,\"Require_undeclared_properties_from_index_signatures_to_use_element_accesses_6802\",\"Require undeclared properties from index signatures to use element accesses.\"),Variable_0_implicitly_has_an_1_type:s(7005,e.DiagnosticCategory.Error,\"Variable_0_implicitly_has_an_1_type_7005\",\"Variable '{0}' implicitly has an '{1}' type.\"),Parameter_0_implicitly_has_an_1_type:s(7006,e.DiagnosticCategory.Error,\"Parameter_0_implicitly_has_an_1_type_7006\",\"Parameter '{0}' implicitly has an '{1}' type.\"),Member_0_implicitly_has_an_1_type:s(7008,e.DiagnosticCategory.Error,\"Member_0_implicitly_has_an_1_type_7008\",\"Member '{0}' implicitly has an '{1}' type.\"),new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type:s(7009,e.DiagnosticCategory.Error,\"new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type_7009\",\"'new' expression, whose target lacks a construct signature, implicitly has an 'any' type.\"),_0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type:s(7010,e.DiagnosticCategory.Error,\"_0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type_7010\",\"'{0}', which lacks return-type annotation, implicitly has an '{1}' return type.\"),Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type:s(7011,e.DiagnosticCategory.Error,\"Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type_7011\",\"Function expression, which lacks return-type annotation, implicitly has an '{0}' return type.\"),Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type:s(7013,e.DiagnosticCategory.Error,\"Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type_7013\",\"Construct signature, which lacks return-type annotation, implicitly has an 'any' return type.\"),Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type:s(7014,e.DiagnosticCategory.Error,\"Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type_7014\",\"Function type, which lacks return-type annotation, implicitly has an '{0}' return type.\"),Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number:s(7015,e.DiagnosticCategory.Error,\"Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number_7015\",\"Element implicitly has an 'any' type because index expression is not of type 'number'.\"),Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type:s(7016,e.DiagnosticCategory.Error,\"Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type_7016\",\"Could not find a declaration file for module '{0}'. '{1}' implicitly has an 'any' type.\"),Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature:s(7017,e.DiagnosticCategory.Error,\"Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_7017\",\"Element implicitly has an 'any' type because type '{0}' has no index signature.\"),Object_literal_s_property_0_implicitly_has_an_1_type:s(7018,e.DiagnosticCategory.Error,\"Object_literal_s_property_0_implicitly_has_an_1_type_7018\",\"Object literal's property '{0}' implicitly has an '{1}' type.\"),Rest_parameter_0_implicitly_has_an_any_type:s(7019,e.DiagnosticCategory.Error,\"Rest_parameter_0_implicitly_has_an_any_type_7019\",\"Rest parameter '{0}' implicitly has an 'any[]' type.\"),Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type:s(7020,e.DiagnosticCategory.Error,\"Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type_7020\",\"Call signature, which lacks return-type annotation, implicitly has an 'any' return type.\"),_0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or_indirectly_in_its_own_initializer:s(7022,e.DiagnosticCategory.Error,\"_0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or__7022\",\"'{0}' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer.\"),_0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions:s(7023,e.DiagnosticCategory.Error,\"_0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_reference_7023\",\"'{0}' implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions.\"),Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions:s(7024,e.DiagnosticCategory.Error,\"Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_ref_7024\",\"Function implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions.\"),Generator_implicitly_has_yield_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_type_annotation:s(7025,e.DiagnosticCategory.Error,\"Generator_implicitly_has_yield_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_retu_7025\",\"Generator implicitly has yield type '{0}' because it does not yield any values. Consider supplying a return type annotation.\"),JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists:s(7026,e.DiagnosticCategory.Error,\"JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists_7026\",\"JSX element implicitly has type 'any' because no interface 'JSX.{0}' exists.\"),Unreachable_code_detected:s(7027,e.DiagnosticCategory.Error,\"Unreachable_code_detected_7027\",\"Unreachable code detected.\",!0),Unused_label:s(7028,e.DiagnosticCategory.Error,\"Unused_label_7028\",\"Unused label.\",!0),Fallthrough_case_in_switch:s(7029,e.DiagnosticCategory.Error,\"Fallthrough_case_in_switch_7029\",\"Fallthrough case in switch.\"),Not_all_code_paths_return_a_value:s(7030,e.DiagnosticCategory.Error,\"Not_all_code_paths_return_a_value_7030\",\"Not all code paths return a value.\"),Binding_element_0_implicitly_has_an_1_type:s(7031,e.DiagnosticCategory.Error,\"Binding_element_0_implicitly_has_an_1_type_7031\",\"Binding element '{0}' implicitly has an '{1}' type.\"),Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation:s(7032,e.DiagnosticCategory.Error,\"Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation_7032\",\"Property '{0}' implicitly has type 'any', because its set accessor lacks a parameter type annotation.\"),Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation:s(7033,e.DiagnosticCategory.Error,\"Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation_7033\",\"Property '{0}' implicitly has type 'any', because its get accessor lacks a return type annotation.\"),Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined:s(7034,e.DiagnosticCategory.Error,\"Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined_7034\",\"Variable '{0}' implicitly has type '{1}' in some locations where its type cannot be determined.\"),Try_npm_i_save_dev_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare_module_0:s(7035,e.DiagnosticCategory.Error,\"Try_npm_i_save_dev_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare__7035\",\"Try `npm i --save-dev @types/{1}` if it exists or add a new declaration (.d.ts) file containing `declare module '{0}';`\"),Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0:s(7036,e.DiagnosticCategory.Error,\"Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0_7036\",\"Dynamic import's specifier must be of type 'string', but here has type '{0}'.\"),Enables_emit_interoperability_between_CommonJS_and_ES_Modules_via_creation_of_namespace_objects_for_all_imports_Implies_allowSyntheticDefaultImports:s(7037,e.DiagnosticCategory.Message,\"Enables_emit_interoperability_between_CommonJS_and_ES_Modules_via_creation_of_namespace_objects_for__7037\",\"Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'.\"),Type_originates_at_this_import_A_namespace_style_import_cannot_be_called_or_constructed_and_will_cause_a_failure_at_runtime_Consider_using_a_default_import_or_import_require_here_instead:s(7038,e.DiagnosticCategory.Message,\"Type_originates_at_this_import_A_namespace_style_import_cannot_be_called_or_constructed_and_will_cau_7038\",\"Type originates at this import. A namespace-style import cannot be called or constructed, and will cause a failure at runtime. Consider using a default import or import require here instead.\"),Mapped_object_type_implicitly_has_an_any_template_type:s(7039,e.DiagnosticCategory.Error,\"Mapped_object_type_implicitly_has_an_any_template_type_7039\",\"Mapped object type implicitly has an 'any' template type.\"),If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_Slash_Slashgithub_com_SlashDefinitelyTyped_SlashDefinitelyTyped_Slashtree_Slashmaster_Slashtypes_Slash_1:s(7040,e.DiagnosticCategory.Error,\"If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_S_7040\",\"If the '{0}' package actually exposes this module, consider sending a pull request to amend 'https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/{1}'\"),The_containing_arrow_function_captures_the_global_value_of_this:s(7041,e.DiagnosticCategory.Error,\"The_containing_arrow_function_captures_the_global_value_of_this_7041\",\"The containing arrow function captures the global value of 'this'.\"),Module_0_was_resolved_to_1_but_resolveJsonModule_is_not_used:s(7042,e.DiagnosticCategory.Error,\"Module_0_was_resolved_to_1_but_resolveJsonModule_is_not_used_7042\",\"Module '{0}' was resolved to '{1}', but '--resolveJsonModule' is not used.\"),Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage:s(7043,e.DiagnosticCategory.Suggestion,\"Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7043\",\"Variable '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage.\"),Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage:s(7044,e.DiagnosticCategory.Suggestion,\"Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7044\",\"Parameter '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage.\"),Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage:s(7045,e.DiagnosticCategory.Suggestion,\"Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7045\",\"Member '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage.\"),Variable_0_implicitly_has_type_1_in_some_locations_but_a_better_type_may_be_inferred_from_usage:s(7046,e.DiagnosticCategory.Suggestion,\"Variable_0_implicitly_has_type_1_in_some_locations_but_a_better_type_may_be_inferred_from_usage_7046\",\"Variable '{0}' implicitly has type '{1}' in some locations, but a better type may be inferred from usage.\"),Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage:s(7047,e.DiagnosticCategory.Suggestion,\"Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage_7047\",\"Rest parameter '{0}' implicitly has an 'any[]' type, but a better type may be inferred from usage.\"),Property_0_implicitly_has_type_any_but_a_better_type_for_its_get_accessor_may_be_inferred_from_usage:s(7048,e.DiagnosticCategory.Suggestion,\"Property_0_implicitly_has_type_any_but_a_better_type_for_its_get_accessor_may_be_inferred_from_usage_7048\",\"Property '{0}' implicitly has type 'any', but a better type for its get accessor may be inferred from usage.\"),Property_0_implicitly_has_type_any_but_a_better_type_for_its_set_accessor_may_be_inferred_from_usage:s(7049,e.DiagnosticCategory.Suggestion,\"Property_0_implicitly_has_type_any_but_a_better_type_for_its_set_accessor_may_be_inferred_from_usage_7049\",\"Property '{0}' implicitly has type 'any', but a better type for its set accessor may be inferred from usage.\"),_0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage:s(7050,e.DiagnosticCategory.Suggestion,\"_0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage_7050\",\"'{0}' implicitly has an '{1}' return type, but a better type may be inferred from usage.\"),Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1:s(7051,e.DiagnosticCategory.Error,\"Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1_7051\",\"Parameter has a name but no type. Did you mean '{0}: {1}'?\"),Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_Did_you_mean_to_call_1:s(7052,e.DiagnosticCategory.Error,\"Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_Did_you_mean_to_call_1_7052\",\"Element implicitly has an 'any' type because type '{0}' has no index signature. Did you mean to call '{1}'?\"),Element_implicitly_has_an_any_type_because_expression_of_type_0_can_t_be_used_to_index_type_1:s(7053,e.DiagnosticCategory.Error,\"Element_implicitly_has_an_any_type_because_expression_of_type_0_can_t_be_used_to_index_type_1_7053\",\"Element implicitly has an 'any' type because expression of type '{0}' can't be used to index type '{1}'.\"),No_index_signature_with_a_parameter_of_type_0_was_found_on_type_1:s(7054,e.DiagnosticCategory.Error,\"No_index_signature_with_a_parameter_of_type_0_was_found_on_type_1_7054\",\"No index signature with a parameter of type '{0}' was found on type '{1}'.\"),_0_which_lacks_return_type_annotation_implicitly_has_an_1_yield_type:s(7055,e.DiagnosticCategory.Error,\"_0_which_lacks_return_type_annotation_implicitly_has_an_1_yield_type_7055\",\"'{0}', which lacks return-type annotation, implicitly has an '{1}' yield type.\"),The_inferred_type_of_this_node_exceeds_the_maximum_length_the_compiler_will_serialize_An_explicit_type_annotation_is_needed:s(7056,e.DiagnosticCategory.Error,\"The_inferred_type_of_this_node_exceeds_the_maximum_length_the_compiler_will_serialize_An_explicit_ty_7056\",\"The inferred type of this node exceeds the maximum length the compiler will serialize. An explicit type annotation is needed.\"),yield_expression_implicitly_results_in_an_any_type_because_its_containing_generator_lacks_a_return_type_annotation:s(7057,e.DiagnosticCategory.Error,\"yield_expression_implicitly_results_in_an_any_type_because_its_containing_generator_lacks_a_return_t_7057\",\"'yield' expression implicitly results in an 'any' type because its containing generator lacks a return-type annotation.\"),You_cannot_rename_this_element:s(8e3,e.DiagnosticCategory.Error,\"You_cannot_rename_this_element_8000\",\"You cannot rename this element.\"),You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library:s(8001,e.DiagnosticCategory.Error,\"You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library_8001\",\"You cannot rename elements that are defined in the standard TypeScript library.\"),import_can_only_be_used_in_TypeScript_files:s(8002,e.DiagnosticCategory.Error,\"import_can_only_be_used_in_TypeScript_files_8002\",\"'import ... =' can only be used in TypeScript files.\"),export_can_only_be_used_in_TypeScript_files:s(8003,e.DiagnosticCategory.Error,\"export_can_only_be_used_in_TypeScript_files_8003\",\"'export =' can only be used in TypeScript files.\"),Type_parameter_declarations_can_only_be_used_in_TypeScript_files:s(8004,e.DiagnosticCategory.Error,\"Type_parameter_declarations_can_only_be_used_in_TypeScript_files_8004\",\"Type parameter declarations can only be used in TypeScript files.\"),implements_clauses_can_only_be_used_in_TypeScript_files:s(8005,e.DiagnosticCategory.Error,\"implements_clauses_can_only_be_used_in_TypeScript_files_8005\",\"'implements' clauses can only be used in TypeScript files.\"),_0_declarations_can_only_be_used_in_TypeScript_files:s(8006,e.DiagnosticCategory.Error,\"_0_declarations_can_only_be_used_in_TypeScript_files_8006\",\"'{0}' declarations can only be used in TypeScript files.\"),Type_aliases_can_only_be_used_in_TypeScript_files:s(8008,e.DiagnosticCategory.Error,\"Type_aliases_can_only_be_used_in_TypeScript_files_8008\",\"Type aliases can only be used in TypeScript files.\"),The_0_modifier_can_only_be_used_in_TypeScript_files:s(8009,e.DiagnosticCategory.Error,\"The_0_modifier_can_only_be_used_in_TypeScript_files_8009\",\"The '{0}' modifier can only be used in TypeScript files.\"),Type_annotations_can_only_be_used_in_TypeScript_files:s(8010,e.DiagnosticCategory.Error,\"Type_annotations_can_only_be_used_in_TypeScript_files_8010\",\"Type annotations can only be used in TypeScript files.\"),Type_arguments_can_only_be_used_in_TypeScript_files:s(8011,e.DiagnosticCategory.Error,\"Type_arguments_can_only_be_used_in_TypeScript_files_8011\",\"Type arguments can only be used in TypeScript files.\"),Parameter_modifiers_can_only_be_used_in_TypeScript_files:s(8012,e.DiagnosticCategory.Error,\"Parameter_modifiers_can_only_be_used_in_TypeScript_files_8012\",\"Parameter modifiers can only be used in TypeScript files.\"),Non_null_assertions_can_only_be_used_in_TypeScript_files:s(8013,e.DiagnosticCategory.Error,\"Non_null_assertions_can_only_be_used_in_TypeScript_files_8013\",\"Non-null assertions can only be used in TypeScript files.\"),Type_assertion_expressions_can_only_be_used_in_TypeScript_files:s(8016,e.DiagnosticCategory.Error,\"Type_assertion_expressions_can_only_be_used_in_TypeScript_files_8016\",\"Type assertion expressions can only be used in TypeScript files.\"),Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0:s(8017,e.DiagnosticCategory.Error,\"Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0_8017\",\"Octal literal types must use ES2015 syntax. Use the syntax '{0}'.\"),Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0:s(8018,e.DiagnosticCategory.Error,\"Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0_8018\",\"Octal literals are not allowed in enums members initializer. Use the syntax '{0}'.\"),Report_errors_in_js_files:s(8019,e.DiagnosticCategory.Message,\"Report_errors_in_js_files_8019\",\"Report errors in .js files.\"),JSDoc_types_can_only_be_used_inside_documentation_comments:s(8020,e.DiagnosticCategory.Error,\"JSDoc_types_can_only_be_used_inside_documentation_comments_8020\",\"JSDoc types can only be used inside documentation comments.\"),JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags:s(8021,e.DiagnosticCategory.Error,\"JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags_8021\",\"JSDoc '@typedef' tag should either have a type annotation or be followed by '@property' or '@member' tags.\"),JSDoc_0_is_not_attached_to_a_class:s(8022,e.DiagnosticCategory.Error,\"JSDoc_0_is_not_attached_to_a_class_8022\",\"JSDoc '@{0}' is not attached to a class.\"),JSDoc_0_1_does_not_match_the_extends_2_clause:s(8023,e.DiagnosticCategory.Error,\"JSDoc_0_1_does_not_match_the_extends_2_clause_8023\",\"JSDoc '@{0} {1}' does not match the 'extends {2}' clause.\"),JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name:s(8024,e.DiagnosticCategory.Error,\"JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_8024\",\"JSDoc '@param' tag has name '{0}', but there is no parameter with that name.\"),Class_declarations_cannot_have_more_than_one_augments_or_extends_tag:s(8025,e.DiagnosticCategory.Error,\"Class_declarations_cannot_have_more_than_one_augments_or_extends_tag_8025\",\"Class declarations cannot have more than one '@augments' or '@extends' tag.\"),Expected_0_type_arguments_provide_these_with_an_extends_tag:s(8026,e.DiagnosticCategory.Error,\"Expected_0_type_arguments_provide_these_with_an_extends_tag_8026\",\"Expected {0} type arguments; provide these with an '@extends' tag.\"),Expected_0_1_type_arguments_provide_these_with_an_extends_tag:s(8027,e.DiagnosticCategory.Error,\"Expected_0_1_type_arguments_provide_these_with_an_extends_tag_8027\",\"Expected {0}-{1} type arguments; provide these with an '@extends' tag.\"),JSDoc_may_only_appear_in_the_last_parameter_of_a_signature:s(8028,e.DiagnosticCategory.Error,\"JSDoc_may_only_appear_in_the_last_parameter_of_a_signature_8028\",\"JSDoc '...' may only appear in the last parameter of a signature.\"),JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_had_an_array_type:s(8029,e.DiagnosticCategory.Error,\"JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_h_8029\",\"JSDoc '@param' tag has name '{0}', but there is no parameter with that name. It would match 'arguments' if it had an array type.\"),The_type_of_a_function_declaration_must_match_the_function_s_signature:s(8030,e.DiagnosticCategory.Error,\"The_type_of_a_function_declaration_must_match_the_function_s_signature_8030\",\"The type of a function declaration must match the function's signature.\"),You_cannot_rename_a_module_via_a_global_import:s(8031,e.DiagnosticCategory.Error,\"You_cannot_rename_a_module_via_a_global_import_8031\",\"You cannot rename a module via a global import.\"),Qualified_name_0_is_not_allowed_without_a_leading_param_object_1:s(8032,e.DiagnosticCategory.Error,\"Qualified_name_0_is_not_allowed_without_a_leading_param_object_1_8032\",\"Qualified name '{0}' is not allowed without a leading '@param {object} {1}'.\"),A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags:s(8033,e.DiagnosticCategory.Error,\"A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags_8033\",\"A JSDoc '@typedef' comment may not contain multiple '@type' tags.\"),The_tag_was_first_specified_here:s(8034,e.DiagnosticCategory.Error,\"The_tag_was_first_specified_here_8034\",\"The tag was first specified here.\"),Only_identifiers_Slashqualified_names_with_optional_type_arguments_are_currently_supported_in_a_class_extends_clause:s(9002,e.DiagnosticCategory.Error,\"Only_identifiers_Slashqualified_names_with_optional_type_arguments_are_currently_supported_in_a_clas_9002\",\"Only identifiers/qualified-names with optional type arguments are currently supported in a class 'extends' clause.\"),class_expressions_are_not_currently_supported:s(9003,e.DiagnosticCategory.Error,\"class_expressions_are_not_currently_supported_9003\",\"'class' expressions are not currently supported.\"),Language_service_is_disabled:s(9004,e.DiagnosticCategory.Error,\"Language_service_is_disabled_9004\",\"Language service is disabled.\"),Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_declaration_emit:s(9005,e.DiagnosticCategory.Error,\"Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_9005\",\"Declaration emit for this file requires using private name '{0}'. An explicit type annotation may unblock declaration emit.\"),Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotation_may_unblock_declaration_emit:s(9006,e.DiagnosticCategory.Error,\"Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotati_9006\",\"Declaration emit for this file requires using private name '{0}' from module '{1}'. An explicit type annotation may unblock declaration emit.\"),JSX_attributes_must_only_be_assigned_a_non_empty_expression:s(17e3,e.DiagnosticCategory.Error,\"JSX_attributes_must_only_be_assigned_a_non_empty_expression_17000\",\"JSX attributes must only be assigned a non-empty 'expression'.\"),JSX_elements_cannot_have_multiple_attributes_with_the_same_name:s(17001,e.DiagnosticCategory.Error,\"JSX_elements_cannot_have_multiple_attributes_with_the_same_name_17001\",\"JSX elements cannot have multiple attributes with the same name.\"),Expected_corresponding_JSX_closing_tag_for_0:s(17002,e.DiagnosticCategory.Error,\"Expected_corresponding_JSX_closing_tag_for_0_17002\",\"Expected corresponding JSX closing tag for '{0}'.\"),JSX_attribute_expected:s(17003,e.DiagnosticCategory.Error,\"JSX_attribute_expected_17003\",\"JSX attribute expected.\"),Cannot_use_JSX_unless_the_jsx_flag_is_provided:s(17004,e.DiagnosticCategory.Error,\"Cannot_use_JSX_unless_the_jsx_flag_is_provided_17004\",\"Cannot use JSX unless the '--jsx' flag is provided.\"),A_constructor_cannot_contain_a_super_call_when_its_class_extends_null:s(17005,e.DiagnosticCategory.Error,\"A_constructor_cannot_contain_a_super_call_when_its_class_extends_null_17005\",\"A constructor cannot contain a 'super' call when its class extends 'null'.\"),An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses:s(17006,e.DiagnosticCategory.Error,\"An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_ex_17006\",\"An unary expression with the '{0}' operator is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses.\"),A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses:s(17007,e.DiagnosticCategory.Error,\"A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Con_17007\",\"A type assertion expression is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses.\"),JSX_element_0_has_no_corresponding_closing_tag:s(17008,e.DiagnosticCategory.Error,\"JSX_element_0_has_no_corresponding_closing_tag_17008\",\"JSX element '{0}' has no corresponding closing tag.\"),super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class:s(17009,e.DiagnosticCategory.Error,\"super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class_17009\",\"'super' must be called before accessing 'this' in the constructor of a derived class.\"),Unknown_type_acquisition_option_0:s(17010,e.DiagnosticCategory.Error,\"Unknown_type_acquisition_option_0_17010\",\"Unknown type acquisition option '{0}'.\"),super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class:s(17011,e.DiagnosticCategory.Error,\"super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class_17011\",\"'super' must be called before accessing a property of 'super' in the constructor of a derived class.\"),_0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2:s(17012,e.DiagnosticCategory.Error,\"_0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2_17012\",\"'{0}' is not a valid meta-property for keyword '{1}'. Did you mean '{2}'?\"),Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constructor:s(17013,e.DiagnosticCategory.Error,\"Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constru_17013\",\"Meta-property '{0}' is only allowed in the body of a function declaration, function expression, or constructor.\"),JSX_fragment_has_no_corresponding_closing_tag:s(17014,e.DiagnosticCategory.Error,\"JSX_fragment_has_no_corresponding_closing_tag_17014\",\"JSX fragment has no corresponding closing tag.\"),Expected_corresponding_closing_tag_for_JSX_fragment:s(17015,e.DiagnosticCategory.Error,\"Expected_corresponding_closing_tag_for_JSX_fragment_17015\",\"Expected corresponding closing tag for JSX fragment.\"),The_jsxFragmentFactory_compiler_option_must_be_provided_to_use_JSX_fragments_with_the_jsxFactory_compiler_option:s(17016,e.DiagnosticCategory.Error,\"The_jsxFragmentFactory_compiler_option_must_be_provided_to_use_JSX_fragments_with_the_jsxFactory_com_17016\",\"The 'jsxFragmentFactory' compiler option must be provided to use JSX fragments with the 'jsxFactory' compiler option.\"),An_jsxFrag_pragma_is_required_when_using_an_jsx_pragma_with_JSX_fragments:s(17017,e.DiagnosticCategory.Error,\"An_jsxFrag_pragma_is_required_when_using_an_jsx_pragma_with_JSX_fragments_17017\",\"An @jsxFrag pragma is required when using an @jsx pragma with JSX fragments.\"),Unknown_type_acquisition_option_0_Did_you_mean_1:s(17018,e.DiagnosticCategory.Error,\"Unknown_type_acquisition_option_0_Did_you_mean_1_17018\",\"Unknown type acquisition option '{0}'. Did you mean '{1}'?\"),Circularity_detected_while_resolving_configuration_Colon_0:s(18e3,e.DiagnosticCategory.Error,\"Circularity_detected_while_resolving_configuration_Colon_0_18000\",\"Circularity detected while resolving configuration: {0}\"),A_path_in_an_extends_option_must_be_relative_or_rooted_but_0_is_not:s(18001,e.DiagnosticCategory.Error,\"A_path_in_an_extends_option_must_be_relative_or_rooted_but_0_is_not_18001\",\"A path in an 'extends' option must be relative or rooted, but '{0}' is not.\"),The_files_list_in_config_file_0_is_empty:s(18002,e.DiagnosticCategory.Error,\"The_files_list_in_config_file_0_is_empty_18002\",\"The 'files' list in config file '{0}' is empty.\"),No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2:s(18003,e.DiagnosticCategory.Error,\"No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2_18003\",\"No inputs were found in config file '{0}'. Specified 'include' paths were '{1}' and 'exclude' paths were '{2}'.\"),File_is_a_CommonJS_module_it_may_be_converted_to_an_ES6_module:s(80001,e.DiagnosticCategory.Suggestion,\"File_is_a_CommonJS_module_it_may_be_converted_to_an_ES6_module_80001\",\"File is a CommonJS module; it may be converted to an ES6 module.\"),This_constructor_function_may_be_converted_to_a_class_declaration:s(80002,e.DiagnosticCategory.Suggestion,\"This_constructor_function_may_be_converted_to_a_class_declaration_80002\",\"This constructor function may be converted to a class declaration.\"),Import_may_be_converted_to_a_default_import:s(80003,e.DiagnosticCategory.Suggestion,\"Import_may_be_converted_to_a_default_import_80003\",\"Import may be converted to a default import.\"),JSDoc_types_may_be_moved_to_TypeScript_types:s(80004,e.DiagnosticCategory.Suggestion,\"JSDoc_types_may_be_moved_to_TypeScript_types_80004\",\"JSDoc types may be moved to TypeScript types.\"),require_call_may_be_converted_to_an_import:s(80005,e.DiagnosticCategory.Suggestion,\"require_call_may_be_converted_to_an_import_80005\",\"'require' call may be converted to an import.\"),This_may_be_converted_to_an_async_function:s(80006,e.DiagnosticCategory.Suggestion,\"This_may_be_converted_to_an_async_function_80006\",\"This may be converted to an async function.\"),await_has_no_effect_on_the_type_of_this_expression:s(80007,e.DiagnosticCategory.Suggestion,\"await_has_no_effect_on_the_type_of_this_expression_80007\",\"'await' has no effect on the type of this expression.\"),Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accurately_as_integers:s(80008,e.DiagnosticCategory.Suggestion,\"Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accur_80008\",\"Numeric literals with absolute values equal to 2^53 or greater are too large to be represented accurately as integers.\"),Add_missing_super_call:s(90001,e.DiagnosticCategory.Message,\"Add_missing_super_call_90001\",\"Add missing 'super()' call\"),Make_super_call_the_first_statement_in_the_constructor:s(90002,e.DiagnosticCategory.Message,\"Make_super_call_the_first_statement_in_the_constructor_90002\",\"Make 'super()' call the first statement in the constructor\"),Change_extends_to_implements:s(90003,e.DiagnosticCategory.Message,\"Change_extends_to_implements_90003\",\"Change 'extends' to 'implements'\"),Remove_unused_declaration_for_Colon_0:s(90004,e.DiagnosticCategory.Message,\"Remove_unused_declaration_for_Colon_0_90004\",\"Remove unused declaration for: '{0}'\"),Remove_import_from_0:s(90005,e.DiagnosticCategory.Message,\"Remove_import_from_0_90005\",\"Remove import from '{0}'\"),Implement_interface_0:s(90006,e.DiagnosticCategory.Message,\"Implement_interface_0_90006\",\"Implement interface '{0}'\"),Implement_inherited_abstract_class:s(90007,e.DiagnosticCategory.Message,\"Implement_inherited_abstract_class_90007\",\"Implement inherited abstract class\"),Add_0_to_unresolved_variable:s(90008,e.DiagnosticCategory.Message,\"Add_0_to_unresolved_variable_90008\",\"Add '{0}.' to unresolved variable\"),Remove_variable_statement:s(90010,e.DiagnosticCategory.Message,\"Remove_variable_statement_90010\",\"Remove variable statement\"),Remove_template_tag:s(90011,e.DiagnosticCategory.Message,\"Remove_template_tag_90011\",\"Remove template tag\"),Remove_type_parameters:s(90012,e.DiagnosticCategory.Message,\"Remove_type_parameters_90012\",\"Remove type parameters\"),Import_0_from_module_1:s(90013,e.DiagnosticCategory.Message,\"Import_0_from_module_1_90013\",`Import '{0}' from module \"{1}\"`),Change_0_to_1:s(90014,e.DiagnosticCategory.Message,\"Change_0_to_1_90014\",\"Change '{0}' to '{1}'\"),Add_0_to_existing_import_declaration_from_1:s(90015,e.DiagnosticCategory.Message,\"Add_0_to_existing_import_declaration_from_1_90015\",`Add '{0}' to existing import declaration from \"{1}\"`),Declare_property_0:s(90016,e.DiagnosticCategory.Message,\"Declare_property_0_90016\",\"Declare property '{0}'\"),Add_index_signature_for_property_0:s(90017,e.DiagnosticCategory.Message,\"Add_index_signature_for_property_0_90017\",\"Add index signature for property '{0}'\"),Disable_checking_for_this_file:s(90018,e.DiagnosticCategory.Message,\"Disable_checking_for_this_file_90018\",\"Disable checking for this file\"),Ignore_this_error_message:s(90019,e.DiagnosticCategory.Message,\"Ignore_this_error_message_90019\",\"Ignore this error message\"),Initialize_property_0_in_the_constructor:s(90020,e.DiagnosticCategory.Message,\"Initialize_property_0_in_the_constructor_90020\",\"Initialize property '{0}' in the constructor\"),Initialize_static_property_0:s(90021,e.DiagnosticCategory.Message,\"Initialize_static_property_0_90021\",\"Initialize static property '{0}'\"),Change_spelling_to_0:s(90022,e.DiagnosticCategory.Message,\"Change_spelling_to_0_90022\",\"Change spelling to '{0}'\"),Declare_method_0:s(90023,e.DiagnosticCategory.Message,\"Declare_method_0_90023\",\"Declare method '{0}'\"),Declare_static_method_0:s(90024,e.DiagnosticCategory.Message,\"Declare_static_method_0_90024\",\"Declare static method '{0}'\"),Prefix_0_with_an_underscore:s(90025,e.DiagnosticCategory.Message,\"Prefix_0_with_an_underscore_90025\",\"Prefix '{0}' with an underscore\"),Rewrite_as_the_indexed_access_type_0:s(90026,e.DiagnosticCategory.Message,\"Rewrite_as_the_indexed_access_type_0_90026\",\"Rewrite as the indexed access type '{0}'\"),Declare_static_property_0:s(90027,e.DiagnosticCategory.Message,\"Declare_static_property_0_90027\",\"Declare static property '{0}'\"),Call_decorator_expression:s(90028,e.DiagnosticCategory.Message,\"Call_decorator_expression_90028\",\"Call decorator expression\"),Add_async_modifier_to_containing_function:s(90029,e.DiagnosticCategory.Message,\"Add_async_modifier_to_containing_function_90029\",\"Add async modifier to containing function\"),Replace_infer_0_with_unknown:s(90030,e.DiagnosticCategory.Message,\"Replace_infer_0_with_unknown_90030\",\"Replace 'infer {0}' with 'unknown'\"),Replace_all_unused_infer_with_unknown:s(90031,e.DiagnosticCategory.Message,\"Replace_all_unused_infer_with_unknown_90031\",\"Replace all unused 'infer' with 'unknown'\"),Import_default_0_from_module_1:s(90032,e.DiagnosticCategory.Message,\"Import_default_0_from_module_1_90032\",`Import default '{0}' from module \"{1}\"`),Add_default_import_0_to_existing_import_declaration_from_1:s(90033,e.DiagnosticCategory.Message,\"Add_default_import_0_to_existing_import_declaration_from_1_90033\",`Add default import '{0}' to existing import declaration from \"{1}\"`),Add_parameter_name:s(90034,e.DiagnosticCategory.Message,\"Add_parameter_name_90034\",\"Add parameter name\"),Declare_private_property_0:s(90035,e.DiagnosticCategory.Message,\"Declare_private_property_0_90035\",\"Declare private property '{0}'\"),Replace_0_with_Promise_1:s(90036,e.DiagnosticCategory.Message,\"Replace_0_with_Promise_1_90036\",\"Replace '{0}' with 'Promise<{1}>'\"),Fix_all_incorrect_return_type_of_an_async_functions:s(90037,e.DiagnosticCategory.Message,\"Fix_all_incorrect_return_type_of_an_async_functions_90037\",\"Fix all incorrect return type of an async functions\"),Declare_private_method_0:s(90038,e.DiagnosticCategory.Message,\"Declare_private_method_0_90038\",\"Declare private method '{0}'\"),Remove_unused_destructuring_declaration:s(90039,e.DiagnosticCategory.Message,\"Remove_unused_destructuring_declaration_90039\",\"Remove unused destructuring declaration\"),Remove_unused_declarations_for_Colon_0:s(90041,e.DiagnosticCategory.Message,\"Remove_unused_declarations_for_Colon_0_90041\",\"Remove unused declarations for: '{0}'\"),Declare_a_private_field_named_0:s(90053,e.DiagnosticCategory.Message,\"Declare_a_private_field_named_0_90053\",\"Declare a private field named '{0}'.\"),Convert_function_to_an_ES2015_class:s(95001,e.DiagnosticCategory.Message,\"Convert_function_to_an_ES2015_class_95001\",\"Convert function to an ES2015 class\"),Convert_function_0_to_class:s(95002,e.DiagnosticCategory.Message,\"Convert_function_0_to_class_95002\",\"Convert function '{0}' to class\"),Convert_0_to_1_in_0:s(95003,e.DiagnosticCategory.Message,\"Convert_0_to_1_in_0_95003\",\"Convert '{0}' to '{1} in {0}'\"),Extract_to_0_in_1:s(95004,e.DiagnosticCategory.Message,\"Extract_to_0_in_1_95004\",\"Extract to {0} in {1}\"),Extract_function:s(95005,e.DiagnosticCategory.Message,\"Extract_function_95005\",\"Extract function\"),Extract_constant:s(95006,e.DiagnosticCategory.Message,\"Extract_constant_95006\",\"Extract constant\"),Extract_to_0_in_enclosing_scope:s(95007,e.DiagnosticCategory.Message,\"Extract_to_0_in_enclosing_scope_95007\",\"Extract to {0} in enclosing scope\"),Extract_to_0_in_1_scope:s(95008,e.DiagnosticCategory.Message,\"Extract_to_0_in_1_scope_95008\",\"Extract to {0} in {1} scope\"),Annotate_with_type_from_JSDoc:s(95009,e.DiagnosticCategory.Message,\"Annotate_with_type_from_JSDoc_95009\",\"Annotate with type from JSDoc\"),Annotate_with_types_from_JSDoc:s(95010,e.DiagnosticCategory.Message,\"Annotate_with_types_from_JSDoc_95010\",\"Annotate with types from JSDoc\"),Infer_type_of_0_from_usage:s(95011,e.DiagnosticCategory.Message,\"Infer_type_of_0_from_usage_95011\",\"Infer type of '{0}' from usage\"),Infer_parameter_types_from_usage:s(95012,e.DiagnosticCategory.Message,\"Infer_parameter_types_from_usage_95012\",\"Infer parameter types from usage\"),Convert_to_default_import:s(95013,e.DiagnosticCategory.Message,\"Convert_to_default_import_95013\",\"Convert to default import\"),Install_0:s(95014,e.DiagnosticCategory.Message,\"Install_0_95014\",\"Install '{0}'\"),Replace_import_with_0:s(95015,e.DiagnosticCategory.Message,\"Replace_import_with_0_95015\",\"Replace import with '{0}'.\"),Use_synthetic_default_member:s(95016,e.DiagnosticCategory.Message,\"Use_synthetic_default_member_95016\",\"Use synthetic 'default' member.\"),Convert_to_ES6_module:s(95017,e.DiagnosticCategory.Message,\"Convert_to_ES6_module_95017\",\"Convert to ES6 module\"),Add_undefined_type_to_property_0:s(95018,e.DiagnosticCategory.Message,\"Add_undefined_type_to_property_0_95018\",\"Add 'undefined' type to property '{0}'\"),Add_initializer_to_property_0:s(95019,e.DiagnosticCategory.Message,\"Add_initializer_to_property_0_95019\",\"Add initializer to property '{0}'\"),Add_definite_assignment_assertion_to_property_0:s(95020,e.DiagnosticCategory.Message,\"Add_definite_assignment_assertion_to_property_0_95020\",\"Add definite assignment assertion to property '{0}'\"),Convert_all_type_literals_to_mapped_type:s(95021,e.DiagnosticCategory.Message,\"Convert_all_type_literals_to_mapped_type_95021\",\"Convert all type literals to mapped type\"),Add_all_missing_members:s(95022,e.DiagnosticCategory.Message,\"Add_all_missing_members_95022\",\"Add all missing members\"),Infer_all_types_from_usage:s(95023,e.DiagnosticCategory.Message,\"Infer_all_types_from_usage_95023\",\"Infer all types from usage\"),Delete_all_unused_declarations:s(95024,e.DiagnosticCategory.Message,\"Delete_all_unused_declarations_95024\",\"Delete all unused declarations\"),Prefix_all_unused_declarations_with_where_possible:s(95025,e.DiagnosticCategory.Message,\"Prefix_all_unused_declarations_with_where_possible_95025\",\"Prefix all unused declarations with '_' where possible\"),Fix_all_detected_spelling_errors:s(95026,e.DiagnosticCategory.Message,\"Fix_all_detected_spelling_errors_95026\",\"Fix all detected spelling errors\"),Add_initializers_to_all_uninitialized_properties:s(95027,e.DiagnosticCategory.Message,\"Add_initializers_to_all_uninitialized_properties_95027\",\"Add initializers to all uninitialized properties\"),Add_definite_assignment_assertions_to_all_uninitialized_properties:s(95028,e.DiagnosticCategory.Message,\"Add_definite_assignment_assertions_to_all_uninitialized_properties_95028\",\"Add definite assignment assertions to all uninitialized properties\"),Add_undefined_type_to_all_uninitialized_properties:s(95029,e.DiagnosticCategory.Message,\"Add_undefined_type_to_all_uninitialized_properties_95029\",\"Add undefined type to all uninitialized properties\"),Change_all_jsdoc_style_types_to_TypeScript:s(95030,e.DiagnosticCategory.Message,\"Change_all_jsdoc_style_types_to_TypeScript_95030\",\"Change all jsdoc-style types to TypeScript\"),Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types:s(95031,e.DiagnosticCategory.Message,\"Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types_95031\",\"Change all jsdoc-style types to TypeScript (and add '| undefined' to nullable types)\"),Implement_all_unimplemented_interfaces:s(95032,e.DiagnosticCategory.Message,\"Implement_all_unimplemented_interfaces_95032\",\"Implement all unimplemented interfaces\"),Install_all_missing_types_packages:s(95033,e.DiagnosticCategory.Message,\"Install_all_missing_types_packages_95033\",\"Install all missing types packages\"),Rewrite_all_as_indexed_access_types:s(95034,e.DiagnosticCategory.Message,\"Rewrite_all_as_indexed_access_types_95034\",\"Rewrite all as indexed access types\"),Convert_all_to_default_imports:s(95035,e.DiagnosticCategory.Message,\"Convert_all_to_default_imports_95035\",\"Convert all to default imports\"),Make_all_super_calls_the_first_statement_in_their_constructor:s(95036,e.DiagnosticCategory.Message,\"Make_all_super_calls_the_first_statement_in_their_constructor_95036\",\"Make all 'super()' calls the first statement in their constructor\"),Add_qualifier_to_all_unresolved_variables_matching_a_member_name:s(95037,e.DiagnosticCategory.Message,\"Add_qualifier_to_all_unresolved_variables_matching_a_member_name_95037\",\"Add qualifier to all unresolved variables matching a member name\"),Change_all_extended_interfaces_to_implements:s(95038,e.DiagnosticCategory.Message,\"Change_all_extended_interfaces_to_implements_95038\",\"Change all extended interfaces to 'implements'\"),Add_all_missing_super_calls:s(95039,e.DiagnosticCategory.Message,\"Add_all_missing_super_calls_95039\",\"Add all missing super calls\"),Implement_all_inherited_abstract_classes:s(95040,e.DiagnosticCategory.Message,\"Implement_all_inherited_abstract_classes_95040\",\"Implement all inherited abstract classes\"),Add_all_missing_async_modifiers:s(95041,e.DiagnosticCategory.Message,\"Add_all_missing_async_modifiers_95041\",\"Add all missing 'async' modifiers\"),Add_ts_ignore_to_all_error_messages:s(95042,e.DiagnosticCategory.Message,\"Add_ts_ignore_to_all_error_messages_95042\",\"Add '@ts-ignore' to all error messages\"),Annotate_everything_with_types_from_JSDoc:s(95043,e.DiagnosticCategory.Message,\"Annotate_everything_with_types_from_JSDoc_95043\",\"Annotate everything with types from JSDoc\"),Add_to_all_uncalled_decorators:s(95044,e.DiagnosticCategory.Message,\"Add_to_all_uncalled_decorators_95044\",\"Add '()' to all uncalled decorators\"),Convert_all_constructor_functions_to_classes:s(95045,e.DiagnosticCategory.Message,\"Convert_all_constructor_functions_to_classes_95045\",\"Convert all constructor functions to classes\"),Generate_get_and_set_accessors:s(95046,e.DiagnosticCategory.Message,\"Generate_get_and_set_accessors_95046\",\"Generate 'get' and 'set' accessors\"),Convert_require_to_import:s(95047,e.DiagnosticCategory.Message,\"Convert_require_to_import_95047\",\"Convert 'require' to 'import'\"),Convert_all_require_to_import:s(95048,e.DiagnosticCategory.Message,\"Convert_all_require_to_import_95048\",\"Convert all 'require' to 'import'\"),Move_to_a_new_file:s(95049,e.DiagnosticCategory.Message,\"Move_to_a_new_file_95049\",\"Move to a new file\"),Remove_unreachable_code:s(95050,e.DiagnosticCategory.Message,\"Remove_unreachable_code_95050\",\"Remove unreachable code\"),Remove_all_unreachable_code:s(95051,e.DiagnosticCategory.Message,\"Remove_all_unreachable_code_95051\",\"Remove all unreachable code\"),Add_missing_typeof:s(95052,e.DiagnosticCategory.Message,\"Add_missing_typeof_95052\",\"Add missing 'typeof'\"),Remove_unused_label:s(95053,e.DiagnosticCategory.Message,\"Remove_unused_label_95053\",\"Remove unused label\"),Remove_all_unused_labels:s(95054,e.DiagnosticCategory.Message,\"Remove_all_unused_labels_95054\",\"Remove all unused labels\"),Convert_0_to_mapped_object_type:s(95055,e.DiagnosticCategory.Message,\"Convert_0_to_mapped_object_type_95055\",\"Convert '{0}' to mapped object type\"),Convert_namespace_import_to_named_imports:s(95056,e.DiagnosticCategory.Message,\"Convert_namespace_import_to_named_imports_95056\",\"Convert namespace import to named imports\"),Convert_named_imports_to_namespace_import:s(95057,e.DiagnosticCategory.Message,\"Convert_named_imports_to_namespace_import_95057\",\"Convert named imports to namespace import\"),Add_or_remove_braces_in_an_arrow_function:s(95058,e.DiagnosticCategory.Message,\"Add_or_remove_braces_in_an_arrow_function_95058\",\"Add or remove braces in an arrow function\"),Add_braces_to_arrow_function:s(95059,e.DiagnosticCategory.Message,\"Add_braces_to_arrow_function_95059\",\"Add braces to arrow function\"),Remove_braces_from_arrow_function:s(95060,e.DiagnosticCategory.Message,\"Remove_braces_from_arrow_function_95060\",\"Remove braces from arrow function\"),Convert_default_export_to_named_export:s(95061,e.DiagnosticCategory.Message,\"Convert_default_export_to_named_export_95061\",\"Convert default export to named export\"),Convert_named_export_to_default_export:s(95062,e.DiagnosticCategory.Message,\"Convert_named_export_to_default_export_95062\",\"Convert named export to default export\"),Add_missing_enum_member_0:s(95063,e.DiagnosticCategory.Message,\"Add_missing_enum_member_0_95063\",\"Add missing enum member '{0}'\"),Add_all_missing_imports:s(95064,e.DiagnosticCategory.Message,\"Add_all_missing_imports_95064\",\"Add all missing imports\"),Convert_to_async_function:s(95065,e.DiagnosticCategory.Message,\"Convert_to_async_function_95065\",\"Convert to async function\"),Convert_all_to_async_functions:s(95066,e.DiagnosticCategory.Message,\"Convert_all_to_async_functions_95066\",\"Convert all to async functions\"),Add_missing_call_parentheses:s(95067,e.DiagnosticCategory.Message,\"Add_missing_call_parentheses_95067\",\"Add missing call parentheses\"),Add_all_missing_call_parentheses:s(95068,e.DiagnosticCategory.Message,\"Add_all_missing_call_parentheses_95068\",\"Add all missing call parentheses\"),Add_unknown_conversion_for_non_overlapping_types:s(95069,e.DiagnosticCategory.Message,\"Add_unknown_conversion_for_non_overlapping_types_95069\",\"Add 'unknown' conversion for non-overlapping types\"),Add_unknown_to_all_conversions_of_non_overlapping_types:s(95070,e.DiagnosticCategory.Message,\"Add_unknown_to_all_conversions_of_non_overlapping_types_95070\",\"Add 'unknown' to all conversions of non-overlapping types\"),Add_missing_new_operator_to_call:s(95071,e.DiagnosticCategory.Message,\"Add_missing_new_operator_to_call_95071\",\"Add missing 'new' operator to call\"),Add_missing_new_operator_to_all_calls:s(95072,e.DiagnosticCategory.Message,\"Add_missing_new_operator_to_all_calls_95072\",\"Add missing 'new' operator to all calls\"),Add_names_to_all_parameters_without_names:s(95073,e.DiagnosticCategory.Message,\"Add_names_to_all_parameters_without_names_95073\",\"Add names to all parameters without names\"),Enable_the_experimentalDecorators_option_in_your_configuration_file:s(95074,e.DiagnosticCategory.Message,\"Enable_the_experimentalDecorators_option_in_your_configuration_file_95074\",\"Enable the 'experimentalDecorators' option in your configuration file\"),Convert_parameters_to_destructured_object:s(95075,e.DiagnosticCategory.Message,\"Convert_parameters_to_destructured_object_95075\",\"Convert parameters to destructured object\"),Allow_accessing_UMD_globals_from_modules:s(95076,e.DiagnosticCategory.Message,\"Allow_accessing_UMD_globals_from_modules_95076\",\"Allow accessing UMD globals from modules.\"),Extract_type:s(95077,e.DiagnosticCategory.Message,\"Extract_type_95077\",\"Extract type\"),Extract_to_type_alias:s(95078,e.DiagnosticCategory.Message,\"Extract_to_type_alias_95078\",\"Extract to type alias\"),Extract_to_typedef:s(95079,e.DiagnosticCategory.Message,\"Extract_to_typedef_95079\",\"Extract to typedef\"),Infer_this_type_of_0_from_usage:s(95080,e.DiagnosticCategory.Message,\"Infer_this_type_of_0_from_usage_95080\",\"Infer 'this' type of '{0}' from usage\"),Add_const_to_unresolved_variable:s(95081,e.DiagnosticCategory.Message,\"Add_const_to_unresolved_variable_95081\",\"Add 'const' to unresolved variable\"),Add_const_to_all_unresolved_variables:s(95082,e.DiagnosticCategory.Message,\"Add_const_to_all_unresolved_variables_95082\",\"Add 'const' to all unresolved variables\"),Add_await:s(95083,e.DiagnosticCategory.Message,\"Add_await_95083\",\"Add 'await'\"),Add_await_to_initializer_for_0:s(95084,e.DiagnosticCategory.Message,\"Add_await_to_initializer_for_0_95084\",\"Add 'await' to initializer for '{0}'\"),Fix_all_expressions_possibly_missing_await:s(95085,e.DiagnosticCategory.Message,\"Fix_all_expressions_possibly_missing_await_95085\",\"Fix all expressions possibly missing 'await'\"),Remove_unnecessary_await:s(95086,e.DiagnosticCategory.Message,\"Remove_unnecessary_await_95086\",\"Remove unnecessary 'await'\"),Remove_all_unnecessary_uses_of_await:s(95087,e.DiagnosticCategory.Message,\"Remove_all_unnecessary_uses_of_await_95087\",\"Remove all unnecessary uses of 'await'\"),Enable_the_jsx_flag_in_your_configuration_file:s(95088,e.DiagnosticCategory.Message,\"Enable_the_jsx_flag_in_your_configuration_file_95088\",\"Enable the '--jsx' flag in your configuration file\"),Add_await_to_initializers:s(95089,e.DiagnosticCategory.Message,\"Add_await_to_initializers_95089\",\"Add 'await' to initializers\"),Extract_to_interface:s(95090,e.DiagnosticCategory.Message,\"Extract_to_interface_95090\",\"Extract to interface\"),Convert_to_a_bigint_numeric_literal:s(95091,e.DiagnosticCategory.Message,\"Convert_to_a_bigint_numeric_literal_95091\",\"Convert to a bigint numeric literal\"),Convert_all_to_bigint_numeric_literals:s(95092,e.DiagnosticCategory.Message,\"Convert_all_to_bigint_numeric_literals_95092\",\"Convert all to bigint numeric literals\"),Convert_const_to_let:s(95093,e.DiagnosticCategory.Message,\"Convert_const_to_let_95093\",\"Convert 'const' to 'let'\"),Prefix_with_declare:s(95094,e.DiagnosticCategory.Message,\"Prefix_with_declare_95094\",\"Prefix with 'declare'\"),Prefix_all_incorrect_property_declarations_with_declare:s(95095,e.DiagnosticCategory.Message,\"Prefix_all_incorrect_property_declarations_with_declare_95095\",\"Prefix all incorrect property declarations with 'declare'\"),Convert_to_template_string:s(95096,e.DiagnosticCategory.Message,\"Convert_to_template_string_95096\",\"Convert to template string\"),Add_export_to_make_this_file_into_a_module:s(95097,e.DiagnosticCategory.Message,\"Add_export_to_make_this_file_into_a_module_95097\",\"Add 'export {}' to make this file into a module\"),Set_the_target_option_in_your_configuration_file_to_0:s(95098,e.DiagnosticCategory.Message,\"Set_the_target_option_in_your_configuration_file_to_0_95098\",\"Set the 'target' option in your configuration file to '{0}'\"),Set_the_module_option_in_your_configuration_file_to_0:s(95099,e.DiagnosticCategory.Message,\"Set_the_module_option_in_your_configuration_file_to_0_95099\",\"Set the 'module' option in your configuration file to '{0}'\"),Convert_invalid_character_to_its_html_entity_code:s(95100,e.DiagnosticCategory.Message,\"Convert_invalid_character_to_its_html_entity_code_95100\",\"Convert invalid character to its html entity code\"),Convert_all_invalid_characters_to_HTML_entity_code:s(95101,e.DiagnosticCategory.Message,\"Convert_all_invalid_characters_to_HTML_entity_code_95101\",\"Convert all invalid characters to HTML entity code\"),Add_class_tag:s(95102,e.DiagnosticCategory.Message,\"Add_class_tag_95102\",\"Add '@class' tag\"),Add_this_tag:s(95103,e.DiagnosticCategory.Message,\"Add_this_tag_95103\",\"Add '@this' tag\"),Add_this_parameter:s(95104,e.DiagnosticCategory.Message,\"Add_this_parameter_95104\",\"Add 'this' parameter.\"),Convert_function_expression_0_to_arrow_function:s(95105,e.DiagnosticCategory.Message,\"Convert_function_expression_0_to_arrow_function_95105\",\"Convert function expression '{0}' to arrow function\"),Convert_function_declaration_0_to_arrow_function:s(95106,e.DiagnosticCategory.Message,\"Convert_function_declaration_0_to_arrow_function_95106\",\"Convert function declaration '{0}' to arrow function\"),Fix_all_implicit_this_errors:s(95107,e.DiagnosticCategory.Message,\"Fix_all_implicit_this_errors_95107\",\"Fix all implicit-'this' errors\"),Wrap_invalid_character_in_an_expression_container:s(95108,e.DiagnosticCategory.Message,\"Wrap_invalid_character_in_an_expression_container_95108\",\"Wrap invalid character in an expression container\"),Wrap_all_invalid_characters_in_an_expression_container:s(95109,e.DiagnosticCategory.Message,\"Wrap_all_invalid_characters_in_an_expression_container_95109\",\"Wrap all invalid characters in an expression container\"),Visit_https_Colon_Slash_Slashaka_ms_Slashtsconfig_json_to_read_more_about_this_file:s(95110,e.DiagnosticCategory.Message,\"Visit_https_Colon_Slash_Slashaka_ms_Slashtsconfig_json_to_read_more_about_this_file_95110\",\"Visit https://aka.ms/tsconfig.json to read more about this file\"),Add_a_return_statement:s(95111,e.DiagnosticCategory.Message,\"Add_a_return_statement_95111\",\"Add a return statement\"),Remove_braces_from_arrow_function_body:s(95112,e.DiagnosticCategory.Message,\"Remove_braces_from_arrow_function_body_95112\",\"Remove braces from arrow function body\"),Wrap_the_following_body_with_parentheses_which_should_be_an_object_literal:s(95113,e.DiagnosticCategory.Message,\"Wrap_the_following_body_with_parentheses_which_should_be_an_object_literal_95113\",\"Wrap the following body with parentheses which should be an object literal\"),Add_all_missing_return_statement:s(95114,e.DiagnosticCategory.Message,\"Add_all_missing_return_statement_95114\",\"Add all missing return statement\"),Remove_braces_from_all_arrow_function_bodies_with_relevant_issues:s(95115,e.DiagnosticCategory.Message,\"Remove_braces_from_all_arrow_function_bodies_with_relevant_issues_95115\",\"Remove braces from all arrow function bodies with relevant issues\"),Wrap_all_object_literal_with_parentheses:s(95116,e.DiagnosticCategory.Message,\"Wrap_all_object_literal_with_parentheses_95116\",\"Wrap all object literal with parentheses\"),Move_labeled_tuple_element_modifiers_to_labels:s(95117,e.DiagnosticCategory.Message,\"Move_labeled_tuple_element_modifiers_to_labels_95117\",\"Move labeled tuple element modifiers to labels\"),Convert_overload_list_to_single_signature:s(95118,e.DiagnosticCategory.Message,\"Convert_overload_list_to_single_signature_95118\",\"Convert overload list to single signature\"),Generate_get_and_set_accessors_for_all_overriding_properties:s(95119,e.DiagnosticCategory.Message,\"Generate_get_and_set_accessors_for_all_overriding_properties_95119\",\"Generate 'get' and 'set' accessors for all overriding properties\"),Wrap_in_JSX_fragment:s(95120,e.DiagnosticCategory.Message,\"Wrap_in_JSX_fragment_95120\",\"Wrap in JSX fragment\"),Wrap_all_unparented_JSX_in_JSX_fragment:s(95121,e.DiagnosticCategory.Message,\"Wrap_all_unparented_JSX_in_JSX_fragment_95121\",\"Wrap all unparented JSX in JSX fragment\"),Convert_arrow_function_or_function_expression:s(95122,e.DiagnosticCategory.Message,\"Convert_arrow_function_or_function_expression_95122\",\"Convert arrow function or function expression\"),Convert_to_anonymous_function:s(95123,e.DiagnosticCategory.Message,\"Convert_to_anonymous_function_95123\",\"Convert to anonymous function\"),Convert_to_named_function:s(95124,e.DiagnosticCategory.Message,\"Convert_to_named_function_95124\",\"Convert to named function\"),Convert_to_arrow_function:s(95125,e.DiagnosticCategory.Message,\"Convert_to_arrow_function_95125\",\"Convert to arrow function\"),Remove_parentheses:s(95126,e.DiagnosticCategory.Message,\"Remove_parentheses_95126\",\"Remove parentheses\"),Could_not_find_a_containing_arrow_function:s(95127,e.DiagnosticCategory.Message,\"Could_not_find_a_containing_arrow_function_95127\",\"Could not find a containing arrow function\"),Containing_function_is_not_an_arrow_function:s(95128,e.DiagnosticCategory.Message,\"Containing_function_is_not_an_arrow_function_95128\",\"Containing function is not an arrow function\"),Could_not_find_export_statement:s(95129,e.DiagnosticCategory.Message,\"Could_not_find_export_statement_95129\",\"Could not find export statement\"),This_file_already_has_a_default_export:s(95130,e.DiagnosticCategory.Message,\"This_file_already_has_a_default_export_95130\",\"This file already has a default export\"),Could_not_find_import_clause:s(95131,e.DiagnosticCategory.Message,\"Could_not_find_import_clause_95131\",\"Could not find import clause\"),Could_not_find_namespace_import_or_named_imports:s(95132,e.DiagnosticCategory.Message,\"Could_not_find_namespace_import_or_named_imports_95132\",\"Could not find namespace import or named imports\"),Selection_is_not_a_valid_type_node:s(95133,e.DiagnosticCategory.Message,\"Selection_is_not_a_valid_type_node_95133\",\"Selection is not a valid type node\"),No_type_could_be_extracted_from_this_type_node:s(95134,e.DiagnosticCategory.Message,\"No_type_could_be_extracted_from_this_type_node_95134\",\"No type could be extracted from this type node\"),Could_not_find_property_for_which_to_generate_accessor:s(95135,e.DiagnosticCategory.Message,\"Could_not_find_property_for_which_to_generate_accessor_95135\",\"Could not find property for which to generate accessor\"),Name_is_not_valid:s(95136,e.DiagnosticCategory.Message,\"Name_is_not_valid_95136\",\"Name is not valid\"),Can_only_convert_property_with_modifier:s(95137,e.DiagnosticCategory.Message,\"Can_only_convert_property_with_modifier_95137\",\"Can only convert property with modifier\"),Switch_each_misused_0_to_1:s(95138,e.DiagnosticCategory.Message,\"Switch_each_misused_0_to_1_95138\",\"Switch each misused '{0}' to '{1}'\"),Convert_to_optional_chain_expression:s(95139,e.DiagnosticCategory.Message,\"Convert_to_optional_chain_expression_95139\",\"Convert to optional chain expression\"),Could_not_find_convertible_access_expression:s(95140,e.DiagnosticCategory.Message,\"Could_not_find_convertible_access_expression_95140\",\"Could not find convertible access expression\"),Could_not_find_matching_access_expressions:s(95141,e.DiagnosticCategory.Message,\"Could_not_find_matching_access_expressions_95141\",\"Could not find matching access expressions\"),Can_only_convert_logical_AND_access_chains:s(95142,e.DiagnosticCategory.Message,\"Can_only_convert_logical_AND_access_chains_95142\",\"Can only convert logical AND access chains\"),Add_void_to_Promise_resolved_without_a_value:s(95143,e.DiagnosticCategory.Message,\"Add_void_to_Promise_resolved_without_a_value_95143\",\"Add 'void' to Promise resolved without a value\"),Add_void_to_all_Promises_resolved_without_a_value:s(95144,e.DiagnosticCategory.Message,\"Add_void_to_all_Promises_resolved_without_a_value_95144\",\"Add 'void' to all Promises resolved without a value\"),Use_element_access_for_0:s(95145,e.DiagnosticCategory.Message,\"Use_element_access_for_0_95145\",\"Use element access for '{0}'\"),Use_element_access_for_all_undeclared_properties:s(95146,e.DiagnosticCategory.Message,\"Use_element_access_for_all_undeclared_properties_95146\",\"Use element access for all undeclared properties.\"),Delete_all_unused_imports:s(95147,e.DiagnosticCategory.Message,\"Delete_all_unused_imports_95147\",\"Delete all unused imports\"),Infer_function_return_type:s(95148,e.DiagnosticCategory.Message,\"Infer_function_return_type_95148\",\"Infer function return type\"),Return_type_must_be_inferred_from_a_function:s(95149,e.DiagnosticCategory.Message,\"Return_type_must_be_inferred_from_a_function_95149\",\"Return type must be inferred from a function\"),Could_not_determine_function_return_type:s(95150,e.DiagnosticCategory.Message,\"Could_not_determine_function_return_type_95150\",\"Could not determine function return type\"),Could_not_convert_to_arrow_function:s(95151,e.DiagnosticCategory.Message,\"Could_not_convert_to_arrow_function_95151\",\"Could not convert to arrow function\"),Could_not_convert_to_named_function:s(95152,e.DiagnosticCategory.Message,\"Could_not_convert_to_named_function_95152\",\"Could not convert to named function\"),Could_not_convert_to_anonymous_function:s(95153,e.DiagnosticCategory.Message,\"Could_not_convert_to_anonymous_function_95153\",\"Could not convert to anonymous function\"),Can_only_convert_string_concatenation:s(95154,e.DiagnosticCategory.Message,\"Can_only_convert_string_concatenation_95154\",\"Can only convert string concatenation\"),Selection_is_not_a_valid_statement_or_statements:s(95155,e.DiagnosticCategory.Message,\"Selection_is_not_a_valid_statement_or_statements_95155\",\"Selection is not a valid statement or statements\"),Add_missing_function_declaration_0:s(95156,e.DiagnosticCategory.Message,\"Add_missing_function_declaration_0_95156\",\"Add missing function declaration '{0}'\"),Add_all_missing_function_declarations:s(95157,e.DiagnosticCategory.Message,\"Add_all_missing_function_declarations_95157\",\"Add all missing function declarations\"),Method_not_implemented:s(95158,e.DiagnosticCategory.Message,\"Method_not_implemented_95158\",\"Method not implemented.\"),Function_not_implemented:s(95159,e.DiagnosticCategory.Message,\"Function_not_implemented_95159\",\"Function not implemented.\"),Add_override_modifier:s(95160,e.DiagnosticCategory.Message,\"Add_override_modifier_95160\",\"Add 'override' modifier\"),Remove_override_modifier:s(95161,e.DiagnosticCategory.Message,\"Remove_override_modifier_95161\",\"Remove 'override' modifier\"),Add_all_missing_override_modifiers:s(95162,e.DiagnosticCategory.Message,\"Add_all_missing_override_modifiers_95162\",\"Add all missing 'override' modifiers\"),Remove_all_unnecessary_override_modifiers:s(95163,e.DiagnosticCategory.Message,\"Remove_all_unnecessary_override_modifiers_95163\",\"Remove all unnecessary 'override' modifiers\"),No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer:s(18004,e.DiagnosticCategory.Error,\"No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer_18004\",\"No value exists in scope for the shorthand property '{0}'. Either declare one or provide an initializer.\"),Classes_may_not_have_a_field_named_constructor:s(18006,e.DiagnosticCategory.Error,\"Classes_may_not_have_a_field_named_constructor_18006\",\"Classes may not have a field named 'constructor'.\"),JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array:s(18007,e.DiagnosticCategory.Error,\"JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array_18007\",\"JSX expressions may not use the comma operator. Did you mean to write an array?\"),Private_identifiers_cannot_be_used_as_parameters:s(18009,e.DiagnosticCategory.Error,\"Private_identifiers_cannot_be_used_as_parameters_18009\",\"Private identifiers cannot be used as parameters.\"),An_accessibility_modifier_cannot_be_used_with_a_private_identifier:s(18010,e.DiagnosticCategory.Error,\"An_accessibility_modifier_cannot_be_used_with_a_private_identifier_18010\",\"An accessibility modifier cannot be used with a private identifier.\"),The_operand_of_a_delete_operator_cannot_be_a_private_identifier:s(18011,e.DiagnosticCategory.Error,\"The_operand_of_a_delete_operator_cannot_be_a_private_identifier_18011\",\"The operand of a 'delete' operator cannot be a private identifier.\"),constructor_is_a_reserved_word:s(18012,e.DiagnosticCategory.Error,\"constructor_is_a_reserved_word_18012\",\"'#constructor' is a reserved word.\"),Property_0_is_not_accessible_outside_class_1_because_it_has_a_private_identifier:s(18013,e.DiagnosticCategory.Error,\"Property_0_is_not_accessible_outside_class_1_because_it_has_a_private_identifier_18013\",\"Property '{0}' is not accessible outside class '{1}' because it has a private identifier.\"),The_property_0_cannot_be_accessed_on_type_1_within_this_class_because_it_is_shadowed_by_another_private_identifier_with_the_same_spelling:s(18014,e.DiagnosticCategory.Error,\"The_property_0_cannot_be_accessed_on_type_1_within_this_class_because_it_is_shadowed_by_another_priv_18014\",\"The property '{0}' cannot be accessed on type '{1}' within this class because it is shadowed by another private identifier with the same spelling.\"),Property_0_in_type_1_refers_to_a_different_member_that_cannot_be_accessed_from_within_type_2:s(18015,e.DiagnosticCategory.Error,\"Property_0_in_type_1_refers_to_a_different_member_that_cannot_be_accessed_from_within_type_2_18015\",\"Property '{0}' in type '{1}' refers to a different member that cannot be accessed from within type '{2}'.\"),Private_identifiers_are_not_allowed_outside_class_bodies:s(18016,e.DiagnosticCategory.Error,\"Private_identifiers_are_not_allowed_outside_class_bodies_18016\",\"Private identifiers are not allowed outside class bodies.\"),The_shadowing_declaration_of_0_is_defined_here:s(18017,e.DiagnosticCategory.Error,\"The_shadowing_declaration_of_0_is_defined_here_18017\",\"The shadowing declaration of '{0}' is defined here\"),The_declaration_of_0_that_you_probably_intended_to_use_is_defined_here:s(18018,e.DiagnosticCategory.Error,\"The_declaration_of_0_that_you_probably_intended_to_use_is_defined_here_18018\",\"The declaration of '{0}' that you probably intended to use is defined here\"),_0_modifier_cannot_be_used_with_a_private_identifier:s(18019,e.DiagnosticCategory.Error,\"_0_modifier_cannot_be_used_with_a_private_identifier_18019\",\"'{0}' modifier cannot be used with a private identifier.\"),An_enum_member_cannot_be_named_with_a_private_identifier:s(18024,e.DiagnosticCategory.Error,\"An_enum_member_cannot_be_named_with_a_private_identifier_18024\",\"An enum member cannot be named with a private identifier.\"),can_only_be_used_at_the_start_of_a_file:s(18026,e.DiagnosticCategory.Error,\"can_only_be_used_at_the_start_of_a_file_18026\",\"'#!' can only be used at the start of a file.\"),Compiler_reserves_name_0_when_emitting_private_identifier_downlevel:s(18027,e.DiagnosticCategory.Error,\"Compiler_reserves_name_0_when_emitting_private_identifier_downlevel_18027\",\"Compiler reserves name '{0}' when emitting private identifier downlevel.\"),Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher:s(18028,e.DiagnosticCategory.Error,\"Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher_18028\",\"Private identifiers are only available when targeting ECMAScript 2015 and higher.\"),Private_identifiers_are_not_allowed_in_variable_declarations:s(18029,e.DiagnosticCategory.Error,\"Private_identifiers_are_not_allowed_in_variable_declarations_18029\",\"Private identifiers are not allowed in variable declarations.\"),An_optional_chain_cannot_contain_private_identifiers:s(18030,e.DiagnosticCategory.Error,\"An_optional_chain_cannot_contain_private_identifiers_18030\",\"An optional chain cannot contain private identifiers.\"),The_intersection_0_was_reduced_to_never_because_property_1_has_conflicting_types_in_some_constituents:s(18031,e.DiagnosticCategory.Error,\"The_intersection_0_was_reduced_to_never_because_property_1_has_conflicting_types_in_some_constituent_18031\",\"The intersection '{0}' was reduced to 'never' because property '{1}' has conflicting types in some constituents.\"),The_intersection_0_was_reduced_to_never_because_property_1_exists_in_multiple_constituents_and_is_private_in_some:s(18032,e.DiagnosticCategory.Error,\"The_intersection_0_was_reduced_to_never_because_property_1_exists_in_multiple_constituents_and_is_pr_18032\",\"The intersection '{0}' was reduced to 'never' because property '{1}' exists in multiple constituents and is private in some.\"),Only_numeric_enums_can_have_computed_members_but_this_expression_has_type_0_If_you_do_not_need_exhaustiveness_checks_consider_using_an_object_literal_instead:s(18033,e.DiagnosticCategory.Error,\"Only_numeric_enums_can_have_computed_members_but_this_expression_has_type_0_If_you_do_not_need_exhau_18033\",\"Only numeric enums can have computed members, but this expression has type '{0}'. If you do not need exhaustiveness checks, consider using an object literal instead.\"),Specify_the_JSX_fragment_factory_function_to_use_when_targeting_react_JSX_emit_with_jsxFactory_compiler_option_is_specified_e_g_Fragment:s(18034,e.DiagnosticCategory.Message,\"Specify_the_JSX_fragment_factory_function_to_use_when_targeting_react_JSX_emit_with_jsxFactory_compi_18034\",\"Specify the JSX fragment factory function to use when targeting 'react' JSX emit with 'jsxFactory' compiler option is specified, e.g. 'Fragment'.\"),Invalid_value_for_jsxFragmentFactory_0_is_not_a_valid_identifier_or_qualified_name:s(18035,e.DiagnosticCategory.Error,\"Invalid_value_for_jsxFragmentFactory_0_is_not_a_valid_identifier_or_qualified_name_18035\",\"Invalid value for 'jsxFragmentFactory'. '{0}' is not a valid identifier or qualified-name.\"),Class_decorators_can_t_be_used_with_static_private_identifier_Consider_removing_the_experimental_decorator:s(18036,e.DiagnosticCategory.Error,\"Class_decorators_can_t_be_used_with_static_private_identifier_Consider_removing_the_experimental_dec_18036\",\"Class decorators can't be used with static private identifier. Consider removing the experimental decorator.\")}}(_0||(_0={})),function(e){var s;function X(K0){return K0>=78}e.tokenIsIdentifierOrKeyword=X,e.tokenIsIdentifierOrKeywordOrGreaterThan=function(K0){return K0===31||X(K0)};var J=((s={abstract:125,any:128,as:126,asserts:127,bigint:155,boolean:131,break:80,case:81,catch:82,class:83,continue:85,const:84}).constructor=132,s.debugger=86,s.declare=133,s.default=87,s.delete=88,s.do=89,s.else=90,s.enum=91,s.export=92,s.extends=93,s.false=94,s.finally=95,s.for=96,s.from=153,s.function=97,s.get=134,s.if=98,s.implements=116,s.import=99,s.in=100,s.infer=135,s.instanceof=101,s.interface=117,s.intrinsic=136,s.is=137,s.keyof=138,s.let=118,s.module=139,s.namespace=140,s.never=141,s.new=102,s.null=103,s.number=144,s.object=145,s.package=119,s.private=120,s.protected=121,s.public=122,s.override=156,s.readonly=142,s.require=143,s.global=154,s.return=104,s.set=146,s.static=123,s.string=147,s.super=105,s.switch=106,s.symbol=148,s.this=107,s.throw=108,s.true=109,s.try=110,s.type=149,s.typeof=111,s.undefined=150,s.unique=151,s.unknown=152,s.var=112,s.void=113,s.while=114,s.with=115,s.yield=124,s.async=129,s.await=130,s.of=157,s),m0=new e.Map(e.getEntries(J)),s1=new e.Map(e.getEntries($($({},J),{\"{\":18,\"}\":19,\"(\":20,\")\":21,\"[\":22,\"]\":23,\".\":24,\"...\":25,\";\":26,\",\":27,\"<\":29,\">\":31,\"<=\":32,\">=\":33,\"==\":34,\"!=\":35,\"===\":36,\"!==\":37,\"=>\":38,\"+\":39,\"-\":40,\"**\":42,\"*\":41,\"/\":43,\"%\":44,\"++\":45,\"--\":46,\"<<\":47,\"</\":30,\">>\":48,\">>>\":49,\"&\":50,\"|\":51,\"^\":52,\"!\":53,\"~\":54,\"&&\":55,\"||\":56,\"?\":57,\"??\":60,\"?.\":28,\":\":58,\"=\":62,\"+=\":63,\"-=\":64,\"*=\":65,\"**=\":66,\"/=\":67,\"%=\":68,\"<<=\":69,\">>=\":70,\">>>=\":71,\"&=\":72,\"|=\":73,\"^=\":77,\"||=\":74,\"&&=\":75,\"??=\":76,\"@\":59,\"`\":61}))),i0=[170,170,181,181,186,186,192,214,216,246,248,543,546,563,592,685,688,696,699,705,720,721,736,740,750,750,890,890,902,902,904,906,908,908,910,929,931,974,976,983,986,1011,1024,1153,1164,1220,1223,1224,1227,1228,1232,1269,1272,1273,1329,1366,1369,1369,1377,1415,1488,1514,1520,1522,1569,1594,1600,1610,1649,1747,1749,1749,1765,1766,1786,1788,1808,1808,1810,1836,1920,1957,2309,2361,2365,2365,2384,2384,2392,2401,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2524,2525,2527,2529,2544,2545,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2699,2701,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2784,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2870,2873,2877,2877,2908,2909,2911,2913,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,2997,2999,3001,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3168,3169,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3294,3294,3296,3297,3333,3340,3342,3344,3346,3368,3370,3385,3424,3425,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3805,3840,3840,3904,3911,3913,3946,3976,3979,4096,4129,4131,4135,4137,4138,4176,4181,4256,4293,4304,4342,4352,4441,4447,4514,4520,4601,4608,4614,4616,4678,4680,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4742,4744,4744,4746,4749,4752,4782,4784,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4814,4816,4822,4824,4846,4848,4878,4880,4880,4882,4885,4888,4894,4896,4934,4936,4954,5024,5108,5121,5740,5743,5750,5761,5786,5792,5866,6016,6067,6176,6263,6272,6312,7680,7835,7840,7929,7936,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8319,8319,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8497,8499,8505,8544,8579,12293,12295,12321,12329,12337,12341,12344,12346,12353,12436,12445,12446,12449,12538,12540,12542,12549,12588,12593,12686,12704,12727,13312,19893,19968,40869,40960,42124,44032,55203,63744,64045,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65138,65140,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500],H0=[170,170,181,181,186,186,192,214,216,246,248,543,546,563,592,685,688,696,699,705,720,721,736,740,750,750,768,846,864,866,890,890,902,902,904,906,908,908,910,929,931,974,976,983,986,1011,1024,1153,1155,1158,1164,1220,1223,1224,1227,1228,1232,1269,1272,1273,1329,1366,1369,1369,1377,1415,1425,1441,1443,1465,1467,1469,1471,1471,1473,1474,1476,1476,1488,1514,1520,1522,1569,1594,1600,1621,1632,1641,1648,1747,1749,1756,1759,1768,1770,1773,1776,1788,1808,1836,1840,1866,1920,1968,2305,2307,2309,2361,2364,2381,2384,2388,2392,2403,2406,2415,2433,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2492,2494,2500,2503,2504,2507,2509,2519,2519,2524,2525,2527,2531,2534,2545,2562,2562,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2649,2652,2654,2654,2662,2676,2689,2691,2693,2699,2701,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2784,2790,2799,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2870,2873,2876,2883,2887,2888,2891,2893,2902,2903,2908,2909,2911,2913,2918,2927,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,2997,2999,3001,3006,3010,3014,3016,3018,3021,3031,3031,3047,3055,3073,3075,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3134,3140,3142,3144,3146,3149,3157,3158,3168,3169,3174,3183,3202,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3262,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3297,3302,3311,3330,3331,3333,3340,3342,3344,3346,3368,3370,3385,3390,3395,3398,3400,3402,3405,3415,3415,3424,3425,3430,3439,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3769,3771,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3805,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3946,3953,3972,3974,3979,3984,3991,3993,4028,4038,4038,4096,4129,4131,4135,4137,4138,4140,4146,4150,4153,4160,4169,4176,4185,4256,4293,4304,4342,4352,4441,4447,4514,4520,4601,4608,4614,4616,4678,4680,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4742,4744,4744,4746,4749,4752,4782,4784,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4814,4816,4822,4824,4846,4848,4878,4880,4880,4882,4885,4888,4894,4896,4934,4936,4954,4969,4977,5024,5108,5121,5740,5743,5750,5761,5786,5792,5866,6016,6099,6112,6121,6160,6169,6176,6263,6272,6313,7680,7835,7840,7929,7936,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8255,8256,8319,8319,8400,8412,8417,8417,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8497,8499,8505,8544,8579,12293,12295,12321,12335,12337,12341,12344,12346,12353,12436,12441,12442,12445,12446,12449,12542,12549,12588,12593,12686,12704,12727,13312,19893,19968,40869,40960,42124,44032,55203,63744,64045,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65056,65059,65075,65076,65101,65103,65136,65138,65140,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65381,65470,65474,65479,65482,65487,65490,65495,65498,65500],E0=[170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,880,884,886,887,890,893,902,902,904,906,908,908,910,929,931,1013,1015,1153,1162,1319,1329,1366,1369,1369,1377,1415,1488,1514,1520,1522,1568,1610,1646,1647,1649,1747,1749,1749,1765,1766,1774,1775,1786,1788,1791,1791,1808,1808,1810,1839,1869,1957,1969,1969,1994,2026,2036,2037,2042,2042,2048,2069,2074,2074,2084,2084,2088,2088,2112,2136,2208,2208,2210,2220,2308,2361,2365,2365,2384,2384,2392,2401,2417,2423,2425,2431,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2544,2545,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3133,3133,3160,3161,3168,3169,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3294,3294,3296,3297,3313,3314,3333,3340,3342,3344,3346,3386,3389,3389,3406,3406,3424,3425,3450,3455,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3807,3840,3840,3904,3911,3913,3948,3976,3980,4096,4138,4159,4159,4176,4181,4186,4189,4193,4193,4197,4198,4206,4208,4213,4225,4238,4238,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4992,5007,5024,5108,5121,5740,5743,5759,5761,5786,5792,5866,5870,5872,5888,5900,5902,5905,5920,5937,5952,5969,5984,5996,5998,6e3,6016,6067,6103,6103,6108,6108,6176,6263,6272,6312,6314,6314,6320,6389,6400,6428,6480,6509,6512,6516,6528,6571,6593,6599,6656,6678,6688,6740,6823,6823,6917,6963,6981,6987,7043,7072,7086,7087,7098,7141,7168,7203,7245,7247,7258,7293,7401,7404,7406,7409,7413,7414,7424,7615,7680,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8305,8305,8319,8319,8336,8348,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11502,11506,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11648,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11823,11823,12293,12295,12321,12329,12337,12341,12344,12348,12353,12438,12445,12447,12449,12538,12540,12543,12549,12589,12593,12686,12704,12730,12784,12799,13312,19893,19968,40908,40960,42124,42192,42237,42240,42508,42512,42527,42538,42539,42560,42606,42623,42647,42656,42735,42775,42783,42786,42888,42891,42894,42896,42899,42912,42922,43e3,43009,43011,43013,43015,43018,43020,43042,43072,43123,43138,43187,43250,43255,43259,43259,43274,43301,43312,43334,43360,43388,43396,43442,43471,43471,43520,43560,43584,43586,43588,43595,43616,43638,43642,43642,43648,43695,43697,43697,43701,43702,43705,43709,43712,43712,43714,43714,43739,43741,43744,43754,43762,43764,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43968,44002,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500],I=[170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,768,884,886,887,890,893,902,902,904,906,908,908,910,929,931,1013,1015,1153,1155,1159,1162,1319,1329,1366,1369,1369,1377,1415,1425,1469,1471,1471,1473,1474,1476,1477,1479,1479,1488,1514,1520,1522,1552,1562,1568,1641,1646,1747,1749,1756,1759,1768,1770,1788,1791,1791,1808,1866,1869,1969,1984,2037,2042,2042,2048,2093,2112,2139,2208,2208,2210,2220,2276,2302,2304,2403,2406,2415,2417,2423,2425,2431,2433,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2500,2503,2504,2507,2510,2519,2519,2524,2525,2527,2531,2534,2545,2561,2563,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2641,2641,2649,2652,2654,2654,2662,2677,2689,2691,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2787,2790,2799,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2876,2884,2887,2888,2891,2893,2902,2903,2908,2909,2911,2915,2918,2927,2929,2929,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3006,3010,3014,3016,3018,3021,3024,3024,3031,3031,3046,3055,3073,3075,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3133,3140,3142,3144,3146,3149,3157,3158,3160,3161,3168,3171,3174,3183,3202,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3260,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3299,3302,3311,3313,3314,3330,3331,3333,3340,3342,3344,3346,3386,3389,3396,3398,3400,3402,3406,3415,3415,3424,3427,3430,3439,3450,3455,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3769,3771,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3807,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3948,3953,3972,3974,3991,3993,4028,4038,4038,4096,4169,4176,4253,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4957,4959,4992,5007,5024,5108,5121,5740,5743,5759,5761,5786,5792,5866,5870,5872,5888,5900,5902,5908,5920,5940,5952,5971,5984,5996,5998,6e3,6002,6003,6016,6099,6103,6103,6108,6109,6112,6121,6155,6157,6160,6169,6176,6263,6272,6314,6320,6389,6400,6428,6432,6443,6448,6459,6470,6509,6512,6516,6528,6571,6576,6601,6608,6617,6656,6683,6688,6750,6752,6780,6783,6793,6800,6809,6823,6823,6912,6987,6992,7001,7019,7027,7040,7155,7168,7223,7232,7241,7245,7293,7376,7378,7380,7414,7424,7654,7676,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8204,8205,8255,8256,8276,8276,8305,8305,8319,8319,8336,8348,8400,8412,8417,8417,8421,8432,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11647,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11744,11775,11823,11823,12293,12295,12321,12335,12337,12341,12344,12348,12353,12438,12441,12442,12445,12447,12449,12538,12540,12543,12549,12589,12593,12686,12704,12730,12784,12799,13312,19893,19968,40908,40960,42124,42192,42237,42240,42508,42512,42539,42560,42607,42612,42621,42623,42647,42655,42737,42775,42783,42786,42888,42891,42894,42896,42899,42912,42922,43e3,43047,43072,43123,43136,43204,43216,43225,43232,43255,43259,43259,43264,43309,43312,43347,43360,43388,43392,43456,43471,43481,43520,43574,43584,43597,43600,43609,43616,43638,43642,43643,43648,43714,43739,43741,43744,43759,43762,43766,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43968,44010,44012,44013,44016,44025,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65024,65039,65056,65062,65075,65076,65101,65103,65136,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500],A=[65,90,97,122,170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,880,884,886,887,890,893,895,895,902,902,904,906,908,908,910,929,931,1013,1015,1153,1162,1327,1329,1366,1369,1369,1376,1416,1488,1514,1519,1522,1568,1610,1646,1647,1649,1747,1749,1749,1765,1766,1774,1775,1786,1788,1791,1791,1808,1808,1810,1839,1869,1957,1969,1969,1994,2026,2036,2037,2042,2042,2048,2069,2074,2074,2084,2084,2088,2088,2112,2136,2144,2154,2208,2228,2230,2237,2308,2361,2365,2365,2384,2384,2392,2401,2417,2432,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2544,2545,2556,2556,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2809,2809,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3077,3084,3086,3088,3090,3112,3114,3129,3133,3133,3160,3162,3168,3169,3200,3200,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3294,3294,3296,3297,3313,3314,3333,3340,3342,3344,3346,3386,3389,3389,3406,3406,3412,3414,3423,3425,3450,3455,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3718,3722,3724,3747,3749,3749,3751,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3807,3840,3840,3904,3911,3913,3948,3976,3980,4096,4138,4159,4159,4176,4181,4186,4189,4193,4193,4197,4198,4206,4208,4213,4225,4238,4238,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4992,5007,5024,5109,5112,5117,5121,5740,5743,5759,5761,5786,5792,5866,5870,5880,5888,5900,5902,5905,5920,5937,5952,5969,5984,5996,5998,6e3,6016,6067,6103,6103,6108,6108,6176,6264,6272,6312,6314,6314,6320,6389,6400,6430,6480,6509,6512,6516,6528,6571,6576,6601,6656,6678,6688,6740,6823,6823,6917,6963,6981,6987,7043,7072,7086,7087,7098,7141,7168,7203,7245,7247,7258,7293,7296,7304,7312,7354,7357,7359,7401,7404,7406,7411,7413,7414,7418,7418,7424,7615,7680,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8305,8305,8319,8319,8336,8348,8450,8450,8455,8455,8458,8467,8469,8469,8472,8477,8484,8484,8486,8486,8488,8488,8490,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11502,11506,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11648,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,12293,12295,12321,12329,12337,12341,12344,12348,12353,12438,12443,12447,12449,12538,12540,12543,12549,12591,12593,12686,12704,12730,12784,12799,13312,19893,19968,40943,40960,42124,42192,42237,42240,42508,42512,42527,42538,42539,42560,42606,42623,42653,42656,42735,42775,42783,42786,42888,42891,42943,42946,42950,42999,43009,43011,43013,43015,43018,43020,43042,43072,43123,43138,43187,43250,43255,43259,43259,43261,43262,43274,43301,43312,43334,43360,43388,43396,43442,43471,43471,43488,43492,43494,43503,43514,43518,43520,43560,43584,43586,43588,43595,43616,43638,43642,43642,43646,43695,43697,43697,43701,43702,43705,43709,43712,43712,43714,43714,43739,43741,43744,43754,43762,43764,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43824,43866,43868,43879,43888,44002,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500,65536,65547,65549,65574,65576,65594,65596,65597,65599,65613,65616,65629,65664,65786,65856,65908,66176,66204,66208,66256,66304,66335,66349,66378,66384,66421,66432,66461,66464,66499,66504,66511,66513,66517,66560,66717,66736,66771,66776,66811,66816,66855,66864,66915,67072,67382,67392,67413,67424,67431,67584,67589,67592,67592,67594,67637,67639,67640,67644,67644,67647,67669,67680,67702,67712,67742,67808,67826,67828,67829,67840,67861,67872,67897,67968,68023,68030,68031,68096,68096,68112,68115,68117,68119,68121,68149,68192,68220,68224,68252,68288,68295,68297,68324,68352,68405,68416,68437,68448,68466,68480,68497,68608,68680,68736,68786,68800,68850,68864,68899,69376,69404,69415,69415,69424,69445,69600,69622,69635,69687,69763,69807,69840,69864,69891,69926,69956,69956,69968,70002,70006,70006,70019,70066,70081,70084,70106,70106,70108,70108,70144,70161,70163,70187,70272,70278,70280,70280,70282,70285,70287,70301,70303,70312,70320,70366,70405,70412,70415,70416,70419,70440,70442,70448,70450,70451,70453,70457,70461,70461,70480,70480,70493,70497,70656,70708,70727,70730,70751,70751,70784,70831,70852,70853,70855,70855,71040,71086,71128,71131,71168,71215,71236,71236,71296,71338,71352,71352,71424,71450,71680,71723,71840,71903,71935,71935,72096,72103,72106,72144,72161,72161,72163,72163,72192,72192,72203,72242,72250,72250,72272,72272,72284,72329,72349,72349,72384,72440,72704,72712,72714,72750,72768,72768,72818,72847,72960,72966,72968,72969,72971,73008,73030,73030,73056,73061,73063,73064,73066,73097,73112,73112,73440,73458,73728,74649,74752,74862,74880,75075,77824,78894,82944,83526,92160,92728,92736,92766,92880,92909,92928,92975,92992,92995,93027,93047,93053,93071,93760,93823,93952,94026,94032,94032,94099,94111,94176,94177,94179,94179,94208,100343,100352,101106,110592,110878,110928,110930,110948,110951,110960,111355,113664,113770,113776,113788,113792,113800,113808,113817,119808,119892,119894,119964,119966,119967,119970,119970,119973,119974,119977,119980,119982,119993,119995,119995,119997,120003,120005,120069,120071,120074,120077,120084,120086,120092,120094,120121,120123,120126,120128,120132,120134,120134,120138,120144,120146,120485,120488,120512,120514,120538,120540,120570,120572,120596,120598,120628,120630,120654,120656,120686,120688,120712,120714,120744,120746,120770,120772,120779,123136,123180,123191,123197,123214,123214,123584,123627,124928,125124,125184,125251,125259,125259,126464,126467,126469,126495,126497,126498,126500,126500,126503,126503,126505,126514,126516,126519,126521,126521,126523,126523,126530,126530,126535,126535,126537,126537,126539,126539,126541,126543,126545,126546,126548,126548,126551,126551,126553,126553,126555,126555,126557,126557,126559,126559,126561,126562,126564,126564,126567,126570,126572,126578,126580,126583,126585,126588,126590,126590,126592,126601,126603,126619,126625,126627,126629,126633,126635,126651,131072,173782,173824,177972,177984,178205,178208,183969,183984,191456,194560,195101],Z=[48,57,65,90,95,95,97,122,170,170,181,181,183,183,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,768,884,886,887,890,893,895,895,902,906,908,908,910,929,931,1013,1015,1153,1155,1159,1162,1327,1329,1366,1369,1369,1376,1416,1425,1469,1471,1471,1473,1474,1476,1477,1479,1479,1488,1514,1519,1522,1552,1562,1568,1641,1646,1747,1749,1756,1759,1768,1770,1788,1791,1791,1808,1866,1869,1969,1984,2037,2042,2042,2045,2045,2048,2093,2112,2139,2144,2154,2208,2228,2230,2237,2259,2273,2275,2403,2406,2415,2417,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2500,2503,2504,2507,2510,2519,2519,2524,2525,2527,2531,2534,2545,2556,2556,2558,2558,2561,2563,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2641,2641,2649,2652,2654,2654,2662,2677,2689,2691,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2787,2790,2799,2809,2815,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2876,2884,2887,2888,2891,2893,2902,2903,2908,2909,2911,2915,2918,2927,2929,2929,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3006,3010,3014,3016,3018,3021,3024,3024,3031,3031,3046,3055,3072,3084,3086,3088,3090,3112,3114,3129,3133,3140,3142,3144,3146,3149,3157,3158,3160,3162,3168,3171,3174,3183,3200,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3260,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3299,3302,3311,3313,3314,3328,3331,3333,3340,3342,3344,3346,3396,3398,3400,3402,3406,3412,3415,3423,3427,3430,3439,3450,3455,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3558,3567,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3718,3722,3724,3747,3749,3749,3751,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3807,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3948,3953,3972,3974,3991,3993,4028,4038,4038,4096,4169,4176,4253,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4957,4959,4969,4977,4992,5007,5024,5109,5112,5117,5121,5740,5743,5759,5761,5786,5792,5866,5870,5880,5888,5900,5902,5908,5920,5940,5952,5971,5984,5996,5998,6e3,6002,6003,6016,6099,6103,6103,6108,6109,6112,6121,6155,6157,6160,6169,6176,6264,6272,6314,6320,6389,6400,6430,6432,6443,6448,6459,6470,6509,6512,6516,6528,6571,6576,6601,6608,6618,6656,6683,6688,6750,6752,6780,6783,6793,6800,6809,6823,6823,6832,6845,6912,6987,6992,7001,7019,7027,7040,7155,7168,7223,7232,7241,7245,7293,7296,7304,7312,7354,7357,7359,7376,7378,7380,7418,7424,7673,7675,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8255,8256,8276,8276,8305,8305,8319,8319,8336,8348,8400,8412,8417,8417,8421,8432,8450,8450,8455,8455,8458,8467,8469,8469,8472,8477,8484,8484,8486,8486,8488,8488,8490,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11647,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11744,11775,12293,12295,12321,12335,12337,12341,12344,12348,12353,12438,12441,12447,12449,12538,12540,12543,12549,12591,12593,12686,12704,12730,12784,12799,13312,19893,19968,40943,40960,42124,42192,42237,42240,42508,42512,42539,42560,42607,42612,42621,42623,42737,42775,42783,42786,42888,42891,42943,42946,42950,42999,43047,43072,43123,43136,43205,43216,43225,43232,43255,43259,43259,43261,43309,43312,43347,43360,43388,43392,43456,43471,43481,43488,43518,43520,43574,43584,43597,43600,43609,43616,43638,43642,43714,43739,43741,43744,43759,43762,43766,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43824,43866,43868,43879,43888,44010,44012,44013,44016,44025,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65024,65039,65056,65071,65075,65076,65101,65103,65136,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500,65536,65547,65549,65574,65576,65594,65596,65597,65599,65613,65616,65629,65664,65786,65856,65908,66045,66045,66176,66204,66208,66256,66272,66272,66304,66335,66349,66378,66384,66426,66432,66461,66464,66499,66504,66511,66513,66517,66560,66717,66720,66729,66736,66771,66776,66811,66816,66855,66864,66915,67072,67382,67392,67413,67424,67431,67584,67589,67592,67592,67594,67637,67639,67640,67644,67644,67647,67669,67680,67702,67712,67742,67808,67826,67828,67829,67840,67861,67872,67897,67968,68023,68030,68031,68096,68099,68101,68102,68108,68115,68117,68119,68121,68149,68152,68154,68159,68159,68192,68220,68224,68252,68288,68295,68297,68326,68352,68405,68416,68437,68448,68466,68480,68497,68608,68680,68736,68786,68800,68850,68864,68903,68912,68921,69376,69404,69415,69415,69424,69456,69600,69622,69632,69702,69734,69743,69759,69818,69840,69864,69872,69881,69888,69940,69942,69951,69956,69958,69968,70003,70006,70006,70016,70084,70089,70092,70096,70106,70108,70108,70144,70161,70163,70199,70206,70206,70272,70278,70280,70280,70282,70285,70287,70301,70303,70312,70320,70378,70384,70393,70400,70403,70405,70412,70415,70416,70419,70440,70442,70448,70450,70451,70453,70457,70459,70468,70471,70472,70475,70477,70480,70480,70487,70487,70493,70499,70502,70508,70512,70516,70656,70730,70736,70745,70750,70751,70784,70853,70855,70855,70864,70873,71040,71093,71096,71104,71128,71133,71168,71232,71236,71236,71248,71257,71296,71352,71360,71369,71424,71450,71453,71467,71472,71481,71680,71738,71840,71913,71935,71935,72096,72103,72106,72151,72154,72161,72163,72164,72192,72254,72263,72263,72272,72345,72349,72349,72384,72440,72704,72712,72714,72758,72760,72768,72784,72793,72818,72847,72850,72871,72873,72886,72960,72966,72968,72969,72971,73014,73018,73018,73020,73021,73023,73031,73040,73049,73056,73061,73063,73064,73066,73102,73104,73105,73107,73112,73120,73129,73440,73462,73728,74649,74752,74862,74880,75075,77824,78894,82944,83526,92160,92728,92736,92766,92768,92777,92880,92909,92912,92916,92928,92982,92992,92995,93008,93017,93027,93047,93053,93071,93760,93823,93952,94026,94031,94087,94095,94111,94176,94177,94179,94179,94208,100343,100352,101106,110592,110878,110928,110930,110948,110951,110960,111355,113664,113770,113776,113788,113792,113800,113808,113817,113821,113822,119141,119145,119149,119154,119163,119170,119173,119179,119210,119213,119362,119364,119808,119892,119894,119964,119966,119967,119970,119970,119973,119974,119977,119980,119982,119993,119995,119995,119997,120003,120005,120069,120071,120074,120077,120084,120086,120092,120094,120121,120123,120126,120128,120132,120134,120134,120138,120144,120146,120485,120488,120512,120514,120538,120540,120570,120572,120596,120598,120628,120630,120654,120656,120686,120688,120712,120714,120744,120746,120770,120772,120779,120782,120831,121344,121398,121403,121452,121461,121461,121476,121476,121499,121503,121505,121519,122880,122886,122888,122904,122907,122913,122915,122916,122918,122922,123136,123180,123184,123197,123200,123209,123214,123214,123584,123641,124928,125124,125136,125142,125184,125259,125264,125273,126464,126467,126469,126495,126497,126498,126500,126500,126503,126503,126505,126514,126516,126519,126521,126521,126523,126523,126530,126530,126535,126535,126537,126537,126539,126539,126541,126543,126545,126546,126548,126548,126551,126551,126553,126553,126555,126555,126557,126557,126559,126559,126561,126562,126564,126564,126567,126570,126572,126578,126580,126583,126585,126588,126590,126590,126592,126601,126603,126619,126625,126627,126629,126633,126635,126651,131072,173782,173824,177972,177984,178205,178208,183969,183984,191456,194560,195101,917760,917999],A0=/^\\s*\\/\\/\\/?\\s*@(ts-expect-error|ts-ignore)/,o0=/^\\s*(?:\\/|\\*)*\\s*@(ts-expect-error|ts-ignore)/;function j(K0,G1){if(K0<G1[0])return!1;for(var Nx,n1=0,S0=G1.length;n1+1<S0;){if(Nx=n1+(S0-n1)/2,G1[Nx-=Nx%2]<=K0&&K0<=G1[Nx+1])return!0;K0<G1[Nx]?S0=Nx:n1=Nx+2}return!1}function G(K0,G1){return j(K0,G1>=2?A:G1===1?E0:i0)}e.isUnicodeIdentifierStart=G;var u0,U=(u0=[],s1.forEach(function(K0,G1){u0[K0]=G1}),u0);function g0(K0){for(var G1=new Array,Nx=0,n1=0;Nx<K0.length;){var S0=K0.charCodeAt(Nx);switch(Nx++,S0){case 13:K0.charCodeAt(Nx)===10&&Nx++;case 10:G1.push(n1),n1=Nx;break;default:S0>127&&w0(S0)&&(G1.push(n1),n1=Nx)}}return G1.push(n1),G1}function d0(K0,G1,Nx,n1,S0){(G1<0||G1>=K0.length)&&(S0?G1=G1<0?0:G1>=K0.length?K0.length-1:G1:e.Debug.fail(\"Bad line number. Line: \"+G1+\", lineStarts.length: \"+K0.length+\" , line map is correct? \"+(n1!==void 0?e.arraysEqual(K0,g0(n1)):\"unknown\")));var I0=K0[G1]+Nx;return S0?I0>K0[G1+1]?K0[G1+1]:typeof n1==\"string\"&&I0>n1.length?n1.length:I0:(G1<K0.length-1?e.Debug.assert(I0<K0[G1+1]):n1!==void 0&&e.Debug.assert(I0<=n1.length),I0)}function P0(K0){return K0.lineMap||(K0.lineMap=g0(K0.text))}function c0(K0,G1){var Nx=D0(K0,G1);return{line:Nx,character:G1-K0[Nx]}}function D0(K0,G1,Nx){var n1=e.binarySearch(K0,G1,e.identity,e.compareValues,Nx);return n1<0&&(n1=~n1-1,e.Debug.assert(n1!==-1,\"position cannot precede the beginning of the file\")),n1}function x0(K0){return l0(K0)||w0(K0)}function l0(K0){return K0===32||K0===9||K0===11||K0===12||K0===160||K0===133||K0===5760||K0>=8192&&K0<=8203||K0===8239||K0===8287||K0===12288||K0===65279}function w0(K0){return K0===10||K0===13||K0===8232||K0===8233}function V(K0){return K0>=48&&K0<=57}function w(K0){return V(K0)||K0>=65&&K0<=70||K0>=97&&K0<=102}function H(K0){return K0>=48&&K0<=55}e.tokenToString=function(K0){return U[K0]},e.stringToToken=function(K0){return s1.get(K0)},e.computeLineStarts=g0,e.getPositionOfLineAndCharacter=function(K0,G1,Nx,n1){return K0.getPositionOfLineAndCharacter?K0.getPositionOfLineAndCharacter(G1,Nx,n1):d0(P0(K0),G1,Nx,K0.text,n1)},e.computePositionOfLineAndCharacter=d0,e.getLineStarts=P0,e.computeLineAndCharacterOfPosition=c0,e.computeLineOfPosition=D0,e.getLinesBetweenPositions=function(K0,G1,Nx){if(G1===Nx)return 0;var n1=P0(K0),S0=Math.min(G1,Nx),I0=S0===Nx,U0=I0?G1:Nx,p0=D0(n1,S0),p1=D0(n1,U0,p0);return I0?p0-p1:p1-p0},e.getLineAndCharacterOfPosition=function(K0,G1){return c0(P0(K0),G1)},e.isWhiteSpaceLike=x0,e.isWhiteSpaceSingleLine=l0,e.isLineBreak=w0,e.isOctalDigit=H,e.couldStartTrivia=function(K0,G1){var Nx=K0.charCodeAt(G1);switch(Nx){case 13:case 10:case 9:case 11:case 12:case 32:case 47:case 60:case 124:case 61:case 62:return!0;case 35:return G1===0;default:return Nx>127}},e.skipTrivia=function(K0,G1,Nx,n1,S0){if(e.positionIsSynthesized(G1))return G1;for(var I0=!1;;){var U0=K0.charCodeAt(G1);switch(U0){case 13:K0.charCodeAt(G1+1)===10&&G1++;case 10:if(G1++,Nx)return G1;I0=!!S0;continue;case 9:case 11:case 12:case 32:G1++;continue;case 47:if(n1)break;if(K0.charCodeAt(G1+1)===47){for(G1+=2;G1<K0.length&&!w0(K0.charCodeAt(G1));)G1++;I0=!1;continue}if(K0.charCodeAt(G1+1)===42){for(G1+=2;G1<K0.length;){if(K0.charCodeAt(G1)===42&&K0.charCodeAt(G1+1)===47){G1+=2;break}G1++}I0=!1;continue}break;case 60:case 124:case 61:case 62:if(V0(K0,G1)){G1=t0(K0,G1),I0=!1;continue}break;case 35:if(G1===0&&y0(K0,G1)){G1=G0(K0,G1),I0=!1;continue}break;case 42:if(I0){G1++,I0=!1;continue}break;default:if(U0>127&&x0(U0)){G1++;continue}}return G1}};var k0=\"<<<<<<<\".length;function V0(K0,G1){if(e.Debug.assert(G1>=0),G1===0||w0(K0.charCodeAt(G1-1))){var Nx=K0.charCodeAt(G1);if(G1+k0<K0.length){for(var n1=0;n1<k0;n1++)if(K0.charCodeAt(G1+n1)!==Nx)return!1;return Nx===61||K0.charCodeAt(G1+k0)===32}}return!1}function t0(K0,G1,Nx){Nx&&Nx(e.Diagnostics.Merge_conflict_marker_encountered,G1,k0);var n1=K0.charCodeAt(G1),S0=K0.length;if(n1===60||n1===62)for(;G1<S0&&!w0(K0.charCodeAt(G1));)G1++;else for(e.Debug.assert(n1===124||n1===61);G1<S0;){var I0=K0.charCodeAt(G1);if((I0===61||I0===62)&&I0!==n1&&V0(K0,G1))break;G1++}return G1}var f0=/^#!.*/;function y0(K0,G1){return e.Debug.assert(G1===0),f0.test(K0)}function G0(K0,G1){return G1+=f0.exec(K0)[0].length}function d1(K0,G1,Nx,n1,S0,I0,U0){var p0,p1,Y1,N1,V1=!1,Ox=n1,$x=U0;if(Nx===0){Ox=!0;var rx=Y0(G1);rx&&(Nx=rx.length)}x:for(;Nx>=0&&Nx<G1.length;){var O0=G1.charCodeAt(Nx);switch(O0){case 13:G1.charCodeAt(Nx+1)===10&&Nx++;case 10:if(Nx++,n1)break x;Ox=!0,V1&&(N1=!0);continue;case 9:case 11:case 12:case 32:Nx++;continue;case 47:var C1=G1.charCodeAt(Nx+1),nx=!1;if(C1===47||C1===42){var O=C1===47?2:3,b1=Nx;if(Nx+=2,C1===47)for(;Nx<G1.length;){if(w0(G1.charCodeAt(Nx))){nx=!0;break}Nx++}else for(;Nx<G1.length;){if(G1.charCodeAt(Nx)===42&&G1.charCodeAt(Nx+1)===47){Nx+=2;break}Nx++}if(Ox){if(V1&&($x=S0(p0,p1,Y1,N1,I0,$x),!K0&&$x))return $x;p0=b1,p1=Nx,Y1=O,N1=nx,V1=!0}continue}break x;default:if(O0>127&&x0(O0)){V1&&w0(O0)&&(N1=!0),Nx++;continue}break x}}return V1&&($x=S0(p0,p1,Y1,N1,I0,$x)),$x}function h1(K0,G1,Nx,n1,S0){return d1(!0,K0,G1,!1,Nx,n1,S0)}function S1(K0,G1,Nx,n1,S0){return d1(!0,K0,G1,!0,Nx,n1,S0)}function Q1(K0,G1,Nx,n1,S0,I0){return I0||(I0=[]),I0.push({kind:Nx,pos:K0,end:G1,hasTrailingNewLine:n1}),I0}function Y0(K0){var G1=f0.exec(K0);if(G1)return G1[0]}function $1(K0,G1){return K0>=65&&K0<=90||K0>=97&&K0<=122||K0===36||K0===95||K0>127&&G(K0,G1)}function Z1(K0,G1,Nx){return K0>=65&&K0<=90||K0>=97&&K0<=122||K0>=48&&K0<=57||K0===36||K0===95||Nx===1&&(K0===45||K0===58)||K0>127&&function(n1,S0){return j(n1,S0>=2?Z:S0===1?I:H0)}(K0,G1)}e.isShebangTrivia=y0,e.scanShebangTrivia=G0,e.forEachLeadingCommentRange=function(K0,G1,Nx,n1){return d1(!1,K0,G1,!1,Nx,n1)},e.forEachTrailingCommentRange=function(K0,G1,Nx,n1){return d1(!1,K0,G1,!0,Nx,n1)},e.reduceEachLeadingCommentRange=h1,e.reduceEachTrailingCommentRange=S1,e.getLeadingCommentRanges=function(K0,G1){return h1(K0,G1,Q1,void 0,void 0)},e.getTrailingCommentRanges=function(K0,G1){return S1(K0,G1,Q1,void 0,void 0)},e.getShebang=Y0,e.isIdentifierStart=$1,e.isIdentifierPart=Z1,e.isIdentifierText=function(K0,G1,Nx){var n1=Q0(K0,0);if(!$1(n1,G1))return!1;for(var S0=y1(n1);S0<K0.length;S0+=y1(n1))if(!Z1(n1=Q0(K0,S0),G1,Nx))return!1;return!0},e.createScanner=function(K0,G1,Nx,n1,S0,I0,U0){Nx===void 0&&(Nx=0);var p0,p1,Y1,N1,V1,Ox,$x,rx,O0=n1,C1=0;Le(O0,I0,U0);var nx={getStartPos:function(){return Y1},getTextPos:function(){return p0},getToken:function(){return V1},getTokenPos:function(){return N1},getTokenText:function(){return O0.substring(N1,p0)},getTokenValue:function(){return Ox},hasUnicodeEscape:function(){return(1024&$x)!=0},hasExtendedUnicodeEscape:function(){return(8&$x)!=0},hasPrecedingLineBreak:function(){return(1&$x)!=0},hasPrecedingJSDocComment:function(){return(2&$x)!=0},isIdentifier:function(){return V1===78||V1>115},isReservedWord:function(){return V1>=80&&V1<=115},isUnterminated:function(){return(4&$x)!=0},getCommentDirectives:function(){return rx},getNumericLiteralFlags:function(){return 1008&$x},getTokenFlags:function(){return $x},reScanGreaterToken:function(){if(V1===31){if(O0.charCodeAt(p0)===62)return O0.charCodeAt(p0+1)===62?O0.charCodeAt(p0+2)===61?(p0+=3,V1=71):(p0+=2,V1=49):O0.charCodeAt(p0+1)===61?(p0+=2,V1=70):(p0++,V1=48);if(O0.charCodeAt(p0)===61)return p0++,V1=33}return V1},reScanAsteriskEqualsToken:function(){return e.Debug.assert(V1===65,\"'reScanAsteriskEqualsToken' should only be called on a '*='\"),p0=N1+1,V1=62},reScanSlashToken:function(){if(V1===43||V1===67){for(var Yn=N1+1,W1=!1,cx=!1;;){if(Yn>=p1){$x|=4,O(e.Diagnostics.Unterminated_regular_expression_literal);break}var E1=O0.charCodeAt(Yn);if(w0(E1)){$x|=4,O(e.Diagnostics.Unterminated_regular_expression_literal);break}if(W1)W1=!1;else{if(E1===47&&!cx){Yn++;break}E1===91?cx=!0:E1===92?W1=!0:E1===93&&(cx=!1)}Yn++}for(;Yn<p1&&Z1(O0.charCodeAt(Yn),K0);)Yn++;p0=Yn,Ox=O0.substring(N1,p0),V1=13}return V1},reScanTemplateToken:function(Yn){return e.Debug.assert(V1===19,\"'reScanTemplateToken' should only be called on a '}'\"),p0=N1,V1=Nt(Yn)},reScanTemplateHeadOrNoSubstitutionTemplate:function(){return p0=N1,V1=Nt(!0)},scanJsxIdentifier:function(){if(X(V1)){for(var Yn=!1;p0<p1;){var W1=O0.charCodeAt(p0);if(W1!==45)if(W1!==58||Yn){var cx=p0;if(Ox+=Kn(),p0===cx)break}else Ox+=\":\",p0++,Yn=!0,V1=78;else Ox+=\"-\",p0++}Ox.slice(-1)===\":\"&&(Ox=Ox.slice(0,-1),p0--)}return V1},scanJsxAttributeValue:Tt,reScanJsxAttributeValue:function(){return p0=N1=Y1,Tt()},reScanJsxToken:function(Yn){return Yn===void 0&&(Yn=!0),p0=N1=Y1,V1=ii(Yn)},reScanLessThanToken:function(){return V1===47?(p0=N1+1,V1=29):V1},reScanQuestionToken:function(){return e.Debug.assert(V1===60,\"'reScanQuestionToken' should only be called on a '??'\"),p0=N1+1,V1=57},reScanInvalidIdentifier:function(){e.Debug.assert(V1===0,\"'reScanInvalidIdentifier' should only be called when the current token is 'SyntaxKind.Unknown'.\"),p0=N1=Y1,$x=0;var Yn=Q0(O0,p0),W1=lr(Yn,99);return W1?V1=W1:(p0+=y1(Yn),V1)},scanJsxToken:ii,scanJsDocToken:function(){if(Y1=N1=p0,$x=0,p0>=p1)return V1=1;var Yn=Q0(O0,p0);switch(p0+=y1(Yn),Yn){case 9:case 11:case 12:case 32:for(;p0<p1&&l0(O0.charCodeAt(p0));)p0++;return V1=5;case 64:return V1=59;case 13:O0.charCodeAt(p0)===10&&p0++;case 10:return $x|=1,V1=4;case 42:return V1=41;case 123:return V1=18;case 125:return V1=19;case 91:return V1=22;case 93:return V1=23;case 60:return V1=29;case 62:return V1=31;case 61:return V1=62;case 44:return V1=27;case 46:return V1=24;case 96:return V1=61;case 92:p0--;var W1=Ni();if(W1>=0&&$1(W1,K0))return p0+=3,$x|=8,Ox=Bt()+Kn(),V1=oi();var cx=ar();return cx>=0&&$1(cx,K0)?(p0+=6,$x|=1024,Ox=String.fromCharCode(cx)+Kn(),V1=oi()):(p0++,V1=0)}if($1(Yn,K0)){for(var E1=Yn;p0<p1&&Z1(E1=Q0(O0,p0),K0)||O0.charCodeAt(p0)===45;)p0+=y1(E1);return Ox=O0.substring(N1,p0),E1===92&&(Ox+=Kn()),V1=oi()}return V1=0},scan:Gt,getText:function(){return O0},clearCommentDirectives:function(){rx=void 0},setText:Le,setScriptTarget:function(Yn){K0=Yn},setLanguageVariant:function(Yn){Nx=Yn},setOnError:function(Yn){S0=Yn},setTextPos:Sa,setInJSDocType:function(Yn){C1+=Yn?1:-1},tryScan:function(Yn){return bn(Yn,!1)},lookAhead:function(Yn){return bn(Yn,!0)},scanRange:function(Yn,W1,cx){var E1=p1,qx=p0,xt=Y1,ae=N1,Ut=V1,or=Ox,ut=$x,Gr=rx;Le(O0,Yn,W1);var B=cx();return p1=E1,p0=qx,Y1=xt,N1=ae,V1=Ut,Ox=or,$x=ut,rx=Gr,B}};return e.Debug.isDebugging&&Object.defineProperty(nx,\"__debugShowCurrentPositionInText\",{get:function(){var Yn=nx.getText();return Yn.slice(0,nx.getStartPos())+\"\\u2551\"+Yn.slice(nx.getStartPos())}}),nx;function O(Yn,W1,cx){if(W1===void 0&&(W1=p0),S0){var E1=p0;p0=W1,S0(Yn,cx||0),p0=E1}}function b1(){for(var Yn=p0,W1=!1,cx=!1,E1=\"\";;){var qx=O0.charCodeAt(p0);if(qx!==95){if(!V(qx))break;W1=!0,cx=!1,p0++}else $x|=512,W1?(W1=!1,cx=!0,E1+=O0.substring(Yn,p0)):O(cx?e.Diagnostics.Multiple_consecutive_numeric_separators_are_not_permitted:e.Diagnostics.Numeric_separators_are_not_allowed_here,p0,1),Yn=++p0}return O0.charCodeAt(p0-1)===95&&O(e.Diagnostics.Numeric_separators_are_not_allowed_here,p0-1,1),E1+O0.substring(Yn,p0)}function Px(){var Yn,W1,cx=p0,E1=b1();O0.charCodeAt(p0)===46&&(p0++,Yn=b1());var qx,xt=p0;if(O0.charCodeAt(p0)===69||O0.charCodeAt(p0)===101){p0++,$x|=16,O0.charCodeAt(p0)!==43&&O0.charCodeAt(p0)!==45||p0++;var ae=p0,Ut=b1();Ut?(W1=O0.substring(xt,ae)+Ut,xt=p0):O(e.Diagnostics.Digit_expected)}if(512&$x?(qx=E1,Yn&&(qx+=\".\"+Yn),W1&&(qx+=W1)):qx=O0.substring(cx,xt),Yn!==void 0||16&$x)return me(cx,Yn===void 0&&!!(16&$x)),{type:8,value:\"\"+ +qx};Ox=qx;var or=dt();return me(cx),{type:or,value:Ox}}function me(Yn,W1){if($1(Q0(O0,p0),K0)){var cx=p0,E1=Kn().length;E1===1&&O0[cx]===\"n\"?O(W1?e.Diagnostics.A_bigint_literal_cannot_use_exponential_notation:e.Diagnostics.A_bigint_literal_must_be_an_integer,Yn,cx-Yn+1):(O(e.Diagnostics.An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal,cx,E1),p0=cx)}}function Re(){for(var Yn=p0;H(O0.charCodeAt(p0));)p0++;return+O0.substring(Yn,p0)}function gt(Yn,W1){var cx=wr(Yn,!1,W1);return cx?parseInt(cx,16):-1}function Vt(Yn,W1){return wr(Yn,!0,W1)}function wr(Yn,W1,cx){for(var E1=[],qx=!1,xt=!1;E1.length<Yn||W1;){var ae=O0.charCodeAt(p0);if(cx&&ae===95)$x|=512,qx?(qx=!1,xt=!0):O(xt?e.Diagnostics.Multiple_consecutive_numeric_separators_are_not_permitted:e.Diagnostics.Numeric_separators_are_not_allowed_here,p0,1),p0++;else{if(qx=cx,ae>=65&&ae<=70)ae+=32;else if(!(ae>=48&&ae<=57||ae>=97&&ae<=102))break;E1.push(ae),p0++,xt=!1}}return E1.length<Yn&&(E1=[]),O0.charCodeAt(p0-1)===95&&O(e.Diagnostics.Numeric_separators_are_not_allowed_here,p0-1,1),String.fromCharCode.apply(String,E1)}function gr(Yn){Yn===void 0&&(Yn=!1);for(var W1=O0.charCodeAt(p0),cx=\"\",E1=++p0;;){if(p0>=p1){cx+=O0.substring(E1,p0),$x|=4,O(e.Diagnostics.Unterminated_string_literal);break}var qx=O0.charCodeAt(p0);if(qx===W1){cx+=O0.substring(E1,p0),p0++;break}if(qx!==92||Yn){if(w0(qx)&&!Yn){cx+=O0.substring(E1,p0),$x|=4,O(e.Diagnostics.Unterminated_string_literal);break}p0++}else cx+=O0.substring(E1,p0),cx+=Ir(),E1=p0}return cx}function Nt(Yn){for(var W1,cx=O0.charCodeAt(p0)===96,E1=++p0,qx=\"\";;){if(p0>=p1){qx+=O0.substring(E1,p0),$x|=4,O(e.Diagnostics.Unterminated_template_literal),W1=cx?14:17;break}var xt=O0.charCodeAt(p0);if(xt===96){qx+=O0.substring(E1,p0),p0++,W1=cx?14:17;break}if(xt===36&&p0+1<p1&&O0.charCodeAt(p0+1)===123){qx+=O0.substring(E1,p0),p0+=2,W1=cx?15:16;break}xt!==92?xt!==13?p0++:(qx+=O0.substring(E1,p0),++p0<p1&&O0.charCodeAt(p0)===10&&p0++,qx+=`\n`,E1=p0):(qx+=O0.substring(E1,p0),qx+=Ir(Yn),E1=p0)}return e.Debug.assert(W1!==void 0),Ox=qx,W1}function Ir(Yn){var W1=p0;if(++p0>=p1)return O(e.Diagnostics.Unexpected_end_of_text),\"\";var cx=O0.charCodeAt(p0);switch(p0++,cx){case 48:return Yn&&p0<p1&&V(O0.charCodeAt(p0))?(p0++,$x|=2048,O0.substring(W1,p0)):\"\\0\";case 98:return\"\\b\";case 116:return\"\t\";case 110:return`\n`;case 118:return\"\\v\";case 102:return\"\\f\";case 114:return\"\\r\";case 39:return\"'\";case 34:return'\"';case 117:if(Yn){for(var E1=p0;E1<p0+4;E1++)if(E1<p1&&!w(O0.charCodeAt(E1))&&O0.charCodeAt(E1)!==123)return p0=E1,$x|=2048,O0.substring(W1,p0)}if(p0<p1&&O0.charCodeAt(p0)===123){if(p0++,Yn&&!w(O0.charCodeAt(p0)))return $x|=2048,O0.substring(W1,p0);if(Yn){var qx=p0,xt=Vt(1,!1);if(!function(ae){return ae<=1114111}(xt?parseInt(xt,16):-1)||O0.charCodeAt(p0)!==125)return $x|=2048,O0.substring(W1,p0);p0=qx}return $x|=8,Bt()}return $x|=1024,xr(4);case 120:if(Yn){if(!w(O0.charCodeAt(p0)))return $x|=2048,O0.substring(W1,p0);if(!w(O0.charCodeAt(p0+1)))return p0++,$x|=2048,O0.substring(W1,p0)}return xr(2);case 13:p0<p1&&O0.charCodeAt(p0)===10&&p0++;case 10:case 8232:case 8233:return\"\";default:return String.fromCharCode(cx)}}function xr(Yn){var W1=gt(Yn,!1);return W1>=0?String.fromCharCode(W1):(O(e.Diagnostics.Hexadecimal_digit_expected),\"\")}function Bt(){var Yn=Vt(1,!1),W1=Yn?parseInt(Yn,16):-1,cx=!1;return W1<0?(O(e.Diagnostics.Hexadecimal_digit_expected),cx=!0):W1>1114111&&(O(e.Diagnostics.An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive),cx=!0),p0>=p1?(O(e.Diagnostics.Unexpected_end_of_text),cx=!0):O0.charCodeAt(p0)===125?p0++:(O(e.Diagnostics.Unterminated_Unicode_escape_sequence),cx=!0),cx?\"\":I1(W1)}function ar(){if(p0+5<p1&&O0.charCodeAt(p0+1)===117){var Yn=p0;p0+=2;var W1=gt(4,!1);return p0=Yn,W1}return-1}function Ni(){if(K0>=2&&Q0(O0,p0+1)===117&&Q0(O0,p0+2)===123){var Yn=p0;p0+=3;var W1=Vt(1,!1),cx=W1?parseInt(W1,16):-1;return p0=Yn,cx}return-1}function Kn(){for(var Yn=\"\",W1=p0;p0<p1;){var cx=Q0(O0,p0);if(Z1(cx,K0))p0+=y1(cx);else{if(cx!==92)break;if((cx=Ni())>=0&&Z1(cx,K0)){p0+=3,$x|=8,Yn+=Bt(),W1=p0;continue}if(!((cx=ar())>=0&&Z1(cx,K0)))break;$x|=1024,Yn+=O0.substring(W1,p0),Yn+=I1(cx),W1=p0+=6}}return Yn+=O0.substring(W1,p0)}function oi(){var Yn=Ox.length;if(Yn>=2&&Yn<=12){var W1=Ox.charCodeAt(0);if(W1>=97&&W1<=122){var cx=m0.get(Ox);if(cx!==void 0)return V1=cx}}return V1=78}function Ba(Yn){for(var W1=\"\",cx=!1,E1=!1;;){var qx=O0.charCodeAt(p0);if(qx!==95){if(cx=!0,!V(qx)||qx-48>=Yn)break;W1+=O0[p0],p0++,E1=!1}else $x|=512,cx?(cx=!1,E1=!0):O(E1?e.Diagnostics.Multiple_consecutive_numeric_separators_are_not_permitted:e.Diagnostics.Numeric_separators_are_not_allowed_here,p0,1),p0++}return O0.charCodeAt(p0-1)===95&&O(e.Diagnostics.Numeric_separators_are_not_allowed_here,p0-1,1),W1}function dt(){if(O0.charCodeAt(p0)===110)return Ox+=\"n\",384&$x&&(Ox=e.parsePseudoBigInt(Ox)+\"n\"),p0++,9;var Yn=128&$x?parseInt(Ox.slice(2),2):256&$x?parseInt(Ox.slice(2),8):+Ox;return Ox=\"\"+Yn,8}function Gt(){var Yn;Y1=p0,$x=0;for(var W1=!1;;){if(N1=p0,p0>=p1)return V1=1;var cx=Q0(O0,p0);if(cx===35&&p0===0&&y0(O0,p0)){if(p0=G0(O0,p0),G1)continue;return V1=6}switch(cx){case 10:case 13:if($x|=1,G1){p0++;continue}return cx===13&&p0+1<p1&&O0.charCodeAt(p0+1)===10?p0+=2:p0++,V1=4;case 9:case 11:case 12:case 32:case 160:case 5760:case 8192:case 8193:case 8194:case 8195:case 8196:case 8197:case 8198:case 8199:case 8200:case 8201:case 8202:case 8203:case 8239:case 8287:case 12288:case 65279:if(G1){p0++;continue}for(;p0<p1&&l0(O0.charCodeAt(p0));)p0++;return V1=5;case 33:return O0.charCodeAt(p0+1)===61?O0.charCodeAt(p0+2)===61?(p0+=3,V1=37):(p0+=2,V1=35):(p0++,V1=53);case 34:case 39:return Ox=gr(),V1=10;case 96:return V1=Nt(!1);case 37:return O0.charCodeAt(p0+1)===61?(p0+=2,V1=68):(p0++,V1=44);case 38:return O0.charCodeAt(p0+1)===38?O0.charCodeAt(p0+2)===61?(p0+=3,V1=75):(p0+=2,V1=55):O0.charCodeAt(p0+1)===61?(p0+=2,V1=72):(p0++,V1=50);case 40:return p0++,V1=20;case 41:return p0++,V1=21;case 42:if(O0.charCodeAt(p0+1)===61)return p0+=2,V1=65;if(O0.charCodeAt(p0+1)===42)return O0.charCodeAt(p0+2)===61?(p0+=3,V1=66):(p0+=2,V1=42);if(p0++,C1&&!W1&&1&$x){W1=!0;continue}return V1=41;case 43:return O0.charCodeAt(p0+1)===43?(p0+=2,V1=45):O0.charCodeAt(p0+1)===61?(p0+=2,V1=63):(p0++,V1=39);case 44:return p0++,V1=27;case 45:return O0.charCodeAt(p0+1)===45?(p0+=2,V1=46):O0.charCodeAt(p0+1)===61?(p0+=2,V1=64):(p0++,V1=40);case 46:return V(O0.charCodeAt(p0+1))?(Ox=Px().value,V1=8):O0.charCodeAt(p0+1)===46&&O0.charCodeAt(p0+2)===46?(p0+=3,V1=25):(p0++,V1=24);case 47:if(O0.charCodeAt(p0+1)===47){for(p0+=2;p0<p1&&!w0(O0.charCodeAt(p0));)p0++;if(rx=en(rx,O0.slice(N1,p0),A0,N1),G1)continue;return V1=2}if(O0.charCodeAt(p0+1)===42){p0+=2,O0.charCodeAt(p0)===42&&O0.charCodeAt(p0+1)!==47&&($x|=2);for(var E1=!1,qx=N1;p0<p1;){var xt=O0.charCodeAt(p0);if(xt===42&&O0.charCodeAt(p0+1)===47){p0+=2,E1=!0;break}p0++,w0(xt)&&(qx=p0,$x|=1)}if(rx=en(rx,O0.slice(qx,p0),o0,qx),E1||O(e.Diagnostics.Asterisk_Slash_expected),G1)continue;return E1||($x|=4),V1=3}return O0.charCodeAt(p0+1)===61?(p0+=2,V1=67):(p0++,V1=43);case 48:if(p0+2<p1&&(O0.charCodeAt(p0+1)===88||O0.charCodeAt(p0+1)===120))return p0+=2,(Ox=Vt(1,!0))||(O(e.Diagnostics.Hexadecimal_digit_expected),Ox=\"0\"),Ox=\"0x\"+Ox,$x|=64,V1=dt();if(p0+2<p1&&(O0.charCodeAt(p0+1)===66||O0.charCodeAt(p0+1)===98))return p0+=2,(Ox=Ba(2))||(O(e.Diagnostics.Binary_digit_expected),Ox=\"0\"),Ox=\"0b\"+Ox,$x|=128,V1=dt();if(p0+2<p1&&(O0.charCodeAt(p0+1)===79||O0.charCodeAt(p0+1)===111))return p0+=2,(Ox=Ba(8))||(O(e.Diagnostics.Octal_digit_expected),Ox=\"0\"),Ox=\"0o\"+Ox,$x|=256,V1=dt();if(p0+1<p1&&H(O0.charCodeAt(p0+1)))return Ox=\"\"+Re(),$x|=32,V1=8;case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return Yn=Px(),V1=Yn.type,Ox=Yn.value,V1;case 58:return p0++,V1=58;case 59:return p0++,V1=26;case 60:if(V0(O0,p0)){if(p0=t0(O0,p0,O),G1)continue;return V1=7}return O0.charCodeAt(p0+1)===60?O0.charCodeAt(p0+2)===61?(p0+=3,V1=69):(p0+=2,V1=47):O0.charCodeAt(p0+1)===61?(p0+=2,V1=32):Nx===1&&O0.charCodeAt(p0+1)===47&&O0.charCodeAt(p0+2)!==42?(p0+=2,V1=30):(p0++,V1=29);case 61:if(V0(O0,p0)){if(p0=t0(O0,p0,O),G1)continue;return V1=7}return O0.charCodeAt(p0+1)===61?O0.charCodeAt(p0+2)===61?(p0+=3,V1=36):(p0+=2,V1=34):O0.charCodeAt(p0+1)===62?(p0+=2,V1=38):(p0++,V1=62);case 62:if(V0(O0,p0)){if(p0=t0(O0,p0,O),G1)continue;return V1=7}return p0++,V1=31;case 63:return O0.charCodeAt(p0+1)!==46||V(O0.charCodeAt(p0+2))?O0.charCodeAt(p0+1)===63?O0.charCodeAt(p0+2)===61?(p0+=3,V1=76):(p0+=2,V1=60):(p0++,V1=57):(p0+=2,V1=28);case 91:return p0++,V1=22;case 93:return p0++,V1=23;case 94:return O0.charCodeAt(p0+1)===61?(p0+=2,V1=77):(p0++,V1=52);case 123:return p0++,V1=18;case 124:if(V0(O0,p0)){if(p0=t0(O0,p0,O),G1)continue;return V1=7}return O0.charCodeAt(p0+1)===124?O0.charCodeAt(p0+2)===61?(p0+=3,V1=74):(p0+=2,V1=56):O0.charCodeAt(p0+1)===61?(p0+=2,V1=73):(p0++,V1=51);case 125:return p0++,V1=19;case 126:return p0++,V1=54;case 64:return p0++,V1=59;case 92:var ae=Ni();if(ae>=0&&$1(ae,K0))return p0+=3,$x|=8,Ox=Bt()+Kn(),V1=oi();var Ut=ar();return Ut>=0&&$1(Ut,K0)?(p0+=6,$x|=1024,Ox=String.fromCharCode(Ut)+Kn(),V1=oi()):(O(e.Diagnostics.Invalid_character),p0++,V1=0);case 35:if(p0!==0&&O0[p0+1]===\"!\")return O(e.Diagnostics.can_only_be_used_at_the_start_of_a_file),p0++,V1=0;if(p0++,$1(cx=O0.charCodeAt(p0),K0)){for(p0++;p0<p1&&Z1(cx=O0.charCodeAt(p0),K0);)p0++;Ox=O0.substring(N1,p0),cx===92&&(Ox+=Kn())}else Ox=\"#\",O(e.Diagnostics.Invalid_character);return V1=79;default:var or=lr(cx,K0);if(or)return V1=or;if(l0(cx)){p0+=y1(cx);continue}if(w0(cx)){$x|=1,p0+=y1(cx);continue}return O(e.Diagnostics.Invalid_character),p0+=y1(cx),V1=0}}}function lr(Yn,W1){var cx=Yn;if($1(cx,W1)){for(p0+=y1(cx);p0<p1&&Z1(cx=Q0(O0,p0),W1);)p0+=y1(cx);return Ox=O0.substring(N1,p0),cx===92&&(Ox+=Kn()),oi()}}function en(Yn,W1,cx,E1){var qx=function(xt,ae){var Ut=ae.exec(xt);if(!!Ut)switch(Ut[1]){case\"ts-expect-error\":return 0;case\"ts-ignore\":return 1}}(W1,cx);return qx===void 0?Yn:e.append(Yn,{range:{pos:E1,end:p0},type:qx})}function ii(Yn){if(Yn===void 0&&(Yn=!0),Y1=N1=p0,p0>=p1)return V1=1;var W1=O0.charCodeAt(p0);if(W1===60)return O0.charCodeAt(p0+1)===47?(p0+=2,V1=30):(p0++,V1=29);if(W1===123)return p0++,V1=18;for(var cx=0;p0<p1&&(W1=O0.charCodeAt(p0))!==123;){if(W1===60){if(V0(O0,p0))return p0=t0(O0,p0,O),V1=7;break}if(W1===62&&O(e.Diagnostics.Unexpected_token_Did_you_mean_or_gt,p0,1),W1===125&&O(e.Diagnostics.Unexpected_token_Did_you_mean_or_rbrace,p0,1),w0(W1)&&cx===0)cx=-1;else{if(!Yn&&w0(W1)&&cx>0)break;x0(W1)||(cx=p0)}p0++}return Ox=O0.substring(Y1,p0),cx===-1?12:11}function Tt(){switch(Y1=p0,O0.charCodeAt(p0)){case 34:case 39:return Ox=gr(!0),V1=10;default:return Gt()}}function bn(Yn,W1){var cx=p0,E1=Y1,qx=N1,xt=V1,ae=Ox,Ut=$x,or=Yn();return or&&!W1||(p0=cx,Y1=E1,N1=qx,V1=xt,Ox=ae,$x=Ut),or}function Le(Yn,W1,cx){O0=Yn||\"\",p1=cx===void 0?O0.length:W1+cx,Sa(W1||0)}function Sa(Yn){e.Debug.assert(Yn>=0),p0=Yn,Y1=Yn,N1=Yn,V1=0,Ox=void 0,$x=0}};var Q0=String.prototype.codePointAt?function(K0,G1){return K0.codePointAt(G1)}:function(K0,G1){var Nx=K0.length;if(!(G1<0||G1>=Nx)){var n1=K0.charCodeAt(G1);if(n1>=55296&&n1<=56319&&Nx>G1+1){var S0=K0.charCodeAt(G1+1);if(S0>=56320&&S0<=57343)return 1024*(n1-55296)+S0-56320+65536}return n1}};function y1(K0){return K0>=65536?2:1}var k1=String.fromCodePoint?function(K0){return String.fromCodePoint(K0)}:function(K0){if(e.Debug.assert(0<=K0&&K0<=1114111),K0<=65535)return String.fromCharCode(K0);var G1=Math.floor((K0-65536)/1024)+55296,Nx=(K0-65536)%1024+56320;return String.fromCharCode(G1,Nx)};function I1(K0){return k1(K0)}e.utf16EncodeAsString=I1}(_0||(_0={})),function(e){function s(O){return O.start+O.length}function X(O){return O.length===0}function J(O,b1){var Px=s1(O,b1);return Px&&Px.length===0?void 0:Px}function m0(O,b1,Px,me){return Px<=O+b1&&Px+me>=O}function s1(O,b1){var Px=Math.max(O.start,b1.start),me=Math.min(s(O),s(b1));return Px<=me?H0(Px,me):void 0}function i0(O,b1){if(O<0)throw new Error(\"start < 0\");if(b1<0)throw new Error(\"length < 0\");return{start:O,length:b1}}function H0(O,b1){return i0(O,b1-O)}function E0(O,b1){if(b1<0)throw new Error(\"newLength < 0\");return{span:O,newLength:b1}}function I(O){return!!U0(O)&&e.every(O.elements,A)}function A(O){return!!e.isOmittedExpression(O)||I(O.name)}function Z(O){for(var b1=O.parent;e.isBindingElement(b1.parent);)b1=b1.parent.parent;return b1.parent}function A0(O,b1){e.isBindingElement(O)&&(O=Z(O));var Px=b1(O);return O.kind===250&&(O=O.parent),O&&O.kind===251&&(Px|=b1(O),O=O.parent),O&&O.kind===233&&(Px|=b1(O)),Px}function o0(O){return(8&O.flags)==0}function j(O){var b1=O;return b1.length>=3&&b1.charCodeAt(0)===95&&b1.charCodeAt(1)===95&&b1.charCodeAt(2)===95?b1.substr(1):b1}function G(O){return j(O.escapedText)}function u0(O){var b1=O.parent.parent;if(b1){if(O0(b1))return U(b1);switch(b1.kind){case 233:if(b1.declarationList&&b1.declarationList.declarations[0])return U(b1.declarationList.declarations[0]);break;case 234:var Px=b1.expression;switch(Px.kind===217&&Px.operatorToken.kind===62&&(Px=Px.left),Px.kind){case 202:return Px.name;case 203:var me=Px.argumentExpression;if(e.isIdentifier(me))return me}break;case 208:return U(b1.expression);case 246:if(O0(b1.statement)||V1(b1.statement))return U(b1.statement)}}}function U(O){var b1=c0(O);return b1&&e.isIdentifier(b1)?b1:void 0}function g0(O){return O.name||u0(O)}function d0(O){return!!O.name}function P0(O){switch(O.kind){case 78:return O;case 337:case 330:var b1=O.name;if(b1.kind===158)return b1.right;break;case 204:case 217:var Px=O;switch(e.getAssignmentDeclarationKind(Px)){case 1:case 4:case 5:case 3:return e.getElementOrPropertyAccessArgumentExpressionOrName(Px.left);case 7:case 8:case 9:return Px.arguments[1];default:return}case 335:return g0(O);case 329:return u0(O);case 267:var me=O.expression;return e.isIdentifier(me)?me:void 0;case 203:var Re=O;if(e.isBindableStaticElementAccessExpression(Re))return Re.argumentExpression}return O.name}function c0(O){if(O!==void 0)return P0(O)||(e.isFunctionExpression(O)||e.isArrowFunction(O)||e.isClassExpression(O)?D0(O):void 0)}function D0(O){if(O.parent){if(e.isPropertyAssignment(O.parent)||e.isBindingElement(O.parent))return O.parent.name;if(e.isBinaryExpression(O.parent)&&O===O.parent.right){if(e.isIdentifier(O.parent.left))return O.parent.left;if(e.isAccessExpression(O.parent.left))return e.getElementOrPropertyAccessArgumentExpressionOrName(O.parent.left)}else if(e.isVariableDeclaration(O.parent)&&e.isIdentifier(O.parent.name))return O.parent.name}}function x0(O,b1){if(O.name){if(e.isIdentifier(O.name)){var Px=O.name.escapedText;return k0(O.parent,b1).filter(function(gt){return e.isJSDocParameterTag(gt)&&e.isIdentifier(gt.name)&&gt.name.escapedText===Px})}var me=O.parent.parameters.indexOf(O);e.Debug.assert(me>-1,\"Parameters should always be in their parents' parameter list\");var Re=k0(O.parent,b1).filter(e.isJSDocParameterTag);if(me<Re.length)return[Re[me]]}return e.emptyArray}function l0(O){return x0(O,!1)}function w0(O,b1){var Px=O.name.escapedText;return k0(O.parent,b1).filter(function(me){return e.isJSDocTemplateTag(me)&&me.typeParameters.some(function(Re){return Re.name.escapedText===Px})})}function V(O){return t0(O,e.isJSDocReturnTag)}function w(O){var b1=t0(O,e.isJSDocTypeTag);if(b1&&b1.typeExpression&&b1.typeExpression.type)return b1}function H(O){var b1=t0(O,e.isJSDocTypeTag);return!b1&&e.isParameter(O)&&(b1=e.find(l0(O),function(Px){return!!Px.typeExpression})),b1&&b1.typeExpression&&b1.typeExpression.type}function k0(O,b1){var Px=O.jsDocCache;if(Px===void 0||b1){var me=e.getJSDocCommentsAndTags(O,b1);e.Debug.assert(me.length<2||me[0]!==me[1]),Px=e.flatMap(me,function(Re){return e.isJSDoc(Re)?Re.tags:Re}),b1||(O.jsDocCache=Px)}return Px}function V0(O){return k0(O,!1)}function t0(O,b1,Px){return e.find(k0(O,Px),b1)}function f0(O,b1){return V0(O).filter(b1)}function y0(O){var b1=O.kind;return!!(32&O.flags)&&(b1===202||b1===203||b1===204||b1===226)}function G0(O){return y0(O)&&!e.isNonNullExpression(O)&&!!O.questionDotToken}function d1(O){return e.skipOuterExpressions(O,8)}function h1(O){switch(O.kind){case 295:case 296:return!0;default:return!1}}function S1(O){return O>=158}function Q1(O){return O>=0&&O<=157}function Y0(O){return 8<=O&&O<=14}function $1(O){return 14<=O&&O<=17}function Z1(O){return(e.isPropertyDeclaration(O)||n1(O))&&e.isPrivateIdentifier(O.name)}function Q0(O){switch(O){case 125:case 129:case 84:case 133:case 87:case 92:case 122:case 120:case 121:case 142:case 123:case 156:return!0}return!1}function y1(O){return!!(16476&e.modifierToFlag(O))}function k1(O){return!!O&&K0(O.kind)}function I1(O){switch(O){case 252:case 166:case 167:case 168:case 169:case 209:case 210:return!0;default:return!1}}function K0(O){switch(O){case 165:case 170:case 315:case 171:case 172:case 175:case 309:case 176:return!0;default:return I1(O)}}function G1(O){var b1=O.kind;return b1===167||b1===164||b1===166||b1===168||b1===169||b1===172||b1===230}function Nx(O){return O&&(O.kind===253||O.kind===222)}function n1(O){switch(O.kind){case 166:case 168:case 169:return!0;default:return!1}}function S0(O){var b1=O.kind;return b1===171||b1===170||b1===163||b1===165||b1===172}function I0(O){var b1=O.kind;return b1===289||b1===290||b1===291||b1===166||b1===168||b1===169}function U0(O){if(O){var b1=O.kind;return b1===198||b1===197}return!1}function p0(O){switch(O.kind){case 197:case 201:return!0}return!1}function p1(O){switch(O.kind){case 198:case 200:return!0}return!1}function Y1(O){switch(O){case 202:case 203:case 205:case 204:case 274:case 275:case 278:case 206:case 200:case 208:case 201:case 222:case 209:case 78:case 13:case 8:case 9:case 10:case 14:case 219:case 94:case 103:case 107:case 109:case 105:case 226:case 227:case 99:return!0;default:return!1}}function N1(O){switch(O){case 215:case 216:case 211:case 212:case 213:case 214:case 207:return!0;default:return Y1(O)}}function V1(O){return function(b1){switch(b1){case 218:case 220:case 210:case 217:case 221:case 225:case 223:case 341:case 340:return!0;default:return N1(b1)}}(d1(O).kind)}function Ox(O){return e.isExportAssignment(O)||e.isExportDeclaration(O)}function $x(O){return O===252||O===272||O===253||O===254||O===255||O===256||O===257||O===262||O===261||O===268||O===267||O===260}function rx(O){return O===242||O===241||O===249||O===236||O===234||O===232||O===239||O===240||O===238||O===235||O===246||O===243||O===245||O===247||O===248||O===233||O===237||O===244||O===339||O===343||O===342}function O0(O){return O.kind===160?O.parent&&O.parent.kind!==334||e.isInJSFile(O):(b1=O.kind)===210||b1===199||b1===253||b1===222||b1===167||b1===256||b1===292||b1===271||b1===252||b1===209||b1===168||b1===263||b1===261||b1===266||b1===254||b1===281||b1===166||b1===165||b1===257||b1===260||b1===264||b1===270||b1===161||b1===289||b1===164||b1===163||b1===169||b1===290||b1===255||b1===160||b1===250||b1===335||b1===328||b1===337;var b1}function C1(O){return O.kind>=317&&O.kind<=337}e.isExternalModuleNameRelative=function(O){return e.pathIsRelative(O)||e.isRootedDiskPath(O)},e.sortAndDeduplicateDiagnostics=function(O){return e.sortAndDeduplicate(O,e.compareDiagnostics)},e.getDefaultLibFileName=function(O){switch(O.target){case 99:return\"lib.esnext.full.d.ts\";case 8:return\"lib.es2021.full.d.ts\";case 7:return\"lib.es2020.full.d.ts\";case 6:return\"lib.es2019.full.d.ts\";case 5:return\"lib.es2018.full.d.ts\";case 4:return\"lib.es2017.full.d.ts\";case 3:return\"lib.es2016.full.d.ts\";case 2:return\"lib.es6.d.ts\";default:return\"lib.d.ts\"}},e.textSpanEnd=s,e.textSpanIsEmpty=X,e.textSpanContainsPosition=function(O,b1){return b1>=O.start&&b1<s(O)},e.textRangeContainsPositionInclusive=function(O,b1){return b1>=O.pos&&b1<=O.end},e.textSpanContainsTextSpan=function(O,b1){return b1.start>=O.start&&s(b1)<=s(O)},e.textSpanOverlapsWith=function(O,b1){return J(O,b1)!==void 0},e.textSpanOverlap=J,e.textSpanIntersectsWithTextSpan=function(O,b1){return m0(O.start,O.length,b1.start,b1.length)},e.textSpanIntersectsWith=function(O,b1,Px){return m0(O.start,O.length,b1,Px)},e.decodedTextSpanIntersectsWith=m0,e.textSpanIntersectsWithPosition=function(O,b1){return b1<=s(O)&&b1>=O.start},e.textSpanIntersection=s1,e.createTextSpan=i0,e.createTextSpanFromBounds=H0,e.textChangeRangeNewSpan=function(O){return i0(O.span.start,O.newLength)},e.textChangeRangeIsUnchanged=function(O){return X(O.span)&&O.newLength===0},e.createTextChangeRange=E0,e.unchangedTextChangeRange=E0(i0(0,0),0),e.collapseTextChangeRangesAcrossMultipleVersions=function(O){if(O.length===0)return e.unchangedTextChangeRange;if(O.length===1)return O[0];for(var b1=O[0],Px=b1.span.start,me=s(b1.span),Re=Px+b1.newLength,gt=1;gt<O.length;gt++){var Vt=O[gt],wr=Px,gr=me,Nt=Re,Ir=Vt.span.start,xr=s(Vt.span),Bt=Ir+Vt.newLength;Px=Math.min(wr,Ir),me=Math.max(gr,gr+(xr-Nt)),Re=Math.max(Bt,Bt+(Nt-xr))}return E0(H0(Px,me),Re-Px)},e.getTypeParameterOwner=function(O){if(O&&O.kind===160){for(var b1=O;b1;b1=b1.parent)if(k1(b1)||Nx(b1)||b1.kind===254)return b1}},e.isParameterPropertyDeclaration=function(O,b1){return e.hasSyntacticModifier(O,16476)&&b1.kind===167},e.isEmptyBindingPattern=I,e.isEmptyBindingElement=A,e.walkUpBindingElementsAndPatterns=Z,e.getCombinedModifierFlags=function(O){return A0(O,e.getEffectiveModifierFlags)},e.getCombinedNodeFlagsAlwaysIncludeJSDoc=function(O){return A0(O,e.getEffectiveModifierFlagsAlwaysIncludeJSDoc)},e.getCombinedNodeFlags=function(O){return A0(O,function(b1){return b1.flags})},e.supportedLocaleDirectories=[\"cs\",\"de\",\"es\",\"fr\",\"it\",\"ja\",\"ko\",\"pl\",\"pt-br\",\"ru\",\"tr\",\"zh-cn\",\"zh-tw\"],e.validateLocaleAndSetLanguage=function(O,b1,Px){var me=O.toLowerCase(),Re=/^([a-z]+)([_\\-]([a-z]+))?$/.exec(me);if(Re){var gt=Re[1],Vt=Re[3];e.contains(e.supportedLocaleDirectories,me)&&!wr(gt,Vt,Px)&&wr(gt,void 0,Px),e.setUILocale(O)}else Px&&Px.push(e.createCompilerDiagnostic(e.Diagnostics.Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1,\"en\",\"ja-jp\"));function wr(gr,Nt,Ir){var xr=e.normalizePath(b1.getExecutingFilePath()),Bt=e.getDirectoryPath(xr),ar=e.combinePaths(Bt,gr);if(Nt&&(ar=ar+\"-\"+Nt),ar=b1.resolvePath(e.combinePaths(ar,\"diagnosticMessages.generated.json\")),!b1.fileExists(ar))return!1;var Ni=\"\";try{Ni=b1.readFile(ar)}catch{return Ir&&Ir.push(e.createCompilerDiagnostic(e.Diagnostics.Unable_to_open_file_0,ar)),!1}try{e.setLocalizedDiagnosticMessages(JSON.parse(Ni))}catch{return Ir&&Ir.push(e.createCompilerDiagnostic(e.Diagnostics.Corrupted_locale_file_0,ar)),!1}return!0}},e.getOriginalNode=function(O,b1){if(O)for(;O.original!==void 0;)O=O.original;return!b1||b1(O)?O:void 0},e.findAncestor=function(O,b1){for(;O;){var Px=b1(O);if(Px===\"quit\")return;if(Px)return O;O=O.parent}},e.isParseTreeNode=o0,e.getParseTreeNode=function(O,b1){if(O===void 0||o0(O))return O;for(O=O.original;O;){if(o0(O))return!b1||b1(O)?O:void 0;O=O.original}},e.escapeLeadingUnderscores=function(O){return O.length>=2&&O.charCodeAt(0)===95&&O.charCodeAt(1)===95?\"_\"+O:O},e.unescapeLeadingUnderscores=j,e.idText=G,e.symbolName=function(O){return O.valueDeclaration&&Z1(O.valueDeclaration)?G(O.valueDeclaration.name):j(O.escapedName)},e.nodeHasName=function O(b1,Px){return!(!d0(b1)||!e.isIdentifier(b1.name)||G(b1.name)!==G(Px))||!(!e.isVariableStatement(b1)||!e.some(b1.declarationList.declarations,function(me){return O(me,Px)}))},e.getNameOfJSDocTypedef=g0,e.isNamedDeclaration=d0,e.getNonAssignedNameOfDeclaration=P0,e.getNameOfDeclaration=c0,e.getAssignedName=D0,e.getJSDocParameterTags=l0,e.getJSDocParameterTagsNoCache=function(O){return x0(O,!0)},e.getJSDocTypeParameterTags=function(O){return w0(O,!1)},e.getJSDocTypeParameterTagsNoCache=function(O){return w0(O,!0)},e.hasJSDocParameterTags=function(O){return!!t0(O,e.isJSDocParameterTag)},e.getJSDocAugmentsTag=function(O){return t0(O,e.isJSDocAugmentsTag)},e.getJSDocImplementsTags=function(O){return f0(O,e.isJSDocImplementsTag)},e.getJSDocClassTag=function(O){return t0(O,e.isJSDocClassTag)},e.getJSDocPublicTag=function(O){return t0(O,e.isJSDocPublicTag)},e.getJSDocPublicTagNoCache=function(O){return t0(O,e.isJSDocPublicTag,!0)},e.getJSDocPrivateTag=function(O){return t0(O,e.isJSDocPrivateTag)},e.getJSDocPrivateTagNoCache=function(O){return t0(O,e.isJSDocPrivateTag,!0)},e.getJSDocProtectedTag=function(O){return t0(O,e.isJSDocProtectedTag)},e.getJSDocProtectedTagNoCache=function(O){return t0(O,e.isJSDocProtectedTag,!0)},e.getJSDocReadonlyTag=function(O){return t0(O,e.isJSDocReadonlyTag)},e.getJSDocReadonlyTagNoCache=function(O){return t0(O,e.isJSDocReadonlyTag,!0)},e.getJSDocOverrideTagNoCache=function(O){return t0(O,e.isJSDocOverrideTag,!0)},e.getJSDocDeprecatedTag=function(O){return t0(O,e.isJSDocDeprecatedTag)},e.getJSDocDeprecatedTagNoCache=function(O){return t0(O,e.isJSDocDeprecatedTag,!0)},e.getJSDocEnumTag=function(O){return t0(O,e.isJSDocEnumTag)},e.getJSDocThisTag=function(O){return t0(O,e.isJSDocThisTag)},e.getJSDocReturnTag=V,e.getJSDocTemplateTag=function(O){return t0(O,e.isJSDocTemplateTag)},e.getJSDocTypeTag=w,e.getJSDocType=H,e.getJSDocReturnType=function(O){var b1=V(O);if(b1&&b1.typeExpression)return b1.typeExpression.type;var Px=w(O);if(Px&&Px.typeExpression){var me=Px.typeExpression.type;if(e.isTypeLiteralNode(me)){var Re=e.find(me.members,e.isCallSignatureDeclaration);return Re&&Re.type}if(e.isFunctionTypeNode(me)||e.isJSDocFunctionType(me))return me.type}},e.getJSDocTags=V0,e.getJSDocTagsNoCache=function(O){return k0(O,!0)},e.getAllJSDocTags=f0,e.getAllJSDocTagsOfKind=function(O,b1){return V0(O).filter(function(Px){return Px.kind===b1})},e.getTextOfJSDocComment=function(O){return typeof O==\"string\"?O:O==null?void 0:O.map(function(b1){return b1.kind===313?b1.text:\"{@link \"+(b1.name?e.entityNameToString(b1.name)+\" \":\"\")+b1.text+\"}\"}).join(\"\")},e.getEffectiveTypeParameterDeclarations=function(O){if(e.isJSDocSignature(O))return e.emptyArray;if(e.isJSDocTypeAlias(O))return e.Debug.assert(O.parent.kind===312),e.flatMap(O.parent.tags,function(me){return e.isJSDocTemplateTag(me)?me.typeParameters:void 0});if(O.typeParameters)return O.typeParameters;if(e.isInJSFile(O)){var b1=e.getJSDocTypeParameterDeclarations(O);if(b1.length)return b1;var Px=H(O);if(Px&&e.isFunctionTypeNode(Px)&&Px.typeParameters)return Px.typeParameters}return e.emptyArray},e.getEffectiveConstraintOfTypeParameter=function(O){return O.constraint?O.constraint:e.isJSDocTemplateTag(O.parent)&&O===O.parent.typeParameters[0]?O.parent.constraint:void 0},e.isMemberName=function(O){return O.kind===78||O.kind===79},e.isGetOrSetAccessorDeclaration=function(O){return O.kind===169||O.kind===168},e.isPropertyAccessChain=function(O){return e.isPropertyAccessExpression(O)&&!!(32&O.flags)},e.isElementAccessChain=function(O){return e.isElementAccessExpression(O)&&!!(32&O.flags)},e.isCallChain=function(O){return e.isCallExpression(O)&&!!(32&O.flags)},e.isOptionalChain=y0,e.isOptionalChainRoot=G0,e.isExpressionOfOptionalChainRoot=function(O){return G0(O.parent)&&O.parent.expression===O},e.isOutermostOptionalChain=function(O){return!y0(O.parent)||G0(O.parent)||O!==O.parent.expression},e.isNullishCoalesce=function(O){return O.kind===217&&O.operatorToken.kind===60},e.isConstTypeReference=function(O){return e.isTypeReferenceNode(O)&&e.isIdentifier(O.typeName)&&O.typeName.escapedText===\"const\"&&!O.typeArguments},e.skipPartiallyEmittedExpressions=d1,e.isNonNullChain=function(O){return e.isNonNullExpression(O)&&!!(32&O.flags)},e.isBreakOrContinueStatement=function(O){return O.kind===242||O.kind===241},e.isNamedExportBindings=function(O){return O.kind===270||O.kind===269},e.isUnparsedTextLike=h1,e.isUnparsedNode=function(O){return h1(O)||O.kind===293||O.kind===297},e.isJSDocPropertyLikeTag=function(O){return O.kind===337||O.kind===330},e.isNode=function(O){return S1(O.kind)},e.isNodeKind=S1,e.isTokenKind=Q1,e.isToken=function(O){return Q1(O.kind)},e.isNodeArray=function(O){return O.hasOwnProperty(\"pos\")&&O.hasOwnProperty(\"end\")},e.isLiteralKind=Y0,e.isLiteralExpression=function(O){return Y0(O.kind)},e.isTemplateLiteralKind=$1,e.isTemplateLiteralToken=function(O){return $1(O.kind)},e.isTemplateMiddleOrTemplateTail=function(O){var b1=O.kind;return b1===16||b1===17},e.isImportOrExportSpecifier=function(O){return e.isImportSpecifier(O)||e.isExportSpecifier(O)},e.isTypeOnlyImportOrExportDeclaration=function(O){switch(O.kind){case 266:case 271:return O.parent.parent.isTypeOnly;case 264:return O.parent.isTypeOnly;case 263:case 261:return O.isTypeOnly;default:return!1}},e.isStringTextContainingNode=function(O){return O.kind===10||$1(O.kind)},e.isGeneratedIdentifier=function(O){return e.isIdentifier(O)&&(7&O.autoGenerateFlags)>0},e.isPrivateIdentifierClassElementDeclaration=Z1,e.isPrivateIdentifierPropertyAccessExpression=function(O){return e.isPropertyAccessExpression(O)&&e.isPrivateIdentifier(O.name)},e.isModifierKind=Q0,e.isParameterPropertyModifier=y1,e.isClassMemberModifier=function(O){return y1(O)||O===123||O===156},e.isModifier=function(O){return Q0(O.kind)},e.isEntityName=function(O){var b1=O.kind;return b1===158||b1===78},e.isPropertyName=function(O){var b1=O.kind;return b1===78||b1===79||b1===10||b1===8||b1===159},e.isBindingName=function(O){var b1=O.kind;return b1===78||b1===197||b1===198},e.isFunctionLike=k1,e.isFunctionLikeDeclaration=function(O){return O&&I1(O.kind)},e.isFunctionLikeKind=K0,e.isFunctionOrModuleBlock=function(O){return e.isSourceFile(O)||e.isModuleBlock(O)||e.isBlock(O)&&k1(O.parent)},e.isClassElement=G1,e.isClassLike=Nx,e.isAccessor=function(O){return O&&(O.kind===168||O.kind===169)},e.isMethodOrAccessor=n1,e.isTypeElement=S0,e.isClassOrTypeElement=function(O){return S0(O)||G1(O)},e.isObjectLiteralElementLike=I0,e.isTypeNode=function(O){return e.isTypeNodeKind(O.kind)},e.isFunctionOrConstructorTypeNode=function(O){switch(O.kind){case 175:case 176:return!0}return!1},e.isBindingPattern=U0,e.isAssignmentPattern=function(O){var b1=O.kind;return b1===200||b1===201},e.isArrayBindingElement=function(O){var b1=O.kind;return b1===199||b1===223},e.isDeclarationBindingElement=function(O){switch(O.kind){case 250:case 161:case 199:return!0}return!1},e.isBindingOrAssignmentPattern=function(O){return p0(O)||p1(O)},e.isObjectBindingOrAssignmentPattern=p0,e.isArrayBindingOrAssignmentPattern=p1,e.isPropertyAccessOrQualifiedNameOrImportTypeNode=function(O){var b1=O.kind;return b1===202||b1===158||b1===196},e.isPropertyAccessOrQualifiedName=function(O){var b1=O.kind;return b1===202||b1===158},e.isCallLikeExpression=function(O){switch(O.kind){case 276:case 275:case 204:case 205:case 206:case 162:return!0;default:return!1}},e.isCallOrNewExpression=function(O){return O.kind===204||O.kind===205},e.isTemplateLiteral=function(O){var b1=O.kind;return b1===219||b1===14},e.isLeftHandSideExpression=function(O){return Y1(d1(O).kind)},e.isUnaryExpression=function(O){return N1(d1(O).kind)},e.isUnaryExpressionWithWrite=function(O){switch(O.kind){case 216:return!0;case 215:return O.operator===45||O.operator===46;default:return!1}},e.isExpression=V1,e.isAssertionExpression=function(O){var b1=O.kind;return b1===207||b1===225},e.isNotEmittedOrPartiallyEmittedNode=function(O){return e.isNotEmittedStatement(O)||e.isPartiallyEmittedExpression(O)},e.isIterationStatement=function O(b1,Px){switch(b1.kind){case 238:case 239:case 240:case 236:case 237:return!0;case 246:return Px&&O(b1.statement,Px)}return!1},e.isScopeMarker=Ox,e.hasScopeMarker=function(O){return e.some(O,Ox)},e.needsScopeMarker=function(O){return!(e.isAnyImportOrReExport(O)||e.isExportAssignment(O)||e.hasSyntacticModifier(O,1)||e.isAmbientModule(O))},e.isExternalModuleIndicator=function(O){return e.isAnyImportOrReExport(O)||e.isExportAssignment(O)||e.hasSyntacticModifier(O,1)},e.isForInOrOfStatement=function(O){return O.kind===239||O.kind===240},e.isConciseBody=function(O){return e.isBlock(O)||V1(O)},e.isFunctionBody=function(O){return e.isBlock(O)},e.isForInitializer=function(O){return e.isVariableDeclarationList(O)||V1(O)},e.isModuleBody=function(O){var b1=O.kind;return b1===258||b1===257||b1===78},e.isNamespaceBody=function(O){var b1=O.kind;return b1===258||b1===257},e.isJSDocNamespaceBody=function(O){var b1=O.kind;return b1===78||b1===257},e.isNamedImportBindings=function(O){var b1=O.kind;return b1===265||b1===264},e.isModuleOrEnumDeclaration=function(O){return O.kind===257||O.kind===256},e.isDeclaration=O0,e.isDeclarationStatement=function(O){return $x(O.kind)},e.isStatementButNotDeclaration=function(O){return rx(O.kind)},e.isStatement=function(O){var b1=O.kind;return rx(b1)||$x(b1)||function(Px){return Px.kind!==231||Px.parent!==void 0&&(Px.parent.kind===248||Px.parent.kind===288)?!1:!e.isFunctionBlock(Px)}(O)},e.isStatementOrBlock=function(O){var b1=O.kind;return rx(b1)||$x(b1)||b1===231},e.isModuleReference=function(O){var b1=O.kind;return b1===273||b1===158||b1===78},e.isJsxTagNameExpression=function(O){var b1=O.kind;return b1===107||b1===78||b1===202},e.isJsxChild=function(O){var b1=O.kind;return b1===274||b1===284||b1===275||b1===11||b1===278},e.isJsxAttributeLike=function(O){var b1=O.kind;return b1===281||b1===283},e.isStringLiteralOrJsxExpression=function(O){var b1=O.kind;return b1===10||b1===284},e.isJsxOpeningLikeElement=function(O){var b1=O.kind;return b1===276||b1===275},e.isCaseOrDefaultClause=function(O){var b1=O.kind;return b1===285||b1===286},e.isJSDocNode=function(O){return O.kind>=302&&O.kind<=337},e.isJSDocCommentContainingNode=function(O){return O.kind===312||O.kind===311||O.kind===313||O.kind===316||C1(O)||e.isJSDocTypeLiteral(O)||e.isJSDocSignature(O)},e.isJSDocTag=C1,e.isSetAccessor=function(O){return O.kind===169},e.isGetAccessor=function(O){return O.kind===168},e.hasJSDocNodes=function(O){var b1=O.jsDoc;return!!b1&&b1.length>0},e.hasType=function(O){return!!O.type},e.hasInitializer=function(O){return!!O.initializer},e.hasOnlyExpressionInitializer=function(O){switch(O.kind){case 250:case 161:case 199:case 163:case 164:case 289:case 292:return!0;default:return!1}},e.isObjectLiteralElement=function(O){return O.kind===281||O.kind===283||I0(O)},e.isTypeReferenceType=function(O){return O.kind===174||O.kind===224};var nx=1073741823;e.guessIndentation=function(O){for(var b1=nx,Px=0,me=O;Px<me.length;Px++){var Re=me[Px];if(Re.length){for(var gt=0;gt<Re.length&&gt<b1&&e.isWhiteSpaceLike(Re.charCodeAt(gt));gt++);if(gt<b1&&(b1=gt),b1===0)return 0}}return b1===nx?void 0:b1},e.isStringLiteralLike=function(O){return O.kind===10||O.kind===14}}(_0||(_0={})),function(e){e.resolvingEmptyArray=[],e.externalHelpersModuleNameText=\"tslib\",e.defaultMaximumTruncationLength=160,e.noTruncationMaximumTruncationLength=1e6,e.getDeclarationOfKind=function(P,T1){var De=P.declarations;if(De)for(var rr=0,ei=De;rr<ei.length;rr++){var W=ei[rr];if(W.kind===T1)return W}},e.createUnderscoreEscapedMap=function(){return new e.Map},e.hasEntries=function(P){return!!P&&!!P.size},e.createSymbolTable=function(P){var T1=new e.Map;if(P)for(var De=0,rr=P;De<rr.length;De++){var ei=rr[De];T1.set(ei.escapedName,ei)}return T1},e.isTransientSymbol=function(P){return(33554432&P.flags)!=0};var s,X,J,m0=(s=\"\",{getText:function(){return s},write:X=function(P){return s+=P},rawWrite:X,writeKeyword:X,writeOperator:X,writePunctuation:X,writeSpace:X,writeStringLiteral:X,writeLiteral:X,writeParameter:X,writeProperty:X,writeSymbol:function(P,T1){return X(P)},writeTrailingSemicolon:X,writeComment:X,getTextPos:function(){return s.length},getLine:function(){return 0},getColumn:function(){return 0},getIndent:function(){return 0},isAtStartOfLine:function(){return!1},hasTrailingComment:function(){return!1},hasTrailingWhitespace:function(){return!!s.length&&e.isWhiteSpaceLike(s.charCodeAt(s.length-1))},writeLine:function(){return s+=\" \"},increaseIndent:e.noop,decreaseIndent:e.noop,clear:function(){return s=\"\"},trackSymbol:e.noop,reportInaccessibleThisError:e.noop,reportInaccessibleUniqueSymbolError:e.noop,reportPrivateInBaseOfClassExpression:e.noop});function s1(P,T1){return e.moduleResolutionOptionDeclarations.some(function(De){return!q5(it(P,De),it(T1,De))})}function i0(P){return P.end-P.pos}function H0(P){return function(T1){524288&T1.flags||(((65536&T1.flags)!=0||e.forEachChild(T1,H0))&&(T1.flags|=262144),T1.flags|=524288)}(P),(262144&P.flags)!=0}function E0(P){for(;P&&P.kind!==298;)P=P.parent;return P}function I(P,T1){e.Debug.assert(P>=0);var De=e.getLineStarts(T1),rr=P,ei=T1.text;if(rr+1===De.length)return ei.length-1;var W=De[rr],L0=De[rr+1]-1;for(e.Debug.assert(e.isLineBreak(ei.charCodeAt(L0)));W<=L0&&e.isLineBreak(ei.charCodeAt(L0));)L0--;return L0}function A(P){return P===void 0||P.pos===P.end&&P.pos>=0&&P.kind!==1}function Z(P){return!A(P)}function A0(P,T1,De){if(T1===void 0||T1.length===0)return P;for(var rr=0;rr<P.length&&De(P[rr]);++rr);return P.splice.apply(P,D([rr,0],T1)),P}function o0(P,T1,De){if(T1===void 0)return P;for(var rr=0;rr<P.length&&De(P[rr]);++rr);return P.splice(rr,0,T1),P}function j(P){return k1(P)||!!(1048576&c0(P))}function G(P,T1){return P.charCodeAt(T1+1)===42&&P.charCodeAt(T1+2)===33}function u0(P,T1,De){return A(P)?P.pos:e.isJSDocNode(P)||P.kind===11?e.skipTrivia((T1||E0(P)).text,P.pos,!1,!0):De&&e.hasJSDocNodes(P)?u0(P.jsDoc[0],T1):P.kind===338&&P._children.length>0?u0(P._children[0],T1,De):e.skipTrivia((T1||E0(P)).text,P.pos,!1,!1,gr(P))}function U(P,T1,De){return De===void 0&&(De=!1),g0(P.text,T1,De)}function g0(P,T1,De){if(De===void 0&&(De=!1),A(T1))return\"\";var rr=P.substring(De?T1.pos:e.skipTrivia(P,T1.pos),T1.end);return function(ei){return!!e.findAncestor(ei,e.isJSDocTypeExpression)}(T1)&&(rr=rr.replace(/(^|\\r?\\n|\\r)\\s*\\*\\s*/g,\"$1\")),rr}function d0(P,T1){return T1===void 0&&(T1=!1),U(E0(P),P,T1)}function P0(P){return P.pos}function c0(P){var T1=P.emitNode;return T1&&T1.flags||0}function D0(P){var T1=sg(P);return T1.kind===250&&T1.parent.kind===288}function x0(P){return e.isModuleDeclaration(P)&&(P.name.kind===10||w0(P))}function l0(P){return e.isModuleDeclaration(P)||e.isIdentifier(P)}function w0(P){return!!(1024&P.flags)}function V(P){return x0(P)&&w(P)}function w(P){switch(P.parent.kind){case 298:return e.isExternalModule(P.parent);case 258:return x0(P.parent.parent)&&e.isSourceFile(P.parent.parent.parent)&&!e.isExternalModule(P.parent.parent.parent)}return!1}function H(P,T1){switch(P.kind){case 298:case 259:case 288:case 257:case 238:case 239:case 240:case 167:case 166:case 168:case 169:case 252:case 209:case 210:return!0;case 231:return!e.isFunctionLike(T1)}return!1}function k0(P){switch(P.kind){case 170:case 171:case 165:case 172:case 175:case 176:case 309:case 253:case 222:case 254:case 255:case 334:case 252:case 166:case 167:case 168:case 169:case 209:case 210:return!0;default:return e.assertType(P),!1}}function V0(P){switch(P.kind){case 262:case 261:return!0;default:return!1}}function t0(P){return V0(P)||e.isExportDeclaration(P)}function f0(P){return P&&i0(P)!==0?d0(P):\"(Missing)\"}function y0(P){switch(P.kind){case 78:case 79:return P.escapedText;case 10:case 8:case 14:return e.escapeLeadingUnderscores(P.text);case 159:return fa(P.expression)?e.escapeLeadingUnderscores(P.expression.text):e.Debug.fail(\"Text of property name cannot be read from non-literal-valued ComputedPropertyNames\");default:return e.Debug.assertNever(P)}}function G0(P){switch(P.kind){case 107:return\"this\";case 79:case 78:return i0(P)===0?e.idText(P):d0(P);case 158:return G0(P.left)+\".\"+G0(P.right);case 202:return e.isIdentifier(P.name)||e.isPrivateIdentifier(P.name)?G0(P.expression)+\".\"+G0(P.name):e.Debug.assertNever(P.name);default:return e.Debug.assertNever(P)}}function d1(P,T1,De,rr,ei,W,L0){var J1=Y0(P,T1);return Bm(P,J1.start,J1.length,De,rr,ei,W,L0)}function h1(P,T1,De){e.Debug.assertGreaterThanOrEqual(T1,0),e.Debug.assertGreaterThanOrEqual(De,0),P&&(e.Debug.assertLessThanOrEqual(T1,P.text.length),e.Debug.assertLessThanOrEqual(T1+De,P.text.length))}function S1(P,T1,De,rr,ei){return h1(P,T1,De),{file:P,start:T1,length:De,code:rr.code,category:rr.category,messageText:rr.next?rr:rr.messageText,relatedInformation:ei}}function Q1(P,T1){var De=e.createScanner(P.languageVersion,!0,P.languageVariant,P.text,void 0,T1);De.scan();var rr=De.getTokenPos();return e.createTextSpanFromBounds(rr,De.getTextPos())}function Y0(P,T1){var De=T1;switch(T1.kind){case 298:var rr=e.skipTrivia(P.text,0,!1);return rr===P.text.length?e.createTextSpan(0,0):Q1(P,rr);case 250:case 199:case 253:case 222:case 254:case 257:case 256:case 292:case 252:case 209:case 166:case 168:case 169:case 255:case 164:case 163:De=T1.name;break;case 210:return function(ce,ze){var Zr=e.skipTrivia(ce.text,ze.pos);if(ze.body&&ze.body.kind===231){var ui=e.getLineAndCharacterOfPosition(ce,ze.body.pos).line;if(ui<e.getLineAndCharacterOfPosition(ce,ze.body.end).line)return e.createTextSpan(Zr,I(ui,ce)-Zr+1)}return e.createTextSpanFromBounds(Zr,ze.end)}(P,T1);case 285:case 286:var ei=e.skipTrivia(P.text,T1.pos),W=T1.statements.length>0?T1.statements[0].pos:T1.end;return e.createTextSpanFromBounds(ei,W)}if(De===void 0)return Q1(P,T1.pos);e.Debug.assert(!e.isJSDoc(De));var L0=A(De),J1=L0||e.isJsxText(T1)?De.pos:e.skipTrivia(P.text,De.pos);return L0?(e.Debug.assert(J1===De.pos,\"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809\"),e.Debug.assert(J1===De.end,\"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809\")):(e.Debug.assert(J1>=De.pos,\"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809\"),e.Debug.assert(J1<=De.end,\"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809\")),e.createTextSpanFromBounds(J1,De.end)}function $1(P){return P.scriptKind===6}function Z1(P){return!!(2&e.getCombinedNodeFlags(P))}function Q0(P){return P.kind===204&&P.expression.kind===99}function y1(P){return e.isImportTypeNode(P)&&e.isLiteralTypeNode(P.argument)&&e.isStringLiteral(P.argument.literal)}function k1(P){return P.kind===234&&P.expression.kind===10}function I1(P){return!!(1048576&c0(P))}function K0(P){return e.isIdentifier(P.name)&&!P.initializer}e.changesAffectModuleResolution=function(P,T1){return P.configFilePath!==T1.configFilePath||s1(P,T1)},e.optionsHaveModuleResolutionChanges=s1,e.forEachAncestor=function(P,T1){for(;;){var De=T1(P);if(De===\"quit\")return;if(De!==void 0)return De;if(e.isSourceFile(P))return;P=P.parent}},e.forEachEntry=function(P,T1){for(var De=P.entries(),rr=De.next();!rr.done;rr=De.next()){var ei=rr.value,W=ei[0],L0=T1(ei[1],W);if(L0)return L0}},e.forEachKey=function(P,T1){for(var De=P.keys(),rr=De.next();!rr.done;rr=De.next()){var ei=T1(rr.value);if(ei)return ei}},e.copyEntries=function(P,T1){P.forEach(function(De,rr){T1.set(rr,De)})},e.usingSingleLineStringWriter=function(P){var T1=m0.getText();try{return P(m0),m0.getText()}finally{m0.clear(),m0.writeKeyword(T1)}},e.getFullWidth=i0,e.getResolvedModule=function(P,T1){return P&&P.resolvedModules&&P.resolvedModules.get(T1)},e.setResolvedModule=function(P,T1,De){P.resolvedModules||(P.resolvedModules=new e.Map),P.resolvedModules.set(T1,De)},e.setResolvedTypeReferenceDirective=function(P,T1,De){P.resolvedTypeReferenceDirectiveNames||(P.resolvedTypeReferenceDirectiveNames=new e.Map),P.resolvedTypeReferenceDirectiveNames.set(T1,De)},e.projectReferenceIsEqualTo=function(P,T1){return P.path===T1.path&&!P.prepend==!T1.prepend&&!P.circular==!T1.circular},e.moduleResolutionIsEqualTo=function(P,T1){return P.isExternalLibraryImport===T1.isExternalLibraryImport&&P.extension===T1.extension&&P.resolvedFileName===T1.resolvedFileName&&P.originalPath===T1.originalPath&&(De=P.packageId,rr=T1.packageId,De===rr||!!De&&!!rr&&De.name===rr.name&&De.subModuleName===rr.subModuleName&&De.version===rr.version);var De,rr},e.packageIdToString=function(P){var T1=P.name,De=P.subModuleName;return(De?T1+\"/\"+De:T1)+\"@\"+P.version},e.typeDirectiveIsEqualTo=function(P,T1){return P.resolvedFileName===T1.resolvedFileName&&P.primary===T1.primary&&P.originalPath===T1.originalPath},e.hasChangesInResolutions=function(P,T1,De,rr){e.Debug.assert(P.length===T1.length);for(var ei=0;ei<P.length;ei++){var W=T1[ei],L0=De&&De.get(P[ei]);if(L0?!W||!rr(L0,W):W)return!0}return!1},e.containsParseError=H0,e.getSourceFileOfNode=E0,e.isStatementWithLocals=function(P){switch(P.kind){case 231:case 259:case 238:case 239:case 240:return!0}return!1},e.getStartPositionOfLine=function(P,T1){return e.Debug.assert(P>=0),e.getLineStarts(T1)[P]},e.nodePosToString=function(P){var T1=E0(P),De=e.getLineAndCharacterOfPosition(T1,P.pos);return T1.fileName+\"(\"+(De.line+1)+\",\"+(De.character+1)+\")\"},e.getEndLinePosition=I,e.isFileLevelUniqueName=function(P,T1,De){return!(De&&De(T1)||P.identifiers.has(T1))},e.nodeIsMissing=A,e.nodeIsPresent=Z,e.insertStatementsAfterStandardPrologue=function(P,T1){return A0(P,T1,k1)},e.insertStatementsAfterCustomPrologue=function(P,T1){return A0(P,T1,j)},e.insertStatementAfterStandardPrologue=function(P,T1){return o0(P,T1,k1)},e.insertStatementAfterCustomPrologue=function(P,T1){return o0(P,T1,j)},e.isRecognizedTripleSlashComment=function(P,T1,De){if(P.charCodeAt(T1+1)===47&&T1+2<De&&P.charCodeAt(T1+2)===47){var rr=P.substring(T1,De);return!!(rr.match(e.fullTripleSlashReferencePathRegEx)||rr.match(e.fullTripleSlashAMDReferencePathRegEx)||rr.match(G1)||rr.match(U0))}return!1},e.isPinnedComment=G,e.createCommentDirectivesMap=function(P,T1){var De=new e.Map(T1.map(function(ei){return[\"\"+e.getLineAndCharacterOfPosition(P,ei.range.end).line,ei]})),rr=new e.Map;return{getUnusedExpectations:function(){return e.arrayFrom(De.entries()).filter(function(ei){var W=ei[0];return ei[1].type===0&&!rr.get(W)}).map(function(ei){return ei[0],ei[1]})},markUsed:function(ei){return De.has(\"\"+ei)?(rr.set(\"\"+ei,!0),!0):!1}}},e.getTokenPosOfNode=u0,e.getNonDecoratorTokenPosOfNode=function(P,T1){return A(P)||!P.decorators?u0(P,T1):e.skipTrivia((T1||E0(P)).text,P.decorators.end)},e.getSourceTextOfNodeFromSourceFile=U,e.isExportNamespaceAsDefaultDeclaration=function(P){return!!(e.isExportDeclaration(P)&&P.exportClause&&e.isNamespaceExport(P.exportClause)&&P.exportClause.name.escapedText===\"default\")},e.getTextOfNodeFromSourceText=g0,e.getTextOfNode=d0,e.indexOfNode=function(P,T1){return e.binarySearch(P,T1,P0,e.compareValues)},e.getEmitFlags=c0,e.getScriptTargetFeatures=function(){return{es2015:{Array:[\"find\",\"findIndex\",\"fill\",\"copyWithin\",\"entries\",\"keys\",\"values\"],RegExp:[\"flags\",\"sticky\",\"unicode\"],Reflect:[\"apply\",\"construct\",\"defineProperty\",\"deleteProperty\",\"get\",\" getOwnPropertyDescriptor\",\"getPrototypeOf\",\"has\",\"isExtensible\",\"ownKeys\",\"preventExtensions\",\"set\",\"setPrototypeOf\"],ArrayConstructor:[\"from\",\"of\"],ObjectConstructor:[\"assign\",\"getOwnPropertySymbols\",\"keys\",\"is\",\"setPrototypeOf\"],NumberConstructor:[\"isFinite\",\"isInteger\",\"isNaN\",\"isSafeInteger\",\"parseFloat\",\"parseInt\"],Math:[\"clz32\",\"imul\",\"sign\",\"log10\",\"log2\",\"log1p\",\"expm1\",\"cosh\",\"sinh\",\"tanh\",\"acosh\",\"asinh\",\"atanh\",\"hypot\",\"trunc\",\"fround\",\"cbrt\"],Map:[\"entries\",\"keys\",\"values\"],Set:[\"entries\",\"keys\",\"values\"],Promise:e.emptyArray,PromiseConstructor:[\"all\",\"race\",\"reject\",\"resolve\"],Symbol:[\"for\",\"keyFor\"],WeakMap:[\"entries\",\"keys\",\"values\"],WeakSet:[\"entries\",\"keys\",\"values\"],Iterator:e.emptyArray,AsyncIterator:e.emptyArray,String:[\"codePointAt\",\"includes\",\"endsWith\",\"normalize\",\"repeat\",\"startsWith\",\"anchor\",\"big\",\"blink\",\"bold\",\"fixed\",\"fontcolor\",\"fontsize\",\"italics\",\"link\",\"small\",\"strike\",\"sub\",\"sup\"],StringConstructor:[\"fromCodePoint\",\"raw\"]},es2016:{Array:[\"includes\"]},es2017:{Atomics:e.emptyArray,SharedArrayBuffer:e.emptyArray,String:[\"padStart\",\"padEnd\"],ObjectConstructor:[\"values\",\"entries\",\"getOwnPropertyDescriptors\"],DateTimeFormat:[\"formatToParts\"]},es2018:{Promise:[\"finally\"],RegExpMatchArray:[\"groups\"],RegExpExecArray:[\"groups\"],RegExp:[\"dotAll\"],Intl:[\"PluralRules\"],AsyncIterable:e.emptyArray,AsyncIterableIterator:e.emptyArray,AsyncGenerator:e.emptyArray,AsyncGeneratorFunction:e.emptyArray},es2019:{Array:[\"flat\",\"flatMap\"],ObjectConstructor:[\"fromEntries\"],String:[\"trimStart\",\"trimEnd\",\"trimLeft\",\"trimRight\"],Symbol:[\"description\"]},es2020:{BigInt:e.emptyArray,BigInt64Array:e.emptyArray,BigUint64Array:e.emptyArray,PromiseConstructor:[\"allSettled\"],SymbolConstructor:[\"matchAll\"],String:[\"matchAll\"],DataView:[\"setBigInt64\",\"setBigUint64\",\"getBigInt64\",\"getBigUint64\"],RelativeTimeFormat:[\"format\",\"formatToParts\",\"resolvedOptions\"]},es2021:{PromiseConstructor:[\"any\"],String:[\"replaceAll\"]},esnext:{NumberFormat:[\"formatToParts\"]}}},(J=e.GetLiteralTextFlags||(e.GetLiteralTextFlags={}))[J.None=0]=\"None\",J[J.NeverAsciiEscape=1]=\"NeverAsciiEscape\",J[J.JsxAttributeEscape=2]=\"JsxAttributeEscape\",J[J.TerminateUnterminatedLiterals=4]=\"TerminateUnterminatedLiterals\",J[J.AllowNumericSeparator=8]=\"AllowNumericSeparator\",e.getLiteralText=function(P,T1,De){if(function(W,L0){return Cf(W)||!W.parent||4&L0&&W.isUnterminated?!1:e.isNumericLiteral(W)&&512&W.numericLiteralFlags?!!(8&L0):!e.isBigIntLiteral(W)}(P,De))return U(T1,P);switch(P.kind){case 10:var rr=2&De?rp:1&De||16777216&c0(P)?E4:fT;return P.singleQuote?\"'\"+rr(P.text,39)+\"'\":'\"'+rr(P.text,34)+'\"';case 14:case 15:case 16:case 17:rr=1&De||16777216&c0(P)?E4:fT;var ei=P.rawText||function(W){return W.replace(OF,\"\\\\${\")}(rr(P.text,96));switch(P.kind){case 14:return\"`\"+ei+\"`\";case 15:return\"`\"+ei+\"${\";case 16:return\"}\"+ei+\"${\";case 17:return\"}\"+ei+\"`\"}break;case 8:case 9:return P.text;case 13:return 4&De&&P.isUnterminated?P.text+(P.text.charCodeAt(P.text.length-1)===92?\" /\":\"/\"):P.text}return e.Debug.fail(\"Literal kind '\"+P.kind+\"' not accounted for.\")},e.getTextOfConstantValue=function(P){return e.isString(P)?'\"'+fT(P)+'\"':\"\"+P},e.makeIdentifierFromModuleName=function(P){return e.getBaseFileName(P).replace(/^(\\d)/,\"_$1\").replace(/\\W/g,\"_\")},e.isBlockOrCatchScoped=function(P){return(3&e.getCombinedNodeFlags(P))!=0||D0(P)},e.isCatchClauseVariableDeclarationOrBindingElement=D0,e.isAmbientModule=x0,e.isModuleWithStringLiteralName=function(P){return e.isModuleDeclaration(P)&&P.name.kind===10},e.isNonGlobalAmbientModule=function(P){return e.isModuleDeclaration(P)&&e.isStringLiteral(P.name)},e.isEffectiveModuleDeclaration=l0,e.isShorthandAmbientModuleSymbol=function(P){return function(T1){return!!T1&&T1.kind===257&&!T1.body}(P.valueDeclaration)},e.isBlockScopedContainerTopLevel=function(P){return P.kind===298||P.kind===257||e.isFunctionLike(P)},e.isGlobalScopeAugmentation=w0,e.isExternalModuleAugmentation=V,e.isModuleAugmentationExternal=w,e.getNonAugmentationDeclaration=function(P){var T1;return(T1=P.declarations)===null||T1===void 0?void 0:T1.find(function(De){return!(V(De)||e.isModuleDeclaration(De)&&w0(De))})},e.isEffectiveExternalModule=function(P,T1){return e.isExternalModule(P)||T1.isolatedModules||Ku(T1)===e.ModuleKind.CommonJS&&!!P.commonJsModuleIndicator},e.isEffectiveStrictModeSourceFile=function(P,T1){switch(P.scriptKind){case 1:case 3:case 2:case 4:break;default:return!1}return!P.isDeclarationFile&&(!!Rd(T1,\"alwaysStrict\")||!!e.startsWithUseStrict(P.statements)||!(!e.isExternalModule(P)&&!T1.isolatedModules)&&(Ku(T1)>=e.ModuleKind.ES2015||!T1.noImplicitUseStrict))},e.isBlockScope=H,e.isDeclarationWithTypeParameters=function(P){switch(P.kind){case 328:case 335:case 315:return!0;default:return e.assertType(P),k0(P)}},e.isDeclarationWithTypeParameterChildren=k0,e.isAnyImportSyntax=V0,e.isLateVisibilityPaintedStatement=function(P){switch(P.kind){case 262:case 261:case 233:case 253:case 252:case 257:case 255:case 254:case 256:return!0;default:return!1}},e.hasPossibleExternalModuleReference=function(P){return t0(P)||e.isModuleDeclaration(P)||e.isImportTypeNode(P)||Q0(P)},e.isAnyImportOrReExport=t0,e.getEnclosingBlockScopeContainer=function(P){return e.findAncestor(P.parent,function(T1){return H(T1,T1.parent)})},e.declarationNameToString=f0,e.getNameFromIndexInfo=function(P){return P.declaration?f0(P.declaration.parameters[0].name):void 0},e.isComputedNonLiteralName=function(P){return P.kind===159&&!fa(P.expression)},e.getTextOfPropertyName=y0,e.entityNameToString=G0,e.createDiagnosticForNode=function(P,T1,De,rr,ei,W){return d1(E0(P),P,T1,De,rr,ei,W)},e.createDiagnosticForNodeArray=function(P,T1,De,rr,ei,W,L0){var J1=e.skipTrivia(P.text,T1.pos);return Bm(P,J1,T1.end-J1,De,rr,ei,W,L0)},e.createDiagnosticForNodeInSourceFile=d1,e.createDiagnosticForNodeFromMessageChain=function(P,T1,De){var rr=E0(P),ei=Y0(rr,P);return S1(rr,ei.start,ei.length,T1,De)},e.createFileDiagnosticFromMessageChain=S1,e.createDiagnosticForFileFromMessageChain=function(P,T1,De){return{file:P,start:0,length:0,code:T1.code,category:T1.category,messageText:T1.next?T1:T1.messageText,relatedInformation:De}},e.createDiagnosticForRange=function(P,T1,De){return{file:P,start:T1.pos,length:T1.end-T1.pos,code:De.code,category:De.category,messageText:De.message}},e.getSpanOfTokenAtPosition=Q1,e.getErrorSpanForNode=Y0,e.isExternalOrCommonJsModule=function(P){return(P.externalModuleIndicator||P.commonJsModuleIndicator)!==void 0},e.isJsonSourceFile=$1,e.isEnumConst=function(P){return!!(2048&e.getCombinedModifierFlags(P))},e.isDeclarationReadonly=function(P){return!(!(64&e.getCombinedModifierFlags(P))||e.isParameterPropertyDeclaration(P,P.parent))},e.isVarConst=Z1,e.isLet=function(P){return!!(1&e.getCombinedNodeFlags(P))},e.isSuperCall=function(P){return P.kind===204&&P.expression.kind===105},e.isImportCall=Q0,e.isImportMeta=function(P){return e.isMetaProperty(P)&&P.keywordToken===99&&P.name.escapedText===\"meta\"},e.isLiteralImportTypeNode=y1,e.isPrologueDirective=k1,e.isCustomPrologue=I1,e.isHoistedFunction=function(P){return I1(P)&&e.isFunctionDeclaration(P)},e.isHoistedVariableStatement=function(P){return I1(P)&&e.isVariableStatement(P)&&e.every(P.declarationList.declarations,K0)},e.getLeadingCommentRangesOfNode=function(P,T1){return P.kind!==11?e.getLeadingCommentRanges(T1.text,P.pos):void 0},e.getJSDocCommentRanges=function(P,T1){var De=P.kind===161||P.kind===160||P.kind===209||P.kind===210||P.kind===208||P.kind===250?e.concatenate(e.getTrailingCommentRanges(T1,P.pos),e.getLeadingCommentRanges(T1,P.pos)):e.getLeadingCommentRanges(T1,P.pos);return e.filter(De,function(rr){return T1.charCodeAt(rr.pos+1)===42&&T1.charCodeAt(rr.pos+2)===42&&T1.charCodeAt(rr.pos+3)!==47})},e.fullTripleSlashReferencePathRegEx=/^(\\/\\/\\/\\s*<reference\\s+path\\s*=\\s*)('|\")(.+?)\\2.*?\\/>/;var G1=/^(\\/\\/\\/\\s*<reference\\s+types\\s*=\\s*)('|\")(.+?)\\2.*?\\/>/;e.fullTripleSlashAMDReferencePathRegEx=/^(\\/\\/\\/\\s*<amd-dependency\\s+path\\s*=\\s*)('|\")(.+?)\\2.*?\\/>/;var Nx,n1,S0,I0,U0=/^(\\/\\/\\/\\s*<reference\\s+no-default-lib\\s*=\\s*)('|\")(.+?)\\2\\s*\\/>/;function p0(P){if(173<=P.kind&&P.kind<=196)return!0;switch(P.kind){case 128:case 152:case 144:case 155:case 147:case 131:case 148:case 145:case 150:case 141:return!0;case 113:return P.parent.kind!==213;case 224:return!Su(P);case 160:return P.parent.kind===191||P.parent.kind===186;case 78:(P.parent.kind===158&&P.parent.right===P||P.parent.kind===202&&P.parent.name===P)&&(P=P.parent),e.Debug.assert(P.kind===78||P.kind===158||P.kind===202,\"'node' was expected to be a qualified name, identifier or property access in 'isPartOfTypeNode'.\");case 158:case 202:case 107:var T1=P.parent;if(T1.kind===177)return!1;if(T1.kind===196)return!T1.isTypeOf;if(173<=T1.kind&&T1.kind<=196)return!0;switch(T1.kind){case 224:return!Su(T1);case 160:case 334:return P===T1.constraint;case 164:case 163:case 161:case 250:return P===T1.type;case 252:case 209:case 210:case 167:case 166:case 165:case 168:case 169:return P===T1.type;case 170:case 171:case 172:case 207:return P===T1.type;case 204:case 205:return e.contains(T1.typeArguments,P);case 206:return!1}}return!1}function p1(P){if(P)switch(P.kind){case 199:case 292:case 161:case 289:case 164:case 163:case 290:case 250:return!0}return!1}function Y1(P){return P.parent.kind===251&&P.parent.parent.kind===233}function N1(P,T1,De){return P.properties.filter(function(rr){if(rr.kind===289){var ei=y0(rr.name);return T1===ei||!!De&&De===ei}return!1})}function V1(P){if(P&&P.statements.length){var T1=P.statements[0].expression;return e.tryCast(T1,e.isObjectLiteralExpression)}}function Ox(P,T1){var De=V1(P);return De?N1(De,T1):e.emptyArray}function $x(P,T1){for(e.Debug.assert(P.kind!==298);;){if(!(P=P.parent))return e.Debug.fail();switch(P.kind){case 159:if(e.isClassLike(P.parent.parent))return P;P=P.parent;break;case 162:P.parent.kind===161&&e.isClassElement(P.parent.parent)?P=P.parent.parent:e.isClassElement(P.parent)&&(P=P.parent);break;case 210:if(!T1)continue;case 252:case 209:case 257:case 164:case 163:case 166:case 165:case 167:case 168:case 169:case 170:case 171:case 172:case 256:case 298:return P}}}function rx(P){var T1=P.kind;return(T1===202||T1===203)&&P.expression.kind===105}function O0(P,T1,De){if(e.isNamedDeclaration(P)&&e.isPrivateIdentifier(P.name))return!1;switch(P.kind){case 253:return!0;case 164:return T1.kind===253;case 168:case 169:case 166:return P.body!==void 0&&T1.kind===253;case 161:return T1.body!==void 0&&(T1.kind===167||T1.kind===166||T1.kind===169)&&De.kind===253}return!1}function C1(P,T1,De){return P.decorators!==void 0&&O0(P,T1,De)}function nx(P,T1,De){return C1(P,T1,De)||O(P,T1)}function O(P,T1){switch(P.kind){case 253:return e.some(P.members,function(De){return nx(De,P,T1)});case 166:case 169:return e.some(P.parameters,function(De){return C1(De,P,T1)});default:return!1}}function b1(P){var T1=P.parent;return(T1.kind===276||T1.kind===275||T1.kind===277)&&T1.tagName===P}function Px(P){switch(P.kind){case 105:case 103:case 109:case 94:case 13:case 200:case 201:case 202:case 203:case 204:case 205:case 206:case 225:case 207:case 226:case 208:case 209:case 222:case 210:case 213:case 211:case 212:case 215:case 216:case 217:case 218:case 221:case 219:case 223:case 274:case 275:case 278:case 220:case 214:case 227:return!0;case 158:for(;P.parent.kind===158;)P=P.parent;return P.parent.kind===177||b1(P);case 78:if(P.parent.kind===177||b1(P))return!0;case 8:case 9:case 10:case 14:case 107:return me(P);default:return!1}}function me(P){var T1=P.parent;switch(T1.kind){case 250:case 161:case 164:case 163:case 292:case 289:case 199:return T1.initializer===P;case 234:case 235:case 236:case 237:case 243:case 244:case 245:case 285:case 247:return T1.expression===P;case 238:var De=T1;return De.initializer===P&&De.initializer.kind!==251||De.condition===P||De.incrementor===P;case 239:case 240:var rr=T1;return rr.initializer===P&&rr.initializer.kind!==251||rr.expression===P;case 207:case 225:case 229:case 159:return P===T1.expression;case 162:case 284:case 283:case 291:return!0;case 224:return T1.expression===P&&Su(T1);case 290:return T1.objectAssignmentInitializer===P;default:return Px(T1)}}function Re(P){for(;P.kind===158||P.kind===78;)P=P.parent;return P.kind===177}function gt(P){return P.kind===261&&P.moduleReference.kind===273}function Vt(P){return wr(P)}function wr(P){return!!P&&!!(131072&P.flags)}function gr(P){return!!P&&!!(4194304&P.flags)}function Nt(P,T1){if(P.kind!==204)return!1;var De=P,rr=De.expression,ei=De.arguments;if(rr.kind!==78||rr.escapedText!==\"require\"||ei.length!==1)return!1;var W=ei[0];return!T1||e.isStringLiteralLike(W)}function Ir(P){return P.kind===199&&(P=P.parent.parent),e.isVariableDeclaration(P)&&!!P.initializer&&Nt(iA(P.initializer),!0)}function xr(P){return e.isBinaryExpression(P)||$f(P)||e.isIdentifier(P)||e.isCallExpression(P)}function Bt(P){return wr(P)&&P.initializer&&e.isBinaryExpression(P.initializer)&&(P.initializer.operatorToken.kind===56||P.initializer.operatorToken.kind===60)&&P.name&&hC(P.name)&&Ni(P.name,P.initializer.left)?P.initializer.right:P.initializer}function ar(P,T1){if(e.isCallExpression(P)){var De=Kr(P.expression);return De.kind===209||De.kind===210?P:void 0}return P.kind===209||P.kind===222||P.kind===210||e.isObjectLiteralExpression(P)&&(P.properties.length===0||T1)?P:void 0}function Ni(P,T1){if(qs(P)&&qs(T1))return vs(P)===vs(T1);if(e.isIdentifier(P)&&en(T1)&&(T1.expression.kind===107||e.isIdentifier(T1.expression)&&(T1.expression.escapedText===\"window\"||T1.expression.escapedText===\"self\"||T1.expression.escapedText===\"global\"))){var De=Sa(T1);return e.isPrivateIdentifier(De)&&e.Debug.fail(\"Unexpected PrivateIdentifier in name expression with literal-like access.\"),Ni(P,De)}return!(!en(P)||!en(T1))&&W1(P)===W1(T1)&&Ni(P.expression,T1.expression)}function Kn(P){for(;xc(P,!0);)P=P.right;return P}function oi(P){return e.isIdentifier(P)&&P.escapedText===\"exports\"}function Ba(P){return e.isIdentifier(P)&&P.escapedText===\"module\"}function dt(P){return(e.isPropertyAccessExpression(P)||ii(P))&&Ba(P.expression)&&W1(P)===\"exports\"}function Gt(P){var T1=function(De){if(e.isCallExpression(De)){if(!lr(De))return 0;var rr=De.arguments[0];return oi(rr)||dt(rr)?8:Tt(rr)&&W1(rr)===\"prototype\"?9:7}return De.operatorToken.kind!==62||!$f(De.left)||function(ei){return e.isVoidExpression(ei)&&e.isNumericLiteral(ei.expression)&&ei.expression.text===\"0\"}(Kn(De))?0:Le(De.left.expression,!0)&&W1(De.left)===\"prototype\"&&e.isObjectLiteralExpression(E1(De))?6:cx(De.left)}(P);return T1===5||wr(P)?T1:0}function lr(P){return e.length(P.arguments)===3&&e.isPropertyAccessExpression(P.expression)&&e.isIdentifier(P.expression.expression)&&e.idText(P.expression.expression)===\"Object\"&&e.idText(P.expression.name)===\"defineProperty\"&&fa(P.arguments[1])&&Le(P.arguments[0],!0)}function en(P){return e.isPropertyAccessExpression(P)||ii(P)}function ii(P){return e.isElementAccessExpression(P)&&fa(P.argumentExpression)}function Tt(P,T1){return e.isPropertyAccessExpression(P)&&(!T1&&P.expression.kind===107||e.isIdentifier(P.name)&&Le(P.expression,!0))||bn(P,T1)}function bn(P,T1){return ii(P)&&(!T1&&P.expression.kind===107||hC(P.expression)||Tt(P.expression,!0))}function Le(P,T1){return hC(P)||Tt(P,T1)}function Sa(P){return e.isPropertyAccessExpression(P)?P.name:P.argumentExpression}function Yn(P){if(e.isPropertyAccessExpression(P))return P.name;var T1=Kr(P.argumentExpression);return e.isNumericLiteral(T1)||e.isStringLiteralLike(T1)?T1:P}function W1(P){var T1=Yn(P);if(T1){if(e.isIdentifier(T1))return T1.escapedText;if(e.isStringLiteralLike(T1)||e.isNumericLiteral(T1))return e.escapeLeadingUnderscores(T1.text)}}function cx(P){if(P.expression.kind===107)return 4;if(dt(P))return 2;if(Le(P.expression,!0)){if(ol(P.expression))return 3;for(var T1=P;!e.isIdentifier(T1.expression);)T1=T1.expression;var De=T1.expression;if((De.escapedText===\"exports\"||De.escapedText===\"module\"&&W1(T1)===\"exports\")&&Tt(P))return 1;if(Le(P,!0)||e.isElementAccessExpression(P)&&co(P))return 5}return 0}function E1(P){for(;e.isBinaryExpression(P.right);)P=P.right;return P.right}function qx(P){switch(P.parent.kind){case 262:case 268:return P.parent;case 273:return P.parent.parent;case 204:return Q0(P.parent)||Nt(P.parent,!1)?P.parent:void 0;case 192:return e.Debug.assert(e.isStringLiteral(P)),e.tryCast(P.parent.parent,e.isImportTypeNode);default:return}}function xt(P){switch(P.kind){case 262:case 268:return P.moduleSpecifier;case 261:return P.moduleReference.kind===273?P.moduleReference.expression:void 0;case 196:return y1(P)?P.argument.literal:void 0;case 204:return P.arguments[0];case 257:return P.name.kind===10?P.name:void 0;default:return e.Debug.assertNever(P)}}function ae(P){return P.kind===335||P.kind===328||P.kind===329}function Ut(P){return e.isExpressionStatement(P)&&e.isBinaryExpression(P.expression)&&Gt(P.expression)!==0&&e.isBinaryExpression(P.expression.right)&&(P.expression.right.operatorToken.kind===56||P.expression.right.operatorToken.kind===60)?P.expression.right.right:void 0}function or(P){switch(P.kind){case 233:var T1=ut(P);return T1&&T1.initializer;case 164:case 289:return P.initializer}}function ut(P){return e.isVariableStatement(P)?e.firstOrUndefined(P.declarationList.declarations):void 0}function Gr(P){return e.isModuleDeclaration(P)&&P.body&&P.body.kind===257?P.body:void 0}function B(P){var T1=P.parent;return T1.kind===289||T1.kind===267||T1.kind===164||T1.kind===234&&P.kind===202||T1.kind===243||Gr(T1)||e.isBinaryExpression(P)&&P.operatorToken.kind===62?T1:T1.parent&&(ut(T1.parent)===P||e.isBinaryExpression(T1)&&T1.operatorToken.kind===62)?T1.parent:T1.parent&&T1.parent.parent&&(ut(T1.parent.parent)||or(T1.parent.parent)===P||Ut(T1.parent.parent))?T1.parent.parent:void 0}function h0(P){var T1=M(P);return T1&&e.isFunctionLike(T1)?T1:void 0}function M(P){var T1=X0(P);if(T1)return Ut(T1)||function(De){return e.isExpressionStatement(De)&&e.isBinaryExpression(De.expression)&&De.expression.operatorToken.kind===62?Kn(De.expression):void 0}(T1)||or(T1)||ut(T1)||Gr(T1)||T1}function X0(P){var T1=l1(P);if(T1){var De=T1.parent;return De&&De.jsDoc&&T1===e.lastOrUndefined(De.jsDoc)?De:void 0}}function l1(P){return e.findAncestor(P.parent,e.isJSDoc)}function Hx(P){var T1=e.isJSDocParameterTag(P)?P.typeExpression&&P.typeExpression.type:P.type;return P.dotDotDotToken!==void 0||!!T1&&T1.kind===310}function ge(P){for(var T1=P.parent;;){switch(T1.kind){case 217:var De=T1.operatorToken.kind;return ws(De)&&T1.left===P?De===62||Vc(De)?1:2:0;case 215:case 216:var rr=T1.operator;return rr===45||rr===46?2:0;case 239:case 240:return T1.initializer===P?1:0;case 208:case 200:case 221:case 226:P=T1;break;case 291:P=T1.parent;break;case 290:if(T1.name!==P)return 0;P=T1.parent;break;case 289:if(T1.name===P)return 0;P=T1.parent;break;default:return 0}T1=P.parent}}function Pe(P,T1){for(;P&&P.kind===T1;)P=P.parent;return P}function It(P){return Pe(P,208)}function Kr(P){return e.skipOuterExpressions(P,1)}function pn(P){return hC(P)||e.isClassExpression(P)}function rn(P){return pn(_t(P))}function _t(P){return e.isExportAssignment(P)?P.expression:P.right}function Ii(P){var T1=Mn(P);if(T1&&wr(P)){var De=e.getJSDocAugmentsTag(P);if(De)return De.class}return T1}function Mn(P){var T1=Fr(P.heritageClauses,93);return T1&&T1.types.length>0?T1.types[0]:void 0}function Ka(P){if(wr(P))return e.getJSDocImplementsTags(P).map(function(De){return De.class});var T1=Fr(P.heritageClauses,116);return T1==null?void 0:T1.types}function fe(P){var T1=Fr(P.heritageClauses,93);return T1?T1.types:void 0}function Fr(P,T1){if(P)for(var De=0,rr=P;De<rr.length;De++){var ei=rr[De];if(ei.token===T1)return ei}}function yt(P){return 80<=P&&P<=157}function Fn(P){return 125<=P&&P<=157}function Ur(P){return yt(P)&&!Fn(P)}function fa(P){return e.isStringLiteralLike(P)||e.isNumericLiteral(P)}function Kt(P){return e.isPrefixUnaryExpression(P)&&(P.operator===39||P.operator===40)&&e.isNumericLiteral(P.operand)}function Fa(P){var T1=e.getNameOfDeclaration(P);return!!T1&&co(T1)}function co(P){if(P.kind!==159&&P.kind!==203)return!1;var T1=e.isElementAccessExpression(P)?Kr(P.argumentExpression):P.expression;return!fa(T1)&&!Kt(T1)}function Us(P){switch(P.kind){case 78:case 79:return P.escapedText;case 10:case 8:return e.escapeLeadingUnderscores(P.text);case 159:var T1=P.expression;return fa(T1)?e.escapeLeadingUnderscores(T1.text):Kt(T1)?T1.operator===40?e.tokenToString(T1.operator)+T1.operand.text:T1.operand.text:void 0;default:return e.Debug.assertNever(P)}}function qs(P){switch(P.kind){case 78:case 10:case 14:case 8:return!0;default:return!1}}function vs(P){return e.isMemberName(P)?e.idText(P):P.text}function sg(P){for(;P.kind===199;)P=P.parent.parent;return P}function Cf(P){return hd(P.pos)||hd(P.end)}function rc(P,T1,De){switch(P){case 205:return De?0:1;case 215:case 212:case 213:case 211:case 214:case 218:case 220:return 1;case 217:switch(T1){case 42:case 62:case 63:case 64:case 66:case 65:case 67:case 68:case 69:case 70:case 71:case 72:case 77:case 73:case 74:case 75:case 76:return 1}}return 0}function K8(P){return P.kind===217?P.operatorToken.kind:P.kind===215||P.kind===216?P.operator:P.kind}function zl(P,T1,De){switch(P){case 341:return 0;case 221:return 1;case 220:return 2;case 218:return 4;case 217:switch(T1){case 27:return 0;case 62:case 63:case 64:case 66:case 65:case 67:case 68:case 69:case 70:case 71:case 72:case 77:case 73:case 74:case 75:case 76:return 3;default:return Xl(T1)}case 207:case 226:case 215:case 212:case 213:case 211:case 214:return 16;case 216:return 17;case 204:return 18;case 205:return De?19:18;case 206:case 202:case 203:case 227:return 19;case 225:return 11;case 107:case 105:case 78:case 103:case 109:case 94:case 8:case 9:case 10:case 200:case 201:case 209:case 210:case 222:case 13:case 14:case 219:case 208:case 223:case 274:case 275:case 278:return 20;default:return-1}}function Xl(P){switch(P){case 60:return 4;case 56:return 5;case 55:return 6;case 51:return 7;case 52:return 8;case 50:return 9;case 34:case 35:case 36:case 37:return 10;case 29:case 31:case 32:case 33:case 101:case 100:case 126:return 11;case 47:case 48:case 49:return 12;case 39:case 40:return 13;case 41:case 43:case 44:return 14;case 42:return 15}return-1}e.isPartOfTypeNode=p0,e.isChildOfNodeWithKind=function(P,T1){for(;P;){if(P.kind===T1)return!0;P=P.parent}return!1},e.forEachReturnStatement=function(P,T1){return function De(rr){switch(rr.kind){case 243:return T1(rr);case 259:case 231:case 235:case 236:case 237:case 238:case 239:case 240:case 244:case 245:case 285:case 286:case 246:case 248:case 288:return e.forEachChild(rr,De)}}(P)},e.forEachYieldExpression=function(P,T1){return function De(rr){switch(rr.kind){case 220:T1(rr);var ei=rr.expression;return void(ei&&De(ei));case 256:case 254:case 257:case 255:return;default:if(e.isFunctionLike(rr)){if(rr.name&&rr.name.kind===159)return void De(rr.name.expression)}else p0(rr)||e.forEachChild(rr,De)}}(P)},e.getRestParameterElementType=function(P){return P&&P.kind===179?P.elementType:P&&P.kind===174?e.singleOrUndefined(P.typeArguments):void 0},e.getMembersOfDeclaration=function(P){switch(P.kind){case 254:case 253:case 222:case 178:return P.members;case 201:return P.properties}},e.isVariableLike=p1,e.isVariableLikeOrAccessor=function(P){return p1(P)||e.isAccessor(P)},e.isVariableDeclarationInVariableStatement=Y1,e.isValidESSymbolDeclaration=function(P){return e.isVariableDeclaration(P)?Z1(P)&&e.isIdentifier(P.name)&&Y1(P):e.isPropertyDeclaration(P)?Jr(P)&&yr(P):e.isPropertySignature(P)&&Jr(P)},e.introducesArgumentsExoticObject=function(P){switch(P.kind){case 166:case 165:case 167:case 168:case 169:case 252:case 209:return!0}return!1},e.unwrapInnermostStatementOfLabel=function(P,T1){for(;;){if(T1&&T1(P),P.statement.kind!==246)return P.statement;P=P.statement}},e.isFunctionBlock=function(P){return P&&P.kind===231&&e.isFunctionLike(P.parent)},e.isObjectLiteralMethod=function(P){return P&&P.kind===166&&P.parent.kind===201},e.isObjectLiteralOrClassExpressionMethod=function(P){return P.kind===166&&(P.parent.kind===201||P.parent.kind===222)},e.isIdentifierTypePredicate=function(P){return P&&P.kind===1},e.isThisTypePredicate=function(P){return P&&P.kind===0},e.getPropertyAssignment=N1,e.getPropertyArrayElementValue=function(P,T1,De){return e.firstDefined(N1(P,T1),function(rr){return e.isArrayLiteralExpression(rr.initializer)?e.find(rr.initializer.elements,function(ei){return e.isStringLiteral(ei)&&ei.text===De}):void 0})},e.getTsConfigObjectLiteralExpression=V1,e.getTsConfigPropArrayElementValue=function(P,T1,De){return e.firstDefined(Ox(P,T1),function(rr){return e.isArrayLiteralExpression(rr.initializer)?e.find(rr.initializer.elements,function(ei){return e.isStringLiteral(ei)&&ei.text===De}):void 0})},e.getTsConfigPropArray=Ox,e.getContainingFunction=function(P){return e.findAncestor(P.parent,e.isFunctionLike)},e.getContainingFunctionDeclaration=function(P){return e.findAncestor(P.parent,e.isFunctionLikeDeclaration)},e.getContainingClass=function(P){return e.findAncestor(P.parent,e.isClassLike)},e.getThisContainer=$x,e.isInTopLevelContext=function(P){e.isIdentifier(P)&&(e.isClassDeclaration(P.parent)||e.isFunctionDeclaration(P.parent))&&P.parent.name===P&&(P=P.parent);var T1=$x(P,!0);return e.isSourceFile(T1)},e.getNewTargetContainer=function(P){var T1=$x(P,!1);if(T1)switch(T1.kind){case 167:case 252:case 209:return T1}},e.getSuperContainer=function(P,T1){for(;;){if(!(P=P.parent))return P;switch(P.kind){case 159:P=P.parent;break;case 252:case 209:case 210:if(!T1)continue;case 164:case 163:case 166:case 165:case 167:case 168:case 169:return P;case 162:P.parent.kind===161&&e.isClassElement(P.parent.parent)?P=P.parent.parent:e.isClassElement(P.parent)&&(P=P.parent)}}},e.getImmediatelyInvokedFunctionExpression=function(P){if(P.kind===209||P.kind===210){for(var T1=P,De=P.parent;De.kind===208;)T1=De,De=De.parent;if(De.kind===204&&De.expression===T1)return De}},e.isSuperOrSuperProperty=function(P){return P.kind===105||rx(P)},e.isSuperProperty=rx,e.isThisProperty=function(P){var T1=P.kind;return(T1===202||T1===203)&&P.expression.kind===107},e.isThisInitializedDeclaration=function(P){var T1;return!!P&&e.isVariableDeclaration(P)&&((T1=P.initializer)===null||T1===void 0?void 0:T1.kind)===107},e.isThisInitializedObjectBindingExpression=function(P){return!!P&&(e.isShorthandPropertyAssignment(P)||e.isPropertyAssignment(P))&&e.isBinaryExpression(P.parent.parent)&&P.parent.parent.operatorToken.kind===62&&P.parent.parent.right.kind===107},e.getEntityNameFromTypeNode=function(P){switch(P.kind){case 174:return P.typeName;case 224:return hC(P.expression)?P.expression:void 0;case 78:case 158:return P}},e.getInvokedExpression=function(P){switch(P.kind){case 206:return P.tag;case 276:case 275:return P.tagName;default:return P.expression}},e.nodeCanBeDecorated=O0,e.nodeIsDecorated=C1,e.nodeOrChildIsDecorated=nx,e.childIsDecorated=O,e.isJSXTagName=b1,e.isExpressionNode=Px,e.isInExpressionContext=me,e.isPartOfTypeQuery=Re,e.isNamespaceReexportDeclaration=function(P){return e.isNamespaceExport(P)&&!!P.parent.moduleSpecifier},e.isExternalModuleImportEqualsDeclaration=gt,e.getExternalModuleImportEqualsDeclarationExpression=function(P){return e.Debug.assert(gt(P)),P.moduleReference.expression},e.getExternalModuleRequireArgument=function(P){return Ir(P)&&iA(P.initializer).arguments[0]},e.isInternalModuleImportEqualsDeclaration=function(P){return P.kind===261&&P.moduleReference.kind!==273},e.isSourceFileJS=Vt,e.isSourceFileNotJS=function(P){return!wr(P)},e.isInJSFile=wr,e.isInJsonFile=function(P){return!!P&&!!(33554432&P.flags)},e.isSourceFileNotJson=function(P){return!$1(P)},e.isInJSDoc=gr,e.isJSDocIndexSignature=function(P){return e.isTypeReferenceNode(P)&&e.isIdentifier(P.typeName)&&P.typeName.escapedText===\"Object\"&&P.typeArguments&&P.typeArguments.length===2&&(P.typeArguments[0].kind===147||P.typeArguments[0].kind===144)},e.isRequireCall=Nt,e.isRequireVariableDeclaration=Ir,e.isRequireVariableStatement=function(P){return e.isVariableStatement(P)&&P.declarationList.declarations.length>0&&e.every(P.declarationList.declarations,function(T1){return Ir(T1)})},e.isSingleOrDoubleQuote=function(P){return P===39||P===34},e.isStringDoubleQuoted=function(P,T1){return U(T1,P).charCodeAt(0)===34},e.isAssignmentDeclaration=xr,e.getEffectiveInitializer=Bt,e.getDeclaredExpandoInitializer=function(P){var T1=Bt(P);return T1&&ar(T1,ol(P.name))},e.getAssignedExpandoInitializer=function(P){if(P&&P.parent&&e.isBinaryExpression(P.parent)&&P.parent.operatorToken.kind===62){var T1=ol(P.parent.left);return ar(P.parent.right,T1)||function(rr,ei,W){var L0=e.isBinaryExpression(ei)&&(ei.operatorToken.kind===56||ei.operatorToken.kind===60)&&ar(ei.right,W);if(L0&&Ni(rr,ei.left))return L0}(P.parent.left,P.parent.right,T1)}if(P&&e.isCallExpression(P)&&lr(P)){var De=function(rr,ei){return e.forEach(rr.properties,function(W){return e.isPropertyAssignment(W)&&e.isIdentifier(W.name)&&W.name.escapedText===\"value\"&&W.initializer&&ar(W.initializer,ei)})}(P.arguments[2],P.arguments[1].text===\"prototype\");if(De)return De}},e.getExpandoInitializer=ar,e.isDefaultedExpandoInitializer=function(P){var T1=e.isVariableDeclaration(P.parent)?P.parent.name:e.isBinaryExpression(P.parent)&&P.parent.operatorToken.kind===62?P.parent.left:void 0;return T1&&ar(P.right,ol(T1))&&hC(T1)&&Ni(T1,P.left)},e.getNameOfExpando=function(P){if(e.isBinaryExpression(P.parent)){var T1=P.parent.operatorToken.kind!==56&&P.parent.operatorToken.kind!==60||!e.isBinaryExpression(P.parent.parent)?P.parent:P.parent.parent;if(T1.operatorToken.kind===62&&e.isIdentifier(T1.left))return T1.left}else if(e.isVariableDeclaration(P.parent))return P.parent.name},e.isSameEntityName=Ni,e.getRightMostAssignedExpression=Kn,e.isExportsIdentifier=oi,e.isModuleIdentifier=Ba,e.isModuleExportsAccessExpression=dt,e.getAssignmentDeclarationKind=Gt,e.isBindableObjectDefinePropertyCall=lr,e.isLiteralLikeAccess=en,e.isLiteralLikeElementAccess=ii,e.isBindableStaticAccessExpression=Tt,e.isBindableStaticElementAccessExpression=bn,e.isBindableStaticNameExpression=Le,e.getNameOrArgument=Sa,e.getElementOrPropertyAccessArgumentExpressionOrName=Yn,e.getElementOrPropertyAccessName=W1,e.getAssignmentDeclarationPropertyAccessKind=cx,e.getInitializerOfBinaryExpression=E1,e.isPrototypePropertyAssignment=function(P){return e.isBinaryExpression(P)&&Gt(P)===3},e.isSpecialPropertyDeclaration=function(P){return wr(P)&&P.parent&&P.parent.kind===234&&(!e.isElementAccessExpression(P)||ii(P))&&!!e.getJSDocTypeTag(P.parent)},e.setValueDeclaration=function(P,T1){var De=P.valueDeclaration;(!De||(!(8388608&T1.flags)||8388608&De.flags)&&xr(De)&&!xr(T1)||De.kind!==T1.kind&&l0(De))&&(P.valueDeclaration=T1)},e.isFunctionSymbol=function(P){if(!P||!P.valueDeclaration)return!1;var T1=P.valueDeclaration;return T1.kind===252||e.isVariableDeclaration(T1)&&T1.initializer&&e.isFunctionLike(T1.initializer)},e.tryGetModuleSpecifierFromDeclaration=function(P){var T1,De,rr;switch(P.kind){case 250:return P.initializer.arguments[0].text;case 262:return(T1=e.tryCast(P.moduleSpecifier,e.isStringLiteralLike))===null||T1===void 0?void 0:T1.text;case 261:return(rr=e.tryCast((De=e.tryCast(P.moduleReference,e.isExternalModuleReference))===null||De===void 0?void 0:De.expression,e.isStringLiteralLike))===null||rr===void 0?void 0:rr.text;default:e.Debug.assertNever(P)}},e.importFromModuleSpecifier=function(P){return qx(P)||e.Debug.failBadSyntaxKind(P.parent)},e.tryGetImportFromModuleSpecifier=qx,e.getExternalModuleName=xt,e.getNamespaceDeclarationNode=function(P){switch(P.kind){case 262:return P.importClause&&e.tryCast(P.importClause.namedBindings,e.isNamespaceImport);case 261:return P;case 268:return P.exportClause&&e.tryCast(P.exportClause,e.isNamespaceExport);default:return e.Debug.assertNever(P)}},e.isDefaultImport=function(P){return P.kind===262&&!!P.importClause&&!!P.importClause.name},e.forEachImportClauseDeclaration=function(P,T1){var De;if(P.name&&(De=T1(P))||P.namedBindings&&(De=e.isNamespaceImport(P.namedBindings)?T1(P.namedBindings):e.forEach(P.namedBindings.elements,T1)))return De},e.hasQuestionToken=function(P){if(P)switch(P.kind){case 161:case 166:case 165:case 290:case 289:case 164:case 163:return P.questionToken!==void 0}return!1},e.isJSDocConstructSignature=function(P){var T1=e.isJSDocFunctionType(P)?e.firstOrUndefined(P.parameters):void 0,De=e.tryCast(T1&&T1.name,e.isIdentifier);return!!De&&De.escapedText===\"new\"},e.isJSDocTypeAlias=ae,e.isTypeAlias=function(P){return ae(P)||e.isTypeAliasDeclaration(P)},e.getSingleInitializerOfVariableStatementOrPropertyDeclaration=or,e.getSingleVariableOfVariableStatement=ut,e.getJSDocCommentsAndTags=function(P,T1){var De;p1(P)&&e.hasInitializer(P)&&e.hasJSDocNodes(P.initializer)&&(De=e.append(De,e.last(P.initializer.jsDoc)));for(var rr=P;rr&&rr.parent;){if(e.hasJSDocNodes(rr)&&(De=e.append(De,e.last(rr.jsDoc))),rr.kind===161){De=e.addRange(De,(T1?e.getJSDocParameterTagsNoCache:e.getJSDocParameterTags)(rr));break}if(rr.kind===160){De=e.addRange(De,(T1?e.getJSDocTypeParameterTagsNoCache:e.getJSDocTypeParameterTags)(rr));break}rr=B(rr)}return De||e.emptyArray},e.getNextJSDocCommentLocation=B,e.getParameterSymbolFromJSDoc=function(P){if(P.symbol)return P.symbol;if(e.isIdentifier(P.name)){var T1=P.name.escapedText,De=h0(P);if(De){var rr=e.find(De.parameters,function(ei){return ei.name.kind===78&&ei.name.escapedText===T1});return rr&&rr.symbol}}},e.getHostSignatureFromJSDoc=h0,e.getEffectiveJSDocHost=M,e.getJSDocHost=X0,e.getJSDocRoot=l1,e.getTypeParameterFromJsDoc=function(P){var T1=P.name.escapedText,De=P.parent.parent.parent.typeParameters;return De&&e.find(De,function(rr){return rr.name.escapedText===T1})},e.hasRestParameter=function(P){var T1=e.lastOrUndefined(P.parameters);return!!T1&&Hx(T1)},e.isRestParameter=Hx,e.hasTypeArguments=function(P){return!!P.typeArguments},(Nx=e.AssignmentKind||(e.AssignmentKind={}))[Nx.None=0]=\"None\",Nx[Nx.Definite=1]=\"Definite\",Nx[Nx.Compound=2]=\"Compound\",e.getAssignmentTargetKind=ge,e.isAssignmentTarget=function(P){return ge(P)!==0},e.isNodeWithPossibleHoistedDeclaration=function(P){switch(P.kind){case 231:case 233:case 244:case 235:case 245:case 259:case 285:case 286:case 246:case 238:case 239:case 240:case 236:case 237:case 248:case 288:return!0}return!1},e.isValueSignatureDeclaration=function(P){return e.isFunctionExpression(P)||e.isArrowFunction(P)||e.isMethodOrAccessor(P)||e.isFunctionDeclaration(P)||e.isConstructorDeclaration(P)},e.walkUpParenthesizedTypes=function(P){return Pe(P,187)},e.walkUpParenthesizedExpressions=It,e.walkUpParenthesizedTypesAndGetParentAndChild=function(P){for(var T1;P&&P.kind===187;)T1=P,P=P.parent;return[T1,P]},e.skipParentheses=Kr,e.isDeleteTarget=function(P){return(P.kind===202||P.kind===203)&&(P=It(P.parent))&&P.kind===211},e.isNodeDescendantOf=function(P,T1){for(;P;){if(P===T1)return!0;P=P.parent}return!1},e.isDeclarationName=function(P){return!e.isSourceFile(P)&&!e.isBindingPattern(P)&&e.isDeclaration(P.parent)&&P.parent.name===P},e.getDeclarationFromName=function(P){var T1=P.parent;switch(P.kind){case 10:case 14:case 8:if(e.isComputedPropertyName(T1))return T1.parent;case 78:if(e.isDeclaration(T1))return T1.name===P?T1:void 0;if(e.isQualifiedName(T1)){var De=T1.parent;return e.isJSDocParameterTag(De)&&De.name===T1?De:void 0}var rr=T1.parent;return e.isBinaryExpression(rr)&&Gt(rr)!==0&&(rr.left.symbol||rr.symbol)&&e.getNameOfDeclaration(rr)===P?rr:void 0;case 79:return e.isDeclaration(T1)&&T1.name===P?T1:void 0;default:return}},e.isLiteralComputedPropertyDeclarationName=function(P){return fa(P)&&P.parent.kind===159&&e.isDeclaration(P.parent.parent)},e.isIdentifierName=function(P){var T1=P.parent;switch(T1.kind){case 164:case 163:case 166:case 165:case 168:case 169:case 292:case 289:case 202:return T1.name===P;case 158:return T1.right===P;case 199:case 266:return T1.propertyName===P;case 271:case 281:return!0}return!1},e.isAliasSymbolDeclaration=function(P){return P.kind===261||P.kind===260||P.kind===263&&!!P.name||P.kind===264||P.kind===270||P.kind===266||P.kind===271||P.kind===267&&rn(P)||e.isBinaryExpression(P)&&Gt(P)===2&&rn(P)||e.isPropertyAccessExpression(P)&&e.isBinaryExpression(P.parent)&&P.parent.left===P&&P.parent.operatorToken.kind===62&&pn(P.parent.right)||P.kind===290||P.kind===289&&pn(P.initializer)},e.getAliasDeclarationFromName=function P(T1){switch(T1.parent.kind){case 263:case 266:case 264:case 271:case 267:case 261:return T1.parent;case 158:do T1=T1.parent;while(T1.parent.kind===158);return P(T1)}},e.isAliasableExpression=pn,e.exportAssignmentIsAlias=rn,e.getExportAssignmentExpression=_t,e.getPropertyAssignmentAliasLikeExpression=function(P){return P.kind===290?P.name:P.kind===289?P.initializer:P.parent.right},e.getEffectiveBaseTypeNode=Ii,e.getClassExtendsHeritageElement=Mn,e.getEffectiveImplementsTypeNodes=Ka,e.getAllSuperTypeNodes=function(P){return e.isInterfaceDeclaration(P)?fe(P)||e.emptyArray:e.isClassLike(P)&&e.concatenate(e.singleElementArray(Ii(P)),Ka(P))||e.emptyArray},e.getInterfaceBaseTypeNodes=fe,e.getHeritageClause=Fr,e.getAncestor=function(P,T1){for(;P;){if(P.kind===T1)return P;P=P.parent}},e.isKeyword=yt,e.isContextualKeyword=Fn,e.isNonContextualKeyword=Ur,e.isFutureReservedKeyword=function(P){return 116<=P&&P<=124},e.isStringANonContextualKeyword=function(P){var T1=e.stringToToken(P);return T1!==void 0&&Ur(T1)},e.isStringAKeyword=function(P){var T1=e.stringToToken(P);return T1!==void 0&&yt(T1)},e.isIdentifierANonContextualKeyword=function(P){var T1=P.originalKeywordKind;return!!T1&&!Fn(T1)},e.isTrivia=function(P){return 2<=P&&P<=7},(n1=e.FunctionFlags||(e.FunctionFlags={}))[n1.Normal=0]=\"Normal\",n1[n1.Generator=1]=\"Generator\",n1[n1.Async=2]=\"Async\",n1[n1.Invalid=4]=\"Invalid\",n1[n1.AsyncGenerator=3]=\"AsyncGenerator\",e.getFunctionFlags=function(P){if(!P)return 4;var T1=0;switch(P.kind){case 252:case 209:case 166:P.asteriskToken&&(T1|=1);case 210:Ef(P,256)&&(T1|=2)}return P.body||(T1|=4),T1},e.isAsyncFunction=function(P){switch(P.kind){case 252:case 209:case 210:case 166:return P.body!==void 0&&P.asteriskToken===void 0&&Ef(P,256)}return!1},e.isStringOrNumericLiteralLike=fa,e.isSignedNumericLiteral=Kt,e.hasDynamicName=Fa,e.isDynamicName=co,e.getPropertyNameForPropertyNameNode=Us,e.isPropertyNameLiteral=qs,e.getTextOfIdentifierOrLiteral=vs,e.getEscapedTextOfIdentifierOrLiteral=function(P){return e.isMemberName(P)?P.escapedText:e.escapeLeadingUnderscores(P.text)},e.getPropertyNameForUniqueESSymbol=function(P){return\"__@\"+e.getSymbolId(P)+\"@\"+P.escapedName},e.getSymbolNameForPrivateIdentifier=function(P,T1){return\"__#\"+e.getSymbolId(P)+\"@\"+T1},e.isKnownSymbol=function(P){return e.startsWith(P.escapedName,\"__@\")},e.isESSymbolIdentifier=function(P){return P.kind===78&&P.escapedText===\"Symbol\"},e.isPushOrUnshiftIdentifier=function(P){return P.escapedText===\"push\"||P.escapedText===\"unshift\"},e.isParameterDeclaration=function(P){return sg(P).kind===161},e.getRootDeclaration=sg,e.nodeStartsNewLexicalEnvironment=function(P){var T1=P.kind;return T1===167||T1===209||T1===252||T1===210||T1===166||T1===168||T1===169||T1===257||T1===298},e.nodeIsSynthesized=Cf,e.getOriginalSourceFile=function(P){return e.getParseTreeNode(P,e.isSourceFile)||P},(S0=e.Associativity||(e.Associativity={}))[S0.Left=0]=\"Left\",S0[S0.Right=1]=\"Right\",e.getExpressionAssociativity=function(P){var T1=K8(P),De=P.kind===205&&P.arguments!==void 0;return rc(P.kind,T1,De)},e.getOperatorAssociativity=rc,e.getExpressionPrecedence=function(P){var T1=K8(P),De=P.kind===205&&P.arguments!==void 0;return zl(P.kind,T1,De)},e.getOperator=K8,(I0=e.OperatorPrecedence||(e.OperatorPrecedence={}))[I0.Comma=0]=\"Comma\",I0[I0.Spread=1]=\"Spread\",I0[I0.Yield=2]=\"Yield\",I0[I0.Assignment=3]=\"Assignment\",I0[I0.Conditional=4]=\"Conditional\",I0[I0.Coalesce=4]=\"Coalesce\",I0[I0.LogicalOR=5]=\"LogicalOR\",I0[I0.LogicalAND=6]=\"LogicalAND\",I0[I0.BitwiseOR=7]=\"BitwiseOR\",I0[I0.BitwiseXOR=8]=\"BitwiseXOR\",I0[I0.BitwiseAND=9]=\"BitwiseAND\",I0[I0.Equality=10]=\"Equality\",I0[I0.Relational=11]=\"Relational\",I0[I0.Shift=12]=\"Shift\",I0[I0.Additive=13]=\"Additive\",I0[I0.Multiplicative=14]=\"Multiplicative\",I0[I0.Exponentiation=15]=\"Exponentiation\",I0[I0.Unary=16]=\"Unary\",I0[I0.Update=17]=\"Update\",I0[I0.LeftHandSide=18]=\"LeftHandSide\",I0[I0.Member=19]=\"Member\",I0[I0.Primary=20]=\"Primary\",I0[I0.Highest=20]=\"Highest\",I0[I0.Lowest=0]=\"Lowest\",I0[I0.Invalid=-1]=\"Invalid\",e.getOperatorPrecedence=zl,e.getBinaryOperatorPrecedence=Xl,e.getSemanticJsxChildren=function(P){return e.filter(P,function(T1){switch(T1.kind){case 284:return!!T1.expression;case 11:return!T1.containsOnlyTriviaWhiteSpaces;default:return!0}})},e.createDiagnosticCollection=function(){var P=[],T1=[],De=new e.Map,rr=!1;return{add:function(ei){var W;ei.file?(W=De.get(ei.file.fileName))||(W=[],De.set(ei.file.fileName,W),e.insertSorted(T1,ei.file.fileName,e.compareStringsCaseSensitive)):(rr&&(rr=!1,P=P.slice()),W=P),e.insertSorted(W,ei,Qd)},lookup:function(ei){var W;if(W=ei.file?De.get(ei.file.fileName):P,!!W){var L0=e.binarySearch(W,ei,e.identity,$S);if(L0>=0)return W[L0]}},getGlobalDiagnostics:function(){return rr=!0,P},getDiagnostics:function(ei){if(ei)return De.get(ei)||[];var W=e.flatMapToMutable(T1,function(L0){return De.get(L0)});return P.length&&W.unshift.apply(W,P),W}}};var OF=/\\$\\{/g;e.hasInvalidEscape=function(P){return P&&!!(e.isNoSubstitutionTemplateLiteral(P)?P.templateFlags:P.head.templateFlags||e.some(P.templateSpans,function(T1){return!!T1.literal.templateFlags}))};var BF=/[\\\\\\\"\\u0000-\\u001f\\t\\v\\f\\b\\r\\n\\u2028\\u2029\\u0085]/g,Qp=/[\\\\\\'\\u0000-\\u001f\\t\\v\\f\\b\\r\\n\\u2028\\u2029\\u0085]/g,kp=/[\\\\`]/g,up=new e.Map(e.getEntries({\"\t\":\"\\\\t\",\"\\v\":\"\\\\v\",\"\\f\":\"\\\\f\",\"\\b\":\"\\\\b\",\"\\r\":\"\\\\r\",\"\\n\":\"\\\\n\",\"\\\\\":\"\\\\\\\\\",'\"':'\\\\\"',\"'\":\"\\\\'\",\"`\":\"\\\\`\",\"\\u2028\":\"\\\\u2028\",\"\\u2029\":\"\\\\u2029\",\"\\x85\":\"\\\\u0085\"}));function mC(P){return\"\\\\u\"+(\"0000\"+P.toString(16).toUpperCase()).slice(-4)}function fd(P,T1,De){if(P.charCodeAt(0)===0){var rr=De.charCodeAt(T1+P.length);return rr>=48&&rr<=57?\"\\\\x00\":\"\\\\0\"}return up.get(P)||mC(P.charCodeAt(0))}function E4(P,T1){var De=T1===96?kp:T1===39?Qp:BF;return P.replace(De,fd)}e.escapeString=E4;var Yl=/[^\\u0000-\\u007F]/g;function fT(P,T1){return P=E4(P,T1),Yl.test(P)?P.replace(Yl,function(De){return mC(De.charCodeAt(0))}):P}e.escapeNonAsciiString=fT;var qE=/[\\\"\\u0000-\\u001f\\u2028\\u2029\\u0085]/g,df=/[\\'\\u0000-\\u001f\\u2028\\u2029\\u0085]/g,pl=new e.Map(e.getEntries({'\"':\"&quot;\",\"'\":\"&apos;\"}));function Np(P){return P.charCodeAt(0)===0?\"&#0;\":pl.get(P)||\"&#x\"+P.charCodeAt(0).toString(16).toUpperCase()+\";\"}function rp(P,T1){var De=T1===39?df:qE;return P.replace(De,Np)}e.escapeJsxAttributeString=rp,e.stripQuotes=function(P){var T1,De=P.length;return De>=2&&P.charCodeAt(0)===P.charCodeAt(De-1)&&((T1=P.charCodeAt(0))===39||T1===34||T1===96)?P.substring(1,De-1):P},e.isIntrinsicJsxName=function(P){var T1=P.charCodeAt(0);return T1>=97&&T1<=122||e.stringContains(P,\"-\")||e.stringContains(P,\":\")};var jp=[\"\",\"    \"];function tf(P){for(var T1=jp[1],De=jp.length;De<=P;De++)jp.push(jp[De-1]+T1);return jp[P]}function cp(){return jp[1].length}function Nf(P){return!!P.useCaseSensitiveFileNames&&P.useCaseSensitiveFileNames()}function mf(P,T1,De){return T1.moduleName||pd(P,T1.fileName,De&&De.fileName)}function l2(P,T1){return P.getCanonicalFileName(e.getNormalizedAbsolutePath(T1,P.getCurrentDirectory()))}function pd(P,T1,De){var rr=function(J1){return P.getCanonicalFileName(J1)},ei=e.toPath(De?e.getDirectoryPath(De):P.getCommonSourceDirectory(),P.getCurrentDirectory(),rr),W=e.getNormalizedAbsolutePath(T1,P.getCurrentDirectory()),L0=Jo(e.getRelativePathToDirectoryOrUrl(ei,W,ei,rr,!1));return De?e.ensurePathIsNonModuleName(L0):L0}function Ju(P,T1,De,rr,ei){var W=T1.declarationDir||T1.outDir;return Jo(W?Qo(P,W,De,rr,ei):P)+\".d.ts\"}function vd(P){return P.outFile||P.out}function aw(P,T1,De){return!(T1.getCompilerOptions().noEmitForJsFiles&&Vt(P))&&!P.isDeclarationFile&&!T1.isSourceFileFromExternalLibrary(P)&&(De||!($1(P)&&T1.getResolvedProjectReferenceToRedirect(P.fileName))&&!T1.isSourceOfProjectReferenceRedirect(P.fileName))}function c5(P,T1,De){return Qo(P,De,T1.getCurrentDirectory(),T1.getCommonSourceDirectory(),function(rr){return T1.getCanonicalFileName(rr)})}function Qo(P,T1,De,rr,ei){var W=e.getNormalizedAbsolutePath(P,De);return W=ei(W).indexOf(ei(rr))===0?W.substring(rr.length):W,e.combinePaths(T1,W)}function Rl(P,T1,De){P.length>e.getRootLength(P)&&!De(P)&&(Rl(e.getDirectoryPath(P),T1,De),T1(P))}function gl(P,T1){return e.computeLineOfPosition(P,T1)}function bd(P){if(P&&P.parameters.length>0){var T1=P.parameters.length===2&&Ld(P.parameters[0]);return P.parameters[T1?1:0]}}function Ld(P){return Dp(P.name)}function Dp(P){return!!P&&P.kind===78&&Hi(P)}function Hi(P){return P.originalKeywordKind===107}function Up(P){if(wr(P)||!e.isFunctionDeclaration(P)){var T1=P.type;return T1||!wr(P)?T1:e.isJSDocPropertyLikeTag(P)?P.typeExpression&&P.typeExpression.type:e.getJSDocType(P)}}function rl(P,T1,De,rr){tA(P,T1,De.pos,rr)}function tA(P,T1,De,rr){rr&&rr.length&&De!==rr[0].pos&&gl(P,De)!==gl(P,rr[0].pos)&&T1.writeLine()}function rA(P,T1,De,rr,ei,W,L0,J1){if(rr&&rr.length>0){ei&&De.writeSpace(\" \");for(var ce=!1,ze=0,Zr=rr;ze<Zr.length;ze++){var ui=Zr[ze];ce&&(De.writeSpace(\" \"),ce=!1),J1(P,T1,De,ui.pos,ui.end,L0),ui.hasTrailingNewLine?De.writeLine():ce=!0}ce&&W&&De.writeSpace(\" \")}}function G2(P,T1,De,rr,ei,W){var L0=Math.min(T1,W-1),J1=P.substring(ei,L0).replace(/^\\s+|\\s+$/g,\"\");J1?(De.writeComment(J1),L0!==T1&&De.writeLine()):De.rawWrite(rr)}function vp(P,T1,De){for(var rr=0;T1<De&&e.isWhiteSpaceSingleLine(P.charCodeAt(T1));T1++)P.charCodeAt(T1)===9?rr+=cp()-rr%cp():rr++;return rr}function Zp(P,T1){return!!Un(P,T1)}function Ef(P,T1){return!!pa(P,T1)}function yr(P){return Ef(P,32)}function Jr(P){return Zp(P,64)}function Un(P,T1){return Ls(P)&T1}function pa(P,T1){return Mo(P)&T1}function za(P,T1,De){return P.kind>=0&&P.kind<=157?0:(536870912&P.modifierFlagsCache||(P.modifierFlagsCache=536870912|mo(P)),!T1||4096&P.modifierFlagsCache||!De&&!wr(P)||!P.parent||(P.modifierFlagsCache|=4096|Ps(P)),-536875009&P.modifierFlagsCache)}function Ls(P){return za(P,!0)}function Mo(P){return za(P,!1)}function Ps(P){var T1=0;return P.parent&&!e.isParameter(P)&&(wr(P)&&(e.getJSDocPublicTagNoCache(P)&&(T1|=4),e.getJSDocPrivateTagNoCache(P)&&(T1|=8),e.getJSDocProtectedTagNoCache(P)&&(T1|=16),e.getJSDocReadonlyTagNoCache(P)&&(T1|=64),e.getJSDocOverrideTagNoCache(P)&&(T1|=16384)),e.getJSDocDeprecatedTagNoCache(P)&&(T1|=8192)),T1}function mo(P){var T1=bc(P.modifiers);return(4&P.flags||P.kind===78&&P.isInJSDocNamespace)&&(T1|=1),T1}function bc(P){var T1=0;if(P)for(var De=0,rr=P;De<rr.length;De++)T1|=Ro(rr[De].kind);return T1}function Ro(P){switch(P){case 123:return 32;case 122:return 4;case 121:return 16;case 120:return 8;case 125:return 128;case 92:return 1;case 133:return 2;case 84:return 2048;case 87:return 512;case 129:return 256;case 142:return 64;case 156:return 16384}return 0}function Vc(P){return P===74||P===75||P===76}function ws(P){return P>=62&&P<=77}function gc(P){var T1=Pl(P);return T1&&!T1.isImplements?T1.class:void 0}function Pl(P){return e.isExpressionWithTypeArguments(P)&&e.isHeritageClause(P.parent)&&e.isClassLike(P.parent.parent)?{class:P.parent.parent,isImplements:P.parent.token===116}:void 0}function xc(P,T1){return e.isBinaryExpression(P)&&(T1?P.operatorToken.kind===62:ws(P.operatorToken.kind))&&e.isLeftHandSideExpression(P.left)}function Su(P){return gc(P)!==void 0}function hC(P){return P.kind===78||_o(P)}function _o(P){return e.isPropertyAccessExpression(P)&&e.isIdentifier(P.name)&&hC(P.expression)}function ol(P){return Tt(P)&&W1(P)===\"prototype\"}e.getIndentString=tf,e.getIndentSize=cp,e.createTextWriter=function(P){var T1,De,rr,ei,W,L0=!1;function J1(ui){var Ve=e.computeLineStarts(ui);Ve.length>1?(ei=ei+Ve.length-1,W=T1.length-ui.length+e.last(Ve),rr=W-T1.length==0):rr=!1}function ce(ui){ui&&ui.length&&(rr&&(ui=tf(De)+ui,rr=!1),T1+=ui,J1(ui))}function ze(ui){ui&&(L0=!1),ce(ui)}function Zr(){T1=\"\",De=0,rr=!0,ei=0,W=0,L0=!1}return Zr(),{write:ze,rawWrite:function(ui){ui!==void 0&&(T1+=ui,J1(ui),L0=!1)},writeLiteral:function(ui){ui&&ui.length&&ze(ui)},writeLine:function(ui){rr&&!ui||(ei++,W=(T1+=P).length,rr=!0,L0=!1)},increaseIndent:function(){De++},decreaseIndent:function(){De--},getIndent:function(){return De},getTextPos:function(){return T1.length},getLine:function(){return ei},getColumn:function(){return rr?De*cp():T1.length-W},getText:function(){return T1},isAtStartOfLine:function(){return rr},hasTrailingComment:function(){return L0},hasTrailingWhitespace:function(){return!!T1.length&&e.isWhiteSpaceLike(T1.charCodeAt(T1.length-1))},clear:Zr,reportInaccessibleThisError:e.noop,reportPrivateInBaseOfClassExpression:e.noop,reportInaccessibleUniqueSymbolError:e.noop,trackSymbol:e.noop,writeKeyword:ze,writeOperator:ze,writeParameter:ze,writeProperty:ze,writePunctuation:ze,writeSpace:ze,writeStringLiteral:ze,writeSymbol:function(ui,Ve){return ze(ui)},writeTrailingSemicolon:ze,writeComment:function(ui){ui&&(L0=!0),ce(ui)},getTextPosWithWriteLine:function(){return rr?T1.length:T1.length+P.length}}},e.getTrailingSemicolonDeferringWriter=function(P){var T1=!1;function De(){T1&&(P.writeTrailingSemicolon(\";\"),T1=!1)}return $($({},P),{writeTrailingSemicolon:function(){T1=!0},writeLiteral:function(rr){De(),P.writeLiteral(rr)},writeStringLiteral:function(rr){De(),P.writeStringLiteral(rr)},writeSymbol:function(rr,ei){De(),P.writeSymbol(rr,ei)},writePunctuation:function(rr){De(),P.writePunctuation(rr)},writeKeyword:function(rr){De(),P.writeKeyword(rr)},writeOperator:function(rr){De(),P.writeOperator(rr)},writeParameter:function(rr){De(),P.writeParameter(rr)},writeSpace:function(rr){De(),P.writeSpace(rr)},writeProperty:function(rr){De(),P.writeProperty(rr)},writeComment:function(rr){De(),P.writeComment(rr)},writeLine:function(){De(),P.writeLine()},increaseIndent:function(){De(),P.increaseIndent()},decreaseIndent:function(){De(),P.decreaseIndent()}})},e.hostUsesCaseSensitiveFileNames=Nf,e.hostGetCanonicalFileName=function(P){return e.createGetCanonicalFileName(Nf(P))},e.getResolvedExternalModuleName=mf,e.getExternalModuleNameFromDeclaration=function(P,T1,De){var rr=T1.getExternalModuleFileFromDeclaration(De);if(rr&&!rr.isDeclarationFile){var ei=xt(De);if(!ei||!e.isStringLiteralLike(ei)||e.pathIsRelative(ei.text)||l2(P,rr.path).indexOf(l2(P,e.ensureTrailingDirectorySeparator(P.getCommonSourceDirectory())))!==-1)return mf(P,rr)}},e.getExternalModuleNameFromPath=pd,e.getOwnEmitOutputFilePath=function(P,T1,De){var rr=T1.getCompilerOptions();return(rr.outDir?Jo(c5(P,T1,rr.outDir)):Jo(P))+De},e.getDeclarationEmitOutputFilePath=function(P,T1){return Ju(P,T1.getCompilerOptions(),T1.getCurrentDirectory(),T1.getCommonSourceDirectory(),function(De){return T1.getCanonicalFileName(De)})},e.getDeclarationEmitOutputFilePathWorker=Ju,e.outFile=vd,e.getPathsBasePath=function(P,T1){var De,rr;if(P.paths)return(De=P.baseUrl)!==null&&De!==void 0?De:e.Debug.checkDefined(P.pathsBasePath||((rr=T1.getCurrentDirectory)===null||rr===void 0?void 0:rr.call(T1)),\"Encountered 'paths' without a 'baseUrl', config file, or host 'getCurrentDirectory'.\")},e.getSourceFilesToEmit=function(P,T1,De){var rr=P.getCompilerOptions();if(vd(rr)){var ei=Ku(rr),W=rr.emitDeclarationOnly||ei===e.ModuleKind.AMD||ei===e.ModuleKind.System;return e.filter(P.getSourceFiles(),function(J1){return(W||!e.isExternalModule(J1))&&aw(J1,P,De)})}var L0=T1===void 0?P.getSourceFiles():[T1];return e.filter(L0,function(J1){return aw(J1,P,De)})},e.sourceFileMayBeEmitted=aw,e.getSourceFilePathInNewDir=c5,e.getSourceFilePathInNewDirWorker=Qo,e.writeFile=function(P,T1,De,rr,ei,W){P.writeFile(De,rr,ei,function(L0){T1.add(kT(e.Diagnostics.Could_not_write_file_0_Colon_1,De,L0))},W)},e.writeFileEnsuringDirectories=function(P,T1,De,rr,ei,W){try{rr(P,T1,De)}catch{Rl(e.getDirectoryPath(e.normalizePath(P)),ei,W),rr(P,T1,De)}},e.getLineOfLocalPosition=function(P,T1){var De=e.getLineStarts(P);return e.computeLineOfPosition(De,T1)},e.getLineOfLocalPositionFromLineMap=gl,e.getFirstConstructorWithBody=function(P){return e.find(P.members,function(T1){return e.isConstructorDeclaration(T1)&&Z(T1.body)})},e.getSetAccessorValueParameter=bd,e.getSetAccessorTypeAnnotationNode=function(P){var T1=bd(P);return T1&&T1.type},e.getThisParameter=function(P){if(P.parameters.length&&!e.isJSDocSignature(P)){var T1=P.parameters[0];if(Ld(T1))return T1}},e.parameterIsThisKeyword=Ld,e.isThisIdentifier=Dp,e.identifierIsThisKeyword=Hi,e.getAllAccessorDeclarations=function(P,T1){var De,rr,ei,W;return Fa(T1)?(De=T1,T1.kind===168?ei=T1:T1.kind===169?W=T1:e.Debug.fail(\"Accessor has wrong kind\")):e.forEach(P,function(L0){e.isAccessor(L0)&&Ef(L0,32)===Ef(T1,32)&&Us(L0.name)===Us(T1.name)&&(De?rr||(rr=L0):De=L0,L0.kind!==168||ei||(ei=L0),L0.kind!==169||W||(W=L0))}),{firstAccessor:De,secondAccessor:rr,getAccessor:ei,setAccessor:W}},e.getEffectiveTypeAnnotationNode=Up,e.getTypeAnnotationNode=function(P){return P.type},e.getEffectiveReturnTypeNode=function(P){return e.isJSDocSignature(P)?P.type&&P.type.typeExpression&&P.type.typeExpression.type:P.type||(wr(P)?e.getJSDocReturnType(P):void 0)},e.getJSDocTypeParameterDeclarations=function(P){return e.flatMap(e.getJSDocTags(P),function(T1){return function(De){return e.isJSDocTemplateTag(De)&&!(De.parent.kind===312&&De.parent.tags.some(ae))}(T1)?T1.typeParameters:void 0})},e.getEffectiveSetAccessorTypeAnnotationNode=function(P){var T1=bd(P);return T1&&Up(T1)},e.emitNewLineBeforeLeadingComments=rl,e.emitNewLineBeforeLeadingCommentsOfPosition=tA,e.emitNewLineBeforeLeadingCommentOfPosition=function(P,T1,De,rr){De!==rr&&gl(P,De)!==gl(P,rr)&&T1.writeLine()},e.emitComments=rA,e.emitDetachedComments=function(P,T1,De,rr,ei,W,L0){var J1,ce;if(L0?ei.pos===0&&(J1=e.filter(e.getLeadingCommentRanges(P,ei.pos),function(X6){return G(P,X6.pos)})):J1=e.getLeadingCommentRanges(P,ei.pos),J1){for(var ze=[],Zr=void 0,ui=0,Ve=J1;ui<Ve.length;ui++){var ks=Ve[ui];if(Zr){var Sf=gl(T1,Zr.end);if(gl(T1,ks.pos)>=Sf+2)break}ze.push(ks),Zr=ks}ze.length&&(Sf=gl(T1,e.last(ze).end),gl(T1,e.skipTrivia(P,ei.pos))>=Sf+2&&(rl(T1,De,ei,J1),rA(P,T1,De,ze,!1,!0,W,rr),ce={nodePos:ei.pos,detachedCommentEndPos:e.last(ze).end}))}return ce},e.writeCommentRange=function(P,T1,De,rr,ei,W){if(P.charCodeAt(rr+1)===42)for(var L0=e.computeLineAndCharacterOfPosition(T1,rr),J1=T1.length,ce=void 0,ze=rr,Zr=L0.line;ze<ei;Zr++){var ui=Zr+1===J1?P.length+1:T1[Zr+1];if(ze!==rr){ce===void 0&&(ce=vp(P,T1[L0.line],rr));var Ve=De.getIndent()*cp()-ce+vp(P,ze,ui);if(Ve>0){var ks=Ve%cp(),Sf=tf((Ve-ks)/cp());for(De.rawWrite(Sf);ks;)De.rawWrite(\" \"),ks--}else De.rawWrite(\"\")}G2(P,ei,De,W,ze,ui),ze=ui}else De.writeComment(P.substring(rr,ei))},e.hasEffectiveModifiers=function(P){return Ls(P)!==0},e.hasSyntacticModifiers=function(P){return Mo(P)!==0},e.hasEffectiveModifier=Zp,e.hasSyntacticModifier=Ef,e.hasStaticModifier=yr,e.hasOverrideModifier=function(P){return Zp(P,16384)},e.hasAbstractModifier=function(P){return Ef(P,128)},e.hasAmbientModifier=function(P){return Ef(P,2)},e.hasEffectiveReadonlyModifier=Jr,e.getSelectedEffectiveModifierFlags=Un,e.getSelectedSyntacticModifierFlags=pa,e.getEffectiveModifierFlags=Ls,e.getEffectiveModifierFlagsAlwaysIncludeJSDoc=function(P){return za(P,!0,!0)},e.getSyntacticModifierFlags=Mo,e.getEffectiveModifierFlagsNoCache=function(P){return mo(P)|Ps(P)},e.getSyntacticModifierFlagsNoCache=mo,e.modifiersToFlags=bc,e.modifierToFlag=Ro,e.createModifiers=function(P){return P?e.factory.createNodeArray(e.factory.createModifiersFromModifierFlags(P)):void 0},e.isLogicalOperator=function(P){return P===56||P===55||P===53},e.isLogicalOrCoalescingAssignmentOperator=Vc,e.isLogicalOrCoalescingAssignmentExpression=function(P){return Vc(P.operatorToken.kind)},e.isAssignmentOperator=ws,e.tryGetClassExtendingExpressionWithTypeArguments=gc,e.tryGetClassImplementingOrExtendingExpressionWithTypeArguments=Pl,e.isAssignmentExpression=xc,e.isLeftHandSideOfAssignment=function(P){return xc(P.parent)&&P.parent.left===P},e.isDestructuringAssignment=function(P){if(xc(P,!0)){var T1=P.left.kind;return T1===201||T1===200}return!1},e.isExpressionWithTypeArgumentsInClassExtendsClause=Su,e.isEntityNameExpression=hC,e.getFirstIdentifier=function(P){switch(P.kind){case 78:return P;case 158:do P=P.left;while(P.kind!==78);return P;case 202:do P=P.expression;while(P.kind!==78);return P}},e.isDottedName=function P(T1){return T1.kind===78||T1.kind===107||T1.kind===105||T1.kind===227||T1.kind===202&&P(T1.expression)||T1.kind===208&&P(T1.expression)},e.isPropertyAccessEntityNameExpression=_o,e.tryGetPropertyAccessOrIdentifierToString=function P(T1){if(e.isPropertyAccessExpression(T1)){if((De=P(T1.expression))!==void 0)return De+\".\"+G0(T1.name)}else if(e.isElementAccessExpression(T1)){var De;if((De=P(T1.expression))!==void 0&&e.isPropertyName(T1.argumentExpression))return De+\".\"+Us(T1.argumentExpression)}else if(e.isIdentifier(T1))return e.unescapeLeadingUnderscores(T1.escapedText)},e.isPrototypeAccess=ol,e.isRightSideOfQualifiedNameOrPropertyAccess=function(P){return P.parent.kind===158&&P.parent.right===P||P.parent.kind===202&&P.parent.name===P},e.isEmptyObjectLiteral=function(P){return P.kind===201&&P.properties.length===0},e.isEmptyArrayLiteral=function(P){return P.kind===200&&P.elements.length===0},e.getLocalSymbolForExportDefault=function(P){if(function(ei){return ei&&e.length(ei.declarations)>0&&Ef(ei.declarations[0],512)}(P)&&P.declarations)for(var T1=0,De=P.declarations;T1<De.length;T1++){var rr=De[T1];if(rr.localSymbol)return rr.localSymbol}},e.tryExtractTSExtension=function(P){return e.find(e.supportedTSExtensionsForExtractExtension,function(T1){return e.fileExtensionIs(P,T1)})};var Fc=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";function _l(P){for(var T1,De,rr,ei,W=\"\",L0=function(ze){for(var Zr=[],ui=ze.length,Ve=0;Ve<ui;Ve++){var ks=ze.charCodeAt(Ve);ks<128?Zr.push(ks):ks<2048?(Zr.push(ks>>6|192),Zr.push(63&ks|128)):ks<65536?(Zr.push(ks>>12|224),Zr.push(ks>>6&63|128),Zr.push(63&ks|128)):ks<131072?(Zr.push(ks>>18|240),Zr.push(ks>>12&63|128),Zr.push(ks>>6&63|128),Zr.push(63&ks|128)):e.Debug.assert(!1,\"Unexpected code point\")}return Zr}(P),J1=0,ce=L0.length;J1<ce;)T1=L0[J1]>>2,De=(3&L0[J1])<<4|L0[J1+1]>>4,rr=(15&L0[J1+1])<<2|L0[J1+2]>>6,ei=63&L0[J1+2],J1+1>=ce?rr=ei=64:J1+2>=ce&&(ei=64),W+=Fc.charAt(T1)+Fc.charAt(De)+Fc.charAt(rr)+Fc.charAt(ei),J1+=3;return W}e.convertToBase64=_l,e.base64encode=function(P,T1){return P&&P.base64encode?P.base64encode(T1):_l(T1)},e.base64decode=function(P,T1){if(P&&P.base64decode)return P.base64decode(T1);for(var De=T1.length,rr=[],ei=0;ei<De&&T1.charCodeAt(ei)!==Fc.charCodeAt(64);){var W=Fc.indexOf(T1[ei]),L0=Fc.indexOf(T1[ei+1]),J1=Fc.indexOf(T1[ei+2]),ce=Fc.indexOf(T1[ei+3]),ze=(63&W)<<2|L0>>4&3,Zr=(15&L0)<<4|J1>>2&15,ui=(3&J1)<<6|63&ce;Zr===0&&J1!==0?rr.push(ze):ui===0&&ce!==0?rr.push(ze,Zr):rr.push(ze,Zr,ui),ei+=4}return function(Ve){for(var ks=\"\",Sf=0,X6=Ve.length;Sf<X6;){var DS=Ve[Sf];if(DS<128)ks+=String.fromCharCode(DS),Sf++;else if((192&DS)==192){for(var P2=63&DS,qA=Ve[++Sf];(192&qA)==128;)P2=P2<<6|63&qA,qA=Ve[++Sf];ks+=String.fromCharCode(P2)}else ks+=String.fromCharCode(DS),Sf++}return ks}(rr)},e.readJson=function(P,T1){try{var De=T1.readFile(P);if(!De)return{};var rr=e.parseConfigFileTextToJson(P,De);return rr.error?{}:rr.config}catch{return{}}},e.directoryProbablyExists=function(P,T1){return!T1.directoryExists||T1.directoryExists(P)};var uc;function Fl(P,T1){return T1===void 0&&(T1=P),e.Debug.assert(T1>=P||T1===-1),{pos:P,end:T1}}function D6(P,T1){return Fl(T1,P.end)}function R6(P){return P.decorators&&P.decorators.length>0?D6(P,P.decorators.end):P}function nA(P,T1,De){return x4(Al(P,De,!1),T1.end,De)}function x4(P,T1,De){return e.getLinesBetweenPositions(De,P,T1)===0}function Al(P,T1,De){return hd(P.pos)?-1:e.skipTrivia(T1.text,P.pos,!1,De)}function e4(P){return P.initializer!==void 0}function bp(P){return 33554432&P.flags?P.checkFlags:0}function _c(P){var T1=P.parent;if(!T1)return 0;switch(T1.kind){case 208:return _c(T1);case 216:case 215:var De=T1.operator;return De===45||De===46?J1():0;case 217:var rr=T1,ei=rr.left,W=rr.operatorToken;return ei===P&&ws(W.kind)?W.kind===62?1:J1():0;case 202:return T1.name!==P?0:_c(T1);case 289:var L0=_c(T1.parent);return P===T1.name?function(ce){switch(ce){case 0:return 1;case 1:return 0;case 2:return 2;default:return e.Debug.assertNever(ce)}}(L0):L0;case 290:return P===T1.objectAssignmentInitializer?0:_c(T1.parent);case 200:return _c(T1);default:return 0}function J1(){return T1.parent&&function(ce){for(;ce.kind===208;)ce=ce.parent;return ce}(T1.parent).kind===234?1:2}}function Wl(P,T1,De){var rr=De.onDeleteValue,ei=De.onExistingValue;P.forEach(function(W,L0){var J1=T1.get(L0);J1===void 0?(P.delete(L0),rr(W,L0)):ei&&ei(W,J1,L0)})}function Vp(P){var T1;return(T1=P.declarations)===null||T1===void 0?void 0:T1.find(e.isClassLike)}function $f(P){return P.kind===202||P.kind===203}function iA(P){for(;$f(P);)P=P.expression;return P}function t4(P,T1){this.flags=P,this.escapedName=T1,this.declarations=void 0,this.valueDeclaration=void 0,this.id=void 0,this.mergeId=void 0,this.parent=void 0}function Om(P,T1){this.flags=T1,(e.Debug.isDebugging||e.tracing)&&(this.checker=P)}function Md(P,T1){this.flags=T1,e.Debug.isDebugging&&(this.checker=P)}function Dk(P,T1,De){this.pos=T1,this.end=De,this.kind=P,this.id=0,this.flags=0,this.modifierFlagsCache=0,this.transformFlags=0,this.parent=void 0,this.original=void 0}function Cd(P,T1,De){this.pos=T1,this.end=De,this.kind=P,this.id=0,this.flags=0,this.transformFlags=0,this.parent=void 0}function tF(P,T1,De){this.pos=T1,this.end=De,this.kind=P,this.id=0,this.flags=0,this.transformFlags=0,this.parent=void 0,this.original=void 0,this.flowNode=void 0}function dd(P,T1,De){this.fileName=P,this.text=T1,this.skipTrivia=De||function(rr){return rr}}function Rf(P,T1,De){return De===void 0&&(De=0),P.replace(/{(\\d+)}/g,function(rr,ei){return\"\"+e.Debug.checkDefined(T1[+ei+De])})}function ow(P){return e.localizedDiagnosticMessages&&e.localizedDiagnosticMessages[P.key]||P.message}function N2(P){return P.file===void 0&&P.start!==void 0&&P.length!==void 0&&typeof P.fileName==\"string\"}function hm(P,T1){var De=T1.fileName||\"\",rr=T1.text.length;e.Debug.assertEqual(P.fileName,De),e.Debug.assertLessThanOrEqual(P.start,rr),e.Debug.assertLessThanOrEqual(P.start+P.length,rr);var ei={file:T1,start:P.start,length:P.length,messageText:P.messageText,category:P.category,code:P.code,reportsUnnecessary:P.reportsUnnecessary};if(P.relatedInformation){ei.relatedInformation=[];for(var W=0,L0=P.relatedInformation;W<L0.length;W++){var J1=L0[W];N2(J1)&&J1.fileName===De?(e.Debug.assertLessThanOrEqual(J1.start,rr),e.Debug.assertLessThanOrEqual(J1.start+J1.length,rr),ei.relatedInformation.push(hm(J1,T1))):ei.relatedInformation.push(J1)}}return ei}function Bm(P,T1,De,rr){h1(P,T1,De);var ei=ow(rr);return arguments.length>4&&(ei=Rf(ei,arguments,4)),{file:P,start:T1,length:De,messageText:ei,category:rr.category,code:rr.code,reportsUnnecessary:rr.reportsUnnecessary,reportsDeprecated:rr.reportsDeprecated}}function kT(P){var T1=ow(P);return arguments.length>1&&(T1=Rf(T1,arguments,1)),{file:void 0,start:void 0,length:void 0,messageText:T1,category:P.category,code:P.code,reportsUnnecessary:P.reportsUnnecessary,reportsDeprecated:P.reportsDeprecated}}function Jf(P){return P.file?P.file.path:void 0}function Qd(P,T1){return $S(P,T1)||function(De,rr){return!De.relatedInformation&&!rr.relatedInformation?0:De.relatedInformation&&rr.relatedInformation?e.compareValues(De.relatedInformation.length,rr.relatedInformation.length)||e.forEach(De.relatedInformation,function(ei,W){return Qd(ei,rr.relatedInformation[W])})||0:De.relatedInformation?-1:1}(P,T1)||0}function $S(P,T1){return e.compareStringsCaseSensitive(Jf(P),Jf(T1))||e.compareValues(P.start,T1.start)||e.compareValues(P.length,T1.length)||e.compareValues(P.code,T1.code)||Pf(P.messageText,T1.messageText)||0}function Pf(P,T1){if(typeof P==\"string\"&&typeof T1==\"string\")return e.compareStringsCaseSensitive(P,T1);if(typeof P==\"string\")return-1;if(typeof T1==\"string\")return 1;var De=e.compareStringsCaseSensitive(P.messageText,T1.messageText);if(De)return De;if(!P.next&&!T1.next)return 0;if(!P.next)return-1;if(!T1.next)return 1;for(var rr=Math.min(P.next.length,T1.next.length),ei=0;ei<rr;ei++)if(De=Pf(P.next[ei],T1.next[ei]))return De;return P.next.length<T1.next.length?-1:P.next.length>T1.next.length?1:0}function LF(P){return P.target||0}function Ku(P){return typeof P.module==\"number\"?P.module:LF(P)>=2?e.ModuleKind.ES2015:e.ModuleKind.CommonJS}function Qw(P){return!(!P.declaration&&!P.composite)}function Rd(P,T1){return P[T1]===void 0?!!P.strict:!!P[T1]}function we(P){return P.allowJs===void 0?!!P.checkJs:P.allowJs}function it(P,T1){return T1.strictFlag?Rd(P,T1.name):P[T1.name]}function Ln(P){for(var T1=!1,De=0;De<P.length;De++)if(P.charCodeAt(De)===42){if(T1)return!1;T1=!0}return!0}function Xn(P,T1){var De,rr,ei;return{getSymlinkedFiles:function(){return ei},getSymlinkedDirectories:function(){return De},getSymlinkedDirectoriesByRealpath:function(){return rr},setSymlinkedFile:function(W,L0){return(ei||(ei=new e.Map)).set(W,L0)},setSymlinkedDirectory:function(W,L0){var J1=e.toPath(W,P,T1);Ik(J1)||(J1=e.ensureTrailingDirectorySeparator(J1),L0===!1||(De==null?void 0:De.has(J1))||(rr||(rr=e.createMultiMap())).add(e.ensureTrailingDirectorySeparator(L0.realPath),W),(De||(De=new e.Map)).set(J1,L0))},setSymlinkedDirectoryFromSymlinkedFile:function(W,L0){this.setSymlinkedFile(e.toPath(W,P,T1),L0);var J1=La(L0,W,P,T1)||e.emptyArray,ce=J1[0],ze=J1[1];ce&&ze&&this.setSymlinkedDirectory(ze,{real:ce,realPath:e.toPath(ce,P,T1)})}}}function La(P,T1,De,rr){for(var ei=e.getPathComponents(e.getNormalizedAbsolutePath(P,De)),W=e.getPathComponents(e.getNormalizedAbsolutePath(T1,De)),L0=!1;!qa(ei[ei.length-2],rr)&&!qa(W[W.length-2],rr)&&rr(ei[ei.length-1])===rr(W[W.length-1]);)ei.pop(),W.pop(),L0=!0;return L0?[e.getPathFromPathComponents(ei),e.getPathFromPathComponents(W)]:void 0}function qa(P,T1){return T1(P)===\"node_modules\"||e.startsWith(P,\"@\")}e.getNewLineCharacter=function(P,T1){switch(P.newLine){case 0:return`\\r\n`;case 1:return`\n`}return T1?T1():e.sys?e.sys.newLine:`\\r\n`},e.createRange=Fl,e.moveRangeEnd=function(P,T1){return Fl(P.pos,T1)},e.moveRangePos=D6,e.moveRangePastDecorators=R6,e.moveRangePastModifiers=function(P){return P.modifiers&&P.modifiers.length>0?D6(P,P.modifiers.end):R6(P)},e.isCollapsedRange=function(P){return P.pos===P.end},e.createTokenRange=function(P,T1){return Fl(P,P+e.tokenToString(T1).length)},e.rangeIsOnSingleLine=function(P,T1){return nA(P,P,T1)},e.rangeStartPositionsAreOnSameLine=function(P,T1,De){return x4(Al(P,De,!1),Al(T1,De,!1),De)},e.rangeEndPositionsAreOnSameLine=function(P,T1,De){return x4(P.end,T1.end,De)},e.rangeStartIsOnSameLineAsRangeEnd=nA,e.rangeEndIsOnSameLineAsRangeStart=function(P,T1,De){return x4(P.end,Al(T1,De,!1),De)},e.getLinesBetweenRangeEndAndRangeStart=function(P,T1,De,rr){var ei=Al(T1,De,rr);return e.getLinesBetweenPositions(De,P.end,ei)},e.getLinesBetweenRangeEndPositions=function(P,T1,De){return e.getLinesBetweenPositions(De,P.end,T1.end)},e.isNodeArrayMultiLine=function(P,T1){return!x4(P.pos,P.end,T1)},e.positionsAreOnSameLine=x4,e.getStartPositionOfRange=Al,e.getLinesBetweenPositionAndPrecedingNonWhitespaceCharacter=function(P,T1,De,rr){var ei=e.skipTrivia(De.text,P,!1,rr),W=function(L0,J1,ce){for(J1===void 0&&(J1=0);L0-- >J1;)if(!e.isWhiteSpaceLike(ce.text.charCodeAt(L0)))return L0}(ei,T1,De);return e.getLinesBetweenPositions(De,W!=null?W:T1,ei)},e.getLinesBetweenPositionAndNextNonWhitespaceCharacter=function(P,T1,De,rr){var ei=e.skipTrivia(De.text,P,!1,rr);return e.getLinesBetweenPositions(De,P,Math.min(T1,ei))},e.isDeclarationNameOfEnumOrNamespace=function(P){var T1=e.getParseTreeNode(P);if(T1)switch(T1.parent.kind){case 256:case 257:return T1===T1.parent.name}return!1},e.getInitializedVariables=function(P){return e.filter(P.declarations,e4)},e.isWatchSet=function(P){return P.watch&&P.hasOwnProperty(\"watch\")},e.closeFileWatcher=function(P){P.close()},e.getCheckFlags=bp,e.getDeclarationModifierFlagsFromSymbol=function(P,T1){if(T1===void 0&&(T1=!1),P.valueDeclaration){var De=T1&&P.declarations&&e.find(P.declarations,function(W){return W.kind===169})||P.valueDeclaration,rr=e.getCombinedModifierFlags(De);return P.parent&&32&P.parent.flags?rr:-29&rr}if(6&bp(P)){var ei=P.checkFlags;return(1024&ei?8:256&ei?4:16)|(2048&ei?32:0)}return 4194304&P.flags?36:0},e.skipAlias=function(P,T1){return 2097152&P.flags?T1.getAliasedSymbol(P):P},e.getCombinedLocalAndExportSymbolFlags=function(P){return P.exportSymbol?P.exportSymbol.flags|P.flags:P.flags},e.isWriteOnlyAccess=function(P){return _c(P)===1},e.isWriteAccess=function(P){return _c(P)!==0},function(P){P[P.Read=0]=\"Read\",P[P.Write=1]=\"Write\",P[P.ReadWrite=2]=\"ReadWrite\"}(uc||(uc={})),e.compareDataObjects=function P(T1,De){if(!T1||!De||Object.keys(T1).length!==Object.keys(De).length)return!1;for(var rr in T1)if(typeof T1[rr]==\"object\"){if(!P(T1[rr],De[rr]))return!1}else if(typeof T1[rr]!=\"function\"&&T1[rr]!==De[rr])return!1;return!0},e.clearMap=function(P,T1){P.forEach(T1),P.clear()},e.mutateMapSkippingNewValues=Wl,e.mutateMap=function(P,T1,De){Wl(P,T1,De);var rr=De.createNewValue;T1.forEach(function(ei,W){P.has(W)||P.set(W,rr(W,ei))})},e.isAbstractConstructorSymbol=function(P){if(32&P.flags){var T1=Vp(P);return!!T1&&Ef(T1,128)}return!1},e.getClassLikeDeclarationOfSymbol=Vp,e.getObjectFlags=function(P){return 3899393&P.flags?P.objectFlags:0},e.typeHasCallOrConstructSignatures=function(P,T1){return T1.getSignaturesOfType(P,0).length!==0||T1.getSignaturesOfType(P,1).length!==0},e.forSomeAncestorDirectory=function(P,T1){return!!e.forEachAncestorDirectory(P,function(De){return!!T1(De)||void 0})},e.isUMDExportSymbol=function(P){return!!P&&!!P.declarations&&!!P.declarations[0]&&e.isNamespaceExportDeclaration(P.declarations[0])},e.showModuleSpecifier=function(P){var T1=P.moduleSpecifier;return e.isStringLiteral(T1)?T1.text:d0(T1)},e.getLastChild=function(P){var T1;return e.forEachChild(P,function(De){Z(De)&&(T1=De)},function(De){for(var rr=De.length-1;rr>=0;rr--)if(Z(De[rr])){T1=De[rr];break}}),T1},e.addToSeen=function(P,T1,De){return De===void 0&&(De=!0),!P.has(T1)&&(P.set(T1,De),!0)},e.isObjectTypeDeclaration=function(P){return e.isClassLike(P)||e.isInterfaceDeclaration(P)||e.isTypeLiteralNode(P)},e.isTypeNodeKind=function(P){return P>=173&&P<=196||P===128||P===152||P===144||P===155||P===145||P===131||P===147||P===148||P===113||P===150||P===141||P===224||P===304||P===305||P===306||P===307||P===308||P===309||P===310},e.isAccessExpression=$f,e.getNameOfAccessExpression=function(P){return P.kind===202?P.name:(e.Debug.assert(P.kind===203),P.argumentExpression)},e.isBundleFileTextLike=function(P){switch(P.kind){case\"text\":case\"internal\":return!0;default:return!1}},e.isNamedImportsOrExports=function(P){return P.kind===265||P.kind===269},e.getLeftmostAccessExpression=iA,e.getLeftmostExpression=function(P,T1){for(;;){switch(P.kind){case 216:P=P.operand;continue;case 217:P=P.left;continue;case 218:P=P.condition;continue;case 206:P=P.tag;continue;case 204:if(T1)return P;case 225:case 203:case 202:case 226:case 340:P=P.expression;continue}return P}},e.objectAllocator={getNodeConstructor:function(){return Dk},getTokenConstructor:function(){return Cd},getIdentifierConstructor:function(){return tF},getPrivateIdentifierConstructor:function(){return Dk},getSourceFileConstructor:function(){return Dk},getSymbolConstructor:function(){return t4},getTypeConstructor:function(){return Om},getSignatureConstructor:function(){return Md},getSourceMapSourceConstructor:function(){return dd}},e.setObjectAllocator=function(P){e.objectAllocator=P},e.formatStringFromArgs=Rf,e.setLocalizedDiagnosticMessages=function(P){e.localizedDiagnosticMessages=P},e.getLocaleSpecificMessage=ow,e.createDetachedDiagnostic=function(P,T1,De,rr){h1(void 0,T1,De);var ei=ow(rr);return arguments.length>4&&(ei=Rf(ei,arguments,4)),{file:void 0,start:T1,length:De,messageText:ei,category:rr.category,code:rr.code,reportsUnnecessary:rr.reportsUnnecessary,fileName:P}},e.attachFileToDiagnostics=function(P,T1){for(var De=[],rr=0,ei=P;rr<ei.length;rr++){var W=ei[rr];De.push(hm(W,T1))}return De},e.createFileDiagnostic=Bm,e.formatMessage=function(P,T1){var De=ow(T1);return arguments.length>2&&(De=Rf(De,arguments,2)),De},e.createCompilerDiagnostic=kT,e.createCompilerDiagnosticFromMessageChain=function(P,T1){return{file:void 0,start:void 0,length:void 0,code:P.code,category:P.category,messageText:P.next?P:P.messageText,relatedInformation:T1}},e.chainDiagnosticMessages=function(P,T1){var De=ow(T1);return arguments.length>2&&(De=Rf(De,arguments,2)),{messageText:De,category:T1.category,code:T1.code,next:P===void 0||Array.isArray(P)?P:[P]}},e.concatenateDiagnosticMessageChains=function(P,T1){for(var De=P;De.next;)De=De.next[0];De.next=[T1]},e.compareDiagnostics=Qd,e.compareDiagnosticsSkipRelatedInformation=$S,e.getLanguageVariant=function(P){return P===4||P===2||P===1||P===6?1:0},e.getEmitScriptTarget=LF,e.getEmitModuleKind=Ku,e.getEmitModuleResolutionKind=function(P){var T1=P.moduleResolution;return T1===void 0&&(T1=Ku(P)===e.ModuleKind.CommonJS?e.ModuleResolutionKind.NodeJs:e.ModuleResolutionKind.Classic),T1},e.hasJsonModuleEmitEnabled=function(P){switch(Ku(P)){case e.ModuleKind.CommonJS:case e.ModuleKind.AMD:case e.ModuleKind.ES2015:case e.ModuleKind.ES2020:case e.ModuleKind.ESNext:return!0;default:return!1}},e.unreachableCodeIsError=function(P){return P.allowUnreachableCode===!1},e.unusedLabelIsError=function(P){return P.allowUnusedLabels===!1},e.getAreDeclarationMapsEnabled=function(P){return!(!Qw(P)||!P.declarationMap)},e.getAllowSyntheticDefaultImports=function(P){var T1=Ku(P);return P.allowSyntheticDefaultImports!==void 0?P.allowSyntheticDefaultImports:P.esModuleInterop||T1===e.ModuleKind.System},e.getEmitDeclarations=Qw,e.shouldPreserveConstEnums=function(P){return!(!P.preserveConstEnums&&!P.isolatedModules)},e.isIncrementalCompilation=function(P){return!(!P.incremental&&!P.composite)},e.getStrictOptionValue=Rd,e.getAllowJSCompilerOption=we,e.getUseDefineForClassFields=function(P){return P.useDefineForClassFields===void 0?P.target===99:P.useDefineForClassFields},e.compilerOptionsAffectSemanticDiagnostics=function(P,T1){return T1!==P&&e.semanticDiagnosticsOptionDeclarations.some(function(De){return!q5(it(T1,De),it(P,De))})},e.compilerOptionsAffectEmit=function(P,T1){return T1!==P&&e.affectsEmitOptionDeclarations.some(function(De){return!q5(it(T1,De),it(P,De))})},e.getCompilerOptionValue=it,e.getJSXTransformEnabled=function(P){var T1=P.jsx;return T1===2||T1===4||T1===5},e.getJSXImplicitImportBase=function(P,T1){var De=T1==null?void 0:T1.pragmas.get(\"jsximportsource\"),rr=e.isArray(De)?De[De.length-1]:De;return P.jsx===4||P.jsx===5||P.jsxImportSource||rr?(rr==null?void 0:rr.arguments.factory)||P.jsxImportSource||\"react\":void 0},e.getJSXRuntimeImport=function(P,T1){return P?P+\"/\"+(T1.jsx===5?\"jsx-dev-runtime\":\"jsx-runtime\"):void 0},e.hasZeroOrOneAsteriskCharacter=Ln,e.createSymlinkCache=Xn,e.discoverProbableSymlinks=function(P,T1,De){for(var rr=Xn(De,T1),ei=0,W=e.flatMap(P,function(Ve){var ks=Ve.resolvedModules&&e.arrayFrom(e.mapDefinedIterator(Ve.resolvedModules.values(),function(Sf){return(Sf==null?void 0:Sf.originalPath)?[Sf.resolvedFileName,Sf.originalPath]:void 0}));return e.concatenate(ks,Ve.resolvedTypeReferenceDirectiveNames&&e.arrayFrom(e.mapDefinedIterator(Ve.resolvedTypeReferenceDirectiveNames.values(),function(Sf){return(Sf==null?void 0:Sf.originalPath)&&Sf.resolvedFileName?[Sf.resolvedFileName,Sf.originalPath]:void 0})))});ei<W.length;ei++){var L0=W[ei],J1=L0[0],ce=L0[1];rr.setSymlinkedFile(e.toPath(ce,De,T1),J1);var ze=La(J1,ce,De,T1)||e.emptyArray,Zr=ze[0],ui=ze[1];Zr&&ui&&rr.setSymlinkedDirectory(ui,{real:Zr,realPath:e.toPath(Zr,De,T1)})}return rr},e.tryRemoveDirectoryPrefix=function(P,T1,De){var rr=e.tryRemovePrefix(P,T1,De);return rr===void 0?void 0:function(ei){return e.isAnyDirectorySeparator(ei.charCodeAt(0))?ei.slice(1):void 0}(rr)};var Hc=/[^\\w\\s\\/]/g;function bx(P){return\"\\\\\"+P}e.regExpEscape=function(P){return P.replace(Hc,bx)};var Wa=[42,63];e.commonPackageFolders=[\"node_modules\",\"bower_components\",\"jspm_packages\"];var rs=\"(?!(\"+e.commonPackageFolders.join(\"|\")+\")(/|$))\",ht={singleAsteriskRegexFragment:\"([^./]|(\\\\.(?!min\\\\.js$))?)*\",doubleAsteriskRegexFragment:\"(/\"+rs+\"[^/.][^/]*)*?\",replaceWildcardCharacter:function(P){return Cp(P,ht.singleAsteriskRegexFragment)}},Mu={singleAsteriskRegexFragment:\"[^/]*\",doubleAsteriskRegexFragment:\"(/\"+rs+\"[^/.][^/]*)*?\",replaceWildcardCharacter:function(P){return Cp(P,Mu.singleAsteriskRegexFragment)}},Gc={singleAsteriskRegexFragment:\"[^/]*\",doubleAsteriskRegexFragment:\"(/.+?)?\",replaceWildcardCharacter:function(P){return Cp(P,Gc.singleAsteriskRegexFragment)}},Ab={files:ht,directories:Mu,exclude:Gc};function jf(P,T1,De){var rr=lp(P,T1,De);if(rr&&rr.length)return\"^(\"+rr.map(function(ei){return\"(\"+ei+\")\"}).join(\"|\")+\")\"+(De===\"exclude\"?\"($|/)\":\"$\")}function lp(P,T1,De){if(P!==void 0&&P.length!==0)return e.flatMap(P,function(rr){return rr&&np(rr,T1,De,Ab[De])})}function f2(P){return!/[.*?]/.test(P)}function np(P,T1,De,rr){var ei=rr.singleAsteriskRegexFragment,W=rr.doubleAsteriskRegexFragment,L0=rr.replaceWildcardCharacter,J1=\"\",ce=!1,ze=e.getNormalizedPathComponents(P,T1),Zr=e.last(ze);if(De===\"exclude\"||Zr!==\"**\"){ze[0]=e.removeTrailingDirectorySeparator(ze[0]),f2(Zr)&&ze.push(\"**\",\"*\");for(var ui=0,Ve=0,ks=ze;Ve<ks.length;Ve++){var Sf=ks[Ve];if(Sf===\"**\")J1+=W;else if(De===\"directories\"&&(J1+=\"(\",ui++),ce&&(J1+=e.directorySeparator),De!==\"exclude\"){var X6=\"\";Sf.charCodeAt(0)===42?(X6+=\"([^./]\"+ei+\")?\",Sf=Sf.substr(1)):Sf.charCodeAt(0)===63&&(X6+=\"[^./]\",Sf=Sf.substr(1)),(X6+=Sf.replace(Hc,L0))!==Sf&&(J1+=rs),J1+=X6}else J1+=Sf.replace(Hc,L0);ce=!0}for(;ui>0;)J1+=\")?\",ui--;return J1}}function Cp(P,T1){return P===\"*\"?T1:P===\"?\"?\"[^/]\":\"\\\\\"+P}function ip(P,T1,De,rr,ei){P=e.normalizePath(P),ei=e.normalizePath(ei);var W=e.combinePaths(ei,P);return{includeFilePatterns:e.map(lp(De,W,\"files\"),function(L0){return\"^\"+L0+\"$\"}),includeFilePattern:jf(De,W,\"files\"),includeDirectoryPattern:jf(De,W,\"directories\"),excludePattern:jf(T1,W,\"exclude\"),basePaths:xd(P,De,rr)}}function fp(P,T1){return new RegExp(P,T1?\"\":\"i\")}function xd(P,T1,De){var rr=[P];if(T1){for(var ei=[],W=0,L0=T1;W<L0.length;W++){var J1=L0[W],ce=e.isRootedDiskPath(J1)?J1:e.normalizePath(e.combinePaths(P,J1));ei.push(l5(ce))}ei.sort(e.getStringComparer(!De));for(var ze=function(Ve){e.every(rr,function(ks){return!e.containsPath(ks,Ve,P,!De)})&&rr.push(Ve)},Zr=0,ui=ei;Zr<ui.length;Zr++)ze(ui[Zr])}return rr}function l5(P){var T1=e.indexOfAnyCharCode(P,Wa);return T1<0?e.hasExtension(P)?e.removeTrailingDirectorySeparator(e.getDirectoryPath(P)):P:P.substring(0,P.lastIndexOf(e.directorySeparator,T1))}function pp(P){switch(P.substr(P.lastIndexOf(\".\")).toLowerCase()){case\".js\":return 1;case\".jsx\":return 2;case\".ts\":return 3;case\".tsx\":return 4;case\".json\":return 6;default:return 0}}e.getRegularExpressionForWildcard=jf,e.getRegularExpressionsForWildcards=lp,e.isImplicitGlob=f2,e.getPatternFromSpec=function(P,T1,De){var rr=P&&np(P,T1,De,Ab[De]);return rr&&\"^(\"+rr+\")\"+(De===\"exclude\"?\"($|/)\":\"$\")},e.getFileMatcherPatterns=ip,e.getRegexFromPattern=fp,e.matchFiles=function(P,T1,De,rr,ei,W,L0,J1,ce){P=e.normalizePath(P),W=e.normalizePath(W);for(var ze=ip(P,De,rr,ei,W),Zr=ze.includeFilePatterns&&ze.includeFilePatterns.map(function(gd){return fp(gd,ei)}),ui=ze.includeDirectoryPattern&&fp(ze.includeDirectoryPattern,ei),Ve=ze.excludePattern&&fp(ze.excludePattern,ei),ks=Zr?Zr.map(function(){return[]}):[[]],Sf=new e.Map,X6=e.createGetCanonicalFileName(ei),DS=0,P2=ze.basePaths;DS<P2.length;DS++){var qA=P2[DS];nl(qA,e.combinePaths(W,qA),L0)}return e.flatten(ks);function nl(gd,f5,p2){var D_=X6(ce(f5));if(!Sf.has(D_)){Sf.set(D_,!0);for(var GP=J1(gd),jd=GP.files,vh=GP.directories,zm=function(Xc){var ms=e.combinePaths(gd,Xc),I2=e.combinePaths(f5,Xc);if(T1&&!e.fileExtensionIsOneOf(ms,T1)||Ve&&Ve.test(I2))return\"continue\";if(Zr){var ug=e.findIndex(Zr,function(cg){return cg.test(I2)});ug!==-1&&ks[ug].push(ms)}else ks[0].push(ms)},Zw=0,v_=e.sort(jd,e.compareStringsCaseSensitive);Zw<v_.length;Zw++)zm(Wm=v_[Zw]);if(p2===void 0||--p2!=0)for(var bh=0,Sw=e.sort(vh,e.compareStringsCaseSensitive);bh<Sw.length;bh++){var Wm=Sw[bh],MI=e.combinePaths(gd,Wm),zh=e.combinePaths(f5,Wm);ui&&!ui.test(zh)||Ve&&Ve.test(zh)||nl(MI,zh,p2)}}}},e.ensureScriptKind=function(P,T1){return T1||pp(P)||3},e.getScriptKindFromFileName=pp,e.supportedTSExtensions=[\".ts\",\".tsx\",\".d.ts\"],e.supportedTSExtensionsWithJson=[\".ts\",\".tsx\",\".d.ts\",\".json\"],e.supportedTSExtensionsForExtractExtension=[\".d.ts\",\".ts\",\".tsx\"],e.supportedJSExtensions=[\".js\",\".jsx\"],e.supportedJSAndJsonExtensions=[\".js\",\".jsx\",\".json\"];var Pp,Zo=D(D([],e.supportedTSExtensions),e.supportedJSExtensions),Fo=D(D(D([],e.supportedTSExtensions),e.supportedJSExtensions),[\".json\"]);function pT(P,T1){var De=P&&we(P);if(!T1||T1.length===0)return De?Zo:e.supportedTSExtensions;var rr=D(D([],De?Zo:e.supportedTSExtensions),e.mapDefined(T1,function(ei){return ei.scriptKind===7||De&&((W=ei.scriptKind)===1||W===2)?ei.extension:void 0;var W}));return e.deduplicate(rr,e.equateStringsCaseSensitive,e.compareStringsCaseSensitive)}function ed(P,T1){return P&&P.resolveJsonModule?T1===Zo?Fo:T1===e.supportedTSExtensions?e.supportedTSExtensionsWithJson:D(D([],T1),[\".json\"]):T1}function ah(P){var T1=P.match(/\\//g);return T1?T1.length:0}function Kh(P,T1){return P<2?0:P<T1.length?2:T1.length}e.getSupportedExtensions=pT,e.getSuppoertedExtensionsWithJsonIfResolveJsonModule=ed,e.hasJSFileExtension=function(P){return e.some(e.supportedJSExtensions,function(T1){return e.fileExtensionIs(P,T1)})},e.hasTSFileExtension=function(P){return e.some(e.supportedTSExtensions,function(T1){return e.fileExtensionIs(P,T1)})},e.isSupportedSourceFileName=function(P,T1,De){if(!P)return!1;for(var rr=0,ei=ed(T1,pT(T1,De));rr<ei.length;rr++){var W=ei[rr];if(e.fileExtensionIs(P,W))return!0}return!1},e.compareNumberOfDirectorySeparators=function(P,T1){return e.compareValues(ah(P),ah(T1))},(Pp=e.ExtensionPriority||(e.ExtensionPriority={}))[Pp.TypeScriptFiles=0]=\"TypeScriptFiles\",Pp[Pp.DeclarationAndJavaScriptFiles=2]=\"DeclarationAndJavaScriptFiles\",Pp[Pp.Highest=0]=\"Highest\",Pp[Pp.Lowest=2]=\"Lowest\",e.getExtensionPriority=function(P,T1){for(var De=T1.length-1;De>=0;De--)if(e.fileExtensionIs(P,T1[De]))return Kh(De,T1);return 0},e.adjustExtensionPriority=Kh,e.getNextLowestExtensionPriority=function(P,T1){return P<2?2:T1.length};var j6=[\".d.ts\",\".ts\",\".js\",\".tsx\",\".jsx\",\".json\"];function Jo(P){for(var T1=0,De=j6;T1<De.length;T1++){var rr=aN(P,De[T1]);if(rr!==void 0)return rr}return P}function aN(P,T1){return e.fileExtensionIs(P,T1)?X2(P,T1):void 0}function X2(P,T1){return P.substring(0,P.length-T1.length)}function md(P){e.Debug.assert(Ln(P));var T1=P.indexOf(\"*\");return T1===-1?void 0:{prefix:P.substr(0,T1),suffix:P.substr(T1+1)}}function hd(P){return!(P>=0)}function Pk(P){return P===\".ts\"||P===\".tsx\"||P===\".d.ts\"}function oh(P){return e.find(j6,function(T1){return e.fileExtensionIs(P,T1)})}function q5(P,T1){return P===T1||typeof P==\"object\"&&P!==null&&typeof T1==\"object\"&&T1!==null&&e.equalOwnProperties(P,T1,q5)}function M9(P,T1){return P.pos=T1,P}function HP(P,T1){return P.end=T1,P}function Hf(P,T1,De){return HP(M9(P,T1),De)}function gm(P,T1){return P&&T1&&(P.parent=T1),P}function dP(P){return!e.isOmittedExpression(P)}function Ik(P){return e.some(e.ignoredPaths,function(T1){return e.stringContains(P,T1)})}e.removeFileExtension=Jo,e.tryRemoveExtension=aN,e.removeExtension=X2,e.changeExtension=function(P,T1){return e.changeAnyExtension(P,T1,j6,!1)},e.tryParsePattern=md,e.positionIsSynthesized=hd,e.extensionIsTS=Pk,e.resolutionExtensionIsTSOrJson=function(P){return Pk(P)||P===\".json\"},e.extensionFromPath=function(P){var T1=oh(P);return T1!==void 0?T1:e.Debug.fail(\"File \"+P+\" has unknown extension.\")},e.isAnySupportedFileExtension=function(P){return oh(P)!==void 0},e.tryGetExtensionFromPath=oh,e.isCheckJsEnabledForFile=function(P,T1){return P.checkJsDirective?P.checkJsDirective.enabled:T1.checkJs},e.emptyFileSystemEntries={files:e.emptyArray,directories:e.emptyArray},e.matchPatternOrExact=function(P,T1){for(var De=[],rr=0,ei=P;rr<ei.length;rr++){var W=ei[rr];if(Ln(W)){var L0=md(W);if(L0)De.push(L0);else if(W===T1)return W}}return e.findBestPatternMatch(De,function(J1){return J1},T1)},e.sliceAfter=function(P,T1){var De=P.indexOf(T1);return e.Debug.assert(De!==-1),P.slice(De)},e.addRelatedInfo=function(P){for(var T1,De=[],rr=1;rr<arguments.length;rr++)De[rr-1]=arguments[rr];return De.length&&(P.relatedInformation||(P.relatedInformation=[]),e.Debug.assert(P.relatedInformation!==e.emptyArray,\"Diagnostic had empty array singleton for related info, but is still being constructed!\"),(T1=P.relatedInformation).push.apply(T1,De)),P},e.minAndMax=function(P,T1){e.Debug.assert(P.length!==0);for(var De=T1(P[0]),rr=De,ei=1;ei<P.length;ei++){var W=T1(P[ei]);W<De?De=W:W>rr&&(rr=W)}return{min:De,max:rr}},e.rangeOfNode=function(P){return{pos:u0(P),end:P.end}},e.rangeOfTypeParameters=function(P,T1){return{pos:T1.pos-1,end:e.skipTrivia(P.text,T1.end)+1}},e.skipTypeChecking=function(P,T1,De){return T1.skipLibCheck&&P.isDeclarationFile||T1.skipDefaultLibCheck&&P.hasNoDefaultLib||De.isSourceOfProjectReferenceRedirect(P.fileName)},e.isJsonEqual=q5,e.parsePseudoBigInt=function(P){var T1;switch(P.charCodeAt(1)){case 98:case 66:T1=1;break;case 111:case 79:T1=3;break;case 120:case 88:T1=4;break;default:for(var De=P.length-1,rr=0;P.charCodeAt(rr)===48;)rr++;return P.slice(rr,De)||\"0\"}for(var ei=P.length-1,W=(ei-2)*T1,L0=new Uint16Array((W>>>4)+(15&W?1:0)),J1=ei-1,ce=0;J1>=2;J1--,ce+=T1){var ze=ce>>>4,Zr=P.charCodeAt(J1),ui=(Zr<=57?Zr-48:10+Zr-(Zr<=70?65:97))<<(15&ce);L0[ze]|=ui;var Ve=ui>>>16;Ve&&(L0[ze+1]|=Ve)}for(var ks=\"\",Sf=L0.length-1,X6=!0;X6;){var DS=0;for(X6=!1,ze=Sf;ze>=0;ze--){var P2=DS<<16|L0[ze],qA=P2/10|0;L0[ze]=qA,DS=P2-10*qA,qA&&!X6&&(Sf=ze,X6=!0)}ks=DS+ks}return ks},e.pseudoBigIntToString=function(P){var T1=P.negative,De=P.base10Value;return(T1&&De!==\"0\"?\"-\":\"\")+De},e.isValidTypeOnlyAliasUseSite=function(P){return!!(8388608&P.flags)||Re(P)||function(T1){if(T1.kind!==78)return!1;var De=e.findAncestor(T1.parent,function(rr){switch(rr.kind){case 287:return!0;case 202:case 224:return!1;default:return\"quit\"}});return(De==null?void 0:De.token)===116||(De==null?void 0:De.parent.kind)===254}(P)||function(T1){for(;T1.kind===78||T1.kind===202;)T1=T1.parent;if(T1.kind!==159)return!1;if(Ef(T1.parent,128))return!0;var De=T1.parent.parent.kind;return De===254||De===178}(P)||!Px(P)},e.typeOnlyDeclarationIsExport=function(P){return P.kind===271},e.isIdentifierTypeReference=function(P){return e.isTypeReferenceNode(P)&&e.isIdentifier(P.typeName)},e.arrayIsHomogeneous=function(P,T1){if(T1===void 0&&(T1=e.equateValues),P.length<2)return!0;for(var De=P[0],rr=1,ei=P.length;rr<ei;rr++)if(!T1(De,P[rr]))return!1;return!0},e.setTextRangePos=M9,e.setTextRangeEnd=HP,e.setTextRangePosEnd=Hf,e.setTextRangePosWidth=function(P,T1,De){return Hf(P,T1,T1+De)},e.setNodeFlags=function(P,T1){return P&&(P.flags=T1),P},e.setParent=gm,e.setEachParent=function(P,T1){if(P)for(var De=0,rr=P;De<rr.length;De++)gm(rr[De],T1);return P},e.setParentRecursive=function(P,T1){return P&&(e.forEachChildRecursively(P,e.isJSDocNode(P)?De:function(rr,ei){return De(rr,ei)||function(W){if(e.hasJSDocNodes(W))for(var L0=0,J1=W.jsDoc;L0<J1.length;L0++){var ce=J1[L0];De(ce,W),e.forEachChildRecursively(ce,De)}}(rr)}),P);function De(rr,ei){if(T1&&rr.parent===ei)return\"skip\";gm(rr,ei)}},e.isPackedArrayLiteral=function(P){return e.isArrayLiteralExpression(P)&&e.every(P.elements,dP)},e.expressionResultIsUnused=function(P){for(e.Debug.assertIsDefined(P.parent);;){var T1=P.parent;if(e.isParenthesizedExpression(T1))P=T1;else{if(e.isExpressionStatement(T1)||e.isVoidExpression(T1)||e.isForStatement(T1)&&(T1.initializer===P||T1.incrementor===P))return!0;if(e.isCommaListExpression(T1)){if(P!==e.last(T1.elements))return!0;P=T1}else{if(!e.isBinaryExpression(T1)||T1.operatorToken.kind!==27)return!1;if(P===T1.left)return!0;P=T1}}}},e.containsIgnoredPath=Ik,e.getContainingNodeArray=function(P){if(P.parent){switch(P.kind){case 160:var T1=P.parent;return T1.kind===186?void 0:T1.typeParameters;case 161:return P.parent.parameters;case 195:case 229:return P.parent.templateSpans;case 162:return P.parent.decorators;case 287:return P.parent.heritageClauses}var De=P.parent;if(e.isJSDocTag(P))return e.isJSDocTypeLiteral(P.parent)?void 0:P.parent.tags;switch(De.kind){case 178:case 254:return e.isTypeElement(P)?De.members:void 0;case 183:case 184:return De.types;case 180:case 200:case 341:case 265:case 269:return De.elements;case 201:case 282:return De.properties;case 204:case 205:return e.isTypeNode(P)?De.typeArguments:De.expression===P?void 0:De.arguments;case 274:case 278:return e.isJsxChild(P)?De.children:void 0;case 276:case 275:return e.isTypeNode(P)?De.typeArguments:void 0;case 231:case 285:case 286:case 258:return De.statements;case 259:return De.clauses;case 253:case 222:return e.isClassElement(P)?De.members:void 0;case 256:return e.isEnumMember(P)?De.members:void 0;case 298:return De.statements}}}}(_0||(_0={})),function(e){e.createBaseNodeFactory=function(){var s,X,J,m0,s1;return{createBaseSourceFileNode:function(i0){return new(s1||(s1=e.objectAllocator.getSourceFileConstructor()))(i0,-1,-1)},createBaseIdentifierNode:function(i0){return new(J||(J=e.objectAllocator.getIdentifierConstructor()))(i0,-1,-1)},createBasePrivateIdentifierNode:function(i0){return new(m0||(m0=e.objectAllocator.getPrivateIdentifierConstructor()))(i0,-1,-1)},createBaseTokenNode:function(i0){return new(X||(X=e.objectAllocator.getTokenConstructor()))(i0,-1,-1)},createBaseNode:function(i0){return new(s||(s=e.objectAllocator.getNodeConstructor()))(i0,-1,-1)}}}}(_0||(_0={})),function(e){e.createParenthesizerRules=function(s){var X,J;return{getParenthesizeLeftSideOfBinaryForOperator:function(o0){X||(X=new e.Map);var j=X.get(o0);return j||(j=function(G){return i0(o0,G)},X.set(o0,j)),j},getParenthesizeRightSideOfBinaryForOperator:function(o0){J||(J=new e.Map);var j=J.get(o0);return j||(j=function(G){return H0(o0,void 0,G)},J.set(o0,j)),j},parenthesizeLeftSideOfBinary:i0,parenthesizeRightSideOfBinary:H0,parenthesizeExpressionOfComputedPropertyName:function(o0){return e.isCommaSequence(o0)?s.createParenthesizedExpression(o0):o0},parenthesizeConditionOfConditionalExpression:function(o0){var j=e.getOperatorPrecedence(218,57),G=e.skipPartiallyEmittedExpressions(o0),u0=e.getExpressionPrecedence(G);return e.compareValues(u0,j)!==1?s.createParenthesizedExpression(o0):o0},parenthesizeBranchOfConditionalExpression:function(o0){var j=e.skipPartiallyEmittedExpressions(o0);return e.isCommaSequence(j)?s.createParenthesizedExpression(o0):o0},parenthesizeExpressionOfExportDefault:function(o0){var j=e.skipPartiallyEmittedExpressions(o0),G=e.isCommaSequence(j);if(!G)switch(e.getLeftmostExpression(j,!1).kind){case 222:case 209:G=!0}return G?s.createParenthesizedExpression(o0):o0},parenthesizeExpressionOfNew:function(o0){var j=e.getLeftmostExpression(o0,!0);switch(j.kind){case 204:return s.createParenthesizedExpression(o0);case 205:return j.arguments?o0:s.createParenthesizedExpression(o0)}return E0(o0)},parenthesizeLeftSideOfAccess:E0,parenthesizeOperandOfPostfixUnary:function(o0){return e.isLeftHandSideExpression(o0)?o0:e.setTextRange(s.createParenthesizedExpression(o0),o0)},parenthesizeOperandOfPrefixUnary:function(o0){return e.isUnaryExpression(o0)?o0:e.setTextRange(s.createParenthesizedExpression(o0),o0)},parenthesizeExpressionsOfCommaDelimitedList:function(o0){var j=e.sameMap(o0,I);return e.setTextRange(s.createNodeArray(j,o0.hasTrailingComma),o0)},parenthesizeExpressionForDisallowedComma:I,parenthesizeExpressionOfExpressionStatement:function(o0){var j=e.skipPartiallyEmittedExpressions(o0);if(e.isCallExpression(j)){var G=j.expression,u0=e.skipPartiallyEmittedExpressions(G).kind;if(u0===209||u0===210){var U=s.updateCallExpression(j,e.setTextRange(s.createParenthesizedExpression(G),G),j.typeArguments,j.arguments);return s.restoreOuterExpressions(o0,U,8)}}var g0=e.getLeftmostExpression(j,!1).kind;return g0===201||g0===209?e.setTextRange(s.createParenthesizedExpression(o0),o0):o0},parenthesizeConciseBodyOfArrowFunction:function(o0){return!e.isBlock(o0)&&(e.isCommaSequence(o0)||e.getLeftmostExpression(o0,!1).kind===201)?e.setTextRange(s.createParenthesizedExpression(o0),o0):o0},parenthesizeMemberOfConditionalType:A,parenthesizeMemberOfElementType:Z,parenthesizeElementTypeOfArrayType:function(o0){switch(o0.kind){case 177:case 189:case 186:return s.createParenthesizedType(o0)}return Z(o0)},parenthesizeConstituentTypesOfUnionOrIntersectionType:function(o0){return s.createNodeArray(e.sameMap(o0,Z))},parenthesizeTypeArguments:function(o0){if(e.some(o0))return s.createNodeArray(e.sameMap(o0,A0))}};function m0(o0){if(o0=e.skipPartiallyEmittedExpressions(o0),e.isLiteralKind(o0.kind))return o0.kind;if(o0.kind===217&&o0.operatorToken.kind===39){if(o0.cachedLiteralKind!==void 0)return o0.cachedLiteralKind;var j=m0(o0.left),G=e.isLiteralKind(j)&&j===m0(o0.right)?j:0;return o0.cachedLiteralKind=G,G}return 0}function s1(o0,j,G,u0){return e.skipPartiallyEmittedExpressions(j).kind===208?j:function(U,g0,d0,P0){var c0=e.getOperatorPrecedence(217,U),D0=e.getOperatorAssociativity(217,U),x0=e.skipPartiallyEmittedExpressions(g0);if(!d0&&g0.kind===210&&c0>3)return!0;var l0=e.getExpressionPrecedence(x0);switch(e.compareValues(l0,c0)){case-1:return!(!d0&&D0===1&&g0.kind===220);case 1:return!1;case 0:if(d0)return D0===1;if(e.isBinaryExpression(x0)&&x0.operatorToken.kind===U){if(function(V){return V===41||V===51||V===50||V===52}(U))return!1;if(U===39){var w0=P0?m0(P0):0;if(e.isLiteralKind(w0)&&w0===m0(x0))return!1}}return e.getExpressionAssociativity(x0)===0}}(o0,j,G,u0)?s.createParenthesizedExpression(j):j}function i0(o0,j){return s1(o0,j,!0)}function H0(o0,j,G){return s1(o0,G,!1,j)}function E0(o0){var j=e.skipPartiallyEmittedExpressions(o0);return e.isLeftHandSideExpression(j)&&(j.kind!==205||j.arguments)?o0:e.setTextRange(s.createParenthesizedExpression(o0),o0)}function I(o0){var j=e.skipPartiallyEmittedExpressions(o0);return e.getExpressionPrecedence(j)>e.getOperatorPrecedence(217,27)?o0:e.setTextRange(s.createParenthesizedExpression(o0),o0)}function A(o0){return o0.kind===185?s.createParenthesizedType(o0):o0}function Z(o0){switch(o0.kind){case 183:case 184:case 175:case 176:return s.createParenthesizedType(o0)}return A(o0)}function A0(o0,j){return j===0&&e.isFunctionOrConstructorTypeNode(o0)&&o0.typeParameters?s.createParenthesizedType(o0):o0}},e.nullParenthesizerRules={getParenthesizeLeftSideOfBinaryForOperator:function(s){return e.identity},getParenthesizeRightSideOfBinaryForOperator:function(s){return e.identity},parenthesizeLeftSideOfBinary:function(s,X){return X},parenthesizeRightSideOfBinary:function(s,X,J){return J},parenthesizeExpressionOfComputedPropertyName:e.identity,parenthesizeConditionOfConditionalExpression:e.identity,parenthesizeBranchOfConditionalExpression:e.identity,parenthesizeExpressionOfExportDefault:e.identity,parenthesizeExpressionOfNew:function(s){return e.cast(s,e.isLeftHandSideExpression)},parenthesizeLeftSideOfAccess:function(s){return e.cast(s,e.isLeftHandSideExpression)},parenthesizeOperandOfPostfixUnary:function(s){return e.cast(s,e.isLeftHandSideExpression)},parenthesizeOperandOfPrefixUnary:function(s){return e.cast(s,e.isUnaryExpression)},parenthesizeExpressionsOfCommaDelimitedList:function(s){return e.cast(s,e.isNodeArray)},parenthesizeExpressionForDisallowedComma:e.identity,parenthesizeExpressionOfExpressionStatement:e.identity,parenthesizeConciseBodyOfArrowFunction:e.identity,parenthesizeMemberOfConditionalType:e.identity,parenthesizeMemberOfElementType:e.identity,parenthesizeElementTypeOfArrayType:e.identity,parenthesizeConstituentTypesOfUnionOrIntersectionType:function(s){return e.cast(s,e.isNodeArray)},parenthesizeTypeArguments:function(s){return s&&e.cast(s,e.isNodeArray)}}}(_0||(_0={})),function(e){e.createNodeConverters=function(s){return{convertToFunctionBlock:function(E0,I){if(e.isBlock(E0))return E0;var A=s.createReturnStatement(E0);e.setTextRange(A,E0);var Z=s.createBlock([A],I);return e.setTextRange(Z,E0),Z},convertToFunctionExpression:function(E0){if(!E0.body)return e.Debug.fail(\"Cannot convert a FunctionDeclaration without a body\");var I=s.createFunctionExpression(E0.modifiers,E0.asteriskToken,E0.name,E0.typeParameters,E0.parameters,E0.type,E0.body);return e.setOriginalNode(I,E0),e.setTextRange(I,E0),e.getStartsOnNewLine(E0)&&e.setStartsOnNewLine(I,!0),I},convertToArrayAssignmentElement:X,convertToObjectAssignmentElement:J,convertToAssignmentPattern:m0,convertToObjectAssignmentPattern:s1,convertToArrayAssignmentPattern:i0,convertToAssignmentElementTarget:H0};function X(E0){if(e.isBindingElement(E0)){if(E0.dotDotDotToken)return e.Debug.assertNode(E0.name,e.isIdentifier),e.setOriginalNode(e.setTextRange(s.createSpreadElement(E0.name),E0),E0);var I=H0(E0.name);return E0.initializer?e.setOriginalNode(e.setTextRange(s.createAssignment(I,E0.initializer),E0),E0):I}return e.cast(E0,e.isExpression)}function J(E0){if(e.isBindingElement(E0)){if(E0.dotDotDotToken)return e.Debug.assertNode(E0.name,e.isIdentifier),e.setOriginalNode(e.setTextRange(s.createSpreadAssignment(E0.name),E0),E0);if(E0.propertyName){var I=H0(E0.name);return e.setOriginalNode(e.setTextRange(s.createPropertyAssignment(E0.propertyName,E0.initializer?s.createAssignment(I,E0.initializer):I),E0),E0)}return e.Debug.assertNode(E0.name,e.isIdentifier),e.setOriginalNode(e.setTextRange(s.createShorthandPropertyAssignment(E0.name,E0.initializer),E0),E0)}return e.cast(E0,e.isObjectLiteralElementLike)}function m0(E0){switch(E0.kind){case 198:case 200:return i0(E0);case 197:case 201:return s1(E0)}}function s1(E0){return e.isObjectBindingPattern(E0)?e.setOriginalNode(e.setTextRange(s.createObjectLiteralExpression(e.map(E0.elements,J)),E0),E0):e.cast(E0,e.isObjectLiteralExpression)}function i0(E0){return e.isArrayBindingPattern(E0)?e.setOriginalNode(e.setTextRange(s.createArrayLiteralExpression(e.map(E0.elements,X)),E0),E0):e.cast(E0,e.isArrayLiteralExpression)}function H0(E0){return e.isBindingPattern(E0)?m0(E0):e.cast(E0,e.isExpression)}},e.nullNodeConverters={convertToFunctionBlock:e.notImplemented,convertToFunctionExpression:e.notImplemented,convertToArrayAssignmentElement:e.notImplemented,convertToObjectAssignmentElement:e.notImplemented,convertToAssignmentPattern:e.notImplemented,convertToObjectAssignmentPattern:e.notImplemented,convertToArrayAssignmentPattern:e.notImplemented,convertToAssignmentElementTarget:e.notImplemented}}(_0||(_0={})),function(e){var s,X,J=0;function m0(d0,P0){var c0=8&d0?s1:i0,D0=e.memoize(function(){return 1&d0?e.nullParenthesizerRules:e.createParenthesizerRules(G0)}),x0=e.memoize(function(){return 2&d0?e.nullNodeConverters:e.createNodeConverters(G0)}),l0=e.memoizeOne(function(W){return function(L0,J1){return pl(L0,W,J1)}}),w0=e.memoizeOne(function(W){return function(L0){return qE(W,L0)}}),V=e.memoizeOne(function(W){return function(L0){return df(L0,W)}}),w=e.memoizeOne(function(W){return function(){return function(L0){return h1(L0)}(W)}}),H=e.memoizeOne(function(W){return function(L0){return Rf(W,L0)}}),k0=e.memoizeOne(function(W){return function(L0,J1){return function(ce,ze,Zr){return ze.type!==Zr?c0(Rf(ce,Zr),ze):ze}(W,L0,J1)}}),V0=e.memoizeOne(function(W){return function(L0,J1){return Xn(W,L0,J1)}}),t0=e.memoizeOne(function(W){return function(L0,J1,ce){return function(ze,Zr,ui,Ve){return ui===void 0&&(ui=kT(Zr)),Zr.tagName!==ui||Zr.comment!==Ve?c0(Xn(ze,ui,Ve),Zr):Zr}(W,L0,J1,ce)}}),f0=e.memoizeOne(function(W){return function(L0,J1,ce){return La(W,L0,J1,ce)}}),y0=e.memoizeOne(function(W){return function(L0,J1,ce,ze){return function(Zr,ui,Ve,ks,Sf){return Ve===void 0&&(Ve=kT(ui)),ui.tagName!==Ve||ui.typeExpression!==ks||ui.comment!==Sf?c0(La(Zr,Ve,ks,Sf),ui):ui}(W,L0,J1,ce,ze)}}),G0={get parenthesizer(){return D0()},get converters(){return x0()},createNodeArray:d1,createNumericLiteral:n1,createBigIntLiteral:S0,createStringLiteral:U0,createStringLiteralFromNode:function(W){var L0=I0(e.getTextOfIdentifierOrLiteral(W),void 0);return L0.textSourceNode=W,L0},createRegularExpressionLiteral:p0,createLiteralLikeNode:function(W,L0){switch(W){case 8:return n1(L0,0);case 9:return S0(L0);case 10:return U0(L0,void 0);case 11:return Ab(L0,!1);case 12:return Ab(L0,!0);case 13:return p0(L0);case 14:return cp(W,L0,void 0,0)}},createIdentifier:N1,updateIdentifier:function(W,L0){return W.typeArguments!==L0?c0(N1(e.idText(W),L0),W):W},createTempVariable:V1,createLoopVariable:function(W){var L0=2;return W&&(L0|=8),Y1(\"\",L0)},createUniqueName:function(W,L0){return L0===void 0&&(L0=0),e.Debug.assert(!(7&L0),\"Argument out of range: flags\"),e.Debug.assert((48&L0)!=32,\"GeneratedIdentifierFlags.FileLevel cannot be set without also setting GeneratedIdentifierFlags.Optimistic\"),Y1(W,3|L0)},getGeneratedNameForNode:Ox,createPrivateIdentifier:function(W){e.startsWith(W,\"#\")||e.Debug.fail(\"First character of private identifier must be #: \"+W);var L0=P0.createBasePrivateIdentifierNode(79);return L0.escapedText=e.escapeLeadingUnderscores(W),L0.transformFlags|=8388608,L0},createToken:rx,createSuper:function(){return rx(105)},createThis:O0,createNull:function(){return rx(103)},createTrue:C1,createFalse:nx,createModifier:O,createModifiersFromModifierFlags:b1,createQualifiedName:Px,updateQualifiedName:function(W,L0,J1){return W.left!==L0||W.right!==J1?c0(Px(L0,J1),W):W},createComputedPropertyName:me,updateComputedPropertyName:function(W,L0){return W.expression!==L0?c0(me(L0),W):W},createTypeParameterDeclaration:Re,updateTypeParameterDeclaration:function(W,L0,J1,ce){return W.name!==L0||W.constraint!==J1||W.default!==ce?c0(Re(L0,J1,ce),W):W},createParameterDeclaration:gt,updateParameterDeclaration:Vt,createDecorator:wr,updateDecorator:function(W,L0){return W.expression!==L0?c0(wr(L0),W):W},createPropertySignature:gr,updatePropertySignature:Nt,createPropertyDeclaration:Ir,updatePropertyDeclaration:xr,createMethodSignature:Bt,updateMethodSignature:ar,createMethodDeclaration:Ni,updateMethodDeclaration:Kn,createConstructorDeclaration:oi,updateConstructorDeclaration:Ba,createGetAccessorDeclaration:dt,updateGetAccessorDeclaration:Gt,createSetAccessorDeclaration:lr,updateSetAccessorDeclaration:en,createCallSignature:ii,updateCallSignature:function(W,L0,J1,ce){return W.typeParameters!==L0||W.parameters!==J1||W.type!==ce?Z1(ii(L0,J1,ce),W):W},createConstructSignature:Tt,updateConstructSignature:function(W,L0,J1,ce){return W.typeParameters!==L0||W.parameters!==J1||W.type!==ce?Z1(Tt(L0,J1,ce),W):W},createIndexSignature:bn,updateIndexSignature:Le,createTemplateLiteralTypeSpan:Sa,updateTemplateLiteralTypeSpan:function(W,L0,J1){return W.type!==L0||W.literal!==J1?c0(Sa(L0,J1),W):W},createKeywordTypeNode:function(W){return rx(W)},createTypePredicateNode:Yn,updateTypePredicateNode:function(W,L0,J1,ce){return W.assertsModifier!==L0||W.parameterName!==J1||W.type!==ce?c0(Yn(L0,J1,ce),W):W},createTypeReferenceNode:W1,updateTypeReferenceNode:function(W,L0,J1){return W.typeName!==L0||W.typeArguments!==J1?c0(W1(L0,J1),W):W},createFunctionTypeNode:cx,updateFunctionTypeNode:function(W,L0,J1,ce){return W.typeParameters!==L0||W.parameters!==J1||W.type!==ce?Z1(cx(L0,J1,ce),W):W},createConstructorTypeNode:E1,updateConstructorTypeNode:function(){for(var W=[],L0=0;L0<arguments.length;L0++)W[L0]=arguments[L0];return W.length===5?ae.apply(void 0,W):W.length===4?Ut.apply(void 0,W):e.Debug.fail(\"Incorrect number of arguments specified.\")},createTypeQueryNode:or,updateTypeQueryNode:function(W,L0){return W.exprName!==L0?c0(or(L0),W):W},createTypeLiteralNode:ut,updateTypeLiteralNode:function(W,L0){return W.members!==L0?c0(ut(L0),W):W},createArrayTypeNode:Gr,updateArrayTypeNode:function(W,L0){return W.elementType!==L0?c0(Gr(L0),W):W},createTupleTypeNode:B,updateTupleTypeNode:function(W,L0){return W.elements!==L0?c0(B(L0),W):W},createNamedTupleMember:h0,updateNamedTupleMember:function(W,L0,J1,ce,ze){return W.dotDotDotToken!==L0||W.name!==J1||W.questionToken!==ce||W.type!==ze?c0(h0(L0,J1,ce,ze),W):W},createOptionalTypeNode:M,updateOptionalTypeNode:function(W,L0){return W.type!==L0?c0(M(L0),W):W},createRestTypeNode:X0,updateRestTypeNode:function(W,L0){return W.type!==L0?c0(X0(L0),W):W},createUnionTypeNode:function(W){return l1(183,W)},updateUnionTypeNode:function(W,L0){return Hx(W,L0)},createIntersectionTypeNode:function(W){return l1(184,W)},updateIntersectionTypeNode:function(W,L0){return Hx(W,L0)},createConditionalTypeNode:ge,updateConditionalTypeNode:function(W,L0,J1,ce,ze){return W.checkType!==L0||W.extendsType!==J1||W.trueType!==ce||W.falseType!==ze?c0(ge(L0,J1,ce,ze),W):W},createInferTypeNode:Pe,updateInferTypeNode:function(W,L0){return W.typeParameter!==L0?c0(Pe(L0),W):W},createImportTypeNode:Kr,updateImportTypeNode:function(W,L0,J1,ce,ze){return ze===void 0&&(ze=W.isTypeOf),W.argument!==L0||W.qualifier!==J1||W.typeArguments!==ce||W.isTypeOf!==ze?c0(Kr(L0,J1,ce,ze),W):W},createParenthesizedType:pn,updateParenthesizedType:function(W,L0){return W.type!==L0?c0(pn(L0),W):W},createThisTypeNode:function(){var W=h1(188);return W.transformFlags=1,W},createTypeOperatorNode:rn,updateTypeOperatorNode:function(W,L0){return W.type!==L0?c0(rn(W.operator,L0),W):W},createIndexedAccessTypeNode:_t,updateIndexedAccessTypeNode:function(W,L0,J1){return W.objectType!==L0||W.indexType!==J1?c0(_t(L0,J1),W):W},createMappedTypeNode:Ii,updateMappedTypeNode:function(W,L0,J1,ce,ze,Zr){return W.readonlyToken!==L0||W.typeParameter!==J1||W.nameType!==ce||W.questionToken!==ze||W.type!==Zr?c0(Ii(L0,J1,ce,ze,Zr),W):W},createLiteralTypeNode:Mn,updateLiteralTypeNode:function(W,L0){return W.literal!==L0?c0(Mn(L0),W):W},createTemplateLiteralType:It,updateTemplateLiteralType:function(W,L0,J1){return W.head!==L0||W.templateSpans!==J1?c0(It(L0,J1),W):W},createObjectBindingPattern:Ka,updateObjectBindingPattern:function(W,L0){return W.elements!==L0?c0(Ka(L0),W):W},createArrayBindingPattern:fe,updateArrayBindingPattern:function(W,L0){return W.elements!==L0?c0(fe(L0),W):W},createBindingElement:Fr,updateBindingElement:function(W,L0,J1,ce,ze){return W.propertyName!==J1||W.dotDotDotToken!==L0||W.name!==ce||W.initializer!==ze?c0(Fr(L0,J1,ce,ze),W):W},createArrayLiteralExpression:Fn,updateArrayLiteralExpression:function(W,L0){return W.elements!==L0?c0(Fn(L0,W.multiLine),W):W},createObjectLiteralExpression:Ur,updateObjectLiteralExpression:function(W,L0){return W.properties!==L0?c0(Ur(L0,W.multiLine),W):W},createPropertyAccessExpression:4&d0?function(W,L0){return e.setEmitFlags(fa(W,L0),131072)}:fa,updatePropertyAccessExpression:function(W,L0,J1){return e.isPropertyAccessChain(W)?Fa(W,L0,W.questionDotToken,e.cast(J1,e.isIdentifier)):W.expression!==L0||W.name!==J1?c0(fa(L0,J1),W):W},createPropertyAccessChain:4&d0?function(W,L0,J1){return e.setEmitFlags(Kt(W,L0,J1),131072)}:Kt,updatePropertyAccessChain:Fa,createElementAccessExpression:co,updateElementAccessExpression:function(W,L0,J1){return e.isElementAccessChain(W)?qs(W,L0,W.questionDotToken,J1):W.expression!==L0||W.argumentExpression!==J1?c0(co(L0,J1),W):W},createElementAccessChain:Us,updateElementAccessChain:qs,createCallExpression:vs,updateCallExpression:function(W,L0,J1,ce){return e.isCallChain(W)?Cf(W,L0,W.questionDotToken,J1,ce):W.expression!==L0||W.typeArguments!==J1||W.arguments!==ce?c0(vs(L0,J1,ce),W):W},createCallChain:sg,updateCallChain:Cf,createNewExpression:rc,updateNewExpression:function(W,L0,J1,ce){return W.expression!==L0||W.typeArguments!==J1||W.arguments!==ce?c0(rc(L0,J1,ce),W):W},createTaggedTemplateExpression:K8,updateTaggedTemplateExpression:function(W,L0,J1,ce){return W.tag!==L0||W.typeArguments!==J1||W.template!==ce?c0(K8(L0,J1,ce),W):W},createTypeAssertion:zl,updateTypeAssertion:Xl,createParenthesizedExpression:OF,updateParenthesizedExpression:BF,createFunctionExpression:Qp,updateFunctionExpression:kp,createArrowFunction:up,updateArrowFunction:mC,createDeleteExpression:fd,updateDeleteExpression:function(W,L0){return W.expression!==L0?c0(fd(L0),W):W},createTypeOfExpression:E4,updateTypeOfExpression:function(W,L0){return W.expression!==L0?c0(E4(L0),W):W},createVoidExpression:Yl,updateVoidExpression:function(W,L0){return W.expression!==L0?c0(Yl(L0),W):W},createAwaitExpression:fT,updateAwaitExpression:function(W,L0){return W.expression!==L0?c0(fT(L0),W):W},createPrefixUnaryExpression:qE,updatePrefixUnaryExpression:function(W,L0){return W.operand!==L0?c0(qE(W.operator,L0),W):W},createPostfixUnaryExpression:df,updatePostfixUnaryExpression:function(W,L0){return W.operand!==L0?c0(df(L0,W.operator),W):W},createBinaryExpression:pl,updateBinaryExpression:function(W,L0,J1,ce){return W.left!==L0||W.operatorToken!==J1||W.right!==ce?c0(pl(L0,J1,ce),W):W},createConditionalExpression:rp,updateConditionalExpression:function(W,L0,J1,ce,ze,Zr){return W.condition!==L0||W.questionToken!==J1||W.whenTrue!==ce||W.colonToken!==ze||W.whenFalse!==Zr?c0(rp(L0,J1,ce,ze,Zr),W):W},createTemplateExpression:jp,updateTemplateExpression:function(W,L0,J1){return W.head!==L0||W.templateSpans!==J1?c0(jp(L0,J1),W):W},createTemplateHead:function(W,L0,J1){return tf(15,W,L0,J1)},createTemplateMiddle:function(W,L0,J1){return tf(16,W,L0,J1)},createTemplateTail:function(W,L0,J1){return tf(17,W,L0,J1)},createNoSubstitutionTemplateLiteral:function(W,L0,J1){return tf(14,W,L0,J1)},createTemplateLiteralLikeNode:cp,createYieldExpression:Nf,updateYieldExpression:function(W,L0,J1){return W.expression!==J1||W.asteriskToken!==L0?c0(Nf(L0,J1),W):W},createSpreadElement:mf,updateSpreadElement:function(W,L0){return W.expression!==L0?c0(mf(L0),W):W},createClassExpression:l2,updateClassExpression:pd,createOmittedExpression:function(){return yt(223)},createExpressionWithTypeArguments:Ju,updateExpressionWithTypeArguments:function(W,L0,J1){return W.expression!==L0||W.typeArguments!==J1?c0(Ju(L0,J1),W):W},createAsExpression:vd,updateAsExpression:aw,createNonNullExpression:c5,updateNonNullExpression:Qo,createNonNullChain:Rl,updateNonNullChain:gl,createMetaProperty:bd,updateMetaProperty:function(W,L0){return W.name!==L0?c0(bd(W.keywordToken,L0),W):W},createTemplateSpan:Ld,updateTemplateSpan:function(W,L0,J1){return W.expression!==L0||W.literal!==J1?c0(Ld(L0,J1),W):W},createSemicolonClassElement:function(){var W=h1(230);return W.transformFlags|=512,W},createBlock:Dp,updateBlock:function(W,L0){return W.statements!==L0?c0(Dp(L0,W.multiLine),W):W},createVariableStatement:Hi,updateVariableStatement:Up,createEmptyStatement:rl,createExpressionStatement:tA,updateExpressionStatement:function(W,L0){return W.expression!==L0?c0(tA(L0),W):W},createIfStatement:rA,updateIfStatement:function(W,L0,J1,ce){return W.expression!==L0||W.thenStatement!==J1||W.elseStatement!==ce?c0(rA(L0,J1,ce),W):W},createDoStatement:G2,updateDoStatement:function(W,L0,J1){return W.statement!==L0||W.expression!==J1?c0(G2(L0,J1),W):W},createWhileStatement:vp,updateWhileStatement:function(W,L0,J1){return W.expression!==L0||W.statement!==J1?c0(vp(L0,J1),W):W},createForStatement:Zp,updateForStatement:function(W,L0,J1,ce,ze){return W.initializer!==L0||W.condition!==J1||W.incrementor!==ce||W.statement!==ze?c0(Zp(L0,J1,ce,ze),W):W},createForInStatement:Ef,updateForInStatement:function(W,L0,J1,ce){return W.initializer!==L0||W.expression!==J1||W.statement!==ce?c0(Ef(L0,J1,ce),W):W},createForOfStatement:yr,updateForOfStatement:function(W,L0,J1,ce,ze){return W.awaitModifier!==L0||W.initializer!==J1||W.expression!==ce||W.statement!==ze?c0(yr(L0,J1,ce,ze),W):W},createContinueStatement:Jr,updateContinueStatement:function(W,L0){return W.label!==L0?c0(Jr(L0),W):W},createBreakStatement:Un,updateBreakStatement:function(W,L0){return W.label!==L0?c0(Un(L0),W):W},createReturnStatement:pa,updateReturnStatement:function(W,L0){return W.expression!==L0?c0(pa(L0),W):W},createWithStatement:za,updateWithStatement:function(W,L0,J1){return W.expression!==L0||W.statement!==J1?c0(za(L0,J1),W):W},createSwitchStatement:Ls,updateSwitchStatement:function(W,L0,J1){return W.expression!==L0||W.caseBlock!==J1?c0(Ls(L0,J1),W):W},createLabeledStatement:Mo,updateLabeledStatement:Ps,createThrowStatement:mo,updateThrowStatement:function(W,L0){return W.expression!==L0?c0(mo(L0),W):W},createTryStatement:bc,updateTryStatement:function(W,L0,J1,ce){return W.tryBlock!==L0||W.catchClause!==J1||W.finallyBlock!==ce?c0(bc(L0,J1,ce),W):W},createDebuggerStatement:function(){return h1(249)},createVariableDeclaration:Ro,updateVariableDeclaration:function(W,L0,J1,ce,ze){return W.name!==L0||W.type!==ce||W.exclamationToken!==J1||W.initializer!==ze?c0(Ro(L0,J1,ce,ze),W):W},createVariableDeclarationList:Vc,updateVariableDeclarationList:function(W,L0){return W.declarations!==L0?c0(Vc(L0,W.flags),W):W},createFunctionDeclaration:ws,updateFunctionDeclaration:gc,createClassDeclaration:Pl,updateClassDeclaration:xc,createInterfaceDeclaration:Su,updateInterfaceDeclaration:hC,createTypeAliasDeclaration:_o,updateTypeAliasDeclaration:ol,createEnumDeclaration:Fc,updateEnumDeclaration:_l,createModuleDeclaration:uc,updateModuleDeclaration:Fl,createModuleBlock:D6,updateModuleBlock:function(W,L0){return W.statements!==L0?c0(D6(L0),W):W},createCaseBlock:R6,updateCaseBlock:function(W,L0){return W.clauses!==L0?c0(R6(L0),W):W},createNamespaceExportDeclaration:nA,updateNamespaceExportDeclaration:function(W,L0){return W.name!==L0?c0(nA(L0),W):W},createImportEqualsDeclaration:x4,updateImportEqualsDeclaration:Al,createImportDeclaration:e4,updateImportDeclaration:bp,createImportClause:_c,updateImportClause:function(W,L0,J1,ce){return W.isTypeOnly!==L0||W.name!==J1||W.namedBindings!==ce?c0(_c(L0,J1,ce),W):W},createNamespaceImport:Wl,updateNamespaceImport:function(W,L0){return W.name!==L0?c0(Wl(L0),W):W},createNamespaceExport:Vp,updateNamespaceExport:function(W,L0){return W.name!==L0?c0(Vp(L0),W):W},createNamedImports:$f,updateNamedImports:function(W,L0){return W.elements!==L0?c0($f(L0),W):W},createImportSpecifier:iA,updateImportSpecifier:function(W,L0,J1){return W.propertyName!==L0||W.name!==J1?c0(iA(L0,J1),W):W},createExportAssignment:t4,updateExportAssignment:Om,createExportDeclaration:Md,updateExportDeclaration:Dk,createNamedExports:Cd,updateNamedExports:function(W,L0){return W.elements!==L0?c0(Cd(L0),W):W},createExportSpecifier:tF,updateExportSpecifier:function(W,L0,J1){return W.propertyName!==L0||W.name!==J1?c0(tF(L0,J1),W):W},createMissingDeclaration:function(){return S1(272,void 0,void 0)},createExternalModuleReference:dd,updateExternalModuleReference:function(W,L0){return W.expression!==L0?c0(dd(L0),W):W},get createJSDocAllType(){return w(304)},get createJSDocUnknownType(){return w(305)},get createJSDocNonNullableType(){return H(307)},get updateJSDocNonNullableType(){return k0(307)},get createJSDocNullableType(){return H(306)},get updateJSDocNullableType(){return k0(306)},get createJSDocOptionalType(){return H(308)},get updateJSDocOptionalType(){return k0(308)},get createJSDocVariadicType(){return H(310)},get updateJSDocVariadicType(){return k0(310)},get createJSDocNamepathType(){return H(311)},get updateJSDocNamepathType(){return k0(311)},createJSDocFunctionType:ow,updateJSDocFunctionType:function(W,L0,J1){return W.parameters!==L0||W.type!==J1?c0(ow(L0,J1),W):W},createJSDocTypeLiteral:N2,updateJSDocTypeLiteral:function(W,L0,J1){return W.jsDocPropertyTags!==L0||W.isArrayType!==J1?c0(N2(L0,J1),W):W},createJSDocTypeExpression:hm,updateJSDocTypeExpression:function(W,L0){return W.type!==L0?c0(hm(L0),W):W},createJSDocSignature:Bm,updateJSDocSignature:function(W,L0,J1,ce){return W.typeParameters!==L0||W.parameters!==J1||W.type!==ce?c0(Bm(L0,J1,ce),W):W},createJSDocTemplateTag:Qd,updateJSDocTemplateTag:function(W,L0,J1,ce,ze){return L0===void 0&&(L0=kT(W)),W.tagName!==L0||W.constraint!==J1||W.typeParameters!==ce||W.comment!==ze?c0(Qd(L0,J1,ce,ze),W):W},createJSDocTypedefTag:$S,updateJSDocTypedefTag:function(W,L0,J1,ce,ze){return L0===void 0&&(L0=kT(W)),W.tagName!==L0||W.typeExpression!==J1||W.fullName!==ce||W.comment!==ze?c0($S(L0,J1,ce,ze),W):W},createJSDocParameterTag:Pf,updateJSDocParameterTag:function(W,L0,J1,ce,ze,Zr,ui){return L0===void 0&&(L0=kT(W)),W.tagName!==L0||W.name!==J1||W.isBracketed!==ce||W.typeExpression!==ze||W.isNameFirst!==Zr||W.comment!==ui?c0(Pf(L0,J1,ce,ze,Zr,ui),W):W},createJSDocPropertyTag:LF,updateJSDocPropertyTag:function(W,L0,J1,ce,ze,Zr,ui){return L0===void 0&&(L0=kT(W)),W.tagName!==L0||W.name!==J1||W.isBracketed!==ce||W.typeExpression!==ze||W.isNameFirst!==Zr||W.comment!==ui?c0(LF(L0,J1,ce,ze,Zr,ui),W):W},createJSDocCallbackTag:Ku,updateJSDocCallbackTag:function(W,L0,J1,ce,ze){return L0===void 0&&(L0=kT(W)),W.tagName!==L0||W.typeExpression!==J1||W.fullName!==ce||W.comment!==ze?c0(Ku(L0,J1,ce,ze),W):W},createJSDocAugmentsTag:Qw,updateJSDocAugmentsTag:function(W,L0,J1,ce){return L0===void 0&&(L0=kT(W)),W.tagName!==L0||W.class!==J1||W.comment!==ce?c0(Qw(L0,J1,ce),W):W},createJSDocImplementsTag:Rd,updateJSDocImplementsTag:function(W,L0,J1,ce){return L0===void 0&&(L0=kT(W)),W.tagName!==L0||W.class!==J1||W.comment!==ce?c0(Rd(L0,J1,ce),W):W},createJSDocSeeTag:we,updateJSDocSeeTag:function(W,L0,J1,ce){return W.tagName!==L0||W.name!==J1||W.comment!==ce?c0(we(L0,J1,ce),W):W},createJSDocNameReference:it,updateJSDocNameReference:function(W,L0){return W.name!==L0?c0(it(L0),W):W},createJSDocLink:Ln,updateJSDocLink:function(W,L0,J1){return W.name!==L0?c0(Ln(L0,J1),W):W},get createJSDocTypeTag(){return f0(333)},get updateJSDocTypeTag(){return y0(333)},get createJSDocReturnTag(){return f0(331)},get updateJSDocReturnTag(){return y0(331)},get createJSDocThisTag(){return f0(332)},get updateJSDocThisTag(){return y0(332)},get createJSDocEnumTag(){return f0(329)},get updateJSDocEnumTag(){return y0(329)},get createJSDocAuthorTag(){return V0(320)},get updateJSDocAuthorTag(){return t0(320)},get createJSDocClassTag(){return V0(322)},get updateJSDocClassTag(){return t0(322)},get createJSDocPublicTag(){return V0(323)},get updateJSDocPublicTag(){return t0(323)},get createJSDocPrivateTag(){return V0(324)},get updateJSDocPrivateTag(){return t0(324)},get createJSDocProtectedTag(){return V0(325)},get updateJSDocProtectedTag(){return t0(325)},get createJSDocReadonlyTag(){return V0(326)},get updateJSDocReadonlyTag(){return t0(326)},get createJSDocOverrideTag(){return V0(327)},get updateJSDocOverrideTag(){return t0(327)},get createJSDocDeprecatedTag(){return V0(321)},get updateJSDocDeprecatedTag(){return t0(321)},createJSDocUnknownTag:qa,updateJSDocUnknownTag:function(W,L0,J1){return W.tagName!==L0||W.comment!==J1?c0(qa(L0,J1),W):W},createJSDocText:Hc,updateJSDocText:function(W,L0){return W.text!==L0?c0(Hc(L0),W):W},createJSDocComment:bx,updateJSDocComment:function(W,L0,J1){return W.comment!==L0||W.tags!==J1?c0(bx(L0,J1),W):W},createJsxElement:Wa,updateJsxElement:function(W,L0,J1,ce){return W.openingElement!==L0||W.children!==J1||W.closingElement!==ce?c0(Wa(L0,J1,ce),W):W},createJsxSelfClosingElement:rs,updateJsxSelfClosingElement:function(W,L0,J1,ce){return W.tagName!==L0||W.typeArguments!==J1||W.attributes!==ce?c0(rs(L0,J1,ce),W):W},createJsxOpeningElement:ht,updateJsxOpeningElement:function(W,L0,J1,ce){return W.tagName!==L0||W.typeArguments!==J1||W.attributes!==ce?c0(ht(L0,J1,ce),W):W},createJsxClosingElement:Mu,updateJsxClosingElement:function(W,L0){return W.tagName!==L0?c0(Mu(L0),W):W},createJsxFragment:Gc,createJsxText:Ab,updateJsxText:function(W,L0,J1){return W.text!==L0||W.containsOnlyTriviaWhiteSpaces!==J1?c0(Ab(L0,J1),W):W},createJsxOpeningFragment:function(){var W=h1(279);return W.transformFlags|=2,W},createJsxJsxClosingFragment:function(){var W=h1(280);return W.transformFlags|=2,W},updateJsxFragment:function(W,L0,J1,ce){return W.openingFragment!==L0||W.children!==J1||W.closingFragment!==ce?c0(Gc(L0,J1,ce),W):W},createJsxAttribute:jf,updateJsxAttribute:function(W,L0,J1){return W.name!==L0||W.initializer!==J1?c0(jf(L0,J1),W):W},createJsxAttributes:lp,updateJsxAttributes:function(W,L0){return W.properties!==L0?c0(lp(L0),W):W},createJsxSpreadAttribute:f2,updateJsxSpreadAttribute:function(W,L0){return W.expression!==L0?c0(f2(L0),W):W},createJsxExpression:np,updateJsxExpression:function(W,L0){return W.expression!==L0?c0(np(W.dotDotDotToken,L0),W):W},createCaseClause:Cp,updateCaseClause:function(W,L0,J1){return W.expression!==L0||W.statements!==J1?c0(Cp(L0,J1),W):W},createDefaultClause:ip,updateDefaultClause:function(W,L0){return W.statements!==L0?c0(ip(L0),W):W},createHeritageClause:fp,updateHeritageClause:function(W,L0){return W.types!==L0?c0(fp(W.token,L0),W):W},createCatchClause:xd,updateCatchClause:function(W,L0,J1){return W.variableDeclaration!==L0||W.block!==J1?c0(xd(L0,J1),W):W},createPropertyAssignment:l5,updatePropertyAssignment:function(W,L0,J1){return W.name!==L0||W.initializer!==J1?function(ce,ze){return ze.decorators&&(ce.decorators=ze.decorators),ze.modifiers&&(ce.modifiers=ze.modifiers),ze.questionToken&&(ce.questionToken=ze.questionToken),ze.exclamationToken&&(ce.exclamationToken=ze.exclamationToken),c0(ce,ze)}(l5(L0,J1),W):W},createShorthandPropertyAssignment:pp,updateShorthandPropertyAssignment:function(W,L0,J1){return W.name!==L0||W.objectAssignmentInitializer!==J1?function(ce,ze){return ze.decorators&&(ce.decorators=ze.decorators),ze.modifiers&&(ce.modifiers=ze.modifiers),ze.equalsToken&&(ce.equalsToken=ze.equalsToken),ze.questionToken&&(ce.questionToken=ze.questionToken),ze.exclamationToken&&(ce.exclamationToken=ze.exclamationToken),c0(ce,ze)}(pp(L0,J1),W):W},createSpreadAssignment:Pp,updateSpreadAssignment:function(W,L0){return W.expression!==L0?c0(Pp(L0),W):W},createEnumMember:Zo,updateEnumMember:function(W,L0,J1){return W.name!==L0||W.initializer!==J1?c0(Zo(L0,J1),W):W},createSourceFile:function(W,L0,J1){var ce=P0.createBaseSourceFileNode(298);return ce.statements=d1(W),ce.endOfFileToken=L0,ce.flags|=J1,ce.fileName=\"\",ce.text=\"\",ce.languageVersion=0,ce.languageVariant=0,ce.scriptKind=0,ce.isDeclarationFile=!1,ce.hasNoDefaultLib=!1,ce.transformFlags|=Z(ce.statements)|A(ce.endOfFileToken),ce},updateSourceFile:function(W,L0,J1,ce,ze,Zr,ui){return J1===void 0&&(J1=W.isDeclarationFile),ce===void 0&&(ce=W.referencedFiles),ze===void 0&&(ze=W.typeReferenceDirectives),Zr===void 0&&(Zr=W.hasNoDefaultLib),ui===void 0&&(ui=W.libReferenceDirectives),W.statements!==L0||W.isDeclarationFile!==J1||W.referencedFiles!==ce||W.typeReferenceDirectives!==ze||W.hasNoDefaultLib!==Zr||W.libReferenceDirectives!==ui?c0(function(Ve,ks,Sf,X6,DS,P2,qA){var nl=P0.createBaseSourceFileNode(298);for(var gd in Ve)gd!==\"emitNode\"&&!e.hasProperty(nl,gd)&&e.hasProperty(Ve,gd)&&(nl[gd]=Ve[gd]);return nl.flags|=Ve.flags,nl.statements=d1(ks),nl.endOfFileToken=Ve.endOfFileToken,nl.isDeclarationFile=Sf,nl.referencedFiles=X6,nl.typeReferenceDirectives=DS,nl.hasNoDefaultLib=P2,nl.libReferenceDirectives=qA,nl.transformFlags=Z(nl.statements)|A(nl.endOfFileToken),nl}(W,L0,J1,ce,ze,Zr,ui),W):W},createBundle:Fo,updateBundle:function(W,L0,J1){return J1===void 0&&(J1=e.emptyArray),W.sourceFiles!==L0||W.prepends!==J1?c0(Fo(L0,J1),W):W},createUnparsedSource:function(W,L0,J1){var ce=h1(300);return ce.prologues=W,ce.syntheticReferences=L0,ce.texts=J1,ce.fileName=\"\",ce.text=\"\",ce.referencedFiles=e.emptyArray,ce.libReferenceDirectives=e.emptyArray,ce.getLineAndCharacterOfPosition=function(ze){return e.getLineAndCharacterOfPosition(ce,ze)},ce},createUnparsedPrologue:function(W){return pT(293,W)},createUnparsedPrepend:function(W,L0){var J1=pT(294,W);return J1.texts=L0,J1},createUnparsedTextLike:function(W,L0){return pT(L0?296:295,W)},createUnparsedSyntheticReference:function(W){var L0=h1(297);return L0.data=W.data,L0.section=W,L0},createInputFiles:function(){var W=h1(301);return W.javascriptText=\"\",W.declarationText=\"\",W},createSyntheticExpression:function(W,L0,J1){L0===void 0&&(L0=!1);var ce=h1(228);return ce.type=W,ce.isSpread=L0,ce.tupleNameSource=J1,ce},createSyntaxList:function(W){var L0=h1(338);return L0._children=W,L0},createNotEmittedStatement:function(W){var L0=h1(339);return L0.original=W,e.setTextRange(L0,W),L0},createPartiallyEmittedExpression:ed,updatePartiallyEmittedExpression:ah,createCommaListExpression:j6,updateCommaListExpression:function(W,L0){return W.elements!==L0?c0(j6(L0),W):W},createEndOfDeclarationMarker:function(W){var L0=h1(343);return L0.emitNode={},L0.original=W,L0},createMergeDeclarationMarker:function(W){var L0=h1(342);return L0.emitNode={},L0.original=W,L0},createSyntheticReferenceExpression:Jo,updateSyntheticReferenceExpression:function(W,L0,J1){return W.expression!==L0||W.thisArg!==J1?c0(Jo(L0,J1),W):W},cloneNode:aN,get createComma(){return l0(27)},get createAssignment(){return l0(62)},get createLogicalOr(){return l0(56)},get createLogicalAnd(){return l0(55)},get createBitwiseOr(){return l0(51)},get createBitwiseXor(){return l0(52)},get createBitwiseAnd(){return l0(50)},get createStrictEquality(){return l0(36)},get createStrictInequality(){return l0(37)},get createEquality(){return l0(34)},get createInequality(){return l0(35)},get createLessThan(){return l0(29)},get createLessThanEquals(){return l0(32)},get createGreaterThan(){return l0(31)},get createGreaterThanEquals(){return l0(33)},get createLeftShift(){return l0(47)},get createRightShift(){return l0(48)},get createUnsignedRightShift(){return l0(49)},get createAdd(){return l0(39)},get createSubtract(){return l0(40)},get createMultiply(){return l0(41)},get createDivide(){return l0(43)},get createModulo(){return l0(44)},get createExponent(){return l0(42)},get createPrefixPlus(){return w0(39)},get createPrefixMinus(){return w0(40)},get createPrefixIncrement(){return w0(45)},get createPrefixDecrement(){return w0(46)},get createBitwiseNot(){return w0(54)},get createLogicalNot(){return w0(53)},get createPostfixIncrement(){return V(45)},get createPostfixDecrement(){return V(46)},createImmediatelyInvokedFunctionExpression:function(W,L0,J1){return vs(Qp(void 0,void 0,void 0,void 0,L0?[L0]:[],void 0,Dp(W,!0)),void 0,J1?[J1]:[])},createImmediatelyInvokedArrowFunction:function(W,L0,J1){return vs(up(void 0,void 0,L0?[L0]:[],void 0,void 0,Dp(W,!0)),void 0,J1?[J1]:[])},createVoidZero:X2,createExportDefault:function(W){return t4(void 0,void 0,!1,W)},createExternalModuleExport:function(W){return Md(void 0,void 0,!1,Cd([tF(void 0,W)]))},createTypeCheck:function(W,L0){return L0===\"undefined\"?G0.createStrictEquality(W,X2()):G0.createStrictEquality(E4(W),U0(L0))},createMethodCall:md,createGlobalMethodCall:hd,createFunctionBindCall:function(W,L0,J1){return md(W,\"bind\",D([L0],J1))},createFunctionCallCall:function(W,L0,J1){return md(W,\"call\",D([L0],J1))},createFunctionApplyCall:function(W,L0,J1){return md(W,\"apply\",[L0,J1])},createArraySliceCall:function(W,L0){return md(W,\"slice\",L0===void 0?[]:[rr(L0)])},createArrayConcatCall:function(W,L0){return md(W,\"concat\",L0)},createObjectDefinePropertyCall:function(W,L0,J1){return hd(\"Object\",\"defineProperty\",[W,rr(L0),J1])},createPropertyDescriptor:function(W,L0){var J1=[];Pk(J1,\"enumerable\",rr(W.enumerable)),Pk(J1,\"configurable\",rr(W.configurable));var ce=Pk(J1,\"writable\",rr(W.writable));ce=Pk(J1,\"value\",W.value)||ce;var ze=Pk(J1,\"get\",W.get);return ze=Pk(J1,\"set\",W.set)||ze,e.Debug.assert(!(ce&&ze),\"A PropertyDescriptor may not be both an accessor descriptor and a data descriptor.\"),Ur(J1,!L0)},createCallBinding:function(W,L0,J1,ce){ce===void 0&&(ce=!1);var ze,Zr,ui=e.skipOuterExpressions(W,15);return e.isSuperProperty(ui)?(ze=O0(),Zr=ui):e.isSuperKeyword(ui)?(ze=O0(),Zr=J1!==void 0&&J1<2?e.setTextRange(N1(\"_super\"),ui):ui):4096&e.getEmitFlags(ui)?(ze=X2(),Zr=D0().parenthesizeLeftSideOfAccess(ui)):e.isPropertyAccessExpression(ui)?oh(ui.expression,ce)?(ze=V1(L0),Zr=fa(e.setTextRange(G0.createAssignment(ze,ui.expression),ui.expression),ui.name),e.setTextRange(Zr,ui)):(ze=ui.expression,Zr=ui):e.isElementAccessExpression(ui)?oh(ui.expression,ce)?(ze=V1(L0),Zr=co(e.setTextRange(G0.createAssignment(ze,ui.expression),ui.expression),ui.argumentExpression),e.setTextRange(Zr,ui)):(ze=ui.expression,Zr=ui):(ze=X2(),Zr=D0().parenthesizeLeftSideOfAccess(W)),{target:Zr,thisArg:ze}},inlineExpressions:function(W){return W.length>10?j6(W):e.reduceLeft(W,G0.createComma)},getInternalName:function(W,L0,J1){return q5(W,L0,J1,49152)},getLocalName:function(W,L0,J1){return q5(W,L0,J1,16384)},getExportName:M9,getDeclarationName:function(W,L0,J1){return q5(W,L0,J1)},getNamespaceMemberName:HP,getExternalModuleOrNamespaceExportName:function(W,L0,J1,ce){return W&&e.hasSyntacticModifier(L0,1)?HP(W,q5(L0),J1,ce):M9(L0,J1,ce)},restoreOuterExpressions:function W(L0,J1,ce){return ce===void 0&&(ce=15),L0&&e.isOuterExpression(L0,ce)&&!function(ze){return e.isParenthesizedExpression(ze)&&e.nodeIsSynthesized(ze)&&e.nodeIsSynthesized(e.getSourceMapRange(ze))&&e.nodeIsSynthesized(e.getCommentRange(ze))&&!e.some(e.getSyntheticLeadingComments(ze))&&!e.some(e.getSyntheticTrailingComments(ze))}(L0)?function(ze,Zr){switch(ze.kind){case 208:return BF(ze,Zr);case 207:return Xl(ze,ze.type,Zr);case 225:return aw(ze,Zr,ze.type);case 226:return Qo(ze,Zr);case 340:return ah(ze,Zr)}}(L0,W(L0.expression,J1)):J1},restoreEnclosingLabel:function W(L0,J1,ce){if(!J1)return L0;var ze=Ps(J1,J1.label,e.isLabeledStatement(J1.statement)?W(L0,J1.statement):L0);return ce&&ce(J1),ze},createUseStrictPrologue:gm,copyPrologue:function(W,L0,J1,ce){var ze=dP(W,L0,J1);return Ik(W,L0,ze,ce)},copyStandardPrologue:dP,copyCustomPrologue:Ik,ensureUseStrict:function(W){return e.findUseStrictPrologue(W)?W:e.setTextRange(d1(D([gm()],W)),W)},liftToBlock:function(W){return e.Debug.assert(e.every(W,e.isStatementOrBlock),\"Cannot lift nodes to a Block.\"),e.singleOrUndefined(W)||Dp(W)},mergeLexicalEnvironment:function(W,L0){if(!e.some(L0))return W;var J1=P(W,e.isPrologueDirective,0),ce=P(W,e.isHoistedFunction,J1),ze=P(W,e.isHoistedVariableStatement,ce),Zr=P(L0,e.isPrologueDirective,0),ui=P(L0,e.isHoistedFunction,Zr),Ve=P(L0,e.isHoistedVariableStatement,ui),ks=P(L0,e.isCustomPrologue,Ve);e.Debug.assert(ks===L0.length,\"Expected declarations to be valid standard or custom prologues\");var Sf=e.isNodeArray(W)?W.slice():W;if(ks>Ve&&Sf.splice.apply(Sf,D([ze,0],L0.slice(Ve,ks))),Ve>ui&&Sf.splice.apply(Sf,D([ce,0],L0.slice(ui,Ve))),ui>Zr&&Sf.splice.apply(Sf,D([J1,0],L0.slice(Zr,ui))),Zr>0)if(J1===0)Sf.splice.apply(Sf,D([0,0],L0.slice(0,Zr)));else{for(var X6=new e.Map,DS=0;DS<J1;DS++){var P2=W[DS];X6.set(P2.expression.text,!0)}for(DS=Zr-1;DS>=0;DS--){var qA=L0[DS];X6.has(qA.expression.text)||Sf.unshift(qA)}}return e.isNodeArray(W)?e.setTextRange(d1(Sf,W.hasTrailingComma),W):W},updateModifiers:function(W,L0){var J1;return typeof L0==\"number\"&&(L0=b1(L0)),e.isParameter(W)?Vt(W,W.decorators,L0,W.dotDotDotToken,W.name,W.questionToken,W.type,W.initializer):e.isPropertySignature(W)?Nt(W,L0,W.name,W.questionToken,W.type):e.isPropertyDeclaration(W)?xr(W,W.decorators,L0,W.name,(J1=W.questionToken)!==null&&J1!==void 0?J1:W.exclamationToken,W.type,W.initializer):e.isMethodSignature(W)?ar(W,L0,W.name,W.questionToken,W.typeParameters,W.parameters,W.type):e.isMethodDeclaration(W)?Kn(W,W.decorators,L0,W.asteriskToken,W.name,W.questionToken,W.typeParameters,W.parameters,W.type,W.body):e.isConstructorDeclaration(W)?Ba(W,W.decorators,L0,W.parameters,W.body):e.isGetAccessorDeclaration(W)?Gt(W,W.decorators,L0,W.name,W.parameters,W.type,W.body):e.isSetAccessorDeclaration(W)?en(W,W.decorators,L0,W.name,W.parameters,W.body):e.isIndexSignatureDeclaration(W)?Le(W,W.decorators,L0,W.parameters,W.type):e.isFunctionExpression(W)?kp(W,L0,W.asteriskToken,W.name,W.typeParameters,W.parameters,W.type,W.body):e.isArrowFunction(W)?mC(W,L0,W.typeParameters,W.parameters,W.type,W.equalsGreaterThanToken,W.body):e.isClassExpression(W)?pd(W,W.decorators,L0,W.name,W.typeParameters,W.heritageClauses,W.members):e.isVariableStatement(W)?Up(W,L0,W.declarationList):e.isFunctionDeclaration(W)?gc(W,W.decorators,L0,W.asteriskToken,W.name,W.typeParameters,W.parameters,W.type,W.body):e.isClassDeclaration(W)?xc(W,W.decorators,L0,W.name,W.typeParameters,W.heritageClauses,W.members):e.isInterfaceDeclaration(W)?hC(W,W.decorators,L0,W.name,W.typeParameters,W.heritageClauses,W.members):e.isTypeAliasDeclaration(W)?ol(W,W.decorators,L0,W.name,W.typeParameters,W.type):e.isEnumDeclaration(W)?_l(W,W.decorators,L0,W.name,W.members):e.isModuleDeclaration(W)?Fl(W,W.decorators,L0,W.name,W.body):e.isImportEqualsDeclaration(W)?Al(W,W.decorators,L0,W.isTypeOnly,W.name,W.moduleReference):e.isImportDeclaration(W)?bp(W,W.decorators,L0,W.importClause,W.moduleSpecifier):e.isExportAssignment(W)?Om(W,W.decorators,L0,W.expression):e.isExportDeclaration(W)?Dk(W,W.decorators,L0,W.isTypeOnly,W.exportClause,W.moduleSpecifier):e.Debug.assertNever(W)}};return G0;function d1(W,L0){if(W===void 0||W===e.emptyArray)W=[];else if(e.isNodeArray(W))return W.transformFlags===void 0&&A0(W),e.Debug.attachNodeArrayDebugInfo(W),W;var J1=W.length,ce=J1>=1&&J1<=4?W.slice():W;return e.setTextRangePosEnd(ce,-1,-1),ce.hasTrailingComma=!!L0,A0(ce),e.Debug.attachNodeArrayDebugInfo(ce),ce}function h1(W){return P0.createBaseNode(W)}function S1(W,L0,J1){var ce=h1(W);return ce.decorators=T1(L0),ce.modifiers=T1(J1),ce.transformFlags|=Z(ce.decorators)|Z(ce.modifiers),ce.symbol=void 0,ce.localSymbol=void 0,ce.locals=void 0,ce.nextContainer=void 0,ce}function Q1(W,L0,J1,ce){var ze=S1(W,L0,J1);if(ce=De(ce),ze.name=ce,ce)switch(ze.kind){case 166:case 168:case 169:case 164:case 289:if(e.isIdentifier(ce)){ze.transformFlags|=I(ce);break}default:ze.transformFlags|=A(ce)}return ze}function Y0(W,L0,J1,ce,ze){var Zr=Q1(W,L0,J1,ce);return Zr.typeParameters=T1(ze),Zr.transformFlags|=Z(Zr.typeParameters),ze&&(Zr.transformFlags|=1),Zr}function $1(W,L0,J1,ce,ze,Zr,ui){var Ve=Y0(W,L0,J1,ce,ze);return Ve.parameters=d1(Zr),Ve.type=ui,Ve.transformFlags|=Z(Ve.parameters)|A(Ve.type),ui&&(Ve.transformFlags|=1),Ve}function Z1(W,L0){return L0.typeArguments&&(W.typeArguments=L0.typeArguments),c0(W,L0)}function Q0(W,L0,J1,ce,ze,Zr,ui,Ve){var ks=$1(W,L0,J1,ce,ze,Zr,ui);return ks.body=Ve,ks.transformFlags|=-16777217&A(ks.body),Ve||(ks.transformFlags|=1),ks}function y1(W,L0){return L0.exclamationToken&&(W.exclamationToken=L0.exclamationToken),L0.typeArguments&&(W.typeArguments=L0.typeArguments),Z1(W,L0)}function k1(W,L0,J1,ce,ze,Zr){var ui=Y0(W,L0,J1,ce,ze);return ui.heritageClauses=T1(Zr),ui.transformFlags|=Z(ui.heritageClauses),ui}function I1(W,L0,J1,ce,ze,Zr,ui){var Ve=k1(W,L0,J1,ce,ze,Zr);return Ve.members=d1(ui),Ve.transformFlags|=Z(Ve.members),Ve}function K0(W,L0,J1,ce,ze){var Zr=Q1(W,L0,J1,ce);return Zr.initializer=ze,Zr.transformFlags|=A(Zr.initializer),Zr}function G1(W,L0,J1,ce,ze,Zr){var ui=K0(W,L0,J1,ce,Zr);return ui.type=ze,ui.transformFlags|=A(ze),ze&&(ui.transformFlags|=1),ui}function Nx(W,L0){var J1=$x(W);return J1.text=L0,J1}function n1(W,L0){L0===void 0&&(L0=0);var J1=Nx(8,typeof W==\"number\"?W+\"\":W);return J1.numericLiteralFlags=L0,384&L0&&(J1.transformFlags|=512),J1}function S0(W){var L0=Nx(9,typeof W==\"string\"?W:e.pseudoBigIntToString(W)+\"n\");return L0.transformFlags|=4,L0}function I0(W,L0){var J1=Nx(10,W);return J1.singleQuote=L0,J1}function U0(W,L0,J1){var ce=I0(W,L0);return ce.hasExtendedUnicodeEscape=J1,J1&&(ce.transformFlags|=512),ce}function p0(W){return Nx(13,W)}function p1(W,L0){L0===void 0&&W&&(L0=e.stringToToken(W)),L0===78&&(L0=void 0);var J1=P0.createBaseIdentifierNode(78);return J1.originalKeywordKind=L0,J1.escapedText=e.escapeLeadingUnderscores(W),J1}function Y1(W,L0){var J1=p1(W,void 0);return J1.autoGenerateFlags=L0,J1.autoGenerateId=J,J++,J1}function N1(W,L0,J1){var ce=p1(W,J1);return L0&&(ce.typeArguments=d1(L0)),ce.originalKeywordKind===130&&(ce.transformFlags|=16777216),ce}function V1(W,L0){var J1=1;L0&&(J1|=8);var ce=Y1(\"\",J1);return W&&W(ce),ce}function Ox(W,L0){L0===void 0&&(L0=0),e.Debug.assert(!(7&L0),\"Argument out of range: flags\");var J1=Y1(W&&e.isIdentifier(W)?e.idText(W):\"\",4|L0);return J1.original=W,J1}function $x(W){return P0.createBaseTokenNode(W)}function rx(W){e.Debug.assert(W>=0&&W<=157,\"Invalid token\"),e.Debug.assert(W<=14||W>=17,\"Invalid token. Use 'createTemplateLiteralLikeNode' to create template literals.\"),e.Debug.assert(W<=8||W>=14,\"Invalid token. Use 'createLiteralLikeNode' to create literals.\"),e.Debug.assert(W!==78,\"Invalid token. Use 'createIdentifier' to create identifiers\");var L0=$x(W),J1=0;switch(W){case 129:J1=192;break;case 122:case 120:case 121:case 142:case 125:case 133:case 84:case 128:case 144:case 155:case 141:case 145:case 156:case 147:case 131:case 148:case 113:case 152:case 150:J1=1;break;case 123:case 105:J1=512;break;case 107:J1=8192}return J1&&(L0.transformFlags|=J1),L0}function O0(){return rx(107)}function C1(){return rx(109)}function nx(){return rx(94)}function O(W){return rx(W)}function b1(W){var L0=[];return 1&W&&L0.push(O(92)),2&W&&L0.push(O(133)),512&W&&L0.push(O(87)),2048&W&&L0.push(O(84)),4&W&&L0.push(O(122)),8&W&&L0.push(O(120)),16&W&&L0.push(O(121)),128&W&&L0.push(O(125)),32&W&&L0.push(O(123)),16384&W&&L0.push(O(156)),64&W&&L0.push(O(142)),256&W&&L0.push(O(129)),L0}function Px(W,L0){var J1=h1(158);return J1.left=W,J1.right=De(L0),J1.transformFlags|=A(J1.left)|I(J1.right),J1}function me(W){var L0=h1(159);return L0.expression=D0().parenthesizeExpressionOfComputedPropertyName(W),L0.transformFlags|=66048|A(L0.expression),L0}function Re(W,L0,J1){var ce=Q1(160,void 0,void 0,W);return ce.constraint=L0,ce.default=J1,ce.transformFlags=1,ce}function gt(W,L0,J1,ce,ze,Zr,ui){var Ve=G1(161,W,L0,ce,Zr,ui&&D0().parenthesizeExpressionForDisallowedComma(ui));return Ve.dotDotDotToken=J1,Ve.questionToken=ze,e.isThisIdentifier(Ve.name)?Ve.transformFlags=1:(Ve.transformFlags|=A(Ve.dotDotDotToken)|A(Ve.questionToken),ze&&(Ve.transformFlags|=1),16476&e.modifiersToFlags(Ve.modifiers)&&(Ve.transformFlags|=4096),(ui||J1)&&(Ve.transformFlags|=512)),Ve}function Vt(W,L0,J1,ce,ze,Zr,ui,Ve){return W.decorators!==L0||W.modifiers!==J1||W.dotDotDotToken!==ce||W.name!==ze||W.questionToken!==Zr||W.type!==ui||W.initializer!==Ve?c0(gt(L0,J1,ce,ze,Zr,ui,Ve),W):W}function wr(W){var L0=h1(162);return L0.expression=D0().parenthesizeLeftSideOfAccess(W),L0.transformFlags|=4097|A(L0.expression),L0}function gr(W,L0,J1,ce){var ze=Q1(163,void 0,W,L0);return ze.type=ce,ze.questionToken=J1,ze.transformFlags=1,ze}function Nt(W,L0,J1,ce,ze){return W.modifiers!==L0||W.name!==J1||W.questionToken!==ce||W.type!==ze?c0(gr(L0,J1,ce,ze),W):W}function Ir(W,L0,J1,ce,ze,Zr){var ui=G1(164,W,L0,J1,ze,Zr);return ui.questionToken=ce&&e.isQuestionToken(ce)?ce:void 0,ui.exclamationToken=ce&&e.isExclamationToken(ce)?ce:void 0,ui.transformFlags|=A(ui.questionToken)|A(ui.exclamationToken)|8388608,(e.isComputedPropertyName(ui.name)||e.hasStaticModifier(ui)&&ui.initializer)&&(ui.transformFlags|=4096),(ce||2&e.modifiersToFlags(ui.modifiers))&&(ui.transformFlags|=1),ui}function xr(W,L0,J1,ce,ze,Zr,ui){return W.decorators!==L0||W.modifiers!==J1||W.name!==ce||W.questionToken!==(ze!==void 0&&e.isQuestionToken(ze)?ze:void 0)||W.exclamationToken!==(ze!==void 0&&e.isExclamationToken(ze)?ze:void 0)||W.type!==Zr||W.initializer!==ui?c0(Ir(L0,J1,ce,ze,Zr,ui),W):W}function Bt(W,L0,J1,ce,ze,Zr){var ui=$1(165,void 0,W,L0,ce,ze,Zr);return ui.questionToken=J1,ui.transformFlags=1,ui}function ar(W,L0,J1,ce,ze,Zr,ui){return W.modifiers!==L0||W.name!==J1||W.questionToken!==ce||W.typeParameters!==ze||W.parameters!==Zr||W.type!==ui?Z1(Bt(L0,J1,ce,ze,Zr,ui),W):W}function Ni(W,L0,J1,ce,ze,Zr,ui,Ve,ks){var Sf=Q0(166,W,L0,ce,Zr,ui,Ve,ks);return Sf.asteriskToken=J1,Sf.questionToken=ze,Sf.transformFlags|=A(Sf.asteriskToken)|A(Sf.questionToken)|512,ze&&(Sf.transformFlags|=1),256&e.modifiersToFlags(Sf.modifiers)?Sf.transformFlags|=J1?64:128:J1&&(Sf.transformFlags|=1024),Sf}function Kn(W,L0,J1,ce,ze,Zr,ui,Ve,ks,Sf){return W.decorators!==L0||W.modifiers!==J1||W.asteriskToken!==ce||W.name!==ze||W.questionToken!==Zr||W.typeParameters!==ui||W.parameters!==Ve||W.type!==ks||W.body!==Sf?y1(Ni(L0,J1,ce,ze,Zr,ui,Ve,ks,Sf),W):W}function oi(W,L0,J1,ce){var ze=Q0(167,W,L0,void 0,void 0,J1,void 0,ce);return ze.transformFlags|=512,ze}function Ba(W,L0,J1,ce,ze){return W.decorators!==L0||W.modifiers!==J1||W.parameters!==ce||W.body!==ze?y1(oi(L0,J1,ce,ze),W):W}function dt(W,L0,J1,ce,ze,Zr){return Q0(168,W,L0,J1,void 0,ce,ze,Zr)}function Gt(W,L0,J1,ce,ze,Zr,ui){return W.decorators!==L0||W.modifiers!==J1||W.name!==ce||W.parameters!==ze||W.type!==Zr||W.body!==ui?y1(dt(L0,J1,ce,ze,Zr,ui),W):W}function lr(W,L0,J1,ce,ze){return Q0(169,W,L0,J1,void 0,ce,void 0,ze)}function en(W,L0,J1,ce,ze,Zr){return W.decorators!==L0||W.modifiers!==J1||W.name!==ce||W.parameters!==ze||W.body!==Zr?y1(lr(L0,J1,ce,ze,Zr),W):W}function ii(W,L0,J1){var ce=$1(170,void 0,void 0,void 0,W,L0,J1);return ce.transformFlags=1,ce}function Tt(W,L0,J1){var ce=$1(171,void 0,void 0,void 0,W,L0,J1);return ce.transformFlags=1,ce}function bn(W,L0,J1,ce){var ze=$1(172,W,L0,void 0,void 0,J1,ce);return ze.transformFlags=1,ze}function Le(W,L0,J1,ce,ze){return W.parameters!==ce||W.type!==ze||W.decorators!==L0||W.modifiers!==J1?Z1(bn(L0,J1,ce,ze),W):W}function Sa(W,L0){var J1=h1(195);return J1.type=W,J1.literal=L0,J1.transformFlags=1,J1}function Yn(W,L0,J1){var ce=h1(173);return ce.assertsModifier=W,ce.parameterName=De(L0),ce.type=J1,ce.transformFlags=1,ce}function W1(W,L0){var J1=h1(174);return J1.typeName=De(W),J1.typeArguments=L0&&D0().parenthesizeTypeArguments(d1(L0)),J1.transformFlags=1,J1}function cx(W,L0,J1){var ce=$1(175,void 0,void 0,void 0,W,L0,J1);return ce.transformFlags=1,ce}function E1(){for(var W=[],L0=0;L0<arguments.length;L0++)W[L0]=arguments[L0];return W.length===4?qx.apply(void 0,W):W.length===3?xt.apply(void 0,W):e.Debug.fail(\"Incorrect number of arguments specified.\")}function qx(W,L0,J1,ce){var ze=$1(176,void 0,W,void 0,L0,J1,ce);return ze.transformFlags=1,ze}function xt(W,L0,J1){return qx(void 0,W,L0,J1)}function ae(W,L0,J1,ce,ze){return W.modifiers!==L0||W.typeParameters!==J1||W.parameters!==ce||W.type!==ze?Z1(E1(L0,J1,ce,ze),W):W}function Ut(W,L0,J1,ce){return ae(W,W.modifiers,L0,J1,ce)}function or(W){var L0=h1(177);return L0.exprName=W,L0.transformFlags=1,L0}function ut(W){var L0=h1(178);return L0.members=d1(W),L0.transformFlags=1,L0}function Gr(W){var L0=h1(179);return L0.elementType=D0().parenthesizeElementTypeOfArrayType(W),L0.transformFlags=1,L0}function B(W){var L0=h1(180);return L0.elements=d1(W),L0.transformFlags=1,L0}function h0(W,L0,J1,ce){var ze=h1(193);return ze.dotDotDotToken=W,ze.name=L0,ze.questionToken=J1,ze.type=ce,ze.transformFlags=1,ze}function M(W){var L0=h1(181);return L0.type=D0().parenthesizeElementTypeOfArrayType(W),L0.transformFlags=1,L0}function X0(W){var L0=h1(182);return L0.type=W,L0.transformFlags=1,L0}function l1(W,L0){var J1=h1(W);return J1.types=D0().parenthesizeConstituentTypesOfUnionOrIntersectionType(L0),J1.transformFlags=1,J1}function Hx(W,L0){return W.types!==L0?c0(l1(W.kind,L0),W):W}function ge(W,L0,J1,ce){var ze=h1(185);return ze.checkType=D0().parenthesizeMemberOfConditionalType(W),ze.extendsType=D0().parenthesizeMemberOfConditionalType(L0),ze.trueType=J1,ze.falseType=ce,ze.transformFlags=1,ze}function Pe(W){var L0=h1(186);return L0.typeParameter=W,L0.transformFlags=1,L0}function It(W,L0){var J1=h1(194);return J1.head=W,J1.templateSpans=d1(L0),J1.transformFlags=1,J1}function Kr(W,L0,J1,ce){ce===void 0&&(ce=!1);var ze=h1(196);return ze.argument=W,ze.qualifier=L0,ze.typeArguments=J1&&D0().parenthesizeTypeArguments(J1),ze.isTypeOf=ce,ze.transformFlags=1,ze}function pn(W){var L0=h1(187);return L0.type=W,L0.transformFlags=1,L0}function rn(W,L0){var J1=h1(189);return J1.operator=W,J1.type=D0().parenthesizeMemberOfElementType(L0),J1.transformFlags=1,J1}function _t(W,L0){var J1=h1(190);return J1.objectType=D0().parenthesizeMemberOfElementType(W),J1.indexType=L0,J1.transformFlags=1,J1}function Ii(W,L0,J1,ce,ze){var Zr=h1(191);return Zr.readonlyToken=W,Zr.typeParameter=L0,Zr.nameType=J1,Zr.questionToken=ce,Zr.type=ze,Zr.transformFlags=1,Zr}function Mn(W){var L0=h1(192);return L0.literal=W,L0.transformFlags=1,L0}function Ka(W){var L0=h1(197);return L0.elements=d1(W),L0.transformFlags|=262656|Z(L0.elements),16384&L0.transformFlags&&(L0.transformFlags|=32832),L0}function fe(W){var L0=h1(198);return L0.elements=d1(W),L0.transformFlags|=262656|Z(L0.elements),L0}function Fr(W,L0,J1,ce){var ze=K0(199,void 0,void 0,J1,ce&&D0().parenthesizeExpressionForDisallowedComma(ce));return ze.propertyName=De(L0),ze.dotDotDotToken=W,ze.transformFlags|=512|A(ze.dotDotDotToken),ze.propertyName&&(ze.transformFlags|=e.isIdentifier(ze.propertyName)?I(ze.propertyName):A(ze.propertyName)),W&&(ze.transformFlags|=16384),ze}function yt(W){return h1(W)}function Fn(W,L0){var J1=yt(200);return J1.elements=D0().parenthesizeExpressionsOfCommaDelimitedList(d1(W)),J1.multiLine=L0,J1.transformFlags|=Z(J1.elements),J1}function Ur(W,L0){var J1=yt(201);return J1.properties=d1(W),J1.multiLine=L0,J1.transformFlags|=Z(J1.properties),J1}function fa(W,L0){var J1=yt(202);return J1.expression=D0().parenthesizeLeftSideOfAccess(W),J1.name=De(L0),J1.transformFlags=A(J1.expression)|(e.isIdentifier(J1.name)?I(J1.name):A(J1.name)),e.isSuperKeyword(W)&&(J1.transformFlags|=192),J1}function Kt(W,L0,J1){var ce=yt(202);return ce.flags|=32,ce.expression=D0().parenthesizeLeftSideOfAccess(W),ce.questionDotToken=L0,ce.name=De(J1),ce.transformFlags|=16|A(ce.expression)|A(ce.questionDotToken)|(e.isIdentifier(ce.name)?I(ce.name):A(ce.name)),ce}function Fa(W,L0,J1,ce){return e.Debug.assert(!!(32&W.flags),\"Cannot update a PropertyAccessExpression using updatePropertyAccessChain. Use updatePropertyAccess instead.\"),W.expression!==L0||W.questionDotToken!==J1||W.name!==ce?c0(Kt(L0,J1,ce),W):W}function co(W,L0){var J1=yt(203);return J1.expression=D0().parenthesizeLeftSideOfAccess(W),J1.argumentExpression=rr(L0),J1.transformFlags|=A(J1.expression)|A(J1.argumentExpression),e.isSuperKeyword(W)&&(J1.transformFlags|=192),J1}function Us(W,L0,J1){var ce=yt(203);return ce.flags|=32,ce.expression=D0().parenthesizeLeftSideOfAccess(W),ce.questionDotToken=L0,ce.argumentExpression=rr(J1),ce.transformFlags|=A(ce.expression)|A(ce.questionDotToken)|A(ce.argumentExpression)|16,ce}function qs(W,L0,J1,ce){return e.Debug.assert(!!(32&W.flags),\"Cannot update a ElementAccessExpression using updateElementAccessChain. Use updateElementAccess instead.\"),W.expression!==L0||W.questionDotToken!==J1||W.argumentExpression!==ce?c0(Us(L0,J1,ce),W):W}function vs(W,L0,J1){var ce=yt(204);return ce.expression=D0().parenthesizeLeftSideOfAccess(W),ce.typeArguments=T1(L0),ce.arguments=D0().parenthesizeExpressionsOfCommaDelimitedList(d1(J1)),ce.transformFlags|=A(ce.expression)|Z(ce.typeArguments)|Z(ce.arguments),ce.typeArguments&&(ce.transformFlags|=1),e.isImportKeyword(ce.expression)?ce.transformFlags|=4194304:e.isSuperProperty(ce.expression)&&(ce.transformFlags|=8192),ce}function sg(W,L0,J1,ce){var ze=yt(204);return ze.flags|=32,ze.expression=D0().parenthesizeLeftSideOfAccess(W),ze.questionDotToken=L0,ze.typeArguments=T1(J1),ze.arguments=D0().parenthesizeExpressionsOfCommaDelimitedList(d1(ce)),ze.transformFlags|=A(ze.expression)|A(ze.questionDotToken)|Z(ze.typeArguments)|Z(ze.arguments)|16,ze.typeArguments&&(ze.transformFlags|=1),e.isSuperProperty(ze.expression)&&(ze.transformFlags|=8192),ze}function Cf(W,L0,J1,ce,ze){return e.Debug.assert(!!(32&W.flags),\"Cannot update a CallExpression using updateCallChain. Use updateCall instead.\"),W.expression!==L0||W.questionDotToken!==J1||W.typeArguments!==ce||W.arguments!==ze?c0(sg(L0,J1,ce,ze),W):W}function rc(W,L0,J1){var ce=yt(205);return ce.expression=D0().parenthesizeExpressionOfNew(W),ce.typeArguments=T1(L0),ce.arguments=J1?D0().parenthesizeExpressionsOfCommaDelimitedList(J1):void 0,ce.transformFlags|=A(ce.expression)|Z(ce.typeArguments)|Z(ce.arguments)|16,ce.typeArguments&&(ce.transformFlags|=1),ce}function K8(W,L0,J1){var ce=yt(206);return ce.tag=D0().parenthesizeLeftSideOfAccess(W),ce.typeArguments=T1(L0),ce.template=J1,ce.transformFlags|=A(ce.tag)|Z(ce.typeArguments)|A(ce.template)|512,ce.typeArguments&&(ce.transformFlags|=1),e.hasInvalidEscape(ce.template)&&(ce.transformFlags|=64),ce}function zl(W,L0){var J1=yt(207);return J1.expression=D0().parenthesizeOperandOfPrefixUnary(L0),J1.type=W,J1.transformFlags|=A(J1.expression)|A(J1.type)|1,J1}function Xl(W,L0,J1){return W.type!==L0||W.expression!==J1?c0(zl(L0,J1),W):W}function OF(W){var L0=yt(208);return L0.expression=W,L0.transformFlags=A(L0.expression),L0}function BF(W,L0){return W.expression!==L0?c0(OF(L0),W):W}function Qp(W,L0,J1,ce,ze,Zr,ui){var Ve=Q0(209,void 0,W,J1,ce,ze,Zr,ui);return Ve.asteriskToken=L0,Ve.transformFlags|=A(Ve.asteriskToken),Ve.typeParameters&&(Ve.transformFlags|=1),256&e.modifiersToFlags(Ve.modifiers)?Ve.asteriskToken?Ve.transformFlags|=64:Ve.transformFlags|=128:Ve.asteriskToken&&(Ve.transformFlags|=1024),Ve}function kp(W,L0,J1,ce,ze,Zr,ui,Ve){return W.name!==ce||W.modifiers!==L0||W.asteriskToken!==J1||W.typeParameters!==ze||W.parameters!==Zr||W.type!==ui||W.body!==Ve?y1(Qp(L0,J1,ce,ze,Zr,ui,Ve),W):W}function up(W,L0,J1,ce,ze,Zr){var ui=Q0(210,void 0,W,void 0,L0,J1,ce,D0().parenthesizeConciseBodyOfArrowFunction(Zr));return ui.equalsGreaterThanToken=ze!=null?ze:rx(38),ui.transformFlags|=512|A(ui.equalsGreaterThanToken),256&e.modifiersToFlags(ui.modifiers)&&(ui.transformFlags|=128),ui}function mC(W,L0,J1,ce,ze,Zr,ui){return W.modifiers!==L0||W.typeParameters!==J1||W.parameters!==ce||W.type!==ze||W.equalsGreaterThanToken!==Zr||W.body!==ui?y1(up(L0,J1,ce,ze,Zr,ui),W):W}function fd(W){var L0=yt(211);return L0.expression=D0().parenthesizeOperandOfPrefixUnary(W),L0.transformFlags|=A(L0.expression),L0}function E4(W){var L0=yt(212);return L0.expression=D0().parenthesizeOperandOfPrefixUnary(W),L0.transformFlags|=A(L0.expression),L0}function Yl(W){var L0=yt(213);return L0.expression=D0().parenthesizeOperandOfPrefixUnary(W),L0.transformFlags|=A(L0.expression),L0}function fT(W){var L0=yt(214);return L0.expression=D0().parenthesizeOperandOfPrefixUnary(W),L0.transformFlags|=1048768|A(L0.expression),L0}function qE(W,L0){var J1=yt(215);return J1.operator=W,J1.operand=D0().parenthesizeOperandOfPrefixUnary(L0),J1.transformFlags|=A(J1.operand),J1}function df(W,L0){var J1=yt(216);return J1.operator=L0,J1.operand=D0().parenthesizeOperandOfPostfixUnary(W),J1.transformFlags=A(J1.operand),J1}function pl(W,L0,J1){var ce,ze=yt(217),Zr=typeof(ce=L0)==\"number\"?rx(ce):ce,ui=Zr.kind;return ze.left=D0().parenthesizeLeftSideOfBinary(ui,W),ze.operatorToken=Zr,ze.right=D0().parenthesizeRightSideOfBinary(ui,ze.left,J1),ze.transformFlags|=A(ze.left)|A(ze.operatorToken)|A(ze.right),ui===60?ze.transformFlags|=16:ui===62?e.isObjectLiteralExpression(ze.left)?ze.transformFlags|=2624|Np(ze.left):e.isArrayLiteralExpression(ze.left)&&(ze.transformFlags|=2560|Np(ze.left)):ui===42||ui===66?ze.transformFlags|=256:e.isLogicalOrCoalescingAssignmentOperator(ui)&&(ze.transformFlags|=8),ze}function Np(W){if(32768&W.transformFlags)return 32768;if(64&W.transformFlags)for(var L0=0,J1=e.getElementsOfBindingOrAssignmentPattern(W);L0<J1.length;L0++){var ce=J1[L0],ze=e.getTargetOfBindingOrAssignmentElement(ce);if(ze&&e.isAssignmentPattern(ze)){if(32768&ze.transformFlags)return 32768;if(64&ze.transformFlags){var Zr=Np(ze);if(Zr)return Zr}}}return 0}function rp(W,L0,J1,ce,ze){var Zr=yt(218);return Zr.condition=D0().parenthesizeConditionOfConditionalExpression(W),Zr.questionToken=L0!=null?L0:rx(57),Zr.whenTrue=D0().parenthesizeBranchOfConditionalExpression(J1),Zr.colonToken=ce!=null?ce:rx(58),Zr.whenFalse=D0().parenthesizeBranchOfConditionalExpression(ze),Zr.transformFlags|=A(Zr.condition)|A(Zr.questionToken)|A(Zr.whenTrue)|A(Zr.colonToken)|A(Zr.whenFalse),Zr}function jp(W,L0){var J1=yt(219);return J1.head=W,J1.templateSpans=d1(L0),J1.transformFlags|=A(J1.head)|Z(J1.templateSpans)|512,J1}function tf(W,L0,J1,ce){ce===void 0&&(ce=0),e.Debug.assert(!(-2049&ce),\"Unsupported template flags.\");var ze=void 0;if(J1!==void 0&&J1!==L0&&typeof(ze=function(Zr,ui){switch(X||(X=e.createScanner(99,!1,0)),Zr){case 14:X.setText(\"`\"+ui+\"`\");break;case 15:X.setText(\"`\"+ui+\"${\");break;case 16:X.setText(\"}\"+ui+\"${\");break;case 17:X.setText(\"}\"+ui+\"`\")}var Ve,ks=X.scan();if(ks===23&&(ks=X.reScanTemplateToken(!1)),X.isUnterminated())return X.setText(void 0),E0;switch(ks){case 14:case 15:case 16:case 17:Ve=X.getTokenValue()}return Ve===void 0||X.scan()!==1?(X.setText(void 0),E0):(X.setText(void 0),Ve)}(W,J1))==\"object\")return e.Debug.fail(\"Invalid raw text\");if(L0===void 0){if(ze===void 0)return e.Debug.fail(\"Arguments 'text' and 'rawText' may not both be undefined.\");L0=ze}else ze!==void 0&&e.Debug.assert(L0===ze,\"Expected argument 'text' to be the normalized (i.e. 'cooked') version of argument 'rawText'.\");return cp(W,L0,J1,ce)}function cp(W,L0,J1,ce){var ze=$x(W);return ze.text=L0,ze.rawText=J1,ze.templateFlags=2048&ce,ze.transformFlags|=512,ze.templateFlags&&(ze.transformFlags|=64),ze}function Nf(W,L0){e.Debug.assert(!W||!!L0,\"A `YieldExpression` with an asteriskToken must have an expression.\");var J1=yt(220);return J1.expression=L0&&D0().parenthesizeExpressionForDisallowedComma(L0),J1.asteriskToken=W,J1.transformFlags|=524864|(A(J1.expression)|A(J1.asteriskToken)),J1}function mf(W){var L0=yt(221);return L0.expression=D0().parenthesizeExpressionForDisallowedComma(W),L0.transformFlags|=16896|A(L0.expression),L0}function l2(W,L0,J1,ce,ze,Zr){var ui=I1(222,W,L0,J1,ce,ze,Zr);return ui.transformFlags|=512,ui}function pd(W,L0,J1,ce,ze,Zr,ui){return W.decorators!==L0||W.modifiers!==J1||W.name!==ce||W.typeParameters!==ze||W.heritageClauses!==Zr||W.members!==ui?c0(l2(L0,J1,ce,ze,Zr,ui),W):W}function Ju(W,L0){var J1=h1(224);return J1.expression=D0().parenthesizeLeftSideOfAccess(W),J1.typeArguments=L0&&D0().parenthesizeTypeArguments(L0),J1.transformFlags|=A(J1.expression)|Z(J1.typeArguments)|512,J1}function vd(W,L0){var J1=yt(225);return J1.expression=W,J1.type=L0,J1.transformFlags|=A(J1.expression)|A(J1.type)|1,J1}function aw(W,L0,J1){return W.expression!==L0||W.type!==J1?c0(vd(L0,J1),W):W}function c5(W){var L0=yt(226);return L0.expression=D0().parenthesizeLeftSideOfAccess(W),L0.transformFlags|=1|A(L0.expression),L0}function Qo(W,L0){return e.isNonNullChain(W)?gl(W,L0):W.expression!==L0?c0(c5(L0),W):W}function Rl(W){var L0=yt(226);return L0.flags|=32,L0.expression=D0().parenthesizeLeftSideOfAccess(W),L0.transformFlags|=1|A(L0.expression),L0}function gl(W,L0){return e.Debug.assert(!!(32&W.flags),\"Cannot update a NonNullExpression using updateNonNullChain. Use updateNonNullExpression instead.\"),W.expression!==L0?c0(Rl(L0),W):W}function bd(W,L0){var J1=yt(227);switch(J1.keywordToken=W,J1.name=L0,J1.transformFlags|=A(J1.name),W){case 102:J1.transformFlags|=512;break;case 99:J1.transformFlags|=4;break;default:return e.Debug.assertNever(W)}return J1}function Ld(W,L0){var J1=h1(229);return J1.expression=W,J1.literal=L0,J1.transformFlags|=A(J1.expression)|A(J1.literal)|512,J1}function Dp(W,L0){var J1=h1(231);return J1.statements=d1(W),J1.multiLine=L0,J1.transformFlags|=Z(J1.statements),J1}function Hi(W,L0){var J1=S1(233,void 0,W);return J1.declarationList=e.isArray(L0)?Vc(L0):L0,J1.transformFlags|=A(J1.declarationList),2&e.modifiersToFlags(J1.modifiers)&&(J1.transformFlags=1),J1}function Up(W,L0,J1){return W.modifiers!==L0||W.declarationList!==J1?c0(Hi(L0,J1),W):W}function rl(){return h1(232)}function tA(W){var L0=h1(234);return L0.expression=D0().parenthesizeExpressionOfExpressionStatement(W),L0.transformFlags|=A(L0.expression),L0}function rA(W,L0,J1){var ce=h1(235);return ce.expression=W,ce.thenStatement=ei(L0),ce.elseStatement=ei(J1),ce.transformFlags|=A(ce.expression)|A(ce.thenStatement)|A(ce.elseStatement),ce}function G2(W,L0){var J1=h1(236);return J1.statement=ei(W),J1.expression=L0,J1.transformFlags|=A(J1.statement)|A(J1.expression),J1}function vp(W,L0){var J1=h1(237);return J1.expression=W,J1.statement=ei(L0),J1.transformFlags|=A(J1.expression)|A(J1.statement),J1}function Zp(W,L0,J1,ce){var ze=h1(238);return ze.initializer=W,ze.condition=L0,ze.incrementor=J1,ze.statement=ei(ce),ze.transformFlags|=A(ze.initializer)|A(ze.condition)|A(ze.incrementor)|A(ze.statement),ze}function Ef(W,L0,J1){var ce=h1(239);return ce.initializer=W,ce.expression=L0,ce.statement=ei(J1),ce.transformFlags|=A(ce.initializer)|A(ce.expression)|A(ce.statement),ce}function yr(W,L0,J1,ce){var ze=h1(240);return ze.awaitModifier=W,ze.initializer=L0,ze.expression=D0().parenthesizeExpressionForDisallowedComma(J1),ze.statement=ei(ce),ze.transformFlags|=A(ze.awaitModifier)|A(ze.initializer)|A(ze.expression)|A(ze.statement)|512,W&&(ze.transformFlags|=64),ze}function Jr(W){var L0=h1(241);return L0.label=De(W),L0.transformFlags|=2097152|A(L0.label),L0}function Un(W){var L0=h1(242);return L0.label=De(W),L0.transformFlags|=2097152|A(L0.label),L0}function pa(W){var L0=h1(243);return L0.expression=W,L0.transformFlags|=2097216|A(L0.expression),L0}function za(W,L0){var J1=h1(244);return J1.expression=W,J1.statement=ei(L0),J1.transformFlags|=A(J1.expression)|A(J1.statement),J1}function Ls(W,L0){var J1=h1(245);return J1.expression=D0().parenthesizeExpressionForDisallowedComma(W),J1.caseBlock=L0,J1.transformFlags|=A(J1.expression)|A(J1.caseBlock),J1}function Mo(W,L0){var J1=h1(246);return J1.label=De(W),J1.statement=ei(L0),J1.transformFlags|=A(J1.label)|A(J1.statement),J1}function Ps(W,L0,J1){return W.label!==L0||W.statement!==J1?c0(Mo(L0,J1),W):W}function mo(W){var L0=h1(247);return L0.expression=W,L0.transformFlags|=A(L0.expression),L0}function bc(W,L0,J1){var ce=h1(248);return ce.tryBlock=W,ce.catchClause=L0,ce.finallyBlock=J1,ce.transformFlags|=A(ce.tryBlock)|A(ce.catchClause)|A(ce.finallyBlock),ce}function Ro(W,L0,J1,ce){var ze=G1(250,void 0,void 0,W,J1,ce&&D0().parenthesizeExpressionForDisallowedComma(ce));return ze.exclamationToken=L0,ze.transformFlags|=A(ze.exclamationToken),L0&&(ze.transformFlags|=1),ze}function Vc(W,L0){L0===void 0&&(L0=0);var J1=h1(251);return J1.flags|=3&L0,J1.declarations=d1(W),J1.transformFlags|=2097152|Z(J1.declarations),3&L0&&(J1.transformFlags|=131584),J1}function ws(W,L0,J1,ce,ze,Zr,ui,Ve){var ks=Q0(252,W,L0,ce,ze,Zr,ui,Ve);return ks.asteriskToken=J1,!ks.body||2&e.modifiersToFlags(ks.modifiers)?ks.transformFlags=1:(ks.transformFlags|=2097152|A(ks.asteriskToken),256&e.modifiersToFlags(ks.modifiers)?ks.asteriskToken?ks.transformFlags|=64:ks.transformFlags|=128:ks.asteriskToken&&(ks.transformFlags|=1024)),ks}function gc(W,L0,J1,ce,ze,Zr,ui,Ve,ks){return W.decorators!==L0||W.modifiers!==J1||W.asteriskToken!==ce||W.name!==ze||W.typeParameters!==Zr||W.parameters!==ui||W.type!==Ve||W.body!==ks?y1(ws(L0,J1,ce,ze,Zr,ui,Ve,ks),W):W}function Pl(W,L0,J1,ce,ze,Zr){var ui=I1(253,W,L0,J1,ce,ze,Zr);return 2&e.modifiersToFlags(ui.modifiers)?ui.transformFlags=1:(ui.transformFlags|=512,4096&ui.transformFlags&&(ui.transformFlags|=1)),ui}function xc(W,L0,J1,ce,ze,Zr,ui){return W.decorators!==L0||W.modifiers!==J1||W.name!==ce||W.typeParameters!==ze||W.heritageClauses!==Zr||W.members!==ui?c0(Pl(L0,J1,ce,ze,Zr,ui),W):W}function Su(W,L0,J1,ce,ze,Zr){var ui=k1(254,W,L0,J1,ce,ze);return ui.members=d1(Zr),ui.transformFlags=1,ui}function hC(W,L0,J1,ce,ze,Zr,ui){return W.decorators!==L0||W.modifiers!==J1||W.name!==ce||W.typeParameters!==ze||W.heritageClauses!==Zr||W.members!==ui?c0(Su(L0,J1,ce,ze,Zr,ui),W):W}function _o(W,L0,J1,ce,ze){var Zr=Y0(255,W,L0,J1,ce);return Zr.type=ze,Zr.transformFlags=1,Zr}function ol(W,L0,J1,ce,ze,Zr){return W.decorators!==L0||W.modifiers!==J1||W.name!==ce||W.typeParameters!==ze||W.type!==Zr?c0(_o(L0,J1,ce,ze,Zr),W):W}function Fc(W,L0,J1,ce){var ze=Q1(256,W,L0,J1);return ze.members=d1(ce),ze.transformFlags|=1|Z(ze.members),ze.transformFlags&=-16777217,ze}function _l(W,L0,J1,ce,ze){return W.decorators!==L0||W.modifiers!==J1||W.name!==ce||W.members!==ze?c0(Fc(L0,J1,ce,ze),W):W}function uc(W,L0,J1,ce,ze){ze===void 0&&(ze=0);var Zr=S1(257,W,L0);return Zr.flags|=1044&ze,Zr.name=J1,Zr.body=ce,2&e.modifiersToFlags(Zr.modifiers)?Zr.transformFlags=1:Zr.transformFlags|=A(Zr.name)|A(Zr.body)|1,Zr.transformFlags&=-16777217,Zr}function Fl(W,L0,J1,ce,ze){return W.decorators!==L0||W.modifiers!==J1||W.name!==ce||W.body!==ze?c0(uc(L0,J1,ce,ze,W.flags),W):W}function D6(W){var L0=h1(258);return L0.statements=d1(W),L0.transformFlags|=Z(L0.statements),L0}function R6(W){var L0=h1(259);return L0.clauses=d1(W),L0.transformFlags|=Z(L0.clauses),L0}function nA(W){var L0=Q1(260,void 0,void 0,W);return L0.transformFlags=1,L0}function x4(W,L0,J1,ce,ze){var Zr=Q1(261,W,L0,ce);return Zr.isTypeOnly=J1,Zr.moduleReference=ze,Zr.transformFlags|=A(Zr.moduleReference),e.isExternalModuleReference(Zr.moduleReference)||(Zr.transformFlags|=1),Zr.transformFlags&=-16777217,Zr}function Al(W,L0,J1,ce,ze,Zr){return W.decorators!==L0||W.modifiers!==J1||W.isTypeOnly!==ce||W.name!==ze||W.moduleReference!==Zr?c0(x4(L0,J1,ce,ze,Zr),W):W}function e4(W,L0,J1,ce){var ze=S1(262,W,L0);return ze.importClause=J1,ze.moduleSpecifier=ce,ze.transformFlags|=A(ze.importClause)|A(ze.moduleSpecifier),ze.transformFlags&=-16777217,ze}function bp(W,L0,J1,ce,ze){return W.decorators!==L0||W.modifiers!==J1||W.importClause!==ce||W.moduleSpecifier!==ze?c0(e4(L0,J1,ce,ze),W):W}function _c(W,L0,J1){var ce=h1(263);return ce.isTypeOnly=W,ce.name=L0,ce.namedBindings=J1,ce.transformFlags|=A(ce.name)|A(ce.namedBindings),W&&(ce.transformFlags|=1),ce.transformFlags&=-16777217,ce}function Wl(W){var L0=h1(264);return L0.name=W,L0.transformFlags|=A(L0.name),L0.transformFlags&=-16777217,L0}function Vp(W){var L0=h1(270);return L0.name=W,L0.transformFlags|=4|A(L0.name),L0.transformFlags&=-16777217,L0}function $f(W){var L0=h1(265);return L0.elements=d1(W),L0.transformFlags|=Z(L0.elements),L0.transformFlags&=-16777217,L0}function iA(W,L0){var J1=h1(266);return J1.propertyName=W,J1.name=L0,J1.transformFlags|=A(J1.propertyName)|A(J1.name),J1.transformFlags&=-16777217,J1}function t4(W,L0,J1,ce){var ze=S1(267,W,L0);return ze.isExportEquals=J1,ze.expression=J1?D0().parenthesizeRightSideOfBinary(62,void 0,ce):D0().parenthesizeExpressionOfExportDefault(ce),ze.transformFlags|=A(ze.expression),ze.transformFlags&=-16777217,ze}function Om(W,L0,J1,ce){return W.decorators!==L0||W.modifiers!==J1||W.expression!==ce?c0(t4(L0,J1,W.isExportEquals,ce),W):W}function Md(W,L0,J1,ce,ze){var Zr=S1(268,W,L0);return Zr.isTypeOnly=J1,Zr.exportClause=ce,Zr.moduleSpecifier=ze,Zr.transformFlags|=A(Zr.exportClause)|A(Zr.moduleSpecifier),Zr.transformFlags&=-16777217,Zr}function Dk(W,L0,J1,ce,ze,Zr){return W.decorators!==L0||W.modifiers!==J1||W.isTypeOnly!==ce||W.exportClause!==ze||W.moduleSpecifier!==Zr?c0(Md(L0,J1,ce,ze,Zr),W):W}function Cd(W){var L0=h1(269);return L0.elements=d1(W),L0.transformFlags|=Z(L0.elements),L0.transformFlags&=-16777217,L0}function tF(W,L0){var J1=h1(271);return J1.propertyName=De(W),J1.name=De(L0),J1.transformFlags|=A(J1.propertyName)|A(J1.name),J1.transformFlags&=-16777217,J1}function dd(W){var L0=h1(273);return L0.expression=W,L0.transformFlags|=A(L0.expression),L0.transformFlags&=-16777217,L0}function Rf(W,L0){var J1=h1(W);return J1.type=L0,J1}function ow(W,L0){return $1(309,void 0,void 0,void 0,void 0,W,L0)}function N2(W,L0){L0===void 0&&(L0=!1);var J1=h1(314);return J1.jsDocPropertyTags=T1(W),J1.isArrayType=L0,J1}function hm(W){var L0=h1(302);return L0.type=W,L0}function Bm(W,L0,J1){var ce=h1(315);return ce.typeParameters=T1(W),ce.parameters=d1(L0),ce.type=J1,ce}function kT(W){var L0=H0(W.kind);return W.tagName.escapedText===e.escapeLeadingUnderscores(L0)?W.tagName:N1(L0)}function Jf(W,L0,J1){var ce=h1(W);return ce.tagName=L0,ce.comment=J1,ce}function Qd(W,L0,J1,ce){var ze=Jf(334,W!=null?W:N1(\"template\"),ce);return ze.constraint=L0,ze.typeParameters=d1(J1),ze}function $S(W,L0,J1,ce){var ze=Jf(335,W!=null?W:N1(\"typedef\"),ce);return ze.typeExpression=L0,ze.fullName=J1,ze.name=e.getJSDocTypeAliasName(J1),ze}function Pf(W,L0,J1,ce,ze,Zr){var ui=Jf(330,W!=null?W:N1(\"param\"),Zr);return ui.typeExpression=ce,ui.name=L0,ui.isNameFirst=!!ze,ui.isBracketed=J1,ui}function LF(W,L0,J1,ce,ze,Zr){var ui=Jf(337,W!=null?W:N1(\"prop\"),Zr);return ui.typeExpression=ce,ui.name=L0,ui.isNameFirst=!!ze,ui.isBracketed=J1,ui}function Ku(W,L0,J1,ce){var ze=Jf(328,W!=null?W:N1(\"callback\"),ce);return ze.typeExpression=L0,ze.fullName=J1,ze.name=e.getJSDocTypeAliasName(J1),ze}function Qw(W,L0,J1){var ce=Jf(318,W!=null?W:N1(\"augments\"),J1);return ce.class=L0,ce}function Rd(W,L0,J1){var ce=Jf(319,W!=null?W:N1(\"implements\"),J1);return ce.class=L0,ce}function we(W,L0,J1){var ce=Jf(336,W!=null?W:N1(\"see\"),J1);return ce.name=L0,ce}function it(W){var L0=h1(303);return L0.name=W,L0}function Ln(W,L0){var J1=h1(316);return J1.name=W,J1.text=L0,J1}function Xn(W,L0,J1){return Jf(W,L0!=null?L0:N1(H0(W)),J1)}function La(W,L0,J1,ce){var ze=Jf(W,L0!=null?L0:N1(H0(W)),ce);return ze.typeExpression=J1,ze}function qa(W,L0){return Jf(317,W,L0)}function Hc(W){var L0=h1(313);return L0.text=W,L0}function bx(W,L0){var J1=h1(312);return J1.comment=W,J1.tags=T1(L0),J1}function Wa(W,L0,J1){var ce=h1(274);return ce.openingElement=W,ce.children=d1(L0),ce.closingElement=J1,ce.transformFlags|=A(ce.openingElement)|Z(ce.children)|A(ce.closingElement)|2,ce}function rs(W,L0,J1){var ce=h1(275);return ce.tagName=W,ce.typeArguments=T1(L0),ce.attributes=J1,ce.transformFlags|=A(ce.tagName)|Z(ce.typeArguments)|A(ce.attributes)|2,ce.typeArguments&&(ce.transformFlags|=1),ce}function ht(W,L0,J1){var ce=h1(276);return ce.tagName=W,ce.typeArguments=T1(L0),ce.attributes=J1,ce.transformFlags|=A(ce.tagName)|Z(ce.typeArguments)|A(ce.attributes)|2,L0&&(ce.transformFlags|=1),ce}function Mu(W){var L0=h1(277);return L0.tagName=W,L0.transformFlags|=2|A(L0.tagName),L0}function Gc(W,L0,J1){var ce=h1(278);return ce.openingFragment=W,ce.children=d1(L0),ce.closingFragment=J1,ce.transformFlags|=A(ce.openingFragment)|Z(ce.children)|A(ce.closingFragment)|2,ce}function Ab(W,L0){var J1=h1(11);return J1.text=W,J1.containsOnlyTriviaWhiteSpaces=!!L0,J1.transformFlags|=2,J1}function jf(W,L0){var J1=h1(281);return J1.name=W,J1.initializer=L0,J1.transformFlags|=A(J1.name)|A(J1.initializer)|2,J1}function lp(W){var L0=h1(282);return L0.properties=d1(W),L0.transformFlags|=2|Z(L0.properties),L0}function f2(W){var L0=h1(283);return L0.expression=W,L0.transformFlags|=2|A(L0.expression),L0}function np(W,L0){var J1=h1(284);return J1.dotDotDotToken=W,J1.expression=L0,J1.transformFlags|=A(J1.dotDotDotToken)|A(J1.expression)|2,J1}function Cp(W,L0){var J1=h1(285);return J1.expression=D0().parenthesizeExpressionForDisallowedComma(W),J1.statements=d1(L0),J1.transformFlags|=A(J1.expression)|Z(J1.statements),J1}function ip(W){var L0=h1(286);return L0.statements=d1(W),L0.transformFlags=Z(L0.statements),L0}function fp(W,L0){var J1=h1(287);switch(J1.token=W,J1.types=d1(L0),J1.transformFlags|=Z(J1.types),W){case 93:J1.transformFlags|=512;break;case 116:J1.transformFlags|=1;break;default:return e.Debug.assertNever(W)}return J1}function xd(W,L0){var J1=h1(288);return W=e.isString(W)?Ro(W,void 0,void 0,void 0):W,J1.variableDeclaration=W,J1.block=L0,J1.transformFlags|=A(J1.variableDeclaration)|A(J1.block),W||(J1.transformFlags|=32),J1}function l5(W,L0){var J1=Q1(289,void 0,void 0,W);return J1.initializer=D0().parenthesizeExpressionForDisallowedComma(L0),J1.transformFlags|=A(J1.name)|A(J1.initializer),J1}function pp(W,L0){var J1=Q1(290,void 0,void 0,W);return J1.objectAssignmentInitializer=L0&&D0().parenthesizeExpressionForDisallowedComma(L0),J1.transformFlags|=512|A(J1.objectAssignmentInitializer),J1}function Pp(W){var L0=h1(291);return L0.expression=D0().parenthesizeExpressionForDisallowedComma(W),L0.transformFlags|=32832|A(L0.expression),L0}function Zo(W,L0){var J1=h1(292);return J1.name=De(W),J1.initializer=L0&&D0().parenthesizeExpressionForDisallowedComma(L0),J1.transformFlags|=A(J1.name)|A(J1.initializer)|1,J1}function Fo(W,L0){L0===void 0&&(L0=e.emptyArray);var J1=h1(299);return J1.prepends=L0,J1.sourceFiles=W,J1}function pT(W,L0){var J1=h1(W);return J1.data=L0,J1}function ed(W,L0){var J1=h1(340);return J1.expression=W,J1.original=L0,J1.transformFlags|=1|A(J1.expression),e.setTextRange(J1,L0),J1}function ah(W,L0){return W.expression!==L0?c0(ed(L0,W.original),W):W}function Kh(W){if(e.nodeIsSynthesized(W)&&!e.isParseTreeNode(W)&&!W.original&&!W.emitNode&&!W.id){if(e.isCommaListExpression(W))return W.elements;if(e.isBinaryExpression(W)&&e.isCommaToken(W.operatorToken))return[W.left,W.right]}return W}function j6(W){var L0=h1(341);return L0.elements=d1(e.sameFlatMap(W,Kh)),L0.transformFlags|=Z(L0.elements),L0}function Jo(W,L0){var J1=h1(344);return J1.expression=W,J1.thisArg=L0,J1.transformFlags|=A(J1.expression)|A(J1.thisArg),J1}function aN(W){if(W===void 0)return W;var L0=e.isSourceFile(W)?P0.createBaseSourceFileNode(298):e.isIdentifier(W)?P0.createBaseIdentifierNode(78):e.isPrivateIdentifier(W)?P0.createBasePrivateIdentifierNode(79):e.isNodeKind(W.kind)?P0.createBaseNode(W.kind):P0.createBaseTokenNode(W.kind);for(var J1 in L0.flags|=-9&W.flags,L0.transformFlags=W.transformFlags,g0(L0,W),W)!L0.hasOwnProperty(J1)&&W.hasOwnProperty(J1)&&(L0[J1]=W[J1]);return L0}function X2(){return Yl(n1(\"0\"))}function md(W,L0,J1){return vs(fa(W,L0),void 0,J1)}function hd(W,L0,J1){return md(N1(W),L0,J1)}function Pk(W,L0,J1){return!!J1&&(W.push(l5(L0,J1)),!0)}function oh(W,L0){var J1=e.skipParentheses(W);switch(J1.kind){case 78:return L0;case 107:case 8:case 9:case 10:return!1;case 200:return J1.elements.length!==0;case 201:return J1.properties.length>0;default:return!0}}function q5(W,L0,J1,ce){ce===void 0&&(ce=0);var ze=e.getNameOfDeclaration(W);if(ze&&e.isIdentifier(ze)&&!e.isGeneratedIdentifier(ze)){var Zr=e.setParent(e.setTextRange(aN(ze),ze),ze.parent);return ce|=e.getEmitFlags(ze),J1||(ce|=48),L0||(ce|=1536),ce&&e.setEmitFlags(Zr,ce),Zr}return Ox(W)}function M9(W,L0,J1){return q5(W,L0,J1,8192)}function HP(W,L0,J1,ce){var ze=fa(W,e.nodeIsSynthesized(L0)?L0:aN(L0));e.setTextRange(ze,L0);var Zr=0;return ce||(Zr|=48),J1||(Zr|=1536),Zr&&e.setEmitFlags(ze,Zr),ze}function Hf(W){return e.isStringLiteral(W.expression)&&W.expression.text===\"use strict\"}function gm(){return e.startOnNewLine(tA(U0(\"use strict\")))}function dP(W,L0,J1){e.Debug.assert(L0.length===0,\"Prologue directives should be at the first statement in the target statements array\");for(var ce=!1,ze=0,Zr=W.length;ze<Zr;){var ui=W[ze];if(!e.isPrologueDirective(ui))break;Hf(ui)&&(ce=!0),L0.push(ui),ze++}return J1&&!ce&&L0.push(gm()),ze}function Ik(W,L0,J1,ce,ze){ze===void 0&&(ze=e.returnTrue);for(var Zr=W.length;J1!==void 0&&J1<Zr;){var ui=W[J1];if(!(1048576&e.getEmitFlags(ui)&&ze(ui)))break;e.append(L0,ce?e.visitNode(ui,ce,e.isStatement):ui),J1++}return J1}function P(W,L0,J1){for(var ce=J1;ce<W.length&&L0(W[ce]);)ce++;return ce}function T1(W){return W?d1(W):void 0}function De(W){return typeof W==\"string\"?N1(W):W}function rr(W){return typeof W==\"string\"?U0(W):typeof W==\"number\"?n1(W):typeof W==\"boolean\"?W?C1():nx():W}function ei(W){return W&&e.isNotEmittedStatement(W)?e.setTextRange(g0(rl(),W),W):W}}function s1(d0,P0){return d0!==P0&&e.setTextRange(d0,P0),d0}function i0(d0,P0){return d0!==P0&&(g0(d0,P0),e.setTextRange(d0,P0)),d0}function H0(d0){switch(d0){case 333:return\"type\";case 331:return\"returns\";case 332:return\"this\";case 329:return\"enum\";case 320:return\"author\";case 322:return\"class\";case 323:return\"public\";case 324:return\"private\";case 325:return\"protected\";case 326:return\"readonly\";case 327:return\"override\";case 334:return\"template\";case 335:return\"typedef\";case 330:return\"param\";case 337:return\"prop\";case 328:return\"callback\";case 318:return\"augments\";case 319:return\"implements\";default:return e.Debug.fail(\"Unsupported kind: \"+e.Debug.formatSyntaxKind(d0))}}(s=e.NodeFactoryFlags||(e.NodeFactoryFlags={}))[s.None=0]=\"None\",s[s.NoParenthesizerRules=1]=\"NoParenthesizerRules\",s[s.NoNodeConverters=2]=\"NoNodeConverters\",s[s.NoIndentationOnFreshPropertyAccess=4]=\"NoIndentationOnFreshPropertyAccess\",s[s.NoOriginalNode=8]=\"NoOriginalNode\",e.createNodeFactory=m0;var E0={};function I(d0){return-16777217&A(d0)}function A(d0){if(!d0)return 0;var P0=d0.transformFlags&~o0(d0.kind);return e.isNamedDeclaration(d0)&&e.isPropertyName(d0.name)?function(c0,D0){return D0|8192&c0.transformFlags}(d0.name,P0):P0}function Z(d0){return d0?d0.transformFlags:0}function A0(d0){for(var P0=0,c0=0,D0=d0;c0<D0.length;c0++)P0|=A(D0[c0]);d0.transformFlags=P0}function o0(d0){if(d0>=173&&d0<=196)return-2;switch(d0){case 204:case 205:case 200:return 536887296;case 257:return 555888640;case 161:return 536870912;case 210:return 557748224;case 209:case 252:return 557756416;case 251:return 537165824;case 253:case 222:return 536940544;case 167:return 557752320;case 164:return 536879104;case 166:case 168:case 169:return 540975104;case 128:case 144:case 155:case 141:case 147:case 145:case 131:case 148:case 113:case 160:case 163:case 165:case 170:case 171:case 172:case 254:case 255:return-2;case 201:return 536973312;case 288:return 536903680;case 197:case 198:return 536887296;case 207:case 225:case 340:case 208:case 105:return 536870912;case 202:case 203:default:return 536870912}}e.getTransformFlagsSubtreeExclusions=o0;var j=e.createBaseNodeFactory();function G(d0){return d0.flags|=8,d0}var u0,U={createBaseSourceFileNode:function(d0){return G(j.createBaseSourceFileNode(d0))},createBaseIdentifierNode:function(d0){return G(j.createBaseIdentifierNode(d0))},createBasePrivateIdentifierNode:function(d0){return G(j.createBasePrivateIdentifierNode(d0))},createBaseTokenNode:function(d0){return G(j.createBaseTokenNode(d0))},createBaseNode:function(d0){return G(j.createBaseNode(d0))}};function g0(d0,P0){if(d0.original=P0,P0){var c0=P0.emitNode;c0&&(d0.emitNode=function(D0,x0){var l0=D0.flags,w0=D0.leadingComments,V=D0.trailingComments,w=D0.commentRange,H=D0.sourceMapRange,k0=D0.tokenSourceMapRanges,V0=D0.constantValue,t0=D0.helpers,f0=D0.startsOnNewLine;if(x0||(x0={}),w0&&(x0.leadingComments=e.addRange(w0.slice(),x0.leadingComments)),V&&(x0.trailingComments=e.addRange(V.slice(),x0.trailingComments)),l0&&(x0.flags=l0),w&&(x0.commentRange=w),H&&(x0.sourceMapRange=H),k0&&(x0.tokenSourceMapRanges=function(h1,S1){S1||(S1=[]);for(var Q1 in h1)S1[Q1]=h1[Q1];return S1}(k0,x0.tokenSourceMapRanges)),V0!==void 0&&(x0.constantValue=V0),t0)for(var y0=0,G0=t0;y0<G0.length;y0++){var d1=G0[y0];x0.helpers=e.appendIfUnique(x0.helpers,d1)}return f0!==void 0&&(x0.startsOnNewLine=f0),x0}(c0,d0.emitNode))}return d0}e.factory=m0(4,U),e.createUnparsedSourceFile=function(d0,P0,c0){var D0,x0,l0,w0,V,w,H,k0,V0,t0;e.isString(d0)?(l0=\"\",w0=d0,V=d0.length,w=P0,H=c0):(e.Debug.assert(P0===\"js\"||P0===\"dts\"),l0=(P0===\"js\"?d0.javascriptPath:d0.declarationPath)||\"\",w=P0===\"js\"?d0.javascriptMapPath:d0.declarationMapPath,k0=function(){return P0===\"js\"?d0.javascriptText:d0.declarationText},V0=function(){return P0===\"js\"?d0.javascriptMapText:d0.declarationMapText},V=function(){return k0().length},d0.buildInfo&&d0.buildInfo.bundle&&(e.Debug.assert(c0===void 0||typeof c0==\"boolean\"),D0=c0,x0=P0===\"js\"?d0.buildInfo.bundle.js:d0.buildInfo.bundle.dts,t0=d0.oldFileOfCurrentEmit));var f0=t0?function(y0){for(var G0,d1,h1=0,S1=y0.sections;h1<S1.length;h1++){var Q1=S1[h1];switch(Q1.kind){case\"internal\":case\"text\":G0=e.append(G0,e.setTextRange(e.factory.createUnparsedTextLike(Q1.data,Q1.kind===\"internal\"),Q1));break;case\"no-default-lib\":case\"reference\":case\"type\":case\"lib\":d1=e.append(d1,e.setTextRange(e.factory.createUnparsedSyntheticReference(Q1),Q1));break;case\"prologue\":case\"emitHelpers\":case\"prepend\":break;default:e.Debug.assertNever(Q1)}}var Y0=e.factory.createUnparsedSource(e.emptyArray,d1,G0!=null?G0:e.emptyArray);return e.setEachParent(d1,Y0),e.setEachParent(G0,Y0),Y0.helpers=e.map(y0.sources&&y0.sources.helpers,function($1){return e.getAllUnscopedEmitHelpers().get($1)}),Y0}(e.Debug.assertDefined(x0)):function(y0,G0,d1){for(var h1,S1,Q1,Y0,$1,Z1,Q0,y1,k1=0,I1=y0?y0.sections:e.emptyArray;k1<I1.length;k1++){var K0=I1[k1];switch(K0.kind){case\"prologue\":h1=e.append(h1,e.setTextRange(e.factory.createUnparsedPrologue(K0.data),K0));break;case\"emitHelpers\":S1=e.append(S1,e.getAllUnscopedEmitHelpers().get(K0.data));break;case\"no-default-lib\":y1=!0;break;case\"reference\":Q1=e.append(Q1,{pos:-1,end:-1,fileName:K0.data});break;case\"type\":Y0=e.append(Y0,K0.data);break;case\"lib\":$1=e.append($1,{pos:-1,end:-1,fileName:K0.data});break;case\"prepend\":for(var G1=void 0,Nx=0,n1=K0.texts;Nx<n1.length;Nx++){var S0=n1[Nx];G0&&S0.kind===\"internal\"||(G1=e.append(G1,e.setTextRange(e.factory.createUnparsedTextLike(S0.data,S0.kind===\"internal\"),S0)))}Z1=e.addRange(Z1,G1),Q0=e.append(Q0,e.factory.createUnparsedPrepend(K0.data,G1!=null?G1:e.emptyArray));break;case\"internal\":if(G0){Q0||(Q0=[]);break}case\"text\":Q0=e.append(Q0,e.setTextRange(e.factory.createUnparsedTextLike(K0.data,K0.kind===\"internal\"),K0));break;default:e.Debug.assertNever(K0)}}if(!Q0){var I0=e.factory.createUnparsedTextLike(void 0,!1);e.setTextRangePosWidth(I0,0,typeof d1==\"function\"?d1():d1),Q0=[I0]}var U0=e.parseNodeFactory.createUnparsedSource(h1!=null?h1:e.emptyArray,void 0,Q0);return e.setEachParent(h1,U0),e.setEachParent(Q0,U0),e.setEachParent(Z1,U0),U0.hasNoDefaultLib=y1,U0.helpers=S1,U0.referencedFiles=Q1||e.emptyArray,U0.typeReferenceDirectives=Y0,U0.libReferenceDirectives=$1||e.emptyArray,U0}(x0,D0,V);return f0.fileName=l0,f0.sourceMapPath=w,f0.oldFileOfCurrentEmit=t0,k0&&V0?(Object.defineProperty(f0,\"text\",{get:k0}),Object.defineProperty(f0,\"sourceMapText\",{get:V0})):(e.Debug.assert(!t0),f0.text=w0!=null?w0:\"\",f0.sourceMapText=H),f0},e.createInputFiles=function(d0,P0,c0,D0,x0,l0,w0,V,w,H,k0){var V0=e.parseNodeFactory.createInputFiles();if(e.isString(d0))V0.javascriptText=d0,V0.javascriptMapPath=c0,V0.javascriptMapText=D0,V0.declarationText=P0,V0.declarationMapPath=x0,V0.declarationMapText=l0,V0.javascriptPath=w0,V0.declarationPath=V,V0.buildInfoPath=w,V0.buildInfo=H,V0.oldFileOfCurrentEmit=k0;else{var t0,f0=new e.Map,y0=function(d1){if(d1!==void 0){var h1=f0.get(d1);return h1===void 0&&(h1=d0(d1),f0.set(d1,h1!==void 0&&h1)),h1!==!1?h1:void 0}},G0=function(d1){var h1=y0(d1);return h1!==void 0?h1:\"/* Input file \"+d1+` was missing */\\r\n`};V0.javascriptPath=P0,V0.javascriptMapPath=c0,V0.declarationPath=e.Debug.assertDefined(D0),V0.declarationMapPath=x0,V0.buildInfoPath=l0,Object.defineProperties(V0,{javascriptText:{get:function(){return G0(P0)}},javascriptMapText:{get:function(){return y0(c0)}},declarationText:{get:function(){return G0(e.Debug.assertDefined(D0))}},declarationMapText:{get:function(){return y0(x0)}},buildInfo:{get:function(){return function(d1){if(t0===void 0){var h1=d1();t0=h1!==void 0&&e.getBuildInfo(h1)}return t0||void 0}(function(){return y0(l0)})}}})}return V0},e.createSourceMapSource=function(d0,P0,c0){return new(u0||(u0=e.objectAllocator.getSourceMapSourceConstructor()))(d0,P0,c0)},e.setOriginalNode=g0}(_0||(_0={})),function(e){function s(i0){var H0;if(!i0.emitNode){if(e.isParseTreeNode(i0)){if(i0.kind===298)return i0.emitNode={annotatedNodes:[i0]};s((H0=e.getSourceFileOfNode(e.getParseTreeNode(e.getSourceFileOfNode(i0))))!==null&&H0!==void 0?H0:e.Debug.fail(\"Could not determine parsed source file.\")).annotatedNodes.push(i0)}i0.emitNode={}}return i0.emitNode}function X(i0){var H0;return(H0=i0.emitNode)===null||H0===void 0?void 0:H0.leadingComments}function J(i0,H0){return s(i0).leadingComments=H0,i0}function m0(i0){var H0;return(H0=i0.emitNode)===null||H0===void 0?void 0:H0.trailingComments}function s1(i0,H0){return s(i0).trailingComments=H0,i0}e.getOrCreateEmitNode=s,e.disposeEmitNodes=function(i0){var H0,E0,I=(E0=(H0=e.getSourceFileOfNode(e.getParseTreeNode(i0)))===null||H0===void 0?void 0:H0.emitNode)===null||E0===void 0?void 0:E0.annotatedNodes;if(I)for(var A=0,Z=I;A<Z.length;A++)Z[A].emitNode=void 0},e.removeAllComments=function(i0){var H0=s(i0);return H0.flags|=1536,H0.leadingComments=void 0,H0.trailingComments=void 0,i0},e.setEmitFlags=function(i0,H0){return s(i0).flags=H0,i0},e.addEmitFlags=function(i0,H0){var E0=s(i0);return E0.flags=E0.flags|H0,i0},e.getSourceMapRange=function(i0){var H0,E0;return(E0=(H0=i0.emitNode)===null||H0===void 0?void 0:H0.sourceMapRange)!==null&&E0!==void 0?E0:i0},e.setSourceMapRange=function(i0,H0){return s(i0).sourceMapRange=H0,i0},e.getTokenSourceMapRange=function(i0,H0){var E0,I;return(I=(E0=i0.emitNode)===null||E0===void 0?void 0:E0.tokenSourceMapRanges)===null||I===void 0?void 0:I[H0]},e.setTokenSourceMapRange=function(i0,H0,E0){var I,A=s(i0);return((I=A.tokenSourceMapRanges)!==null&&I!==void 0?I:A.tokenSourceMapRanges=[])[H0]=E0,i0},e.getStartsOnNewLine=function(i0){var H0;return(H0=i0.emitNode)===null||H0===void 0?void 0:H0.startsOnNewLine},e.setStartsOnNewLine=function(i0,H0){return s(i0).startsOnNewLine=H0,i0},e.getCommentRange=function(i0){var H0,E0;return(E0=(H0=i0.emitNode)===null||H0===void 0?void 0:H0.commentRange)!==null&&E0!==void 0?E0:i0},e.setCommentRange=function(i0,H0){return s(i0).commentRange=H0,i0},e.getSyntheticLeadingComments=X,e.setSyntheticLeadingComments=J,e.addSyntheticLeadingComment=function(i0,H0,E0,I){return J(i0,e.append(X(i0),{kind:H0,pos:-1,end:-1,hasTrailingNewLine:I,text:E0}))},e.getSyntheticTrailingComments=m0,e.setSyntheticTrailingComments=s1,e.addSyntheticTrailingComment=function(i0,H0,E0,I){return s1(i0,e.append(m0(i0),{kind:H0,pos:-1,end:-1,hasTrailingNewLine:I,text:E0}))},e.moveSyntheticComments=function(i0,H0){J(i0,X(H0)),s1(i0,m0(H0));var E0=s(H0);return E0.leadingComments=void 0,E0.trailingComments=void 0,i0},e.getConstantValue=function(i0){var H0;return(H0=i0.emitNode)===null||H0===void 0?void 0:H0.constantValue},e.setConstantValue=function(i0,H0){return s(i0).constantValue=H0,i0},e.addEmitHelper=function(i0,H0){var E0=s(i0);return E0.helpers=e.append(E0.helpers,H0),i0},e.addEmitHelpers=function(i0,H0){if(e.some(H0))for(var E0=s(i0),I=0,A=H0;I<A.length;I++){var Z=A[I];E0.helpers=e.appendIfUnique(E0.helpers,Z)}return i0},e.removeEmitHelper=function(i0,H0){var E0,I=(E0=i0.emitNode)===null||E0===void 0?void 0:E0.helpers;return!!I&&e.orderedRemoveItem(I,H0)},e.getEmitHelpers=function(i0){var H0;return(H0=i0.emitNode)===null||H0===void 0?void 0:H0.helpers},e.moveEmitHelpers=function(i0,H0,E0){var I=i0.emitNode,A=I&&I.helpers;if(e.some(A)){for(var Z=s(H0),A0=0,o0=0;o0<A.length;o0++){var j=A[o0];E0(j)?(A0++,Z.helpers=e.appendIfUnique(Z.helpers,j)):A0>0&&(A[o0-A0]=j)}A0>0&&(A.length-=A0)}},e.ignoreSourceNewlines=function(i0){return s(i0).flags|=134217728,i0}}(_0||(_0={})),function(e){function s(J){for(var m0=[],s1=1;s1<arguments.length;s1++)m0[s1-1]=arguments[s1];return function(i0){for(var H0=\"\",E0=0;E0<m0.length;E0++)H0+=J[E0],H0+=i0(m0[E0]);return H0+=J[J.length-1]}}var X;e.createEmitHelperFactory=function(J){var m0=J.factory;return{getUnscopedHelperName:s1,createDecorateHelper:function(i0,H0,E0,I){J.requestEmitHelper(e.decorateHelper);var A=[];return A.push(m0.createArrayLiteralExpression(i0,!0)),A.push(H0),E0&&(A.push(E0),I&&A.push(I)),m0.createCallExpression(s1(\"__decorate\"),void 0,A)},createMetadataHelper:function(i0,H0){return J.requestEmitHelper(e.metadataHelper),m0.createCallExpression(s1(\"__metadata\"),void 0,[m0.createStringLiteral(i0),H0])},createParamHelper:function(i0,H0,E0){return J.requestEmitHelper(e.paramHelper),e.setTextRange(m0.createCallExpression(s1(\"__param\"),void 0,[m0.createNumericLiteral(H0+\"\"),i0]),E0)},createAssignHelper:function(i0){return J.getCompilerOptions().target>=2?m0.createCallExpression(m0.createPropertyAccessExpression(m0.createIdentifier(\"Object\"),\"assign\"),void 0,i0):(J.requestEmitHelper(e.assignHelper),m0.createCallExpression(s1(\"__assign\"),void 0,i0))},createAwaitHelper:function(i0){return J.requestEmitHelper(e.awaitHelper),m0.createCallExpression(s1(\"__await\"),void 0,[i0])},createAsyncGeneratorHelper:function(i0,H0){return J.requestEmitHelper(e.awaitHelper),J.requestEmitHelper(e.asyncGeneratorHelper),(i0.emitNode||(i0.emitNode={})).flags|=786432,m0.createCallExpression(s1(\"__asyncGenerator\"),void 0,[H0?m0.createThis():m0.createVoidZero(),m0.createIdentifier(\"arguments\"),i0])},createAsyncDelegatorHelper:function(i0){return J.requestEmitHelper(e.awaitHelper),J.requestEmitHelper(e.asyncDelegator),m0.createCallExpression(s1(\"__asyncDelegator\"),void 0,[i0])},createAsyncValuesHelper:function(i0){return J.requestEmitHelper(e.asyncValues),m0.createCallExpression(s1(\"__asyncValues\"),void 0,[i0])},createRestHelper:function(i0,H0,E0,I){J.requestEmitHelper(e.restHelper);for(var A=[],Z=0,A0=0;A0<H0.length-1;A0++){var o0=e.getPropertyNameOfBindingOrAssignmentElement(H0[A0]);if(o0)if(e.isComputedPropertyName(o0)){e.Debug.assertIsDefined(E0,\"Encountered computed property name but 'computedTempVariables' argument was not provided.\");var j=E0[Z];Z++,A.push(m0.createConditionalExpression(m0.createTypeCheck(j,\"symbol\"),void 0,j,void 0,m0.createAdd(j,m0.createStringLiteral(\"\"))))}else A.push(m0.createStringLiteralFromNode(o0))}return m0.createCallExpression(s1(\"__rest\"),void 0,[i0,e.setTextRange(m0.createArrayLiteralExpression(A),I)])},createAwaiterHelper:function(i0,H0,E0,I){J.requestEmitHelper(e.awaiterHelper);var A=m0.createFunctionExpression(void 0,m0.createToken(41),void 0,void 0,[],void 0,I);return(A.emitNode||(A.emitNode={})).flags|=786432,m0.createCallExpression(s1(\"__awaiter\"),void 0,[i0?m0.createThis():m0.createVoidZero(),H0?m0.createIdentifier(\"arguments\"):m0.createVoidZero(),E0?e.createExpressionFromEntityName(m0,E0):m0.createVoidZero(),A])},createExtendsHelper:function(i0){return J.requestEmitHelper(e.extendsHelper),m0.createCallExpression(s1(\"__extends\"),void 0,[i0,m0.createUniqueName(\"_super\",48)])},createTemplateObjectHelper:function(i0,H0){return J.requestEmitHelper(e.templateObjectHelper),m0.createCallExpression(s1(\"__makeTemplateObject\"),void 0,[i0,H0])},createSpreadArrayHelper:function(i0,H0){return J.requestEmitHelper(e.spreadArrayHelper),m0.createCallExpression(s1(\"__spreadArray\"),void 0,[i0,H0])},createValuesHelper:function(i0){return J.requestEmitHelper(e.valuesHelper),m0.createCallExpression(s1(\"__values\"),void 0,[i0])},createReadHelper:function(i0,H0){return J.requestEmitHelper(e.readHelper),m0.createCallExpression(s1(\"__read\"),void 0,H0!==void 0?[i0,m0.createNumericLiteral(H0+\"\")]:[i0])},createGeneratorHelper:function(i0){return J.requestEmitHelper(e.generatorHelper),m0.createCallExpression(s1(\"__generator\"),void 0,[m0.createThis(),i0])},createCreateBindingHelper:function(i0,H0,E0){return J.requestEmitHelper(e.createBindingHelper),m0.createCallExpression(s1(\"__createBinding\"),void 0,D([m0.createIdentifier(\"exports\"),i0,H0],E0?[E0]:[]))},createImportStarHelper:function(i0){return J.requestEmitHelper(e.importStarHelper),m0.createCallExpression(s1(\"__importStar\"),void 0,[i0])},createImportStarCallbackHelper:function(){return J.requestEmitHelper(e.importStarHelper),s1(\"__importStar\")},createImportDefaultHelper:function(i0){return J.requestEmitHelper(e.importDefaultHelper),m0.createCallExpression(s1(\"__importDefault\"),void 0,[i0])},createExportStarHelper:function(i0,H0){return H0===void 0&&(H0=m0.createIdentifier(\"exports\")),J.requestEmitHelper(e.exportStarHelper),J.requestEmitHelper(e.createBindingHelper),m0.createCallExpression(s1(\"__exportStar\"),void 0,[i0,H0])},createClassPrivateFieldGetHelper:function(i0,H0,E0,I){var A;return J.requestEmitHelper(e.classPrivateFieldGetHelper),A=I?[i0,H0,m0.createStringLiteral(E0),I]:[i0,H0,m0.createStringLiteral(E0)],m0.createCallExpression(s1(\"__classPrivateFieldGet\"),void 0,A)},createClassPrivateFieldSetHelper:function(i0,H0,E0,I,A){var Z;return J.requestEmitHelper(e.classPrivateFieldSetHelper),Z=A?[i0,H0,E0,m0.createStringLiteral(I),A]:[i0,H0,E0,m0.createStringLiteral(I)],m0.createCallExpression(s1(\"__classPrivateFieldSet\"),void 0,Z)}};function s1(i0){return e.setEmitFlags(m0.createIdentifier(i0),4098)}},e.compareEmitHelpers=function(J,m0){return J===m0||J.priority===m0.priority?0:J.priority===void 0?1:m0.priority===void 0?-1:e.compareValues(J.priority,m0.priority)},e.helperString=s,e.decorateHelper={name:\"typescript:decorate\",importName:\"__decorate\",scoped:!1,priority:2,text:`\n            var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n                var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n                if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n                else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n                return c > 3 && r && Object.defineProperty(target, key, r), r;\n            };`},e.metadataHelper={name:\"typescript:metadata\",importName:\"__metadata\",scoped:!1,priority:3,text:`\n            var __metadata = (this && this.__metadata) || function (k, v) {\n                if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n            };`},e.paramHelper={name:\"typescript:param\",importName:\"__param\",scoped:!1,priority:4,text:`\n            var __param = (this && this.__param) || function (paramIndex, decorator) {\n                return function (target, key) { decorator(target, key, paramIndex); }\n            };`},e.assignHelper={name:\"typescript:assign\",importName:\"__assign\",scoped:!1,priority:1,text:`\n            var __assign = (this && this.__assign) || function () {\n                __assign = Object.assign || function(t) {\n                    for (var s, i = 1, n = arguments.length; i < n; i++) {\n                        s = arguments[i];\n                        for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n                            t[p] = s[p];\n                    }\n                    return t;\n                };\n                return __assign.apply(this, arguments);\n            };`},e.awaitHelper={name:\"typescript:await\",importName:\"__await\",scoped:!1,text:`\n            var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }`},e.asyncGeneratorHelper={name:\"typescript:asyncGenerator\",importName:\"__asyncGenerator\",scoped:!1,dependencies:[e.awaitHelper],text:`\n            var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n                if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n                var g = generator.apply(thisArg, _arguments || []), i, q = [];\n                return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n                function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n                function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n                function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n                function fulfill(value) { resume(\"next\", value); }\n                function reject(value) { resume(\"throw\", value); }\n                function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n            };`},e.asyncDelegator={name:\"typescript:asyncDelegator\",importName:\"__asyncDelegator\",scoped:!1,dependencies:[e.awaitHelper],text:`\n            var __asyncDelegator = (this && this.__asyncDelegator) || function (o) {\n                var i, p;\n                return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n                function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\n            };`},e.asyncValues={name:\"typescript:asyncValues\",importName:\"__asyncValues\",scoped:!1,text:`\n            var __asyncValues = (this && this.__asyncValues) || function (o) {\n                if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n                var m = o[Symbol.asyncIterator], i;\n                return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n                function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n                function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n            };`},e.restHelper={name:\"typescript:rest\",importName:\"__rest\",scoped:!1,text:`\n            var __rest = (this && this.__rest) || function (s, e) {\n                var t = {};\n                for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n                    t[p] = s[p];\n                if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n                    for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n                        if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n                            t[p[i]] = s[p[i]];\n                    }\n                return t;\n            };`},e.awaiterHelper={name:\"typescript:awaiter\",importName:\"__awaiter\",scoped:!1,priority:5,text:`\n            var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n                function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n                return new (P || (P = Promise))(function (resolve, reject) {\n                    function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n                    function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n                    function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n                    step((generator = generator.apply(thisArg, _arguments || [])).next());\n                });\n            };`},e.extendsHelper={name:\"typescript:extends\",importName:\"__extends\",scoped:!1,priority:0,text:`\n            var __extends = (this && this.__extends) || (function () {\n                var extendStatics = function (d, b) {\n                    extendStatics = Object.setPrototypeOf ||\n                        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n                        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n                    return extendStatics(d, b);\n                };\n\n                return function (d, b) {\n                    if (typeof b !== \"function\" && b !== null)\n                        throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n                    extendStatics(d, b);\n                    function __() { this.constructor = d; }\n                    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n                };\n            })();`},e.templateObjectHelper={name:\"typescript:makeTemplateObject\",importName:\"__makeTemplateObject\",scoped:!1,priority:0,text:`\n            var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n                if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n                return cooked;\n            };`},e.readHelper={name:\"typescript:read\",importName:\"__read\",scoped:!1,text:`\n            var __read = (this && this.__read) || function (o, n) {\n                var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n                if (!m) return o;\n                var i = m.call(o), r, ar = [], e;\n                try {\n                    while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n                }\n                catch (error) { e = { error: error }; }\n                finally {\n                    try {\n                        if (r && !r.done && (m = i[\"return\"])) m.call(i);\n                    }\n                    finally { if (e) throw e.error; }\n                }\n                return ar;\n            };`},e.spreadArrayHelper={name:\"typescript:spreadArray\",importName:\"__spreadArray\",scoped:!1,text:`\n            var __spreadArray = (this && this.__spreadArray) || function (to, from) {\n                for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\n                    to[j] = from[i];\n                return to;\n            };`},e.valuesHelper={name:\"typescript:values\",importName:\"__values\",scoped:!1,text:`\n            var __values = (this && this.__values) || function(o) {\n                var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n                if (m) return m.call(o);\n                if (o && typeof o.length === \"number\") return {\n                    next: function () {\n                        if (o && i >= o.length) o = void 0;\n                        return { value: o && o[i++], done: !o };\n                    }\n                };\n                throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n            };`},e.generatorHelper={name:\"typescript:generator\",importName:\"__generator\",scoped:!1,priority:6,text:`\n            var __generator = (this && this.__generator) || function (thisArg, body) {\n                var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n                return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n                function verb(n) { return function (v) { return step([n, v]); }; }\n                function step(op) {\n                    if (f) throw new TypeError(\"Generator is already executing.\");\n                    while (_) try {\n                        if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n                        if (y = 0, t) op = [op[0] & 2, t.value];\n                        switch (op[0]) {\n                            case 0: case 1: t = op; break;\n                            case 4: _.label++; return { value: op[1], done: false };\n                            case 5: _.label++; y = op[1]; op = [0]; continue;\n                            case 7: op = _.ops.pop(); _.trys.pop(); continue;\n                            default:\n                                if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n                                if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n                                if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n                                if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n                                if (t[2]) _.ops.pop();\n                                _.trys.pop(); continue;\n                        }\n                        op = body.call(thisArg, _);\n                    } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n                    if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n                }\n            };`},e.createBindingHelper={name:\"typescript:commonjscreatebinding\",importName:\"__createBinding\",scoped:!1,priority:1,text:`\n            var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n                if (k2 === undefined) k2 = k;\n                Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n            }) : (function(o, m, k, k2) {\n                if (k2 === undefined) k2 = k;\n                o[k2] = m[k];\n            }));`},e.setModuleDefaultHelper={name:\"typescript:commonjscreatevalue\",importName:\"__setModuleDefault\",scoped:!1,priority:1,text:`\n            var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n                Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n            }) : function(o, v) {\n                o[\"default\"] = v;\n            });`},e.importStarHelper={name:\"typescript:commonjsimportstar\",importName:\"__importStar\",scoped:!1,dependencies:[e.createBindingHelper,e.setModuleDefaultHelper],priority:2,text:`\n            var __importStar = (this && this.__importStar) || function (mod) {\n                if (mod && mod.__esModule) return mod;\n                var result = {};\n                if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n                __setModuleDefault(result, mod);\n                return result;\n            };`},e.importDefaultHelper={name:\"typescript:commonjsimportdefault\",importName:\"__importDefault\",scoped:!1,text:`\n            var __importDefault = (this && this.__importDefault) || function (mod) {\n                return (mod && mod.__esModule) ? mod : { \"default\": mod };\n            };`},e.exportStarHelper={name:\"typescript:export-star\",importName:\"__exportStar\",scoped:!1,dependencies:[e.createBindingHelper],priority:2,text:`\n            var __exportStar = (this && this.__exportStar) || function(m, exports) {\n                for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n            };`},e.classPrivateFieldGetHelper={name:\"typescript:classPrivateFieldGet\",importName:\"__classPrivateFieldGet\",scoped:!1,text:`\n            var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n                if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n                if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n                return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n            };`},e.classPrivateFieldSetHelper={name:\"typescript:classPrivateFieldSet\",importName:\"__classPrivateFieldSet\",scoped:!1,text:`\n            var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n                if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n                if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n                if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n                return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n            };`},e.getAllUnscopedEmitHelpers=function(){return X||(X=e.arrayToMap([e.decorateHelper,e.metadataHelper,e.paramHelper,e.assignHelper,e.awaitHelper,e.asyncGeneratorHelper,e.asyncDelegator,e.asyncValues,e.restHelper,e.awaiterHelper,e.extendsHelper,e.templateObjectHelper,e.spreadArrayHelper,e.valuesHelper,e.readHelper,e.generatorHelper,e.importStarHelper,e.importDefaultHelper,e.exportStarHelper,e.classPrivateFieldGetHelper,e.classPrivateFieldSetHelper,e.createBindingHelper,e.setModuleDefaultHelper],function(J){return J.name}))},e.asyncSuperHelper={name:\"typescript:async-super\",scoped:!0,text:s(o1([`\n            const `,\" = name => super[name];\"],[`\n            const `,\" = name => super[name];\"]),\"_superIndex\")},e.advancedAsyncSuperHelper={name:\"typescript:advanced-async-super\",scoped:!0,text:s(o1([`\n            const `,` = (function (geti, seti) {\n                const cache = Object.create(null);\n                return name => cache[name] || (cache[name] = { get value() { return geti(name); }, set value(v) { seti(name, v); } });\n            })(name => super[name], (name, value) => super[name] = value);`],[`\n            const `,` = (function (geti, seti) {\n                const cache = Object.create(null);\n                return name => cache[name] || (cache[name] = { get value() { return geti(name); }, set value(v) { seti(name, v); } });\n            })(name => super[name], (name, value) => super[name] = value);`]),\"_superIndex\")},e.isCallToHelper=function(J,m0){return e.isCallExpression(J)&&e.isIdentifier(J.expression)&&4096&e.getEmitFlags(J.expression)&&J.expression.escapedText===m0}}(_0||(_0={})),function(e){e.isNumericLiteral=function(s){return s.kind===8},e.isBigIntLiteral=function(s){return s.kind===9},e.isStringLiteral=function(s){return s.kind===10},e.isJsxText=function(s){return s.kind===11},e.isRegularExpressionLiteral=function(s){return s.kind===13},e.isNoSubstitutionTemplateLiteral=function(s){return s.kind===14},e.isTemplateHead=function(s){return s.kind===15},e.isTemplateMiddle=function(s){return s.kind===16},e.isTemplateTail=function(s){return s.kind===17},e.isDotDotDotToken=function(s){return s.kind===25},e.isCommaToken=function(s){return s.kind===27},e.isPlusToken=function(s){return s.kind===39},e.isMinusToken=function(s){return s.kind===40},e.isAsteriskToken=function(s){return s.kind===41},e.isExclamationToken=function(s){return s.kind===53},e.isQuestionToken=function(s){return s.kind===57},e.isColonToken=function(s){return s.kind===58},e.isQuestionDotToken=function(s){return s.kind===28},e.isEqualsGreaterThanToken=function(s){return s.kind===38},e.isIdentifier=function(s){return s.kind===78},e.isPrivateIdentifier=function(s){return s.kind===79},e.isExportModifier=function(s){return s.kind===92},e.isAsyncModifier=function(s){return s.kind===129},e.isAssertsKeyword=function(s){return s.kind===127},e.isAwaitKeyword=function(s){return s.kind===130},e.isReadonlyKeyword=function(s){return s.kind===142},e.isStaticModifier=function(s){return s.kind===123},e.isSuperKeyword=function(s){return s.kind===105},e.isImportKeyword=function(s){return s.kind===99},e.isQualifiedName=function(s){return s.kind===158},e.isComputedPropertyName=function(s){return s.kind===159},e.isTypeParameterDeclaration=function(s){return s.kind===160},e.isParameter=function(s){return s.kind===161},e.isDecorator=function(s){return s.kind===162},e.isPropertySignature=function(s){return s.kind===163},e.isPropertyDeclaration=function(s){return s.kind===164},e.isMethodSignature=function(s){return s.kind===165},e.isMethodDeclaration=function(s){return s.kind===166},e.isConstructorDeclaration=function(s){return s.kind===167},e.isGetAccessorDeclaration=function(s){return s.kind===168},e.isSetAccessorDeclaration=function(s){return s.kind===169},e.isCallSignatureDeclaration=function(s){return s.kind===170},e.isConstructSignatureDeclaration=function(s){return s.kind===171},e.isIndexSignatureDeclaration=function(s){return s.kind===172},e.isTypePredicateNode=function(s){return s.kind===173},e.isTypeReferenceNode=function(s){return s.kind===174},e.isFunctionTypeNode=function(s){return s.kind===175},e.isConstructorTypeNode=function(s){return s.kind===176},e.isTypeQueryNode=function(s){return s.kind===177},e.isTypeLiteralNode=function(s){return s.kind===178},e.isArrayTypeNode=function(s){return s.kind===179},e.isTupleTypeNode=function(s){return s.kind===180},e.isNamedTupleMember=function(s){return s.kind===193},e.isOptionalTypeNode=function(s){return s.kind===181},e.isRestTypeNode=function(s){return s.kind===182},e.isUnionTypeNode=function(s){return s.kind===183},e.isIntersectionTypeNode=function(s){return s.kind===184},e.isConditionalTypeNode=function(s){return s.kind===185},e.isInferTypeNode=function(s){return s.kind===186},e.isParenthesizedTypeNode=function(s){return s.kind===187},e.isThisTypeNode=function(s){return s.kind===188},e.isTypeOperatorNode=function(s){return s.kind===189},e.isIndexedAccessTypeNode=function(s){return s.kind===190},e.isMappedTypeNode=function(s){return s.kind===191},e.isLiteralTypeNode=function(s){return s.kind===192},e.isImportTypeNode=function(s){return s.kind===196},e.isTemplateLiteralTypeSpan=function(s){return s.kind===195},e.isTemplateLiteralTypeNode=function(s){return s.kind===194},e.isObjectBindingPattern=function(s){return s.kind===197},e.isArrayBindingPattern=function(s){return s.kind===198},e.isBindingElement=function(s){return s.kind===199},e.isArrayLiteralExpression=function(s){return s.kind===200},e.isObjectLiteralExpression=function(s){return s.kind===201},e.isPropertyAccessExpression=function(s){return s.kind===202},e.isElementAccessExpression=function(s){return s.kind===203},e.isCallExpression=function(s){return s.kind===204},e.isNewExpression=function(s){return s.kind===205},e.isTaggedTemplateExpression=function(s){return s.kind===206},e.isTypeAssertionExpression=function(s){return s.kind===207},e.isParenthesizedExpression=function(s){return s.kind===208},e.isFunctionExpression=function(s){return s.kind===209},e.isArrowFunction=function(s){return s.kind===210},e.isDeleteExpression=function(s){return s.kind===211},e.isTypeOfExpression=function(s){return s.kind===212},e.isVoidExpression=function(s){return s.kind===213},e.isAwaitExpression=function(s){return s.kind===214},e.isPrefixUnaryExpression=function(s){return s.kind===215},e.isPostfixUnaryExpression=function(s){return s.kind===216},e.isBinaryExpression=function(s){return s.kind===217},e.isConditionalExpression=function(s){return s.kind===218},e.isTemplateExpression=function(s){return s.kind===219},e.isYieldExpression=function(s){return s.kind===220},e.isSpreadElement=function(s){return s.kind===221},e.isClassExpression=function(s){return s.kind===222},e.isOmittedExpression=function(s){return s.kind===223},e.isExpressionWithTypeArguments=function(s){return s.kind===224},e.isAsExpression=function(s){return s.kind===225},e.isNonNullExpression=function(s){return s.kind===226},e.isMetaProperty=function(s){return s.kind===227},e.isSyntheticExpression=function(s){return s.kind===228},e.isPartiallyEmittedExpression=function(s){return s.kind===340},e.isCommaListExpression=function(s){return s.kind===341},e.isTemplateSpan=function(s){return s.kind===229},e.isSemicolonClassElement=function(s){return s.kind===230},e.isBlock=function(s){return s.kind===231},e.isVariableStatement=function(s){return s.kind===233},e.isEmptyStatement=function(s){return s.kind===232},e.isExpressionStatement=function(s){return s.kind===234},e.isIfStatement=function(s){return s.kind===235},e.isDoStatement=function(s){return s.kind===236},e.isWhileStatement=function(s){return s.kind===237},e.isForStatement=function(s){return s.kind===238},e.isForInStatement=function(s){return s.kind===239},e.isForOfStatement=function(s){return s.kind===240},e.isContinueStatement=function(s){return s.kind===241},e.isBreakStatement=function(s){return s.kind===242},e.isReturnStatement=function(s){return s.kind===243},e.isWithStatement=function(s){return s.kind===244},e.isSwitchStatement=function(s){return s.kind===245},e.isLabeledStatement=function(s){return s.kind===246},e.isThrowStatement=function(s){return s.kind===247},e.isTryStatement=function(s){return s.kind===248},e.isDebuggerStatement=function(s){return s.kind===249},e.isVariableDeclaration=function(s){return s.kind===250},e.isVariableDeclarationList=function(s){return s.kind===251},e.isFunctionDeclaration=function(s){return s.kind===252},e.isClassDeclaration=function(s){return s.kind===253},e.isInterfaceDeclaration=function(s){return s.kind===254},e.isTypeAliasDeclaration=function(s){return s.kind===255},e.isEnumDeclaration=function(s){return s.kind===256},e.isModuleDeclaration=function(s){return s.kind===257},e.isModuleBlock=function(s){return s.kind===258},e.isCaseBlock=function(s){return s.kind===259},e.isNamespaceExportDeclaration=function(s){return s.kind===260},e.isImportEqualsDeclaration=function(s){return s.kind===261},e.isImportDeclaration=function(s){return s.kind===262},e.isImportClause=function(s){return s.kind===263},e.isNamespaceImport=function(s){return s.kind===264},e.isNamespaceExport=function(s){return s.kind===270},e.isNamedImports=function(s){return s.kind===265},e.isImportSpecifier=function(s){return s.kind===266},e.isExportAssignment=function(s){return s.kind===267},e.isExportDeclaration=function(s){return s.kind===268},e.isNamedExports=function(s){return s.kind===269},e.isExportSpecifier=function(s){return s.kind===271},e.isMissingDeclaration=function(s){return s.kind===272},e.isNotEmittedStatement=function(s){return s.kind===339},e.isSyntheticReference=function(s){return s.kind===344},e.isMergeDeclarationMarker=function(s){return s.kind===342},e.isEndOfDeclarationMarker=function(s){return s.kind===343},e.isExternalModuleReference=function(s){return s.kind===273},e.isJsxElement=function(s){return s.kind===274},e.isJsxSelfClosingElement=function(s){return s.kind===275},e.isJsxOpeningElement=function(s){return s.kind===276},e.isJsxClosingElement=function(s){return s.kind===277},e.isJsxFragment=function(s){return s.kind===278},e.isJsxOpeningFragment=function(s){return s.kind===279},e.isJsxClosingFragment=function(s){return s.kind===280},e.isJsxAttribute=function(s){return s.kind===281},e.isJsxAttributes=function(s){return s.kind===282},e.isJsxSpreadAttribute=function(s){return s.kind===283},e.isJsxExpression=function(s){return s.kind===284},e.isCaseClause=function(s){return s.kind===285},e.isDefaultClause=function(s){return s.kind===286},e.isHeritageClause=function(s){return s.kind===287},e.isCatchClause=function(s){return s.kind===288},e.isPropertyAssignment=function(s){return s.kind===289},e.isShorthandPropertyAssignment=function(s){return s.kind===290},e.isSpreadAssignment=function(s){return s.kind===291},e.isEnumMember=function(s){return s.kind===292},e.isUnparsedPrepend=function(s){return s.kind===294},e.isSourceFile=function(s){return s.kind===298},e.isBundle=function(s){return s.kind===299},e.isUnparsedSource=function(s){return s.kind===300},e.isJSDocTypeExpression=function(s){return s.kind===302},e.isJSDocNameReference=function(s){return s.kind===303},e.isJSDocLink=function(s){return s.kind===316},e.isJSDocAllType=function(s){return s.kind===304},e.isJSDocUnknownType=function(s){return s.kind===305},e.isJSDocNullableType=function(s){return s.kind===306},e.isJSDocNonNullableType=function(s){return s.kind===307},e.isJSDocOptionalType=function(s){return s.kind===308},e.isJSDocFunctionType=function(s){return s.kind===309},e.isJSDocVariadicType=function(s){return s.kind===310},e.isJSDocNamepathType=function(s){return s.kind===311},e.isJSDoc=function(s){return s.kind===312},e.isJSDocTypeLiteral=function(s){return s.kind===314},e.isJSDocSignature=function(s){return s.kind===315},e.isJSDocAugmentsTag=function(s){return s.kind===318},e.isJSDocAuthorTag=function(s){return s.kind===320},e.isJSDocClassTag=function(s){return s.kind===322},e.isJSDocCallbackTag=function(s){return s.kind===328},e.isJSDocPublicTag=function(s){return s.kind===323},e.isJSDocPrivateTag=function(s){return s.kind===324},e.isJSDocProtectedTag=function(s){return s.kind===325},e.isJSDocReadonlyTag=function(s){return s.kind===326},e.isJSDocOverrideTag=function(s){return s.kind===327},e.isJSDocDeprecatedTag=function(s){return s.kind===321},e.isJSDocSeeTag=function(s){return s.kind===336},e.isJSDocEnumTag=function(s){return s.kind===329},e.isJSDocParameterTag=function(s){return s.kind===330},e.isJSDocReturnTag=function(s){return s.kind===331},e.isJSDocThisTag=function(s){return s.kind===332},e.isJSDocTypeTag=function(s){return s.kind===333},e.isJSDocTemplateTag=function(s){return s.kind===334},e.isJSDocTypedefTag=function(s){return s.kind===335},e.isJSDocUnknownTag=function(s){return s.kind===317},e.isJSDocPropertyTag=function(s){return s.kind===337},e.isJSDocImplementsTag=function(s){return s.kind===319},e.isSyntaxList=function(s){return s.kind===338}}(_0||(_0={})),function(e){function s(d0,P0,c0,D0){if(e.isComputedPropertyName(c0))return e.setTextRange(d0.createElementAccessExpression(P0,c0.expression),D0);var x0=e.setTextRange(e.isMemberName(c0)?d0.createPropertyAccessExpression(P0,c0):d0.createElementAccessExpression(P0,c0),c0);return e.getOrCreateEmitNode(x0).flags|=64,x0}function X(d0,P0){var c0=e.parseNodeFactory.createIdentifier(d0||\"React\");return e.setParent(c0,e.getParseTreeNode(P0)),c0}function J(d0,P0,c0){if(e.isQualifiedName(P0)){var D0=J(d0,P0.left,c0),x0=d0.createIdentifier(e.idText(P0.right));return x0.escapedText=P0.right.escapedText,d0.createPropertyAccessExpression(D0,x0)}return X(e.idText(P0),c0)}function m0(d0,P0,c0,D0){return P0?J(d0,P0,D0):d0.createPropertyAccessExpression(X(c0,D0),\"createElement\")}function s1(d0,P0){return e.isIdentifier(P0)?d0.createStringLiteralFromNode(P0):e.isComputedPropertyName(P0)?e.setParent(e.setTextRange(d0.cloneNode(P0.expression),P0.expression),P0.expression.parent):e.setParent(e.setTextRange(d0.cloneNode(P0),P0),P0.parent)}function i0(d0){return e.isStringLiteral(d0.expression)&&d0.expression.text===\"use strict\"}function H0(d0,P0){switch(P0===void 0&&(P0=15),d0.kind){case 208:return(1&P0)!=0;case 207:case 225:return(2&P0)!=0;case 226:return(4&P0)!=0;case 340:return(8&P0)!=0}return!1}function E0(d0,P0){for(P0===void 0&&(P0=15);H0(d0,P0);)d0=d0.expression;return d0}function I(d0){return e.setStartsOnNewLine(d0,!0)}function A(d0){var P0=e.getOriginalNode(d0,e.isSourceFile),c0=P0&&P0.emitNode;return c0&&c0.externalHelpersModuleName}function Z(d0,P0,c0,D0,x0){if(c0.importHelpers&&e.isEffectiveExternalModule(P0,c0)){var l0=A(P0);if(l0)return l0;var w0=e.getEmitModuleKind(c0),V=(D0||c0.esModuleInterop&&x0)&&w0!==e.ModuleKind.System&&w0<e.ModuleKind.ES2015;if(!V){var w=e.getEmitHelpers(P0);if(w){for(var H=0,k0=w;H<k0.length;H++)if(!k0[H].scoped){V=!0;break}}}if(V){var V0=e.getOriginalNode(P0,e.isSourceFile),t0=e.getOrCreateEmitNode(V0);return t0.externalHelpersModuleName||(t0.externalHelpersModuleName=d0.createUniqueName(e.externalHelpersModuleNameText))}}}function A0(d0,P0,c0,D0){if(P0)return P0.moduleName?d0.createStringLiteral(P0.moduleName):!P0.isDeclarationFile&&e.outFile(D0)?d0.createStringLiteral(e.getExternalModuleNameFromPath(c0,P0.fileName)):void 0}function o0(d0){if(e.isDeclarationBindingElement(d0))return d0.name;if(!e.isObjectLiteralElementLike(d0))return e.isAssignmentExpression(d0,!0)?o0(d0.left):e.isSpreadElement(d0)?o0(d0.expression):d0;switch(d0.kind){case 289:return o0(d0.initializer);case 290:return d0.name;case 291:return o0(d0.expression)}}function j(d0){switch(d0.kind){case 199:if(d0.propertyName){var P0=d0.propertyName;return e.isPrivateIdentifier(P0)?e.Debug.failBadSyntaxKind(P0):e.isComputedPropertyName(P0)&&G(P0.expression)?P0.expression:P0}break;case 289:if(d0.name)return P0=d0.name,e.isPrivateIdentifier(P0)?e.Debug.failBadSyntaxKind(P0):e.isComputedPropertyName(P0)&&G(P0.expression)?P0.expression:P0;break;case 291:return d0.name&&e.isPrivateIdentifier(d0.name)?e.Debug.failBadSyntaxKind(d0.name):d0.name}var c0=o0(d0);if(c0&&e.isPropertyName(c0))return c0}function G(d0){var P0=d0.kind;return P0===10||P0===8}function u0(d0){return function(P0){return P0===60||function(c0){return function(D0){return D0===55||D0===56}(c0)||function(D0){return function(x0){return x0===50||x0===51||x0===52}(D0)||function(x0){return function(l0){return l0===34||l0===36||l0===35||l0===37}(x0)||function(l0){return function(w0){return w0===29||w0===32||w0===31||w0===33||w0===101||w0===100}(l0)||function(w0){return function(V){return V===47||V===48||V===49}(w0)||function(V){return function(w){return w===39||w===40}(V)||function(w){return function(H){return H===42}(w)||function(H){return H===41||H===43||H===44}(w)}(V)}(w0)}(l0)}(x0)}(D0)}(c0)}(P0)||e.isAssignmentOperator(P0)}(d0)||d0===27}var U;e.createEmptyExports=function(d0){return d0.createExportDeclaration(void 0,void 0,!1,d0.createNamedExports([]),void 0)},e.createMemberAccessForPropertyName=s,e.createJsxFactoryExpression=m0,e.createExpressionForJsxElement=function(d0,P0,c0,D0,x0,l0){var w0=[c0];if(D0&&w0.push(D0),x0&&x0.length>0)if(D0||w0.push(d0.createNull()),x0.length>1)for(var V=0,w=x0;V<w.length;V++){var H=w[V];I(H),w0.push(H)}else w0.push(x0[0]);return e.setTextRange(d0.createCallExpression(P0,void 0,w0),l0)},e.createExpressionForJsxFragment=function(d0,P0,c0,D0,x0,l0,w0){var V=[function(V0,t0,f0,y0){return t0?J(V0,t0,y0):V0.createPropertyAccessExpression(X(f0,y0),\"Fragment\")}(d0,c0,D0,l0),d0.createNull()];if(x0&&x0.length>0)if(x0.length>1)for(var w=0,H=x0;w<H.length;w++){var k0=H[w];I(k0),V.push(k0)}else V.push(x0[0]);return e.setTextRange(d0.createCallExpression(m0(d0,P0,D0,l0),void 0,V),w0)},e.createForOfBindingStatement=function(d0,P0,c0){if(e.isVariableDeclarationList(P0)){var D0=e.first(P0.declarations),x0=d0.updateVariableDeclaration(D0,D0.name,void 0,void 0,c0);return e.setTextRange(d0.createVariableStatement(void 0,d0.updateVariableDeclarationList(P0,[x0])),P0)}var l0=e.setTextRange(d0.createAssignment(P0,c0),P0);return e.setTextRange(d0.createExpressionStatement(l0),P0)},e.insertLeadingStatement=function(d0,P0,c0){return e.isBlock(P0)?d0.updateBlock(P0,e.setTextRange(d0.createNodeArray(D([c0],P0.statements)),P0.statements)):d0.createBlock(d0.createNodeArray([P0,c0]),!0)},e.createExpressionFromEntityName=function d0(P0,c0){if(e.isQualifiedName(c0)){var D0=d0(P0,c0.left),x0=e.setParent(e.setTextRange(P0.cloneNode(c0.right),c0.right),c0.right.parent);return e.setTextRange(P0.createPropertyAccessExpression(D0,x0),c0)}return e.setParent(e.setTextRange(P0.cloneNode(c0),c0),c0.parent)},e.createExpressionForPropertyName=s1,e.createExpressionForObjectLiteralElementLike=function(d0,P0,c0,D0){switch(c0.name&&e.isPrivateIdentifier(c0.name)&&e.Debug.failBadSyntaxKind(c0.name,\"Private identifiers are not allowed in object literals.\"),c0.kind){case 168:case 169:return function(x0,l0,w0,V,w){var H=e.getAllAccessorDeclarations(l0,w0),k0=H.firstAccessor,V0=H.getAccessor,t0=H.setAccessor;if(w0===k0)return e.setTextRange(x0.createObjectDefinePropertyCall(V,s1(x0,w0.name),x0.createPropertyDescriptor({enumerable:x0.createFalse(),configurable:!0,get:V0&&e.setTextRange(e.setOriginalNode(x0.createFunctionExpression(V0.modifiers,void 0,void 0,void 0,V0.parameters,void 0,V0.body),V0),V0),set:t0&&e.setTextRange(e.setOriginalNode(x0.createFunctionExpression(t0.modifiers,void 0,void 0,void 0,t0.parameters,void 0,t0.body),t0),t0)},!w)),k0)}(d0,P0.properties,c0,D0,!!P0.multiLine);case 289:return function(x0,l0,w0){return e.setOriginalNode(e.setTextRange(x0.createAssignment(s(x0,w0,l0.name,l0.name),l0.initializer),l0),l0)}(d0,c0,D0);case 290:return function(x0,l0,w0){return e.setOriginalNode(e.setTextRange(x0.createAssignment(s(x0,w0,l0.name,l0.name),x0.cloneNode(l0.name)),l0),l0)}(d0,c0,D0);case 166:return function(x0,l0,w0){return e.setOriginalNode(e.setTextRange(x0.createAssignment(s(x0,w0,l0.name,l0.name),e.setOriginalNode(e.setTextRange(x0.createFunctionExpression(l0.modifiers,l0.asteriskToken,void 0,void 0,l0.parameters,void 0,l0.body),l0),l0)),l0),l0)}(d0,c0,D0)}},e.isInternalName=function(d0){return(32768&e.getEmitFlags(d0))!=0},e.isLocalName=function(d0){return(16384&e.getEmitFlags(d0))!=0},e.isExportName=function(d0){return(8192&e.getEmitFlags(d0))!=0},e.findUseStrictPrologue=function(d0){for(var P0=0,c0=d0;P0<c0.length;P0++){var D0=c0[P0];if(!e.isPrologueDirective(D0))break;if(i0(D0))return D0}},e.startsWithUseStrict=function(d0){var P0=e.firstOrUndefined(d0);return P0!==void 0&&e.isPrologueDirective(P0)&&i0(P0)},e.isCommaSequence=function(d0){return d0.kind===217&&d0.operatorToken.kind===27||d0.kind===341},e.isOuterExpression=H0,e.skipOuterExpressions=E0,e.skipAssertions=function(d0){return E0(d0,6)},e.startOnNewLine=I,e.getExternalHelpersModuleName=A,e.hasRecordedExternalHelpers=function(d0){var P0=e.getOriginalNode(d0,e.isSourceFile),c0=P0&&P0.emitNode;return!(!c0||!c0.externalHelpersModuleName&&!c0.externalHelpers)},e.createExternalHelpersImportDeclarationIfNeeded=function(d0,P0,c0,D0,x0,l0,w0){if(D0.importHelpers&&e.isEffectiveExternalModule(c0,D0)){var V=void 0,w=e.getEmitModuleKind(D0);if(w>=e.ModuleKind.ES2015&&w<=e.ModuleKind.ESNext){var H=e.getEmitHelpers(c0);if(H){for(var k0=[],V0=0,t0=H;V0<t0.length;V0++){var f0=t0[V0];if(!f0.scoped){var y0=f0.importName;y0&&e.pushIfUnique(k0,y0)}}if(e.some(k0)){k0.sort(e.compareStringsCaseSensitive),V=d0.createNamedImports(e.map(k0,function(S1){return e.isFileLevelUniqueName(c0,S1)?d0.createImportSpecifier(void 0,d0.createIdentifier(S1)):d0.createImportSpecifier(d0.createIdentifier(S1),P0.getUnscopedHelperName(S1))}));var G0=e.getOriginalNode(c0,e.isSourceFile);e.getOrCreateEmitNode(G0).externalHelpers=!0}}}else{var d1=Z(d0,c0,D0,x0,l0||w0);d1&&(V=d0.createNamespaceImport(d1))}if(V){var h1=d0.createImportDeclaration(void 0,void 0,d0.createImportClause(!1,void 0,V),d0.createStringLiteral(e.externalHelpersModuleNameText));return e.addEmitFlags(h1,67108864),h1}}},e.getOrCreateExternalHelpersModuleNameIfNeeded=Z,e.getLocalNameForExternalImport=function(d0,P0,c0){var D0=e.getNamespaceDeclarationNode(P0);if(D0&&!e.isDefaultImport(P0)&&!e.isExportNamespaceAsDefaultDeclaration(P0)){var x0=D0.name;return e.isGeneratedIdentifier(x0)?x0:d0.createIdentifier(e.getSourceTextOfNodeFromSourceFile(c0,x0)||e.idText(x0))}return P0.kind===262&&P0.importClause||P0.kind===268&&P0.moduleSpecifier?d0.getGeneratedNameForNode(P0):void 0},e.getExternalModuleNameLiteral=function(d0,P0,c0,D0,x0,l0){var w0=e.getExternalModuleName(P0);if(w0&&e.isStringLiteral(w0))return function(V,w,H,k0,V0){return A0(H,k0.getExternalModuleFileFromDeclaration(V),w,V0)}(P0,D0,d0,x0,l0)||function(V,w,H){var k0=H.renamedDependencies&&H.renamedDependencies.get(w.text);return k0?V.createStringLiteral(k0):void 0}(d0,w0,c0)||d0.cloneNode(w0)},e.tryGetModuleNameFromFile=A0,e.getInitializerOfBindingOrAssignmentElement=function d0(P0){if(e.isDeclarationBindingElement(P0))return P0.initializer;if(e.isPropertyAssignment(P0)){var c0=P0.initializer;return e.isAssignmentExpression(c0,!0)?c0.right:void 0}return e.isShorthandPropertyAssignment(P0)?P0.objectAssignmentInitializer:e.isAssignmentExpression(P0,!0)?P0.right:e.isSpreadElement(P0)?d0(P0.expression):void 0},e.getTargetOfBindingOrAssignmentElement=o0,e.getRestIndicatorOfBindingOrAssignmentElement=function(d0){switch(d0.kind){case 161:case 199:return d0.dotDotDotToken;case 221:case 291:return d0}},e.getPropertyNameOfBindingOrAssignmentElement=function(d0){var P0=j(d0);return e.Debug.assert(!!P0||e.isSpreadAssignment(d0),\"Invalid property name for binding element.\"),P0},e.tryGetPropertyNameOfBindingOrAssignmentElement=j,e.getElementsOfBindingOrAssignmentPattern=function(d0){switch(d0.kind){case 197:case 198:case 200:return d0.elements;case 201:return d0.properties}},e.getJSDocTypeAliasName=function(d0){if(d0)for(var P0=d0;;){if(e.isIdentifier(P0)||!P0.body)return e.isIdentifier(P0)?P0:P0.name;P0=P0.body}},e.canHaveModifiers=function(d0){var P0=d0.kind;return P0===161||P0===163||P0===164||P0===165||P0===166||P0===167||P0===168||P0===169||P0===172||P0===209||P0===210||P0===222||P0===233||P0===252||P0===253||P0===254||P0===255||P0===256||P0===257||P0===261||P0===262||P0===267||P0===268},e.isTypeNodeOrTypeParameterDeclaration=e.or(e.isTypeNode,e.isTypeParameterDeclaration),e.isQuestionOrExclamationToken=e.or(e.isQuestionToken,e.isExclamationToken),e.isIdentifierOrThisTypeNode=e.or(e.isIdentifier,e.isThisTypeNode),e.isReadonlyKeywordOrPlusOrMinusToken=e.or(e.isReadonlyKeyword,e.isPlusToken,e.isMinusToken),e.isQuestionOrPlusOrMinusToken=e.or(e.isQuestionToken,e.isPlusToken,e.isMinusToken),e.isModuleName=e.or(e.isIdentifier,e.isStringLiteral),e.isLiteralTypeLikeExpression=function(d0){var P0=d0.kind;return P0===103||P0===109||P0===94||e.isLiteralExpression(d0)||e.isPrefixUnaryExpression(d0)},e.isBinaryOperatorToken=function(d0){return u0(d0.kind)},function(d0){function P0(k0,V0,t0,f0,y0,G0,d1){var h1=V0>0?y0[V0-1]:void 0;return e.Debug.assertEqual(t0[V0],P0),y0[V0]=k0.onEnter(f0[V0],h1,d1),t0[V0]=V(k0,P0),V0}function c0(k0,V0,t0,f0,y0,G0,d1){e.Debug.assertEqual(t0[V0],c0),e.Debug.assertIsDefined(k0.onLeft),t0[V0]=V(k0,c0);var h1=k0.onLeft(f0[V0].left,y0[V0],f0[V0]);return h1?(H(V0,f0,h1),w(V0,t0,f0,y0,h1)):V0}function D0(k0,V0,t0,f0,y0,G0,d1){return e.Debug.assertEqual(t0[V0],D0),e.Debug.assertIsDefined(k0.onOperator),t0[V0]=V(k0,D0),k0.onOperator(f0[V0].operatorToken,y0[V0],f0[V0]),V0}function x0(k0,V0,t0,f0,y0,G0,d1){e.Debug.assertEqual(t0[V0],x0),e.Debug.assertIsDefined(k0.onRight),t0[V0]=V(k0,x0);var h1=k0.onRight(f0[V0].right,y0[V0],f0[V0]);return h1?(H(V0,f0,h1),w(V0,t0,f0,y0,h1)):V0}function l0(k0,V0,t0,f0,y0,G0,d1){e.Debug.assertEqual(t0[V0],l0),t0[V0]=V(k0,l0);var h1=k0.onExit(f0[V0],y0[V0]);if(V0>0){if(V0--,k0.foldState){var S1=t0[V0]===l0?\"right\":\"left\";y0[V0]=k0.foldState(y0[V0],h1,S1)}}else G0.value=h1;return V0}function w0(k0,V0,t0,f0,y0,G0,d1){return e.Debug.assertEqual(t0[V0],w0),V0}function V(k0,V0){switch(V0){case P0:if(k0.onLeft)return c0;case c0:if(k0.onOperator)return D0;case D0:if(k0.onRight)return x0;case x0:return l0;case l0:case w0:return w0;default:e.Debug.fail(\"Invalid state\")}}function w(k0,V0,t0,f0,y0){return V0[++k0]=P0,t0[k0]=y0,f0[k0]=void 0,k0}function H(k0,V0,t0){if(e.Debug.shouldAssert(2))for(;k0>=0;)e.Debug.assert(V0[k0]!==t0,\"Circular traversal detected.\"),k0--}d0.enter=P0,d0.left=c0,d0.operator=D0,d0.right=x0,d0.exit=l0,d0.done=w0,d0.nextState=V}(U||(U={}));var g0=function(d0,P0,c0,D0,x0,l0){this.onEnter=d0,this.onLeft=P0,this.onOperator=c0,this.onRight=D0,this.onExit=x0,this.foldState=l0};e.createBinaryExpressionTrampoline=function(d0,P0,c0,D0,x0,l0){var w0=new g0(d0,P0,c0,D0,x0,l0);return function(V,w){for(var H={value:void 0},k0=[U.enter],V0=[V],t0=[void 0],f0=0;k0[f0]!==U.done;)f0=k0[f0](w0,f0,k0,V0,t0,H,w);return e.Debug.assertEqual(f0,0),H.value}}}(_0||(_0={})),function(e){e.setTextRange=function(s,X){return X?e.setTextRangePosEnd(s,X.pos,X.end):s}}(_0||(_0={})),function(e){var s,X,J,m0,s1,i0,H0,E0,I;function A(V,w){return w&&V(w)}function Z(V,w,H){if(H){if(w)return w(H);for(var k0=0,V0=H;k0<V0.length;k0++){var t0=V(V0[k0]);if(t0)return t0}}}function A0(V,w){return V.charCodeAt(w+1)===42&&V.charCodeAt(w+2)===42&&V.charCodeAt(w+3)!==47}function o0(V,w,H){if(V&&!(V.kind<=157))switch(V.kind){case 158:return A(w,V.left)||A(w,V.right);case 160:return A(w,V.name)||A(w,V.constraint)||A(w,V.default)||A(w,V.expression);case 290:return Z(w,H,V.decorators)||Z(w,H,V.modifiers)||A(w,V.name)||A(w,V.questionToken)||A(w,V.exclamationToken)||A(w,V.equalsToken)||A(w,V.objectAssignmentInitializer);case 291:return A(w,V.expression);case 161:return Z(w,H,V.decorators)||Z(w,H,V.modifiers)||A(w,V.dotDotDotToken)||A(w,V.name)||A(w,V.questionToken)||A(w,V.type)||A(w,V.initializer);case 164:return Z(w,H,V.decorators)||Z(w,H,V.modifiers)||A(w,V.name)||A(w,V.questionToken)||A(w,V.exclamationToken)||A(w,V.type)||A(w,V.initializer);case 163:return Z(w,H,V.decorators)||Z(w,H,V.modifiers)||A(w,V.name)||A(w,V.questionToken)||A(w,V.type)||A(w,V.initializer);case 289:return Z(w,H,V.decorators)||Z(w,H,V.modifiers)||A(w,V.name)||A(w,V.questionToken)||A(w,V.initializer);case 250:return Z(w,H,V.decorators)||Z(w,H,V.modifiers)||A(w,V.name)||A(w,V.exclamationToken)||A(w,V.type)||A(w,V.initializer);case 199:return Z(w,H,V.decorators)||Z(w,H,V.modifiers)||A(w,V.dotDotDotToken)||A(w,V.propertyName)||A(w,V.name)||A(w,V.initializer);case 175:case 176:case 170:case 171:case 172:return Z(w,H,V.decorators)||Z(w,H,V.modifiers)||Z(w,H,V.typeParameters)||Z(w,H,V.parameters)||A(w,V.type);case 166:case 165:case 167:case 168:case 169:case 209:case 252:case 210:return Z(w,H,V.decorators)||Z(w,H,V.modifiers)||A(w,V.asteriskToken)||A(w,V.name)||A(w,V.questionToken)||A(w,V.exclamationToken)||Z(w,H,V.typeParameters)||Z(w,H,V.parameters)||A(w,V.type)||A(w,V.equalsGreaterThanToken)||A(w,V.body);case 174:return A(w,V.typeName)||Z(w,H,V.typeArguments);case 173:return A(w,V.assertsModifier)||A(w,V.parameterName)||A(w,V.type);case 177:return A(w,V.exprName);case 178:return Z(w,H,V.members);case 179:return A(w,V.elementType);case 180:return Z(w,H,V.elements);case 183:case 184:return Z(w,H,V.types);case 185:return A(w,V.checkType)||A(w,V.extendsType)||A(w,V.trueType)||A(w,V.falseType);case 186:return A(w,V.typeParameter);case 196:return A(w,V.argument)||A(w,V.qualifier)||Z(w,H,V.typeArguments);case 187:case 189:return A(w,V.type);case 190:return A(w,V.objectType)||A(w,V.indexType);case 191:return A(w,V.readonlyToken)||A(w,V.typeParameter)||A(w,V.nameType)||A(w,V.questionToken)||A(w,V.type);case 192:return A(w,V.literal);case 193:return A(w,V.dotDotDotToken)||A(w,V.name)||A(w,V.questionToken)||A(w,V.type);case 197:case 198:case 200:return Z(w,H,V.elements);case 201:return Z(w,H,V.properties);case 202:return A(w,V.expression)||A(w,V.questionDotToken)||A(w,V.name);case 203:return A(w,V.expression)||A(w,V.questionDotToken)||A(w,V.argumentExpression);case 204:case 205:return A(w,V.expression)||A(w,V.questionDotToken)||Z(w,H,V.typeArguments)||Z(w,H,V.arguments);case 206:return A(w,V.tag)||A(w,V.questionDotToken)||Z(w,H,V.typeArguments)||A(w,V.template);case 207:return A(w,V.type)||A(w,V.expression);case 208:case 211:case 212:case 213:return A(w,V.expression);case 215:return A(w,V.operand);case 220:return A(w,V.asteriskToken)||A(w,V.expression);case 214:return A(w,V.expression);case 216:return A(w,V.operand);case 217:return A(w,V.left)||A(w,V.operatorToken)||A(w,V.right);case 225:return A(w,V.expression)||A(w,V.type);case 226:return A(w,V.expression);case 227:return A(w,V.name);case 218:return A(w,V.condition)||A(w,V.questionToken)||A(w,V.whenTrue)||A(w,V.colonToken)||A(w,V.whenFalse);case 221:return A(w,V.expression);case 231:case 258:return Z(w,H,V.statements);case 298:return Z(w,H,V.statements)||A(w,V.endOfFileToken);case 233:return Z(w,H,V.decorators)||Z(w,H,V.modifiers)||A(w,V.declarationList);case 251:return Z(w,H,V.declarations);case 234:return A(w,V.expression);case 235:return A(w,V.expression)||A(w,V.thenStatement)||A(w,V.elseStatement);case 236:return A(w,V.statement)||A(w,V.expression);case 237:return A(w,V.expression)||A(w,V.statement);case 238:return A(w,V.initializer)||A(w,V.condition)||A(w,V.incrementor)||A(w,V.statement);case 239:return A(w,V.initializer)||A(w,V.expression)||A(w,V.statement);case 240:return A(w,V.awaitModifier)||A(w,V.initializer)||A(w,V.expression)||A(w,V.statement);case 241:case 242:return A(w,V.label);case 243:return A(w,V.expression);case 244:return A(w,V.expression)||A(w,V.statement);case 245:return A(w,V.expression)||A(w,V.caseBlock);case 259:return Z(w,H,V.clauses);case 285:return A(w,V.expression)||Z(w,H,V.statements);case 286:return Z(w,H,V.statements);case 246:return A(w,V.label)||A(w,V.statement);case 247:return A(w,V.expression);case 248:return A(w,V.tryBlock)||A(w,V.catchClause)||A(w,V.finallyBlock);case 288:return A(w,V.variableDeclaration)||A(w,V.block);case 162:return A(w,V.expression);case 253:case 222:case 254:return Z(w,H,V.decorators)||Z(w,H,V.modifiers)||A(w,V.name)||Z(w,H,V.typeParameters)||Z(w,H,V.heritageClauses)||Z(w,H,V.members);case 255:return Z(w,H,V.decorators)||Z(w,H,V.modifiers)||A(w,V.name)||Z(w,H,V.typeParameters)||A(w,V.type);case 256:return Z(w,H,V.decorators)||Z(w,H,V.modifiers)||A(w,V.name)||Z(w,H,V.members);case 292:return A(w,V.name)||A(w,V.initializer);case 257:return Z(w,H,V.decorators)||Z(w,H,V.modifiers)||A(w,V.name)||A(w,V.body);case 261:return Z(w,H,V.decorators)||Z(w,H,V.modifiers)||A(w,V.name)||A(w,V.moduleReference);case 262:return Z(w,H,V.decorators)||Z(w,H,V.modifiers)||A(w,V.importClause)||A(w,V.moduleSpecifier);case 263:return A(w,V.name)||A(w,V.namedBindings);case 260:case 264:case 270:return A(w,V.name);case 265:case 269:return Z(w,H,V.elements);case 268:return Z(w,H,V.decorators)||Z(w,H,V.modifiers)||A(w,V.exportClause)||A(w,V.moduleSpecifier);case 266:case 271:return A(w,V.propertyName)||A(w,V.name);case 267:return Z(w,H,V.decorators)||Z(w,H,V.modifiers)||A(w,V.expression);case 219:return A(w,V.head)||Z(w,H,V.templateSpans);case 229:return A(w,V.expression)||A(w,V.literal);case 194:return A(w,V.head)||Z(w,H,V.templateSpans);case 195:return A(w,V.type)||A(w,V.literal);case 159:return A(w,V.expression);case 287:return Z(w,H,V.types);case 224:return A(w,V.expression)||Z(w,H,V.typeArguments);case 273:return A(w,V.expression);case 272:return Z(w,H,V.decorators);case 341:return Z(w,H,V.elements);case 274:return A(w,V.openingElement)||Z(w,H,V.children)||A(w,V.closingElement);case 278:return A(w,V.openingFragment)||Z(w,H,V.children)||A(w,V.closingFragment);case 275:case 276:return A(w,V.tagName)||Z(w,H,V.typeArguments)||A(w,V.attributes);case 282:return Z(w,H,V.properties);case 281:return A(w,V.name)||A(w,V.initializer);case 283:return A(w,V.expression);case 284:return A(w,V.dotDotDotToken)||A(w,V.expression);case 277:return A(w,V.tagName);case 181:case 182:case 302:case 307:case 306:case 308:case 310:return A(w,V.type);case 309:return Z(w,H,V.parameters)||A(w,V.type);case 312:return(typeof V.comment==\"string\"?void 0:Z(w,H,V.comment))||Z(w,H,V.tags);case 336:return A(w,V.tagName)||A(w,V.name)||(typeof V.comment==\"string\"?void 0:Z(w,H,V.comment));case 303:return A(w,V.name);case 330:case 337:return A(w,V.tagName)||(V.isNameFirst?A(w,V.name)||A(w,V.typeExpression)||(typeof V.comment==\"string\"?void 0:Z(w,H,V.comment)):A(w,V.typeExpression)||A(w,V.name)||(typeof V.comment==\"string\"?void 0:Z(w,H,V.comment)));case 320:return A(w,V.tagName)||(typeof V.comment==\"string\"?void 0:Z(w,H,V.comment));case 319:case 318:return A(w,V.tagName)||A(w,V.class)||(typeof V.comment==\"string\"?void 0:Z(w,H,V.comment));case 334:return A(w,V.tagName)||A(w,V.constraint)||Z(w,H,V.typeParameters)||(typeof V.comment==\"string\"?void 0:Z(w,H,V.comment));case 335:return A(w,V.tagName)||(V.typeExpression&&V.typeExpression.kind===302?A(w,V.typeExpression)||A(w,V.fullName)||(typeof V.comment==\"string\"?void 0:Z(w,H,V.comment)):A(w,V.fullName)||A(w,V.typeExpression))||(typeof V.comment==\"string\"?void 0:Z(w,H,V.comment));case 328:return A(w,V.tagName)||A(w,V.fullName)||A(w,V.typeExpression)||(typeof V.comment==\"string\"?void 0:Z(w,H,V.comment));case 331:case 333:case 332:case 329:return A(w,V.tagName)||A(w,V.typeExpression)||(typeof V.comment==\"string\"?void 0:Z(w,H,V.comment));case 315:return e.forEach(V.typeParameters,w)||e.forEach(V.parameters,w)||A(w,V.type);case 316:return A(w,V.name);case 314:return e.forEach(V.jsDocPropertyTags,w);case 317:case 322:case 323:case 324:case 325:case 326:case 321:return A(w,V.tagName)||(typeof V.comment==\"string\"?void 0:Z(w,H,V.comment));case 340:return A(w,V.expression)}}function j(V){var w=[];return o0(V,H,H),w;function H(k0){w.unshift(k0)}}function G(V){return V.externalModuleIndicator!==void 0}function u0(V){return e.fileExtensionIs(V,\".d.ts\")}function U(V,w){for(var H=[],k0=0,V0=e.getLeadingCommentRanges(w,0)||e.emptyArray;k0<V0.length;k0++){var t0=V0[k0];x0(H,t0,w.substring(t0.pos,t0.end))}V.pragmas=new e.Map;for(var f0=0,y0=H;f0<y0.length;f0++){var G0=y0[f0];if(V.pragmas.has(G0.name)){var d1=V.pragmas.get(G0.name);d1 instanceof Array?d1.push(G0.args):V.pragmas.set(G0.name,[d1,G0.args])}else V.pragmas.set(G0.name,G0.args)}}function g0(V,w){V.checkJsDirective=void 0,V.referencedFiles=[],V.typeReferenceDirectives=[],V.libReferenceDirectives=[],V.amdDependencies=[],V.hasNoDefaultLib=!1,V.pragmas.forEach(function(H,k0){switch(k0){case\"reference\":var V0=V.referencedFiles,t0=V.typeReferenceDirectives,f0=V.libReferenceDirectives;e.forEach(e.toArray(H),function(h1){var S1=h1.arguments,Q1=S1.types,Y0=S1.lib,$1=S1.path;h1.arguments[\"no-default-lib\"]?V.hasNoDefaultLib=!0:Q1?t0.push({pos:Q1.pos,end:Q1.end,fileName:Q1.value}):Y0?f0.push({pos:Y0.pos,end:Y0.end,fileName:Y0.value}):$1?V0.push({pos:$1.pos,end:$1.end,fileName:$1.value}):w(h1.range.pos,h1.range.end-h1.range.pos,e.Diagnostics.Invalid_reference_directive_syntax)});break;case\"amd-dependency\":V.amdDependencies=e.map(e.toArray(H),function(h1){return{name:h1.arguments.name,path:h1.arguments.path}});break;case\"amd-module\":if(H instanceof Array)for(var y0=0,G0=H;y0<G0.length;y0++){var d1=G0[y0];V.moduleName&&w(d1.range.pos,d1.range.end-d1.range.pos,e.Diagnostics.An_AMD_module_cannot_have_multiple_name_assignments),V.moduleName=d1.arguments.name}else V.moduleName=H.arguments.name;break;case\"ts-nocheck\":case\"ts-check\":e.forEach(e.toArray(H),function(h1){(!V.checkJsDirective||h1.range.pos>V.checkJsDirective.pos)&&(V.checkJsDirective={enabled:k0===\"ts-check\",end:h1.range.end,pos:h1.range.pos})});break;case\"jsx\":case\"jsxfrag\":case\"jsximportsource\":case\"jsxruntime\":return;default:e.Debug.fail(\"Unhandled pragma kind\")}})}(function(V){V[V.None=0]=\"None\",V[V.Yield=1]=\"Yield\",V[V.Await=2]=\"Await\",V[V.Type=4]=\"Type\",V[V.IgnoreMissingOpenBrace=16]=\"IgnoreMissingOpenBrace\",V[V.JSDoc=32]=\"JSDoc\"})(s||(s={})),function(V){V[V.TryParse=0]=\"TryParse\",V[V.Lookahead=1]=\"Lookahead\",V[V.Reparse=2]=\"Reparse\"}(X||(X={})),e.parseBaseNodeFactory={createBaseSourceFileNode:function(V){return new(H0||(H0=e.objectAllocator.getSourceFileConstructor()))(V,-1,-1)},createBaseIdentifierNode:function(V){return new(s1||(s1=e.objectAllocator.getIdentifierConstructor()))(V,-1,-1)},createBasePrivateIdentifierNode:function(V){return new(i0||(i0=e.objectAllocator.getPrivateIdentifierConstructor()))(V,-1,-1)},createBaseTokenNode:function(V){return new(m0||(m0=e.objectAllocator.getTokenConstructor()))(V,-1,-1)},createBaseNode:function(V){return new(J||(J=e.objectAllocator.getNodeConstructor()))(V,-1,-1)}},e.parseNodeFactory=e.createNodeFactory(1,e.parseBaseNodeFactory),e.isJSDocLikeText=A0,e.forEachChild=o0,e.forEachChildRecursively=function(V,w,H){for(var k0=j(V),V0=[];V0.length<k0.length;)V0.push(V);for(;k0.length!==0;){var t0=k0.pop(),f0=V0.pop();if(e.isArray(t0)){if(H&&(G0=H(t0,f0))){if(G0===\"skip\")continue;return G0}for(var y0=t0.length-1;y0>=0;--y0)k0.push(t0[y0]),V0.push(f0)}else{var G0;if(G0=w(t0,f0)){if(G0===\"skip\")continue;return G0}if(t0.kind>=158)for(var d1=0,h1=j(t0);d1<h1.length;d1++){var S1=h1[d1];k0.push(S1),V0.push(t0)}}}},e.createSourceFile=function(V,w,H,k0,V0){var t0;return k0===void 0&&(k0=!1),e.tracing===null||e.tracing===void 0||e.tracing.push(\"parse\",\"createSourceFile\",{path:V},!0),e.performance.mark(\"beforeParse\"),e.perfLogger.logStartParseSourceFile(V),t0=H===100?E0.parseSourceFile(V,w,H,void 0,k0,6):E0.parseSourceFile(V,w,H,void 0,k0,V0),e.perfLogger.logStopParseSourceFile(),e.performance.mark(\"afterParse\"),e.performance.measure(\"Parse\",\"beforeParse\",\"afterParse\"),e.tracing===null||e.tracing===void 0||e.tracing.pop(),t0},e.parseIsolatedEntityName=function(V,w){return E0.parseIsolatedEntityName(V,w)},e.parseJsonText=function(V,w){return E0.parseJsonText(V,w)},e.isExternalModule=G,e.updateSourceFile=function(V,w,H,k0){k0===void 0&&(k0=!1);var V0=I.updateSourceFile(V,w,H,k0);return V0.flags|=3145728&V.flags,V0},e.parseIsolatedJSDocComment=function(V,w,H){var k0=E0.JSDocParser.parseIsolatedJSDocComment(V,w,H);return k0&&k0.jsDoc&&E0.fixupParentReferences(k0.jsDoc),k0},e.parseJSDocTypeExpressionForTests=function(V,w,H){return E0.JSDocParser.parseJSDocTypeExpressionForTests(V,w,H)},function(V){var w,H,k0,V0,t0,f0=e.createScanner(99,!0),y0=20480;function G0(Ae){return I1++,Ae}var d1,h1,S1,Q1,Y0,$1,Z1,Q0,y1,k1,I1,K0,G1,Nx,n1,S0,I0,U0={createBaseSourceFileNode:function(Ae){return G0(new t0(Ae,0,0))},createBaseIdentifierNode:function(Ae){return G0(new k0(Ae,0,0))},createBasePrivateIdentifierNode:function(Ae){return G0(new V0(Ae,0,0))},createBaseTokenNode:function(Ae){return G0(new H(Ae,0,0))},createBaseNode:function(Ae){return G0(new w(Ae,0,0))}},p0=e.createNodeFactory(11,U0),p1=!0,Y1=!1;function N1(Ae,kt,br,Cn,Ci){br===void 0&&(br=2),Ci===void 0&&(Ci=!1),V1(Ae,kt,br,Cn,6),h1=I0,W1();var $i,no,lo=Tt();if(Le()===1)$i=rn([],lo,lo),no=It();else{for(var Qs=void 0;Le()!==1;){var yo=void 0;switch(Le()){case 22:yo=l5();break;case 109:case 94:case 103:yo=It();break;case 40:yo=ut(function(){return W1()===8&&W1()!==58})?Ku():Pp();break;case 8:case 10:if(ut(function(){return W1()!==58})){yo=Ju();break}default:yo=Pp()}Qs&&e.isArray(Qs)?Qs.push(yo):Qs?Qs=[Qs,yo]:(Qs=yo,Le()!==1&&dt(e.Diagnostics.Unexpected_token))}var Ou=e.isArray(Qs)?_t(p0.createArrayLiteralExpression(Qs),lo):e.Debug.checkDefined(Qs),oc=p0.createExpressionStatement(Ou);_t(oc,lo),$i=rn([oc],lo),no=Pe(1,e.Diagnostics.Unexpected_token)}var xl=me(Ae,2,6,!1,$i,no,h1);Ci&&Px(xl),xl.nodeCount=I1,xl.identifierCount=Nx,xl.identifiers=K0,xl.parseDiagnostics=e.attachFileToDiagnostics(Z1,xl),Q0&&(xl.jsDocDiagnostics=e.attachFileToDiagnostics(Q0,xl));var Jl=xl;return Ox(),Jl}function V1(Ae,kt,br,Cn,Ci){switch(w=e.objectAllocator.getNodeConstructor(),H=e.objectAllocator.getTokenConstructor(),k0=e.objectAllocator.getIdentifierConstructor(),V0=e.objectAllocator.getPrivateIdentifierConstructor(),t0=e.objectAllocator.getSourceFileConstructor(),d1=e.normalizePath(Ae),S1=kt,Q1=br,y1=Cn,Y0=Ci,$1=e.getLanguageVariant(Ci),Z1=[],n1=0,K0=new e.Map,G1=new e.Map,Nx=0,I1=0,h1=0,p1=!0,Y0){case 1:case 2:I0=131072;break;case 6:I0=33685504;break;default:I0=0}Y1=!1,f0.setText(S1),f0.setOnError(ii),f0.setScriptTarget(Q1),f0.setLanguageVariant($1)}function Ox(){f0.clearCommentDirectives(),f0.setText(\"\"),f0.setOnError(void 0),S1=void 0,Q1=void 0,y1=void 0,Y0=void 0,$1=void 0,h1=0,Z1=void 0,Q0=void 0,n1=0,K0=void 0,S0=void 0,p1=!0}function $x(Ae,kt,br){var Cn=u0(d1);Cn&&(I0|=8388608),h1=I0,W1();var Ci=mC(0,Hf);e.Debug.assert(Le()===1);var $i=b1(It()),no=me(d1,Ae,br,Cn,Ci,$i,h1);return U(no,S1),g0(no,function(lo,Qs,yo){Z1.push(e.createDetachedDiagnostic(d1,lo,Qs,yo))}),no.commentDirectives=f0.getCommentDirectives(),no.nodeCount=I1,no.identifierCount=Nx,no.identifiers=K0,no.parseDiagnostics=e.attachFileToDiagnostics(Z1,no),Q0&&(no.jsDocDiagnostics=e.attachFileToDiagnostics(Q0,no)),kt&&Px(no),no}function rx(Ae,kt){return kt?b1(Ae):Ae}V.parseSourceFile=function(Ae,kt,br,Cn,Ci,$i){var no;if(Ci===void 0&&(Ci=!1),($i=e.ensureScriptKind(Ae,$i))===6){var lo=N1(Ae,kt,br,Cn,Ci);return e.convertToObjectWorker(lo,(no=lo.statements[0])===null||no===void 0?void 0:no.expression,lo.parseDiagnostics,!1,void 0,void 0),lo.referencedFiles=e.emptyArray,lo.typeReferenceDirectives=e.emptyArray,lo.libReferenceDirectives=e.emptyArray,lo.amdDependencies=e.emptyArray,lo.hasNoDefaultLib=!1,lo.pragmas=e.emptyMap,lo}V1(Ae,kt,br,Cn,$i);var Qs=$x(br,Ci,$i);return Ox(),Qs},V.parseIsolatedEntityName=function(Ae,kt){V1(\"\",Ae,kt,void 0,1),W1();var br=rp(!0),Cn=Le()===1&&!Z1.length;return Ox(),Cn?br:void 0},V.parseJsonText=N1;var O0,C1,nx,O=!1;function b1(Ae){e.Debug.assert(!Ae.jsDoc);var kt=e.mapDefined(e.getJSDocCommentRanges(Ae,S1),function(br){return nx.parseJSDocComment(Ae,br.pos,br.end-br.pos)});return kt.length&&(Ae.jsDoc=kt),O&&(O=!1,Ae.flags|=134217728),Ae}function Px(Ae){e.setParentRecursive(Ae,!0)}function me(Ae,kt,br,Cn,Ci,$i,no){var lo=p0.createSourceFile(Ci,$i,no);return e.setTextRangePosWidth(lo,0,S1.length),function(Qs){Qs.externalModuleIndicator=e.forEach(Qs.statements,b_)||function(yo){return 2097152&yo.flags?zD(yo):void 0}(Qs)}(lo),!Cn&&G(lo)&&16777216&lo.transformFlags&&(lo=function(Qs){var yo=y1,Ou=I.createSyntaxCursor(Qs);y1={currentNode:function(td){var qT=Ou.currentNode(td);return p1&&qT&&sw(qT)&&(qT.intersectsChange=!0),qT}};var oc=[],xl=Z1;Z1=[];for(var Jl=0,dp=F5(Qs.statements,0),If=function(){var td=Qs.statements[Jl],qT=Qs.statements[dp];e.addRange(oc,Qs.statements,Jl,dp),Jl=d2(Qs.statements,dp);var rF=e.findIndex(xl,function(Is){return Is.start>=td.pos}),C_=rF>=0?e.findIndex(xl,function(Is){return Is.start>=qT.pos},rF):-1;rF>=0&&e.addRange(Z1,xl,rF,C_>=0?C_:void 0),or(function(){var Is=I0;for(I0|=32768,f0.setTextPos(qT.pos),W1();Le()!==1;){var O2=f0.getStartPos(),ka=fd(0,Hf);if(oc.push(ka),O2===f0.getStartPos()&&W1(),Jl>=0){var lg=Qs.statements[Jl];if(ka.end===lg.pos)break;ka.end>lg.pos&&(Jl=d2(Qs.statements,Jl+1))}}I0=Is},2),dp=Jl>=0?F5(Qs.statements,Jl):-1};dp!==-1;)If();if(Jl>=0){var ql=Qs.statements[Jl];e.addRange(oc,Qs.statements,Jl);var Ip=e.findIndex(xl,function(td){return td.start>=ql.pos});Ip>=0&&e.addRange(Z1,xl,Ip)}return y1=yo,p0.updateSourceFile(Qs,e.setTextRange(p0.createNodeArray(oc),Qs.statements));function sw(td){return!(32768&td.flags||!(16777216&td.transformFlags))}function F5(td,qT){for(var rF=qT;rF<td.length;rF++)if(sw(td[rF]))return rF;return-1}function d2(td,qT){for(var rF=qT;rF<td.length;rF++)if(!sw(td[rF]))return rF;return-1}}(lo)),lo.text=S1,lo.bindDiagnostics=[],lo.bindSuggestionDiagnostics=void 0,lo.languageVersion=kt,lo.fileName=Ae,lo.languageVariant=e.getLanguageVariant(br),lo.isDeclarationFile=Cn,lo.scriptKind=br,lo}function Re(Ae,kt){Ae?I0|=kt:I0&=~kt}function gt(Ae){Re(Ae,4096)}function Vt(Ae){Re(Ae,8192)}function wr(Ae){Re(Ae,16384)}function gr(Ae){Re(Ae,32768)}function Nt(Ae,kt){var br=Ae&I0;if(br){Re(!1,br);var Cn=kt();return Re(!0,br),Cn}return kt()}function Ir(Ae,kt){var br=Ae&~I0;if(br){Re(!0,br);var Cn=kt();return Re(!1,br),Cn}return kt()}function xr(Ae){return Nt(4096,Ae)}function Bt(Ae){return Ir(32768,Ae)}function ar(Ae){return(I0&Ae)!=0}function Ni(){return ar(8192)}function Kn(){return ar(4096)}function oi(){return ar(16384)}function Ba(){return ar(32768)}function dt(Ae,kt){lr(f0.getTokenPos(),f0.getTextPos(),Ae,kt)}function Gt(Ae,kt,br,Cn){var Ci=e.lastOrUndefined(Z1);Ci&&Ae===Ci.start||Z1.push(e.createDetachedDiagnostic(d1,Ae,kt,br,Cn)),Y1=!0}function lr(Ae,kt,br,Cn){Gt(Ae,kt-Ae,br,Cn)}function en(Ae,kt,br){lr(Ae.pos,Ae.end,kt,br)}function ii(Ae,kt){Gt(f0.getTextPos(),kt,Ae)}function Tt(){return f0.getStartPos()}function bn(){return f0.hasPrecedingJSDocComment()}function Le(){return k1}function Sa(){return k1=f0.scan()}function Yn(Ae){return W1(),Ae()}function W1(){return e.isKeyword(k1)&&(f0.hasUnicodeEscape()||f0.hasExtendedUnicodeEscape())&&lr(f0.getTokenPos(),f0.getTextPos(),e.Diagnostics.Keywords_cannot_contain_escape_characters),Sa()}function cx(){return k1=f0.scanJsDocToken()}function E1(){return k1=f0.reScanGreaterToken()}function qx(){return k1=f0.reScanTemplateHeadOrNoSubstitutionTemplate()}function xt(){return k1=f0.reScanLessThanToken()}function ae(){return k1=f0.scanJsxIdentifier()}function Ut(){return k1=f0.scanJsxToken()}function or(Ae,kt){var br=k1,Cn=Z1.length,Ci=Y1,$i=I0,no=kt!==0?f0.lookAhead(Ae):f0.tryScan(Ae);return e.Debug.assert($i===I0),no&&kt===0||(k1=br,kt!==2&&(Z1.length=Cn),Y1=Ci),no}function ut(Ae){return or(Ae,1)}function Gr(Ae){return or(Ae,0)}function B(){return Le()===78||Le()>115}function h0(){return Le()===78||(Le()!==124||!Ni())&&(Le()!==130||!Ba())&&Le()>115}function M(Ae,kt,br){return br===void 0&&(br=!0),Le()===Ae?(br&&W1(),!0):(kt?dt(kt):dt(e.Diagnostics._0_expected,e.tokenToString(Ae)),!1)}function X0(Ae){return Le()===Ae?(cx(),!0):(dt(e.Diagnostics._0_expected,e.tokenToString(Ae)),!1)}function l1(Ae){return Le()===Ae&&(W1(),!0)}function Hx(Ae){if(Le()===Ae)return It()}function ge(Ae){if(Le()===Ae)return kt=Tt(),br=Le(),cx(),_t(p0.createToken(br),kt);var kt,br}function Pe(Ae,kt,br){return Hx(Ae)||Ii(Ae,!1,kt||e.Diagnostics._0_expected,br||e.tokenToString(Ae))}function It(){var Ae=Tt(),kt=Le();return W1(),_t(p0.createToken(kt),Ae)}function Kr(){return Le()===26||Le()===19||Le()===1||f0.hasPrecedingLineBreak()}function pn(){return Kr()?(Le()===26&&W1(),!0):M(26)}function rn(Ae,kt,br,Cn){var Ci=p0.createNodeArray(Ae,Cn);return e.setTextRangePosEnd(Ci,kt,br!=null?br:f0.getStartPos()),Ci}function _t(Ae,kt,br){return e.setTextRangePosEnd(Ae,kt,br!=null?br:f0.getStartPos()),I0&&(Ae.flags|=I0),Y1&&(Y1=!1,Ae.flags|=65536),Ae}function Ii(Ae,kt,br,Cn){kt?Gt(f0.getStartPos(),0,br,Cn):br&&dt(br,Cn);var Ci=Tt();return _t(Ae===78?p0.createIdentifier(\"\",void 0,void 0):e.isTemplateLiteralKind(Ae)?p0.createTemplateLiteralLikeNode(Ae,\"\",\"\",void 0):Ae===8?p0.createNumericLiteral(\"\",void 0):Ae===10?p0.createStringLiteral(\"\",void 0):Ae===272?p0.createMissingDeclaration():p0.createToken(Ae),Ci)}function Mn(Ae){var kt=K0.get(Ae);return kt===void 0&&K0.set(Ae,kt=Ae),kt}function Ka(Ae,kt,br){if(Ae){Nx++;var Cn=Tt(),Ci=Le(),$i=Mn(f0.getTokenValue());return Sa(),_t(p0.createIdentifier($i,void 0,Ci),Cn)}if(Le()===79)return dt(br||e.Diagnostics.Private_identifiers_are_not_allowed_outside_class_bodies),Ka(!0);if(Le()===0&&f0.tryScan(function(){return f0.reScanInvalidIdentifier()===78}))return Ka(!0);Nx++;var no=Le()===1,lo=f0.isReservedWord(),Qs=f0.getTokenText(),yo=lo?e.Diagnostics.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here:e.Diagnostics.Identifier_expected;return Ii(78,no,kt||yo,Qs)}function fe(Ae){return Ka(B(),void 0,Ae)}function Fr(Ae,kt){return Ka(h0(),Ae,kt)}function yt(Ae){return Ka(e.tokenIsIdentifierOrKeyword(Le()),Ae)}function Fn(){return e.tokenIsIdentifierOrKeyword(Le())||Le()===10||Le()===8}function Ur(Ae){if(Le()===10||Le()===8){var kt=Ju();return kt.text=Mn(kt.text),kt}return Ae&&Le()===22?function(){var br=Tt();M(22);var Cn=xr(tF);return M(23),_t(p0.createComputedPropertyName(Cn),br)}():Le()===79?Kt():yt()}function fa(){return Ur(!0)}function Kt(){var Ae,kt,br=Tt(),Cn=p0.createPrivateIdentifier((Ae=f0.getTokenText(),(kt=G1.get(Ae))===void 0&&G1.set(Ae,kt=Ae),kt));return W1(),_t(Cn,br)}function Fa(Ae){return Le()===Ae&&Gr(Us)}function co(){return W1(),!f0.hasPrecedingLineBreak()&&sg()}function Us(){switch(Le()){case 84:return W1()===91;case 92:return W1(),Le()===87?ut(Cf):Le()===149?ut(vs):qs();case 87:return Cf();case 123:return co();case 134:case 146:return W1(),sg();default:return co()}}function qs(){return Le()!==41&&Le()!==126&&Le()!==18&&sg()}function vs(){return W1(),qs()}function sg(){return Le()===22||Le()===18||Le()===41||Le()===25||Fn()}function Cf(){return W1(),Le()===83||Le()===97||Le()===117||Le()===125&&ut(md)||Le()===129&&ut(hd)}function rc(Ae,kt){if(E4(Ae))return!0;switch(Ae){case 0:case 1:case 3:return!(Le()===26&&kt)&&M9();case 2:return Le()===81||Le()===87;case 4:return ut(Ls);case 5:return ut(P2)||Le()===26&&!kt;case 6:return Le()===22||Fn();case 12:switch(Le()){case 22:case 41:case 25:case 24:return!0;default:return Fn()}case 18:return Fn();case 9:return Le()===22||Le()===25||Fn();case 7:return Le()===18?ut(K8):kt?h0()&&!BF():Dk()&&!BF();case 8:return ei();case 10:return Le()===27||Le()===25||ei();case 19:return h0();case 15:switch(Le()){case 27:case 24:return!0}case 11:return Le()===25||Cd();case 16:return rl(!1);case 17:return rl(!0);case 20:case 21:return Le()===27||D6();case 22:return Sw();case 23:return e.tokenIsIdentifierOrKeyword(Le());case 13:return e.tokenIsIdentifierOrKeyword(Le())||Le()===18;case 14:return!0}return e.Debug.fail(\"Non-exhaustive case in 'isListElement'.\")}function K8(){if(e.Debug.assert(Le()===18),W1()===19){var Ae=W1();return Ae===27||Ae===18||Ae===93||Ae===116}return!0}function zl(){return W1(),h0()}function Xl(){return W1(),e.tokenIsIdentifierOrKeyword(Le())}function OF(){return W1(),e.tokenIsIdentifierOrKeywordOrGreaterThan(Le())}function BF(){return(Le()===116||Le()===93)&&ut(Qp)}function Qp(){return W1(),Cd()}function kp(){return W1(),D6()}function up(Ae){if(Le()===1)return!0;switch(Ae){case 1:case 2:case 4:case 5:case 6:case 12:case 9:case 23:return Le()===19;case 3:return Le()===19||Le()===81||Le()===87;case 7:return Le()===18||Le()===93||Le()===116;case 8:return function(){return!!(Kr()||$S(Le())||Le()===38)}();case 19:return Le()===31||Le()===20||Le()===18||Le()===93||Le()===116;case 11:return Le()===21||Le()===26;case 15:case 21:case 10:return Le()===23;case 17:case 16:case 18:return Le()===21||Le()===23;case 20:return Le()!==27;case 22:return Le()===18||Le()===19;case 13:return Le()===31||Le()===43;case 14:return Le()===29&&ut(I2);default:return!1}}function mC(Ae,kt){var br=n1;n1|=1<<Ae;for(var Cn=[],Ci=Tt();!up(Ae);)if(rc(Ae,!1))Cn.push(fd(Ae,kt));else if(fT(Ae))break;return n1=br,rn(Cn,Ci)}function fd(Ae,kt){var br=E4(Ae);return br?Yl(br):kt()}function E4(Ae){if(y1&&function(br){switch(br){case 5:case 2:case 0:case 1:case 3:case 6:case 4:case 8:case 17:case 16:return!0}return!1}(Ae)&&!Y1){var kt=y1.currentNode(f0.getStartPos());if(!(e.nodeIsMissing(kt)||kt.intersectsChange||e.containsParseError(kt))&&(25358336&kt.flags)===I0&&function(br,Cn){switch(Cn){case 5:return function(Ci){if(Ci)switch(Ci.kind){case 167:case 172:case 168:case 169:case 164:case 230:return!0;case 166:var $i=Ci;return!($i.name.kind===78&&$i.name.originalKeywordKind===132)}return!1}(br);case 2:return function(Ci){if(Ci)switch(Ci.kind){case 285:case 286:return!0}return!1}(br);case 0:case 1:case 3:return function(Ci){if(Ci)switch(Ci.kind){case 252:case 233:case 231:case 235:case 234:case 247:case 243:case 245:case 242:case 241:case 239:case 240:case 238:case 237:case 244:case 232:case 248:case 246:case 236:case 249:case 262:case 261:case 268:case 267:case 257:case 253:case 254:case 256:case 255:return!0}return!1}(br);case 6:return function(Ci){return Ci.kind===292}(br);case 4:return function(Ci){if(Ci)switch(Ci.kind){case 171:case 165:case 172:case 163:case 170:return!0}return!1}(br);case 8:return function(Ci){return Ci.kind!==250?!1:Ci.initializer===void 0}(br);case 17:case 16:return function(Ci){return Ci.kind!==161?!1:Ci.initializer===void 0}(br)}return!1}(kt,Ae))return kt.jsDocCache&&(kt.jsDocCache=void 0),kt}}function Yl(Ae){return f0.setTextPos(Ae.end),W1(),Ae}function fT(Ae){return function(kt){switch(kt){case 0:case 1:return dt(e.Diagnostics.Declaration_or_statement_expected);case 2:return dt(e.Diagnostics.case_or_default_expected);case 3:return dt(e.Diagnostics.Statement_expected);case 18:case 4:return dt(e.Diagnostics.Property_or_signature_expected);case 5:return dt(e.Diagnostics.Unexpected_token_A_constructor_method_accessor_or_property_was_expected);case 6:return dt(e.Diagnostics.Enum_member_expected);case 7:return dt(e.Diagnostics.Expression_expected);case 8:return e.isKeyword(Le())?dt(e.Diagnostics._0_is_not_allowed_as_a_variable_declaration_name,e.tokenToString(Le())):dt(e.Diagnostics.Variable_declaration_expected);case 9:return dt(e.Diagnostics.Property_destructuring_pattern_expected);case 10:return dt(e.Diagnostics.Array_element_destructuring_pattern_expected);case 11:return dt(e.Diagnostics.Argument_expression_expected);case 12:return dt(e.Diagnostics.Property_assignment_expected);case 15:return dt(e.Diagnostics.Expression_or_comma_expected);case 17:case 16:return dt(e.Diagnostics.Parameter_declaration_expected);case 19:return dt(e.Diagnostics.Type_parameter_declaration_expected);case 20:return dt(e.Diagnostics.Type_argument_expected);case 21:return dt(e.Diagnostics.Type_expected);case 22:return dt(e.Diagnostics.Unexpected_token_expected);case 23:case 13:case 14:return dt(e.Diagnostics.Identifier_expected)}}(Ae),!!function(){for(var kt=0;kt<24;kt++)if(n1&1<<kt&&(rc(kt,!0)||up(kt)))return!0;return!1}()||(W1(),!1)}function qE(Ae,kt,br){var Cn=n1;n1|=1<<Ae;for(var Ci=[],$i=Tt(),no=-1;;)if(rc(Ae,!1)){var lo=f0.getStartPos();if(Ci.push(fd(Ae,kt)),no=f0.getTokenPos(),l1(27))continue;if(no=-1,up(Ae))break;M(27,df(Ae)),br&&Le()===26&&!f0.hasPrecedingLineBreak()&&W1(),lo===f0.getStartPos()&&W1()}else if(up(Ae)||fT(Ae))break;return n1=Cn,rn(Ci,$i,void 0,no>=0)}function df(Ae){return Ae===6?e.Diagnostics.An_enum_member_name_must_be_followed_by_a_or:void 0}function pl(){var Ae=rn([],Tt());return Ae.isMissingList=!0,Ae}function Np(Ae,kt,br,Cn){if(M(br)){var Ci=qE(Ae,kt);return M(Cn),Ci}return pl()}function rp(Ae,kt){for(var br=Tt(),Cn=Ae?yt(kt):Fr(kt),Ci=Tt();l1(24);){if(Le()===29){Cn.jsdocDotPos=Ci;break}Ci=Tt(),Cn=_t(p0.createQualifiedName(Cn,tf(Ae,!1)),br)}return Cn}function jp(Ae,kt){return _t(p0.createQualifiedName(Ae,kt),Ae.pos)}function tf(Ae,kt){if(f0.hasPrecedingLineBreak()&&e.tokenIsIdentifierOrKeyword(Le())&&ut(X2))return Ii(78,!0,e.Diagnostics.Identifier_expected);if(Le()===79){var br=Kt();return kt?br:Ii(78,!0,e.Diagnostics.Identifier_expected)}return Ae?yt():Fr()}function cp(Ae){var kt=Tt();return _t(p0.createTemplateExpression(vd(Ae),function(br){var Cn,Ci=Tt(),$i=[];do Cn=pd(br),$i.push(Cn);while(Cn.literal.kind===16);return rn($i,Ci)}(Ae)),kt)}function Nf(){var Ae=Tt();return _t(p0.createTemplateLiteralType(vd(!1),function(){var kt,br=Tt(),Cn=[];do kt=mf(),Cn.push(kt);while(kt.literal.kind===16);return rn(Cn,br)}()),Ae)}function mf(){var Ae=Tt();return _t(p0.createTemplateLiteralTypeSpan(t4(),l2(!1)),Ae)}function l2(Ae){return Le()===19?(function(br){k1=f0.reScanTemplateToken(br)}(Ae),kt=aw(Le()),e.Debug.assert(kt.kind===16||kt.kind===17,\"Template fragment has wrong token kind\"),kt):Pe(17,e.Diagnostics._0_expected,e.tokenToString(19));var kt}function pd(Ae){var kt=Tt();return _t(p0.createTemplateSpan(xr(tF),l2(Ae)),kt)}function Ju(){return aw(Le())}function vd(Ae){Ae&&qx();var kt=aw(Le());return e.Debug.assert(kt.kind===15,\"Template head has wrong token kind\"),kt}function aw(Ae){var kt=Tt(),br=e.isTemplateLiteralKind(Ae)?p0.createTemplateLiteralLikeNode(Ae,f0.getTokenValue(),function(Cn){var Ci=Cn===14||Cn===17,$i=f0.getTokenText();return $i.substring(1,$i.length-(f0.isUnterminated()?0:Ci?1:2))}(Ae),2048&f0.getTokenFlags()):Ae===8?p0.createNumericLiteral(f0.getTokenValue(),f0.getNumericLiteralFlags()):Ae===10?p0.createStringLiteral(f0.getTokenValue(),void 0,f0.hasExtendedUnicodeEscape()):e.isLiteralKind(Ae)?p0.createLiteralLikeNode(Ae,f0.getTokenValue()):e.Debug.fail();return f0.hasExtendedUnicodeEscape()&&(br.hasExtendedUnicodeEscape=!0),f0.isUnterminated()&&(br.isUnterminated=!0),W1(),_t(br,kt)}function c5(){return rp(!0,e.Diagnostics.Type_expected)}function Qo(){if(!f0.hasPrecedingLineBreak()&&xt()===29)return Np(20,t4,29,31)}function Rl(){var Ae=Tt();return _t(p0.createTypeReferenceNode(c5(),Qo()),Ae)}function gl(Ae){switch(Ae.kind){case 174:return e.nodeIsMissing(Ae.typeName);case 175:case 176:var kt=Ae,br=kt.parameters,Cn=kt.type;return!!br.isMissingList||gl(Cn);case 187:return gl(Ae.type);default:return!1}}function bd(){var Ae=Tt();return W1(),_t(p0.createThisTypeNode(),Ae)}function Ld(){var Ae,kt=Tt();return Le()!==107&&Le()!==102||(Ae=yt(),M(58)),_t(p0.createParameterDeclaration(void 0,void 0,void 0,Ae,void 0,Dp(),void 0),kt)}function Dp(){f0.setInJSDocType(!0);var Ae=Tt();if(l1(139)){var kt=p0.createJSDocNamepathType(void 0);x:for(;;)switch(Le()){case 19:case 1:case 27:case 5:break x;default:cx()}return f0.setInJSDocType(!1),_t(kt,Ae)}var br=l1(25),Cn=$f();return f0.setInJSDocType(!1),br&&(Cn=_t(p0.createJSDocVariadicType(Cn),Ae)),Le()===62?(W1(),_t(p0.createJSDocOptionalType(Cn),Ae)):Cn}function Hi(){var Ae,kt,br=Tt(),Cn=Fr();l1(93)&&(D6()||!Cd()?Ae=t4():kt=Qw());var Ci=l1(62)?t4():void 0,$i=p0.createTypeParameterDeclaration(Cn,Ae,Ci);return $i.expression=kt,_t($i,br)}function Up(){if(Le()===29)return Np(19,Hi,29,31)}function rl(Ae){return Le()===25||ei()||e.isModifierKind(Le())||Le()===59||D6(!Ae)}function tA(){return G2(!0)}function rA(){return G2(!1)}function G2(Ae){var kt=Tt(),br=bn(),Cn=Ae?Bt(gd):gd();if(Le()===107){var Ci=p0.createParameterDeclaration(Cn,void 0,void 0,Ka(!0),void 0,Md(),void 0);return Cn&&en(Cn[0],e.Diagnostics.Decorators_may_not_be_applied_to_this_parameters),rx(_t(Ci,kt),br)}var $i=p1;p1=!1;var no=p2(),lo=rx(_t(p0.createParameterDeclaration(Cn,no,Hx(25),function(Qs){var yo=W(e.Diagnostics.Private_identifiers_cannot_be_used_as_parameters);return e.getFullWidth(yo)===0&&!e.some(Qs)&&e.isModifierKind(Le())&&W1(),yo}(no),Hx(57),Md(),dd()),kt),br);return p1=$i,lo}function vp(Ae,kt){if(function(br,Cn){return br===38?(M(br),!0):l1(58)?!0:Cn&&Le()===38?(dt(e.Diagnostics._0_expected,e.tokenToString(58)),W1(),!0):!1}(Ae,kt))return $f()}function Zp(Ae){var kt=Ni(),br=Ba();Vt(!!(1&Ae)),gr(!!(2&Ae));var Cn=32&Ae?qE(17,Ld):qE(16,br?tA:rA);return Vt(kt),gr(br),Cn}function Ef(Ae){if(!M(20))return pl();var kt=Zp(Ae);return M(21),kt}function yr(){l1(27)||pn()}function Jr(Ae){var kt=Tt(),br=bn();Ae===171&&M(102);var Cn=Up(),Ci=Ef(4),$i=vp(58,!0);return yr(),rx(_t(Ae===170?p0.createCallSignature(Cn,Ci,$i):p0.createConstructSignature(Cn,Ci,$i),kt),br)}function Un(){return Le()===22&&ut(pa)}function pa(){if(W1(),Le()===25||Le()===23)return!0;if(e.isModifierKind(Le())){if(W1(),h0())return!0}else{if(!h0())return!1;W1()}return Le()===58||Le()===27||Le()===57&&(W1(),Le()===58||Le()===27||Le()===23)}function za(Ae,kt,br,Cn){var Ci=Np(16,rA,22,23),$i=Md();return yr(),rx(_t(p0.createIndexSignature(br,Cn,Ci,$i),Ae),kt)}function Ls(){if(Le()===20||Le()===29||Le()===134||Le()===146)return!0;for(var Ae=!1;e.isModifierKind(Le());)Ae=!0,W1();return Le()===22||(Fn()&&(Ae=!0,W1()),!!Ae&&(Le()===20||Le()===29||Le()===57||Le()===58||Le()===27||Kr()))}function Mo(){if(Le()===20||Le()===29)return Jr(170);if(Le()===102&&ut(Ps))return Jr(171);var Ae=Tt(),kt=bn(),br=p2();return Fa(134)?DS(Ae,kt,void 0,br,168):Fa(146)?DS(Ae,kt,void 0,br,169):Un()?za(Ae,kt,void 0,br):function(Cn,Ci,$i){var no,lo=fa(),Qs=Hx(57);if(Le()===20||Le()===29){var yo=Up(),Ou=Ef(4),oc=vp(58,!0);no=p0.createMethodSignature($i,lo,Qs,yo,Ou,oc)}else oc=Md(),no=p0.createPropertySignature($i,lo,Qs,oc),Le()===62&&(no.initializer=dd());return yr(),rx(_t(no,Cn),Ci)}(Ae,kt,br)}function Ps(){return W1(),Le()===20||Le()===29}function mo(){return W1()===24}function bc(){switch(W1()){case 20:case 29:case 24:return!0}return!1}function Ro(){var Ae;return M(18)?(Ae=mC(4,Mo),M(19)):Ae=pl(),Ae}function Vc(){return W1(),Le()===39||Le()===40?W1()===142:(Le()===142&&W1(),Le()===22&&zl()&&W1()===100)}function ws(){var Ae,kt=Tt();M(18),Le()!==142&&Le()!==39&&Le()!==40||(Ae=It()).kind!==142&&M(142),M(22);var br,Cn=function(){var no=Tt(),lo=yt();M(100);var Qs=t4();return _t(p0.createTypeParameterDeclaration(lo,Qs,void 0),no)}(),Ci=l1(126)?t4():void 0;M(23),Le()!==57&&Le()!==39&&Le()!==40||(br=It()).kind!==57&&M(57);var $i=Md();return pn(),M(19),_t(p0.createMappedTypeNode(Ae,Cn,Ci,br,$i),kt)}function gc(){var Ae=Tt();if(l1(25))return _t(p0.createRestTypeNode(t4()),Ae);var kt=t4();if(e.isJSDocNullableType(kt)&&kt.pos===kt.type.pos){var br=p0.createOptionalTypeNode(kt.type);return e.setTextRange(br,kt),br.flags=kt.flags,br}return kt}function Pl(){return W1()===58||Le()===57&&W1()===58}function xc(){return Le()===25?e.tokenIsIdentifierOrKeyword(W1())&&Pl():e.tokenIsIdentifierOrKeyword(Le())&&Pl()}function Su(){if(ut(xc)){var Ae=Tt(),kt=bn(),br=Hx(25),Cn=yt(),Ci=Hx(57);M(58);var $i=gc();return rx(_t(p0.createNamedTupleMember(br,Cn,Ci,$i),Ae),kt)}return gc()}function hC(){var Ae=Tt(),kt=bn(),br=function(){var Qs;if(Le()===125){var yo=Tt();W1(),Qs=rn([_t(p0.createToken(125),yo)],yo)}return Qs}(),Cn=l1(102),Ci=Up(),$i=Ef(4),no=vp(38,!1),lo=Cn?p0.createConstructorTypeNode(br,Ci,$i,no):p0.createFunctionTypeNode(Ci,$i,no);return Cn||(lo.modifiers=br),rx(_t(lo,Ae),kt)}function _o(){var Ae=It();return Le()===24?void 0:Ae}function ol(Ae){var kt=Tt();Ae&&W1();var br=Le()===109||Le()===94||Le()===103?It():aw(Le());return Ae&&(br=_t(p0.createPrefixUnaryExpression(40,br),kt)),_t(p0.createLiteralTypeNode(br),kt)}function Fc(){return W1(),Le()===99}function _l(){h1|=1048576;var Ae=Tt(),kt=l1(111);M(99),M(20);var br=t4();M(21);var Cn=l1(24)?c5():void 0,Ci=Qo();return _t(p0.createImportTypeNode(br,Cn,Ci,kt),Ae)}function uc(){return W1(),Le()===8||Le()===9}function Fl(){switch(Le()){case 128:case 152:case 147:case 144:case 155:case 148:case 131:case 150:case 141:case 145:return Gr(_o)||Rl();case 65:f0.reScanAsteriskEqualsToken();case 41:return br=Tt(),W1(),_t(p0.createJSDocAllType(),br);case 60:f0.reScanQuestionToken();case 57:return function(){var Cn=Tt();return W1(),Le()===27||Le()===19||Le()===21||Le()===31||Le()===62||Le()===51?_t(p0.createJSDocUnknownType(),Cn):_t(p0.createJSDocNullableType(t4()),Cn)}();case 97:return function(){var Cn=Tt(),Ci=bn();if(ut(ms)){W1();var $i=Ef(36),no=vp(58,!1);return rx(_t(p0.createJSDocFunctionType($i,no),Cn),Ci)}return _t(p0.createTypeReferenceNode(yt(),void 0),Cn)}();case 53:return function(){var Cn=Tt();return W1(),_t(p0.createJSDocNonNullableType(Fl()),Cn)}();case 14:case 10:case 8:case 9:case 109:case 94:case 103:return ol();case 40:return ut(uc)?ol(!0):Rl();case 113:return It();case 107:var Ae=bd();return Le()!==137||f0.hasPrecedingLineBreak()?Ae:(kt=Ae,W1(),_t(p0.createTypePredicateNode(void 0,kt,t4()),kt.pos));case 111:return ut(Fc)?_l():function(){var Cn=Tt();return M(111),_t(p0.createTypeQueryNode(rp(!0)),Cn)}();case 18:return ut(Vc)?ws():function(){var Cn=Tt();return _t(p0.createTypeLiteralNode(Ro()),Cn)}();case 22:return function(){var Cn=Tt();return _t(p0.createTupleTypeNode(Np(21,Su,22,23)),Cn)}();case 20:return function(){var Cn=Tt();M(20);var Ci=t4();return M(21),_t(p0.createParenthesizedType(Ci),Cn)}();case 99:return _l();case 127:return ut(X2)?function(){var Cn=Tt(),Ci=Pe(127),$i=Le()===107?bd():Fr(),no=l1(137)?t4():void 0;return _t(p0.createTypePredicateNode(Ci,$i,no),Cn)}():Rl();case 15:return Nf();default:return Rl()}var kt,br}function D6(Ae){switch(Le()){case 128:case 152:case 147:case 144:case 155:case 131:case 142:case 148:case 151:case 113:case 150:case 103:case 107:case 111:case 141:case 18:case 22:case 29:case 51:case 50:case 102:case 10:case 8:case 9:case 109:case 94:case 145:case 41:case 57:case 53:case 25:case 135:case 99:case 127:case 14:case 15:return!0;case 97:return!Ae;case 40:return!Ae&&ut(uc);case 20:return!Ae&&ut(R6);default:return h0()}}function R6(){return W1(),Le()===21||rl(!1)||D6()}function nA(){var Ae=Tt();return M(135),_t(p0.createInferTypeNode(function(){var kt=Tt();return _t(p0.createTypeParameterDeclaration(Fr(),void 0,void 0),kt)}()),Ae)}function x4(){var Ae=Le();switch(Ae){case 138:case 151:case 142:return function(kt){var br=Tt();return M(kt),_t(p0.createTypeOperatorNode(kt,x4()),br)}(Ae);case 135:return nA()}return function(){for(var kt=Tt(),br=Fl();!f0.hasPrecedingLineBreak();)switch(Le()){case 53:W1(),br=_t(p0.createJSDocNonNullableType(br),kt);break;case 57:if(ut(kp))return br;W1(),br=_t(p0.createJSDocNullableType(br),kt);break;case 22:if(M(22),D6()){var Cn=t4();M(23),br=_t(p0.createIndexedAccessTypeNode(br,Cn),kt)}else M(23),br=_t(p0.createArrayTypeNode(br),kt);break;default:return br}return br}()}function Al(Ae){if(Wl()){var kt=hC();return en(kt,e.isFunctionTypeNode(kt)?Ae?e.Diagnostics.Function_type_notation_must_be_parenthesized_when_used_in_a_union_type:e.Diagnostics.Function_type_notation_must_be_parenthesized_when_used_in_an_intersection_type:Ae?e.Diagnostics.Constructor_type_notation_must_be_parenthesized_when_used_in_a_union_type:e.Diagnostics.Constructor_type_notation_must_be_parenthesized_when_used_in_an_intersection_type),kt}}function e4(Ae,kt,br){var Cn=Tt(),Ci=Ae===51,$i=l1(Ae),no=$i&&Al(Ci)||kt();if(Le()===Ae||$i){for(var lo=[no];l1(Ae);)lo.push(Al(Ci)||kt());no=_t(br(rn(lo,Cn)),Cn)}return no}function bp(){return e4(50,x4,p0.createIntersectionTypeNode)}function _c(){return W1(),Le()===102}function Wl(){return Le()===29||!(Le()!==20||!ut(Vp))||Le()===102||Le()===125&&ut(_c)}function Vp(){return W1(),!!(Le()===21||Le()===25||function(){if(e.isModifierKind(Le())&&p2(),h0()||Le()===107)return W1(),!0;if(Le()===22||Le()===18){var Ae=Z1.length;return W(),Ae===Z1.length}return!1}()&&(Le()===58||Le()===27||Le()===57||Le()===62||Le()===21&&(W1(),Le()===38)))}function $f(){var Ae=Tt(),kt=h0()&&Gr(iA),br=t4();return kt?_t(p0.createTypePredicateNode(void 0,kt,br),Ae):br}function iA(){var Ae=Fr();if(Le()===137&&!f0.hasPrecedingLineBreak())return W1(),Ae}function t4(){return Nt(40960,Om)}function Om(Ae){if(Wl())return hC();var kt=Tt(),br=e4(51,bp,p0.createUnionTypeNode);if(!Ae&&!f0.hasPrecedingLineBreak()&&l1(93)){var Cn=Om(!0);M(57);var Ci=Om();M(58);var $i=Om();return _t(p0.createConditionalTypeNode(br,Cn,Ci,$i),kt)}return br}function Md(){return l1(58)?t4():void 0}function Dk(){switch(Le()){case 107:case 105:case 103:case 109:case 94:case 8:case 9:case 10:case 14:case 15:case 20:case 22:case 18:case 97:case 83:case 102:case 43:case 67:case 78:return!0;case 99:return ut(bc);default:return h0()}}function Cd(){if(Dk())return!0;switch(Le()){case 39:case 40:case 54:case 53:case 88:case 111:case 113:case 45:case 46:case 29:case 130:case 124:case 79:return!0;default:return!!function(){return Kn()&&Le()===100?!1:e.getBinaryOperatorPrecedence(Le())>0}()||h0()}}function tF(){var Ae=oi();Ae&&wr(!1);for(var kt,br=Tt(),Cn=Rf();kt=Hx(27);)Cn=LF(Cn,kt,Rf(),br);return Ae&&wr(!0),Cn}function dd(){return l1(62)?Rf():void 0}function Rf(){if(function(){return Le()===124?!!Ni()||ut(Pk):!1}())return function(){var Cn=Tt();return W1(),f0.hasPrecedingLineBreak()||Le()!==41&&!Cd()?_t(p0.createYieldExpression(void 0,void 0),Cn):_t(p0.createYieldExpression(Hx(41),Rf()),Cn)}();var Ae=function(){var Cn=function(){return Le()===20||Le()===29||Le()===129?ut(N2):Le()===38?1:0}();if(Cn!==0)return Cn===1?kT(!0):Gr(hm)}()||function(){if(Le()===129&&ut(Bm)===1){var Cn=Tt(),Ci=D_();return ow(Cn,Qd(0),Ci)}}();if(Ae)return Ae;var kt=Tt(),br=Qd(0);return br.kind===78&&Le()===38?ow(kt,br,void 0):e.isLeftHandSideExpression(br)&&e.isAssignmentOperator(E1())?LF(br,It(),Rf(),kt):function(Cn,Ci){var $i,no=Hx(57);return no?_t(p0.createConditionalExpression(Cn,no,Nt(y0,Rf),$i=Pe(58),e.nodeIsPresent($i)?Rf():Ii(78,!1,e.Diagnostics._0_expected,e.tokenToString(58))),Ci):Cn}(br,kt)}function ow(Ae,kt,br){e.Debug.assert(Le()===38,\"parseSimpleArrowFunctionExpression should only have been called if we had a =>\");var Cn=p0.createParameterDeclaration(void 0,void 0,void 0,kt,void 0,void 0,void 0);_t(Cn,kt.pos);var Ci=rn([Cn],Cn.pos,Cn.end),$i=Pe(38),no=Jf(!!br);return b1(_t(p0.createArrowFunction(br,void 0,Ci,void 0,$i,no),Ae))}function N2(){if(Le()===129&&(W1(),f0.hasPrecedingLineBreak()||Le()!==20&&Le()!==29))return 0;var Ae=Le(),kt=W1();if(Ae===20){if(kt===21)switch(W1()){case 38:case 58:case 18:return 1;default:return 0}if(kt===22||kt===18)return 2;if(kt===25||e.isModifierKind(kt)&&kt!==129&&ut(zl))return 1;if(!h0()&&kt!==107)return 0;switch(W1()){case 58:return 1;case 57:return W1(),Le()===58||Le()===27||Le()===62||Le()===21?1:0;case 27:case 62:case 21:return 2}return 0}return e.Debug.assert(Ae===29),h0()?$1===1?ut(function(){var br=W1();if(br===93)switch(W1()){case 62:case 31:return!1;default:return!0}else if(br===27)return!0;return!1})?1:0:2:0}function hm(){var Ae=f0.getTokenPos();if(!(S0==null?void 0:S0.has(Ae))){var kt=kT(!1);return kt||(S0||(S0=new e.Set)).add(Ae),kt}}function Bm(){if(Le()===129){if(W1(),f0.hasPrecedingLineBreak()||Le()===38)return 0;var Ae=Qd(0);if(!f0.hasPrecedingLineBreak()&&Ae.kind===78&&Le()===38)return 1}return 0}function kT(Ae){var kt,br=Tt(),Cn=bn(),Ci=D_(),$i=e.some(Ci,e.isAsyncModifier)?2:0,no=Up();if(M(20)){if(kt=Zp($i),!M(21)&&!Ae)return}else{if(!Ae)return;kt=pl()}var lo=vp(58,!1);if(!lo||Ae||!gl(lo)){var Qs=lo&&e.isJSDocFunctionType(lo);if(Ae||Le()===38||!Qs&&Le()===18){var yo=Le(),Ou=Pe(38),oc=yo===38||yo===18?Jf(e.some(Ci,e.isAsyncModifier)):Fr();return rx(_t(p0.createArrowFunction(Ci,no,kt,lo,Ou,oc),br),Cn)}}}function Jf(Ae){if(Le()===18)return ed(Ae?2:0);if(Le()!==26&&Le()!==97&&Le()!==83&&M9()&&(Le()===18||Le()===97||Le()===83||Le()===59||!Cd()))return ed(16|(Ae?2:0));var kt=p1;p1=!1;var br=Ae?Bt(Rf):Nt(32768,Rf);return p1=kt,br}function Qd(Ae){var kt=Tt();return Pf(Ae,Qw(),kt)}function $S(Ae){return Ae===100||Ae===157}function Pf(Ae,kt,br){for(;;){E1();var Cn=e.getBinaryOperatorPrecedence(Le());if(!(Le()===42?Cn>=Ae:Cn>Ae)||Le()===100&&Kn())break;if(Le()===126){if(f0.hasPrecedingLineBreak())break;W1(),Ci=kt,$i=t4(),kt=_t(p0.createAsExpression(Ci,$i),Ci.pos)}else kt=LF(kt,It(),Qd(Cn),br)}var Ci,$i;return kt}function LF(Ae,kt,br,Cn){return _t(p0.createBinaryExpression(Ae,kt,br),Cn)}function Ku(){var Ae=Tt();return _t(p0.createPrefixUnaryExpression(Le(),Yn(Rd)),Ae)}function Qw(){if(function(){switch(Le()){case 39:case 40:case 54:case 53:case 88:case 111:case 113:case 130:return!1;case 29:if($1!==1)return!1;default:return!0}}()){var Ae=Tt(),kt=we();return Le()===42?Pf(e.getBinaryOperatorPrecedence(Le()),kt,Ae):kt}var br=Le(),Cn=Rd();if(Le()===42){Ae=e.skipTrivia(S1,Cn.pos);var Ci=Cn.end;Cn.kind===207?lr(Ae,Ci,e.Diagnostics.A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses):lr(Ae,Ci,e.Diagnostics.An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses,e.tokenToString(br))}return Cn}function Rd(){switch(Le()){case 39:case 40:case 54:case 53:return Ku();case 88:return Ae=Tt(),_t(p0.createDeleteExpression(Yn(Rd)),Ae);case 111:return function(){var kt=Tt();return _t(p0.createTypeOfExpression(Yn(Rd)),kt)}();case 113:return function(){var kt=Tt();return _t(p0.createVoidExpression(Yn(Rd)),kt)}();case 29:return function(){var kt=Tt();M(29);var br=t4();M(31);var Cn=Rd();return _t(p0.createTypeAssertion(br,Cn),kt)}();case 130:if(Le()===130&&(Ba()||ut(Pk)))return function(){var kt=Tt();return _t(p0.createAwaitExpression(Yn(Rd)),kt)}();default:return we()}var Ae}function we(){if(Le()===45||Le()===46){var Ae=Tt();return _t(p0.createPrefixUnaryExpression(Le(),Yn(it)),Ae)}if($1===1&&Le()===29&&ut(OF))return Xn(!0);var kt=it();if(e.Debug.assert(e.isLeftHandSideExpression(kt)),(Le()===45||Le()===46)&&!f0.hasPrecedingLineBreak()){var br=Le();return W1(),_t(p0.createPostfixUnaryExpression(kt,br),kt.pos)}return kt}function it(){var Ae,kt=Tt();return Le()===99?ut(Ps)?(h1|=1048576,Ae=It()):ut(mo)?(W1(),W1(),Ae=_t(p0.createMetaProperty(99,yt()),kt),h1|=2097152):Ae=Ln():Ae=Le()===105?function(){var br=Tt(),Cn=It();if(Le()===29){var Ci=Tt();Gr(Cp)!==void 0&&lr(Ci,Tt(),e.Diagnostics.super_may_not_use_type_arguments)}return Le()===20||Le()===24||Le()===22?Cn:(Pe(24,e.Diagnostics.super_must_be_followed_by_an_argument_list_or_member_access),_t(p0.createPropertyAccessExpression(Cn,tf(!0,!0)),br))}():Ln(),f2(kt,Ae)}function Ln(){return Ab(Tt(),ip(),!0)}function Xn(Ae,kt){var br,Cn=Tt(),Ci=function(Ou){var oc=Tt();if(M(29),Le()===31)return Ut(),_t(p0.createJsxOpeningFragment(),oc);var xl,Jl=Hc(),dp=(131072&I0)==0?bh():void 0,If=function(){var ql=Tt();return _t(p0.createJsxAttributes(mC(13,Wa)),ql)}();return Le()===31?(Ut(),xl=p0.createJsxOpeningElement(Jl,dp,If)):(M(43),Ou?M(31):(M(31,void 0,!1),Ut()),xl=p0.createJsxSelfClosingElement(Jl,dp,If)),_t(xl,oc)}(Ae);if(Ci.kind===276){var $i=qa(Ci),no=function(Ou){var oc=Tt();M(30);var xl=Hc();return Ou?M(31):(M(31,void 0,!1),Ut()),_t(p0.createJsxClosingElement(xl),oc)}(Ae);w0(Ci.tagName,no.tagName)||en(no,e.Diagnostics.Expected_corresponding_JSX_closing_tag_for_0,e.getTextOfNodeFromSourceText(S1,Ci.tagName)),br=_t(p0.createJsxElement(Ci,$i,no),Cn)}else Ci.kind===279?br=_t(p0.createJsxFragment(Ci,qa(Ci),function(Ou){var oc=Tt();return M(30),e.tokenIsIdentifierOrKeyword(Le())&&en(Hc(),e.Diagnostics.Expected_corresponding_closing_tag_for_JSX_fragment),Ou?M(31):(M(31,void 0,!1),Ut()),_t(p0.createJsxJsxClosingFragment(),oc)}(Ae)),Cn):(e.Debug.assert(Ci.kind===275),br=Ci);if(Ae&&Le()===29){var lo=kt===void 0?br.pos:kt,Qs=Gr(function(){return Xn(!0,lo)});if(Qs){var yo=Ii(27,!1);return e.setTextRangePosWidth(yo,Qs.pos,0),lr(e.skipTrivia(S1,lo),Qs.end,e.Diagnostics.JSX_expressions_must_have_one_parent_element),_t(p0.createBinaryExpression(br,yo,Qs),Cn)}}return br}function La(Ae,kt){switch(kt){case 1:if(e.isJsxOpeningFragment(Ae))en(Ae,e.Diagnostics.JSX_fragment_has_no_corresponding_closing_tag);else{var br=Ae.tagName;lr(e.skipTrivia(S1,br.pos),br.end,e.Diagnostics.JSX_element_0_has_no_corresponding_closing_tag,e.getTextOfNodeFromSourceText(S1,Ae.tagName))}return;case 30:case 7:return;case 11:case 12:return function(){var Cn=Tt(),Ci=p0.createJsxText(f0.getTokenValue(),k1===12);return k1=f0.scanJsxToken(),_t(Ci,Cn)}();case 18:return bx(!1);case 29:return Xn(!1);default:return e.Debug.assertNever(kt)}}function qa(Ae){var kt=[],br=Tt(),Cn=n1;for(n1|=16384;;){var Ci=La(Ae,k1=f0.reScanJsxToken());if(!Ci)break;kt.push(Ci)}return n1=Cn,rn(kt,br)}function Hc(){var Ae=Tt();ae();for(var kt=Le()===107?It():yt();l1(24);)kt=_t(p0.createPropertyAccessExpression(kt,tf(!0,!1)),Ae);return kt}function bx(Ae){var kt,br,Cn=Tt();if(M(18))return Le()!==19&&(kt=Hx(25),br=tF()),Ae?M(19):M(19,void 0,!1)&&Ut(),_t(p0.createJsxExpression(kt,br),Cn)}function Wa(){if(Le()===18)return function(){var kt=Tt();M(18),M(25);var br=tF();return M(19),_t(p0.createJsxSpreadAttribute(br),kt)}();ae();var Ae=Tt();return _t(p0.createJsxAttribute(yt(),Le()!==62?void 0:(k1=f0.scanJsxAttributeValue())===10?Ju():bx(!0)),Ae)}function rs(){return W1(),e.tokenIsIdentifierOrKeyword(Le())||Le()===22||jf()}function ht(Ae){if(32&Ae.flags)return!0;if(e.isNonNullExpression(Ae)){for(var kt=Ae.expression;e.isNonNullExpression(kt)&&!(32&kt.flags);)kt=kt.expression;if(32&kt.flags){for(;e.isNonNullExpression(Ae);)Ae.flags|=32,Ae=Ae.expression;return!0}}return!1}function Mu(Ae,kt,br){var Cn=tf(!0,!0),Ci=br||ht(kt),$i=Ci?p0.createPropertyAccessChain(kt,br,Cn):p0.createPropertyAccessExpression(kt,Cn);return Ci&&e.isPrivateIdentifier($i.name)&&en($i.name,e.Diagnostics.An_optional_chain_cannot_contain_private_identifiers),_t($i,Ae)}function Gc(Ae,kt,br){var Cn;if(Le()===23)Cn=Ii(78,!0,e.Diagnostics.An_element_access_expression_should_take_an_argument);else{var Ci=xr(tF);e.isStringOrNumericLiteralLike(Ci)&&(Ci.text=Mn(Ci.text)),Cn=Ci}return M(23),_t(br||ht(kt)?p0.createElementAccessChain(kt,br,Cn):p0.createElementAccessExpression(kt,Cn),Ae)}function Ab(Ae,kt,br){for(;;){var Cn=void 0,Ci=!1;if(br&&Le()===28&&ut(rs)?(Cn=Pe(28),Ci=e.tokenIsIdentifierOrKeyword(Le())):Ci=l1(24),Ci)kt=Mu(Ae,kt,Cn);else if(Cn||Le()!==53||f0.hasPrecedingLineBreak())if(!Cn&&oi()||!l1(22)){if(!jf())return kt;kt=lp(Ae,kt,Cn,void 0)}else kt=Gc(Ae,kt,Cn);else W1(),kt=_t(p0.createNonNullExpression(kt),Ae)}}function jf(){return Le()===14||Le()===15}function lp(Ae,kt,br,Cn){var Ci=p0.createTaggedTemplateExpression(kt,Cn,Le()===14?(qx(),Ju()):cp(!0));return(br||32&kt.flags)&&(Ci.flags|=32),Ci.questionDotToken=br,_t(Ci,Ae)}function f2(Ae,kt){for(;;){kt=Ab(Ae,kt,!0);var br=Hx(28);if((131072&I0)!=0||Le()!==29&&Le()!==47){if(Le()===20){Ci=np(),kt=_t(br||ht(kt)?p0.createCallChain(kt,br,void 0,Ci):p0.createCallExpression(kt,void 0,Ci),Ae);continue}}else{var Cn=Gr(Cp);if(Cn){if(jf()){kt=lp(Ae,kt,br,Cn);continue}var Ci=np();kt=_t(br||ht(kt)?p0.createCallChain(kt,br,Cn,Ci):p0.createCallExpression(kt,Cn,Ci),Ae);continue}}if(br){var $i=Ii(78,!1,e.Diagnostics.Identifier_expected);kt=_t(p0.createPropertyAccessChain(kt,br,$i),Ae)}break}return kt}function np(){M(20);var Ae=qE(11,xd);return M(21),Ae}function Cp(){if((131072&I0)==0&&xt()===29){W1();var Ae=qE(20,t4);if(M(31))return Ae&&function(){switch(Le()){case 20:case 14:case 15:case 24:case 21:case 23:case 58:case 26:case 57:case 34:case 36:case 35:case 37:case 55:case 56:case 60:case 52:case 50:case 51:case 19:case 1:return!0;case 27:case 18:default:return!1}}()?Ae:void 0}}function ip(){switch(Le()){case 8:case 9:case 10:case 14:return Ju();case 107:case 105:case 103:case 109:case 94:return It();case 20:return function(){var Ae=Tt(),kt=bn();M(20);var br=xr(tF);return M(21),rx(_t(p0.createParenthesizedExpression(br),Ae),kt)}();case 22:return l5();case 18:return Pp();case 129:if(!ut(hd))break;return Zo();case 83:return vh(Tt(),bn(),void 0,void 0,222);case 97:return Zo();case 102:return function(){var Ae=Tt();if(M(102),l1(24)){var kt=yt();return _t(p0.createMetaProperty(102,kt),Ae)}for(var br,Cn,Ci=Tt(),$i=ip();;){$i=Ab(Ci,$i,!1),br=Gr(Cp),jf()&&(e.Debug.assert(!!br,\"Expected a type argument list; all plain tagged template starts should be consumed in 'parseMemberExpressionRest'\"),$i=lp(Ci,$i,void 0,br),br=void 0);break}return Le()===20?Cn=np():br&&lr(Ae,f0.getStartPos(),e.Diagnostics.A_new_expression_with_type_arguments_must_always_be_followed_by_a_parenthesized_argument_list),_t(p0.createNewExpression($i,br,Cn),Ae)}();case 43:case 67:if((k1=f0.reScanSlashToken())===13)return Ju();break;case 15:return cp(!1)}return Fr(e.Diagnostics.Expression_expected)}function fp(){return Le()===25?function(){var Ae=Tt();M(25);var kt=Rf();return _t(p0.createSpreadElement(kt),Ae)}():Le()===27?_t(p0.createOmittedExpression(),Tt()):Rf()}function xd(){return Nt(y0,fp)}function l5(){var Ae=Tt();M(22);var kt=f0.hasPrecedingLineBreak(),br=qE(15,fp);return M(23),_t(p0.createArrayLiteralExpression(br,kt),Ae)}function pp(){var Ae=Tt(),kt=bn();if(Hx(25)){var br=Rf();return rx(_t(p0.createSpreadAssignment(br),Ae),kt)}var Cn=gd(),Ci=p2();if(Fa(134))return DS(Ae,kt,Cn,Ci,168);if(Fa(146))return DS(Ae,kt,Cn,Ci,169);var $i,no=Hx(41),lo=h0(),Qs=fa(),yo=Hx(57),Ou=Hx(53);if(no||Le()===20||Le()===29)return ks(Ae,kt,Cn,Ci,no,Qs,yo,Ou);if(lo&&Le()!==58){var oc=Hx(62),xl=oc?xr(Rf):void 0;($i=p0.createShorthandPropertyAssignment(Qs,xl)).equalsToken=oc}else{M(58);var Jl=xr(Rf);$i=p0.createPropertyAssignment(Qs,Jl)}return $i.decorators=Cn,$i.modifiers=Ci,$i.questionToken=yo,$i.exclamationToken=Ou,rx(_t($i,Ae),kt)}function Pp(){var Ae=Tt(),kt=f0.getTokenPos();M(18);var br=f0.hasPrecedingLineBreak(),Cn=qE(12,pp,!0);if(!M(19)){var Ci=e.lastOrUndefined(Z1);Ci&&Ci.code===e.Diagnostics._0_expected.code&&e.addRelatedInfo(Ci,e.createDetachedDiagnostic(d1,kt,1,e.Diagnostics.The_parser_expected_to_find_a_to_match_the_token_here))}return _t(p0.createObjectLiteralExpression(Cn,br),Ae)}function Zo(){var Ae=oi();Ae&&wr(!1);var kt=Tt(),br=bn(),Cn=p2();M(97);var Ci=Hx(41),$i=Ci?1:0,no=e.some(Cn,e.isAsyncModifier)?2:0,lo=$i&&no?Ir(40960,Fo):$i?function(xl){return Ir(8192,xl)}(Fo):no?Bt(Fo):Fo(),Qs=Up(),yo=Ef($i|no),Ou=vp(58,!1),oc=ed($i|no);return Ae&&wr(!0),rx(_t(p0.createFunctionExpression(Cn,Ci,lo,Qs,yo,Ou,oc),kt),br)}function Fo(){return B()?fe():void 0}function pT(Ae,kt){var br=Tt(),Cn=bn(),Ci=f0.getTokenPos();if(M(18,kt)||Ae){var $i=f0.hasPrecedingLineBreak(),no=mC(1,Hf);if(!M(19)){var lo=e.lastOrUndefined(Z1);lo&&lo.code===e.Diagnostics._0_expected.code&&e.addRelatedInfo(lo,e.createDetachedDiagnostic(d1,Ci,1,e.Diagnostics.The_parser_expected_to_find_a_to_match_the_token_here))}var Qs=rx(_t(p0.createBlock(no,$i),br),Cn);return Le()===62&&(dt(e.Diagnostics.Declaration_or_statement_expected_This_follows_a_block_of_statements_so_if_you_intended_to_write_a_destructuring_assignment_you_might_need_to_wrap_the_the_whole_assignment_in_parentheses),W1()),Qs}return no=pl(),rx(_t(p0.createBlock(no,void 0),br),Cn)}function ed(Ae,kt){var br=Ni();Vt(!!(1&Ae));var Cn=Ba();gr(!!(2&Ae));var Ci=p1;p1=!1;var $i=oi();$i&&wr(!1);var no=pT(!!(16&Ae),kt);return $i&&wr(!0),p1=Ci,Vt(br),gr(Cn),no}function ah(){var Ae=Tt(),kt=bn();M(96);var br,Cn,Ci=Hx(130);if(M(20),Le()!==26&&(br=Le()===112||Le()===118||Le()===84?ce(!0):Ir(4096,tF)),Ci?M(157):l1(157)){var $i=xr(Rf);M(21),Cn=p0.createForOfStatement(Ci,br,$i,Hf())}else if(l1(100))$i=xr(tF),M(21),Cn=p0.createForInStatement(br,$i,Hf());else{M(26);var no=Le()!==26&&Le()!==21?xr(tF):void 0;M(26);var lo=Le()!==21?xr(tF):void 0;M(21),Cn=p0.createForStatement(br,no,lo,Hf())}return rx(_t(Cn,Ae),kt)}function Kh(Ae){var kt=Tt(),br=bn();M(Ae===242?80:85);var Cn=Kr()?void 0:Fr();return pn(),rx(_t(Ae===242?p0.createBreakStatement(Cn):p0.createContinueStatement(Cn),kt),br)}function j6(){return Le()===81?function(){var Ae=Tt();M(81);var kt=xr(tF);M(58);var br=mC(3,Hf);return _t(p0.createCaseClause(kt,br),Ae)}():function(){var Ae=Tt();M(87),M(58);var kt=mC(3,Hf);return _t(p0.createDefaultClause(kt),Ae)}()}function Jo(){var Ae=Tt(),kt=bn();M(106),M(20);var br=xr(tF);M(21);var Cn=function(){var Ci=Tt();M(18);var $i=mC(2,j6);return M(19),_t(p0.createCaseBlock($i),Ci)}();return rx(_t(p0.createSwitchStatement(br,Cn),Ae),kt)}function aN(){var Ae=Tt(),kt=bn();M(110);var br,Cn=pT(!1),Ci=Le()===82?function(){var $i,no=Tt();M(82),l1(20)?($i=J1(),M(21)):$i=void 0;var lo=pT(!1);return _t(p0.createCatchClause($i,lo),no)}():void 0;return Ci&&Le()!==95||(M(95),br=pT(!1)),rx(_t(p0.createTryStatement(Cn,Ci,br),Ae),kt)}function X2(){return W1(),e.tokenIsIdentifierOrKeyword(Le())&&!f0.hasPrecedingLineBreak()}function md(){return W1(),Le()===83&&!f0.hasPrecedingLineBreak()}function hd(){return W1(),Le()===97&&!f0.hasPrecedingLineBreak()}function Pk(){return W1(),(e.tokenIsIdentifierOrKeyword(Le())||Le()===8||Le()===9||Le()===10)&&!f0.hasPrecedingLineBreak()}function oh(){for(;;)switch(Le()){case 112:case 118:case 84:case 97:case 83:case 91:return!0;case 117:case 149:return W1(),!f0.hasPrecedingLineBreak()&&h0();case 139:case 140:return P();case 125:case 129:case 133:case 120:case 121:case 122:case 142:if(W1(),f0.hasPrecedingLineBreak())return!1;continue;case 154:return W1(),Le()===18||Le()===78||Le()===92;case 99:return W1(),Le()===10||Le()===41||Le()===18||e.tokenIsIdentifierOrKeyword(Le());case 92:var Ae=W1();if(Ae===149&&(Ae=ut(W1)),Ae===62||Ae===41||Ae===18||Ae===87||Ae===126)return!0;continue;case 123:W1();continue;default:return!1}}function q5(){return ut(oh)}function M9(){switch(Le()){case 59:case 26:case 18:case 112:case 118:case 97:case 83:case 91:case 98:case 89:case 114:case 96:case 85:case 80:case 104:case 115:case 106:case 108:case 110:case 86:case 82:case 95:return!0;case 99:return q5()||ut(bc);case 84:case 92:return q5();case 129:case 133:case 117:case 139:case 140:case 149:case 154:return!0;case 122:case 120:case 121:case 123:case 142:return q5()||!ut(X2);default:return Cd()}}function HP(){return W1(),h0()||Le()===18||Le()===22}function Hf(){switch(Le()){case 26:return Ae=Tt(),kt=bn(),M(26),rx(_t(p0.createEmptyStatement(),Ae),kt);case 18:return pT(!1);case 112:return Zr(Tt(),bn(),void 0,void 0);case 118:if(ut(HP))return Zr(Tt(),bn(),void 0,void 0);break;case 97:return ui(Tt(),bn(),void 0,void 0);case 83:return jd(Tt(),bn(),void 0,void 0);case 98:return function(){var br=Tt(),Cn=bn();M(98),M(20);var Ci=xr(tF);M(21);var $i=Hf(),no=l1(90)?Hf():void 0;return rx(_t(p0.createIfStatement(Ci,$i,no),br),Cn)}();case 89:return function(){var br=Tt(),Cn=bn();M(89);var Ci=Hf();M(114),M(20);var $i=xr(tF);return M(21),l1(26),rx(_t(p0.createDoStatement(Ci,$i),br),Cn)}();case 114:return function(){var br=Tt(),Cn=bn();M(114),M(20);var Ci=xr(tF);M(21);var $i=Hf();return rx(_t(p0.createWhileStatement(Ci,$i),br),Cn)}();case 96:return ah();case 85:return Kh(241);case 80:return Kh(242);case 104:return function(){var br=Tt(),Cn=bn();M(104);var Ci=Kr()?void 0:xr(tF);return pn(),rx(_t(p0.createReturnStatement(Ci),br),Cn)}();case 115:return function(){var br=Tt(),Cn=bn();M(115),M(20);var Ci=xr(tF);M(21);var $i=Ir(16777216,Hf);return rx(_t(p0.createWithStatement(Ci,$i),br),Cn)}();case 106:return Jo();case 108:return function(){var br=Tt(),Cn=bn();M(108);var Ci=f0.hasPrecedingLineBreak()?void 0:xr(tF);return Ci===void 0&&(Nx++,Ci=_t(p0.createIdentifier(\"\"),Tt())),pn(),rx(_t(p0.createThrowStatement(Ci),br),Cn)}();case 110:case 82:case 95:return aN();case 86:return function(){var br=Tt(),Cn=bn();return M(86),pn(),rx(_t(p0.createDebuggerStatement(),br),Cn)}();case 59:return dP();case 129:case 117:case 149:case 139:case 140:case 133:case 84:case 91:case 92:case 99:case 120:case 121:case 122:case 125:case 123:case 142:case 154:if(q5())return dP()}var Ae,kt;return function(){var br,Cn=Tt(),Ci=bn(),$i=Le()===20,no=xr(tF);return e.isIdentifier(no)&&l1(58)?br=p0.createLabeledStatement(no,Hf()):(pn(),br=p0.createExpressionStatement(no),$i&&(Ci=!1)),rx(_t(br,Cn),Ci)}()}function gm(Ae){return Ae.kind===133}function dP(){var Ae=e.some(ut(function(){return gd(),p2()}),gm);if(Ae){var kt=Ir(8388608,function(){var Qs=E4(n1);if(Qs)return Yl(Qs)});if(kt)return kt}var br=Tt(),Cn=bn(),Ci=gd(),$i=p2();if(Ae){for(var no=0,lo=$i;no<lo.length;no++)lo[no].flags|=8388608;return Ir(8388608,function(){return Ik(br,Cn,Ci,$i)})}return Ik(br,Cn,Ci,$i)}function Ik(Ae,kt,br,Cn){switch(Le()){case 112:case 118:case 84:return Zr(Ae,kt,br,Cn);case 97:return ui(Ae,kt,br,Cn);case 83:return jd(Ae,kt,br,Cn);case 117:return function($i,no,lo,Qs){M(117);var yo=Fr(),Ou=Up(),oc=zm(),xl=Ro();return rx(_t(p0.createInterfaceDeclaration(lo,Qs,yo,Ou,oc,xl),$i),no)}(Ae,kt,br,Cn);case 149:return function($i,no,lo,Qs){M(149);var yo=Fr(),Ou=Up();M(62);var oc=Le()===136&&Gr(_o)||t4();return pn(),rx(_t(p0.createTypeAliasDeclaration(lo,Qs,yo,Ou,oc),$i),no)}(Ae,kt,br,Cn);case 91:return function($i,no,lo,Qs){M(91);var yo,Ou=Fr();return M(18)?(yo=Nt(40960,function(){return qE(6,Wm)}),M(19)):yo=pl(),rx(_t(p0.createEnumDeclaration(lo,Qs,Ou,yo),$i),no)}(Ae,kt,br,Cn);case 154:case 139:case 140:return function($i,no,lo,Qs){var yo=0;if(Le()===154)return Xc($i,no,lo,Qs);if(l1(140))yo|=16;else if(M(139),Le()===10)return Xc($i,no,lo,Qs);return zh($i,no,lo,Qs,yo)}(Ae,kt,br,Cn);case 99:return function($i,no,lo,Qs){M(99);var yo,Ou=f0.getStartPos();h0()&&(yo=Fr());var oc,xl=!1;if(Le()===153||(yo==null?void 0:yo.escapedText)!==\"type\"||!h0()&&Le()!==41&&Le()!==18||(xl=!0,yo=h0()?Fr():void 0),yo&&Le()!==27&&Le()!==153)return function(dp,If,ql,Ip,sw,F5){M(62);var d2=Le()===143&&ut(ms)?function(){var td=Tt();M(143),M(20);var qT=ug();return M(21),_t(p0.createExternalModuleReference(qT),td)}():rp(!1);return pn(),rx(_t(p0.createImportEqualsDeclaration(ql,Ip,F5,sw,d2),dp),If)}($i,no,lo,Qs,yo,xl);(yo||Le()===41||Le()===18)&&(oc=function(dp,If,ql){var Ip;return dp&&!l1(27)||(Ip=Le()===41?function(){var sw=Tt();M(41),M(126);var F5=Fr();return _t(p0.createNamespaceImport(F5),sw)}():cg(265)),_t(p0.createImportClause(ql,dp,Ip),If)}(yo,Ou,xl),M(153));var Jl=ug();return pn(),rx(_t(p0.createImportDeclaration(lo,Qs,oc,Jl),$i),no)}(Ae,kt,br,Cn);case 92:switch(W1(),Le()){case 87:case 62:return function($i,no,lo,Qs){var yo,Ou=Ba();gr(!0),l1(62)?yo=!0:M(87);var oc=Rf();return pn(),gr(Ou),rx(_t(p0.createExportAssignment(lo,Qs,yo,oc),$i),no)}(Ae,kt,br,Cn);case 126:return function($i,no,lo,Qs){M(126),M(140);var yo=Fr();pn();var Ou=p0.createNamespaceExportDeclaration(yo);return Ou.decorators=lo,Ou.modifiers=Qs,rx(_t(Ou,$i),no)}(Ae,kt,br,Cn);default:return function($i,no,lo,Qs){var yo,Ou,oc=Ba();gr(!0);var xl=l1(149),Jl=Tt();return l1(41)?(l1(126)&&(yo=function(dp){return _t(p0.createNamespaceExport(yt()),dp)}(Jl)),M(153),Ou=ug()):(yo=cg(269),(Le()===153||Le()===10&&!f0.hasPrecedingLineBreak())&&(M(153),Ou=ug())),pn(),gr(oc),rx(_t(p0.createExportDeclaration(lo,Qs,xl,yo,Ou),$i),no)}(Ae,kt,br,Cn)}default:if(br||Cn){var Ci=Ii(272,!0,e.Diagnostics.Declaration_expected);return e.setTextRangePos(Ci,Ae),Ci.decorators=br,Ci.modifiers=Cn,Ci}return}}function P(){return W1(),!f0.hasPrecedingLineBreak()&&(h0()||Le()===10)}function T1(Ae,kt){if(Le()===18||!Kr())return ed(Ae,kt);pn()}function De(){var Ae=Tt();if(Le()===27)return _t(p0.createOmittedExpression(),Ae);var kt=Hx(25),br=W(),Cn=dd();return _t(p0.createBindingElement(kt,void 0,br,Cn),Ae)}function rr(){var Ae,kt=Tt(),br=Hx(25),Cn=B(),Ci=fa();Cn&&Le()!==58?(Ae=Ci,Ci=void 0):(M(58),Ae=W());var $i=dd();return _t(p0.createBindingElement(br,Ci,Ae,$i),kt)}function ei(){return Le()===18||Le()===22||Le()===79||B()}function W(Ae){return Le()===22?function(){var kt=Tt();M(22);var br=qE(10,De);return M(23),_t(p0.createArrayBindingPattern(br),kt)}():Le()===18?function(){var kt=Tt();M(18);var br=qE(9,rr);return M(19),_t(p0.createObjectBindingPattern(br),kt)}():fe(Ae)}function L0(){return J1(!0)}function J1(Ae){var kt,br=Tt(),Cn=bn(),Ci=W(e.Diagnostics.Private_identifiers_are_not_allowed_in_variable_declarations);Ae&&Ci.kind===78&&Le()===53&&!f0.hasPrecedingLineBreak()&&(kt=It());var $i=Md(),no=$S(Le())?void 0:dd();return rx(_t(p0.createVariableDeclaration(Ci,kt,$i,no),br),Cn)}function ce(Ae){var kt,br=Tt(),Cn=0;switch(Le()){case 112:break;case 118:Cn|=1;break;case 84:Cn|=2;break;default:e.Debug.fail()}if(W1(),Le()===157&&ut(ze))kt=pl();else{var Ci=Kn();gt(Ae),kt=qE(8,Ae?J1:L0),gt(Ci)}return _t(p0.createVariableDeclarationList(kt,Cn),br)}function ze(){return zl()&&W1()===21}function Zr(Ae,kt,br,Cn){var Ci=ce(!1);pn();var $i=p0.createVariableStatement(Cn,Ci);return $i.decorators=br,rx(_t($i,Ae),kt)}function ui(Ae,kt,br,Cn){var Ci=Ba(),$i=e.modifiersToFlags(Cn);M(97);var no=Hx(41),lo=512&$i?Fo():fe(),Qs=no?1:0,yo=256&$i?2:0,Ou=Up();1&$i&&gr(!0);var oc=Ef(Qs|yo),xl=vp(58,!1),Jl=T1(Qs|yo,e.Diagnostics.or_expected);return gr(Ci),rx(_t(p0.createFunctionDeclaration(br,Cn,no,lo,Ou,oc,xl,Jl),Ae),kt)}function Ve(Ae,kt,br,Cn){return Gr(function(){if(Le()===132?M(132):Le()===10&&ut(W1)===20?Gr(function(){var yo=Ju();return yo.text===\"constructor\"?yo:void 0}):void 0){var Ci=Up(),$i=Ef(0),no=vp(58,!1),lo=T1(0,e.Diagnostics.or_expected),Qs=p0.createConstructorDeclaration(br,Cn,$i,lo);return Qs.typeParameters=Ci,Qs.type=no,rx(_t(Qs,Ae),kt)}})}function ks(Ae,kt,br,Cn,Ci,$i,no,lo,Qs){var yo=Ci?1:0,Ou=e.some(Cn,e.isAsyncModifier)?2:0,oc=Up(),xl=Ef(yo|Ou),Jl=vp(58,!1),dp=T1(yo|Ou,Qs),If=p0.createMethodDeclaration(br,Cn,Ci,$i,no,oc,xl,Jl,dp);return If.exclamationToken=lo,rx(_t(If,Ae),kt)}function Sf(Ae,kt,br,Cn,Ci,$i){var no=$i||f0.hasPrecedingLineBreak()?void 0:Hx(53),lo=Md(),Qs=Nt(45056,dd);return pn(),rx(_t(p0.createPropertyDeclaration(br,Cn,Ci,$i||no,lo,Qs),Ae),kt)}function X6(Ae,kt,br,Cn){var Ci=Hx(41),$i=fa(),no=Hx(57);return Ci||Le()===20||Le()===29?ks(Ae,kt,br,Cn,Ci,$i,no,void 0,e.Diagnostics.or_expected):Sf(Ae,kt,br,Cn,$i,no)}function DS(Ae,kt,br,Cn,Ci){var $i=fa(),no=Up(),lo=Ef(0),Qs=vp(58,!1),yo=T1(0),Ou=Ci===168?p0.createGetAccessorDeclaration(br,Cn,$i,lo,Qs,yo):p0.createSetAccessorDeclaration(br,Cn,$i,lo,yo);return Ou.typeParameters=no,Qs&&Ou.kind===169&&(Ou.type=Qs),rx(_t(Ou,Ae),kt)}function P2(){var Ae;if(Le()===59)return!0;for(;e.isModifierKind(Le());){if(Ae=Le(),e.isClassMemberModifier(Ae))return!0;W1()}if(Le()===41||(Fn()&&(Ae=Le(),W1()),Le()===22))return!0;if(Ae!==void 0){if(!e.isKeyword(Ae)||Ae===146||Ae===134)return!0;switch(Le()){case 20:case 29:case 53:case 58:case 62:case 57:return!0;default:return Kr()}}return!1}function qA(){if(Ba()&&Le()===130){var Ae=Tt(),kt=Fr(e.Diagnostics.Expression_expected);return W1(),f2(Ae,Ab(Ae,kt,!0))}return it()}function nl(){var Ae=Tt();if(l1(59)){var kt=Ir(16384,qA);return _t(p0.createDecorator(kt),Ae)}}function gd(){for(var Ae,kt,br=Tt();kt=nl();)Ae=e.append(Ae,kt);return Ae&&rn(Ae,br)}function f5(Ae){var kt=Tt(),br=Le();if(Le()===84&&Ae){if(!Gr(co))return}else if(!e.isModifierKind(Le())||!Gr(Us))return;return _t(p0.createToken(br),kt)}function p2(Ae){for(var kt,br,Cn=Tt();br=f5(Ae);)kt=e.append(kt,br);return kt&&rn(kt,Cn)}function D_(){var Ae;if(Le()===129){var kt=Tt();W1(),Ae=rn([_t(p0.createToken(129),kt)],kt)}return Ae}function GP(){var Ae=Tt();if(Le()===26)return W1(),_t(p0.createSemicolonClassElement(),Ae);var kt=bn(),br=gd(),Cn=p2(!0);if(Fa(134))return DS(Ae,kt,br,Cn,168);if(Fa(146))return DS(Ae,kt,br,Cn,169);if(Le()===132||Le()===10){var Ci=Ve(Ae,kt,br,Cn);if(Ci)return Ci}if(Un())return za(Ae,kt,br,Cn);if(e.tokenIsIdentifierOrKeyword(Le())||Le()===10||Le()===8||Le()===41||Le()===22){if(e.some(Cn,gm)){for(var $i=0,no=Cn;$i<no.length;$i++)no[$i].flags|=8388608;return Ir(8388608,function(){return X6(Ae,kt,br,Cn)})}return X6(Ae,kt,br,Cn)}if(br||Cn){var lo=Ii(78,!0,e.Diagnostics.Declaration_expected);return Sf(Ae,kt,br,Cn,lo,void 0)}return e.Debug.fail(\"Should not have attempted to parse class member declaration.\")}function jd(Ae,kt,br,Cn){return vh(Ae,kt,br,Cn,253)}function vh(Ae,kt,br,Cn,Ci){var $i=Ba();M(83);var no=!B()||Le()===116&&ut(Xl)?void 0:Ka(B()),lo=Up();e.some(Cn,e.isExportModifier)&&gr(!0);var Qs,yo=zm();return M(18)?(Qs=mC(5,GP),M(19)):Qs=pl(),gr($i),rx(_t(Ci===253?p0.createClassDeclaration(br,Cn,no,lo,yo,Qs):p0.createClassExpression(br,Cn,no,lo,yo,Qs),Ae),kt)}function zm(){if(Sw())return mC(22,Zw)}function Zw(){var Ae=Tt(),kt=Le();e.Debug.assert(kt===93||kt===116),W1();var br=qE(7,v_);return _t(p0.createHeritageClause(kt,br),Ae)}function v_(){var Ae=Tt(),kt=it(),br=bh();return _t(p0.createExpressionWithTypeArguments(kt,br),Ae)}function bh(){return Le()===29?Np(20,t4,29,31):void 0}function Sw(){return Le()===93||Le()===116}function Wm(){var Ae=Tt(),kt=bn(),br=fa(),Cn=xr(dd);return rx(_t(p0.createEnumMember(br,Cn),Ae),kt)}function MI(){var Ae,kt=Tt();return M(18)?(Ae=mC(1,Hf),M(19)):Ae=pl(),_t(p0.createModuleBlock(Ae),kt)}function zh(Ae,kt,br,Cn,Ci){var $i=16&Ci,no=Fr(),lo=l1(24)?zh(Tt(),!1,void 0,void 0,4|$i):MI();return rx(_t(p0.createModuleDeclaration(br,Cn,no,lo,Ci),Ae),kt)}function Xc(Ae,kt,br,Cn){var Ci,$i,no=0;return Le()===154?(Ci=Fr(),no|=1024):(Ci=Ju()).text=Mn(Ci.text),Le()===18?$i=MI():pn(),rx(_t(p0.createModuleDeclaration(br,Cn,Ci,$i,no),Ae),kt)}function ms(){return W1()===20}function I2(){return W1()===43}function ug(){if(Le()===10){var Ae=Ju();return Ae.text=Mn(Ae.text),Ae}return tF()}function cg(Ae){var kt=Tt();return _t(Ae===265?p0.createNamedImports(Np(23,qm,18,19)):p0.createNamedExports(Np(23,s6,18,19)),kt)}function s6(){return mP(271)}function qm(){return mP(266)}function mP(Ae){var kt,br,Cn=Tt(),Ci=e.isKeyword(Le())&&!h0(),$i=f0.getTokenPos(),no=f0.getTextPos(),lo=yt();return Le()===126?(kt=lo,M(126),Ci=e.isKeyword(Le())&&!h0(),$i=f0.getTokenPos(),no=f0.getTextPos(),br=yt()):br=lo,Ae===266&&Ci&&lr($i,no,e.Diagnostics.Identifier_expected),_t(Ae===266?p0.createImportSpecifier(kt,br):p0.createExportSpecifier(kt,br),Cn)}function b_(Ae){return function(kt,br){return e.some(kt.modifiers,function(Cn){return Cn.kind===br})}(Ae,92)||e.isImportEqualsDeclaration(Ae)&&e.isExternalModuleReference(Ae.moduleReference)||e.isImportDeclaration(Ae)||e.isExportAssignment(Ae)||e.isExportDeclaration(Ae)?Ae:void 0}function zD(Ae){return function(kt){return e.isMetaProperty(kt)&&kt.keywordToken===99&&kt.name.escapedText===\"meta\"}(Ae)?Ae:o0(Ae,zD)}V.fixupParentReferences=Px,function(Ae){Ae[Ae.SourceElements=0]=\"SourceElements\",Ae[Ae.BlockStatements=1]=\"BlockStatements\",Ae[Ae.SwitchClauses=2]=\"SwitchClauses\",Ae[Ae.SwitchClauseStatements=3]=\"SwitchClauseStatements\",Ae[Ae.TypeMembers=4]=\"TypeMembers\",Ae[Ae.ClassMembers=5]=\"ClassMembers\",Ae[Ae.EnumMembers=6]=\"EnumMembers\",Ae[Ae.HeritageClauseElement=7]=\"HeritageClauseElement\",Ae[Ae.VariableDeclarations=8]=\"VariableDeclarations\",Ae[Ae.ObjectBindingElements=9]=\"ObjectBindingElements\",Ae[Ae.ArrayBindingElements=10]=\"ArrayBindingElements\",Ae[Ae.ArgumentExpressions=11]=\"ArgumentExpressions\",Ae[Ae.ObjectLiteralMembers=12]=\"ObjectLiteralMembers\",Ae[Ae.JsxAttributes=13]=\"JsxAttributes\",Ae[Ae.JsxChildren=14]=\"JsxChildren\",Ae[Ae.ArrayLiteralMembers=15]=\"ArrayLiteralMembers\",Ae[Ae.Parameters=16]=\"Parameters\",Ae[Ae.JSDocParameters=17]=\"JSDocParameters\",Ae[Ae.RestProperties=18]=\"RestProperties\",Ae[Ae.TypeParameters=19]=\"TypeParameters\",Ae[Ae.TypeArguments=20]=\"TypeArguments\",Ae[Ae.TupleElementTypes=21]=\"TupleElementTypes\",Ae[Ae.HeritageClauses=22]=\"HeritageClauses\",Ae[Ae.ImportOrExportSpecifiers=23]=\"ImportOrExportSpecifiers\",Ae[Ae.Count=24]=\"Count\"}(O0||(O0={})),function(Ae){Ae[Ae.False=0]=\"False\",Ae[Ae.True=1]=\"True\",Ae[Ae.Unknown=2]=\"Unknown\"}(C1||(C1={})),function(Ae){function kt(no){var lo=Tt(),Qs=(no?l1:M)(18),yo=Ir(4194304,Dp);no&&!Qs||X0(19);var Ou=p0.createJSDocTypeExpression(yo);return Px(Ou),_t(Ou,lo)}function br(){var no=Tt(),lo=l1(18),Qs=rp(!1);lo&&X0(19);var yo=p0.createJSDocNameReference(Qs);return Px(yo),_t(yo,no)}var Cn,Ci;function $i(no,lo){no===void 0&&(no=0);var Qs=S1,yo=lo===void 0?Qs.length:no+lo;if(lo=yo-no,e.Debug.assert(no>=0),e.Debug.assert(no<=yo),e.Debug.assert(yo<=Qs.length),A0(Qs,no)){var Ou,oc,xl,Jl,dp,If=[],ql=[];return f0.scanRange(no+3,lo-5,function(){var bo,eu=1,qc=no-(Qs.lastIndexOf(`\n`,no)+1)+4;function Vu(hf){bo||(bo=qc),If.push(hf),qc+=hf.length}for(cx();Ug(5););Ug(4)&&(eu=0,qc=0);x:for(;;){switch(Le()){case 59:eu===0||eu===1?(sw(If),dp||(dp=Tt()),lg(qT(qc)),eu=0,bo=void 0):Vu(f0.getTokenText());break;case 4:If.push(f0.getTokenText()),eu=0,qc=0;break;case 41:var Ac=f0.getTokenText();eu===1||eu===2?(eu=2,Vu(Ac)):(eu=1,qc+=Ac.length);break;case 5:var $p=f0.getTokenText();eu===2?If.push($p):bo!==void 0&&qc+$p.length>bo&&If.push($p.slice(bo-qc)),qc+=$p.length;break;case 1:break x;case 18:eu=2;var d6=f0.getStartPos(),Pc=O2(f0.getTextPos()-1);if(Pc){Jl||Ip(If),ql.push(_t(p0.createJSDocText(If.join(\"\")),Jl!=null?Jl:no,d6)),ql.push(Pc),If=[],Jl=f0.getTextPos();break}default:eu=2,Vu(f0.getTokenText())}cx()}sw(If),ql.length&&If.length&&ql.push(_t(p0.createJSDocText(If.join(\"\")),Jl!=null?Jl:no,dp)),ql.length&&Ou&&e.Debug.assertIsDefined(dp,\"having parsed tags implies that the end of the comment span should be set\");var of=Ou&&rn(Ou,oc,xl);return _t(p0.createJSDocComment(ql.length?rn(ql,no,dp):If.length?If.join(\"\"):void 0,of),no,yo)})}function Ip(bo){for(;bo.length&&(bo[0]===`\n`||bo[0]===\"\\r\");)bo.shift()}function sw(bo){for(;bo.length&&bo[bo.length-1].trim()===\"\";)bo.pop()}function F5(){for(;;){if(cx(),Le()===1)return!0;if(Le()!==5&&Le()!==4)return!1}}function d2(){if(Le()!==5&&Le()!==4||!ut(F5))for(;Le()===5||Le()===4;)cx()}function td(){if((Le()===5||Le()===4)&&ut(F5))return\"\";for(var bo=f0.hasPrecedingLineBreak(),eu=!1,qc=\"\";bo&&Le()===41||Le()===5||Le()===4;)qc+=f0.getTokenText(),Le()===4?(bo=!0,eu=!0,qc=\"\"):Le()===41&&(bo=!1),cx();return eu?qc:\"\"}function qT(bo){e.Debug.assert(Le()===59);var eu=f0.getTokenPos();cx();var qc,Vu=uh(void 0),Ac=td();switch(Vu.escapedText){case\"author\":qc=function($p,d6,Pc,of){var hf=Tt(),Op=function(){for(var Of=[],ua=!1,TA=f0.getToken();TA!==1&&TA!==4;){if(TA===29)ua=!0;else{if(TA===59&&!ua)break;if(TA===31&&ua){Of.push(f0.getTokenText()),f0.setTextPos(f0.getTokenPos()+1);break}}Of.push(f0.getTokenText()),TA=cx()}return p0.createJSDocText(Of.join(\"\"))}(),Gf=f0.getStartPos(),mp=rF($p,Gf,Pc,of);mp||(Gf=f0.getStartPos());var A5=typeof mp!=\"string\"?rn(e.concatenate([_t(Op,hf,Gf)],mp),hf):Op.text+mp;return _t(p0.createJSDocAuthorTag(d6,A5),$p)}(eu,Vu,bo,Ac);break;case\"implements\":qc=function($p,d6,Pc,of){var hf=Ok();return _t(p0.createJSDocImplementsTag(d6,hf,rF($p,Tt(),Pc,of)),$p)}(eu,Vu,bo,Ac);break;case\"augments\":case\"extends\":qc=function($p,d6,Pc,of){var hf=Ok();return _t(p0.createJSDocAugmentsTag(d6,hf,rF($p,Tt(),Pc,of)),$p)}(eu,Vu,bo,Ac);break;case\"class\":case\"constructor\":qc=xk(eu,p0.createJSDocClassTag,Vu,bo,Ac);break;case\"public\":qc=xk(eu,p0.createJSDocPublicTag,Vu,bo,Ac);break;case\"private\":qc=xk(eu,p0.createJSDocPrivateTag,Vu,bo,Ac);break;case\"protected\":qc=xk(eu,p0.createJSDocProtectedTag,Vu,bo,Ac);break;case\"readonly\":qc=xk(eu,p0.createJSDocReadonlyTag,Vu,bo,Ac);break;case\"override\":qc=xk(eu,p0.createJSDocOverrideTag,Vu,bo,Ac);break;case\"deprecated\":O=!0,qc=xk(eu,p0.createJSDocDeprecatedTag,Vu,bo,Ac);break;case\"this\":qc=function($p,d6,Pc,of){var hf=kt(!0);return d2(),_t(p0.createJSDocThisTag(d6,hf,rF($p,Tt(),Pc,of)),$p)}(eu,Vu,bo,Ac);break;case\"enum\":qc=function($p,d6,Pc,of){var hf=kt(!0);return d2(),_t(p0.createJSDocEnumTag(d6,hf,rF($p,Tt(),Pc,of)),$p)}(eu,Vu,bo,Ac);break;case\"arg\":case\"argument\":case\"param\":return My(eu,Vu,2,bo);case\"return\":case\"returns\":qc=function($p,d6,Pc,of){e.some(Ou,e.isJSDocReturnTag)&&lr(d6.pos,f0.getTokenPos(),e.Diagnostics._0_tag_already_specified,d6.escapedText);var hf=x9();return _t(p0.createJSDocReturnTag(d6,hf,rF($p,Tt(),Pc,of)),$p)}(eu,Vu,bo,Ac);break;case\"template\":qc=function($p,d6,Pc,of){var hf=Le()===18?kt():void 0,Op=function(){var Gf=Tt(),mp=[];do{d2();var A5=vk();A5!==void 0&&mp.push(A5),td()}while(Ug(27));return rn(mp,Gf)}();return _t(p0.createJSDocTemplateTag(d6,hf,Op,rF($p,Tt(),Pc,of)),$p)}(eu,Vu,bo,Ac);break;case\"type\":qc=sh(eu,Vu,bo,Ac);break;case\"typedef\":qc=function($p,d6,Pc,of){var hf,Op=x9();td();var Gf=E_();d2();var mp,A5=C_(Pc);if(!Op||RI(Op.type)){for(var Of=void 0,ua=void 0,TA=void 0,MN=!1;Of=Gr(function(){return fg(Pc)});)if(MN=!0,Of.kind===333){if(ua){dt(e.Diagnostics.A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags);var J5=e.lastOrUndefined(Z1);J5&&e.addRelatedInfo(J5,e.createDetachedDiagnostic(d1,0,0,e.Diagnostics.The_tag_was_first_specified_here));break}ua=Of}else TA=e.append(TA,Of);if(MN){var S_=Op&&Op.type.kind===179,NT=p0.createJSDocTypeLiteral(TA,S_);mp=(Op=ua&&ua.typeExpression&&!RI(ua.typeExpression.type)?ua.typeExpression:_t(NT,$p)).end}}return mp=mp||A5!==void 0?Tt():((hf=Gf!=null?Gf:Op)!==null&&hf!==void 0?hf:d6).end,A5||(A5=rF($p,mp,Pc,of)),_t(p0.createJSDocTypedefTag(d6,Op,Gf,A5),$p,mp)}(eu,Vu,bo,Ac);break;case\"callback\":qc=function($p,d6,Pc,of){var hf=E_();d2();var Op=C_(Pc),Gf=function(Of){for(var ua,TA,MN=Tt();ua=Gr(function(){return e9(4,Of)});)TA=e.append(TA,ua);return rn(TA||[],MN)}(Pc),mp=Gr(function(){if(Ug(59)){var Of=qT(Pc);if(Of&&Of.kind===331)return Of}}),A5=_t(p0.createJSDocSignature(void 0,Gf,mp),$p);return Op||(Op=rF($p,Tt(),Pc,of)),_t(p0.createJSDocCallbackTag(d6,A5,hf,Op),$p)}(eu,Vu,bo,Ac);break;case\"see\":qc=function($p,d6,Pc,of){var hf=ut(function(){return cx()===59&&e.tokenIsIdentifierOrKeyword(cx())&&f0.getTokenValue()===\"link\"})?void 0:br(),Op=Pc!==void 0&&of!==void 0?rF($p,Tt(),Pc,of):void 0;return _t(p0.createJSDocSeeTag(d6,hf,Op),$p)}(eu,Vu,bo,Ac);break;default:qc=function($p,d6,Pc,of){return _t(p0.createJSDocUnknownTag(d6,rF($p,Tt(),Pc,of)),$p)}(eu,Vu,bo,Ac)}return qc}function rF(bo,eu,qc,Vu){return Vu||(qc+=eu-bo),C_(qc,Vu.slice(qc))}function C_(bo,eu){var qc,Vu,Ac=Tt(),$p=[],d6=[],Pc=0,of=!0;function hf(Of){Vu||(Vu=bo),$p.push(Of),bo+=Of.length}eu!==void 0&&(eu!==\"\"&&hf(eu),Pc=1);var Op=Le();x:for(;;){switch(Op){case 4:Pc=0,$p.push(f0.getTokenText()),bo=0;break;case 59:if(Pc===3||Pc===2&&(!of||ut(Is))){$p.push(f0.getTokenText());break}f0.setTextPos(f0.getTextPos()-1);case 1:break x;case 5:if(Pc===2||Pc===3)hf(f0.getTokenText());else{var Gf=f0.getTokenText();Vu!==void 0&&bo+Gf.length>Vu&&$p.push(Gf.slice(Vu-bo)),bo+=Gf.length}break;case 18:Pc=2;var mp=f0.getStartPos(),A5=O2(f0.getTextPos()-1);A5?(d6.push(_t(p0.createJSDocText($p.join(\"\")),qc!=null?qc:Ac,mp)),d6.push(A5),$p=[],qc=f0.getTextPos()):hf(f0.getTokenText());break;case 61:Pc=Pc===3?2:3,hf(f0.getTokenText());break;case 41:if(Pc===0){Pc=1,bo+=1;break}default:Pc!==3&&(Pc=2),hf(f0.getTokenText())}of=Le()===5,Op=cx()}return Ip($p),sw($p),d6.length?($p.length&&d6.push(_t(p0.createJSDocText($p.join(\"\")),qc!=null?qc:Ac)),rn(d6,Ac,f0.getTextPos())):$p.length?$p.join(\"\"):void 0}function Is(){var bo=cx();return bo===5||bo===4}function O2(bo){if(Gr(ka)){cx(),d2();for(var eu=e.tokenIsIdentifierOrKeyword(Le())?rp(!0):void 0,qc=[];Le()!==19&&Le()!==4&&Le()!==1;)qc.push(f0.getTokenText()),cx();return _t(p0.createJSDocLink(eu,qc.join(\"\")),bo,f0.getTextPos())}}function ka(){return td(),Le()===18&&cx()===59&&e.tokenIsIdentifierOrKeyword(cx())&&f0.getTokenValue()===\"link\"}function lg(bo){bo&&(Ou?Ou.push(bo):(Ou=[bo],oc=bo.pos),xl=bo.end)}function x9(){return td(),Le()===18?kt():void 0}function LN(){var bo=Ug(22);bo&&d2();var eu=Ug(61),qc=function(){var Vu=uh();for(l1(22)&&M(23);l1(24);){var Ac=uh();l1(22)&&M(23),Vu=jp(Vu,Ac)}return Vu}();return eu&&function(Vu){ge(Vu)||Ii(Vu,!1,e.Diagnostics._0_expected,e.tokenToString(Vu))}(61),bo&&(d2(),Hx(62)&&tF(),M(23)),{name:qc,isBracketed:bo}}function RI(bo){switch(bo.kind){case 145:return!0;case 179:return RI(bo.elementType);default:return e.isTypeReferenceNode(bo)&&e.isIdentifier(bo.typeName)&&bo.typeName.escapedText===\"Object\"&&!bo.typeArguments}}function My(bo,eu,qc,Vu){var Ac=x9(),$p=!Ac;td();var d6=LN(),Pc=d6.name,of=d6.isBracketed,hf=td();$p&&!ut(ka)&&(Ac=x9());var Op=rF(bo,Tt(),Vu,hf),Gf=qc!==4&&function(mp,A5,Of,ua){if(mp&&RI(mp.type)){for(var TA=Tt(),MN=void 0,J5=void 0;MN=Gr(function(){return e9(Of,ua,A5)});)MN.kind!==330&&MN.kind!==337||(J5=e.append(J5,MN));if(J5){var S_=_t(p0.createJSDocTypeLiteral(J5,mp.type.kind===179),TA);return _t(p0.createJSDocTypeExpression(S_),TA)}}}(Ac,Pc,qc,Vu);return Gf&&(Ac=Gf,$p=!0),_t(qc===1?p0.createJSDocPropertyTag(eu,Pc,of,Ac,$p,Op):p0.createJSDocParameterTag(eu,Pc,of,Ac,$p,Op),bo)}function sh(bo,eu,qc,Vu){e.some(Ou,e.isJSDocTypeTag)&&lr(eu.pos,f0.getTokenPos(),e.Diagnostics._0_tag_already_specified,eu.escapedText);var Ac=kt(!0),$p=qc!==void 0&&Vu!==void 0?rF(bo,Tt(),qc,Vu):void 0;return _t(p0.createJSDocTypeTag(eu,Ac,$p),bo)}function Ok(){var bo=l1(18),eu=Tt(),qc=function(){for(var $p=Tt(),d6=uh();l1(24);){var Pc=uh();d6=_t(p0.createPropertyAccessExpression(d6,Pc),$p)}return d6}(),Vu=bh(),Ac=_t(p0.createExpressionWithTypeArguments(qc,Vu),eu);return bo&&M(19),Ac}function xk(bo,eu,qc,Vu,Ac){return _t(eu(qc,rF(bo,Tt(),Vu,Ac)),bo)}function E_(bo){var eu=f0.getTokenPos();if(e.tokenIsIdentifierOrKeyword(Le())){var qc=uh();if(l1(24)){var Vu=E_(!0);return _t(p0.createModuleDeclaration(void 0,void 0,qc,Vu,bo?4:void 0),eu)}return bo&&(qc.isInJSDocNamespace=!0),qc}}function Ry(bo,eu){for(;!e.isIdentifier(bo)||!e.isIdentifier(eu);){if(e.isIdentifier(bo)||e.isIdentifier(eu)||bo.right.escapedText!==eu.right.escapedText)return!1;bo=bo.left,eu=eu.left}return bo.escapedText===eu.escapedText}function fg(bo){return e9(1,bo)}function e9(bo,eu,qc){for(var Vu=!0,Ac=!1;;)switch(cx()){case 59:if(Vu){var $p=HL(bo,eu);return!($p&&($p.kind===330||$p.kind===337)&&bo!==4&&qc&&(e.isIdentifier($p.name)||!Ry(qc,$p.name.left)))&&$p}Ac=!1;break;case 4:Vu=!0,Ac=!1;break;case 41:Ac&&(Vu=!1),Ac=!0;break;case 78:Vu=!1;break;case 1:return!1}}function HL(bo,eu){e.Debug.assert(Le()===59);var qc=f0.getStartPos();cx();var Vu,Ac=uh();switch(d2(),Ac.escapedText){case\"type\":return bo===1&&sh(qc,Ac);case\"prop\":case\"property\":Vu=1;break;case\"arg\":case\"argument\":case\"param\":Vu=6;break;default:return!1}return!!(bo&Vu)&&My(qc,Ac,bo,eu)}function vk(){var bo=Tt(),eu=uh(e.Diagnostics.Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces);if(!e.nodeIsMissing(eu))return _t(p0.createTypeParameterDeclaration(eu,void 0,void 0),bo)}function Ug(bo){return Le()===bo&&(cx(),!0)}function uh(bo){if(!e.tokenIsIdentifierOrKeyword(Le()))return Ii(78,!bo,bo||e.Diagnostics.Identifier_expected);Nx++;var eu=f0.getTokenPos(),qc=f0.getTextPos(),Vu=Le(),Ac=Mn(f0.getTokenValue()),$p=_t(p0.createIdentifier(Ac,void 0,Vu),eu,qc);return cx(),$p}}Ae.parseJSDocTypeExpressionForTests=function(no,lo,Qs){V1(\"file.js\",no,99,void 0,1),f0.setText(no,lo,Qs),k1=f0.scan();var yo=kt(),Ou=me(\"file.js\",99,1,!1,[],p0.createToken(1),0),oc=e.attachFileToDiagnostics(Z1,Ou);return Q0&&(Ou.jsDocDiagnostics=e.attachFileToDiagnostics(Q0,Ou)),Ox(),yo?{jsDocTypeExpression:yo,diagnostics:oc}:void 0},Ae.parseJSDocTypeExpression=kt,Ae.parseJSDocNameReference=br,Ae.parseIsolatedJSDocComment=function(no,lo,Qs){V1(\"\",no,99,void 0,1);var yo=Ir(4194304,function(){return $i(lo,Qs)}),Ou={languageVariant:0,text:no},oc=e.attachFileToDiagnostics(Z1,Ou);return Ox(),yo?{jsDoc:yo,diagnostics:oc}:void 0},Ae.parseJSDocComment=function(no,lo,Qs){var yo=k1,Ou=Z1.length,oc=Y1,xl=Ir(4194304,function(){return $i(lo,Qs)});return e.setParent(xl,no),131072&I0&&(Q0||(Q0=[]),Q0.push.apply(Q0,Z1)),k1=yo,Z1.length=Ou,Y1=oc,xl},function(no){no[no.BeginningOfLine=0]=\"BeginningOfLine\",no[no.SawAsterisk=1]=\"SawAsterisk\",no[no.SavingComments=2]=\"SavingComments\",no[no.SavingBackticks=3]=\"SavingBackticks\"}(Cn||(Cn={})),function(no){no[no.Property=1]=\"Property\",no[no.Parameter=2]=\"Parameter\",no[no.CallbackParameter=4]=\"CallbackParameter\"}(Ci||(Ci={}))}(nx=V.JSDocParser||(V.JSDocParser={}))}(E0||(E0={})),function(V){function w(d1,h1,S1,Q1,Y0,$1){return void(h1?Q0(d1):Z1(d1));function Z1(y1){var k1=\"\";if($1&&H(y1)&&(k1=Q1.substring(y1.pos,y1.end)),y1._children&&(y1._children=void 0),e.setTextRangePosEnd(y1,y1.pos+S1,y1.end+S1),$1&&H(y1)&&e.Debug.assert(k1===Y0.substring(y1.pos,y1.end)),o0(y1,Z1,Q0),e.hasJSDocNodes(y1))for(var I1=0,K0=y1.jsDoc;I1<K0.length;I1++)Z1(K0[I1]);V0(y1,$1)}function Q0(y1){y1._children=void 0,e.setTextRangePosEnd(y1,y1.pos+S1,y1.end+S1);for(var k1=0,I1=y1;k1<I1.length;k1++)Z1(I1[k1])}}function H(d1){switch(d1.kind){case 10:case 8:case 78:return!0}return!1}function k0(d1,h1,S1,Q1,Y0){e.Debug.assert(d1.end>=h1,\"Adjusting an element that was entirely before the change range\"),e.Debug.assert(d1.pos<=S1,\"Adjusting an element that was entirely after the change range\"),e.Debug.assert(d1.pos<=d1.end);var $1=Math.min(d1.pos,Q1),Z1=d1.end>=S1?d1.end+Y0:Math.min(d1.end,Q1);e.Debug.assert($1<=Z1),d1.parent&&(e.Debug.assertGreaterThanOrEqual($1,d1.parent.pos),e.Debug.assertLessThanOrEqual(Z1,d1.parent.end)),e.setTextRangePosEnd(d1,$1,Z1)}function V0(d1,h1){if(h1){var S1=d1.pos,Q1=function(Z1){e.Debug.assert(Z1.pos>=S1),S1=Z1.end};if(e.hasJSDocNodes(d1))for(var Y0=0,$1=d1.jsDoc;Y0<$1.length;Y0++)Q1($1[Y0]);o0(d1,Q1),e.Debug.assert(S1<=d1.end)}}function t0(d1,h1){var S1,Q1=d1;if(o0(d1,function $1(Z1){if(!e.nodeIsMissing(Z1)){if(!(Z1.pos<=h1))return e.Debug.assert(Z1.pos>h1),!0;if(Z1.pos>=Q1.pos&&(Q1=Z1),h1<Z1.end)return o0(Z1,$1),!0;e.Debug.assert(Z1.end<=h1),S1=Z1}}),S1){var Y0=function($1){for(;;){var Z1=e.getLastChild($1);if(!Z1)return $1;$1=Z1}}(S1);Y0.pos>Q1.pos&&(Q1=Y0)}return Q1}function f0(d1,h1,S1,Q1){var Y0=d1.text;if(S1&&(e.Debug.assert(Y0.length-S1.span.length+S1.newLength===h1.length),Q1||e.Debug.shouldAssert(3))){var $1=Y0.substr(0,S1.span.start),Z1=h1.substr(0,S1.span.start);e.Debug.assert($1===Z1);var Q0=Y0.substring(e.textSpanEnd(S1.span),Y0.length),y1=h1.substring(e.textSpanEnd(e.textChangeRangeNewSpan(S1)),h1.length);e.Debug.assert(Q0===y1)}}function y0(d1){var h1=d1.statements,S1=0;e.Debug.assert(S1<h1.length);var Q1=h1[S1],Y0=-1;return{currentNode:function($1){return $1!==Y0&&(Q1&&Q1.end===$1&&S1<h1.length-1&&(S1++,Q1=h1[S1]),Q1&&Q1.pos===$1||function(Z1){return h1=void 0,S1=-1,Q1=void 0,void o0(d1,Q0,y1);function Q0(k1){return Z1>=k1.pos&&Z1<k1.end&&(o0(k1,Q0,y1),!0)}function y1(k1){if(Z1>=k1.pos&&Z1<k1.end)for(var I1=0;I1<k1.length;I1++){var K0=k1[I1];if(K0){if(K0.pos===Z1)return h1=k1,S1=I1,Q1=K0,!0;if(K0.pos<Z1&&Z1<K0.end)return o0(K0,Q0,y1),!0}}return!1}}($1)),Y0=$1,e.Debug.assert(!Q1||Q1.pos===$1),Q1}}}var G0;V.updateSourceFile=function(d1,h1,S1,Q1){if(f0(d1,h1,S1,Q1=Q1||e.Debug.shouldAssert(2)),e.textChangeRangeIsUnchanged(S1))return d1;if(d1.statements.length===0)return E0.parseSourceFile(d1.fileName,h1,d1.languageVersion,void 0,!0,d1.scriptKind);var Y0=d1;e.Debug.assert(!Y0.hasBeenIncrementallyParsed),Y0.hasBeenIncrementallyParsed=!0,E0.fixupParentReferences(Y0);var $1=d1.text,Z1=y0(d1),Q0=function(I1,K0){for(var G1=1,Nx=K0.span.start,n1=0;Nx>0&&n1<=G1;n1++){var S0=t0(I1,Nx);e.Debug.assert(S0.pos<=Nx);var I0=S0.pos;Nx=Math.max(0,I0-1)}var U0=e.createTextSpanFromBounds(Nx,e.textSpanEnd(K0.span)),p0=K0.newLength+(K0.span.start-Nx);return e.createTextChangeRange(U0,p0)}(d1,S1);f0(d1,h1,Q0,Q1),e.Debug.assert(Q0.span.start<=S1.span.start),e.Debug.assert(e.textSpanEnd(Q0.span)===e.textSpanEnd(S1.span)),e.Debug.assert(e.textSpanEnd(e.textChangeRangeNewSpan(Q0))===e.textSpanEnd(e.textChangeRangeNewSpan(S1)));var y1=e.textChangeRangeNewSpan(Q0).length-Q0.span.length;(function(I1,K0,G1,Nx,n1,S0,I0,U0){return void p0(I1);function p0(Y1){if(e.Debug.assert(Y1.pos<=Y1.end),Y1.pos>G1)w(Y1,!1,n1,S0,I0,U0);else{var N1=Y1.end;if(N1>=K0){if(Y1.intersectsChange=!0,Y1._children=void 0,k0(Y1,K0,G1,Nx,n1),o0(Y1,p0,p1),e.hasJSDocNodes(Y1))for(var V1=0,Ox=Y1.jsDoc;V1<Ox.length;V1++)p0(Ox[V1]);V0(Y1,U0)}else e.Debug.assert(N1<K0)}}function p1(Y1){if(e.Debug.assert(Y1.pos<=Y1.end),Y1.pos>G1)w(Y1,!0,n1,S0,I0,U0);else{var N1=Y1.end;if(N1>=K0){Y1.intersectsChange=!0,Y1._children=void 0,k0(Y1,K0,G1,Nx,n1);for(var V1=0,Ox=Y1;V1<Ox.length;V1++)p0(Ox[V1])}else e.Debug.assert(N1<K0)}}})(Y0,Q0.span.start,e.textSpanEnd(Q0.span),e.textSpanEnd(e.textChangeRangeNewSpan(Q0)),y1,$1,h1,Q1);var k1=E0.parseSourceFile(d1.fileName,h1,d1.languageVersion,Z1,!0,d1.scriptKind);return k1.commentDirectives=function(I1,K0,G1,Nx,n1,S0,I0,U0){if(!I1)return K0;for(var p0,p1=!1,Y1=0,N1=I1;Y1<N1.length;Y1++){var V1=N1[Y1],Ox=V1.range,$x=V1.type;if(Ox.end<G1)p0=e.append(p0,V1);else if(Ox.pos>Nx){O0();var rx={range:{pos:Ox.pos+n1,end:Ox.end+n1},type:$x};p0=e.append(p0,rx),U0&&e.Debug.assert(S0.substring(Ox.pos,Ox.end)===I0.substring(rx.range.pos,rx.range.end))}}return O0(),p0;function O0(){p1||(p1=!0,p0?K0&&p0.push.apply(p0,K0):p0=K0)}}(d1.commentDirectives,k1.commentDirectives,Q0.span.start,e.textSpanEnd(Q0.span),y1,$1,h1,Q1),k1},V.createSyntaxCursor=y0,function(d1){d1[d1.Value=-1]=\"Value\"}(G0||(G0={}))}(I||(I={})),e.isDeclarationFileName=u0,e.processCommentPragmas=U,e.processPragmasIntoFields=g0;var d0=new e.Map;function P0(V){if(d0.has(V))return d0.get(V);var w=new RegExp(\"(\\\\s\"+V+`\\\\s*=\\\\s*)('|\")(.+?)\\\\2`,\"im\");return d0.set(V,w),w}var c0=/^\\/\\/\\/\\s*<(\\S+)\\s.*?\\/>/im,D0=/^\\/\\/\\/?\\s*@(\\S+)\\s*(.*)\\s*$/im;function x0(V,w,H){var k0=w.kind===2&&c0.exec(H);if(k0){var V0=k0[1].toLowerCase(),t0=e.commentPragmas[V0];if(!(t0&&1&t0.kind))return;if(t0.args){for(var f0={},y0=0,G0=t0.args;y0<G0.length;y0++){var d1=G0[y0],h1=P0(d1.name).exec(H);if(!h1&&!d1.optional)return;if(h1)if(d1.captureSpan){var S1=w.pos+h1.index+h1[1].length+h1[2].length;f0[d1.name]={value:h1[3],pos:S1,end:S1+h1[3].length}}else f0[d1.name]=h1[3]}V.push({name:V0,args:{arguments:f0,range:w}})}else V.push({name:V0,args:{arguments:{},range:w}})}else{var Q1=w.kind===2&&D0.exec(H);if(Q1)return l0(V,w,2,Q1);if(w.kind===3)for(var Y0=/\\s*@(\\S+)\\s*(.*)\\s*$/gim,$1=void 0;$1=Y0.exec(H);)l0(V,w,4,$1)}}function l0(V,w,H,k0){if(k0){var V0=k0[1].toLowerCase(),t0=e.commentPragmas[V0];if(t0&&t0.kind&H){var f0=function(y0,G0){if(!G0)return{};if(!y0.args)return{};for(var d1=G0.split(/\\s+/),h1={},S1=0;S1<y0.args.length;S1++){var Q1=y0.args[S1];if(!d1[S1]&&!Q1.optional)return\"fail\";if(Q1.captureSpan)return e.Debug.fail(\"Capture spans not yet implemented for non-xml pragmas\");h1[Q1.name]=d1[S1]}return h1}(t0,k0[2]);f0!==\"fail\"&&V.push({name:V0,args:{arguments:f0,range:w}})}}}function w0(V,w){return V.kind===w.kind&&(V.kind===78?V.escapedText===w.escapedText:V.kind===107||V.name.escapedText===w.name.escapedText&&w0(V.expression,w.expression))}e.tagNamesAreEquivalent=w0}(_0||(_0={})),function(e){e.compileOnSaveCommandLineOption={name:\"compileOnSave\",type:\"boolean\"};var s=new e.Map(e.getEntries({preserve:1,\"react-native\":3,react:2,\"react-jsx\":4,\"react-jsxdev\":5}));e.inverseJsxOptionMap=new e.Map(e.arrayFrom(e.mapIterator(s.entries(),function(dt){var Gt=dt[0];return[\"\"+dt[1],Gt]})));var X=[[\"es5\",\"lib.es5.d.ts\"],[\"es6\",\"lib.es2015.d.ts\"],[\"es2015\",\"lib.es2015.d.ts\"],[\"es7\",\"lib.es2016.d.ts\"],[\"es2016\",\"lib.es2016.d.ts\"],[\"es2017\",\"lib.es2017.d.ts\"],[\"es2018\",\"lib.es2018.d.ts\"],[\"es2019\",\"lib.es2019.d.ts\"],[\"es2020\",\"lib.es2020.d.ts\"],[\"es2021\",\"lib.es2021.d.ts\"],[\"esnext\",\"lib.esnext.d.ts\"],[\"dom\",\"lib.dom.d.ts\"],[\"dom.iterable\",\"lib.dom.iterable.d.ts\"],[\"webworker\",\"lib.webworker.d.ts\"],[\"webworker.importscripts\",\"lib.webworker.importscripts.d.ts\"],[\"webworker.iterable\",\"lib.webworker.iterable.d.ts\"],[\"scripthost\",\"lib.scripthost.d.ts\"],[\"es2015.core\",\"lib.es2015.core.d.ts\"],[\"es2015.collection\",\"lib.es2015.collection.d.ts\"],[\"es2015.generator\",\"lib.es2015.generator.d.ts\"],[\"es2015.iterable\",\"lib.es2015.iterable.d.ts\"],[\"es2015.promise\",\"lib.es2015.promise.d.ts\"],[\"es2015.proxy\",\"lib.es2015.proxy.d.ts\"],[\"es2015.reflect\",\"lib.es2015.reflect.d.ts\"],[\"es2015.symbol\",\"lib.es2015.symbol.d.ts\"],[\"es2015.symbol.wellknown\",\"lib.es2015.symbol.wellknown.d.ts\"],[\"es2016.array.include\",\"lib.es2016.array.include.d.ts\"],[\"es2017.object\",\"lib.es2017.object.d.ts\"],[\"es2017.sharedmemory\",\"lib.es2017.sharedmemory.d.ts\"],[\"es2017.string\",\"lib.es2017.string.d.ts\"],[\"es2017.intl\",\"lib.es2017.intl.d.ts\"],[\"es2017.typedarrays\",\"lib.es2017.typedarrays.d.ts\"],[\"es2018.asyncgenerator\",\"lib.es2018.asyncgenerator.d.ts\"],[\"es2018.asynciterable\",\"lib.es2018.asynciterable.d.ts\"],[\"es2018.intl\",\"lib.es2018.intl.d.ts\"],[\"es2018.promise\",\"lib.es2018.promise.d.ts\"],[\"es2018.regexp\",\"lib.es2018.regexp.d.ts\"],[\"es2019.array\",\"lib.es2019.array.d.ts\"],[\"es2019.object\",\"lib.es2019.object.d.ts\"],[\"es2019.string\",\"lib.es2019.string.d.ts\"],[\"es2019.symbol\",\"lib.es2019.symbol.d.ts\"],[\"es2020.bigint\",\"lib.es2020.bigint.d.ts\"],[\"es2020.promise\",\"lib.es2020.promise.d.ts\"],[\"es2020.sharedmemory\",\"lib.es2020.sharedmemory.d.ts\"],[\"es2020.string\",\"lib.es2020.string.d.ts\"],[\"es2020.symbol.wellknown\",\"lib.es2020.symbol.wellknown.d.ts\"],[\"es2020.intl\",\"lib.es2020.intl.d.ts\"],[\"es2021.promise\",\"lib.es2021.promise.d.ts\"],[\"es2021.string\",\"lib.es2021.string.d.ts\"],[\"es2021.weakref\",\"lib.es2021.weakref.d.ts\"],[\"esnext.array\",\"lib.es2019.array.d.ts\"],[\"esnext.symbol\",\"lib.es2019.symbol.d.ts\"],[\"esnext.asynciterable\",\"lib.es2018.asynciterable.d.ts\"],[\"esnext.intl\",\"lib.esnext.intl.d.ts\"],[\"esnext.bigint\",\"lib.es2020.bigint.d.ts\"],[\"esnext.string\",\"lib.es2021.string.d.ts\"],[\"esnext.promise\",\"lib.es2021.promise.d.ts\"],[\"esnext.weakref\",\"lib.es2021.weakref.d.ts\"]];e.libs=X.map(function(dt){return dt[0]}),e.libMap=new e.Map(X),e.optionsForWatch=[{name:\"watchFile\",type:new e.Map(e.getEntries({fixedpollinginterval:e.WatchFileKind.FixedPollingInterval,prioritypollinginterval:e.WatchFileKind.PriorityPollingInterval,dynamicprioritypolling:e.WatchFileKind.DynamicPriorityPolling,fixedchunksizepolling:e.WatchFileKind.FixedChunkSizePolling,usefsevents:e.WatchFileKind.UseFsEvents,usefseventsonparentdirectory:e.WatchFileKind.UseFsEventsOnParentDirectory})),category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Specify_strategy_for_watching_file_Colon_FixedPollingInterval_default_PriorityPollingInterval_DynamicPriorityPolling_FixedChunkSizePolling_UseFsEvents_UseFsEventsOnParentDirectory},{name:\"watchDirectory\",type:new e.Map(e.getEntries({usefsevents:e.WatchDirectoryKind.UseFsEvents,fixedpollinginterval:e.WatchDirectoryKind.FixedPollingInterval,dynamicprioritypolling:e.WatchDirectoryKind.DynamicPriorityPolling,fixedchunksizepolling:e.WatchDirectoryKind.FixedChunkSizePolling})),category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Specify_strategy_for_watching_directory_on_platforms_that_don_t_support_recursive_watching_natively_Colon_UseFsEvents_default_FixedPollingInterval_DynamicPriorityPolling_FixedChunkSizePolling},{name:\"fallbackPolling\",type:new e.Map(e.getEntries({fixedinterval:e.PollingWatchKind.FixedInterval,priorityinterval:e.PollingWatchKind.PriorityInterval,dynamicpriority:e.PollingWatchKind.DynamicPriority,fixedchunksize:e.PollingWatchKind.FixedChunkSize})),category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Specify_strategy_for_creating_a_polling_watch_when_it_fails_to_create_using_file_system_events_Colon_FixedInterval_default_PriorityInterval_DynamicPriority_FixedChunkSize},{name:\"synchronousWatchDirectory\",type:\"boolean\",category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Synchronously_call_callbacks_and_update_the_state_of_directory_watchers_on_platforms_that_don_t_support_recursive_watching_natively},{name:\"excludeDirectories\",type:\"list\",element:{name:\"excludeDirectory\",type:\"string\",isFilePath:!0,extraValidation:Ni},category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Synchronously_call_callbacks_and_update_the_state_of_directory_watchers_on_platforms_that_don_t_support_recursive_watching_natively},{name:\"excludeFiles\",type:\"list\",element:{name:\"excludeFile\",type:\"string\",isFilePath:!0,extraValidation:Ni},category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Synchronously_call_callbacks_and_update_the_state_of_directory_watchers_on_platforms_that_don_t_support_recursive_watching_natively}],e.commonOptionsWithBuild=[{name:\"help\",shortName:\"h\",type:\"boolean\",showInSimplifiedHelpView:!0,category:e.Diagnostics.Command_line_Options,description:e.Diagnostics.Print_this_message},{name:\"help\",shortName:\"?\",type:\"boolean\"},{name:\"watch\",shortName:\"w\",type:\"boolean\",showInSimplifiedHelpView:!0,category:e.Diagnostics.Command_line_Options,description:e.Diagnostics.Watch_input_files},{name:\"preserveWatchOutput\",type:\"boolean\",showInSimplifiedHelpView:!1,category:e.Diagnostics.Command_line_Options,description:e.Diagnostics.Whether_to_keep_outdated_console_output_in_watch_mode_instead_of_clearing_the_screen},{name:\"listFiles\",type:\"boolean\",category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Print_names_of_files_part_of_the_compilation},{name:\"explainFiles\",type:\"boolean\",category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Print_names_of_files_and_the_reason_they_are_part_of_the_compilation},{name:\"listEmittedFiles\",type:\"boolean\",category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Print_names_of_generated_files_part_of_the_compilation},{name:\"pretty\",type:\"boolean\",showInSimplifiedHelpView:!0,category:e.Diagnostics.Command_line_Options,description:e.Diagnostics.Stylize_errors_and_messages_using_color_and_context_experimental},{name:\"traceResolution\",type:\"boolean\",category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Enable_tracing_of_the_name_resolution_process},{name:\"diagnostics\",type:\"boolean\",category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Show_diagnostic_information},{name:\"extendedDiagnostics\",type:\"boolean\",category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Show_verbose_diagnostic_information},{name:\"generateCpuProfile\",type:\"string\",isFilePath:!0,paramType:e.Diagnostics.FILE_OR_DIRECTORY,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Generates_a_CPU_profile},{name:\"generateTrace\",type:\"string\",isFilePath:!0,isCommandLineOnly:!0,paramType:e.Diagnostics.DIRECTORY,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Generates_an_event_trace_and_a_list_of_types},{name:\"incremental\",shortName:\"i\",type:\"boolean\",category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Enable_incremental_compilation,transpileOptionValue:void 0},{name:\"assumeChangesOnlyAffectDirectDependencies\",type:\"boolean\",affectsSemanticDiagnostics:!0,affectsEmit:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Have_recompiles_in_incremental_and_watch_assume_that_changes_within_a_file_will_only_affect_files_directly_depending_on_it},{name:\"locale\",type:\"string\",category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.The_locale_used_when_displaying_messages_to_the_user_e_g_en_us}],e.targetOptionDeclaration={name:\"target\",shortName:\"t\",type:new e.Map(e.getEntries({es3:0,es5:1,es6:2,es2015:2,es2016:3,es2017:4,es2018:5,es2019:6,es2020:7,es2021:8,esnext:99})),affectsSourceFile:!0,affectsModuleResolution:!0,affectsEmit:!0,paramType:e.Diagnostics.VERSION,showInSimplifiedHelpView:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Specify_ECMAScript_target_version_Colon_ES3_default_ES5_ES2015_ES2016_ES2017_ES2018_ES2019_ES2020_ES2021_or_ESNEXT};var J=[{name:\"all\",type:\"boolean\",showInSimplifiedHelpView:!0,category:e.Diagnostics.Command_line_Options,description:e.Diagnostics.Show_all_compiler_options},{name:\"version\",shortName:\"v\",type:\"boolean\",showInSimplifiedHelpView:!0,category:e.Diagnostics.Command_line_Options,description:e.Diagnostics.Print_the_compiler_s_version},{name:\"init\",type:\"boolean\",showInSimplifiedHelpView:!0,category:e.Diagnostics.Command_line_Options,description:e.Diagnostics.Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file},{name:\"project\",shortName:\"p\",type:\"string\",isFilePath:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Command_line_Options,paramType:e.Diagnostics.FILE_OR_DIRECTORY,description:e.Diagnostics.Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json},{name:\"build\",type:\"boolean\",shortName:\"b\",showInSimplifiedHelpView:!0,category:e.Diagnostics.Command_line_Options,description:e.Diagnostics.Build_one_or_more_projects_and_their_dependencies_if_out_of_date},{name:\"showConfig\",type:\"boolean\",category:e.Diagnostics.Command_line_Options,isCommandLineOnly:!0,description:e.Diagnostics.Print_the_final_configuration_instead_of_building},{name:\"listFilesOnly\",type:\"boolean\",category:e.Diagnostics.Command_line_Options,affectsSemanticDiagnostics:!0,affectsEmit:!0,isCommandLineOnly:!0,description:e.Diagnostics.Print_names_of_files_that_are_part_of_the_compilation_and_then_stop_processing},e.targetOptionDeclaration,{name:\"module\",shortName:\"m\",type:new e.Map(e.getEntries({none:e.ModuleKind.None,commonjs:e.ModuleKind.CommonJS,amd:e.ModuleKind.AMD,system:e.ModuleKind.System,umd:e.ModuleKind.UMD,es6:e.ModuleKind.ES2015,es2015:e.ModuleKind.ES2015,es2020:e.ModuleKind.ES2020,esnext:e.ModuleKind.ESNext})),affectsModuleResolution:!0,affectsEmit:!0,paramType:e.Diagnostics.KIND,showInSimplifiedHelpView:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Specify_module_code_generation_Colon_none_commonjs_amd_system_umd_es2015_es2020_or_ESNext},{name:\"lib\",type:\"list\",element:{name:\"lib\",type:e.libMap},affectsModuleResolution:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Specify_library_files_to_be_included_in_the_compilation,transpileOptionValue:void 0},{name:\"allowJs\",type:\"boolean\",affectsModuleResolution:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Allow_javascript_files_to_be_compiled},{name:\"checkJs\",type:\"boolean\",category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Report_errors_in_js_files},{name:\"jsx\",type:s,affectsSourceFile:!0,affectsEmit:!0,affectsModuleResolution:!0,paramType:e.Diagnostics.KIND,showInSimplifiedHelpView:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Specify_JSX_code_generation_Colon_preserve_react_native_react_react_jsx_or_react_jsxdev},{name:\"declaration\",shortName:\"d\",type:\"boolean\",affectsEmit:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Generates_corresponding_d_ts_file,transpileOptionValue:void 0},{name:\"declarationMap\",type:\"boolean\",affectsEmit:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Generates_a_sourcemap_for_each_corresponding_d_ts_file,transpileOptionValue:void 0},{name:\"emitDeclarationOnly\",type:\"boolean\",affectsEmit:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Only_emit_d_ts_declaration_files,transpileOptionValue:void 0},{name:\"sourceMap\",type:\"boolean\",affectsEmit:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Generates_corresponding_map_file},{name:\"outFile\",type:\"string\",affectsEmit:!0,isFilePath:!0,paramType:e.Diagnostics.FILE,showInSimplifiedHelpView:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Concatenate_and_emit_output_to_single_file,transpileOptionValue:void 0},{name:\"outDir\",type:\"string\",affectsEmit:!0,isFilePath:!0,paramType:e.Diagnostics.DIRECTORY,showInSimplifiedHelpView:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Redirect_output_structure_to_the_directory},{name:\"rootDir\",type:\"string\",affectsEmit:!0,isFilePath:!0,paramType:e.Diagnostics.LOCATION,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir},{name:\"composite\",type:\"boolean\",affectsEmit:!0,isTSConfigOnly:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Enable_project_compilation,transpileOptionValue:void 0},{name:\"tsBuildInfoFile\",type:\"string\",affectsEmit:!0,isFilePath:!0,paramType:e.Diagnostics.FILE,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Specify_file_to_store_incremental_compilation_information,transpileOptionValue:void 0},{name:\"removeComments\",type:\"boolean\",affectsEmit:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Do_not_emit_comments_to_output},{name:\"noEmit\",type:\"boolean\",showInSimplifiedHelpView:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Do_not_emit_outputs,transpileOptionValue:void 0},{name:\"importHelpers\",type:\"boolean\",affectsEmit:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Import_emit_helpers_from_tslib},{name:\"importsNotUsedAsValues\",type:new e.Map(e.getEntries({remove:0,preserve:1,error:2})),affectsEmit:!0,affectsSemanticDiagnostics:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types},{name:\"downlevelIteration\",type:\"boolean\",affectsEmit:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5_or_ES3},{name:\"isolatedModules\",type:\"boolean\",category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Transpile_each_file_as_a_separate_module_similar_to_ts_transpileModule,transpileOptionValue:!0},{name:\"strict\",type:\"boolean\",showInSimplifiedHelpView:!0,category:e.Diagnostics.Strict_Type_Checking_Options,description:e.Diagnostics.Enable_all_strict_type_checking_options},{name:\"noImplicitAny\",type:\"boolean\",affectsSemanticDiagnostics:!0,strictFlag:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Strict_Type_Checking_Options,description:e.Diagnostics.Raise_error_on_expressions_and_declarations_with_an_implied_any_type},{name:\"strictNullChecks\",type:\"boolean\",affectsSemanticDiagnostics:!0,strictFlag:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Strict_Type_Checking_Options,description:e.Diagnostics.Enable_strict_null_checks},{name:\"strictFunctionTypes\",type:\"boolean\",affectsSemanticDiagnostics:!0,strictFlag:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Strict_Type_Checking_Options,description:e.Diagnostics.Enable_strict_checking_of_function_types},{name:\"strictBindCallApply\",type:\"boolean\",strictFlag:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Strict_Type_Checking_Options,description:e.Diagnostics.Enable_strict_bind_call_and_apply_methods_on_functions},{name:\"strictPropertyInitialization\",type:\"boolean\",affectsSemanticDiagnostics:!0,strictFlag:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Strict_Type_Checking_Options,description:e.Diagnostics.Enable_strict_checking_of_property_initialization_in_classes},{name:\"noImplicitThis\",type:\"boolean\",affectsSemanticDiagnostics:!0,strictFlag:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Strict_Type_Checking_Options,description:e.Diagnostics.Raise_error_on_this_expressions_with_an_implied_any_type},{name:\"alwaysStrict\",type:\"boolean\",affectsSourceFile:!0,strictFlag:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Strict_Type_Checking_Options,description:e.Diagnostics.Parse_in_strict_mode_and_emit_use_strict_for_each_source_file},{name:\"noUnusedLocals\",type:\"boolean\",affectsSemanticDiagnostics:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Additional_Checks,description:e.Diagnostics.Report_errors_on_unused_locals},{name:\"noUnusedParameters\",type:\"boolean\",affectsSemanticDiagnostics:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Additional_Checks,description:e.Diagnostics.Report_errors_on_unused_parameters},{name:\"noImplicitReturns\",type:\"boolean\",affectsSemanticDiagnostics:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Additional_Checks,description:e.Diagnostics.Report_error_when_not_all_code_paths_in_function_return_a_value},{name:\"noFallthroughCasesInSwitch\",type:\"boolean\",affectsBindDiagnostics:!0,affectsSemanticDiagnostics:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Additional_Checks,description:e.Diagnostics.Report_errors_for_fallthrough_cases_in_switch_statement},{name:\"noUncheckedIndexedAccess\",type:\"boolean\",affectsSemanticDiagnostics:!0,showInSimplifiedHelpView:!1,category:e.Diagnostics.Additional_Checks,description:e.Diagnostics.Include_undefined_in_index_signature_results},{name:\"noImplicitOverride\",type:\"boolean\",affectsSemanticDiagnostics:!0,showInSimplifiedHelpView:!1,category:e.Diagnostics.Additional_Checks,description:e.Diagnostics.Ensure_overriding_members_in_derived_classes_are_marked_with_an_override_modifier},{name:\"noPropertyAccessFromIndexSignature\",type:\"boolean\",showInSimplifiedHelpView:!1,category:e.Diagnostics.Additional_Checks,description:e.Diagnostics.Require_undeclared_properties_from_index_signatures_to_use_element_accesses},{name:\"moduleResolution\",type:new e.Map(e.getEntries({node:e.ModuleResolutionKind.NodeJs,classic:e.ModuleResolutionKind.Classic})),affectsModuleResolution:!0,paramType:e.Diagnostics.STRATEGY,category:e.Diagnostics.Module_Resolution_Options,description:e.Diagnostics.Specify_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6},{name:\"baseUrl\",type:\"string\",affectsModuleResolution:!0,isFilePath:!0,category:e.Diagnostics.Module_Resolution_Options,description:e.Diagnostics.Base_directory_to_resolve_non_absolute_module_names},{name:\"paths\",type:\"object\",affectsModuleResolution:!0,isTSConfigOnly:!0,category:e.Diagnostics.Module_Resolution_Options,description:e.Diagnostics.A_series_of_entries_which_re_map_imports_to_lookup_locations_relative_to_the_baseUrl,transpileOptionValue:void 0},{name:\"rootDirs\",type:\"list\",isTSConfigOnly:!0,element:{name:\"rootDirs\",type:\"string\",isFilePath:!0},affectsModuleResolution:!0,category:e.Diagnostics.Module_Resolution_Options,description:e.Diagnostics.List_of_root_folders_whose_combined_content_represents_the_structure_of_the_project_at_runtime,transpileOptionValue:void 0},{name:\"typeRoots\",type:\"list\",element:{name:\"typeRoots\",type:\"string\",isFilePath:!0},affectsModuleResolution:!0,category:e.Diagnostics.Module_Resolution_Options,description:e.Diagnostics.List_of_folders_to_include_type_definitions_from},{name:\"types\",type:\"list\",element:{name:\"types\",type:\"string\"},affectsModuleResolution:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Module_Resolution_Options,description:e.Diagnostics.Type_declaration_files_to_be_included_in_compilation,transpileOptionValue:void 0},{name:\"allowSyntheticDefaultImports\",type:\"boolean\",affectsSemanticDiagnostics:!0,category:e.Diagnostics.Module_Resolution_Options,description:e.Diagnostics.Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typechecking},{name:\"esModuleInterop\",type:\"boolean\",affectsSemanticDiagnostics:!0,affectsEmit:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Module_Resolution_Options,description:e.Diagnostics.Enables_emit_interoperability_between_CommonJS_and_ES_Modules_via_creation_of_namespace_objects_for_all_imports_Implies_allowSyntheticDefaultImports},{name:\"preserveSymlinks\",type:\"boolean\",category:e.Diagnostics.Module_Resolution_Options,description:e.Diagnostics.Do_not_resolve_the_real_path_of_symlinks},{name:\"allowUmdGlobalAccess\",type:\"boolean\",affectsSemanticDiagnostics:!0,category:e.Diagnostics.Module_Resolution_Options,description:e.Diagnostics.Allow_accessing_UMD_globals_from_modules},{name:\"sourceRoot\",type:\"string\",affectsEmit:!0,paramType:e.Diagnostics.LOCATION,category:e.Diagnostics.Source_Map_Options,description:e.Diagnostics.Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations},{name:\"mapRoot\",type:\"string\",affectsEmit:!0,paramType:e.Diagnostics.LOCATION,category:e.Diagnostics.Source_Map_Options,description:e.Diagnostics.Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations},{name:\"inlineSourceMap\",type:\"boolean\",affectsEmit:!0,category:e.Diagnostics.Source_Map_Options,description:e.Diagnostics.Emit_a_single_file_with_source_maps_instead_of_having_a_separate_file},{name:\"inlineSources\",type:\"boolean\",affectsEmit:!0,category:e.Diagnostics.Source_Map_Options,description:e.Diagnostics.Emit_the_source_alongside_the_sourcemaps_within_a_single_file_requires_inlineSourceMap_or_sourceMap_to_be_set},{name:\"experimentalDecorators\",type:\"boolean\",affectsSemanticDiagnostics:!0,category:e.Diagnostics.Experimental_Options,description:e.Diagnostics.Enables_experimental_support_for_ES7_decorators},{name:\"emitDecoratorMetadata\",type:\"boolean\",affectsSemanticDiagnostics:!0,affectsEmit:!0,category:e.Diagnostics.Experimental_Options,description:e.Diagnostics.Enables_experimental_support_for_emitting_type_metadata_for_decorators},{name:\"jsxFactory\",type:\"string\",category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Specify_the_JSX_factory_function_to_use_when_targeting_react_JSX_emit_e_g_React_createElement_or_h},{name:\"jsxFragmentFactory\",type:\"string\",category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Specify_the_JSX_fragment_factory_function_to_use_when_targeting_react_JSX_emit_with_jsxFactory_compiler_option_is_specified_e_g_Fragment},{name:\"jsxImportSource\",type:\"string\",affectsSemanticDiagnostics:!0,affectsEmit:!0,affectsModuleResolution:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Specify_the_module_specifier_to_be_used_to_import_the_jsx_and_jsxs_factory_functions_from_eg_react},{name:\"resolveJsonModule\",type:\"boolean\",affectsModuleResolution:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Include_modules_imported_with_json_extension},{name:\"out\",type:\"string\",affectsEmit:!0,isFilePath:!1,category:e.Diagnostics.Advanced_Options,paramType:e.Diagnostics.FILE,description:e.Diagnostics.Deprecated_Use_outFile_instead_Concatenate_and_emit_output_to_single_file,transpileOptionValue:void 0},{name:\"reactNamespace\",type:\"string\",affectsEmit:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react_JSX_emit},{name:\"skipDefaultLibCheck\",type:\"boolean\",category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Deprecated_Use_skipLibCheck_instead_Skip_type_checking_of_default_library_declaration_files},{name:\"charset\",type:\"string\",category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.The_character_set_of_the_input_files},{name:\"emitBOM\",type:\"boolean\",affectsEmit:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files},{name:\"newLine\",type:new e.Map(e.getEntries({crlf:0,lf:1})),affectsEmit:!0,paramType:e.Diagnostics.NEWLINE,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix},{name:\"noErrorTruncation\",type:\"boolean\",affectsSemanticDiagnostics:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Do_not_truncate_error_messages},{name:\"noLib\",type:\"boolean\",affectsModuleResolution:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Do_not_include_the_default_library_file_lib_d_ts,transpileOptionValue:!0},{name:\"noResolve\",type:\"boolean\",affectsModuleResolution:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Do_not_add_triple_slash_references_or_imported_modules_to_the_list_of_compiled_files,transpileOptionValue:!0},{name:\"stripInternal\",type:\"boolean\",affectsEmit:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Do_not_emit_declarations_for_code_that_has_an_internal_annotation},{name:\"disableSizeLimit\",type:\"boolean\",affectsSourceFile:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Disable_size_limitations_on_JavaScript_projects},{name:\"disableSourceOfProjectReferenceRedirect\",type:\"boolean\",isTSConfigOnly:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Disable_use_of_source_files_instead_of_declaration_files_from_referenced_projects},{name:\"disableSolutionSearching\",type:\"boolean\",isTSConfigOnly:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Disable_solution_searching_for_this_project},{name:\"disableReferencedProjectLoad\",type:\"boolean\",isTSConfigOnly:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Disable_loading_referenced_projects},{name:\"noImplicitUseStrict\",type:\"boolean\",affectsSemanticDiagnostics:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Do_not_emit_use_strict_directives_in_module_output},{name:\"noEmitHelpers\",type:\"boolean\",affectsEmit:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Do_not_generate_custom_helper_functions_like_extends_in_compiled_output},{name:\"noEmitOnError\",type:\"boolean\",affectsEmit:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Do_not_emit_outputs_if_any_errors_were_reported,transpileOptionValue:void 0},{name:\"preserveConstEnums\",type:\"boolean\",affectsEmit:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Do_not_erase_const_enum_declarations_in_generated_code},{name:\"declarationDir\",type:\"string\",affectsEmit:!0,isFilePath:!0,paramType:e.Diagnostics.DIRECTORY,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Output_directory_for_generated_declaration_files,transpileOptionValue:void 0},{name:\"skipLibCheck\",type:\"boolean\",category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Skip_type_checking_of_declaration_files},{name:\"allowUnusedLabels\",type:\"boolean\",affectsBindDiagnostics:!0,affectsSemanticDiagnostics:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Do_not_report_errors_on_unused_labels},{name:\"allowUnreachableCode\",type:\"boolean\",affectsBindDiagnostics:!0,affectsSemanticDiagnostics:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Do_not_report_errors_on_unreachable_code},{name:\"suppressExcessPropertyErrors\",type:\"boolean\",affectsSemanticDiagnostics:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Suppress_excess_property_checks_for_object_literals},{name:\"suppressImplicitAnyIndexErrors\",type:\"boolean\",affectsSemanticDiagnostics:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures},{name:\"forceConsistentCasingInFileNames\",type:\"boolean\",affectsModuleResolution:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Disallow_inconsistently_cased_references_to_the_same_file},{name:\"maxNodeModuleJsDepth\",type:\"number\",affectsModuleResolution:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files},{name:\"noStrictGenericChecks\",type:\"boolean\",affectsSemanticDiagnostics:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Disable_strict_checking_of_generic_signatures_in_function_types},{name:\"useDefineForClassFields\",type:\"boolean\",affectsSemanticDiagnostics:!0,affectsEmit:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Emit_class_fields_with_Define_instead_of_Set},{name:\"keyofStringsOnly\",type:\"boolean\",category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Resolve_keyof_to_string_valued_property_names_only_no_numbers_or_symbols},{name:\"plugins\",type:\"list\",isTSConfigOnly:!0,element:{name:\"plugin\",type:\"object\"},description:e.Diagnostics.List_of_language_service_plugins}];e.optionDeclarations=D(D([],e.commonOptionsWithBuild),J),e.semanticDiagnosticsOptionDeclarations=e.optionDeclarations.filter(function(dt){return!!dt.affectsSemanticDiagnostics}),e.affectsEmitOptionDeclarations=e.optionDeclarations.filter(function(dt){return!!dt.affectsEmit}),e.moduleResolutionOptionDeclarations=e.optionDeclarations.filter(function(dt){return!!dt.affectsModuleResolution}),e.sourceFileAffectingCompilerOptions=e.optionDeclarations.filter(function(dt){return!!dt.affectsSourceFile||!!dt.affectsModuleResolution||!!dt.affectsBindDiagnostics}),e.transpileOptionValueCompilerOptions=e.optionDeclarations.filter(function(dt){return e.hasProperty(dt,\"transpileOptionValue\")});var m0,s1=[{name:\"verbose\",shortName:\"v\",category:e.Diagnostics.Command_line_Options,description:e.Diagnostics.Enable_verbose_logging,type:\"boolean\"},{name:\"dry\",shortName:\"d\",category:e.Diagnostics.Command_line_Options,description:e.Diagnostics.Show_what_would_be_built_or_deleted_if_specified_with_clean,type:\"boolean\"},{name:\"force\",shortName:\"f\",category:e.Diagnostics.Command_line_Options,description:e.Diagnostics.Build_all_projects_including_those_that_appear_to_be_up_to_date,type:\"boolean\"},{name:\"clean\",category:e.Diagnostics.Command_line_Options,description:e.Diagnostics.Delete_the_outputs_of_all_projects,type:\"boolean\"}];function i0(dt){var Gt=new e.Map,lr=new e.Map;return e.forEach(dt,function(en){Gt.set(en.name.toLowerCase(),en),en.shortName&&lr.set(en.shortName,en.name)}),{optionsNameMap:Gt,shortOptionNames:lr}}function H0(){return m0||(m0=i0(e.optionDeclarations))}e.buildOpts=D(D([],e.commonOptionsWithBuild),s1),e.typeAcquisitionDeclarations=[{name:\"enableAutoDiscovery\",type:\"boolean\"},{name:\"enable\",type:\"boolean\"},{name:\"include\",type:\"list\",element:{name:\"include\",type:\"string\"}},{name:\"exclude\",type:\"list\",element:{name:\"exclude\",type:\"string\"}},{name:\"disableFilenameBasedTypeAcquisition\",type:\"boolean\"}],e.createOptionNameMap=i0,e.getOptionsNameMap=H0;var E0,I={diagnostic:e.Diagnostics.Compiler_option_0_may_only_be_used_with_build,getOptionsNameMap:c0};function A(dt){return dt&&dt.enableAutoDiscovery!==void 0&&dt.enable===void 0?{enable:dt.enableAutoDiscovery,include:dt.include||[],exclude:dt.exclude||[]}:dt}function Z(dt){return A0(dt,e.createCompilerDiagnostic)}function A0(dt,Gt){var lr=e.arrayFrom(dt.type.keys()).map(function(en){return\"'\"+en+\"'\"}).join(\", \");return Gt(e.Diagnostics.Argument_for_0_option_must_be_Colon_1,\"--\"+dt.name,lr)}function o0(dt,Gt,lr){return gt(dt,Vt(Gt||\"\"),lr)}function j(dt,Gt,lr){if(Gt===void 0&&(Gt=\"\"),Gt=Vt(Gt),!e.startsWith(Gt,\"-\")){if(Gt===\"\")return[];var en=Gt.split(\",\");switch(dt.element.type){case\"number\":return e.mapDefined(en,function(ii){return Re(dt.element,parseInt(ii),lr)});case\"string\":return e.mapDefined(en,function(ii){return Re(dt.element,ii||\"\",lr)});default:return e.mapDefined(en,function(ii){return o0(dt.element,ii,lr)})}}}function G(dt){return dt.name}function u0(dt,Gt,lr,en){var ii;if((ii=Gt.alternateMode)===null||ii===void 0?void 0:ii.getOptionsNameMap().optionsNameMap.has(dt.toLowerCase()))return lr(Gt.alternateMode.diagnostic,dt);var Tt=e.getSpellingSuggestion(dt,Gt.optionDeclarations,G);return Tt?lr(Gt.unknownDidYouMeanDiagnostic,en||dt,Tt.name):lr(Gt.unknownOptionDiagnostic,en||dt)}function U(dt,Gt,lr){var en,ii={},Tt=[],bn=[];return Le(Gt),{options:ii,watchOptions:en,fileNames:Tt,errors:bn};function Le(Yn){for(var W1=0;W1<Yn.length;){var cx=Yn[W1];if(W1++,cx.charCodeAt(0)===64)Sa(cx.slice(1));else if(cx.charCodeAt(0)===45){var E1=cx.slice(cx.charCodeAt(1)===45?2:1),qx=P0(dt.getOptionsNameMap,E1,!0);if(qx)W1=g0(Yn,W1,dt,qx,ii,bn);else{var xt=P0(G0.getOptionsNameMap,E1,!0);xt?W1=g0(Yn,W1,G0,xt,en||(en={}),bn):bn.push(u0(E1,dt,e.createCompilerDiagnostic,cx))}}else Tt.push(cx)}}function Sa(Yn){var W1=w0(Yn,lr||function(xt){return e.sys.readFile(xt)});if(e.isString(W1)){for(var cx=[],E1=0;;){for(;E1<W1.length&&W1.charCodeAt(E1)<=32;)E1++;if(E1>=W1.length)break;var qx=E1;if(W1.charCodeAt(qx)===34){for(E1++;E1<W1.length&&W1.charCodeAt(E1)!==34;)E1++;E1<W1.length?(cx.push(W1.substring(qx+1,E1)),E1++):bn.push(e.createCompilerDiagnostic(e.Diagnostics.Unterminated_quoted_string_in_response_file_0,Yn))}else{for(;W1.charCodeAt(E1)>32;)E1++;cx.push(W1.substring(qx,E1))}}Le(cx)}else bn.push(W1)}}function g0(dt,Gt,lr,en,ii,Tt){if(en.isTSConfigOnly)(bn=dt[Gt])===\"null\"?(ii[en.name]=void 0,Gt++):en.type===\"boolean\"?bn===\"false\"?(ii[en.name]=Re(en,!1,Tt),Gt++):(bn===\"true\"&&Gt++,Tt.push(e.createCompilerDiagnostic(e.Diagnostics.Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_false_or_null_on_command_line,en.name))):(Tt.push(e.createCompilerDiagnostic(e.Diagnostics.Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_null_on_command_line,en.name)),bn&&!e.startsWith(bn,\"-\")&&Gt++);else if(dt[Gt]||en.type===\"boolean\"||Tt.push(e.createCompilerDiagnostic(lr.optionTypeMismatchDiagnostic,en.name,Z1(en))),dt[Gt]!==\"null\")switch(en.type){case\"number\":ii[en.name]=Re(en,parseInt(dt[Gt]),Tt),Gt++;break;case\"boolean\":var bn=dt[Gt];ii[en.name]=Re(en,bn!==\"false\",Tt),bn!==\"false\"&&bn!==\"true\"||Gt++;break;case\"string\":ii[en.name]=Re(en,dt[Gt]||\"\",Tt),Gt++;break;case\"list\":var Le=j(en,dt[Gt],Tt);ii[en.name]=Le||[],Le&&Gt++;break;default:ii[en.name]=o0(en,dt[Gt],Tt),Gt++}else ii[en.name]=void 0,Gt++;return Gt}function d0(dt,Gt){return P0(H0,dt,Gt)}function P0(dt,Gt,lr){lr===void 0&&(lr=!1),Gt=Gt.toLowerCase();var en=dt(),ii=en.optionsNameMap,Tt=en.shortOptionNames;if(lr){var bn=Tt.get(Gt);bn!==void 0&&(Gt=bn)}return ii.get(Gt)}function c0(){return E0||(E0=i0(e.buildOpts))}e.defaultInitCompilerOptions={module:e.ModuleKind.CommonJS,target:1,strict:!0,esModuleInterop:!0,forceConsistentCasingInFileNames:!0,skipLibCheck:!0},e.convertEnableAutoDiscoveryToEnable=A,e.createCompilerDiagnosticForInvalidCustomType=Z,e.parseCustomTypeOption=o0,e.parseListTypeOption=j,e.parseCommandLineWorker=U,e.compilerOptionsDidYouMeanDiagnostics={alternateMode:I,getOptionsNameMap:H0,optionDeclarations:e.optionDeclarations,unknownOptionDiagnostic:e.Diagnostics.Unknown_compiler_option_0,unknownDidYouMeanDiagnostic:e.Diagnostics.Unknown_compiler_option_0_Did_you_mean_1,optionTypeMismatchDiagnostic:e.Diagnostics.Compiler_option_0_expects_an_argument},e.parseCommandLine=function(dt,Gt){return U(e.compilerOptionsDidYouMeanDiagnostics,dt,Gt)},e.getOptionFromName=d0;var D0={alternateMode:{diagnostic:e.Diagnostics.Compiler_option_0_may_not_be_used_with_build,getOptionsNameMap:H0},getOptionsNameMap:c0,optionDeclarations:e.buildOpts,unknownOptionDiagnostic:e.Diagnostics.Unknown_build_option_0,unknownDidYouMeanDiagnostic:e.Diagnostics.Unknown_build_option_0_Did_you_mean_1,optionTypeMismatchDiagnostic:e.Diagnostics.Build_option_0_requires_a_value_of_type_1};function x0(dt,Gt){var lr=e.parseJsonText(dt,Gt);return{config:Q1(lr,lr.parseDiagnostics,!1,void 0),error:lr.parseDiagnostics.length?lr.parseDiagnostics[0]:void 0}}function l0(dt,Gt){var lr=w0(dt,Gt);return e.isString(lr)?e.parseJsonText(dt,lr):{fileName:dt,parseDiagnostics:[lr]}}function w0(dt,Gt){var lr;try{lr=Gt(dt)}catch(en){return e.createCompilerDiagnostic(e.Diagnostics.Cannot_read_file_0_Colon_1,dt,en.message)}return lr===void 0?e.createCompilerDiagnostic(e.Diagnostics.Cannot_read_file_0,dt):lr}function V(dt){return e.arrayToMap(dt,G)}e.parseBuildCommand=function(dt){var Gt=U(D0,dt),lr=Gt.options,en=Gt.watchOptions,ii=Gt.fileNames,Tt=Gt.errors,bn=lr;return ii.length===0&&ii.push(\".\"),bn.clean&&bn.force&&Tt.push(e.createCompilerDiagnostic(e.Diagnostics.Options_0_and_1_cannot_be_combined,\"clean\",\"force\")),bn.clean&&bn.verbose&&Tt.push(e.createCompilerDiagnostic(e.Diagnostics.Options_0_and_1_cannot_be_combined,\"clean\",\"verbose\")),bn.clean&&bn.watch&&Tt.push(e.createCompilerDiagnostic(e.Diagnostics.Options_0_and_1_cannot_be_combined,\"clean\",\"watch\")),bn.watch&&bn.dry&&Tt.push(e.createCompilerDiagnostic(e.Diagnostics.Options_0_and_1_cannot_be_combined,\"watch\",\"dry\")),{buildOptions:bn,watchOptions:en,projects:ii,errors:Tt}},e.getDiagnosticText=function(dt){for(var Gt=[],lr=1;lr<arguments.length;lr++)Gt[lr-1]=arguments[lr];var en=e.createCompilerDiagnostic.apply(void 0,arguments);return en.messageText},e.getParsedCommandLineOfConfigFile=function(dt,Gt,lr,en,ii,Tt){var bn=w0(dt,function(Yn){return lr.readFile(Yn)});if(e.isString(bn)){var Le=e.parseJsonText(dt,bn),Sa=lr.getCurrentDirectory();return Le.path=e.toPath(dt,Sa,e.createGetCanonicalFileName(lr.useCaseSensitiveFileNames)),Le.resolvedPath=Le.path,Le.originalFileName=Le.fileName,S0(Le,lr,e.getNormalizedAbsolutePath(e.getDirectoryPath(dt),Sa),Gt,e.getNormalizedAbsolutePath(dt,Sa),void 0,Tt,en,ii)}lr.onUnRecoverableConfigFileDiagnostic(bn)},e.readConfigFile=function(dt,Gt){var lr=w0(dt,Gt);return e.isString(lr)?x0(dt,lr):{config:{},error:lr}},e.parseConfigFileTextToJson=x0,e.readJsonConfigFile=l0,e.tryReadFile=w0;var w,H={optionDeclarations:e.typeAcquisitionDeclarations,unknownOptionDiagnostic:e.Diagnostics.Unknown_type_acquisition_option_0,unknownDidYouMeanDiagnostic:e.Diagnostics.Unknown_type_acquisition_option_0_Did_you_mean_1};function k0(){return w||(w=i0(e.optionsForWatch))}var V0,t0,f0,y0,G0={getOptionsNameMap:k0,optionDeclarations:e.optionsForWatch,unknownOptionDiagnostic:e.Diagnostics.Unknown_watch_option_0,unknownDidYouMeanDiagnostic:e.Diagnostics.Unknown_watch_option_0_Did_you_mean_1,optionTypeMismatchDiagnostic:e.Diagnostics.Watch_option_0_requires_a_value_of_type_1};function d1(){return V0||(V0=V(e.optionDeclarations))}function h1(){return t0||(t0=V(e.optionsForWatch))}function S1(){return f0||(f0=V(e.typeAcquisitionDeclarations))}function Q1(dt,Gt,lr,en){var ii,Tt=(ii=dt.statements[0])===null||ii===void 0?void 0:ii.expression,bn=lr?(y0===void 0&&(y0={name:void 0,type:\"object\",elementOptions:V([{name:\"compilerOptions\",type:\"object\",elementOptions:d1(),extraKeyDiagnostics:e.compilerOptionsDidYouMeanDiagnostics},{name:\"watchOptions\",type:\"object\",elementOptions:h1(),extraKeyDiagnostics:G0},{name:\"typingOptions\",type:\"object\",elementOptions:S1(),extraKeyDiagnostics:H},{name:\"typeAcquisition\",type:\"object\",elementOptions:S1(),extraKeyDiagnostics:H},{name:\"extends\",type:\"string\"},{name:\"references\",type:\"list\",element:{name:\"references\",type:\"object\"}},{name:\"files\",type:\"list\",element:{name:\"files\",type:\"string\"}},{name:\"include\",type:\"list\",element:{name:\"include\",type:\"string\"}},{name:\"exclude\",type:\"list\",element:{name:\"exclude\",type:\"string\"}},e.compileOnSaveCommandLineOption])}),y0):void 0;if(Tt&&Tt.kind!==201){if(Gt.push(e.createDiagnosticForNodeInSourceFile(dt,Tt,e.Diagnostics.The_root_value_of_a_0_file_must_be_an_object,e.getBaseFileName(dt.fileName)===\"jsconfig.json\"?\"jsconfig.json\":\"tsconfig.json\")),e.isArrayLiteralExpression(Tt)){var Le=e.find(Tt.elements,e.isObjectLiteralExpression);if(Le)return $1(dt,Le,Gt,!0,bn,en)}return{}}return $1(dt,Tt,Gt,!0,bn,en)}function Y0(dt,Gt){var lr;return $1(dt,(lr=dt.statements[0])===null||lr===void 0?void 0:lr.expression,Gt,!0,void 0,void 0)}function $1(dt,Gt,lr,en,ii,Tt){return Gt?Sa(Gt,ii):en?{}:void 0;function bn(W1){return ii&&ii.elementOptions===W1}function Le(W1,cx,E1,qx){for(var xt=en?{}:void 0,ae=function(ut){if(ut.kind!==289)return lr.push(e.createDiagnosticForNodeInSourceFile(dt,ut,e.Diagnostics.Property_assignment_expected)),\"continue\";ut.questionToken&&lr.push(e.createDiagnosticForNodeInSourceFile(dt,ut.questionToken,e.Diagnostics.The_0_modifier_can_only_be_used_in_TypeScript_files,\"?\")),Yn(ut.name)||lr.push(e.createDiagnosticForNodeInSourceFile(dt,ut.name,e.Diagnostics.String_literal_with_double_quotes_expected));var Gr=e.isComputedNonLiteralName(ut.name)?void 0:e.getTextOfPropertyName(ut.name),B=Gr&&e.unescapeLeadingUnderscores(Gr),h0=B&&cx?cx.get(B):void 0;B&&E1&&!h0&&(cx?lr.push(u0(B,E1,function(l1,Hx,ge){return e.createDiagnosticForNodeInSourceFile(dt,ut.name,l1,Hx,ge)})):lr.push(e.createDiagnosticForNodeInSourceFile(dt,ut.name,E1.unknownOptionDiagnostic,B)));var M=Sa(ut.initializer,h0);if(B!==void 0&&(en&&(xt[B]=M),Tt&&(qx||bn(cx)))){var X0=Q0(h0,M);qx?X0&&Tt.onSetValidOptionKeyValueInParent(qx,h0,M):bn(cx)&&(X0?Tt.onSetValidOptionKeyValueInRoot(B,ut.name,M,ut.initializer):h0||Tt.onSetUnknownOptionKeyValueInRoot(B,ut.name,M,ut.initializer))}},Ut=0,or=W1.properties;Ut<or.length;Ut++)ae(or[Ut]);return xt}function Sa(W1,cx){var E1;switch(W1.kind){case 109:return ut(cx&&cx.type!==\"boolean\"),or(!0);case 94:return ut(cx&&cx.type!==\"boolean\"),or(!1);case 103:return ut(cx&&cx.name===\"extends\"),or(null);case 10:Yn(W1)||lr.push(e.createDiagnosticForNodeInSourceFile(dt,W1,e.Diagnostics.String_literal_with_double_quotes_expected)),ut(cx&&e.isString(cx.type)&&cx.type!==\"string\");var qx=W1.text;if(cx&&!e.isString(cx.type)){var xt=cx;xt.type.has(qx.toLowerCase())||(lr.push(A0(xt,function(Gr,B,h0){return e.createDiagnosticForNodeInSourceFile(dt,W1,Gr,B,h0)})),E1=!0)}return or(qx);case 8:return ut(cx&&cx.type!==\"number\"),or(Number(W1.text));case 215:if(W1.operator!==40||W1.operand.kind!==8)break;return ut(cx&&cx.type!==\"number\"),or(-Number(W1.operand.text));case 201:ut(cx&&cx.type!==\"object\");var ae=W1;if(cx){var Ut=cx;return or(Le(ae,Ut.elementOptions,Ut.extraKeyDiagnostics,Ut.name))}return or(Le(ae,void 0,void 0,void 0));case 200:return ut(cx&&cx.type!==\"list\"),or(function(Gr,B){if(en)return e.filter(Gr.map(function(h0){return Sa(h0,B)}),function(h0){return h0!==void 0});Gr.forEach(function(h0){return Sa(h0,B)})}(W1.elements,cx&&cx.element))}return void(cx?ut(!0):lr.push(e.createDiagnosticForNodeInSourceFile(dt,W1,e.Diagnostics.Property_value_can_only_be_string_literal_numeric_literal_true_false_null_object_literal_or_array_literal)));function or(Gr){var B;if(!E1){var h0=(B=cx==null?void 0:cx.extraValidation)===null||B===void 0?void 0:B.call(cx,Gr);if(h0)return void lr.push(e.createDiagnosticForNodeInSourceFile.apply(void 0,D([dt,W1],h0)))}return Gr}function ut(Gr){Gr&&(lr.push(e.createDiagnosticForNodeInSourceFile(dt,W1,e.Diagnostics.Compiler_option_0_requires_a_value_of_type_1,cx.name,Z1(cx))),E1=!0)}}function Yn(W1){return e.isStringLiteral(W1)&&e.isStringDoubleQuoted(W1,dt)}}function Z1(dt){return dt.type===\"list\"?\"Array\":e.isString(dt.type)?dt.type:\"string\"}function Q0(dt,Gt){return!!dt&&(!!U0(Gt)||(dt.type===\"list\"?e.isArray(Gt):typeof Gt===(e.isString(dt.type)?dt.type:\"string\")))}function y1(dt){return $({},e.arrayFrom(dt.entries()).reduce(function(Gt,lr){var en;return $($({},Gt),((en={})[lr[0]]=lr[1],en))},{}))}function k1(dt){if(e.length(dt)&&(e.length(dt)!==1||dt[0]!==\"**/*\"))return dt}function I1(dt){return dt.type===\"string\"||dt.type===\"number\"||dt.type===\"boolean\"||dt.type===\"object\"?void 0:dt.type===\"list\"?I1(dt.element):dt.type}function K0(dt,Gt){return e.forEachEntry(Gt,function(lr,en){if(lr===dt)return en})}function G1(dt,Gt){return Nx(dt,H0(),Gt)}function Nx(dt,Gt,lr){var en=Gt.optionsNameMap,ii=new e.Map,Tt=lr&&e.createGetCanonicalFileName(lr.useCaseSensitiveFileNames),bn=function(Sa){if(e.hasProperty(dt,Sa)){if(en.has(Sa)&&en.get(Sa).category===e.Diagnostics.Command_line_Options)return\"continue\";var Yn=dt[Sa],W1=en.get(Sa.toLowerCase());if(W1){var cx=I1(W1);cx?W1.type===\"list\"?ii.set(Sa,Yn.map(function(E1){return K0(E1,cx)})):ii.set(Sa,K0(Yn,cx)):lr&&W1.isFilePath?ii.set(Sa,e.getRelativePathFromFile(lr.configFilePath,e.getNormalizedAbsolutePath(Yn,e.getDirectoryPath(lr.configFilePath)),Tt)):ii.set(Sa,Yn)}}};for(var Le in dt)bn(Le);return ii}function n1(dt,Gt,lr){if(dt&&!U0(Gt)){if(dt.type===\"list\"){var en=Gt;if(dt.element.isFilePath&&en.length)return en.map(lr)}else if(dt.isFilePath)return lr(Gt)}return Gt}function S0(dt,Gt,lr,en,ii,Tt,bn,Le,Sa){return p1(void 0,dt,Gt,lr,en,Sa,ii,Tt,bn,Le)}function I0(dt,Gt){Gt&&Object.defineProperty(dt,\"configFile\",{enumerable:!1,writable:!1,value:Gt})}function U0(dt){return dt==null}function p0(dt,Gt){return e.getDirectoryPath(e.getNormalizedAbsolutePath(dt,Gt))}function p1(dt,Gt,lr,en,ii,Tt,bn,Le,Sa,Yn){ii===void 0&&(ii={}),Le===void 0&&(Le=[]),Sa===void 0&&(Sa=[]),e.Debug.assert(dt===void 0&&Gt!==void 0||dt!==void 0&&Gt===void 0);var W1=[],cx=Ox(dt,Gt,lr,en,bn,Le,W1,Yn),E1=cx.raw,qx=e.extend(ii,cx.options||{}),xt=Tt&&cx.watchOptions?e.extend(Tt,cx.watchOptions):cx.watchOptions||Tt;qx.configFilePath=bn&&e.normalizeSlashes(bn);var ae=function(){var h0=Gr(\"references\",function(fe){return typeof fe==\"object\"},\"object\"),M=or(ut(\"files\"));if(M){var X0=h0===\"no-prop\"||e.isArray(h0)&&h0.length===0,l1=e.hasProperty(E1,\"extends\");if(M.length===0&&X0&&!l1)if(Gt){var Hx=bn||\"tsconfig.json\",ge=e.Diagnostics.The_files_list_in_config_file_0_is_empty,Pe=e.firstDefined(e.getTsConfigPropArray(Gt,\"files\"),function(fe){return fe.initializer}),It=Pe?e.createDiagnosticForNodeInSourceFile(Gt,Pe,ge,Hx):e.createCompilerDiagnostic(ge,Hx);W1.push(It)}else B(e.Diagnostics.The_files_list_in_config_file_0_is_empty,bn||\"tsconfig.json\")}var Kr,pn,rn=or(ut(\"include\")),_t=ut(\"exclude\"),Ii=or(_t);if(_t===\"no-prop\"&&E1.compilerOptions){var Mn=E1.compilerOptions.outDir,Ka=E1.compilerOptions.declarationDir;(Mn||Ka)&&(Ii=[Mn,Ka].filter(function(fe){return!!fe}))}return M===void 0&&rn===void 0&&(rn=[\"**/*\"]),rn&&(Kr=ar(rn,W1,!0,Gt,\"include\")),Ii&&(pn=ar(Ii,W1,!1,Gt,\"exclude\")),{filesSpecs:M,includeSpecs:rn,excludeSpecs:Ii,validatedFilesSpec:e.filter(M,e.isString),validatedIncludeSpecs:Kr,validatedExcludeSpecs:pn}}();Gt&&(Gt.configFileSpecs=ae),I0(qx,Gt);var Ut=e.normalizePath(bn?p0(bn,en):en);return{options:qx,watchOptions:xt,fileNames:function(h0){var M=xr(ae,h0,qx,lr,Sa);return N1(M,V1(E1),Le)&&W1.push(Y1(ae,bn)),M}(Ut),projectReferences:function(h0){var M,X0=Gr(\"references\",function(Pe){return typeof Pe==\"object\"},\"object\");if(e.isArray(X0))for(var l1=0,Hx=X0;l1<Hx.length;l1++){var ge=Hx[l1];typeof ge.path!=\"string\"?B(e.Diagnostics.Compiler_option_0_requires_a_value_of_type_1,\"reference.path\",\"string\"):(M||(M=[])).push({path:e.getNormalizedAbsolutePath(ge.path,h0),originalPath:ge.path,prepend:ge.prepend,circular:ge.circular})}return M}(Ut),typeAcquisition:cx.typeAcquisition||C1(),raw:E1,errors:W1,wildcardDirectories:Kn(ae,Ut,lr.useCaseSensitiveFileNames),compileOnSave:!!E1.compileOnSave};function or(h0){return e.isArray(h0)?h0:void 0}function ut(h0){return Gr(h0,e.isString,\"string\")}function Gr(h0,M,X0){if(e.hasProperty(E1,h0)&&!U0(E1[h0])){if(e.isArray(E1[h0])){var l1=E1[h0];return Gt||e.every(l1,M)||W1.push(e.createCompilerDiagnostic(e.Diagnostics.Compiler_option_0_requires_a_value_of_type_1,h0,X0)),l1}return B(e.Diagnostics.Compiler_option_0_requires_a_value_of_type_1,h0,\"Array\"),\"not-array\"}return\"no-prop\"}function B(h0,M,X0){Gt||W1.push(e.createCompilerDiagnostic(h0,M,X0))}}function Y1(dt,Gt){var lr=dt.includeSpecs,en=dt.excludeSpecs;return e.createCompilerDiagnostic(e.Diagnostics.No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2,Gt||\"tsconfig.json\",JSON.stringify(lr||[]),JSON.stringify(en||[]))}function N1(dt,Gt,lr){return dt.length===0&&Gt&&(!lr||lr.length===0)}function V1(dt){return!e.hasProperty(dt,\"files\")&&!e.hasProperty(dt,\"references\")}function Ox(dt,Gt,lr,en,ii,Tt,bn,Le){var Sa;en=e.normalizeSlashes(en);var Yn=e.getNormalizedAbsolutePath(ii||\"\",en);if(Tt.indexOf(Yn)>=0)return bn.push(e.createCompilerDiagnostic(e.Diagnostics.Circularity_detected_while_resolving_configuration_Colon_0,D(D([],Tt),[Yn]).join(\" -> \"))),{raw:dt||Y0(Gt,bn)};var W1=dt?function(Ut,or,ut,Gr,B){e.hasProperty(Ut,\"excludes\")&&B.push(e.createCompilerDiagnostic(e.Diagnostics.Unknown_option_excludes_Did_you_mean_exclude));var h0,M=O0(Ut.compilerOptions,ut,B,Gr),X0=nx(Ut.typeAcquisition||Ut.typingOptions,ut,B,Gr),l1=function(ge,Pe,It){return O(h1(),ge,Pe,void 0,G0,It)}(Ut.watchOptions,ut,B);if(Ut.compileOnSave=function(ge,Pe,It){if(!e.hasProperty(ge,e.compileOnSaveCommandLineOption.name))return!1;var Kr=b1(e.compileOnSaveCommandLineOption,ge.compileOnSave,Pe,It);return typeof Kr==\"boolean\"&&Kr}(Ut,ut,B),Ut.extends)if(e.isString(Ut.extends)){var Hx=Gr?p0(Gr,ut):ut;h0=$x(Ut.extends,or,Hx,B,e.createCompilerDiagnostic)}else B.push(e.createCompilerDiagnostic(e.Diagnostics.Compiler_option_0_requires_a_value_of_type_1,\"extends\",\"string\"));return{raw:Ut,options:M,watchOptions:l1,typeAcquisition:X0,extendedConfigPath:h0}}(dt,lr,en,ii,bn):function(Ut,or,ut,Gr,B){var h0,M,X0,l1,Hx=rx(Gr),ge={onSetValidOptionKeyValueInParent:function(It,Kr,pn){var rn;switch(It){case\"compilerOptions\":rn=Hx;break;case\"watchOptions\":rn=X0||(X0={});break;case\"typeAcquisition\":rn=h0||(h0=C1(Gr));break;case\"typingOptions\":rn=M||(M=C1(Gr));break;default:e.Debug.fail(\"Unknown option\")}rn[Kr.name]=Px(Kr,ut,pn)},onSetValidOptionKeyValueInRoot:function(It,Kr,pn,rn){switch(It){case\"extends\":var _t=Gr?p0(Gr,ut):ut;return void(l1=$x(pn,or,_t,B,function(Ii,Mn){return e.createDiagnosticForNodeInSourceFile(Ut,rn,Ii,Mn)}))}},onSetUnknownOptionKeyValueInRoot:function(It,Kr,pn,rn){It===\"excludes\"&&B.push(e.createDiagnosticForNodeInSourceFile(Ut,Kr,e.Diagnostics.Unknown_option_excludes_Did_you_mean_exclude))}},Pe=Q1(Ut,B,!0,ge);return h0||(h0=M?M.enableAutoDiscovery!==void 0?{enable:M.enableAutoDiscovery,include:M.include,exclude:M.exclude}:M:C1(Gr)),{raw:Pe,options:Hx,watchOptions:X0,typeAcquisition:h0,extendedConfigPath:l1}}(Gt,lr,en,ii,bn);if(((Sa=W1.options)===null||Sa===void 0?void 0:Sa.paths)&&(W1.options.pathsBasePath=en),W1.extendedConfigPath){Tt=Tt.concat([Yn]);var cx=function(Ut,or,ut,Gr,B,h0){var M,X0,l1,Hx,ge=ut.useCaseSensitiveFileNames?or:e.toFileNameLowerCase(or);return h0&&(X0=h0.get(ge))?(l1=X0.extendedResult,Hx=X0.extendedConfig):((l1=l0(or,function(Pe){return ut.readFile(Pe)})).parseDiagnostics.length||(Hx=Ox(void 0,l1,ut,e.getDirectoryPath(or),e.getBaseFileName(or),Gr,B,h0)),h0&&h0.set(ge,{extendedResult:l1,extendedConfig:Hx})),Ut&&(Ut.extendedSourceFiles=[l1.fileName],l1.extendedSourceFiles&&(M=Ut.extendedSourceFiles).push.apply(M,l1.extendedSourceFiles)),l1.parseDiagnostics.length?void B.push.apply(B,l1.parseDiagnostics):Hx}(Gt,W1.extendedConfigPath,lr,Tt,bn,Le);if(cx&&cx.options){var E1,qx=cx.raw,xt=W1.raw,ae=function(Ut){!xt[Ut]&&qx[Ut]&&(xt[Ut]=e.map(qx[Ut],function(or){return e.isRootedDiskPath(or)?or:e.combinePaths(E1||(E1=e.convertToRelativePath(e.getDirectoryPath(W1.extendedConfigPath),en,e.createGetCanonicalFileName(lr.useCaseSensitiveFileNames))),or)}))};ae(\"include\"),ae(\"exclude\"),ae(\"files\"),xt.compileOnSave===void 0&&(xt.compileOnSave=qx.compileOnSave),W1.options=e.assign({},cx.options,W1.options),W1.watchOptions=W1.watchOptions&&cx.watchOptions?e.assign({},cx.watchOptions,W1.watchOptions):W1.watchOptions||cx.watchOptions}}return W1}function $x(dt,Gt,lr,en,ii){if(dt=e.normalizeSlashes(dt),e.isRootedDiskPath(dt)||e.startsWith(dt,\"./\")||e.startsWith(dt,\"../\")){var Tt=e.getNormalizedAbsolutePath(dt,lr);return Gt.fileExists(Tt)||e.endsWith(Tt,\".json\")||(Tt+=\".json\",Gt.fileExists(Tt))?Tt:void en.push(ii(e.Diagnostics.File_0_not_found,dt))}var bn=e.nodeModuleNameResolver(dt,e.combinePaths(lr,\"tsconfig.json\"),{moduleResolution:e.ModuleResolutionKind.NodeJs},Gt,void 0,void 0,!0);if(bn.resolvedModule)return bn.resolvedModule.resolvedFileName;en.push(ii(e.Diagnostics.File_0_not_found,dt))}function rx(dt){return dt&&e.getBaseFileName(dt)===\"jsconfig.json\"?{allowJs:!0,maxNodeModuleJsDepth:2,allowSyntheticDefaultImports:!0,skipLibCheck:!0,noEmit:!0}:{}}function O0(dt,Gt,lr,en){var ii=rx(en);return O(d1(),dt,Gt,ii,e.compilerOptionsDidYouMeanDiagnostics,lr),en&&(ii.configFilePath=e.normalizeSlashes(en)),ii}function C1(dt){return{enable:!!dt&&e.getBaseFileName(dt)===\"jsconfig.json\",include:[],exclude:[]}}function nx(dt,Gt,lr,en){var ii=C1(en),Tt=A(dt);return O(S1(),Tt,Gt,ii,H,lr),ii}function O(dt,Gt,lr,en,ii,Tt){if(Gt){for(var bn in Gt){var Le=dt.get(bn);Le?(en||(en={}))[Le.name]=b1(Le,Gt[bn],lr,Tt):Tt.push(u0(bn,ii,e.createCompilerDiagnostic))}return en}}function b1(dt,Gt,lr,en){if(Q0(dt,Gt)){var ii=dt.type;if(ii===\"list\"&&e.isArray(Gt))return function(bn,Le,Sa,Yn){return e.filter(e.map(Le,function(W1){return b1(bn.element,W1,Sa,Yn)}),function(W1){return!!W1})}(dt,Gt,lr,en);if(!e.isString(ii))return gt(dt,Gt,en);var Tt=Re(dt,Gt,en);return U0(Tt)?Tt:me(dt,lr,Tt)}en.push(e.createCompilerDiagnostic(e.Diagnostics.Compiler_option_0_requires_a_value_of_type_1,dt.name,Z1(dt)))}function Px(dt,Gt,lr){if(!U0(lr)){if(dt.type===\"list\"){var en=dt;return en.element.isFilePath||!e.isString(en.element.type)?e.filter(e.map(lr,function(ii){return Px(en.element,Gt,ii)}),function(ii){return!!ii}):lr}return e.isString(dt.type)?me(dt,Gt,lr):dt.type.get(e.isString(lr)?lr.toLowerCase():lr)}}function me(dt,Gt,lr){return dt.isFilePath&&(lr=e.getNormalizedAbsolutePath(lr,Gt))===\"\"&&(lr=\".\"),lr}function Re(dt,Gt,lr){var en;if(!U0(Gt)){var ii=(en=dt.extraValidation)===null||en===void 0?void 0:en.call(dt,Gt);if(!ii)return Gt;lr.push(e.createCompilerDiagnostic.apply(void 0,ii))}}function gt(dt,Gt,lr){if(!U0(Gt)){var en=Gt.toLowerCase(),ii=dt.type.get(en);if(ii!==void 0)return Re(dt,ii,lr);lr.push(Z(dt))}}function Vt(dt){return typeof dt.trim==\"function\"?dt.trim():dt.replace(/^[\\s]+|[\\s]+$/g,\"\")}e.convertToObject=Y0,e.convertToObjectWorker=$1,e.convertToTSConfig=function(dt,Gt,lr){var en,ii,Tt,bn=e.createGetCanonicalFileName(lr.useCaseSensitiveFileNames),Le=e.map(e.filter(dt.fileNames,((ii=(en=dt.options.configFile)===null||en===void 0?void 0:en.configFileSpecs)===null||ii===void 0?void 0:ii.validatedIncludeSpecs)?function(W1,cx,E1,qx){if(!cx)return e.returnTrue;var xt=e.getFileMatcherPatterns(W1,E1,cx,qx.useCaseSensitiveFileNames,qx.getCurrentDirectory()),ae=xt.excludePattern&&e.getRegexFromPattern(xt.excludePattern,qx.useCaseSensitiveFileNames),Ut=xt.includeFilePattern&&e.getRegexFromPattern(xt.includeFilePattern,qx.useCaseSensitiveFileNames);return Ut?ae?function(or){return!(Ut.test(or)&&!ae.test(or))}:function(or){return!Ut.test(or)}:ae?function(or){return ae.test(or)}:e.returnTrue}(Gt,dt.options.configFile.configFileSpecs.validatedIncludeSpecs,dt.options.configFile.configFileSpecs.validatedExcludeSpecs,lr):e.returnTrue),function(W1){return e.getRelativePathFromFile(e.getNormalizedAbsolutePath(Gt,lr.getCurrentDirectory()),e.getNormalizedAbsolutePath(W1,lr.getCurrentDirectory()),bn)}),Sa=G1(dt.options,{configFilePath:e.getNormalizedAbsolutePath(Gt,lr.getCurrentDirectory()),useCaseSensitiveFileNames:lr.useCaseSensitiveFileNames}),Yn=dt.watchOptions&&function(W1){return Nx(W1,k0())}(dt.watchOptions);return $($({compilerOptions:$($({},y1(Sa)),{showConfig:void 0,configFile:void 0,configFilePath:void 0,help:void 0,init:void 0,listFiles:void 0,listEmittedFiles:void 0,project:void 0,build:void 0,version:void 0}),watchOptions:Yn&&y1(Yn),references:e.map(dt.projectReferences,function(W1){return $($({},W1),{path:W1.originalPath?W1.originalPath:\"\",originalPath:void 0})}),files:e.length(Le)?Le:void 0},((Tt=dt.options.configFile)===null||Tt===void 0?void 0:Tt.configFileSpecs)?{include:k1(dt.options.configFile.configFileSpecs.validatedIncludeSpecs),exclude:dt.options.configFile.configFileSpecs.validatedExcludeSpecs}:{}),{compileOnSave:!!dt.compileOnSave||void 0})},e.generateTSConfig=function(dt,Gt,lr){var en=G1(e.extend(dt,e.defaultInitCompilerOptions));return function(){for(var Le=e.createMultiMap(),Sa=0,Yn=e.optionDeclarations;Sa<Yn.length;Sa++){var W1=Yn[Sa],cx=W1.category;bn(W1)&&Le.add(e.getLocaleSpecificMessage(cx),W1)}var E1=0,qx=0,xt=[];Le.forEach(function(l1,Hx){xt.length!==0&&xt.push({value:\"\"}),xt.push({value:\"/* \"+Hx+\" */\"});for(var ge=0,Pe=l1;ge<Pe.length;ge++){var It=Pe[ge],Kr=void 0;Kr=en.has(It.name)?'\"'+It.name+'\": '+JSON.stringify(en.get(It.name))+((qx+=1)===en.size?\"\":\",\"):'// \"'+It.name+'\": '+JSON.stringify(ii(It))+\",\",xt.push({value:Kr,description:\"/* \"+(It.description&&e.getLocaleSpecificMessage(It.description)||It.name)+\" */\"}),E1=Math.max(Kr.length,E1)}});var ae=Tt(2),Ut=[];Ut.push(\"{\"),Ut.push(ae+'\"compilerOptions\": {'),Ut.push(\"\"+ae+ae+\"/* \"+e.getLocaleSpecificMessage(e.Diagnostics.Visit_https_Colon_Slash_Slashaka_ms_Slashtsconfig_json_to_read_more_about_this_file)+\" */\"),Ut.push(\"\");for(var or=0,ut=xt;or<ut.length;or++){var Gr=ut[or],B=Gr.value,h0=Gr.description,M=h0===void 0?\"\":h0;Ut.push(B&&\"\"+ae+ae+B+(M&&Tt(E1-B.length+2)+M))}if(Gt.length){Ut.push(ae+\"},\"),Ut.push(ae+'\"files\": [');for(var X0=0;X0<Gt.length;X0++)Ut.push(\"\"+ae+ae+JSON.stringify(Gt[X0])+(X0===Gt.length-1?\"\":\",\"));Ut.push(ae+\"]\")}else Ut.push(ae+\"}\");return Ut.push(\"}\"),Ut.join(lr)+lr}();function ii(Le){switch(Le.type){case\"number\":return 1;case\"boolean\":return!0;case\"string\":return Le.isFilePath?\"./\":\"\";case\"list\":return[];case\"object\":return{};default:var Sa=Le.type.keys().next();return Sa.done?e.Debug.fail(\"Expected 'option.type' to have entries.\"):Sa.value}}function Tt(Le){return Array(Le+1).join(\" \")}function bn(Le){var Sa=Le.category,Yn=Le.name;return Sa!==void 0&&Sa!==e.Diagnostics.Command_line_Options&&(Sa!==e.Diagnostics.Advanced_Options||en.has(Yn))}},e.convertToOptionsWithAbsolutePaths=function(dt,Gt){var lr={},en=H0().optionsNameMap;for(var ii in dt)e.hasProperty(dt,ii)&&(lr[ii]=n1(en.get(ii.toLowerCase()),dt[ii],Gt));return lr.configFilePath&&(lr.configFilePath=Gt(lr.configFilePath)),lr},e.parseJsonConfigFileContent=function(dt,Gt,lr,en,ii,Tt,bn,Le,Sa){return p1(dt,void 0,Gt,lr,en,Sa,ii,Tt,bn,Le)},e.parseJsonSourceFileConfigFileContent=S0,e.setConfigFileInOptions=I0,e.canJsonReportNoInputFiles=V1,e.updateErrorForNoInputFiles=function(dt,Gt,lr,en,ii){var Tt=en.length;return N1(dt,ii)?en.push(Y1(lr,Gt)):e.filterMutate(en,function(bn){return!function(Le){return Le.code===e.Diagnostics.No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2.code}(bn)}),Tt!==en.length},e.convertCompilerOptionsFromJson=function(dt,Gt,lr){var en=[];return{options:O0(dt,Gt,en,lr),errors:en}},e.convertTypeAcquisitionFromJson=function(dt,Gt,lr){var en=[];return{options:nx(dt,Gt,en,lr),errors:en}},e.convertJsonOption=b1;var wr=/(^|\\/)\\*\\*\\/?$/,gr=/(^|\\/)\\*\\*\\/(.*\\/)?\\.\\.($|\\/)/,Nt=/\\/[^/]*?[*?][^/]*\\//,Ir=/^[^*?]*(?=\\/[^/]*[*?])/;function xr(dt,Gt,lr,en,ii){ii===void 0&&(ii=e.emptyArray),Gt=e.normalizePath(Gt);var Tt,bn=e.createGetCanonicalFileName(en.useCaseSensitiveFileNames),Le=new e.Map,Sa=new e.Map,Yn=new e.Map,W1=dt.validatedFilesSpec,cx=dt.validatedIncludeSpecs,E1=dt.validatedExcludeSpecs,qx=e.getSupportedExtensions(lr,ii),xt=e.getSuppoertedExtensionsWithJsonIfResolveJsonModule(lr,qx);if(W1)for(var ae=0,Ut=W1;ae<Ut.length;ae++){var or=Ut[ae],ut=e.getNormalizedAbsolutePath(or,Gt);Le.set(bn(ut),ut)}if(cx&&cx.length>0)for(var Gr=function(l1){if(e.fileExtensionIs(l1,\".json\")){if(!Tt){var Hx=cx.filter(function(Kr){return e.endsWith(Kr,\".json\")}),ge=e.map(e.getRegularExpressionsForWildcards(Hx,Gt,\"files\"),function(Kr){return\"^\"+Kr+\"$\"});Tt=ge?ge.map(function(Kr){return e.getRegexFromPattern(Kr,en.useCaseSensitiveFileNames)}):e.emptyArray}if(e.findIndex(Tt,function(Kr){return Kr.test(l1)})!==-1){var Pe=bn(l1);Le.has(Pe)||Yn.has(Pe)||Yn.set(Pe,l1)}return\"continue\"}if(function(Kr,pn,rn,_t,Ii){for(var Mn=e.getExtensionPriority(Kr,_t),Ka=e.adjustExtensionPriority(Mn,_t),fe=0;fe<Ka;fe++){var Fr=_t[fe],yt=Ii(e.changeExtension(Kr,Fr));if(pn.has(yt)||rn.has(yt))return!0}return!1}(l1,Le,Sa,qx,bn))return\"continue\";(function(Kr,pn,rn,_t){for(var Ii=e.getExtensionPriority(Kr,rn),Mn=e.getNextLowestExtensionPriority(Ii,rn);Mn<rn.length;Mn++){var Ka=rn[Mn],fe=_t(e.changeExtension(Kr,Ka));pn.delete(fe)}})(l1,Sa,qx,bn);var It=bn(l1);Le.has(It)||Sa.has(It)||Sa.set(It,l1)},B=0,h0=en.readDirectory(Gt,xt,E1,cx,void 0);B<h0.length;B++)Gr(ut=h0[B]);var M=e.arrayFrom(Le.values()),X0=e.arrayFrom(Sa.values());return M.concat(X0,e.arrayFrom(Yn.values()))}function Bt(dt,Gt,lr,en,ii){var Tt=e.getRegularExpressionForWildcard(Gt,e.combinePaths(e.normalizePath(en),ii),\"exclude\"),bn=Tt&&e.getRegexFromPattern(Tt,lr);return!!bn&&(!!bn.test(dt)||!e.hasExtension(dt)&&bn.test(e.ensureTrailingDirectorySeparator(dt)))}function ar(dt,Gt,lr,en,ii){return dt.filter(function(bn){if(!e.isString(bn))return!1;var Le=Ni(bn,lr);return Le!==void 0&&Gt.push(Tt.apply(void 0,Le)),Le===void 0});function Tt(bn,Le){var Sa=e.getTsConfigPropArrayElementValue(en,ii,Le);return Sa?e.createDiagnosticForNodeInSourceFile(en,Sa,bn,Le):e.createCompilerDiagnostic(bn,Le)}}function Ni(dt,Gt){return Gt&&wr.test(dt)?[e.Diagnostics.File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0,dt]:gr.test(dt)?[e.Diagnostics.File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0,dt]:void 0}function Kn(dt,Gt,lr){var en=dt.validatedIncludeSpecs,ii=dt.validatedExcludeSpecs,Tt=e.getRegularExpressionForWildcard(ii,Gt,\"exclude\"),bn=Tt&&new RegExp(Tt,lr?\"\":\"i\"),Le={};if(en!==void 0){for(var Sa=[],Yn=0,W1=en;Yn<W1.length;Yn++){var cx=W1[Yn],E1=e.normalizePath(e.combinePaths(Gt,cx));if(!bn||!bn.test(E1)){var qx=oi(E1,lr);if(qx){var xt=qx.key,ae=qx.flags,Ut=Le[xt];(Ut===void 0||Ut<ae)&&(Le[xt]=ae,ae===1&&Sa.push(xt))}}}for(var xt in Le)if(e.hasProperty(Le,xt))for(var or=0,ut=Sa;or<ut.length;or++){var Gr=ut[or];xt!==Gr&&e.containsPath(Gr,xt,Gt,!lr)&&delete Le[xt]}}return Le}function oi(dt,Gt){var lr=Ir.exec(dt);return lr?{key:Gt?lr[0]:e.toFileNameLowerCase(lr[0]),flags:Nt.test(dt)?1:0}:e.isImplicitGlob(dt)?{key:Gt?dt:e.toFileNameLowerCase(dt),flags:1}:void 0}function Ba(dt,Gt){switch(Gt.type){case\"object\":case\"string\":return\"\";case\"number\":return typeof dt==\"number\"?dt:\"\";case\"boolean\":return typeof dt==\"boolean\"?dt:\"\";case\"list\":var lr=Gt.element;return e.isArray(dt)?dt.map(function(en){return Ba(en,lr)}):\"\";default:return e.forEachEntry(Gt.type,function(en,ii){if(en===dt)return ii})}}e.getFileNamesFromConfigSpecs=xr,e.isExcludedFile=function(dt,Gt,lr,en,ii){var Tt=Gt.validatedFilesSpec,bn=Gt.validatedIncludeSpecs,Le=Gt.validatedExcludeSpecs;if(!e.length(bn)||!e.length(Le))return!1;lr=e.normalizePath(lr);var Sa=e.createGetCanonicalFileName(en);if(Tt)for(var Yn=0,W1=Tt;Yn<W1.length;Yn++){var cx=W1[Yn];if(Sa(e.getNormalizedAbsolutePath(cx,lr))===dt)return!1}return Bt(dt,Le,en,ii,lr)},e.matchesExclude=function(dt,Gt,lr,en){return Bt(dt,e.filter(Gt,function(ii){return!gr.test(ii)}),lr,en)},e.convertCompilerOptionsForTelemetry=function(dt){var Gt={};for(var lr in dt)if(dt.hasOwnProperty(lr)){var en=d0(lr);en!==void 0&&(Gt[lr]=Ba(dt[lr],en))}return Gt}}(_0||(_0={})),function(e){function s(Y1){Y1.trace(e.formatMessage.apply(void 0,arguments))}function X(Y1,N1){return!!Y1.traceResolution&&N1.trace!==void 0}function J(Y1,N1){var V1;if(N1&&Y1){var Ox=Y1.packageJsonContent;typeof Ox.name==\"string\"&&typeof Ox.version==\"string\"&&(V1={name:Ox.name,subModuleName:N1.path.slice(Y1.packageDirectory.length+e.directorySeparator.length),version:Ox.version})}return N1&&{path:N1.path,extension:N1.ext,packageId:V1}}function m0(Y1){return J(void 0,Y1)}function s1(Y1){if(Y1)return e.Debug.assert(Y1.packageId===void 0),{path:Y1.path,ext:Y1.extension}}var i0,H0;function E0(Y1){if(Y1)return e.Debug.assert(e.extensionIsTS(Y1.extension)),{fileName:Y1.path,packageId:Y1.packageId}}function I(Y1,N1,V1,Ox){var $x;return Ox?(($x=Ox.failedLookupLocations).push.apply($x,V1),Ox):{resolvedModule:Y1&&{resolvedFileName:Y1.path,originalPath:Y1.originalPath===!0?void 0:Y1.originalPath,extension:Y1.extension,isExternalLibraryImport:N1,packageId:Y1.packageId},failedLookupLocations:V1}}function A(Y1,N1,V1,Ox){if(e.hasProperty(Y1,N1)){var $x=Y1[N1];if(typeof $x===V1&&$x!==null)return $x;Ox.traceEnabled&&s(Ox.host,e.Diagnostics.Expected_type_of_0_field_in_package_json_to_be_1_got_2,N1,V1,$x===null?\"null\":typeof $x)}else Ox.traceEnabled&&s(Ox.host,e.Diagnostics.package_json_does_not_have_a_0_field,N1)}function Z(Y1,N1,V1,Ox){var $x=A(Y1,N1,\"string\",Ox);if($x!==void 0){if($x){var rx=e.normalizePath(e.combinePaths(V1,$x));return Ox.traceEnabled&&s(Ox.host,e.Diagnostics.package_json_has_0_field_1_that_references_2,N1,$x,rx),rx}Ox.traceEnabled&&s(Ox.host,e.Diagnostics.package_json_had_a_falsy_0_field,N1)}}function A0(Y1,N1,V1){return Z(Y1,\"typings\",N1,V1)||Z(Y1,\"types\",N1,V1)}function o0(Y1,N1,V1){return Z(Y1,\"main\",N1,V1)}function j(Y1,N1){var V1=function(C1,nx){var O=A(C1,\"typesVersions\",\"object\",nx);if(O!==void 0)return nx.traceEnabled&&s(nx.host,e.Diagnostics.package_json_has_a_typesVersions_field_with_version_specific_path_mappings),O}(Y1,N1);if(V1!==void 0){if(N1.traceEnabled)for(var Ox in V1)e.hasProperty(V1,Ox)&&!e.VersionRange.tryParse(Ox)&&s(N1.host,e.Diagnostics.package_json_has_a_typesVersions_entry_0_that_is_not_a_valid_semver_range,Ox);var $x=G(V1);if($x){var rx=$x.version,O0=$x.paths;if(typeof O0==\"object\")return $x;N1.traceEnabled&&s(N1.host,e.Diagnostics.Expected_type_of_0_field_in_package_json_to_be_1_got_2,\"typesVersions['\"+rx+\"']\",\"object\",typeof O0)}else N1.traceEnabled&&s(N1.host,e.Diagnostics.package_json_does_not_have_a_typesVersions_entry_that_matches_version_0,e.versionMajorMinor)}}function G(Y1){for(var N1 in H0||(H0=new e.Version(e.version)),Y1)if(e.hasProperty(Y1,N1)){var V1=e.VersionRange.tryParse(N1);if(V1!==void 0&&V1.test(H0))return{version:N1,paths:Y1[N1]}}}function u0(Y1,N1){return Y1.typeRoots?Y1.typeRoots:(Y1.configFilePath?V1=e.getDirectoryPath(Y1.configFilePath):N1.getCurrentDirectory&&(V1=N1.getCurrentDirectory()),V1!==void 0?function(Ox,$x){if(!$x.directoryExists)return[e.combinePaths(Ox,U)];var rx;return e.forEachAncestorDirectory(e.normalizePath(Ox),function(O0){var C1=e.combinePaths(O0,U);$x.directoryExists(C1)&&(rx||(rx=[])).push(C1)}),rx}(V1,N1):void 0);var V1}e.trace=s,e.isTraceEnabled=X,function(Y1){Y1[Y1.TypeScript=0]=\"TypeScript\",Y1[Y1.JavaScript=1]=\"JavaScript\",Y1[Y1.Json=2]=\"Json\",Y1[Y1.TSConfig=3]=\"TSConfig\",Y1[Y1.DtsOnly=4]=\"DtsOnly\"}(i0||(i0={})),e.getPackageJsonTypesVersionsPaths=G,e.getEffectiveTypeRoots=u0;var U=e.combinePaths(\"node_modules\",\"@types\");function g0(Y1){var N1=new e.Map,V1=new e.Map;return{getOwnMap:function(){return N1},redirectsMap:V1,getOrCreateMapOfCacheRedirects:function(Ox){if(!Ox)return N1;var $x=Ox.sourceFile.path,rx=V1.get($x);return rx||(rx=!Y1||e.optionsHaveModuleResolutionChanges(Y1,Ox.commandLine.options)?new e.Map:N1,V1.set($x,rx)),rx},clear:function(){N1.clear(),V1.clear()},setOwnOptions:function(Ox){Y1=Ox},setOwnMap:function(Ox){N1=Ox}}}function d0(Y1,N1){var V1;return{getPackageJsonInfo:function(Ox){return V1==null?void 0:V1.get(e.toPath(Ox,Y1,N1))},setPackageJsonInfo:function(Ox,$x){(V1||(V1=new e.Map)).set(e.toPath(Ox,Y1,N1),$x)},clear:function(){V1=void 0}}}function P0(Y1,N1,V1,Ox){var $x=Y1.getOrCreateMapOfCacheRedirects(N1),rx=$x.get(V1);return rx||(rx=Ox(),$x.set(V1,rx)),rx}function c0(Y1,N1,V1){if(Y1.configFile){if(N1.redirectsMap.size===0)e.Debug.assert(!V1||V1.redirectsMap.size===0),e.Debug.assert(N1.getOwnMap().size===0),e.Debug.assert(!V1||V1.getOwnMap().size===0),N1.redirectsMap.set(Y1.configFile.path,N1.getOwnMap()),V1==null||V1.redirectsMap.set(Y1.configFile.path,V1.getOwnMap());else{e.Debug.assert(!V1||V1.redirectsMap.size>0);var Ox={sourceFile:Y1.configFile,commandLine:{options:Y1}};N1.setOwnMap(N1.getOrCreateMapOfCacheRedirects(Ox)),V1==null||V1.setOwnMap(V1.getOrCreateMapOfCacheRedirects(Ox))}N1.setOwnOptions(Y1),V1==null||V1.setOwnOptions(Y1)}}function D0(Y1,N1,V1){return{getOrCreateCacheForDirectory:function(Ox,$x){var rx=e.toPath(Ox,Y1,N1);return P0(V1,$x,rx,function(){return new e.Map})},clear:function(){V1.clear()},update:function(Ox){c0(Ox,V1)}}}function x0(Y1,N1,V1,Ox,$x){var rx=function(O0,C1,nx,O){var b1=O.compilerOptions,Px=b1.baseUrl,me=b1.paths;if(me&&!e.pathIsRelative(C1))return O.traceEnabled&&(Px&&s(O.host,e.Diagnostics.baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1,Px,C1),s(O.host,e.Diagnostics.paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0,C1)),Nx(O0,C1,e.getPathsBasePath(O.compilerOptions,O.host),me,nx,!1,O)}(Y1,N1,Ox,$x);return rx?rx.value:e.isExternalModuleNameRelative(N1)?function(O0,C1,nx,O,b1){if(!!b1.compilerOptions.rootDirs){b1.traceEnabled&&s(b1.host,e.Diagnostics.rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0,C1);for(var Px,me,Re=e.normalizePath(e.combinePaths(nx,C1)),gt=0,Vt=b1.compilerOptions.rootDirs;gt<Vt.length;gt++){var wr=Vt[gt],gr=e.normalizePath(wr);e.endsWith(gr,e.directorySeparator)||(gr+=e.directorySeparator);var Nt=e.startsWith(Re,gr)&&(me===void 0||me.length<gr.length);b1.traceEnabled&&s(b1.host,e.Diagnostics.Checking_if_0_is_the_longest_matching_prefix_for_1_2,gr,Re,Nt),Nt&&(me=gr,Px=wr)}if(me){b1.traceEnabled&&s(b1.host,e.Diagnostics.Longest_matching_prefix_for_0_is_1,Re,me);var Ir=Re.substr(me.length);b1.traceEnabled&&s(b1.host,e.Diagnostics.Loading_0_from_the_root_dir_1_candidate_location_2,Ir,me,Re);var xr=O(O0,Re,!e.directoryProbablyExists(nx,b1.host),b1);if(xr)return xr;b1.traceEnabled&&s(b1.host,e.Diagnostics.Trying_other_entries_in_rootDirs);for(var Bt=0,ar=b1.compilerOptions.rootDirs;Bt<ar.length;Bt++)if((wr=ar[Bt])!==Px){var Ni=e.combinePaths(e.normalizePath(wr),Ir);b1.traceEnabled&&s(b1.host,e.Diagnostics.Loading_0_from_the_root_dir_1_candidate_location_2,Ir,wr,Ni);var Kn=e.getDirectoryPath(Ni),oi=O(O0,Ni,!e.directoryProbablyExists(Kn,b1.host),b1);if(oi)return oi}b1.traceEnabled&&s(b1.host,e.Diagnostics.Module_resolution_using_rootDirs_has_failed)}}}(Y1,N1,V1,Ox,$x):function(O0,C1,nx,O){var b1=O.compilerOptions.baseUrl;if(!!b1){O.traceEnabled&&s(O.host,e.Diagnostics.baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1,b1,C1);var Px=e.normalizePath(e.combinePaths(b1,C1));return O.traceEnabled&&s(O.host,e.Diagnostics.Resolving_module_name_0_relative_to_base_url_1_2,C1,b1,Px),nx(O0,Px,!e.directoryProbablyExists(e.getDirectoryPath(Px),O.host),O)}}(Y1,N1,Ox,$x)}e.resolveTypeReferenceDirective=function(Y1,N1,V1,Ox,$x,rx){var O0=X(V1,Ox);$x&&(V1=$x.commandLine.options);var C1=N1?e.getDirectoryPath(N1):void 0,nx=C1?rx&&rx.getOrCreateCacheForDirectory(C1,$x):void 0,O=nx&&nx.get(Y1);if(O)return O0&&(s(Ox,e.Diagnostics.Resolving_type_reference_directive_0_containing_file_1,Y1,N1),$x&&s(Ox,e.Diagnostics.Using_compiler_options_of_project_reference_redirect_0,$x.sourceFile.fileName),s(Ox,e.Diagnostics.Resolution_for_type_reference_directive_0_was_found_in_cache_from_location_1,Y1,C1),Ir(O)),O;var b1=u0(V1,Ox);O0&&(N1===void 0?b1===void 0?s(Ox,e.Diagnostics.Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set,Y1):s(Ox,e.Diagnostics.Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1,Y1,b1):b1===void 0?s(Ox,e.Diagnostics.Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set,Y1,N1):s(Ox,e.Diagnostics.Resolving_type_reference_directive_0_containing_file_1_root_directory_2,Y1,N1,b1),$x&&s(Ox,e.Diagnostics.Using_compiler_options_of_project_reference_redirect_0,$x.sourceFile.fileName));var Px,me=[],Re={compilerOptions:V1,host:Ox,traceEnabled:O0,failedLookupLocations:me,packageJsonInfoCache:rx},gt=function(){if(b1&&b1.length)return O0&&s(Ox,e.Diagnostics.Resolving_with_primary_search_path_0,b1.join(\", \")),e.firstDefined(b1,function(xr){var Bt=e.combinePaths(xr,Y1),ar=e.getDirectoryPath(Bt),Ni=e.directoryProbablyExists(ar,Ox);return!Ni&&O0&&s(Ox,e.Diagnostics.Directory_0_does_not_exist_skipping_all_lookups_in_it,ar),E0($1(i0.DtsOnly,Bt,!Ni,Re))});O0&&s(Ox,e.Diagnostics.Root_directory_cannot_be_determined_skipping_primary_search_paths)}(),Vt=!0;if(gt||(gt=function(){var xr=N1&&e.getDirectoryPath(N1);if(xr!==void 0){var Bt;if(O0&&s(Ox,e.Diagnostics.Looking_up_in_node_modules_folder_initial_location_0,xr),e.isExternalModuleNameRelative(Y1)){var ar=e.normalizePathAndParts(e.combinePaths(xr,Y1)).path;Bt=f0(i0.DtsOnly,ar,!1,Re,!0)}else{var Ni=k1(i0.DtsOnly,Y1,xr,Re,void 0,void 0);Bt=Ni&&Ni.value}return E0(Bt)}O0&&s(Ox,e.Diagnostics.Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_modules_folder)}(),Vt=!1),gt){var wr=gt.fileName,gr=gt.packageId,Nt=V1.preserveSymlinks?wr:t0(wr,Ox,O0);Px={primary:Vt,resolvedFileName:Nt,originalPath:wr===Nt?void 0:wr,packageId:gr,isExternalLibraryImport:y0(wr)}}return O={resolvedTypeReferenceDirective:Px,failedLookupLocations:me},nx==null||nx.set(Y1,O),O0&&Ir(O),O;function Ir(xr){var Bt;((Bt=xr.resolvedTypeReferenceDirective)===null||Bt===void 0?void 0:Bt.resolvedFileName)?xr.resolvedTypeReferenceDirective.packageId?s(Ox,e.Diagnostics.Type_reference_directive_0_was_successfully_resolved_to_1_with_Package_ID_2_primary_Colon_3,Y1,xr.resolvedTypeReferenceDirective.resolvedFileName,e.packageIdToString(xr.resolvedTypeReferenceDirective.packageId),xr.resolvedTypeReferenceDirective.primary):s(Ox,e.Diagnostics.Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2,Y1,xr.resolvedTypeReferenceDirective.resolvedFileName,xr.resolvedTypeReferenceDirective.primary):s(Ox,e.Diagnostics.Type_reference_directive_0_was_not_resolved,Y1)}},e.getAutomaticTypeDirectiveNames=function(Y1,N1){if(Y1.types)return Y1.types;var V1=[];if(N1.directoryExists&&N1.getDirectories){var Ox=u0(Y1,N1);if(Ox)for(var $x=0,rx=Ox;$x<rx.length;$x++){var O0=rx[$x];if(N1.directoryExists(O0))for(var C1=0,nx=N1.getDirectories(O0);C1<nx.length;C1++){var O=nx[C1],b1=e.normalizePath(O),Px=e.combinePaths(O0,b1,\"package.json\");if(!(N1.fileExists(Px)&&e.readJson(Px,N1).typings===null)){var me=e.getBaseFileName(b1);me.charCodeAt(0)!==46&&V1.push(me)}}}}return V1},e.createCacheWithRedirects=g0,e.createModuleResolutionCache=function(Y1,N1,V1,Ox,$x){var rx=D0(Y1,N1,Ox||(Ox=g0(V1)));$x||($x=g0(V1));var O0=d0(Y1,N1);return $($($({},O0),rx),{getOrCreateCacheForModuleName:function(nx,O){return e.Debug.assert(!e.isExternalModuleNameRelative(nx)),P0($x,O,nx,C1)},clear:function(){rx.clear(),$x.clear(),O0.clear()},update:function(nx){c0(nx,Ox,$x)},getPackageJsonInfoCache:function(){return O0}});function C1(){var nx=new e.Map;return{get:function(O){return nx.get(e.toPath(O,Y1,N1))},set:function(O,b1){var Px=e.toPath(O,Y1,N1);if(!nx.has(Px)){nx.set(Px,b1);for(var me=b1.resolvedModule&&(b1.resolvedModule.originalPath||b1.resolvedModule.resolvedFileName),Re=me&&function(wr,gr){for(var Nt=e.toPath(e.getDirectoryPath(gr),Y1,N1),Ir=0,xr=Math.min(wr.length,Nt.length);Ir<xr&&wr.charCodeAt(Ir)===Nt.charCodeAt(Ir);)Ir++;if(Ir===wr.length&&(Nt.length===Ir||Nt[Ir]===e.directorySeparator))return wr;var Bt=e.getRootLength(wr);if(!(Ir<Bt)){var ar=wr.lastIndexOf(e.directorySeparator,Ir-1);if(ar!==-1)return wr.substr(0,Math.max(ar,Bt))}}(Px,me),gt=Px;gt!==Re;){var Vt=e.getDirectoryPath(gt);if(Vt===gt||nx.has(Vt))break;nx.set(Vt,b1),gt=Vt}}}}}},e.createTypeReferenceDirectiveResolutionCache=function(Y1,N1,V1,Ox,$x){var rx=D0(Y1,N1,$x||($x=g0(V1)));return Ox||(Ox=d0(Y1,N1)),$($($({},Ox),rx),{clear:function(){rx.clear(),Ox.clear()}})},e.resolveModuleNameFromCache=function(Y1,N1,V1){var Ox=e.getDirectoryPath(N1),$x=V1&&V1.getOrCreateCacheForDirectory(Ox);return $x&&$x.get(Y1)},e.resolveModuleName=function(Y1,N1,V1,Ox,$x,rx){var O0=X(V1,Ox);rx&&(V1=rx.commandLine.options),O0&&(s(Ox,e.Diagnostics.Resolving_module_0_from_1,Y1,N1),rx&&s(Ox,e.Diagnostics.Using_compiler_options_of_project_reference_redirect_0,rx.sourceFile.fileName));var C1=e.getDirectoryPath(N1),nx=$x&&$x.getOrCreateCacheForDirectory(C1,rx),O=nx&&nx.get(Y1);if(O)O0&&s(Ox,e.Diagnostics.Resolution_for_module_0_was_found_in_cache_from_location_1,Y1,C1);else{var b1=V1.moduleResolution;switch(b1===void 0?(b1=e.getEmitModuleKind(V1)===e.ModuleKind.CommonJS?e.ModuleResolutionKind.NodeJs:e.ModuleResolutionKind.Classic,O0&&s(Ox,e.Diagnostics.Module_resolution_kind_is_not_specified_using_0,e.ModuleResolutionKind[b1])):O0&&s(Ox,e.Diagnostics.Explicitly_specified_module_resolution_kind_Colon_0,e.ModuleResolutionKind[b1]),e.perfLogger.logStartResolveModule(Y1),b1){case e.ModuleResolutionKind.NodeJs:O=k0(Y1,N1,V1,Ox,$x,rx);break;case e.ModuleResolutionKind.Classic:O=p0(Y1,N1,V1,Ox,$x,rx);break;default:return e.Debug.fail(\"Unexpected moduleResolution: \"+b1)}O&&O.resolvedModule&&e.perfLogger.logInfoEvent('Module \"'+Y1+'\" resolved to \"'+O.resolvedModule.resolvedFileName+'\"'),e.perfLogger.logStopResolveModule(O&&O.resolvedModule?\"\"+O.resolvedModule.resolvedFileName:\"null\"),nx&&(nx.set(Y1,O),e.isExternalModuleNameRelative(Y1)||$x.getOrCreateCacheForModuleName(Y1,rx).set(C1,O))}return O0&&(O.resolvedModule?O.resolvedModule.packageId?s(Ox,e.Diagnostics.Module_name_0_was_successfully_resolved_to_1_with_Package_ID_2,Y1,O.resolvedModule.resolvedFileName,e.packageIdToString(O.resolvedModule.packageId)):s(Ox,e.Diagnostics.Module_name_0_was_successfully_resolved_to_1,Y1,O.resolvedModule.resolvedFileName):s(Ox,e.Diagnostics.Module_name_0_was_not_resolved,Y1)),O},e.resolveJSModule=function(Y1,N1,V1){var Ox=H(Y1,N1,V1),$x=Ox.resolvedModule,rx=Ox.failedLookupLocations;if(!$x)throw new Error(\"Could not resolve JS module '\"+Y1+\"' starting at '\"+N1+\"'. Looked in: \"+rx.join(\", \"));return $x.resolvedFileName},e.tryResolveJSModule=function(Y1,N1,V1){var Ox=H(Y1,N1,V1).resolvedModule;return Ox&&Ox.resolvedFileName};var l0=[i0.JavaScript],w0=[i0.TypeScript,i0.JavaScript],V=D(D([],w0),[i0.Json]),w=[i0.TSConfig];function H(Y1,N1,V1){return V0(Y1,N1,{moduleResolution:e.ModuleResolutionKind.NodeJs,allowJs:!0},V1,void 0,l0,void 0)}function k0(Y1,N1,V1,Ox,$x,rx,O0){return V0(Y1,e.getDirectoryPath(N1),V1,Ox,$x,O0?w:V1.resolveJsonModule?V:w0,rx)}function V0(Y1,N1,V1,Ox,$x,rx,O0){var C1,nx,O=X(V1,Ox),b1=[],Px={compilerOptions:V1,host:Ox,traceEnabled:O,failedLookupLocations:b1,packageJsonInfoCache:$x},me=e.forEach(rx,function(Re){return function(gt){var Vt=x0(gt,Y1,N1,function(Kn,oi,Ba,dt){return f0(Kn,oi,Ba,dt,!0)},Px);if(Vt)return p1({resolved:Vt,isExternalLibraryImport:y0(Vt.path)});if(e.isExternalModuleNameRelative(Y1)){var wr=e.normalizePathAndParts(e.combinePaths(N1,Y1)),gr=wr.path,Nt=wr.parts,Ir=f0(gt,gr,!1,Px,!0);return Ir&&p1({resolved:Ir,isExternalLibraryImport:e.contains(Nt,\"node_modules\")})}O&&s(Ox,e.Diagnostics.Loading_module_0_from_node_modules_folder_target_file_type_1,Y1,i0[gt]);var xr=k1(gt,Y1,N1,Px,$x,O0);if(!!xr){var Bt=xr.value;if(!V1.preserveSymlinks&&Bt&&!Bt.originalPath){var ar=t0(Bt.path,Ox,O),Ni=ar===Bt.path?void 0:Bt.path;Bt=$($({},Bt),{path:ar,originalPath:Ni})}return{value:Bt&&{resolved:Bt,isExternalLibraryImport:!0}}}}(Re)});return I((C1=me==null?void 0:me.value)===null||C1===void 0?void 0:C1.resolved,(nx=me==null?void 0:me.value)===null||nx===void 0?void 0:nx.isExternalLibraryImport,b1,Px.resultFromCache)}function t0(Y1,N1,V1){if(!N1.realpath)return Y1;var Ox=e.normalizePath(N1.realpath(Y1));return V1&&s(N1,e.Diagnostics.Resolving_real_path_for_0_result_1,Y1,Ox),e.Debug.assert(N1.fileExists(Ox),Y1+\" linked to nonexistent file \"+Ox),Ox}function f0(Y1,N1,V1,Ox,$x){if(Ox.traceEnabled&&s(Ox.host,e.Diagnostics.Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_type_1,N1,i0[Y1]),!e.hasTrailingDirectorySeparator(N1)){if(!V1){var rx=e.getDirectoryPath(N1);e.directoryProbablyExists(rx,Ox.host)||(Ox.traceEnabled&&s(Ox.host,e.Diagnostics.Directory_0_does_not_exist_skipping_all_lookups_in_it,rx),V1=!0)}var O0=S1(Y1,N1,V1,Ox);if(O0){var C1=$x?G0(O0.path):void 0;return J(C1?Z1(C1,!1,Ox):void 0,O0)}}return V1||e.directoryProbablyExists(N1,Ox.host)||(Ox.traceEnabled&&s(Ox.host,e.Diagnostics.Directory_0_does_not_exist_skipping_all_lookups_in_it,N1),V1=!0),$1(Y1,N1,V1,Ox,$x)}function y0(Y1){return e.stringContains(Y1,e.nodeModulesPathPart)}function G0(Y1){var N1=e.normalizePath(Y1),V1=N1.lastIndexOf(e.nodeModulesPathPart);if(V1!==-1){var Ox=V1+e.nodeModulesPathPart.length,$x=d1(N1,Ox);return N1.charCodeAt(Ox)===64&&($x=d1(N1,$x)),N1.slice(0,$x)}}function d1(Y1,N1){var V1=Y1.indexOf(e.directorySeparator,N1+1);return V1===-1?N1:V1}function h1(Y1,N1,V1,Ox){return m0(S1(Y1,N1,V1,Ox))}function S1(Y1,N1,V1,Ox){if(Y1===i0.Json||Y1===i0.TSConfig){var $x=e.tryRemoveExtension(N1,\".json\");return $x===void 0&&Y1===i0.Json?void 0:Q1($x||N1,Y1,V1,Ox)}var rx=Q1(N1,Y1,V1,Ox);if(rx)return rx;if(e.hasJSFileExtension(N1)){var O0=e.removeFileExtension(N1);if(Ox.traceEnabled){var C1=N1.substring(O0.length);s(Ox.host,e.Diagnostics.File_name_0_has_a_1_extension_stripping_it,N1,C1)}return Q1(O0,Y1,V1,Ox)}}function Q1(Y1,N1,V1,Ox){if(!V1){var $x=e.getDirectoryPath(Y1);$x&&(V1=!e.directoryProbablyExists($x,Ox.host))}switch(N1){case i0.DtsOnly:return rx(\".d.ts\");case i0.TypeScript:return rx(\".ts\")||rx(\".tsx\")||rx(\".d.ts\");case i0.JavaScript:return rx(\".js\")||rx(\".jsx\");case i0.TSConfig:case i0.Json:return rx(\".json\")}function rx(O0){var C1=Y0(Y1+O0,V1,Ox);return C1===void 0?void 0:{path:C1,ext:O0}}}function Y0(Y1,N1,V1){if(!N1){if(V1.host.fileExists(Y1))return V1.traceEnabled&&s(V1.host,e.Diagnostics.File_0_exist_use_it_as_a_name_resolution_result,Y1),Y1;V1.traceEnabled&&s(V1.host,e.Diagnostics.File_0_does_not_exist,Y1)}V1.failedLookupLocations.push(Y1)}function $1(Y1,N1,V1,Ox,$x){$x===void 0&&($x=!0);var rx=$x?Z1(N1,V1,Ox):void 0;return J(rx,Q0(Y1,N1,V1,Ox,rx&&rx.packageJsonContent,rx&&rx.versionPaths))}function Z1(Y1,N1,V1){var Ox,$x,rx,O0=V1.host,C1=V1.traceEnabled,nx=e.combinePaths(Y1,\"package.json\");if(N1)V1.failedLookupLocations.push(nx);else{var O=(Ox=V1.packageJsonInfoCache)===null||Ox===void 0?void 0:Ox.getPackageJsonInfo(nx);if(O!==void 0)return typeof O!=\"boolean\"?(C1&&s(O0,e.Diagnostics.File_0_exists_according_to_earlier_cached_lookups,nx),O):(O&&C1&&s(O0,e.Diagnostics.File_0_does_not_exist_according_to_earlier_cached_lookups,nx),void V1.failedLookupLocations.push(nx));var b1=e.directoryProbablyExists(Y1,O0);if(b1&&O0.fileExists(nx)){var Px=e.readJson(nx,O0);C1&&s(O0,e.Diagnostics.Found_package_json_at_0,nx);var me={packageDirectory:Y1,packageJsonContent:Px,versionPaths:j(Px,V1)};return($x=V1.packageJsonInfoCache)===null||$x===void 0||$x.setPackageJsonInfo(nx,me),me}b1&&C1&&s(O0,e.Diagnostics.File_0_does_not_exist,nx),(rx=V1.packageJsonInfoCache)===null||rx===void 0||rx.setPackageJsonInfo(nx,b1),V1.failedLookupLocations.push(nx)}}function Q0(Y1,N1,V1,Ox,$x,rx){var O0;if($x)switch(Y1){case i0.JavaScript:case i0.Json:O0=o0($x,N1,Ox);break;case i0.TypeScript:O0=A0($x,N1,Ox)||o0($x,N1,Ox);break;case i0.DtsOnly:O0=A0($x,N1,Ox);break;case i0.TSConfig:O0=function(gt,Vt,wr){return Z(gt,\"tsconfig\",Vt,wr)}($x,N1,Ox);break;default:return e.Debug.assertNever(Y1)}var C1=function(gt,Vt,wr,gr){var Nt=Y0(Vt,wr,gr);if(Nt){var Ir=function(xr,Bt){var ar=e.tryGetExtensionFromPath(Bt);return ar!==void 0&&function(Ni,Kn){switch(Ni){case i0.JavaScript:return Kn===\".js\"||Kn===\".jsx\";case i0.TSConfig:case i0.Json:return Kn===\".json\";case i0.TypeScript:return Kn===\".ts\"||Kn===\".tsx\"||Kn===\".d.ts\";case i0.DtsOnly:return Kn===\".d.ts\"}}(xr,ar)?{path:Bt,ext:ar}:void 0}(gt,Nt);if(Ir)return m0(Ir);gr.traceEnabled&&s(gr.host,e.Diagnostics.File_0_has_an_unsupported_extension_so_skipping_it,Nt)}return f0(gt===i0.DtsOnly?i0.TypeScript:gt,Vt,wr,gr,!1)},nx=O0?!e.directoryProbablyExists(e.getDirectoryPath(O0),Ox.host):void 0,O=V1||!e.directoryProbablyExists(N1,Ox.host),b1=e.combinePaths(N1,Y1===i0.TSConfig?\"tsconfig\":\"index\");if(rx&&(!O0||e.containsPath(N1,O0))){var Px=e.getRelativePathFromDirectory(N1,O0||b1,!1);Ox.traceEnabled&&s(Ox.host,e.Diagnostics.package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2,rx.version,e.version,Px);var me=Nx(Y1,Px,N1,rx.paths,C1,nx||O,Ox);if(me)return s1(me.value)}var Re=O0&&s1(C1(Y1,O0,nx,Ox));return Re||S1(Y1,b1,O,Ox)}function y1(Y1){var N1=Y1.indexOf(e.directorySeparator);return Y1[0]===\"@\"&&(N1=Y1.indexOf(e.directorySeparator,N1+1)),N1===-1?{packageName:Y1,rest:\"\"}:{packageName:Y1.slice(0,N1),rest:Y1.slice(N1+1)}}function k1(Y1,N1,V1,Ox,$x,rx){return I1(Y1,N1,V1,Ox,!1,$x,rx)}function I1(Y1,N1,V1,Ox,$x,rx,O0){var C1=rx&&rx.getOrCreateCacheForModuleName(N1,O0);return e.forEachAncestorDirectory(e.normalizeSlashes(V1),function(nx){if(e.getBaseFileName(nx)!==\"node_modules\"){var O=U0(C1,N1,nx,Ox);return O||p1(K0(Y1,N1,nx,Ox,$x))}})}function K0(Y1,N1,V1,Ox,$x){var rx=e.combinePaths(V1,\"node_modules\"),O0=e.directoryProbablyExists(rx,Ox.host);!O0&&Ox.traceEnabled&&s(Ox.host,e.Diagnostics.Directory_0_does_not_exist_skipping_all_lookups_in_it,rx);var C1=$x?void 0:G1(Y1,N1,rx,O0,Ox);if(C1)return C1;if(Y1===i0.TypeScript||Y1===i0.DtsOnly){var nx=e.combinePaths(rx,\"@types\"),O=O0;return O0&&!e.directoryProbablyExists(nx,Ox.host)&&(Ox.traceEnabled&&s(Ox.host,e.Diagnostics.Directory_0_does_not_exist_skipping_all_lookups_in_it,nx),O=!1),G1(i0.DtsOnly,function(b1,Px){var me=S0(b1);return Px.traceEnabled&&me!==b1&&s(Px.host,e.Diagnostics.Scoped_package_detected_looking_in_0,me),me}(N1,Ox),nx,O,Ox)}}function G1(Y1,N1,V1,Ox,$x){var rx=e.normalizePath(e.combinePaths(V1,N1)),O0=Z1(rx,!Ox,$x);if(O0){var C1=S1(Y1,rx,!Ox,$x);if(C1)return m0(C1);var nx=Q0(Y1,rx,!Ox,$x,O0.packageJsonContent,O0.versionPaths);return J(O0,nx)}var O=function(wr,gr,Nt,Ir){var xr=S1(wr,gr,Nt,Ir)||Q0(wr,gr,Nt,Ir,O0&&O0.packageJsonContent,O0&&O0.versionPaths);return J(O0,xr)},b1=y1(N1),Px=b1.packageName,me=b1.rest;if(me!==\"\"){var Re=e.combinePaths(V1,Px);if((O0=Z1(Re,!Ox,$x))&&O0.versionPaths){$x.traceEnabled&&s($x.host,e.Diagnostics.package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2,O0.versionPaths.version,e.version,me);var gt=Ox&&e.directoryProbablyExists(Re,$x.host),Vt=Nx(Y1,me,Re,O0.versionPaths.paths,O,!gt,$x);if(Vt)return Vt.value}}return O(Y1,rx,!Ox,$x)}function Nx(Y1,N1,V1,Ox,$x,rx,O0){var C1=e.matchPatternOrExact(e.getOwnKeys(Ox),N1);if(C1){var nx=e.isString(C1)?void 0:e.matchedText(C1,N1),O=e.isString(C1)?C1:e.patternText(C1);return O0.traceEnabled&&s(O0.host,e.Diagnostics.Module_name_0_matched_pattern_1,N1,O),{value:e.forEach(Ox[O],function(b1){var Px=nx?b1.replace(\"*\",nx):b1,me=e.normalizePath(e.combinePaths(V1,Px));O0.traceEnabled&&s(O0.host,e.Diagnostics.Trying_substitution_0_candidate_module_location_Colon_1,b1,Px);var Re=e.tryGetExtensionFromPath(b1);if(Re!==void 0){var gt=Y0(me,rx,O0);if(gt!==void 0)return m0({path:gt,ext:Re})}return $x(Y1,me,rx||!e.directoryProbablyExists(e.getDirectoryPath(me),O0.host),O0)})}}}e.nodeModuleNameResolver=k0,e.nodeModulesPathPart=\"/node_modules/\",e.pathContainsNodeModules=y0,e.parseNodeModuleFromPath=G0,e.parsePackageName=y1;var n1=\"__\";function S0(Y1){if(e.startsWith(Y1,\"@\")){var N1=Y1.replace(e.directorySeparator,n1);if(N1!==Y1)return N1.slice(1)}return Y1}function I0(Y1){return e.stringContains(Y1,n1)?\"@\"+Y1.replace(n1,e.directorySeparator):Y1}function U0(Y1,N1,V1,Ox){var $x=Y1&&Y1.get(V1);if($x)return Ox.traceEnabled&&s(Ox.host,e.Diagnostics.Resolution_for_module_0_was_found_in_cache_from_location_1,N1,V1),Ox.resultFromCache=$x,{value:$x.resolvedModule&&{path:$x.resolvedModule.resolvedFileName,originalPath:$x.resolvedModule.originalPath||!0,extension:$x.resolvedModule.extension,packageId:$x.resolvedModule.packageId}}}function p0(Y1,N1,V1,Ox,$x,rx){var O0=[],C1={compilerOptions:V1,host:Ox,traceEnabled:X(V1,Ox),failedLookupLocations:O0,packageJsonInfoCache:$x},nx=e.getDirectoryPath(N1),O=b1(i0.TypeScript)||b1(i0.JavaScript);return I(O&&O.value,!1,O0,C1.resultFromCache);function b1(Px){var me=x0(Px,Y1,nx,h1,C1);if(me)return{value:me};if(e.isExternalModuleNameRelative(Y1)){var Re=e.normalizePath(e.combinePaths(nx,Y1));return p1(h1(Px,Re,!1,C1))}var gt=$x&&$x.getOrCreateCacheForModuleName(Y1,rx),Vt=e.forEachAncestorDirectory(nx,function(wr){var gr=U0(gt,Y1,wr,C1);if(gr)return gr;var Nt=e.normalizePath(e.combinePaths(wr,Y1));return p1(h1(Px,Nt,!1,C1))});return Vt||(Px===i0.TypeScript?function(wr,gr,Nt){return I1(i0.DtsOnly,wr,gr,Nt,!0,void 0,void 0)}(Y1,nx,C1):void 0)}}function p1(Y1){return Y1!==void 0?{value:Y1}:void 0}e.getTypesPackageName=function(Y1){return\"@types/\"+S0(Y1)},e.mangleScopedPackageName=S0,e.getPackageNameFromTypesPackageName=function(Y1){var N1=e.removePrefix(Y1,\"@types/\");return N1!==Y1?I0(N1):Y1},e.unmangleScopedPackageName=I0,e.classicNameResolver=p0,e.loadModuleFromGlobalCache=function(Y1,N1,V1,Ox,$x,rx){var O0=X(V1,Ox);O0&&s(Ox,e.Diagnostics.Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using_cache_location_2,N1,Y1,$x);var C1=[],nx={compilerOptions:V1,host:Ox,traceEnabled:O0,failedLookupLocations:C1,packageJsonInfoCache:rx};return I(K0(i0.DtsOnly,Y1,$x,nx,!1),!0,C1,nx.resultFromCache)}}(_0||(_0={})),function(e){var s,X;function J(Z,A0){return Z.body&&!Z.body.parent&&(e.setParent(Z.body,Z),e.setParentRecursive(Z.body,!1)),Z.body?m0(Z.body,A0):1}function m0(Z,A0){A0===void 0&&(A0=new e.Map);var o0=e.getNodeId(Z);if(A0.has(o0))return A0.get(o0)||0;A0.set(o0,void 0);var j=function(G,u0){switch(G.kind){case 254:case 255:return 0;case 256:if(e.isEnumConst(G))return 2;break;case 262:case 261:if(!e.hasSyntacticModifier(G,1))return 0;break;case 268:var U=G;if(!U.moduleSpecifier&&U.exportClause&&U.exportClause.kind===269){for(var g0=0,d0=0,P0=U.exportClause.elements;d0<P0.length;d0++){var c0=s1(P0[d0],u0);if(c0>g0&&(g0=c0),g0===1)return g0}return g0}break;case 258:var D0=0;return e.forEachChild(G,function(x0){var l0=m0(x0,u0);switch(l0){case 0:return;case 2:return void(D0=2);case 1:return D0=1,!0;default:e.Debug.assertNever(l0)}}),D0;case 257:return J(G,u0);case 78:if(G.isInJSDocNamespace)return 0}return 1}(Z,A0);return A0.set(o0,j),j}function s1(Z,A0){for(var o0=Z.propertyName||Z.name,j=Z.parent;j;){if(e.isBlock(j)||e.isModuleBlock(j)||e.isSourceFile(j)){for(var G=void 0,u0=0,U=j.statements;u0<U.length;u0++){var g0=U[u0];if(e.nodeHasName(g0,o0)){g0.parent||(e.setParent(g0,j),e.setParentRecursive(g0,!1));var d0=m0(g0,A0);if((G===void 0||d0>G)&&(G=d0),G===1)return G}}if(G!==void 0)return G}j=j.parent}return 1}function i0(Z){return e.Debug.attachFlowNodeDebugInfo(Z),Z}(s=e.ModuleInstanceState||(e.ModuleInstanceState={}))[s.NonInstantiated=0]=\"NonInstantiated\",s[s.Instantiated=1]=\"Instantiated\",s[s.ConstEnumOnly=2]=\"ConstEnumOnly\",e.getModuleInstanceState=J,function(Z){Z[Z.None=0]=\"None\",Z[Z.IsContainer=1]=\"IsContainer\",Z[Z.IsBlockScopedContainer=2]=\"IsBlockScopedContainer\",Z[Z.IsControlFlowContainer=4]=\"IsControlFlowContainer\",Z[Z.IsFunctionLike=8]=\"IsFunctionLike\",Z[Z.IsFunctionExpression=16]=\"IsFunctionExpression\",Z[Z.HasLocals=32]=\"HasLocals\",Z[Z.IsInterface=64]=\"IsInterface\",Z[Z.IsObjectLiteralOrClassExpressionMethod=128]=\"IsObjectLiteralOrClassExpressionMethod\"}(X||(X={}));var H0=function(){var Z,A0,o0,j,G,u0,U,g0,d0,P0,c0,D0,x0,l0,w0,V,w,H,k0,V0,t0,f0,y0,G0,d1=!1,h1=0,S1={flags:1},Q1={flags:1},Y0=function(){return e.createBinaryExpressionTrampoline(fe,Fr,yt,Fn,Ur,void 0);function fe(Kt,Fa){if(Fa){Fa.stackIndex++,e.setParent(Kt,j);var co=f0;or(Kt);var Us=j;j=Kt,Fa.skip=!1,Fa.inStrictModeStack[Fa.stackIndex]=co,Fa.parentStack[Fa.stackIndex]=Us}else Fa={stackIndex:0,skip:!1,inStrictModeStack:[void 0],parentStack:[void 0]};var qs=Kt.operatorToken.kind;if(qs===55||qs===56||qs===60||e.isLogicalOrCoalescingAssignmentOperator(qs)){if(Re(Kt)){var vs=N1();ar(Kt,vs,vs),c0=b1(vs)}else ar(Kt,w0,V);Fa.skip=!0}return Fa}function Fr(Kt,Fa,co){if(!Fa.skip)return fa(Kt)}function yt(Kt,Fa,co){Fa.skip||(Kt.kind===27&&Ir(co.left),qx(Kt))}function Fn(Kt,Fa,co){if(!Fa.skip)return fa(Kt)}function Ur(Kt,Fa){if(!Fa.skip){var co=Kt.operatorToken.kind;e.isAssignmentOperator(co)&&!e.isAssignmentTarget(Kt)&&(Bt(Kt.left),co===62&&Kt.left.kind===203&&Y1(Kt.left.expression)&&(c0=nx(256,c0,Kt)))}var Us=Fa.inStrictModeStack[Fa.stackIndex],qs=Fa.parentStack[Fa.stackIndex];Us!==void 0&&(f0=Us),qs!==void 0&&(j=qs),Fa.skip=!1,Fa.stackIndex--}function fa(Kt){if(Kt&&e.isBinaryExpression(Kt)&&!e.isDestructuringAssignment(Kt))return Kt;qx(Kt)}}();function $1(fe,Fr,yt,Fn,Ur){return e.createDiagnosticForNodeInSourceFile(e.getSourceFileOfNode(fe)||Z,fe,Fr,yt,Fn,Ur)}return function(fe,Fr){Z=fe,A0=Fr,o0=e.getEmitScriptTarget(A0),f0=function(yt,Fn){return!(!e.getStrictOptionValue(Fn,\"alwaysStrict\")||yt.isDeclarationFile)||!!yt.externalModuleIndicator}(Z,Fr),G0=new e.Set,h1=0,y0=e.objectAllocator.getSymbolConstructor(),e.Debug.attachFlowNodeDebugInfo(S1),e.Debug.attachFlowNodeDebugInfo(Q1),Z.locals||(qx(Z),Z.symbolCount=h1,Z.classifiableNames=G0,function(){if(d0){for(var yt=G,Fn=g0,Ur=U,fa=j,Kt=c0,Fa=0,co=d0;Fa<co.length;Fa++){var Us=co[Fa],qs=Us.parent.parent;G=e.findAncestor(qs.parent,function(rc){return!!(1&dt(rc))})||Z,U=e.getEnclosingBlockScopeContainer(qs)||Z,c0=i0({flags:2}),j=Us,qx(Us.typeExpression);var vs=e.getNameOfDeclaration(Us);if((e.isJSDocEnumTag(Us)||!Us.fullName)&&vs&&e.isPropertyAccessEntityNameExpression(vs.parent)){var sg=Kr(vs.parent);if(sg){Pe(Z.symbol,vs.parent,sg,!!e.findAncestor(vs,function(rc){return e.isPropertyAccessExpression(rc)&&rc.name.escapedText===\"prototype\"}),!1);var Cf=G;switch(e.getAssignmentDeclarationPropertyAccessKind(vs.parent)){case 1:case 2:G=e.isExternalOrCommonJsModule(Z)?Z:void 0;break;case 4:G=vs.parent.expression;break;case 3:G=vs.parent.expression.name;break;case 5:G=I(Z,vs.parent.expression)?Z:e.isPropertyAccessExpression(vs.parent.expression)?vs.parent.expression.name:vs.parent.expression;break;case 0:return e.Debug.fail(\"Shouldn't have detected typedef or enum on non-assignment declaration\")}G&&K0(Us,524288,788968),G=Cf}}else e.isJSDocEnumTag(Us)||!Us.fullName||Us.fullName.kind===78?(j=Us.parent,bn(Us,524288,788968)):qx(Us.fullName)}G=yt,g0=Fn,U=Ur,j=fa,c0=Kt}}()),Z=void 0,A0=void 0,o0=void 0,j=void 0,G=void 0,u0=void 0,U=void 0,g0=void 0,d0=void 0,P0=!1,c0=void 0,D0=void 0,x0=void 0,l0=void 0,w0=void 0,V=void 0,w=void 0,k0=void 0,V0=!1,d1=!1,t0=0};function Z1(fe,Fr){return h1++,new y0(fe,Fr)}function Q0(fe,Fr,yt){fe.flags|=yt,Fr.symbol=fe,fe.declarations=e.appendIfUnique(fe.declarations,Fr),1955&yt&&!fe.exports&&(fe.exports=e.createSymbolTable()),6240&yt&&!fe.members&&(fe.members=e.createSymbolTable()),fe.constEnumOnlyModule&&304&fe.flags&&(fe.constEnumOnlyModule=!1),111551&yt&&e.setValueDeclaration(fe,Fr)}function y1(fe){if(fe.kind===267)return fe.isExportEquals?\"export=\":\"default\";var Fr=e.getNameOfDeclaration(fe);if(Fr){if(e.isAmbientModule(fe)){var yt=e.getTextOfIdentifierOrLiteral(Fr);return e.isGlobalScopeAugmentation(fe)?\"__global\":'\"'+yt+'\"'}if(Fr.kind===159){var Fn=Fr.expression;if(e.isStringOrNumericLiteralLike(Fn))return e.escapeLeadingUnderscores(Fn.text);if(e.isSignedNumericLiteral(Fn))return e.tokenToString(Fn.operator)+Fn.operand.text;e.Debug.fail(\"Only computed properties with literal names have declaration names\")}if(e.isPrivateIdentifier(Fr)){var Ur=e.getContainingClass(fe);if(!Ur)return;var fa=Ur.symbol;return e.getSymbolNameForPrivateIdentifier(fa,Fr.escapedText)}return e.isPropertyNameLiteral(Fr)?e.getEscapedTextOfIdentifierOrLiteral(Fr):void 0}switch(fe.kind){case 167:return\"__constructor\";case 175:case 170:case 315:return\"__call\";case 176:case 171:return\"__new\";case 172:return\"__index\";case 268:return\"__export\";case 298:return\"export=\";case 217:if(e.getAssignmentDeclarationKind(fe)===2)return\"export=\";e.Debug.fail(\"Unknown binary declaration kind\");break;case 309:return e.isJSDocConstructSignature(fe)?\"__new\":\"__call\";case 161:return e.Debug.assert(fe.parent.kind===309,\"Impossible parameter parent kind\",function(){return\"parent is: \"+(e.SyntaxKind?e.SyntaxKind[fe.parent.kind]:fe.parent.kind)+\", expected JSDocFunctionType\"}),\"arg\"+fe.parent.parameters.indexOf(fe)}}function k1(fe){return e.isNamedDeclaration(fe)?e.declarationNameToString(fe.name):e.unescapeLeadingUnderscores(e.Debug.checkDefined(y1(fe)))}function I1(fe,Fr,yt,Fn,Ur,fa){e.Debug.assert(!e.hasDynamicName(yt));var Kt,Fa=e.hasSyntacticModifier(yt,512)||e.isExportSpecifier(yt)&&yt.name.escapedText===\"default\",co=Fa&&Fr?\"default\":y1(yt);if(co===void 0)Kt=Z1(0,\"__missing\");else if(Kt=fe.get(co),2885600&Fn&&G0.add(co),Kt){if(fa&&!Kt.isReplaceableByMethod)return Kt;if(Kt.flags&Ur){if(Kt.isReplaceableByMethod)fe.set(co,Kt=Z1(0,co));else if(!(3&Fn&&67108864&Kt.flags)){e.isNamedDeclaration(yt)&&e.setParent(yt.name,yt);var Us=2&Kt.flags?e.Diagnostics.Cannot_redeclare_block_scoped_variable_0:e.Diagnostics.Duplicate_identifier_0,qs=!0;(384&Kt.flags||384&Fn)&&(Us=e.Diagnostics.Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations,qs=!1);var vs=!1;e.length(Kt.declarations)&&(Fa||Kt.declarations&&Kt.declarations.length&&yt.kind===267&&!yt.isExportEquals)&&(Us=e.Diagnostics.A_module_cannot_have_multiple_default_exports,qs=!1,vs=!0);var sg=[];e.isTypeAliasDeclaration(yt)&&e.nodeIsMissing(yt.type)&&e.hasSyntacticModifier(yt,1)&&2887656&Kt.flags&&sg.push($1(yt,e.Diagnostics.Did_you_mean_0,\"export type { \"+e.unescapeLeadingUnderscores(yt.name.escapedText)+\" }\"));var Cf=e.getNameOfDeclaration(yt)||yt;e.forEach(Kt.declarations,function(K8,zl){var Xl=e.getNameOfDeclaration(K8)||K8,OF=$1(Xl,Us,qs?k1(K8):void 0);Z.bindDiagnostics.push(vs?e.addRelatedInfo(OF,$1(Cf,zl===0?e.Diagnostics.Another_export_default_is_here:e.Diagnostics.and_here)):OF),vs&&sg.push($1(Xl,e.Diagnostics.The_first_export_default_is_here))});var rc=$1(Cf,Us,qs?k1(yt):void 0);Z.bindDiagnostics.push(e.addRelatedInfo.apply(void 0,D([rc],sg))),Kt=Z1(0,co)}}}else fe.set(co,Kt=Z1(0,co)),fa&&(Kt.isReplaceableByMethod=!0);return Q0(Kt,yt,Fn),Kt.parent?e.Debug.assert(Kt.parent===Fr,\"Existing symbol parent should match new one\"):Kt.parent=Fr,Kt}function K0(fe,Fr,yt){var Fn=!!(1&e.getCombinedModifierFlags(fe))||function(Kt){if(Kt.parent&&e.isModuleDeclaration(Kt)&&(Kt=Kt.parent),!e.isJSDocTypeAlias(Kt))return!1;if(!e.isJSDocEnumTag(Kt)&&Kt.fullName)return!0;var Fa=e.getNameOfDeclaration(Kt);return!!Fa&&(!(!e.isPropertyAccessEntityNameExpression(Fa.parent)||!Kr(Fa.parent))||!!(e.isDeclaration(Fa.parent)&&1&e.getCombinedModifierFlags(Fa.parent)))}(fe);if(2097152&Fr)return fe.kind===271||fe.kind===261&&Fn?I1(G.symbol.exports,G.symbol,fe,Fr,yt):I1(G.locals,void 0,fe,Fr,yt);if(e.isJSDocTypeAlias(fe)&&e.Debug.assert(e.isInJSFile(fe)),!e.isAmbientModule(fe)&&(Fn||64&G.flags)){if(!G.locals||e.hasSyntacticModifier(fe,512)&&!y1(fe))return I1(G.symbol.exports,G.symbol,fe,Fr,yt);var Ur=111551&Fr?1048576:0,fa=I1(G.locals,void 0,fe,Ur,yt);return fa.exportSymbol=I1(G.symbol.exports,G.symbol,fe,Fr,yt),fe.localSymbol=fa,fa}return I1(G.locals,void 0,fe,Fr,yt)}function G1(fe){Nx(fe,function(Fr){return Fr.kind===252?qx(Fr):void 0}),Nx(fe,function(Fr){return Fr.kind!==252?qx(Fr):void 0})}function Nx(fe,Fr){Fr===void 0&&(Fr=qx),fe!==void 0&&e.forEach(fe,Fr)}function n1(fe){e.forEachChild(fe,qx,Nx)}function S0(fe){var Fr=d1;if(d1=!1,function(yt){if(!(1&c0.flags))return!1;if(c0===S1&&(e.isStatementButNotDeclaration(yt)&&yt.kind!==232||yt.kind===253||yt.kind===257&&function(Ur){var fa=J(Ur);return fa===1||fa===2&&e.shouldPreserveConstEnums(A0)}(yt))&&(c0=Q1,!A0.allowUnreachableCode)){var Fn=e.unreachableCodeIsError(A0)&&!(8388608&yt.flags)&&(!e.isVariableStatement(yt)||!!(3&e.getCombinedNodeFlags(yt.declarationList))||yt.declarationList.declarations.some(function(Ur){return!!Ur.initializer}));(function(Ur,fa){if(e.isStatement(Ur)&&E0(Ur)&&e.isBlock(Ur.parent)){var Kt=Ur.parent.statements,Fa=e.sliceAfter(Kt,Ur);e.getRangesWhere(Fa,E0,function(co,Us){return fa(Fa[co],Fa[Us-1])})}else fa(Ur,Ur)})(yt,function(Ur,fa){return E1(Fn,Ur,fa,e.Diagnostics.Unreachable_code_detected)})}return!0}(fe))return n1(fe),xt(fe),void(d1=Fr);switch(fe.kind>=233&&fe.kind<=249&&!A0.allowUnreachableCode&&(fe.flowNode=c0),fe.kind){case 237:(function(yt){var Fn=gr(yt,V1()),Ur=N1(),fa=N1();rx(Fn,c0),c0=Fn,Vt(yt.expression,Ur,fa),c0=b1(Ur),wr(yt.statement,fa,Fn),rx(Fn,c0),c0=b1(fa)})(fe);break;case 236:(function(yt){var Fn=V1(),Ur=gr(yt,N1()),fa=N1();rx(Fn,c0),c0=Fn,wr(yt.statement,fa,Ur),rx(Ur,c0),c0=b1(Ur),Vt(yt.expression,Fn,fa),c0=b1(fa)})(fe);break;case 238:(function(yt){var Fn=gr(yt,V1()),Ur=N1(),fa=N1();qx(yt.initializer),rx(Fn,c0),c0=Fn,Vt(yt.condition,Ur,fa),c0=b1(Ur),wr(yt.statement,fa,Fn),qx(yt.incrementor),rx(Fn,c0),c0=b1(fa)})(fe);break;case 239:case 240:(function(yt){var Fn=gr(yt,V1()),Ur=N1();qx(yt.expression),rx(Fn,c0),c0=Fn,yt.kind===240&&qx(yt.awaitModifier),rx(Ur,c0),qx(yt.initializer),yt.initializer.kind!==251&&Bt(yt.initializer),wr(yt.statement,Ur,Fn),rx(Fn,c0),c0=b1(Ur)})(fe);break;case 235:(function(yt){var Fn=N1(),Ur=N1(),fa=N1();Vt(yt.expression,Fn,Ur),c0=b1(Fn),qx(yt.thenStatement),rx(fa,c0),c0=b1(Ur),qx(yt.elseStatement),rx(fa,c0),c0=b1(fa)})(fe);break;case 243:case 247:(function(yt){qx(yt.expression),yt.kind===243&&(V0=!0,l0&&rx(l0,c0)),c0=S1})(fe);break;case 242:case 241:(function(yt){if(qx(yt.label),yt.label){var Fn=function(Ur){for(var fa=k0;fa;fa=fa.next)if(fa.name===Ur)return fa}(yt.label.escapedText);Fn&&(Fn.referenced=!0,Nt(yt,Fn.breakTarget,Fn.continueTarget))}else Nt(yt,D0,x0)})(fe);break;case 248:(function(yt){var Fn=l0,Ur=w,fa=N1(),Kt=N1(),Fa=N1();if(yt.finallyBlock&&(l0=Kt),rx(Fa,c0),w=Fa,qx(yt.tryBlock),rx(fa,c0),yt.catchClause&&(c0=b1(Fa),rx(Fa=N1(),c0),w=Fa,qx(yt.catchClause),rx(fa,c0)),l0=Fn,w=Ur,yt.finallyBlock){var co=N1();co.antecedents=e.concatenate(e.concatenate(fa.antecedents,Fa.antecedents),Kt.antecedents),c0=co,qx(yt.finallyBlock),1&c0.flags?c0=S1:(l0&&Kt.antecedents&&rx(l0,Ox(co,Kt.antecedents,c0)),w&&Fa.antecedents&&rx(w,Ox(co,Fa.antecedents,c0)),c0=fa.antecedents?Ox(co,fa.antecedents,c0):S1)}else c0=b1(fa)})(fe);break;case 245:(function(yt){var Fn=N1();qx(yt.expression);var Ur=D0,fa=H;D0=Fn,H=c0,qx(yt.caseBlock),rx(Fn,c0);var Kt=e.forEach(yt.caseBlock.clauses,function(Fa){return Fa.kind===286});yt.possiblyExhaustive=!Kt&&!Fn.antecedents,Kt||rx(Fn,C1(H,yt,0,0)),D0=Ur,H=fa,c0=b1(Fn)})(fe);break;case 259:(function(yt){for(var Fn=yt.clauses,Ur=I0(yt.parent.expression),fa=S1,Kt=0;Kt<Fn.length;Kt++){for(var Fa=Kt;!Fn[Kt].statements.length&&Kt+1<Fn.length;)qx(Fn[Kt]),Kt++;var co=N1();rx(co,Ur?C1(H,yt.parent,Fa,Kt+1):H),rx(co,fa),c0=b1(co);var Us=Fn[Kt];qx(Us),fa=c0,1&c0.flags||Kt===Fn.length-1||!A0.noFallthroughCasesInSwitch||(Us.fallthroughFlowNode=c0)}})(fe);break;case 285:(function(yt){var Fn=c0;c0=H,qx(yt.expression),c0=Fn,Nx(yt.statements)})(fe);break;case 234:(function(yt){qx(yt.expression),Ir(yt.expression)})(fe);break;case 246:(function(yt){var Fn=N1();k0={next:k0,name:yt.label.escapedText,breakTarget:Fn,continueTarget:void 0,referenced:!1},qx(yt.label),qx(yt.statement),k0.referenced||A0.allowUnusedLabels||function(Ur,fa,Kt){E1(Ur,fa,fa,Kt)}(e.unusedLabelIsError(A0),yt.label,e.Diagnostics.Unused_label),k0=k0.next,rx(Fn,c0),c0=b1(Fn)})(fe);break;case 215:(function(yt){if(yt.operator===53){var Fn=w0;w0=V,V=Fn,n1(yt),V=w0,w0=Fn}else n1(yt),yt.operator!==45&&yt.operator!==46||Bt(yt.operand)})(fe);break;case 216:(function(yt){n1(yt),(yt.operator===45||yt.operator===46)&&Bt(yt.operand)})(fe);break;case 217:if(e.isDestructuringAssignment(fe))return d1=Fr,void function(yt){d1?(d1=!1,qx(yt.operatorToken),qx(yt.right),d1=!0,qx(yt.left)):(d1=!0,qx(yt.left),d1=!1,qx(yt.operatorToken),qx(yt.right)),Bt(yt.left)}(fe);Y0(fe);break;case 211:(function(yt){n1(yt),yt.expression.kind===202&&Bt(yt.expression)})(fe);break;case 218:(function(yt){var Fn=N1(),Ur=N1(),fa=N1();Vt(yt.condition,Fn,Ur),c0=b1(Fn),qx(yt.questionToken),qx(yt.whenTrue),rx(fa,c0),c0=b1(Ur),qx(yt.colonToken),qx(yt.whenFalse),rx(fa,c0),c0=b1(fa)})(fe);break;case 250:(function(yt){n1(yt),(yt.initializer||e.isForInOrOfStatement(yt.parent.parent))&&Ni(yt)})(fe);break;case 202:case 203:(function(yt){e.isOptionalChain(yt)?Ba(yt):n1(yt)})(fe);break;case 204:(function(yt){if(e.isOptionalChain(yt))Ba(yt);else{var Fn=e.skipParentheses(yt.expression);Fn.kind===209||Fn.kind===210?(Nx(yt.typeArguments),Nx(yt.arguments),qx(yt.expression)):(n1(yt),yt.expression.kind===105&&(c0=O(c0,yt)))}if(yt.expression.kind===202){var Ur=yt.expression;e.isIdentifier(Ur.name)&&Y1(Ur.expression)&&e.isPushOrUnshiftIdentifier(Ur.name)&&(c0=nx(256,c0,yt))}})(fe);break;case 226:(function(yt){e.isOptionalChain(yt)?Ba(yt):n1(yt)})(fe);break;case 335:case 328:case 329:(function(yt){e.setParent(yt.tagName,yt),yt.kind!==329&&yt.fullName&&(e.setParent(yt.fullName,yt),e.setParentRecursive(yt.fullName,!1))})(fe);break;case 298:G1(fe.statements),qx(fe.endOfFileToken);break;case 231:case 258:G1(fe.statements);break;case 199:(function(yt){e.isBindingPattern(yt.name)?(Nx(yt.decorators),Nx(yt.modifiers),qx(yt.dotDotDotToken),qx(yt.propertyName),qx(yt.initializer),qx(yt.name)):n1(yt)})(fe);break;case 201:case 200:case 289:case 221:d1=Fr;default:n1(fe)}xt(fe),d1=Fr}function I0(fe){switch(fe.kind){case 78:case 79:case 107:case 202:case 203:return p0(fe);case 204:return function(Fr){if(Fr.arguments){for(var yt=0,Fn=Fr.arguments;yt<Fn.length;yt++)if(p0(Fn[yt]))return!0}return!!(Fr.expression.kind===202&&p0(Fr.expression.expression))}(fe);case 208:case 226:return I0(fe.expression);case 217:return function(Fr){switch(Fr.operatorToken.kind){case 62:case 74:case 75:case 76:return p0(Fr.left);case 34:case 35:case 36:case 37:return Y1(Fr.left)||Y1(Fr.right)||p1(Fr.right,Fr.left)||p1(Fr.left,Fr.right);case 101:return Y1(Fr.left);case 100:return yt=Fr.left,Fn=Fr.right,e.isStringLiteralLike(yt)&&I0(Fn);case 27:return I0(Fr.right)}var yt,Fn;return!1}(fe);case 215:return fe.operator===53&&I0(fe.operand);case 212:return I0(fe.expression)}return!1}function U0(fe){return e.isDottedName(fe)||(e.isPropertyAccessExpression(fe)||e.isNonNullExpression(fe)||e.isParenthesizedExpression(fe))&&U0(fe.expression)||e.isBinaryExpression(fe)&&fe.operatorToken.kind===27&&U0(fe.right)||e.isElementAccessExpression(fe)&&e.isStringOrNumericLiteralLike(fe.argumentExpression)&&U0(fe.expression)||e.isAssignmentExpression(fe)&&U0(fe.left)}function p0(fe){return U0(fe)||e.isOptionalChain(fe)&&p0(fe.expression)}function p1(fe,Fr){return e.isTypeOfExpression(fe)&&Y1(fe.expression)&&e.isStringLiteralLike(Fr)}function Y1(fe){switch(fe.kind){case 208:return Y1(fe.expression);case 217:switch(fe.operatorToken.kind){case 62:return Y1(fe.left);case 27:return Y1(fe.right)}}return p0(fe)}function N1(){return i0({flags:4,antecedents:void 0})}function V1(){return i0({flags:8,antecedents:void 0})}function Ox(fe,Fr,yt){return i0({flags:1024,target:fe,antecedents:Fr,antecedent:yt})}function $x(fe){fe.flags|=2048&fe.flags?4096:2048}function rx(fe,Fr){1&Fr.flags||e.contains(fe.antecedents,Fr)||((fe.antecedents||(fe.antecedents=[])).push(Fr),$x(Fr))}function O0(fe,Fr,yt){return 1&Fr.flags?Fr:yt?!(yt.kind===109&&64&fe||yt.kind===94&&32&fe)||e.isExpressionOfOptionalChainRoot(yt)||e.isNullishCoalesce(yt.parent)?I0(yt)?($x(Fr),i0({flags:fe,antecedent:Fr,node:yt})):Fr:S1:32&fe?Fr:S1}function C1(fe,Fr,yt,Fn){return $x(fe),i0({flags:128,antecedent:fe,switchStatement:Fr,clauseStart:yt,clauseEnd:Fn})}function nx(fe,Fr,yt){$x(Fr);var Fn=i0({flags:fe,antecedent:Fr,node:yt});return w&&rx(w,Fn),Fn}function O(fe,Fr){return $x(fe),i0({flags:512,antecedent:fe,node:Fr})}function b1(fe){var Fr=fe.antecedents;return Fr?Fr.length===1?Fr[0]:fe:S1}function Px(fe){for(;;)if(fe.kind===208)fe=fe.expression;else{if(fe.kind!==215||fe.operator!==53)return fe.kind===217&&(fe.operatorToken.kind===55||fe.operatorToken.kind===56||fe.operatorToken.kind===60);fe=fe.operand}}function me(fe){return fe=e.skipParentheses(fe),e.isBinaryExpression(fe)&&e.isLogicalOrCoalescingAssignmentOperator(fe.operatorToken.kind)}function Re(fe){for(;e.isParenthesizedExpression(fe.parent)||e.isPrefixUnaryExpression(fe.parent)&&fe.parent.operator===53;)fe=fe.parent;return!(function(Fr){var yt=Fr.parent;switch(yt.kind){case 235:case 237:case 236:return yt.expression===Fr;case 238:case 218:return yt.condition===Fr}return!1}(fe)||me(fe.parent)||Px(fe.parent)||e.isOptionalChain(fe.parent)&&fe.parent.expression===fe)}function gt(fe,Fr,yt,Fn){var Ur=w0,fa=V;w0=yt,V=Fn,fe(Fr),w0=Ur,V=fa}function Vt(fe,Fr,yt){gt(qx,fe,Fr,yt),fe&&(me(fe)||Px(fe)||e.isOptionalChain(fe)&&e.isOutermostOptionalChain(fe))||(rx(Fr,O0(32,c0,fe)),rx(yt,O0(64,c0,fe)))}function wr(fe,Fr,yt){var Fn=D0,Ur=x0;D0=Fr,x0=yt,qx(fe),D0=Fn,x0=Ur}function gr(fe,Fr){for(var yt=k0;yt&&fe.parent.kind===246;)yt.continueTarget=Fr,yt=yt.next,fe=fe.parent;return Fr}function Nt(fe,Fr,yt){var Fn=fe.kind===242?Fr:yt;Fn&&(rx(Fn,c0),c0=S1)}function Ir(fe){if(fe.kind===204){var Fr=fe;Fr.expression.kind!==105&&e.isDottedName(Fr.expression)&&(c0=O(c0,Fr))}}function xr(fe){fe.kind===217&&fe.operatorToken.kind===62?Bt(fe.left):Bt(fe)}function Bt(fe){if(U0(fe))c0=nx(16,c0,fe);else if(fe.kind===200)for(var Fr=0,yt=fe.elements;Fr<yt.length;Fr++){var Fn=yt[Fr];Fn.kind===221?Bt(Fn.expression):xr(Fn)}else if(fe.kind===201)for(var Ur=0,fa=fe.properties;Ur<fa.length;Ur++){var Kt=fa[Ur];Kt.kind===289?xr(Kt.initializer):Kt.kind===290?Bt(Kt.name):Kt.kind===291&&Bt(Kt.expression)}}function ar(fe,Fr,yt){var Fn=N1();fe.operatorToken.kind===55||fe.operatorToken.kind===75?Vt(fe.left,Fn,yt):Vt(fe.left,Fr,Fn),c0=b1(Fn),qx(fe.operatorToken),e.isLogicalOrCoalescingAssignmentOperator(fe.operatorToken.kind)?(gt(qx,fe.right,Fr,yt),Bt(fe.left),rx(Fr,O0(32,c0,fe)),rx(yt,O0(64,c0,fe))):Vt(fe.right,Fr,yt)}function Ni(fe){var Fr=e.isOmittedExpression(fe)?void 0:fe.name;if(e.isBindingPattern(Fr))for(var yt=0,Fn=Fr.elements;yt<Fn.length;yt++)Ni(Fn[yt]);else c0=nx(16,c0,fe)}function Kn(fe){switch(fe.kind){case 202:qx(fe.questionDotToken),qx(fe.name);break;case 203:qx(fe.questionDotToken),qx(fe.argumentExpression);break;case 204:qx(fe.questionDotToken),Nx(fe.typeArguments),Nx(fe.arguments)}}function oi(fe,Fr,yt){var Fn=e.isOptionalChainRoot(fe)?N1():void 0;(function(Ur,fa,Kt){gt(qx,Ur,fa,Kt),e.isOptionalChain(Ur)&&!e.isOutermostOptionalChain(Ur)||(rx(fa,O0(32,c0,Ur)),rx(Kt,O0(64,c0,Ur)))})(fe.expression,Fn||Fr,yt),Fn&&(c0=b1(Fn)),gt(Kn,fe,Fr,yt),e.isOutermostOptionalChain(fe)&&(rx(Fr,O0(32,c0,fe)),rx(yt,O0(64,c0,fe)))}function Ba(fe){if(Re(fe)){var Fr=N1();oi(fe,Fr,Fr),c0=b1(Fr)}else oi(fe,w0,V)}function dt(fe){switch(fe.kind){case 222:case 253:case 256:case 201:case 178:case 314:case 282:return 1;case 254:return 65;case 257:case 255:case 191:return 33;case 298:return 37;case 166:if(e.isObjectLiteralOrClassExpressionMethod(fe))return 173;case 167:case 252:case 165:case 168:case 169:case 170:case 315:case 309:case 175:case 171:case 172:case 176:return 45;case 209:case 210:return 61;case 258:return 4;case 164:return fe.initializer?4:0;case 288:case 238:case 239:case 240:case 259:return 2;case 231:return e.isFunctionLike(fe.parent)?0:2}return 0}function Gt(fe){g0&&(g0.nextContainer=fe),g0=fe}function lr(fe,Fr,yt){switch(G.kind){case 257:return K0(fe,Fr,yt);case 298:return function(Fn,Ur,fa){return e.isExternalModule(Z)?K0(Fn,Ur,fa):I1(Z.locals,void 0,Fn,Ur,fa)}(fe,Fr,yt);case 222:case 253:return function(Fn,Ur,fa){return e.hasSyntacticModifier(Fn,32)?I1(G.symbol.exports,G.symbol,Fn,Ur,fa):I1(G.symbol.members,G.symbol,Fn,Ur,fa)}(fe,Fr,yt);case 256:return I1(G.symbol.exports,G.symbol,fe,Fr,yt);case 178:case 314:case 201:case 254:case 282:return I1(G.symbol.members,G.symbol,fe,Fr,yt);case 175:case 176:case 170:case 171:case 315:case 172:case 166:case 165:case 167:case 168:case 169:case 252:case 209:case 210:case 309:case 335:case 328:case 255:case 191:return I1(G.locals,void 0,fe,Fr,yt)}}function en(fe){8388608&fe.flags&&!function(Fr){var yt=e.isSourceFile(Fr)?Fr:e.tryCast(Fr.body,e.isModuleBlock);return!!yt&&yt.statements.some(function(Fn){return e.isExportDeclaration(Fn)||e.isExportAssignment(Fn)})}(fe)?fe.flags|=64:fe.flags&=-65}function ii(fe){var Fr=J(fe),yt=Fr!==0;return lr(fe,yt?512:1024,yt?110735:0),Fr}function Tt(fe,Fr,yt){var Fn=Z1(Fr,yt);return 106508&Fr&&(Fn.parent=G.symbol),Q0(Fn,fe,Fr),Fn}function bn(fe,Fr,yt){switch(U.kind){case 257:K0(fe,Fr,yt);break;case 298:if(e.isExternalOrCommonJsModule(G)){K0(fe,Fr,yt);break}default:U.locals||(U.locals=e.createSymbolTable(),Gt(U)),I1(U.locals,void 0,fe,Fr,yt)}}function Le(fe){Z.parseDiagnostics.length||8388608&fe.flags||4194304&fe.flags||e.isIdentifierName(fe)||(f0&&fe.originalKeywordKind>=116&&fe.originalKeywordKind<=124?Z.bindDiagnostics.push($1(fe,function(Fr){return e.getContainingClass(Fr)?e.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode:Z.externalModuleIndicator?e.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode:e.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode}(fe),e.declarationNameToString(fe))):fe.originalKeywordKind===130?e.isExternalModule(Z)&&e.isInTopLevelContext(fe)?Z.bindDiagnostics.push($1(fe,e.Diagnostics.Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module,e.declarationNameToString(fe))):32768&fe.flags&&Z.bindDiagnostics.push($1(fe,e.Diagnostics.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here,e.declarationNameToString(fe))):fe.originalKeywordKind===124&&8192&fe.flags&&Z.bindDiagnostics.push($1(fe,e.Diagnostics.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here,e.declarationNameToString(fe))))}function Sa(fe,Fr){if(Fr&&Fr.kind===78){var yt=Fr;if(function(Ur){return e.isIdentifier(Ur)&&(Ur.escapedText===\"eval\"||Ur.escapedText===\"arguments\")}(yt)){var Fn=e.getErrorSpanForNode(Z,Fr);Z.bindDiagnostics.push(e.createFileDiagnostic(Z,Fn.start,Fn.length,function(Ur){return e.getContainingClass(Ur)?e.Diagnostics.Invalid_use_of_0_Class_definitions_are_automatically_in_strict_mode:Z.externalModuleIndicator?e.Diagnostics.Invalid_use_of_0_Modules_are_automatically_in_strict_mode:e.Diagnostics.Invalid_use_of_0_in_strict_mode}(fe),e.idText(yt)))}}}function Yn(fe){f0&&Sa(fe,fe.name)}function W1(fe){if(o0<2&&U.kind!==298&&U.kind!==257&&!e.isFunctionLike(U)){var Fr=e.getErrorSpanForNode(Z,fe);Z.bindDiagnostics.push(e.createFileDiagnostic(Z,Fr.start,Fr.length,function(yt){return e.getContainingClass(yt)?e.Diagnostics.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_definitions_are_automatically_in_strict_mode:Z.externalModuleIndicator?e.Diagnostics.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_are_automatically_in_strict_mode:e.Diagnostics.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5}(fe)))}}function cx(fe,Fr,yt,Fn,Ur){var fa=e.getSpanOfTokenAtPosition(Z,fe.pos);Z.bindDiagnostics.push(e.createFileDiagnostic(Z,fa.start,fa.length,Fr,yt,Fn,Ur))}function E1(fe,Fr,yt,Fn){(function(Ur,fa,Kt){var Fa=e.createFileDiagnostic(Z,fa.pos,fa.end-fa.pos,Kt);Ur?Z.bindDiagnostics.push(Fa):Z.bindSuggestionDiagnostics=e.append(Z.bindSuggestionDiagnostics,$($({},Fa),{category:e.DiagnosticCategory.Suggestion}))})(fe,{pos:e.getTokenPosOfNode(Fr,Z),end:yt.end},Fn)}function qx(fe){if(fe){e.setParent(fe,j);var Fr=f0;if(or(fe),fe.kind>157){var yt=j;j=fe;var Fn=dt(fe);Fn===0?S0(fe):function(Ur,fa){var Kt=G,Fa=u0,co=U;if(1&fa?(Ur.kind!==210&&(u0=G),G=U=Ur,32&fa&&(G.locals=e.createSymbolTable()),Gt(G)):2&fa&&((U=Ur).locals=void 0),4&fa){var Us=c0,qs=D0,vs=x0,sg=l0,Cf=w,rc=k0,K8=V0,zl=16&fa&&!e.hasSyntacticModifier(Ur,256)&&!Ur.asteriskToken&&!!e.getImmediatelyInvokedFunctionExpression(Ur);zl||(c0=i0({flags:2}),144&fa&&(c0.node=Ur)),l0=zl||Ur.kind===167||e.isInJSFile(Ur)&&(Ur.kind===252||Ur.kind===209)?N1():void 0,w=void 0,D0=void 0,x0=void 0,k0=void 0,V0=!1,S0(Ur),Ur.flags&=-2817,!(1&c0.flags)&&8&fa&&e.nodeIsPresent(Ur.body)&&(Ur.flags|=256,V0&&(Ur.flags|=512),Ur.endFlowNode=c0),Ur.kind===298&&(Ur.flags|=t0,Ur.endFlowNode=c0),l0&&(rx(l0,c0),c0=b1(l0),(Ur.kind===167||e.isInJSFile(Ur)&&(Ur.kind===252||Ur.kind===209))&&(Ur.returnFlowNode=c0)),zl||(c0=Us),D0=qs,x0=vs,l0=sg,w=Cf,k0=rc,V0=K8}else 64&fa?(P0=!1,S0(Ur),Ur.flags=P0?128|Ur.flags:-129&Ur.flags):S0(Ur);G=Kt,u0=Fa,U=co}(fe,Fn),j=yt}else yt=j,fe.kind===1&&(j=fe),xt(fe),j=yt;f0=Fr}}function xt(fe){if(e.hasJSDocNodes(fe))if(e.isInJSFile(fe))for(var Fr=0,yt=fe.jsDoc;Fr<yt.length;Fr++)qx(fa=yt[Fr]);else for(var Fn=0,Ur=fe.jsDoc;Fn<Ur.length;Fn++){var fa=Ur[Fn];e.setParent(fa,fe),e.setParentRecursive(fa,!1)}}function ae(fe){if(!f0)for(var Fr=0,yt=fe;Fr<yt.length;Fr++){var Fn=yt[Fr];if(!e.isPrologueDirective(Fn))return;if(Ut(Fn))return void(f0=!0)}}function Ut(fe){var Fr=e.getSourceTextOfNodeFromSourceFile(Z,fe.expression);return Fr==='\"use strict\"'||Fr===\"'use strict'\"}function or(fe){switch(fe.kind){case 78:if(fe.isInJSDocNamespace){for(var Fr=fe.parent;Fr&&!e.isJSDocTypeAlias(Fr);)Fr=Fr.parent;bn(Fr,524288,788968);break}case 107:return c0&&(e.isExpression(fe)||j.kind===290)&&(fe.flowNode=c0),Le(fe);case 158:c0&&j.kind===177&&(fe.flowNode=c0);break;case 227:case 105:fe.flowNode=c0;break;case 79:return function(Kt){Kt.escapedText===\"#constructor\"&&(Z.parseDiagnostics.length||Z.bindDiagnostics.push($1(Kt,e.Diagnostics.constructor_is_a_reserved_word,e.declarationNameToString(Kt))))}(fe);case 202:case 203:var yt=fe;c0&&U0(yt)&&(yt.flowNode=c0),e.isSpecialPropertyDeclaration(yt)&&function(Kt){Kt.expression.kind===107?M(Kt):e.isBindableStaticAccessExpression(Kt)&&Kt.parent.parent.kind===298&&(e.isPrototypeAccess(Kt.expression)?Hx(Kt,Kt.parent):ge(Kt))}(yt),e.isInJSFile(yt)&&Z.commonJsModuleIndicator&&e.isModuleExportsAccessExpression(yt)&&!A(U,\"module\")&&I1(Z.locals,void 0,yt.expression,134217729,111550);break;case 217:switch(e.getAssignmentDeclarationKind(fe)){case 1:B(fe);break;case 2:(function(Kt){if(!!Gr(Kt)){var Fa=e.getRightMostAssignedExpression(Kt.right);if(!(e.isEmptyObjectLiteral(Fa)||G===Z&&I(Z,Fa))){if(e.isObjectLiteralExpression(Fa)&&e.every(Fa.properties,e.isShorthandPropertyAssignment))return void e.forEach(Fa.properties,h0);var co=e.exportAssignmentIsAlias(Kt)?2097152:1049092,Us=I1(Z.symbol.exports,Z.symbol,Kt,67108864|co,0);e.setValueDeclaration(Us,Kt)}}})(fe);break;case 3:Hx(fe.left,fe);break;case 6:(function(Kt){e.setParent(Kt.left,Kt),e.setParent(Kt.right,Kt),pn(Kt.left.expression,Kt.left,!1,!0)})(fe);break;case 4:M(fe);break;case 5:var Fn=fe.left.expression;if(e.isInJSFile(fe)&&e.isIdentifier(Fn)){var Ur=A(U,Fn.escapedText);if(e.isThisInitializedDeclaration(Ur==null?void 0:Ur.valueDeclaration)){M(fe);break}}(function(Kt){var Fa,co=rn(Kt.left.expression,G)||rn(Kt.left.expression,U);if(!(!e.isInJSFile(Kt)&&!e.isFunctionSymbol(co))){var Us=e.getLeftmostAccessExpression(Kt.left);e.isIdentifier(Us)&&2097152&((Fa=A(G,Us.escapedText))===null||Fa===void 0?void 0:Fa.flags)||(e.setParent(Kt.left,Kt),e.setParent(Kt.right,Kt),e.isIdentifier(Kt.left.expression)&&G===Z&&I(Z,Kt.left.expression)?B(Kt):e.hasDynamicName(Kt)?(Tt(Kt,67108868,\"__computed\"),l1(Kt,Pe(co,Kt.left.expression,Kr(Kt.left),!1,!1))):ge(e.cast(Kt.left,e.isBindableStaticNameExpression)))}})(fe);break;case 0:break;default:e.Debug.fail(\"Unknown binary expression special property assignment kind\")}return function(Kt){f0&&e.isLeftHandSideExpression(Kt.left)&&e.isAssignmentOperator(Kt.operatorToken.kind)&&Sa(Kt,Kt.left)}(fe);case 288:return function(Kt){f0&&Kt.variableDeclaration&&Sa(Kt,Kt.variableDeclaration.name)}(fe);case 211:return function(Kt){if(f0&&Kt.expression.kind===78){var Fa=e.getErrorSpanForNode(Z,Kt.expression);Z.bindDiagnostics.push(e.createFileDiagnostic(Z,Fa.start,Fa.length,e.Diagnostics.delete_cannot_be_called_on_an_identifier_in_strict_mode))}}(fe);case 8:return function(Kt){f0&&32&Kt.numericLiteralFlags&&Z.bindDiagnostics.push($1(Kt,e.Diagnostics.Octal_literals_are_not_allowed_in_strict_mode))}(fe);case 216:return function(Kt){f0&&Sa(Kt,Kt.operand)}(fe);case 215:return function(Kt){f0&&(Kt.operator!==45&&Kt.operator!==46||Sa(Kt,Kt.operand))}(fe);case 244:return function(Kt){f0&&cx(Kt,e.Diagnostics.with_statements_are_not_allowed_in_strict_mode)}(fe);case 246:return function(Kt){f0&&A0.target>=2&&(e.isDeclarationStatement(Kt.statement)||e.isVariableStatement(Kt.statement))&&cx(Kt.label,e.Diagnostics.A_label_is_not_allowed_here)}(fe);case 188:return void(P0=!0);case 173:break;case 160:return function(Kt){if(e.isJSDocTemplateTag(Kt.parent)){var Fa=e.find(Kt.parent.parent.tags,e.isJSDocTypeAlias)||e.getHostSignatureFromJSDoc(Kt.parent);Fa?(Fa.locals||(Fa.locals=e.createSymbolTable()),I1(Fa.locals,void 0,Kt,262144,526824)):lr(Kt,262144,526824)}else if(Kt.parent.kind===186){var co=function(Us){var qs=e.findAncestor(Us,function(vs){return vs.parent&&e.isConditionalTypeNode(vs.parent)&&vs.parent.extendsType===vs});return qs&&qs.parent}(Kt.parent);co?(co.locals||(co.locals=e.createSymbolTable()),I1(co.locals,void 0,Kt,262144,526824)):Tt(Kt,262144,y1(Kt))}else lr(Kt,262144,526824)}(fe);case 161:return Mn(fe);case 250:return Ii(fe);case 199:return fe.flowNode=c0,Ii(fe);case 164:case 163:return function(Kt){return Ka(Kt,4|(Kt.questionToken?16777216:0),0)}(fe);case 289:case 290:return Ka(fe,4,0);case 292:return Ka(fe,8,900095);case 170:case 171:case 172:return lr(fe,131072,0);case 166:case 165:return Ka(fe,8192|(fe.questionToken?16777216:0),e.isObjectLiteralMethod(fe)?0:103359);case 252:return function(Kt){Z.isDeclarationFile||8388608&Kt.flags||e.isAsyncFunction(Kt)&&(t0|=2048),Yn(Kt),f0?(W1(Kt),bn(Kt,16,110991)):lr(Kt,16,110991)}(fe);case 167:return lr(fe,16384,0);case 168:return Ka(fe,32768,46015);case 169:return Ka(fe,65536,78783);case 175:case 309:case 315:case 176:return function(Kt){var Fa=Z1(131072,y1(Kt));Q0(Fa,Kt,131072);var co=Z1(2048,\"__type\");Q0(co,Kt,2048),co.members=e.createSymbolTable(),co.members.set(Fa.escapedName,Fa)}(fe);case 178:case 314:case 191:return function(Kt){return Tt(Kt,2048,\"__type\")}(fe);case 322:return function(Kt){n1(Kt);var Fa=e.getHostSignatureFromJSDoc(Kt);Fa&&Fa.kind!==166&&Q0(Fa.symbol,Fa,32)}(fe);case 201:return function(Kt){var Fa;if(function(zl){zl[zl.Property=1]=\"Property\",zl[zl.Accessor=2]=\"Accessor\"}(Fa||(Fa={})),f0&&!e.isAssignmentTarget(Kt))for(var co=new e.Map,Us=0,qs=Kt.properties;Us<qs.length;Us++){var vs=qs[Us];if(vs.kind!==291&&vs.name.kind===78){var sg=vs.name,Cf=vs.kind===289||vs.kind===290||vs.kind===166?1:2,rc=co.get(sg.escapedText);if(rc){if(Cf===1&&rc===1){var K8=e.getErrorSpanForNode(Z,sg);Z.bindDiagnostics.push(e.createFileDiagnostic(Z,K8.start,K8.length,e.Diagnostics.An_object_literal_cannot_have_multiple_properties_with_the_same_name_in_strict_mode))}}else co.set(sg.escapedText,Cf)}}return Tt(Kt,4096,\"__object\")}(fe);case 209:case 210:return function(Kt){Z.isDeclarationFile||8388608&Kt.flags||e.isAsyncFunction(Kt)&&(t0|=2048),c0&&(Kt.flowNode=c0),Yn(Kt);var Fa=Kt.name?Kt.name.escapedText:\"__function\";return Tt(Kt,16,Fa)}(fe);case 204:switch(e.getAssignmentDeclarationKind(fe)){case 7:return function(Kt){var Fa=rn(Kt.arguments[0]),co=Kt.parent.parent.kind===298;Fa=Pe(Fa,Kt.arguments[0],co,!1,!1),It(Kt,Fa,!1)}(fe);case 8:return function(Kt){if(!!Gr(Kt)){var Fa=_t(Kt.arguments[0],void 0,function(Us,qs){return qs&&Q0(qs,Us,67110400),qs});if(Fa){var co=1048580;I1(Fa.exports,Fa,Kt,co,0)}}}(fe);case 9:return function(Kt){var Fa=rn(Kt.arguments[0].expression);Fa&&Fa.valueDeclaration&&Q0(Fa,Fa.valueDeclaration,32),It(Kt,Fa,!0)}(fe);case 0:break;default:return e.Debug.fail(\"Unknown call expression assignment declaration kind\")}e.isInJSFile(fe)&&function(Kt){!Z.commonJsModuleIndicator&&e.isRequireCall(Kt,!1)&&Gr(Kt)}(fe);break;case 222:case 253:return f0=!0,function(Kt){Kt.kind===253?bn(Kt,32,899503):(Tt(Kt,32,Kt.name?Kt.name.escapedText:\"__class\"),Kt.name&&G0.add(Kt.name.escapedText));var Fa=Kt.symbol,co=Z1(4194308,\"prototype\"),Us=Fa.exports.get(co.escapedName);Us&&(Kt.name&&e.setParent(Kt.name,Kt),Z.bindDiagnostics.push($1(Us.declarations[0],e.Diagnostics.Duplicate_identifier_0,e.symbolName(co)))),Fa.exports.set(co.escapedName,co),co.parent=Fa}(fe);case 254:return bn(fe,64,788872);case 255:return bn(fe,524288,788968);case 256:return function(Kt){return e.isEnumConst(Kt)?bn(Kt,128,899967):bn(Kt,256,899327)}(fe);case 257:return function(Kt){if(en(Kt),e.isAmbientModule(Kt))if(e.hasSyntacticModifier(Kt,1)&&cx(Kt,e.Diagnostics.export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always_visible),e.isModuleAugmentationExternal(Kt))ii(Kt);else{var Fa=void 0;if(Kt.name.kind===10){var co=Kt.name.text;e.hasZeroOrOneAsteriskCharacter(co)?Fa=e.tryParsePattern(co):cx(Kt.name,e.Diagnostics.Pattern_0_can_have_at_most_one_Asterisk_character,co)}var Us=lr(Kt,512,110735);Z.patternAmbientModules=e.append(Z.patternAmbientModules,Fa&&{pattern:Fa,symbol:Us})}else{var qs=ii(Kt);qs!==0&&((Us=Kt.symbol).constEnumOnlyModule=!(304&Us.flags)&&qs===2&&Us.constEnumOnlyModule!==!1)}}(fe);case 282:return function(Kt){return Tt(Kt,4096,\"__jsxAttributes\")}(fe);case 281:return function(Kt,Fa,co){return lr(Kt,Fa,co)}(fe,4,0);case 261:case 264:case 266:case 271:return lr(fe,2097152,2097152);case 260:return function(Kt){Kt.modifiers&&Kt.modifiers.length&&Z.bindDiagnostics.push($1(Kt,e.Diagnostics.Modifiers_cannot_appear_here));var Fa=e.isSourceFile(Kt.parent)?e.isExternalModule(Kt.parent)?Kt.parent.isDeclarationFile?void 0:e.Diagnostics.Global_module_exports_may_only_appear_in_declaration_files:e.Diagnostics.Global_module_exports_may_only_appear_in_module_files:e.Diagnostics.Global_module_exports_may_only_appear_at_top_level;Fa?Z.bindDiagnostics.push($1(Kt,Fa)):(Z.symbol.globalExports=Z.symbol.globalExports||e.createSymbolTable(),I1(Z.symbol.globalExports,Z.symbol,Kt,2097152,2097152))}(fe);case 263:return function(Kt){Kt.name&&lr(Kt,2097152,2097152)}(fe);case 268:return function(Kt){G.symbol&&G.symbol.exports?Kt.exportClause?e.isNamespaceExport(Kt.exportClause)&&(e.setParent(Kt.exportClause,Kt),I1(G.symbol.exports,G.symbol,Kt.exportClause,2097152,2097152)):I1(G.symbol.exports,G.symbol,Kt,8388608,0):Tt(Kt,8388608,y1(Kt))}(fe);case 267:return function(Kt){if(G.symbol&&G.symbol.exports){var Fa=e.exportAssignmentIsAlias(Kt)?2097152:4,co=I1(G.symbol.exports,G.symbol,Kt,Fa,67108863);Kt.isExportEquals&&e.setValueDeclaration(co,Kt)}else Tt(Kt,111551,y1(Kt))}(fe);case 298:return ae(fe.statements),function(){if(en(Z),e.isExternalModule(Z))ut();else if(e.isJsonSourceFile(Z)){ut();var Kt=Z.symbol;I1(Z.symbol.exports,Z.symbol,Z,4,67108863),Z.symbol=Kt}}();case 231:if(!e.isFunctionLike(fe.parent))return;case 258:return ae(fe.statements);case 330:if(fe.parent.kind===315)return Mn(fe);if(fe.parent.kind!==314)break;case 337:var fa=fe;return lr(fa,fa.isBracketed||fa.typeExpression&&fa.typeExpression.type.kind===308?16777220:4,0);case 335:case 328:case 329:return(d0||(d0=[])).push(fe)}}function ut(){Tt(Z,512,'\"'+e.removeFileExtension(Z.fileName)+'\"')}function Gr(fe){return!Z.externalModuleIndicator&&(Z.commonJsModuleIndicator||(Z.commonJsModuleIndicator=fe,ut()),!0)}function B(fe){if(Gr(fe)){var Fr=_t(fe.left.expression,void 0,function(Fn,Ur){return Ur&&Q0(Ur,Fn,67110400),Ur});if(Fr){var yt=e.isAliasableExpression(fe.right)&&(e.isExportsIdentifier(fe.left.expression)||e.isModuleExportsAccessExpression(fe.left.expression))?2097152:1048580;e.setParent(fe.left,fe),I1(Fr.exports,Fr,fe.left,yt,0)}}}function h0(fe){I1(Z.symbol.exports,Z.symbol,fe,69206016,0)}function M(fe){if(e.Debug.assert(e.isInJSFile(fe)),!(e.isBinaryExpression(fe)&&e.isPropertyAccessExpression(fe.left)&&e.isPrivateIdentifier(fe.left.name)||e.isPropertyAccessExpression(fe)&&e.isPrivateIdentifier(fe.name))){var Fr=e.getThisContainer(fe,!1);switch(Fr.kind){case 252:case 209:var yt=Fr.symbol;if(e.isBinaryExpression(Fr.parent)&&Fr.parent.operatorToken.kind===62){var Fn=Fr.parent.left;e.isBindableStaticAccessExpression(Fn)&&e.isPrototypeAccess(Fn.expression)&&(yt=rn(Fn.expression.expression,u0))}yt&&yt.valueDeclaration&&(yt.members=yt.members||e.createSymbolTable(),e.hasDynamicName(fe)?X0(fe,yt):I1(yt.members,yt,fe,67108868,0),Q0(yt,yt.valueDeclaration,32));break;case 167:case 164:case 166:case 168:case 169:var Ur=Fr.parent,fa=e.hasSyntacticModifier(Fr,32)?Ur.symbol.exports:Ur.symbol.members;e.hasDynamicName(fe)?X0(fe,Ur.symbol):I1(fa,Ur.symbol,fe,67108868,0,!0);break;case 298:if(e.hasDynamicName(fe))break;Fr.commonJsModuleIndicator?I1(Fr.symbol.exports,Fr.symbol,fe,1048580,0):lr(fe,1,111550);break;default:e.Debug.failBadSyntaxKind(Fr)}}}function X0(fe,Fr){Tt(fe,4,\"__computed\"),l1(fe,Fr)}function l1(fe,Fr){Fr&&(Fr.assignmentDeclarationMembers||(Fr.assignmentDeclarationMembers=new e.Map)).set(e.getNodeId(fe),fe)}function Hx(fe,Fr){var yt=fe.expression,Fn=yt.expression;e.setParent(Fn,yt),e.setParent(yt,fe),e.setParent(fe,Fr),pn(Fn,fe,!0,!0)}function ge(fe){e.Debug.assert(!e.isIdentifier(fe)),e.setParent(fe.expression,fe),pn(fe.expression,fe,!1,!1)}function Pe(fe,Fr,yt,Fn,Ur){if(2097152&(fe==null?void 0:fe.flags))return fe;if(yt&&!Fn){var fa=67110400;fe=_t(Fr,fe,function(Kt,Fa,co){return Fa?(Q0(Fa,Kt,fa),Fa):I1(co?co.exports:Z.jsGlobalAugmentations||(Z.jsGlobalAugmentations=e.createSymbolTable()),co,Kt,fa,110735)})}return Ur&&fe&&fe.valueDeclaration&&Q0(fe,fe.valueDeclaration,32),fe}function It(fe,Fr,yt){if(Fr&&function(Kt){if(1072&Kt.flags)return!0;var Fa=Kt.valueDeclaration;if(Fa&&e.isCallExpression(Fa))return!!e.getAssignedExpandoInitializer(Fa);var co=Fa?e.isVariableDeclaration(Fa)?Fa.initializer:e.isBinaryExpression(Fa)?Fa.right:e.isPropertyAccessExpression(Fa)&&e.isBinaryExpression(Fa.parent)?Fa.parent.right:void 0:void 0;if(co=co&&e.getRightMostAssignedExpression(co)){var Us=e.isPrototypeAccess(e.isVariableDeclaration(Fa)?Fa.name:e.isBinaryExpression(Fa)?Fa.left:Fa);return!!e.getExpandoInitializer(!e.isBinaryExpression(co)||co.operatorToken.kind!==56&&co.operatorToken.kind!==60?co:co.right,Us)}return!1}(Fr)){var Fn=yt?Fr.members||(Fr.members=e.createSymbolTable()):Fr.exports||(Fr.exports=e.createSymbolTable()),Ur=0,fa=0;e.isFunctionLikeDeclaration(e.getAssignedExpandoInitializer(fe))?(Ur=8192,fa=103359):e.isCallExpression(fe)&&e.isBindableObjectDefinePropertyCall(fe)&&(e.some(fe.arguments[2].properties,function(Kt){var Fa=e.getNameOfDeclaration(Kt);return!!Fa&&e.isIdentifier(Fa)&&e.idText(Fa)===\"set\"})&&(Ur|=65540,fa|=78783),e.some(fe.arguments[2].properties,function(Kt){var Fa=e.getNameOfDeclaration(Kt);return!!Fa&&e.isIdentifier(Fa)&&e.idText(Fa)===\"get\"})&&(Ur|=32772,fa|=46015)),Ur===0&&(Ur=4,fa=0),I1(Fn,Fr,fe,67108864|Ur,-67108865&fa)}}function Kr(fe){return e.isBinaryExpression(fe.parent)?function(Fr){for(;e.isBinaryExpression(Fr.parent);)Fr=Fr.parent;return Fr.parent}(fe.parent).parent.kind===298:fe.parent.parent.kind===298}function pn(fe,Fr,yt,Fn){var Ur=rn(fe,G)||rn(fe,U),fa=Kr(Fr);It(Fr,Ur=Pe(Ur,Fr.expression,fa,yt,Fn),yt)}function rn(fe,Fr){if(Fr===void 0&&(Fr=G),e.isIdentifier(fe))return A(Fr,fe.escapedText);var yt=rn(fe.expression);return yt&&yt.exports&&yt.exports.get(e.getElementOrPropertyAccessName(fe))}function _t(fe,Fr,yt){if(I(Z,fe))return Z.symbol;if(e.isIdentifier(fe))return yt(fe,rn(fe),Fr);var Fn=_t(fe.expression,Fr,yt),Ur=e.getNameOrArgument(fe);return e.isPrivateIdentifier(Ur)&&e.Debug.fail(\"unexpected PrivateIdentifier\"),yt(Ur,Fn&&Fn.exports&&Fn.exports.get(e.getElementOrPropertyAccessName(fe)),Fn)}function Ii(fe){f0&&Sa(fe,fe.name),e.isBindingPattern(fe.name)||(e.isInJSFile(fe)&&e.isRequireVariableDeclaration(fe)&&!e.getJSDocTypeTag(fe)?lr(fe,2097152,2097152):e.isBlockOrCatchScoped(fe)?bn(fe,2,111551):e.isParameterDeclaration(fe)?lr(fe,1,111551):lr(fe,1,111550))}function Mn(fe){if((fe.kind!==330||G.kind===315)&&(!f0||8388608&fe.flags||Sa(fe,fe.name),e.isBindingPattern(fe.name)?Tt(fe,1,\"__\"+fe.parent.parameters.indexOf(fe)):lr(fe,1,111551),e.isParameterPropertyDeclaration(fe,fe.parent))){var Fr=fe.parent.parent;I1(Fr.symbol.members,Fr.symbol,fe,4|(fe.questionToken?16777216:0),0)}}function Ka(fe,Fr,yt){return Z.isDeclarationFile||8388608&fe.flags||!e.isAsyncFunction(fe)||(t0|=2048),c0&&e.isObjectLiteralOrClassExpressionMethod(fe)&&(fe.flowNode=c0),e.hasDynamicName(fe)?Tt(fe,Fr,\"__computed\"):lr(fe,Fr,yt)}}();function E0(Z){return!(e.isFunctionDeclaration(Z)||function(A0){switch(A0.kind){case 254:case 255:return!0;case 257:return J(A0)!==1;case 256:return e.hasSyntacticModifier(A0,2048);default:return!1}}(Z)||e.isEnumDeclaration(Z)||e.isVariableStatement(Z)&&!(3&e.getCombinedNodeFlags(Z))&&Z.declarationList.declarations.some(function(A0){return!A0.initializer}))}function I(Z,A0){for(var o0=0,j=[A0];j.length&&o0<100;){if(o0++,A0=j.shift(),e.isExportsIdentifier(A0)||e.isModuleExportsAccessExpression(A0))return!0;if(e.isIdentifier(A0)){var G=A(Z,A0.escapedText);if(G&&G.valueDeclaration&&e.isVariableDeclaration(G.valueDeclaration)&&G.valueDeclaration.initializer){var u0=G.valueDeclaration.initializer;j.push(u0),e.isAssignmentExpression(u0,!0)&&(j.push(u0.left),j.push(u0.right))}}}return!1}function A(Z,A0){var o0=Z.locals&&Z.locals.get(A0);return o0?o0.exportSymbol||o0:e.isSourceFile(Z)&&Z.jsGlobalAugmentations&&Z.jsGlobalAugmentations.has(A0)?Z.jsGlobalAugmentations.get(A0):Z.symbol&&Z.symbol.exports&&Z.symbol.exports.get(A0)}e.bindSourceFile=function(Z,A0){e.tracing===null||e.tracing===void 0||e.tracing.push(\"bind\",\"bindSourceFile\",{path:Z.path},!0),e.performance.mark(\"beforeBind\"),e.perfLogger.logStartBindFile(\"\"+Z.fileName),H0(Z,A0),e.perfLogger.logStopBindFile(),e.performance.mark(\"afterBind\"),e.performance.measure(\"Bind\",\"beforeBind\",\"afterBind\"),e.tracing===null||e.tracing===void 0||e.tracing.pop()},e.isExportsOrModuleExportsOrAlias=I}(_0||(_0={})),function(e){e.createGetSymbolWalker=function(s,X,J,m0,s1,i0,H0,E0,I,A,Z){return function(A0){A0===void 0&&(A0=function(){return!0});var o0=[],j=[];return{walkType:function(d0){try{return G(d0),{visitedTypes:e.getOwnValues(o0),visitedSymbols:e.getOwnValues(j)}}finally{e.clear(o0),e.clear(j)}},walkSymbol:function(d0){try{return g0(d0),{visitedTypes:e.getOwnValues(o0),visitedSymbols:e.getOwnValues(j)}}finally{e.clear(o0),e.clear(j)}}};function G(d0){if(d0&&!o0[d0.id]&&(o0[d0.id]=d0,!g0(d0.symbol))){if(524288&d0.flags){var P0=d0,c0=P0.objectFlags;4&c0&&function(x0){G(x0.target),e.forEach(Z(x0),G)}(d0),32&c0&&function(x0){G(x0.typeParameter),G(x0.constraintType),G(x0.templateType),G(x0.modifiersType)}(d0),3&c0&&(U(D0=d0),e.forEach(D0.typeParameters,G),e.forEach(m0(D0),G),G(D0.thisType)),24&c0&&U(P0)}var D0;262144&d0.flags&&function(x0){G(I(x0))}(d0),3145728&d0.flags&&function(x0){e.forEach(x0.types,G)}(d0),4194304&d0.flags&&function(x0){G(x0.type)}(d0),8388608&d0.flags&&function(x0){G(x0.objectType),G(x0.indexType),G(x0.constraint)}(d0)}}function u0(d0){var P0=X(d0);P0&&G(P0.type),e.forEach(d0.typeParameters,G);for(var c0=0,D0=d0.parameters;c0<D0.length;c0++)g0(D0[c0]);G(s(d0)),G(J(d0))}function U(d0){G(E0(d0,0)),G(E0(d0,1));for(var P0=s1(d0),c0=0,D0=P0.callSignatures;c0<D0.length;c0++)u0(D0[c0]);for(var x0=0,l0=P0.constructSignatures;x0<l0.length;x0++)u0(l0[x0]);for(var w0=0,V=P0.properties;w0<V.length;w0++)g0(V[w0])}function g0(d0){if(!d0)return!1;var P0=e.getSymbolId(d0);return!j[P0]&&(j[P0]=d0,!A0(d0)||(G(i0(d0)),d0.exports&&d0.exports.forEach(g0),e.forEach(d0.declarations,function(c0){if(c0.type&&c0.type.kind===177){var D0=c0.type;g0(H0(A(D0.exprName)))}}),!1))}}}}(_0||(_0={})),function(e){var s,X,J,m0,s1=/^\".+\"$/,i0=\"(anonymous)\",H0=1,E0=1,I=1,A=1;(function(Y0){Y0[Y0.AllowsSyncIterablesFlag=1]=\"AllowsSyncIterablesFlag\",Y0[Y0.AllowsAsyncIterablesFlag=2]=\"AllowsAsyncIterablesFlag\",Y0[Y0.AllowsStringInputFlag=4]=\"AllowsStringInputFlag\",Y0[Y0.ForOfFlag=8]=\"ForOfFlag\",Y0[Y0.YieldStarFlag=16]=\"YieldStarFlag\",Y0[Y0.SpreadFlag=32]=\"SpreadFlag\",Y0[Y0.DestructuringFlag=64]=\"DestructuringFlag\",Y0[Y0.PossiblyOutOfBounds=128]=\"PossiblyOutOfBounds\",Y0[Y0.Element=1]=\"Element\",Y0[Y0.Spread=33]=\"Spread\",Y0[Y0.Destructuring=65]=\"Destructuring\",Y0[Y0.ForOf=13]=\"ForOf\",Y0[Y0.ForAwaitOf=15]=\"ForAwaitOf\",Y0[Y0.YieldStar=17]=\"YieldStar\",Y0[Y0.AsyncYieldStar=19]=\"AsyncYieldStar\",Y0[Y0.GeneratorReturnType=1]=\"GeneratorReturnType\",Y0[Y0.AsyncGeneratorReturnType=2]=\"AsyncGeneratorReturnType\"})(s||(s={})),function(Y0){Y0[Y0.Yield=0]=\"Yield\",Y0[Y0.Return=1]=\"Return\",Y0[Y0.Next=2]=\"Next\"}(X||(X={})),function(Y0){Y0[Y0.Normal=0]=\"Normal\",Y0[Y0.FunctionReturn=1]=\"FunctionReturn\",Y0[Y0.GeneratorNext=2]=\"GeneratorNext\",Y0[Y0.GeneratorYield=3]=\"GeneratorYield\"}(J||(J={})),function(Y0){Y0[Y0.None=0]=\"None\",Y0[Y0.TypeofEQString=1]=\"TypeofEQString\",Y0[Y0.TypeofEQNumber=2]=\"TypeofEQNumber\",Y0[Y0.TypeofEQBigInt=4]=\"TypeofEQBigInt\",Y0[Y0.TypeofEQBoolean=8]=\"TypeofEQBoolean\",Y0[Y0.TypeofEQSymbol=16]=\"TypeofEQSymbol\",Y0[Y0.TypeofEQObject=32]=\"TypeofEQObject\",Y0[Y0.TypeofEQFunction=64]=\"TypeofEQFunction\",Y0[Y0.TypeofEQHostObject=128]=\"TypeofEQHostObject\",Y0[Y0.TypeofNEString=256]=\"TypeofNEString\",Y0[Y0.TypeofNENumber=512]=\"TypeofNENumber\",Y0[Y0.TypeofNEBigInt=1024]=\"TypeofNEBigInt\",Y0[Y0.TypeofNEBoolean=2048]=\"TypeofNEBoolean\",Y0[Y0.TypeofNESymbol=4096]=\"TypeofNESymbol\",Y0[Y0.TypeofNEObject=8192]=\"TypeofNEObject\",Y0[Y0.TypeofNEFunction=16384]=\"TypeofNEFunction\",Y0[Y0.TypeofNEHostObject=32768]=\"TypeofNEHostObject\",Y0[Y0.EQUndefined=65536]=\"EQUndefined\",Y0[Y0.EQNull=131072]=\"EQNull\",Y0[Y0.EQUndefinedOrNull=262144]=\"EQUndefinedOrNull\",Y0[Y0.NEUndefined=524288]=\"NEUndefined\",Y0[Y0.NENull=1048576]=\"NENull\",Y0[Y0.NEUndefinedOrNull=2097152]=\"NEUndefinedOrNull\",Y0[Y0.Truthy=4194304]=\"Truthy\",Y0[Y0.Falsy=8388608]=\"Falsy\",Y0[Y0.All=16777215]=\"All\",Y0[Y0.BaseStringStrictFacts=3735041]=\"BaseStringStrictFacts\",Y0[Y0.BaseStringFacts=12582401]=\"BaseStringFacts\",Y0[Y0.StringStrictFacts=16317953]=\"StringStrictFacts\",Y0[Y0.StringFacts=16776705]=\"StringFacts\",Y0[Y0.EmptyStringStrictFacts=12123649]=\"EmptyStringStrictFacts\",Y0[Y0.EmptyStringFacts=12582401]=\"EmptyStringFacts\",Y0[Y0.NonEmptyStringStrictFacts=7929345]=\"NonEmptyStringStrictFacts\",Y0[Y0.NonEmptyStringFacts=16776705]=\"NonEmptyStringFacts\",Y0[Y0.BaseNumberStrictFacts=3734786]=\"BaseNumberStrictFacts\",Y0[Y0.BaseNumberFacts=12582146]=\"BaseNumberFacts\",Y0[Y0.NumberStrictFacts=16317698]=\"NumberStrictFacts\",Y0[Y0.NumberFacts=16776450]=\"NumberFacts\",Y0[Y0.ZeroNumberStrictFacts=12123394]=\"ZeroNumberStrictFacts\",Y0[Y0.ZeroNumberFacts=12582146]=\"ZeroNumberFacts\",Y0[Y0.NonZeroNumberStrictFacts=7929090]=\"NonZeroNumberStrictFacts\",Y0[Y0.NonZeroNumberFacts=16776450]=\"NonZeroNumberFacts\",Y0[Y0.BaseBigIntStrictFacts=3734276]=\"BaseBigIntStrictFacts\",Y0[Y0.BaseBigIntFacts=12581636]=\"BaseBigIntFacts\",Y0[Y0.BigIntStrictFacts=16317188]=\"BigIntStrictFacts\",Y0[Y0.BigIntFacts=16775940]=\"BigIntFacts\",Y0[Y0.ZeroBigIntStrictFacts=12122884]=\"ZeroBigIntStrictFacts\",Y0[Y0.ZeroBigIntFacts=12581636]=\"ZeroBigIntFacts\",Y0[Y0.NonZeroBigIntStrictFacts=7928580]=\"NonZeroBigIntStrictFacts\",Y0[Y0.NonZeroBigIntFacts=16775940]=\"NonZeroBigIntFacts\",Y0[Y0.BaseBooleanStrictFacts=3733256]=\"BaseBooleanStrictFacts\",Y0[Y0.BaseBooleanFacts=12580616]=\"BaseBooleanFacts\",Y0[Y0.BooleanStrictFacts=16316168]=\"BooleanStrictFacts\",Y0[Y0.BooleanFacts=16774920]=\"BooleanFacts\",Y0[Y0.FalseStrictFacts=12121864]=\"FalseStrictFacts\",Y0[Y0.FalseFacts=12580616]=\"FalseFacts\",Y0[Y0.TrueStrictFacts=7927560]=\"TrueStrictFacts\",Y0[Y0.TrueFacts=16774920]=\"TrueFacts\",Y0[Y0.SymbolStrictFacts=7925520]=\"SymbolStrictFacts\",Y0[Y0.SymbolFacts=16772880]=\"SymbolFacts\",Y0[Y0.ObjectStrictFacts=7888800]=\"ObjectStrictFacts\",Y0[Y0.ObjectFacts=16736160]=\"ObjectFacts\",Y0[Y0.FunctionStrictFacts=7880640]=\"FunctionStrictFacts\",Y0[Y0.FunctionFacts=16728e3]=\"FunctionFacts\",Y0[Y0.UndefinedFacts=9830144]=\"UndefinedFacts\",Y0[Y0.NullFacts=9363232]=\"NullFacts\",Y0[Y0.EmptyObjectStrictFacts=16318463]=\"EmptyObjectStrictFacts\",Y0[Y0.AllTypeofNE=556800]=\"AllTypeofNE\",Y0[Y0.EmptyObjectFacts=16777215]=\"EmptyObjectFacts\"}(m0||(m0={}));var Z,A0,o0,j,G,u0,U,g0,d0,P0=new e.Map(e.getEntries({string:1,number:2,bigint:4,boolean:8,symbol:16,undefined:65536,object:32,function:64})),c0=new e.Map(e.getEntries({string:256,number:512,bigint:1024,boolean:2048,symbol:4096,undefined:524288,object:8192,function:16384}));(function(Y0){Y0[Y0.Type=0]=\"Type\",Y0[Y0.ResolvedBaseConstructorType=1]=\"ResolvedBaseConstructorType\",Y0[Y0.DeclaredType=2]=\"DeclaredType\",Y0[Y0.ResolvedReturnType=3]=\"ResolvedReturnType\",Y0[Y0.ImmediateBaseConstraint=4]=\"ImmediateBaseConstraint\",Y0[Y0.EnumTagType=5]=\"EnumTagType\",Y0[Y0.ResolvedTypeArguments=6]=\"ResolvedTypeArguments\",Y0[Y0.ResolvedBaseTypes=7]=\"ResolvedBaseTypes\"})(Z||(Z={})),function(Y0){Y0[Y0.Normal=0]=\"Normal\",Y0[Y0.Contextual=1]=\"Contextual\",Y0[Y0.Inferential=2]=\"Inferential\",Y0[Y0.SkipContextSensitive=4]=\"SkipContextSensitive\",Y0[Y0.SkipGenericFunctions=8]=\"SkipGenericFunctions\",Y0[Y0.IsForSignatureHelp=16]=\"IsForSignatureHelp\"}(A0||(A0={})),function(Y0){Y0[Y0.None=0]=\"None\",Y0[Y0.NoIndexSignatures=1]=\"NoIndexSignatures\",Y0[Y0.Writing=2]=\"Writing\",Y0[Y0.CacheSymbol=4]=\"CacheSymbol\",Y0[Y0.NoTupleBoundsCheck=8]=\"NoTupleBoundsCheck\",Y0[Y0.ExpressionPosition=16]=\"ExpressionPosition\"}(o0||(o0={})),function(Y0){Y0[Y0.BivariantCallback=1]=\"BivariantCallback\",Y0[Y0.StrictCallback=2]=\"StrictCallback\",Y0[Y0.IgnoreReturnTypes=4]=\"IgnoreReturnTypes\",Y0[Y0.StrictArity=8]=\"StrictArity\",Y0[Y0.Callback=3]=\"Callback\"}(j||(j={})),function(Y0){Y0[Y0.None=0]=\"None\",Y0[Y0.Source=1]=\"Source\",Y0[Y0.Target=2]=\"Target\",Y0[Y0.PropertyCheck=4]=\"PropertyCheck\",Y0[Y0.UnionIntersectionCheck=8]=\"UnionIntersectionCheck\",Y0[Y0.InPropertyCheck=16]=\"InPropertyCheck\"}(G||(G={})),function(Y0){Y0[Y0.IncludeReadonly=1]=\"IncludeReadonly\",Y0[Y0.ExcludeReadonly=2]=\"ExcludeReadonly\",Y0[Y0.IncludeOptional=4]=\"IncludeOptional\",Y0[Y0.ExcludeOptional=8]=\"ExcludeOptional\"}(u0||(u0={})),function(Y0){Y0[Y0.None=0]=\"None\",Y0[Y0.Source=1]=\"Source\",Y0[Y0.Target=2]=\"Target\",Y0[Y0.Both=3]=\"Both\"}(U||(U={})),function(Y0){Y0.resolvedExports=\"resolvedExports\",Y0.resolvedMembers=\"resolvedMembers\"}(g0||(g0={})),function(Y0){Y0[Y0.Local=0]=\"Local\",Y0[Y0.Parameter=1]=\"Parameter\"}(d0||(d0={}));var D0,x0,l0,w0,V=e.and(G0,function(Y0){return!e.isAccessor(Y0)});(function(Y0){Y0[Y0.GetAccessor=1]=\"GetAccessor\",Y0[Y0.SetAccessor=2]=\"SetAccessor\",Y0[Y0.PropertyAssignment=4]=\"PropertyAssignment\",Y0[Y0.Method=8]=\"Method\",Y0[Y0.PrivateStatic=16]=\"PrivateStatic\",Y0[Y0.GetOrSetAccessor=3]=\"GetOrSetAccessor\",Y0[Y0.PropertyAssignmentOrMethod=12]=\"PropertyAssignmentOrMethod\"})(D0||(D0={})),function(Y0){Y0[Y0.None=0]=\"None\",Y0[Y0.ExportValue=1]=\"ExportValue\",Y0[Y0.ExportType=2]=\"ExportType\",Y0[Y0.ExportNamespace=4]=\"ExportNamespace\"}(x0||(x0={})),function(Y0){Y0[Y0.None=0]=\"None\",Y0[Y0.StrongArityForUntypedJS=1]=\"StrongArityForUntypedJS\",Y0[Y0.VoidIsNonOptional=2]=\"VoidIsNonOptional\"}(l0||(l0={})),function(Y0){Y0[Y0.Uppercase=0]=\"Uppercase\",Y0[Y0.Lowercase=1]=\"Lowercase\",Y0[Y0.Capitalize=2]=\"Capitalize\",Y0[Y0.Uncapitalize=3]=\"Uncapitalize\"}(w0||(w0={}));var w,H=new e.Map(e.getEntries({Uppercase:0,Lowercase:1,Capitalize:2,Uncapitalize:3}));function k0(){}function V0(){this.flags=0}function t0(Y0){return Y0.id||(Y0.id=E0,E0++),Y0.id}function f0(Y0){return Y0.id||(Y0.id=H0,H0++),Y0.id}function y0(Y0,$1){var Z1=e.getModuleInstanceState(Y0);return Z1===1||$1&&Z1===2}function G0(Y0){return Y0.kind!==252&&Y0.kind!==166||!!Y0.body}function d1(Y0){switch(Y0.parent.kind){case 266:case 271:return e.isIdentifier(Y0);default:return e.isDeclarationName(Y0)}}function h1(Y0){switch(Y0){case 0:return\"yieldType\";case 1:return\"returnType\";case 2:return\"nextType\"}}function S1(Y0){return!!(1&Y0.flags)}function Q1(Y0){return!!(2&Y0.flags)}e.getNodeId=t0,e.getSymbolId=f0,e.isInstantiatedModule=y0,e.createTypeChecker=function(Y0,$1){var Z1,Q0,y1,k1,I1=e.memoize(function(){var r=new e.Set;return Y0.getSourceFiles().forEach(function(f){f.resolvedModules&&e.forEachEntry(f.resolvedModules,function(g){g&&g.packageId&&r.add(g.packageId.name)})}),r}),K0=e.objectAllocator.getSymbolConstructor(),G1=e.objectAllocator.getTypeConstructor(),Nx=e.objectAllocator.getSignatureConstructor(),n1=0,S0=0,I0=0,U0=0,p0=0,p1=0,Y1=e.createSymbolTable(),N1=[1],V1=Y0.getCompilerOptions(),Ox=e.getEmitScriptTarget(V1),$x=e.getEmitModuleKind(V1),rx=e.getUseDefineForClassFields(V1),O0=e.getAllowSyntheticDefaultImports(V1),C1=e.getStrictOptionValue(V1,\"strictNullChecks\"),nx=e.getStrictOptionValue(V1,\"strictFunctionTypes\"),O=e.getStrictOptionValue(V1,\"strictBindCallApply\"),b1=e.getStrictOptionValue(V1,\"strictPropertyInitialization\"),Px=e.getStrictOptionValue(V1,\"noImplicitAny\"),me=e.getStrictOptionValue(V1,\"noImplicitThis\"),Re=!!V1.keyofStringsOnly,gt=V1.suppressExcessPropertyErrors?0:16384,Vt=function(){var r=e.createBinaryExpressionTrampoline(function(q,T0,u1){return T0?(T0.stackIndex++,T0.skip=!1,g(T0,void 0),F(T0,void 0)):T0={checkMode:u1,skip:!1,stackIndex:0,typeStack:[void 0,void 0]},e.isInJSFile(q)&&e.getAssignedExpandoInitializer(q)?(T0.skip=!0,F(T0,Js(q.right,u1)),T0):(function(M1){var A1=M1.left,lx=M1.operatorToken,Vx=M1.right;lx.kind===60&&(!e.isBinaryExpression(A1)||A1.operatorToken.kind!==56&&A1.operatorToken.kind!==55||wo(A1,e.Diagnostics._0_and_1_operations_cannot_be_mixed_without_parentheses,e.tokenToString(A1.operatorToken.kind),e.tokenToString(lx.kind)),!e.isBinaryExpression(Vx)||Vx.operatorToken.kind!==56&&Vx.operatorToken.kind!==55||wo(Vx,e.Diagnostics._0_and_1_operations_cannot_be_mixed_without_parentheses,e.tokenToString(Vx.operatorToken.kind),e.tokenToString(lx.kind)))}(q),q.operatorToken.kind===62&&(q.left.kind===201||q.left.kind===200)&&(T0.skip=!0,F(T0,pN(q.left,Js(q.right,u1),u1,q.right.kind===107))),T0)},function(q,T0,u1){if(!T0.skip)return f(T0,q)},function(q,T0,u1){if(!T0.skip){var M1=E(T0);e.Debug.assertIsDefined(M1),g(T0,M1),F(T0,void 0);var A1=q.kind;if(A1===55||A1===56||A1===60){if(A1===55){var lx=e.walkUpParenthesizedExpressions(u1.parent);Kd(u1.left,M1,e.isIfStatement(lx)?lx.thenStatement:void 0)}pb(M1,u1.left)}}},function(q,T0,u1){if(!T0.skip)return f(T0,q)},function(q,T0){var u1;if(T0.skip)u1=E(T0);else{var M1=function(lx){return lx.typeStack[lx.stackIndex]}(T0);e.Debug.assertIsDefined(M1);var A1=E(T0);e.Debug.assertIsDefined(A1),u1=q7(q.left,q.operatorToken,q.right,M1,A1,q)}return T0.skip=!1,g(T0,void 0),F(T0,void 0),T0.stackIndex--,u1},function(q,T0,u1){return F(q,T0),q});return function(q,T0){var u1=r(q,T0);return e.Debug.assertIsDefined(u1),u1};function f(q,T0){if(e.isBinaryExpression(T0))return T0;F(q,Js(T0,q.checkMode))}function g(q,T0){q.typeStack[q.stackIndex]=T0}function E(q){return q.typeStack[q.stackIndex+1]}function F(q,T0){q.typeStack[q.stackIndex+1]=T0}}(),wr=function(){var r,f=Y0.getResolvedTypeReferenceDirectives();return f&&(r=new e.Map,f.forEach(function(F,q){if(F&&F.resolvedFileName){var T0=Y0.getSourceFile(F.resolvedFileName);T0&&E(T0,q)}})),{getReferencedExportContainer:ok,getReferencedImportDeclaration:t,getReferencedDeclarationWithCollidingName:k5,isDeclarationWithCollidingName:fK,isValueAliasDeclaration:function(F){var q=e.getParseTreeNode(F);return!q||nF(q)},hasGlobalName:mj,isReferencedAliasDeclaration:function(F,q){var T0=e.getParseTreeNode(F);return!T0||vL(T0,q)},getNodeCheckFlags:function(F){var q=e.getParseTreeNode(F);return q?lj(q):0},isTopLevelValueImportEqualsWithEntityName:C9,isDeclarationVisible:e9,isImplementationOfOverload:A4,isRequiredInitializedParameter:tB,isOptionalUninitializedParameterProperty:yI,isExpandoFunctionDeclaration:pK,getPropertiesOfContainerFunction:dK,createTypeOfDeclaration:kU,createReturnTypeOfSignatureDeclaration:mK,createTypeOfExpression:hK,createLiteralConstValue:yK,isSymbolAccessible:sw,isEntityNameVisible:C_,getConstantValue:function(F){var q=e.getParseTreeNode(F,d8);return q?pj(q):void 0},collectLinkedAliases:HL,getReferencedValueDeclaration:gK,getTypeReferenceSerializationKind:wU,isOptionalParameter:Eh,moduleExportsSomeValue:kw,isArgumentsLocalBinding:UV,getExternalModuleFileFromDeclaration:function(F){var q=e.getParseTreeNode(F,e.hasPossibleExternalModuleReference);return q&&q9(q)},getTypeReferenceDirectivesForEntityName:function(F){if(!!r){var q=790504;(F.kind===78&&rI(F)||F.kind===202&&!function(u1){return u1.parent&&u1.parent.kind===224&&u1.parent.parent&&u1.parent.parent.kind===287}(F))&&(q=1160127);var T0=nl(F,q,!0);return T0&&T0!==W1?g(T0,q):void 0}},getTypeReferenceDirectivesForSymbol:g,isLiteralConstDeclaration:_K,isLateBound:function(F){var q=e.getParseTreeNode(F,e.isDeclaration),T0=q&&ms(q);return!!(T0&&4096&e.getCheckFlags(T0))},getJsxFactoryEntity:rB,getJsxFragmentFactoryEntity:tO,getAllAccessorDeclarations:function(F){var q=(F=e.getParseTreeNode(F,e.isGetOrSetAccessorDeclaration)).kind===169?168:169,T0=e.getDeclarationOfKind(ms(F),q);return{firstAccessor:T0&&T0.pos<F.pos?T0:F,secondAccessor:T0&&T0.pos<F.pos?F:T0,setAccessor:F.kind===169?F:T0,getAccessor:F.kind===168?F:T0}},getSymbolOfExternalModuleSpecifier:function(F){return p2(F,F,void 0)},isBindingCapturedByNode:function(F,q){var T0=e.getParseTreeNode(F),u1=e.getParseTreeNode(q);return!!T0&&!!u1&&(e.isVariableDeclaration(u1)||e.isBindingElement(u1))&&function(M1,A1){var lx=Fo(M1);return!!lx&&e.contains(lx.capturedBlockScopeBindings,ms(A1))}(T0,u1)},getDeclarationStatementsForSourceFile:function(F,q,T0,u1){var M1=e.getParseTreeNode(F);e.Debug.assert(M1&&M1.kind===298,\"Non-sourcefile node passed into getDeclarationsForSourceFile\");var A1=ms(F);return A1?A1.exports?gr.symbolTableToDeclarationStatements(A1.exports,F,q,T0,u1):[]:F.locals?gr.symbolTableToDeclarationStatements(F.locals,F,q,T0,u1):[]},isImportRequiredByAugmentation:function(F){var q=e.getSourceFileOfNode(F);if(!q.symbol)return!1;var T0=q9(F);if(!T0||T0===q)return!1;for(var u1=Wm(q.symbol),M1=0,A1=e.arrayFrom(u1.values());M1<A1.length;M1++){var lx=A1[M1];if(lx.mergeId){var Vx=Xc(lx);if(Vx.declarations)for(var ye=0,Ue=Vx.declarations;ye<Ue.length;ye++){var Ge=Ue[ye];if(e.getSourceFileOfNode(Ge)===T0)return!0}}}return!1}};function g(F,q){if(r&&function(ye){if(!ye.declarations)return!1;for(var Ue=ye;;){var Ge=I2(Ue);if(!Ge)break;Ue=Ge}if(Ue.valueDeclaration&&Ue.valueDeclaration.kind===298&&512&Ue.flags)return!1;for(var er=0,Ar=ye.declarations;er<Ar.length;er++){var vr=Ar[er],Yt=e.getSourceFileOfNode(vr);if(r.has(Yt.path))return!0}return!1}(F)){for(var T0,u1=0,M1=F.declarations;u1<M1.length;u1++){var A1=M1[u1];if(A1.symbol&&A1.symbol.flags&q){var lx=e.getSourceFileOfNode(A1),Vx=r.get(lx.path);if(!Vx)return;(T0||(T0=[])).push(Vx)}}return T0}}function E(F,q){if(!r.has(F.path)){r.set(F.path,q);for(var T0=0,u1=F.referencedFiles;T0<u1.length;T0++){var M1=u1[T0].fileName,A1=e.resolveTripleslashReference(M1,F.fileName),lx=Y0.getSourceFile(A1);lx&&E(lx,q)}}}}(),gr=function(){return{typeToTypeNode:function(Et,wt,da,Ya){return r(wt,da,Ya,function(Da){return g(Et,Da)})},indexInfoToIndexSignatureDeclaration:function(Et,wt,da,Ya,Da){return r(da,Ya,Da,function(fr){return u1(Et,wt,fr,void 0)})},signatureToSignatureDeclaration:function(Et,wt,da,Ya,Da){return r(da,Ya,Da,function(fr){return M1(Et,wt,fr)})},symbolToEntityName:function(Et,wt,da,Ya,Da){return r(da,Ya,Da,function(fr){return Ca(Et,fr,wt,!1)})},symbolToExpression:function(Et,wt,da,Ya,Da){return r(da,Ya,Da,function(fr){return Aa(Et,fr,wt)})},symbolToTypeParameterDeclarations:function(Et,wt,da,Ya){return r(wt,da,Ya,function(Da){return er(Et,Da)})},symbolToParameterDeclaration:function(Et,wt,da,Ya){return r(wt,da,Ya,function(Da){return Vx(Et,Da)})},typeParameterToDeclaration:function(Et,wt,da,Ya){return r(wt,da,Ya,function(Da){return lx(Et,Da)})},symbolTableToDeclarationStatements:function(Et,wt,da,Ya,Da){return r(wt,da,Ya,function(fr){return function(rt,di,Wt){var dn=u6(e.factory.createPropertyDeclaration,166,!0),Si=u6(function(An,Rs,fc,Vo,sl){return e.factory.createPropertySignature(Rs,fc,Vo,sl)},165,!1),yi=di.enclosingDeclaration,l=[],z=new e.Set,zr=[],re=di;di=$($({},re),{usedSymbolNames:new e.Set(re.usedSymbolNames),remappedSymbolNames:new e.Map,tracker:$($({},re.tracker),{trackSymbol:function(An,Rs,fc){if(sw(An,Rs,fc,!1).accessibility===0){var Vo=Ge(An,di,fc);4&An.flags||Ic(Vo[0])}else re.tracker&&re.tracker.trackSymbol&&re.tracker.trackSymbol(An,Rs,fc)}})}),e.forEachEntry(rt,function(An,Rs){jF(An,e.unescapeLeadingUnderscores(Rs))});var Oo=!Wt,yu=rt.get(\"export=\");return yu&&rt.size>1&&2097152&yu.flags&&(rt=e.createSymbolTable()).set(\"export=\",yu),nc(rt),ou(l);function dl(An){return!!An&&An.kind===78}function lc(An){return e.isVariableStatement(An)?e.filter(e.map(An.declarationList.declarations,e.getNameOfDeclaration),dl):e.filter([e.getNameOfDeclaration(An)],dl)}function qi(An){var Rs=e.find(An,e.isExportAssignment),fc=e.findIndex(An,e.isModuleDeclaration),Vo=fc!==-1?An[fc]:void 0;if(Vo&&Rs&&Rs.isExportEquals&&e.isIdentifier(Rs.expression)&&e.isIdentifier(Vo.name)&&e.idText(Vo.name)===e.idText(Rs.expression)&&Vo.body&&e.isModuleBlock(Vo.body)){var sl=e.filter(An,function(ml){return!!(1&e.getEffectiveModifierFlags(ml))}),Tl=Vo.name,e2=Vo.body;if(e.length(sl)&&(Vo=e.factory.updateModuleDeclaration(Vo,Vo.decorators,Vo.modifiers,Vo.name,e2=e.factory.updateModuleBlock(e2,e.factory.createNodeArray(D(D([],Vo.body.statements),[e.factory.createExportDeclaration(void 0,void 0,!1,e.factory.createNamedExports(e.map(e.flatMap(sl,function(ml){return lc(ml)}),function(ml){return e.factory.createExportSpecifier(void 0,ml)})),void 0)])))),An=D(D(D([],An.slice(0,fc)),[Vo]),An.slice(fc+1))),!e.find(An,function(ml){return ml!==Vo&&e.nodeHasName(ml,Tl)})){l=[];var Qf=!e.some(e2.statements,function(ml){return e.hasSyntacticModifier(ml,1)||e.isExportAssignment(ml)||e.isExportDeclaration(ml)});e.forEach(e2.statements,function(ml){cs(ml,Qf?1:0)}),An=D(D([],e.filter(An,function(ml){return ml!==Vo&&ml!==Rs})),l)}}return An}function eo(An){var Rs=e.filter(An,function(ml){return e.isExportDeclaration(ml)&&!ml.moduleSpecifier&&!!ml.exportClause&&e.isNamedExports(ml.exportClause)});if(e.length(Rs)>1){var fc=e.filter(An,function(ml){return!e.isExportDeclaration(ml)||!!ml.moduleSpecifier||!ml.exportClause});An=D(D([],fc),[e.factory.createExportDeclaration(void 0,void 0,!1,e.factory.createNamedExports(e.flatMap(Rs,function(ml){return e.cast(ml.exportClause,e.isNamedExports).elements})),void 0)])}var Vo=e.filter(An,function(ml){return e.isExportDeclaration(ml)&&!!ml.moduleSpecifier&&!!ml.exportClause&&e.isNamedExports(ml.exportClause)});if(e.length(Vo)>1){var sl=e.group(Vo,function(ml){return e.isStringLiteral(ml.moduleSpecifier)?\">\"+ml.moduleSpecifier.text:\">\"});if(sl.length!==Vo.length)for(var Tl=function(ml){ml.length>1&&(An=D(D([],e.filter(An,function(nh){return ml.indexOf(nh)===-1})),[e.factory.createExportDeclaration(void 0,void 0,!1,e.factory.createNamedExports(e.flatMap(ml,function(nh){return e.cast(nh.exportClause,e.isNamedExports).elements})),ml[0].moduleSpecifier)]))},e2=0,Qf=sl;e2<Qf.length;e2++)Tl(Qf[e2])}return An}function Co(An){var Rs=e.findIndex(An,function(sl){return e.isExportDeclaration(sl)&&!sl.moduleSpecifier&&!!sl.exportClause&&e.isNamedExports(sl.exportClause)});if(Rs>=0){var fc=An[Rs],Vo=e.mapDefined(fc.exportClause.elements,function(sl){if(!sl.propertyName){var Tl=e.indicesOf(An),e2=e.filter(Tl,function(o_){return e.nodeHasName(An[o_],sl.name)});if(e.length(e2)&&e.every(e2,function(o_){return Cs(An[o_])})){for(var Qf=0,ml=e2;Qf<ml.length;Qf++){var nh=ml[Qf];An[nh]=Pi(An[nh])}return}}return sl});e.length(Vo)?An[Rs]=e.factory.updateExportDeclaration(fc,fc.decorators,fc.modifiers,fc.isTypeOnly,e.factory.updateNamedExports(fc.exportClause,Vo),fc.moduleSpecifier):e.orderedRemoveItemAt(An,Rs)}return An}function ou(An){return An=Co(An=eo(An=qi(An))),yi&&(e.isSourceFile(yi)&&e.isExternalOrCommonJsModule(yi)||e.isModuleDeclaration(yi))&&(!e.some(An,e.isExternalModuleIndicator)||!e.hasScopeMarker(An)&&e.some(An,e.needsScopeMarker))&&An.push(e.createEmptyExports(e.factory)),An}function Cs(An){return e.isEnumDeclaration(An)||e.isVariableStatement(An)||e.isFunctionDeclaration(An)||e.isClassDeclaration(An)||e.isModuleDeclaration(An)&&!e.isExternalModuleAugmentation(An)&&!e.isGlobalScopeAugmentation(An)||e.isInterfaceDeclaration(An)||i3(An)}function Pi(An){var Rs=-3&(1|e.getEffectiveModifierFlags(An));return e.factory.updateModifiers(An,Rs)}function Ia(An){var Rs=-2&e.getEffectiveModifierFlags(An);return e.factory.updateModifiers(An,Rs)}function nc(An,Rs,fc){Rs||zr.push(new e.Map),An.forEach(function(Vo){g2(Vo,!1,!!fc)}),Rs||(zr[zr.length-1].forEach(function(Vo){g2(Vo,!0,!!fc)}),zr.pop())}function g2(An,Rs,fc){var Vo=Xc(An);if(!z.has(f0(Vo))&&(z.add(f0(Vo)),!Rs||e.length(An.declarations)&&e.some(An.declarations,function(e2){return!!e.findAncestor(e2,function(Qf){return Qf===yi})}))){var sl=di;di=function(e2){var Qf=$({},e2);return Qf.typeParameterNames&&(Qf.typeParameterNames=new e.Map(Qf.typeParameterNames)),Qf.typeParameterNamesByText&&(Qf.typeParameterNamesByText=new e.Set(Qf.typeParameterNamesByText)),Qf.typeParameterSymbolList&&(Qf.typeParameterSymbolList=new e.Set(Qf.typeParameterSymbolList)),Qf}(di);var Tl=yb(An,Rs,fc);return di=sl,Tl}}function yb(An,Rs,fc){var Vo,sl,Tl=e.unescapeLeadingUnderscores(An.escapedName),e2=An.escapedName===\"default\";if(!Rs||131072&di.flags||!e.isStringANonContextualKeyword(Tl)||e2){var Qf=e2&&!!(-113&An.flags||16&An.flags&&e.length($c(Yo(An))))&&!(2097152&An.flags),ml=!Qf&&!Rs&&e.isStringANonContextualKeyword(Tl)&&!e2;(Qf||ml)&&(Rs=!0);var nh=(Rs?0:1)|(e2&&!Qf?512:0),o_=1536&An.flags&&7&An.flags&&An.escapedName!==\"export=\",NS=o_&&JC(Yo(An),An);if((8208&An.flags||NS)&&Ru(Yo(An),An,jF(An,Tl),nh),524288&An.flags&&Ul(An,Tl,nh),7&An.flags&&An.escapedName!==\"export=\"&&!(4194304&An.flags)&&!(32&An.flags)&&!NS)if(fc)T4(An)&&(ml=!1,Qf=!1);else{var k8=Yo(An),cC=jF(An,Tl);if(16&An.flags||!JC(k8,An)){var hw=2&An.flags?aL(An)?2:1:void 0,mT=!Qf&&4&An.flags?mw(cC,An):cC,hT=An.declarations&&e.find(An.declarations,function(N5){return e.isVariableDeclaration(N5)});hT&&e.isVariableDeclarationList(hT.parent)&&hT.parent.declarations.length===1&&(hT=hT.parent.parent);var Z_=(Vo=An.declarations)===null||Vo===void 0?void 0:Vo.find(e.isPropertyAccessExpression);if(Z_&&e.isBinaryExpression(Z_.parent)&&e.isIdentifier(Z_.parent.right)&&((sl=k8.symbol)===null||sl===void 0?void 0:sl.valueDeclaration)&&e.isSourceFile(k8.symbol.valueDeclaration)){var WS=cC===Z_.parent.right.escapedText?void 0:Z_.parent.right;cs(e.factory.createExportDeclaration(void 0,void 0,!1,e.factory.createNamedExports([e.factory.createExportSpecifier(WS,cC)])),0),di.tracker.trackSymbol(k8.symbol,di.enclosingDeclaration,111551)}else cs(e.setTextRange(e.factory.createVariableStatement(void 0,e.factory.createVariableDeclarationList([e.factory.createVariableDeclaration(mT,void 0,zi(di,k8,An,yi,Ic,Wt))],hw)),hT),mT!==cC?-2&nh:nh),mT===cC||Rs||(cs(e.factory.createExportDeclaration(void 0,void 0,!1,e.factory.createNamedExports([e.factory.createExportSpecifier(mT,cC)])),0),ml=!1,Qf=!1)}else Ru(k8,An,cC,nh)}if(384&An.flags&&RD(An,Tl,nh),32&An.flags&&(4&An.flags&&An.valueDeclaration&&e.isBinaryExpression(An.valueDeclaration.parent)&&e.isClassExpression(An.valueDeclaration.parent.right)?kS(An,jF(An,Tl),nh):IA(An,jF(An,Tl),nh)),(1536&An.flags&&(!o_||jE(An))||NS)&&Wd(An,Tl,nh),64&An.flags&&!(32&An.flags)&&hp(An,Tl,nh),2097152&An.flags&&kS(An,jF(An,Tl),nh),4&An.flags&&An.escapedName===\"export=\"&&T4(An),8388608&An.flags&&An.declarations)for(var PS=0,GA=An.declarations;PS<GA.length;PS++){var IT=GA[PS],r4=f5(IT,IT.moduleSpecifier);r4&&cs(e.factory.createExportDeclaration(void 0,void 0,!1,void 0,e.factory.createStringLiteral(Yt(r4,di))),0)}Qf?cs(e.factory.createExportAssignment(void 0,void 0,!1,e.factory.createIdentifier(jF(An,Tl))),0):ml&&cs(e.factory.createExportDeclaration(void 0,void 0,!1,e.factory.createNamedExports([e.factory.createExportSpecifier(jF(An,Tl),Tl)])),0)}else di.encounteredError=!0}function Ic(An){if(!e.some(An.declarations,e.isParameterDeclaration)){e.Debug.assertIsDefined(zr[zr.length-1]),mw(e.unescapeLeadingUnderscores(An.escapedName),An);var Rs=!!(2097152&An.flags)&&!e.some(An.declarations,function(fc){return!!e.findAncestor(fc,e.isExportDeclaration)||e.isNamespaceExport(fc)||e.isImportEqualsDeclaration(fc)&&!e.isExternalModuleReference(fc.moduleReference)});zr[Rs?0:zr.length-1].set(f0(An),An)}}function m8(An){return e.isSourceFile(An)&&(e.isExternalOrCommonJsModule(An)||e.isJsonSourceFile(An))||e.isAmbientModule(An)&&!e.isGlobalScopeAugmentation(An)}function cs(An,Rs){if(e.canHaveModifiers(An)){var fc=0,Vo=di.enclosingDeclaration&&(e.isJSDocTypeAlias(di.enclosingDeclaration)?e.getSourceFileOfNode(di.enclosingDeclaration):di.enclosingDeclaration);1&Rs&&Vo&&(m8(Vo)||e.isModuleDeclaration(Vo))&&Cs(An)&&(fc|=1),!Oo||1&fc||Vo&&8388608&Vo.flags||!(e.isEnumDeclaration(An)||e.isVariableStatement(An)||e.isFunctionDeclaration(An)||e.isClassDeclaration(An)||e.isModuleDeclaration(An))||(fc|=2),512&Rs&&(e.isClassDeclaration(An)||e.isInterfaceDeclaration(An)||e.isFunctionDeclaration(An))&&(fc|=512),fc&&(An=e.factory.updateModifiers(An,fc|e.getEffectiveModifierFlags(An)))}l.push(An)}function Ul(An,Rs,fc){var Vo,sl=_C(An),Tl=Zo(An).typeParameters,e2=e.map(Tl,function(k8){return lx(k8,di)}),Qf=(Vo=An.declarations)===null||Vo===void 0?void 0:Vo.find(e.isJSDocTypeAlias),ml=e.getTextOfJSDocComment(Qf?Qf.comment||Qf.parent.comment:void 0),nh=di.flags;di.flags|=8388608;var o_=di.enclosingDeclaration;di.enclosingDeclaration=Qf;var NS=Qf&&Qf.typeExpression&&e.isJSDocTypeExpression(Qf.typeExpression)&&Ms(di,Qf.typeExpression.type,Ic,Wt)||g(sl,di);cs(e.setSyntheticLeadingComments(e.factory.createTypeAliasDeclaration(void 0,void 0,jF(An,Rs),e2,NS),ml?[{kind:3,text:`*\n * `+ml.replace(/\\n/g,`\n * `)+`\n `,pos:-1,end:-1,hasTrailingNewLine:!0}]:[]),fc),di.flags=nh,di.enclosingDeclaration=o_}function hp(An,Rs,fc){var Vo=Ed(An),sl=R9(An),Tl=e.map(sl,function(cC){return lx(cC,di)}),e2=bk(Vo),Qf=e.length(e2)?Kc(e2):void 0,ml=e.flatMap($c(Vo),function(cC){return kd(cC,Qf)}),nh=UE(0,Vo,Qf,170),o_=UE(1,Vo,Qf,171),NS=iF(Vo,Qf),k8=e.length(e2)?[e.factory.createHeritageClause(93,e.mapDefined(e2,function(cC){return Pw(cC,111551)}))]:void 0;cs(e.factory.createInterfaceDeclaration(void 0,void 0,jF(An,Rs),Tl,k8,D(D(D(D([],NS),o_),nh),ml)),fc)}function Jc(An){return An.exports?e.filter(e.arrayFrom(An.exports.values()),b6):[]}function jE(An){return e.every(Jc(An),function(Rs){return!(111551&Zr(Rs).flags)})}function Wd(An,Rs,fc){var Vo=Jc(An),sl=e.arrayToMultiMap(Vo,function(o_){return o_.parent&&o_.parent===An?\"real\":\"merged\"}),Tl=sl.get(\"real\")||e.emptyArray,e2=sl.get(\"merged\")||e.emptyArray;if(e.length(Tl)&&gh(Tl,ml=jF(An,Rs),fc,!!(67108880&An.flags)),e.length(e2)){var Qf=e.getSourceFileOfNode(di.enclosingDeclaration),ml=jF(An,Rs),nh=e.factory.createModuleBlock([e.factory.createExportDeclaration(void 0,void 0,!1,e.factory.createNamedExports(e.mapDefined(e.filter(e2,function(o_){return o_.escapedName!==\"export=\"}),function(o_){var NS,k8,cC=e.unescapeLeadingUnderscores(o_.escapedName),hw=jF(o_,cC),mT=o_.declarations&&Hf(o_);if(!Qf||(mT?Qf===e.getSourceFileOfNode(mT):e.some(o_.declarations,function(WS){return e.getSourceFileOfNode(WS)===Qf}))){var hT=mT&&ce(mT,!0);Ic(hT||o_);var Z_=hT?jF(hT,e.unescapeLeadingUnderscores(hT.escapedName)):hw;return e.factory.createExportSpecifier(cC===Z_?void 0:Z_,cC)}(k8=(NS=di.tracker)===null||NS===void 0?void 0:NS.reportNonlocalAugmentation)===null||k8===void 0||k8.call(NS,Qf,An,o_)})))]);cs(e.factory.createModuleDeclaration(void 0,void 0,e.factory.createIdentifier(ml),nh,16),0)}}function RD(An,Rs,fc){cs(e.factory.createEnumDeclaration(void 0,e.factory.createModifiersFromModifierFlags(eb(An)?2048:0),jF(An,Rs),e.map(e.filter($c(Yo(An)),function(Vo){return!!(8&Vo.flags)}),function(Vo){var sl=Vo.declarations&&Vo.declarations[0]&&e.isEnumMember(Vo.declarations[0])?pj(Vo.declarations[0]):void 0;return e.factory.createEnumMember(e.unescapeLeadingUnderscores(Vo.escapedName),sl===void 0?void 0:typeof sl==\"string\"?e.factory.createStringLiteral(sl):e.factory.createNumericLiteral(sl))})),fc)}function Ru(An,Rs,fc,Vo){for(var sl=0,Tl=_u(An,0);sl<Tl.length;sl++){var e2=Tl[sl],Qf=M1(e2,252,di,{name:e.factory.createIdentifier(fc),privateSymbolVisitor:Ic,bundledImports:Wt});cs(e.setTextRange(Qf,Yf(e2)),Vo)}1536&Rs.flags&&Rs.exports&&Rs.exports.size||gh(e.filter($c(An),b6),fc,Vo,!0)}function Yf(An){if(An.declaration&&An.declaration.parent){if(e.isBinaryExpression(An.declaration.parent)&&e.getAssignmentDeclarationKind(An.declaration.parent)===5)return An.declaration.parent;if(e.isVariableDeclaration(An.declaration.parent)&&An.declaration.parent.parent)return An.declaration.parent.parent}return An.declaration}function gh(An,Rs,fc,Vo){if(e.length(An)){var sl=e.arrayToMultiMap(An,function(cC){return!e.length(cC.declarations)||e.some(cC.declarations,function(hw){return e.getSourceFileOfNode(hw)===e.getSourceFileOfNode(di.enclosingDeclaration)})?\"local\":\"remote\"}).get(\"local\")||e.emptyArray,Tl=e.parseNodeFactory.createModuleDeclaration(void 0,void 0,e.factory.createIdentifier(Rs),e.factory.createModuleBlock([]),16);e.setParent(Tl,yi),Tl.locals=e.createSymbolTable(An),Tl.symbol=An[0].parent;var e2=l;l=[];var Qf=Oo;Oo=!1;var ml=$($({},di),{enclosingDeclaration:Tl}),nh=di;di=ml,nc(e.createSymbolTable(sl),Vo,!0),di=nh,Oo=Qf;var o_=l;l=e2;var NS=e.map(o_,function(cC){return e.isExportAssignment(cC)&&!cC.isExportEquals&&e.isIdentifier(cC.expression)?e.factory.createExportDeclaration(void 0,void 0,!1,e.factory.createNamedExports([e.factory.createExportSpecifier(cC.expression,e.factory.createIdentifier(\"default\"))])):cC}),k8=e.every(NS,function(cC){return e.hasSyntacticModifier(cC,1)})?e.map(NS,Ia):NS;cs(Tl=e.factory.updateModuleDeclaration(Tl,Tl.decorators,Tl.modifiers,Tl.name,e.factory.createModuleBlock(k8)),fc)}}function b6(An){return!!(2887656&An.flags)||!(4194304&An.flags||An.escapedName===\"prototype\"||An.valueDeclaration&&32&e.getEffectiveModifierFlags(An.valueDeclaration)&&e.isClassLike(An.valueDeclaration.parent))}function RF(An){var Rs=e.mapDefined(An,function(fc){var Vo,sl=di.enclosingDeclaration;di.enclosingDeclaration=fc;var Tl=fc.expression;if(e.isEntityNameExpression(Tl)){if(e.isIdentifier(Tl)&&e.idText(Tl)===\"\")return Qf(void 0);var e2=void 0;if(e2=(Vo=Wo(Tl,di,Ic)).introducesError,Tl=Vo.node,e2)return Qf(void 0)}return Qf(e.factory.createExpressionWithTypeArguments(Tl,e.map(fc.typeArguments,function(ml){return Ms(di,ml,Ic,Wt)||g(Dc(ml),di)})));function Qf(ml){return di.enclosingDeclaration=sl,ml}});if(Rs.length===An.length)return Rs}function IA(An,Rs,fc){var Vo,sl,Tl=(Vo=An.declarations)===null||Vo===void 0?void 0:Vo.find(e.isClassLike),e2=di.enclosingDeclaration;di.enclosingDeclaration=Tl||e2;var Qf=R9(An),ml=e.map(Qf,function(HC){return lx(HC,di)}),nh=Ed(An),o_=bk(nh),NS=Tl&&e.getEffectiveImplementsTypeNodes(Tl),k8=NS&&RF(NS)||e.mapDefined(function(HC){var oA=e.emptyArray;if(HC.symbol.declarations)for(var o=0,p=HC.symbol.declarations;o<p.length;o++){var h=p[o],y=e.getEffectiveImplementsTypeNodes(h);if(y)for(var k=0,Q=y;k<Q.length;k++){var $0=Dc(Q[k]);$0!==ae&&(oA===e.emptyArray?oA=[$0]:oA.push($0))}}return oA}(nh),uk),cC=Yo(An),hw=!!((sl=cC.symbol)===null||sl===void 0?void 0:sl.valueDeclaration)&&e.isClassLike(cC.symbol.valueDeclaration),mT=hw?Jm(cC):E1,hT=D(D([],e.length(o_)?[e.factory.createHeritageClause(93,e.map(o_,function(HC){return Nw(HC,mT,Rs)}))]:[]),e.length(k8)?[e.factory.createHeritageClause(116,k8)]:[]),Z_=function(HC,oA,o){if(!e.length(oA))return o;var p=new e.Map;e.forEach(o,function(Z0){p.set(Z0.escapedName,Z0)});for(var h=0,y=oA;h<y.length;h++)for(var k=0,Q=$c(Fw(y[h],HC.thisType));k<Q.length;k++){var $0=Q[k],j0=p.get($0.escapedName);j0&&!yv(j0,$0)&&p.delete($0.escapedName)}return e.arrayFrom(p.values())}(nh,o_,$c(nh)),WS=e.filter(Z_,function(HC){var oA=HC.valueDeclaration;return!(!oA||e.isNamedDeclaration(oA)&&e.isPrivateIdentifier(oA.name))}),PS=e.some(Z_,function(HC){var oA=HC.valueDeclaration;return!!oA&&e.isNamedDeclaration(oA)&&e.isPrivateIdentifier(oA.name)})?[e.factory.createPropertyDeclaration(void 0,void 0,e.factory.createPrivateIdentifier(\"#private\"),void 0,void 0,void 0)]:e.emptyArray,GA=e.flatMap(WS,function(HC){return dn(HC,!1,o_[0])}),IT=e.flatMap(e.filter($c(cC),function(HC){return!(4194304&HC.flags||HC.escapedName===\"prototype\"||b6(HC))}),function(HC){return dn(HC,!0,mT)}),r4=!hw&&!!An.valueDeclaration&&e.isInJSFile(An.valueDeclaration)&&!e.some(_u(cC,1))?[e.factory.createConstructorDeclaration(void 0,e.factory.createModifiersFromModifierFlags(8),[],void 0)]:UE(1,cC,mT,167),N5=iF(nh,o_[0]);di.enclosingDeclaration=e2,cs(e.setTextRange(e.factory.createClassDeclaration(void 0,void 0,Rs,ml,hT,D(D(D(D(D([],N5),IT),r4),GA),PS)),An.declarations&&e.filter(An.declarations,function(HC){return e.isClassDeclaration(HC)||e.isClassExpression(HC)})[0]),fc)}function kS(An,Rs,fc){var Vo,sl,Tl,e2,Qf,ml=Hf(An);if(!ml)return e.Debug.fail();var nh=Xc(ce(ml,!0));if(nh){var o_=e.unescapeLeadingUnderscores(nh.escapedName);o_===\"export=\"&&(V1.esModuleInterop||V1.allowSyntheticDefaultImports)&&(o_=\"default\");var NS=jF(nh,o_);switch(Ic(nh),ml.kind){case 199:if(((sl=(Vo=ml.parent)===null||Vo===void 0?void 0:Vo.parent)===null||sl===void 0?void 0:sl.kind)===250){var k8=Yt(nh.parent||nh,di),cC=ml.propertyName;cs(e.factory.createImportDeclaration(void 0,void 0,e.factory.createImportClause(!1,void 0,e.factory.createNamedImports([e.factory.createImportSpecifier(cC&&e.isIdentifier(cC)?e.factory.createIdentifier(e.idText(cC)):void 0,e.factory.createIdentifier(Rs))])),e.factory.createStringLiteral(k8)),0);break}e.Debug.failBadSyntaxKind(((Tl=ml.parent)===null||Tl===void 0?void 0:Tl.parent)||ml,\"Unhandled binding element grandparent kind in declaration serialization\");break;case 290:((Qf=(e2=ml.parent)===null||e2===void 0?void 0:e2.parent)===null||Qf===void 0?void 0:Qf.kind)===217&&j4(e.unescapeLeadingUnderscores(An.escapedName),NS);break;case 250:if(e.isPropertyAccessExpression(ml.initializer)){var hw=ml.initializer,mT=e.factory.createUniqueName(Rs),hT=Yt(nh.parent||nh,di);cs(e.factory.createImportEqualsDeclaration(void 0,void 0,!1,mT,e.factory.createExternalModuleReference(e.factory.createStringLiteral(hT))),0),cs(e.factory.createImportEqualsDeclaration(void 0,void 0,!1,e.factory.createIdentifier(Rs),e.factory.createQualifiedName(mT,hw.name)),fc);break}case 261:if(nh.escapedName===\"export=\"&&e.some(nh.declarations,e.isJsonSourceFile)){T4(An);break}var Z_=!(512&nh.flags||e.isVariableDeclaration(ml));cs(e.factory.createImportEqualsDeclaration(void 0,void 0,!1,e.factory.createIdentifier(Rs),Z_?Ca(nh,di,67108863,!1):e.factory.createExternalModuleReference(e.factory.createStringLiteral(Yt(nh,di)))),Z_?fc:0);break;case 260:cs(e.factory.createNamespaceExportDeclaration(e.idText(ml.name)),0);break;case 263:cs(e.factory.createImportDeclaration(void 0,void 0,e.factory.createImportClause(!1,e.factory.createIdentifier(Rs),void 0),e.factory.createStringLiteral(Yt(nh.parent||nh,di))),0);break;case 264:cs(e.factory.createImportDeclaration(void 0,void 0,e.factory.createImportClause(!1,void 0,e.factory.createNamespaceImport(e.factory.createIdentifier(Rs))),e.factory.createStringLiteral(Yt(nh,di))),0);break;case 270:cs(e.factory.createExportDeclaration(void 0,void 0,!1,e.factory.createNamespaceExport(e.factory.createIdentifier(Rs)),e.factory.createStringLiteral(Yt(nh,di))),0);break;case 266:cs(e.factory.createImportDeclaration(void 0,void 0,e.factory.createImportClause(!1,void 0,e.factory.createNamedImports([e.factory.createImportSpecifier(Rs!==o_?e.factory.createIdentifier(o_):void 0,e.factory.createIdentifier(Rs))])),e.factory.createStringLiteral(Yt(nh.parent||nh,di))),0);break;case 271:var WS=ml.parent.parent.moduleSpecifier;j4(e.unescapeLeadingUnderscores(An.escapedName),WS?o_:NS,WS&&e.isStringLiteralLike(WS)?e.factory.createStringLiteral(WS.text):void 0);break;case 267:T4(An);break;case 217:case 202:case 203:An.escapedName===\"default\"||An.escapedName===\"export=\"?T4(An):j4(Rs,NS);break;default:return e.Debug.failBadSyntaxKind(ml,\"Unhandled alias declaration kind in symbol serializer!\")}}}function j4(An,Rs,fc){cs(e.factory.createExportDeclaration(void 0,void 0,!1,e.factory.createNamedExports([e.factory.createExportSpecifier(An!==Rs?Rs:void 0,An)]),fc),0)}function T4(An){if(4194304&An.flags)return!1;var Rs=e.unescapeLeadingUnderscores(An.escapedName),fc=Rs===\"export=\",Vo=fc||Rs===\"default\",sl=An.declarations&&Hf(An),Tl=sl&&ce(sl,!0);if(Tl&&e.length(Tl.declarations)&&e.some(Tl.declarations,function(k8){return e.getSourceFileOfNode(k8)===e.getSourceFileOfNode(yi)})){var e2=sl&&(e.isExportAssignment(sl)||e.isBinaryExpression(sl)?e.getExportAssignmentExpression(sl):e.getPropertyAssignmentAliasLikeExpression(sl)),Qf=e2&&e.isEntityNameExpression(e2)?function(k8){switch(k8.kind){case 78:return k8;case 158:do k8=k8.left;while(k8.kind!==78);return k8;case 202:do{if(e.isModuleExportsAccessExpression(k8.expression)&&!e.isPrivateIdentifier(k8.name))return k8.name;k8=k8.expression}while(k8.kind!==78);return k8}}(e2):void 0,ml=Qf&&nl(Qf,67108863,!0,!0,yi);(ml||Tl)&&Ic(ml||Tl);var nh=di.tracker.trackSymbol;if(di.tracker.trackSymbol=e.noop,Vo)l.push(e.factory.createExportAssignment(void 0,void 0,fc,Aa(Tl,di,67108863)));else if(Qf===e2&&Qf)j4(Rs,e.idText(Qf));else if(e2&&e.isClassExpression(e2))j4(Rs,jF(Tl,e.symbolName(Tl)));else{var o_=mw(Rs,An);cs(e.factory.createImportEqualsDeclaration(void 0,void 0,!1,e.factory.createIdentifier(o_),Ca(Tl,di,67108863,!1)),0),j4(Rs,o_)}return di.tracker.trackSymbol=nh,!0}o_=mw(Rs,An);var NS=Bp(Yo(Xc(An)));return JC(NS,An)?Ru(NS,An,o_,Vo?0:1):cs(e.factory.createVariableStatement(void 0,e.factory.createVariableDeclarationList([e.factory.createVariableDeclaration(o_,void 0,zi(di,NS,An,yi,Ic,Wt))],2)),Tl&&4&Tl.flags&&Tl.escapedName===\"export=\"?2:Rs===o_?1:0),Vo?(l.push(e.factory.createExportAssignment(void 0,void 0,fc,e.factory.createIdentifier(o_))),!0):Rs!==o_&&(j4(Rs,o_),!0)}function JC(An,Rs){var fc=e.getSourceFileOfNode(di.enclosingDeclaration);return 48&e.getObjectFlags(An)&&!vC(An,0)&&!vC(An,1)&&!My(An)&&!(!e.length(e.filter($c(An),b6))&&!e.length(_u(An,0)))&&!e.length(_u(An,1))&&!ti(Rs,yi)&&!(An.symbol&&e.some(An.symbol.declarations,function(Vo){return e.getSourceFileOfNode(Vo)!==fc}))&&!e.some($c(An),function(Vo){return jN(Vo.escapedName)})&&!e.some($c(An),function(Vo){return e.some(Vo.declarations,function(sl){return e.getSourceFileOfNode(sl)!==fc})})&&e.every($c(An),function(Vo){return e.isIdentifierText(e.symbolName(Vo),Ox)})}function u6(An,Rs,fc){return function(Vo,sl,Tl){var e2,Qf,ml,nh,o_,NS=e.getDeclarationModifierFlagsFromSymbol(Vo),k8=!!(8&NS);if(sl&&2887656&Vo.flags)return[];if(4194304&Vo.flags||Tl&&ec(Tl,Vo.escapedName)&&j2(ec(Tl,Vo.escapedName))===j2(Vo)&&(16777216&Vo.flags)==(16777216&ec(Tl,Vo.escapedName).flags)&&tm(Yo(Vo),qc(Tl,Vo.escapedName)))return[];var cC=-257&NS|(sl?32:0),hw=Ra(Vo,di),mT=(e2=Vo.declarations)===null||e2===void 0?void 0:e2.find(e.or(e.isPropertyDeclaration,e.isAccessor,e.isVariableDeclaration,e.isPropertySignature,e.isBinaryExpression,e.isPropertyAccessExpression));if(98304&Vo.flags&&fc){var hT=[];if(65536&Vo.flags&&hT.push(e.setTextRange(e.factory.createSetAccessorDeclaration(void 0,e.factory.createModifiersFromModifierFlags(cC),hw,[e.factory.createParameterDeclaration(void 0,void 0,void 0,\"arg\",void 0,k8?void 0:zi(di,Yo(Vo),Vo,yi,Ic,Wt))],void 0),((Qf=Vo.declarations)===null||Qf===void 0?void 0:Qf.find(e.isSetAccessor))||mT)),32768&Vo.flags){var Z_=8&NS;hT.push(e.setTextRange(e.factory.createGetAccessorDeclaration(void 0,e.factory.createModifiersFromModifierFlags(cC),hw,[],Z_?void 0:zi(di,Yo(Vo),Vo,yi,Ic,Wt),void 0),((ml=Vo.declarations)===null||ml===void 0?void 0:ml.find(e.isGetAccessor))||mT))}return hT}if(98311&Vo.flags)return e.setTextRange(An(void 0,e.factory.createModifiersFromModifierFlags((j2(Vo)?64:0)|cC),hw,16777216&Vo.flags?e.factory.createToken(57):void 0,k8?void 0:zi(di,Yo(Vo),Vo,yi,Ic,Wt),void 0),((nh=Vo.declarations)===null||nh===void 0?void 0:nh.find(e.or(e.isPropertyDeclaration,e.isVariableDeclaration)))||mT);if(8208&Vo.flags){var WS=_u(Yo(Vo),0);if(8&cC)return e.setTextRange(An(void 0,e.factory.createModifiersFromModifierFlags((j2(Vo)?64:0)|cC),hw,16777216&Vo.flags?e.factory.createToken(57):void 0,void 0,void 0),((o_=Vo.declarations)===null||o_===void 0?void 0:o_.find(e.isFunctionLikeDeclaration))||WS[0]&&WS[0].declaration||Vo.declarations&&Vo.declarations[0]);for(var PS=[],GA=0,IT=WS;GA<IT.length;GA++){var r4=IT[GA],N5=M1(r4,Rs,di,{name:hw,questionToken:16777216&Vo.flags?e.factory.createToken(57):void 0,modifiers:cC?e.factory.createModifiersFromModifierFlags(cC):void 0}),HC=r4.declaration&&e.isPrototypePropertyAssignment(r4.declaration.parent)?r4.declaration.parent:r4.declaration;PS.push(e.setTextRange(N5,HC))}return PS}return e.Debug.fail(\"Unhandled class member kind! \"+(Vo.__debugFlags||Vo.flags))}}function kd(An,Rs){return Si(An,!1,Rs)}function UE(An,Rs,fc,Vo){var sl=_u(Rs,An);if(An===1){if(!fc&&e.every(sl,function(Z_){return e.length(Z_.parameters)===0}))return[];if(fc){var Tl=_u(fc,1);if(!e.length(Tl)&&e.every(sl,function(Z_){return e.length(Z_.parameters)===0}))return[];if(Tl.length===sl.length){for(var e2=!1,Qf=0;Qf<Tl.length;Qf++)if(!ZB(sl[Qf],Tl[Qf],!1,!1,!0,L_)){e2=!0;break}if(!e2)return[]}}for(var ml=0,nh=0,o_=sl;nh<o_.length;nh++){var NS=o_[nh];NS.declaration&&(ml|=e.getSelectedEffectiveModifierFlags(NS.declaration,24))}if(ml)return[e.setTextRange(e.factory.createConstructorDeclaration(void 0,e.factory.createModifiersFromModifierFlags(ml),[],void 0),sl[0].declaration)]}for(var k8=[],cC=0,hw=sl;cC<hw.length;cC++){var mT=hw[cC],hT=M1(mT,Vo,di);k8.push(e.setTextRange(hT,mT.declaration))}return k8}function iF(An,Rs){for(var fc=[],Vo=0,sl=[0,1];Vo<sl.length;Vo++){var Tl=sl[Vo],e2=vC(An,Tl);if(e2){if(Rs){var Qf=vC(Rs,Tl);if(Qf&&tm(e2.type,Qf.type))continue}fc.push(u1(e2,Tl,di,void 0))}}return fc}function Nw(An,Rs,fc){var Vo=Pw(An,111551);if(Vo)return Vo;var sl=mw(fc+\"_base\");return cs(e.factory.createVariableStatement(void 0,e.factory.createVariableDeclarationList([e.factory.createVariableDeclaration(sl,void 0,g(Rs,di))],2)),0),e.factory.createExpressionWithTypeArguments(e.factory.createIdentifier(sl),void 0)}function Pw(An,Rs){var fc,Vo;if(An.target&&ql(An.target.symbol,yi,Rs)?(fc=e.map(Cc(An),function(sl){return g(sl,di)}),Vo=Aa(An.target.symbol,di,788968)):An.symbol&&ql(An.symbol,yi,Rs)&&(Vo=Aa(An.symbol,di,788968)),Vo)return e.factory.createExpressionWithTypeArguments(Vo,fc)}function uk(An){var Rs=Pw(An,788968);return Rs||(An.symbol?e.factory.createExpressionWithTypeArguments(Aa(An.symbol,di,788968),void 0):void 0)}function mw(An,Rs){var fc,Vo,sl=Rs?f0(Rs):void 0;if(sl&&di.remappedSymbolNames.has(sl))return di.remappedSymbolNames.get(sl);Rs&&(An=hN(Rs,An));for(var Tl=0,e2=An;(fc=di.usedSymbolNames)===null||fc===void 0?void 0:fc.has(An);)An=e2+\"_\"+ ++Tl;return(Vo=di.usedSymbolNames)===null||Vo===void 0||Vo.add(An),sl&&di.remappedSymbolNames.set(sl,An),An}function hN(An,Rs){if(Rs===\"default\"||Rs===\"__class\"||Rs===\"__function\"){var fc=di.flags;di.flags|=16777216;var Vo=fg(An,di);di.flags=fc,Rs=Vo.length>0&&e.isSingleOrDoubleQuote(Vo.charCodeAt(0))?e.stripQuotes(Vo):Vo}return Rs===\"default\"?Rs=\"_default\":Rs===\"export=\"&&(Rs=\"_exports\"),Rs=e.isIdentifierText(Rs,Ox)&&!e.isStringANonContextualKeyword(Rs)?Rs:\"_\"+Rs.replace(/[^a-zA-Z0-9]/g,\"_\")}function jF(An,Rs){var fc=f0(An);return di.remappedSymbolNames.has(fc)?di.remappedSymbolNames.get(fc):(Rs=hN(An,Rs),di.remappedSymbolNames.set(fc,Rs),Rs)}}(Et,fr,Da)})}};function r(Et,wt,da,Ya){var Da,fr;e.Debug.assert(Et===void 0||(8&Et.flags)==0);var rt={enclosingDeclaration:Et,flags:wt||0,tracker:da&&da.trackSymbol?da:{trackSymbol:e.noop,moduleResolverHost:134217728&wt?{getCommonSourceDirectory:Y0.getCommonSourceDirectory?function(){return Y0.getCommonSourceDirectory()}:function(){return\"\"},getSourceFiles:function(){return Y0.getSourceFiles()},getCurrentDirectory:function(){return Y0.getCurrentDirectory()},getSymlinkCache:e.maybeBind(Y0,Y0.getSymlinkCache),useCaseSensitiveFileNames:e.maybeBind(Y0,Y0.useCaseSensitiveFileNames),redirectTargetsMap:Y0.redirectTargetsMap,getProjectReferenceRedirect:function(Wt){return Y0.getProjectReferenceRedirect(Wt)},isSourceOfProjectReferenceRedirect:function(Wt){return Y0.isSourceOfProjectReferenceRedirect(Wt)},fileExists:function(Wt){return Y0.fileExists(Wt)},getFileIncludeReasons:function(){return Y0.getFileIncludeReasons()}}:void 0},encounteredError:!1,visitedTypes:void 0,symbolDepth:void 0,inferTypeParameters:void 0,approximateLength:0},di=Ya(rt);return rt.truncating&&1&rt.flags&&((fr=(Da=rt.tracker)===null||Da===void 0?void 0:Da.reportTruncationError)===null||fr===void 0||fr.call(Da)),rt.encounteredError?void 0:di}function f(Et){return Et.truncating?Et.truncating:Et.truncating=Et.approximateLength>(1&Et.flags?e.noTruncationMaximumTruncationLength:e.defaultMaximumTruncationLength)}function g(Et,wt){Z1&&Z1.throwIfCancellationRequested&&Z1.throwIfCancellationRequested();var da=8388608&wt.flags;if(wt.flags&=-8388609,!Et)return 262144&wt.flags?(wt.approximateLength+=3,e.factory.createKeywordTypeNode(128)):void(wt.encounteredError=!0);if(536870912&wt.flags||(Et=Q2(Et)),1&Et.flags)return wt.approximateLength+=3,e.factory.createKeywordTypeNode(Et===or?136:128);if(2&Et.flags)return e.factory.createKeywordTypeNode(152);if(4&Et.flags)return wt.approximateLength+=6,e.factory.createKeywordTypeNode(147);if(8&Et.flags)return wt.approximateLength+=6,e.factory.createKeywordTypeNode(144);if(64&Et.flags)return wt.approximateLength+=6,e.factory.createKeywordTypeNode(155);if(16&Et.flags)return wt.approximateLength+=7,e.factory.createKeywordTypeNode(131);if(1024&Et.flags&&!(1048576&Et.flags)){var Ya=I2(Et.symbol),Da=nn(Ya,wt,788968);if(Il(Ya)===Et)return Da;var fr=e.symbolName(Et.symbol);return e.isIdentifierText(fr,0)?Ic(Da,e.factory.createTypeReferenceNode(fr,void 0)):e.isImportTypeNode(Da)?(Da.isTypeOf=!0,e.factory.createIndexedAccessTypeNode(Da,e.factory.createLiteralTypeNode(e.factory.createStringLiteral(fr)))):e.isTypeReferenceNode(Da)?e.factory.createIndexedAccessTypeNode(e.factory.createTypeQueryNode(Da.typeName),e.factory.createLiteralTypeNode(e.factory.createStringLiteral(fr))):e.Debug.fail(\"Unhandled type node kind returned from `symbolToTypeNode`.\")}if(1056&Et.flags)return nn(Et.symbol,wt,788968);if(128&Et.flags)return wt.approximateLength+=Et.value.length+2,e.factory.createLiteralTypeNode(e.setEmitFlags(e.factory.createStringLiteral(Et.value,!!(268435456&wt.flags)),16777216));if(256&Et.flags){var rt=Et.value;return wt.approximateLength+=(\"\"+rt).length,e.factory.createLiteralTypeNode(rt<0?e.factory.createPrefixUnaryExpression(40,e.factory.createNumericLiteral(-rt)):e.factory.createNumericLiteral(rt))}if(2048&Et.flags)return wt.approximateLength+=e.pseudoBigIntToString(Et.value).length+1,e.factory.createLiteralTypeNode(e.factory.createBigIntLiteral(Et.value));if(512&Et.flags)return wt.approximateLength+=Et.intrinsicName.length,e.factory.createLiteralTypeNode(Et.intrinsicName===\"true\"?e.factory.createTrue():e.factory.createFalse());if(8192&Et.flags){if(!(1048576&wt.flags)){if(If(Et.symbol,wt.enclosingDeclaration))return wt.approximateLength+=6,nn(Et.symbol,wt,111551);wt.tracker.reportInaccessibleUniqueSymbolError&&wt.tracker.reportInaccessibleUniqueSymbolError()}return wt.approximateLength+=13,e.factory.createTypeOperatorNode(151,e.factory.createKeywordTypeNode(148))}if(16384&Et.flags)return wt.approximateLength+=4,e.factory.createKeywordTypeNode(113);if(32768&Et.flags)return wt.approximateLength+=9,e.factory.createKeywordTypeNode(150);if(65536&Et.flags)return wt.approximateLength+=4,e.factory.createLiteralTypeNode(e.factory.createNull());if(131072&Et.flags)return wt.approximateLength+=5,e.factory.createKeywordTypeNode(141);if(4096&Et.flags)return wt.approximateLength+=6,e.factory.createKeywordTypeNode(148);if(67108864&Et.flags)return wt.approximateLength+=6,e.factory.createKeywordTypeNode(145);if(XB(Et))return 4194304&wt.flags&&(wt.encounteredError||32768&wt.flags||(wt.encounteredError=!0),wt.tracker.reportInaccessibleThisError&&wt.tracker.reportInaccessibleThisError()),wt.approximateLength+=4,e.factory.createThisTypeNode();if(!da&&Et.aliasSymbol&&(16384&wt.flags||dp(Et.aliasSymbol,wt.enclosingDeclaration))){var di=T0(Et.aliasTypeArguments,wt);return!no(Et.aliasSymbol.escapedName)||32&Et.aliasSymbol.flags?nn(Et.aliasSymbol,wt,788968,di):e.factory.createTypeReferenceNode(e.factory.createIdentifier(\"\"),di)}var Wt=e.getObjectFlags(Et);if(4&Wt)return e.Debug.assert(!!(524288&Et.flags)),Et.node?nc(Et,yb):yb(Et);if(262144&Et.flags||3&Wt){if(262144&Et.flags&&e.contains(wt.inferTypeParameters,Et))return wt.approximateLength+=e.symbolName(Et.symbol).length+6,e.factory.createInferTypeNode(A1(Et,wt,void 0));if(4&wt.flags&&262144&Et.flags&&!dp(Et.symbol,wt.enclosingDeclaration)){var dn=Ei(Et,wt);return wt.approximateLength+=e.idText(dn).length,e.factory.createTypeReferenceNode(e.factory.createIdentifier(e.idText(dn)),void 0)}return Et.symbol?nn(Et.symbol,wt,788968):e.factory.createTypeReferenceNode(e.factory.createIdentifier(\"?\"),void 0)}if(1048576&Et.flags&&Et.origin&&(Et=Et.origin),3145728&Et.flags){var Si=1048576&Et.flags?function(cs){for(var Ul=[],hp=0,Jc=0;Jc<cs.length;Jc++){var jE=cs[Jc];if(hp|=jE.flags,!(98304&jE.flags)){if(1536&jE.flags){var Wd=512&jE.flags?rn:Zj(jE);if(1048576&Wd.flags){var RD=Wd.types.length;if(Jc+RD<=cs.length&&Kp(cs[Jc+RD-1])===Kp(Wd.types[RD-1])){Ul.push(Wd),Jc+=RD-1;continue}}}Ul.push(jE)}}return 65536&hp&&Ul.push(M),32768&hp&&Ul.push(Gr),Ul||cs}(Et.types):Et.types;if(e.length(Si)===1)return g(Si[0],wt);var yi=T0(Si,wt,!0);return yi&&yi.length>0?1048576&Et.flags?e.factory.createUnionTypeNode(yi):e.factory.createIntersectionTypeNode(yi):void(wt.encounteredError||262144&wt.flags||(wt.encounteredError=!0))}if(48&Wt)return e.Debug.assert(!!(524288&Et.flags)),Ia(Et);if(4194304&Et.flags){var l=Et.type;wt.approximateLength+=6;var z=g(l,wt);return e.factory.createTypeOperatorNode(138,z)}if(134217728&Et.flags){var zr=Et.texts,re=Et.types,Oo=e.factory.createTemplateHead(zr[0]),yu=e.factory.createNodeArray(e.map(re,function(cs,Ul){return e.factory.createTemplateLiteralTypeSpan(g(cs,wt),(Ul<re.length-1?e.factory.createTemplateMiddle:e.factory.createTemplateTail)(zr[Ul+1]))}));return wt.approximateLength+=2,e.factory.createTemplateLiteralType(Oo,yu)}if(268435456&Et.flags){var dl=g(Et.type,wt);return nn(Et.symbol,wt,788968,[dl])}if(8388608&Et.flags){var lc=g(Et.objectType,wt);return z=g(Et.indexType,wt),wt.approximateLength+=2,e.factory.createIndexedAccessTypeNode(lc,z)}if(16777216&Et.flags){var qi=g(Et.checkType,wt),eo=wt.inferTypeParameters;wt.inferTypeParameters=Et.root.inferTypeParameters;var Co=g(Et.extendsType,wt);wt.inferTypeParameters=eo;var ou=Pi(jk(Et)),Cs=Pi(V9(Et));return wt.approximateLength+=15,e.factory.createConditionalTypeNode(qi,Co,ou,Cs)}return 33554432&Et.flags?g(Et.baseType,wt):e.Debug.fail(\"Should be unreachable.\");function Pi(cs){var Ul,hp,Jc;return 1048576&cs.flags?((Ul=wt.visitedTypes)===null||Ul===void 0?void 0:Ul.has(Mk(cs)))?(131072&wt.flags||(wt.encounteredError=!0,(Jc=(hp=wt.tracker)===null||hp===void 0?void 0:hp.reportCyclicStructureError)===null||Jc===void 0||Jc.call(hp)),E(wt)):nc(cs,function(jE){return g(jE,wt)}):g(cs,wt)}function Ia(cs){var Ul,hp=cs.id,Jc=cs.symbol;if(Jc){var jE=My(cs)?788968:111551;if(am(Jc.valueDeclaration)||32&Jc.flags&&!Qj(Jc)&&!(Jc.valueDeclaration&&Jc.valueDeclaration.kind===222&&2048&wt.flags)||896&Jc.flags||function(){var RD,Ru=!!(8192&Jc.flags)&&e.some(Jc.declarations,function(gh){return e.hasSyntacticModifier(gh,32)}),Yf=!!(16&Jc.flags)&&(Jc.parent||e.forEach(Jc.declarations,function(gh){return gh.parent.kind===298||gh.parent.kind===258}));if(Ru||Yf)return(!!(4096&wt.flags)||((RD=wt.visitedTypes)===null||RD===void 0?void 0:RD.has(hp)))&&(!(8&wt.flags)||If(Jc,wt.enclosingDeclaration))}())return nn(Jc,wt,jE);if((Ul=wt.visitedTypes)===null||Ul===void 0?void 0:Ul.has(hp)){var Wd=function(RD){if(RD.symbol&&2048&RD.symbol.flags&&RD.symbol.declarations){var Ru=e.walkUpParenthesizedTypes(RD.symbol.declarations[0].parent);if(Ru.kind===255)return ms(Ru)}}(cs);return Wd?nn(Wd,wt,788968):E(wt)}return nc(cs,g2)}return g2(cs)}function nc(cs,Ul){var hp,Jc=cs.id,jE=16&e.getObjectFlags(cs)&&cs.symbol&&32&cs.symbol.flags,Wd=4&e.getObjectFlags(cs)&&cs.node?\"N\"+t0(cs.node):cs.symbol?(jE?\"+\":\"\")+f0(cs.symbol):void 0;if(wt.visitedTypes||(wt.visitedTypes=new e.Set),Wd&&!wt.symbolDepth&&(wt.symbolDepth=new e.Map),Wd){if((hp=wt.symbolDepth.get(Wd)||0)>10)return E(wt);wt.symbolDepth.set(Wd,hp+1)}wt.visitedTypes.add(Jc);var RD=Ul(cs);return wt.visitedTypes.delete(Jc),Wd&&wt.symbolDepth.set(Wd,hp),RD}function g2(cs){if(Sd(cs)||cs.containsError)return function(Ru){e.Debug.assert(!!(524288&Ru.flags));var Yf,gh=Ru.declaration.readonlyToken?e.factory.createToken(Ru.declaration.readonlyToken.kind):void 0,b6=Ru.declaration.questionToken?e.factory.createToken(Ru.declaration.questionToken.kind):void 0;Yf=XD(Ru)?e.factory.createTypeOperatorNode(138,g(VN(Ru),wt)):g(Ep(Ru),wt);var RF=A1(v2(Ru),wt,Yf),IA=Ru.declaration.nameType?g(UN(Ru),wt):void 0,kS=g(Y2(Ru),wt),j4=e.factory.createMappedTypeNode(gh,RF,IA,b6,kS);return wt.approximateLength+=10,e.setEmitFlags(j4,1)}(cs);var Ul=b2(cs);if(!Ul.properties.length&&!Ul.stringIndexInfo&&!Ul.numberIndexInfo){if(!Ul.callSignatures.length&&!Ul.constructSignatures.length)return wt.approximateLength+=2,e.setEmitFlags(e.factory.createTypeLiteralNode(void 0),1);if(Ul.callSignatures.length===1&&!Ul.constructSignatures.length)return M1(Ul.callSignatures[0],175,wt);if(Ul.constructSignatures.length===1&&!Ul.callSignatures.length)return M1(Ul.constructSignatures[0],176,wt)}var hp=e.filter(Ul.constructSignatures,function(Ru){return!!(4&Ru.flags)});if(e.some(hp)){var Jc=e.map(hp,yP);return Ul.callSignatures.length+(Ul.constructSignatures.length-hp.length)+(Ul.stringIndexInfo?1:0)+(Ul.numberIndexInfo?1:0)+(2048&wt.flags?e.countWhere(Ul.properties,function(Ru){return!(4194304&Ru.flags)}):e.length(Ul.properties))&&Jc.push(function(Ru){if(Ru.constructSignatures.length===0)return Ru;if(Ru.objectTypeWithoutAbstractConstructSignatures)return Ru.objectTypeWithoutAbstractConstructSignatures;var Yf=e.filter(Ru.constructSignatures,function(b6){return!(4&b6.flags)});if(Ru.constructSignatures===Yf)return Ru;var gh=yo(Ru.symbol,Ru.members,Ru.callSignatures,e.some(Yf)?Yf:e.emptyArray,Ru.stringIndexInfo,Ru.numberIndexInfo);return Ru.objectTypeWithoutAbstractConstructSignatures=gh,gh.objectTypeWithoutAbstractConstructSignatures=gh,gh}(Ul)),g(Kc(Jc),wt)}var jE=wt.flags;wt.flags|=4194304;var Wd=function(Ru){if(f(wt))return[e.factory.createPropertySignature(void 0,\"...\",void 0,void 0)];for(var Yf=[],gh=0,b6=Ru.callSignatures;gh<b6.length;gh++){var RF=b6[gh];Yf.push(M1(RF,170,wt))}for(var IA=0,kS=Ru.constructSignatures;IA<kS.length;IA++)4&(RF=kS[IA]).flags||Yf.push(M1(RF,171,wt));if(Ru.stringIndexInfo){var j4=void 0;j4=1024&Ru.objectFlags?u1(Fd(E1,Ru.stringIndexInfo.isReadonly,Ru.stringIndexInfo.declaration),0,wt,E(wt)):u1(Ru.stringIndexInfo,0,wt,void 0),Yf.push(j4)}Ru.numberIndexInfo&&Yf.push(u1(Ru.numberIndexInfo,1,wt,void 0));var T4=Ru.properties;if(!T4)return Yf;for(var JC=0,u6=0,kd=T4;u6<kd.length;u6++){var UE=kd[u6];if(JC++,2048&wt.flags){if(4194304&UE.flags)continue;24&e.getDeclarationModifierFlagsFromSymbol(UE)&&wt.tracker.reportPrivateInBaseOfClassExpression&&wt.tracker.reportPrivateInBaseOfClassExpression(e.unescapeLeadingUnderscores(UE.escapedName))}if(f(wt)&&JC+2<T4.length-1){Yf.push(e.factory.createPropertySignature(void 0,\"... \"+(T4.length-JC)+\" more ...\",void 0,void 0)),q(T4[T4.length-1],wt,Yf);break}q(UE,wt,Yf)}return Yf.length?Yf:void 0}(Ul);wt.flags=jE;var RD=e.factory.createTypeLiteralNode(Wd);return wt.approximateLength+=2,e.setEmitFlags(RD,1024&wt.flags?0:1),RD}function yb(cs){var Ul=Cc(cs);if(cs.target===df||cs.target===pl){if(2&wt.flags){var hp=g(Ul[0],wt);return e.factory.createTypeReferenceNode(cs.target===df?\"Array\":\"ReadonlyArray\",[hp])}var Jc=g(Ul[0],wt),jE=e.factory.createArrayTypeNode(Jc);return cs.target===df?jE:e.factory.createTypeOperatorNode(142,jE)}if(!(8&cs.target.objectFlags)){if(2048&wt.flags&&cs.symbol.valueDeclaration&&e.isClassLike(cs.symbol.valueDeclaration)&&!If(cs.symbol,wt.enclosingDeclaration))return Ia(cs);var Wd=cs.target.outerTypeParameters,RD=(kd=0,void 0);if(Wd)for(var Ru=Wd.length;kd<Ru;){var Yf=kd,gh=rM(Wd[kd]);do kd++;while(kd<Ru&&rM(Wd[kd])===gh);if(!e.rangeEquals(Wd,Ul,Yf,kd)){var b6=T0(Ul.slice(Yf,kd),wt),RF=wt.flags;wt.flags|=16;var IA=nn(gh,wt,788968,b6);wt.flags=RF,RD=RD?Ic(RD,IA):IA}}var kS=void 0;if(Ul.length>0){var j4=(cs.target.typeParameters||e.emptyArray).length;kS=T0(Ul.slice(kd,j4),wt)}UE=wt.flags,wt.flags|=16;var T4=nn(cs.symbol,wt,788968,kS);return wt.flags=UE,RD?Ic(RD,T4):T4}if(Ul.length>0){var JC=DP(cs),u6=T0(Ul.slice(0,JC),wt);if(u6){if(cs.target.labeledElementDeclarations)for(var kd=0;kd<u6.length;kd++){var UE=cs.target.elementFlags[kd];u6[kd]=e.factory.createNamedTupleMember(12&UE?e.factory.createToken(25):void 0,e.factory.createIdentifier(e.unescapeLeadingUnderscores(GO(cs.target.labeledElementDeclarations[kd]))),2&UE?e.factory.createToken(57):void 0,4&UE?e.factory.createArrayTypeNode(u6[kd]):u6[kd])}else for(var kd=0;kd<Math.min(JC,u6.length);kd++){var UE=cs.target.elementFlags[kd];u6[kd]=12&UE?e.factory.createRestTypeNode(4&UE?e.factory.createArrayTypeNode(u6[kd]):u6[kd]):2&UE?e.factory.createOptionalTypeNode(u6[kd]):u6[kd]}var iF=e.setEmitFlags(e.factory.createTupleTypeNode(u6),1);return cs.target.readonly?e.factory.createTypeOperatorNode(142,iF):iF}}if(wt.encounteredError||524288&wt.flags)return iF=e.setEmitFlags(e.factory.createTupleTypeNode([]),1),cs.target.readonly?e.factory.createTypeOperatorNode(142,iF):iF;wt.encounteredError=!0}function Ic(cs,Ul){if(e.isImportTypeNode(cs)){var hp=cs.typeArguments,Jc=cs.qualifier;Jc&&(Jc=e.isIdentifier(Jc)?e.factory.updateIdentifier(Jc,hp):e.factory.updateQualifiedName(Jc,Jc.left,e.factory.updateIdentifier(Jc.right,hp))),hp=Ul.typeArguments;for(var jE=0,Wd=m8(Ul);jE<Wd.length;jE++){var RD=Wd[jE];Jc=Jc?e.factory.createQualifiedName(Jc,RD):RD}return e.factory.updateImportTypeNode(cs,cs.argument,Jc,hp,cs.isTypeOf)}hp=cs.typeArguments;var Ru=cs.typeName;Ru=e.isIdentifier(Ru)?e.factory.updateIdentifier(Ru,hp):e.factory.updateQualifiedName(Ru,Ru.left,e.factory.updateIdentifier(Ru.right,hp)),hp=Ul.typeArguments;for(var Yf=0,gh=m8(Ul);Yf<gh.length;Yf++)RD=gh[Yf],Ru=e.factory.createQualifiedName(Ru,RD);return e.factory.updateTypeReferenceNode(cs,Ru,hp)}function m8(cs){for(var Ul=cs.typeName,hp=[];!e.isIdentifier(Ul);)hp.unshift(Ul.right),Ul=Ul.left;return hp.unshift(Ul),hp}}function E(Et){return Et.approximateLength+=3,1&Et.flags?e.factory.createKeywordTypeNode(128):e.factory.createTypeReferenceNode(e.factory.createIdentifier(\"...\"),void 0)}function F(Et,wt){var da;return!!(8192&e.getCheckFlags(Et))&&(e.contains(wt.reverseMappedStack,Et)||((da=wt.reverseMappedStack)===null||da===void 0?void 0:da[0])&&!(16&e.getObjectFlags(e.last(wt.reverseMappedStack).propertyType)))}function q(Et,wt,da){var Ya,Da=!!(8192&e.getCheckFlags(Et)),fr=F(Et,wt)?E1:Yo(Et),rt=wt.enclosingDeclaration;if(wt.enclosingDeclaration=void 0,wt.tracker.trackSymbol&&4096&e.getCheckFlags(Et)&&jN(Et.escapedName)){var di=e.first(Et.declarations);if(Et.declarations&&mg(di))if(e.isBinaryExpression(di)){var Wt=e.getNameOfDeclaration(di);Wt&&e.isElementAccessExpression(Wt)&&e.isPropertyAccessEntityNameExpression(Wt.argumentExpression)&&ye(Wt.argumentExpression,rt,wt)}else ye(di.name.expression,rt,wt)}wt.enclosingDeclaration=Et.valueDeclaration||((Ya=Et.declarations)===null||Ya===void 0?void 0:Ya[0])||rt;var dn=Ra(Et,wt);wt.enclosingDeclaration=rt,wt.approximateLength+=e.symbolName(Et).length+1;var Si=16777216&Et.flags?e.factory.createToken(57):void 0;if(8208&Et.flags&&!Gm(fr).length&&!j2(Et))for(var yi=0,l=_u(aA(fr,function(dl){return!(32768&dl.flags)}),0);yi<l.length;yi++){var z=M1(l[yi],165,wt,{name:dn,questionToken:Si});da.push(yu(z))}else{var zr=void 0;F(Et,wt)?zr=E(wt):(Da&&(wt.reverseMappedStack||(wt.reverseMappedStack=[]),wt.reverseMappedStack.push(Et)),zr=fr?zi(wt,fr,Et,rt):e.factory.createKeywordTypeNode(128),Da&&wt.reverseMappedStack.pop());var re=j2(Et)?[e.factory.createToken(142)]:void 0;re&&(wt.approximateLength+=9);var Oo=e.factory.createPropertySignature(re,dn,Si,zr);da.push(yu(Oo))}function yu(dl){var lc;if(e.some(Et.declarations,function(Co){return Co.kind===337})){var qi=(lc=Et.declarations)===null||lc===void 0?void 0:lc.find(function(Co){return Co.kind===337}),eo=e.getTextOfJSDocComment(qi.comment);eo&&e.setSyntheticLeadingComments(dl,[{kind:3,text:`*\n * `+eo.replace(/\\n/g,`\n * `)+`\n `,pos:-1,end:-1,hasTrailingNewLine:!0}])}else Et.valueDeclaration&&e.setCommentRange(dl,Et.valueDeclaration);return dl}}function T0(Et,wt,da){if(e.some(Et)){if(f(wt)){if(!da)return[e.factory.createTypeReferenceNode(\"...\",void 0)];if(Et.length>2)return[g(Et[0],wt),e.factory.createTypeReferenceNode(\"... \"+(Et.length-2)+\" more ...\",void 0),g(Et[Et.length-1],wt)]}for(var Ya=64&wt.flags?void 0:e.createUnderscoreEscapedMultiMap(),Da=[],fr=0,rt=0,di=Et;rt<di.length;rt++){var Wt=di[rt];if(fr++,f(wt)&&fr+2<Et.length-1){Da.push(e.factory.createTypeReferenceNode(\"... \"+(Et.length-fr)+\" more ...\",void 0));var dn=g(Et[Et.length-1],wt);dn&&Da.push(dn);break}wt.approximateLength+=2;var Si=g(Wt,wt);Si&&(Da.push(Si),Ya&&e.isIdentifierTypeReference(Si)&&Ya.add(Si.typeName.escapedText,[Wt,Da.length-1]))}if(Ya){var yi=wt.flags;wt.flags|=64,Ya.forEach(function(l){if(!e.arrayIsHomogeneous(l,function(dl,lc){return function(qi,eo){return qi===eo||!!qi.symbol&&qi.symbol===eo.symbol||!!qi.aliasSymbol&&qi.aliasSymbol===eo.aliasSymbol}(dl[0],lc[0])}))for(var z=0,zr=l;z<zr.length;z++){var re=zr[z],Oo=re[0],yu=re[1];Da[yu]=g(Oo,wt)}}),wt.flags=yi}return Da}}function u1(Et,wt,da,Ya){var Da=e.getNameFromIndexInfo(Et)||\"x\",fr=e.factory.createKeywordTypeNode(wt===0?147:144),rt=e.factory.createParameterDeclaration(void 0,void 0,void 0,Da,void 0,fr,void 0);return Ya||(Ya=g(Et.type||E1,da)),Et.type||2097152&da.flags||(da.encounteredError=!0),da.approximateLength+=Da.length+4,e.factory.createIndexSignature(void 0,Et.isReadonly?[e.factory.createToken(142)]:void 0,[rt],Ya)}function M1(Et,wt,da,Ya){var Da,fr,rt,di,Wt,dn,Si=256&da.flags;Si&&(da.flags&=-257),32&da.flags&&Et.target&&Et.mapper&&Et.target.typeParameters?dn=Et.target.typeParameters.map(function(ou){return g(xo(ou,Et.mapper),da)}):Wt=Et.typeParameters&&Et.typeParameters.map(function(ou){return lx(ou,da)});var yi,l=HD(Et,!0)[0],z=(e.some(l,function(ou){return ou!==l[l.length-1]&&!!(32768&e.getCheckFlags(ou))})?Et.parameters:l).map(function(ou){return Vx(ou,da,wt===167,Ya==null?void 0:Ya.privateSymbolVisitor,Ya==null?void 0:Ya.bundledImports)});if(Et.thisParameter){var zr=Vx(Et.thisParameter,da);z.unshift(zr)}var re=kA(Et);if(re){var Oo=re.kind===2||re.kind===3?e.factory.createToken(127):void 0,yu=re.kind===1||re.kind===3?e.setEmitFlags(e.factory.createIdentifier(re.parameterName),16777216):e.factory.createThisTypeNode(),dl=re.type&&g(re.type,da);yi=e.factory.createTypePredicateNode(Oo,yu,dl)}else{var lc=yc(Et);!lc||Si&&Vu(lc)?Si||(yi=e.factory.createKeywordTypeNode(128)):yi=function(ou,Cs,Pi,Ia,nc){if(Cs!==ae&&ou.enclosingDeclaration){var g2=Pi.declaration&&e.getEffectiveReturnTypeNode(Pi.declaration);if(e.findAncestor(g2,function(m8){return m8===ou.enclosingDeclaration})&&g2){var yb=Dc(g2);if((262144&yb.flags&&yb.isThisType?xo(yb,Pi.mapper):yb)===Cs&&Gi(g2,Cs)){var Ic=Ms(ou,g2,Ia,nc);if(Ic)return Ic}}}return g(Cs,ou)}(da,lc,Et,Ya==null?void 0:Ya.privateSymbolVisitor,Ya==null?void 0:Ya.bundledImports)}var qi=Ya==null?void 0:Ya.modifiers;if(wt===176&&4&Et.flags){var eo=e.modifiersToFlags(qi);qi=e.factory.createModifiersFromModifierFlags(128|eo)}da.approximateLength+=3;var Co=wt===170?e.factory.createCallSignature(Wt,z,yi):wt===171?e.factory.createConstructSignature(Wt,z,yi):wt===165?e.factory.createMethodSignature(qi,(Da=Ya==null?void 0:Ya.name)!==null&&Da!==void 0?Da:e.factory.createIdentifier(\"\"),Ya==null?void 0:Ya.questionToken,Wt,z,yi):wt===166?e.factory.createMethodDeclaration(void 0,qi,void 0,(fr=Ya==null?void 0:Ya.name)!==null&&fr!==void 0?fr:e.factory.createIdentifier(\"\"),void 0,Wt,z,yi,void 0):wt===167?e.factory.createConstructorDeclaration(void 0,qi,z,void 0):wt===168?e.factory.createGetAccessorDeclaration(void 0,qi,(rt=Ya==null?void 0:Ya.name)!==null&&rt!==void 0?rt:e.factory.createIdentifier(\"\"),z,yi,void 0):wt===169?e.factory.createSetAccessorDeclaration(void 0,qi,(di=Ya==null?void 0:Ya.name)!==null&&di!==void 0?di:e.factory.createIdentifier(\"\"),z,void 0):wt===172?e.factory.createIndexSignature(void 0,qi,z,yi):wt===309?e.factory.createJSDocFunctionType(z,yi):wt===175?e.factory.createFunctionTypeNode(Wt,z,yi!=null?yi:e.factory.createTypeReferenceNode(e.factory.createIdentifier(\"\"))):wt===176?e.factory.createConstructorTypeNode(qi,Wt,z,yi!=null?yi:e.factory.createTypeReferenceNode(e.factory.createIdentifier(\"\"))):wt===252?e.factory.createFunctionDeclaration(void 0,qi,void 0,(Ya==null?void 0:Ya.name)?e.cast(Ya.name,e.isIdentifier):e.factory.createIdentifier(\"\"),Wt,z,yi,void 0):wt===209?e.factory.createFunctionExpression(qi,void 0,(Ya==null?void 0:Ya.name)?e.cast(Ya.name,e.isIdentifier):e.factory.createIdentifier(\"\"),Wt,z,yi,e.factory.createBlock([])):wt===210?e.factory.createArrowFunction(qi,Wt,z,yi,void 0,e.factory.createBlock([])):e.Debug.assertNever(wt);return dn&&(Co.typeArguments=e.factory.createNodeArray(dn)),Co}function A1(Et,wt,da){var Ya=wt.flags;wt.flags&=-513;var Da=Ei(Et,wt),fr=$N(Et),rt=fr&&g(fr,wt);return wt.flags=Ya,e.factory.createTypeParameterDeclaration(Da,da,rt)}function lx(Et,wt,da){return da===void 0&&(da=_d(Et)),A1(Et,wt,da&&g(da,wt))}function Vx(Et,wt,da,Ya,Da){var fr=e.getDeclarationOfKind(Et,161);fr||e.isTransientSymbol(Et)||(fr=e.getDeclarationOfKind(Et,330));var rt,di=Yo(Et);fr&&tB(fr)&&(di=nm(di)),1073741824&wt.flags&&fr&&!e.isJSDocParameterTag(fr)&&(rt=fr,C1&&Eh(rt)&&!rt.initializer)&&(di=KS(di,524288));var Wt=zi(wt,di,Et,wt.enclosingDeclaration,Ya,Da),dn=!(8192&wt.flags)&&da&&fr&&fr.modifiers?fr.modifiers.map(e.factory.cloneNode):void 0,Si=fr&&e.isRestParameter(fr)||32768&e.getCheckFlags(Et)?e.factory.createToken(25):void 0,yi=fr&&fr.name?fr.name.kind===78?e.setEmitFlags(e.factory.cloneNode(fr.name),16777216):fr.name.kind===158?e.setEmitFlags(e.factory.cloneNode(fr.name.right),16777216):function(zr){return function re(Oo){wt.tracker.trackSymbol&&e.isComputedPropertyName(Oo)&&bR(Oo)&&ye(Oo.expression,wt.enclosingDeclaration,wt);var yu=e.visitEachChild(Oo,re,e.nullTransformationContext,void 0,re);return e.isBindingElement(yu)&&(yu=e.factory.updateBindingElement(yu,yu.dotDotDotToken,yu.propertyName,yu.name,void 0)),e.nodeIsSynthesized(yu)||(yu=e.factory.cloneNode(yu)),e.setEmitFlags(yu,16777217)}(zr)}(fr.name):e.symbolName(Et),l=fr&&Eh(fr)||16384&e.getCheckFlags(Et)?e.factory.createToken(57):void 0,z=e.factory.createParameterDeclaration(void 0,dn,Si,yi,l,Wt,void 0);return wt.approximateLength+=e.symbolName(Et).length+3,z}function ye(Et,wt,da){if(da.tracker.trackSymbol){var Ya=e.getFirstIdentifier(Et),Da=j6(Ya,Ya.escapedText,1160127,void 0,void 0,!0);Da&&da.tracker.trackSymbol(Da,wt,111551)}}function Ue(Et,wt,da,Ya){return wt.tracker.trackSymbol(Et,wt.enclosingDeclaration,da),Ge(Et,wt,da,Ya)}function Ge(Et,wt,da,Ya){var Da;return 262144&Et.flags||!(wt.enclosingDeclaration||64&wt.flags)||134217728&wt.flags?Da=[Et]:(Da=e.Debug.checkDefined(function fr(rt,di,Wt){var dn,Si=xl(rt,wt.enclosingDeclaration,di,!!(128&wt.flags));if(!Si||Jl(Si[0],wt.enclosingDeclaration,Si.length===1?di:oc(di))){var yi=ug(Si?Si[0]:rt,wt.enclosingDeclaration,di);if(e.length(yi)){dn=yi.map(function(dl){return e.some(dl.declarations,qT)?Yt(dl,wt):void 0});var l=yi.map(function(dl,lc){return lc});l.sort(yu);for(var z=0,zr=l.map(function(dl){return yi[dl]});z<zr.length;z++){var re=zr[z],Oo=fr(re,oc(di),!1);if(Oo){if(re.exports&&re.exports.get(\"export=\")&&qm(re.exports.get(\"export=\"),rt)){Si=Oo;break}Si=Oo.concat(Si||[s6(re,rt)||rt]);break}}}}if(Si)return Si;if(Wt||!(6144&rt.flags))return!Wt&&!Ya&&e.forEach(rt.declarations,qT)?void 0:[rt];function yu(dl,lc){var qi=dn[dl],eo=dn[lc];if(qi&&eo){var Co=e.pathIsRelative(eo);return e.pathIsRelative(qi)===Co?e.moduleSpecifiers.countPathComponents(qi)-e.moduleSpecifiers.countPathComponents(eo):Co?-1:1}return 0}}(Et,da,!0)),e.Debug.assert(Da&&Da.length>0)),Da}function er(Et,wt){var da;return 524384&GN(Et).flags&&(da=e.factory.createNodeArray(e.map(R9(Et),function(Ya){return lx(Ya,wt)}))),da}function Ar(Et,wt,da){var Ya;e.Debug.assert(Et&&0<=wt&&wt<Et.length);var Da=Et[wt],fr=f0(Da);if(!((Ya=da.typeParameterSymbolList)===null||Ya===void 0?void 0:Ya.has(fr))){var rt;if((da.typeParameterSymbolList||(da.typeParameterSymbolList=new e.Set)).add(fr),512&da.flags&&wt<Et.length-1){var di=Da,Wt=Et[wt+1];if(1&e.getCheckFlags(Wt)){var dn=function(Si){return e.concatenate(sy(Si),R9(Si))}(2097152&di.flags?ui(di):di);rt=T0(e.map(dn,function(Si){return Lm(Si,Wt.mapper)}),da)}else rt=er(Da,da)}return rt}}function vr(Et){return e.isIndexedAccessTypeNode(Et.objectType)?vr(Et.objectType):Et}function Yt(Et,wt){var da,Ya=e.getDeclarationOfKind(Et,298);if(!Ya){var Da=e.firstDefined(Et.declarations,function(re){return cg(re,Et)});Da&&(Ya=e.getDeclarationOfKind(Da,298))}if(Ya&&Ya.moduleName!==void 0)return Ya.moduleName;if(!Ya){if(wt.tracker.trackReferencedAmbientModule){var fr=e.filter(Et.declarations,e.isAmbientModule);if(e.length(fr))for(var rt=0,di=fr;rt<di.length;rt++){var Wt=di[rt];wt.tracker.trackReferencedAmbientModule(Wt,Et)}}if(s1.test(Et.escapedName))return Et.escapedName.substring(1,Et.escapedName.length-1)}if(!wt.enclosingDeclaration||!wt.tracker.moduleResolverHost)return s1.test(Et.escapedName)?Et.escapedName.substring(1,Et.escapedName.length-1):e.getSourceFileOfNode(e.getNonAugmentationDeclaration(Et)).fileName;var dn=e.getSourceFileOfNode(e.getOriginalNode(wt.enclosingDeclaration)),Si=Zo(Et),yi=Si.specifierCache&&Si.specifierCache.get(dn.path);if(!yi){var l=!!e.outFile(V1),z=wt.tracker.moduleResolverHost,zr=l?$($({},V1),{baseUrl:z.getCommonSourceDirectory()}):V1;yi=e.first(e.moduleSpecifiers.getModuleSpecifiers(Et,Kn,zr,dn,z,{importModuleSpecifierPreference:l?\"non-relative\":\"project-relative\",importModuleSpecifierEnding:l?\"minimal\":void 0})),(da=Si.specifierCache)!==null&&da!==void 0||(Si.specifierCache=new e.Map),Si.specifierCache.set(dn.path,yi)}return yi}function nn(Et,wt,da,Ya){var Da=Ue(Et,wt,da,!(16384&wt.flags)),fr=da===111551;if(e.some(Da[0].declarations,qT)){var rt=Da.length>1?re(Da,Da.length-1,1):void 0,di=Ya||Ar(Da,0,wt),Wt=Yt(Da[0],wt);!(67108864&wt.flags)&&e.getEmitModuleResolutionKind(V1)===e.ModuleResolutionKind.NodeJs&&Wt.indexOf(\"/node_modules/\")>=0&&(wt.encounteredError=!0,wt.tracker.reportLikelyUnsafeImportRequiredError&&wt.tracker.reportLikelyUnsafeImportRequiredError(Wt));var dn=e.factory.createLiteralTypeNode(e.factory.createStringLiteral(Wt));if(wt.tracker.trackExternalModuleSymbolOfImportTypeNode&&wt.tracker.trackExternalModuleSymbolOfImportTypeNode(Da[0]),wt.approximateLength+=Wt.length+10,!rt||e.isEntityName(rt))return rt&&((z=e.isIdentifier(rt)?rt:rt.right).typeArguments=void 0),e.factory.createImportTypeNode(dn,rt,di,fr);var Si=vr(rt),yi=Si.objectType.typeName;return e.factory.createIndexedAccessTypeNode(e.factory.createImportTypeNode(dn,yi,di,fr),Si.indexType)}var l=re(Da,Da.length-1,0);if(e.isIndexedAccessTypeNode(l))return l;if(fr)return e.factory.createTypeQueryNode(l);var z,zr=(z=e.isIdentifier(l)?l:l.right).typeArguments;return z.typeArguments=void 0,e.factory.createTypeReferenceNode(l,zr);function re(Oo,yu,dl){var lc,qi=yu===Oo.length-1?Ya:Ar(Oo,yu,wt),eo=Oo[yu],Co=Oo[yu-1];if(yu===0)wt.flags|=16777216,lc=fg(eo,wt),wt.approximateLength+=(lc?lc.length:0)+1,wt.flags^=16777216;else if(Co&&Sw(Co)){var ou=Sw(Co);e.forEachEntry(ou,function(Ia,nc){if(qm(Ia,eo)&&!jN(nc)&&nc!==\"export=\")return lc=e.unescapeLeadingUnderscores(nc),!0})}if(lc||(lc=fg(eo,wt)),wt.approximateLength+=lc.length+1,!(16&wt.flags)&&Co&&si(Co)&&si(Co).get(eo.escapedName)&&qm(si(Co).get(eo.escapedName),eo)){var Cs=re(Oo,yu-1,dl);return e.isIndexedAccessTypeNode(Cs)?e.factory.createIndexedAccessTypeNode(Cs,e.factory.createLiteralTypeNode(e.factory.createStringLiteral(lc))):e.factory.createIndexedAccessTypeNode(e.factory.createTypeReferenceNode(Cs,qi),e.factory.createLiteralTypeNode(e.factory.createStringLiteral(lc)))}var Pi=e.setEmitFlags(e.factory.createIdentifier(lc,qi),16777216);return Pi.symbol=eo,yu>dl?(Cs=re(Oo,yu-1,dl),e.isEntityName(Cs)?e.factory.createQualifiedName(Cs,Pi):e.Debug.fail(\"Impossible construct - an export of an indexed access cannot be reachable\")):Pi}}function Nn(Et,wt,da){var Ya=j6(wt.enclosingDeclaration,Et,788968,void 0,Et,!1);return!!Ya&&!(262144&Ya.flags&&Ya===da.symbol)}function Ei(Et,wt){var da;if(4&wt.flags&&wt.typeParameterNames){var Ya=wt.typeParameterNames.get(Mk(Et));if(Ya)return Ya}var Da=Ca(Et.symbol,wt,788968,!0);if(!(78&Da.kind))return e.factory.createIdentifier(\"(Missing type parameter)\");if(4&wt.flags){for(var fr=Da.escapedText,rt=0,di=fr;((da=wt.typeParameterNamesByText)===null||da===void 0?void 0:da.has(di))||Nn(di,wt,Et);)di=fr+\"_\"+ ++rt;di!==fr&&(Da=e.factory.createIdentifier(di,Da.typeArguments)),(wt.typeParameterNames||(wt.typeParameterNames=new e.Map)).set(Mk(Et),Da),(wt.typeParameterNamesByText||(wt.typeParameterNamesByText=new e.Set)).add(Da.escapedText)}return Da}function Ca(Et,wt,da,Ya){var Da=Ue(Et,wt,da);return!Ya||Da.length===1||wt.encounteredError||65536&wt.flags||(wt.encounteredError=!0),function fr(rt,di){var Wt=Ar(rt,di,wt),dn=rt[di];di===0&&(wt.flags|=16777216);var Si=fg(dn,wt);di===0&&(wt.flags^=16777216);var yi=e.setEmitFlags(e.factory.createIdentifier(Si,Wt),16777216);return yi.symbol=dn,di>0?e.factory.createQualifiedName(fr(rt,di-1),yi):yi}(Da,Da.length-1)}function Aa(Et,wt,da){var Ya=Ue(Et,wt,da);return function Da(fr,rt){var di=Ar(fr,rt,wt),Wt=fr[rt];rt===0&&(wt.flags|=16777216);var dn=fg(Wt,wt);rt===0&&(wt.flags^=16777216);var Si=dn.charCodeAt(0);if(e.isSingleOrDoubleQuote(Si)&&e.some(Wt.declarations,qT))return e.factory.createStringLiteral(Yt(Wt,wt));var yi=Si===35?dn.length>1&&e.isIdentifierStart(dn.charCodeAt(1),Ox):e.isIdentifierStart(Si,Ox);if(rt===0||yi){var l=e.setEmitFlags(e.factory.createIdentifier(dn,di),16777216);return l.symbol=Wt,rt>0?e.factory.createPropertyAccessExpression(Da(fr,rt-1),l):l}Si===91&&(dn=dn.substring(1,dn.length-1),Si=dn.charCodeAt(0));var z=void 0;return e.isSingleOrDoubleQuote(Si)?z=e.factory.createStringLiteral(dn.substring(1,dn.length-1).replace(/\\\\./g,function(zr){return zr.substring(1)}),Si===39):\"\"+ +dn===dn&&(z=e.factory.createNumericLiteral(+dn)),z||((z=e.setEmitFlags(e.factory.createIdentifier(dn,di),16777216)).symbol=Wt),e.factory.createElementAccessExpression(Da(fr,rt-1),z)}(Ya,Ya.length-1)}function Qi(Et){var wt=e.getNameOfDeclaration(Et);return!!wt&&e.isStringLiteral(wt)}function Oa(Et){var wt=e.getNameOfDeclaration(Et);return!!(wt&&e.isStringLiteral(wt)&&(wt.singleQuote||!e.nodeIsSynthesized(wt)&&e.startsWith(e.getTextOfNode(wt,!1),\"'\")))}function Ra(Et,wt){var da=!!e.length(Et.declarations)&&e.every(Et.declarations,Oa),Ya=function(Da,fr,rt){var di=Zo(Da).nameType;if(di){if(384&di.flags){var Wt=\"\"+di.value;return e.isIdentifierText(Wt,V1.target)||nd(Wt)?nd(Wt)&&e.startsWith(Wt,\"-\")?e.factory.createComputedPropertyName(e.factory.createNumericLiteral(+Wt)):yn(Wt):e.factory.createStringLiteral(Wt,!!rt)}if(8192&di.flags)return e.factory.createComputedPropertyName(Aa(di.symbol,fr,111551))}}(Et,wt,da);return Ya||yn(e.unescapeLeadingUnderscores(Et.escapedName),!!e.length(Et.declarations)&&e.every(Et.declarations,Qi),da)}function yn(Et,wt,da){return e.isIdentifierText(Et,V1.target)?e.factory.createIdentifier(Et):!wt&&nd(Et)&&+Et>=0?e.factory.createNumericLiteral(+Et):e.factory.createStringLiteral(Et,!!da)}function ti(Et,wt){return Et.declarations&&e.find(Et.declarations,function(da){return!(!e.getEffectiveTypeAnnotationNode(da)||wt&&!e.findAncestor(da,function(Ya){return Ya===wt}))})}function Gi(Et,wt){return!(4&e.getObjectFlags(wt))||!e.isTypeReferenceNode(Et)||e.length(Et.typeArguments)>=Aw(wt.target.typeParameters)}function zi(Et,wt,da,Ya,Da,fr){if(wt!==ae&&Ya){var rt=ti(da,Ya);if(rt&&!e.isFunctionLikeDeclaration(rt)&&!e.isGetAccessorDeclaration(rt)){var di=e.getEffectiveTypeAnnotationNode(rt);if(Dc(di)===wt&&Gi(di,wt)){var Wt=Ms(Et,di,Da,fr);if(Wt)return Wt}}}var dn=Et.flags;8192&wt.flags&&wt.symbol===da&&(!Et.enclosingDeclaration||e.some(da.declarations,function(yi){return e.getSourceFileOfNode(yi)===e.getSourceFileOfNode(Et.enclosingDeclaration)}))&&(Et.flags|=1048576);var Si=g(wt,Et);return Et.flags=dn,Si}function Wo(Et,wt,da){var Ya,Da,fr=!1,rt=e.getFirstIdentifier(Et);if(e.isInJSFile(Et)&&(e.isExportsIdentifier(rt)||e.isModuleExportsAccessExpression(rt.parent)||e.isQualifiedName(rt.parent)&&e.isModuleIdentifier(rt.parent.left)&&e.isExportsIdentifier(rt.parent.right)))return{introducesError:fr=!0,node:Et};var di=nl(rt,67108863,!0,!0);if(di&&(sw(di,wt.enclosingDeclaration,67108863,!1).accessibility!==0?fr=!0:((Da=(Ya=wt.tracker)===null||Ya===void 0?void 0:Ya.trackSymbol)===null||Da===void 0||Da.call(Ya,di,wt.enclosingDeclaration,67108863),da==null||da(di)),e.isIdentifier(Et))){var Wt=262144&di.flags?Ei(Il(di),wt):e.factory.cloneNode(Et);return Wt.symbol=di,{introducesError:fr,node:e.setEmitFlags(e.setOriginalNode(Wt,Et),16777216)}}return{introducesError:fr,node:Et}}function Ms(Et,wt,da,Ya){Z1&&Z1.throwIfCancellationRequested&&Z1.throwIfCancellationRequested();var Da=!1,fr=e.getSourceFileOfNode(wt),rt=e.visitNode(wt,function di(Wt){if(e.isJSDocAllType(Wt)||Wt.kind===311)return e.factory.createKeywordTypeNode(128);if(e.isJSDocUnknownType(Wt))return e.factory.createKeywordTypeNode(152);if(e.isJSDocNullableType(Wt))return e.factory.createUnionTypeNode([e.visitNode(Wt.type,di),e.factory.createLiteralTypeNode(e.factory.createNull())]);if(e.isJSDocOptionalType(Wt))return e.factory.createUnionTypeNode([e.visitNode(Wt.type,di),e.factory.createKeywordTypeNode(150)]);if(e.isJSDocNonNullableType(Wt))return e.visitNode(Wt.type,di);if(e.isJSDocVariadicType(Wt))return e.factory.createArrayTypeNode(e.visitNode(Wt.type,di));if(e.isJSDocTypeLiteral(Wt))return e.factory.createTypeLiteralNode(e.map(Wt.jsDocPropertyTags,function(Oo){var yu=e.isIdentifier(Oo.name)?Oo.name:Oo.name.right,dl=qc(Dc(Wt),yu.escapedText),lc=dl&&Oo.typeExpression&&Dc(Oo.typeExpression.type)!==dl?g(dl,Et):void 0;return e.factory.createPropertySignature(void 0,yu,Oo.isBracketed||Oo.typeExpression&&e.isJSDocOptionalType(Oo.typeExpression.type)?e.factory.createToken(57):void 0,lc||Oo.typeExpression&&e.visitNode(Oo.typeExpression.type,di)||e.factory.createKeywordTypeNode(128))}));if(e.isTypeReferenceNode(Wt)&&e.isIdentifier(Wt.typeName)&&Wt.typeName.escapedText===\"\")return e.setOriginalNode(e.factory.createKeywordTypeNode(128),Wt);if((e.isExpressionWithTypeArguments(Wt)||e.isTypeReferenceNode(Wt))&&e.isJSDocIndexSignature(Wt))return e.factory.createTypeLiteralNode([e.factory.createIndexSignature(void 0,void 0,[e.factory.createParameterDeclaration(void 0,void 0,void 0,\"x\",void 0,e.visitNode(Wt.typeArguments[0],di))],e.visitNode(Wt.typeArguments[1],di))]);if(e.isJSDocFunctionType(Wt)){var dn;return e.isJSDocConstructSignature(Wt)?e.factory.createConstructorTypeNode(Wt.modifiers,e.visitNodes(Wt.typeParameters,di),e.mapDefined(Wt.parameters,function(Oo,yu){return Oo.name&&e.isIdentifier(Oo.name)&&Oo.name.escapedText===\"new\"?void(dn=Oo.type):e.factory.createParameterDeclaration(void 0,void 0,zr(Oo),re(Oo,yu),Oo.questionToken,e.visitNode(Oo.type,di),void 0)}),e.visitNode(dn||Wt.type,di)||e.factory.createKeywordTypeNode(128)):e.factory.createFunctionTypeNode(e.visitNodes(Wt.typeParameters,di),e.map(Wt.parameters,function(Oo,yu){return e.factory.createParameterDeclaration(void 0,void 0,zr(Oo),re(Oo,yu),Oo.questionToken,e.visitNode(Oo.type,di),void 0)}),e.visitNode(Wt.type,di)||e.factory.createKeywordTypeNode(128))}if(e.isTypeReferenceNode(Wt)&&e.isInJSDoc(Wt)&&(!Gi(Wt,Dc(Wt))||nM(Wt)||W1===Wy(fy(Wt),788968,!0)))return e.setOriginalNode(g(Dc(Wt),Et),Wt);if(e.isLiteralImportTypeNode(Wt)){var Si=Fo(Wt).resolvedSymbol;return!e.isInJSDoc(Wt)||!Si||(Wt.isTypeOf||788968&Si.flags)&&e.length(Wt.typeArguments)>=Aw(R9(Si))?e.factory.updateImportTypeNode(Wt,e.factory.updateLiteralTypeNode(Wt.argument,function(Oo,yu){if(Ya){if(Et.tracker&&Et.tracker.moduleResolverHost){var dl=q9(Oo);if(dl){var lc={getCanonicalFileName:e.createGetCanonicalFileName(!!Y0.useCaseSensitiveFileNames),getCurrentDirectory:function(){return Et.tracker.moduleResolverHost.getCurrentDirectory()},getCommonSourceDirectory:function(){return Et.tracker.moduleResolverHost.getCommonSourceDirectory()}},qi=e.getResolvedExternalModuleName(lc,dl);return e.factory.createStringLiteral(qi)}}}else if(Et.tracker&&Et.tracker.trackExternalModuleSymbolOfImportTypeNode){var eo=p2(yu,yu,void 0);eo&&Et.tracker.trackExternalModuleSymbolOfImportTypeNode(eo)}return yu}(Wt,Wt.argument.literal)),Wt.qualifier,e.visitNodes(Wt.typeArguments,di,e.isTypeNode),Wt.isTypeOf):e.setOriginalNode(g(Dc(Wt),Et),Wt)}if(e.isEntityName(Wt)||e.isEntityNameExpression(Wt)){var yi=Wo(Wt,Et,da),l=yi.introducesError,z=yi.node;if(Da=Da||l,z!==Wt)return z}return fr&&e.isTupleTypeNode(Wt)&&e.getLineAndCharacterOfPosition(fr,Wt.pos).line===e.getLineAndCharacterOfPosition(fr,Wt.end).line&&e.setEmitFlags(Wt,1),e.visitEachChild(Wt,di,e.nullTransformationContext);function zr(Oo){return Oo.dotDotDotToken||(Oo.type&&e.isJSDocVariadicType(Oo.type)?e.factory.createToken(25):void 0)}function re(Oo,yu){return Oo.name&&e.isIdentifier(Oo.name)&&Oo.name.escapedText===\"this\"?\"this\":zr(Oo)?\"args\":\"arg\"+yu}});if(!Da)return rt===wt?e.setTextRange(e.factory.cloneNode(wt),wt):rt}}(),Nt=e.createSymbolTable(),Ir=f2(4,\"undefined\");Ir.declarations=[];var xr=f2(1536,\"globalThis\",8);xr.exports=Nt,xr.declarations=[],Nt.set(xr.escapedName,xr);var Bt,ar=f2(4,\"arguments\"),Ni=f2(4,\"require\"),Kn={getNodeCount:function(){return e.sum(Y0.getSourceFiles(),\"nodeCount\")},getIdentifierCount:function(){return e.sum(Y0.getSourceFiles(),\"identifierCount\")},getSymbolCount:function(){return e.sum(Y0.getSourceFiles(),\"symbolCount\")+S0},getTypeCount:function(){return n1},getInstantiationCount:function(){return U0},getRelationCacheSizes:function(){return{assignable:Xn.size,identity:qa.size,subtype:it.size,strictSubtype:Ln.size}},isUndefinedSymbol:function(r){return r===Ir},isArgumentsSymbol:function(r){return r===ar},isUnknownSymbol:function(r){return r===W1},getMergedSymbol:Xc,getDiagnostics:r3,getGlobalDiagnostics:function(){return n3(),Ku.getGlobalDiagnostics()},getRecursionIdentity:j_,getTypeOfSymbolAtLocation:function(r,f){var g=e.getParseTreeNode(f);return g?function(E,F){if(E=E.exportSymbol||E,(F.kind===78||F.kind===79)&&(e.isRightSideOfQualifiedNameOrPropertyAccess(F)&&(F=F.parent),e.isExpressionNode(F)&&(!e.isAssignmentTarget(F)||e.isWriteAccess(F)))){var q=JA(F);if(mP(Fo(F).resolvedSymbol)===E)return q}return e.isDeclarationName(F)&&e.isSetAccessor(F.parent)&&p3(F.parent)?T5(F.parent.symbol,!0):Yo(E)}(r,g):ae},getSymbolsOfParameterPropertyDeclaration:function(r,f){var g=e.getParseTreeNode(r,e.isParameter);return g===void 0?e.Debug.fail(\"Cannot get symbols of a synthetic parameter that cannot be resolved to a parse-tree node.\"):function(E,F){var q=E.parent,T0=E.parent.parent,u1=ed(q.locals,F,111551),M1=ed(si(T0.symbol),F,111551);return u1&&M1?[u1,M1]:e.Debug.fail(\"There should exist two symbols, one as property declaration and one as parameter declaration\")}(g,e.escapeLeadingUnderscores(f))},getDeclaredTypeOfSymbol:Il,getPropertiesOfType:$c,getPropertyOfType:function(r,f){return ec(r,e.escapeLeadingUnderscores(f))},getPrivateIdentifierPropertyOfType:function(r,f,g){var E=e.getParseTreeNode(g);if(E){var F=EP(e.escapeLeadingUnderscores(f),E);return F?uI(r,F):void 0}},getTypeOfPropertyOfType:function(r,f){return qc(r,e.escapeLeadingUnderscores(f))},getIndexInfoOfType:vC,getSignaturesOfType:_u,getIndexTypeOfType:Ff,getBaseTypes:bk,getBaseTypeOfLiteralType:F4,getWidenedType:Bp,getTypeFromTypeNode:function(r){var f=e.getParseTreeNode(r,e.isTypeNode);return f?Dc(f):ae},getParameterType:p5,getPromisedTypeOfPromise:wy,getAwaitedType:function(r){return h2(r)},getReturnTypeOfSignature:yc,isNullableType:RC,getNullableType:$_,getNonNullableType:Cm,getNonOptionalType:tL,getTypeArguments:Cc,typeToTypeNode:gr.typeToTypeNode,indexInfoToIndexSignatureDeclaration:gr.indexInfoToIndexSignatureDeclaration,signatureToSignatureDeclaration:gr.signatureToSignatureDeclaration,symbolToEntityName:gr.symbolToEntityName,symbolToExpression:gr.symbolToExpression,symbolToTypeParameterDeclarations:gr.symbolToTypeParameterDeclarations,symbolToParameterDeclaration:gr.symbolToParameterDeclaration,typeParameterToDeclaration:gr.typeParameterToDeclaration,getSymbolsInScope:function(r,f){var g=e.getParseTreeNode(r);return g?function(E,F){if(16777216&E.flags)return[];var q=e.createSymbolTable(),T0=!1;return u1(),q.delete(\"this\"),CR(q);function u1(){for(;E;){switch(E.locals&&!pT(E)&&A1(E.locals,F),E.kind){case 298:if(!e.isExternalModule(E))break;case 257:lx(ms(E).exports,2623475&F);break;case 256:A1(ms(E).exports,8&F);break;case 222:E.name&&M1(E.symbol,F);case 253:case 254:T0||A1(si(ms(E)),788968&F);break;case 209:E.name&&M1(E.symbol,F)}e.introducesArgumentsExoticObject(E)&&M1(ar,F),T0=e.hasSyntacticModifier(E,32),E=E.parent}A1(Nt,F)}function M1(Vx,ye){if(e.getCombinedLocalAndExportSymbolFlags(Vx)&ye){var Ue=Vx.escapedName;q.has(Ue)||q.set(Ue,Vx)}}function A1(Vx,ye){ye&&Vx.forEach(function(Ue){M1(Ue,ye)})}function lx(Vx,ye){ye&&Vx.forEach(function(Ue){e.getDeclarationOfKind(Ue,271)||e.getDeclarationOfKind(Ue,270)||M1(Ue,ye)})}}(g,f):[]},getSymbolAtLocation:function(r){var f=e.getParseTreeNode(r);return f?Ce(f,!0):void 0},getShorthandAssignmentValueSymbol:function(r){var f=e.getParseTreeNode(r);return f?function(g){if(g&&g.kind===290)return nl(g.name,2208703)}(f):void 0},getExportSpecifierLocalTargetSymbol:function(r){var f=e.getParseTreeNode(r,e.isExportSpecifier);return f?function(g){return e.isExportSpecifier(g)?g.parent.parent.moduleSpecifier?ei(g.parent.parent,g):nl(g.propertyName||g.name,2998271):nl(g,2998271)}(f):void 0},getExportSymbolOfSymbol:function(r){return Xc(r.exportSymbol||r)},getTypeAtLocation:function(r){var f=e.getParseTreeNode(r);return f?AP(f):ae},getTypeOfAssignmentPattern:function(r){var f=e.getParseTreeNode(r,e.isAssignmentPattern);return f&&yL(f)||ae},getPropertySymbolOfDestructuringAssignment:function(r){var f=e.getParseTreeNode(r,e.isIdentifier);return f?function(g){var E=yL(e.cast(g.parent.parent,e.isAssignmentPattern));return E&&ec(E,g.escapedText)}(f):void 0},signatureToString:function(r,f,g,E){return O2(r,e.getParseTreeNode(f),g,E)},typeToString:function(r,f,g){return ka(r,e.getParseTreeNode(f),g)},symbolToString:function(r,f,g,E){return Is(r,e.getParseTreeNode(f),g,E)},typePredicateToString:function(r,f,g){return sh(r,e.getParseTreeNode(f),g)},writeSignature:function(r,f,g,E,F){return O2(r,e.getParseTreeNode(f),g,E,F)},writeType:function(r,f,g,E){return ka(r,e.getParseTreeNode(f),g,E)},writeSymbol:function(r,f,g,E,F){return Is(r,e.getParseTreeNode(f),g,E,F)},writeTypePredicate:function(r,f,g,E){return sh(r,e.getParseTreeNode(f),g,E)},getAugmentedPropertiesOfType:eO,getRootSymbols:function r(f){var g=function(E){if(6&e.getCheckFlags(E))return e.mapDefined(Zo(E).containingType.types,function(M1){return ec(M1,E.escapedName)});if(33554432&E.flags){var F=E,q=F.leftSpread,T0=F.rightSpread,u1=F.syntheticOrigin;return q?[q,T0]:u1?[u1]:e.singleElementArray(function(M1){for(var A1,lx=M1;lx=Zo(lx).target;)A1=lx;return A1}(E))}}(f);return g?e.flatMap(g,r):[f]},getSymbolOfExpando:R7,getContextualType:function(r,f){var g=e.getParseTreeNode(r,e.isExpression);if(g){var E=e.findAncestor(g,e.isCallLikeExpression),F=E&&Fo(E).resolvedSignature;if(4&f&&E){var q=g;do Fo(q).skipDirectInference=!0,q=q.parent;while(q&&q!==E);Fo(E).resolvedSignature=void 0}var T0=x2(g,f);if(4&f&&E){q=g;do Fo(q).skipDirectInference=void 0,q=q.parent;while(q&&q!==E);Fo(E).resolvedSignature=F}return T0}},getContextualTypeForObjectLiteralElement:function(r){var f=e.getParseTreeNode(r,e.isObjectLiteralElementLike);return f?rK(f):void 0},getContextualTypeForArgumentAtIndex:function(r,f){var g=e.getParseTreeNode(r,e.isCallLikeExpression);return g&&fD(g,f)},getContextualTypeForJsxAttribute:function(r){var f=e.getParseTreeNode(r,e.isJsxAttributeLike);return f&&F7(f)},isContextSensitive:Ek,getTypeOfPropertyOfContextualType:lN,getFullyQualifiedName:qA,getResolvedSignature:function(r,f,g){return oi(r,f,g,0)},getResolvedSignatureForSignatureHelp:function(r,f,g){return oi(r,f,g,16)},getExpandedParameters:HD,hasEffectiveRestParameter:Sk,getConstantValue:function(r){var f=e.getParseTreeNode(r,d8);return f?pj(f):void 0},isValidPropertyAccess:function(r,f){var g=e.getParseTreeNode(r,e.isPropertyAccessOrQualifiedNameOrImportTypeNode);return!!g&&function(E,F){switch(E.kind){case 202:return J_(E,E.expression.kind===105,F,Bp(Js(E.expression)));case 158:return J_(E,!1,F,Bp(Js(E.left)));case 196:return J_(E,!1,F,Dc(E))}}(g,e.escapeLeadingUnderscores(f))},isValidPropertyAccessForCompletions:function(r,f,g){var E=e.getParseTreeNode(r,e.isPropertyAccessExpression);return!!E&&lI(E,f,g)},getSignatureFromDeclaration:function(r){var f=e.getParseTreeNode(r,e.isFunctionLike);return f?xm(f):void 0},isImplementationOfOverload:function(r){var f=e.getParseTreeNode(r,e.isFunctionLike);return f?A4(f):void 0},getImmediateAliasedSymbol:Rv,getAliasedSymbol:ui,getEmitResolver:function(r,f){return r3(r,f),wr},getExportsOfModule:Zw,getExportsAndPropertiesOfModule:function(r){var f=Zw(r),g=jd(r);if(g!==r){var E=Yo(g);bh(E)&&e.addRange(f,$c(E))}return f},getSymbolWalker:e.createGetSymbolWalker(function(r){return fE(r)||E1},kA,yc,bk,b2,Yo,$k,ev,_d,e.getFirstIdentifier,Cc),getAmbientModules:function(){return up||(up=[],Nt.forEach(function(r,f){s1.test(f)&&up.push(r)})),up},getJsxIntrinsicTagNamesAt:function(r){var f=n9(w.IntrinsicElements,r);return f?$c(f):e.emptyArray},isOptionalParameter:function(r){var f=e.getParseTreeNode(r,e.isParameter);return!!f&&Eh(f)},tryGetMemberInModuleExports:function(r,f){return v_(e.escapeLeadingUnderscores(r),f)},tryGetMemberInModuleExportsAndProperties:function(r,f){return function(g,E){var F=v_(g,E);if(F)return F;var q=jd(E);if(q!==E){var T0=Yo(q);return bh(T0)?ec(T0,g):void 0}}(e.escapeLeadingUnderscores(r),f)},tryFindAmbientModule:function(r){return QP(r,!0)},tryFindAmbientModuleWithoutAugmentations:function(r){return QP(r,!1)},getApparentType:S4,getUnionType:Lo,isTypeAssignableTo:cc,createAnonymousType:yo,createSignature:Hm,createSymbol:f2,createIndexInfo:Fd,getAnyType:function(){return E1},getStringType:function(){return l1},getNumberType:function(){return Hx},createPromiseType:Qv,createArrayType:zf,getElementTypeOfArrayType:Dv,getBooleanType:function(){return rn},getFalseType:function(r){return r?Pe:It},getTrueType:function(r){return r?Kr:pn},getVoidType:function(){return Ii},getUndefinedType:function(){return Gr},getNullType:function(){return M},getESSymbolType:function(){return _t},getNeverType:function(){return Mn},getOptionalType:function(){return h0},isSymbolAccessible:sw,isArrayType:NA,isTupleType:Vd,isArrayLikeType:uw,isTypeInvalidDueToUnionDiscriminant:function(r,f){return f.properties.some(function(g){var E=g.name&&Rk(g.name),F=E&&Pt(E)?_m(E):void 0,q=F===void 0?void 0:qc(r,F);return!!q&&tI(q)&&!cc(AP(g),q)})},getAllPossiblePropertiesOfTypes:function(r){var f=Lo(r);if(!(1048576&f.flags))return eO(f);for(var g=e.createSymbolTable(),E=0,F=r;E<F.length;E++)for(var q=F[E],T0=0,u1=eO(q);T0<u1.length;T0++){var M1=u1[T0].escapedName;if(!g.has(M1)){var A1=jb(f,M1);A1&&g.set(M1,A1)}}return e.arrayFrom(g.values())},getSuggestedSymbolForNonexistentProperty:Gh,getSuggestionForNonexistentProperty:mU,getSuggestedSymbolForNonexistentJSXAttribute:Xh,getSuggestedSymbolForNonexistentSymbol:function(r,f,g){return cI(r,e.escapeLeadingUnderscores(f),g)},getSuggestionForNonexistentSymbol:function(r,f,g){return function(E,F,q){var T0=cI(E,F,q);return T0&&e.symbolName(T0)}(r,e.escapeLeadingUnderscores(f),g)},getSuggestedSymbolForNonexistentModule:K9,getSuggestionForNonexistentExport:function(r,f){var g=K9(r,f);return g&&e.symbolName(g)},getBaseConstraintOfType:wA,getDefaultFromTypeParameter:function(r){return r&&262144&r.flags?$N(r):void 0},resolveName:function(r,f,g,E){return j6(f,e.escapeLeadingUnderscores(r),g,void 0,void 0,!1,E)},getJsxNamespace:function(r){return e.unescapeLeadingUnderscores(Wa(r))},getJsxFragmentFactory:function(r){var f=tO(r);return f&&e.unescapeLeadingUnderscores(e.getFirstIdentifier(f).escapedText)},getAccessibleSymbolChain:xl,getTypePredicateOfSignature:kA,resolveExternalModuleName:function(r){var f=e.getParseTreeNode(r,e.isExpression);return f&&f5(f,f,!0)},resolveExternalModuleSymbol:jd,tryGetThisTypeAt:function(r,f){var g=e.getParseTreeNode(r);return g&&vy(g,f)},getTypeArgumentConstraint:function(r){var f=e.getParseTreeNode(r,e.isTypeNode);return f&&function(g){var E=e.tryCast(g.parent,e.isTypeReferenceType);if(!!E){var F=dL(E),q=_d(F[E.typeArguments.indexOf(g)]);return q&&xo(q,yg(F,pL(E,F)))}}(f)},getSuggestionDiagnostics:function(r,f){var g,E=e.getParseTreeNode(r,e.isSourceFile)||e.Debug.fail(\"Could not determine parsed source file.\");if(e.skipTypeChecking(E,V1,Y0))return e.emptyArray;try{return Z1=f,_b(E),e.Debug.assert(!!(1&Fo(E).flags)),g=e.addRange(g,Qw.getDiagnostics(E.fileName)),E2(ME(E),function(F,q,T0){e.containsParseError(F)||NM(q,!!(8388608&F.flags))||(g||(g=[])).push($($({},T0),{category:e.DiagnosticCategory.Suggestion}))}),g||e.emptyArray}finally{Z1=void 0}},runWithCancellationToken:function(r,f){try{return Z1=r,f(Kn)}finally{Z1=void 0}},getLocalTypeParametersOfClassOrInterfaceOrTypeAlias:R9,isDeclarationVisible:e9};function oi(r,f,g,E){var F=e.getParseTreeNode(r,e.isCallLikeExpression);Bt=g;var q=F?Ph(F,f,E):void 0;return Bt=void 0,q}var Ba=new e.Map,dt=new e.Map,Gt=new e.Map,lr=new e.Map,en=new e.Map,ii=new e.Map,Tt=new e.Map,bn=new e.Map,Le=new e.Map,Sa=[],Yn=new e.Map,W1=f2(4,\"unknown\"),cx=f2(0,\"__resolving__\"),E1=br(1,\"any\"),qx=br(1,\"any\"),xt=br(1,\"any\"),ae=br(1,\"error\"),Ut=br(1,\"any\",131072),or=br(1,\"intrinsic\"),ut=br(2,\"unknown\"),Gr=br(32768,\"undefined\"),B=C1?Gr:br(32768,\"undefined\",131072),h0=br(32768,\"undefined\"),M=br(65536,\"null\"),X0=C1?M:br(65536,\"null\",131072),l1=br(4,\"string\"),Hx=br(8,\"number\"),ge=br(64,\"bigint\"),Pe=br(512,\"false\"),It=br(512,\"false\"),Kr=br(512,\"true\"),pn=br(512,\"true\");Kr.regularType=pn,Kr.freshType=Kr,pn.regularType=pn,pn.freshType=Kr,Pe.regularType=It,Pe.freshType=Pe,It.regularType=It,It.freshType=Pe;var rn=Cn([It,pn]);Cn([It,Kr]),Cn([Pe,pn]),Cn([Pe,Kr]);var _t=br(4096,\"symbol\"),Ii=br(16384,\"void\"),Mn=br(131072,\"never\"),Ka=br(131072,\"never\"),fe=br(131072,\"never\",524288),Fr=br(131072,\"never\"),yt=br(131072,\"never\"),Fn=br(67108864,\"object\"),Ur=Lo([l1,Hx,_t]),fa=Re?l1:Ur,Kt=Lo([Hx,ge]),Fa=Lo([l1,Hx,rn,ge,M,Gr]),co=Zm(function(r){return 262144&r.flags?(f=r).constraint===ut?f:f.restrictiveInstantiation||(f.restrictiveInstantiation=$i(f.symbol),f.restrictiveInstantiation.constraint=ut,f.restrictiveInstantiation):r;var f}),Us=Zm(function(r){return 262144&r.flags?xt:r}),qs=yo(void 0,Y1,e.emptyArray,e.emptyArray,void 0,void 0),vs=yo(void 0,Y1,e.emptyArray,e.emptyArray,void 0,void 0);vs.objectFlags|=2048;var sg=f2(2048,\"__type\");sg.members=e.createSymbolTable();var Cf=yo(sg,Y1,e.emptyArray,e.emptyArray,void 0,void 0),rc=yo(void 0,Y1,e.emptyArray,e.emptyArray,void 0,void 0);rc.instantiations=new e.Map;var K8=yo(void 0,Y1,e.emptyArray,e.emptyArray,void 0,void 0);K8.objectFlags|=524288;var zl=yo(void 0,Y1,e.emptyArray,e.emptyArray,void 0,void 0),Xl=yo(void 0,Y1,e.emptyArray,e.emptyArray,void 0,void 0),OF=yo(void 0,Y1,e.emptyArray,e.emptyArray,void 0,void 0),BF=$i(),Qp=$i();Qp.constraint=BF;var kp,up,mC,fd,E4,Yl,fT,qE,df,pl,Np,rp,jp,tf,cp,Nf,mf,l2,pd,Ju,vd,aw,c5,Qo,Rl,gl,bd,Ld,Dp,Hi,Up,rl,tA,rA,G2,vp,Zp,Ef,yr,Jr,Un,pa,za,Ls,Mo,Ps,mo,bc,Ro=$i(),Vc=$B(1,\"<<unresolved>>\",0,E1),ws=Hm(void 0,void 0,void 0,e.emptyArray,E1,void 0,0,0),gc=Hm(void 0,void 0,void 0,e.emptyArray,ae,void 0,0,0),Pl=Hm(void 0,void 0,void 0,e.emptyArray,E1,void 0,0,0),xc=Hm(void 0,void 0,void 0,e.emptyArray,Ka,void 0,0,0),Su=Fd(l1,!0),hC=new e.Map,_o={get yieldType(){return e.Debug.fail(\"Not supported\")},get returnType(){return e.Debug.fail(\"Not supported\")},get nextType(){return e.Debug.fail(\"Not supported\")}},ol=om(E1,E1,E1),Fc=om(E1,E1,ut),_l=om(Mn,E1,Gr),uc={iterableCacheKey:\"iterationTypesOfAsyncIterable\",iteratorCacheKey:\"iterationTypesOfAsyncIterator\",iteratorSymbolName:\"asyncIterator\",getGlobalIteratorType:function(r){return G2||(G2=Kf(\"AsyncIterator\",3,r))||rc},getGlobalIterableType:function(r){return rA||(rA=Kf(\"AsyncIterable\",1,r))||rc},getGlobalIterableIteratorType:function(r){return vp||(vp=Kf(\"AsyncIterableIterator\",1,r))||rc},getGlobalGeneratorType:function(r){return Zp||(Zp=Kf(\"AsyncGenerator\",3,r))||rc},resolveIterationType:h2,mustHaveANextMethodDiagnostic:e.Diagnostics.An_async_iterator_must_have_a_next_method,mustBeAMethodDiagnostic:e.Diagnostics.The_0_property_of_an_async_iterator_must_be_a_method,mustHaveAValueDiagnostic:e.Diagnostics.The_type_returned_by_the_0_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_property},Fl={iterableCacheKey:\"iterationTypesOfIterable\",iteratorCacheKey:\"iterationTypesOfIterator\",iteratorSymbolName:\"iterator\",getGlobalIteratorType:function(r){return Dp||(Dp=Kf(\"Iterator\",3,r))||rc},getGlobalIterableType:qb,getGlobalIterableIteratorType:function(r){return Hi||(Hi=Kf(\"IterableIterator\",1,r))||rc},getGlobalGeneratorType:function(r){return Up||(Up=Kf(\"Generator\",3,r))||rc},resolveIterationType:function(r,f){return r},mustHaveANextMethodDiagnostic:e.Diagnostics.An_iterator_must_have_a_next_method,mustBeAMethodDiagnostic:e.Diagnostics.The_0_property_of_an_iterator_must_be_a_method,mustHaveAValueDiagnostic:e.Diagnostics.The_type_returned_by_the_0_method_of_an_iterator_must_have_a_value_property},D6=new e.Map,R6=!1,nA=new e.Map,x4=0,Al=0,e4=0,bp=!1,_c=0,Wl=sf(\"\"),Vp=sf(0),$f=sf({negative:!1,base10Value:\"0\"}),iA=[],t4=[],Om=[],Md=0,Dk=[],Cd=[],tF=[],dd=[],Rf=[],ow=[],N2=[],hm=[],Bm=[],kT=[],Jf=[],Qd=[],$S=[],Pf=[],LF=[],Ku=e.createDiagnosticCollection(),Qw=e.createDiagnosticCollection(),Rd=new e.Map(e.getEntries({string:l1,number:Hx,bigint:ge,boolean:rn,symbol:_t,undefined:Gr})),we=Lo(e.arrayFrom(P0.keys(),sf)),it=new e.Map,Ln=new e.Map,Xn=new e.Map,La=new e.Map,qa=new e.Map,Hc=new e.Map,bx=e.createSymbolTable();return bx.set(Ir.escapedName,Ir),function(){for(var r=0,f=Y0.getSourceFiles();r<f.length;r++){var g=f[r];e.bindSourceFile(g,V1)}var E;kp=new e.Map;for(var F=0,q=Y0.getSourceFiles();F<q.length;F++)if(!(g=q[F]).redirectInfo){if(!e.isExternalOrCommonJsModule(g)){var T0=g.locals.get(\"globalThis\");if(T0==null?void 0:T0.declarations)for(var u1=0,M1=T0.declarations;u1<M1.length;u1++){var A1=M1[u1];Ku.add(e.createDiagnosticForNode(A1,e.Diagnostics.Declaration_name_conflicts_with_built_in_global_identifier_0,\"globalThis\"))}pp(Nt,g.locals)}g.jsGlobalAugmentations&&pp(Nt,g.jsGlobalAugmentations),g.patternAmbientModules&&g.patternAmbientModules.length&&(mC=e.concatenate(mC,g.patternAmbientModules)),g.moduleAugmentations.length&&(E||(E=[])).push(g.moduleAugmentations),g.symbol&&g.symbol.globalExports&&g.symbol.globalExports.forEach(function(Nn,Ei){Nt.has(Ei)||Nt.set(Ei,Nn)})}if(E)for(var lx=0,Vx=E;lx<Vx.length;lx++)for(var ye=Vx[lx],Ue=0,Ge=ye;Ue<Ge.length;Ue++){var er=Ge[Ue];e.isGlobalScopeAugmentation(er.parent)&&Pp(er)}if(function(Nn,Ei,Ca){Ei.forEach(function(Aa,Qi){var Oa=Nn.get(Qi);Oa?e.forEach(Oa.declarations,function(Ra,yn){return function(ti){return Ku.add(e.createDiagnosticForNode(ti,yn,Ra))}}(e.unescapeLeadingUnderscores(Qi),Ca)):Nn.set(Qi,Aa)})}(Nt,bx,e.Diagnostics.Declaration_name_conflicts_with_built_in_global_identifier_0),Zo(Ir).type=B,Zo(ar).type=Kf(\"IArguments\",0,!0),Zo(W1).type=ae,Zo(xr).type=Ci(16,xr),df=Kf(\"Array\",1,!0),E4=Kf(\"Object\",0,!0),Yl=Kf(\"Function\",0,!0),fT=O&&Kf(\"CallableFunction\",0,!0)||Yl,qE=O&&Kf(\"NewableFunction\",0,!0)||Yl,Np=Kf(\"String\",0,!0),rp=Kf(\"Number\",0,!0),jp=Kf(\"Boolean\",0,!0),tf=Kf(\"RegExp\",0,!0),Nf=zf(E1),(mf=zf(qx))===qs&&(mf=yo(void 0,Y1,e.emptyArray,e.emptyArray,void 0,void 0)),pl=mE(\"ReadonlyArray\",1)||df,l2=pl?PO(pl,[E1]):Nf,cp=mE(\"ThisType\",1),E)for(var Ar=0,vr=E;Ar<vr.length;Ar++){ye=vr[Ar];for(var Yt=0,nn=ye;Yt<nn.length;Yt++)er=nn[Yt],e.isGlobalScopeAugmentation(er.parent)||Pp(er)}kp.forEach(function(Nn){var Ei=Nn.firstFile,Ca=Nn.secondFile,Aa=Nn.conflictingSymbols;if(Aa.size<8)Aa.forEach(function(Oa,Ra){for(var yn=Oa.isBlockScoped,ti=Oa.firstFileLocations,Gi=Oa.secondFileLocations,zi=yn?e.Diagnostics.Cannot_redeclare_block_scoped_variable_0:e.Diagnostics.Duplicate_identifier_0,Wo=0,Ms=ti;Wo<Ms.length;Wo++)l5(Ms[Wo],zi,Ra,Gi);for(var Et=0,wt=Gi;Et<wt.length;Et++)l5(wt[Et],zi,Ra,ti)});else{var Qi=e.arrayFrom(Aa.keys()).join(\", \");Ku.add(e.addRelatedInfo(e.createDiagnosticForNode(Ei,e.Diagnostics.Definitions_of_the_following_identifiers_conflict_with_those_in_another_file_Colon_0,Qi),e.createDiagnosticForNode(Ca,e.Diagnostics.Conflicts_are_in_this_file))),Ku.add(e.addRelatedInfo(e.createDiagnosticForNode(Ca,e.Diagnostics.Definitions_of_the_following_identifiers_conflict_with_those_in_another_file_Colon_0,Qi),e.createDiagnosticForNode(Ei,e.Diagnostics.Conflicts_are_in_this_file)))}}),kp=void 0}(),Kn;function Wa(r){if(r){var f=e.getSourceFileOfNode(r);if(f)if(e.isJsxOpeningFragment(r)){if(f.localJsxFragmentNamespace)return f.localJsxFragmentNamespace;var g=f.pragmas.get(\"jsxfrag\");if(g){var E=e.isArray(g)?g[0]:g;if(f.localJsxFragmentFactory=e.parseIsolatedEntityName(E.arguments.factory,Ox),e.visitNode(f.localJsxFragmentFactory,T0),f.localJsxFragmentFactory)return f.localJsxFragmentNamespace=e.getFirstIdentifier(f.localJsxFragmentFactory).escapedText}var F=tO(r);if(F)return f.localJsxFragmentFactory=F,f.localJsxFragmentNamespace=e.getFirstIdentifier(F).escapedText}else{if(f.localJsxNamespace)return f.localJsxNamespace;var q=f.pragmas.get(\"jsx\");if(q&&(E=e.isArray(q)?q[0]:q,f.localJsxFactory=e.parseIsolatedEntityName(E.arguments.factory,Ox),e.visitNode(f.localJsxFactory,T0),f.localJsxFactory))return f.localJsxNamespace=e.getFirstIdentifier(f.localJsxFactory).escapedText}}return Ps||(Ps=\"React\",V1.jsxFactory?(mo=e.parseIsolatedEntityName(V1.jsxFactory,Ox),e.visitNode(mo,T0),mo&&(Ps=e.getFirstIdentifier(mo).escapedText)):V1.reactNamespace&&(Ps=e.escapeLeadingUnderscores(V1.reactNamespace))),mo||(mo=e.factory.createQualifiedName(e.factory.createIdentifier(e.unescapeLeadingUnderscores(Ps)),\"createElement\")),Ps;function T0(u1){return e.setTextRangePosEnd(u1,-1,-1),e.visitEachChild(u1,T0,e.nullTransformationContext)}}function rs(r,f,g,E,F,q,T0){var u1=ht(f,g,E,F,q,T0);return u1.skippedOn=r,u1}function ht(r,f,g,E,F,q){var T0=r?e.createDiagnosticForNode(r,f,g,E,F,q):e.createCompilerDiagnostic(f,g,E,F,q);return Ku.add(T0),T0}function Mu(r,f){r?Ku.add(f):Qw.add($($({},f),{category:e.DiagnosticCategory.Suggestion}))}function Gc(r,f,g,E,F,q,T0){if(f.pos<0||f.end<0){if(!r)return;var u1=e.getSourceFileOfNode(f);Mu(r,\"message\"in g?e.createFileDiagnostic(u1,0,0,g,E,F,q,T0):e.createDiagnosticForFileFromMessageChain(u1,g))}else Mu(r,\"message\"in g?e.createDiagnosticForNode(f,g,E,F,q,T0):e.createDiagnosticForNodeFromMessageChain(f,g))}function Ab(r,f,g,E,F,q,T0){var u1=ht(r,g,E,F,q,T0);if(f){var M1=e.createDiagnosticForNode(r,e.Diagnostics.Did_you_forget_to_use_await);e.addRelatedInfo(u1,M1)}return u1}function jf(r,f){var g=Array.isArray(r)?e.forEach(r,e.getJSDocDeprecatedTag):e.getJSDocDeprecatedTag(r);return g&&e.addRelatedInfo(f,e.createDiagnosticForNode(g,e.Diagnostics.The_declaration_was_marked_as_deprecated_here)),Qw.add(f),f}function lp(r,f,g){return jf(f,e.createDiagnosticForNode(r,e.Diagnostics._0_is_deprecated,g))}function f2(r,f,g){S0++;var E=new K0(33554432|r,f);return E.checkFlags=g||0,E}function np(r){var f=0;return 2&r&&(f|=111551),1&r&&(f|=111550),4&r&&(f|=0),8&r&&(f|=900095),16&r&&(f|=110991),32&r&&(f|=899503),64&r&&(f|=788872),256&r&&(f|=899327),128&r&&(f|=899967),512&r&&(f|=110735),8192&r&&(f|=103359),32768&r&&(f|=46015),65536&r&&(f|=78783),262144&r&&(f|=526824),524288&r&&(f|=788968),2097152&r&&(f|=2097152),f}function Cp(r,f){f.mergeId||(f.mergeId=I,I++),Dk[f.mergeId]=r}function ip(r){var f=f2(r.flags,r.escapedName);return f.declarations=r.declarations?r.declarations.slice():[],f.parent=r.parent,r.valueDeclaration&&(f.valueDeclaration=r.valueDeclaration),r.constEnumOnlyModule&&(f.constEnumOnlyModule=!0),r.members&&(f.members=new e.Map(r.members)),r.exports&&(f.exports=new e.Map(r.exports)),Cp(f,r),f}function fp(r,f,g){if(g===void 0&&(g=!1),!(r.flags&np(f.flags))||67108864&(f.flags|r.flags)){if(f===r)return r;if(!(33554432&r.flags)){var E=Zr(r);if(E===W1)return f;r=ip(E)}512&f.flags&&512&r.flags&&r.constEnumOnlyModule&&!f.constEnumOnlyModule&&(r.constEnumOnlyModule=!1),r.flags|=f.flags,f.valueDeclaration&&e.setValueDeclaration(r,f.valueDeclaration),e.addRange(r.declarations,f.declarations),f.members&&(r.members||(r.members=e.createSymbolTable()),pp(r.members,f.members,g)),f.exports&&(r.exports||(r.exports=e.createSymbolTable()),pp(r.exports,f.exports,g)),g||Cp(r,f)}else if(1024&r.flags)r!==xr&&ht(f.declarations&&e.getNameOfDeclaration(f.declarations[0]),e.Diagnostics.Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity,Is(r));else{var F=!!(384&r.flags||384&f.flags),q=!!(2&r.flags||2&f.flags),T0=F?e.Diagnostics.Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations:q?e.Diagnostics.Cannot_redeclare_block_scoped_variable_0:e.Diagnostics.Duplicate_identifier_0,u1=f.declarations&&e.getSourceFileOfNode(f.declarations[0]),M1=r.declarations&&e.getSourceFileOfNode(r.declarations[0]),A1=Is(f);if(u1&&M1&&kp&&!F&&u1!==M1){var lx=e.comparePaths(u1.path,M1.path)===-1?u1:M1,Vx=lx===u1?M1:u1,ye=e.getOrUpdate(kp,lx.path+\"|\"+Vx.path,function(){return{firstFile:lx,secondFile:Vx,conflictingSymbols:new e.Map}}),Ue=e.getOrUpdate(ye.conflictingSymbols,A1,function(){return{isBlockScoped:q,firstFileLocations:[],secondFileLocations:[]}});Ge(Ue.firstFileLocations,f),Ge(Ue.secondFileLocations,r)}else xd(f,T0,A1,r),xd(r,T0,A1,f)}return r;function Ge(er,Ar){if(Ar.declarations)for(var vr=0,Yt=Ar.declarations;vr<Yt.length;vr++){var nn=Yt[vr];e.pushIfUnique(er,nn)}}}function xd(r,f,g,E){e.forEach(r.declarations,function(F){l5(F,f,g,E.declarations)})}function l5(r,f,g,E){for(var F=(e.getExpandoInitializer(r,!1)?e.getNameOfExpando(r):e.getNameOfDeclaration(r))||r,q=function(A1,lx,Vx,ye,Ue,Ge){var er=A1?e.createDiagnosticForNode(A1,lx,Vx,ye,Ue,Ge):e.createCompilerDiagnostic(lx,Vx,ye,Ue,Ge);return Ku.lookup(er)||(Ku.add(er),er)}(F,f,g),T0=function(A1){var lx=(e.getExpandoInitializer(A1,!1)?e.getNameOfExpando(A1):e.getNameOfDeclaration(A1))||A1;if(lx===F)return\"continue\";q.relatedInformation=q.relatedInformation||[];var Vx=e.createDiagnosticForNode(lx,e.Diagnostics._0_was_also_declared_here,g),ye=e.createDiagnosticForNode(lx,e.Diagnostics.and_here);if(e.length(q.relatedInformation)>=5||e.some(q.relatedInformation,function(Ue){return e.compareDiagnostics(Ue,ye)===0||e.compareDiagnostics(Ue,Vx)===0}))return\"continue\";e.addRelatedInfo(q,e.length(q.relatedInformation)?ye:Vx)},u1=0,M1=E||e.emptyArray;u1<M1.length;u1++)T0(M1[u1])}function pp(r,f,g){g===void 0&&(g=!1),f.forEach(function(E,F){var q=r.get(F);r.set(F,q?fp(q,E,g):E)})}function Pp(r){var f,g,E,F=r.parent;if(((f=F.symbol.declarations)===null||f===void 0?void 0:f[0])===F)if(e.isGlobalScopeAugmentation(F))pp(Nt,F.symbol.exports);else{var q=p2(r,r,8388608&r.parent.parent.flags?void 0:e.Diagnostics.Invalid_module_name_in_augmentation_module_0_cannot_be_found,!0);if(!q)return;if(1920&(q=jd(q)).flags)if(e.some(mC,function(Ue){return q===Ue.symbol})){var T0=fp(F.symbol,q,!0);fd||(fd=new e.Map),fd.set(r.text,T0)}else{if(((g=q.exports)===null||g===void 0?void 0:g.get(\"__export\"))&&((E=F.symbol.exports)===null||E===void 0?void 0:E.size))for(var u1=VI(q,\"resolvedExports\"),M1=0,A1=e.arrayFrom(F.symbol.exports.entries());M1<A1.length;M1++){var lx=A1[M1],Vx=lx[0],ye=lx[1];u1.has(Vx)&&!q.exports.has(Vx)&&fp(u1.get(Vx),ye)}fp(q,F.symbol)}else ht(r,e.Diagnostics.Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity,r.text)}else e.Debug.assert(F.symbol.declarations.length>1)}function Zo(r){if(33554432&r.flags)return r;var f=f0(r);return Cd[f]||(Cd[f]=new k0)}function Fo(r){var f=t0(r);return tF[f]||(tF[f]=new V0)}function pT(r){return r.kind===298&&!e.isExternalOrCommonJsModule(r)}function ed(r,f,g){if(g){var E=Xc(r.get(f));if(E){if(e.Debug.assert((1&e.getCheckFlags(E))==0,\"Should never get an instantiated symbol here.\"),E.flags&g)return E;if(2097152&E.flags){var F=ui(E);if(F===W1||F.flags&g)return E}}}}function ah(r,f){var g=e.getSourceFileOfNode(r),E=e.getSourceFileOfNode(f),F=e.getEnclosingBlockScopeContainer(r);if(g!==E){if($x&&(g.externalModuleIndicator||E.externalModuleIndicator)||!e.outFile(V1)||rI(f)||8388608&r.flags||u1(f,r))return!0;var q=Y0.getSourceFiles();return q.indexOf(g)<=q.indexOf(E)}if(r.pos<=f.pos&&(!e.isPropertyDeclaration(r)||!e.isThisProperty(f.parent)||r.initializer||r.exclamationToken)){if(r.kind===199){var T0=e.getAncestor(f,199);return T0?e.findAncestor(T0,e.isBindingElement)!==e.findAncestor(r,e.isBindingElement)||r.pos<T0.pos:ah(e.getAncestor(r,250),f)}return r.kind===250?!function(A1,lx){switch(A1.parent.parent.kind){case 233:case 238:case 240:if(M9(lx,A1,F))return!0}var Vx=A1.parent.parent;return e.isForInOrOfStatement(Vx)&&M9(lx,Vx.expression,F)}(r,f):e.isClassDeclaration(r)?!e.findAncestor(f,function(A1){return e.isComputedPropertyName(A1)&&A1.parent.parent===r}):e.isPropertyDeclaration(r)?!M1(r,f,!1):!e.isParameterPropertyDeclaration(r,r.parent)||!(V1.target===99&&rx&&e.getContainingClass(r)===e.getContainingClass(f)&&u1(f,r))}return!!(f.parent.kind===271||f.parent.kind===267&&f.parent.isExportEquals)||!(f.kind!==267||!f.isExportEquals)||!!(4194304&f.flags||rI(f)||e.findAncestor(f,function(A1){return e.isInterfaceDeclaration(A1)||e.isTypeAliasDeclaration(A1)}))||!!u1(f,r)&&(V1.target!==99||!rx||!e.getContainingClass(r)||!e.isPropertyDeclaration(r)&&!e.isParameterPropertyDeclaration(r,r.parent)||!M1(r,f,!0));function u1(A1,lx){return!!e.findAncestor(A1,function(Vx){if(Vx===F)return\"quit\";if(e.isFunctionLike(Vx))return!0;if(Vx.parent&&Vx.parent.kind===164&&Vx.parent.initializer===Vx){if(e.hasSyntacticModifier(Vx.parent,32)){if(lx.kind===166)return!0}else if(!(lx.kind===164&&!e.hasSyntacticModifier(lx,32))||e.getContainingClass(A1)!==e.getContainingClass(lx))return!0}return!1})}function M1(A1,lx,Vx){return!(lx.end>A1.end)&&e.findAncestor(lx,function(ye){if(ye===A1)return\"quit\";switch(ye.kind){case 210:return!0;case 164:return!Vx||!(e.isPropertyDeclaration(A1)&&ye.parent===A1.parent||e.isParameterPropertyDeclaration(A1,A1.parent)&&ye.parent===A1.parent.parent)||\"quit\";case 231:switch(ye.parent.kind){case 168:case 166:case 169:return!0;default:return!1}default:return!1}})===void 0}}function Kh(r,f,g){var E=e.getEmitScriptTarget(V1),F=f;if(e.isParameter(g)&&F.body&&r.valueDeclaration&&r.valueDeclaration.pos>=F.body.pos&&r.valueDeclaration.end<=F.body.end&&E>=2){var q=Fo(F);return q.declarationRequiresScopeChange===void 0&&(q.declarationRequiresScopeChange=e.forEach(F.parameters,function(u1){return T0(u1.name)||!!u1.initializer&&T0(u1.initializer)})||!1),!q.declarationRequiresScopeChange}return!1;function T0(u1){switch(u1.kind){case 210:case 209:case 252:case 167:return!1;case 166:case 168:case 169:case 289:return T0(u1.name);case 164:return e.hasStaticModifier(u1)?E<99||!rx:T0(u1.name);default:return e.isNullishCoalesce(u1)||e.isOptionalChain(u1)?E<7:e.isBindingElement(u1)&&u1.dotDotDotToken&&e.isObjectBindingPattern(u1.parent)?E<4:!e.isTypeNode(u1)&&(e.forEachChild(u1,T0)||!1)}}}function j6(r,f,g,E,F,q,T0,u1){return T0===void 0&&(T0=!1),Jo(r,f,g,E,F,q,T0,ed,u1)}function Jo(r,f,g,E,F,q,T0,u1,M1){var A1,lx,Vx,ye,Ue,Ge,er,Ar=r,vr=!1,Yt=r,nn=!1;x:for(;r;){if(r.locals&&!pT(r)&&(lx=u1(r.locals,f,g))){var Nn=!0;if(e.isFunctionLike(r)&&Vx&&Vx!==r.body?(g&lx.flags&788968&&Vx.kind!==312&&(Nn=!!(262144&lx.flags)&&(Vx===r.type||Vx.kind===161||Vx.kind===160)),g&lx.flags&3&&(Kh(lx,r,Vx)?Nn=!1:1&lx.flags&&(Nn=Vx.kind===161||Vx===r.type&&!!e.findAncestor(lx.valueDeclaration,e.isParameter)))):r.kind===185&&(Nn=Vx===r.trueType),Nn)break x;lx=void 0}switch(vr=vr||aN(r,Vx),r.kind){case 298:if(!e.isExternalOrCommonJsModule(r))break;nn=!0;case 257:var Ei=ms(r).exports||Y1;if(r.kind===298||e.isModuleDeclaration(r)&&8388608&r.flags&&!e.isGlobalScopeAugmentation(r)){if(lx=Ei.get(\"default\")){var Ca=e.getLocalSymbolForExportDefault(lx);if(Ca&&lx.flags&g&&Ca.escapedName===f)break x;lx=void 0}var Aa=Ei.get(f);if(Aa&&Aa.flags===2097152&&(e.getDeclarationOfKind(Aa,271)||e.getDeclarationOfKind(Aa,270)))break}if(f!==\"default\"&&(lx=u1(Ei,f,2623475&g))){if(!e.isSourceFile(r)||!r.commonJsModuleIndicator||((A1=lx.declarations)===null||A1===void 0?void 0:A1.some(e.isJSDocTypeAlias)))break x;lx=void 0}break;case 256:if(lx=u1(ms(r).exports,f,8&g))break x;break;case 164:if(!e.hasSyntacticModifier(r,32)){var Qi=zD(r.parent);Qi&&Qi.locals&&u1(Qi.locals,f,111551&g)&&(Ue=r)}break;case 253:case 222:case 254:if(lx=u1(ms(r).members||Y1,f,788968&g)){if(!hd(lx,r)){lx=void 0;break}if(Vx&&e.hasSyntacticModifier(Vx,32))return void ht(Yt,e.Diagnostics.Static_members_cannot_reference_class_type_parameters);break x}if(r.kind===222&&32&g){var Oa=r.name;if(Oa&&f===Oa.escapedText){lx=r.symbol;break x}}break;case 224:if(Vx===r.expression&&r.parent.token===93){var Ra=r.parent.parent;if(e.isClassLike(Ra)&&(lx=u1(ms(Ra).members,f,788968&g)))return void(E&&ht(Yt,e.Diagnostics.Base_class_expressions_cannot_reference_class_type_parameters))}break;case 159:if(er=r.parent.parent,(e.isClassLike(er)||er.kind===254)&&(lx=u1(ms(er).members,f,788968&g)))return void ht(Yt,e.Diagnostics.A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type);break;case 210:if(V1.target>=2)break;case 166:case 167:case 168:case 169:case 252:if(3&g&&f===\"arguments\"){lx=ar;break x}break;case 209:if(3&g&&f===\"arguments\"){lx=ar;break x}if(16&g){var yn=r.name;if(yn&&f===yn.escapedText){lx=r.symbol;break x}}break;case 162:r.parent&&r.parent.kind===161&&(r=r.parent),r.parent&&(e.isClassElement(r.parent)||r.parent.kind===253)&&(r=r.parent);break;case 335:case 328:case 329:(Et=e.getJSDocRoot(r))&&(r=Et.parent);break;case 161:Vx&&(Vx===r.initializer||Vx===r.name&&e.isBindingPattern(Vx))&&(Ge||(Ge=r));break;case 199:Vx&&(Vx===r.initializer||Vx===r.name&&e.isBindingPattern(Vx))&&e.isParameterDeclaration(r)&&!Ge&&(Ge=r);break;case 186:if(262144&g){var ti=r.typeParameter.name;if(ti&&f===ti.escapedText){lx=r.typeParameter.symbol;break x}}}X2(r)&&(ye=r),Vx=r,r=r.parent}if(!q||!lx||ye&&lx===ye.symbol||(lx.isReferenced|=g),!lx){if(Vx&&(e.Debug.assert(Vx.kind===298),Vx.commonJsModuleIndicator&&f===\"exports\"&&g&Vx.symbol.flags))return Vx.symbol;T0||(lx=u1(Nt,f,g))}if(!lx&&Ar&&e.isInJSFile(Ar)&&Ar.parent&&e.isRequireCall(Ar.parent,!1))return Ni;if(lx){if(E){if(Ue&&(V1.target!==99||!rx)){var Gi=Ue.name;return void ht(Yt,e.Diagnostics.Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor,e.declarationNameToString(Gi),md(F))}if(Yt&&(2&g||(32&g||384&g)&&(111551&g)==111551)){var zi=mP(lx);(2&zi.flags||32&zi.flags||384&zi.flags)&&function(fr,rt){var di;if(e.Debug.assert(!!(2&fr.flags||32&fr.flags||384&fr.flags)),!(67108881&fr.flags&&32&fr.flags)){var Wt=(di=fr.declarations)===null||di===void 0?void 0:di.find(function(yi){return e.isBlockOrCatchScoped(yi)||e.isClassLike(yi)||yi.kind===256});if(Wt===void 0)return e.Debug.fail(\"checkResolvedBlockScopedVariable could not find block-scoped declaration\");if(!(8388608&Wt.flags||ah(Wt,rt))){var dn=void 0,Si=e.declarationNameToString(e.getNameOfDeclaration(Wt));2&fr.flags?dn=ht(rt,e.Diagnostics.Block_scoped_variable_0_used_before_its_declaration,Si):32&fr.flags?dn=ht(rt,e.Diagnostics.Class_0_used_before_its_declaration,Si):256&fr.flags?dn=ht(rt,e.Diagnostics.Enum_0_used_before_its_declaration,Si):(e.Debug.assert(!!(128&fr.flags)),e.shouldPreserveConstEnums(V1)&&(dn=ht(rt,e.Diagnostics.Enum_0_used_before_its_declaration,Si))),dn&&e.addRelatedInfo(dn,e.createDiagnosticForNode(Wt,e.Diagnostics._0_is_declared_here,Si))}}}(zi,Yt)}if(lx&&nn&&(111551&g)==111551&&!(4194304&Ar.flags)){var Wo=Xc(lx);e.length(Wo.declarations)&&e.every(Wo.declarations,function(fr){return e.isNamespaceExportDeclaration(fr)||e.isSourceFile(fr)&&!!fr.symbol.globalExports})&&Gc(!V1.allowUmdGlobalAccess,Yt,e.Diagnostics._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead,e.unescapeLeadingUnderscores(f))}if(lx&&Ge&&!vr&&(111551&g)==111551){var Ms=Xc(Ky(lx)),Et=e.getRootDeclaration(Ge);Ms===ms(Ge)?ht(Yt,e.Diagnostics.Parameter_0_cannot_reference_itself,e.declarationNameToString(Ge.name)):Ms.valueDeclaration&&Ms.valueDeclaration.pos>Ge.pos&&Et.parent.locals&&u1(Et.parent.locals,Ms.escapedName,g)===Ms&&ht(Yt,e.Diagnostics.Parameter_0_cannot_reference_identifier_1_declared_after_it,e.declarationNameToString(Ge.name),e.declarationNameToString(Yt))}lx&&Yt&&111551&g&&2097152&lx.flags&&function(fr,rt,di){if(!e.isValidTypeOnlyAliasUseSite(di)){var Wt=Sf(fr);if(Wt){var dn=e.typeOnlyDeclarationIsExport(Wt),Si=dn?e.Diagnostics._0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type:e.Diagnostics._0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type,yi=dn?e.Diagnostics._0_was_exported_here:e.Diagnostics._0_was_imported_here,l=e.unescapeLeadingUnderscores(rt);e.addRelatedInfo(ht(di,Si,l),e.createDiagnosticForNode(Wt,yi,l))}}}(lx,f,Yt)}return lx}if(E&&!(Yt&&(function(fr,rt,di){if(!e.isIdentifier(fr)||fr.escapedText!==rt||RE(fr)||rI(fr))return!1;for(var Wt=e.getThisContainer(fr,!1),dn=Wt;dn;){if(e.isClassLike(dn.parent)){var Si=ms(dn.parent);if(!Si)break;if(ec(Yo(Si),rt))return ht(fr,e.Diagnostics.Cannot_find_name_0_Did_you_mean_the_static_member_1_0,md(di),Is(Si)),!0;if(dn===Wt&&!e.hasSyntacticModifier(dn,32)&&ec(Il(Si).thisType,rt))return ht(fr,e.Diagnostics.Cannot_find_name_0_Did_you_mean_the_instance_member_this_0,md(di)),!0}dn=dn.parent}return!1}(Yt,f,F)||Pk(Yt)||function(fr,rt,di){var Wt=1920|(e.isInJSFile(fr)?111551:0);if(di===Wt){var dn=Zr(j6(fr,rt,788968&~Wt,void 0,void 0,!1)),Si=fr.parent;if(dn){if(e.isQualifiedName(Si)){e.Debug.assert(Si.left===fr,\"Should only be resolving left side of qualified name as a namespace\");var yi=Si.right.escapedText;if(ec(Il(dn),yi))return ht(Si,e.Diagnostics.Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_property_1_in_0_with_0_1,e.unescapeLeadingUnderscores(rt),e.unescapeLeadingUnderscores(yi)),!0}return ht(fr,e.Diagnostics._0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here,e.unescapeLeadingUnderscores(rt)),!0}}return!1}(Yt,f,g)||function(fr,rt){return q5(rt)&&fr.parent.kind===271?(ht(fr,e.Diagnostics.Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module,rt),!0):!1}(Yt,f)||function(fr,rt,di){if(111551&di){if(q5(rt))return ht(fr,e.Diagnostics._0_only_refers_to_a_type_but_is_being_used_as_a_value_here,e.unescapeLeadingUnderscores(rt)),!0;var Wt=Zr(j6(fr,rt,788544,void 0,void 0,!1));if(Wt&&!(1024&Wt.flags)){var dn=e.unescapeLeadingUnderscores(rt);return function(Si){switch(Si){case\"Promise\":case\"Symbol\":case\"Map\":case\"WeakMap\":case\"Set\":case\"WeakSet\":return!0}return!1}(rt)?ht(fr,e.Diagnostics._0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_es2015_or_later,dn):function(Si,yi){var l=e.findAncestor(Si.parent,function(zr){return!e.isComputedPropertyName(zr)&&!e.isPropertySignature(zr)&&(e.isTypeLiteralNode(zr)||\"quit\")});if(l&&l.members.length===1){var z=Il(yi);return!!(1048576&z.flags)&&CD(z,384,!0)}return!1}(fr,Wt)?ht(fr,e.Diagnostics._0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Did_you_mean_to_use_1_in_0,dn,dn===\"K\"?\"P\":\"K\"):ht(fr,e.Diagnostics._0_only_refers_to_a_type_but_is_being_used_as_a_value_here,dn),!0}}return!1}(Yt,f,g)||function(fr,rt,di){if(111127&di){if(Zr(j6(fr,rt,1024,void 0,void 0,!1)))return ht(fr,e.Diagnostics.Cannot_use_namespace_0_as_a_value,e.unescapeLeadingUnderscores(rt)),!0}else if(788544&di&&Zr(j6(fr,rt,1536,void 0,void 0,!1)))return ht(fr,e.Diagnostics.Cannot_use_namespace_0_as_a_type,e.unescapeLeadingUnderscores(rt)),!0;return!1}(Yt,f,g)||function(fr,rt,di){if(788584&di){var Wt=Zr(j6(fr,rt,111127,void 0,void 0,!1));if(Wt&&!(1920&Wt.flags))return ht(fr,e.Diagnostics._0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0,e.unescapeLeadingUnderscores(rt)),!0}return!1}(Yt,f,g)))){var wt=void 0;if(M1&&Md<10&&((wt=cI(Ar,f,g))&&wt.valueDeclaration&&e.isAmbientModule(wt.valueDeclaration)&&e.isGlobalScopeAugmentation(wt.valueDeclaration)&&(wt=void 0),wt)){var da=Is(wt),Ya=ht(Yt,M1,md(F),da);wt.valueDeclaration&&e.addRelatedInfo(Ya,e.createDiagnosticForNode(wt.valueDeclaration,e.Diagnostics._0_is_declared_here,da))}if(!wt&&F){var Da=function(fr){for(var rt=md(fr),di=e.getScriptTargetFeatures(),Wt=e.getOwnKeys(di),dn=0,Si=Wt;dn<Si.length;dn++){var yi=Si[dn],l=e.getOwnKeys(di[yi]);if(l!==void 0&&e.contains(l,rt))return yi}}(F);Da?ht(Yt,E,md(F),Da):ht(Yt,E,md(F))}Md++}}function aN(r,f){return r.kind!==210&&r.kind!==209?e.isTypeQueryNode(r)||(e.isFunctionLikeDeclaration(r)||r.kind===164&&!e.hasSyntacticModifier(r,32))&&(!f||f!==r.name):(!f||f!==r.name)&&(!(!r.asteriskToken&&!e.hasSyntacticModifier(r,256))||!e.getImmediatelyInvokedFunctionExpression(r))}function X2(r){switch(r.kind){case 252:case 253:case 254:case 256:case 255:case 257:return!0;default:return!1}}function md(r){return e.isString(r)?e.unescapeLeadingUnderscores(r):e.declarationNameToString(r)}function hd(r,f){if(r.declarations)for(var g=0,E=r.declarations;g<E.length;g++){var F=E[g];if(F.kind===160&&(e.isJSDocTemplateTag(F.parent)?e.getJSDocHost(F.parent):F.parent)===f)return!(e.isJSDocTemplateTag(F.parent)&&e.find(F.parent.parent.tags,e.isJSDocTypeAlias))}return!1}function Pk(r){var f=oh(r);return!(!f||!nl(f,64,!0))&&(ht(r,e.Diagnostics.Cannot_extend_an_interface_0_Did_you_mean_implements,e.getTextOfNode(f)),!0)}function oh(r){switch(r.kind){case 78:case 202:return r.parent?oh(r.parent):void 0;case 224:if(e.isEntityNameExpression(r.expression))return r.expression;default:return}}function q5(r){return r===\"any\"||r===\"string\"||r===\"number\"||r===\"boolean\"||r===\"never\"||r===\"unknown\"}function M9(r,f,g){return!!f&&!!e.findAncestor(r,function(E){return E===g||e.isFunctionLike(E)?\"quit\":E===f})}function HP(r){switch(r.kind){case 261:return r;case 263:return r.parent;case 264:return r.parent.parent;case 266:return r.parent.parent.parent;default:return}}function Hf(r){return r.declarations&&e.findLast(r.declarations,gm)}function gm(r){return r.kind===261||r.kind===260||r.kind===263&&!!r.name||r.kind===264||r.kind===270||r.kind===266||r.kind===271||r.kind===267&&e.exportAssignmentIsAlias(r)||e.isBinaryExpression(r)&&e.getAssignmentDeclarationKind(r)===2&&e.exportAssignmentIsAlias(r)||e.isAccessExpression(r)&&e.isBinaryExpression(r.parent)&&r.parent.left===r&&r.parent.operatorToken.kind===62&&dP(r.parent.right)||r.kind===290||r.kind===289&&dP(r.initializer)||e.isRequireVariableDeclaration(r)}function dP(r){return e.isAliasableExpression(r)||e.isFunctionExpression(r)&&am(r)}function Ik(r,f){var g=W(r);if(g){var E=e.getLeftmostAccessExpression(g.expression).arguments[0];return e.isIdentifier(g.name)?Zr(ec(ER(E),g.name.escapedText)):void 0}if(e.isVariableDeclaration(r)||r.moduleReference.kind===273){var F=f5(r,e.getExternalModuleRequireArgument(r)||e.getExternalModuleImportEqualsDeclarationExpression(r)),q=jd(F);return Ve(r,F,q,!1),q}var T0=P2(r.moduleReference,f);return function(u1,M1){if(Ve(u1,void 0,M1,!1)&&!u1.isTypeOnly){var A1=Sf(ms(u1)),lx=e.typeOnlyDeclarationIsExport(A1),Vx=lx?e.Diagnostics.An_import_alias_cannot_reference_a_declaration_that_was_exported_using_export_type:e.Diagnostics.An_import_alias_cannot_reference_a_declaration_that_was_imported_using_import_type,ye=lx?e.Diagnostics._0_was_exported_here:e.Diagnostics._0_was_imported_here,Ue=e.unescapeLeadingUnderscores(A1.name.escapedText);e.addRelatedInfo(ht(u1.moduleReference,Vx),e.createDiagnosticForNode(A1,ye,Ue))}}(r,T0),T0}function P(r,f,g,E){var F=r.exports.get(\"export=\"),q=F?ec(Yo(F),f):r.exports.get(f),T0=Zr(q,E);return Ve(g,q,T0,!1),T0}function T1(r){return e.isExportAssignment(r)&&!r.isExportEquals||e.hasSyntacticModifier(r,512)||e.isExportSpecifier(r)}function De(r,f,g){if(!O0)return!1;if(!r||r.isDeclarationFile){var E=P(f,\"default\",void 0,!0);return(!E||!e.some(E.declarations,T1))&&!P(f,e.escapeLeadingUnderscores(\"__esModule\"),void 0,g)}return e.isSourceFileJS(r)?!r.externalModuleIndicator&&!P(f,e.escapeLeadingUnderscores(\"__esModule\"),void 0,g):zm(f)}function rr(r,f){var g,E=f5(r,r.parent.moduleSpecifier);if(E){var F=void 0;F=e.isShorthandAmbientModuleSymbol(E)?E:P(E,\"default\",r,f);var q=De((g=E.declarations)===null||g===void 0?void 0:g.find(e.isSourceFile),E,f);if(F||q){if(q){var T0=jd(E,f)||Zr(E,f);return Ve(r,E,T0,!1),T0}}else if(zm(E)){var u1=$x>=e.ModuleKind.ES2015?\"allowSyntheticDefaultImports\":\"esModuleInterop\",M1=E.exports.get(\"export=\").valueDeclaration,A1=ht(r.name,e.Diagnostics.Module_0_can_only_be_default_imported_using_the_1_flag,Is(E),u1);M1&&e.addRelatedInfo(A1,e.createDiagnosticForNode(M1,e.Diagnostics.This_module_is_declared_with_using_export_and_can_only_be_used_with_a_default_import_when_using_the_0_flag,u1))}else(function(lx,Vx){var ye,Ue,Ge;if((ye=lx.exports)===null||ye===void 0?void 0:ye.has(Vx.symbol.escapedName))ht(Vx.name,e.Diagnostics.Module_0_has_no_default_export_Did_you_mean_to_use_import_1_from_0_instead,Is(lx),Is(Vx.symbol));else{var er=ht(Vx.name,e.Diagnostics.Module_0_has_no_default_export,Is(lx)),Ar=(Ue=lx.exports)===null||Ue===void 0?void 0:Ue.get(\"__export\");if(Ar){var vr=(Ge=Ar.declarations)===null||Ge===void 0?void 0:Ge.find(function(Yt){var nn,Nn;return!!(e.isExportDeclaration(Yt)&&Yt.moduleSpecifier&&((Nn=(nn=f5(Yt,Yt.moduleSpecifier))===null||nn===void 0?void 0:nn.exports)===null||Nn===void 0?void 0:Nn.has(\"default\")))});vr&&e.addRelatedInfo(er,e.createDiagnosticForNode(vr,e.Diagnostics.export_Asterisk_does_not_re_export_a_default))}}})(E,r);return Ve(r,F,void 0,!1),F}}function ei(r,f,g){var E,F;g===void 0&&(g=!1);var q=e.getExternalModuleRequireArgument(r)||r.moduleSpecifier,T0=f5(r,q),u1=!e.isPropertyAccessExpression(f)&&f.propertyName||f.name;if(e.isIdentifier(u1)){var M1=vh(T0,q,!1,u1.escapedText===\"default\"&&!(!V1.allowSyntheticDefaultImports&&!V1.esModuleInterop));if(M1&&u1.escapedText){if(e.isShorthandAmbientModuleSymbol(T0))return T0;var A1=void 0;A1=T0&&T0.exports&&T0.exports.get(\"export=\")?ec(Yo(M1),u1.escapedText,!0):function(vr,Yt){if(3&vr.flags){var nn=vr.valueDeclaration.type;if(nn)return Zr(ec(Dc(nn),Yt))}}(M1,u1.escapedText),A1=Zr(A1,g);var lx=function(vr,Yt,nn,Nn){if(1536&vr.flags){var Ei=Sw(vr).get(Yt.escapedText),Ca=Zr(Ei,Nn);return Ve(nn,Ei,Ca,!1),Ca}}(M1,u1,f,g);lx===void 0&&u1.escapedText===\"default\"&&De((E=T0.declarations)===null||E===void 0?void 0:E.find(e.isSourceFile),T0,g)&&(lx=jd(T0,g)||Zr(T0,g));var Vx=lx&&A1&&lx!==A1?function(vr,Yt){if(vr===W1&&Yt===W1)return W1;if(790504&vr.flags)return vr;var nn=f2(vr.flags|Yt.flags,vr.escapedName);return nn.declarations=e.deduplicate(e.concatenate(vr.declarations,Yt.declarations),e.equateValues),nn.parent=vr.parent||Yt.parent,vr.valueDeclaration&&(nn.valueDeclaration=vr.valueDeclaration),Yt.members&&(nn.members=new e.Map(Yt.members)),vr.exports&&(nn.exports=new e.Map(vr.exports)),nn}(A1,lx):lx||A1;if(!Vx){var ye=qA(T0,r),Ue=e.declarationNameToString(u1),Ge=K9(u1,M1);if(Ge!==void 0){var er=Is(Ge),Ar=ht(u1,e.Diagnostics._0_has_no_exported_member_named_1_Did_you_mean_2,ye,Ue,er);Ge.valueDeclaration&&e.addRelatedInfo(Ar,e.createDiagnosticForNode(Ge.valueDeclaration,e.Diagnostics._0_is_declared_here,er))}else((F=T0.exports)===null||F===void 0?void 0:F.has(\"default\"))?ht(u1,e.Diagnostics.Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead,ye,Ue):function(vr,Yt,nn,Nn,Ei){var Ca,Aa,Qi=(Aa=(Ca=Nn.valueDeclaration)===null||Ca===void 0?void 0:Ca.locals)===null||Aa===void 0?void 0:Aa.get(Yt.escapedText),Oa=Nn.exports;if(Qi){var Ra=Oa==null?void 0:Oa.get(\"export=\");if(Ra)qm(Ra,Qi)?function(Gi,zi,Wo,Ms){$x>=e.ModuleKind.ES2015?ht(zi,V1.esModuleInterop?e.Diagnostics._0_can_only_be_imported_by_using_a_default_import:e.Diagnostics._0_can_only_be_imported_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import,Wo):e.isInJSFile(Gi)?ht(zi,V1.esModuleInterop?e.Diagnostics._0_can_only_be_imported_by_using_a_require_call_or_by_using_a_default_import:e.Diagnostics._0_can_only_be_imported_by_using_a_require_call_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import,Wo):ht(zi,V1.esModuleInterop?e.Diagnostics._0_can_only_be_imported_by_using_import_1_require_2_or_a_default_import:e.Diagnostics._0_can_only_be_imported_by_using_import_1_require_2_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import,Wo,Wo,Ms)}(vr,Yt,nn,Ei):ht(Yt,e.Diagnostics.Module_0_has_no_exported_member_1,Ei,nn);else{var yn=Oa?e.find(CR(Oa),function(Gi){return!!qm(Gi,Qi)}):void 0,ti=yn?ht(Yt,e.Diagnostics.Module_0_declares_1_locally_but_it_is_exported_as_2,Ei,nn,Is(yn)):ht(Yt,e.Diagnostics.Module_0_declares_1_locally_but_it_is_not_exported,Ei,nn);Qi.declarations&&e.addRelatedInfo.apply(void 0,D([ti],e.map(Qi.declarations,function(Gi,zi){return e.createDiagnosticForNode(Gi,zi===0?e.Diagnostics._0_is_declared_here:e.Diagnostics.and_here,nn)})))}}else ht(Yt,e.Diagnostics.Module_0_has_no_exported_member_1,Ei,nn)}(r,u1,Ue,T0,ye)}return Vx}}}function W(r){if(e.isVariableDeclaration(r)&&r.initializer&&e.isPropertyAccessExpression(r.initializer))return r.initializer}function L0(r,f,g){var E=r.parent.parent.moduleSpecifier?ei(r.parent.parent,r,g):nl(r.propertyName||r.name,f,!1,g);return Ve(r,void 0,E,!1),E}function J1(r,f){if(e.isClassExpression(r))return VC(r).symbol;if(e.isEntityName(r)||e.isEntityNameExpression(r)){var g=nl(r,901119,!0,f);return g||(VC(r),Fo(r).resolvedSymbol)}}function ce(r,f){switch(f===void 0&&(f=!1),r.kind){case 261:case 250:return Ik(r,f);case 263:return rr(r,f);case 264:return function(g,E){var F=g.parent.parent.moduleSpecifier,q=f5(g,F),T0=vh(q,F,E,!1);return Ve(g,q,T0,!1),T0}(r,f);case 270:return function(g,E){var F=g.parent.moduleSpecifier,q=F&&f5(g,F),T0=F&&vh(q,F,E,!1);return Ve(g,q,T0,!1),T0}(r,f);case 266:case 199:return function(g,E){var F=e.isBindingElement(g)?e.getRootDeclaration(g):g.parent.parent.parent,q=W(F),T0=ei(F,q||g,E),u1=g.propertyName||g.name;return q&&T0&&e.isIdentifier(u1)?Zr(ec(Yo(T0),u1.escapedText),E):(Ve(g,void 0,T0,!1),T0)}(r,f);case 271:return L0(r,901119,f);case 267:case 217:return function(g,E){var F=J1(e.isExportAssignment(g)?g.expression:g.right,E);return Ve(g,void 0,F,!1),F}(r,f);case 260:return function(g,E){var F=jd(g.parent.symbol,E);return Ve(g,void 0,F,!1),F}(r,f);case 290:return nl(r.name,901119,!0,f);case 289:return function(g,E){return J1(g.initializer,E)}(r,f);case 203:case 202:return function(g,E){if(e.isBinaryExpression(g.parent)&&g.parent.left===g&&g.parent.operatorToken.kind===62)return J1(g.parent.right,E)}(r,f);default:return e.Debug.fail()}}function ze(r,f){return f===void 0&&(f=901119),!!r&&((r.flags&(2097152|f))==2097152||!!(2097152&r.flags&&67108864&r.flags))}function Zr(r,f){return!f&&ze(r)?ui(r):r}function ui(r){e.Debug.assert((2097152&r.flags)!=0,\"Should only get Alias here.\");var f=Zo(r);if(f.target)f.target===cx&&(f.target=W1);else{f.target=cx;var g=Hf(r);if(!g)return e.Debug.fail();var E=ce(g);f.target===cx?f.target=E||W1:ht(g,e.Diagnostics.Circular_definition_of_import_alias_0,Is(r))}return f.target}function Ve(r,f,g,E){if(!r||e.isPropertyAccessExpression(r))return!1;var F=ms(r);if(e.isTypeOnlyImportOrExportDeclaration(r))return Zo(F).typeOnlyDeclaration=r,!0;var q=Zo(F);return ks(q,f,E)||ks(q,g,E)}function ks(r,f,g){var E,F,q;if(f&&(r.typeOnlyDeclaration===void 0||g&&r.typeOnlyDeclaration===!1)){var T0=(F=(E=f.exports)===null||E===void 0?void 0:E.get(\"export=\"))!==null&&F!==void 0?F:f,u1=T0.declarations&&e.find(T0.declarations,e.isTypeOnlyImportOrExportDeclaration);r.typeOnlyDeclaration=(q=u1!=null?u1:Zo(T0).typeOnlyDeclaration)!==null&&q!==void 0&&q}return!!r.typeOnlyDeclaration}function Sf(r){if(2097152&r.flags)return Zo(r).typeOnlyDeclaration||void 0}function X6(r){var f=ms(r),g=ui(f);g&&(g===W1||111551&g.flags&&!YN(g)&&!Sf(f))&&DS(f)}function DS(r){var f=Zo(r);if(!f.referenced){f.referenced=!0;var g=Hf(r);if(!g)return e.Debug.fail();if(e.isInternalModuleImportEqualsDeclaration(g)){var E=Zr(r);(E===W1||111551&E.flags)&&VC(g.moduleReference)}}}function P2(r,f){return r.kind===78&&e.isRightSideOfQualifiedNameOrPropertyAccess(r)&&(r=r.parent),r.kind===78||r.parent.kind===158?nl(r,1920,!1,f):(e.Debug.assert(r.parent.kind===261),nl(r,901119,!1,f))}function qA(r,f){return r.parent?qA(r.parent,f)+\".\"+Is(r):Is(r,f,void 0,20)}function nl(r,f,g,E,F){if(!e.nodeIsMissing(r)){var q,T0=1920|(e.isInJSFile(r)?111551&f:0);if(r.kind===78){var u1=f===T0||e.nodeIsSynthesized(r)?e.Diagnostics.Cannot_find_namespace_0:p7(e.getFirstIdentifier(r)),M1=e.isInJSFile(r)&&!e.nodeIsSynthesized(r)?function(Yt,nn){if(Lk(Yt.parent)){var Nn=function(Ei){if(!e.findAncestor(Ei,function(Oa){return e.isJSDocNode(Oa)||4194304&Oa.flags?e.isJSDocTypeAlias(Oa):\"quit\"})){var Ca=e.getJSDocHost(Ei);if(Ca&&e.isExpressionStatement(Ca)&&e.isBinaryExpression(Ca.expression)&&e.getAssignmentDeclarationKind(Ca.expression)===3&&(Qi=ms(Ca.expression.left))||Ca&&(e.isObjectLiteralMethod(Ca)||e.isPropertyAssignment(Ca))&&e.isBinaryExpression(Ca.parent.parent)&&e.getAssignmentDeclarationKind(Ca.parent.parent)===6&&(Qi=ms(Ca.parent.parent.left)))return gd(Qi);var Aa=e.getEffectiveJSDocHost(Ei);if(Aa&&e.isFunctionLike(Aa)){var Qi;return(Qi=ms(Aa))&&Qi.valueDeclaration}}}(Yt.parent);if(Nn)return j6(Nn,Yt.escapedText,nn,void 0,Yt,!0)}}(r,f):void 0;if(!(q=Xc(j6(F||r,r.escapedText,f,g||M1?void 0:u1,r,!0))))return Xc(M1)}else{if(r.kind!==158&&r.kind!==202)throw e.Debug.assertNever(r,\"Unknown entity name kind.\");var A1=r.kind===158?r.left:r.expression,lx=r.kind===158?r.right:r.name,Vx=nl(A1,T0,g,!1,F);if(!Vx||e.nodeIsMissing(lx))return;if(Vx===W1)return Vx;if(Vx.valueDeclaration&&e.isInJSFile(Vx.valueDeclaration)&&e.isVariableDeclaration(Vx.valueDeclaration)&&Vx.valueDeclaration.initializer&&Jv(Vx.valueDeclaration.initializer)){var ye=Vx.valueDeclaration.initializer.arguments[0],Ue=f5(ye,ye);if(Ue){var Ge=jd(Ue);Ge&&(Vx=Ge)}}if(!(q=Xc(ed(Sw(Vx),lx.escapedText,f)))){if(!g){var er=qA(Vx),Ar=e.declarationNameToString(lx),vr=K9(lx,Vx);vr?ht(lx,e.Diagnostics._0_has_no_exported_member_named_1_Did_you_mean_2,er,Ar,Is(vr)):ht(lx,e.Diagnostics.Namespace_0_has_no_exported_member_1,er,Ar)}return}}return e.Debug.assert((1&e.getCheckFlags(q))==0,\"Should never get an instantiated symbol here.\"),!e.nodeIsSynthesized(r)&&e.isEntityName(r)&&(2097152&q.flags||r.parent.kind===267)&&Ve(e.getAliasDeclarationFromName(r),q,void 0,!0),q.flags&f||E?q:ui(q)}}function gd(r){var f=r.parent.valueDeclaration;if(f)return(e.isAssignmentDeclaration(f)?e.getAssignedExpandoInitializer(f):e.hasOnlyExpressionInitializer(f)?e.getDeclaredExpandoInitializer(f):void 0)||f}function f5(r,f,g){var E=e.getEmitModuleResolutionKind(V1)===e.ModuleResolutionKind.Classic?e.Diagnostics.Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_node_or_to_add_aliases_to_the_paths_option:e.Diagnostics.Cannot_find_module_0_or_its_corresponding_type_declarations;return p2(r,f,g?void 0:E)}function p2(r,f,g,E){return E===void 0&&(E=!1),e.isStringLiteralLike(f)?D_(r,f.text,g,f,E):void 0}function D_(r,f,g,E,F){F===void 0&&(F=!1),e.startsWith(f,\"@types/\")&&ht(E,Ge=e.Diagnostics.Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1,e.removePrefix(f,\"@types/\"),f);var q=QP(f,!0);if(q)return q;var T0=e.getSourceFileOfNode(r),u1=e.getResolvedModule(T0,f),M1=u1&&e.getResolutionDiagnostic(V1,u1),A1=u1&&!M1&&Y0.getSourceFile(u1.resolvedFileName);if(A1)return A1.symbol?(u1.isExternalLibraryImport&&!e.resolutionExtensionIsTSOrJson(u1.extension)&&GP(!1,E,u1,f),Xc(A1.symbol)):void(g&&ht(E,e.Diagnostics.File_0_is_not_a_module,A1.fileName));if(mC){var lx=e.findBestPatternMatch(mC,function(Ar){return Ar.pattern},f);if(lx){var Vx=fd&&fd.get(f);return Xc(Vx||lx.symbol)}}if(u1&&!e.resolutionExtensionIsTSOrJson(u1.extension)&&M1===void 0||M1===e.Diagnostics.Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type)F?ht(E,Ge=e.Diagnostics.Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augmented,f,u1.resolvedFileName):GP(Px&&!!g,E,u1,f);else if(g){if(u1){var ye=Y0.getProjectReferenceRedirect(u1.resolvedFileName);if(ye)return void ht(E,e.Diagnostics.Output_file_0_has_not_been_built_from_source_file_1,ye,u1.resolvedFileName)}if(M1)ht(E,M1,f,u1.resolvedFileName);else{var Ue=e.tryExtractTSExtension(f);if(Ue){var Ge=e.Diagnostics.An_import_path_cannot_end_with_a_0_extension_Consider_importing_1_instead,er=e.removeExtension(f,Ue);e.getEmitModuleKind(V1)>=e.ModuleKind.ES2015&&(er+=\".js\"),ht(E,Ge,Ue,er)}else!V1.resolveJsonModule&&e.fileExtensionIs(f,\".json\")&&e.getEmitModuleResolutionKind(V1)===e.ModuleResolutionKind.NodeJs&&e.hasJsonModuleEmitEnabled(V1)?ht(E,e.Diagnostics.Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension,f):ht(E,g,f)}}}function GP(r,f,g,E){var F,q=g.packageId,T0=g.resolvedFileName,u1=!e.isExternalModuleNameRelative(E)&&q?(F=q.name,I1().has(e.getTypesPackageName(F))?e.chainDiagnosticMessages(void 0,e.Diagnostics.If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_Slash_Slashgithub_com_SlashDefinitelyTyped_SlashDefinitelyTyped_Slashtree_Slashmaster_Slashtypes_Slash_1,q.name,e.mangleScopedPackageName(q.name)):e.chainDiagnosticMessages(void 0,e.Diagnostics.Try_npm_i_save_dev_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare_module_0,E,e.mangleScopedPackageName(q.name))):void 0;Gc(r,f,e.chainDiagnosticMessages(u1,e.Diagnostics.Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type,E,T0))}function jd(r,f){if(r==null?void 0:r.exports){var g=function(E,F){if(!E||E===W1||E===F||F.exports.size===1||2097152&E.flags)return E;var q=Zo(E);if(q.cjsExportMerged)return q.cjsExportMerged;var T0=33554432&E.flags?E:ip(E);return T0.flags=512|T0.flags,T0.exports===void 0&&(T0.exports=e.createSymbolTable()),F.exports.forEach(function(u1,M1){M1!==\"export=\"&&T0.exports.set(M1,T0.exports.has(M1)?fp(T0.exports.get(M1),u1):u1)}),Zo(T0).cjsExportMerged=T0,q.cjsExportMerged=T0}(Xc(Zr(r.exports.get(\"export=\"),f)),Xc(r));return Xc(g)||r}}function vh(r,f,g,E){var F=jd(r,g);if(!g&&F){if(!(E||1539&F.flags||e.getDeclarationOfKind(F,298))){var q=$x>=e.ModuleKind.ES2015?\"allowSyntheticDefaultImports\":\"esModuleInterop\";return ht(f,e.Diagnostics.This_module_can_only_be_referenced_with_ECMAScript_imports_Slashexports_by_turning_on_the_0_flag_and_referencing_its_default_export,q),F}if(V1.esModuleInterop){var T0=f.parent;if(e.isImportDeclaration(T0)&&e.getNamespaceDeclarationNode(T0)||e.isImportCall(T0)){var u1=Yo(F),M1=xv(u1,0);if(M1&&M1.length||(M1=xv(u1,1)),M1&&M1.length){var A1=XR(u1,F,r),lx=f2(F.flags,F.escapedName);lx.declarations=F.declarations?F.declarations.slice():[],lx.parent=F.parent,lx.target=F,lx.originatingImport=T0,F.valueDeclaration&&(lx.valueDeclaration=F.valueDeclaration),F.constEnumOnlyModule&&(lx.constEnumOnlyModule=!0),F.members&&(lx.members=new e.Map(F.members)),F.exports&&(lx.exports=new e.Map(F.exports));var Vx=b2(A1);return lx.type=yo(lx,Vx.members,e.emptyArray,e.emptyArray,Vx.stringIndexInfo,Vx.numberIndexInfo),lx}}}}return F}function zm(r){return r.exports.get(\"export=\")!==void 0}function Zw(r){return CR(Wm(r))}function v_(r,f){var g=Wm(f);if(g)return g.get(r)}function bh(r){return!(131068&r.flags||1&e.getObjectFlags(r)||NA(r)||Vd(r))}function Sw(r){return 6256&r.flags?VI(r,\"resolvedExports\"):1536&r.flags?Wm(r):r.exports||Y1}function Wm(r){var f=Zo(r);return f.resolvedExports||(f.resolvedExports=zh(r))}function MI(r,f,g,E){f&&f.forEach(function(F,q){if(q!==\"default\"){var T0=r.get(q);if(T0){if(g&&E&&T0&&Zr(T0)!==Zr(F)){var u1=g.get(q);u1.exportsWithDuplicate?u1.exportsWithDuplicate.push(E):u1.exportsWithDuplicate=[E]}}else r.set(q,F),g&&E&&g.set(q,{specifierText:e.getTextOfNode(E.moduleSpecifier)})}})}function zh(r){var f=[];return function g(E){if(!!(E&&E.exports&&e.pushIfUnique(f,E))){var F=new e.Map(E.exports),q=E.exports.get(\"__export\");if(q){var T0=e.createSymbolTable(),u1=new e.Map;if(q.declarations)for(var M1=0,A1=q.declarations;M1<A1.length;M1++){var lx=A1[M1],Vx=f5(lx,lx.moduleSpecifier),ye=g(Vx);MI(T0,ye,u1,lx)}u1.forEach(function(Ue,Ge){var er=Ue.exportsWithDuplicate;if(Ge!==\"export=\"&&er&&er.length&&!F.has(Ge))for(var Ar=0,vr=er;Ar<vr.length;Ar++){var Yt=vr[Ar];Ku.add(e.createDiagnosticForNode(Yt,e.Diagnostics.Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambiguity,u1.get(Ge).specifierText,e.unescapeLeadingUnderscores(Ge)))}}),MI(F,T0)}return F}}(r=jd(r))||Y1}function Xc(r){var f;return r&&r.mergeId&&(f=Dk[r.mergeId])?f:r}function ms(r){return Xc(r.symbol&&Ky(r.symbol))}function I2(r){return Xc(r.parent&&Ky(r.parent))}function ug(r,f,g){var E=I2(r);if(E&&!(262144&r.flags)){var F=e.mapDefined(E.declarations,function(lx){return E&&cg(lx,E)}),q=f&&function(lx,Vx){var ye,Ue=e.getSourceFileOfNode(Vx),Ge=t0(Ue),er=Zo(lx);if(er.extendedContainersByFile&&(ye=er.extendedContainersByFile.get(Ge)))return ye;if(Ue&&Ue.imports){for(var Ar=0,vr=Ue.imports;Ar<vr.length;Ar++){var Yt=vr[Ar];if(!e.nodeIsSynthesized(Yt)){var nn=f5(Vx,Yt,!0);nn&&s6(nn,lx)&&(ye=e.append(ye,nn))}}if(e.length(ye))return(er.extendedContainersByFile||(er.extendedContainersByFile=new e.Map)).set(Ge,ye),ye}if(er.extendedContainers)return er.extendedContainers;for(var Nn=0,Ei=Y0.getSourceFiles();Nn<Ei.length;Nn++){var Ca=Ei[Nn];if(e.isExternalModule(Ca)){var Aa=ms(Ca);s6(Aa,lx)&&(ye=e.append(ye,Aa))}}return er.extendedContainers=ye||e.emptyArray}(r,f),T0=function(lx,Vx){var ye=!!e.length(lx.declarations)&&e.first(lx.declarations);if(111551&Vx&&ye&&ye.parent&&e.isVariableDeclaration(ye.parent)&&(e.isObjectLiteralExpression(ye)&&ye===ye.parent.initializer||e.isTypeLiteralNode(ye)&&ye===ye.parent.type))return ms(ye.parent)}(E,g);if(f&&E.flags&oc(g)&&xl(E,f,1920,!1))return e.append(e.concatenate(e.concatenate([E],F),q),T0);var u1=!(E.flags&oc(g))&&788968&E.flags&&524288&Il(E).flags&&g===111551?Ou(f,function(lx){return e.forEachEntry(lx,function(Vx){if(Vx.flags&oc(g)&&Yo(Vx)===Il(E))return Vx})}):void 0,M1=D(D(u1?[u1]:[],F),[E]);return M1=e.append(M1,T0),M1=e.addRange(M1,q)}var A1=e.mapDefined(r.declarations,function(lx){return!e.isAmbientModule(lx)&&lx.parent&&qT(lx.parent)?ms(lx.parent):e.isClassExpression(lx)&&e.isBinaryExpression(lx.parent)&&lx.parent.operatorToken.kind===62&&e.isAccessExpression(lx.parent.left)&&e.isEntityNameExpression(lx.parent.left.expression)?e.isModuleExportsAccessExpression(lx.parent.left)||e.isExportsIdentifier(lx.parent.left.expression)?ms(e.getSourceFileOfNode(lx)):(VC(lx.parent.left.expression),Fo(lx.parent.left.expression).resolvedSymbol):void 0});if(e.length(A1))return e.mapDefined(A1,function(lx){return s6(lx,r)?lx:void 0})}function cg(r,f){var g=d2(r),E=g&&g.exports&&g.exports.get(\"export=\");return E&&qm(E,f)?g:void 0}function s6(r,f){if(r===I2(f))return f;var g=r.exports&&r.exports.get(\"export=\");if(g&&qm(g,f))return r;var E=Sw(r),F=E.get(f.escapedName);return F&&qm(F,f)?F:e.forEachEntry(E,function(q){if(qm(q,f))return q})}function qm(r,f){if(Xc(Zr(Xc(r)))===Xc(Zr(Xc(f))))return r}function mP(r){return Xc(r&&(1048576&r.flags)!=0?r.exportSymbol:r)}function b_(r){return!!(111551&r.flags||2097152&r.flags&&111551&ui(r).flags&&!Sf(r))}function zD(r){for(var f=0,g=r.members;f<g.length;f++){var E=g[f];if(E.kind===167&&e.nodeIsPresent(E.body))return E}}function Ae(r){var f=new G1(Kn,r);return n1++,f.id=n1,$1&&(e.tracing===null||e.tracing===void 0||e.tracing.recordType(f)),f}function kt(r){return new G1(Kn,r)}function br(r,f,g){g===void 0&&(g=0);var E=Ae(r);return E.intrinsicName=f,E.objectFlags=g,E}function Cn(r){var f=Lo(r);return f.flags|=16,f.intrinsicName=\"boolean\",f}function Ci(r,f){var g=Ae(524288);return g.objectFlags=r,g.symbol=f,g.members=void 0,g.properties=void 0,g.callSignatures=void 0,g.constructSignatures=void 0,g.stringIndexInfo=void 0,g.numberIndexInfo=void 0,g}function $i(r){var f=Ae(262144);return r&&(f.symbol=r),f}function no(r){return r.charCodeAt(0)===95&&r.charCodeAt(1)===95&&r.charCodeAt(2)!==95&&r.charCodeAt(2)!==64&&r.charCodeAt(2)!==35}function lo(r){var f;return r.forEach(function(g,E){!no(E)&&b_(g)&&(f||(f=[])).push(g)}),f||e.emptyArray}function Qs(r,f,g,E,F,q){var T0=r;return T0.members=f,T0.properties=e.emptyArray,T0.callSignatures=g,T0.constructSignatures=E,T0.stringIndexInfo=F,T0.numberIndexInfo=q,f!==Y1&&(T0.properties=lo(f)),T0}function yo(r,f,g,E,F,q){return Qs(Ci(16,r),f,g,E,F,q)}function Ou(r,f){for(var g,E=function(T0){if(T0.locals&&!pT(T0)&&(g=f(T0.locals,void 0,!0)))return{value:g};switch(T0.kind){case 298:if(!e.isExternalOrCommonJsModule(T0))break;case 257:var u1=ms(T0);if(g=f((u1==null?void 0:u1.exports)||Y1,void 0,!0))return{value:g};break;case 253:case 222:case 254:var M1;if((ms(T0).members||Y1).forEach(function(A1,lx){788968&A1.flags&&(M1||(M1=e.createSymbolTable())).set(lx,A1)}),M1&&(g=f(M1)))return{value:g}}},F=r;F;F=F.parent){var q=E(F);if(typeof q==\"object\")return q.value}return f(Nt,void 0,!0)}function oc(r){return r===111551?111551:1920}function xl(r,f,g,E,F){if(F===void 0&&(F=new e.Map),r&&!function(Vx){if(Vx.declarations&&Vx.declarations.length){for(var ye=0,Ue=Vx.declarations;ye<Ue.length;ye++)switch(Ue[ye].kind){case 164:case 166:case 168:case 169:continue;default:return!1}return!0}return!1}(r)){var q=f0(r),T0=F.get(q);return T0||F.set(q,T0=[]),Ou(f,u1)}function u1(Vx,ye,Ue){if(e.pushIfUnique(T0,Vx)){var Ge=function(er,Ar,vr){return A1(er.get(r.escapedName),void 0,Ar)?[r]:e.forEachEntry(er,function(Yt){if(2097152&Yt.flags&&Yt.escapedName!==\"export=\"&&Yt.escapedName!==\"default\"&&!(e.isUMDExportSymbol(Yt)&&f&&e.isExternalModule(e.getSourceFileOfNode(f)))&&(!E||e.some(Yt.declarations,e.isExternalModuleImportEqualsDeclaration))&&(!vr||!e.some(Yt.declarations,e.isNamespaceReexportDeclaration))&&(Ar||!e.getDeclarationOfKind(Yt,271))){var nn=lx(Yt,ui(Yt),Ar);if(nn)return nn}if(Yt.escapedName===r.escapedName&&Yt.exportSymbol&&A1(Xc(Yt.exportSymbol),void 0,Ar))return[r]})||(er===Nt?lx(xr,xr,Ar):void 0)}(Vx,ye,Ue);return T0.pop(),Ge}}function M1(Vx,ye){return!Jl(Vx,f,ye)||!!xl(Vx.parent,f,oc(ye),E,F)}function A1(Vx,ye,Ue){return(r===(ye||Vx)||Xc(r)===Xc(ye||Vx))&&!e.some(Vx.declarations,qT)&&(Ue||M1(Xc(Vx),g))}function lx(Vx,ye,Ue){if(A1(Vx,ye,Ue))return[Vx];var Ge=Sw(ye),er=Ge&&u1(Ge,!0);return er&&M1(Vx,oc(g))?[Vx].concat(er):void 0}}function Jl(r,f,g){var E=!1;return Ou(f,function(F){var q=Xc(F.get(r.escapedName));return!!q&&(q===r||!!((q=2097152&q.flags&&!e.getDeclarationOfKind(q,271)?ui(q):q).flags&g)&&(E=!0,!0))}),E}function dp(r,f){return F5(r,f,788968,!1,!0).accessibility===0}function If(r,f){return F5(r,f,111551,!1,!0).accessibility===0}function ql(r,f,g){return F5(r,f,g,!1,!1).accessibility===0}function Ip(r,f,g,E,F,q){if(e.length(r)){for(var T0,u1=!1,M1=0,A1=r;M1<A1.length;M1++){var lx=A1[M1],Vx=xl(lx,f,E,!1);if(Vx){T0=lx;var ye=rF(Vx[0],F);if(ye)return ye}if(q&&e.some(lx.declarations,qT)){if(F){u1=!0;continue}return{accessibility:0}}var Ue=Ip(ug(lx,f,E),f,g,g===lx?oc(E):E,F,q);if(Ue)return Ue}return u1?{accessibility:0}:T0?{accessibility:1,errorSymbolName:Is(g,f,E),errorModuleName:T0!==g?Is(T0,f,1920):void 0}:void 0}}function sw(r,f,g,E){return F5(r,f,g,E,!0)}function F5(r,f,g,E,F){if(r&&f){var q=Ip([r],f,r,g,E,F);if(q)return q;var T0=e.forEach(r.declarations,d2);return T0&&T0!==d2(f)?{accessibility:2,errorSymbolName:Is(r,f,g),errorModuleName:Is(T0),errorNode:e.isInJSFile(f)?f:void 0}:{accessibility:1,errorSymbolName:Is(r,f,g)}}return{accessibility:0}}function d2(r){var f=e.findAncestor(r,td);return f&&ms(f)}function td(r){return e.isAmbientModule(r)||r.kind===298&&e.isExternalOrCommonJsModule(r)}function qT(r){return e.isModuleWithStringLiteralName(r)||r.kind===298&&e.isExternalOrCommonJsModule(r)}function rF(r,f){var g;if(e.every(e.filter(r.declarations,function(F){return F.kind!==78}),function(F){var q,T0;if(!e9(F)){var u1=HP(F);return u1&&!e.hasSyntacticModifier(u1,1)&&e9(u1.parent)?E(F,u1):e.isVariableDeclaration(F)&&e.isVariableStatement(F.parent.parent)&&!e.hasSyntacticModifier(F.parent.parent,1)&&e9(F.parent.parent.parent)?E(F,F.parent.parent):e.isLateVisibilityPaintedStatement(F)&&!e.hasSyntacticModifier(F,1)&&e9(F.parent)?E(F,F):!!(2097152&r.flags&&e.isBindingElement(F)&&e.isInJSFile(F)&&((q=F.parent)===null||q===void 0?void 0:q.parent)&&e.isVariableDeclaration(F.parent.parent)&&((T0=F.parent.parent.parent)===null||T0===void 0?void 0:T0.parent)&&e.isVariableStatement(F.parent.parent.parent.parent)&&!e.hasSyntacticModifier(F.parent.parent.parent.parent,1)&&F.parent.parent.parent.parent.parent&&e9(F.parent.parent.parent.parent.parent))&&E(F,F.parent.parent.parent.parent)}return!0}))return{accessibility:0,aliasesToMakeVisible:g};function E(F,q){return f&&(Fo(F).isVisible=!0,g=e.appendIfUnique(g,q)),!0}}function C_(r,f){var g;g=r.parent.kind===177||e.isExpressionWithTypeArgumentsInClassExtendsClause(r.parent)||r.parent.kind===159?1160127:r.kind===158||r.kind===202||r.parent.kind===261?1920:788968;var E=e.getFirstIdentifier(r),F=j6(f,E.escapedText,g,void 0,void 0,!1);return F&&262144&F.flags&&788968&g?{accessibility:0}:F&&rF(F,!0)||{accessibility:1,errorSymbolName:e.getTextOfNode(E),errorNode:E}}function Is(r,f,g,E,F){E===void 0&&(E=4);var q=70221824;2&E&&(q|=128),1&E&&(q|=512),8&E&&(q|=16384),16&E&&(q|=134217728);var T0=4&E?gr.symbolToExpression:gr.symbolToEntityName;return F?u1(F).getText():e.usingSingleLineStringWriter(u1);function u1(M1){var A1=T0(r,g,f,q),lx=(f==null?void 0:f.kind)===298?e.createPrinter({removeComments:!0,neverAsciiEscape:!0}):e.createPrinter({removeComments:!0}),Vx=f&&e.getSourceFileOfNode(f);return lx.writeNode(4,A1,Vx,M1),M1}}function O2(r,f,g,E,F){return g===void 0&&(g=0),F?q(F).getText():e.usingSingleLineStringWriter(q);function q(T0){var u1;u1=262144&g?E===1?176:175:E===1?171:170;var M1=gr.signatureToSignatureDeclaration(r,u1,f,70222336|RI(g)),A1=e.createPrinter({removeComments:!0,omitTrailingSemicolon:!0}),lx=f&&e.getSourceFileOfNode(f);return A1.writeNode(4,M1,lx,e.getTrailingSemicolonDeferringWriter(T0)),T0}}function ka(r,f,g,E){g===void 0&&(g=1064960),E===void 0&&(E=e.createTextWriter(\"\"));var F=V1.noErrorTruncation||1&g,q=gr.typeToTypeNode(r,f,70221824|RI(g)|(F?1:0),E);if(q===void 0)return e.Debug.fail(\"should always get typenode\");var T0=e.createPrinter({removeComments:!0}),u1=f&&e.getSourceFileOfNode(f);T0.writeNode(4,q,u1,E);var M1=E.getText(),A1=F?2*e.noTruncationMaximumTruncationLength:2*e.defaultMaximumTruncationLength;return A1&&M1&&M1.length>=A1?M1.substr(0,A1-\"...\".length)+\"...\":M1}function lg(r,f){var g=LN(r.symbol)?ka(r,r.symbol.valueDeclaration):ka(r),E=LN(f.symbol)?ka(f,f.symbol.valueDeclaration):ka(f);return g===E&&(g=x9(r),E=x9(f)),[g,E]}function x9(r){return ka(r,void 0,64)}function LN(r){return r&&!!r.valueDeclaration&&e.isExpression(r.valueDeclaration)&&!Ek(r.valueDeclaration)}function RI(r){return r===void 0&&(r=0),814775659&r}function My(r){return!!(r.symbol&&32&r.symbol.flags&&(r===Ed(r.symbol)||524288&r.flags&&16777216&e.getObjectFlags(r)))}function sh(r,f,g,E){return g===void 0&&(g=16384),E?F(E).getText():e.usingSingleLineStringWriter(F);function F(q){var T0=e.factory.createTypePredicateNode(r.kind===2||r.kind===3?e.factory.createToken(127):void 0,r.kind===1||r.kind===3?e.factory.createIdentifier(r.parameterName):e.factory.createThisTypeNode(),r.type&&gr.typeToTypeNode(r.type,f,70222336|RI(g))),u1=e.createPrinter({removeComments:!0}),M1=f&&e.getSourceFileOfNode(f);return u1.writeNode(4,T0,M1,q),q}}function Ok(r){return r===8?\"private\":r===16?\"protected\":\"public\"}function xk(r){return r&&r.parent&&r.parent.kind===258&&e.isExternalModuleAugmentation(r.parent.parent)}function E_(r){return r.kind===298||e.isAmbientModule(r)}function Ry(r,f){var g=Zo(r).nameType;if(g){if(384&g.flags){var E=\"\"+g.value;return e.isIdentifierText(E,V1.target)||nd(E)?nd(E)&&e.startsWith(E,\"-\")?\"[\"+E+\"]\":E:'\"'+e.escapeString(E,34)+'\"'}if(8192&g.flags)return\"[\"+fg(g.symbol,f)+\"]\"}}function fg(r,f){if(f&&r.escapedName===\"default\"&&!(16384&f.flags)&&(!(16777216&f.flags)||!r.declarations||f.enclosingDeclaration&&e.findAncestor(r.declarations[0],E_)!==e.findAncestor(f.enclosingDeclaration,E_)))return\"default\";if(r.declarations&&r.declarations.length){var g=e.firstDefined(r.declarations,function(u1){return e.getNameOfDeclaration(u1)?u1:void 0}),E=g&&e.getNameOfDeclaration(g);if(g&&E){if(e.isCallExpression(g)&&e.isBindableObjectDefinePropertyCall(g))return e.symbolName(r);if(e.isComputedPropertyName(E)&&!(4096&e.getCheckFlags(r))){var F=Zo(r).nameType;if(F&&384&F.flags){var q=Ry(r,f);if(q!==void 0)return q}}return e.declarationNameToString(E)}if(g||(g=r.declarations[0]),g.parent&&g.parent.kind===250)return e.declarationNameToString(g.parent.name);switch(g.kind){case 222:case 209:case 210:return!f||f.encounteredError||131072&f.flags||(f.encounteredError=!0),g.kind===222?\"(Anonymous class)\":\"(Anonymous function)\"}}var T0=Ry(r,f);return T0!==void 0?T0:e.symbolName(r)}function e9(r){if(r){var f=Fo(r);return f.isVisible===void 0&&(f.isVisible=!!function(){switch(r.kind){case 328:case 335:case 329:return!!(r.parent&&r.parent.parent&&r.parent.parent.parent&&e.isSourceFile(r.parent.parent.parent));case 199:return e9(r.parent.parent);case 250:if(e.isBindingPattern(r.name)&&!r.name.elements.length)return!1;case 257:case 253:case 254:case 255:case 252:case 256:case 261:if(e.isExternalModuleAugmentation(r))return!0;var g=eu(r);return 1&e.getCombinedModifierFlags(r)||r.kind!==261&&g.kind!==298&&8388608&g.flags?e9(g):pT(g);case 164:case 163:case 168:case 169:case 166:case 165:if(e.hasEffectiveModifier(r,24))return!1;case 167:case 171:case 170:case 172:case 161:case 258:case 175:case 176:case 178:case 174:case 179:case 180:case 183:case 184:case 187:case 193:return e9(r.parent);case 263:case 264:case 266:return!1;case 160:case 298:case 260:return!0;case 267:default:return!1}}()),f.isVisible}return!1}function HL(r,f){var g,E,F;return r.parent&&r.parent.kind===267?g=j6(r,r.escapedText,2998271,void 0,r,!1):r.parent.kind===271&&(g=L0(r.parent,2998271)),g&&((F=new e.Set).add(f0(g)),function q(T0){e.forEach(T0,function(u1){var M1=HP(u1)||u1;if(f?Fo(u1).isVisible=!0:(E=E||[],e.pushIfUnique(E,M1)),e.isInternalModuleImportEqualsDeclaration(u1)){var A1=u1.moduleReference,lx=j6(u1,e.getFirstIdentifier(A1).escapedText,901119,void 0,void 0,!1);lx&&F&&e.tryAddToSet(F,f0(lx))&&q(lx.declarations)}})}(g.declarations)),E}function vk(r,f){var g=Ug(r,f);if(g>=0){for(var E=iA.length,F=g;F<E;F++)t4[F]=!1;return!1}return iA.push(r),t4.push(!0),Om.push(f),!0}function Ug(r,f){for(var g=iA.length-1;g>=0;g--){if(uh(iA[g],Om[g]))return-1;if(iA[g]===r&&Om[g]===f)return g}return-1}function uh(r,f){switch(f){case 0:return!!Zo(r).type;case 5:return!!Fo(r).resolvedEnumType;case 2:return!!Zo(r).declaredType;case 1:return!!r.resolvedBaseConstructorType;case 3:return!!r.resolvedReturnType;case 4:return!!r.immediateBaseConstraint;case 6:return!!r.resolvedTypeArguments;case 7:return!!r.baseTypesResolved}return e.Debug.assertNever(f)}function bo(){return iA.pop(),Om.pop(),t4.pop()}function eu(r){return e.findAncestor(e.getRootDeclaration(r),function(f){switch(f.kind){case 250:case 251:case 266:case 265:case 264:case 263:return!1;default:return!0}}).parent}function qc(r,f){var g=ec(r,f);return g?Yo(g):void 0}function Vu(r){return r&&(1&r.flags)!=0}function Ac(r){var f=ms(r);return f&&Zo(f).type||ua(r,!1)}function $p(r,f,g){if(131072&(r=aA(r,function(ye){return!(98304&ye.flags)})).flags)return qs;if(1048576&r.flags)return rf(r,function(ye){return $p(ye,f,g)});var E=Lo(e.map(f,Rk));if(Sh(r)||U9(E)){if(131072&E.flags)return r;var F=Un||(Un=Ym(\"Omit\",524288,e.Diagnostics.Cannot_find_global_type_0));return F?vP(F,[r,E]):ae}for(var q=e.createSymbolTable(),T0=0,u1=$c(r);T0<u1.length;T0++){var M1=u1[T0];cc(OO(M1,8576),E)||24&e.getDeclarationModifierFlagsFromSymbol(M1)||!P_(M1)||q.set(M1.escapedName,cv(M1,!1))}var A1=vC(r,0),lx=vC(r,1),Vx=yo(g,q,e.emptyArray,e.emptyArray,A1,lx);return Vx.objectFlags|=8388608,Vx}function d6(r){return!!(465829888&r.flags)&&yl(wA(r)||ut,32768)}function Pc(r){return KS(Zg(r,d6)?rf(r,function(f){return 465829888&f.flags?QL(f):f}):r,524288)}function of(r,f){var g=hf(r);return g?dh(g,f):f}function hf(r){var f=function(T0){var u1=T0.parent.parent;switch(u1.kind){case 199:case 289:return hf(u1);case 200:return hf(T0.parent);case 250:return u1.initializer;case 217:return u1.right}}(r);if(f&&f.flowNode){var g=function(T0){var u1=T0.parent;return T0.kind===199&&u1.kind===197?Op(T0.propertyName||T0.name):T0.kind===289||T0.kind===290?Op(T0.name):\"\"+u1.elements.indexOf(T0)}(r);if(g){var E=e.setTextRange(e.parseNodeFactory.createStringLiteral(g),r),F=e.isLeftHandSideExpression(f)?f:e.parseNodeFactory.createParenthesizedExpression(f),q=e.setTextRange(e.parseNodeFactory.createElementAccessExpression(F,E),r);return e.setParent(E,q),e.setParent(q,r),F!==f&&e.setParent(F,q),q.flowNode=f.flowNode,q}}}function Op(r){var f=Rk(r);return 384&f.flags?\"\"+f.value:void 0}function Gf(r){var f,g=r.parent,E=Ac(g.parent);if(!E||Vu(E))return E;if(C1&&8388608&r.flags&&e.isParameterDeclaration(r)?E=Cm(E):!C1||!g.parent.initializer||65536&eh(VR(g.parent.initializer))||(E=KS(E,524288)),g.kind===197)if(r.dotDotDotToken){if(2&(E=Q2(E)).flags||!CP(E))return ht(r,e.Diagnostics.Rest_types_may_only_be_created_from_object_types),ae;for(var F=[],q=0,T0=g.elements;q<T0.length;q++){var u1=T0[q];u1.dotDotDotToken||F.push(u1.propertyName||u1.name)}f=$p(E,F,r.symbol)}else{var M1=r.propertyName||r.name;f=of(r,JT(E,Vx=Rk(M1),void 0,M1,void 0,void 0,16))}else{var A1=wm(65|(r.dotDotDotToken?0:128),E,Gr,g),lx=g.elements.indexOf(r);if(r.dotDotDotToken)f=Kk(E,Vd)?rf(E,function(Ue){return iM(Ue,lx)}):zf(A1);else if(uw(E)){var Vx=sf(lx),ye=Fm(r)?8:0;f=of(r,vm(E,Vx,void 0,r.name,16|ye)||ae)}else f=A1}return r.initializer?e.getEffectiveTypeAnnotationNode(e.walkUpBindingElementsAndPatterns(r))?!C1||32768&MF(XI(r))?f:Pc(f):ED(r,Lo([Pc(f),XI(r)],2)):f}function mp(r){var f=e.getJSDocType(r);if(f)return Dc(f)}function A5(r){var f=e.skipParentheses(r);return f.kind===200&&f.elements.length===0}function Of(r,f){return f===void 0&&(f=!0),C1&&f?nm(r):r}function ua(r,f){if(e.isVariableDeclaration(r)&&r.parent.parent.kind===239){var g=Ck(zv(Js(r.parent.parent.expression)));return 4456448&g.flags?Qb(g):l1}if(e.isVariableDeclaration(r)&&r.parent.parent.kind===240)return db(r.parent.parent)||E1;if(e.isBindingPattern(r.parent))return Gf(r);var E=f&&(e.isParameter(r)&&Bk(r)||ZL(r)||!e.isBindingElement(r)&&!e.isVariableDeclaration(r)&&!!r.questionToken),F=XL(r);if(F)return Of(F,E);if((Px||e.isInJSFile(r))&&e.isVariableDeclaration(r)&&!e.isBindingPattern(r.name)&&!(1&e.getCombinedModifierFlags(r))&&!(8388608&r.flags)){if(!(2&e.getCombinedNodeFlags(r))&&(!r.initializer||function(er){var Ar=e.skipParentheses(er);return Ar.kind===103||Ar.kind===78&&$k(Ar)===Ir}(r.initializer)))return qx;if(r.initializer&&A5(r.initializer))return mf}if(e.isParameter(r)){var q=r.parent;if(q.kind===169&&UI(q)){var T0=e.getDeclarationOfKind(ms(r.parent),168);if(T0){var u1=xm(T0),M1=OM(q);return M1&&r===M1?(e.Debug.assert(!M1.type),Yo(u1.thisParameter)):yc(u1)}}if(e.isInJSFile(r)){var A1=e.getJSDocType(q);if(A1&&e.isFunctionTypeNode(A1)){var lx=xm(A1),Vx=q.parameters.indexOf(r);return r.dotDotDotToken?DD(lx,Vx):p5(lx,Vx)}}if(Ue=r.symbol.escapedName===\"this\"?wE(q):Ov(r))return Of(Ue,E)}if(e.hasOnlyExpressionInitializer(r)&&r.initializer){if(e.isInJSFile(r)&&!e.isParameter(r)){var ye=Tb(r,ms(r),e.getDeclaredExpandoInitializer(r));if(ye)return ye}return Of(Ue=ED(r,XI(r)),E)}if(e.isPropertyDeclaration(r)&&!e.hasStaticModifier(r)&&(Px||e.isInJSFile(r))){var Ue,Ge=zD(r.parent);return(Ue=Ge?S_(r.symbol,Ge):2&e.getEffectiveModifierFlags(r)?cM(r.symbol):void 0)&&Of(Ue,E)}return e.isJsxAttribute(r)?Kr:e.isBindingPattern(r.name)?yR(r.name,!1,!0):void 0}function TA(r){if(r.valueDeclaration&&e.isBinaryExpression(r.valueDeclaration)){var f=Zo(r);return f.isConstructorDeclaredProperty===void 0&&(f.isConstructorDeclaredProperty=!1,f.isConstructorDeclaredProperty=!!J5(r)&&e.every(r.declarations,function(g){return e.isBinaryExpression(g)&&S7(g)&&(g.left.kind!==203||e.isStringOrNumericLiteralLike(g.left.argumentExpression))&&!jI(void 0,g,r,g)})),f.isConstructorDeclaredProperty}return!1}function MN(r){var f=r.valueDeclaration;return f&&e.isPropertyDeclaration(f)&&!e.getEffectiveTypeAnnotationNode(f)&&!f.initializer&&(Px||e.isInJSFile(f))}function J5(r){if(r.declarations)for(var f=0,g=r.declarations;f<g.length;f++){var E=g[f],F=e.getThisContainer(E,!1);if(F&&(F.kind===167||am(F)))return F}}function S_(r,f){var g=e.startsWith(r.escapedName,\"__#\")?e.factory.createPrivateIdentifier(r.escapedName.split(\"@\")[1]):e.unescapeLeadingUnderscores(r.escapedName),E=e.factory.createPropertyAccessExpression(e.factory.createThis(),g);e.setParent(E.expression,E),e.setParent(E,f),E.flowNode=f.returnFlowNode;var F=NT(E,r);return!Px||F!==qx&&F!==mf||ht(r.valueDeclaration,e.Diagnostics.Member_0_implicitly_has_an_1_type,Is(r),ka(F)),Kk(F,RC)?void 0:QO(F)}function NT(r,f){var g=(f==null?void 0:f.valueDeclaration)&&(!MN(f)||2&e.getEffectiveModifierFlags(f.valueDeclaration))&&cM(f)||Gr;return dh(r,qx,g)}function RN(r,f){var g,E=e.getAssignedExpandoInitializer(r.valueDeclaration);if(E){var F=e.getJSDocTypeTag(E);return F&&F.typeExpression?Dc(F.typeExpression):r.valueDeclaration&&Tb(r.valueDeclaration,r,E)||fh(VC(E))}var q=!1,T0=!1;if(TA(r)&&(g=S_(r,J5(r))),!g){var u1=void 0;if(r.declarations){for(var M1=void 0,A1=0,lx=r.declarations;A1<lx.length;A1++){var Vx=lx[A1],ye=e.isBinaryExpression(Vx)||e.isCallExpression(Vx)?Vx:e.isAccessExpression(Vx)?e.isBinaryExpression(Vx.parent)?Vx.parent:Vx:void 0;if(ye){var Ue=e.isAccessExpression(ye)?e.getAssignmentDeclarationPropertyAccessKind(ye):e.getAssignmentDeclarationKind(ye);(Ue===4||e.isBinaryExpression(ye)&&S7(ye,Ue))&&(WD(ye)?q=!0:T0=!0),e.isCallExpression(ye)||(M1=jI(M1,ye,r,Vx)),M1||(u1||(u1=[])).push(e.isBinaryExpression(ye)||e.isCallExpression(ye)?ay(r,f,ye,Ue):Mn)}}g=M1}if(!g){if(!e.length(u1))return ae;var Ge=q&&r.declarations?function(vr,Yt){return e.Debug.assert(vr.length===Yt.length),vr.filter(function(nn,Nn){var Ei=Yt[Nn],Ca=e.isBinaryExpression(Ei)?Ei:e.isBinaryExpression(Ei.parent)?Ei.parent:void 0;return Ca&&WD(Ca)})}(u1,r.declarations):void 0;if(T0){var er=cM(r);er&&((Ge||(Ge=[])).push(er),q=!0)}g=Lo(e.some(Ge,function(vr){return!!(-98305&vr.flags)})?Ge:u1,2)}}var Ar=Bp(Of(g,T0&&!q));return r.valueDeclaration&&aA(Ar,function(vr){return!!(-98305&vr.flags)})===Mn?(Mm(r.valueDeclaration,E1),E1):Ar}function Tb(r,f,g){var E,F;if(e.isInJSFile(r)&&g&&e.isObjectLiteralExpression(g)&&!g.properties.length){for(var q=e.createSymbolTable();e.isBinaryExpression(r)||e.isPropertyAccessExpression(r);){var T0=ms(r);((E=T0==null?void 0:T0.exports)===null||E===void 0?void 0:E.size)&&pp(q,T0.exports),r=e.isBinaryExpression(r)?r.parent:r.parent.parent}var u1=ms(r);((F=u1==null?void 0:u1.exports)===null||F===void 0?void 0:F.size)&&pp(q,u1.exports);var M1=yo(f,q,e.emptyArray,e.emptyArray,void 0,void 0);return M1.objectFlags|=8192,M1}}function jI(r,f,g,E){var F,q=e.getEffectiveTypeAnnotationNode(f.parent);if(q){var T0=Bp(Dc(q));if(!r)return T0;r===ae||T0===ae||tm(r,T0)||tj(void 0,r,E,T0)}if((F=g.parent)===null||F===void 0?void 0:F.valueDeclaration){var u1=e.getEffectiveTypeAnnotationNode(g.parent.valueDeclaration);if(u1)return qc(Dc(u1),g.escapedName)}return r}function ay(r,f,g,E){if(e.isCallExpression(g)){if(f)return Yo(f);var F=VC(g.arguments[2]),q=qc(F,\"value\");if(q)return q;var T0=qc(F,\"get\");if(T0){var u1=Nh(T0);if(u1)return yc(u1)}var M1=qc(F,\"set\");if(M1){var A1=Nh(M1);if(A1)return Tg(A1)}return E1}if(function(er,Ar){return e.isPropertyAccessExpression(er)&&er.expression.kind===107&&e.forEachChildRecursively(Ar,function(vr){return Xf(er,vr)})}(g.left,g.right))return E1;var lx=f?Yo(f):fh(VC(g.right));if(524288&lx.flags&&E===2&&r.escapedName===\"export=\"){var Vx=b2(lx),ye=e.createSymbolTable();e.copyEntries(Vx.members,ye);var Ue=ye.size;f&&!f.exports&&(f.exports=e.createSymbolTable()),(f||r).exports.forEach(function(er,Ar){var vr,Yt=ye.get(Ar);if(Yt&&Yt!==er)if(111551&er.flags&&111551&Yt.flags){if(er.valueDeclaration&&Yt.valueDeclaration&&e.getSourceFileOfNode(er.valueDeclaration)!==e.getSourceFileOfNode(Yt.valueDeclaration)){var nn=e.unescapeLeadingUnderscores(er.escapedName),Nn=((vr=e.tryCast(Yt.valueDeclaration,e.isNamedDeclaration))===null||vr===void 0?void 0:vr.name)||Yt.valueDeclaration;e.addRelatedInfo(ht(er.valueDeclaration,e.Diagnostics.Duplicate_identifier_0,nn),e.createDiagnosticForNode(Nn,e.Diagnostics._0_was_also_declared_here,nn)),e.addRelatedInfo(ht(Nn,e.Diagnostics.Duplicate_identifier_0,nn),e.createDiagnosticForNode(er.valueDeclaration,e.Diagnostics._0_was_also_declared_here,nn))}var Ei=f2(er.flags|Yt.flags,Ar);Ei.type=Lo([Yo(er),Yo(Yt)]),Ei.valueDeclaration=Yt.valueDeclaration,Ei.declarations=e.concatenate(Yt.declarations,er.declarations),ye.set(Ar,Ei)}else ye.set(Ar,fp(er,Yt));else ye.set(Ar,er)});var Ge=yo(Ue!==ye.size?void 0:Vx.symbol,ye,Vx.callSignatures,Vx.constructSignatures,Vx.stringIndexInfo,Vx.numberIndexInfo);return Ge.objectFlags|=8192&e.getObjectFlags(lx),Ge.symbol&&32&Ge.symbol.flags&&lx===Ed(Ge.symbol)&&(Ge.objectFlags|=16777216),Ge}return xL(lx)?(Mm(g,Nf),Nf):lx}function WD(r){var f=e.getThisContainer(r,!1);return f.kind===167||f.kind===252||f.kind===209&&!e.isPrototypePropertyAssignment(f.parent)}function qD(r,f,g){return r.initializer?Of(ED(r,XI(r,e.isBindingPattern(r.name)?yR(r.name,!0,!1):ut))):e.isBindingPattern(r.name)?yR(r.name,f,g):(g&&!GL(r)&&Mm(r,E1),f?Ut:E1)}function JE(r,f,g){var E,F=r.elements,q=e.lastOrUndefined(F),T0=q&&q.kind===199&&q.dotDotDotToken?q:void 0;if(F.length===0||F.length===1&&T0)return Ox>=2?(E=E1,PO(qb(!0),[E])):Nf;var u1=e.map(F,function(lx){return e.isOmittedExpression(lx)?E1:qD(lx,f,g)}),M1=e.findLastIndex(F,function(lx){return!(lx===T0||e.isOmittedExpression(lx)||Fm(lx))},F.length-1)+1,A1=ek(u1,e.map(F,function(lx,Vx){return lx===T0?4:Vx>=M1?2:1}));return f&&((A1=zb(A1)).pattern=r,A1.objectFlags|=262144),A1}function yR(r,f,g){return f===void 0&&(f=!1),g===void 0&&(g=!1),r.kind===197?function(E,F,q){var T0,u1=e.createSymbolTable(),M1=262272;e.forEach(E.elements,function(lx){var Vx=lx.propertyName||lx.name;if(lx.dotDotDotToken)T0=Fd(E1,!1);else{var ye=Rk(Vx);if(Pt(ye)){var Ue=_m(ye),Ge=f2(4|(lx.initializer?16777216:0),Ue);Ge.type=qD(lx,F,q),Ge.bindingElement=lx,u1.set(Ge.escapedName,Ge)}else M1|=512}});var A1=yo(void 0,u1,e.emptyArray,e.emptyArray,T0,void 0);return A1.objectFlags|=M1,F&&(A1.pattern=E,A1.objectFlags|=262144),A1}(r,f,g):JE(r,f,g)}function oy(r,f){return oN(ua(r,!0),r,f)}function f3(r){var f,g=ms(r),E=(f=!1,vd||(vd=t9(\"SymbolConstructor\",f)));return E&&g&&g===E}function oN(r,f,g){return r?(4096&r.flags&&f3(f.parent)&&(r=nU(f)),g&&iD(f,r),8192&r.flags&&(e.isBindingElement(f)||!f.type)&&r.symbol!==ms(f)&&(r=_t),Bp(r)):(r=e.isParameter(f)&&f.dotDotDotToken?Nf:E1,g&&(GL(f)||Mm(f,r)),r)}function GL(r){var f=e.getRootDeclaration(r);return mL(f.kind===161?f.parent:f)}function XL(r){var f=e.getEffectiveTypeAnnotationNode(r);if(f)return Dc(f)}function wb(r){var f=Zo(r);if(!f.type){var g=function(E){if(4194304&E.flags)return(F=Il(I2(E))).typeParameters?ym(F,e.map(F.typeParameters,function(ye){return E1})):F;var F;if(E===Ni)return E1;if(134217728&E.flags&&E.valueDeclaration){var q=ms(e.getSourceFileOfNode(E.valueDeclaration)),T0=f2(q.flags,\"exports\");T0.declarations=q.declarations?q.declarations.slice():[],T0.parent=E,T0.target=q,q.valueDeclaration&&(T0.valueDeclaration=q.valueDeclaration),q.members&&(T0.members=new e.Map(q.members)),q.exports&&(T0.exports=new e.Map(q.exports));var u1=e.createSymbolTable();return u1.set(\"exports\",T0),yo(E,u1,e.emptyArray,e.emptyArray,void 0,void 0)}e.Debug.assertIsDefined(E.valueDeclaration);var M1,A1=E.valueDeclaration;if(e.isCatchClauseVariableDeclarationOrBindingElement(A1)){var lx=e.getEffectiveTypeAnnotationNode(A1);if(lx===void 0)return E1;var Vx=AP(lx);return Vu(Vx)||Vx===ut?Vx:ae}if(e.isSourceFile(A1)&&e.isJsonSourceFile(A1))return A1.statements.length?Bp(fh(Js(A1.statements[0].expression))):qs;if(!vk(E,0))return 512&E.flags&&!(67108864&E.flags)?jt(E):RB(E);if(A1.kind===267)M1=oN(VC(A1.expression),A1);else if(e.isBinaryExpression(A1)||e.isInJSFile(A1)&&(e.isCallExpression(A1)||(e.isPropertyAccessExpression(A1)||e.isBindableStaticElementAccessExpression(A1))&&e.isBinaryExpression(A1.parent)))M1=RN(E);else if(e.isPropertyAccessExpression(A1)||e.isElementAccessExpression(A1)||e.isIdentifier(A1)||e.isStringLiteralLike(A1)||e.isNumericLiteral(A1)||e.isClassDeclaration(A1)||e.isFunctionDeclaration(A1)||e.isMethodDeclaration(A1)&&!e.isObjectLiteralMethod(A1)||e.isMethodSignature(A1)||e.isSourceFile(A1)){if(9136&E.flags)return jt(E);M1=e.isBinaryExpression(A1.parent)?RN(E):XL(A1)||E1}else if(e.isPropertyAssignment(A1))M1=XL(A1)||pw(A1);else if(e.isJsxAttribute(A1))M1=XL(A1)||aI(A1);else if(e.isShorthandPropertyAssignment(A1))M1=XL(A1)||XO(A1.name,0);else if(e.isObjectLiteralMethod(A1))M1=XL(A1)||J7(A1,0);else if(e.isParameter(A1)||e.isPropertyDeclaration(A1)||e.isPropertySignature(A1)||e.isVariableDeclaration(A1)||e.isBindingElement(A1)||e.isJSDocPropertyLikeTag(A1))M1=oy(A1,!0);else if(e.isEnumDeclaration(A1))M1=jt(E);else if(e.isEnumMember(A1))M1=aE(E);else{if(!e.isAccessor(A1))return e.Debug.fail(\"Unhandled declaration kind! \"+e.Debug.formatSyntaxKind(A1.kind)+\" for \"+e.Debug.formatSymbol(E));M1=T5(E)||e.Debug.fail(\"Non-write accessor resolution must always produce a type\")}return bo()?M1:512&E.flags&&!(67108864&E.flags)?jt(E):RB(E)}(r);f.type||(f.type=g)}return f.type}function p3(r){if(r)return r.kind===168?e.getEffectiveReturnTypeNode(r):e.getEffectiveSetAccessorTypeAnnotationNode(r)}function F_(r){var f=p3(r);return f&&Dc(f)}function Yj(r){var f=Zo(r);return f.type||(f.type=Ez(r)||e.Debug.fail(\"Read type of accessor must always produce a type\"))}function Ez(r,f){if(f===void 0&&(f=!1),!vk(r,0))return ae;var g=T5(r,f);return bo()||(g=E1,Px&&ht(e.getDeclarationOfKind(r,168),e.Diagnostics._0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions,Is(r))),g}function T5(r,f){f===void 0&&(f=!1);var g=e.getDeclarationOfKind(r,168),E=e.getDeclarationOfKind(r,169),F=F_(E);if(f&&F)return u1(F,r);if(g&&e.isInJSFile(g)){var q=mp(g);if(q)return u1(q,r)}var T0=F_(g);return T0?u1(T0,r):F||(g&&g.body?u1(vU(g),r):E?(mL(E)||Gc(Px,E,e.Diagnostics.Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation,Is(r)),E1):g?(e.Debug.assert(!!g,\"there must exist a getter as we are current checking either setter or getter in this function\"),mL(g)||Gc(Px,g,e.Diagnostics.Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation,Is(r)),E1):void 0);function u1(M1,A1){return 1&e.getCheckFlags(A1)?xo(M1,Zo(A1).mapper):M1}}function Qj(r){var f=Jm(Ed(r));return 8650752&f.flags?f:2097152&f.flags?e.find(f.types,function(g){return!!(8650752&g.flags)}):void 0}function jt(r){var f=Zo(r),g=f;if(!f.type){var E=r.valueDeclaration&&R7(r.valueDeclaration,!1);if(E){var F=yD(r,E);F&&(r=f=F)}g.type=f.type=function(q){var T0=q.valueDeclaration;if(1536&q.flags&&e.isShorthandAmbientModuleSymbol(q))return E1;if(T0&&(T0.kind===217||e.isAccessExpression(T0)&&T0.parent.kind===217))return RN(q);if(512&q.flags&&T0&&e.isSourceFile(T0)&&T0.commonJsModuleIndicator){var u1=jd(q);if(u1!==q){if(!vk(q,0))return ae;var M1=Xc(q.exports.get(\"export=\")),A1=RN(M1,M1===u1?void 0:u1);return bo()?A1:RB(q)}}var lx=Ci(16,q);if(32&q.flags){var Vx=Qj(q);return Vx?Kc([lx,Vx]):lx}return C1&&16777216&q.flags?nm(lx):lx}(r)}return f.type}function aE(r){var f=Zo(r);return f.type||(f.type=q$(r))}function d3(r){var f=Zo(r);if(!f.type){var g=ui(r),E=r.declarations&&ce(Hf(r),!0);f.type=(E==null?void 0:E.declarations)&&MD(E.declarations)&&r.declarations.length?function(F){var q=e.getSourceFileOfNode(F.declarations[0]),T0=e.unescapeLeadingUnderscores(F.escapedName),u1=F.declarations.every(function(A1){return e.isInJSFile(A1)&&e.isAccessExpression(A1)&&e.isModuleExportsAccessExpression(A1.expression)}),M1=u1?e.factory.createPropertyAccessExpression(e.factory.createPropertyAccessExpression(e.factory.createIdentifier(\"module\"),e.factory.createIdentifier(\"exports\")),T0):e.factory.createPropertyAccessExpression(e.factory.createIdentifier(\"exports\"),T0);return u1&&e.setParent(M1.expression.expression,M1.expression),e.setParent(M1.expression,M1),e.setParent(M1,q),M1.flowNode=q.endFlowNode,dh(M1,qx,Gr)}(E):MD(r.declarations)?qx:111551&g.flags?Yo(g):ae}return f.type}function RB(r){var f=r.valueDeclaration;return e.getEffectiveTypeAnnotationNode(f)?(ht(r.valueDeclaration,e.Diagnostics._0_is_referenced_directly_or_indirectly_in_its_own_type_annotation,Is(r)),ae):(Px&&(f.kind!==161||f.initializer)&&ht(r.valueDeclaration,e.Diagnostics._0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or_indirectly_in_its_own_initializer,Is(r)),E1)}function Sz(r){if(98304&r.flags){var f=function(g){var E=Zo(g);return E.writeType||(E.writeType=Ez(g,!0))}(r);if(f)return f}return Yo(r)}function Yo(r){var f=e.getCheckFlags(r);return 65536&f?function(g){var E=Zo(g);return E.type||(e.Debug.assertIsDefined(E.deferralParent),e.Debug.assertIsDefined(E.deferralConstituents),E.type=1048576&E.deferralParent.flags?Lo(E.deferralConstituents):Kc(E.deferralConstituents)),E.type}(r):1&f?function(g){var E=Zo(g);if(!E.type){if(!vk(g,0))return E.type=ae;var F=xo(Yo(E.target),E.mapper);bo()||(F=RB(g)),E.type=F}return E.type}(r):262144&f?function(g){if(!g.type){var E=g.mappedType;if(!vk(g,0))return E.containsError=!0,ae;var F=xo(Y2(E.target||E),eI(E.mapper,v2(E),g.keyType)),q=C1&&16777216&g.flags&&!yl(F,49152)?nm(F):524288&g.checkFlags?KS(F,524288):F;bo()||(ht(k1,e.Diagnostics.Type_of_property_0_circularly_references_itself_in_mapped_type_1,Is(g),ka(E)),q=ae),g.type=q}return g.type}(r):8192&f?function(g){var E=Zo(g);return E.type||(E.type=B3(g.propertyType,g.mappedType,g.constraintType)),E.type}(r):7&r.flags?wb(r):9136&r.flags?jt(r):8&r.flags?aE(r):98304&r.flags?Yj(r):2097152&r.flags?d3(r):ae}function hP(r,f){return r!==void 0&&f!==void 0&&(4&e.getObjectFlags(r))!=0&&r.target===f}function wO(r){return 4&e.getObjectFlags(r)?r.target:r}function A_(r,f){return function g(E){if(7&e.getObjectFlags(E)){var F=wO(E);return F===f||e.some(bk(F),g)}return 2097152&E.flags?e.some(E.types,g):!1}(r)}function gC(r,f){for(var g=0,E=f;g<E.length;g++){var F=E[g];r=e.appendIfUnique(r,XP(ms(F)))}return r}function pg(r,f){for(;;){if((r=r.parent)&&e.isBinaryExpression(r)){var g=e.getAssignmentDeclarationKind(r);if(g===6||g===3){var E=ms(r.left);E&&E.parent&&!e.findAncestor(E.parent.valueDeclaration,function(M1){return r===M1})&&(r=E.parent.valueDeclaration)}}if(!r)return;switch(r.kind){case 253:case 222:case 254:case 170:case 171:case 165:case 175:case 176:case 309:case 252:case 166:case 209:case 210:case 255:case 334:case 335:case 329:case 328:case 191:case 185:var F=pg(r,f);if(r.kind===191)return e.append(F,XP(ms(r.typeParameter)));if(r.kind===185)return e.concatenate(F,H$(r));var q=gC(F,e.getEffectiveTypeParameterDeclarations(r)),T0=f&&(r.kind===253||r.kind===222||r.kind===254||am(r))&&Ed(ms(r)).thisType;return T0?e.append(q,T0):q;case 330:var u1=e.getParameterSymbolFromJSDoc(r);u1&&(r=u1.valueDeclaration);break;case 312:return F=pg(r,f),r.tags?gC(F,e.flatMap(r.tags,function(M1){return e.isJSDocTemplateTag(M1)?M1.typeParameters:void 0})):F}}}function sy(r){var f=32&r.flags?r.valueDeclaration:e.getDeclarationOfKind(r,254);return e.Debug.assert(!!f,\"Class was missing valueDeclaration -OR- non-class had no interface declarations\"),pg(f)}function R9(r){if(r.declarations){for(var f,g=0,E=r.declarations;g<E.length;g++){var F=E[g];if(F.kind===254||F.kind===253||F.kind===222||am(F)||e.isTypeAlias(F)){var q=F;f=gC(f,e.getEffectiveTypeParameterDeclarations(q))}}return f}}function T_(r){var f=_u(r,1);if(f.length===1){var g=f[0];if(!g.typeParameters&&g.parameters.length===1&&S1(g)){var E=Ih(g.parameters[0]);return Vu(E)||Dv(E)===E1}}return!1}function YL(r){if(_u(r,1).length>0)return!0;if(8650752&r.flags){var f=wA(r);return!!f&&T_(f)}return!1}function jy(r){return e.getEffectiveBaseTypeNode(r.symbol.valueDeclaration)}function kb(r,f,g){var E=e.length(f),F=e.isInJSFile(g);return e.filter(_u(r,1),function(q){return(F||E>=Aw(q.typeParameters))&&E<=e.length(q.typeParameters)})}function JD(r,f,g){var E=kb(r,f,g),F=e.map(f,Dc);return e.sameMap(E,function(q){return e.some(q.typeParameters)?$g(q,F,e.isInJSFile(g)):q})}function Jm(r){if(!r.resolvedBaseConstructorType){var f=r.symbol.valueDeclaration,g=e.getEffectiveBaseTypeNode(f),E=jy(r);if(!E)return r.resolvedBaseConstructorType=Gr;if(!vk(r,1))return ae;var F=Js(E.expression);if(g&&E!==g&&(e.Debug.assert(!g.typeArguments),Js(g.expression)),2621440&F.flags&&b2(F),!bo())return ht(r.symbol.valueDeclaration,e.Diagnostics._0_is_referenced_directly_or_indirectly_in_its_own_base_expression,Is(r.symbol)),r.resolvedBaseConstructorType=ae;if(!(1&F.flags||F===X0||YL(F))){var q=ht(E.expression,e.Diagnostics.Type_0_is_not_a_constructor_function_type,ka(F));if(262144&F.flags){var T0=KB(F),u1=ut;if(T0){var M1=_u(T0,1);M1[0]&&(u1=yc(M1[0]))}F.symbol.declarations&&e.addRelatedInfo(q,e.createDiagnosticForNode(F.symbol.declarations[0],e.Diagnostics.Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1,Is(F.symbol),ka(u1)))}return r.resolvedBaseConstructorType=ae}r.resolvedBaseConstructorType=F}return r.resolvedBaseConstructorType}function DR(r,f){ht(r,e.Diagnostics.Type_0_recursively_references_itself_as_a_base_type,ka(f,void 0,2))}function bk(r){if(!r.baseTypesResolved){if(vk(r,7)&&(8&r.objectFlags?r.resolvedBaseTypes=[uy(r)]:96&r.symbol.flags?(32&r.symbol.flags&&function(F){F.resolvedBaseTypes=e.resolvingEmptyArray;var q=S4(Jm(F));if(!(2621441&q.flags))return F.resolvedBaseTypes=e.emptyArray;var T0,u1=jy(F),M1=q.symbol?Il(q.symbol):void 0;if(q.symbol&&32&q.symbol.flags&&function(Ue){var Ge=Ue.outerTypeParameters;if(Ge){var er=Ge.length-1,Ar=Cc(Ue);return Ge[er].symbol!==Ar[er].symbol}return!0}(M1))T0=ly(u1,q.symbol);else if(1&q.flags)T0=q;else{var A1=JD(q,u1.typeArguments,u1);if(!A1.length)return ht(u1.expression,e.Diagnostics.No_base_constructor_has_the_specified_number_of_type_arguments),F.resolvedBaseTypes=e.emptyArray;T0=yc(A1[0])}if(T0===ae)return F.resolvedBaseTypes=e.emptyArray;var lx=Q2(T0);if(!kO(lx)){var Vx=ZD(void 0,T0),ye=e.chainDiagnosticMessages(Vx,e.Diagnostics.Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_known_members,ka(lx));return Ku.add(e.createDiagnosticForNodeFromMessageChain(u1.expression,ye)),F.resolvedBaseTypes=e.emptyArray}if(F===lx||A_(lx,F))return ht(F.symbol.valueDeclaration,e.Diagnostics.Type_0_recursively_references_itself_as_a_base_type,ka(F,void 0,2)),F.resolvedBaseTypes=e.emptyArray;F.resolvedBaseTypes===e.resolvingEmptyArray&&(F.members=void 0),F.resolvedBaseTypes=[lx]}(r),64&r.symbol.flags&&function(F){if(F.resolvedBaseTypes=F.resolvedBaseTypes||e.emptyArray,F.symbol.declarations)for(var q=0,T0=F.symbol.declarations;q<T0.length;q++){var u1=T0[q];if(u1.kind===254&&e.getInterfaceBaseTypeNodes(u1))for(var M1=0,A1=e.getInterfaceBaseTypeNodes(u1);M1<A1.length;M1++){var lx=A1[M1],Vx=Q2(Dc(lx));Vx!==ae&&(kO(Vx)?F===Vx||A_(Vx,F)?DR(u1,F):F.resolvedBaseTypes===e.emptyArray?F.resolvedBaseTypes=[Vx]:F.resolvedBaseTypes.push(Vx):ht(lx,e.Diagnostics.An_interface_can_only_extend_an_object_type_or_intersection_of_object_types_with_statically_known_members))}}}(r)):e.Debug.fail(\"type must be class or interface\"),!bo()&&r.symbol.declarations))for(var f=0,g=r.symbol.declarations;f<g.length;f++){var E=g[f];E.kind!==253&&E.kind!==254||DR(E,r)}r.baseTypesResolved=!0}return r.resolvedBaseTypes}function uy(r){return zf(Lo(e.sameMap(r.typeParameters,function(f,g){return 8&r.elementFlags[g]?JT(f,Hx):f})||e.emptyArray),r.readonly)}function kO(r){if(262144&r.flags){var f=wA(r);if(f)return kO(f)}return!!(67633153&r.flags&&!Sd(r)||2097152&r.flags&&e.every(r.types,kO))}function Ed(r){var f=Zo(r),g=f;if(!f.declaredType){var E=32&r.flags?1:2,F=yD(r,r.valueDeclaration&&function(M1){var A1,lx=M1&&R7(M1,!0),Vx=(A1=lx==null?void 0:lx.exports)===null||A1===void 0?void 0:A1.get(\"prototype\"),ye=(Vx==null?void 0:Vx.valueDeclaration)&&function(Ue){if(!Ue.parent)return!1;for(var Ge=Ue.parent;Ge&&Ge.kind===202;)Ge=Ge.parent;if(Ge&&e.isBinaryExpression(Ge)&&e.isPrototypeAccess(Ge.left)&&Ge.operatorToken.kind===62){var er=e.getInitializerOfBinaryExpression(Ge);return e.isObjectLiteralExpression(er)&&er}}(Vx.valueDeclaration);return ye?ms(ye):void 0}(r.valueDeclaration));F&&(r=f=F);var q=g.declaredType=f.declaredType=Ci(E,r),T0=sy(r),u1=R9(r);(T0||u1||E===1||!function(M1){if(!M1.declarations)return!0;for(var A1=0,lx=M1.declarations;A1<lx.length;A1++){var Vx=lx[A1];if(Vx.kind===254){if(128&Vx.flags)return!1;var ye=e.getInterfaceBaseTypeNodes(Vx);if(ye)for(var Ue=0,Ge=ye;Ue<Ge.length;Ue++){var er=Ge[Ue];if(e.isEntityNameExpression(er.expression)){var Ar=nl(er.expression,788968,!0);if(!Ar||!(64&Ar.flags)||Ed(Ar).thisType)return!1}}}}return!0}(r))&&(q.objectFlags|=4,q.typeParameters=e.concatenate(T0,u1),q.outerTypeParameters=T0,q.localTypeParameters=u1,q.instantiations=new e.Map,q.instantiations.set(Ud(q.typeParameters),q),q.target=q,q.resolvedTypeArguments=q.typeParameters,q.thisType=$i(r),q.thisType.isThisType=!0,q.thisType.constraint=q)}return f.declaredType}function _C(r){var f,g=Zo(r);if(!g.declaredType){if(!vk(r,2))return ae;var E=e.Debug.checkDefined((f=r.declarations)===null||f===void 0?void 0:f.find(e.isTypeAlias),\"Type alias symbol with no valid declaration found\"),F=e.isJSDocTypeAlias(E)?E.typeExpression:E.type,q=F?Dc(F):ae;if(bo()){var T0=R9(r);T0&&(g.typeParameters=T0,g.instantiations=new e.Map,g.instantiations.set(Ud(T0),q))}else q=ae,ht(e.isNamedDeclaration(E)?E.name:E||E,e.Diagnostics.Type_alias_0_circularly_references_itself,Is(r));g.declaredType=q}return g.declaredType}function Uy(r){return!!e.isStringLiteralLike(r)||r.kind===217&&Uy(r.left)&&Uy(r.right)}function vR(r){var f=r.initializer;if(!f)return!(8388608&r.flags);switch(f.kind){case 10:case 8:case 14:return!0;case 215:return f.operator===40&&f.operand.kind===8;case 78:return e.nodeIsMissing(f)||!!ms(r.parent).exports.get(f.escapedText);case 217:return Uy(f);default:return!1}}function m3(r){var f=Zo(r);if(f.enumKind!==void 0)return f.enumKind;var g=!1;if(r.declarations)for(var E=0,F=r.declarations;E<F.length;E++){var q=F[E];if(q.kind===256)for(var T0=0,u1=q.members;T0<u1.length;T0++){var M1=u1[T0];if(M1.initializer&&e.isStringLiteralLike(M1.initializer))return f.enumKind=1;vR(M1)||(g=!0)}}return f.enumKind=g?0:1}function Zj(r){return 1024&r.flags&&!(1048576&r.flags)?Il(I2(r.symbol)):r}function gP(r){var f=Zo(r);if(f.declaredType)return f.declaredType;if(m3(r)===1){I0++;var g=[];if(r.declarations)for(var E=0,F=r.declarations;E<F.length;E++){var q=F[E];if(q.kind===256)for(var T0=0,u1=q.members;T0<u1.length;T0++){var M1=u1[T0],A1=fj(M1),lx=qh(sf(A1!==void 0?A1:0,I0,ms(M1)));Zo(ms(M1)).declaredType=lx,g.push(Kp(lx))}}if(g.length){var Vx=Lo(g,1,r,void 0);return 1048576&Vx.flags&&(Vx.flags|=1024,Vx.symbol=r),f.declaredType=Vx}}var ye=Ae(32);return ye.symbol=r,f.declaredType=ye}function q$(r){var f=Zo(r);if(!f.declaredType){var g=gP(I2(r));f.declaredType||(f.declaredType=g)}return f.declaredType}function XP(r){var f=Zo(r);return f.declaredType||(f.declaredType=$i(r))}function Il(r){return Vy(r)||ae}function Vy(r){return 96&r.flags?Ed(r):524288&r.flags?_C(r):262144&r.flags?XP(r):384&r.flags?gP(r):8&r.flags?q$(r):2097152&r.flags?function(f){var g=Zo(f);return g.declaredType||(g.declaredType=Il(ui(f)))}(r):void 0}function Ch(r){switch(r.kind){case 128:case 152:case 147:case 144:case 155:case 131:case 148:case 145:case 113:case 150:case 141:case 192:return!0;case 179:return Ch(r.elementType);case 174:return!r.typeArguments||r.typeArguments.every(Ch)}return!1}function h3(r){var f=e.getEffectiveConstraintOfTypeParameter(r);return!f||Ch(f)}function Nb(r){var f=e.getEffectiveTypeAnnotationNode(r);return f?Ch(f):!e.hasInitializer(r)}function dg(r){if(r.declarations&&r.declarations.length===1){var f=r.declarations[0];if(f)switch(f.kind){case 164:case 163:return Nb(f);case 166:case 165:case 167:case 168:case 169:return function(g){var E=e.getEffectiveReturnTypeNode(g),F=e.getEffectiveTypeParameterDeclarations(g);return(g.kind===167||!!E&&Ch(E))&&g.parameters.every(Nb)&&F.every(h3)}(f)}}return!1}function g3(r,f,g){for(var E=e.createSymbolTable(),F=0,q=r;F<q.length;F++){var T0=q[F];E.set(T0.escapedName,g&&dg(T0)?T0:PR(T0,f))}return E}function oE(r,f){for(var g=0,E=f;g<E.length;g++){var F=E[g];r.has(F.escapedName)||sE(F)||r.set(F.escapedName,F)}}function sE(r){return!!r.valueDeclaration&&e.isPrivateIdentifierClassElementDeclaration(r.valueDeclaration)&&e.hasSyntacticModifier(r.valueDeclaration,32)}function $y(r){if(!r.declaredProperties){var f=r.symbol,g=si(f);r.declaredProperties=lo(g),r.declaredCallSignatures=e.emptyArray,r.declaredConstructSignatures=e.emptyArray,r.declaredCallSignatures=L2(g.get(\"__call\")),r.declaredConstructSignatures=L2(g.get(\"__new\")),r.declaredStringIndexInfo=tM(f,0),r.declaredNumberIndexInfo=tM(f,1)}return r}function Pt(r){return!!(8576&r.flags)}function bR(r){if(!e.isComputedPropertyName(r)&&!e.isElementAccessExpression(r))return!1;var f=e.isComputedPropertyName(r)?r.expression:r.argumentExpression;return e.isEntityNameExpression(f)&&Pt(e.isComputedPropertyName(r)?Tm(r):VC(f))}function jN(r){return r.charCodeAt(0)===95&&r.charCodeAt(1)===95&&r.charCodeAt(2)===64}function mg(r){var f=e.getNameOfDeclaration(r);return!!f&&bR(f)}function UI(r){return!e.hasDynamicName(r)||mg(r)}function _m(r){return 8192&r.flags?r.escapedName:384&r.flags?e.escapeLeadingUnderscores(\"\"+r.value):e.Debug.fail()}function Pb(r,f,g,E){e.Debug.assert(!!E.symbol,\"The member is expected to have a symbol.\");var F=Fo(E);if(!F.resolvedSymbol){F.resolvedSymbol=E.symbol;var q=e.isBinaryExpression(E)?E.left:E.name,T0=e.isElementAccessExpression(q)?VC(q.argumentExpression):Tm(q);if(Pt(T0)){var u1=_m(T0),M1=E.symbol.flags,A1=g.get(u1);A1||g.set(u1,A1=f2(0,u1,4096));var lx=f&&f.get(u1);if(A1.flags&np(M1)||lx){var Vx=lx?e.concatenate(lx.declarations,A1.declarations):A1.declarations,ye=!(8192&T0.flags)&&e.unescapeLeadingUnderscores(u1)||e.declarationNameToString(q);e.forEach(Vx,function(Ue){return ht(e.getNameOfDeclaration(Ue)||Ue,e.Diagnostics.Property_0_was_also_declared_here,ye)}),ht(q||E,e.Diagnostics.Duplicate_property_0,ye),A1=f2(0,u1,4096)}return A1.nameType=T0,function(Ue,Ge,er){e.Debug.assert(!!(4096&e.getCheckFlags(Ue)),\"Expected a late-bound symbol.\"),Ue.flags|=er,Zo(Ge.symbol).lateSymbol=Ue,Ue.declarations?Ue.declarations.push(Ge):Ue.declarations=[Ge],111551&er&&(Ue.valueDeclaration&&Ue.valueDeclaration.kind===Ge.kind||(Ue.valueDeclaration=Ge))}(A1,E,M1),A1.parent?e.Debug.assert(A1.parent===r,\"Existing symbol parent should match new one\"):A1.parent=r,F.resolvedSymbol=A1}}return F.resolvedSymbol}function VI(r,f){var g=Zo(r);if(!g[f]){var E=f===\"resolvedExports\",F=E?1536&r.flags?zh(r):r.exports:r.members;g[f]=F||Y1;for(var q=e.createSymbolTable(),T0=0,u1=r.declarations||e.emptyArray;T0<u1.length;T0++){var M1=u1[T0],A1=e.getMembersOfDeclaration(M1);if(A1)for(var lx=0,Vx=A1;lx<Vx.length;lx++){var ye=Vx[lx];E===e.hasStaticModifier(ye)&&mg(ye)&&Pb(r,F,q,ye)}}var Ue=r.assignmentDeclarationMembers;if(Ue)for(var Ge=0,er=e.arrayFrom(Ue.values());Ge<er.length;Ge++){ye=er[Ge];var Ar=e.getAssignmentDeclarationKind(ye);E===!(Ar===3||e.isBinaryExpression(ye)&&S7(ye,Ar)||Ar===9||Ar===6)&&mg(ye)&&Pb(r,F,q,ye)}g[f]=function(vr,Yt){if(!(vr==null?void 0:vr.size))return Yt;if(!(Yt==null?void 0:Yt.size))return vr;var nn=e.createSymbolTable();return pp(nn,vr),pp(nn,Yt),nn}(F,q)||Y1}return g[f]}function si(r){return 6256&r.flags?VI(r,\"resolvedMembers\"):r.members||Y1}function Ky(r){if(106500&r.flags&&r.escapedName===\"__computed\"){var f=Zo(r);if(!f.lateSymbol&&e.some(r.declarations,mg)){var g=Xc(r.parent);e.some(r.declarations,e.hasStaticModifier)?Sw(g):si(g)}return f.lateSymbol||(f.lateSymbol=r)}return r}function Fw(r,f,g){if(4&e.getObjectFlags(r)){var E=r.target,F=Cc(r);if(e.length(E.typeParameters)===e.length(F)){var q=ym(E,e.concatenate(F,[f||E.thisType]));return g?S4(q):q}}else if(2097152&r.flags){var T0=e.sameMap(r.types,function(u1){return Fw(u1,f,g)});return T0!==r.types?Kc(T0):r}return g?S4(r):r}function uE(r,f,g,E){var F,q,T0,u1,M1,A1;e.rangeEquals(g,E,0,g.length)?(q=f.symbol?si(f.symbol):e.createSymbolTable(f.declaredProperties),T0=f.declaredCallSignatures,u1=f.declaredConstructSignatures,M1=f.declaredStringIndexInfo,A1=f.declaredNumberIndexInfo):(F=yg(g,E),q=g3(f.declaredProperties,F,g.length===1),T0=LO(f.declaredCallSignatures,F),u1=LO(f.declaredConstructSignatures,F),M1=RO(f.declaredStringIndexInfo,F),A1=RO(f.declaredNumberIndexInfo,F));var lx=bk(f);if(lx.length){f.symbol&&q===si(f.symbol)&&(q=e.createSymbolTable(f.declaredProperties)),Qs(r,q,T0,u1,M1,A1);for(var Vx=e.lastOrUndefined(E),ye=0,Ue=lx;ye<Ue.length;ye++){var Ge=Ue[ye],er=Vx?Fw(xo(Ge,F),Vx):Ge;oE(q,$c(er)),T0=e.concatenate(T0,_u(er,0)),u1=e.concatenate(u1,_u(er,1)),M1||(M1=er===E1?Fd(E1,!1):vC(er,0)),A1=A1||vC(er,1)}}Qs(r,q,T0,u1,M1,A1)}function Hm(r,f,g,E,F,q,T0,u1){var M1=new Nx(Kn,u1);return M1.declaration=r,M1.typeParameters=f,M1.parameters=E,M1.thisParameter=g,M1.resolvedReturnType=F,M1.resolvedTypePredicate=q,M1.minArgumentCount=T0,M1.resolvedMinArgumentCount=void 0,M1.target=void 0,M1.mapper=void 0,M1.compositeSignatures=void 0,M1.compositeKind=void 0,M1}function hg(r){var f=Hm(r.declaration,r.typeParameters,r.thisParameter,r.parameters,void 0,void 0,r.minArgumentCount,39&r.flags);return f.target=r.target,f.mapper=r.mapper,f.compositeSignatures=r.compositeSignatures,f.compositeKind=r.compositeKind,f}function Ib(r,f){var g=hg(r);return g.compositeSignatures=f,g.compositeKind=1048576,g.target=void 0,g.mapper=void 0,g}function vV(r,f){if((24&r.flags)===f)return r;r.optionalCallSignatureCache||(r.optionalCallSignatureCache={});var g=f===8?\"inner\":\"outer\";return r.optionalCallSignatureCache[g]||(r.optionalCallSignatureCache[g]=function(E,F){e.Debug.assert(F===8||F===16,\"An optional call signature can either be for an inner call chain or an outer call chain, but not both.\");var q=hg(E);return q.flags|=F,q}(r,f))}function HD(r,f){if(S1(r)){var g=r.parameters.length-1,E=Yo(r.parameters[g]);if(Vd(E))return[F(E,g)];if(!f&&1048576&E.flags&&e.every(E.types,Vd))return e.map(E.types,function(q){return F(q,g)})}return[r.parameters];function F(q,T0){var u1=Cc(q),M1=q.target.labeledElementDeclarations,A1=e.map(u1,function(lx,Vx){var ye=!!M1&&GO(M1[Vx])||mI(r,T0+Vx,q),Ue=q.target.elementFlags[Vx],Ge=f2(1,ye,12&Ue?32768:2&Ue?16384:0);return Ge.type=4&Ue?zf(lx):lx,Ge});return e.concatenate(r.parameters.slice(0,T0),A1)}}function yC(r,f,g,E,F){for(var q=0,T0=r;q<T0.length;q++){var u1=T0[q];if(ZB(u1,f,g,E,F,g?aU:L_))return u1}}function _3(r,f,g){if(f.typeParameters){if(g>0)return;for(var E=1;E<r.length;E++)if(!yC(r[E],f,!1,!1,!1))return;return[f]}var F;for(E=0;E<r.length;E++){var q=E===g?f:yC(r[E],f,!0,!1,!0);if(!q)return;F=e.appendIfUnique(F,q)}return F}function GD(r){for(var f,g,E=0;E<r.length;E++){if(r[E].length===0)return e.emptyArray;r[E].length>1&&(g=g===void 0?E:-1);for(var F=0,q=r[E];F<q.length;F++){var T0=q[F];if(!f||!yC(f,T0,!1,!1,!0)){var u1=_3(r,T0,E);if(u1){var M1=T0;if(u1.length>1){var A1=T0.thisParameter,lx=e.forEach(u1,function(Ar){return Ar.thisParameter});lx&&(A1=ph(lx,Kc(e.mapDefined(u1,function(Ar){return Ar.thisParameter&&Yo(Ar.thisParameter)})))),(M1=Ib(T0,u1)).thisParameter=A1}(f||(f=[])).push(M1)}}}}if(!e.length(f)&&g!==-1){for(var Vx=r[g!==void 0?g:0],ye=Vx.slice(),Ue=function(Ar){if(Ar!==Vx){var vr=Ar[0];if(e.Debug.assert(!!vr,\"getUnionSignatures bails early on empty signature lists and should not have empty lists on second pass\"),!(ye=vr.typeParameters&&e.some(ye,function(Yt){return!!Yt.typeParameters&&!Ob(vr.typeParameters,Yt.typeParameters)})?void 0:e.map(ye,function(Yt){return function(nn,Nn){var Ei,Ca=nn.typeParameters||Nn.typeParameters;nn.typeParameters&&Nn.typeParameters&&(Ei=yg(Nn.typeParameters,nn.typeParameters));var Aa=nn.declaration,Qi=function(ti,Gi,zi){for(var Wo=wd(ti),Ms=wd(Gi),Et=Wo>=Ms?ti:Gi,wt=Et===ti?Gi:ti,da=Et===ti?Wo:Ms,Ya=Sk(ti)||Sk(Gi),Da=Ya&&!Sk(Et),fr=new Array(da+(Da?1:0)),rt=0;rt<da;rt++){var di=hh(Et,rt);Et===Gi&&(di=xo(di,zi));var Wt=hh(wt,rt)||ut;wt===Gi&&(Wt=xo(Wt,zi));var dn=Kc([di,Wt]),Si=Ya&&!Da&&rt===da-1,yi=rt>=fw(Et)&&rt>=fw(wt),l=rt>=Wo?void 0:mI(ti,rt),z=rt>=Ms?void 0:mI(Gi,rt),zr=f2(1|(yi&&!Si?16777216:0),(l===z?l:l?z?void 0:l:z)||\"arg\"+rt);zr.type=Si?zf(dn):dn,fr[rt]=zr}if(Da){var re=f2(1,\"args\");re.type=zf(p5(wt,da)),wt===Gi&&(re.type=xo(re.type,zi)),fr[da]=re}return fr}(nn,Nn,Ei),Oa=function(ti,Gi,zi){if(!ti||!Gi)return ti||Gi;var Wo=Kc([Yo(ti),xo(Yo(Gi),zi)]);return ph(ti,Wo)}(nn.thisParameter,Nn.thisParameter,Ei),Ra=Math.max(nn.minArgumentCount,Nn.minArgumentCount),yn=Hm(Aa,Ca,Oa,Qi,void 0,void 0,Ra,39&(nn.flags|Nn.flags));return yn.compositeKind=1048576,yn.compositeSignatures=e.concatenate(nn.compositeKind!==2097152&&nn.compositeSignatures||[nn],[Nn]),Ei&&(yn.mapper=nn.compositeKind!==2097152&&nn.mapper&&nn.compositeSignatures?Jg(nn.mapper,Ei):Ei),yn}(Yt,vr)})))return\"break\"}},Ge=0,er=r;Ge<er.length&&Ue(er[Ge])!==\"break\";Ge++);f=ye}return f||e.emptyArray}function Ob(r,f){if(e.length(r)!==e.length(f))return!1;if(!r||!f)return!0;for(var g=yg(f,r),E=0;E<r.length;E++){var F=r[E],q=f[E];if(F!==q&&!tm(KB(F)||ut,xo(KB(q)||ut,g)))return!1}return!0}function xU(r,f){for(var g=[],E=!1,F=0,q=r;F<q.length;F++){var T0=vC(S4(q[F]),f);if(!T0)return;g.push(T0.type),E=E||T0.isReadonly}return Fd(Lo(g,2),E)}function Bb(r,f){return r?f?Kc([r,f]):r:f}function Lb(r,f){return r?f?Fd(Kc([r.type,f.type]),r.isReadonly&&f.isReadonly):r:f}function Mb(r,f){return r&&f&&Fd(Lo([r.type,f.type]),r.isReadonly||f.isReadonly)}function bV(r){var f=e.countWhere(r,function(F){return _u(F,1).length>0}),g=e.map(r,T_);if(f>0&&f===e.countWhere(g,function(F){return F})){var E=g.indexOf(!0);g[E]=!1}return g}function HE(r){for(var f,g,E,F,q=r.types,T0=bV(q),u1=e.countWhere(T0,function(lx){return lx}),M1=function(lx){var Vx=r.types[lx];if(!T0[lx]){var ye=_u(Vx,1);ye.length&&u1>0&&(ye=e.map(ye,function(Ue){var Ge=hg(Ue);return Ge.resolvedReturnType=function(er,Ar,vr,Yt){for(var nn=[],Nn=0;Nn<Ar.length;Nn++)Nn===Yt?nn.push(er):vr[Nn]&&nn.push(yc(_u(Ar[Nn],1)[0]));return Kc(nn)}(yc(Ue),q,T0,lx),Ge})),g=Rb(g,ye)}f=Rb(f,_u(Vx,0)),E=Lb(E,vC(Vx,0)),F=Lb(F,vC(Vx,1))},A1=0;A1<q.length;A1++)M1(A1);Qs(r,Y1,f||e.emptyArray,g||e.emptyArray,E,F)}function Rb(r,f){for(var g=function(q){r&&!e.every(r,function(T0){return!ZB(T0,q,!1,!1,!1,L_)})||(r=e.append(r,q))},E=0,F=f;E<F.length;E++)g(F[E]);return r}function p8(r){var f=Xc(r.symbol);if(r.target)Qs(r,Y1,e.emptyArray,e.emptyArray,void 0,void 0),Qs(r,F=g3(Gm(r.target),r.mapper,!1),g=LO(_u(r.target,0),r.mapper),E=LO(_u(r.target,1),r.mapper),q=RO(vC(r.target,0),r.mapper),T0=RO(vC(r.target,1),r.mapper));else if(2048&f.flags){Qs(r,Y1,e.emptyArray,e.emptyArray,void 0,void 0);var g=L2((F=si(f)).get(\"__call\")),E=L2(F.get(\"__new\"));Qs(r,F,g,E,q=tM(f,0),T0=tM(f,1))}else{var F=Y1,q=void 0,T0=void 0;if(f.exports&&(F=Sw(f),f===xr)){var u1=new e.Map;F.forEach(function(ye){418&ye.flags||u1.set(ye.escapedName,ye)}),F=u1}var M1=void 0;if(Qs(r,F,e.emptyArray,e.emptyArray,void 0,void 0),32&f.flags){var A1=Jm(Ed(f));11272192&A1.flags?oE(F=e.createSymbolTable(function(ye){var Ue=lo(ye),Ge=eM(ye);return Ge?e.concatenate(Ue,[Ge]):Ue}(F)),$c(A1)):A1===E1&&(M1=Fd(E1,!1))}var lx=eM(F);if(lx?(q=DC(lx,0),T0=DC(lx,1)):(q=M1,384&f.flags&&(32&Il(f).flags||e.some(r.properties,function(ye){return!!(296&Yo(ye).flags)}))&&(T0=Su)),Qs(r,F,e.emptyArray,e.emptyArray,q,T0),8208&f.flags&&(r.callSignatures=L2(f)),32&f.flags){var Vx=Ed(f);E=f.members?L2(f.members.get(\"__constructor\")):e.emptyArray,16&f.flags&&(E=e.addRange(E.slice(),e.mapDefined(r.callSignatures,function(ye){return am(ye.declaration)?Hm(ye.declaration,ye.typeParameters,ye.thisParameter,ye.parameters,Vx,void 0,ye.minArgumentCount,39&ye.flags):void 0}))),E.length||(E=function(ye){var Ue=_u(Jm(ye),1),Ge=e.getClassLikeDeclarationOfSymbol(ye.symbol),er=!!Ge&&e.hasSyntacticModifier(Ge,128);if(Ue.length===0)return[Hm(void 0,ye.localTypeParameters,void 0,e.emptyArray,ye,void 0,0,er?4:0)];for(var Ar=jy(ye),vr=e.isInJSFile(Ar),Yt=CC(Ar),nn=e.length(Yt),Nn=[],Ei=0,Ca=Ue;Ei<Ca.length;Ei++){var Aa=Ca[Ei],Qi=Aw(Aa.typeParameters),Oa=e.length(Aa.typeParameters);if(vr||nn>=Qi&&nn<=Oa){var Ra=Oa?AV(Aa,Z2(Yt,Aa.typeParameters,Qi,vr)):hg(Aa);Ra.typeParameters=ye.localTypeParameters,Ra.resolvedReturnType=ye,Ra.flags=er?4|Ra.flags:-5&Ra.flags,Nn.push(Ra)}}return Nn}(Vx)),r.constructSignatures=E}}}function jB(r,f,g){return xo(r,yg([f.indexType,f.objectType],[sf(0),ek([g])]))}function DC(r,f){var g=FR(r,f);if(g)return Fd(g.type?Dc(g.type):E1,e.hasEffectiveModifier(g,64),g)}function cy(r){if(4194304&r.flags){var f=S4(r.type);return Y6(f)?wR(f):Ck(f)}if(16777216&r.flags){if(r.root.isDistributive){var g=r.checkType,E=cy(g);if(E!==g)return oM(r,Ah(r.root.checkType,E,r.mapper))}return r}return 1048576&r.flags?rf(r,cy):2097152&r.flags?Kc(e.sameMap(r.types,cy)):r}function Vg(r){return 4096&e.getCheckFlags(r)}function YP(r){var f,g,E=e.createSymbolTable();Qs(r,Y1,e.emptyArray,e.emptyArray,void 0,void 0);var F=v2(r),q=Ep(r),T0=UN(r.target||r),u1=Y2(r.target||r),M1=S4(VN(r)),A1=B2(r),lx=Re?128:8576;if(XD(r)){for(var Vx=0,ye=$c(M1);Vx<ye.length;Vx++)Ue(OO(ye[Vx],lx));(1&M1.flags||vC(M1,0))&&Ue(l1),!Re&&vC(M1,1)&&Ue(Hx)}else HI(cy(q),Ue);function Ue(Ge){HI(T0?xo(T0,eI(r.mapper,F,Ge)):Ge,function(er){return function(Ar,vr){if(Pt(vr)){var Yt=_m(vr),nn=E.get(Yt);if(nn)nn.nameType=Lo([nn.nameType,vr]),nn.keyType=Lo([nn.keyType,Ar]);else{var Nn=Pt(Ar)?ec(M1,_m(Ar)):void 0,Ei=!!(4&A1||!(8&A1)&&Nn&&16777216&Nn.flags),Ca=!!(1&A1||!(2&A1)&&Nn&&j2(Nn)),Aa=C1&&!Ei&&Nn&&16777216&Nn.flags,Qi=f2(4|(Ei?16777216:0),Yt,262144|(Nn?Vg(Nn):0)|(Ca?8:0)|(Aa?524288:0));Qi.mappedType=r,Qi.nameType=vr,Qi.keyType=Ar,Nn&&(Qi.syntheticOrigin=Nn,Qi.declarations=Nn.declarations),E.set(Yt,Qi)}}else if(45&vr.flags){var Oa=xo(u1,eI(r.mapper,F,Ar));5&vr.flags?f=Fd(f?Lo([f.type,Oa]):Oa,!!(1&A1)):g=Fd(g?Lo([g.type,Oa]):Oa,!!(1&A1))}}(Ge,er)})}Qs(r,E,e.emptyArray,e.emptyArray,f,g)}function v2(r){return r.typeParameter||(r.typeParameter=XP(ms(r.declaration.typeParameter)))}function Ep(r){return r.constraintType||(r.constraintType=_d(v2(r))||ae)}function UN(r){return r.declaration.nameType?r.nameType||(r.nameType=xo(Dc(r.declaration.nameType),r.mapper)):void 0}function Y2(r){return r.templateType||(r.templateType=r.declaration.type?xo(Of(Dc(r.declaration.type),!!(4&B2(r))),r.mapper):ae)}function GE(r){return e.getEffectiveConstraintOfTypeParameter(r.declaration.typeParameter)}function XD(r){var f=GE(r);return f.kind===189&&f.operator===138}function VN(r){if(!r.modifiersType)if(XD(r))r.modifiersType=xo(Dc(GE(r).type),r.mapper);else{var f=Ep(y9(r.declaration)),g=f&&262144&f.flags?_d(f):f;r.modifiersType=g&&4194304&g.flags?xo(g.type,r.mapper):ut}return r.modifiersType}function B2(r){var f=r.declaration;return(f.readonlyToken?f.readonlyToken.kind===40?2:1:0)|(f.questionToken?f.questionToken.kind===40?8:4:0)}function CV(r){var f=B2(r);return 8&f?-1:4&f?1:0}function EV(r){var f=CV(r),g=VN(r);return f||(Sd(g)?CV(g):0)}function Sd(r){return!!(32&e.getObjectFlags(r))&&U9(Ep(r))}function b2(r){return r.members||(524288&r.flags?4&r.objectFlags?function(f){var g=$y(f.target),E=e.concatenate(g.typeParameters,[g.thisType]),F=Cc(f);uE(f,g,E,F.length===E.length?F:e.concatenate(F,[f]))}(r):3&r.objectFlags?function(f){uE(f,$y(f),e.emptyArray,e.emptyArray)}(r):1024&r.objectFlags?function(f){for(var g=vC(f.source,0),E=B2(f.mappedType),F=!(1&E),q=4&E?0:16777216,T0=g&&Fd(B3(g.type,f.mappedType,f.constraintType),F&&g.isReadonly),u1=e.createSymbolTable(),M1=0,A1=$c(f.source);M1<A1.length;M1++){var lx=A1[M1],Vx=8192|(F&&j2(lx)?8:0),ye=f2(4|lx.flags&q,lx.escapedName,Vx);if(ye.declarations=lx.declarations,ye.nameType=Zo(lx).nameType,ye.propertyType=Yo(lx),8388608&f.constraintType.type.flags&&262144&f.constraintType.type.objectType.flags&&262144&f.constraintType.type.indexType.flags){var Ue=f.constraintType.type.objectType,Ge=jB(f.mappedType,f.constraintType.type,Ue);ye.mappedType=Ge,ye.constraintType=Ck(Ue)}else ye.mappedType=f.mappedType,ye.constraintType=f.constraintType;u1.set(lx.escapedName,ye)}Qs(f,u1,e.emptyArray,e.emptyArray,T0,void 0)}(r):16&r.objectFlags?p8(r):32&r.objectFlags&&YP(r):1048576&r.flags?function(f){var g=GD(e.map(f.types,function(T0){return T0===Yl?[gc]:_u(T0,0)})),E=GD(e.map(f.types,function(T0){return _u(T0,1)})),F=xU(f.types,0),q=xU(f.types,1);Qs(f,Y1,g,E,F,q)}(r):2097152&r.flags&&HE(r)),r}function Gm(r){return 524288&r.flags?b2(r).properties:e.emptyArray}function j9(r,f){if(524288&r.flags){var g=b2(r).members.get(f);if(g&&b_(g))return g}}function UB(r){if(!r.resolvedProperties){for(var f=e.createSymbolTable(),g=0,E=r.types;g<E.length;g++){for(var F=E[g],q=0,T0=$c(F);q<T0.length;q++){var u1=T0[q];if(!f.has(u1.escapedName)){var M1=sN(r,u1.escapedName);M1&&f.set(u1.escapedName,M1)}}if(1048576&r.flags&&!vC(F,0)&&!vC(F,1))break}r.resolvedProperties=lo(f)}return r.resolvedProperties}function $c(r){return 3145728&(r=VB(r)).flags?UB(r):Gm(r)}function Wh(r){return 262144&r.flags?_d(r):8388608&r.flags?function(f){return SV(f)?function(g){var E=g9(g.indexType);if(E&&E!==g.indexType){var F=vm(g.objectType,E,g.noUncheckedIndexedAccessCandidate);if(F)return F}var q=g9(g.objectType);if(q&&q!==g.objectType)return vm(q,g.indexType,g.noUncheckedIndexedAccessCandidate)}(f):void 0}(r):16777216&r.flags?function(f){return SV(f)?NO(f):void 0}(r):wA(r)}function _d(r){return SV(r)?KB(r):void 0}function g9(r){var f=Dm(r,!1);return f!==r?f:Wh(r)}function YD(r){if(!r.resolvedDefaultConstraint){var f=function(E){return E.resolvedInferredTrueType||(E.resolvedInferredTrueType=E.combinedMapper?xo(Dc(E.root.node.trueType),E.combinedMapper):jk(E))}(r),g=V9(r);r.resolvedDefaultConstraint=Vu(f)?g:Vu(g)?f:Lo([f,g])}return r.resolvedDefaultConstraint}function y3(r){if(r.root.isDistributive&&r.restrictiveInstantiation!==r){var f=Dm(r.checkType,!1),g=f===r.checkType?Wh(f):f;if(g&&g!==r.checkType){var E=oM(r,Ah(r.root.checkType,g,r.mapper));if(!(131072&E.flags))return E}}}function NO(r){return y3(r)||YD(r)}function wA(r){if(464781312&r.flags){var f=w_(r);return f!==zl&&f!==Xl?f:void 0}return 4194304&r.flags?fa:void 0}function QL(r){return wA(r)||r}function SV(r){return w_(r)!==Xl}function w_(r){if(r.resolvedBaseConstraint)return r.resolvedBaseConstraint;var f=[];return r.resolvedBaseConstraint=Fw(g(r),r);function g(F){if(!F.immediateBaseConstraint){if(!vk(F,4))return Xl;var q=void 0;if((f.length<10||f.length<50&&!_v(F,f,f.length))&&(f.push(F),q=function(M1){if(262144&M1.flags){var A1=KB(M1);return M1.isThisType||!A1?A1:E(A1)}if(3145728&M1.flags){for(var lx=[],Vx=!1,ye=0,Ue=Ar=M1.types;ye<Ue.length;ye++){var Ge=Ue[ye],er=E(Ge);er?(er!==Ge&&(Vx=!0),lx.push(er)):Vx=!0}return Vx?1048576&M1.flags&&lx.length===Ar.length?Lo(lx):2097152&M1.flags&&lx.length?Kc(lx):void 0:M1}if(4194304&M1.flags)return fa;if(134217728&M1.flags){var Ar=M1.types,vr=e.mapDefined(Ar,E);return vr.length===Ar.length?qg(M1.texts,vr):l1}if(268435456&M1.flags)return(A1=E(M1.type))?_g(M1.symbol,A1):l1;if(8388608&M1.flags){var Yt=E(M1.objectType),nn=E(M1.indexType),Nn=Yt&&nn&&vm(Yt,nn,M1.noUncheckedIndexedAccessCandidate);return Nn&&E(Nn)}return 16777216&M1.flags?(A1=NO(M1))&&E(A1):33554432&M1.flags?E(M1.substitute):M1}(Dm(F,!1)),f.pop()),!bo()){if(262144&F.flags){var T0=Kb(F);if(T0){var u1=ht(T0,e.Diagnostics.Type_parameter_0_has_a_circular_constraint,ka(F));!k1||e.isNodeDescendantOf(T0,k1)||e.isNodeDescendantOf(k1,T0)||e.addRelatedInfo(u1,e.createDiagnosticForNode(k1,e.Diagnostics.Circularity_originates_in_type_at_this_location))}}q=Xl}F.immediateBaseConstraint=q||zl}return F.immediateBaseConstraint}function E(F){var q=g(F);return q!==zl&&q!==Xl?q:void 0}}function zu(r){if(r.default)r.default===OF&&(r.default=Xl);else if(r.target){var f=zu(r.target);r.default=f?xo(f,r.mapper):zl}else{r.default=OF;var g=r.symbol&&e.forEach(r.symbol.declarations,function(F){return e.isTypeParameterDeclaration(F)&&F.default}),E=g?Dc(g):zl;r.default===OF&&(r.default=E)}return r.default}function $N(r){var f=zu(r);return f!==zl&&f!==Xl?f:void 0}function XE(r){return r.resolvedApparentType||(r.resolvedApparentType=function(f){var g=MO(f);if(g&&!f.declaration.nameType){var E=_d(g);if(E&&(NA(E)||Vd(E)))return xo(f,Ah(g,E,f.mapper))}return f}(r))}function S4(r){var f,g=465829888&r.flags?wA(r)||ut:r;return 32&e.getObjectFlags(g)?XE(g):2097152&g.flags?function(E){return E.resolvedApparentType||(E.resolvedApparentType=Fw(E,E,!0))}(g):402653316&g.flags?Np:296&g.flags?rp:2112&g.flags?(f=Ox>=7,pa||(pa=Kf(\"BigInt\",0,f))||qs):528&g.flags?jp:12288&g.flags?dE(Ox>=2):67108864&g.flags?qs:4194304&g.flags?fa:2&g.flags&&!C1?qs:g}function VB(r){return Q2(S4(Q2(r)))}function jb(r,f,g){for(var E,F,q,T0,u1,M1=1048576&r.flags,A1=M1?0:16777216,lx=4,Vx=0,ye=!1,Ue=0,Ge=r.types;Ue<Ge.length;Ue++)if(!((ti=S4(Ge[Ue]))===ae||131072&ti.flags)){var er=(yn=ec(ti,f,g))?e.getDeclarationModifierFlagsFromSymbol(yn):0;if(yn){if(M1?A1|=16777216&yn.flags:A1&=yn.flags,q){if(yn!==q)if((GN(yn)||yn)===(GN(q)||q)&&IC(q,yn,function(zi,Wo){return zi===Wo?-1:0})===-1)ye=!!q.parent&&!!e.length(R9(q.parent));else{T0||(T0=new e.Map).set(f0(q),q);var Ar=f0(yn);T0.has(Ar)||T0.set(Ar,yn)}}else q=yn;Vx|=(j2(yn)?8:0)|(24&er?0:256)|(16&er?512:0)|(8&er?1024:0)|(32&er?2048:0),Kv(yn)||(lx=2)}else if(M1){var vr=!jN(f)&&(nd(f)&&vC(ti,1)||vC(ti,0));vr?(Vx|=32|(vr.isReadonly?8:0),u1=e.append(u1,Vd(ti)?U_(ti)||Gr:vr.type)):!xh(ti)||4194304&e.getObjectFlags(ti)?Vx|=16:(Vx|=32,u1=e.append(u1,Gr))}}if(q&&!(M1&&(T0||48&Vx)&&1536&Vx)){if(!(T0||16&Vx||u1)){if(ye){var Yt=ph(q,q.type);return Yt.parent=(F=(E=q.valueDeclaration)===null||E===void 0?void 0:E.symbol)===null||F===void 0?void 0:F.parent,Yt.containingType=r,Yt.mapper=q.mapper,Yt}return q}for(var nn,Nn,Ei,Ca,Aa=[],Qi=!1,Oa=0,Ra=T0?e.arrayFrom(T0.values()):[q];Oa<Ra.length;Oa++){var yn=Ra[Oa];Ca?yn.valueDeclaration&&yn.valueDeclaration!==Ca&&(Qi=!0):Ca=yn.valueDeclaration,nn=e.addRange(nn,yn.declarations);var ti=Yo(yn);Nn?ti!==Nn&&(Vx|=64):(Nn=ti,Ei=Zo(yn).nameType),tI(ti)&&(Vx|=128),131072&ti.flags&&(Vx|=131072),Aa.push(ti)}e.addRange(Aa,u1);var Gi=f2(4|A1,f,lx|Vx);return Gi.containingType=r,!Qi&&Ca&&(Gi.valueDeclaration=Ca,Ca.symbol.parent&&(Gi.parent=Ca.symbol.parent)),Gi.declarations=nn,Gi.nameType=Ei,Aa.length>2?(Gi.checkFlags|=65536,Gi.deferralParent=r,Gi.deferralConstituents=Aa):Gi.type=M1?Lo(Aa):Kc(Aa),Gi}}function FV(r,f,g){var E,F,q=((E=r.propertyCacheWithoutObjectFunctionPropertyAugment)===null||E===void 0?void 0:E.get(f))||!g?(F=r.propertyCache)===null||F===void 0?void 0:F.get(f):void 0;return q||(q=jb(r,f,g))&&(g?r.propertyCacheWithoutObjectFunctionPropertyAugment||(r.propertyCacheWithoutObjectFunctionPropertyAugment=e.createSymbolTable()):r.propertyCache||(r.propertyCache=e.createSymbolTable())).set(f,q),q}function sN(r,f,g){var E=FV(r,f,g);return!E||16&e.getCheckFlags(E)?void 0:E}function Q2(r){return 1048576&r.flags&&67108864&r.objectFlags?r.resolvedReducedType||(r.resolvedReducedType=function(f){var g=e.sameMap(f.types,Q2);if(g===f.types)return f;var E=Lo(g);return 1048576&E.flags&&(E.resolvedReducedType=E),E}(r)):2097152&r.flags?(67108864&r.objectFlags||(r.objectFlags|=67108864|(e.some(UB(r),QD)?134217728:0)),134217728&r.objectFlags?Mn:r):r}function QD(r){return zy(r)||Ub(r)}function zy(r){return!(16777216&r.flags||(131264&e.getCheckFlags(r))!=192||!(131072&Yo(r).flags))}function Ub(r){return!r.valueDeclaration&&!!(1024&e.getCheckFlags(r))}function ZD(r,f){if(2097152&f.flags&&134217728&e.getObjectFlags(f)){var g=e.find(UB(f),zy);if(g)return e.chainDiagnosticMessages(r,e.Diagnostics.The_intersection_0_was_reduced_to_never_because_property_1_has_conflicting_types_in_some_constituents,ka(f,void 0,536870912),Is(g));var E=e.find(UB(f),Ub);if(E)return e.chainDiagnosticMessages(r,e.Diagnostics.The_intersection_0_was_reduced_to_never_because_property_1_exists_in_multiple_constituents_and_is_private_in_some,ka(f,void 0,536870912),Is(E))}return r}function ec(r,f,g){if(524288&(r=VB(r)).flags){var E=b2(r),F=E.members.get(f);if(F&&b_(F))return F;if(g)return;var q=E===K8?Yl:E.callSignatures.length?fT:E.constructSignatures.length?qE:void 0;if(q){var T0=j9(q,f);if(T0)return T0}return j9(E4,f)}if(3145728&r.flags)return sN(r,f,g)}function xv(r,f){if(3670016&r.flags){var g=b2(r);return f===0?g.callSignatures:g.constructSignatures}return e.emptyArray}function _u(r,f){return xv(VB(r),f)}function Vb(r,f){if(3670016&r.flags){var g=b2(r);return f===0?g.stringIndexInfo:g.numberIndexInfo}}function ev(r,f){var g=Vb(r,f);return g&&g.type}function vC(r,f){return Vb(VB(r),f)}function Ff(r,f){return ev(VB(r),f)}function cE(r,f){if(gy(r)){for(var g=[],E=0,F=$c(r);E<F.length;E++){var q=F[E];if(f===0||nd(q.escapedName)){var T0=Yo(q);g.push(16777216&q.flags?KS(T0,524288):T0)}}if(f===0&&e.append(g,Ff(r,1)),g.length)return Lo(g)}}function $b(r){for(var f,g=0,E=e.getEffectiveTypeParameterDeclarations(r);g<E.length;g++){var F=E[g];f=e.appendIfUnique(f,XP(F.symbol))}return f}function CR(r){var f=[];return r.forEach(function(g,E){no(E)||f.push(g)}),f}function Bk(r){return e.isInJSFile(r)&&(r.type&&r.type.kind===308||e.getJSDocParameterTags(r).some(function(f){var g=f.isBracketed,E=f.typeExpression;return g||!!E&&E.type.kind===308}))}function QP(r,f){if(!e.isExternalModuleNameRelative(r)){var g=ed(Nt,'\"'+r+'\"',512);return g&&f?Xc(g):g}}function Eh(r){if(e.hasQuestionToken(r)||ZL(r)||Bk(r))return!0;if(r.initializer){var f=xm(r.parent),g=r.parent.parameters.indexOf(r);return e.Debug.assert(g>=0),g>=fw(f,3)}var E=e.getImmediatelyInvokedFunctionExpression(r.parent);return!!E&&!r.type&&!r.dotDotDotToken&&r.parent.parameters.indexOf(r)>=E.arguments.length}function ZL(r){if(!e.isJSDocPropertyLikeTag(r))return!1;var f=r.isBracketed,g=r.typeExpression;return f||!!g&&g.type.kind===308}function $B(r,f,g,E){return{kind:r,parameterName:f,parameterIndex:g,type:E}}function Aw(r){var f,g=0;if(r)for(var E=0;E<r.length;E++)(f=r[E]).symbol&&e.forEach(f.symbol.declarations,function(F){return e.isTypeParameterDeclaration(F)&&F.default})||(g=E+1);return g}function Z2(r,f,g,E){var F=e.length(f);if(!F)return[];var q=e.length(r);if(E||q>=g&&q<=F){for(var T0=r?r.slice():[],u1=q;u1<F;u1++)T0[u1]=ae;var M1=dT(E);for(u1=q;u1<F;u1++){var A1=$N(f[u1]);E&&A1&&(tm(A1,ut)||tm(A1,qs))&&(A1=E1),T0[u1]=A1?xo(A1,yg(f,T0)):M1}return T0.length=f.length,T0}return r&&r.slice()}function xm(r){var f,g=Fo(r);if(!g.resolvedSignature){var E=[],F=0,q=0,T0=void 0,u1=!1,M1=e.getImmediatelyInvokedFunctionExpression(r),A1=e.isJSDocConstructSignature(r);!M1&&e.isInJSFile(r)&&e.isValueSignatureDeclaration(r)&&!e.hasJSDocParameterTags(r)&&!e.getJSDocType(r)&&(F|=32);for(var lx=A1?1:0;lx<r.parameters.length;lx++){var Vx=r.parameters[lx],ye=Vx.symbol,Ue=e.isJSDocParameterTag(Vx)?Vx.typeExpression&&Vx.typeExpression.type:Vx.type;ye&&4&ye.flags&&!e.isBindingPattern(Vx.name)&&(ye=j6(Vx,ye.escapedName,111551,void 0,void 0,!1)),lx===0&&ye.escapedName===\"this\"?(u1=!0,T0=Vx.symbol):E.push(ye),Ue&&Ue.kind===192&&(F|=2),ZL(Vx)||Vx.initializer||Vx.questionToken||Vx.dotDotDotToken||M1&&E.length>M1.arguments.length&&!Ue||Bk(Vx)||(q=E.length)}if((r.kind===168||r.kind===169)&&UI(r)&&(!u1||!T0)){var Ge=r.kind===168?169:168,er=e.getDeclarationOfKind(ms(r),Ge);er&&(T0=(f=OM(er))&&f.symbol)}var Ar=r.kind===167?Ed(Xc(r.parent.symbol)):void 0,vr=Ar?Ar.localTypeParameters:$b(r);(e.hasRestParameter(r)||e.isInJSFile(r)&&function(Yt,nn){if(e.isJSDocSignature(Yt)||!k_(Yt))return!1;var Nn=e.lastOrUndefined(Yt.parameters),Ei=Nn?e.getJSDocParameterTags(Nn):e.getJSDocTags(Yt).filter(e.isJSDocParameterTag),Ca=e.firstDefined(Ei,function(Qi){return Qi.typeExpression&&e.isJSDocVariadicType(Qi.typeExpression.type)?Qi.typeExpression.type:void 0}),Aa=f2(3,\"args\",32768);return Aa.type=Ca?zf(Dc(Ca.type)):Nf,Ca&&nn.pop(),nn.push(Aa),!0}(r,E))&&(F|=1),(e.isConstructorTypeNode(r)&&e.hasSyntacticModifier(r,128)||e.isConstructorDeclaration(r)&&e.hasSyntacticModifier(r.parent,128))&&(F|=4),g.resolvedSignature=Hm(r,vr,T0,E,void 0,void 0,q,F)}return g.resolvedSignature}function $I(r){if(e.isInJSFile(r)&&e.isFunctionLikeDeclaration(r)){var f=e.getJSDocTypeTag(r);return(f==null?void 0:f.typeExpression)&&Nh(Dc(f.typeExpression))}}function k_(r){var f=Fo(r);return f.containsArgumentsReference===void 0&&(8192&f.flags?f.containsArgumentsReference=!0:f.containsArgumentsReference=function g(E){if(!E)return!1;switch(E.kind){case 78:return E.escapedText===ar.escapedName&&$k(E)===ar;case 164:case 166:case 168:case 169:return E.name.kind===159&&g(E.name);case 202:case 203:return g(E.expression);default:return!e.nodeStartsNewLexicalEnvironment(E)&&!e.isPartOfTypeNode(E)&&!!e.forEachChild(E,g)}}(r.body)),f.containsArgumentsReference}function L2(r){if(!r||!r.declarations)return e.emptyArray;for(var f=[],g=0;g<r.declarations.length;g++){var E=r.declarations[g];if(e.isFunctionLike(E)){if(g>0&&E.body){var F=r.declarations[g-1];if(E.parent===F.parent&&E.kind===F.kind&&E.pos===F.end)continue}f.push(xm(E))}}return f}function ER(r){var f=f5(r,r);if(f){var g=jd(f);if(g)return Yo(g)}return E1}function Tw(r){if(r.thisParameter)return Yo(r.thisParameter)}function kA(r){if(!r.resolvedTypePredicate){if(r.target){var f=kA(r.target);r.resolvedTypePredicate=f?(q=f,T0=r.mapper,$B(q.kind,q.parameterName,q.parameterIndex,xo(q.type,T0))):Vc}else if(r.compositeSignatures)r.resolvedTypePredicate=function(u1,M1){for(var A1,lx=[],Vx=0,ye=u1;Vx<ye.length;Vx++){var Ue=kA(ye[Vx]);if(!Ue||Ue.kind===2||Ue.kind===3){if(M1!==2097152)continue;return}if(A1){if(!HB(A1,Ue))return}else A1=Ue;lx.push(Ue.type)}if(!!A1){var Ge=lE(lx,M1);return $B(A1.kind,A1.parameterName,A1.parameterIndex,Ge)}}(r.compositeSignatures,r.compositeKind)||Vc;else{var g=r.declaration&&e.getEffectiveReturnTypeNode(r.declaration),E=void 0;if(!g&&e.isInJSFile(r.declaration)){var F=$I(r.declaration);F&&r!==F&&(E=kA(F))}r.resolvedTypePredicate=g&&e.isTypePredicateNode(g)?function(u1,M1){var A1=u1.parameterName,lx=u1.type&&Dc(u1.type);return A1.kind===188?$B(u1.assertsModifier?2:0,void 0,void 0,lx):$B(u1.assertsModifier?3:1,A1.escapedText,e.findIndex(M1.parameters,function(Vx){return Vx.escapedName===A1.escapedText}),lx)}(g,r):E||Vc}e.Debug.assert(!!r.resolvedTypePredicate)}var q,T0;return r.resolvedTypePredicate===Vc?void 0:r.resolvedTypePredicate}function lE(r,f,g){return f!==2097152?Lo(r,g):Kc(r)}function yc(r){if(!r.resolvedReturnType){if(!vk(r,3))return ae;var f=r.target?xo(yc(r.target),r.mapper):r.compositeSignatures?xo(lE(e.map(r.compositeSignatures,yc),r.compositeKind,2),r.mapper):_P(r.declaration)||(e.nodeIsMissing(r.declaration.body)?E1:vU(r.declaration));if(8&r.flags?f=Cv(f):16&r.flags&&(f=nm(f)),!bo()){if(r.declaration){var g=e.getEffectiveReturnTypeNode(r.declaration);if(g)ht(g,e.Diagnostics.Return_type_annotation_circularly_references_itself);else if(Px){var E=r.declaration,F=e.getNameOfDeclaration(E);F?ht(F,e.Diagnostics._0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions,e.declarationNameToString(F)):ht(E,e.Diagnostics.Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions)}}f=E1}r.resolvedReturnType=f}return r.resolvedReturnType}function _P(r){if(r.kind===167)return Ed(Xc(r.parent.symbol));if(e.isJSDocConstructSignature(r))return Dc(r.parameters[0].type);var f=e.getEffectiveReturnTypeNode(r);if(f)return Dc(f);if(r.kind===168&&UI(r)){var g=e.isInJSFile(r)&&mp(r);if(g)return g;var E=F_(e.getDeclarationOfKind(ms(r),169));if(E)return E}return function(F){var q=$I(F);return q&&yc(q)}(r)}function tv(r){return!r.resolvedReturnType&&Ug(r,3)>=0}function fE(r){if(S1(r)){var f=Yo(r.parameters[r.parameters.length-1]),g=Vd(f)?U_(f):f;return g&&Ff(g,1)}}function $g(r,f,g,E){var F=xM(r,Z2(f,r.typeParameters,Aw(r.typeParameters),g));if(E){var q=_U(yc(F));if(q){var T0=hg(q);T0.typeParameters=E;var u1=hg(F);return u1.resolvedReturnType=yP(T0),u1}}return F}function xM(r,f){var g=r.instantiations||(r.instantiations=new e.Map),E=Ud(f),F=g.get(E);return F||g.set(E,F=AV(r,f)),F}function AV(r,f){return vg(r,function(g,E){return yg(g.typeParameters,E)}(r,f),!0)}function KI(r){return r.typeParameters?r.erasedSignatureCache||(r.erasedSignatureCache=function(f){return vg(f,TC(f.typeParameters),!0)}(r)):r}function SR(r){return r.typeParameters?r.canonicalSignatureCache||(r.canonicalSignatureCache=function(f){return $g(f,e.map(f.typeParameters,function(g){return g.target&&!_d(g.target)?g.target:g}),e.isInJSFile(f.declaration))}(r)):r}function D3(r){var f=r.typeParameters;if(f){if(r.baseSignatureCache)return r.baseSignatureCache;for(var g=TC(f),E=yg(f,e.map(f,function(T0){return _d(T0)||ut})),F=e.map(f,function(T0){return xo(T0,E)||ut}),q=0;q<f.length-1;q++)F=em(F,E);return F=em(F,g),r.baseSignatureCache=vg(r,yg(f,F),!0)}return r}function yP(r){if(!r.isolatedSignatureType){var f=r.declaration?r.declaration.kind:0,g=f===167||f===171||f===176,E=Ci(16);E.members=Y1,E.properties=e.emptyArray,E.callSignatures=g?e.emptyArray:[r],E.constructSignatures=g?[r]:e.emptyArray,r.isolatedSignatureType=E}return r.isolatedSignatureType}function rv(r){return r.members?eM(r.members):void 0}function eM(r){return r.get(\"__index\")}function uN(r,f){var g=r&&eM(r);return g&&FR(g,f)}function FR(r,f){var g=f===1?144:147;if(r==null?void 0:r.declarations)for(var E=0,F=r.declarations;E<F.length;E++){var q=F[E],T0=e.cast(q,e.isIndexSignatureDeclaration);if(T0.parameters.length===1){var u1=T0.parameters[0];if(u1.type&&u1.type.kind===g)return T0}}}function Fd(r,f,g){return{type:r,isReadonly:f,declaration:g}}function tM(r,f){var g=function(E,F){var q=E&&rv(E);return q&&FR(q,F)}(r,f);if(g)return Fd(g.type?Dc(g.type):E1,e.hasEffectiveModifier(g,64),g)}function Kb(r){return e.mapDefined(e.filter(r.symbol&&r.symbol.declarations,e.isTypeParameterDeclaration),e.getEffectiveConstraintOfTypeParameter)[0]}function KB(r){if(!r.constraint)if(r.target){var f=_d(r.target);r.constraint=f?xo(f,r.mapper):zl}else{var g=Kb(r);if(g){var E=Dc(g);1&E.flags&&E!==ae&&(E=g.parent.parent.kind===191?fa:ut),r.constraint=E}else r.constraint=function(F){var q,T0;if((q=F.symbol)===null||q===void 0?void 0:q.declarations)for(var u1=0,M1=F.symbol.declarations;u1<M1.length;u1++){var A1=M1[u1];if(A1.parent.kind===186){var lx=e.walkUpParenthesizedTypesAndGetParentAndChild(A1.parent.parent),Vx=lx[0],ye=Vx===void 0?A1.parent:Vx,Ue=lx[1];if(Ue.kind===174){var Ge=Ue,er=dL(Ge);if(er){var Ar=Ge.typeArguments.indexOf(ye);if(Ar<er.length){var vr=_d(er[Ar]);if(vr){var Yt=xo(vr,yg(er,pL(Ge,er)));Yt!==F&&(T0=e.append(T0,Yt))}}}}else if(Ue.kind===161&&Ue.dotDotDotToken||Ue.kind===182||Ue.kind===193&&Ue.dotDotDotToken)T0=e.append(T0,zf(ut));else if(Ue.kind===195)T0=e.append(T0,l1);else if(Ue.kind===160&&Ue.parent.kind===191)T0=e.append(T0,fa);else if(Ue.kind===191&&Ue.type&&e.skipParentheses(Ue.type)===A1.parent&&Ue.parent.kind===185&&Ue.parent.extendsType===Ue&&Ue.parent.checkType.kind===191&&Ue.parent.checkType.type){var nn=Ue.parent.checkType,Nn=Dc(nn.type);T0=e.append(T0,xo(Nn,Dg(XP(ms(nn.typeParameter)),nn.typeParameter.constraint?Dc(nn.typeParameter.constraint):fa)))}}}return T0&&Kc(T0)}(r)||zl}return r.constraint===zl?void 0:r.constraint}function rM(r){var f=e.getDeclarationOfKind(r.symbol,160),g=e.isJSDocTemplateTag(f.parent)?e.getHostSignatureFromJSDoc(f.parent):f.parent;return g&&ms(g)}function Ud(r){var f=\"\";if(r)for(var g=r.length,E=0;E<g;){for(var F=r[E].id,q=1;E+q<g&&r[E+q].id===F+q;)q++;f.length&&(f+=\",\"),f+=F,q>1&&(f+=\":\"+q),E+=q}return f}function Kg(r,f){return r?\"@\"+f0(r)+(f?\":\"+Ud(f):\"\"):\"\"}function bC(r,f){for(var g=0,E=0,F=r;E<F.length;E++){var q=F[E];q.flags&f||(g|=e.getObjectFlags(q))}return 917504&g}function ym(r,f){var g=Ud(f),E=r.instantiations.get(g);return E||(E=Ci(4,r.symbol),r.instantiations.set(g,E),E.objectFlags|=f?bC(f,0):0,E.target=r,E.resolvedTypeArguments=f),E}function zb(r){var f=Ae(r.flags);return f.symbol=r.symbol,f.objectFlags=r.objectFlags,f.target=r.target,f.resolvedTypeArguments=r.resolvedTypeArguments,f}function J$(r,f,g,E,F){if(!E){var q=$9(E=Fh(f));F=g?em(q,g):q}var T0=Ci(4,r.symbol);return T0.target=r,T0.node=f,T0.mapper=g,T0.aliasSymbol=E,T0.aliasTypeArguments=F,T0}function Cc(r){var f,g;if(!r.resolvedTypeArguments){if(!vk(r,6))return((f=r.target.localTypeParameters)===null||f===void 0?void 0:f.map(function(){return ae}))||e.emptyArray;var E=r.node,F=E?E.kind===174?e.concatenate(r.target.outerTypeParameters,pL(E,r.target.localTypeParameters)):E.kind===179?[Dc(E.elementType)]:e.map(E.elements,Dc):e.emptyArray;bo()?r.resolvedTypeArguments=r.mapper?em(F,r.mapper):F:(r.resolvedTypeArguments=((g=r.target.localTypeParameters)===null||g===void 0?void 0:g.map(function(){return ae}))||e.emptyArray,ht(r.node||k1,r.target.symbol?e.Diagnostics.Type_arguments_for_0_circularly_reference_themselves:e.Diagnostics.Tuple_type_arguments_circularly_reference_themselves,r.target.symbol&&Is(r.target.symbol)))}return r.resolvedTypeArguments}function DP(r){return e.length(r.target.typeParameters)}function ly(r,f){var g=Il(Xc(f)),E=g.localTypeParameters;if(E){var F=e.length(r.typeArguments),q=Aw(E),T0=e.isInJSFile(r);if(!(!Px&&T0)&&(F<q||F>E.length)){var u1=T0&&e.isExpressionWithTypeArguments(r)&&!e.isJSDocAugmentsTag(r.parent);if(ht(r,q===E.length?u1?e.Diagnostics.Expected_0_type_arguments_provide_these_with_an_extends_tag:e.Diagnostics.Generic_type_0_requires_1_type_argument_s:u1?e.Diagnostics.Expected_0_1_type_arguments_provide_these_with_an_extends_tag:e.Diagnostics.Generic_type_0_requires_between_1_and_2_type_arguments,ka(g,void 0,2),q,E.length),!T0)return ae}return r.kind===174&&Fz(r,e.length(r.typeArguments)!==E.length)?J$(g,r,void 0):ym(g,e.concatenate(g.outerTypeParameters,Z2(CC(r),E,q,T0)))}return Xm(r,f)?g:ae}function vP(r,f,g,E){var F=Il(r);if(F===or&&H.has(r.escapedName)&&f&&f.length===1)return _g(r,f[0]);var q=Zo(r),T0=q.typeParameters,u1=Ud(f)+Kg(g,E),M1=q.instantiations.get(u1);return M1||q.instantiations.set(u1,M1=dv(F,yg(T0,Z2(f,T0,Aw(T0),e.isInJSFile(r.valueDeclaration))),g,E)),M1}function U6(r){var f,g=(f=r.declarations)===null||f===void 0?void 0:f.find(e.isTypeAlias);return!(!g||!e.getContainingFunction(g))}function fy(r){switch(r.kind){case 174:return r.typeName;case 224:var f=r.expression;if(e.isEntityNameExpression(f))return f}}function Wy(r,f,g){return r&&nl(r,f,g)||W1}function qy(r,f){if(f===W1)return ae;if(96&(f=function(F){var q=F.valueDeclaration;if(q&&e.isInJSFile(q)&&!(524288&F.flags)&&!e.getExpandoInitializer(q,!1)){var T0=e.isVariableDeclaration(q)?e.getDeclaredExpandoInitializer(q):e.getAssignedExpandoInitializer(q);if(T0){var u1=ms(T0);if(u1)return yD(u1,F)}}}(f)||f).flags)return ly(r,f);if(524288&f.flags)return function(F,q){var T0=Il(q),u1=Zo(q).typeParameters;if(u1){var M1=e.length(F.typeArguments),A1=Aw(u1);if(M1<A1||M1>u1.length)return ht(F,A1===u1.length?e.Diagnostics.Generic_type_0_requires_1_type_argument_s:e.Diagnostics.Generic_type_0_requires_between_1_and_2_type_arguments,Is(q),A1,u1.length),ae;var lx=Fh(F),Vx=!lx||!U6(q)&&U6(lx)?void 0:lx;return vP(q,CC(F),Vx,$9(Vx))}return Xm(F,q)?T0:ae}(r,f);var g=Vy(f);if(g)return Xm(r,f)?Kp(g):ae;if(111551&f.flags&&Lk(r)){var E=function(F,q){var T0=Fo(F);if(!T0.resolvedJSDocType){var u1=Yo(q),M1=u1;if(q.valueDeclaration){var A1=F.kind===196&&F.qualifier;u1.symbol&&u1.symbol!==q&&A1&&(M1=qy(F,u1.symbol))}T0.resolvedJSDocType=M1}return T0.resolvedJSDocType}(r,f);return E||(Wy(fy(r),788968),Yo(f))}return ae}function AR(r,f){if(3&f.flags||f===r)return r;var g=Mk(r)+\">\"+Mk(f),E=bn.get(g);if(E)return E;var F=Ae(33554432);return F.baseType=r,F.substitute=f,bn.set(g,F),F}function nv(r){return r.kind===180&&r.elements.length===1}function iv(r,f,g){return nv(f)&&nv(g)?iv(r,f.elements[0],g.elements[0]):r9(Dc(f))===r?Dc(g):void 0}function Wb(r,f){for(var g,E=!0;f&&!e.isStatement(f)&&f.kind!==312;){var F=f.parent;if(F.kind===161&&(E=!E),(E||8650752&r.flags)&&F.kind===185&&f===F.trueType){var q=iv(r,F.checkType,F.extendsType);q&&(g=e.append(g,q))}f=F}return g?AR(r,Kc(e.append(g,r))):r}function Lk(r){return!!(4194304&r.flags)&&(r.kind===174||r.kind===196)}function Xm(r,f){return!r.typeArguments||(ht(r,e.Diagnostics.Type_0_is_not_generic,f?Is(f):r.typeName?e.declarationNameToString(r.typeName):i0),!1)}function nM(r){if(e.isIdentifier(r.typeName)){var f=r.typeArguments;switch(r.typeName.escapedText){case\"String\":return Xm(r),l1;case\"Number\":return Xm(r),Hx;case\"Boolean\":return Xm(r),rn;case\"Void\":return Xm(r),Ii;case\"Undefined\":return Xm(r),Gr;case\"Null\":return Xm(r),M;case\"Function\":case\"function\":return Xm(r),Yl;case\"array\":return f&&f.length||Px?void 0:Nf;case\"promise\":return f&&f.length||Px?void 0:Qv(E1);case\"Object\":if(f&&f.length===2){if(e.isJSDocIndexSignature(r)){var g=Dc(f[0]),E=Fd(Dc(f[1]),!1);return yo(void 0,Y1,e.emptyArray,e.emptyArray,g===l1?E:void 0,g===Hx?E:void 0)}return E1}return Xm(r),Px?void 0:E1}}}function av(r){var f=Fo(r);if(!f.resolvedType){if(e.isConstTypeReference(r)&&e.isAssertionExpression(r.parent))return f.resolvedSymbol=W1,f.resolvedType=VC(r.parent.expression);var g=void 0,E=void 0,F=788968;Lk(r)&&((E=nM(r))||((g=Wy(fy(r),F,!0))===W1?g=Wy(fy(r),900095):Wy(fy(r),F),E=qy(r,g))),E||(E=qy(r,g=Wy(fy(r),F))),f.resolvedSymbol=g,f.resolvedType=E}return f.resolvedType}function CC(r){return e.map(r.typeArguments,Dc)}function pE(r){var f=Fo(r);return f.resolvedType||(f.resolvedType=Kp(Bp(Js(r.exprName)))),f.resolvedType}function v3(r,f){function g(F){var q=F.declarations;if(q)for(var T0=0,u1=q;T0<u1.length;T0++){var M1=u1[T0];switch(M1.kind){case 253:case 254:case 256:return M1}}}if(!r)return f?rc:qs;var E=Il(r);return 524288&E.flags?e.length(E.typeParameters)!==f?(ht(g(r),e.Diagnostics.Global_type_0_must_have_1_type_parameter_s,e.symbolName(r),f),f?rc:qs):E:(ht(g(r),e.Diagnostics.Global_type_0_must_be_a_class_or_interface_type,e.symbolName(r)),f?rc:qs)}function gg(r,f){return Ym(r,111551,f?e.Diagnostics.Cannot_find_global_value_0:void 0)}function t9(r,f){return Ym(r,788968,f?e.Diagnostics.Cannot_find_global_type_0:void 0)}function Ym(r,f,g){return j6(void 0,r,f,g,r,!1)}function Kf(r,f,g){var E=t9(r,g);return E||g?v3(E,f):void 0}function zB(r){return Ju||(Ju=gg(\"Symbol\",r))}function dE(r){return aw||(aw=Kf(\"Symbol\",0,r))||qs}function TR(r){return Qo||(Qo=Kf(\"Promise\",1,r))||rc}function EC(r){return gl||(gl=gg(\"Promise\",r))}function qb(r){return Ld||(Ld=Kf(\"Iterable\",1,r))||rc}function mE(r,f){f===void 0&&(f=0);var g=Ym(r,788968,void 0);return g&&v3(g,f)}function PO(r,f){return r!==rc?ym(r,f):qs}function KN(r){return PO(c5||(c5=Kf(\"TypedPropertyDescriptor\",1,!0))||rc,[r])}function zf(r,f){return PO(f?pl:df,[r])}function SC(r){switch(r.kind){case 181:return 2;case 182:return Jb(r);case 193:return r.questionToken?2:r.dotDotDotToken?Jb(r):1;default:return 1}}function Jb(r){return E3(r.type)?4:8}function YE(r){var f=function(g){return e.isTypeOperatorNode(g)&&g.operator===142}(r.parent);return E3(r)?f?pl:df:eU(e.map(r.elements,SC),f,e.some(r.elements,function(g){return g.kind!==193})?void 0:r.elements)}function Fz(r,f){return!!Fh(r)||TV(r)&&(r.kind===179?_9(r.elementType):r.kind===180?e.some(r.elements,_9):f||e.some(r.typeArguments,_9))}function TV(r){var f=r.parent;switch(f.kind){case 187:case 193:case 174:case 183:case 184:case 190:case 185:case 189:case 179:case 180:return TV(f);case 255:return!0}return!1}function _9(r){switch(r.kind){case 174:return Lk(r)||!!(524288&Wy(r.typeName,788968).flags);case 177:return!0;case 189:return r.operator!==151&&_9(r.type);case 187:case 181:case 193:case 308:case 306:case 307:case 302:return _9(r.type);case 182:return r.type.kind!==179||_9(r.type.elementType);case 183:case 184:return e.some(r.types,_9);case 190:return _9(r.objectType)||_9(r.indexType);case 185:return _9(r.checkType)||_9(r.extendsType)||_9(r.trueType)||_9(r.falseType)}return!1}function ek(r,f,g,E){g===void 0&&(g=!1);var F=eU(f||e.map(r,function(q){return 1}),g,E);return F===rc?qs:r.length?WB(F,r):F}function eU(r,f,g){if(r.length===1&&4&r[0])return f?pl:df;var E=e.map(r,function(q){return 1&q?\"#\":2&q?\"?\":4&q?\".\":\"*\"}).join()+(f?\"R\":\"\")+(g&&g.length?\",\"+e.map(g,t0).join(\",\"):\"\"),F=Ba.get(E);return F||Ba.set(E,F=function(q,T0,u1){var M1,A1=q.length,lx=e.countWhere(q,function(Ei){return!!(9&Ei)}),Vx=[],ye=0;if(A1){M1=new Array(A1);for(var Ue=0;Ue<A1;Ue++){var Ge=M1[Ue]=$i(),er=q[Ue];if(!(12&(ye|=er))){var Ar=f2(4|(2&er?16777216:0),\"\"+Ue,T0?8:0);Ar.tupleLabelDeclaration=u1==null?void 0:u1[Ue],Ar.type=Ge,Vx.push(Ar)}}}var vr=Vx.length,Yt=f2(4,\"length\");if(12&ye)Yt.type=Hx;else{var nn=[];for(Ue=lx;Ue<=A1;Ue++)nn.push(sf(Ue));Yt.type=Lo(nn)}Vx.push(Yt);var Nn=Ci(12);return Nn.typeParameters=M1,Nn.outerTypeParameters=void 0,Nn.localTypeParameters=M1,Nn.instantiations=new e.Map,Nn.instantiations.set(Ud(Nn.typeParameters),Nn),Nn.target=Nn,Nn.resolvedTypeArguments=Nn.typeParameters,Nn.thisType=$i(),Nn.thisType.isThisType=!0,Nn.thisType.constraint=Nn,Nn.declaredProperties=Vx,Nn.declaredCallSignatures=e.emptyArray,Nn.declaredConstructSignatures=e.emptyArray,Nn.declaredStringIndexInfo=void 0,Nn.declaredNumberIndexInfo=void 0,Nn.elementFlags=q,Nn.minLength=lx,Nn.fixedLength=vr,Nn.hasRestElement=!!(12&ye),Nn.combinedFlags=ye,Nn.readonly=T0,Nn.labeledElementDeclarations=u1,Nn}(r,f,g)),F}function WB(r,f){return 8&r.objectFlags?Hb(r,f):ym(r,f)}function Hb(r,f){var g,E,F;if(!(14&r.combinedFlags))return ym(r,f);if(8&r.combinedFlags){var q=e.findIndex(f,function(vr,Yt){return!!(8&r.elementFlags[Yt]&&1179648&vr.flags)});if(q>=0)return py(e.map(f,function(vr,Yt){return 8&r.elementFlags[Yt]?vr:ut}))?rf(f[q],function(vr){return Hb(r,e.replaceElement(f,q,vr))}):ae}for(var T0=[],u1=[],M1=[],A1=-1,lx=-1,Vx=-1,ye=function(vr){var Yt=f[vr],nn=r.elementFlags[vr];if(8&nn)if(58982400&Yt.flags||Sd(Yt))Ar(Yt,8,(g=r.labeledElementDeclarations)===null||g===void 0?void 0:g[vr]);else if(Vd(Yt)){var Nn=Cc(Yt);if(Nn.length+T0.length>=1e4)return ht(k1,e.isPartOfTypeNode(k1)?e.Diagnostics.Type_produces_a_tuple_type_that_is_too_large_to_represent:e.Diagnostics.Expression_produces_a_tuple_type_that_is_too_large_to_represent),{value:ae};e.forEach(Nn,function(Ei,Ca){var Aa;return Ar(Ei,Yt.target.elementFlags[Ca],(Aa=Yt.target.labeledElementDeclarations)===null||Aa===void 0?void 0:Aa[Ca])})}else Ar(uw(Yt)&&Ff(Yt,1)||ae,4,(E=r.labeledElementDeclarations)===null||E===void 0?void 0:E[vr]);else Ar(Yt,nn,(F=r.labeledElementDeclarations)===null||F===void 0?void 0:F[vr])},Ue=0;Ue<f.length;Ue++){var Ge=ye(Ue);if(typeof Ge==\"object\")return Ge.value}for(Ue=0;Ue<A1;Ue++)2&u1[Ue]&&(u1[Ue]=1);lx>=0&&lx<Vx&&(T0[lx]=Lo(e.sameMap(T0.slice(lx,Vx+1),function(vr,Yt){return 8&u1[lx+Yt]?JT(vr,Hx):vr})),T0.splice(lx+1,Vx-lx),u1.splice(lx+1,Vx-lx),M1==null||M1.splice(lx+1,Vx-lx));var er=eU(u1,r.readonly,M1);return er===rc?qs:u1.length?ym(er,T0):er;function Ar(vr,Yt,nn){1&Yt&&(A1=u1.length),4&Yt&&lx<0&&(lx=u1.length),6&Yt&&(Vx=u1.length),T0.push(vr),u1.push(Yt),M1&&nn?M1.push(nn):M1=void 0}}function iM(r,f,g){g===void 0&&(g=0);var E=r.target,F=DP(r)-g;return f>E.fixedLength?function(q){var T0=U_(q);return T0&&zf(T0)}(r)||ek(e.emptyArray):ek(Cc(r).slice(f,F),E.elementFlags.slice(f,F),!1,E.labeledElementDeclarations&&E.labeledElementDeclarations.slice(f,F))}function wR(r){return Lo(e.append(e.arrayOf(r.target.fixedLength,function(f){return sf(\"\"+f)}),Ck(r.target.readonly?pl:df)))}function hE(r,f){var g=e.findIndex(r.elementFlags,function(E){return!(E&f)});return g>=0?g:r.elementFlags.length}function IO(r,f){return r.elementFlags.length-e.findLastIndex(r.elementFlags,function(g){return!(g&f)})-1}function Mk(r){return r.id}function zg(r,f){return e.binarySearch(r,f,Mk,e.compareValues)>=0}function qB(r,f){var g=e.binarySearch(r,f,Mk,e.compareValues);return g<0&&(r.splice(~g,0,f),!0)}function kR(r,f,g){var E=g.flags;if(1048576&E)return zN(r,f|(function(T0){return!!(1048576&T0.flags&&(T0.aliasSymbol||T0.origin))}(g)?1048576:0),g.types);if(!(131072&E))if(f|=205258751&E,469499904&E&&(f|=262144),g===xt&&(f|=8388608),!C1&&98304&E)131072&e.getObjectFlags(g)||(f|=4194304);else{var F=r.length,q=F&&g.id>r[F-1].id?~F:e.binarySearch(r,g,Mk,e.compareValues);q<0&&r.splice(~q,0,g)}return f}function zN(r,f,g){for(var E=0,F=g;E<F.length;E++)f=kR(r,f,F[E]);return f}function JB(r,f){for(var g=0,E=f;g<E.length;g++){var F=E[g];if(1048576&F.flags){var q=F.origin;F.aliasSymbol||q&&!(1048576&q.flags)?e.pushIfUnique(r,F):q&&1048576&q.flags&&JB(r,q.types)}}}function Jy(r,f){var g=kt(r);return g.types=f,g}function Lo(r,f,g,E,F){if(f===void 0&&(f=1),r.length===0)return Mn;if(r.length===1)return r[0];var q=[],T0=zN(q,0,r);if(f!==0){if(3&T0)return 1&T0?8388608&T0?xt:E1:ut;if((11136&T0||16384&T0&&32768&T0)&&function(Ge,er,Ar){for(var vr=Ge.length;vr>0;){var Yt=Ge[--vr],nn=Yt.flags;(128&nn&&4&er||256&nn&&8&er||2048&nn&&64&er||8192&nn&&4096&er||Ar&&32768&nn&&16384&er||ch(Yt)&&zg(Ge,Yt.regularType))&&e.orderedRemoveItemAt(Ge,vr)}}(q,T0,!!(2&f)),128&T0&&134217728&T0&&function(Ge){var er=e.filter(Ge,ov);if(er.length)for(var Ar=Ge.length,vr=function(){Ar--;var Yt=Ge[Ar];128&Yt.flags&&e.some(er,function(nn){return bm(Yt,nn)})&&e.orderedRemoveItemAt(Ge,Ar)};Ar>0;)vr()}(q),f===2&&!(q=function(Ge,er){var Ar=Ud(Ge),vr=Le.get(Ar);if(vr)return vr;for(var Yt=er&&e.some(Ge,function(Gi){return!!(524288&Gi.flags)&&!Sd(Gi)&&kV(b2(Gi))}),nn=Ge.length,Nn=nn,Ei=0;Nn>0;){var Ca=Ge[--Nn];if(Yt||469499904&Ca.flags)for(var Aa=61603840&Ca.flags?e.find($c(Ca),function(Gi){return rm(Yo(Gi))}):void 0,Qi=Aa&&Kp(Yo(Aa)),Oa=0,Ra=Ge;Oa<Ra.length;Oa++){var yn=Ra[Oa];if(Ca!==yn){if(Ei===1e5&&Ei/(nn-Nn)*nn>1e6)return e.tracing===null||e.tracing===void 0||e.tracing.instant(\"checkTypes\",\"removeSubtypes_DepthLimit\",{typeIds:Ge.map(function(Gi){return Gi.id})}),void ht(k1,e.Diagnostics.Expression_produces_a_union_type_that_is_too_complex_to_represent);if(Ei++,Aa&&61603840&yn.flags){var ti=qc(yn,Aa.escapedName);if(ti&&rm(ti)&&Kp(ti)!==Qi)continue}if(rd(Ca,yn,Ln)&&(!(1&e.getObjectFlags(wO(Ca)))||!(1&e.getObjectFlags(wO(yn)))||sM(Ca,yn))){e.orderedRemoveItemAt(Ge,Nn);break}}}}return Le.set(Ar,Ge),Ge}(q,!!(524288&T0))))return ae;if(q.length===0)return 65536&T0?4194304&T0?M:X0:32768&T0?4194304&T0?Gr:B:Mn}if(!F&&1048576&T0){var u1=[];JB(u1,r);for(var M1=[],A1=function(Ge){e.some(u1,function(er){return zg(er.types,Ge)})||M1.push(Ge)},lx=0,Vx=q;lx<Vx.length;lx++)A1(Vx[lx]);if(!g&&u1.length===1&&M1.length===0)return u1[0];if(e.reduceLeft(u1,function(Ge,er){return Ge+er.types.length},0)+M1.length===q.length){for(var ye=0,Ue=u1;ye<Ue.length;ye++)qB(M1,Ue[ye]);F=Jy(1048576,M1)}}return ZP(q,(468598819&T0?0:65536)|(2097152&T0?67108864:0),g,E,F)}function HB(r,f){return r.kind===f.kind&&r.parameterIndex===f.parameterIndex}function ZP(r,f,g,E,F){if(r.length===0)return Mn;if(r.length===1)return r[0];var q=(F?1048576&F.flags?\"|\"+Ud(F.types):2097152&F.flags?\"&\"+Ud(F.types):\"#\"+F.type.id+\"|\"+Ud(r):Ud(r))+Kg(g,E),T0=dt.get(q);return T0||((T0=function(u1,M1,A1,lx){var Vx=Ae(1048576);return Vx.objectFlags=bC(u1,98304),Vx.types=u1,Vx.origin=lx,Vx.aliasSymbol=M1,Vx.aliasTypeArguments=A1,Vx}(r,g,E,F)).objectFlags|=f,dt.set(q,T0)),T0}function Gb(r,f,g){var E=g.flags;return 2097152&E?Xb(r,f,g.types):(a7(g)?16777216&f||(f|=16777216,r.set(g.id.toString(),g)):(3&E?g===xt&&(f|=8388608):!C1&&98304&E||r.has(g.id.toString())||(109440&g.flags&&109440&f&&(f|=67108864),r.set(g.id.toString(),g)),f|=205258751&E),f)}function Xb(r,f,g){for(var E=0,F=g;E<F.length;E++)f=Gb(r,f,Kp(F[E]));return f}function Hy(r,f){for(var g=0,E=r;g<E.length;g++){var F=E[g];if(!zg(F.types,f)){var q=128&f.flags?l1:256&f.flags?Hx:2048&f.flags?ge:8192&f.flags?_t:void 0;if(!q||!zg(F.types,q))return!1}}return!0}function NR(r,f){if(e.every(r,function(E){return!!(1048576&E.flags)&&e.some(E.types,function(F){return!!(F.flags&f)})})){for(var g=0;g<r.length;g++)r[g]=aA(r[g],function(E){return!(E.flags&f)});return!0}return!1}function Kc(r,f,g){var E=new e.Map,F=Xb(E,0,r),q=e.arrayFrom(E.values());if(131072&F||C1&&98304&F&&84410368&F||67108864&F&&402783228&F||402653316&F&&67238776&F||296&F&&469891796&F||2112&F&&469889980&F||12288&F&&469879804&F||49152&F&&469842940&F||134217728&F&&128&F&&function(A1){for(var lx=A1.length,Vx=e.filter(A1,function(er){return!!(128&er.flags)});lx>0;){var ye=A1[--lx];if(134217728&ye.flags)for(var Ue=0,Ge=Vx;Ue<Ge.length;Ue++){if(bm(Ge[Ue],ye)){e.orderedRemoveItemAt(A1,lx);break}if(ov(ye))return!0}}return!1}(q))return Mn;if(1&F)return 8388608&F?xt:E1;if(!C1&&98304&F)return 32768&F?Gr:M;if((4&F&&128&F||8&F&&256&F||64&F&&2048&F||4096&F&&8192&F)&&function(A1,lx){for(var Vx=A1.length;Vx>0;){var ye=A1[--Vx];(4&ye.flags&&128&lx||8&ye.flags&&256&lx||64&ye.flags&&2048&lx||4096&ye.flags&&8192&lx)&&e.orderedRemoveItemAt(A1,Vx)}}(q,F),16777216&F&&524288&F&&e.orderedRemoveItemAt(q,e.findIndex(q,a7)),q.length===0)return ut;if(q.length===1)return q[0];var T0=Ud(q)+Kg(f,g),u1=Gt.get(T0);if(!u1){if(1048576&F)if(function(A1){var lx,Vx=e.findIndex(A1,function(Nn){return!!(65536&e.getObjectFlags(Nn))});if(Vx<0)return!1;for(var ye=Vx+1;ye<A1.length;){var Ue=A1[ye];65536&e.getObjectFlags(Ue)?((lx||(lx=[A1[Vx]])).push(Ue),e.orderedRemoveItemAt(A1,ye)):ye++}if(!lx)return!1;for(var Ge=[],er=[],Ar=0,vr=lx;Ar<vr.length;Ar++)for(var Yt=0,nn=vr[Ar].types;Yt<nn.length;Yt++)qB(Ge,Ue=nn[Yt])&&Hy(lx,Ue)&&qB(er,Ue);return A1[Vx]=ZP(er,65536),!0}(q))u1=Kc(q,f,g);else if(NR(q,32768))u1=Lo([Kc(q),Gr],1,f,g);else if(NR(q,65536))u1=Lo([Kc(q),M],1,f,g);else{if(!py(q))return ae;var M1=function(A1){for(var lx=Yb(A1),Vx=[],ye=0;ye<lx;ye++){for(var Ue=A1.slice(),Ge=ye,er=A1.length-1;er>=0;er--)if(1048576&A1[er].flags){var Ar=A1[er].types,vr=Ar.length;Ue[er]=Ar[Ge%vr],Ge=Math.floor(Ge/vr)}var Yt=Kc(Ue);131072&Yt.flags||Vx.push(Yt)}return Vx}(q);u1=Lo(M1,1,f,g,e.some(M1,function(A1){return!!(2097152&A1.flags)})?Jy(2097152,q):void 0)}else u1=function(A1,lx,Vx){var ye=Ae(2097152);return ye.objectFlags=bC(A1,98304),ye.types=A1,ye.aliasSymbol=lx,ye.aliasTypeArguments=Vx,ye}(q,f,g);Gt.set(T0,u1)}return u1}function Yb(r){return e.reduceLeft(r,function(f,g){return 1048576&g.flags?f*g.types.length:131072&g.flags?0:f},1)}function py(r){var f=Yb(r);return!(f>=1e5)||(e.tracing===null||e.tracing===void 0||e.tracing.instant(\"checkTypes\",\"checkCrossProductUnion_DepthLimit\",{typeIds:r.map(function(g){return g.id}),size:f}),ht(k1,e.Diagnostics.Expression_produces_a_union_type_that_is_too_complex_to_represent),!1)}function FC(r,f){var g=Ae(4194304);return g.type=r,g.stringsOnly=f,g}function xI(r,f,g){return xo(r,eI(f.mapper,v2(f),g))}function aM(r){return!(!r||!(16777216&r.flags&&(!r.root.isDistributive||aM(r.checkType))||137363456&r.flags&&e.some(r.types,aM)||272629760&r.flags&&aM(r.type)||8388608&r.flags&&aM(r.indexType)||33554432&r.flags&&aM(r.substitute)))}function Rk(r){return e.isPrivateIdentifier(r)?Mn:e.isIdentifier(r)?sf(e.unescapeLeadingUnderscores(r.escapedText)):Kp(e.isComputedPropertyName(r)?Tm(r):Js(r))}function OO(r,f){if(!(24&e.getDeclarationModifierFlagsFromSymbol(r))){var g=Zo(Ky(r)).nameType;if(!g)if(r.escapedName===\"default\")g=sf(\"default\");else{var E=r.valueDeclaration&&e.getNameOfDeclaration(r.valueDeclaration);g=E&&Rk(E)||(e.isKnownSymbol(r)?void 0:sf(e.symbolName(r)))}if(g&&g.flags&f)return g}return Mn}function zI(r,f,g){var E=g&&(7&e.getObjectFlags(r)||r.aliasSymbol)?function(F){var q=kt(4194304);return q.type=F,q}(r):void 0;return Lo(e.map($c(r),function(F){return OO(F,f)}),1,void 0,void 0,E)}function Wg(r){var f=vC(r,1);return f!==Su?f:void 0}function Ck(r,f,g){f===void 0&&(f=Re);var E=f===Re&&!g;return 1048576&(r=Q2(r)).flags?Kc(e.map(r.types,function(F){return Ck(F,f,g)})):2097152&r.flags?Lo(e.map(r.types,function(F){return Ck(F,f,g)})):58982400&r.flags||Y6(r)||Sd(r)&&aM(UN(r))?function(F,q){return q?F.resolvedStringIndexType||(F.resolvedStringIndexType=FC(F,!0)):F.resolvedIndexType||(F.resolvedIndexType=FC(F,!1))}(r,f):32&e.getObjectFlags(r)?function(F,q){var T0=aA(Ep(F),function(A1){return!(q&&5&A1.flags)}),u1=F.declaration.nameType&&Dc(F.declaration.nameType),M1=u1&&Kk(T0,function(A1){return!!(131084&A1.flags)})&&$c(S4(VN(F)));return u1?Lo([rf(T0,function(A1){return xI(u1,F,A1)}),rf(Lo(e.map(M1||e.emptyArray,function(A1){return OO(A1,8576)})),function(A1){return xI(u1,F,A1)})]):T0}(r,g):r===xt?xt:2&r.flags?Mn:131073&r.flags?fa:f?!g&&vC(r,0)?l1:zI(r,128,E):!g&&vC(r,0)?Lo([l1,Hx,zI(r,8192,E)]):Wg(r)?Lo([Hx,zI(r,8320,E)]):zI(r,8576,E)}function Qb(r){if(Re)return r;var f=Jr||(Jr=Ym(\"Extract\",524288,e.Diagnostics.Cannot_find_global_type_0));return f?vP(f,[r,l1]):l1}function qg(r,f){var g=e.findIndex(f,function(M1){return!!(1179648&M1.flags)});if(g>=0)return py(f)?rf(f[g],function(M1){return qg(r,e.replaceElement(f,g,M1))}):ae;if(e.contains(f,xt))return xt;var E=[],F=[],q=r[0];if(!function M1(A1,lx){for(var Vx=0;Vx<lx.length;Vx++){var ye=lx[Vx];if(101248&ye.flags)q+=b3(ye)||\"\",q+=A1[Vx+1];else if(134217728&ye.flags){if(q+=ye.texts[0],!M1(ye.texts,ye.types))return!1;q+=A1[Vx+1]}else{if(!U9(ye)&&!Gy(ye))return!1;E.push(ye),F.push(q),q=A1[Vx+1]}}return!0}(r,f))return l1;if(E.length===0)return sf(q);if(F.push(q),e.every(F,function(M1){return M1===\"\"})&&e.every(E,function(M1){return!!(4&M1.flags)}))return l1;var T0=Ud(E)+\"|\"+e.map(F,function(M1){return M1.length}).join(\",\")+\"|\"+F.join(\"\"),u1=ii.get(T0);return u1||ii.set(T0,u1=function(M1,A1){var lx=Ae(134217728);return lx.texts=M1,lx.types=A1,lx}(F,E)),u1}function b3(r){return 128&r.flags?r.value:256&r.flags?\"\"+r.value:2048&r.flags?e.pseudoBigIntToString(r.value):98816&r.flags?r.intrinsicName:void 0}function _g(r,f){return 1179648&f.flags?rf(f,function(g){return _g(r,g)}):U9(f)?function(g,E){var F=f0(g)+\",\"+Mk(E),q=Tt.get(F);return q||Tt.set(F,q=function(T0,u1){var M1=Ae(268435456);return M1.symbol=T0,M1.type=u1,M1}(g,E)),q}(r,f):128&f.flags?sf(function(g,E){switch(H.get(g.escapedName)){case 0:return E.toUpperCase();case 1:return E.toLowerCase();case 2:return E.charAt(0).toUpperCase()+E.slice(1);case 3:return E.charAt(0).toLowerCase()+E.slice(1)}return E}(r,f.value)):f}function GB(r){if(Px)return!1;if(8192&e.getObjectFlags(r))return!0;if(1048576&r.flags)return e.every(r.types,GB);if(2097152&r.flags)return e.some(r.types,GB);if(465829888&r.flags){var f=w_(r);return f!==r&&GB(f)}return!1}function AC(r,f){return Pt(r)?_m(r):f&&e.isPropertyName(f)?e.getPropertyNameForPropertyNameNode(f):void 0}function N_(r,f){if(8208&f.flags){var g=e.findAncestor(r.parent,function(E){return!e.isAccessExpression(E)})||r.parent;return e.isCallLikeExpression(g)?e.isCallOrNewExpression(g)&&e.isIdentifier(r)&&UR(g,r):e.every(f.declarations,function(E){return!e.isFunctionLike(E)||!!(134217728&e.getCombinedNodeFlags(E))})}return!0}function WI(r,f,g,E,F,q,T0,u1,M1){var A1,lx=q&&q.kind===203?q:void 0,Vx=q&&e.isPrivateIdentifier(q)?void 0:AC(g,q);if(Vx!==void 0){var ye=ec(f,Vx);if(ye){if(M1&&q&&ye.declarations&&134217728&q_(ye)&&N_(q,ye)&&lp((A1=lx==null?void 0:lx.argumentExpression)!==null&&A1!==void 0?A1:e.isIndexedAccessTypeNode(q)?q.indexType:q,ye.declarations,Vx),lx){if(z9(ye,lx,aK(lx.expression,f.symbol)),xb(lx,ye,e.getAssignmentTargetKind(lx)))return void ht(lx.argumentExpression,e.Diagnostics.Cannot_assign_to_0_because_it_is_a_read_only_property,Is(ye));if(4&T0&&(Fo(q).resolvedSymbol=ye),yM(lx,ye))return qx}var Ue=Yo(ye);return lx&&e.getAssignmentTargetKind(lx)!==1?dh(lx,Ue):Ue}if(Kk(f,Vd)&&nd(Vx)&&+Vx>=0){if(q&&Kk(f,function(Qi){return!Qi.target.hasRestElement})&&!(8&T0)){var Ge=cN(q);Vd(f)?ht(Ge,e.Diagnostics.Tuple_type_0_of_length_1_has_no_element_at_index_2,ka(f),DP(f),e.unescapeLeadingUnderscores(Vx)):ht(Ge,e.Diagnostics.Property_0_does_not_exist_on_type_1,e.unescapeLeadingUnderscores(Vx),ka(f))}return Aa(vC(f,1)),rf(f,function(Qi){var Oa=U_(Qi)||Gr;return u1?Lo([Oa,Gr]):Oa})}}if(!(98304&g.flags)&&Q6(g,402665900)){if(131073&f.flags)return f;var er=vC(f,0),Ar=Q6(g,296)&&vC(f,1)||er;if(Ar)return 1&T0&&Ar===er?void(lx&&ht(lx,e.Diagnostics.Type_0_cannot_be_used_to_index_type_1,ka(g),ka(r))):q&&!Q6(g,12)?(ht(Ge=cN(q),e.Diagnostics.Type_0_cannot_be_used_as_an_index_type,ka(g)),u1?Lo([Ar.type,Gr]):Ar.type):(Aa(Ar),u1?Lo([Ar.type,Gr]):Ar.type);if(131072&g.flags)return Mn;if(GB(f))return E1;if(lx&&!Ay(f)){if(xh(f)){if(Px&&384&g.flags)return Ku.add(e.createDiagnosticForNode(lx,e.Diagnostics.Property_0_does_not_exist_on_type_1,g.value,ka(f))),Gr;if(12&g.flags){var vr=e.map(f.properties,function(Qi){return Yo(Qi)});return Lo(e.append(vr,Gr))}}if(f.symbol===xr&&Vx!==void 0&&xr.exports.has(Vx)&&418&xr.exports.get(Vx).flags)ht(lx,e.Diagnostics.Property_0_does_not_exist_on_type_1,e.unescapeLeadingUnderscores(Vx),ka(f));else if(Px&&!V1.suppressImplicitAnyIndexErrors&&!F)if(Vx!==void 0&&hD(Vx,f)){var Yt=ka(f);ht(lx,e.Diagnostics.Property_0_does_not_exist_on_type_1_Did_you_mean_to_access_the_static_member_2_instead,Vx,Yt,Yt+\"[\"+e.getTextOfNode(lx.argumentExpression)+\"]\")}else if(Ff(f,1))ht(lx.argumentExpression,e.Diagnostics.Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number);else{var nn=void 0;if(Vx!==void 0&&(nn=mU(Vx,f)))nn!==void 0&&ht(lx.argumentExpression,e.Diagnostics.Property_0_does_not_exist_on_type_1_Did_you_mean_2,Vx,ka(f),nn);else{var Nn=function(Qi,Oa,Ra){function yn(zi){var Wo=j9(Qi,zi);if(Wo){var Ms=Nh(Yo(Wo));return!!Ms&&fw(Ms)>=1&&cc(Ra,p5(Ms,0))}return!1}var ti=e.isAssignmentTarget(Oa)?\"set\":\"get\";if(!!yn(ti)){var Gi=e.tryGetPropertyAccessOrIdentifierToString(Oa.expression);return Gi===void 0?Gi=ti:Gi+=\".\"+ti,Gi}}(f,lx,g);if(Nn!==void 0)ht(lx,e.Diagnostics.Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_Did_you_mean_to_call_1,ka(f),Nn);else{var Ei=void 0;if(1024&g.flags)Ei=e.chainDiagnosticMessages(void 0,e.Diagnostics.Property_0_does_not_exist_on_type_1,\"[\"+ka(g)+\"]\",ka(f));else if(8192&g.flags){var Ca=qA(g.symbol,lx);Ei=e.chainDiagnosticMessages(void 0,e.Diagnostics.Property_0_does_not_exist_on_type_1,\"[\"+Ca+\"]\",ka(f))}else 128&g.flags||256&g.flags?Ei=e.chainDiagnosticMessages(void 0,e.Diagnostics.Property_0_does_not_exist_on_type_1,g.value,ka(f)):12&g.flags&&(Ei=e.chainDiagnosticMessages(void 0,e.Diagnostics.No_index_signature_with_a_parameter_of_type_0_was_found_on_type_1,ka(g),ka(f)));Ei=e.chainDiagnosticMessages(Ei,e.Diagnostics.Element_implicitly_has_an_any_type_because_expression_of_type_0_can_t_be_used_to_index_type_1,ka(E),ka(f)),Ku.add(e.createDiagnosticForNodeFromMessageChain(lx,Ei))}}}return}}if(GB(f))return E1;return q&&(Ge=cN(q),384&g.flags?ht(Ge,e.Diagnostics.Property_0_does_not_exist_on_type_1,\"\"+g.value,ka(f)):12&g.flags?ht(Ge,e.Diagnostics.Type_0_has_no_matching_index_signature_for_type_1,ka(f),ka(g)):ht(Ge,e.Diagnostics.Type_0_cannot_be_used_as_an_index_type,ka(g))),Vu(g)?g:void 0;function Aa(Qi){Qi&&Qi.isReadonly&&lx&&(e.isAssignmentTarget(lx)||e.isDeleteTarget(lx))&&ht(lx,e.Diagnostics.Index_signature_in_type_0_only_permits_reading,ka(f))}}function cN(r){return r.kind===203?r.argumentExpression:r.kind===190?r.indexType:r.kind===159?r.expression:r}function Gy(r){return!!(77&r.flags)}function ov(r){return!!(134217728&r.flags)&&e.every(r.types,Gy)}function Sh(r){return 3145728&r.flags?(4194304&r.objectFlags||(r.objectFlags|=4194304|(e.some(r.types,Sh)?8388608:0)),!!(8388608&r.objectFlags)):33554432&r.flags?(4194304&r.objectFlags||(r.objectFlags|=4194304|(Sh(r.substitute)||Sh(r.baseType)?8388608:0)),!!(8388608&r.objectFlags)):!!(58982400&r.flags)||Sd(r)||Y6(r)}function U9(r){return 3145728&r.flags?(16777216&r.objectFlags||(r.objectFlags|=16777216|(e.some(r.types,U9)?33554432:0)),!!(33554432&r.objectFlags)):33554432&r.flags?(16777216&r.objectFlags||(r.objectFlags|=16777216|(U9(r.substitute)||U9(r.baseType)?33554432:0)),!!(33554432&r.objectFlags)):!!(465829888&r.flags)&&!ov(r)}function XB(r){return!!(262144&r.flags&&r.isThisType)}function Dm(r,f){return 8388608&r.flags?function(g,E){var F=E?\"simplifiedForWriting\":\"simplifiedForReading\";if(g[F])return g[F]===Xl?g:g[F];g[F]=Xl;var q=Dm(g.objectType,E),T0=Dm(g.indexType,E),u1=function(lx,Vx,ye){if(1048576&Vx.flags){var Ue=e.map(Vx.types,function(Ge){return Dm(JT(lx,Ge),ye)});return ye?Kc(Ue):Lo(Ue)}}(q,T0,E);if(u1)return g[F]=u1;if(!(465829888&T0.flags)){var M1=tU(q,T0,E);if(M1)return g[F]=M1}if(Y6(q)&&296&T0.flags){var A1=UO(q,8&T0.flags?0:q.target.fixedLength,0,E);if(A1)return g[F]=A1}return Sd(q)?g[F]=rf(sv(q,g.indexType),function(lx){return Dm(lx,E)}):g[F]=g}(r,f):16777216&r.flags?function(g,E){var F=g.checkType,q=g.extendsType,T0=jk(g),u1=V9(g);if(131072&u1.flags&&r9(T0)===r9(F)){if(1&F.flags||cc(Th(F),Th(q)))return Dm(T0,E);if(gE(F,q))return Mn}else if(131072&T0.flags&&r9(u1)===r9(F)){if(!(1&F.flags)&&cc(Th(F),Th(q)))return Mn;if(1&F.flags||gE(F,q))return Dm(u1,E)}return g}(r,f):r}function tU(r,f,g){if(3145728&r.flags){var E=e.map(r.types,function(F){return Dm(JT(F,f),g)});return 2097152&r.flags||g?Kc(E):Lo(E)}}function gE(r,f){return!!(131072&Lo([Bb(r,f),Mn]).flags)}function sv(r,f){var g=yg([v2(r)],[f]),E=Jg(r.mapper,g);return xo(Y2(r),E)}function JT(r,f,g,E,F,q,T0){return T0===void 0&&(T0=0),vm(r,f,g,E,T0,F,q)||(E?ae:ut)}function rU(r,f){return Kk(r,function(g){if(384&g.flags){var E=_m(g);if(nd(E)){var F=+E;return F>=0&&F<f}}return!1})}function vm(r,f,g,E,F,q,T0){if(F===void 0&&(F=0),r===xt||f===xt)return xt;var u1=g||!!V1.noUncheckedIndexedAccess&&(18&F)==16;if(!NC(r)||98304&f.flags||!Q6(f,12)||(f=l1),U9(f)||(E&&E.kind!==190?Y6(r)&&!rU(f,r.target.fixedLength):Sh(r)&&(!Vd(r)||!rU(f,r.target.fixedLength)))){if(3&r.flags)return r;var M1=r.id+\",\"+f.id+(u1?\"?\":\"\")+Kg(q,T0),A1=en.get(M1);return A1||en.set(M1,A1=function(Ar,vr,Yt,nn,Nn){var Ei=Ae(8388608);return Ei.objectType=Ar,Ei.indexType=vr,Ei.aliasSymbol=Yt,Ei.aliasTypeArguments=nn,Ei.noUncheckedIndexedAccessCandidate=Nn,Ei}(r,f,q,T0,u1)),A1}var lx=VB(r);if(1048576&f.flags&&!(16&f.flags)){for(var Vx=[],ye=!1,Ue=0,Ge=f.types;Ue<Ge.length;Ue++){var er=WI(r,lx,Ge[Ue],f,ye,E,F,u1);if(er)Vx.push(er);else{if(!E)return;ye=!0}}return ye?void 0:2&F?Kc(Vx,q,T0):Lo(Vx,1,q,T0)}return WI(r,lx,f,f,!1,E,4|F,u1,!0)}function Zb(r){var f=Fo(r);if(!f.resolvedType){var g=Dc(r.objectType),E=Dc(r.indexType),F=Fh(r),q=JT(g,E,void 0,r,F,$9(F));f.resolvedType=8388608&q.flags&&q.objectType===g&&q.indexType===E?Wb(q,r):q}return f.resolvedType}function y9(r){var f=Fo(r);if(!f.resolvedType){var g=Ci(32,r.symbol);g.declaration=r,g.aliasSymbol=Fh(r),g.aliasTypeArguments=$9(g.aliasSymbol),f.resolvedType=g,Ep(g)}return f.resolvedType}function r9(r){return 33554432&r.flags?r.baseType:8388608&r.flags&&(33554432&r.objectType.flags||33554432&r.indexType.flags)?JT(r9(r.objectType),r9(r.indexType)):r}function QE(r){return!r.isDistributive&&r.node.checkType.kind===180&&e.length(r.node.checkType.elements)===1&&r.node.extendsType.kind===180&&e.length(r.node.extendsType.elements)===1}function x7(r,f){return QE(r)&&Vd(f)?Cc(f)[0]:f}function dy(r,f,g,E){for(var F,q;;){var T0=QE(r),u1=xo(x7(r,r9(r.checkType)),f),M1=Sh(u1)||U9(u1),A1=xo(x7(r,r.extendsType),f);if(u1===xt||A1===xt)return xt;var lx=void 0;if(r.inferTypeParameters){var Vx=D9(r.inferTypeParameters,void 0,0);M1||nk(Vx.inferences,u1,A1,1536),lx=f?Jg(Vx.mapper,f):Vx.mapper}var ye=lx?xo(x7(r,r.extendsType),lx):A1;if(!M1&&!Sh(ye)&&!U9(ye)){if(!(3&ye.flags)&&(1&u1.flags&&!T0||!cc(S3(u1),S3(ye)))){1&u1.flags&&!T0&&(q||(q=[])).push(xo(Dc(r.node.trueType),lx||f));var Ue=Dc(r.node.falseType);if(16777216&Ue.flags){var Ge=Ue.root;if(Ge.node.parent===r.node&&(!Ge.isDistributive||Ge.checkType===r.checkType)){r=Ge;continue}}F=xo(Ue,f);break}if(3&ye.flags||cc(Th(u1),Th(ye))){F=xo(Dc(r.node.trueType),lx||f);break}}(F=Ae(16777216)).root=r,F.checkType=xo(r.checkType,f),F.extendsType=xo(r.extendsType,f),F.mapper=f,F.combinedMapper=lx,F.aliasSymbol=g||r.aliasSymbol,F.aliasTypeArguments=g?E:em(r.aliasTypeArguments,f);break}return q?Lo(e.append(q,F)):F}function jk(r){return r.resolvedTrueType||(r.resolvedTrueType=xo(Dc(r.root.node.trueType),r.mapper))}function V9(r){return r.resolvedFalseType||(r.resolvedFalseType=xo(Dc(r.root.node.falseType),r.mapper))}function H$(r){var f;return r.locals&&r.locals.forEach(function(g){262144&g.flags&&(f=e.append(f,Il(g)))}),f}function _E(r){return e.isIdentifier(r)?[r]:e.append(_E(r.left),r.right)}function BO(r){var f=Fo(r);if(!f.resolvedType){if(r.isTypeOf&&r.typeArguments)return ht(r,e.Diagnostics.Type_arguments_cannot_be_used_here),f.resolvedSymbol=W1,f.resolvedType=ae;if(!e.isLiteralImportTypeNode(r))return ht(r.argument,e.Diagnostics.String_literal_expected),f.resolvedSymbol=W1,f.resolvedType=ae;var g=r.isTypeOf?111551:4194304&r.flags?900095:788968,E=f5(r,r.argument.literal);if(!E)return f.resolvedSymbol=W1,f.resolvedType=ae;var F=jd(E,!1);if(e.nodeIsMissing(r.qualifier))F.flags&g?f.resolvedType=e7(r,f,F,g):(ht(r,g===111551?e.Diagnostics.Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here:e.Diagnostics.Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0,r.argument.literal.text),f.resolvedSymbol=W1,f.resolvedType=ae);else{for(var q=_E(r.qualifier),T0=F,u1=void 0;u1=q.shift();){var M1=q.length?1920:g,A1=Xc(Zr(T0)),lx=r.isTypeOf?ec(Yo(A1),u1.escapedText):ed(Sw(A1),u1.escapedText,M1);if(!lx)return ht(u1,e.Diagnostics.Namespace_0_has_no_exported_member_1,qA(T0),e.declarationNameToString(u1)),f.resolvedType=ae;Fo(u1).resolvedSymbol=lx,Fo(u1.parent).resolvedSymbol=lx,T0=lx}f.resolvedType=e7(r,f,T0,g)}}return f.resolvedType}function e7(r,f,g,E){var F=Zr(g);return f.resolvedSymbol=F,E===111551?Yo(g):qy(r,F)}function t7(r){var f=Fo(r);if(!f.resolvedType){var g=Fh(r);if(si(r.symbol).size!==0||g){var E=Ci(16,r.symbol);E.aliasSymbol=g,E.aliasTypeArguments=$9(g),e.isJSDocTypeLiteral(r)&&r.isArrayType&&(E=zf(E)),f.resolvedType=E}else f.resolvedType=Cf}return f.resolvedType}function Fh(r){for(var f=r.parent;e.isParenthesizedTypeNode(f)||e.isJSDocTypeExpression(f)||e.isTypeOperatorNode(f)&&f.operator===142;)f=f.parent;return e.isTypeAlias(f)?ms(f):void 0}function $9(r){return r?R9(r):void 0}function Xy(r){return!!(524288&r.flags)&&!Sd(r)}function uv(r){return lh(r)||!!(474058748&r.flags)}function yE(r,f){if(e.every(r.types,uv))return e.find(r.types,lh)||qs;var g=e.find(r.types,function(E){return!uv(E)});if(g&&!(g&&e.find(r.types,function(E){return E!==g&&!uv(E)})))return function(E){for(var F=e.createSymbolTable(),q=0,T0=$c(E);q<T0.length;q++){var u1=T0[q];if(!(24&e.getDeclarationModifierFlagsFromSymbol(u1))){if(P_(u1)){var M1=65536&u1.flags&&!(32768&u1.flags),A1=f2(16777220,u1.escapedName,Vg(u1)|(f?8:0));A1.type=M1?Gr:Lo([Yo(u1),Gr]),A1.declarations=u1.declarations,A1.nameType=Zo(u1).nameType,A1.syntheticOrigin=u1,F.set(u1.escapedName,A1)}}}var lx=yo(E.symbol,F,e.emptyArray,e.emptyArray,vC(E,0),vC(E,1));return lx.objectFlags|=262272,lx}(g)}function Qm(r,f,g,E,F){if(1&r.flags||1&f.flags)return E1;if(2&r.flags||2&f.flags)return ut;if(131072&r.flags)return f;if(131072&f.flags)return r;var q;if(1048576&r.flags)return(q=yE(r,F))?Qm(q,f,g,E,F):py([r,f])?rf(r,function(Ca){return Qm(Ca,f,g,E,F)}):ae;if(1048576&f.flags)return(q=yE(f,F))?Qm(r,q,g,E,F):py([r,f])?rf(f,function(Ca){return Qm(r,Ca,g,E,F)}):ae;if(473960444&f.flags)return r;if(Sh(r)||Sh(f)){if(lh(r))return f;if(2097152&r.flags){var T0=r.types,u1=T0[T0.length-1];if(Xy(u1)&&Xy(f))return Kc(e.concatenate(T0.slice(0,T0.length-1),[Qm(u1,f,g,E,F)]))}return Kc([r,f])}var M1,A1,lx=e.createSymbolTable(),Vx=new e.Set;r===qs?(M1=vC(f,0),A1=vC(f,1)):(M1=Mb(vC(r,0),vC(f,0)),A1=Mb(vC(r,1),vC(f,1)));for(var ye=0,Ue=$c(f);ye<Ue.length;ye++){var Ge=Ue[ye];24&e.getDeclarationModifierFlagsFromSymbol(Ge)?Vx.add(Ge.escapedName):P_(Ge)&&lx.set(Ge.escapedName,cv(Ge,F))}for(var er=0,Ar=$c(r);er<Ar.length;er++){var vr=Ar[er];if(!Vx.has(vr.escapedName)&&P_(vr))if(lx.has(vr.escapedName)){var Yt=Yo(Ge=lx.get(vr.escapedName));if(16777216&Ge.flags){var nn=e.concatenate(vr.declarations,Ge.declarations),Nn=f2(4|16777216&vr.flags,vr.escapedName);Nn.type=Lo([Yo(vr),KS(Yt,524288)]),Nn.leftSpread=vr,Nn.rightSpread=Ge,Nn.declarations=nn,Nn.nameType=Zo(vr).nameType,lx.set(vr.escapedName,Nn)}}else lx.set(vr.escapedName,cv(vr,F))}var Ei=yo(g,lx,e.emptyArray,e.emptyArray,DE(M1,F),DE(A1,F));return Ei.objectFlags|=4456576|E,Ei}function P_(r){var f;return!(e.some(r.declarations,e.isPrivateIdentifierClassElementDeclaration)||106496&r.flags&&((f=r.declarations)===null||f===void 0?void 0:f.some(function(g){return e.isClassLike(g.parent)})))}function cv(r,f){var g=65536&r.flags&&!(32768&r.flags);if(!g&&f===j2(r))return r;var E=f2(4|16777216&r.flags,r.escapedName,Vg(r)|(f?8:0));return E.type=g?Gr:Yo(r),E.declarations=r.declarations,E.nameType=Zo(r).nameType,E.syntheticOrigin=r,E}function DE(r,f){return r&&r.isReadonly!==f?Fd(r.type,f,r.declaration):r}function r7(r,f,g){var E=Ae(r);return E.symbol=g,E.value=f,E}function qh(r){if(2944&r.flags){if(!r.freshType){var f=r7(r.flags,r.value,r.symbol);f.regularType=r,f.freshType=f,r.freshType=f}return r.freshType}return r}function Kp(r){return 2944&r.flags?r.regularType:1048576&r.flags?r.regularType||(r.regularType=rf(r,Kp)):r}function ch(r){return!!(2944&r.flags)&&r.freshType===r}function sf(r,f,g){var E=(f||\"\")+(typeof r==\"number\"?\"#\":typeof r==\"string\"?\"@\":\"n\")+(typeof r==\"object\"?e.pseudoBigIntToString(r):r),F=lr.get(E);if(!F){var q=(typeof r==\"number\"?256:typeof r==\"string\"?128:2048)|(f?1024:0);lr.set(E,F=r7(q,r,g)),F.regularType=F}return F}function nU(r){if(e.isValidESSymbolDeclaration(r)){var f=ms(r),g=Zo(f);return g.uniqueESSymbolType||(g.uniqueESSymbolType=function(E){var F=Ae(8192);return F.symbol=E,F.escapedName=\"__@\"+F.symbol.escapedName+\"@\"+f0(F.symbol),F}(f))}return _t}function C3(r){var f=Fo(r);return f.resolvedType||(f.resolvedType=function(g){var E=e.getThisContainer(g,!1),F=E&&E.parent;if(F&&(e.isClassLike(F)||F.kind===254)&&!e.hasSyntacticModifier(E,32)&&(!e.isConstructorDeclaration(E)||e.isNodeDescendantOf(g,E.body)))return Ed(ms(F)).thisType;if(F&&e.isObjectLiteralExpression(F)&&e.isBinaryExpression(F.parent)&&e.getAssignmentDeclarationKind(F.parent)===6)return Ed(ms(F.parent.left).parent).thisType;var q=4194304&g.flags?e.getHostSignatureFromJSDoc(g):void 0;return q&&e.isFunctionExpression(q)&&e.isBinaryExpression(q.parent)&&e.getAssignmentDeclarationKind(q.parent)===3?Ed(ms(q.parent.left).parent).thisType:am(E)&&e.isNodeDescendantOf(g,E.body)?Ed(ms(E)).thisType:(ht(g,e.Diagnostics.A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface),ae)}(r)),f.resolvedType}function n7(r){return Dc(E3(r.type)||r.type)}function E3(r){switch(r.kind){case 187:return E3(r.type);case 180:if(r.elements.length===1&&((r=r.elements[0]).kind===182||r.kind===193&&r.dotDotDotToken))return E3(r.type);break;case 179:return r.elementType}}function Dc(r){return Wb(lv(r),r)}function lv(r){switch(r.kind){case 128:case 304:case 305:return E1;case 152:return ut;case 147:return l1;case 144:return Hx;case 155:return ge;case 131:return rn;case 148:return _t;case 113:return Ii;case 150:return Gr;case 103:return M;case 141:return Mn;case 145:return 131072&r.flags&&!Px?E1:Fn;case 136:return or;case 188:case 107:return C3(r);case 192:return function(g){if(g.literal.kind===103)return M;var E=Fo(g);return E.resolvedType||(E.resolvedType=Kp(Js(g.literal))),E.resolvedType}(r);case 174:return av(r);case 173:return r.assertsModifier?Ii:rn;case 224:return av(r);case 177:return pE(r);case 179:case 180:return function(g){var E=Fo(g);if(!E.resolvedType){var F=YE(g);if(F===rc)E.resolvedType=qs;else if(g.kind===180&&e.some(g.elements,function(T0){return!!(8&SC(T0))})||!Fz(g)){var q=g.kind===179?[Dc(g.elementType)]:e.map(g.elements,Dc);E.resolvedType=WB(F,q)}else E.resolvedType=g.kind===180&&g.elements.length===0?F:J$(F,g,void 0)}return E.resolvedType}(r);case 181:return function(g){var E=Dc(g.type);return C1?nm(E):E}(r);case 183:return function(g){var E=Fo(g);if(!E.resolvedType){var F=Fh(g);E.resolvedType=Lo(e.map(g.types,Dc),1,F,$9(F))}return E.resolvedType}(r);case 184:return function(g){var E=Fo(g);if(!E.resolvedType){var F=Fh(g);E.resolvedType=Kc(e.map(g.types,Dc),F,$9(F))}return E.resolvedType}(r);case 306:return function(g){var E=Dc(g.type);return C1?$_(E,65536):E}(r);case 308:return Of(Dc(r.type));case 193:return function(g){var E=Fo(g);return E.resolvedType||(E.resolvedType=g.dotDotDotToken?n7(g):g.questionToken&&C1?nm(Dc(g.type)):Dc(g.type))}(r);case 187:case 307:case 302:return Dc(r.type);case 182:return n7(r);case 310:return function(g){var E=Dc(g.type),F=g.parent,q=g.parent.parent;if(e.isJSDocTypeExpression(g.parent)&&e.isJSDocParameterTag(q)){var T0=e.getHostSignatureFromJSDoc(q),u1=e.isJSDocCallbackTag(q.parent.parent);if(T0||u1){var M1=u1?e.lastOrUndefined(q.parent.parent.typeExpression.parameters):e.lastOrUndefined(T0.parameters),A1=e.getParameterSymbolFromJSDoc(q);if(!M1||A1&&M1.symbol===A1&&e.isRestParameter(M1))return zf(E)}}return e.isParameter(F)&&e.isJSDocFunctionType(F.parent)?zf(E):Of(E)}(r);case 175:case 176:case 178:case 314:case 309:case 315:return t7(r);case 189:return function(g){var E=Fo(g);if(!E.resolvedType)switch(g.operator){case 138:E.resolvedType=Ck(Dc(g.type));break;case 151:E.resolvedType=g.type.kind===148?nU(e.walkUpParenthesizedTypes(g.parent)):ae;break;case 142:E.resolvedType=Dc(g.type);break;default:throw e.Debug.assertNever(g.operator)}return E.resolvedType}(r);case 190:return Zb(r);case 191:return y9(r);case 185:return function(g){var E=Fo(g);if(!E.resolvedType){var F=Dc(g.checkType),q=Fh(g),T0=$9(q),u1=pg(g,!0),M1=T0?u1:e.filter(u1,function(lx){return I_(lx,g)}),A1={node:g,checkType:F,extendsType:Dc(g.extendsType),isDistributive:!!(262144&F.flags),inferTypeParameters:H$(g),outerTypeParameters:M1,instantiations:void 0,aliasSymbol:q,aliasTypeArguments:T0};E.resolvedType=dy(A1,void 0),M1&&(A1.instantiations=new e.Map,A1.instantiations.set(Ud(M1),E.resolvedType))}return E.resolvedType}(r);case 186:return function(g){var E=Fo(g);return E.resolvedType||(E.resolvedType=XP(ms(g.typeParameter))),E.resolvedType}(r);case 194:return function(g){var E=Fo(g);return E.resolvedType||(E.resolvedType=qg(D([g.head.text],e.map(g.templateSpans,function(F){return F.literal.text})),e.map(g.templateSpans,function(F){return Dc(F.type)}))),E.resolvedType}(r);case 196:return BO(r);case 78:case 158:case 202:var f=Ce(r);return f?Il(f):ae;default:return ae}}function YB(r,f,g){if(r&&r.length)for(var E=0;E<r.length;E++){var F=r[E],q=g(F,f);if(F!==q){var T0=E===0?[]:r.slice(0,E);for(T0.push(q),E++;E<r.length;E++)T0.push(g(r[E],f));return T0}}return r}function em(r,f){return YB(r,f,xo)}function LO(r,f){return YB(r,f,vg)}function yg(r,f){return r.length===1?Dg(r[0],f?f[0]:E1):function(g,E){return{kind:1,sources:g,targets:E}}(r,f)}function Lm(r,f){switch(f.kind){case 0:return r===f.source?f.target:r;case 1:for(var g=f.sources,E=f.targets,F=0;F<g.length;F++)if(r===g[F])return E?E[F]:E1;return r;case 2:return f.func(r);case 3:case 4:var q=Lm(r,f.mapper1);return q!==r&&f.kind===3?xo(q,f.mapper2):Lm(q,f.mapper2)}}function Dg(r,f){return{kind:0,source:r,target:f}}function Zm(r){return{kind:2,func:r}}function Yy(r,f,g){return{kind:r,mapper1:f,mapper2:g}}function TC(r){return yg(r,void 0)}function Jg(r,f){return r?Yy(3,r,f):f}function Ah(r,f,g){return g?Yy(4,Dg(r,f),g):Dg(r,f)}function eI(r,f,g){return r?Yy(4,r,Dg(f,g)):Dg(f,g)}function fv(r){var f=$i(r.symbol);return f.target=r,f}function vg(r,f,g){var E;if(r.typeParameters&&!g){E=e.map(r.typeParameters,fv),f=Jg(yg(r.typeParameters,E),f);for(var F=0,q=E;F<q.length;F++)q[F].mapper=f}var T0=Hm(r.declaration,E,r.thisParameter&&PR(r.thisParameter,f),YB(r.parameters,f,PR),void 0,void 0,r.minArgumentCount,39&r.flags);return T0.target=r,T0.mapper=f,T0}function PR(r,f){var g=Zo(r);if(g.type&&!MR(g.type))return r;1&e.getCheckFlags(r)&&(r=g.target,f=Jg(g.mapper,f));var E=f2(r.flags,r.escapedName,1|53256&e.getCheckFlags(r));return E.declarations=r.declarations,E.parent=r.parent,E.target=r,E.mapper=f,r.valueDeclaration&&(E.valueDeclaration=r.valueDeclaration),g.nameType&&(E.nameType=g.nameType),E}function I_(r,f){if(r.symbol&&r.symbol.declarations&&r.symbol.declarations.length===1){for(var g=r.symbol.declarations[0].parent,E=f;E!==g;E=E.parent)if(!E||E.kind===231||E.kind===185&&e.forEachChild(E.extendsType,F))return!0;return F(f)}return!0;function F(q){switch(q.kind){case 188:return!!r.isThisType;case 78:return!r.isThisType&&e.isPartOfTypeNode(q)&&function(T0){return!(T0.parent.kind===174&&T0.parent.typeArguments&&T0===T0.parent.typeName||T0.parent.kind===196&&T0.parent.typeArguments&&T0===T0.parent.qualifier)}(q)&&lv(q)===r;case 177:return!0;case 166:case 165:return!q.type&&!!q.body||e.some(q.typeParameters,F)||e.some(q.parameters,F)||!!q.type&&F(q.type)}return!!e.forEachChild(q,F)}}function MO(r){var f=Ep(r);if(4194304&f.flags){var g=r9(f.type);if(262144&g.flags)return g}}function O_(r,f,g,E){var F=MO(r);if(F){var q=xo(F,f);if(F!==q)return FE(Q2(q),function(T0){if(61603843&T0.flags&&T0!==xt&&T0!==ae){if(!r.declaration.nameType){if(NA(T0))return function(u1,M1,A1){var lx=B_(M1,Hx,!0,A1);return lx===ae?ae:zf(lx,pv(qI(u1),B2(M1)))}(T0,r,Ah(F,T0,f));if(Y6(T0))return function(u1,M1,A1,lx){var Vx=u1.target.elementFlags,ye=e.map(Cc(u1),function(Ge,er){var Ar=8&Vx[er]?Ge:4&Vx[er]?zf(Ge):ek([Ge],[Vx[er]]);return O_(M1,Ah(A1,Ar,lx))}),Ue=pv(u1.target.readonly,B2(M1));return ek(ye,e.map(ye,function(Ge){return 8}),Ue)}(T0,r,F,f);if(Vd(T0))return function(u1,M1,A1){var lx=u1.target.elementFlags,Vx=e.map(Cc(u1),function(er,Ar){return B_(M1,sf(\"\"+Ar),!!(2&lx[Ar]),A1)}),ye=B2(M1),Ue=4&ye?e.map(lx,function(er){return 1&er?2:er}):8&ye?e.map(lx,function(er){return 2&er?1:er}):lx,Ge=pv(u1.target.readonly,ye);return e.contains(Vx,ae)?ae:ek(Vx,Ue,Ge,u1.target.labeledElementDeclarations)}(T0,r,Ah(F,T0,f))}return iU(r,Ah(F,T0,f))}return T0},g,E)}return xo(Ep(r),f)===xt?xt:iU(r,f,g,E)}function pv(r,f){return!!(1&f)||!(2&f)&&r}function B_(r,f,g,E){var F=eI(E,v2(r),f),q=xo(Y2(r.target||r),F),T0=B2(r);return C1&&4&T0&&!yl(q,49152)?nm(q):C1&&8&T0&&g?KS(q,524288):q}function iU(r,f,g,E){var F=Ci(64|r.objectFlags,r.symbol);if(32&r.objectFlags){F.declaration=r.declaration;var q=v2(r),T0=fv(q);F.typeParameter=T0,f=Jg(Dg(q,T0),f),T0.mapper=f}return F.target=r,F.mapper=f,F.aliasSymbol=g||r.aliasSymbol,F.aliasTypeArguments=g?E:em(r.aliasTypeArguments,f),F}function oM(r,f,g,E){var F=r.root;if(F.outerTypeParameters){var q=e.map(F.outerTypeParameters,function(M1){return Lm(M1,f)}),T0=Ud(q)+Kg(g,E),u1=F.instantiations.get(T0);return u1||(u1=function(M1,A1,lx,Vx){if(M1.isDistributive){var ye=M1.checkType,Ue=Lm(ye,A1);if(ye!==Ue&&1179648&Ue.flags)return FE(Ue,function(Ge){return dy(M1,Ah(ye,Ge,A1))},lx,Vx)}return dy(M1,A1,lx,Vx)}(F,yg(F.outerTypeParameters,q),g,E),F.instantiations.set(T0,u1)),u1}return r}function xo(r,f){return r&&f?dv(r,f,void 0,void 0):r}function dv(r,f,g,E){if(!MR(r))return r;if(p1===50||p0>=5e6)return e.tracing===null||e.tracing===void 0||e.tracing.instant(\"checkTypes\",\"instantiateType_DepthLimit\",{typeId:r.id,instantiationDepth:p1,instantiationCount:p0}),ht(k1,e.Diagnostics.Type_instantiation_is_excessively_deep_and_possibly_infinite),ae;U0++,p0++,p1++;var F=function(q,T0,u1,M1){var A1=q.flags;if(262144&A1)return Lm(q,T0);if(524288&A1){var lx=q.objectFlags;if(52&lx){if(4&lx&&!q.node){var Vx=q.resolvedTypeArguments,ye=em(Vx,T0);return ye!==Vx?WB(q.target,ye):q}return 1024&lx?function(Nn,Ei){var Ca=xo(Nn.mappedType,Ei);if(!(32&e.getObjectFlags(Ca)))return Nn;var Aa=xo(Nn.constraintType,Ei);if(!(4194304&Aa.flags))return Nn;var Qi=RR(xo(Nn.source,Ei),Ca,Aa);return Qi||Nn}(q,T0):function(Nn,Ei,Ca,Aa){var Qi=4&Nn.objectFlags?Nn.node:Nn.symbol.declarations[0],Oa=Fo(Qi),Ra=4&Nn.objectFlags?Oa.resolvedType:64&Nn.objectFlags?Nn.target:Nn,yn=Oa.outerTypeParameters;if(!yn){var ti=pg(Qi,!0);if(am(Qi)){var Gi=$b(Qi);ti=e.addRange(ti,Gi)}yn=ti||e.emptyArray;var zi=4&Nn.objectFlags?[Qi]:Nn.symbol.declarations;yn=(4&Ra.objectFlags||8192&Ra.symbol.flags||2048&Ra.symbol.flags)&&!Ra.aliasTypeArguments?e.filter(yn,function(fr){return e.some(zi,function(rt){return I_(fr,rt)})}):yn,Oa.outerTypeParameters=yn}if(yn.length){var Wo=Jg(Nn.mapper,Ei),Ms=e.map(yn,function(fr){return Lm(fr,Wo)}),Et=Ca||Nn.aliasSymbol,wt=Ca?Aa:em(Nn.aliasTypeArguments,Ei),da=Ud(Ms)+Kg(Et,wt);Ra.instantiations||(Ra.instantiations=new e.Map,Ra.instantiations.set(Ud(yn)+Kg(Ra.aliasSymbol,Ra.aliasTypeArguments),Ra));var Ya=Ra.instantiations.get(da);if(!Ya){var Da=yg(yn,Ms);Ya=4&Ra.objectFlags?J$(Nn.target,Nn.node,Da,Et,wt):32&Ra.objectFlags?O_(Ra,Da,Et,wt):iU(Ra,Da,Et,wt),Ra.instantiations.set(da,Ya)}return Ya}return Nn}(q,T0,u1,M1)}return q}if(3145728&A1){var Ue=1048576&q.flags?q.origin:void 0,Ge=Ue&&3145728&Ue.flags?Ue.types:q.types,er=em(Ge,T0);if(er===Ge&&u1===q.aliasSymbol)return q;var Ar=u1||q.aliasSymbol,vr=u1?M1:em(q.aliasTypeArguments,T0);return 2097152&A1||Ue&&2097152&Ue.flags?Kc(er,Ar,vr):Lo(er,1,Ar,vr)}if(4194304&A1)return Ck(xo(q.type,T0));if(134217728&A1)return qg(q.texts,em(q.types,T0));if(268435456&A1)return _g(q.symbol,xo(q.type,T0));if(8388608&A1)return Ar=u1||q.aliasSymbol,vr=u1?M1:em(q.aliasTypeArguments,T0),JT(xo(q.objectType,T0),xo(q.indexType,T0),q.noUncheckedIndexedAccessCandidate,void 0,Ar,vr);if(16777216&A1)return oM(q,Jg(q.mapper,T0),u1,M1);if(33554432&A1){var Yt=xo(q.baseType,T0);if(8650752&Yt.flags)return AR(Yt,xo(q.substitute,T0));var nn=xo(q.substitute,T0);return 3&nn.flags||cc(Th(Yt),Th(nn))?Yt:nn}return q}(r,f,g,E);return p1--,F}function S3(r){return 262143&r.flags?r:r.permissiveInstantiation||(r.permissiveInstantiation=xo(r,Us))}function Th(r){return 262143&r.flags?r:(r.restrictiveInstantiation||(r.restrictiveInstantiation=xo(r,co),r.restrictiveInstantiation.restrictiveInstantiation=r.restrictiveInstantiation),r.restrictiveInstantiation)}function RO(r,f){return r&&Fd(xo(r.type,f),r.isReadonly,r.declaration)}function Ek(r){switch(e.Debug.assert(r.kind!==166||e.isObjectLiteralMethod(r)),r.kind){case 209:case 210:case 166:case 252:return wV(r);case 201:return e.some(r.properties,Ek);case 200:return e.some(r.elements,Ek);case 218:return Ek(r.whenTrue)||Ek(r.whenFalse);case 217:return(r.operatorToken.kind===56||r.operatorToken.kind===60)&&(Ek(r.left)||Ek(r.right));case 289:return Ek(r.initializer);case 208:return Ek(r.expression);case 282:return e.some(r.properties,Ek)||e.isJsxOpeningElement(r.parent)&&e.some(r.parent.parent.children,Ek);case 281:var f=r.initializer;return!!f&&Ek(f);case 284:var g=r.expression;return!!g&&Ek(g)}return!1}function wV(r){return(!e.isFunctionDeclaration(r)||e.isInJSFile(r)&&!!mp(r))&&(wC(r)||function(f){return!f.typeParameters&&!e.getEffectiveReturnTypeNode(f)&&!!f.body&&f.body.kind!==231&&Ek(f.body)}(r))}function wC(r){if(!r.typeParameters){if(e.some(r.parameters,function(g){return!e.getEffectiveTypeAnnotationNode(g)}))return!0;if(r.kind!==210){var f=e.firstOrUndefined(r.parameters);if(!f||!e.parameterIsThisKeyword(f))return!0}}return!1}function Qy(r){return(e.isInJSFile(r)&&e.isFunctionDeclaration(r)||Sg(r)||e.isObjectLiteralMethod(r))&&wV(r)}function G$(r){if(524288&r.flags){var f=b2(r);if(f.constructSignatures.length||f.callSignatures.length){var g=Ci(16,r.symbol);return g.members=f.members,g.properties=f.properties,g.callSignatures=e.emptyArray,g.constructSignatures=e.emptyArray,g}}else if(2097152&r.flags)return Kc(e.map(r.types,G$));return r}function tm(r,f){return rd(r,f,qa)}function L_(r,f){return rd(r,f,qa)?-1:0}function X$(r,f){return rd(r,f,Xn)?-1:0}function aU(r,f){return rd(r,f,it)?-1:0}function bm(r,f){return rd(r,f,it)}function cc(r,f){return rd(r,f,Xn)}function sM(r,f){return 1048576&r.flags?e.every(r.types,function(g){return sM(g,f)}):1048576&f.flags?e.some(f.types,function(g){return sM(r,g)}):58982400&r.flags?sM(wA(r)||ut,f):f===E4?!!(67633152&r.flags):f===Yl?!!(524288&r.flags)&&Nv(r):A_(r,wO(f))||NA(f)&&!qI(f)&&sM(r,pl)}function Hg(r,f){return rd(r,f,La)}function F3(r,f){return Hg(r,f)||Hg(f,r)}function Zd(r,f,g,E,F,q){return Ad(r,f,Xn,g,E,F,q)}function tk(r,f,g,E,F,q){return oU(r,f,Xn,g,E,F,q,void 0)}function oU(r,f,g,E,F,q,T0,u1){return!!rd(r,f,g)||(!E||!my(F,r,f,g,q,T0,u1))&&Ad(r,f,g,E,q,T0,u1)}function vE(r){return!!(16777216&r.flags||2097152&r.flags&&e.some(r.types,vE))}function my(r,f,g,E,F,q,T0){if(!r||vE(g))return!1;if(!Ad(f,g,E,void 0)&&function(u1,M1,A1,lx,Vx,ye,Ue){for(var Ge=_u(M1,0),er=_u(M1,1),Ar=0,vr=[er,Ge];Ar<vr.length;Ar++){var Yt=vr[Ar];if(e.some(Yt,function(Ei){var Ca=yc(Ei);return!(131073&Ca.flags)&&Ad(Ca,A1,lx,void 0)})){var nn=Ue||{};Zd(M1,A1,u1,Vx,ye,nn);var Nn=nn.errors[nn.errors.length-1];return e.addRelatedInfo(Nn,e.createDiagnosticForNode(u1,Yt===er?e.Diagnostics.Did_you_mean_to_use_new_with_this_expression:e.Diagnostics.Did_you_mean_to_call_this_expression)),!0}}return!1}(r,f,g,E,F,q,T0))return!0;switch(r.kind){case 284:case 208:return my(r.expression,f,g,E,F,q,T0);case 217:switch(r.operatorToken.kind){case 62:case 27:return my(r.right,f,g,E,F,q,T0)}break;case 201:return function(u1,M1,A1,lx,Vx,ye){return!(131068&A1.flags)&&M_(function(Ue){var Ge,er,Ar,vr;return j1(this,function(Yt){switch(Yt.label){case 0:if(!e.length(Ue.properties))return[2];Ge=0,er=Ue.properties,Yt.label=1;case 1:if(!(Ge<er.length))return[3,8];if(Ar=er[Ge],e.isSpreadAssignment(Ar))return[3,7];if(!(vr=OO(ms(Ar),8576))||131072&vr.flags)return[3,7];switch(Ar.kind){case 169:case 168:case 166:case 290:return[3,2];case 289:return[3,4]}return[3,6];case 2:return[4,{errorNode:Ar.name,innerExpression:void 0,nameType:vr}];case 3:return Yt.sent(),[3,7];case 4:return[4,{errorNode:Ar.name,innerExpression:Ar.initializer,nameType:vr,errorMessage:e.isComputedNonLiteralName(Ar.name)?e.Diagnostics.Type_of_computed_property_s_value_is_0_which_is_not_assignable_to_type_1:void 0}];case 5:return Yt.sent(),[3,7];case 6:e.Debug.assertNever(Ar),Yt.label=7;case 7:return Ge++,[3,1];case 8:return[2]}})}(u1),M1,A1,lx,Vx,ye)}(r,f,g,E,q,T0);case 200:return function(u1,M1,A1,lx,Vx,ye){if(131068&A1.flags)return!1;if(Gg(M1))return M_(i7(u1,A1),M1,A1,lx,Vx,ye);var Ue=u1.contextualType;u1.contextualType=A1;try{var Ge=th(u1,1,!0);return u1.contextualType=Ue,!!Gg(Ge)&&M_(i7(u1,A1),Ge,A1,lx,Vx,ye)}finally{u1.contextualType=Ue}}(r,f,g,E,q,T0);case 282:return function(u1,M1,A1,lx,Vx,ye){var Ue,Ge=M_(function(ti){var Gi,zi,Wo;return j1(this,function(Ms){switch(Ms.label){case 0:if(!e.length(ti.properties))return[2];Gi=0,zi=ti.properties,Ms.label=1;case 1:return Gi<zi.length?(Wo=zi[Gi],e.isJsxSpreadAttribute(Wo)?[3,3]:[4,{errorNode:Wo.name,innerExpression:Wo.initializer,nameType:sf(e.idText(Wo.name))}]):[3,4];case 2:Ms.sent(),Ms.label=3;case 3:return Gi++,[3,1];case 4:return[2]}})}(u1),M1,A1,lx,Vx,ye);if(e.isJsxOpeningElement(u1.parent)&&e.isJsxElement(u1.parent.parent)){var er=u1.parent.parent,Ar=Vv(oI(u1)),vr=Ar===void 0?\"children\":e.unescapeLeadingUnderscores(Ar),Yt=sf(vr),nn=JT(A1,Yt),Nn=e.getSemanticJsxChildren(er.children);if(!e.length(Nn))return Ge;var Ei=e.length(Nn)>1,Ca=aA(nn,vv),Aa=aA(nn,function(ti){return!vv(ti)});if(Ei){if(Ca!==Mn){var Qi=ek(JN(er,0));Ge=M_(function(ti,Gi){var zi,Wo,Ms,Et,wt;return j1(this,function(da){switch(da.label){case 0:if(!e.length(ti.children))return[2];zi=0,Wo=0,da.label=1;case 1:return Wo<ti.children.length?(Ms=ti.children[Wo],Et=sf(Wo-zi),(wt=uM(Ms,Et,Gi))?[4,wt]:[3,3]):[3,5];case 2:return da.sent(),[3,4];case 3:zi++,da.label=4;case 4:return Wo++,[3,1];case 5:return[2]}})}(er,yn),Qi,Ca,lx,Vx,ye)||Ge}else if(!rd(JT(M1,Yt),nn,lx)){Ge=!0;var Oa=ht(er.openingElement.tagName,e.Diagnostics.This_JSX_tag_s_0_prop_expects_a_single_child_of_type_1_but_multiple_children_were_provided,vr,ka(nn));ye&&ye.skipLogging&&(ye.errors||(ye.errors=[])).push(Oa)}}else if(Aa!==Mn){var Ra=uM(Nn[0],Yt,yn);Ra&&(Ge=M_(function(){return j1(this,function(ti){switch(ti.label){case 0:return[4,Ra];case 1:return ti.sent(),[2]}})}(),M1,A1,lx,Vx,ye)||Ge)}else rd(JT(M1,Yt),nn,lx)||(Ge=!0,Oa=ht(er.openingElement.tagName,e.Diagnostics.This_JSX_tag_s_0_prop_expects_type_1_which_requires_multiple_children_but_only_a_single_child_was_provided,vr,ka(nn)),ye&&ye.skipLogging&&(ye.errors||(ye.errors=[])).push(Oa))}return Ge;function yn(){if(!Ue){var ti=e.getTextOfNode(u1.parent.tagName),Gi=Vv(oI(u1)),zi=Gi===void 0?\"children\":e.unescapeLeadingUnderscores(Gi),Wo=JT(A1,sf(zi)),Ms=e.Diagnostics._0_components_don_t_accept_text_as_child_elements_Text_in_JSX_has_the_type_string_but_the_expected_type_of_1_is_2;Ue=$($({},Ms),{key:\"!!ALREADY FORMATTED!!\",message:e.formatMessage(void 0,Ms,ti,zi,ka(Wo))})}return Ue}}(r,f,g,E,q,T0);case 210:return function(u1,M1,A1,lx,Vx,ye){if(e.isBlock(u1.body)||e.some(u1.parameters,e.hasType))return!1;var Ue=Nh(M1);if(!Ue)return!1;var Ge=_u(A1,0);if(!e.length(Ge))return!1;var er=u1.body,Ar=yc(Ue),vr=Lo(e.map(Ge,yc));if(!Ad(Ar,vr,lx,void 0)){var Yt=er&&my(er,Ar,vr,lx,void 0,Vx,ye);if(Yt)return Yt;var nn=ye||{};if(Ad(Ar,vr,lx,er,void 0,Vx,nn),nn.errors)return A1.symbol&&e.length(A1.symbol.declarations)&&e.addRelatedInfo(nn.errors[nn.errors.length-1],e.createDiagnosticForNode(A1.symbol.declarations[0],e.Diagnostics.The_expected_type_comes_from_the_return_type_of_this_signature)),(2&e.getFunctionFlags(u1))==0&&!qc(Ar,\"then\")&&Ad(Qv(Ar),vr,lx,void 0)&&e.addRelatedInfo(nn.errors[nn.errors.length-1],e.createDiagnosticForNode(u1,e.Diagnostics.Did_you_mean_to_mark_this_function_as_async)),!0}return!1}(r,f,g,E,q,T0)}return!1}function A3(r,f,g){var E=vm(f,g);if(E)return E;if(1048576&f.flags){var F=OR(r,f);if(F)return vm(F,g)}}function ZE(r,f){r.contextualType=f;try{return XO(r,1,f)}finally{r.contextualType=void 0}}function M_(r,f,g,E,F,q){for(var T0=!1,u1=r.next();!u1.done;u1=r.next()){var M1=u1.value,A1=M1.errorNode,lx=M1.innerExpression,Vx=M1.nameType,ye=M1.errorMessage,Ue=A3(f,g,Vx);if(Ue&&!(8388608&Ue.flags)){var Ge=vm(f,Vx);if(Ge&&!Ad(Ge,Ue,E,void 0))if(lx&&my(lx,Ge,Ue,E,void 0,F,q))T0=!0;else{var er=q||{},Ar=lx?ZE(lx,Ge):Ge;if(Ad(Ar,Ue,E,A1,ye,F,er)&&Ar!==Ge&&Ad(Ge,Ue,E,A1,ye,F,er),er.errors){var vr=er.errors[er.errors.length-1],Yt=Pt(Vx)?_m(Vx):void 0,nn=Yt!==void 0?ec(g,Yt):void 0,Nn=!1;if(!nn){var Ei=Q6(Vx,296)&&vC(g,1)||vC(g,0)||void 0;Ei&&Ei.declaration&&!e.getSourceFileOfNode(Ei.declaration).hasNoDefaultLib&&(Nn=!0,e.addRelatedInfo(vr,e.createDiagnosticForNode(Ei.declaration,e.Diagnostics.The_expected_type_comes_from_this_index_signature)))}if(!Nn&&(nn&&e.length(nn.declarations)||g.symbol&&e.length(g.symbol.declarations))){var Ca=nn&&e.length(nn.declarations)?nn.declarations[0]:g.symbol.declarations[0];e.getSourceFileOfNode(Ca).hasNoDefaultLib||e.addRelatedInfo(vr,e.createDiagnosticForNode(Ca,e.Diagnostics.The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1,!Yt||8192&Vx.flags?ka(Vx):e.unescapeLeadingUnderscores(Yt),ka(g)))}}T0=!0}}}return T0}function uM(r,f,g){switch(r.kind){case 284:return{errorNode:r,innerExpression:r.expression,nameType:f};case 11:if(r.containsOnlyTriviaWhiteSpaces)break;return{errorNode:r,innerExpression:void 0,nameType:f,errorMessage:g()};case 274:case 275:case 278:return{errorNode:r,innerExpression:r,nameType:f};default:return e.Debug.assertNever(r,\"Found invalid jsx child\")}}function i7(r,f){var g,E,F,q;return j1(this,function(T0){switch(T0.label){case 0:if(!(g=e.length(r.elements)))return[2];E=0,T0.label=1;case 1:return E<g?Gg(f)&&!ec(f,\"\"+E)?[3,3]:(F=r.elements[E],e.isOmittedExpression(F)?[3,3]:(q=sf(E),[4,{errorNode:F,innerExpression:F,nameType:q}])):[3,4];case 2:T0.sent(),T0.label=3;case 3:return E++,[3,1];case 4:return[2]}})}function kC(r,f,g,E,F){return Ad(r,f,La,g,E,F)}function Ho(r,f,g,E,F,q,T0,u1){if(r===f||function(Gi){return!Gi.typeParameters&&(!Gi.thisParameter||Vu(Ih(Gi.thisParameter)))&&Gi.parameters.length===1&&S1(Gi)&&(Ih(Gi.parameters[0])===Nf||Vu(Ih(Gi.parameters[0])))&&Vu(yc(Gi))}(f))return-1;var M1=wd(f);if(!Sk(f)&&(8&g?Sk(r)||wd(r)>M1:fw(r)>M1))return 0;r.typeParameters&&r.typeParameters!==f.typeParameters&&(r=ww(r,f=SR(f),void 0,T0));var A1=wd(r),lx=jl(r),Vx=jl(f);if((lx||Vx)&&xo(lx||Vx,u1),lx&&Vx&&A1!==M1)return 0;var ye=f.declaration?f.declaration.kind:0,Ue=!(3&g)&&nx&&ye!==166&&ye!==165&&ye!==167,Ge=-1,er=Tw(r);if(er&&er!==Ii){var Ar=Tw(f);if(Ar){if(!(Ca=!Ue&&T0(er,Ar,!1)||T0(Ar,er,E)))return E&&F(e.Diagnostics.The_this_types_of_each_signature_are_incompatible),0;Ge&=Ca}}for(var vr=lx||Vx?Math.min(A1,M1):Math.max(A1,M1),Yt=lx||Vx?vr-1:-1,nn=0;nn<vr;nn++){var Nn=nn===Yt?DD(r,nn):hh(r,nn),Ei=nn===Yt?DD(f,nn):hh(f,nn);if(Nn&&Ei){var Ca,Aa=3&g?void 0:Nh(Cm(Nn)),Qi=3&g?void 0:Nh(Cm(Ei));if((Ca=Aa&&Qi&&!kA(Aa)&&!kA(Qi)&&(98304&MF(Nn))==(98304&MF(Ei))?Ho(Qi,Aa,8&g|(Ue?2:1),E,F,q,T0,u1):!(3&g)&&!Ue&&T0(Nn,Ei,!1)||T0(Ei,Nn,E))&&8&g&&nn>=fw(r)&&nn<fw(f)&&T0(Nn,Ei,!1)&&(Ca=0),!Ca)return E&&F(e.Diagnostics.Types_of_parameters_0_and_1_are_incompatible,e.unescapeLeadingUnderscores(mI(r,nn)),e.unescapeLeadingUnderscores(mI(f,nn))),0;Ge&=Ca}}if(!(4&g)){var Oa=tv(f)?E1:f.declaration&&am(f.declaration)?Ed(Xc(f.declaration.symbol)):yc(f);if(Oa===Ii)return Ge;var Ra=tv(r)?E1:r.declaration&&am(r.declaration)?Ed(Xc(r.declaration.symbol)):yc(r),yn=kA(f);if(yn){var ti=kA(r);if(ti)Ge&=function(Gi,zi,Wo,Ms,Et){if(Gi.kind!==zi.kind)return Wo&&(Ms(e.Diagnostics.A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard),Ms(e.Diagnostics.Type_predicate_0_is_not_assignable_to_1,sh(Gi),sh(zi))),0;if((Gi.kind===1||Gi.kind===3)&&Gi.parameterIndex!==zi.parameterIndex)return Wo&&(Ms(e.Diagnostics.Parameter_0_is_not_in_the_same_position_as_parameter_1,Gi.parameterName,zi.parameterName),Ms(e.Diagnostics.Type_predicate_0_is_not_assignable_to_1,sh(Gi),sh(zi))),0;var wt=Gi.type===zi.type?-1:Gi.type&&zi.type?Et(Gi.type,zi.type,Wo):0;return wt===0&&Wo&&Ms(e.Diagnostics.Type_predicate_0_is_not_assignable_to_1,sh(Gi),sh(zi)),wt}(ti,yn,E,F,T0);else if(e.isIdentifierTypePredicate(yn))return E&&F(e.Diagnostics.Signature_0_must_be_a_type_predicate,O2(r)),0}else!(Ge&=1&g&&T0(Oa,Ra,!1)||T0(Ra,Oa,E))&&E&&q&&q(Ra,Oa)}return Ge}function T3(r,f){var g=KI(r),E=KI(f),F=yc(g),q=yc(E);return!(q!==Ii&&!rd(q,F,Xn)&&!rd(F,q,Xn))&&Ho(g,E,4,!1,void 0,void 0,X$,void 0)!==0}function kV(r){return r!==K8&&r.properties.length===0&&r.callSignatures.length===0&&r.constructSignatures.length===0&&!r.stringIndexInfo&&!r.numberIndexInfo}function lh(r){return 524288&r.flags?!Sd(r)&&kV(b2(r)):!!(67108864&r.flags)||(1048576&r.flags?e.some(r.types,lh):!!(2097152&r.flags)&&e.every(r.types,lh))}function a7(r){return!!(16&e.getObjectFlags(r)&&(r.members&&kV(r)||r.symbol&&2048&r.symbol.flags&&si(r.symbol).size===0))}function NC(r){return 524288&r.flags&&!Sd(r)&&$c(r).length===0&&vC(r,0)&&!vC(r,1)||3145728&r.flags&&e.every(r.types,NC)||!1}function QB(r,f,g){if(r===f)return!0;var E=f0(r)+\",\"+f0(f),F=Hc.get(E);if(F!==void 0&&(4&F||!(2&F)||!g))return!!(1&F);if(!(r.escapedName===f.escapedName&&256&r.flags&&256&f.flags))return Hc.set(E,6),!1;for(var q=Yo(f),T0=0,u1=$c(Yo(r));T0<u1.length;T0++){var M1=u1[T0];if(8&M1.flags){var A1=ec(q,M1.escapedName);if(!(A1&&8&A1.flags))return g?(g(e.Diagnostics.Property_0_is_missing_in_type_1,e.symbolName(M1),ka(Il(f),void 0,64)),Hc.set(E,6)):Hc.set(E,2),!1}}return Hc.set(E,1),!0}function IR(r,f,g,E){var F=r.flags,q=f.flags;return 3&q||131072&F||r===xt?!0:131072&q?!1:!!(402653316&F&&4&q||128&F&&1024&F&&128&q&&!(1024&q)&&r.value===f.value||296&F&&8&q||256&F&&1024&F&&256&q&&!(1024&q)&&r.value===f.value||2112&F&&64&q||528&F&&16&q||12288&F&&4096&q||32&F&&32&q&&QB(r.symbol,f.symbol,E)||1024&F&&1024&q&&(1048576&F&&1048576&q&&QB(r.symbol,f.symbol,E)||2944&F&&2944&q&&r.value===f.value&&QB(I2(r.symbol),I2(f.symbol),E))||32768&F&&(!C1||49152&q)||65536&F&&(!C1||65536&q)||524288&F&&67108864&q||(g===Xn||g===La)&&(1&F||264&F&&!(1024&F)&&(32&q||g===Xn&&256&q&&1024&q)))}function rd(r,f,g){if(ch(r)&&(r=r.regularType),ch(f)&&(f=f.regularType),r===f)return!0;if(g!==qa){if(g===La&&!(131072&f.flags)&&IR(f,r,g)||IR(r,f,g))return!0}else if(!(3145728&r.flags||3145728&f.flags||r.flags===f.flags||469237760&r.flags))return!1;if(524288&r.flags&&524288&f.flags){var E=g.get(fs(r,f,0,g));if(E!==void 0)return!!(1&E)}return!!(469499904&r.flags||469499904&f.flags)&&Ad(r,f,g,void 0)}function sU(r,f){return 2048&e.getObjectFlags(r)&&!dU(f.escapedName)}function PC(r,f){for(;;){var g=ch(r)?r.regularType:4&e.getObjectFlags(r)&&r.node?ym(r.target,Cc(r)):3145728&r.flags?Q2(r):33554432&r.flags?f?r.baseType:r.substitute:25165824&r.flags?Dm(r,f):r;if((g=eD(g)||g)===r)break;r=g}return r}function Ad(r,f,g,E,F,q,T0){var u1,M1,A1,lx,Vx,ye,Ue=0,Ge=0,er=0,Ar=!1,vr=0,Yt=[],nn=!1;e.Debug.assert(g!==qa||!E,\"no error reporting in identity checking\");var Nn=Et(r,f,!!E,F);if(Yt.length&&Gi(),Ar){e.tracing===null||e.tracing===void 0||e.tracing.instant(\"checkTypes\",\"checkTypeRelatedTo_DepthLimit\",{sourceId:r.id,targetId:f.id,depth:Ge});var Ei=ht(E||k1,e.Diagnostics.Excessive_stack_depth_comparing_types_0_and_1,ka(r),ka(f));T0&&(T0.errors||(T0.errors=[])).push(Ei)}else if(u1){if(q){var Ca=q();Ca&&(e.concatenateDiagnosticMessageChains(Ca,u1),u1=Ca)}var Aa=void 0;if(F&&E&&!Nn&&r.symbol){var Qi=Zo(r.symbol);if(Qi.originatingImport&&!e.isImportCall(Qi.originatingImport)&&Ad(Yo(Qi.target),f,g,void 0)){var Oa=e.createDiagnosticForNode(Qi.originatingImport,e.Diagnostics.Type_originates_at_this_import_A_namespace_style_import_cannot_be_called_or_constructed_and_will_cause_a_failure_at_runtime_Consider_using_a_default_import_or_import_require_here_instead);Aa=e.append(Aa,Oa)}}Ei=e.createDiagnosticForNodeFromMessageChain(E,u1,Aa),M1&&e.addRelatedInfo.apply(void 0,D([Ei],M1)),T0&&(T0.errors||(T0.errors=[])).push(Ei),T0&&T0.skipLogging||Ku.add(Ei)}return E&&T0&&T0.skipLogging&&Nn===0&&e.Debug.assert(!!T0.errors,\"missed opportunity to interact with error.\"),Nn!==0;function Ra(qi){u1=qi.errorInfo,ye=qi.lastSkippedInfo,Yt=qi.incompatibleStack,vr=qi.overrideNextErrorInfo,M1=qi.relatedInfo}function yn(){return{errorInfo:u1,lastSkippedInfo:ye,incompatibleStack:Yt.slice(),overrideNextErrorInfo:vr,relatedInfo:M1?M1.slice():void 0}}function ti(qi,eo,Co,ou,Cs){vr++,ye=void 0,Yt.push([qi,eo,Co,ou,Cs])}function Gi(){var qi=Yt;Yt=[];var eo=ye;if(ye=void 0,qi.length===1)return zi.apply(void 0,qi[0]),void(eo&&Wo.apply(void 0,D([void 0],eo)));for(var Co=\"\",ou=[];qi.length;){var Cs=qi.pop(),Pi=Cs[0],Ia=Cs.slice(1);switch(Pi.code){case e.Diagnostics.Types_of_property_0_are_incompatible.code:Co.indexOf(\"new \")===0&&(Co=\"(\"+Co+\")\");var nc=\"\"+Ia[0];Co=Co.length===0?\"\"+nc:e.isIdentifierText(nc,V1.target)?Co+\".\"+nc:nc[0]===\"[\"&&nc[nc.length-1]===\"]\"?\"\"+Co+nc:Co+\"[\"+nc+\"]\";break;case e.Diagnostics.Call_signature_return_types_0_and_1_are_incompatible.code:case e.Diagnostics.Construct_signature_return_types_0_and_1_are_incompatible.code:case e.Diagnostics.Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code:case e.Diagnostics.Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code:if(Co.length===0){var g2=Pi;Pi.code===e.Diagnostics.Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code?g2=e.Diagnostics.Call_signature_return_types_0_and_1_are_incompatible:Pi.code===e.Diagnostics.Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code&&(g2=e.Diagnostics.Construct_signature_return_types_0_and_1_are_incompatible),ou.unshift([g2,Ia[0],Ia[1]])}else Co=\"\"+(Pi.code===e.Diagnostics.Construct_signature_return_types_0_and_1_are_incompatible.code||Pi.code===e.Diagnostics.Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code?\"new \":\"\")+Co+\"(\"+(Pi.code===e.Diagnostics.Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code||Pi.code===e.Diagnostics.Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code?\"\":\"...\")+\")\";break;case e.Diagnostics.Type_at_position_0_in_source_is_not_compatible_with_type_at_position_1_in_target.code:ou.unshift([e.Diagnostics.Type_at_position_0_in_source_is_not_compatible_with_type_at_position_1_in_target,Ia[0],Ia[1]]);break;case e.Diagnostics.Type_at_positions_0_through_1_in_source_is_not_compatible_with_type_at_position_2_in_target.code:ou.unshift([e.Diagnostics.Type_at_positions_0_through_1_in_source_is_not_compatible_with_type_at_position_2_in_target,Ia[0],Ia[1],Ia[2]]);break;default:return e.Debug.fail(\"Unhandled Diagnostic: \"+Pi.code)}}Co?zi(Co[Co.length-1]===\")\"?e.Diagnostics.The_types_returned_by_0_are_incompatible_between_these_types:e.Diagnostics.The_types_of_0_are_incompatible_between_these_types,Co):ou.shift();for(var yb=0,Ic=ou;yb<Ic.length;yb++){var m8=Ic[yb],cs=(Pi=m8[0],Ia=m8.slice(1),Pi.elidedInCompatabilityPyramid);Pi.elidedInCompatabilityPyramid=!1,zi.apply(void 0,D([Pi],Ia)),Pi.elidedInCompatabilityPyramid=cs}eo&&Wo.apply(void 0,D([void 0],eo))}function zi(qi,eo,Co,ou,Cs){e.Debug.assert(!!E),Yt.length&&Gi(),qi.elidedInCompatabilityPyramid||(u1=e.chainDiagnosticMessages(u1,qi,eo,Co,ou,Cs))}function Wo(qi,eo,Co){Yt.length&&Gi();var ou=lg(eo,Co),Cs=ou[0],Pi=ou[1],Ia=eo,nc=Cs;if(tI(eo)&&!mv(Co)&&(Ia=F4(eo),e.Debug.assert(!cc(Ia,Co),\"generalized source shouldn't be assignable\"),nc=x9(Ia)),262144&Co.flags){var g2=wA(Co),yb=void 0;g2&&(cc(Ia,g2)||(yb=cc(eo,g2)))?zi(e.Diagnostics._0_is_assignable_to_the_constraint_of_type_1_but_1_could_be_instantiated_with_a_different_subtype_of_constraint_2,yb?Cs:nc,Pi,ka(g2)):(u1=void 0,zi(e.Diagnostics._0_could_be_instantiated_with_an_arbitrary_type_which_could_be_unrelated_to_1,Pi,nc))}qi||(qi=g===La?e.Diagnostics.Type_0_is_not_comparable_to_type_1:Cs===Pi?e.Diagnostics.Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated:e.Diagnostics.Type_0_is_not_assignable_to_type_1),zi(qi,nc,Pi)}function Ms(qi,eo,Co){return Vd(qi)?qi.target.readonly&&jO(eo)?(Co&&zi(e.Diagnostics.The_type_0_is_readonly_and_cannot_be_assigned_to_the_mutable_type_1,ka(qi),ka(eo)),!1):Vd(eo)||NA(eo):qI(qi)&&jO(eo)?(Co&&zi(e.Diagnostics.The_type_0_is_readonly_and_cannot_be_assigned_to_the_mutable_type_1,ka(qi),ka(eo)),!1):!Vd(eo)||NA(qi)}function Et(qi,eo,Co,ou,Cs){if(Co===void 0&&(Co=!1),Cs===void 0&&(Cs=0),524288&qi.flags&&131068&eo.flags)return IR(qi,eo,g,Co?zi:void 0)?-1:(RD(qi,eo,0,!!(2048&e.getObjectFlags(qi))),0);var Pi=PC(qi,!1),Ia=PC(eo,!0);if(Pi===Ia)return-1;if(g===qa)return function(Ru,Yf){var gh=Ru.flags&Yf.flags;if(!(469237760&gh))return 0;if(wt(Ru,Yf),3145728&gh){var b6=da(Ru,Yf);return b6&&(b6&=da(Yf,Ru)),b6}return rt(Ru,Yf,!1,0)}(Pi,Ia);if(262144&Pi.flags&&Wh(Pi)===Ia)return-1;if(1048576&Ia.flags&&524288&Pi.flags&&Ia.types.length<=3&&yl(Ia,98304)){var nc=bg(Ia,-98305);if(1179648&nc.flags||(Ia=PC(nc,!0)),Pi===nc)return-1}if(g===La&&!(131072&Ia.flags)&&IR(Ia,Pi,g)||IR(Pi,Ia,g,Co?zi:void 0))return-1;var g2=!!(2048&e.getObjectFlags(Pi)),yb=!(2&Cs)&&xh(Pi)&&16384&e.getObjectFlags(Pi);if(yb&&function(Ru,Yf,gh){var b6;if(!WO(Yf)||!Px&&8192&e.getObjectFlags(Yf))return!1;var RF=!!(2048&e.getObjectFlags(Ru));if((g===Xn||g===La)&&(bP(E4,Yf)||!RF&&lh(Yf)))return!1;var IA,kS=Yf;1048576&Yf.flags&&(kS=_j(Ru,Yf,Et)||function(kd){if(yl(kd,67108864)){var UE=aA(kd,function(iF){return!(131068&iF.flags)});if(!(131072&UE.flags))return UE}return kd}(Yf),IA=1048576&kS.flags?kS.types:[kS]);for(var j4=function(kd){if(function(jF,An){return jF.valueDeclaration&&An.valueDeclaration&&jF.valueDeclaration.parent===An.valueDeclaration}(kd,Ru.symbol)&&!sU(Ru,kd)){if(!zO(kS,kd.escapedName,RF)){if(gh){var UE=aA(kS,WO);if(!E)return{value:e.Debug.fail()};if(e.isJsxAttributes(E)||e.isJsxOpeningLikeElement(E)||e.isJsxOpeningLikeElement(E.parent)){kd.valueDeclaration&&e.isJsxAttribute(kd.valueDeclaration)&&e.getSourceFileOfNode(E)===e.getSourceFileOfNode(kd.valueDeclaration.name)&&(E=kd.valueDeclaration.name);var iF=Is(kd),Nw=Xh(iF,UE);(uk=Nw?Is(Nw):void 0)?zi(e.Diagnostics.Property_0_does_not_exist_on_type_1_Did_you_mean_2,iF,ka(UE),uk):zi(e.Diagnostics.Property_0_does_not_exist_on_type_1,iF,ka(UE))}else{var Pw=((b6=Ru.symbol)===null||b6===void 0?void 0:b6.declarations)&&e.firstOrUndefined(Ru.symbol.declarations),uk=void 0;if(kd.valueDeclaration&&e.findAncestor(kd.valueDeclaration,function(jF){return jF===Pw})&&e.getSourceFileOfNode(Pw)===e.getSourceFileOfNode(E)){var mw=kd.valueDeclaration;e.Debug.assertNode(mw,e.isObjectLiteralElementLike),E=mw;var hN=mw.name;e.isIdentifier(hN)&&(uk=mU(hN,UE))}uk!==void 0?zi(e.Diagnostics.Object_literal_may_only_specify_known_properties_but_0_does_not_exist_in_type_1_Did_you_mean_to_write_2,Is(kd),ka(UE),uk):zi(e.Diagnostics.Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1,Is(kd),ka(UE))}}return{value:!0}}if(IA&&!Et(Yo(kd),function(jF,An){var Rs=function(fc,Vo){var sl=3145728&(Vo=S4(Vo)).flags?sN(Vo,An):j9(Vo,An),Tl=sl&&Yo(sl)||nd(An)&&Ff(Vo,1)||Ff(Vo,0)||Gr;return e.append(fc,Tl)};return Lo(e.reduceLeft(jF,Rs,void 0)||e.emptyArray)}(IA,kd.escapedName),gh))return gh&&ti(e.Diagnostics.Types_of_property_0_are_incompatible,Is(kd)),{value:!0}}},T4=0,JC=$c(Ru);T4<JC.length;T4++){var u6=j4(JC[T4]);if(typeof u6==\"object\")return u6.value}return!1}(Pi,Ia,Co))return Co&&Wo(ou,Pi,eo.aliasSymbol?eo:Ia),0;var Ic=g!==La&&!(2&Cs)&&2752508&Pi.flags&&Pi!==E4&&2621440&Ia.flags&&uU(Ia)&&($c(Pi).length>0||jV(Pi));if(Ic&&!function(Ru,Yf,gh){for(var b6=0,RF=$c(Ru);b6<RF.length;b6++)if(zO(Yf,RF[b6].escapedName,gh))return!0;return!1}(Pi,Ia,g2)){if(Co){var m8=ka(qi.aliasSymbol?qi:Pi),cs=ka(eo.aliasSymbol?eo:Ia),Ul=_u(Pi,0),hp=_u(Pi,1);Ul.length>0&&Et(yc(Ul[0]),Ia,!1)||hp.length>0&&Et(yc(hp[0]),Ia,!1)?zi(e.Diagnostics.Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it,m8,cs):zi(e.Diagnostics.Type_0_has_no_properties_in_common_with_type_1,m8,cs)}return 0}wt(Pi,Ia);var Jc=0,jE=yn();if((3145728&Pi.flags||3145728&Ia.flags)&&(Jc=_7(Pi)*_7(Ia)>=4?rt(Pi,Ia,Co,8|Cs):di(Pi,Ia,Co,8|Cs)),Jc||1048576&Pi.flags||!(469499904&Pi.flags||469499904&Ia.flags)||(Jc=rt(Pi,Ia,Co,Cs))&&Ra(jE),!Jc&&2359296&Pi.flags){var Wd=function(Ru,Yf){for(var gh,b6=!1,RF=0,IA=Ru;RF<IA.length;RF++)if(465829888&(JC=IA[RF]).flags){for(var kS=Wh(JC);kS&&21233664&kS.flags;)kS=Wh(kS);kS&&(gh=e.append(gh,kS),Yf&&(gh=e.append(gh,JC)))}else 469892092&JC.flags&&(b6=!0);if(gh&&(Yf||b6)){if(b6)for(var j4=0,T4=Ru;j4<T4.length;j4++){var JC;469892092&(JC=T4[j4]).flags&&(gh=e.append(gh,JC))}return Kc(gh)}}(2097152&Pi.flags?Pi.types:[Pi],!!(1048576&Ia.flags));Wd&&(2097152&Pi.flags||1048576&Ia.flags)&&Kk(Wd,function(Ru){return Ru!==Pi})&&(Jc=Et(Wd,Ia,!1,void 0,Cs))&&Ra(jE)}return Jc&&!nn&&(2097152&Ia.flags&&(yb||Ic)||Xy(Ia)&&!NA(Ia)&&!Vd(Ia)&&2097152&Pi.flags&&3670016&S4(Pi).flags&&!e.some(Pi.types,function(Ru){return!!(524288&e.getObjectFlags(Ru))}))&&(nn=!0,Jc&=rt(Pi,Ia,Co,4),nn=!1),RD(Pi,Ia,Jc,g2),Jc;function RD(Ru,Yf,gh,b6){if(!gh&&Co){var RF=!!eD(qi),IA=!!eD(eo);Ru=qi.aliasSymbol||RF?qi:Ru,Yf=eo.aliasSymbol||IA?eo:Yf;var kS=vr>0;if(kS&&vr--,524288&Ru.flags&&524288&Yf.flags){var j4=u1;Ms(Ru,Yf,Co),u1!==j4&&(kS=!!u1)}if(524288&Ru.flags&&131068&Yf.flags)(function(kd,UE){var iF=LN(kd.symbol)?ka(kd,kd.symbol.valueDeclaration):ka(kd),Nw=LN(UE.symbol)?ka(UE,UE.symbol.valueDeclaration):ka(UE);(Np===kd&&l1===UE||rp===kd&&Hx===UE||jp===kd&&rn===UE||dE(!1)===kd&&_t===UE)&&zi(e.Diagnostics._0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible,Nw,iF)})(Ru,Yf);else if(Ru.symbol&&524288&Ru.flags&&E4===Ru)zi(e.Diagnostics.The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead);else if(b6&&2097152&Yf.flags){var T4=Yf.types,JC=n9(w.IntrinsicAttributes,E),u6=n9(w.IntrinsicClassAttributes,E);if(JC!==ae&&u6!==ae&&(e.contains(T4,JC)||e.contains(T4,u6)))return gh}else u1=ZD(u1,eo);if(!ou&&kS)return ye=[Ru,Yf],gh;Wo(ou,Ru,Yf)}}}function wt(qi,eo){if(e.tracing&&3145728&qi.flags&&3145728&eo.flags){var Co=qi,ou=eo;if(Co.objectFlags&ou.objectFlags&65536)return;var Cs=Co.types.length,Pi=ou.types.length;Cs*Pi>1e6&&e.tracing.instant(\"checkTypes\",\"traceUnionsOrIntersectionsTooLarge_DepthLimit\",{sourceId:qi.id,sourceSize:Cs,targetId:eo.id,targetSize:Pi,pos:E==null?void 0:E.pos,end:E==null?void 0:E.end})}}function da(qi,eo){for(var Co=-1,ou=0,Cs=qi.types;ou<Cs.length;ou++){var Pi=Ya(Cs[ou],eo,!1);if(!Pi)return 0;Co&=Pi}return Co}function Ya(qi,eo,Co){var ou=eo.types;if(1048576&eo.flags){if(zg(ou,qi))return-1;var Cs=lU(eo,qi);if(Cs&&(nc=Et(qi,Cs,!1)))return nc}for(var Pi=0,Ia=ou;Pi<Ia.length;Pi++){var nc;if(nc=Et(qi,Ia[Pi],!1))return nc}return Co&&Et(qi,OR(qi,eo,Et)||ou[ou.length-1],!0),0}function Da(qi,eo,Co,ou){var Cs=qi.types;if(1048576&qi.flags&&zg(Cs,eo))return-1;for(var Pi=Cs.length,Ia=0;Ia<Pi;Ia++){var nc=Et(Cs[Ia],eo,Co&&Ia===Pi-1,void 0,ou);if(nc)return nc}return 0}function fr(qi,eo,Co,ou){for(var Cs=-1,Pi=qi.types,Ia=function(m8,cs){return 1048576&m8.flags&&1048576&cs.flags&&!(32768&m8.types[0].flags)&&32768&cs.types[0].flags?bg(cs,-32769):cs}(qi,eo),nc=0;nc<Pi.length;nc++){var g2=Pi[nc];if(1048576&Ia.flags&&Pi.length>=Ia.types.length&&Pi.length%Ia.types.length==0){var yb=Et(g2,Ia.types[nc%Ia.types.length],!1,void 0,ou);if(yb){Cs&=yb;continue}}var Ic=Et(g2,eo,Co,void 0,ou);if(!Ic)return 0;Cs&=Ic}return Cs}function rt(qi,eo,Co,ou){if(Ar)return 0;var Cs=fs(qi,eo,ou|(nn?16:0),g),Pi=g.get(Cs);if(Pi!==void 0&&(!(Co&&2&Pi)||4&Pi)){if(bc){var Ia=24&Pi;8&Ia&&xo(qi,Zm(Wt)),16&Ia&&xo(qi,Zm(dn))}return 1&Pi?-1:0}if(A1){for(var nc=Cs.split(\",\").map(function(hp){return hp.replace(/-\\d+/g,function(Jc,jE){return\"=\"+e.length(Cs.slice(0,jE).match(/[-=]/g)||void 0)})}).join(\",\"),g2=0;g2<Ue;g2++)if(Cs===A1[g2]||nc===A1[g2])return 3;if(Ge===100)return Ar=!0,0}else A1=[],lx=[],Vx=[];var yb=Ue;A1[Ue]=Cs,Ue++,lx[Ge]=qi,Vx[Ge]=eo,Ge++;var Ic,m8=er;1&er||!_v(qi,lx,Ge)||(er|=1),2&er||!_v(eo,Vx,Ge)||(er|=2);var cs=0;bc&&(Ic=bc,bc=function(hp){return cs|=hp?16:8,Ic(hp)}),er===3&&(e.tracing===null||e.tracing===void 0||e.tracing.instant(\"checkTypes\",\"recursiveTypeRelatedTo_DepthLimit\",{sourceId:qi.id,sourceIdStack:lx.map(function(hp){return hp.id}),targetId:eo.id,targetIdStack:Vx.map(function(hp){return hp.id}),depth:Ge}));var Ul=er!==3?di(qi,eo,Co,ou):3;if(bc&&(bc=Ic),er=m8,Ge--,Ul){if(Ul===-1||Ge===0){if(Ul===-1||Ul===3)for(g2=yb;g2<Ue;g2++)g.set(A1[g2],1|cs);Ue=yb}}else g.set(Cs,2|(Co?4:0)|cs),Ue=yb;return Ul}function di(qi,eo,Co,ou){e.tracing===null||e.tracing===void 0||e.tracing.push(\"checkTypes\",\"structuredTypeRelatedTo\",{sourceId:qi.id,targetId:eo.id});var Cs=function(Pi,Ia,nc,g2){if(4&g2)return z(Pi,Ia,nc,void 0,0);if(8&g2){if(1048576&Pi.flags)return g===La?Da(Pi,Ia,nc&&!(131068&Pi.flags),-9&g2):fr(Pi,Ia,nc&&!(131068&Pi.flags),-9&g2);if(1048576&Ia.flags)return Ya(Xg(Pi),Ia,nc&&!(131068&Pi.flags)&&!(131068&Ia.flags));if(2097152&Ia.flags)return function(Z_,WS,PS,GA){for(var IT=-1,r4=0,N5=WS.types;r4<N5.length;r4++){var HC=Et(Z_,N5[r4],PS,void 0,GA);if(!HC)return 0;IT&=HC}return IT}(Xg(Pi),Ia,nc,2);if(g===La&&131068&Ia.flags){var yb=e.sameMap(Pi.types,function(Z_){return 131068&Z_.flags?Z_:wA(Z_)||ut});if(yb!==Pi.types&&!(2097152&(Pi=Kc(yb)).flags))return Et(Pi,Ia,!1)}return Da(Pi,Ia,!1,1)}var Ic,m8,cs=Pi.flags&Ia.flags;if(g===qa&&!(524288&cs)){if(4194304&cs)return Et(Pi.type,Ia.type,!1);var Ul=0;return 8388608&cs&&(Ul=Et(Pi.objectType,Ia.objectType,!1))&&(Ul&=Et(Pi.indexType,Ia.indexType,!1))||16777216&cs&&Pi.root.isDistributive===Ia.root.isDistributive&&(Ul=Et(Pi.checkType,Ia.checkType,!1))&&(Ul&=Et(Pi.extendsType,Ia.extendsType,!1))&&(Ul&=Et(jk(Pi),jk(Ia),!1))&&(Ul&=Et(V9(Pi),V9(Ia),!1))?Ul:33554432&cs?Et(Pi.substitute,Ia.substitute,!1):0}var hp=!1,Jc=yn();if(17301504&Pi.flags&&Pi.aliasSymbol&&Pi.aliasTypeArguments&&Pi.aliasSymbol===Ia.aliasSymbol&&!Pi.aliasTypeArgumentsContainsMarker&&!Ia.aliasTypeArgumentsContainsMarker){if((o_=Az(Pi.aliasSymbol))===e.emptyArray)return 1;if((NS=hT(Pi.aliasTypeArguments,Ia.aliasTypeArguments,o_,g2))!==void 0)return NS}if(eL(Pi)&&!Pi.target.readonly&&(Ic=Et(Cc(Pi)[0],Ia))||eL(Ia)&&(Ia.target.readonly||jO(wA(Pi)||Pi))&&(Ic=Et(Pi,Cc(Ia)[0])))return Ic;if(262144&Ia.flags){if(32&e.getObjectFlags(Pi)&&!Pi.declaration.nameType&&Et(Ck(Ia),Ep(Pi))&&!(4&B2(Pi))){var jE=Y2(Pi),Wd=JT(Ia,v2(Pi));if(Ic=Et(jE,Wd,nc))return Ic}}else if(4194304&Ia.flags){var RD=Ia.type;if(4194304&Pi.flags&&(Ic=Et(RD,Pi.type,!1)))return Ic;if(Vd(RD)){if(Ic=Et(Pi,wR(RD),nc))return Ic}else if((fc=g9(RD))&&Et(Pi,Ck(fc,Ia.stringsOnly),nc)===-1)return-1}else if(8388608&Ia.flags){if(8388608&Pi.flags){if((Ic=Et(Pi.objectType,Ia.objectType,nc))&&(Ic&=Et(Pi.indexType,Ia.indexType,nc)),Ic)return Ra(Jc),Ic;nc&&(m8=u1)}if(g===Xn||g===La){var Ru=Ia.objectType,Yf=Ia.indexType,gh=wA(Ru)||Ru,b6=wA(Yf)||Yf;if(!Sh(gh)&&!U9(b6)){var RF=2|(gh!==Ru?1:0);if(fc=vm(gh,b6,Ia.noUncheckedIndexedAccessCandidate,void 0,RF)){if(nc&&m8&&Ra(Jc),Ic=Et(Pi,fc,nc))return Ic;nc&&m8&&u1&&(u1=mT([m8])<=mT([u1])?m8:u1)}}}nc&&(m8=void 0)}else if(Sd(Ia)&&!Ia.declaration.nameType){var IA=Y2(Ia),kS=B2(Ia);if(!(8&kS)){if(8388608&IA.flags&&IA.objectType===Pi&&IA.indexType===v2(Ia))return-1;if(!Sd(Pi)){var j4=Ep(Ia),T4=Ck(Pi,void 0,!0),JC=4&kS,u6=JC?Bb(j4,T4):void 0;if(JC?!(131072&u6.flags):Et(j4,T4)){jE=Y2(Ia);var kd=v2(Ia),UE=bg(jE,-98305);if(8388608&UE.flags&&UE.indexType===kd){if(Ic=Et(Pi,UE.objectType,nc))return Ic}else if(Wd=JT(Pi,u6?Kc([u6,kd]):kd),Ic=Et(Wd,jE,nc))return Ic}m8=u1,Ra(Jc)}}}else if(16777216&Ia.flags){var iF=Ia,Nw=!cc(S3(iF.checkType),S3(iF.extendsType)),Pw=!Nw&&function(Z_){var WS=Z_.root.inferTypeParameters&&yg(Z_.root.inferTypeParameters,e.map(Z_.root.inferTypeParameters,function(){return xt})),PS=Z_.checkType,GA=Z_.extendsType;return cc(Th(PS),Th(xo(GA,WS)))}(iF),uk=void 0,mw=r9(iF.root.checkType);if(iF.root.isDistributive&&262144&mw.flags){var hN=fv(mw);uk=Ah(mw,hN,iF.mapper),hN.mapper=uk}var jF=void 0;if((Nw||(jF=Et(Pi,uk?xo(Dc(iF.root.node.trueType),uk):jk(iF),!1)))&&(Pw||(jF=(jF||3)&Et(Pi,uk?xo(Dc(iF.root.node.falseType),uk):V9(iF),!1))),jF)return Ra(Jc),jF}else if(134217728&Ia.flags){134217728&Pi.flags&&xo(Pi,Zm(dn));var An=Av(Pi,Ia);if(An&&e.every(An,function(Z_,WS){return function(PS,GA){if(PS===GA||5&GA.flags)return!0;if(128&PS.flags){var IT=PS.value;return!!(8&GA.flags&&IT!==\"\"&&isFinite(+IT)||64&GA.flags&&IT!==\"\"&&function(N5){var HC=e.createScanner(99,!1),oA=!0;HC.setOnError(function(){return oA=!1}),HC.setText(N5+\"n\");var o=HC.scan();o===40&&(o=HC.scan());var p=HC.getTokenFlags();return oA&&o===9&&HC.getTextPos()===N5.length+1&&!(512&p)}(IT)||98816&GA.flags&&IT===GA.intrinsicName)}if(134217728&PS.flags){var r4=PS.texts;return r4.length===2&&r4[0]===\"\"&&r4[1]===\"\"&&cc(PS.types[0],GA)}return cc(PS,GA)}(Z_,Ia.types[WS])}))return-1}if(8650752&Pi.flags){if(!(8388608&Pi.flags&&8388608&Ia.flags)){if(!(fc=Wh(Pi))||262144&Pi.flags&&1&fc.flags){if(Ic=Et(qs,bg(Ia,-67108865)))return Ra(Jc),Ic}else if((Ic=Et(fc,Ia,!1,void 0,g2))||(Ic=Et(Fw(fc,Pi),Ia,nc&&!(Ia.flags&Pi.flags&262144),void 0,g2)))return Ra(Jc),Ic}}else if(4194304&Pi.flags){if(Ic=Et(fa,Ia,nc))return Ra(Jc),Ic}else if(134217728&Pi.flags){if(!(134217728&Ia.flags)){var Rs=wA(Pi);if(Ic=Et(fc=Rs&&Rs!==Pi?Rs:l1,Ia,nc))return Ra(Jc),Ic}}else if(268435456&Pi.flags){var fc;if(268435456&Ia.flags&&Pi.symbol===Ia.symbol){if(Ic=Et(Pi.type,Ia.type,nc))return Ra(Jc),Ic}else if((fc=wA(Pi))&&(Ic=Et(fc,Ia,nc)))return Ra(Jc),Ic}else if(16777216&Pi.flags){if(16777216&Ia.flags){var Vo=Pi.root.inferTypeParameters,sl=Pi.extendsType,Tl=void 0;if(Vo){var e2=D9(Vo,void 0,0,Et);nk(e2.inferences,Ia.extendsType,sl,1536),sl=xo(sl,e2.mapper),Tl=e2.mapper}if(tm(sl,Ia.extendsType)&&(Et(Pi.checkType,Ia.checkType)||Et(Ia.checkType,Pi.checkType))&&((Ic=Et(xo(jk(Pi),Tl),jk(Ia),nc))&&(Ic&=Et(V9(Pi),V9(Ia),nc)),Ic))return Ra(Jc),Ic}else{var Qf=y3(Pi);if(Qf&&(Ic=Et(Qf,Ia,nc)))return Ra(Jc),Ic}var ml=YD(Pi);if(ml&&(Ic=Et(ml,Ia,nc)))return Ra(Jc),Ic}else{if(g!==it&&g!==Ln&&function(Z_){return!!(32&e.getObjectFlags(Z_)&&4&B2(Z_))}(Ia)&&lh(Pi))return-1;if(Sd(Ia))return Sd(Pi)&&(Ic=function(Z_,WS,PS){if(g===La||(g===qa?B2(Z_)===B2(WS):EV(Z_)<=EV(WS))){var GA;if(GA=Et(Ep(WS),xo(Ep(Z_),Zm(EV(Z_)<0?Wt:dn)),PS)){var IT=yg([v2(Z_)],[v2(WS)]);if(xo(UN(Z_),IT)===xo(UN(WS),IT))return GA&Et(xo(Y2(Z_),IT),Y2(WS),PS)}}return 0}(Pi,Ia,nc))?(Ra(Jc),Ic):0;var nh=!!(131068&Pi.flags);if(g!==qa)Pi=S4(Pi);else if(Sd(Pi))return 0;if(4&e.getObjectFlags(Pi)&&4&e.getObjectFlags(Ia)&&Pi.target===Ia.target&&!(4096&e.getObjectFlags(Pi)||4096&e.getObjectFlags(Ia))){var o_,NS;if((o_=Zy(Pi.target))===e.emptyArray)return 1;if((NS=hT(Cc(Pi),Cc(Ia),o_,g2))!==void 0)return NS}else{if(qI(Ia)?NA(Pi)||Vd(Pi):NA(Ia)&&Vd(Pi)&&!Pi.target.readonly)return g!==qa?Et(Ff(Pi,1)||E1,Ff(Ia,1)||E1,nc):0;if((g===it||g===Ln)&&lh(Ia)&&16384&e.getObjectFlags(Ia)&&!lh(Pi))return 0}if(2621440&Pi.flags&&524288&Ia.flags){var k8=nc&&u1===Jc.errorInfo&&!nh;if((Ic=z(Pi,Ia,k8,void 0,g2))&&(Ic&=zr(Pi,Ia,0,k8))&&(Ic&=zr(Pi,Ia,1,k8))&&(Ic&=lc(Pi,Ia,0,nh,k8,g2))&&(Ic&=lc(Pi,Ia,1,nh,k8,g2)),hp&&Ic)u1=m8||u1||Jc.errorInfo;else if(Ic)return Ic}if(2621440&Pi.flags&&1048576&Ia.flags){var cC=bg(Ia,36175872);if(1048576&cC.flags){var hw=function(Z_,WS){var PS=m7($c(Z_),WS);if(!PS)return 0;for(var GA=1,IT=0,r4=PS;IT<r4.length;IT++)if((GA*=VO(Yo(o=r4[IT])))>25)return e.tracing===null||e.tracing===void 0||e.tracing.instant(\"checkTypes\",\"typeRelatedToDiscriminatedType_DepthLimit\",{sourceId:Z_.id,targetId:WS.id,numCombinations:GA}),0;for(var N5=new Array(PS.length),HC=new e.Set,oA=0;oA<PS.length;oA++){var o,p=Yo(o=PS[oA]);N5[oA]=1048576&p.flags?p.types:[p],HC.add(o.escapedName)}for(var h=e.cartesianProduct(N5),y=[],k=function(se){var be=!1;x:for(var Je=0,ft=WS.types;Je<ft.length;Je++){for(var Xr=ft[Je],on=function(Zi){var hs=PS[Zi],Ao=ec(Xr,hs.escapedName);return Ao?hs===Ao?\"continue\":yi(Z_,WS,hs,Ao,function(Hs){return se[Zi]},!1,0,C1||g===La)?void 0:\"continue-outer\":\"continue-outer\"},Wr=0;Wr<PS.length;Wr++)switch(on(Wr)){case\"continue-outer\":continue x}e.pushIfUnique(y,Xr,e.equateValues),be=!0}if(!be)return{value:0}},Q=0,$0=h;Q<$0.length;Q++){var j0=k($0[Q]);if(typeof j0==\"object\")return j0.value}for(var Z0=-1,g1=0,z1=y;g1<z1.length;g1++){var X1=z1[g1];if((Z0&=z(Z_,X1,!1,HC,0))&&(Z0&=zr(Z_,X1,0,!1))&&(Z0&=zr(Z_,X1,1,!1))&&(!(Z0&=lc(Z_,X1,0,!1,!1,0))||Vd(Z_)&&Vd(X1)||(Z0&=lc(Z_,X1,1,!1,!1,0))),!Z0)return Z0}return Z0}(Pi,cC);if(hw)return hw}}}return 0;function mT(Z_){return Z_?e.reduceLeft(Z_,function(WS,PS){return WS+1+mT(PS.next)},0):0}function hT(Z_,WS,PS,GA){if(Ic=function(r4,N5,HC,oA,o){if(r4===void 0&&(r4=e.emptyArray),N5===void 0&&(N5=e.emptyArray),HC===void 0&&(HC=e.emptyArray),r4.length!==N5.length&&g===qa)return 0;for(var p=r4.length<=N5.length?r4.length:N5.length,h=-1,y=0;y<p;y++){var k=y<HC.length?HC[y]:1,Q=7&k;if(Q!==4){var $0=r4[y],j0=N5[y],Z0=-1;if(8&k?Z0=g===qa?Et($0,j0,!1):L_($0,j0):Q===1?Z0=Et($0,j0,oA,void 0,o):Q===2?Z0=Et(j0,$0,oA,void 0,o):Q===3?(Z0=Et(j0,$0,!1))||(Z0=Et($0,j0,oA,void 0,o)):(Z0=Et($0,j0,oA,void 0,o))&&(Z0&=Et(j0,$0,oA,void 0,o)),!Z0)return 0;h&=Z0}}return h}(Z_,WS,PS,nc,GA))return Ic;if(e.some(PS,function(r4){return!!(24&r4)}))return m8=void 0,void Ra(Jc);var IT=WS&&function(r4,N5){for(var HC=0;HC<N5.length;HC++)if((7&N5[HC])==1&&16384&r4[HC].flags)return!0;return!1}(WS,PS);if(hp=!IT,PS!==e.emptyArray&&!IT){if(hp&&(!nc||!e.some(PS,function(r4){return(7&r4)==0})))return 0;m8=u1,Ra(Jc)}}}(qi,eo,Co,ou);return e.tracing===null||e.tracing===void 0||e.tracing.pop(),Cs}function Wt(qi){return!bc||qi!==BF&&qi!==Qp&&qi!==Ro||bc(!1),qi}function dn(qi){return!bc||qi!==BF&&qi!==Qp&&qi!==Ro||bc(!0),qi}function Si(qi,eo){if(!eo||qi.length===0)return qi;for(var Co,ou=0;ou<qi.length;ou++)eo.has(qi[ou].escapedName)?Co||(Co=qi.slice(0,ou)):Co&&Co.push(qi[ou]);return Co||qi}function yi(qi,eo,Co,ou,Cs,Pi,Ia,nc){var g2=e.getDeclarationModifierFlagsFromSymbol(Co),yb=e.getDeclarationModifierFlagsFromSymbol(ou);if(8&g2||8&yb){if(Co.valueDeclaration!==ou.valueDeclaration)return Pi&&(8&g2&&8&yb?zi(e.Diagnostics.Types_have_separate_declarations_of_a_private_property_0,Is(ou)):zi(e.Diagnostics.Property_0_is_private_in_type_1_but_not_in_type_2,Is(ou),ka(8&g2?qi:eo),ka(8&g2?eo:qi))),0}else if(16&yb){if(!function(m8,cs){return!o7(cs,function(Ul){return!!(16&e.getDeclarationModifierFlagsFromSymbol(Ul))&&(hp=m8,Jc=hy(Ul),!o7(hp,function(jE){var Wd=hy(jE);return!!Wd&&A_(Wd,Jc)}));var hp,Jc})}(Co,ou))return Pi&&zi(e.Diagnostics.Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2,Is(ou),ka(hy(Co)||qi),ka(hy(ou)||eo)),0}else if(16&g2)return Pi&&zi(e.Diagnostics.Property_0_is_protected_in_type_1_but_public_in_type_2,Is(ou),ka(qi),ka(eo)),0;var Ic=function(m8,cs,Ul,hp,Jc){var jE=C1&&!!(48&e.getCheckFlags(cs)),Wd=Ul(m8);if(65536&e.getCheckFlags(cs)&&!Zo(cs).type){var RD=Zo(cs);e.Debug.assertIsDefined(RD.deferralParent),e.Debug.assertIsDefined(RD.deferralConstituents);for(var Ru=!!(1048576&RD.deferralParent.flags),Yf=Ru?0:-1,gh=0,b6=RD.deferralConstituents;gh<b6.length;gh++){var RF=Et(Wd,b6[gh],!1,void 0,Ru?0:2);if(Ru){if(RF)return RF}else{if(!RF)return Et(Wd,Of(Yo(cs),jE),hp);Yf&=RF}}return Ru&&!Yf&&jE&&(Yf=Et(Wd,Gr)),Ru&&!Yf&&hp?Et(Wd,Of(Yo(cs),jE),hp):Yf}return Et(Wd,Of(Yo(cs),jE),hp,void 0,Jc)}(Co,ou,Cs,Pi,Ia);return Ic?nc||!(16777216&Co.flags)||16777216&ou.flags?Ic:(Pi&&zi(e.Diagnostics.Property_0_is_optional_in_type_1_but_required_in_type_2,Is(ou),ka(qi),ka(eo)),0):(Pi&&ti(e.Diagnostics.Types_of_property_0_are_incompatible,Is(ou)),0)}function l(qi,eo,Co,ou){var Cs=!1;if(Co.valueDeclaration&&e.isNamedDeclaration(Co.valueDeclaration)&&e.isPrivateIdentifier(Co.valueDeclaration.name)&&qi.symbol&&32&qi.symbol.flags){var Pi=Co.valueDeclaration.name.escapedText,Ia=e.getSymbolNameForPrivateIdentifier(qi.symbol,Pi);if(Ia&&ec(qi,Ia)){var nc=e.factory.getDeclarationName(qi.symbol.valueDeclaration),g2=e.factory.getDeclarationName(eo.symbol.valueDeclaration);return void zi(e.Diagnostics.Property_0_in_type_1_refers_to_a_different_member_that_cannot_be_accessed_from_within_type_2,md(Pi),md(nc.escapedText===\"\"?i0:nc),md(g2.escapedText===\"\"?i0:g2))}}var yb,Ic=e.arrayFrom(jR(qi,eo,ou,!1));if((!F||F.code!==e.Diagnostics.Class_0_incorrectly_implements_interface_1.code&&F.code!==e.Diagnostics.Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclass.code)&&(Cs=!0),Ic.length===1){var m8=Is(Co);zi.apply(void 0,D([e.Diagnostics.Property_0_is_missing_in_type_1_but_required_in_type_2,m8],lg(qi,eo))),e.length(Co.declarations)&&(yb=e.createDiagnosticForNode(Co.declarations[0],e.Diagnostics._0_is_declared_here,m8),e.Debug.assert(!!u1),M1?M1.push(yb):M1=[yb]),Cs&&u1&&vr++}else Ms(qi,eo,!1)&&(Ic.length>5?zi(e.Diagnostics.Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more,ka(qi),ka(eo),e.map(Ic.slice(0,4),function(cs){return Is(cs)}).join(\", \"),Ic.length-4):zi(e.Diagnostics.Type_0_is_missing_the_following_properties_from_type_1_Colon_2,ka(qi),ka(eo),e.map(Ic,function(cs){return Is(cs)}).join(\", \")),Cs&&u1&&vr++)}function z(qi,eo,Co,ou,Cs){if(g===qa)return function(uk,mw,hN){if(!(524288&uk.flags&&524288&mw.flags))return 0;var jF=Si(Gm(uk),hN),An=Si(Gm(mw),hN);if(jF.length!==An.length)return 0;for(var Rs=-1,fc=0,Vo=jF;fc<Vo.length;fc++){var sl=Vo[fc],Tl=j9(mw,sl.escapedName);if(!Tl)return 0;var e2=IC(sl,Tl,Et);if(!e2)return 0;Rs&=e2}return Rs}(qi,eo,ou);var Pi=-1;if(Vd(eo)){if(NA(qi)||Vd(qi)){if(!eo.target.readonly&&(qI(qi)||Vd(qi)&&qi.target.readonly))return 0;var Ia=DP(qi),nc=DP(eo),g2=Vd(qi)?4&qi.target.combinedFlags:4,yb=4&eo.target.combinedFlags,Ic=Vd(qi)?qi.target.minLength:0,m8=eo.target.minLength;if(!g2&&Ia<m8)return Co&&zi(e.Diagnostics.Source_has_0_element_s_but_target_requires_1,Ia,m8),0;if(!yb&&nc<Ic)return Co&&zi(e.Diagnostics.Source_has_0_element_s_but_target_allows_only_1,Ic,nc),0;if(!yb&&g2)return Co&&(Ic<m8?zi(e.Diagnostics.Target_requires_0_element_s_but_source_may_have_fewer,m8):zi(e.Diagnostics.Target_allows_only_0_element_s_but_source_may_have_more,nc)),0;for(var cs=Cc(qi),Ul=Cc(eo),hp=Math.min(Vd(qi)?hE(qi.target,11):0,hE(eo.target,11)),Jc=Math.min(Vd(qi)?IO(qi.target,11):0,yb?IO(eo.target,11):0),jE=!!ou,Wd=0;Wd<nc;Wd++){var RD=Wd<nc-Jc?Wd:Wd+Ia-nc,Ru=Vd(qi)&&(Wd<hp||Wd>=nc-Jc)?qi.target.elementFlags[RD]:4,Yf=eo.target.elementFlags[Wd];if(8&Yf&&!(8&Ru))return Co&&zi(e.Diagnostics.Source_provides_no_match_for_variadic_element_at_position_0_in_target,Wd),0;if(8&Ru&&!(12&Yf))return Co&&zi(e.Diagnostics.Variadic_element_at_position_0_in_source_does_not_match_element_at_position_1_in_target,RD,Wd),0;if(1&Yf&&!(1&Ru))return Co&&zi(e.Diagnostics.Source_provides_no_match_for_required_element_at_position_0_in_target,Wd),0;if(!(jE&&((12&Ru||12&Yf)&&(jE=!1),jE&&(ou==null?void 0:ou.has(\"\"+Wd))))){var gh=Vd(qi)?Wd<hp||Wd>=nc-Jc?cs[RD]:UO(qi,hp,Jc)||Mn:cs[0],b6=Ul[Wd];if(!(Pw=Et(gh,8&Ru&&4&Yf?zf(b6):b6,Co,void 0,Cs)))return Co&&(Wd<hp||Wd>=nc-Jc||Ia-hp-Jc==1?ti(e.Diagnostics.Type_at_position_0_in_source_is_not_compatible_with_type_at_position_1_in_target,RD,Wd):ti(e.Diagnostics.Type_at_positions_0_through_1_in_source_is_not_compatible_with_type_at_position_2_in_target,hp,Ia-Jc-1,Wd)),0;Pi&=Pw}}return Pi}if(12&eo.target.combinedFlags)return 0}var RF=!(g!==it&&g!==Ln||xh(qi)||xL(qi)||Vd(qi)),IA=OC(qi,eo,RF,!1);if(IA)return Co&&l(qi,eo,IA,RF),0;if(xh(eo)){for(var kS=0,j4=Si($c(qi),ou);kS<j4.length;kS++)if(!j9(eo,(UE=j4[kS]).escapedName)&&(gh=Yo(UE))!==Gr&&gh!==B&&gh!==h0)return Co&&zi(e.Diagnostics.Property_0_does_not_exist_on_type_1,Is(UE),ka(eo)),0}for(var T4=$c(eo),JC=Vd(qi)&&Vd(eo),u6=0,kd=Si(T4,ou);u6<kd.length;u6++){var UE,iF=kd[u6],Nw=iF.escapedName;if(!(4194304&iF.flags)&&(!JC||nd(Nw)||Nw===\"length\")&&(UE=ec(qi,Nw))&&UE!==iF){var Pw;if(!(Pw=yi(qi,eo,UE,iF,Yo,Co,Cs,g===La)))return 0;Pi&=Pw}}return Pi}function zr(qi,eo,Co,ou){var Cs,Pi;if(g===qa)return function(kd,UE,iF){var Nw=_u(kd,iF),Pw=_u(UE,iF);if(Nw.length!==Pw.length)return 0;for(var uk=-1,mw=0;mw<Nw.length;mw++){var hN=ZB(Nw[mw],Pw[mw],!1,!1,!1,Et);if(!hN)return 0;uk&=hN}return uk}(qi,eo,Co);if(eo===K8||qi===K8)return-1;var Ia=qi.symbol&&am(qi.symbol.valueDeclaration),nc=eo.symbol&&am(eo.symbol.valueDeclaration),g2=_u(qi,Ia&&Co===1?0:Co),yb=_u(eo,nc&&Co===1?0:Co);if(Co===1&&g2.length&&yb.length){var Ic=!!(4&g2[0].flags),m8=!!(4&yb[0].flags);if(Ic&&!m8)return ou&&zi(e.Diagnostics.Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type),0;if(!function(kd,UE,iF){if(!kd.declaration||!UE.declaration)return!0;var Nw=e.getSelectedEffectiveModifierFlags(kd.declaration,24),Pw=e.getSelectedEffectiveModifierFlags(UE.declaration,24);return Pw===8||Pw===16&&Nw!==8||Pw!==16&&!Nw?!0:(iF&&zi(e.Diagnostics.Cannot_assign_a_0_constructor_type_to_a_1_constructor_type,Ok(Nw),Ok(Pw)),!1)}(g2[0],yb[0],ou))return 0}var cs=-1,Ul=yn(),hp=Co===1?Oo:re,Jc=e.getObjectFlags(qi),jE=e.getObjectFlags(eo);if(64&Jc&&64&jE&&qi.symbol===eo.symbol)for(var Wd=0;Wd<yb.length;Wd++){if(!(JC=yu(g2[Wd],yb[Wd],!0,ou,hp(g2[Wd],yb[Wd]))))return 0;cs&=JC}else if(g2.length===1&&yb.length===1){var RD=g===La||!!V1.noStrictGenericChecks,Ru=e.first(g2),Yf=e.first(yb);if(!(cs=yu(Ru,Yf,RD,ou,hp(Ru,Yf)))&&ou&&Co===1&&Jc&jE&&(((Cs=Yf.declaration)===null||Cs===void 0?void 0:Cs.kind)===167||((Pi=Ru.declaration)===null||Pi===void 0?void 0:Pi.kind)===167)){var gh=function(kd){return O2(kd,void 0,262144,Co)};return zi(e.Diagnostics.Type_0_is_not_assignable_to_type_1,gh(Ru),gh(Yf)),zi(e.Diagnostics.Types_of_construct_signatures_are_incompatible),cs}}else x:for(var b6=0,RF=yb;b6<RF.length;b6++){for(var IA=RF[b6],kS=ou,j4=0,T4=g2;j4<T4.length;j4++){var JC,u6=T4[j4];if(JC=yu(u6,IA,!0,kS,hp(u6,IA))){cs&=JC,Ra(Ul);continue x}kS=!1}return kS&&zi(e.Diagnostics.Type_0_provides_no_match_for_the_signature_1,ka(qi),O2(IA,void 0,void 0,Co)),0}return cs}function re(qi,eo){return qi.parameters.length===0&&eo.parameters.length===0?function(Co,ou){return ti(e.Diagnostics.Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1,ka(Co),ka(ou))}:function(Co,ou){return ti(e.Diagnostics.Call_signature_return_types_0_and_1_are_incompatible,ka(Co),ka(ou))}}function Oo(qi,eo){return qi.parameters.length===0&&eo.parameters.length===0?function(Co,ou){return ti(e.Diagnostics.Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1,ka(Co),ka(ou))}:function(Co,ou){return ti(e.Diagnostics.Construct_signature_return_types_0_and_1_are_incompatible,ka(Co),ka(ou))}}function yu(qi,eo,Co,ou,Cs){return Ho(Co?KI(qi):qi,Co?KI(eo):eo,g===Ln?8:0,ou,zi,Cs,Et,Zm(dn))}function dl(qi,eo,Co){var ou=Et(qi,eo,Co);return!ou&&Co&&zi(e.Diagnostics.Index_signatures_are_incompatible),ou}function lc(qi,eo,Co,ou,Cs,Pi){if(g===qa)return function(m8,cs,Ul){var hp=vC(cs,Ul),Jc=vC(m8,Ul);return!Jc&&!hp?-1:Jc&&hp&&Jc.isReadonly===hp.isReadonly?Et(Jc.type,hp.type):0}(qi,eo,Co);var Ia=Ff(eo,Co);if(!Ia)return-1;if(1&Ia.flags&&!ou){var nc=Co===0?Ia:Ff(eo,0);if(nc&&1&nc.flags)return-1}if(Sd(qi))return Ff(eo,0)?Et(Y2(qi),Ia,Cs):0;var g2=Ff(qi,Co)||Co===1&&Ff(qi,0);if(g2)return dl(g2,Ia,Cs);if(!(1&Pi)&&gy(qi)){var yb=function(m8,cs,Ul,hp){for(var Jc=-1,jE=0,Wd=2097152&m8.flags?UB(m8):Gm(m8);jE<Wd.length;jE++){var RD=Wd[jE];if(!sU(m8,RD)){var Ru=Zo(RD).nameType;if(!(Ru&&8192&Ru.flags)&&(Ul===0||nd(RD.escapedName))){var Yf=Yo(RD),gh=Et(32768&Yf.flags||!(Ul===0&&16777216&RD.flags)?Yf:KS(Yf,524288),cs,hp);if(!gh)return hp&&zi(e.Diagnostics.Property_0_is_incompatible_with_index_signature,Is(RD)),0;Jc&=gh}}}return Jc}(qi,Ia,Co,Cs);if(yb&&Co===0){var Ic=Ff(qi,1);Ic&&(yb&=dl(Ic,Ia,Cs))}return yb}return Cs&&zi(e.Diagnostics.Index_signature_is_missing_in_type_0,ka(qi)),0}}function mv(r){if(16&r.flags)return!1;if(3145728&r.flags)return!!e.forEach(r.types,mv);if(465829888&r.flags){var f=Wh(r);if(f&&f!==r)return mv(f)}return rm(r)||!!(134217728&r.flags)}function OR(r,f,g){return g===void 0&&(g=X$),_j(r,f,g,!0)||function(E,F){var q=e.getObjectFlags(E);if(20&q&&1048576&F.flags)return e.find(F.types,function(T0){if(524288&T0.flags){var u1=q&e.getObjectFlags(T0);if(4&u1)return E.target===T0.target;if(16&u1)return!!E.aliasSymbol&&E.aliasSymbol===T0.aliasSymbol}return!1})}(r,f)||function(E,F){if(128&e.getObjectFlags(E)&&Zg(F,uw))return e.find(F.types,function(q){return!uw(q)})}(r,f)||function(E,F){var q=0;if(_u(E,q).length>0||_u(E,q=1).length>0)return e.find(F.types,function(T0){return _u(T0,q).length>0})}(r,f)||function(E,F){for(var q,T0=0,u1=0,M1=F.types;u1<M1.length;u1++){var A1=M1[u1],lx=Kc([Ck(E),Ck(A1)]);if(4194304&lx.flags)q=A1,T0=1/0;else if(1048576&lx.flags){var Vx=e.length(e.filter(lx.types,rm));Vx>=T0&&(q=A1,T0=Vx)}else rm(lx)&&1>=T0&&(q=A1,T0=1)}return q}(r,f)}function hv(r,f,g,E,F){for(var q=r.types.map(function(Yt){}),T0=0,u1=f;T0<u1.length;T0++){var M1=u1[T0],A1=M1[0],lx=M1[1],Vx=FV(r,lx);if(!(F&&Vx&&16&e.getCheckFlags(Vx)))for(var ye=0,Ue=0,Ge=r.types;Ue<Ge.length;Ue++){var er=qc(Ge[Ue],lx);er&&g(A1(),er)?q[ye]=q[ye]===void 0||q[ye]:q[ye]=!1,ye++}}var Ar=q.indexOf(!0);if(Ar===-1)return E;for(var vr=q.indexOf(!0,Ar+1);vr!==-1;){if(!tm(r.types[Ar],r.types[vr]))return E;vr=q.indexOf(!0,vr+1)}return r.types[Ar]}function uU(r){if(524288&r.flags){var f=b2(r);return f.callSignatures.length===0&&f.constructSignatures.length===0&&!f.stringIndexInfo&&!f.numberIndexInfo&&f.properties.length>0&&e.every(f.properties,function(g){return!!(16777216&g.flags)})}return!!(2097152&r.flags)&&e.every(r.types,uU)}function w3(r,f,g){var E=ym(r,e.map(r.typeParameters,function(F){return F===f?g:F}));return E.objectFlags|=4096,E}function Az(r){var f=Zo(r);return gv(f.typeParameters,f,function(g,E,F){var q=vP(r,em(f.typeParameters,Dg(E,F)));return q.aliasTypeArgumentsContainsMarker=!0,q})}function gv(r,f,g){var E,F,q;r===void 0&&(r=e.emptyArray);var T0=f.variances;if(!T0){e.tracing===null||e.tracing===void 0||e.tracing.push(\"checkTypes\",\"getVariancesWorker\",{arity:r.length,id:(q=(E=f.id)!==null&&E!==void 0?E:(F=f.declaredType)===null||F===void 0?void 0:F.id)!==null&&q!==void 0?q:-1}),f.variances=e.emptyArray,T0=[];for(var u1=function(lx){var Vx=!1,ye=!1,Ue=bc;bc=function(vr){return vr?ye=!0:Vx=!0};var Ge=g(f,lx,BF),er=g(f,lx,Qp),Ar=(cc(er,Ge)?1:0)|(cc(Ge,er)?2:0);Ar===3&&cc(g(f,lx,Ro),Ge)&&(Ar=4),bc=Ue,(Vx||ye)&&(Vx&&(Ar|=8),ye&&(Ar|=16)),T0.push(Ar)},M1=0,A1=r;M1<A1.length;M1++)u1(A1[M1]);f.variances=T0,e.tracing===null||e.tracing===void 0||e.tracing.pop()}return T0}function Zy(r){return r===df||r===pl||8&r.objectFlags?N1:gv(r.typeParameters,r,w3)}function bE(r){return 262144&r.flags&&!_d(r)}function xD(r){return function(f){return!!(4&e.getObjectFlags(f))&&!f.node}(r)&&e.some(Cc(r),function(f){return!!(262144&f.flags)||xD(f)})}function R_(r,f,g){g===void 0&&(g=0);for(var E=\"\"+r.target.id,F=0,q=Cc(r);F<q.length;F++){var T0=q[F];if(bE(T0)){var u1=f.indexOf(T0);u1<0&&(u1=f.length,f.push(T0)),E+=\"=\"+u1}else g<4&&xD(T0)?E+=\"<\"+R_(T0,f,g+1)+\">\":E+=\"-\"+T0.id}return E}function fs(r,f,g,E){if(E===qa&&r.id>f.id){var F=r;r=f,f=F}var q=g?\":\"+g:\"\";if(xD(r)&&xD(f)){var T0=[];return R_(r,T0)+\",\"+R_(f,T0)+q}return r.id+\",\"+f.id+q}function o7(r,f){if(!(6&e.getCheckFlags(r)))return f(r);for(var g=0,E=r.containingType.types;g<E.length;g++){var F=ec(E[g],r.escapedName),q=F&&o7(F,f);if(q)return q}}function hy(r){return r.parent&&32&r.parent.flags?Il(I2(r)):void 0}function cM(r){var f=hy(r),g=f&&bk(f)[0];return g&&qc(g,r.escapedName)}function _v(r,f,g){if(g>=5){for(var E=j_(r),F=0,q=0;q<g;q++)if(j_(f[q])===E&&++F>=5)return!0}return!1}function j_(r){if(524288&r.flags&&!oD(r)){if(e.getObjectFlags(r)&&r.node)return r.node;if(r.symbol&&!(16&e.getObjectFlags(r)&&32&r.symbol.flags))return r.symbol;if(Vd(r))return r.target}if(262144&r.flags)return r.symbol;if(8388608&r.flags){do r=r.objectType;while(8388608&r.flags);return r}return 16777216&r.flags?r.root:r}function yv(r,f){return IC(r,f,L_)!==0}function IC(r,f,g){if(r===f)return-1;var E=24&e.getDeclarationModifierFlagsFromSymbol(r);if(E!==(24&e.getDeclarationModifierFlagsFromSymbol(f)))return 0;if(E){if(GN(r)!==GN(f))return 0}else if((16777216&r.flags)!=(16777216&f.flags))return 0;return j2(r)!==j2(f)?0:g(Yo(r),Yo(f))}function ZB(r,f,g,E,F,q){if(r===f)return-1;if(!function(vr,Yt,nn){var Nn=wd(vr),Ei=wd(Yt),Ca=fw(vr),Aa=fw(Yt),Qi=Sk(vr),Oa=Sk(Yt);return Nn===Ei&&Ca===Aa&&Qi===Oa||!!(nn&&Ca<=Aa)}(r,f,g)||e.length(r.typeParameters)!==e.length(f.typeParameters))return 0;if(f.typeParameters){for(var T0=yg(r.typeParameters,f.typeParameters),u1=0;u1<f.typeParameters.length;u1++)if(!((Ge=r.typeParameters[u1])===(ye=f.typeParameters[u1])||q(xo(KB(Ge),T0)||ut,KB(ye)||ut)&&q(xo($N(Ge),T0)||ut,$N(ye)||ut)))return 0;r=vg(r,T0,!0)}var M1=-1;if(!E){var A1=Tw(r);if(A1){var lx=Tw(f);if(lx){if(!(Ue=q(A1,lx)))return 0;M1&=Ue}}}var Vx=wd(f);for(u1=0;u1<Vx;u1++){var ye,Ue,Ge=p5(r,u1);if(!(Ue=q(ye=p5(f,u1),Ge)))return 0;M1&=Ue}if(!F){var er=kA(r),Ar=kA(f);M1&=er||Ar?function(vr,Yt,nn){return vr&&Yt&&HB(vr,Yt)?vr.type===Yt.type?-1:vr.type&&Yt.type?nn(vr.type,Yt.type):0:0}(er,Ar,q):q(yc(r),yc(f))}return M1}function BR(r){return r.length===1?r[0]:function(f){for(var g,E=0,F=f;E<F.length;E++){var q=F[E],T0=F4(q);if(g||(g=T0),T0===q||T0!==g)return!1}return!0}(r)?Lo(r):e.reduceLeft(r,function(f,g){return bm(f,g)?g:f})}function NA(r){return!!(4&e.getObjectFlags(r))&&(r.target===df||r.target===pl)}function qI(r){return!!(4&e.getObjectFlags(r))&&r.target===pl}function jO(r){return NA(r)&&!qI(r)||Vd(r)&&!r.target.readonly}function Dv(r){return NA(r)?Cc(r)[0]:void 0}function uw(r){return NA(r)||!(98304&r.flags)&&cc(r,l2)}function eD(r){if(4&e.getObjectFlags(r)&&3&e.getObjectFlags(r.target)){if(33554432&e.getObjectFlags(r))return 67108864&e.getObjectFlags(r)?r.cachedEquivalentBaseType:void 0;r.objectFlags|=33554432;var f=r.target,g=bk(f);if(g.length===1&&!si(r.symbol).size){var E=e.length(f.typeParameters)?xo(g[0],yg(f.typeParameters,Cc(r).slice(0,f.typeParameters.length))):g[0];return e.length(Cc(r))>e.length(f.typeParameters)&&(E=Fw(E,e.last(Cc(r)))),r.objectFlags|=67108864,r.cachedEquivalentBaseType=E}}}function xL(r){var f=Dv(r);return C1?f===Fr:f===B}function Gg(r){return Vd(r)||!!ec(r,\"0\")}function vv(r){return uw(r)||Gg(r)}function k3(r){return!(240512&r.flags)}function rm(r){return!!(109440&r.flags)}function tD(r){return 2097152&r.flags?e.some(r.types,rm):!!(109440&r.flags)}function tI(r){return!!(16&r.flags)||(1048576&r.flags?!!(1024&r.flags)||e.every(r.types,rm):rm(r))}function F4(r){return 1024&r.flags?Zj(r):128&r.flags?l1:256&r.flags?Hx:2048&r.flags?ge:512&r.flags?rn:1048576&r.flags?rf(r,F4):r}function fh(r){return 1024&r.flags&&ch(r)?Zj(r):128&r.flags&&ch(r)?l1:256&r.flags&&ch(r)?Hx:2048&r.flags&&ch(r)?ge:512&r.flags&&ch(r)?rn:1048576&r.flags?rf(r,fh):r}function cU(r){return 8192&r.flags?_t:1048576&r.flags?rf(r,cU):r}function Yr(r,f){return r_(r,f)||(r=cU(fh(r))),r}function Uk(r,f,g,E){return r&&rm(r)&&(r=Yr(r,f?Y_(g,f,E):void 0)),r}function Vd(r){return!!(4&e.getObjectFlags(r)&&8&r.target.objectFlags)}function Y6(r){return Vd(r)&&!!(8&r.target.combinedFlags)}function eL(r){return Y6(r)&&r.target.elementFlags.length===1}function U_(r){return UO(r,r.target.fixedLength)}function UO(r,f,g,E){g===void 0&&(g=0),E===void 0&&(E=!1);var F=DP(r)-g;if(f<F){for(var q=Cc(r),T0=[],u1=f;u1<F;u1++){var M1=q[u1];T0.push(8&r.target.elementFlags[u1]?JT(M1,Hx):M1)}return E?Kc(T0):Lo(T0)}}function rD(r){return r.value.base10Value===\"0\"}function bv(r){for(var f=0,g=0,E=r;g<E.length;g++)f|=MF(E[g]);return f}function MF(r){return 1048576&r.flags?bv(r.types):128&r.flags?r.value===\"\"?128:0:256&r.flags?r.value===0?256:0:2048&r.flags?rD(r)?2048:0:512&r.flags?r===Pe||r===It?512:0:117724&r.flags}function rk(r){return 117632&MF(r)?aA(r,function(f){return!(117632&MF(f))}):r}function V_(r){return rf(r,N3)}function N3(r){return 4&r.flags?Wl:8&r.flags?Vp:64&r.flags?$f:r===It||r===Pe||114691&r.flags||128&r.flags&&r.value===\"\"||256&r.flags&&r.value===0||2048&r.flags&&rD(r)?r:Mn}function $_(r,f){var g=f&~r.flags&98304;return g===0?r:Lo(g===32768?[r,Gr]:g===65536?[r,M]:[r,Gr,M])}function nm(r){return e.Debug.assert(C1),32768&r.flags?r:Lo([r,Gr])}function Cm(r){return C1?function(f){var g=KS(f,2097152);return pd||(pd=Ym(\"NonNullable\",524288,void 0)||W1),pd!==W1?vP(pd,[g]):g}(r):r}function Cv(r){return C1?Lo([r,h0]):r}function P3(r){return r!==h0}function tL(r){return C1?aA(r,P3):r}function K_(r,f,g){return g?e.isOutermostOptionalChain(f)?nm(r):Cv(r):r}function Ev(r,f){return e.isExpressionOfOptionalChainRoot(f)?Cm(r):e.isOptionalChain(f)?tL(r):r}function gy(r){return 2097152&r.flags?e.every(r.types,gy):!(!r.symbol||(7040&r.symbol.flags)==0||jV(r))||!!(1024&e.getObjectFlags(r)&&gy(r.source))}function ph(r,f){var g=f2(r.flags,r.escapedName,8&e.getCheckFlags(r));g.declarations=r.declarations,g.parent=r.parent,g.type=f,g.target=r,r.valueDeclaration&&(g.valueDeclaration=r.valueDeclaration);var E=Zo(r).nameType;return E&&(g.nameType=E),g}function Xg(r){if(!(xh(r)&&16384&e.getObjectFlags(r)))return r;var f=r.regularType;if(f)return f;var g=r,E=function(q,T0){for(var u1=e.createSymbolTable(),M1=0,A1=Gm(q);M1<A1.length;M1++){var lx=A1[M1],Vx=Yo(lx),ye=T0(Vx);u1.set(lx.escapedName,ye===Vx?lx:ph(lx,ye))}return u1}(r,Xg),F=yo(g.symbol,E,g.callSignatures,g.constructSignatures,g.stringIndexInfo,g.numberIndexInfo);return F.flags=g.flags,F.objectFlags|=-16385&g.objectFlags,r.regularType=F,F}function Sv(r,f,g){return{parent:r,propertyName:f,siblings:g,resolvedProperties:void 0}}function s7(r){if(!r.siblings){for(var f=[],g=0,E=s7(r.parent);g<E.length;g++){var F=E[g];if(xh(F)){var q=j9(F,r.propertyName);q&&HI(Yo(q),function(T0){f.push(T0)})}}r.siblings=f}return r.siblings}function I3(r){if(!r.resolvedProperties){for(var f=new e.Map,g=0,E=s7(r);g<E.length;g++){var F=E[g];if(xh(F)&&!(4194304&e.getObjectFlags(F)))for(var q=0,T0=$c(F);q<T0.length;q++){var u1=T0[q];f.set(u1.escapedName,u1)}}r.resolvedProperties=e.arrayFrom(f.values())}return r.resolvedProperties}function Y$(r,f){if(!(4&r.flags))return r;var g=Yo(r),E=lM(g,f&&Sv(f,r.escapedName,void 0));return E===g?r:ph(r,E)}function NV(r){var f=Yn.get(r.escapedName);if(f)return f;var g=ph(r,Gr);return g.flags|=16777216,Yn.set(r.escapedName,g),g}function Bp(r){return lM(r,void 0)}function lM(r,f){if(393216&e.getObjectFlags(r)){if(f===void 0&&r.widened)return r.widened;var g=void 0;if(98305&r.flags)g=E1;else if(xh(r))g=function(q,T0){for(var u1=e.createSymbolTable(),M1=0,A1=Gm(q);M1<A1.length;M1++){var lx=A1[M1];u1.set(lx.escapedName,Y$(lx,T0))}if(T0)for(var Vx=0,ye=I3(T0);Vx<ye.length;Vx++)lx=ye[Vx],u1.has(lx.escapedName)||u1.set(lx.escapedName,NV(lx));var Ue=vC(q,0),Ge=vC(q,1),er=yo(q.symbol,u1,e.emptyArray,e.emptyArray,Ue&&Fd(Bp(Ue.type),Ue.isReadonly),Ge&&Fd(Bp(Ge.type),Ge.isReadonly));return er.objectFlags|=532480&e.getObjectFlags(q),er}(r,f);else if(1048576&r.flags){var E=f||Sv(void 0,void 0,r.types),F=e.sameMap(r.types,function(q){return 98304&q.flags?q:lM(q,E)});g=Lo(F,e.some(F,lh)?2:1)}else 2097152&r.flags?g=Kc(e.sameMap(r.types,Bp)):(NA(r)||Vd(r))&&(g=ym(r.target,e.sameMap(Cc(r),Bp)));return g&&f===void 0&&(r.widened=g),g||r}return r}function nD(r){var f=!1;if(131072&e.getObjectFlags(r)){if(1048576&r.flags)if(e.some(r.types,lh))f=!0;else for(var g=0,E=r.types;g<E.length;g++)nD(A1=E[g])&&(f=!0);if(NA(r)||Vd(r))for(var F=0,q=Cc(r);F<q.length;F++)nD(A1=q[F])&&(f=!0);if(xh(r))for(var T0=0,u1=Gm(r);T0<u1.length;T0++){var M1=u1[T0],A1=Yo(M1);131072&e.getObjectFlags(A1)&&(nD(A1)||ht(M1.valueDeclaration,e.Diagnostics.Object_literal_s_property_0_implicitly_has_an_1_type,Is(M1),ka(Bp(A1))),f=!0)}}return f}function Mm(r,f,g){var E=ka(Bp(f));if(!e.isInJSFile(r)||e.isCheckJsEnabledForFile(e.getSourceFileOfNode(r),V1)){var F;switch(r.kind){case 217:case 164:case 163:F=Px?e.Diagnostics.Member_0_implicitly_has_an_1_type:e.Diagnostics.Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage;break;case 161:var q=r;if(e.isIdentifier(q.name)&&(e.isCallSignatureDeclaration(q.parent)||e.isMethodSignature(q.parent)||e.isFunctionTypeNode(q.parent))&&q.parent.parameters.indexOf(q)>-1&&(j6(q,q.name.escapedText,788968,void 0,q.name.escapedText,!0)||q.name.originalKeywordKind&&e.isTypeNodeKind(q.name.originalKeywordKind))){var T0=\"arg\"+q.parent.parameters.indexOf(q);return void Gc(Px,r,e.Diagnostics.Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1,T0,e.declarationNameToString(q.name))}F=r.dotDotDotToken?Px?e.Diagnostics.Rest_parameter_0_implicitly_has_an_any_type:e.Diagnostics.Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage:Px?e.Diagnostics.Parameter_0_implicitly_has_an_1_type:e.Diagnostics.Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage;break;case 199:if(F=e.Diagnostics.Binding_element_0_implicitly_has_an_1_type,!Px)return;break;case 309:return void ht(r,e.Diagnostics.Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type,E);case 252:case 166:case 165:case 168:case 169:case 209:case 210:if(Px&&!r.name)return void ht(r,g===3?e.Diagnostics.Generator_implicitly_has_yield_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_type_annotation:e.Diagnostics.Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type,E);F=Px?g===3?e.Diagnostics._0_which_lacks_return_type_annotation_implicitly_has_an_1_yield_type:e.Diagnostics._0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type:e.Diagnostics._0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage;break;case 191:return void(Px&&ht(r,e.Diagnostics.Mapped_object_type_implicitly_has_an_any_template_type));default:F=Px?e.Diagnostics.Variable_0_implicitly_has_an_1_type:e.Diagnostics.Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage}Gc(Px,r,F,e.declarationNameToString(e.getNameOfDeclaration(r)),E)}}function iD(r,f,g){!($1&&Px&&131072&e.getObjectFlags(f))||g&&M2(r)||nD(f)||Mm(r,f,g)}function Fv(r,f,g){var E=wd(r),F=wd(f),q=$d(r),T0=$d(f),u1=T0?F-1:F,M1=q?u1:Math.min(E,u1),A1=Tw(r);if(A1){var lx=Tw(f);lx&&g(A1,lx)}for(var Vx=0;Vx<M1;Vx++)g(p5(r,Vx),p5(f,Vx));T0&&g(DD(r,M1),T0)}function Q$(r,f,g){var E=kA(r),F=kA(f);E&&F&&HB(E,F)&&E.type&&F.type?g(E.type,F.type):g(yc(r),yc(f))}function D9(r,f,g,E){return CE(r.map(LR),f,g,E||X$)}function CE(r,f,g,E){var F={inferences:r,signature:f,flags:g,compareTypes:E,mapper:Zm(function(q){return Vk(F,q,!0)}),nonFixingMapper:Zm(function(q){return Vk(F,q,!1)})};return F}function Vk(r,f,g){for(var E=r.inferences,F=0;F<E.length;F++){var q=E[F];if(f===q.typeParameter)return g&&!q.isFixed&&(aD(E),q.isFixed=!0),Td(r,F)}return f}function aD(r){for(var f=0,g=r;f<g.length;f++){var E=g[f];E.isFixed||(E.inferredType=void 0)}}function LR(r){return{typeParameter:r,candidates:void 0,contraCandidates:void 0,inferredType:void 0,priority:void 0,topLevel:!0,isFixed:!1,impliedArity:void 0}}function u7(r){return{typeParameter:r.typeParameter,candidates:r.candidates&&r.candidates.slice(),contraCandidates:r.contraCandidates&&r.contraCandidates.slice(),inferredType:r.inferredType,priority:r.priority,topLevel:r.topLevel,isFixed:r.isFixed,impliedArity:r.impliedArity}}function fM(r){return r&&r.mapper}function MR(r){var f=e.getObjectFlags(r);if(1048576&f)return!!(2097152&f);var g=!!(465829888&r.flags||524288&r.flags&&!c7(r)&&(4&f&&(r.node||e.forEach(Cc(r),MR))||16&f&&r.symbol&&14384&r.symbol.flags&&r.symbol.declarations||8389664&f)||3145728&r.flags&&!(1024&r.flags)&&!c7(r)&&e.some(r.types,MR));return 3899393&r.flags&&(r.objectFlags|=1048576|(g?2097152:0)),g}function c7(r){if(r.aliasSymbol&&!r.aliasTypeArguments){var f=e.getDeclarationOfKind(r.aliasSymbol,255);return!(!f||!e.findAncestor(f.parent,function(g){return g.kind===298||g.kind!==257&&\"quit\"}))}return!1}function f1(r,f){return!!(r===f||3145728&r.flags&&e.some(r.types,function(g){return f1(g,f)})||16777216&r.flags&&(jk(r)===f||V9(r)===f))}function RR(r,f,g){if(!R6){var E=r.id+\",\"+f.id+\",\"+g.id;if(D6.has(E))return D6.get(E);R6=!0;var F=function(q,T0,u1){if(!!(vC(q,0)||$c(q).length!==0&&O3(q))){if(NA(q))return zf(B3(Cc(q)[0],T0,u1),qI(q));if(Vd(q))return ek(e.map(Cc(q),function(A1){return B3(A1,T0,u1)}),4&B2(T0)?e.sameMap(q.target.elementFlags,function(A1){return 2&A1?1:A1}):q.target.elementFlags,q.target.readonly,q.target.labeledElementDeclarations);var M1=Ci(1040,void 0);return M1.source=q,M1.mappedType=T0,M1.constraintType=u1,M1}}(r,f,g);return R6=!1,D6.set(E,F),F}}function O3(r){return!(524288&e.getObjectFlags(r))||xh(r)&&e.some($c(r),function(f){return O3(Yo(f))})||Vd(r)&&e.some(Cc(r),O3)}function B3(r,f,g){var E=JT(g.type,v2(f)),F=Y2(f),q=LR(E);return nk([q],r,F),pM(q)||ut}function jR(r,f,g,E){var F,q,T0,u1,M1,A1,lx;return j1(this,function(Vx){switch(Vx.label){case 0:F=$c(f),q=0,T0=F,Vx.label=1;case 1:return q<T0.length?sE(u1=T0[q])||!g&&(16777216&u1.flags||48&e.getCheckFlags(u1))?[3,5]:(M1=ec(r,u1.escapedName))?[3,3]:[4,u1]:[3,6];case 2:return Vx.sent(),[3,5];case 3:return E&&109440&(A1=Yo(u1)).flags?1&(lx=Yo(M1)).flags||Kp(lx)===Kp(A1)?[3,5]:[4,u1]:[3,5];case 4:Vx.sent(),Vx.label=5;case 5:return q++,[3,1];case 6:return[2]}})}function OC(r,f,g,E){var F=jR(r,f,g,E).next();if(!F.done)return F.value}function pM(r){return r.candidates?Lo(r.candidates,2):r.contraCandidates?Kc(r.contraCandidates):void 0}function l7(r){return!!Fo(r).skipDirectInference}function f7(r){return!(!r.symbol||!e.some(r.symbol.declarations,l7))}function Av(r,f){return 128&r.flags?Tv([r.value],e.emptyArray,f):134217728&r.flags?e.arraysEqual(r.texts,f.texts)?e.map(r.types,rL):Tv(r.texts,r.types,f):void 0}function rL(r){return 402653317&r.flags?r:qg([\"\",\"\"],[r])}function Tv(r,f,g){var E=r.length-1,F=r[0],q=r[E],T0=g.texts,u1=T0.length-1,M1=T0[0],A1=T0[u1];if(!(E===0&&F.length<M1.length+A1.length)&&F.startsWith(M1)&&q.endsWith(A1)){for(var lx=q.slice(0,q.length-A1.length),Vx=[],ye=0,Ue=M1.length,Ge=1;Ge<u1;Ge++){var er=T0[Ge];if(er.length>0){for(var Ar=ye,vr=Ue;!((vr=Yt(Ar).indexOf(er,vr))>=0);){if(++Ar===r.length)return;vr=0}nn(Ar,vr),Ue+=er.length}else if(Ue<Yt(ye).length)nn(ye,Ue+1);else{if(!(ye<E))return;nn(ye+1,0)}}return nn(E,Yt(E).length),Vx}function Yt(Nn){return Nn<E?r[Nn]:lx}function nn(Nn,Ei){var Ca=Nn===ye?sf(Yt(Nn).slice(Ue,Ei)):qg(D(D([r[ye].slice(Ue)],r.slice(ye+1,Nn)),[Yt(Nn).slice(0,Ei)]),f.slice(ye,Nn));Vx.push(Ca),ye=Nn,Ue=Ei}}function nk(r,f,g,E,F){E===void 0&&(E=0),F===void 0&&(F=!1);var q,T0,u1,M1,A1=!1,lx=2048,Vx=!0,ye=0;function Ue(yn,ti){if(MR(ti)){if(yn===xt){var Gi=q;return q=yn,Ue(ti,ti),void(q=Gi)}if(yn.aliasSymbol&&yn.aliasTypeArguments&&yn.aliasSymbol===ti.aliasSymbol)vr(yn.aliasTypeArguments,ti.aliasTypeArguments,Az(yn.aliasSymbol));else if(yn===ti&&3145728&yn.flags)for(var zi=0,Wo=yn.types;zi<Wo.length;zi++){var Ms=Wo[zi];Ue(Ms,Ms)}else{if(1048576&ti.flags){var Et=Ar(1048576&yn.flags?yn.types:[yn],ti.types,L3),wt=Ar(Et[0],Et[1],x8),da=wt[0];if((Da=wt[1]).length===0)return;if(ti=Lo(Da),da.length===0)return void Ge(yn,ti,1);yn=Lo(da)}else if(2097152&ti.flags&&e.some(ti.types,function(re){return!!nn(re)||Sd(re)&&!!nn(MO(re)||Mn)})){if(!(1048576&yn.flags)){var Ya=Ar(2097152&yn.flags?yn.types:[yn],ti.types,tm),Da=(da=Ya[0],Ya[1]);if(da.length===0||Da.length===0)return;yn=Kc(da),ti=Kc(Da)}}else 41943040&ti.flags&&(ti=r9(ti));if(8650752&ti.flags){if(524288&e.getObjectFlags(yn)||yn===Ut||yn===Ka||128&E&&(yn===qx||yn===mf)||f7(yn))return;var fr=nn(ti);if(fr){if(!fr.isFixed){if((fr.priority===void 0||E<fr.priority)&&(fr.candidates=void 0,fr.contraCandidates=void 0,fr.topLevel=!0,fr.priority=E),E===fr.priority){var rt=q||yn;F&&!A1?e.contains(fr.contraCandidates,rt)||(fr.contraCandidates=e.append(fr.contraCandidates,rt),aD(r)):e.contains(fr.candidates,rt)||(fr.candidates=e.append(fr.candidates,rt),aD(r))}!(128&E)&&262144&ti.flags&&fr.topLevel&&!f1(g,ti)&&(fr.topLevel=!1,aD(r))}return void(lx=Math.min(lx,E))}var di=Dm(ti,!1);if(di!==ti)er(yn,di,Ue);else if(8388608&ti.flags){var Wt=Dm(ti.indexType,!1);if(465829888&Wt.flags){var dn=tU(Dm(ti.objectType,!1),Wt,!1);dn&&dn!==ti&&er(yn,dn,Ue)}}}if(!(4&e.getObjectFlags(yn)&&4&e.getObjectFlags(ti)&&(yn.target===ti.target||NA(yn)&&NA(ti)))||yn.node&&ti.node)if(4194304&yn.flags&&4194304&ti.flags)F=!F,Ue(yn.type,ti.type),F=!F;else if((tI(yn)||4&yn.flags)&&4194304&ti.flags){var Si=function(re){var Oo=e.createSymbolTable();HI(re,function(dl){if(128&dl.flags){var lc=e.escapeLeadingUnderscores(dl.value),qi=f2(4,lc);qi.type=E1,dl.symbol&&(qi.declarations=dl.symbol.declarations,qi.valueDeclaration=dl.symbol.valueDeclaration),Oo.set(lc,qi)}});var yu=4&re.flags?Fd(qs,!1):void 0;return yo(void 0,Oo,e.emptyArray,e.emptyArray,yu,void 0)}(yn);F=!F,Ge(Si,ti.type,256),F=!F}else if(8388608&yn.flags&&8388608&ti.flags)Ue(yn.objectType,ti.objectType),Ue(yn.indexType,ti.indexType);else if(268435456&yn.flags&&268435456&ti.flags)yn.symbol===ti.symbol&&Ue(yn.type,ti.type);else if(33554432&yn.flags){Ue(yn.baseType,ti);var yi=E;E|=4,Ue(yn.substitute,ti),E=yi}else if(16777216&ti.flags)er(yn,ti,Ca);else if(3145728&ti.flags)Nn(yn,ti.types,ti.flags);else if(1048576&yn.flags)for(var l=0,z=yn.types;l<z.length;l++)Ue(z[l],ti);else if(134217728&ti.flags)(function(re,Oo){for(var yu=Av(re,Oo),dl=Oo.types,lc=0;lc<dl.length;lc++)Ue(yu?yu[lc]:Mn,dl[lc])})(yn,ti);else{if(yn=Q2(yn),!(512&E&&467927040&yn.flags)){var zr=S4(yn);if(zr!==yn&&Vx&&!(2621440&zr.flags))return Vx=!1,Ue(zr,ti);yn=zr}2621440&yn.flags&&er(yn,ti,Aa)}else vr(Cc(yn),Cc(ti),Zy(yn.target))}}}function Ge(yn,ti,Gi){var zi=E;E|=Gi,Ue(yn,ti),E=zi}function er(yn,ti,Gi){var zi=yn.id+\",\"+ti.id,Wo=T0&&T0.get(zi);if(Wo===void 0){(T0||(T0=new e.Map)).set(zi,-1);var Ms=lx;lx=2048;var Et=ye,wt=j_(yn),da=j_(ti);e.contains(u1,wt)&&(ye|=1),e.contains(M1,da)&&(ye|=2),ye!==3?((u1||(u1=[])).push(wt),(M1||(M1=[])).push(da),Gi(yn,ti),M1.pop(),u1.pop()):lx=-1,ye=Et,T0.set(zi,lx),lx=Math.min(lx,Ms)}else lx=Math.min(lx,Wo)}function Ar(yn,ti,Gi){for(var zi,Wo,Ms=0,Et=ti;Ms<Et.length;Ms++)for(var wt=Et[Ms],da=0,Ya=yn;da<Ya.length;da++){var Da=Ya[da];Gi(Da,wt)&&(Ue(Da,wt),zi=e.appendIfUnique(zi,Da),Wo=e.appendIfUnique(Wo,wt))}return[zi?e.filter(yn,function(fr){return!e.contains(zi,fr)}):yn,Wo?e.filter(ti,function(fr){return!e.contains(Wo,fr)}):ti]}function vr(yn,ti,Gi){for(var zi=yn.length<ti.length?yn.length:ti.length,Wo=0;Wo<zi;Wo++)Wo<Gi.length&&(7&Gi[Wo])==2?Yt(yn[Wo],ti[Wo]):Ue(yn[Wo],ti[Wo])}function Yt(yn,ti){nx||1024&E?(F=!F,Ue(yn,ti),F=!F):Ue(yn,ti)}function nn(yn){if(8650752&yn.flags)for(var ti=0,Gi=r;ti<Gi.length;ti++){var zi=Gi[ti];if(yn===zi.typeParameter)return zi}}function Nn(yn,ti,Gi){var zi=0;if(1048576&Gi){for(var Wo=void 0,Ms=1048576&yn.flags?yn.types:[yn],Et=new Array(Ms.length),wt=!1,da=0,Ya=ti;da<Ya.length;da++)if(nn(l=Ya[da]))Wo=l,zi++;else for(var Da=0;Da<Ms.length;Da++){var fr=lx;lx=2048,Ue(Ms[Da],l),lx===E&&(Et[Da]=!0),wt=wt||lx===-1,lx=Math.min(lx,fr)}if(zi===0){var rt=function(z){for(var zr,re=0,Oo=z;re<Oo.length;re++){var yu=Oo[re],dl=2097152&yu.flags&&e.find(yu.types,function(lc){return!!nn(lc)});if(!dl||zr&&dl!==zr)return;zr=dl}return zr}(ti);return void(rt&&Ge(yn,rt,1))}if(zi===1&&!wt){var di=e.flatMap(Ms,function(z,zr){return Et[zr]?void 0:z});if(di.length)return void Ue(Lo(di),Wo)}}else for(var Wt=0,dn=ti;Wt<dn.length;Wt++)nn(l=dn[Wt])?zi++:Ue(yn,l);if(2097152&Gi?zi===1:zi>0)for(var Si=0,yi=ti;Si<yi.length;Si++){var l;nn(l=yi[Si])&&Ge(yn,l,1)}}function Ei(yn,ti,Gi){if(1048576&Gi.flags){for(var zi=!1,Wo=0,Ms=Gi.types;Wo<Ms.length;Wo++)zi=Ei(yn,ti,Ms[Wo])||zi;return zi}if(4194304&Gi.flags){var Et=nn(Gi.type);if(Et&&!Et.isFixed&&!f7(yn)){var wt=RR(yn,ti,Gi);wt&&Ge(wt,Et.typeParameter,524288&e.getObjectFlags(yn)?16:8)}return!0}if(262144&Gi.flags){Ge(Ck(yn),Gi,32);var da=Wh(Gi);if(da&&Ei(yn,ti,da))return!0;var Ya=e.map($c(yn),Yo),Da=Ff(yn,0),fr=Wg(yn),rt=fr&&fr.type;return Ue(Lo(e.append(e.append(Ya,Da),rt)),Y2(ti)),!0}return!1}function Ca(yn,ti){if(16777216&yn.flags)Ue(yn.checkType,ti.checkType),Ue(yn.extendsType,ti.extendsType),Ue(jk(yn),jk(ti)),Ue(V9(yn),V9(ti));else{var Gi=E;E|=F?64:0,Nn(yn,[jk(ti),V9(ti)],ti.flags),E=Gi}}function Aa(yn,ti){if(4&e.getObjectFlags(yn)&&4&e.getObjectFlags(ti)&&(yn.target===ti.target||NA(yn)&&NA(ti)))vr(Cc(yn),Cc(ti),Zy(yn.target));else{if(Sd(yn)&&Sd(ti)){Ue(Ep(yn),Ep(ti)),Ue(Y2(yn),Y2(ti));var Gi=UN(yn),zi=UN(ti);Gi&&zi&&Ue(Gi,zi)}var Wo,Ms;if(32&e.getObjectFlags(ti)&&!ti.declaration.nameType&&Ei(yn,ti,Ep(ti)))return;if(!function(yi,l){return Vd(yi)&&Vd(l)?function(z,zr){return!(8&zr.target.combinedFlags)&&zr.target.minLength>z.target.minLength||!zr.target.hasRestElement&&(z.target.hasRestElement||zr.target.fixedLength<z.target.fixedLength)}(yi,l):!!OC(yi,l,!1,!0)&&!!OC(l,yi,!1,!1)}(yn,ti)){if(NA(yn)||Vd(yn)){if(Vd(ti)){var Et=DP(yn),wt=DP(ti),da=Cc(ti),Ya=ti.target.elementFlags;if(Vd(yn)&&(Ms=ti,DP(Wo=yn)===DP(Ms)&&e.every(Wo.target.elementFlags,function(yi,l){return(12&yi)==(12&Ms.target.elementFlags[l])}))){for(var Da=0;Da<wt;Da++)Ue(Cc(yn)[Da],da[Da]);return}var fr=Vd(yn)?Math.min(yn.target.fixedLength,ti.target.fixedLength):0,rt=Math.min(Vd(yn)?IO(yn.target,3):0,ti.target.hasRestElement?IO(ti.target,3):0);for(Da=0;Da<fr;Da++)Ue(Cc(yn)[Da],da[Da]);if(!Vd(yn)||Et-fr-rt==1&&4&yn.target.elementFlags[fr]){var di=Cc(yn)[fr];for(Da=fr;Da<wt-rt;Da++)Ue(8&Ya[Da]?zf(di):di,da[Da])}else{var Wt=wt-fr-rt;if(Wt===2&&Ya[fr]&Ya[fr+1]&8&&Vd(yn)){var dn=nn(da[fr]);dn&&dn.impliedArity!==void 0&&(Ue(iM(yn,fr,rt+Et-dn.impliedArity),da[fr]),Ue(iM(yn,fr+dn.impliedArity,rt),da[fr+1]))}else if(Wt===1&&8&Ya[fr]){var Si=2&ti.target.elementFlags[wt-1];Ge(Vd(yn)?iM(yn,fr,rt):zf(Cc(yn)[0]),da[fr],Si?2:0)}else Wt===1&&4&Ya[fr]&&(di=Vd(yn)?UO(yn,fr,rt):Cc(yn)[0])&&Ue(di,da[fr])}for(Da=0;Da<rt;Da++)Ue(Cc(yn)[Et-Da-1],da[wt-Da-1]);return}if(NA(ti))return void Ra(yn,ti)}(function(yi,l){for(var z=Gm(l),zr=0,re=z;zr<re.length;zr++){var Oo=re[zr],yu=ec(yi,Oo.escapedName);yu&&Ue(Yo(yu),Yo(Oo))}})(yn,ti),Qi(yn,ti,0),Qi(yn,ti,1),Ra(yn,ti)}}}function Qi(yn,ti,Gi){for(var zi=_u(yn,Gi),Wo=_u(ti,Gi),Ms=zi.length,Et=Wo.length,wt=Ms<Et?Ms:Et,da=!!(524288&e.getObjectFlags(yn)),Ya=0;Ya<wt;Ya++)Oa(D3(zi[Ms-wt+Ya]),KI(Wo[Et-wt+Ya]),da)}function Oa(yn,ti,Gi){if(!Gi){var zi=A1,Wo=ti.declaration?ti.declaration.kind:0;A1=A1||Wo===166||Wo===165||Wo===167,Fv(yn,ti,Yt),A1=zi}Q$(yn,ti,Ue)}function Ra(yn,ti){var Gi=e.getObjectFlags(yn)&e.getObjectFlags(ti)&32?8:0,zi=Ff(ti,0);zi&&(Wo=Ff(yn,0)||cE(yn,0))&&Ge(Wo,zi,Gi);var Wo,Ms=Ff(ti,1);Ms&&(Wo=Ff(yn,1)||Ff(yn,0)||cE(yn,1))&&Ge(Wo,Ms,Gi)}Ue(f,g)}function L3(r,f){return tm(r,f)||!!(4&f.flags&&128&r.flags||8&f.flags&&256&r.flags)}function x8(r,f){return!!(524288&r.flags&&524288&f.flags&&r.symbol&&r.symbol===f.symbol||r.aliasSymbol&&r.aliasTypeArguments&&r.aliasSymbol===f.aliasSymbol)}function xh(r){return!!(128&e.getObjectFlags(r))}function oD(r){return!!(32896&e.getObjectFlags(r))}function _y(r){return 416&r.priority?Kc(r.contraCandidates):function(f){return e.reduceLeft(f,function(g,E){return bm(E,g)?E:g})}(r.contraCandidates)}function Em(r,f){var g=function(T0){if(T0.length>1){var u1=e.filter(T0,oD);if(u1.length){var M1=Lo(u1,2);return e.concatenate(e.filter(T0,function(A1){return!oD(A1)}),[M1])}}return T0}(r.candidates),E=function(T0){var u1=_d(T0);return!!u1&&yl(16777216&u1.flags?YD(u1):u1,406978556)}(r.typeParameter),F=!E&&r.topLevel&&(r.isFixed||!f1(yc(f),r.typeParameter)),q=E?e.sameMap(g,Kp):F?e.sameMap(g,fh):g;return Bp(416&r.priority?Lo(q,2):function(T0){if(!C1)return BR(T0);var u1=e.filter(T0,function(M1){return!(98304&M1.flags)});return u1.length?$_(BR(u1),98304&bv(T0)):Lo(T0,2)}(q))}function Td(r,f){var g,E,F=r.inferences[f];if(!F.inferredType){var q=void 0,T0=r.signature;if(T0){var u1=F.candidates?Em(F,T0):void 0;if(F.contraCandidates){var M1=_y(F);q=!u1||131072&u1.flags||!bm(u1,M1)?M1:u1}else if(u1)q=u1;else if(1&r.flags)q=Ka;else{var A1=$N(F.typeParameter);A1&&(q=xo(A1,(g=function(ye,Ue){return Zm(function(Ge){return e.findIndex(ye.inferences,function(er){return er.typeParameter===Ge})>=Ue?ut:Ge})}(r,f),E=r.nonFixingMapper,g?Yy(4,g,E):E)))}}else q=pM(F);F.inferredType=q||dT(!!(2&r.flags));var lx=_d(F.typeParameter);if(lx){var Vx=xo(lx,r.nonFixingMapper);q&&r.compareTypes(q,Fw(Vx,q))||(F.inferredType=q=Vx)}}return F.inferredType}function dT(r){return r?E1:ut}function im(r){for(var f=[],g=0;g<r.inferences.length;g++)f.push(Td(r,g));return f}function p7(r){switch(r.escapedText){case\"document\":case\"console\":return e.Diagnostics.Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_include_dom;case\"$\":return V1.types?e.Diagnostics.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slashjquery_and_then_add_jquery_to_the_types_field_in_your_tsconfig:e.Diagnostics.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slashjquery;case\"describe\":case\"suite\":case\"it\":case\"test\":return V1.types?e.Diagnostics.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_types_Slashjest_or_npm_i_save_dev_types_Slashmocha_and_then_add_jest_or_mocha_to_the_types_field_in_your_tsconfig:e.Diagnostics.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_types_Slashjest_or_npm_i_save_dev_types_Slashmocha;case\"process\":case\"require\":case\"Buffer\":case\"module\":return V1.types?e.Diagnostics.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashnode_and_then_add_node_to_the_types_field_in_your_tsconfig:e.Diagnostics.Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashnode;case\"Map\":case\"Set\":case\"Promise\":case\"Symbol\":case\"WeakMap\":case\"WeakSet\":case\"Iterator\":case\"AsyncIterator\":case\"SharedArrayBuffer\":case\"Atomics\":case\"AsyncIterable\":case\"AsyncIterableIterator\":case\"AsyncGenerator\":case\"AsyncGeneratorFunction\":case\"BigInt\":case\"Reflect\":case\"BigInt64Array\":case\"BigUint64Array\":return e.Diagnostics.Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_1_or_later;default:return r.parent.kind===290?e.Diagnostics.No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer:e.Diagnostics.Cannot_find_name_0}}function $k(r){var f=Fo(r);return f.resolvedSymbol||(f.resolvedSymbol=!e.nodeIsMissing(r)&&j6(r,r.escapedText,1160127,p7(r),r,!e.isWriteOnlyAccess(r),!1,e.Diagnostics.Cannot_find_name_0_Did_you_mean_1)||W1),f.resolvedSymbol}function rI(r){return!!e.findAncestor(r,function(f){return f.kind===177||f.kind!==78&&f.kind!==158&&\"quit\"})}function WN(r,f,g,E){switch(r.kind){case 78:var F=$k(r);return F!==W1?(E?t0(E):\"-1\")+\"|\"+Mk(f)+\"|\"+Mk(g)+\"|\"+f0(F):void 0;case 107:return\"0|\"+(E?t0(E):\"-1\")+\"|\"+Mk(f)+\"|\"+Mk(g);case 226:case 208:return WN(r.expression,f,g,E);case 202:case 203:var q=Yg(r);if(q!==void 0){var T0=WN(r.expression,f,g,E);return T0&&T0+\".\"+q}}}function Xf(r,f){switch(f.kind){case 208:case 226:return Xf(r,f.expression);case 217:return e.isAssignmentExpression(f)&&Xf(r,f.left)||e.isBinaryExpression(f)&&f.operatorToken.kind===27&&Xf(r,f.right)}switch(r.kind){case 227:return f.kind===227&&r.keywordToken===f.keywordToken&&r.name.escapedText===f.name.escapedText;case 78:case 79:return f.kind===78&&$k(r)===$k(f)||(f.kind===250||f.kind===199)&&mP($k(r))===ms(f);case 107:return f.kind===107;case 105:return f.kind===105;case 226:case 208:return Xf(r.expression,f);case 202:case 203:return e.isAccessExpression(f)&&Yg(r)===Yg(f)&&Xf(r.expression,f.expression);case 158:return e.isAccessExpression(f)&&r.right.escapedText===Yg(f)&&Xf(r.left,f.expression);case 217:return e.isBinaryExpression(r)&&r.operatorToken.kind===27&&Xf(r.right,f)}return!1}function dM(r,f){return Xf(r,f)||f.kind===217&&f.operatorToken.kind===55&&(dM(r,f.left)||dM(r,f.right))}function Yg(r){return r.kind===202?r.name.escapedText:e.isStringOrNumericLiteralLike(r.argumentExpression)?e.escapeLeadingUnderscores(r.argumentExpression.text):void 0}function d7(r,f){for(;e.isAccessExpression(r);)if(Xf(r=r.expression,f))return!0;return!1}function qN(r,f){for(;e.isOptionalChain(r);)if(Xf(r=r.expression,f))return!0;return!1}function wv(r,f){if(r&&1048576&r.flags){var g=FV(r,f);if(g&&2&e.getCheckFlags(g))return g.isDiscriminantProperty===void 0&&(g.isDiscriminantProperty=(192&g.checkFlags)==192&&!yl(Yo(g),465829888)),!!g.isDiscriminantProperty}return!1}function m7(r,f){for(var g,E=0,F=r;E<F.length;E++){var q=F[E];if(wv(f,q.escapedName)){if(g){g.push(q);continue}g=[q]}}return g}function nL(r){var f=r.types;if(!(f.length<10||65536&e.getObjectFlags(r))){if(r.keyPropertyName===void 0){var g=e.forEach(f,function(F){return 59506688&F.flags?e.forEach($c(F),function(q){return rm(Yo(q))?q.escapedName:void 0}):void 0}),E=g&&function(F,q){for(var T0=new e.Map,u1=0,M1=function(ye){if(61603840&ye.flags){var Ue=qc(ye,q);if(Ue){if(!tI(Ue))return{value:void 0};var Ge=!1;HI(Ue,function(er){var Ar=Mk(Kp(er)),vr=T0.get(Ar);vr?vr!==ut&&(T0.set(Ar,ut),Ge=!0):T0.set(Ar,ye)}),Ge||u1++}}},A1=0,lx=F;A1<lx.length;A1++){var Vx=M1(lx[A1]);if(typeof Vx==\"object\")return Vx.value}return u1>=10&&2*u1>=F.length?T0:void 0}(f,g);r.keyPropertyName=E?g:\"\",r.constituentMap=E}return r.keyPropertyName.length?r.keyPropertyName:void 0}}function sD(r,f){var g,E=(g=r.constituentMap)===null||g===void 0?void 0:g.get(Mk(Kp(f)));return E!==ut?E:void 0}function lU(r,f){var g=nL(r),E=g&&qc(f,g);return E&&sD(r,E)}function Z$(r,f){return Xf(r,f)||d7(r,f)}function UR(r,f){if(r.arguments){for(var g=0,E=r.arguments;g<E.length;g++)if(Z$(f,E[g]))return!0}return!(r.expression.kind!==202||!Z$(f,r.expression.expression))}function kv(r){return(!r.id||r.id<0)&&(r.id=A,A++),r.id}function e8(r,f){if(r!==f){if(131072&f.flags)return f;var g=aA(r,function(E){return function(F,q){if(!(1048576&F.flags))return cc(F,q);for(var T0=0,u1=F.types;T0<u1.length;T0++)if(cc(u1[T0],q))return!0;return!1}(f,E)});if(512&f.flags&&ch(f)&&(g=rf(g,qh)),cc(f,g))return g}return r}function Nv(r){var f=b2(r);return!!(f.callSignatures.length||f.constructSignatures.length||f.members.get(\"bind\")&&bm(r,Yl))}function eh(r,f){f===void 0&&(f=!1);var g=r.flags;if(4&g)return C1?16317953:16776705;if(128&g){var E=r.value===\"\";return C1?E?12123649:7929345:E?12582401:16776705}if(40&g)return C1?16317698:16776450;if(256&g){var F=r.value===0;return C1?F?12123394:7929090:F?12582146:16776450}return 64&g?C1?16317188:16775940:2048&g?(F=rD(r),C1?F?12122884:7928580:F?12581636:16775940):16&g?C1?16316168:16774920:528&g?C1?r===Pe||r===It?12121864:7927560:r===Pe||r===It?12580616:16774920:524288&g&&!f?16&e.getObjectFlags(r)&&lh(r)?C1?16318463:16777215:Nv(r)?C1?7880640:16728e3:C1?7888800:16736160:49152&g?9830144:65536&g?9363232:12288&g?C1?7925520:16772880:67108864&g?C1?7888800:16736160:131072&g?0:465829888&g?ov(r)?C1?7929345:16776705:eh(wA(r)||ut,f):1048576&g?e.reduceLeft(r.types,function(q,T0){return q|eh(T0,f)},0):2097152&g?(f||(f=yl(r,131068)),e.reduceLeft(r.types,function(q,T0){return q&eh(T0,f)},16777215)):16777215}function KS(r,f){return aA(r,function(g){return(eh(g)&f)!=0})}function mM(r,f){return f?Lo([Pc(r),JA(f)]):r}function EE(r,f){var g=Rk(f);if(!Pt(g))return ae;var E=_m(g);return qc(r,E)||nd(E)&&Qg(Ff(r,1))||Qg(Ff(r,0))||ae}function h7(r,f){return Kk(r,Gg)&&function(g,E){return qc(g,\"\"+E)||(Kk(g,Vd)?rf(g,function(F){return U_(F)||Gr}):void 0)}(r,f)||Qg(wm(65,r,Gr,void 0))||ae}function Qg(r){return r&&V1.noUncheckedIndexedAccess?Lo([r,Gr]):r}function Tz(r){return zf(wm(65,r,Gr,void 0)||ae)}function wh(r){return r.parent.kind===217&&r.parent.left===r||r.parent.kind===240&&r.parent.initializer===r}function g7(r){return EE(JI(r.parent),r.name)}function JI(r){var f=r.parent;switch(f.kind){case 239:return l1;case 240:return db(f)||ae;case 217:return function(g){return g.parent.kind===200&&wh(g.parent)||g.parent.kind===289&&wh(g.parent.parent)?mM(JI(g),g.right):JA(g.right)}(f);case 211:return Gr;case 200:return function(g,E){return h7(JI(g),g.elements.indexOf(E))}(f,r);case 221:return function(g){return Tz(JI(g.parent))}(f);case 289:return g7(f);case 290:return function(g){return mM(g7(g),g.objectAssignmentInitializer)}(f)}return ae}function VR(r){return Fo(r).resolvedType||JA(r)}function $R(r){return r.kind===250?function(f){return f.initializer?VR(f.initializer):f.parent.parent.kind===239?l1:f.parent.parent.kind===240&&db(f.parent.parent)||ae}(r):function(f){var g=f.parent,E=$R(g.parent);return mM(g.kind===197?EE(E,f.propertyName||f.name):f.dotDotDotToken?Tz(E):h7(E,g.elements.indexOf(f)),f.initializer)}(r)}function Jh(r){switch(r.kind){case 208:return Jh(r.expression);case 217:switch(r.operatorToken.kind){case 62:case 74:case 75:case 76:return Jh(r.left);case 27:return Jh(r.right)}}return r}function xK(r){var f=r.parent;return f.kind===208||f.kind===217&&f.operatorToken.kind===62&&f.left===r||f.kind===217&&f.operatorToken.kind===27&&f.right===r?xK(f):r}function M3(r){return r.kind===285?Kp(JA(r.expression)):Mn}function iL(r){var f=Fo(r);if(!f.switchTypes){f.switchTypes=[];for(var g=0,E=r.caseBlock.clauses;g<E.length;g++){var F=E[g];f.switchTypes.push(M3(F))}}return f.switchTypes}function SE(r,f){for(var g=[],E=0,F=r.caseBlock.clauses;E<F.length;E++){var q=F[E];if(q.kind===285){if(e.isStringLiteralLike(q.expression)){g.push(q.expression.text);continue}return e.emptyArray}f&&g.push(void 0)}return g}function bP(r,f){return r===f||1048576&f.flags&&function(g,E){if(1048576&g.flags){for(var F=0,q=g.types;F<q.length;F++){var T0=q[F];if(!zg(E.types,T0))return!1}return!0}return 1024&g.flags&&Zj(g)===E?!0:zg(E.types,g)}(r,f)}function HI(r,f){return 1048576&r.flags?e.forEach(r.types,f):f(r)}function Zg(r,f){return 1048576&r.flags?e.some(r.types,f):f(r)}function Kk(r,f){return 1048576&r.flags?e.every(r.types,f):f(r)}function aA(r,f){if(1048576&r.flags){var g=r.types,E=e.filter(g,f);if(E===g)return r;var F=r.origin,q=void 0;if(F&&1048576&F.flags){var T0=F.types,u1=e.filter(T0,function(M1){return!!(1048576&M1.flags)||f(M1)});if(T0.length-u1.length==g.length-E.length){if(u1.length===1)return u1[0];q=Jy(1048576,u1)}}return ZP(E,r.objectFlags,void 0,void 0,q)}return 131072&r.flags||f(r)?r:Mn}function VO(r){return 1048576&r.flags?r.types.length:1}function rf(r,f,g){if(131072&r.flags)return r;if(!(1048576&r.flags))return f(r);for(var E,F=r.origin,q=!1,T0=0,u1=F&&1048576&F.flags?F.types:r.types;T0<u1.length;T0++){var M1=u1[T0],A1=1048576&M1.flags?rf(M1,f,g):f(M1);q||(q=M1!==A1),A1&&(E?E.push(A1):E=[A1])}return q?E&&Lo(E,g?0:1):r}function FE(r,f,g,E){return 1048576&r.flags&&g?Lo(e.map(r.types,f),1,g,E):rf(r,f)}function _7(r){return 3145728&r.flags?r.types.length:1}function bg(r,f){return aA(r,function(g){return(g.flags&f)!=0})}function y7(r,f){return bP(l1,r)&&yl(f,128)||bP(Hx,r)&&yl(f,256)||bP(ge,r)&&yl(f,2048)?rf(r,function(g){return 4&g.flags?bg(f,132):8&g.flags?bg(f,264):64&g.flags?bg(f,2112):g}):r}function Cg(r){return r.flags===0}function kh(r){return r.flags===0?r.type:r}function Eg(r,f){return f?{flags:0,type:131072&r.flags?Ka:r}:r}function hM(r){return Sa[r.id]||(Sa[r.id]=function(f){var g=Ci(256);return g.elementType=f,g}(r))}function D7(r,f){var g=Xg(F4(ZR(f)));return bP(g,r.elementType)?r:hM(Lo([r.elementType,g]))}function R3(r){return r.finalArrayType||(r.finalArrayType=131072&(f=r.elementType).flags?mf:zf(1048576&f.flags?Lo(f.types,2):f));var f}function uD(r){return 256&e.getObjectFlags(r)?R3(r):r}function t8(r){return 256&e.getObjectFlags(r)?r.elementType:Mn}function fU(r){var f=xK(r),g=f.parent,E=e.isPropertyAccessExpression(g)&&(g.name.escapedText===\"length\"||g.parent.kind===204&&e.isIdentifier(g.name)&&e.isPushOrUnshiftIdentifier(g.name)),F=g.kind===203&&g.expression===f&&g.parent.kind===217&&g.parent.operatorToken.kind===62&&g.parent.left===g&&!e.isAssignmentTarget(g.parent)&&Q6(JA(g.argumentExpression),296);return E||F}function gM(r,f){if(8752&r.flags)return Yo(r);if(7&r.flags){if(262144&e.getCheckFlags(r)){var g=r.syntheticOrigin;if(g&&gM(g))return Yo(r)}var E=r.valueDeclaration;if(E){if(function(T0){return(T0.kind===250||T0.kind===161||T0.kind===164||T0.kind===163)&&!!e.getEffectiveTypeAnnotationNode(T0)}(E))return Yo(r);if(e.isVariableDeclaration(E)&&E.parent.parent.kind===240){var F=E.parent.parent,q=yy(F.expression,void 0);if(q)return wm(F.awaitModifier?15:13,q,Gr,void 0)}f&&e.addRelatedInfo(f,e.createDiagnosticForNode(E,e.Diagnostics._0_needs_an_explicit_type_annotation,Is(r)))}}}function yy(r,f){if(!(16777216&r.flags))switch(r.kind){case 78:var g=mP($k(r));return gM(2097152&g.flags?ui(g):g,f);case 107:return function(T0){var u1=e.getThisContainer(T0,!1);if(e.isFunctionLike(u1)){var M1=xm(u1);if(M1.thisParameter)return gM(M1.thisParameter)}if(e.isClassLike(u1.parent)){var A1=ms(u1.parent);return e.hasSyntacticModifier(u1,32)?Yo(A1):Il(A1).thisType}}(r);case 105:return LC(r);case 202:var E=yy(r.expression,f);if(E){var F=r.name,q=void 0;if(e.isPrivateIdentifier(F)){if(!E.symbol)return;q=ec(E,e.getSymbolNameForPrivateIdentifier(E.symbol,F.escapedText))}else q=ec(E,F.escapedText);return q&&gM(q,f)}return;case 208:return yy(r.expression,f)}}function GI(r){var f=Fo(r),g=f.effectsSignature;if(g===void 0){var E=void 0;r.parent.kind===234?E=yy(r.expression,void 0):r.expression.kind!==105&&(E=e.isOptionalChain(r)?ak(Ev(Js(r.expression),r.expression),r.expression):fN(r.expression));var F=_u(E&&S4(E)||ut,0),q=F.length!==1||F[0].typeParameters?e.some(F,nI)?Ph(r):void 0:F[0];g=f.effectsSignature=q&&nI(q)?q:gc}return g===gc?void 0:g}function nI(r){return!!(kA(r)||r.declaration&&131072&(_P(r.declaration)||ut).flags)}function z_(r){var f=Dy(r,!1);return za=r,Ls=f,f}function $O(r){var f=e.skipParentheses(r);return f.kind===94||f.kind===217&&(f.operatorToken.kind===55&&($O(f.left)||$O(f.right))||f.operatorToken.kind===56&&$O(f.left)&&$O(f.right))}function Dy(r,f){for(;;){if(r===za)return Ls;var g=r.flags;if(4096&g){if(!f){var E=kv(r),F=kT[E];return F!==void 0?F:kT[E]=Dy(r,!0)}f=!1}if(368&g)r=r.antecedent;else if(512&g){var q=GI(r.node);if(q){var T0=kA(q);if(T0&&T0.kind===3&&!T0.type){var u1=r.node.arguments[T0.parameterIndex];if(u1&&$O(u1))return!1}if(131072&yc(q).flags)return!1}r=r.antecedent}else{if(4&g)return e.some(r.antecedents,function(ye){return Dy(ye,!1)});if(8&g){var M1=r.antecedents;if(M1===void 0||M1.length===0)return!1;r=M1[0]}else{if(!(128&g)){if(1024&g){za=void 0;var A1=r.target,lx=A1.antecedents;A1.antecedents=r.antecedents;var Vx=Dy(r.antecedent,!1);return A1.antecedents=lx,Vx}return!(1&g)}if(r.clauseStart===r.clauseEnd&&Zv(r.switchStatement))return!1;r=r.antecedent}}}}function ik(r,f){for(;;){var g=r.flags;if(4096&g){if(!f){var E=kv(r),F=Jf[E];return F!==void 0?F:Jf[E]=ik(r,!0)}f=!1}if(496&g)r=r.antecedent;else if(512&g){if(r.node.expression.kind===105)return!0;r=r.antecedent}else{if(4&g)return e.every(r.antecedents,function(M1){return ik(M1,!1)});if(!(8&g)){if(1024&g){var q=r.target,T0=q.antecedents;q.antecedents=r.antecedents;var u1=ik(r.antecedent,!1);return q.antecedents=T0,u1}return!!(1&g)}r=r.antecedents[0]}}}function dh(r,f,g,E,F){var q;g===void 0&&(g=f);var T0=!1,u1=0;if(bp)return ae;if(!r.flowNode||!F&&!(536624127&f.flags))return f;_c++;var M1=e4,A1=kh(ye(r.flowNode));e4=M1;var lx=256&e.getObjectFlags(A1)&&fU(r)?mf:uD(A1);return lx===yt||r.parent&&r.parent.kind===226&&!(131072&lx.flags)&&131072&KS(lx,2097152).flags?f:lx;function Vx(){return T0?q:(T0=!0,q=WN(r,f,g,E))}function ye(Wt){if(u1===2e3)return e.tracing===null||e.tracing===void 0||e.tracing.instant(\"checkTypes\",\"getTypeAtFlowNode_DepthLimit\",{flowId:Wt.id}),bp=!0,function(Oo){var yu=e.findAncestor(Oo,e.isFunctionOrModuleBlock),dl=e.getSourceFileOfNode(Oo),lc=e.getSpanOfTokenAtPosition(dl,yu.statements.pos);Ku.add(e.createFileDiagnostic(dl,lc.start,lc.length,e.Diagnostics.The_containing_function_or_module_body_is_too_large_for_control_flow_analysis))}(r),ae;var dn;for(u1++;;){var Si=Wt.flags;if(4096&Si){for(var yi=M1;yi<e4;yi++)if(hm[yi]===Wt)return u1--,Bm[yi];dn=Wt}var l=void 0;if(16&Si){if(!(l=Ge(Wt))){Wt=Wt.antecedent;continue}}else if(512&Si){if(!(l=Ar(Wt))){Wt=Wt.antecedent;continue}}else if(96&Si)l=Yt(Wt);else if(128&Si)l=nn(Wt);else if(12&Si){if(Wt.antecedents.length===1){Wt=Wt.antecedents[0];continue}l=4&Si?Nn(Wt):Ei(Wt)}else if(256&Si){if(!(l=vr(Wt))){Wt=Wt.antecedent;continue}}else if(1024&Si){var z=Wt.target,zr=z.antecedents;z.antecedents=Wt.antecedents,l=ye(Wt.antecedent),z.antecedents=zr}else if(2&Si){var re=Wt.node;if(re&&re!==E&&r.kind!==202&&r.kind!==203&&r.kind!==107){Wt=re.flowNode;continue}l=g}else l=QO(f);return dn&&(hm[e4]=dn,Bm[e4]=l,e4++),u1--,l}}function Ue(Wt){var dn=Wt.node;return j3(dn.kind===250||dn.kind===199?$R(dn):JI(dn),r)}function Ge(Wt){var dn=Wt.node;if(Xf(r,dn)){if(!z_(Wt))return yt;if(e.getAssignmentTargetKind(dn)===2){var Si=ye(Wt.antecedent);return Eg(F4(kh(Si)),Cg(Si))}if(f===qx||f===mf){if(function(z){return z.kind===250&&z.initializer&&A5(z.initializer)||z.kind!==199&&z.parent.kind===217&&A5(z.parent.right)}(dn))return hM(Mn);var yi=fh(Ue(Wt));return cc(yi,f)?yi:Nf}return 1048576&f.flags?e8(f,Ue(Wt)):f}if(d7(r,dn)){if(!z_(Wt))return yt;if(e.isVariableDeclaration(dn)&&(e.isInJSFile(dn)||e.isVarConst(dn))){var l=e.getDeclaredExpandoInitializer(dn);if(l&&(l.kind===209||l.kind===210))return ye(Wt.antecedent)}return f}if(e.isVariableDeclaration(dn)&&dn.parent.parent.kind===239&&Xf(r,dn.parent.parent.expression))return zv(kh(ye(Wt.antecedent)))}function er(Wt,dn){var Si=e.skipParentheses(dn);if(Si.kind===94)return yt;if(Si.kind===217){if(Si.operatorToken.kind===55)return er(er(Wt,Si.left),Si.right);if(Si.operatorToken.kind===56)return Lo([er(Wt,Si.left),er(Wt,Si.right)])}return di(Wt,Si,!0)}function Ar(Wt){var dn=GI(Wt.node);if(dn){var Si=kA(dn);if(Si&&(Si.kind===2||Si.kind===3)){var yi=ye(Wt.antecedent),l=uD(kh(yi)),z=Si.type?rt(l,Si,Wt.node,!0):Si.kind===3&&Si.parameterIndex>=0&&Si.parameterIndex<Wt.node.arguments.length?er(l,Wt.node.arguments[Si.parameterIndex]):l;return z===l?yi:Eg(z,Cg(yi))}if(131072&yc(dn).flags)return yt}}function vr(Wt){if(f===qx||f===mf){var dn=Wt.node,Si=dn.kind===204?dn.expression.expression:dn.left.expression;if(Xf(r,Jh(Si))){var yi=ye(Wt.antecedent),l=kh(yi);if(256&e.getObjectFlags(l)){var z=l;if(dn.kind===204)for(var zr=0,re=dn.arguments;zr<re.length;zr++)z=D7(z,re[zr]);else Q6(ZR(dn.left.argumentExpression),296)&&(z=D7(z,dn.right));return z===l?yi:Eg(z,Cg(yi))}return yi}}}function Yt(Wt){var dn=ye(Wt.antecedent),Si=kh(dn);if(131072&Si.flags)return dn;var yi=(32&Wt.flags)!=0,l=uD(Si),z=di(l,Wt.node,yi);return z===l?dn:Eg(z,Cg(dn))}function nn(Wt){var dn=Wt.switchStatement.expression,Si=ye(Wt.antecedent),yi=kh(Si);return Xf(r,dn)?yi=Et(yi,Wt.switchStatement,Wt.clauseStart,Wt.clauseEnd):dn.kind===212&&Xf(r,dn.expression)?yi=function(l,z,zr,re){var Oo=SE(z,!0);if(!Oo.length)return l;var yu,dl,lc=e.findIndex(Oo,function(Pi){return Pi===void 0}),qi=zr===re||lc>=zr&&lc<re;if(lc>-1){var eo=Oo.filter(function(Pi){return Pi!==void 0}),Co=lc<zr?zr-1:zr,ou=lc<re?re-1:re;yu=eo.slice(Co,ou),dl=Yh(Co,ou,eo,qi)}else yu=Oo.slice(zr,re),dl=Yh(zr,re,Oo,qi);if(qi)return aA(l,function(Pi){return(eh(Pi)&dl)===dl});var Cs=KS(Lo(yu.map(function(Pi){return wt(l,Pi)||l})),dl);return KS(rf(l,da(Cs)),dl)}(yi,Wt.switchStatement,Wt.clauseStart,Wt.clauseEnd):(C1&&(qN(dn,r)?yi=Ms(yi,Wt.switchStatement,Wt.clauseStart,Wt.clauseEnd,function(l){return!(163840&l.flags)}):dn.kind===212&&qN(dn.expression,r)&&(yi=Ms(yi,Wt.switchStatement,Wt.clauseStart,Wt.clauseEnd,function(l){return!(131072&l.flags||128&l.flags&&l.value===\"undefined\")}))),Aa(dn,yi)&&(yi=function(l,z,zr,re,Oo){if(re<Oo&&1048576&l.flags&&nL(l)===Yg(z)){var yu=iL(zr).slice(re,Oo),dl=Lo(e.map(yu,function(lc){return sD(l,lc)||ut}));if(dl!==ut)return dl}return Qi(l,z,function(lc){return Et(lc,zr,re,Oo)})}(yi,dn,Wt.switchStatement,Wt.clauseStart,Wt.clauseEnd))),Eg(yi,Cg(Si))}function Nn(Wt){for(var dn,Si=[],yi=!1,l=!1,z=0,zr=Wt.antecedents;z<zr.length;z++){var re=zr[z];if(!dn&&128&re.flags&&re.clauseStart===re.clauseEnd)dn=re;else{if((yu=kh(Oo=ye(re)))===f&&f===g)return yu;e.pushIfUnique(Si,yu),bP(yu,f)||(yi=!0),Cg(Oo)&&(l=!0)}}if(dn){var Oo,yu=kh(Oo=ye(dn));if(!e.contains(Si,yu)&&!Zv(dn.switchStatement)){if(yu===f&&f===g)return yu;Si.push(yu),bP(yu,f)||(yi=!0),Cg(Oo)&&(l=!0)}}return Eg(Ca(Si,yi?2:1),l)}function Ei(Wt){var dn=kv(Wt),Si=dd[dn]||(dd[dn]=new e.Map),yi=Vx();if(!yi)return f;var l=Si.get(yi);if(l)return l;for(var z=x4;z<Al;z++)if(Rf[z]===Wt&&ow[z]===yi&&N2[z].length)return Eg(Ca(N2[z],1),!0);for(var zr,re=[],Oo=!1,yu=0,dl=Wt.antecedents;yu<dl.length;yu++){var lc=dl[yu],qi=void 0;if(zr){Rf[Al]=Wt,ow[Al]=yi,N2[Al]=re,Al++;var eo=Mo;Mo=void 0,qi=ye(lc),Mo=eo,Al--;var Co=Si.get(yi);if(Co)return Co}else qi=zr=ye(lc);var ou=kh(qi);if(e.pushIfUnique(re,ou),bP(ou,f)||(Oo=!0),ou===f)break}var Cs=Ca(re,Oo?2:1);return Cg(zr)?Eg(Cs,!0):(Si.set(yi,Cs),Cs)}function Ca(Wt,dn){if(function(yi){for(var l=!1,z=0,zr=yi;z<zr.length;z++){var re=zr[z];if(!(131072&re.flags)){if(!(256&e.getObjectFlags(re)))return!1;l=!0}}return l}(Wt))return hM(Lo(e.map(Wt,t8)));var Si=Lo(e.sameMap(Wt,uD),dn);return Si!==f&&Si.flags&f.flags&1048576&&e.arraysEqual(Si.types,f.types)?f:Si}function Aa(Wt,dn){var Si=1048576&f.flags?f:dn;if(!(1048576&Si.flags&&e.isAccessExpression(Wt)))return!1;var yi=Yg(Wt);return yi!==void 0&&Xf(r,Wt.expression)&&wv(Si,yi)}function Qi(Wt,dn,Si){var yi=Yg(dn);if(yi===void 0)return Wt;var l=C1&&e.isOptionalChain(dn)&&yl(Wt,98304),z=qc(l?KS(Wt,2097152):Wt,yi);if(!z)return Wt;var zr=Si(z=l?nm(z):z);return aA(Wt,function(re){var Oo=function(yu,dl){return qc(yu,dl)||nd(dl)&&Ff(yu,1)||Ff(yu,0)||ut}(re,yi);return!(131072&Oo.flags)&&Hg(Oo,zr)})}function Oa(Wt,dn,Si,yi,l){if((Si===36||Si===37)&&1048576&Wt.flags){var z=nL(Wt);if(z&&z===Yg(dn)){var zr=sD(Wt,JA(yi));if(zr)return Si===(l?36:37)?zr:rm(qc(zr,z)||ut)?aA(Wt,function(re){return re!==zr}):Wt}}return Qi(Wt,dn,function(re){return zi(re,Si,yi,l)})}function Ra(Wt,dn,Si){return Xf(r,dn)?KS(Wt,Si?4194304:8388608):(C1&&Si&&qN(dn,r)&&(Wt=KS(Wt,2097152)),Aa(dn,Wt)?Qi(Wt,dn,function(yi){return KS(yi,Si?4194304:8388608)}):Wt)}function yn(Wt,dn,Si){if(1048576&Wt.flags||524288&Wt.flags&&f!==Wt||XB(Wt)||2097152&Wt.flags&&e.every(Wt.types,function(l){return l.symbol!==xr})){var yi=e.escapeLeadingUnderscores(dn.text);return aA(Wt,function(l){return function(z,zr,re){if(vC(z,0))return!0;var Oo=ec(z,zr);return Oo?!!(16777216&Oo.flags)||re:!re}(l,yi,Si)})}return Wt}function ti(Wt,dn,Si){switch(dn.operatorToken.kind){case 62:case 74:case 75:case 76:return Ra(di(Wt,dn.right,Si),dn.left,Si);case 34:case 35:case 36:case 37:var yi=dn.operatorToken.kind,l=Jh(dn.left),z=Jh(dn.right);if(l.kind===212&&e.isStringLiteralLike(z))return Wo(Wt,l,yi,z,Si);if(z.kind===212&&e.isStringLiteralLike(l))return Wo(Wt,z,yi,l,Si);if(Xf(r,l))return zi(Wt,yi,z,Si);if(Xf(r,z))return zi(Wt,yi,l,Si);if(C1&&(qN(l,r)?Wt=Gi(Wt,yi,z,Si):qN(z,r)&&(Wt=Gi(Wt,yi,l,Si))),Aa(l,Wt))return Oa(Wt,l,yi,z,Si);if(Aa(z,Wt))return Oa(Wt,z,yi,l,Si);if(Ya(l))return Da(Wt,yi,z,Si);if(Ya(z))return Da(Wt,yi,l,Si);break;case 101:return function(re,Oo,yu){var dl=Jh(Oo.left);if(!Xf(r,dl))return yu&&C1&&qN(dl,r)?KS(re,2097152):re;var lc,qi=JA(Oo.right);if(!sM(qi,Yl))return re;var eo=ec(qi,\"prototype\");if(eo){var Co=Yo(eo);Vu(Co)||(lc=Co)}if(Vu(re)&&(lc===E4||lc===Yl))return re;if(!lc){var ou=_u(qi,1);lc=ou.length?Lo(e.map(ou,function(Cs){return yc(KI(Cs))})):qs}return!yu&&1048576&qi.flags&&!e.find(qi.types,function(Cs){return!YL(Cs)})?re:fr(re,lc,yu,sM)}(Wt,dn,Si);case 100:var zr=Jh(dn.right);if(e.isStringLiteralLike(dn.left)&&Xf(r,zr))return yn(Wt,dn.left,Si);break;case 27:return di(Wt,dn.right,Si)}return Wt}function Gi(Wt,dn,Si,yi){var l=dn===34||dn===36,z=dn===34||dn===35?98304:32768,zr=JA(Si);return l!==yi&&Kk(zr,function(re){return!!(re.flags&z)})||l===yi&&Kk(zr,function(re){return!(re.flags&(3|z))})?KS(Wt,2097152):Wt}function zi(Wt,dn,Si,yi){if(1&Wt.flags)return Wt;dn!==35&&dn!==37||(yi=!yi);var l=JA(Si);return 2&Wt.flags&&yi&&(dn===36||dn===37)?67239932&l.flags?l:524288&l.flags?Fn:Wt:98304&l.flags?C1?KS(Wt,dn===34||dn===35?yi?262144:2097152:65536&l.flags?yi?131072:1048576:yi?65536:524288):Wt:yi?y7(aA(Wt,dn===34?function(z){return F3(z,l)||(zr=l,(524&z.flags)!=0&&(28&zr.flags)!=0);var zr}:function(z){return F3(z,l)}),l):rm(l)?aA(Wt,function(z){return!(tD(z)&&F3(z,l))}):Wt}function Wo(Wt,dn,Si,yi,l){Si!==35&&Si!==37||(l=!l);var z=Jh(dn.expression);if(!Xf(r,z))return C1&&qN(z,r)&&l===(yi.text!==\"undefined\")?KS(Wt,2097152):Wt;if(1&Wt.flags&&yi.text===\"function\")return Wt;if(l&&2&Wt.flags&&yi.text===\"object\"){if(dn.parent.parent.kind===217){var zr=dn.parent.parent;if(zr.operatorToken.kind===55&&zr.right===dn.parent&&dM(r,zr.left))return Fn}return Lo([Fn,M])}var re=l?P0.get(yi.text)||128:c0.get(yi.text)||32768,Oo=wt(Wt,yi.text);return KS(l&&Oo?rf(Wt,da(Oo)):Wt,re)}function Ms(Wt,dn,Si,yi,l){return Si!==yi&&e.every(iL(dn).slice(Si,yi),l)?KS(Wt,2097152):Wt}function Et(Wt,dn,Si,yi){var l=iL(dn);if(!l.length)return Wt;var z=l.slice(Si,yi),zr=Si===yi||e.contains(z,Mn);if(2&Wt.flags&&!zr){for(var re=void 0,Oo=0;Oo<z.length;Oo+=1){var yu=z[Oo];if(67239932&yu.flags)re!==void 0&&re.push(yu);else{if(!(524288&yu.flags))return Wt;re===void 0&&(re=z.slice(0,Oo)),re.push(Fn)}}return Lo(re===void 0?z:re)}var dl=Lo(z),lc=131072&dl.flags?Mn:y7(aA(Wt,function(eo){return F3(dl,eo)}),dl);if(!zr)return lc;var qi=aA(Wt,function(eo){return!(tD(eo)&&e.contains(l,Kp(function(Co){return 2097152&Co.flags&&e.find(Co.types,rm)||Co}(eo))))});return 131072&lc.flags?qi:Lo([lc,qi])}function wt(Wt,dn){switch(dn){case\"function\":return 1&Wt.flags?Wt:Yl;case\"object\":return 2&Wt.flags?Lo([Fn,M]):Wt;default:return Rd.get(dn)}}function da(Wt){return function(dn){if(bm(dn,Wt))return dn;if(bm(Wt,dn))return Wt;if(465829888&dn.flags){var Si=wA(dn)||E1;if(bm(Wt,Si))return Kc([dn,Wt])}return dn}}function Ya(Wt){return(e.isPropertyAccessExpression(Wt)&&e.idText(Wt.name)===\"constructor\"||e.isElementAccessExpression(Wt)&&e.isStringLiteralLike(Wt.argumentExpression)&&Wt.argumentExpression.text===\"constructor\")&&Xf(r,Wt.expression)}function Da(Wt,dn,Si,yi){if(yi?dn!==34&&dn!==36:dn!==35&&dn!==37)return Wt;var l=JA(Si);if(!dj(l)&&!YL(l))return Wt;var z=ec(l,\"prototype\");if(!z)return Wt;var zr=Yo(z),re=Vu(zr)?void 0:zr;return re&&re!==E4&&re!==Yl?Vu(Wt)?re:aA(Wt,function(Oo){return function(yu,dl){return 524288&yu.flags&&1&e.getObjectFlags(yu)||524288&dl.flags&&1&e.getObjectFlags(dl)?yu.symbol===dl.symbol:bm(yu,dl)}(Oo,re)}):Wt}function fr(Wt,dn,Si,yi){if(!Si)return aA(Wt,function(z){if(!yi(z,dn))return!0;var zr=wA(z);return!(!zr||zr===z)&&!yi(zr,dn)});if(1048576&Wt.flags){var l=aA(Wt,function(z){return yi(z,dn)});if(!(131072&l.flags))return l}return bm(dn,Wt)?dn:cc(Wt,dn)?Wt:cc(dn,Wt)?dn:Kc([Wt,dn])}function rt(Wt,dn,Si,yi){if(dn.type&&(!Vu(Wt)||dn.type!==E4&&dn.type!==Yl)){var l=function(z,zr){if(z.kind===1||z.kind===3)return zr.arguments[z.parameterIndex];var re=e.skipParentheses(zr.expression);return e.isAccessExpression(re)?e.skipParentheses(re.expression):void 0}(dn,Si);if(l){if(Xf(r,l))return fr(Wt,dn.type,yi,bm);if(C1&&yi&&qN(l,r)&&!(65536&eh(dn.type))&&(Wt=KS(Wt,2097152)),Aa(l,Wt))return Qi(Wt,l,function(z){return fr(z,dn.type,yi,bm)})}}return Wt}function di(Wt,dn,Si){if(e.isExpressionOfOptionalChainRoot(dn)||e.isBinaryExpression(dn.parent)&&dn.parent.operatorToken.kind===60&&dn.parent.left===dn)return function(yi,l,z){return Xf(r,l)?KS(yi,z?2097152:262144):Aa(l,yi)?Qi(yi,l,function(zr){return KS(zr,z?2097152:262144)}):yi}(Wt,dn,Si);switch(dn.kind){case 78:case 107:case 105:case 202:case 203:return Ra(Wt,dn,Si);case 204:return function(yi,l,z){if(UR(l,r)){var zr=z||!e.isCallChain(l)?GI(l):void 0,re=zr&&kA(zr);if(re&&(re.kind===0||re.kind===1))return rt(yi,re,l,z)}return yi}(Wt,dn,Si);case 208:case 226:return di(Wt,dn.expression,Si);case 217:return ti(Wt,dn,Si);case 215:if(dn.operator===53)return di(Wt,dn.operand,!Si)}return Wt}}function Sm(r){return e.findAncestor(r.parent,function(f){return e.isFunctionLike(f)&&!e.getImmediatelyInvokedFunctionExpression(f)||f.kind===258||f.kind===298||f.kind===164})}function Pv(r){if(!r.valueDeclaration)return!1;var f=e.getRootDeclaration(r.valueDeclaration).parent,g=Fo(f);return 8388608&g.flags||(g.flags|=8388608,function(E){return!!e.findAncestor(E.parent,function(F){return e.isFunctionLike(F)&&!!(8388608&Fo(F).flags)})}(f)||eK(f)),r.isAssigned||!1}function eK(r){if(r.kind===78){if(e.isAssignmentTarget(r)){var f=$k(r);f.valueDeclaration&&e.getRootDeclaration(f.valueDeclaration).kind===161&&(f.isAssigned=!0)}}else e.forEachChild(r,eK)}function aL(r){return 3&r.flags&&(2&q_(r))!=0&&Yo(r)!==mf}function r8(r){return!!(465829888&r.flags&&1146880&QL(r).flags)}function v7(r){return!!(465829888&r.flags||3145728&r.flags&&e.some(r.types,v7))}function j3(r,f,g){return!(g&&2&g)&&Zg(r,r8)&&(function(E){var F=E.parent;return F.kind===202||F.kind===204&&F.expression===E||F.kind===203&&F.expression===E&&!U9(JA(F.argumentExpression))}(f)||function(E){var F=(e.isIdentifier(E)||e.isPropertyAccessExpression(E)||e.isElementAccessExpression(E))&&!((e.isJsxOpeningElement(E.parent)||e.isJsxSelfClosingElement(E.parent))&&E.parent.tagName===E)&&x2(E);return F&&!Zg(F,v7)}(f))?rf(r,function(E){return 465829888&E.flags?QL(E):E}):r}function AE(r){return!!e.findAncestor(r,function(f){return f.parent&&e.isExportAssignment(f.parent)&&f.parent.expression===f&&e.isEntityNameExpression(f)})}function cD(r,f){if(ze(r,111551)&&!rI(f)&&!Sf(r)){var g=ui(r);111551&g.flags&&(V1.isolatedModules||e.shouldPreserveConstEnums(V1)&&AE(f)||!YN(g)?DS(r):function(E){var F=Zo(E);F.constEnumReferenced||(F.constEnumReferenced=!0)}(r))}}function PV(r,f){var g=$k(r);if(g===W1)return ae;if(g===ar){var E=e.getContainingFunction(r);return Ox<2&&(E.kind===210?ht(r,e.Diagnostics.The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_standard_function_expression):e.hasSyntacticModifier(E,256)&&ht(r,e.Diagnostics.The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES3_and_ES5_Consider_using_a_standard_function_or_method)),Fo(E).flags|=8192,Yo(g)}r.parent&&e.isPropertyAccessExpression(r.parent)&&r.parent.expression===r||cD(g,r);var F=mP(g),q=2097152&F.flags?ui(F):F;q.declarations&&134217728&q_(q)&&N_(r,q)&&lp(r,q.declarations,r.escapedText);var T0=F.valueDeclaration;if(T0&&32&F.flags){if(T0.kind===253&&e.nodeIsDecorated(T0))for(E=e.getContainingClass(r);E!==void 0;){if(E===T0&&E.name!==r){Fo(T0).flags|=16777216,Fo(r).flags|=33554432;break}E=e.getContainingClass(E)}else if(T0.kind===222)for(E=e.getThisContainer(r,!1);E.kind!==298;){if(E.parent===T0){E.kind===164&&e.hasSyntacticModifier(E,32)&&(Fo(T0).flags|=16777216,Fo(r).flags|=33554432);break}E=e.getThisContainer(E,!1)}}(function(Yt,nn){if(!(Ox>=2||(34&nn.flags)==0||!nn.valueDeclaration||e.isSourceFile(nn.valueDeclaration)||nn.valueDeclaration.parent.kind===288)){var Nn=e.getEnclosingBlockScopeContainer(nn.valueDeclaration),Ei=function(ti,Gi){return!!e.findAncestor(ti,function(zi){return zi===Gi?\"quit\":e.isFunctionLike(zi)||zi.parent&&e.isPropertyDeclaration(zi.parent)&&!e.hasStaticModifier(zi.parent)&&zi.parent.initializer===zi})}(Yt,Nn),Ca=oL(Nn);if(Ca){if(Ei){var Aa=!0;if(e.isForStatement(Nn)&&(yn=e.getAncestor(nn.valueDeclaration,251))&&yn.parent===Nn){var Qi=function(ti,Gi){return e.findAncestor(ti,function(zi){return zi===Gi?\"quit\":zi===Gi.initializer||zi===Gi.condition||zi===Gi.incrementor||zi===Gi.statement})}(Yt.parent,Nn);if(Qi){var Oa=Fo(Qi);Oa.flags|=131072;var Ra=Oa.capturedBlockScopeBindings||(Oa.capturedBlockScopeBindings=[]);e.pushIfUnique(Ra,nn),Qi===Nn.initializer&&(Aa=!1)}}Aa&&(Fo(Ca).flags|=65536)}var yn;e.isForStatement(Nn)&&(yn=e.getAncestor(nn.valueDeclaration,251))&&yn.parent===Nn&&function(ti,Gi){for(var zi=ti;zi.parent.kind===208;)zi=zi.parent;var Wo=!1;if(e.isAssignmentTarget(zi))Wo=!0;else if(zi.parent.kind===215||zi.parent.kind===216){var Ms=zi.parent;Wo=Ms.operator===45||Ms.operator===46}return Wo?!!e.findAncestor(zi,function(Et){return Et===Gi?\"quit\":Et===Gi.statement}):!1}(Yt,Nn)&&(Fo(nn.valueDeclaration).flags|=4194304),Fo(nn.valueDeclaration).flags|=524288}Ei&&(Fo(nn.valueDeclaration).flags|=262144)}})(r,g);var u1=Yo(F),M1=e.getAssignmentTargetKind(r);if(M1){if(!(3&F.flags||e.isInJSFile(r)&&512&F.flags))return ht(r,384&F.flags?e.Diagnostics.Cannot_assign_to_0_because_it_is_an_enum:32&F.flags?e.Diagnostics.Cannot_assign_to_0_because_it_is_a_class:1536&F.flags?e.Diagnostics.Cannot_assign_to_0_because_it_is_a_namespace:16&F.flags?e.Diagnostics.Cannot_assign_to_0_because_it_is_a_function:2097152&F.flags?e.Diagnostics.Cannot_assign_to_0_because_it_is_an_import:e.Diagnostics.Cannot_assign_to_0_because_it_is_not_a_variable,Is(g)),ae;if(j2(F))return 3&F.flags?ht(r,e.Diagnostics.Cannot_assign_to_0_because_it_is_a_constant,Is(g)):ht(r,e.Diagnostics.Cannot_assign_to_0_because_it_is_a_read_only_property,Is(g)),ae}var A1=2097152&F.flags;if(3&F.flags){if(M1===1)return u1}else{if(!A1)return u1;T0=Hf(g)}if(!T0)return u1;u1=j3(u1,r,f);for(var lx=e.getRootDeclaration(T0).kind===161,Vx=Sm(T0),ye=Sm(r),Ue=ye!==Vx,Ge=r.parent&&r.parent.parent&&e.isSpreadAssignment(r.parent)&&wh(r.parent.parent),er=134217728&g.flags;ye!==Vx&&(ye.kind===209||ye.kind===210||e.isObjectLiteralOrClassExpressionMethod(ye))&&(aL(F)||lx&&!Pv(F));)ye=Sm(ye);var Ar=lx||A1||Ue||Ge||er||e.isBindingElement(T0)||u1!==qx&&u1!==mf&&(!C1||(16387&u1.flags)!=0||rI(r)||r.parent.kind===271)||r.parent.kind===226||T0.kind===250&&T0.exclamationToken||8388608&T0.flags,vr=dh(r,u1,Ar?lx?function(Yt,nn){if(vk(nn.symbol,2)){var Nn=C1&&nn.kind===161&&nn.initializer&&32768&MF(Yt)&&!(32768&MF(Js(nn.initializer)));return bo(),Nn?KS(Yt,524288):Yt}return RB(nn.symbol),Yt}(u1,T0):u1:u1===qx||u1===mf?Gr:nm(u1),ye,!Ar);if(fU(r)||u1!==qx&&u1!==mf){if(!Ar&&!(32768&MF(u1))&&32768&MF(vr))return ht(r,e.Diagnostics.Variable_0_is_used_before_being_assigned,Is(g)),u1}else if(vr===qx||vr===mf)return Px&&(ht(e.getNameOfDeclaration(T0),e.Diagnostics.Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined,Is(g),ka(vr)),ht(r,e.Diagnostics.Variable_0_implicitly_has_an_1_type,Is(g),ka(vr))),QO(vr);return M1?F4(vr):vr}function oL(r){return e.findAncestor(r,function(f){return!f||e.nodeStartsNewLexicalEnvironment(f)?\"quit\":e.isIterationStatement(f,!1)})}function Iv(r,f){Fo(r).flags|=2,f.kind===164||f.kind===167?Fo(f.parent).flags|=4:Fo(f).flags|=4}function KR(r){return e.isSuperCall(r)?r:e.isFunctionLike(r)?void 0:e.forEachChild(r,KR)}function TE(r){return Jm(Il(ms(r)))===X0}function BC(r,f,g){var E=f.parent;e.getClassExtendsHeritageElement(E)&&!TE(E)&&r.flowNode&&!ik(r.flowNode,!1)&&ht(r,g)}function b7(r){var f=e.getThisContainer(r,!0),g=!1;switch(f.kind===167&&BC(r,f,e.Diagnostics.super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class),f.kind===210&&(f=e.getThisContainer(f,!1),g=!0),f.kind){case 257:ht(r,e.Diagnostics.this_cannot_be_referenced_in_a_module_or_namespace_body);break;case 256:ht(r,e.Diagnostics.this_cannot_be_referenced_in_current_location);break;case 167:C7(r,f)&&ht(r,e.Diagnostics.this_cannot_be_referenced_in_constructor_arguments);break;case 164:case 163:!e.hasSyntacticModifier(f,32)||V1.target===99&&rx||ht(r,e.Diagnostics.this_cannot_be_referenced_in_a_static_property_initializer);break;case 159:ht(r,e.Diagnostics.this_cannot_be_referenced_in_a_computed_property_name)}g&&Ox<2&&Iv(r,f);var E=vy(r,!0,f);if(me){var F=Yo(xr);if(E===F&&g)ht(r,e.Diagnostics.The_containing_arrow_function_captures_the_global_value_of_this);else if(!E){var q=ht(r,e.Diagnostics.this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation);if(!e.isSourceFile(f)){var T0=vy(f);T0&&T0!==F&&e.addRelatedInfo(q,e.createDiagnosticForNode(f,e.Diagnostics.An_outer_value_of_this_is_shadowed_by_this_container))}}}return E||E1}function vy(r,f,g){f===void 0&&(f=!0),g===void 0&&(g=e.getThisContainer(r,!1));var E=e.isInJSFile(r);if(e.isFunctionLike(g)&&(!lD(r)||e.getThisParameter(g))){var F=Tw(xm(g))||E&&function(A1){var lx=e.getJSDocType(A1);if(lx&&lx.kind===309){var Vx=lx;if(Vx.parameters.length>0&&Vx.parameters[0].name&&Vx.parameters[0].name.escapedText===\"this\")return Dc(Vx.parameters[0].type)}var ye=e.getJSDocThisTag(A1);if(ye&&ye.typeExpression)return Dc(ye.typeExpression)}(g);if(!F){var q=function(A1){if(A1.kind===209&&e.isBinaryExpression(A1.parent)&&e.getAssignmentDeclarationKind(A1.parent)===3)return A1.parent.left.expression.expression;if(A1.kind===166&&A1.parent.kind===201&&e.isBinaryExpression(A1.parent.parent)&&e.getAssignmentDeclarationKind(A1.parent.parent)===6)return A1.parent.parent.left.expression;if(A1.kind===209&&A1.parent.kind===289&&A1.parent.parent.kind===201&&e.isBinaryExpression(A1.parent.parent.parent)&&e.getAssignmentDeclarationKind(A1.parent.parent.parent)===6)return A1.parent.parent.parent.left.expression;if(A1.kind===209&&e.isPropertyAssignment(A1.parent)&&e.isIdentifier(A1.parent.name)&&(A1.parent.name.escapedText===\"value\"||A1.parent.name.escapedText===\"get\"||A1.parent.name.escapedText===\"set\")&&e.isObjectLiteralExpression(A1.parent.parent)&&e.isCallExpression(A1.parent.parent.parent)&&A1.parent.parent.parent.arguments[2]===A1.parent.parent&&e.getAssignmentDeclarationKind(A1.parent.parent.parent)===9)return A1.parent.parent.parent.arguments[0].expression;if(e.isMethodDeclaration(A1)&&e.isIdentifier(A1.name)&&(A1.name.escapedText===\"value\"||A1.name.escapedText===\"get\"||A1.name.escapedText===\"set\")&&e.isObjectLiteralExpression(A1.parent)&&e.isCallExpression(A1.parent.parent)&&A1.parent.parent.arguments[2]===A1.parent&&e.getAssignmentDeclarationKind(A1.parent.parent)===9)return A1.parent.parent.arguments[0].expression}(g);if(E&&q){var T0=Js(q).symbol;T0&&T0.members&&16&T0.flags&&(F=Il(T0).thisType)}else am(g)&&(F=Il(Xc(g.symbol)).thisType);F||(F=wE(g))}if(F)return dh(r,F)}if(e.isClassLike(g.parent)){var u1=ms(g.parent);return dh(r,e.hasSyntacticModifier(g,32)?Yo(u1):Il(u1).thisType)}if(e.isSourceFile(g)){if(g.commonJsModuleIndicator){var M1=ms(g);return M1&&Yo(M1)}if(g.externalModuleIndicator)return Gr;if(f)return Yo(xr)}}function C7(r,f){return!!e.findAncestor(r,function(g){return e.isFunctionLikeDeclaration(g)?\"quit\":g.kind===161&&g.parent===f})}function LC(r){var f=r.parent.kind===204&&r.parent.expression===r,g=e.getSuperContainer(r,!0),E=g,F=!1;if(!f)for(;E&&E.kind===210;)E=e.getSuperContainer(E,!0),F=Ox<2;var q=0;if(!function(lx){return lx?f?lx.kind===167:e.isClassLike(lx.parent)||lx.parent.kind===201?e.hasSyntacticModifier(lx,32)?lx.kind===166||lx.kind===165||lx.kind===168||lx.kind===169:lx.kind===166||lx.kind===165||lx.kind===168||lx.kind===169||lx.kind===164||lx.kind===163||lx.kind===167:!1:!1}(E)){var T0=e.findAncestor(r,function(lx){return lx===E?\"quit\":lx.kind===159});return T0&&T0.kind===159?ht(r,e.Diagnostics.super_cannot_be_referenced_in_a_computed_property_name):f?ht(r,e.Diagnostics.Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors):E&&E.parent&&(e.isClassLike(E.parent)||E.parent.kind===201)?ht(r,e.Diagnostics.super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class):ht(r,e.Diagnostics.super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions),ae}if(f||g.kind!==167||BC(r,E,e.Diagnostics.super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class),q=e.hasSyntacticModifier(E,32)||f?512:256,Fo(r).flags|=q,E.kind===166&&e.hasSyntacticModifier(E,256)&&(e.isSuperProperty(r.parent)&&e.isAssignmentTarget(r.parent)?Fo(E).flags|=4096:Fo(E).flags|=2048),F&&Iv(r.parent,E),E.parent.kind===201)return Ox<2?(ht(r,e.Diagnostics.super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher),ae):E1;var u1=E.parent;if(!e.getClassExtendsHeritageElement(u1))return ht(r,e.Diagnostics.super_can_only_be_referenced_in_a_derived_class),ae;var M1=Il(ms(u1)),A1=M1&&bk(M1)[0];return A1?E.kind===167&&C7(r,E)?(ht(r,e.Diagnostics.super_cannot_be_referenced_in_constructor_arguments),ae):q===512?Jm(M1):Fw(A1,M1.thisType):ae}function E7(r){return 4&e.getObjectFlags(r)&&r.target===cp?Cc(r)[0]:void 0}function sL(r){return rf(r,function(f){return 2097152&f.flags?e.forEach(f.types,E7):E7(f)})}function wE(r){if(r.kind!==210){if(Qy(r)){var f=R2(r);if(f){var g=f.thisParameter;if(g)return Yo(g)}}var E=e.isInJSFile(r);if(me||E){var F=function(Ue){return Ue.kind!==166&&Ue.kind!==168&&Ue.kind!==169||Ue.parent.kind!==201?Ue.kind===209&&Ue.parent.kind===289?Ue.parent.parent:void 0:Ue.parent}(r);if(F){for(var q=Hh(F),T0=F,u1=q;u1;){var M1=sL(u1);if(M1)return xo(M1,fM(iI(F)));if(T0.parent.kind!==289)break;u1=Hh(T0=T0.parent.parent)}return Bp(q?Cm(q):VC(F))}var A1=e.walkUpParenthesizedExpressions(r.parent);if(A1.kind===217&&A1.operatorToken.kind===62){var lx=A1.left;if(e.isAccessExpression(lx)){var Vx=lx.expression;if(E&&e.isIdentifier(Vx)){var ye=e.getSourceFileOfNode(A1);if(ye.commonJsModuleIndicator&&$k(Vx)===ye.symbol)return}return Bp(VC(Vx))}}}}}function Ov(r){var f=r.parent;if(Qy(f)){var g=e.getImmediatelyInvokedFunctionExpression(f);if(g&&g.arguments){var E=mh(g),F=f.parameters.indexOf(r);if(r.dotDotDotToken)return W9(E,F,E.length,E1,void 0,0);var q=Fo(g),T0=q.resolvedSignature;q.resolvedSignature=ws;var u1=F<E.length?fh(Js(E[F])):r.initializer?void 0:B;return q.resolvedSignature=T0,u1}var M1=R2(f);if(M1){var A1=f.parameters.indexOf(r)-(e.getThisParameter(f)?1:0);return r.dotDotDotToken&&e.lastOrUndefined(f.parameters)===r?DD(M1,A1):hh(M1,A1)}}}function MC(r){var f=e.getEffectiveTypeAnnotationNode(r);if(f)return Dc(f);switch(r.kind){case 161:return Ov(r);case 199:return function(g){var E=g.parent.parent,F=g.propertyName||g.name,q=MC(E)||E.kind!==199&&E.initializer&&XI(E);if(!(!q||e.isBindingPattern(F)||e.isComputedNonLiteralName(F))){if(E.name.kind===198){var T0=e.indexOfNode(g.parent.elements,g);return T0<0?void 0:dD(q,T0)}var u1=Rk(F);if(Pt(u1))return qc(q,_m(u1))}}(r);case 164:if(e.hasSyntacticModifier(r,32))return function(g){var E=e.isExpression(g.parent)&&x2(g.parent);return E?lN(E,ms(g).escapedName):void 0}(r)}}function lD(r){for(var f=!1;r.parent&&!e.isFunctionLike(r.parent);){if(e.isParameter(r.parent)&&(f||r.parent.initializer===r))return!0;e.isBindingElement(r.parent)&&r.parent.initializer===r&&(f=!0),r=r.parent}return!1}function W_(r,f){var g=!!(2&e.getFunctionFlags(f)),E=zR(f);if(E)return Y_(r,E,g)||void 0}function zR(r){var f=_P(r);if(f)return f;var g=M2(r);return g&&!tv(g)?yc(g):void 0}function Bv(r,f){var g=mh(r).indexOf(f);return g===-1?void 0:fD(r,g)}function fD(r,f){var g=Fo(r).resolvedSignature===Pl?Pl:Ph(r);return e.isJsxOpeningLikeElement(r)&&f===0?pU(g,r):p5(g,f)}function tK(r,f){var g=r.parent,E=g.left,F=g.operatorToken,q=g.right;switch(F.kind){case 62:case 75:case 74:case 76:return r===q?function(u1){var M1,A1,lx=e.getAssignmentDeclarationKind(u1);switch(lx){case 0:return JA(u1.left);case 4:return pD(u1);case 5:if(S7(u1,lx))return pD(u1);if(u1.left.symbol){var Vx=u1.left.symbol.valueDeclaration;if(!Vx)return;var ye=e.cast(u1.left,e.isAccessExpression),Ue=e.getEffectiveTypeAnnotationNode(Vx);if(Ue)return Dc(Ue);if(e.isIdentifier(ye.expression)){var Ge=ye.expression,er=j6(Ge,Ge.escapedText,111551,void 0,Ge.escapedText,!0);if(er){var Ar=er.valueDeclaration&&e.getEffectiveTypeAnnotationNode(er.valueDeclaration);if(Ar){var vr=e.getElementOrPropertyAccessName(ye);if(vr!==void 0)return lN(Dc(Ar),vr)}return}}return e.isInJSFile(Vx)?void 0:JA(u1.left)}return JA(u1.left);case 1:case 6:case 3:var Yt=(M1=u1.left.symbol)===null||M1===void 0?void 0:M1.valueDeclaration;case 2:Yt||(Yt=(A1=u1.symbol)===null||A1===void 0?void 0:A1.valueDeclaration);var nn=Yt&&e.getEffectiveTypeAnnotationNode(Yt);return nn?Dc(nn):void 0;case 7:case 8:case 9:return e.Debug.fail(\"Does not apply\");default:return e.Debug.assertNever(lx)}}(g):void 0;case 56:case 60:var T0=x2(g,f);return r===q&&(T0&&T0.pattern||!T0&&!e.isDefaultedExpandoInitializer(g))?JA(E):T0;case 55:case 27:return r===q?x2(g,f):void 0;default:return}}function S7(r,f){if(f===void 0&&(f=e.getAssignmentDeclarationKind(r)),f===4)return!0;if(!e.isInJSFile(r)||f!==5||!e.isIdentifier(r.left.expression))return!1;var g=r.left.expression.escapedText,E=j6(r.left,g,111551,void 0,void 0,!0,!0);return e.isThisInitializedDeclaration(E==null?void 0:E.valueDeclaration)}function pD(r){if(!r.symbol)return JA(r.left);if(r.symbol.valueDeclaration){var f=e.getEffectiveTypeAnnotationNode(r.symbol.valueDeclaration);if(f){var g=Dc(f);if(g)return g}}var E=e.cast(r.left,e.isAccessExpression);if(e.isObjectLiteralMethod(e.getThisContainer(E.expression,!1))){var F=b7(E.expression),q=e.getElementOrPropertyAccessName(E);return q!==void 0&&lN(F,q)||void 0}}function lN(r,f){return rf(r,function(g){if(Sd(g)){var E=Ep(g),F=wA(E)||E,q=sf(e.unescapeLeadingUnderscores(f));if(cc(q,F))return sv(g,q)}else if(3670016&g.flags){var T0=ec(g,f);if(T0)return M1=T0,262144&e.getCheckFlags(M1)&&!M1.type&&Ug(M1,0)>=0?void 0:Yo(T0);if(Vd(g)){var u1=U_(g);if(u1&&nd(f)&&+f>=0)return u1}return nd(f)&&by(g,1)||by(g,0)}var M1},!0)}function by(r,f){return rf(r,function(g){return ev(g,f)},!0)}function rK(r,f){var g=r.parent,E=e.isPropertyAssignment(r)&&MC(r);if(E)return E;var F=Hh(g,f);if(F){if(UI(r)){var q=lN(F,ms(r).escapedName);if(q)return q}return Am(r.name)&&by(F,1)||by(F,0)}}function dD(r,f){return r&&(lN(r,\"\"+f)||rf(r,function(g){return ND(1,g,Gr,void 0,!1)},!0))}function U3(r){var f=r.parent;return e.isJsxAttributeLike(f)?x2(r):e.isJsxElement(f)?function(g,E){var F=Hh(g.openingElement.tagName),q=Vv(oI(g));if(F&&!Vu(F)&&q&&q!==\"\"){var T0=e.getSemanticJsxChildren(g.children),u1=T0.indexOf(E),M1=lN(F,q);return M1&&(T0.length===1?M1:rf(M1,function(A1){return uw(A1)?JT(A1,sf(u1)):A1},!0))}}(f,r):void 0}function F7(r){if(e.isJsxAttribute(r)){var f=Hh(r.parent);return!f||Vu(f)?void 0:lN(f,r.name.escapedText)}return x2(r.parent)}function Lv(r){switch(r.kind){case 10:case 8:case 9:case 14:case 109:case 94:case 103:case 78:case 150:return!0;case 202:case 208:return Lv(r.expression);case 284:return!r.expression||Lv(r.expression)}return!1}function IV(r,f){return function(g,E){var F=nL(g),q=F&&e.find(E.properties,function(u1){return u1.symbol&&u1.kind===289&&u1.symbol.escapedName===F&&Lv(u1.initializer)}),T0=q&&JA(q.initializer);return T0&&sD(g,T0)}(f,r)||hv(f,e.concatenate(e.map(e.filter(r.properties,function(g){return!!g.symbol&&g.kind===289&&Lv(g.initializer)&&wv(f,g.symbol.escapedName)}),function(g){return[function(){return ZR(g.initializer)},g.symbol.escapedName]}),e.map(e.filter($c(f),function(g){var E;return!!(16777216&g.flags)&&!!((E=r==null?void 0:r.symbol)===null||E===void 0?void 0:E.members)&&!r.symbol.members.has(g.escapedName)&&wv(f,g.escapedName)}),function(g){return[function(){return Gr},g.escapedName]})),cc,f)}function Hh(r,f){var g=mD(e.isObjectLiteralMethod(r)?function(F,q){if(e.Debug.assert(e.isObjectLiteralMethod(F)),!(16777216&F.flags))return rK(F,q)}(r,f):x2(r,f),r,f);if(g&&!(f&&2&f&&8650752&g.flags)){var E=rf(g,S4,!0);return 1048576&E.flags&&e.isObjectLiteralExpression(r)?IV(r,E):1048576&E.flags&&e.isJsxAttributes(r)?function(F,q){return hv(q,e.concatenate(e.map(e.filter(F.properties,function(T0){return!!T0.symbol&&T0.kind===281&&wv(q,T0.symbol.escapedName)&&(!T0.initializer||Lv(T0.initializer))}),function(T0){return[T0.initializer?function(){return Js(T0.initializer)}:function(){return Kr},T0.symbol.escapedName]}),e.map(e.filter($c(q),function(T0){var u1;return!!(16777216&T0.flags)&&!!((u1=F==null?void 0:F.symbol)===null||u1===void 0?void 0:u1.members)&&!F.symbol.members.has(T0.escapedName)&&wv(q,T0.escapedName)}),function(T0){return[function(){return Gr},T0.escapedName]})),cc,q)}(r,E):E}}function mD(r,f,g){if(r&&yl(r,465829888)){var E=iI(f);if(E&&e.some(E.inferences,gI)){if(g&&1&g)return KO(r,E.nonFixingMapper);if(E.returnMapper)return KO(r,E.returnMapper)}}return r}function KO(r,f){return 465829888&r.flags?xo(r,f):1048576&r.flags?Lo(e.map(r.types,function(g){return KO(g,f)}),0):2097152&r.flags?Kc(e.map(r.types,function(g){return KO(g,f)})):r}function x2(r,f){if(!(16777216&r.flags)){if(r.contextualType)return r.contextualType;var g=r.parent;switch(g.kind){case 250:case 161:case 164:case 163:case 199:return function(q,T0){var u1=q.parent;if(e.hasInitializer(u1)&&q===u1.initializer){var M1=MC(u1);if(M1)return M1;if(!(8&T0)&&e.isBindingPattern(u1.name))return yR(u1.name,!0,!1)}}(r,f);case 210:case 243:return function(q){var T0=e.getContainingFunction(q);if(T0){var u1=zR(T0);if(u1){var M1=e.getFunctionFlags(T0);if(1&M1){var A1=kg(u1,2&M1?2:1,void 0);if(!A1)return;u1=A1.returnType}if(2&M1){var lx=rf(u1,h2);return lx&&Lo([lx,vD(lx)])}return u1}}}(r);case 220:return function(q){var T0=e.getContainingFunction(q);if(T0){var u1=e.getFunctionFlags(T0),M1=zR(T0);if(M1)return q.asteriskToken?M1:Y_(0,M1,(2&u1)!=0)}}(g);case 214:return function(q,T0){var u1=x2(q,T0);if(u1){var M1=h2(u1);return M1&&Lo([M1,vD(M1)])}}(g,f);case 204:if(g.expression.kind===99)return l1;case 205:return Bv(g,r);case 207:case 225:return e.isConstTypeReference(g.type)?function(q){return x2(q)}(g):Dc(g.type);case 217:return tK(r,f);case 289:case 290:return rK(g,f);case 291:return x2(g.parent,f);case 200:var E=g;return dD(Hh(E,f),e.indexOfNode(E.elements,r));case 218:return function(q,T0){var u1=q.parent;return q===u1.whenTrue||q===u1.whenFalse?x2(u1,T0):void 0}(r,f);case 229:return e.Debug.assert(g.parent.kind===219),function(q,T0){if(q.parent.kind===206)return Bv(q.parent,T0)}(g.parent,r);case 208:var F=e.isInJSFile(g)?e.getJSDocTypeTag(g):void 0;return F?Dc(F.typeExpression.type):x2(g,f);case 226:return x2(g,f);case 284:return U3(g);case 281:case 283:return F7(g);case 276:case 275:return function(q,T0){return e.isJsxOpeningElement(q)&&q.parent.contextualType&&T0!==4?q.parent.contextualType:fD(q,0)}(g,f)}}}function iI(r){var f=e.findAncestor(r,function(g){return!!g.inferenceContext});return f&&f.inferenceContext}function pU(r,f){return pI(f)!==0?function(g,E){var F=Wp(g,ut);F=H5(E,oI(E),F);var q=n9(w.IntrinsicAttributes,E);return q!==ae&&(F=Bb(q,F)),F}(r,f):function(g,E){var F=oI(E),q=(u1=F,iK(w.ElementAttributesPropertyNameContainer,u1)),T0=q===void 0?Wp(g,ut):q===\"\"?yc(g):function(Ue,Ge){if(Ue.compositeSignatures){for(var er=[],Ar=0,vr=Ue.compositeSignatures;Ar<vr.length;Ar++){var Yt=yc(vr[Ar]);if(Vu(Yt))return Yt;var nn=qc(Yt,Ge);if(!nn)return;er.push(nn)}return Kc(er)}var Nn=yc(Ue);return Vu(Nn)?Nn:qc(Nn,Ge)}(g,q),u1;if(!T0)return q&&e.length(E.attributes.properties)&&ht(E,e.Diagnostics.JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property,e.unescapeLeadingUnderscores(q)),ut;if(Vu(T0=H5(E,F,T0)))return T0;var M1=T0,A1=n9(w.IntrinsicClassAttributes,E);if(A1!==ae){var lx=R9(A1.symbol),Vx=yc(g);M1=Bb(lx?ym(A1,Z2([Vx],lx,Aw(lx),e.isInJSFile(E))):A1,M1)}var ye=n9(w.IntrinsicAttributes,E);return ye!==ae&&(M1=Bb(ye,M1)),M1}(r,f)}function H5(r,f,g){var E,F=(E=f)&&ed(E.exports,w.LibraryManagedAttributes,788968);if(F){var q=Il(F),T0=function(M1){if(zk(M1.tagName))return yP(Ey(M1,A1=w7(M1)));var A1,lx=VC(M1.tagName);return 128&lx.flags?(A1=T7(lx,M1))?yP(Ey(M1,A1)):ae:lx}(r);if(524288&F.flags){var u1=Zo(F).typeParameters;if(e.length(u1)>=2)return vP(F,Z2([T0,g],u1,2,e.isInJSFile(r)))}if(e.length(q.typeParameters)>=2)return ym(q,Z2([T0,g],q.typeParameters,2,e.isInJSFile(r)))}return g}function V3(r){return e.getStrictOptionValue(V1,\"noImplicitAny\")?e.reduceLeft(r,function(f,g){return f!==g&&f?Ob(f.typeParameters,g.typeParameters)?function(E,F){var q,T0=E.typeParameters||F.typeParameters;E.typeParameters&&F.typeParameters&&(q=yg(F.typeParameters,E.typeParameters));var u1=E.declaration,M1=function(ye,Ue,Ge){for(var er=wd(ye),Ar=wd(Ue),vr=er>=Ar?ye:Ue,Yt=vr===ye?Ue:ye,nn=vr===ye?er:Ar,Nn=Sk(ye)||Sk(Ue),Ei=Nn&&!Sk(vr),Ca=new Array(nn+(Ei?1:0)),Aa=0;Aa<nn;Aa++){var Qi=hh(vr,Aa);vr===Ue&&(Qi=xo(Qi,Ge));var Oa=hh(Yt,Aa)||ut;Yt===Ue&&(Oa=xo(Oa,Ge));var Ra=Lo([Qi,Oa]),yn=Nn&&!Ei&&Aa===nn-1,ti=Aa>=fw(vr)&&Aa>=fw(Yt),Gi=Aa>=er?void 0:mI(ye,Aa),zi=Aa>=Ar?void 0:mI(Ue,Aa),Wo=f2(1|(ti&&!yn?16777216:0),(Gi===zi?Gi:Gi?zi?void 0:Gi:zi)||\"arg\"+Aa);Wo.type=yn?zf(Ra):Ra,Ca[Aa]=Wo}if(Ei){var Ms=f2(1,\"args\");Ms.type=zf(p5(Yt,nn)),Yt===Ue&&(Ms.type=xo(Ms.type,Ge)),Ca[nn]=Ms}return Ca}(E,F,q),A1=function(ye,Ue,Ge){if(!ye||!Ue)return ye||Ue;var er=Lo([Yo(ye),xo(Yo(Ue),Ge)]);return ph(ye,er)}(E.thisParameter,F.thisParameter,q),lx=Math.max(E.minArgumentCount,F.minArgumentCount),Vx=Hm(u1,T0,A1,M1,void 0,void 0,lx,39&(E.flags|F.flags));return Vx.compositeKind=2097152,Vx.compositeSignatures=e.concatenate(E.compositeKind===2097152&&E.compositeSignatures||[E],[F]),q&&(Vx.mapper=E.compositeKind===2097152&&E.mapper&&E.compositeSignatures?Jg(E.mapper,q):q),Vx}(f,g):void 0:f}):void 0}function Mv(r,f){var g=_u(r,0),E=e.filter(g,function(F){return!function(q,T0){for(var u1=0;u1<T0.parameters.length;u1++){var M1=T0.parameters[u1];if(M1.initializer||M1.questionToken||M1.dotDotDotToken||Bk(M1))break}return T0.parameters.length&&e.parameterIsThisKeyword(T0.parameters[0])&&u1--,!Sk(q)&&wd(q)<u1}(F,f)});return E.length===1?E[0]:V3(E)}function Sg(r){return r.kind===209||r.kind===210}function M2(r){return Sg(r)||e.isObjectLiteralMethod(r)?R2(r):void 0}function R2(r){e.Debug.assert(r.kind!==166||e.isObjectLiteralMethod(r));var f=$I(r);if(f)return f;var g=Hh(r,1);if(g){if(!(1048576&g.flags))return Mv(g,r);for(var E,F=0,q=g.types;F<q.length;F++){var T0=Mv(q[F],r);if(T0)if(E){if(!ZB(E[0],T0,!1,!0,!0,L_))return;E.push(T0)}else E=[T0]}return E?E.length===1?E[0]:Ib(E[0],E):void 0}}function Fm(r){return r.kind===199&&!!r.initializer||r.kind===217&&r.operatorToken.kind===62}function th(r,f,g){for(var E=r.elements,F=E.length,q=[],T0=[],u1=Hh(r),M1=e.isAssignmentTarget(r),A1=n_(r),lx=0;lx<F;lx++){var Vx=E[lx];if(Vx.kind===221){Ox<2&&v6(Vx,V1.downlevelIteration?1536:1024);var ye=Js(Vx.expression,f,g);if(uw(ye))q.push(ye),T0.push(8);else if(M1){var Ue=Ff(ye,1)||ND(65,ye,Gr,void 0,!1)||ut;q.push(Ue),T0.push(4)}else q.push(wm(33,ye,Gr,Vx.expression)),T0.push(4)}else{var Ge=XO(Vx,f,dD(u1,q.length),g);q.push(Ge),T0.push(1)}}return M1?ek(q,T0):g||A1||u1&&Zg(u1,Gg)?OV(ek(q,T0,A1)):OV(zf(q.length?Lo(e.sameMap(q,function(er,Ar){return 8&T0[Ar]?vm(er,Hx)||E1:er}),2):C1?Fr:B,A1))}function OV(r){if(!(4&e.getObjectFlags(r)))return r;var f=r.literalType;return f||((f=r.literalType=zb(r)).objectFlags|=294912),f}function Am(r){switch(r.kind){case 159:return function(f){return Q6(Tm(f),296)}(r);case 78:return nd(r.escapedText);case 8:case 10:return nd(r.text);default:return!1}}function sS(r){return r===\"Infinity\"||r===\"-Infinity\"||r===\"NaN\"}function nd(r){return(+r).toString()===r}function Tm(r){var f=Fo(r.expression);if(!f.resolvedType){if(f.resolvedType=Js(r.expression),e.isPropertyDeclaration(r.parent)&&!e.hasStaticModifier(r.parent)&&e.isClassExpression(r.parent.parent)){var g=oL(e.getEnclosingBlockScopeContainer(r.parent.parent));g&&(Fo(g).flags|=65536,Fo(r).flags|=524288,Fo(r.parent.parent).flags|=524288)}(98304&f.resolvedType.flags||!Q6(f.resolvedType,402665900)&&!cc(f.resolvedType,Ur))&&ht(r,e.Diagnostics.A_computed_property_name_must_be_of_type_string_number_symbol_or_any)}return f.resolvedType}function nK(r,f,g,E){for(var F,q,T0,u1=[],M1=f;M1<g.length;M1++)(E===0||(F=g[M1],q=void 0,T0=void 0,T0=(q=F.declarations)===null||q===void 0?void 0:q[0],nd(F.escapedName)||T0&&e.isNamedDeclaration(T0)&&Am(T0.name)))&&u1.push(Yo(g[M1]));return Fd(u1.length?Lo(u1,2):Gr,n_(r))}function Rv(r){e.Debug.assert((2097152&r.flags)!=0,\"Should only get Alias here.\");var f=Zo(r);if(!f.immediateTarget){var g=Hf(r);if(!g)return e.Debug.fail();f.immediateTarget=ce(g,!0)}return f.immediateTarget}function $3(r,f){var g=e.isAssignmentTarget(r);(function(da,Ya){for(var Da=new e.Map,fr=0,rt=da.properties;fr<rt.length;fr++){var di=rt[fr];if(di.kind!==291){var Wt=di.name;if(Wt.kind===159&&IU(Wt),di.kind===290&&!Ya&&di.objectAssignmentInitializer)return wo(di.equalsToken,e.Diagnostics.Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_part_of_a_destructuring_pattern);if(Wt.kind===79&&wo(Wt,e.Diagnostics.Private_identifiers_are_not_allowed_outside_class_bodies),di.modifiers)for(var dn=0,Si=di.modifiers;dn<Si.length;dn++){var yi=Si[dn];yi.kind===129&&di.kind===166||wo(yi,e.Diagnostics._0_modifier_cannot_be_used_here,e.getTextOfNode(yi))}var l=void 0;switch(di.kind){case 290:S2(di.exclamationToken,e.Diagnostics.A_definite_assignment_assertion_is_not_permitted_in_this_context);case 289:KV(di.questionToken,e.Diagnostics.An_object_member_cannot_be_declared_optional),Wt.kind===8&&CL(Wt),l=4;break;case 166:l=8;break;case 168:l=1;break;case 169:l=2;break;default:throw e.Debug.assertNever(di,\"Unexpected syntax kind:\"+di.kind)}if(!Ya){var z=e.getPropertyNameForPropertyNameNode(Wt);if(z===void 0)continue;var zr=Da.get(z);if(zr)if(12&l&&12&zr)wo(Wt,e.Diagnostics.Duplicate_identifier_0,e.getTextOfNode(Wt));else{if(!(3&l&&3&zr))return wo(Wt,e.Diagnostics.An_object_literal_cannot_have_property_and_accessor_with_the_same_name);if(zr===3||l===zr)return wo(Wt,e.Diagnostics.An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name);Da.set(z,l|zr)}else Da.set(z,l)}}else if(Ya){var re=e.skipParentheses(di.expression);if(e.isArrayLiteralExpression(re)||e.isObjectLiteralExpression(re))return wo(di.expression,e.Diagnostics.A_rest_element_cannot_contain_a_binding_pattern)}}})(r,g);for(var E=C1?e.createSymbolTable():void 0,F=e.createSymbolTable(),q=[],T0=qs,u1=Hh(r),M1=u1&&u1.pattern&&(u1.pattern.kind===197||u1.pattern.kind===201),A1=n_(r),lx=A1?8:0,Vx=e.isInJSFile(r)&&!e.isInJsonFile(r),ye=e.getJSDocEnumTag(r),Ue=!u1&&Vx&&!ye,Ge=gt,er=!1,Ar=!1,vr=!1,Yt=0,nn=r.properties;Yt<nn.length;Yt++){var Nn=nn[Yt];Nn.name&&e.isComputedPropertyName(Nn.name)&&Tm(Nn.name)}for(var Ei=0,Ca=0,Aa=r.properties;Ca<Aa.length;Ca++){var Qi=Aa[Ca],Oa=ms(Qi),Ra=Qi.name&&Qi.name.kind===159?Tm(Qi.name):void 0;if(Qi.kind===289||Qi.kind===290||e.isObjectLiteralMethod(Qi)){var yn=Qi.kind===289?pw(Qi,f):Qi.kind===290?XO(!g&&Qi.objectAssignmentInitializer?Qi.objectAssignmentInitializer:Qi.name,f):J7(Qi,f);if(Vx){var ti=mp(Qi);ti?(Zd(yn,ti,Qi),yn=ti):ye&&ye.typeExpression&&Zd(yn,Dc(ye.typeExpression),Qi)}Ge|=917504&e.getObjectFlags(yn);var Gi=Ra&&Pt(Ra)?Ra:void 0,zi=Gi?f2(4|Oa.flags,_m(Gi),4096|lx):f2(4|Oa.flags,Oa.escapedName,lx);if(Gi&&(zi.nameType=Gi),g)(Qi.kind===289&&Fm(Qi.initializer)||Qi.kind===290&&Qi.objectAssignmentInitializer)&&(zi.flags|=16777216);else if(M1&&!(512&e.getObjectFlags(u1))){var Wo=ec(u1,Oa.escapedName);Wo?zi.flags|=16777216&Wo.flags:V1.suppressExcessPropertyErrors||vC(u1,0)||ht(Qi.name,e.Diagnostics.Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1,Is(Oa),ka(u1))}zi.declarations=Oa.declarations,zi.parent=Oa.parent,Oa.valueDeclaration&&(zi.valueDeclaration=Oa.valueDeclaration),zi.type=yn,zi.target=Oa,Oa=zi,E==null||E.set(zi.escapedName,zi)}else{if(Qi.kind===291){if(Ox<2&&v6(Qi,2),q.length>0&&(T0=Qm(T0,wt(),r.symbol,Ge,A1),q=[],F=e.createSymbolTable(),Ar=!1,vr=!1),CP(yn=Q2(Js(Qi.expression)))){if(E&&K3(yn,E,Qi),Ei=q.length,T0===ae)continue;T0=Qm(T0,yn,r.symbol,Ge,A1)}else ht(Qi,e.Diagnostics.Spread_types_may_only_be_created_from_object_types),T0=ae;continue}e.Debug.assert(Qi.kind===168||Qi.kind===169),xO(Qi)}!Ra||8576&Ra.flags?F.set(Oa.escapedName,Oa):cc(Ra,Ur)&&(cc(Ra,Hx)?vr=!0:Ar=!0,g&&(er=!0)),q.push(Oa)}if(M1&&r.parent.kind!==291)for(var Ms=0,Et=$c(u1);Ms<Et.length;Ms++)zi=Et[Ms],F.get(zi.escapedName)||ec(T0,zi.escapedName)||(16777216&zi.flags||ht(zi.valueDeclaration||zi.bindingElement,e.Diagnostics.Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value),F.set(zi.escapedName,zi),q.push(zi));return T0===ae?ae:T0!==qs?(q.length>0&&(T0=Qm(T0,wt(),r.symbol,Ge,A1),q=[],F=e.createSymbolTable(),Ar=!1,vr=!1),rf(T0,function(da){return da===qs?wt():da})):wt();function wt(){var da=Ar?nK(r,Ei,q,0):void 0,Ya=vr?nK(r,Ei,q,1):void 0,Da=yo(r.symbol,F,e.emptyArray,e.emptyArray,da,Ya);return Da.objectFlags|=262272|Ge,Ue&&(Da.objectFlags|=8192),er&&(Da.objectFlags|=512),g&&(Da.pattern=r),Da}}function CP(r){if(465829888&r.flags){var f=wA(r);if(f!==void 0)return CP(f)}return!!(126615553&r.flags||117632&MF(r)&&CP(rk(r))||3145728&r.flags&&e.every(r.types,CP))}function dU(r){return!e.stringContains(r,\"-\")}function zk(r){return r.kind===78&&e.isIntrinsicJsxName(r.escapedText)}function aI(r,f){return r.initializer?XO(r.initializer,f):Kr}function JN(r,f){for(var g=[],E=0,F=r.children;E<F.length;E++){var q=F[E];if(q.kind===11)q.containsOnlyTriviaWhiteSpaces||g.push(l1);else{if(q.kind===284&&!q.expression)continue;g.push(XO(q,f))}}return g}function K3(r,f,g){for(var E=0,F=$c(r);E<F.length;E++){var q=F[E],T0=f.get(q.escapedName),u1=Yo(q);if(T0&&!yl(u1,98304)&&!(yl(u1,3)&&16777216&q.flags)){var M1=ht(T0.valueDeclaration,e.Diagnostics._0_is_specified_more_than_once_so_this_usage_will_be_overwritten,e.unescapeLeadingUnderscores(T0.escapedName));e.addRelatedInfo(M1,e.createDiagnosticForNode(g,e.Diagnostics.This_spread_always_overwrites_this_property))}}}function z3(r,f){return function(g,E){for(var F,q=g.attributes,T0=C1?e.createSymbolTable():void 0,u1=e.createSymbolTable(),M1=vs,A1=!1,lx=!1,Vx=2048,ye=Vv(oI(g)),Ue=0,Ge=q.properties;Ue<Ge.length;Ue++){var er=Ge[Ue],Ar=er.symbol;if(e.isJsxAttribute(er)){var vr=aI(er,E);Vx|=917504&e.getObjectFlags(vr);var Yt=f2(4|Ar.flags,Ar.escapedName);Yt.declarations=Ar.declarations,Yt.parent=Ar.parent,Ar.valueDeclaration&&(Yt.valueDeclaration=Ar.valueDeclaration),Yt.type=vr,Yt.target=Ar,u1.set(Yt.escapedName,Yt),T0==null||T0.set(Yt.escapedName,Yt),er.name.escapedText===ye&&(lx=!0)}else e.Debug.assert(er.kind===283),u1.size>0&&(M1=Qm(M1,Oa(),q.symbol,Vx,!1),u1=e.createSymbolTable()),Vu(vr=Q2(VC(er.expression,E)))&&(A1=!0),CP(vr)?(M1=Qm(M1,vr,q.symbol,Vx,!1),T0&&K3(vr,T0,er)):F=F?Kc([F,vr]):vr}A1||u1.size>0&&(M1=Qm(M1,Oa(),q.symbol,Vx,!1));var nn=g.parent.kind===274?g.parent:void 0;if(nn&&nn.openingElement===g&&nn.children.length>0){var Nn=JN(nn,E);if(!A1&&ye&&ye!==\"\"){lx&&ht(q,e.Diagnostics._0_are_specified_twice_The_attribute_named_0_will_be_overwritten,e.unescapeLeadingUnderscores(ye));var Ei=Hh(g.attributes),Ca=Ei&&lN(Ei,ye),Aa=f2(4,ye);Aa.type=Nn.length===1?Nn[0]:Ca&&Zg(Ca,Gg)?ek(Nn):zf(Lo(Nn)),Aa.valueDeclaration=e.factory.createPropertySignature(void 0,e.unescapeLeadingUnderscores(ye),void 0,void 0),e.setParent(Aa.valueDeclaration,q),Aa.valueDeclaration.symbol=Aa;var Qi=e.createSymbolTable();Qi.set(ye,Aa),M1=Qm(M1,yo(q.symbol,Qi,e.emptyArray,e.emptyArray,void 0,void 0),q.symbol,Vx,!1)}}return A1?E1:F&&M1!==vs?Kc([F,M1]):F||(M1===vs?Oa():M1);function Oa(){Vx|=gt;var Ra=yo(q.symbol,u1,e.emptyArray,e.emptyArray,void 0,void 0);return Ra.objectFlags|=262272|Vx,Ra}}(r.parent,f)}function n9(r,f){var g=oI(f),E=g&&Sw(g),F=E&&ed(E,r,788968);return F?Il(F):ae}function jv(r){var f=Fo(r);if(!f.resolvedSymbol){var g=n9(w.IntrinsicElements,r);if(g!==ae){if(!e.isIdentifier(r.tagName))return e.Debug.fail();var E=ec(g,r.tagName.escapedText);return E?(f.jsxFlags|=1,f.resolvedSymbol=E):Ff(g,0)?(f.jsxFlags|=2,f.resolvedSymbol=g.symbol):(ht(r,e.Diagnostics.Property_0_does_not_exist_on_type_1,e.idText(r.tagName),\"JSX.\"+w.IntrinsicElements),f.resolvedSymbol=W1)}return Px&&ht(r,e.Diagnostics.JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists,e.unescapeLeadingUnderscores(w.IntrinsicElements)),f.resolvedSymbol=W1}return f.resolvedSymbol}function Uv(r){var f=r&&e.getSourceFileOfNode(r),g=f&&Fo(f);if(!g||g.jsxImplicitImportContainer!==!1){if(g&&g.jsxImplicitImportContainer)return g.jsxImplicitImportContainer;var E=e.getJSXRuntimeImport(e.getJSXImplicitImportBase(V1,f),V1);if(E){var F=D_(r,E,e.getEmitModuleResolutionKind(V1)===e.ModuleResolutionKind.Classic?e.Diagnostics.Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_node_or_to_add_aliases_to_the_paths_option:e.Diagnostics.Cannot_find_module_0_or_its_corresponding_type_declarations,r),q=F&&F!==W1?Xc(Zr(F)):void 0;return g&&(g.jsxImplicitImportContainer=q||!1),q}}}function oI(r){var f=r&&Fo(r);if(f&&f.jsxNamespace)return f.jsxNamespace;if(!f||f.jsxNamespace!==!1){var g=Uv(r);if(!g||g===W1){var E=Wa(r);g=j6(r,E,1920,void 0,E,!1)}if(g){var F=Zr(ed(Sw(Zr(g)),w.JSX,1920));if(F&&F!==W1)return f&&(f.jsxNamespace=F),F}f&&(f.jsxNamespace=!1)}var q=Zr(Ym(w.JSX,1920,void 0));return q!==W1?q:void 0}function iK(r,f){var g=f&&ed(f.exports,r,788968),E=g&&Il(g),F=E&&$c(E);if(F){if(F.length===0)return\"\";if(F.length===1)return F[0].escapedName;F.length>1&&g.declarations&&ht(g.declarations[0],e.Diagnostics.The_global_type_JSX_0_may_not_have_more_than_one_property,e.unescapeLeadingUnderscores(r))}}function Vv(r){return iK(w.ElementChildrenAttributeNameContainer,r)}function A7(r,f){if(4&r.flags)return[ws];if(128&r.flags){var g=T7(r,f);return g?[Ey(f,g)]:(ht(f,e.Diagnostics.Property_0_does_not_exist_on_type_1,r.value,\"JSX.\"+w.IntrinsicElements),e.emptyArray)}var E=S4(r),F=_u(E,1);return F.length===0&&(F=_u(E,0)),F.length===0&&1048576&E.flags&&(F=GD(e.map(E.types,function(q){return A7(q,f)}))),F}function T7(r,f){var g=n9(w.IntrinsicElements,f);if(g!==ae){var E=r.value,F=ec(g,e.escapeLeadingUnderscores(E));if(F)return Yo(F);var q=Ff(g,0);return q||void 0}return E1}function w7(r){e.Debug.assert(zk(r.tagName));var f=Fo(r);if(!f.resolvedJsxElementAttributesType){var g=jv(r);return 1&f.jsxFlags?f.resolvedJsxElementAttributesType=Yo(g)||ae:2&f.jsxFlags?f.resolvedJsxElementAttributesType=Ff(n9(w.IntrinsicElements,r),0)||ae:f.resolvedJsxElementAttributesType=ae}return f.resolvedJsxElementAttributesType}function $v(r){var f=n9(w.ElementClass,r);if(f!==ae)return f}function uL(r){return n9(w.Element,r)}function Fg(r){var f=uL(r);if(f)return Lo([f,M])}function sI(r){var f,g=e.isJsxOpeningLikeElement(r);if(g&&function(A1){(function(Ar){if(e.isPropertyAccessExpression(Ar)){var vr=Ar;do{var Yt=Nn(vr.name);if(Yt)return Yt;vr=vr.expression}while(e.isPropertyAccessExpression(vr));var nn=Nn(vr);if(nn)return nn}function Nn(Ei){if(e.isIdentifier(Ei)&&e.idText(Ei).indexOf(\":\")!==-1)return wo(Ei,e.Diagnostics.JSX_property_access_expressions_cannot_include_JSX_namespace_names)}})(A1.tagName),IM(A1,A1.typeArguments);for(var lx=new e.Map,Vx=0,ye=A1.attributes.properties;Vx<ye.length;Vx++){var Ue=ye[Vx];if(Ue.kind!==283){var Ge=Ue.name,er=Ue.initializer;if(lx.get(Ge.escapedText))return wo(Ge,e.Diagnostics.JSX_elements_cannot_have_multiple_attributes_with_the_same_name);if(lx.set(Ge.escapedText,!0),er&&er.kind===284&&!er.expression)return wo(er,e.Diagnostics.JSX_attributes_must_only_be_assigned_a_non_empty_expression)}}}(r),f=r,(V1.jsx||0)===0&&ht(f,e.Diagnostics.Cannot_use_JSX_unless_the_jsx_flag_is_provided),uL(f)===void 0&&Px&&ht(f,e.Diagnostics.JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist),!Uv(r)){var E=Ku&&V1.jsx===2?e.Diagnostics.Cannot_find_name_0:void 0,F=Wa(r),q=g?r.tagName:r,T0=void 0;e.isJsxOpeningFragment(r)&&F===\"null\"||(T0=j6(q,F,111551,E,F,!0)),T0&&(T0.isReferenced=67108863,2097152&T0.flags&&!Sf(T0)&&DS(T0))}if(g){var u1=r,M1=Ph(u1);Sy(M1,r),function(A1,lx,Vx){if(A1===1)(ye=Fg(Vx))&&Ad(lx,ye,Xn,Vx.tagName,e.Diagnostics.Its_return_type_0_is_not_a_valid_JSX_element,Ge);else if(A1===0)(Ue=$v(Vx))&&Ad(lx,Ue,Xn,Vx.tagName,e.Diagnostics.Its_instance_type_0_is_not_a_valid_JSX_element,Ge);else{var ye=Fg(Vx),Ue=$v(Vx);if(!ye||!Ue)return;Ad(lx,Lo([ye,Ue]),Xn,Vx.tagName,e.Diagnostics.Its_element_type_0_is_not_a_valid_JSX_element,Ge)}function Ge(){var er=e.getTextOfNode(Vx.tagName);return e.chainDiagnosticMessages(void 0,e.Diagnostics._0_cannot_be_used_as_a_JSX_component,er)}}(pI(u1),yc(M1),u1)}}function zO(r,f,g){if(524288&r.flags){var E=b2(r);if(E.stringIndexInfo||E.numberIndexInfo&&nd(f)||j9(r,f)||g&&!dU(f))return!0}else if(3145728&r.flags&&WO(r)){for(var F=0,q=r.types;F<q.length;F++)if(zO(q[F],f,g))return!0}return!1}function WO(r){return!!(524288&r.flags&&!(512&e.getObjectFlags(r))||67108864&r.flags||1048576&r.flags&&e.some(r.types,WO)||2097152&r.flags&&e.every(r.types,WO))}function BV(r,f){if(function(E){E.expression&&e.isCommaSequence(E.expression)&&wo(E.expression,e.Diagnostics.JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array)}(r),r.expression){var g=Js(r.expression,f);return r.dotDotDotToken&&g!==E1&&!NA(g)&&ht(r,e.Diagnostics.JSX_spread_child_must_be_an_array_type),g}return ae}function q_(r){return r.valueDeclaration?e.getCombinedNodeFlags(r.valueDeclaration):0}function Kv(r){if(8192&r.flags||4&e.getCheckFlags(r))return!0;if(e.isInJSFile(r.valueDeclaration)){var f=r.valueDeclaration.parent;return f&&e.isBinaryExpression(f)&&e.getAssignmentDeclarationKind(f)===3}}function qO(r,f,g,E,F,q){q===void 0&&(q=!0);var T0,u1=e.getDeclarationModifierFlagsFromSymbol(F,g),M1=r.kind===158?r.right:r.kind===196?r:r.kind===199&&r.propertyName?r.propertyName:r.name;if(f){if(Ox<2&&k7(F))return q&&ht(M1,e.Diagnostics.Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword),!1;if(128&u1)return q&&ht(M1,e.Diagnostics.Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression,Is(F),ka(hy(F))),!1}if(128&u1&&k7(F)&&(e.isThisProperty(r)||e.isThisInitializedObjectBindingExpression(r)||e.isObjectBindingPattern(r.parent)&&e.isThisInitializedDeclaration(r.parent.parent))&&(T0=e.getClassLikeDeclarationOfSymbol(I2(F)))&&function(ye){return!!e.findAncestor(ye,function(Ue){return!!(e.isConstructorDeclaration(Ue)&&e.nodeIsPresent(Ue.body)||e.isPropertyDeclaration(Ue))||!(!e.isClassLike(Ue)&&!e.isFunctionLikeDeclaration(Ue))&&\"quit\"})}(r))return q&&ht(M1,e.Diagnostics.Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor,Is(F),e.getTextOfIdentifierOrLiteral(T0.name)),!1;if(!(24&u1))return!0;if(8&u1)return!!uj(r,T0=e.getClassLikeDeclarationOfSymbol(I2(F)))||(q&&ht(M1,e.Diagnostics.Property_0_is_private_and_only_accessible_within_class_1,Is(F),ka(hy(F))),!1);if(f)return!0;var A1=a3(r,function(ye){var Ue=Il(ms(ye));return function(Ge,er,Ar){return o7(er,function(vr){return!!(16&e.getDeclarationModifierFlagsFromSymbol(vr,Ar))&&!A_(Ge,hy(vr))})?void 0:Ge}(Ue,F,g)?Ue:void 0});if(!A1){var lx=void 0;if(32&u1||!(lx=function(ye){var Ue=e.getThisContainer(ye,!1);return Ue&&e.isFunctionLike(Ue)?e.getThisParameter(Ue):void 0}(r))||!lx.type)return q&&ht(M1,e.Diagnostics.Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses,Is(F),ka(hy(F)||E)),!1;var Vx=Dc(lx.type);A1=(262144&Vx.flags?_d(Vx):Vx).target}return!!(32&u1)||(262144&E.flags&&(E=E.isThisType?_d(E):wA(E)),!(!E||!A_(E,A1))||(q&&ht(M1,e.Diagnostics.Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1_This_is_an_instance_of_class_2,Is(F),ka(A1),ka(E)),!1))}function k7(r){return!!o7(r,function(f){return!(8192&f.flags)})}function fN(r){return ak(Js(r),r)}function RC(r){return!!(98304&(C1?MF(r):r.flags))}function zv(r){return RC(r)?Cm(r):r}function kE(r,f){ht(r,32768&f?65536&f?e.Diagnostics.Object_is_possibly_null_or_undefined:e.Diagnostics.Object_is_possibly_undefined:e.Diagnostics.Object_is_possibly_null)}function N7(r,f){ht(r,32768&f?65536&f?e.Diagnostics.Cannot_invoke_an_object_which_is_possibly_null_or_undefined:e.Diagnostics.Cannot_invoke_an_object_which_is_possibly_undefined:e.Diagnostics.Cannot_invoke_an_object_which_is_possibly_null)}function NE(r,f,g){if(C1&&2&r.flags)return ht(f,e.Diagnostics.Object_is_of_type_unknown),ae;var E=98304&(C1?MF(r):r.flags);if(E){g(f,E);var F=Cm(r);return 229376&F.flags?ae:F}return r}function ak(r,f){return NE(r,f,kE)}function P7(r,f){var g=ak(r,f);return g!==ae&&16384&g.flags&&ht(f,e.Diagnostics.Object_is_possibly_undefined),g}function jC(r,f){return 32&r.flags?function(g,E){var F=Js(g.expression),q=Ev(F,g.expression);return K_(DM(g,g.expression,ak(q,g.expression),g.name,E),g,q!==F)}(r,f):DM(r,r.expression,fN(r.expression),r.name,f)}function Cy(r,f){return DM(r,r.left,fN(r.left),r.right,f)}function _M(r){for(;r.parent.kind===208;)r=r.parent;return e.isCallOrNewExpression(r.parent)&&r.parent.expression===r}function EP(r,f){for(var g=e.getContainingClass(f);g;g=e.getContainingClass(g)){var E=g.symbol,F=e.getSymbolNameForPrivateIdentifier(E,r),q=E.members&&E.members.get(F)||E.exports&&E.exports.get(F);if(q)return q}}function uI(r,f){return ec(r,f.escapedName)}function yM(r,f){return(TA(f)||e.isThisProperty(r)&&MN(f))&&e.getThisContainer(r,!0)===J5(f)}function DM(r,f,g,E,F){var q,T0,u1=Fo(f).resolvedSymbol,M1=e.getAssignmentTargetKind(r),A1=S4(M1!==0||_M(r)?Bp(g):g),lx=Vu(A1)||A1===Ka;if(e.isPrivateIdentifier(E)){Ox<99&&(M1!==0&&v6(r,1048576),M1!==1&&v6(r,524288));var Vx=EP(E.escapedText,E);if(M1&&Vx&&Vx.valueDeclaration&&e.isMethodDeclaration(Vx.valueDeclaration)&&wo(E,e.Diagnostics.Cannot_assign_to_private_method_0_Private_methods_are_not_writable,e.idText(E)),(Vx==null?void 0:Vx.valueDeclaration)&&V1.target===99&&!rx){var ye=e.getContainingClass(Vx.valueDeclaration),Ue=e.findAncestor(r,function(Yt){return Yt===ye?\"quit\":!(!e.isPropertyDeclaration(Yt.parent)||!e.hasStaticModifier(Yt.parent)||Yt.parent.initializer!==Yt||Yt.parent.parent!==ye)});if(Ue){var Ge=ms(Ue.parent);e.Debug.assert(Ge,\"Initializer without declaration symbol\");var er=ht(r,e.Diagnostics.Property_0_may_not_be_used_in_a_static_property_s_initializer_in_the_same_class_when_target_is_esnext_and_useDefineForClassFields_is_false,e.symbolName(Vx));e.addRelatedInfo(er,e.createDiagnosticForNode(Ue.parent,e.Diagnostics.Initializer_for_property_0,e.symbolName(Ge)))}}if(lx){if(Vx)return A1;if(!e.getContainingClass(E))return wo(E,e.Diagnostics.Private_identifiers_are_not_allowed_outside_class_bodies),E1}if(!(q=Vx?uI(g,Vx):void 0)&&function(Yt,nn,Nn){var Ei,Ca=$c(Yt);Ca&&e.forEach(Ca,function(Gi){var zi=Gi.valueDeclaration;if(zi&&e.isNamedDeclaration(zi)&&e.isPrivateIdentifier(zi.name)&&zi.name.escapedText===nn.escapedText)return Ei=Gi,!0});var Aa=md(nn);if(Ei){var Qi=e.Debug.checkDefined(Ei.valueDeclaration),Oa=e.Debug.checkDefined(e.getContainingClass(Qi));if(Nn==null?void 0:Nn.valueDeclaration){var Ra=Nn.valueDeclaration,yn=e.getContainingClass(Ra);if(e.Debug.assert(!!yn),e.findAncestor(yn,function(Gi){return Oa===Gi})){var ti=ht(nn,e.Diagnostics.The_property_0_cannot_be_accessed_on_type_1_within_this_class_because_it_is_shadowed_by_another_private_identifier_with_the_same_spelling,Aa,ka(Yt));return e.addRelatedInfo(ti,e.createDiagnosticForNode(Ra,e.Diagnostics.The_shadowing_declaration_of_0_is_defined_here,Aa),e.createDiagnosticForNode(Qi,e.Diagnostics.The_declaration_of_0_that_you_probably_intended_to_use_is_defined_here,Aa)),!0}}return ht(nn,e.Diagnostics.Property_0_is_not_accessible_outside_class_1_because_it_has_a_private_identifier,Aa,md(Oa.name||i0)),!0}return!1}(g,E,Vx))return ae;q&&65536&q.flags&&!(32768&q.flags)&&M1!==1&&ht(r,e.Diagnostics.Private_accessor_was_defined_without_a_getter)}else{if(lx)return e.isIdentifier(f)&&u1&&cD(u1,r),A1;q=ec(A1,E.escapedText)}if(e.isIdentifier(f)&&u1&&(V1.isolatedModules||!q||!YN(q)||e.shouldPreserveConstEnums(V1)&&AE(r))&&cD(u1,r),q){q.declarations&&134217728&q_(q)&&N_(r,q)&&lp(E,q.declarations,E.escapedText),function(Yt,nn,Nn){var Ei,Ca=Yt.valueDeclaration;if(!(!Ca||e.getSourceFileOfNode(nn).isDeclarationFile)){var Aa=e.idText(Nn);!function(Qi){return!!e.findAncestor(Qi,function(Oa){switch(Oa.kind){case 164:return!0;case 289:case 166:case 168:case 169:case 291:case 159:case 229:case 284:case 281:case 282:case 283:case 276:case 224:case 287:return!1;default:return!e.isExpressionNode(Oa)&&\"quit\"}})}(nn)||function(Qi){return e.isPropertyDeclaration(Qi)&&Qi.questionToken}(Ca)||e.isAccessExpression(nn)&&e.isAccessExpression(nn.expression)||ah(Ca,Nn)||!V1.useDefineForClassFields&&function(Qi){if(!(32&Qi.parent.flags))return!1;for(var Oa=Yo(Qi.parent);;){if(!(Oa=Oa.symbol&&O7(Oa)))return!1;var Ra=ec(Oa,Qi.escapedName);if(Ra&&Ra.valueDeclaration)return!0}}(Yt)?Ca.kind!==253||nn.parent.kind===174||8388608&Ca.flags||ah(Ca,Nn)||(Ei=ht(Nn,e.Diagnostics.Class_0_used_before_its_declaration,Aa)):Ei=ht(Nn,e.Diagnostics.Property_0_is_used_before_its_initialization,Aa),Ei&&e.addRelatedInfo(Ei,e.createDiagnosticForNode(Ca,e.Diagnostics._0_is_declared_here,Aa))}}(q,r,E),z9(q,r,aK(f,u1)),Fo(r).resolvedSymbol=q;var Ar=e.isWriteAccess(r);if(qO(r,f.kind===105,Ar,A1,q),xb(r,q,M1))return ht(E,e.Diagnostics.Cannot_assign_to_0_because_it_is_a_read_only_property,e.idText(E)),ae;T0=yM(r,q)?qx:Ar?Sz(q):Yo(q)}else{var vr=e.isPrivateIdentifier(E)||M1!==0&&Sh(g)&&!XB(g)?void 0:vC(A1,0);if(!vr||!vr.type)return GB(g)?E1:g.symbol===xr?(xr.exports.has(E.escapedText)&&418&xr.exports.get(E.escapedText).flags?ht(E,e.Diagnostics.Property_0_does_not_exist_on_type_1,e.unescapeLeadingUnderscores(E.escapedText),ka(g)):Px&&ht(E,e.Diagnostics.Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature,ka(g)),E1):(E.escapedText&&!Pk(r)&&function(Yt,nn){var Nn,Ei;if(!e.isPrivateIdentifier(Yt)&&1048576&nn.flags&&!(131068&nn.flags))for(var Ca=0,Aa=nn.types;Ca<Aa.length;Ca++){var Qi=Aa[Ca];if(!ec(Qi,Yt.escapedText)&&!vC(Qi,0)){Nn=e.chainDiagnosticMessages(Nn,e.Diagnostics.Property_0_does_not_exist_on_type_1,e.declarationNameToString(Yt),ka(Qi));break}}if(hD(Yt.escapedText,nn)){var Oa=e.declarationNameToString(Yt),Ra=ka(nn);Nn=e.chainDiagnosticMessages(Nn,e.Diagnostics.Property_0_does_not_exist_on_type_1_Did_you_mean_to_access_the_static_member_2_instead,Oa,Ra,Ra+\".\"+Oa)}else{var yn=wy(nn);if(yn&&ec(yn,Yt.escapedText))Nn=e.chainDiagnosticMessages(Nn,e.Diagnostics.Property_0_does_not_exist_on_type_1,e.declarationNameToString(Yt),ka(nn)),Ei=e.createDiagnosticForNode(Yt,e.Diagnostics.Did_you_forget_to_use_await);else{var ti=e.declarationNameToString(Yt),Gi=ka(nn),zi=function(da,Ya){var Da=S4(Ya).symbol;if(!!Da)for(var fr=e.getScriptTargetFeatures(),rt=e.getOwnKeys(fr),di=0,Wt=rt;di<Wt.length;di++){var dn=Wt[di],Si=fr[dn][e.symbolName(Da)];if(Si!==void 0&&e.contains(Si,da))return dn}}(ti,nn);if(zi!==void 0)Nn=e.chainDiagnosticMessages(Nn,e.Diagnostics.Property_0_does_not_exist_on_type_1_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2_or_later,ti,Gi,zi);else{var Wo=Gh(Yt,nn);if(Wo!==void 0){var Ms=e.symbolName(Wo);Nn=e.chainDiagnosticMessages(Nn,e.Diagnostics.Property_0_does_not_exist_on_type_1_Did_you_mean_2,ti,Gi,Ms),Ei=Wo.valueDeclaration&&e.createDiagnosticForNode(Wo.valueDeclaration,e.Diagnostics._0_is_declared_here,Ms)}else{var Et=function(da){return V1.lib&&!V1.lib.includes(\"dom\")&&function(Ya,Da){return 3145728&Ya.flags?e.every(Ya.types,Da):Da(Ya)}(da,function(Ya){return Ya.symbol&&/^(EventTarget|Node|((HTML[a-zA-Z]*)?Element))$/.test(e.unescapeLeadingUnderscores(Ya.symbol.escapedName))})&&lh(da)}(nn)?e.Diagnostics.Property_0_does_not_exist_on_type_1_Try_changing_the_lib_compiler_option_to_include_dom:e.Diagnostics.Property_0_does_not_exist_on_type_1;Nn=e.chainDiagnosticMessages(ZD(Nn,nn),Et,ti,Gi)}}}}var wt=e.createDiagnosticForNodeFromMessageChain(Yt,Nn);Ei&&e.addRelatedInfo(wt,Ei),Ku.add(wt)}(E,XB(g)?A1:g),ae);vr.isReadonly&&(e.isAssignmentTarget(r)||e.isDeleteTarget(r))&&ht(r,e.Diagnostics.Index_signature_in_type_0_only_permits_reading,ka(A1)),T0=V1.noUncheckedIndexedAccess&&!e.isAssignmentTarget(r)?Lo([vr.type,Gr]):vr.type,V1.noPropertyAccessFromIndexSignature&&e.isPropertyAccessExpression(r)&&ht(E,e.Diagnostics.Property_0_comes_from_an_index_signature_so_it_must_be_accessed_with_0,e.unescapeLeadingUnderscores(E.escapedText))}return I7(r,q,T0,E,F)}function I7(r,f,g,E,F){var q=e.getAssignmentTargetKind(r);if(q===1||f&&!(98311&f.flags)&&!(8192&f.flags&&1048576&g.flags)&&!MD(f.declarations))return g;if(g===qx)return NT(r,f);g=j3(g,r,F);var T0=!1;if(C1&&b1&&e.isAccessExpression(r)&&r.expression.kind===107){var u1=f&&f.valueDeclaration;if(u1&&aj(u1)){var M1=Sm(r);M1.kind!==167||M1.parent!==u1.parent||8388608&u1.flags||(T0=!0)}}else C1&&f&&f.valueDeclaration&&e.isPropertyAccessExpression(f.valueDeclaration)&&e.getAssignmentDeclarationPropertyAccessKind(f.valueDeclaration)&&Sm(r)===Sm(f.valueDeclaration)&&(T0=!0);var A1=dh(r,g,T0?nm(g):g);return T0&&!(32768&MF(g))&&32768&MF(A1)?(ht(E,e.Diagnostics.Property_0_is_used_before_being_assigned,Is(f)),g):q?F4(A1):A1}function O7(r){var f=bk(r);if(f.length!==0)return Kc(f)}function hD(r,f){var g=f.symbol&&ec(Yo(f.symbol),r);return g!==void 0&&!!g.valueDeclaration&&e.hasSyntacticModifier(g.valueDeclaration,32)}function Gh(r,f){var g=$c(f);if(typeof r!=\"string\"){var E=r.parent;e.isPropertyAccessExpression(E)&&(g=e.filter(g,function(F){return lI(E,f,F)})),r=e.idText(r)}return ke(r,g,111551)}function Xh(r,f){var g=e.isString(r)?r:e.idText(r),E=$c(f),F=g===\"for\"?e.find(E,function(q){return e.symbolName(q)===\"htmlFor\"}):g===\"class\"?e.find(E,function(q){return e.symbolName(q)===\"className\"}):void 0;return F!=null?F:ke(g,E,111551)}function mU(r,f){var g=Gh(r,f);return g&&e.symbolName(g)}function cI(r,f,g){return e.Debug.assert(f!==void 0,\"outername should always be defined\"),Jo(r,f,g,void 0,f,!1,!1,function(E,F,q){return e.Debug.assertEqual(f,F,\"name should equal outerName\"),ed(E,F,q)||ke(e.unescapeLeadingUnderscores(F),e.arrayFrom(E.values()),q)})}function K9(r,f){return f.exports&&ke(e.idText(r),Zw(f),2623475)}function ke(r,f,g){return e.getSpellingSuggestion(r,f,function(E){var F=e.symbolName(E);if(!e.startsWith(F,'\"')){if(E.flags&g)return F;if(2097152&E.flags){var q=function(T0){if(Zo(T0).target!==cx)return ui(T0)}(E);if(q&&q.flags&g)return F}}})}function z9(r,f,g){var E=r&&106500&r.flags&&r.valueDeclaration;if(E){var F=e.hasEffectiveModifier(E,8),q=r.valueDeclaration&&e.isNamedDeclaration(r.valueDeclaration)&&e.isPrivateIdentifier(r.valueDeclaration.name);if((F||q)&&(!f||!e.isWriteOnlyAccess(f)||65536&r.flags)){if(g){var T0=e.findAncestor(f,e.isFunctionLikeDeclaration);if(T0&&T0.symbol===r)return}(1&e.getCheckFlags(r)?Zo(r).target:r).isReferenced=67108863}}}function aK(r,f){return r.kind===107||!!f&&e.isEntityNameExpression(r)&&f===$k(e.getFirstIdentifier(r))}function lI(r,f,g){return J_(r,r.kind===202&&r.expression.kind===105,g.escapedName,f)}function J_(r,f,g,E){if(E===ae||Vu(E))return!0;var F=ec(E,g);if(F){if(F.valueDeclaration&&e.isPrivateIdentifierClassElementDeclaration(F.valueDeclaration)){var q=e.getContainingClass(F.valueDeclaration);return!e.isOptionalChain(r)&&!!e.findAncestor(r,function(T0){return T0===q})}return qO(r,f,!1,E,F,!1)}return e.isInJSFile(r)&&(1048576&E.flags)!=0&&E.types.some(function(T0){return J_(r,f,g,T0)})}function W3(r){var f=r.initializer;if(f.kind===251){var g=f.declarations[0];if(g&&!e.isBindingPattern(g.name))return ms(g)}else if(f.kind===78)return $k(f)}function WR(r){return Ff(r,1)&&!Ff(r,0)}function hU(r,f){return 32&r.flags?function(g,E){var F=Js(g.expression),q=Ev(F,g.expression);return K_(oK(g,ak(q,g.expression),E),g,q!==F)}(r,f):oK(r,fN(r.expression),f)}function oK(r,f,g){var E=e.getAssignmentTargetKind(r)!==0||_M(r)?Bp(f):f,F=r.argumentExpression,q=Js(F);if(E===ae||E===Ka)return E;if(Ay(E)&&!e.isStringLiteralLike(F))return ht(F,e.Diagnostics.A_const_enum_member_can_only_be_accessed_using_a_string_literal),ae;var T0=vm(E,function(u1){var M1=e.skipParentheses(u1);if(M1.kind===78){var A1=$k(M1);if(3&A1.flags)for(var lx=u1,Vx=u1.parent;Vx;){if(Vx.kind===239&&lx===Vx.statement&&W3(Vx)===A1&&WR(JA(Vx.expression)))return!0;lx=Vx,Vx=Vx.parent}}return!1}(F)?Hx:q,void 0,r,16|(e.isAssignmentTarget(r)?2|(Sh(E)&&!XB(E)?1:0):0))||ae;return YI(I7(r,Fo(r).resolvedSymbol,T0,F,g),r)}function qR(r){return e.isCallOrNewExpression(r)||e.isTaggedTemplateExpression(r)||e.isJsxOpeningLikeElement(r)}function cw(r){return qR(r)&&e.forEach(r.typeArguments,Hu),r.kind===206?Js(r.template):e.isJsxOpeningLikeElement(r)?Js(r.attributes):r.kind!==162&&e.forEach(r.arguments,function(f){Js(f)}),ws}function lw(r){return cw(r),gc}function cL(r){return!!r&&(r.kind===221||r.kind===228&&r.isSpread)}function vM(r){return e.findIndex(r,cL)}function B7(r){return!!(16384&r.flags)}function gU(r){return!!(49155&r.flags)}function x_(r,f,g,E){var F;E===void 0&&(E=!1);var q=!1,T0=wd(g),u1=fw(g);if(r.kind===206)if(F=f.length,r.template.kind===219){var M1=e.last(r.template.templateSpans);q=e.nodeIsMissing(M1.literal)||!!M1.literal.isUnterminated}else{var A1=r.template;e.Debug.assert(A1.kind===14),q=!!A1.isUnterminated}else if(r.kind===162)F=JR(r,g);else if(e.isJsxOpeningLikeElement(r)){if(q=r.attributes.end===r.end)return!0;F=u1===0?f.length:1,T0=f.length===0?T0:1,u1=Math.min(u1,1)}else{if(!r.arguments)return e.Debug.assert(r.kind===205),fw(g)===0;F=E?f.length+1:f.length,q=r.arguments.end===r.end;var lx=vM(f);if(lx>=0)return lx>=fw(g)&&(Sk(g)||lx<wd(g))}if(!Sk(g)&&F>T0)return!1;if(q||F>=u1)return!0;for(var Vx=F;Vx<u1;Vx++)if(131072&aA(p5(g,Vx),e.isInJSFile(r)&&!C1?gU:B7).flags)return!1;return!0}function gD(r,f){var g=e.length(r.typeParameters),E=Aw(r.typeParameters);return!e.some(f)||f.length>=E&&f.length<=g}function Nh(r){return e_(r,0,!1)}function _U(r){return e_(r,0,!1)||e_(r,1,!1)}function e_(r,f,g){if(524288&r.flags){var E=b2(r);if(g||E.properties.length===0&&!E.stringIndexInfo&&!E.numberIndexInfo){if(f===0&&E.callSignatures.length===1&&E.constructSignatures.length===0)return E.callSignatures[0];if(f===1&&E.constructSignatures.length===1&&E.callSignatures.length===0)return E.constructSignatures[0]}}}function ww(r,f,g,E){var F=D9(r.typeParameters,r,0,E),q=$d(f),T0=g&&(q&&262144&q.flags?g.nonFixingMapper:g.mapper);return Fv(T0?vg(f,T0):f,r,function(u1,M1){nk(F.inferences,u1,M1)}),g||Q$(f,r,function(u1,M1){nk(F.inferences,u1,M1,128)}),$g(r,im(F),e.isInJSFile(f.declaration))}function n8(r){if(!r)return Ii;var f=Js(r);return e.isOptionalChainRoot(r.parent)?Cm(f):e.isOptionalChain(r.parent)?tL(f):f}function q3(r,f,g,E,F){if(e.isJsxOpeningLikeElement(r))return function(Aa,Qi,Oa,Ra){var yn=pU(Qi,Aa),ti=hI(Aa.attributes,yn,Ra,Oa);return nk(Ra.inferences,ti,yn),im(Ra)}(r,f,E,F);if(r.kind!==162){var q=x2(r,e.every(f.typeParameters,function(Aa){return!!$N(Aa)})?8:0);if(q){var T0=iI(r),u1=xo(q,fM(function(Aa,Qi){return Qi===void 0&&(Qi=0),Aa&&CE(e.map(Aa.inferences,u7),Aa.signature,Aa.flags|Qi,Aa.compareTypes)}(T0,1))),M1=Nh(u1),A1=M1&&M1.typeParameters?yP(xM(M1,M1.typeParameters)):u1,lx=yc(f);nk(F.inferences,A1,lx,128);var Vx=D9(f.typeParameters,f,F.flags),ye=xo(q,T0&&T0.returnMapper);nk(Vx.inferences,ye,lx),F.returnMapper=e.some(Vx.inferences,gI)?fM(function(Aa){var Qi=e.filter(Aa.inferences,gI);return Qi.length?CE(e.map(Qi,u7),Aa.signature,Aa.flags,Aa.compareTypes):void 0}(Vx)):void 0}}var Ue=jl(f),Ge=Ue?Math.min(wd(f)-1,g.length):g.length;if(Ue&&262144&Ue.flags){var er=e.find(F.inferences,function(Aa){return Aa.typeParameter===Ue});er&&(er.impliedArity=e.findIndex(g,cL,Ge)<0?g.length-Ge:void 0)}var Ar=Tw(f);if(Ar){var vr=J3(r);nk(F.inferences,n8(vr),Ar)}for(var Yt=0;Yt<Ge;Yt++){var nn=g[Yt];if(nn.kind!==223){var Nn=p5(f,Yt),Ei=hI(nn,Nn,F,E);nk(F.inferences,Ei,Nn)}}if(Ue){var Ca=W9(g,Ge,g.length,Ue,F,E);nk(F.inferences,Ca,Ue)}return im(F)}function UC(r){return 1048576&r.flags?rf(r,UC):1&r.flags||jO(wA(r)||r)?r:Vd(r)?ek(Cc(r),r.target.elementFlags,!1,r.target.labeledElementDeclarations):ek([r],[8])}function W9(r,f,g,E,F,q){if(f>=g-1&&cL(lx=r[g-1]))return UC(lx.kind===228?lx.type:hI(lx.expression,E,F,q));for(var T0=[],u1=[],M1=[],A1=f;A1<g;A1++){var lx;if(cL(lx=r[A1])){var Vx=lx.kind===228?lx.type:Js(lx.expression);uw(Vx)?(T0.push(Vx),u1.push(8)):(T0.push(wm(33,Vx,Gr,lx.kind===221?lx.expression:lx)),u1.push(4))}else{var ye=JT(E,sf(A1-f)),Ue=hI(lx,ye,F,q),Ge=yl(ye,406978556);T0.push(Ge?Kp(Ue):fh(Ue)),u1.push(1)}lx.kind===228&&lx.tupleNameSource&&M1.push(lx.tupleNameSource)}return ek(T0,u1,!1,e.length(M1)===e.length(T0)?M1:void 0)}function fI(r,f,g,E){for(var F,q=e.isInJSFile(r.declaration),T0=r.typeParameters,u1=Z2(e.map(f,Dc),T0,Aw(T0),q),M1=0;M1<f.length;M1++){e.Debug.assert(T0[M1]!==void 0,\"Should not call checkTypeArguments with too many type arguments\");var A1=_d(T0[M1]);if(A1){var lx=g&&E?function(){return e.chainDiagnosticMessages(void 0,e.Diagnostics.Type_0_does_not_satisfy_the_constraint_1)}:void 0,Vx=E||e.Diagnostics.Type_0_does_not_satisfy_the_constraint_1;F||(F=yg(T0,u1));var ye=u1[M1];if(!Zd(ye,Fw(xo(A1,F),ye),g?f[M1]:void 0,Vx,lx))return}}return u1}function pI(r){if(zk(r.tagName))return 2;var f=S4(Js(r.tagName));return e.length(_u(f,1))?0:e.length(_u(f,0))?1:2}function C2(r,f,g,E,F,q,T0){var u1={errors:void 0,skipLogging:!0};if(e.isJsxOpeningLikeElement(r))return function(Qi,Oa,Ra,yn,ti,Gi,zi){var Wo=pU(Oa,Qi),Ms=hI(Qi.attributes,Wo,void 0,yn);return function(){var Et;if(Uv(Qi))return!0;var wt=e.isJsxOpeningElement(Qi)||e.isJsxSelfClosingElement(Qi)&&!zk(Qi.tagName)?Js(Qi.tagName):void 0;if(!wt)return!0;var da=_u(wt,0);if(!e.length(da))return!0;var Ya=rB(Qi);if(!Ya)return!0;var Da=nl(Ya,111551,!0,!1,Qi);if(!Da)return!0;var fr=_u(Yo(Da),0);if(!e.length(fr))return!0;for(var rt=!1,di=0,Wt=0,dn=fr;Wt<dn.length;Wt++){var Si=_u(p5(dn[Wt],0),0);if(e.length(Si))for(var yi=0,l=Si;yi<l.length;yi++){var z=l[yi];if(rt=!0,Sk(z))return!0;var zr=wd(z);zr>di&&(di=zr)}}if(!rt)return!0;for(var re=1/0,Oo=0,yu=da;Oo<yu.length;Oo++){var dl=fw(yu[Oo]);dl<re&&(re=dl)}if(re<=di)return!0;if(ti){var lc=e.createDiagnosticForNode(Qi.tagName,e.Diagnostics.Tag_0_expects_at_least_1_arguments_but_the_JSX_factory_2_provides_at_most_3,e.entityNameToString(Qi.tagName),re,e.entityNameToString(Ya),di),qi=(Et=Ce(Qi.tagName))===null||Et===void 0?void 0:Et.valueDeclaration;qi&&e.addRelatedInfo(lc,e.createDiagnosticForNode(qi,e.Diagnostics._0_is_declared_here,e.entityNameToString(Qi.tagName))),zi&&zi.skipLogging&&(zi.errors||(zi.errors=[])).push(lc),zi.skipLogging||Ku.add(lc)}return!1}()&&oU(Ms,Wo,Ra,ti?Qi.tagName:void 0,Qi.attributes,void 0,Gi,zi)}(r,g,E,F,q,T0,u1)?void 0:(e.Debug.assert(!q||!!u1.errors,\"jsx should have errors when reporting errors\"),u1.errors||e.emptyArray);var M1=Tw(g);if(M1&&M1!==Ii&&r.kind!==205){var A1=J3(r),lx=n8(A1),Vx=q?A1||r:void 0,ye=e.Diagnostics.The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1;if(!Ad(lx,M1,E,Vx,ye,T0,u1))return e.Debug.assert(!q||!!u1.errors,\"this parameter should have errors when reporting errors\"),u1.errors||e.emptyArray}for(var Ue=e.Diagnostics.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1,Ge=jl(g),er=Ge?Math.min(wd(g)-1,f.length):f.length,Ar=0;Ar<er;Ar++){var vr=f[Ar];if(vr.kind!==223){var Yt=p5(g,Ar),nn=hI(vr,Yt,void 0,F),Nn=4&F?Xg(nn):nn;if(!oU(Nn,Yt,E,q?vr:void 0,vr,Ue,T0,u1))return e.Debug.assert(!q||!!u1.errors,\"parameter should have errors when reporting errors\"),Aa(vr,Nn,Yt),u1.errors||e.emptyArray}}if(Ge){var Ei=W9(f,er,f.length,Ge,void 0,F),Ca=f.length-er;if(Vx=q?Ca===0?r:Ca===1?f[er]:e.setTextRangePosEnd(zp(r,Ei),f[er].pos,f[f.length-1].end):void 0,!Ad(Ei,Ge,E,Vx,Ue,void 0,u1))return e.Debug.assert(!q||!!u1.errors,\"rest parameter should have errors when reporting errors\"),Aa(Vx,Ei,Ge),u1.errors||e.emptyArray}return;function Aa(Qi,Oa,Ra){if(Qi&&q&&u1.errors&&u1.errors.length){if(QI(Ra))return;var yn=QI(Oa);yn&&rd(yn,Ra,E)&&e.addRelatedInfo(u1.errors[0],e.createDiagnosticForNode(Qi,e.Diagnostics.Did_you_forget_to_use_await))}}}function J3(r){if(r.kind===204){var f=e.skipOuterExpressions(r.expression);if(e.isAccessExpression(f))return f.expression}}function zp(r,f,g,E){var F=e.parseNodeFactory.createSyntheticExpression(f,g,E);return e.setTextRange(F,r),e.setParent(F,r),F}function mh(r){if(r.kind===206){var f=r.template,g=[zp(f,Ef||(Ef=Kf(\"TemplateStringsArray\",0,!0))||qs)];return f.kind===219&&e.forEach(f.templateSpans,function(M1){g.push(M1.expression)}),g}if(r.kind===162)return function(M1){var A1=M1.parent,lx=M1.expression;switch(A1.kind){case 253:case 222:return[zp(lx,Yo(ms(A1)))];case 161:var Vx=A1.parent;return[zp(lx,A1.parent.kind===167?Yo(ms(Vx)):ae),zp(lx,E1),zp(lx,Hx)];case 164:case 166:case 168:case 169:var ye=A1.kind!==164&&Ox!==0;return[zp(lx,DL(A1)),zp(lx,cj(A1)),zp(lx,ye?KN(AP(A1)):E1)]}return e.Debug.fail()}(r);if(e.isJsxOpeningLikeElement(r))return r.attributes.properties.length>0||e.isJsxOpeningElement(r)&&r.parent.children.length>0?[r.attributes]:e.emptyArray;var E=r.arguments||e.emptyArray,F=vM(E);if(F>=0){for(var q=E.slice(0,F),T0=function(M1){var A1=E[M1],lx=A1.kind===221&&(Al?Js(A1.expression):VC(A1.expression));lx&&Vd(lx)?e.forEach(Cc(lx),function(Vx,ye){var Ue,Ge=lx.target.elementFlags[ye],er=zp(A1,4&Ge?zf(Vx):Vx,!!(12&Ge),(Ue=lx.target.labeledElementDeclarations)===null||Ue===void 0?void 0:Ue[ye]);q.push(er)}):q.push(A1)},u1=F;u1<E.length;u1++)T0(u1);return q}return E}function JR(r,f){switch(r.parent.kind){case 253:case 222:return 1;case 164:return 2;case 166:case 168:case 169:return Ox===0||f.parameters.length<=2?2:3;case 161:return 3;default:return e.Debug.fail()}}function wz(r,f){var g,E,F=e.getSourceFileOfNode(r);if(e.isPropertyAccessExpression(r.expression)){var q=e.getErrorSpanForNode(F,r.expression.name);g=q.start,E=f?q.length:r.end-g}else{var T0=e.getErrorSpanForNode(F,r.expression);g=T0.start,E=f?T0.length:r.end-g}return{start:g,length:E,sourceFile:F}}function JO(r,f,g,E,F,q){if(e.isCallExpression(r)){var T0=wz(r),u1=T0.sourceFile,M1=T0.start,A1=T0.length;return e.createFileDiagnostic(u1,M1,A1,f,g,E,F,q)}return e.createDiagnosticForNode(r,f,g,E,F,q)}function yU(r,f,g){var E,F=vM(g);if(F>-1)return e.createDiagnosticForNode(g[F],e.Diagnostics.A_spread_argument_must_either_have_a_tuple_type_or_be_passed_to_a_rest_parameter);for(var q,T0=Number.POSITIVE_INFINITY,u1=Number.NEGATIVE_INFINITY,M1=Number.NEGATIVE_INFINITY,A1=Number.POSITIVE_INFINITY,lx=0,Vx=f;lx<Vx.length;lx++){var ye=Vx[lx],Ue=fw(ye),Ge=wd(ye);Ue<T0&&(T0=Ue,q=ye),u1=Math.max(u1,Ge),Ue<g.length&&Ue>M1&&(M1=Ue),g.length<Ge&&Ge<A1&&(A1=Ge)}var er=e.some(f,Sk),Ar=er?T0:T0<u1?T0+\"-\"+u1:T0,vr=er?e.Diagnostics.Expected_at_least_0_arguments_but_got_1:Ar===1&&g.length===0&&function(Qi){if(!e.isCallExpression(Qi)||!e.isIdentifier(Qi.expression))return!1;var Oa=j6(Qi.expression,Qi.expression.escapedText,111551,void 0,void 0,!1),Ra=Oa==null?void 0:Oa.valueDeclaration;if(!(Ra&&e.isParameter(Ra)&&Sg(Ra.parent)&&e.isNewExpression(Ra.parent.parent)&&e.isIdentifier(Ra.parent.parent.expression)))return!1;var yn=EC(!1);return!!yn&&Ce(Ra.parent.parent.expression,!0)===yn}(r)?e.Diagnostics.Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise:e.Diagnostics.Expected_0_arguments_but_got_1;if(T0<g.length&&g.length<u1)return JO(r,e.Diagnostics.No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments,g.length,M1,A1);if(g.length<T0){var Yt=JO(r,vr,Ar,g.length),nn=(E=q==null?void 0:q.declaration)===null||E===void 0?void 0:E.parameters[q.thisParameter?g.length+1:g.length];if(nn){var Nn=e.createDiagnosticForNode(nn,e.isBindingPattern(nn.name)?e.Diagnostics.An_argument_matching_this_binding_pattern_was_not_provided:e.isRestParameter(nn)?e.Diagnostics.Arguments_for_the_rest_parameter_0_were_not_provided:e.Diagnostics.An_argument_for_0_was_not_provided,nn.name?e.isBindingPattern(nn.name)?void 0:e.idText(e.getFirstIdentifier(nn.name)):g.length);return e.addRelatedInfo(Yt,Nn)}return Yt}var Ei=e.factory.createNodeArray(g.slice(u1)),Ca=e.first(Ei).pos,Aa=e.last(Ei).end;return Aa===Ca&&Aa++,e.setTextRangePosEnd(Ei,Ca,Aa),e.createDiagnosticForNodeArray(e.getSourceFileOfNode(r),Ei,vr,Ar,g.length)}function Ag(r,f,g,E,F,q){var T0,u1=r.kind===206,M1=r.kind===162,A1=e.isJsxOpeningLikeElement(r),lx=!g&&$1;M1||(T0=r.typeArguments,(u1||A1||r.expression.kind!==105)&&e.forEach(T0,Hu));var Vx=g||[];if(function(dn,Si,yi){var l,z,zr,re,Oo=0,yu=-1;e.Debug.assert(!Si.length);for(var dl=0,lc=dn;dl<lc.length;dl++){var qi=lc[dl],eo=qi.declaration&&ms(qi.declaration),Co=qi.declaration&&qi.declaration.parent;z&&eo!==z?(zr=Oo=Si.length,l=Co):l&&Co===l?zr+=1:(l=Co,zr=Oo),z=eo,Q1(qi)?(re=++yu,Oo++):re=zr,Si.splice(re,0,yi?vV(qi,yi):qi)}}(f,Vx,F),!Vx.length)return lx&&Ku.add(JO(r,e.Diagnostics.Call_target_does_not_contain_any_signatures)),lw(r);var ye,Ue,Ge,er,Ar=mh(r),vr=Vx.length===1&&!Vx[0].typeParameters,Yt=M1||vr||!e.some(Ar,Ek)?0:4,nn=!!(16&E)&&r.kind===204&&r.arguments.hasTrailingComma;if(Vx.length>1&&(er=Wt(Vx,it,vr,nn)),er||(er=Wt(Vx,Xn,vr,nn)),er)return er;if(lx)if(ye)if(ye.length===1||ye.length>3){var Nn,Ei=ye[ye.length-1];ye.length>3&&(Nn=e.chainDiagnosticMessages(Nn,e.Diagnostics.The_last_overload_gave_the_following_error),Nn=e.chainDiagnosticMessages(Nn,e.Diagnostics.No_overload_matches_this_call));var Ca=C2(r,Ar,Ei,Xn,0,!0,function(){return Nn});if(Ca)for(var Aa=0,Qi=Ca;Aa<Qi.length;Aa++){var Oa=Qi[Aa];Ei.declaration&&ye.length>3&&e.addRelatedInfo(Oa,e.createDiagnosticForNode(Ei.declaration,e.Diagnostics.The_last_overload_is_declared_here)),di(Ei,Oa),Ku.add(Oa)}else e.Debug.fail(\"No error for last overload signature\")}else{for(var Ra=[],yn=0,ti=Number.MAX_VALUE,Gi=0,zi=0,Wo=function(dn){var Si=C2(r,Ar,dn,Xn,0,!0,function(){return e.chainDiagnosticMessages(void 0,e.Diagnostics.Overload_0_of_1_2_gave_the_following_error,zi+1,Vx.length,O2(dn))});Si?(Si.length<=ti&&(ti=Si.length,Gi=zi),yn=Math.max(yn,Si.length),Ra.push(Si)):e.Debug.fail(\"No error for 3 or fewer overload signatures\"),zi++},Ms=0,Et=ye;Ms<Et.length;Ms++)Wo(Et[Ms]);var wt=yn>1?Ra[Gi]:e.flatten(Ra);e.Debug.assert(wt.length>0,\"No errors reported for 3 or fewer overload signatures\");var da=e.chainDiagnosticMessages(e.map(wt,function(dn){return typeof dn.messageText==\"string\"?dn:dn.messageText}),e.Diagnostics.No_overload_matches_this_call),Ya=D([],e.flatMap(wt,function(dn){return dn.relatedInformation})),Da=void 0;if(e.every(wt,function(dn){return dn.start===wt[0].start&&dn.length===wt[0].length&&dn.file===wt[0].file})){var fr=wt[0];Da={file:fr.file,start:fr.start,length:fr.length,code:da.code,category:da.category,messageText:da,relatedInformation:Ya}}else Da=e.createDiagnosticForNodeFromMessageChain(r,da,Ya);di(ye[0],Da),Ku.add(Da)}else if(Ue)Ku.add(yU(r,[Ue],Ar));else if(Ge)fI(Ge,r.typeArguments,!0,q);else{var rt=e.filter(f,function(dn){return gD(dn,T0)});rt.length===0?Ku.add(function(dn,Si,yi){var l=yi.length;if(Si.length===1){var z=Aw((lc=Si[0]).typeParameters),zr=e.length(lc.typeParameters);return e.createDiagnosticForNodeArray(e.getSourceFileOfNode(dn),yi,e.Diagnostics.Expected_0_type_arguments_but_got_1,z<zr?z+\"-\"+zr:z,l)}for(var re=-1/0,Oo=1/0,yu=0,dl=Si;yu<dl.length;yu++){var lc,qi=Aw((lc=dl[yu]).typeParameters);zr=e.length(lc.typeParameters),qi>l?Oo=Math.min(Oo,qi):zr<l&&(re=Math.max(re,zr))}return re!==-1/0&&Oo!==1/0?e.createDiagnosticForNodeArray(e.getSourceFileOfNode(dn),yi,e.Diagnostics.No_overload_expects_0_type_arguments_but_overloads_do_exist_that_expect_either_1_or_2_type_arguments,l,re,Oo):e.createDiagnosticForNodeArray(e.getSourceFileOfNode(dn),yi,e.Diagnostics.Expected_0_type_arguments_but_got_1,re===-1/0?Oo:re,l)}(r,f,T0)):M1?q&&Ku.add(JO(r,q)):Ku.add(yU(r,rt,Ar))}return function(dn,Si,yi,l){return e.Debug.assert(Si.length>0),xO(dn),l||Si.length===1||Si.some(function(z){return!!z.typeParameters})?function(z,zr,re){var Oo=function(eo,Co){for(var ou=-1,Cs=-1,Pi=0;Pi<eo.length;Pi++){var Ia=eo[Pi],nc=wd(Ia);if(Sk(Ia)||nc>=Co)return Pi;nc>Cs&&(Cs=nc,ou=Pi)}return ou}(zr,Bt===void 0?re.length:Bt),yu=zr[Oo],dl=yu.typeParameters;if(!dl)return yu;var lc=qR(z)?z.typeArguments:void 0,qi=lc?AV(yu,function(eo,Co,ou){for(var Cs=eo.map(AP);Cs.length>Co.length;)Cs.pop();for(;Cs.length<Co.length;)Cs.push(_d(Co[Cs.length])||dT(ou));return Cs}(lc,dl,e.isInJSFile(z))):function(eo,Co,ou,Cs){var Pi=D9(Co,ou,e.isInJSFile(eo)?2:0),Ia=q3(eo,ou,Cs,12,Pi);return AV(ou,Ia)}(z,dl,yu,re);return zr[Oo]=qi,qi}(dn,Si,yi):function(z){var zr,re=e.mapDefined(z,function(Pi){return Pi.thisParameter});re.length&&(zr=L7(re,re.map(Ih)));for(var Oo=e.minAndMax(z,bM),yu=Oo.min,dl=Oo.max,lc=[],qi=function(Pi){var Ia=e.mapDefined(z,function(nc){return S1(nc)?Pi<nc.parameters.length-1?nc.parameters[Pi]:e.last(nc.parameters):Pi<nc.parameters.length?nc.parameters[Pi]:void 0});e.Debug.assert(Ia.length!==0),lc.push(L7(Ia,e.mapDefined(z,function(nc){return hh(nc,Pi)})))},eo=0;eo<dl;eo++)qi(eo);var Co=e.mapDefined(z,function(Pi){return S1(Pi)?e.last(Pi.parameters):void 0}),ou=0;if(Co.length!==0){var Cs=zf(Lo(e.mapDefined(z,fE),2));lc.push(kz(Co,Cs)),ou|=1}return z.some(Q1)&&(ou|=2),Hm(z[0].declaration,void 0,zr,lc,Kc(z.map(yc)),void 0,yu,ou)}(Si)}(r,Vx,Ar,!!g);function di(dn,Si){var yi,l,z=ye,zr=Ue,re=Ge,Oo=((l=(yi=dn.declaration)===null||yi===void 0?void 0:yi.symbol)===null||l===void 0?void 0:l.declarations)||e.emptyArray,yu=Oo.length>1?e.find(Oo,function(qi){return e.isFunctionLikeDeclaration(qi)&&e.nodeIsPresent(qi.body)}):void 0;if(yu){var dl=xm(yu),lc=!dl.typeParameters;Wt([dl],Xn,lc)&&e.addRelatedInfo(Si,e.createDiagnosticForNode(yu,e.Diagnostics.The_call_would_have_succeeded_against_this_implementation_but_implementation_signatures_of_overloads_are_not_externally_visible))}ye=z,Ue=zr,Ge=re}function Wt(dn,Si,yi,l){if(l===void 0&&(l=!1),ye=void 0,Ue=void 0,Ge=void 0,yi){var z=dn[0];return e.some(T0)||!x_(r,Ar,z,l)?void 0:C2(r,Ar,z,Si,0,!1,void 0)?void(ye=[z]):z}for(var zr=0;zr<dn.length;zr++)if(gD(z=dn[zr],T0)&&x_(r,Ar,z,l)){var re=void 0,Oo=void 0;if(z.typeParameters){var yu=void 0;if(e.some(T0)){if(!(yu=fI(z,T0,!1))){Ge=z;continue}}else Oo=D9(z.typeParameters,z,e.isInJSFile(r)?2:0),yu=q3(r,z,Ar,8|Yt,Oo),Yt|=4&Oo.flags?8:0;if(re=$g(z,yu,e.isInJSFile(z.declaration),Oo&&Oo.inferredTypeParameters),jl(z)&&!x_(r,Ar,re,l)){Ue=re;continue}}else re=z;if(!C2(r,Ar,re,Si,Yt,!1,void 0)){if(Yt){if(Yt=0,Oo&&(re=$g(z,yu=q3(r,z,Ar,Yt,Oo),e.isInJSFile(z.declaration),Oo&&Oo.inferredTypeParameters),jl(z)&&!x_(r,Ar,re,l))){Ue=re;continue}if(C2(r,Ar,re,Si,Yt,!1,void 0)){(ye||(ye=[])).push(re);continue}}return dn[zr]=re,re}(ye||(ye=[])).push(re)}}}function bM(r){var f=r.parameters.length;return S1(r)?f-1:f}function L7(r,f){return kz(r,Lo(f,2))}function kz(r,f){return ph(e.first(r),f)}function i8(r){return!(!r.typeParameters||!dj(yc(r)))}function M7(r,f,g,E){return Vu(r)||Vu(f)&&!!(262144&r.flags)||!g&&!E&&!(1048576&f.flags)&&!(131072&Q2(f).flags)&&cc(r,Yl)}function HN(r,f,g){if(r.arguments&&Ox<1){var E=vM(r.arguments);E>=0&&ht(r.arguments[E],e.Diagnostics.Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher)}var F=fN(r.expression);if(F===Ka)return xc;if((F=S4(F))===ae)return lw(r);if(Vu(F))return r.typeArguments&&ht(r,e.Diagnostics.Untyped_function_calls_may_not_accept_type_arguments),cw(r);var q=_u(F,1);if(q.length){if(!function(A1,lx){if(!lx||!lx.declaration)return!0;var Vx=lx.declaration,ye=e.getSelectedEffectiveModifierFlags(Vx,24);if(!ye||Vx.kind!==167)return!0;var Ue=e.getClassLikeDeclarationOfSymbol(Vx.parent.symbol),Ge=Il(Vx.parent.symbol);if(!uj(A1,Ue)){var er=e.getContainingClass(A1);if(er&&16&ye){var Ar=AP(er);if(HO(Vx.parent.symbol,Ar))return!0}return 8&ye&&ht(A1,e.Diagnostics.Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration,ka(Ge)),16&ye&&ht(A1,e.Diagnostics.Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration,ka(Ge)),!1}return!0}(r,q[0]))return lw(r);if(q.some(function(A1){return 4&A1.flags}))return ht(r,e.Diagnostics.Cannot_create_an_instance_of_an_abstract_class),lw(r);var T0=F.symbol&&e.getClassLikeDeclarationOfSymbol(F.symbol);return T0&&e.hasSyntacticModifier(T0,128)?(ht(r,e.Diagnostics.Cannot_create_an_instance_of_an_abstract_class),lw(r)):Ag(r,q,f,g,0)}var u1=_u(F,0);if(u1.length){var M1=Ag(r,u1,f,g,0);return Px||(M1.declaration&&!am(M1.declaration)&&yc(M1)!==Ii&&ht(r,e.Diagnostics.Only_a_void_function_can_be_called_with_the_new_keyword),Tw(M1)===Ii&&ht(r,e.Diagnostics.A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void)),M1}return lL(r.expression,F,1),lw(r)}function HO(r,f){var g=bk(f);if(!e.length(g))return!1;var E=g[0];if(2097152&E.flags){for(var F=bV(E.types),q=0,T0=0,u1=E.types;T0<u1.length;T0++){var M1=u1[T0];if(!F[q]&&3&e.getObjectFlags(M1)&&(M1.symbol===r||HO(r,M1)))return!0;q++}return!1}return E.symbol===r||HO(r,E)}function HR(r,f,g){var E,F=g===0,q=h2(f),T0=q&&_u(q,g).length>0;if(1048576&f.flags){for(var u1=!1,M1=0,A1=f.types;M1<A1.length;M1++){var lx=A1[M1];if(_u(lx,g).length!==0){if(u1=!0,E)break}else if(E||(E=e.chainDiagnosticMessages(E,F?e.Diagnostics.Type_0_has_no_call_signatures:e.Diagnostics.Type_0_has_no_construct_signatures,ka(lx)),E=e.chainDiagnosticMessages(E,F?e.Diagnostics.Not_all_constituents_of_type_0_are_callable:e.Diagnostics.Not_all_constituents_of_type_0_are_constructable,ka(f))),u1)break}u1||(E=e.chainDiagnosticMessages(void 0,F?e.Diagnostics.No_constituent_of_type_0_is_callable:e.Diagnostics.No_constituent_of_type_0_is_constructable,ka(f))),E||(E=e.chainDiagnosticMessages(E,F?e.Diagnostics.Each_member_of_the_union_type_0_has_signatures_but_none_of_those_signatures_are_compatible_with_each_other:e.Diagnostics.Each_member_of_the_union_type_0_has_construct_signatures_but_none_of_those_signatures_are_compatible_with_each_other,ka(f)))}else E=e.chainDiagnosticMessages(E,F?e.Diagnostics.Type_0_has_no_call_signatures:e.Diagnostics.Type_0_has_no_construct_signatures,ka(f));var Vx=F?e.Diagnostics.This_expression_is_not_callable:e.Diagnostics.This_expression_is_not_constructable;if(e.isCallExpression(r.parent)&&r.parent.arguments.length===0){var ye=Fo(r).resolvedSymbol;ye&&32768&ye.flags&&(Vx=e.Diagnostics.This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without)}return{messageChain:e.chainDiagnosticMessages(E,Vx),relatedMessage:T0?e.Diagnostics.Did_you_forget_to_use_await:void 0}}function lL(r,f,g,E){var F=HR(r,f,g),q=F.messageChain,T0=F.relatedMessage,u1=e.createDiagnosticForNodeFromMessageChain(r,q);if(T0&&e.addRelatedInfo(u1,e.createDiagnosticForNode(r,T0)),e.isCallExpression(r.parent)){var M1=wz(r.parent,!0),A1=M1.start,lx=M1.length;u1.start=A1,u1.length=lx}Ku.add(u1),Wv(f,g,E?e.addRelatedInfo(u1,E):u1)}function Wv(r,f,g){if(r.symbol){var E=Zo(r.symbol).originatingImport;if(E&&!e.isImportCall(E)){var F=_u(Yo(Zo(r.symbol).target),f);if(!F||!F.length)return;e.addRelatedInfo(g,e.createDiagnosticForNode(E,e.Diagnostics.Type_originates_at_this_import_A_namespace_style_import_cannot_be_called_or_constructed_and_will_cause_a_failure_at_runtime_Consider_using_a_default_import_or_import_require_here_instead))}}}function qv(r){switch(r.parent.kind){case 253:case 222:return e.Diagnostics.Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression;case 161:return e.Diagnostics.Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression;case 164:return e.Diagnostics.Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression;case 166:case 168:case 169:return e.Diagnostics.Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression;default:return e.Debug.fail()}}function H3(r,f,g){var E=Js(r.expression),F=S4(E);if(F===ae)return lw(r);var q,T0,u1=_u(F,0),M1=_u(F,1).length;if(M7(E,F,u1.length,M1))return cw(r);if(q=r,(T0=u1).length&&e.every(T0,function(Ge){return Ge.minArgumentCount===0&&!S1(Ge)&&Ge.parameters.length<JR(q,Ge)})){var A1=e.getTextOfNode(r.expression,!1);return ht(r,e.Diagnostics._0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write_0,A1),lw(r)}var lx=qv(r);if(!u1.length){var Vx=HR(r.expression,F,0),ye=e.chainDiagnosticMessages(Vx.messageChain,lx),Ue=e.createDiagnosticForNodeFromMessageChain(r.expression,ye);return Vx.relatedMessage&&e.addRelatedInfo(Ue,e.createDiagnosticForNode(r.expression,Vx.relatedMessage)),Ku.add(Ue),Wv(F,0,Ue),lw(r)}return Ag(r,u1,f,g,0,lx)}function Ey(r,f){var g=oI(r),E=g&&Sw(g),F=E&&ed(E,w.Element,788968),q=F&&gr.symbolToEntityName(F,788968,r),T0=e.factory.createFunctionTypeNode(void 0,[e.factory.createParameterDeclaration(void 0,void 0,void 0,\"props\",void 0,gr.typeToTypeNode(f,r))],q?e.factory.createTypeReferenceNode(q,void 0):e.factory.createKeywordTypeNode(128)),u1=f2(1,\"props\");return u1.type=f,Hm(T0,void 0,void 0,[u1],F?Il(F):ae,void 0,1,0)}function GR(r,f,g){if(zk(r.tagName)){var E=w7(r),F=Ey(r,E);return tk(hI(r.attributes,pU(F,r),void 0,0),E,r.tagName,r.attributes),e.length(r.typeArguments)&&(e.forEach(r.typeArguments,Hu),Ku.add(e.createDiagnosticForNodeArray(e.getSourceFileOfNode(r),r.typeArguments,e.Diagnostics.Expected_0_type_arguments_but_got_1,0,e.length(r.typeArguments)))),F}var q=Js(r.tagName),T0=S4(q);if(T0===ae)return lw(r);var u1=A7(q,r);return M7(q,T0,u1.length,0)?cw(r):u1.length===0?(ht(r.tagName,e.Diagnostics.JSX_element_type_0_does_not_have_any_construct_or_call_signatures,e.getTextOfNode(r.tagName)),lw(r)):Ag(r,u1,f,g,0)}function _D(r,f,g){switch(r.kind){case 204:return function(E,F,q){if(E.expression.kind===105){var T0=LC(E.expression);if(Vu(T0)){for(var u1=0,M1=E.arguments;u1<M1.length;u1++)Js(M1[u1]);return ws}if(T0!==ae){var A1=e.getEffectiveBaseTypeNode(e.getContainingClass(E));if(A1)return Ag(E,JD(T0,A1.typeArguments,A1),F,q,0)}return cw(E)}var lx,Vx=Js(E.expression);if(e.isCallChain(E)){var ye=Ev(Vx,E.expression);lx=ye===Vx?0:e.isOutermostOptionalChain(E)?16:8,Vx=ye}else lx=0;if((Vx=NE(Vx,E.expression,N7))===Ka)return xc;var Ue=S4(Vx);if(Ue===ae)return lw(E);var Ge=_u(Ue,0),er=_u(Ue,1).length;if(M7(Vx,Ue,Ge.length,er))return Vx!==ae&&E.typeArguments&&ht(E,e.Diagnostics.Untyped_function_calls_may_not_accept_type_arguments),cw(E);if(!Ge.length){if(er)ht(E,e.Diagnostics.Value_of_type_0_is_not_callable_Did_you_mean_to_include_new,ka(Vx));else{var Ar=void 0;if(E.arguments.length===1){var vr=e.getSourceFileOfNode(E).text;e.isLineBreak(vr.charCodeAt(e.skipTrivia(vr,E.expression.end,!0)-1))&&(Ar=e.createDiagnosticForNode(E.expression,e.Diagnostics.Are_you_missing_a_semicolon))}lL(E.expression,Ue,0,Ar)}return lw(E)}return 8&q&&!E.typeArguments&&Ge.some(i8)?(G7(E,q),Pl):Ge.some(function(Yt){return e.isInJSFile(Yt.declaration)&&!!e.getJSDocClassTag(Yt.declaration)})?(ht(E,e.Diagnostics.Value_of_type_0_is_not_callable_Did_you_mean_to_include_new,ka(Vx)),lw(E)):Ag(E,Ge,F,q,lx)}(r,f,g);case 205:return HN(r,f,g);case 206:return function(E,F,q){var T0=Js(E.tag),u1=S4(T0);if(u1===ae)return lw(E);var M1=_u(u1,0),A1=_u(u1,1).length;if(M7(T0,u1,M1.length,A1))return cw(E);if(!M1.length){if(e.isArrayLiteralExpression(E.parent)){var lx=e.createDiagnosticForNode(E.tag,e.Diagnostics.It_is_likely_that_you_are_missing_a_comma_to_separate_these_two_template_expressions_They_form_a_tagged_template_expression_which_cannot_be_invoked);return Ku.add(lx),lw(E)}return lL(E.tag,u1,0),lw(E)}return Ag(E,M1,F,q,0)}(r,f,g);case 162:return H3(r,f,g);case 276:case 275:return GR(r,f,g)}throw e.Debug.assertNever(r,\"Branch in 'resolveSignature' should be unreachable.\")}function Ph(r,f,g){var E=Fo(r),F=E.resolvedSignature;if(F&&F!==Pl&&!f)return F;E.resolvedSignature=Pl;var q=_D(r,f,g||0);return q!==Pl&&(E.resolvedSignature=x4===Al?q:F),q}function am(r){var f;if(!r||!e.isInJSFile(r))return!1;var g=e.isFunctionDeclaration(r)||e.isFunctionExpression(r)?r:e.isVariableDeclaration(r)&&r.initializer&&e.isFunctionExpression(r.initializer)?r.initializer:void 0;if(g){if(e.getJSDocClassTag(r))return!0;var E=ms(g);return!!((f=E==null?void 0:E.members)===null||f===void 0?void 0:f.size)}return!1}function yD(r,f){var g,E;if(f){var F=Zo(f);if(!F.inferredClassSymbol||!F.inferredClassSymbol.has(f0(r))){var q=e.isTransientSymbol(r)?r:ip(r);return q.exports=q.exports||e.createSymbolTable(),q.members=q.members||e.createSymbolTable(),q.flags|=32&f.flags,((g=f.exports)===null||g===void 0?void 0:g.size)&&pp(q.exports,f.exports),((E=f.members)===null||E===void 0?void 0:E.size)&&pp(q.members,f.members),(F.inferredClassSymbol||(F.inferredClassSymbol=new e.Map)).set(f0(q),q),q}return F.inferredClassSymbol.get(f0(r))}}function R7(r,f){if(r.parent){var g,E;if(e.isVariableDeclaration(r.parent)&&r.parent.initializer===r){if(!(e.isInJSFile(r)||e.isVarConst(r.parent)&&e.isFunctionLikeDeclaration(r)))return;g=r.parent.name,E=r.parent}else if(e.isBinaryExpression(r.parent)){var F=r.parent,q=r.parent.operatorToken.kind;if(q!==62||!f&&F.right!==r){if(!(q!==56&&q!==60||(e.isVariableDeclaration(F.parent)&&F.parent.initializer===F?(g=F.parent.name,E=F.parent):e.isBinaryExpression(F.parent)&&F.parent.operatorToken.kind===62&&(f||F.parent.right===F)&&(E=g=F.parent.left),g&&e.isBindableStaticNameExpression(g)&&e.isSameEntityName(g,F.left))))return}else E=g=F.left}else f&&e.isFunctionDeclaration(r)&&(g=r.name,E=r);if(E&&g&&(f||e.getExpandoInitializer(r,e.isPrototypeAccess(g))))return ms(E)}}function Sy(r,f){if(r.declaration&&134217728&r.declaration.flags){var g=j7(f),E=e.tryGetPropertyAccessOrIdentifierToString(e.getInvokedExpression(f));F=g,q=r.declaration,T0=E,u1=O2(r),jf(q,T0?e.createDiagnosticForNode(F,e.Diagnostics.The_signature_0_of_1_is_deprecated,u1,T0):e.createDiagnosticForNode(F,e.Diagnostics._0_is_deprecated,u1))}var F,q,T0,u1}function j7(r){switch((r=e.skipParentheses(r)).kind){case 204:case 162:case 205:return j7(r.expression);case 206:return j7(r.tag);case 276:case 275:return j7(r.tagName);case 203:return r.argumentExpression;case 202:return r.name;case 174:var f=r;return e.isQualifiedName(f.typeName)?f.typeName.right:f;default:return r}}function U7(r){if(!e.isCallExpression(r))return!1;var f=r.expression;if(e.isPropertyAccessExpression(f)&&f.name.escapedText===\"for\"&&(f=f.expression),!e.isIdentifier(f)||f.escapedText!==\"Symbol\")return!1;var g=zB(!1);return!!g&&g===j6(f,\"Symbol\",111551,void 0,void 0,!1)}function DU(r){if(bK(r.arguments)||function(T0){if($x===e.ModuleKind.ES2015)return wo(T0,e.Diagnostics.Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_esnext_commonjs_amd_system_or_umd);if(T0.typeArguments)return wo(T0,e.Diagnostics.Dynamic_import_cannot_have_type_arguments);var u1=T0.arguments;if(u1.length!==1)return wo(T0,e.Diagnostics.Dynamic_import_must_have_one_specifier_as_an_argument);if(i9(u1),e.isSpreadElement(u1[0]))return wo(u1[0],e.Diagnostics.Specifier_of_dynamic_import_cannot_be_spread_element)}(r),r.arguments.length===0)return $7(r,E1);for(var f=r.arguments[0],g=VC(f),E=1;E<r.arguments.length;++E)VC(r.arguments[E]);(32768&g.flags||65536&g.flags||!cc(g,l1))&&ht(f,e.Diagnostics.Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0,ka(g));var F=f5(r,f);if(F){var q=vh(F,f,!0,!1);if(q)return $7(r,XR(Yo(q),q,F))}return $7(r,E1)}function XR(r,f,g){var E;if(O0&&r&&r!==ae){var F=r;if(!F.syntheticType)if(De((E=g.declarations)===null||E===void 0?void 0:E.find(e.isSourceFile),g,!1)){var q=e.createSymbolTable(),T0=f2(2097152,\"default\");T0.parent=g,T0.nameType=sf(\"default\"),T0.target=Zr(f),q.set(\"default\",T0);var u1=f2(2048,\"__type\"),M1=yo(u1,q,e.emptyArray,e.emptyArray,void 0,void 0);u1.type=M1,F.syntheticType=CP(r)?Qm(r,M1,u1,0,!1):M1}else F.syntheticType=r;return F.syntheticType}return r}function Jv(r){if(!e.isRequireCall(r,!0))return!1;if(!e.isIdentifier(r.expression))return e.Debug.fail();var f=j6(r.expression,r.expression.escapedText,111551,void 0,void 0,!0);if(f===Ni)return!0;if(2097152&f.flags)return!1;var g=16&f.flags?252:3&f.flags?250:0;if(g!==0){var E=e.getDeclarationOfKind(f,g);return!!E&&!!(8388608&E.flags)}return!1}function V7(r){(function(g){return g.questionDotToken||32&g.flags?wo(g.template,e.Diagnostics.Tagged_template_expressions_are_not_permitted_in_an_optional_chain):!1})(r)||IM(r,r.typeArguments),Ox<2&&v6(r,262144);var f=Ph(r);return Sy(f,r),yc(f)}function Hv(r){switch(r.kind){case 10:case 14:case 8:case 9:case 109:case 94:case 200:case 201:case 219:return!0;case 208:return Hv(r.expression);case 215:var f=r.operator,g=r.operand;return f===40&&(g.kind===8||g.kind===9)||f===39&&g.kind===8;case 202:case 203:var E=r.expression;if(e.isIdentifier(E)){var F=Ce(E);return F&&2097152&F.flags&&(F=ui(F)),!!(F&&384&F.flags&&m3(F)===1)}}return!1}function Gv(r,f,g,E){var F=Js(g,E);if(e.isConstTypeReference(f))return Hv(g)||ht(g,e.Diagnostics.A_const_assertions_can_only_be_applied_to_references_to_enum_members_or_string_number_boolean_array_or_object_literals),Kp(F);Hu(f),F=Xg(F4(F));var q=Dc(f);return $1&&q!==ae&&(Hg(q,Bp(F))||kC(F,q,r,e.Diagnostics.Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the_other_If_this_was_intentional_convert_the_expression_to_unknown_first)),q}function Nz(r){return 32&r.flags?function(f){var g=Js(f.expression),E=Ev(g,f.expression);return K_(Cm(E),f,E!==g)}(r):Cm(Js(r.expression))}function dI(r){return function(f){var g=f.name.escapedText;switch(f.keywordToken){case 102:if(g!==\"target\")return wo(f.name,e.Diagnostics._0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2,f.name.escapedText,e.tokenToString(f.keywordToken),\"target\");break;case 99:g!==\"meta\"&&wo(f.name,e.Diagnostics._0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2,f.name.escapedText,e.tokenToString(f.keywordToken),\"meta\")}}(r),r.keywordToken===102?function(f){var g=e.getNewTargetContainer(f);return g?g.kind===167?Yo(ms(g.parent)):Yo(ms(g)):(ht(f,e.Diagnostics.Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constructor,\"new.target\"),ae)}(r):r.keywordToken===99?function(f){$x!==e.ModuleKind.ES2020&&$x!==e.ModuleKind.ESNext&&$x!==e.ModuleKind.System&&ht(f,e.Diagnostics.The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_esnext_or_system);var g=e.getSourceFileOfNode(f);return e.Debug.assert(!!(2097152&g.flags),\"Containing file is missing import meta node flag.\"),e.Debug.assert(!!g.externalModuleIndicator,\"Containing file should be a module.\"),f.name.escapedText===\"meta\"?function(){return yr||(yr=Kf(\"ImportMeta\",0,!0))||qs}():ae}(r):e.Debug.assertNever(r.keywordToken)}function Ih(r){var f=Yo(r);if(C1){var g=r.valueDeclaration;if(g&&e.hasInitializer(g))return nm(f)}return f}function GO(r){return e.Debug.assert(e.isIdentifier(r.name)),r.name.escapedText}function mI(r,f,g){var E=r.parameters.length-(S1(r)?1:0);if(f<E)return r.parameters[f].escapedName;var F=r.parameters[E]||W1,q=g||Yo(F);if(Vd(q)){var T0=q.target.labeledElementDeclarations,u1=f-E;return T0&&GO(T0[u1])||F.escapedName+\"_\"+u1}return F.escapedName}function Xv(r){return r.kind===193||e.isParameter(r)&&r.name&&e.isIdentifier(r.name)}function Yv(r,f){var g=r.parameters.length-(S1(r)?1:0);if(f<g){var E=r.parameters[f].valueDeclaration;return E&&Xv(E)?E:void 0}var F=r.parameters[g]||W1,q=Yo(F);if(Vd(q)){var T0=q.target.labeledElementDeclarations;return T0&&T0[f-g]}return F.valueDeclaration&&Xv(F.valueDeclaration)?F.valueDeclaration:void 0}function p5(r,f){return hh(r,f)||E1}function hh(r,f){var g=r.parameters.length-(S1(r)?1:0);if(f<g)return Ih(r.parameters[f]);if(S1(r)){var E=Yo(r.parameters[g]),F=f-g;if(!Vd(E)||E.target.hasRestElement||F<E.target.fixedLength)return JT(E,sf(F))}}function DD(r,f){var g=wd(r),E=fw(r),F=$d(r);if(F&&f>=g-1)return f===g-1?F:zf(JT(F,Hx));for(var q=[],T0=[],u1=[],M1=f;M1<g;M1++){!F||M1<g-1?(q.push(p5(r,M1)),T0.push(M1<E?1:2)):(q.push(F),T0.push(8));var A1=Yv(r,M1);A1&&u1.push(A1)}return ek(q,T0,!1,e.length(u1)===e.length(q)?u1:void 0)}function wd(r){var f=r.parameters.length;if(S1(r)){var g=Yo(r.parameters[f-1]);if(Vd(g))return f+g.target.fixedLength-(g.target.hasRestElement?0:1)}return f}function fw(r,f){var g=1&f,E=2&f;if(E||r.resolvedMinArgumentCount===void 0){var F=void 0;if(S1(r)){var q=Yo(r.parameters[r.parameters.length-1]);if(Vd(q)){var T0=e.findIndex(q.target.elementFlags,function(A1){return!(1&A1)}),u1=T0<0?q.target.fixedLength:T0;u1>0&&(F=r.parameters.length-1+u1)}}if(F===void 0){if(!g&&32&r.flags)return 0;F=r.minArgumentCount}if(E)return F;for(var M1=F-1;M1>=0&&!(131072&aA(p5(r,M1),B7).flags);M1--)F=M1;r.resolvedMinArgumentCount=F}return r.resolvedMinArgumentCount}function Sk(r){if(S1(r)){var f=Yo(r.parameters[r.parameters.length-1]);return!Vd(f)||f.target.hasRestElement}return!1}function $d(r){if(S1(r)){var f=Yo(r.parameters[r.parameters.length-1]);if(!Vd(f))return f;if(f.target.hasRestElement)return iM(f,f.target.fixedLength)}}function jl(r){var f=$d(r);return!f||NA(f)||Vu(f)||(131072&Q2(f).flags)!=0?void 0:f}function Tg(r){return Wp(r,Mn)}function Wp(r,f){return r.parameters.length>0?p5(r,0):f}function Wk(r,f){if(f.typeParameters){if(r.typeParameters)return;r.typeParameters=f.typeParameters}f.thisParameter&&(!(F=r.thisParameter)||F.valueDeclaration&&!F.valueDeclaration.type)&&(F||(r.thisParameter=ph(f.thisParameter,void 0)),w5(r.thisParameter,Yo(f.thisParameter)));for(var g=r.parameters.length-(S1(r)?1:0),E=0;E<g;E++){var F=r.parameters[E];e.getEffectiveTypeAnnotationNode(F.valueDeclaration)||w5(F,hh(f,E))}S1(r)&&(F=e.last(r.parameters),(e.isTransientSymbol(F)||!e.getEffectiveTypeAnnotationNode(F.valueDeclaration))&&w5(F,DD(f,g)))}function w5(r,f){var g=Zo(r);if(!g.type){var E=r.valueDeclaration;g.type=f||oy(E,!0),E.name.kind!==78&&(g.type===ut&&(g.type=yR(E.name)),v9(E.name))}}function v9(r){for(var f=0,g=r.elements;f<g.length;f++){var E=g[f];e.isOmittedExpression(E)||(E.name.kind===78?Zo(ms(E)).type=Gf(E):v9(E.name))}}function Qv(r){var f=TR(!0);return f!==rc?ym(f,[r=h2(r)||ut]):ut}function vD(r){var f,g=(f=!0,Rl||(Rl=Kf(\"PromiseLike\",1,f))||rc);return g!==rc?ym(g,[r=h2(r)||ut]):ut}function $7(r,f){var g=Qv(f);return g===ut?(ht(r,e.isImportCall(r)?e.Diagnostics.A_dynamic_import_call_returns_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option:e.Diagnostics.An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option),ae):(EC(!0)||ht(r,e.isImportCall(r)?e.Diagnostics.A_dynamic_import_call_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option:e.Diagnostics.An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option),g)}function vU(r,f){if(!r.body)return ae;var g,E,F,q=e.getFunctionFlags(r),T0=(2&q)!=0,u1=(1&q)!=0,M1=Ii;if(r.body.kind!==231)g=VC(r.body,f&&-9&f),T0&&(g=i_(g,r,e.Diagnostics.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member));else if(u1){var A1=K7(r,f);A1?A1.length>0&&(g=Lo(A1,2)):M1=Mn;var lx=function(Ar,vr){var Yt=[],nn=[],Nn=(2&e.getFunctionFlags(Ar))!=0;return e.forEachYieldExpression(Ar.body,function(Ei){var Ca,Aa=Ei.expression?Js(Ei.expression,vr):B;if(e.pushIfUnique(Yt,PT(Ei,Aa,E1,Nn)),Ei.asteriskToken){var Qi=kg(Aa,Nn?19:17,Ei.expression);Ca=Qi&&Qi.nextType}else Ca=x2(Ei);Ca&&e.pushIfUnique(nn,Ca)}),{yieldTypes:Yt,nextTypes:nn}}(r,f),Vx=lx.yieldTypes,ye=lx.nextTypes;E=e.some(Vx)?Lo(Vx,2):void 0,F=e.some(ye)?Kc(ye):void 0}else{var Ue=K7(r,f);if(!Ue)return 2&q?$7(r,Mn):Mn;if(Ue.length===0)return 2&q?$7(r,Ii):Ii;g=Lo(Ue,2)}if(g||E||F){if(E&&iD(r,E,3),g&&iD(r,g,1),F&&iD(r,F,2),g&&rm(g)||E&&rm(E)||F&&rm(F)){var Ge=M2(r),er=Ge?Ge===xm(r)?u1?void 0:g:mD(yc(Ge),r):void 0;u1?(E=Uk(E,er,0,T0),g=Uk(g,er,1,T0),F=Uk(F,er,2,T0)):g=function(Ar,vr,Yt){return Ar&&rm(Ar)&&(Ar=Yr(Ar,vr?Yt?wy(vr):vr:void 0)),Ar}(g,er,T0)}E&&(E=Bp(E)),g&&(g=Bp(g)),F&&(F=Bp(F))}return u1?bU(E||Mn,g||M1,F||W_(2,r)||ut,T0):T0?Qv(g||M1):g||M1}function bU(r,f,g,E){var F=E?uc:Fl,q=F.getGlobalGeneratorType(!1);if(r=F.resolveIterationType(r,void 0)||ut,f=F.resolveIterationType(f,void 0)||ut,g=F.resolveIterationType(g,void 0)||ut,q===rc){var T0=F.getGlobalIterableIteratorType(!1),u1=T0!==rc?ID(T0,F):void 0,M1=u1?u1.returnType:E1,A1=u1?u1.nextType:Gr;return cc(f,M1)&&cc(A1,g)?T0!==rc?PO(T0,[r]):(F.getGlobalIterableIteratorType(!0),qs):(F.getGlobalGeneratorType(!0),qs)}return PO(q,[r,f,g])}function PT(r,f,g,E){var F=r.expression||r,q=r.asteriskToken?wm(E?19:17,f,g,F):f;return E?h2(q,F,r.asteriskToken?e.Diagnostics.Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:e.Diagnostics.Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member):q}function Yh(r,f,g,E){var F=0;if(E){for(var q=f;q<g.length;q++)F|=c0.get(g[q])||32768;for(q=r;q<f;q++)F&=~(c0.get(g[q])||0);for(q=0;q<r;q++)F|=c0.get(g[q])||32768}else{for(q=r;q<f;q++)F|=P0.get(g[q])||128;for(q=0;q<r;q++)F&=~(P0.get(g[q])||0)}return F}function Zv(r){var f=Fo(r);return f.isExhaustive!==void 0?f.isExhaustive:f.isExhaustive=function(g){if(g.expression.kind===212){var E=JA(g.expression.expression),F=Yh(0,0,SE(g,!1),!0),q=wA(E)||E;return 3&q.flags?(556800&F)==556800:!!(131072&aA(q,function(M1){return(eh(M1)&F)===F}).flags)}var T0=JA(g.expression);if(!tI(T0))return!1;var u1=iL(g);return!u1.length||e.some(u1,k3)?!1:function(M1,A1){return 1048576&M1.flags?!e.forEach(M1.types,function(lx){return!e.contains(A1,lx)}):e.contains(A1,M1)}(rf(T0,Kp),u1)}(r)}function sK(r){return r.endFlowNode&&z_(r.endFlowNode)}function K7(r,f){var g=e.getFunctionFlags(r),E=[],F=sK(r),q=!1;if(e.forEachReturnStatement(r.body,function(T0){var u1=T0.expression;if(u1){var M1=VC(u1,f&&-9&f);2&g&&(M1=i_(M1,r,e.Diagnostics.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member)),131072&M1.flags&&(q=!0),e.pushIfUnique(E,M1)}else F=!0}),E.length!==0||F||!q&&!function(T0){switch(T0.kind){case 209:case 210:return!0;case 166:return T0.parent.kind===201;default:return!1}}(r))return!(C1&&E.length&&F)||am(r)&&E.some(function(T0){return T0.symbol===r.symbol})||e.pushIfUnique(E,Gr),E}function YR(r,f){if($1){var g=e.getFunctionFlags(r),E=f&&BD(f,g);if((!E||!yl(E,16385))&&r.kind!==165&&!e.nodeIsMissing(r.body)&&r.body.kind===231&&sK(r)){var F=512&r.flags,q=e.getEffectiveReturnTypeNode(r)||r;if(E&&131072&E.flags)ht(q,e.Diagnostics.A_function_returning_never_cannot_have_a_reachable_end_point);else if(E&&!F)ht(q,e.Diagnostics.A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value);else if(E&&C1&&!cc(Gr,E))ht(q,e.Diagnostics.Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined);else if(V1.noImplicitReturns){if(!E&&(!F||ZO(r,yc(xm(r)))))return;ht(q,e.Diagnostics.Not_all_code_paths_return_a_value)}}}}function Ja(r,f){if(e.Debug.assert(r.kind!==166||e.isObjectLiteralMethod(r)),xO(r),f&&4&f&&Ek(r)){if(!e.getEffectiveReturnTypeNode(r)&&!wC(r)){var g=R2(r);if(g&&MR(yc(g))){var E=Fo(r);if(E.contextFreeType)return E.contextFreeType;var F=vU(r,f),q=Hm(void 0,void 0,void 0,e.emptyArray,F,void 0,0,0),T0=yo(r.symbol,Y1,[q],e.emptyArray,void 0,void 0);return T0.objectFlags|=524288,E.contextFreeType=T0}}return K8}return PM(r)||r.kind!==209||TP(r),function(u1,M1){var A1=Fo(u1);if(!(1024&A1.flags)){var lx=R2(u1);if(!(1024&A1.flags)){A1.flags|=1024;var Vx=e.firstOrUndefined(_u(Yo(ms(u1)),0));if(!Vx)return;if(Ek(u1))if(lx){var ye=iI(u1);M1&&2&M1&&function(Ge,er,Ar){for(var vr=Ge.parameters.length-(S1(Ge)?1:0),Yt=0;Yt<vr;Yt++){var nn=Ge.parameters[Yt].valueDeclaration;if(nn.type){var Nn=e.getEffectiveTypeAnnotationNode(nn);Nn&&nk(Ar.inferences,Dc(Nn),p5(er,Yt))}}var Ei=$d(er);if(Ei&&262144&Ei.flags){Wk(Ge,vg(er,Ar.nonFixingMapper));var Ca=wd(er)-1;nk(Ar.inferences,DD(Ge,Ca),Ei)}}(Vx,lx,ye),Wk(Vx,ye?vg(lx,ye.mapper):lx)}else(function(Ge){Ge.thisParameter&&w5(Ge.thisParameter);for(var er=0,Ar=Ge.parameters;er<Ar.length;er++)w5(Ar[er])})(Vx);if(lx&&!_P(u1)&&!Vx.resolvedReturnType){var Ue=vU(u1,M1);Vx.resolvedReturnType||(Vx.resolvedReturnType=Ue)}SD(u1)}}}(r,f),Yo(ms(r))}function z7(r,f,g,E){if(E===void 0&&(E=!1),!cc(f,Kt)){var F=E&&QI(f);return Ab(r,!!F&&cc(F,Kt),g),!1}return!0}function PE(r){if(!e.isCallExpression(r)||!e.isBindableObjectDefinePropertyCall(r))return!1;var f=VC(r.arguments[2]);if(qc(f,\"value\")){var g=ec(f,\"writable\"),E=g&&Yo(g);if(!E||E===Pe||E===It)return!0;if(g&&g.valueDeclaration&&e.isPropertyAssignment(g.valueDeclaration)){var F=Js(g.valueDeclaration.initializer);if(F===Pe||F===It)return!0}return!1}return!ec(f,\"set\")}function j2(r){return!!(8&e.getCheckFlags(r)||4&r.flags&&64&e.getDeclarationModifierFlagsFromSymbol(r)||3&r.flags&&2&q_(r)||98304&r.flags&&!(65536&r.flags)||8&r.flags||e.some(r.declarations,PE))}function xb(r,f,g){var E,F;if(g===0)return!1;if(j2(f)){if(4&f.flags&&e.isAccessExpression(r)&&r.expression.kind===107){var q=e.getContainingFunction(r);if(!q||q.kind!==167&&!am(q))return!0;if(f.valueDeclaration){var T0=e.isBinaryExpression(f.valueDeclaration),u1=q.parent===f.valueDeclaration.parent,M1=q===f.valueDeclaration.parent,A1=T0&&((E=f.parent)===null||E===void 0?void 0:E.valueDeclaration)===q.parent,lx=T0&&((F=f.parent)===null||F===void 0?void 0:F.valueDeclaration)===q;return!(u1||M1||A1||lx)}}return!0}if(e.isAccessExpression(r)){var Vx=e.skipParentheses(r.expression);if(Vx.kind===78){var ye=Fo(Vx).resolvedSymbol;if(2097152&ye.flags){var Ue=Hf(ye);return!!Ue&&Ue.kind===264}}}return!1}function Fy(r,f,g){var E=e.skipOuterExpressions(r,7);return E.kind===78||e.isAccessExpression(E)?!(32&E.flags)||(ht(r,g),!1):(ht(r,f),!1)}function G3(r){Js(r.expression);var f=e.skipParentheses(r.expression);if(!e.isAccessExpression(f))return ht(f,e.Diagnostics.The_operand_of_a_delete_operator_must_be_a_property_reference),rn;e.isPropertyAccessExpression(f)&&e.isPrivateIdentifier(f.name)&&ht(f,e.Diagnostics.The_operand_of_a_delete_operator_cannot_be_a_private_identifier);var g=mP(Fo(f).resolvedSymbol);return g&&(j2(g)&&ht(f,e.Diagnostics.The_operand_of_a_delete_operator_cannot_be_a_read_only_property),function(E,F){var q=131075;!C1||F.flags&q||32768&MF(F)||ht(E,e.Diagnostics.The_operand_of_a_delete_operator_must_be_optional)}(f,Yo(g))),rn}function bD(r){return yl(r,2112)?Q6(r,3)||yl(r,296)?Kt:ge:Hx}function yl(r,f){if(r.flags&f)return!0;if(3145728&r.flags){for(var g=0,E=r.types;g<E.length;g++)if(yl(E[g],f))return!0}return!1}function Q6(r,f,g){return!!(r.flags&f)||!(g&&114691&r.flags)&&(!!(296&f)&&cc(r,Hx)||!!(2112&f)&&cc(r,ge)||!!(402653316&f)&&cc(r,l1)||!!(528&f)&&cc(r,rn)||!!(16384&f)&&cc(r,Ii)||!!(131072&f)&&cc(r,Mn)||!!(65536&f)&&cc(r,M)||!!(32768&f)&&cc(r,Gr)||!!(4096&f)&&cc(r,_t)||!!(67108864&f)&&cc(r,Fn))}function CD(r,f,g){return 1048576&r.flags?e.every(r.types,function(E){return CD(E,f,g)}):Q6(r,f,g)}function Ay(r){return!!(16&e.getObjectFlags(r))&&!!r.symbol&&eb(r.symbol)}function eb(r){return(128&r.flags)!=0}function X3(r,f,g,E,F){F===void 0&&(F=!1);var q=r.properties,T0=q[g];if(T0.kind===289||T0.kind===290){var u1=T0.name,M1=Rk(u1);if(Pt(M1)){var A1=ec(f,_m(M1));A1&&(z9(A1,T0,F),qO(T0,!1,!0,f,A1))}var lx=of(T0,JT(f,M1,void 0,u1,void 0,void 0,16));return pN(T0.kind===290?T0:T0.initializer,lx)}if(T0.kind===291){if(!(g<q.length-1)){Ox<99&&v6(T0,4);var Vx=[];if(E)for(var ye=0,Ue=E;ye<Ue.length;ye++){var Ge=Ue[ye];e.isSpreadAssignment(Ge)||Vx.push(Ge.name)}return lx=$p(f,Vx,f.symbol),i9(E,e.Diagnostics.A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma),pN(T0.expression,lx)}ht(T0,e.Diagnostics.A_rest_element_must_be_last_in_a_destructuring_pattern)}else ht(T0,e.Diagnostics.Property_assignment_expected)}function W7(r,f,g,E,F){var q=r.elements,T0=q[g];if(T0.kind!==223){if(T0.kind!==221){var u1=sf(g);if(uw(f)){var M1=16|(Fm(T0)?8:0),A1=vm(f,u1,void 0,zp(T0,u1),M1)||ae;return pN(T0,of(T0,Fm(T0)?KS(A1,524288):A1),F)}return pN(T0,E,F)}if(g<q.length-1)ht(T0,e.Diagnostics.A_rest_element_must_be_last_in_a_destructuring_pattern);else{var lx=T0.expression;if(lx.kind!==217||lx.operatorToken.kind!==62)return i9(r.elements,e.Diagnostics.A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma),pN(lx,Kk(f,Vd)?rf(f,function(Vx){return iM(Vx,g)}):zf(E),F);ht(lx.operatorToken,e.Diagnostics.A_rest_element_cannot_have_an_initializer)}}}function pN(r,f,g,E){var F;if(r.kind===290){var q=r;q.objectAssignmentInitializer&&(!C1||32768&MF(Js(q.objectAssignmentInitializer))||(f=KS(f,524288)),function(T0,u1,M1,A1,lx){var Vx,ye=u1.kind;if(ye===62&&(T0.kind===201||T0.kind===200))return pN(T0,Js(M1,A1),A1,M1.kind===107);Vx=ye===55||ye===56||ye===60?Bh(T0,A1):Js(T0,A1);var Ue=Js(M1,A1);q7(T0,u1,M1,Vx,Ue,lx)}(q.name,q.equalsToken,q.objectAssignmentInitializer,g)),F=r.name}else F=r;return F.kind===217&&F.operatorToken.kind===62&&(Vt(F,g),F=F.left),F.kind===201?function(T0,u1,M1){var A1=T0.properties;if(C1&&A1.length===0)return ak(u1,T0);for(var lx=0;lx<A1.length;lx++)X3(T0,u1,lx,A1,M1);return u1}(F,f,E):F.kind===200?function(T0,u1,M1){var A1=T0.elements;Ox<2&&V1.downlevelIteration&&v6(T0,512);for(var lx=wm(193,u1,Gr,T0)||ae,Vx=V1.noUncheckedIndexedAccess?void 0:lx,ye=0;ye<A1.length;ye++){var Ue=lx;T0.elements[ye].kind===221&&(Ue=Vx=Vx!=null?Vx:wm(65,u1,Gr,T0)||ae),W7(T0,u1,ye,Ue,M1)}return u1}(F,f,g):function(T0,u1,M1){var A1=Js(T0,M1),lx=T0.parent.kind===291?e.Diagnostics.The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access:e.Diagnostics.The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access,Vx=T0.parent.kind===291?e.Diagnostics.The_target_of_an_object_rest_assignment_may_not_be_an_optional_property_access:e.Diagnostics.The_left_hand_side_of_an_assignment_expression_may_not_be_an_optional_property_access;return Fy(T0,lx,Vx)&&tk(u1,A1,T0,T0),e.isPrivateIdentifierPropertyAccessExpression(T0)&&v6(T0.parent,1048576),u1}(F,f,g)}function t_(r){switch((r=e.skipParentheses(r)).kind){case 78:case 10:case 13:case 206:case 219:case 14:case 8:case 9:case 109:case 94:case 103:case 150:case 209:case 222:case 210:case 200:case 201:case 212:case 226:case 275:case 274:return!0;case 218:return t_(r.whenTrue)&&t_(r.whenFalse);case 217:return!e.isAssignmentOperator(r.operatorToken.kind)&&t_(r.left)&&t_(r.right);case 215:case 216:switch(r.operator){case 53:case 39:case 40:case 54:return!0}return!1;case 213:case 207:case 225:default:return!1}}function tb(r,f){return(98304&f.flags)!=0||Hg(r,f)}function q7(r,f,g,E,F,q){var T0=f.kind;switch(T0){case 41:case 42:case 65:case 66:case 43:case 67:case 44:case 68:case 40:case 64:case 47:case 69:case 48:case 70:case 49:case 71:case 51:case 73:case 52:case 77:case 50:case 72:if(E===Ka||F===Ka)return Ka;E=ak(E,r),F=ak(F,g);var u1=void 0;if(528&E.flags&&528&F.flags&&(u1=function(Oa){switch(Oa){case 51:case 73:return 56;case 52:case 77:return 37;case 50:case 72:return 55;default:return}}(f.kind))!==void 0)return ht(q||f,e.Diagnostics.The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead,e.tokenToString(f.kind),e.tokenToString(u1)),Hx;var M1,A1=z7(r,E,e.Diagnostics.The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type,!0),lx=z7(g,F,e.Diagnostics.The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type,!0);if(Q6(E,3)&&Q6(F,3)||!yl(E,2112)&&!yl(F,2112))M1=Hx;else if(Nn(E,F)){switch(T0){case 49:case 71:Qi();break;case 42:case 66:Ox<3&&ht(q,e.Diagnostics.Exponentiation_cannot_be_performed_on_bigint_values_unless_the_target_option_is_set_to_es2016_or_later)}M1=ge}else Qi(Nn),M1=ae;return A1&&lx&&Ca(M1),M1;case 39:case 63:if(E===Ka||F===Ka)return Ka;Q6(E,402653316)||Q6(F,402653316)||(E=ak(E,r),F=ak(F,g));var Vx=void 0;if(Q6(E,296,!0)&&Q6(F,296,!0)?Vx=Hx:Q6(E,2112,!0)&&Q6(F,2112,!0)?Vx=ge:Q6(E,402653316,!0)||Q6(F,402653316,!0)?Vx=l1:(Vu(E)||Vu(F))&&(Vx=E===ae||F===ae?ae:E1),Vx&&!Ei(T0))return Vx;if(!Vx){var ye=402655727;return Qi(function(Oa,Ra){return Q6(Oa,ye)&&Q6(Ra,ye)}),E1}return T0===63&&Ca(Vx),Vx;case 29:case 31:case 32:case 33:return Ei(T0)&&(E=F4(ak(E,r)),F=F4(ak(F,g)),Aa(function(Oa,Ra){return Hg(Oa,Ra)||Hg(Ra,Oa)||cc(Oa,Kt)&&cc(Ra,Kt)})),rn;case 34:case 35:case 36:case 37:return Aa(function(Oa,Ra){return tb(Oa,Ra)||tb(Ra,Oa)}),rn;case 101:return function(Oa,Ra,yn,ti){return yn===Ka||ti===Ka?Ka:(!Vu(yn)&&CD(yn,131068)&&ht(Oa,e.Diagnostics.The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_parameter),Vu(ti)||jV(ti)||bm(ti,Yl)||ht(Ra,e.Diagnostics.The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_Function_interface_type),rn)}(r,g,E,F);case 100:return function(Oa,Ra,yn,ti){if(yn===Ka||ti===Ka)return Ka;yn=ak(yn,Oa),ti=ak(ti,Ra),CD(yn,402665900)||Q6(yn,407109632)||ht(Oa,e.Diagnostics.The_left_hand_side_of_an_in_expression_must_be_of_type_any_string_number_or_symbol);var Gi=Wh(ti);return(!CD(ti,126091264)||Gi&&(Q6(ti,3145728)&&!CD(Gi,126091264)||!yl(Gi,126615552)))&&ht(Ra,e.Diagnostics.The_right_hand_side_of_an_in_expression_must_not_be_a_primitive),rn}(r,g,E,F);case 55:case 75:var Ue=4194304&eh(E)?Lo([V_(C1?E:F4(F)),F]):E;return T0===75&&Ca(F),Ue;case 56:case 74:var Ge=8388608&eh(E)?Lo([rk(E),F],2):E;return T0===74&&Ca(F),Ge;case 60:case 76:var er=262144&eh(E)?Lo([Cm(E),F],2):E;return T0===76&&Ca(F),er;case 62:var Ar=e.isBinaryExpression(r.parent)?e.getAssignmentDeclarationKind(r.parent):0;return function(Oa,Ra){if(Oa===2)for(var yn=0,ti=Gm(Ra);yn<ti.length;yn++){var Gi=ti[yn],zi=Yo(Gi);if(zi.symbol&&32&zi.symbol.flags){var Wo=Gi.escapedName,Ms=j6(Gi.valueDeclaration,Wo,788968,void 0,Wo,!1);(Ms==null?void 0:Ms.declarations)&&Ms.declarations.some(e.isJSDocTypedefTag)&&(xd(Ms,e.Diagnostics.Duplicate_identifier_0,e.unescapeLeadingUnderscores(Wo),Gi),xd(Gi,e.Diagnostics.Duplicate_identifier_0,e.unescapeLeadingUnderscores(Wo),Ms))}}}(Ar,F),function(Oa){var Ra;switch(Oa){case 2:return!0;case 1:case 5:case 6:case 3:case 4:var yn=ms(r),ti=e.getAssignedExpandoInitializer(g);return!!ti&&e.isObjectLiteralExpression(ti)&&!!((Ra=yn==null?void 0:yn.exports)===null||Ra===void 0?void 0:Ra.size);default:return!1}}(Ar)?(524288&F.flags&&(Ar===2||Ar===6||lh(F)||Nv(F)||1&e.getObjectFlags(F))||Ca(F),E):(Ca(F),Xg(F));case 27:if(!V1.allowUnreachableCode&&t_(r)&&!function(Oa){return Oa.kind===78&&Oa.escapedText===\"eval\"}(g)){var vr=e.getSourceFileOfNode(r),Yt=vr.text,nn=e.skipTrivia(Yt,r.pos);vr.parseDiagnostics.some(function(Oa){return Oa.code===e.Diagnostics.JSX_expressions_must_have_one_parent_element.code&&e.textSpanContainsPosition(Oa,nn)})||ht(r,e.Diagnostics.Left_side_of_comma_operator_is_unused_and_has_no_side_effects)}return F;default:return e.Debug.fail()}function Nn(Oa,Ra){return Q6(Oa,2112)&&Q6(Ra,2112)}function Ei(Oa){var Ra=yl(E,12288)?r:yl(F,12288)?g:void 0;return!Ra||(ht(Ra,e.Diagnostics.The_0_operator_cannot_be_applied_to_type_symbol,e.tokenToString(Oa)),!1)}function Ca(Oa){$1&&e.isAssignmentOperator(T0)&&(!Fy(r,e.Diagnostics.The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access,e.Diagnostics.The_left_hand_side_of_an_assignment_expression_may_not_be_an_optional_property_access)||e.isIdentifier(r)&&e.unescapeLeadingUnderscores(r.escapedText)===\"exports\"||tk(Oa,E,r,g))}function Aa(Oa){return!Oa(E,F)&&(Qi(Oa),!0)}function Qi(Oa){var Ra,yn=!1,ti=q||f;if(Oa){var Gi=h2(E),zi=h2(F);yn=!(Gi===E&&zi===F)&&!(!Gi||!zi)&&Oa(Gi,zi)}var Wo=E,Ms=F;!yn&&Oa&&(Ra=function(Ya,Da,fr){var rt=Ya,di=Da,Wt=F4(Ya),dn=F4(Da);return fr(Wt,dn)||(rt=Wt,di=dn),[rt,di]}(E,F,Oa),Wo=Ra[0],Ms=Ra[1]);var Et=lg(Wo,Ms),wt=Et[0],da=Et[1];(function(Ya,Da,fr,rt){var di;switch(f.kind){case 36:case 34:di=\"false\";break;case 37:case 35:di=\"true\"}if(di)return Ab(Ya,Da,e.Diagnostics.This_condition_will_always_return_0_since_the_types_1_and_2_have_no_overlap,di,fr,rt)})(ti,yn,wt,da)||Ab(ti,yn,e.Diagnostics.Operator_0_cannot_be_applied_to_types_1_and_2,e.tokenToString(f.kind),wt,da)}}function Y3(r){return!!(134217856&r.flags||58982400&r.flags&&yl(wA(r)||ut,402653316))}function hI(r,f,g,E){var F=function(M1){return M1.kind!==282||e.isJsxSelfClosingElement(M1.parent)?M1:M1.parent.parent}(r),q=F.contextualType,T0=F.inferenceContext;try{F.contextualType=f,F.inferenceContext=g;var u1=Js(r,1|E|(g?2:0));return yl(u1,2944)&&r_(u1,mD(f,r))?Kp(u1):u1}finally{F.contextualType=q,F.inferenceContext=T0}}function VC(r,f){var g=Fo(r);if(!g.resolvedType){if(f&&f!==0)return Js(r,f);var E=x4,F=Mo;x4=Al,Mo=void 0,g.resolvedType=Js(r,f),Mo=F,x4=E}return g.resolvedType}function QR(r){return(r=e.skipParentheses(r)).kind===207||r.kind===225}function XI(r,f){var g=e.getEffectiveInitializer(r),E=Pz(g)||(f?hI(g,f,void 0,0):VC(g));return e.isParameter(r)&&r.name.kind===198&&Vd(E)&&!E.target.hasRestElement&&DP(E)<r.name.elements.length?function(F,q){for(var T0=q.elements,u1=Cc(F).slice(),M1=F.target.elementFlags.slice(),A1=DP(F);A1<T0.length;A1++){var lx=T0[A1];(A1<T0.length-1||lx.kind!==199||!lx.dotDotDotToken)&&(u1.push(!e.isOmittedExpression(lx)&&Fm(lx)?qD(lx,!1,!1):E1),M1.push(2),e.isOmittedExpression(lx)||Fm(lx)||Mm(lx,E1))}return ek(u1,M1,F.target.readonly)}(E,r.name):E}function ED(r,f){var g=2&e.getCombinedNodeFlags(r)||e.isDeclarationReadonly(r)?f:fh(f);if(e.isInJSFile(r)){if(98304&g.flags)return Mm(r,E1),E1;if(xL(g))return Mm(r,Nf),Nf}return g}function r_(r,f){if(f){if(3145728&f.flags){var g=f.types;return e.some(g,function(F){return r_(r,F)})}if(58982400&f.flags){var E=wA(f)||ut;return yl(E,4)&&yl(r,128)||yl(E,8)&&yl(r,256)||yl(E,64)&&yl(r,2048)||yl(E,4096)&&yl(r,8192)||r_(r,E)}return!!(406847616&f.flags&&yl(r,128)||256&f.flags&&yl(r,256)||2048&f.flags&&yl(r,2048)||512&f.flags&&yl(r,512)||8192&f.flags&&yl(r,8192))}return!1}function n_(r){var f=r.parent;return e.isAssertionExpression(f)&&e.isConstTypeReference(f.type)||(e.isParenthesizedExpression(f)||e.isArrayLiteralExpression(f)||e.isSpreadElement(f))&&n_(f)||(e.isPropertyAssignment(f)||e.isShorthandPropertyAssignment(f)||e.isTemplateSpan(f))&&n_(f.parent)}function XO(r,f,g,E){var F=Js(r,f,E);return n_(r)?Kp(F):QR(r)?F:Yr(F,mD(arguments.length===2?x2(r):g,r))}function pw(r,f){return r.name.kind===159&&Tm(r.name),XO(r.initializer,f)}function J7(r,f){return sk(r),r.name.kind===159&&Tm(r.name),H7(r,Ja(r,f),f)}function H7(r,f,g){if(g&&10&g){var E=e_(f,0,!0),F=e_(f,1,!0),q=E||F;if(q&&q.typeParameters){var T0=Hh(r,2);if(T0){var u1=e_(Cm(T0),E?0:1,!1);if(u1&&!u1.typeParameters){if(8&g)return G7(r,g),K8;var M1=iI(r),A1=M1.signature&&yc(M1.signature),lx=A1&&_U(A1);if(lx&&!lx.typeParameters&&!e.every(M1.inferences,gI)){var Vx=function(Ge,er){for(var Ar,vr,Yt=[],nn=0,Nn=er;nn<Nn.length;nn++){var Ei=(Ra=Nn[nn]).symbol.escapedName;if(Q3(Ge.inferredTypeParameters,Ei)||Q3(Yt,Ei)){var Ca=$i(f2(262144,LV(e.concatenate(Ge.inferredTypeParameters,Yt),Ei)));Ca.target=Ra,Ar=e.append(Ar,Ra),vr=e.append(vr,Ca),Yt.push(Ca)}else Yt.push(Ra)}if(vr)for(var Aa=yg(Ar,vr),Qi=0,Oa=vr;Qi<Oa.length;Qi++){var Ra;(Ra=Oa[Qi]).mapper=Aa}return Yt}(M1,q.typeParameters),ye=xM(q,Vx),Ue=e.map(M1.inferences,function(Ge){return LR(Ge.typeParameter)});if(Fv(ye,u1,function(Ge,er){nk(Ue,Ge,er,0,!0)}),e.some(Ue,gI)&&(Q$(ye,u1,function(Ge,er){nk(Ue,Ge,er)}),!function(Ge,er){for(var Ar=0;Ar<Ge.length;Ar++)if(gI(Ge[Ar])&&gI(er[Ar]))return!0;return!1}(M1.inferences,Ue)))return function(Ge,er){for(var Ar=0;Ar<Ge.length;Ar++)!gI(Ge[Ar])&&gI(er[Ar])&&(Ge[Ar]=er[Ar])}(M1.inferences,Ue),M1.inferredTypeParameters=e.concatenate(M1.inferredTypeParameters,Vx),yP(ye)}return yP(ww(q,u1,M1))}}}}return f}function G7(r,f){2&f&&(iI(r).flags|=4)}function gI(r){return!(!r.candidates&&!r.contraCandidates)}function Q3(r,f){return e.some(r,function(g){return g.symbol.escapedName===f})}function LV(r,f){for(var g=f.length;g>1&&f.charCodeAt(g-1)>=48&&f.charCodeAt(g-1)<=57;)g--;for(var E=f.slice(0,g),F=1;;F++){var q=E+F;if(!Q3(r,q))return q}}function fL(r){var f=Nh(r);if(f&&!f.typeParameters)return yc(f)}function JA(r){var f=Pz(r);if(f)return f;if(67108864&r.flags&&Mo){var g=Mo[t0(r)];if(g)return g}var E=_c,F=Js(r);return _c!==E&&((Mo||(Mo=[]))[t0(r)]=F,e.setNodeFlags(r,67108864|r.flags)),F}function Pz(r){var f=e.skipParentheses(r);if(!e.isCallExpression(f)||f.expression.kind===105||e.isRequireCall(f,!0)||U7(f)){if(e.isAssertionExpression(f)&&!e.isConstTypeReference(f.type))return Dc(f.type);if(r.kind===8||r.kind===10||r.kind===109||r.kind===94)return Js(r)}else{var g=e.isCallChain(f)?function(E){var F=Js(E.expression),q=Ev(F,E.expression),T0=fL(F);return T0&&K_(T0,E,q!==F)}(f):fL(fN(f.expression));if(g)return g}}function ZR(r){var f=Fo(r);if(f.contextFreeType)return f.contextFreeType;var g=r.contextualType;r.contextualType=E1;try{return f.contextFreeType=Js(r,4)}finally{r.contextualType=g}}function Js(r,f,g){e.tracing===null||e.tracing===void 0||e.tracing.push(\"check\",\"checkExpression\",{kind:r.kind,pos:r.pos,end:r.end});var E=k1;k1=r,p0=0;var F=H7(r,function(q,T0,u1){var M1=q.kind;if(Z1)switch(M1){case 222:case 209:case 210:Z1.throwIfCancellationRequested()}switch(M1){case 78:return PV(q,T0);case 107:return b7(q);case 105:return LC(q);case 103:return X0;case 14:case 10:return qh(sf(q.text));case 8:return CL(q),qh(sf(+q.text));case 9:return function(A1){if(!(e.isLiteralTypeNode(A1.parent)||e.isPrefixUnaryExpression(A1.parent)&&e.isLiteralTypeNode(A1.parent.parent))&&Ox<7&&wo(A1,e.Diagnostics.BigInt_literals_are_not_available_when_targeting_lower_than_ES2020))return!0}(q),qh(function(A1){return sf({negative:!1,base10Value:e.parsePseudoBigInt(A1.text)})}(q));case 109:return Kr;case 94:return Pe;case 219:return function(A1){for(var lx=[A1.head.text],Vx=[],ye=0,Ue=A1.templateSpans;ye<Ue.length;ye++){var Ge=Ue[ye],er=Js(Ge.expression);yl(er,12288)&&ht(Ge.expression,e.Diagnostics.Implicit_conversion_of_a_symbol_to_a_string_will_fail_at_runtime_Consider_wrapping_this_expression_in_String),lx.push(Ge.literal.text),Vx.push(cc(er,Fa)?er:l1)}return n_(A1)||Zg(x2(A1)||ut,Y3)?qg(lx,Vx):l1}(q);case 13:return tf;case 200:return th(q,T0,u1);case 201:return $3(q,T0);case 202:return jC(q,T0);case 158:return Cy(q,T0);case 203:return hU(q,T0);case 204:if(q.expression.kind===99)return DU(q);case 205:return function(A1,lx){var Vx;IM(A1,A1.typeArguments)||bK(A1.arguments);var ye=Ph(A1,void 0,lx);if(ye===Pl)return fe;if(Sy(ye,A1),A1.expression.kind===105)return Ii;if(A1.kind===205){var Ue=ye.declaration;if(Ue&&Ue.kind!==167&&Ue.kind!==171&&Ue.kind!==176&&!e.isJSDocConstructSignature(Ue)&&!am(Ue))return Px&&ht(A1,e.Diagnostics.new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type),E1}if(e.isInJSFile(A1)&&Jv(A1))return ER(A1.arguments[0]);var Ge=yc(ye);if(12288&Ge.flags&&U7(A1))return nU(e.walkUpParenthesizedExpressions(A1.parent));if(A1.kind===204&&!A1.questionDotToken&&A1.parent.kind===234&&16384&Ge.flags&&kA(ye))if(e.isDottedName(A1.expression)){if(!GI(A1)){var er=ht(A1.expression,e.Diagnostics.Assertions_require_every_name_in_the_call_target_to_be_declared_with_an_explicit_type_annotation);yy(A1.expression,er)}}else ht(A1.expression,e.Diagnostics.Assertions_require_the_call_target_to_be_an_identifier_or_qualified_name);if(e.isInJSFile(A1)){var Ar=R7(A1,!1);if((Vx=Ar==null?void 0:Ar.exports)===null||Vx===void 0?void 0:Vx.size){var vr=yo(Ar,Ar.exports,e.emptyArray,e.emptyArray,void 0,void 0);return vr.objectFlags|=8192,Kc([Ge,vr])}}return Ge}(q,T0);case 206:return V7(q);case 208:return function(A1,lx){var Vx=e.isInJSFile(A1)?e.getJSDocTypeTag(A1):void 0;return Vx?Gv(Vx,Vx.typeExpression.type,A1.expression,lx):Js(A1.expression,lx)}(q,T0);case 222:return function(A1){return nj(A1),xO(A1),Yo(ms(A1))}(q);case 209:case 210:return Ja(q,T0);case 212:return function(A1){return Js(A1.expression),we}(q);case 207:case 225:return function(A1){return Gv(A1,A1.type,A1.expression)}(q);case 226:return Nz(q);case 227:return dI(q);case 211:return G3(q);case 213:return function(A1){return Js(A1.expression),B}(q);case 214:return function(A1){if($1){var lx;if(!(32768&A1.flags)){if(e.isInTopLevelContext(A1)){if(!HA(lx=e.getSourceFileOfNode(A1))){var Vx=void 0;if(!e.isEffectiveExternalModule(lx,V1)){Vx||(Vx=e.getSpanOfTokenAtPosition(lx,A1.pos));var ye=e.createFileDiagnostic(lx,Vx.start,Vx.length,e.Diagnostics.await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module);Ku.add(ye)}($x!==e.ModuleKind.ESNext&&$x!==e.ModuleKind.System||Ox<4)&&(Vx=e.getSpanOfTokenAtPosition(lx,A1.pos),ye=e.createFileDiagnostic(lx,Vx.start,Vx.length,e.Diagnostics.Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_esnext_or_system_and_the_target_option_is_set_to_es2017_or_higher),Ku.add(ye))}}else if(!HA(lx=e.getSourceFileOfNode(A1))){Vx=e.getSpanOfTokenAtPosition(lx,A1.pos),ye=e.createFileDiagnostic(lx,Vx.start,Vx.length,e.Diagnostics.await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules);var Ue=e.getContainingFunction(A1);if(Ue&&Ue.kind!==167&&(2&e.getFunctionFlags(Ue))==0){var Ge=e.createDiagnosticForNode(Ue,e.Diagnostics.Did_you_mean_to_mark_this_function_as_async);e.addRelatedInfo(ye,Ge)}Ku.add(ye)}}lD(A1)&&ht(A1,e.Diagnostics.await_expressions_cannot_be_used_in_a_parameter_initializer)}var er=Js(A1.expression),Ar=i_(er,A1,e.Diagnostics.Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member);return Ar!==er||Ar===ae||3&er.flags||Mu(!1,e.createDiagnosticForNode(A1,e.Diagnostics.await_has_no_effect_on_the_type_of_this_expression)),Ar}(q);case 215:return function(A1){var lx=Js(A1.operand);if(lx===Ka)return Ka;switch(A1.operand.kind){case 8:switch(A1.operator){case 40:return qh(sf(-A1.operand.text));case 39:return qh(sf(+A1.operand.text))}break;case 9:if(A1.operator===40)return qh(sf({negative:!0,base10Value:e.parsePseudoBigInt(A1.operand.text)}))}switch(A1.operator){case 39:case 40:case 54:return ak(lx,A1.operand),yl(lx,12288)&&ht(A1.operand,e.Diagnostics.The_0_operator_cannot_be_applied_to_type_symbol,e.tokenToString(A1.operator)),A1.operator===39?(yl(lx,2112)&&ht(A1.operand,e.Diagnostics.Operator_0_cannot_be_applied_to_type_1,e.tokenToString(A1.operator),ka(F4(lx))),Hx):bD(lx);case 53:Bh(A1.operand);var Vx=12582912&eh(lx);return Vx===4194304?Pe:Vx===8388608?Kr:rn;case 45:case 46:return z7(A1.operand,ak(lx,A1.operand),e.Diagnostics.An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type)&&Fy(A1.operand,e.Diagnostics.The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access,e.Diagnostics.The_operand_of_an_increment_or_decrement_operator_may_not_be_an_optional_property_access),bD(lx)}return ae}(q);case 216:return function(A1){var lx=Js(A1.operand);return lx===Ka?Ka:(z7(A1.operand,ak(lx,A1.operand),e.Diagnostics.An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type)&&Fy(A1.operand,e.Diagnostics.The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access,e.Diagnostics.The_operand_of_an_increment_or_decrement_operator_may_not_be_an_optional_property_access),bD(lx))}(q);case 217:return Vt(q,T0);case 218:return function(A1,lx){var Vx=Bh(A1.condition);return Kd(A1.condition,Vx,A1.whenTrue),Lo([Js(A1.whenTrue,lx),Js(A1.whenFalse,lx)],2)}(q,T0);case 221:return function(A1,lx){return Ox<2&&v6(A1,V1.downlevelIteration?1536:1024),wm(33,Js(A1.expression,lx),Gr,A1.expression)}(q,T0);case 223:return B;case 220:return function(A1){$1&&(8192&A1.flags||zS(A1,e.Diagnostics.A_yield_expression_is_only_allowed_in_a_generator_body),lD(A1)&&ht(A1,e.Diagnostics.yield_expressions_cannot_be_used_in_a_parameter_initializer));var lx=e.getContainingFunction(A1);if(!lx)return E1;var Vx=e.getFunctionFlags(lx);if(!(1&Vx))return E1;var ye=(2&Vx)!=0;A1.asteriskToken&&(ye&&Ox<99&&v6(A1,26624),!ye&&Ox<2&&V1.downlevelIteration&&v6(A1,256));var Ue=_P(lx),Ge=Ue&&wM(Ue,ye),er=Ge&&Ge.yieldType||E1,Ar=Ge&&Ge.nextType||E1,vr=ye?h2(Ar)||E1:Ar,Yt=A1.expression?Js(A1.expression):B,nn=PT(A1,Yt,vr,ye);if(Ue&&nn&&tk(nn,er,A1.expression||A1,A1.expression),A1.asteriskToken)return FM(ye?19:17,1,Yt,A1.expression)||E1;if(Ue)return Y_(2,Ue,ye)||E1;var Nn=W_(2,lx);if(!Nn&&(Nn=E1,$1&&Px&&!e.expressionResultIsUnused(A1))){var Ei=x2(A1);Ei&&!Vu(Ei)||ht(A1,e.Diagnostics.yield_expression_implicitly_results_in_an_any_type_because_its_containing_generator_lacks_a_return_type_annotation)}return Nn}(q);case 228:return function(A1){return A1.isSpread?JT(A1.type,Hx):A1.type}(q);case 284:return BV(q,T0);case 274:case 275:return function(A1,lx){return xO(A1),uL(A1)||E1}(q);case 278:return function(A1){sI(A1.openingFragment);var lx=e.getSourceFileOfNode(A1);return!e.getJSXTransformEnabled(V1)||!V1.jsxFactory&&!lx.pragmas.has(\"jsx\")||V1.jsxFragmentFactory||lx.pragmas.has(\"jsxfrag\")||ht(A1,V1.jsxFactory?e.Diagnostics.The_jsxFragmentFactory_compiler_option_must_be_provided_to_use_JSX_fragments_with_the_jsxFactory_compiler_option:e.Diagnostics.An_jsxFrag_pragma_is_required_when_using_an_jsx_pragma_with_JSX_fragments),JN(A1),uL(A1)||E1}(q);case 282:return z3(q,T0);case 276:e.Debug.fail(\"Shouldn't ever directly check a JsxOpeningElement\")}return ae}(r,f,g),f);return Ay(F)&&function(q,T0){q.parent.kind===202&&q.parent.expression===q||q.parent.kind===203&&q.parent.expression===q||(q.kind===78||q.kind===158)&&TU(q)||q.parent.kind===177&&q.parent.exprName===q||q.parent.kind===271||ht(q,e.Diagnostics.const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_import_declaration_or_export_assignment_or_type_query),V1.isolatedModules&&(e.Debug.assert(!!(128&T0.symbol.flags)),8388608&T0.symbol.valueDeclaration.flags&&ht(q,e.Diagnostics.Cannot_access_ambient_const_enums_when_the_isolatedModules_flag_is_provided))}(r,F),k1=E,e.tracing===null||e.tracing===void 0||e.tracing.pop(),F}function CM(r){r.expression&&zS(r.expression,e.Diagnostics.Type_expected),Hu(r.constraint),Hu(r.default);var f=XP(ms(r));wA(f),function(F){return zu(F)!==Xl}(f)||ht(r.default,e.Diagnostics.Type_parameter_0_has_a_circular_default,ka(f));var g=_d(f),E=$N(f);g&&E&&Zd(E,Fw(xo(g,Dg(f,E)),E),r.default,e.Diagnostics.Type_0_does_not_satisfy_the_constraint_1),$1&&a_(r.name,e.Diagnostics.Type_parameter_name_cannot_be_0)}function rb(r){J9(r),kD(r);var f=e.getContainingFunction(r);e.hasSyntacticModifier(r,16476)&&(f.kind===167&&e.nodeIsPresent(f.body)||ht(r,e.Diagnostics.A_parameter_property_is_only_allowed_in_a_constructor_implementation),f.kind===167&&e.isIdentifier(r.name)&&r.name.escapedText===\"constructor\"&&ht(r.name,e.Diagnostics.constructor_cannot_be_used_as_a_parameter_property_name)),r.questionToken&&e.isBindingPattern(r.name)&&f.body&&ht(r,e.Diagnostics.A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature),r.name&&e.isIdentifier(r.name)&&(r.name.escapedText===\"this\"||r.name.escapedText===\"new\")&&(f.parameters.indexOf(r)!==0&&ht(r,e.Diagnostics.A_0_parameter_must_be_the_first_parameter,r.name.escapedText),f.kind!==167&&f.kind!==171&&f.kind!==176||ht(r,e.Diagnostics.A_constructor_cannot_have_a_this_parameter),f.kind===210&&ht(r,e.Diagnostics.An_arrow_function_cannot_have_a_this_parameter),f.kind!==168&&f.kind!==169||ht(r,e.Diagnostics.get_and_set_accessors_cannot_declare_this_parameters)),!r.dotDotDotToken||e.isBindingPattern(r.name)||cc(Q2(Yo(r.symbol)),l2)||ht(r,e.Diagnostics.A_rest_parameter_must_be_of_an_array_type)}function nb(r,f,g){for(var E=0,F=r.elements;E<F.length;E++){var q=F[E];if(!e.isOmittedExpression(q)){var T0=q.name;if(T0.kind===78&&T0.escapedText===g)return ht(f,e.Diagnostics.A_type_predicate_cannot_reference_element_0_in_a_binding_pattern,g),!0;if((T0.kind===198||T0.kind===197)&&nb(T0,f,g))return!0}}}function SD(r){r.kind===172?function(T0){J9(T0)||function(u1){var M1=u1.parameters[0];if(u1.parameters.length!==1)return wo(M1?M1.name:u1,e.Diagnostics.An_index_signature_must_have_exactly_one_parameter);if(i9(u1.parameters,e.Diagnostics.An_index_signature_cannot_have_a_trailing_comma),M1.dotDotDotToken)return wo(M1.dotDotDotToken,e.Diagnostics.An_index_signature_cannot_have_a_rest_parameter);if(e.hasEffectiveModifiers(M1))return wo(M1.name,e.Diagnostics.An_index_signature_parameter_cannot_have_an_accessibility_modifier);if(M1.questionToken)return wo(M1.questionToken,e.Diagnostics.An_index_signature_parameter_cannot_have_a_question_mark);if(M1.initializer)return wo(M1.name,e.Diagnostics.An_index_signature_parameter_cannot_have_an_initializer);if(!M1.type)return wo(M1.name,e.Diagnostics.An_index_signature_parameter_must_have_a_type_annotation);if(M1.type.kind!==147&&M1.type.kind!==144){var A1=Dc(M1.type);return 4&A1.flags||8&A1.flags?wo(M1.name,e.Diagnostics.An_index_signature_parameter_type_cannot_be_a_type_alias_Consider_writing_0_Colon_1_Colon_2_instead,e.getTextOfNode(M1.name),ka(A1),ka(u1.type?Dc(u1.type):E1)):1048576&A1.flags&&CD(A1,384,!0)?wo(M1.name,e.Diagnostics.An_index_signature_parameter_type_cannot_be_a_union_type_Consider_using_a_mapped_object_type_instead):wo(M1.name,e.Diagnostics.An_index_signature_parameter_type_must_be_either_string_or_number)}if(!u1.type)return wo(u1,e.Diagnostics.An_index_signature_must_have_a_type_annotation)}(T0)}(r):r.kind!==175&&r.kind!==252&&r.kind!==176&&r.kind!==170&&r.kind!==167&&r.kind!==171||PM(r);var f=e.getFunctionFlags(r);if(4&f||((3&f)==3&&Ox<99&&v6(r,6144),(3&f)==2&&Ox<4&&v6(r,64),(3&f)!=0&&Ox<2&&v6(r,128)),LD(r.typeParameters),e.forEach(r.parameters,rb),r.type&&Hu(r.type),$1){(function(T0){Ox>=2||!e.hasRestParameter(T0)||8388608&T0.flags||e.nodeIsMissing(T0.body)||e.forEach(T0.parameters,function(u1){u1.name&&!e.isBindingPattern(u1.name)&&u1.name.escapedText===ar.escapedName&&rs(\"noEmit\",u1,e.Diagnostics.Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters)})})(r);var g=e.getEffectiveReturnTypeNode(r);if(Px&&!g)switch(r.kind){case 171:ht(r,e.Diagnostics.Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type);break;case 170:ht(r,e.Diagnostics.Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type)}if(g){var E=e.getFunctionFlags(r);if((5&E)==1){var F=Dc(g);if(F===Ii)ht(g,e.Diagnostics.A_generator_cannot_have_a_void_type_annotation);else{var q=Y_(0,F,(2&E)!=0)||E1;Zd(bU(q,Y_(1,F,(2&E)!=0)||q,Y_(2,F,(2&E)!=0)||ut,!!(2&E)),F,g)}}else(3&E)==2&&function(T0,u1){var M1=Dc(u1);if(Ox>=2){if(M1===ae)return;var A1=TR(!0);if(A1!==rc&&!hP(M1,A1))return void ht(u1,e.Diagnostics.The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_write_Promise_0,ka(h2(M1)||Ii))}else{if(function(vr){$C(vr&&e.getEntityNameFromTypeNode(vr))}(u1),M1===ae)return;var lx=e.getEntityNameFromTypeNode(u1);if(lx===void 0)return void ht(u1,e.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value,ka(M1));var Vx=nl(lx,111551,!0),ye=Vx?Yo(Vx):ae;if(ye===ae)return void(lx.kind===78&&lx.escapedText===\"Promise\"&&wO(M1)===TR(!1)?ht(u1,e.Diagnostics.An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option):ht(u1,e.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value,e.entityNameToString(lx)));var Ue=(Ar=!0,bd||(bd=Kf(\"PromiseConstructorLike\",0,Ar))||qs);if(Ue===qs)return void ht(u1,e.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value,e.entityNameToString(lx));if(!Zd(ye,Ue,u1,e.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value))return;var Ge=lx&&e.getFirstIdentifier(lx),er=ed(T0.locals,Ge.escapedText,111551);if(er)return void ht(er.valueDeclaration,e.Diagnostics.Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions,e.idText(Ge),e.entityNameToString(lx))}var Ar;i_(M1,T0,e.Diagnostics.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member)}(r,g)}r.kind!==172&&r.kind!==309&&Oh(r)}}function ib(r){for(var f=new e.Map,g=0,E=r.members;g<E.length;g++){var F=E[g];if(F.kind===163){var q=void 0,T0=F.name;switch(T0.kind){case 10:case 8:q=T0.text;break;case 78:q=e.idText(T0);break;default:continue}f.get(q)?(ht(e.getNameOfDeclaration(F.symbol.valueDeclaration),e.Diagnostics.Duplicate_identifier_0,q),ht(F.name,e.Diagnostics.Duplicate_identifier_0,q)):f.set(q,!0)}}}function m2(r){if(r.kind===254){var f=ms(r);if(f.declarations&&f.declarations.length>0&&f.declarations[0]!==r)return}var g=rv(ms(r));if(g==null?void 0:g.declarations)for(var E=!1,F=!1,q=0,T0=g.declarations;q<T0.length;q++){var u1=T0[q];if(u1.parameters.length===1&&u1.parameters[0].type)switch(u1.parameters[0].type.kind){case 147:F?ht(u1,e.Diagnostics.Duplicate_string_index_signature):F=!0;break;case 144:E?ht(u1,e.Diagnostics.Duplicate_number_index_signature):E=!0}}}function FD(r){J9(r)||function(f){if(e.isClassLike(f.parent)){if(e.isStringLiteral(f.name)&&f.name.text===\"constructor\")return wo(f.name,e.Diagnostics.Classes_may_not_have_a_field_named_constructor);if(HT(f.name,e.Diagnostics.A_computed_property_name_in_a_class_property_declaration_must_have_a_simple_literal_type_or_a_unique_symbol_type))return!0;if(Ox<2&&e.isPrivateIdentifier(f.name))return wo(f.name,e.Diagnostics.Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher)}else if(f.parent.kind===254){if(HT(f.name,e.Diagnostics.A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type))return!0;if(f.initializer)return wo(f.initializer,e.Diagnostics.An_interface_property_cannot_have_an_initializer)}else if(f.parent.kind===178){if(HT(f.name,e.Diagnostics.A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type))return!0;if(f.initializer)return wo(f.initializer,e.Diagnostics.A_type_literal_property_cannot_have_an_initializer)}if(8388608&f.flags&&BM(f),e.isPropertyDeclaration(f)&&f.exclamationToken&&(!e.isClassLike(f.parent)||!f.type||f.initializer||8388608&f.flags||e.hasSyntacticModifier(f,160))){var g=f.initializer?e.Diagnostics.Declarations_with_initializers_cannot_also_have_definite_assignment_assertions:f.type?e.Diagnostics.A_definite_assignment_assertion_is_not_permitted_in_this_context:e.Diagnostics.Declarations_with_definite_assignment_assertions_must_also_have_type_annotations;return wo(f.exclamationToken,g)}}(r)||IU(r.name),kD(r),xj(r),e.isPrivateIdentifier(r.name)&&e.hasStaticModifier(r)&&r.initializer&&Ox===99&&!V1.useDefineForClassFields&&ht(r.initializer,e.Diagnostics.Static_fields_with_private_names_can_t_have_initializers_when_the_useDefineForClassFields_flag_is_not_specified_with_a_target_of_esnext_Consider_adding_the_useDefineForClassFields_flag)}function xj(r){if(e.isPrivateIdentifier(r.name)&&Ox<99){for(var f=e.getEnclosingBlockScopeContainer(r);f;f=e.getEnclosingBlockScopeContainer(f))Fo(f).flags|=67108864;if(e.isClassExpression(r.parent)){var g=oL(r.parent);g&&(Fo(r.name).flags|=524288,Fo(g).flags|=65536)}}}function MV(r){SD(r),function(A1){var lx=e.isInJSFile(A1)?e.getJSDocTypeParameterDeclarations(A1):void 0,Vx=A1.typeParameters||lx&&e.firstOrUndefined(lx);if(Vx){var ye=Vx.pos===Vx.end?Vx.pos:e.skipTrivia(e.getSourceFileOfNode(A1).text,Vx.pos);return rh(A1,ye,Vx.end-ye,e.Diagnostics.Type_parameters_cannot_appear_on_a_constructor_declaration)}}(r)||function(A1){var lx=e.getEffectiveReturnTypeNode(A1);lx&&wo(lx,e.Diagnostics.Type_annotation_cannot_appear_on_a_constructor_declaration)}(r),Hu(r.body);var f=ms(r);if(r===e.getDeclarationOfKind(f,r.kind)&&wD(f),!e.nodeIsMissing(r.body)&&$1){var g=r.parent;if(e.getClassExtendsHeritageElement(g)){Iv(r.parent,g);var E=TE(g),F=KR(r.body);if(F){if(E&&ht(F,e.Diagnostics.A_constructor_cannot_contain_a_super_call_when_its_class_extends_null),(V1.target!==99||!rx)&&(e.some(r.parent.members,function(A1){return!!e.isPrivateIdentifierClassElementDeclaration(A1)||A1.kind===164&&!e.hasSyntacticModifier(A1,32)&&!!A1.initializer})||e.some(r.parameters,function(A1){return e.hasSyntacticModifier(A1,16476)}))){for(var q=void 0,T0=0,u1=r.body.statements;T0<u1.length;T0++){var M1=u1[T0];if(M1.kind===234&&e.isSuperCall(M1.expression)){q=M1;break}if(!e.isPrologueDirective(M1))break}q||ht(r,e.Diagnostics.A_super_call_must_be_the_first_statement_in_the_constructor_when_a_class_contains_initialized_properties_parameter_properties_or_private_identifiers)}}else E||ht(r,e.Diagnostics.Constructors_for_derived_classes_must_contain_a_super_call)}}}function AD(r){if($1){if(PM(r)||function(A1){if(!(8388608&A1.flags)&&A1.parent.kind!==178&&A1.parent.kind!==254){if(Ox<1)return wo(A1.name,e.Diagnostics.Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher);if(Ox<2&&e.isPrivateIdentifier(A1.name))return wo(A1.name,e.Diagnostics.Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher);if(A1.body===void 0&&!e.hasSyntacticModifier(A1,128))return rh(A1,A1.end-1,\";\".length,e.Diagnostics._0_expected,\"{\")}if(A1.body){if(e.hasSyntacticModifier(A1,128))return wo(A1,e.Diagnostics.An_abstract_accessor_cannot_have_an_implementation);if(A1.parent.kind===178||A1.parent.kind===254)return wo(A1.body,e.Diagnostics.An_implementation_cannot_be_declared_in_ambient_contexts)}if(A1.typeParameters)return wo(A1.name,e.Diagnostics.An_accessor_cannot_have_type_parameters);if(!function(Vx){return OM(Vx)||Vx.parameters.length===(Vx.kind===168?0:1)}(A1))return wo(A1.name,A1.kind===168?e.Diagnostics.A_get_accessor_cannot_have_parameters:e.Diagnostics.A_set_accessor_must_have_exactly_one_parameter);if(A1.kind===169){if(A1.type)return wo(A1.name,e.Diagnostics.A_set_accessor_cannot_have_a_return_type_annotation);var lx=e.Debug.checkDefined(e.getSetAccessorValueParameter(A1),\"Return value does not match parameter count assertion.\");if(lx.dotDotDotToken)return wo(lx.dotDotDotToken,e.Diagnostics.A_set_accessor_cannot_have_rest_parameter);if(lx.questionToken)return wo(lx.questionToken,e.Diagnostics.A_set_accessor_cannot_have_an_optional_parameter);if(lx.initializer)return wo(A1.name,e.Diagnostics.A_set_accessor_parameter_cannot_have_an_initializer)}return!1}(r)||IU(r.name),ub(r),SD(r),r.kind===168&&!(8388608&r.flags)&&e.nodeIsPresent(r.body)&&256&r.flags&&(512&r.flags||ht(r.name,e.Diagnostics.A_get_accessor_must_return_a_value)),r.name.kind===159&&Tm(r.name),UI(r)){var f=ms(r),g=e.getDeclarationOfKind(f,168),E=e.getDeclarationOfKind(f,169);if(g&&E&&!(1&lj(g))){Fo(g).flags|=1;var F=e.getEffectiveModifierFlags(g),q=e.getEffectiveModifierFlags(E);(128&F)!=(128&q)&&(ht(g.name,e.Diagnostics.Accessors_must_both_be_abstract_or_non_abstract),ht(E.name,e.Diagnostics.Accessors_must_both_be_abstract_or_non_abstract)),(16&F&&!(24&q)||8&F&&!(8&q))&&(ht(g.name,e.Diagnostics.A_get_accessor_must_be_at_least_as_accessible_as_the_setter),ht(E.name,e.Diagnostics.A_get_accessor_must_be_at_least_as_accessible_as_the_setter));var T0=F_(g),u1=F_(E);T0&&u1&&Zd(T0,u1,g,e.Diagnostics.The_return_type_of_a_get_accessor_must_be_assignable_to_its_set_accessor_type)}}var M1=Yj(ms(r));r.kind===168&&YR(r,M1)}Hu(r.body),xj(r)}function pL(r,f){return Z2(e.map(r.typeArguments,Dc),f,Aw(f),e.isInJSFile(r))}function Ty(r,f){for(var g,E,F=!0,q=0;q<f.length;q++){var T0=_d(f[q]);T0&&(g||(E=yg(f,g=pL(r,f))),F=F&&Zd(g[q],xo(T0,E),r.typeArguments[q],e.Diagnostics.Type_0_does_not_satisfy_the_constraint_1))}return F}function dL(r){var f=av(r);if(f!==ae){var g=Fo(r).resolvedSymbol;if(g)return 524288&g.flags&&Zo(g).typeParameters||(4&e.getObjectFlags(f)?f.target.localTypeParameters:void 0)}}function ab(r){IM(r,r.typeArguments),r.kind!==174||r.typeName.jsdocDotPos===void 0||e.isInJSFile(r)||e.isInJSDoc(r)||rh(r,r.typeName.jsdocDotPos,1,e.Diagnostics.JSDoc_types_can_only_be_used_inside_documentation_comments),e.forEach(r.typeArguments,Hu);var f=av(r);if(f!==ae){if(r.typeArguments&&$1){var g=dL(r);g&&Ty(r,g)}var E=Fo(r).resolvedSymbol;E&&(e.some(E.declarations,function(F){return i3(F)&&!!(134217728&F.flags)})&&lp(j7(r),E.declarations,E.escapedName),32&f.flags&&8&E.flags&&ht(r,e.Diagnostics.Enum_type_0_has_members_with_initializers_that_are_not_literals,ka(f)))}}function YI(r,f){if(!(8388608&r.flags))return r;var g=r.objectType,E=r.indexType;if(cc(E,Ck(g,!1)))return f.kind===203&&e.isAssignmentTarget(f)&&32&e.getObjectFlags(g)&&1&B2(g)&&ht(f,e.Diagnostics.Index_signature_in_type_0_only_permits_reading,ka(g)),r;var F=S4(g);if(vC(F,1)&&Q6(E,296))return r;if(Sh(g)){var q=AC(E,f);if(q){var T0=HI(F,function(u1){return ec(u1,q)});if(T0&&24&e.getDeclarationModifierFlagsFromSymbol(T0))return ht(f,e.Diagnostics.Private_or_protected_member_0_cannot_be_accessed_on_a_type_parameter,e.unescapeLeadingUnderscores(q)),ae}}return ht(f,e.Diagnostics.Type_0_cannot_be_used_to_index_type_1,ka(E),ka(g)),ae}function YO(r){(function(f){if(f.operator===151){if(f.type.kind!==148)return wo(f.type,e.Diagnostics._0_expected,e.tokenToString(148));var g=e.walkUpParenthesizedTypes(f.parent);switch(e.isInJSFile(g)&&e.isJSDocTypeExpression(g)&&(g=g.parent,e.isJSDocTypeTag(g)&&(g=g.parent.parent)),g.kind){case 250:var E=g;if(E.name.kind!==78)return wo(f,e.Diagnostics.unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name);if(!e.isVariableDeclarationInVariableStatement(E))return wo(f,e.Diagnostics.unique_symbol_types_are_only_allowed_on_variables_in_a_variable_statement);if(!(2&E.parent.flags))return wo(g.name,e.Diagnostics.A_variable_whose_type_is_a_unique_symbol_type_must_be_const);break;case 164:if(!e.hasSyntacticModifier(g,32)||!e.hasEffectiveModifier(g,64))return wo(g.name,e.Diagnostics.A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly);break;case 163:if(!e.hasSyntacticModifier(g,64))return wo(g.name,e.Diagnostics.A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly);break;default:wo(f,e.Diagnostics.unique_symbol_types_are_not_allowed_here)}}else f.operator===142&&f.type.kind!==179&&f.type.kind!==180&&zS(f,e.Diagnostics.readonly_type_modifier_is_only_permitted_on_array_and_tuple_literal_types,e.tokenToString(148))})(r),Hu(r.type)}function mL(r){return(e.hasEffectiveModifier(r,8)||e.isPrivateIdentifierClassElementDeclaration(r))&&!!(8388608&r.flags)}function TD(r,f){var g=e.getCombinedModifierFlags(r);return r.parent.kind!==254&&r.parent.kind!==253&&r.parent.kind!==222&&8388608&r.flags&&(2&g||e.isModuleBlock(r.parent)&&e.isModuleDeclaration(r.parent.parent)&&e.isGlobalScopeAugmentation(r.parent.parent)||(g|=1),g|=2),g&f}function wD(r){if($1){var f,g,E,F=0,q=155,T0=!1,u1=!0,M1=!1,A1=r.declarations,lx=(16384&r.flags)!=0,Vx=!1,ye=!1,Ue=!1,Ge=[];if(A1)for(var er=0,Ar=A1;er<Ar.length;er++){var vr=Ar[er],Yt=8388608&vr.flags,nn=vr.parent&&(vr.parent.kind===254||vr.parent.kind===178)||Yt;if(nn&&(E=void 0),vr.kind!==253&&vr.kind!==222||Yt||(Ue=!0),vr.kind===252||vr.kind===166||vr.kind===165||vr.kind===167){Ge.push(vr);var Nn=TD(vr,155);F|=Nn,q&=Nn,T0=T0||e.hasQuestionToken(vr),u1=u1&&e.hasQuestionToken(vr);var Ei=e.nodeIsPresent(vr.body);Ei&&f?lx?ye=!0:Vx=!0:(E==null?void 0:E.parent)===vr.parent&&E.end!==vr.pos&&ti(E),Ei?f||(f=vr):M1=!0,E=vr,nn||(g=vr)}}if(ye&&e.forEach(Ge,function(Gi){ht(Gi,e.Diagnostics.Multiple_constructor_implementations_are_not_allowed)}),Vx&&e.forEach(Ge,function(Gi){ht(e.getNameOfDeclaration(Gi)||Gi,e.Diagnostics.Duplicate_function_implementation)}),Ue&&!lx&&16&r.flags&&e.forEach(A1,function(Gi){l5(Gi,e.Diagnostics.Duplicate_identifier_0,e.symbolName(r),A1)}),!g||g.body||e.hasSyntacticModifier(g,128)||g.questionToken||ti(g),M1&&(A1&&(function(Gi,zi,Wo,Ms,Et){if((Ms^Et)!=0){var wt=TD(yn(Gi,zi),Wo);e.forEach(Gi,function(da){var Ya=TD(da,Wo)^wt;1&Ya?ht(e.getNameOfDeclaration(da),e.Diagnostics.Overload_signatures_must_all_be_exported_or_non_exported):2&Ya?ht(e.getNameOfDeclaration(da),e.Diagnostics.Overload_signatures_must_all_be_ambient_or_non_ambient):24&Ya?ht(e.getNameOfDeclaration(da)||da,e.Diagnostics.Overload_signatures_must_all_be_public_private_or_protected):128&Ya&&ht(e.getNameOfDeclaration(da),e.Diagnostics.Overload_signatures_must_all_be_abstract_or_non_abstract)})}}(A1,f,155,F,q),function(Gi,zi,Wo,Ms){if(Wo!==Ms){var Et=e.hasQuestionToken(yn(Gi,zi));e.forEach(Gi,function(wt){e.hasQuestionToken(wt)!==Et&&ht(e.getNameOfDeclaration(wt),e.Diagnostics.Overload_signatures_must_all_be_optional_or_required)})}}(A1,f,T0,u1)),f))for(var Ca=L2(r),Aa=xm(f),Qi=0,Oa=Ca;Qi<Oa.length;Qi++){var Ra=Oa[Qi];if(!T3(Aa,Ra)){e.addRelatedInfo(ht(Ra.declaration,e.Diagnostics.This_overload_signature_is_not_compatible_with_its_implementation_signature),e.createDiagnosticForNode(f,e.Diagnostics.The_implementation_signature_is_declared_here));break}}}function yn(Gi,zi){return zi!==void 0&&zi.parent===Gi[0].parent?zi:Gi[0]}function ti(Gi){if(!Gi.name||!e.nodeIsMissing(Gi.name)){var zi=!1,Wo=e.forEachChild(Gi.parent,function(da){if(zi)return da;zi=da===Gi});if(Wo&&Wo.pos===Gi.end&&Wo.kind===Gi.kind){var Ms=Wo.name||Wo,Et=Wo.name;if(Gi.name&&Et&&(e.isPrivateIdentifier(Gi.name)&&e.isPrivateIdentifier(Et)&&Gi.name.escapedText===Et.escapedText||e.isComputedPropertyName(Gi.name)&&e.isComputedPropertyName(Et)||e.isPropertyNameLiteral(Gi.name)&&e.isPropertyNameLiteral(Et)&&e.getEscapedTextOfIdentifierOrLiteral(Gi.name)===e.getEscapedTextOfIdentifierOrLiteral(Et))){(Gi.kind===166||Gi.kind===165)&&e.hasSyntacticModifier(Gi,32)!==e.hasSyntacticModifier(Wo,32)&&ht(Ms,e.hasSyntacticModifier(Gi,32)?e.Diagnostics.Function_overload_must_be_static:e.Diagnostics.Function_overload_must_not_be_static);return}if(e.nodeIsPresent(Wo.body))return void ht(Ms,e.Diagnostics.Function_implementation_name_must_be_0,e.declarationNameToString(Gi.name))}var wt=Gi.name||Gi;lx?ht(wt,e.Diagnostics.Constructor_implementation_is_missing):e.hasSyntacticModifier(Gi,128)?ht(wt,e.Diagnostics.All_declarations_of_an_abstract_method_must_be_consecutive):ht(wt,e.Diagnostics.Function_implementation_is_missing_or_not_immediately_following_the_declaration)}}}function H_(r){if($1){var f=r.localSymbol;if((f||(f=ms(r)).exportSymbol)&&e.getDeclarationOfKind(f,r.kind)===r){for(var g=0,E=0,F=0,q=0,T0=f.declarations;q<T0.length;q++){var u1=er(Ue=T0[q]),M1=TD(Ue,513);1&M1?512&M1?F|=u1:g|=u1:E|=u1}var A1=g&E,lx=F&(g|E);if(A1||lx)for(var Vx=0,ye=f.declarations;Vx<ye.length;Vx++){u1=er(Ue=ye[Vx]);var Ue,Ge=e.getNameOfDeclaration(Ue);u1&lx?ht(Ge,e.Diagnostics.Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_default_0_declaration_instead,e.declarationNameToString(Ge)):u1&A1&&ht(Ge,e.Diagnostics.Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local,e.declarationNameToString(Ge))}}}function er(Ar){var vr=Ar;switch(vr.kind){case 254:case 255:case 335:case 328:case 329:return 2;case 257:return e.isAmbientModule(vr)||e.getModuleInstanceState(vr)!==0?5:4;case 253:case 256:case 292:return 3;case 298:return 7;case 267:case 217:var Yt=vr,nn=e.isExportAssignment(Yt)?Yt.expression:Yt.right;if(!e.isEntityNameExpression(nn))return 1;vr=nn;case 261:case 264:case 263:var Nn=0,Ei=ui(ms(vr));return e.forEach(Ei.declarations,function(Ca){Nn|=er(Ca)}),Nn;case 250:case 199:case 252:case 266:case 78:return 1;default:return e.Debug.failBadSyntaxKind(vr)}}}function QI(r,f,g,E){var F=wy(r,f);return F&&h2(F,f,g,E)}function wy(r,f){if(!Vu(r)){var g=r;if(g.promisedTypeOfPromise)return g.promisedTypeOfPromise;if(hP(r,TR(!1)))return g.promisedTypeOfPromise=Cc(r)[0];var E=qc(r,\"then\");if(!Vu(E)){var F=E?_u(E,0):e.emptyArray;if(F.length!==0){var q=KS(Lo(e.map(F,Tg)),2097152);if(!Vu(q)){var T0=_u(q,0);if(T0.length!==0)return g.promisedTypeOfPromise=Lo(e.map(T0,Tg),2);f&&ht(f,e.Diagnostics.The_first_parameter_of_the_then_method_of_a_promise_must_be_a_callback)}}else f&&ht(f,e.Diagnostics.A_promise_must_have_a_then_method)}}}function i_(r,f,g,E){return h2(r,f,g,E)||ae}function h2(r,f,g,E){if(Vu(r))return r;var F=r;return F.awaitedTypeOfType?F.awaitedTypeOfType:F.awaitedTypeOfType=rf(r,f?function(q){return EM(q,f,g,E)}:EM)}function EM(r,f,g,E){var F=r;if(F.awaitedTypeOfType)return F.awaitedTypeOfType;var q=wy(r);if(q){if(r.id===q.id||LF.lastIndexOf(q.id)>=0)return void(f&&ht(f,e.Diagnostics.Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method));LF.push(r.id);var T0=h2(q,f,g,E);return LF.pop(),T0?F.awaitedTypeOfType=T0:void 0}if(!function(u1){var M1=qc(u1,\"then\");return!!M1&&_u(KS(M1,2097152),0).length>0}(r))return F.awaitedTypeOfType=r;if(f){if(!g)return e.Debug.fail();ht(f,g,E)}}function CU(r){var f=Ph(r);Sy(f,r);var g=yc(f);if(!(1&g.flags)){var E,F,q=qv(r);switch(r.parent.kind){case 253:E=Lo([Yo(ms(r.parent)),Ii]);break;case 161:E=Ii,F=e.chainDiagnosticMessages(void 0,e.Diagnostics.The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any);break;case 164:E=Ii,F=e.chainDiagnosticMessages(void 0,e.Diagnostics.The_return_type_of_a_property_decorator_function_must_be_either_void_or_any);break;case 166:case 168:case 169:E=Lo([KN(AP(r.parent)),Ii]);break;default:return e.Debug.fail()}Zd(g,E,r,q,function(){return F})}}function $C(r){if(r){var f=e.getFirstIdentifier(r),g=2097152|(r.kind===78?788968:1920),E=j6(f,f.escapedText,g,void 0,void 0,!0);E&&2097152&E.flags&&b_(E)&&!YN(ui(E))&&!Sf(E)&&DS(E)}}function b9(r){var f=ob(r);f&&e.isEntityName(f)&&$C(f)}function ob(r){if(r)switch(r.kind){case 184:case 183:return sb(r.types);case 185:return sb([r.trueType,r.falseType]);case 187:case 193:return ob(r.type);case 174:return r.typeName}}function sb(r){for(var f,g=0,E=r;g<E.length;g++){for(var F=E[g];F.kind===187||F.kind===193;)F=F.type;if(F.kind!==141&&(C1||(F.kind!==192||F.literal.kind!==103)&&F.kind!==150)){var q=ob(F);if(!q)return;if(f){if(!e.isIdentifier(f)||!e.isIdentifier(q)||f.escapedText!==q.escapedText)return}else f=q}}return f}function X7(r){var f=e.getEffectiveTypeAnnotationNode(r);return e.isRestParameter(r)?e.getRestParameterElementType(f):f}function ub(r){if(r.decorators&&e.nodeCanBeDecorated(r,r.parent,r.parent.parent)){V1.experimentalDecorators||ht(r,e.Diagnostics.Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_the_experimentalDecorators_option_in_your_tsconfig_or_jsconfig_to_remove_this_warning);var f=r.decorators[0];if(v6(f,8),r.kind===161&&v6(f,32),V1.emitDecoratorMetadata)switch(v6(f,16),r.kind){case 253:var g=e.getFirstConstructorWithBody(r);if(g)for(var E=0,F=g.parameters;E<F.length;E++)b9(X7(F[E]));break;case 168:case 169:var q=r.kind===168?169:168,T0=e.getDeclarationOfKind(ms(r),q);b9(p3(r)||T0&&p3(T0));break;case 166:for(var u1=0,M1=r.parameters;u1<M1.length;u1++)b9(X7(M1[u1]));b9(e.getEffectiveReturnTypeNode(r));break;case 164:b9(e.getEffectiveTypeAnnotationNode(r));break;case 161:b9(X7(r));for(var A1=0,lx=r.parent.parameters;A1<lx.length;A1++)b9(X7(lx[A1]))}e.forEach(r.decorators,CU)}}function ZI(r){switch(r.kind){case 78:return r;case 202:return r.name;default:return}}function cb(r){var f;ub(r),SD(r);var g=e.getFunctionFlags(r);if(r.name&&r.name.kind===159&&Tm(r.name),UI(r)){var E=ms(r),F=r.localSymbol||E,q=(f=F.declarations)===null||f===void 0?void 0:f.find(function(M1){return M1.kind===r.kind&&!(131072&M1.flags)});r===q&&wD(F),E.parent&&wD(E)}var T0=r.kind===165?void 0:r.body;if(Hu(T0),YR(r,_P(r)),$1&&!e.getEffectiveReturnTypeNode(r)&&(e.nodeIsMissing(T0)&&!mL(r)&&Mm(r,E1),1&g&&e.nodeIsPresent(T0)&&yc(xm(r))),e.isInJSFile(r)){var u1=e.getJSDocTypeTag(r);u1&&u1.typeExpression&&!Mv(Dc(u1.typeExpression),r)&&ht(u1.typeExpression.type,e.Diagnostics.The_type_of_a_function_declaration_must_match_the_function_s_signature)}}function Oh(r){if($1){var f=e.getSourceFileOfNode(r),g=nA.get(f.path);g||(g=[],nA.set(f.path,g)),g.push(r)}}function E2(r,f){for(var g=0,E=r;g<E.length;g++){var F=E[g];switch(F.kind){case 253:case 222:IE(F,f),ej(F,f);break;case 298:case 257:case 231:case 259:case 238:case 239:case 240:EU(F,f);break;case 167:case 209:case 252:case 210:case 166:case 168:case 169:F.body&&EU(F,f),ej(F,f);break;case 165:case 170:case 171:case 175:case 176:case 255:case 254:ej(F,f);break;case 186:lb(F,f);break;default:e.Debug.assertNever(F,\"Node should not have been registered for unused identifiers check\")}}}function Y7(r,f,g){var E=e.getNameOfDeclaration(r)||r,F=i3(r)?e.Diagnostics._0_is_declared_but_never_used:e.Diagnostics._0_is_declared_but_its_value_is_never_read;g(r,0,e.createDiagnosticForNode(E,F,f))}function _I(r){return e.isIdentifier(r)&&e.idText(r).charCodeAt(0)===95}function IE(r,f){for(var g=0,E=r.members;g<E.length;g++){var F=E[g];switch(F.kind){case 166:case 164:case 168:case 169:if(F.kind===169&&32768&F.symbol.flags)break;var q=ms(F);q.isReferenced||!(e.hasEffectiveModifier(F,8)||e.isNamedDeclaration(F)&&e.isPrivateIdentifier(F.name))||8388608&F.flags||f(F,0,e.createDiagnosticForNode(F.name,e.Diagnostics._0_is_declared_but_its_value_is_never_read,Is(q)));break;case 167:for(var T0=0,u1=F.parameters;T0<u1.length;T0++){var M1=u1[T0];!M1.symbol.isReferenced&&e.hasSyntacticModifier(M1,8)&&f(M1,0,e.createDiagnosticForNode(M1.name,e.Diagnostics.Property_0_is_declared_but_its_value_is_never_read,e.symbolName(M1.symbol)))}break;case 172:case 230:break;default:e.Debug.fail()}}}function lb(r,f){var g=r.typeParameter;fb(g)&&f(r,1,e.createDiagnosticForNode(r,e.Diagnostics._0_is_declared_but_its_value_is_never_read,e.idText(g.name)))}function ej(r,f){var g=ms(r).declarations;if(g&&e.last(g)===r)for(var E=e.getEffectiveTypeParameterDeclarations(r),F=new e.Set,q=0,T0=E;q<T0.length;q++){var u1=T0[q];if(fb(u1)){var M1=e.idText(u1.name),A1=u1.parent;if(A1.kind!==186&&A1.typeParameters.every(fb)){if(e.tryAddToSet(F,A1)){var lx=e.getSourceFileOfNode(A1),Vx=e.isJSDocTemplateTag(A1)?e.rangeOfNode(A1):e.rangeOfTypeParameters(lx,A1.typeParameters),ye=A1.typeParameters.length===1,Ue=ye?e.Diagnostics._0_is_declared_but_its_value_is_never_read:e.Diagnostics.All_type_parameters_are_unused,Ge=ye?M1:void 0;f(u1,1,e.createFileDiagnostic(lx,Vx.pos,Vx.end-Vx.pos,Ue,Ge))}}else f(u1,1,e.createDiagnosticForNode(u1,e.Diagnostics._0_is_declared_but_its_value_is_never_read,M1))}}}function fb(r){return!(262144&Xc(r.symbol).isReferenced||_I(r.name))}function dN(r,f,g,E){var F=String(E(f)),q=r.get(F);q?q[1].push(g):r.set(F,[f,[g]])}function KC(r){return e.tryCast(e.getRootDeclaration(r),e.isParameter)}function Z3(r){return e.isBindingElement(r)?e.isObjectBindingPattern(r.parent)?!(!r.propertyName||!_I(r.name)):_I(r.name):e.isAmbientModule(r)||(e.isVariableDeclaration(r)&&e.isForInOrOfStatement(r.parent.parent)||zC(r))&&_I(r.name)}function EU(r,f){var g=new e.Map,E=new e.Map,F=new e.Map;r.locals.forEach(function(q){var T0;if(!(262144&q.flags?!(3&q.flags)||3&q.isReferenced:q.isReferenced||q.exportSymbol)&&q.declarations)for(var u1=0,M1=q.declarations;u1<M1.length;u1++){var A1=M1[u1];if(!Z3(A1))if(zC(A1))dN(g,(T0=A1).kind===263?T0:T0.kind===264?T0.parent:T0.parent.parent,A1,t0);else if(e.isBindingElement(A1)&&e.isObjectBindingPattern(A1.parent))A1!==e.last(A1.parent.elements)&&e.last(A1.parent.elements).dotDotDotToken||dN(E,A1.parent,A1,t0);else if(e.isVariableDeclaration(A1))dN(F,A1.parent,A1,t0);else{var lx=q.valueDeclaration&&KC(q.valueDeclaration),Vx=q.valueDeclaration&&e.getNameOfDeclaration(q.valueDeclaration);lx&&Vx?e.isParameterPropertyDeclaration(lx,lx.parent)||e.parameterIsThisKeyword(lx)||_I(Vx)||(e.isBindingElement(A1)&&e.isArrayBindingPattern(A1.parent)?dN(E,A1.parent,A1,t0):f(lx,1,e.createDiagnosticForNode(Vx,e.Diagnostics._0_is_declared_but_its_value_is_never_read,e.symbolName(q)))):Y7(A1,e.symbolName(q),f)}}}),g.forEach(function(q){var T0=q[0],u1=q[1],M1=T0.parent;if((T0.name?1:0)+(T0.namedBindings?T0.namedBindings.kind===264?1:T0.namedBindings.elements.length:0)===u1.length)f(M1,0,u1.length===1?e.createDiagnosticForNode(M1,e.Diagnostics._0_is_declared_but_its_value_is_never_read,e.idText(e.first(u1).name)):e.createDiagnosticForNode(M1,e.Diagnostics.All_imports_in_import_declaration_are_unused));else for(var A1=0,lx=u1;A1<lx.length;A1++){var Vx=lx[A1];Y7(Vx,e.idText(Vx.name),f)}}),E.forEach(function(q){var T0=q[0],u1=q[1],M1=KC(T0.parent)?1:0;if(T0.elements.length===u1.length)u1.length===1&&T0.parent.kind===250&&T0.parent.parent.kind===251?dN(F,T0.parent.parent,T0.parent,t0):f(T0,M1,u1.length===1?e.createDiagnosticForNode(T0,e.Diagnostics._0_is_declared_but_its_value_is_never_read,Q7(e.first(u1).name)):e.createDiagnosticForNode(T0,e.Diagnostics.All_destructured_elements_are_unused));else for(var A1=0,lx=u1;A1<lx.length;A1++){var Vx=lx[A1];f(Vx,M1,e.createDiagnosticForNode(Vx,e.Diagnostics._0_is_declared_but_its_value_is_never_read,Q7(Vx.name)))}}),F.forEach(function(q){var T0=q[0],u1=q[1];if(T0.declarations.length===u1.length)f(T0,0,u1.length===1?e.createDiagnosticForNode(e.first(u1).name,e.Diagnostics._0_is_declared_but_its_value_is_never_read,Q7(e.first(u1).name)):e.createDiagnosticForNode(T0.parent.kind===233?T0.parent:T0,e.Diagnostics.All_variables_are_unused));else for(var M1=0,A1=u1;M1<A1.length;M1++){var lx=A1[M1];f(lx,0,e.createDiagnosticForNode(lx,e.Diagnostics._0_is_declared_but_its_value_is_never_read,Q7(lx.name)))}})}function Q7(r){switch(r.kind){case 78:return e.idText(r);case 198:case 197:return Q7(e.cast(e.first(r.elements),e.isBindingElement).name);default:return e.Debug.assertNever(r)}}function zC(r){return r.kind===263||r.kind===266||r.kind===264}function hL(r){if(r.kind===231&&a9(r),e.isFunctionOrModuleBlock(r)){var f=bp;e.forEach(r.statements,Hu),bp=f}else e.forEach(r.statements,Hu);r.locals&&Oh(r)}function mN(r,f,g){if(!f||f.escapedText!==g||r.kind===164||r.kind===163||r.kind===166||r.kind===165||r.kind===168||r.kind===169||8388608&r.flags)return!1;var E=e.getRootDeclaration(r);return E.kind!==161||!e.nodeIsMissing(E.parent.body)}function SU(r){e.findAncestor(r,function(f){return!!(4&lj(f))&&(r.kind!==78?ht(e.getNameOfDeclaration(r),e.Diagnostics.Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference):ht(r,e.Diagnostics.Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference),!0)})}function uK(r){e.findAncestor(r,function(f){return!!(8&lj(f))&&(r.kind!==78?ht(e.getNameOfDeclaration(r),e.Diagnostics.Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_meta_property_reference):ht(r,e.Diagnostics.Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta_property_reference),!0)})}function xC(r){67108864&lj(e.getEnclosingBlockScopeContainer(r))&&(e.Debug.assert(e.isNamedDeclaration(r)&&e.isIdentifier(r.name)&&typeof r.name.escapedText==\"string\",\"The target of a WeakMap/WeakSet collision check should be an identifier\"),rs(\"noEmit\",r,e.Diagnostics.Compiler_reserves_name_0_when_emitting_private_identifier_downlevel,r.name.escapedText))}function G_(r,f){if(!($x>=e.ModuleKind.ES2015)&&(mN(r,f,\"require\")||mN(r,f,\"exports\"))&&(!e.isModuleDeclaration(r)||e.getModuleInstanceState(r)===1)){var g=eu(r);g.kind===298&&e.isExternalOrCommonJsModule(g)&&rs(\"noEmit\",f,e.Diagnostics.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module,e.declarationNameToString(f),e.declarationNameToString(f))}}function X_(r,f){if(!(Ox>=4)&&mN(r,f,\"Promise\")&&(!e.isModuleDeclaration(r)||e.getModuleInstanceState(r)===1)){var g=eu(r);g.kind===298&&e.isExternalOrCommonJsModule(g)&&2048&g.flags&&rs(\"noEmit\",f,e.Diagnostics.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions,e.declarationNameToString(f),e.declarationNameToString(f))}}function QO(r){return r===qx?E1:r===mf?Nf:r}function kD(r){var f;if(ub(r),e.isBindingElement(r)||Hu(r.type),r.name){if(r.name.kind===159&&(Tm(r.name),r.initializer&&VC(r.initializer)),e.isBindingElement(r)){e.isObjectBindingPattern(r.parent)&&r.dotDotDotToken&&Ox<5&&v6(r,4),r.propertyName&&r.propertyName.kind===159&&Tm(r.propertyName);var g=r.parent.parent,E=Ac(g),F=r.propertyName||r.name;if(E&&!e.isBindingPattern(F)){var q=Rk(F);if(Pt(q)){var T0=ec(E,_m(q));T0&&(z9(T0,void 0,!1),qO(r,!!g.initializer&&g.initializer.kind===105,!1,E,T0))}}}if(e.isBindingPattern(r.name)&&(r.name.kind===198&&Ox<2&&V1.downlevelIteration&&v6(r,512),e.forEach(r.name.elements,Hu)),r.initializer&&e.isParameterDeclaration(r)&&e.nodeIsMissing(e.getContainingFunction(r).body))ht(r,e.Diagnostics.A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation);else if(e.isBindingPattern(r.name)){var u1=r.initializer&&r.parent.parent.kind!==239,M1=r.name.elements.length===0;if(u1||M1){var A1=oy(r);if(u1){var lx=VC(r.initializer);C1&&M1?P7(lx,r):tk(lx,oy(r),r,r.initializer)}M1&&(e.isArrayBindingPattern(r.name)?wm(65,A1,Gr,r):C1&&P7(A1,r))}}else{var Vx=ms(r);if(2097152&Vx.flags&&e.isRequireVariableDeclaration(r))xB(r);else{var ye=QO(Yo(Vx));if(r===Vx.valueDeclaration){var Ue=e.getEffectiveInitializer(r);Ue&&(e.isInJSFile(r)&&e.isObjectLiteralExpression(Ue)&&(Ue.properties.length===0||e.isPrototypeAccess(r.name))&&!!((f=Vx.exports)===null||f===void 0?void 0:f.size)||r.parent.parent.kind===239||tk(VC(Ue),ye,r,Ue,void 0)),Vx.declarations&&Vx.declarations.length>1&&e.some(Vx.declarations,function(er){return er!==r&&e.isVariableLike(er)&&!Z7(er,r)})&&ht(r.name,e.Diagnostics.All_declarations_of_0_must_have_identical_modifiers,e.declarationNameToString(r.name))}else{var Ge=QO(oy(r));ye===ae||Ge===ae||tm(ye,Ge)||67108864&Vx.flags||tj(Vx.valueDeclaration,ye,r,Ge),r.initializer&&tk(VC(r.initializer),Ge,r,r.initializer,void 0),Vx.valueDeclaration&&!Z7(r,Vx.valueDeclaration)&&ht(r.name,e.Diagnostics.All_declarations_of_0_must_have_identical_modifiers,e.declarationNameToString(r.name))}r.kind!==164&&r.kind!==163&&(H_(r),r.kind!==250&&r.kind!==199||function(er){if((3&e.getCombinedNodeFlags(er))==0&&!e.isParameterDeclaration(er)&&(er.kind!==250||er.initializer)){var Ar=ms(er);if(1&Ar.flags){if(!e.isIdentifier(er.name))return e.Debug.fail();var vr=j6(er,er.name.escapedText,3,void 0,void 0,!1);if(vr&&vr!==Ar&&2&vr.flags&&3&q_(vr)){var Yt=e.getAncestor(vr.valueDeclaration,251),nn=Yt.parent.kind===233&&Yt.parent.parent?Yt.parent.parent:void 0;if(!nn||!(nn.kind===231&&e.isFunctionLike(nn.parent)||nn.kind===258||nn.kind===257||nn.kind===298)){var Nn=Is(vr);ht(er,e.Diagnostics.Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1,Nn,Nn)}}}}}(r),G_(r,r.name),X_(r,r.name),Ox<99&&(mN(r,r.name,\"WeakMap\")||mN(r,r.name,\"WeakSet\"))&&Pf.push(r))}}}}function tj(r,f,g,E){var F=e.getNameOfDeclaration(g),q=g.kind===164||g.kind===163?e.Diagnostics.Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_type_2:e.Diagnostics.Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2,T0=e.declarationNameToString(F),u1=ht(F,q,T0,ka(f),ka(E));r&&e.addRelatedInfo(u1,e.createDiagnosticForNode(r,e.Diagnostics._0_was_also_declared_here,T0))}function Z7(r,f){return r.kind===161&&f.kind===250||r.kind===250&&f.kind===161?!0:e.hasQuestionToken(r)!==e.hasQuestionToken(f)?!1:e.getSelectedEffectiveModifierFlags(r,504)===e.getSelectedEffectiveModifierFlags(f,504)}function SP(r){e.tracing===null||e.tracing===void 0||e.tracing.push(\"check\",\"checkVariableDeclaration\",{kind:r.kind,pos:r.pos,end:r.end}),function(f){if(f.parent.parent.kind!==239&&f.parent.parent.kind!==240){if(8388608&f.flags)BM(f);else if(!f.initializer){if(e.isBindingPattern(f.name)&&!e.isBindingPattern(f.parent))return wo(f,e.Diagnostics.A_destructuring_declaration_must_have_an_initializer);if(e.isVarConst(f))return wo(f,e.Diagnostics.const_declarations_must_be_initialized)}}if(f.exclamationToken&&(f.parent.parent.kind!==233||!f.type||f.initializer||8388608&f.flags)){var g=f.initializer?e.Diagnostics.Declarations_with_initializers_cannot_also_have_definite_assignment_assertions:f.type?e.Diagnostics.A_definite_assignment_assertion_is_not_permitted_in_this_context:e.Diagnostics.Declarations_with_definite_assignment_assertions_must_also_have_type_annotations;return wo(f.exclamationToken,g)}var E=e.getEmitModuleKind(V1);E<e.ModuleKind.ES2015&&E!==e.ModuleKind.System&&!(8388608&f.parent.parent.flags)&&e.hasSyntacticModifier(f.parent.parent,1)&&LM(f.name),(e.isLet(f)||e.isVarConst(f))&&gj(f.name)}(r),kD(r),e.tracing===null||e.tracing===void 0||e.tracing.pop()}function cK(r){return function(f){if(f.dotDotDotToken){var g=f.parent.elements;if(f!==e.last(g))return wo(f,e.Diagnostics.A_rest_element_must_be_last_in_a_destructuring_pattern);if(i9(g,e.Diagnostics.A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma),f.propertyName)return wo(f.name,e.Diagnostics.A_rest_element_cannot_have_a_property_name)}f.dotDotDotToken&&f.initializer&&rh(f,f.initializer.pos-1,1,e.Diagnostics.A_rest_element_cannot_have_an_initializer)}(r),kD(r)}function OE(r){J9(r)||QN(r.declarationList)||function(f){if(!MM(f.parent)){if(e.isLet(f.declarationList))return wo(f,e.Diagnostics.let_declarations_can_only_be_declared_inside_a_block);e.isVarConst(f.declarationList)&&wo(f,e.Diagnostics.const_declarations_can_only_be_declared_inside_a_block)}}(r),e.forEach(r.declarationList.declarations,Hu)}function Kd(r,f,g){if(C1&&!MF(f)){var E=e.isBinaryExpression(r)?r.right:r,F=e.isIdentifier(E)?E:e.isPropertyAccessExpression(E)?E.name:e.isBinaryExpression(E)&&e.isIdentifier(E.right)?E.right:void 0,q=e.isPropertyAccessExpression(E)&&e.isAssertionExpression(e.skipParentheses(E.expression));if(F&&!q){var T0=_u(f,0),u1=!!QI(f);if(T0.length!==0||u1){var M1=Ce(F);M1&&(e.isBinaryExpression(r.parent)&&function(A1,lx){for(;e.isBinaryExpression(A1)&&A1.operatorToken.kind===55;){if(e.forEachChild(A1.right,function Vx(ye){if(e.isIdentifier(ye)){var Ue=Ce(ye);if(Ue&&Ue===lx)return!0}return e.forEachChild(ye,Vx)}))return!0;A1=A1.parent}return!1}(r.parent,M1)||g&&function(A1,lx,Vx,ye){return!!e.forEachChild(lx,function Ue(Ge){if(e.isIdentifier(Ge)){var er=Ce(Ge);if(er&&er===ye){if(e.isIdentifier(A1))return!0;for(var Ar=Vx.parent,vr=Ge.parent;Ar&&vr;){if(e.isIdentifier(Ar)&&e.isIdentifier(vr)||Ar.kind===107&&vr.kind===107)return Ce(Ar)===Ce(vr);if(e.isPropertyAccessExpression(Ar)&&e.isPropertyAccessExpression(vr)){if(Ce(Ar.name)!==Ce(vr.name))return!1;vr=vr.expression,Ar=Ar.expression}else{if(!e.isCallExpression(Ar)||!e.isCallExpression(vr))return!1;vr=vr.expression,Ar=Ar.expression}}}}return e.forEachChild(Ge,Ue)})}(r,g,F,M1)||(u1?Ab(E,!0,e.Diagnostics.This_condition_will_always_return_true_since_this_0_is_always_defined,x9(f)):ht(E,e.Diagnostics.This_condition_will_always_return_true_since_this_function_is_always_defined_Did_you_mean_to_call_it_instead)))}}}}function pb(r,f){return 16384&r.flags&&ht(f,e.Diagnostics.An_expression_of_type_void_cannot_be_tested_for_truthiness),r}function Bh(r,f){return pb(Js(r,f),r)}function BE(r){nB(r);var f=zv(Js(r.expression));if(r.initializer.kind===251){var g=r.initializer.declarations[0];g&&e.isBindingPattern(g.name)&&ht(g.name,e.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern),SM(r)}else{var E=r.initializer,F=Js(E);E.kind===200||E.kind===201?ht(E,e.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern):cc(function(q){var T0=Qb(Ck(q));return 131072&T0.flags?l1:T0}(f),F)?Fy(E,e.Diagnostics.The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access,e.Diagnostics.The_left_hand_side_of_a_for_in_statement_may_not_be_an_optional_property_access):ht(E,e.Diagnostics.The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any)}f!==Mn&&Q6(f,126091264)||ht(r.expression,e.Diagnostics.The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_here_has_type_0,ka(f)),Hu(r.statement),r.locals&&Oh(r)}function SM(r){var f=r.initializer;f.declarations.length>=1&&SP(f.declarations[0])}function db(r){return wm(r.awaitModifier?15:13,fN(r.expression),Gr,r.expression)}function wm(r,f,g,E){return Vu(f)?f:ND(r,f,g,E,!0)||E1}function ND(r,f,g,E,F){var q=(2&r)!=0;if(f!==Mn){var T0=Ox>=2,u1=!T0&&V1.downlevelIteration,M1=V1.noUncheckedIndexedAccess&&!!(128&r);if(T0||u1||q){var A1=kg(f,r,T0?E:void 0);if(F&&A1){var lx=8&r?e.Diagnostics.Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_for_of_will_always_send_0:32&r?e.Diagnostics.Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_spread_will_always_send_0:64&r?e.Diagnostics.Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_destructuring_will_always_send_0:16&r?e.Diagnostics.Cannot_delegate_iteration_to_value_because_the_next_method_of_its_iterator_expects_type_1_but_the_containing_generator_will_always_send_0:void 0;lx&&Zd(g,A1.nextType,E,lx)}if(A1||T0)return M1?Qg(A1&&A1.yieldType):A1&&A1.yieldType}var Vx=f,ye=!1,Ue=!1;if(4&r){if(1048576&Vx.flags){var Ge=f.types,er=e.filter(Ge,function(nn){return!(402653316&nn.flags)});er!==Ge&&(Vx=Lo(er,2))}else 402653316&Vx.flags&&(Vx=Mn);if((Ue=Vx!==f)&&(Ox<1&&E&&(ht(E,e.Diagnostics.Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher),ye=!0),131072&Vx.flags))return M1?Qg(l1):l1}if(!uw(Vx)){if(E&&!ye){var Ar=function(nn,Nn){var Ei;return Nn?nn?[e.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator,!0]:[e.Diagnostics.Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator,!0]:FM(r,0,f,void 0)?[e.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type_Use_compiler_option_downlevelIteration_to_allow_iterating_of_iterators,!1]:function(Ca){switch(Ca){case\"Float32Array\":case\"Float64Array\":case\"Int16Array\":case\"Int32Array\":case\"Int8Array\":case\"NodeList\":case\"Uint16Array\":case\"Uint32Array\":case\"Uint8Array\":case\"Uint8ClampedArray\":return!0}return!1}((Ei=f.symbol)===null||Ei===void 0?void 0:Ei.escapedName)?[e.Diagnostics.Type_0_can_only_be_iterated_through_when_using_the_downlevelIteration_flag_or_with_a_target_of_es2015_or_higher,!0]:nn?[e.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type,!0]:[e.Diagnostics.Type_0_is_not_an_array_type,!0]}(!!(4&r)&&!Ue,u1),vr=Ar[0];Ab(E,Ar[1]&&!!QI(Vx),vr,ka(Vx))}return Ue?M1?Qg(l1):l1:void 0}var Yt=Ff(Vx,1);return Ue&&Yt?402653316&Yt.flags&&!V1.noUncheckedIndexedAccess?l1:Lo(M1?[Yt,l1,Gr]:[Yt,l1],2):128&r?Qg(Yt):Yt}AM(E,f,q)}function FM(r,f,g,E){if(!Vu(g)){var F=kg(g,r,E);return F&&F[h1(f)]}}function om(r,f,g){if(r===void 0&&(r=Mn),f===void 0&&(f=Mn),g===void 0&&(g=ut),67359327&r.flags&&180227&f.flags&&180227&g.flags){var E=Ud([r,f,g]),F=hC.get(E);return F||(F={yieldType:r,returnType:f,nextType:g},hC.set(E,F)),F}return{yieldType:r,returnType:f,nextType:g}}function mb(r){for(var f,g,E,F=0,q=r;F<q.length;F++){var T0=q[F];if(T0!==void 0&&T0!==_o){if(T0===ol)return ol;f=e.append(f,T0.yieldType),g=e.append(g,T0.returnType),E=e.append(E,T0.nextType)}}return f||g||E?om(f&&Lo(f),g&&Lo(g),E&&Kc(E)):_o}function wg(r,f){return r[f]}function zd(r,f,g){return r[f]=g}function kg(r,f,g){if(Vu(r))return ol;if(!(1048576&r.flags)){var E=xe(r,f,g);return E===_o?void(g&&AM(g,r,!!(2&f))):E}var F,q=2&f?\"iterationTypesOfAsyncIterable\":\"iterationTypesOfIterable\",T0=wg(r,q);if(T0)return T0===_o?void 0:T0;for(var u1=0,M1=r.types;u1<M1.length;u1++){var A1=xe(M1[u1],f,g);if(A1===_o)return g&&AM(g,r,!!(2&f)),void zd(r,q,_o);F=e.append(F,A1)}var lx=F?mb(F):_o;return zd(r,q,lx),lx===_o?void 0:lx}function PD(r,f){if(r===_o)return _o;if(r===ol)return ol;var g=r.yieldType,E=r.returnType,F=r.nextType;return om(h2(g,f)||E1,h2(E,f)||E1,F)}function xe(r,f,g){if(Vu(r))return ol;var E;if(2&f&&(E=hb(r,uc)||OD(r,uc)))return E;if(1&f&&(E=hb(r,Fl)||OD(r,Fl))){if(!(2&f))return E;if(E!==_o)return zd(r,\"iterationTypesOfAsyncIterable\",PD(E,g))}return 2&f&&(E=sc(r,uc,g))!==_o?E:1&f&&(E=sc(r,Fl,g))!==_o?2&f?zd(r,\"iterationTypesOfAsyncIterable\",E?PD(E,g):_o):E:_o}function hb(r,f){return wg(r,f.iterableCacheKey)}function ID(r,f){var g=hb(r,f)||sc(r,f,void 0);return g===_o?_l:g}function OD(r,f){var g;if(hP(r,g=f.getGlobalIterableType(!1))||hP(r,g=f.getGlobalIterableIteratorType(!1))){var E=Cc(r)[0],F=ID(g,f),q=F.returnType,T0=F.nextType;return zd(r,f.iterableCacheKey,om(E,q,T0))}if(hP(r,f.getGlobalGeneratorType(!1))){var u1=Cc(r);return E=u1[0],q=u1[1],T0=u1[2],zd(r,f.iterableCacheKey,om(E,q,T0))}}function sc(r,f,g){var E,F,q,T0,u1=ec(r,(F=f.iteratorSymbolName,q=zB(!1),(T0=q&&qc(Yo(q),e.escapeLeadingUnderscores(F)))&&Pt(T0)?_m(T0):\"__@\"+F)),M1=!u1||16777216&u1.flags?void 0:Yo(u1);if(Vu(M1))return zd(r,f.iterableCacheKey,ol);var A1=M1?_u(M1,0):void 0;if(!e.some(A1))return zd(r,f.iterableCacheKey,_o);var lx=(E=WC(Kc(e.map(A1,yc)),f,g))!==null&&E!==void 0?E:_o;return zd(r,f.iterableCacheKey,lx)}function AM(r,f,g){var E=g?e.Diagnostics.Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator:e.Diagnostics.Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator;Ab(r,!!QI(f),E,ka(f))}function WC(r,f,g){if(Vu(r))return ol;var E=x3(r,f)||function(F,q){var T0=q.getGlobalIterableIteratorType(!1);if(hP(F,T0)){var u1=Cc(F)[0],M1=x3(T0,q)||e3(T0,q,void 0),A1=M1===_o?_l:M1,lx=A1.returnType,Vx=A1.nextType;return zd(F,q.iteratorCacheKey,om(u1,lx,Vx))}if(hP(F,q.getGlobalIteratorType(!1))||hP(F,q.getGlobalGeneratorType(!1))){var ye=Cc(F);return u1=ye[0],lx=ye[1],Vx=ye[2],zd(F,q.iteratorCacheKey,om(u1,lx,Vx))}}(r,f)||e3(r,f,g);return E===_o?void 0:E}function x3(r,f){return wg(r,f.iteratorCacheKey)}function LE(r,f){var g=qc(r,\"done\")||Pe;return cc(f===0?Pe:Kr,g)}function eC(r){return LE(r,0)}function tC(r){return LE(r,1)}function RV(r){if(Vu(r))return ol;var f,g=wg(r,\"iterationTypesOfIteratorResult\");if(g)return g;if(hP(r,(f=!1,rl||(rl=Kf(\"IteratorYieldResult\",1,f))||rc)))return zd(r,\"iterationTypesOfIteratorResult\",om(Cc(r)[0],void 0,void 0));if(hP(r,function(u1){return tA||(tA=Kf(\"IteratorReturnResult\",1,u1))||rc}(!1)))return zd(r,\"iterationTypesOfIteratorResult\",om(void 0,Cc(r)[0],void 0));var E=aA(r,eC),F=E!==Mn?qc(E,\"value\"):void 0,q=aA(r,tC),T0=q!==Mn?qc(q,\"value\"):void 0;return zd(r,\"iterationTypesOfIteratorResult\",F||T0?om(F,T0||Ii,void 0):_o)}function TM(r,f,g,E){var F,q,T0,u1,M1=ec(r,g);if(M1||g===\"next\"){var A1=!M1||g===\"next\"&&16777216&M1.flags?void 0:g===\"next\"?Yo(M1):KS(Yo(M1),2097152);if(Vu(A1))return g===\"next\"?ol:Fc;var lx,Vx,ye,Ue,Ge,er=A1?_u(A1,0):e.emptyArray;if(er.length===0)return E&&ht(E,g===\"next\"?f.mustHaveANextMethodDiagnostic:f.mustBeAMethodDiagnostic,g),g===\"next\"?ol:void 0;if((A1==null?void 0:A1.symbol)&&er.length===1){var Ar=f.getGlobalGeneratorType(!1),vr=f.getGlobalIteratorType(!1),Yt=((q=(F=Ar.symbol)===null||F===void 0?void 0:F.members)===null||q===void 0?void 0:q.get(g))===A1.symbol,nn=!Yt&&((u1=(T0=vr.symbol)===null||T0===void 0?void 0:T0.members)===null||u1===void 0?void 0:u1.get(g))===A1.symbol;if(Yt||nn){var Nn=Yt?Ar:vr,Ei=A1.mapper;return om(Lm(Nn.typeParameters[0],Ei),Lm(Nn.typeParameters[1],Ei),g===\"next\"?Lm(Nn.typeParameters[2],Ei):void 0)}}for(var Ca=0,Aa=er;Ca<Aa.length;Ca++){var Qi=Aa[Ca];g!==\"throw\"&&e.some(Qi.parameters)&&(lx=e.append(lx,p5(Qi,0))),Vx=e.append(Vx,yc(Qi))}if(g!==\"throw\"){var Oa=lx?Lo(lx):ut;if(g===\"next\")Ue=Oa;else if(g===\"return\"){var Ra=f.resolveIterationType(Oa,E)||E1;ye=e.append(ye,Ra)}}var yn=Vx?Kc(Vx):Mn,ti=RV(f.resolveIterationType(yn,E)||E1);return ti===_o?(E&&ht(E,f.mustHaveAValueDiagnostic,g),Ge=E1,ye=e.append(ye,E1)):(Ge=ti.yieldType,ye=e.append(ye,ti.returnType)),om(Ge,Lo(ye),Ue)}}function e3(r,f,g){var E=mb([TM(r,f,\"next\",g),TM(r,f,\"return\",g),TM(r,f,\"throw\",g)]);return zd(r,f.iteratorCacheKey,E)}function Y_(r,f,g){if(!Vu(f)){var E=wM(f,g);return E&&E[h1(r)]}}function wM(r,f){if(Vu(r))return ol;var g=f?uc:Fl;return kg(r,f?2:1,void 0)||WC(r,g,void 0)}function rj(r){a9(r)||function(f){for(var g=f;g;){if(e.isFunctionLike(g))return wo(f,e.Diagnostics.Jump_target_cannot_cross_function_boundary);switch(g.kind){case 246:if(f.label&&g.label.escapedText===f.label.escapedText)return f.kind===241&&!e.isIterationStatement(g.statement,!0)&&wo(f,e.Diagnostics.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement);break;case 245:if(f.kind===242&&!f.label)return!1;break;default:if(e.isIterationStatement(g,!1)&&!f.label)return!1}g=g.parent}f.label?wo(f,f.kind===242?e.Diagnostics.A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement:e.Diagnostics.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement):wo(f,f.kind===242?e.Diagnostics.A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement:e.Diagnostics.A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement)}(r)}function BD(r,f){var g,E,F=!!(2&f);return 1&f?(g=Y_(1,r,F))!==null&&g!==void 0?g:ae:F?(E=h2(r))!==null&&E!==void 0?E:ae:r}function ZO(r,f){var g=BD(f,e.getFunctionFlags(r));return!!g&&yl(g,16387)}function rC(r){a9(r)||e.isIdentifier(r.expression)&&!r.expression.escapedText&&function(f,g,E,F,q){var T0=e.getSourceFileOfNode(f);if(!HA(T0)){var u1=e.getSpanOfTokenAtPosition(T0,f.pos);return Ku.add(e.createFileDiagnostic(T0,e.textSpanEnd(u1),0,g,E,F,q)),!0}}(r,e.Diagnostics.Line_break_not_permitted_here),r.expression&&Js(r.expression)}function nC(r,f){var g,E,F,q,T0,u1=uN(f?(g=r.symbol)===null||g===void 0?void 0:g.exports:(E=r.symbol)===null||E===void 0?void 0:E.members,1),M1=uN(f?(F=r.symbol)===null||F===void 0?void 0:F.exports:(q=r.symbol)===null||q===void 0?void 0:q.members,0),A1=Ff(r,0),lx=Ff(r,1);if(A1||lx){e.forEach(Gm(r),function(Yt){if(!(f&&4194304&Yt.flags)){var nn=Yo(Yt);vr(Yt,nn,r,M1,A1,0),vr(Yt,nn,r,u1,lx,1)}});var Vx=r.symbol.valueDeclaration;if(1&e.getObjectFlags(r)&&Vx&&e.isClassLike(Vx))for(var ye=0,Ue=Vx.members;ye<Ue.length;ye++){var Ge=Ue[ye];if(!e.hasSyntacticModifier(Ge,32)&&!UI(Ge)){var er=ms(Ge),Ar=Yo(er);vr(er,Ar,r,M1,A1,0),vr(er,Ar,r,u1,lx,1)}}}A1&&lx&&!(T0=u1||M1)&&2&e.getObjectFlags(r)&&(T0=e.forEach(bk(r),function(Yt){return Ff(Yt,0)&&Ff(Yt,1)})||!r.symbol.declarations?void 0:r.symbol.declarations[0]);function vr(Yt,nn,Nn,Ei,Ca,Aa){if(Ca&&!e.isKnownSymbol(Yt)){var Qi=Yt.valueDeclaration,Oa=Qi&&e.getNameOfDeclaration(Qi);if((!Oa||!e.isPrivateIdentifier(Oa))&&(Aa!==1||(Oa?Am(Oa):nd(Yt.escapedName)))){var Ra;Qi&&Oa&&(Qi.kind===217||Oa.kind===159||Yt.parent===Nn.symbol)?Ra=Qi:Ei?Ra=Ei:2&e.getObjectFlags(Nn)&&(Ra=e.forEach(bk(Nn),function(yn){return j9(yn,Yt.escapedName)&&Ff(yn,Aa)})||!Nn.symbol.declarations?void 0:Nn.symbol.declarations[0]),Ra&&!cc(nn,Ca)&&ht(Ra,Aa===0?e.Diagnostics.Property_0_of_type_1_is_not_assignable_to_string_index_type_2:e.Diagnostics.Property_0_of_type_1_is_not_assignable_to_numeric_index_type_2,Is(Yt),ka(nn),ka(Ca))}}}T0&&!cc(lx,A1)&&ht(T0,e.Diagnostics.Numeric_index_type_0_is_not_assignable_to_string_index_type_1,ka(lx),ka(A1))}function a_(r,f){switch(r.escapedText){case\"any\":case\"unknown\":case\"never\":case\"number\":case\"bigint\":case\"boolean\":case\"string\":case\"symbol\":case\"void\":case\"object\":ht(r,f,r.escapedText)}}function LD(r){if(r)for(var f=!1,g=0;g<r.length;g++){var E=r[g];if(CM(E),$1){E.default?(f=!0,lK(E.default,r,g)):f&&ht(E,e.Diagnostics.Required_type_parameters_may_not_follow_optional_type_parameters);for(var F=0;F<g;F++)r[F].symbol===E.symbol&&ht(E.name,e.Diagnostics.Duplicate_identifier_0,e.declarationNameToString(E.name))}}}function lK(r,f,g){(function E(F){if(F.kind===174){var q=av(F);if(262144&q.flags)for(var T0=g;T0<f.length;T0++)q.symbol===ms(f[T0])&&ht(F,e.Diagnostics.Type_parameter_defaults_can_only_reference_previously_declared_type_parameters)}e.forEachChild(F,E)})(r)}function qC(r){if(!r.declarations||r.declarations.length!==1){var f=Zo(r);if(!f.typeParametersChecked){f.typeParametersChecked=!0;var g=function(T0){return e.filter(T0.declarations,function(u1){return u1.kind===253||u1.kind===254})}(r);if(!g||g.length<=1)return;if(!function(T0,u1){for(var M1=e.length(u1),A1=Aw(u1),lx=0,Vx=T0;lx<Vx.length;lx++){var ye=Vx[lx],Ue=e.getEffectiveTypeParameterDeclarations(ye),Ge=Ue.length;if(Ge<A1||Ge>M1)return!1;for(var er=0;er<Ge;er++){var Ar=Ue[er],vr=u1[er];if(Ar.name.escapedText!==vr.symbol.escapedName)return!1;var Yt=e.getEffectiveConstraintOfTypeParameter(Ar),nn=Yt&&Dc(Yt),Nn=_d(vr);if(nn&&Nn&&!tm(nn,Nn))return!1;var Ei=Ar.default&&Dc(Ar.default),Ca=$N(vr);if(Ei&&Ca&&!tm(Ei,Ca))return!1}}return!0}(g,Il(r).localTypeParameters))for(var E=Is(r),F=0,q=g;F<q.length;F++)ht(q[F].name,e.Diagnostics.All_declarations_of_0_must_have_identical_type_parameters,E)}}}function nj(r){(function(Ei){var Ca=e.getSourceFileOfNode(Ei);(function(Aa){var Qi=!1,Oa=!1;if(!J9(Aa)&&Aa.heritageClauses)for(var Ra=0,yn=Aa.heritageClauses;Ra<yn.length;Ra++){var ti=yn[Ra];if(ti.token===93){if(Qi)return zS(ti,e.Diagnostics.extends_clause_already_seen);if(Oa)return zS(ti,e.Diagnostics.extends_clause_must_precede_implements_clause);if(ti.types.length>1)return zS(ti.types[1],e.Diagnostics.Classes_can_only_extend_a_single_class);Qi=!0}else{if(e.Debug.assert(ti.token===116),Oa)return zS(ti,e.Diagnostics.implements_clause_already_seen);Oa=!0}PU(ti)}})(Ei)||vK(Ei.typeParameters,Ca)})(r),ub(r),r.name&&(a_(r.name,e.Diagnostics.Class_name_cannot_be_0),G_(r,r.name),X_(r,r.name),8388608&r.flags||function(Ei){Ox===1&&Ei.escapedText===\"Object\"&&$x<e.ModuleKind.ES2015&&ht(Ei,e.Diagnostics.Class_name_cannot_be_Object_when_targeting_ES5_with_module_0,e.ModuleKind[$x])}(r.name)),LD(e.getEffectiveTypeParameterDeclarations(r)),H_(r);var f=ms(r),g=Il(f),E=Fw(g),F=Yo(f);qC(f),wD(f),function(Ei){for(var Ca=new e.Map,Aa=new e.Map,Qi=new e.Map,Oa=0,Ra=Ei.members;Oa<Ra.length;Oa++){var yn=Ra[Oa];if(yn.kind===167)for(var ti=0,Gi=yn.parameters;ti<Gi.length;ti++){var zi=Gi[ti];e.isParameterPropertyDeclaration(zi,yn)&&!e.isBindingPattern(zi.name)&&Da(Ca,zi.name,zi.name.escapedText,3)}else{var Wo=e.hasSyntacticModifier(yn,32),Ms=yn.name;if(!Ms)continue;var Et=e.isPrivateIdentifier(Ms),wt=Et&&Wo?16:0,da=Et?Qi:Wo?Aa:Ca,Ya=Ms&&e.getPropertyNameForPropertyNameNode(Ms);if(Ya)switch(yn.kind){case 168:Da(da,Ms,Ya,1|wt);break;case 169:Da(da,Ms,Ya,2|wt);break;case 164:Da(da,Ms,Ya,3|wt);break;case 166:Da(da,Ms,Ya,8|wt)}}}function Da(fr,rt,di,Wt){var dn=fr.get(di);if(dn)if((16&dn)!=(16&Wt))ht(rt,e.Diagnostics.Duplicate_identifier_0_Static_and_instance_elements_cannot_share_the_same_private_name,e.getTextOfNode(rt));else{var Si=!!(8&dn),yi=!!(8&Wt);Si||yi?Si!==yi&&ht(rt,e.Diagnostics.Duplicate_identifier_0,e.getTextOfNode(rt)):dn&Wt&-17?ht(rt,e.Diagnostics.Duplicate_identifier_0,e.getTextOfNode(rt)):fr.set(di,dn|Wt)}else fr.set(di,Wt)}}(r),!!(8388608&r.flags)||function(Ei){for(var Ca=0,Aa=Ei.members;Ca<Aa.length;Ca++){var Qi=Aa[Ca],Oa=Qi.name;if(e.hasSyntacticModifier(Qi,32)&&Oa){var Ra=e.getPropertyNameForPropertyNameNode(Oa);switch(Ra){case\"name\":case\"length\":case\"caller\":case\"arguments\":case\"prototype\":ht(Oa,e.Diagnostics.Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1,Ra,fg(ms(Ei)))}}}}(r);var q=e.getEffectiveBaseTypeNode(r);if(q){e.forEach(q.typeArguments,Hu),Ox<2&&v6(q.parent,1);var T0=e.getClassExtendsHeritageElement(r);T0&&T0!==q&&Js(T0.expression);var u1=bk(g);if(u1.length&&$1){var M1=u1[0],A1=Jm(g),lx=S4(A1);if(function(Ei,Ca){var Aa=_u(Ei,1);if(Aa.length){var Qi=Aa[0].declaration;Qi&&e.hasEffectiveModifier(Qi,8)&&(uj(Ca,e.getClassLikeDeclarationOfSymbol(Ei.symbol))||ht(Ca,e.Diagnostics.Cannot_extend_a_class_0_Class_constructor_is_marked_as_private,qA(Ei.symbol)))}}(lx,q),Hu(q.expression),e.some(q.typeArguments)){e.forEach(q.typeArguments,Hu);for(var Vx=0,ye=kb(lx,q.typeArguments,q);Vx<ye.length&&Ty(q,ye[Vx].typeParameters);Vx++);}if(Zd(E,nn=Fw(M1,g.thisType),void 0)?Zd(F,G$(lx),r.name||r,e.Diagnostics.Class_static_side_0_incorrectly_extends_base_class_static_side_1):ij(r,E,nn,e.Diagnostics.Class_0_incorrectly_extends_base_class_1),8650752&A1.flags&&(T_(F)?_u(A1,1).some(function(Ei){return 4&Ei.flags})&&!e.hasSyntacticModifier(r,128)&&ht(r.name||r,e.Diagnostics.A_mixin_class_that_extends_from_a_type_variable_containing_an_abstract_construct_signature_must_also_be_declared_abstract):ht(r.name||r,e.Diagnostics.A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any)),!(lx.symbol&&32&lx.symbol.flags||8650752&A1.flags)){var Ue=JD(lx,q.typeArguments,q);e.forEach(Ue,function(Ei){return!am(Ei.declaration)&&!tm(yc(Ei),M1)})&&ht(q.expression,e.Diagnostics.Base_constructors_must_all_have_the_same_return_type)}(function(Ei,Ca){var Aa,Qi,Oa=$c(Ca);x:for(var Ra=0,yn=Oa;Ra<yn.length;Ra++){var ti=yn[Ra],Gi=GN(ti);if(!(4194304&Gi.flags)){var zi=j9(Ei,Gi.escapedName);if(zi){var Wo=GN(zi),Ms=e.getDeclarationModifierFlagsFromSymbol(Gi);if(e.Debug.assert(!!Wo,\"derived should point to something, even if it is the base class' declaration.\"),Wo===Gi){var Et=e.getClassLikeDeclarationOfSymbol(Ei.symbol);if(128&Ms&&(!Et||!e.hasSyntacticModifier(Et,128))){for(var wt=0,da=bk(Ei);wt<da.length;wt++){var Ya=da[wt];if(Ya!==Ca){var Da=j9(Ya,Gi.escapedName),fr=Da&&GN(Da);if(fr&&fr!==Gi)continue x}}Et.kind===222?ht(Et,e.Diagnostics.Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1,Is(ti),ka(Ca)):ht(Et,e.Diagnostics.Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2,ka(Ei),Is(ti),ka(Ca))}}else{var rt=e.getDeclarationModifierFlagsFromSymbol(Wo);if(8&Ms||8&rt)continue;var di=void 0,Wt=98308&Gi.flags,dn=98308&Wo.flags;if(Wt&&dn){if(128&Ms&&!(Gi.valueDeclaration&&e.isPropertyDeclaration(Gi.valueDeclaration)&&Gi.valueDeclaration.initializer)||Gi.valueDeclaration&&Gi.valueDeclaration.parent.kind===254||Wo.valueDeclaration&&e.isBinaryExpression(Wo.valueDeclaration))continue;var Si=Wt!==4&&dn===4;if(Si||Wt===4&&dn!==4){var yi=Si?e.Diagnostics._0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property:e.Diagnostics._0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor;ht(e.getNameOfDeclaration(Wo.valueDeclaration)||Wo.valueDeclaration,yi,Is(Gi),ka(Ca),ka(Ei))}else if(rx){var l=(Aa=Wo.declarations)===null||Aa===void 0?void 0:Aa.find(function(Oo){return Oo.kind===164&&!Oo.initializer});if(l&&!(33554432&Wo.flags)&&!(128&Ms)&&!(128&rt)&&!((Qi=Wo.declarations)===null||Qi===void 0?void 0:Qi.some(function(Oo){return!!(8388608&Oo.flags)}))){var z=zD(e.getClassLikeDeclarationOfSymbol(Ei.symbol)),zr=l.name;if(l.exclamationToken||!z||!e.isIdentifier(zr)||!C1||!oj(zr,Ei,z)){var re=e.Diagnostics.Property_0_will_overwrite_the_base_property_in_1_If_this_is_intentional_add_an_initializer_Otherwise_add_a_declare_modifier_or_remove_the_redundant_declaration;ht(e.getNameOfDeclaration(Wo.valueDeclaration)||Wo.valueDeclaration,re,Is(Gi),ka(Ca))}}}continue}if(Kv(Gi)){if(Kv(Wo)||4&Wo.flags)continue;e.Debug.assert(!!(98304&Wo.flags)),di=e.Diagnostics.Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_accessor}else di=98304&Gi.flags?e.Diagnostics.Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_function:e.Diagnostics.Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_function;ht(e.getNameOfDeclaration(Wo.valueDeclaration)||Wo.valueDeclaration,di,ka(Ca),Is(Gi),ka(Ei))}}}}})(g,M1)}}(function(Ei,Ca,Aa,Qi){for(var Oa=!!(8388608&Ei.flags),Ra=e.getEffectiveBaseTypeNode(Ei)&&bk(Ca),yn=(Ra==null?void 0:Ra.length)?Fw(e.first(Ra),Ca.thisType):void 0,ti=Jm(Ca),Gi=function(Et){if(e.hasAmbientModifier(Et))return\"continue\";e.isConstructorDeclaration(Et)&&e.forEach(Et.parameters,function(wt){e.isParameterPropertyDeclaration(wt,Et)&&Ms(wt,!0)}),Ms(Et)},zi=0,Wo=Ei.members;zi<Wo.length;zi++)Gi(Wo[zi]);function Ms(Et,wt){var da=e.hasOverrideModifier(Et),Ya=e.hasStaticModifier(Et);if(yn&&(da||V1.noImplicitOverride)){var Da=Et.name&&Ce(Et.name)||Ce(Et);if(!Da)return;var fr=Ya?ti:yn,rt=ec(Ya?Qi:Aa,Da.escapedName),di=ec(fr,Da.escapedName),Wt=ka(yn);if(rt&&!di&&da)ht(Et,e.Diagnostics.This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0,Wt);else if(rt&&(di==null?void 0:di.valueDeclaration)&&V1.noImplicitOverride&&!Oa){var dn=e.hasAbstractModifier(di.valueDeclaration);if(da)return;dn?e.hasAbstractModifier(Et)&&dn&&ht(Et,e.Diagnostics.This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared_in_the_base_class_0,Wt):ht(Et,wt?e.Diagnostics.This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0:e.Diagnostics.This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0,Wt)}}else if(da){var Si=ka(Ca);ht(Et,e.Diagnostics.This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another_class,Si)}}})(r,g,E,F);var Ge=e.getEffectiveImplementsTypeNodes(r);if(Ge)for(var er=0,Ar=Ge;er<Ar.length;er++){var vr=Ar[er];if(e.isEntityNameExpression(vr.expression)&&!e.isOptionalChain(vr.expression)||ht(vr.expression,e.Diagnostics.A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments),ab(vr),$1){var Yt=Q2(Dc(vr));if(Yt!==ae)if(kO(Yt)){var nn,Nn=Yt.symbol&&32&Yt.symbol.flags?e.Diagnostics.Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclass:e.Diagnostics.Class_0_incorrectly_implements_interface_1;Zd(E,nn=Fw(Yt,g.thisType),void 0)||ij(r,E,nn,Nn)}else ht(vr,e.Diagnostics.A_class_can_only_implement_an_object_type_or_intersection_of_object_types_with_statically_known_members)}}$1&&(nC(g),nC(F,!0),m2(r),function(Ei){if(!(!C1||!b1||8388608&Ei.flags))for(var Ca=zD(Ei),Aa=0,Qi=Ei.members;Aa<Qi.length;Aa++){var Oa=Qi[Aa];if(!(2&e.getEffectiveModifierFlags(Oa))&&aj(Oa)){var Ra=Oa.name;if(e.isIdentifier(Ra)||e.isPrivateIdentifier(Ra)){var yn=Yo(ms(Oa));3&yn.flags||32768&MF(yn)||Ca&&oj(Ra,yn,Ca)||ht(Oa.name,e.Diagnostics.Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor,e.declarationNameToString(Ra))}}}}(r))}function ij(r,f,g,E){for(var F=!1,q=function(M1){if(e.hasStaticModifier(M1))return\"continue\";var A1=M1.name&&Ce(M1.name)||Ce(M1);if(A1){var lx=ec(f,A1.escapedName),Vx=ec(g,A1.escapedName);lx&&Vx&&(Zd(Yo(lx),Yo(Vx),M1.name||M1,void 0,function(){return e.chainDiagnosticMessages(void 0,e.Diagnostics.Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2,Is(A1),ka(f),ka(g))})||(F=!0))}},T0=0,u1=r.members;T0<u1.length;T0++)q(u1[T0]);F||Zd(f,g,r.name||r,E)}function GN(r){return 1&e.getCheckFlags(r)?r.target:r}function aj(r){return r.kind===164&&!e.hasSyntacticModifier(r,160)&&!r.exclamationToken&&!r.initializer}function oj(r,f,g){var E=e.factory.createPropertyAccessExpression(e.factory.createThis(),r);return e.setParent(E.expression,E),e.setParent(E,g),E.flowNode=g.returnFlowNode,!(32768&MF(dh(E,f,nm(f))))}function iC(r){if(J9(r)||function(T0){var u1=!1;if(T0.heritageClauses)for(var M1=0,A1=T0.heritageClauses;M1<A1.length;M1++){var lx=A1[M1];if(lx.token!==93)return e.Debug.assert(lx.token===116),zS(lx,e.Diagnostics.Interface_declaration_cannot_have_implements_clause);if(u1)return zS(lx,e.Diagnostics.extends_clause_already_seen);u1=!0,PU(lx)}}(r),LD(r.typeParameters),$1){a_(r.name,e.Diagnostics.Interface_name_cannot_be_0),H_(r);var f=ms(r);if(qC(f),r===e.getDeclarationOfKind(f,254)){var g=Il(f),E=Fw(g);if(function(T0,u1){var M1=bk(T0);if(M1.length<2)return!0;var A1=new e.Map;e.forEach($y(T0).declaredProperties,function(Ei){A1.set(Ei.escapedName,{prop:Ei,containingType:T0})});for(var lx=!0,Vx=0,ye=M1;Vx<ye.length;Vx++)for(var Ue=ye[Vx],Ge=0,er=$c(Fw(Ue,T0.thisType));Ge<er.length;Ge++){var Ar=er[Ge],vr=A1.get(Ar.escapedName);if(vr){if(vr.containingType!==T0&&!yv(vr.prop,Ar)){lx=!1;var Yt=ka(vr.containingType),nn=ka(Ue),Nn=e.chainDiagnosticMessages(void 0,e.Diagnostics.Named_property_0_of_types_1_and_2_are_not_identical,Is(Ar),Yt,nn);Nn=e.chainDiagnosticMessages(Nn,e.Diagnostics.Interface_0_cannot_simultaneously_extend_types_1_and_2,ka(T0),Yt,nn),Ku.add(e.createDiagnosticForNodeFromMessageChain(u1,Nn))}}else A1.set(Ar.escapedName,{prop:Ar,containingType:Ue})}return lx}(g,r.name)){for(var F=0,q=bk(g);F<q.length;F++)Zd(E,Fw(q[F],g.thisType),r.name,e.Diagnostics.Interface_0_incorrectly_extends_interface_1);nC(g)}}ib(r)}e.forEach(e.getInterfaceBaseTypeNodes(r),function(T0){e.isEntityNameExpression(T0.expression)&&!e.isOptionalChain(T0.expression)||ht(T0.expression,e.Diagnostics.An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments),ab(T0)}),e.forEach(r.members,Hu),$1&&(m2(r),Oh(r))}function gL(r){var f=Fo(r);if(!(16384&f.flags)){f.flags|=16384;for(var g=0,E=0,F=r.members;E<F.length;E++){var q=F[E],T0=_L(q,g);Fo(q).enumMemberValue=T0,g=typeof T0==\"number\"?T0+1:void 0}}}function _L(r,f){if(e.isComputedNonLiteralName(r.name))ht(r.name,e.Diagnostics.Computed_property_names_are_not_allowed_in_enums);else{var g=e.getTextOfPropertyName(r.name);nd(g)&&!sS(g)&&ht(r.name,e.Diagnostics.An_enum_member_cannot_have_a_numeric_name)}return r.initializer?function(E){var F=m3(ms(E.parent)),q=e.isEnumConst(E.parent),T0=E.initializer,u1=F!==1||vR(E)?A1(T0):void 0;if(u1!==void 0)q&&typeof u1==\"number\"&&!isFinite(u1)&&ht(T0,isNaN(u1)?e.Diagnostics.const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN:e.Diagnostics.const_enum_member_initializer_was_evaluated_to_a_non_finite_value);else{if(F===1)return ht(T0,e.Diagnostics.Computed_values_are_not_permitted_in_an_enum_with_string_valued_members),0;if(q)ht(T0,e.Diagnostics.const_enum_member_initializers_can_only_contain_literal_values_and_other_computed_enum_values);else if(8388608&E.parent.flags)ht(T0,e.Diagnostics.In_ambient_enum_declarations_member_initializer_must_be_constant_expression);else{var M1=Js(T0);Q6(M1,296)?Zd(M1,Il(ms(E.parent)),T0,void 0):ht(T0,e.Diagnostics.Only_numeric_enums_can_have_computed_members_but_this_expression_has_type_0_If_you_do_not_need_exhaustiveness_checks_consider_using_an_object_literal_instead,ka(M1))}}return u1;function A1(Vx){switch(Vx.kind){case 215:var ye=A1(Vx.operand);if(typeof ye==\"number\")switch(Vx.operator){case 39:return ye;case 40:return-ye;case 54:return~ye}break;case 217:var Ue=A1(Vx.left),Ge=A1(Vx.right);if(typeof Ue==\"number\"&&typeof Ge==\"number\")switch(Vx.operatorToken.kind){case 51:return Ue|Ge;case 50:return Ue&Ge;case 48:return Ue>>Ge;case 49:return Ue>>>Ge;case 47:return Ue<<Ge;case 52:return Ue^Ge;case 41:return Ue*Ge;case 43:return Ue/Ge;case 39:return Ue+Ge;case 40:return Ue-Ge;case 44:return Ue%Ge;case 42:return Math.pow(Ue,Ge)}else if(typeof Ue==\"string\"&&typeof Ge==\"string\"&&Vx.operatorToken.kind===39)return Ue+Ge;break;case 10:case 14:return Vx.text;case 8:return CL(Vx),+Vx.text;case 208:return A1(Vx.expression);case 78:var er=Vx;return sS(er.escapedText)?+er.escapedText:e.nodeIsMissing(Vx)?0:lx(Vx,ms(E.parent),er.escapedText);case 203:case 202:var Ar=Vx;if(gb(Ar)){var vr=JA(Ar.expression);if(vr.symbol&&384&vr.symbol.flags){var Yt=void 0;return Yt=Ar.kind===202?Ar.name.escapedText:e.escapeLeadingUnderscores(e.cast(Ar.argumentExpression,e.isLiteralExpression).text),lx(Vx,vr.symbol,Yt)}}}}function lx(Vx,ye,Ue){var Ge=ye.exports.get(Ue);if(Ge){var er=Ge.valueDeclaration;if(er!==E)return er&&ah(er,E)?fj(er):(ht(Vx,e.Diagnostics.A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums),0);ht(Vx,e.Diagnostics.Property_0_is_used_before_being_assigned,Is(Ge))}}}(r):8388608&r.parent.flags&&!e.isEnumConst(r.parent)&&m3(ms(r.parent))===0?void 0:f!==void 0?f:void ht(r.name,e.Diagnostics.Enum_member_must_have_initializer)}function gb(r){return r.kind===78||r.kind===202&&gb(r.expression)||r.kind===203&&gb(r.expression)&&e.isStringLiteralLike(r.argumentExpression)}function XN(r){e.isPrivateIdentifier(r.name)&&ht(r,e.Diagnostics.An_enum_member_cannot_be_named_with_a_private_identifier)}function aC(r){if($1){var f=e.isGlobalScopeAugmentation(r),g=8388608&r.flags;f&&!g&&ht(r.name,e.Diagnostics.Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambient_context);var E=e.isAmbientModule(r);if(ky(r,E?e.Diagnostics.An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file:e.Diagnostics.A_namespace_declaration_is_only_allowed_in_a_namespace_or_module))return;J9(r)||g||r.name.kind!==10||wo(r.name,e.Diagnostics.Only_ambient_modules_can_use_quoted_names),e.isIdentifier(r.name)&&(G_(r,r.name),X_(r,r.name)),H_(r);var F=ms(r);if(512&F.flags&&!g&&F.declarations&&F.declarations.length>1&&y0(r,e.shouldPreserveConstEnums(V1))){var q=function(Ue){var Ge=Ue.declarations;if(Ge)for(var er=0,Ar=Ge;er<Ar.length;er++){var vr=Ar[er];if((vr.kind===253||vr.kind===252&&e.nodeIsPresent(vr.body))&&!(8388608&vr.flags))return vr}}(F);q&&(e.getSourceFileOfNode(r)!==e.getSourceFileOfNode(q)?ht(r.name,e.Diagnostics.A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merged):r.pos<q.pos&&ht(r.name,e.Diagnostics.A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged));var T0=e.getDeclarationOfKind(F,253);T0&&(A1=r,lx=T0,Vx=e.getEnclosingBlockScopeContainer(A1),ye=e.getEnclosingBlockScopeContainer(lx),pT(Vx)?pT(ye):!pT(ye)&&Vx===ye)&&(Fo(r).flags|=32768)}if(E)if(e.isExternalModuleAugmentation(r)){if((f||33554432&ms(r).flags)&&r.body)for(var u1=0,M1=r.body.statements;u1<M1.length;u1++)sj(M1[u1],f)}else pT(r.parent)?f?ht(r.name,e.Diagnostics.Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_declarations):e.isExternalModuleNameRelative(e.getTextOfIdentifierOrLiteral(r.name))&&ht(r.name,e.Diagnostics.Ambient_module_declaration_cannot_specify_relative_module_name):ht(r.name,f?e.Diagnostics.Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_declarations:e.Diagnostics.Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces)}var A1,lx,Vx,ye;r.body&&(Hu(r.body),e.isGlobalScopeAugmentation(r)||Oh(r))}function sj(r,f){var g;switch(r.kind){case 233:for(var E=0,F=r.declarationList.declarations;E<F.length;E++)sj(F[E],f);break;case 267:case 268:zS(r,e.Diagnostics.Exports_and_export_assignments_are_not_permitted_in_module_augmentations);break;case 261:case 262:zS(r,e.Diagnostics.Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_module);break;case 199:case 250:var q=r.name;if(e.isBindingPattern(q)){for(var T0=0,u1=q.elements;T0<u1.length;T0++)sj(u1[T0],f);break}case 253:case 256:case 252:case 254:case 257:case 255:if(f)return;var M1=ms(r);if(M1){var A1=!(33554432&M1.flags);A1||(A1=!!((g=M1.parent)===null||g===void 0?void 0:g.declarations)&&e.isExternalModuleAugmentation(M1.parent.declarations[0]))}}}function kM(r){var f=e.getExternalModuleName(r);if(!f||e.nodeIsMissing(f))return!1;if(!e.isStringLiteral(f))return ht(f,e.Diagnostics.String_literal_expected),!1;var g=r.parent.kind===258&&e.isAmbientModule(r.parent.parent);return r.parent.kind===298||g?!(g&&e.isExternalModuleNameRelative(f.text)&&!xk(r))||(ht(r,e.Diagnostics.Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relative_module_name),!1):(ht(f,r.kind===268?e.Diagnostics.Export_declarations_are_not_permitted_in_a_namespace:e.Diagnostics.Import_declarations_in_a_namespace_cannot_reference_a_module),!1)}function xB(r){var f,g=ms(r),E=ui(g);if(E!==W1){var F=(1160127&(g=Xc(g.exportSymbol||g)).flags?111551:0)|(788968&g.flags?788968:0)|(1920&g.flags?1920:0);E.flags&F&&ht(r,r.kind===271?e.Diagnostics.Export_declaration_conflicts_with_exported_declaration_of_0:e.Diagnostics.Import_declaration_conflicts_with_local_declaration_of_0,Is(g)),!V1.isolatedModules||r.kind!==271||r.parent.parent.isTypeOnly||111551&E.flags||8388608&r.flags||ht(r,e.Diagnostics.Re_exporting_a_type_when_the_isolatedModules_flag_is_provided_requires_using_export_type),e.isImportSpecifier(r)&&((f=E.declarations)===null||f===void 0?void 0:f.every(function(q){return!!(134217728&e.getCombinedNodeFlags(q))}))&&lp(r.name,E.declarations,g.escapedName)}}function Q_(r){G_(r,r.name),X_(r,r.name),xB(r),r.kind===266&&e.idText(r.propertyName||r.name)===\"default\"&&V1.esModuleInterop&&$x!==e.ModuleKind.System&&$x<e.ModuleKind.ES2015&&v6(r,131072)}function oC(r){if(!ky(r,e.Diagnostics.An_import_declaration_can_only_be_used_in_a_namespace_or_module)&&(!J9(r)&&e.hasEffectiveModifiers(r)&&zS(r,e.Diagnostics.An_import_declaration_cannot_have_modifiers),kM(r))){var f=r.importClause;f&&!function(g){return g.isTypeOnly&&g.name&&g.namedBindings?wo(g,e.Diagnostics.A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both):!1}(f)&&(f.name&&Q_(f),f.namedBindings&&(f.namedBindings.kind===264?(Q_(f.namedBindings),$x!==e.ModuleKind.System&&$x<e.ModuleKind.ES2015&&V1.esModuleInterop&&v6(r,65536)):f5(r,r.moduleSpecifier)&&e.forEach(f.namedBindings.elements,Q_)))}}function FP(r){if(!ky(r,e.Diagnostics.An_export_declaration_can_only_be_used_in_a_module)&&(!J9(r)&&e.hasEffectiveModifiers(r)&&zS(r,e.Diagnostics.An_export_declaration_cannot_have_modifiers),r.moduleSpecifier&&r.exportClause&&e.isNamedExports(r.exportClause)&&e.length(r.exportClause.elements)&&Ox===0&&v6(r,2097152),function(F){var q,T0=F.isTypeOnly&&((q=F.exportClause)===null||q===void 0?void 0:q.kind)!==269;T0&&wo(F,e.Diagnostics.Only_named_exports_may_use_export_type)}(r),!r.moduleSpecifier||kM(r)))if(r.exportClause&&!e.isNamespaceExport(r.exportClause)){e.forEach(r.exportClause.elements,a8);var f=r.parent.kind===258&&e.isAmbientModule(r.parent.parent),g=!f&&r.parent.kind===258&&!r.moduleSpecifier&&8388608&r.flags;r.parent.kind===298||f||g||ht(r,e.Diagnostics.Export_declarations_are_not_permitted_in_a_namespace)}else{var E=f5(r,r.moduleSpecifier);E&&zm(E)?ht(r.moduleSpecifier,e.Diagnostics.Module_0_uses_export_and_cannot_be_used_with_export_Asterisk,Is(E)):r.exportClause&&xB(r.exportClause),$x!==e.ModuleKind.System&&$x<e.ModuleKind.ES2015&&(r.exportClause?V1.esModuleInterop&&v6(r,65536):v6(r,32768))}}function ky(r,f){var g=r.parent.kind===298||r.parent.kind===258||r.parent.kind===257;return g||zS(r,f),!g}function sC(r){return e.isImportDeclaration(r)&&r.importClause&&!r.importClause.isTypeOnly&&(f=r.importClause,e.forEachImportClauseDeclaration(f,function(g){return!!ms(g).isReferenced}))&&!vL(r.importClause,!0)&&!function(g){return e.forEachImportClauseDeclaration(g,function(E){return!!Zo(ms(E)).constEnumReferenced})}(r.importClause);var f}function uC(r){return e.isImportEqualsDeclaration(r)&&e.isExternalModuleReference(r.moduleReference)&&!r.isTypeOnly&&ms(r).isReferenced&&!vL(r,!1)&&!Zo(ms(r)).constEnumReferenced}function a8(r){if(xB(r),e.getEmitDeclarations(V1)&&HL(r.propertyName||r.name,!0),r.parent.parent.moduleSpecifier)V1.esModuleInterop&&$x!==e.ModuleKind.System&&$x<e.ModuleKind.ES2015&&e.idText(r.propertyName||r.name)===\"default\"&&v6(r,131072);else{var f=r.propertyName||r.name,g=j6(f,f.escapedText,2998271,void 0,void 0,!0);if(g&&(g===Ir||g===xr||g.declarations&&pT(eu(g.declarations[0]))))ht(f,e.Diagnostics.Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module,e.idText(f));else{X6(r);var E=g&&(2097152&g.flags?ui(g):g);(!E||E===W1||111551&E.flags)&&VC(r.propertyName||r.name)}}}function FU(r){var f=ms(r),g=Zo(f);if(!g.exportsChecked){var E=f.exports.get(\"export=\");if(E&&function(T0){return e.forEachEntry(T0.exports,function(u1,M1){return M1!==\"export=\"})}(f)){var F=Hf(E)||E.valueDeclaration;!F||xk(F)||e.isInJSFile(F)||ht(F,e.Diagnostics.An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements)}var q=Wm(f);q&&q.forEach(function(T0,u1){var M1=T0.declarations,A1=T0.flags;if(u1!==\"__export\"&&!(1984&A1)){var lx=e.countWhere(M1,V);if(!(524288&A1&&lx<=2)&&lx>1&&!MD(M1))for(var Vx=0,ye=M1;Vx<ye.length;Vx++){var Ue=ye[Vx];G0(Ue)&&Ku.add(e.createDiagnosticForNode(Ue,e.Diagnostics.Cannot_redeclare_exported_variable_0,e.unescapeLeadingUnderscores(u1)))}}}),g.exportsChecked=!0}}function MD(r){return r&&r.length>1&&r.every(function(f){return e.isInJSFile(f)&&e.isAccessExpression(f)&&(e.isExportsIdentifier(f.expression)||e.isModuleExportsAccessExpression(f.expression))})}function Hu(r){if(r){var f=k1;k1=r,p0=0,function(g){e.isInJSFile(g)&&e.forEach(g.jsDoc,function(F){var q=F.tags;return e.forEach(q,Hu)});var E=g.kind;if(Z1)switch(E){case 257:case 253:case 254:case 252:Z1.throwIfCancellationRequested()}switch(E>=233&&E<=249&&g.flowNode&&!z_(g.flowNode)&&Gc(V1.allowUnreachableCode===!1,g,e.Diagnostics.Unreachable_code_detected),E){case 160:return CM(g);case 161:return rb(g);case 164:return FD(g);case 163:return function(F){return e.isPrivateIdentifier(F.name)&&ht(F,e.Diagnostics.Private_identifiers_are_not_allowed_outside_class_bodies),FD(F)}(g);case 176:case 175:case 170:case 171:case 172:return SD(g);case 166:case 165:return function(F){sk(F)||IU(F.name),cb(F),e.hasSyntacticModifier(F,128)&&F.kind===166&&F.body&&ht(F,e.Diagnostics.Method_0_cannot_have_an_implementation_because_it_is_marked_abstract,e.declarationNameToString(F.name)),e.isPrivateIdentifier(F.name)&&!e.getContainingClass(F)&&ht(F,e.Diagnostics.Private_identifiers_are_not_allowed_outside_class_bodies),xj(F)}(g);case 167:return MV(g);case 168:case 169:return AD(g);case 174:return ab(g);case 173:return function(F){var q=function(Ue){switch(Ue.parent.kind){case 210:case 170:case 252:case 209:case 175:case 166:case 165:var Ge=Ue.parent;if(Ue===Ge.type)return Ge}}(F);if(q){var T0=xm(q),u1=kA(T0);if(u1){Hu(F.type);var M1=F.parameterName;if(u1.kind===0||u1.kind===2)C3(M1);else if(u1.parameterIndex>=0)S1(T0)&&u1.parameterIndex===T0.parameters.length-1?ht(M1,e.Diagnostics.A_type_predicate_cannot_reference_a_rest_parameter):u1.type&&Zd(u1.type,Yo(T0.parameters[u1.parameterIndex]),F.type,void 0,function(){return e.chainDiagnosticMessages(void 0,e.Diagnostics.A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type)});else if(M1){for(var A1=!1,lx=0,Vx=q.parameters;lx<Vx.length;lx++){var ye=Vx[lx].name;if(e.isBindingPattern(ye)&&nb(ye,M1,u1.parameterName)){A1=!0;break}}A1||ht(F.parameterName,e.Diagnostics.Cannot_find_parameter_0,u1.parameterName)}}}else ht(F,e.Diagnostics.A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods)}(g);case 177:return function(F){pE(F)}(g);case 178:return function(F){e.forEach(F.members,Hu),$1&&(nC(t7(F)),m2(F),ib(F))}(g);case 179:return function(F){Hu(F.elementType)}(g);case 180:return function(F){for(var q=F.elements,T0=!1,u1=!1,M1=e.some(q,e.isNamedTupleMember),A1=0,lx=q;A1<lx.length;A1++){var Vx=lx[A1];if(Vx.kind!==193&&M1){wo(Vx,e.Diagnostics.Tuple_members_must_all_have_names_or_all_not_have_names);break}var ye=SC(Vx);if(8&ye){var Ue=Dc(Vx.type);if(!uw(Ue)){ht(Vx,e.Diagnostics.A_rest_element_type_must_be_an_array_type);break}(NA(Ue)||Vd(Ue)&&4&Ue.target.combinedFlags)&&(u1=!0)}else if(4&ye){if(u1){wo(Vx,e.Diagnostics.A_rest_element_cannot_follow_another_rest_element);break}u1=!0}else if(2&ye){if(u1){wo(Vx,e.Diagnostics.An_optional_element_cannot_follow_a_rest_element);break}T0=!0}else if(T0){wo(Vx,e.Diagnostics.A_required_element_cannot_follow_an_optional_element);break}}e.forEach(F.elements,Hu),Dc(F)}(g);case 183:case 184:return function(F){e.forEach(F.types,Hu),Dc(F)}(g);case 187:case 181:case 182:return Hu(g.type);case 188:return function(F){C3(F)}(g);case 189:return YO(g);case 185:return function(F){e.forEachChild(F,Hu)}(g);case 186:return function(F){e.findAncestor(F,function(q){return q.parent&&q.parent.kind===185&&q.parent.extendsType===q})||wo(F,e.Diagnostics.infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type),Hu(F.typeParameter),Oh(F)}(g);case 194:return function(F){for(var q=0,T0=F.templateSpans;q<T0.length;q++){var u1=T0[q];Hu(u1.type),Zd(Dc(u1.type),Fa,u1.type)}Dc(F)}(g);case 196:return function(F){Hu(F.argument),Dc(F)}(g);case 193:return function(F){F.dotDotDotToken&&F.questionToken&&wo(F,e.Diagnostics.A_tuple_member_cannot_be_both_optional_and_rest),F.type.kind===181&&wo(F.type,e.Diagnostics.A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_colon_rather_than_after_the_type),F.type.kind===182&&wo(F.type,e.Diagnostics.A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type),Hu(F.type),Dc(F)}(g);case 318:return function(F){var q=e.getEffectiveJSDocHost(F);if(q&&(e.isClassDeclaration(q)||e.isClassExpression(q))){var T0=e.getJSDocTags(q).filter(e.isJSDocAugmentsTag);e.Debug.assert(T0.length>0),T0.length>1&&ht(T0[1],e.Diagnostics.Class_declarations_cannot_have_more_than_one_augments_or_extends_tag);var u1=ZI(F.class.expression),M1=e.getClassExtendsHeritageElement(q);if(M1){var A1=ZI(M1.expression);A1&&u1.escapedText!==A1.escapedText&&ht(u1,e.Diagnostics.JSDoc_0_1_does_not_match_the_extends_2_clause,e.idText(F.tagName),e.idText(u1),e.idText(A1))}}else ht(q,e.Diagnostics.JSDoc_0_is_not_attached_to_a_class,e.idText(F.tagName))}(g);case 319:return function(F){var q=e.getEffectiveJSDocHost(F);q&&(e.isClassDeclaration(q)||e.isClassExpression(q))||ht(q,e.Diagnostics.JSDoc_0_is_not_attached_to_a_class,e.idText(F.tagName))}(g);case 335:case 328:case 329:return function(F){F.typeExpression||ht(F.name,e.Diagnostics.JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags),F.name&&a_(F.name,e.Diagnostics.Type_alias_name_cannot_be_0),Hu(F.typeExpression)}(g);case 334:return function(F){Hu(F.constraint);for(var q=0,T0=F.typeParameters;q<T0.length;q++)Hu(T0[q])}(g);case 333:return function(F){Hu(F.typeExpression)}(g);case 330:return function(F){if(Hu(F.typeExpression),!e.getParameterSymbolFromJSDoc(F)){var q=e.getHostSignatureFromJSDoc(F);if(q){var T0=e.getJSDocTags(q).filter(e.isJSDocParameterTag).indexOf(F);if(T0>-1&&T0<q.parameters.length&&e.isBindingPattern(q.parameters[T0].name))return;k_(q)?e.findLast(e.getJSDocTags(q),e.isJSDocParameterTag)===F&&F.typeExpression&&F.typeExpression.type&&!NA(Dc(F.typeExpression.type))&&ht(F.name,e.Diagnostics.JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_had_an_array_type,e.idText(F.name.kind===158?F.name.right:F.name)):e.isQualifiedName(F.name)?ht(F.name,e.Diagnostics.Qualified_name_0_is_not_allowed_without_a_leading_param_object_1,e.entityNameToString(F.name),e.entityNameToString(F.name.left)):ht(F.name,e.Diagnostics.JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name,e.idText(F.name))}}}(g);case 337:return function(F){Hu(F.typeExpression)}(g);case 309:(function(F){!$1||F.type||e.isJSDocConstructSignature(F)||Mm(F,E1),SD(F)})(g);case 307:case 306:case 304:case 305:case 314:return t3(g),void e.forEachChild(g,Hu);case 310:return void function(F){t3(F),Hu(F.type);var q=F.parent;if(e.isParameter(q)&&e.isJSDocFunctionType(q.parent))return void(e.last(q.parent.parameters)!==q&&ht(F,e.Diagnostics.A_rest_parameter_must_be_last_in_a_parameter_list));e.isJSDocTypeExpression(q)||ht(F,e.Diagnostics.JSDoc_may_only_appear_in_the_last_parameter_of_a_signature);var T0=F.parent.parent;if(!e.isJSDocParameterTag(T0))return void ht(F,e.Diagnostics.JSDoc_may_only_appear_in_the_last_parameter_of_a_signature);var u1=e.getParameterSymbolFromJSDoc(T0);if(!!u1){var M1=e.getHostSignatureFromJSDoc(T0);M1&&e.last(M1.parameters).symbol===u1||ht(F,e.Diagnostics.A_rest_parameter_must_be_last_in_a_parameter_list)}}(g);case 302:return Hu(g.type);case 190:return function(F){Hu(F.objectType),Hu(F.indexType),YI(Zb(F),F)}(g);case 191:return function(F){Hu(F.typeParameter),Hu(F.nameType),Hu(F.type),F.type||Mm(F,E1);var q=y9(F),T0=UN(q);T0?Zd(T0,fa,F.nameType):Zd(Ep(q),fa,e.getEffectiveConstraintOfTypeParameter(F.typeParameter))}(g);case 252:return function(F){$1&&(cb(F),TP(F),G_(F,F.name),X_(F,F.name))}(g);case 231:case 258:return hL(g);case 233:return OE(g);case 234:return function(F){a9(F),Js(F.expression)}(g);case 235:return function(F){a9(F);var q=Bh(F.expression);Kd(F.expression,q,F.thenStatement),Hu(F.thenStatement),F.thenStatement.kind===232&&ht(F.thenStatement,e.Diagnostics.The_body_of_an_if_statement_cannot_be_the_empty_statement),Hu(F.elseStatement)}(g);case 236:return function(F){a9(F),Hu(F.statement),Bh(F.expression)}(g);case 237:return function(F){a9(F),Bh(F.expression),Hu(F.statement)}(g);case 238:return function(F){a9(F)||F.initializer&&F.initializer.kind===251&&QN(F.initializer),F.initializer&&(F.initializer.kind===251?e.forEach(F.initializer.declarations,SP):Js(F.initializer)),F.condition&&Bh(F.condition),F.incrementor&&Js(F.incrementor),Hu(F.statement),F.locals&&Oh(F)}(g);case 239:return BE(g);case 240:return function(F){if(nB(F),F.awaitModifier?(6&e.getFunctionFlags(e.getContainingFunction(F)))==2&&Ox<99&&v6(F,16384):V1.downlevelIteration&&Ox<2&&v6(F,256),F.initializer.kind===251)SM(F);else{var q=F.initializer,T0=db(F);if(q.kind===200||q.kind===201)pN(q,T0||ae);else{var u1=Js(q);Fy(q,e.Diagnostics.The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access,e.Diagnostics.The_left_hand_side_of_a_for_of_statement_may_not_be_an_optional_property_access),T0&&tk(T0,u1,q,F.expression)}}Hu(F.statement),F.locals&&Oh(F)}(g);case 241:case 242:return rj(g);case 243:return function(F){var q;if(!a9(F)){var T0=e.getContainingFunction(F);if(T0){var u1=yc(xm(T0)),M1=e.getFunctionFlags(T0);if(C1||F.expression||131072&u1.flags){var A1=F.expression?VC(F.expression):Gr;if(T0.kind===169)F.expression&&ht(F,e.Diagnostics.Setters_cannot_return_a_value);else if(T0.kind===167)F.expression&&!tk(A1,u1,F,F.expression)&&ht(F,e.Diagnostics.Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class);else if(_P(T0)){var lx=(q=BD(u1,M1))!==null&&q!==void 0?q:u1,Vx=2&M1?i_(A1,F,e.Diagnostics.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member):A1;lx&&tk(Vx,lx,F,F.expression)}}else T0.kind!==167&&V1.noImplicitReturns&&!ZO(T0,u1)&&ht(F,e.Diagnostics.Not_all_code_paths_return_a_value)}else zS(F,e.Diagnostics.A_return_statement_can_only_be_used_within_a_function_body)}}(g);case 244:return function(F){a9(F)||32768&F.flags&&zS(F,e.Diagnostics.with_statements_are_not_allowed_in_an_async_function_block),Js(F.expression);var q=e.getSourceFileOfNode(F);if(!HA(q)){var T0=e.getSpanOfTokenAtPosition(q,F.pos).start;rh(q,T0,F.statement.pos-T0,e.Diagnostics.The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any)}}(g);case 245:return function(F){var q;a9(F);var T0=!1,u1=Js(F.expression),M1=tI(u1);e.forEach(F.caseBlock.clauses,function(A1){if(A1.kind!==286||T0||(q===void 0?q=A1:(wo(A1,e.Diagnostics.A_default_clause_cannot_appear_more_than_once_in_a_switch_statement),T0=!0)),$1&&A1.kind===285){var lx=Js(A1.expression),Vx=tI(lx),ye=u1;Vx&&M1||(lx=Vx?F4(lx):lx,ye=F4(u1)),tb(ye,lx)||kC(lx,ye,A1.expression,void 0)}e.forEach(A1.statements,Hu),V1.noFallthroughCasesInSwitch&&A1.fallthroughFlowNode&&z_(A1.fallthroughFlowNode)&&ht(A1,e.Diagnostics.Fallthrough_case_in_switch)}),F.caseBlock.locals&&Oh(F.caseBlock)}(g);case 246:return function(F){a9(F)||e.findAncestor(F.parent,function(q){return e.isFunctionLike(q)?\"quit\":q.kind===246&&q.label.escapedText===F.label.escapedText&&(wo(F.label,e.Diagnostics.Duplicate_label_0,e.getTextOfNode(F.label)),!0)}),Hu(F.statement)}(g);case 247:return rC(g);case 248:return function(F){a9(F),hL(F.tryBlock);var q=F.catchClause;if(q){if(q.variableDeclaration){var T0=q.variableDeclaration,u1=e.getEffectiveTypeAnnotationNode(e.getRootDeclaration(T0));if(u1){var M1=ua(T0,!1);!M1||3&M1.flags||zS(u1,e.Diagnostics.Catch_clause_variable_type_annotation_must_be_any_or_unknown_if_specified)}else if(T0.initializer)zS(T0.initializer,e.Diagnostics.Catch_clause_variable_cannot_have_an_initializer);else{var A1=q.block.locals;A1&&e.forEachKey(q.locals,function(lx){var Vx=A1.get(lx);(Vx==null?void 0:Vx.valueDeclaration)&&(2&Vx.flags)!=0&&wo(Vx.valueDeclaration,e.Diagnostics.Cannot_redeclare_identifier_0_in_catch_clause,lx)})}}hL(q.block)}F.finallyBlock&&hL(F.finallyBlock)}(g);case 250:return SP(g);case 199:return cK(g);case 253:return function(F){e.some(F.decorators)&&e.some(F.members,function(q){return e.hasStaticModifier(q)&&e.isPrivateIdentifierClassElementDeclaration(q)})&&wo(F.decorators[0],e.Diagnostics.Class_decorators_can_t_be_used_with_static_private_identifier_Consider_removing_the_experimental_decorator),F.name||e.hasSyntacticModifier(F,512)||zS(F,e.Diagnostics.A_class_declaration_without_the_default_modifier_must_have_a_name),nj(F),e.forEach(F.members,Hu),Oh(F)}(g);case 254:return iC(g);case 255:return function(F){J9(F),a_(F.name,e.Diagnostics.Type_alias_name_cannot_be_0),H_(F),LD(F.typeParameters),F.type.kind===136?H.has(F.name.escapedText)&&e.length(F.typeParameters)===1||ht(F.type,e.Diagnostics.The_intrinsic_keyword_can_only_be_used_to_declare_compiler_provided_intrinsic_types):(Hu(F.type),Oh(F))}(g);case 256:return function(F){if($1){J9(F),a_(F.name,e.Diagnostics.Enum_name_cannot_be_0),G_(F,F.name),X_(F,F.name),H_(F),F.members.forEach(XN),gL(F);var q=ms(F);if(F===e.getDeclarationOfKind(q,F.kind)){if(q.declarations&&q.declarations.length>1){var T0=e.isEnumConst(F);e.forEach(q.declarations,function(M1){e.isEnumDeclaration(M1)&&e.isEnumConst(M1)!==T0&&ht(e.getNameOfDeclaration(M1),e.Diagnostics.Enum_declarations_must_all_be_const_or_non_const)})}var u1=!1;e.forEach(q.declarations,function(M1){if(M1.kind!==256)return!1;var A1=M1;if(!A1.members.length)return!1;var lx=A1.members[0];lx.initializer||(u1?ht(lx.name,e.Diagnostics.In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enum_element):u1=!0)})}}}(g);case 257:return aC(g);case 262:return oC(g);case 261:return function(F){if(!ky(F,e.Diagnostics.An_import_declaration_can_only_be_used_in_a_namespace_or_module)&&(J9(F),e.isInternalModuleImportEqualsDeclaration(F)||kM(F)))if(Q_(F),e.hasSyntacticModifier(F,1)&&X6(F),F.moduleReference.kind!==273){var q=ui(ms(F));if(q!==W1){if(111551&q.flags){var T0=e.getFirstIdentifier(F.moduleReference);1920&nl(T0,112575).flags||ht(T0,e.Diagnostics.Module_0_is_hidden_by_a_local_declaration_with_the_same_name,e.declarationNameToString(T0))}788968&q.flags&&a_(F.name,e.Diagnostics.Import_name_cannot_be_0)}F.isTypeOnly&&wo(F,e.Diagnostics.An_import_alias_cannot_use_import_type)}else!($x>=e.ModuleKind.ES2015)||F.isTypeOnly||8388608&F.flags||wo(F,e.Diagnostics.Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead)}(g);case 268:return FP(g);case 267:return function(F){if(!ky(F,F.isExportEquals?e.Diagnostics.An_export_assignment_must_be_at_the_top_level_of_a_file_or_module_declaration:e.Diagnostics.A_default_export_must_be_at_the_top_level_of_a_file_or_module_declaration)){var q=F.parent.kind===298?F.parent:F.parent.parent;if(q.kind!==257||e.isAmbientModule(q)){if(!J9(F)&&e.hasEffectiveModifiers(F)&&zS(F,e.Diagnostics.An_export_assignment_cannot_have_modifiers),F.expression.kind===78){var T0=F.expression,u1=nl(T0,67108863,!0,!0,F);if(u1){cD(u1,T0);var M1=2097152&u1.flags?ui(u1):u1;(M1===W1||111551&M1.flags)&&VC(F.expression)}else VC(F.expression);e.getEmitDeclarations(V1)&&HL(F.expression,!0)}else VC(F.expression);FU(q),8388608&F.flags&&!e.isEntityNameExpression(F.expression)&&wo(F.expression,e.Diagnostics.The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context),!F.isExportEquals||8388608&F.flags||($x>=e.ModuleKind.ES2015?wo(F,e.Diagnostics.Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or_another_module_format_instead):$x===e.ModuleKind.System&&wo(F,e.Diagnostics.Export_assignment_is_not_supported_when_module_flag_is_system))}else F.isExportEquals?ht(F,e.Diagnostics.An_export_assignment_cannot_be_used_in_a_namespace):ht(F,e.Diagnostics.A_default_export_can_only_be_used_in_an_ECMAScript_style_module)}}(g);case 232:case 249:return void a9(g);case 272:(function(F){ub(F)})(g)}}(r),k1=f}}function t3(r){e.isInJSFile(r)||wo(r,e.Diagnostics.JSDoc_types_can_only_be_used_inside_documentation_comments)}function xO(r){var f=Fo(e.getSourceFileOfNode(r));if(!(1&f.flags)){f.deferredNodes=f.deferredNodes||new e.Map;var g=t0(r);f.deferredNodes.set(g,r)}}function AU(r){e.tracing===null||e.tracing===void 0||e.tracing.push(\"check\",\"checkDeferredNode\",{kind:r.kind,pos:r.pos,end:r.end});var f=k1;switch(k1=r,p0=0,r.kind){case 204:case 205:case 206:case 162:case 276:cw(r);break;case 209:case 210:case 166:case 165:(function(g){e.Debug.assert(g.kind!==166||e.isObjectLiteralMethod(g));var E=e.getFunctionFlags(g),F=_P(g);if(YR(g,F),g.body)if(e.getEffectiveReturnTypeNode(g)||yc(xm(g)),g.body.kind===231)Hu(g.body);else{var q=Js(g.body),T0=F&&BD(F,E);T0&&tk((3&E)==2?i_(q,g.body,e.Diagnostics.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member):q,T0,g.body,g.body)}})(r);break;case 168:case 169:AD(r);break;case 222:(function(g){e.forEach(g.members,Hu),Oh(g)})(r);break;case 275:(function(g){sI(g)})(r);break;case 274:(function(g){sI(g.openingElement),zk(g.closingElement.tagName)?jv(g.closingElement):Js(g.closingElement.tagName),JN(g)})(r)}k1=f,e.tracing===null||e.tracing===void 0||e.tracing.pop()}function _b(r){e.tracing===null||e.tracing===void 0||e.tracing.push(\"check\",\"checkSourceFile\",{path:r.path},!0),e.performance.mark(\"beforeCheck\"),function(f){var g=Fo(f);if(!(1&g.flags)){if(e.skipTypeChecking(f,V1,Y0))return;(function(E){!!(8388608&E.flags)&&function(F){for(var q=0,T0=F.statements;q<T0.length;q++){var u1=T0[q];if((e.isDeclaration(u1)||u1.kind===233)&&wP(u1))return!0}}(E)})(f),e.clear(Qd),e.clear($S),e.clear(Pf),e.forEach(f.statements,Hu),Hu(f.endOfFileToken),function(E){var F=Fo(E);F.deferredNodes&&F.deferredNodes.forEach(AU)}(f),e.isExternalOrCommonJsModule(f)&&Oh(f),f.isDeclarationFile||!V1.noUnusedLocals&&!V1.noUnusedParameters||E2(ME(f),function(E,F,q){!e.containsParseError(E)&&NM(F,!!(8388608&E.flags))&&Ku.add(q)}),V1.importsNotUsedAsValues===2&&!f.isDeclarationFile&&e.isExternalModule(f)&&function(E){for(var F=0,q=E.statements;F<q.length;F++){var T0=q[F];(sC(T0)||uC(T0))&&ht(T0,e.Diagnostics.This_import_is_never_used_as_a_value_and_must_use_import_type_because_importsNotUsedAsValues_is_set_to_error)}}(f),e.isExternalOrCommonJsModule(f)&&FU(f),Qd.length&&(e.forEach(Qd,SU),e.clear(Qd)),$S.length&&(e.forEach($S,uK),e.clear($S)),Pf.length&&(e.forEach(Pf,xC),e.clear(Pf)),g.flags|=1}}(r),e.performance.mark(\"afterCheck\"),e.performance.measure(\"Check\",\"beforeCheck\",\"afterCheck\"),e.tracing===null||e.tracing===void 0||e.tracing.pop()}function NM(r,f){if(f)return!1;switch(r){case 0:return!!V1.noUnusedLocals;case 1:return!!V1.noUnusedParameters;default:return e.Debug.assertNever(r)}}function ME(r){return nA.get(r.path)||e.emptyArray}function r3(r,f){try{return Z1=f,function(g){if(n3(),g){var E=Ku.getGlobalDiagnostics(),F=E.length;_b(g);var q=Ku.getDiagnostics(g.fileName),T0=Ku.getGlobalDiagnostics();if(T0!==E){var u1=e.relativeComplement(E,T0,e.compareDiagnostics);return e.concatenate(u1,q)}return F===0&&T0.length>0?e.concatenate(T0,q):q}return e.forEach(Y0.getSourceFiles(),_b),Ku.getDiagnostics()}(r)}finally{Z1=void 0}}function n3(){if(!$1)throw new Error(\"Trying to get diagnostics from a type checker that does not produce them.\")}function i3(r){switch(r.kind){case 160:case 253:case 254:case 255:case 256:case 335:case 328:case 329:return!0;case 263:return r.isTypeOnly;case 266:case 271:return r.parent.parent.isTypeOnly;default:return!1}}function RE(r){for(;r.parent.kind===158;)r=r.parent;return r.parent.kind===174}function a3(r,f){for(var g;(r=e.getContainingClass(r))&&!(g=f(r)););return g}function uj(r,f){return!!a3(r,function(g){return g===f})}function TU(r){return function(f){for(;f.parent.kind===158;)f=f.parent;return f.parent.kind===261?f.parent.moduleReference===f?f.parent:void 0:f.parent.kind===267&&f.parent.expression===f?f.parent:void 0}(r)!==void 0}function dw(r){if(e.isDeclarationName(r))return ms(r.parent);if(e.isInJSFile(r)&&r.parent.kind===202&&r.parent===r.parent.parent.left&&!e.isPrivateIdentifier(r)){var f=function(ye){switch(e.getAssignmentDeclarationKind(ye.parent.parent)){case 1:case 3:return ms(ye.parent);case 4:case 2:case 5:return ms(ye.parent.parent)}}(r);if(f)return f}if(r.parent.kind===267&&e.isEntityNameExpression(r)){var g=nl(r,2998271,!0);if(g&&g!==W1)return g}else if(!e.isPropertyAccessExpression(r)&&!e.isPrivateIdentifier(r)&&TU(r)){var E=e.getAncestor(r,261);return e.Debug.assert(E!==void 0),P2(r,!0)}if(!e.isPropertyAccessExpression(r)&&!e.isPrivateIdentifier(r)){var F=function(ye){for(var Ue=ye.parent;e.isQualifiedName(Ue);)ye=Ue,Ue=Ue.parent;if(Ue&&Ue.kind===196&&Ue.qualifier===ye)return Ue}(r);if(F){Dc(F);var q=Fo(r).resolvedSymbol;return q===W1?void 0:q}}for(;e.isRightSideOfQualifiedNameOrPropertyAccess(r);)r=r.parent;if(function(ye){for(;ye.parent.kind===202;)ye=ye.parent;return ye.parent.kind===224}(r)){var T0=0;r.parent.kind===224?(T0=788968,e.isExpressionWithTypeArgumentsInClassExtendsClause(r.parent)&&(T0|=111551)):T0=1920,T0|=2097152;var u1=e.isEntityNameExpression(r)?nl(r,T0):void 0;if(u1)return u1}if(r.parent.kind===330)return e.getParameterSymbolFromJSDoc(r.parent);if(r.parent.kind===160&&r.parent.parent.kind===334){e.Debug.assert(!e.isInJSFile(r));var M1=e.getTypeParameterFromJsDoc(r.parent);return M1&&M1.symbol}if(e.isExpressionNode(r)){if(e.nodeIsMissing(r))return;if(r.kind===78)return e.isJSXTagName(r)&&zk(r)?(A1=jv(r.parent))===W1?void 0:A1:nl(r,111551,!1,!0);if(r.kind===202||r.kind===158)return(lx=Fo(r)).resolvedSymbol||(r.kind===202?jC(r,0):Cy(r,0)),lx.resolvedSymbol}else if(RE(r))return nl(r,T0=r.parent.kind===174?788968:1920,!1,!0);if(function(ye){for(;ye.parent.kind===158;)ye=ye.parent;for(;ye.parent.kind===202;)ye=ye.parent;return e.isJSDocNameReference(ye.parent)?ye.parent:void 0}(r)||e.isJSDocLink(r.parent)){var A1;if(A1=nl(r,T0=901119,!1,!1,e.getHostSignatureFromJSDoc(r)))return A1;if(e.isQualifiedName(r)&&e.isIdentifier(r.left)){var lx;if((lx=Fo(r)).resolvedSymbol||(Cy(r,0),lx.resolvedSymbol))return lx.resolvedSymbol;var Vx=nl(r.left,T0,!1);if(Vx)return ec(Il(Vx),r.right.escapedText)}}return r.parent.kind===173?nl(r,1):void 0}function Ce(r,f){if(r.kind===298)return e.isExternalModule(r)?Xc(r.symbol):void 0;var g=r.parent,E=g.parent;if(!(16777216&r.flags)){if(d1(r)){var F=ms(g);return e.isImportOrExportSpecifier(r.parent)&&r.parent.propertyName===r?Rv(F):F}if(e.isLiteralComputedPropertyDeclarationName(r))return ms(g.parent);if(r.kind===78){if(TU(r))return dw(r);if(g.kind===199&&E.kind===197&&r===g.propertyName){var q=ec(AP(E),r.escapedText);if(q)return q}}switch(r.kind){case 78:case 79:case 202:case 158:return dw(r);case 107:var T0=e.getThisContainer(r,!1);if(e.isFunctionLike(T0)){var u1=xm(T0);if(u1.thisParameter)return u1.thisParameter}if(e.isInExpressionContext(r))return Js(r).symbol;case 188:return C3(r).symbol;case 105:return Js(r).symbol;case 132:var M1=r.parent;return M1&&M1.kind===167?M1.parent.symbol:void 0;case 10:case 14:if(e.isExternalModuleImportEqualsDeclaration(r.parent.parent)&&e.getExternalModuleImportEqualsDeclarationExpression(r.parent.parent)===r||(r.parent.kind===262||r.parent.kind===268)&&r.parent.moduleSpecifier===r||e.isInJSFile(r)&&e.isRequireCall(r.parent,!1)||e.isImportCall(r.parent)||e.isLiteralTypeNode(r.parent)&&e.isLiteralImportTypeNode(r.parent.parent)&&r.parent.parent.argument===r.parent)return f5(r,r,f);if(e.isCallExpression(g)&&e.isBindableObjectDefinePropertyCall(g)&&g.arguments[1]===r)return ms(g);case 8:var A1=e.isElementAccessExpression(g)?g.argumentExpression===r?JA(g.expression):void 0:e.isLiteralTypeNode(g)&&e.isIndexedAccessTypeNode(E)?Dc(E.objectType):void 0;return A1&&ec(A1,e.escapeLeadingUnderscores(r.text));case 87:case 97:case 38:case 83:return ms(r.parent);case 196:return e.isLiteralImportTypeNode(r)?Ce(r.argument.literal,f):void 0;case 92:return e.isExportAssignment(r.parent)?e.Debug.checkDefined(r.parent.symbol):void 0;default:return}}}function AP(r){if(e.isSourceFile(r)&&!e.isExternalModule(r)||16777216&r.flags)return ae;var f,g=e.tryGetClassImplementingOrExtendingExpressionWithTypeArguments(r),E=g&&Ed(ms(g.class));if(e.isPartOfTypeNode(r)){var F=Dc(r);return E?Fw(F,E.thisType):F}if(e.isExpressionNode(r))return eB(r);if(E&&!g.isImplements){var q=e.firstOrUndefined(bk(E));return q?Fw(q,E.thisType):ae}if(i3(r))return Il(f=ms(r));if(function(u1){return u1.kind===78&&i3(u1.parent)&&e.getNameOfDeclaration(u1.parent)===u1}(r))return(f=Ce(r))?Il(f):ae;if(e.isDeclaration(r))return Yo(f=ms(r));if(d1(r))return(f=Ce(r))?Yo(f):ae;if(e.isBindingPattern(r))return ua(r.parent,!0)||ae;if(TU(r)&&(f=Ce(r))){var T0=Il(f);return T0!==ae?T0:Yo(f)}return ae}function yL(r){if(e.Debug.assert(r.kind===201||r.kind===200),r.parent.kind===240)return pN(r,db(r.parent)||ae);if(r.parent.kind===217)return pN(r,JA(r.parent.right)||ae);if(r.parent.kind===289){var f=e.cast(r.parent.parent,e.isObjectLiteralExpression);return X3(f,yL(f)||ae,e.indexOfNode(f.properties,r.parent))}var g=e.cast(r.parent,e.isArrayLiteralExpression),E=yL(g)||ae,F=wm(65,E,Gr,r.parent)||ae;return W7(g,E,g.elements.indexOf(r),F)}function eB(r){return e.isRightSideOfQualifiedNameOrPropertyAccess(r)&&(r=r.parent),Kp(JA(r))}function DL(r){var f=ms(r.parent);return e.hasSyntacticModifier(r,32)?Yo(f):Il(f)}function cj(r){var f=r.name;switch(f.kind){case 78:return sf(e.idText(f));case 8:case 10:return sf(f.text);case 159:var g=Tm(f);return Q6(g,12288)?g:l1;default:return e.Debug.fail(\"Unsupported property name.\")}}function eO(r){r=S4(r);var f=e.createSymbolTable($c(r)),g=_u(r,0).length?fT:_u(r,1).length?qE:void 0;return g&&e.forEach($c(g),function(E){f.has(E.escapedName)||f.set(E.escapedName,E)}),lo(f)}function jV(r){return e.typeHasCallOrConstructSignatures(r,Kn)}function UV(r){if(e.isGeneratedIdentifier(r))return!1;var f=e.getParseTreeNode(r,e.isIdentifier);if(!f)return!1;var g=f.parent;return!!g&&!((e.isPropertyAccessExpression(g)||e.isPropertyAssignment(g))&&g.name===f)&&bL(f)===ar}function kw(r){var f=f5(r.parent,r);if(!f||e.isShorthandAmbientModuleSymbol(f))return!0;var g=zm(f),E=Zo(f=jd(f));return E.exportsSomeValue===void 0&&(E.exportsSomeValue=g?!!(111551&f.flags):e.forEachEntry(Wm(f),function(F){return(F=Zr(F))&&!!(111551&F.flags)})),E.exportsSomeValue}function ok(r,f){var g,E=e.getParseTreeNode(r,e.isIdentifier);if(E){var F=bL(E,function(M1){return e.isModuleOrEnumDeclaration(M1.parent)&&M1===M1.parent.name}(E));if(F){if(1048576&F.flags){var q=Xc(F.exportSymbol);if(!f&&944&q.flags&&!(3&q.flags))return;F=q}var T0=I2(F);if(T0){if(512&T0.flags&&((g=T0.valueDeclaration)===null||g===void 0?void 0:g.kind)===298){var u1=T0.valueDeclaration;return u1!==e.getSourceFileOfNode(E)?void 0:u1}return e.findAncestor(E.parent,function(M1){return e.isModuleOrEnumDeclaration(M1)&&ms(M1)===T0})}}}}function t(r){if(r.generatedImportReference)return r.generatedImportReference;var f=e.getParseTreeNode(r,e.isIdentifier);if(f){var g=bL(f);if(ze(g,111551)&&!Sf(g))return Hf(g)}}function VV(r){if(418&r.flags&&r.valueDeclaration&&!e.isSourceFile(r.valueDeclaration)){var f=Zo(r);if(f.isDeclarationWithCollidingName===void 0){var g=e.getEnclosingBlockScopeContainer(r.valueDeclaration);if(e.isStatementWithLocals(g)||function(u1){return u1.valueDeclaration&&e.isBindingElement(u1.valueDeclaration)&&e.walkUpBindingElementsAndPatterns(u1.valueDeclaration).parent.kind===288}(r)){var E=Fo(r.valueDeclaration);if(j6(g.parent,r.escapedName,111551,void 0,void 0,!1))f.isDeclarationWithCollidingName=!0;else if(262144&E.flags){var F=524288&E.flags,q=e.isIterationStatement(g,!1),T0=g.kind===231&&e.isIterationStatement(g.parent,!1);f.isDeclarationWithCollidingName=!(e.isBlockScopedContainerTopLevel(g)||F&&(q||T0))}else f.isDeclarationWithCollidingName=!1}}return f.isDeclarationWithCollidingName}return!1}function k5(r){if(!e.isGeneratedIdentifier(r)){var f=e.getParseTreeNode(r,e.isIdentifier);if(f){var g=bL(f);if(g&&VV(g))return g.valueDeclaration}}}function fK(r){var f=e.getParseTreeNode(r,e.isDeclaration);if(f){var g=ms(f);if(g)return VV(g)}return!1}function nF(r){switch(r.kind){case 261:return PA(ms(r)||W1);case 263:case 264:case 266:case 271:var f=ms(r)||W1;return PA(f)&&!Sf(f);case 268:var g=r.exportClause;return!!g&&(e.isNamespaceExport(g)||e.some(g.elements,nF));case 267:return!r.expression||r.expression.kind!==78||PA(ms(r)||W1)}return!1}function C9(r){var f=e.getParseTreeNode(r,e.isImportEqualsDeclaration);return!(f===void 0||f.parent.kind!==298||!e.isInternalModuleImportEqualsDeclaration(f))&&PA(ms(f))&&f.moduleReference&&!e.nodeIsMissing(f.moduleReference)}function PA(r){var f=ui(r);return f===W1||!!(111551&f.flags)&&(e.shouldPreserveConstEnums(V1)||!YN(f))}function YN(r){return eb(r)||!!r.constEnumOnlyModule}function vL(r,f){if(gm(r)){var g=ms(r),E=g&&Zo(g);if(E==null?void 0:E.referenced)return!0;var F=Zo(g).target;if(F&&1&e.getEffectiveModifierFlags(r)&&111551&F.flags&&(e.shouldPreserveConstEnums(V1)||!YN(F)))return!0}return!!f&&!!e.forEachChild(r,function(q){return vL(q,f)})}function A4(r){if(e.nodeIsPresent(r.body)){if(e.isGetAccessor(r)||e.isSetAccessor(r))return!1;var f=L2(ms(r));return f.length>1||f.length===1&&f[0].declaration!==r}return!1}function tB(r){return!(!C1||Eh(r)||e.isJSDocParameterTag(r)||!r.initializer||e.hasSyntacticModifier(r,16476))}function yI(r){return C1&&Eh(r)&&!r.initializer&&e.hasSyntacticModifier(r,16476)}function pK(r){var f=e.getParseTreeNode(r,e.isFunctionDeclaration);if(!f)return!1;var g=ms(f);return!!(g&&16&g.flags)&&!!e.forEachEntry(Sw(g),function(E){return 111551&E.flags&&E.valueDeclaration&&e.isPropertyAccessExpression(E.valueDeclaration)})}function dK(r){var f=e.getParseTreeNode(r,e.isFunctionDeclaration);if(!f)return e.emptyArray;var g=ms(f);return g&&$c(Yo(g))||e.emptyArray}function lj(r){return Fo(r).flags||0}function fj(r){return gL(r.parent),Fo(r).enumMemberValue}function d8(r){switch(r.kind){case 292:case 202:case 203:return!0}return!1}function pj(r){if(r.kind===292)return fj(r);var f=Fo(r).resolvedSymbol;if(f&&8&f.flags){var g=f.valueDeclaration;if(e.isEnumConst(g.parent))return fj(g)}}function dj(r){return!!(524288&r.flags)&&_u(r,0).length>0}function wU(r,f){var g,E=e.getParseTreeNode(r,e.isEntityName);if(!E||f&&!(f=e.getParseTreeNode(f)))return e.TypeReferenceSerializationKind.Unknown;var F=nl(E,111551,!0,!0,f),q=((g=F==null?void 0:F.declarations)===null||g===void 0?void 0:g.every(e.isTypeOnlyImportOrExportDeclaration))||!1,T0=F&&2097152&F.flags?ui(F):F,u1=nl(E,788968,!0,!1,f);if(T0&&T0===u1){var M1=EC(!1);if(M1&&T0===M1)return e.TypeReferenceSerializationKind.Promise;var A1=Yo(T0);if(A1&&YL(A1))return q?e.TypeReferenceSerializationKind.TypeWithCallSignature:e.TypeReferenceSerializationKind.TypeWithConstructSignatureAndValue}if(!u1)return q?e.TypeReferenceSerializationKind.ObjectType:e.TypeReferenceSerializationKind.Unknown;var lx=Il(u1);return lx===ae?q?e.TypeReferenceSerializationKind.ObjectType:e.TypeReferenceSerializationKind.Unknown:3&lx.flags?e.TypeReferenceSerializationKind.ObjectType:Q6(lx,245760)?e.TypeReferenceSerializationKind.VoidNullableOrNeverType:Q6(lx,528)?e.TypeReferenceSerializationKind.BooleanType:Q6(lx,296)?e.TypeReferenceSerializationKind.NumberLikeType:Q6(lx,2112)?e.TypeReferenceSerializationKind.BigIntLikeType:Q6(lx,402653316)?e.TypeReferenceSerializationKind.StringLikeType:Vd(lx)?e.TypeReferenceSerializationKind.ArrayLikeType:Q6(lx,12288)?e.TypeReferenceSerializationKind.ESSymbolType:dj(lx)?e.TypeReferenceSerializationKind.TypeWithCallSignature:NA(lx)?e.TypeReferenceSerializationKind.ArrayLikeType:e.TypeReferenceSerializationKind.ObjectType}function kU(r,f,g,E,F){var q=e.getParseTreeNode(r,e.isVariableLikeOrAccessor);if(!q)return e.factory.createToken(128);var T0=ms(q),u1=!T0||133120&T0.flags?ae:fh(Yo(T0));return 8192&u1.flags&&u1.symbol===T0&&(g|=1048576),F&&(u1=nm(u1)),gr.typeToTypeNode(u1,f,1024|g,E)}function mK(r,f,g,E){var F=e.getParseTreeNode(r,e.isFunctionLike);if(!F)return e.factory.createToken(128);var q=xm(F);return gr.typeToTypeNode(yc(q),f,1024|g,E)}function hK(r,f,g,E){var F=e.getParseTreeNode(r,e.isExpression);if(!F)return e.factory.createToken(128);var q=Bp(eB(F));return gr.typeToTypeNode(q,f,1024|g,E)}function mj(r){return Nt.has(e.escapeLeadingUnderscores(r))}function bL(r,f){var g=Fo(r).resolvedSymbol;if(g)return g;var E=r;if(f){var F=r.parent;e.isDeclaration(F)&&r===F.name&&(E=eu(F))}return j6(E,r.escapedText,3257279,void 0,void 0,!0)}function gK(r){if(!e.isGeneratedIdentifier(r)){var f=e.getParseTreeNode(r,e.isIdentifier);if(f){var g=bL(f);if(g)return mP(g).valueDeclaration}}}function _K(r){return!!(e.isDeclarationReadonly(r)||e.isVariableDeclaration(r)&&e.isVarConst(r))&&ch(Yo(ms(r)))}function yK(r,f){return function(g,E,F){var q=1024&g.flags?gr.symbolToExpression(g.symbol,111551,E,void 0,F):g===Kr?e.factory.createTrue():g===Pe&&e.factory.createFalse();if(q)return q;var T0=g.value;return typeof T0==\"object\"?e.factory.createBigIntLiteral(T0):typeof T0==\"number\"?e.factory.createNumericLiteral(T0):e.factory.createStringLiteral(T0)}(Yo(ms(r)),r,f)}function rB(r){return r?(Wa(r),e.getSourceFileOfNode(r).localJsxFactory||mo):mo}function tO(r){if(r){var f=e.getSourceFileOfNode(r);if(f){if(f.localJsxFragmentFactory)return f.localJsxFragmentFactory;var g=f.pragmas.get(\"jsxfrag\"),E=e.isArray(g)?g[0]:g;if(E)return f.localJsxFragmentFactory=e.parseIsolatedEntityName(E.arguments.factory,Ox),f.localJsxFragmentFactory}}if(V1.jsxFragmentFactory)return e.parseIsolatedEntityName(V1.jsxFragmentFactory,Ox)}function q9(r){var f=r.kind===257?e.tryCast(r.name,e.isStringLiteral):e.getExternalModuleName(r),g=p2(f,f,void 0);if(g)return e.getDeclarationOfKind(g,298)}function v6(r,f){if((Q0&f)!==f&&V1.importHelpers){var g=e.getSourceFileOfNode(r);if(e.isEffectiveExternalModule(g,V1)&&!(8388608&r.flags)){var E=function(M1,A1){return y1||(y1=D_(M1,e.externalHelpersModuleNameText,e.Diagnostics.This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found,A1)||W1),y1}(g,r);if(E!==W1){for(var F=f&~Q0,q=1;q<=2097152;q<<=1)if(F&q){var T0=DK(q),u1=ed(E.exports,e.escapeLeadingUnderscores(T0),111551);u1?524288&q?e.some(L2(u1),function(M1){return wd(M1)>3})||ht(r,e.Diagnostics.This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_one_in_0_Consider_upgrading_your_version_of_0,e.externalHelpersModuleNameText,T0,4):1048576&q&&(e.some(L2(u1),function(M1){return wd(M1)>4})||ht(r,e.Diagnostics.This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_one_in_0_Consider_upgrading_your_version_of_0,e.externalHelpersModuleNameText,T0,5)):ht(r,e.Diagnostics.This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_version_of_0,e.externalHelpersModuleNameText,T0)}}Q0|=f}}}function DK(r){switch(r){case 1:return\"__extends\";case 2:return\"__assign\";case 4:return\"__rest\";case 8:return\"__decorate\";case 16:return\"__metadata\";case 32:return\"__param\";case 64:return\"__awaiter\";case 128:return\"__generator\";case 256:return\"__values\";case 512:return\"__read\";case 1024:return\"__spreadArray\";case 2048:return\"__await\";case 4096:return\"__asyncGenerator\";case 8192:return\"__asyncDelegator\";case 16384:return\"__asyncValues\";case 32768:return\"__exportStar\";case 65536:return\"__importStar\";case 131072:return\"__importDefault\";case 262144:return\"__makeTemplateObject\";case 524288:return\"__classPrivateFieldGet\";case 1048576:return\"__classPrivateFieldSet\";case 2097152:return\"__createBinding\";default:return e.Debug.fail(\"Unrecognized helper\")}}function J9(r){return function(f){if(!f.decorators)return!1;if(!e.nodeCanBeDecorated(f,f.parent,f.parent.parent))return f.kind!==166||e.nodeIsPresent(f.body)?zS(f,e.Diagnostics.Decorators_are_not_valid_here):zS(f,e.Diagnostics.A_decorator_can_only_decorate_a_method_implementation_not_an_overload);if(f.kind===168||f.kind===169){var g=e.getAllAccessorDeclarations(f.parent.members,f);if(g.firstAccessor.decorators&&f===g.secondAccessor)return zS(f,e.Diagnostics.Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name)}return!1}(r)||function(f){var g,E,F,q,T0,u1=function(Ge){return!!Ge.modifiers&&(function(er){switch(er.kind){case 168:case 169:case 167:case 164:case 163:case 166:case 165:case 172:case 257:case 262:case 261:case 268:case 267:case 209:case 210:case 161:return!1;default:if(er.parent.kind===258||er.parent.kind===298)return!1;switch(er.kind){case 252:return NU(er,129);case 253:case 176:return NU(er,125);case 254:case 233:case 255:return!0;case 256:return NU(er,84);default:e.Debug.fail()}}}(Ge)?zS(Ge,e.Diagnostics.Modifiers_cannot_appear_here):void 0)}(f);if(u1!==void 0)return u1;for(var M1=0,A1=0,lx=f.modifiers;A1<lx.length;A1++){var Vx=lx[A1];if(Vx.kind!==142){if(f.kind===163||f.kind===165)return wo(Vx,e.Diagnostics._0_modifier_cannot_appear_on_a_type_member,e.tokenToString(Vx.kind));if(f.kind===172&&(Vx.kind!==123||!e.isClassLike(f.parent)))return wo(Vx,e.Diagnostics._0_modifier_cannot_appear_on_an_index_signature,e.tokenToString(Vx.kind))}switch(Vx.kind){case 84:if(f.kind!==256)return wo(f,e.Diagnostics.A_class_member_cannot_have_the_0_keyword,e.tokenToString(84));break;case 156:if(16384&M1)return wo(Vx,e.Diagnostics._0_modifier_already_seen,\"override\");if(2&M1)return wo(Vx,e.Diagnostics._0_modifier_cannot_be_used_with_1_modifier,\"override\",\"declare\");if(64&M1)return wo(Vx,e.Diagnostics._0_modifier_must_precede_1_modifier,\"override\",\"readonly\");if(256&M1)return wo(Vx,e.Diagnostics._0_modifier_must_precede_1_modifier,\"override\",\"async\");M1|=16384,T0=Vx;break;case 122:case 121:case 120:var ye=Ok(e.modifierToFlag(Vx.kind));if(28&M1)return wo(Vx,e.Diagnostics.Accessibility_modifier_already_seen);if(16384&M1)return wo(Vx,e.Diagnostics._0_modifier_must_precede_1_modifier,ye,\"override\");if(32&M1)return wo(Vx,e.Diagnostics._0_modifier_must_precede_1_modifier,ye,\"static\");if(64&M1)return wo(Vx,e.Diagnostics._0_modifier_must_precede_1_modifier,ye,\"readonly\");if(256&M1)return wo(Vx,e.Diagnostics._0_modifier_must_precede_1_modifier,ye,\"async\");if(f.parent.kind===258||f.parent.kind===298)return wo(Vx,e.Diagnostics._0_modifier_cannot_appear_on_a_module_or_namespace_element,ye);if(128&M1)return Vx.kind===120?wo(Vx,e.Diagnostics._0_modifier_cannot_be_used_with_1_modifier,ye,\"abstract\"):wo(Vx,e.Diagnostics._0_modifier_must_precede_1_modifier,ye,\"abstract\");if(e.isPrivateIdentifierClassElementDeclaration(f))return wo(Vx,e.Diagnostics.An_accessibility_modifier_cannot_be_used_with_a_private_identifier);M1|=e.modifierToFlag(Vx.kind);break;case 123:if(32&M1)return wo(Vx,e.Diagnostics._0_modifier_already_seen,\"static\");if(64&M1)return wo(Vx,e.Diagnostics._0_modifier_must_precede_1_modifier,\"static\",\"readonly\");if(256&M1)return wo(Vx,e.Diagnostics._0_modifier_must_precede_1_modifier,\"static\",\"async\");if(f.parent.kind===258||f.parent.kind===298)return wo(Vx,e.Diagnostics._0_modifier_cannot_appear_on_a_module_or_namespace_element,\"static\");if(f.kind===161)return wo(Vx,e.Diagnostics._0_modifier_cannot_appear_on_a_parameter,\"static\");if(128&M1)return wo(Vx,e.Diagnostics._0_modifier_cannot_be_used_with_1_modifier,\"static\",\"abstract\");if(16384&M1)return wo(Vx,e.Diagnostics._0_modifier_must_precede_1_modifier,\"static\",\"override\");M1|=32,g=Vx;break;case 142:if(64&M1)return wo(Vx,e.Diagnostics._0_modifier_already_seen,\"readonly\");if(f.kind!==164&&f.kind!==163&&f.kind!==172&&f.kind!==161)return wo(Vx,e.Diagnostics.readonly_modifier_can_only_appear_on_a_property_declaration_or_index_signature);M1|=64,q=Vx;break;case 92:if(1&M1)return wo(Vx,e.Diagnostics._0_modifier_already_seen,\"export\");if(2&M1)return wo(Vx,e.Diagnostics._0_modifier_must_precede_1_modifier,\"export\",\"declare\");if(128&M1)return wo(Vx,e.Diagnostics._0_modifier_must_precede_1_modifier,\"export\",\"abstract\");if(256&M1)return wo(Vx,e.Diagnostics._0_modifier_must_precede_1_modifier,\"export\",\"async\");if(e.isClassLike(f.parent))return wo(Vx,e.Diagnostics._0_modifier_cannot_appear_on_class_elements_of_this_kind,\"export\");if(f.kind===161)return wo(Vx,e.Diagnostics._0_modifier_cannot_appear_on_a_parameter,\"export\");M1|=1;break;case 87:var Ue=f.parent.kind===298?f.parent:f.parent.parent;if(Ue.kind===257&&!e.isAmbientModule(Ue))return wo(Vx,e.Diagnostics.A_default_export_can_only_be_used_in_an_ECMAScript_style_module);M1|=512;break;case 133:if(2&M1)return wo(Vx,e.Diagnostics._0_modifier_already_seen,\"declare\");if(256&M1)return wo(Vx,e.Diagnostics._0_modifier_cannot_be_used_in_an_ambient_context,\"async\");if(16384&M1)return wo(Vx,e.Diagnostics._0_modifier_cannot_be_used_in_an_ambient_context,\"override\");if(e.isClassLike(f.parent)&&!e.isPropertyDeclaration(f))return wo(Vx,e.Diagnostics._0_modifier_cannot_appear_on_class_elements_of_this_kind,\"declare\");if(f.kind===161)return wo(Vx,e.Diagnostics._0_modifier_cannot_appear_on_a_parameter,\"declare\");if(8388608&f.parent.flags&&f.parent.kind===258)return wo(Vx,e.Diagnostics.A_declare_modifier_cannot_be_used_in_an_already_ambient_context);if(e.isPrivateIdentifierClassElementDeclaration(f))return wo(Vx,e.Diagnostics._0_modifier_cannot_be_used_with_a_private_identifier,\"declare\");M1|=2,E=Vx;break;case 125:if(128&M1)return wo(Vx,e.Diagnostics._0_modifier_already_seen,\"abstract\");if(f.kind!==253&&f.kind!==176){if(f.kind!==166&&f.kind!==164&&f.kind!==168&&f.kind!==169)return wo(Vx,e.Diagnostics.abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration);if(f.parent.kind!==253||!e.hasSyntacticModifier(f.parent,128))return wo(Vx,e.Diagnostics.Abstract_methods_can_only_appear_within_an_abstract_class);if(32&M1)return wo(Vx,e.Diagnostics._0_modifier_cannot_be_used_with_1_modifier,\"static\",\"abstract\");if(8&M1)return wo(Vx,e.Diagnostics._0_modifier_cannot_be_used_with_1_modifier,\"private\",\"abstract\");if(256&M1&&F)return wo(F,e.Diagnostics._0_modifier_cannot_be_used_with_1_modifier,\"async\",\"abstract\");if(16384&M1)return wo(Vx,e.Diagnostics._0_modifier_must_precede_1_modifier,\"abstract\",\"override\")}if(e.isNamedDeclaration(f)&&f.name.kind===79)return wo(Vx,e.Diagnostics._0_modifier_cannot_be_used_with_a_private_identifier,\"abstract\");M1|=128;break;case 129:if(256&M1)return wo(Vx,e.Diagnostics._0_modifier_already_seen,\"async\");if(2&M1||8388608&f.parent.flags)return wo(Vx,e.Diagnostics._0_modifier_cannot_be_used_in_an_ambient_context,\"async\");if(f.kind===161)return wo(Vx,e.Diagnostics._0_modifier_cannot_appear_on_a_parameter,\"async\");if(128&M1)return wo(Vx,e.Diagnostics._0_modifier_cannot_be_used_with_1_modifier,\"async\",\"abstract\");M1|=256,F=Vx}}return f.kind===167?32&M1?wo(g,e.Diagnostics._0_modifier_cannot_appear_on_a_constructor_declaration,\"static\"):128&M1?wo(g,e.Diagnostics._0_modifier_cannot_appear_on_a_constructor_declaration,\"abstract\"):16384&M1?wo(T0,e.Diagnostics._0_modifier_cannot_appear_on_a_constructor_declaration,\"override\"):256&M1?wo(F,e.Diagnostics._0_modifier_cannot_appear_on_a_constructor_declaration,\"async\"):!!(64&M1)&&wo(q,e.Diagnostics._0_modifier_cannot_appear_on_a_constructor_declaration,\"readonly\"):(f.kind===262||f.kind===261)&&2&M1?wo(E,e.Diagnostics.A_0_modifier_cannot_be_used_with_an_import_declaration,\"declare\"):f.kind===161&&16476&M1&&e.isBindingPattern(f.name)?wo(f,e.Diagnostics.A_parameter_property_may_not_be_declared_using_a_binding_pattern):f.kind===161&&16476&M1&&f.dotDotDotToken?wo(f,e.Diagnostics.A_parameter_property_cannot_be_declared_using_a_rest_parameter):256&M1?function(Ge,er){switch(Ge.kind){case 166:case 252:case 209:case 210:return!1}return wo(er,e.Diagnostics._0_modifier_cannot_be_used_here,\"async\")}(f,F):!1}(r)}function NU(r,f){return r.modifiers.length>1||r.modifiers[0].kind!==f}function i9(r,f){return f===void 0&&(f=e.Diagnostics.Trailing_comma_not_allowed),!(!r||!r.hasTrailingComma)&&rh(r[0],r.end-\",\".length,\",\".length,f)}function vK(r,f){if(r&&r.length===0){var g=r.pos-\"<\".length;return rh(f,g,e.skipTrivia(f.text,r.end)+\">\".length-g,e.Diagnostics.Type_parameter_list_cannot_be_empty)}return!1}function $V(r){if(Ox>=3){var f=r.body&&e.isBlock(r.body)&&e.findUseStrictPrologue(r.body.statements);if(f){var g=(F=r.parameters,e.filter(F,function(q){return!!q.initializer||e.isBindingPattern(q.name)||e.isRestParameter(q)}));if(e.length(g)){e.forEach(g,function(q){e.addRelatedInfo(ht(q,e.Diagnostics.This_parameter_is_not_allowed_with_use_strict_directive),e.createDiagnosticForNode(f,e.Diagnostics.use_strict_directive_used_here))});var E=g.map(function(q,T0){return T0===0?e.createDiagnosticForNode(q,e.Diagnostics.Non_simple_parameter_declared_here):e.createDiagnosticForNode(q,e.Diagnostics.and_here)});return e.addRelatedInfo.apply(void 0,D([ht(f,e.Diagnostics.use_strict_directive_cannot_be_used_with_non_simple_parameter_list)],E)),!0}}}var F;return!1}function PM(r){var f=e.getSourceFileOfNode(r);return J9(r)||vK(r.typeParameters,f)||function(g){for(var E=!1,F=g.length,q=0;q<F;q++){var T0=g[q];if(T0.dotDotDotToken){if(q!==F-1)return wo(T0.dotDotDotToken,e.Diagnostics.A_rest_parameter_must_be_last_in_a_parameter_list);if(8388608&T0.flags||i9(g,e.Diagnostics.A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma),T0.questionToken)return wo(T0.questionToken,e.Diagnostics.A_rest_parameter_cannot_be_optional);if(T0.initializer)return wo(T0.name,e.Diagnostics.A_rest_parameter_cannot_have_an_initializer)}else if(Eh(T0)){if(E=!0,T0.questionToken&&T0.initializer)return wo(T0.name,e.Diagnostics.Parameter_cannot_have_question_mark_and_initializer)}else if(E&&!T0.initializer)return wo(T0.name,e.Diagnostics.A_required_parameter_cannot_follow_an_optional_parameter)}}(r.parameters)||function(g,E){if(!e.isArrowFunction(g))return!1;var F=g.equalsGreaterThanToken,q=e.getLineAndCharacterOfPosition(E,F.pos).line,T0=e.getLineAndCharacterOfPosition(E,F.end).line;return q!==T0&&wo(F,e.Diagnostics.Line_terminator_not_permitted_before_arrow)}(r,f)||e.isFunctionLikeDeclaration(r)&&$V(r)}function IM(r,f){return i9(f)||function(g,E){if(E&&E.length===0){var F=e.getSourceFileOfNode(g),q=E.pos-\"<\".length;return rh(F,q,e.skipTrivia(F.text,E.end)+\">\".length-q,e.Diagnostics.Type_argument_list_cannot_be_empty)}return!1}(r,f)}function bK(r){return function(f){if(f)for(var g=0,E=f;g<E.length;g++){var F=E[g];if(F.kind===223)return rh(F,F.pos,0,e.Diagnostics.Argument_expression_expected)}return!1}(r)}function PU(r){var f=r.types;if(i9(f))return!0;if(f&&f.length===0){var g=e.tokenToString(r.token);return rh(r,f.pos,0,e.Diagnostics._0_list_cannot_be_empty,g)}return e.some(f,CK)}function CK(r){return IM(r,r.typeArguments)}function IU(r){if(r.kind!==159)return!1;var f=r;return f.expression.kind===217&&f.expression.operatorToken.kind===27&&wo(f.expression,e.Diagnostics.A_comma_expression_is_not_allowed_in_a_computed_property_name)}function TP(r){if(r.asteriskToken){if(e.Debug.assert(r.kind===252||r.kind===209||r.kind===166),8388608&r.flags)return wo(r.asteriskToken,e.Diagnostics.Generators_are_not_allowed_in_an_ambient_context);if(!r.body)return wo(r.asteriskToken,e.Diagnostics.An_overload_signature_cannot_be_declared_as_a_generator)}}function KV(r,f){return!!r&&wo(r,f)}function S2(r,f){return!!r&&wo(r,f)}function nB(r){if(a9(r))return!0;if(r.kind===240&&r.awaitModifier&&!(32768&r.flags)){var f=e.getSourceFileOfNode(r);if(e.isInTopLevelContext(r))HA(f)||(e.isEffectiveExternalModule(f,V1)||Ku.add(e.createDiagnosticForNode(r.awaitModifier,e.Diagnostics.for_await_loops_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module)),($x!==e.ModuleKind.ESNext&&$x!==e.ModuleKind.System||Ox<4)&&Ku.add(e.createDiagnosticForNode(r.awaitModifier,e.Diagnostics.Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_esnext_or_system_and_the_target_option_is_set_to_es2017_or_higher)));else if(!HA(f)){var g=e.createDiagnosticForNode(r.awaitModifier,e.Diagnostics.for_await_loops_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules),E=e.getContainingFunction(r);if(E&&E.kind!==167){e.Debug.assert((2&e.getFunctionFlags(E))==0,\"Enclosing function should never be an async function.\");var F=e.createDiagnosticForNode(E,e.Diagnostics.Did_you_mean_to_mark_this_function_as_async);e.addRelatedInfo(g,F)}return Ku.add(g),!0}return!1}if(r.initializer.kind===251){var q=r.initializer;if(!QN(q)){var T0=q.declarations;if(!T0.length)return!1;if(T0.length>1)return g=r.kind===239?e.Diagnostics.Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement:e.Diagnostics.Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement,zS(q.declarations[1],g);var u1=T0[0];if(u1.initializer){var g=r.kind===239?e.Diagnostics.The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer:e.Diagnostics.The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer;return wo(u1.name,g)}if(u1.type)return wo(u1,g=r.kind===239?e.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation:e.Diagnostics.The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation)}}return!1}function OM(r){if(r.parameters.length===(r.kind===168?1:2))return e.getThisParameter(r)}function HT(r,f){if(function(g){return e.isDynamicName(g)&&!bR(g)}(r))return wo(r,f)}function sk(r){if(PM(r))return!0;if(r.kind===166){if(r.parent.kind===201){if(r.modifiers&&(r.modifiers.length!==1||e.first(r.modifiers).kind!==129))return zS(r,e.Diagnostics.Modifiers_cannot_appear_here);if(KV(r.questionToken,e.Diagnostics.An_object_member_cannot_be_declared_optional)||S2(r.exclamationToken,e.Diagnostics.A_definite_assignment_assertion_is_not_permitted_in_this_context))return!0;if(r.body===void 0)return rh(r,r.end-1,\";\".length,e.Diagnostics._0_expected,\"{\")}if(TP(r))return!0}if(e.isClassLike(r.parent)){if(Ox<2&&e.isPrivateIdentifier(r.name))return wo(r.name,e.Diagnostics.Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher);if(8388608&r.flags)return HT(r.name,e.Diagnostics.A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type);if(r.kind===166&&!r.body)return HT(r.name,e.Diagnostics.A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type)}else{if(r.parent.kind===254)return HT(r.name,e.Diagnostics.A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type);if(r.parent.kind===178)return HT(r.name,e.Diagnostics.A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type)}}function hj(r){return e.isStringOrNumericLiteralLike(r)||r.kind===215&&r.operator===40&&r.operand.kind===8}function BM(r){var f,g=r.initializer;if(g){var E=!(hj(g)||function(q){if((e.isPropertyAccessExpression(q)||e.isElementAccessExpression(q)&&hj(q.argumentExpression))&&e.isEntityNameExpression(q.expression))return!!(1024&VC(q).flags)}(g)||g.kind===109||g.kind===94||(f=g,f.kind===9||f.kind===215&&f.operator===40&&f.operand.kind===9)),F=e.isDeclarationReadonly(r)||e.isVariableDeclaration(r)&&e.isVarConst(r);if(!F||r.type)return wo(g,e.Diagnostics.Initializers_are_not_allowed_in_ambient_contexts);if(E)return wo(g,e.Diagnostics.A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_reference);if(!F||E)return wo(g,e.Diagnostics.Initializers_are_not_allowed_in_ambient_contexts)}}function LM(r){if(r.kind===78){if(e.idText(r)===\"__esModule\")return function(F,q,T0,u1,M1,A1){return HA(e.getSourceFileOfNode(q))?!1:(rs(F,q,T0,u1,M1,A1),!0)}(\"noEmit\",r,e.Diagnostics.Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules)}else for(var f=0,g=r.elements;f<g.length;f++){var E=g[f];if(!e.isOmittedExpression(E))return LM(E.name)}return!1}function gj(r){if(r.kind===78){if(r.originalKeywordKind===118)return wo(r,e.Diagnostics.let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations)}else for(var f=0,g=r.elements;f<g.length;f++){var E=g[f];e.isOmittedExpression(E)||gj(E.name)}return!1}function QN(r){var f=r.declarations;return!!i9(r.declarations)||!r.declarations.length&&rh(r,f.pos,f.end-f.pos,e.Diagnostics.Variable_declaration_list_cannot_be_empty)}function MM(r){switch(r.kind){case 235:case 236:case 237:case 244:case 238:case 239:case 240:return!1;case 246:return MM(r.parent)}return!0}function HA(r){return r.parseDiagnostics.length>0}function zS(r,f,g,E,F){var q=e.getSourceFileOfNode(r);if(!HA(q)){var T0=e.getSpanOfTokenAtPosition(q,r.pos);return Ku.add(e.createFileDiagnostic(q,T0.start,T0.length,f,g,E,F)),!0}return!1}function rh(r,f,g,E,F,q,T0){var u1=e.getSourceFileOfNode(r);return!HA(u1)&&(Ku.add(e.createFileDiagnostic(u1,f,g,E,F,q,T0)),!0)}function wo(r,f,g,E,F){return!HA(e.getSourceFileOfNode(r))&&(Ku.add(e.createDiagnosticForNode(r,f,g,E,F)),!0)}function wP(r){return r.kind!==254&&r.kind!==255&&r.kind!==262&&r.kind!==261&&r.kind!==268&&r.kind!==267&&r.kind!==260&&!e.hasSyntacticModifier(r,515)&&zS(r,e.Diagnostics.Top_level_declarations_in_d_ts_files_must_start_with_either_a_declare_or_export_modifier)}function a9(r){if(8388608&r.flags){if(!Fo(r).hasReportedStatementInAmbientContext&&(e.isFunctionLike(r.parent)||e.isAccessor(r.parent)))return Fo(r).hasReportedStatementInAmbientContext=zS(r,e.Diagnostics.An_implementation_cannot_be_declared_in_ambient_contexts);if(r.parent.kind===231||r.parent.kind===258||r.parent.kind===298){var f=Fo(r.parent);if(!f.hasReportedStatementInAmbientContext)return f.hasReportedStatementInAmbientContext=zS(r,e.Diagnostics.Statements_are_not_allowed_in_ambient_contexts)}}return!1}function CL(r){if(32&r.numericLiteralFlags){var f=void 0;if(Ox>=1?f=e.Diagnostics.Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0:e.isChildOfNodeWithKind(r,192)?f=e.Diagnostics.Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0:e.isChildOfNodeWithKind(r,292)&&(f=e.Diagnostics.Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0),f){var g=e.isPrefixUnaryExpression(r.parent)&&r.parent.operator===40,E=(g?\"-\":\"\")+\"0o\"+r.text;return wo(g?r.parent:r,f,E)}}return function(F){if(!(16&F.numericLiteralFlags||F.text.length<=15||F.text.indexOf(\".\")!==-1)){var q=+e.getTextOfNode(F);q<=Math.pow(2,53)-1&&q+1>q||Mu(!1,e.createDiagnosticForNode(F,e.Diagnostics.Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accurately_as_integers))}}(r),!1}function _j(r,f,g,E){if(1048576&f.flags&&2621440&r.flags){var F=lU(f,r);if(F)return F;var q=$c(r);if(q){var T0=m7(q,f);if(T0)return hv(f,e.map(T0,function(u1){return[function(){return Yo(u1)},u1.escapedName]}),g,void 0,E)}}}},function(Y0){Y0.JSX=\"JSX\",Y0.IntrinsicElements=\"IntrinsicElements\",Y0.ElementClass=\"ElementClass\",Y0.ElementAttributesPropertyNameContainer=\"ElementAttributesProperty\",Y0.ElementChildrenAttributeNameContainer=\"ElementChildrenAttribute\",Y0.Element=\"Element\",Y0.IntrinsicAttributes=\"IntrinsicAttributes\",Y0.IntrinsicClassAttributes=\"IntrinsicClassAttributes\",Y0.LibraryManagedAttributes=\"LibraryManagedAttributes\"}(w||(w={})),e.signatureHasRestParameter=S1,e.signatureHasLiteralTypes=Q1}(_0||(_0={})),function(e){function s(I,A,Z,A0){if(I===void 0||A===void 0)return I;var o0,j=A(I);return j===I?I:j!==void 0?(o0=e.isArray(j)?(A0||E0)(j):j,e.Debug.assertNode(o0,Z),o0):void 0}function X(I,A,Z,A0,o0){if(I===void 0||A===void 0)return I;var j,G,u0=I.length;(A0===void 0||A0<0)&&(A0=0),(o0===void 0||o0>u0-A0)&&(o0=u0-A0);var U=-1,g0=-1;(A0>0||o0<u0)&&(j=[],G=I.hasTrailingComma&&A0+o0===u0);for(var d0=0;d0<o0;d0++){var P0=I[d0+A0],c0=P0!==void 0?A(P0):void 0;if((j!==void 0||c0===void 0||c0!==P0)&&(j===void 0&&(j=I.slice(0,d0),G=I.hasTrailingComma,U=I.pos,g0=I.end),c0))if(e.isArray(c0))for(var D0=0,x0=c0;D0<x0.length;D0++){var l0=x0[D0];e.Debug.assertNode(l0,Z),j.push(l0)}else e.Debug.assertNode(c0,Z),j.push(c0)}if(j){var w0=e.factory.createNodeArray(j,G);return e.setTextRangePosEnd(w0,U,g0),w0}return I}function J(I,A,Z,A0,o0,j){return j===void 0&&(j=X),Z.startLexicalEnvironment(),I=j(I,A,e.isStatement,A0),o0&&(I=Z.factory.ensureUseStrict(I)),e.factory.mergeLexicalEnvironment(I,Z.endLexicalEnvironment())}function m0(I,A,Z,A0){var o0;return A0===void 0&&(A0=X),Z.startLexicalEnvironment(),I&&(Z.setLexicalEnvironmentFlags(1,!0),o0=A0(I,A,e.isParameterDeclaration),2&Z.getLexicalEnvironmentFlags()&&e.getEmitScriptTarget(Z.getCompilerOptions())>=2&&(o0=function(j,G){for(var u0,U=0;U<j.length;U++){var g0=j[U],d0=s1(g0,G);(u0||d0!==g0)&&(u0||(u0=j.slice(0,U)),u0[U]=d0)}return u0?e.setTextRange(G.factory.createNodeArray(u0,j.hasTrailingComma),j):j}(o0,Z)),Z.setLexicalEnvironmentFlags(1,!1)),Z.suspendLexicalEnvironment(),o0}function s1(I,A){return I.dotDotDotToken?I:e.isBindingPattern(I.name)?function(Z,A0){var o0=A0.factory;return A0.addInitializationStatement(o0.createVariableStatement(void 0,o0.createVariableDeclarationList([o0.createVariableDeclaration(Z.name,void 0,Z.type,Z.initializer?o0.createConditionalExpression(o0.createStrictEquality(o0.getGeneratedNameForNode(Z),o0.createVoidZero()),void 0,Z.initializer,void 0,o0.getGeneratedNameForNode(Z)):o0.getGeneratedNameForNode(Z))]))),o0.updateParameterDeclaration(Z,Z.decorators,Z.modifiers,Z.dotDotDotToken,o0.getGeneratedNameForNode(Z),Z.questionToken,Z.type,void 0)}(I,A):I.initializer?function(Z,A0,o0,j){var G=j.factory;return j.addInitializationStatement(G.createIfStatement(G.createTypeCheck(G.cloneNode(A0),\"undefined\"),e.setEmitFlags(e.setTextRange(G.createBlock([G.createExpressionStatement(e.setEmitFlags(e.setTextRange(G.createAssignment(e.setEmitFlags(G.cloneNode(A0),48),e.setEmitFlags(o0,1584|e.getEmitFlags(o0))),Z),1536))]),Z),1953))),G.updateParameterDeclaration(Z,Z.decorators,Z.modifiers,Z.dotDotDotToken,Z.name,Z.questionToken,Z.type,void 0)}(I,I.name,I.initializer,A):I}function i0(I,A,Z,A0){A0===void 0&&(A0=s),Z.resumeLexicalEnvironment();var o0=A0(I,A,e.isConciseBody),j=Z.endLexicalEnvironment();if(e.some(j)){if(!o0)return Z.factory.createBlock(j);var G=Z.factory.converters.convertToFunctionBlock(o0),u0=e.factory.mergeLexicalEnvironment(G.statements,j);return Z.factory.updateBlock(G,u0)}return o0}function H0(I,A,Z){Z.startBlockScope();var A0=s(I,A,e.isStatement,Z.factory.liftToBlock),o0=Z.endBlockScope();return e.some(o0)?e.isBlock(A0)?(o0.push.apply(o0,A0.statements),Z.factory.updateBlock(A0,o0)):(o0.push(A0),Z.factory.createBlock(o0)):A0}function E0(I){return e.Debug.assert(I.length<=1,\"Too many nodes written to output.\"),e.singleOrUndefined(I)}e.visitNode=s,e.visitNodes=X,e.visitLexicalEnvironment=J,e.visitParameterList=m0,e.visitFunctionBody=i0,e.visitIterationBody=H0,e.visitEachChild=function(I,A,Z,A0,o0,j){if(A0===void 0&&(A0=X),j===void 0&&(j=s),I!==void 0){var G=I.kind;if(G>0&&G<=157||G===188)return I;var u0=Z.factory;switch(G){case 78:return e.Debug.type(I),u0.updateIdentifier(I,A0(I.typeArguments,A,e.isTypeNodeOrTypeParameterDeclaration));case 158:return e.Debug.type(I),u0.updateQualifiedName(I,j(I.left,A,e.isEntityName),j(I.right,A,e.isIdentifier));case 159:return e.Debug.type(I),u0.updateComputedPropertyName(I,j(I.expression,A,e.isExpression));case 160:return e.Debug.type(I),u0.updateTypeParameterDeclaration(I,j(I.name,A,e.isIdentifier),j(I.constraint,A,e.isTypeNode),j(I.default,A,e.isTypeNode));case 161:return e.Debug.type(I),u0.updateParameterDeclaration(I,A0(I.decorators,A,e.isDecorator),A0(I.modifiers,A,e.isModifier),j(I.dotDotDotToken,o0,e.isDotDotDotToken),j(I.name,A,e.isBindingName),j(I.questionToken,o0,e.isQuestionToken),j(I.type,A,e.isTypeNode),j(I.initializer,A,e.isExpression));case 162:return e.Debug.type(I),u0.updateDecorator(I,j(I.expression,A,e.isExpression));case 163:return e.Debug.type(I),u0.updatePropertySignature(I,A0(I.modifiers,A,e.isModifier),j(I.name,A,e.isPropertyName),j(I.questionToken,o0,e.isToken),j(I.type,A,e.isTypeNode));case 164:return e.Debug.type(I),u0.updatePropertyDeclaration(I,A0(I.decorators,A,e.isDecorator),A0(I.modifiers,A,e.isModifier),j(I.name,A,e.isPropertyName),j(I.questionToken||I.exclamationToken,o0,e.isQuestionOrExclamationToken),j(I.type,A,e.isTypeNode),j(I.initializer,A,e.isExpression));case 165:return e.Debug.type(I),u0.updateMethodSignature(I,A0(I.modifiers,A,e.isModifier),j(I.name,A,e.isPropertyName),j(I.questionToken,o0,e.isQuestionToken),A0(I.typeParameters,A,e.isTypeParameterDeclaration),A0(I.parameters,A,e.isParameterDeclaration),j(I.type,A,e.isTypeNode));case 166:return e.Debug.type(I),u0.updateMethodDeclaration(I,A0(I.decorators,A,e.isDecorator),A0(I.modifiers,A,e.isModifier),j(I.asteriskToken,o0,e.isAsteriskToken),j(I.name,A,e.isPropertyName),j(I.questionToken,o0,e.isQuestionToken),A0(I.typeParameters,A,e.isTypeParameterDeclaration),m0(I.parameters,A,Z,A0),j(I.type,A,e.isTypeNode),i0(I.body,A,Z,j));case 167:return e.Debug.type(I),u0.updateConstructorDeclaration(I,A0(I.decorators,A,e.isDecorator),A0(I.modifiers,A,e.isModifier),m0(I.parameters,A,Z,A0),i0(I.body,A,Z,j));case 168:return e.Debug.type(I),u0.updateGetAccessorDeclaration(I,A0(I.decorators,A,e.isDecorator),A0(I.modifiers,A,e.isModifier),j(I.name,A,e.isPropertyName),m0(I.parameters,A,Z,A0),j(I.type,A,e.isTypeNode),i0(I.body,A,Z,j));case 169:return e.Debug.type(I),u0.updateSetAccessorDeclaration(I,A0(I.decorators,A,e.isDecorator),A0(I.modifiers,A,e.isModifier),j(I.name,A,e.isPropertyName),m0(I.parameters,A,Z,A0),i0(I.body,A,Z,j));case 170:return e.Debug.type(I),u0.updateCallSignature(I,A0(I.typeParameters,A,e.isTypeParameterDeclaration),A0(I.parameters,A,e.isParameterDeclaration),j(I.type,A,e.isTypeNode));case 171:return e.Debug.type(I),u0.updateConstructSignature(I,A0(I.typeParameters,A,e.isTypeParameterDeclaration),A0(I.parameters,A,e.isParameterDeclaration),j(I.type,A,e.isTypeNode));case 172:return e.Debug.type(I),u0.updateIndexSignature(I,A0(I.decorators,A,e.isDecorator),A0(I.modifiers,A,e.isModifier),A0(I.parameters,A,e.isParameterDeclaration),j(I.type,A,e.isTypeNode));case 173:return e.Debug.type(I),u0.updateTypePredicateNode(I,j(I.assertsModifier,A,e.isAssertsKeyword),j(I.parameterName,A,e.isIdentifierOrThisTypeNode),j(I.type,A,e.isTypeNode));case 174:return e.Debug.type(I),u0.updateTypeReferenceNode(I,j(I.typeName,A,e.isEntityName),A0(I.typeArguments,A,e.isTypeNode));case 175:return e.Debug.type(I),u0.updateFunctionTypeNode(I,A0(I.typeParameters,A,e.isTypeParameterDeclaration),A0(I.parameters,A,e.isParameterDeclaration),j(I.type,A,e.isTypeNode));case 176:return e.Debug.type(I),u0.updateConstructorTypeNode(I,A0(I.modifiers,A,e.isModifier),A0(I.typeParameters,A,e.isTypeParameterDeclaration),A0(I.parameters,A,e.isParameterDeclaration),j(I.type,A,e.isTypeNode));case 177:return e.Debug.type(I),u0.updateTypeQueryNode(I,j(I.exprName,A,e.isEntityName));case 178:return e.Debug.type(I),u0.updateTypeLiteralNode(I,A0(I.members,A,e.isTypeElement));case 179:return e.Debug.type(I),u0.updateArrayTypeNode(I,j(I.elementType,A,e.isTypeNode));case 180:return e.Debug.type(I),u0.updateTupleTypeNode(I,A0(I.elements,A,e.isTypeNode));case 181:return e.Debug.type(I),u0.updateOptionalTypeNode(I,j(I.type,A,e.isTypeNode));case 182:return e.Debug.type(I),u0.updateRestTypeNode(I,j(I.type,A,e.isTypeNode));case 183:return e.Debug.type(I),u0.updateUnionTypeNode(I,A0(I.types,A,e.isTypeNode));case 184:return e.Debug.type(I),u0.updateIntersectionTypeNode(I,A0(I.types,A,e.isTypeNode));case 185:return e.Debug.type(I),u0.updateConditionalTypeNode(I,j(I.checkType,A,e.isTypeNode),j(I.extendsType,A,e.isTypeNode),j(I.trueType,A,e.isTypeNode),j(I.falseType,A,e.isTypeNode));case 186:return e.Debug.type(I),u0.updateInferTypeNode(I,j(I.typeParameter,A,e.isTypeParameterDeclaration));case 196:return e.Debug.type(I),u0.updateImportTypeNode(I,j(I.argument,A,e.isTypeNode),j(I.qualifier,A,e.isEntityName),X(I.typeArguments,A,e.isTypeNode),I.isTypeOf);case 193:return e.Debug.type(I),u0.updateNamedTupleMember(I,s(I.dotDotDotToken,A,e.isDotDotDotToken),s(I.name,A,e.isIdentifier),s(I.questionToken,A,e.isQuestionToken),s(I.type,A,e.isTypeNode));case 187:return e.Debug.type(I),u0.updateParenthesizedType(I,j(I.type,A,e.isTypeNode));case 189:return e.Debug.type(I),u0.updateTypeOperatorNode(I,j(I.type,A,e.isTypeNode));case 190:return e.Debug.type(I),u0.updateIndexedAccessTypeNode(I,j(I.objectType,A,e.isTypeNode),j(I.indexType,A,e.isTypeNode));case 191:return e.Debug.type(I),u0.updateMappedTypeNode(I,j(I.readonlyToken,o0,e.isReadonlyKeywordOrPlusOrMinusToken),j(I.typeParameter,A,e.isTypeParameterDeclaration),j(I.nameType,A,e.isTypeNode),j(I.questionToken,o0,e.isQuestionOrPlusOrMinusToken),j(I.type,A,e.isTypeNode));case 192:return e.Debug.type(I),u0.updateLiteralTypeNode(I,j(I.literal,A,e.isExpression));case 194:return e.Debug.type(I),u0.updateTemplateLiteralType(I,j(I.head,A,e.isTemplateHead),A0(I.templateSpans,A,e.isTemplateLiteralTypeSpan));case 195:return e.Debug.type(I),u0.updateTemplateLiteralTypeSpan(I,j(I.type,A,e.isTypeNode),j(I.literal,A,e.isTemplateMiddleOrTemplateTail));case 197:return e.Debug.type(I),u0.updateObjectBindingPattern(I,A0(I.elements,A,e.isBindingElement));case 198:return e.Debug.type(I),u0.updateArrayBindingPattern(I,A0(I.elements,A,e.isArrayBindingElement));case 199:return e.Debug.type(I),u0.updateBindingElement(I,j(I.dotDotDotToken,o0,e.isDotDotDotToken),j(I.propertyName,A,e.isPropertyName),j(I.name,A,e.isBindingName),j(I.initializer,A,e.isExpression));case 200:return e.Debug.type(I),u0.updateArrayLiteralExpression(I,A0(I.elements,A,e.isExpression));case 201:return e.Debug.type(I),u0.updateObjectLiteralExpression(I,A0(I.properties,A,e.isObjectLiteralElementLike));case 202:return 32&I.flags?(e.Debug.type(I),u0.updatePropertyAccessChain(I,j(I.expression,A,e.isExpression),j(I.questionDotToken,o0,e.isQuestionDotToken),j(I.name,A,e.isMemberName))):(e.Debug.type(I),u0.updatePropertyAccessExpression(I,j(I.expression,A,e.isExpression),j(I.name,A,e.isMemberName)));case 203:return 32&I.flags?(e.Debug.type(I),u0.updateElementAccessChain(I,j(I.expression,A,e.isExpression),j(I.questionDotToken,o0,e.isQuestionDotToken),j(I.argumentExpression,A,e.isExpression))):(e.Debug.type(I),u0.updateElementAccessExpression(I,j(I.expression,A,e.isExpression),j(I.argumentExpression,A,e.isExpression)));case 204:return 32&I.flags?(e.Debug.type(I),u0.updateCallChain(I,j(I.expression,A,e.isExpression),j(I.questionDotToken,o0,e.isQuestionDotToken),A0(I.typeArguments,A,e.isTypeNode),A0(I.arguments,A,e.isExpression))):(e.Debug.type(I),u0.updateCallExpression(I,j(I.expression,A,e.isExpression),A0(I.typeArguments,A,e.isTypeNode),A0(I.arguments,A,e.isExpression)));case 205:return e.Debug.type(I),u0.updateNewExpression(I,j(I.expression,A,e.isExpression),A0(I.typeArguments,A,e.isTypeNode),A0(I.arguments,A,e.isExpression));case 206:return e.Debug.type(I),u0.updateTaggedTemplateExpression(I,j(I.tag,A,e.isExpression),X(I.typeArguments,A,e.isTypeNode),j(I.template,A,e.isTemplateLiteral));case 207:return e.Debug.type(I),u0.updateTypeAssertion(I,j(I.type,A,e.isTypeNode),j(I.expression,A,e.isExpression));case 208:return e.Debug.type(I),u0.updateParenthesizedExpression(I,j(I.expression,A,e.isExpression));case 209:return e.Debug.type(I),u0.updateFunctionExpression(I,A0(I.modifiers,A,e.isModifier),j(I.asteriskToken,o0,e.isAsteriskToken),j(I.name,A,e.isIdentifier),A0(I.typeParameters,A,e.isTypeParameterDeclaration),m0(I.parameters,A,Z,A0),j(I.type,A,e.isTypeNode),i0(I.body,A,Z,j));case 210:return e.Debug.type(I),u0.updateArrowFunction(I,A0(I.modifiers,A,e.isModifier),A0(I.typeParameters,A,e.isTypeParameterDeclaration),m0(I.parameters,A,Z,A0),j(I.type,A,e.isTypeNode),j(I.equalsGreaterThanToken,o0,e.isEqualsGreaterThanToken),i0(I.body,A,Z,j));case 211:return e.Debug.type(I),u0.updateDeleteExpression(I,j(I.expression,A,e.isExpression));case 212:return e.Debug.type(I),u0.updateTypeOfExpression(I,j(I.expression,A,e.isExpression));case 213:return e.Debug.type(I),u0.updateVoidExpression(I,j(I.expression,A,e.isExpression));case 214:return e.Debug.type(I),u0.updateAwaitExpression(I,j(I.expression,A,e.isExpression));case 215:return e.Debug.type(I),u0.updatePrefixUnaryExpression(I,j(I.operand,A,e.isExpression));case 216:return e.Debug.type(I),u0.updatePostfixUnaryExpression(I,j(I.operand,A,e.isExpression));case 217:return e.Debug.type(I),u0.updateBinaryExpression(I,j(I.left,A,e.isExpression),j(I.operatorToken,o0,e.isBinaryOperatorToken),j(I.right,A,e.isExpression));case 218:return e.Debug.type(I),u0.updateConditionalExpression(I,j(I.condition,A,e.isExpression),j(I.questionToken,o0,e.isQuestionToken),j(I.whenTrue,A,e.isExpression),j(I.colonToken,o0,e.isColonToken),j(I.whenFalse,A,e.isExpression));case 219:return e.Debug.type(I),u0.updateTemplateExpression(I,j(I.head,A,e.isTemplateHead),A0(I.templateSpans,A,e.isTemplateSpan));case 220:return e.Debug.type(I),u0.updateYieldExpression(I,j(I.asteriskToken,o0,e.isAsteriskToken),j(I.expression,A,e.isExpression));case 221:return e.Debug.type(I),u0.updateSpreadElement(I,j(I.expression,A,e.isExpression));case 222:return e.Debug.type(I),u0.updateClassExpression(I,A0(I.decorators,A,e.isDecorator),A0(I.modifiers,A,e.isModifier),j(I.name,A,e.isIdentifier),A0(I.typeParameters,A,e.isTypeParameterDeclaration),A0(I.heritageClauses,A,e.isHeritageClause),A0(I.members,A,e.isClassElement));case 224:return e.Debug.type(I),u0.updateExpressionWithTypeArguments(I,j(I.expression,A,e.isExpression),A0(I.typeArguments,A,e.isTypeNode));case 225:return e.Debug.type(I),u0.updateAsExpression(I,j(I.expression,A,e.isExpression),j(I.type,A,e.isTypeNode));case 226:return 32&I.flags?(e.Debug.type(I),u0.updateNonNullChain(I,j(I.expression,A,e.isExpression))):(e.Debug.type(I),u0.updateNonNullExpression(I,j(I.expression,A,e.isExpression)));case 227:return e.Debug.type(I),u0.updateMetaProperty(I,j(I.name,A,e.isIdentifier));case 229:return e.Debug.type(I),u0.updateTemplateSpan(I,j(I.expression,A,e.isExpression),j(I.literal,A,e.isTemplateMiddleOrTemplateTail));case 231:return e.Debug.type(I),u0.updateBlock(I,A0(I.statements,A,e.isStatement));case 233:return e.Debug.type(I),u0.updateVariableStatement(I,A0(I.modifiers,A,e.isModifier),j(I.declarationList,A,e.isVariableDeclarationList));case 234:return e.Debug.type(I),u0.updateExpressionStatement(I,j(I.expression,A,e.isExpression));case 235:return e.Debug.type(I),u0.updateIfStatement(I,j(I.expression,A,e.isExpression),j(I.thenStatement,A,e.isStatement,u0.liftToBlock),j(I.elseStatement,A,e.isStatement,u0.liftToBlock));case 236:return e.Debug.type(I),u0.updateDoStatement(I,H0(I.statement,A,Z),j(I.expression,A,e.isExpression));case 237:return e.Debug.type(I),u0.updateWhileStatement(I,j(I.expression,A,e.isExpression),H0(I.statement,A,Z));case 238:return e.Debug.type(I),u0.updateForStatement(I,j(I.initializer,A,e.isForInitializer),j(I.condition,A,e.isExpression),j(I.incrementor,A,e.isExpression),H0(I.statement,A,Z));case 239:return e.Debug.type(I),u0.updateForInStatement(I,j(I.initializer,A,e.isForInitializer),j(I.expression,A,e.isExpression),H0(I.statement,A,Z));case 240:return e.Debug.type(I),u0.updateForOfStatement(I,j(I.awaitModifier,o0,e.isAwaitKeyword),j(I.initializer,A,e.isForInitializer),j(I.expression,A,e.isExpression),H0(I.statement,A,Z));case 241:return e.Debug.type(I),u0.updateContinueStatement(I,j(I.label,A,e.isIdentifier));case 242:return e.Debug.type(I),u0.updateBreakStatement(I,j(I.label,A,e.isIdentifier));case 243:return e.Debug.type(I),u0.updateReturnStatement(I,j(I.expression,A,e.isExpression));case 244:return e.Debug.type(I),u0.updateWithStatement(I,j(I.expression,A,e.isExpression),j(I.statement,A,e.isStatement,u0.liftToBlock));case 245:return e.Debug.type(I),u0.updateSwitchStatement(I,j(I.expression,A,e.isExpression),j(I.caseBlock,A,e.isCaseBlock));case 246:return e.Debug.type(I),u0.updateLabeledStatement(I,j(I.label,A,e.isIdentifier),j(I.statement,A,e.isStatement,u0.liftToBlock));case 247:return e.Debug.type(I),u0.updateThrowStatement(I,j(I.expression,A,e.isExpression));case 248:return e.Debug.type(I),u0.updateTryStatement(I,j(I.tryBlock,A,e.isBlock),j(I.catchClause,A,e.isCatchClause),j(I.finallyBlock,A,e.isBlock));case 250:return e.Debug.type(I),u0.updateVariableDeclaration(I,j(I.name,A,e.isBindingName),j(I.exclamationToken,o0,e.isExclamationToken),j(I.type,A,e.isTypeNode),j(I.initializer,A,e.isExpression));case 251:return e.Debug.type(I),u0.updateVariableDeclarationList(I,A0(I.declarations,A,e.isVariableDeclaration));case 252:return e.Debug.type(I),u0.updateFunctionDeclaration(I,A0(I.decorators,A,e.isDecorator),A0(I.modifiers,A,e.isModifier),j(I.asteriskToken,o0,e.isAsteriskToken),j(I.name,A,e.isIdentifier),A0(I.typeParameters,A,e.isTypeParameterDeclaration),m0(I.parameters,A,Z,A0),j(I.type,A,e.isTypeNode),i0(I.body,A,Z,j));case 253:return e.Debug.type(I),u0.updateClassDeclaration(I,A0(I.decorators,A,e.isDecorator),A0(I.modifiers,A,e.isModifier),j(I.name,A,e.isIdentifier),A0(I.typeParameters,A,e.isTypeParameterDeclaration),A0(I.heritageClauses,A,e.isHeritageClause),A0(I.members,A,e.isClassElement));case 254:return e.Debug.type(I),u0.updateInterfaceDeclaration(I,A0(I.decorators,A,e.isDecorator),A0(I.modifiers,A,e.isModifier),j(I.name,A,e.isIdentifier),A0(I.typeParameters,A,e.isTypeParameterDeclaration),A0(I.heritageClauses,A,e.isHeritageClause),A0(I.members,A,e.isTypeElement));case 255:return e.Debug.type(I),u0.updateTypeAliasDeclaration(I,A0(I.decorators,A,e.isDecorator),A0(I.modifiers,A,e.isModifier),j(I.name,A,e.isIdentifier),A0(I.typeParameters,A,e.isTypeParameterDeclaration),j(I.type,A,e.isTypeNode));case 256:return e.Debug.type(I),u0.updateEnumDeclaration(I,A0(I.decorators,A,e.isDecorator),A0(I.modifiers,A,e.isModifier),j(I.name,A,e.isIdentifier),A0(I.members,A,e.isEnumMember));case 257:return e.Debug.type(I),u0.updateModuleDeclaration(I,A0(I.decorators,A,e.isDecorator),A0(I.modifiers,A,e.isModifier),j(I.name,A,e.isModuleName),j(I.body,A,e.isModuleBody));case 258:return e.Debug.type(I),u0.updateModuleBlock(I,A0(I.statements,A,e.isStatement));case 259:return e.Debug.type(I),u0.updateCaseBlock(I,A0(I.clauses,A,e.isCaseOrDefaultClause));case 260:return e.Debug.type(I),u0.updateNamespaceExportDeclaration(I,j(I.name,A,e.isIdentifier));case 261:return e.Debug.type(I),u0.updateImportEqualsDeclaration(I,A0(I.decorators,A,e.isDecorator),A0(I.modifiers,A,e.isModifier),I.isTypeOnly,j(I.name,A,e.isIdentifier),j(I.moduleReference,A,e.isModuleReference));case 262:return e.Debug.type(I),u0.updateImportDeclaration(I,A0(I.decorators,A,e.isDecorator),A0(I.modifiers,A,e.isModifier),j(I.importClause,A,e.isImportClause),j(I.moduleSpecifier,A,e.isExpression));case 263:return e.Debug.type(I),u0.updateImportClause(I,I.isTypeOnly,j(I.name,A,e.isIdentifier),j(I.namedBindings,A,e.isNamedImportBindings));case 264:return e.Debug.type(I),u0.updateNamespaceImport(I,j(I.name,A,e.isIdentifier));case 270:return e.Debug.type(I),u0.updateNamespaceExport(I,j(I.name,A,e.isIdentifier));case 265:return e.Debug.type(I),u0.updateNamedImports(I,A0(I.elements,A,e.isImportSpecifier));case 266:return e.Debug.type(I),u0.updateImportSpecifier(I,j(I.propertyName,A,e.isIdentifier),j(I.name,A,e.isIdentifier));case 267:return e.Debug.type(I),u0.updateExportAssignment(I,A0(I.decorators,A,e.isDecorator),A0(I.modifiers,A,e.isModifier),j(I.expression,A,e.isExpression));case 268:return e.Debug.type(I),u0.updateExportDeclaration(I,A0(I.decorators,A,e.isDecorator),A0(I.modifiers,A,e.isModifier),I.isTypeOnly,j(I.exportClause,A,e.isNamedExportBindings),j(I.moduleSpecifier,A,e.isExpression));case 269:return e.Debug.type(I),u0.updateNamedExports(I,A0(I.elements,A,e.isExportSpecifier));case 271:return e.Debug.type(I),u0.updateExportSpecifier(I,j(I.propertyName,A,e.isIdentifier),j(I.name,A,e.isIdentifier));case 273:return e.Debug.type(I),u0.updateExternalModuleReference(I,j(I.expression,A,e.isExpression));case 274:return e.Debug.type(I),u0.updateJsxElement(I,j(I.openingElement,A,e.isJsxOpeningElement),A0(I.children,A,e.isJsxChild),j(I.closingElement,A,e.isJsxClosingElement));case 275:return e.Debug.type(I),u0.updateJsxSelfClosingElement(I,j(I.tagName,A,e.isJsxTagNameExpression),A0(I.typeArguments,A,e.isTypeNode),j(I.attributes,A,e.isJsxAttributes));case 276:return e.Debug.type(I),u0.updateJsxOpeningElement(I,j(I.tagName,A,e.isJsxTagNameExpression),A0(I.typeArguments,A,e.isTypeNode),j(I.attributes,A,e.isJsxAttributes));case 277:return e.Debug.type(I),u0.updateJsxClosingElement(I,j(I.tagName,A,e.isJsxTagNameExpression));case 278:return e.Debug.type(I),u0.updateJsxFragment(I,j(I.openingFragment,A,e.isJsxOpeningFragment),A0(I.children,A,e.isJsxChild),j(I.closingFragment,A,e.isJsxClosingFragment));case 281:return e.Debug.type(I),u0.updateJsxAttribute(I,j(I.name,A,e.isIdentifier),j(I.initializer,A,e.isStringLiteralOrJsxExpression));case 282:return e.Debug.type(I),u0.updateJsxAttributes(I,A0(I.properties,A,e.isJsxAttributeLike));case 283:return e.Debug.type(I),u0.updateJsxSpreadAttribute(I,j(I.expression,A,e.isExpression));case 284:return e.Debug.type(I),u0.updateJsxExpression(I,j(I.expression,A,e.isExpression));case 285:return e.Debug.type(I),u0.updateCaseClause(I,j(I.expression,A,e.isExpression),A0(I.statements,A,e.isStatement));case 286:return e.Debug.type(I),u0.updateDefaultClause(I,A0(I.statements,A,e.isStatement));case 287:return e.Debug.type(I),u0.updateHeritageClause(I,A0(I.types,A,e.isExpressionWithTypeArguments));case 288:return e.Debug.type(I),u0.updateCatchClause(I,j(I.variableDeclaration,A,e.isVariableDeclaration),j(I.block,A,e.isBlock));case 289:return e.Debug.type(I),u0.updatePropertyAssignment(I,j(I.name,A,e.isPropertyName),j(I.initializer,A,e.isExpression));case 290:return e.Debug.type(I),u0.updateShorthandPropertyAssignment(I,j(I.name,A,e.isIdentifier),j(I.objectAssignmentInitializer,A,e.isExpression));case 291:return e.Debug.type(I),u0.updateSpreadAssignment(I,j(I.expression,A,e.isExpression));case 292:return e.Debug.type(I),u0.updateEnumMember(I,j(I.name,A,e.isPropertyName),j(I.initializer,A,e.isExpression));case 298:return e.Debug.type(I),u0.updateSourceFile(I,J(I.statements,A,Z));case 340:return e.Debug.type(I),u0.updatePartiallyEmittedExpression(I,j(I.expression,A,e.isExpression));case 341:return e.Debug.type(I),u0.updateCommaListExpression(I,A0(I.elements,A,e.isExpression));default:return I}}}}(_0||(_0={})),function(e){e.createSourceMapGenerator=function(j,G,u0,U,g0){var d0,P0,c0=g0.extendedDiagnostics?e.performance.createTimer(\"Source Map\",\"beforeSourcemap\",\"afterSourcemap\"):e.performance.nullTimer,D0=c0.enter,x0=c0.exit,l0=[],w0=[],V=new e.Map,w=[],H=\"\",k0=0,V0=0,t0=0,f0=0,y0=0,G0=0,d1=!1,h1=0,S1=0,Q1=0,Y0=0,$1=0,Z1=0,Q0=!1,y1=!1,k1=!1;return{getSources:function(){return l0},addSource:I1,setSourceContent:K0,addName:G1,addMapping:Nx,appendSourceMap:function(I0,U0,p0,p1,Y1,N1){e.Debug.assert(I0>=h1,\"generatedLine cannot backtrack\"),e.Debug.assert(U0>=0,\"generatedCharacter cannot be negative\"),D0();for(var V1,Ox=[],$x=s1(p0.mappings),rx=$x.next();!rx.done;rx=$x.next()){var O0=rx.value;if(N1&&(O0.generatedLine>N1.line||O0.generatedLine===N1.line&&O0.generatedCharacter>N1.character))break;if(!Y1||!(O0.generatedLine<Y1.line||Y1.line===O0.generatedLine&&O0.generatedCharacter<Y1.character)){var C1=void 0,nx=void 0,O=void 0,b1=void 0;if(O0.sourceIndex!==void 0){if((C1=Ox[O0.sourceIndex])===void 0){var Px=p0.sources[O0.sourceIndex],me=p0.sourceRoot?e.combinePaths(p0.sourceRoot,Px):Px,Re=e.combinePaths(e.getDirectoryPath(p1),me);Ox[O0.sourceIndex]=C1=I1(Re),p0.sourcesContent&&typeof p0.sourcesContent[O0.sourceIndex]==\"string\"&&K0(C1,p0.sourcesContent[O0.sourceIndex])}nx=O0.sourceLine,O=O0.sourceCharacter,p0.names&&O0.nameIndex!==void 0&&(V1||(V1=[]),(b1=V1[O0.nameIndex])===void 0&&(V1[O0.nameIndex]=b1=G1(p0.names[O0.nameIndex])))}var gt=O0.generatedLine-(Y1?Y1.line:0),Vt=gt+I0,wr=Y1&&Y1.line===O0.generatedLine?O0.generatedCharacter-Y1.character:O0.generatedCharacter;Nx(Vt,gt===0?wr+U0:wr,C1,nx,O,b1)}}x0()},toJSON:S0,toString:function(){return JSON.stringify(S0())}};function I1(I0){D0();var U0=e.getRelativePathToDirectoryOrUrl(U,I0,j.getCurrentDirectory(),j.getCanonicalFileName,!0),p0=V.get(U0);return p0===void 0&&(p0=w0.length,w0.push(U0),l0.push(I0),V.set(U0,p0)),x0(),p0}function K0(I0,U0){if(D0(),U0!==null){for(d0||(d0=[]);d0.length<I0;)d0.push(null);d0[I0]=U0}x0()}function G1(I0){D0(),P0||(P0=new e.Map);var U0=P0.get(I0);return U0===void 0&&(U0=w.length,w.push(I0),P0.set(I0,U0)),x0(),U0}function Nx(I0,U0,p0,p1,Y1,N1){e.Debug.assert(I0>=h1,\"generatedLine cannot backtrack\"),e.Debug.assert(U0>=0,\"generatedCharacter cannot be negative\"),e.Debug.assert(p0===void 0||p0>=0,\"sourceIndex cannot be negative\"),e.Debug.assert(p1===void 0||p1>=0,\"sourceLine cannot be negative\"),e.Debug.assert(Y1===void 0||Y1>=0,\"sourceCharacter cannot be negative\"),D0(),(function(V1,Ox){return!Q0||h1!==V1||S1!==Ox}(I0,U0)||function(V1,Ox,$x){return V1!==void 0&&Ox!==void 0&&$x!==void 0&&Q1===V1&&(Y0>Ox||Y0===Ox&&$1>$x)}(p0,p1,Y1))&&(n1(),h1=I0,S1=U0,y1=!1,k1=!1,Q0=!0),p0!==void 0&&p1!==void 0&&Y1!==void 0&&(Q1=p0,Y0=p1,$1=Y1,y1=!0,N1!==void 0&&(Z1=N1,k1=!0)),x0()}function n1(){if(Q0&&(!d1||k0!==h1||V0!==S1||t0!==Q1||f0!==Y0||y0!==$1||G0!==Z1)){if(D0(),k0<h1)do H+=\";\",k0++,V0=0;while(k0<h1);else e.Debug.assertEqual(k0,h1,\"generatedLine cannot backtrack\"),d1&&(H+=\",\");H+=H0(S1-V0),V0=S1,y1&&(H+=H0(Q1-t0),t0=Q1,H+=H0(Y0-f0),f0=Y0,H+=H0($1-y0),y0=$1,k1&&(H+=H0(Z1-G0),G0=Z1)),d1=!0,x0()}}function S0(){return n1(),{version:3,file:G,sourceRoot:u0,sources:w0,names:w,mappings:H,sourcesContent:d0}}};var s=/^\\/\\/[@#] source[M]appingURL=(.+)\\s*$/,X=/^\\s*(\\/\\/[@#] .*)?$/;function J(j){return typeof j==\"string\"||j===null}function m0(j){return j!==null&&typeof j==\"object\"&&j.version===3&&typeof j.file==\"string\"&&typeof j.mappings==\"string\"&&e.isArray(j.sources)&&e.every(j.sources,e.isString)&&(j.sourceRoot===void 0||j.sourceRoot===null||typeof j.sourceRoot==\"string\")&&(j.sourcesContent===void 0||j.sourcesContent===null||e.isArray(j.sourcesContent)&&e.every(j.sourcesContent,J))&&(j.names===void 0||j.names===null||e.isArray(j.names)&&e.every(j.names,e.isString))}function s1(j){var G,u0=!1,U=0,g0=0,d0=0,P0=0,c0=0,D0=0,x0=0;return{get pos(){return U},get error(){return G},get state(){return l0(!0,!0)},next:function(){for(;!u0&&U<j.length;){var t0=j.charCodeAt(U);if(t0!==59){if(t0!==44){var f0=!1,y0=!1;if(d0+=V0(),H())return w0();if(d0<0)return w(\"Invalid generatedCharacter found\");if(!k0()){if(f0=!0,P0+=V0(),H())return w0();if(P0<0)return w(\"Invalid sourceIndex found\");if(k0())return w(\"Unsupported Format: No entries after sourceIndex\");if(c0+=V0(),H())return w0();if(c0<0)return w(\"Invalid sourceLine found\");if(k0())return w(\"Unsupported Format: No entries after sourceLine\");if(D0+=V0(),H())return w0();if(D0<0)return w(\"Invalid sourceCharacter found\");if(!k0()){if(y0=!0,x0+=V0(),H())return w0();if(x0<0)return w(\"Invalid nameIndex found\");if(!k0())return w(\"Unsupported Error Format: Entries after nameIndex\")}}return{value:l0(f0,y0),done:u0}}U++}else g0++,d0=0,U++}return w0()}};function l0(t0,f0){return{generatedLine:g0,generatedCharacter:d0,sourceIndex:t0?P0:void 0,sourceLine:t0?c0:void 0,sourceCharacter:t0?D0:void 0,nameIndex:f0?x0:void 0}}function w0(){return u0=!0,{value:void 0,done:!0}}function V(t0){G===void 0&&(G=t0)}function w(t0){return V(t0),w0()}function H(){return G!==void 0}function k0(){return U===j.length||j.charCodeAt(U)===44||j.charCodeAt(U)===59}function V0(){for(var t0,f0=!0,y0=0,G0=0;f0;U++){if(U>=j.length)return V(\"Error in decoding base64VLQFormatDecode, past the mapping string\"),-1;var d1=(t0=j.charCodeAt(U))>=65&&t0<=90?t0-65:t0>=97&&t0<=122?t0-97+26:t0>=48&&t0<=57?t0-48+52:t0===43?62:t0===47?63:-1;if(d1===-1)return V(\"Invalid character in VLQ\"),-1;f0=(32&d1)!=0,G0|=(31&d1)<<y0,y0+=5}return(1&G0)==0?G0>>=1:G0=-(G0>>=1),G0}}function i0(j){return j.sourceIndex!==void 0&&j.sourceLine!==void 0&&j.sourceCharacter!==void 0}function H0(j){j<0?j=1+(-j<<1):j<<=1;var G,u0=\"\";do{var U=31&j;(j>>=5)>0&&(U|=32),u0+=String.fromCharCode((G=U)>=0&&G<26?65+G:G>=26&&G<52?97+G-26:G>=52&&G<62?48+G-52:G===62?43:G===63?47:e.Debug.fail(G+\": not a base64 value\"))}while(j>0);return u0}function E0(j){return j.sourceIndex!==void 0&&j.sourcePosition!==void 0}function I(j,G){return j.generatedPosition===G.generatedPosition&&j.sourceIndex===G.sourceIndex&&j.sourcePosition===G.sourcePosition}function A(j,G){return e.Debug.assert(j.sourceIndex===G.sourceIndex),e.compareValues(j.sourcePosition,G.sourcePosition)}function Z(j,G){return e.compareValues(j.generatedPosition,G.generatedPosition)}function A0(j){return j.sourcePosition}function o0(j){return j.generatedPosition}e.getLineInfo=function(j,G){return{getLineCount:function(){return G.length},getLineText:function(u0){return j.substring(G[u0],G[u0+1])}}},e.tryGetSourceMappingURL=function(j){for(var G=j.getLineCount()-1;G>=0;G--){var u0=j.getLineText(G),U=s.exec(u0);if(U)return U[1];if(!u0.match(X))break}},e.isRawSourceMap=m0,e.tryParseRawSourceMap=function(j){try{var G=JSON.parse(j);if(m0(G))return G}catch{}},e.decodeMappings=s1,e.sameMapping=function(j,G){return j===G||j.generatedLine===G.generatedLine&&j.generatedCharacter===G.generatedCharacter&&j.sourceIndex===G.sourceIndex&&j.sourceLine===G.sourceLine&&j.sourceCharacter===G.sourceCharacter&&j.nameIndex===G.nameIndex},e.isSourceMapping=i0,e.createDocumentPositionMapper=function(j,G,u0){var U,g0,d0,P0=e.getDirectoryPath(u0),c0=G.sourceRoot?e.getNormalizedAbsolutePath(G.sourceRoot,P0):P0,D0=e.getNormalizedAbsolutePath(G.file,P0),x0=j.getSourceFileLike(D0),l0=G.sources.map(function(V0){return e.getNormalizedAbsolutePath(V0,c0)}),w0=new e.Map(l0.map(function(V0,t0){return[j.getCanonicalFileName(V0),t0]}));return{getSourcePosition:function(V0){var t0=k0();if(!e.some(t0))return V0;var f0=e.binarySearchKey(t0,V0.pos,o0,e.compareValues);f0<0&&(f0=~f0);var y0=t0[f0];return y0===void 0||!E0(y0)?V0:{fileName:l0[y0.sourceIndex],pos:y0.sourcePosition}},getGeneratedPosition:function(V0){var t0=w0.get(j.getCanonicalFileName(V0.fileName));if(t0===void 0)return V0;var f0=H(t0);if(!e.some(f0))return V0;var y0=e.binarySearchKey(f0,V0.pos,A0,e.compareValues);y0<0&&(y0=~y0);var G0=f0[y0];return G0===void 0||G0.sourceIndex!==t0?V0:{fileName:D0,pos:G0.generatedPosition}}};function V(V0){var t0,f0,y0=x0!==void 0?e.getPositionOfLineAndCharacter(x0,V0.generatedLine,V0.generatedCharacter,!0):-1;if(i0(V0)){var G0=j.getSourceFileLike(l0[V0.sourceIndex]);t0=G.sources[V0.sourceIndex],f0=G0!==void 0?e.getPositionOfLineAndCharacter(G0,V0.sourceLine,V0.sourceCharacter,!0):-1}return{generatedPosition:y0,source:t0,sourceIndex:V0.sourceIndex,sourcePosition:f0,nameIndex:V0.nameIndex}}function w(){if(U===void 0){var V0=s1(G.mappings),t0=e.arrayFrom(V0,V);V0.error!==void 0?(j.log&&j.log(\"Encountered error while decoding sourcemap: \"+V0.error),U=e.emptyArray):U=t0}return U}function H(V0){if(d0===void 0){for(var t0=[],f0=0,y0=w();f0<y0.length;f0++){var G0=y0[f0];if(E0(G0)){var d1=t0[G0.sourceIndex];d1||(t0[G0.sourceIndex]=d1=[]),d1.push(G0)}}d0=t0.map(function(h1){return e.sortAndDeduplicate(h1,A,I)})}return d0[V0]}function k0(){if(g0===void 0){for(var V0=[],t0=0,f0=w();t0<f0.length;t0++){var y0=f0[t0];V0.push(y0)}g0=e.sortAndDeduplicate(V0,Z,I)}return g0}},e.identitySourceMapConsumer={getSourcePosition:e.identity,getGeneratedPosition:e.identity}}(_0||(_0={})),function(e){function s(E0){return(E0=e.getOriginalNode(E0))?e.getNodeId(E0):0}function X(E0){return E0.propertyName!==void 0&&E0.propertyName.escapedText===\"default\"}function J(E0){if(e.getNamespaceDeclarationNode(E0))return!0;var I=E0.importClause&&E0.importClause.namedBindings;if(!I||!e.isNamedImports(I))return!1;for(var A=0,Z=0,A0=I.elements;Z<A0.length;Z++)X(A0[Z])&&A++;return A>0&&A!==I.elements.length||!!(I.elements.length-A)&&e.isDefaultImport(E0)}function m0(E0){return!J(E0)&&(e.isDefaultImport(E0)||!!E0.importClause&&e.isNamedImports(E0.importClause.namedBindings)&&function(I){return!!I&&!!e.isNamedImports(I)&&e.some(I.elements,X)}(E0.importClause.namedBindings))}function s1(E0,I,A){if(e.isBindingPattern(E0.name))for(var Z=0,A0=E0.name.elements;Z<A0.length;Z++){var o0=A0[Z];e.isOmittedExpression(o0)||(A=s1(o0,I,A))}else if(!e.isGeneratedIdentifier(E0.name)){var j=e.idText(E0.name);I.get(j)||(I.set(j,!0),A=e.append(A,E0.name))}return A}function i0(E0,I,A){var Z=E0[I];return Z?Z.push(A):E0[I]=Z=[A],Z}function H0(E0){return e.isStringLiteralLike(E0)||E0.kind===8||e.isKeyword(E0.kind)||e.isIdentifier(E0)}e.getOriginalNodeId=s,e.chainBundle=function(E0,I){return function(A){return A.kind===298?I(A):function(Z){return E0.factory.createBundle(e.map(Z.sourceFiles,I),Z.prepends)}(A)}},e.getExportNeedsImportStarHelper=function(E0){return!!e.getNamespaceDeclarationNode(E0)},e.getImportNeedsImportStarHelper=J,e.getImportNeedsImportDefaultHelper=m0,e.collectExternalModuleInfo=function(E0,I,A,Z){for(var A0,o0,j=[],G=e.createMultiMap(),u0=[],U=new e.Map,g0=!1,d0=!1,P0=!1,c0=!1,D0=0,x0=I.statements;D0<x0.length;D0++){var l0=x0[D0];switch(l0.kind){case 262:j.push(l0),!P0&&J(l0)&&(P0=!0),!c0&&m0(l0)&&(c0=!0);break;case 261:l0.moduleReference.kind===273&&j.push(l0);break;case 268:if(l0.moduleSpecifier)if(l0.exportClause)if(j.push(l0),e.isNamedExports(l0.exportClause))V0(l0);else{var w0=l0.exportClause.name;U.get(e.idText(w0))||(i0(u0,s(l0),w0),U.set(e.idText(w0),!0),A0=e.append(A0,w0)),P0=!0}else j.push(l0),d0=!0;else V0(l0);break;case 267:l0.isExportEquals&&!o0&&(o0=l0);break;case 233:if(e.hasSyntacticModifier(l0,1))for(var V=0,w=l0.declarationList.declarations;V<w.length;V++){var H=w[V];A0=s1(H,U,A0)}break;case 252:e.hasSyntacticModifier(l0,1)&&(e.hasSyntacticModifier(l0,512)?g0||(i0(u0,s(l0),E0.factory.getDeclarationName(l0)),g0=!0):(w0=l0.name,U.get(e.idText(w0))||(i0(u0,s(l0),w0),U.set(e.idText(w0),!0),A0=e.append(A0,w0))));break;case 253:e.hasSyntacticModifier(l0,1)&&(e.hasSyntacticModifier(l0,512)?g0||(i0(u0,s(l0),E0.factory.getDeclarationName(l0)),g0=!0):(w0=l0.name)&&!U.get(e.idText(w0))&&(i0(u0,s(l0),w0),U.set(e.idText(w0),!0),A0=e.append(A0,w0)))}}var k0=e.createExternalHelpersImportDeclarationIfNeeded(E0.factory,E0.getEmitHelperFactory(),I,Z,d0,P0,c0);return k0&&j.unshift(k0),{externalImports:j,exportSpecifiers:G,exportEquals:o0,hasExportStarsToExportValues:d0,exportedBindings:u0,exportedNames:A0,externalHelpersImportDeclaration:k0};function V0(t0){for(var f0=0,y0=e.cast(t0.exportClause,e.isNamedExports).elements;f0<y0.length;f0++){var G0=y0[f0];if(!U.get(e.idText(G0.name))){var d1=G0.propertyName||G0.name;t0.moduleSpecifier||G.add(e.idText(d1),G0);var h1=A.getReferencedImportDeclaration(d1)||A.getReferencedValueDeclaration(d1);h1&&i0(u0,s(h1),G0.name),U.set(e.idText(G0.name),!0),A0=e.append(A0,G0.name)}}}},e.isSimpleCopiableExpression=H0,e.isSimpleInlineableExpression=function(E0){return!e.isIdentifier(E0)&&H0(E0)},e.isCompoundAssignment=function(E0){return E0>=63&&E0<=77},e.getNonAssignmentOperatorForCompoundAssignment=function(E0){switch(E0){case 63:return 39;case 64:return 40;case 65:return 41;case 66:return 42;case 67:return 43;case 68:return 44;case 69:return 47;case 70:return 48;case 71:return 49;case 72:return 50;case 73:return 51;case 77:return 52;case 74:return 56;case 75:return 55;case 76:return 60}},e.addPrologueDirectivesAndInitialSuperCall=function(E0,I,A,Z){if(I.body){var A0=I.body.statements,o0=E0.copyPrologue(A0,A,!1,Z);if(o0===A0.length)return o0;var j=e.findIndex(A0,function(u0){return e.isExpressionStatement(u0)&&e.isSuperCall(u0.expression)},o0);if(j>-1){for(var G=o0;G<=j;G++)A.push(e.visitNode(A0[G],Z,e.isStatement));return j+1}return o0}return 0},e.getProperties=function(E0,I,A){return e.filter(E0.members,function(Z){return function(A0,o0,j){return e.isPropertyDeclaration(A0)&&(!!A0.initializer||!o0)&&e.hasStaticModifier(A0)===j}(Z,I,A)})},e.isInitializedProperty=function(E0){return E0.kind===164&&E0.initializer!==void 0},e.isNonStaticMethodOrAccessorWithPrivateName=function(E0){return!e.hasStaticModifier(E0)&&e.isMethodOrAccessor(E0)&&e.isPrivateIdentifier(E0.name)}}(_0||(_0={})),function(e){var s;function X(I,A){var Z=e.getTargetOfBindingOrAssignmentElement(I);return e.isBindingOrAssignmentPattern(Z)?function(A0,o0){for(var j=e.getElementsOfBindingOrAssignmentPattern(A0),G=0,u0=j;G<u0.length;G++)if(X(u0[G],o0))return!0;return!1}(Z,A):!!e.isIdentifier(Z)&&Z.escapedText===A}function J(I){var A=e.tryGetPropertyNameOfBindingOrAssignmentElement(I);if(A&&e.isComputedPropertyName(A)&&!e.isLiteralExpression(A.expression))return!0;var Z,A0=e.getTargetOfBindingOrAssignmentElement(I);return!!A0&&e.isBindingOrAssignmentPattern(A0)&&(Z=A0,!!e.forEach(e.getElementsOfBindingOrAssignmentPattern(Z),J))}function m0(I,A,Z,A0,o0){var j=e.getTargetOfBindingOrAssignmentElement(A);if(!o0){var G=e.visitNode(e.getInitializerOfBindingOrAssignmentElement(A),I.visitor,e.isExpression);G?Z?(Z=function(u0,U,g0,d0){return U=H0(u0,U,!0,d0),u0.context.factory.createConditionalExpression(u0.context.factory.createTypeCheck(U,\"undefined\"),void 0,g0,void 0,U)}(I,Z,G,A0),!e.isSimpleInlineableExpression(G)&&e.isBindingOrAssignmentPattern(j)&&(Z=H0(I,Z,!0,A0))):Z=G:Z||(Z=I.context.factory.createVoidZero())}e.isObjectBindingOrAssignmentPattern(j)?function(u0,U,g0,d0,P0){var c0,D0,x0=e.getElementsOfBindingOrAssignmentPattern(g0),l0=x0.length;l0!==1&&(d0=H0(u0,d0,!e.isDeclarationBindingElement(U)||l0!==0,P0));for(var w0=0;w0<l0;w0++){var V=x0[w0];if(e.getRestIndicatorOfBindingOrAssignmentElement(V))w0===l0-1&&(c0&&(u0.emitBindingOrAssignment(u0.createObjectBindingOrAssignmentPattern(c0),d0,P0,g0),c0=void 0),H=u0.context.getEmitHelperFactory().createRestHelper(d0,x0,D0,g0),m0(u0,V,H,V));else{var w=e.getPropertyNameOfBindingOrAssignmentElement(V);if(!(u0.level>=1)||49152&V.transformFlags||49152&e.getTargetOfBindingOrAssignmentElement(V).transformFlags||e.isComputedPropertyName(w)){c0&&(u0.emitBindingOrAssignment(u0.createObjectBindingOrAssignmentPattern(c0),d0,P0,g0),c0=void 0);var H=i0(u0,d0,w);e.isComputedPropertyName(w)&&(D0=e.append(D0,H.argumentExpression)),m0(u0,V,H,V)}else c0=e.append(c0,e.visitNode(V,u0.visitor))}}c0&&u0.emitBindingOrAssignment(u0.createObjectBindingOrAssignmentPattern(c0),d0,P0,g0)}(I,A,j,Z,A0):e.isArrayBindingOrAssignmentPattern(j)?function(u0,U,g0,d0,P0){var c0,D0,x0=e.getElementsOfBindingOrAssignmentPattern(g0),l0=x0.length;u0.level<1&&u0.downlevelIteration?d0=H0(u0,e.setTextRange(u0.context.getEmitHelperFactory().createReadHelper(d0,l0>0&&e.getRestIndicatorOfBindingOrAssignmentElement(x0[l0-1])?void 0:l0),P0),!1,P0):(l0!==1&&(u0.level<1||l0===0)||e.every(x0,e.isOmittedExpression))&&(d0=H0(u0,d0,!e.isDeclarationBindingElement(U)||l0!==0,P0));for(var w0=0;w0<l0;w0++){var V=x0[w0];if(u0.level>=1)if(32768&V.transformFlags||u0.hasTransformedPriorElement&&!s1(V)){u0.hasTransformedPriorElement=!0;var w=u0.context.factory.createTempVariable(void 0);u0.hoistTempVariables&&u0.context.hoistVariableDeclaration(w),D0=e.append(D0,[w,V]),c0=e.append(c0,u0.createArrayBindingOrAssignmentElement(w))}else c0=e.append(c0,V);else{if(e.isOmittedExpression(V))continue;if(e.getRestIndicatorOfBindingOrAssignmentElement(V))w0===l0-1&&(H=u0.context.factory.createArraySliceCall(d0,w0),m0(u0,V,H,V));else{var H=u0.context.factory.createElementAccessExpression(d0,w0);m0(u0,V,H,V)}}}if(c0&&u0.emitBindingOrAssignment(u0.createArrayBindingOrAssignmentPattern(c0),d0,P0,g0),D0)for(var k0=0,V0=D0;k0<V0.length;k0++){var t0=V0[k0],f0=t0[0];m0(u0,V=t0[1],f0,V)}}(I,A,j,Z,A0):I.emitBindingOrAssignment(j,Z,A0,A)}function s1(I){var A=e.getTargetOfBindingOrAssignmentElement(I);if(!A||e.isOmittedExpression(A))return!0;var Z=e.tryGetPropertyNameOfBindingOrAssignmentElement(I);if(Z&&!e.isPropertyNameLiteral(Z))return!1;var A0=e.getInitializerOfBindingOrAssignmentElement(I);return!(A0&&!e.isSimpleInlineableExpression(A0))&&(e.isBindingOrAssignmentPattern(A)?e.every(e.getElementsOfBindingOrAssignmentPattern(A),s1):e.isIdentifier(A))}function i0(I,A,Z){if(e.isComputedPropertyName(Z)){var A0=H0(I,e.visitNode(Z.expression,I.visitor),!1,Z);return I.context.factory.createElementAccessExpression(A,A0)}if(e.isStringOrNumericLiteralLike(Z))return A0=e.factory.cloneNode(Z),I.context.factory.createElementAccessExpression(A,A0);var o0=I.context.factory.createIdentifier(e.idText(Z));return I.context.factory.createPropertyAccessExpression(A,o0)}function H0(I,A,Z,A0){if(e.isIdentifier(A)&&Z)return A;var o0=I.context.factory.createTempVariable(void 0);return I.hoistTempVariables?(I.context.hoistVariableDeclaration(o0),I.emitExpression(e.setTextRange(I.context.factory.createAssignment(o0,A),A0))):I.emitBindingOrAssignment(o0,A,A0,void 0),o0}function E0(I){return I}(s=e.FlattenLevel||(e.FlattenLevel={}))[s.All=0]=\"All\",s[s.ObjectRest=1]=\"ObjectRest\",e.flattenDestructuringAssignment=function(I,A,Z,A0,o0,j){var G,u0,U=I;if(e.isDestructuringAssignment(I))for(G=I.right;e.isEmptyArrayLiteral(I.left)||e.isEmptyObjectLiteral(I.left);){if(!e.isDestructuringAssignment(G))return e.visitNode(G,A,e.isExpression);U=I=G,G=I.right}var g0={context:Z,level:A0,downlevelIteration:!!Z.getCompilerOptions().downlevelIteration,hoistTempVariables:!0,emitExpression:d0,emitBindingOrAssignment:function(P0,c0,D0,x0){e.Debug.assertNode(P0,j?e.isIdentifier:e.isExpression);var l0=j?j(P0,c0,D0):e.setTextRange(Z.factory.createAssignment(e.visitNode(P0,A,e.isExpression),c0),D0);l0.original=x0,d0(l0)},createArrayBindingOrAssignmentPattern:function(P0){return function(c0,D0){return c0.createArrayLiteralExpression(e.map(D0,c0.converters.convertToArrayAssignmentElement))}(Z.factory,P0)},createObjectBindingOrAssignmentPattern:function(P0){return function(c0,D0){return c0.createObjectLiteralExpression(e.map(D0,c0.converters.convertToObjectAssignmentElement))}(Z.factory,P0)},createArrayBindingOrAssignmentElement:E0,visitor:A};if(G&&(G=e.visitNode(G,A,e.isExpression),e.isIdentifier(G)&&X(I,G.escapedText)||J(I)?G=H0(g0,G,!1,U):o0?G=H0(g0,G,!0,U):e.nodeIsSynthesized(I)&&(U=G)),m0(g0,I,G,U,e.isDestructuringAssignment(I)),G&&o0){if(!e.some(u0))return G;u0.push(G)}return Z.factory.inlineExpressions(u0)||Z.factory.createOmittedExpression();function d0(P0){u0=e.append(u0,P0)}},e.flattenDestructuringBinding=function(I,A,Z,A0,o0,j,G){var u0;j===void 0&&(j=!1);var U=[],g0=[],d0={context:Z,level:A0,downlevelIteration:!!Z.getCompilerOptions().downlevelIteration,hoistTempVariables:j,emitExpression:function(y0){u0=e.append(u0,y0)},emitBindingOrAssignment:f0,createArrayBindingOrAssignmentPattern:function(y0){return function(G0,d1){return e.Debug.assertEachNode(d1,e.isArrayBindingElement),G0.createArrayBindingPattern(d1)}(Z.factory,y0)},createObjectBindingOrAssignmentPattern:function(y0){return function(G0,d1){return e.Debug.assertEachNode(d1,e.isBindingElement),G0.createObjectBindingPattern(d1)}(Z.factory,y0)},createArrayBindingOrAssignmentElement:function(y0){return function(G0,d1){return G0.createBindingElement(void 0,void 0,d1)}(Z.factory,y0)},visitor:A};if(e.isVariableDeclaration(I)){var P0=e.getInitializerOfBindingOrAssignmentElement(I);P0&&(e.isIdentifier(P0)&&X(I,P0.escapedText)||J(I))&&(P0=H0(d0,e.visitNode(P0,d0.visitor),!1,P0),I=Z.factory.updateVariableDeclaration(I,I.name,void 0,void 0,P0))}if(m0(d0,I,o0,I,G),u0){var c0=Z.factory.createTempVariable(void 0);if(j){var D0=Z.factory.inlineExpressions(u0);u0=void 0,f0(c0,D0,void 0,void 0)}else{Z.hoistVariableDeclaration(c0);var x0=e.last(U);x0.pendingExpressions=e.append(x0.pendingExpressions,Z.factory.createAssignment(c0,x0.value)),e.addRange(x0.pendingExpressions,u0),x0.value=c0}}for(var l0=0,w0=U;l0<w0.length;l0++){var V=w0[l0],w=V.pendingExpressions,H=V.name,k0=(D0=V.value,V.location),V0=V.original,t0=Z.factory.createVariableDeclaration(H,void 0,void 0,w?Z.factory.inlineExpressions(e.append(w,D0)):D0);t0.original=V0,e.setTextRange(t0,k0),g0.push(t0)}return g0;function f0(y0,G0,d1,h1){e.Debug.assertNode(y0,e.isBindingName),u0&&(G0=Z.factory.inlineExpressions(e.append(u0,G0)),u0=void 0),U.push({pendingExpressions:u0,name:y0,value:G0,location:d1,original:h1})}}}(_0||(_0={})),function(e){var s;function X(m0){return m0.templateFlags?e.factory.createVoidZero():e.factory.createStringLiteral(m0.text)}function J(m0,s1){var i0=m0.rawText;if(i0===void 0){i0=e.getSourceTextOfNodeFromSourceFile(s1,m0);var H0=m0.kind===14||m0.kind===17;i0=i0.substring(1,i0.length-(H0?1:2))}return i0=i0.replace(/\\r\\n?/g,`\n`),e.setTextRange(e.factory.createStringLiteral(i0),m0)}(function(m0){m0[m0.LiftRestriction=0]=\"LiftRestriction\",m0[m0.All=1]=\"All\"})(s=e.ProcessLevel||(e.ProcessLevel={})),e.processTaggedTemplateExpression=function(m0,s1,i0,H0,E0,I){var A=e.visitNode(s1.tag,i0,e.isExpression),Z=[void 0],A0=[],o0=[],j=s1.template;if(I===s.LiftRestriction&&!e.hasInvalidEscape(j))return e.visitEachChild(s1,i0,m0);if(e.isNoSubstitutionTemplateLiteral(j))A0.push(X(j)),o0.push(J(j,H0));else{A0.push(X(j.head)),o0.push(J(j.head,H0));for(var G=0,u0=j.templateSpans;G<u0.length;G++){var U=u0[G];A0.push(X(U.literal)),o0.push(J(U.literal,H0)),Z.push(e.visitNode(U.expression,i0,e.isExpression))}}var g0=m0.getEmitHelperFactory().createTemplateObjectHelper(e.factory.createArrayLiteralExpression(A0),e.factory.createArrayLiteralExpression(o0));if(e.isExternalModule(H0)){var d0=e.factory.createUniqueName(\"templateObject\");E0(d0),Z[0]=e.factory.createLogicalOr(d0,e.factory.createAssignment(d0,g0))}else Z[0]=g0;return e.factory.createCallExpression(A,void 0,Z)}}(_0||(_0={})),function(e){var s,X;(function(J){J[J.ClassAliases=1]=\"ClassAliases\",J[J.NamespaceExports=2]=\"NamespaceExports\",J[J.NonQualifiedEnumMembers=8]=\"NonQualifiedEnumMembers\"})(s||(s={})),function(J){J[J.None=0]=\"None\",J[J.HasStaticInitializedProperties=1]=\"HasStaticInitializedProperties\",J[J.HasConstructorDecorators=2]=\"HasConstructorDecorators\",J[J.HasMemberDecorators=4]=\"HasMemberDecorators\",J[J.IsExportOfNamespace=8]=\"IsExportOfNamespace\",J[J.IsNamedExternalExport=16]=\"IsNamedExternalExport\",J[J.IsDefaultExternalExport=32]=\"IsDefaultExternalExport\",J[J.IsDerivedClass=64]=\"IsDerivedClass\",J[J.UseImmediatelyInvokedFunctionExpression=128]=\"UseImmediatelyInvokedFunctionExpression\",J[J.HasAnyDecorators=6]=\"HasAnyDecorators\",J[J.NeedsName=5]=\"NeedsName\",J[J.MayNeedImmediatelyInvokedFunctionExpression=7]=\"MayNeedImmediatelyInvokedFunctionExpression\",J[J.IsExported=56]=\"IsExported\"}(X||(X={})),e.transformTypeScript=function(J){var m0,s1,i0,H0,E0,I,A,Z,A0,o0,j=J.factory,G=J.getEmitHelperFactory,u0=J.startLexicalEnvironment,U=J.resumeLexicalEnvironment,g0=J.endLexicalEnvironment,d0=J.hoistVariableDeclaration,P0=J.getEmitResolver(),c0=J.getCompilerOptions(),D0=e.getStrictOptionValue(c0,\"strictNullChecks\"),x0=e.getEmitScriptTarget(c0),l0=e.getEmitModuleKind(c0),w0=J.onEmitNode,V=J.onSubstituteNode;return J.onEmitNode=function(cx,E1,qx){var xt=o0,ae=m0;e.isSourceFile(E1)&&(m0=E1),2&Z&&function(Ut){return e.getOriginalNode(Ut).kind===257}(E1)&&(o0|=2),8&Z&&function(Ut){return e.getOriginalNode(Ut).kind===256}(E1)&&(o0|=8),w0(cx,E1,qx),o0=xt,m0=ae},J.onSubstituteNode=function(cx,E1){return E1=V(cx,E1),cx===1?function(qx){switch(qx.kind){case 78:return function(xt){return function(ae){if(1&Z&&33554432&P0.getNodeCheckFlags(ae)){var Ut=P0.getReferencedValueDeclaration(ae);if(Ut){var or=A0[Ut.id];if(or){var ut=j.cloneNode(or);return e.setSourceMapRange(ut,ae),e.setCommentRange(ut,ae),ut}}}}(xt)||Yn(xt)||xt}(qx);case 202:case 203:return function(xt){return W1(xt)}(qx)}return qx}(E1):e.isShorthandPropertyAssignment(E1)?function(qx){if(2&Z){var xt=qx.name,ae=Yn(xt);if(ae){if(qx.objectAssignmentInitializer){var Ut=j.createAssignment(ae,qx.objectAssignmentInitializer);return e.setTextRange(j.createPropertyAssignment(xt,Ut),qx)}return e.setTextRange(j.createPropertyAssignment(xt,ae),qx)}}return qx}(E1):E1},J.enableSubstitution(202),J.enableSubstitution(203),function(cx){return cx.kind===299?function(E1){return j.createBundle(E1.sourceFiles.map(w),e.mapDefined(E1.prepends,function(qx){return qx.kind===301?e.createUnparsedSourceFile(qx,\"js\"):qx}))}(cx):w(cx)};function w(cx){if(cx.isDeclarationFile)return cx;m0=cx;var E1=H(cx,Y0);return e.addEmitHelpers(E1,J.readEmitHelpers()),m0=void 0,E1}function H(cx,E1){var qx=H0,xt=E0,ae=I,Ut=A;(function(ut){switch(ut.kind){case 298:case 259:case 258:case 231:H0=ut,E0=void 0,I=void 0;break;case 253:case 252:if(e.hasSyntacticModifier(ut,2))break;ut.name?wr(ut):e.Debug.assert(ut.kind===253||e.hasSyntacticModifier(ut,512)),e.isClassDeclaration(ut)&&(E0=ut)}})(cx);var or=E1(cx);return H0!==qx&&(I=ae),H0=qx,E0=xt,A=Ut,or}function k0(cx){return H(cx,V0)}function V0(cx){return 1&cx.transformFlags?Q1(cx):cx}function t0(cx){return H(cx,f0)}function f0(cx){switch(cx.kind){case 262:case 261:case 267:case 268:return function(E1){if(e.getParseTreeNode(E1)!==E1)return 1&E1.transformFlags?e.visitEachChild(E1,k0,J):E1;switch(E1.kind){case 262:return function(qx){if(!qx.importClause)return qx;if(!qx.importClause.isTypeOnly){var xt=e.visitNode(qx.importClause,Bt,e.isImportClause);return xt||c0.importsNotUsedAsValues===1||c0.importsNotUsedAsValues===2?j.updateImportDeclaration(qx,void 0,void 0,xt,qx.moduleSpecifier):void 0}}(E1);case 261:return Ba(E1);case 267:return function(qx){return P0.isValueAliasDeclaration(qx)?e.visitEachChild(qx,k0,J):void 0}(E1);case 268:return function(qx){if(!qx.isTypeOnly){if(!qx.exportClause||e.isNamespaceExport(qx.exportClause))return qx;if(!!P0.isValueAliasDeclaration(qx)){var xt=e.visitNode(qx.exportClause,Kn,e.isNamedExportBindings);return xt?j.updateExportDeclaration(qx,void 0,void 0,qx.isTypeOnly,xt,qx.moduleSpecifier):void 0}}}(E1);default:e.Debug.fail(\"Unhandled ellided statement\")}}(cx);default:return V0(cx)}}function y0(cx){return H(cx,G0)}function G0(cx){if(cx.kind!==268&&cx.kind!==262&&cx.kind!==263&&(cx.kind!==261||cx.moduleReference.kind!==273))return 1&cx.transformFlags||e.hasSyntacticModifier(cx,1)?Q1(cx):cx}function d1(cx){return H(cx,h1)}function h1(cx){switch(cx.kind){case 167:return b1(cx);case 164:return O(cx);case 172:case 168:case 169:case 166:return V0(cx);case 230:return cx;default:return e.Debug.failBadSyntaxKind(cx)}}function S1(cx){if(!(18654&e.modifierToFlag(cx.kind)||s1&&cx.kind===92))return cx}function Q1(cx){if(e.isStatement(cx)&&e.hasSyntacticModifier(cx,2))return j.createNotEmittedStatement(cx);switch(cx.kind){case 92:case 87:return s1?void 0:cx;case 122:case 120:case 121:case 125:case 156:case 84:case 133:case 142:case 179:case 180:case 181:case 182:case 178:case 173:case 160:case 128:case 152:case 131:case 147:case 144:case 141:case 113:case 148:case 176:case 175:case 177:case 174:case 183:case 184:case 185:case 187:case 188:case 189:case 190:case 191:case 192:case 172:case 162:case 255:return;case 164:return O(cx);case 260:return;case 167:return b1(cx);case 254:return j.createNotEmittedStatement(cx);case 253:return function(E1){if(!(Q0(E1)||s1&&e.hasSyntacticModifier(E1,1)))return e.visitEachChild(E1,k0,J);var qx=e.getProperties(E1,!0,!0),xt=function(l1,Hx){var ge=0;e.some(Hx)&&(ge|=1);var Pe=e.getEffectiveBaseTypeNode(l1);return Pe&&e.skipOuterExpressions(Pe.expression).kind!==103&&(ge|=64),function(It){if(It.decorators&&It.decorators.length>0)return!0;var Kr=e.getFirstConstructorWithBody(It);return Kr?e.forEach(Kr.parameters,$1):!1}(l1)&&(ge|=2),e.childIsDecorated(l1)&&(ge|=4),dt(l1)?ge|=8:function(It){return Gt(It)&&e.hasSyntacticModifier(It,512)}(l1)?ge|=32:lr(l1)&&(ge|=16),x0<=1&&7&ge&&(ge|=128),ge}(E1,qx);128&xt&&J.startLexicalEnvironment();var ae=E1.name||(5&xt?j.getGeneratedNameForNode(E1):void 0),Ut=2&xt?function(l1,Hx){var ge=e.moveRangePastDecorators(l1),Pe=function(Ii){if(16777216&P0.getNodeCheckFlags(Ii)){(1&Z)==0&&(Z|=1,J.enableSubstitution(78),A0=[]);var Mn=j.createUniqueName(Ii.name&&!e.isGeneratedIdentifier(Ii.name)?e.idText(Ii.name):\"default\");return A0[e.getOriginalNodeId(Ii)]=Mn,d0(Mn),Mn}}(l1),It=j.getLocalName(l1,!1,!0),Kr=e.visitNodes(l1.heritageClauses,k0,e.isHeritageClause),pn=y1(l1),rn=j.createClassExpression(void 0,void 0,Hx,void 0,Kr,pn);e.setOriginalNode(rn,l1),e.setTextRange(rn,ge);var _t=j.createVariableStatement(void 0,j.createVariableDeclarationList([j.createVariableDeclaration(It,void 0,void 0,Pe?j.createAssignment(Pe,rn):rn)],1));return e.setOriginalNode(_t,l1),e.setTextRange(_t,ge),e.setCommentRange(_t,l1),_t}(E1,ae):function(l1,Hx,ge){var Pe=128&ge?void 0:e.visitNodes(l1.modifiers,S1,e.isModifier),It=j.createClassDeclaration(void 0,Pe,Hx,void 0,e.visitNodes(l1.heritageClauses,k0,e.isHeritageClause),y1(l1)),Kr=e.getEmitFlags(l1);return 1&ge&&(Kr|=32),e.setTextRange(It,l1),e.setOriginalNode(It,l1),e.setEmitFlags(It,Kr),It}(E1,ae,xt),or=[Ut];if(n1(or,E1,!1),n1(or,E1,!0),function(l1,Hx){var ge=function(Pe){var It=function(Mn){var Ka=Mn.decorators,fe=K0(e.getFirstConstructorWithBody(Mn));if(!(!Ka&&!fe))return{decorators:Ka,parameters:fe}}(Pe),Kr=Nx(Pe,Pe,It);if(!!Kr){var pn=A0&&A0[e.getOriginalNodeId(Pe)],rn=j.getLocalName(Pe,!1,!0),_t=G().createDecorateHelper(Kr,rn),Ii=j.createAssignment(rn,pn?j.createAssignment(pn,_t):_t);return e.setEmitFlags(Ii,1536),e.setSourceMapRange(Ii,e.moveRangePastDecorators(Pe)),Ii}}(Hx);ge&&l1.push(e.setOriginalNode(j.createExpressionStatement(ge),Hx))}(or,E1),128&xt){var ut=e.createTokenRange(e.skipTrivia(m0.text,E1.members.end),19),Gr=j.getInternalName(E1),B=j.createPartiallyEmittedExpression(Gr);e.setTextRangeEnd(B,ut.end),e.setEmitFlags(B,1536);var h0=j.createReturnStatement(B);e.setTextRangePos(h0,ut.pos),e.setEmitFlags(h0,1920),or.push(h0),e.insertStatementsAfterStandardPrologue(or,J.endLexicalEnvironment());var M=j.createImmediatelyInvokedArrowFunction(or);e.setEmitFlags(M,33554432);var X0=j.createVariableStatement(void 0,j.createVariableDeclarationList([j.createVariableDeclaration(j.getLocalName(E1,!1,!1),void 0,void 0,M)]));e.setOriginalNode(X0,E1),e.setCommentRange(X0,E1),e.setSourceMapRange(X0,e.moveRangePastDecorators(E1)),e.startOnNewLine(X0),or=[X0]}return 8&xt?ii(or,E1):(128&xt||2&xt)&&(32&xt?or.push(j.createExportDefault(j.getLocalName(E1,!1,!0))):16&xt&&or.push(j.createExternalModuleExport(j.getLocalName(E1,!1,!0)))),or.length>1&&(or.push(j.createEndOfDeclarationMarker(E1)),e.setEmitFlags(Ut,4194304|e.getEmitFlags(Ut))),e.singleOrMany(or)}(cx);case 222:return function(E1){if(!Q0(E1))return e.visitEachChild(E1,k0,J);var qx=j.createClassExpression(void 0,void 0,E1.name,void 0,e.visitNodes(E1.heritageClauses,k0,e.isHeritageClause),y1(E1));return e.setOriginalNode(qx,E1),e.setTextRange(qx,E1),qx}(cx);case 287:return function(E1){if(E1.token!==116)return e.visitEachChild(E1,k0,J)}(cx);case 224:return function(E1){return j.updateExpressionWithTypeArguments(E1,e.visitNode(E1.expression,k0,e.isLeftHandSideExpression),void 0)}(cx);case 166:return function(E1){if(!!nx(E1)){var qx=j.updateMethodDeclaration(E1,void 0,e.visitNodes(E1.modifiers,S1,e.isModifier),E1.asteriskToken,C1(E1),void 0,void 0,e.visitParameterList(E1.parameters,k0,J),void 0,e.visitFunctionBody(E1.body,k0,J));return qx!==E1&&(e.setCommentRange(qx,E1),e.setSourceMapRange(qx,e.moveRangePastDecorators(E1))),qx}}(cx);case 168:return function(E1){if(!!me(E1)){var qx=j.updateGetAccessorDeclaration(E1,void 0,e.visitNodes(E1.modifiers,S1,e.isModifier),C1(E1),e.visitParameterList(E1.parameters,k0,J),void 0,e.visitFunctionBody(E1.body,k0,J)||j.createBlock([]));return qx!==E1&&(e.setCommentRange(qx,E1),e.setSourceMapRange(qx,e.moveRangePastDecorators(E1))),qx}}(cx);case 169:return function(E1){if(!!me(E1)){var qx=j.updateSetAccessorDeclaration(E1,void 0,e.visitNodes(E1.modifiers,S1,e.isModifier),C1(E1),e.visitParameterList(E1.parameters,k0,J),e.visitFunctionBody(E1.body,k0,J)||j.createBlock([]));return qx!==E1&&(e.setCommentRange(qx,E1),e.setSourceMapRange(qx,e.moveRangePastDecorators(E1))),qx}}(cx);case 252:return function(E1){if(!nx(E1))return j.createNotEmittedStatement(E1);var qx=j.updateFunctionDeclaration(E1,void 0,e.visitNodes(E1.modifiers,S1,e.isModifier),E1.asteriskToken,E1.name,void 0,e.visitParameterList(E1.parameters,k0,J),void 0,e.visitFunctionBody(E1.body,k0,J)||j.createBlock([]));if(dt(E1)){var xt=[qx];return ii(xt,E1),xt}return qx}(cx);case 209:return function(E1){return nx(E1)?j.updateFunctionExpression(E1,e.visitNodes(E1.modifiers,S1,e.isModifier),E1.asteriskToken,E1.name,void 0,e.visitParameterList(E1.parameters,k0,J),void 0,e.visitFunctionBody(E1.body,k0,J)||j.createBlock([])):j.createOmittedExpression()}(cx);case 210:return function(E1){return j.updateArrowFunction(E1,e.visitNodes(E1.modifiers,S1,e.isModifier),void 0,e.visitParameterList(E1.parameters,k0,J),void 0,E1.equalsGreaterThanToken,e.visitFunctionBody(E1.body,k0,J))}(cx);case 161:return function(E1){if(!e.parameterIsThisKeyword(E1)){var qx=j.updateParameterDeclaration(E1,void 0,void 0,E1.dotDotDotToken,e.visitNode(E1.name,k0,e.isBindingName),void 0,void 0,e.visitNode(E1.initializer,k0,e.isExpression));return qx!==E1&&(e.setCommentRange(qx,E1),e.setTextRange(qx,e.moveRangePastModifiers(E1)),e.setSourceMapRange(qx,e.moveRangePastModifiers(E1)),e.setEmitFlags(qx.name,32)),qx}}(cx);case 208:return function(E1){var qx=e.skipOuterExpressions(E1.expression,-7);if(e.isAssertionExpression(qx)){var xt=e.visitNode(E1.expression,k0,e.isExpression);return e.length(e.getLeadingCommentRangesOfNode(xt,m0))?j.updateParenthesizedExpression(E1,xt):j.createPartiallyEmittedExpression(xt,E1)}return e.visitEachChild(E1,k0,J)}(cx);case 207:case 225:return function(E1){var qx=e.visitNode(E1.expression,k0,e.isExpression);return j.createPartiallyEmittedExpression(qx,E1)}(cx);case 204:return function(E1){return j.updateCallExpression(E1,e.visitNode(E1.expression,k0,e.isExpression),void 0,e.visitNodes(E1.arguments,k0,e.isExpression))}(cx);case 205:return function(E1){return j.updateNewExpression(E1,e.visitNode(E1.expression,k0,e.isExpression),void 0,e.visitNodes(E1.arguments,k0,e.isExpression))}(cx);case 206:return function(E1){return j.updateTaggedTemplateExpression(E1,e.visitNode(E1.tag,k0,e.isExpression),void 0,e.visitNode(E1.template,k0,e.isExpression))}(cx);case 226:return function(E1){var qx=e.visitNode(E1.expression,k0,e.isLeftHandSideExpression);return j.createPartiallyEmittedExpression(qx,E1)}(cx);case 256:return function(E1){if(!function(M){return!e.isEnumConst(M)||e.shouldPreserveConstEnums(c0)}(E1))return j.createNotEmittedStatement(E1);var qx=[],xt=2,ae=Nt(qx,E1);ae&&(l0===e.ModuleKind.System&&H0===m0||(xt|=512));var Ut=Le(E1),or=Sa(E1),ut=e.hasSyntacticModifier(E1,1)?j.getExternalModuleOrNamespaceExportName(i0,E1,!1,!0):j.getLocalName(E1,!1,!0),Gr=j.createLogicalOr(ut,j.createAssignment(ut,j.createObjectLiteralExpression()));if(Vt(E1)){var B=j.getLocalName(E1,!1,!0);Gr=j.createAssignment(B,Gr)}var h0=j.createExpressionStatement(j.createCallExpression(j.createFunctionExpression(void 0,void 0,void 0,void 0,[j.createParameterDeclaration(void 0,void 0,void 0,Ut)],void 0,function(M,X0){var l1=i0;i0=X0;var Hx=[];u0();var ge=e.map(M.members,gt);return e.insertStatementsAfterStandardPrologue(Hx,g0()),e.addRange(Hx,ge),i0=l1,j.createBlock(e.setTextRange(j.createNodeArray(Hx),M.members),!0)}(E1,or)),void 0,[Gr]));return e.setOriginalNode(h0,E1),ae&&(e.setSyntheticLeadingComments(h0,void 0),e.setSyntheticTrailingComments(h0,void 0)),e.setTextRange(h0,E1),e.addEmitFlags(h0,xt),qx.push(h0),qx.push(j.createEndOfDeclarationMarker(E1)),qx}(cx);case 233:return function(E1){if(dt(E1)){var qx=e.getInitializedVariables(E1.declarationList);return qx.length===0?void 0:e.setTextRange(j.createExpressionStatement(j.inlineExpressions(e.map(qx,Re))),E1)}return e.visitEachChild(E1,k0,J)}(cx);case 250:return function(E1){return j.updateVariableDeclaration(E1,e.visitNode(E1.name,k0,e.isBindingName),void 0,void 0,e.visitNode(E1.initializer,k0,e.isExpression))}(cx);case 257:return Ir(cx);case 261:return Ba(cx);case 275:return function(E1){return j.updateJsxSelfClosingElement(E1,e.visitNode(E1.tagName,k0,e.isJsxTagNameExpression),void 0,e.visitNode(E1.attributes,k0,e.isJsxAttributes))}(cx);case 276:return function(E1){return j.updateJsxOpeningElement(E1,e.visitNode(E1.tagName,k0,e.isJsxTagNameExpression),void 0,e.visitNode(E1.attributes,k0,e.isJsxAttributes))}(cx);default:return e.visitEachChild(cx,k0,J)}}function Y0(cx){var E1=e.getStrictOptionValue(c0,\"alwaysStrict\")&&!(e.isExternalModule(cx)&&l0>=e.ModuleKind.ES2015)&&!e.isJsonSourceFile(cx);return j.updateSourceFile(cx,e.visitLexicalEnvironment(cx.statements,t0,J,0,E1))}function $1(cx){return cx.decorators!==void 0&&cx.decorators.length>0}function Z1(cx){return!!(4096&cx.transformFlags)}function Q0(cx){return e.some(cx.decorators)||e.some(cx.typeParameters)||e.some(cx.heritageClauses,Z1)||e.some(cx.members,Z1)}function y1(cx){var E1=[],qx=e.getFirstConstructorWithBody(cx),xt=qx&&e.filter(qx.parameters,function(ut){return e.isParameterPropertyDeclaration(ut,qx)});if(xt)for(var ae=0,Ut=xt;ae<Ut.length;ae++){var or=Ut[ae];e.isIdentifier(or.name)&&E1.push(e.setOriginalNode(j.createPropertyDeclaration(void 0,void 0,or.name,void 0,void 0,void 0),or))}return e.addRange(E1,e.visitNodes(cx.members,d1,e.isClassElement)),e.setTextRange(j.createNodeArray(E1),cx.members)}function k1(cx,E1){return e.filter(cx.members,E1?function(qx){return I1(qx,!0,cx)}:function(qx){return I1(qx,!1,cx)})}function I1(cx,E1,qx){return e.nodeOrChildIsDecorated(cx,qx)&&E1===e.hasSyntacticModifier(cx,32)}function K0(cx){var E1;if(cx)for(var qx=cx.parameters,xt=qx.length>0&&e.parameterIsThisKeyword(qx[0]),ae=xt?1:0,Ut=xt?qx.length-1:qx.length,or=0;or<Ut;or++){var ut=qx[or+ae];(E1||ut.decorators)&&(E1||(E1=new Array(Ut)),E1[or]=ut.decorators)}return E1}function G1(cx,E1){switch(E1.kind){case 168:case 169:return function(qx,xt){if(!!xt.body){var ae=e.getAllAccessorDeclarations(qx.members,xt),Ut=ae.firstAccessor,or=ae.secondAccessor,ut=ae.setAccessor,Gr=Ut.decorators?Ut:or&&or.decorators?or:void 0;if(!(!Gr||xt!==Gr)){var B=Gr.decorators,h0=K0(ut);if(!(!B&&!h0))return{decorators:B,parameters:h0}}}}(cx,E1);case 166:return function(qx){if(!!qx.body){var xt=qx.decorators,ae=K0(qx);if(!(!xt&&!ae))return{decorators:xt,parameters:ae}}}(E1);case 164:return function(qx){var xt=qx.decorators;if(!!xt)return{decorators:xt}}(E1);default:return}}function Nx(cx,E1,qx){if(qx){var xt=[];return e.addRange(xt,e.map(qx.decorators,I0)),e.addRange(xt,e.flatMap(qx.parameters,U0)),function(ae,Ut,or){(function(ut,Gr,B){c0.emitDecoratorMetadata&&(function(h0){var M=h0.kind;return M===166||M===168||M===169||M===164}(ut)&&B.push(G().createMetadataHelper(\"design:type\",p0(ut))),function(h0){switch(h0.kind){case 253:case 222:return e.getFirstConstructorWithBody(h0)!==void 0;case 166:case 168:case 169:return!0}return!1}(ut)&&B.push(G().createMetadataHelper(\"design:paramtypes\",function(h0,M){var X0=e.isClassLike(h0)?e.getFirstConstructorWithBody(h0):e.isFunctionLike(h0)&&e.nodeIsPresent(h0.body)?h0:void 0,l1=[];if(X0)for(var Hx=function(Kr,pn){if(pn&&Kr.kind===168){var rn=e.getAllAccessorDeclarations(pn.members,Kr).setAccessor;if(rn)return rn.parameters}return Kr.parameters}(X0,M),ge=Hx.length,Pe=0;Pe<ge;Pe++){var It=Hx[Pe];Pe===0&&e.isIdentifier(It.name)&&It.name.escapedText===\"this\"||(It.dotDotDotToken?l1.push(p1(e.getRestParameterElementType(It.type))):l1.push(p0(It)))}return j.createArrayLiteralExpression(l1)}(ut,Gr))),function(h0){return h0.kind===166}(ut)&&B.push(G().createMetadataHelper(\"design:returntype\",function(h0){return e.isFunctionLike(h0)&&h0.type?p1(h0.type):e.isAsyncFunction(h0)?j.createIdentifier(\"Promise\"):j.createVoidZero()}(ut))))})(ae,Ut,or)}(cx,E1,xt),xt}}function n1(cx,E1,qx){e.addRange(cx,e.map(function(xt,ae){for(var Ut,or=k1(xt,ae),ut=0,Gr=or;ut<Gr.length;ut++){var B=S0(xt,Gr[ut]);B&&(Ut?Ut.push(B):Ut=[B])}return Ut}(E1,qx),en))}function S0(cx,E1){var qx=Nx(E1,cx,G1(cx,E1));if(qx){var xt=function(ut,Gr){return e.hasSyntacticModifier(Gr,32)?j.getDeclarationName(ut):function(B){return j.createPropertyAccessExpression(j.getDeclarationName(B),\"prototype\")}(ut)}(cx,E1),ae=O0(E1,!0),Ut=x0>0?E1.kind===164?j.createVoidZero():j.createNull():void 0,or=G().createDecorateHelper(qx,xt,ae,Ut);return e.setTextRange(or,e.moveRangePastDecorators(E1)),e.setEmitFlags(or,1536),or}}function I0(cx){return e.visitNode(cx.expression,k0,e.isExpression)}function U0(cx,E1){var qx;if(cx){qx=[];for(var xt=0,ae=cx;xt<ae.length;xt++){var Ut=ae[xt],or=G().createParamHelper(I0(Ut),E1);e.setTextRange(or,Ut.expression),e.setEmitFlags(or,1536),qx.push(or)}}return qx}function p0(cx){switch(cx.kind){case 164:case 161:return p1(cx.type);case 169:case 168:return p1(function(E1){var qx=P0.getAllAccessorDeclarations(E1);return qx.setAccessor&&e.getSetAccessorTypeAnnotationNode(qx.setAccessor)||qx.getAccessor&&e.getEffectiveReturnTypeNode(qx.getAccessor)}(cx));case 253:case 222:case 166:return j.createIdentifier(\"Function\");default:return j.createVoidZero()}}function p1(cx){if(cx===void 0)return j.createIdentifier(\"Object\");switch(cx.kind){case 113:case 150:case 141:return j.createVoidZero();case 187:return p1(cx.type);case 175:case 176:return j.createIdentifier(\"Function\");case 179:case 180:return j.createIdentifier(\"Array\");case 173:case 131:return j.createIdentifier(\"Boolean\");case 147:return j.createIdentifier(\"String\");case 145:return j.createIdentifier(\"Object\");case 192:switch(cx.literal.kind){case 10:case 14:return j.createIdentifier(\"String\");case 215:case 8:return j.createIdentifier(\"Number\");case 9:return rx();case 109:case 94:return j.createIdentifier(\"Boolean\");case 103:return j.createVoidZero();default:return e.Debug.failBadSyntaxKind(cx.literal)}case 144:return j.createIdentifier(\"Number\");case 155:return rx();case 148:return x0<2?$x():j.createIdentifier(\"Symbol\");case 174:return function(E1){var qx=P0.getTypeReferenceSerializationKind(E1.typeName,E0||H0);switch(qx){case e.TypeReferenceSerializationKind.Unknown:if(e.findAncestor(E1,function(Ut){return Ut.parent&&e.isConditionalTypeNode(Ut.parent)&&(Ut.parent.trueType===Ut||Ut.parent.falseType===Ut)}))return j.createIdentifier(\"Object\");var xt=V1(E1.typeName),ae=j.createTempVariable(d0);return j.createConditionalExpression(j.createTypeCheck(j.createAssignment(ae,xt),\"function\"),void 0,ae,void 0,j.createIdentifier(\"Object\"));case e.TypeReferenceSerializationKind.TypeWithConstructSignatureAndValue:return Ox(E1.typeName);case e.TypeReferenceSerializationKind.VoidNullableOrNeverType:return j.createVoidZero();case e.TypeReferenceSerializationKind.BigIntLikeType:return rx();case e.TypeReferenceSerializationKind.BooleanType:return j.createIdentifier(\"Boolean\");case e.TypeReferenceSerializationKind.NumberLikeType:return j.createIdentifier(\"Number\");case e.TypeReferenceSerializationKind.StringLikeType:return j.createIdentifier(\"String\");case e.TypeReferenceSerializationKind.ArrayLikeType:return j.createIdentifier(\"Array\");case e.TypeReferenceSerializationKind.ESSymbolType:return x0<2?$x():j.createIdentifier(\"Symbol\");case e.TypeReferenceSerializationKind.TypeWithCallSignature:return j.createIdentifier(\"Function\");case e.TypeReferenceSerializationKind.Promise:return j.createIdentifier(\"Promise\");case e.TypeReferenceSerializationKind.ObjectType:return j.createIdentifier(\"Object\");default:return e.Debug.assertNever(qx)}}(cx);case 184:case 183:return Y1(cx.types);case 185:return Y1([cx.trueType,cx.falseType]);case 189:if(cx.operator===142)return p1(cx.type);break;case 177:case 190:case 191:case 178:case 128:case 152:case 188:case 196:break;case 304:case 305:case 309:case 310:case 311:break;case 306:case 307:case 308:return p1(cx.type);default:return e.Debug.failBadSyntaxKind(cx)}return j.createIdentifier(\"Object\")}function Y1(cx){for(var E1,qx=0,xt=cx;qx<xt.length;qx++){for(var ae=xt[qx];ae.kind===187;)ae=ae.type;if(ae.kind!==141&&(D0||(ae.kind!==192||ae.literal.kind!==103)&&ae.kind!==150)){var Ut=p1(ae);if(e.isIdentifier(Ut)&&Ut.escapedText===\"Object\")return Ut;if(E1){if(!e.isIdentifier(E1)||!e.isIdentifier(Ut)||E1.escapedText!==Ut.escapedText)return j.createIdentifier(\"Object\")}else E1=Ut}}return E1||j.createVoidZero()}function N1(cx,E1){return j.createLogicalAnd(j.createStrictInequality(j.createTypeOfExpression(cx),j.createStringLiteral(\"undefined\")),E1)}function V1(cx){if(cx.kind===78){var E1=Ox(cx);return N1(E1,E1)}if(cx.left.kind===78)return N1(Ox(cx.left),Ox(cx));var qx=V1(cx.left),xt=j.createTempVariable(d0);return j.createLogicalAnd(j.createLogicalAnd(qx.left,j.createStrictInequality(j.createAssignment(xt,qx.right),j.createVoidZero())),j.createPropertyAccessExpression(xt,cx.right))}function Ox(cx){switch(cx.kind){case 78:var E1=e.setParent(e.setTextRange(e.parseNodeFactory.cloneNode(cx),cx),cx.parent);return E1.original=void 0,e.setParent(E1,e.getParseTreeNode(H0)),E1;case 158:return function(qx){return j.createPropertyAccessExpression(Ox(qx.left),qx.right)}(cx)}}function $x(){return j.createConditionalExpression(j.createTypeCheck(j.createIdentifier(\"Symbol\"),\"function\"),void 0,j.createIdentifier(\"Symbol\"),void 0,j.createIdentifier(\"Object\"))}function rx(){return x0<99?j.createConditionalExpression(j.createTypeCheck(j.createIdentifier(\"BigInt\"),\"function\"),void 0,j.createIdentifier(\"BigInt\"),void 0,j.createIdentifier(\"Object\")):j.createIdentifier(\"BigInt\")}function O0(cx,E1){var qx=cx.name;return e.isPrivateIdentifier(qx)?j.createIdentifier(\"\"):e.isComputedPropertyName(qx)?E1&&!e.isSimpleInlineableExpression(qx.expression)?j.getGeneratedNameForNode(qx):qx.expression:e.isIdentifier(qx)?j.createStringLiteral(e.idText(qx)):j.cloneNode(qx)}function C1(cx){var E1=cx.name;if(e.isComputedPropertyName(E1)&&(!e.hasStaticModifier(cx)&&A||e.some(cx.decorators))){var qx=e.visitNode(E1.expression,k0,e.isExpression),xt=e.skipPartiallyEmittedExpressions(qx);if(!e.isSimpleInlineableExpression(xt)){var ae=j.getGeneratedNameForNode(E1);return d0(ae),j.updateComputedPropertyName(E1,j.createAssignment(ae,qx))}}return e.visitNode(E1,k0,e.isPropertyName)}function nx(cx){return!e.nodeIsMissing(cx.body)}function O(cx){if(!(8388608&cx.flags||e.hasSyntacticModifier(cx,128))){var E1=j.updatePropertyDeclaration(cx,void 0,e.visitNodes(cx.modifiers,k0,e.isModifier),C1(cx),void 0,void 0,e.visitNode(cx.initializer,k0));return E1!==cx&&(e.setCommentRange(E1,cx),e.setSourceMapRange(E1,e.moveRangePastDecorators(cx))),E1}}function b1(cx){if(nx(cx))return j.updateConstructorDeclaration(cx,void 0,void 0,e.visitParameterList(cx.parameters,k0,J),function(E1,qx){var xt=qx&&e.filter(qx.parameters,function(ut){return e.isParameterPropertyDeclaration(ut,qx)});if(!e.some(xt))return e.visitFunctionBody(E1,k0,J);var ae=[],Ut=0;U(),Ut=e.addPrologueDirectivesAndInitialSuperCall(j,qx,ae,k0),e.addRange(ae,e.map(xt,Px)),e.addRange(ae,e.visitNodes(E1.statements,k0,e.isStatement,Ut)),ae=j.mergeLexicalEnvironment(ae,g0());var or=j.createBlock(e.setTextRange(j.createNodeArray(ae),E1.statements),!0);return e.setTextRange(or,E1),e.setOriginalNode(or,E1),or}(cx.body,cx))}function Px(cx){var E1=cx.name;if(e.isIdentifier(E1)){var qx=e.setParent(e.setTextRange(j.cloneNode(E1),E1),E1.parent);e.setEmitFlags(qx,1584);var xt=e.setParent(e.setTextRange(j.cloneNode(E1),E1),E1.parent);return e.setEmitFlags(xt,1536),e.startOnNewLine(e.removeAllComments(e.setTextRange(e.setOriginalNode(j.createExpressionStatement(j.createAssignment(e.setTextRange(j.createPropertyAccessExpression(j.createThis(),qx),cx.name),xt)),cx),e.moveRangePos(cx,-1))))}}function me(cx){return!(e.nodeIsMissing(cx.body)&&e.hasSyntacticModifier(cx,128))}function Re(cx){var E1=cx.name;return e.isBindingPattern(E1)?e.flattenDestructuringAssignment(cx,k0,J,0,!1,Tt):e.setTextRange(j.createAssignment(bn(E1),e.visitNode(cx.initializer,k0,e.isExpression)),cx)}function gt(cx){var E1=O0(cx,!1),qx=function(Ut){var or=P0.getConstantValue(Ut);return or!==void 0?typeof or==\"string\"?j.createStringLiteral(or):j.createNumericLiteral(or):((8&Z)==0&&(Z|=8,J.enableSubstitution(78)),Ut.initializer?e.visitNode(Ut.initializer,k0,e.isExpression):j.createVoidZero())}(cx),xt=j.createAssignment(j.createElementAccessExpression(i0,E1),qx),ae=qx.kind===10?xt:j.createAssignment(j.createElementAccessExpression(i0,xt),E1);return e.setTextRange(j.createExpressionStatement(e.setTextRange(ae,cx)),cx)}function Vt(cx){return dt(cx)||Gt(cx)&&l0!==e.ModuleKind.ES2015&&l0!==e.ModuleKind.ES2020&&l0!==e.ModuleKind.ESNext&&l0!==e.ModuleKind.System}function wr(cx){I||(I=new e.Map);var E1=gr(cx);I.has(E1)||I.set(E1,cx)}function gr(cx){return e.Debug.assertNode(cx.name,e.isIdentifier),cx.name.escapedText}function Nt(cx,E1){var qx=j.createVariableStatement(e.visitNodes(E1.modifiers,S1,e.isModifier),j.createVariableDeclarationList([j.createVariableDeclaration(j.getLocalName(E1,!1,!0))],H0.kind===298?0:1));if(e.setOriginalNode(qx,E1),wr(E1),function(ae){if(I){var Ut=gr(ae);return I.get(Ut)===ae}return!0}(E1))return E1.kind===256?e.setSourceMapRange(qx.declarationList,E1):e.setSourceMapRange(qx,E1),e.setCommentRange(qx,E1),e.addEmitFlags(qx,4195328),cx.push(qx),!0;var xt=j.createMergeDeclarationMarker(qx);return e.setEmitFlags(xt,4195840),cx.push(xt),!1}function Ir(cx){if(!function(h0){var M=e.getParseTreeNode(h0,e.isModuleDeclaration);return!M||e.isInstantiatedModule(M,e.shouldPreserveConstEnums(c0))}(cx))return j.createNotEmittedStatement(cx);e.Debug.assertNode(cx.name,e.isIdentifier,\"A TypeScript namespace should have an Identifier name.\"),(2&Z)==0&&(Z|=2,J.enableSubstitution(78),J.enableSubstitution(290),J.enableEmitNotification(257));var E1=[],qx=2,xt=Nt(E1,cx);xt&&(l0===e.ModuleKind.System&&H0===m0||(qx|=512));var ae=Le(cx),Ut=Sa(cx),or=e.hasSyntacticModifier(cx,1)?j.getExternalModuleOrNamespaceExportName(i0,cx,!1,!0):j.getLocalName(cx,!1,!0),ut=j.createLogicalOr(or,j.createAssignment(or,j.createObjectLiteralExpression()));if(Vt(cx)){var Gr=j.getLocalName(cx,!1,!0);ut=j.createAssignment(Gr,ut)}var B=j.createExpressionStatement(j.createCallExpression(j.createFunctionExpression(void 0,void 0,void 0,void 0,[j.createParameterDeclaration(void 0,void 0,void 0,ae)],void 0,function(h0,M){var X0=i0,l1=s1,Hx=I;i0=M,s1=h0,I=void 0;var ge,Pe,It=[];if(u0(),h0.body)if(h0.body.kind===258)H(h0.body,function(_t){return e.addRange(It,e.visitNodes(_t.statements,y0,e.isStatement))}),ge=h0.body.statements,Pe=h0.body;else{var Kr=Ir(h0.body);Kr&&(e.isArray(Kr)?e.addRange(It,Kr):It.push(Kr));var pn=xr(h0).body;ge=e.moveRangePos(pn.statements,-1)}e.insertStatementsAfterStandardPrologue(It,g0()),i0=X0,s1=l1,I=Hx;var rn=j.createBlock(e.setTextRange(j.createNodeArray(It),ge),!0);return e.setTextRange(rn,Pe),h0.body&&h0.body.kind===258||e.setEmitFlags(rn,1536|e.getEmitFlags(rn)),rn}(cx,Ut)),void 0,[ut]));return e.setOriginalNode(B,cx),xt&&(e.setSyntheticLeadingComments(B,void 0),e.setSyntheticTrailingComments(B,void 0)),e.setTextRange(B,cx),e.addEmitFlags(B,qx),E1.push(B),E1.push(j.createEndOfDeclarationMarker(cx)),E1}function xr(cx){if(cx.body.kind===257)return xr(cx.body)||cx.body}function Bt(cx){if(!cx.isTypeOnly){var E1=P0.isReferencedAliasDeclaration(cx)?cx.name:void 0,qx=e.visitNode(cx.namedBindings,ar,e.isNamedImportBindings);return E1||qx?j.updateImportClause(cx,!1,E1,qx):void 0}}function ar(cx){if(cx.kind===264)return P0.isReferencedAliasDeclaration(cx)?cx:void 0;var E1=e.visitNodes(cx.elements,Ni,e.isImportSpecifier);return e.some(E1)?j.updateNamedImports(cx,E1):void 0}function Ni(cx){return P0.isReferencedAliasDeclaration(cx)?cx:void 0}function Kn(cx){return e.isNamespaceExport(cx)?function(E1){return j.updateNamespaceExport(E1,e.visitNode(E1.name,k0,e.isIdentifier))}(cx):function(E1){var qx=e.visitNodes(E1.elements,oi,e.isExportSpecifier);return e.some(qx)?j.updateNamedExports(E1,qx):void 0}(cx)}function oi(cx){return P0.isValueAliasDeclaration(cx)?cx:void 0}function Ba(cx){if(!cx.isTypeOnly){if(e.isExternalModuleImportEqualsDeclaration(cx)){var E1=P0.isReferencedAliasDeclaration(cx);return E1||c0.importsNotUsedAsValues!==1?E1?e.visitEachChild(cx,k0,J):void 0:e.setOriginalNode(e.setTextRange(j.createImportDeclaration(void 0,void 0,void 0,cx.moduleReference.expression),cx),cx)}if(function(or){return P0.isReferencedAliasDeclaration(or)||!e.isExternalModule(m0)&&P0.isTopLevelValueImportEqualsWithEntityName(or)}(cx)){var qx,xt,ae,Ut=e.createExpressionFromEntityName(j,cx.moduleReference);return e.setEmitFlags(Ut,3584),lr(cx)||!dt(cx)?e.setOriginalNode(e.setTextRange(j.createVariableStatement(e.visitNodes(cx.modifiers,S1,e.isModifier),j.createVariableDeclarationList([e.setOriginalNode(j.createVariableDeclaration(cx.name,void 0,void 0,Ut),cx)])),cx),cx):e.setOriginalNode((qx=cx.name,xt=Ut,ae=cx,e.setTextRange(j.createExpressionStatement(j.createAssignment(j.getNamespaceMemberName(i0,qx,!1,!0),xt)),ae)),cx)}}}function dt(cx){return s1!==void 0&&e.hasSyntacticModifier(cx,1)}function Gt(cx){return s1===void 0&&e.hasSyntacticModifier(cx,1)}function lr(cx){return Gt(cx)&&!e.hasSyntacticModifier(cx,512)}function en(cx){return j.createExpressionStatement(cx)}function ii(cx,E1){var qx=j.createAssignment(j.getExternalModuleOrNamespaceExportName(i0,E1,!1,!0),j.getLocalName(E1));e.setSourceMapRange(qx,e.createRange(E1.name?E1.name.pos:E1.pos,E1.end));var xt=j.createExpressionStatement(qx);e.setSourceMapRange(xt,e.createRange(-1,E1.end)),cx.push(xt)}function Tt(cx,E1,qx){return e.setTextRange(j.createAssignment(bn(cx),E1),qx)}function bn(cx){return j.getNamespaceMemberName(i0,cx,!1,!0)}function Le(cx){var E1=j.getGeneratedNameForNode(cx);return e.setSourceMapRange(E1,cx.name),E1}function Sa(cx){return j.getGeneratedNameForNode(cx)}function Yn(cx){if(Z&o0&&!e.isGeneratedIdentifier(cx)&&!e.isLocalName(cx)){var E1=P0.getReferencedExportContainer(cx,!1);if(E1&&E1.kind!==298&&(2&o0&&E1.kind===257||8&o0&&E1.kind===256))return e.setTextRange(j.createPropertyAccessExpression(j.getGeneratedNameForNode(E1),cx),cx)}}function W1(cx){var E1=function(Ut){if(!c0.isolatedModules)return e.isPropertyAccessExpression(Ut)||e.isElementAccessExpression(Ut)?P0.getConstantValue(Ut):void 0}(cx);if(E1!==void 0){e.setConstantValue(cx,E1);var qx=typeof E1==\"string\"?j.createStringLiteral(E1):j.createNumericLiteral(E1);if(!c0.removeComments){var xt=e.getOriginalNode(cx,e.isAccessExpression),ae=e.isPropertyAccessExpression(xt)?e.declarationNameToString(xt.name):e.getTextOfNode(xt.argumentExpression);e.addSyntheticTrailingComment(qx,3,\" \"+ae+\" \")}return qx}return cx}}}(_0||(_0={})),function(e){var s,X;(function(J){J[J.ClassAliases=1]=\"ClassAliases\"})(s||(s={})),(X=e.PrivateIdentifierKind||(e.PrivateIdentifierKind={})).Field=\"f\",X.Method=\"m\",X.Accessor=\"a\",e.transformClassFields=function(J){var m0,s1,i0,H0,E0=J.factory,I=J.hoistVariableDeclaration,A=J.endLexicalEnvironment,Z=J.resumeLexicalEnvironment,A0=J.addBlockScopedVariable,o0=J.getEmitResolver(),j=J.getCompilerOptions(),G=e.getEmitScriptTarget(j),u0=e.getUseDefineForClassFields(j),U=G<99,g0=J.onSubstituteNode;J.onSubstituteNode=function(I1,K0){return K0=g0(I1,K0),I1===1?function(G1){switch(G1.kind){case 78:return function(Nx){return function(n1){if(1&m0&&33554432&o0.getNodeCheckFlags(n1)){var S0=o0.getReferencedValueDeclaration(n1);if(S0){var I0=s1[S0.id];if(I0){var U0=E0.cloneNode(I0);return e.setSourceMapRange(U0,n1),e.setCommentRange(U0,n1),U0}}}}(Nx)||Nx}(G1)}return G1}(K0):K0};var d0,P0=[];return e.chainBundle(J,function(I1){var K0=J.getCompilerOptions();if(I1.isDeclarationFile||u0&&K0.target===99)return I1;var G1=e.visitEachChild(I1,c0,J);return e.addEmitHelpers(G1,J.readEmitHelpers()),G1});function c0(I1){if(!(8388608&I1.transformFlags))return I1;switch(I1.kind){case 222:case 253:return function(K0){var G1=i0;if(i0=void 0,U){P0.push(d0),d0=void 0;var Nx=e.getNameOfDeclaration(K0);Nx&&e.isIdentifier(Nx)&&(h1().className=e.idText(Nx));var n1=t0(K0);e.some(n1)&&(h1().weakSetName=Y0(\"instances\",n1[0].name))}var S0=e.isClassDeclaration(K0)?function(I0){if(!e.forEach(I0.members,V0))return e.visitEachChild(I0,c0,J);var U0,p0=e.getProperties(I0,!1,!0);if(U&&e.some(I0.members,function(Ox){return e.hasStaticModifier(Ox)&&!!Ox.name&&e.isPrivateIdentifier(Ox.name)})){var p1=E0.createTempVariable(I,!0);h1().classConstructor=E0.cloneNode(p1),U0=E0.createAssignment(p1,E0.getInternalName(I0))}var Y1=e.getEffectiveBaseTypeNode(I0),N1=!(!Y1||e.skipOuterExpressions(Y1.expression).kind===103),V1=[E0.updateClassDeclaration(I0,void 0,I0.modifiers,I0.name,void 0,e.visitNodes(I0.heritageClauses,c0,e.isHeritageClause),f0(I0,N1))];return U0&&S1().unshift(U0),e.some(i0)&&V1.push(E0.createExpressionStatement(E0.inlineExpressions(i0))),e.some(p0)&&G0(V1,p0,E0.getInternalName(I0)),V1}(K0):function(I0){if(!e.forEach(I0.members,V0))return e.visitEachChild(I0,c0,J);var U0,p0=e.isClassDeclaration(e.getOriginalNode(I0)),p1=e.getProperties(I0,!1,!0),Y1=e.getEffectiveBaseTypeNode(I0),N1=!(!Y1||e.skipOuterExpressions(Y1.expression).kind===103),V1=16777216&o0.getNodeCheckFlags(I0);function Ox(){var C1=o0.getNodeCheckFlags(I0),nx=16777216&C1,O=524288&C1;return E0.createTempVariable(O?A0:I,!!nx)}U&&e.some(I0.members,function(C1){return e.hasStaticModifier(C1)&&!!C1.name&&e.isPrivateIdentifier(C1.name)})&&(U0=Ox(),h1().classConstructor=E0.cloneNode(U0));var $x=E0.updateClassExpression(I0,e.visitNodes(I0.decorators,c0,e.isDecorator),I0.modifiers,I0.name,void 0,e.visitNodes(I0.heritageClauses,c0,e.isHeritageClause),f0(I0,N1));if(e.some(p1,function(C1){return!!C1.initializer||U&&e.isPrivateIdentifier(C1.name)})||e.some(i0)){if(p0)return e.Debug.assertIsDefined(H0,\"Decorated classes transformed by TypeScript are expected to be within a variable declaration.\"),H0&&i0&&e.some(i0)&&H0.push(E0.createExpressionStatement(E0.inlineExpressions(i0))),H0&&e.some(p1)&&G0(H0,p1,E0.getInternalName(I0)),U0?E0.inlineExpressions([E0.createAssignment(U0,$x),U0]):$x;var rx=[];if(U0||(U0=Ox()),V1){(1&m0)==0&&(m0|=1,J.enableSubstitution(78),s1=[]);var O0=E0.cloneNode(U0);O0.autoGenerateFlags&=-9,s1[e.getOriginalNodeId(I0)]=O0}return e.setEmitFlags($x,65536|e.getEmitFlags($x)),rx.push(e.startOnNewLine(E0.createAssignment(U0,$x))),e.addRange(rx,e.map(i0,e.startOnNewLine)),e.addRange(rx,function(C1,nx){for(var O=[],b1=0,Px=C1;b1<Px.length;b1++){var me=Px[b1],Re=d1(me,nx);Re&&(e.startOnNewLine(Re),e.setSourceMapRange(Re,e.moveRangePastModifiers(me)),e.setCommentRange(Re,me),e.setOriginalNode(Re,me),O.push(Re))}return O}(p1,U0)),rx.push(e.startOnNewLine(U0)),E0.inlineExpressions(rx)}return $x}(K0);return U&&(d0=P0.pop()),i0=G1,S0}(I1);case 164:return l0(I1);case 233:return function(K0){var G1=H0;H0=[];var Nx=e.visitEachChild(K0,c0,J),n1=e.some(H0)?D([Nx],H0):Nx;return H0=G1,n1}(I1);case 202:return function(K0){if(U&&e.isPrivateIdentifier(K0.name)){var G1=Z1(K0.name);if(G1)return e.setTextRange(e.setOriginalNode(w0(G1,K0.expression),K0),K0)}return e.visitEachChild(K0,c0,J)}(I1);case 215:return function(K0){if(U&&e.isPrivateIdentifierPropertyAccessExpression(K0.operand)){var G1=K0.operator===45?39:K0.operator===46?40:void 0,Nx=void 0;if(G1&&(Nx=Z1(K0.operand.name))){var n1=H(e.visitNode(K0.operand.expression,c0,e.isExpression)),S0=n1.readExpression,I0=n1.initializeExpression,U0=E0.createPrefixUnaryExpression(39,w0(Nx,S0));return e.setOriginalNode(k0(Nx,I0||S0,E0.createBinaryExpression(U0,G1,E0.createNumericLiteral(1)),62),K0)}}return e.visitEachChild(K0,c0,J)}(I1);case 216:return w(I1,!1);case 204:return function(K0){if(U&&e.isPrivateIdentifierPropertyAccessExpression(K0.expression)){var G1=E0.createCallBinding(K0.expression,I,G),Nx=G1.thisArg,n1=G1.target;return e.isCallChain(K0)?E0.updateCallChain(K0,E0.createPropertyAccessChain(e.visitNode(n1,c0),K0.questionDotToken,\"call\"),void 0,void 0,D([e.visitNode(Nx,c0,e.isExpression)],e.visitNodes(K0.arguments,c0,e.isExpression))):E0.updateCallExpression(K0,E0.createPropertyAccessExpression(e.visitNode(n1,c0),\"call\"),void 0,D([e.visitNode(Nx,c0,e.isExpression)],e.visitNodes(K0.arguments,c0,e.isExpression)))}return e.visitEachChild(K0,c0,J)}(I1);case 217:return function(K0){if(U){if(e.isDestructuringAssignment(K0)){var G1=i0;i0=void 0,K0=E0.updateBinaryExpression(K0,e.visitNode(K0.left,D0),K0.operatorToken,e.visitNode(K0.right,c0));var Nx=e.some(i0)?E0.inlineExpressions(e.compact(D(D([],i0),[K0]))):K0;return i0=G1,Nx}if(e.isAssignmentExpression(K0)&&e.isPrivateIdentifierPropertyAccessExpression(K0.left)){var n1=Z1(K0.left.name);if(n1)return e.setTextRange(e.setOriginalNode(k0(n1,K0.left.expression,K0.right,K0.operatorToken.kind),K0),K0)}}return e.visitEachChild(K0,c0,J)}(I1);case 79:return function(K0){return U?e.setOriginalNode(E0.createIdentifier(\"\"),K0):K0}(I1);case 234:return function(K0){return e.isPostfixUnaryExpression(K0.expression)?E0.updateExpressionStatement(K0,w(K0.expression,!0)):e.visitEachChild(K0,c0,J)}(I1);case 238:return function(K0){return K0.incrementor&&e.isPostfixUnaryExpression(K0.incrementor)?E0.updateForStatement(K0,e.visitNode(K0.initializer,c0,e.isForInitializer),e.visitNode(K0.condition,c0,e.isExpression),w(K0.incrementor,!0),e.visitIterationBody(K0.statement,c0,J)):e.visitEachChild(K0,c0,J)}(I1);case 206:return function(K0){if(U&&e.isPrivateIdentifierPropertyAccessExpression(K0.tag)){var G1=E0.createCallBinding(K0.tag,I,G),Nx=G1.thisArg,n1=G1.target;return E0.updateTaggedTemplateExpression(K0,E0.createCallExpression(E0.createPropertyAccessExpression(e.visitNode(n1,c0),\"bind\"),void 0,[e.visitNode(Nx,c0,e.isExpression)]),void 0,e.visitNode(K0.template,c0,e.isTemplateLiteral))}return e.visitEachChild(K0,c0,J)}(I1)}return e.visitEachChild(I1,c0,J)}function D0(I1){switch(I1.kind){case 201:case 200:return function(K0){return e.isArrayLiteralExpression(K0)?E0.updateArrayLiteralExpression(K0,e.visitNodes(K0.elements,y1,e.isExpression)):E0.updateObjectLiteralExpression(K0,e.visitNodes(K0.properties,k1,e.isObjectLiteralElementLike))}(I1);default:return c0(I1)}}function x0(I1){switch(I1.kind){case 167:return;case 168:case 169:case 166:return function(K0){if(e.Debug.assert(!e.some(K0.decorators)),!U||!e.isPrivateIdentifier(K0.name))return e.visitEachChild(K0,x0,J);var G1=Z1(K0.name);if(e.Debug.assert(G1,\"Undeclared private name for property declaration.\"),!G1.isValid)return K0;var Nx=function(n1){e.Debug.assert(e.isPrivateIdentifier(n1.name));var S0=Z1(n1.name);if(e.Debug.assert(S0,\"Undeclared private name for property declaration.\"),S0.kind===\"m\")return S0.methodName;if(S0.kind===\"a\"){if(e.isGetAccessor(n1))return S0.getterName;if(e.isSetAccessor(n1))return S0.setterName}}(K0);Nx&&S1().push(E0.createAssignment(Nx,E0.createFunctionExpression(e.filter(K0.modifiers,function(n1){return!e.isStaticModifier(n1)}),K0.asteriskToken,Nx,void 0,e.visitParameterList(K0.parameters,x0,J),void 0,e.visitFunctionBody(K0.body,x0,J))))}(I1);case 164:return l0(I1);case 159:return function(K0){var G1=e.visitEachChild(K0,c0,J);if(e.some(i0)){var Nx=i0;Nx.push(G1.expression),i0=[],G1=E0.updateComputedPropertyName(G1,E0.inlineExpressions(Nx))}return G1}(I1);case 230:return I1;default:return c0(I1)}}function l0(I1){if(e.Debug.assert(!e.some(I1.decorators)),e.isPrivateIdentifier(I1.name)){if(!U)return E0.updatePropertyDeclaration(I1,void 0,e.visitNodes(I1.modifiers,c0,e.isModifier),I1.name,void 0,void 0,void 0);var K0=Z1(I1.name);if(e.Debug.assert(K0,\"Undeclared private name for property declaration.\"),!K0.isValid)return I1}var G1=function(Nx,n1){if(e.isComputedPropertyName(Nx)){var S0=e.visitNode(Nx.expression,c0,e.isExpression),I0=e.skipPartiallyEmittedExpressions(S0),U0=e.isSimpleInlineableExpression(I0);if(!(e.isAssignmentExpression(I0)&&e.isGeneratedIdentifier(I0.left))&&!U0&&n1){var p0=E0.getGeneratedNameForNode(Nx);return 524288&o0.getNodeCheckFlags(Nx)?A0(p0):I(p0),E0.createAssignment(p0,S0)}return U0||e.isIdentifier(I0)?void 0:S0}}(I1.name,!!I1.initializer||u0);G1&&!e.isSimpleInlineableExpression(G1)&&S1().push(G1)}function w0(I1,K0){return V(I1,e.visitNode(K0,c0,e.isExpression))}function V(I1,K0){switch(e.setCommentRange(K0,e.moveRangePos(K0,-1)),I1.kind){case\"a\":return J.getEmitHelperFactory().createClassPrivateFieldGetHelper(K0,I1.brandCheckIdentifier,I1.kind,I1.getterName);case\"m\":return J.getEmitHelperFactory().createClassPrivateFieldGetHelper(K0,I1.brandCheckIdentifier,I1.kind,I1.methodName);case\"f\":return J.getEmitHelperFactory().createClassPrivateFieldGetHelper(K0,I1.brandCheckIdentifier,I1.kind,I1.variableName);default:e.Debug.assertNever(I1,\"Unknown private element type\")}}function w(I1,K0){if(U&&e.isPrivateIdentifierPropertyAccessExpression(I1.operand)){var G1=I1.operator===45?39:I1.operator===46?40:void 0,Nx=void 0;if(G1&&(Nx=Z1(I1.operand.name))){var n1=H(e.visitNode(I1.operand.expression,c0,e.isExpression)),S0=n1.readExpression,I0=n1.initializeExpression,U0=E0.createPrefixUnaryExpression(39,w0(Nx,S0)),p0=K0?void 0:E0.createTempVariable(I);return e.setOriginalNode(E0.inlineExpressions(e.compact([k0(Nx,I0||S0,E0.createBinaryExpression(p0?E0.createAssignment(p0,U0):U0,G1,E0.createNumericLiteral(1)),62),p0])),I1)}}return e.visitEachChild(I1,c0,J)}function H(I1){var K0=e.nodeIsSynthesized(I1)?I1:E0.cloneNode(I1);if(e.isSimpleInlineableExpression(I1))return{readExpression:K0,initializeExpression:void 0};var G1=E0.createTempVariable(I);return{readExpression:G1,initializeExpression:E0.createAssignment(G1,K0)}}function k0(I1,K0,G1,Nx){if(K0=e.visitNode(K0,c0,e.isExpression),G1=e.visitNode(G1,c0,e.isExpression),e.isCompoundAssignment(Nx)){var n1=H(K0),S0=n1.readExpression;K0=n1.initializeExpression||S0,G1=E0.createBinaryExpression(V(I1,S0),e.getNonAssignmentOperatorForCompoundAssignment(Nx),G1)}switch(e.setCommentRange(K0,e.moveRangePos(K0,-1)),I1.kind){case\"a\":return J.getEmitHelperFactory().createClassPrivateFieldSetHelper(K0,I1.brandCheckIdentifier,G1,I1.kind,I1.setterName);case\"m\":return J.getEmitHelperFactory().createClassPrivateFieldSetHelper(K0,I1.brandCheckIdentifier,G1,I1.kind,void 0);case\"f\":return J.getEmitHelperFactory().createClassPrivateFieldSetHelper(K0,I1.brandCheckIdentifier,G1,I1.kind,I1.variableName);default:e.Debug.assertNever(I1,\"Unknown private element type\")}}function V0(I1){return e.isPropertyDeclaration(I1)||U&&I1.name&&e.isPrivateIdentifier(I1.name)}function t0(I1){return e.filter(I1.members,e.isNonStaticMethodOrAccessorWithPrivateName)}function f0(I1,K0){if(U){for(var G1=0,Nx=I1.members;G1<Nx.length;G1++){var n1=Nx[G1];e.isPrivateIdentifierClassElementDeclaration(n1)&&Q1(n1)}e.some(t0(I1))&&(S0=h1().weakSetName,e.Debug.assert(S0,\"weakSetName should be set in private identifier environment\"),S1().push(E0.createAssignment(S0,E0.createNewExpression(E0.createIdentifier(\"WeakSet\"),void 0,[]))))}var S0,I0=[],U0=function(p0,p1){var Y1=e.visitNode(e.getFirstConstructorWithBody(p0),c0,e.isConstructorDeclaration),N1=p0.members.filter(y0);if(!e.some(N1))return Y1;var V1=e.visitParameterList(Y1?Y1.parameters:void 0,c0,J),Ox=function($x,rx,O0){var C1=e.getProperties($x,!1,!1);u0||(C1=e.filter(C1,function(gt){return!!gt.initializer||e.isPrivateIdentifier(gt.name)}));var nx=t0($x),O=e.some(C1)||e.some(nx);if(!rx&&!O)return e.visitFunctionBody(void 0,c0,J);Z();var b1=0,Px=[];if(!rx&&O0&&Px.push(E0.createExpressionStatement(E0.createCallExpression(E0.createSuper(),void 0,[E0.createSpreadElement(E0.createIdentifier(\"arguments\"))]))),rx&&(b1=e.addPrologueDirectivesAndInitialSuperCall(E0,rx,Px,c0)),rx==null?void 0:rx.body){var me=e.findIndex(rx.body.statements,function(gt){return!e.isParameterPropertyDeclaration(e.getOriginalNode(gt),rx)},b1);me===-1&&(me=rx.body.statements.length),me>b1&&(u0||e.addRange(Px,e.visitNodes(rx.body.statements,c0,e.isStatement,b1,me-b1)),b1=me)}var Re=E0.createThis();return function(gt,Vt,wr){if(!(!U||!e.some(Vt))){var gr=h1().weakSetName;e.Debug.assert(gr,\"weakSetName should be set in private identifier environment\"),gt.push(E0.createExpressionStatement(function(Nt,Ir){return e.factory.createCallExpression(e.factory.createPropertyAccessExpression(Ir,\"add\"),void 0,[Nt])}(wr,gr)))}}(Px,nx,Re),G0(Px,C1,Re),rx&&e.addRange(Px,e.visitNodes(rx.body.statements,c0,e.isStatement,b1)),Px=E0.mergeLexicalEnvironment(Px,A()),e.setTextRange(E0.createBlock(e.setTextRange(E0.createNodeArray(Px),rx?rx.body.statements:$x.members),!0),rx?rx.body:void 0)}(p0,Y1,p1);if(!!Ox)return e.startOnNewLine(e.setOriginalNode(e.setTextRange(E0.createConstructorDeclaration(void 0,void 0,V1!=null?V1:[],Ox),Y1||p0),Y1))}(I1,K0);return U0&&I0.push(U0),e.addRange(I0,e.visitNodes(I1.members,x0,e.isClassElement)),e.setTextRange(E0.createNodeArray(I0),I1.members)}function y0(I1){return!e.hasStaticModifier(I1)&&!e.hasSyntacticModifier(e.getOriginalNode(I1),128)&&(u0?G<99:e.isInitializedProperty(I1)||U&&e.isPrivateIdentifierClassElementDeclaration(I1))}function G0(I1,K0,G1){for(var Nx=0,n1=K0;Nx<n1.length;Nx++){var S0=n1[Nx],I0=d1(S0,G1);if(I0){var U0=E0.createExpressionStatement(I0);e.setSourceMapRange(U0,e.moveRangePastModifiers(S0)),e.setCommentRange(U0,S0),e.setOriginalNode(U0,S0),I1.push(U0)}}}function d1(I1,K0){var G1,Nx=!u0,n1=e.isComputedPropertyName(I1.name)&&!e.isSimpleInlineableExpression(I1.name.expression)?E0.updateComputedPropertyName(I1.name,E0.getGeneratedNameForNode(I1.name)):I1.name;if(U&&e.isPrivateIdentifier(n1)){var S0=Z1(n1);if(S0)return S0.kind===\"f\"?S0.isStatic?function(N1,V1){return e.factory.createAssignment(N1,e.factory.createObjectLiteralExpression([e.factory.createPropertyAssignment(\"value\",V1||e.factory.createVoidZero())]))}(S0.variableName,e.visitNode(I1.initializer,c0,e.isExpression)):function(N1,V1,Ox){return e.factory.createCallExpression(e.factory.createPropertyAccessExpression(Ox,\"set\"),void 0,[N1,V1||e.factory.createVoidZero()])}(K0,e.visitNode(I1.initializer,c0,e.isExpression),S0.brandCheckIdentifier):void 0;e.Debug.fail(\"Undeclared private name for property declaration.\")}if(!e.isPrivateIdentifier(n1)&&!e.hasStaticModifier(I1)||I1.initializer){var I0=e.getOriginalNode(I1);if(!e.hasSyntacticModifier(I0,128)){var U0=I1.initializer||Nx?(G1=e.visitNode(I1.initializer,c0,e.isExpression))!==null&&G1!==void 0?G1:E0.createVoidZero():e.isParameterPropertyDeclaration(I0,I0.parent)&&e.isIdentifier(n1)?n1:E0.createVoidZero();if(Nx||e.isPrivateIdentifier(n1)){var p0=e.createMemberAccessForPropertyName(E0,K0,n1,n1);return E0.createAssignment(p0,U0)}var p1=e.isComputedPropertyName(n1)?n1.expression:e.isIdentifier(n1)?E0.createStringLiteral(e.unescapeLeadingUnderscores(n1.escapedText)):n1,Y1=E0.createPropertyDescriptor({value:U0,configurable:!0,writable:!0,enumerable:!0});return E0.createObjectDefinePropertyCall(K0,p1,Y1)}}}function h1(){return d0||(d0={className:\"\",identifiers:new e.Map}),d0}function S1(){return i0||(i0=[])}function Q1(I1){var K0,G1=e.getTextOfPropertyName(I1.name),Nx=h1(),n1=Nx.weakSetName,S0=Nx.classConstructor,I0=[],U0=I1.name.escapedText,p0=Nx.identifiers.get(U0),p1=!function(rx){return rx.escapedText===\"#constructor\"}(I1.name)&&p0===void 0;if(e.hasStaticModifier(I1))if(e.Debug.assert(S0,\"weakSetName should be set in private identifier environment\"),e.isPropertyDeclaration(I1)){var Y1=$1(G1,I1);Nx.identifiers.set(U0,{kind:\"f\",variableName:Y1,brandCheckIdentifier:S0,isStatic:!0,isValid:p1})}else if(e.isMethodDeclaration(I1)){var N1=$1(G1,I1);Nx.identifiers.set(U0,{kind:\"m\",methodName:N1,brandCheckIdentifier:S0,isStatic:!0,isValid:p1})}else if(e.isGetAccessorDeclaration(I1)){var V1=$1(G1+\"_get\",I1);(p0==null?void 0:p0.kind)===\"a\"&&p0.isStatic&&!p0.getterName?p0.getterName=V1:Nx.identifiers.set(U0,{kind:\"a\",getterName:V1,setterName:void 0,brandCheckIdentifier:S0,isStatic:!0,isValid:p1})}else if(e.isSetAccessorDeclaration(I1)){var Ox=$1(G1+\"_set\",I1);(p0==null?void 0:p0.kind)===\"a\"&&p0.isStatic&&!p0.setterName?p0.setterName=Ox:Nx.identifiers.set(U0,{kind:\"a\",getterName:void 0,setterName:Ox,brandCheckIdentifier:S0,isStatic:!0,isValid:p1})}else e.Debug.assertNever(I1,\"Unknown class element type.\");else if(e.isPropertyDeclaration(I1)){var $x=$1(G1,I1);Nx.identifiers.set(U0,{kind:\"f\",brandCheckIdentifier:$x,isStatic:!1,variableName:void 0,isValid:p1}),I0.push(E0.createAssignment($x,E0.createNewExpression(E0.createIdentifier(\"WeakMap\"),void 0,[])))}else e.isMethodDeclaration(I1)?(e.Debug.assert(n1,\"weakSetName should be set in private identifier environment\"),Nx.identifiers.set(U0,{kind:\"m\",methodName:$1(G1,I1),brandCheckIdentifier:n1,isStatic:!1,isValid:p1})):e.isAccessor(I1)?(e.Debug.assert(n1,\"weakSetName should be set in private identifier environment\"),e.isGetAccessor(I1)?(V1=$1(G1+\"_get\",I1),(p0==null?void 0:p0.kind)!==\"a\"||p0.isStatic||p0.getterName?Nx.identifiers.set(U0,{kind:\"a\",getterName:V1,setterName:void 0,brandCheckIdentifier:n1,isStatic:!1,isValid:p1}):p0.getterName=V1):(Ox=$1(G1+\"_set\",I1),(p0==null?void 0:p0.kind)!==\"a\"||p0.isStatic||p0.setterName?Nx.identifiers.set(U0,{kind:\"a\",getterName:void 0,setterName:Ox,brandCheckIdentifier:n1,isStatic:!1,isValid:p1}):p0.setterName=Ox)):e.Debug.assertNever(I1,\"Unknown class element type.\");(K0=S1()).push.apply(K0,I0)}function Y0(I1,K0){var G1=h1().className,Nx=G1?\"_\"+G1:\"\",n1=E0.createUniqueName(Nx+\"_\"+I1,16);return 524288&o0.getNodeCheckFlags(K0)?A0(n1):I(n1),n1}function $1(I1,K0){return Y0(I1.substring(1),K0.name)}function Z1(I1){if(d0&&(G1=d0.identifiers.get(I1.escapedText)))return G1;for(var K0=P0.length-1;K0>=0;--K0){var G1,Nx=P0[K0];if(Nx&&(G1=Nx.identifiers.get(I1.escapedText)))return G1}}function Q0(I1){var K0=E0.getGeneratedNameForNode(I1),G1=Z1(I1.name);if(!G1)return e.visitEachChild(I1,c0,J);var Nx=I1.expression;return(e.isThisProperty(I1)||e.isSuperProperty(I1)||!e.isSimpleCopiableExpression(I1.expression))&&(Nx=E0.createTempVariable(I,!0),S1().push(E0.createBinaryExpression(Nx,62,I1.expression))),E0.createPropertyAccessExpression(E0.createParenthesizedExpression(E0.createObjectLiteralExpression([E0.createSetAccessorDeclaration(void 0,void 0,\"value\",[E0.createParameterDeclaration(void 0,void 0,void 0,K0,void 0,void 0,void 0)],E0.createBlock([E0.createExpressionStatement(k0(G1,Nx,K0,62))]))])),\"value\")}function y1(I1){var K0=e.getTargetOfBindingOrAssignmentElement(I1);if(K0&&e.isPrivateIdentifierPropertyAccessExpression(K0)){var G1=Q0(K0);return e.isAssignmentExpression(I1)?E0.updateBinaryExpression(I1,G1,I1.operatorToken,e.visitNode(I1.right,c0,e.isExpression)):e.isSpreadElement(I1)?E0.updateSpreadElement(I1,G1):G1}return e.visitNode(I1,D0)}function k1(I1){if(e.isPropertyAssignment(I1)){var K0=e.getTargetOfBindingOrAssignmentElement(I1);if(K0&&e.isPrivateIdentifierPropertyAccessExpression(K0)){var G1=e.getInitializerOfBindingOrAssignmentElement(I1),Nx=Q0(K0);return E0.updatePropertyAssignment(I1,e.visitNode(I1.name,c0),G1?E0.createAssignment(Nx,e.visitNode(G1,c0)):Nx)}return E0.updatePropertyAssignment(I1,e.visitNode(I1.name,c0),e.visitNode(I1.initializer,D0))}return e.visitNode(I1,c0)}}}(_0||(_0={})),function(e){var s,X;function J(m0,s1,i0,H0){var E0=(4096&s1.getNodeCheckFlags(i0))!=0,I=[];return H0.forEach(function(A,Z){var A0=e.unescapeLeadingUnderscores(Z),o0=[];o0.push(m0.createPropertyAssignment(\"get\",m0.createArrowFunction(void 0,void 0,[],void 0,void 0,e.setEmitFlags(m0.createPropertyAccessExpression(e.setEmitFlags(m0.createSuper(),4),A0),4)))),E0&&o0.push(m0.createPropertyAssignment(\"set\",m0.createArrowFunction(void 0,void 0,[m0.createParameterDeclaration(void 0,void 0,void 0,\"v\",void 0,void 0,void 0)],void 0,void 0,m0.createAssignment(e.setEmitFlags(m0.createPropertyAccessExpression(e.setEmitFlags(m0.createSuper(),4),A0),4),m0.createIdentifier(\"v\"))))),I.push(m0.createPropertyAssignment(A0,m0.createObjectLiteralExpression(o0)))}),m0.createVariableStatement(void 0,m0.createVariableDeclarationList([m0.createVariableDeclaration(m0.createUniqueName(\"_super\",48),void 0,void 0,m0.createCallExpression(m0.createPropertyAccessExpression(m0.createIdentifier(\"Object\"),\"create\"),void 0,[m0.createNull(),m0.createObjectLiteralExpression(I,!0)]))],2))}(function(m0){m0[m0.AsyncMethodsWithSuper=1]=\"AsyncMethodsWithSuper\"})(s||(s={})),function(m0){m0[m0.NonTopLevel=1]=\"NonTopLevel\",m0[m0.HasLexicalThis=2]=\"HasLexicalThis\"}(X||(X={})),e.transformES2017=function(m0){var s1,i0,H0,E0,I=m0.factory,A=m0.getEmitHelperFactory,Z=m0.resumeLexicalEnvironment,A0=m0.endLexicalEnvironment,o0=m0.hoistVariableDeclaration,j=m0.getEmitResolver(),G=m0.getCompilerOptions(),u0=e.getEmitScriptTarget(G),U=0,g0=[],d0=0,P0=m0.onEmitNode,c0=m0.onSubstituteNode;return m0.onEmitNode=function(y1,k1,I1){if(1&s1&&function(Nx){var n1=Nx.kind;return n1===253||n1===167||n1===166||n1===168||n1===169}(k1)){var K0=6144&j.getNodeCheckFlags(k1);if(K0!==U){var G1=U;return U=K0,P0(y1,k1,I1),void(U=G1)}}else if(s1&&g0[e.getNodeId(k1)])return G1=U,U=0,P0(y1,k1,I1),void(U=G1);P0(y1,k1,I1)},m0.onSubstituteNode=function(y1,k1){return k1=c0(y1,k1),y1===1&&U?function(I1){switch(I1.kind){case 202:return Z1(I1);case 203:return Q0(I1);case 204:return function(K0){var G1=K0.expression;if(e.isSuperProperty(G1)){var Nx=e.isPropertyAccessExpression(G1)?Z1(G1):Q0(G1);return I.createCallExpression(I.createPropertyAccessExpression(Nx,\"call\"),void 0,D([I.createThis()],K0.arguments))}return K0}(I1)}return I1}(k1):k1},e.chainBundle(m0,function(y1){if(y1.isDeclarationFile)return y1;D0(1,!1),D0(2,!e.isEffectiveStrictModeSourceFile(y1,G));var k1=e.visitEachChild(y1,w,m0);return e.addEmitHelpers(k1,m0.readEmitHelpers()),k1});function D0(y1,k1){d0=k1?d0|y1:d0&~y1}function x0(y1){return(d0&y1)!=0}function l0(){return x0(2)}function w0(y1,k1,I1){var K0=y1&~d0;if(K0){D0(K0,!0);var G1=k1(I1);return D0(K0,!1),G1}return k1(I1)}function V(y1){return e.visitEachChild(y1,w,m0)}function w(y1){if((128&y1.transformFlags)==0)return y1;switch(y1.kind){case 129:return;case 214:return function(k1){return x0(1)?e.setOriginalNode(e.setTextRange(I.createYieldExpression(void 0,e.visitNode(k1.expression,w,e.isExpression)),k1),k1):e.visitEachChild(k1,w,m0)}(y1);case 166:return w0(3,k0,y1);case 252:return w0(3,V0,y1);case 209:return w0(3,t0,y1);case 210:return w0(1,f0,y1);case 202:return H0&&e.isPropertyAccessExpression(y1)&&y1.expression.kind===105&&H0.add(y1.name.escapedText),e.visitEachChild(y1,w,m0);case 203:return H0&&y1.expression.kind===105&&(E0=!0),e.visitEachChild(y1,w,m0);case 168:case 169:case 167:case 253:case 222:return w0(3,V,y1);default:return e.visitEachChild(y1,w,m0)}}function H(y1){if(e.isNodeWithPossibleHoistedDeclaration(y1))switch(y1.kind){case 233:return function(k1){if(G0(k1.declarationList)){var I1=d1(k1.declarationList,!1);return I1?I.createExpressionStatement(I1):void 0}return e.visitEachChild(k1,w,m0)}(y1);case 238:return function(k1){var I1=k1.initializer;return I.updateForStatement(k1,G0(I1)?d1(I1,!1):e.visitNode(k1.initializer,w,e.isForInitializer),e.visitNode(k1.condition,w,e.isExpression),e.visitNode(k1.incrementor,w,e.isExpression),e.visitIterationBody(k1.statement,H,m0))}(y1);case 239:return function(k1){return I.updateForInStatement(k1,G0(k1.initializer)?d1(k1.initializer,!0):e.visitNode(k1.initializer,w,e.isForInitializer),e.visitNode(k1.expression,w,e.isExpression),e.visitIterationBody(k1.statement,H,m0))}(y1);case 240:return function(k1){return I.updateForOfStatement(k1,e.visitNode(k1.awaitModifier,w,e.isToken),G0(k1.initializer)?d1(k1.initializer,!0):e.visitNode(k1.initializer,w,e.isForInitializer),e.visitNode(k1.expression,w,e.isExpression),e.visitIterationBody(k1.statement,H,m0))}(y1);case 288:return function(k1){var I1,K0=new e.Set;if(y0(k1.variableDeclaration,K0),K0.forEach(function(n1,S0){i0.has(S0)&&(I1||(I1=new e.Set(i0)),I1.delete(S0))}),I1){var G1=i0;i0=I1;var Nx=e.visitEachChild(k1,H,m0);return i0=G1,Nx}return e.visitEachChild(k1,H,m0)}(y1);case 231:case 245:case 259:case 285:case 286:case 248:case 236:case 237:case 235:case 244:case 246:return e.visitEachChild(y1,H,m0);default:return e.Debug.assertNever(y1,\"Unhandled node.\")}return w(y1)}function k0(y1){return I.updateMethodDeclaration(y1,void 0,e.visitNodes(y1.modifiers,w,e.isModifier),y1.asteriskToken,y1.name,void 0,void 0,e.visitParameterList(y1.parameters,w,m0),void 0,2&e.getFunctionFlags(y1)?Y0(y1):e.visitFunctionBody(y1.body,w,m0))}function V0(y1){return I.updateFunctionDeclaration(y1,void 0,e.visitNodes(y1.modifiers,w,e.isModifier),y1.asteriskToken,y1.name,void 0,e.visitParameterList(y1.parameters,w,m0),void 0,2&e.getFunctionFlags(y1)?Y0(y1):e.visitFunctionBody(y1.body,w,m0))}function t0(y1){return I.updateFunctionExpression(y1,e.visitNodes(y1.modifiers,w,e.isModifier),y1.asteriskToken,y1.name,void 0,e.visitParameterList(y1.parameters,w,m0),void 0,2&e.getFunctionFlags(y1)?Y0(y1):e.visitFunctionBody(y1.body,w,m0))}function f0(y1){return I.updateArrowFunction(y1,e.visitNodes(y1.modifiers,w,e.isModifier),void 0,e.visitParameterList(y1.parameters,w,m0),void 0,y1.equalsGreaterThanToken,2&e.getFunctionFlags(y1)?Y0(y1):e.visitFunctionBody(y1.body,w,m0))}function y0(y1,k1){var I1=y1.name;if(e.isIdentifier(I1))k1.add(I1.escapedText);else for(var K0=0,G1=I1.elements;K0<G1.length;K0++){var Nx=G1[K0];e.isOmittedExpression(Nx)||y0(Nx,k1)}}function G0(y1){return!!y1&&e.isVariableDeclarationList(y1)&&!(3&y1.flags)&&y1.declarations.some(Q1)}function d1(y1,k1){(function(K0){e.forEach(K0.declarations,h1)})(y1);var I1=e.getInitializedVariables(y1);return I1.length===0?k1?e.visitNode(I.converters.convertToAssignmentElementTarget(y1.declarations[0].name),w,e.isExpression):void 0:I.inlineExpressions(e.map(I1,S1))}function h1(y1){var k1=y1.name;if(e.isIdentifier(k1))o0(k1);else for(var I1=0,K0=k1.elements;I1<K0.length;I1++){var G1=K0[I1];e.isOmittedExpression(G1)||h1(G1)}}function S1(y1){var k1=e.setSourceMapRange(I.createAssignment(I.converters.convertToAssignmentElementTarget(y1.name),y1.initializer),y1);return e.visitNode(k1,w,e.isExpression)}function Q1(y1){var k1=y1.name;if(e.isIdentifier(k1))return i0.has(k1.escapedText);for(var I1=0,K0=k1.elements;I1<K0.length;I1++){var G1=K0[I1];if(!e.isOmittedExpression(G1)&&Q1(G1))return!0}return!1}function Y0(y1){Z();var k1=e.getOriginalNode(y1,e.isFunctionLike).type,I1=u0<2?function(O0){var C1=O0&&e.getEntityNameFromTypeNode(O0);if(C1&&e.isEntityName(C1)){var nx=j.getTypeReferenceSerializationKind(C1);if(nx===e.TypeReferenceSerializationKind.TypeWithConstructSignatureAndValue||nx===e.TypeReferenceSerializationKind.Unknown)return C1}}(k1):void 0,K0=y1.kind===210,G1=(8192&j.getNodeCheckFlags(y1))!=0,Nx=i0;i0=new e.Set;for(var n1=0,S0=y1.parameters;n1<S0.length;n1++)y0(S0[n1],i0);var I0,U0=H0,p0=E0;if(K0||(H0=new e.Set,E0=!1),K0){var p1=A().createAwaiterHelper(l0(),G1,I1,$1(y1.body)),Y1=A0();e.some(Y1)?(rx=I.converters.convertToFunctionBlock(p1),I0=I.updateBlock(rx,e.setTextRange(I.createNodeArray(e.concatenate(Y1,rx.statements)),rx.statements))):I0=p1}else{var N1=[],V1=I.copyPrologue(y1.body.statements,N1,!1,w);N1.push(I.createReturnStatement(A().createAwaiterHelper(l0(),G1,I1,$1(y1.body,V1)))),e.insertStatementsAfterStandardPrologue(N1,A0());var Ox=u0>=2&&6144&j.getNodeCheckFlags(y1);if(Ox&&((1&s1)==0&&(s1|=1,m0.enableSubstitution(204),m0.enableSubstitution(202),m0.enableSubstitution(203),m0.enableEmitNotification(253),m0.enableEmitNotification(166),m0.enableEmitNotification(168),m0.enableEmitNotification(169),m0.enableEmitNotification(167),m0.enableEmitNotification(233)),H0.size)){var $x=J(I,j,y1,H0);g0[e.getNodeId($x)]=!0,e.insertStatementsAfterStandardPrologue(N1,[$x])}var rx=I.createBlock(N1,!0);e.setTextRange(rx,y1.body),Ox&&E0&&(4096&j.getNodeCheckFlags(y1)?e.addEmitHelper(rx,e.advancedAsyncSuperHelper):2048&j.getNodeCheckFlags(y1)&&e.addEmitHelper(rx,e.asyncSuperHelper)),I0=rx}return i0=Nx,K0||(H0=U0,E0=p0),I0}function $1(y1,k1){return e.isBlock(y1)?I.updateBlock(y1,e.visitNodes(y1.statements,H,e.isStatement,k1)):I.converters.convertToFunctionBlock(e.visitNode(y1,H,e.isConciseBody))}function Z1(y1){return y1.expression.kind===105?e.setTextRange(I.createPropertyAccessExpression(I.createUniqueName(\"_super\",48),y1.name),y1):y1}function Q0(y1){return y1.expression.kind===105?(k1=y1.argumentExpression,I1=y1,4096&U?e.setTextRange(I.createPropertyAccessExpression(I.createCallExpression(I.createUniqueName(\"_superIndex\",48),void 0,[k1]),\"value\"),I1):e.setTextRange(I.createCallExpression(I.createUniqueName(\"_superIndex\",48),void 0,[k1]),I1)):y1;var k1,I1}},e.createSuperAccessVariableStatement=J}(_0||(_0={})),function(e){var s,X;(function(J){J[J.AsyncMethodsWithSuper=1]=\"AsyncMethodsWithSuper\"})(s||(s={})),function(J){J[J.None=0]=\"None\",J[J.HasLexicalThis=1]=\"HasLexicalThis\",J[J.IterationContainer=2]=\"IterationContainer\",J[J.AncestorFactsMask=3]=\"AncestorFactsMask\",J[J.SourceFileIncludes=1]=\"SourceFileIncludes\",J[J.SourceFileExcludes=2]=\"SourceFileExcludes\",J[J.StrictModeSourceFileIncludes=0]=\"StrictModeSourceFileIncludes\",J[J.ClassOrFunctionIncludes=1]=\"ClassOrFunctionIncludes\",J[J.ClassOrFunctionExcludes=2]=\"ClassOrFunctionExcludes\",J[J.ArrowFunctionIncludes=0]=\"ArrowFunctionIncludes\",J[J.ArrowFunctionExcludes=2]=\"ArrowFunctionExcludes\",J[J.IterationStatementIncludes=2]=\"IterationStatementIncludes\",J[J.IterationStatementExcludes=0]=\"IterationStatementExcludes\"}(X||(X={})),e.transformES2018=function(J){var m0=J.factory,s1=J.getEmitHelperFactory,i0=J.resumeLexicalEnvironment,H0=J.endLexicalEnvironment,E0=J.hoistVariableDeclaration,I=J.getEmitResolver(),A=J.getCompilerOptions(),Z=e.getEmitScriptTarget(A),A0=J.onEmitNode;J.onEmitNode=function(n1,S0,I0){if(1&j&&function(p1){var Y1=p1.kind;return Y1===253||Y1===167||Y1===166||Y1===168||Y1===169}(S0)){var U0=6144&I.getNodeCheckFlags(S0);if(U0!==c0){var p0=c0;return c0=U0,A0(n1,S0,I0),void(c0=p0)}}else if(j&&x0[e.getNodeId(S0)])return p0=c0,c0=0,A0(n1,S0,I0),void(c0=p0);A0(n1,S0,I0)};var o0=J.onSubstituteNode;J.onSubstituteNode=function(n1,S0){return S0=o0(n1,S0),n1===1&&c0?function(I0){switch(I0.kind){case 202:return G1(I0);case 203:return Nx(I0);case 204:return function(U0){var p0=U0.expression;if(e.isSuperProperty(p0)){var p1=e.isPropertyAccessExpression(p0)?G1(p0):Nx(p0);return m0.createCallExpression(m0.createPropertyAccessExpression(p1,\"call\"),void 0,D([m0.createThis()],U0.arguments))}return U0}(I0)}return I0}(S0):S0};var j,G,u0,U,g0,d0,P0=!1,c0=0,D0=0,x0=[];return e.chainBundle(J,function(n1){if(n1.isDeclarationFile)return n1;u0=n1;var S0=function(I0){var U0=l0(2,e.isEffectiveStrictModeSourceFile(I0,A)?0:1);P0=!1;var p0=e.visitEachChild(I0,w,J),p1=e.concatenate(p0.statements,U&&[m0.createVariableStatement(void 0,m0.createVariableDeclarationList(U))]),Y1=m0.updateSourceFile(p0,e.setTextRange(m0.createNodeArray(p1),I0.statements));return w0(U0),Y1}(n1);return e.addEmitHelpers(S0,J.readEmitHelpers()),u0=void 0,U=void 0,S0});function l0(n1,S0){var I0=D0;return D0=3&(D0&~n1|S0),I0}function w0(n1){D0=n1}function V(n1){U=e.append(U,m0.createVariableDeclaration(n1))}function w(n1){return f0(n1,!1)}function H(n1){return f0(n1,!0)}function k0(n1){if(n1.kind!==129)return n1}function V0(n1,S0,I0,U0){if(function(Y1,N1){return D0!==(D0&~Y1|N1)}(I0,U0)){var p0=l0(I0,U0),p1=n1(S0);return w0(p0),p1}return n1(S0)}function t0(n1){return e.visitEachChild(n1,w,J)}function f0(n1,S0){if((64&n1.transformFlags)==0)return n1;switch(n1.kind){case 214:return function(I0){return 2&G&&1&G?e.setOriginalNode(e.setTextRange(m0.createYieldExpression(void 0,s1().createAwaitHelper(e.visitNode(I0.expression,w,e.isExpression))),I0),I0):e.visitEachChild(I0,w,J)}(n1);case 220:return function(I0){if(2&G&&1&G){if(I0.asteriskToken){var U0=e.visitNode(e.Debug.assertDefined(I0.expression),w,e.isExpression);return e.setOriginalNode(e.setTextRange(m0.createYieldExpression(void 0,s1().createAwaitHelper(m0.updateYieldExpression(I0,I0.asteriskToken,e.setTextRange(s1().createAsyncDelegatorHelper(e.setTextRange(s1().createAsyncValuesHelper(U0),U0)),U0)))),I0),I0)}return e.setOriginalNode(e.setTextRange(m0.createYieldExpression(void 0,h1(I0.expression?e.visitNode(I0.expression,w,e.isExpression):m0.createVoidZero())),I0),I0)}return e.visitEachChild(I0,w,J)}(n1);case 243:return function(I0){return 2&G&&1&G?m0.updateReturnStatement(I0,h1(I0.expression?e.visitNode(I0.expression,w,e.isExpression):m0.createVoidZero())):e.visitEachChild(I0,w,J)}(n1);case 246:return function(I0){if(2&G){var U0=e.unwrapInnermostStatementOfLabel(I0);return U0.kind===240&&U0.awaitModifier?d1(U0,I0):m0.restoreEnclosingLabel(e.visitNode(U0,w,e.isStatement,m0.liftToBlock),I0)}return e.visitEachChild(I0,w,J)}(n1);case 201:return function(I0){if(32768&I0.transformFlags){var U0=function(Y1){for(var N1,V1=[],Ox=0,$x=Y1;Ox<$x.length;Ox++){var rx=$x[Ox];if(rx.kind===291){N1&&(V1.push(m0.createObjectLiteralExpression(N1)),N1=void 0);var O0=rx.expression;V1.push(e.visitNode(O0,w,e.isExpression))}else N1=e.append(N1,rx.kind===289?m0.createPropertyAssignment(rx.name,e.visitNode(rx.initializer,w,e.isExpression)):e.visitNode(rx,w,e.isObjectLiteralElementLike))}return N1&&V1.push(m0.createObjectLiteralExpression(N1)),V1}(I0.properties);U0.length&&U0[0].kind!==201&&U0.unshift(m0.createObjectLiteralExpression());var p0=U0[0];if(U0.length>1){for(var p1=1;p1<U0.length;p1++)p0=s1().createAssignHelper([p0,U0[p1]]);return p0}return s1().createAssignHelper(U0)}return e.visitEachChild(I0,w,J)}(n1);case 217:return function(I0,U0){return e.isDestructuringAssignment(I0)&&32768&I0.left.transformFlags?e.flattenDestructuringAssignment(I0,w,J,1,!U0):I0.operatorToken.kind===27?m0.updateBinaryExpression(I0,e.visitNode(I0.left,H,e.isExpression),I0.operatorToken,e.visitNode(I0.right,U0?H:w,e.isExpression)):e.visitEachChild(I0,w,J)}(n1,S0);case 341:return function(I0,U0){if(U0)return e.visitEachChild(I0,H,J);for(var p0,p1=0;p1<I0.elements.length;p1++){var Y1=I0.elements[p1],N1=e.visitNode(Y1,p1<I0.elements.length-1?H:w,e.isExpression);(p0||N1!==Y1)&&(p0||(p0=I0.elements.slice(0,p1)),p0.push(N1))}var V1=p0?e.setTextRange(m0.createNodeArray(p0),I0.elements):I0.elements;return m0.updateCommaListExpression(I0,V1)}(n1,S0);case 288:return function(I0){if(I0.variableDeclaration&&e.isBindingPattern(I0.variableDeclaration.name)&&32768&I0.variableDeclaration.name.transformFlags){var U0=m0.getGeneratedNameForNode(I0.variableDeclaration.name),p0=m0.updateVariableDeclaration(I0.variableDeclaration,I0.variableDeclaration.name,void 0,void 0,U0),p1=e.flattenDestructuringBinding(p0,w,J,1),Y1=e.visitNode(I0.block,w,e.isBlock);return e.some(p1)&&(Y1=m0.updateBlock(Y1,D([m0.createVariableStatement(void 0,p1)],Y1.statements))),m0.updateCatchClause(I0,m0.updateVariableDeclaration(I0.variableDeclaration,U0,void 0,void 0,void 0),Y1)}return e.visitEachChild(I0,w,J)}(n1);case 233:return function(I0){if(e.hasSyntacticModifier(I0,1)){var U0=P0;P0=!0;var p0=e.visitEachChild(I0,w,J);return P0=U0,p0}return e.visitEachChild(I0,w,J)}(n1);case 250:return function(I0){if(P0){var U0=P0;P0=!1;var p0=y0(I0,!0);return P0=U0,p0}return y0(I0,!1)}(n1);case 236:case 237:case 239:return V0(t0,n1,0,2);case 240:return d1(n1,void 0);case 238:return V0(G0,n1,0,2);case 213:return function(I0){return e.visitEachChild(I0,H,J)}(n1);case 167:return V0(S1,n1,2,1);case 166:return V0($1,n1,2,1);case 168:return V0(Q1,n1,2,1);case 169:return V0(Y0,n1,2,1);case 252:return V0(Z1,n1,2,1);case 209:return V0(y1,n1,2,1);case 210:return V0(Q0,n1,2,0);case 161:return function(I0){return 32768&I0.transformFlags?m0.updateParameterDeclaration(I0,void 0,void 0,I0.dotDotDotToken,m0.getGeneratedNameForNode(I0),void 0,void 0,e.visitNode(I0.initializer,w,e.isExpression)):e.visitEachChild(I0,w,J)}(n1);case 234:return function(I0){return e.visitEachChild(I0,H,J)}(n1);case 208:return function(I0,U0){return e.visitEachChild(I0,U0?H:w,J)}(n1,S0);case 206:return function(I0){return e.processTaggedTemplateExpression(J,I0,w,u0,V,e.ProcessLevel.LiftRestriction)}(n1);case 202:return g0&&e.isPropertyAccessExpression(n1)&&n1.expression.kind===105&&g0.add(n1.name.escapedText),e.visitEachChild(n1,w,J);case 203:return g0&&n1.expression.kind===105&&(d0=!0),e.visitEachChild(n1,w,J);case 253:case 222:return V0(t0,n1,2,1);default:return e.visitEachChild(n1,w,J)}}function y0(n1,S0){return e.isBindingPattern(n1.name)&&32768&n1.name.transformFlags?e.flattenDestructuringBinding(n1,w,J,1,void 0,S0):e.visitEachChild(n1,w,J)}function G0(n1){return m0.updateForStatement(n1,e.visitNode(n1.initializer,H,e.isForInitializer),e.visitNode(n1.condition,w,e.isExpression),e.visitNode(n1.incrementor,H,e.isExpression),e.visitIterationBody(n1.statement,w,J))}function d1(n1,S0){var I0=l0(0,2);32768&n1.initializer.transformFlags&&(n1=function(p0){var p1=e.skipParentheses(p0.initializer);if(e.isVariableDeclarationList(p1)||e.isAssignmentPattern(p1)){var Y1=void 0,N1=void 0,V1=m0.createTempVariable(void 0),Ox=[e.createForOfBindingStatement(m0,p1,V1)];return e.isBlock(p0.statement)?(e.addRange(Ox,p0.statement.statements),Y1=p0.statement,N1=p0.statement.statements):p0.statement&&(e.append(Ox,p0.statement),Y1=p0.statement,N1=p0.statement),m0.updateForOfStatement(p0,p0.awaitModifier,e.setTextRange(m0.createVariableDeclarationList([e.setTextRange(m0.createVariableDeclaration(V1),p0.initializer)],1),p0.initializer),p0.expression,e.setTextRange(m0.createBlock(e.setTextRange(m0.createNodeArray(Ox),N1),!0),Y1))}return p0}(n1));var U0=n1.awaitModifier?function(p0,p1,Y1){var N1=e.visitNode(p0.expression,w,e.isExpression),V1=e.isIdentifier(N1)?m0.getGeneratedNameForNode(N1):m0.createTempVariable(void 0),Ox=e.isIdentifier(N1)?m0.getGeneratedNameForNode(V1):m0.createTempVariable(void 0),$x=m0.createUniqueName(\"e\"),rx=m0.getGeneratedNameForNode($x),O0=m0.createTempVariable(void 0),C1=e.setTextRange(s1().createAsyncValuesHelper(N1),p0.expression),nx=m0.createCallExpression(m0.createPropertyAccessExpression(V1,\"next\"),void 0,[]),O=m0.createPropertyAccessExpression(Ox,\"done\"),b1=m0.createPropertyAccessExpression(Ox,\"value\"),Px=m0.createFunctionCallCall(O0,V1,[]);E0($x),E0(O0);var me=2&Y1?m0.inlineExpressions([m0.createAssignment($x,m0.createVoidZero()),C1]):C1,Re=e.setEmitFlags(e.setTextRange(m0.createForStatement(e.setEmitFlags(e.setTextRange(m0.createVariableDeclarationList([e.setTextRange(m0.createVariableDeclaration(V1,void 0,void 0,me),p0.expression),m0.createVariableDeclaration(Ox)]),p0.expression),2097152),m0.createComma(m0.createAssignment(Ox,h1(nx)),m0.createLogicalNot(O)),void 0,function(gt,Vt){var wr,gr,Nt=e.createForOfBindingStatement(m0,gt.initializer,Vt),Ir=[e.visitNode(Nt,w,e.isStatement)],xr=e.visitIterationBody(gt.statement,w,J);return e.isBlock(xr)?(e.addRange(Ir,xr.statements),wr=xr,gr=xr.statements):Ir.push(xr),e.setEmitFlags(e.setTextRange(m0.createBlock(e.setTextRange(m0.createNodeArray(Ir),gr),!0),wr),432)}(p0,b1)),p0),256);return m0.createTryStatement(m0.createBlock([m0.restoreEnclosingLabel(Re,p1)]),m0.createCatchClause(m0.createVariableDeclaration(rx),e.setEmitFlags(m0.createBlock([m0.createExpressionStatement(m0.createAssignment($x,m0.createObjectLiteralExpression([m0.createPropertyAssignment(\"error\",rx)])))]),1)),m0.createBlock([m0.createTryStatement(m0.createBlock([e.setEmitFlags(m0.createIfStatement(m0.createLogicalAnd(m0.createLogicalAnd(Ox,m0.createLogicalNot(O)),m0.createAssignment(O0,m0.createPropertyAccessExpression(V1,\"return\"))),m0.createExpressionStatement(h1(Px))),1)]),void 0,e.setEmitFlags(m0.createBlock([e.setEmitFlags(m0.createIfStatement($x,m0.createThrowStatement(m0.createPropertyAccessExpression($x,\"error\"))),1)]),1))]))}(n1,S0,I0):m0.restoreEnclosingLabel(e.visitEachChild(n1,w,J),S0);return w0(I0),U0}function h1(n1){return 1&G?m0.createYieldExpression(void 0,s1().createAwaitHelper(n1)):m0.createAwaitExpression(n1)}function S1(n1){var S0=G;G=0;var I0=m0.updateConstructorDeclaration(n1,void 0,n1.modifiers,e.visitParameterList(n1.parameters,w,J),I1(n1));return G=S0,I0}function Q1(n1){var S0=G;G=0;var I0=m0.updateGetAccessorDeclaration(n1,void 0,n1.modifiers,e.visitNode(n1.name,w,e.isPropertyName),e.visitParameterList(n1.parameters,w,J),void 0,I1(n1));return G=S0,I0}function Y0(n1){var S0=G;G=0;var I0=m0.updateSetAccessorDeclaration(n1,void 0,n1.modifiers,e.visitNode(n1.name,w,e.isPropertyName),e.visitParameterList(n1.parameters,w,J),I1(n1));return G=S0,I0}function $1(n1){var S0=G;G=e.getFunctionFlags(n1);var I0=m0.updateMethodDeclaration(n1,void 0,1&G?e.visitNodes(n1.modifiers,k0,e.isModifier):n1.modifiers,2&G?void 0:n1.asteriskToken,e.visitNode(n1.name,w,e.isPropertyName),e.visitNode(void 0,w,e.isToken),void 0,e.visitParameterList(n1.parameters,w,J),void 0,2&G&&1&G?k1(n1):I1(n1));return G=S0,I0}function Z1(n1){var S0=G;G=e.getFunctionFlags(n1);var I0=m0.updateFunctionDeclaration(n1,void 0,1&G?e.visitNodes(n1.modifiers,k0,e.isModifier):n1.modifiers,2&G?void 0:n1.asteriskToken,n1.name,void 0,e.visitParameterList(n1.parameters,w,J),void 0,2&G&&1&G?k1(n1):I1(n1));return G=S0,I0}function Q0(n1){var S0=G;G=e.getFunctionFlags(n1);var I0=m0.updateArrowFunction(n1,n1.modifiers,void 0,e.visitParameterList(n1.parameters,w,J),void 0,n1.equalsGreaterThanToken,I1(n1));return G=S0,I0}function y1(n1){var S0=G;G=e.getFunctionFlags(n1);var I0=m0.updateFunctionExpression(n1,1&G?e.visitNodes(n1.modifiers,k0,e.isModifier):n1.modifiers,2&G?void 0:n1.asteriskToken,n1.name,void 0,e.visitParameterList(n1.parameters,w,J),void 0,2&G&&1&G?k1(n1):I1(n1));return G=S0,I0}function k1(n1){i0();var S0=[],I0=m0.copyPrologue(n1.body.statements,S0,!1,w);K0(S0,n1);var U0=g0,p0=d0;g0=new e.Set,d0=!1;var p1=m0.createReturnStatement(s1().createAsyncGeneratorHelper(m0.createFunctionExpression(void 0,m0.createToken(41),n1.name&&m0.getGeneratedNameForNode(n1.name),void 0,[],void 0,m0.updateBlock(n1.body,e.visitLexicalEnvironment(n1.body.statements,w,J,I0))),!!(1&D0))),Y1=Z>=2&&6144&I.getNodeCheckFlags(n1);if(Y1){(1&j)==0&&(j|=1,J.enableSubstitution(204),J.enableSubstitution(202),J.enableSubstitution(203),J.enableEmitNotification(253),J.enableEmitNotification(166),J.enableEmitNotification(168),J.enableEmitNotification(169),J.enableEmitNotification(167),J.enableEmitNotification(233));var N1=e.createSuperAccessVariableStatement(m0,I,n1,g0);x0[e.getNodeId(N1)]=!0,e.insertStatementsAfterStandardPrologue(S0,[N1])}S0.push(p1),e.insertStatementsAfterStandardPrologue(S0,H0());var V1=m0.updateBlock(n1.body,S0);return Y1&&d0&&(4096&I.getNodeCheckFlags(n1)?e.addEmitHelper(V1,e.advancedAsyncSuperHelper):2048&I.getNodeCheckFlags(n1)&&e.addEmitHelper(V1,e.asyncSuperHelper)),g0=U0,d0=p0,V1}function I1(n1){var S0;i0();var I0=0,U0=[],p0=(S0=e.visitNode(n1.body,w,e.isConciseBody))!==null&&S0!==void 0?S0:m0.createBlock([]);e.isBlock(p0)&&(I0=m0.copyPrologue(p0.statements,U0,!1,w)),e.addRange(U0,K0(void 0,n1));var p1=H0();if(I0>0||e.some(U0)||e.some(p1)){var Y1=m0.converters.convertToFunctionBlock(p0,!0);return e.insertStatementsAfterStandardPrologue(U0,p1),e.addRange(U0,Y1.statements.slice(I0)),m0.updateBlock(Y1,e.setTextRange(m0.createNodeArray(U0),Y1.statements))}return p0}function K0(n1,S0){for(var I0=0,U0=S0.parameters;I0<U0.length;I0++){var p0=U0[I0];if(32768&p0.transformFlags){var p1=m0.getGeneratedNameForNode(p0),Y1=e.flattenDestructuringBinding(p0,w,J,1,p1,!1,!0);if(e.some(Y1)){var N1=m0.createVariableStatement(void 0,m0.createVariableDeclarationList(Y1));e.setEmitFlags(N1,1048576),n1=e.append(n1,N1)}}}return n1}function G1(n1){return n1.expression.kind===105?e.setTextRange(m0.createPropertyAccessExpression(m0.createUniqueName(\"_super\",48),n1.name),n1):n1}function Nx(n1){return n1.expression.kind===105?(S0=n1.argumentExpression,I0=n1,4096&c0?e.setTextRange(m0.createPropertyAccessExpression(m0.createCallExpression(m0.createIdentifier(\"_superIndex\"),void 0,[S0]),\"value\"),I0):e.setTextRange(m0.createCallExpression(m0.createIdentifier(\"_superIndex\"),void 0,[S0]),I0)):n1;var S0,I0}}}(_0||(_0={})),function(e){e.transformES2019=function(s){var X=s.factory;return e.chainBundle(s,function(m0){return m0.isDeclarationFile?m0:e.visitEachChild(m0,J,s)});function J(m0){if((32&m0.transformFlags)==0)return m0;switch(m0.kind){case 288:return function(s1){return s1.variableDeclaration?e.visitEachChild(s1,J,s):X.updateCatchClause(s1,X.createVariableDeclaration(X.createTempVariable(void 0)),e.visitNode(s1.block,J,e.isBlock))}(m0);default:return e.visitEachChild(m0,J,s)}}}}(_0||(_0={})),function(e){e.transformES2020=function(s){var X=s.factory,J=s.hoistVariableDeclaration;return e.chainBundle(s,function(A){return A.isDeclarationFile?A:e.visitEachChild(A,m0,s)});function m0(A){if((16&A.transformFlags)==0)return A;switch(A.kind){case 204:var Z=i0(A,!1);return e.Debug.assertNotNode(Z,e.isSyntheticReference),Z;case 202:case 203:return e.isOptionalChain(A)?(Z=E0(A,!1,!1),e.Debug.assertNotNode(Z,e.isSyntheticReference),Z):e.visitEachChild(A,m0,s);case 217:return A.operatorToken.kind===60?function(A0){var o0=e.visitNode(A0.left,m0,e.isExpression),j=o0;return e.isSimpleCopiableExpression(o0)||(j=X.createTempVariable(J),o0=X.createAssignment(j,o0)),e.setTextRange(X.createConditionalExpression(I(o0,j),void 0,j,void 0,e.visitNode(A0.right,m0,e.isExpression)),A0)}(A):e.visitEachChild(A,m0,s);case 211:return function(A0){return e.isOptionalChain(e.skipParentheses(A0.expression))?e.setOriginalNode(H0(A0.expression,!1,!0),A0):X.updateDeleteExpression(A0,e.visitNode(A0.expression,m0,e.isExpression))}(A);default:return e.visitEachChild(A,m0,s)}}function s1(A,Z,A0){var o0=H0(A.expression,Z,A0);return e.isSyntheticReference(o0)?X.createSyntheticReferenceExpression(X.updateParenthesizedExpression(A,o0.expression),o0.thisArg):X.updateParenthesizedExpression(A,o0)}function i0(A,Z){if(e.isOptionalChain(A))return E0(A,Z,!1);if(e.isParenthesizedExpression(A.expression)&&e.isOptionalChain(e.skipParentheses(A.expression))){var A0=s1(A.expression,!0,!1),o0=e.visitNodes(A.arguments,m0,e.isExpression);return e.isSyntheticReference(A0)?e.setTextRange(X.createFunctionCallCall(A0.expression,A0.thisArg,o0),A):X.updateCallExpression(A,A0,void 0,o0)}return e.visitEachChild(A,m0,s)}function H0(A,Z,A0){switch(A.kind){case 208:return s1(A,Z,A0);case 202:case 203:return function(o0,j,G){if(e.isOptionalChain(o0))return E0(o0,j,G);var u0,U=e.visitNode(o0.expression,m0,e.isExpression);return e.Debug.assertNotNode(U,e.isSyntheticReference),j&&(e.isSimpleCopiableExpression(U)?u0=U:(u0=X.createTempVariable(J),U=X.createAssignment(u0,U))),U=o0.kind===202?X.updatePropertyAccessExpression(o0,U,e.visitNode(o0.name,m0,e.isIdentifier)):X.updateElementAccessExpression(o0,U,e.visitNode(o0.argumentExpression,m0,e.isExpression)),u0?X.createSyntheticReferenceExpression(U,u0):U}(A,Z,A0);case 204:return i0(A,Z);default:return e.visitNode(A,m0,e.isExpression)}}function E0(A,Z,A0){var o0=function(w0){e.Debug.assertNotNode(w0,e.isNonNullChain);for(var V=[w0];!w0.questionDotToken&&!e.isTaggedTemplateExpression(w0);)w0=e.cast(e.skipPartiallyEmittedExpressions(w0.expression),e.isOptionalChain),e.Debug.assertNotNode(w0,e.isNonNullChain),V.unshift(w0);return{expression:w0.expression,chain:V}}(A),j=o0.expression,G=o0.chain,u0=H0(j,e.isCallChain(G[0]),!1),U=e.isSyntheticReference(u0)?u0.thisArg:void 0,g0=e.isSyntheticReference(u0)?u0.expression:u0,d0=g0;e.isSimpleCopiableExpression(g0)||(d0=X.createTempVariable(J),g0=X.createAssignment(d0,g0));for(var P0,c0=d0,D0=0;D0<G.length;D0++){var x0=G[D0];switch(x0.kind){case 202:case 203:D0===G.length-1&&Z&&(e.isSimpleCopiableExpression(c0)?P0=c0:(P0=X.createTempVariable(J),c0=X.createAssignment(P0,c0))),c0=x0.kind===202?X.createPropertyAccessExpression(c0,e.visitNode(x0.name,m0,e.isIdentifier)):X.createElementAccessExpression(c0,e.visitNode(x0.argumentExpression,m0,e.isExpression));break;case 204:c0=D0===0&&U?X.createFunctionCallCall(c0,U.kind===105?X.createThis():U,e.visitNodes(x0.arguments,m0,e.isExpression)):X.createCallExpression(c0,void 0,e.visitNodes(x0.arguments,m0,e.isExpression))}e.setOriginalNode(c0,x0)}var l0=A0?X.createConditionalExpression(I(g0,d0,!0),void 0,X.createTrue(),void 0,X.createDeleteExpression(c0)):X.createConditionalExpression(I(g0,d0,!0),void 0,X.createVoidZero(),void 0,c0);return e.setTextRange(l0,A),P0?X.createSyntheticReferenceExpression(l0,P0):l0}function I(A,Z,A0){return X.createBinaryExpression(X.createBinaryExpression(A,X.createToken(A0?36:37),X.createNull()),X.createToken(A0?56:55),X.createBinaryExpression(Z,X.createToken(A0?36:37),X.createVoidZero()))}}}(_0||(_0={})),function(e){e.transformES2021=function(s){var X=s.hoistVariableDeclaration,J=s.factory;return e.chainBundle(s,function(s1){return s1.isDeclarationFile?s1:e.visitEachChild(s1,m0,s)});function m0(s1){if((8&s1.transformFlags)==0)return s1;switch(s1.kind){case 217:var i0=s1;if(e.isLogicalOrCoalescingAssignmentExpression(i0))return function(H0){var E0=H0.operatorToken,I=e.getNonAssignmentOperatorForCompoundAssignment(E0.kind),A=e.skipParentheses(e.visitNode(H0.left,m0,e.isLeftHandSideExpression)),Z=A,A0=e.skipParentheses(e.visitNode(H0.right,m0,e.isExpression));if(e.isAccessExpression(A)){var o0=e.isSimpleCopiableExpression(A.expression),j=o0?A.expression:J.createTempVariable(X),G=o0?A.expression:J.createAssignment(j,A.expression);if(e.isPropertyAccessExpression(A))Z=J.createPropertyAccessExpression(j,A.name),A=J.createPropertyAccessExpression(G,A.name);else{var u0=e.isSimpleCopiableExpression(A.argumentExpression),U=u0?A.argumentExpression:J.createTempVariable(X);Z=J.createElementAccessExpression(j,U),A=J.createElementAccessExpression(G,u0?A.argumentExpression:J.createAssignment(U,A.argumentExpression))}}return J.createBinaryExpression(A,I,J.createParenthesizedExpression(J.createAssignment(Z,A0)))}(i0);default:return e.visitEachChild(s1,m0,s)}}}}(_0||(_0={})),function(e){e.transformESNext=function(s){return e.chainBundle(s,function(J){return J.isDeclarationFile?J:e.visitEachChild(J,X,s)});function X(J){return(4&J.transformFlags)==0?J:(J.kind,e.visitEachChild(J,X,s))}}}(_0||(_0={})),function(e){e.transformJsx=function(X){var J,m0,s1=X.factory,i0=X.getEmitHelperFactory,H0=X.getCompilerOptions();return e.chainBundle(X,function(t0){if(t0.isDeclarationFile)return t0;J=t0,(m0={}).importSpecifier=e.getJSXImplicitImportBase(H0,t0);var f0=e.visitEachChild(t0,Z,X);e.addEmitHelpers(f0,X.readEmitHelpers());var y0=f0.statements;if(m0.filenameDeclaration&&(y0=e.insertStatementAfterCustomPrologue(y0.slice(),s1.createVariableStatement(void 0,s1.createVariableDeclarationList([m0.filenameDeclaration],2)))),m0.utilizedImplicitRuntimeImports)for(var G0=0,d1=e.arrayFrom(m0.utilizedImplicitRuntimeImports.entries());G0<d1.length;G0++){var h1=d1[G0],S1=h1[0],Q1=h1[1];if(e.isExternalModule(t0)){var Y0=s1.createImportDeclaration(void 0,void 0,s1.createImportClause(!1,void 0,s1.createNamedImports(e.arrayFrom(Q1.values()))),s1.createStringLiteral(S1));e.setParentRecursive(Y0,!1),y0=e.insertStatementAfterCustomPrologue(y0.slice(),Y0)}else if(e.isExternalOrCommonJsModule(t0)){var $1=s1.createVariableStatement(void 0,s1.createVariableDeclarationList([s1.createVariableDeclaration(s1.createObjectBindingPattern(e.map(e.arrayFrom(Q1.values()),function(Z1){return s1.createBindingElement(void 0,Z1.propertyName,Z1.name)})),void 0,void 0,s1.createCallExpression(s1.createIdentifier(\"require\"),void 0,[s1.createStringLiteral(S1)]))],2));e.setParentRecursive($1,!1),y0=e.insertStatementAfterCustomPrologue(y0.slice(),$1)}}return y0!==f0.statements&&(f0=s1.updateSourceFile(f0,y0)),m0=void 0,f0});function E0(){if(m0.filenameDeclaration)return m0.filenameDeclaration.name;var t0=s1.createVariableDeclaration(s1.createUniqueName(\"_jsxFileName\",48),void 0,void 0,s1.createStringLiteral(J.fileName));return m0.filenameDeclaration=t0,m0.filenameDeclaration.name}function I(t0){return A(function(f0){return H0.jsx===5?\"jsxDEV\":f0>1?\"jsxs\":\"jsx\"}(t0))}function A(t0){var f0,y0,G0=t0===\"createElement\"?m0.importSpecifier:e.getJSXRuntimeImport(m0.importSpecifier,H0),d1=(y0=(f0=m0.utilizedImplicitRuntimeImports)===null||f0===void 0?void 0:f0.get(G0))===null||y0===void 0?void 0:y0.get(t0);if(d1)return d1.name;m0.utilizedImplicitRuntimeImports||(m0.utilizedImplicitRuntimeImports=e.createMap());var h1=m0.utilizedImplicitRuntimeImports.get(G0);h1||(h1=e.createMap(),m0.utilizedImplicitRuntimeImports.set(G0,h1));var S1=s1.createUniqueName(\"_\"+t0,112),Q1=s1.createImportSpecifier(s1.createIdentifier(t0),S1);return S1.generatedImportReference=Q1,h1.set(t0,Q1),S1}function Z(t0){return 2&t0.transformFlags?function(f0){switch(f0.kind){case 274:return j(f0,!1);case 275:return G(f0,!1);case 278:return u0(f0,!1);case 284:return V0(f0);default:return e.visitEachChild(f0,Z,X)}}(t0):t0}function A0(t0){switch(t0.kind){case 11:return function(f0){var y0=function(G0){for(var d1,h1=0,S1=-1,Q1=0;Q1<G0.length;Q1++){var Y0=G0.charCodeAt(Q1);e.isLineBreak(Y0)?(h1!==-1&&S1!==-1&&(d1=w(d1,G0.substr(h1,S1-h1+1))),h1=-1):e.isWhiteSpaceSingleLine(Y0)||(S1=Q1,h1===-1&&(h1=Q1))}return h1!==-1?w(d1,G0.substr(h1)):d1}(f0.text);return y0===void 0?void 0:s1.createStringLiteral(y0)}(t0);case 284:return V0(t0);case 274:return j(t0,!0);case 275:return G(t0,!0);case 278:return u0(t0,!0);default:return e.Debug.failBadSyntaxKind(t0)}}function o0(t0){return m0.importSpecifier===void 0||function(f0){for(var y0=!1,G0=0,d1=f0.attributes.properties;G0<d1.length;G0++){var h1=d1[G0];if(e.isJsxSpreadAttribute(h1))y0=!0;else if(y0&&e.isJsxAttribute(h1)&&h1.name.escapedText===\"key\")return!0}return!1}(t0)}function j(t0,f0){return(o0(t0.openingElement)?P0:g0)(t0.openingElement,t0.children,f0,t0)}function G(t0,f0){return(o0(t0)?P0:g0)(t0,void 0,f0,t0)}function u0(t0,f0){return(m0.importSpecifier===void 0?D0:c0)(t0.openingFragment,t0.children,f0,t0)}function U(t0){var f0=e.getSemanticJsxChildren(t0);if(e.length(f0)===1){var y0=A0(f0[0]);return y0&&s1.createObjectLiteralExpression([s1.createPropertyAssignment(\"children\",y0)])}var G0=e.mapDefined(t0,A0);return G0.length?s1.createObjectLiteralExpression([s1.createPropertyAssignment(\"children\",s1.createArrayLiteralExpression(G0))]):void 0}function g0(t0,f0,y0,G0){var d1=k0(t0),h1=e.find(t0.attributes.properties,function($1){return!!$1.name&&e.isIdentifier($1.name)&&$1.name.escapedText===\"key\"}),S1=h1?e.filter(t0.attributes.properties,function($1){return $1!==h1}):t0.attributes.properties,Q1=[];if(S1.length&&(Q1=e.flatten(e.spanMap(S1,e.isJsxSpreadAttribute,function($1,Z1){return Z1?e.map($1,l0):s1.createObjectLiteralExpression(e.map($1,w0))})),e.isJsxSpreadAttribute(S1[0])&&Q1.unshift(s1.createObjectLiteralExpression())),f0&&f0.length){var Y0=U(f0);Y0&&Q1.push(Y0)}return d0(d1,Q1.length===0?s1.createObjectLiteralExpression([]):e.singleOrUndefined(Q1)||i0().createAssignHelper(Q1),h1,e.length(e.getSemanticJsxChildren(f0||e.emptyArray)),y0,G0)}function d0(t0,f0,y0,G0,d1,h1){var S1=[t0,f0,y0?V(y0.initializer):s1.createVoidZero()];if(H0.jsx===5){var Q1=e.getOriginalNode(J);if(Q1&&e.isSourceFile(Q1)){S1.push(G0>1?s1.createTrue():s1.createFalse());var Y0=e.getLineAndCharacterOfPosition(Q1,h1.pos);S1.push(s1.createObjectLiteralExpression([s1.createPropertyAssignment(\"fileName\",E0()),s1.createPropertyAssignment(\"lineNumber\",s1.createNumericLiteral(Y0.line+1)),s1.createPropertyAssignment(\"columnNumber\",s1.createNumericLiteral(Y0.character+1))])),S1.push(s1.createThis())}}var $1=e.setTextRange(s1.createCallExpression(I(G0),void 0,S1),h1);return d1&&e.startOnNewLine($1),$1}function P0(t0,f0,y0,G0){var d1,h1=k0(t0),S1=t0.attributes.properties;if(S1.length===0)d1=s1.createNull();else{var Q1=H0.target;if(Q1&&Q1>=5)d1=s1.createObjectLiteralExpression(e.flatten(e.spanMap(S1,e.isJsxSpreadAttribute,function(Q0,y1){return y1?e.map(Q0,x0):e.map(Q0,w0)})));else{var Y0=e.flatten(e.spanMap(S1,e.isJsxSpreadAttribute,function(Q0,y1){return y1?e.map(Q0,l0):s1.createObjectLiteralExpression(e.map(Q0,w0))}));e.isJsxSpreadAttribute(S1[0])&&Y0.unshift(s1.createObjectLiteralExpression()),(d1=e.singleOrUndefined(Y0))||(d1=i0().createAssignHelper(Y0))}}var $1=m0.importSpecifier===void 0?e.createJsxFactoryExpression(s1,X.getEmitResolver().getJsxFactoryEntity(J),H0.reactNamespace,t0):A(\"createElement\"),Z1=e.createExpressionForJsxElement(s1,$1,h1,d1,e.mapDefined(f0,A0),G0);return y0&&e.startOnNewLine(Z1),Z1}function c0(t0,f0,y0,G0){var d1;if(f0&&f0.length){var h1=U(f0);h1&&(d1=h1)}return d0(A(\"Fragment\"),d1||s1.createObjectLiteralExpression([]),void 0,e.length(e.getSemanticJsxChildren(f0)),y0,G0)}function D0(t0,f0,y0,G0){var d1=e.createExpressionForJsxFragment(s1,X.getEmitResolver().getJsxFactoryEntity(J),X.getEmitResolver().getJsxFragmentFactoryEntity(J),H0.reactNamespace,e.mapDefined(f0,A0),t0,G0);return y0&&e.startOnNewLine(d1),d1}function x0(t0){return s1.createSpreadAssignment(e.visitNode(t0.expression,Z,e.isExpression))}function l0(t0){return e.visitNode(t0.expression,Z,e.isExpression)}function w0(t0){var f0=function(G0){var d1=G0.name,h1=e.idText(d1);return/^[A-Za-z_]\\w*$/.test(h1)?d1:s1.createStringLiteral(h1)}(t0),y0=V(t0.initializer);return s1.createPropertyAssignment(f0,y0)}function V(t0){if(t0===void 0)return s1.createTrue();if(t0.kind===10){var f0=t0.singleQuote!==void 0?t0.singleQuote:!e.isStringDoubleQuoted(t0,J),y0=s1.createStringLiteral((G0=t0.text,((d1=H(G0))===G0?void 0:d1)||t0.text),f0);return e.setTextRange(y0,t0)}return t0.kind===284?t0.expression===void 0?s1.createTrue():e.visitNode(t0.expression,Z,e.isExpression):e.Debug.failBadSyntaxKind(t0);var G0,d1}function w(t0,f0){var y0=H(f0);return t0===void 0?y0:t0+\" \"+y0}function H(t0){return t0.replace(/&((#((\\d+)|x([\\da-fA-F]+)))|(\\w+));/g,function(f0,y0,G0,d1,h1,S1,Q1){if(h1)return e.utf16EncodeAsString(parseInt(h1,10));if(S1)return e.utf16EncodeAsString(parseInt(S1,16));var Y0=s.get(Q1);return Y0?e.utf16EncodeAsString(Y0):f0})}function k0(t0){if(t0.kind===274)return k0(t0.openingElement);var f0=t0.tagName;return e.isIdentifier(f0)&&e.isIntrinsicJsxName(f0.escapedText)?s1.createStringLiteral(e.idText(f0)):e.createExpressionFromEntityName(s1,f0)}function V0(t0){return e.visitNode(t0.expression,Z,e.isExpression)}};var s=new e.Map(e.getEntries({quot:34,amp:38,apos:39,lt:60,gt:62,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,copy:169,ordf:170,laquo:171,not:172,shy:173,reg:174,macr:175,deg:176,plusmn:177,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,sup1:185,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,Agrave:192,Aacute:193,Acirc:194,Atilde:195,Auml:196,Aring:197,AElig:198,Ccedil:199,Egrave:200,Eacute:201,Ecirc:202,Euml:203,Igrave:204,Iacute:205,Icirc:206,Iuml:207,ETH:208,Ntilde:209,Ograve:210,Oacute:211,Ocirc:212,Otilde:213,Ouml:214,times:215,Oslash:216,Ugrave:217,Uacute:218,Ucirc:219,Uuml:220,Yacute:221,THORN:222,szlig:223,agrave:224,aacute:225,acirc:226,atilde:227,auml:228,aring:229,aelig:230,ccedil:231,egrave:232,eacute:233,ecirc:234,euml:235,igrave:236,iacute:237,icirc:238,iuml:239,eth:240,ntilde:241,ograve:242,oacute:243,ocirc:244,otilde:245,ouml:246,divide:247,oslash:248,ugrave:249,uacute:250,ucirc:251,uuml:252,yacute:253,thorn:254,yuml:255,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830}))}(_0||(_0={})),function(e){e.transformES2016=function(s){var X=s.factory,J=s.hoistVariableDeclaration;return e.chainBundle(s,function(s1){return s1.isDeclarationFile?s1:e.visitEachChild(s1,m0,s)});function m0(s1){if((256&s1.transformFlags)==0)return s1;switch(s1.kind){case 217:return function(i0){switch(i0.operatorToken.kind){case 66:return function(H0){var E0,I,A=e.visitNode(H0.left,m0,e.isExpression),Z=e.visitNode(H0.right,m0,e.isExpression);if(e.isElementAccessExpression(A)){var A0=X.createTempVariable(J),o0=X.createTempVariable(J);E0=e.setTextRange(X.createElementAccessExpression(e.setTextRange(X.createAssignment(A0,A.expression),A.expression),e.setTextRange(X.createAssignment(o0,A.argumentExpression),A.argumentExpression)),A),I=e.setTextRange(X.createElementAccessExpression(A0,o0),A)}else e.isPropertyAccessExpression(A)?(A0=X.createTempVariable(J),E0=e.setTextRange(X.createPropertyAccessExpression(e.setTextRange(X.createAssignment(A0,A.expression),A.expression),A.name),A),I=e.setTextRange(X.createPropertyAccessExpression(A0,A.name),A)):(E0=A,I=A);return e.setTextRange(X.createAssignment(E0,e.setTextRange(X.createGlobalMethodCall(\"Math\",\"pow\",[I,Z]),H0)),H0)}(i0);case 42:return function(H0){var E0=e.visitNode(H0.left,m0,e.isExpression),I=e.visitNode(H0.right,m0,e.isExpression);return e.setTextRange(X.createGlobalMethodCall(\"Math\",\"pow\",[E0,I]),H0)}(i0);default:return e.visitEachChild(i0,m0,s)}}(s1);default:return e.visitEachChild(s1,m0,s)}}}}(_0||(_0={})),function(e){var s,X,J,m0,s1;(function(i0){i0[i0.CapturedThis=1]=\"CapturedThis\",i0[i0.BlockScopedBindings=2]=\"BlockScopedBindings\"})(s||(s={})),function(i0){i0[i0.Body=1]=\"Body\",i0[i0.Initializer=2]=\"Initializer\"}(X||(X={})),function(i0){i0[i0.ToOriginal=0]=\"ToOriginal\",i0[i0.ToOutParameter=1]=\"ToOutParameter\"}(J||(J={})),function(i0){i0[i0.Break=2]=\"Break\",i0[i0.Continue=4]=\"Continue\",i0[i0.Return=8]=\"Return\"}(m0||(m0={})),function(i0){i0[i0.None=0]=\"None\",i0[i0.Function=1]=\"Function\",i0[i0.ArrowFunction=2]=\"ArrowFunction\",i0[i0.AsyncFunctionBody=4]=\"AsyncFunctionBody\",i0[i0.NonStaticClassElement=8]=\"NonStaticClassElement\",i0[i0.CapturesThis=16]=\"CapturesThis\",i0[i0.ExportedVariableStatement=32]=\"ExportedVariableStatement\",i0[i0.TopLevel=64]=\"TopLevel\",i0[i0.Block=128]=\"Block\",i0[i0.IterationStatement=256]=\"IterationStatement\",i0[i0.IterationStatementBlock=512]=\"IterationStatementBlock\",i0[i0.IterationContainer=1024]=\"IterationContainer\",i0[i0.ForStatement=2048]=\"ForStatement\",i0[i0.ForInOrForOfStatement=4096]=\"ForInOrForOfStatement\",i0[i0.ConstructorWithCapturedSuper=8192]=\"ConstructorWithCapturedSuper\",i0[i0.AncestorFactsMask=16383]=\"AncestorFactsMask\",i0[i0.BlockScopeIncludes=0]=\"BlockScopeIncludes\",i0[i0.BlockScopeExcludes=7104]=\"BlockScopeExcludes\",i0[i0.SourceFileIncludes=64]=\"SourceFileIncludes\",i0[i0.SourceFileExcludes=8064]=\"SourceFileExcludes\",i0[i0.FunctionIncludes=65]=\"FunctionIncludes\",i0[i0.FunctionExcludes=16286]=\"FunctionExcludes\",i0[i0.AsyncFunctionBodyIncludes=69]=\"AsyncFunctionBodyIncludes\",i0[i0.AsyncFunctionBodyExcludes=16278]=\"AsyncFunctionBodyExcludes\",i0[i0.ArrowFunctionIncludes=66]=\"ArrowFunctionIncludes\",i0[i0.ArrowFunctionExcludes=15232]=\"ArrowFunctionExcludes\",i0[i0.ConstructorIncludes=73]=\"ConstructorIncludes\",i0[i0.ConstructorExcludes=16278]=\"ConstructorExcludes\",i0[i0.DoOrWhileStatementIncludes=1280]=\"DoOrWhileStatementIncludes\",i0[i0.DoOrWhileStatementExcludes=0]=\"DoOrWhileStatementExcludes\",i0[i0.ForStatementIncludes=3328]=\"ForStatementIncludes\",i0[i0.ForStatementExcludes=5056]=\"ForStatementExcludes\",i0[i0.ForInOrForOfStatementIncludes=5376]=\"ForInOrForOfStatementIncludes\",i0[i0.ForInOrForOfStatementExcludes=3008]=\"ForInOrForOfStatementExcludes\",i0[i0.BlockIncludes=128]=\"BlockIncludes\",i0[i0.BlockExcludes=6976]=\"BlockExcludes\",i0[i0.IterationStatementBlockIncludes=512]=\"IterationStatementBlockIncludes\",i0[i0.IterationStatementBlockExcludes=7104]=\"IterationStatementBlockExcludes\",i0[i0.NewTarget=16384]=\"NewTarget\",i0[i0.CapturedLexicalThis=32768]=\"CapturedLexicalThis\",i0[i0.SubtreeFactsMask=-16384]=\"SubtreeFactsMask\",i0[i0.ArrowFunctionSubtreeExcludes=0]=\"ArrowFunctionSubtreeExcludes\",i0[i0.FunctionSubtreeExcludes=49152]=\"FunctionSubtreeExcludes\"}(s1||(s1={})),e.transformES2015=function(i0){var H0,E0,I,A,Z,A0,o0=i0.factory,j=i0.getEmitHelperFactory,G=i0.startLexicalEnvironment,u0=i0.resumeLexicalEnvironment,U=i0.endLexicalEnvironment,g0=i0.hoistVariableDeclaration,d0=i0.getCompilerOptions(),P0=i0.getEmitResolver(),c0=i0.onSubstituteNode,D0=i0.onEmitNode;function x0(W1){A=e.append(A,o0.createVariableDeclaration(W1))}return i0.onEmitNode=function(W1,cx,E1){if(1&A0&&e.isFunctionLike(cx)){var qx=l0(16286,8&e.getEmitFlags(cx)?81:65);return D0(W1,cx,E1),void w0(qx,0,0)}D0(W1,cx,E1)},i0.onSubstituteNode=function(W1,cx){return cx=c0(W1,cx),W1===1?function(E1){switch(E1.kind){case 78:return function(qx){if(2&A0&&!e.isInternalName(qx)){var xt=P0.getReferencedDeclarationWithCollidingName(qx);if(xt&&(!e.isClassLike(xt)||!function(ae,Ut){var or=e.getParseTreeNode(Ut);if(!or||or===ae||or.end<=ae.pos||or.pos>=ae.end)return!1;for(var ut=e.getEnclosingBlockScopeContainer(ae);or;){if(or===ut||or===ae)return!1;if(e.isClassElement(or)&&or.parent===ae)return!0;or=or.parent}return!1}(xt,qx)))return e.setTextRange(o0.getGeneratedNameForNode(e.getNameOfDeclaration(xt)),qx)}return qx}(E1);case 107:return function(qx){return 1&A0&&16&I?e.setTextRange(o0.createUniqueName(\"_this\",48),qx):qx}(E1)}return E1}(cx):e.isIdentifier(cx)?function(E1){if(2&A0&&!e.isInternalName(E1)){var qx=e.getParseTreeNode(E1,e.isIdentifier);if(qx&&function(xt){switch(xt.parent.kind){case 199:case 253:case 256:case 250:return xt.parent.name===xt&&P0.isDeclarationWithCollidingName(xt.parent)}return!1}(qx))return e.setTextRange(o0.getGeneratedNameForNode(qx),E1)}return E1}(cx):cx},e.chainBundle(i0,function(W1){if(W1.isDeclarationFile)return W1;H0=W1,E0=W1.text;var cx=function(E1){var qx=l0(8064,64),xt=[],ae=[];G();var Ut=o0.copyPrologue(E1.statements,xt,!1,H);return e.addRange(ae,e.visitNodes(E1.statements,H,e.isStatement,Ut)),A&&ae.push(o0.createVariableStatement(void 0,o0.createVariableDeclarationList(A))),o0.mergeLexicalEnvironment(xt,U()),y1(xt,E1),w0(qx,0,0),o0.updateSourceFile(E1,e.setTextRange(o0.createNodeArray(e.concatenate(xt,ae)),E1.statements))}(W1);return e.addEmitHelpers(cx,i0.readEmitHelpers()),H0=void 0,E0=void 0,A=void 0,I=0,cx});function l0(W1,cx){var E1=I;return I=16383&(I&~W1|cx),E1}function w0(W1,cx,E1){I=-16384&(I&~cx|E1)|W1}function V(W1){return(8192&I)!=0&&W1.kind===243&&!W1.expression}function w(W1){return(512&W1.transformFlags)!=0||Z!==void 0||8192&I&&function(cx){return 2097152&cx.transformFlags&&(e.isReturnStatement(cx)||e.isIfStatement(cx)||e.isWithStatement(cx)||e.isSwitchStatement(cx)||e.isCaseBlock(cx)||e.isCaseClause(cx)||e.isDefaultClause(cx)||e.isTryStatement(cx)||e.isCatchClause(cx)||e.isLabeledStatement(cx)||e.isIterationStatement(cx,!1)||e.isBlock(cx))}(W1)||e.isIterationStatement(W1,!1)&&gt(W1)||(33554432&e.getEmitFlags(W1))!=0}function H(W1){return w(W1)?t0(W1,!1):W1}function k0(W1){return w(W1)?t0(W1,!0):W1}function V0(W1){return W1.kind===105?bn(!0):H(W1)}function t0(W1,cx){switch(W1.kind){case 123:return;case 253:return function(E1){var qx=o0.createVariableDeclaration(o0.getLocalName(E1,!0),void 0,void 0,G0(E1));e.setOriginalNode(qx,E1);var xt=[],ae=o0.createVariableStatement(void 0,o0.createVariableDeclarationList([qx]));if(e.setOriginalNode(ae,E1),e.setTextRange(ae,E1),e.startOnNewLine(ae),xt.push(ae),e.hasSyntacticModifier(E1,1)){var Ut=e.hasSyntacticModifier(E1,512)?o0.createExportDefault(o0.getLocalName(E1)):o0.createExternalModuleExport(o0.getLocalName(E1));e.setOriginalNode(Ut,ae),xt.push(Ut)}var or=e.getEmitFlags(E1);return(4194304&or)==0&&(xt.push(o0.createEndOfDeclarationMarker(E1)),e.setEmitFlags(ae,4194304|or)),e.singleOrMany(xt)}(W1);case 222:return function(E1){return G0(E1)}(W1);case 161:return function(E1){return E1.dotDotDotToken?void 0:e.isBindingPattern(E1.name)?e.setOriginalNode(e.setTextRange(o0.createParameterDeclaration(void 0,void 0,void 0,o0.getGeneratedNameForNode(E1),void 0,void 0,void 0),E1),E1):E1.initializer?e.setOriginalNode(e.setTextRange(o0.createParameterDeclaration(void 0,void 0,void 0,E1.name,void 0,void 0,void 0),E1),E1):E1}(W1);case 252:return function(E1){var qx=Z;Z=void 0;var xt=l0(16286,65),ae=e.visitParameterList(E1.parameters,H,i0),Ut=I0(E1),or=16384&I?o0.getLocalName(E1):E1.name;return w0(xt,49152,0),Z=qx,o0.updateFunctionDeclaration(E1,void 0,e.visitNodes(E1.modifiers,H,e.isModifier),E1.asteriskToken,or,void 0,ae,void 0,Ut)}(W1);case 210:return function(E1){8192&E1.transformFlags&&(I|=32768);var qx=Z;Z=void 0;var xt=l0(15232,66),ae=o0.createFunctionExpression(void 0,void 0,void 0,void 0,e.visitParameterList(E1.parameters,H,i0),void 0,I0(E1));return e.setTextRange(ae,E1),e.setOriginalNode(ae,E1),e.setEmitFlags(ae,8),32768&I&&Sa(),w0(xt,0,0),Z=qx,ae}(W1);case 209:return function(E1){var qx=262144&e.getEmitFlags(E1)?l0(16278,69):l0(16286,65),xt=Z;Z=void 0;var ae=e.visitParameterList(E1.parameters,H,i0),Ut=I0(E1),or=16384&I?o0.getLocalName(E1):E1.name;return w0(qx,49152,0),Z=xt,o0.updateFunctionExpression(E1,void 0,E1.asteriskToken,or,void 0,ae,void 0,Ut)}(W1);case 250:return p1(W1);case 78:return y0(W1);case 251:return function(E1){if(3&E1.flags||262144&E1.transformFlags){3&E1.flags&&Le();var qx=e.flatMap(E1.declarations,1&E1.flags?p0:p1),xt=o0.createVariableDeclarationList(qx);return e.setOriginalNode(xt,E1),e.setTextRange(xt,E1),e.setCommentRange(xt,E1),262144&E1.transformFlags&&(e.isBindingPattern(E1.declarations[0].name)||e.isBindingPattern(e.last(E1.declarations).name))&&e.setSourceMapRange(xt,function(ae){for(var Ut=-1,or=-1,ut=0,Gr=ae;ut<Gr.length;ut++){var B=Gr[ut];Ut=Ut===-1?B.pos:B.pos===-1?Ut:Math.min(Ut,B.pos),or=Math.max(or,B.end)}return e.createRange(Ut,or)}(qx)),xt}return e.visitEachChild(E1,H,i0)}(W1);case 245:return function(E1){if(Z!==void 0){var qx=Z.allowedNonLabeledJumps;Z.allowedNonLabeledJumps|=2;var xt=e.visitEachChild(E1,H,i0);return Z.allowedNonLabeledJumps=qx,xt}return e.visitEachChild(E1,H,i0)}(W1);case 259:return function(E1){var qx=l0(7104,0),xt=e.visitEachChild(E1,H,i0);return w0(qx,0,0),xt}(W1);case 231:return function(E1,qx){if(qx)return e.visitEachChild(E1,H,i0);var xt=256&I?l0(7104,512):l0(6976,128),ae=e.visitEachChild(E1,H,i0);return w0(xt,0,0),ae}(W1,!1);case 242:case 241:return function(E1){if(Z){var qx=E1.kind===242?2:4;if(!(E1.label&&Z.labels&&Z.labels.get(e.idText(E1.label))||!E1.label&&Z.allowedNonLabeledJumps&qx)){var xt=void 0,ae=E1.label;ae?E1.kind===242?(xt=\"break-\"+ae.escapedText,Bt(Z,!0,e.idText(ae),xt)):(xt=\"continue-\"+ae.escapedText,Bt(Z,!1,e.idText(ae),xt)):E1.kind===242?(Z.nonLocalJumps|=2,xt=\"break\"):(Z.nonLocalJumps|=4,xt=\"continue\");var Ut=o0.createStringLiteral(xt);if(Z.loopOutParameters.length){for(var or=Z.loopOutParameters,ut=void 0,Gr=0;Gr<or.length;Gr++){var B=Ir(or[Gr],1);ut=Gr===0?B:o0.createBinaryExpression(ut,27,B)}Ut=o0.createBinaryExpression(ut,27,Ut)}return o0.createReturnStatement(Ut)}}return e.visitEachChild(E1,H,i0)}(W1);case 246:return function(E1){Z&&!Z.labels&&(Z.labels=new e.Map);var qx=e.unwrapInnermostStatementOfLabel(E1,Z&&Y1);return e.isIterationStatement(qx,!1)?function(xt,ae){switch(xt.kind){case 236:case 237:return Ox(xt,ae);case 238:return $x(xt,ae);case 239:return rx(xt,ae);case 240:return O0(xt,ae)}}(qx,E1):o0.restoreEnclosingLabel(e.visitNode(qx,H,e.isStatement,o0.liftToBlock),E1,Z&&N1)}(W1);case 236:case 237:return Ox(W1,void 0);case 238:return $x(W1,void 0);case 239:return rx(W1,void 0);case 240:return O0(W1,void 0);case 234:return function(E1){return e.visitEachChild(E1,k0,i0)}(W1);case 201:return function(E1){for(var qx=E1.properties,xt=-1,ae=!1,Ut=0;Ut<qx.length;Ut++){var or=qx[Ut];if(524288&or.transformFlags&&4&I||(ae=e.Debug.checkDefined(or.name).kind===159)){xt=Ut;break}}if(xt<0)return e.visitEachChild(E1,H,i0);var ut=o0.createTempVariable(g0),Gr=[],B=o0.createAssignment(ut,e.setEmitFlags(o0.createObjectLiteralExpression(e.visitNodes(qx,H,e.isObjectLiteralElementLike,0,xt),E1.multiLine),ae?65536:0));return E1.multiLine&&e.startOnNewLine(B),Gr.push(B),function(h0,M,X0,l1){for(var Hx=M.properties,ge=Hx.length,Pe=l1;Pe<ge;Pe++){var It=Hx[Pe];switch(It.kind){case 168:case 169:var Kr=e.getAllAccessorDeclarations(M.properties,It);It===Kr.firstAccessor&&h0.push(n1(X0,Kr,M,!!M.multiLine));break;case 166:h0.push(Ba(It,X0,M,M.multiLine));break;case 289:h0.push(Kn(It,X0,M.multiLine));break;case 290:h0.push(oi(It,X0,M.multiLine));break;default:e.Debug.failBadSyntaxKind(M)}}}(Gr,E1,ut,xt),Gr.push(E1.multiLine?e.startOnNewLine(e.setParent(e.setTextRange(o0.cloneNode(ut),ut),ut.parent)):ut),o0.inlineExpressions(Gr)}(W1);case 288:return function(E1){var qx,xt=l0(7104,0);if(e.Debug.assert(!!E1.variableDeclaration,\"Catch clause variable should always be present when downleveling ES2015.\"),e.isBindingPattern(E1.variableDeclaration.name)){var ae=o0.createTempVariable(void 0),Ut=o0.createVariableDeclaration(ae);e.setTextRange(Ut,E1.variableDeclaration);var or=e.flattenDestructuringBinding(E1.variableDeclaration,H,i0,0,ae),ut=o0.createVariableDeclarationList(or);e.setTextRange(ut,E1.variableDeclaration);var Gr=o0.createVariableStatement(void 0,ut);qx=o0.updateCatchClause(E1,Ut,(B=E1.block,h0=Gr,M=e.visitNodes(B.statements,H,e.isStatement),o0.updateBlock(B,D([h0],M))))}else qx=e.visitEachChild(E1,H,i0);var B,h0,M;return w0(xt,0,0),qx}(W1);case 290:return function(E1){return e.setTextRange(o0.createPropertyAssignment(E1.name,y0(o0.cloneNode(E1.name))),E1)}(W1);case 159:return function(E1){return e.visitEachChild(E1,H,i0)}(W1);case 200:return function(E1){return e.some(E1.elements,e.isSpreadElement)?Gt(E1.elements,!0,!!E1.multiLine,!!E1.elements.hasTrailingComma):e.visitEachChild(E1,H,i0)}(W1);case 204:return function(E1){if(33554432&e.getEmitFlags(E1))return function(xt){var ae=e.cast(e.cast(e.skipOuterExpressions(xt.expression),e.isArrowFunction).body,e.isBlock),Ut=function(rn){return e.isVariableStatement(rn)&&!!e.first(rn.declarationList.declarations).initializer},or=Z;Z=void 0;var ut=e.visitNodes(ae.statements,H,e.isStatement);Z=or;var Gr=e.filter(ut,Ut),B=e.filter(ut,function(rn){return!Ut(rn)}),h0=e.cast(e.first(Gr),e.isVariableStatement).declarationList.declarations[0],M=e.skipOuterExpressions(h0.initializer),X0=e.tryCast(M,e.isAssignmentExpression),l1=e.cast(X0?e.skipOuterExpressions(X0.right):M,e.isCallExpression),Hx=e.cast(e.skipOuterExpressions(l1.expression),e.isFunctionExpression),ge=Hx.body.statements,Pe=0,It=-1,Kr=[];if(X0){var pn=e.tryCast(ge[Pe],e.isExpressionStatement);pn&&(Kr.push(pn),Pe++),Kr.push(ge[Pe]),Pe++,Kr.push(o0.createExpressionStatement(o0.createAssignment(X0.left,e.cast(h0.name,e.isIdentifier))))}for(;!e.isReturnStatement(e.elementAt(ge,It));)It--;return e.addRange(Kr,ge,Pe,It),It<-1&&e.addRange(Kr,ge,It+1),e.addRange(Kr,B),e.addRange(Kr,Gr,1),o0.restoreOuterExpressions(xt.expression,o0.restoreOuterExpressions(h0.initializer,o0.restoreOuterExpressions(X0&&X0.right,o0.updateCallExpression(l1,o0.restoreOuterExpressions(l1.expression,o0.updateFunctionExpression(Hx,void 0,void 0,void 0,void 0,Hx.parameters,void 0,o0.updateBlock(Hx.body,Kr))),void 0,l1.arguments))))}(E1);var qx=e.skipOuterExpressions(E1.expression);return qx.kind===105||e.isSuperProperty(qx)||e.some(E1.arguments,e.isSpreadElement)?dt(E1,!0):o0.updateCallExpression(E1,e.visitNode(E1.expression,V0,e.isExpression),void 0,e.visitNodes(E1.arguments,H,e.isExpression))}(W1);case 205:return function(E1){if(e.some(E1.arguments,e.isSpreadElement)){var qx=o0.createCallBinding(o0.createPropertyAccessExpression(E1.expression,\"bind\"),g0),xt=qx.target,ae=qx.thisArg;return o0.createNewExpression(o0.createFunctionApplyCall(e.visitNode(xt,H,e.isExpression),ae,Gt(o0.createNodeArray(D([o0.createVoidZero()],E1.arguments)),!1,!1,!1)),void 0,[])}return e.visitEachChild(E1,H,i0)}(W1);case 208:return function(E1,qx){return e.visitEachChild(E1,qx?k0:H,i0)}(W1,cx);case 217:return U0(W1,cx);case 341:return function(E1,qx){if(qx)return e.visitEachChild(E1,k0,i0);for(var xt,ae=0;ae<E1.elements.length;ae++){var Ut=E1.elements[ae],or=e.visitNode(Ut,ae<E1.elements.length-1?k0:H,e.isExpression);(xt||or!==Ut)&&(xt||(xt=E1.elements.slice(0,ae)),xt.push(or))}var ut=xt?e.setTextRange(o0.createNodeArray(xt),E1.elements):E1.elements;return o0.updateCommaListExpression(E1,ut)}(W1,cx);case 14:case 15:case 16:case 17:return function(E1){return e.setTextRange(o0.createStringLiteral(E1.text),E1)}(W1);case 10:return function(E1){return E1.hasExtendedUnicodeEscape?e.setTextRange(o0.createStringLiteral(E1.text),E1):E1}(W1);case 8:return function(E1){return 384&E1.numericLiteralFlags?e.setTextRange(o0.createNumericLiteral(E1.text),E1):E1}(W1);case 206:return function(E1){return e.processTaggedTemplateExpression(i0,E1,H,H0,x0,e.ProcessLevel.All)}(W1);case 219:return function(E1){var qx=[];(function(ae,Ut){!function(or){return e.Debug.assert(or.templateSpans.length!==0),or.head.text.length!==0||or.templateSpans[0].literal.text.length===0}(Ut)||ae.push(o0.createStringLiteral(Ut.head.text))})(qx,E1),function(ae,Ut){for(var or=0,ut=Ut.templateSpans;or<ut.length;or++){var Gr=ut[or];ae.push(e.visitNode(Gr.expression,H,e.isExpression)),Gr.literal.text.length!==0&&ae.push(o0.createStringLiteral(Gr.literal.text))}}(qx,E1);var xt=e.reduceLeft(qx,o0.createAdd);return e.nodeIsSynthesized(xt)&&e.setTextRange(xt,E1),xt}(W1);case 220:return function(E1){return e.visitEachChild(E1,H,i0)}(W1);case 221:return function(E1){return e.visitNode(E1.expression,H,e.isExpression)}(W1);case 105:return bn(!1);case 107:return function(E1){return 2&I&&(I|=32768),Z?2&I?(Z.containsLexicalThis=!0,E1):Z.thisName||(Z.thisName=o0.createUniqueName(\"this\")):E1}(W1);case 227:return function(E1){return E1.keywordToken===102&&E1.name.escapedText===\"target\"?(I|=16384,o0.createUniqueName(\"_newTarget\",48)):E1}(W1);case 166:return function(E1){e.Debug.assert(!e.isComputedPropertyName(E1.name));var qx=S0(E1,e.moveRangePos(E1,-1),void 0,void 0);return e.setEmitFlags(qx,512|e.getEmitFlags(qx)),e.setTextRange(o0.createPropertyAssignment(E1.name,qx),E1)}(W1);case 168:case 169:return function(E1){e.Debug.assert(!e.isComputedPropertyName(E1.name));var qx=Z;Z=void 0;var xt,ae=l0(16286,65),Ut=e.visitParameterList(E1.parameters,H,i0),or=I0(E1);return xt=E1.kind===168?o0.updateGetAccessorDeclaration(E1,E1.decorators,E1.modifiers,E1.name,Ut,E1.type,or):o0.updateSetAccessorDeclaration(E1,E1.decorators,E1.modifiers,E1.name,Ut,or),w0(ae,49152,0),Z=qx,xt}(W1);case 233:return function(E1){var qx,xt=l0(0,e.hasSyntacticModifier(E1,1)?32:0);if(Z&&(3&E1.declarationList.flags)==0&&!function(B){return B.declarationList.declarations.length===1&&!!B.declarationList.declarations[0].initializer&&!!(33554432&e.getEmitFlags(B.declarationList.declarations[0].initializer))}(E1)){for(var ae=void 0,Ut=0,or=E1.declarationList.declarations;Ut<or.length;Ut++){var ut=or[Ut];if(wr(Z,ut),ut.initializer){var Gr=void 0;e.isBindingPattern(ut.name)?Gr=e.flattenDestructuringAssignment(ut,H,i0,0):(Gr=o0.createBinaryExpression(ut.name,62,e.visitNode(ut.initializer,H,e.isExpression)),e.setTextRange(Gr,ut)),ae=e.append(ae,Gr)}}qx=ae?e.setTextRange(o0.createExpressionStatement(o0.inlineExpressions(ae)),E1):void 0}else qx=e.visitEachChild(E1,H,i0);return w0(xt,0,0),qx}(W1);case 243:return function(E1){return Z?(Z.nonLocalJumps|=8,V(E1)&&(E1=f0(E1)),o0.createReturnStatement(o0.createObjectLiteralExpression([o0.createPropertyAssignment(o0.createIdentifier(\"value\"),E1.expression?e.visitNode(E1.expression,H,e.isExpression):o0.createVoidZero())]))):V(E1)?f0(E1):e.visitEachChild(E1,H,i0)}(W1);case 213:return function(E1){return e.visitEachChild(E1,k0,i0)}(W1);default:return e.visitEachChild(W1,H,i0)}}function f0(W1){return e.setOriginalNode(o0.createReturnStatement(o0.createUniqueName(\"_this\",48)),W1)}function y0(W1){return Z&&P0.isArgumentsLocalBinding(W1)?Z.argumentsName||(Z.argumentsName=o0.createUniqueName(\"arguments\")):W1}function G0(W1){W1.name&&Le();var cx=e.getClassExtendsHeritageElement(W1),E1=o0.createFunctionExpression(void 0,void 0,void 0,void 0,cx?[o0.createParameterDeclaration(void 0,void 0,void 0,o0.createUniqueName(\"_super\",48))]:[],void 0,function(Ut,or){var ut=[],Gr=o0.getInternalName(Ut),B=e.isIdentifierANonContextualKeyword(Gr)?o0.getGeneratedNameForNode(Gr):Gr;G(),function(Hx,ge,Pe){Pe&&Hx.push(e.setTextRange(o0.createExpressionStatement(j().createExtendsHelper(o0.getInternalName(ge))),Pe))}(ut,Ut,or),function(Hx,ge,Pe,It){var Kr=Z;Z=void 0;var pn=l0(16278,73),rn=e.getFirstConstructorWithBody(ge),_t=function(Mn,Ka){if(!Mn||!Ka||e.some(Mn.parameters))return!1;var fe=e.firstOrUndefined(Mn.body.statements);if(!fe||!e.nodeIsSynthesized(fe)||fe.kind!==234)return!1;var Fr=fe.expression;if(!e.nodeIsSynthesized(Fr)||Fr.kind!==204)return!1;var yt=Fr.expression;if(!e.nodeIsSynthesized(yt)||yt.kind!==105)return!1;var Fn=e.singleOrUndefined(Fr.arguments);if(!Fn||!e.nodeIsSynthesized(Fn)||Fn.kind!==221)return!1;var Ur=Fn.expression;return e.isIdentifier(Ur)&&Ur.escapedText===\"arguments\"}(rn,It!==void 0),Ii=o0.createFunctionDeclaration(void 0,void 0,void 0,Pe,void 0,function(Mn,Ka){return e.visitParameterList(Mn&&!Ka?Mn.parameters:void 0,H,i0)||[]}(rn,_t),void 0,function(Mn,Ka,fe,Fr){var yt=!!fe&&e.skipOuterExpressions(fe.expression).kind!==103;if(!Mn)return function(vs,sg){var Cf=[];u0(),o0.mergeLexicalEnvironment(Cf,U()),sg&&Cf.push(o0.createReturnStatement(S1()));var rc=o0.createNodeArray(Cf);e.setTextRange(rc,vs.members);var K8=o0.createBlock(rc,!0);return e.setTextRange(K8,vs),e.setEmitFlags(K8,1536),K8}(Ka,yt);var Fn=[],Ur=[];u0();var fa,Kt=0;if(Fr||(Kt=o0.copyStandardPrologue(Mn.body.statements,Fn,!1)),Y0(Ur,Mn),Q0(Ur,Mn,Fr),Fr||(Kt=o0.copyCustomPrologue(Mn.body.statements,Ur,Kt,H)),Fr)fa=S1();else if(yt&&Kt<Mn.body.statements.length){var Fa=Mn.body.statements[Kt];e.isExpressionStatement(Fa)&&e.isSuperCall(Fa.expression)&&(fa=function(vs){return dt(vs,!1)}(Fa.expression))}if(fa&&(I|=8192,Kt++),e.addRange(Ur,e.visitNodes(Mn.body.statements,H,e.isStatement,Kt)),o0.mergeLexicalEnvironment(Fn,U()),I1(Fn,Mn,!1),yt)if(!fa||Kt!==Mn.body.statements.length||8192&Mn.body.transformFlags)k1(Ur,Mn,fa||h1()),d1(Mn.body)||Ur.push(o0.createReturnStatement(o0.createUniqueName(\"_this\",48)));else{var co=e.cast(e.cast(fa,e.isBinaryExpression).left,e.isCallExpression),Us=o0.createReturnStatement(fa);e.setCommentRange(Us,e.getCommentRange(co)),e.setEmitFlags(co,1536),Ur.push(Us)}else y1(Fn,Mn);var qs=o0.createBlock(e.setTextRange(o0.createNodeArray(e.concatenate(Fn,Ur)),Mn.body.statements),!0);return e.setTextRange(qs,Mn.body),qs}(rn,ge,It,_t));e.setTextRange(Ii,rn||ge),It&&e.setEmitFlags(Ii,8),Hx.push(Ii),w0(pn,49152,0),Z=Kr}(ut,Ut,B,or),function(Hx,ge){for(var Pe=0,It=ge.members;Pe<It.length;Pe++){var Kr=It[Pe];switch(Kr.kind){case 230:Hx.push(K0(Kr));break;case 166:Hx.push(G1(Yn(ge,Kr),Kr,ge));break;case 168:case 169:var pn=e.getAllAccessorDeclarations(ge.members,Kr);Kr===pn.firstAccessor&&Hx.push(Nx(Yn(ge,Kr),pn,ge));break;case 167:break;default:e.Debug.failBadSyntaxKind(Kr,H0&&H0.fileName)}}}(ut,Ut);var h0=e.createTokenRange(e.skipTrivia(E0,Ut.members.end),19),M=o0.createPartiallyEmittedExpression(B);e.setTextRangeEnd(M,h0.end),e.setEmitFlags(M,1536);var X0=o0.createReturnStatement(M);e.setTextRangePos(X0,h0.pos),e.setEmitFlags(X0,1920),ut.push(X0),e.insertStatementsAfterStandardPrologue(ut,U());var l1=o0.createBlock(e.setTextRange(o0.createNodeArray(ut),Ut.members),!0);return e.setEmitFlags(l1,1536),l1}(W1,cx));e.setEmitFlags(E1,65536&e.getEmitFlags(W1)|524288);var qx=o0.createPartiallyEmittedExpression(E1);e.setTextRangeEnd(qx,W1.end),e.setEmitFlags(qx,1536);var xt=o0.createPartiallyEmittedExpression(qx);e.setTextRangeEnd(xt,e.skipTrivia(E0,W1.pos)),e.setEmitFlags(xt,1536);var ae=o0.createParenthesizedExpression(o0.createCallExpression(xt,void 0,cx?[e.visitNode(cx.expression,H,e.isExpression)]:[]));return e.addSyntheticLeadingComment(ae,3,\"* @class \"),ae}function d1(W1){if(W1.kind===243)return!0;if(W1.kind===235){var cx=W1;if(cx.elseStatement)return d1(cx.thenStatement)&&d1(cx.elseStatement)}else if(W1.kind===231){var E1=e.lastOrUndefined(W1.statements);if(E1&&d1(E1))return!0}return!1}function h1(){return e.setEmitFlags(o0.createThis(),4)}function S1(){return o0.createLogicalOr(o0.createLogicalAnd(o0.createStrictInequality(o0.createUniqueName(\"_super\",48),o0.createNull()),o0.createFunctionApplyCall(o0.createUniqueName(\"_super\",48),h1(),o0.createIdentifier(\"arguments\"))),h1())}function Q1(W1){return W1.initializer!==void 0||e.isBindingPattern(W1.name)}function Y0(W1,cx){if(!e.some(cx.parameters,Q1))return!1;for(var E1=!1,qx=0,xt=cx.parameters;qx<xt.length;qx++){var ae=xt[qx],Ut=ae.name,or=ae.initializer;ae.dotDotDotToken||(e.isBindingPattern(Ut)?E1=$1(W1,ae,Ut,or)||E1:or&&(Z1(W1,ae,Ut,or),E1=!0))}return E1}function $1(W1,cx,E1,qx){return E1.elements.length>0?(e.insertStatementAfterCustomPrologue(W1,e.setEmitFlags(o0.createVariableStatement(void 0,o0.createVariableDeclarationList(e.flattenDestructuringBinding(cx,H,i0,0,o0.getGeneratedNameForNode(cx)))),1048576)),!0):!!qx&&(e.insertStatementAfterCustomPrologue(W1,e.setEmitFlags(o0.createExpressionStatement(o0.createAssignment(o0.getGeneratedNameForNode(cx),e.visitNode(qx,H,e.isExpression))),1048576)),!0)}function Z1(W1,cx,E1,qx){qx=e.visitNode(qx,H,e.isExpression);var xt=o0.createIfStatement(o0.createTypeCheck(o0.cloneNode(E1),\"undefined\"),e.setEmitFlags(e.setTextRange(o0.createBlock([o0.createExpressionStatement(e.setEmitFlags(e.setTextRange(o0.createAssignment(e.setEmitFlags(e.setParent(e.setTextRange(o0.cloneNode(E1),E1),E1.parent),48),e.setEmitFlags(qx,1584|e.getEmitFlags(qx))),cx),1536))]),cx),1953));e.startOnNewLine(xt),e.setTextRange(xt,cx),e.setEmitFlags(xt,1050528),e.insertStatementAfterCustomPrologue(W1,xt)}function Q0(W1,cx,E1){var qx=[],xt=e.lastOrUndefined(cx.parameters);if(!function(B,h0){return!(!B||!B.dotDotDotToken||h0)}(xt,E1))return!1;var ae=xt.name.kind===78?e.setParent(e.setTextRange(o0.cloneNode(xt.name),xt.name),xt.name.parent):o0.createTempVariable(void 0);e.setEmitFlags(ae,48);var Ut=xt.name.kind===78?o0.cloneNode(xt.name):ae,or=cx.parameters.length-1,ut=o0.createLoopVariable();qx.push(e.setEmitFlags(e.setTextRange(o0.createVariableStatement(void 0,o0.createVariableDeclarationList([o0.createVariableDeclaration(ae,void 0,void 0,o0.createArrayLiteralExpression([]))])),xt),1048576));var Gr=o0.createForStatement(e.setTextRange(o0.createVariableDeclarationList([o0.createVariableDeclaration(ut,void 0,void 0,o0.createNumericLiteral(or))]),xt),e.setTextRange(o0.createLessThan(ut,o0.createPropertyAccessExpression(o0.createIdentifier(\"arguments\"),\"length\")),xt),e.setTextRange(o0.createPostfixIncrement(ut),xt),o0.createBlock([e.startOnNewLine(e.setTextRange(o0.createExpressionStatement(o0.createAssignment(o0.createElementAccessExpression(Ut,or===0?ut:o0.createSubtract(ut,o0.createNumericLiteral(or))),o0.createElementAccessExpression(o0.createIdentifier(\"arguments\"),ut))),xt))]));return e.setEmitFlags(Gr,1048576),e.startOnNewLine(Gr),qx.push(Gr),xt.name.kind!==78&&qx.push(e.setEmitFlags(e.setTextRange(o0.createVariableStatement(void 0,o0.createVariableDeclarationList(e.flattenDestructuringBinding(xt,H,i0,0,Ut))),xt),1048576)),e.insertStatementsAfterCustomPrologue(W1,qx),!0}function y1(W1,cx){return!!(32768&I&&cx.kind!==210)&&(k1(W1,cx,o0.createThis()),!0)}function k1(W1,cx,E1){Sa();var qx=o0.createVariableStatement(void 0,o0.createVariableDeclarationList([o0.createVariableDeclaration(o0.createUniqueName(\"_this\",48),void 0,void 0,E1)]));e.setEmitFlags(qx,1050112),e.setSourceMapRange(qx,cx),e.insertStatementAfterCustomPrologue(W1,qx)}function I1(W1,cx,E1){if(16384&I){var qx=void 0;switch(cx.kind){case 210:return W1;case 166:case 168:case 169:qx=o0.createVoidZero();break;case 167:qx=o0.createPropertyAccessExpression(e.setEmitFlags(o0.createThis(),4),\"constructor\");break;case 252:case 209:qx=o0.createConditionalExpression(o0.createLogicalAnd(e.setEmitFlags(o0.createThis(),4),o0.createBinaryExpression(e.setEmitFlags(o0.createThis(),4),101,o0.getLocalName(cx))),void 0,o0.createPropertyAccessExpression(e.setEmitFlags(o0.createThis(),4),\"constructor\"),void 0,o0.createVoidZero());break;default:return e.Debug.failBadSyntaxKind(cx)}var xt=o0.createVariableStatement(void 0,o0.createVariableDeclarationList([o0.createVariableDeclaration(o0.createUniqueName(\"_newTarget\",48),void 0,void 0,qx)]));e.setEmitFlags(xt,1050112),E1&&(W1=W1.slice()),e.insertStatementAfterCustomPrologue(W1,xt)}return W1}function K0(W1){return e.setTextRange(o0.createEmptyStatement(),W1)}function G1(W1,cx,E1){var qx,xt=e.getCommentRange(cx),ae=e.getSourceMapRange(cx),Ut=S0(cx,cx,void 0,E1),or=e.visitNode(cx.name,H,e.isPropertyName);if(!e.isPrivateIdentifier(or)&&e.getUseDefineForClassFields(i0.getCompilerOptions())){var ut=e.isComputedPropertyName(or)?or.expression:e.isIdentifier(or)?o0.createStringLiteral(e.unescapeLeadingUnderscores(or.escapedText)):or;qx=o0.createObjectDefinePropertyCall(W1,ut,o0.createPropertyDescriptor({value:Ut,enumerable:!1,writable:!0,configurable:!0}))}else{var Gr=e.createMemberAccessForPropertyName(o0,W1,or,cx.name);qx=o0.createAssignment(Gr,Ut)}e.setEmitFlags(Ut,1536),e.setSourceMapRange(Ut,ae);var B=e.setTextRange(o0.createExpressionStatement(qx),cx);return e.setOriginalNode(B,cx),e.setCommentRange(B,xt),e.setEmitFlags(B,48),B}function Nx(W1,cx,E1){var qx=o0.createExpressionStatement(n1(W1,cx,E1,!1));return e.setEmitFlags(qx,1536),e.setSourceMapRange(qx,e.getSourceMapRange(cx.firstAccessor)),qx}function n1(W1,cx,E1,qx){var xt=cx.firstAccessor,ae=cx.getAccessor,Ut=cx.setAccessor,or=e.setParent(e.setTextRange(o0.cloneNode(W1),W1),W1.parent);e.setEmitFlags(or,1568),e.setSourceMapRange(or,xt.name);var ut=e.visitNode(xt.name,H,e.isPropertyName);if(e.isPrivateIdentifier(ut))return e.Debug.failBadSyntaxKind(ut,\"Encountered unhandled private identifier while transforming ES2015.\");var Gr=e.createExpressionForPropertyName(o0,ut);e.setEmitFlags(Gr,1552),e.setSourceMapRange(Gr,xt.name);var B=[];if(ae){var h0=S0(ae,void 0,void 0,E1);e.setSourceMapRange(h0,e.getSourceMapRange(ae)),e.setEmitFlags(h0,512);var M=o0.createPropertyAssignment(\"get\",h0);e.setCommentRange(M,e.getCommentRange(ae)),B.push(M)}if(Ut){var X0=S0(Ut,void 0,void 0,E1);e.setSourceMapRange(X0,e.getSourceMapRange(Ut)),e.setEmitFlags(X0,512);var l1=o0.createPropertyAssignment(\"set\",X0);e.setCommentRange(l1,e.getCommentRange(Ut)),B.push(l1)}B.push(o0.createPropertyAssignment(\"enumerable\",ae||Ut?o0.createFalse():o0.createTrue()),o0.createPropertyAssignment(\"configurable\",o0.createTrue()));var Hx=o0.createCallExpression(o0.createPropertyAccessExpression(o0.createIdentifier(\"Object\"),\"defineProperty\"),void 0,[or,Gr,o0.createObjectLiteralExpression(B,!0)]);return qx&&e.startOnNewLine(Hx),Hx}function S0(W1,cx,E1,qx){var xt=Z;Z=void 0;var ae=qx&&e.isClassLike(qx)&&!e.hasSyntacticModifier(W1,32)?l0(16286,73):l0(16286,65),Ut=e.visitParameterList(W1.parameters,H,i0),or=I0(W1);return 16384&I&&!E1&&(W1.kind===252||W1.kind===209)&&(E1=o0.getGeneratedNameForNode(W1)),w0(ae,49152,0),Z=xt,e.setOriginalNode(e.setTextRange(o0.createFunctionExpression(void 0,W1.asteriskToken,E1,void 0,Ut,void 0,or),cx),W1)}function I0(W1){var cx,E1,qx,xt=!1,ae=!1,Ut=[],or=[],ut=W1.body;if(u0(),e.isBlock(ut)&&(qx=o0.copyStandardPrologue(ut.statements,Ut,!1),qx=o0.copyCustomPrologue(ut.statements,or,qx,H,e.isHoistedFunction),qx=o0.copyCustomPrologue(ut.statements,or,qx,H,e.isHoistedVariableStatement)),xt=Y0(or,W1)||xt,xt=Q0(or,W1,!1)||xt,e.isBlock(ut))qx=o0.copyCustomPrologue(ut.statements,or,qx,H),cx=ut.statements,e.addRange(or,e.visitNodes(ut.statements,H,e.isStatement,qx)),!xt&&ut.multiLine&&(xt=!0);else{e.Debug.assert(W1.kind===210),cx=e.moveRangeEnd(ut,-1);var Gr=W1.equalsGreaterThanToken;e.nodeIsSynthesized(Gr)||e.nodeIsSynthesized(ut)||(e.rangeEndIsOnSameLineAsRangeStart(Gr,ut,H0)?ae=!0:xt=!0);var B=e.visitNode(ut,H,e.isExpression),h0=o0.createReturnStatement(B);e.setTextRange(h0,ut),e.moveSyntheticComments(h0,ut),e.setEmitFlags(h0,1440),or.push(h0),E1=ut}if(o0.mergeLexicalEnvironment(Ut,U()),I1(Ut,W1,!1),y1(Ut,W1),e.some(Ut)&&(xt=!0),or.unshift.apply(or,Ut),e.isBlock(ut)&&e.arrayIsEqualTo(or,ut.statements))return ut;var M=o0.createBlock(e.setTextRange(o0.createNodeArray(or),cx),xt);return e.setTextRange(M,W1.body),!xt&&ae&&e.setEmitFlags(M,1),E1&&e.setTokenSourceMapRange(M,19,E1),e.setOriginalNode(M,W1.body),M}function U0(W1,cx){return e.isDestructuringAssignment(W1)?e.flattenDestructuringAssignment(W1,H,i0,0,!cx):W1.operatorToken.kind===27?o0.updateBinaryExpression(W1,e.visitNode(W1.left,k0,e.isExpression),W1.operatorToken,e.visitNode(W1.right,cx?k0:H,e.isExpression)):e.visitEachChild(W1,H,i0)}function p0(W1){var cx=W1.name;return e.isBindingPattern(cx)?p1(W1):!W1.initializer&&function(E1){var qx=P0.getNodeCheckFlags(E1),xt=262144&qx,ae=524288&qx;return!((64&I)!=0||xt&&ae&&(512&I)!=0)&&(4096&I)==0&&(!P0.isDeclarationWithCollidingName(E1)||ae&&!xt&&(6144&I)==0)}(W1)?o0.updateVariableDeclaration(W1,W1.name,void 0,void 0,o0.createVoidZero()):e.visitEachChild(W1,H,i0)}function p1(W1){var cx,E1=l0(32,0);return cx=e.isBindingPattern(W1.name)?e.flattenDestructuringBinding(W1,H,i0,0,void 0,(32&E1)!=0):e.visitEachChild(W1,H,i0),w0(E1,0,0),cx}function Y1(W1){Z.labels.set(e.idText(W1.label),!0)}function N1(W1){Z.labels.set(e.idText(W1.label),!1)}function V1(W1,cx,E1,qx,xt){var ae=l0(W1,cx),Ut=function(or,ut,Gr,B){if(!gt(or)){var h0=void 0;Z&&(h0=Z.allowedNonLabeledJumps,Z.allowedNonLabeledJumps=6);var M=B?B(or,ut,void 0,Gr):o0.restoreEnclosingLabel(e.isForStatement(or)?function(Ka){return o0.updateForStatement(Ka,e.visitNode(Ka.initializer,k0,e.isForInitializer),e.visitNode(Ka.condition,H,e.isExpression),e.visitNode(Ka.incrementor,k0,e.isExpression),e.visitNode(Ka.statement,H,e.isStatement,o0.liftToBlock))}(or):e.visitEachChild(or,H,i0),ut,Z&&N1);return Z&&(Z.allowedNonLabeledJumps=h0),M}var X0=function(Ka){var fe;switch(Ka.kind){case 238:case 239:case 240:var Fr=Ka.initializer;Fr&&Fr.kind===251&&(fe=Fr)}var yt=[],Fn=[];if(fe&&3&e.getCombinedNodeFlags(fe))for(var Ur=me(Ka),fa=0,Kt=fe.declarations;fa<Kt.length;fa++)Ni(Ka,Kt[fa],yt,Fn,Ur);var Fa={loopParameters:yt,loopOutParameters:Fn};return Z&&(Z.argumentsName&&(Fa.argumentsName=Z.argumentsName),Z.thisName&&(Fa.thisName=Z.thisName),Z.hoistedLocalVariables&&(Fa.hoistedLocalVariables=Z.hoistedLocalVariables)),Fa}(or),l1=[],Hx=Z;Z=X0;var ge,Pe=me(or)?function(Ka,fe){var Fr=o0.createUniqueName(\"_loop_init\"),yt=(524288&Ka.initializer.transformFlags)!=0,Fn=0;fe.containsLexicalThis&&(Fn|=8),yt&&4&I&&(Fn|=262144);var Ur=[];Ur.push(o0.createVariableStatement(void 0,Ka.initializer)),xr(fe.loopOutParameters,2,1,Ur);var fa=o0.createVariableStatement(void 0,e.setEmitFlags(o0.createVariableDeclarationList([o0.createVariableDeclaration(Fr,void 0,void 0,e.setEmitFlags(o0.createFunctionExpression(void 0,yt?o0.createToken(41):void 0,void 0,void 0,void 0,void 0,e.visitNode(o0.createBlock(Ur,!0),H,e.isBlock)),Fn))]),2097152)),Kt=o0.createVariableDeclarationList(e.map(fe.loopOutParameters,Nt));return{functionName:Fr,containsYield:yt,functionDeclaration:fa,part:Kt}}(or,X0):void 0,It=Vt(or)?function(Ka,fe,Fr){var yt=o0.createUniqueName(\"_loop\");G();var Fn=e.visitNode(Ka.statement,H,e.isStatement,o0.liftToBlock),Ur=U(),fa=[];(Re(Ka)||function(vs){return e.isForStatement(vs)&&!!vs.incrementor&&Px(vs.incrementor)}(Ka))&&(fe.conditionVariable=o0.createUniqueName(\"inc\"),Ka.incrementor?fa.push(o0.createIfStatement(fe.conditionVariable,o0.createExpressionStatement(e.visitNode(Ka.incrementor,H,e.isExpression)),o0.createExpressionStatement(o0.createAssignment(fe.conditionVariable,o0.createTrue())))):fa.push(o0.createIfStatement(o0.createLogicalNot(fe.conditionVariable),o0.createExpressionStatement(o0.createAssignment(fe.conditionVariable,o0.createTrue())))),Re(Ka)&&fa.push(o0.createIfStatement(o0.createPrefixUnaryExpression(53,e.visitNode(Ka.condition,H,e.isExpression)),e.visitNode(o0.createBreakStatement(),H,e.isStatement)))),e.isBlock(Fn)?e.addRange(fa,Fn.statements):fa.push(Fn),xr(fe.loopOutParameters,1,1,fa),e.insertStatementsAfterStandardPrologue(fa,Ur);var Kt=o0.createBlock(fa,!0);e.isBlock(Fn)&&e.setOriginalNode(Kt,Fn);var Fa=(524288&Ka.statement.transformFlags)!=0,co=524288;fe.containsLexicalThis&&(co|=8),Fa&&(4&I)!=0&&(co|=262144);var Us=o0.createVariableStatement(void 0,e.setEmitFlags(o0.createVariableDeclarationList([o0.createVariableDeclaration(yt,void 0,void 0,e.setEmitFlags(o0.createFunctionExpression(void 0,Fa?o0.createToken(41):void 0,void 0,void 0,fe.loopParameters,void 0,Kt),co))]),2097152)),qs=function(vs,sg,Cf,rc){var K8=[],zl=!(-5&sg.nonLocalJumps||sg.labeledNonLocalBreaks||sg.labeledNonLocalContinues),Xl=o0.createCallExpression(vs,void 0,e.map(sg.loopParameters,function(mC){return mC.name})),OF=rc?o0.createYieldExpression(o0.createToken(41),e.setEmitFlags(Xl,8388608)):Xl;if(zl)K8.push(o0.createExpressionStatement(OF)),xr(sg.loopOutParameters,1,0,K8);else{var BF=o0.createUniqueName(\"state\"),Qp=o0.createVariableStatement(void 0,o0.createVariableDeclarationList([o0.createVariableDeclaration(BF,void 0,void 0,OF)]));if(K8.push(Qp),xr(sg.loopOutParameters,1,0,K8),8&sg.nonLocalJumps){var kp=void 0;Cf?(Cf.nonLocalJumps|=8,kp=o0.createReturnStatement(BF)):kp=o0.createReturnStatement(o0.createPropertyAccessExpression(BF,\"value\")),K8.push(o0.createIfStatement(o0.createTypeCheck(BF,\"object\"),kp))}if(2&sg.nonLocalJumps&&K8.push(o0.createIfStatement(o0.createStrictEquality(BF,o0.createStringLiteral(\"break\")),o0.createBreakStatement())),sg.labeledNonLocalBreaks||sg.labeledNonLocalContinues){var up=[];ar(sg.labeledNonLocalBreaks,!0,BF,Cf,up),ar(sg.labeledNonLocalContinues,!1,BF,Cf,up),K8.push(o0.createSwitchStatement(BF,o0.createCaseBlock(up)))}}return K8}(yt,fe,Fr,Fa);return{functionName:yt,containsYield:Fa,functionDeclaration:Us,part:qs}}(or,X0,Hx):void 0;Z=Hx,Pe&&l1.push(Pe.functionDeclaration),It&&l1.push(It.functionDeclaration),function(Ka,fe,Fr){var yt;if(fe.argumentsName&&(Fr?Fr.argumentsName=fe.argumentsName:(yt||(yt=[])).push(o0.createVariableDeclaration(fe.argumentsName,void 0,void 0,o0.createIdentifier(\"arguments\")))),fe.thisName&&(Fr?Fr.thisName=fe.thisName:(yt||(yt=[])).push(o0.createVariableDeclaration(fe.thisName,void 0,void 0,o0.createIdentifier(\"this\")))),fe.hoistedLocalVariables)if(Fr)Fr.hoistedLocalVariables=fe.hoistedLocalVariables;else{yt||(yt=[]);for(var Fn=0,Ur=fe.hoistedLocalVariables;Fn<Ur.length;Fn++){var fa=Ur[Fn];yt.push(o0.createVariableDeclaration(fa))}}if(fe.loopOutParameters.length){yt||(yt=[]);for(var Kt=0,Fa=fe.loopOutParameters;Kt<Fa.length;Kt++){var co=Fa[Kt];yt.push(o0.createVariableDeclaration(co.outParamName))}}fe.conditionVariable&&(yt||(yt=[]),yt.push(o0.createVariableDeclaration(fe.conditionVariable,void 0,void 0,o0.createFalse()))),yt&&Ka.push(o0.createVariableStatement(void 0,o0.createVariableDeclarationList(yt)))}(l1,X0,Hx),Pe&&l1.push((Kr=Pe.functionName,pn=Pe.containsYield,rn=o0.createCallExpression(Kr,void 0,[]),_t=pn?o0.createYieldExpression(o0.createToken(41),e.setEmitFlags(rn,8388608)):rn,o0.createExpressionStatement(_t)));var Kr,pn,rn,_t;if(It)if(B)ge=B(or,ut,It.part,Gr);else{var Ii=gr(or,Pe,o0.createBlock(It.part,!0));ge=o0.restoreEnclosingLabel(Ii,ut,Z&&N1)}else{var Mn=gr(or,Pe,e.visitNode(or.statement,H,e.isStatement,o0.liftToBlock));ge=o0.restoreEnclosingLabel(Mn,ut,Z&&N1)}return l1.push(ge),l1}(E1,qx,ae,xt);return w0(ae,0,0),Ut}function Ox(W1,cx){return V1(0,1280,W1,cx)}function $x(W1,cx){return V1(5056,3328,W1,cx)}function rx(W1,cx){return V1(3008,5376,W1,cx)}function O0(W1,cx){return V1(3008,5376,W1,cx,d0.downlevelIteration?b1:O)}function C1(W1,cx,E1){var qx=[],xt=W1.initializer;if(e.isVariableDeclarationList(xt)){3&W1.initializer.flags&&Le();var ae=e.firstOrUndefined(xt.declarations);if(ae&&e.isBindingPattern(ae.name)){var Ut=e.flattenDestructuringBinding(ae,H,i0,0,cx),or=e.setTextRange(o0.createVariableDeclarationList(Ut),W1.initializer);e.setOriginalNode(or,W1.initializer),e.setSourceMapRange(or,e.createRange(Ut[0].pos,e.last(Ut).end)),qx.push(o0.createVariableStatement(void 0,or))}else qx.push(e.setTextRange(o0.createVariableStatement(void 0,e.setOriginalNode(e.setTextRange(o0.createVariableDeclarationList([o0.createVariableDeclaration(ae?ae.name:o0.createTempVariable(void 0),void 0,void 0,cx)]),e.moveRangePos(xt,-1)),xt)),e.moveRangeEnd(xt,-1)))}else{var ut=o0.createAssignment(xt,cx);e.isDestructuringAssignment(ut)?qx.push(o0.createExpressionStatement(U0(ut,!0))):(e.setTextRangeEnd(ut,xt.end),qx.push(e.setTextRange(o0.createExpressionStatement(e.visitNode(ut,H,e.isExpression)),e.moveRangeEnd(xt,-1))))}if(E1)return nx(e.addRange(qx,E1));var Gr=e.visitNode(W1.statement,H,e.isStatement,o0.liftToBlock);return e.isBlock(Gr)?o0.updateBlock(Gr,e.setTextRange(o0.createNodeArray(e.concatenate(qx,Gr.statements)),Gr.statements)):(qx.push(Gr),nx(qx))}function nx(W1){return e.setEmitFlags(o0.createBlock(o0.createNodeArray(W1),!0),432)}function O(W1,cx,E1){var qx=e.visitNode(W1.expression,H,e.isExpression),xt=o0.createLoopVariable(),ae=e.isIdentifier(qx)?o0.getGeneratedNameForNode(qx):o0.createTempVariable(void 0);e.setEmitFlags(qx,48|e.getEmitFlags(qx));var Ut=e.setTextRange(o0.createForStatement(e.setEmitFlags(e.setTextRange(o0.createVariableDeclarationList([e.setTextRange(o0.createVariableDeclaration(xt,void 0,void 0,o0.createNumericLiteral(0)),e.moveRangePos(W1.expression,-1)),e.setTextRange(o0.createVariableDeclaration(ae,void 0,void 0,qx),W1.expression)]),W1.expression),2097152),e.setTextRange(o0.createLessThan(xt,o0.createPropertyAccessExpression(ae,\"length\")),W1.expression),e.setTextRange(o0.createPostfixIncrement(xt),W1.expression),C1(W1,o0.createElementAccessExpression(ae,xt),E1)),W1);return e.setEmitFlags(Ut,256),e.setTextRange(Ut,W1),o0.restoreEnclosingLabel(Ut,cx,Z&&N1)}function b1(W1,cx,E1,qx){var xt=e.visitNode(W1.expression,H,e.isExpression),ae=e.isIdentifier(xt)?o0.getGeneratedNameForNode(xt):o0.createTempVariable(void 0),Ut=e.isIdentifier(xt)?o0.getGeneratedNameForNode(ae):o0.createTempVariable(void 0),or=o0.createUniqueName(\"e\"),ut=o0.getGeneratedNameForNode(or),Gr=o0.createTempVariable(void 0),B=e.setTextRange(j().createValuesHelper(xt),W1.expression),h0=o0.createCallExpression(o0.createPropertyAccessExpression(ae,\"next\"),void 0,[]);g0(or),g0(Gr);var M=1024&qx?o0.inlineExpressions([o0.createAssignment(or,o0.createVoidZero()),B]):B,X0=e.setEmitFlags(e.setTextRange(o0.createForStatement(e.setEmitFlags(e.setTextRange(o0.createVariableDeclarationList([e.setTextRange(o0.createVariableDeclaration(ae,void 0,void 0,M),W1.expression),o0.createVariableDeclaration(Ut,void 0,void 0,h0)]),W1.expression),2097152),o0.createLogicalNot(o0.createPropertyAccessExpression(Ut,\"done\")),o0.createAssignment(Ut,h0),C1(W1,o0.createPropertyAccessExpression(Ut,\"value\"),E1)),W1),256);return o0.createTryStatement(o0.createBlock([o0.restoreEnclosingLabel(X0,cx,Z&&N1)]),o0.createCatchClause(o0.createVariableDeclaration(ut),e.setEmitFlags(o0.createBlock([o0.createExpressionStatement(o0.createAssignment(or,o0.createObjectLiteralExpression([o0.createPropertyAssignment(\"error\",ut)])))]),1)),o0.createBlock([o0.createTryStatement(o0.createBlock([e.setEmitFlags(o0.createIfStatement(o0.createLogicalAnd(o0.createLogicalAnd(Ut,o0.createLogicalNot(o0.createPropertyAccessExpression(Ut,\"done\"))),o0.createAssignment(Gr,o0.createPropertyAccessExpression(ae,\"return\"))),o0.createExpressionStatement(o0.createFunctionCallCall(Gr,ae,[]))),1)]),void 0,e.setEmitFlags(o0.createBlock([e.setEmitFlags(o0.createIfStatement(or,o0.createThrowStatement(o0.createPropertyAccessExpression(or,\"error\"))),1)]),1))]))}function Px(W1){return(131072&P0.getNodeCheckFlags(W1))!=0}function me(W1){return e.isForStatement(W1)&&!!W1.initializer&&Px(W1.initializer)}function Re(W1){return e.isForStatement(W1)&&!!W1.condition&&Px(W1.condition)}function gt(W1){return Vt(W1)||me(W1)}function Vt(W1){return(65536&P0.getNodeCheckFlags(W1))!=0}function wr(W1,cx){W1.hoistedLocalVariables||(W1.hoistedLocalVariables=[]),function E1(qx){if(qx.kind===78)W1.hoistedLocalVariables.push(qx);else for(var xt=0,ae=qx.elements;xt<ae.length;xt++){var Ut=ae[xt];e.isOmittedExpression(Ut)||E1(Ut.name)}}(cx.name)}function gr(W1,cx,E1){switch(W1.kind){case 238:return function(qx,xt,ae){var Ut=qx.condition&&Px(qx.condition),or=Ut||qx.incrementor&&Px(qx.incrementor);return o0.updateForStatement(qx,e.visitNode(xt?xt.part:qx.initializer,k0,e.isForInitializer),e.visitNode(Ut?void 0:qx.condition,H,e.isExpression),e.visitNode(or?void 0:qx.incrementor,k0,e.isExpression),ae)}(W1,cx,E1);case 239:return function(qx,xt){return o0.updateForInStatement(qx,e.visitNode(qx.initializer,H,e.isForInitializer),e.visitNode(qx.expression,H,e.isExpression),xt)}(W1,E1);case 240:return function(qx,xt){return o0.updateForOfStatement(qx,void 0,e.visitNode(qx.initializer,H,e.isForInitializer),e.visitNode(qx.expression,H,e.isExpression),xt)}(W1,E1);case 236:return function(qx,xt){return o0.updateDoStatement(qx,xt,e.visitNode(qx.expression,H,e.isExpression))}(W1,E1);case 237:return function(qx,xt){return o0.updateWhileStatement(qx,e.visitNode(qx.expression,H,e.isExpression),xt)}(W1,E1);default:return e.Debug.failBadSyntaxKind(W1,\"IterationStatement expected\")}}function Nt(W1){return o0.createVariableDeclaration(W1.originalName,void 0,void 0,W1.outParamName)}function Ir(W1,cx){var E1=cx===0?W1.outParamName:W1.originalName,qx=cx===0?W1.originalName:W1.outParamName;return o0.createBinaryExpression(qx,62,E1)}function xr(W1,cx,E1,qx){for(var xt=0,ae=W1;xt<ae.length;xt++){var Ut=ae[xt];Ut.flags&cx&&qx.push(o0.createExpressionStatement(Ir(Ut,E1)))}}function Bt(W1,cx,E1,qx){cx?(W1.labeledNonLocalBreaks||(W1.labeledNonLocalBreaks=new e.Map),W1.labeledNonLocalBreaks.set(E1,qx)):(W1.labeledNonLocalContinues||(W1.labeledNonLocalContinues=new e.Map),W1.labeledNonLocalContinues.set(E1,qx))}function ar(W1,cx,E1,qx,xt){W1&&W1.forEach(function(ae,Ut){var or=[];if(!qx||qx.labels&&qx.labels.get(Ut)){var ut=o0.createIdentifier(Ut);or.push(cx?o0.createBreakStatement(ut):o0.createContinueStatement(ut))}else Bt(qx,cx,Ut,ae),or.push(o0.createReturnStatement(E1));xt.push(o0.createCaseClause(o0.createStringLiteral(ae),or))})}function Ni(W1,cx,E1,qx,xt){var ae=cx.name;if(e.isBindingPattern(ae))for(var Ut=0,or=ae.elements;Ut<or.length;Ut++){var ut=or[Ut];e.isOmittedExpression(ut)||Ni(W1,ut,E1,qx,xt)}else{E1.push(o0.createParameterDeclaration(void 0,void 0,void 0,ae));var Gr=P0.getNodeCheckFlags(cx);if(4194304&Gr||xt){var B=o0.createUniqueName(\"out_\"+e.idText(ae)),h0=0;4194304&Gr&&(h0|=1),e.isForStatement(W1)&&W1.initializer&&P0.isBindingCapturedByNode(W1.initializer,cx)&&(h0|=2),qx.push({flags:h0,originalName:ae,outParamName:B})}}}function Kn(W1,cx,E1){var qx=o0.createAssignment(e.createMemberAccessForPropertyName(o0,cx,e.visitNode(W1.name,H,e.isPropertyName)),e.visitNode(W1.initializer,H,e.isExpression));return e.setTextRange(qx,W1),E1&&e.startOnNewLine(qx),qx}function oi(W1,cx,E1){var qx=o0.createAssignment(e.createMemberAccessForPropertyName(o0,cx,e.visitNode(W1.name,H,e.isPropertyName)),o0.cloneNode(W1.name));return e.setTextRange(qx,W1),E1&&e.startOnNewLine(qx),qx}function Ba(W1,cx,E1,qx){var xt=o0.createAssignment(e.createMemberAccessForPropertyName(o0,cx,e.visitNode(W1.name,H,e.isPropertyName)),S0(W1,W1,void 0,E1));return e.setTextRange(xt,W1),qx&&e.startOnNewLine(xt),xt}function dt(W1,cx){if(16384&W1.transformFlags||W1.expression.kind===105||e.isSuperProperty(e.skipOuterExpressions(W1.expression))){var E1=o0.createCallBinding(W1.expression,g0),qx=E1.target,xt=E1.thisArg;W1.expression.kind===105&&e.setEmitFlags(xt,4);var ae=void 0;if(ae=16384&W1.transformFlags?o0.createFunctionApplyCall(e.visitNode(qx,V0,e.isExpression),W1.expression.kind===105?xt:e.visitNode(xt,H,e.isExpression),Gt(W1.arguments,!1,!1,!1)):e.setTextRange(o0.createFunctionCallCall(e.visitNode(qx,V0,e.isExpression),W1.expression.kind===105?xt:e.visitNode(xt,H,e.isExpression),e.visitNodes(W1.arguments,H,e.isExpression)),W1),W1.expression.kind===105){var Ut=o0.createLogicalOr(ae,h1());ae=cx?o0.createAssignment(o0.createUniqueName(\"_this\",48),Ut):Ut}return e.setOriginalNode(ae,W1)}return e.visitEachChild(W1,H,i0)}function Gt(W1,cx,E1,qx){var xt=W1.length,ae=e.flatten(e.spanMap(W1,lr,function(h0,M,X0,l1){return M(h0,E1,qx&&l1===xt)}));if(ae.length===1){var Ut=ae[0];if(!cx&&!d0.downlevelIteration||e.isPackedArrayLiteral(Ut)||e.isCallToHelper(Ut,\"___spreadArray\"))return ae[0]}for(var or=j(),ut=e.isSpreadElement(W1[0]),Gr=ut?o0.createArrayLiteralExpression():ae[0],B=ut?0:1;B<ae.length;B++)Gr=or.createSpreadArrayHelper(Gr,d0.downlevelIteration&&!e.isPackedArrayLiteral(ae[B])?or.createReadHelper(ae[B],void 0):ae[B]);return Gr}function lr(W1){return e.isSpreadElement(W1)?en:ii}function en(W1){return e.map(W1,Tt)}function ii(W1,cx,E1){return o0.createArrayLiteralExpression(e.visitNodes(o0.createNodeArray(W1,E1),H,e.isExpression),cx)}function Tt(W1){return e.visitNode(W1.expression,H,e.isExpression)}function bn(W1){return 8&I&&!W1?o0.createPropertyAccessExpression(o0.createUniqueName(\"_super\",48),\"prototype\"):o0.createUniqueName(\"_super\",48)}function Le(){(2&A0)==0&&(A0|=2,i0.enableSubstitution(78))}function Sa(){(1&A0)==0&&(A0|=1,i0.enableSubstitution(107),i0.enableEmitNotification(167),i0.enableEmitNotification(166),i0.enableEmitNotification(168),i0.enableEmitNotification(169),i0.enableEmitNotification(210),i0.enableEmitNotification(209),i0.enableEmitNotification(252))}function Yn(W1,cx){return e.hasSyntacticModifier(cx,32)?o0.getInternalName(W1):o0.createPropertyAccessExpression(o0.getInternalName(W1),\"prototype\")}}}(_0||(_0={})),function(e){e.transformES5=function(s){var X,J,m0=s.factory,s1=s.getCompilerOptions();s1.jsx!==1&&s1.jsx!==3||(X=s.onEmitNode,s.onEmitNode=function(E0,I,A){switch(I.kind){case 276:case 277:case 275:var Z=I.tagName;J[e.getOriginalNodeId(Z)]=!0}X(E0,I,A)},s.enableEmitNotification(276),s.enableEmitNotification(277),s.enableEmitNotification(275),J=[]);var i0=s.onSubstituteNode;return s.onSubstituteNode=function(E0,I){return I.id&&J&&J[I.id]?i0(E0,I):(I=i0(E0,I),e.isPropertyAccessExpression(I)?function(A){if(e.isPrivateIdentifier(A.name))return A;var Z=H0(A.name);return Z?e.setTextRange(m0.createElementAccessExpression(A.expression,Z),A):A}(I):e.isPropertyAssignment(I)?function(A){var Z=e.isIdentifier(A.name)&&H0(A.name);return Z?m0.updatePropertyAssignment(A,Z,A.initializer):A}(I):I)},s.enableSubstitution(202),s.enableSubstitution(289),e.chainBundle(s,function(E0){return E0});function H0(E0){var I=E0.originalKeywordKind||(e.nodeIsSynthesized(E0)?e.stringToToken(e.idText(E0)):void 0);if(I!==void 0&&I>=80&&I<=115)return e.setTextRange(m0.createStringLiteralFromNode(E0),E0)}}}(_0||(_0={})),function(e){var s,X,J,m0,s1;(function(i0){i0[i0.Nop=0]=\"Nop\",i0[i0.Statement=1]=\"Statement\",i0[i0.Assign=2]=\"Assign\",i0[i0.Break=3]=\"Break\",i0[i0.BreakWhenTrue=4]=\"BreakWhenTrue\",i0[i0.BreakWhenFalse=5]=\"BreakWhenFalse\",i0[i0.Yield=6]=\"Yield\",i0[i0.YieldStar=7]=\"YieldStar\",i0[i0.Return=8]=\"Return\",i0[i0.Throw=9]=\"Throw\",i0[i0.Endfinally=10]=\"Endfinally\"})(s||(s={})),function(i0){i0[i0.Open=0]=\"Open\",i0[i0.Close=1]=\"Close\"}(X||(X={})),function(i0){i0[i0.Exception=0]=\"Exception\",i0[i0.With=1]=\"With\",i0[i0.Switch=2]=\"Switch\",i0[i0.Loop=3]=\"Loop\",i0[i0.Labeled=4]=\"Labeled\"}(J||(J={})),function(i0){i0[i0.Try=0]=\"Try\",i0[i0.Catch=1]=\"Catch\",i0[i0.Finally=2]=\"Finally\",i0[i0.Done=3]=\"Done\"}(m0||(m0={})),function(i0){i0[i0.Next=0]=\"Next\",i0[i0.Throw=1]=\"Throw\",i0[i0.Return=2]=\"Return\",i0[i0.Break=3]=\"Break\",i0[i0.Yield=4]=\"Yield\",i0[i0.YieldStar=5]=\"YieldStar\",i0[i0.Catch=6]=\"Catch\",i0[i0.Endfinally=7]=\"Endfinally\"}(s1||(s1={})),e.transformGenerators=function(i0){var H0,E0,I,A,Z,A0,o0,j,G,u0,U=i0.factory,g0=i0.getEmitHelperFactory,d0=i0.resumeLexicalEnvironment,P0=i0.endLexicalEnvironment,c0=i0.hoistFunctionDeclaration,D0=i0.hoistVariableDeclaration,x0=i0.getCompilerOptions(),l0=e.getEmitScriptTarget(x0),w0=i0.getEmitResolver(),V=i0.onSubstituteNode;i0.onSubstituteNode=function(W1,cx){return cx=V(W1,cx),W1===1?function(E1){return e.isIdentifier(E1)?function(qx){if(!e.isGeneratedIdentifier(qx)&&H0&&H0.has(e.idText(qx))){var xt=e.getOriginalNode(qx);if(e.isIdentifier(xt)&&xt.parent){var ae=w0.getReferencedValueDeclaration(xt);if(ae){var Ut=E0[e.getOriginalNodeId(ae)];if(Ut){var or=e.setParent(e.setTextRange(U.cloneNode(Ut),Ut),Ut.parent);return e.setSourceMapRange(or,qx),e.setCommentRange(or,qx),or}}}}return qx}(E1):E1}(cx):cx};var w,H,k0,V0,t0,f0,y0,G0,d1,h1,S1,Q1,Y0=1,$1=0,Z1=0;return e.chainBundle(i0,function(W1){if(W1.isDeclarationFile||(1024&W1.transformFlags)==0)return W1;var cx=e.visitEachChild(W1,Q0,i0);return e.addEmitHelpers(cx,i0.readEmitHelpers()),cx});function Q0(W1){var cx=W1.transformFlags;return A?function(E1){switch(E1.kind){case 236:case 237:return function(qx){return A?(O(),qx=e.visitEachChild(qx,Q0,i0),Px(),qx):e.visitEachChild(qx,Q0,i0)}(E1);case 245:return function(qx){return A&&rx({kind:2,isScript:!0,breakLabel:-1}),qx=e.visitEachChild(qx,Q0,i0),A&&me(),qx}(E1);case 246:return function(qx){return A&&rx({kind:4,isScript:!0,labelText:e.idText(qx.label),breakLabel:-1}),qx=e.visitEachChild(qx,Q0,i0),A&&Re(),qx}(E1);default:return y1(E1)}}(W1):I?y1(W1):e.isFunctionLikeDeclaration(W1)&&W1.asteriskToken?function(E1){switch(E1.kind){case 252:return k1(E1);case 209:return I1(E1);default:return e.Debug.failBadSyntaxKind(E1)}}(W1):1024&cx?e.visitEachChild(W1,Q0,i0):W1}function y1(W1){switch(W1.kind){case 252:return k1(W1);case 209:return I1(W1);case 168:case 169:return function(cx){var E1=I,qx=A;return I=!1,A=!1,cx=e.visitEachChild(cx,Q0,i0),I=E1,A=qx,cx}(W1);case 233:return function(cx){if(524288&cx.transformFlags)return void U0(cx.declarationList);if(1048576&e.getEmitFlags(cx))return cx;for(var E1=0,qx=cx.declarationList.declarations;E1<qx.length;E1++){var xt=qx[E1];D0(xt.name)}var ae=e.getInitializedVariables(cx.declarationList);if(ae.length!==0)return e.setSourceMapRange(U.createExpressionStatement(U.inlineExpressions(e.map(ae,p0))),cx)}(W1);case 238:return function(cx){A&&O();var E1=cx.initializer;if(E1&&e.isVariableDeclarationList(E1)){for(var qx=0,xt=E1.declarations;qx<xt.length;qx++){var ae=xt[qx];D0(ae.name)}var Ut=e.getInitializedVariables(E1);cx=U.updateForStatement(cx,Ut.length>0?U.inlineExpressions(e.map(Ut,p0)):void 0,e.visitNode(cx.condition,Q0,e.isExpression),e.visitNode(cx.incrementor,Q0,e.isExpression),e.visitIterationBody(cx.statement,Q0,i0))}else cx=e.visitEachChild(cx,Q0,i0);return A&&Px(),cx}(W1);case 239:return function(cx){A&&O();var E1=cx.initializer;if(e.isVariableDeclarationList(E1)){for(var qx=0,xt=E1.declarations;qx<xt.length;qx++){var ae=xt[qx];D0(ae.name)}cx=U.updateForInStatement(cx,E1.declarations[0].name,e.visitNode(cx.expression,Q0,e.isExpression),e.visitNode(cx.statement,Q0,e.isStatement,U.liftToBlock))}else cx=e.visitEachChild(cx,Q0,i0);return A&&Px(),cx}(W1);case 242:return function(cx){if(A){var E1=Nt(cx.label&&e.idText(cx.label));if(E1>0)return ar(E1,cx)}return e.visitEachChild(cx,Q0,i0)}(W1);case 241:return function(cx){if(A){var E1=Ir(cx.label&&e.idText(cx.label));if(E1>0)return ar(E1,cx)}return e.visitEachChild(cx,Q0,i0)}(W1);case 243:return function(cx){return E1=e.visitNode(cx.expression,Q0,e.isExpression),qx=cx,e.setTextRange(U.createReturnStatement(U.createArrayLiteralExpression(E1?[Bt(2),E1]:[Bt(2)])),qx);var E1,qx}(W1);default:return 524288&W1.transformFlags?function(cx){switch(cx.kind){case 217:return function(E1){var qx=e.getExpressionAssociativity(E1);switch(qx){case 0:return function(xt){return p1(xt.right)?e.isLogicalOperator(xt.operatorToken.kind)?function(ae){var Ut=Ox(),or=V1();return oi(or,e.visitNode(ae.left,Q0,e.isExpression),ae.left),ae.operatorToken.kind===55?Gt(Ut,or,ae.left):dt(Ut,or,ae.left),oi(or,e.visitNode(ae.right,Q0,e.isExpression),ae.right),$x(Ut),or}(xt):xt.operatorToken.kind===27?G1(xt):U.updateBinaryExpression(xt,N1(e.visitNode(xt.left,Q0,e.isExpression)),xt.operatorToken,e.visitNode(xt.right,Q0,e.isExpression)):e.visitEachChild(xt,Q0,i0)}(E1);case 1:return function(xt){var ae=xt.left,Ut=xt.right;if(p1(Ut)){var or=void 0;switch(ae.kind){case 202:or=U.updatePropertyAccessExpression(ae,N1(e.visitNode(ae.expression,Q0,e.isLeftHandSideExpression)),ae.name);break;case 203:or=U.updateElementAccessExpression(ae,N1(e.visitNode(ae.expression,Q0,e.isLeftHandSideExpression)),N1(e.visitNode(ae.argumentExpression,Q0,e.isExpression)));break;default:or=e.visitNode(ae,Q0,e.isExpression)}var ut=xt.operatorToken.kind;return e.isCompoundAssignment(ut)?e.setTextRange(U.createAssignment(or,e.setTextRange(U.createBinaryExpression(N1(or),e.getNonAssignmentOperatorForCompoundAssignment(ut),e.visitNode(Ut,Q0,e.isExpression)),xt)),xt):U.updateBinaryExpression(xt,or,xt.operatorToken,e.visitNode(Ut,Q0,e.isExpression))}return e.visitEachChild(xt,Q0,i0)}(E1);default:return e.Debug.assertNever(qx)}}(cx);case 341:return function(E1){for(var qx=[],xt=0,ae=E1.elements;xt<ae.length;xt++){var Ut=ae[xt];e.isBinaryExpression(Ut)&&Ut.operatorToken.kind===27?qx.push(G1(Ut)):(p1(Ut)&&qx.length>0&&(lr(1,[U.createExpressionStatement(U.inlineExpressions(qx))]),qx=[]),qx.push(e.visitNode(Ut,Q0,e.isExpression)))}return U.inlineExpressions(qx)}(cx);case 218:return function(E1){if(p1(E1.whenTrue)||p1(E1.whenFalse)){var qx=Ox(),xt=Ox(),ae=V1();return Gt(qx,e.visitNode(E1.condition,Q0,e.isExpression),E1.condition),oi(ae,e.visitNode(E1.whenTrue,Q0,e.isExpression),E1.whenTrue),Ba(xt),$x(qx),oi(ae,e.visitNode(E1.whenFalse,Q0,e.isExpression),E1.whenFalse),$x(xt),ae}return e.visitEachChild(E1,Q0,i0)}(cx);case 220:return function(E1){var qx=Ox(),xt=e.visitNode(E1.expression,Q0,e.isExpression);return E1.asteriskToken?function(ae,Ut){lr(7,[ae],Ut)}((8388608&e.getEmitFlags(E1.expression))==0?e.setTextRange(g0().createValuesHelper(xt),E1):xt,E1):function(ae,Ut){lr(6,[ae],Ut)}(xt,E1),$x(qx),function(ae){return e.setTextRange(U.createCallExpression(U.createPropertyAccessExpression(V0,\"sent\"),void 0,[]),ae)}(E1)}(cx);case 200:return function(E1){return Nx(E1.elements,void 0,void 0,E1.multiLine)}(cx);case 201:return function(E1){var qx=E1.properties,xt=E1.multiLine,ae=Y1(qx),Ut=V1();oi(Ut,U.createObjectLiteralExpression(e.visitNodes(qx,Q0,e.isObjectLiteralElementLike,0,ae),xt));var or=e.reduceLeft(qx,ut,[],ae);return or.push(xt?e.startOnNewLine(e.setParent(e.setTextRange(U.cloneNode(Ut),Ut),Ut.parent)):Ut),U.inlineExpressions(or);function ut(Gr,B){p1(B)&&Gr.length>0&&(Kn(U.createExpressionStatement(U.inlineExpressions(Gr))),Gr=[]);var h0=e.createExpressionForObjectLiteralElementLike(U,E1,B,Ut),M=e.visitNode(h0,Q0,e.isExpression);return M&&(xt&&e.startOnNewLine(M),Gr.push(M)),Gr}}(cx);case 203:return function(E1){return p1(E1.argumentExpression)?U.updateElementAccessExpression(E1,N1(e.visitNode(E1.expression,Q0,e.isLeftHandSideExpression)),e.visitNode(E1.argumentExpression,Q0,e.isExpression)):e.visitEachChild(E1,Q0,i0)}(cx);case 204:return function(E1){if(!e.isImportCall(E1)&&e.forEach(E1.arguments,p1)){var qx=U.createCallBinding(E1.expression,D0,l0,!0),xt=qx.target,ae=qx.thisArg;return e.setOriginalNode(e.setTextRange(U.createFunctionApplyCall(N1(e.visitNode(xt,Q0,e.isLeftHandSideExpression)),ae,Nx(E1.arguments)),E1),E1)}return e.visitEachChild(E1,Q0,i0)}(cx);case 205:return function(E1){if(e.forEach(E1.arguments,p1)){var qx=U.createCallBinding(U.createPropertyAccessExpression(E1.expression,\"bind\"),D0),xt=qx.target,ae=qx.thisArg;return e.setOriginalNode(e.setTextRange(U.createNewExpression(U.createFunctionApplyCall(N1(e.visitNode(xt,Q0,e.isExpression)),ae,Nx(E1.arguments,U.createVoidZero())),void 0,[]),E1),E1)}return e.visitEachChild(E1,Q0,i0)}(cx);default:return e.visitEachChild(cx,Q0,i0)}}(W1):2098176&W1.transformFlags?e.visitEachChild(W1,Q0,i0):W1}}function k1(W1){if(W1.asteriskToken)W1=e.setOriginalNode(e.setTextRange(U.createFunctionDeclaration(void 0,W1.modifiers,void 0,W1.name,void 0,e.visitParameterList(W1.parameters,Q0,i0),void 0,K0(W1.body)),W1),W1);else{var cx=I,E1=A;I=!1,A=!1,W1=e.visitEachChild(W1,Q0,i0),I=cx,A=E1}return I?void c0(W1):W1}function I1(W1){if(W1.asteriskToken)W1=e.setOriginalNode(e.setTextRange(U.createFunctionExpression(void 0,void 0,W1.name,void 0,e.visitParameterList(W1.parameters,Q0,i0),void 0,K0(W1.body)),W1),W1);else{var cx=I,E1=A;I=!1,A=!1,W1=e.visitEachChild(W1,Q0,i0),I=cx,A=E1}return W1}function K0(W1){var cx=[],E1=I,qx=A,xt=Z,ae=A0,Ut=o0,or=j,ut=G,Gr=u0,B=Y0,h0=w,M=H,X0=k0,l1=V0;I=!0,A=!1,Z=void 0,A0=void 0,o0=void 0,j=void 0,G=void 0,u0=void 0,Y0=1,w=void 0,H=void 0,k0=void 0,V0=U.createTempVariable(void 0),d0();var Hx=U.copyPrologue(W1.statements,cx,!1,Q0);n1(W1.statements,Hx);var ge=en();return e.insertStatementsAfterStandardPrologue(cx,P0()),cx.push(U.createReturnStatement(ge)),I=E1,A=qx,Z=xt,A0=ae,o0=Ut,j=or,G=ut,u0=Gr,Y0=B,w=h0,H=M,k0=X0,V0=l1,e.setTextRange(U.createBlock(cx,W1.multiLine),W1)}function G1(W1){var cx=[];return E1(W1.left),E1(W1.right),U.inlineExpressions(cx);function E1(qx){e.isBinaryExpression(qx)&&qx.operatorToken.kind===27?(E1(qx.left),E1(qx.right)):(p1(qx)&&cx.length>0&&(lr(1,[U.createExpressionStatement(U.inlineExpressions(cx))]),cx=[]),cx.push(e.visitNode(qx,Q0,e.isExpression)))}}function Nx(W1,cx,E1,qx){var xt,ae=Y1(W1);if(ae>0){xt=V1();var Ut=e.visitNodes(W1,Q0,e.isExpression,0,ae);oi(xt,U.createArrayLiteralExpression(cx?D([cx],Ut):Ut)),cx=void 0}var or=e.reduceLeft(W1,function(ut,Gr){if(p1(Gr)&&ut.length>0){var B=xt!==void 0;xt||(xt=V1()),oi(xt,B?U.createArrayConcatCall(xt,[U.createArrayLiteralExpression(ut,qx)]):U.createArrayLiteralExpression(cx?D([cx],ut):ut,qx)),cx=void 0,ut=[]}return ut.push(e.visitNode(Gr,Q0,e.isExpression)),ut},[],ae);return xt?U.createArrayConcatCall(xt,[U.createArrayLiteralExpression(or,qx)]):e.setTextRange(U.createArrayLiteralExpression(cx?D([cx],or):or,qx),E1)}function n1(W1,cx){cx===void 0&&(cx=0);for(var E1=W1.length,qx=cx;qx<E1;qx++)I0(W1[qx])}function S0(W1){e.isBlock(W1)?n1(W1.statements):I0(W1)}function I0(W1){var cx=A;A||(A=p1(W1)),function(E1){switch(E1.kind){case 231:return function(qx){p1(qx)?n1(qx.statements):Kn(e.visitNode(qx,Q0,e.isStatement))}(E1);case 234:return function(qx){Kn(e.visitNode(qx,Q0,e.isStatement))}(E1);case 235:return function(qx){if(p1(qx))if(p1(qx.thenStatement)||p1(qx.elseStatement)){var xt=Ox(),ae=qx.elseStatement?Ox():void 0;Gt(qx.elseStatement?ae:xt,e.visitNode(qx.expression,Q0,e.isExpression),qx.expression),S0(qx.thenStatement),qx.elseStatement&&(Ba(xt),$x(ae),S0(qx.elseStatement)),$x(xt)}else Kn(e.visitNode(qx,Q0,e.isStatement));else Kn(e.visitNode(qx,Q0,e.isStatement))}(E1);case 236:return function(qx){if(p1(qx)){var xt=Ox(),ae=Ox();b1(xt),$x(ae),S0(qx.statement),$x(xt),dt(ae,e.visitNode(qx.expression,Q0,e.isExpression)),Px()}else Kn(e.visitNode(qx,Q0,e.isStatement))}(E1);case 237:return function(qx){if(p1(qx)){var xt=Ox(),ae=b1(xt);$x(xt),Gt(ae,e.visitNode(qx.expression,Q0,e.isExpression)),S0(qx.statement),Ba(xt),Px()}else Kn(e.visitNode(qx,Q0,e.isStatement))}(E1);case 238:return function(qx){if(p1(qx)){var xt=Ox(),ae=Ox(),Ut=b1(ae);if(qx.initializer){var or=qx.initializer;e.isVariableDeclarationList(or)?U0(or):Kn(e.setTextRange(U.createExpressionStatement(e.visitNode(or,Q0,e.isExpression)),or))}$x(xt),qx.condition&&Gt(Ut,e.visitNode(qx.condition,Q0,e.isExpression)),S0(qx.statement),$x(ae),qx.incrementor&&Kn(e.setTextRange(U.createExpressionStatement(e.visitNode(qx.incrementor,Q0,e.isExpression)),qx.incrementor)),Ba(xt),Px()}else Kn(e.visitNode(qx,Q0,e.isStatement))}(E1);case 239:return function(qx){if(p1(qx)){var xt=V1(),ae=V1(),Ut=U.createLoopVariable(),or=qx.initializer;D0(Ut),oi(xt,U.createArrayLiteralExpression()),Kn(U.createForInStatement(ae,e.visitNode(qx.expression,Q0,e.isExpression),U.createExpressionStatement(U.createCallExpression(U.createPropertyAccessExpression(xt,\"push\"),void 0,[ae])))),oi(Ut,U.createNumericLiteral(0));var ut=Ox(),Gr=Ox(),B=b1(Gr);$x(ut),Gt(B,U.createLessThan(Ut,U.createPropertyAccessExpression(xt,\"length\")));var h0=void 0;if(e.isVariableDeclarationList(or)){for(var M=0,X0=or.declarations;M<X0.length;M++){var l1=X0[M];D0(l1.name)}h0=U.cloneNode(or.declarations[0].name)}else h0=e.visitNode(or,Q0,e.isExpression),e.Debug.assert(e.isLeftHandSideExpression(h0));oi(h0,U.createElementAccessExpression(xt,Ut)),S0(qx.statement),$x(Gr),Kn(U.createExpressionStatement(U.createPostfixIncrement(Ut))),Ba(ut),Px()}else Kn(e.visitNode(qx,Q0,e.isStatement))}(E1);case 241:return function(qx){var xt=Ir(qx.label?e.idText(qx.label):void 0);xt>0?Ba(xt,qx):Kn(qx)}(E1);case 242:return function(qx){var xt=Nt(qx.label?e.idText(qx.label):void 0);xt>0?Ba(xt,qx):Kn(qx)}(E1);case 243:return function(qx){xt=e.visitNode(qx.expression,Q0,e.isExpression),ae=qx,lr(8,[xt],ae);var xt,ae}(E1);case 244:return function(qx){p1(qx)?(xt=N1(e.visitNode(qx.expression,Q0,e.isExpression)),ae=Ox(),Ut=Ox(),$x(ae),rx({kind:1,expression:xt,startLabel:ae,endLabel:Ut}),S0(qx.statement),e.Debug.assert(nx()===1),$x(O0().endLabel)):Kn(e.visitNode(qx,Q0,e.isStatement));var xt,ae,Ut}(E1);case 245:return function(qx){if(p1(qx.caseBlock)){for(var xt=qx.caseBlock,ae=xt.clauses.length,Ut=(rx({kind:2,isScript:!1,breakLabel:Hx=Ox()}),Hx),or=N1(e.visitNode(qx.expression,Q0,e.isExpression)),ut=[],Gr=-1,B=0;B<ae;B++){var h0=xt.clauses[B];ut.push(Ox()),h0.kind===286&&Gr===-1&&(Gr=B)}for(var M=0,X0=[];M<ae;){var l1=0;for(B=M;B<ae;B++)if((h0=xt.clauses[B]).kind===285){if(p1(h0.expression)&&X0.length>0)break;X0.push(U.createCaseClause(e.visitNode(h0.expression,Q0,e.isExpression),[ar(ut[B],h0.expression)]))}else l1++;X0.length&&(Kn(U.createSwitchStatement(or,U.createCaseBlock(X0))),M+=X0.length,X0=[]),l1>0&&(M+=l1,l1=0)}for(Ba(Gr>=0?ut[Gr]:Ut),B=0;B<ae;B++)$x(ut[B]),n1(xt.clauses[B].statements);me()}else Kn(e.visitNode(qx,Q0,e.isStatement));var Hx}(E1);case 246:return function(qx){p1(qx)?(xt=e.idText(qx.label),ae=Ox(),rx({kind:4,isScript:!1,labelText:xt,breakLabel:ae}),S0(qx.statement),Re()):Kn(e.visitNode(qx,Q0,e.isStatement));var xt,ae}(E1);case 247:return function(qx){var xt;ae=e.visitNode((xt=qx.expression)!==null&&xt!==void 0?xt:U.createVoidZero(),Q0,e.isExpression),Ut=qx,lr(9,[ae],Ut);var ae,Ut}(E1);case 248:return function(qx){p1(qx)?(xt=Ox(),ae=Ox(),$x(xt),rx({kind:0,state:0,startLabel:xt,endLabel:ae}),Ni(),S0(qx.tryBlock),qx.catchClause&&(function(Ut){var or;if(e.Debug.assert(nx()===0),e.isGeneratedIdentifier(Ut.name))or=Ut.name,D0(Ut.name);else{var ut=e.idText(Ut.name);or=V1(ut),H0||(H0=new e.Map,E0=[],i0.enableSubstitution(78)),H0.set(ut,!0),E0[e.getOriginalNodeId(Ut)]=or}var Gr=C1();e.Debug.assert(Gr.state<1),Ba(Gr.endLabel);var B=Ox();$x(B),Gr.state=1,Gr.catchVariable=or,Gr.catchLabel=B,oi(or,U.createCallExpression(U.createPropertyAccessExpression(V0,\"sent\"),void 0,[])),Ni()}(qx.catchClause.variableDeclaration),S0(qx.catchClause.block)),qx.finallyBlock&&(function(){e.Debug.assert(nx()===0);var Ut=C1();e.Debug.assert(Ut.state<2),Ba(Ut.endLabel);var or=Ox();$x(or),Ut.state=2,Ut.finallyLabel=or}(),S0(qx.finallyBlock)),function(){e.Debug.assert(nx()===0);var Ut=O0();Ut.state<2?Ba(Ut.endLabel):lr(10),$x(Ut.endLabel),Ni(),Ut.state=3}()):Kn(e.visitEachChild(qx,Q0,i0));var xt,ae}(E1);default:Kn(e.visitNode(E1,Q0,e.isStatement))}}(W1),A=cx}function U0(W1){for(var cx=0,E1=W1.declarations;cx<E1.length;cx++){var qx=E1[cx],xt=U.cloneNode(qx.name);e.setCommentRange(xt,qx.name),D0(xt)}for(var ae=e.getInitializedVariables(W1),Ut=ae.length,or=0,ut=[];or<Ut;){for(var Gr=or;Gr<Ut&&!(p1((qx=ae[Gr]).initializer)&&ut.length>0);Gr++)ut.push(p0(qx));ut.length&&(Kn(U.createExpressionStatement(U.inlineExpressions(ut))),or+=ut.length,ut=[])}}function p0(W1){return e.setSourceMapRange(U.createAssignment(e.setSourceMapRange(U.cloneNode(W1.name),W1.name),e.visitNode(W1.initializer,Q0,e.isExpression)),W1)}function p1(W1){return!!W1&&(524288&W1.transformFlags)!=0}function Y1(W1){for(var cx=W1.length,E1=0;E1<cx;E1++)if(p1(W1[E1]))return E1;return-1}function N1(W1){if(e.isGeneratedIdentifier(W1)||4096&e.getEmitFlags(W1))return W1;var cx=U.createTempVariable(D0);return oi(cx,W1,W1),cx}function V1(W1){var cx=W1?U.createUniqueName(W1):U.createTempVariable(void 0);return D0(cx),cx}function Ox(){G||(G=[]);var W1=Y0;return Y0++,G[W1]=-1,W1}function $x(W1){e.Debug.assert(G!==void 0,\"No labels were defined.\"),G[W1]=w?w.length:0}function rx(W1){Z||(Z=[],o0=[],A0=[],j=[]);var cx=o0.length;return o0[cx]=0,A0[cx]=w?w.length:0,Z[cx]=W1,j.push(W1),cx}function O0(){var W1=C1();if(W1===void 0)return e.Debug.fail(\"beginBlock was never called.\");var cx=o0.length;return o0[cx]=1,A0[cx]=w?w.length:0,Z[cx]=W1,j.pop(),W1}function C1(){return e.lastOrUndefined(j)}function nx(){var W1=C1();return W1&&W1.kind}function O(){rx({kind:3,isScript:!0,breakLabel:-1,continueLabel:-1})}function b1(W1){var cx=Ox();return rx({kind:3,isScript:!1,breakLabel:cx,continueLabel:W1}),cx}function Px(){e.Debug.assert(nx()===3);var W1=O0(),cx=W1.breakLabel;W1.isScript||$x(cx)}function me(){e.Debug.assert(nx()===2);var W1=O0(),cx=W1.breakLabel;W1.isScript||$x(cx)}function Re(){e.Debug.assert(nx()===4);var W1=O0();W1.isScript||$x(W1.breakLabel)}function gt(W1){return W1.kind===2||W1.kind===3}function Vt(W1){return W1.kind===4}function wr(W1){return W1.kind===3}function gr(W1,cx){for(var E1=cx;E1>=0;E1--){var qx=j[E1];if(!Vt(qx))break;if(qx.labelText===W1)return!0}return!1}function Nt(W1){if(j)if(W1){for(var cx=j.length-1;cx>=0;cx--)if(Vt(E1=j[cx])&&E1.labelText===W1||gt(E1)&&gr(W1,cx-1))return E1.breakLabel}else for(cx=j.length-1;cx>=0;cx--){var E1;if(gt(E1=j[cx]))return E1.breakLabel}return 0}function Ir(W1){if(j)if(W1){for(var cx=j.length-1;cx>=0;cx--)if(wr(E1=j[cx])&&gr(W1,cx-1))return E1.continueLabel}else for(cx=j.length-1;cx>=0;cx--){var E1;if(wr(E1=j[cx]))return E1.continueLabel}return 0}function xr(W1){if(W1!==void 0&&W1>0){u0===void 0&&(u0=[]);var cx=U.createNumericLiteral(-1);return u0[W1]===void 0?u0[W1]=[cx]:u0[W1].push(cx),cx}return U.createOmittedExpression()}function Bt(W1){var cx=U.createNumericLiteral(W1);return e.addSyntheticTrailingComment(cx,3,function(E1){switch(E1){case 2:return\"return\";case 3:return\"break\";case 4:return\"yield\";case 5:return\"yield*\";case 7:return\"endfinally\";default:return}}(W1)),cx}function ar(W1,cx){return e.Debug.assertLessThan(0,W1,\"Invalid label\"),e.setTextRange(U.createReturnStatement(U.createArrayLiteralExpression([Bt(3),xr(W1)])),cx)}function Ni(){lr(0)}function Kn(W1){W1?lr(1,[W1]):Ni()}function oi(W1,cx,E1){lr(2,[W1,cx],E1)}function Ba(W1,cx){lr(3,[W1],cx)}function dt(W1,cx,E1){lr(4,[W1,cx],E1)}function Gt(W1,cx,E1){lr(5,[W1,cx],E1)}function lr(W1,cx,E1){w===void 0&&(w=[],H=[],k0=[]),G===void 0&&$x(Ox());var qx=w.length;w[qx]=W1,H[qx]=cx,k0[qx]=E1}function en(){$1=0,Z1=0,t0=void 0,f0=!1,y0=!1,G0=void 0,d1=void 0,h1=void 0,S1=void 0,Q1=void 0;var W1=function(){if(w){for(var cx=0;cx<w.length;cx++)Le(cx);ii(w.length)}else ii(0);if(G0){var E1=U.createPropertyAccessExpression(V0,\"label\"),qx=U.createSwitchStatement(E1,U.createCaseBlock(G0));return[e.startOnNewLine(qx)]}return d1||[]}();return g0().createGeneratorHelper(e.setEmitFlags(U.createFunctionExpression(void 0,void 0,void 0,void 0,[U.createParameterDeclaration(void 0,void 0,void 0,V0)],void 0,U.createBlock(W1,W1.length>0)),524288))}function ii(W1){(function(cx){if(!y0)return!0;if(!G||!u0)return!1;for(var E1=0;E1<G.length;E1++)if(G[E1]===cx&&u0[E1])return!0;return!1})(W1)&&(bn(W1),Q1=void 0,Yn(void 0,void 0)),d1&&G0&&Tt(!1),function(){if(u0!==void 0&&t0!==void 0)for(var cx=0;cx<t0.length;cx++){var E1=t0[cx];if(E1!==void 0)for(var qx=0,xt=E1;qx<xt.length;qx++){var ae=xt[qx],Ut=u0[ae];if(Ut!==void 0)for(var or=0,ut=Ut;or<ut.length;or++)ut[or].text=String(cx)}}}()}function Tt(W1){if(G0||(G0=[]),d1){if(Q1)for(var cx=Q1.length-1;cx>=0;cx--){var E1=Q1[cx];d1=[U.createWithStatement(E1.expression,U.createBlock(d1))]}if(S1){var qx=S1.startLabel,xt=S1.catchLabel,ae=S1.finallyLabel,Ut=S1.endLabel;d1.unshift(U.createExpressionStatement(U.createCallExpression(U.createPropertyAccessExpression(U.createPropertyAccessExpression(V0,\"trys\"),\"push\"),void 0,[U.createArrayLiteralExpression([xr(qx),xr(xt),xr(ae),xr(Ut)])]))),S1=void 0}W1&&d1.push(U.createExpressionStatement(U.createAssignment(U.createPropertyAccessExpression(V0,\"label\"),U.createNumericLiteral(Z1+1))))}G0.push(U.createCaseClause(U.createNumericLiteral(Z1),d1||[])),d1=void 0}function bn(W1){if(G)for(var cx=0;cx<G.length;cx++)G[cx]===W1&&(d1&&(Tt(!f0),f0=!1,y0=!1,Z1++),t0===void 0&&(t0=[]),t0[Z1]===void 0?t0[Z1]=[cx]:t0[Z1].push(cx))}function Le(W1){if(bn(W1),function(or){if(Z)for(;$1<o0.length&&A0[$1]<=or;$1++){var ut=Z[$1],Gr=o0[$1];switch(ut.kind){case 0:Gr===0?(h1||(h1=[]),d1||(d1=[]),h1.push(S1),S1=ut):Gr===1&&(S1=h1.pop());break;case 1:Gr===0?(Q1||(Q1=[]),Q1.push(ut)):Gr===1&&Q1.pop()}}}(W1),!f0){f0=!1,y0=!1;var cx=w[W1];if(cx!==0){if(cx===10)return f0=!0,void Sa(U.createReturnStatement(U.createArrayLiteralExpression([Bt(7)])));var E1=H[W1];if(cx===1)return Sa(E1[0]);var qx,xt,ae,Ut=k0[W1];switch(cx){case 2:return qx=E1[0],xt=E1[1],ae=Ut,void Sa(e.setTextRange(U.createExpressionStatement(U.createAssignment(qx,xt)),ae));case 3:return function(or,ut){f0=!0,Sa(e.setEmitFlags(e.setTextRange(U.createReturnStatement(U.createArrayLiteralExpression([Bt(3),xr(or)])),ut),384))}(E1[0],Ut);case 4:return function(or,ut,Gr){Sa(e.setEmitFlags(U.createIfStatement(ut,e.setEmitFlags(e.setTextRange(U.createReturnStatement(U.createArrayLiteralExpression([Bt(3),xr(or)])),Gr),384)),1))}(E1[0],E1[1],Ut);case 5:return function(or,ut,Gr){Sa(e.setEmitFlags(U.createIfStatement(U.createLogicalNot(ut),e.setEmitFlags(e.setTextRange(U.createReturnStatement(U.createArrayLiteralExpression([Bt(3),xr(or)])),Gr),384)),1))}(E1[0],E1[1],Ut);case 6:return function(or,ut){f0=!0,Sa(e.setEmitFlags(e.setTextRange(U.createReturnStatement(U.createArrayLiteralExpression(or?[Bt(4),or]:[Bt(4)])),ut),384))}(E1[0],Ut);case 7:return function(or,ut){f0=!0,Sa(e.setEmitFlags(e.setTextRange(U.createReturnStatement(U.createArrayLiteralExpression([Bt(5),or])),ut),384))}(E1[0],Ut);case 8:return Yn(E1[0],Ut);case 9:return function(or,ut){f0=!0,y0=!0,Sa(e.setTextRange(U.createThrowStatement(or),ut))}(E1[0],Ut)}}}}function Sa(W1){W1&&(d1?d1.push(W1):d1=[W1])}function Yn(W1,cx){f0=!0,y0=!0,Sa(e.setEmitFlags(e.setTextRange(U.createReturnStatement(U.createArrayLiteralExpression(W1?[Bt(2),W1]:[Bt(2)])),cx),384))}}}(_0||(_0={})),function(e){e.transformModule=function(X){var J=X.factory,m0=X.getEmitHelperFactory,s1=X.startLexicalEnvironment,i0=X.endLexicalEnvironment,H0=X.hoistVariableDeclaration,E0=X.getCompilerOptions(),I=X.getEmitResolver(),A=X.getEmitHost(),Z=e.getEmitScriptTarget(E0),A0=e.getEmitModuleKind(E0),o0=X.onSubstituteNode,j=X.onEmitNode;X.onSubstituteNode=function(I0,U0){return(U0=o0(I0,U0)).id&&U[U0.id]?U0:I0===1?function(p0){switch(p0.kind){case 78:return n1(p0);case 217:return function(p1){if(e.isAssignmentOperator(p1.operatorToken.kind)&&e.isIdentifier(p1.left)&&!e.isGeneratedIdentifier(p1.left)&&!e.isLocalName(p1.left)&&!e.isDeclarationNameOfEnumOrNamespace(p1.left)){var Y1=S0(p1.left);if(Y1){for(var N1=p1,V1=0,Ox=Y1;V1<Ox.length;V1++){var $x=Ox[V1];U[e.getNodeId(N1)]=!0,N1=G1($x,N1,p1)}return N1}}return p1}(p0);case 216:case 215:return function(p1){if((p1.operator===45||p1.operator===46)&&e.isIdentifier(p1.operand)&&!e.isGeneratedIdentifier(p1.operand)&&!e.isLocalName(p1.operand)&&!e.isDeclarationNameOfEnumOrNamespace(p1.operand)){var Y1=S0(p1.operand);if(Y1){for(var N1=p1.kind===216?e.setTextRange(J.createPrefixUnaryExpression(p1.operator,p1.operand),p1):p1,V1=0,Ox=Y1;V1<Ox.length;V1++){var $x=Ox[V1];U[e.getNodeId(N1)]=!0,N1=G1($x,N1)}return p1.kind===216&&(U[e.getNodeId(N1)]=!0,N1=p1.operator===45?J.createSubtract(N1,J.createNumericLiteral(1)):J.createAdd(N1,J.createNumericLiteral(1))),N1}}return p1}(p0)}return p0}(U0):e.isShorthandPropertyAssignment(U0)?function(p0){var p1=p0.name,Y1=n1(p1);if(Y1!==p1){if(p0.objectAssignmentInitializer){var N1=J.createAssignment(Y1,p0.objectAssignmentInitializer);return e.setTextRange(J.createPropertyAssignment(p1,N1),p0)}return e.setTextRange(J.createPropertyAssignment(p1,Y1),p0)}return p0}(U0):U0},X.onEmitNode=function(I0,U0,p0){U0.kind===298?(G=U0,u0=d0[e.getOriginalNodeId(G)],U=[],j(I0,U0,p0),G=void 0,u0=void 0,U=void 0):j(I0,U0,p0)},X.enableSubstitution(78),X.enableSubstitution(217),X.enableSubstitution(215),X.enableSubstitution(216),X.enableSubstitution(290),X.enableEmitNotification(298);var G,u0,U,g0,d0=[],P0=[];return e.chainBundle(X,function(I0){if(I0.isDeclarationFile||!(e.isEffectiveExternalModule(I0,E0)||4194304&I0.transformFlags||e.isJsonSourceFile(I0)&&e.hasJsonModuleEmitEnabled(E0)&&e.outFile(E0)))return I0;G=I0,u0=e.collectExternalModuleInfo(X,I0,I,E0),d0[e.getOriginalNodeId(I0)]=u0;var U0=function(p0){switch(p0){case e.ModuleKind.AMD:return x0;case e.ModuleKind.UMD:return l0;default:return D0}}(A0)(I0);return G=void 0,u0=void 0,g0=!1,U0});function c0(){return!(u0.exportEquals||!e.isExternalModule(G))}function D0(I0){s1();var U0=[],p0=e.getStrictOptionValue(E0,\"alwaysStrict\")||!E0.noImplicitUseStrict&&e.isExternalModule(G),p1=J.copyPrologue(I0.statements,U0,p0&&!e.isJsonSourceFile(I0),k0);if(c0()&&e.append(U0,K0()),e.length(u0.exportedNames))for(var Y1=0;Y1<u0.exportedNames.length;Y1+=50)e.append(U0,J.createExpressionStatement(e.reduceLeft(u0.exportedNames.slice(Y1,Y1+50),function(V1,Ox){return J.createAssignment(J.createPropertyAccessExpression(J.createIdentifier(\"exports\"),J.createIdentifier(e.idText(Ox))),V1)},J.createVoidZero())));e.append(U0,e.visitNode(u0.externalHelpersImportDeclaration,k0,e.isStatement)),e.addRange(U0,e.visitNodes(I0.statements,k0,e.isStatement,p1)),H(U0,!1),e.insertStatementsAfterStandardPrologue(U0,i0());var N1=J.updateSourceFile(I0,e.setTextRange(J.createNodeArray(U0),I0.statements));return e.addEmitHelpers(N1,X.readEmitHelpers()),N1}function x0(I0){var U0=J.createIdentifier(\"define\"),p0=e.tryGetModuleNameFromFile(J,I0,A,E0),p1=e.isJsonSourceFile(I0)&&I0,Y1=w0(I0,!0),N1=Y1.aliasedModuleNames,V1=Y1.unaliasedModuleNames,Ox=Y1.importAliasNames,$x=J.updateSourceFile(I0,e.setTextRange(J.createNodeArray([J.createExpressionStatement(J.createCallExpression(U0,void 0,D(D([],p0?[p0]:[]),[J.createArrayLiteralExpression(p1?e.emptyArray:D(D([J.createStringLiteral(\"require\"),J.createStringLiteral(\"exports\")],N1),V1)),p1?p1.statements.length?p1.statements[0].expression:J.createObjectLiteralExpression():J.createFunctionExpression(void 0,void 0,void 0,void 0,D([J.createParameterDeclaration(void 0,void 0,void 0,\"require\"),J.createParameterDeclaration(void 0,void 0,void 0,\"exports\")],Ox),void 0,w(I0))])))]),I0.statements));return e.addEmitHelpers($x,X.readEmitHelpers()),$x}function l0(I0){var U0=w0(I0,!1),p0=U0.aliasedModuleNames,p1=U0.unaliasedModuleNames,Y1=U0.importAliasNames,N1=e.tryGetModuleNameFromFile(J,I0,A,E0),V1=J.createFunctionExpression(void 0,void 0,void 0,void 0,[J.createParameterDeclaration(void 0,void 0,void 0,\"factory\")],void 0,e.setTextRange(J.createBlock([J.createIfStatement(J.createLogicalAnd(J.createTypeCheck(J.createIdentifier(\"module\"),\"object\"),J.createTypeCheck(J.createPropertyAccessExpression(J.createIdentifier(\"module\"),\"exports\"),\"object\")),J.createBlock([J.createVariableStatement(void 0,[J.createVariableDeclaration(\"v\",void 0,void 0,J.createCallExpression(J.createIdentifier(\"factory\"),void 0,[J.createIdentifier(\"require\"),J.createIdentifier(\"exports\")]))]),e.setEmitFlags(J.createIfStatement(J.createStrictInequality(J.createIdentifier(\"v\"),J.createIdentifier(\"undefined\")),J.createExpressionStatement(J.createAssignment(J.createPropertyAccessExpression(J.createIdentifier(\"module\"),\"exports\"),J.createIdentifier(\"v\")))),1)]),J.createIfStatement(J.createLogicalAnd(J.createTypeCheck(J.createIdentifier(\"define\"),\"function\"),J.createPropertyAccessExpression(J.createIdentifier(\"define\"),\"amd\")),J.createBlock([J.createExpressionStatement(J.createCallExpression(J.createIdentifier(\"define\"),void 0,D(D([],N1?[N1]:[]),[J.createArrayLiteralExpression(D(D([J.createStringLiteral(\"require\"),J.createStringLiteral(\"exports\")],p0),p1)),J.createIdentifier(\"factory\")])))])))],!0),void 0)),Ox=J.updateSourceFile(I0,e.setTextRange(J.createNodeArray([J.createExpressionStatement(J.createCallExpression(V1,void 0,[J.createFunctionExpression(void 0,void 0,void 0,void 0,D([J.createParameterDeclaration(void 0,void 0,void 0,\"require\"),J.createParameterDeclaration(void 0,void 0,void 0,\"exports\")],Y1),void 0,w(I0))]))]),I0.statements));return e.addEmitHelpers(Ox,X.readEmitHelpers()),Ox}function w0(I0,U0){for(var p0=[],p1=[],Y1=[],N1=0,V1=I0.amdDependencies;N1<V1.length;N1++){var Ox=V1[N1];Ox.name?(p0.push(J.createStringLiteral(Ox.path)),Y1.push(J.createParameterDeclaration(void 0,void 0,void 0,Ox.name))):p1.push(J.createStringLiteral(Ox.path))}for(var $x=0,rx=u0.externalImports;$x<rx.length;$x++){var O0=rx[$x],C1=e.getExternalModuleNameLiteral(J,O0,G,A,I,E0),nx=e.getLocalNameForExternalImport(J,O0,G);C1&&(U0&&nx?(e.setEmitFlags(nx,4),p0.push(C1),Y1.push(J.createParameterDeclaration(void 0,void 0,void 0,nx))):p1.push(C1))}return{aliasedModuleNames:p0,unaliasedModuleNames:p1,importAliasNames:Y1}}function V(I0){if(!e.isImportEqualsDeclaration(I0)&&!e.isExportDeclaration(I0)&&e.getExternalModuleNameLiteral(J,I0,G,A,I,E0)){var U0=e.getLocalNameForExternalImport(J,I0,G),p0=G0(I0,U0);if(p0!==U0)return J.createExpressionStatement(J.createAssignment(U0,p0))}}function w(I0){s1();var U0=[],p0=J.copyPrologue(I0.statements,U0,!E0.noImplicitUseStrict,k0);c0()&&e.append(U0,K0()),e.length(u0.exportedNames)&&e.append(U0,J.createExpressionStatement(e.reduceLeft(u0.exportedNames,function(Y1,N1){return J.createAssignment(J.createPropertyAccessExpression(J.createIdentifier(\"exports\"),J.createIdentifier(e.idText(N1))),Y1)},J.createVoidZero()))),e.append(U0,e.visitNode(u0.externalHelpersImportDeclaration,k0,e.isStatement)),A0===e.ModuleKind.AMD&&e.addRange(U0,e.mapDefined(u0.externalImports,V)),e.addRange(U0,e.visitNodes(I0.statements,k0,e.isStatement,p0)),H(U0,!0),e.insertStatementsAfterStandardPrologue(U0,i0());var p1=J.createBlock(U0,!0);return g0&&e.addEmitHelper(p1,s),p1}function H(I0,U0){if(u0.exportEquals){var p0=e.visitNode(u0.exportEquals.expression,V0);if(p0)if(U0){var p1=J.createReturnStatement(p0);e.setTextRange(p1,u0.exportEquals),e.setEmitFlags(p1,1920),I0.push(p1)}else p1=J.createExpressionStatement(J.createAssignment(J.createPropertyAccessExpression(J.createIdentifier(\"module\"),\"exports\"),p0)),e.setTextRange(p1,u0.exportEquals),e.setEmitFlags(p1,1536),I0.push(p1)}}function k0(I0){switch(I0.kind){case 262:return function(U0){var p0,p1=e.getNamespaceDeclarationNode(U0);if(A0!==e.ModuleKind.AMD){if(!U0.importClause)return e.setOriginalNode(e.setTextRange(J.createExpressionStatement(d1(U0)),U0),U0);var Y1=[];p1&&!e.isDefaultImport(U0)?Y1.push(J.createVariableDeclaration(J.cloneNode(p1.name),void 0,void 0,G0(U0,d1(U0)))):(Y1.push(J.createVariableDeclaration(J.getGeneratedNameForNode(U0),void 0,void 0,G0(U0,d1(U0)))),p1&&e.isDefaultImport(U0)&&Y1.push(J.createVariableDeclaration(J.cloneNode(p1.name),void 0,void 0,J.getGeneratedNameForNode(U0)))),p0=e.append(p0,e.setOriginalNode(e.setTextRange(J.createVariableStatement(void 0,J.createVariableDeclarationList(Y1,Z>=2?2:0)),U0),U0))}else p1&&e.isDefaultImport(U0)&&(p0=e.append(p0,J.createVariableStatement(void 0,J.createVariableDeclarationList([e.setOriginalNode(e.setTextRange(J.createVariableDeclaration(J.cloneNode(p1.name),void 0,void 0,J.getGeneratedNameForNode(U0)),U0),U0)],Z>=2?2:0))));if(Q1(U0)){var N1=e.getOriginalNodeId(U0);P0[N1]=Y0(P0[N1],U0)}else p0=Y0(p0,U0);return e.singleOrMany(p0)}(I0);case 261:return function(U0){var p0;if(e.Debug.assert(e.isExternalModuleImportEqualsDeclaration(U0),\"import= for internal module references should be handled in an earlier transformer.\"),A0!==e.ModuleKind.AMD?p0=e.hasSyntacticModifier(U0,1)?e.append(p0,e.setOriginalNode(e.setTextRange(J.createExpressionStatement(G1(U0.name,d1(U0))),U0),U0)):e.append(p0,e.setOriginalNode(e.setTextRange(J.createVariableStatement(void 0,J.createVariableDeclarationList([J.createVariableDeclaration(J.cloneNode(U0.name),void 0,void 0,d1(U0))],Z>=2?2:0)),U0),U0)):e.hasSyntacticModifier(U0,1)&&(p0=e.append(p0,e.setOriginalNode(e.setTextRange(J.createExpressionStatement(G1(J.getExportName(U0),J.getLocalName(U0))),U0),U0))),Q1(U0)){var p1=e.getOriginalNodeId(U0);P0[p1]=$1(P0[p1],U0)}else p0=$1(p0,U0);return e.singleOrMany(p0)}(I0);case 268:return function(U0){if(!!U0.moduleSpecifier){var p0=J.getGeneratedNameForNode(U0);if(U0.exportClause&&e.isNamedExports(U0.exportClause)){var p1=[];A0!==e.ModuleKind.AMD&&p1.push(e.setOriginalNode(e.setTextRange(J.createVariableStatement(void 0,J.createVariableDeclarationList([J.createVariableDeclaration(p0,void 0,void 0,d1(U0))])),U0),U0));for(var Y1=0,N1=U0.exportClause.elements;Y1<N1.length;Y1++){var V1=N1[Y1];if(Z===0)p1.push(e.setOriginalNode(e.setTextRange(J.createExpressionStatement(m0().createCreateBindingHelper(p0,J.createStringLiteralFromNode(V1.propertyName||V1.name),V1.propertyName?J.createStringLiteralFromNode(V1.name):void 0)),V1),V1));else{var Ox=!(!E0.esModuleInterop||67108864&e.getEmitFlags(U0)||e.idText(V1.propertyName||V1.name)!==\"default\"),$x=J.createPropertyAccessExpression(Ox?m0().createImportDefaultHelper(p0):p0,V1.propertyName||V1.name);p1.push(e.setOriginalNode(e.setTextRange(J.createExpressionStatement(G1(J.getExportName(V1),$x,void 0,!0)),V1),V1))}}return e.singleOrMany(p1)}return U0.exportClause?((p1=[]).push(e.setOriginalNode(e.setTextRange(J.createExpressionStatement(G1(J.cloneNode(U0.exportClause.name),function(rx,O0){return!E0.esModuleInterop||67108864&e.getEmitFlags(rx)?O0:e.getExportNeedsImportStarHelper(rx)?m0().createImportStarHelper(O0):O0}(U0,A0!==e.ModuleKind.AMD?d1(U0):e.isExportNamespaceAsDefaultDeclaration(U0)?p0:J.createIdentifier(e.idText(U0.exportClause.name))))),U0),U0)),e.singleOrMany(p1)):e.setOriginalNode(e.setTextRange(J.createExpressionStatement(m0().createExportStarHelper(A0!==e.ModuleKind.AMD?d1(U0):p0)),U0),U0)}}(I0);case 267:return function(U0){if(!U0.isExportEquals){var p0,p1=U0.original;if(p1&&Q1(p1)){var Y1=e.getOriginalNodeId(U0);P0[Y1]=I1(P0[Y1],J.createIdentifier(\"default\"),e.visitNode(U0.expression,V0),U0,!0)}else p0=I1(p0,J.createIdentifier(\"default\"),e.visitNode(U0.expression,V0),U0,!0);return e.singleOrMany(p0)}}(I0);case 233:return function(U0){var p0,p1,Y1;if(e.hasSyntacticModifier(U0,1)){for(var N1=void 0,V1=!1,Ox=0,$x=U0.declarationList.declarations;Ox<$x.length;Ox++){var rx=$x[Ox];if(e.isIdentifier(rx.name)&&e.isLocalName(rx.name))N1||(N1=e.visitNodes(U0.modifiers,Nx,e.isModifier)),p1=e.append(p1,rx);else if(rx.initializer)if(!e.isBindingPattern(rx.name)&&(e.isArrowFunction(rx.initializer)||e.isFunctionExpression(rx.initializer)||e.isClassExpression(rx.initializer))){var O0=J.createAssignment(e.setTextRange(J.createPropertyAccessExpression(J.createIdentifier(\"exports\"),rx.name),rx.name),J.createIdentifier(e.getTextOfIdentifierOrLiteral(rx.name))),C1=J.createVariableDeclaration(rx.name,rx.exclamationToken,rx.type,e.visitNode(rx.initializer,V0));p1=e.append(p1,C1),Y1=e.append(Y1,O0),V1=!0}else Y1=e.append(Y1,S1(rx))}if(p1&&(p0=e.append(p0,J.updateVariableStatement(U0,N1,J.updateVariableDeclarationList(U0.declarationList,p1)))),Y1){var nx=e.setOriginalNode(e.setTextRange(J.createExpressionStatement(J.inlineExpressions(Y1)),U0),U0);V1&&e.removeAllComments(nx),p0=e.append(p0,nx)}}else p0=e.append(p0,e.visitEachChild(U0,V0,X));if(Q1(U0)){var O=e.getOriginalNodeId(U0);P0[O]=Z1(P0[O],U0)}else p0=Z1(p0,U0);return e.singleOrMany(p0)}(I0);case 252:return function(U0){var p0;if(p0=e.hasSyntacticModifier(U0,1)?e.append(p0,e.setOriginalNode(e.setTextRange(J.createFunctionDeclaration(void 0,e.visitNodes(U0.modifiers,Nx,e.isModifier),U0.asteriskToken,J.getDeclarationName(U0,!0,!0),void 0,e.visitNodes(U0.parameters,V0),void 0,e.visitEachChild(U0.body,V0,X)),U0),U0)):e.append(p0,e.visitEachChild(U0,V0,X)),Q1(U0)){var p1=e.getOriginalNodeId(U0);P0[p1]=y1(P0[p1],U0)}else p0=y1(p0,U0);return e.singleOrMany(p0)}(I0);case 253:return function(U0){var p0;if(p0=e.hasSyntacticModifier(U0,1)?e.append(p0,e.setOriginalNode(e.setTextRange(J.createClassDeclaration(void 0,e.visitNodes(U0.modifiers,Nx,e.isModifier),J.getDeclarationName(U0,!0,!0),void 0,e.visitNodes(U0.heritageClauses,V0),e.visitNodes(U0.members,V0)),U0),U0)):e.append(p0,e.visitEachChild(U0,V0,X)),Q1(U0)){var p1=e.getOriginalNodeId(U0);P0[p1]=y1(P0[p1],U0)}else p0=y1(p0,U0);return e.singleOrMany(p0)}(I0);case 342:return function(U0){if(Q1(U0)&&U0.original.kind===233){var p0=e.getOriginalNodeId(U0);P0[p0]=Z1(P0[p0],U0.original)}return U0}(I0);case 343:return function(U0){var p0=e.getOriginalNodeId(U0),p1=P0[p0];return p1?(delete P0[p0],e.append(p1,U0)):U0}(I0);default:return e.visitEachChild(I0,V0,X)}}function V0(I0){return 4194304&I0.transformFlags||2048&I0.transformFlags?e.isImportCall(I0)?function(U0){var p0=e.getExternalModuleNameLiteral(J,U0,G,A,I,E0),p1=e.visitNode(e.firstOrUndefined(U0.arguments),V0),Y1=!p0||p1&&e.isStringLiteral(p1)&&p1.text===p0.text?p1:p0,N1=!!(8192&U0.transformFlags);switch(E0.module){case e.ModuleKind.AMD:return f0(Y1,N1);case e.ModuleKind.UMD:return function(V1,Ox){if(g0=!0,e.isSimpleCopiableExpression(V1)){var $x=e.isGeneratedIdentifier(V1)?V1:e.isStringLiteral(V1)?J.createStringLiteralFromNode(V1):e.setEmitFlags(e.setTextRange(J.cloneNode(V1),V1),1536);return J.createConditionalExpression(J.createIdentifier(\"__syncRequire\"),void 0,y0(V1,Ox),void 0,f0($x,Ox))}var rx=J.createTempVariable(H0);return J.createComma(J.createAssignment(rx,V1),J.createConditionalExpression(J.createIdentifier(\"__syncRequire\"),void 0,y0(rx,Ox),void 0,f0(rx,Ox)))}(Y1!=null?Y1:J.createVoidZero(),N1);case e.ModuleKind.CommonJS:default:return y0(Y1,N1)}}(I0):e.isDestructuringAssignment(I0)?function(U0){return t0(U0.left)?e.flattenDestructuringAssignment(U0,V0,X,0,!1,h1):e.visitEachChild(U0,V0,X)}(I0):e.visitEachChild(I0,V0,X):I0}function t0(I0){if(e.isObjectLiteralExpression(I0))for(var U0=0,p0=I0.properties;U0<p0.length;U0++)switch((N1=p0[U0]).kind){case 289:if(t0(N1.initializer))return!0;break;case 290:if(t0(N1.name))return!0;break;case 291:if(t0(N1.expression))return!0;break;case 166:case 168:case 169:return!1;default:e.Debug.assertNever(N1,\"Unhandled object member kind\")}else if(e.isArrayLiteralExpression(I0))for(var p1=0,Y1=I0.elements;p1<Y1.length;p1++){var N1=Y1[p1];if(e.isSpreadElement(N1)){if(t0(N1.expression))return!0}else if(t0(N1))return!0}else if(e.isIdentifier(I0))return e.length(S0(I0))>(e.isExportName(I0)?1:0);return!1}function f0(I0,U0){var p0,p1=J.createUniqueName(\"resolve\"),Y1=J.createUniqueName(\"reject\"),N1=[J.createParameterDeclaration(void 0,void 0,void 0,p1),J.createParameterDeclaration(void 0,void 0,void 0,Y1)],V1=J.createBlock([J.createExpressionStatement(J.createCallExpression(J.createIdentifier(\"require\"),void 0,[J.createArrayLiteralExpression([I0||J.createOmittedExpression()]),p1,Y1]))]);Z>=2?p0=J.createArrowFunction(void 0,void 0,N1,void 0,void 0,V1):(p0=J.createFunctionExpression(void 0,void 0,void 0,void 0,N1,void 0,V1),U0&&e.setEmitFlags(p0,8));var Ox=J.createNewExpression(J.createIdentifier(\"Promise\"),void 0,[p0]);return E0.esModuleInterop?J.createCallExpression(J.createPropertyAccessExpression(Ox,J.createIdentifier(\"then\")),void 0,[m0().createImportStarCallbackHelper()]):Ox}function y0(I0,U0){var p0,p1=J.createCallExpression(J.createPropertyAccessExpression(J.createIdentifier(\"Promise\"),\"resolve\"),void 0,[]),Y1=J.createCallExpression(J.createIdentifier(\"require\"),void 0,I0?[I0]:[]);return E0.esModuleInterop&&(Y1=m0().createImportStarHelper(Y1)),Z>=2?p0=J.createArrowFunction(void 0,void 0,[],void 0,void 0,Y1):(p0=J.createFunctionExpression(void 0,void 0,void 0,void 0,[],void 0,J.createBlock([J.createReturnStatement(Y1)])),U0&&e.setEmitFlags(p0,8)),J.createCallExpression(J.createPropertyAccessExpression(p1,\"then\"),void 0,[p0])}function G0(I0,U0){return!E0.esModuleInterop||67108864&e.getEmitFlags(I0)?U0:e.getImportNeedsImportStarHelper(I0)?m0().createImportStarHelper(U0):e.getImportNeedsImportDefaultHelper(I0)?m0().createImportDefaultHelper(U0):U0}function d1(I0){var U0=e.getExternalModuleNameLiteral(J,I0,G,A,I,E0),p0=[];return U0&&p0.push(U0),J.createCallExpression(J.createIdentifier(\"require\"),void 0,p0)}function h1(I0,U0,p0){var p1=S0(I0);if(p1){for(var Y1=e.isExportName(I0)?U0:J.createAssignment(I0,U0),N1=0,V1=p1;N1<V1.length;N1++){var Ox=V1[N1];e.setEmitFlags(Y1,4),Y1=G1(Ox,Y1,p0)}return Y1}return J.createAssignment(I0,U0)}function S1(I0){return e.isBindingPattern(I0.name)?e.flattenDestructuringAssignment(e.visitNode(I0,V0),void 0,X,0,!1,h1):J.createAssignment(e.setTextRange(J.createPropertyAccessExpression(J.createIdentifier(\"exports\"),I0.name),I0.name),I0.initializer?e.visitNode(I0.initializer,V0):J.createVoidZero())}function Q1(I0){return(4194304&e.getEmitFlags(I0))!=0}function Y0(I0,U0){if(u0.exportEquals)return I0;var p0=U0.importClause;if(!p0)return I0;p0.name&&(I0=k1(I0,p0));var p1=p0.namedBindings;if(p1)switch(p1.kind){case 264:I0=k1(I0,p1);break;case 265:for(var Y1=0,N1=p1.elements;Y1<N1.length;Y1++)I0=k1(I0,N1[Y1],!0)}return I0}function $1(I0,U0){return u0.exportEquals?I0:k1(I0,U0)}function Z1(I0,U0){if(u0.exportEquals)return I0;for(var p0=0,p1=U0.declarationList.declarations;p0<p1.length;p0++)I0=Q0(I0,p1[p0]);return I0}function Q0(I0,U0){if(u0.exportEquals)return I0;if(e.isBindingPattern(U0.name))for(var p0=0,p1=U0.name.elements;p0<p1.length;p0++){var Y1=p1[p0];e.isOmittedExpression(Y1)||(I0=Q0(I0,Y1))}else e.isGeneratedIdentifier(U0.name)||(I0=k1(I0,U0));return I0}function y1(I0,U0){return u0.exportEquals?I0:(e.hasSyntacticModifier(U0,1)&&(I0=I1(I0,e.hasSyntacticModifier(U0,512)?J.createIdentifier(\"default\"):J.getDeclarationName(U0),J.getLocalName(U0),U0)),U0.name&&(I0=k1(I0,U0)),I0)}function k1(I0,U0,p0){var p1=J.getDeclarationName(U0),Y1=u0.exportSpecifiers.get(e.idText(p1));if(Y1)for(var N1=0,V1=Y1;N1<V1.length;N1++){var Ox=V1[N1];I0=I1(I0,Ox.name,p1,Ox.name,void 0,p0)}return I0}function I1(I0,U0,p0,p1,Y1,N1){return I0=e.append(I0,function(V1,Ox,$x,rx,O0){var C1=e.setTextRange(J.createExpressionStatement(G1(V1,Ox,void 0,O0)),$x);return e.startOnNewLine(C1),rx||e.setEmitFlags(C1,1536),C1}(U0,p0,p1,Y1,N1))}function K0(){var I0;return I0=Z===0?J.createExpressionStatement(G1(J.createIdentifier(\"__esModule\"),J.createTrue())):J.createExpressionStatement(J.createCallExpression(J.createPropertyAccessExpression(J.createIdentifier(\"Object\"),\"defineProperty\"),void 0,[J.createIdentifier(\"exports\"),J.createStringLiteral(\"__esModule\"),J.createObjectLiteralExpression([J.createPropertyAssignment(\"value\",J.createTrue())])])),e.setEmitFlags(I0,1048576),I0}function G1(I0,U0,p0,p1){return e.setTextRange(p1&&Z!==0?J.createCallExpression(J.createPropertyAccessExpression(J.createIdentifier(\"Object\"),\"defineProperty\"),void 0,[J.createIdentifier(\"exports\"),J.createStringLiteralFromNode(I0),J.createObjectLiteralExpression([J.createPropertyAssignment(\"enumerable\",J.createTrue()),J.createPropertyAssignment(\"get\",J.createFunctionExpression(void 0,void 0,void 0,void 0,[],void 0,J.createBlock([J.createReturnStatement(U0)])))])]):J.createAssignment(J.createPropertyAccessExpression(J.createIdentifier(\"exports\"),J.cloneNode(I0)),U0),p0)}function Nx(I0){switch(I0.kind){case 92:case 87:return}return I0}function n1(I0){var U0,p0;if(4096&e.getEmitFlags(I0)){var p1=e.getExternalHelpersModuleName(G);return p1?J.createPropertyAccessExpression(p1,I0):I0}if((!e.isGeneratedIdentifier(I0)||64&I0.autoGenerateFlags)&&!e.isLocalName(I0)){var Y1=I.getReferencedExportContainer(I0,e.isExportName(I0));if(Y1&&Y1.kind===298)return e.setTextRange(J.createPropertyAccessExpression(J.createIdentifier(\"exports\"),J.cloneNode(I0)),I0);var N1=I.getReferencedImportDeclaration(I0);if(N1){if(e.isImportClause(N1))return e.setTextRange(J.createPropertyAccessExpression(J.getGeneratedNameForNode(N1.parent),J.createIdentifier(\"default\")),I0);if(e.isImportSpecifier(N1)){var V1=N1.propertyName||N1.name;return e.setTextRange(J.createPropertyAccessExpression(J.getGeneratedNameForNode(((p0=(U0=N1.parent)===null||U0===void 0?void 0:U0.parent)===null||p0===void 0?void 0:p0.parent)||N1),J.cloneNode(V1)),I0)}}}return I0}function S0(I0){if(!e.isGeneratedIdentifier(I0)){var U0=I.getReferencedImportDeclaration(I0)||I.getReferencedValueDeclaration(I0);if(U0)return u0&&u0.exportedBindings[e.getOriginalNodeId(U0)]}}};var s={name:\"typescript:dynamicimport-sync-require\",scoped:!0,text:`\n            var __syncRequire = typeof module === \"object\" && typeof module.exports === \"object\";`}}(_0||(_0={})),function(e){e.transformSystemModule=function(s){var X=s.factory,J=s.startLexicalEnvironment,m0=s.endLexicalEnvironment,s1=s.hoistVariableDeclaration,i0=s.getCompilerOptions(),H0=s.getEmitResolver(),E0=s.getEmitHost(),I=s.onSubstituteNode,A=s.onEmitNode;s.onSubstituteNode=function(n1,S0){return function(I0){return U&&I0.id&&U[I0.id]}(S0=I(n1,S0))?S0:n1===1?function(I0){switch(I0.kind){case 78:return function(U0){var p0,p1;if(4096&e.getEmitFlags(U0)){var Y1=e.getExternalHelpersModuleName(Z);return Y1?X.createPropertyAccessExpression(Y1,U0):U0}if(!e.isGeneratedIdentifier(U0)&&!e.isLocalName(U0)){var N1=H0.getReferencedImportDeclaration(U0);if(N1){if(e.isImportClause(N1))return e.setTextRange(X.createPropertyAccessExpression(X.getGeneratedNameForNode(N1.parent),X.createIdentifier(\"default\")),U0);if(e.isImportSpecifier(N1))return e.setTextRange(X.createPropertyAccessExpression(X.getGeneratedNameForNode(((p1=(p0=N1.parent)===null||p0===void 0?void 0:p0.parent)===null||p1===void 0?void 0:p1.parent)||N1),X.cloneNode(N1.propertyName||N1.name)),U0)}}return U0}(I0);case 217:return function(U0){if(e.isAssignmentOperator(U0.operatorToken.kind)&&e.isIdentifier(U0.left)&&!e.isGeneratedIdentifier(U0.left)&&!e.isLocalName(U0.left)&&!e.isDeclarationNameOfEnumOrNamespace(U0.left)){var p0=G1(U0.left);if(p0){for(var p1=U0,Y1=0,N1=p0;Y1<N1.length;Y1++)p1=Z1(N1[Y1],Nx(p1));return p1}}return U0}(I0);case 215:case 216:return function(U0){if((U0.operator===45||U0.operator===46)&&e.isIdentifier(U0.operand)&&!e.isGeneratedIdentifier(U0.operand)&&!e.isLocalName(U0.operand)&&!e.isDeclarationNameOfEnumOrNamespace(U0.operand)){var p0=G1(U0.operand);if(p0){for(var p1=U0.kind===216?e.setTextRange(X.createPrefixUnaryExpression(U0.operator,U0.operand),U0):U0,Y1=0,N1=p0;Y1<N1.length;Y1++)p1=Z1(N1[Y1],Nx(p1));return U0.kind===216&&(p1=U0.operator===45?X.createSubtract(Nx(p1),X.createNumericLiteral(1)):X.createAdd(Nx(p1),X.createNumericLiteral(1))),p1}}return U0}(I0);case 227:return function(U0){return e.isImportMeta(U0)?X.createPropertyAccessExpression(j,X.createIdentifier(\"meta\")):U0}(I0)}return I0}(S0):n1===4?function(I0){switch(I0.kind){case 290:return function(U0){var p0,p1,Y1=U0.name;if(!e.isGeneratedIdentifier(Y1)&&!e.isLocalName(Y1)){var N1=H0.getReferencedImportDeclaration(Y1);if(N1){if(e.isImportClause(N1))return e.setTextRange(X.createPropertyAssignment(X.cloneNode(Y1),X.createPropertyAccessExpression(X.getGeneratedNameForNode(N1.parent),X.createIdentifier(\"default\"))),U0);if(e.isImportSpecifier(N1))return e.setTextRange(X.createPropertyAssignment(X.cloneNode(Y1),X.createPropertyAccessExpression(X.getGeneratedNameForNode(((p1=(p0=N1.parent)===null||p0===void 0?void 0:p0.parent)===null||p1===void 0?void 0:p1.parent)||N1),X.cloneNode(N1.propertyName||N1.name))),U0)}}return U0}(I0)}return I0}(S0):S0},s.onEmitNode=function(n1,S0,I0){if(S0.kind===298){var U0=e.getOriginalNodeId(S0);Z=S0,A0=g0[U0],o0=P0[U0],U=c0[U0],j=D0[U0],U&&delete c0[U0],A(n1,S0,I0),Z=void 0,A0=void 0,o0=void 0,j=void 0,U=void 0}else A(n1,S0,I0)},s.enableSubstitution(78),s.enableSubstitution(290),s.enableSubstitution(217),s.enableSubstitution(215),s.enableSubstitution(216),s.enableSubstitution(227),s.enableEmitNotification(298);var Z,A0,o0,j,G,u0,U,g0=[],d0=[],P0=[],c0=[],D0=[];return e.chainBundle(s,function(n1){if(n1.isDeclarationFile||!(e.isEffectiveExternalModule(n1,i0)||4194304&n1.transformFlags))return n1;var S0=e.getOriginalNodeId(n1);Z=n1,u0=n1,A0=g0[S0]=e.collectExternalModuleInfo(s,n1,H0,i0),o0=X.createUniqueName(\"exports\"),P0[S0]=o0,j=D0[S0]=X.createUniqueName(\"context\");var I0=function(V1){for(var Ox=new e.Map,$x=[],rx=0,O0=V1;rx<O0.length;rx++){var C1=O0[rx],nx=e.getExternalModuleNameLiteral(X,C1,Z,E0,H0,i0);if(nx){var O=nx.text,b1=Ox.get(O);b1!==void 0?$x[b1].externalImports.push(C1):(Ox.set(O,$x.length),$x.push({name:nx,externalImports:[C1]}))}}return $x}(A0.externalImports),U0=function(V1,Ox){var $x=[];J();var rx=e.getStrictOptionValue(i0,\"alwaysStrict\")||!i0.noImplicitUseStrict&&e.isExternalModule(Z),O0=X.copyPrologue(V1.statements,$x,rx,w0);$x.push(X.createVariableStatement(void 0,X.createVariableDeclarationList([X.createVariableDeclaration(\"__moduleName\",void 0,void 0,X.createLogicalAnd(j,X.createPropertyAccessExpression(j,\"id\")))]))),e.visitNode(A0.externalHelpersImportDeclaration,w0,e.isStatement);var C1=e.visitNodes(V1.statements,w0,e.isStatement,O0);e.addRange($x,G),e.insertStatementsAfterStandardPrologue($x,m0());var nx=function(Px){if(!!A0.hasExportStarsToExportValues){if(!A0.exportedNames&&A0.exportSpecifiers.size===0){for(var me=!1,Re=0,gt=A0.externalImports;Re<gt.length;Re++){var Vt=gt[Re];if(Vt.kind===268&&Vt.exportClause){me=!0;break}}if(!me){var wr=x0(void 0);return Px.push(wr),wr.name}}var gr=[];if(A0.exportedNames)for(var Nt=0,Ir=A0.exportedNames;Nt<Ir.length;Nt++){var xr=Ir[Nt];xr.escapedText!==\"default\"&&gr.push(X.createPropertyAssignment(X.createStringLiteralFromNode(xr),X.createTrue()))}var Bt=X.createUniqueName(\"exportedNames\");Px.push(X.createVariableStatement(void 0,X.createVariableDeclarationList([X.createVariableDeclaration(Bt,void 0,void 0,X.createObjectLiteralExpression(gr,!0))])));var ar=x0(Bt);return Px.push(ar),ar.name}}($x),O=1048576&V1.transformFlags?X.createModifiersFromModifierFlags(256):void 0,b1=X.createObjectLiteralExpression([X.createPropertyAssignment(\"setters\",l0(nx,Ox)),X.createPropertyAssignment(\"execute\",X.createFunctionExpression(O,void 0,void 0,void 0,[],void 0,X.createBlock(C1,!0)))],!0);return $x.push(X.createReturnStatement(b1)),X.createBlock($x,!0)}(n1,I0),p0=X.createFunctionExpression(void 0,void 0,void 0,void 0,[X.createParameterDeclaration(void 0,void 0,void 0,o0),X.createParameterDeclaration(void 0,void 0,void 0,j)],void 0,U0),p1=e.tryGetModuleNameFromFile(X,n1,E0,i0),Y1=X.createArrayLiteralExpression(e.map(I0,function(V1){return V1.name})),N1=e.setEmitFlags(X.updateSourceFile(n1,e.setTextRange(X.createNodeArray([X.createExpressionStatement(X.createCallExpression(X.createPropertyAccessExpression(X.createIdentifier(\"System\"),\"register\"),void 0,p1?[p1,Y1,p0]:[Y1,p0]))]),n1.statements)),1024);return e.outFile(i0)||e.moveEmitHelpers(N1,U0,function(V1){return!V1.scoped}),U&&(c0[S0]=U,U=void 0),Z=void 0,A0=void 0,o0=void 0,j=void 0,G=void 0,u0=void 0,N1});function x0(n1){var S0=X.createUniqueName(\"exportStar\"),I0=X.createIdentifier(\"m\"),U0=X.createIdentifier(\"n\"),p0=X.createIdentifier(\"exports\"),p1=X.createStrictInequality(U0,X.createStringLiteral(\"default\"));return n1&&(p1=X.createLogicalAnd(p1,X.createLogicalNot(X.createCallExpression(X.createPropertyAccessExpression(n1,\"hasOwnProperty\"),void 0,[U0])))),X.createFunctionDeclaration(void 0,void 0,void 0,S0,void 0,[X.createParameterDeclaration(void 0,void 0,void 0,I0)],void 0,X.createBlock([X.createVariableStatement(void 0,X.createVariableDeclarationList([X.createVariableDeclaration(p0,void 0,void 0,X.createObjectLiteralExpression([]))])),X.createForInStatement(X.createVariableDeclarationList([X.createVariableDeclaration(U0)]),I0,X.createBlock([e.setEmitFlags(X.createIfStatement(p1,X.createExpressionStatement(X.createAssignment(X.createElementAccessExpression(p0,U0),X.createElementAccessExpression(I0,U0)))),1)])),X.createExpressionStatement(X.createCallExpression(o0,void 0,[p0]))],!0))}function l0(n1,S0){for(var I0=[],U0=0,p0=S0;U0<p0.length;U0++){for(var p1=p0[U0],Y1=e.forEach(p1.externalImports,function(Px){return e.getLocalNameForExternalImport(X,Px,Z)}),N1=Y1?X.getGeneratedNameForNode(Y1):X.createUniqueName(\"\"),V1=[],Ox=0,$x=p1.externalImports;Ox<$x.length;Ox++){var rx=$x[Ox],O0=e.getLocalNameForExternalImport(X,rx,Z);switch(rx.kind){case 262:if(!rx.importClause)break;case 261:e.Debug.assert(O0!==void 0),V1.push(X.createExpressionStatement(X.createAssignment(O0,N1)));break;case 268:if(e.Debug.assert(O0!==void 0),rx.exportClause)if(e.isNamedExports(rx.exportClause)){for(var C1=[],nx=0,O=rx.exportClause.elements;nx<O.length;nx++){var b1=O[nx];C1.push(X.createPropertyAssignment(X.createStringLiteral(e.idText(b1.name)),X.createElementAccessExpression(N1,X.createStringLiteral(e.idText(b1.propertyName||b1.name)))))}V1.push(X.createExpressionStatement(X.createCallExpression(o0,void 0,[X.createObjectLiteralExpression(C1,!0)])))}else V1.push(X.createExpressionStatement(X.createCallExpression(o0,void 0,[X.createStringLiteral(e.idText(rx.exportClause.name)),N1])));else V1.push(X.createExpressionStatement(X.createCallExpression(n1,void 0,[N1])))}}I0.push(X.createFunctionExpression(void 0,void 0,void 0,void 0,[X.createParameterDeclaration(void 0,void 0,void 0,N1)],void 0,X.createBlock(V1,!0)))}return X.createArrayLiteralExpression(I0,!0)}function w0(n1){switch(n1.kind){case 262:return function(S0){var I0;if(S0.importClause&&s1(e.getLocalNameForExternalImport(X,S0,Z)),f0(S0)){var U0=e.getOriginalNodeId(S0);d0[U0]=y0(d0[U0],S0)}else I0=y0(I0,S0);return e.singleOrMany(I0)}(n1);case 261:return function(S0){var I0;if(e.Debug.assert(e.isExternalModuleImportEqualsDeclaration(S0),\"import= for internal module references should be handled in an earlier transformer.\"),s1(e.getLocalNameForExternalImport(X,S0,Z)),f0(S0)){var U0=e.getOriginalNodeId(S0);d0[U0]=G0(d0[U0],S0)}else I0=G0(I0,S0);return e.singleOrMany(I0)}(n1);case 268:return function(S0){return void e.Debug.assertIsDefined(S0)}(n1);case 267:return function(S0){if(!S0.isExportEquals){var I0=e.visitNode(S0.expression,k1,e.isExpression),U0=S0.original;if(!U0||!f0(U0))return $1(X.createIdentifier(\"default\"),I0,!0);var p0=e.getOriginalNodeId(S0);d0[p0]=Y0(d0[p0],X.createIdentifier(\"default\"),I0,!0)}}(n1);default:return Q0(n1)}}function V(n1){if(e.isBindingPattern(n1.name))for(var S0=0,I0=n1.name.elements;S0<I0.length;S0++){var U0=I0[S0];e.isOmittedExpression(U0)||V(U0)}else s1(X.cloneNode(n1.name))}function w(n1){return(2097152&e.getEmitFlags(n1))==0&&(u0.kind===298||(3&e.getOriginalNode(n1).flags)==0)}function H(n1,S0){var I0=S0?k0:V0;return e.isBindingPattern(n1.name)?e.flattenDestructuringAssignment(n1,k1,s,0,!1,I0):n1.initializer?I0(n1.name,e.visitNode(n1.initializer,k1,e.isExpression)):n1.name}function k0(n1,S0,I0){return t0(n1,S0,I0,!0)}function V0(n1,S0,I0){return t0(n1,S0,I0,!1)}function t0(n1,S0,I0,U0){return s1(X.cloneNode(n1)),U0?Z1(n1,Nx(e.setTextRange(X.createAssignment(n1,S0),I0))):Nx(e.setTextRange(X.createAssignment(n1,S0),I0))}function f0(n1){return(4194304&e.getEmitFlags(n1))!=0}function y0(n1,S0){if(A0.exportEquals)return n1;var I0=S0.importClause;if(!I0)return n1;I0.name&&(n1=Q1(n1,I0));var U0=I0.namedBindings;if(U0)switch(U0.kind){case 264:n1=Q1(n1,U0);break;case 265:for(var p0=0,p1=U0.elements;p0<p1.length;p0++)n1=Q1(n1,p1[p0])}return n1}function G0(n1,S0){return A0.exportEquals?n1:Q1(n1,S0)}function d1(n1,S0,I0){if(A0.exportEquals)return n1;for(var U0=0,p0=S0.declarationList.declarations;U0<p0.length;U0++){var p1=p0[U0];(p1.initializer||I0)&&(n1=h1(n1,p1,I0))}return n1}function h1(n1,S0,I0){if(A0.exportEquals)return n1;if(e.isBindingPattern(S0.name))for(var U0=0,p0=S0.name.elements;U0<p0.length;U0++){var p1=p0[U0];e.isOmittedExpression(p1)||(n1=h1(n1,p1,I0))}else if(!e.isGeneratedIdentifier(S0.name)){var Y1=void 0;I0&&(n1=Y0(n1,S0.name,X.getLocalName(S0)),Y1=e.idText(S0.name)),n1=Q1(n1,S0,Y1)}return n1}function S1(n1,S0){if(A0.exportEquals)return n1;var I0;if(e.hasSyntacticModifier(S0,1)){var U0=e.hasSyntacticModifier(S0,512)?X.createStringLiteral(\"default\"):S0.name;n1=Y0(n1,U0,X.getLocalName(S0)),I0=e.getTextOfIdentifierOrLiteral(U0)}return S0.name&&(n1=Q1(n1,S0,I0)),n1}function Q1(n1,S0,I0){if(A0.exportEquals)return n1;var U0=X.getDeclarationName(S0),p0=A0.exportSpecifiers.get(e.idText(U0));if(p0)for(var p1=0,Y1=p0;p1<Y1.length;p1++){var N1=Y1[p1];N1.name.escapedText!==I0&&(n1=Y0(n1,N1.name,U0))}return n1}function Y0(n1,S0,I0,U0){return n1=e.append(n1,$1(S0,I0,U0))}function $1(n1,S0,I0){var U0=X.createExpressionStatement(Z1(n1,S0));return e.startOnNewLine(U0),I0||e.setEmitFlags(U0,1536),U0}function Z1(n1,S0){var I0=e.isIdentifier(n1)?X.createStringLiteralFromNode(n1):n1;return e.setEmitFlags(S0,1536|e.getEmitFlags(S0)),e.setCommentRange(X.createCallExpression(o0,void 0,[I0,S0]),S0)}function Q0(n1){switch(n1.kind){case 233:return function(S0){if(!w(S0.declarationList))return e.visitNode(S0,k1,e.isStatement);for(var I0,U0,p0=e.hasSyntacticModifier(S0,1),p1=f0(S0),Y1=0,N1=S0.declarationList.declarations;Y1<N1.length;Y1++){var V1=N1[Y1];V1.initializer?I0=e.append(I0,H(V1,p0&&!p1)):V(V1)}if(I0&&(U0=e.append(U0,e.setTextRange(X.createExpressionStatement(X.inlineExpressions(I0)),S0))),p1){var Ox=e.getOriginalNodeId(S0);d0[Ox]=d1(d0[Ox],S0,p0)}else U0=d1(U0,S0,!1);return e.singleOrMany(U0)}(n1);case 252:return function(S0){if(G=e.hasSyntacticModifier(S0,1)?e.append(G,X.updateFunctionDeclaration(S0,S0.decorators,e.visitNodes(S0.modifiers,K0,e.isModifier),S0.asteriskToken,X.getDeclarationName(S0,!0,!0),void 0,e.visitNodes(S0.parameters,k1,e.isParameterDeclaration),void 0,e.visitNode(S0.body,k1,e.isBlock))):e.append(G,e.visitEachChild(S0,k1,s)),f0(S0)){var I0=e.getOriginalNodeId(S0);d0[I0]=S1(d0[I0],S0)}else G=S1(G,S0)}(n1);case 253:return function(S0){var I0,U0=X.getLocalName(S0);if(s1(U0),I0=e.append(I0,e.setTextRange(X.createExpressionStatement(X.createAssignment(U0,e.setTextRange(X.createClassExpression(e.visitNodes(S0.decorators,k1,e.isDecorator),void 0,S0.name,void 0,e.visitNodes(S0.heritageClauses,k1,e.isHeritageClause),e.visitNodes(S0.members,k1,e.isClassElement)),S0))),S0)),f0(S0)){var p0=e.getOriginalNodeId(S0);d0[p0]=S1(d0[p0],S0)}else I0=S1(I0,S0);return e.singleOrMany(I0)}(n1);case 238:return function(S0){var I0=u0;return u0=S0,S0=X.updateForStatement(S0,S0.initializer&&y1(S0.initializer),e.visitNode(S0.condition,k1,e.isExpression),e.visitNode(S0.incrementor,k1,e.isExpression),e.visitIterationBody(S0.statement,Q0,s)),u0=I0,S0}(n1);case 239:return function(S0){var I0=u0;return u0=S0,S0=X.updateForInStatement(S0,y1(S0.initializer),e.visitNode(S0.expression,k1,e.isExpression),e.visitIterationBody(S0.statement,Q0,s)),u0=I0,S0}(n1);case 240:return function(S0){var I0=u0;return u0=S0,S0=X.updateForOfStatement(S0,S0.awaitModifier,y1(S0.initializer),e.visitNode(S0.expression,k1,e.isExpression),e.visitIterationBody(S0.statement,Q0,s)),u0=I0,S0}(n1);case 236:return function(S0){return X.updateDoStatement(S0,e.visitIterationBody(S0.statement,Q0,s),e.visitNode(S0.expression,k1,e.isExpression))}(n1);case 237:return function(S0){return X.updateWhileStatement(S0,e.visitNode(S0.expression,k1,e.isExpression),e.visitIterationBody(S0.statement,Q0,s))}(n1);case 246:return function(S0){return X.updateLabeledStatement(S0,S0.label,e.visitNode(S0.statement,Q0,e.isStatement,X.liftToBlock))}(n1);case 244:return function(S0){return X.updateWithStatement(S0,e.visitNode(S0.expression,k1,e.isExpression),e.visitNode(S0.statement,Q0,e.isStatement,X.liftToBlock))}(n1);case 245:return function(S0){return X.updateSwitchStatement(S0,e.visitNode(S0.expression,k1,e.isExpression),e.visitNode(S0.caseBlock,Q0,e.isCaseBlock))}(n1);case 259:return function(S0){var I0=u0;return u0=S0,S0=X.updateCaseBlock(S0,e.visitNodes(S0.clauses,Q0,e.isCaseOrDefaultClause)),u0=I0,S0}(n1);case 285:return function(S0){return X.updateCaseClause(S0,e.visitNode(S0.expression,k1,e.isExpression),e.visitNodes(S0.statements,Q0,e.isStatement))}(n1);case 286:case 248:return function(S0){return e.visitEachChild(S0,Q0,s)}(n1);case 288:return function(S0){var I0=u0;return u0=S0,S0=X.updateCatchClause(S0,S0.variableDeclaration,e.visitNode(S0.block,Q0,e.isBlock)),u0=I0,S0}(n1);case 231:return function(S0){var I0=u0;return u0=S0,S0=e.visitEachChild(S0,Q0,s),u0=I0,S0}(n1);case 342:return function(S0){if(f0(S0)&&S0.original.kind===233){var I0=e.getOriginalNodeId(S0),U0=e.hasSyntacticModifier(S0.original,1);d0[I0]=d1(d0[I0],S0.original,U0)}return S0}(n1);case 343:return function(S0){var I0=e.getOriginalNodeId(S0),U0=d0[I0];if(U0)return delete d0[I0],e.append(U0,S0);var p0=e.getOriginalNode(S0);return e.isModuleOrEnumDeclaration(p0)?e.append(Q1(U0,p0),S0):S0}(n1);default:return k1(n1)}}function y1(n1){if(function(p1){return e.isVariableDeclarationList(p1)&&w(p1)}(n1)){for(var S0=void 0,I0=0,U0=n1.declarations;I0<U0.length;I0++){var p0=U0[I0];S0=e.append(S0,H(p0,!1)),p0.initializer||V(p0)}return S0?X.inlineExpressions(S0):X.createOmittedExpression()}return e.visitEachChild(n1,Q0,s)}function k1(n1){return e.isDestructuringAssignment(n1)?function(S0){return I1(S0.left)?e.flattenDestructuringAssignment(S0,k1,s,0,!0):e.visitEachChild(S0,k1,s)}(n1):e.isImportCall(n1)?function(S0){var I0=e.getExternalModuleNameLiteral(X,S0,Z,E0,H0,i0),U0=e.visitNode(e.firstOrUndefined(S0.arguments),k1),p0=!I0||U0&&e.isStringLiteral(U0)&&U0.text===I0.text?U0:I0;return X.createCallExpression(X.createPropertyAccessExpression(j,X.createIdentifier(\"import\")),void 0,p0?[p0]:[])}(n1):2048&n1.transformFlags||4194304&n1.transformFlags?e.visitEachChild(n1,k1,s):n1}function I1(n1){if(e.isAssignmentExpression(n1,!0))return I1(n1.left);if(e.isSpreadElement(n1))return I1(n1.expression);if(e.isObjectLiteralExpression(n1))return e.some(n1.properties,I1);if(e.isArrayLiteralExpression(n1))return e.some(n1.elements,I1);if(e.isShorthandPropertyAssignment(n1))return I1(n1.name);if(e.isPropertyAssignment(n1))return I1(n1.initializer);if(e.isIdentifier(n1)){var S0=H0.getReferencedExportContainer(n1);return S0!==void 0&&S0.kind===298}return!1}function K0(n1){switch(n1.kind){case 92:case 87:return}return n1}function G1(n1){var S0;if(!e.isGeneratedIdentifier(n1)){var I0=H0.getReferencedImportDeclaration(n1)||H0.getReferencedValueDeclaration(n1);if(I0){var U0=H0.getReferencedExportContainer(n1,!1);U0&&U0.kind===298&&(S0=e.append(S0,X.getDeclarationName(I0))),S0=e.addRange(S0,A0&&A0.exportedBindings[e.getOriginalNodeId(I0)])}}return S0}function Nx(n1){return U===void 0&&(U=[]),U[e.getNodeId(n1)]=!0,n1}}}(_0||(_0={})),function(e){e.transformECMAScriptModule=function(s){var X,J=s.factory,m0=s.getEmitHelperFactory,s1=s.getCompilerOptions(),i0=s.onEmitNode,H0=s.onSubstituteNode;return s.onEmitNode=function(I,A,Z){e.isSourceFile(A)?((e.isExternalModule(A)||s1.isolatedModules)&&s1.importHelpers&&(X=new e.Map),i0(I,A,Z),X=void 0):i0(I,A,Z)},s.onSubstituteNode=function(I,A){return A=H0(I,A),X&&e.isIdentifier(A)&&4096&e.getEmitFlags(A)?function(Z){var A0=e.idText(Z),o0=X.get(A0);return o0||X.set(A0,o0=J.createUniqueName(A0,48)),o0}(A):A},s.enableEmitNotification(298),s.enableSubstitution(78),e.chainBundle(s,function(I){if(I.isDeclarationFile)return I;if(e.isExternalModule(I)||s1.isolatedModules){var A=function(Z){var A0=e.createExternalHelpersImportDeclarationIfNeeded(J,m0(),Z,s1);if(A0){var o0=[],j=J.copyPrologue(Z.statements,o0);return e.append(o0,A0),e.addRange(o0,e.visitNodes(Z.statements,E0,e.isStatement,j)),J.updateSourceFile(Z,e.setTextRange(J.createNodeArray(o0),Z.statements))}return e.visitEachChild(Z,E0,s)}(I);return!e.isExternalModule(I)||e.some(A.statements,e.isExternalModuleIndicator)?A:J.updateSourceFile(A,e.setTextRange(J.createNodeArray(D(D([],A.statements),[e.createEmptyExports(J)])),A.statements))}return I});function E0(I){switch(I.kind){case 261:return;case 267:return function(A){return A.isExportEquals?void 0:A}(I);case 268:return function(A){if(s1.module!==void 0&&s1.module>e.ModuleKind.ES2015||!A.exportClause||!e.isNamespaceExport(A.exportClause)||!A.moduleSpecifier)return A;var Z=A.exportClause.name,A0=J.getGeneratedNameForNode(Z),o0=J.createImportDeclaration(void 0,void 0,J.createImportClause(!1,void 0,J.createNamespaceImport(A0)),A.moduleSpecifier);e.setOriginalNode(o0,A.exportClause);var j=e.isExportNamespaceAsDefaultDeclaration(A)?J.createExportDefault(A0):J.createExportDeclaration(void 0,void 0,!1,J.createNamedExports([J.createExportSpecifier(A0,Z)]));return e.setOriginalNode(j,A),[o0,j]}(I)}return I}}}(_0||(_0={})),function(e){function s(X){return e.isVariableDeclaration(X)||e.isPropertyDeclaration(X)||e.isPropertySignature(X)||e.isPropertyAccessExpression(X)||e.isBindingElement(X)||e.isConstructorDeclaration(X)?J:e.isSetAccessor(X)||e.isGetAccessor(X)?function(m0){var s1;return s1=X.kind===169?e.hasSyntacticModifier(X,32)?m0.errorModuleName?e.Diagnostics.Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1:m0.errorModuleName?e.Diagnostics.Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1:e.hasSyntacticModifier(X,32)?m0.errorModuleName?m0.accessibility===2?e.Diagnostics.Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1:m0.errorModuleName?m0.accessibility===2?e.Diagnostics.Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1,{diagnosticMessage:s1,errorNode:X.name,typeName:X.name}}:e.isConstructSignatureDeclaration(X)||e.isCallSignatureDeclaration(X)||e.isMethodDeclaration(X)||e.isMethodSignature(X)||e.isFunctionDeclaration(X)||e.isIndexSignatureDeclaration(X)?function(m0){var s1;switch(X.kind){case 171:s1=m0.errorModuleName?e.Diagnostics.Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0;break;case 170:s1=m0.errorModuleName?e.Diagnostics.Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0;break;case 172:s1=m0.errorModuleName?e.Diagnostics.Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0;break;case 166:case 165:s1=e.hasSyntacticModifier(X,32)?m0.errorModuleName?m0.accessibility===2?e.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:e.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0:X.parent.kind===253?m0.errorModuleName?m0.accessibility===2?e.Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:e.Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0:m0.errorModuleName?e.Diagnostics.Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0;break;case 252:s1=m0.errorModuleName?m0.accessibility===2?e.Diagnostics.Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:e.Diagnostics.Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_exported_function_has_or_is_using_private_name_0;break;default:return e.Debug.fail(\"This is unknown kind for signature: \"+X.kind)}return{diagnosticMessage:s1,errorNode:X.name||X}}:e.isParameter(X)?e.isParameterPropertyDeclaration(X,X.parent)&&e.hasSyntacticModifier(X.parent,8)?J:function(m0){var s1=function(i0){switch(X.parent.kind){case 167:return i0.errorModuleName?i0.accessibility===2?e.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1;case 171:case 176:return i0.errorModuleName?e.Diagnostics.Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1;case 170:return i0.errorModuleName?e.Diagnostics.Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1;case 172:return i0.errorModuleName?e.Diagnostics.Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1;case 166:case 165:return e.hasSyntacticModifier(X.parent,32)?i0.errorModuleName?i0.accessibility===2?e.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:X.parent.parent.kind===253?i0.errorModuleName?i0.accessibility===2?e.Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:i0.errorModuleName?e.Diagnostics.Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1;case 252:case 175:return i0.errorModuleName?i0.accessibility===2?e.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_private_name_1;case 169:case 168:return i0.errorModuleName?i0.accessibility===2?e.Diagnostics.Parameter_0_of_accessor_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Parameter_0_of_accessor_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_accessor_has_or_is_using_private_name_1;default:return e.Debug.fail(\"Unknown parent for parameter: \"+e.SyntaxKind[X.parent.kind])}}(m0);return s1!==void 0?{diagnosticMessage:s1,errorNode:X,typeName:X.name}:void 0}:e.isTypeParameterDeclaration(X)?function(){var m0;switch(X.parent.kind){case 253:m0=e.Diagnostics.Type_parameter_0_of_exported_class_has_or_is_using_private_name_1;break;case 254:m0=e.Diagnostics.Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1;break;case 191:m0=e.Diagnostics.Type_parameter_0_of_exported_mapped_object_type_is_using_private_name_1;break;case 176:case 171:m0=e.Diagnostics.Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1;break;case 170:m0=e.Diagnostics.Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1;break;case 166:case 165:m0=e.hasSyntacticModifier(X.parent,32)?e.Diagnostics.Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:X.parent.parent.kind===253?e.Diagnostics.Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:e.Diagnostics.Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1;break;case 175:case 252:m0=e.Diagnostics.Type_parameter_0_of_exported_function_has_or_is_using_private_name_1;break;case 255:m0=e.Diagnostics.Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1;break;default:return e.Debug.fail(\"This is unknown parent for type parameter: \"+X.parent.kind)}return{diagnosticMessage:m0,errorNode:X,typeName:X.name}}:e.isExpressionWithTypeArguments(X)?function(){var m0;return m0=e.isClassDeclaration(X.parent.parent)?e.isHeritageClause(X.parent)&&X.parent.token===116?e.Diagnostics.Implements_clause_of_exported_class_0_has_or_is_using_private_name_1:X.parent.parent.name?e.Diagnostics.extends_clause_of_exported_class_0_has_or_is_using_private_name_1:e.Diagnostics.extends_clause_of_exported_class_has_or_is_using_private_name_0:e.Diagnostics.extends_clause_of_exported_interface_0_has_or_is_using_private_name_1,{diagnosticMessage:m0,errorNode:X,typeName:e.getNameOfDeclaration(X.parent.parent)}}:e.isImportEqualsDeclaration(X)?function(){return{diagnosticMessage:e.Diagnostics.Import_declaration_0_is_using_private_name_1,errorNode:X,typeName:X.name}}:e.isTypeAliasDeclaration(X)||e.isJSDocTypeAlias(X)?function(m0){return{diagnosticMessage:m0.errorModuleName?e.Diagnostics.Exported_type_alias_0_has_or_is_using_private_name_1_from_module_2:e.Diagnostics.Exported_type_alias_0_has_or_is_using_private_name_1,errorNode:e.isJSDocTypeAlias(X)?e.Debug.checkDefined(X.typeExpression):X.type,typeName:e.isJSDocTypeAlias(X)?e.getNameOfDeclaration(X):X.name}}:e.Debug.assertNever(X,\"Attempted to set a declaration diagnostic context for unhandled node kind: \"+e.SyntaxKind[X.kind]);function J(m0){var s1=function(i0){return X.kind===250||X.kind===199?i0.errorModuleName?i0.accessibility===2?e.Diagnostics.Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Exported_variable_0_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Exported_variable_0_has_or_is_using_private_name_1:X.kind===164||X.kind===202||X.kind===163||X.kind===161&&e.hasSyntacticModifier(X.parent,8)?e.hasSyntacticModifier(X,32)?i0.errorModuleName?i0.accessibility===2?e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_private_name_1:X.parent.kind===253||X.kind===161?i0.errorModuleName?i0.accessibility===2?e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_private_name_1:i0.errorModuleName?e.Diagnostics.Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Property_0_of_exported_interface_has_or_is_using_private_name_1:void 0}(m0);return s1!==void 0?{diagnosticMessage:s1,errorNode:X,typeName:X.name}:void 0}}e.canProduceDiagnostics=function(X){return e.isVariableDeclaration(X)||e.isPropertyDeclaration(X)||e.isPropertySignature(X)||e.isBindingElement(X)||e.isSetAccessor(X)||e.isGetAccessor(X)||e.isConstructSignatureDeclaration(X)||e.isCallSignatureDeclaration(X)||e.isMethodDeclaration(X)||e.isMethodSignature(X)||e.isFunctionDeclaration(X)||e.isParameter(X)||e.isTypeParameterDeclaration(X)||e.isExpressionWithTypeArguments(X)||e.isImportEqualsDeclaration(X)||e.isTypeAliasDeclaration(X)||e.isConstructorDeclaration(X)||e.isIndexSignatureDeclaration(X)||e.isPropertyAccessExpression(X)||e.isJSDocTypeAlias(X)},e.createGetSymbolAccessibilityDiagnosticForNodeName=function(X){return e.isSetAccessor(X)||e.isGetAccessor(X)?function(J){var m0=function(s1){return e.hasSyntacticModifier(X,32)?s1.errorModuleName?s1.accessibility===2?e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_private_name_1:X.parent.kind===253?s1.errorModuleName?s1.accessibility===2?e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_private_name_1:s1.errorModuleName?e.Diagnostics.Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Property_0_of_exported_interface_has_or_is_using_private_name_1}(J);return m0!==void 0?{diagnosticMessage:m0,errorNode:X,typeName:X.name}:void 0}:e.isMethodSignature(X)||e.isMethodDeclaration(X)?function(J){var m0=function(s1){return e.hasSyntacticModifier(X,32)?s1.errorModuleName?s1.accessibility===2?e.Diagnostics.Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Public_static_method_0_of_exported_class_has_or_is_using_private_name_1:X.parent.kind===253?s1.errorModuleName?s1.accessibility===2?e.Diagnostics.Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Public_method_0_of_exported_class_has_or_is_using_private_name_1:s1.errorModuleName?e.Diagnostics.Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Method_0_of_exported_interface_has_or_is_using_private_name_1}(J);return m0!==void 0?{diagnosticMessage:m0,errorNode:X,typeName:X.name}:void 0}:s(X)},e.createGetSymbolAccessibilityDiagnosticForNode=s}(_0||(_0={})),function(e){function s(H0,E0){var I=E0.text.substring(H0.pos,H0.end);return e.stringContains(I,\"@internal\")}function X(H0,E0){var I=e.getParseTreeNode(H0);if(I&&I.kind===161){var A=I.parent.parameters.indexOf(I),Z=A>0?I.parent.parameters[A-1]:void 0,A0=E0.text,o0=Z?e.concatenate(e.getTrailingCommentRanges(A0,e.skipTrivia(A0,Z.end+1,!1,!0)),e.getLeadingCommentRanges(A0,H0.pos)):e.getTrailingCommentRanges(A0,e.skipTrivia(A0,H0.pos,!1,!0));return o0&&o0.length&&s(e.last(o0),E0)}var j=I&&e.getLeadingCommentRangesOfNode(I,E0);return!!e.forEach(j,function(G){return s(G,E0)})}e.getDeclarationDiagnostics=function(H0,E0,I){var A=H0.getCompilerOptions();return e.transformNodes(E0,H0,e.factory,A,I?[I]:e.filter(H0.getSourceFiles(),e.isSourceFileNotJson),[m0],!1).diagnostics},e.isInternalDeclaration=X;var J=531469;function m0(H0){var E0,I,A,Z,A0,o0,j,G,u0,U,g0,d0,P0=function(){return e.Debug.fail(\"Diagnostic emitted without context\")},c0=P0,D0=!0,x0=!1,l0=!1,w0=!1,V=!1,w=H0.factory,H=H0.getEmitHost(),k0={trackSymbol:function(O,b1,Px){262144&O.flags||(d1(V0.isSymbolAccessible(O,b1,Px,!0)),G0(V0.getTypeReferenceDirectivesForSymbol(O,Px)))},reportInaccessibleThisError:function(){j&&H0.addDiagnostic(e.createDiagnosticForNode(j,e.Diagnostics.The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary,e.declarationNameToString(j),\"this\"))},reportInaccessibleUniqueSymbolError:function(){j&&H0.addDiagnostic(e.createDiagnosticForNode(j,e.Diagnostics.The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary,e.declarationNameToString(j),\"unique symbol\"))},reportCyclicStructureError:function(){j&&H0.addDiagnostic(e.createDiagnosticForNode(j,e.Diagnostics.The_inferred_type_of_0_references_a_type_with_a_cyclic_structure_which_cannot_be_trivially_serialized_A_type_annotation_is_necessary,e.declarationNameToString(j)))},reportPrivateInBaseOfClassExpression:function(O){(j||G)&&H0.addDiagnostic(e.createDiagnosticForNode(j||G,e.Diagnostics.Property_0_of_exported_class_expression_may_not_be_private_or_protected,O))},reportLikelyUnsafeImportRequiredError:function(O){j&&H0.addDiagnostic(e.createDiagnosticForNode(j,e.Diagnostics.The_inferred_type_of_0_cannot_be_named_without_a_reference_to_1_This_is_likely_not_portable_A_type_annotation_is_necessary,e.declarationNameToString(j),O))},reportTruncationError:function(){(j||G)&&H0.addDiagnostic(e.createDiagnosticForNode(j||G,e.Diagnostics.The_inferred_type_of_this_node_exceeds_the_maximum_length_the_compiler_will_serialize_An_explicit_type_annotation_is_needed))},moduleResolverHost:H,trackReferencedAmbientModule:function(O,b1){var Px=V0.getTypeReferenceDirectivesForSymbol(b1,67108863);if(e.length(Px))return G0(Px);var me=e.getSourceFileOfNode(O);U.set(e.getOriginalNodeId(me),me)},trackExternalModuleSymbolOfImportTypeNode:function(O){x0||(o0||(o0=[])).push(O)},reportNonlocalAugmentation:function(O,b1,Px){var me,Re=(me=b1.declarations)===null||me===void 0?void 0:me.find(function(Nt){return e.getSourceFileOfNode(Nt)===O}),gt=e.filter(Px.declarations,function(Nt){return e.getSourceFileOfNode(Nt)!==O});if(gt)for(var Vt=0,wr=gt;Vt<wr.length;Vt++){var gr=wr[Vt];H0.addDiagnostic(e.addRelatedInfo(e.createDiagnosticForNode(gr,e.Diagnostics.Declaration_augments_declaration_in_another_file_This_cannot_be_serialized),e.createDiagnosticForNode(Re,e.Diagnostics.This_is_the_declaration_being_augmented_Consider_moving_the_augmenting_declaration_into_the_same_file)))}}},V0=H0.getEmitResolver(),t0=H0.getCompilerOptions(),f0=t0.noResolve,y0=t0.stripInternal;return function(O){if(O.kind===298&&O.isDeclarationFile)return O;if(O.kind===299){x0=!0,U=new e.Map,g0=new e.Map;var b1=!1,Px=w.createBundle(e.map(O.sourceFiles,function(Kn){if(!Kn.isDeclarationFile){if(b1=b1||Kn.hasNoDefaultLib,u0=Kn,E0=Kn,A=void 0,A0=!1,Z=new e.Map,c0=P0,w0=!1,V=!1,S1(Kn,U),Q1(Kn,g0),e.isExternalOrCommonJsModule(Kn)||e.isJsonSourceFile(Kn)){l0=!1,D0=!1;var oi=e.isSourceFileJS(Kn)?w.createNodeArray(h1(Kn,!0)):e.visitNodes(Kn.statements,Y1);return w.updateSourceFile(Kn,[w.createModuleDeclaration([],[w.createModifier(133)],w.createStringLiteral(e.getResolvedExternalModuleName(H0.getEmitHost(),Kn)),w.createModuleBlock(e.setTextRange(w.createNodeArray(p0(oi)),Kn.statements)))],!0,[],[],!1,[])}D0=!0;var Ba=e.isSourceFileJS(Kn)?w.createNodeArray(h1(Kn)):e.visitNodes(Kn.statements,Y1);return w.updateSourceFile(Kn,p0(Ba),!0,[],[],!1,[])}}),e.mapDefined(O.prepends,function(Kn){if(Kn.kind===301){var oi=e.createUnparsedSourceFile(Kn,\"dts\",y0);return b1=b1||!!oi.hasNoDefaultLib,S1(oi,U),G0(oi.typeReferenceDirectives),Q1(oi,g0),oi}return Kn}));Px.syntheticFileReferences=[],Px.syntheticTypeReferences=Bt(),Px.syntheticLibReferences=xr(),Px.hasNoDefaultLib=b1;var me=e.getDirectoryPath(e.normalizeSlashes(e.getOutputPathsFor(O,H,!0).declarationFilePath)),Re=Ni(Px.syntheticFileReferences,me);return U.forEach(Re),Px}D0=!0,w0=!1,V=!1,E0=O,u0=O,c0=P0,x0=!1,l0=!1,A0=!1,A=void 0,Z=new e.Map,I=void 0,U=S1(u0,new e.Map),g0=Q1(u0,new e.Map);var gt,Vt=[],wr=e.getDirectoryPath(e.normalizeSlashes(e.getOutputPathsFor(O,H,!0).declarationFilePath)),gr=Ni(Vt,wr);if(e.isSourceFileJS(u0))gt=w.createNodeArray(h1(O)),U.forEach(gr),d0=e.filter(gt,e.isAnyImportSyntax);else{var Nt=e.visitNodes(O.statements,Y1);gt=e.setTextRange(w.createNodeArray(p0(Nt)),O.statements),U.forEach(gr),d0=e.filter(gt,e.isAnyImportSyntax),e.isExternalModule(O)&&(!l0||w0&&!V)&&(gt=e.setTextRange(w.createNodeArray(D(D([],gt),[e.createEmptyExports(w)])),gt))}var Ir=w.updateSourceFile(O,gt,!0,Vt,Bt(),O.hasNoDefaultLib,xr());return Ir.exportedModulesFromDeclarationEmit=o0,Ir;function xr(){return e.map(e.arrayFrom(g0.keys()),function(Kn){return{fileName:Kn,pos:-1,end:-1}})}function Bt(){return I?e.mapDefined(e.arrayFrom(I.keys()),ar):[]}function ar(Kn){if(d0)for(var oi=0,Ba=d0;oi<Ba.length;oi++){var dt=Ba[oi];if(e.isImportEqualsDeclaration(dt)&&e.isExternalModuleReference(dt.moduleReference)){var Gt=dt.moduleReference.expression;if(e.isStringLiteralLike(Gt)&&Gt.text===Kn)return}else if(e.isImportDeclaration(dt)&&e.isStringLiteral(dt.moduleSpecifier)&&dt.moduleSpecifier.text===Kn)return}return{fileName:Kn,pos:-1,end:-1}}function Ni(Kn,oi){return function(Ba){var dt;if(Ba.isDeclarationFile)dt=Ba.fileName;else{if(x0&&e.contains(O.sourceFiles,Ba))return;var Gt=e.getOutputPathsFor(Ba,H,!0);dt=Gt.declarationFilePath||Gt.jsFilePath||Ba.fileName}if(dt){var lr=e.moduleSpecifiers.getModuleSpecifier(t0,u0,e.toPath(oi,H.getCurrentDirectory(),H.getCanonicalFileName),e.toPath(dt,H.getCurrentDirectory(),H.getCanonicalFileName),H,void 0);if(!e.pathIsRelative(lr))return void G0([lr]);var en=e.getRelativePathToDirectoryOrUrl(oi,dt,H.getCurrentDirectory(),H.getCanonicalFileName,!1);if(e.startsWith(en,\"./\")&&e.hasExtension(en)&&(en=en.substring(2)),e.startsWith(en,\"node_modules/\")||e.pathContainsNodeModules(en))return;Kn.push({pos:-1,end:-1,fileName:en})}}}};function G0(O){if(O){I=I||new e.Set;for(var b1=0,Px=O;b1<Px.length;b1++){var me=Px[b1];I.add(me)}}}function d1(O){if(O.accessibility===0){if(O&&O.aliasesToMakeVisible)if(A)for(var b1=0,Px=O.aliasesToMakeVisible;b1<Px.length;b1++){var me=Px[b1];e.pushIfUnique(A,me)}else A=O.aliasesToMakeVisible}else{var Re=c0(O);Re&&(Re.typeName?H0.addDiagnostic(e.createDiagnosticForNode(O.errorNode||Re.errorNode,Re.diagnosticMessage,e.getTextOfNode(Re.typeName),O.errorSymbolName,O.errorModuleName)):H0.addDiagnostic(e.createDiagnosticForNode(O.errorNode||Re.errorNode,Re.diagnosticMessage,O.errorSymbolName,O.errorModuleName)))}}function h1(O,b1){var Px=c0;c0=function(Re){return Re.errorNode&&e.canProduceDiagnostics(Re.errorNode)?e.createGetSymbolAccessibilityDiagnosticForNode(Re.errorNode)(Re):{diagnosticMessage:Re.errorModuleName?e.Diagnostics.Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotation_may_unblock_declaration_emit:e.Diagnostics.Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_declaration_emit,errorNode:Re.errorNode||O}};var me=V0.getDeclarationStatementsForSourceFile(O,J,k0,b1);return c0=Px,me}function S1(O,b1){return f0||!e.isUnparsedSource(O)&&e.isSourceFileJS(O)||e.forEach(O.referencedFiles,function(Px){var me=H.getSourceFileFromReference(O,Px);me&&b1.set(e.getOriginalNodeId(me),me)}),b1}function Q1(O,b1){return e.forEach(O.libReferenceDirectives,function(Px){H.getLibFileFromReference(Px)&&b1.set(e.toFileNameLowerCase(Px.fileName),!0)}),b1}function Y0(O){return O.kind===78?O:O.kind===198?w.updateArrayBindingPattern(O,e.visitNodes(O.elements,b1)):w.updateObjectBindingPattern(O,e.visitNodes(O.elements,b1));function b1(Px){return Px.kind===223?Px:w.updateBindingElement(Px,Px.dotDotDotToken,Px.propertyName,Y0(Px.name),Z1(Px)?Px.initializer:void 0)}}function $1(O,b1,Px){var me;A0||(me=c0,c0=e.createGetSymbolAccessibilityDiagnosticForNode(O));var Re=w.updateParameterDeclaration(O,void 0,function(gt,Vt,wr){return e.factory.createModifiersFromModifierFlags(s1(gt,Vt,wr))}(O,b1),O.dotDotDotToken,Y0(O.name),V0.isOptionalParameter(O)?O.questionToken||w.createToken(57):void 0,y1(O,Px||O.type,!0),Q0(O));return A0||(c0=me),Re}function Z1(O){return function(b1){switch(b1.kind){case 164:case 163:return!e.hasEffectiveModifier(b1,8);case 161:case 250:return!0}return!1}(O)&&V0.isLiteralConstDeclaration(e.getParseTreeNode(O))}function Q0(O){if(Z1(O))return V0.createLiteralConstValue(e.getParseTreeNode(O),k0)}function y1(O,b1,Px){if((Px||!e.hasEffectiveModifier(O,8))&&!Z1(O)){var me,Re=O.kind===161&&(V0.isRequiredInitializedParameter(O)||V0.isOptionalUninitializedParameterProperty(O));return b1&&!Re?e.visitNode(b1,p1):e.getParseTreeNode(O)?O.kind===169?w.createKeywordTypeNode(128):(j=O.name,A0||(me=c0,c0=e.createGetSymbolAccessibilityDiagnosticForNode(O)),O.kind===250||O.kind===199?gt(V0.createTypeOfDeclaration(O,E0,J,k0)):O.kind===161||O.kind===164||O.kind===163?O.initializer?gt(V0.createTypeOfDeclaration(O,E0,J,k0,Re)||V0.createTypeOfExpression(O.initializer,E0,J,k0)):gt(V0.createTypeOfDeclaration(O,E0,J,k0,Re)):gt(V0.createReturnTypeOfSignatureDeclaration(O,E0,J,k0))):b1?e.visitNode(b1,p1):w.createKeywordTypeNode(128)}function gt(Vt){return j=void 0,A0||(c0=me),Vt||w.createKeywordTypeNode(128)}}function k1(O){switch((O=e.getParseTreeNode(O)).kind){case 252:case 257:case 254:case 253:case 255:case 256:return!V0.isDeclarationVisible(O);case 250:return!I1(O);case 261:case 262:case 268:case 267:return!1}return!1}function I1(O){return!e.isOmittedExpression(O)&&(e.isBindingPattern(O.name)?e.some(O.name.elements,I1):V0.isDeclarationVisible(O))}function K0(O,b1,Px){if(!e.hasEffectiveModifier(O,8)){var me=e.map(b1,function(Re){return $1(Re,Px)});if(me)return w.createNodeArray(me,b1.hasTrailingComma)}}function G1(O,b1){var Px;if(!b1){var me=e.getThisParameter(O);me&&(Px=[$1(me)])}if(e.isSetAccessorDeclaration(O)){var Re=void 0;if(!b1){var gt=e.getSetAccessorValueParameter(O);gt&&(Re=$1(gt,void 0,C1(O,V0.getAllAccessorDeclarations(O))))}Re||(Re=w.createParameterDeclaration(void 0,void 0,void 0,\"value\")),Px=e.append(Px,Re)}return w.createNodeArray(Px||e.emptyArray)}function Nx(O,b1){return e.hasEffectiveModifier(O,8)?void 0:e.visitNodes(b1,p1)}function n1(O){return e.isSourceFile(O)||e.isTypeAliasDeclaration(O)||e.isModuleDeclaration(O)||e.isClassDeclaration(O)||e.isInterfaceDeclaration(O)||e.isFunctionLike(O)||e.isIndexSignatureDeclaration(O)||e.isMappedTypeNode(O)}function S0(O,b1){d1(V0.isEntityNameVisible(O,b1)),G0(V0.getTypeReferenceDirectivesForEntityName(O))}function I0(O,b1){return e.hasJSDocNodes(O)&&e.hasJSDocNodes(b1)&&(O.jsDoc=b1.jsDoc),e.setCommentRange(O,e.getCommentRange(b1))}function U0(O,b1){if(b1){if(l0=l0||O.kind!==257&&O.kind!==196,e.isStringLiteralLike(b1))if(x0){var Px=e.getExternalModuleNameFromDeclaration(H0.getEmitHost(),V0,O);if(Px)return w.createStringLiteral(Px)}else{var me=V0.getSymbolOfExternalModuleSpecifier(b1);me&&(o0||(o0=[])).push(me)}return b1}}function p0(O){for(;e.length(A);){var b1=A.shift();if(!e.isLateVisibilityPaintedStatement(b1))return e.Debug.fail(\"Late replaced statement was found which is not handled by the declaration transformer!: \"+(e.SyntaxKind?e.SyntaxKind[b1.kind]:b1.kind));var Px=D0;D0=b1.parent&&e.isSourceFile(b1.parent)&&!(e.isExternalModule(b1.parent)&&x0);var me=V1(b1);D0=Px,Z.set(e.getOriginalNodeId(b1),me)}return e.visitNodes(O,function(Re){if(e.isLateVisibilityPaintedStatement(Re)){var gt=e.getOriginalNodeId(Re);if(Z.has(gt)){var Vt=Z.get(gt);return Z.delete(gt),Vt&&((e.isArray(Vt)?e.some(Vt,e.needsScopeMarker):e.needsScopeMarker(Vt))&&(w0=!0),e.isSourceFile(Re.parent)&&(e.isArray(Vt)?e.some(Vt,e.isExternalModuleIndicator):e.isExternalModuleIndicator(Vt))&&(l0=!0)),Vt}}return Re})}function p1(O){if(!$x(O)){if(e.isDeclaration(O)&&(k1(O)||e.hasDynamicName(O)&&!V0.isLateBound(e.getParseTreeNode(O))))return;if(!(e.isFunctionLike(O)&&V0.isImplementationOfOverload(O)||e.isSemicolonClassElement(O))){var b1;n1(O)&&(b1=E0,E0=O);var Px=c0,me=e.canProduceDiagnostics(O),Re=A0,gt=(O.kind===178||O.kind===191)&&O.parent.kind!==255;if((e.isMethodDeclaration(O)||e.isMethodSignature(O))&&e.hasEffectiveModifier(O,8))return O.symbol&&O.symbol.declarations&&O.symbol.declarations[0]!==O?void 0:ar(w.createPropertyDeclaration(void 0,O0(O),O.name,void 0,void 0,void 0));if(me&&!A0&&(c0=e.createGetSymbolAccessibilityDiagnosticForNode(O)),e.isTypeQueryNode(O)&&S0(O.exprName,E0),gt&&(A0=!0),function(Ni){switch(Ni.kind){case 171:case 167:case 166:case 168:case 169:case 164:case 163:case 165:case 170:case 172:case 250:case 160:case 224:case 174:case 185:case 175:case 176:case 196:return!0}return!1}(O))switch(O.kind){case 224:(e.isEntityName(O.expression)||e.isEntityNameExpression(O.expression))&&S0(O.expression,E0);var Vt=e.visitEachChild(O,p1,H0);return ar(w.updateExpressionWithTypeArguments(Vt,Vt.expression,Vt.typeArguments));case 174:return S0(O.typeName,E0),Vt=e.visitEachChild(O,p1,H0),ar(w.updateTypeReferenceNode(Vt,Vt.typeName,Vt.typeArguments));case 171:return ar(w.updateConstructSignature(O,Nx(O,O.typeParameters),K0(O,O.parameters),y1(O,O.type)));case 167:return ar(w.createConstructorDeclaration(void 0,O0(O),K0(O,O.parameters,0),void 0));case 166:return e.isPrivateIdentifier(O.name)?ar(void 0):ar(w.createMethodDeclaration(void 0,O0(O),void 0,O.name,O.questionToken,Nx(O,O.typeParameters),K0(O,O.parameters),y1(O,O.type),void 0));case 168:if(e.isPrivateIdentifier(O.name))return ar(void 0);var wr=C1(O,V0.getAllAccessorDeclarations(O));return ar(w.updateGetAccessorDeclaration(O,void 0,O0(O),O.name,G1(O,e.hasEffectiveModifier(O,8)),y1(O,wr),void 0));case 169:return e.isPrivateIdentifier(O.name)?ar(void 0):ar(w.updateSetAccessorDeclaration(O,void 0,O0(O),O.name,G1(O,e.hasEffectiveModifier(O,8)),void 0));case 164:return e.isPrivateIdentifier(O.name)?ar(void 0):ar(w.updatePropertyDeclaration(O,void 0,O0(O),O.name,O.questionToken,y1(O,O.type),Q0(O)));case 163:return e.isPrivateIdentifier(O.name)?ar(void 0):ar(w.updatePropertySignature(O,O0(O),O.name,O.questionToken,y1(O,O.type)));case 165:return e.isPrivateIdentifier(O.name)?ar(void 0):ar(w.updateMethodSignature(O,O0(O),O.name,O.questionToken,Nx(O,O.typeParameters),K0(O,O.parameters),y1(O,O.type)));case 170:return ar(w.updateCallSignature(O,Nx(O,O.typeParameters),K0(O,O.parameters),y1(O,O.type)));case 172:return ar(w.updateIndexSignature(O,void 0,O0(O),K0(O,O.parameters),e.visitNode(O.type,p1)||w.createKeywordTypeNode(128)));case 250:return e.isBindingPattern(O.name)?Ox(O.name):(gt=!0,A0=!0,ar(w.updateVariableDeclaration(O,O.name,void 0,y1(O,O.type),Q0(O))));case 160:return function(Ni){return Ni.parent.kind===166&&e.hasEffectiveModifier(Ni.parent,8)}(O)&&(O.default||O.constraint)?ar(w.updateTypeParameterDeclaration(O,O.name,void 0,void 0)):ar(e.visitEachChild(O,p1,H0));case 185:var gr=e.visitNode(O.checkType,p1),Nt=e.visitNode(O.extendsType,p1),Ir=E0;E0=O.trueType;var xr=e.visitNode(O.trueType,p1);E0=Ir;var Bt=e.visitNode(O.falseType,p1);return ar(w.updateConditionalTypeNode(O,gr,Nt,xr,Bt));case 175:return ar(w.updateFunctionTypeNode(O,e.visitNodes(O.typeParameters,p1),K0(O,O.parameters),e.visitNode(O.type,p1)));case 176:return ar(w.updateConstructorTypeNode(O,O0(O),e.visitNodes(O.typeParameters,p1),K0(O,O.parameters),e.visitNode(O.type,p1)));case 196:return e.isLiteralImportTypeNode(O)?ar(w.updateImportTypeNode(O,w.updateLiteralTypeNode(O.argument,U0(O,O.argument.literal)),O.qualifier,e.visitNodes(O.typeArguments,p1,e.isTypeNode),O.isTypeOf)):ar(O);default:e.Debug.assertNever(O,\"Attempted to process unhandled node kind: \"+e.SyntaxKind[O.kind])}return e.isTupleTypeNode(O)&&e.getLineAndCharacterOfPosition(u0,O.pos).line===e.getLineAndCharacterOfPosition(u0,O.end).line&&e.setEmitFlags(O,1),ar(e.visitEachChild(O,p1,H0))}}function ar(Ni){return Ni&&me&&e.hasDynamicName(O)&&function(Kn){var oi;A0||(oi=c0,c0=e.createGetSymbolAccessibilityDiagnosticForNodeName(Kn)),j=Kn.name,e.Debug.assert(V0.isLateBound(e.getParseTreeNode(Kn))),S0(Kn.name.expression,E0),A0||(c0=oi),j=void 0}(O),n1(O)&&(E0=b1),me&&!A0&&(c0=Px),gt&&(A0=Re),Ni===O?Ni:Ni&&e.setOriginalNode(I0(Ni,O),O)}}function Y1(O){if(function(Re){switch(Re.kind){case 252:case 257:case 261:case 254:case 253:case 255:case 256:case 233:case 262:case 268:case 267:return!0}return!1}(O)&&!$x(O)){switch(O.kind){case 268:return e.isSourceFile(O.parent)&&(l0=!0),V=!0,w.updateExportDeclaration(O,void 0,O.modifiers,O.isTypeOnly,O.exportClause,U0(O,O.moduleSpecifier));case 267:if(e.isSourceFile(O.parent)&&(l0=!0),V=!0,O.expression.kind===78)return O;var b1=w.createUniqueName(\"_default\",16);c0=function(){return{diagnosticMessage:e.Diagnostics.Default_export_of_the_module_has_or_is_using_private_name_0,errorNode:O}},G=O;var Px=w.createVariableDeclaration(b1,void 0,V0.createTypeOfExpression(O.expression,O,J,k0),void 0);return G=void 0,[w.createVariableStatement(D0?[w.createModifier(133)]:[],w.createVariableDeclarationList([Px],2)),w.updateExportAssignment(O,O.decorators,O.modifiers,b1)]}var me=V1(O);return Z.set(e.getOriginalNodeId(O),me),O}}function N1(O){if(e.isImportEqualsDeclaration(O)||e.hasEffectiveModifier(O,512)||!e.canHaveModifiers(O))return O;var b1=w.createModifiersFromModifierFlags(27646&e.getEffectiveModifierFlags(O));return w.updateModifiers(O,b1)}function V1(O){if(!$x(O)){switch(O.kind){case 261:return function(ut){if(V0.isDeclarationVisible(ut)){if(ut.moduleReference.kind===273){var Gr=e.getExternalModuleImportEqualsDeclarationExpression(ut);return w.updateImportEqualsDeclaration(ut,void 0,ut.modifiers,ut.isTypeOnly,ut.name,w.updateExternalModuleReference(ut.moduleReference,U0(ut,Gr)))}var B=c0;return c0=e.createGetSymbolAccessibilityDiagnosticForNode(ut),S0(ut.moduleReference,E0),c0=B,ut}}(O);case 262:return function(ut){if(!ut.importClause)return w.updateImportDeclaration(ut,void 0,ut.modifiers,ut.importClause,U0(ut,ut.moduleSpecifier));var Gr=ut.importClause&&ut.importClause.name&&V0.isDeclarationVisible(ut.importClause)?ut.importClause.name:void 0;if(!ut.importClause.namedBindings)return Gr&&w.updateImportDeclaration(ut,void 0,ut.modifiers,w.updateImportClause(ut.importClause,ut.importClause.isTypeOnly,Gr,void 0),U0(ut,ut.moduleSpecifier));if(ut.importClause.namedBindings.kind===264){var B=V0.isDeclarationVisible(ut.importClause.namedBindings)?ut.importClause.namedBindings:void 0;return Gr||B?w.updateImportDeclaration(ut,void 0,ut.modifiers,w.updateImportClause(ut.importClause,ut.importClause.isTypeOnly,Gr,B),U0(ut,ut.moduleSpecifier)):void 0}var h0=e.mapDefined(ut.importClause.namedBindings.elements,function(M){return V0.isDeclarationVisible(M)?M:void 0});return h0&&h0.length||Gr?w.updateImportDeclaration(ut,void 0,ut.modifiers,w.updateImportClause(ut.importClause,ut.importClause.isTypeOnly,Gr,h0&&h0.length?w.updateNamedImports(ut.importClause.namedBindings,h0):void 0),U0(ut,ut.moduleSpecifier)):V0.isImportRequiredByAugmentation(ut)?w.updateImportDeclaration(ut,void 0,ut.modifiers,void 0,U0(ut,ut.moduleSpecifier)):void 0}(O)}if(!(e.isDeclaration(O)&&k1(O)||e.isFunctionLike(O)&&V0.isImplementationOfOverload(O))){var b1;n1(O)&&(b1=E0,E0=O);var Px=e.canProduceDiagnostics(O),me=c0;Px&&(c0=e.createGetSymbolAccessibilityDiagnosticForNode(O));var Re=D0;switch(O.kind){case 255:return or(w.updateTypeAliasDeclaration(O,void 0,O0(O),O.name,e.visitNodes(O.typeParameters,p1,e.isTypeParameterDeclaration),e.visitNode(O.type,p1,e.isTypeNode)));case 254:return or(w.updateInterfaceDeclaration(O,void 0,O0(O),O.name,Nx(O,O.typeParameters),nx(O.heritageClauses),e.visitNodes(O.members,p1)));case 252:var gt=or(w.updateFunctionDeclaration(O,void 0,O0(O),void 0,O.name,Nx(O,O.typeParameters),K0(O,O.parameters),y1(O,O.type),void 0));if(gt&&V0.isExpandoFunctionDeclaration(O)){var Vt=V0.getPropertiesOfContainerFunction(O),wr=e.parseNodeFactory.createModuleDeclaration(void 0,void 0,gt.name||w.createIdentifier(\"_default\"),w.createModuleBlock([]),16);e.setParent(wr,E0),wr.locals=e.createSymbolTable(Vt),wr.symbol=Vt[0].parent;var gr=[],Nt=e.mapDefined(Vt,function(ut){if(ut.valueDeclaration&&e.isPropertyAccessExpression(ut.valueDeclaration)){c0=e.createGetSymbolAccessibilityDiagnosticForNode(ut.valueDeclaration);var Gr=V0.createTypeOfDeclaration(ut.valueDeclaration,wr,J,k0);c0=me;var B=e.unescapeLeadingUnderscores(ut.escapedName),h0=e.isStringANonContextualKeyword(B),M=h0?w.getGeneratedNameForNode(ut.valueDeclaration):w.createIdentifier(B);h0&&gr.push([M,B]);var X0=w.createVariableDeclaration(M,void 0,Gr,void 0);return w.createVariableStatement(h0?void 0:[w.createToken(92)],w.createVariableDeclarationList([X0]))}});gr.length?Nt.push(w.createExportDeclaration(void 0,void 0,!1,w.createNamedExports(e.map(gr,function(ut){var Gr=ut[0],B=ut[1];return w.createExportSpecifier(Gr,B)})))):Nt=e.mapDefined(Nt,function(ut){return w.updateModifiers(ut,0)});var Ir=w.createModuleDeclaration(void 0,O0(O),O.name,w.createModuleBlock(Nt),16);if(!e.hasEffectiveModifier(gt,512))return[gt,Ir];var xr=w.createModifiersFromModifierFlags(-514&e.getEffectiveModifierFlags(gt)|2),Bt=w.updateFunctionDeclaration(gt,void 0,xr,void 0,gt.name,gt.typeParameters,gt.parameters,gt.type,void 0),ar=w.updateModuleDeclaration(Ir,void 0,xr,Ir.name,Ir.body),Ni=w.createExportAssignment(void 0,void 0,!1,Ir.name);return e.isSourceFile(O.parent)&&(l0=!0),V=!0,[Bt,ar,Ni]}return gt;case 257:D0=!1;var Kn=O.body;if(Kn&&Kn.kind===258){var oi=w0,Ba=V;V=!1,w0=!1;var dt=p0(e.visitNodes(Kn.statements,Y1));8388608&O.flags&&(w0=!1),e.isGlobalScopeAugmentation(O)||function(ut){return e.some(ut,rx)}(dt)||V||(dt=w0?w.createNodeArray(D(D([],dt),[e.createEmptyExports(w)])):e.visitNodes(dt,N1));var Gt=w.updateModuleBlock(Kn,dt);D0=Re,w0=oi,V=Ba;var lr=O0(O);return or(w.updateModuleDeclaration(O,void 0,lr,e.isExternalModuleAugmentation(O)?U0(O,O.name):O.name,Gt))}D0=Re,lr=O0(O),D0=!1,e.visitNode(Kn,Y1);var en=e.getOriginalNodeId(Kn);return Gt=Z.get(en),Z.delete(en),or(w.updateModuleDeclaration(O,void 0,lr,O.name,Gt));case 253:j=O.name,G=O,xr=w.createNodeArray(O0(O));var ii=Nx(O,O.typeParameters),Tt=e.getFirstConstructorWithBody(O),bn=void 0;if(Tt){var Le=c0;bn=e.compact(e.flatMap(Tt.parameters,function(ut){if(e.hasSyntacticModifier(ut,16476)&&!$x(ut))return c0=e.createGetSymbolAccessibilityDiagnosticForNode(ut),ut.name.kind===78?I0(w.createPropertyDeclaration(void 0,O0(ut),ut.name,ut.questionToken,y1(ut,ut.type),Q0(ut)),ut):function Gr(B){for(var h0,M=0,X0=B.elements;M<X0.length;M++){var l1=X0[M];e.isOmittedExpression(l1)||(e.isBindingPattern(l1.name)&&(h0=e.concatenate(h0,Gr(l1.name))),(h0=h0||[]).push(w.createPropertyDeclaration(void 0,O0(ut),l1.name,void 0,y1(l1,void 0),void 0)))}return h0}(ut.name)})),c0=Le}var Sa=e.some(O.members,function(ut){return!!ut.name&&e.isPrivateIdentifier(ut.name)})?[w.createPropertyDeclaration(void 0,void 0,w.createPrivateIdentifier(\"#private\"),void 0,void 0,void 0)]:void 0,Yn=e.concatenate(e.concatenate(Sa,bn),e.visitNodes(O.members,p1)),W1=w.createNodeArray(Yn),cx=e.getEffectiveBaseTypeNode(O);if(cx&&!e.isEntityNameExpression(cx.expression)&&cx.expression.kind!==103){var E1=O.name?e.unescapeLeadingUnderscores(O.name.escapedText):\"default\",qx=w.createUniqueName(E1+\"_base\",16);c0=function(){return{diagnosticMessage:e.Diagnostics.extends_clause_of_exported_class_0_has_or_is_using_private_name_1,errorNode:cx,typeName:O.name}};var xt=w.createVariableDeclaration(qx,void 0,V0.createTypeOfExpression(cx.expression,O,J,k0),void 0),ae=w.createVariableStatement(D0?[w.createModifier(133)]:[],w.createVariableDeclarationList([xt],2)),Ut=w.createNodeArray(e.map(O.heritageClauses,function(ut){if(ut.token===93){var Gr=c0;c0=e.createGetSymbolAccessibilityDiagnosticForNode(ut.types[0]);var B=w.updateHeritageClause(ut,e.map(ut.types,function(h0){return w.updateExpressionWithTypeArguments(h0,qx,e.visitNodes(h0.typeArguments,p1))}));return c0=Gr,B}return w.updateHeritageClause(ut,e.visitNodes(w.createNodeArray(e.filter(ut.types,function(h0){return e.isEntityNameExpression(h0.expression)||h0.expression.kind===103})),p1))}));return[ae,or(w.updateClassDeclaration(O,void 0,xr,O.name,ii,Ut,W1))]}return Ut=nx(O.heritageClauses),or(w.updateClassDeclaration(O,void 0,xr,O.name,ii,Ut,W1));case 233:return or(function(ut){if(!!e.forEach(ut.declarationList.declarations,I1)){var Gr=e.visitNodes(ut.declarationList.declarations,p1);if(!!e.length(Gr))return w.updateVariableStatement(ut,w.createNodeArray(O0(ut)),w.updateVariableDeclarationList(ut.declarationList,Gr))}}(O));case 256:return or(w.updateEnumDeclaration(O,void 0,w.createNodeArray(O0(O)),O.name,w.createNodeArray(e.mapDefined(O.members,function(ut){if(!$x(ut)){var Gr=V0.getConstantValue(ut);return I0(w.updateEnumMember(ut,ut.name,Gr!==void 0?typeof Gr==\"string\"?w.createStringLiteral(Gr):w.createNumericLiteral(Gr):void 0),ut)}}))))}return e.Debug.assertNever(O,\"Unhandled top-level node in declaration emit: \"+e.SyntaxKind[O.kind])}}function or(ut){return n1(O)&&(E0=b1),Px&&(c0=me),O.kind===257&&(D0=Re),ut===O?ut:(G=void 0,j=void 0,ut&&e.setOriginalNode(I0(ut,O),O))}}function Ox(O){return e.flatten(e.mapDefined(O.elements,function(b1){return function(Px){if(Px.kind!==223&&Px.name)return I1(Px)?e.isBindingPattern(Px.name)?Ox(Px.name):w.createVariableDeclaration(Px.name,void 0,y1(Px,void 0),void 0):void 0}(b1)}))}function $x(O){return!!y0&&!!O&&X(O,u0)}function rx(O){return e.isExportAssignment(O)||e.isExportDeclaration(O)}function O0(O){var b1=e.getEffectiveModifierFlags(O),Px=function(me){var Re=11003,gt=D0&&!function(wr){return wr.kind===254}(me)?2:0,Vt=me.parent.kind===298;return(!Vt||x0&&Vt&&e.isExternalModule(me.parent))&&(Re^=2,gt=0),s1(me,Re,gt)}(O);return b1===Px?O.modifiers:w.createModifiersFromModifierFlags(Px)}function C1(O,b1){var Px=i0(O);return Px||O===b1.firstAccessor||(Px=i0(b1.firstAccessor),c0=e.createGetSymbolAccessibilityDiagnosticForNode(b1.firstAccessor)),!Px&&b1.secondAccessor&&O!==b1.secondAccessor&&(Px=i0(b1.secondAccessor),c0=e.createGetSymbolAccessibilityDiagnosticForNode(b1.secondAccessor)),Px}function nx(O){return w.createNodeArray(e.filter(e.map(O,function(b1){return w.updateHeritageClause(b1,e.visitNodes(w.createNodeArray(e.filter(b1.types,function(Px){return e.isEntityNameExpression(Px.expression)||b1.token===93&&Px.expression.kind===103})),p1))}),function(b1){return b1.types&&!!b1.types.length}))}}function s1(H0,E0,I){E0===void 0&&(E0=27643),I===void 0&&(I=0);var A=e.getEffectiveModifierFlags(H0)&E0|I;return 512&A&&!(1&A)&&(A^=1),512&A&&2&A&&(A^=2),A}function i0(H0){if(H0)return H0.kind===168?H0.type:H0.parameters.length>0?H0.parameters[0].type:void 0}e.transformDeclarations=m0}(_0||(_0={})),function(e){var s,X;function J(A,Z,A0){if(A0)return e.emptyArray;var o0=e.getEmitScriptTarget(A),j=e.getEmitModuleKind(A),G=[];return e.addRange(G,Z&&e.map(Z.before,i0)),G.push(e.transformTypeScript),G.push(e.transformClassFields),e.getJSXTransformEnabled(A)&&G.push(e.transformJsx),o0<99&&G.push(e.transformESNext),o0<8&&G.push(e.transformES2021),o0<7&&G.push(e.transformES2020),o0<6&&G.push(e.transformES2019),o0<5&&G.push(e.transformES2018),o0<4&&G.push(e.transformES2017),o0<3&&G.push(e.transformES2016),o0<2&&(G.push(e.transformES2015),G.push(e.transformGenerators)),G.push(function(u0){switch(u0){case e.ModuleKind.ESNext:case e.ModuleKind.ES2020:case e.ModuleKind.ES2015:return e.transformECMAScriptModule;case e.ModuleKind.System:return e.transformSystemModule;default:return e.transformModule}}(j)),o0<1&&G.push(e.transformES5),e.addRange(G,Z&&e.map(Z.after,i0)),G}function m0(A){var Z=[];return Z.push(e.transformDeclarations),e.addRange(Z,A&&e.map(A.afterDeclarations,H0)),Z}function s1(A,Z){return function(A0){var o0=A(A0);return typeof o0==\"function\"?Z(A0,o0):function(j){return function(G){return e.isBundle(G)?j.transformBundle(G):j.transformSourceFile(G)}}(o0)}}function i0(A){return s1(A,e.chainBundle)}function H0(A){return s1(A,function(Z,A0){return A0})}function E0(A,Z){return Z}function I(A,Z,A0){A0(A,Z)}(function(A){A[A.Uninitialized=0]=\"Uninitialized\",A[A.Initialized=1]=\"Initialized\",A[A.Completed=2]=\"Completed\",A[A.Disposed=3]=\"Disposed\"})(s||(s={})),function(A){A[A.Substitution=1]=\"Substitution\",A[A.EmitNotifications=2]=\"EmitNotifications\"}(X||(X={})),e.noTransformers={scriptTransformers:e.emptyArray,declarationTransformers:e.emptyArray},e.getTransformers=function(A,Z,A0){return{scriptTransformers:J(A,Z,A0),declarationTransformers:m0(Z)}},e.noEmitSubstitution=E0,e.noEmitNotification=I,e.transformNodes=function(A,Z,A0,o0,j,G,u0){for(var U,g0,d0,P0,c0,D0=new Array(345),x0=0,l0=[],w0=[],V=[],w=[],H=0,k0=!1,V0=[],t0=0,f0=E0,y0=I,G0=0,d1=[],h1={factory:A0,getCompilerOptions:function(){return o0},getEmitResolver:function(){return A},getEmitHost:function(){return Z},getEmitHelperFactory:e.memoize(function(){return e.createEmitHelperFactory(h1)}),startLexicalEnvironment:function(){e.Debug.assert(G0>0,\"Cannot modify the lexical environment during initialization.\"),e.Debug.assert(G0<2,\"Cannot modify the lexical environment after transformation has completed.\"),e.Debug.assert(!k0,\"Lexical environment is suspended.\"),l0[H]=U,w0[H]=g0,V[H]=d0,w[H]=x0,H++,U=void 0,g0=void 0,d0=void 0,x0=0},suspendLexicalEnvironment:function(){e.Debug.assert(G0>0,\"Cannot modify the lexical environment during initialization.\"),e.Debug.assert(G0<2,\"Cannot modify the lexical environment after transformation has completed.\"),e.Debug.assert(!k0,\"Lexical environment is already suspended.\"),k0=!0},resumeLexicalEnvironment:function(){e.Debug.assert(G0>0,\"Cannot modify the lexical environment during initialization.\"),e.Debug.assert(G0<2,\"Cannot modify the lexical environment after transformation has completed.\"),e.Debug.assert(k0,\"Lexical environment is not suspended.\"),k0=!1},endLexicalEnvironment:function(){var Nx;if(e.Debug.assert(G0>0,\"Cannot modify the lexical environment during initialization.\"),e.Debug.assert(G0<2,\"Cannot modify the lexical environment after transformation has completed.\"),e.Debug.assert(!k0,\"Lexical environment is suspended.\"),U||g0||d0){if(g0&&(Nx=D([],g0)),U){var n1=A0.createVariableStatement(void 0,A0.createVariableDeclarationList(U));e.setEmitFlags(n1,1048576),Nx?Nx.push(n1):Nx=[n1]}d0&&(Nx=D(Nx?D([],Nx):[],d0))}return H--,U=l0[H],g0=w0[H],d0=V[H],x0=w[H],H===0&&(l0=[],w0=[],V=[],w=[]),Nx},setLexicalEnvironmentFlags:function(Nx,n1){x0=n1?x0|Nx:x0&~Nx},getLexicalEnvironmentFlags:function(){return x0},hoistVariableDeclaration:function(Nx){e.Debug.assert(G0>0,\"Cannot modify the lexical environment during initialization.\"),e.Debug.assert(G0<2,\"Cannot modify the lexical environment after transformation has completed.\");var n1=e.setEmitFlags(A0.createVariableDeclaration(Nx),64);U?U.push(n1):U=[n1],1&x0&&(x0|=2)},hoistFunctionDeclaration:function(Nx){e.Debug.assert(G0>0,\"Cannot modify the lexical environment during initialization.\"),e.Debug.assert(G0<2,\"Cannot modify the lexical environment after transformation has completed.\"),e.setEmitFlags(Nx,1048576),g0?g0.push(Nx):g0=[Nx]},addInitializationStatement:function(Nx){e.Debug.assert(G0>0,\"Cannot modify the lexical environment during initialization.\"),e.Debug.assert(G0<2,\"Cannot modify the lexical environment after transformation has completed.\"),e.setEmitFlags(Nx,1048576),d0?d0.push(Nx):d0=[Nx]},startBlockScope:function(){e.Debug.assert(G0>0,\"Cannot start a block scope during initialization.\"),e.Debug.assert(G0<2,\"Cannot start a block scope after transformation has completed.\"),V0[t0]=P0,t0++,P0=void 0},endBlockScope:function(){e.Debug.assert(G0>0,\"Cannot end a block scope during initialization.\"),e.Debug.assert(G0<2,\"Cannot end a block scope after transformation has completed.\");var Nx=e.some(P0)?[A0.createVariableStatement(void 0,A0.createVariableDeclarationList(P0.map(function(n1){return A0.createVariableDeclaration(n1)}),1))]:void 0;return t0--,P0=V0[t0],t0===0&&(V0=[]),Nx},addBlockScopedVariable:function(Nx){e.Debug.assert(t0>0,\"Cannot add a block scoped variable outside of an iteration body.\"),(P0||(P0=[])).push(Nx)},requestEmitHelper:function Nx(n1){if(e.Debug.assert(G0>0,\"Cannot modify the transformation context during initialization.\"),e.Debug.assert(G0<2,\"Cannot modify the transformation context after transformation has completed.\"),e.Debug.assert(!n1.scoped,\"Cannot request a scoped emit helper.\"),n1.dependencies)for(var S0=0,I0=n1.dependencies;S0<I0.length;S0++){var U0=I0[S0];Nx(U0)}c0=e.append(c0,n1)},readEmitHelpers:function(){e.Debug.assert(G0>0,\"Cannot modify the transformation context during initialization.\"),e.Debug.assert(G0<2,\"Cannot modify the transformation context after transformation has completed.\");var Nx=c0;return c0=void 0,Nx},enableSubstitution:function(Nx){e.Debug.assert(G0<2,\"Cannot modify the transformation context after transformation has completed.\"),D0[Nx]|=1},enableEmitNotification:function(Nx){e.Debug.assert(G0<2,\"Cannot modify the transformation context after transformation has completed.\"),D0[Nx]|=2},isSubstitutionEnabled:K0,isEmitNotificationEnabled:G1,get onSubstituteNode(){return f0},set onSubstituteNode(Nx){e.Debug.assert(G0<1,\"Cannot modify transformation hooks after initialization has completed.\"),e.Debug.assert(Nx!==void 0,\"Value must not be 'undefined'\"),f0=Nx},get onEmitNode(){return y0},set onEmitNode(Nx){e.Debug.assert(G0<1,\"Cannot modify transformation hooks after initialization has completed.\"),e.Debug.assert(Nx!==void 0,\"Value must not be 'undefined'\"),y0=Nx},addDiagnostic:function(Nx){d1.push(Nx)}},S1=0,Q1=j;S1<Q1.length;S1++){var Y0=Q1[S1];e.disposeEmitNodes(e.getSourceFileOfNode(e.getParseTreeNode(Y0)))}e.performance.mark(\"beforeTransform\");var $1=G.map(function(Nx){return Nx(h1)}),Z1=function(Nx){for(var n1=0,S0=$1;n1<S0.length;n1++)Nx=(0,S0[n1])(Nx);return Nx};G0=1;for(var Q0=[],y1=0,k1=j;y1<k1.length;y1++)Y0=k1[y1],e.tracing===null||e.tracing===void 0||e.tracing.push(\"emit\",\"transformNodes\",Y0.kind===298?{path:Y0.path}:{kind:Y0.kind,pos:Y0.pos,end:Y0.end}),Q0.push((u0?Z1:I1)(Y0)),e.tracing===null||e.tracing===void 0||e.tracing.pop();return G0=2,e.performance.mark(\"afterTransform\"),e.performance.measure(\"transformTime\",\"beforeTransform\",\"afterTransform\"),{transformed:Q0,substituteNode:function(Nx,n1){return e.Debug.assert(G0<3,\"Cannot substitute a node after the result is disposed.\"),n1&&K0(n1)&&f0(Nx,n1)||n1},emitNodeWithNotification:function(Nx,n1,S0){e.Debug.assert(G0<3,\"Cannot invoke TransformationResult callbacks after the result is disposed.\"),n1&&(G1(n1)?y0(Nx,n1,S0):S0(Nx,n1))},isEmitNotificationEnabled:G1,dispose:function(){if(G0<3){for(var Nx=0,n1=j;Nx<n1.length;Nx++){var S0=n1[Nx];e.disposeEmitNodes(e.getSourceFileOfNode(e.getParseTreeNode(S0)))}U=void 0,l0=void 0,g0=void 0,w0=void 0,f0=void 0,y0=void 0,c0=void 0,G0=3}},diagnostics:d1};function I1(Nx){return!Nx||e.isSourceFile(Nx)&&Nx.isDeclarationFile?Nx:Z1(Nx)}function K0(Nx){return(1&D0[Nx.kind])!=0&&(4&e.getEmitFlags(Nx))==0}function G1(Nx){return(2&D0[Nx.kind])!=0||(2&e.getEmitFlags(Nx))!=0}},e.nullTransformationContext={factory:e.factory,getCompilerOptions:function(){return{}},getEmitResolver:e.notImplemented,getEmitHost:e.notImplemented,getEmitHelperFactory:e.notImplemented,startLexicalEnvironment:e.noop,resumeLexicalEnvironment:e.noop,suspendLexicalEnvironment:e.noop,endLexicalEnvironment:e.returnUndefined,setLexicalEnvironmentFlags:e.noop,getLexicalEnvironmentFlags:function(){return 0},hoistVariableDeclaration:e.noop,hoistFunctionDeclaration:e.noop,addInitializationStatement:e.noop,startBlockScope:e.noop,endBlockScope:e.returnUndefined,addBlockScopedVariable:e.noop,requestEmitHelper:e.noop,readEmitHelpers:e.notImplemented,enableSubstitution:e.noop,enableEmitNotification:e.noop,isSubstitutionEnabled:e.notImplemented,isEmitNotificationEnabled:e.notImplemented,onSubstituteNode:E0,onEmitNode:I,addDiagnostic:e.noop}}(_0||(_0={})),function(e){var s,X,J=function(){var D0=[];return D0[1024]=[\"{\",\"}\"],D0[2048]=[\"(\",\")\"],D0[4096]=[\"<\",\">\"],D0[8192]=[\"[\",\"]\"],D0}();function m0(D0,x0,l0,w0,V,w){w0===void 0&&(w0=!1);var H=e.isArray(l0)?l0:e.getSourceFilesToEmit(D0,l0,w0),k0=D0.getCompilerOptions();if(e.outFile(k0)){var V0=D0.getPrependNodes();if(H.length||V0.length){var t0=e.factory.createBundle(H,V0);if(G0=x0(H0(t0,D0,w0),t0))return G0}}else{if(!V)for(var f0=0,y0=H;f0<y0.length;f0++){var G0,d1=y0[f0];if(G0=x0(H0(d1,D0,w0),d1))return G0}if(w){var h1=s1(k0);if(h1)return x0({buildInfoPath:h1},void 0)}}}function s1(D0){var x0=D0.configFilePath;if(e.isIncrementalCompilation(D0)){if(D0.tsBuildInfoFile)return D0.tsBuildInfoFile;var l0,w0=e.outFile(D0);if(w0)l0=e.removeFileExtension(w0);else{if(!x0)return;var V=e.removeFileExtension(x0);l0=D0.outDir?D0.rootDir?e.resolvePath(D0.outDir,e.getRelativePathFromDirectory(D0.rootDir,V,!0)):e.combinePaths(D0.outDir,e.getBaseFileName(V)):V}return l0+\".tsbuildinfo\"}}function i0(D0,x0){var l0=e.outFile(D0),w0=D0.emitDeclarationOnly?void 0:l0,V=w0&&E0(w0,D0),w=x0||e.getEmitDeclarations(D0)?e.removeFileExtension(l0)+\".d.ts\":void 0;return{jsFilePath:w0,sourceMapFilePath:V,declarationFilePath:w,declarationMapPath:w&&e.getAreDeclarationMapsEnabled(D0)?w+\".map\":void 0,buildInfoPath:s1(D0)}}function H0(D0,x0,l0){var w0=x0.getCompilerOptions();if(D0.kind===299)return i0(w0,l0);var V=e.getOwnEmitOutputFilePath(D0.fileName,x0,I(D0,w0)),w=e.isJsonSourceFile(D0),H=w&&e.comparePaths(D0.fileName,V,x0.getCurrentDirectory(),!x0.useCaseSensitiveFileNames())===0,k0=w0.emitDeclarationOnly||H?void 0:V,V0=!k0||e.isJsonSourceFile(D0)?void 0:E0(k0,w0),t0=l0||e.getEmitDeclarations(w0)&&!w?e.getDeclarationEmitOutputFilePath(D0.fileName,x0):void 0;return{jsFilePath:k0,sourceMapFilePath:V0,declarationFilePath:t0,declarationMapPath:t0&&e.getAreDeclarationMapsEnabled(w0)?t0+\".map\":void 0,buildInfoPath:void 0}}function E0(D0,x0){return x0.sourceMap&&!x0.inlineSourceMap?D0+\".map\":void 0}function I(D0,x0){if(e.isJsonSourceFile(D0))return\".json\";if(x0.jsx===1){if(e.isSourceFileJS(D0)){if(e.fileExtensionIs(D0.fileName,\".jsx\"))return\".jsx\"}else if(D0.languageVariant===1)return\".jsx\"}return\".js\"}function A(D0,x0,l0,w0,V){return w0?e.resolvePath(w0,e.getRelativePathFromDirectory(V?V():U(x0,l0),D0,l0)):D0}function Z(D0,x0,l0,w0){return e.Debug.assert(!e.fileExtensionIs(D0,\".d.ts\")&&!e.fileExtensionIs(D0,\".json\")),e.changeExtension(A(D0,x0,l0,x0.options.declarationDir||x0.options.outDir,w0),\".d.ts\")}function A0(D0,x0,l0,w0){if(!x0.options.emitDeclarationOnly){var V=e.fileExtensionIs(D0,\".json\"),w=e.changeExtension(A(D0,x0,l0,x0.options.outDir,w0),V?\".json\":x0.options.jsx===1&&(e.fileExtensionIs(D0,\".tsx\")||e.fileExtensionIs(D0,\".jsx\"))?\".jsx\":\".js\");return V&&e.comparePaths(D0,w,e.Debug.checkDefined(x0.options.configFilePath),l0)===0?void 0:w}}function o0(){var D0;return{addOutput:function(x0){x0&&(D0||(D0=[])).push(x0)},getOutputs:function(){return D0||e.emptyArray}}}function j(D0,x0){var l0=i0(D0.options,!1),w0=l0.jsFilePath,V=l0.sourceMapFilePath,w=l0.declarationFilePath,H=l0.declarationMapPath,k0=l0.buildInfoPath;x0(w0),x0(V),x0(w),x0(H),x0(k0)}function G(D0,x0,l0,w0,V){if(!e.fileExtensionIs(x0,\".d.ts\")){var w=A0(x0,D0,l0,V);if(w0(w),!e.fileExtensionIs(x0,\".json\")&&(w&&D0.options.sourceMap&&w0(w+\".map\"),e.getEmitDeclarations(D0.options))){var H=Z(x0,D0,l0,V);w0(H),D0.options.declarationMap&&w0(H+\".map\")}}}function u0(D0,x0,l0,w0,V){var w;return D0.rootDir?(w=e.getNormalizedAbsolutePath(D0.rootDir,l0),V==null||V(D0.rootDir)):D0.composite&&D0.configFilePath?(w=e.getDirectoryPath(e.normalizeSlashes(D0.configFilePath)),V==null||V(w)):w=e.computeCommonSourceDirectoryOfFilenames(x0(),l0,w0),w&&w[w.length-1]!==e.directorySeparator&&(w+=e.directorySeparator),w}function U(D0,x0){var l0=D0.options,w0=D0.fileNames;return u0(l0,function(){return e.filter(w0,function(V){return!(l0.noEmitForJsFiles&&e.fileExtensionIsOneOf(V,e.supportedJSExtensions)||e.fileExtensionIs(V,\".d.ts\"))})},e.getDirectoryPath(e.normalizeSlashes(e.Debug.checkDefined(l0.configFilePath))),e.createGetCanonicalFileName(!x0))}function g0(D0,x0,l0,w0,V,w,H){var k0,V0,t0=w0.scriptTransformers,f0=w0.declarationTransformers,y0=x0.getCompilerOptions(),G0=y0.sourceMap||y0.inlineSourceMap||e.getAreDeclarationMapsEnabled(y0)?[]:void 0,d1=y0.listEmittedFiles?[]:void 0,h1=e.createDiagnosticCollection(),S1=e.getNewLineCharacter(y0,function(){return x0.getNewLine()}),Q1=e.createTextWriter(S1),Y0=e.performance.createTimer(\"printTime\",\"beforePrint\",\"afterPrint\"),$1=Y0.enter,Z1=Y0.exit,Q0=!1;return $1(),m0(x0,function(I1,K0){var G1,Nx=I1.jsFilePath,n1=I1.sourceMapFilePath,S0=I1.declarationFilePath,I0=I1.declarationMapPath,U0=I1.buildInfoPath;U0&&K0&&e.isBundle(K0)&&(G1=e.getDirectoryPath(e.getNormalizedAbsolutePath(U0,x0.getCurrentDirectory())),k0={commonSourceDirectory:p0(x0.getCommonSourceDirectory()),sourceFiles:K0.sourceFiles.map(function(p1){return p0(e.getNormalizedAbsolutePath(p1.fileName,x0.getCurrentDirectory()))})}),e.tracing===null||e.tracing===void 0||e.tracing.push(\"emit\",\"emitJsFileOrBundle\",{jsFilePath:Nx}),function(p1,Y1,N1,V1){if(!(!p1||V||!Y1)){if(Y1&&x0.isEmitBlocked(Y1)||y0.noEmit)return void(Q0=!0);var Ox=e.transformNodes(D0,x0,e.factory,y0,[p1],t0,!1),$x=c0({removeComments:y0.removeComments,newLine:y0.newLine,noEmitHelpers:y0.noEmitHelpers,module:y0.module,target:y0.target,sourceMap:y0.sourceMap,inlineSourceMap:y0.inlineSourceMap,inlineSources:y0.inlineSources,extendedDiagnostics:y0.extendedDiagnostics,writeBundleFileInfo:!!k0,relativeToBuildInfo:V1},{hasGlobalName:D0.hasGlobalName,onEmitNode:Ox.emitNodeWithNotification,isEmitNotificationEnabled:Ox.isEmitNotificationEnabled,substituteNode:Ox.substituteNode});e.Debug.assert(Ox.transformed.length===1,\"Should only see one output from the transform\"),k1(Y1,N1,Ox.transformed[0],$x,y0),Ox.dispose(),k0&&(k0.js=$x.bundleFileInfo)}}(K0,Nx,n1,p0),e.tracing===null||e.tracing===void 0||e.tracing.pop(),e.tracing===null||e.tracing===void 0||e.tracing.push(\"emit\",\"emitDeclarationFileOrBundle\",{declarationFilePath:S0}),function(p1,Y1,N1,V1){if(!!p1){if(!Y1)return void((V||y0.emitDeclarationOnly)&&(Q0=!0));var Ox=e.isSourceFile(p1)?[p1]:p1.sourceFiles,$x=H?Ox:e.filter(Ox,e.isSourceFileNotJson),rx=e.outFile(y0)?[e.factory.createBundle($x,e.isSourceFile(p1)?void 0:p1.prepends)]:$x;V&&!e.getEmitDeclarations(y0)&&$x.forEach(y1);var O0=e.transformNodes(D0,x0,e.factory,y0,rx,f0,!1);if(e.length(O0.diagnostics))for(var C1=0,nx=O0.diagnostics;C1<nx.length;C1++){var O=nx[C1];h1.add(O)}var b1=c0({removeComments:y0.removeComments,newLine:y0.newLine,noEmitHelpers:!0,module:y0.module,target:y0.target,sourceMap:y0.sourceMap,inlineSourceMap:y0.inlineSourceMap,extendedDiagnostics:y0.extendedDiagnostics,onlyPrintJsDocStyle:!0,writeBundleFileInfo:!!k0,recordInternalSection:!!k0,relativeToBuildInfo:V1},{hasGlobalName:D0.hasGlobalName,onEmitNode:O0.emitNodeWithNotification,isEmitNotificationEnabled:O0.isEmitNotificationEnabled,substituteNode:O0.substituteNode}),Px=!!O0.diagnostics&&!!O0.diagnostics.length||!!x0.isEmitBlocked(Y1)||!!y0.noEmit;if(Q0=Q0||Px,(!Px||H)&&(e.Debug.assert(O0.transformed.length===1,\"Should only see one output from the decl transform\"),k1(Y1,N1,O0.transformed[0],b1,{sourceMap:!H&&y0.declarationMap,sourceRoot:y0.sourceRoot,mapRoot:y0.mapRoot,extendedDiagnostics:y0.extendedDiagnostics}),H&&O0.transformed[0].kind===298)){var me=O0.transformed[0];V0=me.exportedModulesFromDeclarationEmit}O0.dispose(),k0&&(k0.dts=b1.bundleFileInfo)}}(K0,S0,I0,p0),e.tracing===null||e.tracing===void 0||e.tracing.pop(),e.tracing===null||e.tracing===void 0||e.tracing.push(\"emit\",\"emitBuildInfo\",{buildInfoPath:U0}),function(p1,Y1){if(!(!Y1||l0||Q0)){var N1=x0.getProgramBuildInfo();if(x0.isEmitBlocked(Y1))return void(Q0=!0);var V1=e.version;e.writeFile(x0,h1,Y1,d0({bundle:p1,program:N1,version:V1}),!1)}}(k0,U0),e.tracing===null||e.tracing===void 0||e.tracing.pop(),!Q0&&d1&&(V||(Nx&&d1.push(Nx),n1&&d1.push(n1),U0&&d1.push(U0)),S0&&d1.push(S0),I0&&d1.push(I0));function p0(p1){return e.ensurePathIsNonModuleName(e.getRelativePathFromDirectory(G1,p1,x0.getCanonicalFileName))}},e.getSourceFilesToEmit(x0,l0,H),H,w,!l0),Z1(),{emitSkipped:Q0,diagnostics:h1.getDiagnostics(),emittedFiles:d1,sourceMaps:G0,exportedModulesFromDeclarationEmit:V0};function y1(I1){e.isExportAssignment(I1)?I1.expression.kind===78&&D0.collectLinkedAliases(I1.expression,!0):e.isExportSpecifier(I1)?D0.collectLinkedAliases(I1.propertyName||I1.name,!0):e.forEachChild(I1,y1)}function k1(I1,K0,G1,Nx,n1){var S0,I0=G1.kind===299?G1:void 0,U0=G1.kind===298?G1:void 0,p0=I0?I0.sourceFiles:[U0];if(function(N1,V1){return(N1.sourceMap||N1.inlineSourceMap)&&(V1.kind!==298||!e.fileExtensionIs(V1.fileName,\".json\"))}(n1,G1)&&(S0=e.createSourceMapGenerator(x0,e.getBaseFileName(e.normalizeSlashes(I1)),function(N1){var V1=e.normalizeSlashes(N1.sourceRoot||\"\");return V1&&e.ensureTrailingDirectorySeparator(V1)}(n1),function(N1,V1,Ox){if(N1.sourceRoot)return x0.getCommonSourceDirectory();if(N1.mapRoot){var $x=e.normalizeSlashes(N1.mapRoot);return Ox&&($x=e.getDirectoryPath(e.getSourceFilePathInNewDir(Ox.fileName,x0,$x))),e.getRootLength($x)===0&&($x=e.combinePaths(x0.getCommonSourceDirectory(),$x)),$x}return e.getDirectoryPath(e.normalizePath(V1))}(n1,I1,U0),n1)),I0?Nx.writeBundle(I0,Q1,S0):Nx.writeFile(U0,Q1,S0),S0){G0&&G0.push({inputSourceFileNames:S0.getSources(),sourceMap:S0.toJSON()});var p1=function(N1,V1,Ox,$x,rx){if(N1.inlineSourceMap){var O0=V1.toString();return\"data:application/json;base64,\"+e.base64encode(e.sys,O0)}var C1=e.getBaseFileName(e.normalizeSlashes(e.Debug.checkDefined($x)));if(N1.mapRoot){var nx=e.normalizeSlashes(N1.mapRoot);return rx&&(nx=e.getDirectoryPath(e.getSourceFilePathInNewDir(rx.fileName,x0,nx))),e.getRootLength(nx)===0?(nx=e.combinePaths(x0.getCommonSourceDirectory(),nx),encodeURI(e.getRelativePathToDirectoryOrUrl(e.getDirectoryPath(e.normalizePath(Ox)),e.combinePaths(nx,C1),x0.getCurrentDirectory(),x0.getCanonicalFileName,!0))):encodeURI(e.combinePaths(nx,C1))}return encodeURI(C1)}(n1,S0,I1,K0,U0);if(p1&&(Q1.isAtStartOfLine()||Q1.rawWrite(S1),Q1.writeComment(\"//# sourceMappingURL=\"+p1)),K0){var Y1=S0.toString();e.writeFile(x0,h1,K0,Y1,!1,p0)}}else Q1.writeLine();e.writeFile(x0,h1,I1,Q1.getText(),!!y0.emitBOM,p0),Q1.clear()}}function d0(D0){return JSON.stringify(D0)}function P0(D0){return JSON.parse(D0)}function c0(D0,x0){D0===void 0&&(D0={}),x0===void 0&&(x0={});var l0,w0,V,w,H,k0,V0,t0,f0,y0,G0,d1,h1,S1,Q1,Y0,$1,Z1,Q0,y1=x0.hasGlobalName,k1=x0.onEmitNode,I1=k1===void 0?e.noEmitNotification:k1,K0=x0.isEmitNotificationEnabled,G1=x0.substituteNode,Nx=G1===void 0?e.noEmitSubstitution:G1,n1=x0.onBeforeEmitNode,S0=x0.onAfterEmitNode,I0=x0.onBeforeEmitNodeArray,U0=x0.onAfterEmitNodeArray,p0=x0.onBeforeEmitToken,p1=x0.onAfterEmitToken,Y1=!!D0.extendedDiagnostics,N1=e.getNewLineCharacter(D0),V1=e.getEmitModuleKind(D0),Ox=new e.Map,$x=D0.preserveSourceNewlines,rx=function(we){y0.write(we)},O0=D0.writeBundleFileInfo?{sections:[]}:void 0,C1=O0?e.Debug.checkDefined(D0.relativeToBuildInfo):void 0,nx=D0.recordInternalSection,O=0,b1=\"text\",Px=!0,me=-1,Re=-1,gt=-1,Vt=-1,wr=-1,gr=!1,Nt=!!D0.removeComments,Ir=e.performance.createTimerIf(Y1,\"commentTime\",\"beforeComment\",\"afterComment\"),xr=Ir.enter,Bt=Ir.exit,ar=e.factory.parenthesizer,Ni=function(){return e.createBinaryExpressionTrampoline(function(it,Ln){if(Ln){Ln.stackIndex++,Ln.preserveSourceNewlinesStack[Ln.stackIndex]=$x,Ln.containerPosStack[Ln.stackIndex]=gt,Ln.containerEndStack[Ln.stackIndex]=Vt,Ln.declarationListContainerEndStack[Ln.stackIndex]=wr;var Xn=Ln.shouldEmitCommentsStack[Ln.stackIndex]=M(it),La=Ln.shouldEmitSourceMapsStack[Ln.stackIndex]=X0(it);n1==null||n1(it),Xn&&e4(it),La&&Qd(it),Gr(it)}else Ln={stackIndex:0,preserveSourceNewlinesStack:[void 0],containerPosStack:[-1],containerEndStack:[-1],declarationListContainerEndStack:[-1],shouldEmitCommentsStack:[!1],shouldEmitSourceMapsStack:[!1]};return Ln},function(it,Ln,Xn){return we(it,Xn,\"left\")},function(it,Ln,Xn){var La=it.kind!==27,qa=Ro(Xn,Xn.left,it),Hc=Ro(Xn,it,Xn.right);Jr(qa,La),Cd(it.pos),vp(it,it.kind===100?gl:bd),dd(it.end,!0),Jr(Hc,!0)},function(it,Ln,Xn){return we(it,Xn,\"right\")},function(it,Ln){var Xn=Ro(it,it.left,it.operatorToken),La=Ro(it,it.operatorToken,it.right);if(Un(Xn,La),Ln.stackIndex>0){var qa=Ln.preserveSourceNewlinesStack[Ln.stackIndex],Hc=Ln.containerPosStack[Ln.stackIndex],bx=Ln.containerEndStack[Ln.stackIndex],Wa=Ln.declarationListContainerEndStack[Ln.stackIndex],rs=Ln.shouldEmitCommentsStack[Ln.stackIndex],ht=Ln.shouldEmitSourceMapsStack[Ln.stackIndex];B(qa),ht&&$S(it),rs&&bp(it,Hc,bx,Wa),S0==null||S0(it),Ln.stackIndex--}},void 0);function we(it,Ln,Xn){var La=Xn===\"left\"?ar.getParenthesizeLeftSideOfBinaryForOperator(Ln.operatorToken.kind):ar.getParenthesizeRightSideOfBinaryForOperator(Ln.operatorToken.kind),qa=l1(0,1,it);if(qa===Kr&&(e.Debug.assertIsDefined(Z1),qa=Hx(1,1,it=La(e.cast(Z1,e.isExpression))),Z1=void 0),(qa===Al||qa===Jf||qa===Pe)&&e.isBinaryExpression(it))return it;Q0=La,qa(1,it)}}();return qx(),{printNode:function(we,it,Ln){switch(we){case 0:e.Debug.assert(e.isSourceFile(it),\"Expected a SourceFile node.\");break;case 2:e.Debug.assert(e.isIdentifier(it),\"Expected an Identifier node.\");break;case 1:e.Debug.assert(e.isExpression(it),\"Expected an Expression node.\")}switch(it.kind){case 298:return oi(it);case 299:return Kn(it);case 300:return function(Xn,La){var qa=y0;E1(La,void 0),W1(4,Xn,void 0),qx(),y0=qa}(it,Sa()),Yn()}return Ba(we,it,Ln,Sa()),Yn()},printList:function(we,it,Ln){return dt(we,it,Ln,Sa()),Yn()},printFile:oi,printBundle:Kn,writeNode:Ba,writeList:dt,writeFile:Le,writeBundle:bn,bundleFileInfo:O0};function Kn(we){return bn(we,Sa(),void 0),Yn()}function oi(we){return Le(we,Sa(),void 0),Yn()}function Ba(we,it,Ln,Xn){var La=y0;E1(Xn,void 0),W1(we,it,Ln),qx(),y0=La}function dt(we,it,Ln,Xn){var La=y0;E1(Xn,void 0),Ln&&cx(Ln),Ju(void 0,it,we),qx(),y0=La}function Gt(){return y0.getTextPosWithWriteLine?y0.getTextPosWithWriteLine():y0.getTextPos()}function lr(we,it,Ln){var Xn=e.lastOrUndefined(O0.sections);Xn&&Xn.kind===Ln?Xn.end=it:O0.sections.push({pos:we,end:it,kind:Ln})}function en(we){if(nx&&O0&&l0&&(e.isDeclaration(we)||e.isVariableStatement(we))&&e.isInternalDeclaration(we,l0)&&b1!==\"internal\"){var it=b1;return Tt(y0.getTextPos()),O=Gt(),b1=\"internal\",it}}function ii(we){we&&(Tt(y0.getTextPos()),O=Gt(),b1=we)}function Tt(we){return O<we&&(lr(O,we,b1),!0)}function bn(we,it,Ln){var Xn;d1=!1;var La=y0;E1(it,Ln),Yl(we),E4(we),pn(we),function(f2){kp(!!f2.hasNoDefaultLib,f2.syntheticFileReferences||[],f2.syntheticTypeReferences||[],f2.syntheticLibReferences||[]);for(var np=0,Cp=f2.prepends;np<Cp.length;np++){var ip=Cp[np];if(e.isUnparsedSource(ip)&&ip.syntheticReferences)for(var fp=0,xd=ip.syntheticReferences;fp<xd.length;fp++)ae(xd[fp]),rl()}}(we);for(var qa=0,Hc=we.prepends;qa<Hc.length;qa++){var bx=Hc[qa];rl();var Wa=y0.getTextPos(),rs=O0&&O0.sections;if(rs&&(O0.sections=[]),W1(4,bx,void 0),O0){var ht=O0.sections;O0.sections=rs,bx.oldFileOfCurrentEmit?(Xn=O0.sections).push.apply(Xn,ht):(ht.forEach(function(f2){return e.Debug.assert(e.isBundleFileTextLike(f2))}),O0.sections.push({pos:Wa,end:y0.getTextPos(),kind:\"prepend\",data:C1(bx.fileName),texts:ht}))}}O=Gt();for(var Mu=0,Gc=we.sourceFiles;Mu<Gc.length;Mu++){var Ab=Gc[Mu];W1(0,Ab,Ab)}if(O0&&we.sourceFiles.length&&Tt(y0.getTextPos())){var jf=function(f2){for(var np,Cp=new e.Set,ip=0;ip<f2.sourceFiles.length;ip++){for(var fp=f2.sourceFiles[ip],xd=void 0,l5=0,pp=0,Pp=fp.statements;pp<Pp.length;pp++){var Zo=Pp[pp];if(!e.isPrologueDirective(Zo))break;Cp.has(Zo.expression.text)||(Cp.add(Zo.expression.text),(xd||(xd=[])).push({pos:Zo.pos,end:Zo.end,expression:{pos:Zo.expression.pos,end:Zo.expression.end,text:Zo.expression.text}}),l5=l5<Zo.end?Zo.end:l5)}xd&&(np||(np=[])).push({file:ip,text:fp.text.substring(0,l5),directives:xd})}return np}(we);jf&&(O0.sources||(O0.sources={}),O0.sources.prologues=jf);var lp=function(f2){var np;if(!(V1===e.ModuleKind.None||D0.noEmitHelpers)){for(var Cp=new e.Map,ip=0,fp=f2.sourceFiles;ip<fp.length;ip++){var xd=fp[ip],l5=e.getExternalHelpersModuleName(xd)!==void 0,pp=rn(xd);if(pp)for(var Pp=0,Zo=pp;Pp<Zo.length;Pp++){var Fo=Zo[Pp];Fo.scoped||l5||Cp.get(Fo.name)||(Cp.set(Fo.name,!0),(np||(np=[])).push(Fo.name))}}return np}}(we);lp&&(O0.sources||(O0.sources={}),O0.sources.helpers=lp)}qx(),y0=La}function Le(we,it,Ln){d1=!0;var Xn=y0;E1(it,Ln),Yl(we),E4(we),W1(0,we,we),qx(),y0=Xn}function Sa(){return G0||(G0=e.createTextWriter(N1))}function Yn(){var we=G0.getText();return G0.clear(),we}function W1(we,it,Ln){Ln&&cx(Ln),h0(we,it,void 0)}function cx(we){l0=we,Y0=void 0,$1=void 0,we&&Qw(we)}function E1(we,it){we&&D0.omitTrailingSemicolon&&(we=e.getTrailingSemicolonDeferringWriter(we)),h1=it,Px=!(y0=we)||!h1}function qx(){w0=[],V=[],w=new e.Set,H=[],k0=0,V0=[],l0=void 0,Y0=void 0,$1=void 0,E1(void 0,void 0)}function xt(){return Y0||(Y0=e.getLineStarts(l0))}function ae(we,it){if(we!==void 0){var Ln=en(we);h0(4,we,it),ii(Ln)}}function Ut(we){we!==void 0&&h0(2,we,void 0)}function or(we,it){we!==void 0&&h0(1,we,it)}function ut(we){h0(e.isStringLiteral(we)?6:4,we)}function Gr(we){$x&&134217728&e.getEmitFlags(we)&&($x=!1)}function B(we){$x=we}function h0(we,it,Ln){Q0=Ln,l1(0,we,it)(we,it),Q0=void 0}function M(we){return!Nt&&!e.isSourceFile(we)}function X0(we){return!(Px||e.isSourceFile(we)||e.isInJsonFile(we)||e.isUnparsedSource(we)||e.isUnparsedPrepend(we))}function l1(we,it,Ln){switch(we){case 0:if(I1!==e.noEmitNotification&&(!K0||K0(Ln)))return ge;case 1:if(Nx!==e.noEmitSubstitution&&(Z1=Nx(it,Ln)||Ln)!==Ln)return Q0&&(Z1=Q0(Z1)),Kr;case 2:if(M(Ln))return Al;case 3:if(X0(Ln))return Jf;case 4:return Pe;default:return e.Debug.assertNever(we)}}function Hx(we,it,Ln){return l1(we+1,it,Ln)}function ge(we,it){var Ln=Hx(0,we,it);I1(we,it,Ln)}function Pe(we,it){if(n1==null||n1(it),$x){var Ln=$x;Gr(it),It(we,it),B(Ln)}else It(we,it);S0==null||S0(it),Q0=void 0}function It(we,it){if(we===0)return Qp(e.cast(it,e.isSourceFile));if(we===2)return Mn(e.cast(it,e.isIdentifier));if(we===6)return _t(e.cast(it,e.isStringLiteral),!0);if(we===3)return function(bx){ae(bx.name),Hi(),gl(\"in\"),Hi(),ae(bx.constraint)}(e.cast(it,e.isTypeParameterDeclaration));if(we===5)return e.Debug.assertNode(it,e.isEmptyStatement),Fr(!0);if(we===4){switch(it.kind){case 15:case 16:case 17:return _t(it,!1);case 78:return Mn(it);case 79:return function(bx){(bx.symbol?c5:rx)(gc(bx,!1),bx.symbol)}(it);case 158:return function(bx){(function(Wa){Wa.kind===78?or(Wa):ae(Wa)})(bx.left),Qo(\".\"),ae(bx.right)}(it);case 159:return function(bx){Qo(\"[\"),or(bx.expression,ar.parenthesizeExpressionOfComputedPropertyName),Qo(\"]\")}(it);case 160:return function(bx){ae(bx.name),bx.constraint&&(Hi(),gl(\"extends\"),Hi(),ae(bx.constraint)),bx.default&&(Hi(),bd(\"=\"),Hi(),ae(bx.default))}(it);case 161:return function(bx){tf(bx,bx.decorators),qE(bx,bx.modifiers),ae(bx.dotDotDotToken),fT(bx.name,Ld),ae(bx.questionToken),bx.parent&&bx.parent.kind===309&&!bx.name?ae(bx.type):df(bx.type),pl(bx.initializer,bx.type?bx.type.end:bx.questionToken?bx.questionToken.end:bx.name?bx.name.end:bx.modifiers?bx.modifiers.end:bx.decorators?bx.decorators.end:bx.pos,bx,ar.parenthesizeExpressionForDisallowedComma)}(it);case 162:return Hc=it,Qo(\"@\"),void or(Hc.expression,ar.parenthesizeLeftSideOfAccess);case 163:return function(bx){tf(bx,bx.decorators),qE(bx,bx.modifiers),fT(bx.name,Up),ae(bx.questionToken),df(bx.type),Rl()}(it);case 164:return function(bx){tf(bx,bx.decorators),qE(bx,bx.modifiers),ae(bx.name),ae(bx.questionToken),ae(bx.exclamationToken),df(bx.type),pl(bx.initializer,bx.type?bx.type.end:bx.questionToken?bx.questionToken.end:bx.name.end,bx),Rl()}(it);case 165:return function(bx){xc(bx),tf(bx,bx.decorators),qE(bx,bx.modifiers),ae(bx.name),ae(bx.questionToken),Nf(bx,bx.typeParameters),mf(bx,bx.parameters),df(bx.type),Rl(),Su(bx)}(it);case 166:return function(bx){tf(bx,bx.decorators),qE(bx,bx.modifiers),ae(bx.asteriskToken),ae(bx.name),ae(bx.questionToken),Kt(bx,Fa)}(it);case 167:return function(bx){qE(bx,bx.modifiers),gl(\"constructor\"),Kt(bx,Fa)}(it);case 168:case 169:return function(bx){tf(bx,bx.decorators),qE(bx,bx.modifiers),gl(bx.kind===168?\"get\":\"set\"),Hi(),ae(bx.name),Kt(bx,Fa)}(it);case 170:return function(bx){xc(bx),tf(bx,bx.decorators),qE(bx,bx.modifiers),Nf(bx,bx.typeParameters),mf(bx,bx.parameters),df(bx.type),Rl(),Su(bx)}(it);case 171:return function(bx){xc(bx),tf(bx,bx.decorators),qE(bx,bx.modifiers),gl(\"new\"),Hi(),Nf(bx,bx.typeParameters),mf(bx,bx.parameters),df(bx.type),Rl(),Su(bx)}(it);case 172:return function(bx){tf(bx,bx.decorators),qE(bx,bx.modifiers),Wa=bx,rs=bx.parameters,Ju(Wa,rs,8848),df(bx.type),Rl();var Wa,rs}(it);case 173:return function(bx){bx.assertsModifier&&(ae(bx.assertsModifier),Hi()),ae(bx.parameterName),bx.type&&(Hi(),gl(\"is\"),Hi(),ae(bx.type))}(it);case 174:return function(bx){ae(bx.typeName),cp(bx,bx.typeArguments)}(it);case 175:return function(bx){xc(bx),Nf(bx,bx.typeParameters),l2(bx,bx.parameters),Hi(),Qo(\"=>\"),Hi(),ae(bx.type),Su(bx)}(it);case 176:return function(bx){xc(bx),qE(bx,bx.modifiers),gl(\"new\"),Hi(),Nf(bx,bx.typeParameters),mf(bx,bx.parameters),Hi(),Qo(\"=>\"),Hi(),ae(bx.type),Su(bx)}(it);case 177:return function(bx){gl(\"typeof\"),Hi(),ae(bx.exprName)}(it);case 178:return function(bx){Qo(\"{\");var Wa=1&e.getEmitFlags(bx)?768:32897;Ju(bx,bx.members,524288|Wa),Qo(\"}\")}(it);case 179:return function(bx){ae(bx.elementType,ar.parenthesizeElementTypeOfArrayType),Qo(\"[\"),Qo(\"]\")}(it);case 180:return function(bx){Ur(22,bx.pos,Qo,bx);var Wa=1&e.getEmitFlags(bx)?528:657;Ju(bx,bx.elements,524288|Wa),Ur(23,bx.elements.end,Qo,bx)}(it);case 181:return function(bx){ae(bx.type,ar.parenthesizeElementTypeOfArrayType),Qo(\"?\")}(it);case 183:return function(bx){Ju(bx,bx.types,516,ar.parenthesizeMemberOfElementType)}(it);case 184:return function(bx){Ju(bx,bx.types,520,ar.parenthesizeMemberOfElementType)}(it);case 185:return function(bx){ae(bx.checkType,ar.parenthesizeMemberOfConditionalType),Hi(),gl(\"extends\"),Hi(),ae(bx.extendsType,ar.parenthesizeMemberOfConditionalType),Hi(),Qo(\"?\"),Hi(),ae(bx.trueType),Hi(),Qo(\":\"),Hi(),ae(bx.falseType)}(it);case 186:return function(bx){gl(\"infer\"),Hi(),ae(bx.typeParameter)}(it);case 187:return function(bx){Qo(\"(\"),ae(bx.type),Qo(\")\")}(it);case 224:return function(bx){or(bx.expression,ar.parenthesizeLeftSideOfAccess),cp(bx,bx.typeArguments)}(it);case 188:return void gl(\"this\");case 189:return function(bx){Zp(bx.operator,gl),Hi(),ae(bx.type,ar.parenthesizeMemberOfElementType)}(it);case 190:return function(bx){ae(bx.objectType,ar.parenthesizeMemberOfElementType),Qo(\"[\"),ae(bx.indexType),Qo(\"]\")}(it);case 191:return function(bx){var Wa=e.getEmitFlags(bx);Qo(\"{\"),1&Wa?Hi():(rl(),tA()),bx.readonlyToken&&(ae(bx.readonlyToken),bx.readonlyToken.kind!==142&&gl(\"readonly\"),Hi()),Qo(\"[\"),h0(3,bx.typeParameter),bx.nameType&&(Hi(),gl(\"as\"),Hi(),ae(bx.nameType)),Qo(\"]\"),bx.questionToken&&(ae(bx.questionToken),bx.questionToken.kind!==57&&Qo(\"?\")),Qo(\":\"),Hi(),ae(bx.type),Rl(),1&Wa?Hi():(rl(),rA()),Qo(\"}\")}(it);case 192:return function(bx){or(bx.literal)}(it);case 193:return function(bx){ae(bx.dotDotDotToken),ae(bx.name),ae(bx.questionToken),Ur(58,bx.name.end,Qo,bx),Hi(),ae(bx.type)}(it);case 194:return function(bx){ae(bx.head),Ju(bx,bx.templateSpans,262144)}(it);case 195:return function(bx){ae(bx.type),ae(bx.literal)}(it);case 196:return function(bx){bx.isTypeOf&&(gl(\"typeof\"),Hi()),gl(\"import\"),Qo(\"(\"),ae(bx.argument),Qo(\")\"),bx.qualifier&&(Qo(\".\"),ae(bx.qualifier)),cp(bx,bx.typeArguments)}(it);case 197:return function(bx){Qo(\"{\"),Ju(bx,bx.elements,525136),Qo(\"}\")}(it);case 198:return function(bx){Qo(\"[\"),Ju(bx,bx.elements,524880),Qo(\"]\")}(it);case 199:return function(bx){ae(bx.dotDotDotToken),bx.propertyName&&(ae(bx.propertyName),Qo(\":\"),Hi()),ae(bx.name),pl(bx.initializer,bx.name.end,bx,ar.parenthesizeExpressionForDisallowedComma)}(it);case 229:return function(bx){or(bx.expression),ae(bx.literal)}(it);case 230:return void Rl();case 231:return function(bx){fe(bx,!bx.multiLine&&Vc(bx))}(it);case 233:return function(bx){qE(bx,bx.modifiers),ae(bx.declarationList),Rl()}(it);case 232:return Fr(!1);case 234:return function(bx){or(bx.expression,ar.parenthesizeExpressionOfExpressionStatement),(!e.isJsonSourceFile(l0)||e.nodeIsSynthesized(bx.expression))&&Rl()}(it);case 235:return function(bx){var Wa=Ur(98,bx.pos,gl,bx);Hi(),Ur(20,Wa,Qo,bx),or(bx.expression),Ur(21,bx.expression.end,Qo,bx),jp(bx,bx.thenStatement),bx.elseStatement&&(Ef(bx,bx.thenStatement,bx.elseStatement),Ur(90,bx.thenStatement.end,gl,bx),bx.elseStatement.kind===235?(Hi(),ae(bx.elseStatement)):jp(bx,bx.elseStatement))}(it);case 236:return function(bx){Ur(89,bx.pos,gl,bx),jp(bx,bx.statement),e.isBlock(bx.statement)&&!$x?Hi():Ef(bx,bx.statement,bx.expression),yt(bx,bx.statement.end),Rl()}(it);case 237:return function(bx){yt(bx,bx.pos),jp(bx,bx.statement)}(it);case 238:return function(bx){var Wa=Ur(96,bx.pos,gl,bx);Hi();var rs=Ur(20,Wa,Qo,bx);Fn(bx.initializer),rs=Ur(26,bx.initializer?bx.initializer.end:rs,Qo,bx),rp(bx.condition),rs=Ur(26,bx.condition?bx.condition.end:rs,Qo,bx),rp(bx.incrementor),Ur(21,bx.incrementor?bx.incrementor.end:rs,Qo,bx),jp(bx,bx.statement)}(it);case 239:return function(bx){var Wa=Ur(96,bx.pos,gl,bx);Hi(),Ur(20,Wa,Qo,bx),Fn(bx.initializer),Hi(),Ur(100,bx.initializer.end,gl,bx),Hi(),or(bx.expression),Ur(21,bx.expression.end,Qo,bx),jp(bx,bx.statement)}(it);case 240:return function(bx){var Wa=Ur(96,bx.pos,gl,bx);Hi(),function(rs){rs&&(ae(rs),Hi())}(bx.awaitModifier),Ur(20,Wa,Qo,bx),Fn(bx.initializer),Hi(),Ur(157,bx.initializer.end,gl,bx),Hi(),or(bx.expression),Ur(21,bx.expression.end,Qo,bx),jp(bx,bx.statement)}(it);case 241:return function(bx){Ur(85,bx.pos,gl,bx),Np(bx.label),Rl()}(it);case 242:return function(bx){Ur(80,bx.pos,gl,bx),Np(bx.label),Rl()}(it);case 243:return function(bx){Ur(104,bx.pos,gl,bx),rp(bx.expression),Rl()}(it);case 244:return function(bx){var Wa=Ur(115,bx.pos,gl,bx);Hi(),Ur(20,Wa,Qo,bx),or(bx.expression),Ur(21,bx.expression.end,Qo,bx),jp(bx,bx.statement)}(it);case 245:return function(bx){var Wa=Ur(106,bx.pos,gl,bx);Hi(),Ur(20,Wa,Qo,bx),or(bx.expression),Ur(21,bx.expression.end,Qo,bx),Hi(),ae(bx.caseBlock)}(it);case 246:return function(bx){ae(bx.label),Ur(58,bx.label.end,Qo,bx),Hi(),ae(bx.statement)}(it);case 247:return function(bx){Ur(108,bx.pos,gl,bx),rp(bx.expression),Rl()}(it);case 248:return function(bx){Ur(110,bx.pos,gl,bx),Hi(),ae(bx.tryBlock),bx.catchClause&&(Ef(bx,bx.tryBlock,bx.catchClause),ae(bx.catchClause)),bx.finallyBlock&&(Ef(bx,bx.catchClause||bx.tryBlock,bx.finallyBlock),Ur(95,(bx.catchClause||bx.tryBlock).end,gl,bx),Hi(),ae(bx.finallyBlock))}(it);case 249:return function(bx){G2(86,bx.pos,gl),Rl()}(it);case 250:return function(bx){ae(bx.name),ae(bx.exclamationToken),df(bx.type),pl(bx.initializer,bx.type?bx.type.end:bx.name.end,bx,ar.parenthesizeExpressionForDisallowedComma)}(it);case 251:return function(bx){gl(e.isLet(bx)?\"let\":e.isVarConst(bx)?\"const\":\"var\"),Hi(),Ju(bx,bx.declarations,528)}(it);case 252:return function(bx){fa(bx)}(it);case 253:return function(bx){qs(bx)}(it);case 254:return function(bx){tf(bx,bx.decorators),qE(bx,bx.modifiers),gl(\"interface\"),Hi(),ae(bx.name),Nf(bx,bx.typeParameters),Ju(bx,bx.heritageClauses,512),Hi(),Qo(\"{\"),Ju(bx,bx.members,129),Qo(\"}\")}(it);case 255:return function(bx){tf(bx,bx.decorators),qE(bx,bx.modifiers),gl(\"type\"),Hi(),ae(bx.name),Nf(bx,bx.typeParameters),Hi(),Qo(\"=\"),Hi(),ae(bx.type),Rl()}(it);case 256:return function(bx){qE(bx,bx.modifiers),gl(\"enum\"),Hi(),ae(bx.name),Hi(),Qo(\"{\"),Ju(bx,bx.members,145),Qo(\"}\")}(it);case 257:return function(bx){qE(bx,bx.modifiers),1024&~bx.flags&&(gl(16&bx.flags?\"namespace\":\"module\"),Hi()),ae(bx.name);var Wa=bx.body;if(!Wa)return Rl();for(;Wa&&e.isModuleDeclaration(Wa);)Qo(\".\"),ae(Wa.name),Wa=Wa.body;Hi(),ae(Wa)}(it);case 258:return function(bx){xc(bx),e.forEach(bx.statements,_o),fe(bx,Vc(bx)),Su(bx)}(it);case 259:return function(bx){Ur(18,bx.pos,Qo,bx),Ju(bx,bx.clauses,129),Ur(19,bx.clauses.end,Qo,bx,!0)}(it);case 260:return function(bx){var Wa=Ur(92,bx.pos,gl,bx);Hi(),Wa=Ur(126,Wa,gl,bx),Hi(),Wa=Ur(140,Wa,gl,bx),Hi(),ae(bx.name),Rl()}(it);case 261:return function(bx){qE(bx,bx.modifiers),Ur(99,bx.modifiers?bx.modifiers.end:bx.pos,gl,bx),Hi(),bx.isTypeOnly&&(Ur(149,bx.pos,gl,bx),Hi()),ae(bx.name),Hi(),Ur(62,bx.name.end,Qo,bx),Hi(),function(Wa){Wa.kind===78?or(Wa):ae(Wa)}(bx.moduleReference),Rl()}(it);case 262:return function(bx){qE(bx,bx.modifiers),Ur(99,bx.modifiers?bx.modifiers.end:bx.pos,gl,bx),Hi(),bx.importClause&&(ae(bx.importClause),Hi(),Ur(153,bx.importClause.end,gl,bx),Hi()),or(bx.moduleSpecifier),Rl()}(it);case 263:return function(bx){bx.isTypeOnly&&(Ur(149,bx.pos,gl,bx),Hi()),ae(bx.name),bx.name&&bx.namedBindings&&(Ur(27,bx.name.end,Qo,bx),Hi()),ae(bx.namedBindings)}(it);case 264:return function(bx){var Wa=Ur(41,bx.pos,Qo,bx);Hi(),Ur(126,Wa,gl,bx),Hi(),ae(bx.name)}(it);case 270:return function(bx){var Wa=Ur(41,bx.pos,Qo,bx);Hi(),Ur(126,Wa,gl,bx),Hi(),ae(bx.name)}(it);case 265:return function(bx){vs(bx)}(it);case 266:return function(bx){sg(bx)}(it);case 267:return function(bx){var Wa=Ur(92,bx.pos,gl,bx);Hi(),bx.isExportEquals?Ur(62,Wa,bd,bx):Ur(87,Wa,gl,bx),Hi(),or(bx.expression,bx.isExportEquals?ar.getParenthesizeRightSideOfBinaryForOperator(62):ar.parenthesizeExpressionOfExportDefault),Rl()}(it);case 268:return function(bx){var Wa=Ur(92,bx.pos,gl,bx);Hi(),bx.isTypeOnly&&(Wa=Ur(149,Wa,gl,bx),Hi()),bx.exportClause?ae(bx.exportClause):Wa=Ur(41,Wa,Qo,bx),bx.moduleSpecifier&&(Hi(),Ur(153,bx.exportClause?bx.exportClause.end:Wa,gl,bx),Hi(),or(bx.moduleSpecifier)),Rl()}(it);case 269:return function(bx){vs(bx)}(it);case 271:return function(bx){sg(bx)}(it);case 272:return;case 273:return function(bx){gl(\"require\"),Qo(\"(\"),or(bx.expression),Qo(\")\")}(it);case 11:return function(bx){y0.writeLiteral(bx.text)}(it);case 276:case 279:return function(bx){if(Qo(\"<\"),e.isJsxOpeningElement(bx)){var Wa=Ps(bx.tagName,bx);Cf(bx.tagName),cp(bx,bx.typeArguments),bx.attributes.properties&&bx.attributes.properties.length>0&&Hi(),ae(bx.attributes),mo(bx.attributes,bx),Un(Wa)}Qo(\">\")}(it);case 277:case 280:return function(bx){Qo(\"</\"),e.isJsxClosingElement(bx)&&Cf(bx.tagName),Qo(\">\")}(it);case 281:return function(bx){ae(bx.name),function(Wa,rs,ht,Mu){ht&&(rs(Wa),Mu(ht))}(\"=\",Qo,bx.initializer,ut)}(it);case 282:return function(bx){Ju(bx,bx.properties,262656)}(it);case 283:return function(bx){Qo(\"{...\"),or(bx.expression),Qo(\"}\")}(it);case 284:return function(bx){var Wa;if(bx.expression||!Nt&&!e.nodeIsSynthesized(bx)&&(Mu=bx.pos,function(Gc){var Ab=!1;return e.forEachTrailingCommentRange((l0==null?void 0:l0.text)||\"\",Gc+1,function(){return Ab=!0}),Ab}(Mu)||function(Gc){var Ab=!1;return e.forEachLeadingCommentRange((l0==null?void 0:l0.text)||\"\",Gc+1,function(){return Ab=!0}),Ab}(Mu))){var rs=l0&&!e.nodeIsSynthesized(bx)&&e.getLineAndCharacterOfPosition(l0,bx.pos).line!==e.getLineAndCharacterOfPosition(l0,bx.end).line;rs&&y0.increaseIndent();var ht=Ur(18,bx.pos,Qo,bx);ae(bx.dotDotDotToken),or(bx.expression),Ur(19,((Wa=bx.expression)===null||Wa===void 0?void 0:Wa.end)||ht,Qo,bx),rs&&y0.decreaseIndent()}var Mu}(it);case 285:return function(bx){Ur(81,bx.pos,gl,bx),Hi(),or(bx.expression,ar.parenthesizeExpressionForDisallowedComma),rc(bx,bx.statements,bx.expression.end)}(it);case 286:return function(bx){var Wa=Ur(87,bx.pos,gl,bx);rc(bx,bx.statements,Wa)}(it);case 287:return function(bx){Hi(),Zp(bx.token,gl),Hi(),Ju(bx,bx.types,528)}(it);case 288:return function(bx){var Wa=Ur(82,bx.pos,gl,bx);Hi(),bx.variableDeclaration&&(Ur(20,Wa,Qo,bx),ae(bx.variableDeclaration),Ur(21,bx.variableDeclaration.end,Qo,bx),Hi()),ae(bx.block)}(it);case 289:return function(bx){ae(bx.name),Qo(\":\"),Hi();var Wa=bx.initializer;(512&e.getEmitFlags(Wa))==0&&dd(e.getCommentRange(Wa).pos),or(Wa,ar.parenthesizeExpressionForDisallowedComma)}(it);case 290:return function(bx){ae(bx.name),bx.objectAssignmentInitializer&&(Hi(),Qo(\"=\"),Hi(),or(bx.objectAssignmentInitializer,ar.parenthesizeExpressionForDisallowedComma))}(it);case 291:return function(bx){bx.expression&&(Ur(25,bx.pos,Qo,bx),or(bx.expression,ar.parenthesizeExpressionForDisallowedComma))}(it);case 292:return function(bx){ae(bx.name),pl(bx.initializer,bx.name.end,bx,ar.parenthesizeExpressionForDisallowedComma)}(it);case 293:return Ii(it);case 300:case 294:return function(bx){for(var Wa=0,rs=bx.texts;Wa<rs.length;Wa++){var ht=rs[Wa];rl(),ae(ht)}}(it);case 295:case 296:return La=it,qa=Gt(),Ii(La),void(O0&&lr(qa,y0.getTextPos(),La.kind===295?\"text\":\"internal\"));case 297:return function(bx){var Wa=Gt();if(Ii(bx),O0){var rs=e.clone(bx.section);rs.pos=Wa,rs.end=y0.getTextPos(),O0.sections.push(rs)}}(it);case 298:return Qp(it);case 299:return e.Debug.fail(\"Bundles should be printed using printBundle\");case 301:return e.Debug.fail(\"InputFiles should not be printed\");case 302:return BF(it);case 303:return function(bx){Hi(),Qo(\"{\"),ae(bx.name),Qo(\"}\")}(it);case 304:return Qo(\"*\");case 305:return Qo(\"?\");case 306:return function(bx){Qo(\"?\"),ae(bx.type)}(it);case 307:return function(bx){Qo(\"!\"),ae(bx.type)}(it);case 308:return function(bx){ae(bx.type),Qo(\"=\")}(it);case 309:return function(bx){gl(\"function\"),mf(bx,bx.parameters),Qo(\":\"),ae(bx.type)}(it);case 182:case 310:return function(bx){Qo(\"...\"),ae(bx.type)}(it);case 311:return;case 312:return function(bx){if(rx(\"/**\"),bx.comment){var Wa=e.getTextOfJSDocComment(bx.comment);if(Wa)for(var rs=0,ht=Wa.split(/\\r\\n?|\\n/g);rs<ht.length;rs++){var Mu=ht[rs];rl(),Hi(),Qo(\"*\"),Hi(),rx(Mu)}}bx.tags&&(bx.tags.length!==1||bx.tags[0].kind!==333||bx.comment?Ju(bx,bx.tags,33):(Hi(),ae(bx.tags[0]))),Hi(),rx(\"*/\")}(it);case 314:return K8(it);case 315:return zl(it);case 317:case 322:return Xl((Xn=it).tagName),void OF(Xn.comment);case 318:case 319:return function(bx){Xl(bx.tagName),Hi(),Qo(\"{\"),ae(bx.class),Qo(\"}\"),OF(bx.comment)}(it);case 320:case 321:return;case 323:case 324:case 325:case 326:case 327:return;case 328:return function(bx){Xl(bx.tagName),bx.name&&(Hi(),ae(bx.name)),OF(bx.comment),zl(bx.typeExpression)}(it);case 330:case 337:return function(bx){Xl(bx.tagName),BF(bx.typeExpression),Hi(),bx.isBracketed&&Qo(\"[\"),ae(bx.name),bx.isBracketed&&Qo(\"]\"),OF(bx.comment)}(it);case 329:case 331:case 332:case 333:return function(bx){Xl(bx.tagName),BF(bx.typeExpression),OF(bx.comment)}(it);case 334:return function(bx){Xl(bx.tagName),BF(bx.constraint),Hi(),Ju(bx,bx.typeParameters,528),OF(bx.comment)}(it);case 335:return function(bx){Xl(bx.tagName),bx.typeExpression&&(bx.typeExpression.kind===302?BF(bx.typeExpression):(Hi(),Qo(\"{\"),rx(\"Object\"),bx.typeExpression.isArrayType&&(Qo(\"[\"),Qo(\"]\")),Qo(\"}\"))),bx.fullName&&(Hi(),ae(bx.fullName)),OF(bx.comment),bx.typeExpression&&bx.typeExpression.kind===314&&K8(bx.typeExpression)}(it);case 336:return function(bx){Xl(bx.tagName),ae(bx.name),OF(bx.comment)}(it);case 339:case 343:case 342:return}if(e.isExpression(it)&&(we=1,Nx!==e.noEmitSubstitution)){var Ln=Nx(we,it)||it;Ln!==it&&(it=Ln,Q0&&(it=Q0(it)))}}var Xn,La,qa,Hc;if(we===1)switch(it.kind){case 8:case 9:return function(bx){_t(bx,!1)}(it);case 10:case 13:case 14:return _t(it,!1);case 78:return Mn(it);case 200:return function(bx){var Wa=bx.elements,rs=bx.multiLine?65536:0;vd(bx,Wa,8914|rs,ar.parenthesizeExpressionForDisallowedComma)}(it);case 201:return function(bx){e.forEach(bx.properties,ol);var Wa=65536&e.getEmitFlags(bx);Wa&&tA();var rs=bx.multiLine?65536:0,ht=l0.languageVersion>=1&&!e.isJsonSourceFile(l0)?64:0;Ju(bx,bx.properties,526226|ht|rs),Wa&&rA()}(it);case 202:return function(bx){or(bx.expression,ar.parenthesizeLeftSideOfAccess);var Wa=bx.questionDotToken||e.setTextRangePosEnd(e.factory.createToken(24),bx.expression.end,bx.name.pos),rs=Ro(bx,bx.expression,Wa),ht=Ro(bx,Wa,bx.name);Jr(rs,!1),Wa.kind===28||!function(Mu){if(Mu=e.skipPartiallyEmittedExpressions(Mu),e.isNumericLiteral(Mu)){var Gc=Pl(Mu,!0,!1);return!Mu.numericLiteralFlags&&!e.stringContains(Gc,e.tokenToString(24))}if(e.isAccessExpression(Mu)){var Ab=e.getConstantValue(Mu);return typeof Ab==\"number\"&&isFinite(Ab)&&Math.floor(Ab)===Ab}}(bx.expression)||y0.hasTrailingComment()||y0.hasTrailingWhitespace()||Qo(\".\"),bx.questionDotToken?ae(Wa):Ur(Wa.kind,bx.expression.end,Qo,bx),Jr(ht,!1),ae(bx.name),Un(rs,ht)}(it);case 203:return function(bx){or(bx.expression,ar.parenthesizeLeftSideOfAccess),ae(bx.questionDotToken),Ur(22,bx.expression.end,Qo,bx),or(bx.argumentExpression),Ur(23,bx.argumentExpression.end,Qo,bx)}(it);case 204:return function(bx){or(bx.expression,ar.parenthesizeLeftSideOfAccess),ae(bx.questionDotToken),cp(bx,bx.typeArguments),vd(bx,bx.arguments,2576,ar.parenthesizeExpressionForDisallowedComma)}(it);case 205:return function(bx){Ur(102,bx.pos,gl,bx),Hi(),or(bx.expression,ar.parenthesizeExpressionOfNew),cp(bx,bx.typeArguments),vd(bx,bx.arguments,18960,ar.parenthesizeExpressionForDisallowedComma)}(it);case 206:return function(bx){or(bx.tag,ar.parenthesizeLeftSideOfAccess),cp(bx,bx.typeArguments),Hi(),or(bx.template)}(it);case 207:return function(bx){Qo(\"<\"),ae(bx.type),Qo(\">\"),or(bx.expression,ar.parenthesizeOperandOfPrefixUnary)}(it);case 208:return function(bx){var Wa=Ur(20,bx.pos,Qo,bx),rs=Ps(bx.expression,bx);or(bx.expression,void 0),mo(bx.expression,bx),Un(rs),Ur(21,bx.expression?bx.expression.end:Wa,Qo,bx)}(it);case 209:return function(bx){Fc(bx.name),fa(bx)}(it);case 210:return function(bx){tf(bx,bx.decorators),qE(bx,bx.modifiers),Kt(bx,Ka)}(it);case 211:return function(bx){Ur(88,bx.pos,gl,bx),Hi(),or(bx.expression,ar.parenthesizeOperandOfPrefixUnary)}(it);case 212:return function(bx){Ur(111,bx.pos,gl,bx),Hi(),or(bx.expression,ar.parenthesizeOperandOfPrefixUnary)}(it);case 213:return function(bx){Ur(113,bx.pos,gl,bx),Hi(),or(bx.expression,ar.parenthesizeOperandOfPrefixUnary)}(it);case 214:return function(bx){Ur(130,bx.pos,gl,bx),Hi(),or(bx.expression,ar.parenthesizeOperandOfPrefixUnary)}(it);case 215:return function(bx){Zp(bx.operator,bd),function(Wa){var rs=Wa.operand;return rs.kind===215&&(Wa.operator===39&&(rs.operator===39||rs.operator===45)||Wa.operator===40&&(rs.operator===40||rs.operator===46))}(bx)&&Hi(),or(bx.operand,ar.parenthesizeOperandOfPrefixUnary)}(it);case 216:return function(bx){or(bx.operand,ar.parenthesizeOperandOfPostfixUnary),Zp(bx.operator,bd)}(it);case 217:return Ni(it);case 218:return function(bx){var Wa=Ro(bx,bx.condition,bx.questionToken),rs=Ro(bx,bx.questionToken,bx.whenTrue),ht=Ro(bx,bx.whenTrue,bx.colonToken),Mu=Ro(bx,bx.colonToken,bx.whenFalse);or(bx.condition,ar.parenthesizeConditionOfConditionalExpression),Jr(Wa,!0),ae(bx.questionToken),Jr(rs,!0),or(bx.whenTrue,ar.parenthesizeBranchOfConditionalExpression),Un(Wa,rs),Jr(ht,!0),ae(bx.colonToken),Jr(Mu,!0),or(bx.whenFalse,ar.parenthesizeBranchOfConditionalExpression),Un(ht,Mu)}(it);case 219:return function(bx){ae(bx.head),Ju(bx,bx.templateSpans,262144)}(it);case 220:return function(bx){Ur(124,bx.pos,gl,bx),ae(bx.asteriskToken),rp(bx.expression,ar.parenthesizeExpressionForDisallowedComma)}(it);case 221:return function(bx){Ur(25,bx.pos,Qo,bx),or(bx.expression,ar.parenthesizeExpressionForDisallowedComma)}(it);case 222:return function(bx){Fc(bx.name),qs(bx)}(it);case 223:return;case 225:return function(bx){or(bx.expression,void 0),bx.type&&(Hi(),gl(\"as\"),Hi(),ae(bx.type))}(it);case 226:return function(bx){or(bx.expression,ar.parenthesizeLeftSideOfAccess),bd(\"!\")}(it);case 227:return function(bx){G2(bx.keywordToken,bx.pos,Qo),Qo(\".\"),ae(bx.name)}(it);case 228:return e.Debug.fail(\"SyntheticExpression should never be printed.\");case 274:return function(bx){ae(bx.openingElement),Ju(bx,bx.children,262144),ae(bx.closingElement)}(it);case 275:return function(bx){Qo(\"<\"),Cf(bx.tagName),cp(bx,bx.typeArguments),Hi(),ae(bx.attributes),Qo(\"/>\")}(it);case 278:return function(bx){ae(bx.openingFragment),Ju(bx,bx.children,262144),ae(bx.closingFragment)}(it);case 338:return e.Debug.fail(\"SyntaxList should not be printed\");case 339:return;case 340:return function(bx){or(bx.expression)}(it);case 341:return function(bx){vd(bx,bx.elements,528,void 0)}(it);case 342:case 343:return;case 344:return e.Debug.fail(\"SyntheticReferenceExpression should not be printed\")}return e.isKeyword(it.kind)?vp(it,gl):e.isTokenKind(it.kind)?vp(it,Qo):void e.Debug.fail(\"Unhandled SyntaxKind: \"+e.Debug.formatSyntaxKind(it.kind)+\".\")}function Kr(we,it){var Ln=Hx(1,we,it);e.Debug.assertIsDefined(Z1),it=Z1,Z1=void 0,Ln(we,it)}function pn(we){var it=!1,Ln=we.kind===299?we:void 0;if(!Ln||V1!==e.ModuleKind.None){for(var Xn=Ln?Ln.prepends.length:0,La=Ln?Ln.sourceFiles.length+Xn:1,qa=0;qa<La;qa++){var Hc=Ln?qa<Xn?Ln.prepends[qa]:Ln.sourceFiles[qa-Xn]:we,bx=e.isSourceFile(Hc)?Hc:e.isUnparsedSource(Hc)?void 0:l0,Wa=D0.noEmitHelpers||!!bx&&e.hasRecordedExternalHelpers(bx),rs=(e.isSourceFile(Hc)||e.isUnparsedSource(Hc))&&!d1,ht=e.isUnparsedSource(Hc)?Hc.helpers:rn(Hc);if(ht)for(var Mu=0,Gc=ht;Mu<Gc.length;Mu++){var Ab=Gc[Mu];if(Ab.scoped){if(Ln)continue}else{if(Wa)continue;if(rs){if(Ox.get(Ab.name))continue;Ox.set(Ab.name,!0)}}var jf=Gt();typeof Ab.text==\"string\"?yr(Ab.text):yr(Ab.text(x4)),O0&&O0.sections.push({pos:jf,end:y0.getTextPos(),kind:\"emitHelpers\",data:Ab.name}),it=!0}}return it}}function rn(we){var it=e.getEmitHelpers(we);return it&&e.stableSort(it,e.compareEmitHelpers)}function _t(we,it){var Ln=Pl(we,D0.neverAsciiEscape,it);!D0.sourceMap&&!D0.inlineSourceMap||we.kind!==10&&!e.isTemplateLiteralKind(we.kind)?function(Xn){y0.writeStringLiteral(Xn)}(Ln):function(Xn){y0.writeLiteral(Xn)}(Ln)}function Ii(we){y0.rawWrite(we.parent.text.substring(we.pos,we.end))}function Mn(we){(we.symbol?c5:rx)(gc(we,!1),we.symbol),Ju(we,we.typeArguments,53776)}function Ka(we){Nf(we,we.typeParameters),l2(we,we.parameters),df(we.type),Hi(),ae(we.equalsGreaterThanToken)}function fe(we,it){Ur(18,we.pos,Qo,we);var Ln=it||1&e.getEmitFlags(we)?768:129;Ju(we,we.statements,Ln),Ur(19,we.statements.end,Qo,we,!!(1&Ln))}function Fr(we){we?Qo(\";\"):Rl()}function yt(we,it){var Ln=Ur(114,it,gl,we);Hi(),Ur(20,Ln,Qo,we),or(we.expression),Ur(21,we.expression.end,Qo,we)}function Fn(we){we!==void 0&&(we.kind===251?ae(we):or(we))}function Ur(we,it,Ln,Xn,La){var qa=e.getParseTreeNode(Xn),Hc=qa&&qa.kind===Xn.kind,bx=it;if(Hc&&l0&&(it=e.skipTrivia(l0.text,it)),Hc&&Xn.pos!==bx){var Wa=La&&l0&&!e.positionsAreOnSameLine(bx,it,l0);Wa&&tA(),Cd(bx),Wa&&rA()}if(it=Zp(we,Ln,it),Hc&&Xn.end!==it){var rs=Xn.kind===284;dd(it,!rs,rs)}return it}function fa(we){tf(we,we.decorators),qE(we,we.modifiers),gl(\"function\"),ae(we.asteriskToken),Hi(),Ut(we.name),Kt(we,Fa)}function Kt(we,it){var Ln=we.body;if(Ln)if(e.isBlock(Ln)){var Xn=65536&e.getEmitFlags(we);Xn&&tA(),xc(we),e.forEach(we.parameters,_o),_o(we.body),it(we),function(La){n1==null||n1(La),Hi(),Qo(\"{\"),tA();var qa=function(Hc){if(1&e.getEmitFlags(Hc))return!0;if(Hc.multiLine||!e.nodeIsSynthesized(Hc)&&!e.rangeIsOnSingleLine(Hc,l0)||pa(Hc,Hc.statements,2)||Ls(Hc,Hc.statements,2))return!1;for(var bx,Wa=0,rs=Hc.statements;Wa<rs.length;Wa++){var ht=rs[Wa];if(za(bx,ht,2)>0)return!1;bx=ht}return!0}(La)?co:Us;$f?$f(La,La.statements,qa):qa(La),rA(),G2(19,La.statements.end,Qo,La),S0==null||S0(La)}(Ln),Su(we),Xn&&rA()}else it(we),Hi(),or(Ln,ar.parenthesizeConciseBodyOfArrowFunction);else it(we),Rl()}function Fa(we){Nf(we,we.typeParameters),mf(we,we.parameters),df(we.type)}function co(we){Us(we,!0)}function Us(we,it){var Ln=mC(we.statements),Xn=y0.getTextPos();pn(we),Ln===0&&Xn===y0.getTextPos()&&it?(rA(),Ju(we,we.statements,768),tA()):Ju(we,we.statements,1,void 0,Ln)}function qs(we){e.forEach(we.members,ol),tf(we,we.decorators),qE(we,we.modifiers),gl(\"class\"),we.name&&(Hi(),Ut(we.name));var it=65536&e.getEmitFlags(we);it&&tA(),Nf(we,we.typeParameters),Ju(we,we.heritageClauses,0),Hi(),Qo(\"{\"),Ju(we,we.members,129),Qo(\"}\"),it&&rA()}function vs(we){Qo(\"{\"),Ju(we,we.elements,525136),Qo(\"}\")}function sg(we){we.propertyName&&(ae(we.propertyName),Hi(),Ur(126,we.propertyName.end,gl,we),Hi()),ae(we.name)}function Cf(we){we.kind===78?or(we):ae(we)}function rc(we,it,Ln){var Xn=163969;it.length===1&&(e.nodeIsSynthesized(we)||e.nodeIsSynthesized(it[0])||e.rangeStartPositionsAreOnSameLine(we,it[0],l0))?(G2(58,Ln,Qo,we),Hi(),Xn&=-130):Ur(58,Ln,Qo,we),Ju(we,it,Xn)}function K8(we){Ju(we,e.factory.createNodeArray(we.jsDocPropertyTags),33)}function zl(we){we.typeParameters&&Ju(we,e.factory.createNodeArray(we.typeParameters),33),we.parameters&&Ju(we,e.factory.createNodeArray(we.parameters),33),we.type&&(rl(),Hi(),Qo(\"*\"),Hi(),ae(we.type))}function Xl(we){Qo(\"@\"),ae(we)}function OF(we){var it=e.getTextOfJSDocComment(we);it&&(Hi(),rx(it))}function BF(we){we&&(Hi(),Qo(\"{\"),ae(we.type),Qo(\"}\"))}function Qp(we){rl();var it=we.statements;if($f&&(it.length===0||!e.isPrologueDirective(it[0])||e.nodeIsSynthesized(it[0])))return void $f(we,it,up);up(we)}function kp(we,it,Ln,Xn){if(we){var La=y0.getTextPos();Dp('/// <reference no-default-lib=\"true\"/>'),O0&&O0.sections.push({pos:La,end:y0.getTextPos(),kind:\"no-default-lib\"}),rl()}if(l0&&l0.moduleName&&(Dp('/// <amd-module name=\"'+l0.moduleName+'\" />'),rl()),l0&&l0.amdDependencies)for(var qa=0,Hc=l0.amdDependencies;qa<Hc.length;qa++){var bx=Hc[qa];bx.name?Dp('/// <amd-dependency name=\"'+bx.name+'\" path=\"'+bx.path+'\" />'):Dp('/// <amd-dependency path=\"'+bx.path+'\" />'),rl()}for(var Wa=0,rs=it;Wa<rs.length;Wa++){var ht=rs[Wa];La=y0.getTextPos(),Dp('/// <reference path=\"'+ht.fileName+'\" />'),O0&&O0.sections.push({pos:La,end:y0.getTextPos(),kind:\"reference\",data:ht.fileName}),rl()}for(var Mu=0,Gc=Ln;Mu<Gc.length;Mu++)ht=Gc[Mu],La=y0.getTextPos(),Dp('/// <reference types=\"'+ht.fileName+'\" />'),O0&&O0.sections.push({pos:La,end:y0.getTextPos(),kind:\"type\",data:ht.fileName}),rl();for(var Ab=0,jf=Xn;Ab<jf.length;Ab++)ht=jf[Ab],La=y0.getTextPos(),Dp('/// <reference lib=\"'+ht.fileName+'\" />'),O0&&O0.sections.push({pos:La,end:y0.getTextPos(),kind:\"lib\",data:ht.fileName}),rl()}function up(we){var it=we.statements;xc(we),e.forEach(we.statements,_o),pn(we);var Ln=e.findIndex(it,function(Xn){return!e.isPrologueDirective(Xn)});(function(Xn){Xn.isDeclarationFile&&kp(Xn.hasNoDefaultLib,Xn.referencedFiles,Xn.typeReferenceDirectives,Xn.libReferenceDirectives)})(we),Ju(we,it,1,void 0,Ln===-1?it.length:Ln),Su(we)}function mC(we,it,Ln,Xn){for(var La=!!it,qa=0;qa<we.length;qa++){var Hc=we[qa];if(!e.isPrologueDirective(Hc))return qa;if(!Ln||!Ln.has(Hc.expression.text)){La&&(La=!1,cx(it)),rl();var bx=y0.getTextPos();ae(Hc),Xn&&O0&&O0.sections.push({pos:bx,end:y0.getTextPos(),kind:\"prologue\",data:Hc.expression.text}),Ln&&Ln.add(Hc.expression.text)}}return we.length}function fd(we,it){for(var Ln=0,Xn=we;Ln<Xn.length;Ln++){var La=Xn[Ln];if(!it.has(La.data)){rl();var qa=y0.getTextPos();ae(La),O0&&O0.sections.push({pos:qa,end:y0.getTextPos(),kind:\"prologue\",data:La.data}),it&&it.add(La.data)}}}function E4(we){if(e.isSourceFile(we))mC(we.statements,we);else{for(var it=new e.Set,Ln=0,Xn=we.prepends;Ln<Xn.length;Ln++)fd(Xn[Ln].prologues,it);for(var La=0,qa=we.sourceFiles;La<qa.length;La++){var Hc=qa[La];mC(Hc.statements,Hc,it,!0)}cx(void 0)}}function Yl(we){if(e.isSourceFile(we)||e.isUnparsedSource(we)){var it=e.getShebang(we.text);if(it)return Dp(it),rl(),!0}else{for(var Ln=0,Xn=we.prepends;Ln<Xn.length;Ln++){var La=Xn[Ln];if(e.Debug.assertNode(La,e.isUnparsedSource),Yl(La))return!0}for(var qa=0,Hc=we.sourceFiles;qa<Hc.length;qa++)if(Yl(Hc[qa]))return!0}}function fT(we,it){if(we){var Ln=rx;rx=it,ae(we),rx=Ln}}function qE(we,it){it&&it.length&&(Ju(we,it,262656),Hi())}function df(we){we&&(Qo(\":\"),Hi(),ae(we))}function pl(we,it,Ln,Xn){we&&(Hi(),Ur(62,it,bd,Ln),Hi(),or(we,Xn))}function Np(we){we&&(Hi(),ae(we))}function rp(we,it){we&&(Hi(),or(we,it))}function jp(we,it){e.isBlock(it)||1&e.getEmitFlags(we)?(Hi(),ae(it)):(rl(),tA(),e.isEmptyStatement(it)?h0(5,it):ae(it),rA())}function tf(we,it){Ju(we,it,2146305)}function cp(we,it){Ju(we,it,53776,ar.parenthesizeMemberOfElementType)}function Nf(we,it){if(e.isFunctionLike(we)&&we.typeArguments)return cp(we,we.typeArguments);Ju(we,it,53776)}function mf(we,it){Ju(we,it,2576)}function l2(we,it){(function(Ln,Xn){var La=e.singleOrUndefined(Xn);return La&&La.pos===Ln.pos&&e.isArrowFunction(Ln)&&!Ln.type&&!e.some(Ln.decorators)&&!e.some(Ln.modifiers)&&!e.some(Ln.typeParameters)&&!e.some(La.decorators)&&!e.some(La.modifiers)&&!La.dotDotDotToken&&!La.questionToken&&!La.type&&!La.initializer&&e.isIdentifier(La.name)})(we,it)?Ju(we,it,528):mf(we,it)}function pd(we){switch(60&we){case 0:break;case 16:Qo(\",\");break;case 4:Hi(),Qo(\"|\");break;case 32:Hi(),Qo(\"*\"),Hi();break;case 8:Hi(),Qo(\"&\")}}function Ju(we,it,Ln,Xn,La,qa){aw(ae,we,it,Ln,Xn,La,qa)}function vd(we,it,Ln,Xn,La,qa){aw(or,we,it,Ln,Xn,La,qa)}function aw(we,it,Ln,Xn,La,qa,Hc){if(qa===void 0&&(qa=0),Hc===void 0&&(Hc=Ln?Ln.length-qa:0),!(Ln===void 0&&16384&Xn)){var bx=Ln===void 0||qa>=Ln.length||Hc===0;if(bx&&32768&Xn)return I0&&I0(Ln),void(U0&&U0(Ln));if(15360&Xn&&(Qo(function(xd){return J[15360&xd][0]}(Xn)),bx&&Ln&&dd(Ln.pos,!0)),I0&&I0(Ln),bx)1&Xn&&(!$x||it&&!e.rangeIsOnSingleLine(it,l0))?rl():256&Xn&&!(524288&Xn)&&Hi();else{e.Debug.type(Ln);var Wa=(262144&Xn)==0,rs=Wa,ht=pa(it,Ln,Xn);ht?(rl(ht),rs=!1):256&Xn&&Hi(),128&Xn&&tA();for(var Mu=void 0,Gc=void 0,Ab=!1,jf=0;jf<Hc;jf++){var lp=Ln[qa+jf];if(32&Xn)rl(),pd(Xn);else if(Mu){60&Xn&&Mu.end!==(it?it.end:-1)&&Cd(Mu.end),pd(Xn),ii(Gc);var f2=za(Mu,lp,Xn);f2>0?((131&Xn)==0&&(tA(),Ab=!0),rl(f2),rs=!1):Mu&&512&Xn&&Hi()}Gc=en(lp),rs?dd&&dd(e.getCommentRange(lp).pos):rs=Wa,f0=lp.pos,we.length===1?we(lp):we(lp,La),Ab&&(rA(),Ab=!1),Mu=lp}var np=Mu?e.getEmitFlags(Mu):0,Cp=Nt||!!(1024&np),ip=(Ln==null?void 0:Ln.hasTrailingComma)&&64&Xn&&16&Xn;ip&&(Mu&&!Cp?Ur(27,Mu.end,Qo,Mu):Qo(\",\")),Mu&&(it?it.end:-1)!==Mu.end&&60&Xn&&!Cp&&Cd(ip&&(Ln==null?void 0:Ln.end)?Ln.end:Mu.end),128&Xn&&rA(),ii(Gc);var fp=Ls(it,Ln,Xn);fp?rl(fp):2097408&Xn&&Hi()}U0&&U0(Ln),15360&Xn&&(bx&&Ln&&Cd(Ln.end),Qo(function(xd){return J[15360&xd][1]}(Xn)))}}function c5(we,it){y0.writeSymbol(we,it)}function Qo(we){y0.writePunctuation(we)}function Rl(){y0.writeTrailingSemicolon(\";\")}function gl(we){y0.writeKeyword(we)}function bd(we){y0.writeOperator(we)}function Ld(we){y0.writeParameter(we)}function Dp(we){y0.writeComment(we)}function Hi(){y0.writeSpace(\" \")}function Up(we){y0.writeProperty(we)}function rl(we){we===void 0&&(we=1);for(var it=0;it<we;it++)y0.writeLine(it>0)}function tA(){y0.increaseIndent()}function rA(){y0.decreaseIndent()}function G2(we,it,Ln,Xn){return Px?Zp(we,Ln,it):function(La,qa,Hc,bx,Wa){if(Px||La&&e.isInJsonFile(La))return Wa(qa,Hc,bx);var rs=La&&La.emitNode,ht=rs&&rs.flags||0,Mu=rs&&rs.tokenSourceMapRanges&&rs.tokenSourceMapRanges[qa],Gc=Mu&&Mu.source||S1;return bx=Pf(Gc,Mu?Mu.pos:bx),(128&ht)==0&&bx>=0&&Ku(Gc,bx),bx=Wa(qa,Hc,bx),Mu&&(bx=Mu.end),(256&ht)==0&&bx>=0&&Ku(Gc,bx),bx}(Xn,we,Ln,it,Zp)}function vp(we,it){p0&&p0(we),it(e.tokenToString(we.kind)),p1&&p1(we)}function Zp(we,it,Ln){var Xn=e.tokenToString(we);return it(Xn),Ln<0?Ln:Ln+Xn.length}function Ef(we,it,Ln){if(1&e.getEmitFlags(we))Hi();else if($x){var Xn=Ro(we,it,Ln);Xn?rl(Xn):Hi()}else rl()}function yr(we){for(var it=we.split(/\\r\\n?|\\n/g),Ln=e.guessIndentation(it),Xn=0,La=it;Xn<La.length;Xn++){var qa=La[Xn],Hc=Ln?qa.slice(Ln):qa;Hc.length&&(rl(),rx(Hc))}}function Jr(we,it){we?(tA(),rl(we)):it&&Hi()}function Un(we,it){we&&rA(),it&&rA()}function pa(we,it,Ln){if(2&Ln||$x){if(65536&Ln)return 1;var Xn=it[0];if(Xn===void 0)return!we||e.rangeIsOnSingleLine(we,l0)?0:1;if(Xn.pos===f0||Xn.kind===11)return 0;if(we&&!e.positionIsSynthesized(we.pos)&&!e.nodeIsSynthesized(Xn)&&(!Xn.parent||e.getOriginalNode(Xn.parent)===e.getOriginalNode(we)))return $x?Mo(function(La){return e.getLinesBetweenPositionAndPrecedingNonWhitespaceCharacter(Xn.pos,we.pos,l0,La)}):e.rangeStartPositionsAreOnSameLine(we,Xn,l0)?0:1;if(bc(Xn,Ln))return 1}return 1&Ln?1:0}function za(we,it,Ln){if(2&Ln||$x){if(we===void 0||it===void 0||it.kind===11)return 0;if(!e.nodeIsSynthesized(we)&&!e.nodeIsSynthesized(it))return $x&&function(qa,Hc){if(Hc.pos<qa.end)return!1;qa=e.getOriginalNode(qa),Hc=e.getOriginalNode(Hc);var bx=qa.parent;if(!bx||bx!==Hc.parent)return!1;var Wa=e.getContainingNodeArray(qa),rs=Wa==null?void 0:Wa.indexOf(qa);return rs!==void 0&&rs>-1&&Wa.indexOf(Hc)===rs+1}(we,it)?Mo(function(qa){return e.getLinesBetweenRangeEndAndRangeStart(we,it,l0,qa)}):!$x&&(Xn=we,La=it,(Xn=e.getOriginalNode(Xn)).parent&&Xn.parent===e.getOriginalNode(La).parent)?e.rangeEndIsOnSameLineAsRangeStart(we,it,l0)?0:1:65536&Ln?1:0;if(bc(we,Ln)||bc(it,Ln))return 1}else if(e.getStartsOnNewLine(it))return 1;var Xn,La;return 1&Ln?1:0}function Ls(we,it,Ln){if(2&Ln||$x){if(65536&Ln)return 1;var Xn=e.lastOrUndefined(it);if(Xn===void 0)return!we||e.rangeIsOnSingleLine(we,l0)?0:1;if(we&&!e.positionIsSynthesized(we.pos)&&!e.nodeIsSynthesized(Xn)&&(!Xn.parent||Xn.parent===we)){if($x){var La=e.isNodeArray(it)&&!e.positionIsSynthesized(it.end)?it.end:Xn.end;return Mo(function(qa){return e.getLinesBetweenPositionAndNextNonWhitespaceCharacter(La,we.end,l0,qa)})}return e.rangeEndPositionsAreOnSameLine(we,Xn,l0)?0:1}if(bc(Xn,Ln))return 1}return 1&Ln&&!(131072&Ln)?1:0}function Mo(we){e.Debug.assert(!!$x);var it=we(!0);return it===0?we(!1):it}function Ps(we,it){var Ln=$x&&pa(it,[we],0);return Ln&&Jr(Ln,!1),!!Ln}function mo(we,it){var Ln=$x&&Ls(it,[we],0);Ln&&rl(Ln)}function bc(we,it){if(e.nodeIsSynthesized(we)){var Ln=e.getStartsOnNewLine(we);return Ln===void 0?(65536&it)!=0:Ln}return(65536&it)!=0}function Ro(we,it,Ln){return 131072&e.getEmitFlags(we)?0:(we=ws(we),it=ws(it),Ln=ws(Ln),e.getStartsOnNewLine(Ln)?1:e.nodeIsSynthesized(we)||e.nodeIsSynthesized(it)||e.nodeIsSynthesized(Ln)?0:$x?Mo(function(Xn){return e.getLinesBetweenRangeEndAndRangeStart(it,Ln,l0,Xn)}):e.rangeEndIsOnSameLineAsRangeStart(it,Ln,l0)?0:1)}function Vc(we){return we.statements.length===0&&e.rangeEndIsOnSameLineAsRangeStart(we,we,l0)}function ws(we){for(;we.kind===208&&e.nodeIsSynthesized(we);)we=we.expression;return we}function gc(we,it){return e.isGeneratedIdentifier(we)?_l(we):(e.isIdentifier(we)||e.isPrivateIdentifier(we))&&(e.nodeIsSynthesized(we)||!we.parent||!l0||we.parent&&l0&&e.getSourceFileOfNode(we)!==e.getOriginalNode(l0))?e.idText(we):we.kind===10&&we.textSourceNode?gc(we.textSourceNode,it):!e.isLiteralExpression(we)||!e.nodeIsSynthesized(we)&&we.parent?e.getSourceTextOfNodeFromSourceFile(l0,we,it):we.text}function Pl(we,it,Ln){if(we.kind===10&&we.textSourceNode){var Xn=we.textSourceNode;if(e.isIdentifier(Xn)||e.isNumericLiteral(Xn)){var La=e.isNumericLiteral(Xn)?Xn.text:gc(Xn);return Ln?'\"'+e.escapeJsxAttributeString(La)+'\"':it||16777216&e.getEmitFlags(we)?'\"'+e.escapeString(La)+'\"':'\"'+e.escapeNonAsciiString(La)+'\"'}return Pl(Xn,it,Ln)}var qa=(it?1:0)|(Ln?2:0)|(D0.terminateUnterminatedLiterals?4:0)|(D0.target&&D0.target===99?8:0);return e.getLiteralText(we,l0,qa)}function xc(we){we&&524288&e.getEmitFlags(we)||(H.push(k0),k0=0,V0.push(t0))}function Su(we){we&&524288&e.getEmitFlags(we)||(k0=H.pop(),t0=V0.pop())}function hC(we){t0&&t0!==e.lastOrUndefined(V0)||(t0=new e.Set),t0.add(we)}function _o(we){if(we)switch(we.kind){case 231:e.forEach(we.statements,_o);break;case 246:case 244:case 236:case 237:_o(we.statement);break;case 235:_o(we.thenStatement),_o(we.elseStatement);break;case 238:case 240:case 239:_o(we.initializer),_o(we.statement);break;case 245:_o(we.caseBlock);break;case 259:e.forEach(we.clauses,_o);break;case 285:case 286:e.forEach(we.statements,_o);break;case 248:_o(we.tryBlock),_o(we.catchClause),_o(we.finallyBlock);break;case 288:_o(we.variableDeclaration),_o(we.block);break;case 233:_o(we.declarationList);break;case 251:e.forEach(we.declarations,_o);break;case 250:case 161:case 199:case 253:Fc(we.name);break;case 252:Fc(we.name),524288&e.getEmitFlags(we)&&(e.forEach(we.parameters,_o),_o(we.body));break;case 197:case 198:e.forEach(we.elements,_o);break;case 262:_o(we.importClause);break;case 263:Fc(we.name),_o(we.namedBindings);break;case 264:case 270:Fc(we.name);break;case 265:e.forEach(we.elements,_o);break;case 266:Fc(we.propertyName||we.name)}}function ol(we){if(we)switch(we.kind){case 289:case 290:case 164:case 166:case 168:case 169:Fc(we.name)}}function Fc(we){we&&(e.isGeneratedIdentifier(we)?_l(we):e.isBindingPattern(we)&&_o(we))}function _l(we){if((7&we.autoGenerateFlags)==4)return uc(function(Ln){for(var Xn=Ln.autoGenerateId,La=Ln,qa=La.original;qa&&(La=qa,!(e.isIdentifier(La)&&4&La.autoGenerateFlags&&La.autoGenerateId!==Xn));)qa=La.original;return La}(we),we.autoGenerateFlags);var it=we.autoGenerateId;return V[it]||(V[it]=function(Ln){switch(7&Ln.autoGenerateFlags){case 1:return R6(0,!!(8&Ln.autoGenerateFlags));case 2:return R6(268435456,!!(8&Ln.autoGenerateFlags));case 3:return nA(e.idText(Ln),32&Ln.autoGenerateFlags?D6:Fl,!!(16&Ln.autoGenerateFlags),!!(8&Ln.autoGenerateFlags))}return e.Debug.fail(\"Unsupported GeneratedIdentifierKind.\")}(we))}function uc(we,it){var Ln=e.getNodeId(we);return w0[Ln]||(w0[Ln]=function(Xn,La){switch(Xn.kind){case 78:return nA(gc(Xn),Fl,!!(16&La),!!(8&La));case 257:case 256:return function(qa){var Hc=gc(qa.name);return function(bx,Wa){for(var rs=Wa;e.isNodeDescendantOf(rs,Wa);rs=rs.nextContainer)if(rs.locals){var ht=rs.locals.get(e.escapeLeadingUnderscores(bx));if(ht&&3257279&ht.flags)return!1}return!0}(Hc,qa)?Hc:nA(Hc)}(Xn);case 262:case 268:return function(qa){var Hc=e.getExternalModuleName(qa);return nA(e.isStringLiteral(Hc)?e.makeIdentifierFromModuleName(Hc.text):\"module\")}(Xn);case 252:case 253:case 267:return nA(\"default\");case 222:return nA(\"class\");case 166:case 168:case 169:return function(qa){return e.isIdentifier(qa.name)?uc(qa.name):R6(0)}(Xn);case 159:return R6(0,!0);default:return R6(0)}}(we,it))}function Fl(we){return D6(we)&&!w.has(we)&&!(t0&&t0.has(we))}function D6(we){return!l0||e.isFileLevelUniqueName(l0,we,y1)}function R6(we,it){if(we&&!(k0&we)&&Fl(Ln=we===268435456?\"_i\":\"_n\"))return k0|=we,it&&hC(Ln),Ln;for(;;){var Ln,Xn=268435455&k0;if(k0++,Xn!==8&&Xn!==13&&Fl(Ln=Xn<26?\"_\"+String.fromCharCode(97+Xn):\"_\"+(Xn-26)))return it&&hC(Ln),Ln}}function nA(we,it,Ln,Xn){if(it===void 0&&(it=Fl),Ln&&it(we))return Xn?hC(we):w.add(we),we;we.charCodeAt(we.length-1)!==95&&(we+=\"_\");for(var La=1;;){var qa=we+La;if(it(qa))return Xn?hC(qa):w.add(qa),qa;La++}}function x4(we){return nA(we,D6,!0)}function Al(we,it){var Ln=Hx(2,we,it),Xn=gt,La=Vt,qa=wr;e4(it),Ln(we,it),bp(it,Xn,La,qa)}function e4(we){var it=e.getEmitFlags(we),Ln=e.getCommentRange(we);(function(Xn,La,qa,Hc){xr(),gr=!1;var bx=qa<0||(512&La)!=0||Xn.kind===11,Wa=Hc<0||(1024&La)!=0||Xn.kind===11;(qa>0||Hc>0)&&qa!==Hc&&(bx||iA(qa,Xn.kind!==339),(!bx||qa>=0&&(512&La)!=0)&&(gt=qa),(!Wa||Hc>=0&&(1024&La)!=0)&&(Vt=Hc,Xn.kind===251&&(wr=Hc))),e.forEach(e.getSyntheticLeadingComments(Xn),_c),Bt()})(we,it,Ln.pos,Ln.end),2048&it&&(Nt=!0)}function bp(we,it,Ln,Xn){var La=e.getEmitFlags(we),qa=e.getCommentRange(we);2048&La&&(Nt=!1),function(Hc,bx,Wa,rs,ht,Mu,Gc){xr();var Ab=rs<0||(1024&bx)!=0||Hc.kind===11;e.forEach(e.getSyntheticTrailingComments(Hc),Wl),(Wa>0||rs>0)&&Wa!==rs&&(gt=ht,Vt=Mu,wr=Gc,Ab||Hc.kind===339||function(jf){hm(jf,tF)}(rs)),Bt()}(we,La,qa.pos,qa.end,it,Ln,Xn)}function _c(we){(we.hasLeadingNewline||we.kind===2)&&y0.writeLine(),Vp(we),we.hasTrailingNewLine||we.kind===2?y0.writeLine():y0.writeSpace(\" \")}function Wl(we){y0.isAtStartOfLine()||y0.writeSpace(\" \"),Vp(we),we.hasTrailingNewLine&&y0.writeLine()}function Vp(we){var it=function(Xn){return Xn.kind===3?\"/*\"+Xn.text+\"*/\":\"//\"+Xn.text}(we),Ln=we.kind===3?e.computeLineStarts(it):void 0;e.writeCommentRange(it,Ln,y0,0,it.length,N1)}function $f(we,it,Ln){xr();var Xn=it.pos,La=it.end,qa=e.getEmitFlags(we),Hc=Nt||La<0||(1024&qa)!=0;Xn<0||(512&qa)!=0||function(bx){var Wa=e.emitDetachedComments(l0.text,xt(),y0,Bm,bx,N1,Nt);Wa&&($1?$1.push(Wa):$1=[Wa])}(it),Bt(),2048&qa&&!Nt?(Nt=!0,Ln(we),Nt=!1):Ln(we),xr(),Hc||(iA(it.end,!0),gr&&!y0.isAtStartOfLine()&&y0.writeLine()),Bt()}function iA(we,it){gr=!1,it?we===0&&(l0==null?void 0:l0.isDeclarationFile)?N2(we,Om):N2(we,Dk):we===0&&N2(we,t4)}function t4(we,it,Ln,Xn,La){kT(we,it)&&Dk(we,it,Ln,Xn,La)}function Om(we,it,Ln,Xn,La){kT(we,it)||Dk(we,it,Ln,Xn,La)}function Md(we,it){return!D0.onlyPrintJsDocStyle||e.isJSDocLikeText(we,it)||e.isPinnedComment(we,it)}function Dk(we,it,Ln,Xn,La){Md(l0.text,we)&&(gr||(e.emitNewLineBeforeLeadingCommentOfPosition(xt(),y0,La,we),gr=!0),LF(we),e.writeCommentRange(l0.text,xt(),y0,we,it,N1),LF(it),Xn?y0.writeLine():Ln===3&&y0.writeSpace(\" \"))}function Cd(we){Nt||we===-1||iA(we,!0)}function tF(we,it,Ln,Xn){Md(l0.text,we)&&(y0.isAtStartOfLine()||y0.writeSpace(\" \"),LF(we),e.writeCommentRange(l0.text,xt(),y0,we,it,N1),LF(it),Xn&&y0.writeLine())}function dd(we,it,Ln){Nt||(xr(),hm(we,it?tF:Ln?Rf:ow),Bt())}function Rf(we,it,Ln){LF(we),e.writeCommentRange(l0.text,xt(),y0,we,it,N1),LF(it),Ln===2&&y0.writeLine()}function ow(we,it,Ln,Xn){LF(we),e.writeCommentRange(l0.text,xt(),y0,we,it,N1),LF(it),Xn?y0.writeLine():y0.writeSpace(\" \")}function N2(we,it){!l0||gt!==-1&&we===gt||(function(Ln){return $1!==void 0&&e.last($1).nodePos===Ln}(we)?function(Ln){var Xn=e.last($1).detachedCommentEndPos;$1.length-1?$1.pop():$1=void 0,e.forEachLeadingCommentRange(l0.text,Xn,Ln,Xn)}(it):e.forEachLeadingCommentRange(l0.text,we,it,we))}function hm(we,it){l0&&(Vt===-1||we!==Vt&&we!==wr)&&e.forEachTrailingCommentRange(l0.text,we,it)}function Bm(we,it,Ln,Xn,La,qa){Md(l0.text,Xn)&&(LF(Xn),e.writeCommentRange(we,it,Ln,Xn,La,qa),LF(La))}function kT(we,it){return e.isRecognizedTripleSlashComment(l0.text,we,it)}function Jf(we,it){var Ln=Hx(3,we,it);Qd(it),Ln(we,it),$S(it)}function Qd(we){var it=e.getEmitFlags(we),Ln=e.getSourceMapRange(we);if(e.isUnparsedNode(we)){e.Debug.assertIsDefined(we.parent,\"UnparsedNodes must have parent pointers\");var Xn=function(qa){return qa.parsedSourceMap===void 0&&qa.sourceMapText!==void 0&&(qa.parsedSourceMap=e.tryParseRawSourceMap(qa.sourceMapText)||!1),qa.parsedSourceMap||void 0}(we.parent);Xn&&h1&&h1.appendSourceMap(y0.getLine(),y0.getColumn(),Xn,we.parent.sourceMapPath,we.parent.getLineAndCharacterOfPosition(we.pos),we.parent.getLineAndCharacterOfPosition(we.end))}else{var La=Ln.source||S1;we.kind!==339&&(16&it)==0&&Ln.pos>=0&&Ku(Ln.source||S1,Pf(La,Ln.pos)),64&it&&(Px=!0)}}function $S(we){var it=e.getEmitFlags(we),Ln=e.getSourceMapRange(we);e.isUnparsedNode(we)||(64&it&&(Px=!1),we.kind!==339&&(32&it)==0&&Ln.end>=0&&Ku(Ln.source||S1,Ln.end))}function Pf(we,it){return we.skipTrivia?we.skipTrivia(it):e.skipTrivia(we.text,it)}function LF(we){if(!(Px||e.positionIsSynthesized(we)||Rd(S1))){var it=e.getLineAndCharacterOfPosition(S1,we),Ln=it.line,Xn=it.character;h1.addMapping(y0.getLine(),y0.getColumn(),me,Ln,Xn,void 0)}}function Ku(we,it){if(we!==S1){var Ln=S1,Xn=me;Qw(we),LF(it),function(La,qa){S1=La,me=qa}(Ln,Xn)}else LF(it)}function Qw(we){Px||(S1=we,we!==Q1?Rd(we)||(me=h1.addSource(we.fileName),D0.inlineSources&&h1.setSourceContent(me,we.text),Q1=we,Re=me):me=Re)}function Rd(we){return e.fileExtensionIs(we.fileName,\".json\")}}e.isBuildInfoFile=function(D0){return e.fileExtensionIs(D0,\".tsbuildinfo\")},e.forEachEmittedFile=m0,e.getTsBuildInfoEmitOutputFilePath=s1,e.getOutputPathsForBundle=i0,e.getOutputPathsFor=H0,e.getOutputExtension=I,e.getOutputDeclarationFileName=Z,e.getCommonSourceDirectory=u0,e.getCommonSourceDirectoryOfConfig=U,e.getAllProjectOutputs=function(D0,x0){var l0=o0(),w0=l0.addOutput,V=l0.getOutputs;if(e.outFile(D0.options))j(D0,w0);else{for(var w=e.memoize(function(){return U(D0,x0)}),H=0,k0=D0.fileNames;H<k0.length;H++){var V0=k0[H];G(D0,V0,x0,w0,w)}w0(s1(D0.options))}return V()},e.getOutputFileNames=function(D0,x0,l0){x0=e.normalizePath(x0),e.Debug.assert(e.contains(D0.fileNames,x0),\"Expected fileName to be present in command line\");var w0=o0(),V=w0.addOutput,w=w0.getOutputs;return e.outFile(D0.options)?j(D0,V):G(D0,x0,l0,V),w()},e.getFirstProjectOutput=function(D0,x0){if(e.outFile(D0.options)){var l0=i0(D0.options,!1).jsFilePath;return e.Debug.checkDefined(l0,\"project \"+D0.options.configFilePath+\" expected to have at least one output\")}for(var w0=e.memoize(function(){return U(D0,x0)}),V=0,w=D0.fileNames;V<w.length;V++){var H=w[V];if(!e.fileExtensionIs(H,\".d.ts\")){if(l0=A0(H,D0,x0,w0))return l0;if(!e.fileExtensionIs(H,\".json\")&&e.getEmitDeclarations(D0.options))return Z(H,D0,x0,w0)}}var k0=s1(D0.options);return k0||e.Debug.fail(\"project \"+D0.options.configFilePath+\" expected to have at least one output\")},e.emitFiles=g0,e.getBuildInfoText=d0,e.getBuildInfo=P0,e.notImplementedResolver={hasGlobalName:e.notImplemented,getReferencedExportContainer:e.notImplemented,getReferencedImportDeclaration:e.notImplemented,getReferencedDeclarationWithCollidingName:e.notImplemented,isDeclarationWithCollidingName:e.notImplemented,isValueAliasDeclaration:e.notImplemented,isReferencedAliasDeclaration:e.notImplemented,isTopLevelValueImportEqualsWithEntityName:e.notImplemented,getNodeCheckFlags:e.notImplemented,isDeclarationVisible:e.notImplemented,isLateBound:function(D0){return!1},collectLinkedAliases:e.notImplemented,isImplementationOfOverload:e.notImplemented,isRequiredInitializedParameter:e.notImplemented,isOptionalUninitializedParameterProperty:e.notImplemented,isExpandoFunctionDeclaration:e.notImplemented,getPropertiesOfContainerFunction:e.notImplemented,createTypeOfDeclaration:e.notImplemented,createReturnTypeOfSignatureDeclaration:e.notImplemented,createTypeOfExpression:e.notImplemented,createLiteralConstValue:e.notImplemented,isSymbolAccessible:e.notImplemented,isEntityNameVisible:e.notImplemented,getConstantValue:e.notImplemented,getReferencedValueDeclaration:e.notImplemented,getTypeReferenceSerializationKind:e.notImplemented,isOptionalParameter:e.notImplemented,moduleExportsSomeValue:e.notImplemented,isArgumentsLocalBinding:e.notImplemented,getExternalModuleFileFromDeclaration:e.notImplemented,getTypeReferenceDirectivesForEntityName:e.notImplemented,getTypeReferenceDirectivesForSymbol:e.notImplemented,isLiteralConstDeclaration:e.notImplemented,getJsxFactoryEntity:e.notImplemented,getJsxFragmentFactoryEntity:e.notImplemented,getAllAccessorDeclarations:e.notImplemented,getSymbolOfExternalModuleSpecifier:e.notImplemented,isBindingCapturedByNode:e.notImplemented,getDeclarationStatementsForSourceFile:e.notImplemented,isImportRequiredByAugmentation:e.notImplemented},e.emitUsingBuildInfo=function(D0,x0,l0,w0){var V=i0(D0.options,!1),w=V.buildInfoPath,H=V.jsFilePath,k0=V.sourceMapFilePath,V0=V.declarationFilePath,t0=V.declarationMapPath,f0=x0.readFile(e.Debug.checkDefined(w));if(!f0)return w;var y0=x0.readFile(e.Debug.checkDefined(H));if(!y0)return H;var G0=k0&&x0.readFile(k0);if(k0&&!G0||D0.options.inlineSourceMap)return k0||\"inline sourcemap decoding\";var d1=V0&&x0.readFile(V0);if(V0&&!d1)return V0;var h1=t0&&x0.readFile(t0);if(t0&&!h1||D0.options.inlineSourceMap)return t0||\"inline sourcemap decoding\";var S1=P0(f0);if(!S1.bundle||!S1.bundle.js||d1&&!S1.bundle.dts)return w;var Q1=e.getDirectoryPath(e.getNormalizedAbsolutePath(w,x0.getCurrentDirectory())),Y0=e.createInputFiles(y0,d1,k0,G0,t0,h1,H,V0,w,S1,!0),$1=[],Z1=e.createPrependNodes(D0.projectReferences,l0,function(k1){return x0.readFile(k1)}),Q0=function(k1,I1,K0){var G1,Nx=e.Debug.checkDefined(k1.js),n1=((G1=Nx.sources)===null||G1===void 0?void 0:G1.prologues)&&e.arrayToMap(Nx.sources.prologues,function(S0){return S0.file});return k1.sourceFiles.map(function(S0,I0){var U0,p0,p1=n1==null?void 0:n1.get(I0),Y1=p1==null?void 0:p1.directives.map(function(Ox){var $x=e.setTextRange(e.factory.createStringLiteral(Ox.expression.text),Ox.expression),rx=e.setTextRange(e.factory.createExpressionStatement($x),Ox);return e.setParent($x,rx),rx}),N1=e.factory.createToken(1),V1=e.factory.createSourceFile(Y1!=null?Y1:[],N1,0);return V1.fileName=e.getRelativePathFromDirectory(K0.getCurrentDirectory(),e.getNormalizedAbsolutePath(S0,I1),!K0.useCaseSensitiveFileNames()),V1.text=(U0=p1==null?void 0:p1.text)!==null&&U0!==void 0?U0:\"\",e.setTextRangePosWidth(V1,0,(p0=p1==null?void 0:p1.text.length)!==null&&p0!==void 0?p0:0),e.setEachParent(V1.statements,V1),e.setTextRangePosWidth(N1,V1.end,0),e.setParent(N1,V1),V1})}(S1.bundle,Q1,x0),y1={getPrependNodes:e.memoize(function(){return D(D([],Z1),[Y0])}),getCanonicalFileName:x0.getCanonicalFileName,getCommonSourceDirectory:function(){return e.getNormalizedAbsolutePath(S1.bundle.commonSourceDirectory,Q1)},getCompilerOptions:function(){return D0.options},getCurrentDirectory:function(){return x0.getCurrentDirectory()},getNewLine:function(){return x0.getNewLine()},getSourceFile:e.returnUndefined,getSourceFileByPath:e.returnUndefined,getSourceFiles:function(){return Q0},getLibFileFromReference:e.notImplemented,isSourceFileFromExternalLibrary:e.returnFalse,getResolvedProjectReferenceToRedirect:e.returnUndefined,getProjectReferenceRedirect:e.returnUndefined,isSourceOfProjectReferenceRedirect:e.returnFalse,writeFile:function(k1,I1,K0){switch(k1){case H:if(y0===I1)return;break;case k0:if(G0===I1)return;break;case w:var G1=P0(I1);G1.program=S1.program;var Nx=S1.bundle,n1=Nx.js,S0=Nx.dts,I0=Nx.sourceFiles;return G1.bundle.js.sources=n1.sources,S0&&(G1.bundle.dts.sources=S0.sources),G1.bundle.sourceFiles=I0,void $1.push({name:k1,text:d0(G1),writeByteOrderMark:K0});case V0:if(d1===I1)return;break;case t0:if(h1===I1)return;break;default:e.Debug.fail(\"Unexpected path: \"+k1)}$1.push({name:k1,text:I1,writeByteOrderMark:K0})},isEmitBlocked:e.returnFalse,readFile:function(k1){return x0.readFile(k1)},fileExists:function(k1){return x0.fileExists(k1)},useCaseSensitiveFileNames:function(){return x0.useCaseSensitiveFileNames()},getProgramBuildInfo:e.returnUndefined,getSourceFileFromReference:e.returnUndefined,redirectTargetsMap:e.createMultiMap(),getFileIncludeReasons:e.notImplemented};return g0(e.notImplementedResolver,y1,void 0,e.getTransformers(D0.options,w0)),$1},function(D0){D0[D0.Notification=0]=\"Notification\",D0[D0.Substitution=1]=\"Substitution\",D0[D0.Comments=2]=\"Comments\",D0[D0.SourceMaps=3]=\"SourceMaps\",D0[D0.Emit=4]=\"Emit\"}(s||(s={})),e.createPrinter=c0,function(D0){D0[D0.Auto=0]=\"Auto\",D0[D0.CountMask=268435455]=\"CountMask\",D0[D0._i=268435456]=\"_i\"}(X||(X={}))}(_0||(_0={})),function(e){var s,X;function J(m0){m0.watcher.close()}e.createCachedDirectoryStructureHost=function(m0,s1,i0){if(m0.getDirectories&&m0.readDirectory){var H0=new e.Map,E0=e.createGetCanonicalFileName(i0);return{useCaseSensitiveFileNames:i0,fileExists:function(P0){var c0=Z(I(P0));return c0&&G(c0.files,A0(P0))||m0.fileExists(P0)},readFile:function(P0,c0){return m0.readFile(P0,c0)},directoryExists:m0.directoryExists&&function(P0){var c0=I(P0);return H0.has(e.ensureTrailingDirectorySeparator(c0))||m0.directoryExists(P0)},getDirectories:function(P0){var c0=I(P0),D0=o0(P0,c0);return D0?D0.directories.slice():m0.getDirectories(P0)},readDirectory:function(P0,c0,D0,x0,l0){var w0,V=I(P0),w=o0(P0,V);if(w!==void 0)return e.matchFiles(P0,c0,D0,x0,i0,s1,l0,function(k0){var V0=I(k0);if(V0===V)return w||H(k0,V0);var t0=o0(k0,V0);return t0!==void 0?t0||H(k0,V0):e.emptyFileSystemEntries},U);return m0.readDirectory(P0,c0,D0,x0,l0);function H(k0,V0){if(w0&&V0===V)return w0;var t0={files:e.map(m0.readDirectory(k0,void 0,void 0,[\"*.*\"]),A0)||e.emptyArray,directories:m0.getDirectories(k0)||e.emptyArray};return V0===V&&(w0=t0),t0}},createDirectory:m0.createDirectory&&function(P0){var c0=Z(I(P0)),D0=A0(P0);c0&&u0(c0.directories,D0,!0),m0.createDirectory(P0)},writeFile:m0.writeFile&&function(P0,c0,D0){var x0=Z(I(P0));return x0&&g0(x0,A0(P0),!0),m0.writeFile(P0,c0,D0)},addOrDeleteFileOrDirectory:function(P0,c0){if(A(c0)!==void 0)return void d0();var D0=Z(c0);if(!!D0){if(!m0.directoryExists)return void d0();var x0=A0(P0),l0={fileExists:m0.fileExists(c0),directoryExists:m0.directoryExists(c0)};return l0.directoryExists||G(D0.directories,x0)?d0():g0(D0,x0,l0.fileExists),l0}},addOrDeleteFile:function(P0,c0,D0){if(D0!==e.FileWatcherEventKind.Changed){var x0=Z(c0);x0&&g0(x0,A0(P0),D0===e.FileWatcherEventKind.Created)}},clearCache:d0,realpath:m0.realpath&&U}}function I(P0){return e.toPath(P0,s1,E0)}function A(P0){return H0.get(e.ensureTrailingDirectorySeparator(P0))}function Z(P0){return A(e.getDirectoryPath(P0))}function A0(P0){return e.getBaseFileName(e.normalizePath(P0))}function o0(P0,c0){var D0=A(c0=e.ensureTrailingDirectorySeparator(c0));if(D0)return D0;try{return function(x0,l0){var w0;if(!m0.realpath||e.ensureTrailingDirectorySeparator(I(m0.realpath(x0)))===l0){var V={files:e.map(m0.readDirectory(x0,void 0,void 0,[\"*.*\"]),A0)||[],directories:m0.getDirectories(x0)||[]};return H0.set(e.ensureTrailingDirectorySeparator(l0),V),V}if((w0=m0.directoryExists)===null||w0===void 0?void 0:w0.call(m0,x0))return H0.set(l0,!1),!1}(P0,c0)}catch{return void e.Debug.assert(!H0.has(e.ensureTrailingDirectorySeparator(c0)))}}function j(P0,c0){return E0(P0)===E0(c0)}function G(P0,c0){return e.some(P0,function(D0){return j(D0,c0)})}function u0(P0,c0,D0){if(G(P0,c0)){if(!D0)return e.filterMutate(P0,function(x0){return!j(x0,c0)})}else if(D0)return P0.push(c0)}function U(P0){return m0.realpath?m0.realpath(P0):P0}function g0(P0,c0,D0){u0(P0.files,c0,D0)}function d0(){H0.clear()}},(s=e.ConfigFileProgramReloadLevel||(e.ConfigFileProgramReloadLevel={}))[s.None=0]=\"None\",s[s.Partial=1]=\"Partial\",s[s.Full=2]=\"Full\",e.updateSharedExtendedConfigFileWatcher=function(m0,s1,i0,H0,E0){var I,A=e.arrayToMap(((I=s1==null?void 0:s1.configFile)===null||I===void 0?void 0:I.extendedSourceFiles)||e.emptyArray,E0);i0.forEach(function(Z,A0){A.has(A0)||(Z.projects.delete(m0),Z.close())}),A.forEach(function(Z,A0){var o0=i0.get(A0);o0?o0.projects.add(m0):i0.set(A0,{projects:new e.Set([m0]),watcher:H0(Z,A0),close:function(){var j=i0.get(A0);j&&j.projects.size===0&&(j.watcher.close(),i0.delete(A0))}})})},e.clearSharedExtendedConfigFileWatcher=function(m0,s1){s1.forEach(function(i0){i0.projects.delete(m0)&&i0.close()})},e.cleanExtendedConfigCache=function m0(s1,i0,H0){s1.delete(i0)&&s1.forEach(function(E0,I){var A;((A=E0.extendedResult.extendedSourceFiles)===null||A===void 0?void 0:A.some(function(Z){return H0(Z)===i0}))&&m0(s1,I,H0)})},e.updateMissingFilePathsWatch=function(m0,s1,i0){var H0=m0.getMissingFilePaths(),E0=e.arrayToMap(H0,e.identity,e.returnTrue);e.mutateMap(s1,E0,{createNewValue:i0,onDeleteValue:e.closeFileWatcher})},e.updateWatchingWildcardDirectories=function(m0,s1,i0){function H0(E0,I){return{watcher:i0(E0,I),flags:I}}e.mutateMap(m0,s1,{createNewValue:H0,onDeleteValue:J,onExistingValue:function(E0,I,A){E0.flags!==I&&(E0.watcher.close(),m0.set(A,H0(A,I)))}})},e.isIgnoredFileFromWildCardWatching=function(m0){var s1=m0.watchedDirPath,i0=m0.fileOrDirectory,H0=m0.fileOrDirectoryPath,E0=m0.configFileName,I=m0.options,A=m0.program,Z=m0.extraFileExtensions,A0=m0.currentDirectory,o0=m0.useCaseSensitiveFileNames,j=m0.writeLog,G=m0.toPath,u0=e.removeIgnoredPath(H0);if(!u0)return j(\"Project: \"+E0+\" Detected ignored path: \"+i0),!0;if((H0=u0)===s1)return!1;if(e.hasExtension(H0)&&!e.isSupportedSourceFileName(i0,I,Z))return j(\"Project: \"+E0+\" Detected file add/remove of non supported extension: \"+i0),!0;if(e.isExcludedFile(i0,I.configFile.configFileSpecs,e.getNormalizedAbsolutePath(e.getDirectoryPath(E0),A0),o0,A0))return j(\"Project: \"+E0+\" Detected excluded file: \"+i0),!0;if(!A||I.outFile||I.outDir)return!1;if(e.fileExtensionIs(H0,\".d.ts\")){if(I.declarationDir)return!1}else if(!e.fileExtensionIsOneOf(H0,e.supportedJSExtensions))return!1;var U=e.removeFileExtension(H0),g0=e.isArray(A)?void 0:function(c0){return!!c0.getState}(A)?A.getProgramOrUndefined():A,d0=g0||e.isArray(A)?void 0:A;return!(!P0(U+\".ts\")&&!P0(U+\".tsx\"))&&(j(\"Project: \"+E0+\" Detected output file: \"+i0),!0);function P0(c0){return g0?!!g0.getSourceFileByPath(c0):d0?d0.getState().fileInfos.has(c0):!!e.find(A,function(D0){return G(D0)===c0})}},e.isEmittedFileOfProgram=function(m0,s1){return!!m0&&m0.isEmittedFile(s1)},function(m0){m0[m0.None=0]=\"None\",m0[m0.TriggerOnly=1]=\"TriggerOnly\",m0[m0.Verbose=2]=\"Verbose\"}(X=e.WatchLogLevel||(e.WatchLogLevel={})),e.getWatchFactory=function(m0,s1,i0,H0){e.setSysLog(s1===X.Verbose?i0:e.noop);var E0={watchFile:function(G,u0,U,g0){return m0.watchFile(G,u0,U,g0)},watchDirectory:function(G,u0,U,g0){return m0.watchDirectory(G,u0,(1&U)!=0,g0)}},I=s1!==X.None?{watchFile:o0(\"watchFile\"),watchDirectory:o0(\"watchDirectory\")}:void 0,A=s1===X.Verbose?{watchFile:function(G,u0,U,g0,d0,P0){i0(\"FileWatcher:: Added:: \"+j(G,U,g0,d0,P0,H0));var c0=I.watchFile(G,u0,U,g0,d0,P0);return{close:function(){i0(\"FileWatcher:: Close:: \"+j(G,U,g0,d0,P0,H0)),c0.close()}}},watchDirectory:function(G,u0,U,g0,d0,P0){var c0=\"DirectoryWatcher:: Added:: \"+j(G,U,g0,d0,P0,H0);i0(c0);var D0=e.timestamp(),x0=I.watchDirectory(G,u0,U,g0,d0,P0),l0=e.timestamp()-D0;return i0(\"Elapsed:: \"+l0+\"ms \"+c0),{close:function(){var w0=\"DirectoryWatcher:: Close:: \"+j(G,U,g0,d0,P0,H0);i0(w0);var V=e.timestamp();x0.close();var w=e.timestamp()-V;i0(\"Elapsed:: \"+w+\"ms \"+w0)}}}}:I||E0,Z=s1===X.Verbose?function(G,u0,U,g0,d0){return i0(\"ExcludeWatcher:: Added:: \"+j(G,u0,U,g0,d0,H0)),{close:function(){return i0(\"ExcludeWatcher:: Close:: \"+j(G,u0,U,g0,d0,H0))}}}:e.returnNoopFileWatcher;return{watchFile:A0(\"watchFile\"),watchDirectory:A0(\"watchDirectory\")};function A0(G){return function(u0,U,g0,d0,P0,c0){var D0;return e.matchesExclude(u0,G===\"watchFile\"?d0==null?void 0:d0.excludeFiles:d0==null?void 0:d0.excludeDirectories,typeof m0.useCaseSensitiveFileNames==\"boolean\"?m0.useCaseSensitiveFileNames:m0.useCaseSensitiveFileNames(),((D0=m0.getCurrentDirectory)===null||D0===void 0?void 0:D0.call(m0))||\"\")?Z(u0,g0,d0,P0,c0):A[G].call(void 0,u0,U,g0,d0,P0,c0)}}function o0(G){return function(u0,U,g0,d0,P0,c0){return E0[G].call(void 0,u0,function(){for(var D0=[],x0=0;x0<arguments.length;x0++)D0[x0]=arguments[x0];var l0=(G===\"watchFile\"?\"FileWatcher\":\"DirectoryWatcher\")+\":: Triggered with \"+D0[0]+\" \"+(D0[1]!==void 0?D0[1]:\"\")+\":: \"+j(u0,g0,d0,P0,c0,H0);i0(l0);var w0=e.timestamp();U.call.apply(U,D([void 0],D0));var V=e.timestamp()-w0;i0(\"Elapsed:: \"+V+\"ms \"+l0)},g0,d0,P0,c0)}}function j(G,u0,U,g0,d0,P0){return\"WatchInfo: \"+G+\" \"+u0+\" \"+JSON.stringify(U)+\" \"+(P0?P0(g0,d0):d0===void 0?g0:g0+\" \"+d0)}},e.getFallbackOptions=function(m0){var s1=m0==null?void 0:m0.fallbackPolling;return{watchFile:s1!==void 0?s1:e.WatchFileKind.PriorityPollingInterval}},e.closeFileWatcherOf=J}(_0||(_0={})),function(e){function s(w,H){var k0=e.getDirectoryPath(H),V0=e.isRootedDiskPath(w)?w:e.combinePaths(k0,w);return e.normalizePath(V0)}function X(w,H){return J(w,H)}function J(w,H,k0){k0===void 0&&(k0=e.sys);var V0,t0=new e.Map,f0=e.createGetCanonicalFileName(k0.useCaseSensitiveFileNames),y0=e.maybeBind(k0,k0.createHash)||e.generateDjb2Hash;function G0(){return e.getDirectoryPath(e.normalizePath(k0.getExecutingFilePath()))}var d1=e.getNewLineCharacter(w,function(){return k0.newLine}),h1=k0.realpath&&function(Q1){return k0.realpath(Q1)},S1={getSourceFile:function(Q1,Y0,$1){var Z1;try{e.performance.mark(\"beforeIORead\"),Z1=S1.readFile(Q1),e.performance.mark(\"afterIORead\"),e.performance.measure(\"I/O Read\",\"beforeIORead\",\"afterIORead\")}catch(Q0){$1&&$1(Q0.message),Z1=\"\"}return Z1!==void 0?e.createSourceFile(Q1,Z1,Y0,H):void 0},getDefaultLibLocation:G0,getDefaultLibFileName:function(Q1){return e.combinePaths(G0(),e.getDefaultLibFileName(Q1))},writeFile:function(Q1,Y0,$1,Z1){try{e.performance.mark(\"beforeIOWrite\"),e.writeFileEnsuringDirectories(Q1,Y0,$1,function(Q0,y1,k1){return function(I1,K0,G1){if(!e.isWatchSet(w)||!k0.getModifiedTime)return void k0.writeFile(I1,K0,G1);V0||(V0=new e.Map);var Nx=y0(K0),n1=k0.getModifiedTime(I1);if(n1){var S0=V0.get(I1);if(S0&&S0.byteOrderMark===G1&&S0.hash===Nx&&S0.mtime.getTime()===n1.getTime())return}k0.writeFile(I1,K0,G1);var I0=k0.getModifiedTime(I1)||e.missingFileModifiedTime;V0.set(I1,{hash:Nx,byteOrderMark:G1,mtime:I0})}(Q0,y1,k1)},function(Q0){return(S1.createDirectory||k0.createDirectory)(Q0)},function(Q0){return y1=Q0,!!t0.has(y1)||!!(S1.directoryExists||k0.directoryExists)(y1)&&(t0.set(y1,!0),!0);var y1}),e.performance.mark(\"afterIOWrite\"),e.performance.measure(\"I/O Write\",\"beforeIOWrite\",\"afterIOWrite\")}catch(Q0){Z1&&Z1(Q0.message)}},getCurrentDirectory:e.memoize(function(){return k0.getCurrentDirectory()}),useCaseSensitiveFileNames:function(){return k0.useCaseSensitiveFileNames},getCanonicalFileName:f0,getNewLine:function(){return d1},fileExists:function(Q1){return k0.fileExists(Q1)},readFile:function(Q1){return k0.readFile(Q1)},trace:function(Q1){return k0.write(Q1+d1)},directoryExists:function(Q1){return k0.directoryExists(Q1)},getEnvironmentVariable:function(Q1){return k0.getEnvironmentVariable?k0.getEnvironmentVariable(Q1):\"\"},getDirectories:function(Q1){return k0.getDirectories(Q1)},realpath:h1,readDirectory:function(Q1,Y0,$1,Z1,Q0){return k0.readDirectory(Q1,Y0,$1,Z1,Q0)},createDirectory:function(Q1){return k0.createDirectory(Q1)},createHash:e.maybeBind(k0,k0.createHash)};return S1}function m0(w,H){var k0=e.diagnosticCategoryName(w)+\" TS\"+w.code+\": \"+o0(w.messageText,H.getNewLine())+H.getNewLine();if(w.file){var V0=e.getLineAndCharacterOfPosition(w.file,w.start),t0=V0.line,f0=V0.character,y0=w.file.fileName;return e.convertToRelativePath(y0,H.getCurrentDirectory(),function(G0){return H.getCanonicalFileName(G0)})+\"(\"+(t0+1)+\",\"+(f0+1)+\"): \"+k0}return k0}var s1;e.findConfigFile=function(w,H,k0){return k0===void 0&&(k0=\"tsconfig.json\"),e.forEachAncestorDirectory(w,function(V0){var t0=e.combinePaths(V0,k0);return H(t0)?t0:void 0})},e.resolveTripleslashReference=s,e.computeCommonSourceDirectoryOfFilenames=function(w,H,k0){var V0;return e.forEach(w,function(t0){var f0=e.getNormalizedPathComponents(t0,H);if(f0.pop(),V0){for(var y0=Math.min(V0.length,f0.length),G0=0;G0<y0;G0++)if(k0(V0[G0])!==k0(f0[G0])){if(G0===0)return!0;V0.length=G0;break}f0.length<V0.length&&(V0.length=f0.length)}else V0=f0})?\"\":V0?e.getPathFromPathComponents(V0):H},e.createCompilerHost=X,e.createCompilerHostWorker=J,e.changeCompilerHostLikeToUseCache=function(w,H,k0){var V0=w.readFile,t0=w.fileExists,f0=w.directoryExists,y0=w.createDirectory,G0=w.writeFile,d1=new e.Map,h1=new e.Map,S1=new e.Map,Q1=new e.Map,Y0=function(Z1,Q0){var y1=V0.call(w,Q0);return d1.set(Z1,y1!==void 0&&y1),y1};w.readFile=function(Z1){var Q0=H(Z1),y1=d1.get(Q0);return y1!==void 0?y1!==!1?y1:void 0:e.fileExtensionIs(Z1,\".json\")||e.isBuildInfoFile(Z1)?Y0(Q0,Z1):V0.call(w,Z1)};var $1=k0?function(Z1,Q0,y1,k1){var I1=H(Z1),K0=Q1.get(I1);if(K0)return K0;var G1=k0(Z1,Q0,y1,k1);return G1&&(e.isDeclarationFileName(Z1)||e.fileExtensionIs(Z1,\".json\"))&&Q1.set(I1,G1),G1}:void 0;return w.fileExists=function(Z1){var Q0=H(Z1),y1=h1.get(Q0);if(y1!==void 0)return y1;var k1=t0.call(w,Z1);return h1.set(Q0,!!k1),k1},G0&&(w.writeFile=function(Z1,Q0,y1,k1,I1){var K0=H(Z1);h1.delete(K0);var G1=d1.get(K0);if(G1!==void 0&&G1!==Q0)d1.delete(K0),Q1.delete(K0);else if($1){var Nx=Q1.get(K0);Nx&&Nx.text!==Q0&&Q1.delete(K0)}G0.call(w,Z1,Q0,y1,k1,I1)}),f0&&y0&&(w.directoryExists=function(Z1){var Q0=H(Z1),y1=S1.get(Q0);if(y1!==void 0)return y1;var k1=f0.call(w,Z1);return S1.set(Q0,!!k1),k1},w.createDirectory=function(Z1){var Q0=H(Z1);S1.delete(Q0),y0.call(w,Z1)}),{originalReadFile:V0,originalFileExists:t0,originalDirectoryExists:f0,originalCreateDirectory:y0,originalWriteFile:G0,getSourceFileWithCache:$1,readFileWithCache:function(Z1){var Q0=H(Z1),y1=d1.get(Q0);return y1!==void 0?y1!==!1?y1:void 0:Y0(Q0,Z1)}}},e.getPreEmitDiagnostics=function(w,H,k0){var V0;return V0=e.addRange(V0,w.getConfigFileParsingDiagnostics()),V0=e.addRange(V0,w.getOptionsDiagnostics(k0)),V0=e.addRange(V0,w.getSyntacticDiagnostics(H,k0)),V0=e.addRange(V0,w.getGlobalDiagnostics(k0)),V0=e.addRange(V0,w.getSemanticDiagnostics(H,k0)),e.getEmitDeclarations(w.getCompilerOptions())&&(V0=e.addRange(V0,w.getDeclarationDiagnostics(H,k0))),e.sortAndDeduplicateDiagnostics(V0||e.emptyArray)},e.formatDiagnostics=function(w,H){for(var k0=\"\",V0=0,t0=w;V0<t0.length;V0++)k0+=m0(t0[V0],H);return k0},e.formatDiagnostic=m0,function(w){w.Grey=\"\u001b[90m\",w.Red=\"\u001b[91m\",w.Yellow=\"\u001b[93m\",w.Blue=\"\u001b[94m\",w.Cyan=\"\u001b[96m\"}(s1=e.ForegroundColorEscapeSequences||(e.ForegroundColorEscapeSequences={}));var i0=\"\u001b[7m\",H0=\"\u001b[0m\",E0=\"    \";function I(w){switch(w){case e.DiagnosticCategory.Error:return s1.Red;case e.DiagnosticCategory.Warning:return s1.Yellow;case e.DiagnosticCategory.Suggestion:return e.Debug.fail(\"Should never get an Info diagnostic on the command line.\");case e.DiagnosticCategory.Message:return s1.Blue}}function A(w,H){return H+w+H0}function Z(w,H,k0,V0,t0,f0){var y0=e.getLineAndCharacterOfPosition(w,H),G0=y0.line,d1=y0.character,h1=e.getLineAndCharacterOfPosition(w,H+k0),S1=h1.line,Q1=h1.character,Y0=e.getLineAndCharacterOfPosition(w,w.text.length).line,$1=S1-G0>=4,Z1=(S1+1+\"\").length;$1&&(Z1=Math.max(\"...\".length,Z1));for(var Q0=\"\",y1=G0;y1<=S1;y1++){Q0+=f0.getNewLine(),$1&&G0+1<y1&&y1<S1-1&&(Q0+=V0+A(e.padLeft(\"...\",Z1),i0)+\" \"+f0.getNewLine(),y1=S1-1);var k1=e.getPositionOfLineAndCharacter(w,y1,0),I1=y1<Y0?e.getPositionOfLineAndCharacter(w,y1+1,0):w.text.length,K0=w.text.slice(k1,I1);if(K0=(K0=K0.replace(/\\s+$/g,\"\")).replace(/\\t/g,\" \"),Q0+=V0+A(e.padLeft(y1+1+\"\",Z1),i0)+\" \",Q0+=K0+f0.getNewLine(),Q0+=V0+A(e.padLeft(\"\",Z1),i0)+\" \",Q0+=t0,y1===G0){var G1=y1===S1?Q1:void 0;Q0+=K0.slice(0,d1).replace(/\\S/g,\" \"),Q0+=K0.slice(d1,G1).replace(/./g,\"~\")}else Q0+=y1===S1?K0.slice(0,Q1).replace(/./g,\"~\"):K0.replace(/./g,\"~\");Q0+=H0}return Q0}function A0(w,H,k0,V0){V0===void 0&&(V0=A);var t0=e.getLineAndCharacterOfPosition(w,H),f0=t0.line,y0=t0.character,G0=\"\";return G0+=V0(k0?e.convertToRelativePath(w.fileName,k0.getCurrentDirectory(),function(d1){return k0.getCanonicalFileName(d1)}):w.fileName,s1.Cyan),G0+=\":\",G0+=V0(\"\"+(f0+1),s1.Yellow),G0+=\":\",G0+=V0(\"\"+(y0+1),s1.Yellow)}function o0(w,H,k0){if(k0===void 0&&(k0=0),e.isString(w))return w;if(w===void 0)return\"\";var V0=\"\";if(k0){V0+=H;for(var t0=0;t0<k0;t0++)V0+=\"  \"}if(V0+=w.messageText,k0++,w.next)for(var f0=0,y0=w.next;f0<y0.length;f0++)V0+=o0(y0[f0],H,k0);return V0}function j(w,H,k0,V0){if(w.length===0)return[];for(var t0=[],f0=new e.Map,y0=0,G0=w;y0<G0.length;y0++){var d1=G0[y0],h1=void 0;f0.has(d1)?h1=f0.get(d1):f0.set(d1,h1=V0(d1,H,k0)),t0.push(h1)}return t0}function G(w,H,k0,V0){var t0;return function f0(y0,G0,d1){if(V0){var h1=V0(y0,d1);if(h1)return h1}return e.forEach(G0,function(S1,Q1){if(!S1||!(t0==null?void 0:t0.has(S1.sourceFile.path))){var Y0=k0(S1,d1,Q1);return Y0||!S1?Y0:((t0||(t0=new e.Set)).add(S1.sourceFile.path),f0(S1.commandLine.projectReferences,S1.references,S1))}})}(w,H,void 0)}function u0(w){switch(w==null?void 0:w.kind){case e.FileIncludeKind.Import:case e.FileIncludeKind.ReferenceFile:case e.FileIncludeKind.TypeReferenceDirective:case e.FileIncludeKind.LibReferenceDirective:return!0;default:return!1}}function U(w){return w.pos!==void 0}function g0(w,H){var k0,V0,t0,f0,y0,G0,d1,h1,S1,Q1,Y0=e.Debug.checkDefined(w(H.file)),$1=H.kind,Z1=H.index;switch($1){case e.FileIncludeKind.Import:var Q0=V(Y0,Z1);if(Q1=(y0=(f0=Y0.resolvedModules)===null||f0===void 0?void 0:f0.get(Q0.text))===null||y0===void 0?void 0:y0.packageId,Q0.pos===-1)return{file:Y0,packageId:Q1,text:Q0.text};h1=e.skipTrivia(Y0.text,Q0.pos),S1=Q0.end;break;case e.FileIncludeKind.ReferenceFile:h1=(k0=Y0.referencedFiles[Z1]).pos,S1=k0.end;break;case e.FileIncludeKind.TypeReferenceDirective:h1=(V0=Y0.typeReferenceDirectives[Z1]).pos,S1=V0.end,Q1=(d1=(G0=Y0.resolvedTypeReferenceDirectiveNames)===null||G0===void 0?void 0:G0.get(e.toFileNameLowerCase(Y0.typeReferenceDirectives[Z1].fileName)))===null||d1===void 0?void 0:d1.packageId;break;case e.FileIncludeKind.LibReferenceDirective:h1=(t0=Y0.libReferenceDirectives[Z1]).pos,S1=t0.end;break;default:return e.Debug.assertNever($1)}return{file:Y0,pos:h1,end:S1,packageId:Q1}}function d0(w,H,k0,V0){var t0=w.getCompilerOptions();if(t0.noEmit)return w.getSemanticDiagnostics(H,V0),H||e.outFile(t0)?e.emitSkippedWithNoDiagnostics:w.emitBuildInfo(k0,V0);if(t0.noEmitOnError){var f0=D(D(D(D([],w.getOptionsDiagnostics(V0)),w.getSyntacticDiagnostics(H,V0)),w.getGlobalDiagnostics(V0)),w.getSemanticDiagnostics(H,V0));if(f0.length===0&&e.getEmitDeclarations(w.getCompilerOptions())&&(f0=w.getDeclarationDiagnostics(void 0,V0)),f0.length){var y0;if(!H&&!e.outFile(t0)){var G0=w.emitBuildInfo(k0,V0);G0.diagnostics&&(f0=D(D([],f0),G0.diagnostics)),y0=G0.emittedFiles}return{diagnostics:f0,sourceMaps:void 0,emittedFiles:y0,emitSkipped:!0}}}}function P0(w,H){return e.filter(w,function(k0){return!k0.skippedOn||!H[k0.skippedOn]})}function c0(w,H){return H===void 0&&(H=w),{fileExists:function(k0){return H.fileExists(k0)},readDirectory:function(k0,V0,t0,f0,y0){return e.Debug.assertIsDefined(H.readDirectory,\"'CompilerHost.readDirectory' must be implemented to correctly process 'projectReferences'\"),H.readDirectory(k0,V0,t0,f0,y0)},readFile:function(k0){return H.readFile(k0)},useCaseSensitiveFileNames:w.useCaseSensitiveFileNames(),getCurrentDirectory:function(){return w.getCurrentDirectory()},onUnRecoverableConfigFileDiagnostic:w.onUnRecoverableConfigFileDiagnostic||e.returnUndefined,trace:w.trace?function(k0){return w.trace(k0)}:void 0}}function D0(w,H,k0){if(!w)return e.emptyArray;for(var V0,t0=0;t0<w.length;t0++){var f0=w[t0],y0=H(f0,t0);if(f0.prepend&&y0&&y0.options){if(!e.outFile(y0.options))continue;var G0=e.getOutputPathsForBundle(y0.options,!0),d1=G0.jsFilePath,h1=G0.sourceMapFilePath,S1=G0.declarationFilePath,Q1=G0.declarationMapPath,Y0=G0.buildInfoPath,$1=e.createInputFiles(k0,d1,h1,S1,Q1,Y0);(V0||(V0=[])).push($1)}}return V0||e.emptyArray}function x0(w,H){var k0=H||w;return e.resolveConfigFileProjectName(k0.path)}function l0(w,H){switch(H.extension){case\".ts\":case\".d.ts\":return;case\".tsx\":return k0();case\".jsx\":return k0()||V0();case\".js\":return V0();case\".json\":return w.resolveJsonModule?void 0:e.Diagnostics.Module_0_was_resolved_to_1_but_resolveJsonModule_is_not_used}function k0(){return w.jsx?void 0:e.Diagnostics.Module_0_was_resolved_to_1_but_jsx_is_not_set}function V0(){return e.getAllowJSCompilerOption(w)||!e.getStrictOptionValue(w,\"noImplicitAny\")?void 0:e.Diagnostics.Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type}}function w0(w){for(var H=w.imports,k0=w.moduleAugmentations,V0=H.map(function(G0){return G0.text}),t0=0,f0=k0;t0<f0.length;t0++){var y0=f0[t0];y0.kind===10&&V0.push(y0.text)}return V0}function V(w,H){var k0=w.imports,V0=w.moduleAugmentations;if(H<k0.length)return k0[H];for(var t0=k0.length,f0=0,y0=V0;f0<y0.length;f0++){var G0=y0[f0];if(G0.kind===10){if(H===t0)return G0;t0++}}e.Debug.fail(\"should never ask for module name at index higher than possible module name\")}e.formatColorAndReset=A,e.formatLocation=A0,e.formatDiagnosticsWithColorAndContext=function(w,H){for(var k0=\"\",V0=0,t0=w;V0<t0.length;V0++){var f0=t0[V0];if(f0.file&&(k0+=A0(h1=f0.file,S1=f0.start,H),k0+=\" - \"),k0+=A(e.diagnosticCategoryName(f0),I(f0.category)),k0+=A(\" TS\"+f0.code+\": \",s1.Grey),k0+=o0(f0.messageText,H.getNewLine()),f0.file&&(k0+=H.getNewLine(),k0+=Z(f0.file,f0.start,f0.length,\"\",I(f0.category),H)),f0.relatedInformation){k0+=H.getNewLine();for(var y0=0,G0=f0.relatedInformation;y0<G0.length;y0++){var d1=G0[y0],h1=d1.file,S1=d1.start,Q1=d1.length,Y0=d1.messageText;h1&&(k0+=H.getNewLine(),k0+=\"  \"+A0(h1,S1,H),k0+=Z(h1,S1,Q1,E0,s1.Cyan,H)),k0+=H.getNewLine(),k0+=E0+o0(Y0,H.getNewLine())}}k0+=H.getNewLine()}return k0},e.flattenDiagnosticMessageText=o0,e.loadWithLocalCache=j,e.forEachResolvedProjectReference=function(w,H){return G(void 0,w,function(k0,V0){return k0&&H(k0,V0)})},e.inferredTypesContainingFile=\"__inferred type names__.ts\",e.isReferencedFile=u0,e.isReferenceFileLocation=U,e.getReferencedFileLocation=g0,e.isProgramUptoDate=function(w,H,k0,V0,t0,f0,y0,G0,d1){if(!w||(y0==null?void 0:y0())||!e.arrayIsEqualTo(w.getRootFileNames(),H))return!1;var h1;if(!e.arrayIsEqualTo(w.getProjectReferences(),d1,function(Y0,$1,Z1){return e.projectReferenceIsEqualTo(Y0,$1)&&Q1(w.getResolvedProjectReferences()[Z1],Y0)})||w.getSourceFiles().some(function(Y0){return!function($1){return $1.version===V0($1.resolvedPath,$1.fileName)}(Y0)||f0(Y0.path)})||w.getMissingFilePaths().some(t0))return!1;var S1=w.getCompilerOptions();return!!e.compareDataObjects(S1,k0)&&(!S1.configFile||!k0.configFile||S1.configFile.text===k0.configFile.text);function Q1(Y0,$1){if(Y0){if(e.contains(h1,Y0))return!0;var Z1=x0($1),Q0=G0(Z1);return!!Q0&&Y0.commandLine.options.configFile===Q0.options.configFile&&!!e.arrayIsEqualTo(Y0.commandLine.fileNames,Q0.fileNames)&&((h1||(h1=[])).push(Y0),!e.forEach(Y0.references,function(k1,I1){return!Q1(k1,Y0.commandLine.projectReferences[I1])}))}var y1=x0($1);return!G0(y1)}},e.getConfigFileParsingDiagnostics=function(w){return w.options.configFile?D(D([],w.options.configFile.parseDiagnostics),w.errors):w.errors},e.createProgram=function(w,H,k0,V0,t0){var f0,y0,G0,d1,h1,S1,Q1,Y0,$1,Z1,Q0,y1,k1=e.isArray(w)?function(yr,Jr,Un,pa,za){return{rootNames:yr,options:Jr,host:Un,oldProgram:pa,configFileParsingDiagnostics:za}}(w,H,k0,V0,t0):w,I1=k1.rootNames,K0=k1.options,G1=k1.configFileParsingDiagnostics,Nx=k1.projectReferences,n1=k1.oldProgram,S0=new e.Map,I0=e.createMultiMap(),U0={},p0={},p1=new e.Map,Y1=typeof K0.maxNodeModuleJsDepth==\"number\"?K0.maxNodeModuleJsDepth:0,N1=0,V1=new e.Map,Ox=new e.Map;e.tracing===null||e.tracing===void 0||e.tracing.push(\"program\",\"createProgram\",{configFilePath:K0.configFilePath,rootDir:K0.rootDir},!0),e.performance.mark(\"beforeProgram\");var $x,rx,O0,C1,nx,O=k1.host||X(K0),b1=c0(O),Px=K0.noLib,me=e.memoize(function(){return O.getDefaultLibFileName(K0)}),Re=O.getDefaultLibLocation?O.getDefaultLibLocation():e.getDirectoryPath(me()),gt=e.createDiagnosticCollection(),Vt=O.getCurrentDirectory(),wr=e.getSupportedExtensions(K0),gr=e.getSuppoertedExtensionsWithJsonIfResolveJsonModule(K0,wr),Nt=new e.Map,Ir=O.hasInvalidatedResolution||e.returnFalse;if(O.resolveModuleNames)C1=function(yr,Jr,Un,pa){return O.resolveModuleNames(e.Debug.checkEachDefined(yr),Jr,Un,pa,K0).map(function(za){if(!za||za.extension!==void 0)return za;var Ls=e.clone(za);return Ls.extension=e.extensionFromPath(za.resolvedFileName),Ls})};else{rx=e.createModuleResolutionCache(Vt,pd,K0);var xr=function(yr,Jr,Un){return e.resolveModuleName(yr,Jr,K0,O,rx,Un).resolvedModule};C1=function(yr,Jr,Un,pa){return j(e.Debug.checkEachDefined(yr),Jr,pa,xr)}}if(O.resolveTypeReferenceDirectives)nx=function(yr,Jr,Un){return O.resolveTypeReferenceDirectives(e.Debug.checkEachDefined(yr),Jr,Un,K0)};else{O0=e.createTypeReferenceDirectiveResolutionCache(Vt,pd,void 0,rx==null?void 0:rx.getPackageJsonInfoCache());var Bt=function(yr,Jr,Un){return e.resolveTypeReferenceDirective(yr,Jr,K0,O,Un,O0).resolvedTypeReferenceDirective};nx=function(yr,Jr,Un){return j(e.Debug.checkEachDefined(yr),Jr,Un,Bt)}}var ar,Ni,Kn,oi,Ba,dt=new e.Map,Gt=new e.Map,lr=e.createMultiMap(),en=new e.Map,ii=O.useCaseSensitiveFileNames()?new e.Map:void 0,Tt=!!((f0=O.useSourceOfProjectReferenceRedirect)===null||f0===void 0?void 0:f0.call(O))&&!K0.disableSourceOfProjectReferenceRedirect,bn=function(yr){var Jr,Un,pa=yr.compilerHost.fileExists,za=yr.compilerHost.directoryExists,Ls=yr.compilerHost.getDirectories,Mo=yr.compilerHost.realpath;if(!yr.useSourceOfProjectReferenceRedirect)return{onProgramCreateComplete:e.noop,fileExists:mo};return yr.compilerHost.fileExists=mo,za&&(Un=yr.compilerHost.directoryExists=function(gc){return za.call(yr.compilerHost,gc)?(Vc(gc),!0):!!yr.getResolvedProjectReferences()&&(Jr||(Jr=new e.Set,yr.forEachResolvedProjectReference(function(Pl){var xc=e.outFile(Pl.commandLine.options);if(xc)Jr.add(e.getDirectoryPath(yr.toPath(xc)));else{var Su=Pl.commandLine.options.declarationDir||Pl.commandLine.options.outDir;Su&&Jr.add(yr.toPath(Su))}})),ws(gc,!1))}),Ls&&(yr.compilerHost.getDirectories=function(gc){return!yr.getResolvedProjectReferences()||za&&za.call(yr.compilerHost,gc)?Ls.call(yr.compilerHost,gc):[]}),Mo&&(yr.compilerHost.realpath=function(gc){var Pl;return((Pl=yr.getSymlinkCache().getSymlinkedFiles())===null||Pl===void 0?void 0:Pl.get(yr.toPath(gc)))||Mo.call(yr.compilerHost,gc)}),{onProgramCreateComplete:Ps,fileExists:mo,directoryExists:Un};function Ps(){yr.compilerHost.fileExists=pa,yr.compilerHost.directoryExists=za,yr.compilerHost.getDirectories=Ls}function mo(gc){return!!pa.call(yr.compilerHost,gc)||!!yr.getResolvedProjectReferences()&&!!e.isDeclarationFileName(gc)&&ws(gc,!0)}function bc(gc){var Pl=yr.getSourceOfProjectReferenceRedirect(gc);return Pl!==void 0?!e.isString(Pl)||pa.call(yr.compilerHost,Pl):void 0}function Ro(gc){var Pl=yr.toPath(gc),xc=\"\"+Pl+e.directorySeparator;return e.forEachKey(Jr,function(Su){return Pl===Su||e.startsWith(Su,xc)||e.startsWith(Pl,Su+\"/\")})}function Vc(gc){var Pl;if(yr.getResolvedProjectReferences()&&!e.containsIgnoredPath(gc)&&Mo&&e.stringContains(gc,e.nodeModulesPathPart)){var xc=yr.getSymlinkCache(),Su=e.ensureTrailingDirectorySeparator(yr.toPath(gc));if(!((Pl=xc.getSymlinkedDirectories())===null||Pl===void 0?void 0:Pl.has(Su))){var hC,_o=e.normalizePath(Mo.call(yr.compilerHost,gc));_o!==gc&&(hC=e.ensureTrailingDirectorySeparator(yr.toPath(_o)))!==Su?xc.setSymlinkedDirectory(gc,{real:e.ensureTrailingDirectorySeparator(_o),realPath:hC}):xc.setSymlinkedDirectory(Su,!1)}}}function ws(gc,Pl){var xc,Su=Pl?function(_l){return bc(_l)}:function(_l){return Ro(_l)},hC=Su(gc);if(hC!==void 0)return hC;var _o=yr.getSymlinkCache(),ol=_o.getSymlinkedDirectories();if(!ol)return!1;var Fc=yr.toPath(gc);return!!e.stringContains(Fc,e.nodeModulesPathPart)&&(!(!Pl||!((xc=_o.getSymlinkedFiles())===null||xc===void 0?void 0:xc.has(Fc)))||e.firstDefinedIterator(ol.entries(),function(_l){var uc=_l[0],Fl=_l[1];if(Fl&&e.startsWith(Fc,uc)){var D6=Su(Fc.replace(uc,Fl.realPath));if(Pl&&D6){var R6=e.getNormalizedAbsolutePath(gc,yr.compilerHost.getCurrentDirectory());_o.setSymlinkedFile(Fc,\"\"+Fl.real+R6.replace(new RegExp(uc,\"i\"),\"\"))}return D6}})||!1)}}({compilerHost:O,getSymlinkCache:Ef,useSourceOfProjectReferenceRedirect:Tt,toPath:Pe,getResolvedProjectReferences:rn,getSourceOfProjectReferenceRedirect:rp,forEachResolvedProjectReference:Np}),Le=bn.onProgramCreateComplete,Sa=bn.fileExists,Yn=bn.directoryExists;e.tracing===null||e.tracing===void 0||e.tracing.push(\"program\",\"shouldProgramCreateNewSourceFiles\",{hasOldProgram:!!n1});var W1,cx=function(yr,Jr){if(!yr)return!1;var Un=yr.getCompilerOptions();return!!e.sourceFileAffectingCompilerOptions.some(function(pa){return!e.isJsonEqual(e.getCompilerOptionValue(Un,pa),e.getCompilerOptionValue(Jr,pa))})}(n1,K0);if(e.tracing===null||e.tracing===void 0||e.tracing.pop(),e.tracing===null||e.tracing===void 0||e.tracing.push(\"program\",\"tryReuseStructureFromOldProgram\",{}),W1=function(){var yr;if(!n1)return 0;var Jr=n1.getCompilerOptions();if(e.changesAffectModuleResolution(Jr,K0))return 0;var Un=n1.getRootFileNames();if(!e.arrayIsEqualTo(Un,I1)||!e.arrayIsEqualTo(K0.types,Jr.types)||G(n1.getProjectReferences(),n1.getResolvedProjectReferences(),function(Wl,Vp,$f){var iA=vd((Vp?Vp.commandLine.projectReferences:Nx)[$f]);return Wl?!iA||iA.sourceFile!==Wl.sourceFile||!e.arrayIsEqualTo(Wl.commandLine.fileNames,iA.commandLine.fileNames):iA!==void 0},function(Wl,Vp){var $f=Vp?tf(Vp.sourceFile.path).commandLine.projectReferences:Nx;return!e.arrayIsEqualTo(Wl,$f,e.projectReferenceIsEqualTo)}))return 0;Nx&&(Ni=Nx.map(vd));var pa=[],za=[];if(W1=2,n1.getMissingFilePaths().some(function(Wl){return O.fileExists(Wl)}))return 0;var Ls,Mo=n1.getSourceFiles();(function(Wl){Wl[Wl.Exists=0]=\"Exists\",Wl[Wl.Modified=1]=\"Modified\"})(Ls||(Ls={}));for(var Ps=new e.Map,mo=0,bc=Mo;mo<bc.length;mo++){var Ro=bc[mo];if(!(_c=O.getSourceFileByPath?O.getSourceFileByPath(Ro.fileName,Ro.resolvedPath,K0.target,void 0,cx):O.getSourceFile(Ro.fileName,K0.target,void 0,cx)))return 0;e.Debug.assert(!_c.redirectInfo,\"Host should not return a redirect source file from `getSourceFile`\");var Vc=void 0;if(Ro.redirectInfo){if(_c!==Ro.redirectInfo.unredirected)return 0;Vc=!1,_c=Ro}else if(n1.redirectTargetsMap.has(Ro.path)){if(_c!==Ro)return 0;Vc=!1}else Vc=_c!==Ro;_c.path=Ro.path,_c.originalFileName=Ro.originalFileName,_c.resolvedPath=Ro.resolvedPath,_c.fileName=Ro.fileName;var ws=n1.sourceFileToPackageName.get(Ro.path);if(ws!==void 0){var gc=Ps.get(ws),Pl=Vc?1:0;if(gc!==void 0&&Pl===1||gc===1)return 0;Ps.set(ws,Pl)}if(Vc){if(!e.arrayIsEqualTo(Ro.libReferenceDirectives,_c.libReferenceDirectives,zl))return 0;Ro.hasNoDefaultLib!==_c.hasNoDefaultLib&&(W1=1),e.arrayIsEqualTo(Ro.referencedFiles,_c.referencedFiles,zl)||(W1=1),BF(_c),e.arrayIsEqualTo(Ro.imports,_c.imports,Xl)||(W1=1),e.arrayIsEqualTo(Ro.moduleAugmentations,_c.moduleAugmentations,Xl)||(W1=1),(3145728&Ro.flags)!=(3145728&_c.flags)&&(W1=1),e.arrayIsEqualTo(Ro.typeReferenceDirectives,_c.typeReferenceDirectives,zl)||(W1=1),za.push({oldFile:Ro,newFile:_c})}else Ir(Ro.path)&&(W1=1,za.push({oldFile:Ro,newFile:_c}));pa.push(_c)}if(W1!==2)return W1;for(var xc=za.map(function(Wl){return Wl.oldFile}),Su=0,hC=Mo;Su<hC.length;Su++){var _o=hC[Su];if(!e.contains(xc,_o))for(var ol=0,Fc=_o.ambientModuleNames;ol<Fc.length;ol++){var _l=Fc[ol];S0.set(_l,_o.fileName)}}for(var uc=0,Fl=za;uc<Fl.length;uc++){var D6=Fl[uc],R6=(Ro=D6.oldFile,w0(_c=D6.newFile)),nA=Kr(R6,_c);e.hasChangesInResolutions(R6,nA,Ro.resolvedModules,e.moduleResolutionIsEqualTo)?(W1=1,_c.resolvedModules=e.zipToMap(R6,nA)):_c.resolvedModules=Ro.resolvedModules;var x4=e.map(_c.typeReferenceDirectives,function(Wl){return e.toFileNameLowerCase(Wl.fileName)}),Al=X0(x4,_c);e.hasChangesInResolutions(x4,Al,Ro.resolvedTypeReferenceDirectiveNames,e.typeDirectiveIsEqualTo)?(W1=1,_c.resolvedTypeReferenceDirectiveNames=e.zipToMap(x4,Al)):_c.resolvedTypeReferenceDirectiveNames=Ro.resolvedTypeReferenceDirectiveNames}if(W1!==2)return W1;if((yr=O.hasChangedAutomaticTypeDirectiveNames)===null||yr===void 0?void 0:yr.call(O))return 1;ar=n1.getMissingFilePaths(),e.Debug.assert(pa.length===n1.getSourceFiles().length);for(var e4=0,bp=pa;e4<bp.length;e4++){var _c=bp[e4];en.set(_c.path,_c)}return n1.getFilesByNameMap().forEach(function(Wl,Vp){Wl?Wl.path!==Vp?en.set(Vp,en.get(Wl.path)):n1.isSourceFileFromExternalLibrary(Wl)&&Ox.set(Wl.path,!0):en.set(Vp,Wl)}),S1=pa,I0=n1.getFileIncludeReasons(),y1=n1.getFileProcessingDiagnostics(),p1=n1.getResolvedTypeReferenceDirectives(),Gt=n1.sourceFileToPackageName,lr=n1.redirectTargetsMap,2}(),e.tracing===null||e.tracing===void 0||e.tracing.pop(),W1!==2){d1=[],h1=[],Nx&&(Ni||(Ni=Nx.map(vd)),I1.length&&(Ni==null||Ni.forEach(function(yr,Jr){if(yr){var Un=e.outFile(yr.commandLine.options);if(Tt){if(Un||e.getEmitModuleKind(yr.commandLine.options)===e.ModuleKind.None)for(var pa=0,za=yr.commandLine.fileNames;pa<za.length;pa++)up(mo=za[pa],{kind:e.FileIncludeKind.SourceFromProjectReference,index:Jr})}else if(Un)up(e.changeExtension(Un,\".d.ts\"),{kind:e.FileIncludeKind.OutputFromProjectReference,index:Jr});else if(e.getEmitModuleKind(yr.commandLine.options)===e.ModuleKind.None)for(var Ls=e.memoize(function(){return e.getCommonSourceDirectoryOfConfig(yr.commandLine,!O.useCaseSensitiveFileNames())}),Mo=0,Ps=yr.commandLine.fileNames;Mo<Ps.length;Mo++){var mo=Ps[Mo];e.fileExtensionIs(mo,\".d.ts\")||e.fileExtensionIs(mo,\".json\")||up(e.getOutputDeclarationFileName(mo,yr.commandLine,!O.useCaseSensitiveFileNames(),Ls),{kind:e.FileIncludeKind.OutputFromProjectReference,index:Jr})}}}))),e.tracing===null||e.tracing===void 0||e.tracing.push(\"program\",\"processRootFiles\",{count:I1.length}),e.forEach(I1,function(yr,Jr){return K8(yr,!1,!1,{kind:e.FileIncludeKind.RootFile,index:Jr})}),e.tracing===null||e.tracing===void 0||e.tracing.pop();var E1=I1.length?e.getAutomaticTypeDirectiveNames(K0,O):e.emptyArray;if(E1.length){e.tracing===null||e.tracing===void 0||e.tracing.push(\"program\",\"processTypeReferences\",{count:E1.length});for(var qx=K0.configFilePath?e.getDirectoryPath(K0.configFilePath):O.getCurrentDirectory(),xt=X0(E1,e.combinePaths(qx,e.inferredTypesContainingFile)),ae=0;ae<E1.length;ae++)mf(E1[ae],xt[ae],{kind:e.FileIncludeKind.AutomaticTypeDirectiveFile,typeReference:E1[ae],packageId:(y0=xt[ae])===null||y0===void 0?void 0:y0.packageId});e.tracing===null||e.tracing===void 0||e.tracing.pop()}if(I1.length&&!Px){var Ut=me();!K0.lib&&Ut?K8(Ut,!0,!1,{kind:e.FileIncludeKind.LibFile}):e.forEach(K0.lib,function(yr,Jr){K8(e.combinePaths(Re,yr),!0,!1,{kind:e.FileIncludeKind.LibFile,index:Jr})})}ar=e.arrayFrom(e.mapDefinedIterator(en.entries(),function(yr){var Jr=yr[0];return yr[1]===void 0?Jr:void 0})),S1=e.stableSort(d1,function(yr,Jr){return e.compareValues(ge(yr),ge(Jr))}).concat(h1),d1=void 0,h1=void 0}if(e.Debug.assert(!!ar),n1&&O.onReleaseOldSourceFile){for(var or=0,ut=n1.getSourceFiles();or<ut.length;or++){var Gr=ut[or],B=yt(Gr.resolvedPath);(cx||!B||Gr.resolvedPath===Gr.path&&B.resolvedPath!==Gr.path)&&O.onReleaseOldSourceFile(Gr,n1.getCompilerOptions(),!!yt(Gr.path))}O.getParsedCommandLine||n1.forEachResolvedProjectReference(function(yr){tf(yr.sourceFile.path)||O.onReleaseOldSourceFile(yr.sourceFile,n1.getCompilerOptions(),!1)})}n1&&O.onReleaseParsedCommandLine&&G(n1.getProjectReferences(),n1.getResolvedProjectReferences(),function(yr,Jr,Un){var pa=x0((Jr==null?void 0:Jr.commandLine.projectReferences[Un])||n1.getProjectReferences()[Un]);(Kn==null?void 0:Kn.has(Pe(pa)))||O.onReleaseParsedCommandLine(pa,yr,n1.getCompilerOptions())}),O0=void 0,n1=void 0;var h0={getRootFileNames:function(){return I1},getSourceFile:Fr,getSourceFileByPath:yt,getSourceFiles:function(){return S1},getMissingFilePaths:function(){return ar},getFilesByNameMap:function(){return en},getCompilerOptions:function(){return K0},getSyntacticDiagnostics:function(yr,Jr){return Fn(yr,fa,Jr)},getOptionsDiagnostics:function(){return e.sortAndDeduplicateDiagnostics(e.concatenate(gt.getGlobalDiagnostics(),function(){if(!K0.configFile)return e.emptyArray;var yr=gt.getDiagnostics(K0.configFile.fileName);return Np(function(Jr){yr=e.concatenate(yr,gt.getDiagnostics(Jr.sourceFile.fileName))}),yr}()))},getGlobalDiagnostics:function(){return I1.length?e.sortAndDeduplicateDiagnostics(Mn().getGlobalDiagnostics().slice()):e.emptyArray},getSemanticDiagnostics:function(yr,Jr){return Fn(yr,Fa,Jr)},getCachedSemanticDiagnostics:function(yr){var Jr;return yr?(Jr=U0.perFile)===null||Jr===void 0?void 0:Jr.get(yr.path):U0.allDiagnostics},getSuggestionDiagnostics:function(yr,Jr){return Kt(function(){return Mn().getSuggestionDiagnostics(yr,Jr)})},getDeclarationDiagnostics:function(yr,Jr){var Un=h0.getCompilerOptions();return!yr||e.outFile(Un)?vs(yr,Jr):Fn(yr,rc,Jr)},getBindAndCheckDiagnostics:function(yr,Jr){return co(yr,Jr)},getProgramDiagnostics:Ur,getTypeChecker:Ka,getClassifiableNames:function(){var yr;if(!Q0){Ka(),Q0=new e.Set;for(var Jr=0,Un=S1;Jr<Un.length;Jr++){var pa=Un[Jr];(yr=pa.classifiableNames)===null||yr===void 0||yr.forEach(function(za){return Q0.add(za)})}}return Q0},getDiagnosticsProducingTypeChecker:Mn,getCommonSourceDirectory:It,emit:function(yr,Jr,Un,pa,za,Ls){e.tracing===null||e.tracing===void 0||e.tracing.push(\"emit\",\"emit\",{path:yr==null?void 0:yr.path},!0);var Mo=Kt(function(){return function(Ps,mo,bc,Ro,Vc,ws,gc){if(!gc){var Pl=d0(Ps,mo,bc,Ro);if(Pl)return Pl}var xc=Mn().getEmitResolver(e.outFile(K0)?void 0:mo,Ro);e.performance.mark(\"beforeEmit\");var Su=e.emitFiles(xc,pn(bc),mo,e.getTransformers(K0,ws,Vc),Vc,!1,gc);return e.performance.mark(\"afterEmit\"),e.performance.measure(\"Emit\",\"beforeEmit\",\"afterEmit\"),Su}(h0,yr,Jr,Un,pa,za,Ls)});return e.tracing===null||e.tracing===void 0||e.tracing.pop(),Mo},getCurrentDirectory:function(){return Vt},getNodeCount:function(){return Mn().getNodeCount()},getIdentifierCount:function(){return Mn().getIdentifierCount()},getSymbolCount:function(){return Mn().getSymbolCount()},getTypeCount:function(){return Mn().getTypeCount()},getInstantiationCount:function(){return Mn().getInstantiationCount()},getRelationCacheSizes:function(){return Mn().getRelationCacheSizes()},getFileProcessingDiagnostics:function(){return y1},getResolvedTypeReferenceDirectives:function(){return p1},isSourceFileFromExternalLibrary:Ii,isSourceFileDefaultLibrary:function(yr){if(yr.hasNoDefaultLib)return!0;if(!K0.noLib)return!1;var Jr=O.useCaseSensitiveFileNames()?e.equateStringsCaseSensitive:e.equateStringsCaseInsensitive;return K0.lib?e.some(K0.lib,function(Un){return Jr(yr.fileName,e.combinePaths(Re,Un))}):Jr(yr.fileName,me())},dropDiagnosticsProducingTypeChecker:function(){$1=void 0},getSourceFileFromReference:function(yr,Jr){return Qp(s(Jr.fileName,yr.fileName),Fr)},getLibFileFromReference:function(yr){var Jr=e.toFileNameLowerCase(yr.fileName),Un=e.libMap.get(Jr);if(Un)return Fr(e.combinePaths(Re,Un))},sourceFileToPackageName:Gt,redirectTargetsMap:lr,isEmittedFile:function(yr){if(K0.noEmit)return!1;var Jr=Pe(yr);if(yt(Jr))return!1;var Un=e.outFile(K0);if(Un)return Zp(Jr,Un)||Zp(Jr,e.removeFileExtension(Un)+\".d.ts\");if(K0.declarationDir&&e.containsPath(K0.declarationDir,Jr,Vt,!O.useCaseSensitiveFileNames()))return!0;if(K0.outDir)return e.containsPath(K0.outDir,Jr,Vt,!O.useCaseSensitiveFileNames());if(e.fileExtensionIsOneOf(Jr,e.supportedJSExtensions)||e.fileExtensionIs(Jr,\".d.ts\")){var pa=e.removeFileExtension(Jr);return!!yt(pa+\".ts\")||!!yt(pa+\".tsx\")}return!1},getConfigFileParsingDiagnostics:function(){return G1||e.emptyArray},getResolvedModuleWithFailedLookupLocationsFromCache:function(yr,Jr){return rx&&e.resolveModuleNameFromCache(yr,Jr,rx)},getProjectReferences:function(){return Nx},getResolvedProjectReferences:rn,getProjectReferenceRedirect:fT,getResolvedProjectReferenceToRedirect:pl,getResolvedProjectReferenceByPath:tf,forEachResolvedProjectReference:Np,isSourceOfProjectReferenceRedirect:jp,emitBuildInfo:function(yr){e.Debug.assert(!e.outFile(K0)),e.tracing===null||e.tracing===void 0||e.tracing.push(\"emit\",\"emitBuildInfo\",{},!0),e.performance.mark(\"beforeEmit\");var Jr=e.emitFiles(e.notImplementedResolver,pn(yr),void 0,e.noTransformers,!1,!0);return e.performance.mark(\"afterEmit\"),e.performance.measure(\"Emit\",\"beforeEmit\",\"afterEmit\"),e.tracing===null||e.tracing===void 0||e.tracing.pop(),Jr},fileExists:Sa,directoryExists:Yn,getSymlinkCache:Ef,realpath:(G0=O.realpath)===null||G0===void 0?void 0:G0.bind(O),useCaseSensitiveFileNames:function(){return O.useCaseSensitiveFileNames()},getFileIncludeReasons:function(){return I0},structureIsReused:W1};return Le(),y1==null||y1.forEach(function(yr){switch(yr.kind){case 1:return gt.add(aw(yr.file&&yt(yr.file),yr.fileProcessingReason,yr.diagnostic,yr.args||e.emptyArray));case 0:var Jr=g0(yt,yr.reason),Un=Jr.file,pa=Jr.pos,za=Jr.end;return gt.add(e.createFileDiagnostic.apply(void 0,D([Un,e.Debug.checkDefined(pa),e.Debug.checkDefined(za)-pa,yr.diagnostic],yr.args||e.emptyArray)));default:e.Debug.assertNever(yr)}}),function(){K0.strictPropertyInitialization&&!e.getStrictOptionValue(K0,\"strictNullChecks\")&&Hi(e.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1,\"strictPropertyInitialization\",\"strictNullChecks\"),K0.isolatedModules&&(K0.out&&Hi(e.Diagnostics.Option_0_cannot_be_specified_with_option_1,\"out\",\"isolatedModules\"),K0.outFile&&Hi(e.Diagnostics.Option_0_cannot_be_specified_with_option_1,\"outFile\",\"isolatedModules\")),K0.inlineSourceMap&&(K0.sourceMap&&Hi(e.Diagnostics.Option_0_cannot_be_specified_with_option_1,\"sourceMap\",\"inlineSourceMap\"),K0.mapRoot&&Hi(e.Diagnostics.Option_0_cannot_be_specified_with_option_1,\"mapRoot\",\"inlineSourceMap\")),K0.composite&&(K0.declaration===!1&&Hi(e.Diagnostics.Composite_projects_may_not_disable_declaration_emit,\"declaration\"),K0.incremental===!1&&Hi(e.Diagnostics.Composite_projects_may_not_disable_incremental_compilation,\"declaration\"));var yr=e.outFile(K0);if(K0.tsBuildInfoFile?e.isIncrementalCompilation(K0)||Hi(e.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1_or_option_2,\"tsBuildInfoFile\",\"incremental\",\"composite\"):!K0.incremental||yr||K0.configFilePath||gt.add(e.createCompilerDiagnostic(e.Diagnostics.Option_incremental_can_only_be_specified_using_tsconfig_emitting_to_single_file_or_when_option_tsBuildInfoFile_is_specified)),function(){var _o=K0.suppressOutputPathCheck?void 0:e.getTsBuildInfoEmitOutputFilePath(K0);G(Nx,Ni,function(ol,Fc,_l){var uc=(Fc?Fc.commandLine.projectReferences:Nx)[_l],Fl=Fc&&Fc.sourceFile;if(ol){var D6=ol.commandLine.options;if((!D6.composite||D6.noEmit)&&(Fc?Fc.commandLine.fileNames:I1).length&&(D6.composite||rl(Fl,_l,e.Diagnostics.Referenced_project_0_must_have_setting_composite_Colon_true,uc.path),D6.noEmit&&rl(Fl,_l,e.Diagnostics.Referenced_project_0_may_not_disable_emit,uc.path)),uc.prepend){var R6=e.outFile(D6);R6?O.fileExists(R6)||rl(Fl,_l,e.Diagnostics.Output_file_0_from_project_1_does_not_exist,R6,uc.path):rl(Fl,_l,e.Diagnostics.Cannot_prepend_project_0_because_it_does_not_have_outFile_set,uc.path)}!Fc&&_o&&_o===e.getTsBuildInfoEmitOutputFilePath(D6)&&(rl(Fl,_l,e.Diagnostics.Cannot_write_file_0_because_it_will_overwrite_tsbuildinfo_file_generated_by_referenced_project_1,_o,uc.path),Nt.set(Pe(_o),!0))}else rl(Fl,_l,e.Diagnostics.File_0_not_found,uc.path)})}(),K0.composite)for(var Jr=new e.Set(I1.map(Pe)),Un=0,pa=S1;Un<pa.length;Un++){var za=pa[Un];e.sourceFileMayBeEmitted(za,h0)&&!Jr.has(za.path)&&Qo(za,e.Diagnostics.File_0_is_not_listed_within_the_file_list_of_project_1_Projects_must_list_all_files_or_use_an_include_pattern,[za.fileName,K0.configFilePath||\"\"])}if(K0.paths){for(var Ls in K0.paths)if(e.hasProperty(K0.paths,Ls))if(e.hasZeroOrOneAsteriskCharacter(Ls)||gl(!0,Ls,e.Diagnostics.Pattern_0_can_have_at_most_one_Asterisk_character,Ls),e.isArray(K0.paths[Ls])){var Mo=K0.paths[Ls].length;Mo===0&&gl(!1,Ls,e.Diagnostics.Substitutions_for_pattern_0_shouldn_t_be_an_empty_array,Ls);for(var Ps=0;Ps<Mo;Ps++){var mo=K0.paths[Ls][Ps],bc=typeof mo;bc===\"string\"?(e.hasZeroOrOneAsteriskCharacter(mo)||Rl(Ls,Ps,e.Diagnostics.Substitution_0_in_pattern_1_can_have_at_most_one_Asterisk_character,mo,Ls),K0.baseUrl||e.pathIsRelative(mo)||e.pathIsAbsolute(mo)||Rl(Ls,Ps,e.Diagnostics.Non_relative_paths_are_not_allowed_when_baseUrl_is_not_set_Did_you_forget_a_leading_Slash)):Rl(Ls,Ps,e.Diagnostics.Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2,mo,Ls,bc)}}else gl(!1,Ls,e.Diagnostics.Substitutions_for_pattern_0_should_be_an_array,Ls)}K0.sourceMap||K0.inlineSourceMap||(K0.inlineSources&&Hi(e.Diagnostics.Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided,\"inlineSources\"),K0.sourceRoot&&Hi(e.Diagnostics.Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided,\"sourceRoot\")),K0.out&&K0.outFile&&Hi(e.Diagnostics.Option_0_cannot_be_specified_with_option_1,\"out\",\"outFile\"),!K0.mapRoot||K0.sourceMap||K0.declarationMap||Hi(e.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1_or_option_2,\"mapRoot\",\"sourceMap\",\"declarationMap\"),K0.declarationDir&&(e.getEmitDeclarations(K0)||Hi(e.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1_or_option_2,\"declarationDir\",\"declaration\",\"composite\"),yr&&Hi(e.Diagnostics.Option_0_cannot_be_specified_with_option_1,\"declarationDir\",K0.out?\"out\":\"outFile\")),K0.declarationMap&&!e.getEmitDeclarations(K0)&&Hi(e.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1_or_option_2,\"declarationMap\",\"declaration\",\"composite\"),K0.lib&&K0.noLib&&Hi(e.Diagnostics.Option_0_cannot_be_specified_with_option_1,\"lib\",\"noLib\"),K0.noImplicitUseStrict&&e.getStrictOptionValue(K0,\"alwaysStrict\")&&Hi(e.Diagnostics.Option_0_cannot_be_specified_with_option_1,\"noImplicitUseStrict\",\"alwaysStrict\");var Ro=K0.target||0,Vc=e.find(S1,function(_o){return e.isExternalModule(_o)&&!_o.isDeclarationFile});if(K0.isolatedModules){K0.module===e.ModuleKind.None&&Ro<2&&Hi(e.Diagnostics.Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES2015_or_higher,\"isolatedModules\",\"target\"),K0.preserveConstEnums===!1&&Hi(e.Diagnostics.Option_preserveConstEnums_cannot_be_disabled_when_isolatedModules_is_enabled,\"preserveConstEnums\",\"isolatedModules\");var ws=e.find(S1,function(_o){return!e.isExternalModule(_o)&&!e.isSourceFileJS(_o)&&!_o.isDeclarationFile&&_o.scriptKind!==6});if(ws){var gc=e.getErrorSpanForNode(ws,ws);gt.add(e.createFileDiagnostic(ws,gc.start,gc.length,e.Diagnostics._0_cannot_be_compiled_under_isolatedModules_because_it_is_considered_a_global_script_file_Add_an_import_export_or_an_empty_export_statement_to_make_it_a_module,e.getBaseFileName(ws.fileName)))}}else Vc&&Ro<2&&K0.module===e.ModuleKind.None&&(gc=e.getErrorSpanForNode(Vc,Vc.externalModuleIndicator),gt.add(e.createFileDiagnostic(Vc,gc.start,gc.length,e.Diagnostics.Cannot_use_imports_exports_or_module_augmentations_when_module_is_none)));if(yr&&!K0.emitDeclarationOnly&&(K0.module&&K0.module!==e.ModuleKind.AMD&&K0.module!==e.ModuleKind.System?Hi(e.Diagnostics.Only_amd_and_system_modules_are_supported_alongside_0,K0.out?\"out\":\"outFile\",\"module\"):K0.module===void 0&&Vc&&(gc=e.getErrorSpanForNode(Vc,Vc.externalModuleIndicator),gt.add(e.createFileDiagnostic(Vc,gc.start,gc.length,e.Diagnostics.Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system,K0.out?\"out\":\"outFile\")))),K0.resolveJsonModule&&(e.getEmitModuleResolutionKind(K0)!==e.ModuleResolutionKind.NodeJs?Hi(e.Diagnostics.Option_resolveJsonModule_cannot_be_specified_without_node_module_resolution_strategy,\"resolveJsonModule\"):e.hasJsonModuleEmitEnabled(K0)||Hi(e.Diagnostics.Option_resolveJsonModule_can_only_be_specified_when_module_code_generation_is_commonjs_amd_es2015_or_esNext,\"resolveJsonModule\",\"module\")),K0.outDir||K0.rootDir||K0.sourceRoot||K0.mapRoot){var Pl=It();K0.outDir&&Pl===\"\"&&S1.some(function(_o){return e.getRootLength(_o.fileName)>1})&&Hi(e.Diagnostics.Cannot_find_the_common_subdirectory_path_for_the_input_files,\"outDir\")}if(K0.useDefineForClassFields&&Ro===0&&Hi(e.Diagnostics.Option_0_cannot_be_specified_when_option_target_is_ES3,\"useDefineForClassFields\"),K0.checkJs&&!e.getAllowJSCompilerOption(K0)&&gt.add(e.createCompilerDiagnostic(e.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1,\"checkJs\",\"allowJs\")),K0.emitDeclarationOnly&&(e.getEmitDeclarations(K0)||Hi(e.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1_or_option_2,\"emitDeclarationOnly\",\"declaration\",\"composite\"),K0.noEmit&&Hi(e.Diagnostics.Option_0_cannot_be_specified_with_option_1,\"emitDeclarationOnly\",\"noEmit\")),K0.emitDecoratorMetadata&&!K0.experimentalDecorators&&Hi(e.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1,\"emitDecoratorMetadata\",\"experimentalDecorators\"),K0.jsxFactory?(K0.reactNamespace&&Hi(e.Diagnostics.Option_0_cannot_be_specified_with_option_1,\"reactNamespace\",\"jsxFactory\"),K0.jsx!==4&&K0.jsx!==5||Hi(e.Diagnostics.Option_0_cannot_be_specified_when_option_jsx_is_1,\"jsxFactory\",e.inverseJsxOptionMap.get(\"\"+K0.jsx)),e.parseIsolatedEntityName(K0.jsxFactory,Ro)||Up(\"jsxFactory\",e.Diagnostics.Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name,K0.jsxFactory)):K0.reactNamespace&&!e.isIdentifierText(K0.reactNamespace,Ro)&&Up(\"reactNamespace\",e.Diagnostics.Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier,K0.reactNamespace),K0.jsxFragmentFactory&&(K0.jsxFactory||Hi(e.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1,\"jsxFragmentFactory\",\"jsxFactory\"),K0.jsx!==4&&K0.jsx!==5||Hi(e.Diagnostics.Option_0_cannot_be_specified_when_option_jsx_is_1,\"jsxFragmentFactory\",e.inverseJsxOptionMap.get(\"\"+K0.jsx)),e.parseIsolatedEntityName(K0.jsxFragmentFactory,Ro)||Up(\"jsxFragmentFactory\",e.Diagnostics.Invalid_value_for_jsxFragmentFactory_0_is_not_a_valid_identifier_or_qualified_name,K0.jsxFragmentFactory)),K0.reactNamespace&&(K0.jsx!==4&&K0.jsx!==5||Hi(e.Diagnostics.Option_0_cannot_be_specified_when_option_jsx_is_1,\"reactNamespace\",e.inverseJsxOptionMap.get(\"\"+K0.jsx))),K0.jsxImportSource&&K0.jsx===2&&Hi(e.Diagnostics.Option_0_cannot_be_specified_when_option_jsx_is_1,\"jsxImportSource\",e.inverseJsxOptionMap.get(\"\"+K0.jsx)),!K0.noEmit&&!K0.suppressOutputPathCheck){var xc=pn(),Su=new e.Set;e.forEachEmittedFile(xc,function(_o){K0.emitDeclarationOnly||hC(_o.jsFilePath,Su),hC(_o.declarationFilePath,Su)})}function hC(_o,ol){if(_o){var Fc=Pe(_o);if(en.has(Fc)){var _l=void 0;K0.configFilePath||(_l=e.chainDiagnosticMessages(void 0,e.Diagnostics.Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript_files_Learn_more_at_https_Colon_Slash_Slashaka_ms_Slashtsconfig)),_l=e.chainDiagnosticMessages(_l,e.Diagnostics.Cannot_write_file_0_because_it_would_overwrite_input_file,_o),vp(_o,e.createCompilerDiagnosticFromMessageChain(_l))}var uc=O.useCaseSensitiveFileNames()?Fc:e.toFileNameLowerCase(Fc);ol.has(uc)?vp(_o,e.createCompilerDiagnostic(e.Diagnostics.Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files,_o)):ol.add(uc)}}}(),e.performance.mark(\"afterProgram\"),e.performance.measure(\"Program\",\"beforeProgram\",\"afterProgram\"),e.tracing===null||e.tracing===void 0||e.tracing.pop(),h0;function M(yr,Jr,Un){if(!yr.length)return e.emptyArray;var pa=e.getNormalizedAbsolutePath(Jr.originalFileName,Vt),za=l1(Jr);e.tracing===null||e.tracing===void 0||e.tracing.push(\"program\",\"resolveModuleNamesWorker\",{containingFileName:pa}),e.performance.mark(\"beforeResolveModule\");var Ls=C1(yr,pa,Un,za);return e.performance.mark(\"afterResolveModule\"),e.performance.measure(\"ResolveModule\",\"beforeResolveModule\",\"afterResolveModule\"),e.tracing===null||e.tracing===void 0||e.tracing.pop(),Ls}function X0(yr,Jr){if(!yr.length)return[];var Un=e.isString(Jr)?Jr:e.getNormalizedAbsolutePath(Jr.originalFileName,Vt),pa=e.isString(Jr)?void 0:l1(Jr);e.tracing===null||e.tracing===void 0||e.tracing.push(\"program\",\"resolveTypeReferenceDirectiveNamesWorker\",{containingFileName:Un}),e.performance.mark(\"beforeResolveTypeReference\");var za=nx(yr,Un,pa);return e.performance.mark(\"afterResolveTypeReference\"),e.performance.measure(\"ResolveTypeReference\",\"beforeResolveTypeReference\",\"afterResolveTypeReference\"),e.tracing===null||e.tracing===void 0||e.tracing.pop(),za}function l1(yr){var Jr=pl(yr.originalFileName);if(Jr||!e.fileExtensionIs(yr.originalFileName,\".d.ts\"))return Jr;var Un=Hx(yr.originalFileName,yr.path);if(Un)return Un;if(O.realpath&&K0.preserveSymlinks&&e.stringContains(yr.originalFileName,e.nodeModulesPathPart)){var pa=O.realpath(yr.originalFileName),za=Pe(pa);return za===yr.path?void 0:Hx(pa,za)}}function Hx(yr,Jr){var Un=rp(yr);return e.isString(Un)?pl(Un):Un?Np(function(pa){var za=e.outFile(pa.commandLine.options);if(za)return Pe(za)===Jr?pa:void 0}):void 0}function ge(yr){if(e.containsPath(Re,yr.fileName,!1)){var Jr=e.getBaseFileName(yr.fileName);if(Jr===\"lib.d.ts\"||Jr===\"lib.es6.d.ts\")return 0;var Un=e.removeSuffix(e.removePrefix(Jr,\"lib.\"),\".d.ts\"),pa=e.libs.indexOf(Un);if(pa!==-1)return pa+1}return e.libs.length+2}function Pe(yr){return e.toPath(yr,Vt,pd)}function It(){if(Y0===void 0){var yr=e.filter(S1,function(Jr){return e.sourceFileMayBeEmitted(Jr,h0)});Y0=e.getCommonSourceDirectory(K0,function(){return e.mapDefined(yr,function(Jr){return Jr.isDeclarationFile?void 0:Jr.fileName})},Vt,pd,function(Jr){return function(Un,pa){for(var za=!0,Ls=O.getCanonicalFileName(e.getNormalizedAbsolutePath(pa,Vt)),Mo=0,Ps=Un;Mo<Ps.length;Mo++){var mo=Ps[Mo];mo.isDeclarationFile||O.getCanonicalFileName(e.getNormalizedAbsolutePath(mo.fileName,Vt)).indexOf(Ls)!==0&&(Qo(mo,e.Diagnostics.File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files,[mo.fileName,pa]),za=!1)}return za}(yr,Jr)})}return Y0}function Kr(yr,Jr){if(W1===0&&!Jr.ambientModuleNames.length)return M(yr,Jr,void 0);var Un,pa,za,Ls=n1&&n1.getSourceFile(Jr.fileName);if(Ls!==Jr&&Jr.resolvedModules){for(var Mo=[],Ps=0,mo=yr;Ps<mo.length;Ps++){var bc=mo[Ps],Ro=Jr.resolvedModules.get(bc);Mo.push(Ro)}return Mo}for(var Vc={},ws=0;ws<yr.length;ws++){if(bc=yr[ws],Jr===Ls&&!Ir(Ls.path)){var gc=e.getResolvedModule(Ls,bc);if(gc){e.isTraceEnabled(K0,O)&&e.trace(O,e.Diagnostics.Reusing_resolution_of_module_0_to_file_1_from_old_program,bc,e.getNormalizedAbsolutePath(Jr.originalFileName,Vt)),(pa||(pa=new Array(yr.length)))[ws]=gc,(za||(za=[])).push(bc);continue}}var Pl=!1;e.contains(Jr.ambientModuleNames,bc)?(Pl=!0,e.isTraceEnabled(K0,O)&&e.trace(O,e.Diagnostics.Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1,bc,e.getNormalizedAbsolutePath(Jr.originalFileName,Vt))):Pl=hC(bc),Pl?(pa||(pa=new Array(yr.length)))[ws]=Vc:(Un||(Un=[])).push(bc)}var xc=Un&&Un.length?M(Un,Jr,za):e.emptyArray;if(!pa)return e.Debug.assert(xc.length===yr.length),xc;var Su=0;for(ws=0;ws<pa.length;ws++)pa[ws]?pa[ws]===Vc&&(pa[ws]=void 0):(pa[ws]=xc[Su],Su++);return e.Debug.assert(Su===xc.length),pa;function hC(_o){var ol=e.getResolvedModule(Ls,_o),Fc=ol&&n1.getSourceFile(ol.resolvedFileName);if(ol&&Fc)return!1;var _l=S0.get(_o);return!!_l&&(e.isTraceEnabled(K0,O)&&e.trace(O,e.Diagnostics.Module_0_was_resolved_as_ambient_module_declared_in_1_since_this_file_was_not_modified,_o,_l),!0)}}function pn(yr){return{getPrependNodes:_t,getCanonicalFileName:pd,getCommonSourceDirectory:h0.getCommonSourceDirectory,getCompilerOptions:h0.getCompilerOptions,getCurrentDirectory:function(){return Vt},getNewLine:function(){return O.getNewLine()},getSourceFile:h0.getSourceFile,getSourceFileByPath:h0.getSourceFileByPath,getSourceFiles:h0.getSourceFiles,getLibFileFromReference:h0.getLibFileFromReference,isSourceFileFromExternalLibrary:Ii,getResolvedProjectReferenceToRedirect:pl,getProjectReferenceRedirect:fT,isSourceOfProjectReferenceRedirect:jp,getSymlinkCache:Ef,writeFile:yr||function(Jr,Un,pa,za,Ls){return O.writeFile(Jr,Un,pa,za,Ls)},isEmitBlocked:fe,readFile:function(Jr){return O.readFile(Jr)},fileExists:function(Jr){var Un=Pe(Jr);return!!yt(Un)||!e.contains(ar,Un)&&O.fileExists(Jr)},useCaseSensitiveFileNames:function(){return O.useCaseSensitiveFileNames()},getProgramBuildInfo:function(){return h0.getProgramBuildInfo&&h0.getProgramBuildInfo()},getSourceFileFromReference:function(Jr,Un){return h0.getSourceFileFromReference(Jr,Un)},redirectTargetsMap:lr,getFileIncludeReasons:h0.getFileIncludeReasons}}function rn(){return Ni}function _t(){return D0(Nx,function(yr,Jr){var Un;return(Un=Ni[Jr])===null||Un===void 0?void 0:Un.commandLine},function(yr){var Jr=Pe(yr),Un=yt(Jr);return Un?Un.text:en.has(Jr)?void 0:O.readFile(Jr)})}function Ii(yr){return!!Ox.get(yr.path)}function Mn(){return $1||($1=e.createTypeChecker(h0,!0))}function Ka(){return Z1||(Z1=e.createTypeChecker(h0,!1))}function fe(yr){return Nt.has(Pe(yr))}function Fr(yr){return yt(Pe(yr))}function yt(yr){return en.get(yr)||void 0}function Fn(yr,Jr,Un){return yr?Jr(yr,Un):e.sortAndDeduplicateDiagnostics(e.flatMap(h0.getSourceFiles(),function(pa){return Un&&Un.throwIfCancellationRequested(),Jr(pa,Un)}))}function Ur(yr){var Jr;if(e.skipTypeChecking(yr,K0,h0))return e.emptyArray;var Un=gt.getDiagnostics(yr.fileName);return((Jr=yr.commentDirectives)===null||Jr===void 0?void 0:Jr.length)?qs(yr,yr.commentDirectives,Un).diagnostics:Un}function fa(yr){return e.isSourceFileJS(yr)?(yr.additionalSyntacticDiagnostics||(yr.additionalSyntacticDiagnostics=function(Jr){return Kt(function(){var Un=[];return pa(Jr,Jr),e.forEachChildRecursively(Jr,pa,za),Un;function pa(mo,bc){switch(bc.kind){case 161:case 164:case 166:if(bc.questionToken===mo)return Un.push(Ps(mo,e.Diagnostics.The_0_modifier_can_only_be_used_in_TypeScript_files,\"?\")),\"skip\";case 165:case 167:case 168:case 169:case 209:case 252:case 210:case 250:if(bc.type===mo)return Un.push(Ps(mo,e.Diagnostics.Type_annotations_can_only_be_used_in_TypeScript_files)),\"skip\"}switch(mo.kind){case 263:if(mo.isTypeOnly)return Un.push(Ps(bc,e.Diagnostics._0_declarations_can_only_be_used_in_TypeScript_files,\"import type\")),\"skip\";break;case 268:if(mo.isTypeOnly)return Un.push(Ps(mo,e.Diagnostics._0_declarations_can_only_be_used_in_TypeScript_files,\"export type\")),\"skip\";break;case 261:return Un.push(Ps(mo,e.Diagnostics.import_can_only_be_used_in_TypeScript_files)),\"skip\";case 267:if(mo.isExportEquals)return Un.push(Ps(mo,e.Diagnostics.export_can_only_be_used_in_TypeScript_files)),\"skip\";break;case 287:if(mo.token===116)return Un.push(Ps(mo,e.Diagnostics.implements_clauses_can_only_be_used_in_TypeScript_files)),\"skip\";break;case 254:var Ro=e.tokenToString(117);return e.Debug.assertIsDefined(Ro),Un.push(Ps(mo,e.Diagnostics._0_declarations_can_only_be_used_in_TypeScript_files,Ro)),\"skip\";case 257:var Vc=16&mo.flags?e.tokenToString(140):e.tokenToString(139);return e.Debug.assertIsDefined(Vc),Un.push(Ps(mo,e.Diagnostics._0_declarations_can_only_be_used_in_TypeScript_files,Vc)),\"skip\";case 255:return Un.push(Ps(mo,e.Diagnostics.Type_aliases_can_only_be_used_in_TypeScript_files)),\"skip\";case 256:var ws=e.Debug.checkDefined(e.tokenToString(91));return Un.push(Ps(mo,e.Diagnostics._0_declarations_can_only_be_used_in_TypeScript_files,ws)),\"skip\";case 226:return Un.push(Ps(mo,e.Diagnostics.Non_null_assertions_can_only_be_used_in_TypeScript_files)),\"skip\";case 225:return Un.push(Ps(mo.type,e.Diagnostics.Type_assertion_expressions_can_only_be_used_in_TypeScript_files)),\"skip\";case 207:e.Debug.fail()}}function za(mo,bc){switch(bc.decorators!==mo||K0.experimentalDecorators||Un.push(Ps(bc,e.Diagnostics.Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_the_experimentalDecorators_option_in_your_tsconfig_or_jsconfig_to_remove_this_warning)),bc.kind){case 253:case 222:case 166:case 167:case 168:case 169:case 209:case 252:case 210:if(mo===bc.typeParameters)return Un.push(Mo(mo,e.Diagnostics.Type_parameter_declarations_can_only_be_used_in_TypeScript_files)),\"skip\";case 233:if(mo===bc.modifiers)return Ls(bc.modifiers,bc.kind===233),\"skip\";break;case 164:if(mo===bc.modifiers){for(var Ro=0,Vc=mo;Ro<Vc.length;Ro++){var ws=Vc[Ro];ws.kind!==123&&Un.push(Ps(ws,e.Diagnostics.The_0_modifier_can_only_be_used_in_TypeScript_files,e.tokenToString(ws.kind)))}return\"skip\"}break;case 161:if(mo===bc.modifiers)return Un.push(Mo(mo,e.Diagnostics.Parameter_modifiers_can_only_be_used_in_TypeScript_files)),\"skip\";break;case 204:case 205:case 224:case 275:case 276:case 206:if(mo===bc.typeArguments)return Un.push(Mo(mo,e.Diagnostics.Type_arguments_can_only_be_used_in_TypeScript_files)),\"skip\"}}function Ls(mo,bc){for(var Ro=0,Vc=mo;Ro<Vc.length;Ro++){var ws=Vc[Ro];switch(ws.kind){case 84:if(bc)continue;case 122:case 120:case 121:case 142:case 133:case 125:case 156:Un.push(Ps(ws,e.Diagnostics.The_0_modifier_can_only_be_used_in_TypeScript_files,e.tokenToString(ws.kind)))}}}function Mo(mo,bc,Ro,Vc,ws){var gc=mo.pos;return e.createFileDiagnostic(Jr,gc,mo.end-gc,bc,Ro,Vc,ws)}function Ps(mo,bc,Ro,Vc,ws){return e.createDiagnosticForNodeInSourceFile(Jr,mo,bc,Ro,Vc,ws)}})}(yr)),e.concatenate(yr.additionalSyntacticDiagnostics,yr.parseDiagnostics)):yr.parseDiagnostics}function Kt(yr){try{return yr()}catch(Jr){throw Jr instanceof e.OperationCanceledException&&(Z1=void 0,$1=void 0),Jr}}function Fa(yr,Jr){return e.concatenate(P0(co(yr,Jr),K0),Ur(yr))}function co(yr,Jr){return Cf(yr,Jr,U0,Us)}function Us(yr,Jr){return Kt(function(){if(e.skipTypeChecking(yr,K0,h0))return e.emptyArray;var Un=Mn();e.Debug.assert(!!yr.bindDiagnostics);var pa=e.isCheckJsEnabledForFile(yr,K0),za=!(!!yr.checkJsDirective&&yr.checkJsDirective.enabled===!1)&&(yr.scriptKind===3||yr.scriptKind===4||yr.scriptKind===5||pa||yr.scriptKind===7),Ls=za?yr.bindDiagnostics:e.emptyArray,Mo=za?Un.getDiagnostics(yr,Jr):e.emptyArray;return function(Ps,mo){for(var bc,Ro=[],Vc=2;Vc<arguments.length;Vc++)Ro[Vc-2]=arguments[Vc];var ws=e.flatten(Ro);if(!mo||!((bc=Ps.commentDirectives)===null||bc===void 0?void 0:bc.length))return ws;for(var gc=qs(Ps,Ps.commentDirectives,ws),Pl=gc.diagnostics,xc=gc.directives,Su=0,hC=xc.getUnusedExpectations();Su<hC.length;Su++){var _o=hC[Su];Pl.push(e.createDiagnosticForRange(Ps,_o.range,e.Diagnostics.Unused_ts_expect_error_directive))}return Pl}(yr,za,Ls,Mo,pa?yr.jsDocDiagnostics:void 0)})}function qs(yr,Jr,Un){var pa=e.createCommentDirectivesMap(yr,Jr);return{diagnostics:Un.filter(function(za){return function(Ls,Mo){var Ps=Ls.file,mo=Ls.start;if(!Ps)return-1;for(var bc=e.getLineStarts(Ps),Ro=e.computeLineAndCharacterOfPosition(bc,mo).line-1;Ro>=0;){if(Mo.markUsed(Ro))return Ro;var Vc=Ps.text.slice(bc[Ro],bc[Ro+1]).trim();if(Vc!==\"\"&&!/^(\\s*)\\/\\/(.*)$/.test(Vc))return-1;Ro--}return-1}(za,pa)===-1}),directives:pa}}function vs(yr,Jr){return Cf(yr,Jr,p0,sg)}function sg(yr,Jr){return Kt(function(){var Un=Mn().getEmitResolver(yr,Jr);return e.getDeclarationDiagnostics(pn(e.noop),Un,yr)||e.emptyArray})}function Cf(yr,Jr,Un,pa){var za,Ls=yr?(za=Un.perFile)===null||za===void 0?void 0:za.get(yr.path):Un.allDiagnostics;if(Ls)return Ls;var Mo=pa(yr,Jr);return yr?(Un.perFile||(Un.perFile=new e.Map)).set(yr.path,Mo):Un.allDiagnostics=Mo,Mo}function rc(yr,Jr){return yr.isDeclarationFile?[]:vs(yr,Jr)}function K8(yr,Jr,Un,pa){kp(e.normalizePath(yr),Jr,Un,void 0,pa)}function zl(yr,Jr){return yr.fileName===Jr.fileName}function Xl(yr,Jr){return yr.kind===78?Jr.kind===78&&yr.escapedText===Jr.escapedText:Jr.kind===10&&yr.text===Jr.text}function OF(yr,Jr){var Un=e.factory.createStringLiteral(yr),pa=e.factory.createImportDeclaration(void 0,void 0,void 0,Un);return e.addEmitFlags(pa,67108864),e.setParent(Un,pa),e.setParent(pa,Jr),Un.flags&=-9,pa.flags&=-9,Un}function BF(yr){if(!yr.imports){var Jr,Un,pa,za=e.isSourceFileJS(yr),Ls=e.isExternalModule(yr);if((K0.isolatedModules||Ls)&&!yr.isDeclarationFile){K0.importHelpers&&(Jr=[OF(e.externalHelpersModuleNameText,yr)]);var Mo=e.getJSXRuntimeImport(e.getJSXImplicitImportBase(K0,yr),K0);Mo&&(Jr||(Jr=[])).push(OF(Mo,yr))}for(var Ps=0,mo=yr.statements;Ps<mo.length;Ps++)bc(mo[Ps],!1);return(1048576&yr.flags||za)&&function(Vc){for(var ws=/import|require/g;ws.exec(Vc.text)!==null;){var gc=Ro(Vc,ws.lastIndex);za&&e.isRequireCall(gc,!0)||e.isImportCall(gc)&&gc.arguments.length===1&&e.isStringLiteralLike(gc.arguments[0])?Jr=e.append(Jr,gc.arguments[0]):e.isLiteralImportTypeNode(gc)&&(Jr=e.append(Jr,gc.argument.literal))}}(yr),yr.imports=Jr||e.emptyArray,yr.moduleAugmentations=Un||e.emptyArray,void(yr.ambientModuleNames=pa||e.emptyArray)}function bc(Vc,ws){if(e.isAnyImportOrReExport(Vc)){var gc=e.getExternalModuleName(Vc);!(gc&&e.isStringLiteral(gc)&&gc.text)||ws&&e.isExternalModuleNameRelative(gc.text)||(Jr=e.append(Jr,gc))}else if(e.isModuleDeclaration(Vc)&&e.isAmbientModule(Vc)&&(ws||e.hasSyntacticModifier(Vc,2)||yr.isDeclarationFile)){var Pl=e.getTextOfIdentifierOrLiteral(Vc.name);if(Ls||ws&&!e.isExternalModuleNameRelative(Pl))(Un||(Un=[])).push(Vc.name);else if(!ws){yr.isDeclarationFile&&(pa||(pa=[])).push(Pl);var xc=Vc.body;if(xc)for(var Su=0,hC=xc.statements;Su<hC.length;Su++)bc(hC[Su],!0)}}}function Ro(Vc,ws){for(var gc=Vc,Pl=function(Su){if(Su.pos<=ws&&(ws<Su.end||ws===Su.end&&Su.kind===1))return Su};;){var xc=za&&e.hasJSDocNodes(gc)&&e.forEach(gc.jsDoc,Pl)||e.forEachChild(gc,Pl);if(!xc)return gc;gc=xc}}}function Qp(yr,Jr,Un,pa){if(e.hasExtension(yr)){var za=O.getCanonicalFileName(yr);if(!K0.allowNonTsExtensions&&!e.forEach(gr,function(bc){return e.fileExtensionIs(za,bc)}))return void(Un&&(e.hasJSFileExtension(za)?Un(e.Diagnostics.File_0_is_a_JavaScript_file_Did_you_mean_to_enable_the_allowJs_option,yr):Un(e.Diagnostics.File_0_has_an_unsupported_extension_The_only_supported_extensions_are_1,yr,\"'\"+wr.join(\"', '\")+\"'\")));var Ls=Jr(yr);if(Un)if(Ls)u0(pa)&&za===O.getCanonicalFileName(yt(pa.file).fileName)&&Un(e.Diagnostics.A_file_cannot_have_a_reference_to_itself);else{var Mo=fT(yr);Mo?Un(e.Diagnostics.Output_file_0_has_not_been_built_from_source_file_1,Mo,yr):Un(e.Diagnostics.File_0_not_found,yr)}return Ls}var Ps=K0.allowNonTsExtensions&&Jr(yr);if(Ps)return Ps;if(!Un||!K0.allowNonTsExtensions){var mo=e.forEach(wr,function(bc){return Jr(yr+bc)});return Un&&!mo&&Un(e.Diagnostics.Could_not_resolve_the_path_0_with_the_extensions_Colon_1,yr,\"'\"+wr.join(\"', '\")+\"'\"),mo}Un(e.Diagnostics.File_0_not_found,yr)}function kp(yr,Jr,Un,pa,za){Qp(yr,function(Ls){return fd(Ls,Pe(Ls),Jr,Un,za,pa)},function(Ls){for(var Mo=[],Ps=1;Ps<arguments.length;Ps++)Mo[Ps-1]=arguments[Ps];return c5(void 0,za,Ls,Mo)},za)}function up(yr,Jr){return kp(yr,!1,!1,void 0,Jr)}function mC(yr,Jr,Un){!u0(Un)&&e.some(I0.get(Jr.path),u0)?c5(Jr,Un,e.Diagnostics.Already_included_file_name_0_differs_from_file_name_1_only_in_casing,[Jr.fileName,yr]):c5(Jr,Un,e.Diagnostics.File_name_0_differs_from_already_included_file_name_1_only_in_casing,[yr,Jr.fileName])}function fd(yr,Jr,Un,pa,za,Ls){e.tracing===null||e.tracing===void 0||e.tracing.push(\"program\",\"findSourceFile\",{fileName:yr,isDefaultLib:Un||void 0,fileIncludeKind:e.FileIncludeKind[za.kind]});var Mo=function(Ps,mo,bc,Ro,Vc,ws){if(Tt){var gc=rp(Ps);if(!gc&&O.realpath&&K0.preserveSymlinks&&e.isDeclarationFileName(Ps)&&e.stringContains(Ps,e.nodeModulesPathPart)){var Pl=O.realpath(Ps);Pl!==Ps&&(gc=rp(Pl))}if(gc){var xc=e.isString(gc)?fd(gc,Pe(gc),bc,Ro,Vc,ws):void 0;return xc&&Yl(xc,mo,void 0),xc}}var Su,hC=Ps;if(en.has(mo)){var _o=en.get(mo);if(E4(_o||void 0,Vc),_o&&K0.forceConsistentCasingInFileNames){var ol=_o.fileName;Pe(ol)!==Pe(Ps)&&(Ps=fT(Ps)||Ps),e.getNormalizedAbsolutePathWithoutRoot(ol,Vt)!==e.getNormalizedAbsolutePathWithoutRoot(Ps,Vt)&&mC(Ps,_o,Vc)}return _o&&Ox.get(_o.path)&&N1===0?(Ox.set(_o.path,!1),K0.noResolve||(cp(_o,bc),Nf(_o)),K0.noLib||l2(_o),V1.set(_o.path,!1),Ju(_o)):_o&&V1.get(_o.path)&&N1<Y1&&(V1.set(_o.path,!1),Ju(_o)),_o||void 0}if(u0(Vc)&&!Tt){var Fc=qE(Ps);if(Fc){if(e.outFile(Fc.commandLine.options))return;var _l=df(Fc,Ps);Ps=_l,Su=Pe(_l)}}var uc=O.getSourceFile(Ps,K0.target,function(Al){return c5(void 0,Vc,e.Diagnostics.Cannot_read_file_0_Colon_1,[Ps,Al])},cx);if(ws){var Fl=e.packageIdToString(ws),D6=dt.get(Fl);if(D6){var R6=function(Al,e4,bp,_c,Wl,Vp){var $f=Object.create(Al);return $f.fileName=bp,$f.path=_c,$f.resolvedPath=Wl,$f.originalFileName=Vp,$f.redirectInfo={redirectTarget:Al,unredirected:e4},Ox.set(_c,N1>0),Object.defineProperties($f,{id:{get:function(){return this.redirectInfo.redirectTarget.id},set:function(iA){this.redirectInfo.redirectTarget.id=iA}},symbol:{get:function(){return this.redirectInfo.redirectTarget.symbol},set:function(iA){this.redirectInfo.redirectTarget.symbol=iA}}}),$f}(D6,uc,Ps,mo,Pe(Ps),hC);return lr.add(D6.path,Ps),Yl(R6,mo,Su),E4(R6,Vc),Gt.set(mo,ws.name),h1.push(R6),R6}uc&&(dt.set(Fl,uc),Gt.set(mo,ws.name))}if(Yl(uc,mo,Su),uc){if(Ox.set(mo,N1>0),uc.fileName=Ps,uc.path=mo,uc.resolvedPath=Pe(Ps),uc.originalFileName=hC,E4(uc,Vc),O.useCaseSensitiveFileNames()){var nA=e.toFileNameLowerCase(mo),x4=ii.get(nA);x4?mC(Ps,x4,Vc):ii.set(nA,uc)}Px=Px||uc.hasNoDefaultLib&&!Ro,K0.noResolve||(cp(uc,bc),Nf(uc)),K0.noLib||l2(uc),Ju(uc),bc?d1.push(uc):h1.push(uc)}return uc}(yr,Jr,Un,pa,za,Ls);return e.tracing===null||e.tracing===void 0||e.tracing.pop(),Mo}function E4(yr,Jr){yr&&I0.add(yr.path,Jr)}function Yl(yr,Jr,Un){Un?(en.set(Un,yr),en.set(Jr,yr||!1)):en.set(Jr,yr)}function fT(yr){var Jr=qE(yr);return Jr&&df(Jr,yr)}function qE(yr){if(Ni&&Ni.length&&!e.fileExtensionIs(yr,\".d.ts\")&&!e.fileExtensionIs(yr,\".json\"))return pl(yr)}function df(yr,Jr){var Un=e.outFile(yr.commandLine.options);return Un?e.changeExtension(Un,\".d.ts\"):e.getOutputDeclarationFileName(Jr,yr.commandLine,!O.useCaseSensitiveFileNames())}function pl(yr){oi===void 0&&(oi=new e.Map,Np(function(Un){Pe(K0.configFilePath)!==Un.sourceFile.path&&Un.commandLine.fileNames.forEach(function(pa){return oi.set(Pe(pa),Un.sourceFile.path)})}));var Jr=oi.get(Pe(yr));return Jr&&tf(Jr)}function Np(yr){return e.forEachResolvedProjectReference(Ni,yr)}function rp(yr){if(e.isDeclarationFileName(yr))return Ba===void 0&&(Ba=new e.Map,Np(function(Jr){var Un=e.outFile(Jr.commandLine.options);if(Un){var pa=e.changeExtension(Un,\".d.ts\");Ba.set(Pe(pa),!0)}else{var za=e.memoize(function(){return e.getCommonSourceDirectoryOfConfig(Jr.commandLine,!O.useCaseSensitiveFileNames())});e.forEach(Jr.commandLine.fileNames,function(Ls){if(!e.fileExtensionIs(Ls,\".d.ts\")&&!e.fileExtensionIs(Ls,\".json\")){var Mo=e.getOutputDeclarationFileName(Ls,Jr.commandLine,!O.useCaseSensitiveFileNames(),za);Ba.set(Pe(Mo),Ls)}})}})),Ba.get(Pe(yr))}function jp(yr){return Tt&&!!pl(yr)}function tf(yr){if(Kn)return Kn.get(yr)||void 0}function cp(yr,Jr){e.forEach(yr.referencedFiles,function(Un,pa){kp(s(Un.fileName,yr.fileName),Jr,!1,void 0,{kind:e.FileIncludeKind.ReferenceFile,file:yr.path,index:pa})})}function Nf(yr){var Jr=e.map(yr.typeReferenceDirectives,function(Ps){return e.toFileNameLowerCase(Ps.fileName)});if(Jr)for(var Un=X0(Jr,yr),pa=0;pa<Jr.length;pa++){var za=yr.typeReferenceDirectives[pa],Ls=Un[pa],Mo=e.toFileNameLowerCase(za.fileName);e.setResolvedTypeReferenceDirective(yr,Mo,Ls),mf(Mo,Ls,{kind:e.FileIncludeKind.TypeReferenceDirective,file:yr.path,index:pa})}}function mf(yr,Jr,Un){e.tracing===null||e.tracing===void 0||e.tracing.push(\"program\",\"processTypeReferenceDirective\",{directive:yr,hasResolved:!!Kr,refKind:Un.kind,refPath:u0(Un)?Un.file:void 0}),function(pa,za,Ls){var Mo=p1.get(pa);if(!(Mo&&Mo.primary)){var Ps=!0;if(za){if(za.isExternalLibraryImport&&N1++,za.primary)kp(za.resolvedFileName,!1,!1,za.packageId,Ls);else if(Mo){if(za.resolvedFileName!==Mo.resolvedFileName){var mo=O.readFile(za.resolvedFileName),bc=Fr(Mo.resolvedFileName);mo!==bc.text&&c5(bc,Ls,e.Diagnostics.Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_library_to_resolve_the_conflict,[pa,za.resolvedFileName,Mo.resolvedFileName])}Ps=!1}else kp(za.resolvedFileName,!1,!1,za.packageId,Ls);za.isExternalLibraryImport&&N1--}else c5(void 0,Ls,e.Diagnostics.Cannot_find_type_definition_file_for_0,[pa]);Ps&&p1.set(pa,za)}}(yr,Jr,Un),e.tracing===null||e.tracing===void 0||e.tracing.pop()}function l2(yr){e.forEach(yr.libReferenceDirectives,function(Jr,Un){var pa=e.toFileNameLowerCase(Jr.fileName),za=e.libMap.get(pa);if(za)K8(e.combinePaths(Re,za),!0,!0,{kind:e.FileIncludeKind.LibReferenceDirective,file:yr.path,index:Un});else{var Ls=e.removeSuffix(e.removePrefix(pa,\"lib.\"),\".d.ts\"),Mo=e.getSpellingSuggestion(Ls,e.libs,e.identity),Ps=Mo?e.Diagnostics.Cannot_find_lib_definition_for_0_Did_you_mean_1:e.Diagnostics.Cannot_find_lib_definition_for_0;(y1||(y1=[])).push({kind:0,reason:{kind:e.FileIncludeKind.LibReferenceDirective,file:yr.path,index:Un},diagnostic:Ps,args:[pa,Mo]})}})}function pd(yr){return O.getCanonicalFileName(yr)}function Ju(yr){var Jr;if(BF(yr),yr.imports.length||yr.moduleAugmentations.length){var Un=w0(yr),pa=Kr(Un,yr);e.Debug.assert(pa.length===Un.length);for(var za=(Tt?(Jr=l1(yr))===null||Jr===void 0?void 0:Jr.commandLine.options:void 0)||K0,Ls=0;Ls<Un.length;Ls++){var Mo=pa[Ls];if(e.setResolvedModule(yr,Un[Ls],Mo),Mo){var Ps=Mo.isExternalLibraryImport,mo=!e.resolutionExtensionIsTSOrJson(Mo.extension),bc=Ps&&mo,Ro=Mo.resolvedFileName;Ps&&N1++;var Vc=bc&&N1>Y1,ws=Ro&&!l0(za,Mo)&&!za.noResolve&&Ls<yr.imports.length&&!Vc&&!(mo&&!e.getAllowJSCompilerOption(za))&&(e.isInJSFile(yr.imports[Ls])||!(4194304&yr.imports[Ls].flags));Vc?V1.set(yr.path,!0):ws&&fd(Ro,Pe(Ro),!1,!1,{kind:e.FileIncludeKind.Import,file:yr.path,index:Ls},Mo.packageId),Ps&&N1--}}}else yr.resolvedModules=void 0}function vd(yr){Kn||(Kn=new e.Map);var Jr,Un,pa=x0(yr),za=Pe(pa),Ls=Kn.get(za);if(Ls!==void 0)return Ls||void 0;if(O.getParsedCommandLine){if(!(Jr=O.getParsedCommandLine(pa)))return Yl(void 0,za,void 0),void Kn.set(za,!1);Un=e.Debug.checkDefined(Jr.options.configFile),e.Debug.assert(!Un.path||Un.path===za),Yl(Un,za,void 0)}else{var Mo=e.getNormalizedAbsolutePath(e.getDirectoryPath(pa),O.getCurrentDirectory());if(Yl(Un=O.getSourceFile(pa,100),za,void 0),Un===void 0)return void Kn.set(za,!1);Jr=e.parseJsonSourceFileConfigFileContent(Un,b1,Mo,void 0,pa)}Un.fileName=pa,Un.path=za,Un.resolvedPath=za,Un.originalFileName=pa;var Ps={commandLine:Jr,sourceFile:Un};return Kn.set(za,Ps),Jr.projectReferences&&(Ps.references=Jr.projectReferences.map(vd)),Ps}function aw(yr,Jr,Un,pa){var za,Ls,Mo,Ps=u0(Jr)?Jr:void 0;yr&&((za=I0.get(yr.path))===null||za===void 0||za.forEach(ws)),Jr&&ws(Jr),Ps&&(Ls==null?void 0:Ls.length)===1&&(Ls=void 0);var mo=Ps&&g0(yt,Ps),bc=Ls&&e.chainDiagnosticMessages(Ls,e.Diagnostics.The_file_is_in_the_program_because_Colon),Ro=yr&&e.explainIfFileIsRedirect(yr),Vc=e.chainDiagnosticMessages.apply(void 0,D([Ro?bc?D([bc],Ro):Ro:bc,Un],pa||e.emptyArray));return mo&&U(mo)?e.createFileDiagnosticFromMessageChain(mo.file,mo.pos,mo.end-mo.pos,Vc,Mo):e.createCompilerDiagnosticFromMessageChain(Vc,Mo);function ws(gc){(Ls||(Ls=[])).push(e.fileIncludeReasonToDiagnostics(h0,gc)),!Ps&&u0(gc)?Ps=gc:Ps!==gc&&(Mo=e.append(Mo,function(Pl){if(u0(Pl)){var xc,Su=g0(yt,Pl);switch(Pl.kind){case e.FileIncludeKind.Import:xc=e.Diagnostics.File_is_included_via_import_here;break;case e.FileIncludeKind.ReferenceFile:xc=e.Diagnostics.File_is_included_via_reference_here;break;case e.FileIncludeKind.TypeReferenceDirective:xc=e.Diagnostics.File_is_included_via_type_library_reference_here;break;case e.FileIncludeKind.LibReferenceDirective:xc=e.Diagnostics.File_is_included_via_library_reference_here;break;default:e.Debug.assertNever(Pl)}return U(Su)?e.createFileDiagnostic(Su.file,Su.pos,Su.end-Su.pos,xc):void 0}if(!!K0.configFile){var hC,_o;switch(Pl.kind){case e.FileIncludeKind.RootFile:if(!K0.configFile.configFileSpecs)return;var ol=e.getNormalizedAbsolutePath(I1[Pl.index],Vt),Fc=e.getMatchedFileSpec(h0,ol);if(Fc){hC=e.getTsConfigPropArrayElementValue(K0.configFile,\"files\",Fc),_o=e.Diagnostics.File_is_matched_by_files_list_specified_here;break}var _l=e.getMatchedIncludeSpec(h0,ol);if(!_l)return;hC=e.getTsConfigPropArrayElementValue(K0.configFile,\"include\",_l),_o=e.Diagnostics.File_is_matched_by_include_pattern_specified_here;break;case e.FileIncludeKind.SourceFromProjectReference:case e.FileIncludeKind.OutputFromProjectReference:var uc=e.Debug.checkDefined(Ni==null?void 0:Ni[Pl.index]),Fl=G(Nx,Ni,function(Al,e4,bp){return Al===uc?{sourceFile:(e4==null?void 0:e4.sourceFile)||K0.configFile,index:bp}:void 0});if(!Fl)return;var D6=Fl.sourceFile,R6=Fl.index,nA=e.firstDefined(e.getTsConfigPropArray(D6,\"references\"),function(Al){return e.isArrayLiteralExpression(Al.initializer)?Al.initializer:void 0});return nA&&nA.elements.length>R6?e.createDiagnosticForNodeInSourceFile(D6,nA.elements[R6],Pl.kind===e.FileIncludeKind.OutputFromProjectReference?e.Diagnostics.File_is_output_from_referenced_project_specified_here:e.Diagnostics.File_is_source_from_referenced_project_specified_here):void 0;case e.FileIncludeKind.AutomaticTypeDirectiveFile:if(!K0.types)return;hC=Dp(\"types\",Pl.typeReference),_o=e.Diagnostics.File_is_entry_point_of_type_library_specified_here;break;case e.FileIncludeKind.LibFile:if(Pl.index!==void 0){hC=Dp(\"lib\",K0.lib[Pl.index]),_o=e.Diagnostics.File_is_library_specified_here;break}var x4=e.forEachEntry(e.targetOptionDeclaration.type,function(Al,e4){return Al===K0.target?e4:void 0});hC=x4?function(Al,e4){var bp=bd(Al);return bp&&e.firstDefined(bp,function(_c){return e.isStringLiteral(_c.initializer)&&_c.initializer.text===e4?_c.initializer:void 0})}(\"target\",x4):void 0,_o=e.Diagnostics.File_is_default_library_for_target_specified_here;break;default:e.Debug.assertNever(Pl)}return hC&&e.createDiagnosticForNodeInSourceFile(K0.configFile,hC,_o)}}(gc))),gc===Jr&&(Jr=void 0)}}function c5(yr,Jr,Un,pa){(y1||(y1=[])).push({kind:1,file:yr&&yr.path,fileProcessingReason:Jr,diagnostic:Un,args:pa})}function Qo(yr,Jr,Un){gt.add(aw(yr,void 0,Jr,Un))}function Rl(yr,Jr,Un,pa,za,Ls){for(var Mo=!0,Ps=0,mo=Ld();Ps<mo.length;Ps++){var bc=mo[Ps];if(e.isObjectLiteralExpression(bc.initializer))for(var Ro=0,Vc=e.getPropertyAssignment(bc.initializer,yr);Ro<Vc.length;Ro++){var ws=Vc[Ro].initializer;e.isArrayLiteralExpression(ws)&&ws.elements.length>Jr&&(gt.add(e.createDiagnosticForNodeInSourceFile(K0.configFile,ws.elements[Jr],Un,pa,za,Ls)),Mo=!1)}}Mo&&gt.add(e.createCompilerDiagnostic(Un,pa,za,Ls))}function gl(yr,Jr,Un,pa){for(var za=!0,Ls=0,Mo=Ld();Ls<Mo.length;Ls++){var Ps=Mo[Ls];e.isObjectLiteralExpression(Ps.initializer)&&G2(Ps.initializer,yr,Jr,void 0,Un,pa)&&(za=!1)}za&&gt.add(e.createCompilerDiagnostic(Un,pa))}function bd(yr){var Jr=rA();return Jr&&e.getPropertyAssignment(Jr,yr)}function Ld(){return bd(\"paths\")||e.emptyArray}function Dp(yr,Jr){var Un=rA();return Un&&e.getPropertyArrayElementValue(Un,yr,Jr)}function Hi(yr,Jr,Un,pa){tA(!0,Jr,Un,yr,Jr,Un,pa)}function Up(yr,Jr,Un){tA(!1,yr,void 0,Jr,Un)}function rl(yr,Jr,Un,pa,za){var Ls=e.firstDefined(e.getTsConfigPropArray(yr||K0.configFile,\"references\"),function(Mo){return e.isArrayLiteralExpression(Mo.initializer)?Mo.initializer:void 0});Ls&&Ls.elements.length>Jr?gt.add(e.createDiagnosticForNodeInSourceFile(yr||K0.configFile,Ls.elements[Jr],Un,pa,za)):gt.add(e.createCompilerDiagnostic(Un,pa,za))}function tA(yr,Jr,Un,pa,za,Ls,Mo){var Ps=rA();(!Ps||!G2(Ps,yr,Jr,Un,pa,za,Ls,Mo))&&gt.add(e.createCompilerDiagnostic(pa,za,Ls,Mo))}function rA(){if($x===void 0){$x=!1;var yr=e.getTsConfigObjectLiteralExpression(K0.configFile);if(yr)for(var Jr=0,Un=e.getPropertyAssignment(yr,\"compilerOptions\");Jr<Un.length;Jr++){var pa=Un[Jr];if(e.isObjectLiteralExpression(pa.initializer)){$x=pa.initializer;break}}}return $x||void 0}function G2(yr,Jr,Un,pa,za,Ls,Mo,Ps){for(var mo=e.getPropertyAssignment(yr,Un,pa),bc=0,Ro=mo;bc<Ro.length;bc++){var Vc=Ro[bc];gt.add(e.createDiagnosticForNodeInSourceFile(K0.configFile,Jr?Vc.name:Vc.initializer,za,Ls,Mo,Ps))}return!!mo.length}function vp(yr,Jr){Nt.set(Pe(yr),!0),gt.add(Jr)}function Zp(yr,Jr){return e.comparePaths(yr,Jr,Vt,!O.useCaseSensitiveFileNames())===0}function Ef(){return O.getSymlinkCache?O.getSymlinkCache():Q1||(Q1=e.discoverProbableSymlinks(S1,pd,O.getCurrentDirectory()))}},e.emitSkippedWithNoDiagnostics={diagnostics:e.emptyArray,sourceMaps:void 0,emittedFiles:void 0,emitSkipped:!0},e.handleNoEmitOptions=d0,e.filterSemanticDiagnotics=P0,e.parseConfigHostFromCompilerHostLike=c0,e.createPrependNodes=D0,e.resolveProjectReferencePath=x0,e.getResolutionDiagnostic=l0,e.getModuleNameStringLiteralAt=V}(_0||(_0={})),function(e){function s(X,J,m0,s1,i0,H0){var E0=[],I=X.emit(J,function(o0,j,G){E0.push({name:o0,writeByteOrderMark:G,text:j})},s1,m0,i0,H0),A=I.emitSkipped,Z=I.diagnostics,A0=I.exportedModulesFromDeclarationEmit;return{outputFiles:E0,emitSkipped:A,diagnostics:Z,exportedModulesFromDeclarationEmit:A0}}e.getFileEmitOutput=s,function(X){function J(U){if(U.declarations&&U.declarations[0]){var g0=e.getSourceFileOfNode(U.declarations[0]);return g0&&g0.resolvedPath}}function m0(U,g0){var d0=U.getSymbolAtLocation(g0);return d0&&J(d0)}function s1(U,g0,d0,P0){return e.toPath(U.getProjectReferenceRedirect(g0)||g0,d0,P0)}function i0(U,g0,d0){var P0;if(g0.imports&&g0.imports.length>0)for(var c0=U.getTypeChecker(),D0=0,x0=g0.imports;D0<x0.length;D0++){var l0=m0(c0,x0[D0]);l0&&S1(l0)}var w0=e.getDirectoryPath(g0.resolvedPath);if(g0.referencedFiles&&g0.referencedFiles.length>0)for(var V=0,w=g0.referencedFiles;V<w.length;V++){var H=w[V];S1(s1(U,H.fileName,w0,d0))}if(g0.resolvedTypeReferenceDirectiveNames&&g0.resolvedTypeReferenceDirectiveNames.forEach(function(Q1){if(Q1){var Y0=Q1.resolvedFileName;S1(s1(U,Y0,w0,d0))}}),g0.moduleAugmentations.length){c0=U.getTypeChecker();for(var k0=0,V0=g0.moduleAugmentations;k0<V0.length;k0++){var t0=V0[k0];if(e.isStringLiteral(t0)){var f0=c0.getSymbolAtLocation(t0);f0&&h1(f0)}}}for(var y0=0,G0=U.getTypeChecker().getAmbientModules();y0<G0.length;y0++){var d1=G0[y0];d1.declarations&&d1.declarations.length>1&&h1(d1)}return P0;function h1(Q1){if(Q1.declarations)for(var Y0=0,$1=Q1.declarations;Y0<$1.length;Y0++){var Z1=$1[Y0],Q0=e.getSourceFileOfNode(Z1);Q0&&Q0!==g0&&S1(Q0.resolvedPath)}}function S1(Q1){(P0||(P0=new e.Set)).add(Q1)}}function H0(U,g0){return g0&&!g0.referencedMap==!U}function E0(U,g0){g0.forEach(function(d0,P0){return I(U,d0,P0)})}function I(U,g0,d0){U.fileInfos.get(d0).signature=g0,U.hasCalledUpdateShapeSignature.add(d0)}function A(U,g0,d0,P0,c0,D0,x0){if(e.Debug.assert(!!d0),e.Debug.assert(!x0||!!U.exportedModulesMap,\"Compute visible to outside map only if visibleToOutsideReferencedMap present in the state\"),U.hasCalledUpdateShapeSignature.has(d0.resolvedPath)||P0.has(d0.resolvedPath))return!1;var l0=U.fileInfos.get(d0.resolvedPath);if(!l0)return e.Debug.fail();var w0,V=l0.signature;if(!d0.isDeclarationFile&&!U.useFileVersionAsSignature){var w=s(g0,d0,!0,c0,void 0,!0),H=e.firstOrUndefined(w.outputFiles);H&&(e.Debug.assert(e.fileExtensionIs(H.name,\".d.ts\"),\"File extension for signature expected to be dts\",function(){return\"Found: \"+e.getAnyExtensionFromPath(H.name)+\" for \"+H.name+\":: All output files: \"+JSON.stringify(w.outputFiles.map(function(V0){return V0.name}))}),w0=(D0||e.generateDjb2Hash)(H.text),x0&&w0!==V&&function(V0,t0,f0){if(!t0)return void f0.set(V0.resolvedPath,!1);var y0;function G0(d1){d1&&(y0||(y0=new e.Set),y0.add(d1))}t0.forEach(function(d1){return G0(J(d1))}),f0.set(V0.resolvedPath,y0||!1)}(d0,w.exportedModulesFromDeclarationEmit,x0))}if(w0===void 0&&(w0=d0.version,x0&&w0!==V)){var k0=U.referencedMap?U.referencedMap.get(d0.resolvedPath):void 0;x0.set(d0.resolvedPath,k0||!1)}return P0.set(d0.resolvedPath,w0),w0!==V}function Z(U,g0){if(!U.allFileNames){var d0=g0.getSourceFiles();U.allFileNames=d0===e.emptyArray?e.emptyArray:d0.map(function(P0){return P0.fileName})}return U.allFileNames}function A0(U,g0){return e.arrayFrom(e.mapDefinedIterator(U.referencedMap.entries(),function(d0){var P0=d0[0];return d0[1].has(g0)?P0:void 0}))}function o0(U){return function(g0){return e.some(g0.moduleAugmentations,function(d0){return e.isGlobalScopeAugmentation(d0.parent)})}(U)||!e.isExternalOrCommonJsModule(U)&&!function(g0){for(var d0=0,P0=g0.statements;d0<P0.length;d0++){var c0=P0[d0];if(!e.isModuleWithStringLiteralName(c0))return!1}return!0}(U)}function j(U,g0,d0){if(U.allFilesExcludingDefaultLibraryFile)return U.allFilesExcludingDefaultLibraryFile;var P0;d0&&l0(d0);for(var c0=0,D0=g0.getSourceFiles();c0<D0.length;c0++){var x0=D0[c0];x0!==d0&&l0(x0)}return U.allFilesExcludingDefaultLibraryFile=P0||e.emptyArray,U.allFilesExcludingDefaultLibraryFile;function l0(w0){g0.isSourceFileDefaultLibrary(w0)||(P0||(P0=[])).push(w0)}}function G(U,g0,d0){var P0=g0.getCompilerOptions();return P0&&e.outFile(P0)?[d0]:j(U,g0,d0)}function u0(U,g0,d0,P0,c0,D0,x0){if(o0(d0))return j(U,g0,d0);var l0=g0.getCompilerOptions();if(l0&&(l0.isolatedModules||e.outFile(l0)))return[d0];var w0=new e.Map;w0.set(d0.resolvedPath,d0);for(var V=A0(U,d0.resolvedPath);V.length>0;){var w=V.pop();if(!w0.has(w)){var H=g0.getSourceFileByPath(w);w0.set(w,H),H&&A(U,g0,H,P0,c0,D0,x0)&&V.push.apply(V,A0(U,H.resolvedPath))}}return e.arrayFrom(e.mapDefinedIterator(w0.values(),function(k0){return k0}))}X.canReuseOldState=H0,X.create=function(U,g0,d0,P0){var c0=new e.Map,D0=U.getCompilerOptions().module!==e.ModuleKind.None?new e.Map:void 0,x0=D0?new e.Map:void 0,l0=new e.Set,w0=H0(D0,d0);U.getTypeChecker();for(var V=0,w=U.getSourceFiles();V<w.length;V++){var H=w[V],k0=e.Debug.checkDefined(H.version,\"Program intended to be used with Builder should have source files with versions set\"),V0=w0?d0.fileInfos.get(H.resolvedPath):void 0;if(D0){var t0=i0(U,H,g0);if(t0&&D0.set(H.resolvedPath,t0),w0){var f0=d0.exportedModulesMap.get(H.resolvedPath);f0&&x0.set(H.resolvedPath,f0)}}c0.set(H.resolvedPath,{version:k0,signature:V0&&V0.signature,affectsGlobalScope:o0(H)||void 0})}return{fileInfos:c0,referencedMap:D0,exportedModulesMap:x0,hasCalledUpdateShapeSignature:l0,useFileVersionAsSignature:!P0&&!w0}},X.releaseCache=function(U){U.allFilesExcludingDefaultLibraryFile=void 0,U.allFileNames=void 0},X.clone=function(U){return{fileInfos:new e.Map(U.fileInfos),referencedMap:U.referencedMap&&new e.Map(U.referencedMap),exportedModulesMap:U.exportedModulesMap&&new e.Map(U.exportedModulesMap),hasCalledUpdateShapeSignature:new e.Set(U.hasCalledUpdateShapeSignature),useFileVersionAsSignature:U.useFileVersionAsSignature}},X.getFilesAffectedBy=function(U,g0,d0,P0,c0,D0,x0){var l0=D0||new e.Map,w0=g0.getSourceFileByPath(d0);if(!w0)return e.emptyArray;if(!A(U,g0,w0,l0,P0,c0,x0))return[w0];var V=(U.referencedMap?u0:G)(U,g0,w0,l0,P0,c0,x0);return D0||E0(U,l0),V},X.updateSignaturesFromCache=E0,X.updateSignatureOfFile=I,X.updateShapeSignature=A,X.updateExportedFilesMapFromCache=function(U,g0){g0&&(e.Debug.assert(!!U.exportedModulesMap),g0.forEach(function(d0,P0){d0?U.exportedModulesMap.set(P0,d0):U.exportedModulesMap.delete(P0)}))},X.getAllDependencies=function(U,g0,d0){var P0=g0.getCompilerOptions();if(e.outFile(P0)||!U.referencedMap||o0(d0))return Z(U,g0);for(var c0=new e.Set,D0=[d0.resolvedPath];D0.length;){var x0=D0.pop();if(!c0.has(x0)){c0.add(x0);var l0=U.referencedMap.get(x0);if(l0)for(var w0=l0.keys(),V=w0.next();!V.done;V=w0.next())D0.push(V.value)}}return e.arrayFrom(e.mapDefinedIterator(c0.keys(),function(w){var H,k0;return(k0=(H=g0.getSourceFileByPath(w))===null||H===void 0?void 0:H.fileName)!==null&&k0!==void 0?k0:w}))},X.getReferencedByPaths=A0,X.getAllFilesExcludingDefaultLibraryFile=j}(e.BuilderState||(e.BuilderState={}))}(_0||(_0={})),function(e){var s,X;function J(x0,l0,w0,V){var w=e.BuilderState.create(x0,l0,w0,V);w.program=x0;var H=x0.getCompilerOptions();w.compilerOptions=H,e.outFile(H)||(w.semanticDiagnosticsPerFile=new e.Map),w.changedFilesSet=new e.Set;var k0=e.BuilderState.canReuseOldState(w.referencedMap,w0),V0=k0?w0.compilerOptions:void 0,t0=k0&&w0.semanticDiagnosticsPerFile&&!!w.semanticDiagnosticsPerFile&&!e.compilerOptionsAffectSemanticDiagnostics(H,V0);if(k0){if(!w0.currentChangedFilePath){var f0=w0.currentAffectedFilesSignatures;e.Debug.assert(!(w0.affectedFiles||f0&&f0.size),\"Cannot reuse if only few affected files of currentChangedFile were iterated\")}var y0=w0.changedFilesSet;t0&&e.Debug.assert(!y0||!e.forEachKey(y0,function(Q1){return w0.semanticDiagnosticsPerFile.has(Q1)}),\"Semantic diagnostics shouldnt be available for changed files\"),y0==null||y0.forEach(function(Q1){return w.changedFilesSet.add(Q1)}),!e.outFile(H)&&w0.affectedFilesPendingEmit&&(w.affectedFilesPendingEmit=w0.affectedFilesPendingEmit.slice(),w.affectedFilesPendingEmitKind=w0.affectedFilesPendingEmitKind&&new e.Map(w0.affectedFilesPendingEmitKind),w.affectedFilesPendingEmitIndex=w0.affectedFilesPendingEmitIndex,w.seenAffectedFiles=new e.Set)}var G0=w.referencedMap,d1=k0?w0.referencedMap:void 0,h1=t0&&!H.skipLibCheck==!V0.skipLibCheck,S1=h1&&!H.skipDefaultLibCheck==!V0.skipDefaultLibCheck;return w.fileInfos.forEach(function(Q1,Y0){var $1,Z1,Q0,y1;if(!k0||!($1=w0.fileInfos.get(Y0))||$1.version!==Q1.version||(Q0=Z1=G0&&G0.get(Y0),y1=d1&&d1.get(Y0),Q0!==y1&&(Q0===void 0||y1===void 0||Q0.size!==y1.size||e.forEachKey(Q0,function(K0){return!y1.has(K0)})))||Z1&&e.forEachKey(Z1,function(K0){return!w.fileInfos.has(K0)&&w0.fileInfos.has(K0)}))w.changedFilesSet.add(Y0);else if(t0){var k1=x0.getSourceFileByPath(Y0);if(k1.isDeclarationFile&&!h1||k1.hasNoDefaultLib&&!S1)return;var I1=w0.semanticDiagnosticsPerFile.get(Y0);I1&&(w.semanticDiagnosticsPerFile.set(Y0,w0.hasReusableDiagnostic?function(K0,G1,Nx){if(!K0.length)return e.emptyArray;var n1=e.getDirectoryPath(e.getNormalizedAbsolutePath(e.getTsBuildInfoEmitOutputFilePath(G1.getCompilerOptions()),G1.getCurrentDirectory()));return K0.map(function(I0){var U0=m0(I0,G1,S0);U0.reportsUnnecessary=I0.reportsUnnecessary,U0.reportsDeprecated=I0.reportDeprecated,U0.source=I0.source,U0.skippedOn=I0.skippedOn;var p0=I0.relatedInformation;return U0.relatedInformation=p0?p0.length?p0.map(function(p1){return m0(p1,G1,S0)}):[]:void 0,U0});function S0(I0){return e.toPath(I0,n1,Nx)}}(I1,x0,l0):I1),w.semanticDiagnosticsFromOldState||(w.semanticDiagnosticsFromOldState=new e.Set),w.semanticDiagnosticsFromOldState.add(Y0))}}),k0&&e.forEachEntry(w0.fileInfos,function(Q1,Y0){return Q1.affectsGlobalScope&&!w.fileInfos.has(Y0)})?e.BuilderState.getAllFilesExcludingDefaultLibraryFile(w,x0,void 0).forEach(function(Q1){return w.changedFilesSet.add(Q1.resolvedPath)}):V0&&!e.outFile(H)&&e.compilerOptionsAffectEmit(H,V0)&&(x0.getSourceFiles().forEach(function(Q1){return P0(w,Q1.resolvedPath,1)}),e.Debug.assert(!w.seenAffectedFiles||!w.seenAffectedFiles.size),w.seenAffectedFiles=w.seenAffectedFiles||new e.Set),w.buildInfoEmitPending=!!w.changedFilesSet.size,w}function m0(x0,l0,w0){var V=x0.file;return $($({},x0),{file:V?l0.getSourceFileByPath(w0(V)):void 0})}function s1(x0,l0){e.Debug.assert(!l0||!x0.affectedFiles||x0.affectedFiles[x0.affectedFilesIndex-1]!==l0||!x0.semanticDiagnosticsPerFile.has(l0.resolvedPath))}function i0(x0,l0,w0){for(;;){var V=x0.affectedFiles;if(V){for(var w=x0.seenAffectedFiles,H=x0.affectedFilesIndex;H<V.length;){var k0=V[H];if(!w.has(k0.resolvedPath))return x0.affectedFilesIndex=H,H0(x0,k0,l0,w0),k0;H++}x0.changedFilesSet.delete(x0.currentChangedFilePath),x0.currentChangedFilePath=void 0,e.BuilderState.updateSignaturesFromCache(x0,x0.currentAffectedFilesSignatures),x0.currentAffectedFilesSignatures.clear(),e.BuilderState.updateExportedFilesMapFromCache(x0,x0.currentAffectedFilesExportedModulesMap),x0.affectedFiles=void 0}var V0=x0.changedFilesSet.keys().next();if(V0.done)return;var t0=e.Debug.checkDefined(x0.program),f0=t0.getCompilerOptions();if(e.outFile(f0))return e.Debug.assert(!x0.semanticDiagnosticsPerFile),t0;x0.currentAffectedFilesSignatures||(x0.currentAffectedFilesSignatures=new e.Map),x0.exportedModulesMap&&(x0.currentAffectedFilesExportedModulesMap||(x0.currentAffectedFilesExportedModulesMap=new e.Map)),x0.affectedFiles=e.BuilderState.getFilesAffectedBy(x0,t0,V0.value,l0,w0,x0.currentAffectedFilesSignatures,x0.currentAffectedFilesExportedModulesMap),x0.currentChangedFilePath=V0.value,x0.affectedFilesIndex=0,x0.seenAffectedFiles||(x0.seenAffectedFiles=new e.Set)}}function H0(x0,l0,w0,V){var w;if(E0(x0,l0.resolvedPath),x0.allFilesExcludingDefaultLibraryFile!==x0.affectedFiles)e.Debug.assert(x0.hasCalledUpdateShapeSignature.has(l0.resolvedPath)||((w=x0.currentAffectedFilesSignatures)===null||w===void 0?void 0:w.has(l0.resolvedPath)),\"Signature not updated for affected file: \"+l0.fileName),x0.compilerOptions.assumeChangesOnlyAffectDirectDependencies||function(V0,t0,f0){if(!(!V0.exportedModulesMap||!V0.changedFilesSet.has(t0.resolvedPath))&&!!I(V0,t0.resolvedPath)){if(V0.compilerOptions.isolatedModules){var y0=new e.Map;y0.set(t0.resolvedPath,!0);for(var G0=e.BuilderState.getReferencedByPaths(V0,t0.resolvedPath);G0.length>0;){var d1=G0.pop();if(!y0.has(d1)&&(y0.set(d1,!0),f0(V0,d1)&&I(V0,d1))){var h1=e.Debug.checkDefined(V0.program).getSourceFileByPath(d1);G0.push.apply(G0,e.BuilderState.getReferencedByPaths(V0,h1.resolvedPath))}}}e.Debug.assert(!!V0.currentAffectedFilesExportedModulesMap);var S1=new e.Set;e.forEachEntry(V0.currentAffectedFilesExportedModulesMap,function(Q1,Y0){return Q1&&Q1.has(t0.resolvedPath)&&A(V0,Y0,S1,f0)})||e.forEachEntry(V0.exportedModulesMap,function(Q1,Y0){return!V0.currentAffectedFilesExportedModulesMap.has(Y0)&&Q1.has(t0.resolvedPath)&&A(V0,Y0,S1,f0)})}}(x0,l0,function(V0,t0){return function(f0,y0,G0,d1){if(E0(f0,y0),!f0.changedFilesSet.has(y0)){var h1=e.Debug.checkDefined(f0.program),S1=h1.getSourceFileByPath(y0);S1&&(e.BuilderState.updateShapeSignature(f0,h1,S1,e.Debug.checkDefined(f0.currentAffectedFilesSignatures),G0,d1,f0.currentAffectedFilesExportedModulesMap),e.getEmitDeclarations(f0.compilerOptions)&&P0(f0,y0,0))}return!1}(V0,t0,w0,V)});else{if(!x0.cleanedDiagnosticsOfLibFiles){x0.cleanedDiagnosticsOfLibFiles=!0;var H=e.Debug.checkDefined(x0.program),k0=H.getCompilerOptions();e.forEach(H.getSourceFiles(),function(V0){return H.isSourceFileDefaultLibrary(V0)&&!e.skipTypeChecking(V0,k0,H)&&E0(x0,V0.resolvedPath)})}e.BuilderState.updateShapeSignature(x0,e.Debug.checkDefined(x0.program),l0,e.Debug.checkDefined(x0.currentAffectedFilesSignatures),w0,V,x0.currentAffectedFilesExportedModulesMap)}}function E0(x0,l0){return!x0.semanticDiagnosticsFromOldState||(x0.semanticDiagnosticsFromOldState.delete(l0),x0.semanticDiagnosticsPerFile.delete(l0),!x0.semanticDiagnosticsFromOldState.size)}function I(x0,l0){return e.Debug.checkDefined(x0.currentAffectedFilesSignatures).get(l0)!==e.Debug.checkDefined(x0.fileInfos.get(l0)).signature}function A(x0,l0,w0,V){return e.forEachEntry(x0.referencedMap,function(w,H){return w.has(l0)&&Z(x0,H,w0,V)})}function Z(x0,l0,w0,V){return!!e.tryAddToSet(w0,l0)&&(!!V(x0,l0)||(e.Debug.assert(!!x0.currentAffectedFilesExportedModulesMap),!!e.forEachEntry(x0.currentAffectedFilesExportedModulesMap,function(w,H){return w&&w.has(l0)&&Z(x0,H,w0,V)})||!!e.forEachEntry(x0.exportedModulesMap,function(w,H){return!x0.currentAffectedFilesExportedModulesMap.has(H)&&w.has(l0)&&Z(x0,H,w0,V)})||!!e.forEachEntry(x0.referencedMap,function(w,H){return w.has(l0)&&!w0.has(H)&&V(x0,H)})))}function A0(x0,l0,w0,V,w){w?x0.buildInfoEmitPending=!1:l0===x0.program?(x0.changedFilesSet.clear(),x0.programEmitComplete=!0):(x0.seenAffectedFiles.add(l0.resolvedPath),w0!==void 0&&(x0.seenEmittedFiles||(x0.seenEmittedFiles=new e.Map)).set(l0.resolvedPath,w0),V?(x0.affectedFilesPendingEmitIndex++,x0.buildInfoEmitPending=!0):x0.affectedFilesIndex++)}function o0(x0,l0,w0){return A0(x0,w0),{result:l0,affected:w0}}function j(x0,l0,w0,V,w,H){return A0(x0,w0,V,w,H),{result:l0,affected:w0}}function G(x0,l0,w0){return e.concatenate(function(V,w,H){var k0=w.resolvedPath;if(V.semanticDiagnosticsPerFile){var V0=V.semanticDiagnosticsPerFile.get(k0);if(V0)return e.filterSemanticDiagnotics(V0,V.compilerOptions)}var t0=e.Debug.checkDefined(V.program).getBindAndCheckDiagnostics(w,H);return V.semanticDiagnosticsPerFile&&V.semanticDiagnosticsPerFile.set(k0,t0),e.filterSemanticDiagnotics(t0,V.compilerOptions)}(x0,l0,w0),e.Debug.checkDefined(x0.program).getProgramDiagnostics(l0))}function u0(x0,l0){for(var w0,V=e.getOptionsNameMap().optionsNameMap,w=0,H=e.getOwnKeys(x0).sort(e.compareStringsCaseSensitive);w<H.length;w++){var k0=H[w],V0=k0.toLowerCase(),t0=V.get(V0);((t0==null?void 0:t0.affectsEmit)||(t0==null?void 0:t0.affectsSemanticDiagnostics)||V0===\"strict\"||V0===\"skiplibcheck\"||V0===\"skipdefaultlibcheck\")&&((w0||(w0={}))[k0]=U(t0,x0[k0],l0))}return w0}function U(x0,l0,w0){if(x0){if(x0.type===\"list\"){var V=l0;if(x0.element.isFilePath&&V.length)return V.map(w0)}else if(x0.isFilePath)return w0(l0)}return l0}function g0(x0,l0){return e.Debug.assert(!!x0.length),x0.map(function(w0){var V=d0(w0,l0);V.reportsUnnecessary=w0.reportsUnnecessary,V.reportDeprecated=w0.reportsDeprecated,V.source=w0.source,V.skippedOn=w0.skippedOn;var w=w0.relatedInformation;return V.relatedInformation=w?w.length?w.map(function(H){return d0(H,l0)}):[]:void 0,V})}function d0(x0,l0){var w0=x0.file;return $($({},x0),{file:w0?l0(w0.resolvedPath):void 0})}function P0(x0,l0,w0){x0.affectedFilesPendingEmit||(x0.affectedFilesPendingEmit=[]),x0.affectedFilesPendingEmitKind||(x0.affectedFilesPendingEmitKind=new e.Map);var V=x0.affectedFilesPendingEmitKind.get(l0);x0.affectedFilesPendingEmit.push(l0),x0.affectedFilesPendingEmitKind.set(l0,V||w0),x0.affectedFilesPendingEmitIndex===void 0&&(x0.affectedFilesPendingEmitIndex=0)}function c0(x0){return e.isString(x0)?{version:x0,signature:x0,affectsGlobalScope:void 0}:e.isString(x0.signature)?x0:{version:x0.version,signature:x0.signature===!1?void 0:x0.version,affectsGlobalScope:x0.affectsGlobalScope}}function D0(x0,l0){return{getState:e.notImplemented,backupState:e.noop,restoreState:e.noop,getProgram:w0,getProgramOrUndefined:function(){return x0.program},releaseProgram:function(){return x0.program=void 0},getCompilerOptions:function(){return x0.compilerOptions},getSourceFile:function(V){return w0().getSourceFile(V)},getSourceFiles:function(){return w0().getSourceFiles()},getOptionsDiagnostics:function(V){return w0().getOptionsDiagnostics(V)},getGlobalDiagnostics:function(V){return w0().getGlobalDiagnostics(V)},getConfigFileParsingDiagnostics:function(){return l0},getSyntacticDiagnostics:function(V,w){return w0().getSyntacticDiagnostics(V,w)},getDeclarationDiagnostics:function(V,w){return w0().getDeclarationDiagnostics(V,w)},getSemanticDiagnostics:function(V,w){return w0().getSemanticDiagnostics(V,w)},emit:function(V,w,H,k0,V0){return w0().emit(V,w,H,k0,V0)},emitBuildInfo:function(V,w){return w0().emitBuildInfo(V,w)},getAllDependencies:e.notImplemented,getCurrentDirectory:function(){return w0().getCurrentDirectory()},close:e.noop};function w0(){return e.Debug.checkDefined(x0.program)}}(s=e.BuilderFileEmit||(e.BuilderFileEmit={}))[s.DtsOnly=0]=\"DtsOnly\",s[s.Full=1]=\"Full\",function(x0){x0[x0.SemanticDiagnosticsBuilderProgram=0]=\"SemanticDiagnosticsBuilderProgram\",x0[x0.EmitAndSemanticDiagnosticsBuilderProgram=1]=\"EmitAndSemanticDiagnosticsBuilderProgram\"}(X=e.BuilderProgramKind||(e.BuilderProgramKind={})),e.getBuilderCreationParameters=function(x0,l0,w0,V,w,H){var k0,V0,t0;return x0===void 0?(e.Debug.assert(l0===void 0),k0=w0,t0=V,e.Debug.assert(!!t0),V0=t0.getProgram()):e.isArray(x0)?(t0=V,V0=e.createProgram({rootNames:x0,options:l0,host:w0,oldProgram:t0&&t0.getProgramOrUndefined(),configFileParsingDiagnostics:w,projectReferences:H}),k0=w0):(V0=x0,k0=l0,t0=w0,w=V),{host:k0,newProgram:V0,oldProgram:t0,configFileParsingDiagnostics:w||e.emptyArray}},e.createBuilderProgram=function(x0,l0){var w0=l0.newProgram,V=l0.host,w=l0.oldProgram,H=l0.configFileParsingDiagnostics,k0=w&&w.getState();if(k0&&w0===k0.program&&H===w0.getConfigFileParsingDiagnostics())return w0=void 0,k0=void 0,w;var V0,t0=e.createGetCanonicalFileName(V.useCaseSensitiveFileNames()),f0=e.maybeBind(V,V.createHash),y0=J(w0,t0,k0,V.disableUseFileVersionAsSignature);w0.getProgramBuildInfo=function(){return function(S1,Q1){if(!e.outFile(S1.compilerOptions)){var Y0,$1,Z1,Q0,y1,k1,I1=e.Debug.checkDefined(S1.program).getCurrentDirectory(),K0=e.getDirectoryPath(e.getNormalizedAbsolutePath(e.getTsBuildInfoEmitOutputFilePath(S1.compilerOptions),I1)),G1=[],Nx=new e.Map,n1=e.arrayFrom(S1.fileInfos.entries(),function(O0){var C1=O0[0],nx=O0[1],O=$x(C1);e.Debug.assert(G1[O-1]===Ox(C1));var b1=S1.currentAffectedFilesSignatures&&S1.currentAffectedFilesSignatures.get(C1),Px=b1!=null?b1:nx.signature;return nx.version===Px?nx.affectsGlobalScope?{version:nx.version,signature:void 0,affectsGlobalScope:!0}:nx.version:Px!==void 0?b1===void 0?nx:{version:nx.version,signature:b1,affectsGlobalScope:nx.affectsGlobalScope}:{version:nx.version,signature:!1,affectsGlobalScope:nx.affectsGlobalScope}});if(S1.referencedMap&&(Z1=e.arrayFrom(S1.referencedMap.keys()).sort(e.compareStringsCaseSensitive).map(function(O0){return[$x(O0),rx(S1.referencedMap.get(O0))]})),S1.exportedModulesMap&&(Q0=e.mapDefined(e.arrayFrom(S1.exportedModulesMap.keys()).sort(e.compareStringsCaseSensitive),function(O0){var C1=S1.currentAffectedFilesExportedModulesMap&&S1.currentAffectedFilesExportedModulesMap.get(O0);return C1===void 0?[$x(O0),rx(S1.exportedModulesMap.get(O0))]:C1?[$x(O0),rx(C1)]:void 0})),S1.semanticDiagnosticsPerFile)for(var S0=0,I0=e.arrayFrom(S1.semanticDiagnosticsPerFile.keys()).sort(e.compareStringsCaseSensitive);S0<I0.length;S0++){var U0=I0[S0],p0=S1.semanticDiagnosticsPerFile.get(U0);(y1||(y1=[])).push(p0.length?[$x(U0),S1.hasReusableDiagnostic?p0:g0(p0,Ox)]:$x(U0))}if(S1.affectedFilesPendingEmit)for(var p1=new e.Set,Y1=0,N1=S1.affectedFilesPendingEmit.slice(S1.affectedFilesPendingEmitIndex).sort(e.compareStringsCaseSensitive);Y1<N1.length;Y1++){var V1=N1[Y1];e.tryAddToSet(p1,V1)&&(k1||(k1=[])).push([$x(V1),S1.affectedFilesPendingEmitKind.get(V1)])}return{fileNames:G1,fileInfos:n1,options:u0(S1.compilerOptions,function(O0){return Ox(e.getNormalizedAbsolutePath(O0,I1))}),fileIdsList:Y0,referencedMap:Z1,exportedModulesMap:Q0,semanticDiagnosticsPerFile:y1,affectedFilesPendingEmit:k1}}function Ox(O0){return e.ensurePathIsNonModuleName(e.getRelativePathFromDirectory(K0,O0,Q1))}function $x(O0){var C1=Nx.get(O0);return C1===void 0&&(G1.push(Ox(O0)),Nx.set(O0,C1=G1.length)),C1}function rx(O0){var C1=e.arrayFrom(O0.keys(),$x).sort(e.compareValues),nx=C1.join(),O=$1==null?void 0:$1.get(nx);return O===void 0&&((Y0||(Y0=[])).push(C1),($1||($1=new e.Map)).set(nx,O=Y0.length)),O}}(y0,t0)},w0=void 0,w=void 0,k0=void 0;var G0=D0(y0,H);return G0.getState=function(){return y0},G0.backupState=function(){e.Debug.assert(V0===void 0),V0=function(S1){var Q1=e.BuilderState.clone(S1);return Q1.semanticDiagnosticsPerFile=S1.semanticDiagnosticsPerFile&&new e.Map(S1.semanticDiagnosticsPerFile),Q1.changedFilesSet=new e.Set(S1.changedFilesSet),Q1.affectedFiles=S1.affectedFiles,Q1.affectedFilesIndex=S1.affectedFilesIndex,Q1.currentChangedFilePath=S1.currentChangedFilePath,Q1.currentAffectedFilesSignatures=S1.currentAffectedFilesSignatures&&new e.Map(S1.currentAffectedFilesSignatures),Q1.currentAffectedFilesExportedModulesMap=S1.currentAffectedFilesExportedModulesMap&&new e.Map(S1.currentAffectedFilesExportedModulesMap),Q1.seenAffectedFiles=S1.seenAffectedFiles&&new e.Set(S1.seenAffectedFiles),Q1.cleanedDiagnosticsOfLibFiles=S1.cleanedDiagnosticsOfLibFiles,Q1.semanticDiagnosticsFromOldState=S1.semanticDiagnosticsFromOldState&&new e.Set(S1.semanticDiagnosticsFromOldState),Q1.program=S1.program,Q1.compilerOptions=S1.compilerOptions,Q1.affectedFilesPendingEmit=S1.affectedFilesPendingEmit&&S1.affectedFilesPendingEmit.slice(),Q1.affectedFilesPendingEmitKind=S1.affectedFilesPendingEmitKind&&new e.Map(S1.affectedFilesPendingEmitKind),Q1.affectedFilesPendingEmitIndex=S1.affectedFilesPendingEmitIndex,Q1.seenEmittedFiles=S1.seenEmittedFiles&&new e.Map(S1.seenEmittedFiles),Q1.programEmitComplete=S1.programEmitComplete,Q1}(y0)},G0.restoreState=function(){y0=e.Debug.checkDefined(V0),V0=void 0},G0.getAllDependencies=function(S1){return e.BuilderState.getAllDependencies(y0,e.Debug.checkDefined(y0.program),S1)},G0.getSemanticDiagnostics=function(S1,Q1){s1(y0,S1);var Y0,$1=e.Debug.checkDefined(y0.program).getCompilerOptions();if(e.outFile($1))return e.Debug.assert(!y0.semanticDiagnosticsPerFile),e.Debug.checkDefined(y0.program).getSemanticDiagnostics(S1,Q1);if(S1)return G(y0,S1,Q1);for(;h1(Q1););for(var Z1=0,Q0=e.Debug.checkDefined(y0.program).getSourceFiles();Z1<Q0.length;Z1++){var y1=Q0[Z1];Y0=e.addRange(Y0,G(y0,y1,Q1))}return Y0||e.emptyArray},G0.emit=function(S1,Q1,Y0,$1,Z1){var Q0,y1,k1,I1=!1;x0===X.EmitAndSemanticDiagnosticsBuilderProgram||S1||e.outFile(y0.compilerOptions)||y0.compilerOptions.noEmit||!y0.compilerOptions.noEmitOnError||(I1=!0,Q0=y0.affectedFilesPendingEmit&&y0.affectedFilesPendingEmit.slice(),y1=y0.affectedFilesPendingEmitKind&&new e.Map(y0.affectedFilesPendingEmitKind),k1=y0.affectedFilesPendingEmitIndex),x0===X.EmitAndSemanticDiagnosticsBuilderProgram&&s1(y0,S1);var K0=e.handleNoEmitOptions(G0,S1,Q1,Y0);if(K0)return K0;if(I1&&(y0.affectedFilesPendingEmit=Q0,y0.affectedFilesPendingEmitKind=y1,y0.affectedFilesPendingEmitIndex=k1),!S1&&x0===X.EmitAndSemanticDiagnosticsBuilderProgram){for(var G1=[],Nx=!1,n1=void 0,S0=[],I0=void 0;I0=d1(Q1,Y0,$1,Z1);)Nx=Nx||I0.result.emitSkipped,n1=e.addRange(n1,I0.result.diagnostics),S0=e.addRange(S0,I0.result.emittedFiles),G1=e.addRange(G1,I0.result.sourceMaps);return{emitSkipped:Nx,diagnostics:n1||e.emptyArray,emittedFiles:S0,sourceMaps:G1}}return e.Debug.checkDefined(y0.program).emit(S1,Q1||e.maybeBind(V,V.writeFile),Y0,$1,Z1)},G0.releaseProgram=function(){(function(S1){e.BuilderState.releaseCache(S1),S1.program=void 0})(y0),V0=void 0},x0===X.SemanticDiagnosticsBuilderProgram?G0.getSemanticDiagnosticsOfNextAffectedFile=h1:x0===X.EmitAndSemanticDiagnosticsBuilderProgram?(G0.getSemanticDiagnosticsOfNextAffectedFile=h1,G0.emitNextAffectedFile=d1,G0.emitBuildInfo=function(S1,Q1){if(y0.buildInfoEmitPending){var Y0=e.Debug.checkDefined(y0.program).emitBuildInfo(S1||e.maybeBind(V,V.writeFile),Q1);return y0.buildInfoEmitPending=!1,Y0}return e.emitSkippedWithNoDiagnostics}):e.notImplemented(),G0;function d1(S1,Q1,Y0,$1){var Z1=i0(y0,Q1,f0),Q0=1,y1=!1;if(!Z1)if(e.outFile(y0.compilerOptions)){var k1=e.Debug.checkDefined(y0.program);if(y0.programEmitComplete)return;Z1=k1}else{var I1=function(G1){var Nx=G1.affectedFilesPendingEmit;if(Nx){for(var n1=G1.seenEmittedFiles||(G1.seenEmittedFiles=new e.Map),S0=G1.affectedFilesPendingEmitIndex;S0<Nx.length;S0++){var I0=e.Debug.checkDefined(G1.program).getSourceFileByPath(Nx[S0]);if(I0){var U0=n1.get(I0.resolvedPath),p0=e.Debug.checkDefined(e.Debug.checkDefined(G1.affectedFilesPendingEmitKind).get(I0.resolvedPath));if(U0===void 0||U0<p0)return G1.affectedFilesPendingEmitIndex=S0,{affectedFile:I0,emitKind:p0}}}G1.affectedFilesPendingEmit=void 0,G1.affectedFilesPendingEmitKind=void 0,G1.affectedFilesPendingEmitIndex=void 0}}(y0);if(!I1){if(!y0.buildInfoEmitPending)return;var K0=e.Debug.checkDefined(y0.program);return j(y0,K0.emitBuildInfo(S1||e.maybeBind(V,V.writeFile),Q1),K0,1,!1,!0)}Z1=I1.affectedFile,Q0=I1.emitKind,y1=!0}return j(y0,e.Debug.checkDefined(y0.program).emit(Z1===y0.program?void 0:Z1,S1||e.maybeBind(V,V.writeFile),Q1,Y0||Q0===0,$1),Z1,Q0,y1)}function h1(S1,Q1){for(;;){var Y0=i0(y0,S1,f0);if(!Y0)return;if(Y0===y0.program)return o0(y0,y0.program.getSemanticDiagnostics(void 0,S1),Y0);if((x0===X.EmitAndSemanticDiagnosticsBuilderProgram||y0.compilerOptions.noEmit||y0.compilerOptions.noEmitOnError)&&P0(y0,Y0.resolvedPath,1),!Q1||!Q1(Y0))return o0(y0,G(y0,Y0,S1),Y0);A0(y0,Y0)}}},e.toBuilderStateFileInfo=c0,e.createBuildProgramUsingProgramBuildInfo=function(x0,l0,w0){var V,w=e.getDirectoryPath(e.getNormalizedAbsolutePath(l0,w0.getCurrentDirectory())),H=e.createGetCanonicalFileName(w0.useCaseSensitiveFileNames()),k0=x0.fileNames.map(function(d1){return e.toPath(d1,w,H)}),V0=(V=x0.fileIdsList)===null||V===void 0?void 0:V.map(function(d1){return new e.Set(d1.map(y0))}),t0=new e.Map;x0.fileInfos.forEach(function(d1,h1){return t0.set(y0(h1+1),c0(d1))});var f0={fileInfos:t0,compilerOptions:x0.options?e.convertToOptionsWithAbsolutePaths(x0.options,function(d1){return e.getNormalizedAbsolutePath(d1,w)}):{},referencedMap:G0(x0.referencedMap),exportedModulesMap:G0(x0.exportedModulesMap),semanticDiagnosticsPerFile:x0.semanticDiagnosticsPerFile&&e.arrayToMap(x0.semanticDiagnosticsPerFile,function(d1){return y0(e.isNumber(d1)?d1:d1[0])},function(d1){return e.isNumber(d1)?e.emptyArray:d1[1]}),hasReusableDiagnostic:!0,affectedFilesPendingEmit:e.map(x0.affectedFilesPendingEmit,function(d1){return y0(d1[0])}),affectedFilesPendingEmitKind:x0.affectedFilesPendingEmit&&e.arrayToMap(x0.affectedFilesPendingEmit,function(d1){return y0(d1[0])},function(d1){return d1[1]}),affectedFilesPendingEmitIndex:x0.affectedFilesPendingEmit&&0};return{getState:function(){return f0},backupState:e.noop,restoreState:e.noop,getProgram:e.notImplemented,getProgramOrUndefined:e.returnUndefined,releaseProgram:e.noop,getCompilerOptions:function(){return f0.compilerOptions},getSourceFile:e.notImplemented,getSourceFiles:e.notImplemented,getOptionsDiagnostics:e.notImplemented,getGlobalDiagnostics:e.notImplemented,getConfigFileParsingDiagnostics:e.notImplemented,getSyntacticDiagnostics:e.notImplemented,getDeclarationDiagnostics:e.notImplemented,getSemanticDiagnostics:e.notImplemented,emit:e.notImplemented,getAllDependencies:e.notImplemented,getCurrentDirectory:e.notImplemented,emitNextAffectedFile:e.notImplemented,getSemanticDiagnosticsOfNextAffectedFile:e.notImplemented,emitBuildInfo:e.notImplemented,close:e.noop};function y0(d1){return k0[d1-1]}function G0(d1){return d1&&e.arrayToMap(d1,function(h1){return y0(h1[0])},function(h1){return S1=h1[1],V0[S1-1];var S1})}},e.createRedirectedBuilderProgram=D0}(_0||(_0={})),function(e){e.createSemanticDiagnosticsBuilderProgram=function(s,X,J,m0,s1,i0){return e.createBuilderProgram(e.BuilderProgramKind.SemanticDiagnosticsBuilderProgram,e.getBuilderCreationParameters(s,X,J,m0,s1,i0))},e.createEmitAndSemanticDiagnosticsBuilderProgram=function(s,X,J,m0,s1,i0){return e.createBuilderProgram(e.BuilderProgramKind.EmitAndSemanticDiagnosticsBuilderProgram,e.getBuilderCreationParameters(s,X,J,m0,s1,i0))},e.createAbstractBuilder=function(s,X,J,m0,s1,i0){var H0=e.getBuilderCreationParameters(s,X,J,m0,s1,i0),E0=H0.newProgram,I=H0.configFileParsingDiagnostics;return e.createRedirectedBuilderProgram({program:E0,compilerOptions:E0.getCompilerOptions()},I)}}(_0||(_0={})),function(e){function s(J){return e.endsWith(J,\"/node_modules/.staging\")?e.removeSuffix(J,\"/.staging\"):e.some(e.ignoredPaths,function(m0){return e.stringContains(J,m0)})?void 0:J}function X(J){var m0=e.getRootLength(J);if(J.length===m0)return!1;var s1=J.indexOf(e.directorySeparator,m0);if(s1===-1)return!1;var i0=J.substring(m0,s1+1),H0=m0>1||J.charCodeAt(0)!==47;if(H0&&J.search(/[a-zA-Z]:/)!==0&&i0.search(/[a-zA-z]\\$\\//)===0){if((s1=J.indexOf(e.directorySeparator,s1+1))===-1)return!1;i0=J.substring(m0+i0.length,s1+1)}if(H0&&i0.search(/users\\//i)!==0)return!0;for(var E0=s1+1,I=2;I>0;I--)if((E0=J.indexOf(e.directorySeparator,E0)+1)===0)return!1;return!0}e.removeIgnoredPath=s,e.canWatchDirectory=X,e.createResolutionCache=function(J,m0,s1){var i0,H0,E0,I,A,Z,A0=e.createMultiMap(),o0=[],j=e.createMultiMap(),G=!1,u0=e.memoize(function(){return J.getCurrentDirectory()}),U=J.getCachedDirectoryStructureHost(),g0=new e.Map,d0=e.createCacheWithRedirects(),P0=e.createCacheWithRedirects(),c0=e.createModuleResolutionCache(u0(),J.getCanonicalFileName,void 0,d0,P0),D0=new e.Map,x0=e.createCacheWithRedirects(),l0=e.createTypeReferenceDirectiveResolutionCache(u0(),J.getCanonicalFileName,void 0,c0.getPackageJsonInfoCache(),x0),w0=[\".ts\",\".tsx\",\".js\",\".jsx\",\".json\"],V=new e.Map,w=new e.Map,H=m0&&e.removeTrailingDirectorySeparator(e.getNormalizedAbsolutePath(m0,u0())),k0=H&&J.toPath(H),V0=k0!==void 0?k0.split(e.directorySeparator).length:0,t0=new e.Map;return{startRecordingFilesWithChangedResolutions:function(){i0=[]},finishRecordingFilesWithChangedResolutions:function(){var rx=i0;return i0=void 0,rx},startCachingPerDirectoryResolution:h1,finishCachingPerDirectoryResolution:function(){E0=void 0,h1(),w.forEach(function(rx,O0){rx.refCount===0&&(w.delete(O0),rx.watcher.close())}),G=!1},resolveModuleNames:function(rx,O0,C1,nx){return Y0({names:rx,containingFile:O0,redirectedReference:nx,cache:g0,perDirectoryCacheWithRedirects:d0,loader:S1,getResolutionWithResolvedFileName:f0,shouldRetryResolution:function(O){return!O.resolvedModule||!e.resolutionExtensionIsTSOrJson(O.resolvedModule.extension)},reusedNames:C1,logChanges:s1})},getResolvedModuleWithFailedLookupLocationsFromCache:function(rx,O0){var C1=g0.get(J.toPath(O0));return C1&&C1.get(rx)},resolveTypeReferenceDirectives:function(rx,O0,C1){return Y0({names:rx,containingFile:O0,redirectedReference:C1,cache:D0,perDirectoryCacheWithRedirects:x0,loader:Q1,getResolutionWithResolvedFileName:y0,shouldRetryResolution:function(nx){return nx.resolvedTypeReferenceDirective===void 0}})},removeResolutionsFromProjectReferenceRedirects:function(rx){if(!!e.fileExtensionIs(rx,\".json\")){var O0=J.getCurrentProgram();if(!!O0){var C1=O0.getResolvedProjectReferenceByPath(rx);!C1||C1.commandLine.fileNames.forEach(function(nx){return U0(J.toPath(nx))})}}},removeResolutionsOfFile:U0,hasChangedAutomaticTypeDirectiveNames:function(){return G},invalidateResolutionOfFile:function(rx){U0(rx);var O0=G;p0(j.get(rx),e.returnTrue)&&G&&!O0&&J.onChangedAutomaticTypeDirectiveNames()},invalidateResolutionsOfFailedLookupLocations:Y1,setFilesWithInvalidatedNonRelativeUnresolvedImports:function(rx){e.Debug.assert(E0===rx||E0===void 0),E0=rx},createHasInvalidatedResolution:function(rx){if(Y1(),rx)return H0=void 0,e.returnTrue;var O0=H0;return H0=void 0,function(C1){return!!O0&&O0.has(C1)||d1(C1)}},isFileWithInvalidatedNonRelativeUnresolvedImports:d1,updateTypeRootsWatch:function(){var rx=J.getCompilationSettings();if(rx.types)return void V1();var O0=e.getEffectiveTypeRoots(rx,{directoryExists:$x,getCurrentDirectory:u0});O0?e.mutateMap(t0,e.arrayToMap(O0,function(C1){return J.toPath(C1)}),{createNewValue:Ox,onDeleteValue:e.closeFileWatcher}):V1()},closeTypeRootsWatch:V1,clear:function(){e.clearMap(w,e.closeFileWatcherOf),V.clear(),A0.clear(),V1(),g0.clear(),D0.clear(),j.clear(),o0.length=0,I=void 0,A=void 0,Z=void 0,h1(),G=!1}};function f0(rx){return rx.resolvedModule}function y0(rx){return rx.resolvedTypeReferenceDirective}function G0(rx,O0){return!(rx===void 0||O0.length<=rx.length)&&e.startsWith(O0,rx)&&O0[rx.length]===e.directorySeparator}function d1(rx){if(!E0)return!1;var O0=E0.get(rx);return!!O0&&!!O0.length}function h1(){c0.clear(),l0.clear(),A0.forEach(K0),A0.clear()}function S1(rx,O0,C1,nx,O){var b1,Px=e.resolveModuleName(rx,O0,C1,nx,c0,O);if(!J.getGlobalCache)return Px;var me=J.getGlobalCache();if(!(me===void 0||e.isExternalModuleNameRelative(rx)||Px.resolvedModule&&e.extensionIsTS(Px.resolvedModule.extension))){var Re=e.loadModuleFromGlobalCache(e.Debug.checkDefined(J.globalCacheResolutionModuleName)(rx),J.projectName,C1,nx,me,c0),gt=Re.resolvedModule,Vt=Re.failedLookupLocations;if(gt)return Px.resolvedModule=gt,(b1=Px.failedLookupLocations).push.apply(b1,Vt),Px}return Px}function Q1(rx,O0,C1,nx,O){return e.resolveTypeReferenceDirective(rx,O0,C1,nx,O,l0)}function Y0(rx){var O0,C1=rx.names,nx=rx.containingFile,O=rx.redirectedReference,b1=rx.cache,Px=rx.perDirectoryCacheWithRedirects,me=rx.loader,Re=rx.getResolutionWithResolvedFileName,gt=rx.shouldRetryResolution,Vt=rx.reusedNames,wr=rx.logChanges,gr=J.toPath(nx),Nt=b1.get(gr)||b1.set(gr,new e.Map).get(gr),Ir=e.getDirectoryPath(gr),xr=Px.getOrCreateMapOfCacheRedirects(O),Bt=xr.get(Ir);Bt||(Bt=new e.Map,xr.set(Ir,Bt));for(var ar=[],Ni=J.getCompilationSettings(),Kn=wr&&d1(gr),oi=J.getCurrentProgram(),Ba=oi&&oi.getResolvedProjectReferenceToRedirect(nx),dt=Ba?!O||O.sourceFile.path!==Ba.sourceFile.path:!!O,Gt=new e.Map,lr=0,en=C1;lr<en.length;lr++){var ii=en[lr],Tt=Nt.get(ii);if(!Gt.has(ii)&&dt||!Tt||Tt.isInvalidated||Kn&&!e.isExternalModuleNameRelative(ii)&&gt(Tt)){var bn=Tt,Le=Bt.get(ii);Le?Tt=Le:(Tt=me(ii,nx,Ni,((O0=J.getCompilerHost)===null||O0===void 0?void 0:O0.call(J))||J,O),Bt.set(ii,Tt)),Nt.set(ii,Tt),k1(ii,Tt,gr,Re),bn&&Nx(bn,gr,Re),wr&&i0&&!Sa(bn,Tt)&&(i0.push(gr),wr=!1)}e.Debug.assert(Tt!==void 0&&!Tt.isInvalidated),Gt.set(ii,!0),ar.push(Re(Tt))}return Nt.forEach(function(Yn,W1){Gt.has(W1)||e.contains(Vt,W1)||(Nx(Yn,gr,Re),Nt.delete(W1))}),ar;function Sa(Yn,W1){if(Yn===W1)return!0;if(!Yn||!W1)return!1;var cx=Re(Yn),E1=Re(W1);return cx===E1||!(!cx||!E1)&&cx.resolvedFileName===E1.resolvedFileName}}function $1(rx){return e.endsWith(rx,\"/node_modules/@types\")}function Z1(rx,O0){if(G0(k0,O0)){rx=e.isRootedDiskPath(rx)?e.normalizePath(rx):e.getNormalizedAbsolutePath(rx,u0());var C1=O0.split(e.directorySeparator),nx=rx.split(e.directorySeparator);return e.Debug.assert(nx.length===C1.length,\"FailedLookup: \"+rx+\" failedLookupLocationPath: \"+O0),C1.length>V0+1?{dir:nx.slice(0,V0+1).join(e.directorySeparator),dirPath:C1.slice(0,V0+1).join(e.directorySeparator)}:{dir:H,dirPath:k0,nonRecursive:!1}}return Q0(e.getDirectoryPath(e.getNormalizedAbsolutePath(rx,u0())),e.getDirectoryPath(O0))}function Q0(rx,O0){for(;e.pathContainsNodeModules(O0);)rx=e.getDirectoryPath(rx),O0=e.getDirectoryPath(O0);if(e.isNodeModulesDirectory(O0))return X(e.getDirectoryPath(O0))?{dir:rx,dirPath:O0}:void 0;var C1,nx,O=!0;if(k0!==void 0)for(;!G0(O0,k0);){var b1=e.getDirectoryPath(O0);if(b1===O0)break;O=!1,C1=O0,nx=rx,O0=b1,rx=e.getDirectoryPath(rx)}return X(O0)?{dir:nx||rx,dirPath:C1||O0,nonRecursive:O}:void 0}function y1(rx){return e.fileExtensionIsOneOf(rx,w0)}function k1(rx,O0,C1,nx){if(O0.refCount)O0.refCount++,e.Debug.assertDefined(O0.files);else{O0.refCount=1,e.Debug.assert(e.length(O0.files)===0),e.isExternalModuleNameRelative(rx)?I1(O0):A0.add(rx,O0);var O=nx(O0);O&&O.resolvedFileName&&j.add(J.toPath(O.resolvedFileName),O0)}(O0.files||(O0.files=[])).push(C1)}function I1(rx){e.Debug.assert(!!rx.refCount);var O0=rx.failedLookupLocations;if(O0.length){o0.push(rx);for(var C1=!1,nx=0,O=O0;nx<O.length;nx++){var b1=O[nx],Px=J.toPath(b1),me=Z1(b1,Px);if(me){var Re=me.dir,gt=me.dirPath,Vt=me.nonRecursive;if(!y1(Px)){var wr=V.get(Px)||0;V.set(Px,wr+1)}gt===k0?(e.Debug.assert(!Vt),C1=!0):G1(Re,gt,Vt)}}C1&&G1(H,k0,!0)}}function K0(rx,O0){var C1=J.getCurrentProgram();C1&&C1.getTypeChecker().tryFindAmbientModuleWithoutAugmentations(O0)||rx.forEach(I1)}function G1(rx,O0,C1){var nx=w.get(O0);nx?(e.Debug.assert(!!C1==!!nx.nonRecursive),nx.refCount++):w.set(O0,{watcher:S0(rx,O0,C1),refCount:1,nonRecursive:C1})}function Nx(rx,O0,C1){if(e.unorderedRemoveItem(e.Debug.assertDefined(rx.files),O0),rx.refCount--,!rx.refCount){var nx=C1(rx);if(nx&&nx.resolvedFileName&&j.remove(J.toPath(nx.resolvedFileName),rx),e.unorderedRemoveItem(o0,rx)){for(var O=!1,b1=0,Px=rx.failedLookupLocations;b1<Px.length;b1++){var me=Px[b1],Re=J.toPath(me),gt=Z1(me,Re);if(gt){var Vt=gt.dirPath,wr=V.get(Re);wr&&(wr===1?V.delete(Re):(e.Debug.assert(wr>1),V.set(Re,wr-1))),Vt===k0?O=!0:n1(Vt)}}O&&n1(k0)}}}function n1(rx){w.get(rx).refCount--}function S0(rx,O0,C1){return J.watchDirectoryOfFailedLookupLocation(rx,function(nx){var O=J.toPath(nx);U&&U.addOrDeleteFileOrDirectory(nx,O),p1(O,O0===O)},C1?0:1)}function I0(rx,O0,C1){var nx=rx.get(O0);nx&&(nx.forEach(function(O){return Nx(O,O0,C1)}),rx.delete(O0))}function U0(rx){I0(g0,rx,f0),I0(D0,rx,y0)}function p0(rx,O0){if(!rx)return!1;for(var C1=!1,nx=0,O=rx;nx<O.length;nx++){var b1=O[nx];if(!b1.isInvalidated&&O0(b1)){b1.isInvalidated=C1=!0;for(var Px=0,me=e.Debug.assertDefined(b1.files);Px<me.length;Px++){var Re=me[Px];(H0||(H0=new e.Set)).add(Re),G=G||e.endsWith(Re,e.inferredTypesContainingFile)}}}return C1}function p1(rx,O0){if(O0)(Z||(Z=[])).push(rx);else{var C1=s(rx);if(!C1||(rx=C1,J.fileIsOpen(rx)))return!1;var nx=e.getDirectoryPath(rx);if($1(rx)||e.isNodeModulesDirectory(rx)||$1(nx)||e.isNodeModulesDirectory(nx))(I||(I=[])).push(rx),(A||(A=new e.Set)).add(rx);else{if(!y1(rx)&&!V.has(rx)||e.isEmittedFileOfProgram(J.getCurrentProgram(),rx))return!1;(I||(I=[])).push(rx);var O=e.parseNodeModuleFromPath(rx);O&&(A||(A=new e.Set)).add(O)}}J.scheduleInvalidateResolutionsOfFailedLookupLocations()}function Y1(){if(!I&&!A&&!Z)return!1;var rx=p0(o0,N1);return I=void 0,A=void 0,Z=void 0,rx}function N1(rx){return rx.failedLookupLocations.some(function(O0){var C1=J.toPath(O0);return e.contains(I,C1)||e.firstDefinedIterator((A==null?void 0:A.keys())||e.emptyIterator,function(nx){return!!e.startsWith(C1,nx)||void 0})||(Z==null?void 0:Z.some(function(nx){return G0(nx,C1)}))})}function V1(){e.clearMap(t0,e.closeFileWatcher)}function Ox(rx,O0){return J.watchTypeRootsDirectory(O0,function(C1){var nx=J.toPath(C1);U&&U.addOrDeleteFileOrDirectory(C1,nx),G=!0,J.onChangedAutomaticTypeDirectiveNames();var O=function(b1,Px){if(G0(k0,Px))return k0;var me=Q0(b1,Px);return me&&w.has(me.dirPath)?me.dirPath:void 0}(O0,rx);O&&p1(nx,O===nx)},1)}function $x(rx){var O0=e.getDirectoryPath(e.getDirectoryPath(rx)),C1=J.toPath(O0);return C1===k0||X(C1)}}}(_0||(_0={})),function(e){(function(s){var X,J;function m0(d0,P0,c0){var D0=d0.importModuleSpecifierPreference,x0=d0.importModuleSpecifierEnding;return{relativePreference:D0===\"relative\"?0:D0===\"non-relative\"?1:D0===\"project-relative\"?3:2,ending:function(){switch(x0){case\"minimal\":return 0;case\"index\":return 1;case\"js\":return 2;default:return function(l0){var w0=l0.imports;return e.firstDefined(w0,function(V){var w=V.text;return e.pathIsRelative(w)?e.hasJSFileExtension(w):void 0})||!1}(c0)?2:e.getEmitModuleResolutionKind(P0)!==e.ModuleResolutionKind.NodeJs?1:0}}()}}function s1(d0,P0,c0,D0,x0){var l0=i0(P0,D0),w0=A0(P0,c0,D0);return e.firstDefined(w0,function(V){return j(V,l0,D0,d0)})||H0(c0,l0,d0,D0,x0)}function i0(d0,P0){return{getCanonicalFileName:e.createGetCanonicalFileName(!P0.useCaseSensitiveFileNames||P0.useCaseSensitiveFileNames()),importingSourceFileName:d0,sourceDirectory:e.getDirectoryPath(d0)}}function H0(d0,P0,c0,D0,x0){var l0=x0.ending,w0=x0.relativePreference,V=c0.baseUrl,w=c0.paths,H=c0.rootDirs,k0=P0.sourceDirectory,V0=P0.getCanonicalFileName,t0=H&&function(Z1,Q0,y1,k1,I1,K0){var G1=G(Q0,Z1,k1);if(G1!==void 0){var Nx=G(y1,Z1,k1),n1=Nx!==void 0?e.ensurePathIsNonModuleName(e.getRelativePathFromDirectory(Nx,G1,k1)):G1;return e.getEmitModuleResolutionKind(K0)===e.ModuleResolutionKind.NodeJs?u0(n1,I1,K0):e.removeFileExtension(n1)}}(H,d0,k0,V0,l0,c0)||u0(e.ensurePathIsNonModuleName(e.getRelativePathFromDirectory(k0,d0,V0)),l0,c0);if(!V&&!w||w0===0)return t0;var f0=U(d0,e.getNormalizedAbsolutePath(e.getPathsBasePath(c0,D0)||V,D0.getCurrentDirectory()),V0);if(!f0)return t0;var y0=u0(f0,l0,c0),G0=w&&o0(e.removeFileExtension(f0),y0,w),d1=G0===void 0&&V!==void 0?y0:G0;if(!d1)return t0;if(w0===1)return d1;if(w0===3){var h1=c0.configFilePath?e.toPath(e.getDirectoryPath(c0.configFilePath),D0.getCurrentDirectory(),P0.getCanonicalFileName):P0.getCanonicalFileName(D0.getCurrentDirectory()),S1=e.toPath(d0,h1,V0),Q1=e.startsWith(k0,h1),Y0=e.startsWith(S1,h1);if(Q1&&!Y0||!Q1&&Y0)return d1;var $1=A(D0,e.getDirectoryPath(S1));return A(D0,k0)!==$1?d1:t0}return w0!==2&&e.Debug.assertNever(w0),g0(d1)||E0(t0)<E0(d1)?t0:d1}function E0(d0){for(var P0=0,c0=e.startsWith(d0,\"./\")?2:0;c0<d0.length;c0++)d0.charCodeAt(c0)===47&&P0++;return P0}function I(d0,P0){return e.compareBooleans(P0.isRedirect,d0.isRedirect)||e.compareNumberOfDirectorySeparators(d0.path,P0.path)}function A(d0,P0){return d0.getNearestAncestorDirectoryWithPackageJson?d0.getNearestAncestorDirectoryWithPackageJson(P0):!!e.forEachAncestorDirectory(P0,function(c0){return!!d0.fileExists(e.combinePaths(c0,\"package.json\"))||void 0})}function Z(d0,P0,c0,D0,x0){var l0=e.hostGetCanonicalFileName(c0),w0=c0.getCurrentDirectory(),V=c0.isSourceOfProjectReferenceRedirect(P0)?c0.getProjectReferenceRedirect(P0):void 0,w=e.toPath(P0,w0,l0),H=c0.redirectTargetsMap.get(w)||e.emptyArray,k0=D(D(D([],V?[V]:e.emptyArray),[P0]),H).map(function(G0){return e.getNormalizedAbsolutePath(G0,w0)}),V0=!e.every(k0,e.containsIgnoredPath);if(!D0){var t0=e.forEach(k0,function(G0){return!(V0&&e.containsIgnoredPath(G0))&&x0(G0,V===G0)});if(t0)return t0}var f0=(c0.getSymlinkCache?c0.getSymlinkCache():e.discoverProbableSymlinks(c0.getSourceFiles(),l0,w0)).getSymlinkedDirectoriesByRealpath(),y0=e.getNormalizedAbsolutePath(P0,w0);return f0&&e.forEachAncestorDirectory(e.getDirectoryPath(y0),function(G0){var d1=f0.get(e.ensureTrailingDirectorySeparator(e.toPath(G0,w0,l0)));if(d1)return!e.startsWithDirectory(d0,G0,l0)&&e.forEach(k0,function(h1){if(e.startsWithDirectory(h1,G0,l0))for(var S1=e.getRelativePathFromDirectory(G0,h1,l0),Q1=0,Y0=d1;Q1<Y0.length;Q1++){var $1=Y0[Q1],Z1=e.resolvePath($1,S1),Q0=x0(Z1,h1===V);if(V0=!0,Q0)return Q0}})})||(D0?e.forEach(k0,function(G0){return V0&&e.containsIgnoredPath(G0)?void 0:x0(G0,G0===V)}):void 0)}function A0(d0,P0,c0){var D0,x0=(D0=c0.getModuleSpecifierCache)===null||D0===void 0?void 0:D0.call(c0),l0=e.hostGetCanonicalFileName(c0);if(x0){var w0=x0.get(d0,e.toPath(P0,c0.getCurrentDirectory(),l0));if(typeof w0==\"object\")return w0}var V=new e.Map;Z(d0,P0,c0,!0,function(y0,G0){var d1=e.pathContainsNodeModules(y0);V.set(y0,{path:l0(y0),isRedirect:G0,isInNodeModules:d1})});for(var w,H=[],k0=function(y0){var G0,d1=e.ensureTrailingDirectorySeparator(y0);V.forEach(function(S1,Q1){var Y0=S1.path,$1=S1.isRedirect,Z1=S1.isInNodeModules;e.startsWith(Y0,d1)&&((G0||(G0=[])).push({path:Q1,isRedirect:$1,isInNodeModules:Z1}),V.delete(Q1))}),G0&&(G0.length>1&&G0.sort(I),H.push.apply(H,G0));var h1=e.getDirectoryPath(y0);if(h1===y0)return w=y0,\"break\";w=y0=h1},V0=e.getDirectoryPath(d0);V.size!==0;){var t0=k0(V0);if(V0=w,t0===\"break\")break}if(V.size){var f0=e.arrayFrom(V.values());f0.length>1&&f0.sort(I),H.push.apply(H,f0)}return x0&&x0.set(d0,e.toPath(P0,c0.getCurrentDirectory(),l0),H),H}function o0(d0,P0,c0){for(var D0 in c0)for(var x0=0,l0=c0[D0];x0<l0.length;x0++){var w0=l0[x0],V=e.removeFileExtension(e.normalizePath(w0)),w=V.indexOf(\"*\");if(w!==-1){var H=V.substr(0,w),k0=V.substr(w+1);if(P0.length>=H.length+k0.length&&e.startsWith(P0,H)&&e.endsWith(P0,k0)||!k0&&P0===e.removeTrailingDirectorySeparator(H)){var V0=P0.substr(H.length,P0.length-k0.length-H.length);return D0.replace(\"*\",V0)}}else if(V===P0||V===d0)return D0}}function j(d0,P0,c0,D0,x0){var l0=d0.path,w0=d0.isRedirect,V=P0.getCanonicalFileName,w=P0.sourceDirectory;if(c0.fileExists&&c0.readFile){var H=function(Q0){var y1,k1=0,I1=0,K0=0,G1=0;(function(I0){I0[I0.BeforeNodeModules=0]=\"BeforeNodeModules\",I0[I0.NodeModules=1]=\"NodeModules\",I0[I0.Scope=2]=\"Scope\",I0[I0.PackageContent=3]=\"PackageContent\"})(y1||(y1={}));for(var Nx=0,n1=0,S0=0;n1>=0;)switch(Nx=n1,n1=Q0.indexOf(\"/\",Nx+1),S0){case 0:Q0.indexOf(e.nodeModulesPathPart,Nx)===Nx&&(k1=Nx,I1=n1,S0=1);break;case 1:case 2:S0===1&&Q0.charAt(Nx+1)===\"@\"?S0=2:(K0=n1,S0=3);break;case 3:S0=Q0.indexOf(e.nodeModulesPathPart,Nx)===Nx?1:3}return G1=Nx,S0>1?{topLevelNodeModulesIndex:k1,topLevelPackageNameIndex:I1,packageRootIndex:K0,fileNameIndex:G1}:void 0}(l0);if(H){var k0=l0,V0=!1;if(!x0)for(var t0=H.packageRootIndex,f0=void 0;;){var y0=$1(t0),G0=y0.moduleFileToTry,d1=y0.packageRootPath;if(d1){k0=d1,V0=!0;break}if(f0||(f0=G0),(t0=l0.indexOf(e.directorySeparator,t0+1))===-1){k0=Z1(f0);break}}if(!w0||V0){var h1=c0.getGlobalTypingsCacheLocation&&c0.getGlobalTypingsCacheLocation(),S1=V(k0.substring(0,H.topLevelNodeModulesIndex));if(e.startsWith(w,S1)||h1&&e.startsWith(V(h1),S1)){var Q1=k0.substring(H.topLevelPackageNameIndex+1),Y0=e.getPackageNameFromTypesPackageName(Q1);return e.getEmitModuleResolutionKind(D0)!==e.ModuleResolutionKind.NodeJs&&Y0===Q1?void 0:Y0}}}}function $1(Q0){var y1=l0.substring(0,Q0),k1=e.combinePaths(y1,\"package.json\"),I1=l0;if(c0.fileExists(k1)){var K0=JSON.parse(c0.readFile(k1)),G1=K0.typesVersions?e.getPackageJsonTypesVersionsPaths(K0.typesVersions):void 0;if(G1){var Nx=l0.slice(y1.length+1),n1=o0(e.removeFileExtension(Nx),u0(Nx,0,D0),G1.paths);n1!==void 0&&(I1=e.combinePaths(y1,n1))}var S0=K0.typings||K0.types||K0.main;if(e.isString(S0)){var I0=e.toPath(S0,y1,V);if(e.removeFileExtension(I0)===e.removeFileExtension(V(I1)))return{packageRootPath:y1,moduleFileToTry:I1}}}return{moduleFileToTry:I1}}function Z1(Q0){var y1=e.removeFileExtension(Q0);return V(y1.substring(H.fileNameIndex))!==\"/index\"||function(k1,I1){if(!!k1.fileExists)for(var K0=e.getSupportedExtensions({allowJs:!0},[{extension:\"node\",isMixedContent:!1},{extension:\"json\",isMixedContent:!1,scriptKind:6}]),G1=0,Nx=K0;G1<Nx.length;G1++){var n1=I1+Nx[G1];if(k1.fileExists(n1))return n1}}(c0,y1.substring(0,H.fileNameIndex))?y1:y1.substring(0,H.fileNameIndex)}}function G(d0,P0,c0){return e.firstDefined(P0,function(D0){var x0=U(d0,D0,c0);return g0(x0)?void 0:x0})}function u0(d0,P0,c0){if(e.fileExtensionIs(d0,\".json\"))return d0;var D0=e.removeFileExtension(d0);switch(P0){case 0:return e.removeSuffix(D0,\"/index\");case 1:return D0;case 2:return D0+function(x0,l0){var w0=e.extensionFromPath(x0);switch(w0){case\".ts\":case\".d.ts\":return\".js\";case\".tsx\":return l0.jsx===1?\".jsx\":\".js\";case\".js\":case\".jsx\":case\".json\":return w0;case\".tsbuildinfo\":return e.Debug.fail(\"Extension .tsbuildinfo is unsupported:: FileName:: \"+x0);default:return e.Debug.assertNever(w0)}}(d0,c0);default:return e.Debug.assertNever(P0)}}function U(d0,P0,c0){var D0=e.getRelativePathToDirectoryOrUrl(P0,d0,P0,c0,!1);return e.isRootedDiskPath(D0)?void 0:D0}function g0(d0){return e.startsWith(d0,\"..\")}(function(d0){d0[d0.Relative=0]=\"Relative\",d0[d0.NonRelative=1]=\"NonRelative\",d0[d0.Shortest=2]=\"Shortest\",d0[d0.ExternalNonRelative=3]=\"ExternalNonRelative\"})(X||(X={})),function(d0){d0[d0.Minimal=0]=\"Minimal\",d0[d0.Index=1]=\"Index\",d0[d0.JsExtension=2]=\"JsExtension\"}(J||(J={})),s.updateModuleSpecifier=function(d0,P0,c0,D0,x0){var l0=s1(d0,P0,c0,D0,function(w0,V){return{relativePreference:e.isExternalModuleNameRelative(V)?0:1,ending:e.hasJSFileExtension(V)?2:e.getEmitModuleResolutionKind(w0)!==e.ModuleResolutionKind.NodeJs||e.endsWith(V,\"index\")?1:0}}(d0,x0));if(l0!==x0)return l0},s.getModuleSpecifier=function(d0,P0,c0,D0,x0,l0){return l0===void 0&&(l0={}),s1(d0,c0,D0,x0,m0(l0,d0,P0))},s.getNodeModulesPackageName=function(d0,P0,c0,D0){var x0=i0(P0,D0),l0=A0(P0,c0,D0);return e.firstDefined(l0,function(w0){return j(w0,x0,D0,d0,!0)})},s.getModuleSpecifiers=function(d0,P0,c0,D0,x0,l0){var w0=function($1,Z1){var Q0,y1=(Q0=$1.declarations)===null||Q0===void 0?void 0:Q0.find(function(I1){return e.isNonGlobalAmbientModule(I1)&&(!e.isExternalModuleAugmentation(I1)||!e.isExternalModuleNameRelative(e.getTextOfIdentifierOrLiteral(I1.name)))});if(y1)return y1.name.text;var k1=e.mapDefined($1.declarations,function(I1){var K0,G1,Nx,n1;if(e.isModuleDeclaration(I1)){var S0=p0(I1);if(((K0=S0==null?void 0:S0.parent)===null||K0===void 0?void 0:K0.parent)&&e.isModuleBlock(S0.parent)&&e.isAmbientModule(S0.parent.parent)&&e.isSourceFile(S0.parent.parent.parent)){var I0=(n1=(Nx=(G1=S0.parent.parent.symbol.exports)===null||G1===void 0?void 0:G1.get(\"export=\"))===null||Nx===void 0?void 0:Nx.valueDeclaration)===null||n1===void 0?void 0:n1.expression;if(I0){var U0=Z1.getSymbolAtLocation(I0);if(U0&&(2097152&(U0==null?void 0:U0.flags)?Z1.getAliasedSymbol(U0):U0)===I1.symbol)return S0.parent.parent}}}function p0(p1){for(;4&p1.flags;)p1=p1.parent;return p1}})[0];if(k1)return k1.name.text}(d0,P0);if(w0)return[w0];var V=i0(D0.path,x0),w=e.getSourceFileOfNode(d0.valueDeclaration||e.getNonAugmentationDeclaration(d0));if(!w)return[];var H=A0(D0.path,w.originalFileName,x0),k0=m0(l0,c0,D0),V0=e.forEach(H,function($1){return e.forEach(x0.getFileIncludeReasons().get(e.toPath($1.path,x0.getCurrentDirectory(),V.getCanonicalFileName)),function(Z1){if(Z1.kind===e.FileIncludeKind.Import&&Z1.file===D0.path){var Q0=e.getModuleNameStringLiteralAt(D0,Z1.index).text;return k0.relativePreference===1&&e.pathIsRelative(Q0)?void 0:Q0}})});if(V0)return[V0];for(var t0,f0,y0,G0=e.some(H,function($1){return $1.isInNodeModules}),d1=0,h1=H;d1<h1.length;d1++){var S1=h1[d1],Q1=j(S1,V,x0,c0);if(t0=e.append(t0,Q1),Q1&&S1.isRedirect)return t0;if(!Q1&&!S1.isRedirect){var Y0=H0(S1.path,V,c0,x0,k0);e.pathIsBareSpecifier(Y0)?f0=e.append(f0,Y0):G0&&!S1.isInNodeModules||(y0=e.append(y0,Y0))}}return(f0==null?void 0:f0.length)?f0:(t0==null?void 0:t0.length)?t0:e.Debug.checkDefined(y0)},s.countPathComponents=E0,s.forEachFileNameOfModule=Z})(e.moduleSpecifiers||(e.moduleSpecifiers={}))}(_0||(_0={})),function(e){var s=e.sys?{getCurrentDirectory:function(){return e.sys.getCurrentDirectory()},getNewLine:function(){return e.sys.newLine},getCanonicalFileName:e.createGetCanonicalFileName(e.sys.useCaseSensitiveFileNames)}:void 0;function X(x0,l0){var w0=x0===e.sys?s:{getCurrentDirectory:function(){return x0.getCurrentDirectory()},getNewLine:function(){return x0.newLine},getCanonicalFileName:e.createGetCanonicalFileName(x0.useCaseSensitiveFileNames)};if(!l0)return function(w){return x0.write(e.formatDiagnostic(w,w0))};var V=new Array(1);return function(w){V[0]=w,x0.write(e.formatDiagnosticsWithColorAndContext(V,w0)+w0.getNewLine()),V[0]=void 0}}function J(x0,l0,w0){return!(!x0.clearScreen||w0.preserveWatchOutput||w0.extendedDiagnostics||w0.diagnostics||!e.contains(e.screenStartingMessageCodes,l0.code))&&(x0.clearScreen(),!0)}function m0(x0){return x0.now?x0.now().toLocaleTimeString(\"en-US\",{timeZone:\"UTC\"}):new Date().toLocaleTimeString()}function s1(x0,l0){return l0?function(w0,V,w){J(x0,w0,w);var H=\"[\"+e.formatColorAndReset(m0(x0),e.ForegroundColorEscapeSequences.Grey)+\"] \";H+=\"\"+e.flattenDiagnosticMessageText(w0.messageText,x0.newLine)+(V+V),x0.write(H)}:function(w0,V,w){var H=\"\";J(x0,w0,w)||(H+=V),H+=m0(x0)+\" - \",H+=\"\"+e.flattenDiagnosticMessageText(w0.messageText,x0.newLine)+function(k0,V0){return e.contains(e.screenStartingMessageCodes,k0.code)?V0+V0:V0}(w0,V),x0.write(H)}}function i0(x0){return e.countWhere(x0,function(l0){return l0.category===e.DiagnosticCategory.Error})}function H0(x0){return x0===1?e.Diagnostics.Found_1_error_Watching_for_file_changes:e.Diagnostics.Found_0_errors_Watching_for_file_changes}function E0(x0,l0){if(x0===0)return\"\";var w0=e.createCompilerDiagnostic(x0===1?e.Diagnostics.Found_1_error:e.Diagnostics.Found_0_errors,x0);return\"\"+l0+e.flattenDiagnosticMessageText(w0.messageText,l0)+l0+l0}function I(x0){return!!x0.getState}function A(x0,l0){var w0=x0.getCompilerOptions();w0.explainFiles?Z(I(x0)?x0.getProgram():x0,l0):(w0.listFiles||w0.listFilesOnly)&&e.forEach(x0.getSourceFiles(),function(V){l0(V.fileName)})}function Z(x0,l0){for(var w0,V,w=x0.getFileIncludeReasons(),H=e.createGetCanonicalFileName(x0.useCaseSensitiveFileNames()),k0=function(y0){return e.convertToRelativePath(y0,x0.getCurrentDirectory(),H)},V0=0,t0=x0.getSourceFiles();V0<t0.length;V0++){var f0=t0[V0];l0(\"\"+u0(f0,k0)),(w0=w.get(f0.path))===null||w0===void 0||w0.forEach(function(y0){return l0(\"  \"+G(x0,y0,k0).messageText)}),(V=A0(f0,k0))===null||V===void 0||V.forEach(function(y0){return l0(\"  \"+y0.messageText)})}}function A0(x0,l0){var w0;return x0.path!==x0.resolvedPath&&(w0||(w0=[])).push(e.chainDiagnosticMessages(void 0,e.Diagnostics.File_is_output_of_project_reference_source_0,u0(x0.originalFileName,l0))),x0.redirectInfo&&(w0||(w0=[])).push(e.chainDiagnosticMessages(void 0,e.Diagnostics.File_redirects_to_file_0,u0(x0.redirectInfo.redirectTarget,l0))),w0}function o0(x0,l0){var w0,V=x0.getCompilerOptions().configFile;if((w0=V==null?void 0:V.configFileSpecs)===null||w0===void 0?void 0:w0.validatedFilesSpec){var w=e.createGetCanonicalFileName(x0.useCaseSensitiveFileNames()),H=w(l0),k0=e.getDirectoryPath(e.getNormalizedAbsolutePath(V.fileName,x0.getCurrentDirectory()));return e.find(V.configFileSpecs.validatedFilesSpec,function(V0){return w(e.getNormalizedAbsolutePath(V0,k0))===H})}}function j(x0,l0){var w0,V,w=x0.getCompilerOptions().configFile;if((w0=w==null?void 0:w.configFileSpecs)===null||w0===void 0?void 0:w0.validatedIncludeSpecs){var H=e.fileExtensionIs(l0,\".json\"),k0=e.getDirectoryPath(e.getNormalizedAbsolutePath(w.fileName,x0.getCurrentDirectory())),V0=x0.useCaseSensitiveFileNames();return e.find((V=w==null?void 0:w.configFileSpecs)===null||V===void 0?void 0:V.validatedIncludeSpecs,function(t0){if(H&&!e.endsWith(t0,\".json\"))return!1;var f0=e.getPatternFromSpec(t0,k0,\"files\");return!!f0&&e.getRegexFromPattern(\"(\"+f0+\")$\",V0).test(l0)})}}function G(x0,l0,w0){var V,w,H=x0.getCompilerOptions();if(e.isReferencedFile(l0)){var k0=e.getReferencedFileLocation(function(S1){return x0.getSourceFileByPath(S1)},l0),V0=e.isReferenceFileLocation(k0)?k0.file.text.substring(k0.pos,k0.end):'\"'+k0.text+'\"',t0=void 0;switch(e.Debug.assert(e.isReferenceFileLocation(k0)||l0.kind===e.FileIncludeKind.Import,\"Only synthetic references are imports\"),l0.kind){case e.FileIncludeKind.Import:t0=e.isReferenceFileLocation(k0)?k0.packageId?e.Diagnostics.Imported_via_0_from_file_1_with_packageId_2:e.Diagnostics.Imported_via_0_from_file_1:k0.text===e.externalHelpersModuleNameText?k0.packageId?e.Diagnostics.Imported_via_0_from_file_1_with_packageId_2_to_import_importHelpers_as_specified_in_compilerOptions:e.Diagnostics.Imported_via_0_from_file_1_to_import_importHelpers_as_specified_in_compilerOptions:k0.packageId?e.Diagnostics.Imported_via_0_from_file_1_with_packageId_2_to_import_jsx_and_jsxs_factory_functions:e.Diagnostics.Imported_via_0_from_file_1_to_import_jsx_and_jsxs_factory_functions;break;case e.FileIncludeKind.ReferenceFile:e.Debug.assert(!k0.packageId),t0=e.Diagnostics.Referenced_via_0_from_file_1;break;case e.FileIncludeKind.TypeReferenceDirective:t0=k0.packageId?e.Diagnostics.Type_library_referenced_via_0_from_file_1_with_packageId_2:e.Diagnostics.Type_library_referenced_via_0_from_file_1;break;case e.FileIncludeKind.LibReferenceDirective:e.Debug.assert(!k0.packageId),t0=e.Diagnostics.Library_referenced_via_0_from_file_1;break;default:e.Debug.assertNever(l0)}return e.chainDiagnosticMessages(void 0,t0,V0,u0(k0.file,w0),k0.packageId&&e.packageIdToString(k0.packageId))}switch(l0.kind){case e.FileIncludeKind.RootFile:if(!((V=H.configFile)===null||V===void 0?void 0:V.configFileSpecs))return e.chainDiagnosticMessages(void 0,e.Diagnostics.Root_file_specified_for_compilation);var f0=e.getNormalizedAbsolutePath(x0.getRootFileNames()[l0.index],x0.getCurrentDirectory());if(o0(x0,f0))return e.chainDiagnosticMessages(void 0,e.Diagnostics.Part_of_files_list_in_tsconfig_json);var y0=j(x0,f0);return y0?e.chainDiagnosticMessages(void 0,e.Diagnostics.Matched_by_include_pattern_0_in_1,y0,u0(H.configFile,w0)):e.chainDiagnosticMessages(void 0,e.Diagnostics.Root_file_specified_for_compilation);case e.FileIncludeKind.SourceFromProjectReference:case e.FileIncludeKind.OutputFromProjectReference:var G0=l0.kind===e.FileIncludeKind.OutputFromProjectReference,d1=e.Debug.checkDefined((w=x0.getResolvedProjectReferences())===null||w===void 0?void 0:w[l0.index]);return e.chainDiagnosticMessages(void 0,e.outFile(H)?G0?e.Diagnostics.Output_from_referenced_project_0_included_because_1_specified:e.Diagnostics.Source_from_referenced_project_0_included_because_1_specified:G0?e.Diagnostics.Output_from_referenced_project_0_included_because_module_is_specified_as_none:e.Diagnostics.Source_from_referenced_project_0_included_because_module_is_specified_as_none,u0(d1.sourceFile.fileName,w0),H.outFile?\"--outFile\":\"--out\");case e.FileIncludeKind.AutomaticTypeDirectiveFile:return e.chainDiagnosticMessages(void 0,H.types?l0.packageId?e.Diagnostics.Entry_point_of_type_library_0_specified_in_compilerOptions_with_packageId_1:e.Diagnostics.Entry_point_of_type_library_0_specified_in_compilerOptions:l0.packageId?e.Diagnostics.Entry_point_for_implicit_type_library_0_with_packageId_1:e.Diagnostics.Entry_point_for_implicit_type_library_0,l0.typeReference,l0.packageId&&e.packageIdToString(l0.packageId));case e.FileIncludeKind.LibFile:if(l0.index!==void 0)return e.chainDiagnosticMessages(void 0,e.Diagnostics.Library_0_specified_in_compilerOptions,H.lib[l0.index]);var h1=e.forEachEntry(e.targetOptionDeclaration.type,function(S1,Q1){return S1===H.target?Q1:void 0});return e.chainDiagnosticMessages(void 0,h1?e.Diagnostics.Default_library_for_target_0:e.Diagnostics.Default_library,h1);default:e.Debug.assertNever(l0)}}function u0(x0,l0){var w0=e.isString(x0)?x0:x0.fileName;return l0?l0(w0):w0}function U(x0,l0,w0,V,w,H,k0,V0){var t0=!!x0.getCompilerOptions().listFilesOnly,f0=x0.getConfigFileParsingDiagnostics().slice(),y0=f0.length;e.addRange(f0,x0.getSyntacticDiagnostics(void 0,H)),f0.length===y0&&(e.addRange(f0,x0.getOptionsDiagnostics(H)),t0||(e.addRange(f0,x0.getGlobalDiagnostics(H)),f0.length===y0&&e.addRange(f0,x0.getSemanticDiagnostics(void 0,H))));var G0=t0?{emitSkipped:!0,diagnostics:e.emptyArray}:x0.emit(void 0,w,H,k0,V0),d1=G0.emittedFiles,h1=G0.diagnostics;e.addRange(f0,h1);var S1=e.sortAndDeduplicateDiagnostics(f0);if(S1.forEach(l0),w0){var Q1=x0.getCurrentDirectory();e.forEach(d1,function(Y0){var $1=e.getNormalizedAbsolutePath(Y0,Q1);w0(\"TSFILE: \"+$1)}),A(x0,w0)}return V&&V(i0(S1)),{emitResult:G0,diagnostics:S1}}function g0(x0,l0,w0,V,w,H,k0,V0){var t0=U(x0,l0,w0,V,w,H,k0,V0),f0=t0.emitResult,y0=t0.diagnostics;return f0.emitSkipped&&y0.length>0?e.ExitStatus.DiagnosticsPresent_OutputsSkipped:y0.length>0?e.ExitStatus.DiagnosticsPresent_OutputsGenerated:e.ExitStatus.Success}function d0(x0,l0){return x0===void 0&&(x0=e.sys),{onWatchStatusChange:l0||s1(x0),watchFile:e.maybeBind(x0,x0.watchFile)||e.returnNoopFileWatcher,watchDirectory:e.maybeBind(x0,x0.watchDirectory)||e.returnNoopFileWatcher,setTimeout:e.maybeBind(x0,x0.setTimeout)||e.noop,clearTimeout:e.maybeBind(x0,x0.clearTimeout)||e.noop}}function P0(x0,l0){var w0=e.memoize(function(){return e.getDirectoryPath(e.normalizePath(x0.getExecutingFilePath()))});return{useCaseSensitiveFileNames:function(){return x0.useCaseSensitiveFileNames},getNewLine:function(){return x0.newLine},getCurrentDirectory:e.memoize(function(){return x0.getCurrentDirectory()}),getDefaultLibLocation:w0,getDefaultLibFileName:function(V){return e.combinePaths(w0(),e.getDefaultLibFileName(V))},fileExists:function(V){return x0.fileExists(V)},readFile:function(V,w){return x0.readFile(V,w)},directoryExists:function(V){return x0.directoryExists(V)},getDirectories:function(V){return x0.getDirectories(V)},readDirectory:function(V,w,H,k0,V0){return x0.readDirectory(V,w,H,k0,V0)},realpath:e.maybeBind(x0,x0.realpath),getEnvironmentVariable:e.maybeBind(x0,x0.getEnvironmentVariable),trace:function(V){return x0.write(V+x0.newLine)},createDirectory:function(V){return x0.createDirectory(V)},writeFile:function(V,w,H){return x0.writeFile(V,w,H)},createHash:e.maybeBind(x0,x0.createHash),createProgram:l0||e.createEmitAndSemanticDiagnosticsBuilderProgram,disableUseFileVersionAsSignature:x0.disableUseFileVersionAsSignature}}function c0(x0,l0,w0,V){x0===void 0&&(x0=e.sys);var w=function(k0){return x0.write(k0+x0.newLine)},H=P0(x0,l0);return e.copyProperties(H,d0(x0,V)),H.afterProgramCreate=function(k0){var V0=k0.getCompilerOptions(),t0=e.getNewLineCharacter(V0,function(){return x0.newLine});U(k0,w0,w,function(f0){return H.onWatchStatusChange(e.createCompilerDiagnostic(H0(f0),f0),t0,V0,f0)})},H}function D0(x0,l0,w0){l0(w0),x0.exit(e.ExitStatus.DiagnosticsPresent_OutputsSkipped)}e.createDiagnosticReporter=X,e.screenStartingMessageCodes=[e.Diagnostics.Starting_compilation_in_watch_mode.code,e.Diagnostics.File_change_detected_Starting_incremental_compilation.code],e.getLocaleTimeString=m0,e.createWatchStatusReporter=s1,e.parseConfigFileWithSystem=function(x0,l0,w0,V,w,H){var k0=w;k0.onUnRecoverableConfigFileDiagnostic=function(t0){return D0(w,H,t0)};var V0=e.getParsedCommandLineOfConfigFile(x0,l0,k0,w0,V);return k0.onUnRecoverableConfigFileDiagnostic=void 0,V0},e.getErrorCountForSummary=i0,e.getWatchErrorSummaryDiagnosticMessage=H0,e.getErrorSummaryText=E0,e.isBuilderProgram=I,e.listFiles=A,e.explainFiles=Z,e.explainIfFileIsRedirect=A0,e.getMatchedFileSpec=o0,e.getMatchedIncludeSpec=j,e.fileIncludeReasonToDiagnostics=G,e.emitFilesAndReportErrors=U,e.emitFilesAndReportErrorsAndGetExitStatus=g0,e.noopFileWatcher={close:e.noop},e.returnNoopFileWatcher=function(){return e.noopFileWatcher},e.createWatchHost=d0,e.WatchType={ConfigFile:\"Config file\",ExtendedConfigFile:\"Extended config file\",SourceFile:\"Source file\",MissingFile:\"Missing file\",WildcardDirectory:\"Wild card directory\",FailedLookupLocations:\"Failed Lookup Locations\",TypeRoots:\"Type roots\",ConfigFileOfReferencedProject:\"Config file of referened project\",ExtendedConfigOfReferencedProject:\"Extended config file of referenced project\",WildcardDirectoryOfReferencedProject:\"Wild card directory of referenced project\"},e.createWatchFactory=function(x0,l0){var w0=x0.trace?l0.extendedDiagnostics?e.WatchLogLevel.Verbose:l0.diagnostics?e.WatchLogLevel.TriggerOnly:e.WatchLogLevel.None:e.WatchLogLevel.None,V=w0!==e.WatchLogLevel.None?function(H){return x0.trace(H)}:e.noop,w=e.getWatchFactory(x0,w0,V);return w.writeLog=V,w},e.createCompilerHostFromProgramHost=function(x0,l0,w0){w0===void 0&&(w0=x0);var V=x0.useCaseSensitiveFileNames(),w=e.memoize(function(){return x0.getNewLine()});return{getSourceFile:function(H,k0,V0){var t0;try{e.performance.mark(\"beforeIORead\"),t0=x0.readFile(H,l0().charset),e.performance.mark(\"afterIORead\"),e.performance.measure(\"I/O Read\",\"beforeIORead\",\"afterIORead\")}catch(f0){V0&&V0(f0.message),t0=\"\"}return t0!==void 0?e.createSourceFile(H,t0,k0):void 0},getDefaultLibLocation:e.maybeBind(x0,x0.getDefaultLibLocation),getDefaultLibFileName:function(H){return x0.getDefaultLibFileName(H)},writeFile:function(H,k0,V0,t0){try{e.performance.mark(\"beforeIOWrite\"),e.writeFileEnsuringDirectories(H,k0,V0,function(f0,y0,G0){return x0.writeFile(f0,y0,G0)},function(f0){return x0.createDirectory(f0)},function(f0){return x0.directoryExists(f0)}),e.performance.mark(\"afterIOWrite\"),e.performance.measure(\"I/O Write\",\"beforeIOWrite\",\"afterIOWrite\")}catch(f0){t0&&t0(f0.message)}},getCurrentDirectory:e.memoize(function(){return x0.getCurrentDirectory()}),useCaseSensitiveFileNames:function(){return V},getCanonicalFileName:e.createGetCanonicalFileName(V),getNewLine:function(){return e.getNewLineCharacter(l0(),w)},fileExists:function(H){return x0.fileExists(H)},readFile:function(H){return x0.readFile(H)},trace:e.maybeBind(x0,x0.trace),directoryExists:e.maybeBind(w0,w0.directoryExists),getDirectories:e.maybeBind(w0,w0.getDirectories),realpath:e.maybeBind(x0,x0.realpath),getEnvironmentVariable:e.maybeBind(x0,x0.getEnvironmentVariable)||function(){return\"\"},createHash:e.maybeBind(x0,x0.createHash),readDirectory:e.maybeBind(x0,x0.readDirectory),disableUseFileVersionAsSignature:x0.disableUseFileVersionAsSignature}},e.setGetSourceFileAsHashVersioned=function(x0,l0){var w0=x0.getSourceFile,V=e.maybeBind(l0,l0.createHash)||e.generateDjb2Hash;x0.getSourceFile=function(){for(var w=[],H=0;H<arguments.length;H++)w[H]=arguments[H];var k0=w0.call.apply(w0,D([x0],w));return k0&&(k0.version=V(k0.text)),k0}},e.createProgramHost=P0,e.createWatchCompilerHostOfConfigFile=function(x0){var l0=x0.configFileName,w0=x0.optionsToExtend,V=x0.watchOptionsToExtend,w=x0.extraFileExtensions,H=x0.system,k0=x0.createProgram,V0=x0.reportDiagnostic,t0=x0.reportWatchStatus,f0=V0||X(H),y0=c0(H,k0,f0,t0);return y0.onUnRecoverableConfigFileDiagnostic=function(G0){return D0(H,f0,G0)},y0.configFileName=l0,y0.optionsToExtend=w0,y0.watchOptionsToExtend=V,y0.extraFileExtensions=w,y0},e.createWatchCompilerHostOfFilesAndCompilerOptions=function(x0){var l0=x0.rootFiles,w0=x0.options,V=x0.watchOptions,w=x0.projectReferences,H=x0.system,k0=x0.createProgram,V0=x0.reportDiagnostic,t0=x0.reportWatchStatus,f0=c0(H,k0,V0||X(H),t0);return f0.rootFiles=l0,f0.options=w0,f0.watchOptions=V,f0.projectReferences=w,f0},e.performIncrementalCompilation=function(x0){var l0=x0.system||e.sys,w0=x0.host||(x0.host=e.createIncrementalCompilerHost(x0.options,l0)),V=e.createIncrementalProgram(x0),w=g0(V,x0.reportDiagnostic||X(l0),function(H){return w0.trace&&w0.trace(H)},x0.reportErrorSummary||x0.options.pretty?function(H){return l0.write(E0(H,l0.newLine))}:void 0);return x0.afterProgramEmitAndDiagnostics&&x0.afterProgramEmitAndDiagnostics(V),w}}(_0||(_0={})),function(e){function s(J,m0){if(!e.outFile(J)){var s1=e.getTsBuildInfoEmitOutputFilePath(J);if(s1){var i0=m0.readFile(s1);if(i0){var H0=e.getBuildInfo(i0);if(H0.version===e.version&&H0.program)return e.createBuildProgramUsingProgramBuildInfo(H0.program,s1,m0)}}}}function X(J,m0){m0===void 0&&(m0=e.sys);var s1=e.createCompilerHostWorker(J,void 0,m0);return s1.createHash=e.maybeBind(m0,m0.createHash),s1.disableUseFileVersionAsSignature=m0.disableUseFileVersionAsSignature,e.setGetSourceFileAsHashVersioned(s1,m0),e.changeCompilerHostLikeToUseCache(s1,function(i0){return e.toPath(i0,s1.getCurrentDirectory(),s1.getCanonicalFileName)}),s1}e.readBuilderProgram=s,e.createIncrementalCompilerHost=X,e.createIncrementalProgram=function(J){var m0=J.rootNames,s1=J.options,i0=J.configFileParsingDiagnostics,H0=J.projectReferences,E0=J.host,I=J.createProgram;return E0=E0||X(s1),(I=I||e.createEmitAndSemanticDiagnosticsBuilderProgram)(m0,s1,E0,s(s1,E0),i0,H0)},e.createWatchCompilerHost=function(J,m0,s1,i0,H0,E0,I,A){return e.isArray(J)?e.createWatchCompilerHostOfFilesAndCompilerOptions({rootFiles:J,options:m0,watchOptions:A,projectReferences:I,system:s1,createProgram:i0,reportDiagnostic:H0,reportWatchStatus:E0}):e.createWatchCompilerHostOfConfigFile({configFileName:J,optionsToExtend:m0,watchOptionsToExtend:I,extraFileExtensions:A,system:s1,createProgram:i0,reportDiagnostic:H0,reportWatchStatus:E0})},e.createWatchProgram=function(J){var m0,s1,i0,H0,E0,I,A,Z,A0,o0,j,G=J.extendedConfigCache,u0=new e.Map,U=!1,g0=J.useCaseSensitiveFileNames(),d0=J.getCurrentDirectory(),P0=J.configFileName,c0=J.optionsToExtend,D0=c0===void 0?{}:c0,x0=J.watchOptionsToExtend,l0=J.extraFileExtensions,w0=J.createProgram,V=J.rootFiles,w=J.options,H=J.watchOptions,k0=J.projectReferences,V0=!1,t0=!1,f0=P0===void 0?void 0:e.createCachedDirectoryStructureHost(J,d0,g0),y0=f0||J,G0=e.parseConfigHostFromCompilerHostLike(J,y0),d1=S0();P0&&J.configFileParsingResult&&(b1(J.configFileParsingResult),d1=S0()),V1(e.Diagnostics.Starting_compilation_in_watch_mode),P0&&!J.configFileParsingResult&&(d1=e.getNewLineCharacter(D0,function(){return J.getNewLine()}),e.Debug.assert(!V),O(),d1=S0());var h1,S1=e.createWatchFactory(J,w),Q1=S1.watchFile,Y0=S1.watchDirectory,$1=S1.writeLog,Z1=e.createGetCanonicalFileName(g0);$1(\"Current directory: \"+d0+\" CaseSensitiveFileNames: \"+g0),P0&&(h1=Q1(P0,function(){e.Debug.assert(!!P0),s1=e.ConfigFileProgramReloadLevel.Full,O0()},e.PollingInterval.High,H,e.WatchType.ConfigFile));var Q0=e.createCompilerHostFromProgramHost(J,function(){return w},y0);e.setGetSourceFileAsHashVersioned(Q0,J);var y1=Q0.getSourceFile;Q0.getSourceFile=function(xr){for(var Bt=[],ar=1;ar<arguments.length;ar++)Bt[ar-1]=arguments[ar];return p1.apply(void 0,D([xr,I0(xr)],Bt))},Q0.getSourceFileByPath=p1,Q0.getNewLine=function(){return d1},Q0.fileExists=p0,Q0.onReleaseOldSourceFile=function(xr,Bt,ar){var Ni=u0.get(xr.resolvedPath);Ni!==void 0&&(U0(Ni)?(A0||(A0=[])).push(xr.path):Ni.sourceFile===xr&&(Ni.fileWatcher&&Ni.fileWatcher.close(),u0.delete(xr.resolvedPath),ar||k1.removeResolutionsOfFile(xr.path)))},Q0.onReleaseParsedCommandLine=function(xr){var Bt,ar=I0(xr),Ni=A==null?void 0:A.get(ar);!Ni||(A.delete(ar),Ni.watchedDirectories&&e.clearMap(Ni.watchedDirectories,e.closeFileWatcherOf),(Bt=Ni.watcher)===null||Bt===void 0||Bt.close(),e.clearSharedExtendedConfigFileWatcher(ar,Z))},Q0.toPath=I0,Q0.getCompilationSettings=function(){return w},Q0.useSourceOfProjectReferenceRedirect=e.maybeBind(J,J.useSourceOfProjectReferenceRedirect),Q0.watchDirectoryOfFailedLookupLocation=function(xr,Bt,ar){return Y0(xr,Bt,ar,H,e.WatchType.FailedLookupLocations)},Q0.watchTypeRootsDirectory=function(xr,Bt,ar){return Y0(xr,Bt,ar,H,e.WatchType.TypeRoots)},Q0.getCachedDirectoryStructureHost=function(){return f0},Q0.scheduleInvalidateResolutionsOfFailedLookupLocations=function(){if(!J.setTimeout||!J.clearTimeout)return k1.invalidateResolutionsOfFailedLookupLocations();var xr=$x();$1(\"Scheduling invalidateFailedLookup\"+(xr?\", Cancelled earlier one\":\"\")),I=J.setTimeout(rx,250)},Q0.onInvalidatedResolution=O0,Q0.onChangedAutomaticTypeDirectiveNames=O0,Q0.fileIsOpen=e.returnFalse,Q0.getCurrentProgram=Nx,Q0.writeLog=$1,Q0.getParsedCommandLine=Px;var k1=e.createResolutionCache(Q0,P0?e.getDirectoryPath(e.getNormalizedAbsolutePath(P0,d0)):d0,!1);Q0.resolveModuleNames=J.resolveModuleNames?function(){for(var xr=[],Bt=0;Bt<arguments.length;Bt++)xr[Bt]=arguments[Bt];return J.resolveModuleNames.apply(J,xr)}:function(xr,Bt,ar,Ni){return k1.resolveModuleNames(xr,Bt,ar,Ni)},Q0.resolveTypeReferenceDirectives=J.resolveTypeReferenceDirectives?function(){for(var xr=[],Bt=0;Bt<arguments.length;Bt++)xr[Bt]=arguments[Bt];return J.resolveTypeReferenceDirectives.apply(J,xr)}:function(xr,Bt,ar){return k1.resolveTypeReferenceDirectives(xr,Bt,ar)};var I1=!!J.resolveModuleNames||!!J.resolveTypeReferenceDirectives;return m0=s(w,Q0),n1(),gr(),P0&&Ir(I0(P0),w,H,e.WatchType.ExtendedConfigFile),P0?{getCurrentProgram:G1,getProgram:nx,close:K0}:{getCurrentProgram:G1,getProgram:nx,updateRootFileNames:function(xr){e.Debug.assert(!P0,\"Cannot update root file names with config file watch mode\"),V=xr,O0()},close:K0};function K0(){$x(),k1.clear(),e.clearMap(u0,function(xr){xr&&xr.fileWatcher&&(xr.fileWatcher.close(),xr.fileWatcher=void 0)}),h1&&(h1.close(),h1=void 0),G==null||G.clear(),G=void 0,Z&&(e.clearMap(Z,e.closeFileWatcherOf),Z=void 0),H0&&(e.clearMap(H0,e.closeFileWatcherOf),H0=void 0),i0&&(e.clearMap(i0,e.closeFileWatcher),i0=void 0),A&&(e.clearMap(A,function(xr){var Bt;(Bt=xr.watcher)===null||Bt===void 0||Bt.close(),xr.watcher=void 0,xr.watchedDirectories&&e.clearMap(xr.watchedDirectories,e.closeFileWatcherOf),xr.watchedDirectories=void 0}),A=void 0)}function G1(){return m0}function Nx(){return m0&&m0.getProgramOrUndefined()}function n1(){$1(\"Synchronizing program\"),$x();var xr=G1();U&&(d1=S0(),xr&&e.changesAffectModuleResolution(xr.getCompilerOptions(),w)&&k1.clear());var Bt=k1.createHasInvalidatedResolution(I1);return e.isProgramUptoDate(Nx(),V,w,N1,p0,Bt,Ox,Px,k0)?t0&&(m0=w0(void 0,void 0,Q0,m0,j,k0),t0=!1):function(ar){$1(\"CreatingProgramWith::\"),$1(\"  roots: \"+JSON.stringify(V)),$1(\"  options: \"+JSON.stringify(w)),k0&&$1(\"  projectReferences: \"+JSON.stringify(k0));var Ni=U||!Nx();if(U=!1,t0=!1,k1.startCachingPerDirectoryResolution(),Q0.hasInvalidatedResolution=ar,Q0.hasChangedAutomaticTypeDirectiveNames=Ox,m0=w0(V,w,Q0,m0,j,k0),k1.finishCachingPerDirectoryResolution(),e.updateMissingFilePathsWatch(m0.getProgram(),i0||(i0=new e.Map),Vt),Ni&&k1.updateTypeRootsWatch(),A0){for(var Kn=0,oi=A0;Kn<oi.length;Kn++){var Ba=oi[Kn];i0.has(Ba)||u0.delete(Ba)}A0=void 0}}(Bt),J.afterProgramCreate&&xr!==m0&&J.afterProgramCreate(m0),m0}function S0(){return e.getNewLineCharacter(w||D0,function(){return J.getNewLine()})}function I0(xr){return e.toPath(xr,d0,Z1)}function U0(xr){return typeof xr==\"boolean\"}function p0(xr){var Bt=I0(xr);return!U0(u0.get(Bt))&&y0.fileExists(xr)}function p1(xr,Bt,ar,Ni,Kn){var oi=u0.get(Bt);if(!U0(oi)){if(oi===void 0||Kn||function(Gt){return typeof Gt.version==\"boolean\"}(oi)){var Ba=y1(xr,ar,Ni);if(oi)Ba?(oi.sourceFile=Ba,oi.version=Ba.version,oi.fileWatcher||(oi.fileWatcher=me(Bt,xr,Re,e.PollingInterval.Low,H,e.WatchType.SourceFile))):(oi.fileWatcher&&oi.fileWatcher.close(),u0.set(Bt,!1));else if(Ba){var dt=me(Bt,xr,Re,e.PollingInterval.Low,H,e.WatchType.SourceFile);u0.set(Bt,{sourceFile:Ba,version:Ba.version,fileWatcher:dt})}else u0.set(Bt,!1);return Ba}return oi.sourceFile}}function Y1(xr){var Bt=u0.get(xr);Bt!==void 0&&(U0(Bt)?u0.set(xr,{version:!1}):Bt.version=!1)}function N1(xr){var Bt=u0.get(xr);return Bt&&Bt.version?Bt.version:void 0}function V1(xr){J.onWatchStatusChange&&J.onWatchStatusChange(e.createCompilerDiagnostic(xr),d1,w||D0)}function Ox(){return k1.hasChangedAutomaticTypeDirectiveNames()}function $x(){return!!I&&(J.clearTimeout(I),I=void 0,!0)}function rx(){I=void 0,k1.invalidateResolutionsOfFailedLookupLocations()&&O0()}function O0(){J.setTimeout&&J.clearTimeout&&(E0&&J.clearTimeout(E0),$1(\"Scheduling update\"),E0=J.setTimeout(C1,250))}function C1(){E0=void 0,V1(e.Diagnostics.File_change_detected_Starting_incremental_compilation),nx()}function nx(){switch(s1){case e.ConfigFileProgramReloadLevel.Partial:e.perfLogger.logStartUpdateProgram(\"PartialConfigReload\"),function(){$1(\"Reloading new file names and options\"),V=e.getFileNamesFromConfigSpecs(w.configFile.configFileSpecs,e.getNormalizedAbsolutePath(e.getDirectoryPath(P0),d0),w,G0,l0),e.updateErrorForNoInputFiles(V,e.getNormalizedAbsolutePath(P0,d0),w.configFile.configFileSpecs,j,V0)&&(t0=!0),n1()}();break;case e.ConfigFileProgramReloadLevel.Full:e.perfLogger.logStartUpdateProgram(\"FullConfigReload\"),function(){$1(\"Reloading config file: \"+P0),s1=e.ConfigFileProgramReloadLevel.None,f0&&f0.clearCache(),O(),U=!0,n1(),gr(),Ir(I0(P0),w,H,e.WatchType.ExtendedConfigFile)}();break;default:e.perfLogger.logStartUpdateProgram(\"SynchronizeProgram\"),n1()}return e.perfLogger.logStopUpdateProgram(\"Done\"),G1()}function O(){b1(e.getParsedCommandLineOfConfigFile(P0,D0,G0,G||(G=new e.Map),x0,l0))}function b1(xr){V=xr.fileNames,w=xr.options,H=xr.watchOptions,k0=xr.projectReferences,o0=xr.wildcardDirectories,j=e.getConfigFileParsingDiagnostics(xr).slice(),V0=e.canJsonReportNoInputFiles(xr.raw),t0=!0}function Px(xr){var Bt=I0(xr),ar=A==null?void 0:A.get(Bt);if(ar){if(!ar.reloadLevel)return ar.parsedCommandLine;if(ar.parsedCommandLine&&ar.reloadLevel===e.ConfigFileProgramReloadLevel.Partial&&!J.getParsedCommandLine){$1(\"Reloading new file names and options\");var Ni=e.getFileNamesFromConfigSpecs(ar.parsedCommandLine.options.configFile.configFileSpecs,e.getNormalizedAbsolutePath(e.getDirectoryPath(xr),d0),w,G0);return ar.parsedCommandLine=$($({},ar.parsedCommandLine),{fileNames:Ni}),ar.reloadLevel=void 0,ar.parsedCommandLine}}$1(\"Loading config file: \"+xr);var Kn=J.getParsedCommandLine?J.getParsedCommandLine(xr):function(oi){var Ba=G0.onUnRecoverableConfigFileDiagnostic;G0.onUnRecoverableConfigFileDiagnostic=e.noop;var dt=e.getParsedCommandLineOfConfigFile(oi,void 0,G0,G||(G=new e.Map),x0);return G0.onUnRecoverableConfigFileDiagnostic=Ba,dt}(xr);return ar?(ar.parsedCommandLine=Kn,ar.reloadLevel=void 0):(A||(A=new e.Map)).set(Bt,ar={parsedCommandLine:Kn}),function(oi,Ba,dt){var Gt,lr,en,ii,Tt;dt.watcher||(dt.watcher=Q1(oi,function(bn,Le){gt(oi,Ba,Le);var Sa=A==null?void 0:A.get(Ba);Sa&&(Sa.reloadLevel=e.ConfigFileProgramReloadLevel.Full),k1.removeResolutionsFromProjectReferenceRedirects(Ba),O0()},e.PollingInterval.High,((Gt=dt.parsedCommandLine)===null||Gt===void 0?void 0:Gt.watchOptions)||H,e.WatchType.ConfigFileOfReferencedProject)),((lr=dt.parsedCommandLine)===null||lr===void 0?void 0:lr.wildcardDirectories)?e.updateWatchingWildcardDirectories(dt.watchedDirectories||(dt.watchedDirectories=new e.Map),new e.Map(e.getEntries((en=dt.parsedCommandLine)===null||en===void 0?void 0:en.wildcardDirectories)),function(bn,Le){var Sa;return Y0(bn,function(Yn){var W1=I0(Yn);f0&&f0.addOrDeleteFileOrDirectory(Yn,W1),Y1(W1);var cx=A==null?void 0:A.get(Ba);(cx==null?void 0:cx.parsedCommandLine)&&(e.isIgnoredFileFromWildCardWatching({watchedDirPath:I0(bn),fileOrDirectory:Yn,fileOrDirectoryPath:W1,configFileName:oi,options:cx.parsedCommandLine.options,program:cx.parsedCommandLine.fileNames,currentDirectory:d0,useCaseSensitiveFileNames:g0,writeLog:$1,toPath:I0})||cx.reloadLevel!==e.ConfigFileProgramReloadLevel.Full&&(cx.reloadLevel=e.ConfigFileProgramReloadLevel.Partial,O0()))},Le,((Sa=dt.parsedCommandLine)===null||Sa===void 0?void 0:Sa.watchOptions)||H,e.WatchType.WildcardDirectoryOfReferencedProject)}):dt.watchedDirectories&&(e.clearMap(dt.watchedDirectories,e.closeFileWatcherOf),dt.watchedDirectories=void 0),Ir(Ba,(ii=dt.parsedCommandLine)===null||ii===void 0?void 0:ii.options,((Tt=dt.parsedCommandLine)===null||Tt===void 0?void 0:Tt.watchOptions)||H,e.WatchType.ExtendedConfigOfReferencedProject)}(xr,Bt,ar),Kn}function me(xr,Bt,ar,Ni,Kn,oi){return Q1(Bt,function(Ba,dt){return ar(Ba,dt,xr)},Ni,Kn,oi)}function Re(xr,Bt,ar){gt(xr,ar,Bt),Bt===e.FileWatcherEventKind.Deleted&&u0.has(ar)&&k1.invalidateResolutionOfFile(ar),Y1(ar),O0()}function gt(xr,Bt,ar){f0&&f0.addOrDeleteFile(xr,Bt,ar)}function Vt(xr){return(A==null?void 0:A.has(xr))?e.noopFileWatcher:me(xr,xr,wr,e.PollingInterval.Medium,H,e.WatchType.MissingFile)}function wr(xr,Bt,ar){gt(xr,ar,Bt),Bt===e.FileWatcherEventKind.Created&&i0.has(ar)&&(i0.get(ar).close(),i0.delete(ar),Y1(ar),O0())}function gr(){o0?e.updateWatchingWildcardDirectories(H0||(H0=new e.Map),new e.Map(e.getEntries(o0)),Nt):H0&&e.clearMap(H0,e.closeFileWatcherOf)}function Nt(xr,Bt){return Y0(xr,function(ar){e.Debug.assert(!!P0);var Ni=I0(ar);f0&&f0.addOrDeleteFileOrDirectory(ar,Ni),Y1(Ni),e.isIgnoredFileFromWildCardWatching({watchedDirPath:I0(xr),fileOrDirectory:ar,fileOrDirectoryPath:Ni,configFileName:P0,extraFileExtensions:l0,options:w,program:G1()||V,currentDirectory:d0,useCaseSensitiveFileNames:g0,writeLog:$1,toPath:I0})||s1!==e.ConfigFileProgramReloadLevel.Full&&(s1=e.ConfigFileProgramReloadLevel.Partial,O0())},Bt,H,e.WatchType.WildcardDirectory)}function Ir(xr,Bt,ar,Ni){e.updateSharedExtendedConfigFileWatcher(xr,Bt,Z||(Z=new e.Map),function(Kn,oi){return Q1(Kn,function(Ba,dt){var Gt;gt(Kn,oi,dt),G&&e.cleanExtendedConfigCache(G,oi,I0);var lr=(Gt=Z.get(oi))===null||Gt===void 0?void 0:Gt.projects;(lr==null?void 0:lr.size)&&lr.forEach(function(en){if(I0(P0)===en)s1=e.ConfigFileProgramReloadLevel.Full;else{var ii=A==null?void 0:A.get(en);ii&&(ii.reloadLevel=e.ConfigFileProgramReloadLevel.Full),k1.removeResolutionsFromProjectReferenceRedirects(en)}O0()})},e.PollingInterval.High,ar,Ni)},I0)}}}(_0||(_0={})),function(e){var s;(s=e.UpToDateStatusType||(e.UpToDateStatusType={}))[s.Unbuildable=0]=\"Unbuildable\",s[s.UpToDate=1]=\"UpToDate\",s[s.UpToDateWithUpstreamTypes=2]=\"UpToDateWithUpstreamTypes\",s[s.OutOfDateWithPrepend=3]=\"OutOfDateWithPrepend\",s[s.OutputMissing=4]=\"OutputMissing\",s[s.OutOfDateWithSelf=5]=\"OutOfDateWithSelf\",s[s.OutOfDateWithUpstream=6]=\"OutOfDateWithUpstream\",s[s.UpstreamOutOfDate=7]=\"UpstreamOutOfDate\",s[s.UpstreamBlocked=8]=\"UpstreamBlocked\",s[s.ComputingUpstream=9]=\"ComputingUpstream\",s[s.TsVersionOutputOfDate=10]=\"TsVersionOutputOfDate\",s[s.ContainerOnly=11]=\"ContainerOnly\",e.resolveConfigFileProjectName=function(X){return e.fileExtensionIs(X,\".json\")?X:e.combinePaths(X,\"tsconfig.json\")}}(_0||(_0={})),function(e){var s,X,J,m0=new Date(-864e13),s1=new Date(864e13);function i0(O0,C1){return function(nx,O,b1){var Px,me=nx.get(O);return me||(Px=b1(),nx.set(O,Px)),me||Px}(O0,C1,function(){return new e.Map})}function H0(O0,C1){return C1>O0?C1:O0}function E0(O0){return e.fileExtensionIs(O0,\".d.ts\")}function I(O0){return!!O0&&!!O0.buildOrder}function A(O0){return I(O0)?O0.buildOrder:O0}function Z(O0,C1){return function(nx){var O=C1?\"[\"+e.formatColorAndReset(e.getLocaleTimeString(O0),e.ForegroundColorEscapeSequences.Grey)+\"] \":e.getLocaleTimeString(O0)+\" - \";O+=\"\"+e.flattenDiagnosticMessageText(nx.messageText,O0.newLine)+(O0.newLine+O0.newLine),O0.write(O)}}function A0(O0,C1,nx,O){var b1=e.createProgramHost(O0,C1);return b1.getModifiedTime=O0.getModifiedTime?function(Px){return O0.getModifiedTime(Px)}:e.returnUndefined,b1.setModifiedTime=O0.setModifiedTime?function(Px,me){return O0.setModifiedTime(Px,me)}:e.noop,b1.deleteFile=O0.deleteFile?function(Px){return O0.deleteFile(Px)}:e.noop,b1.reportDiagnostic=nx||e.createDiagnosticReporter(O0),b1.reportSolutionBuilderStatus=O||Z(O0),b1.now=e.maybeBind(O0,O0.now),b1}function o0(O0,C1,nx,O,b1){var Px,me,Re=C1,gt=C1,Vt=Re.getCurrentDirectory(),wr=e.createGetCanonicalFileName(Re.useCaseSensitiveFileNames()),gr=(Px=O,me={},e.commonOptionsWithBuild.forEach(function(Gt){e.hasProperty(Px,Gt.name)&&(me[Gt.name]=Px[Gt.name])}),me),Nt=e.createCompilerHostFromProgramHost(Re,function(){return dt.projectCompilerOptions});e.setGetSourceFileAsHashVersioned(Nt,Re),Nt.getParsedCommandLine=function(Gt){return g0(dt,Gt,G(dt,Gt))},Nt.resolveModuleNames=e.maybeBind(Re,Re.resolveModuleNames),Nt.resolveTypeReferenceDirectives=e.maybeBind(Re,Re.resolveTypeReferenceDirectives);var Ir=Nt.resolveModuleNames?void 0:e.createModuleResolutionCache(Vt,wr),xr=Nt.resolveTypeReferenceDirectives?void 0:e.createTypeReferenceDirectiveResolutionCache(Vt,wr,void 0,Ir==null?void 0:Ir.getPackageJsonInfoCache());if(!Nt.resolveModuleNames){var Bt=function(Gt,lr,en){return e.resolveModuleName(Gt,lr,dt.projectCompilerOptions,Nt,Ir,en).resolvedModule};Nt.resolveModuleNames=function(Gt,lr,en,ii){return e.loadWithLocalCache(e.Debug.checkEachDefined(Gt),lr,ii,Bt)}}if(!Nt.resolveTypeReferenceDirectives){var ar=function(Gt,lr,en){return e.resolveTypeReferenceDirective(Gt,lr,dt.projectCompilerOptions,Nt,en,dt.typeReferenceDirectiveResolutionCache).resolvedTypeReferenceDirective};Nt.resolveTypeReferenceDirectives=function(Gt,lr,en){return e.loadWithLocalCache(e.Debug.checkEachDefined(Gt),lr,en,ar)}}var Ni=e.createWatchFactory(gt,O),Kn=Ni.watchFile,oi=Ni.watchDirectory,Ba=Ni.writeLog,dt={host:Re,hostWithWatch:gt,currentDirectory:Vt,getCanonicalFileName:wr,parseConfigFileHost:e.parseConfigHostFromCompilerHostLike(Re),write:e.maybeBind(Re,Re.trace),options:O,baseCompilerOptions:gr,rootNames:nx,baseWatchOptions:b1,resolvedConfigFilePaths:new e.Map,configFileCache:new e.Map,projectStatus:new e.Map,buildInfoChecked:new e.Map,extendedConfigCache:new e.Map,builderPrograms:new e.Map,diagnostics:new e.Map,projectPendingBuild:new e.Map,projectErrorsReported:new e.Map,compilerHost:Nt,moduleResolutionCache:Ir,typeReferenceDirectiveResolutionCache:xr,buildOrder:void 0,readFileWithCache:function(Gt){return Re.readFile(Gt)},projectCompilerOptions:gr,cache:void 0,allProjectBuildPending:!0,needsSummary:!0,watchAllProjectsPending:O0,currentInvalidatedProject:void 0,watch:O0,allWatchedWildcardDirectories:new e.Map,allWatchedInputFiles:new e.Map,allWatchedConfigFiles:new e.Map,allWatchedExtendedConfigFiles:new e.Map,timerToBuildInvalidatedProject:void 0,reportFileChangeDetected:!1,watchFile:Kn,watchDirectory:oi,writeLog:Ba};return dt}function j(O0,C1){return e.toPath(C1,O0.currentDirectory,O0.getCanonicalFileName)}function G(O0,C1){var nx=O0.resolvedConfigFilePaths,O=nx.get(C1);if(O!==void 0)return O;var b1=j(O0,C1);return nx.set(C1,b1),b1}function u0(O0){return!!O0.options}function U(O0,C1){var nx=O0.configFileCache.get(C1);return nx&&u0(nx)?nx:void 0}function g0(O0,C1,nx){var O,b1=O0.configFileCache,Px=b1.get(nx);if(Px)return u0(Px)?Px:void 0;var me,Re=O0.parseConfigFileHost,gt=O0.baseCompilerOptions,Vt=O0.baseWatchOptions,wr=O0.extendedConfigCache,gr=O0.host;return gr.getParsedCommandLine?(me=gr.getParsedCommandLine(C1))||(O=e.createCompilerDiagnostic(e.Diagnostics.File_0_not_found,C1)):(Re.onUnRecoverableConfigFileDiagnostic=function(Nt){return O=Nt},me=e.getParsedCommandLineOfConfigFile(C1,gt,Re,wr,Vt),Re.onUnRecoverableConfigFileDiagnostic=e.noop),b1.set(nx,me||O),me}function d0(O0,C1){return e.resolveConfigFileProjectName(e.resolvePath(O0.currentDirectory,C1))}function P0(O0,C1){for(var nx,O,b1=new e.Map,Px=new e.Map,me=[],Re=0,gt=C1;Re<gt.length;Re++)Vt(gt[Re]);return O?{buildOrder:nx||e.emptyArray,circularDiagnostics:O}:nx||e.emptyArray;function Vt(wr,gr){var Nt=G(O0,wr);if(!Px.has(Nt))if(b1.has(Nt))gr||(O||(O=[])).push(e.createCompilerDiagnostic(e.Diagnostics.Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0,me.join(`\\r\n`)));else{b1.set(Nt,!0),me.push(wr);var Ir=g0(O0,wr,Nt);if(Ir&&Ir.projectReferences)for(var xr=0,Bt=Ir.projectReferences;xr<Bt.length;xr++){var ar=Bt[xr];Vt(d0(O0,ar.path),gr||ar.circular)}me.pop(),Px.set(Nt,!0),(nx||(nx=[])).push(wr)}}}function c0(O0){return O0.buildOrder||function(C1){var nx=P0(C1,C1.rootNames.map(function(Px){return d0(C1,Px)}));C1.resolvedConfigFilePaths.clear();var O=new e.Map(A(nx).map(function(Px){return[G(C1,Px),!0]})),b1={onDeleteValue:e.noop};return e.mutateMapSkippingNewValues(C1.configFileCache,O,b1),e.mutateMapSkippingNewValues(C1.projectStatus,O,b1),e.mutateMapSkippingNewValues(C1.buildInfoChecked,O,b1),e.mutateMapSkippingNewValues(C1.builderPrograms,O,b1),e.mutateMapSkippingNewValues(C1.diagnostics,O,b1),e.mutateMapSkippingNewValues(C1.projectPendingBuild,O,b1),e.mutateMapSkippingNewValues(C1.projectErrorsReported,O,b1),C1.watch&&(e.mutateMapSkippingNewValues(C1.allWatchedConfigFiles,O,{onDeleteValue:e.closeFileWatcher}),C1.allWatchedExtendedConfigFiles.forEach(function(Px){Px.projects.forEach(function(me){O.has(me)||Px.projects.delete(me)}),Px.close()}),e.mutateMapSkippingNewValues(C1.allWatchedWildcardDirectories,O,{onDeleteValue:function(Px){return Px.forEach(e.closeFileWatcherOf)}}),e.mutateMapSkippingNewValues(C1.allWatchedInputFiles,O,{onDeleteValue:function(Px){return Px.forEach(e.closeFileWatcher)}})),C1.buildOrder=nx}(O0)}function D0(O0,C1,nx){var O=C1&&d0(O0,C1),b1=c0(O0);if(I(b1))return b1;if(O){var Px=G(O0,O);if(e.findIndex(b1,function(Re){return G(O0,Re)===Px})===-1)return}var me=O?P0(O0,[O]):b1;return e.Debug.assert(!I(me)),e.Debug.assert(!nx||O!==void 0),e.Debug.assert(!nx||me[me.length-1]===O),nx?me.slice(0,me.length-1):me}function x0(O0){O0.cache&&l0(O0);var C1=O0.compilerHost,nx=O0.host,O=O0.readFileWithCache,b1=C1.getSourceFile,Px=e.changeCompilerHostLikeToUseCache(nx,function(Ir){return j(O0,Ir)},function(){for(var Ir=[],xr=0;xr<arguments.length;xr++)Ir[xr]=arguments[xr];return b1.call.apply(b1,D([C1],Ir))}),me=Px.originalReadFile,Re=Px.originalFileExists,gt=Px.originalDirectoryExists,Vt=Px.originalCreateDirectory,wr=Px.originalWriteFile,gr=Px.getSourceFileWithCache,Nt=Px.readFileWithCache;O0.readFileWithCache=Nt,C1.getSourceFile=gr,O0.cache={originalReadFile:me,originalFileExists:Re,originalDirectoryExists:gt,originalCreateDirectory:Vt,originalWriteFile:wr,originalReadFileWithCache:O,originalGetSourceFile:b1}}function l0(O0){if(O0.cache){var C1=O0.cache,nx=O0.host,O=O0.compilerHost,b1=O0.extendedConfigCache,Px=O0.moduleResolutionCache,me=O0.typeReferenceDirectiveResolutionCache;nx.readFile=C1.originalReadFile,nx.fileExists=C1.originalFileExists,nx.directoryExists=C1.originalDirectoryExists,nx.createDirectory=C1.originalCreateDirectory,nx.writeFile=C1.originalWriteFile,O.getSourceFile=C1.originalGetSourceFile,O0.readFileWithCache=C1.originalReadFileWithCache,b1.clear(),Px==null||Px.clear(),me==null||me.clear(),O0.cache=void 0}}function w0(O0,C1){O0.projectStatus.delete(C1),O0.diagnostics.delete(C1)}function V(O0,C1,nx){var O=O0.projectPendingBuild,b1=O.get(C1);(b1===void 0||b1<nx)&&O.set(C1,nx)}function w(O0,C1){O0.allProjectBuildPending&&(O0.allProjectBuildPending=!1,O0.options.watch&&p1(O0,e.Diagnostics.Starting_compilation_in_watch_mode),x0(O0),A(c0(O0)).forEach(function(nx){return O0.projectPendingBuild.set(G(O0,nx),e.ConfigFileProgramReloadLevel.None)}),C1&&C1.throwIfCancellationRequested())}function H(O0,C1){return O0.projectPendingBuild.delete(C1),O0.currentInvalidatedProject=void 0,O0.diagnostics.has(C1)?e.ExitStatus.DiagnosticsPresent_OutputsSkipped:e.ExitStatus.Success}function k0(O0,C1,nx,O,b1){var Px=!0;return{kind:X.UpdateOutputFileStamps,project:C1,projectPath:nx,buildOrder:b1,getCompilerOptions:function(){return O.options},getCurrentDirectory:function(){return O0.currentDirectory},updateOutputFileStatmps:function(){Y0(O0,O,nx),Px=!1},done:function(){return Px&&Y0(O0,O,nx),H(O0,nx)}}}function V0(O0,C1,nx,O,b1,Px,me){var Re,gt,Vt,wr=O0===X.Build?J.CreateProgram:J.EmitBundle;return O0===X.Build?{kind:O0,project:nx,projectPath:O,buildOrder:me,getCompilerOptions:function(){return Px.options},getCurrentDirectory:function(){return C1.currentDirectory},getBuilderProgram:function(){return Nt(e.identity)},getProgram:function(){return Nt(function(lr){return lr.getProgramOrUndefined()})},getSourceFile:function(lr){return Nt(function(en){return en.getSourceFile(lr)})},getSourceFiles:function(){return Ir(function(lr){return lr.getSourceFiles()})},getOptionsDiagnostics:function(lr){return Ir(function(en){return en.getOptionsDiagnostics(lr)})},getGlobalDiagnostics:function(lr){return Ir(function(en){return en.getGlobalDiagnostics(lr)})},getConfigFileParsingDiagnostics:function(){return Ir(function(lr){return lr.getConfigFileParsingDiagnostics()})},getSyntacticDiagnostics:function(lr,en){return Ir(function(ii){return ii.getSyntacticDiagnostics(lr,en)})},getAllDependencies:function(lr){return Ir(function(en){return en.getAllDependencies(lr)})},getSemanticDiagnostics:function(lr,en){return Ir(function(ii){return ii.getSemanticDiagnostics(lr,en)})},getSemanticDiagnosticsOfNextAffectedFile:function(lr,en){return Nt(function(ii){return ii.getSemanticDiagnosticsOfNextAffectedFile&&ii.getSemanticDiagnosticsOfNextAffectedFile(lr,en)})},emit:function(lr,en,ii,Tt,bn){return lr||Tt?Nt(function(Le){var Sa,Yn;return Le.emit(lr,en,ii,Tt,bn||((Yn=(Sa=C1.host).getCustomTransformers)===null||Yn===void 0?void 0:Yn.call(Sa,nx)))}):(Gt(J.SemanticDiagnostics,ii),wr===J.EmitBuildInfo?oi(en,ii):wr===J.Emit?Kn(en,ii,bn):void 0)},done:gr}:{kind:O0,project:nx,projectPath:O,buildOrder:me,getCompilerOptions:function(){return Px.options},getCurrentDirectory:function(){return C1.currentDirectory},emit:function(lr,en){return wr!==J.EmitBundle?Vt:dt(lr,en)},done:gr};function gr(lr,en,ii){return Gt(J.Done,lr,en,ii),H(C1,O)}function Nt(lr){return Gt(J.CreateProgram),Re&&lr(Re)}function Ir(lr){return Nt(lr)||e.emptyArray}function xr(){var lr,en;if(e.Debug.assert(Re===void 0),C1.options.dry)return p0(C1,e.Diagnostics.A_non_dry_build_would_build_project_0,nx),gt=s.Success,void(wr=J.QueueReferencingProjects);if(C1.options.verbose&&p0(C1,e.Diagnostics.Building_project_0,nx),Px.fileNames.length===0)return N1(C1,O,e.getConfigFileParsingDiagnostics(Px)),gt=s.None,void(wr=J.QueueReferencingProjects);var ii=C1.host,Tt=C1.compilerHost;C1.projectCompilerOptions=Px.options,(lr=C1.moduleResolutionCache)===null||lr===void 0||lr.update(Px.options),(en=C1.typeReferenceDirectiveResolutionCache)===null||en===void 0||en.update(Px.options),Re=ii.createProgram(Px.fileNames,Px.options,Tt,function(bn,Le,Sa){var Yn=bn.options,W1=bn.builderPrograms,cx=bn.compilerHost;if(!Yn.force){var E1=W1.get(Le);return E1||e.readBuilderProgram(Sa.options,cx)}}(C1,O,Px),e.getConfigFileParsingDiagnostics(Px),Px.projectReferences),C1.watch&&C1.builderPrograms.set(O,Re),wr++}function Bt(lr,en,ii){var Tt;lr.length?(Tt=d1(C1,O,Re,Px,lr,en,ii),gt=Tt.buildResult,wr=Tt.step):wr++}function ar(lr){e.Debug.assertIsDefined(Re),Bt(D(D(D(D([],Re.getConfigFileParsingDiagnostics()),Re.getOptionsDiagnostics(lr)),Re.getGlobalDiagnostics(lr)),Re.getSyntacticDiagnostics(void 0,lr)),s.SyntaxErrors,\"Syntactic\")}function Ni(lr){Bt(e.Debug.checkDefined(Re).getSemanticDiagnostics(void 0,lr),s.TypeErrors,\"Semantic\")}function Kn(lr,en,ii){var Tt,bn,Le,Sa;e.Debug.assertIsDefined(Re),e.Debug.assert(wr===J.Emit),Re.backupState();var Yn=[],W1=e.emitFilesAndReportErrors(Re,function(ut){return(Sa||(Sa=[])).push(ut)},void 0,void 0,function(ut,Gr,B){return Yn.push({name:ut,text:Gr,writeByteOrderMark:B})},en,!1,ii||((Le=(bn=C1.host).getCustomTransformers)===null||Le===void 0?void 0:Le.call(bn,nx))).emitResult;if(Sa)return Re.restoreState(),Tt=d1(C1,O,Re,Px,Sa,s.DeclarationEmitErrors,\"Declaration file\"),gt=Tt.buildResult,wr=Tt.step,{emitSkipped:!0,diagnostics:W1.diagnostics};var cx=C1.host,E1=C1.compilerHost,qx=s.DeclarationOutputUnchanged,xt=m0,ae=!1,Ut=e.createDiagnosticCollection(),or=new e.Map;return Yn.forEach(function(ut){var Gr,B=ut.name,h0=ut.text,M=ut.writeByteOrderMark;!ae&&E0(B)&&(cx.fileExists(B)&&C1.readFileWithCache(B)===h0?Gr=cx.getModifiedTime(B):(qx&=~s.DeclarationOutputUnchanged,ae=!0)),or.set(j(C1,B),B),e.writeFile(lr?{writeFile:lr}:E1,Ut,B,h0,M),Gr!==void 0&&(xt=H0(Gr,xt))}),Ba(Ut,or,xt,ae,Yn.length?Yn[0].name:e.getFirstProjectOutput(Px,!cx.useCaseSensitiveFileNames()),qx),W1}function oi(lr,en){e.Debug.assertIsDefined(Re),e.Debug.assert(wr===J.EmitBuildInfo);var ii=Re.emitBuildInfo(lr,en);return ii.diagnostics.length&&(Y1(C1,ii.diagnostics),C1.diagnostics.set(O,D(D([],C1.diagnostics.get(O)),ii.diagnostics)),gt=s.EmitErrors&gt),ii.emittedFiles&&C1.write&&ii.emittedFiles.forEach(function(Tt){return y0(C1,Px,Tt)}),G0(C1,Re,Px),wr=J.QueueReferencingProjects,ii}function Ba(lr,en,ii,Tt,bn,Le){var Sa,Yn=lr.getDiagnostics();if(Yn.length)return Sa=d1(C1,O,Re,Px,Yn,s.EmitErrors,\"Emit\"),gt=Sa.buildResult,wr=Sa.step,Yn;C1.write&&en.forEach(function(cx){return y0(C1,Px,cx)});var W1=Q1(C1,Px,ii,e.Diagnostics.Updating_unchanged_output_timestamps_of_project_0,en);return C1.diagnostics.delete(O),C1.projectStatus.set(O,{type:e.UpToDateStatusType.UpToDate,newestDeclarationFileContentChangedTime:Tt?s1:W1,oldestOutputFileName:bn}),G0(C1,Re,Px),wr=J.QueueReferencingProjects,gt=Le,Yn}function dt(lr,en){var ii,Tt;if(e.Debug.assert(O0===X.UpdateBundle),C1.options.dry)return p0(C1,e.Diagnostics.A_non_dry_build_would_update_output_of_project_0,nx),gt=s.Success,void(wr=J.QueueReferencingProjects);C1.options.verbose&&p0(C1,e.Diagnostics.Updating_output_of_project_0,nx);var bn=C1.compilerHost;C1.projectCompilerOptions=Px.options;var Le=e.emitUsingBuildInfo(Px,bn,function(W1){var cx=d0(C1,W1.path);return g0(C1,cx,G(C1,cx))},en||((Tt=(ii=C1.host).getCustomTransformers)===null||Tt===void 0?void 0:Tt.call(ii,nx)));if(e.isString(Le))return p0(C1,e.Diagnostics.Cannot_update_output_of_project_0_because_there_was_error_reading_file_1,nx,U0(C1,Le)),wr=J.BuildInvalidatedProjectOfBundle,Vt=V0(X.Build,C1,nx,O,b1,Px,me);e.Debug.assert(!!Le.length);var Sa=e.createDiagnosticCollection(),Yn=new e.Map;return Le.forEach(function(W1){var cx=W1.name,E1=W1.text,qx=W1.writeByteOrderMark;Yn.set(j(C1,cx),cx),e.writeFile(lr?{writeFile:lr}:bn,Sa,cx,E1,qx)}),{emitSkipped:!1,diagnostics:Ba(Sa,Yn,m0,!1,Le[0].name,s.DeclarationOutputUnchanged)}}function Gt(lr,en,ii,Tt){for(;wr<=lr&&wr<J.Done;){var bn=wr;switch(wr){case J.CreateProgram:xr();break;case J.SyntaxDiagnostics:ar(en);break;case J.SemanticDiagnostics:Ni(en);break;case J.Emit:Kn(ii,en,Tt);break;case J.EmitBuildInfo:oi(ii,en);break;case J.EmitBundle:dt(ii,Tt);break;case J.BuildInvalidatedProjectOfBundle:e.Debug.checkDefined(Vt).done(en,ii,Tt),wr=J.Done;break;case J.QueueReferencingProjects:$1(C1,nx,O,b1,Px,me,e.Debug.checkDefined(gt)),wr++;break;case J.Done:default:e.assertType(wr)}e.Debug.assert(wr>bn)}}}function t0(O0,C1,nx){var O=O0.options;return!(C1.type===e.UpToDateStatusType.OutOfDateWithPrepend&&!O.force)||nx.fileNames.length===0||!!e.getConfigFileParsingDiagnostics(nx).length||!e.isIncrementalCompilation(nx.options)}function f0(O0,C1,nx){if(O0.projectPendingBuild.size&&!I(C1)){if(O0.currentInvalidatedProject)return e.arrayIsEqualTo(O0.currentInvalidatedProject.buildOrder,C1)?O0.currentInvalidatedProject:void 0;for(var O=O0.options,b1=O0.projectPendingBuild,Px=0;Px<C1.length;Px++){var me=C1[Px],Re=G(O0,me),gt=O0.projectPendingBuild.get(Re);if(gt!==void 0){nx&&(nx=!1,$x(O0,C1));var Vt=g0(O0,me,Re);if(Vt){gt===e.ConfigFileProgramReloadLevel.Full?(G1(O0,me,Re,Vt),Nx(O0,Re,Vt),n1(O0,me,Re,Vt),S0(O0,me,Re,Vt)):gt===e.ConfigFileProgramReloadLevel.Partial&&(Vt.fileNames=e.getFileNamesFromConfigSpecs(Vt.options.configFile.configFileSpecs,e.getDirectoryPath(me),Vt.options,O0.parseConfigFileHost),e.updateErrorForNoInputFiles(Vt.fileNames,me,Vt.options.configFile.configFileSpecs,Vt.errors,e.canJsonReportNoInputFiles(Vt.raw)),S0(O0,me,Re,Vt));var wr=S1(O0,Vt,Re);if(rx(O0,me,wr),!O.force){if(wr.type===e.UpToDateStatusType.UpToDate){N1(O0,Re,e.getConfigFileParsingDiagnostics(Vt)),b1.delete(Re),O.dry&&p0(O0,e.Diagnostics.Project_0_is_up_to_date,me);continue}if(wr.type===e.UpToDateStatusType.UpToDateWithUpstreamTypes)return N1(O0,Re,e.getConfigFileParsingDiagnostics(Vt)),k0(O0,me,Re,Vt,C1)}if(wr.type!==e.UpToDateStatusType.UpstreamBlocked){if(wr.type!==e.UpToDateStatusType.ContainerOnly)return V0(t0(O0,wr,Vt)?X.Build:X.UpdateBundle,O0,me,Re,Px,Vt,C1);N1(O0,Re,e.getConfigFileParsingDiagnostics(Vt)),b1.delete(Re)}else N1(O0,Re,e.getConfigFileParsingDiagnostics(Vt)),b1.delete(Re),O.verbose&&p0(O0,wr.upstreamProjectBlocked?e.Diagnostics.Skipping_build_of_project_0_because_its_dependency_1_was_not_built:e.Diagnostics.Skipping_build_of_project_0_because_its_dependency_1_has_errors,me,wr.upstreamProjectName)}else V1(O0,Re),b1.delete(Re)}}}}function y0(O0,C1,nx){var O=O0.write;O&&C1.options.listEmittedFiles&&O(\"TSFILE: \"+nx)}function G0(O0,C1,nx){C1?(C1&&O0.write&&e.listFiles(C1,O0.write),O0.host.afterProgramEmitAndDiagnostics&&O0.host.afterProgramEmitAndDiagnostics(C1),C1.releaseProgram()):O0.host.afterEmitBundle&&O0.host.afterEmitBundle(nx),O0.projectCompilerOptions=O0.baseCompilerOptions}function d1(O0,C1,nx,O,b1,Px,me){var Re=!(Px&s.SyntaxErrors)&&nx&&!e.outFile(nx.getCompilerOptions());return N1(O0,C1,b1),O0.projectStatus.set(C1,{type:e.UpToDateStatusType.Unbuildable,reason:me+\" errors\"}),Re?{buildResult:Px,step:J.EmitBuildInfo}:(G0(O0,nx,O),{buildResult:Px,step:J.QueueReferencingProjects})}function h1(O0,C1,nx,O){if(nx<e.getModifiedTime(O0.host,C1))return{type:e.UpToDateStatusType.OutOfDateWithSelf,outOfDateOutputFileName:O,newerInputFileName:C1}}function S1(O0,C1,nx){if(C1===void 0)return{type:e.UpToDateStatusType.Unbuildable,reason:\"File deleted mid-build\"};var O=O0.projectStatus.get(nx);if(O!==void 0)return O;var b1=function(Px,me,Re){for(var gt=!!Px.options.force,Vt=void 0,wr=m0,gr=Px.host,Nt=0,Ir=me.fileNames;Nt<Ir.length;Nt++){var xr=Ir[Nt];if(!gr.fileExists(xr))return{type:e.UpToDateStatusType.Unbuildable,reason:xr+\" does not exist\"};if(!gt){var Bt=e.getModifiedTime(gr,xr);gr.getModifiedTime(xr),Bt>wr&&(Vt=xr,wr=Bt)}}if(!me.fileNames.length&&!e.canJsonReportNoInputFiles(me.raw))return{type:e.UpToDateStatusType.ContainerOnly};var ar,Ni=e.getAllProjectOutputs(me,!gr.useCaseSensitiveFileNames()),Kn=\"(none)\",oi=s1,Ba=\"(none)\",dt=m0,Gt=m0,lr=!1;if(!gt)for(var en=0,ii=Ni;en<ii.length;en++){var Tt=ii[en];if(!gr.fileExists(Tt)){ar=Tt;break}var bn=e.getModifiedTime(gr,Tt);if(bn<oi&&(oi=bn,Kn=Tt),bn<wr){lr=!0;break}bn>dt&&(dt=bn,Ba=Tt),E0(Tt)&&(Gt=H0(Gt,e.getModifiedTime(gr,Tt)))}var Le,Sa=!1,Yn=!1;if(me.projectReferences){Px.projectStatus.set(Re,{type:e.UpToDateStatusType.ComputingUpstream});for(var W1=0,cx=me.projectReferences;W1<cx.length;W1++){var E1=cx[W1];Yn=Yn||!!E1.prepend;var qx=e.resolveProjectReferencePath(E1),xt=G(Px,qx),ae=S1(Px,g0(Px,qx,xt),xt);if(ae.type!==e.UpToDateStatusType.ComputingUpstream&&ae.type!==e.UpToDateStatusType.ContainerOnly){if(ae.type===e.UpToDateStatusType.Unbuildable||ae.type===e.UpToDateStatusType.UpstreamBlocked)return{type:e.UpToDateStatusType.UpstreamBlocked,upstreamProjectName:E1.path,upstreamProjectBlocked:ae.type===e.UpToDateStatusType.UpstreamBlocked};if(ae.type!==e.UpToDateStatusType.UpToDate)return{type:e.UpToDateStatusType.UpstreamOutOfDate,upstreamProjectName:E1.path};if(!gt&&!ar){if(ae.newestInputFileTime&&ae.newestInputFileTime<=oi)continue;if(ae.newestDeclarationFileContentChangedTime&&ae.newestDeclarationFileContentChangedTime<=oi){Sa=!0,Le=E1.path;continue}return e.Debug.assert(Kn!==void 0,\"Should have an oldest output filename here\"),{type:e.UpToDateStatusType.OutOfDateWithUpstream,outOfDateOutputFileName:Kn,newerProjectName:E1.path}}}}}if(ar!==void 0)return{type:e.UpToDateStatusType.OutputMissing,missingOutputFileName:ar};if(lr)return{type:e.UpToDateStatusType.OutOfDateWithSelf,outOfDateOutputFileName:Kn,newerInputFileName:Vt};var Ut=h1(Px,me.options.configFilePath,oi,Kn);if(Ut)return Ut;var or=e.forEach(me.options.configFile.extendedSourceFiles||e.emptyArray,function(h0){return h1(Px,h0,oi,Kn)});if(or)return or;if(!gt&&!Px.buildInfoChecked.has(Re)){Px.buildInfoChecked.set(Re,!0);var ut=e.getTsBuildInfoEmitOutputFilePath(me.options);if(ut){var Gr=Px.readFileWithCache(ut),B=Gr&&e.getBuildInfo(Gr);if(B&&(B.bundle||B.program)&&B.version!==e.version)return{type:e.UpToDateStatusType.TsVersionOutputOfDate,version:B.version}}}return Yn&&Sa?{type:e.UpToDateStatusType.OutOfDateWithPrepend,outOfDateOutputFileName:Kn,newerProjectName:Le}:{type:Sa?e.UpToDateStatusType.UpToDateWithUpstreamTypes:e.UpToDateStatusType.UpToDate,newestDeclarationFileContentChangedTime:Gt,newestInputFileTime:wr,newestOutputFileTime:dt,newestInputFileName:Vt,newestOutputFileName:Ba,oldestOutputFileName:Kn}}(O0,C1,nx);return O0.projectStatus.set(nx,b1),b1}function Q1(O0,C1,nx,O,b1){var Px=O0.host,me=e.getAllProjectOutputs(C1,!Px.useCaseSensitiveFileNames());if(!b1||me.length!==b1.size)for(var Re=!!O0.options.verbose,gt=Px.now?Px.now():new Date,Vt=0,wr=me;Vt<wr.length;Vt++){var gr=wr[Vt];b1&&b1.has(j(O0,gr))||(Re&&(Re=!1,p0(O0,O,C1.options.configFilePath)),E0(gr)&&(nx=H0(nx,e.getModifiedTime(Px,gr))),Px.setModifiedTime(gr,gt))}return nx}function Y0(O0,C1,nx){if(O0.options.dry)return p0(O0,e.Diagnostics.A_non_dry_build_would_update_timestamps_for_output_of_project_0,C1.options.configFilePath);var O=Q1(O0,C1,m0,e.Diagnostics.Updating_output_timestamps_of_project_0);O0.projectStatus.set(nx,{type:e.UpToDateStatusType.UpToDate,newestDeclarationFileContentChangedTime:O,oldestOutputFileName:e.getFirstProjectOutput(C1,!O0.host.useCaseSensitiveFileNames())})}function $1(O0,C1,nx,O,b1,Px,me){if(!(me&s.AnyErrors)&&b1.options.composite)for(var Re=O+1;Re<Px.length;Re++){var gt=Px[Re],Vt=G(O0,gt);if(!O0.projectPendingBuild.has(Vt)){var wr=g0(O0,gt,Vt);if(wr&&wr.projectReferences)for(var gr=0,Nt=wr.projectReferences;gr<Nt.length;gr++){var Ir=Nt[gr];if(G(O0,d0(O0,Ir.path))===nx){var xr=O0.projectStatus.get(Vt);if(xr)switch(xr.type){case e.UpToDateStatusType.UpToDate:if(me&s.DeclarationOutputUnchanged){Ir.prepend?O0.projectStatus.set(Vt,{type:e.UpToDateStatusType.OutOfDateWithPrepend,outOfDateOutputFileName:xr.oldestOutputFileName,newerProjectName:C1}):xr.type=e.UpToDateStatusType.UpToDateWithUpstreamTypes;break}case e.UpToDateStatusType.UpToDateWithUpstreamTypes:case e.UpToDateStatusType.OutOfDateWithPrepend:me&s.DeclarationOutputUnchanged||O0.projectStatus.set(Vt,{type:e.UpToDateStatusType.OutOfDateWithUpstream,outOfDateOutputFileName:xr.type===e.UpToDateStatusType.OutOfDateWithPrepend?xr.outOfDateOutputFileName:xr.oldestOutputFileName,newerProjectName:C1});break;case e.UpToDateStatusType.UpstreamBlocked:G(O0,d0(O0,xr.upstreamProjectName))===nx&&w0(O0,Vt)}V(O0,Vt,e.ConfigFileProgramReloadLevel.None);break}}}}}function Z1(O0,C1,nx,O,b1,Px){var me=D0(O0,C1,Px);if(!me)return e.ExitStatus.InvalidProject_OutputsSkipped;w(O0,nx);for(var Re=!0,gt=0;;){var Vt=f0(O0,me,Re);if(!Vt)break;Re=!1,Vt.done(nx,O,b1==null?void 0:b1(Vt.project)),O0.diagnostics.has(Vt.projectPath)||gt++}return l0(O0),Ox(O0,me),function(wr,gr){if(!!wr.watchAllProjectsPending){wr.watchAllProjectsPending=!1;for(var Nt=0,Ir=A(gr);Nt<Ir.length;Nt++){var xr=Ir[Nt],Bt=G(wr,xr),ar=g0(wr,xr,Bt);G1(wr,xr,Bt,ar),Nx(wr,Bt,ar),ar&&(n1(wr,xr,Bt,ar),S0(wr,xr,Bt,ar))}}}(O0,me),I(me)?e.ExitStatus.ProjectReferenceCycle_OutputsSkipped:me.some(function(wr){return O0.diagnostics.has(G(O0,wr))})?gt?e.ExitStatus.DiagnosticsPresent_OutputsGenerated:e.ExitStatus.DiagnosticsPresent_OutputsSkipped:e.ExitStatus.Success}function Q0(O0,C1,nx){var O=D0(O0,C1,nx);if(!O)return e.ExitStatus.InvalidProject_OutputsSkipped;if(I(O))return Y1(O0,O.circularDiagnostics),e.ExitStatus.ProjectReferenceCycle_OutputsSkipped;for(var b1=O0.options,Px=O0.host,me=b1.dry?[]:void 0,Re=0,gt=O;Re<gt.length;Re++){var Vt=gt[Re],wr=G(O0,Vt),gr=g0(O0,Vt,wr);if(gr!==void 0){var Nt=e.getAllProjectOutputs(gr,!Px.useCaseSensitiveFileNames());if(Nt.length)for(var Ir=new e.Set(gr.fileNames.map(function(Ni){return j(O0,Ni)})),xr=0,Bt=Nt;xr<Bt.length;xr++){var ar=Bt[xr];Ir.has(j(O0,ar))||Px.fileExists(ar)&&(me?me.push(ar):(Px.deleteFile(ar),y1(O0,wr,e.ConfigFileProgramReloadLevel.None)))}}else V1(O0,wr)}return me&&p0(O0,e.Diagnostics.A_non_dry_build_would_delete_the_following_files_Colon_0,me.map(function(Ni){return`\\r\n * `+Ni}).join(\"\")),e.ExitStatus.Success}function y1(O0,C1,nx){O0.host.getParsedCommandLine&&nx===e.ConfigFileProgramReloadLevel.Partial&&(nx=e.ConfigFileProgramReloadLevel.Full),nx===e.ConfigFileProgramReloadLevel.Full&&(O0.configFileCache.delete(C1),O0.buildOrder=void 0),O0.needsSummary=!0,w0(O0,C1),V(O0,C1,nx),x0(O0)}function k1(O0,C1,nx){O0.reportFileChangeDetected=!0,y1(O0,C1,nx),I1(O0)}function I1(O0){var C1=O0.hostWithWatch;C1.setTimeout&&C1.clearTimeout&&(O0.timerToBuildInvalidatedProject&&C1.clearTimeout(O0.timerToBuildInvalidatedProject),O0.timerToBuildInvalidatedProject=C1.setTimeout(K0,250,O0))}function K0(O0){O0.timerToBuildInvalidatedProject=void 0,O0.reportFileChangeDetected&&(O0.reportFileChangeDetected=!1,O0.projectErrorsReported.clear(),p1(O0,e.Diagnostics.File_change_detected_Starting_incremental_compilation));var C1=c0(O0),nx=f0(O0,C1,!1);nx&&(nx.done(),O0.projectPendingBuild.size)?O0.watch&&!O0.timerToBuildInvalidatedProject&&I1(O0):(l0(O0),Ox(O0,C1))}function G1(O0,C1,nx,O){O0.watch&&!O0.allWatchedConfigFiles.has(nx)&&O0.allWatchedConfigFiles.set(nx,O0.watchFile(C1,function(){k1(O0,nx,e.ConfigFileProgramReloadLevel.Full)},e.PollingInterval.High,O==null?void 0:O.watchOptions,e.WatchType.ConfigFile,C1))}function Nx(O0,C1,nx){e.updateSharedExtendedConfigFileWatcher(C1,nx==null?void 0:nx.options,O0.allWatchedExtendedConfigFiles,function(O,b1){return O0.watchFile(O,function(){var Px;return(Px=O0.allWatchedExtendedConfigFiles.get(b1))===null||Px===void 0?void 0:Px.projects.forEach(function(me){return k1(O0,me,e.ConfigFileProgramReloadLevel.Full)})},e.PollingInterval.High,nx==null?void 0:nx.watchOptions,e.WatchType.ExtendedConfigFile)},function(O){return j(O0,O)})}function n1(O0,C1,nx,O){O0.watch&&e.updateWatchingWildcardDirectories(i0(O0.allWatchedWildcardDirectories,nx),new e.Map(e.getEntries(O.wildcardDirectories)),function(b1,Px){return O0.watchDirectory(b1,function(me){var Re;e.isIgnoredFileFromWildCardWatching({watchedDirPath:j(O0,b1),fileOrDirectory:me,fileOrDirectoryPath:j(O0,me),configFileName:C1,currentDirectory:O0.currentDirectory,options:O.options,program:O0.builderPrograms.get(nx)||((Re=U(O0,nx))===null||Re===void 0?void 0:Re.fileNames),useCaseSensitiveFileNames:O0.parseConfigFileHost.useCaseSensitiveFileNames,writeLog:function(gt){return O0.writeLog(gt)},toPath:function(gt){return j(O0,gt)}})||k1(O0,nx,e.ConfigFileProgramReloadLevel.Partial)},Px,O==null?void 0:O.watchOptions,e.WatchType.WildcardDirectory,C1)})}function S0(O0,C1,nx,O){O0.watch&&e.mutateMap(i0(O0.allWatchedInputFiles,nx),e.arrayToMap(O.fileNames,function(b1){return j(O0,b1)}),{createNewValue:function(b1,Px){return O0.watchFile(Px,function(){return k1(O0,nx,e.ConfigFileProgramReloadLevel.None)},e.PollingInterval.Low,O==null?void 0:O.watchOptions,e.WatchType.SourceFile,C1)},onDeleteValue:e.closeFileWatcher})}function I0(O0,C1,nx,O,b1){var Px=o0(O0,C1,nx,O,b1);return{build:function(me,Re,gt,Vt){return Z1(Px,me,Re,gt,Vt)},clean:function(me){return Q0(Px,me)},buildReferences:function(me,Re,gt,Vt){return Z1(Px,me,Re,gt,Vt,!0)},cleanReferences:function(me){return Q0(Px,me,!0)},getNextInvalidatedProject:function(me){return w(Px,me),f0(Px,c0(Px),!1)},getBuildOrder:function(){return c0(Px)},getUpToDateStatusOfProject:function(me){var Re=d0(Px,me),gt=G(Px,Re);return S1(Px,g0(Px,Re,gt),gt)},invalidateProject:function(me,Re){return y1(Px,me,Re||e.ConfigFileProgramReloadLevel.None)},buildNextInvalidatedProject:function(){return K0(Px)},getAllParsedConfigs:function(){return e.arrayFrom(e.mapDefinedIterator(Px.configFileCache.values(),function(me){return u0(me)?me:void 0}))},close:function(){return function(me){e.clearMap(me.allWatchedConfigFiles,e.closeFileWatcher),e.clearMap(me.allWatchedExtendedConfigFiles,e.closeFileWatcherOf),e.clearMap(me.allWatchedWildcardDirectories,function(Re){return e.clearMap(Re,e.closeFileWatcherOf)}),e.clearMap(me.allWatchedInputFiles,function(Re){return e.clearMap(Re,e.closeFileWatcher)})}(Px)}}}function U0(O0,C1){return e.convertToRelativePath(C1,O0.currentDirectory,function(nx){return O0.getCanonicalFileName(nx)})}function p0(O0,C1){for(var nx=[],O=2;O<arguments.length;O++)nx[O-2]=arguments[O];O0.host.reportSolutionBuilderStatus(e.createCompilerDiagnostic.apply(void 0,D([C1],nx)))}function p1(O0,C1){for(var nx,O,b1=[],Px=2;Px<arguments.length;Px++)b1[Px-2]=arguments[Px];(O=(nx=O0.hostWithWatch).onWatchStatusChange)===null||O===void 0||O.call(nx,e.createCompilerDiagnostic.apply(void 0,D([C1],b1)),O0.host.getNewLine(),O0.baseCompilerOptions)}function Y1(O0,C1){var nx=O0.host;C1.forEach(function(O){return nx.reportDiagnostic(O)})}function N1(O0,C1,nx){Y1(O0,nx),O0.projectErrorsReported.set(C1,!0),nx.length&&O0.diagnostics.set(C1,nx)}function V1(O0,C1){N1(O0,C1,[O0.configFileCache.get(C1)])}function Ox(O0,C1){if(O0.needsSummary){O0.needsSummary=!1;var nx=O0.watch||!!O0.host.reportErrorSummary,O=O0.diagnostics,b1=0;I(C1)?($x(O0,C1.buildOrder),Y1(O0,C1.circularDiagnostics),nx&&(b1+=e.getErrorCountForSummary(C1.circularDiagnostics))):(C1.forEach(function(Px){var me=G(O0,Px);O0.projectErrorsReported.has(me)||Y1(O0,O.get(me)||e.emptyArray)}),nx&&O.forEach(function(Px){return b1+=e.getErrorCountForSummary(Px)})),O0.watch?p1(O0,e.getWatchErrorSummaryDiagnosticMessage(b1),b1):O0.host.reportErrorSummary&&O0.host.reportErrorSummary(b1)}}function $x(O0,C1){O0.options.verbose&&p0(O0,e.Diagnostics.Projects_in_this_build_Colon_0,C1.map(function(nx){return`\\r\n    * `+U0(O0,nx)}).join(\"\"))}function rx(O0,C1,nx){O0.options.verbose&&function(O,b1,Px){if(O.options.force&&(Px.type===e.UpToDateStatusType.UpToDate||Px.type===e.UpToDateStatusType.UpToDateWithUpstreamTypes))return p0(O,e.Diagnostics.Project_0_is_being_forcibly_rebuilt,U0(O,b1));switch(Px.type){case e.UpToDateStatusType.OutOfDateWithSelf:return p0(O,e.Diagnostics.Project_0_is_out_of_date_because_oldest_output_1_is_older_than_newest_input_2,U0(O,b1),U0(O,Px.outOfDateOutputFileName),U0(O,Px.newerInputFileName));case e.UpToDateStatusType.OutOfDateWithUpstream:return p0(O,e.Diagnostics.Project_0_is_out_of_date_because_oldest_output_1_is_older_than_newest_input_2,U0(O,b1),U0(O,Px.outOfDateOutputFileName),U0(O,Px.newerProjectName));case e.UpToDateStatusType.OutputMissing:return p0(O,e.Diagnostics.Project_0_is_out_of_date_because_output_file_1_does_not_exist,U0(O,b1),U0(O,Px.missingOutputFileName));case e.UpToDateStatusType.UpToDate:if(Px.newestInputFileTime!==void 0)return p0(O,e.Diagnostics.Project_0_is_up_to_date_because_newest_input_1_is_older_than_oldest_output_2,U0(O,b1),U0(O,Px.newestInputFileName||\"\"),U0(O,Px.oldestOutputFileName||\"\"));break;case e.UpToDateStatusType.OutOfDateWithPrepend:return p0(O,e.Diagnostics.Project_0_is_out_of_date_because_output_of_its_dependency_1_has_changed,U0(O,b1),U0(O,Px.newerProjectName));case e.UpToDateStatusType.UpToDateWithUpstreamTypes:return p0(O,e.Diagnostics.Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies,U0(O,b1));case e.UpToDateStatusType.UpstreamOutOfDate:return p0(O,e.Diagnostics.Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date,U0(O,b1),U0(O,Px.upstreamProjectName));case e.UpToDateStatusType.UpstreamBlocked:return p0(O,Px.upstreamProjectBlocked?e.Diagnostics.Project_0_can_t_be_built_because_its_dependency_1_was_not_built:e.Diagnostics.Project_0_can_t_be_built_because_its_dependency_1_has_errors,U0(O,b1),U0(O,Px.upstreamProjectName));case e.UpToDateStatusType.Unbuildable:return p0(O,e.Diagnostics.Failed_to_parse_file_0_Colon_1,U0(O,b1),Px.reason);case e.UpToDateStatusType.TsVersionOutputOfDate:return p0(O,e.Diagnostics.Project_0_is_out_of_date_because_output_for_it_was_generated_with_version_1_that_differs_with_current_version_2,U0(O,b1),Px.version,e.version);case e.UpToDateStatusType.ContainerOnly:case e.UpToDateStatusType.ComputingUpstream:break;default:e.assertType(Px)}}(O0,C1,nx)}(function(O0){O0[O0.None=0]=\"None\",O0[O0.Success=1]=\"Success\",O0[O0.DeclarationOutputUnchanged=2]=\"DeclarationOutputUnchanged\",O0[O0.ConfigFileErrors=4]=\"ConfigFileErrors\",O0[O0.SyntaxErrors=8]=\"SyntaxErrors\",O0[O0.TypeErrors=16]=\"TypeErrors\",O0[O0.DeclarationEmitErrors=32]=\"DeclarationEmitErrors\",O0[O0.EmitErrors=64]=\"EmitErrors\",O0[O0.AnyErrors=124]=\"AnyErrors\"})(s||(s={})),e.isCircularBuildOrder=I,e.getBuildOrderFromAnyBuildOrder=A,e.createBuilderStatusReporter=Z,e.createSolutionBuilderHost=function(O0,C1,nx,O,b1){O0===void 0&&(O0=e.sys);var Px=A0(O0,C1,nx,O);return Px.reportErrorSummary=b1,Px},e.createSolutionBuilderWithWatchHost=function(O0,C1,nx,O,b1){O0===void 0&&(O0=e.sys);var Px=A0(O0,C1,nx,O),me=e.createWatchHost(O0,b1);return e.copyProperties(Px,me),Px},e.createSolutionBuilder=function(O0,C1,nx){return I0(!1,O0,C1,nx)},e.createSolutionBuilderWithWatch=function(O0,C1,nx,O){return I0(!0,O0,C1,nx,O)},function(O0){O0[O0.Build=0]=\"Build\",O0[O0.UpdateBundle=1]=\"UpdateBundle\",O0[O0.UpdateOutputFileStamps=2]=\"UpdateOutputFileStamps\"}(X=e.InvalidatedProjectKind||(e.InvalidatedProjectKind={})),function(O0){O0[O0.CreateProgram=0]=\"CreateProgram\",O0[O0.SyntaxDiagnostics=1]=\"SyntaxDiagnostics\",O0[O0.SemanticDiagnostics=2]=\"SemanticDiagnostics\",O0[O0.Emit=3]=\"Emit\",O0[O0.EmitBundle=4]=\"EmitBundle\",O0[O0.EmitBuildInfo=5]=\"EmitBuildInfo\",O0[O0.BuildInvalidatedProjectOfBundle=6]=\"BuildInvalidatedProjectOfBundle\",O0[O0.QueueReferencingProjects=7]=\"QueueReferencingProjects\",O0[O0.Done=8]=\"Done\"}(J||(J={}))}(_0||(_0={})),function(e){var s,X;(s=e.server||(e.server={})).ActionSet=\"action::set\",s.ActionInvalidate=\"action::invalidate\",s.ActionPackageInstalled=\"action::packageInstalled\",s.EventTypesRegistry=\"event::typesRegistry\",s.EventBeginInstallTypes=\"event::beginInstallTypes\",s.EventEndInstallTypes=\"event::endInstallTypes\",s.EventInitializationFailed=\"event::initializationFailed\",(X=s.Arguments||(s.Arguments={})).GlobalCacheLocation=\"--globalTypingsCacheLocation\",X.LogFile=\"--logFile\",X.EnableTelemetry=\"--enableTelemetry\",X.TypingSafeListLocation=\"--typingSafeListLocation\",X.TypesMapLocation=\"--typesMapLocation\",X.NpmLocation=\"--npmLocation\",X.ValidateDefaultNpmLocation=\"--validateDefaultNpmLocation\",s.hasArgument=function(J){return e.sys.args.indexOf(J)>=0},s.findArgument=function(J){var m0=e.sys.args.indexOf(J);return m0>=0&&m0<e.sys.args.length-1?e.sys.args[m0+1]:void 0},s.nowString=function(){var J=new Date;return e.padLeft(J.getHours().toString(),2,\"0\")+\":\"+e.padLeft(J.getMinutes().toString(),2,\"0\")+\":\"+e.padLeft(J.getSeconds().toString(),2,\"0\")+\".\"+e.padLeft(J.getMilliseconds().toString(),3,\"0\")}}(_0||(_0={})),function(e){(function(s){function X(H0,E0){return new e.Version(e.getProperty(E0,\"ts\"+e.versionMajorMinor)||e.getProperty(E0,\"latest\")).compareTo(H0.version)<=0}function J(H0){return s.nodeCoreModules.has(H0)?\"node\":H0}var m0;s.isTypingUpToDate=X,s.nodeCoreModuleList=[\"assert\",\"async_hooks\",\"buffer\",\"child_process\",\"cluster\",\"console\",\"constants\",\"crypto\",\"dgram\",\"dns\",\"domain\",\"events\",\"fs\",\"http\",\"https\",\"http2\",\"inspector\",\"net\",\"os\",\"path\",\"perf_hooks\",\"process\",\"punycode\",\"querystring\",\"readline\",\"repl\",\"stream\",\"string_decoder\",\"timers\",\"tls\",\"tty\",\"url\",\"util\",\"v8\",\"vm\",\"zlib\"],s.nodeCoreModules=new e.Set(s.nodeCoreModuleList),s.nonRelativeModuleNameForTypingCache=J,s.loadSafeList=function(H0,E0){var I=e.readConfigFile(E0,function(A){return H0.readFile(A)});return new e.Map(e.getEntries(I.config))},s.loadTypesMap=function(H0,E0){var I=e.readConfigFile(E0,function(A){return H0.readFile(A)});if(I.config)return new e.Map(e.getEntries(I.config.simpleMap))},s.discoverTypings=function(H0,E0,I,A,Z,A0,o0,j,G){if(!o0||!o0.enable)return{cachedTypingPaths:[],newTypingNames:[],filesToWatch:[]};var u0=new e.Map;I=e.mapDefined(I,function(V0){var t0=e.normalizePath(V0);if(e.hasJSFileExtension(t0))return t0});var U=[];o0.include&&w(o0.include,\"Explicitly included types\");var g0=o0.exclude||[],d0=new e.Set(I.map(e.getDirectoryPath));d0.add(A),d0.forEach(function(V0){H(e.combinePaths(V0,\"package.json\"),U),H(e.combinePaths(V0,\"bower.json\"),U),k0(e.combinePaths(V0,\"bower_components\"),U),k0(e.combinePaths(V0,\"node_modules\"),U)}),o0.disableFilenameBasedTypeAcquisition||function(V0){var t0=e.mapDefined(V0,function(f0){if(e.hasJSFileExtension(f0)){var y0=e.removeFileExtension(e.getBaseFileName(f0.toLowerCase())),G0=e.removeMinAndVersionNumbers(y0);return Z.get(G0)}});t0.length&&w(t0,\"Inferred typings from file names\"),e.some(V0,function(f0){return e.fileExtensionIs(f0,\".jsx\")})&&(E0&&E0(\"Inferred 'react' typings due to presence of '.jsx' extension\"),V(\"react\"))}(I),j&&w(e.deduplicate(j.map(J),e.equateStringsCaseSensitive,e.compareStringsCaseSensitive),\"Inferred typings from unresolved imports\"),A0.forEach(function(V0,t0){var f0=G.get(t0);u0.has(t0)&&u0.get(t0)===void 0&&f0!==void 0&&X(V0,f0)&&u0.set(t0,V0.typingLocation)});for(var P0=0,c0=g0;P0<c0.length;P0++){var D0=c0[P0];u0.delete(D0)&&E0&&E0(\"Typing for \"+D0+\" is in exclude list, will be ignored.\")}var x0=[],l0=[];u0.forEach(function(V0,t0){V0!==void 0?l0.push(V0):x0.push(t0)});var w0={cachedTypingPaths:l0,newTypingNames:x0,filesToWatch:U};return E0&&E0(\"Result: \"+JSON.stringify(w0)),w0;function V(V0){u0.has(V0)||u0.set(V0,void 0)}function w(V0,t0){E0&&E0(t0+\": \"+JSON.stringify(V0)),e.forEach(V0,V)}function H(V0,t0){if(H0.fileExists(V0)){t0.push(V0);var f0=e.readConfigFile(V0,function(y0){return H0.readFile(y0)}).config;w(e.flatMap([f0.dependencies,f0.devDependencies,f0.optionalDependencies,f0.peerDependencies],e.getOwnKeys),\"Typing names in '\"+V0+\"' dependencies\")}}function k0(V0,t0){if(t0.push(V0),H0.directoryExists(V0)){var f0=H0.readDirectory(V0,[\".json\"],void 0,void 0,2);E0&&E0(\"Searching for typing names in \"+V0+\"; all files: \"+JSON.stringify(f0));for(var y0=[],G0=0,d1=f0;G0<d1.length;G0++){var h1=d1[G0],S1=e.normalizePath(h1),Q1=e.getBaseFileName(S1);if(Q1===\"package.json\"||Q1===\"bower.json\"){var Y0=e.readConfigFile(S1,function(Q0){return H0.readFile(Q0)}).config;if((Q1!==\"package.json\"||!Y0._requiredBy||e.filter(Y0._requiredBy,function(Q0){return Q0[0]===\"#\"||Q0===\"/\"}).length!==0)&&Y0.name){var $1=Y0.types||Y0.typings;if($1){var Z1=e.getNormalizedAbsolutePath($1,e.getDirectoryPath(S1));E0&&E0(\"    Package '\"+Y0.name+\"' provides its own types.\"),u0.set(Y0.name,Z1)}else y0.push(Y0.name)}}}w(y0,\"    Found package names\")}}},(m0=s.NameValidationResult||(s.NameValidationResult={}))[m0.Ok=0]=\"Ok\",m0[m0.EmptyName=1]=\"EmptyName\",m0[m0.NameTooLong=2]=\"NameTooLong\",m0[m0.NameStartsWithDot=3]=\"NameStartsWithDot\",m0[m0.NameStartsWithUnderscore=4]=\"NameStartsWithUnderscore\",m0[m0.NameContainsNonURISafeCharacters=5]=\"NameContainsNonURISafeCharacters\";function s1(H0,E0){if(!H0)return 1;if(H0.length>214)return 2;if(H0.charCodeAt(0)===46)return 3;if(H0.charCodeAt(0)===95)return 4;if(E0){var I=/^@([^/]+)\\/([^/]+)$/.exec(H0);if(I){var A=s1(I[1],!1);if(A!==0)return{name:I[1],isScopeName:!0,result:A};var Z=s1(I[2],!1);return Z!==0?{name:I[2],isScopeName:!1,result:Z}:0}}return encodeURIComponent(H0)!==H0?5:0}function i0(H0,E0,I,A){var Z=A?\"Scope\":\"Package\";switch(E0){case 1:return\"'\"+H0+\"':: \"+Z+\" name '\"+I+\"' cannot be empty\";case 2:return\"'\"+H0+\"':: \"+Z+\" name '\"+I+\"' should be less than 214 characters\";case 3:return\"'\"+H0+\"':: \"+Z+\" name '\"+I+\"' cannot start with '.'\";case 4:return\"'\"+H0+\"':: \"+Z+\" name '\"+I+\"' cannot start with '_'\";case 5:return\"'\"+H0+\"':: \"+Z+\" name '\"+I+\"' contains non URI safe characters\";case 0:return e.Debug.fail();default:throw e.Debug.assertNever(E0)}}s.validatePackageName=function(H0){return s1(H0,!0)},s.renderPackageNameValidationFailure=function(H0,E0){return typeof H0==\"object\"?i0(E0,H0.result,H0.name,H0.isScopeName):i0(E0,H0,E0,!1)}})(e.JsTyping||(e.JsTyping={}))}(_0||(_0={})),function(e){var s,X,J,m0,s1,i0,H0,E0,I,A,Z,A0,o0,j,G,u0,U,g0;function d0(P0){return{indentSize:4,tabSize:4,newLineCharacter:P0||`\n`,convertTabsToSpaces:!0,indentStyle:E0.Smart,insertSpaceAfterConstructor:!1,insertSpaceAfterCommaDelimiter:!0,insertSpaceAfterSemicolonInForStatements:!0,insertSpaceBeforeAndAfterBinaryOperators:!0,insertSpaceAfterKeywordsInControlFlowStatements:!0,insertSpaceAfterFunctionKeywordForAnonymousFunctions:!1,insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis:!1,insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets:!1,insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces:!0,insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces:!1,insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces:!1,insertSpaceBeforeFunctionParenthesis:!1,placeOpenBraceOnNewLineForFunctions:!1,placeOpenBraceOnNewLineForControlBlocks:!1,semicolons:I.Ignore,trimTrailingWhitespace:!0}}s=e.ScriptSnapshot||(e.ScriptSnapshot={}),X=function(){function P0(c0){this.text=c0}return P0.prototype.getText=function(c0,D0){return c0===0&&D0===this.text.length?this.text:this.text.substring(c0,D0)},P0.prototype.getLength=function(){return this.text.length},P0.prototype.getChangeRange=function(){},P0}(),s.fromString=function(P0){return new X(P0)},(J=e.PackageJsonDependencyGroup||(e.PackageJsonDependencyGroup={}))[J.Dependencies=1]=\"Dependencies\",J[J.DevDependencies=2]=\"DevDependencies\",J[J.PeerDependencies=4]=\"PeerDependencies\",J[J.OptionalDependencies=8]=\"OptionalDependencies\",J[J.All=15]=\"All\",(m0=e.PackageJsonAutoImportPreference||(e.PackageJsonAutoImportPreference={}))[m0.Off=0]=\"Off\",m0[m0.On=1]=\"On\",m0[m0.Auto=2]=\"Auto\",(s1=e.LanguageServiceMode||(e.LanguageServiceMode={}))[s1.Semantic=0]=\"Semantic\",s1[s1.PartialSemantic=1]=\"PartialSemantic\",s1[s1.Syntactic=2]=\"Syntactic\",e.emptyOptions={},(i0=e.SemanticClassificationFormat||(e.SemanticClassificationFormat={})).Original=\"original\",i0.TwentyTwenty=\"2020\",(H0=e.HighlightSpanKind||(e.HighlightSpanKind={})).none=\"none\",H0.definition=\"definition\",H0.reference=\"reference\",H0.writtenReference=\"writtenReference\",function(P0){P0[P0.None=0]=\"None\",P0[P0.Block=1]=\"Block\",P0[P0.Smart=2]=\"Smart\"}(E0=e.IndentStyle||(e.IndentStyle={})),function(P0){P0.Ignore=\"ignore\",P0.Insert=\"insert\",P0.Remove=\"remove\"}(I=e.SemicolonPreference||(e.SemicolonPreference={})),e.getDefaultFormatCodeSettings=d0,e.testFormatSettings=d0(`\n`),(A=e.SymbolDisplayPartKind||(e.SymbolDisplayPartKind={}))[A.aliasName=0]=\"aliasName\",A[A.className=1]=\"className\",A[A.enumName=2]=\"enumName\",A[A.fieldName=3]=\"fieldName\",A[A.interfaceName=4]=\"interfaceName\",A[A.keyword=5]=\"keyword\",A[A.lineBreak=6]=\"lineBreak\",A[A.numericLiteral=7]=\"numericLiteral\",A[A.stringLiteral=8]=\"stringLiteral\",A[A.localName=9]=\"localName\",A[A.methodName=10]=\"methodName\",A[A.moduleName=11]=\"moduleName\",A[A.operator=12]=\"operator\",A[A.parameterName=13]=\"parameterName\",A[A.propertyName=14]=\"propertyName\",A[A.punctuation=15]=\"punctuation\",A[A.space=16]=\"space\",A[A.text=17]=\"text\",A[A.typeParameterName=18]=\"typeParameterName\",A[A.enumMemberName=19]=\"enumMemberName\",A[A.functionName=20]=\"functionName\",A[A.regularExpressionLiteral=21]=\"regularExpressionLiteral\",A[A.link=22]=\"link\",A[A.linkName=23]=\"linkName\",A[A.linkText=24]=\"linkText\",(Z=e.OutliningSpanKind||(e.OutliningSpanKind={})).Comment=\"comment\",Z.Region=\"region\",Z.Code=\"code\",Z.Imports=\"imports\",(A0=e.OutputFileType||(e.OutputFileType={}))[A0.JavaScript=0]=\"JavaScript\",A0[A0.SourceMap=1]=\"SourceMap\",A0[A0.Declaration=2]=\"Declaration\",(o0=e.EndOfLineState||(e.EndOfLineState={}))[o0.None=0]=\"None\",o0[o0.InMultiLineCommentTrivia=1]=\"InMultiLineCommentTrivia\",o0[o0.InSingleQuoteStringLiteral=2]=\"InSingleQuoteStringLiteral\",o0[o0.InDoubleQuoteStringLiteral=3]=\"InDoubleQuoteStringLiteral\",o0[o0.InTemplateHeadOrNoSubstitutionTemplate=4]=\"InTemplateHeadOrNoSubstitutionTemplate\",o0[o0.InTemplateMiddleOrTail=5]=\"InTemplateMiddleOrTail\",o0[o0.InTemplateSubstitutionPosition=6]=\"InTemplateSubstitutionPosition\",(j=e.TokenClass||(e.TokenClass={}))[j.Punctuation=0]=\"Punctuation\",j[j.Keyword=1]=\"Keyword\",j[j.Operator=2]=\"Operator\",j[j.Comment=3]=\"Comment\",j[j.Whitespace=4]=\"Whitespace\",j[j.Identifier=5]=\"Identifier\",j[j.NumberLiteral=6]=\"NumberLiteral\",j[j.BigIntLiteral=7]=\"BigIntLiteral\",j[j.StringLiteral=8]=\"StringLiteral\",j[j.RegExpLiteral=9]=\"RegExpLiteral\",(G=e.ScriptElementKind||(e.ScriptElementKind={})).unknown=\"\",G.warning=\"warning\",G.keyword=\"keyword\",G.scriptElement=\"script\",G.moduleElement=\"module\",G.classElement=\"class\",G.localClassElement=\"local class\",G.interfaceElement=\"interface\",G.typeElement=\"type\",G.enumElement=\"enum\",G.enumMemberElement=\"enum member\",G.variableElement=\"var\",G.localVariableElement=\"local var\",G.functionElement=\"function\",G.localFunctionElement=\"local function\",G.memberFunctionElement=\"method\",G.memberGetAccessorElement=\"getter\",G.memberSetAccessorElement=\"setter\",G.memberVariableElement=\"property\",G.constructorImplementationElement=\"constructor\",G.callSignatureElement=\"call\",G.indexSignatureElement=\"index\",G.constructSignatureElement=\"construct\",G.parameterElement=\"parameter\",G.typeParameterElement=\"type parameter\",G.primitiveType=\"primitive type\",G.label=\"label\",G.alias=\"alias\",G.constElement=\"const\",G.letElement=\"let\",G.directory=\"directory\",G.externalModuleName=\"external module name\",G.jsxAttribute=\"JSX attribute\",G.string=\"string\",G.link=\"link\",G.linkName=\"link name\",G.linkText=\"link text\",(u0=e.ScriptElementKindModifier||(e.ScriptElementKindModifier={})).none=\"\",u0.publicMemberModifier=\"public\",u0.privateMemberModifier=\"private\",u0.protectedMemberModifier=\"protected\",u0.exportedModifier=\"export\",u0.ambientModifier=\"declare\",u0.staticModifier=\"static\",u0.abstractModifier=\"abstract\",u0.optionalModifier=\"optional\",u0.deprecatedModifier=\"deprecated\",u0.dtsModifier=\".d.ts\",u0.tsModifier=\".ts\",u0.tsxModifier=\".tsx\",u0.jsModifier=\".js\",u0.jsxModifier=\".jsx\",u0.jsonModifier=\".json\",(U=e.ClassificationTypeNames||(e.ClassificationTypeNames={})).comment=\"comment\",U.identifier=\"identifier\",U.keyword=\"keyword\",U.numericLiteral=\"number\",U.bigintLiteral=\"bigint\",U.operator=\"operator\",U.stringLiteral=\"string\",U.whiteSpace=\"whitespace\",U.text=\"text\",U.punctuation=\"punctuation\",U.className=\"class name\",U.enumName=\"enum name\",U.interfaceName=\"interface name\",U.moduleName=\"module name\",U.typeParameterName=\"type parameter name\",U.typeAliasName=\"type alias name\",U.parameterName=\"parameter name\",U.docCommentTagName=\"doc comment tag name\",U.jsxOpenTagName=\"jsx open tag name\",U.jsxCloseTagName=\"jsx close tag name\",U.jsxSelfClosingTagName=\"jsx self closing tag name\",U.jsxAttribute=\"jsx attribute\",U.jsxText=\"jsx text\",U.jsxAttributeStringLiteralValue=\"jsx attribute string literal value\",(g0=e.ClassificationType||(e.ClassificationType={}))[g0.comment=1]=\"comment\",g0[g0.identifier=2]=\"identifier\",g0[g0.keyword=3]=\"keyword\",g0[g0.numericLiteral=4]=\"numericLiteral\",g0[g0.operator=5]=\"operator\",g0[g0.stringLiteral=6]=\"stringLiteral\",g0[g0.regularExpressionLiteral=7]=\"regularExpressionLiteral\",g0[g0.whiteSpace=8]=\"whiteSpace\",g0[g0.text=9]=\"text\",g0[g0.punctuation=10]=\"punctuation\",g0[g0.className=11]=\"className\",g0[g0.enumName=12]=\"enumName\",g0[g0.interfaceName=13]=\"interfaceName\",g0[g0.moduleName=14]=\"moduleName\",g0[g0.typeParameterName=15]=\"typeParameterName\",g0[g0.typeAliasName=16]=\"typeAliasName\",g0[g0.parameterName=17]=\"parameterName\",g0[g0.docCommentTagName=18]=\"docCommentTagName\",g0[g0.jsxOpenTagName=19]=\"jsxOpenTagName\",g0[g0.jsxCloseTagName=20]=\"jsxCloseTagName\",g0[g0.jsxSelfClosingTagName=21]=\"jsxSelfClosingTagName\",g0[g0.jsxAttribute=22]=\"jsxAttribute\",g0[g0.jsxText=23]=\"jsxText\",g0[g0.jsxAttributeStringLiteralValue=24]=\"jsxAttributeStringLiteralValue\",g0[g0.bigintLiteral=25]=\"bigintLiteral\"}(_0||(_0={})),function(e){var s;function X(M){switch(M.kind){case 250:return e.isInJSFile(M)&&e.getJSDocEnumTag(M)?7:1;case 161:case 199:case 164:case 163:case 289:case 290:case 166:case 165:case 167:case 168:case 169:case 252:case 209:case 210:case 288:case 281:return 1;case 160:case 254:case 255:case 178:return 2;case 335:return M.name===void 0?3:2;case 292:case 253:return 3;case 257:return e.isAmbientModule(M)||e.getModuleInstanceState(M)===1?5:4;case 256:case 265:case 266:case 261:case 262:case 267:case 268:return 7;case 298:return 5}return 7}function J(M){for(;M.parent.kind===158;)M=M.parent;return e.isInternalModuleImportEqualsDeclaration(M.parent)&&M.parent.moduleReference===M}function m0(M){return M.expression}function s1(M){return M.tag}function i0(M){return M.tagName}function H0(M,X0,l1,Hx,ge){var Pe=Hx?I(M):E0(M);return ge&&(Pe=e.skipOuterExpressions(Pe)),!!Pe&&!!Pe.parent&&X0(Pe.parent)&&l1(Pe.parent)===Pe}function E0(M){return A0(M)?M.parent:M}function I(M){return A0(M)||o0(M)?M.parent:M}function A(M){var X0;return e.isIdentifier(M)&&((X0=e.tryCast(M.parent,e.isBreakOrContinueStatement))===null||X0===void 0?void 0:X0.label)===M}function Z(M){var X0;return e.isIdentifier(M)&&((X0=e.tryCast(M.parent,e.isLabeledStatement))===null||X0===void 0?void 0:X0.label)===M}function A0(M){var X0;return((X0=e.tryCast(M.parent,e.isPropertyAccessExpression))===null||X0===void 0?void 0:X0.name)===M}function o0(M){var X0;return((X0=e.tryCast(M.parent,e.isElementAccessExpression))===null||X0===void 0?void 0:X0.argumentExpression)===M}e.scanner=e.createScanner(99,!0),(s=e.SemanticMeaning||(e.SemanticMeaning={}))[s.None=0]=\"None\",s[s.Value=1]=\"Value\",s[s.Type=2]=\"Type\",s[s.Namespace=4]=\"Namespace\",s[s.All=7]=\"All\",e.getMeaningFromDeclaration=X,e.getMeaningFromLocation=function(M){return(M=f0(M)).kind===298?1:M.parent.kind===267||M.parent.kind===273||M.parent.kind===266||M.parent.kind===263||e.isImportEqualsDeclaration(M.parent)&&M===M.parent.name?7:J(M)?function(X0){var l1=X0.kind===158?X0:e.isQualifiedName(X0.parent)&&X0.parent.right===X0?X0.parent:void 0;return l1&&l1.parent.kind===261?7:4}(M):e.isDeclarationName(M)?X(M.parent):e.isEntityName(M)&&(e.isJSDocNameReference(M.parent)||e.isJSDocLink(M.parent))?7:function(X0){switch(e.isRightSideOfQualifiedNameOrPropertyAccess(X0)&&(X0=X0.parent),X0.kind){case 107:return!e.isExpressionNode(X0);case 188:return!0}switch(X0.parent.kind){case 174:return!0;case 196:return!X0.parent.isTypeOf;case 224:return!e.isExpressionWithTypeArgumentsInClassExtendsClause(X0.parent)}return!1}(M)?2:function(X0){return function(l1){var Hx=l1,ge=!0;if(Hx.parent.kind===158){for(;Hx.parent&&Hx.parent.kind===158;)Hx=Hx.parent;ge=Hx.right===l1}return Hx.parent.kind===174&&!ge}(X0)||function(l1){var Hx=l1,ge=!0;if(Hx.parent.kind===202){for(;Hx.parent&&Hx.parent.kind===202;)Hx=Hx.parent;ge=Hx.name===l1}if(!ge&&Hx.parent.kind===224&&Hx.parent.parent.kind===287){var Pe=Hx.parent.parent.parent;return Pe.kind===253&&Hx.parent.parent.token===116||Pe.kind===254&&Hx.parent.parent.token===93}return!1}(X0)}(M)?4:e.isTypeParameterDeclaration(M.parent)?(e.Debug.assert(e.isJSDocTemplateTag(M.parent.parent)),2):e.isLiteralTypeNode(M.parent)?3:1},e.isInRightSideOfInternalImportEqualsDeclaration=J,e.isCallExpressionTarget=function(M,X0,l1){return X0===void 0&&(X0=!1),l1===void 0&&(l1=!1),H0(M,e.isCallExpression,m0,X0,l1)},e.isNewExpressionTarget=function(M,X0,l1){return X0===void 0&&(X0=!1),l1===void 0&&(l1=!1),H0(M,e.isNewExpression,m0,X0,l1)},e.isCallOrNewExpressionTarget=function(M,X0,l1){return X0===void 0&&(X0=!1),l1===void 0&&(l1=!1),H0(M,e.isCallOrNewExpression,m0,X0,l1)},e.isTaggedTemplateTag=function(M,X0,l1){return X0===void 0&&(X0=!1),l1===void 0&&(l1=!1),H0(M,e.isTaggedTemplateExpression,s1,X0,l1)},e.isDecoratorTarget=function(M,X0,l1){return X0===void 0&&(X0=!1),l1===void 0&&(l1=!1),H0(M,e.isDecorator,m0,X0,l1)},e.isJsxOpeningLikeElementTagName=function(M,X0,l1){return X0===void 0&&(X0=!1),l1===void 0&&(l1=!1),H0(M,e.isJsxOpeningLikeElement,i0,X0,l1)},e.climbPastPropertyAccess=E0,e.climbPastPropertyOrElementAccess=I,e.getTargetLabel=function(M,X0){for(;M;){if(M.kind===246&&M.label.escapedText===X0)return M.label;M=M.parent}},e.hasPropertyAccessExpressionWithName=function(M,X0){return!!e.isPropertyAccessExpression(M.expression)&&M.expression.name.text===X0},e.isJumpStatementTarget=A,e.isLabelOfLabeledStatement=Z,e.isLabelName=function(M){return Z(M)||A(M)},e.isTagName=function(M){var X0;return((X0=e.tryCast(M.parent,e.isJSDocTag))===null||X0===void 0?void 0:X0.tagName)===M},e.isRightSideOfQualifiedName=function(M){var X0;return((X0=e.tryCast(M.parent,e.isQualifiedName))===null||X0===void 0?void 0:X0.right)===M},e.isRightSideOfPropertyAccess=A0,e.isArgumentExpressionOfElementAccess=o0,e.isNameOfModuleDeclaration=function(M){var X0;return((X0=e.tryCast(M.parent,e.isModuleDeclaration))===null||X0===void 0?void 0:X0.name)===M},e.isNameOfFunctionDeclaration=function(M){var X0;return e.isIdentifier(M)&&((X0=e.tryCast(M.parent,e.isFunctionLike))===null||X0===void 0?void 0:X0.name)===M},e.isLiteralNameOfPropertyDeclarationOrIndexAccess=function(M){switch(M.parent.kind){case 164:case 163:case 289:case 292:case 166:case 165:case 168:case 169:case 257:return e.getNameOfDeclaration(M.parent)===M;case 203:return M.parent.argumentExpression===M;case 159:return!0;case 192:return M.parent.parent.kind===190;default:return!1}},e.isExpressionOfExternalModuleImportEqualsDeclaration=function(M){return e.isExternalModuleImportEqualsDeclaration(M.parent.parent)&&e.getExternalModuleImportEqualsDeclarationExpression(M.parent.parent)===M},e.getContainerNode=function(M){for(e.isJSDocTypeAlias(M)&&(M=M.parent.parent);;){if(!(M=M.parent))return;switch(M.kind){case 298:case 166:case 165:case 252:case 209:case 168:case 169:case 253:case 254:case 256:case 257:return M}}},e.getNodeKind=function M(X0){switch(X0.kind){case 298:return e.isExternalModule(X0)?\"module\":\"script\";case 257:return\"module\";case 253:case 222:return\"class\";case 254:return\"interface\";case 255:case 328:case 335:return\"type\";case 256:return\"enum\";case 250:return Kr(X0);case 199:return Kr(e.getRootDeclaration(X0));case 210:case 252:case 209:return\"function\";case 168:return\"getter\";case 169:return\"setter\";case 166:case 165:return\"method\";case 289:var l1=X0.initializer;return e.isFunctionLike(l1)?\"method\":\"property\";case 164:case 163:case 290:case 291:return\"property\";case 172:return\"index\";case 171:return\"construct\";case 170:return\"call\";case 167:return\"constructor\";case 160:return\"type parameter\";case 292:return\"enum member\";case 161:return e.hasSyntacticModifier(X0,16476)?\"property\":\"parameter\";case 261:case 266:case 271:case 264:case 270:return\"alias\";case 217:var Hx=e.getAssignmentDeclarationKind(X0),ge=X0.right;switch(Hx){case 7:case 8:case 9:case 0:return\"\";case 1:case 2:var Pe=M(ge);return Pe===\"\"?\"const\":Pe;case 3:return e.isFunctionExpression(ge)?\"method\":\"property\";case 4:return\"property\";case 5:return e.isFunctionExpression(ge)?\"method\":\"property\";case 6:return\"local class\";default:return e.assertType(Hx),\"\"}case 78:return e.isImportClause(X0.parent)?\"alias\":\"\";case 267:var It=M(X0.expression);return It===\"\"?\"const\":It;default:return\"\"}function Kr(pn){return e.isVarConst(pn)?\"const\":e.isLet(pn)?\"let\":\"var\"}},e.isThis=function(M){switch(M.kind){case 107:return!0;case 78:return e.identifierIsThisKeyword(M)&&M.parent.kind===161;default:return!1}};var j,G=/^\\/\\/\\/\\s*</;function u0(M,X0){return g0(M.pos,M.end,X0)}function U(M,X0){return M.pos<X0&&X0<M.end}function g0(M,X0,l1){return M<=l1.pos&&X0>=l1.end}function d0(M,X0,l1,Hx){return Math.max(M,l1)<Math.min(X0,Hx)}function P0(M,X0){if(M===void 0||e.nodeIsMissing(M))return!1;switch(M.kind){case 253:case 254:case 256:case 201:case 197:case 178:case 231:case 258:case 259:case 265:case 269:return c0(M,19,X0);case 288:return P0(M.block,X0);case 205:if(!M.arguments)return!0;case 204:case 208:case 187:return c0(M,21,X0);case 175:case 176:return P0(M.type,X0);case 167:case 168:case 169:case 252:case 209:case 166:case 165:case 171:case 170:case 210:return M.body?P0(M.body,X0):M.type?P0(M.type,X0):D0(M,21,X0);case 257:return!!M.body&&P0(M.body,X0);case 235:return M.elseStatement?P0(M.elseStatement,X0):P0(M.thenStatement,X0);case 234:return P0(M.expression,X0)||D0(M,26,X0);case 200:case 198:case 203:case 159:case 180:return c0(M,23,X0);case 172:return M.type?P0(M.type,X0):D0(M,23,X0);case 285:case 286:return!1;case 238:case 239:case 240:case 237:return P0(M.statement,X0);case 236:return D0(M,114,X0)?c0(M,21,X0):P0(M.statement,X0);case 177:return P0(M.exprName,X0);case 212:case 211:case 213:case 220:case 221:return P0(M.expression,X0);case 206:return P0(M.template,X0);case 219:return P0(e.lastOrUndefined(M.templateSpans),X0);case 229:return e.nodeIsPresent(M.literal);case 268:case 262:return e.nodeIsPresent(M.moduleSpecifier);case 215:return P0(M.operand,X0);case 217:return P0(M.right,X0);case 218:return P0(M.whenFalse,X0);default:return!0}}function c0(M,X0,l1){var Hx=M.getChildren(l1);if(Hx.length){var ge=e.last(Hx);if(ge.kind===X0)return!0;if(ge.kind===26&&Hx.length!==1)return Hx[Hx.length-2].kind===X0}return!1}function D0(M,X0,l1){return!!x0(M,X0,l1)}function x0(M,X0,l1){return e.find(M.getChildren(l1),function(Hx){return Hx.kind===X0})}function l0(M){var X0=e.find(M.parent.getChildren(),function(l1){return e.isSyntaxList(l1)&&u0(l1,M)});return e.Debug.assert(!X0||e.contains(X0.getChildren(),M)),X0}function w0(M){return M.kind===87}function V(M){return M.kind===83}function w(M){return M.kind===97}function H(M,X0){if(!X0)switch(M.kind){case 253:case 222:return function(l1){if(e.isNamedDeclaration(l1))return l1.name;if(e.isClassDeclaration(l1)){var Hx=e.find(l1.modifiers,w0);if(Hx)return Hx}if(e.isClassExpression(l1)){var ge=e.find(l1.getChildren(),V);if(ge)return ge}}(M);case 252:case 209:return function(l1){if(e.isNamedDeclaration(l1))return l1.name;if(e.isFunctionDeclaration(l1)){var Hx=e.find(l1.modifiers,w0);if(Hx)return Hx}if(e.isFunctionExpression(l1)){var ge=e.find(l1.getChildren(),w);if(ge)return ge}}(M)}if(e.isNamedDeclaration(M))return M.name}function k0(M,X0){if(M.importClause){if(M.importClause.name&&M.importClause.namedBindings)return;if(M.importClause.name)return M.importClause.name;if(M.importClause.namedBindings){if(e.isNamedImports(M.importClause.namedBindings)){var l1=e.singleOrUndefined(M.importClause.namedBindings.elements);return l1?l1.name:void 0}if(e.isNamespaceImport(M.importClause.namedBindings))return M.importClause.namedBindings.name}}if(!X0)return M.moduleSpecifier}function V0(M,X0){if(M.exportClause){if(e.isNamedExports(M.exportClause))return e.singleOrUndefined(M.exportClause.elements)?M.exportClause.elements[0].name:void 0;if(e.isNamespaceExport(M.exportClause))return M.exportClause.name}if(!X0)return M.moduleSpecifier}function t0(M,X0){var l1=M.parent;if((e.isModifier(M)&&(X0||M.kind!==87)?e.contains(l1.modifiers,M):M.kind===83?e.isClassDeclaration(l1)||e.isClassExpression(M):M.kind===97?e.isFunctionDeclaration(l1)||e.isFunctionExpression(M):M.kind===117?e.isInterfaceDeclaration(l1):M.kind===91?e.isEnumDeclaration(l1):M.kind===149?e.isTypeAliasDeclaration(l1):M.kind===140||M.kind===139?e.isModuleDeclaration(l1):M.kind===99?e.isImportEqualsDeclaration(l1):M.kind===134?e.isGetAccessorDeclaration(l1):M.kind===146&&e.isSetAccessorDeclaration(l1))&&(ge=H(l1,X0)))return ge;if((M.kind===112||M.kind===84||M.kind===118)&&e.isVariableDeclarationList(l1)&&l1.declarations.length===1){var Hx=l1.declarations[0];if(e.isIdentifier(Hx.name))return Hx.name}if(M.kind===149&&(e.isImportClause(l1)&&l1.isTypeOnly&&(ge=k0(l1.parent,X0))||e.isExportDeclaration(l1)&&l1.isTypeOnly&&(ge=V0(l1,X0))))return ge;if(M.kind===126){if(e.isImportSpecifier(l1)&&l1.propertyName||e.isExportSpecifier(l1)&&l1.propertyName||e.isNamespaceImport(l1)||e.isNamespaceExport(l1))return l1.name;if(e.isExportDeclaration(l1)&&l1.exportClause&&e.isNamespaceExport(l1.exportClause))return l1.exportClause.name}if(M.kind===99&&e.isImportDeclaration(l1)&&(ge=k0(l1,X0)))return ge;if(M.kind===92){var ge;if(e.isExportDeclaration(l1)&&(ge=V0(l1,X0)))return ge;if(e.isExportAssignment(l1))return e.skipOuterExpressions(l1.expression)}if(M.kind===143&&e.isExternalModuleReference(l1))return l1.expression;if(M.kind===153&&(e.isImportDeclaration(l1)||e.isExportDeclaration(l1))&&l1.moduleSpecifier)return l1.moduleSpecifier;if((M.kind===93||M.kind===116)&&e.isHeritageClause(l1)&&l1.token===M.kind&&(ge=function(Pe){if(Pe.types.length===1)return Pe.types[0].expression}(l1)))return ge;if(M.kind===93){if(e.isTypeParameterDeclaration(l1)&&l1.constraint&&e.isTypeReferenceNode(l1.constraint))return l1.constraint.typeName;if(e.isConditionalTypeNode(l1)&&e.isTypeReferenceNode(l1.extendsType))return l1.extendsType.typeName}if(M.kind===135&&e.isInferTypeNode(l1))return l1.typeParameter.name;if(M.kind===100&&e.isTypeParameterDeclaration(l1)&&e.isMappedTypeNode(l1.parent))return l1.name;if(M.kind===138&&e.isTypeOperatorNode(l1)&&l1.operator===138&&e.isTypeReferenceNode(l1.type))return l1.type.typeName;if(M.kind===142&&e.isTypeOperatorNode(l1)&&l1.operator===142&&e.isArrayTypeNode(l1.type)&&e.isTypeReferenceNode(l1.type.elementType))return l1.type.elementType.typeName;if(!X0){if((M.kind===102&&e.isNewExpression(l1)||M.kind===113&&e.isVoidExpression(l1)||M.kind===111&&e.isTypeOfExpression(l1)||M.kind===130&&e.isAwaitExpression(l1)||M.kind===124&&e.isYieldExpression(l1)||M.kind===88&&e.isDeleteExpression(l1))&&l1.expression)return e.skipOuterExpressions(l1.expression);if((M.kind===100||M.kind===101)&&e.isBinaryExpression(l1)&&l1.operatorToken===M)return e.skipOuterExpressions(l1.right);if(M.kind===126&&e.isAsExpression(l1)&&e.isTypeReferenceNode(l1.type))return l1.type.typeName;if(M.kind===100&&e.isForInStatement(l1)||M.kind===157&&e.isForOfStatement(l1))return e.skipOuterExpressions(l1.expression)}return M}function f0(M){return t0(M,!1)}function y0(M,X0,l1){return d1(M,X0,!1,l1,!1)}function G0(M,X0){return d1(M,X0,!0,void 0,!1)}function d1(M,X0,l1,Hx,ge){var Pe=M;x:for(;;){for(var It=0,Kr=Pe.getChildren(M);It<Kr.length;It++){var pn=Kr[It];if((l1?pn.getFullStart():pn.getStart(M,!0))>X0)break;var rn=pn.getEnd();if(X0<rn||X0===rn&&(pn.kind===1||ge)){Pe=pn;continue x}if(Hx&&rn===X0){var _t=S1(X0,M,pn);if(_t&&Hx(_t))return _t}}return Pe}}function h1(M,X0,l1){return function Hx(ge){return e.isToken(ge)&&ge.pos===M.end?ge:e.firstDefined(ge.getChildren(l1),function(Pe){return(Pe.pos<=M.pos&&Pe.end>M.end||Pe.pos===M.end)&&G1(Pe,l1)?Hx(Pe):void 0})}(X0)}function S1(M,X0,l1,Hx){var ge=function Pe(It){if(Q1(It)&&It.kind!==1)return It;var Kr=It.getChildren(X0),pn=e.binarySearchKey(Kr,M,function(Mn,Ka){return Ka},function(Mn,Ka){return M<Kr[Mn].end?!Kr[Mn-1]||M>=Kr[Mn-1].end?0:1:-1});if(pn>=0&&Kr[pn]){var rn=Kr[pn];if(M<rn.end){if(rn.getStart(X0,!Hx)>=M||!G1(rn,X0)||Z1(rn)){var _t=$1(Kr,pn,X0);return _t&&Y0(_t,X0)}return Pe(rn)}}e.Debug.assert(l1!==void 0||It.kind===298||It.kind===1||e.isJSDocCommentContainingNode(It));var Ii=$1(Kr,Kr.length,X0);return Ii&&Y0(Ii,X0)}(l1||X0);return e.Debug.assert(!(ge&&Z1(ge))),ge}function Q1(M){return e.isToken(M)&&!Z1(M)}function Y0(M,X0){if(Q1(M))return M;var l1=M.getChildren(X0);if(l1.length===0)return M;var Hx=$1(l1,l1.length,X0);return Hx&&Y0(Hx,X0)}function $1(M,X0,l1){for(var Hx=X0-1;Hx>=0;Hx--)if(Z1(M[Hx]))e.Debug.assert(Hx>0,\"`JsxText` tokens should not be the first child of `JsxElement | JsxSelfClosingElement`\");else if(G1(M[Hx],l1))return M[Hx]}function Z1(M){return e.isJsxText(M)&&M.containsOnlyTriviaWhiteSpaces}function Q0(M,X0,l1){var Hx=e.tokenToString(M.kind),ge=e.tokenToString(X0),Pe=M.getFullStart(),It=l1.text.lastIndexOf(ge,Pe);if(It!==-1){if(l1.text.lastIndexOf(Hx,Pe-1)<It){var Kr=S1(It+1,l1);if(Kr&&Kr.kind===X0)return Kr}for(var pn=M.kind,rn=0;;){var _t=S1(M.getFullStart(),l1);if(!_t)return;if((M=_t).kind===X0){if(rn===0)return M;rn--}else M.kind===pn&&rn++}}}function y1(M,X0,l1){return X0?M.getNonNullableType():l1?M.getNonOptionalType():M}function k1(M,X0,l1){var Hx=l1.getTypeAtLocation(M);return e.isOptionalChain(M.parent)&&(Hx=y1(Hx,e.isOptionalChainRoot(M.parent),!0)),(e.isNewExpression(M.parent)?Hx.getConstructSignatures():Hx.getCallSignatures()).filter(function(ge){return!!ge.typeParameters&&ge.typeParameters.length>=X0})}function I1(M,X0){if(X0.text.lastIndexOf(\"<\",M?M.pos:X0.text.length)!==-1)for(var l1=M,Hx=0,ge=0;l1;){switch(l1.kind){case 29:if((l1=S1(l1.getFullStart(),X0))&&l1.kind===28&&(l1=S1(l1.getFullStart(),X0)),!l1||!e.isIdentifier(l1))return;if(!Hx)return e.isDeclarationName(l1)?void 0:{called:l1,nTypeArguments:ge};Hx--;break;case 49:Hx=3;break;case 48:Hx=2;break;case 31:Hx++;break;case 19:if(!(l1=Q0(l1,18,X0)))return;break;case 21:if(!(l1=Q0(l1,20,X0)))return;break;case 23:if(!(l1=Q0(l1,22,X0)))return;break;case 27:ge++;break;case 38:case 78:case 10:case 8:case 9:case 109:case 94:case 111:case 93:case 138:case 24:case 51:case 57:case 58:break;default:if(e.isTypeNode(l1))break;return}l1=S1(l1.getFullStart(),X0)}}function K0(M,X0,l1){return e.formatting.getRangeOfEnclosingComment(M,X0,void 0,l1)}function G1(M,X0){return M.kind===1?!!M.jsDoc:M.getWidth(X0)!==0}function Nx(M,X0,l1){var Hx=K0(M,X0,void 0);return!!Hx&&l1===G.test(M.text.substring(Hx.pos,Hx.end))}function n1(M,X0,l1){return e.createTextSpanFromBounds(M.getStart(X0),(l1||M).getEnd())}function S0(M){if(!M.isUnterminated)return e.createTextSpanFromBounds(M.getStart()+1,M.getEnd()-1)}function I0(M,X0){return{span:M,newText:X0}}function U0(M){return M.kind===149}function p0(M,X0){return{fileExists:function(l1){return M.fileExists(l1)},getCurrentDirectory:function(){return X0.getCurrentDirectory()},readFile:e.maybeBind(X0,X0.readFile),useCaseSensitiveFileNames:e.maybeBind(X0,X0.useCaseSensitiveFileNames),getSymlinkCache:e.maybeBind(X0,X0.getSymlinkCache)||M.getSymlinkCache,getModuleSpecifierCache:e.maybeBind(X0,X0.getModuleSpecifierCache),getGlobalTypingsCacheLocation:e.maybeBind(X0,X0.getGlobalTypingsCacheLocation),getSourceFiles:function(){return M.getSourceFiles()},redirectTargetsMap:M.redirectTargetsMap,getProjectReferenceRedirect:function(l1){return M.getProjectReferenceRedirect(l1)},isSourceOfProjectReferenceRedirect:function(l1){return M.isSourceOfProjectReferenceRedirect(l1)},getNearestAncestorDirectoryWithPackageJson:e.maybeBind(X0,X0.getNearestAncestorDirectoryWithPackageJson),getFileIncludeReasons:function(){return M.getFileIncludeReasons()}}}function p1(M,X0){return $($({},p0(M,X0)),{getCommonSourceDirectory:function(){return M.getCommonSourceDirectory()}})}function Y1(M,X0,l1,Hx,ge){return e.factory.createImportDeclaration(void 0,void 0,M||X0?e.factory.createImportClause(!!ge,M,X0&&X0.length?e.factory.createNamedImports(X0):void 0):void 0,typeof l1==\"string\"?N1(l1,Hx):l1)}function N1(M,X0){return e.factory.createStringLiteral(M,X0===0)}function V1(M,X0){return e.isStringDoubleQuoted(M,X0)?1:0}function Ox(M,X0){if(X0.quotePreference&&X0.quotePreference!==\"auto\")return X0.quotePreference===\"single\"?0:1;var l1=M.imports&&e.find(M.imports,function(Hx){return e.isStringLiteral(Hx)&&!e.nodeIsSynthesized(Hx.parent)});return l1?V1(l1,M):1}function $x(M){return M.escapedName!==\"default\"?M.escapedName:e.firstDefined(M.declarations,function(X0){var l1=e.getNameOfDeclaration(X0);return l1&&l1.kind===78?l1.escapedText:void 0})}function rx(M,X0,l1){return e.textSpanContainsPosition(M,X0.getStart(l1))&&X0.getEnd()<=e.textSpanEnd(M)}function O0(M,X0){return!!M&&!!X0&&M.start===X0.start&&M.length===X0.length}function C1(M){return M.declarations&&M.declarations.length>0&&M.declarations[0].kind===161}e.getLineStartPositionForPosition=function(M,X0){return e.getLineStarts(X0)[X0.getLineAndCharacterOfPosition(M).line]},e.rangeContainsRange=u0,e.rangeContainsRangeExclusive=function(M,X0){return U(M,X0.pos)&&U(M,X0.end)},e.rangeContainsPosition=function(M,X0){return M.pos<=X0&&X0<=M.end},e.rangeContainsPositionExclusive=U,e.startEndContainsRange=g0,e.rangeContainsStartEnd=function(M,X0,l1){return M.pos<=X0&&M.end>=l1},e.rangeOverlapsWithStartEnd=function(M,X0,l1){return d0(M.pos,M.end,X0,l1)},e.nodeOverlapsWithStartEnd=function(M,X0,l1,Hx){return d0(M.getStart(X0),M.end,l1,Hx)},e.startEndOverlapsWithStartEnd=d0,e.positionBelongsToNode=function(M,X0,l1){return e.Debug.assert(M.pos<=X0),X0<M.end||!P0(M,l1)},e.findListItemInfo=function(M){var X0=l0(M);if(X0){var l1=X0.getChildren();return{listItemIndex:e.indexOfNode(l1,M),list:X0}}},e.hasChildOfKind=D0,e.findChildOfKind=x0,e.findContainingList=l0,e.getContextualTypeOrAncestorTypeNodeType=function(M,X0){var l1=X0.getContextualType(M);if(l1)return l1;var Hx=function(ge){var Pe;return e.findAncestor(ge,function(It){return e.isTypeNode(It)&&(Pe=It),!e.isQualifiedName(It.parent)&&!e.isTypeNode(It.parent)&&!e.isTypeElement(It.parent)}),Pe}(M);return Hx&&X0.getTypeAtLocation(Hx)},e.getAdjustedReferenceLocation=f0,e.getAdjustedRenameLocation=function(M){return t0(M,!0)},e.getTouchingPropertyName=function(M,X0){return y0(M,X0,function(l1){return e.isPropertyNameLiteral(l1)||e.isKeyword(l1.kind)||e.isPrivateIdentifier(l1)})},e.getTouchingToken=y0,e.getTokenAtPosition=G0,e.findFirstNonJsxWhitespaceToken=function(M,X0){for(var l1=G0(M,X0);Z1(l1);){var Hx=h1(l1,l1.parent,M);if(!Hx)return;l1=Hx}return l1},e.findTokenOnLeftOfPosition=function(M,X0){var l1=G0(M,X0);return e.isToken(l1)&&X0>l1.getStart(M)&&X0<l1.getEnd()?l1:S1(X0,M)},e.findNextToken=h1,e.findPrecedingToken=S1,e.isInString=function(M,X0,l1){if(l1===void 0&&(l1=S1(X0,M)),l1&&e.isStringTextContainingNode(l1)){var Hx=l1.getStart(M),ge=l1.getEnd();if(Hx<X0&&X0<ge)return!0;if(X0===ge)return!!l1.isUnterminated}return!1},e.isInsideJsxElementOrAttribute=function(M,X0){var l1=G0(M,X0);return!!l1&&(l1.kind===11||l1.kind===29&&l1.parent.kind===11||l1.kind===29&&l1.parent.kind===284||!(!l1||l1.kind!==19||l1.parent.kind!==284)||l1.kind===29&&l1.parent.kind===277)},e.isInTemplateString=function(M,X0){var l1=G0(M,X0);return e.isTemplateLiteralKind(l1.kind)&&X0>l1.getStart(M)},e.isInJSXText=function(M,X0){var l1=G0(M,X0);return!!e.isJsxText(l1)||!(l1.kind!==18||!e.isJsxExpression(l1.parent)||!e.isJsxElement(l1.parent.parent))||!(l1.kind!==29||!e.isJsxOpeningLikeElement(l1.parent)||!e.isJsxElement(l1.parent.parent))},e.isInsideJsxElement=function(M,X0){return function(l1){for(;l1;)if(l1.kind>=275&&l1.kind<=284||l1.kind===11||l1.kind===29||l1.kind===31||l1.kind===78||l1.kind===19||l1.kind===18||l1.kind===43)l1=l1.parent;else{if(l1.kind!==274)return!1;if(X0>l1.getStart(M))return!0;l1=l1.parent}return!1}(G0(M,X0))},e.findPrecedingMatchingToken=Q0,e.removeOptionality=y1,e.isPossiblyTypeArgumentPosition=function M(X0,l1,Hx){var ge=I1(X0,l1);return ge!==void 0&&(e.isPartOfTypeNode(ge.called)||k1(ge.called,ge.nTypeArguments,Hx).length!==0||M(ge.called,l1,Hx))},e.getPossibleGenericSignatures=k1,e.getPossibleTypeArgumentsInfo=I1,e.isInComment=K0,e.hasDocComment=function(M,X0){var l1=G0(M,X0);return!!e.findAncestor(l1,e.isJSDoc)},e.getNodeModifiers=function(M,X0){X0===void 0&&(X0=0);var l1=[],Hx=e.isDeclaration(M)?e.getCombinedNodeFlagsAlwaysIncludeJSDoc(M)&~X0:0;return 8&Hx&&l1.push(\"private\"),16&Hx&&l1.push(\"protected\"),4&Hx&&l1.push(\"public\"),32&Hx&&l1.push(\"static\"),128&Hx&&l1.push(\"abstract\"),1&Hx&&l1.push(\"export\"),8192&Hx&&l1.push(\"deprecated\"),8388608&M.flags&&l1.push(\"declare\"),M.kind===267&&l1.push(\"export\"),l1.length>0?l1.join(\",\"):\"\"},e.getTypeArgumentOrTypeParameterList=function(M){return M.kind===174||M.kind===204?M.typeArguments:e.isFunctionLike(M)||M.kind===253||M.kind===254?M.typeParameters:void 0},e.isComment=function(M){return M===2||M===3},e.isStringOrRegularExpressionOrTemplateLiteral=function(M){return!(M!==10&&M!==13&&!e.isTemplateLiteralKind(M))},e.isPunctuation=function(M){return 18<=M&&M<=77},e.isInsideTemplateLiteral=function(M,X0,l1){return e.isTemplateLiteralKind(M.kind)&&M.getStart(l1)<X0&&X0<M.end||!!M.isUnterminated&&X0===M.end},e.isAccessibilityModifier=function(M){switch(M){case 122:case 120:case 121:return!0}return!1},e.cloneCompilerOptions=function(M){var X0=e.clone(M);return e.setConfigFileInOptions(X0,M&&M.configFile),X0},e.isArrayLiteralOrObjectLiteralDestructuringPattern=function M(X0){return!!((X0.kind===200||X0.kind===201)&&(X0.parent.kind===217&&X0.parent.left===X0&&X0.parent.operatorToken.kind===62||X0.parent.kind===240&&X0.parent.initializer===X0||M(X0.parent.kind===289?X0.parent.parent:X0.parent)))},e.isInReferenceComment=function(M,X0){return Nx(M,X0,!0)},e.isInNonReferenceComment=function(M,X0){return Nx(M,X0,!1)},e.getReplacementSpanForContextToken=function(M){if(M)switch(M.kind){case 10:case 14:return S0(M);default:return n1(M)}},e.createTextSpanFromNode=n1,e.createTextSpanFromStringLiteralLikeContent=S0,e.createTextRangeFromNode=function(M,X0){return e.createRange(M.getStart(X0),M.end)},e.createTextSpanFromRange=function(M){return e.createTextSpanFromBounds(M.pos,M.end)},e.createTextRangeFromSpan=function(M){return e.createRange(M.start,M.start+M.length)},e.createTextChangeFromStartLength=function(M,X0,l1){return I0(e.createTextSpan(M,X0),l1)},e.createTextChange=I0,e.typeKeywords=[128,127,155,131,94,135,138,141,103,144,145,142,147,148,109,113,150,151,152],e.isTypeKeyword=function(M){return e.contains(e.typeKeywords,M)},e.isTypeKeywordToken=U0,e.isExternalModuleSymbol=function(M){return!!(1536&M.flags)&&M.name.charCodeAt(0)===34},e.nodeSeenTracker=function(){var M=[];return function(X0){var l1=e.getNodeId(X0);return!M[l1]&&(M[l1]=!0)}},e.getSnapshotText=function(M){return M.getText(0,M.getLength())},e.repeatString=function(M,X0){for(var l1=\"\",Hx=0;Hx<X0;Hx++)l1+=M;return l1},e.skipConstraint=function(M){return M.isTypeParameter()&&M.getConstraint()||M},e.getNameFromPropertyName=function(M){return M.kind===159?e.isStringOrNumericLiteralLike(M.expression)?M.expression.text:void 0:e.isPrivateIdentifier(M)?e.idText(M):e.getTextOfIdentifierOrLiteral(M)},e.programContainsModules=function(M){return M.getSourceFiles().some(function(X0){return!(X0.isDeclarationFile||M.isSourceFileFromExternalLibrary(X0)||!X0.externalModuleIndicator&&!X0.commonJsModuleIndicator)})},e.programContainsEs6Modules=function(M){return M.getSourceFiles().some(function(X0){return!X0.isDeclarationFile&&!M.isSourceFileFromExternalLibrary(X0)&&!!X0.externalModuleIndicator})},e.compilerOptionsIndicateEs6Modules=function(M){return!!M.module||M.target>=2||!!M.noEmit},e.createModuleSpecifierResolutionHost=p0,e.getModuleSpecifierResolverHost=p1,e.makeImportIfNecessary=function(M,X0,l1,Hx){return M||X0&&X0.length?Y1(M,X0,l1,Hx):void 0},e.makeImport=Y1,e.makeStringLiteral=N1,(j=e.QuotePreference||(e.QuotePreference={}))[j.Single=0]=\"Single\",j[j.Double=1]=\"Double\",e.quotePreferenceFromString=V1,e.getQuotePreference=Ox,e.getQuoteFromPreference=function(M){switch(M){case 0:return\"'\";case 1:return'\"';default:return e.Debug.assertNever(M)}},e.symbolNameNoDefault=function(M){var X0=$x(M);return X0===void 0?void 0:e.unescapeLeadingUnderscores(X0)},e.symbolEscapedNameNoDefault=$x,e.isModuleSpecifierLike=function(M){return e.isStringLiteralLike(M)&&(e.isExternalModuleReference(M.parent)||e.isImportDeclaration(M.parent)||e.isRequireCall(M.parent,!1)&&M.parent.arguments[0]===M||e.isImportCall(M.parent)&&M.parent.arguments[0]===M)},e.isObjectBindingElementWithoutPropertyName=function(M){return e.isBindingElement(M)&&e.isObjectBindingPattern(M.parent)&&e.isIdentifier(M.name)&&!M.propertyName},e.getPropertySymbolFromBindingElement=function(M,X0){var l1=M.getTypeAtLocation(X0.parent);return l1&&M.getPropertyOfType(l1,X0.name.text)},e.getParentNodeInSpan=function(M,X0,l1){if(M)for(;M.parent;){if(e.isSourceFile(M.parent)||!rx(l1,M.parent,X0))return M;M=M.parent}},e.findModifier=function(M,X0){return M.modifiers&&e.find(M.modifiers,function(l1){return l1.kind===X0})},e.insertImports=function(M,X0,l1,Hx){var ge=(e.isArray(l1)?l1[0]:l1).kind===233?e.isRequireVariableStatement:e.isAnyImportSyntax,Pe=e.filter(X0.statements,ge),It=e.isArray(l1)?e.stableSort(l1,e.OrganizeImports.compareImportsOrRequireStatements):[l1];if(Pe.length)if(Pe&&e.OrganizeImports.importsAreSorted(Pe))for(var Kr=0,pn=It;Kr<pn.length;Kr++){var rn=pn[Kr],_t=e.OrganizeImports.getImportDeclarationInsertionIndex(Pe,rn);if(_t===0){var Ii=Pe[0]===X0.statements[0]?{leadingTriviaOption:e.textChanges.LeadingTriviaOption.Exclude}:{};M.insertNodeBefore(X0,Pe[0],rn,!1,Ii)}else{var Mn=Pe[_t-1];M.insertNodeAfter(X0,Mn,rn)}}else{var Ka=e.lastOrUndefined(Pe);Ka?M.insertNodesAfter(X0,Ka,It):M.insertNodesAtTopOfFile(X0,It,Hx)}else M.insertNodesAtTopOfFile(X0,It,Hx)},e.getTypeKeywordOfTypeOnlyImport=function(M,X0){return e.Debug.assert(M.isTypeOnly),e.cast(M.getChildAt(0,X0),U0)},e.textSpansEqual=O0,e.documentSpansEqual=function(M,X0){return M.fileName===X0.fileName&&O0(M.textSpan,X0.textSpan)},e.forEachUnique=function(M,X0){if(M){for(var l1=0;l1<M.length;l1++)if(M.indexOf(M[l1])===l1){var Hx=X0(M[l1],l1);if(Hx)return Hx}}},e.isTextWhiteSpaceLike=function(M,X0,l1){for(var Hx=X0;Hx<l1;Hx++)if(!e.isWhiteSpaceLike(M.charCodeAt(Hx)))return!1;return!0},e.isFirstDeclarationOfSymbolParameter=C1;var nx=function(){var M,X0,l1,Hx,ge=10*e.defaultMaximumTruncationLength;pn();var Pe=function(rn){return Kr(rn,e.SymbolDisplayPartKind.text)};return{displayParts:function(){var rn=M.length&&M[M.length-1].text;return Hx>ge&&rn&&rn!==\"...\"&&(e.isWhiteSpaceLike(rn.charCodeAt(rn.length-1))||M.push(b1(\" \",e.SymbolDisplayPartKind.space)),M.push(b1(\"...\",e.SymbolDisplayPartKind.punctuation))),M},writeKeyword:function(rn){return Kr(rn,e.SymbolDisplayPartKind.keyword)},writeOperator:function(rn){return Kr(rn,e.SymbolDisplayPartKind.operator)},writePunctuation:function(rn){return Kr(rn,e.SymbolDisplayPartKind.punctuation)},writeTrailingSemicolon:function(rn){return Kr(rn,e.SymbolDisplayPartKind.punctuation)},writeSpace:function(rn){return Kr(rn,e.SymbolDisplayPartKind.space)},writeStringLiteral:function(rn){return Kr(rn,e.SymbolDisplayPartKind.stringLiteral)},writeParameter:function(rn){return Kr(rn,e.SymbolDisplayPartKind.parameterName)},writeProperty:function(rn){return Kr(rn,e.SymbolDisplayPartKind.propertyName)},writeLiteral:function(rn){return Kr(rn,e.SymbolDisplayPartKind.stringLiteral)},writeSymbol:function(rn,_t){Hx>ge||(It(),Hx+=rn.length,M.push(O(rn,_t)))},writeLine:function(){Hx>ge||(Hx+=1,M.push(Nt()),X0=!0)},write:Pe,writeComment:Pe,getText:function(){return\"\"},getTextPos:function(){return 0},getColumn:function(){return 0},getLine:function(){return 0},isAtStartOfLine:function(){return!1},hasTrailingWhitespace:function(){return!1},hasTrailingComment:function(){return!1},rawWrite:e.notImplemented,getIndent:function(){return l1},increaseIndent:function(){l1++},decreaseIndent:function(){l1--},clear:pn,trackSymbol:e.noop,reportInaccessibleThisError:e.noop,reportInaccessibleUniqueSymbolError:e.noop,reportPrivateInBaseOfClassExpression:e.noop};function It(){if(!(Hx>ge)&&X0){var rn=e.getIndentString(l1);rn&&(Hx+=rn.length,M.push(b1(rn,e.SymbolDisplayPartKind.space))),X0=!1}}function Kr(rn,_t){Hx>ge||(It(),Hx+=rn.length,M.push(b1(rn,_t)))}function pn(){M=[],X0=!0,l1=0,Hx=0}}();function O(M,X0){return b1(M,function(l1){var Hx=l1.flags;return 3&Hx?C1(l1)?e.SymbolDisplayPartKind.parameterName:e.SymbolDisplayPartKind.localName:4&Hx||32768&Hx||65536&Hx?e.SymbolDisplayPartKind.propertyName:8&Hx?e.SymbolDisplayPartKind.enumMemberName:16&Hx?e.SymbolDisplayPartKind.functionName:32&Hx?e.SymbolDisplayPartKind.className:64&Hx?e.SymbolDisplayPartKind.interfaceName:384&Hx?e.SymbolDisplayPartKind.enumName:1536&Hx?e.SymbolDisplayPartKind.moduleName:8192&Hx?e.SymbolDisplayPartKind.methodName:262144&Hx?e.SymbolDisplayPartKind.typeParameterName:524288&Hx||2097152&Hx?e.SymbolDisplayPartKind.aliasName:e.SymbolDisplayPartKind.text}(X0))}function b1(M,X0){return{text:M,kind:e.SymbolDisplayPartKind[X0]}}function Px(M){return b1(e.tokenToString(M),e.SymbolDisplayPartKind.keyword)}function me(M){return b1(M,e.SymbolDisplayPartKind.text)}function Re(M){return b1(M,e.SymbolDisplayPartKind.linkText)}function gt(M,X0){return{text:e.getTextOfNode(M),kind:e.SymbolDisplayPartKind[e.SymbolDisplayPartKind.linkName],target:{fileName:e.getSourceFileOfNode(X0).fileName,textSpan:n1(X0)}}}function Vt(M){return b1(M,e.SymbolDisplayPartKind.link)}e.symbolPart=O,e.displayPart=b1,e.spacePart=function(){return b1(\" \",e.SymbolDisplayPartKind.space)},e.keywordPart=Px,e.punctuationPart=function(M){return b1(e.tokenToString(M),e.SymbolDisplayPartKind.punctuation)},e.operatorPart=function(M){return b1(e.tokenToString(M),e.SymbolDisplayPartKind.operator)},e.parameterNamePart=function(M){return b1(M,e.SymbolDisplayPartKind.parameterName)},e.propertyNamePart=function(M){return b1(M,e.SymbolDisplayPartKind.propertyName)},e.textOrKeywordPart=function(M){var X0=e.stringToToken(M);return X0===void 0?me(M):Px(X0)},e.textPart=me,e.typeAliasNamePart=function(M){return b1(M,e.SymbolDisplayPartKind.aliasName)},e.typeParameterNamePart=function(M){return b1(M,e.SymbolDisplayPartKind.typeParameterName)},e.linkTextPart=Re,e.linkNamePart=gt,e.linkPart=Vt,e.buildLinkParts=function(M,X0){var l1,Hx=[Vt(\"{@link \")];if(M.name){var ge=X0==null?void 0:X0.getSymbolAtLocation(M.name),Pe=(ge==null?void 0:ge.valueDeclaration)||((l1=ge==null?void 0:ge.declarations)===null||l1===void 0?void 0:l1[0]);Pe?(Hx.push(gt(M.name,Pe)),M.text&&Hx.push(Re(M.text))):Hx.push(Re(e.getTextOfNode(M.name)+M.text))}else M.text&&Hx.push(Re(M.text));return Hx.push(Vt(\"}\")),Hx};var wr,gr;function Nt(){return b1(`\n`,e.SymbolDisplayPartKind.lineBreak)}function Ir(M){try{return M(nx),nx.displayParts()}finally{nx.clear()}}function xr(M){return(33554432&M.flags)!=0}function Bt(M){return(2097152&M.flags)!=0}function ar(M,X0){X0===void 0&&(X0=!0);var l1=M&&Kn(M);return l1&&!X0&&oi(l1),l1}function Ni(M,X0,l1){var Hx=l1(M);return Hx?e.setOriginalNode(Hx,M):Hx=Kn(M,l1),Hx&&!X0&&oi(Hx),Hx}function Kn(M,X0){var l1=X0?e.visitEachChild(M,function(ge){return Ni(ge,!0,X0)},e.nullTransformationContext):e.visitEachChild(M,ar,e.nullTransformationContext);if(l1===M){var Hx=e.isStringLiteral(M)?e.setOriginalNode(e.factory.createStringLiteralFromNode(M),M):e.isNumericLiteral(M)?e.setOriginalNode(e.factory.createNumericLiteral(M.text,M.numericLiteralFlags),M):e.factory.cloneNode(M);return e.setTextRange(Hx,M)}return l1.parent=void 0,l1}function oi(M){Ba(M),dt(M)}function Ba(M){Gt(M,512,lr)}function dt(M){Gt(M,1024,e.getLastChild)}function Gt(M,X0,l1){e.addEmitFlags(M,X0);var Hx=l1(M);Hx&&Gt(Hx,X0,l1)}function lr(M){return M.forEachChild(function(X0){return X0})}function en(M,X0,l1,Hx,ge){e.forEachLeadingCommentRange(l1.text,M.pos,bn(X0,l1,Hx,ge,e.addSyntheticLeadingComment))}function ii(M,X0,l1,Hx,ge){e.forEachTrailingCommentRange(l1.text,M.end,bn(X0,l1,Hx,ge,e.addSyntheticTrailingComment))}function Tt(M,X0,l1,Hx,ge){e.forEachTrailingCommentRange(l1.text,M.pos,bn(X0,l1,Hx,ge,e.addSyntheticLeadingComment))}function bn(M,X0,l1,Hx,ge){return function(Pe,It,Kr,pn){Kr===3?(Pe+=2,It-=2):Pe+=2,ge(M,l1||Kr,X0.text.slice(Pe,It),Hx!==void 0?Hx:pn)}}function Le(M,X0){if(e.startsWith(M,X0))return 0;var l1=M.indexOf(\" \"+X0);return l1===-1&&(l1=M.indexOf(\".\"+X0)),l1===-1&&(l1=M.indexOf('\"'+X0)),l1===-1?-1:l1+1}function Sa(M){switch(M){case 36:case 34:case 37:case 35:return!0;default:return!1}}function Yn(M,X0){return X0.getTypeAtLocation(M.parent.parent.expression)}function W1(M){return M===170||M===171||M===172||M===163||M===165}function cx(M){return M===252||M===167||M===166||M===168||M===169}function E1(M){return M===257}function qx(M){return M===233||M===234||M===236||M===241||M===242||M===243||M===247||M===249||M===164||M===255||M===262||M===261||M===268||M===260||M===267}function xt(M,X0){return Ut(M,M.fileExists,X0)}function ae(M){try{return M()}catch{return}}function Ut(M,X0){for(var l1=[],Hx=2;Hx<arguments.length;Hx++)l1[Hx-2]=arguments[Hx];return ae(function(){return X0&&X0.apply(M,l1)})}function or(M,X0){if(!X0.fileExists)return[];var l1=[];return e.forEachAncestorDirectory(e.getDirectoryPath(M),function(Hx){var ge=e.combinePaths(Hx,\"package.json\");if(X0.fileExists(ge)){var Pe=ut(ge,X0);Pe&&l1.push(Pe)}}),l1}function ut(M,X0){if(X0.readFile){var l1=function(Mn){try{return JSON.parse(Mn)}catch{return}}(X0.readFile(M)||\"\"),Hx={};if(l1)for(var ge=0,Pe=[\"dependencies\",\"devDependencies\",\"optionalDependencies\",\"peerDependencies\"];ge<Pe.length;ge++){var It=Pe[ge],Kr=l1[It];if(Kr){var pn=new e.Map;for(var rn in Kr)pn.set(rn,Kr[rn]);Hx[It]=pn}}var _t=[[1,Hx.dependencies],[2,Hx.devDependencies],[8,Hx.optionalDependencies],[4,Hx.peerDependencies]];return $($({},Hx),{parseable:!!l1,fileName:M,get:Ii,has:function(Mn,Ka){return!!Ii(Mn,Ka)}})}function Ii(Mn,Ka){Ka===void 0&&(Ka=15);for(var fe=0,Fr=_t;fe<Fr.length;fe++){var yt=Fr[fe],Fn=yt[0],Ur=yt[1];if(Ur&&Ka&Fn){var fa=Ur.get(Mn);if(fa!==void 0)return fa}}}}function Gr(M){return e.some(M.imports,function(X0){var l1=X0.text;return e.JsTyping.nodeCoreModules.has(l1)})}function B(M){return M.file!==void 0&&M.start!==void 0&&M.length!==void 0}function h0(M){var X0=M.getSourceFile();return!(!X0.externalModuleIndicator&&!X0.commonJsModuleIndicator)&&(e.isInJSFile(M)||!e.findAncestor(M,e.isGlobalScopeAugmentation))}e.getNewLineOrDefaultFromHost=function(M,X0){var l1;return(X0==null?void 0:X0.newLineCharacter)||((l1=M.getNewLine)===null||l1===void 0?void 0:l1.call(M))||`\\r\n`},e.lineBreakPart=Nt,e.mapToDisplayParts=Ir,e.typeToDisplayParts=function(M,X0,l1,Hx){return Hx===void 0&&(Hx=0),Ir(function(ge){M.writeType(X0,l1,17408|Hx,ge)})},e.symbolToDisplayParts=function(M,X0,l1,Hx,ge){return ge===void 0&&(ge=0),Ir(function(Pe){M.writeSymbol(X0,l1,Hx,8|ge,Pe)})},e.signatureToDisplayParts=function(M,X0,l1,Hx){return Hx===void 0&&(Hx=0),Hx|=25632,Ir(function(ge){M.writeSignature(X0,l1,Hx,void 0,ge)})},e.isImportOrExportSpecifierName=function(M){return!!M.parent&&e.isImportOrExportSpecifier(M.parent)&&M.parent.propertyName===M},e.getScriptKind=function(M,X0){return e.ensureScriptKind(M,X0.getScriptKind&&X0.getScriptKind(M))},e.getSymbolTarget=function(M,X0){for(var l1=M;Bt(l1)||xr(l1)&&l1.target;)l1=xr(l1)&&l1.target?l1.target:e.skipAlias(l1,X0);return l1},e.getUniqueSymbolId=function(M,X0){return e.getSymbolId(e.skipAlias(M,X0))},e.getFirstNonSpaceCharacterPosition=function(M,X0){for(;e.isWhiteSpaceLike(M.charCodeAt(X0));)X0+=1;return X0},e.getPrecedingNonSpaceCharacterPosition=function(M,X0){for(;X0>-1&&e.isWhiteSpaceSingleLine(M.charCodeAt(X0));)X0-=1;return X0+1},e.getSynthesizedDeepClone=ar,e.getSynthesizedDeepCloneWithReplacements=Ni,e.getSynthesizedDeepClones=function(M,X0){return X0===void 0&&(X0=!0),M&&e.factory.createNodeArray(M.map(function(l1){return ar(l1,X0)}),M.hasTrailingComma)},e.getSynthesizedDeepClonesWithReplacements=function(M,X0,l1){return e.factory.createNodeArray(M.map(function(Hx){return Ni(Hx,X0,l1)}),M.hasTrailingComma)},e.suppressLeadingAndTrailingTrivia=oi,e.suppressLeadingTrivia=Ba,e.suppressTrailingTrivia=dt,e.copyComments=function(M,X0){var l1=M.getSourceFile();(function(Hx,ge){for(var Pe=Hx.getFullStart(),It=Hx.getStart(),Kr=Pe;Kr<It;Kr++)if(ge.charCodeAt(Kr)===10)return!0;return!1})(M,l1.text)?en(M,X0,l1):Tt(M,X0,l1),ii(M,X0,l1)},e.getUniqueName=function(M,X0){for(var l1=M,Hx=1;!e.isFileLevelUniqueName(X0,l1);Hx++)l1=M+\"_\"+Hx;return l1},e.getRenameLocation=function(M,X0,l1,Hx){for(var ge=0,Pe=-1,It=0,Kr=M;It<Kr.length;It++){var pn=Kr[It],rn=pn.fileName,_t=pn.textChanges;e.Debug.assert(rn===X0);for(var Ii=0,Mn=_t;Ii<Mn.length;Ii++){var Ka=Mn[Ii],fe=Ka.span,Fr=Ka.newText,yt=Le(Fr,l1);if(yt!==-1&&(Pe=fe.start+ge+yt,!Hx))return Pe;ge+=Fr.length-fe.length}}return e.Debug.assert(Hx),e.Debug.assert(Pe>=0),Pe},e.copyLeadingComments=en,e.copyTrailingComments=ii,e.copyTrailingAsLeadingComments=Tt,e.needsParentheses=function(M){return e.isBinaryExpression(M)&&M.operatorToken.kind===27||e.isObjectLiteralExpression(M)||e.isAsExpression(M)&&e.isObjectLiteralExpression(M.expression)},e.getContextualTypeFromParent=function(M,X0){var l1=M.parent;switch(l1.kind){case 205:return X0.getContextualType(l1);case 217:var Hx=l1,ge=Hx.left,Pe=Hx.operatorToken,It=Hx.right;return Sa(Pe.kind)?X0.getTypeAtLocation(M===It?ge:It):X0.getContextualType(M);case 285:return l1.expression===M?Yn(l1,X0):void 0;default:return X0.getContextualType(M)}},e.quote=function(M,X0,l1){var Hx=Ox(M,X0),ge=JSON.stringify(l1);return Hx===0?\"'\"+e.stripQuotes(ge).replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\":ge},e.isEqualityOperatorKind=Sa,e.isStringLiteralOrTemplate=function(M){switch(M.kind){case 10:case 14:case 219:case 206:return!0;default:return!1}},e.hasIndexSignature=function(M){return!!M.getStringIndexType()||!!M.getNumberIndexType()},e.getSwitchedType=Yn,e.ANONYMOUS=\"anonymous function\",e.getTypeNodeIfAccessible=function(M,X0,l1,Hx){var ge=l1.getTypeChecker(),Pe=!0,It=function(){Pe=!1},Kr=ge.typeToTypeNode(M,X0,1,{trackSymbol:function(pn,rn,_t){Pe=Pe&&ge.isSymbolAccessible(pn,rn,_t,!1).accessibility===0},reportInaccessibleThisError:It,reportPrivateInBaseOfClassExpression:It,reportInaccessibleUniqueSymbolError:It,moduleResolverHost:p1(l1,Hx)});return Pe?Kr:void 0},e.syntaxRequiresTrailingCommaOrSemicolonOrASI=W1,e.syntaxRequiresTrailingFunctionBlockOrSemicolonOrASI=cx,e.syntaxRequiresTrailingModuleBlockOrSemicolonOrASI=E1,e.syntaxRequiresTrailingSemicolonOrASI=qx,e.syntaxMayBeASICandidate=e.or(W1,cx,E1,qx),e.positionIsASICandidate=function(M,X0,l1){var Hx=e.findAncestor(X0,function(ge){return ge.end!==M?\"quit\":e.syntaxMayBeASICandidate(ge.kind)});return!!Hx&&function(ge,Pe){var It=ge.getLastToken(Pe);if(It&&It.kind===26)return!1;if(W1(ge.kind)){if(It&&It.kind===27)return!1}else if(E1(ge.kind)){if((Kr=e.last(ge.getChildren(Pe)))&&e.isModuleBlock(Kr))return!1}else if(cx(ge.kind)){var Kr;if((Kr=e.last(ge.getChildren(Pe)))&&e.isFunctionBlock(Kr))return!1}else if(!qx(ge.kind))return!1;if(ge.kind===236)return!0;var pn=h1(ge,e.findAncestor(ge,function(rn){return!rn.parent}),Pe);return!pn||pn.kind===19||Pe.getLineAndCharacterOfPosition(ge.getEnd()).line!==Pe.getLineAndCharacterOfPosition(pn.getStart(Pe)).line}(Hx,l1)},e.probablyUsesSemicolons=function(M){var X0=0,l1=0;return e.forEachChild(M,function Hx(ge){if(qx(ge.kind)){var Pe=ge.getLastToken(M);Pe&&Pe.kind===26?X0++:l1++}return X0+l1>=5||e.forEachChild(ge,Hx)}),X0===0&&l1<=1||X0/l1>.2},e.tryGetDirectories=function(M,X0){return Ut(M,M.getDirectories,X0)||[]},e.tryReadDirectory=function(M,X0,l1,Hx,ge){return Ut(M,M.readDirectory,X0,l1,Hx,ge)||e.emptyArray},e.tryFileExists=xt,e.tryDirectoryExists=function(M,X0){return ae(function(){return e.directoryProbablyExists(X0,M)})||!1},e.tryAndIgnoreErrors=ae,e.tryIOAndConsumeErrors=Ut,e.findPackageJsons=function(M,X0,l1){var Hx=[];return e.forEachAncestorDirectory(M,function(ge){if(ge===l1)return!0;var Pe=e.combinePaths(ge,\"package.json\");xt(X0,Pe)&&Hx.push(Pe)}),Hx},e.findPackageJson=function(M,X0){var l1;return e.forEachAncestorDirectory(M,function(Hx){return Hx===\"node_modules\"||!!(l1=e.findConfigFile(Hx,function(ge){return xt(X0,ge)},\"package.json\"))||void 0}),l1},e.getPackageJsonsVisibleToFile=or,e.createPackageJsonInfo=ut,e.createPackageJsonImportFilter=function(M,X0){var l1,Hx=(X0.getPackageJsonsVisibleToFile&&X0.getPackageJsonsVisibleToFile(M.fileName)||or(M.fileName,X0)).filter(function(pn){return pn.parseable});return{allowsImportingAmbientModule:function(pn,rn){if(!Hx.length||!pn.valueDeclaration)return!0;var _t=It(pn.valueDeclaration.getSourceFile().fileName,rn);if(_t===void 0)return!0;var Ii=e.stripQuotes(pn.getName());return Pe(Ii)?!0:ge(_t)||ge(Ii)},allowsImportingSourceFile:function(pn,rn){if(!Hx.length)return!0;var _t=It(pn.fileName,rn);return _t?ge(_t):!0},allowsImportingSpecifier:function(pn){return!Hx.length||Pe(pn)||e.pathIsRelative(pn)||e.isRootedDiskPath(pn)?!0:ge(pn)}};function ge(pn){for(var rn=Kr(pn),_t=0,Ii=Hx;_t<Ii.length;_t++){var Mn=Ii[_t];if(Mn.has(rn)||Mn.has(e.getTypesPackageName(rn)))return!0}return!1}function Pe(pn){return!!(e.isSourceFileJS(M)&&e.JsTyping.nodeCoreModules.has(pn)&&(l1===void 0&&(l1=Gr(M)),l1))}function It(pn,rn){if(e.stringContains(pn,\"node_modules\")){var _t=e.moduleSpecifiers.getNodeModulesPackageName(X0.getCompilationSettings(),M.path,pn,rn);if(_t)return e.pathIsRelative(_t)||e.isRootedDiskPath(_t)?void 0:Kr(_t)}}function Kr(pn){var rn=e.getPathComponents(e.getPackageNameFromTypesPackageName(pn)).slice(1);return e.startsWith(rn[0],\"@\")?rn[0]+\"/\"+rn[1]:rn[0]}},e.consumesNodeCoreModules=Gr,e.isInsideNodeModules=function(M){return e.contains(e.getPathComponents(M),\"node_modules\")},e.isDiagnosticWithLocation=B,e.findDiagnosticForNode=function(M,X0){var l1=n1(M),Hx=e.binarySearchKey(X0,l1,e.identity,e.compareTextSpans);if(Hx>=0){var ge=X0[Hx];return e.Debug.assertEqual(ge.file,M.getSourceFile(),\"Diagnostics proided to 'findDiagnosticForNode' must be from a single SourceFile\"),e.cast(ge,B)}},e.getDiagnosticsWithinSpan=function(M,X0){var l1,Hx=e.binarySearchKey(X0,M.start,function(Kr){return Kr.start},e.compareValues);for(Hx<0&&(Hx=~Hx);((l1=X0[Hx-1])===null||l1===void 0?void 0:l1.start)===M.start;)Hx--;for(var ge=[],Pe=e.textSpanEnd(M);;){var It=e.tryCast(X0[Hx],B);if(!It||It.start>Pe)break;e.textSpanContainsTextSpan(M,It)&&ge.push(It),Hx++}return ge},e.getRefactorContextSpan=function(M){var X0=M.startPosition,l1=M.endPosition;return e.createTextSpanFromBounds(X0,l1===void 0?X0:l1)},e.mapOneOrMany=function(M,X0,l1){return l1===void 0&&(l1=e.identity),M?e.isArray(M)?l1(e.map(M,X0)):X0(M,0):void 0},e.firstOrOnly=function(M){return e.isArray(M)?e.first(M):M},e.getNameForExportedSymbol=function(M,X0){return 33554432&M.flags||M.escapedName!==\"export=\"&&M.escapedName!==\"default\"?M.name:e.firstDefined(M.declarations,function(l1){var Hx;return e.isExportAssignment(l1)?(Hx=e.tryCast(e.skipOuterExpressions(l1.expression),e.isIdentifier))===null||Hx===void 0?void 0:Hx.text:void 0})||e.codefix.moduleSymbolToValidIdentifier(function(l1){var Hx;return e.Debug.checkDefined(l1.parent,\"Symbol parent was undefined. Flags: \"+e.Debug.formatSymbolFlags(l1.flags)+\". Declarations: \"+((Hx=l1.declarations)===null||Hx===void 0?void 0:Hx.map(function(ge){var Pe=e.Debug.formatSyntaxKind(ge.kind),It=e.isInJSFile(ge),Kr=ge.expression;return(It?\"[JS]\":\"\")+Pe+(Kr?\" (expression: \"+e.Debug.formatSyntaxKind(Kr.kind)+\")\":\"\")}).join(\", \"))+\".\")}(M),X0)},e.stringContainsAt=function(M,X0,l1){var Hx=X0.length;if(Hx+l1>M.length)return!1;for(var ge=0;ge<Hx;ge++)if(X0.charCodeAt(ge)!==M.charCodeAt(ge+l1))return!1;return!0},e.startsWithUnderscore=function(M){return M.charCodeAt(0)===95},e.isGlobalDeclaration=function(M){return!h0(M)},e.isNonGlobalDeclaration=h0,(wr=e.ImportKind||(e.ImportKind={}))[wr.Named=0]=\"Named\",wr[wr.Default=1]=\"Default\",wr[wr.Namespace=2]=\"Namespace\",wr[wr.CommonJS=3]=\"CommonJS\",(gr=e.ExportKind||(e.ExportKind={}))[gr.Named=0]=\"Named\",gr[gr.Default=1]=\"Default\",gr[gr.ExportEquals=2]=\"ExportEquals\",gr[gr.UMD=3]=\"UMD\",e.createExportMapCache=function(){var M,X0,l1,Hx={isEmpty:function(){return!M},clear:function(){M=void 0,X0=void 0},set:function(Pe,It){M=Pe,It&&(X0=It)},get:function(Pe,It,Kr){if(!l1||Pe===l1)return Kr&&X0===Kr||M==null||M.forEach(function(pn){for(var rn,_t,Ii,Mn=0,Ka=pn;Mn<Ka.length;Mn++){var fe=Ka[Mn];((rn=fe.symbol.declarations)===null||rn===void 0?void 0:rn.length)&&(fe.symbol=It.getMergedSymbol(fe.exportKind===1&&(_t=fe.symbol.declarations[0].localSymbol)!==null&&_t!==void 0?_t:fe.symbol.declarations[0].symbol)),((Ii=fe.moduleSymbol.declarations)===null||Ii===void 0?void 0:Ii.length)&&(fe.moduleSymbol=It.getMergedSymbol(fe.moduleSymbol.declarations[0].symbol))}}),M},onFileChanged:function(Pe,It,Kr){return(!ge(Pe)||!ge(It))&&(l1&&l1!==It.path||Kr&&Gr(Pe)!==Gr(It)||!e.arrayIsEqualTo(Pe.moduleAugmentations,It.moduleAugmentations)||!function(pn,rn){if(!e.arrayIsEqualTo(pn.ambientModuleNames,rn.ambientModuleNames))return!1;for(var _t=-1,Ii=-1,Mn=function(yt){var Fn=function(Ur){return e.isNonGlobalAmbientModule(Ur)&&Ur.name.text===yt};if(_t=e.findIndex(pn.statements,Fn,_t+1),Ii=e.findIndex(rn.statements,Fn,Ii+1),pn.statements[_t]!==rn.statements[Ii])return{value:!1}},Ka=0,fe=rn.ambientModuleNames;Ka<fe.length;Ka++){var Fr=Mn(fe[Ka]);if(typeof Fr==\"object\")return Fr.value}return!0}(Pe,It)?(this.clear(),!0):(l1=It.path,!1))}};return e.Debug.isDebugging&&Object.defineProperty(Hx,\"__cache\",{get:function(){return M}}),Hx;function ge(Pe){return!(Pe.commonJsModuleIndicator||Pe.externalModuleIndicator||Pe.moduleAugmentations||Pe.ambientModuleNames)}},e.createModuleSpecifierCache=function(){var M,X0,l1={get:function(Hx,ge){if(M&&Hx===X0)return M.get(ge)},set:function(Hx,ge,Pe){M&&Hx!==X0&&M.clear(),X0=Hx,(M||(M=new e.Map)).set(ge,Pe)},clear:function(){M=void 0,X0=void 0},count:function(){return M?M.size:0}};return e.Debug.isDebugging&&Object.defineProperty(l1,\"__cache\",{get:function(){return M}}),l1},e.isImportableFile=function(M,X0,l1,Hx,ge,Pe){var It;if(X0===l1)return!1;var Kr=Pe==null?void 0:Pe.get(X0.path,l1.path);if(Kr!==void 0)return!!Kr;var pn=e.hostGetCanonicalFileName(ge),rn=(It=ge.getGlobalTypingsCacheLocation)===null||It===void 0?void 0:It.call(ge),_t=!!e.moduleSpecifiers.forEachFileNameOfModule(X0.fileName,l1.fileName,ge,!1,function(Mn){var Ka=M.getSourceFile(Mn);return(Ka===l1||!Ka)&&function(fe,Fr,yt,Fn){var Ur=e.forEachAncestorDirectory(Fr,function(Kt){return e.getBaseFileName(Kt)===\"node_modules\"?Kt:void 0}),fa=Ur&&e.getDirectoryPath(yt(Ur));return fa===void 0||e.startsWith(yt(fe),fa)||!!Fn&&e.startsWith(yt(Fn),fa)}(X0.fileName,Mn,pn,rn)});if(Hx){var Ii=_t&&Hx.allowsImportingSourceFile(l1,ge);return Pe==null||Pe.set(X0.path,l1.path,Ii),Ii}return _t}}(_0||(_0={})),function(e){e.createClassifier=function(){var A0=e.createScanner(99,!1);function o0(j,G,u0){var U=0,g0=0,d0=[],P0=function(V0){switch(V0){case 3:return{prefix:`\"\\\\\n`};case 2:return{prefix:`'\\\\\n`};case 1:return{prefix:`/*\n`};case 4:return{prefix:\"`\\n\"};case 5:return{prefix:`}\n`,pushTemplate:!0};case 6:return{prefix:\"\",pushTemplate:!0};case 0:return{prefix:\"\"};default:return e.Debug.assertNever(V0)}}(G),c0=P0.prefix,D0=P0.pushTemplate;j=c0+j;var x0=c0.length;D0&&d0.push(15),A0.setText(j);var l0=0,w0=[],V=0;do{U=A0.scan(),e.isTrivia(U)||(k0(),g0=U);var w=A0.getTextPos();if(J(A0.getTokenPos(),w,x0,s1(U),w0),w>=j.length){var H=X(A0,U,e.lastOrUndefined(d0));H!==void 0&&(l0=H)}}while(U!==1);function k0(){switch(U){case 43:case 67:s[g0]||A0.reScanSlashToken()!==13||(U=13);break;case 29:g0===78&&V++;break;case 31:V>0&&V--;break;case 128:case 147:case 144:case 131:case 148:V>0&&!u0&&(U=78);break;case 15:d0.push(U);break;case 18:d0.length>0&&d0.push(U);break;case 19:if(d0.length>0){var V0=e.lastOrUndefined(d0);V0===15?(U=A0.reScanTemplateToken(!1))===17?d0.pop():e.Debug.assertEqual(U,16,\"Should have been a template middle.\"):(e.Debug.assertEqual(V0,18,\"Should have been an open brace\"),d0.pop())}break;default:if(!e.isKeyword(U))break;(g0===24||e.isKeyword(g0)&&e.isKeyword(U)&&!function(t0,f0){if(!e.isAccessibilityModifier(t0))return!0;switch(f0){case 134:case 146:case 132:case 123:return!0;default:return!1}}(g0,U))&&(U=78)}}return{endOfLineState:l0,spans:w0}}return{getClassificationsForLine:function(j,G,u0){return function(U,g0){for(var d0=[],P0=U.spans,c0=0,D0=0;D0<P0.length;D0+=3){var x0=P0[D0],l0=P0[D0+1],w0=P0[D0+2];if(c0>=0){var V=x0-c0;V>0&&d0.push({length:V,classification:e.TokenClass.Whitespace})}d0.push({length:l0,classification:m0(w0)}),c0=x0+l0}var w=g0.length-c0;return w>0&&d0.push({length:w,classification:e.TokenClass.Whitespace}),{entries:d0,finalLexState:U.endOfLineState}}(o0(j,G,u0),j)},getEncodedLexicalClassifications:o0}};var s=e.arrayToNumericMap([78,10,8,9,13,107,45,46,21,23,19,109,94],function(A0){return A0},function(){return!0});function X(A0,o0,j){switch(o0){case 10:if(!A0.isUnterminated())return;for(var G=A0.getTokenText(),u0=G.length-1,U=0;G.charCodeAt(u0-U)===92;)U++;return(1&U)==0?void 0:G.charCodeAt(0)===34?3:2;case 3:return A0.isUnterminated()?1:void 0;default:if(e.isTemplateLiteralKind(o0)){if(!A0.isUnterminated())return;switch(o0){case 17:return 5;case 14:return 4;default:return e.Debug.fail(\"Only 'NoSubstitutionTemplateLiteral's and 'TemplateTail's can be unterminated; got SyntaxKind #\"+o0)}}return j===15?6:void 0}}function J(A0,o0,j,G,u0){if(G!==8){A0===0&&j>0&&(A0+=j);var U=o0-A0;U>0&&u0.push(A0-j,U,G)}}function m0(A0){switch(A0){case 1:return e.TokenClass.Comment;case 3:return e.TokenClass.Keyword;case 4:return e.TokenClass.NumberLiteral;case 25:return e.TokenClass.BigIntLiteral;case 5:return e.TokenClass.Operator;case 6:return e.TokenClass.StringLiteral;case 8:return e.TokenClass.Whitespace;case 10:return e.TokenClass.Punctuation;case 2:case 11:case 12:case 13:case 14:case 15:case 16:case 9:case 17:return e.TokenClass.Identifier;default:return}}function s1(A0){if(e.isKeyword(A0))return 3;if(function(o0){switch(o0){case 41:case 43:case 44:case 39:case 40:case 47:case 48:case 49:case 29:case 31:case 32:case 33:case 101:case 100:case 126:case 34:case 35:case 36:case 37:case 50:case 52:case 51:case 55:case 56:case 73:case 72:case 77:case 69:case 70:case 71:case 63:case 64:case 65:case 67:case 68:case 62:case 27:case 60:case 74:case 75:case 76:return!0;default:return!1}}(A0)||function(o0){switch(o0){case 39:case 40:case 54:case 53:case 45:case 46:return!0;default:return!1}}(A0))return 5;if(A0>=18&&A0<=77)return 10;switch(A0){case 8:return 4;case 9:return 25;case 10:return 6;case 13:return 7;case 7:case 3:case 2:return 1;case 5:case 4:return 8;case 78:default:return e.isTemplateLiteralKind(A0)?6:2}}function i0(A0,o0){switch(o0){case 257:case 253:case 254:case 252:case 222:case 209:case 210:A0.throwIfCancellationRequested()}}function H0(A0,o0,j,G,u0){var U=[];return j.forEachChild(function g0(d0){if(d0&&e.textSpanIntersectsWith(u0,d0.pos,d0.getFullWidth())){if(i0(o0,d0.kind),e.isIdentifier(d0)&&!e.nodeIsMissing(d0)&&G.has(d0.escapedText)){var P0=A0.getSymbolAtLocation(d0),c0=P0&&E0(P0,e.getMeaningFromLocation(d0),A0);c0&&function(D0,x0,l0){var w0=x0-D0;e.Debug.assert(w0>0,\"Classification had non-positive length of \"+w0),U.push(D0),U.push(w0),U.push(l0)}(d0.getStart(j),d0.getEnd(),c0)}d0.forEachChild(g0)}}),{spans:U,endOfLineState:0}}function E0(A0,o0,j){var G=A0.getFlags();return(2885600&G)==0?void 0:32&G?11:384&G?12:524288&G?16:1536&G?4&o0||1&o0&&function(u0){return e.some(u0.declarations,function(U){return e.isModuleDeclaration(U)&&e.getModuleInstanceState(U)===1})}(A0)?14:void 0:2097152&G?E0(j.getAliasedSymbol(A0),o0,j):2&o0?64&G?13:262144&G?15:void 0:void 0}function I(A0){switch(A0){case 1:return\"comment\";case 2:return\"identifier\";case 3:return\"keyword\";case 4:return\"number\";case 25:return\"bigint\";case 5:return\"operator\";case 6:return\"string\";case 8:return\"whitespace\";case 9:return\"text\";case 10:return\"punctuation\";case 11:return\"class name\";case 12:return\"enum name\";case 13:return\"interface name\";case 14:return\"module name\";case 15:return\"type parameter name\";case 16:return\"type alias name\";case 17:return\"parameter name\";case 18:return\"doc comment tag name\";case 19:return\"jsx open tag name\";case 20:return\"jsx close tag name\";case 21:return\"jsx self closing tag name\";case 22:return\"jsx attribute\";case 23:return\"jsx text\";case 24:return\"jsx attribute string literal value\";default:return}}function A(A0){e.Debug.assert(A0.spans.length%3==0);for(var o0=A0.spans,j=[],G=0;G<o0.length;G+=3)j.push({textSpan:e.createTextSpan(o0[G],o0[G+1]),classificationType:I(o0[G+2])});return j}function Z(A0,o0,j){var G=j.start,u0=j.length,U=e.createScanner(99,!1,o0.languageVariant,o0.text),g0=e.createScanner(99,!1,o0.languageVariant,o0.text),d0=[];return H(o0),{spans:d0,endOfLineState:0};function P0(k0,V0,t0){d0.push(k0),d0.push(V0),d0.push(t0)}function c0(k0,V0,t0,f0){if(V0===3){var y0=e.parseIsolatedJSDocComment(o0.text,t0,f0);if(y0&&y0.jsDoc)return e.setParent(y0.jsDoc,k0),void function(G0){var d1,h1,S1,Q1,Y0,$1,Z1,Q0=G0.pos;if(G0.tags)for(var y1=0,k1=G0.tags;y1<k1.length;y1++){var I1=k1[y1];I1.pos!==Q0&&D0(Q0,I1.pos-Q0),P0(I1.pos,1,10),P0(I1.tagName.pos,I1.tagName.end-I1.tagName.pos,18),Q0=I1.tagName.end;var K0=I1.tagName.end;switch(I1.kind){case 330:var G1=I1;S0(G1),K0=G1.isNameFirst&&((d1=G1.typeExpression)===null||d1===void 0?void 0:d1.end)||G1.name.end;break;case 337:var Nx=I1;K0=Nx.isNameFirst&&((h1=Nx.typeExpression)===null||h1===void 0?void 0:h1.end)||Nx.name.end;break;case 334:x0(I1),Q0=I1.end,K0=I1.typeParameters.end;break;case 335:var n1=I1;K0=((S1=n1.typeExpression)===null||S1===void 0?void 0:S1.kind)===302&&((Q1=n1.fullName)===null||Q1===void 0?void 0:Q1.end)||((Y0=n1.typeExpression)===null||Y0===void 0?void 0:Y0.end)||K0;break;case 328:K0=I1.typeExpression.end;break;case 333:H(I1.typeExpression),Q0=I1.end,K0=I1.typeExpression.end;break;case 332:case 329:K0=I1.typeExpression.end;break;case 331:H(I1.typeExpression),Q0=I1.end,K0=(($1=I1.typeExpression)===null||$1===void 0?void 0:$1.end)||K0;break;case 336:K0=((Z1=I1.name)===null||Z1===void 0?void 0:Z1.end)||K0;break;case 318:case 319:K0=I1.class.end}typeof I1.comment==\"object\"?D0(I1.comment.pos,I1.comment.end-I1.comment.pos):typeof I1.comment==\"string\"&&D0(K0,I1.end-K0)}Q0!==G0.end&&D0(Q0,G0.end-Q0);return;function S0(I0){I0.isNameFirst&&(D0(Q0,I0.name.pos-Q0),P0(I0.name.pos,I0.name.end-I0.name.pos,17),Q0=I0.name.end),I0.typeExpression&&(D0(Q0,I0.typeExpression.pos-Q0),H(I0.typeExpression),Q0=I0.typeExpression.end),I0.isNameFirst||(D0(Q0,I0.name.pos-Q0),P0(I0.name.pos,I0.name.end-I0.name.pos,17),Q0=I0.name.end)}}(y0.jsDoc)}else if(V0===2&&function(G0,d1){var h1=/^(\\/\\/\\/\\s*)(<)(?:(\\S+)((?:[^/]|\\/[^>])*)(\\/>)?)?/im,S1=/(\\S+)(\\s*)(=)(\\s*)('[^']+'|\"[^\"]+\")/gim,Q1=o0.text.substr(G0,d1),Y0=h1.exec(Q1);if(!Y0||!Y0[3]||!(Y0[3]in e.commentPragmas))return!1;var $1=G0;D0($1,Y0[1].length),P0($1+=Y0[1].length,Y0[2].length,10),P0($1+=Y0[2].length,Y0[3].length,21),$1+=Y0[3].length;for(var Z1=Y0[4],Q0=$1;;){var y1=S1.exec(Z1);if(!y1)break;var k1=$1+y1.index;k1>Q0&&(D0(Q0,k1-Q0),Q0=k1),P0(Q0,y1[1].length,22),Q0+=y1[1].length,y1[2].length&&(D0(Q0,y1[2].length),Q0+=y1[2].length),P0(Q0,y1[3].length,5),Q0+=y1[3].length,y1[4].length&&(D0(Q0,y1[4].length),Q0+=y1[4].length),P0(Q0,y1[5].length,24),Q0+=y1[5].length}($1+=Y0[4].length)>Q0&&D0(Q0,$1-Q0),Y0[5]&&(P0($1,Y0[5].length,10),$1+=Y0[5].length);var I1=G0+d1;return $1<I1&&D0($1,I1-$1),!0}(t0,f0))return;D0(t0,f0)}function D0(k0,V0){P0(k0,V0,1)}function x0(k0){for(var V0=0,t0=k0.getChildren();V0<t0.length;V0++)H(t0[V0])}function l0(k0,V0,t0){var f0;for(f0=V0;f0<t0&&!e.isLineBreak(k0.charCodeAt(f0));f0++);for(P0(V0,f0-V0,1),g0.setTextPos(f0);g0.getTextPos()<t0;)w0()}function w0(){var k0=g0.getTextPos(),V0=g0.scan(),t0=g0.getTextPos(),f0=w(V0);f0&&P0(k0,t0-k0,f0)}function V(k0){if(e.isJSDoc(k0)||e.nodeIsMissing(k0))return!0;var V0=function(G0){switch(G0.parent&&G0.parent.kind){case 276:if(G0.parent.tagName===G0)return 19;break;case 277:if(G0.parent.tagName===G0)return 20;break;case 275:if(G0.parent.tagName===G0)return 21;break;case 281:if(G0.parent.name===G0)return 22}}(k0);if(!e.isToken(k0)&&k0.kind!==11&&V0===void 0)return!1;var t0=k0.kind===11?k0.pos:function(G0){for(U.setTextPos(G0.pos);;){var d1=U.getTextPos();if(!e.couldStartTrivia(o0.text,d1))return d1;var h1=U.scan(),S1=U.getTextPos(),Q1=S1-d1;if(!e.isTrivia(h1))return d1;switch(h1){case 4:case 5:continue;case 2:case 3:c0(G0,h1,d1,Q1),U.setTextPos(S1);continue;case 7:var Y0=o0.text,$1=Y0.charCodeAt(d1);if($1===60||$1===62){P0(d1,Q1,1);continue}e.Debug.assert($1===124||$1===61),l0(Y0,d1,S1);break;case 6:break;default:e.Debug.assertNever(h1)}}}(k0),f0=k0.end-t0;if(e.Debug.assert(f0>=0),f0>0){var y0=V0||w(k0.kind,k0);y0&&P0(t0,f0,y0)}return!0}function w(k0,V0){if(e.isKeyword(k0))return 3;if((k0===29||k0===31)&&V0&&e.getTypeArgumentOrTypeParameterList(V0.parent))return 10;if(e.isPunctuation(k0)){if(V0){var t0=V0.parent;if(k0===62&&(t0.kind===250||t0.kind===164||t0.kind===161||t0.kind===281)||t0.kind===217||t0.kind===215||t0.kind===216||t0.kind===218)return 5}return 10}if(k0===8)return 4;if(k0===9)return 25;if(k0===10)return V0&&V0.parent.kind===281?24:6;if(k0===13||e.isTemplateLiteralKind(k0))return 6;if(k0===11)return 23;if(k0===78){if(V0)switch(V0.parent.kind){case 253:return V0.parent.name===V0?11:void 0;case 160:return V0.parent.name===V0?15:void 0;case 254:return V0.parent.name===V0?13:void 0;case 256:return V0.parent.name===V0?12:void 0;case 257:return V0.parent.name===V0?14:void 0;case 161:return V0.parent.name===V0?e.isThisIdentifier(V0)?3:17:void 0}return 2}}function H(k0){if(k0&&e.decodedTextSpanIntersectsWith(G,u0,k0.pos,k0.getFullWidth())){i0(A0,k0.kind);for(var V0=0,t0=k0.getChildren(o0);V0<t0.length;V0++){var f0=t0[V0];V(f0)||H(f0)}}}}e.getSemanticClassifications=function(A0,o0,j,G,u0){return A(H0(A0,o0,j,G,u0))},e.getEncodedSemanticClassifications=H0,e.getSyntacticClassifications=function(A0,o0,j){return A(Z(A0,o0,j))},e.getEncodedSyntacticClassifications=Z}(_0||(_0={})),function(e){var s;(function(X){var J,m0,s1;function i0(Z,A0,o0,j){return{spans:H0(Z,o0,j,A0),endOfLineState:0}}function H0(Z,A0,o0,j){var G=[];return Z&&A0&&function(u0,U,g0,d0,P0){var c0=u0.getTypeChecker(),D0=!1;function x0(l0){switch(l0.kind){case 257:case 253:case 254:case 252:case 222:case 209:case 210:P0.throwIfCancellationRequested()}if(l0&&e.textSpanIntersectsWith(g0,l0.pos,l0.getFullWidth())&&l0.getFullWidth()!==0){var w0=D0;if((e.isJsxElement(l0)||e.isJsxSelfClosingElement(l0))&&(D0=!0),e.isJsxExpression(l0)&&(D0=!1),e.isIdentifier(l0)&&!D0&&!function(f0){var y0=f0.parent;return y0&&(e.isImportClause(y0)||e.isImportSpecifier(y0)||e.isNamespaceImport(y0))}(l0)){var V=c0.getSymbolAtLocation(l0);if(V){2097152&V.flags&&(V=c0.getAliasedSymbol(V));var w=function(f0,y0){var G0=f0.getFlags();if(32&G0)return 0;if(384&G0)return 1;if(524288&G0)return 5;if(64&G0){if(2&y0)return 2}else if(262144&G0)return 4;var d1=f0.valueDeclaration||f0.declarations&&f0.declarations[0];return d1&&e.isBindingElement(d1)&&(d1=E0(d1)),d1&&A.get(d1.kind)}(V,e.getMeaningFromLocation(l0));if(w!==void 0){var H=0;l0.parent&&(e.isBindingElement(l0.parent)||A.get(l0.parent.kind)===w)&&l0.parent.name===l0&&(H=1),w===6&&I(l0)&&(w=9),w=function(f0,y0,G0){if(G0===7||G0===9||G0===6){var d1=f0.getTypeAtLocation(y0);if(d1){var h1=function(S1){return S1(d1)||d1.isUnion()&&d1.types.some(S1)};if(G0!==6&&h1(function(S1){return S1.getConstructSignatures().length>0}))return 0;if(h1(function(S1){return S1.getCallSignatures().length>0})&&!h1(function(S1){return S1.getProperties().length>0})||function(S1){for(;I(S1);)S1=S1.parent;return e.isCallExpression(S1.parent)&&S1.parent.expression===S1}(y0))return G0===9?11:10}}return G0}(c0,l0,w);var k0=V.valueDeclaration;if(k0){var V0=e.getCombinedModifierFlags(k0),t0=e.getCombinedNodeFlags(k0);32&V0&&(H|=2),256&V0&&(H|=4),w!==0&&w!==2&&(64&V0||2&t0||8&V.getFlags())&&(H|=8),w!==7&&w!==10||!function(f0,y0){return e.isBindingElement(f0)&&(f0=E0(f0)),e.isVariableDeclaration(f0)?(!e.isSourceFile(f0.parent.parent.parent)||e.isCatchClause(f0.parent))&&f0.getSourceFile()===y0:!!e.isFunctionDeclaration(f0)&&!e.isSourceFile(f0.parent)&&f0.getSourceFile()===y0}(k0,U)||(H|=32),u0.isSourceFileDefaultLibrary(k0.getSourceFile())&&(H|=16)}else V.declarations&&V.declarations.some(function(f0){return u0.isSourceFileDefaultLibrary(f0.getSourceFile())})&&(H|=16);d0(l0,w,H)}}}e.forEachChild(l0,x0),D0=w0}}x0(U)}(Z,A0,o0,function(u0,U,g0){G.push(u0.getStart(A0),u0.getWidth(A0),(U+1<<8)+g0)},j),G}function E0(Z){for(;;){if(!e.isBindingElement(Z.parent.parent))return Z.parent.parent;Z=Z.parent.parent}}function I(Z){return e.isQualifiedName(Z.parent)&&Z.parent.right===Z||e.isPropertyAccessExpression(Z.parent)&&Z.parent.name===Z}(J=X.TokenEncodingConsts||(X.TokenEncodingConsts={}))[J.typeOffset=8]=\"typeOffset\",J[J.modifierMask=255]=\"modifierMask\",(m0=X.TokenType||(X.TokenType={}))[m0.class=0]=\"class\",m0[m0.enum=1]=\"enum\",m0[m0.interface=2]=\"interface\",m0[m0.namespace=3]=\"namespace\",m0[m0.typeParameter=4]=\"typeParameter\",m0[m0.type=5]=\"type\",m0[m0.parameter=6]=\"parameter\",m0[m0.variable=7]=\"variable\",m0[m0.enumMember=8]=\"enumMember\",m0[m0.property=9]=\"property\",m0[m0.function=10]=\"function\",m0[m0.member=11]=\"member\",(s1=X.TokenModifier||(X.TokenModifier={}))[s1.declaration=0]=\"declaration\",s1[s1.static=1]=\"static\",s1[s1.async=2]=\"async\",s1[s1.readonly=3]=\"readonly\",s1[s1.defaultLibrary=4]=\"defaultLibrary\",s1[s1.local=5]=\"local\",X.getSemanticClassifications=function(Z,A0,o0,j){var G=i0(Z,A0,o0,j);e.Debug.assert(G.spans.length%3==0);for(var u0=G.spans,U=[],g0=0;g0<u0.length;g0+=3)U.push({textSpan:e.createTextSpan(u0[g0],u0[g0+1]),classificationType:u0[g0+2]});return U},X.getEncodedSemanticClassifications=i0;var A=new e.Map([[250,7],[161,6],[164,9],[257,3],[256,1],[292,8],[253,0],[166,11],[252,10],[209,10],[165,11],[168,9],[169,9],[163,9],[254,2],[255,5],[160,4],[289,9],[290,9]])})((s=e.classifier||(e.classifier={})).v2020||(s.v2020={}))}(_0||(_0={})),function(e){var s;(function(X){function J(l0){return{isGlobalCompletion:!1,isMemberCompletion:!1,isNewIdentifierLocation:!0,entries:l0.map(function(w0){var V=w0.name,w=w0.kind,H=w0.span;return{name:V,kind:w,kindModifiers:m0(w0.extension),sortText:s.SortText.LocationPriority,replacementSpan:H}})}}function m0(l0){switch(l0){case\".d.ts\":return\".d.ts\";case\".js\":return\".js\";case\".json\":return\".json\";case\".jsx\":return\".jsx\";case\".ts\":return\".ts\";case\".tsx\":return\".tsx\";case\".tsbuildinfo\":return e.Debug.fail(\"Extension .tsbuildinfo is unsupported.\");case void 0:return\"\";default:return e.Debug.assertNever(l0)}}var s1;function i0(l0,w0,V,w,H,k0,V0){var t0,f0,y0=H0(w0.parent);switch(y0.kind){case 192:var G0=H0(y0.parent);switch(G0.kind){case 174:var d1=G0,h1=e.findAncestor(y0,function(K0){return K0.parent===d1});return h1?{kind:2,types:I(w.getTypeArgumentConstraint(h1)),isNewIdentifier:!1}:void 0;case 190:var S1=G0,Q1=S1.indexType,Y0=S1.objectType;return e.rangeContainsPosition(Q1,V)?E0(w.getTypeFromTypeNode(Y0)):void 0;case 196:return{kind:0,paths:o0(l0,w0,H,k0,w,V0)};case 183:if(!e.isTypeReferenceNode(G0.parent))return;var $1=(t0=G0,f0=y0,e.mapDefined(t0.types,function(K0){return K0!==f0&&e.isLiteralTypeNode(K0)&&e.isStringLiteral(K0.literal)?K0.literal.text:void 0}));return{kind:2,types:I(w.getTypeArgumentConstraint(G0)).filter(function(K0){return!e.contains($1,K0.value)}),isNewIdentifier:!1};default:return}case 289:return e.isObjectLiteralExpression(y0.parent)&&y0.name===w0?function(K0,G1){var Nx=K0.getContextualType(G1);if(Nx){var n1=K0.getContextualType(G1,4);return{kind:1,symbols:s.getPropertiesForObjectExpression(Nx,n1,G1,K0),hasIndexSignature:e.hasIndexSignature(Nx)}}}(w,y0.parent):I1();case 203:var Z1=y0,Q0=Z1.expression,y1=Z1.argumentExpression;return w0===e.skipParentheses(y1)?E0(w.getTypeAtLocation(Q0)):void 0;case 204:case 205:if(!e.isRequireCall(y0,!1)&&!e.isImportCall(y0)){var k1=e.SignatureHelp.getArgumentInfoForCompletions(w0,V,l0);return k1?function(K0,G1){var Nx=!1,n1=new e.Map,S0=[];return G1.getResolvedSignature(K0.invocation,S0,K0.argumentCount),{kind:2,types:e.flatMap(S0,function(I0){if(e.signatureHasRestParameter(I0)||!(K0.argumentCount>I0.parameters.length)){var U0=G1.getParameterType(I0,K0.argumentIndex);return Nx=Nx||!!(4&U0.flags),I(U0,n1)}}),isNewIdentifier:Nx}}(k1,w):I1()}case 262:case 268:case 273:return{kind:0,paths:o0(l0,w0,H,k0,w,V0)};default:return I1()}function I1(){return{kind:2,types:I(e.getContextualTypeFromParent(w0,w)),isNewIdentifier:!1}}}function H0(l0){switch(l0.kind){case 187:return e.walkUpParenthesizedTypes(l0);case 208:return e.walkUpParenthesizedExpressions(l0);default:return l0}}function E0(l0){return l0&&{kind:1,symbols:e.filter(l0.getApparentProperties(),function(w0){return!(w0.valueDeclaration&&e.isPrivateIdentifierClassElementDeclaration(w0.valueDeclaration))}),hasIndexSignature:e.hasIndexSignature(l0)}}function I(l0,w0){return w0===void 0&&(w0=new e.Map),l0?(l0=e.skipConstraint(l0)).isUnion()?e.flatMap(l0.types,function(V){return I(V,w0)}):!l0.isStringLiteral()||1024&l0.flags||!e.addToSeen(w0,l0.value)?e.emptyArray:[l0]:e.emptyArray}function A(l0,w0,V){return{name:l0,kind:w0,extension:V}}function Z(l0){return A(l0,\"directory\",void 0)}function A0(l0,w0,V){var w=function(k0,V0){var t0=Math.max(k0.lastIndexOf(e.directorySeparator),k0.lastIndexOf(e.altDirectorySeparator)),f0=t0!==-1?t0+1:0,y0=k0.length-f0;return y0===0||e.isIdentifierText(k0.substr(f0,y0),99)?void 0:e.createTextSpan(V0+f0,y0)}(l0,w0),H=l0.length===0?void 0:e.createTextSpan(w0,l0.length);return V.map(function(k0){var V0=k0.name,t0=k0.kind,f0=k0.extension;return Math.max(V0.indexOf(e.directorySeparator),V0.indexOf(e.altDirectorySeparator))!==-1?{name:V0,kind:t0,extension:f0,span:H}:{name:V0,kind:t0,extension:f0,span:w}})}function o0(l0,w0,V,w,H,k0){return A0(w0.text,w0.getStart(l0)+1,function(V0,t0,f0,y0,G0,d1){var h1=e.normalizeSlashes(t0.text),S1=V0.path,Q1=e.getDirectoryPath(S1);return function(Y0){if(Y0&&Y0.length>=2&&Y0.charCodeAt(0)===46){var $1=Y0.length>=3&&Y0.charCodeAt(1)===46?2:1,Z1=Y0.charCodeAt($1);return Z1===47||Z1===92}return!1}(h1)||!f0.baseUrl&&(e.isRootedDiskPath(h1)||e.isUrl(h1))?function(Y0,$1,Z1,Q0,y1,k1){var I1=j(Z1,k1.importModuleSpecifierEnding===\"js\");return Z1.rootDirs?function(K0,G1,Nx,n1,S0,I0,U0){var p0=S0.project||I0.getCurrentDirectory(),p1=!(I0.useCaseSensitiveFileNames&&I0.useCaseSensitiveFileNames()),Y1=function(N1,V1,Ox,$x){N1=N1.map(function(O0){return e.normalizePath(e.isRootedDiskPath(O0)?O0:e.combinePaths(V1,O0))});var rx=e.firstDefined(N1,function(O0){return e.containsPath(O0,Ox,V1,$x)?Ox.substr(O0.length):void 0});return e.deduplicate(D(D([],N1.map(function(O0){return e.combinePaths(O0,rx)})),[Ox]),e.equateStringsCaseSensitive,e.compareStringsCaseSensitive)}(K0,p0,Nx,p1);return e.flatMap(Y1,function(N1){return u0(G1,N1,n1,I0,U0)})}(Z1.rootDirs,Y0,$1,I1,Z1,Q0,y1):u0(Y0,$1,I1,Q0,y1)}(h1,Q1,f0,y0,S1,d1):function(Y0,$1,Z1,Q0,y1){var k1=Z1.baseUrl,I1=Z1.paths,K0=[],G1=j(Z1);if(k1){var Nx=Z1.project||Q0.getCurrentDirectory(),n1=e.normalizePath(e.combinePaths(Nx,k1));u0(Y0,n1,G1,Q0,void 0,K0),I1&&U(K0,Y0,n1,G1.extensions,I1,Q0)}for(var S0=g0(Y0),I0=0,U0=function(Ox,$x,rx){var O0=rx.getAmbientModules().map(function(nx){return e.stripQuotes(nx.name)}).filter(function(nx){return e.startsWith(nx,Ox)});if($x!==void 0){var C1=e.ensureTrailingDirectorySeparator($x);return O0.map(function(nx){return e.removePrefix(nx,C1)})}return O0}(Y0,S0,y1);I0<U0.length;I0++){var p0=U0[I0];K0.push(A(p0,\"external module name\",void 0))}if(P0(Q0,Z1,$1,S0,G1,K0),e.getEmitModuleResolutionKind(Z1)===e.ModuleResolutionKind.NodeJs){var p1=!1;if(S0===void 0)for(var Y1=function(Ox){K0.some(function($x){return $x.name===Ox})||(p1=!0,K0.push(A(Ox,\"external module name\",void 0)))},N1=0,V1=function(Ox,$x){if(!Ox.readFile||!Ox.fileExists)return e.emptyArray;for(var rx=[],O0=0,C1=e.findPackageJsons($x,Ox);O0<C1.length;O0++)for(var nx=C1[O0],O=e.readJson(nx,Ox),b1=0,Px=D0;b1<Px.length;b1++){var me=O[Px[b1]];if(me)for(var Re in me)me.hasOwnProperty(Re)&&!e.startsWith(Re,\"@types/\")&&rx.push(Re)}return rx}(Q0,$1);N1<V1.length;N1++)Y1(V1[N1]);p1||e.forEachAncestorDirectory($1,function(Ox){var $x=e.combinePaths(Ox,\"node_modules\");e.tryDirectoryExists(Q0,$x)&&u0(Y0,$x,G1,Q0,void 0,K0)})}return K0}(h1,Q1,f0,y0,G0)}(l0,w0,V,w,H,k0))}function j(l0,w0){return w0===void 0&&(w0=!1),{extensions:G(l0),includeExtensions:w0}}function G(l0){var w0=e.getSupportedExtensions(l0);return l0.resolveJsonModule&&e.getEmitModuleResolutionKind(l0)===e.ModuleResolutionKind.NodeJs?w0.concat(\".json\"):w0}function u0(l0,w0,V,w,H,k0){var V0=V.extensions,t0=V.includeExtensions;k0===void 0&&(k0=[]),l0===void 0&&(l0=\"\"),l0=e.normalizeSlashes(l0),e.hasTrailingDirectorySeparator(l0)||(l0=e.getDirectoryPath(l0)),l0===\"\"&&(l0=\".\"+e.directorySeparator),l0=e.ensureTrailingDirectorySeparator(l0);var f0=e.resolvePath(w0,l0),y0=e.hasTrailingDirectorySeparator(f0)?f0:e.getDirectoryPath(f0),G0=!(w.useCaseSensitiveFileNames&&w.useCaseSensitiveFileNames());if(!e.tryDirectoryExists(w,y0))return k0;var d1=e.tryReadDirectory(w,y0,V0,void 0,[\"./*\"]);if(d1){for(var h1=new e.Map,S1=0,Q1=d1;S1<Q1.length;S1++){var Y0=Q1[S1];if(Y0=e.normalizePath(Y0),!H||e.comparePaths(Y0,H,w0,G0)!==0){var $1=t0||e.fileExtensionIs(Y0,\".json\")?e.getBaseFileName(Y0):e.removeFileExtension(e.getBaseFileName(Y0));h1.set($1,e.tryGetExtensionFromPath(Y0))}}h1.forEach(function(I0,U0){k0.push(A(U0,\"script\",I0))})}var Z1=e.tryGetDirectories(w,y0);if(Z1)for(var Q0=0,y1=Z1;Q0<y1.length;Q0++){var k1=y1[Q0],I1=e.getBaseFileName(e.normalizePath(k1));I1!==\"@types\"&&k0.push(Z(I1))}var K0=e.findPackageJson(y0,w);if(K0){var G1=e.readJson(K0,w).typesVersions;if(typeof G1==\"object\"){var Nx=e.getPackageJsonTypesVersionsPaths(G1),n1=Nx&&Nx.paths,S0=f0.slice(e.ensureTrailingDirectorySeparator(y0).length);n1&&U(k0,S0,y0,V0,n1,w)}}return k0}function U(l0,w0,V,w,H,k0){for(var V0 in H)if(e.hasProperty(H,V0)){var t0=H[V0];if(t0)for(var f0=function(h1,S1,Q1){l0.some(function(Y0){return Y0.name===h1})||l0.push(A(h1,S1,Q1))},y0=0,G0=d0(V0,t0,w0,V,w,k0);y0<G0.length;y0++){var d1=G0[y0];f0(d1.name,d1.kind,d1.extension)}}}function g0(l0){return x0(l0)?e.hasTrailingDirectorySeparator(l0)?l0:e.getDirectoryPath(l0):void 0}function d0(l0,w0,V,w,H,k0){if(!e.endsWith(l0,\"*\"))return e.stringContains(l0,\"*\")?e.emptyArray:f0(l0);var V0=l0.slice(0,l0.length-1),t0=e.tryRemovePrefix(V,V0);return t0===void 0?f0(V0):e.flatMap(w0,function(y0){return function(G0,d1,h1,S1,Q1){if(Q1.readDirectory){var Y0=e.hasZeroOrOneAsteriskCharacter(h1)?e.tryParsePattern(h1):void 0;if(Y0){var $1=e.resolvePath(Y0.prefix),Z1=e.hasTrailingDirectorySeparator(Y0.prefix)?$1:e.getDirectoryPath($1),Q0=e.hasTrailingDirectorySeparator(Y0.prefix)?\"\":e.getBaseFileName($1),y1=x0(G0),k1=y1?e.hasTrailingDirectorySeparator(G0)?G0:e.getDirectoryPath(G0):void 0,I1=y1?e.combinePaths(Z1,Q0+k1):Z1,K0=e.normalizePath(Y0.suffix),G1=e.normalizePath(e.combinePaths(d1,I1)),Nx=y1?G1:e.ensureTrailingDirectorySeparator(G1)+Q0,n1=K0?\"**/*\":\"./*\",S0=e.mapDefined(e.tryReadDirectory(Q1,G1,S1,void 0,[n1]),function(p0){var p1=e.tryGetExtensionFromPath(p0),Y1=U0(p0);return Y1===void 0?void 0:A(e.removeFileExtension(Y1),\"script\",p1)}),I0=e.mapDefined(e.tryGetDirectories(Q1,G1).map(function(p0){return e.combinePaths(G1,p0)}),function(p0){var p1=U0(p0);return p1===void 0?void 0:Z(p1)});return D(D([],S0),I0)}}function U0(p0){var p1=function(Y1,N1,V1){return e.startsWith(Y1,N1)&&e.endsWith(Y1,V1)?Y1.slice(N1.length,Y1.length-V1.length):void 0}(e.normalizePath(p0),Nx,K0);return p1===void 0?void 0:function(Y1){return Y1[0]===e.directorySeparator?Y1.slice(1):Y1}(p1)}}(t0,w,y0,H,k0)});function f0(y0){return e.startsWith(y0,V)?[Z(y0)]:e.emptyArray}}function P0(l0,w0,V,w,H,k0){k0===void 0&&(k0=[]);for(var V0=new e.Map,t0=0,f0=e.tryAndIgnoreErrors(function(){return e.getEffectiveTypeRoots(w0,l0)})||e.emptyArray;t0<f0.length;t0++)h1(f0[t0]);for(var y0=0,G0=e.findPackageJsons(V,l0);y0<G0.length;y0++){var d1=G0[y0];h1(e.combinePaths(e.getDirectoryPath(d1),\"node_modules/@types\"))}return k0;function h1(S1){if(e.tryDirectoryExists(l0,S1))for(var Q1=0,Y0=e.tryGetDirectories(l0,S1);Q1<Y0.length;Q1++){var $1=Y0[Q1],Z1=e.unmangleScopedPackageName($1);if(!w0.types||e.contains(w0.types,Z1))if(w===void 0)V0.has(Z1)||(k0.push(A(Z1,\"external module name\",void 0)),V0.set(Z1,!0));else{var Q0=e.combinePaths(S1,$1),y1=e.tryRemoveDirectoryPrefix(w,Z1,e.hostGetCanonicalFileName(l0));y1!==void 0&&u0(y1,Q0,H,l0,void 0,k0)}}}}X.getStringLiteralCompletions=function(l0,w0,V,w,H,k0,V0,t0){if(e.isInReferenceComment(l0,w0))return(f0=function(y0,G0,d1,h1){var S1=e.getTokenAtPosition(y0,G0),Q1=e.getLeadingCommentRanges(y0.text,S1.pos),Y0=Q1&&e.find(Q1,function(G1){return G0>=G1.pos&&G0<=G1.end});if(Y0){var $1=y0.text.slice(Y0.pos,G0),Z1=c0.exec($1);if(Z1){var Q0=Z1[1],y1=Z1[2],k1=Z1[3],I1=e.getDirectoryPath(y0.path),K0=y1===\"path\"?u0(k1,I1,j(d1,!0),h1,y0.path):y1===\"types\"?P0(h1,d1,I1,g0(k1),j(d1)):e.Debug.fail();return A0(k1,Y0.pos+Q0.length,K0)}}}(l0,w0,H,k0))&&J(f0);if(e.isInString(l0,w0,V)){if(!V||!e.isStringLiteralLike(V))return;var f0;return function(y0,G0,d1,h1,S1,Q1,Y0){if(y0!==void 0){var $1=e.createTextSpanFromStringLiteralLikeContent(G0);switch(y0.kind){case 0:return J(y0.paths);case 1:var Z1=[];return s.getCompletionEntriesFromSymbols(y0.symbols,Z1,G0,d1,d1,h1,99,S1,4,Y0,Q1),{isGlobalCompletion:!1,isMemberCompletion:!0,isNewIdentifierLocation:y0.hasIndexSignature,optionalReplacementSpan:$1,entries:Z1};case 2:return Z1=y0.types.map(function(Q0){return{name:Q0.value,kindModifiers:\"\",kind:\"string\",sortText:s.SortText.LocationPriority,replacementSpan:e.getReplacementSpanForContextToken(G0)}}),{isGlobalCompletion:!1,isMemberCompletion:!1,isNewIdentifierLocation:y0.isNewIdentifier,optionalReplacementSpan:$1,entries:Z1};default:return e.Debug.assertNever(y0)}}}(f0=i0(l0,V,w0,w,H,k0,t0),V,l0,w,V0,H,t0)}},X.getStringLiteralCompletionDetails=function(l0,w0,V,w,H,k0,V0,t0,f0){if(w&&e.isStringLiteralLike(w)){var y0=i0(w0,w,V,H,k0,V0,f0);return y0&&function(G0,d1,h1,S1,Q1,Y0){switch(h1.kind){case 0:return($1=e.find(h1.paths,function(Z1){return Z1.name===G0}))&&s.createCompletionDetails(G0,m0($1.extension),$1.kind,[e.textPart(G0)]);case 1:var $1;return($1=e.find(h1.symbols,function(Z1){return Z1.name===G0}))&&s.createCompletionDetailsForSymbol($1,Q1,S1,d1,Y0);case 2:return e.find(h1.types,function(Z1){return Z1.value===G0})?s.createCompletionDetails(G0,\"\",\"type\",[e.textPart(G0)]):void 0;default:return e.Debug.assertNever(h1)}}(l0,w,y0,w0,H,t0)}},function(l0){l0[l0.Paths=0]=\"Paths\",l0[l0.Properties=1]=\"Properties\",l0[l0.Types=2]=\"Types\"}(s1||(s1={}));var c0=/^(\\/\\/\\/\\s*<reference\\s+(path|types)\\s*=\\s*(?:'|\"))([^\\3\"]*)$/,D0=[\"dependencies\",\"devDependencies\",\"peerDependencies\",\"optionalDependencies\"];function x0(l0){return e.stringContains(l0,e.directorySeparator)}})((s=e.Completions||(e.Completions={})).StringCompletions||(s.StringCompletions={}))}(_0||(_0={})),function(e){(function(s){var X,J,m0,s1,i0,H0,E0;function I(k1){return!!(k1&&4&k1.kind)}function A(k1){return!(!k1||k1.kind!==32)}function Z(k1){return(I(k1)||A(k1))&&!!k1.isFromPackageJson}function A0(k1){return{isGlobalCompletion:!1,isMemberCompletion:!1,isNewIdentifierLocation:!1,entries:k1}}function o0(k1){return(k1==null?void 0:k1.kind)===78?e.createTextSpanFromNode(k1):void 0}function j(k1,I1){return e.isSourceFileJS(k1)&&!e.isCheckJsEnabledForFile(k1,I1)}function G(k1){switch(k1){case 0:case 3:case 2:return!0;default:return!1}}function u0(k1,I1,K0){return typeof K0==\"object\"?e.pseudoBigIntToString(K0)+\"n\":e.isString(K0)?e.quote(k1,I1,K0):JSON.stringify(K0)}function U(k1,I1,K0){return{name:u0(k1,I1,K0),kind:\"string\",kindModifiers:\"\",sortText:X.LocationPriority}}function g0(k1,I1,K0,G1,Nx,n1,S0,I0,U0,p0,p1,Y1,N1,V1,Ox,$x){var rx,O0,C1,nx,O,b1=e.getReplacementSpanForContextToken(K0),Px=U0&&function(gr){return!!(16&gr.kind)}(U0),me=U0&&function(gr){return!!(2&gr.kind)}(U0)||I0;if(U0&&function(gr){return!!(1&gr.kind)}(U0))O0=I0?\"this\"+(Px?\"?.\":\"\")+\"[\"+d0(Nx,$x,S0)+\"]\":\"this\"+(Px?\"?.\":\".\")+S0;else if((me||Px)&&p1){O0=me?I0?\"[\"+d0(Nx,$x,S0)+\"]\":\"[\"+S0+\"]\":S0,(Px||p1.questionDotToken)&&(O0=\"?.\"+O0);var Re=e.findChildOfKind(p1,24,Nx)||e.findChildOfKind(p1,28,Nx);if(!Re)return;var gt=e.startsWith(S0,p1.name.text)?p1.name.end:Re.end;b1=e.createTextSpanFromBounds(Re.getStart(Nx),gt)}if(Y1&&(O0===void 0&&(O0=S0),O0=\"{\"+O0+\"}\",typeof Y1!=\"boolean\"&&(b1=e.createTextSpanFromNode(Y1,Nx))),U0&&function(gr){return!!(8&gr.kind)}(U0)&&p1){O0===void 0&&(O0=S0);var Vt=e.findPrecedingToken(p1.pos,Nx),wr=\"\";Vt&&e.positionIsASICandidate(Vt.end,Vt.parent,Nx)&&(wr=\";\"),wr+=\"(await \"+p1.expression.getText()+\")\",O0=I0?\"\"+wr+O0:wr+(Px?\"?.\":\".\")+O0,b1=e.createTextSpanFromBounds(p1.getStart(Nx),p1.end)}if(A(U0)&&(e.Debug.assertIsDefined(N1),O0=(rx=function(gr,Nt,Ir,xr,Bt,ar){var Ni=Nt.getSourceFile(),Kn=e.createTextSpanFromNode(Nt,Ni),oi=e.quote(Ni,ar,Ir.moduleSpecifier),Ba=Ir.isDefaultExport?1:Ir.exportName===\"export=\"?2:0,dt=ar.includeCompletionsWithSnippetText?\"$1\":\"\",Gt=e.codefix.getImportKind(Ni,Ba,Bt),lr=xr?\";\":\"\";switch(Gt){case 3:return{replacementSpan:Kn,insertText:\"import \"+gr+dt+\" = require(\"+oi+\")\"+lr};case 1:return{replacementSpan:Kn,insertText:\"import \"+gr+dt+\" from \"+oi+lr};case 2:return{replacementSpan:Kn,insertText:\"import * as \"+gr+dt+\" from \"+oi+lr};case 0:return{replacementSpan:Kn,insertText:\"import { \"+gr+dt+\" } from \"+oi+lr}}}(S0,N1,U0,V1,Ox,$x)).insertText,b1=rx.replacementSpan,O=[e.textPart(U0.moduleSpecifier)],nx=!!$x.includeCompletionsWithSnippetText||void 0),O0===void 0||$x.includeCompletionsWithInsertText)return(I(U0)||A(U0))&&(C1={exportName:U0.exportName,fileName:U0.fileName,ambientModuleName:U0.fileName?void 0:e.stripQuotes(U0.moduleSymbol.name),isPackageJsonImport:!!U0.isFromPackageJson||void 0,moduleSpecifier:A(U0)?U0.moduleSpecifier:void 0}),{name:S0,kind:e.SymbolDisplay.getSymbolKind(n1,k1,G1),kindModifiers:e.SymbolDisplay.getSymbolModifiers(n1,k1),sortText:I1,source:c0(U0),hasAction:U0&&I(U0)||void 0,isRecommended:P0(k1,p0,n1)||void 0,insertText:O0,replacementSpan:b1,sourceDisplay:O,isSnippet:nx,isPackageJsonImport:Z(U0)||void 0,isImportStatementCompletion:A(U0)||void 0,data:C1}}function d0(k1,I1,K0){return/^\\d+$/.test(K0)?K0:e.quote(k1,I1,K0)}function P0(k1,I1,K0){return k1===I1||!!(1048576&k1.flags)&&K0.getExportSymbolOfSymbol(k1)===I1}function c0(k1){return I(k1)?e.stripQuotes(k1.moduleSymbol.name):A(k1)?k1.moduleSpecifier:(k1==null?void 0:k1.kind)===1?J.ThisProperty:void 0}function D0(k1,I1,K0,G1,Nx,n1,S0,I0,U0,p0,p1,Y1,N1,V1,Ox,$x,rx,O0,C1){for(var nx,O=e.timestamp(),b1=(nx=G1,e.findAncestor(nx,function(ar){return e.isFunctionBlock(ar)||function(Ni){return Ni.parent&&e.isArrowFunction(Ni.parent)&&Ni.parent.body===Ni}(ar)||e.isBindingPattern(ar)?\"quit\":e.isVariableDeclaration(ar)})),Px=e.probablyUsesSemicolons(Nx),me=new e.Map,Re=0;Re<k1.length;Re++){var gt=k1[Re],Vt=O0==null?void 0:O0[Re],wr=k0(gt,S0,Vt,U0,!!V1);if(wr&&!me.get(wr.name)&&(U0!==1||!C1||Bt(gt,C1))){var gr=wr.name,Nt=wr.needsConvertPropertyAccess,Ir=g0(gt,C1&&C1[e.getSymbolId(gt)]||X.LocationPriority,K0,G1,Nx,n1,gr,Nt,Vt,rx,N1,Ox,$x,Px,p1,p0);if(Ir){var xr=!(Vt||gt.parent===void 0&&!e.some(gt.declarations,function(ar){return ar.getSourceFile()===G1.getSourceFile()}));me.set(gr,xr),I1.push(Ir)}}}return I0(\"getCompletionsAtPosition: getCompletionEntriesFromSymbols: \"+(e.timestamp()-O)),{has:function(ar){return me.has(ar)},add:function(ar){return me.set(ar,!0)}};function Bt(ar,Ni){if(!e.isSourceFile(G1)){if(e.isExportAssignment(G1.parent))return!0;if(b1&&ar.valueDeclaration===b1)return!1;var Kn=e.skipAlias(ar,n1);if(Nx.externalModuleIndicator&&!p1.allowUmdGlobalAccess&&Ni[e.getSymbolId(ar)]===X.GlobalsOrKeywords&&(Ni[e.getSymbolId(Kn)]===X.AutoImportSuggestions||Ni[e.getSymbolId(Kn)]===X.LocationPriority))return!1;if(ar=Kn,e.isInRightSideOfInternalImportEqualsDeclaration(G1))return!!(1920&ar.flags);if(Y1)return y1(ar,n1)}return!!(111551&e.getCombinedLocalAndExportSymbolFlags(ar))}}function x0(k1,I1,K0,G1,Nx,n1,S0){if(Nx.data){var I0=function(nx,O,b1,Px){var me=O.isPackageJsonImport?Px.getPackageJsonAutoImportProvider():b1,Re=me.getTypeChecker(),gt=O.ambientModuleName?Re.tryFindAmbientModule(O.ambientModuleName):O.fileName?Re.getMergedSymbol(e.Debug.checkDefined(me.getSourceFile(O.fileName)).symbol):void 0;if(!!gt){var Vt=O.exportName===\"export=\"?Re.resolveExternalModuleSymbol(gt):Re.tryGetMemberInModuleExportsAndProperties(O.exportName,gt);if(!!Vt){var wr=O.exportName===\"default\";return{symbol:Vt=wr&&e.getLocalSymbolForExportDefault(Vt)||Vt,origin:{kind:O.moduleSpecifier?32:4,moduleSymbol:gt,symbolName:nx,isDefaultExport:wr,exportName:O.exportName,fileName:O.fileName}}}}}(Nx.name,Nx.data,k1,n1);if(I0)return{type:\"symbol\",symbol:I0.symbol,location:e.getTouchingPropertyName(K0,G1),previousToken:e.findPrecedingToken(G1,K0,void 0),isJsxInitializer:!1,isTypeOnlyLocation:!1,origin:I0.origin}}var U0=k1.getCompilerOptions(),p0=H(k1,I1,K0,j(K0,U0),G1,{includeCompletionsForModuleExports:!0,includeCompletionsWithInsertText:!0},Nx,n1);if(!p0)return{type:\"none\"};if(p0.kind!==0)return{type:\"request\",request:p0};var p1=p0.symbols,Y1=p0.literals,N1=p0.location,V1=p0.completionKind,Ox=p0.symbolToOriginInfoMap,$x=p0.previousToken,rx=p0.isJsxInitializer,O0=p0.isTypeOnlyLocation,C1=e.find(Y1,function(nx){return u0(K0,S0,nx)===Nx.name});return C1!==void 0?{type:\"literal\",literal:C1}:e.firstDefined(p1,function(nx,O){var b1=Ox[O],Px=k0(nx,U0.target,b1,V1,p0.isJsxIdentifierExpected);return Px&&Px.name===Nx.name&&c0(b1)===Nx.source?{type:\"symbol\",symbol:nx,location:N1,origin:b1,previousToken:$x,isJsxInitializer:rx,isTypeOnlyLocation:O0}:void 0})||{type:\"none\"}}function l0(k1,I1,K0){return V(k1,\"\",I1,[e.displayPart(k1,K0)])}function w0(k1,I1,K0,G1,Nx,n1,S0){var I0=I1.runWithCancellationToken(Nx,function(N1){return e.SymbolDisplay.getSymbolDisplayPartsDocumentationAndSymbolKind(N1,k1,K0,G1,G1,7)}),U0=I0.displayParts,p0=I0.documentation,p1=I0.symbolKind,Y1=I0.tags;return V(k1.name,e.SymbolDisplay.getSymbolModifiers(I1,k1),p1,U0,p0,Y1,n1,S0)}function V(k1,I1,K0,G1,Nx,n1,S0,I0){return{name:k1,kindModifiers:I1,kind:K0,displayParts:G1,documentation:Nx,tags:n1,codeActions:S0,source:I0,sourceDisplay:I0}}function w(k1,I1,K0){var G1=K0.getAccessibleSymbolChain(k1,I1,67108863,!1);return G1?e.first(G1):k1.parent&&(function(Nx){var n1;return!!((n1=Nx.declarations)===null||n1===void 0?void 0:n1.some(function(S0){return S0.kind===298}))}(k1.parent)?k1:w(k1.parent,I1,K0))}function H(k1,I1,K0,G1,Nx,n1,S0,I0){var U0=k1.getTypeChecker(),p0=e.timestamp(),p1=e.getTokenAtPosition(K0,Nx);I1(\"getCompletionData: Get current token: \"+(e.timestamp()-p0)),p0=e.timestamp();var Y1=e.isInComment(K0,Nx,p1);I1(\"getCompletionData: Is inside comment: \"+(e.timestamp()-p0));var N1=!1,V1=!1;if(Y1){if(e.hasDocComment(K0,Nx)){if(K0.text.charCodeAt(Nx-1)===64)return{kind:1};var Ox=e.getLineStartPositionForPosition(Nx,K0);if(!/[^\\*|\\s(/)]/.test(K0.text.substring(Ox,Nx)))return{kind:2}}var $x=function(X0,l1){var Hx=e.findAncestor(X0,e.isJSDoc);return Hx&&Hx.tags&&(e.rangeContainsPosition(Hx,l1)?e.findLast(Hx.tags,function(ge){return ge.pos<l1}):void 0)}(p1,Nx);if($x){if($x.tagName.pos<=Nx&&Nx<=$x.tagName.end)return{kind:1};if(function(X0){switch(X0.kind){case 330:case 337:case 331:case 333:case 335:return!0;default:return!1}}($x)&&$x.typeExpression&&$x.typeExpression.kind===302&&((p1=e.getTokenAtPosition(K0,Nx))&&(e.isDeclarationName(p1)||p1.parent.kind===337&&p1.parent.name===p1)||(N1=M($x.typeExpression))),!N1&&e.isJSDocParameterTag($x)&&(e.nodeIsMissing($x.name)||$x.name.pos<=Nx&&Nx<=$x.name.end))return{kind:3,tag:$x}}if(!N1)return void I1(\"Returning an empty list because completion was inside a regular comment or plain text part of a JsDoc comment.\")}p0=e.timestamp();var rx=e.findPrecedingToken(Nx,K0,void 0);I1(\"getCompletionData: Get previous token 1: \"+(e.timestamp()-p0));var O0=rx;if(O0&&Nx<=O0.end&&(e.isMemberName(O0)||e.isKeyword(O0.kind))){var C1=e.timestamp();O0=e.findPrecedingToken(O0.getFullStart(),K0,void 0),I1(\"getCompletionData: Get previous token 2: \"+(e.timestamp()-C1))}var nx,O,b1=p1,Px=!1,me=!1,Re=!1,gt=!1,Vt=!1,wr=!1,gr=e.getTouchingPropertyName(K0,Nx);if(O0){var Nt=function(X0){var l1=Hx();return l1===153||l1&&e.rangeIsOnSingleLine(l1,l1.getSourceFile())?l1:void 0;function Hx(){var ge=X0.parent;return e.isImportEqualsDeclaration(ge)?Q0(ge.moduleReference)?ge:void 0:e.isNamedImports(ge)||e.isNamespaceImport(ge)?Q0(ge.parent.parent.moduleSpecifier)&&(e.isNamespaceImport(ge)||ge.elements.length<2)&&!ge.parent.name?X0.kind===19||X0.kind===78?153:ge.parent.parent:void 0:e.isImportKeyword(X0)&&e.isSourceFile(ge)?X0:e.isImportKeyword(X0)&&e.isImportDeclaration(ge)&&Q0(ge.moduleSpecifier)?ge:void 0}}(O0);if(Nt===153)return{kind:4,keywords:[153]};if(Nt&&n1.includeCompletionsForImportStatements&&n1.includeCompletionsWithInsertText&&(O=Nt),!O&&function(X0){var l1=e.timestamp(),Hx=function(ge){return(e.isRegularExpressionLiteral(ge)||e.isStringTextContainingNode(ge))&&(e.rangeContainsPositionExclusive(e.createTextRangeFromSpan(e.createTextSpanFromNode(ge)),Nx)||Nx===ge.end&&(!!ge.isUnterminated||e.isRegularExpressionLiteral(ge)))}(X0)||function(ge){var Pe=ge.parent,It=Pe.kind;switch(ge.kind){case 27:return It===250||function(pn){return pn.parent.kind===251&&!e.isPossiblyTypeArgumentPosition(pn,K0,U0)}(ge)||It===233||It===256||ut(It)||It===254||It===198||It===255||e.isClassLike(Pe)&&!!Pe.typeParameters&&Pe.typeParameters.end>=ge.pos;case 24:return It===198;case 58:return It===199;case 22:return It===198;case 20:return It===288||ut(It);case 18:return It===256;case 29:return It===253||It===222||It===254||It===255||e.isFunctionLikeKind(It);case 123:return It===164&&!e.isClassLike(Pe.parent);case 25:return It===161||!!Pe.parent&&Pe.parent.kind===198;case 122:case 120:case 121:return It===161&&!e.isConstructorDeclaration(Pe.parent);case 126:return It===266||It===271||It===264;case 134:case 146:return!$1(ge);case 83:case 91:case 117:case 97:case 112:case 99:case 118:case 84:case 135:case 149:return!0;case 41:return e.isFunctionLike(ge.parent)&&!e.isMethodDeclaration(ge.parent)}if(G0(h1(ge))&&$1(ge)||Ut(ge)&&(!e.isIdentifier(ge)||e.isParameterPropertyModifier(h1(ge))||M(ge)))return!1;switch(h1(ge)){case 125:case 83:case 84:case 133:case 91:case 97:case 117:case 118:case 120:case 121:case 122:case 123:case 112:return!0;case 129:return e.isPropertyDeclaration(ge.parent)}if(e.findAncestor(ge.parent,e.isClassLike)&&ge===rx&&or(ge,Nx))return!1;var Kr=e.getAncestor(ge.parent,164);if(Kr&&ge!==rx&&e.isClassLike(rx.parent.parent)&&Nx<=rx.end){if(or(ge,rx.end))return!1;if(ge.kind!==62&&(e.isInitializedProperty(Kr)||e.hasType(Kr)))return!0}return e.isDeclarationName(ge)&&!e.isShorthandPropertyAssignment(ge.parent)&&!e.isJsxAttribute(ge.parent)&&!(e.isClassLike(ge.parent)&&(ge!==rx||Nx>rx.end))}(X0)||function(ge){if(ge.kind===8){var Pe=ge.getFullText();return Pe.charAt(Pe.length-1)===\".\"}return!1}(X0)||function(ge){if(ge.kind===11)return!0;if(ge.kind===31&&ge.parent){if(ge.parent.kind===276)return gr.parent.kind!==276;if(ge.parent.kind===277||ge.parent.kind===275)return!!ge.parent.parent&&ge.parent.parent.kind===274}return!1}(X0);return I1(\"getCompletionsAtPosition: isCompletionListBlocker: \"+(e.timestamp()-l1)),Hx}(O0))return void I1(\"Returning an empty list because completion was requested in an invalid position.\");var Ir=O0.parent;if(O0.kind===24||O0.kind===28)switch(Px=O0.kind===24,me=O0.kind===28,Ir.kind){case 202:if(b1=(nx=Ir).expression,(e.isCallExpression(b1)||e.isFunctionLike(b1))&&b1.end===O0.pos&&b1.getChildCount(K0)&&e.last(b1.getChildren(K0)).kind!==21)return;break;case 158:b1=Ir.left;break;case 257:b1=Ir.name;break;case 196:case 227:b1=Ir;break;default:return}else if(!O&&K0.languageVariant===1){if(Ir&&Ir.kind===202&&(O0=Ir,Ir=Ir.parent),p1.parent===gr)switch(p1.kind){case 31:p1.parent.kind!==274&&p1.parent.kind!==276||(gr=p1);break;case 43:p1.parent.kind===275&&(gr=p1)}switch(Ir.kind){case 277:O0.kind===43&&(gt=!0,gr=O0);break;case 217:if(!Z1(Ir))break;case 275:case 274:case 276:wr=!0,O0.kind===29&&(Re=!0,gr=O0);break;case 284:rx.kind===19&&p1.kind===31&&(wr=!0);break;case 281:if(Ir.initializer===rx&&rx.end<Nx){wr=!0;break}switch(rx.kind){case 62:Vt=!0;break;case 78:wr=!0,Ir!==rx.parent&&!Ir.initializer&&e.findChildOfKind(Ir,62,K0)&&(Vt=rx)}}}}var xr=e.timestamp(),Bt=5,ar=!1,Ni=!1,Kn=0,oi=[],Ba=[],dt=[],Gt=new e.Map,lr=N1||!function(X0){return X0&&(X0.kind===111&&(X0.parent.kind===177||e.isTypeOfExpression(X0.parent))||X0.kind===127&&X0.parent.kind===173)}(O0)&&(e.isPossiblyTypeArgumentPosition(O0,K0,U0)||e.isPartOfTypeNode(gr)||function(X0){if(X0){var l1=X0.parent.kind;switch(X0.kind){case 58:return l1===164||l1===163||l1===161||l1===250||e.isFunctionLikeKind(l1);case 62:return l1===255;case 126:return l1===225;case 29:return l1===174||l1===207;case 93:return l1===160}}return!1}(O0)),en=e.memoizeOne(function(X0){return e.createModuleSpecifierResolutionHost(X0?I0.getPackageJsonAutoImportProvider():k1,I0)});if(Px||me)(function(){Bt=2;var X0=e.isLiteralImportTypeNode(b1),l1=N1||X0&&!b1.isTypeOf||e.isPartOfTypeNode(b1.parent)||e.isPossiblyTypeArgumentPosition(O0,K0,U0),Hx=e.isInRightSideOfInternalImportEqualsDeclaration(b1);if(e.isEntityName(b1)||X0||e.isPropertyAccessExpression(b1)){var ge=e.isModuleDeclaration(b1.parent);ge&&(ar=!0);var Pe=U0.getSymbolAtLocation(b1);if(Pe&&1920&(Pe=e.skipAlias(Pe,U0)).flags){var It=U0.getExportsOfModule(Pe);e.Debug.assertEachIsDefined(It,\"getExportsOfModule() should all be defined\");for(var Kr=function(Fn){return U0.isValidPropertyAccess(X0?b1:b1.parent,Fn.name)},pn=function(Fn){return y1(Fn,U0)},rn=ge?function(Fn){var Ur;return!!(1920&Fn.flags)&&!((Ur=Fn.declarations)===null||Ur===void 0?void 0:Ur.every(function(fa){return fa.parent===b1.parent}))}:Hx?function(Fn){return pn(Fn)||Kr(Fn)}:l1?pn:Kr,_t=0,Ii=It;_t<Ii.length;_t++){var Mn=Ii[_t];rn(Mn)&&oi.push(Mn)}if(!l1&&Pe.declarations&&Pe.declarations.some(function(Fn){return Fn.kind!==298&&Fn.kind!==257&&Fn.kind!==256})){var Ka=!1;(Fr=U0.getTypeOfSymbolAtLocation(Pe,b1).getNonOptionalType()).isNullableType()&&((yt=Px&&!me&&n1.includeAutomaticOptionalChainCompletions!==!1)||me)&&(Fr=Fr.getNonNullableType(),yt&&(Ka=!0)),W1(Fr,!!(32768&b1.flags),Ka)}return}}if(e.isMetaProperty(b1)&&(b1.keywordToken===102||b1.keywordToken===99)&&O0===b1.getChildAt(1)){var fe=b1.keywordToken===102?\"target\":\"meta\";return void oi.push(U0.createSymbol(4,e.escapeLeadingUnderscores(fe)))}if(!l1){var Fr,yt;Ka=!1,(Fr=U0.getTypeAtLocation(b1).getNonOptionalType()).isNullableType()&&((yt=Px&&!me&&n1.includeAutomaticOptionalChainCompletions!==!1)||me)&&(Fr=Fr.getNonNullableType(),yt&&(Ka=!0)),W1(Fr,!!(32768&b1.flags),Ka)}})();else if(Re){var ii=U0.getJsxIntrinsicTagNamesAt(gr);e.Debug.assertEachIsDefined(ii,\"getJsxIntrinsicTagNames() should all be defined\"),qx(),oi=ii.concat(oi),Bt=1,Kn=0}else if(gt){var Tt=O0.parent.parent.openingElement.tagName,bn=U0.getSymbolAtLocation(Tt);bn&&(oi=[bn]),Bt=1,Kn=0}else if(!qx())return;I1(\"getCompletionData: Semantic work: \"+(e.timestamp()-xr));var Le=rx&&function(X0,l1,Hx,ge){var Pe=X0.parent;switch(X0.kind){case 78:return e.getContextualTypeFromParent(X0,ge);case 62:switch(Pe.kind){case 250:return ge.getContextualType(Pe.initializer);case 217:return ge.getTypeAtLocation(Pe.left);case 281:return ge.getContextualTypeForJsxAttribute(Pe);default:return}case 102:return ge.getContextualType(Pe);case 81:return e.getSwitchedType(e.cast(Pe,e.isCaseClause),ge);case 18:return e.isJsxExpression(Pe)&&Pe.parent.kind!==274?ge.getContextualTypeForJsxAttribute(Pe.parent):void 0;default:var It=e.SignatureHelp.getArgumentInfoForCompletions(X0,l1,Hx);return It?ge.getContextualTypeForArgumentAtIndex(It.invocation,It.argumentIndex+(X0.kind===27?1:0)):e.isEqualityOperatorKind(X0.kind)&&e.isBinaryExpression(Pe)&&e.isEqualityOperatorKind(Pe.operatorToken.kind)?ge.getTypeAtLocation(Pe.left):ge.getContextualType(X0)}}(rx,Nx,K0,U0),Sa=e.mapDefined(Le&&(Le.isUnion()?Le.types:[Le]),function(X0){return X0.isLiteral()?X0.value:void 0}),Yn=rx&&Le&&function(X0,l1,Hx){return e.firstDefined(l1&&(l1.isUnion()?l1.types:[l1]),function(ge){var Pe=ge&&ge.symbol;return Pe&&424&Pe.flags&&!e.isAbstractConstructorSymbol(Pe)?w(Pe,X0,Hx):void 0})}(rx,Le,U0);return{kind:0,symbols:oi,completionKind:Bt,isInSnippetScope:V1,propertyAccessToConvert:nx,isNewIdentifierLocation:ar,location:gr,keywordFilters:Kn,literals:Sa,symbolToOriginInfoMap:Ba,recommendedCompletion:Yn,previousToken:rx,isJsxInitializer:Vt,insideJsDocTagTypeExpression:N1,symbolToSortTextMap:dt,isTypeOnlyLocation:lr,isJsxIdentifierExpected:wr,importCompletionNode:O};function W1(X0,l1,Hx){ar=!!X0.getStringIndexType(),me&&e.some(X0.getCallSignatures())&&(ar=!0);var ge=b1.kind===196?b1:b1.parent;if(G1)oi.push.apply(oi,e.filter(Q1(X0,U0),function(Ii){return U0.isValidPropertyAccessForCompletions(ge,X0,Ii)}));else for(var Pe=0,It=X0.getApparentProperties();Pe<It.length;Pe++){var Kr=It[Pe];U0.isValidPropertyAccessForCompletions(ge,X0,Kr)&&cx(Kr,!1,Hx)}if(l1&&n1.includeCompletionsWithInsertText){var pn=U0.getPromisedTypeOfPromise(X0);if(pn)for(var rn=0,_t=pn.getApparentProperties();rn<_t.length;rn++)Kr=_t[rn],U0.isValidPropertyAccessForCompletions(ge,pn,Kr)&&cx(Kr,!0,Hx)}}function cx(X0,l1,Hx){var ge=e.firstDefined(X0.declarations,function(fe){return e.tryCast(e.getNameOfDeclaration(fe),e.isComputedPropertyName)});if(ge){var Pe=E1(ge.expression),It=Pe&&U0.getSymbolAtLocation(Pe),Kr=It&&w(It,O0,U0);if(Kr&&e.addToSeen(Gt,e.getSymbolId(Kr))){var pn=oi.length;oi.push(Kr);var rn=Kr.parent;if(rn&&e.isExternalModuleSymbol(rn)){var _t={kind:Ka(6),moduleSymbol:rn,isDefaultExport:!1,symbolName:Kr.name,exportName:Kr.name,fileName:e.isExternalModuleNameRelative(e.stripQuotes(rn.name))?e.cast(rn.valueDeclaration,e.isSourceFile).fileName:void 0};Ba[pn]=_t}else Ba[pn]={kind:Ka(2)}}else n1.includeCompletionsWithInsertText&&(Mn(X0),Ii(X0),oi.push(X0))}else Mn(X0),Ii(X0),oi.push(X0);function Ii(fe){(function(Fr){return!!(Fr.valueDeclaration&&32&e.getEffectiveModifierFlags(Fr.valueDeclaration)&&e.isClassLike(Fr.valueDeclaration.parent))})(fe)&&(dt[e.getSymbolId(fe)]=X.LocalDeclarationPriority)}function Mn(fe){n1.includeCompletionsWithInsertText&&(l1&&e.addToSeen(Gt,e.getSymbolId(fe))?Ba[oi.length]={kind:Ka(8)}:Hx&&(Ba[oi.length]={kind:16}))}function Ka(fe){return Hx?16|fe:fe}}function E1(X0){return e.isIdentifier(X0)?X0:e.isPropertyAccessExpression(X0)?E1(X0.expression):void 0}function qx(){return(function(){var X0=function(pn){if(!!pn){var rn=pn.parent;switch(pn.kind){case 18:if(e.isTypeLiteralNode(rn))return rn;break;case 26:case 27:case 78:if(rn.kind===163&&e.isTypeLiteralNode(rn.parent))return rn.parent}}}(O0);if(!X0)return 0;var l1=(e.isIntersectionTypeNode(X0.parent)?X0.parent:void 0)||X0,Hx=Y0(l1,U0);if(!Hx)return 0;var ge=U0.getTypeFromTypeNode(l1),Pe=Q1(Hx,U0),It=Q1(ge,U0),Kr=new e.Set;return It.forEach(function(pn){return Kr.add(pn.escapedName)}),oi=e.filter(Pe,function(pn){return!Kr.has(pn.escapedName)}),Bt=0,ar=!0,1}()||function(){var X0,l1,Hx=function(Mn){if(Mn){var Ka=Mn.parent;switch(Mn.kind){case 18:case 27:if(e.isObjectLiteralExpression(Ka)||e.isObjectBindingPattern(Ka))return Ka;break;case 41:return e.isMethodDeclaration(Ka)?e.tryCast(Ka.parent,e.isObjectLiteralExpression):void 0;case 78:return Mn.text===\"async\"&&e.isShorthandPropertyAssignment(Mn.parent)?Mn.parent.parent:void 0}}}(O0);if(!Hx)return 0;if(Bt=0,Hx.kind===201){var ge=function(Mn,Ka){var fe=Ka.getContextualType(Mn);if(fe)return fe;if(e.isBinaryExpression(Mn.parent)&&Mn.parent.operatorToken.kind===62&&Mn===Mn.parent.left)return Ka.getTypeAtLocation(Mn.parent)}(Hx,U0);if(ge===void 0)return 16777216&Hx.flags?2:(Ni=!0,0);var Pe=U0.getContextualType(Hx,4),It=(Pe||ge).getStringIndexType(),Kr=(Pe||ge).getNumberIndexType();if(ar=!!It||!!Kr,X0=S1(ge,Pe,Hx,U0),l1=Hx.properties,X0.length===0&&!Kr)return Ni=!0,0}else{e.Debug.assert(Hx.kind===197),ar=!1;var pn=e.getRootDeclaration(Hx.parent);if(!e.isVariableLike(pn))return e.Debug.fail(\"Root declaration is not variable-like.\");var rn=e.hasInitializer(pn)||e.hasType(pn)||pn.parent.parent.kind===240;if(rn||pn.kind!==161||(e.isExpression(pn.parent)?rn=!!U0.getContextualType(pn.parent):pn.parent.kind!==166&&pn.parent.kind!==169||(rn=e.isExpression(pn.parent.parent)&&!!U0.getContextualType(pn.parent.parent))),rn){var _t=U0.getTypeAtLocation(Hx);if(!_t)return 2;var Ii=e.getContainingClass(Hx);X0=U0.getPropertiesOfType(_t).filter(function(Mn){return!(24&e.getDeclarationModifierFlagsFromSymbol(Mn))||Ii&&e.contains(_t.symbol.declarations,Ii)}),l1=Hx.elements}}return X0&&X0.length>0&&(oi=function(Mn,Ka){if(Ka.length===0)return Mn;for(var fe=new e.Set,Fr=new e.Set,yt=0,Fn=Ka;yt<Fn.length;yt++){var Ur=Fn[yt];if((Ur.kind===289||Ur.kind===290||Ur.kind===199||Ur.kind===166||Ur.kind===168||Ur.kind===169||Ur.kind===291)&&!M(Ur)){var fa=void 0;if(e.isSpreadAssignment(Ur))Gr(Ur,fe);else if(e.isBindingElement(Ur)&&Ur.propertyName)Ur.propertyName.kind===78&&(fa=Ur.propertyName.escapedText);else{var Kt=e.getNameOfDeclaration(Ur);fa=Kt&&e.isPropertyNameLiteral(Kt)?e.getEscapedTextOfIdentifierOrLiteral(Kt):void 0}fa!==void 0&&Fr.add(fa)}}var Fa=Mn.filter(function(co){return!Fr.has(co.escapedName)});return h0(fe,Fa),Fa}(X0,e.Debug.checkDefined(l1))),B(),1}()||(O?(xt(!0),1):0)||function(){var X0=!O0||O0.kind!==18&&O0.kind!==27?void 0:e.tryCast(O0.parent,e.isNamedImportsOrExports);if(!X0)return 0;var l1=(X0.kind===265?X0.parent.parent:X0.parent).moduleSpecifier;if(!l1)return X0.kind===265?2:0;var Hx=U0.getSymbolAtLocation(l1);if(!Hx)return 2;Bt=3,ar=!1;var ge=U0.getExportsAndPropertiesOfModule(Hx),Pe=new e.Set(X0.elements.filter(function(It){return!M(It)}).map(function(It){return(It.propertyName||It.name).escapedText}));return oi=ge.filter(function(It){return It.escapedName!==\"default\"&&!Pe.has(It.escapedName)}),1}()||function(){var X0,l1=!O0||O0.kind!==18&&O0.kind!==27?void 0:e.tryCast(O0.parent,e.isNamedExports);if(!l1)return 0;var Hx=e.findAncestor(l1,e.or(e.isSourceFile,e.isModuleDeclaration));return Bt=5,ar=!1,(X0=Hx.locals)===null||X0===void 0||X0.forEach(function(ge,Pe){var It,Kr;oi.push(ge),((Kr=(It=Hx.symbol)===null||It===void 0?void 0:It.exports)===null||Kr===void 0?void 0:Kr.has(Pe))&&(dt[e.getSymbolId(ge)]=X.OptionalMember)}),1}()||(function(X0){if(X0){var l1=X0.parent;switch(X0.kind){case 20:case 27:return e.isConstructorDeclaration(X0.parent)?X0.parent:void 0;default:if(Ut(X0))return l1.parent}}}(O0)?(Bt=5,ar=!0,Kn=4,1):0)||function(){var X0=function(It,Kr,pn,rn){switch(pn.kind){case 338:return e.tryCast(pn.parent,e.isObjectTypeDeclaration);case 1:var _t=e.tryCast(e.lastOrUndefined(e.cast(pn.parent,e.isSourceFile).statements),e.isObjectTypeDeclaration);if(_t&&!e.findChildOfKind(_t,19,It))return _t;break;case 78:if(e.isPropertyDeclaration(pn.parent)&&pn.parent.initializer===pn)return;if($1(pn))return e.findAncestor(pn,e.isObjectTypeDeclaration)}if(!!Kr){if(pn.kind===132||e.isIdentifier(Kr)&&e.isPropertyDeclaration(Kr.parent)&&e.isClassLike(pn))return e.findAncestor(Kr,e.isClassLike);switch(Kr.kind){case 62:return;case 26:case 19:return $1(pn)&&pn.parent.name===pn?pn.parent.parent:e.tryCast(pn,e.isObjectTypeDeclaration);case 18:case 27:return e.tryCast(Kr.parent,e.isObjectTypeDeclaration);default:if(!$1(Kr))return e.getLineAndCharacterOfPosition(It,Kr.getEnd()).line!==e.getLineAndCharacterOfPosition(It,rn).line&&e.isObjectTypeDeclaration(pn)?pn:void 0;var Ii=e.isClassLike(Kr.parent.parent)?G0:y0;return Ii(Kr.kind)||Kr.kind===41||e.isIdentifier(Kr)&&Ii(e.stringToToken(Kr.text))?Kr.parent.parent:void 0}}}(K0,O0,gr,Nx);if(!X0)return 0;if(Bt=3,ar=!0,Kn=O0.kind===41?0:e.isClassLike(X0)?2:3,!e.isClassLike(X0))return 1;var l1=O0.kind===26?O0.parent.parent:O0.parent,Hx=e.isClassElement(l1)?e.getEffectiveModifierFlags(l1):0;if(O0.kind===78&&!M(O0))switch(O0.getText()){case\"private\":Hx|=8;break;case\"static\":Hx|=32;break;case\"override\":Hx|=16384}if(!(8&Hx)){var ge=e.isClassLike(X0)&&16384&Hx?e.singleElementArray(e.getEffectiveBaseTypeNode(X0)):e.getAllSuperTypeNodes(X0),Pe=e.flatMap(ge,function(It){var Kr=U0.getTypeAtLocation(It);return 32&Hx?(Kr==null?void 0:Kr.symbol)&&U0.getPropertiesOfType(U0.getTypeOfSymbolAtLocation(Kr.symbol,X0)):Kr&&U0.getPropertiesOfType(Kr)});oi=function(It,Kr,pn){for(var rn=new e.Set,_t=0,Ii=Kr;_t<Ii.length;_t++){var Mn=Ii[_t];if((Mn.kind===164||Mn.kind===166||Mn.kind===168||Mn.kind===169)&&!M(Mn)&&!e.hasEffectiveModifier(Mn,8)&&e.hasEffectiveModifier(Mn,32)===!!(32&pn)){var Ka=e.getPropertyNameForPropertyNameNode(Mn.name);Ka&&rn.add(Ka)}}return It.filter(function(fe){return!(rn.has(fe.escapedName)||!fe.declarations||8&e.getDeclarationModifierFlagsFromSymbol(fe)||fe.valueDeclaration&&e.isPrivateIdentifierClassElementDeclaration(fe.valueDeclaration))})}(Pe,X0.members,Hx)}return 1}()||function(){var X0=function(ge){if(ge){var Pe=ge.parent;switch(ge.kind){case 31:case 30:case 43:case 78:case 202:case 282:case 281:case 283:if(Pe&&(Pe.kind===275||Pe.kind===276)){if(ge.kind===31){var It=e.findPrecedingToken(ge.pos,K0,void 0);if(!Pe.typeArguments||It&&It.kind===43)break}return Pe}if(Pe.kind===281)return Pe.parent.parent;break;case 10:if(Pe&&(Pe.kind===281||Pe.kind===283))return Pe.parent.parent;break;case 19:if(Pe&&Pe.kind===284&&Pe.parent&&Pe.parent.kind===281)return Pe.parent.parent.parent;if(Pe&&Pe.kind===283)return Pe.parent.parent}}}(O0),l1=X0&&U0.getContextualType(X0.attributes);if(!l1)return 0;var Hx=X0&&U0.getContextualType(X0.attributes,4);return oi=function(ge,Pe){for(var It=new e.Set,Kr=new e.Set,pn=0,rn=Pe;pn<rn.length;pn++){var _t=rn[pn];M(_t)||(_t.kind===281?It.add(_t.name.escapedText):e.isJsxSpreadAttribute(_t)&&Gr(_t,Kr))}var Ii=ge.filter(function(Mn){return!It.has(Mn.escapedName)});return h0(Kr,Ii),Ii}(S1(l1,Hx,X0.attributes,U0),X0.attributes.properties),B(),Bt=3,ar=!1,1}()||(function(){Kn=function(_t){if(_t){var Ii,Mn=e.findAncestor(_t.parent,function(Ka){return e.isClassLike(Ka)?\"quit\":!(!e.isFunctionLikeDeclaration(Ka)||Ii!==Ka.body)||(Ii=Ka,!1)});return Mn&&Mn}}(O0)?5:1,Bt=1,ar=function(){if(O0){var _t=O0.parent.kind;switch(h1(O0)){case 27:return _t===204||_t===167||_t===205||_t===200||_t===217||_t===175||_t===201;case 20:return _t===204||_t===167||_t===205||_t===208||_t===187;case 22:return _t===200||_t===172||_t===159;case 139:case 140:return!0;case 24:return _t===257;case 18:return _t===253||_t===201;case 62:return _t===250||_t===217;case 15:return _t===219;case 16:return _t===229;case 122:case 120:case 121:return _t===164}}return!1}(),rx!==O0&&e.Debug.assert(!!rx,\"Expected 'contextToken' to be defined when different from 'previousToken'.\");var X0=rx!==O0?rx.getStart():Nx,l1=function(_t,Ii,Mn){for(var Ka=_t;Ka&&!e.positionBelongsToNode(Ka,Ii,Mn);)Ka=Ka.parent;return Ka}(O0,X0,K0)||K0;V1=function(_t){switch(_t.kind){case 298:case 219:case 284:case 231:return!0;default:return e.isStatement(_t)}}(l1);var Hx=2887656|(lr?0:111551);oi=U0.getSymbolsInScope(l1,Hx),e.Debug.assertEachIsDefined(oi,\"getSymbolsInScope() should all be defined\");for(var ge=0,Pe=oi;ge<Pe.length;ge++){var It=Pe[ge];U0.isArgumentsSymbol(It)||e.some(It.declarations,function(_t){return _t.getSourceFile()===K0})||(dt[e.getSymbolId(It)]=X.GlobalsOrKeywords)}if(n1.includeCompletionsWithInsertText&&l1.kind!==298){var Kr=U0.tryGetThisTypeAt(l1,!1);if(Kr&&!function(_t,Ii,Mn){var Ka=Mn.resolveName(\"self\",void 0,111551,!1);if(Ka&&Mn.getTypeOfSymbolAtLocation(Ka,Ii)===_t)return!0;var fe=Mn.resolveName(\"global\",void 0,111551,!1);if(fe&&Mn.getTypeOfSymbolAtLocation(fe,Ii)===_t)return!0;var Fr=Mn.resolveName(\"globalThis\",void 0,111551,!1);return!!(Fr&&Mn.getTypeOfSymbolAtLocation(Fr,Ii)===_t)}(Kr,K0,U0))for(var pn=0,rn=Q1(Kr,U0);pn<rn.length;pn++)It=rn[pn],Ba[oi.length]={kind:1},oi.push(It),dt[e.getSymbolId(It)]=X.SuggestedClassMembers}xt(!1),lr&&(Kn=O0&&e.isAssertionExpression(O0.parent)?6:7)}(),1))===1}function xt(X0){var l1,Hx,ge,Pe,It;if(O||!Ni&&n1.includeCompletionsForModuleExports&&(K0.externalModuleIndicator||K0.commonJsModuleIndicator||e.compilerOptionsIndicateEs6Modules(k1.getCompilerOptions())||e.programContainsModules(k1))){e.Debug.assert(!(S0==null?void 0:S0.data));var Kr=e.timestamp(),pn=(l1=I0.getModuleSpecifierCache)===null||l1===void 0?void 0:l1.call(I0);(Hx=I0.log)===null||Hx===void 0||Hx.call(I0,\"collectAutoImports: starting, \"+(X0?\"\":\"not \")+\"resolving module specifiers\"),pn&&((ge=I0.log)===null||ge===void 0||ge.call(I0,\"collectAutoImports: module specifier cache size: \"+pn.count()));var rn=rx&&e.isIdentifier(rx)?rx.text.toLowerCase():\"\",_t=e.codefix.getSymbolToExportInfoMap(K0,I0,k1),Ii=(Pe=I0.getPackageJsonAutoImportProvider)===null||Pe===void 0?void 0:Pe.call(I0),Mn=S0?void 0:e.createPackageJsonImportFilter(K0,I0);_t.forEach(function(fe,Fr){var yt=Fr.substring(0,Fr.indexOf(\"|\"));if((S0||!e.isStringANonContextualKeyword(yt))&&(S0&&e.some(fe,function(co){return S0.source===e.stripQuotes(co.moduleSymbol.name)})||function(co){var Us=co.toLowerCase();return X0&&rn?rn[0]===Us[0]&&ae(Us,rn):ae(Us,rn)}(yt))){var Fn=X0?e.codefix.getModuleSpecifierForBestExportInfo(fe,K0,k1,I0,n1):{moduleSpecifier:void 0,exportInfo:e.find(fe,Ka)},Ur=Fn.moduleSpecifier,fa=Fn.exportInfo;if(!fa)return;var Kt=e.tryCast(fa.moduleSymbol.valueDeclaration,e.isSourceFile),Fa=fa.exportKind===1;(function(co,Us){var qs=e.getSymbolId(co);dt[qs]!==X.GlobalsOrKeywords&&(Ba[oi.length]=Us,dt[qs]=O?X.LocationPriority:X.AutoImportSuggestions,oi.push(co))})(Fa&&e.getLocalSymbolForExportDefault(fa.symbol)||fa.symbol,{kind:X0?32:4,moduleSpecifier:Ur,symbolName:yt,exportName:fa.exportKind===2?\"export=\":fa.symbol.name,fileName:Kt==null?void 0:Kt.fileName,isDefaultExport:Fa,moduleSymbol:fa.moduleSymbol,isFromPackageJson:fa.isFromPackageJson})}}),(It=I0.log)===null||It===void 0||It.call(I0,\"collectAutoImports: done in \"+(e.timestamp()-Kr)+\" ms\")}function Ka(fe){var Fr=e.tryCast(fe.moduleSymbol.valueDeclaration,e.isSourceFile);return Fr?e.isImportableFile(fe.isFromPackageJson?Ii:k1,K0,Fr,Mn,en(fe.isFromPackageJson),pn):!Mn||Mn.allowsImportingAmbientModule(fe.moduleSymbol,en(fe.isFromPackageJson))}}function ae(X0,l1){if(l1.length===0)return!0;for(var Hx=0,ge=X0.length,Pe=0;Pe<ge;Pe++)if(X0.charCodeAt(Pe)===l1.charCodeAt(Hx)&&++Hx===l1.length)return!0;return!1}function Ut(X0){return!!X0.parent&&e.isParameter(X0.parent)&&e.isConstructorDeclaration(X0.parent.parent)&&(e.isParameterPropertyModifier(X0.kind)||e.isDeclarationName(X0))}function or(X0,l1){return X0.kind!==62&&(X0.kind===26||!e.positionsAreOnSameLine(X0.end,l1,K0))}function ut(X0){return e.isFunctionLikeKind(X0)&&X0!==167}function Gr(X0,l1){var Hx=X0.expression,ge=U0.getSymbolAtLocation(Hx),Pe=ge&&U0.getTypeOfSymbolAtLocation(ge,Hx),It=Pe&&Pe.properties;It&&It.forEach(function(Kr){l1.add(Kr.name)})}function B(){oi.forEach(function(X0){16777216&X0.flags&&(dt[e.getSymbolId(X0)]=dt[e.getSymbolId(X0)]||X.OptionalMember)})}function h0(X0,l1){if(X0.size!==0)for(var Hx=0,ge=l1;Hx<ge.length;Hx++){var Pe=ge[Hx];X0.has(Pe.name)&&(dt[e.getSymbolId(Pe)]=X.MemberDeclaredBySpreadAssignment)}}function M(X0){return X0.getStart(K0)<=Nx&&Nx<=X0.getEnd()}}function k0(k1,I1,K0,G1,Nx){var n1=function(I0){return I(I0)||A(I0)}(K0)?K0.symbolName:k1.name;if(!(n1===void 0||1536&k1.flags&&e.isSingleOrDoubleQuote(n1.charCodeAt(0))||e.isKnownSymbol(k1))){var S0={name:n1,needsConvertPropertyAccess:!1};if(e.isIdentifierText(n1,I1,Nx?1:0)||k1.valueDeclaration&&e.isPrivateIdentifierClassElementDeclaration(k1.valueDeclaration))return S0;switch(G1){case 3:return;case 0:return{name:JSON.stringify(n1),needsConvertPropertyAccess:!1};case 2:case 1:return n1.charCodeAt(0)===32?void 0:{name:n1,needsConvertPropertyAccess:!0};case 5:case 4:return S0;default:e.Debug.assertNever(G1)}}}(function(k1){k1.LocalDeclarationPriority=\"0\",k1.LocationPriority=\"1\",k1.OptionalMember=\"2\",k1.MemberDeclaredBySpreadAssignment=\"3\",k1.SuggestedClassMembers=\"4\",k1.GlobalsOrKeywords=\"5\",k1.AutoImportSuggestions=\"6\",k1.JavascriptIdentifiers=\"7\"})(X=s.SortText||(s.SortText={})),function(k1){k1.ThisProperty=\"ThisProperty/\"}(J=s.CompletionSource||(s.CompletionSource={})),function(k1){k1[k1.ThisType=1]=\"ThisType\",k1[k1.SymbolMember=2]=\"SymbolMember\",k1[k1.Export=4]=\"Export\",k1[k1.Promise=8]=\"Promise\",k1[k1.Nullable=16]=\"Nullable\",k1[k1.ResolvedExport=32]=\"ResolvedExport\",k1[k1.SymbolMemberNoExport=2]=\"SymbolMemberNoExport\",k1[k1.SymbolMemberExport=6]=\"SymbolMemberExport\"}(m0||(m0={})),function(k1){k1[k1.None=0]=\"None\",k1[k1.All=1]=\"All\",k1[k1.ClassElementKeywords=2]=\"ClassElementKeywords\",k1[k1.InterfaceElementKeywords=3]=\"InterfaceElementKeywords\",k1[k1.ConstructorParameterKeywords=4]=\"ConstructorParameterKeywords\",k1[k1.FunctionLikeBodyKeywords=5]=\"FunctionLikeBodyKeywords\",k1[k1.TypeAssertionKeywords=6]=\"TypeAssertionKeywords\",k1[k1.TypeKeywords=7]=\"TypeKeywords\",k1[k1.Last=7]=\"Last\"}(s1||(s1={})),function(k1){k1[k1.Continue=0]=\"Continue\",k1[k1.Success=1]=\"Success\",k1[k1.Fail=2]=\"Fail\"}(i0||(i0={})),s.getCompletionsAtPosition=function(k1,I1,K0,G1,Nx,n1,S0){var I0=I1.getTypeChecker(),U0=I1.getCompilerOptions(),p0=e.findPrecedingToken(Nx,G1);if(!S0||e.isInString(G1,Nx,p0)||function(N1,V1,Ox,$x){switch(V1){case\".\":case\"@\":return!0;case'\"':case\"'\":case\"`\":return!!Ox&&e.isStringLiteralOrTemplate(Ox)&&$x===Ox.getStart(N1)+1;case\"#\":return!!Ox&&e.isPrivateIdentifier(Ox)&&!!e.getContainingClass(Ox);case\"<\":return!!Ox&&Ox.kind===29&&(!e.isBinaryExpression(Ox.parent)||Z1(Ox.parent));case\"/\":return!!Ox&&(e.isStringLiteralLike(Ox)?!!e.tryGetImportFromModuleSpecifier(Ox):Ox.kind===43&&e.isJsxClosingElement(Ox.parent));case\" \":return!!Ox&&e.isImportKeyword(Ox)&&Ox.parent.kind===298;default:return e.Debug.assertNever(V1)}}(G1,S0,p0,Nx)){if(S0===\" \")return n1.includeCompletionsForImportStatements&&n1.includeCompletionsWithInsertText?{isGlobalCompletion:!0,isMemberCompletion:!1,isNewIdentifierLocation:!0,isIncomplete:!0,entries:[]}:void 0;var p1=s.StringCompletions.getStringLiteralCompletions(G1,Nx,p0,I0,U0,k1,K0,n1);if(p1)return p1;if(p0&&e.isBreakOrContinueStatement(p0.parent)&&(p0.kind===80||p0.kind===85||p0.kind===78))return function(N1){var V1=function(Ox){for(var $x=[],rx=new e.Map,O0=Ox;O0&&!e.isFunctionLike(O0);){if(e.isLabeledStatement(O0)){var C1=O0.label.text;rx.has(C1)||(rx.set(C1,!0),$x.push({name:C1,kindModifiers:\"\",kind:\"label\",sortText:X.LocationPriority}))}O0=O0.parent}return $x}(N1);if(V1.length)return{isGlobalCompletion:!1,isMemberCompletion:!1,isNewIdentifierLocation:!1,entries:V1}}(p0.parent);var Y1=H(I1,K0,G1,j(G1,U0),Nx,n1,void 0,k1);if(Y1)switch(Y1.kind){case 0:return function(N1,V1,Ox,$x,rx,O0){var C1=rx.symbols,nx=rx.completionKind,O=rx.isInSnippetScope,b1=rx.isNewIdentifierLocation,Px=rx.location,me=rx.propertyAccessToConvert,Re=rx.keywordFilters,gt=rx.literals,Vt=rx.symbolToOriginInfoMap,wr=rx.recommendedCompletion,gr=rx.isJsxInitializer,Nt=rx.isTypeOnlyLocation,Ir=rx.isJsxIdentifierExpected,xr=rx.importCompletionNode,Bt=rx.insideJsDocTagTypeExpression,ar=rx.symbolToSortTextMap;if(e.getLanguageVariant(N1.scriptKind)===1){var Ni=function(bn,Le){var Sa=e.findAncestor(bn,function(cx){switch(cx.kind){case 277:return!0;case 43:case 31:case 78:case 202:return!1;default:return\"quit\"}});if(Sa){var Yn=!!e.findChildOfKind(Sa,31,Le),W1=Sa.parent.openingElement.tagName.getText(Le)+(Yn?\"\":\">\");return{isGlobalCompletion:!1,isMemberCompletion:!0,isNewIdentifierLocation:!1,optionalReplacementSpan:e.createTextSpanFromNode(Sa.tagName),entries:[{name:W1,kind:\"class\",kindModifiers:void 0,sortText:X.LocationPriority}]}}}(Px,N1);if(Ni)return Ni}var Kn=[];if(j(N1,Ox)){var oi=D0(C1,Kn,void 0,Px,N1,V1,Ox.target,$x,nx,O0,Ox,Nt,me,Ir,gr,xr,wr,Vt,ar);(function(bn,Le,Sa,Yn,W1){e.getNameTable(bn).forEach(function(cx,E1){if(cx!==Le){var qx=e.unescapeLeadingUnderscores(E1);!Sa.has(qx)&&e.isIdentifierText(qx,Yn)&&(Sa.add(qx),W1.push({name:qx,kind:\"warning\",kindModifiers:\"\",sortText:X.JavascriptIdentifiers,isFromUncheckedFile:!0}))}})})(N1,Px.pos,oi,Ox.target,Kn)}else{if(!(b1||C1&&C1.length!==0||Re!==0))return;D0(C1,Kn,void 0,Px,N1,V1,Ox.target,$x,nx,O0,Ox,Nt,me,Ir,gr,xr,wr,Vt,ar)}if(Re!==0)for(var Ba=new e.Set(Kn.map(function(bn){return bn.name})),dt=0,Gt=function(bn,Le){if(!Le)return f0(bn);var Sa=bn+7+1;return V0[Sa]||(V0[Sa]=f0(bn).filter(function(Yn){return!function(W1){switch(W1){case 125:case 128:case 155:case 131:case 133:case 91:case 154:case 116:case 135:case 117:case 137:case 138:case 139:case 140:case 141:case 144:case 145:case 156:case 120:case 121:case 122:case 142:case 147:case 148:case 149:case 151:case 152:return!0;default:return!1}}(e.stringToToken(Yn.name))}))}(Re,!Bt&&e.isSourceFileJS(N1));dt<Gt.length;dt++){var lr=Gt[dt];Ba.has(lr.name)||Kn.push(lr)}for(var en=0,ii=gt;en<ii.length;en++){var Tt=ii[en];Kn.push(U(N1,O0,Tt))}return{isGlobalCompletion:O,isMemberCompletion:G(nx),isNewIdentifierLocation:b1,optionalReplacementSpan:o0(Px),entries:Kn}}(G1,I0,U0,K0,Y1,n1);case 1:return A0(e.JsDoc.getJSDocTagNameCompletions());case 2:return A0(e.JsDoc.getJSDocTagCompletions());case 3:return A0(e.JsDoc.getJSDocParameterNameCompletions(Y1.tag));case 4:return function(N1){return{isGlobalCompletion:!1,isMemberCompletion:!1,isNewIdentifierLocation:!1,entries:N1.map(function(V1){return{name:e.tokenToString(V1),kind:\"keyword\",kindModifiers:\"\",sortText:X.GlobalsOrKeywords}})}}(Y1.keywords);default:return e.Debug.assertNever(Y1)}}},s.getCompletionEntriesFromSymbols=D0,s.getCompletionEntryDetails=function(k1,I1,K0,G1,Nx,n1,S0,I0,U0){var p0=k1.getTypeChecker(),p1=k1.getCompilerOptions(),Y1=Nx.name,N1=e.findPrecedingToken(G1,K0);if(e.isInString(K0,G1,N1))return s.StringCompletions.getStringLiteralCompletionDetails(Y1,K0,G1,N1,p0,p1,n1,U0,I0);var V1=x0(k1,I1,K0,G1,Nx,n1,I0);switch(V1.type){case\"request\":var Ox=V1.request;switch(Ox.kind){case 1:return e.JsDoc.getJSDocTagNameCompletionDetails(Y1);case 2:return e.JsDoc.getJSDocTagCompletionDetails(Y1);case 3:return e.JsDoc.getJSDocParameterNameCompletionDetails(Y1);case 4:return Ox.keywords.indexOf(e.stringToToken(Y1))>-1?l0(Y1,\"keyword\",e.SymbolDisplayPartKind.keyword):void 0;default:return e.Debug.assertNever(Ox)}case\"symbol\":var $x=V1.symbol,rx=V1.location,O0=function(nx,O,b1,Px,me,Re,gt,Vt,wr,gr,Nt,Ir){if(Ir==null?void 0:Ir.moduleSpecifier)return{codeActions:void 0,sourceDisplay:[e.textPart(Ir.moduleSpecifier)]};if(!nx||!I(nx))return{codeActions:void 0,sourceDisplay:void 0};var xr=nx.moduleSymbol,Bt=Px.getMergedSymbol(e.skipAlias(O.exportSymbol||O,Px)),ar=e.codefix.getImportCompletionAction(Bt,xr,gt,e.getNameForExportedSymbol(O,Re.target),me,b1,gr,wr&&e.isIdentifier(wr)?wr.getStart(gt):Vt,Nt),Ni=ar.moduleSpecifier,Kn=ar.codeAction;return{sourceDisplay:[e.textPart(Ni)],codeActions:[Kn]}}(V1.origin,$x,k1,p0,n1,p1,K0,G1,V1.previousToken,S0,I0,Nx.data);return w0($x,p0,K0,rx,U0,O0.codeActions,O0.sourceDisplay);case\"literal\":var C1=V1.literal;return l0(u0(K0,I0,C1),\"string\",typeof C1==\"string\"?e.SymbolDisplayPartKind.stringLiteral:e.SymbolDisplayPartKind.numericLiteral);case\"none\":return t0().some(function(nx){return nx.name===Y1})?l0(Y1,\"keyword\",e.SymbolDisplayPartKind.keyword):void 0;default:e.Debug.assertNever(V1)}},s.createCompletionDetailsForSymbol=w0,s.createCompletionDetails=V,s.getCompletionEntrySymbol=function(k1,I1,K0,G1,Nx,n1,S0){var I0=x0(k1,I1,K0,G1,Nx,n1,S0);return I0.type===\"symbol\"?I0.symbol:void 0},function(k1){k1[k1.Data=0]=\"Data\",k1[k1.JsDocTagName=1]=\"JsDocTagName\",k1[k1.JsDocTag=2]=\"JsDocTag\",k1[k1.JsDocParameterName=3]=\"JsDocParameterName\",k1[k1.Keywords=4]=\"Keywords\"}(H0||(H0={})),(E0=s.CompletionKind||(s.CompletionKind={}))[E0.ObjectPropertyDeclaration=0]=\"ObjectPropertyDeclaration\",E0[E0.Global=1]=\"Global\",E0[E0.PropertyAccess=2]=\"PropertyAccess\",E0[E0.MemberLike=3]=\"MemberLike\",E0[E0.String=4]=\"String\",E0[E0.None=5]=\"None\";var V0=[],t0=e.memoize(function(){for(var k1=[],I1=80;I1<=157;I1++)k1.push({name:e.tokenToString(I1),kind:\"keyword\",kindModifiers:\"\",sortText:X.GlobalsOrKeywords});return k1});function f0(k1){return V0[k1]||(V0[k1]=t0().filter(function(I1){var K0=e.stringToToken(I1.name);switch(k1){case 0:return!1;case 1:return d1(K0)||K0===133||K0===139||K0===149||K0===140||e.isTypeKeyword(K0)&&K0!==150;case 5:return d1(K0);case 2:return G0(K0);case 3:return y0(K0);case 4:return e.isParameterPropertyModifier(K0);case 6:return e.isTypeKeyword(K0)||K0===84;case 7:return e.isTypeKeyword(K0);default:return e.Debug.assertNever(k1)}}))}function y0(k1){return k1===142}function G0(k1){switch(k1){case 125:case 132:case 134:case 146:case 129:case 133:case 156:return!0;default:return e.isClassMemberModifier(k1)}}function d1(k1){return k1===129||k1===130||k1===126||!e.isContextualKeyword(k1)&&!G0(k1)}function h1(k1){return e.isIdentifier(k1)?k1.originalKeywordKind||0:k1.kind}function S1(k1,I1,K0,G1){var Nx=I1&&I1!==k1,n1=!Nx||3&I1.flags?k1:G1.getUnionType([k1,I1]),S0=n1.isUnion()?G1.getAllPossiblePropertiesOfTypes(n1.types.filter(function(I0){return!(131068&I0.flags||G1.isArrayLikeType(I0)||e.typeHasCallOrConstructSignatures(I0,G1)||G1.isTypeInvalidDueToUnionDiscriminant(I0,K0))})):n1.getApparentProperties();return Nx?S0.filter(function(I0){return e.some(I0.declarations,function(U0){return U0.parent!==K0})}):S0}function Q1(k1,I1){return k1.isUnion()?e.Debug.checkEachDefined(I1.getAllPossiblePropertiesOfTypes(k1.types),\"getAllPossiblePropertiesOfTypes() should all be defined\"):e.Debug.checkEachDefined(k1.getApparentProperties(),\"getApparentProperties() should all be defined\")}function Y0(k1,I1){if(k1){if(e.isTypeNode(k1)&&e.isTypeReferenceType(k1.parent))return I1.getTypeArgumentConstraint(k1);var K0=Y0(k1.parent,I1);if(K0)switch(k1.kind){case 163:return I1.getTypeOfPropertyOfContextualType(K0,k1.symbol.escapedName);case 184:case 178:case 183:return K0}}}function $1(k1){return k1.parent&&e.isClassOrTypeElement(k1.parent)&&e.isObjectTypeDeclaration(k1.parent.parent)}function Z1(k1){var I1=k1.left;return e.nodeIsMissing(I1)}function Q0(k1){var I1;return!!e.nodeIsMissing(k1)||!((I1=e.tryCast(e.isExternalModuleReference(k1)?k1.expression:k1,e.isStringLiteralLike))===null||I1===void 0?void 0:I1.text)}function y1(k1,I1,K0){K0===void 0&&(K0=new e.Map);var G1=e.skipAlias(k1.exportSymbol||k1,I1);return!!(788968&G1.flags)||!!(1536&G1.flags)&&e.addToSeen(K0,e.getSymbolId(G1))&&I1.getExportsOfModule(G1).some(function(Nx){return y1(Nx,I1,K0)})}s.getPropertiesForObjectExpression=S1})(e.Completions||(e.Completions={}))}(_0||(_0={})),function(e){(function(s){function X(U,g0){return{fileName:g0.fileName,textSpan:e.createTextSpanFromNode(U,g0),kind:\"none\"}}function J(U){return e.isThrowStatement(U)?[U]:e.isTryStatement(U)?e.concatenate(U.catchClause?J(U.catchClause):U.tryBlock&&J(U.tryBlock),U.finallyBlock&&J(U.finallyBlock)):e.isFunctionLike(U)?void 0:s1(U,J)}function m0(U){return e.isBreakOrContinueStatement(U)?[U]:e.isFunctionLike(U)?void 0:s1(U,m0)}function s1(U,g0){var d0=[];return U.forEachChild(function(P0){var c0=g0(P0);c0!==void 0&&d0.push.apply(d0,e.toArray(c0))}),d0}function i0(U,g0){var d0=H0(g0);return!!d0&&d0===U}function H0(U){return e.findAncestor(U,function(g0){switch(g0.kind){case 245:if(U.kind===241)return!1;case 238:case 239:case 240:case 237:case 236:return!U.label||function(d0,P0){return!!e.findAncestor(d0.parent,function(c0){return e.isLabeledStatement(c0)?c0.label.escapedText===P0:\"quit\"})}(g0,U.label.escapedText);default:return e.isFunctionLike(g0)&&\"quit\"}})}function E0(U,g0){for(var d0=[],P0=2;P0<arguments.length;P0++)d0[P0-2]=arguments[P0];return!(!g0||!e.contains(d0,g0.kind))&&(U.push(g0),!0)}function I(U){var g0=[];if(E0(g0,U.getFirstToken(),96,114,89)&&U.kind===236)for(var d0=U.getChildren(),P0=d0.length-1;P0>=0&&!E0(g0,d0[P0],114);P0--);return e.forEach(m0(U.statement),function(c0){i0(U,c0)&&E0(g0,c0.getFirstToken(),80,85)}),g0}function A(U){var g0=H0(U);if(g0)switch(g0.kind){case 238:case 239:case 240:case 236:case 237:return I(g0);case 245:return Z(g0)}}function Z(U){var g0=[];return E0(g0,U.getFirstToken(),106),e.forEach(U.caseBlock.clauses,function(d0){E0(g0,d0.getFirstToken(),81,87),e.forEach(m0(d0),function(P0){i0(U,P0)&&E0(g0,P0.getFirstToken(),80)})}),g0}function A0(U,g0){var d0=[];return E0(d0,U.getFirstToken(),110),U.catchClause&&E0(d0,U.catchClause.getFirstToken(),82),U.finallyBlock&&E0(d0,e.findChildOfKind(U,95,g0),95),d0}function o0(U,g0){var d0=function(c0){for(var D0=c0;D0.parent;){var x0=D0.parent;if(e.isFunctionBlock(x0)||x0.kind===298)return x0;if(e.isTryStatement(x0)&&x0.tryBlock===D0&&x0.catchClause)return D0;D0=x0}}(U);if(d0){var P0=[];return e.forEach(J(d0),function(c0){P0.push(e.findChildOfKind(c0,108,g0))}),e.isFunctionBlock(d0)&&e.forEachReturnStatement(d0,function(c0){P0.push(e.findChildOfKind(c0,104,g0))}),P0}}function j(U,g0){var d0=e.getContainingFunction(U);if(d0){var P0=[];return e.forEachReturnStatement(e.cast(d0.body,e.isBlock),function(c0){P0.push(e.findChildOfKind(c0,104,g0))}),e.forEach(J(d0.body),function(c0){P0.push(e.findChildOfKind(c0,108,g0))}),P0}}function G(U){var g0=e.getContainingFunction(U);if(g0){var d0=[];return g0.modifiers&&g0.modifiers.forEach(function(P0){E0(d0,P0,129)}),e.forEachChild(g0,function(P0){u0(P0,function(c0){e.isAwaitExpression(c0)&&E0(d0,c0.getFirstToken(),130)})}),d0}}function u0(U,g0){g0(U),e.isFunctionLike(U)||e.isClassLike(U)||e.isInterfaceDeclaration(U)||e.isModuleDeclaration(U)||e.isTypeAliasDeclaration(U)||e.isTypeNode(U)||e.forEachChild(U,function(d0){return u0(d0,g0)})}s.getDocumentHighlights=function(U,g0,d0,P0,c0){var D0=e.getTouchingPropertyName(d0,P0);if(D0.parent&&(e.isJsxOpeningElement(D0.parent)&&D0.parent.tagName===D0||e.isJsxClosingElement(D0.parent))){var x0=D0.parent.parent,l0=[x0.openingElement,x0.closingElement].map(function(w0){return X(w0.tagName,d0)});return[{fileName:d0.fileName,highlightSpans:l0}]}return function(w0,V,w,H,k0){var V0=new e.Set(k0.map(function(y0){return y0.fileName})),t0=e.FindAllReferences.getReferenceEntriesForNode(w0,V,w,k0,H,void 0,V0);if(!!t0){var f0=e.arrayToMultiMap(t0.map(e.FindAllReferences.toHighlightSpan),function(y0){return y0.fileName},function(y0){return y0.span});return e.mapDefined(e.arrayFrom(f0.entries()),function(y0){var G0=y0[0],d1=y0[1];if(!V0.has(G0)){if(!w.redirectTargetsMap.has(G0))return;var h1=w.getSourceFile(G0);G0=e.find(k0,function(S1){return!!S1.redirectInfo&&S1.redirectInfo.redirectTarget===h1}).fileName,e.Debug.assert(V0.has(G0))}return{fileName:G0,highlightSpans:d1}})}}(P0,D0,U,g0,c0)||function(w0,V){var w=function(H,k0){switch(H.kind){case 98:case 90:return e.isIfStatement(H.parent)?function(d1,h1){for(var S1=function(k1,I1){for(var K0=[];e.isIfStatement(k1.parent)&&k1.parent.elseStatement===k1;)k1=k1.parent;for(;;){var G1=k1.getChildren(I1);E0(K0,G1[0],98);for(var Nx=G1.length-1;Nx>=0&&!E0(K0,G1[Nx],90);Nx--);if(!k1.elseStatement||!e.isIfStatement(k1.elseStatement))break;k1=k1.elseStatement}return K0}(d1,h1),Q1=[],Y0=0;Y0<S1.length;Y0++){if(S1[Y0].kind===90&&Y0<S1.length-1){for(var $1=S1[Y0],Z1=S1[Y0+1],Q0=!0,y1=Z1.getStart(h1)-1;y1>=$1.end;y1--)if(!e.isWhiteSpaceSingleLine(h1.text.charCodeAt(y1))){Q0=!1;break}if(Q0){Q1.push({fileName:h1.fileName,textSpan:e.createTextSpanFromBounds($1.getStart(),Z1.end),kind:\"reference\"}),Y0++;continue}}Q1.push(X(S1[Y0],h1))}return Q1}(H.parent,k0):void 0;case 104:return y0(H.parent,e.isReturnStatement,j);case 108:return y0(H.parent,e.isThrowStatement,o0);case 110:case 82:case 95:return y0(H.kind===82?H.parent.parent:H.parent,e.isTryStatement,A0);case 106:return y0(H.parent,e.isSwitchStatement,Z);case 81:case 87:return e.isDefaultClause(H.parent)||e.isCaseClause(H.parent)?y0(H.parent.parent.parent,e.isSwitchStatement,Z):void 0;case 80:case 85:return y0(H.parent,e.isBreakOrContinueStatement,A);case 96:case 114:case 89:return y0(H.parent,function(d1){return e.isIterationStatement(d1,!0)},I);case 132:return f0(e.isConstructorDeclaration,[132]);case 134:case 146:return f0(e.isAccessor,[134,146]);case 130:return y0(H.parent,e.isAwaitExpression,G);case 129:return G0(G(H));case 124:return G0(function(d1){var h1=e.getContainingFunction(d1);if(!!h1){var S1=[];return e.forEachChild(h1,function(Q1){u0(Q1,function(Y0){e.isYieldExpression(Y0)&&E0(S1,Y0.getFirstToken(),124)})}),S1}}(H));default:return e.isModifierKind(H.kind)&&(e.isDeclaration(H.parent)||e.isVariableStatement(H.parent))?G0((V0=H.kind,t0=H.parent,e.mapDefined(function(d1,h1){var S1=d1.parent;switch(S1.kind){case 258:case 298:case 231:case 285:case 286:return 128&h1&&e.isClassDeclaration(d1)?D(D([],d1.members),[d1]):S1.statements;case 167:case 166:case 252:return D(D([],S1.parameters),e.isClassLike(S1.parent)?S1.parent.members:[]);case 253:case 222:case 254:case 178:var Q1=S1.members;if(92&h1){var Y0=e.find(S1.members,e.isConstructorDeclaration);if(Y0)return D(D([],Q1),Y0.parameters)}else if(128&h1)return D(D([],Q1),[S1]);return Q1;case 201:return;default:e.Debug.assertNever(S1,\"Invalid container kind.\")}}(t0,e.modifierToFlag(V0)),function(d1){return e.findModifier(d1,V0)}))):void 0}var V0,t0;function f0(d1,h1){return y0(H.parent,d1,function(S1){return e.mapDefined(S1.symbol.declarations,function(Q1){return d1(Q1)?e.find(Q1.getChildren(k0),function(Y0){return e.contains(h1,Y0.kind)}):void 0})})}function y0(d1,h1,S1){return h1(d1)?G0(S1(d1,k0)):void 0}function G0(d1){return d1&&d1.map(function(h1){return X(h1,k0)})}}(w0,V);return w&&[{fileName:V.fileName,highlightSpans:w}]}(D0,d0)}})(e.DocumentHighlights||(e.DocumentHighlights={}))}(_0||(_0={})),function(e){function s(m0){return!!m0.sourceFile}function X(m0,s1,i0){s1===void 0&&(s1=\"\");var H0=new e.Map,E0=e.createGetCanonicalFileName(!!m0);function I(j,G,u0,U,g0,d0,P0){return A0(j,G,u0,U,g0,d0,!0,P0)}function A(j,G,u0,U,g0,d0,P0){return A0(j,G,u0,U,g0,d0,!1,P0)}function Z(j,G){var u0=s(j)?j:j.get(e.Debug.checkDefined(G,\"If there are more than one scriptKind's for same document the scriptKind should be provided\"));return e.Debug.assert(G===void 0||!u0||u0.sourceFile.scriptKind===G,\"Script kind should match provided ScriptKind:\"+G+\" and sourceFile.scriptKind: \"+(u0==null?void 0:u0.sourceFile.scriptKind)+\", !entry: \"+!u0),u0}function A0(j,G,u0,U,g0,d0,P0,c0){var D0=(c0=e.ensureScriptKind(j,c0))===6?100:u0.target||1,x0=e.getOrUpdate(H0,U,function(){return new e.Map}),l0=x0.get(G),w0=l0&&Z(l0,c0);if(!w0&&i0&&(V=i0.getDocument(U,G))&&(e.Debug.assert(P0),w0={sourceFile:V,languageServiceRefCount:0},w()),w0)w0.sourceFile.version!==d0&&(w0.sourceFile=e.updateLanguageServiceSourceFile(w0.sourceFile,g0,d0,g0.getChangeRange(w0.sourceFile.scriptSnapshot)),i0&&i0.setDocument(U,G,w0.sourceFile)),P0&&w0.languageServiceRefCount++;else{var V=e.createLanguageServiceSourceFile(j,g0,D0,d0,!1,c0);i0&&i0.setDocument(U,G,V),w0={sourceFile:V,languageServiceRefCount:1},w()}return e.Debug.assert(w0.languageServiceRefCount!==0),w0.sourceFile;function w(){if(l0)if(s(l0)){var H=new e.Map;H.set(l0.sourceFile.scriptKind,l0),H.set(c0,w0),x0.set(G,H)}else l0.set(c0,w0);else x0.set(G,w0)}}function o0(j,G,u0){var U=e.Debug.checkDefined(H0.get(G)),g0=U.get(j),d0=Z(g0,u0);d0.languageServiceRefCount--,e.Debug.assert(d0.languageServiceRefCount>=0),d0.languageServiceRefCount===0&&(s(g0)?U.delete(j):(g0.delete(u0),g0.size===1&&U.set(j,e.firstDefinedIterator(g0.values(),e.identity))))}return{acquireDocument:function(j,G,u0,U,g0){return I(j,e.toPath(j,s1,E0),G,J(G),u0,U,g0)},acquireDocumentWithKey:I,updateDocument:function(j,G,u0,U,g0){return A(j,e.toPath(j,s1,E0),G,J(G),u0,U,g0)},updateDocumentWithKey:A,releaseDocument:function(j,G,u0){return o0(e.toPath(j,s1,E0),J(G),u0)},releaseDocumentWithKey:o0,getLanguageServiceRefCounts:function(j,G){return e.arrayFrom(H0.entries(),function(u0){var U=u0[0],g0=u0[1].get(j),d0=g0&&Z(g0,G);return[U,d0&&d0.languageServiceRefCount]})},reportStats:function(){var j=e.arrayFrom(H0.keys()).filter(function(G){return G&&G.charAt(0)===\"_\"}).map(function(G){var u0=H0.get(G),U=[];return u0.forEach(function(g0,d0){s(g0)?U.push({name:d0,scriptKind:g0.sourceFile.scriptKind,refCount:g0.languageServiceRefCount}):g0.forEach(function(P0,c0){return U.push({name:d0,scriptKind:c0,refCount:P0.languageServiceRefCount})})}),U.sort(function(g0,d0){return d0.refCount-g0.refCount}),{bucket:G,sourceFiles:U}});return JSON.stringify(j,void 0,2)},getKeyForCompilationSettings:J}}function J(m0){return e.sourceFileAffectingCompilerOptions.map(function(s1){return e.getCompilerOptionValue(m0,s1)}).join(\"|\")}e.createDocumentRegistry=function(m0,s1){return X(m0,s1)},e.createDocumentRegistryInternal=X}(_0||(_0={})),function(e){(function(s){var X,J;function m0(Z,A0){return e.forEach(Z.kind===298?Z.statements:Z.body.statements,function(o0){return A0(o0)||I(o0)&&e.forEach(o0.body&&o0.body.statements,A0)})}function s1(Z,A0){if(Z.externalModuleIndicator||Z.imports!==void 0)for(var o0=0,j=Z.imports;o0<j.length;o0++){var G=j[o0];A0(e.importFromModuleSpecifier(G),G)}else m0(Z,function(u0){switch(u0.kind){case 268:case 262:(U=u0).moduleSpecifier&&e.isStringLiteral(U.moduleSpecifier)&&A0(U,U.moduleSpecifier);break;case 261:var U;A(U=u0)&&A0(U,U.moduleReference.expression)}})}function i0(Z,A0,o0){var j=Z.parent;if(j){var G=o0.getMergedSymbol(j);return e.isExternalModuleSymbol(G)?{exportingModuleSymbol:G,exportKind:A0}:void 0}}function H0(Z,A0){return A0.getMergedSymbol(E0(Z).symbol)}function E0(Z){if(Z.kind===204)return Z.getSourceFile();var A0=Z.parent;return A0.kind===298?A0:(e.Debug.assert(A0.kind===258),e.cast(A0.parent,I))}function I(Z){return Z.kind===257&&Z.name.kind===10}function A(Z){return Z.moduleReference.kind===273&&Z.moduleReference.expression.kind===10}s.createImportTracker=function(Z,A0,o0,j){var G=function(u0,U,g0){for(var d0=new e.Map,P0=0,c0=u0;P0<c0.length;P0++){var D0=c0[P0];g0&&g0.throwIfCancellationRequested(),s1(D0,function(x0,l0){var w0=U.getSymbolAtLocation(l0);if(w0){var V=e.getSymbolId(w0).toString(),w=d0.get(V);w||d0.set(V,w=[]),w.push(x0)}})}return d0}(Z,o0,j);return function(u0,U,g0){var d0=function(D0,x0,l0,w0,V,w){var H=w0.exportingModuleSymbol,k0=w0.exportKind,V0=e.nodeSeenTracker(),t0=e.nodeSeenTracker(),f0=[],y0=!!H.globalExports,G0=y0?void 0:[];return h1(H),{directImports:f0,indirectUsers:d1()};function d1(){if(y0)return D0;if(H.declarations)for(var Q0=0,y1=H.declarations;Q0<y1.length;Q0++){var k1=y1[Q0];e.isExternalModuleAugmentation(k1)&&x0.has(k1.getSourceFile().fileName)&&$1(k1)}return G0.map(e.getSourceFileOfNode)}function h1(Q0){var y1=Z1(Q0);if(y1)for(var k1=0,I1=y1;k1<I1.length;k1++){var K0=I1[k1];if(V0(K0))switch(w&&w.throwIfCancellationRequested(),K0.kind){case 204:if(e.isImportCall(K0)){S1(K0);break}if(!y0){var G1=K0.parent;if(k0===2&&G1.kind===250){var Nx=G1.name;if(Nx.kind===78){f0.push(Nx);break}}}break;case 78:break;case 261:Y0(K0,K0.name,e.hasSyntacticModifier(K0,1),!1);break;case 262:f0.push(K0);var n1=K0.importClause&&K0.importClause.namedBindings;n1&&n1.kind===264?Y0(K0,n1.name,!1,!0):!y0&&e.isDefaultImport(K0)&&$1(E0(K0));break;case 268:K0.exportClause?K0.exportClause.kind===270?$1(E0(K0),!0):f0.push(K0):h1(H0(K0,V));break;case 196:K0.isTypeOf&&!K0.qualifier&&Q1(K0)&&$1(K0.getSourceFile(),!0),f0.push(K0);break;default:e.Debug.failBadSyntaxKind(K0,\"Unexpected import kind.\")}}}function S1(Q0){$1(e.findAncestor(Q0,I)||Q0.getSourceFile(),!!Q1(Q0,!0))}function Q1(Q0,y1){return y1===void 0&&(y1=!1),e.findAncestor(Q0,function(k1){return y1&&I(k1)?\"quit\":e.some(k1.modifiers,function(I1){return I1.kind===92})})}function Y0(Q0,y1,k1,I1){if(k0===2)I1||f0.push(Q0);else if(!y0){var K0=E0(Q0);e.Debug.assert(K0.kind===298||K0.kind===257),k1||function(G1,Nx,n1){var S0=n1.getSymbolAtLocation(Nx);return!!m0(G1,function(I0){if(e.isExportDeclaration(I0)){var U0=I0.exportClause;return!I0.moduleSpecifier&&U0&&e.isNamedExports(U0)&&U0.elements.some(function(p0){return n1.getExportSpecifierLocalTargetSymbol(p0)===S0})}})}(K0,y1,V)?$1(K0,!0):$1(K0)}}function $1(Q0,y1){if(y1===void 0&&(y1=!1),e.Debug.assert(!y0),t0(Q0)&&(G0.push(Q0),y1)){var k1=V.getMergedSymbol(Q0.symbol);if(k1){e.Debug.assert(!!(1536&k1.flags));var I1=Z1(k1);if(I1)for(var K0=0,G1=I1;K0<G1.length;K0++){var Nx=G1[K0];e.isImportTypeNode(Nx)||$1(E0(Nx),!0)}}}}function Z1(Q0){return l0.get(e.getSymbolId(Q0).toString())}}(Z,A0,G,U,o0,j),P0=d0.directImports,c0=d0.indirectUsers;return $({indirectUsers:c0},function(D0,x0,l0,w0,V){var w=[],H=[];function k0(h1,S1){w.push([h1,S1])}if(D0)for(var V0=0,t0=D0;V0<t0.length;V0++)f0(t0[V0]);return{importSearches:w,singleReferences:H};function f0(h1){if(h1.kind!==261)if(h1.kind!==78)if(h1.kind!==196){if(h1.moduleSpecifier.kind===10)if(h1.kind!==268){var S1=h1.importClause||{name:void 0,namedBindings:void 0},Q1=S1.name,Y0=S1.namedBindings;if(Y0)switch(Y0.kind){case 264:y0(Y0.name);break;case 265:l0!==0&&l0!==1||G0(Y0);break;default:e.Debug.assertNever(Y0)}Q1&&(l0===1||l0===2)&&(!V||Q1.escapedText===e.symbolEscapedNameNoDefault(x0))&&k0(Q1,w0.getSymbolAtLocation(Q1))}else h1.exportClause&&e.isNamedExports(h1.exportClause)&&G0(h1.exportClause)}else if(h1.qualifier){var $1=e.getFirstIdentifier(h1.qualifier);$1.escapedText===e.symbolName(x0)&&H.push($1)}else l0===2&&H.push(h1.argument.literal);else y0(h1);else A(h1)&&y0(h1.name)}function y0(h1){l0!==2||V&&!d1(h1.escapedText)||k0(h1,w0.getSymbolAtLocation(h1))}function G0(h1){if(h1)for(var S1=0,Q1=h1.elements;S1<Q1.length;S1++){var Y0=Q1[S1],$1=Y0.name,Z1=Y0.propertyName;d1((Z1||$1).escapedText)&&(Z1?(H.push(Z1),V&&$1.escapedText!==x0.escapedName||k0($1,w0.getSymbolAtLocation($1))):k0($1,Y0.kind===271&&Y0.propertyName?w0.getExportSpecifierLocalTargetSymbol(Y0):w0.getSymbolAtLocation($1)))}}function d1(h1){return h1===x0.escapedName||l0!==0&&h1===\"default\"}}(P0,u0,U.exportKind,o0,g0))}},(X=s.ExportKind||(s.ExportKind={}))[X.Named=0]=\"Named\",X[X.Default=1]=\"Default\",X[X.ExportEquals=2]=\"ExportEquals\",(J=s.ImportExport||(s.ImportExport={}))[J.Import=0]=\"Import\",J[J.Export=1]=\"Export\",s.findModuleReferences=function(Z,A0,o0){for(var j=[],G=Z.getTypeChecker(),u0=0,U=A0;u0<U.length;u0++){var g0=U[u0],d0=o0.valueDeclaration;if((d0==null?void 0:d0.kind)===298){for(var P0=0,c0=g0.referencedFiles;P0<c0.length;P0++){var D0=c0[P0];Z.getSourceFileFromReference(g0,D0)===d0&&j.push({kind:\"reference\",referencingFile:g0,ref:D0})}for(var x0=0,l0=g0.typeReferenceDirectives;x0<l0.length;x0++){D0=l0[x0];var w0=Z.getResolvedTypeReferenceDirectives().get(D0.fileName);w0!==void 0&&w0.resolvedFileName===d0.fileName&&j.push({kind:\"reference\",referencingFile:g0,ref:D0})}}s1(g0,function(V,w){G.getSymbolAtLocation(w)===o0&&j.push({kind:\"import\",literal:w})})}return j},s.getImportOrExportSymbol=function(Z,A0,o0,j){return j?G():G()||function(){if(!!function(P0){var c0=P0.parent;switch(c0.kind){case 261:return c0.name===P0&&A(c0);case 266:return!c0.propertyName;case 263:case 264:return e.Debug.assert(c0.name===P0),!0;case 199:return e.isInJSFile(P0)&&e.isRequireVariableDeclaration(c0);default:return!1}}(Z)){var g0=o0.getImmediateAliasedSymbol(A0);if(!!g0){(g0=function(P0,c0){if(P0.declarations)for(var D0=0,x0=P0.declarations;D0<x0.length;D0++){var l0=x0[D0];if(e.isExportSpecifier(l0)&&!l0.propertyName&&!l0.parent.parent.moduleSpecifier)return c0.getExportSpecifierLocalTargetSymbol(l0);if(e.isPropertyAccessExpression(l0)&&e.isModuleExportsAccessExpression(l0.expression)&&!e.isPrivateIdentifier(l0.name))return c0.getSymbolAtLocation(l0);if(e.isShorthandPropertyAssignment(l0)&&e.isBinaryExpression(l0.parent.parent)&&e.getAssignmentDeclarationKind(l0.parent.parent)===2)return c0.getExportSpecifierLocalTargetSymbol(l0.name)}return P0}(g0,o0)).escapedName===\"export=\"&&(g0=function(P0,c0){if(2097152&P0.flags)return e.Debug.checkDefined(c0.getImmediateAliasedSymbol(P0));var D0=e.Debug.checkDefined(P0.valueDeclaration);return e.isExportAssignment(D0)?e.Debug.checkDefined(D0.expression.symbol):e.isBinaryExpression(D0)?e.Debug.checkDefined(D0.right.symbol):e.isSourceFile(D0)?e.Debug.checkDefined(D0.symbol):e.Debug.fail()}(g0,o0));var d0=e.symbolEscapedNameNoDefault(g0);if(d0===void 0||d0===\"default\"||d0===A0.escapedName)return{kind:0,symbol:g0}}}}();function G(){var g0,d0=Z.parent,P0=d0.parent;if(A0.exportSymbol)return d0.kind===202?((g0=A0.declarations)===null||g0===void 0?void 0:g0.some(function(l0){return l0===d0}))&&e.isBinaryExpression(P0)?x0(P0,!1):void 0:u0(A0.exportSymbol,U(d0));var c0=function(l0,w0){var V=e.isVariableDeclaration(l0)?l0:e.isBindingElement(l0)?e.walkUpBindingElementsAndPatterns(l0):void 0;return V?l0.name!==w0||e.isCatchClause(V.parent)?void 0:e.isVariableStatement(V.parent.parent)?V.parent.parent:void 0:l0}(d0,Z);if(c0&&e.hasSyntacticModifier(c0,1))return e.isImportEqualsDeclaration(c0)&&c0.moduleReference===Z?j?void 0:{kind:0,symbol:o0.getSymbolAtLocation(c0.name)}:u0(A0,U(c0));if(e.isNamespaceExport(d0))return u0(A0,0);if(e.isExportAssignment(d0))return D0(d0);if(e.isExportAssignment(P0))return D0(P0);if(e.isBinaryExpression(d0))return x0(d0,!0);if(e.isBinaryExpression(P0))return x0(P0,!0);if(e.isJSDocTypedefTag(d0))return u0(A0,0);function D0(l0){if(l0.symbol.parent){var w0=l0.isExportEquals?2:1;return{kind:1,symbol:A0,exportInfo:{exportingModuleSymbol:l0.symbol.parent,exportKind:w0}}}}function x0(l0,w0){var V;switch(e.getAssignmentDeclarationKind(l0)){case 1:V=0;break;case 2:V=2;break;default:return}var w=w0?o0.getSymbolAtLocation(e.getNameOfAccessExpression(e.cast(l0.left,e.isAccessExpression))):A0;return w&&u0(w,V)}}function u0(g0,d0){var P0=i0(g0,d0,o0);return P0&&{kind:1,symbol:g0,exportInfo:P0}}function U(g0){return e.hasSyntacticModifier(g0,512)?1:0}},s.getExportInfo=i0})(e.FindAllReferences||(e.FindAllReferences={}))}(_0||(_0={})),function(e){(function(s){var X,J,m0,s1;function i0(D0,x0){return x0===void 0&&(x0=1),{kind:x0,node:D0.name||D0,context:E0(D0)}}function H0(D0){return D0&&D0.kind===void 0}function E0(D0){if(e.isDeclaration(D0))return I(D0);if(D0.parent){if(!e.isDeclaration(D0.parent)&&!e.isExportAssignment(D0.parent)){if(e.isInJSFile(D0)){var x0=e.isBinaryExpression(D0.parent)?D0.parent:e.isAccessExpression(D0.parent)&&e.isBinaryExpression(D0.parent.parent)&&D0.parent.parent.left===D0.parent?D0.parent.parent:void 0;if(x0&&e.getAssignmentDeclarationKind(x0)!==0)return I(x0)}if(e.isJsxOpeningElement(D0.parent)||e.isJsxClosingElement(D0.parent))return D0.parent.parent;if(e.isJsxSelfClosingElement(D0.parent)||e.isLabeledStatement(D0.parent)||e.isBreakOrContinueStatement(D0.parent))return D0.parent;if(e.isStringLiteralLike(D0)){var l0=e.tryGetImportFromModuleSpecifier(D0);if(l0){var w0=e.findAncestor(l0,function(w){return e.isDeclaration(w)||e.isStatement(w)||e.isJSDocTag(w)});return e.isDeclaration(w0)?I(w0):w0}}var V=e.findAncestor(D0,e.isComputedPropertyName);return V?I(V.parent):void 0}return D0.parent.name===D0||e.isConstructorDeclaration(D0.parent)||e.isExportAssignment(D0.parent)||(e.isImportOrExportSpecifier(D0.parent)||e.isBindingElement(D0.parent))&&D0.parent.propertyName===D0||D0.kind===87&&e.hasSyntacticModifier(D0.parent,513)?I(D0.parent):void 0}}function I(D0){if(D0)switch(D0.kind){case 250:return e.isVariableDeclarationList(D0.parent)&&D0.parent.declarations.length===1?e.isVariableStatement(D0.parent.parent)?D0.parent.parent:e.isForInOrOfStatement(D0.parent.parent)?I(D0.parent.parent):D0.parent:D0;case 199:return I(D0.parent.parent);case 266:return D0.parent.parent.parent;case 271:case 264:return D0.parent.parent;case 263:case 270:return D0.parent;case 217:return e.isExpressionStatement(D0.parent)?D0.parent:D0;case 240:case 239:return{start:D0.initializer,end:D0.expression};case 289:case 290:return e.isArrayLiteralOrObjectLiteralDestructuringPattern(D0.parent)?I(e.findAncestor(D0.parent,function(x0){return e.isBinaryExpression(x0)||e.isForInOrOfStatement(x0)})):D0;default:return D0}}function A(D0,x0,l0){if(l0){var w0=H0(l0)?g0(l0.start,x0,l0.end):g0(l0,x0);return w0.start!==D0.start||w0.length!==D0.length?{contextSpan:w0}:void 0}}function Z(D0,x0,l0,w0,V){if(w0.kind!==298){var w=D0.getTypeChecker();if(w0.parent.kind===290){var H=[];return s1.getReferenceEntriesForShorthandPropertyAssignment(w0,w,function(V0){return H.push(i0(V0))}),H}if(w0.kind===105||e.isSuperProperty(w0.parent)){var k0=w.getSymbolAtLocation(w0);return k0.valueDeclaration&&[i0(k0.valueDeclaration)]}return A0(V,w0,D0,l0,x0,{implementations:!0,use:1})}}function A0(D0,x0,l0,w0,V,w,H){return w===void 0&&(w={}),H===void 0&&(H=new e.Set(w0.map(function(k0){return k0.fileName}))),o0(s1.getReferencedSymbolsForNode(D0,x0,l0,w0,V,w,H))}function o0(D0){return D0&&e.flatMap(D0,function(x0){return x0.references})}function j(D0){var x0=D0.getSourceFile();return{sourceFile:x0,textSpan:g0(e.isComputedPropertyName(D0)?D0.expression:D0,x0)}}function G(D0,x0,l0){var w0=s1.getIntersectingMeaningFromDeclarations(l0,D0),V=D0.declarations&&e.firstOrUndefined(D0.declarations)||l0,w=e.SymbolDisplay.getSymbolDisplayPartsDocumentationAndSymbolKind(x0,D0,V.getSourceFile(),V,V,w0);return{displayParts:w.displayParts,kind:w.symbolKind}}function u0(D0){var x0=U(D0);if(D0.kind===0)return $($({},x0),{isWriteAccess:!1,isDefinition:!1});var l0=D0.kind,w0=D0.node;return $($({},x0),{isWriteAccess:P0(w0),isDefinition:c0(w0),isInString:l0===2||void 0})}function U(D0){if(D0.kind===0)return{textSpan:D0.textSpan,fileName:D0.fileName};var x0=D0.node.getSourceFile(),l0=g0(D0.node,x0);return $({textSpan:l0,fileName:x0.fileName},A(l0,x0,D0.context))}function g0(D0,x0,l0){var w0=D0.getStart(x0),V=(l0||D0).getEnd();return e.isStringLiteralLike(D0)&&(e.Debug.assert(l0===void 0),w0+=1,V-=1),e.createTextSpanFromBounds(w0,V)}function d0(D0){return D0.kind===0?D0.textSpan:g0(D0.node,D0.node.getSourceFile())}function P0(D0){var x0=e.getDeclarationFromName(D0);return!!x0&&function(l0){if(8388608&l0.flags)return!0;switch(l0.kind){case 217:case 199:case 253:case 222:case 87:case 256:case 292:case 271:case 263:case 261:case 266:case 254:case 328:case 335:case 281:case 257:case 260:case 264:case 270:case 161:case 290:case 255:case 160:return!0;case 289:return!e.isArrayLiteralOrObjectLiteralDestructuringPattern(l0.parent);case 252:case 209:case 167:case 166:case 168:case 169:return!!l0.body;case 250:case 164:return!!l0.initializer||e.isCatchClause(l0.parent);case 165:case 163:case 337:case 330:return!1;default:return e.Debug.failBadSyntaxKind(l0)}}(x0)||D0.kind===87||e.isWriteAccess(D0)}function c0(D0){return D0.kind===87||!!e.getDeclarationFromName(D0)||e.isLiteralComputedPropertyDeclarationName(D0)||D0.kind===132&&e.isConstructorDeclaration(D0.parent)}(X=s.DefinitionKind||(s.DefinitionKind={}))[X.Symbol=0]=\"Symbol\",X[X.Label=1]=\"Label\",X[X.Keyword=2]=\"Keyword\",X[X.This=3]=\"This\",X[X.String=4]=\"String\",X[X.TripleSlashReference=5]=\"TripleSlashReference\",(J=s.EntryKind||(s.EntryKind={}))[J.Span=0]=\"Span\",J[J.Node=1]=\"Node\",J[J.StringLiteral=2]=\"StringLiteral\",J[J.SearchedLocalFoundProperty=3]=\"SearchedLocalFoundProperty\",J[J.SearchedPropertyFoundLocal=4]=\"SearchedPropertyFoundLocal\",s.nodeEntry=i0,s.isContextWithStartAndEndNode=H0,s.getContextNode=I,s.toContextSpan=A,(m0=s.FindReferencesUse||(s.FindReferencesUse={}))[m0.Other=0]=\"Other\",m0[m0.References=1]=\"References\",m0[m0.Rename=2]=\"Rename\",s.findReferencedSymbols=function(D0,x0,l0,w0,V){var w=e.getTouchingPropertyName(w0,V),H=s1.getReferencedSymbolsForNode(V,w,D0,l0,x0,{use:1}),k0=D0.getTypeChecker();return H&&H.length?e.mapDefined(H,function(V0){var t0=V0.definition,f0=V0.references;return t0&&{definition:k0.runWithCancellationToken(x0,function(y0){return function(G0,d1,h1){var S1=function(){switch(G0.type){case 0:var k1=G(I0=G0.symbol,d1,h1),I1=k1.displayParts,K0=k1.kind,G1=I1.map(function(p0){return p0.text}).join(\"\"),Nx=I0.declarations&&e.firstOrUndefined(I0.declarations),n1=Nx?e.getNameOfDeclaration(Nx)||Nx:h1;return $($({},j(n1)),{name:G1,kind:K0,displayParts:I1,context:I(Nx)});case 1:return n1=G0.node,$($({},j(n1)),{name:n1.text,kind:\"label\",displayParts:[e.displayPart(n1.text,e.SymbolDisplayPartKind.text)]});case 2:n1=G0.node;var S0=e.tokenToString(n1.kind);return $($({},j(n1)),{name:S0,kind:\"keyword\",displayParts:[{text:S0,kind:\"keyword\"}]});case 3:n1=G0.node;var I0,U0=(I0=d1.getSymbolAtLocation(n1))&&e.SymbolDisplay.getSymbolDisplayPartsDocumentationAndSymbolKind(d1,I0,n1.getSourceFile(),e.getContainerNode(n1),n1).displayParts||[e.textPart(\"this\")];return $($({},j(n1)),{name:\"this\",kind:\"var\",displayParts:U0});case 4:return n1=G0.node,$($({},j(n1)),{name:n1.text,kind:\"var\",displayParts:[e.displayPart(e.getTextOfNode(n1),e.SymbolDisplayPartKind.stringLiteral)]});case 5:return{textSpan:e.createTextSpanFromRange(G0.reference),sourceFile:G0.file,name:G0.reference.fileName,kind:\"string\",displayParts:[e.displayPart('\"'+G0.reference.fileName+'\"',e.SymbolDisplayPartKind.stringLiteral)]};default:return e.Debug.assertNever(G0)}}(),Q1=S1.sourceFile,Y0=S1.textSpan,$1=S1.name,Z1=S1.kind,Q0=S1.displayParts,y1=S1.context;return $({containerKind:\"\",containerName:\"\",fileName:Q1.fileName,kind:Z1,name:$1,textSpan:Y0,displayParts:Q0},A(Y0,Q1,y1))}(t0,y0,w)}),references:f0.map(u0)}}):void 0},s.getImplementationsAtPosition=function(D0,x0,l0,w0,V){var w,H=e.getTouchingPropertyName(w0,V),k0=Z(D0,x0,l0,H,V);if(H.parent.kind===202||H.parent.kind===199||H.parent.kind===203||H.kind===105)w=k0&&D([],k0);else for(var V0=k0&&D([],k0),t0=new e.Map;V0&&V0.length;){var f0=V0.shift();if(e.addToSeen(t0,e.getNodeId(f0.node))){w=e.append(w,f0);var y0=Z(D0,x0,l0,f0.node,f0.node.pos);y0&&V0.push.apply(V0,y0)}}var G0=D0.getTypeChecker();return e.map(w,function(d1){return function(h1,S1){var Q1=U(h1);if(h1.kind!==0){var Y0=h1.node;return $($({},Q1),function($1,Z1){var Q0=Z1.getSymbolAtLocation(e.isDeclaration($1)&&$1.name?$1.name:$1);return Q0?G(Q0,Z1,$1):$1.kind===201?{kind:\"interface\",displayParts:[e.punctuationPart(20),e.textPart(\"object literal\"),e.punctuationPart(21)]}:$1.kind===222?{kind:\"local class\",displayParts:[e.punctuationPart(20),e.textPart(\"anonymous local class\"),e.punctuationPart(21)]}:{kind:e.getNodeKind($1),displayParts:[]}}(Y0,S1))}return $($({},Q1),{kind:\"\",displayParts:[]})}(d1,G0)})},s.findReferenceOrRenameEntries=function(D0,x0,l0,w0,V,w,H){return e.map(o0(s1.getReferencedSymbolsForNode(V,w0,D0,l0,x0,w)),function(k0){return H(k0,w0,D0.getTypeChecker())})},s.getReferenceEntriesForNode=A0,s.toRenameLocation=function(D0,x0,l0,w0){return $($({},U(D0)),w0&&function(V,w,H){if(V.kind!==0&&e.isIdentifier(w)){var k0=V.node,V0=V.kind,t0=k0.parent,f0=w.text,y0=e.isShorthandPropertyAssignment(t0);if(y0||e.isObjectBindingElementWithoutPropertyName(t0)&&t0.name===k0&&t0.dotDotDotToken===void 0){var G0={prefixText:f0+\": \"},d1={suffixText:\": \"+f0};if(V0===3)return G0;if(V0===4)return d1;if(y0){var h1=t0.parent;return e.isObjectLiteralExpression(h1)&&e.isBinaryExpression(h1.parent)&&e.isModuleExportsAccessExpression(h1.parent.left)?G0:d1}return G0}if(e.isImportSpecifier(t0)&&!t0.propertyName){var S1=e.isExportSpecifier(w.parent)?H.getExportSpecifierLocalTargetSymbol(w.parent):H.getSymbolAtLocation(w);return e.contains(S1.declarations,t0)?{prefixText:f0+\" as \"}:e.emptyOptions}if(e.isExportSpecifier(t0)&&!t0.propertyName)return w===V.node||H.getSymbolAtLocation(w)===H.getSymbolAtLocation(V.node)?{prefixText:f0+\" as \"}:{suffixText:\" as \"+f0}}return e.emptyOptions}(D0,x0,l0))},s.toReferenceEntry=u0,s.toHighlightSpan=function(D0){var x0=U(D0);if(D0.kind===0)return{fileName:x0.fileName,span:{textSpan:x0.textSpan,kind:\"reference\"}};var l0=P0(D0.node),w0=$({textSpan:x0.textSpan,kind:l0?\"writtenReference\":\"reference\",isInString:D0.kind===2||void 0},x0.contextSpan&&{contextSpan:x0.contextSpan});return{fileName:x0.fileName,span:w0}},s.getTextSpanOfEntry=d0,function(D0){function x0(O0,C1,nx){for(var O,b1=0,Px=C1.get(O0.path)||e.emptyArray;b1<Px.length;b1++){var me=Px[b1];if(e.isReferencedFile(me)){var Re=nx.getSourceFileByPath(me.file),gt=e.getReferencedFileLocation(nx.getSourceFileByPath,me);e.isReferenceFileLocation(gt)&&(O=e.append(O,{kind:0,fileName:Re.fileName,textSpan:e.createTextSpanFromRange(gt)}))}}return O}function l0(O0,C1,nx){if(O0.parent&&e.isNamespaceExportDeclaration(O0.parent)){var O=nx.getAliasedSymbol(C1),b1=nx.getMergedSymbol(O);if(O!==b1)return b1}}function w0(O0,C1,nx,O,b1,Px){var me=1536&O0.flags&&O0.declarations&&e.find(O0.declarations,e.isSourceFile);if(me){var Re=O0.exports.get(\"export=\"),gt=H(C1,O0,!!Re,nx,Px);if(!Re||!Px.has(me.fileName))return gt;var Vt=C1.getTypeChecker();return V(C1,gt,V0(O0=e.skipAlias(Re,Vt),void 0,nx,Px,Vt,O,b1))}}function V(O0){for(var C1,nx=[],O=1;O<arguments.length;O++)nx[O-1]=arguments[O];for(var b1=0,Px=nx;b1<Px.length;b1++){var me=Px[b1];if(me&&me.length)if(C1)for(var Re=function(gr){if(!gr.definition||gr.definition.type!==0)return C1.push(gr),\"continue\";var Nt=gr.definition.symbol,Ir=e.findIndex(C1,function(Bt){return!!Bt.definition&&Bt.definition.type===0&&Bt.definition.symbol===Nt});if(Ir===-1)return C1.push(gr),\"continue\";var xr=C1[Ir];C1[Ir]={definition:xr.definition,references:xr.references.concat(gr.references).sort(function(Bt,ar){var Ni=w(O0,Bt),Kn=w(O0,ar);if(Ni!==Kn)return e.compareValues(Ni,Kn);var oi=d0(Bt),Ba=d0(ar);return oi.start!==Ba.start?e.compareValues(oi.start,Ba.start):e.compareValues(oi.length,Ba.length)})}},gt=0,Vt=me;gt<Vt.length;gt++){var wr=Vt[gt];Re(wr)}else C1=me}return C1}function w(O0,C1){var nx=C1.kind===0?O0.getSourceFile(C1.fileName):C1.node.getSourceFile();return O0.getSourceFiles().indexOf(nx)}function H(O0,C1,nx,O,b1){e.Debug.assert(!!C1.valueDeclaration);var Px=e.mapDefined(s.findModuleReferences(O0,O,C1),function(xr){if(xr.kind===\"import\"){var Bt=xr.literal.parent;if(e.isLiteralTypeNode(Bt)){var ar=e.cast(Bt.parent,e.isImportTypeNode);if(nx&&!ar.qualifier)return}return i0(xr.literal)}return{kind:0,fileName:xr.referencingFile.fileName,textSpan:e.createTextSpanFromRange(xr.ref)}});if(C1.declarations)for(var me=0,Re=C1.declarations;me<Re.length;me++)switch((gr=Re[me]).kind){case 298:break;case 257:b1.has(gr.getSourceFile().fileName)&&Px.push(i0(gr.name));break;default:e.Debug.assert(!!(33554432&C1.flags),\"Expected a module symbol to be declared by a SourceFile or ModuleDeclaration.\")}var gt=C1.exports.get(\"export=\");if(gt==null?void 0:gt.declarations)for(var Vt=0,wr=gt.declarations;Vt<wr.length;Vt++){var gr,Nt=(gr=wr[Vt]).getSourceFile();if(b1.has(Nt.fileName)){var Ir=e.isBinaryExpression(gr)&&e.isPropertyAccessExpression(gr.left)?gr.left.expression:e.isExportAssignment(gr)?e.Debug.checkDefined(e.findChildOfKind(gr,92,Nt)):e.getNameOfDeclaration(gr)||gr;Px.push(i0(Ir))}}return Px.length?[{definition:{type:0,symbol:C1},references:Px}]:e.emptyArray}function k0(O0){return O0.kind===142&&e.isTypeOperatorNode(O0.parent)&&O0.parent.operator===142}function V0(O0,C1,nx,O,b1,Px,me){var Re=C1&&function(Ir,xr,Bt,ar){var Ni=xr.parent;return e.isExportSpecifier(Ni)&&ar?G1(xr,Ir,Ni,Bt):e.firstDefined(Ir.declarations,function(Kn){if(!Kn.parent){if(33554432&Ir.flags)return;e.Debug.fail(\"Unexpected symbol at \"+e.Debug.formatSyntaxKind(xr.kind)+\": \"+e.Debug.formatSymbol(Ir))}return e.isTypeLiteralNode(Kn.parent)&&e.isUnionTypeNode(Kn.parent.parent)?Bt.getPropertyOfType(Bt.getTypeFromTypeNode(Kn.parent.parent),Ir.name):void 0})}(O0,C1,b1,!rx(me))||O0,gt=C1?V1(C1,Re):7,Vt=[],wr=new y0(nx,O,C1?function(Ir){switch(Ir.kind){case 167:case 132:return 1;case 78:if(e.isClassLike(Ir.parent))return e.Debug.assert(Ir.parent.name===Ir),2;default:return 0}}(C1):0,b1,Px,gt,me,Vt),gr=rx(me)&&Re.declarations?e.find(Re.declarations,e.isExportSpecifier):void 0;if(gr)K0(gr.name,Re,gr,wr.createSearch(C1,O0,void 0),wr,!0,!0);else if(C1&&C1.kind===87&&Re.escapedName===\"default\"&&Re.parent)Nx(C1,Re,wr),G0(C1,Re,{exportingModuleSymbol:Re.parent,exportKind:1},wr);else{var Nt=wr.createSearch(C1,Re,void 0,{allSearchSymbols:C1?p1(Re,C1,b1,me.use===2,!!me.providePrefixAndSuffixTextForRename,!!me.implementations):[Re]});t0(Re,wr,Nt)}return Vt}function t0(O0,C1,nx){var O=function(Re){var gt=Re.declarations,Vt=Re.flags,wr=Re.parent,gr=Re.valueDeclaration;if(gr&&(gr.kind===209||gr.kind===222))return gr;if(!!gt){if(8196&Vt){var Nt=e.find(gt,function(Ba){return e.hasEffectiveModifier(Ba,8)||e.isPrivateIdentifierClassElementDeclaration(Ba)});return Nt?e.getAncestor(Nt,253):void 0}if(!gt.some(e.isObjectBindingElementWithoutPropertyName)){var Ir,xr=wr&&!(262144&Re.flags);if(!(xr&&(!e.isExternalModuleSymbol(wr)||wr.globalExports))){for(var Bt=0,ar=gt;Bt<ar.length;Bt++){var Ni=ar[Bt],Kn=e.getContainerNode(Ni);if(Ir&&Ir!==Kn||!Kn||Kn.kind===298&&!e.isExternalOrCommonJsModule(Kn))return;if(Ir=Kn,e.isFunctionExpression(Ir))for(var oi=void 0;oi=e.getNextJSDocCommentLocation(Ir);)Ir=oi}return xr?Ir.getSourceFile():Ir}}}}(O0);if(O)y1(O,O.getSourceFile(),nx,C1,!(e.isSourceFile(O)&&!e.contains(C1.sourceFiles,O)));else for(var b1=0,Px=C1.sourceFiles;b1<Px.length;b1++){var me=Px[b1];C1.cancellationToken.throwIfCancellationRequested(),S1(me,nx,C1)}}var f0;D0.getReferencedSymbolsForNode=function(O0,C1,nx,O,b1,Px,me){var Re,gt;if(Px===void 0&&(Px={}),me===void 0&&(me=new e.Set(O.map(function(Ba){return Ba.fileName}))),Px.use===1?C1=e.getAdjustedReferenceLocation(C1):Px.use===2&&(C1=e.getAdjustedRenameLocation(C1)),e.isSourceFile(C1)){var Vt=e.GoToDefinition.getReferenceAtPosition(C1,O0,nx);if(!(Vt==null?void 0:Vt.file))return;var wr=nx.getTypeChecker().getMergedSymbol(Vt.file.symbol);return wr?H(nx,wr,!1,O,me):(Ni=nx.getFileIncludeReasons())?[{definition:{type:5,reference:Vt.reference,file:C1},references:x0(Vt.file,Ni,nx)||e.emptyArray}]:void 0}if(!Px.implementations){var gr=function(Ba,dt,Gt){if(e.isTypeKeyword(Ba.kind))return Ba.kind===113&&e.isVoidExpression(Ba.parent)||Ba.kind===142&&!k0(Ba)?void 0:function(en,ii,Tt,bn){var Le=e.flatMap(en,function(Sa){return Tt.throwIfCancellationRequested(),e.mapDefined(Y0(Sa,e.tokenToString(ii),Sa),function(Yn){if(Yn.kind===ii&&(!bn||bn(Yn)))return i0(Yn)})});return Le.length?[{definition:{type:2,node:Le[0].node},references:Le}]:void 0}(dt,Ba.kind,Gt,Ba.kind===142?k0:void 0);if(e.isJumpStatementTarget(Ba)){var lr=e.getTargetLabel(Ba.parent,Ba.text);return lr&&Z1(lr.parent,lr)}if(e.isLabelOfLabeledStatement(Ba))return Z1(Ba.parent,Ba);if(e.isThis(Ba))return function(en,ii,Tt){var bn=e.getThisContainer(en,!1),Le=32;switch(bn.kind){case 166:case 165:if(e.isObjectLiteralMethod(bn)){Le&=e.getSyntacticModifierFlags(bn),bn=bn.parent;break}case 164:case 163:case 167:case 168:case 169:Le&=e.getSyntacticModifierFlags(bn),bn=bn.parent;break;case 298:if(e.isExternalModule(bn)||p0(en))return;case 252:case 209:break;default:return}var Sa=e.flatMap(bn.kind===298?ii:[bn.getSourceFile()],function(Yn){return Tt.throwIfCancellationRequested(),Y0(Yn,\"this\",e.isSourceFile(bn)?Yn:bn).filter(function(W1){if(!e.isThis(W1))return!1;var cx=e.getThisContainer(W1,!1);switch(bn.kind){case 209:case 252:return bn.symbol===cx.symbol;case 166:case 165:return e.isObjectLiteralMethod(bn)&&bn.symbol===cx.symbol;case 222:case 253:case 201:return cx.parent&&bn.symbol===cx.parent.symbol&&(32&e.getSyntacticModifierFlags(cx))===Le;case 298:return cx.kind===298&&!e.isExternalModule(cx)&&!p0(W1)}})}).map(function(Yn){return i0(Yn)});return[{definition:{type:3,node:e.firstDefined(Sa,function(Yn){return e.isParameter(Yn.node.parent)?Yn.node:void 0})||en},references:Sa}]}(Ba,dt,Gt);if(Ba.kind===105)return function(en){var ii=e.getSuperContainer(en,!1);if(!!ii){var Tt=32;switch(ii.kind){case 164:case 163:case 166:case 165:case 167:case 168:case 169:Tt&=e.getSyntacticModifierFlags(ii),ii=ii.parent;break;default:return}var bn=ii.getSourceFile(),Le=e.mapDefined(Y0(bn,\"super\",ii),function(Sa){if(Sa.kind===105){var Yn=e.getSuperContainer(Sa,!1);return Yn&&(32&e.getSyntacticModifierFlags(Yn))===Tt&&Yn.parent.symbol===ii.symbol?i0(Sa):void 0}});return[{definition:{type:0,symbol:ii.symbol},references:Le}]}}(Ba)}(C1,O,b1);if(gr)return gr}var Nt=nx.getTypeChecker(),Ir=Nt.getSymbolAtLocation(e.isConstructorDeclaration(C1)&&C1.parent.name||C1);if(Ir){if(Ir.escapedName===\"export=\")return H(nx,Ir.parent,!1,O,me);var xr=w0(Ir,nx,O,b1,Px,me);if(xr&&!(33554432&Ir.flags))return xr;var Bt=l0(C1,Ir,Nt),ar=Bt&&w0(Bt,nx,O,b1,Px,me);return V(nx,xr,V0(Ir,C1,O,me,Nt,b1,Px),ar)}if(!Px.implementations&&e.isStringLiteralLike(C1)){if(e.isModuleSpecifierLike(C1)){var Ni=nx.getFileIncludeReasons(),Kn=(gt=(Re=C1.getSourceFile().resolvedModules)===null||Re===void 0?void 0:Re.get(C1.text))===null||gt===void 0?void 0:gt.resolvedFileName,oi=Kn?nx.getSourceFile(Kn):void 0;if(oi)return[{definition:{type:4,node:C1},references:x0(oi,Ni,nx)||e.emptyArray}]}return function(Ba,dt,Gt,lr){var en=e.getContextualTypeOrAncestorTypeNodeType(Ba,Gt),ii=e.flatMap(dt,function(Tt){return lr.throwIfCancellationRequested(),e.mapDefined(Y0(Tt,Ba.text),function(bn){if(e.isStringLiteralLike(bn)&&bn.text===Ba.text){if(!en)return i0(bn,2);var Le=e.getContextualTypeOrAncestorTypeNodeType(bn,Gt);if(en!==Gt.getStringType()&&en===Le)return i0(bn,2)}})});return[{definition:{type:4,node:Ba},references:ii}]}(C1,O,Nt,b1)}},D0.getReferencesForFileName=function(O0,C1,nx,O){var b1,Px;O===void 0&&(O=new e.Set(nx.map(function(Vt){return Vt.fileName})));var me=(b1=C1.getSourceFile(O0))===null||b1===void 0?void 0:b1.symbol;if(me)return((Px=H(C1,me,!1,nx,O)[0])===null||Px===void 0?void 0:Px.references)||e.emptyArray;var Re=C1.getFileIncludeReasons(),gt=C1.getSourceFile(O0);return gt&&Re&&x0(gt,Re,C1)||e.emptyArray},function(O0){O0[O0.None=0]=\"None\",O0[O0.Constructor=1]=\"Constructor\",O0[O0.Class=2]=\"Class\"}(f0||(f0={}));var y0=function(){function O0(C1,nx,O,b1,Px,me,Re,gt){this.sourceFiles=C1,this.sourceFilesSet=nx,this.specialSearchKind=O,this.checker=b1,this.cancellationToken=Px,this.searchMeaning=me,this.options=Re,this.result=gt,this.inheritsFromCache=new e.Map,this.markSeenContainingTypeReference=e.nodeSeenTracker(),this.markSeenReExportRHS=e.nodeSeenTracker(),this.symbolIdToReferences=[],this.sourceFileToSeenSymbols=[]}return O0.prototype.includesSourceFile=function(C1){return this.sourceFilesSet.has(C1.fileName)},O0.prototype.getImportSearches=function(C1,nx){return this.importTracker||(this.importTracker=s.createImportTracker(this.sourceFiles,this.sourceFilesSet,this.checker,this.cancellationToken)),this.importTracker(C1,nx,this.options.use===2)},O0.prototype.createSearch=function(C1,nx,O,b1){b1===void 0&&(b1={});var Px=b1.text,me=Px===void 0?e.stripQuotes(e.symbolName(e.getLocalSymbolForExportDefault(nx)||function(Vt){if(33555968&Vt.flags){var wr=Vt.declarations&&e.find(Vt.declarations,function(gr){return!e.isSourceFile(gr)&&!e.isModuleDeclaration(gr)});return wr&&wr.symbol}}(nx)||nx)):Px,Re=b1.allSearchSymbols,gt=Re===void 0?[nx]:Re;return{symbol:nx,comingFrom:O,text:me,escapedText:e.escapeLeadingUnderscores(me),parents:this.options.implementations&&C1?function(Vt,wr,gr){var Nt=e.isRightSideOfPropertyAccess(Vt)?Vt.parent:void 0,Ir=Nt&&gr.getTypeAtLocation(Nt.expression),xr=e.mapDefined(Ir&&(Ir.isUnionOrIntersection()?Ir.types:Ir.symbol===wr.parent?void 0:[Ir]),function(Bt){return Bt.symbol&&96&Bt.symbol.flags?Bt.symbol:void 0});return xr.length===0?void 0:xr}(C1,nx,this.checker):void 0,allSearchSymbols:gt,includes:function(Vt){return e.contains(gt,Vt)}}},O0.prototype.referenceAdder=function(C1){var nx=e.getSymbolId(C1),O=this.symbolIdToReferences[nx];return O||(O=this.symbolIdToReferences[nx]=[],this.result.push({definition:{type:0,symbol:C1},references:O})),function(b1,Px){return O.push(i0(b1,Px))}},O0.prototype.addStringOrCommentReference=function(C1,nx){this.result.push({definition:void 0,references:[{kind:0,fileName:C1,textSpan:nx}]})},O0.prototype.markSearchedSymbols=function(C1,nx){for(var O=e.getNodeId(C1),b1=this.sourceFileToSeenSymbols[O]||(this.sourceFileToSeenSymbols[O]=new e.Set),Px=!1,me=0,Re=nx;me<Re.length;me++){var gt=Re[me];Px=e.tryAddToSet(b1,e.getSymbolId(gt))||Px}return Px},O0}();function G0(O0,C1,nx,O){var b1=O.getImportSearches(C1,nx),Px=b1.importSearches,me=b1.singleReferences,Re=b1.indirectUsers;if(me.length)for(var gt=O.referenceAdder(C1),Vt=0,wr=me;Vt<wr.length;Vt++){var gr=wr[Vt];d1(gr,O)&&gt(gr)}for(var Nt=0,Ir=Px;Nt<Ir.length;Nt++){var xr=Ir[Nt],Bt=xr[0],ar=xr[1];Q0(Bt.getSourceFile(),O.createSearch(Bt,ar,1),O)}if(Re.length){var Ni=void 0;switch(nx.exportKind){case 0:Ni=O.createSearch(O0,C1,1);break;case 1:Ni=O.options.use===2?void 0:O.createSearch(O0,C1,1,{text:\"default\"})}if(Ni)for(var Kn=0,oi=Re;Kn<oi.length;Kn++)S1(oi[Kn],Ni,O)}}function d1(O0,C1){return!!k1(O0,C1)&&(C1.options.use!==2||!!e.isIdentifier(O0)&&!(e.isImportOrExportSpecifier(O0.parent)&&O0.escapedText===\"default\"))}function h1(O0,C1){if(O0.declarations)for(var nx=0,O=O0.declarations;nx<O.length;nx++){var b1=O[nx],Px=b1.getSourceFile();Q0(Px,C1.createSearch(b1,O0,0),C1,C1.includesSourceFile(Px))}}function S1(O0,C1,nx){e.getNameTable(O0).get(C1.escapedText)!==void 0&&Q0(O0,C1,nx)}function Q1(O0,C1,nx,O,b1){b1===void 0&&(b1=nx);var Px=e.isParameterPropertyDeclaration(O0.parent,O0.parent.parent)?e.first(C1.getSymbolsOfParameterPropertyDeclaration(O0.parent,O0.text)):C1.getSymbolAtLocation(O0);if(Px)for(var me=0,Re=Y0(nx,Px.name,b1);me<Re.length;me++){var gt=Re[me];if(e.isIdentifier(gt)&&gt!==O0&&gt.escapedText===O0.escapedText){var Vt=C1.getSymbolAtLocation(gt);if(Vt===Px||C1.getShorthandAssignmentValueSymbol(gt.parent)===Px||e.isExportSpecifier(gt.parent)&&G1(gt,Vt,gt.parent,C1)===Px){var wr=O(gt);if(wr)return wr}}}}function Y0(O0,C1,nx){return nx===void 0&&(nx=O0),$1(O0,C1,nx).map(function(O){return e.getTouchingPropertyName(O0,O)})}function $1(O0,C1,nx){nx===void 0&&(nx=O0);var O=[];if(!C1||!C1.length)return O;for(var b1=O0.text,Px=b1.length,me=C1.length,Re=b1.indexOf(C1,nx.pos);Re>=0&&!(Re>nx.end);){var gt=Re+me;Re!==0&&e.isIdentifierPart(b1.charCodeAt(Re-1),99)||gt!==Px&&e.isIdentifierPart(b1.charCodeAt(gt),99)||O.push(Re),Re=b1.indexOf(C1,Re+me+1)}return O}function Z1(O0,C1){var nx=O0.getSourceFile(),O=C1.text,b1=e.mapDefined(Y0(nx,O,O0),function(Px){return Px===C1||e.isJumpStatementTarget(Px)&&e.getTargetLabel(Px,O)===C1?i0(Px):void 0});return[{definition:{type:1,node:C1},references:b1}]}function Q0(O0,C1,nx,O){return O===void 0&&(O=!0),nx.cancellationToken.throwIfCancellationRequested(),y1(O0,O0,C1,nx,O)}function y1(O0,C1,nx,O,b1){if(O.markSearchedSymbols(C1,nx.allSearchSymbols))for(var Px=0,me=$1(C1,nx.text,O0);Px<me.length;Px++)I1(C1,me[Px],nx,O,b1)}function k1(O0,C1){return!!(e.getMeaningFromLocation(O0)&C1.searchMeaning)}function I1(O0,C1,nx,O,b1){var Px=e.getTouchingPropertyName(O0,C1);if(function(Vt,wr){switch(Vt.kind){case 79:case 78:return Vt.text.length===wr.length;case 14:case 10:var gr=Vt;return(e.isLiteralNameOfPropertyDeclarationOrIndexAccess(gr)||e.isNameOfModuleDeclaration(Vt)||e.isExpressionOfExternalModuleImportEqualsDeclaration(Vt)||e.isCallExpression(Vt.parent)&&e.isBindableObjectDefinePropertyCall(Vt.parent)&&Vt.parent.arguments[1]===Vt)&&gr.text.length===wr.length;case 8:return e.isLiteralNameOfPropertyDeclarationOrIndexAccess(Vt)&&Vt.text.length===wr.length;case 87:return\"default\".length===wr.length;default:return!1}}(Px,nx.text)){if(k1(Px,O)){var me=O.checker.getSymbolAtLocation(Px);if(me){var Re=Px.parent;if(!e.isImportSpecifier(Re)||Re.propertyName!==Px){if(e.isExportSpecifier(Re))return e.Debug.assert(Px.kind===78),void K0(Px,me,Re,nx,O,b1);var gt=function(Vt,wr,gr,Nt){var Ir=Nt.checker;return Y1(wr,gr,Ir,!1,Nt.options.use!==2||!!Nt.options.providePrefixAndSuffixTextForRename,function(xr,Bt,ar,Ni){return ar&&N1(wr)!==N1(ar)&&(ar=void 0),Vt.includes(ar||Bt||xr)?{symbol:!Bt||6&e.getCheckFlags(xr)?xr:Bt,kind:Ni}:void 0},function(xr){return!(Vt.parents&&!Vt.parents.some(function(Bt){return U0(xr.parent,Bt,Nt.inheritsFromCache,Ir)}))})}(nx,me,Px,O);if(gt){switch(O.specialSearchKind){case 0:b1&&Nx(Px,gt,O);break;case 1:(function(Vt,wr,gr,Nt){e.isNewExpressionTarget(Vt)&&Nx(Vt,gr.symbol,Nt);var Ir=function(){return Nt.referenceAdder(gr.symbol)};if(e.isClassLike(Vt.parent))e.Debug.assert(Vt.kind===87||Vt.parent.name===Vt),function(Bt,ar,Ni){var Kn=n1(Bt);if(Kn&&Kn.declarations)for(var oi=0,Ba=Kn.declarations;oi<Ba.length;oi++){var dt=Ba[oi],Gt=e.findChildOfKind(dt,132,ar);e.Debug.assert(dt.kind===167&&!!Gt),Ni(Gt)}Bt.exports&&Bt.exports.forEach(function(lr){var en=lr.valueDeclaration;if(en&&en.kind===166){var ii=en.body;ii&&$x(ii,107,function(Tt){e.isNewExpressionTarget(Tt)&&Ni(Tt)})}})}(gr.symbol,wr,Ir());else{var xr=function(Bt){return e.tryGetClassExtendingExpressionWithTypeArguments(e.climbPastPropertyAccess(Bt).parent)}(Vt);xr&&(function(Bt,ar){var Ni=n1(Bt.symbol);if(!(!Ni||!Ni.declarations))for(var Kn=0,oi=Ni.declarations;Kn<oi.length;Kn++){var Ba=oi[Kn];e.Debug.assert(Ba.kind===167);var dt=Ba.body;dt&&$x(dt,105,function(Gt){e.isCallExpressionTarget(Gt)&&ar(Gt)})}}(xr,Ir()),function(Bt,ar){if(!function(oi){return!!n1(oi.symbol)}(Bt)){var Ni=Bt.symbol,Kn=ar.createSearch(void 0,Ni,void 0);t0(Ni,ar,Kn)}}(xr,Nt))}})(Px,O0,nx,O);break;case 2:(function(Vt,wr,gr){Nx(Vt,wr.symbol,gr);var Nt=Vt.parent;if(!(gr.options.use===2||!e.isClassLike(Nt))){e.Debug.assert(Nt.name===Vt);for(var Ir=gr.referenceAdder(wr.symbol),xr=0,Bt=Nt.members;xr<Bt.length;xr++){var ar=Bt[xr];e.isMethodOrAccessor(ar)&&e.hasSyntacticModifier(ar,32)&&ar.body&&ar.body.forEachChild(function Ni(Kn){Kn.kind===107?Ir(Kn):e.isFunctionLike(Kn)||e.isClassLike(Kn)||Kn.forEachChild(Ni)})}}})(Px,nx,O);break;default:e.Debug.assertNever(O.specialSearchKind)}(function(Vt,wr,gr,Nt){var Ir=s.getImportOrExportSymbol(Vt,wr,Nt.checker,gr.comingFrom===1);if(!!Ir){var xr=Ir.symbol;Ir.kind===0?rx(Nt.options)||h1(xr,Nt):G0(Vt,xr,Ir.exportInfo,Nt)}})(Px,me=e.isInJSFile(Px)&&Px.parent.kind===199&&e.isRequireVariableDeclaration(Px.parent)?Px.parent.symbol:me,nx,O)}else(function(Vt,wr,gr){var Nt=Vt.flags,Ir=Vt.valueDeclaration,xr=gr.checker.getShorthandAssignmentValueSymbol(Ir),Bt=Ir&&e.getNameOfDeclaration(Ir);33554432&Nt||!Bt||!wr.includes(xr)||Nx(Bt,xr,gr)})(me,nx,O)}}}}else!O.options.implementations&&(O.options.findInStrings&&e.isInString(O0,C1)||O.options.findInComments&&e.isInNonReferenceComment(O0,C1))&&O.addStringOrCommentReference(O0.fileName,e.createTextSpan(C1,nx.text.length))}function K0(O0,C1,nx,O,b1,Px,me){e.Debug.assert(!me||!!b1.options.providePrefixAndSuffixTextForRename,\"If alwaysGetReferences is true, then prefix/suffix text must be enabled\");var Re=nx.parent,gt=nx.propertyName,Vt=nx.name,wr=Re.parent,gr=G1(O0,C1,nx,b1.checker);if(me||O.includes(gr)){if(gt?O0===gt?(wr.moduleSpecifier||ar(),Px&&b1.options.use!==2&&b1.markSeenReExportRHS(Vt)&&Nx(Vt,e.Debug.checkDefined(nx.symbol),b1)):b1.markSeenReExportRHS(O0)&&ar():b1.options.use===2&&Vt.escapedText===\"default\"||ar(),!rx(b1.options)||me){var Nt=O0.originalKeywordKind===87||nx.name.originalKeywordKind===87?1:0,Ir=e.Debug.checkDefined(nx.symbol),xr=s.getExportInfo(Ir,Nt,b1.checker);xr&&G0(O0,Ir,xr,b1)}if(O.comingFrom!==1&&wr.moduleSpecifier&&!gt&&!rx(b1.options)){var Bt=b1.checker.getExportSpecifierLocalTargetSymbol(nx);Bt&&h1(Bt,b1)}}function ar(){Px&&Nx(O0,gr,b1)}}function G1(O0,C1,nx,O){return function(b1,Px){var me=Px.parent,Re=Px.propertyName,gt=Px.name;return e.Debug.assert(Re===b1||gt===b1),Re?Re===b1:!me.parent.moduleSpecifier}(O0,nx)&&O.getExportSpecifierLocalTargetSymbol(nx)||C1}function Nx(O0,C1,nx){var O=\"kind\"in C1?C1:{kind:void 0,symbol:C1},b1=O.kind,Px=O.symbol,me=nx.referenceAdder(Px);nx.options.implementations?function(Re,gt,Vt){if(e.isDeclarationName(Re)&&function(Bt){return 8388608&Bt.flags?!(e.isInterfaceDeclaration(Bt)||e.isTypeAliasDeclaration(Bt)):e.isVariableLike(Bt)?e.hasInitializer(Bt):e.isFunctionLikeDeclaration(Bt)?!!Bt.body:e.isClassLike(Bt)||e.isModuleOrEnumDeclaration(Bt)}(Re.parent))return void gt(Re);if(Re.kind!==78)return;Re.parent.kind===290&&Ox(Re,Vt.checker,gt);var wr=S0(Re);if(wr)return void gt(wr);var gr=e.findAncestor(Re,function(Bt){return!e.isQualifiedName(Bt.parent)&&!e.isTypeNode(Bt.parent)&&!e.isTypeElement(Bt.parent)}),Nt=gr.parent;if(e.hasType(Nt)&&Nt.type===gr&&Vt.markSeenContainingTypeReference(Nt))if(e.hasInitializer(Nt))xr(Nt.initializer);else if(e.isFunctionLike(Nt)&&Nt.body){var Ir=Nt.body;Ir.kind===231?e.forEachReturnStatement(Ir,function(Bt){Bt.expression&&xr(Bt.expression)}):xr(Ir)}else e.isAssertionExpression(Nt)&&xr(Nt.expression);function xr(Bt){I0(Bt)&&gt(Bt)}}(O0,me,nx):me(O0,b1)}function n1(O0){return O0.members&&O0.members.get(\"__constructor\")}function S0(O0){return e.isIdentifier(O0)||e.isPropertyAccessExpression(O0)?S0(O0.parent):e.isExpressionWithTypeArguments(O0)?e.tryCast(O0.parent.parent,e.isClassLike):void 0}function I0(O0){switch(O0.kind){case 208:return I0(O0.expression);case 210:case 209:case 201:case 222:case 200:return!0;default:return!1}}function U0(O0,C1,nx,O){if(O0===C1)return!0;var b1=e.getSymbolId(O0)+\",\"+e.getSymbolId(C1),Px=nx.get(b1);if(Px!==void 0)return Px;nx.set(b1,!1);var me=!!O0.declarations&&O0.declarations.some(function(Re){return e.getAllSuperTypeNodes(Re).some(function(gt){var Vt=O.getTypeAtLocation(gt);return!!Vt&&!!Vt.symbol&&U0(Vt.symbol,C1,nx,O)})});return nx.set(b1,me),me}function p0(O0){return O0.kind===78&&O0.parent.kind===161&&O0.parent.name===O0}function p1(O0,C1,nx,O,b1,Px){var me=[];return Y1(O0,C1,nx,O,!(O&&b1),function(Re,gt,Vt){Vt&&N1(O0)!==N1(Vt)&&(Vt=void 0),me.push(Vt||gt||Re)},function(){return!Px}),me}function Y1(O0,C1,nx,O,b1,Px,me){var Re=e.getContainingObjectLiteralElement(C1);if(Re){var gt=nx.getShorthandAssignmentValueSymbol(C1.parent);if(gt&&O)return Px(gt,void 0,void 0,3);var Vt=nx.getContextualType(Re.parent),wr=Vt&&e.firstDefined(e.getPropertySymbolsFromContextualType(Re,nx,Vt,!0),function(en){return Gt(en,4)});if(wr)return wr;var gr=function(en,ii){return e.isArrayLiteralOrObjectLiteralDestructuringPattern(en.parent.parent)?ii.getPropertySymbolOfDestructuringAssignment(en):void 0}(C1,nx),Nt=gr&&Px(gr,void 0,void 0,4);if(Nt)return Nt;var Ir=gt&&Px(gt,void 0,void 0,3);if(Ir)return Ir}var xr=l0(C1,O0,nx);if(xr){var Bt=Px(xr,void 0,void 0,1);if(Bt)return Bt}var ar=Gt(O0);if(ar)return ar;if(O0.valueDeclaration&&e.isParameterPropertyDeclaration(O0.valueDeclaration,O0.valueDeclaration.parent)){var Ni=nx.getSymbolsOfParameterPropertyDeclaration(e.cast(O0.valueDeclaration,e.isParameter),O0.name);return e.Debug.assert(Ni.length===2&&!!(1&Ni[0].flags)&&!!(4&Ni[1].flags)),Gt(1&O0.flags?Ni[1]:Ni[0])}var Kn=e.getDeclarationOfKind(O0,271);if(!O||Kn&&!Kn.propertyName){var oi=Kn&&nx.getExportSpecifierLocalTargetSymbol(Kn);if(oi){var Ba=Px(oi,void 0,void 0,1);if(Ba)return Ba}}if(!O){var dt=void 0;return(dt=b1?e.isObjectBindingElementWithoutPropertyName(C1.parent)?e.getPropertySymbolFromBindingElement(nx,C1.parent):void 0:lr(O0,nx))&&Gt(dt,4)}if(e.Debug.assert(O),b1)return(dt=lr(O0,nx))&&Gt(dt,4);function Gt(en,ii){return e.firstDefined(nx.getRootSymbols(en),function(Tt){return Px(en,Tt,void 0,ii)||(Tt.parent&&96&Tt.parent.flags&&me(Tt)?function(bn,Le,Sa,Yn){var W1=new e.Map;return cx(bn);function cx(E1){if(96&E1.flags&&e.addToSeen(W1,e.getSymbolId(E1)))return e.firstDefined(E1.declarations,function(qx){return e.firstDefined(e.getAllSuperTypeNodes(qx),function(xt){var ae=Sa.getTypeAtLocation(xt),Ut=ae&&ae.symbol&&Sa.getPropertyOfType(ae,Le);return ae&&Ut&&(e.firstDefined(Sa.getRootSymbols(Ut),Yn)||cx(ae.symbol))})})}}(Tt.parent,Tt.name,nx,function(bn){return Px(en,Tt,bn,ii)}):void 0)})}function lr(en,ii){var Tt=e.getDeclarationOfKind(en,199);if(Tt&&e.isObjectBindingElementWithoutPropertyName(Tt))return e.getPropertySymbolFromBindingElement(ii,Tt)}}function N1(O0){return!!O0.valueDeclaration&&!!(32&e.getEffectiveModifierFlags(O0.valueDeclaration))}function V1(O0,C1){var nx=e.getMeaningFromLocation(O0),O=C1.declarations;if(O){var b1=void 0;do{b1=nx;for(var Px=0,me=O;Px<me.length;Px++){var Re=me[Px],gt=e.getMeaningFromDeclaration(Re);gt&nx&&(nx|=gt)}}while(nx!==b1)}return nx}function Ox(O0,C1,nx){var O=C1.getSymbolAtLocation(O0),b1=C1.getShorthandAssignmentValueSymbol(O.valueDeclaration);if(b1)for(var Px=0,me=b1.getDeclarations();Px<me.length;Px++){var Re=me[Px];1&e.getMeaningFromDeclaration(Re)&&nx(Re)}}function $x(O0,C1,nx){e.forEachChild(O0,function(O){O.kind===C1&&nx(O),$x(O,C1,nx)})}function rx(O0){return O0.use===2&&O0.providePrefixAndSuffixTextForRename}D0.eachExportReference=function(O0,C1,nx,O,b1,Px,me,Re){for(var gt=s.createImportTracker(O0,new e.Set(O0.map(function(Ba){return Ba.fileName})),C1,nx)(O,{exportKind:me?1:0,exportingModuleSymbol:b1},!1),Vt=gt.importSearches,wr=gt.indirectUsers,gr=0,Nt=Vt;gr<Nt.length;gr++)Re(Nt[gr][0]);for(var Ir=0,xr=wr;Ir<xr.length;Ir++)for(var Bt=0,ar=Y0(xr[Ir],me?\"default\":Px);Bt<ar.length;Bt++){var Ni=ar[Bt],Kn=C1.getSymbolAtLocation(Ni),oi=e.some(Kn==null?void 0:Kn.declarations,function(Ba){return!!e.tryCast(Ba,e.isExportAssignment)});!e.isIdentifier(Ni)||e.isImportOrExportSpecifier(Ni.parent)||Kn!==O&&!oi||Re(Ni)}},D0.isSymbolReferencedInFile=function(O0,C1,nx,O){return O===void 0&&(O=nx),Q1(O0,C1,nx,function(){return!0},O)||!1},D0.eachSymbolReferenceInFile=Q1,D0.someSignatureUsage=function(O0,C1,nx,O){if(!O0.name||!e.isIdentifier(O0.name))return!1;for(var b1=e.Debug.checkDefined(nx.getSymbolAtLocation(O0.name)),Px=0,me=C1;Px<me.length;Px++)for(var Re=0,gt=Y0(me[Px],b1.name);Re<gt.length;Re++){var Vt=gt[Re];if(e.isIdentifier(Vt)&&Vt!==O0.name&&Vt.escapedText===O0.name.escapedText){var wr=e.climbPastPropertyAccess(Vt),gr=e.isCallExpression(wr.parent)&&wr.parent.expression===wr?wr.parent:void 0,Nt=nx.getSymbolAtLocation(Vt);if(Nt&&nx.getRootSymbols(Nt).some(function(Ir){return Ir===b1})&&O(Vt,gr))return!0}}return!1},D0.getIntersectingMeaningFromDeclarations=V1,D0.getReferenceEntriesForShorthandPropertyAssignment=Ox}(s1=s.Core||(s.Core={}))})(e.FindAllReferences||(e.FindAllReferences={}))}(_0||(_0={})),function(e){(function(s){function X(U){return(e.isFunctionExpression(U)||e.isArrowFunction(U)||e.isClassExpression(U))&&e.isVariableDeclaration(U.parent)&&U===U.parent.initializer&&e.isIdentifier(U.parent.name)&&!!(2&e.getCombinedNodeFlags(U.parent))}function J(U){return e.isSourceFile(U)||e.isModuleDeclaration(U)||e.isFunctionDeclaration(U)||e.isFunctionExpression(U)||e.isClassDeclaration(U)||e.isClassExpression(U)||e.isMethodDeclaration(U)||e.isMethodSignature(U)||e.isGetAccessorDeclaration(U)||e.isSetAccessorDeclaration(U)}function m0(U){return e.isSourceFile(U)||e.isModuleDeclaration(U)&&e.isIdentifier(U.name)||e.isFunctionDeclaration(U)||e.isClassDeclaration(U)||e.isMethodDeclaration(U)||e.isMethodSignature(U)||e.isGetAccessorDeclaration(U)||e.isSetAccessorDeclaration(U)||function(g0){return(e.isFunctionExpression(g0)||e.isClassExpression(g0))&&e.isNamedDeclaration(g0)}(U)||X(U)}function s1(U){return e.isSourceFile(U)?U:e.isNamedDeclaration(U)?U.name:X(U)?U.parent.name:e.Debug.checkDefined(U.modifiers&&e.find(U.modifiers,i0))}function i0(U){return U.kind===87}function H0(U,g0){var d0=s1(g0);return d0&&U.getSymbolAtLocation(d0)}function E0(U,g0){if(g0.body)return g0;if(e.isConstructorDeclaration(g0))return e.getFirstConstructorWithBody(g0.parent);if(e.isFunctionDeclaration(g0)||e.isMethodDeclaration(g0)){var d0=H0(U,g0);return d0&&d0.valueDeclaration&&e.isFunctionLikeDeclaration(d0.valueDeclaration)&&d0.valueDeclaration.body?d0.valueDeclaration:void 0}return g0}function I(U,g0){var d0,P0=H0(U,g0);if(P0&&P0.declarations){var c0=e.indicesOf(P0.declarations),D0=e.map(P0.declarations,function(w){return{file:w.getSourceFile().fileName,pos:w.pos}});c0.sort(function(w,H){return e.compareStringsCaseSensitive(D0[w].file,D0[H].file)||D0[w].pos-D0[H].pos});for(var x0=void 0,l0=0,w0=e.map(c0,function(w){return P0.declarations[w]});l0<w0.length;l0++){var V=w0[l0];m0(V)&&(x0&&x0.parent===V.parent&&x0.end===V.pos||(d0=e.append(d0,V)),x0=V)}}return d0}function A(U,g0){var d0,P0,c0;return e.isFunctionLikeDeclaration(g0)?(P0=(d0=E0(U,g0))!==null&&d0!==void 0?d0:I(U,g0))!==null&&P0!==void 0?P0:g0:(c0=I(U,g0))!==null&&c0!==void 0?c0:g0}function Z(U,g0){for(var d0=U.getTypeChecker(),P0=!1;;){if(m0(g0))return A(d0,g0);var c0;if(J(g0))return(c0=e.findAncestor(g0,m0))&&A(d0,c0);if(e.isDeclarationName(g0))return m0(g0.parent)?A(d0,g0.parent):J(g0.parent)?(c0=e.findAncestor(g0.parent,m0))&&A(d0,c0):e.isVariableDeclaration(g0.parent)&&g0.parent.initializer&&X(g0.parent.initializer)?g0.parent.initializer:void 0;if(e.isConstructorDeclaration(g0))return m0(g0.parent)?g0.parent:void 0;if(e.isVariableDeclaration(g0)&&g0.initializer&&X(g0.initializer))return g0.initializer;if(!P0){var D0=d0.getSymbolAtLocation(g0);if(D0&&(2097152&D0.flags&&(D0=d0.getAliasedSymbol(D0)),D0.valueDeclaration)){P0=!0,g0=D0.valueDeclaration;continue}}return}}function A0(U,g0){var d0=g0.getSourceFile(),P0=function(V,w){if(e.isSourceFile(w))return{text:w.fileName,pos:0,end:0};if((e.isFunctionDeclaration(w)||e.isClassDeclaration(w))&&!e.isNamedDeclaration(w)){var H=w.modifiers&&e.find(w.modifiers,i0);if(H)return{text:\"default\",pos:H.getStart(),end:H.getEnd()}}var k0=X(w)?w.parent.name:e.Debug.checkDefined(e.getNameOfDeclaration(w),\"Expected call hierarchy item to have a name\"),V0=e.isIdentifier(k0)?e.idText(k0):e.isStringOrNumericLiteralLike(k0)?k0.text:e.isComputedPropertyName(k0)&&e.isStringOrNumericLiteralLike(k0.expression)?k0.expression.text:void 0;if(V0===void 0){var t0=V.getTypeChecker(),f0=t0.getSymbolAtLocation(k0);f0&&(V0=t0.symbolToString(f0,w))}if(V0===void 0){var y0=e.createPrinter({removeComments:!0,omitTrailingSemicolon:!0});V0=e.usingSingleLineStringWriter(function(G0){return y0.writeNode(4,w,w.getSourceFile(),G0)})}return{text:V0,pos:k0.getStart(),end:k0.getEnd()}}(U,g0),c0=function(V){var w,H;if(X(V))return e.isModuleBlock(V.parent.parent.parent.parent)&&e.isIdentifier(V.parent.parent.parent.parent.parent.name)?V.parent.parent.parent.parent.parent.name.getText():void 0;switch(V.kind){case 168:case 169:case 166:return V.parent.kind===201?(w=e.getAssignedName(V.parent))===null||w===void 0?void 0:w.getText():(H=e.getNameOfDeclaration(V.parent))===null||H===void 0?void 0:H.getText();case 252:case 253:case 257:if(e.isModuleBlock(V.parent)&&e.isIdentifier(V.parent.parent.name))return V.parent.parent.name.getText()}}(g0),D0=e.getNodeKind(g0),x0=e.getNodeModifiers(g0),l0=e.createTextSpanFromBounds(e.skipTrivia(d0.text,g0.getFullStart(),!1,!0),g0.getEnd()),w0=e.createTextSpanFromBounds(P0.pos,P0.end);return{file:d0.fileName,kind:D0,kindModifiers:x0,name:P0.text,containerName:c0,span:l0,selectionSpan:w0}}function o0(U){return U!==void 0}function j(U){if(U.kind===1){var g0=U.node;if(e.isCallOrNewExpressionTarget(g0,!0,!0)||e.isTaggedTemplateTag(g0,!0,!0)||e.isDecoratorTarget(g0,!0,!0)||e.isJsxOpeningLikeElementTagName(g0,!0,!0)||e.isRightSideOfPropertyAccess(g0)||e.isArgumentExpressionOfElementAccess(g0)){var d0=g0.getSourceFile();return{declaration:e.findAncestor(g0,m0)||d0,range:e.createTextRangeFromNode(g0,d0)}}}}function G(U){return e.getNodeId(U.declaration)}function u0(U,g0){var d0=[],P0=function(c0,D0){function x0(l0){var w0=e.isTaggedTemplateExpression(l0)?l0.tag:e.isJsxOpeningLikeElement(l0)?l0.tagName:e.isAccessExpression(l0)?l0:l0.expression,V=Z(c0,w0);if(V){var w=e.createTextRangeFromNode(w0,l0.getSourceFile());if(e.isArray(V))for(var H=0,k0=V;H<k0.length;H++){var V0=k0[H];D0.push({declaration:V0,range:w})}else D0.push({declaration:V,range:w})}}return function l0(w0){if(w0&&!(8388608&w0.flags))if(m0(w0)){if(e.isClassLike(w0))for(var V=0,w=w0.members;V<w.length;V++){var H=w[V];H.name&&e.isComputedPropertyName(H.name)&&l0(H.name.expression)}}else{switch(w0.kind){case 78:case 261:case 262:case 268:case 254:case 255:return;case 207:case 225:return void l0(w0.expression);case 250:case 161:return l0(w0.name),void l0(w0.initializer);case 204:case 205:return x0(w0),l0(w0.expression),void e.forEach(w0.arguments,l0);case 206:return x0(w0),l0(w0.tag),void l0(w0.template);case 276:case 275:return x0(w0),l0(w0.tagName),void l0(w0.attributes);case 162:return x0(w0),void l0(w0.expression);case 202:case 203:x0(w0),e.forEachChild(w0,l0)}e.isPartOfTypeNode(w0)||e.forEachChild(w0,l0)}}}(U,d0);switch(g0.kind){case 298:(function(c0,D0){e.forEach(c0.statements,D0)})(g0,P0);break;case 257:(function(c0,D0){!e.hasSyntacticModifier(c0,2)&&c0.body&&e.isModuleBlock(c0.body)&&e.forEach(c0.body.statements,D0)})(g0,P0);break;case 252:case 209:case 210:case 166:case 168:case 169:(function(c0,D0,x0){var l0=E0(c0,D0);l0&&(e.forEach(l0.parameters,x0),x0(l0.body))})(U.getTypeChecker(),g0,P0);break;case 253:case 222:(function(c0,D0){e.forEach(c0.decorators,D0);var x0=e.getClassExtendsHeritageElement(c0);x0&&D0(x0.expression);for(var l0=0,w0=c0.members;l0<w0.length;l0++){var V=w0[l0];e.forEach(V.decorators,D0),e.isPropertyDeclaration(V)?D0(V.initializer):e.isConstructorDeclaration(V)&&V.body&&(e.forEach(V.parameters,D0),D0(V.body))}})(g0,P0);break;default:e.Debug.assertNever(g0)}return d0}s.resolveCallHierarchyDeclaration=Z,s.createCallHierarchyItem=A0,s.getIncomingCalls=function(U,g0,d0){if(e.isSourceFile(g0)||e.isModuleDeclaration(g0))return[];var P0=s1(g0),c0=e.filter(e.FindAllReferences.findReferenceOrRenameEntries(U,d0,U.getSourceFiles(),P0,0,{use:1},j),o0);return c0?e.group(c0,G,function(D0){return function(x0,l0){return function(w0,V){return{from:w0,fromSpans:V}}(A0(x0,l0[0].declaration),e.map(l0,function(w0){return e.createTextSpanFromRange(w0.range)}))}(U,D0)}):[]},s.getOutgoingCalls=function(U,g0){return 8388608&g0.flags||e.isMethodSignature(g0)?[]:e.group(u0(U,g0),G,function(d0){return function(P0,c0){return D0=A0(P0,c0[0].declaration),x0=e.map(c0,function(l0){return e.createTextSpanFromRange(l0.range)}),{to:D0,fromSpans:x0};var D0,x0}(U,d0)})}})(e.CallHierarchy||(e.CallHierarchy={}))}(_0||(_0={})),function(e){function s(i0,H0,E0,I){var A=E0(i0);return function(Z){var A0=I&&I.tryGetSourcePosition({fileName:Z,pos:0}),o0=function(j){if(E0(j)===A)return H0;var G=e.tryRemoveDirectoryPrefix(j,A,E0);return G===void 0?void 0:H0+\"/\"+G}(A0?A0.fileName:Z);return A0?o0===void 0?void 0:function(j,G,u0,U){var g0=e.getRelativePathFromFile(j,G,U);return X(e.getDirectoryPath(u0),g0)}(A0.fileName,o0,Z,E0):o0}}function X(i0,H0){return e.ensurePathIsNonModuleName(function(E0,I){return e.normalizePath(e.combinePaths(E0,I))}(i0,H0))}function J(i0,H0,E0,I){if(H0){if(H0.resolvedModule){var A=o0(H0.resolvedModule.resolvedFileName);if(A)return A}var Z=e.forEach(H0.failedLookupLocations,function(j){var G=E0(j);return G&&e.find(I,function(u0){return u0.fileName===G})?A0(j):void 0})||e.pathIsRelative(i0.text)&&e.forEach(H0.failedLookupLocations,A0);return Z||H0.resolvedModule&&{newFileName:H0.resolvedModule.resolvedFileName,updated:!1}}function A0(j){return e.endsWith(j,\"/package.json\")?void 0:o0(j)}function o0(j){var G=E0(j);return G&&{newFileName:G,updated:!0}}}function m0(i0,H0){return e.createRange(i0.getStart(H0)+1,i0.end-1)}function s1(i0,H0){if(e.isObjectLiteralExpression(i0))for(var E0=0,I=i0.properties;E0<I.length;E0++){var A=I[E0];e.isPropertyAssignment(A)&&e.isStringLiteral(A.name)&&H0(A,A.name.text)}}e.getEditsForFileRename=function(i0,H0,E0,I,A,Z,A0){var o0=e.hostUsesCaseSensitiveFileNames(I),j=e.createGetCanonicalFileName(o0),G=s(H0,E0,j,A0),u0=s(E0,H0,j,A0);return e.textChanges.ChangeTracker.with({host:I,formatContext:A,preferences:Z},function(U){(function(g0,d0,P0,c0,D0,x0,l0){var w0=g0.getCompilerOptions().configFile;if(!w0)return;var V=e.getDirectoryPath(w0.fileName),w=e.getTsConfigObjectLiteralExpression(w0);if(!w)return;function H(t0){for(var f0=!1,y0=0,G0=e.isArrayLiteralExpression(t0.initializer)?t0.initializer.elements:[t0.initializer];y0<G0.length;y0++)f0=k0(G0[y0])||f0;return f0}function k0(t0){if(!e.isStringLiteral(t0))return!1;var f0=X(V,t0.text),y0=P0(f0);return y0!==void 0&&(d0.replaceRangeWithText(w0,m0(t0,w0),V0(y0)),!0)}function V0(t0){return e.getRelativePathFromDirectory(V,t0,!l0)}s1(w,function(t0,f0){switch(f0){case\"files\":case\"include\":case\"exclude\":if(!H(t0)&&f0===\"include\"&&e.isArrayLiteralExpression(t0.initializer)){var y0=e.mapDefined(t0.initializer.elements,function(d1){return e.isStringLiteral(d1)?d1.text:void 0}),G0=e.getFileMatcherPatterns(V,[],y0,l0,x0);e.getRegexFromPattern(e.Debug.checkDefined(G0.includeFilePattern),l0).test(c0)&&!e.getRegexFromPattern(e.Debug.checkDefined(G0.includeFilePattern),l0).test(D0)&&d0.insertNodeAfter(w0,e.last(t0.initializer.elements),e.factory.createStringLiteral(V0(D0)))}break;case\"compilerOptions\":s1(t0.initializer,function(d1,h1){var S1=e.getOptionFromName(h1);S1&&(S1.isFilePath||S1.type===\"list\"&&S1.element.isFilePath)?H(d1):h1===\"paths\"&&s1(d1.initializer,function(Q1){if(e.isArrayLiteralExpression(Q1.initializer))for(var Y0=0,$1=Q1.initializer.elements;Y0<$1.length;Y0++)k0($1[Y0])})})}})})(i0,U,G,H0,E0,I.getCurrentDirectory(),o0),function(g0,d0,P0,c0,D0,x0){for(var l0=g0.getSourceFiles(),w0=function(H){var k0=P0(H.fileName),V0=k0!=null?k0:H.fileName,t0=e.getDirectoryPath(V0),f0=c0(H.fileName),y0=f0||H.fileName,G0=e.getDirectoryPath(y0),d1=k0!==void 0||f0!==void 0;(function(h1,S1,Q1,Y0){for(var $1=0,Z1=h1.referencedFiles||e.emptyArray;$1<Z1.length;$1++){var Q0=Z1[$1];(I1=Q1(Q0.fileName))!==void 0&&I1!==h1.text.slice(Q0.pos,Q0.end)&&S1.replaceRangeWithText(h1,Q0,I1)}for(var y1=0,k1=h1.imports;y1<k1.length;y1++){var I1,K0=k1[y1];(I1=Y0(K0))!==void 0&&I1!==K0.text&&S1.replaceRangeWithText(h1,m0(K0,h1),I1)}})(H,d0,function(h1){if(e.pathIsRelative(h1)){var S1=X(G0,h1),Q1=P0(S1);return Q1===void 0?void 0:e.ensurePathIsNonModuleName(e.getRelativePathFromDirectory(t0,Q1,x0))}},function(h1){var S1=g0.getTypeChecker().getSymbolAtLocation(h1);if(!(S1==null?void 0:S1.declarations)||!S1.declarations.some(function(Y0){return e.isAmbientModule(Y0)})){var Q1=f0!==void 0?J(h1,e.resolveModuleName(h1.text,y0,g0.getCompilerOptions(),D0),P0,l0):function(Y0,$1,Z1,Q0,y1,k1){if(Y0){var I1=e.find(Y0.declarations,e.isSourceFile).fileName,K0=k1(I1);return K0===void 0?{newFileName:I1,updated:!1}:{newFileName:K0,updated:!0}}return J($1,y1.resolveModuleNames?y1.getResolvedModuleWithFailedLookupLocationsFromCache&&y1.getResolvedModuleWithFailedLookupLocationsFromCache($1.text,Z1.fileName):Q0.getResolvedModuleWithFailedLookupLocationsFromCache($1.text,Z1.fileName),k1,Q0.getSourceFiles())}(S1,h1,H,g0,D0,P0);return Q1!==void 0&&(Q1.updated||d1&&e.pathIsRelative(h1.text))?e.moduleSpecifiers.updateModuleSpecifier(g0.getCompilerOptions(),x0(V0),Q1.newFileName,e.createModuleSpecifierResolutionHost(g0,D0),h1.text):void 0}})},V=0,w=l0;V<w.length;V++)w0(w[V])}(i0,U,G,u0,I,j)})},e.getPathUpdater=s}(_0||(_0={})),function(e){(function(s){function X(o0,j,G){var u0=m0(j,G,o0),U=u0&&[A0(u0.reference.fileName,u0.fileName,u0.unverified)]||e.emptyArray;if(u0==null?void 0:u0.file)return U;var g0=e.getTouchingPropertyName(j,G);if(g0!==j){var d0=g0.parent,P0=o0.getTypeChecker();if(e.isJumpStatementTarget(g0)){var c0=e.getTargetLabel(g0.parent,g0.text);return c0?[E0(P0,c0,\"label\",g0.text,void 0)]:void 0}var D0=function(V0,t0){var f0=t0.getSymbolAtLocation(V0);if((f0==null?void 0:f0.declarations)&&2097152&f0.flags&&function(G0,d1){if(G0.kind!==78)return!1;if(G0.parent===d1)return!0;switch(d1.kind){case 263:case 261:return!0;case 266:return d1.parent.kind===265;case 199:case 250:return e.isInJSFile(d1)&&e.isRequireVariableDeclaration(d1);default:return!1}}(V0,f0.declarations[0])){var y0=t0.getAliasedSymbol(f0);if(y0.declarations)return y0}return f0}(g0,P0);if(!D0)return e.concatenate(U,function(V0,t0){if(!(!e.isPropertyAccessExpression(V0.parent)||V0.parent.name!==V0)){var f0=t0.getTypeAtLocation(V0.parent.expression);return e.mapDefined(f0.isUnionOrIntersection()?f0.types:[f0],function(y0){var G0=t0.getIndexInfoOfType(y0,0);return G0&&G0.declaration&&A(t0,G0.declaration)})}}(g0,P0));var x0=function(V0,t0){var f0=function(G0){var d1=e.findAncestor(G0,function(S1){return!e.isRightSideOfPropertyAccess(S1)}),h1=d1==null?void 0:d1.parent;return h1&&e.isCallLikeExpression(h1)&&e.getInvokedExpression(h1)===d1?h1:void 0}(t0),y0=f0&&V0.getResolvedSignature(f0);return e.tryCast(y0&&y0.declaration,function(G0){return e.isFunctionLike(G0)&&!e.isFunctionTypeNode(G0)})}(P0,g0);if(x0&&(!e.isJsxOpeningLikeElement(g0.parent)||!function(V0){switch(V0.kind){case 167:case 176:case 171:return!0;default:return!1}}(x0))){var l0=A(P0,x0);if(P0.getRootSymbols(D0).some(function(V0){return function(t0,f0){return t0===f0.symbol||t0===f0.symbol.parent||e.isAssignmentExpression(f0.parent)||!e.isCallLikeExpression(f0.parent)&&t0===f0.parent.symbol}(V0,x0)}))return[l0];var w0=i0(P0,D0,g0,x0)||e.emptyArray;return g0.kind===105?D([l0],w0):D(D([],w0),[l0])}if(g0.parent.kind===290){var V=P0.getShorthandAssignmentValueSymbol(D0.valueDeclaration),w=(V==null?void 0:V.declarations)?V.declarations.map(function(V0){return H0(V0,P0,V,g0)}):e.emptyArray;return e.concatenate(w,J(P0,g0)||e.emptyArray)}if(e.isPropertyName(g0)&&e.isBindingElement(d0)&&e.isObjectBindingPattern(d0.parent)&&g0===(d0.propertyName||d0.name)){var H=e.getNameFromPropertyName(g0),k0=P0.getTypeAtLocation(d0.parent);return H===void 0?e.emptyArray:e.flatMap(k0.isUnion()?k0.types:[k0],function(V0){var t0=V0.getProperty(H);return t0&&i0(P0,t0,g0)})}return e.concatenate(U,J(P0,g0)||i0(P0,D0,g0))}}function J(o0,j){var G=e.getContainingObjectLiteralElement(j);if(G){var u0=G&&o0.getContextualType(G.parent);if(u0)return e.flatMap(e.getPropertySymbolsFromContextualType(G,o0,u0,!1),function(U){return i0(o0,U,j)})}}function m0(o0,j,G){var u0,U,g0=Z(o0.referencedFiles,j);if(g0)return(c0=G.getSourceFileFromReference(o0,g0))&&{reference:g0,fileName:c0.fileName,file:c0,unverified:!1};var d0=Z(o0.typeReferenceDirectives,j);if(d0){var P0=G.getResolvedTypeReferenceDirectives().get(d0.fileName);return(c0=P0&&G.getSourceFile(P0.resolvedFileName))&&{reference:d0,fileName:c0.fileName,file:c0,unverified:!1}}var c0,D0=Z(o0.libReferenceDirectives,j);if(D0)return(c0=G.getLibFileFromReference(D0))&&{reference:D0,fileName:c0.fileName,file:c0,unverified:!1};if((u0=o0.resolvedModules)===null||u0===void 0?void 0:u0.size){var x0=e.getTokenAtPosition(o0,j);if(e.isModuleSpecifierLike(x0)&&e.isExternalModuleNameRelative(x0.text)&&o0.resolvedModules.has(x0.text)){var l0=(U=o0.resolvedModules.get(x0.text))===null||U===void 0?void 0:U.resolvedFileName,w0=l0||e.resolvePath(e.getDirectoryPath(o0.fileName),x0.text);return{file:G.getSourceFile(w0),fileName:w0,reference:{pos:x0.getStart(),end:x0.getEnd(),fileName:x0.text},unverified:!l0}}}}function s1(o0,j,G){return e.flatMap(!o0.isUnion()||32&o0.flags?[o0]:o0.types,function(u0){return u0.symbol&&i0(j,u0.symbol,G)})}function i0(o0,j,G,u0){var U=e.filter(j.declarations,function(d0){return d0!==u0&&(!e.isAssignmentDeclaration(d0)||d0===j.valueDeclaration)})||void 0;return function(){if(32&j.flags&&!(19&j.flags)&&(e.isNewExpressionTarget(G)||G.kind===132))return g0((e.find(U,e.isClassLike)||e.Debug.fail(\"Expected declaration to have at least one class-like declaration\")).members,!0)}()||(e.isCallOrNewExpressionTarget(G)||e.isNameOfFunctionDeclaration(G)?g0(U,!1):void 0)||e.map(U,function(d0){return H0(d0,o0,j,G)});function g0(d0,P0){if(d0){var c0=d0.filter(P0?e.isConstructorDeclaration:e.isFunctionLike),D0=c0.filter(function(x0){return!!x0.body});return c0.length?D0.length!==0?D0.map(function(x0){return H0(x0,o0,j,G)}):[H0(e.last(c0),o0,j,G)]:void 0}}}function H0(o0,j,G,u0){var U=j.symbolToString(G),g0=e.SymbolDisplay.getSymbolKind(j,G,u0),d0=G.parent?j.symbolToString(G.parent,u0):\"\";return E0(j,o0,g0,U,d0)}function E0(o0,j,G,u0,U){var g0=e.getNameOfDeclaration(j)||j,d0=g0.getSourceFile(),P0=e.createTextSpanFromNode(g0,d0);return $($({fileName:d0.fileName,textSpan:P0,kind:G,name:u0,containerKind:void 0,containerName:U},e.FindAllReferences.toContextSpan(P0,d0,e.FindAllReferences.getContextNode(j))),{isLocal:!I(o0,j)})}function I(o0,j){if(o0.isDeclarationVisible(j))return!0;if(!j.parent)return!1;if(e.hasInitializer(j.parent)&&j.parent.initializer===j)return I(o0,j.parent);switch(j.kind){case 164:case 168:case 169:case 166:if(e.hasEffectiveModifier(j,8))return!1;case 167:case 289:case 290:case 201:case 222:case 210:case 209:return I(o0,j.parent);default:return!1}}function A(o0,j){return H0(j,o0,j.symbol,j)}function Z(o0,j){return e.find(o0,function(G){return e.textRangeContainsPositionInclusive(G,j)})}function A0(o0,j,G){return{fileName:j,textSpan:e.createTextSpanFromBounds(0,0),kind:\"script\",name:o0,containerName:void 0,containerKind:void 0,unverified:G}}s.getDefinitionAtPosition=X,s.getReferenceAtPosition=m0,s.getTypeDefinitionAtPosition=function(o0,j,G){var u0=e.getTouchingPropertyName(j,G);if(u0!==j){var U=o0.getSymbolAtLocation(u0);if(U){var g0=o0.getTypeOfSymbolAtLocation(U,u0),d0=function(c0,D0,x0){if(D0.symbol===c0||c0.valueDeclaration&&D0.symbol&&e.isVariableDeclaration(c0.valueDeclaration)&&c0.valueDeclaration.initializer===D0.symbol.valueDeclaration){var l0=D0.getCallSignatures();if(l0.length===1)return x0.getReturnTypeOfSignature(e.first(l0))}}(U,g0,o0),P0=d0&&s1(d0,o0,u0);return P0&&P0.length!==0?P0:s1(g0,o0,u0)}}},s.getDefinitionAndBoundSpan=function(o0,j,G){var u0=X(o0,j,G);if(u0&&u0.length!==0){var U=Z(j.referencedFiles,G)||Z(j.typeReferenceDirectives,G)||Z(j.libReferenceDirectives,G);if(U)return{definitions:u0,textSpan:e.createTextSpanFromRange(U)};var g0=e.getTouchingPropertyName(j,G);return{definitions:u0,textSpan:e.createTextSpan(g0.getStart(),g0.getWidth())}}},s.findReferenceInPosition=Z})(e.GoToDefinition||(e.GoToDefinition={}))}(_0||(_0={})),function(e){(function(s){var X,J,m0=[\"abstract\",\"access\",\"alias\",\"argument\",\"async\",\"augments\",\"author\",\"borrows\",\"callback\",\"class\",\"classdesc\",\"constant\",\"constructor\",\"constructs\",\"copyright\",\"default\",\"deprecated\",\"description\",\"emits\",\"enum\",\"event\",\"example\",\"exports\",\"extends\",\"external\",\"field\",\"file\",\"fileoverview\",\"fires\",\"function\",\"generator\",\"global\",\"hideconstructor\",\"host\",\"ignore\",\"implements\",\"inheritdoc\",\"inner\",\"instance\",\"interface\",\"kind\",\"lends\",\"license\",\"link\",\"listens\",\"member\",\"memberof\",\"method\",\"mixes\",\"module\",\"name\",\"namespace\",\"override\",\"package\",\"param\",\"private\",\"property\",\"protected\",\"public\",\"readonly\",\"requires\",\"returns\",\"see\",\"since\",\"static\",\"summary\",\"template\",\"this\",\"throws\",\"todo\",\"tutorial\",\"type\",\"typedef\",\"var\",\"variation\",\"version\",\"virtual\",\"yields\"];function s1(Z,A0){return e.arraysEqual(Z,A0,function(o0,j){return o0.kind===j.kind&&o0.text===j.text})}function i0(Z,A0){return typeof Z==\"string\"?[e.textPart(Z)]:e.flatMap(Z,function(o0){return o0.kind===313?[e.textPart(o0.text)]:e.buildLinkParts(o0,A0)})}function H0(Z,A0){var o0=Z.comment,j=Z.kind,G=function(d0){switch(d0){case 330:return e.parameterNamePart;case 337:return e.propertyNamePart;case 334:return e.typeParameterNamePart;case 335:case 328:return e.typeAliasNamePart;default:return e.textPart}}(j);switch(j){case 319:case 318:return U(Z.class);case 334:return g0(Z.typeParameters.map(function(d0){return d0.getText()}).join(\", \"));case 333:return U(Z.typeExpression);case 335:case 328:case 337:case 330:case 336:var u0=Z.name;return u0?U(u0):o0===void 0?void 0:i0(o0,A0);default:return o0===void 0?void 0:i0(o0,A0)}function U(d0){return g0(d0.getText())}function g0(d0){return o0?d0.match(/^https?$/)?D([e.textPart(d0)],i0(o0,A0)):D([G(d0),e.spacePart()],i0(o0,A0)):[e.textPart(d0)]}}function E0(Z){return{name:Z,kind:\"\",kindModifiers:\"\",displayParts:[e.textPart(Z)],documentation:e.emptyArray,tags:void 0,codeActions:void 0}}function I(Z,A0){switch(Z.kind){case 252:case 209:case 166:case 167:case 165:case 210:var o0=Z;return{commentOwner:Z,parameters:o0.parameters,hasReturn:A(o0,A0)};case 289:return I(Z.initializer,A0);case 253:case 254:case 163:case 256:case 292:case 255:return{commentOwner:Z};case 233:var j=Z.declarationList.declarations,G=j.length===1&&j[0].initializer?function(g0){for(;g0.kind===208;)g0=g0.expression;switch(g0.kind){case 209:case 210:return g0;case 222:return e.find(g0.members,e.isConstructorDeclaration)}}(j[0].initializer):void 0;return G?{commentOwner:Z,parameters:G.parameters,hasReturn:A(G,A0)}:{commentOwner:Z};case 298:return\"quit\";case 257:return Z.parent.kind===257?void 0:{commentOwner:Z};case 234:return I(Z.expression,A0);case 217:var u0=Z;return e.getAssignmentDeclarationKind(u0)===0?\"quit\":e.isFunctionLike(u0.right)?{commentOwner:Z,parameters:u0.right.parameters,hasReturn:A(u0.right,A0)}:{commentOwner:Z};case 164:var U=Z.initializer;if(U&&(e.isFunctionExpression(U)||e.isArrowFunction(U)))return{commentOwner:Z,parameters:U.parameters,hasReturn:A(U,A0)}}}function A(Z,A0){return!!(A0==null?void 0:A0.generateReturnInDocTemplate)&&(e.isArrowFunction(Z)&&e.isExpression(Z.body)||e.isFunctionLikeDeclaration(Z)&&Z.body&&e.isBlock(Z.body)&&!!e.forEachReturnStatement(Z.body,function(o0){return o0}))}s.getJsDocCommentsFromDeclarations=function(Z,A0){var o0=[];return e.forEachUnique(Z,function(j){for(var G=0,u0=function(d0){switch(d0.kind){case 330:case 337:return[d0];case 328:case 335:return[d0,d0.parent];default:return e.getJSDocCommentsAndTags(d0)}}(j);G<u0.length;G++){var U=u0[G].comment;if(U!==void 0){var g0=i0(U,A0);e.contains(o0,g0,s1)||o0.push(g0)}}}),e.flatten(e.intersperse(o0,[e.lineBreakPart()]))},s.getJsDocTagsFromDeclarations=function(Z,A0){var o0=[];return e.forEachUnique(Z,function(j){for(var G=0,u0=e.getJSDocTags(j);G<u0.length;G++){var U=u0[G];o0.push({name:U.tagName.text,text:H0(U,A0)})}}),o0},s.getJSDocTagNameCompletions=function(){return X||(X=e.map(m0,function(Z){return{name:Z,kind:\"keyword\",kindModifiers:\"\",sortText:e.Completions.SortText.LocationPriority}}))},s.getJSDocTagNameCompletionDetails=E0,s.getJSDocTagCompletions=function(){return J||(J=e.map(m0,function(Z){return{name:\"@\"+Z,kind:\"keyword\",kindModifiers:\"\",sortText:e.Completions.SortText.LocationPriority}}))},s.getJSDocTagCompletionDetails=E0,s.getJSDocParameterNameCompletions=function(Z){if(!e.isIdentifier(Z.name))return e.emptyArray;var A0=Z.name.text,o0=Z.parent,j=o0.parent;return e.isFunctionLike(j)?e.mapDefined(j.parameters,function(G){if(e.isIdentifier(G.name)){var u0=G.name.text;if(!o0.tags.some(function(U){return U!==Z&&e.isJSDocParameterTag(U)&&e.isIdentifier(U.name)&&U.name.escapedText===u0})&&(A0===void 0||e.startsWith(u0,A0)))return{name:u0,kind:\"parameter\",kindModifiers:\"\",sortText:e.Completions.SortText.LocationPriority}}}):[]},s.getJSDocParameterNameCompletionDetails=function(Z){return{name:Z,kind:\"parameter\",kindModifiers:\"\",displayParts:[e.textPart(Z)],documentation:e.emptyArray,tags:void 0,codeActions:void 0}},s.getDocCommentTemplateAtPosition=function(Z,A0,o0,j){var G=e.getTokenAtPosition(A0,o0),u0=e.findAncestor(G,e.isJSDoc);if(!u0||u0.comment===void 0&&!e.length(u0.tags)){var U=G.getStart(A0);if(u0||!(U<o0)){var g0=function(V,w){return e.forEachAncestor(V,function(H){return I(H,w)})}(G,j);if(g0){var d0=g0.commentOwner,P0=g0.parameters,c0=g0.hasReturn;if(!(d0.getStart(A0)<o0)){var D0=function(V,w){for(var H=V.text,k0=e.getLineStartPositionForPosition(w,V),V0=k0;V0<=w&&e.isWhiteSpaceSingleLine(H.charCodeAt(V0));V0++);return H.slice(k0,V0)}(A0,o0),x0=e.hasJSFileExtension(A0.fileName),l0=(P0?function(V,w,H,k0){return V.map(function(V0,t0){var f0=V0.name,y0=V0.dotDotDotToken,G0=f0.kind===78?f0.text:\"param\"+t0;return H+\" * @param \"+(w?y0?\"{...any} \":\"{any} \":\"\")+G0+k0}).join(\"\")}(P0||[],x0,D0,Z):\"\")+(c0?function(V,w){return V+\" * @returns\"+w}(D0,Z):\"\");if(l0){var w0=\"/**\"+Z+D0+\" * \";return{newText:w0+Z+l0+D0+\" */\"+(U===o0?Z+D0:\"\"),caretOffset:w0.length}}return{newText:\"/** */\",caretOffset:3}}}}}}})(e.JsDoc||(e.JsDoc={}))}(_0||(_0={})),function(e){(function(s){function X(I,A){switch(I.kind){case 263:case 266:case 261:var Z=A.getSymbolAtLocation(I.name),A0=A.getAliasedSymbol(Z);return Z.escapedName!==A0.escapedName;default:return!0}}function J(I,A){var Z=e.getNameOfDeclaration(I);return!!Z&&(s1(Z,A)||Z.kind===159&&m0(Z.expression,A))}function m0(I,A){return s1(I,A)||e.isPropertyAccessExpression(I)&&(A.push(I.name.text),!0)&&m0(I.expression,A)}function s1(I,A){return e.isPropertyNameLiteral(I)&&(A.push(e.getTextOfIdentifierOrLiteral(I)),!0)}function i0(I){var A=[],Z=e.getNameOfDeclaration(I);if(Z&&Z.kind===159&&!m0(Z.expression,A))return e.emptyArray;A.shift();for(var A0=e.getContainerNode(I);A0;){if(!J(A0,A))return e.emptyArray;A0=e.getContainerNode(A0)}return A.reverse()}function H0(I,A){return e.compareValues(I.matchKind,A.matchKind)||e.compareStringsCaseSensitiveUI(I.name,A.name)}function E0(I){var A=I.declaration,Z=e.getContainerNode(A),A0=Z&&e.getNameOfDeclaration(Z);return{name:I.name,kind:e.getNodeKind(A),kindModifiers:e.getNodeModifiers(A),matchKind:e.PatternMatchKind[I.matchKind],isCaseSensitive:I.isCaseSensitive,fileName:I.fileName,textSpan:e.createTextSpanFromNode(A),containerName:A0?A0.text:\"\",containerKind:A0?e.getNodeKind(Z):\"\"}}s.getNavigateToItems=function(I,A,Z,A0,o0,j){var G=e.createPatternMatcher(A0);if(!G)return e.emptyArray;for(var u0=[],U=function(P0){if(Z.throwIfCancellationRequested(),j&&P0.isDeclarationFile)return\"continue\";P0.getNamedDeclarations().forEach(function(c0,D0){(function(x0,l0,w0,V,w,H){var k0=x0.getMatchForLastSegmentOfPattern(l0);if(!!k0)for(var V0=0,t0=w0;V0<t0.length;V0++){var f0=t0[V0];if(X(f0,V))if(x0.patternContainsDots){var y0=x0.getFullMatch(i0(f0),l0);y0&&H.push({name:l0,fileName:w,matchKind:y0.kind,isCaseSensitive:y0.isCaseSensitive,declaration:f0})}else H.push({name:l0,fileName:w,matchKind:k0.kind,isCaseSensitive:k0.isCaseSensitive,declaration:f0})}})(G,D0,c0,A,P0.fileName,u0)})},g0=0,d0=I;g0<d0.length;g0++)U(d0[g0]);return u0.sort(H0),(o0===void 0?u0:u0.slice(0,o0)).map(E0)}})(e.NavigateTo||(e.NavigateTo={}))}(_0||(_0={})),function(e){(function(s){var X,J,m0,s1,i0,H0=/\\s+/g,E0=[],I=[],A=[];function Z(){m0=void 0,J=void 0,E0=[],s1=void 0,A=[]}function A0(n1){return Nx(n1.getText(m0))}function o0(n1){return n1.node.kind}function j(n1,S0){n1.children?n1.children.push(S0):n1.children=[S0]}function G(n1){e.Debug.assert(!E0.length);var S0={node:n1,name:void 0,additionalNodes:void 0,parent:void 0,children:void 0,indent:0};s1=S0;for(var I0=0,U0=n1.statements;I0<U0.length;I0++)V(U0[I0]);return D0(),e.Debug.assert(!s1&&!E0.length),S0}function u0(n1,S0){j(s1,U(n1,S0))}function U(n1,S0){return{node:n1,name:S0||(e.isDeclaration(n1)||e.isExpression(n1)?e.getNameOfDeclaration(n1):void 0),additionalNodes:void 0,parent:s1,children:void 0,indent:s1.indent+1}}function g0(n1){i0||(i0=new e.Map),i0.set(n1,!0)}function d0(n1){for(var S0=0;S0<n1;S0++)D0()}function P0(n1,S0){for(var I0=[];!e.isPropertyNameLiteral(S0);){var U0=e.getNameOrArgument(S0),p0=e.getElementOrPropertyAccessName(S0);S0=S0.expression,p0===\"prototype\"||e.isPrivateIdentifier(U0)||I0.push(U0)}I0.push(S0);for(var p1=I0.length-1;p1>0;p1--)c0(n1,U0=I0[p1]);return[I0.length-1,I0[0]]}function c0(n1,S0){var I0=U(n1,S0);j(s1,I0),E0.push(s1),I.push(i0),i0=void 0,s1=I0}function D0(){s1.children&&(w(s1.children,s1),y0(s1.children)),s1=E0.pop(),i0=I.pop()}function x0(n1,S0,I0){c0(n1,I0),V(S0),D0()}function l0(n1){n1.initializer&&function(S0){switch(S0.kind){case 210:case 209:case 222:return!0;default:return!1}}(n1.initializer)?(c0(n1),e.forEachChild(n1.initializer,V),D0()):x0(n1,n1.initializer)}function w0(n1){return!e.hasDynamicName(n1)||n1.kind!==217&&e.isPropertyAccessExpression(n1.name.expression)&&e.isIdentifier(n1.name.expression.expression)&&e.idText(n1.name.expression.expression)===\"Symbol\"}function V(n1){var S0;if(J.throwIfCancellationRequested(),n1&&!e.isToken(n1))switch(n1.kind){case 167:var I0=n1;x0(I0,I0.body);for(var U0=0,p0=I0.parameters;U0<p0.length;U0++){var p1=p0[U0];e.isParameterPropertyDeclaration(p1,I0)&&u0(p1)}break;case 166:case 168:case 169:case 165:w0(n1)&&x0(n1,n1.body);break;case 164:w0(n1)&&l0(n1);break;case 163:w0(n1)&&u0(n1);break;case 263:var Y1=n1;Y1.name&&u0(Y1.name);var N1=Y1.namedBindings;if(N1)if(N1.kind===264)u0(N1);else for(var V1=0,Ox=N1.elements;V1<Ox.length;V1++)u0(Ox[V1]);break;case 290:x0(n1,n1.name);break;case 291:var $x=n1.expression;e.isIdentifier($x)?u0(n1,$x):u0(n1);break;case 199:case 289:case 250:var rx=n1;e.isBindingPattern(rx.name)?V(rx.name):l0(rx);break;case 252:var O0=n1.name;O0&&e.isIdentifier(O0)&&g0(O0.text),x0(n1,n1.body);break;case 210:case 209:x0(n1,n1.body);break;case 256:c0(n1);for(var C1=0,nx=n1.members;C1<nx.length;C1++)y1(Px=nx[C1])||u0(Px);D0();break;case 253:case 222:case 254:c0(n1);for(var O=0,b1=n1.members;O<b1.length;O++){var Px;V(Px=b1[O])}D0();break;case 257:x0(n1,Q0(n1).body);break;case 267:var me=n1.expression;(rx=e.isObjectLiteralExpression(me)||e.isCallExpression(me)?me:e.isArrowFunction(me)||e.isFunctionExpression(me)?me.body:void 0)?(c0(n1),V(rx),D0()):u0(n1);break;case 271:case 261:case 172:case 170:case 171:case 255:u0(n1);break;case 204:case 217:var Re=e.getAssignmentDeclarationKind(n1);switch(Re){case 1:case 2:return void x0(n1,n1.right);case 6:case 3:var gt=(Bt=n1).left,Vt=Re===3?gt.expression:gt,wr=0,gr=void 0;return e.isIdentifier(Vt.expression)?(g0(Vt.expression.text),gr=Vt.expression):(wr=(S0=P0(Bt,Vt.expression))[0],gr=S0[1]),Re===6?e.isObjectLiteralExpression(Bt.right)&&Bt.right.properties.length>0&&(c0(Bt,gr),e.forEachChild(Bt.right,V),D0()):e.isFunctionExpression(Bt.right)||e.isArrowFunction(Bt.right)?x0(n1,Bt.right,gr):(c0(Bt,gr),x0(n1,Bt.right,gt.name),D0()),void d0(wr);case 7:case 9:var Nt=n1,Ir=(gr=Re===7?Nt.arguments[0]:Nt.arguments[0].expression,Nt.arguments[1]),xr=P0(n1,gr);return wr=xr[0],c0(n1,xr[1]),c0(n1,e.setTextRange(e.factory.createIdentifier(Ir.text),Ir)),V(n1.arguments[2]),D0(),D0(),void d0(wr);case 5:var Bt,ar=(gt=(Bt=n1).left).expression;if(e.isIdentifier(ar)&&e.getElementOrPropertyAccessName(gt)!==\"prototype\"&&i0&&i0.has(ar.text))return void(e.isFunctionExpression(Bt.right)||e.isArrowFunction(Bt.right)?x0(n1,Bt.right,ar):e.isBindableStaticAccessExpression(gt)&&(c0(Bt,ar),x0(Bt.left,Bt.right,e.getNameOrArgument(gt)),D0()));break;case 4:case 0:case 8:break;default:e.Debug.assertNever(Re)}default:e.hasJSDocNodes(n1)&&e.forEach(n1.jsDoc,function(Ni){e.forEach(Ni.tags,function(Kn){e.isJSDocTypeAlias(Kn)&&u0(Kn)})}),e.forEachChild(n1,V)}}function w(n1,S0){var I0=new e.Map;e.filterMutate(n1,function(U0,p0){var p1=U0.name||e.getNameOfDeclaration(U0.node),Y1=p1&&A0(p1);if(!Y1)return!0;var N1=I0.get(Y1);if(!N1)return I0.set(Y1,U0),!0;if(N1 instanceof Array){for(var V1=0,Ox=N1;V1<Ox.length;V1++){var $x;if(k0($x=Ox[V1],U0,p0,S0))return!1}return N1.push(U0),!0}return!k0($x=N1,U0,p0,S0)&&(I0.set(Y1,[$x,U0]),!0)})}s.getNavigationBarItems=function(n1,S0){J=S0,m0=n1;try{return e.map(function(I0){var U0=[];function p0(Y1){if(p1(Y1)&&(U0.push(Y1),Y1.children))for(var N1=0,V1=Y1.children;N1<V1.length;N1++)p0(V1[N1])}return p0(I0),U0;function p1(Y1){if(Y1.children)return!0;switch(o0(Y1)){case 253:case 222:case 256:case 254:case 257:case 298:case 255:case 335:case 328:return!0;case 210:case 252:case 209:return N1(Y1);default:return!1}function N1(V1){if(!V1.node.body)return!1;switch(o0(V1.parent)){case 258:case 298:case 166:case 167:return!0;default:return!1}}}}(G(n1)),Q1)}finally{Z()}},s.getNavigationTree=function(n1,S0){J=S0,m0=n1;try{return S1(G(n1))}finally{Z()}};var H=((X={})[5]=!0,X[3]=!0,X[7]=!0,X[9]=!0,X[0]=!1,X[1]=!1,X[2]=!1,X[8]=!1,X[6]=!0,X[4]=!1,X);function k0(n1,S0,I0,U0){return!!function(p0,p1,Y1,N1){function V1(O){return e.isFunctionExpression(O)||e.isFunctionDeclaration(O)||e.isVariableDeclaration(O)}var Ox=e.isBinaryExpression(p1.node)||e.isCallExpression(p1.node)?e.getAssignmentDeclarationKind(p1.node):0,$x=e.isBinaryExpression(p0.node)||e.isCallExpression(p0.node)?e.getAssignmentDeclarationKind(p0.node):0;if(H[Ox]&&H[$x]||V1(p0.node)&&H[Ox]||V1(p1.node)&&H[$x]||e.isClassDeclaration(p0.node)&&V0(p0.node)&&H[Ox]||e.isClassDeclaration(p1.node)&&H[$x]||e.isClassDeclaration(p0.node)&&V0(p0.node)&&V1(p1.node)||e.isClassDeclaration(p1.node)&&V1(p0.node)&&V0(p0.node)){var rx=p0.additionalNodes&&e.lastOrUndefined(p0.additionalNodes)||p0.node;if(!e.isClassDeclaration(p0.node)&&!e.isClassDeclaration(p1.node)||V1(p0.node)||V1(p1.node)){var O0=V1(p0.node)?p0.node:V1(p1.node)?p1.node:void 0;if(O0!==void 0){var C1=U(e.setTextRange(e.factory.createConstructorDeclaration(void 0,void 0,[],void 0),O0));C1.indent=p0.indent+1,C1.children=p0.node===O0?p0.children:p1.children,p0.children=p0.node===O0?e.concatenate([C1],p1.children||[p1]):e.concatenate(p0.children||[$({},p0)],[C1])}else(p0.children||p1.children)&&(p0.children=e.concatenate(p0.children||[$({},p0)],p1.children||[p1]),p0.children&&(w(p0.children,p0),y0(p0.children)));rx=p0.node=e.setTextRange(e.factory.createClassDeclaration(void 0,void 0,p0.name||e.factory.createIdentifier(\"__class__\"),void 0,void 0,[]),p0.node)}else p0.children=e.concatenate(p0.children,p1.children),p0.children&&w(p0.children,p0);var nx=p1.node;return N1.children[Y1-1].node.end===rx.end?e.setTextRange(rx,{pos:rx.pos,end:nx.end}):(p0.additionalNodes||(p0.additionalNodes=[]),p0.additionalNodes.push(e.setTextRange(e.factory.createClassDeclaration(void 0,void 0,p0.name||e.factory.createIdentifier(\"__class__\"),void 0,void 0,[]),p1.node))),!0}return Ox!==0}(n1,S0,I0,U0)||!!function(p0,p1,Y1){if(p0.kind!==p1.kind||p0.parent!==p1.parent&&(!t0(p0,Y1)||!t0(p1,Y1)))return!1;switch(p0.kind){case 164:case 166:case 168:case 169:return e.hasSyntacticModifier(p0,32)===e.hasSyntacticModifier(p1,32);case 257:return f0(p0,p1)&&Z1(p0)===Z1(p1);default:return!0}}(n1.node,S0.node,U0)&&(function(p0,p1){var Y1;p0.additionalNodes=p0.additionalNodes||[],p0.additionalNodes.push(p1.node),p1.additionalNodes&&(Y1=p0.additionalNodes).push.apply(Y1,p1.additionalNodes),p0.children=e.concatenate(p0.children,p1.children),p0.children&&(w(p0.children,p0),y0(p0.children))}(n1,S0),!0)}function V0(n1){return!!(8&n1.flags)}function t0(n1,S0){var I0=e.isModuleBlock(n1.parent)?n1.parent.parent:n1.parent;return I0===S0.node||e.contains(S0.additionalNodes,I0)}function f0(n1,S0){return n1.body.kind===S0.body.kind&&(n1.body.kind!==257||f0(n1.body,S0.body))}function y0(n1){n1.sort(G0)}function G0(n1,S0){return e.compareStringsCaseSensitiveUI(d1(n1.node),d1(S0.node))||e.compareValues(o0(n1),o0(S0))}function d1(n1){if(n1.kind===257)return $1(n1);var S0=e.getNameOfDeclaration(n1);if(S0&&e.isPropertyName(S0)){var I0=e.getPropertyNameForPropertyNameNode(S0);return I0&&e.unescapeLeadingUnderscores(I0)}switch(n1.kind){case 209:case 210:case 222:return K0(n1);default:return}}function h1(n1,S0){if(n1.kind===257)return Nx($1(n1));if(S0){var I0=e.isIdentifier(S0)?S0.text:e.isElementAccessExpression(S0)?\"[\"+A0(S0.argumentExpression)+\"]\":A0(S0);if(I0.length>0)return Nx(I0)}switch(n1.kind){case 298:var U0=n1;return e.isExternalModule(U0)?'\"'+e.escapeString(e.getBaseFileName(e.removeFileExtension(e.normalizePath(U0.fileName))))+'\"':\"<global>\";case 267:return e.isExportAssignment(n1)&&n1.isExportEquals?\"export=\":\"default\";case 210:case 252:case 209:case 253:case 222:return 512&e.getSyntacticModifierFlags(n1)?\"default\":K0(n1);case 167:return\"constructor\";case 171:return\"new()\";case 170:return\"()\";case 172:return\"[]\";default:return\"<unknown>\"}}function S1(n1){return{text:h1(n1.node,n1.name),kind:e.getNodeKind(n1.node),kindModifiers:I1(n1.node),spans:Y0(n1),nameSpan:n1.name&&k1(n1.name),childItems:e.map(n1.children,S1)}}function Q1(n1){return{text:h1(n1.node,n1.name),kind:e.getNodeKind(n1.node),kindModifiers:I1(n1.node),spans:Y0(n1),childItems:e.map(n1.children,function(S0){return{text:h1(S0.node,S0.name),kind:e.getNodeKind(S0.node),kindModifiers:e.getNodeModifiers(S0.node),spans:Y0(S0),childItems:A,indent:0,bolded:!1,grayed:!1}})||A,indent:n1.indent,bolded:!1,grayed:!1}}function Y0(n1){var S0=[k1(n1.node)];if(n1.additionalNodes)for(var I0=0,U0=n1.additionalNodes;I0<U0.length;I0++){var p0=U0[I0];S0.push(k1(p0))}return S0}function $1(n1){return e.isAmbientModule(n1)?e.getTextOfNode(n1.name):Z1(n1)}function Z1(n1){for(var S0=[e.getTextOfIdentifierOrLiteral(n1.name)];n1.body&&n1.body.kind===257;)n1=n1.body,S0.push(e.getTextOfIdentifierOrLiteral(n1.name));return S0.join(\".\")}function Q0(n1){return n1.body&&e.isModuleDeclaration(n1.body)?Q0(n1.body):n1}function y1(n1){return!n1.name||n1.name.kind===159}function k1(n1){return n1.kind===298?e.createTextSpanFromRange(n1):e.createTextSpanFromNode(n1,m0)}function I1(n1){return n1.parent&&n1.parent.kind===250&&(n1=n1.parent),e.getNodeModifiers(n1)}function K0(n1){var S0=n1.parent;if(n1.name&&e.getFullWidth(n1.name)>0)return Nx(e.declarationNameToString(n1.name));if(e.isVariableDeclaration(S0))return Nx(e.declarationNameToString(S0.name));if(e.isBinaryExpression(S0)&&S0.operatorToken.kind===62)return A0(S0.left).replace(H0,\"\");if(e.isPropertyAssignment(S0))return A0(S0.name);if(512&e.getSyntacticModifierFlags(n1))return\"default\";if(e.isClassLike(n1))return\"<class>\";if(e.isCallExpression(S0)){var I0=G1(S0.expression);if(I0!==void 0)return(I0=Nx(I0)).length>150?I0+\" callback\":I0+\"(\"+Nx(e.mapDefined(S0.arguments,function(U0){return e.isStringLiteralLike(U0)?U0.getText(m0):void 0}).join(\", \"))+\") callback\"}return\"<function>\"}function G1(n1){if(e.isIdentifier(n1))return n1.text;if(e.isPropertyAccessExpression(n1)){var S0=G1(n1.expression),I0=n1.name.text;return S0===void 0?I0:S0+\".\"+I0}}function Nx(n1){return(n1=n1.length>150?n1.substring(0,150)+\"...\":n1).replace(/\\\\?(\\r?\\n|\\r|\\u2028|\\u2029)/g,\"\")}})(e.NavigationBar||(e.NavigationBar={}))}(_0||(_0={})),function(e){(function(s){function X(j,G){var u0=e.isStringLiteral(G)&&G.text;return e.isString(u0)&&e.some(j.moduleAugmentations,function(U){return e.isStringLiteral(U)&&U.text===u0})}function J(j){return j!==void 0&&e.isStringLiteralLike(j)?j.text:void 0}function m0(j){var G;if(j.length===0)return j;var u0=function(Y0){for(var $1,Z1={defaultImports:[],namespaceImports:[],namedImports:[]},Q0={defaultImports:[],namespaceImports:[],namedImports:[]},y1=0,k1=Y0;y1<k1.length;y1++){var I1=k1[y1];if(I1.importClause!==void 0){var K0=I1.importClause.isTypeOnly?Z1:Q0,G1=I1.importClause,Nx=G1.name,n1=G1.namedBindings;Nx&&K0.defaultImports.push(I1),n1&&(e.isNamespaceImport(n1)?K0.namespaceImports.push(I1):K0.namedImports.push(I1))}else $1=$1||I1}return{importWithoutClause:$1,typeOnlyImports:Z1,regularImports:Q0}}(j),U=u0.importWithoutClause,g0=u0.typeOnlyImports,d0=u0.regularImports,P0=[];U&&P0.push(U);for(var c0=0,D0=[d0,g0];c0<D0.length;c0++){var x0=D0[c0],l0=x0===g0,w0=x0.defaultImports,V=x0.namespaceImports,w=x0.namedImports;if(l0||w0.length!==1||V.length!==1||w.length!==0){for(var H=0,k0=e.stableSort(V,function(Y0,$1){return A(Y0.importClause.namedBindings.name,$1.importClause.namedBindings.name)});H<k0.length;H++){var V0=k0[H];P0.push(i0(V0,void 0,V0.importClause.namedBindings))}if(w0.length!==0||w.length!==0){var t0=void 0,f0=[];if(w0.length===1)t0=w0[0].importClause.name;else for(var y0=0,G0=w0;y0<G0.length;y0++)Q1=G0[y0],f0.push(e.factory.createImportSpecifier(e.factory.createIdentifier(\"default\"),Q1.importClause.name));f0.push.apply(f0,e.flatMap(w,function(Y0){return Y0.importClause.namedBindings.elements}));var d1=H0(f0),h1=w0.length>0?w0[0]:w[0],S1=d1.length===0?t0?void 0:e.factory.createNamedImports(e.emptyArray):w.length===0?e.factory.createNamedImports(d1):e.factory.updateNamedImports(w[0].importClause.namedBindings,d1);l0&&t0&&S1?(P0.push(i0(h1,t0,void 0)),P0.push(i0((G=w[0])!==null&&G!==void 0?G:h1,void 0,S1))):P0.push(i0(h1,t0,S1))}}else{var Q1=w0[0];P0.push(i0(Q1,Q1.importClause.name,V[0].importClause.namedBindings))}}return P0}function s1(j){if(j.length===0)return j;var G=function(V){for(var w,H=[],k0=[],V0=0,t0=V;V0<t0.length;V0++){var f0=t0[V0];f0.exportClause===void 0?w=w||f0:f0.isTypeOnly?k0.push(f0):H.push(f0)}return{exportWithoutClause:w,namedExports:H,typeOnlyExports:k0}}(j),u0=G.exportWithoutClause,U=G.namedExports,g0=G.typeOnlyExports,d0=[];u0&&d0.push(u0);for(var P0=0,c0=[U,g0];P0<c0.length;P0++){var D0=c0[P0];if(D0.length!==0){var x0=[];x0.push.apply(x0,e.flatMap(D0,function(V){return V.exportClause&&e.isNamedExports(V.exportClause)?V.exportClause.elements:e.emptyArray}));var l0=H0(x0),w0=D0[0];d0.push(e.factory.updateExportDeclaration(w0,w0.decorators,w0.modifiers,w0.isTypeOnly,w0.exportClause&&(e.isNamedExports(w0.exportClause)?e.factory.updateNamedExports(w0.exportClause,l0):e.factory.updateNamespaceExport(w0.exportClause,w0.exportClause.name)),w0.moduleSpecifier))}}return d0}function i0(j,G,u0){return e.factory.updateImportDeclaration(j,j.decorators,j.modifiers,e.factory.updateImportClause(j.importClause,j.importClause.isTypeOnly,G,u0),j.moduleSpecifier)}function H0(j){return e.stableSort(j,E0)}function E0(j,G){return A(j.propertyName||j.name,G.propertyName||G.name)||A(j.name,G.name)}function I(j,G){var u0=j===void 0?void 0:J(j),U=G===void 0?void 0:J(G);return e.compareBooleans(u0===void 0,U===void 0)||e.compareBooleans(e.isExternalModuleNameRelative(u0),e.isExternalModuleNameRelative(U))||e.compareStringsCaseInsensitive(u0,U)}function A(j,G){return e.compareStringsCaseInsensitive(j.text,G.text)}function Z(j){var G;switch(j.kind){case 261:return(G=e.tryCast(j.moduleReference,e.isExternalModuleReference))===null||G===void 0?void 0:G.expression;case 262:return j.moduleSpecifier;case 233:return j.declarationList.declarations[0].initializer.arguments[0]}}function A0(j,G){return I(Z(j),Z(G))||function(u0,U){return e.compareValues(o0(u0),o0(U))}(j,G)}function o0(j){var G;switch(j.kind){case 262:return j.importClause?j.importClause.isTypeOnly?1:((G=j.importClause.namedBindings)===null||G===void 0?void 0:G.kind)===264?2:j.importClause.name?3:4:0;case 261:return 5;case 233:return 6}}s.organizeImports=function(j,G,u0,U,g0,d0){var P0=e.textChanges.ChangeTracker.fromContext({host:u0,formatContext:G,preferences:g0}),c0=function(V){return e.stableSort(m0(function(w,H,k0,V0){if(V0)return w;for(var t0=k0.getTypeChecker(),f0=t0.getJsxNamespace(H),y0=t0.getJsxFragmentFactory(H),G0=!!(2&H.transformFlags),d1=[],h1=0,S1=w;h1<S1.length;h1++){var Q1=S1[h1],Y0=Q1.importClause,$1=Q1.moduleSpecifier;if(Y0){var Z1=Y0.name,Q0=Y0.namedBindings;if(Z1&&!k1(Z1)&&(Z1=void 0),Q0)if(e.isNamespaceImport(Q0))k1(Q0.name)||(Q0=void 0);else{var y1=Q0.elements.filter(function(I1){return k1(I1.name)});y1.length<Q0.elements.length&&(Q0=y1.length?e.factory.updateNamedImports(Q0,y1):void 0)}Z1||Q0?d1.push(i0(Q1,Z1,Q0)):X(H,$1)&&(H.isDeclarationFile?d1.push(e.factory.createImportDeclaration(Q1.decorators,Q1.modifiers,void 0,$1)):d1.push(Q1))}else d1.push(Q1)}return d1;function k1(I1){return G0&&(I1.text===f0||y0&&I1.text===y0)||e.FindAllReferences.Core.isSymbolReferencedInFile(I1,t0,H)}}(V,j,U,d0)),function(w,H){return A0(w,H)})};w0(j.statements.filter(e.isImportDeclaration),c0),w0(j.statements.filter(e.isExportDeclaration),s1);for(var D0=0,x0=j.statements.filter(e.isAmbientModule);D0<x0.length;D0++){var l0=x0[D0];l0.body&&(w0(l0.body.statements.filter(e.isImportDeclaration),c0),w0(l0.body.statements.filter(e.isExportDeclaration),s1))}return P0.getChanges();function w0(V,w){if(e.length(V)!==0){e.suppressLeadingTrivia(V[0]);var H=e.group(V,function(y0){return J(y0.moduleSpecifier)}),k0=e.stableSort(H,function(y0,G0){return I(y0[0].moduleSpecifier,G0[0].moduleSpecifier)}),V0=e.flatMap(k0,function(y0){return J(y0[0].moduleSpecifier)?w(y0):y0});if(V0.length===0)P0.deleteNodes(j,V,{trailingTriviaOption:e.textChanges.TrailingTriviaOption.Include},!0);else{var t0={leadingTriviaOption:e.textChanges.LeadingTriviaOption.Exclude,trailingTriviaOption:e.textChanges.TrailingTriviaOption.Include,suffix:e.getNewLineOrDefaultFromHost(u0,G.options)};P0.replaceNodeWithNodes(j,V[0],V0,t0);var f0=P0.nodeHasTrailingComment(j,V[0],t0);P0.deleteNodes(j,V.slice(1),{trailingTriviaOption:e.textChanges.TrailingTriviaOption.Include},f0)}}}},s.coalesceImports=m0,s.coalesceExports=s1,s.compareImportOrExportSpecifiers=E0,s.compareModuleSpecifiers=I,s.importsAreSorted=function(j){return e.arrayIsSorted(j,A0)},s.importSpecifiersAreSorted=function(j){return e.arrayIsSorted(j,E0)},s.getImportDeclarationInsertionIndex=function(j,G){var u0=e.binarySearch(j,G,e.identity,A0);return u0<0?~u0:u0},s.getImportSpecifierInsertionIndex=function(j,G){var u0=e.binarySearch(j,G,e.identity,E0);return u0<0?~u0:u0},s.compareImportsOrRequireStatements=A0})(e.OrganizeImports||(e.OrganizeImports={}))}(_0||(_0={})),function(e){(function(s){s.collectElements=function(E0,I){var A=[];return function(Z,A0,o0){for(var j=40,G=0,u0=D(D([],Z.statements),[Z.endOfFileToken]),U=u0.length;G<U;){for(;G<U&&!e.isAnyImportSyntax(u0[G]);)P0(u0[G]),G++;if(G===U)break;for(var g0=G;G<U&&e.isAnyImportSyntax(u0[G]);)m0(u0[G],Z,A0,o0),G++;var d0=G-1;d0!==g0&&o0.push(s1(e.findChildOfKind(u0[g0],99,Z).getStart(Z),u0[d0].getEnd(),\"imports\"))}function P0(c0){var D0;if(j!==0){A0.throwIfCancellationRequested(),(e.isDeclaration(c0)||e.isVariableStatement(c0)||c0.kind===1)&&m0(c0,Z,A0,o0),e.isFunctionLike(c0)&&e.isBinaryExpression(c0.parent)&&e.isPropertyAccessExpression(c0.parent.left)&&m0(c0.parent.left,Z,A0,o0);var x0=function(l0,w0){switch(l0.kind){case 231:if(e.isFunctionLike(l0.parent))return function(S1,Q1,Y0){var $1=function(Q0,y1,k1){if(e.isNodeArrayMultiLine(Q0.parameters,k1)){var I1=e.findChildOfKind(Q0,20,k1);if(I1)return I1}return e.findChildOfKind(y1,18,k1)}(S1,Q1,Y0),Z1=e.findChildOfKind(Q1,19,Y0);return $1&&Z1&&i0($1,Z1,S1,Y0,S1.kind!==210)}(l0.parent,l0,w0);switch(l0.parent.kind){case 236:case 239:case 240:case 238:case 235:case 237:case 244:case 288:return d1(l0.parent);case 248:var V=l0.parent;if(V.tryBlock===l0)return d1(l0.parent);if(V.finallyBlock===l0){var w=e.findChildOfKind(V,95,w0);if(w)return d1(w)}default:return H0(e.createTextSpanFromNode(l0,w0),\"code\")}case 258:return d1(l0.parent);case 253:case 222:case 254:case 256:case 259:case 178:case 197:return d1(l0);case 180:return d1(l0,!1,!e.isTupleTypeNode(l0.parent),22);case 285:case 286:return h1(l0.statements);case 201:return G0(l0);case 200:return G0(l0,22);case 274:return V0(l0);case 278:return t0(l0);case 275:case 276:return f0(l0.attributes);case 219:case 14:return y0(l0);case 198:return d1(l0,!1,!e.isBindingElement(l0.parent),22);case 210:return k0(l0);case 204:return H(l0)}function H(S1){if(S1.arguments.length){var Q1=e.findChildOfKind(S1,20,w0),Y0=e.findChildOfKind(S1,21,w0);if(Q1&&Y0&&!e.positionsAreOnSameLine(Q1.pos,Y0.pos,w0))return i0(Q1,Y0,S1,w0,!1,!0)}}function k0(S1){if(!e.isBlock(S1.body)&&!e.positionsAreOnSameLine(S1.body.getFullStart(),S1.body.getEnd(),w0))return H0(e.createTextSpanFromBounds(S1.body.getFullStart(),S1.body.getEnd()),\"code\",e.createTextSpanFromNode(S1))}function V0(S1){var Q1=e.createTextSpanFromBounds(S1.openingElement.getStart(w0),S1.closingElement.getEnd()),Y0=S1.openingElement.tagName.getText(w0);return H0(Q1,\"code\",Q1,!1,\"<\"+Y0+\">...</\"+Y0+\">\")}function t0(S1){var Q1=e.createTextSpanFromBounds(S1.openingFragment.getStart(w0),S1.closingFragment.getEnd());return H0(Q1,\"code\",Q1,!1,\"<>...</>\")}function f0(S1){if(S1.properties.length!==0)return s1(S1.getStart(w0),S1.getEnd(),\"code\")}function y0(S1){if(S1.kind!==14||S1.text.length!==0)return s1(S1.getStart(w0),S1.getEnd(),\"code\")}function G0(S1,Q1){return Q1===void 0&&(Q1=18),d1(S1,!1,!e.isArrayLiteralExpression(S1.parent)&&!e.isCallExpression(S1.parent),Q1)}function d1(S1,Q1,Y0,$1,Z1){Q1===void 0&&(Q1=!1),Y0===void 0&&(Y0=!0),$1===void 0&&($1=18),Z1===void 0&&(Z1=$1===18?19:23);var Q0=e.findChildOfKind(l0,$1,w0),y1=e.findChildOfKind(l0,Z1,w0);return Q0&&y1&&i0(Q0,y1,S1,w0,Q1,Y0)}function h1(S1){return S1.length?H0(e.createTextSpanFromRange(S1),\"code\"):void 0}}(c0,Z);x0&&o0.push(x0),j--,e.isCallExpression(c0)?(j++,P0(c0.expression),j--,c0.arguments.forEach(P0),(D0=c0.typeArguments)===null||D0===void 0||D0.forEach(P0)):e.isIfStatement(c0)&&c0.elseStatement&&e.isIfStatement(c0.elseStatement)?(P0(c0.expression),P0(c0.thenStatement),j++,P0(c0.elseStatement),j--):c0.forEachChild(P0),j++}}}(E0,I,A),function(Z,A0){for(var o0=[],j=Z.getLineStarts(),G=0,u0=j;G<u0.length;G++){var U=u0[G],g0=Z.getLineEndOfPosition(U),d0=J(Z.text.substring(U,g0));if(d0&&!e.isInComment(Z,U))if(d0[1]){var P0=o0.pop();P0&&(P0.textSpan.length=g0-P0.textSpan.start,P0.hintSpan.length=g0-P0.textSpan.start,A0.push(P0))}else{var c0=e.createTextSpanFromBounds(Z.text.indexOf(\"//\",U),g0);o0.push(H0(c0,\"region\",c0,!1,d0[2]||\"#region\"))}}}(E0,A),A.sort(function(Z,A0){return Z.textSpan.start-A0.textSpan.start})};var X=/^\\s*\\/\\/\\s*#(end)?region(?:\\s+(.*))?(?:\\r)?$/;function J(E0){return X.exec(E0)}function m0(E0,I,A,Z){var A0=e.getLeadingCommentRangesOfNode(E0,I);if(A0){for(var o0=-1,j=-1,G=0,u0=I.getFullText(),U=0,g0=A0;U<g0.length;U++){var d0=g0[U],P0=d0.kind,c0=d0.pos,D0=d0.end;switch(A.throwIfCancellationRequested(),P0){case 2:if(J(u0.slice(c0,D0))){x0(),G=0;break}G===0&&(o0=c0),j=D0,G++;break;case 3:x0(),Z.push(s1(c0,D0,\"comment\")),G=0;break;default:e.Debug.assertNever(P0)}}x0()}function x0(){G>1&&Z.push(s1(o0,j,\"comment\"))}}function s1(E0,I,A){return H0(e.createTextSpanFromBounds(E0,I),A)}function i0(E0,I,A,Z,A0,o0){return A0===void 0&&(A0=!1),o0===void 0&&(o0=!0),H0(e.createTextSpanFromBounds(o0?E0.getFullStart():E0.getStart(Z),I.getEnd()),\"code\",e.createTextSpanFromNode(A,Z),A0)}function H0(E0,I,A,Z,A0){return A===void 0&&(A=E0),Z===void 0&&(Z=!1),A0===void 0&&(A0=\"...\"),{textSpan:E0,kind:I,hintSpan:A,bannerText:A0,autoCollapse:Z}}})(e.OutliningElementsCollector||(e.OutliningElementsCollector={}))}(_0||(_0={})),function(e){var s;function X(V,w){return{kind:V,isCaseSensitive:w}}function J(V,w){var H=w.get(V);return H||w.set(V,H=g0(V)),H}function m0(V,w,H){var k0=function(d1,h1){for(var S1=d1.length-h1.length,Q1=function(Z1){if(w0(h1,function(Q0,y1){return A0(d1.charCodeAt(y1+Z1))===Q0}))return{value:Z1}},Y0=0;Y0<=S1;Y0++){var $1=Q1(Y0);if(typeof $1==\"object\")return $1.value}return-1}(V,w.textLowerCase);if(k0===0)return X(w.text.length===V.length?s.exact:s.prefix,e.startsWith(V,w.text));if(w.isLowerCase){if(k0===-1)return;for(var V0=0,t0=J(V,H);V0<t0.length;V0++){var f0=t0[V0];if(E0(V,f0,w.text,!0))return X(s.substring,E0(V,f0,w.text,!1))}if(w.text.length<V.length&&A(V.charCodeAt(k0)))return X(s.substring,!1)}else{if(V.indexOf(w.text)>0)return X(s.substring,!0);if(w.characterSpans.length>0){var y0=J(V,H),G0=!!I(V,y0,w,!1)||!I(V,y0,w,!0)&&void 0;if(G0!==void 0)return X(s.camelCase,G0)}}}function s1(V,w,H){if(w0(w.totalTextChunk.text,function(y0){return y0!==32&&y0!==42})){var k0=m0(V,w.totalTextChunk,H);if(k0)return k0}for(var V0,t0=0,f0=w.subWordTextChunks;t0<f0.length;t0++)V0=i0(V0,m0(V,f0[t0],H));return V0}function i0(V,w){return e.min(V,w,H0)}function H0(V,w){return V===void 0?1:w===void 0?-1:e.compareValues(V.kind,w.kind)||e.compareBooleans(!V.isCaseSensitive,!w.isCaseSensitive)}function E0(V,w,H,k0,V0){return V0===void 0&&(V0={start:0,length:H.length}),V0.length<=w.length&&l0(0,V0.length,function(t0){return function(f0,y0,G0){return G0?A0(f0)===A0(y0):f0===y0}(H.charCodeAt(V0.start+t0),V.charCodeAt(w.start+t0),k0)})}function I(V,w,H,k0){for(var V0=H.characterSpans,t0=0,f0=0;;){if(f0===V0.length)return!0;if(t0===w.length)return!1;for(var y0=w[t0],G0=!1;f0<V0.length;f0++){var d1=V0[f0];if(G0&&(!A(H.text.charCodeAt(V0[f0-1].start))||!A(H.text.charCodeAt(V0[f0].start)))||!E0(V,y0,H.text,k0,d1))break;G0=!0,y0=e.createTextSpan(y0.start+d1.length,y0.length-d1.length)}t0++}}function A(V){if(V>=65&&V<=90)return!0;if(V<127||!e.isUnicodeIdentifierStart(V,99))return!1;var w=String.fromCharCode(V);return w===w.toUpperCase()}function Z(V){if(V>=97&&V<=122)return!0;if(V<127||!e.isUnicodeIdentifierStart(V,99))return!1;var w=String.fromCharCode(V);return w===w.toLowerCase()}function A0(V){return V>=65&&V<=90?V-65+97:V<127?V:String.fromCharCode(V).toLowerCase().charCodeAt(0)}function o0(V){return V>=48&&V<=57}function j(V){return A(V)||Z(V)||o0(V)||V===95||V===36}function G(V){for(var w=[],H=0,k0=0,V0=0;V0<V.length;V0++)j(V.charCodeAt(V0))?(k0===0&&(H=V0),k0++):k0>0&&(w.push(u0(V.substr(H,k0))),k0=0);return k0>0&&w.push(u0(V.substr(H,k0))),w}function u0(V){var w=V.toLowerCase();return{text:V,textLowerCase:w,isLowerCase:V===w,characterSpans:U(V)}}function U(V){return d0(V,!1)}function g0(V){return d0(V,!0)}function d0(V,w){for(var H=[],k0=0,V0=1;V0<V.length;V0++){var t0=o0(V.charCodeAt(V0-1)),f0=o0(V.charCodeAt(V0)),y0=x0(V,w,V0),G0=w&&D0(V,V0,k0);(P0(V.charCodeAt(V0-1))||P0(V.charCodeAt(V0))||t0!==f0||y0||G0)&&(c0(V,k0,V0)||H.push(e.createTextSpan(k0,V0-k0)),k0=V0)}return c0(V,k0,V.length)||H.push(e.createTextSpan(k0,V.length-k0)),H}function P0(V){switch(V){case 33:case 34:case 35:case 37:case 38:case 39:case 40:case 41:case 42:case 44:case 45:case 46:case 47:case 58:case 59:case 63:case 64:case 91:case 92:case 93:case 95:case 123:case 125:return!0}return!1}function c0(V,w,H){return w0(V,function(k0){return P0(k0)&&k0!==95},w,H)}function D0(V,w,H){return w!==H&&w+1<V.length&&A(V.charCodeAt(w))&&Z(V.charCodeAt(w+1))&&w0(V,A,H,w)}function x0(V,w,H){var k0=A(V.charCodeAt(H-1));return A(V.charCodeAt(H))&&(!w||!k0)}function l0(V,w,H){for(var k0=V;k0<w;k0++)if(!H(k0))return!1;return!0}function w0(V,w,H,k0){return H===void 0&&(H=0),k0===void 0&&(k0=V.length),l0(H,k0,function(V0){return w(V.charCodeAt(V0),V0)})}(function(V){V[V.exact=0]=\"exact\",V[V.prefix=1]=\"prefix\",V[V.substring=2]=\"substring\",V[V.camelCase=3]=\"camelCase\"})(s=e.PatternMatchKind||(e.PatternMatchKind={})),e.createPatternMatcher=function(V){var w=new e.Map,H=V.trim().split(\".\").map(function(k0){return{totalTextChunk:u0(V0=k0.trim()),subWordTextChunks:G(V0)};var V0});if(!H.some(function(k0){return!k0.subWordTextChunks.length}))return{getFullMatch:function(k0,V0){return function(t0,f0,y0,G0){var d1;if(!!s1(f0,e.last(y0),G0)&&!(y0.length-1>t0.length)){for(var h1=y0.length-2,S1=t0.length-1;h1>=0;h1-=1,S1-=1)d1=i0(d1,s1(t0[S1],y0[h1],G0));return d1}}(k0,V0,H,w)},getMatchForLastSegmentOfPattern:function(k0){return s1(k0,e.last(H),w)},patternContainsDots:H.length>1}},e.breakIntoCharacterSpans=U,e.breakIntoWordSpans=g0}(_0||(_0={})),function(e){e.preProcessFile=function(s,X,J){X===void 0&&(X=!0),J===void 0&&(J=!1);var m0,s1,i0,H0={languageVersion:1,pragmas:void 0,checkJsDirective:void 0,referencedFiles:[],typeReferenceDirectives:[],libReferenceDirectives:[],amdDependencies:[],hasNoDefaultLib:void 0,moduleName:void 0},E0=[],I=0,A=!1;function Z(){return s1=i0,(i0=e.scanner.scan())===18?I++:i0===19&&I--,i0}function A0(){var V=e.scanner.getTokenValue(),w=e.scanner.getTokenPos();return{fileName:V,pos:w,end:w+V.length}}function o0(){E0.push(A0()),j()}function j(){I===0&&(A=!0)}function G(){var V=e.scanner.getToken();return V===133&&((V=Z())===139&&(V=Z())===10&&(m0||(m0=[]),m0.push({ref:A0(),depth:I})),!0)}function u0(){if(s1===24)return!1;var V=e.scanner.getToken();if(V===99){if((V=Z())===20){if((V=Z())===10||V===14)return o0(),!0}else{if(V===10)return o0(),!0;if(V===149&&e.scanner.lookAhead(function(){var w=e.scanner.scan();return w!==153&&(w===41||w===18||w===78||e.isKeyword(w))})&&(V=Z()),V===78||e.isKeyword(V))if((V=Z())===153){if((V=Z())===10)return o0(),!0}else if(V===62){if(g0(!0))return!0}else{if(V!==27)return!0;V=Z()}if(V===18){for(V=Z();V!==19&&V!==1;)V=Z();V===19&&(V=Z())===153&&(V=Z())===10&&o0()}else V===41&&(V=Z())===126&&((V=Z())===78||e.isKeyword(V))&&(V=Z())===153&&(V=Z())===10&&o0()}return!0}return!1}function U(){var V=e.scanner.getToken();if(V===92){if(j(),(V=Z())===149&&e.scanner.lookAhead(function(){var w=e.scanner.scan();return w===41||w===18})&&(V=Z()),V===18){for(V=Z();V!==19&&V!==1;)V=Z();V===19&&(V=Z())===153&&(V=Z())===10&&o0()}else if(V===41)(V=Z())===153&&(V=Z())===10&&o0();else if(V===99&&((V=Z())===149&&e.scanner.lookAhead(function(){var w=e.scanner.scan();return w===78||e.isKeyword(w)})&&(V=Z()),(V===78||e.isKeyword(V))&&(V=Z())===62&&g0(!0)))return!0;return!0}return!1}function g0(V,w){w===void 0&&(w=!1);var H=V?Z():e.scanner.getToken();return H===143&&((H=Z())===20&&((H=Z())===10||w&&H===14)&&o0(),!0)}function d0(){var V=e.scanner.getToken();if(V===78&&e.scanner.getTokenValue()===\"define\"){if((V=Z())!==20)return!0;if((V=Z())===10||V===14){if((V=Z())!==27)return!0;V=Z()}if(V!==22)return!0;for(V=Z();V!==23&&V!==1;)V!==10&&V!==14||o0(),V=Z();return!0}return!1}if(X&&function(){for(e.scanner.setText(s),Z();e.scanner.getToken()!==1;)G()||u0()||U()||J&&(g0(!1,!0)||d0())||Z();e.scanner.setText(void 0)}(),e.processCommentPragmas(H0,s),e.processPragmasIntoFields(H0,e.noop),A){if(m0)for(var P0=0,c0=m0;P0<c0.length;P0++){var D0=c0[P0];E0.push(D0.ref)}return{referencedFiles:H0.referencedFiles,typeReferenceDirectives:H0.typeReferenceDirectives,libReferenceDirectives:H0.libReferenceDirectives,importedFiles:E0,isLibFile:!!H0.hasNoDefaultLib,ambientExternalModules:void 0}}var x0=void 0;if(m0)for(var l0=0,w0=m0;l0<w0.length;l0++)(D0=w0[l0]).depth===0?(x0||(x0=[]),x0.push(D0.ref.fileName)):E0.push(D0.ref);return{referencedFiles:H0.referencedFiles,typeReferenceDirectives:H0.typeReferenceDirectives,libReferenceDirectives:H0.libReferenceDirectives,importedFiles:E0,isLibFile:!!H0.hasNoDefaultLib,ambientExternalModules:x0}}}(_0||(_0={})),function(e){(function(s){function X(s1,i0,H0,E0,I,A){return{canRename:!0,fileToRename:void 0,kind:H0,displayName:s1,fullDisplayName:i0,kindModifiers:E0,triggerSpan:m0(I,A)}}function J(s1){return{canRename:!1,localizedErrorMessage:e.getLocaleSpecificMessage(s1)}}function m0(s1,i0){var H0=s1.getStart(i0),E0=s1.getWidth(i0);return e.isStringLiteralLike(s1)&&(H0+=1,E0-=2),e.createTextSpan(H0,E0)}s.getRenameInfo=function(s1,i0,H0,E0){var I=e.getAdjustedRenameLocation(e.getTouchingPropertyName(i0,H0));if(function(Z){switch(Z.kind){case 78:case 79:case 10:case 14:case 107:return!0;case 8:return e.isLiteralNameOfPropertyDeclarationOrIndexAccess(Z);default:return!1}}(I)){var A=function(Z,A0,o0,j,G){var u0=A0.getSymbolAtLocation(Z);if(!u0){if(e.isStringLiteralLike(Z)){var U=e.getContextualTypeOrAncestorTypeNodeType(Z,A0);if(U&&(128&U.flags||1048576&U.flags&&e.every(U.types,function(l0){return!!(128&l0.flags)})))return X(Z.text,Z.text,\"string\",\"\",Z,o0)}else if(e.isLabelName(Z)){var g0=e.getTextOfNode(Z);return X(g0,g0,\"label\",\"\",Z,o0)}return}var d0=u0.declarations;if(!(!d0||d0.length===0)){if(d0.some(function(l0){return function(w0,V){var w=V.getSourceFile();return w0.isSourceFileDefaultLibrary(w)&&e.fileExtensionIs(w.fileName,\".d.ts\")}(j,l0)}))return J(e.Diagnostics.You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library);if(!(e.isIdentifier(Z)&&Z.originalKeywordKind===87&&u0.parent&&1536&u0.parent.flags)){if(e.isStringLiteralLike(Z)&&e.tryGetImportFromModuleSpecifier(Z))return G&&G.allowRenameOfImportPath?function(l0,w0,V){if(!e.isExternalModuleNameRelative(l0.text))return J(e.Diagnostics.You_cannot_rename_a_module_via_a_global_import);var w=V.declarations&&e.find(V.declarations,e.isSourceFile);if(!!w){var H=e.endsWith(l0.text,\"/index\")||e.endsWith(l0.text,\"/index.js\")?void 0:e.tryRemoveSuffix(e.removeFileExtension(w.fileName),\"/index\"),k0=H===void 0?w.fileName:H,V0=H===void 0?\"module\":\"directory\",t0=l0.text.lastIndexOf(\"/\")+1,f0=e.createTextSpan(l0.getStart(w0)+1+t0,l0.text.length-t0);return{canRename:!0,fileToRename:k0,kind:V0,displayName:k0,fullDisplayName:k0,kindModifiers:\"\",triggerSpan:f0}}}(Z,o0,u0):void 0;var P0=e.SymbolDisplay.getSymbolKind(A0,u0,Z),c0=e.isImportOrExportSpecifierName(Z)||e.isStringOrNumericLiteralLike(Z)&&Z.parent.kind===159?e.stripQuotes(e.getTextOfIdentifierOrLiteral(Z)):void 0,D0=c0||A0.symbolToString(u0),x0=c0||A0.getFullyQualifiedName(u0);return X(D0,x0,P0,e.SymbolDisplay.getSymbolModifiers(A0,u0),Z,o0)}}}(I,s1.getTypeChecker(),i0,s1,E0);if(A)return A}return J(e.Diagnostics.You_cannot_rename_this_element)}})(e.Rename||(e.Rename={}))}(_0||(_0={})),function(e){(function(s){function X(A,Z,A0){return e.Debug.assert(A0.pos<=Z),Z<A0.end||A0.getEnd()===Z&&e.getTouchingPropertyName(A,Z).pos<A0.end}s.getSmartSelectionRange=function(A,Z){var A0,o0,j,G={textSpan:e.createTextSpanFromBounds(Z.getFullStart(),Z.getEnd())},u0=Z;x:for(;;){var U=m0(u0);if(!U.length)break;for(var g0=0;g0<U.length;g0++){var d0=U[g0-1],P0=U[g0],c0=U[g0+1];if(e.getTokenPosOfNode(P0,Z,!0)>A)break x;var D0=e.singleOrUndefined(e.getTrailingCommentRanges(Z.text,P0.end));if(D0&&D0.kind===2&&w(D0.pos,D0.end),X(Z,A,P0)){if(e.isBlock(P0)||e.isTemplateSpan(P0)||e.isTemplateHead(P0)||e.isTemplateTail(P0)||d0&&e.isTemplateHead(d0)||e.isVariableDeclarationList(P0)&&e.isVariableStatement(u0)||e.isSyntaxList(P0)&&e.isVariableDeclarationList(u0)||e.isVariableDeclaration(P0)&&e.isSyntaxList(u0)&&U.length===1||e.isJSDocTypeExpression(P0)||e.isJSDocSignature(P0)||e.isJSDocTypeLiteral(P0)){u0=P0;break}e.isTemplateSpan(u0)&&c0&&e.isTemplateMiddleOrTemplateTail(c0)&&V(P0.getFullStart()-\"${\".length,c0.getStart()+\"}\".length);var x0=e.isSyntaxList(P0)&&(j=void 0,(j=(o0=d0)&&o0.kind)===18||j===22||j===20||j===276)&&E0(c0)&&!e.positionsAreOnSameLine(d0.getStart(),c0.getStart(),Z),l0=x0?d0.getEnd():P0.getStart(),w0=x0?c0.getStart():I(Z,P0);e.hasJSDocNodes(P0)&&((A0=P0.jsDoc)===null||A0===void 0?void 0:A0.length)&&V(e.first(P0.jsDoc).getStart(),w0),V(l0,w0),(e.isStringLiteral(P0)||e.isTemplateLiteral(P0))&&V(l0+1,w0-1),u0=P0;break}if(g0===U.length-1)break x}}return G;function V(H,k0){if(H!==k0){var V0=e.createTextSpanFromBounds(H,k0);(!G||!e.textSpansEqual(V0,G.textSpan)&&e.textSpanIntersectsWithPosition(V0,A))&&(G=$({textSpan:V0},G&&{parent:G}))}}function w(H,k0){V(H,k0);for(var V0=H;Z.text.charCodeAt(V0)===47;)V0++;V(V0,k0)}};var J=e.or(e.isImportDeclaration,e.isImportEqualsDeclaration);function m0(A){if(e.isSourceFile(A))return s1(A.getChildAt(0).getChildren(),J);if(e.isMappedTypeNode(A)){var Z=A.getChildren(),A0=Z[0],o0=Z.slice(1),j=e.Debug.checkDefined(o0.pop());e.Debug.assertEqual(A0.kind,18),e.Debug.assertEqual(j.kind,19);var G=s1(o0,function(U){return U===A.readonlyToken||U.kind===142||U===A.questionToken||U.kind===57});return[A0,H0(i0(s1(G,function(U){var g0=U.kind;return g0===22||g0===160||g0===23}),function(U){return U.kind===58})),j]}if(e.isPropertySignature(A))return i0(o0=s1(A.getChildren(),function(U){return U===A.name||e.contains(A.modifiers,U)}),function(U){return U.kind===58});if(e.isParameter(A)){var u0=s1(A.getChildren(),function(U){return U===A.dotDotDotToken||U===A.name});return i0(s1(u0,function(U){return U===u0[0]||U===A.questionToken}),function(U){return U.kind===62})}return e.isBindingElement(A)?i0(A.getChildren(),function(U){return U.kind===62}):A.getChildren()}function s1(A,Z){for(var A0,o0=[],j=0,G=A;j<G.length;j++){var u0=G[j];Z(u0)?(A0=A0||[]).push(u0):(A0&&(o0.push(H0(A0)),A0=void 0),o0.push(u0))}return A0&&o0.push(H0(A0)),o0}function i0(A,Z,A0){if(A0===void 0&&(A0=!0),A.length<2)return A;var o0=e.findIndex(A,Z);if(o0===-1)return A;var j=A.slice(0,o0),G=A[o0],u0=e.last(A),U=A0&&u0.kind===26,g0=A.slice(o0+1,U?A.length-1:void 0),d0=e.compact([j.length?H0(j):void 0,G,g0.length?H0(g0):void 0]);return U?d0.concat(u0):d0}function H0(A){return e.Debug.assertGreaterThanOrEqual(A.length,1),e.setTextRangePosEnd(e.parseNodeFactory.createSyntaxList(A),A[0].pos,e.last(A).end)}function E0(A){var Z=A&&A.kind;return Z===19||Z===23||Z===21||Z===277}function I(A,Z){switch(Z.kind){case 330:case 328:case 337:case 335:case 332:return A.getLineEndOfPosition(Z.getStart());default:return Z.getEnd()}}})(e.SmartSelectionRange||(e.SmartSelectionRange={}))}(_0||(_0={})),function(e){(function(s){var X,J;function m0(x0,l0,w0){for(var V=x0.getFullStart(),w=x0.parent;w;){var H=e.findPrecedingToken(V,l0,w,!0);if(H)return e.rangeContainsRange(w0,H);w=w.parent}return e.Debug.fail(\"Could not find preceding token\")}function s1(x0,l0){var w0=function(k0,V0){if(k0.kind===29||k0.kind===20)return{list:o0(k0.parent,k0,V0),argumentIndex:0};var t0=e.findContainingList(k0);return t0&&{list:t0,argumentIndex:A(t0,k0)}}(x0,l0);if(w0){var V=w0.list,w=w0.argumentIndex,H=function(k0){var V0=k0.getChildren(),t0=e.countWhere(V0,function(f0){return f0.kind!==27});return V0.length>0&&e.last(V0).kind===27&&t0++,t0}(V);return w!==0&&e.Debug.assertLessThan(w,H),{list:V,argumentIndex:w,argumentCount:H,argumentsSpan:function(k0,V0){var t0=k0.getFullStart(),f0=e.skipTrivia(V0.text,k0.getEnd(),!1);return e.createTextSpan(t0,f0-t0)}(V,l0)}}}function i0(x0,l0,w0){var V=x0.parent;if(e.isCallOrNewExpression(V)){var w=V,H=s1(x0,w0);if(!H)return;var k0=H.list,V0=H.argumentIndex,t0=H.argumentCount,f0=H.argumentsSpan;return{isTypeParameterList:!!V.typeArguments&&V.typeArguments.pos===k0.pos,invocation:{kind:0,node:w},argumentsSpan:f0,argumentIndex:V0,argumentCount:t0}}if(e.isNoSubstitutionTemplateLiteral(x0)&&e.isTaggedTemplateExpression(V))return e.isInsideTemplateLiteral(x0,l0,w0)?Z(V,0,w0):void 0;if(e.isTemplateHead(x0)&&V.parent.kind===206){var y0=V,G0=y0.parent;return e.Debug.assert(y0.kind===219),Z(G0,V0=e.isInsideTemplateLiteral(x0,l0,w0)?0:1,w0)}if(e.isTemplateSpan(V)&&e.isTaggedTemplateExpression(V.parent.parent)){var d1=V;return G0=V.parent.parent,e.isTemplateTail(x0)&&!e.isInsideTemplateLiteral(x0,l0,w0)?void 0:Z(G0,V0=function(Z1,Q0,y1,k1){return e.Debug.assert(y1>=Q0.getStart(),\"Assumed 'position' could not occur before node.\"),e.isTemplateLiteralToken(Q0)?e.isInsideTemplateLiteral(Q0,y1,k1)?0:Z1+2:Z1+1}(d1.parent.templateSpans.indexOf(d1),x0,l0,w0),w0)}if(e.isJsxOpeningLikeElement(V)){var h1=V.attributes.pos,S1=e.skipTrivia(w0.text,V.attributes.end,!1);return{isTypeParameterList:!1,invocation:{kind:0,node:V},argumentsSpan:e.createTextSpan(h1,S1-h1),argumentIndex:0,argumentCount:1}}var Q1=e.getPossibleTypeArgumentsInfo(x0,w0);if(Q1){var Y0=Q1.called,$1=Q1.nTypeArguments;return{isTypeParameterList:!0,invocation:w={kind:1,called:Y0},argumentsSpan:f0=e.createTextSpanFromBounds(Y0.getStart(w0),x0.end),argumentIndex:$1,argumentCount:$1+1}}}function H0(x0){return e.isBinaryExpression(x0.parent)?H0(x0.parent):x0}function E0(x0){return e.isBinaryExpression(x0.left)?E0(x0.left)+1:2}function I(x0){return x0.name===\"__type\"&&e.firstDefined(x0.declarations,function(l0){return e.isFunctionTypeNode(l0)?l0.parent.symbol:void 0})||x0}function A(x0,l0){for(var w0=0,V=0,w=x0.getChildren();V<w.length;V++){var H=w[V];if(H===l0)break;H.kind!==27&&w0++}return w0}function Z(x0,l0,w0){var V=e.isNoSubstitutionTemplateLiteral(x0.template)?1:x0.template.templateSpans.length+1;return l0!==0&&e.Debug.assertLessThan(l0,V),{isTypeParameterList:!1,invocation:{kind:0,node:x0},argumentsSpan:A0(x0,w0),argumentIndex:l0,argumentCount:V}}function A0(x0,l0){var w0=x0.template,V=w0.getStart(),w=w0.getEnd();return w0.kind===219&&e.last(w0.templateSpans).literal.getFullWidth()===0&&(w=e.skipTrivia(l0.text,w,!1)),e.createTextSpan(V,w-V)}function o0(x0,l0,w0){var V=x0.getChildren(w0),w=V.indexOf(l0);return e.Debug.assert(w>=0&&V.length>w+1),V[w+1]}function j(x0){return x0.kind===0?e.getInvokedExpression(x0.node):x0.called}function G(x0){return x0.kind===0?x0.node:x0.kind===1?x0.called:x0.node}(function(x0){x0[x0.Call=0]=\"Call\",x0[x0.TypeArgs=1]=\"TypeArgs\",x0[x0.Contextual=2]=\"Contextual\"})(X||(X={})),s.getSignatureHelpItems=function(x0,l0,w0,V,w){var H=x0.getTypeChecker(),k0=e.findTokenOnLeftOfPosition(l0,w0);if(k0){var V0=!!V&&V.kind===\"characterTyped\";if(!V0||!e.isInString(l0,w0,k0)&&!e.isInComment(l0,w0)){var t0=!!V&&V.kind===\"invoked\",f0=function(G0,d1,h1,S1,Q1){for(var Y0=function(Q0){e.Debug.assert(e.rangeContainsRange(Q0.parent,Q0),\"Not a subspan\",function(){return\"Child: \"+e.Debug.formatSyntaxKind(Q0.kind)+\", parent: \"+e.Debug.formatSyntaxKind(Q0.parent.kind)});var y1=function(k1,I1,K0,G1){return function(Nx,n1,S0,I0){var U0=function($x,rx,O0){if(!($x.kind!==20&&$x.kind!==27)){var C1=$x.parent;switch(C1.kind){case 208:case 166:case 209:case 210:var nx=s1($x,rx);if(!nx)return;var O=nx.argumentIndex,b1=nx.argumentCount,Px=nx.argumentsSpan,me=e.isMethodDeclaration(C1)?O0.getContextualTypeForObjectLiteralElement(C1):O0.getContextualType(C1);return me&&{contextualType:me,argumentIndex:O,argumentCount:b1,argumentsSpan:Px};case 217:var Re=H0(C1),gt=O0.getContextualType(Re),Vt=$x.kind===20?0:E0(C1)-1,wr=E0(Re);return gt&&{contextualType:gt,argumentIndex:Vt,argumentCount:wr,argumentsSpan:e.createTextSpanFromNode(C1)};default:return}}}(Nx,S0,I0);if(!!U0){var p0=U0.contextualType,p1=U0.argumentIndex,Y1=U0.argumentCount,N1=U0.argumentsSpan,V1=p0.getNonNullableType(),Ox=V1.getCallSignatures();return Ox.length!==1?void 0:{isTypeParameterList:!1,invocation:{kind:2,signature:e.first(Ox),node:Nx,symbol:I(V1.symbol)},argumentsSpan:N1,argumentIndex:p1,argumentCount:Y1}}}(k1,0,K0,G1)||i0(k1,I1,K0)}(Q0,d1,h1,S1);if(y1)return{value:y1}},$1=G0;!e.isSourceFile($1)&&(Q1||!e.isBlock($1));$1=$1.parent){var Z1=Y0($1);if(typeof Z1==\"object\")return Z1.value}}(k0,w0,l0,H,t0);if(f0){w.throwIfCancellationRequested();var y0=function(G0,d1,h1,S1,Q1){var Y0=G0.invocation,$1=G0.argumentCount;switch(Y0.kind){case 0:if(Q1&&!function(I1,K0,G1){if(!e.isCallOrNewExpression(K0))return!1;var Nx=K0.getChildren(G1);switch(I1.kind){case 20:return e.contains(Nx,I1);case 27:var n1=e.findContainingList(I1);return!!n1&&e.contains(Nx,n1);case 29:return m0(I1,G1,K0.expression);default:return!1}}(S1,Y0.node,h1))return;var Z1=[],Q0=d1.getResolvedSignatureForSignatureHelp(Y0.node,Z1,$1);return Z1.length===0?void 0:{kind:0,candidates:Z1,resolvedSignature:Q0};case 1:var y1=Y0.called;if(Q1&&!m0(S1,h1,e.isIdentifier(y1)?y1.parent:y1))return;if((Z1=e.getPossibleGenericSignatures(y1,$1,d1)).length!==0)return{kind:0,candidates:Z1,resolvedSignature:e.first(Z1)};var k1=d1.getSymbolAtLocation(y1);return k1&&{kind:1,symbol:k1};case 2:return{kind:0,candidates:[Y0.signature],resolvedSignature:Y0.signature};default:return e.Debug.assertNever(Y0)}}(f0,H,l0,k0,V0);return w.throwIfCancellationRequested(),y0?H.runWithCancellationToken(w,function(G0){return y0.kind===0?U(y0.candidates,y0.resolvedSignature,f0,l0,G0):function(d1,h1,S1,Q1){var Y0=h1.argumentCount,$1=h1.argumentsSpan,Z1=h1.invocation,Q0=h1.argumentIndex,y1=Q1.getLocalTypeParametersOfClassOrInterfaceOrTypeAlias(d1);return y1?{items:[g0(d1,y1,Q1,G(Z1),S1)],applicableSpan:$1,selectedItemIndex:0,argumentIndex:Q0,argumentCount:Y0}:void 0}(y0.symbol,f0,l0,G0)}):e.isSourceFileJS(l0)?function(G0,d1,h1){if(G0.invocation.kind!==2){var S1=j(G0.invocation),Q1=e.isPropertyAccessExpression(S1)?S1.name.text:void 0,Y0=d1.getTypeChecker();return Q1===void 0?void 0:e.firstDefined(d1.getSourceFiles(),function($1){return e.firstDefined($1.getNamedDeclarations().get(Q1),function(Z1){var Q0=Z1.symbol&&Y0.getTypeOfSymbolAtLocation(Z1.symbol,Z1),y1=Q0&&Q0.getCallSignatures();if(y1&&y1.length)return Y0.runWithCancellationToken(h1,function(k1){return U(y1,y1[0],G0,$1,k1,!0)})})})}}(f0,x0,w):void 0}}}},function(x0){x0[x0.Candidate=0]=\"Candidate\",x0[x0.Type=1]=\"Type\"}(J||(J={})),s.getArgumentInfoForCompletions=function(x0,l0,w0){var V=i0(x0,l0,w0);return!V||V.isTypeParameterList||V.invocation.kind!==0?void 0:{invocation:V.invocation.node,argumentCount:V.argumentCount,argumentIndex:V.argumentIndex}};var u0=70246400;function U(x0,l0,w0,V,w,H){var k0,V0=w0.isTypeParameterList,t0=w0.argumentCount,f0=w0.argumentsSpan,y0=w0.invocation,G0=w0.argumentIndex,d1=G(y0),h1=y0.kind===2?y0.symbol:w.getSymbolAtLocation(j(y0))||H&&((k0=l0.declaration)===null||k0===void 0?void 0:k0.symbol),S1=h1?e.symbolToDisplayParts(w,h1,H?V:void 0,void 0):e.emptyArray,Q1=e.map(x0,function(S0){return function(I0,U0,p0,p1,Y1,N1){var V1=(p0?P0:c0)(I0,p1,Y1,N1);return e.map(V1,function(Ox){var $x=Ox.isVariadic,rx=Ox.parameters,O0=Ox.prefix,C1=Ox.suffix,nx=D(D([],U0),O0),O=D(D([],C1),function(me,Re,gt){return e.mapToDisplayParts(function(Vt){Vt.writePunctuation(\":\"),Vt.writeSpace(\" \");var wr=gt.getTypePredicateOfSignature(me);wr?gt.writeTypePredicate(wr,Re,void 0,Vt):gt.writeType(gt.getReturnTypeOfSignature(me),Re,void 0,Vt)})}(I0,Y1,p1)),b1=I0.getDocumentationComment(p1),Px=I0.getJsDocTags();return{isVariadic:$x,prefixDisplayParts:nx,suffixDisplayParts:O,separatorDisplayParts:d0,parameters:rx,documentation:b1,tags:Px}})}(S0,S1,V0,w,d1,V)});G0!==0&&e.Debug.assertLessThan(G0,t0);for(var Y0=0,$1=0,Z1=0;Z1<Q1.length;Z1++){var Q0=Q1[Z1];if(x0[Z1]===l0&&(Y0=$1,Q0.length>1))for(var y1=0,k1=0,I1=Q0;k1<I1.length;k1++){var K0=I1[k1];if(K0.isVariadic||K0.parameters.length>=t0){Y0=$1+y1;break}y1++}$1+=Q0.length}e.Debug.assert(Y0!==-1);var G1={items:e.flatMapToMutable(Q1,e.identity),applicableSpan:f0,selectedItemIndex:Y0,argumentIndex:G0,argumentCount:t0},Nx=G1.items[Y0];if(Nx.isVariadic){var n1=e.findIndex(Nx.parameters,function(S0){return!!S0.isRest});-1<n1&&n1<Nx.parameters.length-1?G1.argumentIndex=Nx.parameters.length:G1.argumentIndex=Math.min(G1.argumentIndex,Nx.parameters.length-1)}return G1}function g0(x0,l0,w0,V,w){var H=e.symbolToDisplayParts(w0,x0),k0=e.createPrinter({removeComments:!0}),V0=l0.map(function(y0){return D0(y0,w0,V,w,k0)}),t0=x0.getDocumentationComment(w0),f0=x0.getJsDocTags(w0);return{isVariadic:!1,prefixDisplayParts:D(D([],H),[e.punctuationPart(29)]),suffixDisplayParts:[e.punctuationPart(31)],separatorDisplayParts:d0,parameters:V0,documentation:t0,tags:f0}}var d0=[e.punctuationPart(27),e.spacePart()];function P0(x0,l0,w0,V){var w=(x0.target||x0).typeParameters,H=e.createPrinter({removeComments:!0}),k0=(w||e.emptyArray).map(function(t0){return D0(t0,l0,w0,V,H)}),V0=x0.thisParameter?[l0.symbolToParameterDeclaration(x0.thisParameter,w0,u0)]:[];return l0.getExpandedParameters(x0).map(function(t0){var f0=e.factory.createNodeArray(D(D([],V0),e.map(t0,function(G0){return l0.symbolToParameterDeclaration(G0,w0,u0)}))),y0=e.mapToDisplayParts(function(G0){H.writeList(2576,f0,V,G0)});return{isVariadic:!1,parameters:k0,prefix:[e.punctuationPart(29)],suffix:D([e.punctuationPart(31)],y0)}})}function c0(x0,l0,w0,V){var w=l0.hasEffectiveRestParameter(x0),H=e.createPrinter({removeComments:!0}),k0=e.mapToDisplayParts(function(t0){if(x0.typeParameters&&x0.typeParameters.length){var f0=e.factory.createNodeArray(x0.typeParameters.map(function(y0){return l0.typeParameterToDeclaration(y0,w0,u0)}));H.writeList(53776,f0,V,t0)}}),V0=l0.getExpandedParameters(x0);return V0.map(function(t0){return{isVariadic:w&&(V0.length===1||!!(32768&t0[t0.length-1].checkFlags)),parameters:t0.map(function(f0){return function(y0,G0,d1,h1,S1){var Q1=e.mapToDisplayParts(function(Z1){var Q0=G0.symbolToParameterDeclaration(y0,d1,u0);S1.writeNode(4,Q0,h1,Z1)}),Y0=G0.isOptionalParameter(y0.valueDeclaration),$1=!!(32768&y0.checkFlags);return{name:y0.name,documentation:y0.getDocumentationComment(G0),displayParts:Q1,isOptional:Y0,isRest:$1}}(f0,l0,w0,V,H)}),prefix:D(D([],k0),[e.punctuationPart(20)]),suffix:[e.punctuationPart(21)]}})}function D0(x0,l0,w0,V,w){var H=e.mapToDisplayParts(function(k0){var V0=l0.typeParameterToDeclaration(x0,w0,u0);w.writeNode(4,V0,V,k0)});return{name:x0.symbol.name,documentation:x0.symbol.getDocumentationComment(l0),displayParts:H,isOptional:!1,isRest:!1}}})(e.SignatureHelp||(e.SignatureHelp={}))}(_0||(_0={})),function(e){var s=/^data:(?:application\\/json(?:;charset=[uU][tT][fF]-8);base64,([A-Za-z0-9+\\/=]+)$)?/;function X(J,m0,s1){var i0=e.tryParseRawSourceMap(m0);if(i0&&i0.sources&&i0.file&&i0.mappings&&(!i0.sourcesContent||!i0.sourcesContent.some(e.isString)))return e.createDocumentPositionMapper(J,i0,s1)}e.getSourceMapper=function(J){var m0=e.createGetCanonicalFileName(J.useCaseSensitiveFileNames()),s1=J.getCurrentDirectory(),i0=new e.Map,H0=new e.Map;return{tryGetSourcePosition:function o0(j){if(!!e.isDeclarationFileName(j.fileName)&&!!A(j.fileName)){var G=I(j.fileName).getSourcePosition(j);return G&&G!==j?o0(G)||G:void 0}},tryGetGeneratedPosition:function(o0){if(!e.isDeclarationFileName(o0.fileName)){var j=A(o0.fileName);if(!!j){var G=J.getProgram();if(!G.isSourceOfProjectReferenceRedirect(j.fileName)){var u0=G.getCompilerOptions(),U=e.outFile(u0),g0=U?e.removeFileExtension(U)+\".d.ts\":e.getDeclarationEmitOutputFilePathWorker(o0.fileName,G.getCompilerOptions(),s1,G.getCommonSourceDirectory(),m0);if(g0!==void 0){var d0=I(g0,o0.fileName).getGeneratedPosition(o0);return d0===o0?void 0:d0}}}}},toLineColumnOffset:function(o0,j){return A0(o0).getLineAndCharacterOfPosition(j)},clearCache:function(){i0.clear(),H0.clear()}};function E0(o0){return e.toPath(o0,s1,m0)}function I(o0,j){var G,u0=E0(o0),U=H0.get(u0);if(U)return U;if(J.getDocumentPositionMapper)G=J.getDocumentPositionMapper(o0,j);else if(J.readFile){var g0=A0(o0);G=g0&&e.getDocumentPositionMapper({getSourceFileLike:A0,getCanonicalFileName:m0,log:function(d0){return J.log(d0)}},o0,e.getLineInfo(g0.text,e.getLineStarts(g0)),function(d0){return!J.fileExists||J.fileExists(d0)?J.readFile(d0):void 0})}return H0.set(u0,G||e.identitySourceMapConsumer),G||e.identitySourceMapConsumer}function A(o0){var j=J.getProgram();if(j){var G=E0(o0),u0=j.getSourceFileByPath(G);return u0&&u0.resolvedPath===G?u0:void 0}}function Z(o0){var j=E0(o0),G=i0.get(j);if(G!==void 0)return G||void 0;if(J.readFile&&(!J.fileExists||J.fileExists(j))){var u0=J.readFile(j),U=!!u0&&function(g0,d0){return{text:g0,lineMap:d0,getLineAndCharacterOfPosition:function(P0){return e.computeLineAndCharacterOfPosition(e.getLineStarts(this),P0)}}}(u0);return i0.set(j,U),U||void 0}i0.set(j,!1)}function A0(o0){return J.getSourceFileLike?J.getSourceFileLike(o0):A(o0)||Z(o0)}},e.getDocumentPositionMapper=function(J,m0,s1,i0){var H0=e.tryGetSourceMappingURL(s1);if(H0){var E0=s.exec(H0);if(E0){if(E0[1]){var I=E0[1];return X(J,e.base64decode(e.sys,I),m0)}H0=void 0}}var A=[];H0&&A.push(H0),A.push(m0+\".map\");for(var Z=H0&&e.getNormalizedAbsolutePath(H0,e.getDirectoryPath(m0)),A0=0,o0=A;A0<o0.length;A0++){var j=o0[A0],G=e.getNormalizedAbsolutePath(j,e.getDirectoryPath(m0)),u0=i0(G,Z);if(e.isString(u0))return X(J,u0,G);if(u0!==void 0)return u0||void 0}}}(_0||(_0={})),function(e){var s=new e.Map;function X(Z){return e.isPropertyAccessExpression(Z)?X(Z.expression):Z}function J(Z){switch(Z.kind){case 262:var A0=Z.importClause,o0=Z.moduleSpecifier;return A0&&!A0.name&&A0.namedBindings&&A0.namedBindings.kind===264&&e.isStringLiteral(o0)?A0.namedBindings.name:void 0;case 261:return Z.name;default:return}}function m0(Z,A0){var o0=A0.getSignatureFromDeclaration(Z),j=o0?A0.getReturnTypeOfSignature(o0):void 0;return!!j&&!!A0.getPromisedTypeOfPromise(j)}function s1(Z,A0){return e.isReturnStatement(Z)&&!!Z.expression&&i0(Z.expression,A0)}function i0(Z,A0){if(!H0(Z)||!Z.arguments.every(function(j){return E0(j,A0)}))return!1;for(var o0=Z.expression;H0(o0)||e.isPropertyAccessExpression(o0);){if(e.isCallExpression(o0)&&!o0.arguments.every(function(j){return E0(j,A0)}))return!1;o0=o0.expression}return!0}function H0(Z){return e.isCallExpression(Z)&&(e.hasPropertyAccessExpressionWithName(Z,\"then\")&&function(A0){return!(A0.arguments.length>2)&&(A0.arguments.length<2||e.some(A0.arguments,function(o0){return o0.kind===103||e.isIdentifier(o0)&&o0.text===\"undefined\"}))}(Z)||e.hasPropertyAccessExpressionWithName(Z,\"catch\"))}function E0(Z,A0){switch(Z.kind){case 252:case 209:case 210:s.set(I(Z),!0);case 103:return!0;case 78:case 202:var o0=A0.getSymbolAtLocation(Z);return!!o0&&(A0.isUndefinedSymbol(o0)||e.some(e.skipAlias(o0,A0).declarations,function(j){return e.isFunctionLike(j)||e.hasInitializer(j)&&!!j.initializer&&e.isFunctionLike(j.initializer)}));default:return!1}}function I(Z){return Z.pos.toString()+\":\"+Z.end.toString()}function A(Z){switch(Z.kind){case 252:case 166:case 209:case 210:return!0;default:return!1}}e.computeSuggestionDiagnostics=function(Z,A0,o0){A0.getSemanticDiagnostics(Z,o0);var j,G=[],u0=A0.getTypeChecker();Z.commonJsModuleIndicator&&(e.programContainsEs6Modules(A0)||e.compilerOptionsIndicateEs6Modules(A0.getCompilerOptions()))&&function(l0){return l0.statements.some(function(w0){switch(w0.kind){case 233:return w0.declarationList.declarations.some(function(H){return!!H.initializer&&e.isRequireCall(X(H.initializer),!0)});case 234:var V=w0.expression;if(!e.isBinaryExpression(V))return e.isRequireCall(V,!0);var w=e.getAssignmentDeclarationKind(V);return w===1||w===2;default:return!1}})}(Z)&&G.push(e.createDiagnosticForNode((j=Z.commonJsModuleIndicator,e.isBinaryExpression(j)?j.left:j),e.Diagnostics.File_is_a_CommonJS_module_it_may_be_converted_to_an_ES6_module));var U=e.isSourceFileJS(Z);if(s.clear(),function l0(w0){if(U)(function(w,H){var k0,V0,t0,f0;if(w.kind===209){if(e.isVariableDeclaration(w.parent)&&((k0=w.symbol.members)===null||k0===void 0?void 0:k0.size))return!0;var y0=H.getSymbolOfExpando(w,!1);return!(!y0||!((V0=y0.exports)===null||V0===void 0?void 0:V0.size)&&!((t0=y0.members)===null||t0===void 0?void 0:t0.size))}return w.kind===252?!!((f0=w.symbol.members)===null||f0===void 0?void 0:f0.size):!1})(w0,u0)&&G.push(e.createDiagnosticForNode(e.isVariableDeclaration(w0.parent)?w0.parent.name:w0,e.Diagnostics.This_constructor_function_may_be_converted_to_a_class_declaration));else{if(e.isVariableStatement(w0)&&w0.parent===Z&&2&w0.declarationList.flags&&w0.declarationList.declarations.length===1){var V=w0.declarationList.declarations[0].initializer;V&&e.isRequireCall(V,!0)&&G.push(e.createDiagnosticForNode(V,e.Diagnostics.require_call_may_be_converted_to_an_import))}e.codefix.parameterShouldGetTypeFromJSDoc(w0)&&G.push(e.createDiagnosticForNode(w0.name||w0,e.Diagnostics.JSDoc_types_may_be_moved_to_TypeScript_types))}A(w0)&&function(w,H,k0){(function(V0,t0){return!e.isAsyncFunction(V0)&&V0.body&&e.isBlock(V0.body)&&function(f0,y0){return!!e.forEachReturnStatement(f0,function(G0){return s1(G0,y0)})}(V0.body,t0)&&m0(V0,t0)})(w,H)&&!s.has(I(w))&&k0.push(e.createDiagnosticForNode(!w.name&&e.isVariableDeclaration(w.parent)&&e.isIdentifier(w.parent.name)?w.parent.name:w,e.Diagnostics.This_may_be_converted_to_an_async_function))}(w0,u0,G),w0.forEachChild(l0)}(Z),e.getAllowSyntheticDefaultImports(A0.getCompilerOptions()))for(var g0=0,d0=Z.imports;g0<d0.length;g0++){var P0=d0[g0],c0=J(e.importFromModuleSpecifier(P0));if(c0){var D0=e.getResolvedModule(Z,P0.text),x0=D0&&A0.getSourceFile(D0.resolvedFileName);x0&&x0.externalModuleIndicator&&e.isExportAssignment(x0.externalModuleIndicator)&&x0.externalModuleIndicator.isExportEquals&&G.push(e.createDiagnosticForNode(c0,e.Diagnostics.Import_may_be_converted_to_a_default_import))}}return e.addRange(G,Z.bindSuggestionDiagnostics),e.addRange(G,A0.getSuggestionDiagnostics(Z,o0)),G.sort(function(l0,w0){return l0.start-w0.start})},e.returnsPromise=m0,e.isReturnStatementWithFixablePromiseHandler=s1,e.isFixablePromiseHandler=i0,e.canBeConvertedToAsync=A}(_0||(_0={})),function(e){(function(s){var X=70246400;function J(E0,I,A){var Z=m0(E0,I,A);if(Z!==\"\")return Z;var A0=e.getCombinedLocalAndExportSymbolFlags(I);return 32&A0?e.getDeclarationOfKind(I,222)?\"local class\":\"class\":384&A0?\"enum\":524288&A0?\"type\":64&A0?\"interface\":262144&A0?\"type parameter\":8&A0?\"enum member\":2097152&A0?\"alias\":1536&A0?\"module\":Z}function m0(E0,I,A){var Z=E0.getRootSymbols(I);if(Z.length===1&&8192&e.first(Z).flags&&E0.getTypeOfSymbolAtLocation(I,A).getNonNullableType().getCallSignatures().length!==0)return\"method\";if(E0.isUndefinedSymbol(I))return\"var\";if(E0.isArgumentsSymbol(I))return\"local var\";if(A.kind===107&&e.isExpression(A))return\"parameter\";var A0=e.getCombinedLocalAndExportSymbolFlags(I);if(3&A0)return e.isFirstDeclarationOfSymbolParameter(I)?\"parameter\":I.valueDeclaration&&e.isVarConst(I.valueDeclaration)?\"const\":e.forEach(I.declarations,e.isLet)?\"let\":H0(I)?\"local var\":\"var\";if(16&A0)return H0(I)?\"local function\":\"function\";if(32768&A0)return\"getter\";if(65536&A0)return\"setter\";if(8192&A0)return\"method\";if(16384&A0)return\"constructor\";if(4&A0){if(33554432&A0&&6&I.checkFlags){var o0=e.forEach(E0.getRootSymbols(I),function(j){if(98311&j.getFlags())return\"property\"});return o0||(E0.getTypeOfSymbolAtLocation(I,A).getCallSignatures().length?\"method\":\"property\")}switch(A.parent&&A.parent.kind){case 276:case 274:case 275:return A.kind===78?\"property\":\"JSX attribute\";case 281:return\"JSX attribute\";default:return\"property\"}}return\"\"}function s1(E0){return!!(8192&e.getCombinedNodeFlagsAlwaysIncludeJSDoc(E0))}function i0(E0){if(E0.declarations&&E0.declarations.length){var I=E0.declarations,A=I[0],Z=I.slice(1),A0=e.length(Z)&&s1(A)&&e.some(Z,function(j){return!s1(j)})?8192:0,o0=e.getNodeModifiers(A,A0);if(o0)return o0.split(\",\")}return[]}function H0(E0){return!E0.parent&&e.forEach(E0.declarations,function(I){if(I.kind===209)return!0;if(I.kind!==250&&I.kind!==252)return!1;for(var A=I.parent;!e.isFunctionBlock(A);A=A.parent)if(A.kind===298||A.kind===258)return!1;return!0})}s.getSymbolKind=J,s.getSymbolModifiers=function(E0,I){if(!I)return\"\";var A=new e.Set(i0(I));if(2097152&I.flags){var Z=E0.getAliasedSymbol(I);Z!==I&&e.forEach(i0(Z),function(A0){A.add(A0)})}return 16777216&I.flags&&A.add(\"optional\"),A.size>0?e.arrayFrom(A.values()).join(\",\"):\"\"},s.getSymbolDisplayPartsDocumentationAndSymbolKind=function E0(I,A,Z,A0,o0,j,G){var u0;j===void 0&&(j=e.getMeaningFromLocation(o0));var U,g0,d0,P0,c0=[],D0=[],x0=[],l0=e.getCombinedLocalAndExportSymbolFlags(A),w0=1&j?m0(I,A,o0):\"\",V=!1,w=o0.kind===107&&e.isInExpressionContext(o0),H=!1;if(o0.kind===107&&!w)return{displayParts:[e.keywordPart(107)],documentation:[],symbolKind:\"primitive type\",tags:void 0};if(w0!==\"\"||32&l0||2097152&l0){w0!==\"getter\"&&w0!==\"setter\"||(w0=\"property\");var k0=void 0;if(U=w?I.getTypeAtLocation(o0):I.getTypeOfSymbolAtLocation(A,o0),o0.parent&&o0.parent.kind===202){var V0=o0.parent.name;(V0===o0||V0&&V0.getFullWidth()===0)&&(o0=o0.parent)}var t0=void 0;if(e.isCallOrNewExpression(o0)?t0=o0:(e.isCallExpressionTarget(o0)||e.isNewExpressionTarget(o0)||o0.parent&&(e.isJsxOpeningLikeElement(o0.parent)||e.isTaggedTemplateExpression(o0.parent))&&e.isFunctionLike(A.valueDeclaration))&&(t0=o0.parent),t0){k0=I.getResolvedSignature(t0);var f0=t0.kind===205||e.isCallExpression(t0)&&t0.expression.kind===105,y0=f0?U.getConstructSignatures():U.getCallSignatures();if(!k0||e.contains(y0,k0.target)||e.contains(y0,k0)||(k0=y0.length?y0[0]:void 0),k0){switch(f0&&32&l0?(w0=\"constructor\",Y1(U.symbol,w0)):2097152&l0?(N1(w0=\"alias\"),c0.push(e.spacePart()),f0&&(4&k0.flags&&(c0.push(e.keywordPart(125)),c0.push(e.spacePart())),c0.push(e.keywordPart(102)),c0.push(e.spacePart())),p1(A)):Y1(A,w0),w0){case\"JSX attribute\":case\"property\":case\"var\":case\"const\":case\"let\":case\"parameter\":case\"local var\":c0.push(e.punctuationPart(58)),c0.push(e.spacePart()),16&e.getObjectFlags(U)||!U.symbol||(e.addRange(c0,e.symbolToDisplayParts(I,U.symbol,A0,void 0,5)),c0.push(e.lineBreakPart())),f0&&(4&k0.flags&&(c0.push(e.keywordPart(125)),c0.push(e.spacePart())),c0.push(e.keywordPart(102)),c0.push(e.spacePart())),V1(k0,y0,262144);break;default:V1(k0,y0)}V=!0,H=y0.length>1}}else if(e.isNameOfFunctionDeclaration(o0)&&!(98304&l0)||o0.kind===132&&o0.parent.kind===167){var G0=o0.parent;A.declarations&&e.find(A.declarations,function($x){return $x===(o0.kind===132?G0.parent:G0)})&&(y0=G0.kind===167?U.getNonNullableType().getConstructSignatures():U.getNonNullableType().getCallSignatures(),k0=I.isImplementationOfOverload(G0)?y0[0]:I.getSignatureFromDeclaration(G0),G0.kind===167?(w0=\"constructor\",Y1(U.symbol,w0)):Y1(G0.kind!==170||2048&U.symbol.flags||4096&U.symbol.flags?A:U.symbol,w0),k0&&V1(k0,y0),V=!0,H=y0.length>1)}}if(32&l0&&!V&&!w&&(U0(),e.getDeclarationOfKind(A,222)?N1(\"local class\"):c0.push(e.keywordPart(83)),c0.push(e.spacePart()),p1(A),Ox(A,Z)),64&l0&&2&j&&(I0(),c0.push(e.keywordPart(117)),c0.push(e.spacePart()),p1(A),Ox(A,Z)),524288&l0&&2&j&&(I0(),c0.push(e.keywordPart(149)),c0.push(e.spacePart()),p1(A),Ox(A,Z),c0.push(e.spacePart()),c0.push(e.operatorPart(62)),c0.push(e.spacePart()),e.addRange(c0,e.typeToDisplayParts(I,I.getDeclaredTypeOfSymbol(A),A0,8388608))),384&l0&&(I0(),e.some(A.declarations,function($x){return e.isEnumDeclaration($x)&&e.isEnumConst($x)})&&(c0.push(e.keywordPart(84)),c0.push(e.spacePart())),c0.push(e.keywordPart(91)),c0.push(e.spacePart()),p1(A)),1536&l0&&!w){I0();var d1=(Nx=e.getDeclarationOfKind(A,257))&&Nx.name&&Nx.name.kind===78;c0.push(e.keywordPart(d1?140:139)),c0.push(e.spacePart()),p1(A)}if(262144&l0&&2&j)if(I0(),c0.push(e.punctuationPart(20)),c0.push(e.textPart(\"type parameter\")),c0.push(e.punctuationPart(21)),c0.push(e.spacePart()),p1(A),A.parent)p0(),p1(A.parent,A0),Ox(A.parent,A0);else{var h1=e.getDeclarationOfKind(A,160);if(h1===void 0)return e.Debug.fail();(Nx=h1.parent)&&(e.isFunctionLikeKind(Nx.kind)?(p0(),k0=I.getSignatureFromDeclaration(Nx),Nx.kind===171?(c0.push(e.keywordPart(102)),c0.push(e.spacePart())):Nx.kind!==170&&Nx.name&&p1(Nx.symbol),e.addRange(c0,e.signatureToDisplayParts(I,k0,Z,32))):Nx.kind===255&&(p0(),c0.push(e.keywordPart(149)),c0.push(e.spacePart()),p1(Nx.symbol),Ox(Nx.symbol,Z)))}if(8&l0&&(w0=\"enum member\",Y1(A,\"enum member\"),((Nx=(u0=A.declarations)===null||u0===void 0?void 0:u0[0])==null?void 0:Nx.kind)===292)){var S1=I.getConstantValue(Nx);S1!==void 0&&(c0.push(e.spacePart()),c0.push(e.operatorPart(62)),c0.push(e.spacePart()),c0.push(e.displayPart(e.getTextOfConstantValue(S1),typeof S1==\"number\"?e.SymbolDisplayPartKind.numericLiteral:e.SymbolDisplayPartKind.stringLiteral)))}if(2097152&A.flags){if(I0(),!V){var Q1=I.getAliasedSymbol(A);if(Q1!==A&&Q1.declarations&&Q1.declarations.length>0){var Y0=Q1.declarations[0],$1=e.getNameOfDeclaration(Y0);if($1){var Z1=e.isModuleWithStringLiteralName(Y0)&&e.hasSyntacticModifier(Y0,2),Q0=A.name!==\"default\"&&!Z1,y1=E0(I,Q1,e.getSourceFileOfNode(Y0),Y0,$1,j,Q0?A:Q1);c0.push.apply(c0,y1.displayParts),c0.push(e.lineBreakPart()),d0=y1.documentation,P0=y1.tags}else d0=Q1.getContextualDocumentationComment(Y0,I),P0=Q1.getJsDocTags(I)}}if(A.declarations)switch(A.declarations[0].kind){case 260:c0.push(e.keywordPart(92)),c0.push(e.spacePart()),c0.push(e.keywordPart(140));break;case 267:c0.push(e.keywordPart(92)),c0.push(e.spacePart()),c0.push(e.keywordPart(A.declarations[0].isExportEquals?62:87));break;case 271:c0.push(e.keywordPart(92));break;default:c0.push(e.keywordPart(99))}c0.push(e.spacePart()),p1(A),e.forEach(A.declarations,function($x){if($x.kind===261){var rx=$x;if(e.isExternalModuleImportEqualsDeclaration(rx))c0.push(e.spacePart()),c0.push(e.operatorPart(62)),c0.push(e.spacePart()),c0.push(e.keywordPart(143)),c0.push(e.punctuationPart(20)),c0.push(e.displayPart(e.getTextOfNode(e.getExternalModuleImportEqualsDeclarationExpression(rx)),e.SymbolDisplayPartKind.stringLiteral)),c0.push(e.punctuationPart(21));else{var O0=I.getSymbolAtLocation(rx.moduleReference);O0&&(c0.push(e.spacePart()),c0.push(e.operatorPart(62)),c0.push(e.spacePart()),p1(O0,A0))}return!0}})}if(!V)if(w0!==\"\"){if(U)if(w?(I0(),c0.push(e.keywordPart(107))):Y1(A,w0),w0===\"property\"||w0===\"JSX attribute\"||3&l0||w0===\"local var\"||w){if(c0.push(e.punctuationPart(58)),c0.push(e.spacePart()),U.symbol&&262144&U.symbol.flags){var k1=e.mapToDisplayParts(function($x){var rx=I.typeParameterToDeclaration(U,A0,X);S0().writeNode(4,rx,e.getSourceFileOfNode(e.getParseTreeNode(A0)),$x)});e.addRange(c0,k1)}else e.addRange(c0,e.typeToDisplayParts(I,U,A0));if(A.target&&A.target.tupleLabelDeclaration){var I1=A.target.tupleLabelDeclaration;e.Debug.assertNode(I1.name,e.isIdentifier),c0.push(e.spacePart()),c0.push(e.punctuationPart(20)),c0.push(e.textPart(e.idText(I1.name))),c0.push(e.punctuationPart(21))}}else(16&l0||8192&l0||16384&l0||131072&l0||98304&l0||w0===\"method\")&&(y0=U.getNonNullableType().getCallSignatures()).length&&(V1(y0[0],y0),H=y0.length>1)}else w0=J(I,A,o0);if(D0.length!==0||H||(D0=A.getContextualDocumentationComment(A0,I)),D0.length===0&&4&l0&&A.parent&&A.declarations&&e.forEach(A.parent.declarations,function($x){return $x.kind===298}))for(var K0=0,G1=A.declarations;K0<G1.length;K0++){var Nx;if((Nx=G1[K0]).parent&&Nx.parent.kind===217){var n1=I.getSymbolAtLocation(Nx.parent.right);if(n1&&(D0=n1.getDocumentationComment(I),x0=n1.getJsDocTags(I),D0.length>0))break}}return x0.length!==0||H||(x0=A.getJsDocTags(I)),D0.length===0&&d0&&(D0=d0),x0.length===0&&P0&&(x0=P0),{displayParts:c0,documentation:D0,symbolKind:w0,tags:x0.length===0?void 0:x0};function S0(){return g0||(g0=e.createPrinter({removeComments:!0})),g0}function I0(){c0.length&&c0.push(e.lineBreakPart()),U0()}function U0(){G&&(N1(\"alias\"),c0.push(e.spacePart()))}function p0(){c0.push(e.spacePart()),c0.push(e.keywordPart(100)),c0.push(e.spacePart())}function p1($x,rx){G&&$x===A&&($x=G);var O0=e.symbolToDisplayParts(I,$x,rx||Z,void 0,7);e.addRange(c0,O0),16777216&A.flags&&c0.push(e.punctuationPart(57))}function Y1($x,rx){I0(),rx&&(N1(rx),$x&&!e.some($x.declarations,function(O0){return e.isArrowFunction(O0)||(e.isFunctionExpression(O0)||e.isClassExpression(O0))&&!O0.name})&&(c0.push(e.spacePart()),p1($x)))}function N1($x){switch($x){case\"var\":case\"function\":case\"let\":case\"const\":case\"constructor\":return void c0.push(e.textOrKeywordPart($x));default:return c0.push(e.punctuationPart(20)),c0.push(e.textOrKeywordPart($x)),void c0.push(e.punctuationPart(21))}}function V1($x,rx,O0){O0===void 0&&(O0=0),e.addRange(c0,e.signatureToDisplayParts(I,$x,A0,32|O0)),rx.length>1&&(c0.push(e.spacePart()),c0.push(e.punctuationPart(20)),c0.push(e.operatorPart(39)),c0.push(e.displayPart((rx.length-1).toString(),e.SymbolDisplayPartKind.numericLiteral)),c0.push(e.spacePart()),c0.push(e.textPart(rx.length===2?\"overload\":\"overloads\")),c0.push(e.punctuationPart(21))),D0=$x.getDocumentationComment(I),x0=$x.getJsDocTags(),rx.length>1&&D0.length===0&&x0.length===0&&(D0=rx[0].getDocumentationComment(I),x0=rx[0].getJsDocTags())}function Ox($x,rx){var O0=e.mapToDisplayParts(function(C1){var nx=I.symbolToTypeParameterDeclarations($x,rx,X);S0().writeList(53776,nx,e.getSourceFileOfNode(e.getParseTreeNode(rx)),C1)});e.addRange(c0,O0)}}})(e.SymbolDisplay||(e.SymbolDisplay={}))}(_0||(_0={})),function(e){function s(m0,s1){var i0=[],H0=s1.compilerOptions?J(s1.compilerOptions,i0):{},E0=e.getDefaultCompilerOptions();for(var I in E0)e.hasProperty(E0,I)&&H0[I]===void 0&&(H0[I]=E0[I]);for(var A=0,Z=e.transpileOptionValueCompilerOptions;A<Z.length;A++){var A0=Z[A];H0[A0.name]=A0.transpileOptionValue}H0.suppressOutputPathCheck=!0,H0.allowNonTsExtensions=!0;var o0=s1.fileName||(s1.compilerOptions&&s1.compilerOptions.jsx?\"module.tsx\":\"module.ts\"),j=e.createSourceFile(o0,m0,H0.target);s1.moduleName&&(j.moduleName=s1.moduleName),s1.renamedDependencies&&(j.renamedDependencies=new e.Map(e.getEntries(s1.renamedDependencies)));var G,u0,U=e.getNewLineCharacter(H0),g0={getSourceFile:function(P0){return P0===e.normalizePath(o0)?j:void 0},writeFile:function(P0,c0){e.fileExtensionIs(P0,\".map\")?(e.Debug.assertEqual(u0,void 0,\"Unexpected multiple source map outputs, file:\",P0),u0=c0):(e.Debug.assertEqual(G,void 0,\"Unexpected multiple outputs, file:\",P0),G=c0)},getDefaultLibFileName:function(){return\"lib.d.ts\"},useCaseSensitiveFileNames:function(){return!1},getCanonicalFileName:function(P0){return P0},getCurrentDirectory:function(){return\"\"},getNewLine:function(){return U},fileExists:function(P0){return P0===o0},readFile:function(){return\"\"},directoryExists:function(){return!0},getDirectories:function(){return[]}},d0=e.createProgram([o0],H0,g0);return s1.reportDiagnostics&&(e.addRange(i0,d0.getSyntacticDiagnostics(j)),e.addRange(i0,d0.getOptionsDiagnostics())),d0.emit(void 0,void 0,void 0,void 0,s1.transformers),G===void 0?e.Debug.fail(\"Output generation failed\"):{outputText:G,diagnostics:i0,sourceMapText:u0}}var X;function J(m0,s1){X=X||e.filter(e.optionDeclarations,function(I){return typeof I.type==\"object\"&&!e.forEachEntry(I.type,function(A){return typeof A!=\"number\"})}),m0=e.cloneCompilerOptions(m0);for(var i0=function(I){if(!e.hasProperty(m0,I.name))return\"continue\";var A=m0[I.name];e.isString(A)?m0[I.name]=e.parseCustomTypeOption(I,A,s1):e.forEachEntry(I.type,function(Z){return Z===A})||s1.push(e.createCompilerDiagnosticForInvalidCustomType(I))},H0=0,E0=X;H0<E0.length;H0++)i0(E0[H0]);return m0}e.transpileModule=s,e.transpile=function(m0,s1,i0,H0,E0){var I=s(m0,{compilerOptions:s1,fileName:i0,reportDiagnostics:!!H0,moduleName:E0});return e.addRange(H0,I.diagnostics),I.outputText},e.fixupCompilerOptions=J}(_0||(_0={})),function(e){(function(s){var X;(X=s.FormattingRequestKind||(s.FormattingRequestKind={}))[X.FormatDocument=0]=\"FormatDocument\",X[X.FormatSelection=1]=\"FormatSelection\",X[X.FormatOnEnter=2]=\"FormatOnEnter\",X[X.FormatOnSemicolon=3]=\"FormatOnSemicolon\",X[X.FormatOnOpeningCurlyBrace=4]=\"FormatOnOpeningCurlyBrace\",X[X.FormatOnClosingCurlyBrace=5]=\"FormatOnClosingCurlyBrace\";var J=function(){function m0(s1,i0,H0){this.sourceFile=s1,this.formattingRequestKind=i0,this.options=H0}return m0.prototype.updateContext=function(s1,i0,H0,E0,I){this.currentTokenSpan=e.Debug.checkDefined(s1),this.currentTokenParent=e.Debug.checkDefined(i0),this.nextTokenSpan=e.Debug.checkDefined(H0),this.nextTokenParent=e.Debug.checkDefined(E0),this.contextNode=e.Debug.checkDefined(I),this.contextNodeAllOnSameLine=void 0,this.nextNodeAllOnSameLine=void 0,this.tokensAreOnSameLine=void 0,this.contextNodeBlockIsOnOneLine=void 0,this.nextNodeBlockIsOnOneLine=void 0},m0.prototype.ContextNodeAllOnSameLine=function(){return this.contextNodeAllOnSameLine===void 0&&(this.contextNodeAllOnSameLine=this.NodeIsOnOneLine(this.contextNode)),this.contextNodeAllOnSameLine},m0.prototype.NextNodeAllOnSameLine=function(){return this.nextNodeAllOnSameLine===void 0&&(this.nextNodeAllOnSameLine=this.NodeIsOnOneLine(this.nextTokenParent)),this.nextNodeAllOnSameLine},m0.prototype.TokensAreOnSameLine=function(){if(this.tokensAreOnSameLine===void 0){var s1=this.sourceFile.getLineAndCharacterOfPosition(this.currentTokenSpan.pos).line,i0=this.sourceFile.getLineAndCharacterOfPosition(this.nextTokenSpan.pos).line;this.tokensAreOnSameLine=s1===i0}return this.tokensAreOnSameLine},m0.prototype.ContextNodeBlockIsOnOneLine=function(){return this.contextNodeBlockIsOnOneLine===void 0&&(this.contextNodeBlockIsOnOneLine=this.BlockIsOnOneLine(this.contextNode)),this.contextNodeBlockIsOnOneLine},m0.prototype.NextNodeBlockIsOnOneLine=function(){return this.nextNodeBlockIsOnOneLine===void 0&&(this.nextNodeBlockIsOnOneLine=this.BlockIsOnOneLine(this.nextTokenParent)),this.nextNodeBlockIsOnOneLine},m0.prototype.NodeIsOnOneLine=function(s1){return this.sourceFile.getLineAndCharacterOfPosition(s1.getStart(this.sourceFile)).line===this.sourceFile.getLineAndCharacterOfPosition(s1.getEnd()).line},m0.prototype.BlockIsOnOneLine=function(s1){var i0=e.findChildOfKind(s1,18,this.sourceFile),H0=e.findChildOfKind(s1,19,this.sourceFile);return!(!i0||!H0)&&this.sourceFile.getLineAndCharacterOfPosition(i0.getEnd()).line===this.sourceFile.getLineAndCharacterOfPosition(H0.getStart(this.sourceFile)).line},m0}();s.FormattingContext=J})(e.formatting||(e.formatting={}))}(_0||(_0={})),function(e){var s,X,J,m0;s=e.formatting||(e.formatting={}),J=e.createScanner(99,!1,0),m0=e.createScanner(99,!1,1),function(s1){s1[s1.Scan=0]=\"Scan\",s1[s1.RescanGreaterThanToken=1]=\"RescanGreaterThanToken\",s1[s1.RescanSlashToken=2]=\"RescanSlashToken\",s1[s1.RescanTemplateToken=3]=\"RescanTemplateToken\",s1[s1.RescanJsxIdentifier=4]=\"RescanJsxIdentifier\",s1[s1.RescanJsxText=5]=\"RescanJsxText\",s1[s1.RescanJsxAttributeValue=6]=\"RescanJsxAttributeValue\"}(X||(X={})),s.getFormattingScanner=function(s1,i0,H0,E0,I){var A=i0===1?m0:J;A.setText(s1),A.setTextPos(H0);var Z,A0,o0,j,G,u0=!0,U=I({advance:function(){G=void 0,A.getStartPos()!==H0?u0=!!A0&&e.last(A0).kind===4:A.scan(),Z=void 0,A0=void 0;for(var c0=A.getStartPos();c0<E0;){var D0=A.getToken();if(!e.isTrivia(D0))break;A.scan();var x0={pos:c0,end:A.getStartPos(),kind:D0};c0=A.getStartPos(),Z=e.append(Z,x0)}o0=A.getStartPos()},readTokenInfo:function(c0){e.Debug.assert(g0());var D0=function(V){switch(V.kind){case 33:case 70:case 71:case 49:case 48:return!0}return!1}(c0)?1:c0.kind===13?2:function(V){return V.kind===16||V.kind===17}(c0)?3:function(V){if(V.parent)switch(V.parent.kind){case 281:case 276:case 277:case 275:return e.isKeyword(V.kind)||V.kind===78}return!1}(c0)?4:function(V){return e.isJsxText(V)}(c0)?5:function(V){return V.parent&&e.isJsxAttribute(V.parent)&&V.parent.initializer===V}(c0)?6:0;if(G&&D0===j)return P0(G,c0);A.getStartPos()!==o0&&(e.Debug.assert(G!==void 0),A.setTextPos(o0),A.scan());var x0=function(V,w){var H=A.getToken();switch(j=0,w){case 1:if(H===31){j=1;var k0=A.reScanGreaterToken();return e.Debug.assert(V.kind===k0),k0}break;case 2:if(function(V0){return V0===43||V0===67}(H))return j=2,k0=A.reScanSlashToken(),e.Debug.assert(V.kind===k0),k0;break;case 3:if(H===19)return j=3,A.reScanTemplateToken(!1);break;case 4:return j=4,A.scanJsxIdentifier();case 5:return j=5,A.reScanJsxToken(!1);case 6:return j=6,A.reScanJsxAttributeValue();case 0:break;default:e.Debug.assertNever(w)}return H}(c0,D0),l0=s.createTextRangeWithKind(A.getStartPos(),A.getTextPos(),x0);for(A0&&(A0=void 0);A.getStartPos()<E0&&(x0=A.scan(),e.isTrivia(x0));){var w0=s.createTextRangeWithKind(A.getStartPos(),A.getTextPos(),x0);if(A0||(A0=[]),A0.push(w0),x0===4){A.scan();break}}return P0(G={leadingTrivia:Z,trailingTrivia:A0,token:l0},c0)},readEOFTokenRange:function(){return e.Debug.assert(d0()),s.createTextRangeWithKind(A.getStartPos(),A.getTextPos(),1)},isOnToken:g0,isOnEOF:d0,getCurrentLeadingTrivia:function(){return Z},lastTrailingTriviaWasNewLine:function(){return u0},skipToEndOf:function(c0){A.setTextPos(c0.end),o0=A.getStartPos(),j=void 0,G=void 0,u0=!1,Z=void 0,A0=void 0},skipToStartOf:function(c0){A.setTextPos(c0.pos),o0=A.getStartPos(),j=void 0,G=void 0,u0=!1,Z=void 0,A0=void 0}});return G=void 0,A.setText(void 0),U;function g0(){var c0=G?G.token.kind:A.getToken();return(G?G.token.pos:A.getStartPos())<E0&&c0!==1&&!e.isTrivia(c0)}function d0(){return(G?G.token.kind:A.getToken())===1}function P0(c0,D0){return e.isToken(D0)&&c0.token.kind!==D0.kind&&(c0.token.kind=D0.kind),c0}}}(_0||(_0={})),function(e){var s,X,J;(s=e.formatting||(e.formatting={})).anyContext=e.emptyArray,(X=s.RuleAction||(s.RuleAction={}))[X.StopProcessingSpaceActions=1]=\"StopProcessingSpaceActions\",X[X.StopProcessingTokenActions=2]=\"StopProcessingTokenActions\",X[X.InsertSpace=4]=\"InsertSpace\",X[X.InsertNewLine=8]=\"InsertNewLine\",X[X.DeleteSpace=16]=\"DeleteSpace\",X[X.DeleteToken=32]=\"DeleteToken\",X[X.InsertTrailingSemicolon=64]=\"InsertTrailingSemicolon\",X[X.StopAction=3]=\"StopAction\",X[X.ModifySpaceAction=28]=\"ModifySpaceAction\",X[X.ModifyTokenAction=96]=\"ModifyTokenAction\",(J=s.RuleFlags||(s.RuleFlags={}))[J.None=0]=\"None\",J[J.CanDeleteNewLines=1]=\"CanDeleteNewLines\"}(_0||(_0={})),function(e){(function(s){function X(O,b1,Px,me,Re,gt){return gt===void 0&&(gt=0),{leftTokenRange:m0(b1),rightTokenRange:m0(Px),rule:{debugName:O,context:me,action:Re,flags:gt}}}function J(O){return{tokens:O,isSpecific:!0}}function m0(O){return typeof O==\"number\"?J([O]):e.isArray(O)?J(O):O}function s1(O,b1,Px){Px===void 0&&(Px=[]);for(var me=[],Re=O;Re<=b1;Re++)e.contains(Px,Re)||me.push(Re);return J(me)}function i0(O,b1){return function(Px){return Px.options&&Px.options[O]===b1}}function H0(O){return function(b1){return b1.options&&b1.options.hasOwnProperty(O)&&!!b1.options[O]}}function E0(O){return function(b1){return b1.options&&b1.options.hasOwnProperty(O)&&!b1.options[O]}}function I(O){return function(b1){return!b1.options||!b1.options.hasOwnProperty(O)||!b1.options[O]}}function A(O){return function(b1){return!b1.options||!b1.options.hasOwnProperty(O)||!b1.options[O]||b1.TokensAreOnSameLine()}}function Z(O){return function(b1){return!b1.options||!b1.options.hasOwnProperty(O)||!!b1.options[O]}}function A0(O){return O.contextNode.kind===238}function o0(O){return!A0(O)}function j(O){switch(O.contextNode.kind){case 217:return O.contextNode.operatorToken.kind!==27;case 218:case 185:case 225:case 271:case 266:case 173:case 183:case 184:return!0;case 199:case 255:case 261:case 250:case 161:case 292:case 164:case 163:return O.currentTokenSpan.kind===62||O.nextTokenSpan.kind===62;case 239:case 160:return O.currentTokenSpan.kind===100||O.nextTokenSpan.kind===100||O.currentTokenSpan.kind===62||O.nextTokenSpan.kind===62;case 240:return O.currentTokenSpan.kind===157||O.nextTokenSpan.kind===157}return!1}function G(O){return!j(O)}function u0(O){return!U(O)}function U(O){var b1=O.contextNode.kind;return b1===164||b1===163||b1===161||b1===250||e.isFunctionLikeKind(b1)}function g0(O){return O.contextNode.kind===218||O.contextNode.kind===185}function d0(O){return O.TokensAreOnSameLine()||l0(O)}function P0(O){return O.contextNode.kind===197||O.contextNode.kind===191||function(b1){return x0(b1)&&(b1.ContextNodeAllOnSameLine()||b1.ContextNodeBlockIsOnOneLine())}(O)}function c0(O){return l0(O)&&!(O.NextNodeAllOnSameLine()||O.NextNodeBlockIsOnOneLine())}function D0(O){return x0(O)&&!(O.ContextNodeAllOnSameLine()||O.ContextNodeBlockIsOnOneLine())}function x0(O){return w0(O.contextNode)}function l0(O){return w0(O.nextTokenParent)}function w0(O){if(V0(O))return!0;switch(O.kind){case 231:case 259:case 201:case 258:return!0}return!1}function V(O){switch(O.contextNode.kind){case 252:case 166:case 165:case 168:case 169:case 170:case 209:case 167:case 210:case 254:return!0}return!1}function w(O){return!V(O)}function H(O){return O.contextNode.kind===252||O.contextNode.kind===209}function k0(O){return V0(O.contextNode)}function V0(O){switch(O.kind){case 253:case 222:case 254:case 256:case 178:case 257:case 268:case 269:case 262:case 265:return!0}return!1}function t0(O){switch(O.currentTokenParent.kind){case 253:case 257:case 256:case 288:case 258:case 245:return!0;case 231:var b1=O.currentTokenParent.parent;if(!b1||b1.kind!==210&&b1.kind!==209)return!0}return!1}function f0(O){switch(O.contextNode.kind){case 235:case 245:case 238:case 239:case 240:case 237:case 248:case 236:case 244:case 288:return!0;default:return!1}}function y0(O){return O.contextNode.kind===201}function G0(O){return function(b1){return b1.contextNode.kind===204}(O)||function(b1){return b1.contextNode.kind===205}(O)}function d1(O){return O.currentTokenSpan.kind!==27}function h1(O){return O.nextTokenSpan.kind!==23}function S1(O){return O.nextTokenSpan.kind!==21}function Q1(O){return O.contextNode.kind===210}function Y0(O){return O.contextNode.kind===196}function $1(O){return O.TokensAreOnSameLine()&&O.contextNode.kind!==11}function Z1(O){return O.contextNode.kind!==11}function Q0(O){return O.contextNode.kind!==274&&O.contextNode.kind!==278}function y1(O){return O.contextNode.kind===284||O.contextNode.kind===283}function k1(O){return O.nextTokenParent.kind===281}function I1(O){return O.contextNode.kind===281}function K0(O){return O.contextNode.kind===275}function G1(O){return!V(O)&&!l0(O)}function Nx(O){return O.TokensAreOnSameLine()&&!!O.contextNode.decorators&&n1(O.currentTokenParent)&&!n1(O.nextTokenParent)}function n1(O){for(;e.isExpressionNode(O);)O=O.parent;return O.kind===162}function S0(O){return O.currentTokenParent.kind===251&&O.currentTokenParent.getStart(O.sourceFile)===O.currentTokenSpan.pos}function I0(O){return O.formattingRequestKind!==2}function U0(O){return O.contextNode.kind===257}function p0(O){return O.contextNode.kind===178}function p1(O){return O.contextNode.kind===171}function Y1(O,b1){if(O.kind!==29&&O.kind!==31)return!1;switch(b1.kind){case 174:case 207:case 255:case 253:case 222:case 254:case 252:case 209:case 210:case 166:case 165:case 170:case 171:case 204:case 205:case 224:return!0;default:return!1}}function N1(O){return Y1(O.currentTokenSpan,O.currentTokenParent)||Y1(O.nextTokenSpan,O.nextTokenParent)}function V1(O){return O.contextNode.kind===207}function Ox(O){return O.currentTokenSpan.kind===113&&O.currentTokenParent.kind===213}function $x(O){return O.contextNode.kind===220&&O.contextNode.expression!==void 0}function rx(O){return O.contextNode.kind===226}function O0(O){return!function(b1){switch(b1.contextNode.kind){case 235:case 238:case 239:case 240:case 236:case 237:return!0;default:return!1}}(O)}function C1(O){var b1=O.nextTokenSpan.kind,Px=O.nextTokenSpan.pos;if(e.isTrivia(b1)){var me=O.nextTokenParent===O.currentTokenParent?e.findNextToken(O.currentTokenParent,e.findAncestor(O.currentTokenParent,function(Re){return!Re.parent}),O.sourceFile):O.nextTokenParent.getFirstToken(O.sourceFile);if(!me)return!0;b1=me.kind,Px=me.getStart(O.sourceFile)}return O.sourceFile.getLineAndCharacterOfPosition(O.currentTokenSpan.pos).line===O.sourceFile.getLineAndCharacterOfPosition(Px).line?b1===19||b1===1:b1!==230&&b1!==26&&(O.contextNode.kind===254||O.contextNode.kind===255?!e.isPropertySignature(O.currentTokenParent)||!!O.currentTokenParent.type||b1!==20:e.isPropertyDeclaration(O.currentTokenParent)?!O.currentTokenParent.initializer:O.currentTokenParent.kind!==238&&O.currentTokenParent.kind!==232&&O.currentTokenParent.kind!==230&&b1!==22&&b1!==20&&b1!==39&&b1!==40&&b1!==43&&b1!==13&&b1!==27&&b1!==219&&b1!==15&&b1!==14&&b1!==24)}function nx(O){return e.positionIsASICandidate(O.currentTokenSpan.end,O.currentTokenParent,O.sourceFile)}s.getAllRules=function(){for(var O=[],b1=0;b1<=157;b1++)b1!==1&&O.push(b1);function Px(){for(var oi=[],Ba=0;Ba<arguments.length;Ba++)oi[Ba]=arguments[Ba];return{tokens:O.filter(function(dt){return!oi.some(function(Gt){return Gt===dt})}),isSpecific:!1}}var me={tokens:O,isSpecific:!1},Re=J(D(D([],O),[3])),gt=J(D(D([],O),[1])),Vt=s1(80,157),wr=s1(29,77),gr=[100,101,157,126,137],Nt=D([78],e.typeKeywords),Ir=Re,xr=J([78,3,83,92,99]),Bt=J([21,3,89,110,95,90]),ar=[X(\"IgnoreBeforeComment\",me,[2,3],s.anyContext,1),X(\"IgnoreAfterLineComment\",2,me,s.anyContext,1),X(\"NotSpaceBeforeColon\",me,58,[$1,G,u0],16),X(\"SpaceAfterColon\",58,me,[$1,G],4),X(\"NoSpaceBeforeQuestionMark\",me,57,[$1,G,u0],16),X(\"SpaceAfterQuestionMarkInConditionalOperator\",57,me,[$1,g0],4),X(\"NoSpaceAfterQuestionMark\",57,me,[$1],16),X(\"NoSpaceBeforeDot\",me,[24,28],[$1],16),X(\"NoSpaceAfterDot\",[24,28],me,[$1],16),X(\"NoSpaceBetweenImportParenInImportType\",99,20,[$1,Y0],16),X(\"NoSpaceAfterUnaryPrefixOperator\",[45,46,54,53],[8,9,78,20,22,18,107,102],[$1,G],16),X(\"NoSpaceAfterUnaryPreincrementOperator\",45,[78,20,107,102],[$1],16),X(\"NoSpaceAfterUnaryPredecrementOperator\",46,[78,20,107,102],[$1],16),X(\"NoSpaceBeforeUnaryPostincrementOperator\",[78,21,23,102],45,[$1,O0],16),X(\"NoSpaceBeforeUnaryPostdecrementOperator\",[78,21,23,102],46,[$1,O0],16),X(\"SpaceAfterPostincrementWhenFollowedByAdd\",45,39,[$1,j],4),X(\"SpaceAfterAddWhenFollowedByUnaryPlus\",39,39,[$1,j],4),X(\"SpaceAfterAddWhenFollowedByPreincrement\",39,45,[$1,j],4),X(\"SpaceAfterPostdecrementWhenFollowedBySubtract\",46,40,[$1,j],4),X(\"SpaceAfterSubtractWhenFollowedByUnaryMinus\",40,40,[$1,j],4),X(\"SpaceAfterSubtractWhenFollowedByPredecrement\",40,46,[$1,j],4),X(\"NoSpaceAfterCloseBrace\",19,[27,26],[$1],16),X(\"NewLineBeforeCloseBraceInBlockContext\",Re,19,[D0],8),X(\"SpaceAfterCloseBrace\",19,Px(21),[$1,t0],4),X(\"SpaceBetweenCloseBraceAndElse\",19,90,[$1],4),X(\"SpaceBetweenCloseBraceAndWhile\",19,114,[$1],4),X(\"NoSpaceBetweenEmptyBraceBrackets\",18,19,[$1,y0],16),X(\"SpaceAfterConditionalClosingParen\",21,22,[f0],4),X(\"NoSpaceBetweenFunctionKeywordAndStar\",97,41,[H],16),X(\"SpaceAfterStarInGeneratorDeclaration\",41,78,[H],4),X(\"SpaceAfterFunctionInFuncDecl\",97,me,[V],4),X(\"NewLineAfterOpenBraceInBlockContext\",18,me,[D0],8),X(\"SpaceAfterGetSetInMember\",[134,146],78,[V],4),X(\"NoSpaceBetweenYieldKeywordAndStar\",124,41,[$1,$x],16),X(\"SpaceBetweenYieldOrYieldStarAndOperand\",[124,41],me,[$1,$x],4),X(\"NoSpaceBetweenReturnAndSemicolon\",104,26,[$1],16),X(\"SpaceAfterCertainKeywords\",[112,108,102,88,104,111,130],me,[$1],4),X(\"SpaceAfterLetConstInVariableDeclaration\",[118,84],me,[$1,S0],4),X(\"NoSpaceBeforeOpenParenInFuncCall\",me,20,[$1,G0,d1],16),X(\"SpaceBeforeBinaryKeywordOperator\",me,gr,[$1,j],4),X(\"SpaceAfterBinaryKeywordOperator\",gr,me,[$1,j],4),X(\"SpaceAfterVoidOperator\",113,me,[$1,Ox],4),X(\"SpaceBetweenAsyncAndOpenParen\",129,20,[Q1,$1],4),X(\"SpaceBetweenAsyncAndFunctionKeyword\",129,[97,78],[$1],4),X(\"NoSpaceBetweenTagAndTemplateString\",[78,21],[14,15],[$1],16),X(\"SpaceBeforeJsxAttribute\",me,78,[k1,$1],4),X(\"SpaceBeforeSlashInJsxOpeningElement\",me,43,[K0,$1],4),X(\"NoSpaceBeforeGreaterThanTokenInJsxOpeningElement\",43,31,[K0,$1],16),X(\"NoSpaceBeforeEqualInJsxAttribute\",me,62,[I1,$1],16),X(\"NoSpaceAfterEqualInJsxAttribute\",62,me,[I1,$1],16),X(\"NoSpaceAfterModuleImport\",[139,143],20,[$1],16),X(\"SpaceAfterCertainTypeScriptKeywords\",[125,83,133,87,91,92,93,134,116,99,117,139,140,120,122,121,142,146,123,149,153,138,135],me,[$1],4),X(\"SpaceBeforeCertainTypeScriptKeywords\",me,[93,116,153],[$1],4),X(\"SpaceAfterModuleName\",10,18,[U0],4),X(\"SpaceBeforeArrow\",me,38,[$1],4),X(\"SpaceAfterArrow\",38,me,[$1],4),X(\"NoSpaceAfterEllipsis\",25,78,[$1],16),X(\"NoSpaceAfterOptionalParameters\",57,[21,27],[$1,G],16),X(\"NoSpaceBetweenEmptyInterfaceBraceBrackets\",18,19,[$1,p0],16),X(\"NoSpaceBeforeOpenAngularBracket\",Nt,29,[$1,N1],16),X(\"NoSpaceBetweenCloseParenAndAngularBracket\",21,29,[$1,N1],16),X(\"NoSpaceAfterOpenAngularBracket\",29,me,[$1,N1],16),X(\"NoSpaceBeforeCloseAngularBracket\",me,31,[$1,N1],16),X(\"NoSpaceAfterCloseAngularBracket\",31,[20,22,31,27],[$1,N1,w],16),X(\"SpaceBeforeAt\",[21,78],59,[$1],4),X(\"NoSpaceAfterAt\",59,me,[$1],16),X(\"SpaceAfterDecorator\",me,[125,78,92,87,83,123,122,120,121,134,146,22,41],[Nx],4),X(\"NoSpaceBeforeNonNullAssertionOperator\",me,53,[$1,rx],16),X(\"NoSpaceAfterNewKeywordOnConstructorSignature\",102,20,[$1,p1],16),X(\"SpaceLessThanAndNonJSXTypeAnnotation\",29,29,[$1],4)],Ni=[X(\"SpaceAfterConstructor\",132,20,[H0(\"insertSpaceAfterConstructor\"),$1],4),X(\"NoSpaceAfterConstructor\",132,20,[I(\"insertSpaceAfterConstructor\"),$1],16),X(\"SpaceAfterComma\",27,me,[H0(\"insertSpaceAfterCommaDelimiter\"),$1,Q0,h1,S1],4),X(\"NoSpaceAfterComma\",27,me,[I(\"insertSpaceAfterCommaDelimiter\"),$1,Q0],16),X(\"SpaceAfterAnonymousFunctionKeyword\",[97,41],20,[H0(\"insertSpaceAfterFunctionKeywordForAnonymousFunctions\"),V],4),X(\"NoSpaceAfterAnonymousFunctionKeyword\",[97,41],20,[I(\"insertSpaceAfterFunctionKeywordForAnonymousFunctions\"),V],16),X(\"SpaceAfterKeywordInControl\",Vt,20,[H0(\"insertSpaceAfterKeywordsInControlFlowStatements\"),f0],4),X(\"NoSpaceAfterKeywordInControl\",Vt,20,[I(\"insertSpaceAfterKeywordsInControlFlowStatements\"),f0],16),X(\"SpaceAfterOpenParen\",20,me,[H0(\"insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis\"),$1],4),X(\"SpaceBeforeCloseParen\",me,21,[H0(\"insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis\"),$1],4),X(\"SpaceBetweenOpenParens\",20,20,[H0(\"insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis\"),$1],4),X(\"NoSpaceBetweenParens\",20,21,[$1],16),X(\"NoSpaceAfterOpenParen\",20,me,[I(\"insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis\"),$1],16),X(\"NoSpaceBeforeCloseParen\",me,21,[I(\"insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis\"),$1],16),X(\"SpaceAfterOpenBracket\",22,me,[H0(\"insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets\"),$1],4),X(\"SpaceBeforeCloseBracket\",me,23,[H0(\"insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets\"),$1],4),X(\"NoSpaceBetweenBrackets\",22,23,[$1],16),X(\"NoSpaceAfterOpenBracket\",22,me,[I(\"insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets\"),$1],16),X(\"NoSpaceBeforeCloseBracket\",me,23,[I(\"insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets\"),$1],16),X(\"SpaceAfterOpenBrace\",18,me,[Z(\"insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces\"),P0],4),X(\"SpaceBeforeCloseBrace\",me,19,[Z(\"insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces\"),P0],4),X(\"NoSpaceBetweenEmptyBraceBrackets\",18,19,[$1,y0],16),X(\"NoSpaceAfterOpenBrace\",18,me,[E0(\"insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces\"),$1],16),X(\"NoSpaceBeforeCloseBrace\",me,19,[E0(\"insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces\"),$1],16),X(\"SpaceBetweenEmptyBraceBrackets\",18,19,[H0(\"insertSpaceAfterOpeningAndBeforeClosingEmptyBraces\")],4),X(\"NoSpaceBetweenEmptyBraceBrackets\",18,19,[E0(\"insertSpaceAfterOpeningAndBeforeClosingEmptyBraces\"),$1],16),X(\"SpaceAfterTemplateHeadAndMiddle\",[15,16],me,[H0(\"insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces\"),Z1],4,1),X(\"SpaceBeforeTemplateMiddleAndTail\",me,[16,17],[H0(\"insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces\"),$1],4),X(\"NoSpaceAfterTemplateHeadAndMiddle\",[15,16],me,[I(\"insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces\"),Z1],16,1),X(\"NoSpaceBeforeTemplateMiddleAndTail\",me,[16,17],[I(\"insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces\"),$1],16),X(\"SpaceAfterOpenBraceInJsxExpression\",18,me,[H0(\"insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces\"),$1,y1],4),X(\"SpaceBeforeCloseBraceInJsxExpression\",me,19,[H0(\"insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces\"),$1,y1],4),X(\"NoSpaceAfterOpenBraceInJsxExpression\",18,me,[I(\"insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces\"),$1,y1],16),X(\"NoSpaceBeforeCloseBraceInJsxExpression\",me,19,[I(\"insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces\"),$1,y1],16),X(\"SpaceAfterSemicolonInFor\",26,me,[H0(\"insertSpaceAfterSemicolonInForStatements\"),$1,A0],4),X(\"NoSpaceAfterSemicolonInFor\",26,me,[I(\"insertSpaceAfterSemicolonInForStatements\"),$1,A0],16),X(\"SpaceBeforeBinaryOperator\",me,wr,[H0(\"insertSpaceBeforeAndAfterBinaryOperators\"),$1,j],4),X(\"SpaceAfterBinaryOperator\",wr,me,[H0(\"insertSpaceBeforeAndAfterBinaryOperators\"),$1,j],4),X(\"NoSpaceBeforeBinaryOperator\",me,wr,[I(\"insertSpaceBeforeAndAfterBinaryOperators\"),$1,j],16),X(\"NoSpaceAfterBinaryOperator\",wr,me,[I(\"insertSpaceBeforeAndAfterBinaryOperators\"),$1,j],16),X(\"SpaceBeforeOpenParenInFuncDecl\",me,20,[H0(\"insertSpaceBeforeFunctionParenthesis\"),$1,V],4),X(\"NoSpaceBeforeOpenParenInFuncDecl\",me,20,[I(\"insertSpaceBeforeFunctionParenthesis\"),$1,V],16),X(\"NewLineBeforeOpenBraceInControl\",Bt,18,[H0(\"placeOpenBraceOnNewLineForControlBlocks\"),f0,c0],8,1),X(\"NewLineBeforeOpenBraceInFunction\",Ir,18,[H0(\"placeOpenBraceOnNewLineForFunctions\"),V,c0],8,1),X(\"NewLineBeforeOpenBraceInTypeScriptDeclWithBlock\",xr,18,[H0(\"placeOpenBraceOnNewLineForFunctions\"),k0,c0],8,1),X(\"SpaceAfterTypeAssertion\",31,me,[H0(\"insertSpaceAfterTypeAssertion\"),$1,V1],4),X(\"NoSpaceAfterTypeAssertion\",31,me,[I(\"insertSpaceAfterTypeAssertion\"),$1,V1],16),X(\"SpaceBeforeTypeAnnotation\",me,[57,58],[H0(\"insertSpaceBeforeTypeAnnotation\"),$1,U],4),X(\"NoSpaceBeforeTypeAnnotation\",me,[57,58],[I(\"insertSpaceBeforeTypeAnnotation\"),$1,U],16),X(\"NoOptionalSemicolon\",26,gt,[i0(\"semicolons\",e.SemicolonPreference.Remove),C1],32),X(\"OptionalSemicolon\",me,gt,[i0(\"semicolons\",e.SemicolonPreference.Insert),nx],64)],Kn=[X(\"NoSpaceBeforeSemicolon\",me,26,[$1],16),X(\"SpaceBeforeOpenBraceInControl\",Bt,18,[A(\"placeOpenBraceOnNewLineForControlBlocks\"),f0,I0,d0],4,1),X(\"SpaceBeforeOpenBraceInFunction\",Ir,18,[A(\"placeOpenBraceOnNewLineForFunctions\"),V,l0,I0,d0],4,1),X(\"SpaceBeforeOpenBraceInTypeScriptDeclWithBlock\",xr,18,[A(\"placeOpenBraceOnNewLineForFunctions\"),k0,I0,d0],4,1),X(\"NoSpaceBeforeComma\",me,27,[$1],16),X(\"NoSpaceBeforeOpenBracket\",Px(129,81),22,[$1],16),X(\"NoSpaceAfterCloseBracket\",23,me,[$1,G1],16),X(\"SpaceAfterSemicolon\",26,me,[$1],4),X(\"SpaceBetweenForAndAwaitKeyword\",96,130,[$1],4),X(\"SpaceBetweenStatements\",[21,89,90,81],me,[$1,Q0,o0],4),X(\"SpaceAfterTryCatchFinally\",[110,82,95],18,[$1],4)];return D(D(D([],ar),Ni),Kn)}})(e.formatting||(e.formatting={}))}(_0||(_0={})),function(e){(function(s){var X;function J(){var A,Z;return X===void 0&&(A=s.getAllRules(),Z=function(A0){for(var o0=new Array(E0*E0),j=new Array(o0.length),G=0,u0=A0;G<u0.length;G++)for(var U=u0[G],g0=U.leftTokenRange.isSpecific&&U.rightTokenRange.isSpecific,d0=0,P0=U.leftTokenRange.tokens;d0<P0.length;d0++)for(var c0=P0[d0],D0=0,x0=U.rightTokenRange.tokens;D0<x0.length;D0++){var l0=s1(c0,x0[D0]),w0=o0[l0];w0===void 0&&(w0=o0[l0]=[]),I(w0,U.rule,g0,j,l0)}return o0}(A),X=function(A0){var o0=Z[s1(A0.currentTokenSpan.kind,A0.nextTokenSpan.kind)];if(o0){for(var j=[],G=0,u0=0,U=o0;u0<U.length;u0++){var g0=U[u0],d0=~m0(G);g0.action&d0&&e.every(g0.context,function(P0){return P0(A0)})&&(j.push(g0),G|=g0.action)}if(j.length)return j}}),X}function m0(A){var Z=0;return 1&A&&(Z|=28),2&A&&(Z|=96),28&A&&(Z|=28),96&A&&(Z|=96),Z}function s1(A,Z){return e.Debug.assert(A<=157&&Z<=157,\"Must compute formatting context from tokens\"),A*E0+Z}s.getFormatContext=function(A,Z){return{options:A,getRules:J(),host:Z}};var i0,H0=31,E0=158;function I(A,Z,A0,o0,j){var G,u0,U,g0=3&Z.action?A0?i0.StopRulesSpecific:i0.StopRulesAny:Z.context!==s.anyContext?A0?i0.ContextRulesSpecific:i0.ContextRulesAny:A0?i0.NoContextRulesSpecific:i0.NoContextRulesAny,d0=o0[j]||0;A.splice(function(P0,c0){for(var D0=0,x0=0;x0<=c0;x0+=5)D0+=31&P0,P0>>=5;return D0}(d0,g0),0,Z),o0[j]=(U=1+((G=d0)>>(u0=g0)&H0),e.Debug.assert((U&H0)===U,\"Adding more rules into the sub-bucket than allowed. Maximum allowed is 32 rules.\"),G&~(H0<<u0)|U<<u0)}(function(A){A[A.StopRulesSpecific=0]=\"StopRulesSpecific\",A[A.StopRulesAny=5]=\"StopRulesAny\",A[A.ContextRulesSpecific=10]=\"ContextRulesSpecific\",A[A.ContextRulesAny=15]=\"ContextRulesAny\",A[A.NoContextRulesSpecific=20]=\"NoContextRulesSpecific\",A[A.NoContextRulesAny=25]=\"NoContextRulesAny\"})(i0||(i0={}))})(e.formatting||(e.formatting={}))}(_0||(_0={})),function(e){(function(s){var X,J,m0,s1,i0;function H0(j,G,u0){var U=e.findPrecedingToken(j,u0);return U&&U.kind===G&&j===U.getEnd()?U:void 0}function E0(j){for(var G=j;G&&G.parent&&G.parent.end===j.end&&!I(G.parent,G);)G=G.parent;return G}function I(j,G){switch(j.kind){case 253:case 254:return e.rangeContainsRange(j.members,G);case 257:var u0=j.body;return!!u0&&u0.kind===258&&e.rangeContainsRange(u0.statements,G);case 298:case 231:case 258:return e.rangeContainsRange(j.statements,G);case 288:return e.rangeContainsRange(j.block.statements,G)}return!1}function A(j,G,u0,U){return j?Z({pos:e.getLineStartPositionForPosition(j.getStart(G),G),end:j.end},G,u0,U):[]}function Z(j,G,u0,U){var g0=function(d0,P0){return function c0(D0){var x0=e.forEachChild(D0,function(w0){return e.startEndContainsRange(w0.getStart(P0),w0.end,d0)&&w0});if(x0){var l0=c0(x0);if(l0)return l0}return D0}(P0)}(j,G);return s.getFormattingScanner(G.text,G.languageVariant,function(d0,P0,c0){var D0=d0.getStart(c0);if(D0===P0.pos&&d0.end===P0.end)return D0;var x0=e.findPrecedingToken(P0.pos,c0);return x0?x0.end>=P0.pos?d0.pos:x0.end:d0.pos}(g0,j,G),j.end,function(d0){return A0(j,g0,s.SmartIndenter.getIndentationForNode(g0,j,G,u0.options),function(P0,c0,D0){for(var x0,l0=-1;P0;){var w0=D0.getLineAndCharacterOfPosition(P0.getStart(D0)).line;if(l0!==-1&&w0!==l0)break;if(s.SmartIndenter.shouldIndentChildNode(c0,P0,x0,D0))return c0.indentSize;l0=w0,x0=P0,P0=P0.parent}return 0}(g0,u0.options,G),d0,u0,U,function(P0,c0){if(!P0.length)return l0;var D0=P0.filter(function(w0){return e.rangeOverlapsWithStartEnd(c0,w0.start,w0.start+w0.length)}).sort(function(w0,V){return w0.start-V.start});if(!D0.length)return l0;var x0=0;return function(w0){for(;;){if(x0>=D0.length)return!1;var V=D0[x0];if(w0.end<=V.start)return!1;if(e.startEndOverlapsWithStartEnd(w0.pos,w0.end,V.start,V.start+V.length))return!0;x0++}};function l0(){return!1}}(G.parseDiagnostics,j),G)})}function A0(j,G,u0,U,g0,d0,P0,c0,D0){var x0,l0,w0,V,w=d0.options,H=d0.getRules,k0=d0.host,V0=new s.FormattingContext(D0,P0,w),t0=-1,f0=[];if(g0.advance(),g0.isOnToken()){var y0=D0.getLineAndCharacterOfPosition(G.getStart(D0)).line,G0=y0;G.decorators&&(G0=D0.getLineAndCharacterOfPosition(e.getNonDecoratorTokenPosOfNode(G,D0)).line),function Nx(n1,S0,I0,U0,p0,p1){if(!e.rangeOverlapsWithStartEnd(j,n1.getStart(D0),n1.getEnd()))return;var Y1=S1(n1,I0,p0,p1),N1=S0;for(e.forEachChild(n1,function(C1){$x(C1,-1,n1,Y1,I0,U0,!1)},function(C1){rx(C1,n1,I0,Y1)});g0.isOnToken();){var V1=g0.readTokenInfo(n1);if(V1.token.end>n1.end)break;O0(V1,n1,Y1,n1)}if(!n1.parent&&g0.isOnEOF()){var Ox=g0.readEOFTokenRange();Ox.end<=n1.end&&x0&&Z1(Ox,D0.getLineAndCharacterOfPosition(Ox.pos).line,n1,x0,w0,l0,S0,Y1)}function $x(C1,nx,O,b1,Px,me,Re,gt){var Vt=C1.getStart(D0),wr=D0.getLineAndCharacterOfPosition(Vt).line,gr=wr;C1.decorators&&(gr=D0.getLineAndCharacterOfPosition(e.getNonDecoratorTokenPosOfNode(C1,D0)).line);var Nt=-1;if(Re&&e.rangeContainsRange(j,O)&&(Nt=function(ar,Ni,Kn,oi,Ba){if(e.rangeOverlapsWithStartEnd(oi,ar,Ni)||e.rangeContainsStartEnd(oi,ar,Ni)){if(Ba!==-1)return Ba}else{var dt=D0.getLineAndCharacterOfPosition(ar).line,Gt=e.getLineStartPositionForPosition(ar,D0),lr=s.SmartIndenter.findFirstNonWhitespaceColumn(Gt,ar,D0,w);if(dt!==Kn||ar===lr){var en=s.SmartIndenter.getBaseIndentation(w);return en>lr?en:lr}}return-1}(Vt,C1.end,Px,j,nx))!==-1&&(nx=Nt),!e.rangeOverlapsWithStartEnd(j,C1.pos,C1.end))return C1.end<j.pos&&g0.skipToEndOf(C1),nx;if(C1.getFullWidth()===0)return nx;for(;g0.isOnToken();){if((Ir=g0.readTokenInfo(n1)).token.end>Vt){Ir.token.pos>Vt&&g0.skipToStartOf(C1);break}O0(Ir,n1,b1,n1)}if(!g0.isOnToken())return nx;if(e.isToken(C1)){var Ir=g0.readTokenInfo(C1);if(C1.kind!==11)return e.Debug.assert(Ir.token.end===C1.end,\"Token end is child end\"),O0(Ir,n1,b1,C1),nx}var xr=C1.kind===162?wr:me,Bt=function(ar,Ni,Kn,oi,Ba,dt){var Gt=s.SmartIndenter.shouldIndentChildNode(w,ar)?w.indentSize:0;return dt===Ni?{indentation:Ni===V?t0:Ba.getIndentation(),delta:Math.min(w.indentSize,Ba.getDelta(ar)+Gt)}:Kn===-1?ar.kind===20&&Ni===V?{indentation:t0,delta:Ba.getDelta(ar)}:s.SmartIndenter.childStartsOnTheSameLineWithElseInIfStatement(oi,ar,Ni,D0)||s.SmartIndenter.childIsUnindentedBranchOfConditionalExpression(oi,ar,Ni,D0)||s.SmartIndenter.argumentStartsOnSameLineAsPreviousArgument(oi,ar,Ni,D0)?{indentation:Ba.getIndentation(),delta:Gt}:{indentation:Ba.getIndentation()+Ba.getDelta(ar),delta:Gt}:{indentation:Kn,delta:Gt}}(C1,wr,Nt,n1,b1,xr);return Nx(C1,N1,wr,gr,Bt.indentation,Bt.delta),N1=n1,gt&&O.kind===200&&nx===-1&&(nx=Bt.indentation),nx}function rx(C1,nx,O,b1){e.Debug.assert(e.isNodeArray(C1));var Px=function(xr,Bt){switch(xr.kind){case 167:case 252:case 209:case 166:case 165:case 210:if(xr.typeParameters===Bt)return 29;if(xr.parameters===Bt)return 20;break;case 204:case 205:if(xr.typeArguments===Bt)return 29;if(xr.arguments===Bt)return 20;break;case 174:if(xr.typeArguments===Bt)return 29;break;case 178:return 18}return 0}(nx,C1),me=b1,Re=O;if(Px!==0)for(;g0.isOnToken()&&!((Ir=g0.readTokenInfo(nx)).token.end>C1.pos);)if(Ir.token.kind===Px){Re=D0.getLineAndCharacterOfPosition(Ir.token.pos).line,O0(Ir,nx,b1,nx);var gt=void 0;if(t0!==-1)gt=t0;else{var Vt=e.getLineStartPositionForPosition(Ir.token.pos,D0);gt=s.SmartIndenter.findFirstNonWhitespaceColumn(Vt,Ir.token.pos,D0,w)}me=S1(nx,O,gt,w.indentSize)}else O0(Ir,nx,b1,nx);for(var wr=-1,gr=0;gr<C1.length;gr++)wr=$x(C1[gr],wr,n1,me,Re,Re,!0,gr===0);var Nt=function(xr){switch(xr){case 20:return 21;case 29:return 31;case 18:return 19}return 0}(Px);if(Nt!==0&&g0.isOnToken()){var Ir;(Ir=g0.readTokenInfo(nx)).token.kind===27&&e.isCallLikeExpression(nx)&&Re!==D0.getLineAndCharacterOfPosition(Ir.token.pos).line&&(g0.advance(),Ir=g0.isOnToken()?g0.readTokenInfo(nx):void 0),Ir&&Ir.token.kind===Nt&&e.rangeContainsRange(nx,Ir.token)&&O0(Ir,nx,me,nx,!0)}}function O0(C1,nx,O,b1,Px){e.Debug.assert(e.rangeContainsRange(nx,C1.token));var me=g0.lastTrailingTriviaWasNewLine(),Re=!1;C1.leadingTrivia&&Y0(C1.leadingTrivia,nx,N1,O);var gt=0,Vt=e.rangeContainsRange(j,C1.token),wr=D0.getLineAndCharacterOfPosition(C1.token.pos);if(Vt){var gr=c0(C1.token),Nt=x0;if(gt=$1(C1.token,wr,nx,N1,O),!gr)if(gt===0){var Ir=Nt&&D0.getLineAndCharacterOfPosition(Nt.end).line;Re=me&&wr.line!==Ir}else Re=gt===1}if(C1.trailingTrivia&&Y0(C1.trailingTrivia,nx,N1,O),Re){var xr=Vt&&!c0(C1.token)?O.getIndentationForToken(wr.line,C1.token.kind,b1,!!Px):-1,Bt=!0;if(C1.leadingTrivia){var ar=O.getIndentationForComment(C1.token.kind,xr,b1);Bt=Q1(C1.leadingTrivia,ar,Bt,function(Ni){return Q0(Ni.pos,ar,!1)})}xr!==-1&&Bt&&(Q0(C1.token.pos,xr,gt===1),V=wr.line,t0=xr)}g0.advance(),N1=nx}}(G,G,y0,G0,u0,U)}if(!g0.isOnToken()){var d1=s.SmartIndenter.nodeWillIndentChild(w,G,void 0,D0,!1)?u0+w.indentSize:u0,h1=g0.getCurrentLeadingTrivia();h1&&Q1(h1,d1,!1,function(Nx){return $1(Nx,D0.getLineAndCharacterOfPosition(Nx.pos),G,G,void 0)})}return w.trimTrailingWhitespace!==!1&&function(){var Nx=x0?x0.end:j.pos,n1=D0.getLineAndCharacterOfPosition(Nx).line,S0=D0.getLineAndCharacterOfPosition(j.end).line;k1(n1,S0+1,x0)}(),f0;function S1(Nx,n1,S0,I0){return{getIndentationForComment:function(p0,p1,Y1){switch(p0){case 19:case 23:case 21:return S0+U0(Y1)}return p1!==-1?p1:S0},getIndentationForToken:function(p0,p1,Y1,N1){return!N1&&function(V1,Ox,$x){switch(Ox){case 18:case 19:case 21:case 90:case 114:case 59:return!1;case 43:case 31:switch($x.kind){case 276:case 277:case 275:case 224:return!1}break;case 22:case 23:if($x.kind!==191)return!1}return n1!==V1&&!(Nx.decorators&&Ox===function(rx){if(rx.modifiers&&rx.modifiers.length)return rx.modifiers[0].kind;switch(rx.kind){case 253:return 83;case 254:return 117;case 252:return 97;case 256:return 256;case 168:return 134;case 169:return 146;case 166:if(rx.asteriskToken)return 41;case 164:case 161:var O0=e.getNameOfDeclaration(rx);if(O0)return O0.kind}}(Nx))}(p0,p1,Y1)?S0+U0(Y1):S0},getIndentation:function(){return S0},getDelta:U0,recomputeIndentation:function(p0,p1){s.SmartIndenter.shouldIndentChildNode(w,p1,Nx,D0)&&(S0+=p0?w.indentSize:-w.indentSize,I0=s.SmartIndenter.shouldIndentChildNode(w,Nx)?w.indentSize:0)}};function U0(p0){return s.SmartIndenter.nodeWillIndentChild(w,Nx,p0,D0,!0)?I0:0}}function Q1(Nx,n1,S0,I0){for(var U0=0,p0=Nx;U0<p0.length;U0++){var p1=p0[U0],Y1=e.rangeContainsRange(j,p1);switch(p1.kind){case 3:Y1&&y1(p1,n1,!S0),S0=!1;break;case 2:S0&&Y1&&I0(p1),S0=!1;break;case 4:S0=!0}}return S0}function Y0(Nx,n1,S0,I0){for(var U0=0,p0=Nx;U0<p0.length;U0++){var p1=p0[U0];e.isComment(p1.kind)&&e.rangeContainsRange(j,p1)&&$1(p1,D0.getLineAndCharacterOfPosition(p1.pos),n1,S0,I0)}}function $1(Nx,n1,S0,I0,U0){var p0=0;return c0(Nx)||(x0?p0=Z1(Nx,n1.line,S0,x0,w0,l0,I0,U0):k1(D0.getLineAndCharacterOfPosition(j.pos).line,n1.line)),x0=Nx,l0=S0,w0=n1.line,p0}function Z1(Nx,n1,S0,I0,U0,p0,p1,Y1){V0.updateContext(I0,p0,Nx,S0,p1);var N1=H(V0),V1=V0.options.trimTrailingWhitespace!==!1,Ox=0;return N1?e.forEachRight(N1,function($x){switch(Ox=function(rx,O0,C1,nx,O){var b1=O!==C1;switch(rx.action){case 1:return 0;case 16:if(O0.end!==nx.pos)return K0(O0.end,nx.pos-O0.end),b1?2:0;break;case 32:K0(O0.pos,O0.end-O0.pos);break;case 8:if(rx.flags!==1&&C1!==O)return 0;if(O-C1!=1)return G1(O0.end,nx.pos-O0.end,e.getNewLineOrDefaultFromHost(k0,w)),b1?0:1;break;case 4:if(rx.flags!==1&&C1!==O)return 0;if(nx.pos-O0.end!=1||D0.text.charCodeAt(O0.end)!==32)return G1(O0.end,nx.pos-O0.end,\" \"),b1?2:0;break;case 64:Px=O0.end,(me=\";\")&&f0.push(e.createTextChangeFromStartLength(Px,0,me))}var Px,me;return 0}($x,I0,U0,Nx,n1)){case 2:S0.getStart(D0)===Nx.pos&&Y1.recomputeIndentation(!1,p1);break;case 1:S0.getStart(D0)===Nx.pos&&Y1.recomputeIndentation(!0,p1);break;default:e.Debug.assert(Ox===0)}V1=V1&&!(16&$x.action)&&$x.flags!==1}):V1=V1&&Nx.kind!==1,n1!==U0&&V1&&k1(U0,n1,I0),Ox}function Q0(Nx,n1,S0){var I0=o0(n1,w);if(S0)G1(Nx,0,I0);else{var U0=D0.getLineAndCharacterOfPosition(Nx),p0=e.getStartPositionOfLine(U0.line,D0);(n1!==function(p1,Y1){for(var N1=0,V1=0;V1<Y1;V1++)D0.text.charCodeAt(p1+V1)===9?N1+=w.tabSize-N1%w.tabSize:N1++;return N1}(p0,U0.character)||function(p1,Y1){return p1!==D0.text.substr(Y1,p1.length)}(I0,p0))&&G1(p0,U0.character,I0)}}function y1(Nx,n1,S0,I0){I0===void 0&&(I0=!0);var U0=D0.getLineAndCharacterOfPosition(Nx.pos).line,p0=D0.getLineAndCharacterOfPosition(Nx.end).line;if(U0!==p0){for(var p1=[],Y1=Nx.pos,N1=U0;N1<p0;N1++){var V1=e.getEndLinePosition(N1,D0);p1.push({pos:Y1,end:V1}),Y1=e.getStartPositionOfLine(N1+1,D0)}if(I0&&p1.push({pos:Y1,end:Nx.end}),p1.length!==0){var Ox=e.getStartPositionOfLine(U0,D0),$x=s.SmartIndenter.findFirstNonWhitespaceCharacterAndColumn(Ox,p1[0].pos,D0,w),rx=0;S0&&(rx=1,U0++);for(var O0=n1-$x.column,C1=rx;C1<p1.length;C1++,U0++){var nx=e.getStartPositionOfLine(U0,D0),O=C1===0?$x:s.SmartIndenter.findFirstNonWhitespaceCharacterAndColumn(p1[C1].pos,p1[C1].end,D0,w),b1=O.column+O0;if(b1>0){var Px=o0(b1,w);G1(nx,O.character,Px)}else K0(nx,O.character)}}}else S0||Q0(Nx.pos,n1,!1)}function k1(Nx,n1,S0){for(var I0=Nx;I0<n1;I0++){var U0=e.getStartPositionOfLine(I0,D0),p0=e.getEndLinePosition(I0,D0);if(!(S0&&(e.isComment(S0.kind)||e.isStringOrRegularExpressionOrTemplateLiteral(S0.kind))&&S0.pos<=p0&&S0.end>p0)){var p1=I1(U0,p0);p1!==-1&&(e.Debug.assert(p1===U0||!e.isWhiteSpaceSingleLine(D0.text.charCodeAt(p1-1))),K0(p1,p0+1-p1))}}}function I1(Nx,n1){for(var S0=n1;S0>=Nx&&e.isWhiteSpaceSingleLine(D0.text.charCodeAt(S0));)S0--;return S0!==n1?S0+1:-1}function K0(Nx,n1){n1&&f0.push(e.createTextChangeFromStartLength(Nx,n1,\"\"))}function G1(Nx,n1,S0){(n1||S0)&&f0.push(e.createTextChangeFromStartLength(Nx,n1,S0))}}function o0(j,G){if((!m0||m0.tabSize!==G.tabSize||m0.indentSize!==G.indentSize)&&(m0={tabSize:G.tabSize,indentSize:G.indentSize},s1=i0=void 0),G.convertTabsToSpaces){var u0=void 0,U=Math.floor(j/G.indentSize),g0=j%G.indentSize;return i0||(i0=[]),i0[U]===void 0?(u0=e.repeatString(\" \",G.indentSize*U),i0[U]=u0):u0=i0[U],g0?u0+e.repeatString(\" \",g0):u0}var d0=Math.floor(j/G.tabSize),P0=j-d0*G.tabSize,c0=void 0;return s1||(s1=[]),s1[d0]===void 0?s1[d0]=c0=e.repeatString(\"\t\",d0):c0=s1[d0],P0?c0+e.repeatString(\" \",P0):c0}s.createTextRangeWithKind=function(j,G,u0){var U={pos:j,end:G,kind:u0};return e.Debug.isDebugging&&Object.defineProperty(U,\"__debugKind\",{get:function(){return e.Debug.formatSyntaxKind(u0)}}),U},function(j){j[j.Unknown=-1]=\"Unknown\"}(X||(X={})),s.formatOnEnter=function(j,G,u0){var U=G.getLineAndCharacterOfPosition(j).line;if(U===0)return[];for(var g0=e.getEndLinePosition(U,G);e.isWhiteSpaceSingleLine(G.text.charCodeAt(g0));)g0--;return e.isLineBreak(G.text.charCodeAt(g0))&&g0--,Z({pos:e.getStartPositionOfLine(U-1,G),end:g0+1},G,u0,2)},s.formatOnSemicolon=function(j,G,u0){return A(E0(H0(j,26,G)),G,u0,3)},s.formatOnOpeningCurly=function(j,G,u0){var U=H0(j,18,G);if(!U)return[];var g0=E0(U.parent);return Z({pos:e.getLineStartPositionForPosition(g0.getStart(G),G),end:j},G,u0,4)},s.formatOnClosingCurly=function(j,G,u0){return A(E0(H0(j,19,G)),G,u0,5)},s.formatDocument=function(j,G){return Z({pos:0,end:j.text.length},j,G,0)},s.formatSelection=function(j,G,u0,U){return Z({pos:e.getLineStartPositionForPosition(j,u0),end:G},u0,U,1)},s.formatNodeGivenIndentation=function(j,G,u0,U,g0,d0){var P0={pos:0,end:G.text.length};return s.getFormattingScanner(G.text,u0,P0.pos,P0.end,function(c0){return A0(P0,j,U,g0,c0,d0,1,function(D0){return!1},G)})},function(j){j[j.None=0]=\"None\",j[j.LineAdded=1]=\"LineAdded\",j[j.LineRemoved=2]=\"LineRemoved\"}(J||(J={})),s.getRangeOfEnclosingComment=function(j,G,u0,U){U===void 0&&(U=e.getTokenAtPosition(j,G));var g0=e.findAncestor(U,e.isJSDoc);if(g0&&(U=g0.parent),!(U.getStart(j)<=G&&G<U.getEnd())){var d0=(u0=u0===null?void 0:u0===void 0?e.findPrecedingToken(G,j):u0)&&e.getTrailingCommentRanges(j.text,u0.end),P0=e.getLeadingCommentRangesOfNode(U,j),c0=e.concatenate(d0,P0);return c0&&e.find(c0,function(D0){return e.rangeContainsPositionExclusive(D0,G)||G===D0.end&&(D0.kind===2||G===j.getFullWidth())})}},s.getIndentationString=o0})(e.formatting||(e.formatting={}))}(_0||(_0={})),function(e){var s;(function(X){var J,m0;function s1(l0){return l0.baseIndentSize||0}function i0(l0,w0,V,w,H,k0,V0){for(var t0,f0=l0.parent;f0;){var y0=!0;if(V){var G0=l0.getStart(H);y0=G0<V.pos||G0>V.end}var d1=H0(f0,l0,H),h1=d1.line===w0.line||A0(f0,l0,w0.line,H);if(y0){var S1=(t0=o0(l0,H))===null||t0===void 0?void 0:t0[0],Q1=u0(l0,H,V0,!!S1&&A(S1,H).line>d1.line);if(Q1!==-1||(Q1=E0(l0,f0,w0,h1,H,V0))!==-1)return Q1+w}D0(V0,f0,l0,H,k0)&&!h1&&(w+=V0.indentSize);var Y0=Z(f0,l0,w0.line,H);f0=(l0=f0).parent,w0=Y0?H.getLineAndCharacterOfPosition(l0.getStart(H)):d1}return w+s1(V0)}function H0(l0,w0,V){var w=o0(w0,V),H=w?w.pos:l0.getStart(V);return V.getLineAndCharacterOfPosition(H)}function E0(l0,w0,V,w,H,k0){return!e.isDeclaration(l0)&&!e.isStatementButNotDeclaration(l0)||w0.kind!==298&&w?-1:g0(V,H,k0)}function I(l0,w0,V,w){var H=e.findNextToken(l0,w0,w);return H?H.kind===18?1:H.kind===19&&V===A(H,w).line?2:0:0}function A(l0,w0){return w0.getLineAndCharacterOfPosition(l0.getStart(w0))}function Z(l0,w0,V,w){if(!e.isCallExpression(l0)||!e.contains(l0.arguments,w0))return!1;var H=l0.expression.getEnd();return e.getLineAndCharacterOfPosition(w,H).line===V}function A0(l0,w0,V,w){if(l0.kind===235&&l0.elseStatement===w0){var H=e.findChildOfKind(l0,90,w);return e.Debug.assert(H!==void 0),A(H,w).line===V}return!1}function o0(l0,w0){return l0.parent&&j(l0.getStart(w0),l0.getEnd(),l0.parent,w0)}function j(l0,w0,V,w){switch(V.kind){case 174:return H(V.typeArguments);case 201:return H(V.properties);case 200:return H(V.elements);case 178:return H(V.members);case 252:case 209:case 210:case 166:case 165:case 170:case 167:case 176:case 171:return H(V.typeParameters)||H(V.parameters);case 253:case 222:case 254:case 255:case 334:return H(V.typeParameters);case 205:case 204:return H(V.typeArguments)||H(V.arguments);case 251:return H(V.declarations);case 265:case 269:return H(V.elements);case 197:case 198:return H(V.elements)}function H(k0){return k0&&e.rangeContainsStartEnd(function(V0,t0,f0){for(var y0=V0.getChildren(f0),G0=1;G0<y0.length-1;G0++)if(y0[G0].pos===t0.pos&&y0[G0].end===t0.end)return{pos:y0[G0-1].end,end:y0[G0+1].getStart(f0)};return t0}(V,k0,w),l0,w0)?k0:void 0}}function G(l0,w0,V){return l0?g0(w0.getLineAndCharacterOfPosition(l0.pos),w0,V):-1}function u0(l0,w0,V,w){if(l0.parent&&l0.parent.kind===251)return-1;var H=o0(l0,w0);if(H){var k0=H.indexOf(l0);if(k0!==-1){var V0=U(H,k0,w0,V);if(V0!==-1)return V0}return G(H,w0,V)+(w?V.indentSize:0)}return-1}function U(l0,w0,V,w){e.Debug.assert(w0>=0&&w0<l0.length);for(var H=A(l0[w0],V),k0=w0-1;k0>=0;k0--)if(l0[k0].kind!==27){if(V.getLineAndCharacterOfPosition(l0[k0].end).line!==H.line)return g0(H,V,w);H=A(l0[k0],V)}return-1}function g0(l0,w0,V){var w=w0.getPositionOfLineAndCharacter(l0.line,0);return P0(w,w+l0.character,w0,V)}function d0(l0,w0,V,w){for(var H=0,k0=0,V0=l0;V0<w0;V0++){var t0=V.text.charCodeAt(V0);if(!e.isWhiteSpaceSingleLine(t0))break;t0===9?k0+=w.tabSize+k0%w.tabSize:k0++,H++}return{column:k0,character:H}}function P0(l0,w0,V,w){return d0(l0,w0,V,w).column}function c0(l0,w0,V,w,H){var k0=V?V.kind:0;switch(w0.kind){case 234:case 253:case 222:case 254:case 256:case 255:case 200:case 231:case 258:case 201:case 178:case 191:case 180:case 259:case 286:case 285:case 208:case 202:case 204:case 205:case 233:case 267:case 243:case 218:case 198:case 197:case 276:case 279:case 275:case 284:case 165:case 170:case 171:case 161:case 175:case 176:case 187:case 206:case 214:case 269:case 265:case 271:case 266:case 164:return!0;case 250:case 289:case 217:if(!l0.indentMultiLineObjectLiteralBeginningOnBlankLine&&w&&k0===201)return x0(w,V);if(w0.kind!==217)return!0;break;case 236:case 237:case 239:case 240:case 238:case 235:case 252:case 209:case 166:case 167:case 168:case 169:return k0!==231;case 210:return w&&k0===208?x0(w,V):k0!==231;case 268:return k0!==269;case 262:return k0!==263||!!V.namedBindings&&V.namedBindings.kind!==265;case 274:return k0!==277;case 278:return k0!==280;case 184:case 183:if(k0===178||k0===180)return!1}return H}function D0(l0,w0,V,w,H){return H===void 0&&(H=!1),c0(l0,w0,V,w,!1)&&!(H&&V&&function(k0,V0){switch(k0){case 243:case 247:case 241:case 242:return V0.kind!==231;default:return!1}}(V.kind,w0))}function x0(l0,w0){var V=e.skipTrivia(l0.text,w0.pos);return l0.getLineAndCharacterOfPosition(V).line===l0.getLineAndCharacterOfPosition(w0.end).line}(function(l0){l0[l0.Unknown=-1]=\"Unknown\"})(J||(J={})),X.getIndentation=function(l0,w0,V,w){if(w===void 0&&(w=!1),l0>w0.text.length)return s1(V);if(V.indentStyle===e.IndentStyle.None)return 0;var H=e.findPrecedingToken(l0,w0,void 0,!0),k0=s.getRangeOfEnclosingComment(w0,l0,H||null);if(k0&&k0.kind===3)return function(y0,G0,d1,h1){var S1=e.getLineAndCharacterOfPosition(y0,G0).line-1,Q1=e.getLineAndCharacterOfPosition(y0,h1.pos).line;if(e.Debug.assert(Q1>=0),S1<=Q1)return P0(e.getStartPositionOfLine(Q1,y0),G0,y0,d1);var Y0=e.getStartPositionOfLine(S1,y0),$1=d0(Y0,G0,y0,d1),Z1=$1.column,Q0=$1.character;return Z1===0?Z1:y0.text.charCodeAt(Y0+Q0)===42?Z1-1:Z1}(w0,l0,V,k0);if(!H)return s1(V);if(e.isStringOrRegularExpressionOrTemplateLiteral(H.kind)&&H.getStart(w0)<=l0&&l0<H.end)return 0;var V0=w0.getLineAndCharacterOfPosition(l0).line;if(V.indentStyle===e.IndentStyle.Block)return function(y0,G0,d1){for(var h1=G0;h1>0;){var S1=y0.text.charCodeAt(h1);if(!e.isWhiteSpaceLike(S1))break;h1--}return P0(e.getLineStartPositionForPosition(h1,y0),h1,y0,d1)}(w0,l0,V);if(H.kind===27&&H.parent.kind!==217){var t0=function(y0,G0,d1){var h1=e.findListItemInfo(y0);return h1&&h1.listItemIndex>0?U(h1.list.getChildren(),h1.listItemIndex-1,G0,d1):-1}(H,w0,V);if(t0!==-1)return t0}var f0=function(y0,G0,d1){return G0&&j(y0,y0,G0,d1)}(l0,H.parent,w0);return f0&&!e.rangeContainsRange(f0,H)?G(f0,w0,V)+V.indentSize:function(y0,G0,d1,h1,S1,Q1){for(var Y0,$1=d1;$1;){if(e.positionBelongsToNode($1,G0,y0)&&D0(Q1,$1,Y0,y0,!0)){var Z1=A($1,y0),Q0=I(d1,$1,h1,y0);return i0($1,Z1,void 0,Q0!==0?S1&&Q0===2?Q1.indentSize:0:h1!==Z1.line?Q1.indentSize:0,y0,!0,Q1)}var y1=u0($1,y0,Q1,!0);if(y1!==-1)return y1;Y0=$1,$1=$1.parent}return s1(Q1)}(w0,l0,H,V0,w,V)},X.getIndentationForNode=function(l0,w0,V,w){var H=V.getLineAndCharacterOfPosition(l0.getStart(V));return i0(l0,H,w0,0,V,!1,w)},X.getBaseIndentation=s1,function(l0){l0[l0.Unknown=0]=\"Unknown\",l0[l0.OpenBrace=1]=\"OpenBrace\",l0[l0.CloseBrace=2]=\"CloseBrace\"}(m0||(m0={})),X.isArgumentAndStartLineOverlapsExpressionBeingCalled=Z,X.childStartsOnTheSameLineWithElseInIfStatement=A0,X.childIsUnindentedBranchOfConditionalExpression=function(l0,w0,V,w){if(e.isConditionalExpression(l0)&&(w0===l0.whenTrue||w0===l0.whenFalse)){var H=e.getLineAndCharacterOfPosition(w,l0.condition.end).line;if(w0===l0.whenTrue)return V===H;var k0=A(l0.whenTrue,w).line,V0=e.getLineAndCharacterOfPosition(w,l0.whenTrue.end).line;return H===k0&&V0===V}return!1},X.argumentStartsOnSameLineAsPreviousArgument=function(l0,w0,V,w){if(e.isCallOrNewExpression(l0)){if(!l0.arguments)return!1;var H=e.find(l0.arguments,function(t0){return t0.pos===w0.pos});if(!H)return!1;var k0=l0.arguments.indexOf(H);if(k0===0)return!1;var V0=l0.arguments[k0-1];if(V===e.getLineAndCharacterOfPosition(w,V0.getEnd()).line)return!0}return!1},X.getContainingList=o0,X.findFirstNonWhitespaceCharacterAndColumn=d0,X.findFirstNonWhitespaceColumn=P0,X.nodeWillIndentChild=c0,X.shouldIndentChildNode=D0})((s=e.formatting||(e.formatting={})).SmartIndenter||(s.SmartIndenter={}))}(_0||(_0={})),function(e){(function(s){function X(w){var H=w.__pos;return e.Debug.assert(typeof H==\"number\"),H}function J(w,H){e.Debug.assert(typeof H==\"number\"),w.__pos=H}function m0(w){var H=w.__end;return e.Debug.assert(typeof H==\"number\"),H}function s1(w,H){e.Debug.assert(typeof H==\"number\"),w.__end=H}var i0,H0;function E0(w,H){return e.skipTrivia(w,H,!1,!0)}(function(w){w[w.Exclude=0]=\"Exclude\",w[w.IncludeAll=1]=\"IncludeAll\",w[w.JSDoc=2]=\"JSDoc\",w[w.StartLine=3]=\"StartLine\"})(i0=s.LeadingTriviaOption||(s.LeadingTriviaOption={})),function(w){w[w.Exclude=0]=\"Exclude\",w[w.ExcludeWhitespace=1]=\"ExcludeWhitespace\",w[w.Include=2]=\"Include\"}(H0=s.TrailingTriviaOption||(s.TrailingTriviaOption={}));var I,A={leadingTriviaOption:i0.Exclude,trailingTriviaOption:H0.Exclude};function Z(w,H,k0,V0){return{pos:A0(w,H,V0),end:j(w,k0,V0)}}function A0(w,H,k0,V0){var t0,f0;V0===void 0&&(V0=!1);var y0=k0.leadingTriviaOption;if(y0===i0.Exclude)return H.getStart(w);if(y0===i0.StartLine)return e.getLineStartPositionForPosition(H.getStart(w),w);if(y0===i0.JSDoc){var G0=e.getJSDocCommentRanges(H,w.text);if(G0==null?void 0:G0.length)return e.getLineStartPositionForPosition(G0[0].pos,w)}var d1=H.getFullStart(),h1=H.getStart(w);if(d1===h1)return h1;var S1=e.getLineStartPositionForPosition(d1,w);if(e.getLineStartPositionForPosition(h1,w)===S1)return y0===i0.IncludeAll?d1:h1;if(V0){var Q1=((t0=e.getLeadingCommentRanges(w.text,d1))===null||t0===void 0?void 0:t0[0])||((f0=e.getTrailingCommentRanges(w.text,d1))===null||f0===void 0?void 0:f0[0]);if(Q1)return e.skipTrivia(w.text,Q1.end,!0,!0)}var Y0=d1>0?1:0,$1=e.getStartPositionOfLine(e.getLineOfLocalPosition(w,S1)+Y0,w);return $1=E0(w.text,$1),e.getStartPositionOfLine(e.getLineOfLocalPosition(w,$1),w)}function o0(w,H,k0){var V0=H.end;if(k0.trailingTriviaOption===H0.Include){var t0=e.getTrailingCommentRanges(w.text,V0);if(t0)for(var f0=e.getLineOfLocalPosition(w,H.end),y0=0,G0=t0;y0<G0.length;y0++){var d1=G0[y0];if(d1.kind===2||e.getLineOfLocalPosition(w,d1.pos)>f0)break;if(e.getLineOfLocalPosition(w,d1.end)>f0)return e.skipTrivia(w.text,d1.end,!0,!0)}}}function j(w,H,k0){var V0,t0=H.end,f0=k0.trailingTriviaOption;if(f0===H0.Exclude)return t0;if(f0===H0.ExcludeWhitespace){var y0=e.concatenate(e.getTrailingCommentRanges(w.text,t0),e.getLeadingCommentRanges(w.text,t0)),G0=(V0=y0==null?void 0:y0[y0.length-1])===null||V0===void 0?void 0:V0.end;return G0||t0}var d1=o0(w,H,k0);if(d1)return d1;var h1=e.skipTrivia(w.text,t0,!0);return h1===t0||f0!==H0.Include&&!e.isLineBreak(w.text.charCodeAt(h1-1))?t0:h1}function G(w,H){return!!H&&!!w.parent&&(H.kind===27||H.kind===26&&w.parent.kind===201)}(function(w){w[w.Remove=0]=\"Remove\",w[w.ReplaceWithSingleNode=1]=\"ReplaceWithSingleNode\",w[w.ReplaceWithMultipleNodes=2]=\"ReplaceWithMultipleNodes\",w[w.Text=3]=\"Text\"})(I||(I={})),s.isThisTypeAnnotatable=function(w){return e.isFunctionExpression(w)||e.isFunctionDeclaration(w)};var u0,U,g0=function(){function w(H,k0){this.newLineCharacter=H,this.formatContext=k0,this.changes=[],this.newFiles=[],this.classesWithNodesInsertedAtStart=new e.Map,this.deletedNodes=[]}return w.fromContext=function(H){return new w(e.getNewLineOrDefaultFromHost(H.host,H.formatContext.options),H.formatContext)},w.with=function(H,k0){var V0=w.fromContext(H);return k0(V0),V0.getChanges()},w.prototype.pushRaw=function(H,k0){e.Debug.assertEqual(H.fileName,k0.fileName);for(var V0=0,t0=k0.textChanges;V0<t0.length;V0++){var f0=t0[V0];this.changes.push({kind:I.Text,sourceFile:H,text:f0.newText,range:e.createTextRangeFromSpan(f0.span)})}},w.prototype.deleteRange=function(H,k0){this.changes.push({kind:I.Remove,sourceFile:H,range:k0})},w.prototype.delete=function(H,k0){this.deletedNodes.push({sourceFile:H,node:k0})},w.prototype.deleteNode=function(H,k0,V0){V0===void 0&&(V0={leadingTriviaOption:i0.IncludeAll}),this.deleteRange(H,Z(H,k0,k0,V0))},w.prototype.deleteNodes=function(H,k0,V0,t0){V0===void 0&&(V0={leadingTriviaOption:i0.IncludeAll});for(var f0=0,y0=k0;f0<y0.length;f0++){var G0=y0[f0],d1=A0(H,G0,V0,t0),h1=j(H,G0,V0);this.deleteRange(H,{pos:d1,end:h1}),t0=!!o0(H,G0,V0)}},w.prototype.deleteModifier=function(H,k0){this.deleteRange(H,{pos:k0.getStart(H),end:e.skipTrivia(H.text,k0.end,!0)})},w.prototype.deleteNodeRange=function(H,k0,V0,t0){t0===void 0&&(t0={leadingTriviaOption:i0.IncludeAll});var f0=A0(H,k0,t0),y0=j(H,V0,t0);this.deleteRange(H,{pos:f0,end:y0})},w.prototype.deleteNodeRangeExcludingEnd=function(H,k0,V0,t0){t0===void 0&&(t0={leadingTriviaOption:i0.IncludeAll});var f0=A0(H,k0,t0),y0=V0===void 0?H.text.length:A0(H,V0,t0);this.deleteRange(H,{pos:f0,end:y0})},w.prototype.replaceRange=function(H,k0,V0,t0){t0===void 0&&(t0={}),this.changes.push({kind:I.ReplaceWithSingleNode,sourceFile:H,range:k0,options:t0,node:V0})},w.prototype.replaceNode=function(H,k0,V0,t0){t0===void 0&&(t0=A),this.replaceRange(H,Z(H,k0,k0,t0),V0,t0)},w.prototype.replaceNodeRange=function(H,k0,V0,t0,f0){f0===void 0&&(f0=A),this.replaceRange(H,Z(H,k0,V0,f0),t0,f0)},w.prototype.replaceRangeWithNodes=function(H,k0,V0,t0){t0===void 0&&(t0={}),this.changes.push({kind:I.ReplaceWithMultipleNodes,sourceFile:H,range:k0,options:t0,nodes:V0})},w.prototype.replaceNodeWithNodes=function(H,k0,V0,t0){t0===void 0&&(t0=A),this.replaceRangeWithNodes(H,Z(H,k0,k0,t0),V0,t0)},w.prototype.replaceNodeWithText=function(H,k0,V0){this.replaceRangeWithText(H,Z(H,k0,k0,A),V0)},w.prototype.replaceNodeRangeWithNodes=function(H,k0,V0,t0,f0){f0===void 0&&(f0=A),this.replaceRangeWithNodes(H,Z(H,k0,V0,f0),t0,f0)},w.prototype.nodeHasTrailingComment=function(H,k0,V0){return V0===void 0&&(V0=A),!!o0(H,k0,V0)},w.prototype.nextCommaToken=function(H,k0){var V0=e.findNextToken(k0,k0.parent,H);return V0&&V0.kind===27?V0:void 0},w.prototype.replacePropertyAssignment=function(H,k0,V0){var t0=this.nextCommaToken(H,k0)?\"\":\",\"+this.newLineCharacter;this.replaceNode(H,k0,V0,{suffix:t0})},w.prototype.insertNodeAt=function(H,k0,V0,t0){t0===void 0&&(t0={}),this.replaceRange(H,e.createRange(k0),V0,t0)},w.prototype.insertNodesAt=function(H,k0,V0,t0){t0===void 0&&(t0={}),this.replaceRangeWithNodes(H,e.createRange(k0),V0,t0)},w.prototype.insertNodeAtTopOfFile=function(H,k0,V0){this.insertAtTopOfFile(H,k0,V0)},w.prototype.insertNodesAtTopOfFile=function(H,k0,V0){this.insertAtTopOfFile(H,k0,V0)},w.prototype.insertAtTopOfFile=function(H,k0,V0){var t0=function(y0){for(var G0,d1=0,h1=y0.statements;d1<h1.length;d1++){var S1=h1[d1];if(!e.isPrologueDirective(S1))break;G0=S1}var Q1=0,Y0=y0.text;if(G0)return Q1=G0.end,G1(),Q1;var $1=e.getShebang(Y0);$1!==void 0&&(Q1=$1.length,G1());var Z1,Q0,y1=e.getLeadingCommentRanges(Y0,Q1);if(!y1)return Q1;for(var k1=0,I1=y1;k1<I1.length;k1++){var K0=I1[k1];if(K0.kind===3){if(e.isPinnedComment(Y0,K0.pos)){Z1={range:K0,pinnedOrTripleSlash:!0};continue}}else if(e.isRecognizedTripleSlashComment(Y0,K0.pos,K0.end)){Z1={range:K0,pinnedOrTripleSlash:!0};continue}if(Z1&&(Z1.pinnedOrTripleSlash||y0.getLineAndCharacterOfPosition(K0.pos).line>=y0.getLineAndCharacterOfPosition(Z1.range.end).line+2)||y0.statements.length&&(Q0===void 0&&(Q0=y0.getLineAndCharacterOfPosition(y0.statements[0].getStart()).line),Q0<y0.getLineAndCharacterOfPosition(K0.end).line+2))break;Z1={range:K0,pinnedOrTripleSlash:!1}}return Z1&&(Q1=Z1.range.end,G1()),Q1;function G1(){if(Q1<Y0.length){var Nx=Y0.charCodeAt(Q1);e.isLineBreak(Nx)&&++Q1<Y0.length&&Nx===13&&Y0.charCodeAt(Q1)===10&&Q1++}}}(H),f0={prefix:t0===0?void 0:this.newLineCharacter,suffix:(e.isLineBreak(H.text.charCodeAt(t0))?\"\":this.newLineCharacter)+(V0?this.newLineCharacter:\"\")};e.isArray(k0)?this.insertNodesAt(H,t0,k0,f0):this.insertNodeAt(H,t0,k0,f0)},w.prototype.insertFirstParameter=function(H,k0,V0){var t0=e.firstOrUndefined(k0);t0?this.insertNodeBefore(H,t0,V0):this.insertNodeAt(H,k0.pos,V0)},w.prototype.insertNodeBefore=function(H,k0,V0,t0,f0){t0===void 0&&(t0=!1),f0===void 0&&(f0={}),this.insertNodeAt(H,A0(H,k0,f0),V0,this.getOptionsForInsertNodeBefore(k0,V0,t0))},w.prototype.insertModifierAt=function(H,k0,V0,t0){t0===void 0&&(t0={}),this.insertNodeAt(H,k0,e.factory.createToken(V0),t0)},w.prototype.insertModifierBefore=function(H,k0,V0){return this.insertModifierAt(H,V0.getStart(H),k0,{suffix:\" \"})},w.prototype.insertCommentBeforeLine=function(H,k0,V0,t0){var f0=e.getStartPositionOfLine(k0,H),y0=e.getFirstNonSpaceCharacterPosition(H.text,f0),G0=l0(H,y0),d1=e.getTouchingToken(H,G0?y0:V0),h1=H.text.slice(f0,y0),S1=(G0?\"\":this.newLineCharacter)+\"//\"+t0+this.newLineCharacter+h1;this.insertText(H,d1.getStart(H),S1)},w.prototype.insertJsdocCommentBefore=function(H,k0,V0){var t0=k0.getStart(H);if(k0.jsDoc)for(var f0=0,y0=k0.jsDoc;f0<y0.length;f0++){var G0=y0[f0];this.deleteRange(H,{pos:e.getLineStartPositionForPosition(G0.getStart(H),H),end:j(H,G0,{})})}var d1=e.getPrecedingNonSpaceCharacterPosition(H.text,t0-1),h1=H.text.slice(d1,t0);this.insertNodeAt(H,t0,V0,{preserveLeadingWhitespace:!1,suffix:this.newLineCharacter+h1})},w.prototype.replaceRangeWithText=function(H,k0,V0){this.changes.push({kind:I.Text,sourceFile:H,range:k0,text:V0})},w.prototype.insertText=function(H,k0,V0){this.replaceRangeWithText(H,e.createRange(k0),V0)},w.prototype.tryInsertTypeAnnotation=function(H,k0,V0){var t0,f0;if(e.isFunctionLike(k0)){if(!(f0=e.findChildOfKind(k0,21,H))){if(!e.isArrowFunction(k0))return!1;f0=e.first(k0.parameters)}}else f0=(t0=k0.kind===250?k0.exclamationToken:k0.questionToken)!==null&&t0!==void 0?t0:k0.name;return this.insertNodeAt(H,f0.end,V0,{prefix:\": \"}),!0},w.prototype.tryInsertThisTypeAnnotation=function(H,k0,V0){var t0=e.findChildOfKind(k0,20,H).getStart(H)+1,f0=k0.parameters.length?\", \":\"\";this.insertNodeAt(H,t0,V0,{prefix:\"this: \",suffix:f0})},w.prototype.insertTypeParameters=function(H,k0,V0){var t0=(e.findChildOfKind(k0,20,H)||e.first(k0.parameters)).getStart(H);this.insertNodesAt(H,t0,V0,{prefix:\"<\",suffix:\">\",joiner:\", \"})},w.prototype.getOptionsForInsertNodeBefore=function(H,k0,V0){return e.isStatement(H)||e.isClassElement(H)?{suffix:V0?this.newLineCharacter+this.newLineCharacter:this.newLineCharacter}:e.isVariableDeclaration(H)?{suffix:\", \"}:e.isParameter(H)?e.isParameter(k0)?{suffix:\", \"}:{}:e.isStringLiteral(H)&&e.isImportDeclaration(H.parent)||e.isNamedImports(H)?{suffix:\", \"}:e.isImportSpecifier(H)?{suffix:\",\"+(V0?this.newLineCharacter:\" \")}:e.Debug.failBadSyntaxKind(H)},w.prototype.insertNodeAtConstructorStart=function(H,k0,V0){var t0=e.firstOrUndefined(k0.body.statements);t0&&k0.body.multiLine?this.insertNodeBefore(H,t0,V0):this.replaceConstructorBody(H,k0,D([V0],k0.body.statements))},w.prototype.insertNodeAtConstructorStartAfterSuperCall=function(H,k0,V0){var t0=e.find(k0.body.statements,function(f0){return e.isExpressionStatement(f0)&&e.isSuperCall(f0.expression)});t0&&k0.body.multiLine?this.insertNodeAfter(H,t0,V0):this.replaceConstructorBody(H,k0,D(D([],k0.body.statements),[V0]))},w.prototype.insertNodeAtConstructorEnd=function(H,k0,V0){var t0=e.lastOrUndefined(k0.body.statements);t0&&k0.body.multiLine?this.insertNodeAfter(H,t0,V0):this.replaceConstructorBody(H,k0,D(D([],k0.body.statements),[V0]))},w.prototype.replaceConstructorBody=function(H,k0,V0){this.replaceNode(H,k0.body,e.factory.createBlock(V0,!0))},w.prototype.insertNodeAtEndOfScope=function(H,k0,V0){var t0=A0(H,k0.getLastToken(),{});this.insertNodeAt(H,t0,V0,{prefix:e.isLineBreak(H.text.charCodeAt(k0.getLastToken().pos))?this.newLineCharacter:this.newLineCharacter+this.newLineCharacter,suffix:this.newLineCharacter})},w.prototype.insertNodeAtClassStart=function(H,k0,V0){this.insertNodeAtStartWorker(H,k0,V0)},w.prototype.insertNodeAtObjectStart=function(H,k0,V0){this.insertNodeAtStartWorker(H,k0,V0)},w.prototype.insertNodeAtStartWorker=function(H,k0,V0){var t0,f0=(t0=this.guessIndentationFromExistingMembers(H,k0))!==null&&t0!==void 0?t0:this.computeIndentationForNewMember(H,k0);this.insertNodeAt(H,P0(k0).pos,V0,this.getInsertNodeAtStartInsertOptions(H,k0,f0))},w.prototype.guessIndentationFromExistingMembers=function(H,k0){for(var V0,t0=k0,f0=0,y0=P0(k0);f0<y0.length;f0++){var G0=y0[f0];if(e.rangeStartPositionsAreOnSameLine(t0,G0,H))return;var d1=G0.getStart(H),h1=e.formatting.SmartIndenter.findFirstNonWhitespaceColumn(e.getLineStartPositionForPosition(d1,H),d1,H,this.formatContext.options);if(V0===void 0)V0=h1;else if(h1!==V0)return;t0=G0}return V0},w.prototype.computeIndentationForNewMember=function(H,k0){var V0,t0=k0.getStart(H);return e.formatting.SmartIndenter.findFirstNonWhitespaceColumn(e.getLineStartPositionForPosition(t0,H),t0,H,this.formatContext.options)+((V0=this.formatContext.options.indentSize)!==null&&V0!==void 0?V0:4)},w.prototype.getInsertNodeAtStartInsertOptions=function(H,k0,V0){var t0=P0(k0).length===0,f0=e.addToSeen(this.classesWithNodesInsertedAtStart,e.getNodeId(k0),{node:k0,sourceFile:H}),y0=e.isObjectLiteralExpression(k0)&&(!e.isJsonSourceFile(H)||!t0);return{indentation:V0,prefix:(e.isObjectLiteralExpression(k0)&&e.isJsonSourceFile(H)&&t0&&!f0?\",\":\"\")+this.newLineCharacter,suffix:y0?\",\":\"\"}},w.prototype.insertNodeAfterComma=function(H,k0,V0){var t0=this.insertNodeAfterWorker(H,this.nextCommaToken(H,k0)||k0,V0);this.insertNodeAt(H,t0,V0,this.getInsertNodeAfterOptions(H,k0))},w.prototype.insertNodeAfter=function(H,k0,V0){var t0=this.insertNodeAfterWorker(H,k0,V0);this.insertNodeAt(H,t0,V0,this.getInsertNodeAfterOptions(H,k0))},w.prototype.insertNodeAtEndOfList=function(H,k0,V0){this.insertNodeAt(H,k0.end,V0,{prefix:\", \"})},w.prototype.insertNodesAfter=function(H,k0,V0){var t0=this.insertNodeAfterWorker(H,k0,e.first(V0));this.insertNodesAt(H,t0,V0,this.getInsertNodeAfterOptions(H,k0))},w.prototype.insertNodeAfterWorker=function(H,k0,V0){var t0,f0;return t0=k0,f0=V0,((e.isPropertySignature(t0)||e.isPropertyDeclaration(t0))&&e.isClassOrTypeElement(f0)&&f0.name.kind===159||e.isStatementButNotDeclaration(t0)&&e.isStatementButNotDeclaration(f0))&&H.text.charCodeAt(k0.end-1)!==59&&this.replaceRange(H,e.createRange(k0.end),e.factory.createToken(26)),j(H,k0,{})},w.prototype.getInsertNodeAfterOptions=function(H,k0){var V0=this.getInsertNodeAfterOptionsWorker(k0);return $($({},V0),{prefix:k0.end===H.end&&e.isStatement(k0)?V0.prefix?`\n`+V0.prefix:`\n`:V0.prefix})},w.prototype.getInsertNodeAfterOptionsWorker=function(H){switch(H.kind){case 253:case 257:return{prefix:this.newLineCharacter,suffix:this.newLineCharacter};case 250:case 10:case 78:return{prefix:\", \"};case 289:return{suffix:\",\"+this.newLineCharacter};case 92:return{prefix:\" \"};case 161:return{};default:return e.Debug.assert(e.isStatement(H)||e.isClassOrTypeElement(H)),{suffix:this.newLineCharacter}}},w.prototype.insertName=function(H,k0,V0){if(e.Debug.assert(!k0.name),k0.kind===210){var t0=e.findChildOfKind(k0,38,H),f0=e.findChildOfKind(k0,20,H);f0?(this.insertNodesAt(H,f0.getStart(H),[e.factory.createToken(97),e.factory.createIdentifier(V0)],{joiner:\" \"}),w0(this,H,t0)):(this.insertText(H,e.first(k0.parameters).getStart(H),\"function \"+V0+\"(\"),this.replaceRange(H,t0,e.factory.createToken(21))),k0.body.kind!==231&&(this.insertNodesAt(H,k0.body.getStart(H),[e.factory.createToken(18),e.factory.createToken(104)],{joiner:\" \",suffix:\" \"}),this.insertNodesAt(H,k0.body.end,[e.factory.createToken(26),e.factory.createToken(19)],{joiner:\" \"}))}else{var y0=e.findChildOfKind(k0,k0.kind===209?97:83,H).end;this.insertNodeAt(H,y0,e.factory.createIdentifier(V0),{prefix:\" \"})}},w.prototype.insertExportModifier=function(H,k0){this.insertText(H,k0.getStart(H),\"export \")},w.prototype.insertNodeInListAfter=function(H,k0,V0,t0){if(t0===void 0&&(t0=e.formatting.SmartIndenter.getContainingList(k0,H)),t0){var f0=e.indexOfNode(t0,k0);if(!(f0<0)){var y0=k0.getEnd();if(f0!==t0.length-1){var G0=e.getTokenAtPosition(H,k0.end);if(G0&&G(k0,G0)){var d1=t0[f0+1],h1=E0(H.text,d1.getFullStart()),S1=\"\"+e.tokenToString(G0.kind)+H.text.substring(G0.end,h1);this.insertNodesAt(H,h1,[V0],{suffix:S1})}}else{var Q1=k0.getStart(H),Y0=e.getLineStartPositionForPosition(Q1,H),$1=void 0,Z1=!1;if(t0.length===1)$1=27;else{var Q0=e.findPrecedingToken(k0.pos,H);$1=G(k0,Q0)?Q0.kind:27,Z1=e.getLineStartPositionForPosition(t0[f0-1].getStart(H),H)!==Y0}if(function(I1,K0){for(var G1=K0;G1<I1.length;){var Nx=I1.charCodeAt(G1);if(!e.isWhiteSpaceSingleLine(Nx))return Nx===47;G1++}return!1}(H.text,k0.end)&&(Z1=!0),Z1){this.replaceRange(H,e.createRange(y0),e.factory.createToken($1));for(var y1=e.formatting.SmartIndenter.findFirstNonWhitespaceColumn(Y0,Q1,H,this.formatContext.options),k1=e.skipTrivia(H.text,y0,!0,!1);k1!==y0&&e.isLineBreak(H.text.charCodeAt(k1-1));)k1--;this.replaceRange(H,e.createRange(k1),V0,{indentation:y1,prefix:this.newLineCharacter})}else this.replaceRange(H,e.createRange(y0),V0,{prefix:e.tokenToString($1)+\" \"})}}}else e.Debug.fail(\"node is not a list element\")},w.prototype.parenthesizeExpression=function(H,k0){this.replaceRange(H,e.rangeOfNode(k0),e.factory.createParenthesizedExpression(k0))},w.prototype.finishClassesWithNodesInsertedAtStart=function(){var H=this;this.classesWithNodesInsertedAtStart.forEach(function(k0){var V0=k0.node,t0=k0.sourceFile,f0=function(S1,Q1){var Y0=e.findChildOfKind(S1,18,Q1),$1=e.findChildOfKind(S1,19,Q1);return[Y0==null?void 0:Y0.end,$1==null?void 0:$1.end]}(V0,t0),y0=f0[0],G0=f0[1];if(y0!==void 0&&G0!==void 0){var d1=P0(V0).length===0,h1=e.positionsAreOnSameLine(y0,G0,t0);d1&&h1&&y0!==G0-1&&H.deleteRange(t0,e.createRange(y0,G0-1)),h1&&H.insertText(t0,G0-1,H.newLineCharacter)}})},w.prototype.finishDeleteDeclarations=function(){for(var H=this,k0=new e.Set,V0=function(d1,h1){t0.deletedNodes.some(function(S1){return S1.sourceFile===d1&&e.rangeContainsRangeExclusive(S1.node,h1)})||(e.isArray(h1)?t0.deleteRange(d1,e.rangeOfTypeParameters(d1,h1)):U.deleteDeclaration(t0,k0,d1,h1))},t0=this,f0=0,y0=this.deletedNodes;f0<y0.length;f0++){var G0=y0[f0];V0(G0.sourceFile,G0.node)}k0.forEach(function(d1){var h1=d1.getSourceFile(),S1=e.formatting.SmartIndenter.getContainingList(d1,h1);if(d1===e.last(S1)){var Q1=e.findLastIndex(S1,function(Y0){return!k0.has(Y0)},S1.length-2);Q1!==-1&&H.deleteRange(h1,{pos:S1[Q1].end,end:d0(h1,S1[Q1+1])})}})},w.prototype.getChanges=function(H){this.finishDeleteDeclarations(),this.finishClassesWithNodesInsertedAtStart();for(var k0=u0.getTextChangesFromChanges(this.changes,this.newLineCharacter,this.formatContext,H),V0=0,t0=this.newFiles;V0<t0.length;V0++){var f0=t0[V0],y0=f0.oldFile,G0=f0.fileName,d1=f0.statements;k0.push(u0.newFileChanges(y0,G0,d1,this.newLineCharacter,this.formatContext))}return k0},w.prototype.createNewFile=function(H,k0,V0){this.newFiles.push({oldFile:H,fileName:k0,statements:V0})},w}();function d0(w,H){return e.skipTrivia(w.text,A0(w,H,{leadingTriviaOption:i0.IncludeAll}),!1,!0)}function P0(w){return e.isObjectLiteralExpression(w)?w.properties:w.members}function c0(w,H){for(var k0=H.length-1;k0>=0;k0--){var V0=H[k0],t0=V0.span,f0=V0.newText;w=\"\"+w.substring(0,t0.start)+f0+w.substring(e.textSpanEnd(t0))}return w}function D0(w){var H=e.visitEachChild(w,D0,e.nullTransformationContext,x0,D0),k0=e.nodeIsSynthesized(H)?H:Object.create(H);return e.setTextRangePosEnd(k0,X(w),m0(w)),k0}function x0(w,H,k0,V0,t0){var f0=e.visitNodes(w,H,k0,V0,t0);if(!f0)return f0;var y0=f0===w?e.factory.createNodeArray(f0.slice(0)):f0;return e.setTextRangePosEnd(y0,X(w),m0(w)),y0}function l0(w,H){return!(e.isInComment(w,H)||e.isInString(w,H)||e.isInTemplateString(w,H)||e.isInJSXText(w,H))}function w0(w,H,k0,V0){V0===void 0&&(V0={leadingTriviaOption:i0.IncludeAll});var t0=A0(H,k0,V0),f0=j(H,k0,V0);w.deleteRange(H,{pos:t0,end:f0})}function V(w,H,k0,V0){var t0=e.Debug.checkDefined(e.formatting.SmartIndenter.getContainingList(V0,k0)),f0=e.indexOfNode(t0,V0);e.Debug.assert(f0!==-1),t0.length!==1?(e.Debug.assert(!H.has(V0),\"Deleting a node twice\"),H.add(V0),w.deleteRange(k0,{pos:d0(k0,V0),end:f0===t0.length-1?j(k0,V0,{}):d0(k0,t0[f0+1])})):w0(w,k0,V0)}s.ChangeTracker=g0,s.getNewFileText=function(w,H,k0,V0){return u0.newFileChangesWorker(void 0,H,w,k0,V0)},function(w){function H(V0,t0,f0,y0,G0){var d1=f0.map(function(S1){return S1===4?\"\":k0(S1,V0,y0).text}).join(y0),h1=e.createSourceFile(\"any file name\",d1,99,!0,t0);return c0(d1,e.formatting.formatDocument(h1,G0))+y0}function k0(V0,t0,f0){var y0=function(d1){var h1=0,S1=e.createTextWriter(d1);function Q1(C1,nx){if(nx||!function(b1){return e.skipTrivia(b1,0)===b1.length}(C1)){h1=S1.getTextPos();for(var O=0;e.isWhiteSpaceLike(C1.charCodeAt(C1.length-O-1));)O++;h1-=O}}function Y0(C1){S1.write(C1),Q1(C1,!1)}function $1(C1){S1.writeComment(C1)}function Z1(C1){S1.writeKeyword(C1),Q1(C1,!1)}function Q0(C1){S1.writeOperator(C1),Q1(C1,!1)}function y1(C1){S1.writePunctuation(C1),Q1(C1,!1)}function k1(C1){S1.writeTrailingSemicolon(C1),Q1(C1,!1)}function I1(C1){S1.writeParameter(C1),Q1(C1,!1)}function K0(C1){S1.writeProperty(C1),Q1(C1,!1)}function G1(C1){S1.writeSpace(C1),Q1(C1,!1)}function Nx(C1){S1.writeStringLiteral(C1),Q1(C1,!1)}function n1(C1,nx){S1.writeSymbol(C1,nx),Q1(C1,!1)}function S0(C1){S1.writeLine(C1)}function I0(){S1.increaseIndent()}function U0(){S1.decreaseIndent()}function p0(){return S1.getText()}function p1(C1){S1.rawWrite(C1),Q1(C1,!1)}function Y1(C1){S1.writeLiteral(C1),Q1(C1,!0)}function N1(){return S1.getTextPos()}function V1(){return S1.getLine()}function Ox(){return S1.getColumn()}function $x(){return S1.getIndent()}function rx(){return S1.isAtStartOfLine()}function O0(){S1.clear(),h1=0}return{onBeforeEmitNode:function(C1){C1&&J(C1,h1)},onAfterEmitNode:function(C1){C1&&s1(C1,h1)},onBeforeEmitNodeArray:function(C1){C1&&J(C1,h1)},onAfterEmitNodeArray:function(C1){C1&&s1(C1,h1)},onBeforeEmitToken:function(C1){C1&&J(C1,h1)},onAfterEmitToken:function(C1){C1&&s1(C1,h1)},write:Y0,writeComment:$1,writeKeyword:Z1,writeOperator:Q0,writePunctuation:y1,writeTrailingSemicolon:k1,writeParameter:I1,writeProperty:K0,writeSpace:G1,writeStringLiteral:Nx,writeSymbol:n1,writeLine:S0,increaseIndent:I0,decreaseIndent:U0,getText:p0,rawWrite:p1,writeLiteral:Y1,getTextPos:N1,getLine:V1,getColumn:Ox,getIndent:$x,isAtStartOfLine:rx,hasTrailingComment:function(){return S1.hasTrailingComment()},hasTrailingWhitespace:function(){return S1.hasTrailingWhitespace()},clear:O0}}(f0),G0=f0===`\n`?1:0;return e.createPrinter({newLine:G0,neverAsciiEscape:!0,preserveSourceNewlines:!0,terminateUnterminatedLiterals:!0},y0).writeNode(4,V0,t0,y0),{text:y0.getText(),node:D0(V0)}}w.getTextChangesFromChanges=function(V0,t0,f0,y0){return e.mapDefined(e.group(V0,function(G0){return G0.sourceFile.path}),function(G0){for(var d1=G0[0].sourceFile,h1=e.stableSort(G0,function($1,Z1){return $1.range.pos-Z1.range.pos||$1.range.end-Z1.range.end}),S1=function($1){e.Debug.assert(h1[$1].range.end<=h1[$1+1].range.pos,\"Changes overlap\",function(){return JSON.stringify(h1[$1].range)+\" and \"+JSON.stringify(h1[$1+1].range)})},Q1=0;Q1<h1.length-1;Q1++)S1(Q1);var Y0=e.mapDefined(h1,function($1){var Z1=e.createTextSpanFromRange($1.range),Q0=function(y1,k1,I1,K0,G1){if(y1.kind===I.Remove)return\"\";if(y1.kind===I.Text)return y1.text;var Nx=y1.options,n1=Nx===void 0?{}:Nx,S0=y1.range.pos,I0=function(p1){return function(Y1,N1,V1,Ox,$x,rx,O0){var C1=Ox.indentation,nx=Ox.prefix,O=Ox.delta,b1=k0(Y1,N1,$x),Px=b1.node,me=b1.text;O0&&O0(Px,me);var Re=function(gr,Nt){var Ir=gr.options,xr=!Ir.semicolons||Ir.semicolons===e.SemicolonPreference.Ignore,Bt=Ir.semicolons===e.SemicolonPreference.Remove||xr&&!e.probablyUsesSemicolons(Nt);return $($({},Ir),{semicolons:Bt?e.SemicolonPreference.Remove:e.SemicolonPreference.Ignore})}(rx,N1),gt=C1!==void 0?C1:e.formatting.SmartIndenter.getIndentation(V1,N1,Re,nx===$x||e.getLineStartPositionForPosition(V1,N1)===V1);O===void 0&&(O=e.formatting.SmartIndenter.shouldIndentChildNode(Re,Y1)&&Re.indentSize||0);var Vt={text:me,getLineAndCharacterOfPosition:function(gr){return e.getLineAndCharacterOfPosition(this,gr)}},wr=e.formatting.formatNodeGivenIndentation(Px,Vt,N1.languageVariant,gt,O,$($({},rx),{options:Re}));return c0(me,wr)}(p1,k1,S0,n1,I1,K0,G1)},U0=y1.kind===I.ReplaceWithMultipleNodes?y1.nodes.map(function(p1){return e.removeSuffix(I0(p1),I1)}).join(y1.options.joiner||I1):I0(y1.node),p0=n1.preserveLeadingWhitespace||n1.indentation!==void 0||e.getLineStartPositionForPosition(S0,k1)===S0?U0:U0.replace(/^\\s+/,\"\");return(n1.prefix||\"\")+p0+(!n1.suffix||e.endsWith(p0,n1.suffix)?\"\":n1.suffix)}($1,d1,t0,f0,y0);if(Z1.length!==Q0.length||!e.stringContainsAt(d1.text,Q0,Z1.start))return e.createTextChange(Z1,Q0)});return Y0.length>0?{fileName:d1.fileName,textChanges:Y0}:void 0})},w.newFileChanges=function(V0,t0,f0,y0,G0){var d1=H(V0,e.getScriptKindFromFileName(t0),f0,y0,G0);return{fileName:t0,textChanges:[e.createTextChange(e.createTextSpan(0,0),d1)],isNewFile:!0}},w.newFileChangesWorker=H,w.getNonformattedText=k0}(u0||(u0={})),s.applyChanges=c0,s.isValidLocationToAddComment=l0,function(w){function H(k0,V0,t0){if(t0.parent.name){var f0=e.Debug.checkDefined(e.getTokenAtPosition(V0,t0.pos-1));k0.deleteRange(V0,{pos:f0.getStart(V0),end:t0.end})}else w0(k0,V0,e.getAncestor(t0,262))}w.deleteDeclaration=function(k0,V0,t0,f0){switch(f0.kind){case 161:var y0=f0.parent;e.isArrowFunction(y0)&&y0.parameters.length===1&&!e.findChildOfKind(y0,20,t0)?k0.replaceNodeWithText(t0,f0,\"()\"):V(k0,V0,t0,f0);break;case 262:case 261:w0(k0,t0,f0,{leadingTriviaOption:t0.imports.length&&f0===e.first(t0.imports).parent||f0===e.find(t0.statements,e.isAnyImportSyntax)?i0.Exclude:e.hasJSDocNodes(f0)?i0.JSDoc:i0.StartLine});break;case 199:var G0=f0.parent;G0.kind===198&&f0!==e.last(G0.elements)?w0(k0,t0,f0):V(k0,V0,t0,f0);break;case 250:(function(h1,S1,Q1,Y0){var $1=Y0.parent;if($1.kind===288)return void h1.deleteNodeRange(Q1,e.findChildOfKind($1,20,Q1),e.findChildOfKind($1,21,Q1));if($1.declarations.length!==1)return void V(h1,S1,Q1,Y0);var Z1=$1.parent;switch(Z1.kind){case 240:case 239:h1.replaceNode(Q1,Y0,e.factory.createObjectLiteralExpression());break;case 238:w0(h1,Q1,$1);break;case 233:w0(h1,Q1,Z1,{leadingTriviaOption:e.hasJSDocNodes(Z1)?i0.JSDoc:i0.StartLine});break;default:e.Debug.assertNever(Z1)}})(k0,V0,t0,f0);break;case 160:V(k0,V0,t0,f0);break;case 266:var d1=f0.parent;d1.elements.length===1?H(k0,t0,d1):V(k0,V0,t0,f0);break;case 264:H(k0,t0,f0);break;case 26:w0(k0,t0,f0,{trailingTriviaOption:H0.Exclude});break;case 97:w0(k0,t0,f0,{leadingTriviaOption:i0.Exclude});break;case 253:case 252:w0(k0,t0,f0,{leadingTriviaOption:e.hasJSDocNodes(f0)?i0.JSDoc:i0.StartLine});break;default:f0.parent?e.isImportClause(f0.parent)&&f0.parent.name===f0?function(h1,S1,Q1){if(Q1.namedBindings){var Y0=Q1.name.getStart(S1),$1=e.getTokenAtPosition(S1,Q1.name.end);if($1&&$1.kind===27){var Z1=e.skipTrivia(S1.text,$1.end,!1,!0);h1.deleteRange(S1,{pos:Y0,end:Z1})}else w0(h1,S1,Q1.name)}else w0(h1,S1,Q1.parent)}(k0,t0,f0.parent):e.isCallExpression(f0.parent)&&e.contains(f0.parent.arguments,f0)?V(k0,V0,t0,f0):w0(k0,t0,f0):w0(k0,t0,f0)}}}(U||(U={})),s.deleteNode=w0})(e.textChanges||(e.textChanges={}))}(_0||(_0={})),function(e){(function(s){var X=e.createMultiMap(),J=new e.Map;function m0(I){return e.isArray(I)?e.formatStringFromArgs(e.getLocaleSpecificMessage(I[0]),I.slice(1)):e.getLocaleSpecificMessage(I)}function s1(I,A,Z,A0,o0,j){return{fixName:I,description:A,changes:Z,fixId:A0,fixAllDescription:o0,commands:j?[j]:void 0}}function i0(I,A){return{changes:I,commands:A}}function H0(I,A,Z){for(var A0=0,o0=E0(I);A0<o0.length;A0++){var j=o0[A0];e.contains(A,j.code)&&Z(j)}}function E0(I){var A=I.program,Z=I.sourceFile,A0=I.cancellationToken;return D(D(D([],A.getSemanticDiagnostics(Z,A0)),A.getSyntacticDiagnostics(Z,A0)),e.computeSuggestionDiagnostics(Z,A,A0))}s.createCodeFixActionWithoutFixAll=function(I,A,Z){return s1(I,m0(Z),A,void 0,void 0)},s.createCodeFixAction=function(I,A,Z,A0,o0,j){return s1(I,m0(Z),A,A0,m0(o0),j)},s.createCodeFixActionMaybeFixAll=function(I,A,Z,A0,o0,j){return s1(I,m0(Z),A,A0,o0&&m0(o0),j)},s.registerCodeFix=function(I){for(var A=0,Z=I.errorCodes;A<Z.length;A++){var A0=Z[A];X.add(String(A0),I)}if(I.fixIds)for(var o0=0,j=I.fixIds;o0<j.length;o0++){var G=j[o0];e.Debug.assert(!J.has(G)),J.set(G,I)}},s.getSupportedErrorCodes=function(){return e.arrayFrom(X.keys())},s.getFixes=function(I){var A=E0(I),Z=X.get(String(I.errorCode));return e.flatMap(Z,function(A0){return e.map(A0.getCodeActions(I),function(o0,j){for(var G=o0.errorCodes,u0=0,U=0,g0=j;U<g0.length;U++){var d0=g0[U];if(e.contains(G,d0.code)&&u0++,u0>1)break}var P0=u0<2;return function(c0){var D0=c0.fixId,x0=c0.fixAllDescription,l0=v1(c0,[\"fixId\",\"fixAllDescription\"]);return P0?l0:$($({},l0),{fixId:D0,fixAllDescription:x0})}}(A0,A))})},s.getAllFixes=function(I){return J.get(e.cast(I.fixId,e.isString)).getAllCodeActions(I)},s.createCombinedCodeActions=i0,s.createFileTextChanges=function(I,A){return{fileName:I,textChanges:A}},s.codeFixAll=function(I,A,Z){var A0=[];return i0(e.textChanges.ChangeTracker.with(I,function(o0){return H0(I,A,function(j){return Z(o0,j,A0)})}),A0.length===0?void 0:A0)},s.eachDiagnostic=H0})(e.codefix||(e.codefix={}))}(_0||(_0={})),function(e){var s,X;s=e.refactor||(e.refactor={}),X=new e.Map,s.registerRefactor=function(J,m0){X.set(J,m0)},s.getApplicableRefactors=function(J){return e.arrayFrom(e.flatMapIterator(X.values(),function(m0){var s1;return J.cancellationToken&&J.cancellationToken.isCancellationRequested()||!((s1=m0.kinds)===null||s1===void 0?void 0:s1.some(function(i0){return s.refactorKindBeginsWith(i0,J.kind)}))?void 0:m0.getAvailableActions(J)}))},s.getEditsForRefactor=function(J,m0,s1){var i0=X.get(m0);return i0&&i0.getEditsForAction(J,s1)}}(_0||(_0={})),function(e){(function(s){var X=\"addConvertToUnknownForNonOverlappingTypes\",J=[e.Diagnostics.Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the_other_If_this_was_intentional_convert_the_expression_to_unknown_first.code];function m0(s1,i0,H0){var E0=e.getTokenAtPosition(i0,H0),I=e.Debug.checkDefined(e.findAncestor(E0,function(Z){return e.isAsExpression(Z)||e.isTypeAssertionExpression(Z)}),\"Expected to find an assertion expression\"),A=e.isAsExpression(I)?e.factory.createAsExpression(I.expression,e.factory.createKeywordTypeNode(152)):e.factory.createTypeAssertion(e.factory.createKeywordTypeNode(152),I.expression);s1.replaceNode(i0,I.expression,A)}s.registerCodeFix({errorCodes:J,getCodeActions:function(s1){var i0=e.textChanges.ChangeTracker.with(s1,function(H0){return m0(H0,s1.sourceFile,s1.span.start)});return[s.createCodeFixAction(X,i0,e.Diagnostics.Add_unknown_conversion_for_non_overlapping_types,X,e.Diagnostics.Add_unknown_to_all_conversions_of_non_overlapping_types)]},fixIds:[X],getAllCodeActions:function(s1){return s.codeFixAll(s1,J,function(i0,H0){return m0(i0,H0.file,H0.start)})}})})(e.codefix||(e.codefix={}))}(_0||(_0={})),function(e){var s;(s=e.codefix||(e.codefix={})).registerCodeFix({errorCodes:[e.Diagnostics.await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module.code,e.Diagnostics.for_await_loops_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module.code],getCodeActions:function(X){var J=X.sourceFile,m0=e.textChanges.ChangeTracker.with(X,function(s1){var i0=e.factory.createExportDeclaration(void 0,void 0,!1,e.factory.createNamedExports([]),void 0);s1.insertNodeAtEndOfScope(J,J,i0)});return[s.createCodeFixActionWithoutFixAll(\"addEmptyExportDeclaration\",m0,e.Diagnostics.Add_export_to_make_this_file_into_a_module)]}})}(_0||(_0={})),function(e){(function(s){var X=\"addMissingAsync\",J=[e.Diagnostics.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code,e.Diagnostics.Type_0_is_not_assignable_to_type_1.code,e.Diagnostics.Type_0_is_not_comparable_to_type_1.code];function m0(i0,H0,E0,I){var A=E0(function(Z){return function(A0,o0,j,G){if(!(G&&G.has(e.getNodeId(j)))){G==null||G.add(e.getNodeId(j));var u0=e.factory.updateModifiers(e.getSynthesizedDeepClone(j,!0),e.factory.createNodeArray(e.factory.createModifiersFromModifierFlags(256|e.getSyntacticModifierFlags(j))));A0.replaceNode(o0,j,u0)}}(Z,i0.sourceFile,H0,I)});return s.createCodeFixAction(X,A,e.Diagnostics.Add_async_modifier_to_containing_function,X,e.Diagnostics.Add_all_missing_async_modifiers)}function s1(i0,H0){if(H0){var E0=e.getTokenAtPosition(i0,H0.start);return e.findAncestor(E0,function(I){return I.getStart(i0)<H0.start||I.getEnd()>e.textSpanEnd(H0)?\"quit\":(e.isArrowFunction(I)||e.isMethodDeclaration(I)||e.isFunctionExpression(I)||e.isFunctionDeclaration(I))&&e.textSpansEqual(H0,e.createTextSpanFromNode(I,i0))})}}s.registerCodeFix({fixIds:[X],errorCodes:J,getCodeActions:function(i0){var H0=i0.sourceFile,E0=i0.errorCode,I=i0.cancellationToken,A=i0.program,Z=i0.span,A0=e.find(A.getDiagnosticsProducingTypeChecker().getDiagnostics(H0,I),function(j,G){return function(u0){var U=u0.start,g0=u0.length,d0=u0.relatedInformation,P0=u0.code;return e.isNumber(U)&&e.isNumber(g0)&&e.textSpansEqual({start:U,length:g0},j)&&P0===G&&!!d0&&e.some(d0,function(c0){return c0.code===e.Diagnostics.Did_you_mean_to_mark_this_function_as_async.code})}}(Z,E0)),o0=s1(H0,A0&&A0.relatedInformation&&e.find(A0.relatedInformation,function(j){return j.code===e.Diagnostics.Did_you_mean_to_mark_this_function_as_async.code}));if(o0)return[m0(i0,o0,function(j){return e.textChanges.ChangeTracker.with(i0,j)})]},getAllCodeActions:function(i0){var H0=i0.sourceFile,E0=new e.Set;return s.codeFixAll(i0,J,function(I,A){var Z=A.relatedInformation&&e.find(A.relatedInformation,function(o0){return o0.code===e.Diagnostics.Did_you_mean_to_mark_this_function_as_async.code}),A0=s1(H0,Z);if(A0)return m0(i0,A0,function(o0){return o0(I),[]},E0)})}})})(e.codefix||(e.codefix={}))}(_0||(_0={})),function(e){(function(s){var X=\"addMissingAwait\",J=e.Diagnostics.Property_0_does_not_exist_on_type_1.code,m0=[e.Diagnostics.This_expression_is_not_callable.code,e.Diagnostics.This_expression_is_not_constructable.code],s1=D([e.Diagnostics.An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type.code,e.Diagnostics.The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type.code,e.Diagnostics.The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type.code,e.Diagnostics.Operator_0_cannot_be_applied_to_type_1.code,e.Diagnostics.Operator_0_cannot_be_applied_to_types_1_and_2.code,e.Diagnostics.This_condition_will_always_return_0_since_the_types_1_and_2_have_no_overlap.code,e.Diagnostics.This_condition_will_always_return_true_since_this_0_is_always_defined.code,e.Diagnostics.Type_0_is_not_an_array_type.code,e.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type.code,e.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type_Use_compiler_option_downlevelIteration_to_allow_iterating_of_iterators.code,e.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator.code,e.Diagnostics.Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator.code,e.Diagnostics.Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator.code,e.Diagnostics.Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator.code,e.Diagnostics.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code,J],m0);function i0(A0,o0,j,G,u0,U){var g0=A0.sourceFile,d0=A0.program,P0=A0.cancellationToken,c0=function(x0,l0,w0,V,w){var H=function(G0,d1){if(e.isPropertyAccessExpression(G0.parent)&&e.isIdentifier(G0.parent.expression))return{identifiers:[G0.parent.expression],isCompleteFix:!0};if(e.isIdentifier(G0))return{identifiers:[G0],isCompleteFix:!0};if(e.isBinaryExpression(G0)){for(var h1=void 0,S1=!0,Q1=0,Y0=[G0.left,G0.right];Q1<Y0.length;Q1++){var $1=Y0[Q1],Z1=d1.getTypeAtLocation($1);if(d1.getPromisedTypeOfPromise(Z1)){if(!e.isIdentifier($1)){S1=!1;continue}(h1||(h1=[])).push($1)}}return h1&&{identifiers:h1,isCompleteFix:S1}}}(x0,w);if(!!H){for(var k0,V0=H.isCompleteFix,t0=function(G0){var d1=w.getSymbolAtLocation(G0);if(!d1)return\"continue\";var h1=e.tryCast(d1.valueDeclaration,e.isVariableDeclaration),S1=h1&&e.tryCast(h1.name,e.isIdentifier),Q1=e.getAncestor(h1,233);if(!h1||!Q1||h1.type||!h1.initializer||Q1.getSourceFile()!==l0||e.hasSyntacticModifier(Q1,1)||!S1||!I(h1.initializer))return V0=!1,\"continue\";var Y0=V.getSemanticDiagnostics(l0,w0);if(e.FindAllReferences.Core.eachSymbolReferenceInFile(S1,w,l0,function($1){return G0!==$1&&!function(Z1,Q0,y1,k1){var I1=e.isPropertyAccessExpression(Z1.parent)?Z1.parent.name:e.isBinaryExpression(Z1.parent)?Z1.parent:Z1,K0=e.find(Q0,function(G1){return G1.start===I1.getStart(y1)&&G1.start+G1.length===I1.getEnd()});return K0&&e.contains(s1,K0.code)||1&k1.getTypeAtLocation(I1).flags}($1,Y0,l0,w)}))return V0=!1,\"continue\";(k0||(k0=[])).push({expression:h1.initializer,declarationSymbol:d1})},f0=0,y0=H.identifiers;f0<y0.length;f0++)t0(y0[f0]);return k0&&{initializers:k0,needsSecondPassForFixAll:!V0}}}(o0,g0,P0,d0,G);if(c0){var D0=u0(function(x0){e.forEach(c0.initializers,function(l0){var w0=l0.expression;return A(x0,j,g0,G,w0,U)}),U&&c0.needsSecondPassForFixAll&&A(x0,j,g0,G,o0,U)});return s.createCodeFixActionWithoutFixAll(\"addMissingAwaitToInitializer\",D0,c0.initializers.length===1?[e.Diagnostics.Add_await_to_initializer_for_0,c0.initializers[0].declarationSymbol.name]:e.Diagnostics.Add_await_to_initializers)}}function H0(A0,o0,j,G,u0,U){var g0=u0(function(d0){return A(d0,j,A0.sourceFile,G,o0,U)});return s.createCodeFixAction(X,g0,e.Diagnostics.Add_await,X,e.Diagnostics.Fix_all_expressions_possibly_missing_await)}function E0(A0,o0,j,G,u0){var U=e.getTokenAtPosition(A0,j.start),g0=e.findAncestor(U,function(d0){return d0.getStart(A0)<j.start||d0.getEnd()>e.textSpanEnd(j)?\"quit\":e.isExpression(d0)&&e.textSpansEqual(j,e.createTextSpanFromNode(d0,A0))});return g0&&function(d0,P0,c0,D0,x0){var l0=x0.getDiagnosticsProducingTypeChecker().getDiagnostics(d0,D0);return e.some(l0,function(w0){var V=w0.start,w=w0.length,H=w0.relatedInformation,k0=w0.code;return e.isNumber(V)&&e.isNumber(w)&&e.textSpansEqual({start:V,length:w},c0)&&k0===P0&&!!H&&e.some(H,function(V0){return V0.code===e.Diagnostics.Did_you_forget_to_use_await.code})})}(A0,o0,j,G,u0)&&I(g0)?g0:void 0}function I(A0){return 32768&A0.kind||!!e.findAncestor(A0,function(o0){return o0.parent&&e.isArrowFunction(o0.parent)&&o0.parent.body===o0||e.isBlock(o0)&&(o0.parent.kind===252||o0.parent.kind===209||o0.parent.kind===210||o0.parent.kind===166)})}function A(A0,o0,j,G,u0,U){if(e.isBinaryExpression(u0))for(var g0=0,d0=[u0.left,u0.right];g0<d0.length;g0++){var P0=d0[g0];if(!(U&&e.isIdentifier(P0)&&(x0=G.getSymbolAtLocation(P0))&&U.has(e.getSymbolId(x0)))){var c0=G.getTypeAtLocation(P0),D0=G.getPromisedTypeOfPromise(c0)?e.factory.createAwaitExpression(P0):P0;A0.replaceNode(j,P0,D0)}}else if(o0===J&&e.isPropertyAccessExpression(u0.parent)){if(U&&e.isIdentifier(u0.parent.expression)&&(x0=G.getSymbolAtLocation(u0.parent.expression))&&U.has(e.getSymbolId(x0)))return;A0.replaceNode(j,u0.parent.expression,e.factory.createParenthesizedExpression(e.factory.createAwaitExpression(u0.parent.expression))),Z(A0,u0.parent.expression,j)}else if(e.contains(m0,o0)&&e.isCallOrNewExpression(u0.parent)){if(U&&e.isIdentifier(u0)&&(x0=G.getSymbolAtLocation(u0))&&U.has(e.getSymbolId(x0)))return;A0.replaceNode(j,u0,e.factory.createParenthesizedExpression(e.factory.createAwaitExpression(u0))),Z(A0,u0,j)}else{var x0;if(U&&e.isVariableDeclaration(u0.parent)&&e.isIdentifier(u0.parent.name)&&(x0=G.getSymbolAtLocation(u0.parent.name))&&!e.tryAddToSet(U,e.getSymbolId(x0)))return;A0.replaceNode(j,u0,e.factory.createAwaitExpression(u0))}}function Z(A0,o0,j){var G=e.findPrecedingToken(o0.pos,j);G&&e.positionIsASICandidate(G.end,G.parent,j)&&A0.insertText(j,o0.getStart(j),\";\")}s.registerCodeFix({fixIds:[X],errorCodes:s1,getCodeActions:function(A0){var o0=A0.sourceFile,j=A0.errorCode,G=E0(o0,j,A0.span,A0.cancellationToken,A0.program);if(G){var u0=A0.program.getTypeChecker(),U=function(g0){return e.textChanges.ChangeTracker.with(A0,g0)};return e.compact([i0(A0,G,j,u0,U),H0(A0,G,j,u0,U)])}},getAllCodeActions:function(A0){var o0=A0.sourceFile,j=A0.program,G=A0.cancellationToken,u0=A0.program.getTypeChecker(),U=new e.Set;return s.codeFixAll(A0,s1,function(g0,d0){var P0=E0(o0,d0.code,d0,G,j);if(P0){var c0=function(D0){return D0(g0),[]};return i0(A0,P0,d0.code,u0,c0,U)||H0(A0,P0,d0.code,u0,c0,U)}})}})})(e.codefix||(e.codefix={}))}(_0||(_0={})),function(e){(function(s){var X=\"addMissingConst\",J=[e.Diagnostics.Cannot_find_name_0.code,e.Diagnostics.No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer.code];function m0(H0,E0,I,A,Z){var A0=e.getTokenAtPosition(E0,I),o0=e.findAncestor(A0,function(U){return e.isForInOrOfStatement(U.parent)?U.parent.initializer===U:!function(g0){switch(g0.kind){case 78:case 200:case 201:case 289:case 290:return!0;default:return!1}}(U)&&\"quit\"});if(o0)return s1(H0,o0,E0,Z);var j=A0.parent;if(e.isBinaryExpression(j)&&j.operatorToken.kind===62&&e.isExpressionStatement(j.parent))return s1(H0,A0,E0,Z);if(e.isArrayLiteralExpression(j)){var G=A.getTypeChecker();return e.every(j.elements,function(U){return function(g0,d0){var P0=e.isIdentifier(g0)?g0:e.isAssignmentExpression(g0,!0)&&e.isIdentifier(g0.left)?g0.left:void 0;return!!P0&&!d0.getSymbolAtLocation(P0)}(U,G)})?s1(H0,j,E0,Z):void 0}var u0=e.findAncestor(A0,function(U){return!!e.isExpressionStatement(U.parent)||!function(g0){switch(g0.kind){case 78:case 217:case 27:return!0;default:return!1}}(U)&&\"quit\"});if(u0)return i0(u0,A.getTypeChecker())?s1(H0,u0,E0,Z):void 0}function s1(H0,E0,I,A){A&&!e.tryAddToSet(A,E0)||H0.insertModifierBefore(I,84,E0)}function i0(H0,E0){return!!e.isBinaryExpression(H0)&&(H0.operatorToken.kind===27?e.every([H0.left,H0.right],function(I){return i0(I,E0)}):H0.operatorToken.kind===62&&e.isIdentifier(H0.left)&&!E0.getSymbolAtLocation(H0.left))}s.registerCodeFix({errorCodes:J,getCodeActions:function(H0){var E0=e.textChanges.ChangeTracker.with(H0,function(I){return m0(I,H0.sourceFile,H0.span.start,H0.program)});if(E0.length>0)return[s.createCodeFixAction(X,E0,e.Diagnostics.Add_const_to_unresolved_variable,X,e.Diagnostics.Add_const_to_all_unresolved_variables)]},fixIds:[X],getAllCodeActions:function(H0){var E0=new e.Set;return s.codeFixAll(H0,J,function(I,A){return m0(I,A.file,A.start,H0.program,E0)})}})})(e.codefix||(e.codefix={}))}(_0||(_0={})),function(e){(function(s){var X=\"addMissingDeclareProperty\",J=[e.Diagnostics.Property_0_will_overwrite_the_base_property_in_1_If_this_is_intentional_add_an_initializer_Otherwise_add_a_declare_modifier_or_remove_the_redundant_declaration.code];function m0(s1,i0,H0,E0){var I=e.getTokenAtPosition(i0,H0);if(e.isIdentifier(I)){var A=I.parent;A.kind!==164||E0&&!e.tryAddToSet(E0,A)||s1.insertModifierBefore(i0,133,A)}}s.registerCodeFix({errorCodes:J,getCodeActions:function(s1){var i0=e.textChanges.ChangeTracker.with(s1,function(H0){return m0(H0,s1.sourceFile,s1.span.start)});if(i0.length>0)return[s.createCodeFixAction(X,i0,e.Diagnostics.Prefix_with_declare,X,e.Diagnostics.Prefix_all_incorrect_property_declarations_with_declare)]},fixIds:[X],getAllCodeActions:function(s1){var i0=new e.Set;return s.codeFixAll(s1,J,function(H0,E0){return m0(H0,E0.file,E0.start,i0)})}})})(e.codefix||(e.codefix={}))}(_0||(_0={})),function(e){(function(s){var X=\"addMissingInvocationForDecorator\",J=[e.Diagnostics._0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write_0.code];function m0(s1,i0,H0){var E0=e.getTokenAtPosition(i0,H0),I=e.findAncestor(E0,e.isDecorator);e.Debug.assert(!!I,\"Expected position to be owned by a decorator.\");var A=e.factory.createCallExpression(I.expression,void 0,void 0);s1.replaceNode(i0,I.expression,A)}s.registerCodeFix({errorCodes:J,getCodeActions:function(s1){var i0=e.textChanges.ChangeTracker.with(s1,function(H0){return m0(H0,s1.sourceFile,s1.span.start)});return[s.createCodeFixAction(X,i0,e.Diagnostics.Call_decorator_expression,X,e.Diagnostics.Add_to_all_uncalled_decorators)]},fixIds:[X],getAllCodeActions:function(s1){return s.codeFixAll(s1,J,function(i0,H0){return m0(i0,H0.file,H0.start)})}})})(e.codefix||(e.codefix={}))}(_0||(_0={})),function(e){(function(s){var X=\"addNameToNamelessParameter\",J=[e.Diagnostics.Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1.code];function m0(s1,i0,H0){var E0=e.getTokenAtPosition(i0,H0);if(!e.isIdentifier(E0))return e.Debug.fail(\"add-name-to-nameless-parameter operates on identifiers, but got a \"+e.Debug.formatSyntaxKind(E0.kind));var I=E0.parent;if(!e.isParameter(I))return e.Debug.fail(\"Tried to add a parameter name to a non-parameter: \"+e.Debug.formatSyntaxKind(E0.kind));var A=I.parent.parameters.indexOf(I);e.Debug.assert(!I.type,\"Tried to add a parameter name to a parameter that already had one.\"),e.Debug.assert(A>-1,\"Parameter not found in parent parameter list.\");var Z=e.factory.createParameterDeclaration(void 0,I.modifiers,I.dotDotDotToken,\"arg\"+A,I.questionToken,e.factory.createTypeReferenceNode(E0,void 0),I.initializer);s1.replaceNode(i0,E0,Z)}s.registerCodeFix({errorCodes:J,getCodeActions:function(s1){var i0=e.textChanges.ChangeTracker.with(s1,function(H0){return m0(H0,s1.sourceFile,s1.span.start)});return[s.createCodeFixAction(X,i0,e.Diagnostics.Add_parameter_name,X,e.Diagnostics.Add_names_to_all_parameters_without_names)]},fixIds:[X],getAllCodeActions:function(s1){return s.codeFixAll(s1,J,function(i0,H0){return m0(i0,H0.file,H0.start)})}})})(e.codefix||(e.codefix={}))}(_0||(_0={})),function(e){(function(s){var X=\"annotateWithTypeFromJSDoc\",J=[e.Diagnostics.JSDoc_types_may_be_moved_to_TypeScript_types.code];function m0(A,Z){var A0=e.getTokenAtPosition(A,Z);return e.tryCast(e.isParameter(A0.parent)?A0.parent.parent:A0.parent,s1)}function s1(A){return function(Z){return e.isFunctionLikeDeclaration(Z)||Z.kind===250||Z.kind===163||Z.kind===164}(A)&&i0(A)}function i0(A){return e.isFunctionLikeDeclaration(A)?A.parameters.some(i0)||!A.type&&!!e.getJSDocReturnType(A):!A.type&&!!e.getJSDocType(A)}function H0(A,Z,A0){if(e.isFunctionLikeDeclaration(A0)&&(e.getJSDocReturnType(A0)||A0.parameters.some(function(c0){return!!e.getJSDocType(c0)}))){if(!A0.typeParameters){var o0=e.getJSDocTypeParameterDeclarations(A0);o0.length&&A.insertTypeParameters(Z,A0,o0)}var j=e.isArrowFunction(A0)&&!e.findChildOfKind(A0,20,Z);j&&A.insertNodeBefore(Z,e.first(A0.parameters),e.factory.createToken(20));for(var G=0,u0=A0.parameters;G<u0.length;G++){var U=u0[G];if(!U.type){var g0=e.getJSDocType(U);g0&&A.tryInsertTypeAnnotation(Z,U,E0(g0))}}if(j&&A.insertNodeAfter(Z,e.last(A0.parameters),e.factory.createToken(21)),!A0.type){var d0=e.getJSDocReturnType(A0);d0&&A.tryInsertTypeAnnotation(Z,A0,E0(d0))}}else{var P0=e.Debug.checkDefined(e.getJSDocType(A0),\"A JSDocType for this declaration should exist\");e.Debug.assert(!A0.type,\"The JSDocType decl should have a type\"),A.tryInsertTypeAnnotation(Z,A0,E0(P0))}}function E0(A){switch(A.kind){case 304:case 305:return e.factory.createTypeReferenceNode(\"any\",e.emptyArray);case 308:return function(A0){return e.factory.createUnionTypeNode([e.visitNode(A0.type,E0),e.factory.createTypeReferenceNode(\"undefined\",e.emptyArray)])}(A);case 307:return E0(A.type);case 306:return function(A0){return e.factory.createUnionTypeNode([e.visitNode(A0.type,E0),e.factory.createTypeReferenceNode(\"null\",e.emptyArray)])}(A);case 310:return function(A0){return e.factory.createArrayTypeNode(e.visitNode(A0.type,E0))}(A);case 309:return function(A0){var o0;return e.factory.createFunctionTypeNode(e.emptyArray,A0.parameters.map(I),(o0=A0.type)!==null&&o0!==void 0?o0:e.factory.createKeywordTypeNode(128))}(A);case 174:return function(A0){var o0=A0.typeName,j=A0.typeArguments;if(e.isIdentifier(A0.typeName)){if(e.isJSDocIndexSignature(A0))return function(u0){var U=e.factory.createParameterDeclaration(void 0,void 0,void 0,u0.typeArguments[0].kind===144?\"n\":\"s\",void 0,e.factory.createTypeReferenceNode(u0.typeArguments[0].kind===144?\"number\":\"string\",[]),void 0),g0=e.factory.createTypeLiteralNode([e.factory.createIndexSignature(void 0,void 0,[U],u0.typeArguments[1])]);return e.setEmitFlags(g0,1),g0}(A0);var G=A0.typeName.text;switch(A0.typeName.text){case\"String\":case\"Boolean\":case\"Object\":case\"Number\":G=G.toLowerCase();break;case\"array\":case\"date\":case\"promise\":G=G[0].toUpperCase()+G.slice(1)}o0=e.factory.createIdentifier(G),j=G!==\"Array\"&&G!==\"Promise\"||A0.typeArguments?e.visitNodes(A0.typeArguments,E0):e.factory.createNodeArray([e.factory.createTypeReferenceNode(\"any\",e.emptyArray)])}return e.factory.createTypeReferenceNode(o0,j)}(A);default:var Z=e.visitEachChild(A,E0,e.nullTransformationContext);return e.setEmitFlags(Z,1),Z}}function I(A){var Z=A.parent.parameters.indexOf(A),A0=A.type.kind===310&&Z===A.parent.parameters.length-1,o0=A.name||(A0?\"rest\":\"arg\"+Z),j=A0?e.factory.createToken(25):A.dotDotDotToken;return e.factory.createParameterDeclaration(A.decorators,A.modifiers,j,o0,A.questionToken,e.visitNode(A.type,E0),A.initializer)}s.registerCodeFix({errorCodes:J,getCodeActions:function(A){var Z=m0(A.sourceFile,A.span.start);if(Z){var A0=e.textChanges.ChangeTracker.with(A,function(o0){return H0(o0,A.sourceFile,Z)});return[s.createCodeFixAction(X,A0,e.Diagnostics.Annotate_with_type_from_JSDoc,X,e.Diagnostics.Annotate_everything_with_types_from_JSDoc)]}},fixIds:[X],getAllCodeActions:function(A){return s.codeFixAll(A,J,function(Z,A0){var o0=m0(A0.file,A0.start);o0&&H0(Z,A0.file,o0)})}}),s.parameterShouldGetTypeFromJSDoc=s1})(e.codefix||(e.codefix={}))}(_0||(_0={})),function(e){(function(s){var X=\"convertFunctionToEs6Class\",J=[e.Diagnostics.This_constructor_function_may_be_converted_to_a_class_declaration.code];function m0(H0,E0,I,A,Z,A0){var o0=A.getSymbolAtLocation(e.getTokenAtPosition(E0,I));if(o0&&o0.valueDeclaration&&19&o0.flags){var j=o0.valueDeclaration;if(e.isFunctionDeclaration(j))H0.replaceNode(E0,j,function(g0){var d0=U(o0);g0.body&&d0.unshift(e.factory.createConstructorDeclaration(void 0,void 0,g0.parameters,g0.body));var P0=s1(g0,92);return e.factory.createClassDeclaration(void 0,P0,g0.name,void 0,void 0,d0)}(j));else if(e.isVariableDeclaration(j)){var G=function(g0){var d0=g0.initializer;if(!(!d0||!e.isFunctionExpression(d0)||!e.isIdentifier(g0.name))){var P0=U(g0.symbol);d0.body&&P0.unshift(e.factory.createConstructorDeclaration(void 0,void 0,d0.parameters,d0.body));var c0=s1(g0.parent.parent,92);return e.factory.createClassDeclaration(void 0,c0,g0.name,void 0,void 0,P0)}}(j);if(!G)return;var u0=j.parent.parent;e.isVariableDeclarationList(j.parent)&&j.parent.declarations.length>1?(H0.delete(E0,j),H0.insertNodeAfter(E0,u0,G)):H0.replaceNode(E0,u0,G)}}function U(g0){var d0=[];return g0.members&&g0.members.forEach(function(c0,D0){if(D0===\"constructor\"&&c0.valueDeclaration)H0.delete(E0,c0.valueDeclaration.parent);else{var x0=P0(c0,void 0);x0&&d0.push.apply(d0,x0)}}),g0.exports&&g0.exports.forEach(function(c0){if(c0.name===\"prototype\"&&c0.declarations){var D0=c0.declarations[0];c0.declarations.length===1&&e.isPropertyAccessExpression(D0)&&e.isBinaryExpression(D0.parent)&&D0.parent.operatorToken.kind===62&&e.isObjectLiteralExpression(D0.parent.right)&&(x0=P0(D0.parent.right.symbol,void 0))&&d0.push.apply(d0,x0)}else{var x0;(x0=P0(c0,[e.factory.createToken(123)]))&&d0.push.apply(d0,x0)}}),d0;function P0(c0,D0){var x0=[];if(!(8192&c0.flags||4096&c0.flags))return x0;var l0,w0,V=c0.valueDeclaration,w=V.parent,H=w.right;if(l0=V,w0=H,!(e.isAccessExpression(l0)?e.isPropertyAccessExpression(l0)&&i0(l0)||e.isFunctionLike(w0):e.every(l0.properties,function(G0){return!!(e.isMethodDeclaration(G0)||e.isGetOrSetAccessorDeclaration(G0)||e.isPropertyAssignment(G0)&&e.isFunctionExpression(G0.initializer)&&G0.name||i0(G0))})))return x0;var k0=w.parent&&w.parent.kind===234?w.parent:w;if(H0.delete(E0,k0),!H)return x0.push(e.factory.createPropertyDeclaration([],D0,c0.name,void 0,void 0,void 0)),x0;if(e.isAccessExpression(V)&&(e.isFunctionExpression(H)||e.isArrowFunction(H))){var V0=e.getQuotePreference(E0,Z),t0=function(G0,d1,h1){if(e.isPropertyAccessExpression(G0))return G0.name;var S1=G0.argumentExpression;if(e.isNumericLiteral(S1))return S1;if(e.isStringLiteralLike(S1))return e.isIdentifierText(S1.text,d1.target)?e.factory.createIdentifier(S1.text):e.isNoSubstitutionTemplateLiteral(S1)?e.factory.createStringLiteral(S1.text,h1===0):S1}(V,A0,V0);return t0?y0(x0,H,t0):x0}if(e.isObjectLiteralExpression(H))return e.flatMap(H.properties,function(G0){return e.isMethodDeclaration(G0)||e.isGetOrSetAccessorDeclaration(G0)?x0.concat(G0):e.isPropertyAssignment(G0)&&e.isFunctionExpression(G0.initializer)?y0(x0,G0.initializer,G0.name):i0(G0)?x0:[]});if(e.isSourceFileJS(E0)||!e.isPropertyAccessExpression(V))return x0;var f0=e.factory.createPropertyDeclaration(void 0,D0,V.name,void 0,void 0,H);return e.copyLeadingComments(w.parent,f0,E0),x0.push(f0),x0;function y0(G0,d1,h1){return e.isFunctionExpression(d1)?function(S1,Q1,Y0){var $1=e.concatenate(D0,s1(Q1,129)),Z1=e.factory.createMethodDeclaration(void 0,$1,void 0,Y0,void 0,void 0,Q1.parameters,void 0,Q1.body);return e.copyLeadingComments(w,Z1,E0),S1.concat(Z1)}(G0,d1,h1):function(S1,Q1,Y0){var $1,Z1=Q1.body;$1=Z1.kind===231?Z1:e.factory.createBlock([e.factory.createReturnStatement(Z1)]);var Q0=e.concatenate(D0,s1(Q1,129)),y1=e.factory.createMethodDeclaration(void 0,Q0,void 0,Y0,void 0,void 0,Q1.parameters,void 0,$1);return e.copyLeadingComments(w,y1,E0),S1.concat(y1)}(G0,d1,h1)}}}}function s1(H0,E0){return e.filter(H0.modifiers,function(I){return I.kind===E0})}function i0(H0){return!!H0.name&&!(!e.isIdentifier(H0.name)||H0.name.text!==\"constructor\")}s.registerCodeFix({errorCodes:J,getCodeActions:function(H0){var E0=e.textChanges.ChangeTracker.with(H0,function(I){return m0(I,H0.sourceFile,H0.span.start,H0.program.getTypeChecker(),H0.preferences,H0.program.getCompilerOptions())});return[s.createCodeFixAction(X,E0,e.Diagnostics.Convert_function_to_an_ES2015_class,X,e.Diagnostics.Convert_all_constructor_functions_to_classes)]},fixIds:[X],getAllCodeActions:function(H0){return s.codeFixAll(H0,J,function(E0,I){return m0(E0,I.file,I.start,H0.program.getTypeChecker(),H0.preferences,H0.program.getCompilerOptions())})}})})(e.codefix||(e.codefix={}))}(_0||(_0={})),function(e){(function(s){var X,J=\"convertToAsyncFunction\",m0=[e.Diagnostics.This_may_be_converted_to_an_async_function.code],s1=!0;function i0(l0,w0,V,w){var H,k0=e.getTokenAtPosition(w0,V);if(H=e.isIdentifier(k0)&&e.isVariableDeclaration(k0.parent)&&k0.parent.initializer&&e.isFunctionLikeDeclaration(k0.parent.initializer)?k0.parent.initializer:e.tryCast(e.getContainingFunction(e.getTokenAtPosition(w0,V)),e.canBeConvertedToAsync)){var V0=new e.Map,t0=e.isInJSFile(H),f0=function(Z1,Q0){if(!Z1.body)return new e.Set;var y1=new e.Set;return e.forEachChild(Z1.body,function k1(I1){H0(I1,Q0,\"then\")?(y1.add(e.getNodeId(I1)),e.forEach(I1.arguments,k1)):H0(I1,Q0,\"catch\")?(y1.add(e.getNodeId(I1)),e.forEachChild(I1,k1)):E0(I1,Q0)?y1.add(e.getNodeId(I1)):e.forEachChild(I1,k1)}),y1}(H,w),y0=function(Z1,Q0,y1){var k1=new e.Map,I1=e.createMultiMap();return e.forEachChild(Z1,function K0(G1){if(e.isIdentifier(G1)){var Nx=Q0.getSymbolAtLocation(G1);if(Nx){var n1=u0(Q0.getTypeAtLocation(G1),Q0),S0=e.getSymbolId(Nx).toString();if(!n1||e.isParameter(G1.parent)||e.isFunctionLikeDeclaration(G1.parent)||y1.has(S0)){if(G1.parent&&(e.isParameter(G1.parent)||e.isVariableDeclaration(G1.parent)||e.isBindingElement(G1.parent))){var I0=G1.text,U0=I1.get(I0);if(U0&&U0.some(function(Ox){return Ox!==Nx})){var p0=I(G1,I1);k1.set(S0,p0.identifier),y1.set(S0,p0),I1.add(I0,Nx)}else{var p1=e.getSynthesizedDeepClone(G1);y1.set(S0,c0(p1)),I1.add(I0,Nx)}}}else{var Y1=e.firstOrUndefined(n1.parameters),N1=(Y1==null?void 0:Y1.valueDeclaration)&&e.isParameter(Y1.valueDeclaration)&&e.tryCast(Y1.valueDeclaration.name,e.isIdentifier)||e.factory.createUniqueName(\"result\",16),V1=I(N1,I1);y1.set(S0,V1),I1.add(N1.text,Nx)}}}else e.forEachChild(G1,K0)}),e.getSynthesizedDeepCloneWithReplacements(Z1,!0,function(K0){if(e.isBindingElement(K0)&&e.isIdentifier(K0.name)&&e.isObjectBindingPattern(K0.parent)){if((Nx=(G1=Q0.getSymbolAtLocation(K0.name))&&k1.get(String(e.getSymbolId(G1))))&&Nx.text!==(K0.name||K0.propertyName).getText())return e.factory.createBindingElement(K0.dotDotDotToken,K0.propertyName||K0.name,Nx,K0.initializer)}else if(e.isIdentifier(K0)){var G1,Nx;if(Nx=(G1=Q0.getSymbolAtLocation(K0))&&k1.get(String(e.getSymbolId(G1))))return e.factory.createIdentifier(Nx.text)}})}(H,w,V0);if(e.returnsPromise(y0,w)){var G0=y0.body&&e.isBlock(y0.body)?function(Z1,Q0){var y1=[];return e.forEachReturnStatement(Z1,function(k1){e.isReturnStatementWithFixablePromiseHandler(k1,Q0)&&y1.push(k1)}),y1}(y0.body,w):e.emptyArray,d1={checker:w,synthNamesMap:V0,setOfExpressionsToReturn:f0,isInJSFile:t0};if(G0.length){var h1=H.modifiers?H.modifiers.end:H.decorators?e.skipTrivia(w0.text,H.decorators.end):H.getStart(w0),S1=H.modifiers?{prefix:\" \"}:{suffix:\" \"};l0.insertModifierAt(w0,h1,129,S1);for(var Q1=function(Z1){e.forEachChild(Z1,function Q0(y1){if(e.isCallExpression(y1)){var k1=Z(y1,d1);l0.replaceNodeWithNodes(w0,Z1,k1)}else e.isFunctionLike(y1)||e.forEachChild(y1,Q0)})},Y0=0,$1=G0;Y0<$1.length;Y0++)Q1($1[Y0])}}}}function H0(l0,w0,V){if(!e.isCallExpression(l0))return!1;var w=e.hasPropertyAccessExpressionWithName(l0,V)&&w0.getTypeAtLocation(l0);return!(!w||!w0.getPromisedTypeOfPromise(w))}function E0(l0,w0){return!!e.isExpression(l0)&&!!w0.getPromisedTypeOfPromise(w0.getTypeAtLocation(l0))}function I(l0,w0){var V=(w0.get(l0.text)||e.emptyArray).length;return c0(V===0?l0:e.factory.createIdentifier(l0.text+\"_\"+V))}function A(){return s1=!1,e.emptyArray}function Z(l0,w0,V){if(H0(l0,w0.checker,\"then\"))return l0.arguments.length===0?A():function(H,k0,V0){var t0=H.arguments,f0=t0[0],y0=t0[1],G0=g0(f0,k0),d1=j(f0,V0,G0,H,k0);if(y0){var h1=g0(y0,k0),S1=e.factory.createBlock(Z(H.expression,k0,G0).concat(d1)),Q1=j(y0,V0,h1,H,k0),Y0=h1?D0(h1)?h1.identifier.text:h1.bindingPattern:\"e\",$1=e.factory.createVariableDeclaration(Y0),Z1=e.factory.createCatchClause($1,e.factory.createBlock(Q1));return[e.factory.createTryStatement(S1,Z1,void 0)]}return Z(H.expression,k0,G0).concat(d1)}(l0,w0,V);if(H0(l0,w0.checker,\"catch\"))return function(H,k0,V0){var t0,f0=e.singleOrUndefined(H.arguments),y0=f0?g0(f0,k0):void 0;V0&&!x0(H,k0)&&(D0(V0)?(t0=V0,k0.synthNamesMap.forEach(function(Nx,n1){if(Nx.identifier.text===V0.identifier.text){var S0=function(I0){return c0(e.factory.createUniqueName(I0.identifier.text,16))}(V0);k0.synthNamesMap.set(n1,S0)}})):t0=c0(e.factory.createUniqueName(\"result\",16),V0.types),t0.hasBeenDeclared=!0);var G0,d1,h1=e.factory.createBlock(Z(H.expression,k0,t0)),S1=f0?j(f0,t0,y0,H,k0):e.emptyArray,Q1=y0?D0(y0)?y0.identifier.text:y0.bindingPattern:\"e\",Y0=e.factory.createVariableDeclaration(Q1),$1=e.factory.createCatchClause(Y0,e.factory.createBlock(S1));if(t0&&!x0(H,k0)){d1=e.getSynthesizedDeepClone(t0.identifier);var Z1=t0.types,Q0=k0.checker.getUnionType(Z1,2),y1=k0.isInJSFile?void 0:k0.checker.typeToTypeNode(Q0,void 0,void 0),k1=[e.factory.createVariableDeclaration(d1,void 0,y1)];G0=e.factory.createVariableStatement(void 0,e.factory.createVariableDeclarationList(k1,1))}var I1=e.factory.createTryStatement(h1,$1,void 0),K0=V0&&d1&&(G1=V0,G1.kind===1)&&e.factory.createVariableStatement(void 0,e.factory.createVariableDeclarationList([e.factory.createVariableDeclaration(e.getSynthesizedDeepClone(V0.bindingPattern),void 0,void 0,d1)],2)),G1;return e.compact([G0,I1,K0])}(l0,w0,V);if(e.isPropertyAccessExpression(l0))return Z(l0.expression,w0,V);var w=w0.checker.getTypeAtLocation(l0);return w&&w0.checker.getPromisedTypeOfPromise(w)?(e.Debug.assertNode(l0.original.parent,e.isPropertyAccessExpression),function(H,k0,V0){return x0(H,k0)?[e.factory.createReturnStatement(e.getSynthesizedDeepClone(H))]:A0(V0,e.factory.createAwaitExpression(H),void 0)}(l0,w0,V)):A()}function A0(l0,w0,V){return!l0||d0(l0)?[e.factory.createExpressionStatement(w0)]:D0(l0)&&l0.hasBeenDeclared?[e.factory.createExpressionStatement(e.factory.createAssignment(e.getSynthesizedDeepClone(l0.identifier),w0))]:[e.factory.createVariableStatement(void 0,e.factory.createVariableDeclarationList([e.factory.createVariableDeclaration(e.getSynthesizedDeepClone(P0(l0)),void 0,V,w0)],2))]}function o0(l0,w0){if(w0&&l0){var V=e.factory.createUniqueName(\"result\",16);return D(D([],A0(c0(V),l0,w0)),[e.factory.createReturnStatement(V)])}return[e.factory.createReturnStatement(l0)]}function j(l0,w0,V,w,H){var k0,V0,t0,f0,y0;switch(l0.kind){case 103:break;case 202:case 78:if(!V)break;var G0=e.factory.createCallExpression(e.getSynthesizedDeepClone(l0),void 0,D0(V)?[V.identifier]:[]);if(x0(w,H))return o0(G0,(k0=w.typeArguments)===null||k0===void 0?void 0:k0[0]);var d1=H.checker.getTypeAtLocation(l0),h1=H.checker.getSignaturesOfType(d1,0);if(!h1.length)return A();var S1=h1[0].getReturnType(),Q1=A0(w0,e.factory.createAwaitExpression(G0),(V0=w.typeArguments)===null||V0===void 0?void 0:V0[0]);return w0&&w0.types.push(S1),Q1;case 209:case 210:var Y0=l0.body,$1=(t0=u0(H.checker.getTypeAtLocation(l0),H.checker))===null||t0===void 0?void 0:t0.getReturnType();if(e.isBlock(Y0)){for(var Z1=[],Q0=!1,y1=0,k1=Y0.statements;y1<k1.length;y1++){var I1=k1[y1];if(e.isReturnStatement(I1))if(Q0=!0,e.isReturnStatementWithFixablePromiseHandler(I1,H.checker))Z1=Z1.concat(U(H,[I1],w0));else{var K0=$1&&I1.expression?G(H.checker,$1,I1.expression):I1.expression;Z1.push.apply(Z1,o0(K0,(f0=w.typeArguments)===null||f0===void 0?void 0:f0[0]))}else Z1.push(I1)}return x0(w,H)?Z1.map(function(n1){return e.getSynthesizedDeepClone(n1)}):function(n1,S0,I0,U0){for(var p0=[],p1=0,Y1=n1;p1<Y1.length;p1++){var N1=Y1[p1];if(e.isReturnStatement(N1)){if(N1.expression){var V1=E0(N1.expression,I0.checker)?e.factory.createAwaitExpression(N1.expression):N1.expression;S0===void 0?p0.push(e.factory.createExpressionStatement(V1)):p0.push(e.factory.createVariableStatement(void 0,e.factory.createVariableDeclarationList([e.factory.createVariableDeclaration(P0(S0),void 0,void 0,V1)],2)))}}else p0.push(e.getSynthesizedDeepClone(N1))}return U0||S0===void 0||p0.push(e.factory.createVariableStatement(void 0,e.factory.createVariableDeclarationList([e.factory.createVariableDeclaration(P0(S0),void 0,void 0,e.factory.createIdentifier(\"undefined\"))],2))),p0}(Z1,w0,H,Q0)}var G1=U(H,e.isFixablePromiseHandler(Y0,H.checker)?[e.factory.createReturnStatement(Y0)]:e.emptyArray,w0);if(G1.length>0)return G1;if($1){if(K0=G(H.checker,$1,Y0),x0(w,H))return o0(K0,(y0=w.typeArguments)===null||y0===void 0?void 0:y0[0]);var Nx=A0(w0,K0,void 0);return w0&&w0.types.push($1),Nx}return A();default:return A()}return e.emptyArray}function G(l0,w0,V){var w=e.getSynthesizedDeepClone(V);return l0.getPromisedTypeOfPromise(w0)?e.factory.createAwaitExpression(w):w}function u0(l0,w0){var V=w0.getSignaturesOfType(l0,0);return e.lastOrUndefined(V)}function U(l0,w0,V){for(var w=[],H=0,k0=w0;H<k0.length;H++){var V0=k0[H];e.forEachChild(V0,function t0(f0){if(e.isCallExpression(f0)){var y0=Z(f0,l0,V);if((w=w.concat(y0)).length>0)return}else e.isFunctionLike(f0)||e.forEachChild(f0,t0)})}return w}function g0(l0,w0){var V,w=[];if(e.isFunctionLikeDeclaration(l0)?l0.parameters.length>0&&(V=function k0(V0){if(e.isIdentifier(V0))return H(V0);var t0=e.flatMap(V0.elements,function(f0){return e.isOmittedExpression(f0)?[]:[k0(f0.name)]});return function(f0,y0,G0){return y0===void 0&&(y0=e.emptyArray),G0===void 0&&(G0=[]),{kind:1,bindingPattern:f0,elements:y0,types:G0}}(V0,t0)}(l0.parameters[0].name)):e.isIdentifier(l0)?V=H(l0):e.isPropertyAccessExpression(l0)&&e.isIdentifier(l0.name)&&(V=H(l0.name)),V&&(!(\"identifier\"in V)||V.identifier.text!==\"undefined\"))return V;function H(k0){var V0=function(t0){return t0.symbol?t0.symbol:w0.checker.getSymbolAtLocation(t0)}(function(t0){return t0.original?t0.original:t0}(k0));return V0&&w0.synthNamesMap.get(e.getSymbolId(V0).toString())||c0(k0,w)}}function d0(l0){return!l0||(D0(l0)?!l0.identifier.text:e.every(l0.elements,d0))}function P0(l0){return D0(l0)?l0.identifier:l0.bindingPattern}function c0(l0,w0){return w0===void 0&&(w0=[]),{kind:0,identifier:l0,types:w0,hasBeenDeclared:!1}}function D0(l0){return l0.kind===0}function x0(l0,w0){return!!l0.original&&w0.setOfExpressionsToReturn.has(e.getNodeId(l0.original))}s.registerCodeFix({errorCodes:m0,getCodeActions:function(l0){s1=!0;var w0=e.textChanges.ChangeTracker.with(l0,function(V){return i0(V,l0.sourceFile,l0.span.start,l0.program.getTypeChecker())});return s1?[s.createCodeFixAction(J,w0,e.Diagnostics.Convert_to_async_function,J,e.Diagnostics.Convert_all_to_async_functions)]:[]},fixIds:[J],getAllCodeActions:function(l0){return s.codeFixAll(l0,m0,function(w0,V){return i0(w0,V.file,V.start,l0.program.getTypeChecker())})}}),function(l0){l0[l0.Identifier=0]=\"Identifier\",l0[l0.BindingPattern=1]=\"BindingPattern\"}(X||(X={}))})(e.codefix||(e.codefix={}))}(_0||(_0={})),function(e){(function(s){function X(g0,d0,P0,c0){for(var D0=0,x0=g0.imports;D0<x0.length;D0++){var l0=x0[D0],w0=e.getResolvedModule(g0,l0.text);if(w0&&w0.resolvedFileName===d0.fileName){var V=e.importFromModuleSpecifier(l0);switch(V.kind){case 261:P0.replaceNode(g0,V,e.makeImport(V.name,void 0,l0,c0));break;case 204:e.isRequireCall(V,!1)&&P0.replaceNode(g0,V,e.factory.createPropertyAccessExpression(e.getSynthesizedDeepClone(V),\"default\"))}}}}function J(g0,d0){g0.forEachChild(function P0(c0){if(e.isPropertyAccessExpression(c0)&&e.isExportsOrModuleExportsOrAlias(g0,c0.expression)&&e.isIdentifier(c0.name)){var D0=c0.parent;d0(c0,e.isBinaryExpression(D0)&&D0.left===c0&&D0.operatorToken.kind===62)}c0.forEachChild(P0)})}function m0(g0,d0,P0,c0,D0,x0,l0,w0,V){switch(d0.kind){case 233:return s1(g0,d0,c0,P0,D0,x0,V),!1;case 234:var w=d0.expression;switch(w.kind){case 204:return e.isRequireCall(w,!0)&&c0.replaceNode(g0,d0,e.makeImport(void 0,void 0,w.arguments[0],V)),!1;case 217:return w.operatorToken.kind===62&&function(H,k0,V0,t0,f0,y0){var G0=V0.left,d1=V0.right;if(!e.isPropertyAccessExpression(G0))return!1;if(e.isExportsOrModuleExportsOrAlias(H,G0)){if(!e.isExportsOrModuleExportsOrAlias(H,d1)){var h1=e.isObjectLiteralExpression(d1)?function(S1,Q1){var Y0=e.mapAllOrFail(S1.properties,function($1){switch($1.kind){case 168:case 169:case 290:case 291:return;case 289:return e.isIdentifier($1.name)?function(Z1,Q0,y1){var k1=[e.factory.createToken(92)];switch(Q0.kind){case 209:var I1=Q0.name;if(I1&&I1.text!==Z1)return K0();case 210:return A0(Z1,k1,Q0,y1);case 222:return function(G1,Nx,n1,S0){return e.factory.createClassDeclaration(e.getSynthesizedDeepClones(n1.decorators),e.concatenate(Nx,e.getSynthesizedDeepClones(n1.modifiers)),G1,e.getSynthesizedDeepClones(n1.typeParameters),e.getSynthesizedDeepClones(n1.heritageClauses),E0(n1.members,S0))}(Z1,k1,Q0,y1);default:return K0()}function K0(){return G(k1,e.factory.createIdentifier(Z1),E0(Q0,y1))}}($1.name.text,$1.initializer,Q1):void 0;case 166:return e.isIdentifier($1.name)?A0($1.name.text,[e.factory.createToken(92)],$1,Q1):void 0;default:e.Debug.assertNever($1,\"Convert to ES6 got invalid prop kind \"+$1.kind)}});return Y0&&[Y0,!1]}(d1,y0):e.isRequireCall(d1,!0)?function(S1,Q1){var Y0=S1.text,$1=Q1.getSymbolAtLocation(S1),Z1=$1?$1.exports:e.emptyMap;return Z1.has(\"export=\")?[[H0(Y0)],!0]:Z1.has(\"default\")?Z1.size>1?[[i0(Y0),H0(Y0)],!0]:[[H0(Y0)],!0]:[[i0(Y0)],!1]}(d1.arguments[0],k0):void 0;return h1?(t0.replaceNodeWithNodes(H,V0.parent,h1[0]),h1[1]):(t0.replaceRangeWithText(H,e.createRange(G0.getStart(H),d1.pos),\"export default\"),!0)}t0.delete(H,V0.parent)}else e.isExportsOrModuleExportsOrAlias(H,G0.expression)&&function(S1,Q1,Y0,$1){var Z1=Q1.left.name.text,Q0=$1.get(Z1);if(Q0!==void 0){var y1=[G(void 0,Q0,Q1.right),u0([e.factory.createExportSpecifier(Q0,Z1)])];Y0.replaceNodeWithNodes(S1,Q1.parent,y1)}else(function(k1,I1,K0){var G1=k1.left,Nx=k1.right,n1=k1.parent,S0=G1.name.text;if(!(e.isFunctionExpression(Nx)||e.isArrowFunction(Nx)||e.isClassExpression(Nx))||Nx.name&&Nx.name.text!==S0)K0.replaceNodeRangeWithNodes(I1,G1.expression,e.findChildOfKind(G1,24,I1),[e.factory.createToken(92),e.factory.createToken(84)],{joiner:\" \",suffix:\" \"});else{K0.replaceRange(I1,{pos:G1.getStart(I1),end:Nx.getStart(I1)},e.factory.createToken(92),{suffix:\" \"}),Nx.name||K0.insertName(I1,Nx,S0);var I0=e.findChildOfKind(n1,26,I1);I0&&K0.delete(I1,I0)}})(Q1,S1,Y0)}(H,V0,t0,f0);return!1}(g0,P0,w,c0,l0,w0)}default:return!1}}function s1(g0,d0,P0,c0,D0,x0,l0){var w0,V=d0.declarationList,w=!1,H=e.map(V.declarations,function(k0){var V0=k0.name,t0=k0.initializer;if(t0){if(e.isExportsOrModuleExportsOrAlias(g0,t0))return w=!0,U([]);if(e.isRequireCall(t0,!0))return w=!0,function(f0,y0,G0,d1,h1,S1){switch(f0.kind){case 197:var Q1=e.mapAllOrFail(f0.elements,function($1){return $1.dotDotDotToken||$1.initializer||$1.propertyName&&!e.isIdentifier($1.propertyName)||!e.isIdentifier($1.name)?void 0:j($1.propertyName&&$1.propertyName.text,$1.name.text)});if(Q1)return U([e.makeImport(void 0,Q1,y0,S1)]);case 198:var Y0=I(s.moduleSpecifierToValidIdentifier(y0.text,h1),d1);return U([e.makeImport(e.factory.createIdentifier(Y0),void 0,y0,S1),G(void 0,e.getSynthesizedDeepClone(f0),e.factory.createIdentifier(Y0))]);case 78:return function($1,Z1,Q0,y1,k1){for(var I1,K0=Q0.getSymbolAtLocation($1),G1=new e.Map,Nx=!1,n1=0,S0=y1.original.get($1.text);n1<S0.length;n1++){var I0=S0[n1];if(Q0.getSymbolAtLocation(I0)===K0&&I0!==$1){var U0=I0.parent;if(e.isPropertyAccessExpression(U0)){var p0=U0.name.text;if(p0===\"default\"){Nx=!0;var p1=I0.getText();(I1!=null?I1:I1=new e.Map).set(U0,e.factory.createIdentifier(p1))}else{e.Debug.assert(U0.expression===I0,\"Didn't expect expression === use\");var Y1=G1.get(p0);Y1===void 0&&(Y1=I(p0,y1),G1.set(p0,Y1)),(I1!=null?I1:I1=new e.Map).set(U0,e.factory.createIdentifier(Y1))}}else Nx=!0}}var N1=G1.size===0?void 0:e.arrayFrom(e.mapIterator(G1.entries(),function(V1){var Ox=V1[0],$x=V1[1];return e.factory.createImportSpecifier(Ox===$x?void 0:e.factory.createIdentifier(Ox),e.factory.createIdentifier($x))}));return N1||(Nx=!0),U([e.makeImport(Nx?e.getSynthesizedDeepClone($1):void 0,N1,Z1,k1)],I1)}(f0,y0,G0,d1,S1);default:return e.Debug.assertNever(f0,\"Convert to ES6 module got invalid name kind \"+f0.kind)}}(V0,t0.arguments[0],c0,D0,x0,l0);if(e.isPropertyAccessExpression(t0)&&e.isRequireCall(t0.expression,!0))return w=!0,function(f0,y0,G0,d1,h1){switch(f0.kind){case 197:case 198:var S1=I(y0,d1);return U([o0(S1,y0,G0,h1),G(void 0,f0,e.factory.createIdentifier(S1))]);case 78:return U([o0(f0.text,y0,G0,h1)]);default:return e.Debug.assertNever(f0,\"Convert to ES6 module got invalid syntax form \"+f0.kind)}}(V0,t0.name.text,t0.expression.arguments[0],D0,l0)}return U([e.factory.createVariableStatement(void 0,e.factory.createVariableDeclarationList([k0],V.flags))])});if(w)return P0.replaceNodeWithNodes(g0,d0,e.flatMap(H,function(k0){return k0.newImports})),e.forEach(H,function(k0){k0.useSitesToUnqualify&&e.copyEntries(k0.useSitesToUnqualify,w0!=null?w0:w0=new e.Map)}),w0}function i0(g0){return u0(void 0,g0)}function H0(g0){return u0([e.factory.createExportSpecifier(void 0,\"default\")],g0)}function E0(g0,d0){return d0&&e.some(e.arrayFrom(d0.keys()),function(c0){return e.rangeContainsRange(g0,c0)})?e.isArray(g0)?e.getSynthesizedDeepClonesWithReplacements(g0,!0,P0):e.getSynthesizedDeepCloneWithReplacements(g0,!0,P0):g0;function P0(c0){if(c0.kind===202){var D0=d0.get(c0);return d0.delete(c0),D0}}}function I(g0,d0){for(;d0.original.has(g0)||d0.additional.has(g0);)g0=\"_\"+g0;return d0.additional.add(g0),g0}function A(g0){var d0=e.createMultiMap();return Z(g0,function(P0){return d0.add(P0.text,P0)}),d0}function Z(g0,d0){e.isIdentifier(g0)&&function(P0){var c0=P0.parent;switch(c0.kind){case 202:return c0.name!==P0;case 199:case 266:return c0.propertyName!==P0;default:return!0}}(g0)&&d0(g0),g0.forEachChild(function(P0){return Z(P0,d0)})}function A0(g0,d0,P0,c0){return e.factory.createFunctionDeclaration(e.getSynthesizedDeepClones(P0.decorators),e.concatenate(d0,e.getSynthesizedDeepClones(P0.modifiers)),e.getSynthesizedDeepClone(P0.asteriskToken),g0,e.getSynthesizedDeepClones(P0.typeParameters),e.getSynthesizedDeepClones(P0.parameters),e.getSynthesizedDeepClone(P0.type),e.factory.converters.convertToFunctionBlock(E0(P0.body,c0)))}function o0(g0,d0,P0,c0){return d0===\"default\"?e.makeImport(e.factory.createIdentifier(g0),void 0,P0,c0):e.makeImport(void 0,[j(d0,g0)],P0,c0)}function j(g0,d0){return e.factory.createImportSpecifier(g0!==void 0&&g0!==d0?e.factory.createIdentifier(g0):void 0,e.factory.createIdentifier(d0))}function G(g0,d0,P0){return e.factory.createVariableStatement(g0,e.factory.createVariableDeclarationList([e.factory.createVariableDeclaration(d0,void 0,void 0,P0)],2))}function u0(g0,d0){return e.factory.createExportDeclaration(void 0,void 0,!1,g0&&e.factory.createNamedExports(g0),d0===void 0?void 0:e.factory.createStringLiteral(d0))}function U(g0,d0){return{newImports:g0,useSitesToUnqualify:d0}}s.registerCodeFix({errorCodes:[e.Diagnostics.File_is_a_CommonJS_module_it_may_be_converted_to_an_ES6_module.code],getCodeActions:function(g0){var d0=g0.sourceFile,P0=g0.program,c0=g0.preferences,D0=e.textChanges.ChangeTracker.with(g0,function(x0){if(function(w,H,k0,V0,t0){var f0={original:A(w),additional:new e.Set},y0=function(y1,k1,I1){var K0=new e.Map;return J(y1,function(G1){var Nx=G1.name,n1=Nx.text,S0=Nx.originalKeywordKind;!K0.has(n1)&&(S0!==void 0&&e.isNonContextualKeyword(S0)||k1.resolveName(n1,G1,111551,!0))&&K0.set(n1,I(\"_\"+n1,I1))}),K0}(w,H,f0);(function(y1,k1,I1){J(y1,function(K0,G1){if(!G1){var Nx=K0.name.text;I1.replaceNode(y1,K0,e.factory.createIdentifier(k1.get(Nx)||Nx))}})})(w,y0,k0);for(var G0,d1=!1,h1=0,S1=e.filter(w.statements,e.isVariableStatement);h1<S1.length;h1++){var Q1=S1[h1],Y0=s1(w,Q1,k0,H,f0,V0,t0);Y0&&e.copyEntries(Y0,G0!=null?G0:G0=new e.Map)}for(var $1=0,Z1=e.filter(w.statements,function(y1){return!e.isVariableStatement(y1)});$1<Z1.length;$1++){Q1=Z1[$1];var Q0=m0(w,Q1,H,k0,f0,V0,y0,G0,t0);d1=d1||Q0}return G0==null||G0.forEach(function(y1,k1){k0.replaceNode(w,k1,y1)}),d1}(d0,P0.getTypeChecker(),x0,P0.getCompilerOptions().target,e.getQuotePreference(d0,c0)))for(var l0=0,w0=P0.getSourceFiles();l0<w0.length;l0++){var V=w0[l0];X(V,d0,x0,e.getQuotePreference(V,c0))}});return[s.createCodeFixActionWithoutFixAll(\"convertToEs6Module\",D0,e.Diagnostics.Convert_to_ES6_module)]}})})(e.codefix||(e.codefix={}))}(_0||(_0={})),function(e){(function(s){var X=\"correctQualifiedNameToIndexedAccessType\",J=[e.Diagnostics.Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_property_1_in_0_with_0_1.code];function m0(i0,H0){var E0=e.findAncestor(e.getTokenAtPosition(i0,H0),e.isQualifiedName);return e.Debug.assert(!!E0,\"Expected position to be owned by a qualified name.\"),e.isIdentifier(E0.left)?E0:void 0}function s1(i0,H0,E0){var I=E0.right.text,A=e.factory.createIndexedAccessTypeNode(e.factory.createTypeReferenceNode(E0.left,void 0),e.factory.createLiteralTypeNode(e.factory.createStringLiteral(I)));i0.replaceNode(H0,E0,A)}s.registerCodeFix({errorCodes:J,getCodeActions:function(i0){var H0=m0(i0.sourceFile,i0.span.start);if(H0){var E0=e.textChanges.ChangeTracker.with(i0,function(A){return s1(A,i0.sourceFile,H0)}),I=H0.left.text+'[\"'+H0.right.text+'\"]';return[s.createCodeFixAction(X,E0,[e.Diagnostics.Rewrite_as_the_indexed_access_type_0,I],X,e.Diagnostics.Rewrite_all_as_indexed_access_types)]}},fixIds:[X],getAllCodeActions:function(i0){return s.codeFixAll(i0,J,function(H0,E0){var I=m0(E0.file,E0.start);I&&s1(H0,E0.file,I)})}})})(e.codefix||(e.codefix={}))}(_0||(_0={})),function(e){(function(s){var X=[e.Diagnostics.Re_exporting_a_type_when_the_isolatedModules_flag_is_provided_requires_using_export_type.code],J=\"convertToTypeOnlyExport\";function m0(i0,H0){return e.tryCast(e.getTokenAtPosition(H0,i0.start).parent,e.isExportSpecifier)}function s1(i0,H0,E0){if(H0){var I=H0.parent,A=I.parent,Z=function(j,G){var u0=j.parent;if(u0.elements.length===1)return u0.elements;var U=e.getDiagnosticsWithinSpan(e.createTextSpanFromNode(u0),G.program.getSemanticDiagnostics(G.sourceFile,G.cancellationToken));return e.filter(u0.elements,function(g0){var d0;return g0===j||((d0=e.findDiagnosticForNode(g0,U))===null||d0===void 0?void 0:d0.code)===X[0]})}(H0,E0);if(Z.length===I.elements.length)i0.insertModifierBefore(E0.sourceFile,149,I);else{var A0=e.factory.updateExportDeclaration(A,A.decorators,A.modifiers,!1,e.factory.updateNamedExports(I,e.filter(I.elements,function(j){return!e.contains(Z,j)})),A.moduleSpecifier),o0=e.factory.createExportDeclaration(void 0,void 0,!0,e.factory.createNamedExports(Z),A.moduleSpecifier);i0.replaceNode(E0.sourceFile,A,A0,{leadingTriviaOption:e.textChanges.LeadingTriviaOption.IncludeAll,trailingTriviaOption:e.textChanges.TrailingTriviaOption.Exclude}),i0.insertNodeAfter(E0.sourceFile,A,o0)}}}s.registerCodeFix({errorCodes:X,getCodeActions:function(i0){var H0=e.textChanges.ChangeTracker.with(i0,function(E0){return s1(E0,m0(i0.span,i0.sourceFile),i0)});if(H0.length)return[s.createCodeFixAction(J,H0,e.Diagnostics.Convert_to_type_only_export,J,e.Diagnostics.Convert_all_re_exported_types_to_type_only_exports)]},fixIds:[J],getAllCodeActions:function(i0){var H0=new e.Map;return s.codeFixAll(i0,X,function(E0,I){var A=m0(I,i0.sourceFile);A&&e.addToSeen(H0,e.getNodeId(A.parent.parent))&&s1(E0,A,i0)})}})})(e.codefix||(e.codefix={}))}(_0||(_0={})),function(e){(function(s){var X=[e.Diagnostics.This_import_is_never_used_as_a_value_and_must_use_import_type_because_importsNotUsedAsValues_is_set_to_error.code],J=\"convertToTypeOnlyImport\";function m0(i0,H0){return e.tryCast(e.getTokenAtPosition(H0,i0.start).parent,e.isImportDeclaration)}function s1(i0,H0,E0){if(H0==null?void 0:H0.importClause){var I=H0.importClause;i0.insertText(E0.sourceFile,H0.getStart()+\"import\".length,\" type\"),I.name&&I.namedBindings&&(i0.deleteNodeRangeExcludingEnd(E0.sourceFile,I.name,H0.importClause.namedBindings),i0.insertNodeBefore(E0.sourceFile,H0,e.factory.updateImportDeclaration(H0,void 0,void 0,e.factory.createImportClause(!0,I.name,void 0),H0.moduleSpecifier)))}}s.registerCodeFix({errorCodes:X,getCodeActions:function(i0){var H0=e.textChanges.ChangeTracker.with(i0,function(E0){s1(E0,m0(i0.span,i0.sourceFile),i0)});if(H0.length)return[s.createCodeFixAction(J,H0,e.Diagnostics.Convert_to_type_only_import,J,e.Diagnostics.Convert_all_imports_not_used_as_a_value_to_type_only_imports)]},fixIds:[J],getAllCodeActions:function(i0){return s.codeFixAll(i0,X,function(H0,E0){s1(H0,m0(E0,i0.sourceFile),i0)})}})})(e.codefix||(e.codefix={}))}(_0||(_0={})),function(e){(function(s){var X=\"convertLiteralTypeToMappedType\",J=[e.Diagnostics._0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Did_you_mean_to_use_1_in_0.code];function m0(i0,H0){var E0=e.getTokenAtPosition(i0,H0);if(e.isIdentifier(E0)){var I=e.cast(E0.parent.parent,e.isPropertySignature),A=E0.getText(i0);return{container:e.cast(I.parent,e.isTypeLiteralNode),typeNode:I.type,constraint:A,name:A===\"K\"?\"P\":\"K\"}}}function s1(i0,H0,E0){var I=E0.container,A=E0.typeNode,Z=E0.constraint,A0=E0.name;i0.replaceNode(H0,I,e.factory.createMappedTypeNode(void 0,e.factory.createTypeParameterDeclaration(A0,e.factory.createTypeReferenceNode(Z)),void 0,void 0,A))}s.registerCodeFix({errorCodes:J,getCodeActions:function(i0){var H0=i0.sourceFile,E0=i0.span,I=m0(H0,E0.start);if(I){var A=I.name,Z=I.constraint,A0=e.textChanges.ChangeTracker.with(i0,function(o0){return s1(o0,H0,I)});return[s.createCodeFixAction(X,A0,[e.Diagnostics.Convert_0_to_1_in_0,Z,A],X,e.Diagnostics.Convert_all_type_literals_to_mapped_type)]}},fixIds:[X],getAllCodeActions:function(i0){return s.codeFixAll(i0,J,function(H0,E0){var I=m0(E0.file,E0.start);I&&s1(H0,E0.file,I)})}})})(e.codefix||(e.codefix={}))}(_0||(_0={})),function(e){(function(s){var X=[e.Diagnostics.Class_0_incorrectly_implements_interface_1.code,e.Diagnostics.Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclass.code],J=\"fixClassIncorrectlyImplementsInterface\";function m0(H0,E0){return e.Debug.checkDefined(e.getContainingClass(e.getTokenAtPosition(H0,E0)),\"There should be a containing class\")}function s1(H0){return!(H0.valueDeclaration&&8&e.getEffectiveModifierFlags(H0.valueDeclaration))}function i0(H0,E0,I,A,Z,A0){var o0=H0.program.getTypeChecker(),j=function(D0,x0){var l0=e.getEffectiveBaseTypeNode(D0);if(!l0)return e.createSymbolTable();var w0=x0.getTypeAtLocation(l0),V=x0.getPropertiesOfType(w0);return e.createSymbolTable(V.filter(s1))}(A,o0),G=o0.getTypeAtLocation(E0),u0=o0.getPropertiesOfType(G).filter(e.and(s1,function(D0){return!j.has(D0.escapedName)})),U=o0.getTypeAtLocation(A),g0=e.find(A.members,function(D0){return e.isConstructorDeclaration(D0)});U.getNumberIndexType()||P0(G,1),U.getStringIndexType()||P0(G,0);var d0=s.createImportAdder(I,H0.program,A0,H0.host);function P0(D0,x0){var l0=o0.getIndexInfoOfType(D0,x0);l0&&c0(I,A,o0.indexInfoToIndexSignatureDeclaration(l0,x0,A,void 0,s.getNoopSymbolTrackerWithResolver(H0)))}function c0(D0,x0,l0){g0?Z.insertNodeAfter(D0,g0,l0):Z.insertNodeAtClassStart(D0,x0,l0)}s.createMissingMemberNodes(A,u0,I,H0,A0,d0,function(D0){return c0(I,A,D0)}),d0.writeFixes(Z)}s.registerCodeFix({errorCodes:X,getCodeActions:function(H0){var E0=H0.sourceFile,I=H0.span,A=m0(E0,I.start);return e.mapDefined(e.getEffectiveImplementsTypeNodes(A),function(Z){var A0=e.textChanges.ChangeTracker.with(H0,function(o0){return i0(H0,Z,E0,A,o0,H0.preferences)});return A0.length===0?void 0:s.createCodeFixAction(J,A0,[e.Diagnostics.Implement_interface_0,Z.getText(E0)],J,e.Diagnostics.Implement_all_unimplemented_interfaces)})},fixIds:[J],getAllCodeActions:function(H0){var E0=new e.Map;return s.codeFixAll(H0,X,function(I,A){var Z=m0(A.file,A.start);if(e.addToSeen(E0,e.getNodeId(Z)))for(var A0=0,o0=e.getEffectiveImplementsTypeNodes(Z);A0<o0.length;A0++){var j=o0[A0];i0(H0,j,A.file,Z,I,H0.preferences)}})}})})(e.codefix||(e.codefix={}))}(_0||(_0={})),function(e){(function(s){s.importFixName=\"import\";var X,J=\"fixMissingImport\",m0=[e.Diagnostics.Cannot_find_name_0.code,e.Diagnostics.Cannot_find_name_0_Did_you_mean_1.code,e.Diagnostics.Cannot_find_name_0_Did_you_mean_the_instance_member_this_0.code,e.Diagnostics.Cannot_find_name_0_Did_you_mean_the_static_member_1_0.code,e.Diagnostics.Cannot_find_namespace_0.code,e.Diagnostics._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead.code,e.Diagnostics._0_only_refers_to_a_type_but_is_being_used_as_a_value_here.code];function s1(y0,G0,d1,h1,S1){var Q1=G0.getCompilerOptions(),Y0=[],$1=[],Z1=new e.Map,Q0=new e.Map;return{addImportFromDiagnostic:function(k1,I1){var K0=j(I1,k1.code,k1.start,d1);!K0||!K0.fixes.length||y1(K0)},addImportFromExportedSymbol:function(k1,I1){var K0=e.Debug.checkDefined(k1.parent),G1=e.getNameForExportedSymbol(k1,e.getEmitScriptTarget(Q1)),Nx=G0.getTypeChecker(),n1=Nx.getMergedSymbol(e.skipAlias(k1,Nx)),S0=I(y0,n1,K0,G1,S1,G0,d1),I0=!!I1&&Q1.importsNotUsedAsValues===2,U0=A0(y0,G0);y1({fixes:[i0(y0,S0,K0,G1,G0,void 0,I0,U0,S1,h1)],symbolName:G1})},writeFixes:function(k1){for(var I1,K0=e.getQuotePreference(y0,h1),G1=0,Nx=Y0;G1<Nx.length;G1++){var n1=Nx[G1];D0(k1,y0,n1)}for(var S0=0,I0=$1;S0<I0.length;S0++)n1=I0[S0],x0(k1,y0,n1,K0);Z1.forEach(function(U0){var p0=U0.importClauseOrBindingPattern,p1=U0.defaultImport,Y1=U0.namedImports,N1=U0.canUseTypeOnlyImport;c0(k1,y0,p0,p1,Y1,N1)}),Q0.forEach(function(U0,p0){var p1=U0.useRequire,Y1=v1(U0,[\"useRequire\"]),N1=p1?V:w0;I1=e.combine(I1,N1(p0,K0,Y1))}),I1&&e.insertImports(k1,y0,I1,!0)}};function y1(k1){var I1=k1.fixes,K0=k1.symbolName,G1=e.first(I1);switch(G1.kind){case 0:Y0.push(G1);break;case 1:$1.push(G1);break;case 2:var Nx=G1.importClauseOrBindingPattern,n1=G1.importKind,S0=G1.canUseTypeOnlyImport,I0=String(e.getNodeId(Nx));(U0=Z1.get(I0))||Z1.set(I0,U0={importClauseOrBindingPattern:Nx,defaultImport:void 0,namedImports:[],canUseTypeOnlyImport:S0}),n1===0?e.pushIfUnique(U0.namedImports,K0):(e.Debug.assert(U0.defaultImport===void 0||U0.defaultImport===K0,\"(Add to Existing) Default import should be missing or match symbolName\"),U0.defaultImport=K0);break;case 3:var U0,p0=G1.moduleSpecifier,p1=(n1=G1.importKind,G1.useRequire),Y1=G1.typeOnly;switch((U0=Q0.get(p0))?U0.typeOnly=U0.typeOnly&&Y1:Q0.set(p0,U0={namedImports:[],namespaceLikeImport:void 0,typeOnly:Y1,useRequire:p1}),n1){case 1:e.Debug.assert(U0.defaultImport===void 0||U0.defaultImport===K0,\"(Add new) Default import should be missing or match symbolName\"),U0.defaultImport=K0;break;case 0:e.pushIfUnique(U0.namedImports||(U0.namedImports=[]),K0);break;case 3:case 2:e.Debug.assert(U0.namespaceLikeImport===void 0||U0.namespaceLikeImport.name===K0,\"Namespacelike import shoudl be missing or match symbolName\"),U0.namespaceLikeImport={importKind:n1,name:K0}}break;default:e.Debug.assertNever(G1,\"fix wasn't never - got kind \"+G1.kind)}}}function i0(y0,G0,d1,h1,S1,Q1,Y0,$1,Z1,Q0){return e.Debug.assert(G0.some(function(y1){return y1.moduleSymbol===d1}),\"Some exportInfo should match the specified moduleSymbol\"),G(Z(G0,h1,Q1,Y0,$1,S1,y0,Z1,Q0),y0,Z1)}function H0(y0){return{description:y0.description,changes:y0.changes,commands:y0.commands}}function E0(y0,G0,d1,h1){var S1,Q1,Y0=d1.getCompilerOptions(),$1=Q0(d1.getTypeChecker(),!1);if($1)return $1;var Z1=(Q1=(S1=h1.getPackageJsonAutoImportProvider)===null||S1===void 0?void 0:S1.call(h1))===null||Q1===void 0?void 0:Q1.getTypeChecker();return e.Debug.checkDefined(Z1&&Q0(Z1,!0),\"Could not find symbol in specified module for code actions\");function Q0(y1,k1){var I1=g0(G0,y1,Y0);if(I1&&e.skipAlias(I1.symbol,y1)===y0)return{symbol:I1.symbol,moduleSymbol:G0,exportKind:I1.exportKind,exportedSymbolIsTypeOnly:A(y0,y1),isFromPackageJson:k1};var K0=y1.tryGetMemberInModuleExportsAndProperties(y0.name,G0);return K0&&e.skipAlias(K0,y1)===y0?{symbol:K0,moduleSymbol:G0,exportKind:0,exportedSymbolIsTypeOnly:A(y0,y1),isFromPackageJson:k1}:void 0}}function I(y0,G0,d1,h1,S1,Q1,Y0){var $1=[],Z1=Q1.getCompilerOptions(),Q0=e.memoizeOne(function(k1){return e.createModuleSpecifierResolutionHost(k1?S1.getPackageJsonAutoImportProvider():Q1,S1)});return k0(Q1,S1,Y0,function(k1,I1,K0,G1){var Nx=K0.getTypeChecker();if(!I1||k1===d1||!e.startsWith(y0.fileName,e.getDirectoryPath(I1.fileName))){var n1=g0(k1,Nx,Z1);n1&&(n1.name===h1||t0(k1,Z1.target)===h1)&&e.skipAlias(n1.symbol,Nx)===G0&&y1(K0,I1,G1)&&$1.push({symbol:n1.symbol,moduleSymbol:k1,exportKind:n1.exportKind,exportedSymbolIsTypeOnly:A(n1.symbol,Nx),isFromPackageJson:G1});for(var S0=0,I0=Nx.getExportsAndPropertiesOfModule(k1);S0<I0.length;S0++){var U0=I0[S0];U0.name===h1&&e.skipAlias(U0,Nx)===G0&&y1(K0,I1,G1)&&$1.push({symbol:U0,moduleSymbol:k1,exportKind:0,exportedSymbolIsTypeOnly:A(U0,Nx),isFromPackageJson:G1})}}}),$1;function y1(k1,I1,K0){var G1;return!I1||e.isImportableFile(k1,y0,I1,void 0,Q0(K0),(G1=S1.getModuleSpecifierCache)===null||G1===void 0?void 0:G1.call(S1))}}function A(y0,G0){return!(111551&e.skipAlias(y0,G0).flags)}function Z(y0,G0,d1,h1,S1,Q1,Y0,$1,Z1){var Q0=Q1.getTypeChecker(),y1=e.flatMap(y0,function(G1){return function(Nx,n1,S0,I0){var U0=Nx.moduleSymbol,p0=Nx.exportKind;if(Nx.exportedSymbolIsTypeOnly&&e.isSourceFileJS(S0))return e.emptyArray;var p1=U(S0,p0,I0);return e.mapDefined(S0.imports,function(Y1){var N1=e.importFromModuleSpecifier(Y1);return e.isRequireVariableDeclaration(N1.parent)?n1.resolveExternalModuleName(Y1)===U0?{declaration:N1.parent,importKind:p1}:void 0:(N1.kind===262||N1.kind===261)&&n1.getSymbolAtLocation(Y1)===U0?{declaration:N1,importKind:p1}:void 0})}(G1,Q0,Y0,Q1.getCompilerOptions())}),k1=d1===void 0?void 0:function(G1,Nx,n1,S0){return e.firstDefined(G1,function(I0){var U0=I0.declaration,p0=function(N1){var V1,Ox,$x;switch(N1.kind){case 250:return(V1=e.tryCast(N1.name,e.isIdentifier))===null||V1===void 0?void 0:V1.text;case 261:return N1.name.text;case 262:return($x=e.tryCast((Ox=N1.importClause)===null||Ox===void 0?void 0:Ox.namedBindings,e.isNamespaceImport))===null||$x===void 0?void 0:$x.name.text;default:return e.Debug.assertNever(N1)}}(U0),p1=e.tryGetModuleSpecifierFromDeclaration(U0);if(p0&&p1){var Y1=function(N1,V1){var Ox;switch(N1.kind){case 250:return V1.resolveExternalModuleName(N1.initializer.arguments[0]);case 261:return V1.getAliasedSymbol(N1.symbol);case 262:var $x=e.tryCast((Ox=N1.importClause)===null||Ox===void 0?void 0:Ox.namedBindings,e.isNamespaceImport);return $x&&V1.getAliasedSymbol($x.symbol);default:return e.Debug.assertNever(N1)}}(U0,S0);if(Y1&&Y1.exports.has(e.escapeLeadingUnderscores(Nx)))return{kind:0,namespacePrefix:p0,position:n1,moduleSpecifier:p1}}})}(y1,G0,d1,Q0),I1=function(G1,Nx){return e.firstDefined(G1,function(n1){var S0=n1.declaration,I0=n1.importKind;if(S0.kind!==261){if(S0.kind===250)return I0!==0&&I0!==1||S0.name.kind!==197?void 0:{kind:2,importClauseOrBindingPattern:S0.name,importKind:I0,moduleSpecifier:S0.initializer.arguments[0].text,canUseTypeOnlyImport:!1};var U0=S0.importClause;if(U0&&e.isStringLiteralLike(S0.moduleSpecifier)){var p0=U0.name,p1=U0.namedBindings;if(!U0.isTypeOnly||I0===0&&p1)return I0===1&&!p0||I0===0&&(!p1||p1.kind===265)?{kind:2,importClauseOrBindingPattern:U0,importKind:I0,moduleSpecifier:S0.moduleSpecifier.text,canUseTypeOnlyImport:Nx}:void 0}}})}(y1,d1!==void 0&&function(G1,Nx){return e.isValidTypeOnlyAliasUseSite(e.getTokenAtPosition(G1,Nx))}(Y0,d1)),K0=I1?[I1]:function(G1,Nx,n1,S0,I0,U0,p0,p1,Y1){var N1=e.firstDefined(Nx,function(V1){return function(Ox,$x,rx){var O0=Ox.declaration,C1=Ox.importKind,nx=e.tryGetModuleSpecifierFromDeclaration(O0);return nx?{kind:3,moduleSpecifier:nx,importKind:C1,typeOnly:$x,useRequire:rx}:void 0}(V1,U0,p0)});return N1?[N1]:o0(n1,S0,I0,U0,p0,G1,p1,Y1)}(y0,y1,Q1,Y0,d1,h1,S1,$1,Z1);return D(D([],k1?[k1]:e.emptyArray),K0)}function A0(y0,G0){if(!e.isSourceFileJS(y0))return!1;if(y0.commonJsModuleIndicator&&!y0.externalModuleIndicator)return!0;if(y0.externalModuleIndicator&&!y0.commonJsModuleIndicator)return!1;var d1=G0.getCompilerOptions();if(d1.configFile)return e.getEmitModuleKind(d1)<e.ModuleKind.ES2015;for(var h1=0,S1=G0.getSourceFiles();h1<S1.length;h1++){var Q1=S1[h1];if(Q1!==y0&&e.isSourceFileJS(Q1)&&!G0.isSourceFileFromExternalLibrary(Q1)){if(Q1.commonJsModuleIndicator&&!Q1.externalModuleIndicator)return!0;if(Q1.externalModuleIndicator&&!Q1.commonJsModuleIndicator)return!1}}return!0}function o0(y0,G0,d1,h1,S1,Q1,Y0,$1){var Z1=e.isSourceFileJS(G0),Q0=y0.getCompilerOptions(),y1=e.createModuleSpecifierResolutionHost(y0,Y0);return e.flatMap(Q1,function(k1){return e.moduleSpecifiers.getModuleSpecifiers(k1.moduleSymbol,y0.getTypeChecker(),Q0,G0,y1,$1).map(function(I1){return k1.exportedSymbolIsTypeOnly&&Z1&&d1!==void 0?{kind:1,moduleSpecifier:I1,position:d1,exportInfo:k1}:{kind:3,moduleSpecifier:I1,importKind:U(G0,k1.exportKind,Q0),useRequire:S1,typeOnly:h1,exportInfo:k1}})})}function j(y0,G0,d1,h1){var S1,Q1,Y0,$1,Z1=e.getTokenAtPosition(y0.sourceFile,d1),Q0=G0===e.Diagnostics._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead.code?function(y1,k1){var I1=y1.sourceFile,K0=y1.program,G1=y1.host,Nx=y1.preferences,n1=K0.getTypeChecker(),S0=function(Y1,N1){var V1=e.isIdentifier(Y1)?N1.getSymbolAtLocation(Y1):void 0;if(e.isUMDExportSymbol(V1))return V1;var Ox=Y1.parent;return e.isJsxOpeningLikeElement(Ox)&&Ox.tagName===Y1||e.isJsxOpeningFragment(Ox)?e.tryCast(N1.resolveName(N1.getJsxNamespace(Ox),e.isJsxOpeningLikeElement(Ox)?Y1:Ox,111551,!1),e.isUMDExportSymbol):void 0}(k1,n1);if(!!S0){var I0=n1.getAliasedSymbol(S0),U0=S0.name,p0=[{symbol:S0,moduleSymbol:I0,exportKind:3,exportedSymbolIsTypeOnly:!1,isFromPackageJson:!1}],p1=A0(I1,K0);return{fixes:Z(p0,U0,e.isIdentifier(k1)?k1.getStart(I1):void 0,!1,p1,K0,I1,G1,Nx),symbolName:U0}}}(y0,Z1):e.isIdentifier(Z1)?function(y1,k1,I1){var K0=y1.sourceFile,G1=y1.program,Nx=y1.cancellationToken,n1=y1.host,S0=y1.preferences,I0=G1.getTypeChecker(),U0=G1.getCompilerOptions(),p0=function(V1,Ox,$x,rx){var O0=$x.parent;if((e.isJsxOpeningLikeElement(O0)||e.isJsxClosingElement(O0))&&O0.tagName===$x&&rx.jsx!==4&&rx.jsx!==5){var C1=Ox.getJsxNamespace(V1);if(e.isIntrinsicJsxName($x.text)||!Ox.resolveName(C1,O0,111551,!0))return C1}return $x.text}(K0,I0,k1,U0);e.Debug.assert(p0!==\"default\",\"'default' isn't a legal identifier and couldn't occur here\");var p1=U0.importsNotUsedAsValues===2&&e.isValidTypeOnlyAliasUseSite(k1),Y1=A0(K0,G1),N1=function(V1,Ox,$x,rx,O0,C1,nx){var O,b1=e.createMultiMap(),Px=e.createPackageJsonImportFilter(rx,nx),me=(O=nx.getModuleSpecifierCache)===null||O===void 0?void 0:O.call(nx),Re=e.memoizeOne(function(Vt){return e.createModuleSpecifierResolutionHost(Vt?nx.getPackageJsonAutoImportProvider():O0,nx)});function gt(Vt,wr,gr,Nt,Ir,xr){var Bt=Re(xr);if(wr&&e.isImportableFile(Ir,rx,wr,Px,Bt,me)||!wr&&Px.allowsImportingAmbientModule(Vt,Bt)){var ar=Ir.getTypeChecker();b1.add(e.getUniqueSymbolId(gr,ar).toString(),{symbol:gr,moduleSymbol:Vt,exportKind:Nt,exportedSymbolIsTypeOnly:A(gr,ar),isFromPackageJson:xr})}}return k0(O0,nx,C1,function(Vt,wr,gr,Nt){var Ir=gr.getTypeChecker();$x.throwIfCancellationRequested();var xr=gr.getCompilerOptions(),Bt=g0(Vt,Ir,xr);Bt&&(Bt.name===V1||t0(Vt,xr.target)===V1)&&H(Bt.symbolForMeaning,Ox)&&gt(Vt,wr,Bt.symbol,Bt.exportKind,gr,Nt);var ar=Ir.tryGetMemberInModuleExportsAndProperties(V1,Vt);ar&&H(ar,Ox)&&gt(Vt,wr,ar,0,gr,Nt)}),b1}(p0,e.getMeaningFromLocation(k1),Nx,K0,G1,I1,n1);return{fixes:e.arrayFrom(e.flatMapIterator(N1.entries(),function(V1){return V1[0],Z(V1[1],p0,k1.getStart(K0),p1,Y1,G1,K0,n1,S0)})),symbolName:p0}}(y0,Z1,h1):void 0;return Q0&&$($({},Q0),{fixes:(S1=Q0.fixes,Q1=y0.sourceFile,Y0=y0.host,$1=e.createPackageJsonImportFilter(Q1,Y0).allowsImportingSpecifier,e.sort(S1,function(y1,k1){return e.compareValues(y1.kind,k1.kind)||u0(y1,k1,$1)}))})}function G(y0,G0,d1){if(y0[0].kind===0||y0[0].kind===2)return y0[0];var h1=e.createPackageJsonImportFilter(G0,d1).allowsImportingSpecifier;return y0.reduce(function(S1,Q1){return u0(Q1,S1,h1)===-1?Q1:S1})}function u0(y0,G0,d1){return y0.kind!==0&&G0.kind!==0?e.compareBooleans(d1(y0.moduleSpecifier),d1(G0.moduleSpecifier))||e.compareNumberOfDirectorySeparators(y0.moduleSpecifier,G0.moduleSpecifier):0}function U(y0,G0,d1){switch(G0){case 0:return 0;case 1:return 1;case 2:return function(h1,S1){var Q1=e.getAllowSyntheticDefaultImports(S1);if(e.getEmitModuleKind(S1)>=e.ModuleKind.ES2015)return Q1?1:2;if(e.isInJSFile(h1))return e.isExternalModule(h1)?1:3;for(var Y0=0,$1=h1.statements;Y0<$1.length;Y0++){var Z1=$1[Y0];if(e.isImportEqualsDeclaration(Z1)&&!e.nodeIsMissing(Z1.moduleReference))return 3}return Q1?1:3}(y0,d1);case 3:return function(h1,S1){if(e.getAllowSyntheticDefaultImports(S1))return 1;var Q1=e.getEmitModuleKind(S1);switch(Q1){case e.ModuleKind.AMD:case e.ModuleKind.CommonJS:case e.ModuleKind.UMD:return e.isInJSFile(h1)&&e.isExternalModule(h1)?2:3;case e.ModuleKind.System:case e.ModuleKind.ES2015:case e.ModuleKind.ES2020:case e.ModuleKind.ESNext:case e.ModuleKind.None:return 2;default:return e.Debug.assertNever(Q1,\"Unexpected moduleKind \"+Q1)}}(y0,d1);default:return e.Debug.assertNever(G0)}}function g0(y0,G0,d1){var h1=function($1,Z1){var Q0=Z1.resolveExternalModuleSymbol($1);if(Q0!==$1)return{symbol:Q0,exportKind:2};var y1=Z1.tryGetMemberInModuleExports(\"default\",$1);if(y1)return{symbol:y1,exportKind:1}}(y0,G0);if(h1){var S1=h1.symbol,Q1=h1.exportKind,Y0=d0(S1,G0,d1);return Y0&&$({symbol:S1,exportKind:Q1},Y0)}}function d0(y0,G0,d1){var h1=e.getLocalSymbolForExportDefault(y0);if(h1)return{symbolForMeaning:h1,name:h1.name};var S1,Q1=(S1=y0).declarations&&e.firstDefined(S1.declarations,function($1){var Z1;return e.isExportAssignment($1)?(Z1=e.tryCast(e.skipOuterExpressions($1.expression),e.isIdentifier))===null||Z1===void 0?void 0:Z1.text:e.isExportSpecifier($1)?(e.Debug.assert($1.name.text===\"default\",\"Expected the specifier to be a default export\"),$1.propertyName&&$1.propertyName.text):void 0});if(Q1!==void 0)return{symbolForMeaning:y0,name:Q1};if(2097152&y0.flags){var Y0=G0.getImmediateAliasedSymbol(y0);if(Y0&&Y0.parent)return d0(Y0,G0,d1)}return y0.escapedName!==\"default\"&&y0.escapedName!==\"export=\"?{symbolForMeaning:y0,name:y0.getName()}:{symbolForMeaning:y0,name:e.getNameForExportedSymbol(y0,d1.target)}}function P0(y0,G0,d1,h1,S1){var Q1,Y0=e.textChanges.ChangeTracker.with(y0,function($1){Q1=function(Z1,Q0,y1,k1,I1){switch(k1.kind){case 0:return D0(Z1,Q0,k1),[e.Diagnostics.Change_0_to_1,y1,k1.namespacePrefix+\".\"+y1];case 1:return x0(Z1,Q0,k1,I1),[e.Diagnostics.Change_0_to_1,y1,l0(k1.moduleSpecifier,I1)+y1];case 2:var K0=k1.importClauseOrBindingPattern,G1=k1.importKind,Nx=k1.canUseTypeOnlyImport,n1=k1.moduleSpecifier;c0(Z1,Q0,K0,G1===1?y1:void 0,G1===0?[y1]:e.emptyArray,Nx);var S0=e.stripQuotes(n1);return[G1===1?e.Diagnostics.Add_default_import_0_to_existing_import_declaration_from_1:e.Diagnostics.Add_0_to_existing_import_declaration_from_1,y1,S0];case 3:G1=k1.importKind,n1=k1.moduleSpecifier;var I0=k1.typeOnly,U0=k1.useRequire?V:w0,p0=G1===1?{defaultImport:y1,typeOnly:I0}:G1===0?{namedImports:[y1],typeOnly:I0}:{namespaceLikeImport:{importKind:G1,name:y1},typeOnly:I0};return e.insertImports(Z1,Q0,U0(n1,I1,p0),!0),[G1===1?e.Diagnostics.Import_default_0_from_module_1:e.Diagnostics.Import_0_from_module_1,y1,n1];default:return e.Debug.assertNever(k1,\"Unexpected fix kind \"+k1.kind)}}($1,G0,d1,h1,S1)});return s.createCodeFixAction(s.importFixName,Y0,Q1,J,e.Diagnostics.Add_all_missing_imports)}function c0(y0,G0,d1,h1,S1,Q1){if(d1.kind!==197){var Y0=!Q1&&d1.isTypeOnly;if(h1&&(e.Debug.assert(!d1.name,\"Cannot add a default import to an import clause that already has one\"),y0.insertNodeAt(G0,d1.getStart(G0),e.factory.createIdentifier(h1),{suffix:\", \"})),S1.length){var $1=d1.namedBindings&&e.cast(d1.namedBindings,e.isNamedImports).elements,Z1=e.stableSort(S1.map(function(p0){return e.factory.createImportSpecifier(void 0,e.factory.createIdentifier(p0))}),e.OrganizeImports.compareImportOrExportSpecifiers);if(($1==null?void 0:$1.length)&&e.OrganizeImports.importSpecifiersAreSorted($1))for(var Q0=0,y1=Z1;Q0<y1.length;Q0++){var k1=y1[Q0],I1=e.OrganizeImports.getImportSpecifierInsertionIndex($1,k1),K0=d1.namedBindings.elements[I1-1];K0?y0.insertNodeInListAfter(G0,K0,k1):y0.insertNodeBefore(G0,$1[0],k1,!e.positionsAreOnSameLine($1[0].getStart(),d1.parent.getStart(),G0))}else if($1==null?void 0:$1.length)for(var G1=0,Nx=Z1;G1<Nx.length;G1++)k1=Nx[G1],y0.insertNodeInListAfter(G0,e.last($1),k1,$1);else if(Z1.length){var n1=e.factory.createNamedImports(Z1);d1.namedBindings?y0.replaceNode(G0,d1.namedBindings,n1):y0.insertNodeAfter(G0,e.Debug.checkDefined(d1.name,\"Import clause must have either named imports or a default import\"),n1)}}Y0&&y0.delete(G0,e.getTypeKeywordOfTypeOnlyImport(d1,G0))}else{h1&&U0(d1,h1,\"default\");for(var S0=0,I0=S1;S0<I0.length;S0++)U0(d1,I0[S0],void 0)}function U0(p0,p1,Y1){var N1=e.factory.createBindingElement(void 0,Y1,p1);p0.elements.length?y0.insertNodeInListAfter(G0,e.last(p0.elements),N1):y0.replaceNode(G0,p0,e.factory.createObjectBindingPattern([N1]))}}function D0(y0,G0,d1){var h1=d1.namespacePrefix,S1=d1.position;y0.insertText(G0,S1,h1+\".\")}function x0(y0,G0,d1,h1){var S1=d1.moduleSpecifier,Q1=d1.position;y0.insertText(G0,Q1,l0(S1,h1))}function l0(y0,G0){var d1=e.getQuoteFromPreference(G0);return\"import(\"+d1+y0+d1+\").\"}function w0(y0,G0,d1){var h1,S1,Q1,Y0=e.makeStringLiteral(y0,G0);(d1.defaultImport!==void 0||((h1=d1.namedImports)===null||h1===void 0?void 0:h1.length))&&(Q1=e.combine(Q1,e.makeImport(d1.defaultImport===void 0?void 0:e.factory.createIdentifier(d1.defaultImport),(S1=d1.namedImports)===null||S1===void 0?void 0:S1.map(function(y1){return e.factory.createImportSpecifier(void 0,e.factory.createIdentifier(y1))}),y0,G0,d1.typeOnly)));var $1=d1.namespaceLikeImport,Z1=d1.typeOnly;if($1){var Q0=$1.importKind===3?e.factory.createImportEqualsDeclaration(void 0,void 0,Z1,e.factory.createIdentifier($1.name),e.factory.createExternalModuleReference(Y0)):e.factory.createImportDeclaration(void 0,void 0,e.factory.createImportClause(Z1,void 0,e.factory.createNamespaceImport(e.factory.createIdentifier($1.name))),Y0);Q1=e.combine(Q1,Q0)}return e.Debug.checkDefined(Q1)}function V(y0,G0,d1){var h1,S1,Q1,Y0=e.makeStringLiteral(y0,G0);if(d1.defaultImport||((h1=d1.namedImports)===null||h1===void 0?void 0:h1.length)){var $1=((S1=d1.namedImports)===null||S1===void 0?void 0:S1.map(function(Q0){return e.factory.createBindingElement(void 0,void 0,Q0)}))||[];d1.defaultImport&&$1.unshift(e.factory.createBindingElement(void 0,\"default\",d1.defaultImport));var Z1=w(e.factory.createObjectBindingPattern($1),Y0);Q1=e.combine(Q1,Z1)}return d1.namespaceLikeImport&&(Z1=w(d1.namespaceLikeImport.name,Y0),Q1=e.combine(Q1,Z1)),e.Debug.checkDefined(Q1)}function w(y0,G0){return e.factory.createVariableStatement(void 0,e.factory.createVariableDeclarationList([e.factory.createVariableDeclaration(typeof y0==\"string\"?e.factory.createIdentifier(y0):y0,void 0,void 0,e.factory.createCallExpression(e.factory.createIdentifier(\"require\"),void 0,[G0]))],2))}function H(y0,G0){var d1=y0.declarations;return e.some(d1,function(h1){return!!(e.getMeaningFromDeclaration(h1)&G0)})}function k0(y0,G0,d1,h1){var S1,Q1;V0(y0.getTypeChecker(),y0.getSourceFiles(),function(Z1,Q0){return h1(Z1,Q0,y0,!1)});var Y0=d1&&((S1=G0.getPackageJsonAutoImportProvider)===null||S1===void 0?void 0:S1.call(G0));if(Y0){var $1=e.timestamp();V0(Y0.getTypeChecker(),Y0.getSourceFiles(),function(Z1,Q0){return h1(Z1,Q0,Y0,!0)}),(Q1=G0.log)===null||Q1===void 0||Q1.call(G0,\"forEachExternalModuleToImportFrom autoImportProvider: \"+(e.timestamp()-$1))}}function V0(y0,G0,d1){for(var h1=0,S1=y0.getAmbientModules();h1<S1.length;h1++){var Q1=S1[h1];e.stringContains(Q1.name,\"*\")||d1(Q1,void 0)}for(var Y0=0,$1=G0;Y0<$1.length;Y0++){var Z1=$1[Y0];e.isExternalOrCommonJsModule(Z1)&&d1(y0.getMergedSymbol(Z1.symbol),Z1)}}function t0(y0,G0){return f0(e.removeFileExtension(e.stripQuotes(y0.name)),G0)}function f0(y0,G0){var d1=e.getBaseFileName(e.removeSuffix(y0,\"/index\")),h1=\"\",S1=!0,Q1=d1.charCodeAt(0);e.isIdentifierStart(Q1,G0)?h1+=String.fromCharCode(Q1):S1=!1;for(var Y0=1;Y0<d1.length;Y0++){var $1=d1.charCodeAt(Y0),Z1=e.isIdentifierPart($1,G0);if(Z1){var Q0=String.fromCharCode($1);S1||(Q0=Q0.toUpperCase()),h1+=Q0}S1=Z1}return e.isStringANonContextualKeyword(h1)?\"_\"+h1:h1||\"_\"}s.registerCodeFix({errorCodes:m0,getCodeActions:function(y0){var G0=y0.errorCode,d1=y0.preferences,h1=y0.sourceFile,S1=y0.span,Q1=j(y0,G0,S1.start,!0);if(Q1){var Y0=Q1.fixes,$1=Q1.symbolName,Z1=e.getQuotePreference(h1,d1);return Y0.map(function(Q0){return P0(y0,h1,$1,Q0,Z1)})}},fixIds:[J],getAllCodeActions:function(y0){var G0=s1(y0.sourceFile,y0.program,!0,y0.preferences,y0.host);return s.eachDiagnostic(y0,m0,function(d1){return G0.addImportFromDiagnostic(d1,y0)}),s.createCombinedCodeActions(e.textChanges.ChangeTracker.with(y0,G0.writeFixes))}}),s.createImportAdder=function(y0,G0,d1,h1){return s1(y0,G0,!1,d1,h1)},function(y0){y0[y0.UseNamespace=0]=\"UseNamespace\",y0[y0.ImportType=1]=\"ImportType\",y0[y0.AddToExisting=2]=\"AddToExisting\",y0[y0.AddNew=3]=\"AddNew\"}(X||(X={})),s.getImportCompletionAction=function(y0,G0,d1,h1,S1,Q1,Y0,$1,Z1){var Q0=Q1.getCompilerOptions(),y1=e.pathIsBareSpecifier(e.stripQuotes(G0.name))?[E0(y0,G0,Q1,S1)]:I(d1,y0,G0,h1,S1,Q1,!0),k1=A0(d1,Q1),I1=i0(d1,y1,G0,h1,Q1,$1,Q0.importsNotUsedAsValues===2&&!e.isSourceFileJS(d1)&&e.isValidTypeOnlyAliasUseSite(e.getTokenAtPosition(d1,$1)),k1,S1,Z1);return{moduleSpecifier:I1.moduleSpecifier,codeAction:H0(P0({host:S1,formatContext:Y0,preferences:Z1},d1,h1,I1,e.getQuotePreference(d1,Z1)))}},s.getModuleSpecifierForBestExportInfo=function(y0,G0,d1,h1,S1){return G(o0(d1,G0,void 0,!1,!1,y0,h1,S1),G0,h1)},s.getSymbolToExportInfoMap=function(y0,G0,d1){var h1,S1,Q1,Y0,$1,Z1,Q0,y1,k1=e.timestamp();(h1=G0.getPackageJsonAutoImportProvider)===null||h1===void 0||h1.call(G0);var I1=(S1=G0.getExportMapCache)===null||S1===void 0?void 0:S1.call(G0);if(I1){var K0=I1.get(y0.path,d1.getTypeChecker(),(Q1=G0.getProjectVersion)===null||Q1===void 0?void 0:Q1.call(G0));if(K0)return(Y0=G0.log)===null||Y0===void 0||Y0.call(G0,\"getSymbolToExportInfoMap: cache hit\"),K0;($1=G0.log)===null||$1===void 0||$1.call(G0,\"getSymbolToExportInfoMap: cache miss or empty; calculating new results\")}var G1=e.createMultiMap(),Nx=d1.getCompilerOptions(),n1=e.getEmitScriptTarget(Nx);return k0(d1,G0,!0,function(I0,U0,p0,p1){var Y1=p0.getTypeChecker(),N1=g0(I0,Y1,Nx);if(N1){var V1=e.getNameForExportedSymbol(e.getLocalSymbolForExportDefault(N1.symbol)||N1.symbol,n1);G1.add(S0(V1,N1.symbol,I0,Y1),{symbol:N1.symbol,moduleSymbol:I0,exportKind:N1.exportKind,exportedSymbolIsTypeOnly:A(N1.symbol,Y1),isFromPackageJson:p1})}for(var Ox=new e.Map,$x=0,rx=Y1.getExportsAndPropertiesOfModule(I0);$x<rx.length;$x++){var O0=rx[$x];O0!==(N1==null?void 0:N1.symbol)&&e.addToSeen(Ox,O0)&&G1.add(S0(e.getNameForExportedSymbol(O0,n1),O0,I0,Y1),{symbol:O0,moduleSymbol:I0,exportKind:0,exportedSymbolIsTypeOnly:A(O0,Y1),isFromPackageJson:p1})}}),I1&&((Z1=G0.log)===null||Z1===void 0||Z1.call(G0,\"getSymbolToExportInfoMap: caching results\"),I1.set(G1,(Q0=G0.getProjectVersion)===null||Q0===void 0?void 0:Q0.call(G0))),(y1=G0.log)===null||y1===void 0||y1.call(G0,\"getSymbolToExportInfoMap: done in \"+(e.timestamp()-k1)+\" ms\"),G1;function S0(I0,U0,p0,p1){var Y1=e.stripQuotes(p0.name),N1=e.isExternalModuleNameRelative(Y1)?\"/\":Y1;return I0+\"|\"+e.getSymbolId(e.skipAlias(U0,p1))+\"|\"+N1}},s.getImportKind=U,s.forEachExternalModuleToImportFrom=k0,s.moduleSymbolToValidIdentifier=t0,s.moduleSpecifierToValidIdentifier=f0})(e.codefix||(e.codefix={}))}(_0||(_0={})),function(e){(function(s){var X,J=\"fixOverrideModifier\",m0=\"fixAddOverrideModifier\",s1=\"fixRemoveOverrideModifier\",i0=[e.Diagnostics.This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0.code,e.Diagnostics.This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another_class.code,e.Diagnostics.This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared_in_the_base_class_0.code,e.Diagnostics.This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0.code,e.Diagnostics.This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0.code],H0=((X={})[e.Diagnostics.This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0.code]=[e.Diagnostics.Add_override_modifier,m0,e.Diagnostics.Add_all_missing_override_modifiers],X[e.Diagnostics.This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another_class.code]=[e.Diagnostics.Remove_override_modifier,s1,e.Diagnostics.Remove_all_unnecessary_override_modifiers],X[e.Diagnostics.This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0.code]=[e.Diagnostics.Add_override_modifier,m0,e.Diagnostics.Add_all_missing_override_modifiers],X[e.Diagnostics.This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared_in_the_base_class_0.code]=[e.Diagnostics.Add_override_modifier,m0,e.Diagnostics.Remove_all_unnecessary_override_modifiers],X[e.Diagnostics.This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0.code]=[e.Diagnostics.Remove_override_modifier,s1,e.Diagnostics.Remove_all_unnecessary_override_modifiers],X);function E0(Z,A0,o0,j){switch(o0){case e.Diagnostics.This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0.code:case e.Diagnostics.This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared_in_the_base_class_0.code:case e.Diagnostics.This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0.code:return function(G,u0,U){var g0=A(u0,U),d0=g0.modifiers||e.emptyArray,P0=e.find(d0,e.isStaticModifier),c0=e.find(d0,function(l0){return e.isAccessibilityModifier(l0.kind)}),D0=P0?P0.end:c0?c0.end:g0.decorators?e.skipTrivia(u0.text,g0.decorators.end):g0.getStart(u0),x0=c0||P0?{prefix:\" \"}:{suffix:\" \"};G.insertModifierAt(u0,D0,156,x0)}(Z,A0.sourceFile,j);case e.Diagnostics.This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0.code:case e.Diagnostics.This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another_class.code:return function(G,u0,U){var g0=A(u0,U),d0=g0.modifiers&&e.find(g0.modifiers,function(P0){return P0.kind===156});e.Debug.assertIsDefined(d0),G.deleteModifier(u0,d0)}(Z,A0.sourceFile,j);default:e.Debug.fail(\"Unexpected error code: \"+o0)}}function I(Z){switch(Z.kind){case 167:case 164:case 166:case 168:case 169:return!0;case 161:return e.isParameterPropertyDeclaration(Z,Z.parent);default:return!1}}function A(Z,A0){var o0=e.getTokenAtPosition(Z,A0),j=e.findAncestor(o0,function(G){return e.isClassLike(G)?\"quit\":I(G)});return e.Debug.assert(j&&I(j)),j}s.registerCodeFix({errorCodes:i0,getCodeActions:function(Z){var A0=Z.errorCode,o0=Z.span,j=Z.sourceFile,G=H0[A0];if(!G)return e.emptyArray;var u0=G[0],U=G[1],g0=G[2];if(e.isSourceFileJS(j))return e.emptyArray;var d0=e.textChanges.ChangeTracker.with(Z,function(P0){return E0(P0,Z,A0,o0.start)});return[s.createCodeFixActionMaybeFixAll(J,d0,u0,U,g0)]},fixIds:[J,m0,s1],getAllCodeActions:function(Z){return s.codeFixAll(Z,i0,function(A0,o0){var j=o0.code,G=o0.start,u0=o0.file,U=H0[j];U&&U[1]===Z.fixId&&!e.isSourceFileJS(u0)&&E0(A0,Z,j,G)})}})})(e.codefix||(e.codefix={}))}(_0||(_0={})),function(e){(function(s){var X=\"fixNoPropertyAccessFromIndexSignature\",J=[e.Diagnostics.Property_0_comes_from_an_index_signature_so_it_must_be_accessed_with_0.code];function m0(i0,H0,E0,I){var A=e.getQuotePreference(H0,I),Z=e.factory.createStringLiteral(E0.name.text,A===0);i0.replaceNode(H0,E0,e.isPropertyAccessChain(E0)?e.factory.createElementAccessChain(E0.expression,E0.questionDotToken,Z):e.factory.createElementAccessExpression(E0.expression,Z))}function s1(i0,H0){return e.cast(e.getTokenAtPosition(i0,H0).parent,e.isPropertyAccessExpression)}s.registerCodeFix({errorCodes:J,fixIds:[X],getCodeActions:function(i0){var H0=i0.sourceFile,E0=i0.span,I=i0.preferences,A=s1(H0,E0.start),Z=e.textChanges.ChangeTracker.with(i0,function(A0){return m0(A0,i0.sourceFile,A,I)});return[s.createCodeFixAction(X,Z,[e.Diagnostics.Use_element_access_for_0,A.name.text],X,e.Diagnostics.Use_element_access_for_all_undeclared_properties)]},getAllCodeActions:function(i0){return s.codeFixAll(i0,J,function(H0,E0){return m0(H0,E0.file,s1(E0.file,E0.start),i0.preferences)})}})})(e.codefix||(e.codefix={}))}(_0||(_0={})),function(e){(function(s){var X=\"fixImplicitThis\",J=[e.Diagnostics.this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation.code];function m0(s1,i0,H0,E0){var I=e.getTokenAtPosition(i0,H0);e.Debug.assert(I.kind===107);var A=e.getThisContainer(I,!1);if((e.isFunctionDeclaration(A)||e.isFunctionExpression(A))&&!e.isSourceFile(e.getThisContainer(A,!1))){var Z=e.Debug.assertDefined(e.findChildOfKind(A,97,i0)),A0=A.name,o0=e.Debug.assertDefined(A.body);return e.isFunctionExpression(A)?A0&&e.FindAllReferences.Core.isSymbolReferencedInFile(A0,E0,i0,o0)?void 0:(s1.delete(i0,Z),A0&&s1.delete(i0,A0),s1.insertText(i0,o0.pos,\" =>\"),[e.Diagnostics.Convert_function_expression_0_to_arrow_function,A0?A0.text:e.ANONYMOUS]):(s1.replaceNode(i0,Z,e.factory.createToken(84)),s1.insertText(i0,A0.end,\" = \"),s1.insertText(i0,o0.pos,\" =>\"),[e.Diagnostics.Convert_function_declaration_0_to_arrow_function,A0.text])}}s.registerCodeFix({errorCodes:J,getCodeActions:function(s1){var i0,H0=s1.sourceFile,E0=s1.program,I=s1.span,A=e.textChanges.ChangeTracker.with(s1,function(Z){i0=m0(Z,H0,I.start,E0.getTypeChecker())});return i0?[s.createCodeFixAction(X,A,i0,X,e.Diagnostics.Fix_all_implicit_this_errors)]:e.emptyArray},fixIds:[X],getAllCodeActions:function(s1){return s.codeFixAll(s1,J,function(i0,H0){m0(i0,H0.file,H0.start,s1.program.getTypeChecker())})}})})(e.codefix||(e.codefix={}))}(_0||(_0={})),function(e){var s,X,J;s=e.codefix||(e.codefix={}),X=\"fixIncorrectNamedTupleSyntax\",J=[e.Diagnostics.A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_colon_rather_than_after_the_type.code,e.Diagnostics.A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type.code],s.registerCodeFix({errorCodes:J,getCodeActions:function(m0){var s1=m0.sourceFile,i0=m0.span,H0=function(I,A){var Z=e.getTokenAtPosition(I,A);return e.findAncestor(Z,function(A0){return A0.kind===193})}(s1,i0.start),E0=e.textChanges.ChangeTracker.with(m0,function(I){return function(A,Z,A0){if(A0){for(var o0=A0.type,j=!1,G=!1;o0.kind===181||o0.kind===182||o0.kind===187;)o0.kind===181?j=!0:o0.kind===182&&(G=!0),o0=o0.type;var u0=e.factory.updateNamedTupleMember(A0,A0.dotDotDotToken||(G?e.factory.createToken(25):void 0),A0.name,A0.questionToken||(j?e.factory.createToken(57):void 0),o0);u0!==A0&&A.replaceNode(Z,A0,u0)}}(I,s1,H0)});return[s.createCodeFixAction(X,E0,e.Diagnostics.Move_labeled_tuple_element_modifiers_to_labels,X,e.Diagnostics.Move_labeled_tuple_element_modifiers_to_labels)]},fixIds:[X]})}(_0||(_0={})),function(e){(function(s){var X=\"fixSpelling\",J=[e.Diagnostics.Property_0_does_not_exist_on_type_1_Did_you_mean_2.code,e.Diagnostics.Cannot_find_name_0_Did_you_mean_1.code,e.Diagnostics.Cannot_find_name_0_Did_you_mean_the_instance_member_this_0.code,e.Diagnostics.Cannot_find_name_0_Did_you_mean_the_static_member_1_0.code,e.Diagnostics._0_has_no_exported_member_named_1_Did_you_mean_2.code,e.Diagnostics.No_overload_matches_this_call.code,e.Diagnostics.Type_0_is_not_assignable_to_type_1.code];function m0(i0,H0,E0,I){var A=e.getTokenAtPosition(i0,H0),Z=A.parent;if(I!==e.Diagnostics.No_overload_matches_this_call.code&&I!==e.Diagnostics.Type_0_is_not_assignable_to_type_1.code||e.isJsxAttribute(Z)){var A0,o0=E0.program.getTypeChecker();if(e.isPropertyAccessExpression(Z)&&Z.name===A){e.Debug.assert(e.isMemberName(A),\"Expected an identifier for spelling (property access)\");var j=o0.getTypeAtLocation(Z.expression);32&Z.flags&&(j=o0.getNonNullableType(j)),A0=o0.getSuggestedSymbolForNonexistentProperty(A,j)}else if(e.isQualifiedName(Z)&&Z.right===A){var G=o0.getSymbolAtLocation(Z.left);G&&1536&G.flags&&(A0=o0.getSuggestedSymbolForNonexistentModule(Z.right,G))}else if(e.isImportSpecifier(Z)&&Z.name===A){e.Debug.assertNode(A,e.isIdentifier,\"Expected an identifier for spelling (import)\");var u0=function(c0,D0,x0){if(!(!x0||!e.isStringLiteralLike(x0.moduleSpecifier))){var l0=e.getResolvedModule(c0,x0.moduleSpecifier.text);return l0?D0.program.getSourceFile(l0.resolvedFileName):void 0}}(i0,E0,e.findAncestor(A,e.isImportDeclaration));u0&&u0.symbol&&(A0=o0.getSuggestedSymbolForNonexistentModule(A,u0.symbol))}else if(e.isJsxAttribute(Z)&&Z.name===A){e.Debug.assertNode(A,e.isIdentifier,\"Expected an identifier for JSX attribute\");var U=e.findAncestor(A,e.isJsxOpeningLikeElement),g0=o0.getContextualTypeForArgumentAtIndex(U,0);A0=o0.getSuggestedSymbolForNonexistentJSXAttribute(A,g0)}else{var d0=e.getMeaningFromLocation(A),P0=e.getTextOfNode(A);e.Debug.assert(P0!==void 0,\"name should be defined\"),A0=o0.getSuggestedSymbolForNonexistentSymbol(A,P0,function(c0){var D0=0;return 4&c0&&(D0|=1920),2&c0&&(D0|=788968),1&c0&&(D0|=111551),D0}(d0))}return A0===void 0?void 0:{node:A,suggestedSymbol:A0}}}function s1(i0,H0,E0,I,A){var Z=e.symbolName(I);if(!e.isIdentifierText(Z,A)&&e.isPropertyAccessExpression(E0.parent)){var A0=I.valueDeclaration;A0&&e.isNamedDeclaration(A0)&&e.isPrivateIdentifier(A0.name)?i0.replaceNode(H0,E0,e.factory.createIdentifier(Z)):i0.replaceNode(H0,E0.parent,e.factory.createElementAccessExpression(E0.parent.expression,e.factory.createStringLiteral(Z)))}else i0.replaceNode(H0,E0,e.factory.createIdentifier(Z))}s.registerCodeFix({errorCodes:J,getCodeActions:function(i0){var H0=i0.sourceFile,E0=i0.errorCode,I=m0(H0,i0.span.start,i0,E0);if(I){var A=I.node,Z=I.suggestedSymbol,A0=i0.host.getCompilationSettings().target,o0=e.textChanges.ChangeTracker.with(i0,function(j){return s1(j,H0,A,Z,A0)});return[s.createCodeFixAction(\"spelling\",o0,[e.Diagnostics.Change_spelling_to_0,e.symbolName(Z)],X,e.Diagnostics.Fix_all_detected_spelling_errors)]}},fixIds:[X],getAllCodeActions:function(i0){return s.codeFixAll(i0,J,function(H0,E0){var I=m0(E0.file,E0.start,i0,E0.code),A=i0.host.getCompilationSettings().target;I&&s1(H0,i0.sourceFile,I.node,I.suggestedSymbol,A)})}})})(e.codefix||(e.codefix={}))}(_0||(_0={})),function(e){(function(s){var X,J=\"returnValueCorrect\",m0=\"fixAddReturnStatement\",s1=\"fixRemoveBracesFromArrowFunctionBody\",i0=\"fixWrapTheBlockWithParen\",H0=[e.Diagnostics.A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value.code,e.Diagnostics.Type_0_is_not_assignable_to_type_1.code,e.Diagnostics.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code];function E0(U,g0,d0){var P0=U.createSymbol(4,g0.escapedText);P0.type=U.getTypeAtLocation(d0);var c0=e.createSymbolTable([P0]);return U.createAnonymousType(void 0,c0,[],[],void 0,void 0)}function I(U,g0,d0,P0){if(g0.body&&e.isBlock(g0.body)&&e.length(g0.body.statements)===1){var c0=e.first(g0.body.statements);if(e.isExpressionStatement(c0)&&A(U,g0,U.getTypeAtLocation(c0.expression),d0,P0))return{declaration:g0,kind:X.MissingReturnStatement,expression:c0.expression,statement:c0,commentSource:c0.expression};if(e.isLabeledStatement(c0)&&e.isExpressionStatement(c0.statement)){var D0=e.factory.createObjectLiteralExpression([e.factory.createPropertyAssignment(c0.label,c0.statement.expression)]);if(A(U,g0,E0(U,c0.label,c0.statement.expression),d0,P0))return e.isArrowFunction(g0)?{declaration:g0,kind:X.MissingParentheses,expression:D0,statement:c0,commentSource:c0.statement.expression}:{declaration:g0,kind:X.MissingReturnStatement,expression:D0,statement:c0,commentSource:c0.statement.expression}}else if(e.isBlock(c0)&&e.length(c0.statements)===1){var x0=e.first(c0.statements);if(e.isLabeledStatement(x0)&&e.isExpressionStatement(x0.statement)&&(D0=e.factory.createObjectLiteralExpression([e.factory.createPropertyAssignment(x0.label,x0.statement.expression)]),A(U,g0,E0(U,x0.label,x0.statement.expression),d0,P0)))return{declaration:g0,kind:X.MissingReturnStatement,expression:D0,statement:c0,commentSource:x0}}}}function A(U,g0,d0,P0,c0){if(c0){var D0=U.getSignatureFromDeclaration(g0);if(D0){e.hasSyntacticModifier(g0,256)&&(d0=U.createPromiseType(d0));var x0=U.createSignature(g0,D0.typeParameters,D0.thisParameter,D0.parameters,d0,void 0,D0.minArgumentCount,D0.flags);d0=U.createAnonymousType(void 0,e.createSymbolTable(),[x0],[],void 0,void 0)}else d0=U.getAnyType()}return U.isTypeAssignableTo(d0,P0)}function Z(U,g0,d0,P0){var c0=e.getTokenAtPosition(g0,d0);if(c0.parent){var D0=e.findAncestor(c0.parent,e.isFunctionLikeDeclaration);switch(P0){case e.Diagnostics.A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value.code:return D0&&D0.body&&D0.type&&e.rangeContainsRange(D0.type,c0)?I(U,D0,U.getTypeFromTypeNode(D0.type),!1):void 0;case e.Diagnostics.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code:if(!D0||!e.isCallExpression(D0.parent)||!D0.body)return;var x0=D0.parent.arguments.indexOf(D0),l0=U.getContextualTypeForArgumentAtIndex(D0.parent,x0);return l0?I(U,D0,l0,!0):void 0;case e.Diagnostics.Type_0_is_not_assignable_to_type_1.code:if(!e.isDeclarationName(c0)||!e.isVariableLike(c0.parent)&&!e.isJsxAttribute(c0.parent))return;var w0=function(V){switch(V.kind){case 250:case 161:case 199:case 164:case 289:return V.initializer;case 281:return V.initializer&&(e.isJsxExpression(V.initializer)?V.initializer.expression:void 0);case 290:case 163:case 292:case 337:case 330:return}}(c0.parent);return!w0||!e.isFunctionLikeDeclaration(w0)||!w0.body?void 0:I(U,w0,U.getTypeAtLocation(c0.parent),!0)}}}function A0(U,g0,d0,P0){e.suppressLeadingAndTrailingTrivia(d0);var c0=e.probablyUsesSemicolons(g0);U.replaceNode(g0,P0,e.factory.createReturnStatement(d0),{leadingTriviaOption:e.textChanges.LeadingTriviaOption.Exclude,trailingTriviaOption:e.textChanges.TrailingTriviaOption.Exclude,suffix:c0?\";\":void 0})}function o0(U,g0,d0,P0,c0,D0){var x0=D0||e.needsParentheses(P0)?e.factory.createParenthesizedExpression(P0):P0;e.suppressLeadingAndTrailingTrivia(c0),e.copyComments(c0,x0),U.replaceNode(g0,d0.body,x0)}function j(U,g0,d0,P0){U.replaceNode(g0,d0.body,e.factory.createParenthesizedExpression(P0))}function G(U,g0,d0){var P0=e.textChanges.ChangeTracker.with(U,function(c0){return A0(c0,U.sourceFile,g0,d0)});return s.createCodeFixAction(J,P0,e.Diagnostics.Add_a_return_statement,m0,e.Diagnostics.Add_all_missing_return_statement)}function u0(U,g0,d0){var P0=e.textChanges.ChangeTracker.with(U,function(c0){return j(c0,U.sourceFile,g0,d0)});return s.createCodeFixAction(J,P0,e.Diagnostics.Wrap_the_following_body_with_parentheses_which_should_be_an_object_literal,i0,e.Diagnostics.Wrap_all_object_literal_with_parentheses)}(function(U){U[U.MissingReturnStatement=0]=\"MissingReturnStatement\",U[U.MissingParentheses=1]=\"MissingParentheses\"})(X||(X={})),s.registerCodeFix({errorCodes:H0,fixIds:[m0,s1,i0],getCodeActions:function(U){var g0=U.program,d0=U.sourceFile,P0=U.span.start,c0=U.errorCode,D0=Z(g0.getTypeChecker(),d0,P0,c0);if(D0)return D0.kind===X.MissingReturnStatement?e.append([G(U,D0.expression,D0.statement)],e.isArrowFunction(D0.declaration)?function(x0,l0,w0,V){var w=e.textChanges.ChangeTracker.with(x0,function(H){return o0(H,x0.sourceFile,l0,w0,V,!1)});return s.createCodeFixAction(J,w,e.Diagnostics.Remove_braces_from_arrow_function_body,s1,e.Diagnostics.Remove_braces_from_all_arrow_function_bodies_with_relevant_issues)}(U,D0.declaration,D0.expression,D0.commentSource):void 0):[u0(U,D0.declaration,D0.expression)]},getAllCodeActions:function(U){return s.codeFixAll(U,H0,function(g0,d0){var P0=Z(U.program.getTypeChecker(),d0.file,d0.start,d0.code);if(P0)switch(U.fixId){case m0:A0(g0,d0.file,P0.expression,P0.statement);break;case s1:if(!e.isArrowFunction(P0.declaration))return;o0(g0,d0.file,P0.declaration,P0.expression,P0.commentSource,!1);break;case i0:if(!e.isArrowFunction(P0.declaration))return;j(g0,d0.file,P0.declaration,P0.expression);break;default:e.Debug.fail(JSON.stringify(U.fixId))}})}})})(e.codefix||(e.codefix={}))}(_0||(_0={})),function(e){(function(s){var X,J=\"fixMissingMember\",m0=\"fixMissingFunctionDeclaration\",s1=[e.Diagnostics.Property_0_does_not_exist_on_type_1.code,e.Diagnostics.Property_0_does_not_exist_on_type_1_Did_you_mean_2.code,e.Diagnostics.Property_0_is_missing_in_type_1_but_required_in_type_2.code,e.Diagnostics.Type_0_is_missing_the_following_properties_from_type_1_Colon_2.code,e.Diagnostics.Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more.code,e.Diagnostics.Cannot_find_name_0.code];function i0(G,u0,U,g0){var d0=e.getTokenAtPosition(G,u0);if(e.isIdentifier(d0)||e.isPrivateIdentifier(d0)){var P0=d0.parent;if(e.isIdentifier(d0)&&e.isCallExpression(P0))return{kind:2,token:d0,call:P0,sourceFile:G,modifierFlags:0,parentDeclaration:G};if(e.isPropertyAccessExpression(P0)){var c0=e.skipConstraint(U.getTypeAtLocation(P0.expression)),D0=c0.symbol;if(D0&&D0.declarations){if(e.isIdentifier(d0)&&e.isCallExpression(P0.parent)){var x0=e.find(D0.declarations,e.isModuleDeclaration),l0=x0==null?void 0:x0.getSourceFile();if(x0&&l0&&!g0.isSourceFileFromExternalLibrary(l0))return{kind:2,token:d0,call:P0.parent,sourceFile:G,modifierFlags:1,parentDeclaration:x0};var w0=e.find(D0.declarations,e.isSourceFile);if(G.commonJsModuleIndicator)return;if(w0&&!g0.isSourceFileFromExternalLibrary(w0))return{kind:2,token:d0,call:P0.parent,sourceFile:w0,modifierFlags:1,parentDeclaration:w0}}var V=e.find(D0.declarations,e.isClassLike);if(V||!e.isPrivateIdentifier(d0)){var w=V||e.find(D0.declarations,e.isInterfaceDeclaration);if(w&&!g0.isSourceFileFromExternalLibrary(w.getSourceFile())){var H=(c0.target||c0)!==U.getDeclaredTypeOfSymbol(D0);if(H&&(e.isPrivateIdentifier(d0)||e.isInterfaceDeclaration(w)))return;var k0=w.getSourceFile(),V0=(H?32:0)|(e.startsWithUnderscore(d0.text)?8:0),t0=e.isSourceFileJS(k0);return{kind:1,token:d0,call:e.tryCast(P0.parent,e.isCallExpression),modifierFlags:V0,parentDeclaration:w,declSourceFile:k0,isJSFile:t0}}var f0=e.find(D0.declarations,e.isEnumDeclaration);return!f0||e.isPrivateIdentifier(d0)||g0.isSourceFileFromExternalLibrary(f0.getSourceFile())?void 0:{kind:0,token:d0,parentDeclaration:f0}}}}}}function H0(G,u0,U,g0,d0){var P0=g0.text;if(d0){if(U.kind===222)return;var c0=U.name.getText(),D0=E0(e.factory.createIdentifier(c0),P0);G.insertNodeAfter(u0,U,D0)}else if(e.isPrivateIdentifier(g0)){var x0=e.factory.createPropertyDeclaration(void 0,void 0,P0,void 0,void 0,void 0),l0=Z(U);l0?G.insertNodeAfter(u0,l0,x0):G.insertNodeAtClassStart(u0,U,x0)}else{var w0=e.getFirstConstructorWithBody(U);if(!w0)return;var V=E0(e.factory.createThis(),P0);G.insertNodeAtConstructorEnd(u0,w0,V)}}function E0(G,u0){return e.factory.createExpressionStatement(e.factory.createAssignment(e.factory.createPropertyAccessExpression(G,u0),e.factory.createIdentifier(\"undefined\")))}function I(G,u0,U){var g0;if(U.parent.parent.kind===217){var d0=U.parent.parent,P0=U.parent===d0.left?d0.right:d0.left,c0=G.getWidenedType(G.getBaseTypeOfLiteralType(G.getTypeAtLocation(P0)));g0=G.typeToTypeNode(c0,u0,1)}else{var D0=G.getContextualType(U.parent);g0=D0?G.typeToTypeNode(D0,void 0,1):void 0}return g0||e.factory.createKeywordTypeNode(128)}function A(G,u0,U,g0,d0,P0){var c0=e.factory.createPropertyDeclaration(void 0,P0?e.factory.createNodeArray(e.factory.createModifiersFromModifierFlags(P0)):void 0,g0,void 0,d0,void 0),D0=Z(U);D0?G.insertNodeAfter(u0,D0,c0):G.insertNodeAtClassStart(u0,U,c0)}function Z(G){for(var u0,U=0,g0=G.members;U<g0.length;U++){var d0=g0[U];if(!e.isPropertyDeclaration(d0))break;u0=d0}return u0}function A0(G,u0,U,g0,d0,P0,c0){var D0=s.createImportAdder(c0,G.program,G.preferences,G.host),x0=s.createSignatureDeclarationFromCallExpression(166,G,D0,U,g0,d0,P0),l0=e.findAncestor(U,function(w0){return e.isMethodDeclaration(w0)||e.isConstructorDeclaration(w0)});l0&&l0.parent===P0?u0.insertNodeAfter(c0,l0,x0):u0.insertNodeAtClassStart(c0,P0,x0),D0.writeFixes(u0)}function o0(G,u0,U){var g0=U.token,d0=U.parentDeclaration,P0=e.some(d0.members,function(D0){var x0=u0.getTypeAtLocation(D0);return!!(x0&&402653316&x0.flags)}),c0=e.factory.createEnumMember(g0,P0?e.factory.createStringLiteral(g0.text):void 0);G.replaceNode(d0.getSourceFile(),d0,e.factory.updateEnumDeclaration(d0,d0.decorators,d0.modifiers,d0.name,e.concatenate(d0.members,e.singleElementArray(c0))),{leadingTriviaOption:e.textChanges.LeadingTriviaOption.IncludeAll,trailingTriviaOption:e.textChanges.TrailingTriviaOption.Exclude})}function j(G,u0,U){var g0=s.createImportAdder(u0.sourceFile,u0.program,u0.preferences,u0.host),d0=s.createSignatureDeclarationFromCallExpression(252,u0,g0,U.call,e.idText(U.token),U.modifierFlags,U.parentDeclaration);G.insertNodeAtEndOfScope(U.sourceFile,U.parentDeclaration,d0)}s.registerCodeFix({errorCodes:s1,getCodeActions:function(G){var u0=G.program.getTypeChecker(),U=i0(G.sourceFile,G.span.start,u0,G.program);if(U){if(U.kind===2){var g0=e.textChanges.ChangeTracker.with(G,function(d0){return j(d0,G,U)});return[s.createCodeFixAction(m0,g0,[e.Diagnostics.Add_missing_function_declaration_0,U.token.text],m0,e.Diagnostics.Add_all_missing_function_declarations)]}return U.kind===0?(g0=e.textChanges.ChangeTracker.with(G,function(d0){return o0(d0,G.program.getTypeChecker(),U)}),[s.createCodeFixAction(J,g0,[e.Diagnostics.Add_missing_enum_member_0,U.token.text],J,e.Diagnostics.Add_all_missing_members)]):e.concatenate(function(d0,P0){var c0=P0.parentDeclaration,D0=P0.declSourceFile,x0=P0.modifierFlags,l0=P0.token,w0=P0.call;if(w0!==void 0&&!e.isPrivateIdentifier(l0)){var V=l0.text,w=function(k0){return e.textChanges.ChangeTracker.with(d0,function(V0){return A0(d0,V0,w0,l0,k0,c0,D0)})},H=[s.createCodeFixAction(J,w(32&x0),[32&x0?e.Diagnostics.Declare_static_method_0:e.Diagnostics.Declare_method_0,V],J,e.Diagnostics.Add_all_missing_members)];return 8&x0&&H.unshift(s.createCodeFixActionWithoutFixAll(J,w(8),[e.Diagnostics.Declare_private_method_0,V])),H}}(G,U),function(d0,P0){return P0.isJSFile?e.singleElementArray(function(c0,D0){var x0=D0.parentDeclaration,l0=D0.declSourceFile,w0=D0.modifierFlags,V=D0.token;if(!e.isInterfaceDeclaration(x0)){var w=e.textChanges.ChangeTracker.with(c0,function(k0){return H0(k0,l0,x0,V,!!(32&w0))});if(w.length!==0){var H=32&w0?e.Diagnostics.Initialize_static_property_0:e.isPrivateIdentifier(V)?e.Diagnostics.Declare_a_private_field_named_0:e.Diagnostics.Initialize_property_0_in_the_constructor;return s.createCodeFixAction(J,w,[H,V.text],J,e.Diagnostics.Add_all_missing_members)}}}(d0,P0)):function(c0,D0){var x0=D0.parentDeclaration,l0=D0.declSourceFile,w0=D0.modifierFlags,V=D0.token,w=V.text,H=32&w0,k0=I(c0.program.getTypeChecker(),x0,V),V0=function(f0){return e.textChanges.ChangeTracker.with(c0,function(y0){return A(y0,l0,x0,w,k0,f0)})},t0=[s.createCodeFixAction(J,V0(32&w0),[H?e.Diagnostics.Declare_static_property_0:e.Diagnostics.Declare_property_0,w],J,e.Diagnostics.Add_all_missing_members)];return H||e.isPrivateIdentifier(V)?t0:(8&w0&&t0.unshift(s.createCodeFixActionWithoutFixAll(J,V0(8),[e.Diagnostics.Declare_private_property_0,w])),t0.push(function(f0,y0,G0,d1,h1){var S1=e.factory.createKeywordTypeNode(147),Q1=e.factory.createParameterDeclaration(void 0,void 0,void 0,\"x\",void 0,S1,void 0),Y0=e.factory.createIndexSignature(void 0,void 0,[Q1],h1),$1=e.textChanges.ChangeTracker.with(f0,function(Z1){return Z1.insertNodeAtClassStart(y0,G0,Y0)});return s.createCodeFixActionWithoutFixAll(J,$1,[e.Diagnostics.Add_index_signature_for_property_0,d1])}(c0,l0,x0,V.text,k0)),t0)}(d0,P0)}(G,U))}},fixIds:[J,m0],getAllCodeActions:function(G){var u0=G.program,U=G.fixId,g0=u0.getTypeChecker(),d0=new e.Map,P0=new e.Map;return s.createCombinedCodeActions(e.textChanges.ChangeTracker.with(G,function(c0){s.eachDiagnostic(G,s1,function(D0){var x0=i0(D0.file,D0.start,g0,G.program);if(x0&&e.addToSeen(d0,e.getNodeId(x0.parentDeclaration)+\"#\"+x0.token.text)){if(U===m0)x0.kind===2&&j(c0,G,x0);else if(x0.kind===0&&o0(c0,g0,x0),x0.kind===1){var l0=x0.parentDeclaration,w0=x0.token,V=e.getOrUpdate(P0,l0,function(){return[]});V.some(function(w){return w.token.text===w0.text})||V.push(x0)}}}),P0.forEach(function(D0,x0){for(var l0=s.getAllSupers(x0,g0),w0=function(H){if(l0.some(function(h1){var S1=P0.get(h1);return!!S1&&S1.some(function(Q1){return Q1.token.text===H.token.text})}))return\"continue\";var k0=H.parentDeclaration,V0=H.declSourceFile,t0=H.modifierFlags,f0=H.token,y0=H.call,G0=H.isJSFile;if(y0&&!e.isPrivateIdentifier(f0))A0(G,c0,y0,f0,32&t0,k0,V0);else if(G0&&!e.isInterfaceDeclaration(k0))H0(c0,V0,k0,f0,!!(32&t0));else{var d1=I(u0.getTypeChecker(),k0,f0);A(c0,V0,k0,f0.text,d1,32&t0)}},V=0,w=D0;V<w.length;V++)w0(w[V])})}))}}),function(G){G[G.Enum=0]=\"Enum\",G[G.ClassOrInterface=1]=\"ClassOrInterface\",G[G.Function=2]=\"Function\"}(X||(X={}))})(e.codefix||(e.codefix={}))}(_0||(_0={})),function(e){(function(s){var X=\"addMissingNewOperator\",J=[e.Diagnostics.Value_of_type_0_is_not_callable_Did_you_mean_to_include_new.code];function m0(s1,i0,H0){var E0=e.cast(function(A,Z){for(var A0=e.getTokenAtPosition(A,Z.start),o0=e.textSpanEnd(Z);A0.end<o0;)A0=A0.parent;return A0}(i0,H0),e.isCallExpression),I=e.factory.createNewExpression(E0.expression,E0.typeArguments,E0.arguments);s1.replaceNode(i0,E0,I)}s.registerCodeFix({errorCodes:J,getCodeActions:function(s1){var i0=s1.sourceFile,H0=s1.span,E0=e.textChanges.ChangeTracker.with(s1,function(I){return m0(I,i0,H0)});return[s.createCodeFixAction(X,E0,e.Diagnostics.Add_missing_new_operator_to_call,X,e.Diagnostics.Add_missing_new_operator_to_all_calls)]},fixIds:[X],getAllCodeActions:function(s1){return s.codeFixAll(s1,J,function(i0,H0){return m0(i0,s1.sourceFile,H0)})}})})(e.codefix||(e.codefix={}))}(_0||(_0={})),function(e){(function(s){var X=\"installTypesPackage\",J=e.Diagnostics.Cannot_find_module_0_or_its_corresponding_type_declarations.code,m0=[J,e.Diagnostics.Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type.code];function s1(E0,I){return{type:\"install package\",file:E0,packageName:I}}function i0(E0,I){var A=e.tryCast(e.getTokenAtPosition(E0,I),e.isStringLiteral);if(A){var Z=A.text,A0=e.parsePackageName(Z).packageName;return e.isExternalModuleNameRelative(A0)?void 0:A0}}function H0(E0,I,A){var Z;return A===J?e.JsTyping.nodeCoreModules.has(E0)?\"@types/node\":void 0:((Z=I.isKnownTypesPackageName)===null||Z===void 0?void 0:Z.call(I,E0))?e.getTypesPackageName(E0):void 0}s.registerCodeFix({errorCodes:m0,getCodeActions:function(E0){var I=E0.host,A=E0.sourceFile,Z=i0(A,E0.span.start);if(Z!==void 0){var A0=H0(Z,I,E0.errorCode);return A0===void 0?[]:[s.createCodeFixAction(\"fixCannotFindModule\",[],[e.Diagnostics.Install_0,A0],X,e.Diagnostics.Install_all_missing_types_packages,s1(A.fileName,A0))]}},fixIds:[X],getAllCodeActions:function(E0){return s.codeFixAll(E0,m0,function(I,A,Z){var A0=i0(A.file,A.start);if(A0!==void 0)switch(E0.fixId){case X:var o0=H0(A0,E0.host,A.code);o0&&Z.push(s1(A.file.fileName,o0));break;default:e.Debug.fail(\"Bad fixId: \"+E0.fixId)}})}})})(e.codefix||(e.codefix={}))}(_0||(_0={})),function(e){(function(s){var X=[e.Diagnostics.Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2.code,e.Diagnostics.Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1.code],J=\"fixClassDoesntImplementInheritedAbstractMember\";function m0(H0,E0){var I=e.getTokenAtPosition(H0,E0);return e.cast(I.parent,e.isClassLike)}function s1(H0,E0,I,A,Z){var A0=e.getEffectiveBaseTypeNode(H0),o0=I.program.getTypeChecker(),j=o0.getTypeAtLocation(A0),G=o0.getPropertiesOfType(j).filter(i0),u0=s.createImportAdder(E0,I.program,Z,I.host);s.createMissingMemberNodes(H0,G,E0,I,Z,u0,function(U){return A.insertNodeAtClassStart(E0,H0,U)}),u0.writeFixes(A)}function i0(H0){var E0=e.getSyntacticModifierFlags(e.first(H0.getDeclarations()));return!(8&E0||!(128&E0))}s.registerCodeFix({errorCodes:X,getCodeActions:function(H0){var E0=H0.sourceFile,I=H0.span,A=e.textChanges.ChangeTracker.with(H0,function(Z){return s1(m0(E0,I.start),E0,H0,Z,H0.preferences)});return A.length===0?void 0:[s.createCodeFixAction(J,A,e.Diagnostics.Implement_inherited_abstract_class,J,e.Diagnostics.Implement_all_inherited_abstract_classes)]},fixIds:[J],getAllCodeActions:function(H0){var E0=new e.Map;return s.codeFixAll(H0,X,function(I,A){var Z=m0(A.file,A.start);e.addToSeen(E0,e.getNodeId(Z))&&s1(Z,H0.sourceFile,H0,I,H0.preferences)})}})})(e.codefix||(e.codefix={}))}(_0||(_0={})),function(e){(function(s){var X=\"classSuperMustPrecedeThisAccess\",J=[e.Diagnostics.super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class.code];function m0(H0,E0,I,A){H0.insertNodeAtConstructorStart(E0,I,A),H0.delete(E0,A)}function s1(H0,E0){var I=e.getTokenAtPosition(H0,E0);if(I.kind===107){var A=e.getContainingFunction(I),Z=i0(A.body);return Z&&!Z.expression.arguments.some(function(A0){return e.isPropertyAccessExpression(A0)&&A0.expression===I})?{constructor:A,superCall:Z}:void 0}}function i0(H0){return e.isExpressionStatement(H0)&&e.isSuperCall(H0.expression)?H0:e.isFunctionLike(H0)?void 0:e.forEachChild(H0,i0)}s.registerCodeFix({errorCodes:J,getCodeActions:function(H0){var E0=H0.sourceFile,I=H0.span,A=s1(E0,I.start);if(A){var Z=A.constructor,A0=A.superCall,o0=e.textChanges.ChangeTracker.with(H0,function(j){return m0(j,E0,Z,A0)});return[s.createCodeFixAction(X,o0,e.Diagnostics.Make_super_call_the_first_statement_in_the_constructor,X,e.Diagnostics.Make_all_super_calls_the_first_statement_in_their_constructor)]}},fixIds:[X],getAllCodeActions:function(H0){var E0=H0.sourceFile,I=new e.Map;return s.codeFixAll(H0,J,function(A,Z){var A0=s1(Z.file,Z.start);if(A0){var o0=A0.constructor,j=A0.superCall;e.addToSeen(I,e.getNodeId(o0.parent))&&m0(A,E0,o0,j)}})}})})(e.codefix||(e.codefix={}))}(_0||(_0={})),function(e){(function(s){var X=\"constructorForDerivedNeedSuperCall\",J=[e.Diagnostics.Constructors_for_derived_classes_must_contain_a_super_call.code];function m0(i0,H0){var E0=e.getTokenAtPosition(i0,H0);return e.Debug.assert(e.isConstructorDeclaration(E0.parent),\"token should be at the constructor declaration\"),E0.parent}function s1(i0,H0,E0){var I=e.factory.createExpressionStatement(e.factory.createCallExpression(e.factory.createSuper(),void 0,e.emptyArray));i0.insertNodeAtConstructorStart(H0,E0,I)}s.registerCodeFix({errorCodes:J,getCodeActions:function(i0){var H0=i0.sourceFile,E0=i0.span,I=m0(H0,E0.start),A=e.textChanges.ChangeTracker.with(i0,function(Z){return s1(Z,H0,I)});return[s.createCodeFixAction(X,A,e.Diagnostics.Add_missing_super_call,X,e.Diagnostics.Add_all_missing_super_calls)]},fixIds:[X],getAllCodeActions:function(i0){return s.codeFixAll(i0,J,function(H0,E0){return s1(H0,i0.sourceFile,m0(E0.file,E0.start))})}})})(e.codefix||(e.codefix={}))}(_0||(_0={})),function(e){(function(s){var X=\"enableExperimentalDecorators\",J=[e.Diagnostics.Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_the_experimentalDecorators_option_in_your_tsconfig_or_jsconfig_to_remove_this_warning.code];function m0(s1,i0){s.setJsonCompilerOptionValue(s1,i0,\"experimentalDecorators\",e.factory.createTrue())}s.registerCodeFix({errorCodes:J,getCodeActions:function(s1){var i0=s1.program.getCompilerOptions().configFile;if(i0!==void 0){var H0=e.textChanges.ChangeTracker.with(s1,function(E0){return m0(E0,i0)});return[s.createCodeFixActionWithoutFixAll(X,H0,e.Diagnostics.Enable_the_experimentalDecorators_option_in_your_configuration_file)]}},fixIds:[X],getAllCodeActions:function(s1){return s.codeFixAll(s1,J,function(i0){var H0=s1.program.getCompilerOptions().configFile;H0!==void 0&&m0(i0,H0)})}})})(e.codefix||(e.codefix={}))}(_0||(_0={})),function(e){(function(s){var X=\"fixEnableJsxFlag\",J=[e.Diagnostics.Cannot_use_JSX_unless_the_jsx_flag_is_provided.code];function m0(s1,i0){s.setJsonCompilerOptionValue(s1,i0,\"jsx\",e.factory.createStringLiteral(\"react\"))}s.registerCodeFix({errorCodes:J,getCodeActions:function(s1){var i0=s1.program.getCompilerOptions().configFile;if(i0!==void 0){var H0=e.textChanges.ChangeTracker.with(s1,function(E0){return m0(E0,i0)});return[s.createCodeFixActionWithoutFixAll(X,H0,e.Diagnostics.Enable_the_jsx_flag_in_your_configuration_file)]}},fixIds:[X],getAllCodeActions:function(s1){return s.codeFixAll(s1,J,function(i0){var H0=s1.program.getCompilerOptions().configFile;H0!==void 0&&m0(i0,H0)})}})})(e.codefix||(e.codefix={}))}(_0||(_0={})),function(e){var s;(s=e.codefix||(e.codefix={})).registerCodeFix({errorCodes:[e.Diagnostics.Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_esnext_or_system_and_the_target_option_is_set_to_es2017_or_higher.code,e.Diagnostics.Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_esnext_or_system_and_the_target_option_is_set_to_es2017_or_higher.code],getCodeActions:function(X){var J=X.program.getCompilerOptions(),m0=J.configFile;if(m0!==void 0){var s1=[],i0=e.getEmitModuleKind(J);if(i0>=e.ModuleKind.ES2015&&i0<e.ModuleKind.ESNext){var H0=e.textChanges.ChangeTracker.with(X,function(I){s.setJsonCompilerOptionValue(I,m0,\"module\",e.factory.createStringLiteral(\"esnext\"))});s1.push(s.createCodeFixActionWithoutFixAll(\"fixModuleOption\",H0,[e.Diagnostics.Set_the_module_option_in_your_configuration_file_to_0,\"esnext\"]))}var E0=e.getEmitScriptTarget(J);return(E0<4||E0>99)&&(H0=e.textChanges.ChangeTracker.with(X,function(I){if(e.getTsConfigObjectLiteralExpression(m0)){var A=[[\"target\",e.factory.createStringLiteral(\"es2017\")]];i0===e.ModuleKind.CommonJS&&A.push([\"module\",e.factory.createStringLiteral(\"commonjs\")]),s.setJsonCompilerOptionValues(I,m0,A)}}),s1.push(s.createCodeFixActionWithoutFixAll(\"fixTargetOption\",H0,[e.Diagnostics.Set_the_target_option_in_your_configuration_file_to_0,\"es2017\"]))),s1.length?s1:void 0}}})}(_0||(_0={})),function(e){(function(s){var X=\"fixPropertyAssignment\",J=[e.Diagnostics.Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_part_of_a_destructuring_pattern.code];function m0(i0,H0,E0){i0.replaceNode(H0,E0,e.factory.createPropertyAssignment(E0.name,E0.objectAssignmentInitializer))}function s1(i0,H0){return e.cast(e.getTokenAtPosition(i0,H0).parent,e.isShorthandPropertyAssignment)}s.registerCodeFix({errorCodes:J,fixIds:[X],getCodeActions:function(i0){var H0=s1(i0.sourceFile,i0.span.start),E0=e.textChanges.ChangeTracker.with(i0,function(I){return m0(I,i0.sourceFile,H0)});return[s.createCodeFixAction(X,E0,[e.Diagnostics.Change_0_to_1,\"=\",\":\"],X,[e.Diagnostics.Switch_each_misused_0_to_1,\"=\",\":\"])]},getAllCodeActions:function(i0){return s.codeFixAll(i0,J,function(H0,E0){return m0(H0,E0.file,s1(E0.file,E0.start))})}})})(e.codefix||(e.codefix={}))}(_0||(_0={})),function(e){(function(s){var X=\"extendsInterfaceBecomesImplements\",J=[e.Diagnostics.Cannot_extend_an_interface_0_Did_you_mean_implements.code];function m0(i0,H0){var E0=e.getTokenAtPosition(i0,H0),I=e.getContainingClass(E0).heritageClauses,A=I[0].getFirstToken();return A.kind===93?{extendsToken:A,heritageClauses:I}:void 0}function s1(i0,H0,E0,I){if(i0.replaceNode(H0,E0,e.factory.createToken(116)),I.length===2&&I[0].token===93&&I[1].token===116){var A=I[1].getFirstToken(),Z=A.getFullStart();i0.replaceRange(H0,{pos:Z,end:Z},e.factory.createToken(27));for(var A0=H0.text,o0=A.end;o0<A0.length&&e.isWhiteSpaceSingleLine(A0.charCodeAt(o0));)o0++;i0.deleteRange(H0,{pos:A.getStart(),end:o0})}}s.registerCodeFix({errorCodes:J,getCodeActions:function(i0){var H0=i0.sourceFile,E0=m0(H0,i0.span.start);if(E0){var I=E0.extendsToken,A=E0.heritageClauses,Z=e.textChanges.ChangeTracker.with(i0,function(A0){return s1(A0,H0,I,A)});return[s.createCodeFixAction(X,Z,e.Diagnostics.Change_extends_to_implements,X,e.Diagnostics.Change_all_extended_interfaces_to_implements)]}},fixIds:[X],getAllCodeActions:function(i0){return s.codeFixAll(i0,J,function(H0,E0){var I=m0(E0.file,E0.start);I&&s1(H0,E0.file,I.extendsToken,I.heritageClauses)})}})})(e.codefix||(e.codefix={}))}(_0||(_0={})),function(e){(function(s){var X=\"forgottenThisPropertyAccess\",J=e.Diagnostics.Cannot_find_name_0_Did_you_mean_the_static_member_1_0.code,m0=[e.Diagnostics.Cannot_find_name_0_Did_you_mean_the_instance_member_this_0.code,e.Diagnostics.Private_identifiers_are_not_allowed_outside_class_bodies.code,J];function s1(H0,E0,I){var A=e.getTokenAtPosition(H0,E0);if(e.isIdentifier(A))return{node:A,className:I===J?e.getContainingClass(A).name.text:void 0}}function i0(H0,E0,I){var A=I.node,Z=I.className;e.suppressLeadingAndTrailingTrivia(A),H0.replaceNode(E0,A,e.factory.createPropertyAccessExpression(Z?e.factory.createIdentifier(Z):e.factory.createThis(),A))}s.registerCodeFix({errorCodes:m0,getCodeActions:function(H0){var E0=H0.sourceFile,I=s1(E0,H0.span.start,H0.errorCode);if(I){var A=e.textChanges.ChangeTracker.with(H0,function(Z){return i0(Z,E0,I)});return[s.createCodeFixAction(X,A,[e.Diagnostics.Add_0_to_unresolved_variable,I.className||\"this\"],X,e.Diagnostics.Add_qualifier_to_all_unresolved_variables_matching_a_member_name)]}},fixIds:[X],getAllCodeActions:function(H0){return s.codeFixAll(H0,m0,function(E0,I){var A=s1(I.file,I.start,I.code);A&&i0(E0,H0.sourceFile,A)})}})})(e.codefix||(e.codefix={}))}(_0||(_0={})),function(e){(function(s){var X=\"fixInvalidJsxCharacters_expression\",J=\"fixInvalidJsxCharacters_htmlEntity\",m0=[e.Diagnostics.Unexpected_token_Did_you_mean_or_gt.code,e.Diagnostics.Unexpected_token_Did_you_mean_or_rbrace.code];s.registerCodeFix({errorCodes:m0,fixIds:[X,J],getCodeActions:function(H0){var E0=H0.sourceFile,I=H0.preferences,A=H0.span,Z=e.textChanges.ChangeTracker.with(H0,function(o0){return i0(o0,I,E0,A.start,!1)}),A0=e.textChanges.ChangeTracker.with(H0,function(o0){return i0(o0,I,E0,A.start,!0)});return[s.createCodeFixAction(X,Z,e.Diagnostics.Wrap_invalid_character_in_an_expression_container,X,e.Diagnostics.Wrap_all_invalid_characters_in_an_expression_container),s.createCodeFixAction(J,A0,e.Diagnostics.Convert_invalid_character_to_its_html_entity_code,J,e.Diagnostics.Convert_all_invalid_characters_to_HTML_entity_code)]},getAllCodeActions:function(H0){return s.codeFixAll(H0,m0,function(E0,I){return i0(E0,H0.preferences,I.file,I.start,H0.fixId===J)})}});var s1={\">\":\"&gt;\",\"}\":\"&rbrace;\"};function i0(H0,E0,I,A,Z){var A0=I.getText()[A];if(function(j){return e.hasProperty(s1,j)}(A0)){var o0=Z?s1[A0]:\"{\"+e.quote(I,E0,A0)+\"}\";H0.replaceRangeWithText(I,{pos:A,end:A+1},o0)}}})(e.codefix||(e.codefix={}))}(_0||(_0={})),function(e){(function(s){var X=\"unusedIdentifier\",J=\"unusedIdentifier_prefix\",m0=\"unusedIdentifier_delete\",s1=\"unusedIdentifier_deleteImports\",i0=\"unusedIdentifier_infer\",H0=[e.Diagnostics._0_is_declared_but_its_value_is_never_read.code,e.Diagnostics._0_is_declared_but_never_used.code,e.Diagnostics.Property_0_is_declared_but_its_value_is_never_read.code,e.Diagnostics.All_imports_in_import_declaration_are_unused.code,e.Diagnostics.All_destructured_elements_are_unused.code,e.Diagnostics.All_variables_are_unused.code,e.Diagnostics.All_type_parameters_are_unused.code];function E0(d0,P0,c0){d0.replaceNode(P0,c0.parent,e.factory.createKeywordTypeNode(152))}function I(d0,P0){return s.createCodeFixAction(X,d0,P0,m0,e.Diagnostics.Delete_all_unused_declarations)}function A(d0,P0,c0){d0.delete(P0,e.Debug.checkDefined(e.cast(c0.parent,e.isDeclarationWithTypeParameterChildren).typeParameters,\"The type parameter to delete should exist\"))}function Z(d0){return d0.kind===99||d0.kind===78&&(d0.parent.kind===266||d0.parent.kind===263)}function A0(d0){return d0.kind===99?e.tryCast(d0.parent,e.isImportDeclaration):void 0}function o0(d0,P0){return e.isVariableDeclarationList(P0.parent)&&e.first(P0.parent.getChildren(d0))===P0}function j(d0,P0,c0){d0.delete(P0,c0.parent.kind===233?c0.parent:c0)}function G(d0,P0,c0,D0){P0!==e.Diagnostics.Property_0_is_declared_but_its_value_is_never_read.code&&(D0.kind===135&&(D0=e.cast(D0.parent,e.isInferTypeNode).typeParameter.name),e.isIdentifier(D0)&&function(x0){switch(x0.parent.kind){case 161:case 160:return!0;case 250:switch(x0.parent.parent.parent.kind){case 240:case 239:return!0}}return!1}(D0)&&(d0.replaceNode(c0,D0,e.factory.createIdentifier(\"_\"+D0.text)),e.isParameter(D0.parent)&&e.getJSDocParameterTags(D0.parent).forEach(function(x0){e.isIdentifier(x0.name)&&d0.replaceNode(c0,x0.name,e.factory.createIdentifier(\"_\"+x0.name.text))})))}function u0(d0,P0,c0,D0,x0,l0,w0,V){(function(w,H,k0,V0,t0,f0,y0,G0){var d1=w.parent;if(e.isParameter(d1))(function(S1,Q1,Y0,$1,Z1,Q0,y1,k1){k1===void 0&&(k1=!1),function(I1,K0,G1,Nx,n1,S0,I0){var U0=G1.parent;switch(U0.kind){case 166:case 167:var p0=U0.parameters.indexOf(G1),p1=e.isMethodDeclaration(U0)?U0.name:U0,Y1=e.FindAllReferences.Core.getReferencedSymbolsForNode(U0.pos,p1,n1,Nx,S0);if(Y1)for(var N1=0,V1=Y1;N1<V1.length;N1++)for(var Ox=0,$x=V1[N1].references;Ox<$x.length;Ox++){var rx=$x[Ox];if(rx.kind===1){var O0=e.isSuperKeyword(rx.node)&&e.isCallExpression(rx.node.parent)&&rx.node.parent.arguments.length>p0,C1=e.isPropertyAccessExpression(rx.node.parent)&&e.isSuperKeyword(rx.node.parent.expression)&&e.isCallExpression(rx.node.parent.parent)&&rx.node.parent.parent.arguments.length>p0,nx=(e.isMethodDeclaration(rx.node.parent)||e.isMethodSignature(rx.node.parent))&&rx.node.parent!==G1.parent&&rx.node.parent.parameters.length>p0;if(O0||C1||nx)return!1}}return!0;case 252:return!U0.name||!function(O,b1,Px){return!!e.FindAllReferences.Core.eachSymbolReferenceInFile(Px,O,b1,function(me){return e.isIdentifier(me)&&e.isCallExpression(me.parent)&&me.parent.arguments.indexOf(me)>=0})}(I1,K0,U0.name)||g0(U0,G1,I0);case 209:case 210:return g0(U0,G1,I0);case 169:return!1;default:return e.Debug.failBadSyntaxKind(U0)}}($1,Q1,Y0,Z1,Q0,y1,k1)&&(Y0.modifiers&&Y0.modifiers.length>0&&(!e.isIdentifier(Y0.name)||e.FindAllReferences.Core.isSymbolReferencedInFile(Y0.name,$1,Q1))?Y0.modifiers.forEach(function(I1){return S1.deleteModifier(Q1,I1)}):!Y0.initializer&&U(Y0,$1,Z1)&&S1.delete(Q1,Y0))})(H,k0,d1,V0,t0,f0,y0,G0);else if(!(G0&&e.isIdentifier(w)&&e.FindAllReferences.Core.isSymbolReferencedInFile(w,V0,k0))){var h1=e.isImportClause(d1)?w:e.isComputedPropertyName(d1)?d1.parent:d1;e.Debug.assert(h1!==k0,\"should not delete whole source file\"),H.delete(k0,h1)}})(P0,c0,d0,D0,x0,l0,w0,V),e.isIdentifier(P0)&&e.FindAllReferences.Core.eachSymbolReferenceInFile(P0,D0,d0,function(w){e.isPropertyAccessExpression(w.parent)&&w.parent.name===w&&(w=w.parent),!V&&function(H){return(e.isBinaryExpression(H.parent)&&H.parent.left===H||(e.isPostfixUnaryExpression(H.parent)||e.isPrefixUnaryExpression(H.parent))&&H.parent.operand===H)&&e.isExpressionStatement(H.parent.parent)}(w)&&c0.delete(d0,w.parent.parent)})}function U(d0,P0,c0){var D0=d0.parent.parameters.indexOf(d0);return!e.FindAllReferences.Core.someSignatureUsage(d0.parent,c0,P0,function(x0,l0){return!l0||l0.arguments.length>D0})}function g0(d0,P0,c0){var D0=d0.parameters,x0=D0.indexOf(P0);return e.Debug.assert(x0!==-1,\"The parameter should already be in the list\"),c0?D0.slice(x0+1).every(function(l0){return e.isIdentifier(l0.name)&&!l0.symbol.isReferenced}):x0===D0.length-1}s.registerCodeFix({errorCodes:H0,getCodeActions:function(d0){var P0=d0.errorCode,c0=d0.sourceFile,D0=d0.program,x0=d0.cancellationToken,l0=D0.getTypeChecker(),w0=D0.getSourceFiles(),V=e.getTokenAtPosition(c0,d0.span.start);if(e.isJSDocTemplateTag(V))return[I(e.textChanges.ChangeTracker.with(d0,function(d1){return d1.delete(c0,V)}),e.Diagnostics.Remove_template_tag)];if(V.kind===29)return[I(H=e.textChanges.ChangeTracker.with(d0,function(d1){return A(d1,c0,V)}),e.Diagnostics.Remove_type_parameters)];var w=A0(V);if(w){var H=e.textChanges.ChangeTracker.with(d0,function(d1){return d1.delete(c0,w)});return[s.createCodeFixAction(X,H,[e.Diagnostics.Remove_import_from_0,e.showModuleSpecifier(w)],s1,e.Diagnostics.Delete_all_unused_imports)]}if(Z(V)&&(y0=e.textChanges.ChangeTracker.with(d0,function(d1){return u0(c0,V,d1,l0,w0,D0,x0,!1)})).length)return[s.createCodeFixAction(X,y0,[e.Diagnostics.Remove_unused_declaration_for_Colon_0,V.getText(c0)],s1,e.Diagnostics.Delete_all_unused_imports)];if(e.isObjectBindingPattern(V.parent)||e.isArrayBindingPattern(V.parent)){if(e.isParameter(V.parent.parent)){var k0=V.parent.elements,V0=[k0.length>1?e.Diagnostics.Remove_unused_declarations_for_Colon_0:e.Diagnostics.Remove_unused_declaration_for_Colon_0,e.map(k0,function(d1){return d1.getText(c0)}).join(\", \")];return[I(e.textChanges.ChangeTracker.with(d0,function(d1){return function(h1,S1,Q1){e.forEach(Q1.elements,function(Y0){return h1.delete(S1,Y0)})}(d1,c0,V.parent)}),V0)]}return[I(e.textChanges.ChangeTracker.with(d0,function(d1){return d1.delete(c0,V.parent.parent)}),e.Diagnostics.Remove_unused_destructuring_declaration)]}if(o0(c0,V))return[I(e.textChanges.ChangeTracker.with(d0,function(d1){return j(d1,c0,V.parent)}),e.Diagnostics.Remove_variable_statement)];var t0=[];if(V.kind===135){H=e.textChanges.ChangeTracker.with(d0,function(d1){return E0(d1,c0,V)});var f0=e.cast(V.parent,e.isInferTypeNode).typeParameter.name.text;t0.push(s.createCodeFixAction(X,H,[e.Diagnostics.Replace_infer_0_with_unknown,f0],i0,e.Diagnostics.Replace_all_unused_infer_with_unknown))}else{var y0;(y0=e.textChanges.ChangeTracker.with(d0,function(d1){return u0(c0,V,d1,l0,w0,D0,x0,!1)})).length&&(f0=e.isComputedPropertyName(V.parent)?V.parent:V,t0.push(I(y0,[e.Diagnostics.Remove_unused_declaration_for_Colon_0,f0.getText(c0)])))}var G0=e.textChanges.ChangeTracker.with(d0,function(d1){return G(d1,P0,c0,V)});return G0.length&&t0.push(s.createCodeFixAction(X,G0,[e.Diagnostics.Prefix_0_with_an_underscore,V.getText(c0)],J,e.Diagnostics.Prefix_all_unused_declarations_with_where_possible)),t0},fixIds:[J,m0,s1,i0],getAllCodeActions:function(d0){var P0=d0.sourceFile,c0=d0.program,D0=d0.cancellationToken,x0=c0.getTypeChecker(),l0=c0.getSourceFiles();return s.codeFixAll(d0,H0,function(w0,V){var w=e.getTokenAtPosition(P0,V.start);switch(d0.fixId){case J:G(w0,V.code,P0,w);break;case s1:var H=A0(w);H?w0.delete(P0,H):Z(w)&&u0(P0,w,w0,x0,l0,c0,D0,!0);break;case m0:if(w.kind===135||Z(w))break;if(e.isJSDocTemplateTag(w))w0.delete(P0,w);else if(w.kind===29)A(w0,P0,w);else if(e.isObjectBindingPattern(w.parent)){if(w.parent.parent.initializer)break;e.isParameter(w.parent.parent)&&!U(w.parent.parent,x0,l0)||w0.delete(P0,w.parent.parent)}else{if(e.isArrayBindingPattern(w.parent.parent)&&w.parent.parent.parent.initializer)break;o0(P0,w)?j(w0,P0,w.parent):u0(P0,w,w0,x0,l0,c0,D0,!0)}break;case i0:w.kind===135&&E0(w0,P0,w);break;default:e.Debug.fail(JSON.stringify(d0.fixId))}})}})})(e.codefix||(e.codefix={}))}(_0||(_0={})),function(e){(function(s){var X=\"fixUnreachableCode\",J=[e.Diagnostics.Unreachable_code_detected.code];function m0(s1,i0,H0,E0,I){var A=e.getTokenAtPosition(i0,H0),Z=e.findAncestor(A,e.isStatement);if(Z.getStart(i0)!==A.getStart(i0)){var A0=JSON.stringify({statementKind:e.Debug.formatSyntaxKind(Z.kind),tokenKind:e.Debug.formatSyntaxKind(A.kind),errorCode:I,start:H0,length:E0});e.Debug.fail(\"Token and statement should start at the same point. \"+A0)}var o0=(e.isBlock(Z.parent)?Z.parent:Z).parent;if(!e.isBlock(Z.parent)||Z===e.first(Z.parent.statements))switch(o0.kind){case 235:if(o0.elseStatement){if(e.isBlock(Z.parent))break;return void s1.replaceNode(i0,Z,e.factory.createBlock(e.emptyArray))}case 237:case 238:return void s1.delete(i0,o0)}if(e.isBlock(Z.parent)){var j=H0+E0,G=e.Debug.checkDefined(function(u0,U){for(var g0,d0=0,P0=u0;d0<P0.length;d0++){var c0=P0[d0];if(!U(c0))break;g0=c0}return g0}(e.sliceAfter(Z.parent.statements,Z),function(u0){return u0.pos<j}),\"Some statement should be last\");s1.deleteNodeRange(i0,Z,G)}else s1.delete(i0,Z)}s.registerCodeFix({errorCodes:J,getCodeActions:function(s1){var i0=e.textChanges.ChangeTracker.with(s1,function(H0){return m0(H0,s1.sourceFile,s1.span.start,s1.span.length,s1.errorCode)});return[s.createCodeFixAction(X,i0,e.Diagnostics.Remove_unreachable_code,X,e.Diagnostics.Remove_all_unreachable_code)]},fixIds:[X],getAllCodeActions:function(s1){return s.codeFixAll(s1,J,function(i0,H0){return m0(i0,H0.file,H0.start,H0.length,H0.code)})}})})(e.codefix||(e.codefix={}))}(_0||(_0={})),function(e){(function(s){var X=\"fixUnusedLabel\",J=[e.Diagnostics.Unused_label.code];function m0(s1,i0,H0){var E0=e.getTokenAtPosition(i0,H0),I=e.cast(E0.parent,e.isLabeledStatement),A=E0.getStart(i0),Z=I.statement.getStart(i0),A0=e.positionsAreOnSameLine(A,Z,i0)?Z:e.skipTrivia(i0.text,e.findChildOfKind(I,58,i0).end,!0);s1.deleteRange(i0,{pos:A,end:A0})}s.registerCodeFix({errorCodes:J,getCodeActions:function(s1){var i0=e.textChanges.ChangeTracker.with(s1,function(H0){return m0(H0,s1.sourceFile,s1.span.start)});return[s.createCodeFixAction(X,i0,e.Diagnostics.Remove_unused_label,X,e.Diagnostics.Remove_all_unused_labels)]},fixIds:[X],getAllCodeActions:function(s1){return s.codeFixAll(s1,J,function(i0,H0){return m0(i0,H0.file,H0.start)})}})})(e.codefix||(e.codefix={}))}(_0||(_0={})),function(e){(function(s){var X=\"fixJSDocTypes_plain\",J=\"fixJSDocTypes_nullable\",m0=[e.Diagnostics.JSDoc_types_can_only_be_used_inside_documentation_comments.code];function s1(E0,I,A,Z,A0){E0.replaceNode(I,A,A0.typeToTypeNode(Z,A,void 0))}function i0(E0,I,A){var Z=e.findAncestor(e.getTokenAtPosition(E0,I),H0),A0=Z&&Z.type;return A0&&{typeNode:A0,type:A.getTypeFromTypeNode(A0)}}function H0(E0){switch(E0.kind){case 225:case 170:case 171:case 252:case 168:case 172:case 191:case 166:case 165:case 161:case 164:case 163:case 169:case 255:case 207:case 250:return!0;default:return!1}}s.registerCodeFix({errorCodes:m0,getCodeActions:function(E0){var I=E0.sourceFile,A=E0.program.getTypeChecker(),Z=i0(I,E0.span.start,A);if(Z){var A0=Z.typeNode,o0=Z.type,j=A0.getText(I),G=[u0(o0,X,e.Diagnostics.Change_all_jsdoc_style_types_to_TypeScript)];return A0.kind===306&&G.push(u0(A.getNullableType(o0,32768),J,e.Diagnostics.Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types)),G}function u0(U,g0,d0){var P0=e.textChanges.ChangeTracker.with(E0,function(c0){return s1(c0,I,A0,U,A)});return s.createCodeFixAction(\"jdocTypes\",P0,[e.Diagnostics.Change_0_to_1,j,A.typeToString(U)],g0,d0)}},fixIds:[X,J],getAllCodeActions:function(E0){var I=E0.fixId,A=E0.program,Z=E0.sourceFile,A0=A.getTypeChecker();return s.codeFixAll(E0,m0,function(o0,j){var G=i0(j.file,j.start,A0);if(G){var u0=G.typeNode,U=G.type,g0=u0.kind===306&&I===J?A0.getNullableType(U,32768):U;s1(o0,Z,u0,g0,A0)}})}})})(e.codefix||(e.codefix={}))}(_0||(_0={})),function(e){(function(s){var X=\"fixMissingCallParentheses\",J=[e.Diagnostics.This_condition_will_always_return_true_since_this_function_is_always_defined_Did_you_mean_to_call_it_instead.code];function m0(i0,H0,E0){i0.replaceNodeWithText(H0,E0,E0.text+\"()\")}function s1(i0,H0){var E0=e.getTokenAtPosition(i0,H0);if(e.isPropertyAccessExpression(E0.parent)){for(var I=E0.parent;e.isPropertyAccessExpression(I.parent);)I=I.parent;return I.name}if(e.isIdentifier(E0))return E0}s.registerCodeFix({errorCodes:J,fixIds:[X],getCodeActions:function(i0){var H0=s1(i0.sourceFile,i0.span.start);if(H0){var E0=e.textChanges.ChangeTracker.with(i0,function(I){return m0(I,i0.sourceFile,H0)});return[s.createCodeFixAction(X,E0,e.Diagnostics.Add_missing_call_parentheses,X,e.Diagnostics.Add_all_missing_call_parentheses)]}},getAllCodeActions:function(i0){return s.codeFixAll(i0,J,function(H0,E0){var I=s1(E0.file,E0.start);I&&m0(H0,E0.file,I)})}})})(e.codefix||(e.codefix={}))}(_0||(_0={})),function(e){(function(s){var X=\"fixAwaitInSyncFunction\",J=[e.Diagnostics.await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules.code,e.Diagnostics.for_await_loops_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules.code];function m0(i0,H0){var E0=e.getTokenAtPosition(i0,H0),I=e.getContainingFunction(E0);if(I){var A,Z;switch(I.kind){case 166:A=I.name;break;case 252:case 209:A=e.findChildOfKind(I,97,i0);break;case 210:A=e.findChildOfKind(I,20,i0)||e.first(I.parameters);break;default:return}return A&&{insertBefore:A,returnType:(Z=I,Z.type?Z.type:e.isVariableDeclaration(Z.parent)&&Z.parent.type&&e.isFunctionTypeNode(Z.parent.type)?Z.parent.type.type:void 0)}}}function s1(i0,H0,E0){var I=E0.insertBefore,A=E0.returnType;if(A){var Z=e.getEntityNameFromTypeNode(A);Z&&Z.kind===78&&Z.text===\"Promise\"||i0.replaceNode(H0,A,e.factory.createTypeReferenceNode(\"Promise\",e.factory.createNodeArray([A])))}i0.insertModifierBefore(H0,129,I)}s.registerCodeFix({errorCodes:J,getCodeActions:function(i0){var H0=i0.sourceFile,E0=i0.span,I=m0(H0,E0.start);if(I){var A=e.textChanges.ChangeTracker.with(i0,function(Z){return s1(Z,H0,I)});return[s.createCodeFixAction(X,A,e.Diagnostics.Add_async_modifier_to_containing_function,X,e.Diagnostics.Add_all_missing_async_modifiers)]}},fixIds:[X],getAllCodeActions:function(i0){var H0=new e.Map;return s.codeFixAll(i0,J,function(E0,I){var A=m0(I.file,I.start);A&&e.addToSeen(H0,e.getNodeId(A.insertBefore))&&s1(E0,i0.sourceFile,A)})}})})(e.codefix||(e.codefix={}))}(_0||(_0={})),function(e){(function(s){var X=[e.Diagnostics._0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property.code,e.Diagnostics._0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor.code],J=\"fixPropertyOverrideAccessor\";function m0(s1,i0,H0,E0,I){var A,Z;if(E0===e.Diagnostics._0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property.code)A=i0,Z=i0+H0;else if(E0===e.Diagnostics._0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor.code){var A0=I.program.getTypeChecker(),o0=e.getTokenAtPosition(s1,i0).parent;e.Debug.assert(e.isAccessor(o0),\"error span of fixPropertyOverrideAccessor should only be on an accessor\");var j=o0.parent;e.Debug.assert(e.isClassLike(j),\"erroneous accessors should only be inside classes\");var G=e.singleOrUndefined(s.getAllSupers(j,A0));if(!G)return[];var u0=e.unescapeLeadingUnderscores(e.getTextOfPropertyName(o0.name)),U=A0.getPropertyOfType(A0.getTypeAtLocation(G),u0);if(!U||!U.valueDeclaration)return[];A=U.valueDeclaration.pos,Z=U.valueDeclaration.end,s1=e.getSourceFileOfNode(U.valueDeclaration)}else e.Debug.fail(\"fixPropertyOverrideAccessor codefix got unexpected error code \"+E0);return s.generateAccessorFromProperty(s1,I.program,A,Z,I,e.Diagnostics.Generate_get_and_set_accessors.message)}s.registerCodeFix({errorCodes:X,getCodeActions:function(s1){var i0=m0(s1.sourceFile,s1.span.start,s1.span.length,s1.errorCode,s1);if(i0)return[s.createCodeFixAction(J,i0,e.Diagnostics.Generate_get_and_set_accessors,J,e.Diagnostics.Generate_get_and_set_accessors_for_all_overriding_properties)]},fixIds:[J],getAllCodeActions:function(s1){return s.codeFixAll(s1,X,function(i0,H0){var E0=m0(H0.file,H0.start,H0.length,H0.code,s1);if(E0)for(var I=0,A=E0;I<A.length;I++){var Z=A[I];i0.pushRaw(s1.sourceFile,Z)}})}})})(e.codefix||(e.codefix={}))}(_0||(_0={})),function(e){(function(s){var X=\"inferFromUsage\",J=[e.Diagnostics.Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined.code,e.Diagnostics.Variable_0_implicitly_has_an_1_type.code,e.Diagnostics.Parameter_0_implicitly_has_an_1_type.code,e.Diagnostics.Rest_parameter_0_implicitly_has_an_any_type.code,e.Diagnostics.Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation.code,e.Diagnostics._0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type.code,e.Diagnostics.Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation.code,e.Diagnostics.Member_0_implicitly_has_an_1_type.code,e.Diagnostics.Variable_0_implicitly_has_type_1_in_some_locations_but_a_better_type_may_be_inferred_from_usage.code,e.Diagnostics.Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage.code,e.Diagnostics.Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage.code,e.Diagnostics.Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage.code,e.Diagnostics.Property_0_implicitly_has_type_any_but_a_better_type_for_its_get_accessor_may_be_inferred_from_usage.code,e.Diagnostics._0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage.code,e.Diagnostics.Property_0_implicitly_has_type_any_but_a_better_type_for_its_set_accessor_may_be_inferred_from_usage.code,e.Diagnostics.Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage.code,e.Diagnostics.this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation.code];function m0(G,u0){switch(G){case e.Diagnostics.Parameter_0_implicitly_has_an_1_type.code:case e.Diagnostics.Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage.code:return e.isSetAccessorDeclaration(e.getContainingFunction(u0))?e.Diagnostics.Infer_type_of_0_from_usage:e.Diagnostics.Infer_parameter_types_from_usage;case e.Diagnostics.Rest_parameter_0_implicitly_has_an_any_type.code:case e.Diagnostics.Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage.code:return e.Diagnostics.Infer_parameter_types_from_usage;case e.Diagnostics.this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation.code:return e.Diagnostics.Infer_this_type_of_0_from_usage;default:return e.Diagnostics.Infer_type_of_0_from_usage}}function s1(G,u0,U,g0,d0,P0,c0,D0,x0){if(e.isParameterPropertyModifier(U.kind)||U.kind===78||U.kind===25||U.kind===107){var l0=U.parent,w0=s.createImportAdder(u0,d0,x0,D0);switch(g0=function(y0){switch(y0){case e.Diagnostics.Variable_0_implicitly_has_type_1_in_some_locations_but_a_better_type_may_be_inferred_from_usage.code:return e.Diagnostics.Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined.code;case e.Diagnostics.Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage.code:return e.Diagnostics.Variable_0_implicitly_has_an_1_type.code;case e.Diagnostics.Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage.code:return e.Diagnostics.Parameter_0_implicitly_has_an_1_type.code;case e.Diagnostics.Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage.code:return e.Diagnostics.Rest_parameter_0_implicitly_has_an_any_type.code;case e.Diagnostics.Property_0_implicitly_has_type_any_but_a_better_type_for_its_get_accessor_may_be_inferred_from_usage.code:return e.Diagnostics.Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation.code;case e.Diagnostics._0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage.code:return e.Diagnostics._0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type.code;case e.Diagnostics.Property_0_implicitly_has_type_any_but_a_better_type_for_its_set_accessor_may_be_inferred_from_usage.code:return e.Diagnostics.Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation.code;case e.Diagnostics.Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage.code:return e.Diagnostics.Member_0_implicitly_has_an_1_type.code}return y0}(g0)){case e.Diagnostics.Member_0_implicitly_has_an_1_type.code:case e.Diagnostics.Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined.code:if(e.isVariableDeclaration(l0)&&c0(l0)||e.isPropertyDeclaration(l0)||e.isPropertySignature(l0))return i0(G,w0,u0,l0,d0,D0,P0),w0.writeFixes(G),l0;if(e.isPropertyAccessExpression(l0)){var V=A0(l0.name,d0,P0),w=e.getTypeNodeIfAccessible(V,l0,d0,D0);if(w){var H=e.factory.createJSDocTypeTag(void 0,e.factory.createJSDocTypeExpression(w),void 0);A(G,u0,e.cast(l0.parent.parent,e.isExpressionStatement),[H])}return w0.writeFixes(G),l0}return;case e.Diagnostics.Variable_0_implicitly_has_an_1_type.code:var k0=d0.getTypeChecker().getSymbolAtLocation(U);return k0&&k0.valueDeclaration&&e.isVariableDeclaration(k0.valueDeclaration)&&c0(k0.valueDeclaration)?(i0(G,w0,u0,k0.valueDeclaration,d0,D0,P0),w0.writeFixes(G),k0.valueDeclaration):void 0}var V0=e.getContainingFunction(U);if(V0!==void 0){var t0;switch(g0){case e.Diagnostics.Parameter_0_implicitly_has_an_1_type.code:if(e.isSetAccessorDeclaration(V0)){H0(G,w0,u0,V0,d0,D0,P0),t0=V0;break}case e.Diagnostics.Rest_parameter_0_implicitly_has_an_any_type.code:if(c0(V0)){var f0=e.cast(l0,e.isParameter);(function(y0,G0,d1,h1,S1,Q1,Y0,$1){if(!!e.isIdentifier(h1.name)){var Z1=function(Nx,n1,S0,I0){var U0=o0(Nx,n1,S0,I0);return U0&&j(S0,U0,I0).parameters(Nx)||Nx.parameters.map(function(p0){return{declaration:p0,type:e.isIdentifier(p0.name)?A0(p0.name,S0,I0):S0.getTypeChecker().getAnyType()}})}(S1,d1,Q1,$1);if(e.Debug.assert(S1.parameters.length===Z1.length,\"Parameter count and inference count should match\"),e.isInJSFile(S1))I(y0,d1,Z1,Q1,Y0);else{var Q0=e.isArrowFunction(S1)&&!e.findChildOfKind(S1,20,d1);Q0&&y0.insertNodeBefore(d1,e.first(S1.parameters),e.factory.createToken(20));for(var y1=0,k1=Z1;y1<k1.length;y1++){var I1=k1[y1],K0=I1.declaration,G1=I1.type;!K0||K0.type||K0.initializer||E0(y0,G0,d1,K0,G1,Q1,Y0)}Q0&&y0.insertNodeAfter(d1,e.last(S1.parameters),e.factory.createToken(21))}}})(G,w0,u0,f0,V0,d0,D0,P0),t0=f0}break;case e.Diagnostics.Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation.code:case e.Diagnostics._0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type.code:e.isGetAccessorDeclaration(V0)&&e.isIdentifier(V0.name)&&(E0(G,w0,u0,V0,A0(V0.name,d0,P0),d0,D0),t0=V0);break;case e.Diagnostics.Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation.code:e.isSetAccessorDeclaration(V0)&&(H0(G,w0,u0,V0,d0,D0,P0),t0=V0);break;case e.Diagnostics.this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation.code:e.textChanges.isThisTypeAnnotatable(V0)&&c0(V0)&&(function(y0,G0,d1,h1,S1,Q1){var Y0=o0(d1,G0,h1,Q1);if(!(!Y0||!Y0.length)){var $1=j(h1,Y0,Q1).thisParameter(),Z1=e.getTypeNodeIfAccessible($1,d1,h1,S1);!Z1||(e.isInJSFile(d1)?function(Q0,y1,k1,I1){A(Q0,y1,k1,[e.factory.createJSDocThisTag(void 0,e.factory.createJSDocTypeExpression(I1))])}(y0,G0,d1,Z1):y0.tryInsertThisTypeAnnotation(G0,d1,Z1))}}(G,u0,V0,d0,D0,P0),t0=V0);break;default:return e.Debug.fail(String(g0))}return w0.writeFixes(G),t0}}}function i0(G,u0,U,g0,d0,P0,c0){e.isIdentifier(g0.name)&&E0(G,u0,U,g0,A0(g0.name,d0,c0),d0,P0)}function H0(G,u0,U,g0,d0,P0,c0){var D0=e.firstOrUndefined(g0.parameters);if(D0&&e.isIdentifier(g0.name)&&e.isIdentifier(D0.name)){var x0=A0(g0.name,d0,c0);x0===d0.getTypeChecker().getAnyType()&&(x0=A0(D0.name,d0,c0)),e.isInJSFile(g0)?I(G,U,[{declaration:D0,type:x0}],d0,P0):E0(G,u0,U,D0,x0,d0,P0)}}function E0(G,u0,U,g0,d0,P0,c0){var D0=e.getTypeNodeIfAccessible(d0,g0,P0,c0);if(D0)if(e.isInJSFile(U)&&g0.kind!==163){var x0=e.isVariableDeclaration(g0)?e.tryCast(g0.parent.parent,e.isVariableStatement):g0;if(!x0)return;var l0=e.factory.createJSDocTypeExpression(D0);A(G,U,x0,[e.isGetAccessorDeclaration(g0)?e.factory.createJSDocReturnTag(void 0,l0,void 0):e.factory.createJSDocTypeTag(void 0,l0,void 0)])}else(function(w0,V,w,H,k0,V0){var t0=s.tryGetAutoImportableReferenceFromTypeNode(w0,V0);return t0&&H.tryInsertTypeAnnotation(w,V,t0.typeNode)?(e.forEach(t0.symbols,function(f0){return k0.addImportFromExportedSymbol(f0,!0)}),!0):!1})(D0,g0,U,G,u0,e.getEmitScriptTarget(P0.getCompilerOptions()))||G.tryInsertTypeAnnotation(U,g0,D0)}function I(G,u0,U,g0,d0){var P0=U.length&&U[0].declaration.parent;if(P0){var c0=e.mapDefined(U,function(l0){var w0=l0.declaration;if(!w0.initializer&&!e.getJSDocType(w0)&&e.isIdentifier(w0.name)){var V=l0.type&&e.getTypeNodeIfAccessible(l0.type,w0,g0,d0);if(V){var w=e.factory.cloneNode(w0.name);return e.setEmitFlags(w,3584),{name:e.factory.cloneNode(w0.name),param:w0,isOptional:!!l0.isOptional,typeNode:V}}}});if(c0.length)if(e.isArrowFunction(P0)||e.isFunctionExpression(P0)){var D0=e.isArrowFunction(P0)&&!e.findChildOfKind(P0,20,u0);D0&&G.insertNodeBefore(u0,e.first(P0.parameters),e.factory.createToken(20)),e.forEach(c0,function(l0){var w0=l0.typeNode,V=l0.param,w=e.factory.createJSDocTypeTag(void 0,e.factory.createJSDocTypeExpression(w0)),H=e.factory.createJSDocComment(void 0,[w]);G.insertNodeAt(u0,V.getStart(u0),H,{suffix:\" \"})}),D0&&G.insertNodeAfter(u0,e.last(P0.parameters),e.factory.createToken(21))}else{var x0=e.map(c0,function(l0){var w0=l0.name,V=l0.typeNode,w=l0.isOptional;return e.factory.createJSDocParameterTag(void 0,w0,!!w,e.factory.createJSDocTypeExpression(V),!1,void 0)});A(G,u0,P0,x0)}}}function A(G,u0,U,g0){var d0=e.flatMap(U.jsDoc,function(l0){return typeof l0.comment==\"string\"?e.factory.createJSDocText(l0.comment):l0.comment}),P0=e.flatMapToMutable(U.jsDoc,function(l0){return l0.tags}),c0=g0.filter(function(l0){return!P0||!P0.some(function(w0,V){var w=function(H,k0){if(H.kind===k0.kind)switch(H.kind){case 330:var V0=H,t0=k0;return e.isIdentifier(V0.name)&&e.isIdentifier(t0.name)&&V0.name.escapedText===t0.name.escapedText?e.factory.createJSDocParameterTag(void 0,t0.name,!1,t0.typeExpression,t0.isNameFirst,V0.comment):void 0;case 331:return e.factory.createJSDocReturnTag(void 0,k0.typeExpression,H.comment)}}(w0,l0);return w&&(P0[V]=w),!!w})}),D0=e.factory.createJSDocComment(e.factory.createNodeArray(e.intersperse(d0,e.factory.createJSDocText(`\n`))),e.factory.createNodeArray(D(D([],P0||e.emptyArray),c0))),x0=U.kind===210?function(l0){return l0.parent.kind===164?l0.parent:l0.parent.parent}(U):U;x0.jsDoc=U.jsDoc,x0.jsDocCache=U.jsDocCache,G.insertJsdocCommentBefore(u0,x0,D0)}function Z(G,u0,U){return e.mapDefined(e.FindAllReferences.getReferenceEntriesForNode(-1,G,u0,u0.getSourceFiles(),U),function(g0){return g0.kind!==0?e.tryCast(g0.node,e.isIdentifier):void 0})}function A0(G,u0,U){return j(u0,Z(G,u0,U),U).single()}function o0(G,u0,U,g0){var d0;switch(G.kind){case 167:d0=e.findChildOfKind(G,132,u0);break;case 210:case 209:var P0=G.parent;d0=(e.isVariableDeclaration(P0)||e.isPropertyDeclaration(P0))&&e.isIdentifier(P0.name)?P0.name:G.name;break;case 252:case 166:case 165:d0=G.name}if(d0)return Z(d0,U,g0)}function j(G,u0,U){var g0=G.getTypeChecker(),d0={string:function(){return g0.getStringType()},number:function(){return g0.getNumberType()},Array:function(y0){return g0.createArrayType(y0)},Promise:function(y0){return g0.createPromiseType(y0)}},P0=[g0.getStringType(),g0.getNumberType(),g0.createArrayType(g0.getAnyType()),g0.createPromiseType(g0.getAnyType())];return{single:function(){return w(x0(u0))},parameters:function(y0){if(!(u0.length===0||!y0.parameters)){for(var G0=c0(),d1=0,h1=u0;d1<h1.length;d1++){var S1=h1[d1];U.throwIfCancellationRequested(),l0(S1,G0)}var Q1=D(D([],G0.constructs||[]),G0.calls||[]);return y0.parameters.map(function(Y0,$1){for(var Z1=[],Q0=e.isRestParameter(Y0),y1=!1,k1=0,I1=Q1;k1<I1.length;k1++){var K0=I1[k1];if(K0.argumentTypes.length<=$1)y1=e.isInJSFile(y0),Z1.push(g0.getUndefinedType());else if(Q0)for(var G1=$1;G1<K0.argumentTypes.length;G1++)Z1.push(g0.getBaseTypeOfLiteralType(K0.argumentTypes[G1]));else Z1.push(g0.getBaseTypeOfLiteralType(K0.argumentTypes[$1]))}if(e.isIdentifier(Y0.name)){var Nx=x0(Z(Y0.name,G,U));Z1.push.apply(Z1,Q0?e.mapDefined(Nx,g0.getElementTypeOfArrayType):Nx)}var n1=w(Z1);return{type:Q0?g0.createArrayType(n1):n1,isOptional:y1&&!Q0,declaration:Y0}})}},thisParameter:function(){for(var y0=c0(),G0=0,d1=u0;G0<d1.length;G0++){var h1=d1[G0];U.throwIfCancellationRequested(),l0(h1,y0)}return w(y0.candidateThisTypes||e.emptyArray)}};function c0(){return{isNumber:void 0,isString:void 0,isNumberOrString:void 0,candidateTypes:void 0,properties:void 0,calls:void 0,constructs:void 0,numberIndex:void 0,stringIndex:void 0,candidateThisTypes:void 0,inferredTypes:void 0}}function D0(y0){for(var G0=new e.Map,d1=0,h1=y0;d1<h1.length;d1++){var S1=h1[d1];S1.properties&&S1.properties.forEach(function(Y0,$1){G0.has($1)||G0.set($1,[]),G0.get($1).push(Y0)})}var Q1=new e.Map;return G0.forEach(function(Y0,$1){Q1.set($1,D0(Y0))}),{isNumber:y0.some(function(Y0){return Y0.isNumber}),isString:y0.some(function(Y0){return Y0.isString}),isNumberOrString:y0.some(function(Y0){return Y0.isNumberOrString}),candidateTypes:e.flatMap(y0,function(Y0){return Y0.candidateTypes}),properties:Q1,calls:e.flatMap(y0,function(Y0){return Y0.calls}),constructs:e.flatMap(y0,function(Y0){return Y0.constructs}),numberIndex:e.forEach(y0,function(Y0){return Y0.numberIndex}),stringIndex:e.forEach(y0,function(Y0){return Y0.stringIndex}),candidateThisTypes:e.flatMap(y0,function(Y0){return Y0.candidateThisTypes}),inferredTypes:void 0}}function x0(y0){for(var G0={isNumber:void 0,isString:void 0,isNumberOrString:void 0,candidateTypes:void 0,properties:void 0,calls:void 0,constructs:void 0,numberIndex:void 0,stringIndex:void 0,candidateThisTypes:void 0,inferredTypes:void 0},d1=0,h1=y0;d1<h1.length;d1++){var S1=h1[d1];U.throwIfCancellationRequested(),l0(S1,G0)}return H(G0)}function l0(y0,G0){for(;e.isRightSideOfQualifiedNameOrPropertyAccess(y0);)y0=y0.parent;switch(y0.parent.kind){case 234:(function(Q1,Y0){t0(Y0,e.isCallExpression(Q1)?g0.getVoidType():g0.getAnyType())})(y0,G0);break;case 216:G0.isNumber=!0;break;case 215:(function(Q1,Y0){switch(Q1.operator){case 45:case 46:case 40:case 54:Y0.isNumber=!0;break;case 39:Y0.isNumberOrString=!0}})(y0.parent,G0);break;case 217:(function(Q1,Y0,$1){switch(Y0.operatorToken.kind){case 42:case 41:case 43:case 44:case 47:case 48:case 49:case 50:case 51:case 52:case 64:case 66:case 65:case 67:case 68:case 72:case 73:case 77:case 69:case 71:case 70:case 40:case 29:case 32:case 31:case 33:var Z1=g0.getTypeAtLocation(Y0.left===Q1?Y0.right:Y0.left);1056&Z1.flags?t0($1,Z1):$1.isNumber=!0;break;case 63:case 39:var Q0=g0.getTypeAtLocation(Y0.left===Q1?Y0.right:Y0.left);1056&Q0.flags?t0($1,Q0):296&Q0.flags?$1.isNumber=!0:402653316&Q0.flags?$1.isString=!0:1&Q0.flags||($1.isNumberOrString=!0);break;case 62:case 34:case 36:case 37:case 35:t0($1,g0.getTypeAtLocation(Y0.left===Q1?Y0.right:Y0.left));break;case 100:Q1===Y0.left&&($1.isString=!0);break;case 56:case 60:Q1!==Y0.left||Q1.parent.parent.kind!==250&&!e.isAssignmentExpression(Q1.parent.parent,!0)||t0($1,g0.getTypeAtLocation(Y0.right))}})(y0,y0.parent,G0);break;case 285:case 286:(function(Q1,Y0){t0(Y0,g0.getTypeAtLocation(Q1.parent.parent.expression))})(y0.parent,G0);break;case 204:case 205:y0.parent.expression===y0?function(Q1,Y0){var $1={argumentTypes:[],return_:{isNumber:void 0,isString:void 0,isNumberOrString:void 0,candidateTypes:void 0,properties:void 0,calls:void 0,constructs:void 0,numberIndex:void 0,stringIndex:void 0,candidateThisTypes:void 0,inferredTypes:void 0}};if(Q1.arguments)for(var Z1=0,Q0=Q1.arguments;Z1<Q0.length;Z1++){var y1=Q0[Z1];$1.argumentTypes.push(g0.getTypeAtLocation(y1))}l0(Q1,$1.return_),Q1.kind===204?(Y0.calls||(Y0.calls=[])).push($1):(Y0.constructs||(Y0.constructs=[])).push($1)}(y0.parent,G0):w0(y0,G0);break;case 202:(function(Q1,Y0){var $1=e.escapeLeadingUnderscores(Q1.name.text);Y0.properties||(Y0.properties=new e.Map);var Z1=Y0.properties.get($1)||{isNumber:void 0,isString:void 0,isNumberOrString:void 0,candidateTypes:void 0,properties:void 0,calls:void 0,constructs:void 0,numberIndex:void 0,stringIndex:void 0,candidateThisTypes:void 0,inferredTypes:void 0};l0(Q1,Z1),Y0.properties.set($1,Z1)})(y0.parent,G0);break;case 203:(function(Q1,Y0,$1){if(Y0===Q1.argumentExpression)return void($1.isNumberOrString=!0);var Z1=g0.getTypeAtLocation(Q1.argumentExpression),Q0={isNumber:void 0,isString:void 0,isNumberOrString:void 0,candidateTypes:void 0,properties:void 0,calls:void 0,constructs:void 0,numberIndex:void 0,stringIndex:void 0,candidateThisTypes:void 0,inferredTypes:void 0};l0(Q1,Q0),296&Z1.flags?$1.numberIndex=Q0:$1.stringIndex=Q0})(y0.parent,y0,G0);break;case 289:case 290:(function(Q1,Y0){var $1=e.isVariableDeclaration(Q1.parent.parent)?Q1.parent.parent:Q1.parent;f0(Y0,g0.getTypeAtLocation($1))})(y0.parent,G0);break;case 164:(function(Q1,Y0){f0(Y0,g0.getTypeAtLocation(Q1.parent))})(y0.parent,G0);break;case 250:var d1=y0.parent,h1=d1.name,S1=d1.initializer;if(y0===h1){S1&&t0(G0,g0.getTypeAtLocation(S1));break}default:return w0(y0,G0)}}function w0(y0,G0){e.isExpressionNode(y0)&&t0(G0,g0.getContextualType(y0))}function V(y0){return w(H(y0))}function w(y0){if(!y0.length)return g0.getAnyType();var G0=g0.getUnionType([g0.getStringType(),g0.getNumberType()]),d1=function(S1,Q1){for(var Y0=[],$1=0,Z1=S1;$1<Z1.length;$1++)for(var Q0=Z1[$1],y1=0,k1=Q1;y1<k1.length;y1++){var I1=k1[y1],K0=I1.high,G1=I1.low;K0(Q0)&&(e.Debug.assert(!G1(Q0),\"Priority can't have both low and high\"),Y0.push(G1))}return S1.filter(function(Nx){return Y0.every(function(n1){return!n1(Nx)})})}(y0,[{high:function(S1){return S1===g0.getStringType()||S1===g0.getNumberType()},low:function(S1){return S1===G0}},{high:function(S1){return!(16385&S1.flags)},low:function(S1){return!!(16385&S1.flags)}},{high:function(S1){return!(114689&S1.flags||16&e.getObjectFlags(S1))},low:function(S1){return!!(16&e.getObjectFlags(S1))}}]),h1=d1.filter(function(S1){return 16&e.getObjectFlags(S1)});return h1.length&&(d1=d1.filter(function(S1){return!(16&e.getObjectFlags(S1))})).push(function(S1){if(S1.length===1)return S1[0];for(var Q1=[],Y0=[],$1=[],Z1=[],Q0=!1,y1=!1,k1=e.createMultiMap(),I1=0,K0=S1;I1<K0.length;I1++){for(var G1=K0[I1],Nx=0,n1=g0.getPropertiesOfType(G1);Nx<n1.length;Nx++){var S0=n1[Nx];k1.add(S0.name,S0.valueDeclaration?g0.getTypeOfSymbolAtLocation(S0,S0.valueDeclaration):g0.getAnyType())}Q1.push.apply(Q1,g0.getSignaturesOfType(G1,0)),Y0.push.apply(Y0,g0.getSignaturesOfType(G1,1)),G1.stringIndexInfo&&($1.push(G1.stringIndexInfo.type),Q0=Q0||G1.stringIndexInfo.isReadonly),G1.numberIndexInfo&&(Z1.push(G1.numberIndexInfo.type),y1=y1||G1.numberIndexInfo.isReadonly)}var I0=e.mapEntries(k1,function(U0,p0){var p1=p0.length<S1.length?16777216:0,Y1=g0.createSymbol(4|p1,U0);return Y1.type=g0.getUnionType(p0),[U0,Y1]});return g0.createAnonymousType(S1[0].symbol,I0,Q1,Y0,$1.length?g0.createIndexInfo(g0.getUnionType($1),Q0):void 0,Z1.length?g0.createIndexInfo(g0.getUnionType(Z1),y1):void 0)}(h1)),g0.getWidenedType(g0.getUnionType(d1.map(g0.getBaseTypeOfLiteralType),2))}function H(y0){var G0,d1,h1,S1=[];return y0.isNumber&&S1.push(g0.getNumberType()),y0.isString&&S1.push(g0.getStringType()),y0.isNumberOrString&&S1.push(g0.getUnionType([g0.getStringType(),g0.getNumberType()])),y0.numberIndex&&S1.push(g0.createArrayType(V(y0.numberIndex))),(((G0=y0.properties)===null||G0===void 0?void 0:G0.size)||((d1=y0.calls)===null||d1===void 0?void 0:d1.length)||((h1=y0.constructs)===null||h1===void 0?void 0:h1.length)||y0.stringIndex)&&S1.push(function(Q1){var Y0=new e.Map;Q1.properties&&Q1.properties.forEach(function(y1,k1){var I1=g0.createSymbol(4,k1);I1.type=V(y1),Y0.set(k1,I1)});var $1=Q1.calls?[V0(Q1.calls)]:[],Z1=Q1.constructs?[V0(Q1.constructs)]:[],Q0=Q1.stringIndex&&g0.createIndexInfo(V(Q1.stringIndex),!1);return g0.createAnonymousType(void 0,Y0,$1,Z1,Q0,void 0)}(y0)),S1.push.apply(S1,(y0.candidateTypes||[]).map(function(Q1){return g0.getBaseTypeOfLiteralType(Q1)})),S1.push.apply(S1,function(Q1){if(!Q1.properties||!Q1.properties.size)return[];var Y0=P0.filter(function($1){return function(Z1,Q0){return!!Q0.properties&&!e.forEachEntry(Q0.properties,function(y1,k1){var I1,K0=g0.getTypeOfPropertyOfType(Z1,k1);return!K0||(y1.calls?!g0.getSignaturesOfType(K0,0).length||!g0.isTypeAssignableTo(K0,(I1=y1.calls,g0.createAnonymousType(void 0,e.createSymbolTable(),[V0(I1)],e.emptyArray,void 0,void 0))):!g0.isTypeAssignableTo(K0,V(y1)))})}($1,Q1)});return 0<Y0.length&&Y0.length<3?Y0.map(function($1){return function(Z1,Q0){if(!(4&e.getObjectFlags(Z1)&&Q0.properties))return Z1;var y1=Z1.target,k1=e.singleOrUndefined(y1.typeParameters);if(!k1)return Z1;var I1=[];return Q0.properties.forEach(function(K0,G1){var Nx=g0.getTypeOfPropertyOfType(y1,G1);e.Debug.assert(!!Nx,\"generic should have all the properties of its reference.\"),I1.push.apply(I1,k0(Nx,V(K0),k1))}),d0[Z1.symbol.escapedName](w(I1))}($1,Q1)}):[]}(y0)),S1}function k0(y0,G0,d1){if(y0===d1)return[G0];if(3145728&y0.flags)return e.flatMap(y0.types,function(Q0){return k0(Q0,G0,d1)});if(4&e.getObjectFlags(y0)&&4&e.getObjectFlags(G0)){var h1=g0.getTypeArguments(y0),S1=g0.getTypeArguments(G0),Q1=[];if(h1&&S1)for(var Y0=0;Y0<h1.length;Y0++)S1[Y0]&&Q1.push.apply(Q1,k0(h1[Y0],S1[Y0],d1));return Q1}var $1=g0.getSignaturesOfType(y0,0),Z1=g0.getSignaturesOfType(G0,0);return $1.length===1&&Z1.length===1?function(Q0,y1,k1){for(var I1=[],K0=0;K0<Q0.parameters.length;K0++){var G1=Q0.parameters[K0],Nx=y1.parameters[K0],n1=Q0.declaration&&e.isRestParameter(Q0.declaration.parameters[K0]);if(!Nx)break;var S0=G1.valueDeclaration?g0.getTypeOfSymbolAtLocation(G1,G1.valueDeclaration):g0.getAnyType(),I0=n1&&g0.getElementTypeOfArrayType(S0);I0&&(S0=I0);var U0=Nx.type||(Nx.valueDeclaration?g0.getTypeOfSymbolAtLocation(Nx,Nx.valueDeclaration):g0.getAnyType());I1.push.apply(I1,k0(S0,U0,k1))}var p0=g0.getReturnTypeOfSignature(Q0),p1=g0.getReturnTypeOfSignature(y1);return I1.push.apply(I1,k0(p0,p1,k1)),I1}($1[0],Z1[0],d1):[]}function V0(y0){for(var G0=[],d1=Math.max.apply(Math,y0.map(function(Y0){return Y0.argumentTypes.length})),h1=function(Y0){var $1=g0.createSymbol(1,e.escapeLeadingUnderscores(\"arg\"+Y0));$1.type=w(y0.map(function(Z1){return Z1.argumentTypes[Y0]||g0.getUndefinedType()})),y0.some(function(Z1){return Z1.argumentTypes[Y0]===void 0})&&($1.flags|=16777216),G0.push($1)},S1=0;S1<d1;S1++)h1(S1);var Q1=V(D0(y0.map(function(Y0){return Y0.return_})));return g0.createSignature(void 0,void 0,void 0,G0,Q1,void 0,d1,0)}function t0(y0,G0){!G0||1&G0.flags||131072&G0.flags||(y0.candidateTypes||(y0.candidateTypes=[])).push(G0)}function f0(y0,G0){!G0||1&G0.flags||131072&G0.flags||(y0.candidateThisTypes||(y0.candidateThisTypes=[])).push(G0)}}s.registerCodeFix({errorCodes:J,getCodeActions:function(G){var u0,U=G.sourceFile,g0=G.program,d0=G.span.start,P0=G.errorCode,c0=G.cancellationToken,D0=G.host,x0=G.preferences,l0=e.getTokenAtPosition(U,d0),w0=e.textChanges.ChangeTracker.with(G,function(w){u0=s1(w,U,l0,P0,g0,c0,e.returnTrue,D0,x0)}),V=u0&&e.getNameOfDeclaration(u0);return V&&w0.length!==0?[s.createCodeFixAction(X,w0,[m0(P0,l0),V.getText(U)],X,e.Diagnostics.Infer_all_types_from_usage)]:void 0},fixIds:[X],getAllCodeActions:function(G){var u0=G.sourceFile,U=G.program,g0=G.cancellationToken,d0=G.host,P0=G.preferences,c0=e.nodeSeenTracker();return s.codeFixAll(G,J,function(D0,x0){s1(D0,u0,e.getTokenAtPosition(x0.file,x0.start),x0.code,U,g0,c0,d0,P0)})}}),s.addJSDocTags=A})(e.codefix||(e.codefix={}))}(_0||(_0={})),function(e){(function(s){var X=\"fixReturnTypeInAsyncFunction\",J=[e.Diagnostics.The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_write_Promise_0.code];function m0(i0,H0,E0){if(!e.isInJSFile(i0)){var I=e.getTokenAtPosition(i0,E0),A=e.findAncestor(I,e.isFunctionLikeDeclaration),Z=A==null?void 0:A.type;if(Z){var A0=H0.getTypeFromTypeNode(Z),o0=H0.getAwaitedType(A0)||H0.getVoidType(),j=H0.typeToTypeNode(o0,Z,void 0);return j?{returnTypeNode:Z,returnType:A0,promisedTypeNode:j,promisedType:o0}:void 0}}}function s1(i0,H0,E0,I){i0.replaceNode(H0,E0,e.factory.createTypeReferenceNode(\"Promise\",[I]))}s.registerCodeFix({errorCodes:J,fixIds:[X],getCodeActions:function(i0){var H0=i0.sourceFile,E0=i0.program,I=i0.span,A=E0.getTypeChecker(),Z=m0(H0,E0.getTypeChecker(),I.start);if(Z){var A0=Z.returnTypeNode,o0=Z.returnType,j=Z.promisedTypeNode,G=Z.promisedType,u0=e.textChanges.ChangeTracker.with(i0,function(U){return s1(U,H0,A0,j)});return[s.createCodeFixAction(X,u0,[e.Diagnostics.Replace_0_with_Promise_1,A.typeToString(o0),A.typeToString(G)],X,e.Diagnostics.Fix_all_incorrect_return_type_of_an_async_functions)]}},getAllCodeActions:function(i0){return s.codeFixAll(i0,J,function(H0,E0){var I=m0(E0.file,i0.program.getTypeChecker(),E0.start);I&&s1(H0,E0.file,I.returnTypeNode,I.promisedTypeNode)})}})})(e.codefix||(e.codefix={}))}(_0||(_0={})),function(e){(function(s){var X=\"disableJsDiagnostics\",J=\"disableJsDiagnostics\",m0=e.mapDefined(Object.keys(e.Diagnostics),function(i0){var H0=e.Diagnostics[i0];return H0.category===e.DiagnosticCategory.Error?H0.code:void 0});function s1(i0,H0,E0,I){var A=e.getLineAndCharacterOfPosition(H0,E0).line;I&&!e.tryAddToSet(I,A)||i0.insertCommentBeforeLine(H0,A,E0,\" @ts-ignore\")}s.registerCodeFix({errorCodes:m0,getCodeActions:function(i0){var H0=i0.sourceFile,E0=i0.program,I=i0.span,A=i0.host,Z=i0.formatContext;if(e.isInJSFile(H0)&&e.isCheckJsEnabledForFile(H0,E0.getCompilerOptions())){var A0=H0.checkJsDirective?\"\":e.getNewLineOrDefaultFromHost(A,Z.options),o0=[s.createCodeFixActionWithoutFixAll(X,[s.createFileTextChanges(H0.fileName,[e.createTextChange(H0.checkJsDirective?e.createTextSpanFromBounds(H0.checkJsDirective.pos,H0.checkJsDirective.end):e.createTextSpan(0,0),\"// @ts-nocheck\"+A0)])],e.Diagnostics.Disable_checking_for_this_file)];return e.textChanges.isValidLocationToAddComment(H0,I.start)&&o0.unshift(s.createCodeFixAction(X,e.textChanges.ChangeTracker.with(i0,function(j){return s1(j,H0,I.start)}),e.Diagnostics.Ignore_this_error_message,J,e.Diagnostics.Add_ts_ignore_to_all_error_messages)),o0}},fixIds:[J],getAllCodeActions:function(i0){var H0=new e.Set;return s.codeFixAll(i0,m0,function(E0,I){e.textChanges.isValidLocationToAddComment(I.file,I.start)&&s1(E0,I.file,I.start,H0)})}})})(e.codefix||(e.codefix={}))}(_0||(_0={})),function(e){(function(s){function X(j){return{trackSymbol:e.noop,moduleResolverHost:e.getModuleSpecifierResolverHost(j.program,j.host)}}function J(j,G,u0,U,g0,d0,P0){var c0=j.getDeclarations();if(c0&&c0.length){var D0=U.program.getTypeChecker(),x0=e.getEmitScriptTarget(U.program.getCompilerOptions()),l0=c0[0],w0=e.getSynthesizedDeepClone(e.getNameOfDeclaration(l0),!1),V=function(G1){if(4&G1)return e.factory.createToken(122);if(16&G1)return e.factory.createToken(121)}(e.getEffectiveModifierFlags(l0)),w=V?e.factory.createNodeArray([V]):void 0,H=D0.getWidenedType(D0.getTypeOfSymbolAtLocation(j,G)),k0=!!(16777216&j.flags),V0=!!(8388608&G.flags),t0=e.getQuotePreference(u0,g0);switch(l0.kind){case 163:case 164:var f0=t0===0?268435456:void 0,y0=D0.typeToTypeNode(H,G,f0,X(U));d0&&(G0=Z(y0,x0))&&(y0=G0.typeNode,o0(d0,G0.symbols)),P0(e.factory.createPropertyDeclaration(void 0,w,w0,k0?e.factory.createToken(57):void 0,y0,void 0));break;case 168:case 169:var G0,d1=D0.typeToTypeNode(H,G,void 0,X(U)),h1=e.getAllAccessorDeclarations(c0,l0),S1=h1.secondAccessor?[h1.firstAccessor,h1.secondAccessor]:[h1.firstAccessor];d0&&(G0=Z(d1,x0))&&(d1=G0.typeNode,o0(d0,G0.symbols));for(var Q1=0,Y0=S1;Q1<Y0.length;Q1++){var $1=Y0[Q1];if(e.isGetAccessorDeclaration($1))P0(e.factory.createGetAccessorDeclaration(void 0,w,w0,e.emptyArray,d1,V0?void 0:i0(t0)));else{e.Debug.assertNode($1,e.isSetAccessorDeclaration,\"The counterpart to a getter should be a setter\");var Z1=e.getSetAccessorValueParameter($1),Q0=Z1&&e.isIdentifier(Z1.name)?e.idText(Z1.name):void 0;P0(e.factory.createSetAccessorDeclaration(void 0,w,w0,s1(1,[Q0],[d1],1,!1),V0?void 0:i0(t0)))}}break;case 165:case 166:var y1=D0.getSignaturesOfType(H,0);if(!e.some(y1))break;if(c0.length===1){e.Debug.assert(y1.length===1,\"One declaration implies one signature\"),K0(t0,y1[0],w,w0,V0?void 0:i0(t0));break}for(var k1=0,I1=y1;k1<I1.length;k1++)K0(t0,I1[k1],e.getSynthesizedDeepClones(w,!1),e.getSynthesizedDeepClone(w0,!1));V0||(c0.length>y1.length?K0(t0,D0.getSignatureFromDeclaration(c0[c0.length-1]),w,w0,i0(t0)):(e.Debug.assert(c0.length===y1.length,\"Declarations and signatures should match count\"),P0(function(G1,Nx,n1,S0,I0,U0,p0,p1){for(var Y1=S0[0],N1=S0[0].minArgumentCount,V1=!1,Ox=0,$x=S0;Ox<$x.length;Ox++){var rx=$x[Ox];N1=Math.min(rx.minArgumentCount,N1),e.signatureHasRestParameter(rx)&&(V1=!0),rx.parameters.length>=Y1.parameters.length&&(!e.signatureHasRestParameter(rx)||e.signatureHasRestParameter(Y1))&&(Y1=rx)}var O0=Y1.parameters.length-(e.signatureHasRestParameter(Y1)?1:0),C1=Y1.parameters.map(function(Px){return Px.name}),nx=s1(O0,C1,void 0,N1,!1);if(V1){var O=e.factory.createArrayTypeNode(e.factory.createKeywordTypeNode(128)),b1=e.factory.createParameterDeclaration(void 0,void 0,e.factory.createToken(25),C1[O0]||\"rest\",O0>=N1?e.factory.createToken(57):void 0,O,void 0);nx.push(b1)}return function(Px,me,Re,gt,Vt,wr,gr){return e.factory.createMethodDeclaration(void 0,Px,void 0,me,Re?e.factory.createToken(57):void 0,gt,Vt,wr,i0(gr))}(p0,I0,U0,void 0,nx,function(Px,me,Re,gt){if(e.length(Px)){var Vt=me.getUnionType(e.map(Px,me.getReturnTypeOfSignature));return me.typeToTypeNode(Vt,gt,void 0,X(Re))}}(S0,G1,Nx,n1),p1)}(D0,U,G,y1,w0,k0,w,t0))))}}function K0(G1,Nx,n1,S0,I0){var U0=function(p0,p1,Y1,N1,V1,Ox,$x,rx,O0){var C1=p0.program,nx=C1.getTypeChecker(),O=e.getEmitScriptTarget(C1.getCompilerOptions()),b1=1073742081|(p1===0?268435456:0),Px=nx.signatureToSignatureDeclaration(Y1,166,N1,b1,X(p0));if(!!Px){var me=Px.typeParameters,Re=Px.parameters,gt=Px.type;if(O0){if(me){var Vt=e.sameMap(me,function(Nt){var Ir,xr=Nt.constraint,Bt=Nt.default;return xr&&(Ir=Z(xr,O))&&(xr=Ir.typeNode,o0(O0,Ir.symbols)),Bt&&(Ir=Z(Bt,O))&&(Bt=Ir.typeNode,o0(O0,Ir.symbols)),e.factory.updateTypeParameterDeclaration(Nt,Nt.name,xr,Bt)});me!==Vt&&(me=e.setTextRange(e.factory.createNodeArray(Vt,me.hasTrailingComma),me))}var wr=e.sameMap(Re,function(Nt){var Ir=Z(Nt.type,O),xr=Nt.type;return Ir&&(xr=Ir.typeNode,o0(O0,Ir.symbols)),e.factory.updateParameterDeclaration(Nt,Nt.decorators,Nt.modifiers,Nt.dotDotDotToken,Nt.name,Nt.questionToken,xr,Nt.initializer)});if(Re!==wr&&(Re=e.setTextRange(e.factory.createNodeArray(wr,Re.hasTrailingComma),Re)),gt){var gr=Z(gt,O);gr&&(gt=gr.typeNode,o0(O0,gr.symbols))}}return e.factory.updateMethodDeclaration(Px,void 0,V1,Px.asteriskToken,Ox,$x?e.factory.createToken(57):void 0,me,Re,gt,rx)}}(U,G1,Nx,G,n1,S0,k0,I0,d0);U0&&P0(U0)}}function m0(j,G,u0,U,g0,d0,P0){var c0=j.typeToTypeNode(u0,U,d0,P0);if(c0&&e.isImportTypeNode(c0)){var D0=Z(c0,g0);if(D0)return o0(G,D0.symbols),D0.typeNode}return c0}function s1(j,G,u0,U,g0){for(var d0=[],P0=0;P0<j;P0++){var c0=e.factory.createParameterDeclaration(void 0,void 0,void 0,G&&G[P0]||\"arg\"+P0,U!==void 0&&P0>=U?e.factory.createToken(57):void 0,g0?void 0:u0&&u0[P0]||e.factory.createKeywordTypeNode(128),void 0);d0.push(c0)}return d0}function i0(j){return H0(e.Diagnostics.Method_not_implemented.message,j)}function H0(j,G){return e.factory.createBlock([e.factory.createThrowStatement(e.factory.createNewExpression(e.factory.createIdentifier(\"Error\"),void 0,[e.factory.createStringLiteral(j,G===0)]))],!0)}function E0(j,G,u0){var U=e.getTsConfigObjectLiteralExpression(G);if(U){var g0=A(U,\"compilerOptions\");if(g0!==void 0){var d0=g0.initializer;if(e.isObjectLiteralExpression(d0))for(var P0=0,c0=u0;P0<c0.length;P0++){var D0=c0[P0],x0=D0[0],l0=D0[1],w0=A(d0,x0);w0===void 0?j.insertNodeAtObjectStart(G,d0,I(x0,l0)):j.replaceNode(G,w0.initializer,l0)}}else j.insertNodeAtObjectStart(G,U,I(\"compilerOptions\",e.factory.createObjectLiteralExpression(u0.map(function(V){return I(V[0],V[1])}),!0)))}}function I(j,G){return e.factory.createPropertyAssignment(e.factory.createStringLiteral(j),G)}function A(j,G){return e.find(j.properties,function(u0){return e.isPropertyAssignment(u0)&&!!u0.name&&e.isStringLiteral(u0.name)&&u0.name.text===G})}function Z(j,G){var u0,U=e.visitNode(j,function g0(d0){var P0;if(e.isLiteralImportTypeNode(d0)&&d0.qualifier){var c0=e.getFirstIdentifier(d0.qualifier),D0=e.getNameForExportedSymbol(c0.symbol,G),x0=D0!==c0.text?A0(d0.qualifier,e.factory.createIdentifier(D0)):d0.qualifier;u0=e.append(u0,c0.symbol);var l0=(P0=d0.typeArguments)===null||P0===void 0?void 0:P0.map(g0);return e.factory.createTypeReferenceNode(x0,l0)}return e.visitEachChild(d0,g0,e.nullTransformationContext)});if(u0&&U)return{typeNode:U,symbols:u0}}function A0(j,G){return j.kind===78?G:e.factory.createQualifiedName(A0(j.left,G),j.right)}function o0(j,G){G.forEach(function(u0){return j.addImportFromExportedSymbol(u0,!0)})}s.createMissingMemberNodes=function(j,G,u0,U,g0,d0,P0){for(var c0=j.symbol.members,D0=0,x0=G;D0<x0.length;D0++){var l0=x0[D0];c0.has(l0.escapedName)||J(l0,j,u0,U,g0,d0,P0)}},s.getNoopSymbolTrackerWithResolver=X,s.createSignatureDeclarationFromCallExpression=function(j,G,u0,U,g0,d0,P0){var c0=e.getQuotePreference(G.sourceFile,G.preferences),D0=e.getEmitScriptTarget(G.program.getCompilerOptions()),x0=X(G),l0=G.program.getTypeChecker(),w0=e.isInJSFile(P0),V=U.typeArguments,w=U.arguments,H=U.parent,k0=w0?void 0:l0.getContextualType(U),V0=e.map(w,function(S1){return e.isIdentifier(S1)?S1.text:e.isPropertyAccessExpression(S1)&&e.isIdentifier(S1.name)?S1.name.text:void 0}),t0=w0?[]:e.map(w,function(S1){return m0(l0,u0,l0.getBaseTypeOfLiteralType(l0.getTypeAtLocation(S1)),P0,D0,void 0,x0)}),f0=d0?e.factory.createNodeArray(e.factory.createModifiersFromModifierFlags(d0)):void 0,y0=e.isYieldExpression(H)?e.factory.createToken(41):void 0,G0=w0||V===void 0?void 0:e.map(V,function(S1,Q1){return e.factory.createTypeParameterDeclaration(84+V.length-1<=90?String.fromCharCode(84+Q1):\"T\"+Q1)}),d1=s1(w.length,V0,t0,void 0,w0),h1=w0||k0===void 0?void 0:l0.typeToTypeNode(k0,P0,void 0,x0);return j===166?e.factory.createMethodDeclaration(void 0,f0,y0,g0,void 0,G0,d1,h1,e.isInterfaceDeclaration(P0)?void 0:i0(c0)):e.factory.createFunctionDeclaration(void 0,f0,y0,g0,G0,d1,h1,H0(e.Diagnostics.Function_not_implemented.message,c0))},s.typeToAutoImportableTypeNode=m0,s.createStubbedBody=H0,s.setJsonCompilerOptionValues=E0,s.setJsonCompilerOptionValue=function(j,G,u0,U){E0(j,G,[[u0,U]])},s.createJsonPropertyAssignment=I,s.findJsonProperty=A,s.tryGetAutoImportableReferenceFromTypeNode=Z,s.importSymbols=o0})(e.codefix||(e.codefix={}))}(_0||(_0={})),function(e){(function(s){function X(E0){return e.isParameterPropertyDeclaration(E0,E0.parent)||e.isPropertyDeclaration(E0)||e.isPropertyAssignment(E0)}function J(E0,I){return e.isIdentifier(I)?e.factory.createIdentifier(E0):e.factory.createStringLiteral(E0)}function m0(E0,I,A){var Z=I?A.name:e.factory.createThis();return e.isIdentifier(E0)?e.factory.createPropertyAccessExpression(Z,E0):e.factory.createElementAccessExpression(Z,e.factory.createStringLiteralFromNode(E0))}function s1(E0,I,A,Z,A0){A0===void 0&&(A0=!0);var o0=e.getTokenAtPosition(E0,A),j=A===Z&&A0,G=e.findAncestor(o0.parent,X);if(!G||!e.nodeOverlapsWithStartEnd(G.name,E0,A,Z)&&!j)return{error:e.getLocaleSpecificMessage(e.Diagnostics.Could_not_find_property_for_which_to_generate_accessor)};if(!function(P0){return e.isIdentifier(P0)||e.isStringLiteral(P0)}(G.name))return{error:e.getLocaleSpecificMessage(e.Diagnostics.Name_is_not_valid)};if((124|e.getEffectiveModifierFlags(G))!=124)return{error:e.getLocaleSpecificMessage(e.Diagnostics.Can_only_convert_property_with_modifier)};var u0=G.name.text,U=e.startsWithUnderscore(u0),g0=J(U?u0:e.getUniqueName(\"_\"+u0,E0),G.name),d0=J(U?e.getUniqueName(u0.substring(1),E0):u0,G.name);return{isStatic:e.hasStaticModifier(G),isReadonly:e.hasEffectiveReadonlyModifier(G),type:H0(G,I),container:G.kind===161?G.parent.parent:G.parent,originalName:G.name.text,declaration:G,fieldName:g0,accessorName:d0,renameAccessor:U}}function i0(E0,I,A,Z,A0){e.isParameterPropertyDeclaration(Z,Z.parent)?E0.insertNodeAtClassStart(I,A0,A):e.isPropertyAssignment(Z)?E0.insertNodeAfterComma(I,Z,A):E0.insertNodeAfter(I,Z,A)}function H0(E0,I){var A=e.getTypeAnnotationNode(E0);if(e.isPropertyDeclaration(E0)&&A&&E0.questionToken){var Z=I.getTypeChecker(),A0=Z.getTypeFromTypeNode(A);if(!Z.isTypeAssignableTo(Z.getUndefinedType(),A0)){var o0=e.isUnionTypeNode(A)?A.types:[A];return e.factory.createUnionTypeNode(D(D([],o0),[e.factory.createKeywordTypeNode(150)]))}}return A}s.generateAccessorFromProperty=function(E0,I,A,Z,A0,o0){var j=s1(E0,I,A,Z);if(j&&!e.refactor.isRefactorErrorInfo(j)){var G,u0,U=e.textChanges.ChangeTracker.fromContext(A0),g0=j.isStatic,d0=j.isReadonly,P0=j.fieldName,c0=j.accessorName,D0=j.originalName,x0=j.type,l0=j.container,w0=j.declaration;if(e.suppressLeadingAndTrailingTrivia(P0),e.suppressLeadingAndTrailingTrivia(c0),e.suppressLeadingAndTrailingTrivia(w0),e.suppressLeadingAndTrailingTrivia(l0),e.isClassLike(l0)){var V=e.getEffectiveModifierFlags(w0);if(e.isSourceFileJS(E0)){var w=e.createModifiers(V);G=w,u0=w}else G=e.createModifiers(function(t0){return t0&=-65,16&(t0&=-9)||(t0|=4),t0}(V)),u0=e.createModifiers(function(t0){return t0&=-5,t0&=-17,t0|=8}(V))}(function(t0,f0,y0,G0,d1,h1){e.isPropertyDeclaration(y0)?function(S1,Q1,Y0,$1,Z1,Q0){var y1=e.factory.updatePropertyDeclaration(Y0,Y0.decorators,Q0,Z1,Y0.questionToken||Y0.exclamationToken,$1,Y0.initializer);S1.replaceNode(Q1,Y0,y1)}(t0,f0,y0,G0,d1,h1):e.isPropertyAssignment(y0)?function(S1,Q1,Y0,$1){var Z1=e.factory.updatePropertyAssignment(Y0,$1,Y0.initializer);S1.replacePropertyAssignment(Q1,Y0,Z1)}(t0,f0,y0,d1):t0.replaceNode(f0,y0,e.factory.updateParameterDeclaration(y0,y0.decorators,h1,y0.dotDotDotToken,e.cast(d1,e.isIdentifier),y0.questionToken,y0.type,y0.initializer))})(U,E0,w0,x0,P0,u0);var H=function(t0,f0,y0,G0,d1,h1){return e.factory.createGetAccessorDeclaration(void 0,G0,f0,void 0,y0,e.factory.createBlock([e.factory.createReturnStatement(m0(t0,d1,h1))],!0))}(P0,c0,x0,G,g0,l0);if(e.suppressLeadingAndTrailingTrivia(H),i0(U,E0,H,w0,l0),d0){var k0=e.getFirstConstructorWithBody(l0);k0&&function(t0,f0,y0,G0,d1){!y0.body||y0.body.forEachChild(function h1(S1){e.isElementAccessExpression(S1)&&S1.expression.kind===107&&e.isStringLiteral(S1.argumentExpression)&&S1.argumentExpression.text===d1&&e.isWriteAccess(S1)&&t0.replaceNode(f0,S1.argumentExpression,e.factory.createStringLiteral(G0)),e.isPropertyAccessExpression(S1)&&S1.expression.kind===107&&S1.name.text===d1&&e.isWriteAccess(S1)&&t0.replaceNode(f0,S1.name,e.factory.createIdentifier(G0)),e.isFunctionLike(S1)||e.isClassLike(S1)||S1.forEachChild(h1)})}(U,E0,k0,P0.text,D0)}else{var V0=function(t0,f0,y0,G0,d1,h1){return e.factory.createSetAccessorDeclaration(void 0,G0,f0,[e.factory.createParameterDeclaration(void 0,void 0,void 0,e.factory.createIdentifier(\"value\"),void 0,y0)],e.factory.createBlock([e.factory.createExpressionStatement(e.factory.createAssignment(m0(t0,d1,h1),e.factory.createIdentifier(\"value\")))],!0))}(P0,c0,x0,G,g0,l0);e.suppressLeadingAndTrailingTrivia(V0),i0(U,E0,V0,w0,l0)}return U.getChanges()}},s.getAccessorConvertiblePropertyAtPosition=s1,s.getAllSupers=function(E0,I){for(var A=[];E0;){var Z=e.getClassExtendsHeritageElement(E0),A0=Z&&I.getSymbolAtLocation(Z.expression);if(!A0)break;var o0=2097152&A0.flags?I.getAliasedSymbol(A0):A0,j=o0.declarations&&e.find(o0.declarations,e.isClassLike);if(!j)break;A.push(j),E0=j}return A}})(e.codefix||(e.codefix={}))}(_0||(_0={})),function(e){(function(s){var X=\"invalidImportSyntax\";function J(s1,i0,H0,E0){var I=e.textChanges.ChangeTracker.with(s1,function(A){return A.replaceNode(i0,H0,E0)});return s.createCodeFixActionWithoutFixAll(X,I,[e.Diagnostics.Replace_import_with_0,I[0].textChanges[0].newText])}function m0(s1,i0){var H0=s1.program.getTypeChecker().getTypeAtLocation(i0);if(!H0.symbol||!H0.symbol.originatingImport)return[];var E0=[],I=H0.symbol.originatingImport;if(e.isImportCall(I)||e.addRange(E0,function(A0,o0){var j=e.getSourceFileOfNode(o0),G=e.getNamespaceDeclarationNode(o0),u0=A0.program.getCompilerOptions(),U=[];return U.push(J(A0,j,o0,e.makeImport(G.name,void 0,o0.moduleSpecifier,e.getQuotePreference(j,A0.preferences)))),e.getEmitModuleKind(u0)===e.ModuleKind.CommonJS&&U.push(J(A0,j,o0,e.factory.createImportEqualsDeclaration(void 0,void 0,!1,G.name,e.factory.createExternalModuleReference(o0.moduleSpecifier)))),U}(s1,I)),e.isExpression(i0)&&(!e.isNamedDeclaration(i0.parent)||i0.parent.name!==i0)){var A=s1.sourceFile,Z=e.textChanges.ChangeTracker.with(s1,function(A0){return A0.replaceNode(A,i0,e.factory.createPropertyAccessExpression(i0,\"default\"),{})});E0.push(s.createCodeFixActionWithoutFixAll(X,Z,e.Diagnostics.Use_synthetic_default_member))}return E0}s.registerCodeFix({errorCodes:[e.Diagnostics.This_expression_is_not_callable.code,e.Diagnostics.This_expression_is_not_constructable.code],getCodeActions:function(s1){var i0=s1.sourceFile,H0=e.Diagnostics.This_expression_is_not_callable.code===s1.errorCode?204:205,E0=e.findAncestor(e.getTokenAtPosition(i0,s1.span.start),function(A){return A.kind===H0});if(!E0)return[];var I=E0.expression;return m0(s1,I)}}),s.registerCodeFix({errorCodes:[e.Diagnostics.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code,e.Diagnostics.Type_0_does_not_satisfy_the_constraint_1.code,e.Diagnostics.Type_0_is_not_assignable_to_type_1.code,e.Diagnostics.Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated.code,e.Diagnostics.Type_predicate_0_is_not_assignable_to_1.code,e.Diagnostics.Property_0_of_type_1_is_not_assignable_to_string_index_type_2.code,e.Diagnostics.Property_0_of_type_1_is_not_assignable_to_numeric_index_type_2.code,e.Diagnostics.Numeric_index_type_0_is_not_assignable_to_string_index_type_1.code,e.Diagnostics.Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2.code,e.Diagnostics.Property_0_in_type_1_is_not_assignable_to_type_2.code,e.Diagnostics.Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property.code,e.Diagnostics.The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1.code],getCodeActions:function(s1){var i0=s1.sourceFile,H0=e.findAncestor(e.getTokenAtPosition(i0,s1.span.start),function(E0){return E0.getStart()===s1.span.start&&E0.getEnd()===s1.span.start+s1.span.length});return H0?m0(s1,H0):[]}})})(e.codefix||(e.codefix={}))}(_0||(_0={})),function(e){(function(s){var X=\"strictClassInitialization\",J=\"addMissingPropertyDefiniteAssignmentAssertions\",m0=\"addMissingPropertyUndefinedType\",s1=\"addMissingPropertyInitializer\",i0=[e.Diagnostics.Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor.code];function H0(G,u0){var U=e.getTokenAtPosition(G,u0);return e.isIdentifier(U)?e.cast(U.parent,e.isPropertyDeclaration):void 0}function E0(G,u0){var U=e.textChanges.ChangeTracker.with(G,function(g0){return I(g0,G.sourceFile,u0)});return s.createCodeFixAction(X,U,[e.Diagnostics.Add_definite_assignment_assertion_to_property_0,u0.getText()],J,e.Diagnostics.Add_definite_assignment_assertions_to_all_uninitialized_properties)}function I(G,u0,U){var g0=e.factory.updatePropertyDeclaration(U,U.decorators,U.modifiers,U.name,e.factory.createToken(53),U.type,U.initializer);G.replaceNode(u0,U,g0)}function A(G,u0){var U=e.textChanges.ChangeTracker.with(G,function(g0){return Z(g0,G.sourceFile,u0)});return s.createCodeFixAction(X,U,[e.Diagnostics.Add_undefined_type_to_property_0,u0.name.getText()],m0,e.Diagnostics.Add_undefined_type_to_all_uninitialized_properties)}function Z(G,u0,U){var g0=e.factory.createKeywordTypeNode(150),d0=U.type,P0=e.isUnionTypeNode(d0)?d0.types.concat(g0):[d0,g0];G.replaceNode(u0,d0,e.factory.createUnionTypeNode(P0))}function A0(G,u0,U,g0){var d0=e.factory.updatePropertyDeclaration(U,U.decorators,U.modifiers,U.name,U.questionToken,U.type,g0);G.replaceNode(u0,U,d0)}function o0(G,u0){return j(G,G.getTypeFromTypeNode(u0.type))}function j(G,u0){if(512&u0.flags)return u0===G.getFalseType()||u0===G.getFalseType(!0)?e.factory.createFalse():e.factory.createTrue();if(u0.isStringLiteral())return e.factory.createStringLiteral(u0.value);if(u0.isNumberLiteral())return e.factory.createNumericLiteral(u0.value);if(2048&u0.flags)return e.factory.createBigIntLiteral(u0.value);if(u0.isUnion())return e.firstDefined(u0.types,function(d0){return j(G,d0)});if(u0.isClass()){var U=e.getClassLikeDeclarationOfSymbol(u0.symbol);if(!U||e.hasSyntacticModifier(U,128))return;var g0=e.getFirstConstructorWithBody(U);return g0&&g0.parameters.length?void 0:e.factory.createNewExpression(e.factory.createIdentifier(u0.symbol.name),void 0,void 0)}return G.isArrayLikeType(u0)?e.factory.createArrayLiteralExpression():void 0}s.registerCodeFix({errorCodes:i0,getCodeActions:function(G){var u0=H0(G.sourceFile,G.span.start);if(u0){var U=[A(G,u0),E0(G,u0)];return e.append(U,function(g0,d0){var P0=o0(g0.program.getTypeChecker(),d0);if(!!P0){var c0=e.textChanges.ChangeTracker.with(g0,function(D0){return A0(D0,g0.sourceFile,d0,P0)});return s.createCodeFixAction(X,c0,[e.Diagnostics.Add_initializer_to_property_0,d0.name.getText()],s1,e.Diagnostics.Add_initializers_to_all_uninitialized_properties)}}(G,u0)),U}},fixIds:[J,m0,s1],getAllCodeActions:function(G){return s.codeFixAll(G,i0,function(u0,U){var g0=H0(U.file,U.start);if(g0)switch(G.fixId){case J:I(u0,U.file,g0);break;case m0:Z(u0,U.file,g0);break;case s1:var d0=o0(G.program.getTypeChecker(),g0);if(!d0)return;A0(u0,U.file,g0,d0);break;default:e.Debug.fail(JSON.stringify(G.fixId))}})}})})(e.codefix||(e.codefix={}))}(_0||(_0={})),function(e){(function(s){var X=\"requireInTs\",J=[e.Diagnostics.require_call_may_be_converted_to_an_import.code];function m0(i0,H0,E0){var I=E0.allowSyntheticDefaults,A=E0.defaultImportName,Z=E0.namedImports,A0=E0.statement,o0=E0.required;i0.replaceNode(H0,A0,A&&!I?e.factory.createImportEqualsDeclaration(void 0,void 0,!1,A,e.factory.createExternalModuleReference(o0)):e.factory.createImportDeclaration(void 0,void 0,e.factory.createImportClause(!1,A,Z),o0))}function s1(i0,H0,E0){var I=e.getTokenAtPosition(i0,E0).parent;if(!e.isRequireCall(I,!0))throw e.Debug.failBadSyntaxKind(I);var A=e.cast(I.parent,e.isVariableDeclaration),Z=e.tryCast(A.name,e.isIdentifier),A0=e.isObjectBindingPattern(A.name)?function(o0){for(var j=[],G=0,u0=o0.elements;G<u0.length;G++){var U=u0[G];if(!e.isIdentifier(U.name)||U.initializer)return;j.push(e.factory.createImportSpecifier(e.tryCast(U.propertyName,e.isIdentifier),U.name))}if(j.length)return e.factory.createNamedImports(j)}(A.name):void 0;if(Z||A0)return{allowSyntheticDefaults:e.getAllowSyntheticDefaultImports(H0.getCompilerOptions()),defaultImportName:Z,namedImports:A0,statement:e.cast(A.parent.parent,e.isVariableStatement),required:e.first(I.arguments)}}s.registerCodeFix({errorCodes:J,getCodeActions:function(i0){var H0=s1(i0.sourceFile,i0.program,i0.span.start);if(H0){var E0=e.textChanges.ChangeTracker.with(i0,function(I){return m0(I,i0.sourceFile,H0)});return[s.createCodeFixAction(X,E0,e.Diagnostics.Convert_require_to_import,X,e.Diagnostics.Convert_all_require_to_import)]}},fixIds:[X],getAllCodeActions:function(i0){return s.codeFixAll(i0,J,function(H0,E0){var I=s1(E0.file,i0.program,E0.start);I&&m0(H0,i0.sourceFile,I)})}})})(e.codefix||(e.codefix={}))}(_0||(_0={})),function(e){(function(s){var X=\"useDefaultImport\",J=[e.Diagnostics.Import_may_be_converted_to_a_default_import.code];function m0(i0,H0){var E0=e.getTokenAtPosition(i0,H0);if(e.isIdentifier(E0)){var I=E0.parent;if(e.isImportEqualsDeclaration(I)&&e.isExternalModuleReference(I.moduleReference))return{importNode:I,name:E0,moduleSpecifier:I.moduleReference.expression};if(e.isNamespaceImport(I)){var A=I.parent.parent;return{importNode:A,name:E0,moduleSpecifier:A.moduleSpecifier}}}}function s1(i0,H0,E0,I){i0.replaceNode(H0,E0.importNode,e.makeImport(E0.name,void 0,E0.moduleSpecifier,e.getQuotePreference(H0,I)))}s.registerCodeFix({errorCodes:J,getCodeActions:function(i0){var H0=i0.sourceFile,E0=i0.span.start,I=m0(H0,E0);if(I){var A=e.textChanges.ChangeTracker.with(i0,function(Z){return s1(Z,H0,I,i0.preferences)});return[s.createCodeFixAction(X,A,e.Diagnostics.Convert_to_default_import,X,e.Diagnostics.Convert_all_to_default_imports)]}},fixIds:[X],getAllCodeActions:function(i0){return s.codeFixAll(i0,J,function(H0,E0){var I=m0(E0.file,E0.start);I&&s1(H0,E0.file,I,i0.preferences)})}})})(e.codefix||(e.codefix={}))}(_0||(_0={})),function(e){(function(s){var X=\"useBigintLiteral\",J=[e.Diagnostics.Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accurately_as_integers.code];function m0(s1,i0,H0){var E0=e.tryCast(e.getTokenAtPosition(i0,H0.start),e.isNumericLiteral);if(E0){var I=E0.getText(i0)+\"n\";s1.replaceNode(i0,E0,e.factory.createBigIntLiteral(I))}}s.registerCodeFix({errorCodes:J,getCodeActions:function(s1){var i0=e.textChanges.ChangeTracker.with(s1,function(H0){return m0(H0,s1.sourceFile,s1.span)});if(i0.length>0)return[s.createCodeFixAction(X,i0,e.Diagnostics.Convert_to_a_bigint_numeric_literal,X,e.Diagnostics.Convert_all_to_bigint_numeric_literals)]},fixIds:[X],getAllCodeActions:function(s1){return s.codeFixAll(s1,J,function(i0,H0){return m0(i0,H0.file,H0)})}})})(e.codefix||(e.codefix={}))}(_0||(_0={})),function(e){(function(s){var X=\"fixAddModuleReferTypeMissingTypeof\",J=[e.Diagnostics.Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0.code];function m0(i0,H0){var E0=e.getTokenAtPosition(i0,H0);return e.Debug.assert(E0.kind===99,\"This token should be an ImportKeyword\"),e.Debug.assert(E0.parent.kind===196,\"Token parent should be an ImportType\"),E0.parent}function s1(i0,H0,E0){var I=e.factory.updateImportTypeNode(E0,E0.argument,E0.qualifier,E0.typeArguments,!0);i0.replaceNode(H0,E0,I)}s.registerCodeFix({errorCodes:J,getCodeActions:function(i0){var H0=i0.sourceFile,E0=i0.span,I=m0(H0,E0.start),A=e.textChanges.ChangeTracker.with(i0,function(Z){return s1(Z,H0,I)});return[s.createCodeFixAction(X,A,e.Diagnostics.Add_missing_typeof,X,e.Diagnostics.Add_missing_typeof)]},fixIds:[X],getAllCodeActions:function(i0){return s.codeFixAll(i0,J,function(H0,E0){return s1(H0,i0.sourceFile,m0(E0.file,E0.start))})}})})(e.codefix||(e.codefix={}))}(_0||(_0={})),function(e){(function(s){var X=\"wrapJsxInFragment\",J=[e.Diagnostics.JSX_expressions_must_have_one_parent_element.code];function m0(i0,H0){var E0=e.getTokenAtPosition(i0,H0).parent.parent;if((e.isBinaryExpression(E0)||(E0=E0.parent,e.isBinaryExpression(E0)))&&e.nodeIsMissing(E0.operatorToken))return E0}function s1(i0,H0,E0){var I=function(A){for(var Z=[],A0=A;;){if(e.isBinaryExpression(A0)&&e.nodeIsMissing(A0.operatorToken)&&A0.operatorToken.kind===27){if(Z.push(A0.left),e.isJsxChild(A0.right))return Z.push(A0.right),Z;if(e.isBinaryExpression(A0.right)){A0=A0.right;continue}return}return}}(E0);I&&i0.replaceNode(H0,E0,e.factory.createJsxFragment(e.factory.createJsxOpeningFragment(),I,e.factory.createJsxJsxClosingFragment()))}s.registerCodeFix({errorCodes:J,getCodeActions:function(i0){var H0=i0.program.getCompilerOptions().jsx;if(H0===2||H0===3){var E0=i0.sourceFile,I=i0.span,A=m0(E0,I.start);if(A){var Z=e.textChanges.ChangeTracker.with(i0,function(A0){return s1(A0,E0,A)});return[s.createCodeFixAction(X,Z,e.Diagnostics.Wrap_in_JSX_fragment,X,e.Diagnostics.Wrap_all_unparented_JSX_in_JSX_fragment)]}}},fixIds:[X],getAllCodeActions:function(i0){return s.codeFixAll(i0,J,function(H0,E0){var I=m0(i0.sourceFile,E0.start);I&&s1(H0,i0.sourceFile,I)})}})})(e.codefix||(e.codefix={}))}(_0||(_0={})),function(e){(function(s){var X=\"fixConvertToMappedObjectType\",J=[e.Diagnostics.An_index_signature_parameter_type_cannot_be_a_union_type_Consider_using_a_mapped_object_type_instead.code];function m0(i0,H0){var E0=e.getTokenAtPosition(i0,H0),I=e.cast(E0.parent.parent,e.isIndexSignatureDeclaration);if(!e.isClassDeclaration(I.parent))return{indexSignature:I,container:e.isInterfaceDeclaration(I.parent)?I.parent:e.cast(I.parent.parent,e.isTypeAliasDeclaration)}}function s1(i0,H0,E0){var I=E0.indexSignature,A=E0.container,Z=(e.isInterfaceDeclaration(A)?A.members:A.type.members).filter(function(u0){return!e.isIndexSignatureDeclaration(u0)}),A0=e.first(I.parameters),o0=e.factory.createTypeParameterDeclaration(e.cast(A0.name,e.isIdentifier),A0.type),j=e.factory.createMappedTypeNode(e.hasEffectiveReadonlyModifier(I)?e.factory.createModifier(142):void 0,o0,void 0,I.questionToken,I.type),G=e.factory.createIntersectionTypeNode(D(D(D([],e.getAllSuperTypeNodes(A)),[j]),Z.length?[e.factory.createTypeLiteralNode(Z)]:e.emptyArray));i0.replaceNode(H0,A,function(u0,U){return e.factory.createTypeAliasDeclaration(u0.decorators,u0.modifiers,u0.name,u0.typeParameters,U)}(A,G))}s.registerCodeFix({errorCodes:J,getCodeActions:function(i0){var H0=i0.sourceFile,E0=i0.span,I=m0(H0,E0.start);if(I){var A=e.textChanges.ChangeTracker.with(i0,function(A0){return s1(A0,H0,I)}),Z=e.idText(I.container.name);return[s.createCodeFixAction(X,A,[e.Diagnostics.Convert_0_to_mapped_object_type,Z],X,[e.Diagnostics.Convert_0_to_mapped_object_type,Z])]}},fixIds:[X],getAllCodeActions:function(i0){return s.codeFixAll(i0,J,function(H0,E0){var I=m0(E0.file,E0.start);I&&s1(H0,E0.file,I)})}})})(e.codefix||(e.codefix={}))}(_0||(_0={})),function(e){var s,X,J;s=e.codefix||(e.codefix={}),X=\"removeAccidentalCallParentheses\",J=[e.Diagnostics.This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without.code],s.registerCodeFix({errorCodes:J,getCodeActions:function(m0){var s1=e.findAncestor(e.getTokenAtPosition(m0.sourceFile,m0.span.start),e.isCallExpression);if(s1){var i0=e.textChanges.ChangeTracker.with(m0,function(H0){H0.deleteRange(m0.sourceFile,{pos:s1.expression.end,end:s1.end})});return[s.createCodeFixActionWithoutFixAll(X,i0,e.Diagnostics.Remove_parentheses)]}},fixIds:[X]})}(_0||(_0={})),function(e){(function(s){var X=\"removeUnnecessaryAwait\",J=[e.Diagnostics.await_has_no_effect_on_the_type_of_this_expression.code];function m0(s1,i0,H0){var E0=e.tryCast(e.getTokenAtPosition(i0,H0.start),function(o0){return o0.kind===130}),I=E0&&e.tryCast(E0.parent,e.isAwaitExpression);if(I){var A=I;if(e.isParenthesizedExpression(I.parent)){var Z=e.getLeftmostExpression(I.expression,!1);if(e.isIdentifier(Z)){var A0=e.findPrecedingToken(I.parent.pos,i0);A0&&A0.kind!==102&&(A=I.parent)}}s1.replaceNode(i0,A,I.expression)}}s.registerCodeFix({errorCodes:J,getCodeActions:function(s1){var i0=e.textChanges.ChangeTracker.with(s1,function(H0){return m0(H0,s1.sourceFile,s1.span)});if(i0.length>0)return[s.createCodeFixAction(X,i0,e.Diagnostics.Remove_unnecessary_await,X,e.Diagnostics.Remove_all_unnecessary_uses_of_await)]},fixIds:[X],getAllCodeActions:function(s1){return s.codeFixAll(s1,J,function(i0,H0){return m0(i0,H0.file,H0)})}})})(e.codefix||(e.codefix={}))}(_0||(_0={})),function(e){(function(s){var X=[e.Diagnostics.A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both.code],J=\"splitTypeOnlyImport\";function m0(i0,H0){return e.findAncestor(e.getTokenAtPosition(i0,H0.start),e.isImportDeclaration)}function s1(i0,H0,E0){if(H0){var I=e.Debug.checkDefined(H0.importClause);i0.replaceNode(E0.sourceFile,H0,e.factory.updateImportDeclaration(H0,H0.decorators,H0.modifiers,e.factory.updateImportClause(I,I.isTypeOnly,I.name,void 0),H0.moduleSpecifier)),i0.insertNodeAfter(E0.sourceFile,H0,e.factory.createImportDeclaration(void 0,void 0,e.factory.updateImportClause(I,I.isTypeOnly,void 0,I.namedBindings),H0.moduleSpecifier))}}s.registerCodeFix({errorCodes:X,fixIds:[J],getCodeActions:function(i0){var H0=e.textChanges.ChangeTracker.with(i0,function(E0){return s1(E0,m0(i0.sourceFile,i0.span),i0)});if(H0.length)return[s.createCodeFixAction(J,H0,e.Diagnostics.Split_into_two_separate_import_declarations,J,e.Diagnostics.Split_all_invalid_type_only_imports)]},getAllCodeActions:function(i0){return s.codeFixAll(i0,X,function(H0,E0){s1(H0,m0(i0.sourceFile,E0),i0)})}})})(e.codefix||(e.codefix={}))}(_0||(_0={})),function(e){var s,X,J;s=e.codefix||(e.codefix={}),X=\"fixConvertConstToLet\",J=[e.Diagnostics.Cannot_assign_to_0_because_it_is_a_constant.code],s.registerCodeFix({errorCodes:J,getCodeActions:function(m0){var s1=m0.sourceFile,i0=m0.span,H0=m0.program,E0=function(A,Z,A0){var o0=e.getTokenAtPosition(A,Z),j=A0.getTypeChecker().getSymbolAtLocation(o0);if(j==null?void 0:j.valueDeclaration)return j.valueDeclaration.parent.parent}(s1,i0.start,H0),I=e.textChanges.ChangeTracker.with(m0,function(A){return function(Z,A0,o0){if(o0){var j=o0.getStart();Z.replaceRangeWithText(A0,{pos:j,end:j+5},\"let\")}}(A,s1,E0)});return[s.createCodeFixAction(X,I,e.Diagnostics.Convert_const_to_let,X,e.Diagnostics.Convert_const_to_let)]},fixIds:[X]})}(_0||(_0={})),function(e){(function(s){var X=\"fixExpectedComma\",J=[e.Diagnostics._0_expected.code];function m0(i0,H0,E0){var I=e.getTokenAtPosition(i0,H0);return I.kind===26&&I.parent&&(e.isObjectLiteralExpression(I.parent)||e.isArrayLiteralExpression(I.parent))?{node:I}:void 0}function s1(i0,H0,E0){var I=E0.node,A=e.factory.createToken(27);i0.replaceNode(H0,I,A)}s.registerCodeFix({errorCodes:J,getCodeActions:function(i0){var H0=i0.sourceFile,E0=m0(H0,i0.span.start,i0.errorCode);if(E0){var I=e.textChanges.ChangeTracker.with(i0,function(A){return s1(A,H0,E0)});return[s.createCodeFixAction(X,I,[e.Diagnostics.Change_0_to_1,\";\",\",\"],X,[e.Diagnostics.Change_0_to_1,\";\",\",\"])]}},fixIds:[X],getAllCodeActions:function(i0){return s.codeFixAll(i0,J,function(H0,E0){var I=m0(E0.file,E0.start,E0.code);I&&s1(H0,i0.sourceFile,I)})}})})(e.codefix||(e.codefix={}))}(_0||(_0={})),function(e){(function(s){var X=\"addVoidToPromise\",J=[e.Diagnostics.Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise.code];function m0(s1,i0,H0,E0,I){var A=e.getTokenAtPosition(i0,H0.start);if(e.isIdentifier(A)&&e.isCallExpression(A.parent)&&A.parent.expression===A&&A.parent.arguments.length===0){var Z=E0.getTypeChecker(),A0=Z.getSymbolAtLocation(A),o0=A0==null?void 0:A0.valueDeclaration;if(o0&&e.isParameter(o0)&&e.isNewExpression(o0.parent.parent)&&!(I==null?void 0:I.has(o0))){I==null||I.add(o0);var j=function(P0){var c0;if(!e.isInJSFile(P0))return P0.typeArguments;if(e.isParenthesizedExpression(P0.parent)){var D0=(c0=e.getJSDocTypeTag(P0.parent))===null||c0===void 0?void 0:c0.typeExpression.type;if(D0&&e.isTypeReferenceNode(D0)&&e.isIdentifier(D0.typeName)&&e.idText(D0.typeName)===\"Promise\")return D0.typeArguments}}(o0.parent.parent);if(e.some(j)){var G=j[0],u0=!e.isUnionTypeNode(G)&&!e.isParenthesizedTypeNode(G)&&e.isParenthesizedTypeNode(e.factory.createUnionTypeNode([G,e.factory.createKeywordTypeNode(113)]).types[0]);u0&&s1.insertText(i0,G.pos,\"(\"),s1.insertText(i0,G.end,u0?\") | void\":\" | void\")}else{var U=Z.getResolvedSignature(A.parent),g0=U==null?void 0:U.parameters[0],d0=g0&&Z.getTypeOfSymbolAtLocation(g0,o0.parent.parent);e.isInJSFile(o0)?(!d0||3&d0.flags)&&(s1.insertText(i0,o0.parent.parent.end,\")\"),s1.insertText(i0,e.skipTrivia(i0.text,o0.parent.parent.pos),\"/** @type {Promise<void>} */(\")):(!d0||2&d0.flags)&&s1.insertText(i0,o0.parent.parent.expression.end,\"<void>\")}}}}s.registerCodeFix({errorCodes:J,fixIds:[X],getCodeActions:function(s1){var i0=e.textChanges.ChangeTracker.with(s1,function(H0){return m0(H0,s1.sourceFile,s1.span,s1.program)});if(i0.length>0)return[s.createCodeFixAction(\"addVoidToPromise\",i0,e.Diagnostics.Add_void_to_Promise_resolved_without_a_value,X,e.Diagnostics.Add_void_to_all_Promises_resolved_without_a_value)]},getAllCodeActions:function(s1){return s.codeFixAll(s1,J,function(i0,H0){return m0(i0,H0.file,H0,s1.program,new e.Set)})}})})(e.codefix||(e.codefix={}))}(_0||(_0={})),function(e){(function(s){var X=\"Convert export\",J={name:\"Convert default export to named export\",description:e.Diagnostics.Convert_default_export_to_named_export.message,kind:\"refactor.rewrite.export.named\"},m0={name:\"Convert named export to default export\",description:e.Diagnostics.Convert_named_export_to_default_export.message,kind:\"refactor.rewrite.export.default\"};function s1(E0,I){I===void 0&&(I=!0);var A=E0.file,Z=e.getRefactorContextSpan(E0),A0=e.getTokenAtPosition(A,Z.start),o0=A0.parent&&1&e.getSyntacticModifierFlags(A0.parent)&&I?A0.parent:e.getParentNodeInSpan(A0,A,Z);if(!(o0&&(e.isSourceFile(o0.parent)||e.isModuleBlock(o0.parent)&&e.isAmbientModule(o0.parent.parent))))return{error:e.getLocaleSpecificMessage(e.Diagnostics.Could_not_find_export_statement)};var j=e.isSourceFile(o0.parent)?o0.parent.symbol:o0.parent.parent.symbol,G=e.getSyntacticModifierFlags(o0)||(e.isExportAssignment(o0)&&!o0.isExportEquals?513:0),u0=!!(512&G);if(!(1&G)||!u0&&j.exports.has(\"default\"))return{error:e.getLocaleSpecificMessage(e.Diagnostics.This_file_already_has_a_default_export)};switch(o0.kind){case 252:case 253:case 254:case 256:case 255:case 257:return(d0=o0).name&&e.isIdentifier(d0.name)?{exportNode:d0,exportName:d0.name,wasDefault:u0,exportingModuleSymbol:j}:void 0;case 233:var U=o0;if(!(2&U.declarationList.flags)||U.declarationList.declarations.length!==1)return;var g0=e.first(U.declarationList.declarations);return g0.initializer?(e.Debug.assert(!u0,\"Can't have a default flag here\"),e.isIdentifier(g0.name)?{exportNode:U,exportName:g0.name,wasDefault:u0,exportingModuleSymbol:j}:void 0):void 0;case 267:var d0,P0=(d0=o0).expression;return d0.isExportEquals?void 0:{exportNode:d0,exportName:P0,wasDefault:u0,exportingModuleSymbol:j};default:return}}function i0(E0,I){return e.factory.createImportSpecifier(E0===I?void 0:e.factory.createIdentifier(E0),e.factory.createIdentifier(I))}function H0(E0,I){return e.factory.createExportSpecifier(E0===I?void 0:e.factory.createIdentifier(E0),e.factory.createIdentifier(I))}s.registerRefactor(X,{kinds:[J.kind,m0.kind],getAvailableActions:function(E0){var I=s1(E0,E0.triggerReason===\"invoked\");if(!I)return e.emptyArray;if(!s.isRefactorErrorInfo(I)){var A=I.wasDefault?J:m0;return[{name:X,description:A.description,actions:[A]}]}return E0.preferences.provideRefactorNotApplicableReason?[{name:X,description:e.Diagnostics.Convert_default_export_to_named_export.message,actions:[$($({},J),{notApplicableReason:I.error}),$($({},m0),{notApplicableReason:I.error})]}]:e.emptyArray},getEditsForAction:function(E0,I){e.Debug.assert(I===J.name||I===m0.name,\"Unexpected action name\");var A=s1(E0);return e.Debug.assert(A&&!s.isRefactorErrorInfo(A),\"Expected applicable refactor info\"),{edits:e.textChanges.ChangeTracker.with(E0,function(Z){return function(A0,o0,j,G,u0){(function(U,g0,d0,P0){var c0=g0.wasDefault,D0=g0.exportNode,x0=g0.exportName;if(c0)if(e.isExportAssignment(D0)&&!D0.isExportEquals){var l0=D0.expression,w0=H0(l0.text,l0.text);d0.replaceNode(U,D0,e.factory.createExportDeclaration(void 0,void 0,!1,e.factory.createNamedExports([w0])))}else d0.delete(U,e.Debug.checkDefined(e.findModifier(D0,87),\"Should find a default keyword in modifier list\"));else{var V=e.Debug.checkDefined(e.findModifier(D0,92),\"Should find an export keyword in modifier list\");switch(D0.kind){case 252:case 253:case 254:d0.insertNodeAfter(U,V,e.factory.createToken(87));break;case 233:var w=e.first(D0.declarationList.declarations);if(!e.FindAllReferences.Core.isSymbolReferencedInFile(x0,P0,U)&&!w.type){d0.replaceNode(U,D0,e.factory.createExportDefault(e.Debug.checkDefined(w.initializer,\"Initializer was previously known to be present\")));break}case 256:case 255:case 257:d0.deleteModifier(U,V),d0.insertNodeAfter(U,D0,e.factory.createExportDefault(e.factory.createIdentifier(x0.text)));break;default:e.Debug.fail(\"Unexpected exportNode kind \"+D0.kind)}}})(A0,j,G,o0.getTypeChecker()),function(U,g0,d0,P0){var c0=g0.wasDefault,D0=g0.exportName,x0=g0.exportingModuleSymbol,l0=U.getTypeChecker(),w0=e.Debug.checkDefined(l0.getSymbolAtLocation(D0),\"Export name should resolve to a symbol\");e.FindAllReferences.Core.eachExportReference(U.getSourceFiles(),l0,P0,w0,x0,D0.text,c0,function(V){var w=V.getSourceFile();c0?function(H,k0,V0,t0){var f0=k0.parent;switch(f0.kind){case 202:V0.replaceNode(H,k0,e.factory.createIdentifier(t0));break;case 266:case 271:var y0=f0;V0.replaceNode(H,y0,i0(t0,y0.name.text));break;case 263:var G0=f0;e.Debug.assert(G0.name===k0,\"Import clause name should match provided ref\"),y0=i0(t0,k0.text);var d1=G0.namedBindings;if(d1)if(d1.kind===264){V0.deleteRange(H,{pos:k0.getStart(H),end:d1.getStart(H)});var h1=e.isStringLiteral(G0.parent.moduleSpecifier)?e.quotePreferenceFromString(G0.parent.moduleSpecifier,H):1,S1=e.makeImport(void 0,[i0(t0,k0.text)],G0.parent.moduleSpecifier,h1);V0.insertNodeAfter(H,G0.parent,S1)}else V0.delete(H,k0),V0.insertNodeAtEndOfList(H,d1.elements,y0);else V0.replaceNode(H,k0,e.factory.createNamedImports([y0]));break;default:e.Debug.failBadSyntaxKind(f0)}}(w,V,d0,D0.text):function(H,k0,V0){var t0=k0.parent;switch(t0.kind){case 202:V0.replaceNode(H,k0,e.factory.createIdentifier(\"default\"));break;case 266:var f0=e.factory.createIdentifier(t0.name.text);t0.parent.elements.length===1?V0.replaceNode(H,t0.parent,f0):(V0.delete(H,t0),V0.insertNodeBefore(H,t0.parent,f0));break;case 271:V0.replaceNode(H,t0,H0(\"default\",t0.name.text));break;default:e.Debug.assertNever(t0,\"Unexpected parent kind \"+t0.kind)}}(w,V,d0)})}(o0,j,G,u0)}(E0.file,E0.program,A,Z,E0.cancellationToken)}),renameFilename:void 0,renameLocation:void 0}}})})(e.refactor||(e.refactor={}))}(_0||(_0={})),function(e){(function(s){var X=\"Convert import\",J={name:\"Convert namespace import to named imports\",description:e.Diagnostics.Convert_namespace_import_to_named_imports.message,kind:\"refactor.rewrite.import.named\"},m0={name:\"Convert named imports to namespace import\",description:e.Diagnostics.Convert_named_imports_to_namespace_import.message,kind:\"refactor.rewrite.import.namespace\"};function s1(E0,I){I===void 0&&(I=!0);var A=E0.file,Z=e.getRefactorContextSpan(E0),A0=e.getTokenAtPosition(A,Z.start),o0=I?e.findAncestor(A0,e.isImportDeclaration):e.getParentNodeInSpan(A0,A,Z);if(!o0||!e.isImportDeclaration(o0))return{error:\"Selection is not an import declaration.\"};if(!(o0.getEnd()<Z.start+Z.length)){var j=o0.importClause;return j?j.namedBindings?j.namedBindings:{error:e.getLocaleSpecificMessage(e.Diagnostics.Could_not_find_namespace_import_or_named_imports)}:{error:e.getLocaleSpecificMessage(e.Diagnostics.Could_not_find_import_clause)}}}function i0(E0){return e.isPropertyAccessExpression(E0)?E0.name:E0.right}function H0(E0,I,A){return e.factory.createImportDeclaration(void 0,void 0,e.factory.createImportClause(!1,I,A&&A.length?e.factory.createNamedImports(A):void 0),E0.moduleSpecifier)}s.registerRefactor(X,{kinds:[J.kind,m0.kind],getAvailableActions:function(E0){var I=s1(E0,E0.triggerReason===\"invoked\");if(!I)return e.emptyArray;if(!s.isRefactorErrorInfo(I)){var A=I.kind===264?J:m0;return[{name:X,description:A.description,actions:[A]}]}return E0.preferences.provideRefactorNotApplicableReason?[{name:X,description:J.description,actions:[$($({},J),{notApplicableReason:I.error})]},{name:X,description:m0.description,actions:[$($({},m0),{notApplicableReason:I.error})]}]:e.emptyArray},getEditsForAction:function(E0,I){e.Debug.assert(I===J.name||I===m0.name,\"Unexpected action name\");var A=s1(E0);return e.Debug.assert(A&&!s.isRefactorErrorInfo(A),\"Expected applicable refactor info\"),{edits:e.textChanges.ChangeTracker.with(E0,function(Z){return A0=E0.file,o0=E0.program,j=Z,G=A,u0=o0.getTypeChecker(),void(G.kind===264?function(U,g0,d0,P0,c0){var D0=!1,x0=[],l0=new e.Map;e.FindAllReferences.Core.eachSymbolReferenceInFile(P0.name,g0,U,function(y0){if(e.isPropertyAccessOrQualifiedName(y0.parent)){var G0=i0(y0.parent).text;g0.resolveName(G0,y0,67108863,!0)&&l0.set(G0,!0),e.Debug.assert(function(d1){return e.isPropertyAccessExpression(d1)?d1.expression:d1.left}(y0.parent)===y0,\"Parent expression should match id\"),x0.push(y0.parent)}else D0=!0});for(var w0=new e.Map,V=0,w=x0;V<w.length;V++){var H=w[V],k0=i0(H).text,V0=w0.get(k0);V0===void 0&&w0.set(k0,V0=l0.has(k0)?e.getUniqueName(k0,U):k0),d0.replaceNode(U,H,e.factory.createIdentifier(V0))}var t0=[];w0.forEach(function(y0,G0){t0.push(e.factory.createImportSpecifier(y0===G0?void 0:e.factory.createIdentifier(G0),e.factory.createIdentifier(y0)))});var f0=P0.parent.parent;D0&&!c0?d0.insertNodeAfter(U,f0,H0(f0,void 0,t0)):d0.replaceNode(U,f0,H0(f0,D0?e.factory.createIdentifier(P0.name.text):void 0,t0))}(A0,u0,j,G,e.getAllowSyntheticDefaultImports(o0.getCompilerOptions())):function(U,g0,d0,P0){for(var c0=P0.parent.parent,D0=c0.moduleSpecifier,x0=D0&&e.isStringLiteral(D0)?e.codefix.moduleSpecifierToValidIdentifier(D0.text,99):\"module\",l0=P0.elements.some(function(k0){return e.FindAllReferences.Core.eachSymbolReferenceInFile(k0.name,g0,U,function(V0){return!!g0.resolveName(x0,V0,67108863,!0)})||!1})?e.getUniqueName(x0,U):x0,w0=[],V=function(k0){var V0=(k0.propertyName||k0.name).text;e.FindAllReferences.Core.eachSymbolReferenceInFile(k0.name,g0,U,function(t0){var f0=e.factory.createPropertyAccessExpression(e.factory.createIdentifier(l0),V0);e.isShorthandPropertyAssignment(t0.parent)?d0.replaceNode(U,t0.parent,e.factory.createPropertyAssignment(t0.text,f0)):e.isExportSpecifier(t0.parent)&&!t0.parent.propertyName?w0.some(function(y0){return y0.name===k0.name})||w0.push(e.factory.createImportSpecifier(k0.propertyName&&e.factory.createIdentifier(k0.propertyName.text),e.factory.createIdentifier(k0.name.text))):d0.replaceNode(U,t0,f0)})},w=0,H=P0.elements;w<H.length;w++)V(H[w]);d0.replaceNode(U,P0,e.factory.createNamespaceImport(e.factory.createIdentifier(l0))),w0.length&&d0.insertNodeAfter(U,P0.parent.parent,H0(c0,void 0,w0))}(A0,u0,j,G));var A0,o0,j,G,u0}),renameFilename:void 0,renameLocation:void 0}}})})(e.refactor||(e.refactor={}))}(_0||(_0={})),function(e){var s;(function(X){var J=\"Convert to optional chain expression\",m0=e.getLocaleSpecificMessage(e.Diagnostics.Convert_to_optional_chain_expression),s1={name:J,description:m0,kind:\"refactor.rewrite.expression.optionalChain\"};function i0(j){return e.isBinaryExpression(j)||e.isConditionalExpression(j)}function H0(j){return i0(j)||function(G){return e.isExpressionStatement(G)||e.isReturnStatement(G)||e.isVariableStatement(G)}(j)}function E0(j,G){G===void 0&&(G=!0);var u0=j.file,U=j.program,g0=e.getRefactorContextSpan(j),d0=g0.length===0;if(!d0||G){var P0=e.getTokenAtPosition(u0,g0.start),c0=e.findTokenOnLeftOfPosition(u0,g0.start+g0.length),D0=e.createTextSpanFromBounds(P0.pos,c0&&c0.end>=P0.pos?c0.getEnd():P0.getEnd()),x0=d0?function(V){for(;V.parent;){if(H0(V)&&!H0(V.parent))return V;V=V.parent}}(P0):function(V,w){for(;V.parent;){if(H0(V)&&w.length!==0&&V.end>=w.start+w.length)return V;V=V.parent}}(P0,D0),l0=x0&&H0(x0)?function(V){if(i0(V))return V;if(e.isVariableStatement(V)){var w=e.getSingleVariableOfVariableStatement(V),H=w==null?void 0:w.initializer;return H&&i0(H)?H:void 0}return V.expression&&i0(V.expression)?V.expression:void 0}(x0):void 0;if(!l0)return{error:e.getLocaleSpecificMessage(e.Diagnostics.Could_not_find_convertible_access_expression)};var w0=U.getTypeChecker();return e.isConditionalExpression(l0)?function(V,w){var H=V.condition,k0=A0(V.whenTrue);if(!k0||w.isNullableType(w.getTypeAtLocation(k0)))return{error:e.getLocaleSpecificMessage(e.Diagnostics.Could_not_find_convertible_access_expression)};if((e.isPropertyAccessExpression(H)||e.isIdentifier(H))&&A(H,k0.expression))return{finalExpression:k0,occurrences:[H],expression:V};if(e.isBinaryExpression(H)){var V0=I(k0.expression,H);return V0?{finalExpression:k0,occurrences:V0,expression:V}:{error:e.getLocaleSpecificMessage(e.Diagnostics.Could_not_find_matching_access_expressions)}}}(l0,w0):function(V){if(V.operatorToken.kind!==55)return{error:e.getLocaleSpecificMessage(e.Diagnostics.Can_only_convert_logical_AND_access_chains)};var w=A0(V.right);if(!w)return{error:e.getLocaleSpecificMessage(e.Diagnostics.Could_not_find_convertible_access_expression)};var H=I(w.expression,V.left);return H?{finalExpression:w,occurrences:H,expression:V}:{error:e.getLocaleSpecificMessage(e.Diagnostics.Could_not_find_matching_access_expressions)}}(l0)}}function I(j,G){for(var u0=[];e.isBinaryExpression(G)&&G.operatorToken.kind===55;){var U=A(e.skipParentheses(j),e.skipParentheses(G.right));if(!U)break;u0.push(U),j=U,G=G.left}var g0=A(j,G);return g0&&u0.push(g0),u0.length>0?u0:void 0}function A(j,G){if(e.isIdentifier(G)||e.isPropertyAccessExpression(G)||e.isElementAccessExpression(G))return function(u0,U){for(;(e.isCallExpression(u0)||e.isPropertyAccessExpression(u0)||e.isElementAccessExpression(u0))&&Z(u0)!==Z(U);)u0=u0.expression;for(;e.isPropertyAccessExpression(u0)&&e.isPropertyAccessExpression(U)||e.isElementAccessExpression(u0)&&e.isElementAccessExpression(U);){if(Z(u0)!==Z(U))return!1;u0=u0.expression,U=U.expression}return e.isIdentifier(u0)&&e.isIdentifier(U)&&u0.getText()===U.getText()}(j,G)?G:void 0}function Z(j){return e.isIdentifier(j)||e.isStringOrNumericLiteralLike(j)?j.getText():e.isPropertyAccessExpression(j)?Z(j.name):e.isElementAccessExpression(j)?Z(j.argumentExpression):void 0}function A0(j){return j=e.skipParentheses(j),e.isBinaryExpression(j)?A0(j.left):(e.isPropertyAccessExpression(j)||e.isElementAccessExpression(j)||e.isCallExpression(j))&&!e.isOptionalChain(j)?j:void 0}function o0(j,G,u0){if(e.isPropertyAccessExpression(G)||e.isElementAccessExpression(G)||e.isCallExpression(G)){var U=o0(j,G.expression,u0),g0=u0.length>0?u0[u0.length-1]:void 0,d0=(g0==null?void 0:g0.getText())===G.expression.getText();if(d0&&u0.pop(),e.isCallExpression(G))return d0?e.factory.createCallChain(U,e.factory.createToken(28),G.typeArguments,G.arguments):e.factory.createCallChain(U,G.questionDotToken,G.typeArguments,G.arguments);if(e.isPropertyAccessExpression(G))return d0?e.factory.createPropertyAccessChain(U,e.factory.createToken(28),G.name):e.factory.createPropertyAccessChain(U,G.questionDotToken,G.name);if(e.isElementAccessExpression(G))return d0?e.factory.createElementAccessChain(U,e.factory.createToken(28),G.argumentExpression):e.factory.createElementAccessChain(U,G.questionDotToken,G.argumentExpression)}return G}s.registerRefactor(J,{kinds:[s1.kind],getAvailableActions:function(j){var G=E0(j,j.triggerReason===\"invoked\");return G?s.isRefactorErrorInfo(G)?j.preferences.provideRefactorNotApplicableReason?[{name:J,description:m0,actions:[$($({},s1),{notApplicableReason:G.error})]}]:e.emptyArray:[{name:J,description:m0,actions:[s1]}]:e.emptyArray},getEditsForAction:function(j,G){var u0=E0(j);return e.Debug.assert(u0&&!s.isRefactorErrorInfo(u0),\"Expected applicable refactor info\"),{edits:e.textChanges.ChangeTracker.with(j,function(U){return function(g0,d0,P0,c0,D0){var x0=c0.finalExpression,l0=c0.occurrences,w0=c0.expression,V=l0[l0.length-1],w=o0(d0,x0,l0);w&&(e.isPropertyAccessExpression(w)||e.isElementAccessExpression(w)||e.isCallExpression(w))&&(e.isBinaryExpression(w0)?P0.replaceNodeRange(g0,V,x0,w):e.isConditionalExpression(w0)&&P0.replaceNode(g0,w0,e.factory.createBinaryExpression(w,e.factory.createToken(60),w0.whenFalse)))}(j.file,j.program.getTypeChecker(),U,u0)}),renameFilename:void 0,renameLocation:void 0}}})})((s=e.refactor||(e.refactor={})).convertToOptionalChainExpression||(s.convertToOptionalChainExpression={}))}(_0||(_0={})),function(e){var s;(function(X){var J=\"Convert overload list to single signature\",m0=e.Diagnostics.Convert_overload_list_to_single_signature.message,s1={name:J,description:m0,kind:\"refactor.rewrite.function.overloadList\"};function i0(E0){switch(E0.kind){case 165:case 166:case 170:case 167:case 171:case 252:return!0}return!1}function H0(E0,I,A){var Z=e.getTokenAtPosition(E0,I),A0=e.findAncestor(Z,i0);if(A0){var o0=A.getTypeChecker(),j=A0.symbol;if(j){var G=j.declarations;if(!(e.length(G)<=1)&&e.every(G,function(P0){return e.getSourceFileOfNode(P0)===E0})&&i0(G[0])){var u0=G[0].kind;if(e.every(G,function(P0){return P0.kind===u0})){var U=G;if(!e.some(U,function(P0){return!!P0.typeParameters||e.some(P0.parameters,function(c0){return!!c0.decorators||!!c0.modifiers||!e.isIdentifier(c0.name)})})){var g0=e.mapDefined(U,function(P0){return o0.getSignatureFromDeclaration(P0)});if(e.length(g0)===e.length(G)){var d0=o0.getReturnTypeOfSignature(g0[0]);if(e.every(g0,function(P0){return o0.getReturnTypeOfSignature(P0)===d0}))return U}}}}}}}s.registerRefactor(J,{kinds:[s1.kind],getEditsForAction:function(E0){var I=E0.file,A=E0.startPosition,Z=E0.program,A0=H0(I,A,Z);if(A0){var o0=Z.getTypeChecker(),j=A0[A0.length-1],G=j;switch(j.kind){case 165:G=e.factory.updateMethodSignature(j,j.modifiers,j.name,j.questionToken,j.typeParameters,U(A0),j.type);break;case 166:G=e.factory.updateMethodDeclaration(j,j.decorators,j.modifiers,j.asteriskToken,j.name,j.questionToken,j.typeParameters,U(A0),j.type,j.body);break;case 170:G=e.factory.updateCallSignature(j,j.typeParameters,U(A0),j.type);break;case 167:G=e.factory.updateConstructorDeclaration(j,j.decorators,j.modifiers,U(A0),j.body);break;case 171:G=e.factory.updateConstructSignature(j,j.typeParameters,U(A0),j.type);break;case 252:G=e.factory.updateFunctionDeclaration(j,j.decorators,j.modifiers,j.asteriskToken,j.name,j.typeParameters,U(A0),j.type,j.body);break;default:return e.Debug.failBadSyntaxKind(j,\"Unhandled signature kind in overload list conversion refactoring\")}if(G!==j){var u0=e.textChanges.ChangeTracker.with(E0,function(P0){P0.replaceNodeRange(I,A0[0],A0[A0.length-1],G)});return{renameFilename:void 0,renameLocation:void 0,edits:u0}}}function U(P0){var c0=P0[P0.length-1];return e.isFunctionLikeDeclaration(c0)&&c0.body&&(P0=P0.slice(0,P0.length-1)),e.factory.createNodeArray([e.factory.createParameterDeclaration(void 0,void 0,e.factory.createToken(25),\"args\",void 0,e.factory.createUnionTypeNode(e.map(P0,g0)))])}function g0(P0){var c0=e.map(P0.parameters,d0);return e.setEmitFlags(e.factory.createTupleTypeNode(c0),e.some(c0,function(D0){return!!e.length(e.getSyntheticLeadingComments(D0))})?0:1)}function d0(P0){e.Debug.assert(e.isIdentifier(P0.name));var c0=e.setTextRange(e.factory.createNamedTupleMember(P0.dotDotDotToken,P0.name,P0.questionToken,P0.type||e.factory.createKeywordTypeNode(128)),P0),D0=P0.symbol&&P0.symbol.getDocumentationComment(o0);if(D0){var x0=e.displayPartsToString(D0);x0.length&&e.setSyntheticLeadingComments(c0,[{text:`*\n`+x0.split(`\n`).map(function(l0){return\" * \"+l0}).join(`\n`)+`\n `,kind:3,pos:-1,end:-1,hasTrailingNewLine:!0,hasLeadingNewline:!0}])}return c0}},getAvailableActions:function(E0){var I=E0.file,A=E0.startPosition,Z=E0.program;return H0(I,A,Z)?[{name:J,description:m0,actions:[s1]}]:e.emptyArray}})})((s=e.refactor||(e.refactor={})).addOrRemoveBracesToArrowFunction||(s.addOrRemoveBracesToArrowFunction={}))}(_0||(_0={})),function(e){var s;(function(X){var J,m0,s1,i0,H0=\"Extract Symbol\",E0={name:\"Extract Constant\",description:e.getLocaleSpecificMessage(e.Diagnostics.Extract_constant),kind:\"refactor.extract.constant\"},I={name:\"Extract Function\",description:e.getLocaleSpecificMessage(e.Diagnostics.Extract_function),kind:\"refactor.extract.function\"};function A(x0){var l0=x0.kind,w0=A0(x0.file,e.getRefactorContextSpan(x0),x0.triggerReason===\"invoked\"),V=w0.targetRange;if(V===void 0){if(!w0.errors||w0.errors.length===0||!x0.preferences.provideRefactorNotApplicableReason)return e.emptyArray;var w=[];return s.refactorKindBeginsWith(I.kind,l0)&&w.push({name:H0,description:I.description,actions:[$($({},I),{notApplicableReason:k1(w0.errors)})]}),s.refactorKindBeginsWith(E0.kind,l0)&&w.push({name:H0,description:E0.description,actions:[$($({},E0),{notApplicableReason:k1(w0.errors)})]}),w}var H=function(I1,K0){var G1=G(I1,K0),Nx=G1.scopes,n1=G1.readsAndWrites,S0=n1.functionErrorsPerScope,I0=n1.constantErrorsPerScope;return Nx.map(function(U0,p0){var p1,Y1,N1=function($x){return e.isFunctionLikeDeclaration($x)?\"inner function\":e.isClassLike($x)?\"method\":\"function\"}(U0),V1=function($x){return e.isClassLike($x)?\"readonly field\":\"constant\"}(U0),Ox=e.isFunctionLikeDeclaration(U0)?function($x){switch($x.kind){case 167:return\"constructor\";case 209:case 252:return $x.name?\"function '\"+$x.name.text+\"'\":e.ANONYMOUS;case 210:return\"arrow function\";case 166:return\"method '\"+$x.name.getText()+\"'\";case 168:return\"'get \"+$x.name.getText()+\"'\";case 169:return\"'set \"+$x.name.getText()+\"'\";default:throw e.Debug.assertNever($x,\"Unexpected scope kind \"+$x.kind)}}(U0):e.isClassLike(U0)?function($x){return $x.kind===253?$x.name?\"class '\"+$x.name.text+\"'\":\"anonymous class declaration\":$x.name?\"class expression '\"+$x.name.text+\"'\":\"anonymous class expression\"}(U0):function($x){return $x.kind===258?\"namespace '\"+$x.parent.name.getText()+\"'\":$x.externalModuleIndicator?0:1}(U0);return Ox===1?(p1=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_1_scope),[N1,\"global\"]),Y1=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_1_scope),[V1,\"global\"])):Ox===0?(p1=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_1_scope),[N1,\"module\"]),Y1=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_1_scope),[V1,\"module\"])):(p1=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_1),[N1,Ox]),Y1=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_1),[V1,Ox])),p0!==0||e.isClassLike(U0)||(Y1=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_enclosing_scope),[V1])),{functionExtraction:{description:p1,errors:S0[p0]},constantExtraction:{description:Y1,errors:I0[p0]}}})}(V,x0);if(H===void 0)return e.emptyArray;for(var k0,V0,t0=[],f0=new e.Map,y0=[],G0=new e.Map,d1=0,h1=0,S1=H;h1<S1.length;h1++){var Q1=S1[h1],Y0=Q1.functionExtraction,$1=Q1.constantExtraction,Z1=Y0.description;if(s.refactorKindBeginsWith(I.kind,l0)&&(Y0.errors.length===0?f0.has(Z1)||(f0.set(Z1,!0),t0.push({description:Z1,name:\"function_scope_\"+d1,kind:I.kind})):k0||(k0={description:Z1,name:\"function_scope_\"+d1,notApplicableReason:k1(Y0.errors),kind:I.kind})),s.refactorKindBeginsWith(E0.kind,l0))if($1.errors.length===0){var Q0=$1.description;G0.has(Q0)||(G0.set(Q0,!0),y0.push({description:Q0,name:\"constant_scope_\"+d1,kind:E0.kind}))}else V0||(V0={description:Z1,name:\"constant_scope_\"+d1,notApplicableReason:k1($1.errors),kind:E0.kind});d1++}var y1=[];return t0.length?y1.push({name:H0,description:e.getLocaleSpecificMessage(e.Diagnostics.Extract_function),actions:t0}):x0.preferences.provideRefactorNotApplicableReason&&k0&&y1.push({name:H0,description:e.getLocaleSpecificMessage(e.Diagnostics.Extract_function),actions:[k0]}),y0.length?y1.push({name:H0,description:e.getLocaleSpecificMessage(e.Diagnostics.Extract_constant),actions:y0}):x0.preferences.provideRefactorNotApplicableReason&&V0&&y1.push({name:H0,description:e.getLocaleSpecificMessage(e.Diagnostics.Extract_constant),actions:[V0]}),y1.length?y1:e.emptyArray;function k1(I1){var K0=I1[0].messageText;return typeof K0!=\"string\"&&(K0=K0.messageText),K0}}function Z(x0,l0){var w0=A0(x0.file,e.getRefactorContextSpan(x0)).targetRange,V=/^function_scope_(\\d+)$/.exec(l0);if(V){var w=+V[1];return e.Debug.assert(isFinite(w),\"Expected to parse a finite number from the function scope index\"),function(k0,V0,t0){var f0=G(k0,V0),y0=f0.scopes,G0=f0.readsAndWrites,d1=G0.target,h1=G0.usagesPerScope,S1=G0.functionErrorsPerScope,Q1=G0.exposedVariableDeclarations;return e.Debug.assert(!S1[t0].length,\"The extraction went missing? How?\"),V0.cancellationToken.throwIfCancellationRequested(),function(Y0,$1,Z1,Q0,y1,k1){var I1,K0,G1=Z1.usages,Nx=Z1.typeParameterUsages,n1=Z1.substitutions,S0=k1.program.getTypeChecker(),I0=e.getEmitScriptTarget(k1.program.getCompilerOptions()),U0=e.codefix.createImportAdder(k1.file,k1.program,k1.preferences,k1.host),p0=$1.getSourceFile(),p1=e.getUniqueName(e.isClassLike($1)?\"newMethod\":\"newFunction\",p0),Y1=e.isInJSFile($1),N1=e.factory.createIdentifier(p1),V1=[],Ox=[];G1.forEach(function(Sa,Yn){var W1;if(!Y1){var cx=S0.getTypeOfSymbolAtLocation(Sa.symbol,Sa.node);cx=S0.getBaseTypeOfLiteralType(cx),W1=e.codefix.typeToAutoImportableTypeNode(S0,U0,cx,$1,I0,1)}var E1=e.factory.createParameterDeclaration(void 0,void 0,void 0,Yn,void 0,W1);V1.push(E1),Sa.usage===2&&(K0||(K0=[])).push(Sa),Ox.push(e.factory.createIdentifier(Yn))});var $x=e.arrayFrom(Nx.values()).map(function(Sa){return{type:Sa,declaration:u0(Sa)}}).sort(U),rx=$x.length===0?void 0:$x.map(function(Sa){return Sa.declaration}),O0=rx!==void 0?rx.map(function(Sa){return e.factory.createTypeReferenceNode(Sa.name,void 0)}):void 0;if(e.isExpression(Y0)&&!Y1){var C1=S0.getContextualType(Y0);I1=S0.typeToTypeNode(C1,$1,1)}var nx,O=function(Sa,Yn,W1,cx,E1){var qx,xt=W1!==void 0||Yn.length>0;if(e.isBlock(Sa)&&!xt&&cx.size===0)return{body:e.factory.createBlock(Sa.statements,!0),returnValueProperty:void 0};var ae=!1,Ut=e.factory.createNodeArray(e.isBlock(Sa)?Sa.statements.slice(0):[e.isStatement(Sa)?Sa:e.factory.createReturnStatement(Sa)]);if(xt||cx.size){var or=e.visitNodes(Ut,Gr).slice();if(xt&&!E1&&e.isStatement(Sa)){var ut=g0(Yn,W1);ut.length===1?or.push(e.factory.createReturnStatement(ut[0].name)):or.push(e.factory.createReturnStatement(e.factory.createObjectLiteralExpression(ut)))}return{body:e.factory.createBlock(or,!0),returnValueProperty:qx}}return{body:e.factory.createBlock(Ut,!0),returnValueProperty:void 0};function Gr(B){if(!ae&&e.isReturnStatement(B)&&xt){var h0=g0(Yn,W1);return B.expression&&(qx||(qx=\"__return\"),h0.unshift(e.factory.createPropertyAssignment(qx,e.visitNode(B.expression,Gr)))),h0.length===1?e.factory.createReturnStatement(h0[0].name):e.factory.createReturnStatement(e.factory.createObjectLiteralExpression(h0))}var M=ae;ae=ae||e.isFunctionLikeDeclaration(B)||e.isClassLike(B);var X0=cx.get(e.getNodeId(B).toString()),l1=X0?e.getSynthesizedDeepClone(X0):e.visitEachChild(B,Gr,e.nullTransformationContext);return ae=M,l1}}(Y0,Q0,K0,n1,!!(y1.facts&m0.HasReturn)),b1=O.body,Px=O.returnValueProperty;if(e.suppressLeadingAndTrailingTrivia(b1),e.isClassLike($1)){var me=Y1?[]:[e.factory.createModifier(120)];y1.facts&m0.InStaticRegion&&me.push(e.factory.createModifier(123)),y1.facts&m0.IsAsyncFunction&&me.push(e.factory.createModifier(129)),nx=e.factory.createMethodDeclaration(void 0,me.length?me:void 0,y1.facts&m0.IsGenerator?e.factory.createToken(41):void 0,N1,void 0,rx,V1,I1,b1)}else nx=e.factory.createFunctionDeclaration(void 0,y1.facts&m0.IsAsyncFunction?[e.factory.createToken(129)]:void 0,y1.facts&m0.IsGenerator?e.factory.createToken(41):void 0,N1,rx,V1,I1,b1);var Re=e.textChanges.ChangeTracker.fromContext(k1),gt=function(Sa,Yn){return e.find(function(W1){if(e.isFunctionLikeDeclaration(W1)){var cx=W1.body;if(e.isBlock(cx))return cx.statements}else{if(e.isModuleBlock(W1)||e.isSourceFile(W1))return W1.statements;if(e.isClassLike(W1))return W1.members;e.assertType(W1)}return e.emptyArray}(Yn),function(W1){return W1.pos>=Sa&&e.isFunctionLikeDeclaration(W1)&&!e.isConstructorDeclaration(W1)})}((d0(y1.range)?e.last(y1.range):y1.range).end,$1);gt?Re.insertNodeBefore(k1.file,gt,nx,!0):Re.insertNodeAtEndOfScope(k1.file,$1,nx),U0.writeFixes(Re);var Vt=[],wr=function(Sa,Yn,W1){var cx=e.factory.createIdentifier(W1);if(e.isClassLike(Sa)){var E1=Yn.facts&m0.InStaticRegion?e.factory.createIdentifier(Sa.name.text):e.factory.createThis();return e.factory.createPropertyAccessExpression(E1,cx)}return cx}($1,y1,p1),gr=e.factory.createCallExpression(wr,O0,Ox);if(y1.facts&m0.IsGenerator&&(gr=e.factory.createYieldExpression(e.factory.createToken(41),gr)),y1.facts&m0.IsAsyncFunction&&(gr=e.factory.createAwaitExpression(gr)),D0(Y0)&&(gr=e.factory.createJsxExpression(void 0,gr)),Q0.length&&!K0)if(e.Debug.assert(!Px,\"Expected no returnValueProperty\"),e.Debug.assert(!(y1.facts&m0.HasReturn),\"Expected RangeFacts.HasReturn flag to be unset\"),Q0.length===1){var Nt=Q0[0];Vt.push(e.factory.createVariableStatement(void 0,e.factory.createVariableDeclarationList([e.factory.createVariableDeclaration(e.getSynthesizedDeepClone(Nt.name),void 0,e.getSynthesizedDeepClone(Nt.type),gr)],Nt.parent.flags)))}else{for(var Ir=[],xr=[],Bt=Q0[0].parent.flags,ar=!1,Ni=0,Kn=Q0;Ni<Kn.length;Ni++){Nt=Kn[Ni],Ir.push(e.factory.createBindingElement(void 0,void 0,e.getSynthesizedDeepClone(Nt.name)));var oi=S0.typeToTypeNode(S0.getBaseTypeOfLiteralType(S0.getTypeAtLocation(Nt)),$1,1);xr.push(e.factory.createPropertySignature(void 0,Nt.symbol.name,void 0,oi)),ar=ar||Nt.type!==void 0,Bt&=Nt.parent.flags}var Ba=ar?e.factory.createTypeLiteralNode(xr):void 0;Ba&&e.setEmitFlags(Ba,1),Vt.push(e.factory.createVariableStatement(void 0,e.factory.createVariableDeclarationList([e.factory.createVariableDeclaration(e.factory.createObjectBindingPattern(Ir),void 0,Ba,gr)],Bt)))}else if(Q0.length||K0){if(Q0.length)for(var dt=0,Gt=Q0;dt<Gt.length;dt++){var lr=(Nt=Gt[dt]).parent.flags;2&lr&&(lr=-3&lr|1),Vt.push(e.factory.createVariableStatement(void 0,e.factory.createVariableDeclarationList([e.factory.createVariableDeclaration(Nt.symbol.name,void 0,Le(Nt.type))],lr)))}Px&&Vt.push(e.factory.createVariableStatement(void 0,e.factory.createVariableDeclarationList([e.factory.createVariableDeclaration(Px,void 0,Le(I1))],1)));var en=g0(Q0,K0);Px&&en.unshift(e.factory.createShorthandPropertyAssignment(Px)),en.length===1?(e.Debug.assert(!Px,\"Shouldn't have returnValueProperty here\"),Vt.push(e.factory.createExpressionStatement(e.factory.createAssignment(en[0].name,gr))),y1.facts&m0.HasReturn&&Vt.push(e.factory.createReturnStatement())):(Vt.push(e.factory.createExpressionStatement(e.factory.createAssignment(e.factory.createObjectLiteralExpression(en),gr))),Px&&Vt.push(e.factory.createReturnStatement(e.factory.createIdentifier(Px))))}else y1.facts&m0.HasReturn?Vt.push(e.factory.createReturnStatement(gr)):d0(y1.range)?Vt.push(e.factory.createExpressionStatement(gr)):Vt.push(gr);d0(y1.range)?Re.replaceNodeRangeWithNodes(k1.file,e.first(y1.range),e.last(y1.range),Vt):Re.replaceNodeWithNodes(k1.file,y1.range,Vt);var ii=Re.getChanges(),Tt=(d0(y1.range)?e.first(y1.range):y1.range).getSourceFile().fileName,bn=e.getRenameLocation(ii,Tt,p1,!1);return{renameFilename:Tt,renameLocation:bn,edits:ii};function Le(Sa){if(Sa!==void 0){for(var Yn=e.getSynthesizedDeepClone(Sa),W1=Yn;e.isParenthesizedTypeNode(W1);)W1=W1.type;return e.isUnionTypeNode(W1)&&e.find(W1.types,function(cx){return cx.kind===150})?Yn:e.factory.createUnionTypeNode([Yn,e.factory.createKeywordTypeNode(150)])}}}(d1,y0[t0],h1[t0],Q1,k0,V0)}(w0,x0,w)}var H=/^constant_scope_(\\d+)$/.exec(l0);if(H)return w=+H[1],e.Debug.assert(isFinite(w),\"Expected to parse a finite number from the constant scope index\"),function(k0,V0,t0){var f0=G(k0,V0),y0=f0.scopes,G0=f0.readsAndWrites,d1=G0.target,h1=G0.usagesPerScope,S1=G0.constantErrorsPerScope,Q1=G0.exposedVariableDeclarations;return e.Debug.assert(!S1[t0].length,\"The extraction went missing? How?\"),e.Debug.assert(Q1.length===0,\"Extract constant accepted a range containing a variable declaration?\"),V0.cancellationToken.throwIfCancellationRequested(),function(Y0,$1,Z1,Q0,y1){var k1,I1=Z1.substitutions,K0=y1.program.getTypeChecker(),G1=$1.getSourceFile(),Nx=e.getUniqueName(e.isClassLike($1)?\"newProperty\":\"newLocal\",G1),n1=e.isInJSFile($1),S0=n1||!K0.isContextSensitive(Y0)?void 0:K0.typeToTypeNode(K0.getContextualType(Y0),$1,1),I0=function(O,b1){return b1.size?Px(O):O;function Px(me){var Re=b1.get(e.getNodeId(me).toString());return Re?e.getSynthesizedDeepClone(Re):e.visitEachChild(me,Px,e.nullTransformationContext)}}(Y0,I1);k1=nx(S0,I0),S0=k1.variableType,I0=k1.initializer,e.suppressLeadingAndTrailingTrivia(I0);var U0=e.textChanges.ChangeTracker.fromContext(y1);if(e.isClassLike($1)){e.Debug.assert(!n1,\"Cannot extract to a JS class\");var p0=[];p0.push(e.factory.createModifier(120)),Q0&m0.InStaticRegion&&p0.push(e.factory.createModifier(123)),p0.push(e.factory.createModifier(142));var p1=e.factory.createPropertyDeclaration(void 0,p0,Nx,void 0,S0,I0),Y1=e.factory.createPropertyAccessExpression(Q0&m0.InStaticRegion?e.factory.createIdentifier($1.name.getText()):e.factory.createThis(),e.factory.createIdentifier(Nx));D0(Y0)&&(Y1=e.factory.createJsxExpression(void 0,Y1));var N1=function(O,b1){var Px,me=b1.members;e.Debug.assert(me.length>0,\"Found no members\");for(var Re=!0,gt=0,Vt=me;gt<Vt.length;gt++){var wr=Vt[gt];if(wr.pos>O)return Px||me[0];if(Re&&!e.isPropertyDeclaration(wr)){if(Px!==void 0)return wr;Re=!1}Px=wr}return Px===void 0?e.Debug.fail():Px}(Y0.pos,$1);U0.insertNodeBefore(y1.file,N1,p1,!0),U0.replaceNode(y1.file,Y0,Y1)}else{var V1=e.factory.createVariableDeclaration(Nx,void 0,S0,I0),Ox=function(O,b1){for(var Px;O!==void 0&&O!==b1;){if(e.isVariableDeclaration(O)&&O.initializer===Px&&e.isVariableDeclarationList(O.parent)&&O.parent.declarations.length>1)return O;Px=O,O=O.parent}}(Y0,$1);if(Ox)U0.insertNodeBefore(y1.file,Ox,V1),Y1=e.factory.createIdentifier(Nx),U0.replaceNode(y1.file,Y0,Y1);else if(Y0.parent.kind===234&&$1===e.findAncestor(Y0,j)){var $x=e.factory.createVariableStatement(void 0,e.factory.createVariableDeclarationList([V1],2));U0.replaceNode(y1.file,Y0.parent,$x)}else $x=e.factory.createVariableStatement(void 0,e.factory.createVariableDeclarationList([V1],2)),(N1=function(O,b1){var Px;e.Debug.assert(!e.isClassLike(b1));for(var me=O;me!==b1;me=me.parent)j(me)&&(Px=me);for(me=(Px||O).parent;;me=me.parent){if(c0(me)){for(var Re=void 0,gt=0,Vt=me.statements;gt<Vt.length;gt++){var wr=Vt[gt];if(wr.pos>O.pos)break;Re=wr}return!Re&&e.isCaseClause(me)?(e.Debug.assert(e.isSwitchStatement(me.parent.parent),\"Grandparent isn't a switch statement\"),me.parent.parent):e.Debug.checkDefined(Re,\"prevStatement failed to get set\")}e.Debug.assert(me!==b1,\"Didn't encounter a block-like before encountering scope\")}}(Y0,$1)).pos===0?U0.insertNodeAtTopOfFile(y1.file,$x,!1):U0.insertNodeBefore(y1.file,N1,$x,!1),Y0.parent.kind===234?U0.delete(y1.file,Y0.parent):(Y1=e.factory.createIdentifier(Nx),D0(Y0)&&(Y1=e.factory.createJsxExpression(void 0,Y1)),U0.replaceNode(y1.file,Y0,Y1))}var rx=U0.getChanges(),O0=Y0.getSourceFile().fileName,C1=e.getRenameLocation(rx,O0,Nx,!0);return{renameFilename:O0,renameLocation:C1,edits:rx};function nx(O,b1){if(O===void 0)return{variableType:O,initializer:b1};if(!e.isFunctionExpression(b1)&&!e.isArrowFunction(b1)||b1.typeParameters)return{variableType:O,initializer:b1};var Px=K0.getTypeAtLocation(Y0),me=e.singleOrUndefined(K0.getSignaturesOfType(Px,0));if(!me)return{variableType:O,initializer:b1};if(me.getTypeParameters())return{variableType:O,initializer:b1};for(var Re=[],gt=!1,Vt=0,wr=b1.parameters;Vt<wr.length;Vt++){var gr=wr[Vt];if(gr.type)Re.push(gr);else{var Nt=K0.getTypeAtLocation(gr);Nt===K0.getAnyType()&&(gt=!0),Re.push(e.factory.updateParameterDeclaration(gr,gr.decorators,gr.modifiers,gr.dotDotDotToken,gr.name,gr.questionToken,gr.type||K0.typeToTypeNode(Nt,$1,1),gr.initializer))}}if(gt)return{variableType:O,initializer:b1};if(O=void 0,e.isArrowFunction(b1))b1=e.factory.updateArrowFunction(b1,Y0.modifiers,b1.typeParameters,Re,b1.type||K0.typeToTypeNode(me.getReturnType(),$1,1),b1.equalsGreaterThanToken,b1.body);else{if(me&&me.thisParameter){var Ir=e.firstOrUndefined(Re);if(!Ir||e.isIdentifier(Ir.name)&&Ir.name.escapedText!==\"this\"){var xr=K0.getTypeOfSymbolAtLocation(me.thisParameter,Y0);Re.splice(0,0,e.factory.createParameterDeclaration(void 0,void 0,void 0,\"this\",void 0,K0.typeToTypeNode(xr,$1,1)))}}b1=e.factory.updateFunctionExpression(b1,Y0.modifiers,b1.asteriskToken,b1.name,b1.typeParameters,Re,b1.type||K0.typeToTypeNode(me.getReturnType(),$1,1),b1.body)}return{variableType:O,initializer:b1}}}(e.isExpression(d1)?d1:d1.statements[0].expression,y0[t0],h1[t0],k0.facts,V0)}(w0,x0,w);e.Debug.fail(\"Unrecognized action name\")}function A0(x0,l0,w0){w0===void 0&&(w0=!0);var V=l0.length;if(V===0&&!w0)return{errors:[e.createFileDiagnostic(x0,l0.start,V,J.cannotExtractEmpty)]};var w=V===0&&w0,H=e.findFirstNonJsxWhitespaceToken(x0,l0.start),k0=e.findTokenOnLeftOfPosition(x0,e.textSpanEnd(l0)),V0=H&&k0&&w0?function(y1,k1,I1){var K0=y1.getStart(I1),G1=k1.getEnd();return I1.text.charCodeAt(G1)===59&&G1++,{start:K0,length:G1-K0}}(H,k0,x0):l0,t0=w?function(y1){return e.findAncestor(y1,function(k1){return k1.parent&&P0(k1)&&!e.isBinaryExpression(k1.parent)})}(H):e.getParentNodeInSpan(H,x0,V0),f0=w?t0:e.getParentNodeInSpan(k0,x0,V0),y0=[],G0=m0.None;if(!t0||!f0)return{errors:[e.createFileDiagnostic(x0,l0.start,V,J.cannotExtractRange)]};if(e.isJSDoc(t0))return{errors:[e.createFileDiagnostic(x0,l0.start,V,J.cannotExtractJSDoc)]};if(t0.parent!==f0.parent)return{errors:[e.createFileDiagnostic(x0,l0.start,V,J.cannotExtractRange)]};if(t0!==f0){if(!c0(t0.parent))return{errors:[e.createFileDiagnostic(x0,l0.start,V,J.cannotExtractRange)]};for(var d1=[],h1=0,S1=t0.parent.statements;h1<S1.length;h1++){var Q1=S1[h1];if(Q1===t0||d1.length){var Y0=Q0(Q1);if(Y0)return{errors:Y0};d1.push(Q1)}if(Q1===f0)break}return d1.length?{targetRange:{range:d1,facts:G0,declarations:y0}}:{errors:[e.createFileDiagnostic(x0,l0.start,V,J.cannotExtractRange)]}}if(e.isReturnStatement(t0)&&!t0.expression)return{errors:[e.createFileDiagnostic(x0,l0.start,V,J.cannotExtractRange)]};var $1=function(y1){if(e.isReturnStatement(y1)){if(y1.expression)return y1.expression}else if(e.isVariableStatement(y1)){for(var k1=0,I1=void 0,K0=0,G1=y1.declarationList.declarations;K0<G1.length;K0++){var Nx=G1[K0];Nx.initializer&&(k1++,I1=Nx.initializer)}if(k1===1)return I1}else if(e.isVariableDeclaration(y1)&&y1.initializer)return y1.initializer;return y1}(t0),Z1=function(y1){if(e.isIdentifier(e.isExpressionStatement(y1)?y1.expression:y1))return[e.createDiagnosticForNode(y1,J.cannotExtractIdentifier)]}($1)||Q0($1);return Z1?{errors:Z1}:{targetRange:{range:o0($1),facts:G0,declarations:y0}};function Q0(y1){var k1;if(function(n1){n1[n1.None=0]=\"None\",n1[n1.Break=1]=\"Break\",n1[n1.Continue=2]=\"Continue\",n1[n1.Return=4]=\"Return\"}(k1||(k1={})),e.Debug.assert(y1.pos<=y1.end,\"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809 (1)\"),e.Debug.assert(!e.positionIsSynthesized(y1.pos),\"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809 (2)\"),!(e.isStatement(y1)||e.isExpressionNode(y1)&&P0(y1)))return[e.createDiagnosticForNode(y1,J.statementOrExpressionExpected)];if(8388608&y1.flags)return[e.createDiagnosticForNode(y1,J.cannotExtractAmbientBlock)];var I1,K0=e.getContainingClass(y1);K0&&function(n1,S0){for(var I0=n1;I0!==S0;){if(I0.kind===164){e.hasSyntacticModifier(I0,32)&&(G0|=m0.InStaticRegion);break}if(I0.kind===161){e.getContainingFunction(I0).kind===167&&(G0|=m0.InStaticRegion);break}I0.kind===166&&e.hasSyntacticModifier(I0,32)&&(G0|=m0.InStaticRegion),I0=I0.parent}}(y1,K0);var G1,Nx=4;return function n1(S0){if(I1)return!0;if(e.isDeclaration(S0)){var I0=S0.kind===250?S0.parent.parent:S0;if(e.hasSyntacticModifier(I0,1))return(I1||(I1=[])).push(e.createDiagnosticForNode(S0,J.cannotExtractExportedEntity)),!0;y0.push(S0.symbol)}switch(S0.kind){case 262:return(I1||(I1=[])).push(e.createDiagnosticForNode(S0,J.cannotExtractImport)),!0;case 267:return(I1||(I1=[])).push(e.createDiagnosticForNode(S0,J.cannotExtractExportedEntity)),!0;case 105:if(S0.parent.kind===204){var U0=e.getContainingClass(S0);if(U0.pos<l0.start||U0.end>=l0.start+l0.length)return(I1||(I1=[])).push(e.createDiagnosticForNode(S0,J.cannotExtractSuper)),!0}else G0|=m0.UsesThis;break;case 210:e.forEachChild(S0,function Y1(N1){if(e.isThis(N1))G0|=m0.UsesThis;else{if(e.isClassLike(N1)||e.isFunctionLike(N1)&&!e.isArrowFunction(N1))return!1;e.forEachChild(N1,Y1)}});case 253:case 252:e.isSourceFile(S0.parent)&&S0.parent.externalModuleIndicator===void 0&&(I1||(I1=[])).push(e.createDiagnosticForNode(S0,J.functionWillNotBeVisibleInTheNewScope));case 222:case 209:case 166:case 167:case 168:case 169:return!1}var p0=Nx;switch(S0.kind){case 235:case 248:Nx=0;break;case 231:S0.parent&&S0.parent.kind===248&&S0.parent.finallyBlock===S0&&(Nx=4);break;case 286:case 285:Nx|=1;break;default:e.isIterationStatement(S0,!1)&&(Nx|=3)}switch(S0.kind){case 188:case 107:G0|=m0.UsesThis;break;case 246:var p1=S0.label;(G1||(G1=[])).push(p1.escapedText),e.forEachChild(S0,n1),G1.pop();break;case 242:case 241:(p1=S0.label)?e.contains(G1,p1.escapedText)||(I1||(I1=[])).push(e.createDiagnosticForNode(S0,J.cannotExtractRangeContainingLabeledBreakOrContinueStatementWithTargetOutsideOfTheRange)):Nx&(S0.kind===242?1:2)||(I1||(I1=[])).push(e.createDiagnosticForNode(S0,J.cannotExtractRangeContainingConditionalBreakOrContinueStatements));break;case 214:G0|=m0.IsAsyncFunction;break;case 220:G0|=m0.IsGenerator;break;case 243:4&Nx?G0|=m0.HasReturn:(I1||(I1=[])).push(e.createDiagnosticForNode(S0,J.cannotExtractRangeContainingConditionalReturnStatement));break;default:e.forEachChild(S0,n1)}Nx=p0}(y1),I1}}function o0(x0){return e.isStatement(x0)?[x0]:e.isExpressionNode(x0)?e.isExpressionStatement(x0.parent)?[x0.parent]:x0:void 0}function j(x0){return e.isFunctionLikeDeclaration(x0)||e.isSourceFile(x0)||e.isModuleBlock(x0)||e.isClassLike(x0)}function G(x0,l0){var w0=l0.file,V=function(w){var H=d0(w.range)?e.first(w.range):w.range;if(w.facts&m0.UsesThis){var k0=e.getContainingClass(H);if(k0){var V0=e.findAncestor(H,e.isFunctionLikeDeclaration);return V0?[V0,k0]:[k0]}}for(var t0=[];;)if((H=H.parent).kind===161&&(H=e.findAncestor(H,function(f0){return e.isFunctionLikeDeclaration(f0)}).parent),j(H)&&(t0.push(H),H.kind===298))return t0}(x0);return{scopes:V,readsAndWrites:function(w,H,k0,V0,t0,f0){var y0,G0,d1=new e.Map,h1=[],S1=[],Q1=[],Y0=[],$1=[],Z1=new e.Map,Q0=[],y1=d0(w.range)?w.range.length===1&&e.isExpressionStatement(w.range[0])?w.range[0].expression:void 0:w.range;if(y1===void 0){var k1=w.range,I1=e.first(k1).getStart(),K0=e.last(k1).end;G0=e.createFileDiagnostic(V0,I1,K0-I1,J.expressionExpected)}else 147456&t0.getTypeAtLocation(y1).flags&&(G0=e.createDiagnosticForNode(y1,J.uselessConstantType));for(var G1=0,Nx=H;G1<Nx.length;G1++){var n1=Nx[G1];h1.push({usages:new e.Map,typeParameterUsages:new e.Map,substitutions:new e.Map}),S1.push(new e.Map),Q1.push(e.isFunctionLikeDeclaration(n1)&&n1.kind!==252?[e.createDiagnosticForNode(n1,J.cannotExtractToOtherFunctionLike)]:[]);var S0=[];G0&&S0.push(G0),e.isClassLike(n1)&&e.isInJSFile(n1)&&S0.push(e.createDiagnosticForNode(n1,J.cannotExtractToJSClass)),e.isArrowFunction(n1)&&!e.isBlock(n1.body)&&S0.push(e.createDiagnosticForNode(n1,J.cannotExtractToExpressionArrowFunction)),Y0.push(S0)}var I0=new e.Map,U0=d0(w.range)?e.factory.createBlock(w.range):w.range,p0=d0(w.range)?e.first(w.range):w.range,p1=b1(p0);if(me(U0),p1&&!d0(w.range)&&Px(t0.getContextualType(w.range)),d1.size>0){for(var Y1=new e.Map,N1=0,V1=p0;V1!==void 0&&N1<H.length;V1=V1.parent)if(V1===H[N1]&&(Y1.forEach(function(Nt,Ir){h1[N1].typeParameterUsages.set(Ir,Nt)}),N1++),e.isDeclarationWithTypeParameters(V1))for(var Ox=0,$x=e.getEffectiveTypeParameterDeclarations(V1);Ox<$x.length;Ox++){var rx=$x[Ox],O0=t0.getTypeAtLocation(rx);d1.has(O0.id.toString())&&Y1.set(O0.id.toString(),O0)}e.Debug.assert(N1===H.length,\"Should have iterated all scopes\")}if($1.length){var C1=e.isBlockScope(H[0],H[0].parent)?H[0]:e.getEnclosingBlockScopeContainer(H[0]);e.forEachChild(C1,Vt)}for(var nx=function(Nt){var Ir=h1[Nt];if(Nt>0&&(Ir.usages.size>0||Ir.typeParameterUsages.size>0)){var xr=d0(w.range)?w.range[0]:w.range;Y0[Nt].push(e.createDiagnosticForNode(xr,J.cannotAccessVariablesFromNestedScopes))}var Bt,ar=!1;if(h1[Nt].usages.forEach(function(Kn){Kn.usage===2&&(ar=!0,106500&Kn.symbol.flags&&Kn.symbol.valueDeclaration&&e.hasEffectiveModifier(Kn.symbol.valueDeclaration,64)&&(Bt=Kn.symbol.valueDeclaration))}),e.Debug.assert(d0(w.range)||Q0.length===0,\"No variable declarations expected if something was extracted\"),ar&&!d0(w.range)){var Ni=e.createDiagnosticForNode(w.range,J.cannotWriteInExpression);Q1[Nt].push(Ni),Y0[Nt].push(Ni)}else Bt&&Nt>0?(Ni=e.createDiagnosticForNode(Bt,J.cannotExtractReadonlyPropertyInitializerOutsideConstructor),Q1[Nt].push(Ni),Y0[Nt].push(Ni)):y0&&(Ni=e.createDiagnosticForNode(y0,J.cannotExtractExportedEntity),Q1[Nt].push(Ni),Y0[Nt].push(Ni))},O=0;O<H.length;O++)nx(O);return{target:U0,usagesPerScope:h1,functionErrorsPerScope:Q1,constantErrorsPerScope:Y0,exposedVariableDeclarations:Q0};function b1(Nt){return!!e.findAncestor(Nt,function(Ir){return e.isDeclarationWithTypeParameters(Ir)&&e.getEffectiveTypeParameterDeclarations(Ir).length!==0})}function Px(Nt){for(var Ir=0,xr=t0.getSymbolWalker(function(){return f0.throwIfCancellationRequested(),!0}).walkType(Nt).visitedTypes;Ir<xr.length;Ir++){var Bt=xr[Ir];Bt.isTypeParameter()&&d1.set(Bt.id.toString(),Bt)}}function me(Nt,Ir){if(Ir===void 0&&(Ir=1),p1&&Px(t0.getTypeAtLocation(Nt)),e.isDeclaration(Nt)&&Nt.symbol&&$1.push(Nt),e.isAssignmentExpression(Nt))me(Nt.left,2),me(Nt.right);else if(e.isUnaryExpressionWithWrite(Nt))me(Nt.operand,2);else if(e.isPropertyAccessExpression(Nt)||e.isElementAccessExpression(Nt))e.forEachChild(Nt,me);else if(e.isIdentifier(Nt)){if(!Nt.parent||e.isQualifiedName(Nt.parent)&&Nt!==Nt.parent.left||e.isPropertyAccessExpression(Nt.parent)&&Nt!==Nt.parent.expression)return;Re(Nt,Ir,e.isPartOfTypeNode(Nt))}else e.forEachChild(Nt,me)}function Re(Nt,Ir,xr){var Bt=gt(Nt,Ir,xr);if(Bt)for(var ar=0;ar<H.length;ar++){var Ni=S1[ar].get(Bt);Ni&&h1[ar].substitutions.set(e.getNodeId(Nt).toString(),Ni)}}function gt(Nt,Ir,xr){var Bt=wr(Nt);if(Bt){var ar=e.getSymbolId(Bt).toString(),Ni=I0.get(ar);if(Ni&&Ni>=Ir)return ar;if(I0.set(ar,Ir),Ni){for(var Kn=0,oi=h1;Kn<oi.length;Kn++){var Ba=oi[Kn];Ba.usages.get(Nt.text)&&Ba.usages.set(Nt.text,{usage:Ir,symbol:Bt,node:Nt})}return ar}var dt=Bt.getDeclarations(),Gt=dt&&e.find(dt,function(W1){return W1.getSourceFile()===V0});if(Gt&&!e.rangeContainsStartEnd(k0,Gt.getStart(),Gt.end)){if(w.facts&m0.IsGenerator&&Ir===2){for(var lr=e.createDiagnosticForNode(Nt,J.cannotExtractRangeThatContainsWritesToReferencesLocatedOutsideOfTheTargetRangeInGenerators),en=0,ii=Q1;en<ii.length;en++)ii[en].push(lr);for(var Tt=0,bn=Y0;Tt<bn.length;Tt++)bn[Tt].push(lr)}for(var Le=0;Le<H.length;Le++){var Sa=H[Le];if(t0.resolveName(Bt.name,Sa,Bt.flags,!1)!==Bt&&!S1[Le].has(ar)){var Yn=gr(Bt.exportSymbol||Bt,Sa,xr);Yn?S1[Le].set(ar,Yn):xr?262144&Bt.flags||(lr=e.createDiagnosticForNode(Nt,J.typeWillNotBeVisibleInTheNewScope),Q1[Le].push(lr),Y0[Le].push(lr)):h1[Le].usages.set(Nt.text,{usage:Ir,symbol:Bt,node:Nt})}}return ar}}}function Vt(Nt){if(!(Nt===w.range||d0(w.range)&&w.range.indexOf(Nt)>=0)){var Ir=e.isIdentifier(Nt)?wr(Nt):t0.getSymbolAtLocation(Nt);if(Ir){var xr=e.find($1,function(ar){return ar.symbol===Ir});if(xr)if(e.isVariableDeclaration(xr)){var Bt=xr.symbol.id.toString();Z1.has(Bt)||(Q0.push(xr),Z1.set(Bt,!0))}else y0=y0||xr}e.forEachChild(Nt,Vt)}}function wr(Nt){return Nt.parent&&e.isShorthandPropertyAssignment(Nt.parent)&&Nt.parent.name===Nt?t0.getShorthandAssignmentValueSymbol(Nt.parent):t0.getSymbolAtLocation(Nt)}function gr(Nt,Ir,xr){if(Nt){var Bt=Nt.getDeclarations();if(Bt&&Bt.some(function(Ni){return Ni.parent===Ir}))return e.factory.createIdentifier(Nt.name);var ar=gr(Nt.parent,Ir,xr);if(ar!==void 0)return xr?e.factory.createQualifiedName(ar,e.factory.createIdentifier(Nt.name)):e.factory.createPropertyAccessExpression(ar,Nt.name)}}}(x0,V,function(w,H){return d0(w.range)?{pos:e.first(w.range).getStart(H),end:e.last(w.range).getEnd()}:w.range}(x0,w0),w0,l0.program.getTypeChecker(),l0.cancellationToken)}}function u0(x0){var l0,w0=x0.symbol;if(w0&&w0.declarations)for(var V=0,w=w0.declarations;V<w.length;V++){var H=w[V];(l0===void 0||H.pos<l0.pos)&&(l0=H)}return l0}function U(x0,l0){var w0=x0.type,V=x0.declaration,w=l0.type,H=l0.declaration;return e.compareProperties(V,H,\"pos\",e.compareValues)||e.compareStringsCaseSensitive(w0.symbol?w0.symbol.getName():\"\",w.symbol?w.symbol.getName():\"\")||e.compareValues(w0.id,w.id)}function g0(x0,l0){var w0=e.map(x0,function(w){return e.factory.createShorthandPropertyAssignment(w.symbol.name)}),V=e.map(l0,function(w){return e.factory.createShorthandPropertyAssignment(w.symbol.name)});return w0===void 0?V:V===void 0?w0:w0.concat(V)}function d0(x0){return e.isArray(x0)}function P0(x0){var l0=x0.parent;switch(l0.kind){case 292:return!1}switch(x0.kind){case 10:return l0.kind!==262&&l0.kind!==266;case 221:case 197:case 199:return!1;case 78:return l0.kind!==199&&l0.kind!==266&&l0.kind!==271}return!0}function c0(x0){switch(x0.kind){case 231:case 298:case 258:case 285:return!0;default:return!1}}function D0(x0){return(e.isJsxElement(x0)||e.isJsxSelfClosingElement(x0)||e.isJsxFragment(x0))&&e.isJsxElement(x0.parent)}s.registerRefactor(H0,{kinds:[E0.kind,I.kind],getAvailableActions:A,getEditsForAction:Z}),X.getAvailableActions=A,X.getEditsForAction=Z,function(x0){function l0(w0){return{message:w0,code:0,category:e.DiagnosticCategory.Message,key:w0}}x0.cannotExtractRange=l0(\"Cannot extract range.\"),x0.cannotExtractImport=l0(\"Cannot extract import statement.\"),x0.cannotExtractSuper=l0(\"Cannot extract super call.\"),x0.cannotExtractJSDoc=l0(\"Cannot extract JSDoc.\"),x0.cannotExtractEmpty=l0(\"Cannot extract empty range.\"),x0.expressionExpected=l0(\"expression expected.\"),x0.uselessConstantType=l0(\"No reason to extract constant of type.\"),x0.statementOrExpressionExpected=l0(\"Statement or expression expected.\"),x0.cannotExtractRangeContainingConditionalBreakOrContinueStatements=l0(\"Cannot extract range containing conditional break or continue statements.\"),x0.cannotExtractRangeContainingConditionalReturnStatement=l0(\"Cannot extract range containing conditional return statement.\"),x0.cannotExtractRangeContainingLabeledBreakOrContinueStatementWithTargetOutsideOfTheRange=l0(\"Cannot extract range containing labeled break or continue with target outside of the range.\"),x0.cannotExtractRangeThatContainsWritesToReferencesLocatedOutsideOfTheTargetRangeInGenerators=l0(\"Cannot extract range containing writes to references located outside of the target range in generators.\"),x0.typeWillNotBeVisibleInTheNewScope=l0(\"Type will not visible in the new scope.\"),x0.functionWillNotBeVisibleInTheNewScope=l0(\"Function will not visible in the new scope.\"),x0.cannotExtractIdentifier=l0(\"Select more than a single identifier.\"),x0.cannotExtractExportedEntity=l0(\"Cannot extract exported declaration\"),x0.cannotWriteInExpression=l0(\"Cannot write back side-effects when extracting an expression\"),x0.cannotExtractReadonlyPropertyInitializerOutsideConstructor=l0(\"Cannot move initialization of read-only class property outside of the constructor\"),x0.cannotExtractAmbientBlock=l0(\"Cannot extract code from ambient contexts\"),x0.cannotAccessVariablesFromNestedScopes=l0(\"Cannot access variables from nested scopes\"),x0.cannotExtractToOtherFunctionLike=l0(\"Cannot extract method to a function-like scope that is not a function\"),x0.cannotExtractToJSClass=l0(\"Cannot extract constant to a class scope in JS\"),x0.cannotExtractToExpressionArrowFunction=l0(\"Cannot extract constant to an arrow function without a block\")}(J=X.Messages||(X.Messages={})),function(x0){x0[x0.None=0]=\"None\",x0[x0.HasReturn=1]=\"HasReturn\",x0[x0.IsGenerator=2]=\"IsGenerator\",x0[x0.IsAsyncFunction=4]=\"IsAsyncFunction\",x0[x0.UsesThis=8]=\"UsesThis\",x0[x0.InStaticRegion=16]=\"InStaticRegion\"}(m0||(m0={})),X.getRangeToExtract=A0,function(x0){x0[x0.Module=0]=\"Module\",x0[x0.Global=1]=\"Global\"}(s1||(s1={})),function(x0){x0[x0.Read=1]=\"Read\",x0[x0.Write=2]=\"Write\"}(i0||(i0={}))})((s=e.refactor||(e.refactor={})).extractSymbol||(s.extractSymbol={}))}(_0||(_0={})),function(e){(function(s){var X=\"Extract type\",J={name:\"Extract to type alias\",description:e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_type_alias),kind:\"refactor.extract.type\"},m0={name:\"Extract to interface\",description:e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_interface),kind:\"refactor.extract.interface\"},s1={name:\"Extract to typedef\",description:e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_typedef),kind:\"refactor.extract.typedef\"};function i0(I,A){A===void 0&&(A=!0);var Z=I.file,A0=I.startPosition,o0=e.isSourceFileJS(Z),j=e.getTokenAtPosition(Z,A0),G=e.createTextRangeFromSpan(e.getRefactorContextSpan(I)),u0=G.pos===G.end&&A,U=e.findAncestor(j,function(c0){return c0.parent&&e.isTypeNode(c0)&&!E0(G,c0.parent,Z)&&(u0||e.nodeOverlapsWithStartEnd(j,Z,G.pos,G.end))});if(!U||!e.isTypeNode(U))return{error:e.getLocaleSpecificMessage(e.Diagnostics.Selection_is_not_a_valid_type_node)};var g0=I.program.getTypeChecker(),d0=e.Debug.checkDefined(e.findAncestor(U,e.isStatement),\"Should find a statement\"),P0=function(c0,D0,x0,l0){var w0=[];return V(D0)?void 0:w0;function V(w){if(e.isTypeReferenceNode(w)){if(e.isIdentifier(w.typeName)&&((t0=c0.resolveName(w.typeName.text,w.typeName,262144,!0))==null?void 0:t0.declarations)){var H=e.cast(e.first(t0.declarations),e.isTypeParameterDeclaration);E0(x0,H,l0)&&!E0(D0,H,l0)&&e.pushIfUnique(w0,H)}}else if(e.isInferTypeNode(w)){var k0=e.findAncestor(w,function(f0){return e.isConditionalTypeNode(f0)&&E0(f0.extendsType,w,l0)});if(!k0||!E0(D0,k0,l0))return!0}else if(e.isTypePredicateNode(w)||e.isThisTypeNode(w)){var V0=e.findAncestor(w.parent,e.isFunctionLike);if(V0&&V0.type&&E0(V0.type,w,l0)&&!E0(D0,V0,l0))return!0}else if(e.isTypeQueryNode(w)){var t0;if(e.isIdentifier(w.exprName)){if(((t0=c0.resolveName(w.exprName.text,w.exprName,111551,!1))==null?void 0:t0.valueDeclaration)&&E0(x0,t0.valueDeclaration,l0)&&!E0(D0,t0.valueDeclaration,l0))return!0}else if(e.isThisIdentifier(w.exprName.left)&&!E0(D0,w.parent,l0))return!0}return l0&&e.isTupleTypeNode(w)&&e.getLineAndCharacterOfPosition(l0,w.pos).line===e.getLineAndCharacterOfPosition(l0,w.end).line&&e.setEmitFlags(w,1),e.forEachChild(w,V)}}(g0,U,d0,Z);return P0?{isJS:o0,selection:U,firstStatement:d0,typeParameters:P0,typeElements:H0(g0,U)}:{error:e.getLocaleSpecificMessage(e.Diagnostics.No_type_could_be_extracted_from_this_type_node)}}function H0(I,A){if(A){if(e.isIntersectionTypeNode(A)){for(var Z=[],A0=new e.Map,o0=0,j=A.types;o0<j.length;o0++){var G=H0(I,j[o0]);if(!G||!G.every(function(u0){return u0.name&&e.addToSeen(A0,e.getNameFromPropertyName(u0.name))}))return;e.addRange(Z,G)}return Z}return e.isParenthesizedTypeNode(A)?H0(I,A.type):e.isTypeLiteralNode(A)?A.members:void 0}}function E0(I,A,Z){return e.rangeContainsStartEnd(I,e.skipTrivia(Z.text,A.pos),A.end)}s.registerRefactor(X,{kinds:[J.kind,m0.kind,s1.kind],getAvailableActions:function(I){var A=i0(I,I.triggerReason===\"invoked\");return A?s.isRefactorErrorInfo(A)?I.preferences.provideRefactorNotApplicableReason?[{name:X,description:e.getLocaleSpecificMessage(e.Diagnostics.Extract_type),actions:[$($({},s1),{notApplicableReason:A.error}),$($({},J),{notApplicableReason:A.error}),$($({},m0),{notApplicableReason:A.error})]}]:e.emptyArray:[{name:X,description:e.getLocaleSpecificMessage(e.Diagnostics.Extract_type),actions:A.isJS?[s1]:e.append([J],A.typeElements&&m0)}]:e.emptyArray},getEditsForAction:function(I,A){var Z=I.file,A0=i0(I);e.Debug.assert(A0&&!s.isRefactorErrorInfo(A0),\"Expected to find a range to extract\");var o0=e.getUniqueName(\"NewType\",Z),j=e.textChanges.ChangeTracker.with(I,function(u0){switch(A){case J.name:return e.Debug.assert(!A0.isJS,\"Invalid actionName/JS combo\"),function(U,g0,d0,P0){var c0=P0.firstStatement,D0=P0.selection,x0=P0.typeParameters,l0=e.factory.createTypeAliasDeclaration(void 0,void 0,d0,x0.map(function(w0){return e.factory.updateTypeParameterDeclaration(w0,w0.name,w0.constraint,void 0)}),D0);U.insertNodeBefore(g0,c0,e.ignoreSourceNewlines(l0),!0),U.replaceNode(g0,D0,e.factory.createTypeReferenceNode(d0,x0.map(function(w0){return e.factory.createTypeReferenceNode(w0.name,void 0)})),{leadingTriviaOption:e.textChanges.LeadingTriviaOption.Exclude,trailingTriviaOption:e.textChanges.TrailingTriviaOption.ExcludeWhitespace})}(u0,Z,o0,A0);case s1.name:return e.Debug.assert(A0.isJS,\"Invalid actionName/JS combo\"),function(U,g0,d0,P0){var c0=P0.firstStatement,D0=P0.selection,x0=P0.typeParameters,l0=e.factory.createJSDocTypedefTag(e.factory.createIdentifier(\"typedef\"),e.factory.createJSDocTypeExpression(D0),e.factory.createIdentifier(d0)),w0=[];e.forEach(x0,function(V){var w=e.getEffectiveConstraintOfTypeParameter(V),H=e.factory.createTypeParameterDeclaration(V.name),k0=e.factory.createJSDocTemplateTag(e.factory.createIdentifier(\"template\"),w&&e.cast(w,e.isJSDocTypeExpression),[H]);w0.push(k0)}),U.insertNodeBefore(g0,c0,e.factory.createJSDocComment(void 0,e.factory.createNodeArray(e.concatenate(w0,[l0]))),!0),U.replaceNode(g0,D0,e.factory.createTypeReferenceNode(d0,x0.map(function(V){return e.factory.createTypeReferenceNode(V.name,void 0)})))}(u0,Z,o0,A0);case m0.name:return e.Debug.assert(!A0.isJS&&!!A0.typeElements,\"Invalid actionName/JS combo\"),function(U,g0,d0,P0){var c0,D0=P0.firstStatement,x0=P0.selection,l0=P0.typeParameters,w0=P0.typeElements,V=e.factory.createInterfaceDeclaration(void 0,void 0,d0,l0,void 0,w0);e.setTextRange(V,(c0=w0[0])===null||c0===void 0?void 0:c0.parent),U.insertNodeBefore(g0,D0,e.ignoreSourceNewlines(V),!0),U.replaceNode(g0,x0,e.factory.createTypeReferenceNode(d0,l0.map(function(w){return e.factory.createTypeReferenceNode(w.name,void 0)})),{leadingTriviaOption:e.textChanges.LeadingTriviaOption.Exclude,trailingTriviaOption:e.textChanges.TrailingTriviaOption.ExcludeWhitespace})}(u0,Z,o0,A0);default:e.Debug.fail(\"Unexpected action name\")}}),G=Z.fileName;return{edits:j,renameFilename:G,renameLocation:e.getRenameLocation(j,G,o0,!1)}}})})(e.refactor||(e.refactor={}))}(_0||(_0={})),function(e){var s,X,J,m0;(s=e.refactor||(e.refactor={})).generateGetAccessorAndSetAccessor||(s.generateGetAccessorAndSetAccessor={}),X=\"Generate 'get' and 'set' accessors\",J=e.Diagnostics.Generate_get_and_set_accessors.message,m0={name:X,description:J,kind:\"refactor.rewrite.property.generateAccessors\"},s.registerRefactor(X,{kinds:[m0.kind],getEditsForAction:function(s1,i0){if(s1.endPosition){var H0=e.codefix.getAccessorConvertiblePropertyAtPosition(s1.file,s1.program,s1.startPosition,s1.endPosition);e.Debug.assert(H0&&!s.isRefactorErrorInfo(H0),\"Expected applicable refactor info\");var E0=e.codefix.generateAccessorFromProperty(s1.file,s1.program,s1.startPosition,s1.endPosition,s1,i0);if(E0){var I=s1.file.fileName,A=H0.renameAccessor?H0.accessorName:H0.fieldName;return{renameFilename:I,renameLocation:(e.isIdentifier(A)?0:-1)+e.getRenameLocation(E0,I,A.text,e.isParameter(H0.declaration)),edits:E0}}}},getAvailableActions:function(s1){if(!s1.endPosition)return e.emptyArray;var i0=e.codefix.getAccessorConvertiblePropertyAtPosition(s1.file,s1.program,s1.startPosition,s1.endPosition,s1.triggerReason===\"invoked\");return i0?s.isRefactorErrorInfo(i0)?s1.preferences.provideRefactorNotApplicableReason?[{name:X,description:J,actions:[$($({},m0),{notApplicableReason:i0.error})]}]:e.emptyArray:[{name:X,description:J,actions:[m0]}]:e.emptyArray}})}(_0||(_0={})),function(e){var s;(s=e.refactor||(e.refactor={})).isRefactorErrorInfo=function(X){return X.error!==void 0},s.refactorKindBeginsWith=function(X,J){return!J||X.substr(0,J.length)===J}}(_0||(_0={})),function(e){(function(s){var X=\"Move to a new file\",J=e.getLocaleSpecificMessage(e.Diagnostics.Move_to_a_new_file),m0={name:X,description:J,kind:\"refactor.move.newFile\"};function s1(t0){var f0=function(S1){var Q1=S1.file,Y0=e.createTextRangeFromSpan(e.getRefactorContextSpan(S1)),$1=Q1.statements,Z1=e.findIndex($1,function(k1){return k1.end>Y0.pos});if(Z1!==-1){var Q0=$1[Z1];if(e.isNamedDeclaration(Q0)&&Q0.name&&e.rangeContainsRange(Q0.name,Y0))return{toMove:[$1[Z1]],afterLast:$1[Z1+1]};if(!(Y0.pos>Q0.getStart(Q1))){var y1=e.findIndex($1,function(k1){return k1.end>Y0.end},Z1);if(y1===-1||!(y1===0||$1[y1].getStart(Q1)<Y0.end))return{toMove:$1.slice(Z1,y1===-1?$1.length:y1),afterLast:y1===-1?void 0:$1[y1]}}}}(t0);if(f0!==void 0){var y0=[],G0=[],d1=f0.toMove,h1=f0.afterLast;return e.getRangesWhere(d1,i0,function(S1,Q1){for(var Y0=S1;Y0<Q1;Y0++)y0.push(d1[Y0]);G0.push({first:d1[S1],afterLast:h1})}),y0.length===0?void 0:{all:y0,ranges:G0}}}function i0(t0){return!function(f0){switch(f0.kind){case 262:return!0;case 261:return!e.hasSyntacticModifier(f0,1);case 233:return f0.declarationList.declarations.every(function(y0){return!!y0.initializer&&e.isRequireCall(y0.initializer,!0)});default:return!1}}(t0)&&!e.isPrologueDirective(t0)}function H0(t0,f0,y0){for(var G0=0,d1=f0;G0<d1.length;G0++){var h1=d1[G0],S1=h1.first,Q1=h1.afterLast;y0.deleteNodeRangeExcludingEnd(t0,S1,Q1)}}function E0(t0){return t0.kind===262?t0.moduleSpecifier:t0.kind===261?t0.moduleReference.expression:t0.initializer.arguments[0]}function I(t0,f0){if(e.isImportDeclaration(t0))e.isStringLiteral(t0.moduleSpecifier)&&f0(t0);else if(e.isImportEqualsDeclaration(t0))e.isExternalModuleReference(t0.moduleReference)&&e.isStringLiteralLike(t0.moduleReference.expression)&&f0(t0);else if(e.isVariableStatement(t0))for(var y0=0,G0=t0.declarationList.declarations;y0<G0.length;y0++){var d1=G0[y0];d1.initializer&&e.isRequireCall(d1.initializer,!0)&&f0(d1)}}function A(t0,f0,y0,G0,d1){if(y0=e.ensurePathIsNonModuleName(y0),G0){var h1=f0.map(function(Q1){return e.factory.createImportSpecifier(void 0,e.factory.createIdentifier(Q1))});return e.makeImportIfNecessary(t0,h1,y0,d1)}e.Debug.assert(!t0,\"No default import should exist\");var S1=f0.map(function(Q1){return e.factory.createBindingElement(void 0,void 0,Q1)});return S1.length?Z(e.factory.createObjectBindingPattern(S1),void 0,A0(e.factory.createStringLiteral(y0))):void 0}function Z(t0,f0,y0,G0){return G0===void 0&&(G0=2),e.factory.createVariableStatement(void 0,e.factory.createVariableDeclarationList([e.factory.createVariableDeclaration(t0,void 0,f0,y0)],G0))}function A0(t0){return e.factory.createCallExpression(e.factory.createIdentifier(\"require\"),void 0,[t0])}function o0(t0,f0,y0,G0){switch(f0.kind){case 262:(function(d1,h1,S1,Q1){if(!!h1.importClause){var Y0=h1.importClause,$1=Y0.name,Z1=Y0.namedBindings,Q0=!$1||Q1($1),y1=!Z1||(Z1.kind===264?Q1(Z1.name):Z1.elements.length!==0&&Z1.elements.every(function(G1){return Q1(G1.name)}));if(Q0&&y1)S1.delete(d1,h1);else if($1&&Q0&&S1.delete(d1,$1),Z1){if(y1)S1.replaceNode(d1,h1.importClause,e.factory.updateImportClause(h1.importClause,h1.importClause.isTypeOnly,$1,void 0));else if(Z1.kind===265)for(var k1=0,I1=Z1.elements;k1<I1.length;k1++){var K0=I1[k1];Q1(K0.name)&&S1.delete(d1,K0)}}}})(t0,f0,y0,G0);break;case 261:G0(f0.name)&&y0.delete(t0,f0);break;case 250:(function(d1,h1,S1,Q1){var Y0=h1.name;switch(Y0.kind){case 78:Q1(Y0)&&S1.delete(d1,Y0);break;case 198:break;case 197:if(Y0.elements.every(function(y1){return e.isIdentifier(y1.name)&&Q1(y1.name)}))S1.delete(d1,e.isVariableDeclarationList(h1.parent)&&h1.parent.declarations.length===1?h1.parent.parent:h1);else for(var $1=0,Z1=Y0.elements;$1<Z1.length;$1++){var Q0=Z1[$1];e.isIdentifier(Q0.name)&&Q1(Q0.name)&&S1.delete(d1,Q0.name)}}})(t0,f0,y0,G0);break;default:e.Debug.assertNever(f0,\"Unexpected import decl kind \"+f0.kind)}}function j(t0){switch(t0.kind){case 261:case 266:case 263:case 264:return!0;case 250:return G(t0);case 199:return e.isVariableDeclaration(t0.parent.parent)&&G(t0.parent.parent);default:return!1}}function G(t0){return e.isSourceFile(t0.parent.parent.parent)&&!!t0.initializer&&e.isRequireCall(t0.initializer,!0)}function u0(t0,f0,y0){switch(t0.kind){case 262:var G0=t0.importClause;if(!G0)return;var d1=G0.name&&y0(G0.name)?G0.name:void 0,h1=G0.namedBindings&&function(Q1,Y0){if(Q1.kind===264)return Y0(Q1.name)?Q1:void 0;var $1=Q1.elements.filter(function(Z1){return Y0(Z1.name)});return $1.length?e.factory.createNamedImports($1):void 0}(G0.namedBindings,y0);return d1||h1?e.factory.createImportDeclaration(void 0,void 0,e.factory.createImportClause(!1,d1,h1),f0):void 0;case 261:return y0(t0.name)?t0:void 0;case 250:var S1=function(Q1,Y0){switch(Q1.kind){case 78:return Y0(Q1)?Q1:void 0;case 198:return Q1;case 197:var $1=Q1.elements.filter(function(Z1){return Z1.propertyName||!e.isIdentifier(Z1.name)||Y0(Z1.name)});return $1.length?e.factory.createObjectBindingPattern($1):void 0}}(t0.name,y0);return S1?Z(S1,t0.type,A0(f0),t0.parent.flags):void 0;default:return e.Debug.assertNever(t0,\"Unexpected import kind \"+t0.kind)}}function U(t0,f0,y0){t0.forEachChild(function G0(d1){if(e.isIdentifier(d1)&&!e.isDeclarationName(d1)){var h1=f0.getSymbolAtLocation(d1);h1&&y0(h1)}else d1.forEachChild(G0)})}s.registerRefactor(X,{kinds:[m0.kind],getAvailableActions:function(t0){var f0=s1(t0);return t0.preferences.allowTextChangesInNewFiles&&f0?[{name:X,description:J,actions:[m0]}]:t0.preferences.provideRefactorNotApplicableReason?[{name:X,description:J,actions:[$($({},m0),{notApplicableReason:e.getLocaleSpecificMessage(e.Diagnostics.Selection_is_not_a_valid_statement_or_statements)})]}]:e.emptyArray},getEditsForAction:function(t0,f0){e.Debug.assert(f0===X,\"Wrong refactor invoked\");var y0=e.Debug.checkDefined(s1(t0));return{edits:e.textChanges.ChangeTracker.with(t0,function(G0){return d1=t0.file,h1=t0.program,S1=y0,Q1=G0,Y0=t0.host,$1=t0.preferences,Z1=h1.getTypeChecker(),Q0=function(G1,Nx,n1){var S0=new g0,I0=new g0,U0=new g0,p0=nx(e.find(Nx,function(O){return!!(2&O.transformFlags)}));p0&&I0.add(p0);for(var p1=0,Y1=Nx;p1<Y1.length;p1++)D0(C1=Y1[p1],function(O){S0.add(e.Debug.checkDefined(e.isExpressionStatement(O)?n1.getSymbolAtLocation(O.expression.left):O.symbol,\"Need a symbol here\"))});for(var N1=0,V1=Nx;N1<V1.length;N1++)U(C1=V1[N1],n1,function(O){if(O.declarations)for(var b1=0,Px=O.declarations;b1<Px.length;b1++){var me=Px[b1];j(me)?I0.add(O):d0(me)&&P0(me)===G1&&!S0.has(O)&&U0.add(O)}});for(var Ox=I0.clone(),$x=new g0,rx=0,O0=G1.statements;rx<O0.length;rx++){var C1=O0[rx];e.contains(Nx,C1)||(p0&&2&C1.transformFlags&&Ox.delete(p0),U(C1,n1,function(O){S0.has(O)&&$x.add(O),Ox.delete(O)}))}return{movedSymbols:S0,newFileImportsFromOldFile:U0,oldFileImportsFromNewFile:$x,oldImportsNeededByNewFile:I0,unusedImportsFromOldFile:Ox};function nx(O){if(O!==void 0){var b1=n1.getJsxNamespace(O),Px=n1.resolveName(b1,O,1920,!0);return Px&&e.some(Px.declarations,j)?Px:void 0}}}(d1,S1.all,Z1),y1=e.getDirectoryPath(d1.fileName),k1=e.extensionFromPath(d1.fileName),I1=function(G1,Nx,n1,S0){for(var I0=G1,U0=1;;U0++){var p0=e.combinePaths(n1,I0+Nx);if(!S0.fileExists(p0))return I0;I0=G1+\".\"+U0}}(Q0.movedSymbols.forEachEntry(e.symbolNameNoDefault)||\"newFile\",k1,y1,Y0),K0=I1+k1,Q1.createNewFile(d1,e.combinePaths(y1,K0),function(G1,Nx,n1,S0,I0,U0,p0){var p1=I0.getTypeChecker(),Y1=e.takeWhile(G1.statements,e.isPrologueDirective);if(!G1.externalModuleIndicator&&!G1.commonJsModuleIndicator)return H0(G1,S0.ranges,n1),D(D([],Y1),S0.all);var N1=!!G1.externalModuleIndicator,V1=e.getQuotePreference(G1,p0),Ox=function(O0,C1,nx,O){var b1,Px=[];return O0.forEach(function(me){me.escapedName===\"default\"?b1=e.factory.createIdentifier(e.symbolNameNoDefault(me)):Px.push(me.name)}),A(b1,Px,C1,nx,O)}(Nx.oldFileImportsFromNewFile,U0,N1,V1);Ox&&e.insertImports(n1,G1,Ox,!0),function(O0,C1,nx,O,b1){for(var Px=0,me=O0.statements;Px<me.length;Px++){var Re=me[Px];e.contains(C1,Re)||I(Re,function(gt){return o0(O0,gt,nx,function(Vt){return O.has(b1.getSymbolAtLocation(Vt))})})}}(G1,S0.all,n1,Nx.unusedImportsFromOldFile,p1),H0(G1,S0.ranges,n1),function(O0,C1,nx,O,b1){for(var Px=C1.getTypeChecker(),me=function(Vt){if(Vt===nx)return\"continue\";for(var wr=function(Ir){I(Ir,function(xr){if(Px.getSymbolAtLocation(E0(xr))===nx.symbol){var Bt=function(oi){var Ba=e.isBindingElement(oi.parent)?e.getPropertySymbolFromBindingElement(Px,oi.parent):e.skipAlias(Px.getSymbolAtLocation(oi),Px);return!!Ba&&O.has(Ba)};o0(Vt,xr,O0,Bt);var ar=e.combinePaths(e.getDirectoryPath(E0(xr).text),b1),Ni=u0(xr,e.factory.createStringLiteral(ar),Bt);Ni&&O0.insertNodeAfter(Vt,Ir,Ni);var Kn=function(oi){switch(oi.kind){case 262:return oi.importClause&&oi.importClause.namedBindings&&oi.importClause.namedBindings.kind===264?oi.importClause.namedBindings.name:void 0;case 261:return oi.name;case 250:return e.tryCast(oi.name,e.isIdentifier);default:return e.Debug.assertNever(oi,\"Unexpected node kind \"+oi.kind)}}(xr);Kn&&function(oi,Ba,dt,Gt,lr,en,ii,Tt){var bn=e.codefix.moduleSpecifierToValidIdentifier(lr,99),Le=!1,Sa=[];if(e.FindAllReferences.Core.eachSymbolReferenceInFile(ii,dt,Ba,function(qx){e.isPropertyAccessExpression(qx.parent)&&(Le=Le||!!dt.resolveName(bn,qx,67108863,!0),Gt.has(dt.getSymbolAtLocation(qx.parent.name))&&Sa.push(qx))}),Sa.length){for(var Yn=Le?e.getUniqueName(bn,Ba):bn,W1=0,cx=Sa;W1<cx.length;W1++){var E1=cx[W1];oi.replaceNode(Ba,E1,e.factory.createIdentifier(Yn))}oi.insertNodeAfter(Ba,Tt,function(qx,xt,ae){var Ut=e.factory.createIdentifier(xt),or=e.factory.createStringLiteral(ae);switch(qx.kind){case 262:return e.factory.createImportDeclaration(void 0,void 0,e.factory.createImportClause(!1,void 0,e.factory.createNamespaceImport(Ut)),or);case 261:return e.factory.createImportEqualsDeclaration(void 0,void 0,!1,Ut,e.factory.createExternalModuleReference(or));case 250:return e.factory.createVariableDeclaration(Ut,void 0,void 0,A0(or));default:return e.Debug.assertNever(qx,\"Unexpected node kind \"+qx.kind)}}(Tt,lr,en))}}(O0,Vt,Px,O,b1,ar,Kn,xr)}})},gr=0,Nt=Vt.statements;gr<Nt.length;gr++)wr(Nt[gr])},Re=0,gt=C1.getSourceFiles();Re<gt.length;Re++)me(gt[Re])}(n1,I0,G1,Nx.movedSymbols,U0);var $x=function(O0,C1,nx,O,b1,Px,me){for(var Re,gt=[],Vt=0,wr=O0.statements;Vt<wr.length;Vt++)I(wr[Vt],function(Ir){e.append(gt,u0(Ir,E0(Ir),function(xr){return C1.has(b1.getSymbolAtLocation(xr))}))});var gr=[],Nt=e.nodeSeenTracker();return nx.forEach(function(Ir){if(Ir.declarations)for(var xr=0,Bt=Ir.declarations;xr<Bt.length;xr++){var ar=Bt[xr];if(d0(ar)){var Ni=l0(ar);if(Ni){var Kn=w0(ar);Nt(Kn)&&V(O0,Kn,O,Px),e.hasSyntacticModifier(ar,512)?Re=Ni:gr.push(Ni.text)}}}}),e.append(gt,A(Re,gr,e.removeFileExtension(e.getBaseFileName(O0.fileName)),Px,me)),gt}(G1,Nx.oldImportsNeededByNewFile,Nx.newFileImportsFromOldFile,n1,p1,N1,V1),rx=function(O0,C1,nx,O){return e.flatMap(C1,function(b1){if(function(me){return e.Debug.assert(e.isSourceFile(me.parent),\"Node parent should be a SourceFile\"),c0(me)||e.isVariableStatement(me)}(b1)&&!w(O0,b1,O)&&D0(b1,function(me){return nx.has(e.Debug.checkDefined(me.symbol))})){var Px=function(me,Re){return Re?[H(me)]:function(gt){return D([gt],k0(gt).map(V0))}(me)}(b1,O);if(Px)return Px}return b1})}(G1,S0.all,Nx.oldFileImportsFromNewFile,N1);return $x.length&&rx.length?D(D(D(D([],Y1),$x),[4]),rx):D(D(D([],Y1),$x),rx)}(d1,Q0,Q1,S1,h1,I1,$1)),void function(G1,Nx,n1,S0,I0){var U0=G1.getCompilerOptions().configFile;if(U0){var p0=e.normalizePath(e.combinePaths(n1,\"..\",S0)),p1=e.getRelativePathFromFile(U0.fileName,p0,I0),Y1=U0.statements[0]&&e.tryCast(U0.statements[0].expression,e.isObjectLiteralExpression),N1=Y1&&e.find(Y1.properties,function(V1){return e.isPropertyAssignment(V1)&&e.isStringLiteral(V1.name)&&V1.name.text===\"files\"});N1&&e.isArrayLiteralExpression(N1.initializer)&&Nx.insertNodeInListAfter(U0,e.last(N1.initializer.elements),e.factory.createStringLiteral(p1),N1.initializer.elements)}}(h1,Q1,d1.fileName,K0,e.hostGetCanonicalFileName(Y0));var d1,h1,S1,Q1,Y0,$1,Z1,Q0,y1,k1,I1,K0}),renameFilename:void 0,renameLocation:void 0}}});var g0=function(){function t0(){this.map=new e.Map}return t0.prototype.add=function(f0){this.map.set(String(e.getSymbolId(f0)),f0)},t0.prototype.has=function(f0){return this.map.has(String(e.getSymbolId(f0)))},t0.prototype.delete=function(f0){this.map.delete(String(e.getSymbolId(f0)))},t0.prototype.forEach=function(f0){this.map.forEach(f0)},t0.prototype.forEachEntry=function(f0){return e.forEachEntry(this.map,f0)},t0.prototype.clone=function(){var f0=new t0;return e.copyEntries(this.map,f0.map),f0},t0}();function d0(t0){return c0(t0)&&e.isSourceFile(t0.parent)||e.isVariableDeclaration(t0)&&e.isSourceFile(t0.parent.parent.parent)}function P0(t0){return e.isVariableDeclaration(t0)?t0.parent.parent.parent:t0.parent}function c0(t0){switch(t0.kind){case 252:case 253:case 257:case 256:case 255:case 254:case 261:return!0;default:return!1}}function D0(t0,f0){switch(t0.kind){case 252:case 253:case 257:case 256:case 255:case 254:case 261:return f0(t0);case 233:return e.firstDefined(t0.declarationList.declarations,function(G0){return x0(G0.name,f0)});case 234:var y0=t0.expression;return e.isBinaryExpression(y0)&&e.getAssignmentDeclarationKind(y0)===1?f0(t0):void 0}}function x0(t0,f0){switch(t0.kind){case 78:return f0(e.cast(t0.parent,function(y0){return e.isVariableDeclaration(y0)||e.isBindingElement(y0)}));case 198:case 197:return e.firstDefined(t0.elements,function(y0){return e.isOmittedExpression(y0)?void 0:x0(y0.name,f0)});default:return e.Debug.assertNever(t0,\"Unexpected name kind \"+t0.kind)}}function l0(t0){return e.isExpressionStatement(t0)?e.tryCast(t0.expression.left.name,e.isIdentifier):e.tryCast(t0.name,e.isIdentifier)}function w0(t0){switch(t0.kind){case 250:return t0.parent.parent;case 199:return w0(e.cast(t0.parent.parent,function(f0){return e.isVariableDeclaration(f0)||e.isBindingElement(f0)}));default:return t0}}function V(t0,f0,y0,G0){if(!w(t0,f0,G0))if(G0)e.isExpressionStatement(f0)||y0.insertExportModifier(t0,f0);else{var d1=k0(f0);d1.length!==0&&y0.insertNodesAfter(t0,f0,d1.map(V0))}}function w(t0,f0,y0){return y0?!e.isExpressionStatement(f0)&&e.hasSyntacticModifier(f0,1):k0(f0).some(function(G0){return t0.symbol.exports.has(e.escapeLeadingUnderscores(G0))})}function H(t0){var f0=e.concatenate([e.factory.createModifier(92)],t0.modifiers);switch(t0.kind){case 252:return e.factory.updateFunctionDeclaration(t0,t0.decorators,f0,t0.asteriskToken,t0.name,t0.typeParameters,t0.parameters,t0.type,t0.body);case 253:return e.factory.updateClassDeclaration(t0,t0.decorators,f0,t0.name,t0.typeParameters,t0.heritageClauses,t0.members);case 233:return e.factory.updateVariableStatement(t0,f0,t0.declarationList);case 257:return e.factory.updateModuleDeclaration(t0,t0.decorators,f0,t0.name,t0.body);case 256:return e.factory.updateEnumDeclaration(t0,t0.decorators,f0,t0.name,t0.members);case 255:return e.factory.updateTypeAliasDeclaration(t0,t0.decorators,f0,t0.name,t0.typeParameters,t0.type);case 254:return e.factory.updateInterfaceDeclaration(t0,t0.decorators,f0,t0.name,t0.typeParameters,t0.heritageClauses,t0.members);case 261:return e.factory.updateImportEqualsDeclaration(t0,t0.decorators,f0,t0.isTypeOnly,t0.name,t0.moduleReference);case 234:return e.Debug.fail();default:return e.Debug.assertNever(t0,\"Unexpected declaration kind \"+t0.kind)}}function k0(t0){switch(t0.kind){case 252:case 253:return[t0.name.text];case 233:return e.mapDefined(t0.declarationList.declarations,function(f0){return e.isIdentifier(f0.name)?f0.name.text:void 0});case 257:case 256:case 255:case 254:case 261:return e.emptyArray;case 234:return e.Debug.fail(\"Can't export an ExpressionStatement\");default:return e.Debug.assertNever(t0,\"Unexpected decl kind \"+t0.kind)}}function V0(t0){return e.factory.createExpressionStatement(e.factory.createBinaryExpression(e.factory.createPropertyAccessExpression(e.factory.createIdentifier(\"exports\"),e.factory.createIdentifier(t0)),62,e.factory.createIdentifier(t0)))}})(e.refactor||(e.refactor={}))}(_0||(_0={})),function(e){var s;(function(X){var J=\"Add or remove braces in an arrow function\",m0=e.Diagnostics.Add_or_remove_braces_in_an_arrow_function.message,s1={name:\"Add braces to arrow function\",description:e.Diagnostics.Add_braces_to_arrow_function.message,kind:\"refactor.rewrite.arrow.braces.add\"},i0={name:\"Remove braces from arrow function\",description:e.Diagnostics.Remove_braces_from_arrow_function.message,kind:\"refactor.rewrite.arrow.braces.remove\"};function H0(E0,I,A,Z){A===void 0&&(A=!0);var A0=e.getTokenAtPosition(E0,I),o0=e.getContainingFunction(A0);if(!o0)return{error:e.getLocaleSpecificMessage(e.Diagnostics.Could_not_find_a_containing_arrow_function)};if(!e.isArrowFunction(o0))return{error:e.getLocaleSpecificMessage(e.Diagnostics.Containing_function_is_not_an_arrow_function)};if(e.rangeContainsRange(o0,A0)&&(!e.rangeContainsRange(o0.body,A0)||A)){if(s.refactorKindBeginsWith(s1.kind,Z)&&e.isExpression(o0.body))return{func:o0,addBraces:!0,expression:o0.body};if(s.refactorKindBeginsWith(i0.kind,Z)&&e.isBlock(o0.body)&&o0.body.statements.length===1){var j=e.first(o0.body.statements);if(e.isReturnStatement(j))return{func:o0,addBraces:!1,expression:j.expression,returnStatement:j}}}}s.registerRefactor(J,{kinds:[i0.kind],getEditsForAction:function(E0,I){var A=E0.file,Z=E0.startPosition,A0=H0(A,Z);e.Debug.assert(A0&&!s.isRefactorErrorInfo(A0),\"Expected applicable refactor info\");var o0,j=A0.expression,G=A0.returnStatement,u0=A0.func;if(I===s1.name){var U=e.factory.createReturnStatement(j);o0=e.factory.createBlock([U],!0),e.suppressLeadingAndTrailingTrivia(o0),e.copyLeadingComments(j,U,A,3,!0)}else if(I===i0.name&&G){var g0=j||e.factory.createVoidZero();o0=e.needsParentheses(g0)?e.factory.createParenthesizedExpression(g0):g0,e.suppressLeadingAndTrailingTrivia(o0),e.copyTrailingAsLeadingComments(G,o0,A,3,!1),e.copyLeadingComments(G,o0,A,3,!1),e.copyTrailingComments(G,o0,A,3,!1)}else e.Debug.fail(\"invalid action\");var d0=e.textChanges.ChangeTracker.with(E0,function(P0){P0.replaceNode(A,u0.body,o0)});return{renameFilename:void 0,renameLocation:void 0,edits:d0}},getAvailableActions:function(E0){var I=E0.file,A=E0.startPosition,Z=E0.triggerReason,A0=H0(I,A,Z===\"invoked\");return A0?s.isRefactorErrorInfo(A0)?E0.preferences.provideRefactorNotApplicableReason?[{name:J,description:m0,actions:[$($({},s1),{notApplicableReason:A0.error}),$($({},i0),{notApplicableReason:A0.error})]}]:e.emptyArray:[{name:J,description:m0,actions:[A0.addBraces?s1:i0]}]:e.emptyArray}})})((s=e.refactor||(e.refactor={})).addOrRemoveBracesToArrowFunction||(s.addOrRemoveBracesToArrowFunction={}))}(_0||(_0={})),function(e){var s;(function(X){var J=\"Convert parameters to destructured object\",m0=e.getLocaleSpecificMessage(e.Diagnostics.Convert_parameters_to_destructured_object),s1={name:J,description:m0,kind:\"refactor.rewrite.parameters.toDestructured\"};function i0(D0,x0){var l0=e.getContainingObjectLiteralElement(D0);if(l0){var w0=x0.getContextualTypeForObjectLiteralElement(l0),V=w0==null?void 0:w0.getSymbol();if(V&&!(6&e.getCheckFlags(V)))return V}}function H0(D0){var x0=D0.node;return e.isImportSpecifier(x0.parent)||e.isImportClause(x0.parent)||e.isImportEqualsDeclaration(x0.parent)||e.isNamespaceImport(x0.parent)||e.isExportSpecifier(x0.parent)||e.isExportAssignment(x0.parent)?x0:void 0}function E0(D0){if(e.isDeclaration(D0.node.parent))return D0.node}function I(D0){if(D0.node.parent){var x0=D0.node,l0=x0.parent;switch(l0.kind){case 204:case 205:var w0=e.tryCast(l0,e.isCallOrNewExpression);if(w0&&w0.expression===x0)return w0;break;case 202:var V=e.tryCast(l0,e.isPropertyAccessExpression);if(V&&V.parent&&V.name===x0){var w=e.tryCast(V.parent,e.isCallOrNewExpression);if(w&&w.expression===V)return w}break;case 203:var H=e.tryCast(l0,e.isElementAccessExpression);if(H&&H.parent&&H.argumentExpression===x0){var k0=e.tryCast(H.parent,e.isCallOrNewExpression);if(k0&&k0.expression===H)return k0}}}}function A(D0){if(D0.node.parent){var x0=D0.node,l0=x0.parent;switch(l0.kind){case 202:var w0=e.tryCast(l0,e.isPropertyAccessExpression);if(w0&&w0.expression===x0)return w0;break;case 203:var V=e.tryCast(l0,e.isElementAccessExpression);if(V&&V.expression===x0)return V}}}function Z(D0){var x0=D0.node;if(e.getMeaningFromLocation(x0)===2||e.isExpressionWithTypeArgumentsInClassExtendsClause(x0.parent))return x0}function A0(D0,x0,l0){var w0=e.getTouchingToken(D0,x0),V=e.getContainingFunctionDeclaration(w0);if(!function(w){var H=e.findAncestor(w,e.isJSDocNode);if(H){var k0=e.findAncestor(H,function(V0){return!e.isJSDocNode(V0)});return!!k0&&e.isFunctionLikeDeclaration(k0)}return!1}(w0))return!(V&&function(w,H){var k0;if(!function(t0,f0){return function(y0){return U(y0)?y0.length-1:y0.length}(t0)>=2&&e.every(t0,function(y0){return function(G0,d1){if(e.isRestParameter(G0)){var h1=d1.getTypeAtLocation(G0);if(!d1.isArrayType(h1)&&!d1.isTupleType(h1))return!1}return!G0.modifiers&&!G0.decorators&&e.isIdentifier(G0.name)}(y0,f0)})}(w.parameters,H))return!1;switch(w.kind){case 252:return G(w)&&j(w,H);case 166:if(e.isObjectLiteralExpression(w.parent)){var V0=i0(w.name,H);return((k0=V0==null?void 0:V0.declarations)===null||k0===void 0?void 0:k0.length)===1&&j(w,H)}return j(w,H);case 167:return e.isClassDeclaration(w.parent)?G(w.parent)&&j(w,H):u0(w.parent.parent)&&j(w,H);case 209:case 210:return u0(w.parent)}return!1}(V,l0)&&e.rangeContainsRange(V,w0))||V.body&&e.rangeContainsRange(V.body,w0)?void 0:V}function o0(D0){return e.isMethodSignature(D0)&&(e.isInterfaceDeclaration(D0.parent)||e.isTypeLiteralNode(D0.parent))}function j(D0,x0){return!!D0.body&&!x0.isImplementationOfOverload(D0)}function G(D0){return!!D0.name||!!e.findModifier(D0,87)}function u0(D0){return e.isVariableDeclaration(D0)&&e.isVarConst(D0)&&e.isIdentifier(D0.name)&&!D0.type}function U(D0){return D0.length>0&&e.isThis(D0[0].name)}function g0(D0){return U(D0)&&(D0=e.factory.createNodeArray(D0.slice(1),D0.hasTrailingComma)),D0}function d0(D0,x0){var l0=g0(D0.parameters),w0=e.isRestParameter(e.last(l0)),V=w0?x0.slice(0,l0.length-1):x0,w=e.map(V,function(V0,t0){var f0=function(y0,G0){return e.isIdentifier(G0)&&e.getTextOfIdentifierOrLiteral(G0)===y0?e.factory.createShorthandPropertyAssignment(y0):e.factory.createPropertyAssignment(y0,G0)}(c0(l0[t0]),V0);return e.suppressLeadingAndTrailingTrivia(f0.name),e.isPropertyAssignment(f0)&&e.suppressLeadingAndTrailingTrivia(f0.initializer),e.copyComments(V0,f0),f0});if(w0&&x0.length>=l0.length){var H=x0.slice(l0.length-1),k0=e.factory.createPropertyAssignment(c0(e.last(l0)),e.factory.createArrayLiteralExpression(H));w.push(k0)}return e.factory.createObjectLiteralExpression(w,!1)}function P0(D0,x0,l0){var w0,V,w,H=x0.getTypeChecker(),k0=g0(D0.parameters),V0=e.map(k0,function(Q1){var Y0=e.factory.createBindingElement(void 0,void 0,c0(Q1),e.isRestParameter(Q1)&&S1(Q1)?e.factory.createArrayLiteralExpression():Q1.initializer);return e.suppressLeadingAndTrailingTrivia(Y0),Q1.initializer&&Y0.initializer&&e.copyComments(Q1.initializer,Y0.initializer),Y0}),t0=e.factory.createObjectBindingPattern(V0),f0=(w0=k0,V=e.map(w0,h1),e.addEmitFlags(e.factory.createTypeLiteralNode(V),1));e.every(k0,S1)&&(w=e.factory.createObjectLiteralExpression());var y0=e.factory.createParameterDeclaration(void 0,void 0,void 0,t0,void 0,f0,w);if(U(D0.parameters)){var G0=D0.parameters[0],d1=e.factory.createParameterDeclaration(void 0,void 0,void 0,G0.name,void 0,G0.type);return e.suppressLeadingAndTrailingTrivia(d1.name),e.copyComments(G0.name,d1.name),G0.type&&(e.suppressLeadingAndTrailingTrivia(d1.type),e.copyComments(G0.type,d1.type)),e.factory.createNodeArray([d1,y0])}return e.factory.createNodeArray([y0]);function h1(Q1){var Y0=Q1.type;Y0||!Q1.initializer&&!e.isRestParameter(Q1)||(Y0=function(Z1){var Q0=H.getTypeAtLocation(Z1);return e.getTypeNodeIfAccessible(Q0,Z1,x0,l0)}(Q1));var $1=e.factory.createPropertySignature(void 0,c0(Q1),S1(Q1)?e.factory.createToken(57):Q1.questionToken,Y0);return e.suppressLeadingAndTrailingTrivia($1),e.copyComments(Q1.name,$1.name),Q1.type&&$1.type&&e.copyComments(Q1.type,$1.type),$1}function S1(Q1){if(e.isRestParameter(Q1)){var Y0=H.getTypeAtLocation(Q1);return!H.isTupleType(Y0)}return H.isOptionalParameter(Q1)}}function c0(D0){return e.getTextOfIdentifierOrLiteral(D0.name)}s.registerRefactor(J,{kinds:[s1.kind],getEditsForAction:function(D0,x0){e.Debug.assert(x0===J,\"Unexpected action name\");var l0=D0.file,w0=D0.startPosition,V=D0.program,w=D0.cancellationToken,H=D0.host,k0=A0(l0,w0,V.getTypeChecker());if(k0&&w){var V0=function(t0,f0,y0){var G0=function(Z1){switch(Z1.kind){case 252:return Z1.name?[Z1.name]:[e.Debug.checkDefined(e.findModifier(Z1,87),\"Nameless function declaration should be a default export\")];case 166:return[Z1.name];case 167:var Q0=e.Debug.checkDefined(e.findChildOfKind(Z1,132,Z1.getSourceFile()),\"Constructor declaration should have constructor keyword\");return Z1.parent.kind===222?[Z1.parent.parent.name,Q0]:[Q0];case 210:return[Z1.parent.name];case 209:return Z1.name?[Z1.name,Z1.parent.name]:[Z1.parent.name];default:return e.Debug.assertNever(Z1,\"Unexpected function declaration kind \"+Z1.kind)}}(t0),d1=e.isConstructorDeclaration(t0)?function(Z1){switch(Z1.parent.kind){case 253:var Q0=Z1.parent;return Q0.name?[Q0.name]:[e.Debug.checkDefined(e.findModifier(Q0,87),\"Nameless class declaration should be a default export\")];case 222:var y1=Z1.parent,k1=Z1.parent.parent,I1=y1.name;return I1?[I1,k1.name]:[k1.name]}}(t0):[],h1=e.deduplicate(D(D([],G0),d1),e.equateValues),S1=f0.getTypeChecker(),Q1=Y0(e.flatMap(h1,function(Z1){return e.FindAllReferences.getReferenceEntriesForNode(-1,Z1,f0,f0.getSourceFiles(),y0)}));return e.every(Q1.declarations,function(Z1){return e.contains(h1,Z1)})||(Q1.valid=!1),Q1;function Y0(Z1){for(var Q0={accessExpressions:[],typeUsages:[]},y1={functionCalls:[],declarations:[],classReferences:Q0,valid:!0},k1=e.map(G0,$1),I1=e.map(d1,$1),K0=e.isConstructorDeclaration(t0),G1=e.map(G0,function(N1){return i0(N1,S1)}),Nx=0,n1=Z1;Nx<n1.length;Nx++){var S0=n1[Nx];if(S0.kind!==0){if(e.contains(G1,$1(S0.node))){if(o0(S0.node.parent)){y1.signature=S0.node.parent;continue}if(U0=I(S0)){y1.functionCalls.push(U0);continue}}var I0=i0(S0.node,S1);if(I0&&e.contains(G1,I0)&&(p0=E0(S0))){y1.declarations.push(p0);continue}if(e.contains(k1,$1(S0.node))||e.isNewExpressionTarget(S0.node)){var U0;if(H0(S0))continue;if(p0=E0(S0)){y1.declarations.push(p0);continue}if(U0=I(S0)){y1.functionCalls.push(U0);continue}}if(K0&&e.contains(I1,$1(S0.node))){var p0;if(H0(S0))continue;if(p0=E0(S0)){y1.declarations.push(p0);continue}var p1=A(S0);if(p1){Q0.accessExpressions.push(p1);continue}if(e.isClassDeclaration(t0.parent)){var Y1=Z(S0);if(Y1){Q0.typeUsages.push(Y1);continue}}}y1.valid=!1}else y1.valid=!1}return y1}function $1(Z1){var Q0=S1.getSymbolAtLocation(Z1);return Q0&&e.getSymbolTarget(Q0,S1)}}(k0,V,w);return V0.valid?{renameFilename:void 0,renameLocation:void 0,edits:e.textChanges.ChangeTracker.with(D0,function(t0){return function(f0,y0,G0,d1,h1,S1){var Q1=S1.signature,Y0=e.map(P0(h1,y0,G0),function(K0){return e.getSynthesizedDeepClone(K0)});Q1&&I1(Q1,e.map(P0(Q1,y0,G0),function(K0){return e.getSynthesizedDeepClone(K0)})),I1(h1,Y0);for(var $1=e.sortAndDeduplicate(S1.functionCalls,function(K0,G1){return e.compareValues(K0.pos,G1.pos)}),Z1=0,Q0=$1;Z1<Q0.length;Z1++){var y1=Q0[Z1];if(y1.arguments&&y1.arguments.length){var k1=e.getSynthesizedDeepClone(d0(h1,y1.arguments),!0);d1.replaceNodeRange(e.getSourceFileOfNode(y1),e.first(y1.arguments),e.last(y1.arguments),k1,{leadingTriviaOption:e.textChanges.LeadingTriviaOption.IncludeAll,trailingTriviaOption:e.textChanges.TrailingTriviaOption.Include})}}function I1(K0,G1){d1.replaceNodeRangeWithNodes(f0,e.first(K0.parameters),e.last(K0.parameters),G1,{joiner:\", \",indentation:0,leadingTriviaOption:e.textChanges.LeadingTriviaOption.IncludeAll,trailingTriviaOption:e.textChanges.TrailingTriviaOption.Include})}}(l0,V,H,t0,k0,V0)})}:{edits:[]}}},getAvailableActions:function(D0){var x0=D0.file,l0=D0.startPosition;return e.isSourceFileJS(x0)?e.emptyArray:A0(x0,l0,D0.program.getTypeChecker())?[{name:J,description:m0,actions:[s1]}]:e.emptyArray}})})((s=e.refactor||(e.refactor={})).convertParamsToDestructuredObject||(s.convertParamsToDestructuredObject={}))}(_0||(_0={})),function(e){var s;(function(X){var J=\"Convert to template string\",m0=e.getLocaleSpecificMessage(e.Diagnostics.Convert_to_template_string),s1={name:J,description:m0,kind:\"refactor.rewrite.string\"};function i0(o0,j){var G=e.getTokenAtPosition(o0,j),u0=E0(G);return!I(u0)&&e.isParenthesizedExpression(u0.parent)&&e.isBinaryExpression(u0.parent.parent)?u0.parent.parent:G}function H0(o0,j){var G=E0(j),u0=o0.file,U=function(c0,D0){var x0=c0.nodes,l0=c0.operators,w0=function(S1,Q1){return function(Y0,$1){Y0<S1.length&&e.copyTrailingComments(S1[Y0],$1,Q1,3,!1)}}(l0,D0),V=function(S1,Q1,Y0){return function($1,Z1){for(;$1.length>0;){var Q0=$1.shift();e.copyTrailingComments(S1[Q0],Z1,Q1,3,!1),Y0(Q0,Z1)}}}(x0,D0,w0),w=Z(0,x0),H=w[0],k0=w[1],V0=w[2];if(H===x0.length){var t0=e.factory.createNoSubstitutionTemplateLiteral(k0);return V(V0,t0),t0}var f0=[],y0=e.factory.createTemplateHead(k0);V(V0,y0);for(var G0,d1=function(S1){var Q1=function(K0){return e.isParenthesizedExpression(K0)&&(A0(K0),K0=K0.expression),K0}(x0[S1]);w0(S1,Q1);var Y0=Z(S1+1,x0),$1=Y0[0],Z1=Y0[1],Q0=Y0[2],y1=(S1=$1-1)==x0.length-1;if(e.isTemplateExpression(Q1)){var k1=e.map(Q1.templateSpans,function(K0,G1){A0(K0);var Nx=Q1.templateSpans[G1+1],n1=K0.literal.text+(Nx?\"\":Z1);return e.factory.createTemplateSpan(K0.expression,y1?e.factory.createTemplateTail(n1):e.factory.createTemplateMiddle(n1))});f0.push.apply(f0,k1)}else{var I1=y1?e.factory.createTemplateTail(Z1):e.factory.createTemplateMiddle(Z1);V(Q0,I1),f0.push(e.factory.createTemplateSpan(Q1,I1))}G0=S1},h1=H;h1<x0.length;h1++)d1(h1),h1=G0;return e.factory.createTemplateExpression(y0,f0)}(A(G),u0),g0=e.getTrailingCommentRanges(u0.text,G.end);if(g0){var d0=g0[g0.length-1],P0={pos:g0[0].pos,end:d0.end};return e.textChanges.ChangeTracker.with(o0,function(c0){c0.deleteRange(u0,P0),c0.replaceNode(u0,G,U)})}return e.textChanges.ChangeTracker.with(o0,function(c0){return c0.replaceNode(u0,G,U)})}function E0(o0){return e.findAncestor(o0.parent,function(j){switch(j.kind){case 202:case 203:return!1;case 219:case 217:return!(e.isBinaryExpression(j.parent)&&function(G){return G.operatorToken.kind!==62}(j.parent));default:return\"quit\"}})||o0}function I(o0){var j=A(o0),G=j.containsString,u0=j.areOperatorsValid;return G&&u0}function A(o0){if(e.isBinaryExpression(o0)){var j=A(o0.left),G=j.nodes,u0=j.operators,U=j.containsString,g0=j.areOperatorsValid;if(!U&&!e.isStringLiteral(o0.right)&&!e.isTemplateExpression(o0.right))return{nodes:[o0],operators:[],containsString:!1,areOperatorsValid:!0};var d0=o0.operatorToken.kind===39,P0=g0&&d0;return G.push(o0.right),u0.push(o0.operatorToken),{nodes:G,operators:u0,containsString:!0,areOperatorsValid:P0}}return{nodes:[o0],operators:[],containsString:e.isStringLiteral(o0),areOperatorsValid:!0}}function Z(o0,j){for(var G=[],u0=\"\";o0<j.length;){var U=j[o0];if(!e.isStringLiteralLike(U)){if(e.isTemplateExpression(U)){u0+=U.head.text;break}break}u0+=U.text,G.push(o0),o0++}return[o0,u0,G]}function A0(o0){var j=o0.getSourceFile();e.copyTrailingComments(o0,o0.expression,j,3,!1),e.copyTrailingAsLeadingComments(o0.expression,o0.expression,j,3,!1)}s.registerRefactor(J,{kinds:[s1.kind],getEditsForAction:function(o0,j){var G=o0.file,u0=o0.startPosition,U=i0(G,u0);switch(j){case m0:return{edits:H0(o0,U)};default:return e.Debug.fail(\"invalid action\")}},getAvailableActions:function(o0){var j=o0.file,G=o0.startPosition,u0=E0(i0(j,G)),U={name:J,description:m0,actions:[]};return e.isBinaryExpression(u0)&&I(u0)?(U.actions.push(s1),[U]):o0.preferences.provideRefactorNotApplicableReason?(U.actions.push($($({},s1),{notApplicableReason:e.getLocaleSpecificMessage(e.Diagnostics.Can_only_convert_string_concatenation)})),[U]):e.emptyArray}})})((s=e.refactor||(e.refactor={})).convertStringOrTemplateLiteral||(s.convertStringOrTemplateLiteral={}))}(_0||(_0={})),function(e){var s;(function(X){var J=\"Convert arrow function or function expression\",m0=e.getLocaleSpecificMessage(e.Diagnostics.Convert_arrow_function_or_function_expression),s1={name:\"Convert to anonymous function\",description:e.getLocaleSpecificMessage(e.Diagnostics.Convert_to_anonymous_function),kind:\"refactor.rewrite.function.anonymous\"},i0={name:\"Convert to named function\",description:e.getLocaleSpecificMessage(e.Diagnostics.Convert_to_named_function),kind:\"refactor.rewrite.function.named\"},H0={name:\"Convert to arrow function\",description:e.getLocaleSpecificMessage(e.Diagnostics.Convert_to_arrow_function),kind:\"refactor.rewrite.function.arrow\"};function E0(A0){var o0=!1;return A0.forEachChild(function j(G){e.isThis(G)?o0=!0:e.isClassLike(G)||e.isFunctionDeclaration(G)||e.isFunctionExpression(G)||e.forEachChild(G,j)}),o0}function I(A0,o0,j){var G=e.getTokenAtPosition(A0,o0),u0=j.getTypeChecker(),U=function(d0,P0,c0){if(function(x0){return e.isVariableDeclaration(x0)||e.isVariableDeclarationList(x0)&&x0.declarations.length===1}(c0)){var D0=(e.isVariableDeclaration(c0)?c0:e.first(c0.declarations)).initializer;return D0&&(e.isArrowFunction(D0)||e.isFunctionExpression(D0)&&!Z(d0,P0,D0))?D0:void 0}}(A0,u0,G.parent);if(U&&!E0(U.body))return{selectedVariableDeclaration:!0,func:U};var g0=e.getContainingFunction(G);if(g0&&(e.isFunctionExpression(g0)||e.isArrowFunction(g0))&&!e.rangeContainsRange(g0.body,G)&&!E0(g0.body))return e.isFunctionExpression(g0)&&Z(A0,u0,g0)?void 0:{selectedVariableDeclaration:!1,func:g0}}function A(A0){return e.isExpression(A0)?e.factory.createBlock([e.factory.createReturnStatement(A0)],!0):A0}function Z(A0,o0,j){return!!j.name&&e.FindAllReferences.Core.isSymbolReferencedInFile(j.name,o0,A0)}s.registerRefactor(J,{kinds:[s1.kind,i0.kind,H0.kind],getEditsForAction:function(A0,o0){var j=A0.file,G=A0.startPosition,u0=A0.program,U=I(j,G,u0);if(U){var g0=U.func,d0=[];switch(o0){case s1.name:d0.push.apply(d0,function(c0,D0){var x0=c0.file,l0=A(D0.body),w0=e.factory.createFunctionExpression(D0.modifiers,D0.asteriskToken,void 0,D0.typeParameters,D0.parameters,D0.type,l0);return e.textChanges.ChangeTracker.with(c0,function(V){return V.replaceNode(x0,D0,w0)})}(A0,g0));break;case i0.name:var P0=function(c0){var D0=c0.parent;if(e.isVariableDeclaration(D0)&&e.isVariableDeclarationInVariableStatement(D0)){var x0=D0.parent,l0=x0.parent;return e.isVariableDeclarationList(x0)&&e.isVariableStatement(l0)&&e.isIdentifier(D0.name)?{variableDeclaration:D0,variableDeclarationList:x0,statement:l0,name:D0.name}:void 0}}(g0);if(!P0)return;d0.push.apply(d0,function(c0,D0,x0){var l0=c0.file,w0=A(D0.body),V=x0.variableDeclaration,w=x0.variableDeclarationList,H=x0.statement,k0=x0.name;e.suppressLeadingTrivia(H);var V0=1&e.getCombinedModifierFlags(V)|e.getEffectiveModifierFlags(D0),t0=e.factory.createModifiersFromModifierFlags(V0),f0=e.factory.createFunctionDeclaration(D0.decorators,e.length(t0)?t0:void 0,D0.asteriskToken,k0,D0.typeParameters,D0.parameters,D0.type,w0);return w.declarations.length===1?e.textChanges.ChangeTracker.with(c0,function(y0){return y0.replaceNode(l0,H,f0)}):e.textChanges.ChangeTracker.with(c0,function(y0){y0.delete(l0,V),y0.insertNodeAfter(l0,H,f0)})}(A0,g0,P0));break;case H0.name:if(!e.isFunctionExpression(g0))return;d0.push.apply(d0,function(c0,D0){var x0,l0=c0.file,w0=D0.body.statements[0];(function(w,H){return w.statements.length===1&&e.isReturnStatement(H)&&!!H.expression})(D0.body,w0)?(x0=w0.expression,e.suppressLeadingAndTrailingTrivia(x0),e.copyComments(w0,x0)):x0=D0.body;var V=e.factory.createArrowFunction(D0.modifiers,D0.typeParameters,D0.parameters,D0.type,e.factory.createToken(38),x0);return e.textChanges.ChangeTracker.with(c0,function(w){return w.replaceNode(l0,D0,V)})}(A0,g0));break;default:return e.Debug.fail(\"invalid action\")}return{renameFilename:void 0,renameLocation:void 0,edits:d0}}},getAvailableActions:function(A0){var o0=A0.file,j=A0.startPosition,G=A0.program,u0=A0.kind,U=I(o0,j,G);if(!U)return e.emptyArray;var g0,d0=U.selectedVariableDeclaration,P0=U.func,c0=[],D0=[];return s.refactorKindBeginsWith(i0.kind,u0)&&((g0=d0||e.isArrowFunction(P0)&&e.isVariableDeclaration(P0.parent)?void 0:e.getLocaleSpecificMessage(e.Diagnostics.Could_not_convert_to_named_function))?D0.push($($({},i0),{notApplicableReason:g0})):c0.push(i0)),s.refactorKindBeginsWith(s1.kind,u0)&&((g0=!d0&&e.isArrowFunction(P0)?void 0:e.getLocaleSpecificMessage(e.Diagnostics.Could_not_convert_to_anonymous_function))?D0.push($($({},s1),{notApplicableReason:g0})):c0.push(s1)),s.refactorKindBeginsWith(H0.kind,u0)&&((g0=e.isFunctionExpression(P0)?void 0:e.getLocaleSpecificMessage(e.Diagnostics.Could_not_convert_to_arrow_function))?D0.push($($({},H0),{notApplicableReason:g0})):c0.push(H0)),[{name:J,description:m0,actions:c0.length===0&&A0.preferences.provideRefactorNotApplicableReason?D0:c0}]}})})((s=e.refactor||(e.refactor={})).convertArrowFunctionOrFunctionExpression||(s.convertArrowFunctionOrFunctionExpression={}))}(_0||(_0={})),function(e){var s;(function(X){var J=\"Infer function return type\",m0=e.Diagnostics.Infer_function_return_type.message,s1={name:J,description:m0,kind:\"refactor.rewrite.function.returnType\"};function i0(H0){if(!e.isInJSFile(H0.file)&&s.refactorKindBeginsWith(s1.kind,H0.kind)){var E0=e.getTokenAtPosition(H0.file,H0.startPosition),I=e.findAncestor(E0,function(o0){return e.isBlock(o0)||o0.parent&&e.isArrowFunction(o0.parent)&&(o0.kind===38||o0.parent.body===o0)?\"quit\":function(j){switch(j.kind){case 252:case 209:case 210:case 166:return!0;default:return!1}}(o0)});if(!I||!I.body||I.type)return{error:e.getLocaleSpecificMessage(e.Diagnostics.Return_type_must_be_inferred_from_a_function)};var A=H0.program.getTypeChecker(),Z=function(o0,j){if(o0.isImplementationOfOverload(j)){var G=o0.getTypeAtLocation(j).getCallSignatures();if(G.length>1)return o0.getUnionType(e.mapDefined(G,function(U){return U.getReturnType()}))}var u0=o0.getSignatureFromDeclaration(j);if(u0)return o0.getReturnTypeOfSignature(u0)}(A,I);if(!Z)return{error:e.getLocaleSpecificMessage(e.Diagnostics.Could_not_determine_function_return_type)};var A0=A.typeToTypeNode(Z,I,1);return A0?{declaration:I,returnTypeNode:A0}:void 0}}s.registerRefactor(J,{kinds:[s1.kind],getEditsForAction:function(H0){var E0=i0(H0);if(E0&&!s.isRefactorErrorInfo(E0))return{renameFilename:void 0,renameLocation:void 0,edits:e.textChanges.ChangeTracker.with(H0,function(I){return A=H0.file,Z=I,A0=E0.declaration,o0=E0.returnTypeNode,j=e.findChildOfKind(A0,21,A),G=e.isArrowFunction(A0)&&j===void 0,void((u0=G?e.first(A0.parameters):j)&&(G&&(Z.insertNodeBefore(A,u0,e.factory.createToken(20)),Z.insertNodeAfter(A,u0,e.factory.createToken(21))),Z.insertNodeAt(A,u0.end,o0,{prefix:\": \"})));var A,Z,A0,o0,j,G,u0})}},getAvailableActions:function(H0){var E0=i0(H0);return E0?s.isRefactorErrorInfo(E0)?H0.preferences.provideRefactorNotApplicableReason?[{name:J,description:m0,actions:[$($({},s1),{notApplicableReason:E0.error})]}]:e.emptyArray:[{name:J,description:m0,actions:[s1]}]:e.emptyArray}})})((s=e.refactor||(e.refactor={})).inferFunctionReturnType||(s.inferFunctionReturnType={}))}(_0||(_0={})),function(e){function s(t0,f0,y0,G0){var d1=e.isNodeKind(t0)?new X(t0,f0,y0):t0===78?new H0(78,f0,y0):t0===79?new E0(79,f0,y0):new i0(t0,f0,y0);return d1.parent=G0,d1.flags=25358336&G0.flags,d1}e.servicesVersion=\"0.8\";var X=function(){function t0(f0,y0,G0){this.pos=y0,this.end=G0,this.flags=0,this.modifierFlagsCache=0,this.transformFlags=0,this.parent=void 0,this.kind=f0}return t0.prototype.assertHasRealPosition=function(f0){e.Debug.assert(!e.positionIsSynthesized(this.pos)&&!e.positionIsSynthesized(this.end),f0||\"Node must have a real position for this operation\")},t0.prototype.getSourceFile=function(){return e.getSourceFileOfNode(this)},t0.prototype.getStart=function(f0,y0){return this.assertHasRealPosition(),e.getTokenPosOfNode(this,f0,y0)},t0.prototype.getFullStart=function(){return this.assertHasRealPosition(),this.pos},t0.prototype.getEnd=function(){return this.assertHasRealPosition(),this.end},t0.prototype.getWidth=function(f0){return this.assertHasRealPosition(),this.getEnd()-this.getStart(f0)},t0.prototype.getFullWidth=function(){return this.assertHasRealPosition(),this.end-this.pos},t0.prototype.getLeadingTriviaWidth=function(f0){return this.assertHasRealPosition(),this.getStart(f0)-this.pos},t0.prototype.getFullText=function(f0){return this.assertHasRealPosition(),(f0||this.getSourceFile()).text.substring(this.pos,this.end)},t0.prototype.getText=function(f0){return this.assertHasRealPosition(),f0||(f0=this.getSourceFile()),f0.text.substring(this.getStart(f0),this.getEnd())},t0.prototype.getChildCount=function(f0){return this.getChildren(f0).length},t0.prototype.getChildAt=function(f0,y0){return this.getChildren(y0)[f0]},t0.prototype.getChildren=function(f0){return this.assertHasRealPosition(\"Node without a real position cannot be scanned and thus has no token nodes - use forEachChild and collect the result if that's fine\"),this._children||(this._children=function(y0,G0){if(!e.isNodeKind(y0.kind))return e.emptyArray;var d1=[];if(e.isJSDocCommentContainingNode(y0))return y0.forEachChild(function(Y0){d1.push(Y0)}),d1;e.scanner.setText((G0||y0.getSourceFile()).text);var h1=y0.pos,S1=function(Y0){J(d1,h1,Y0.pos,y0),d1.push(Y0),h1=Y0.end},Q1=function(Y0){J(d1,h1,Y0.pos,y0),d1.push(function($1,Z1){var Q0=s(338,$1.pos,$1.end,Z1);Q0._children=[];for(var y1=$1.pos,k1=0,I1=$1;k1<I1.length;k1++){var K0=I1[k1];J(Q0._children,y1,K0.pos,Z1),Q0._children.push(K0),y1=K0.end}return J(Q0._children,y1,$1.end,Z1),Q0}(Y0,y0)),h1=Y0.end};return e.forEach(y0.jsDoc,S1),h1=y0.pos,y0.forEachChild(S1,Q1),J(d1,h1,y0.end,y0),e.scanner.setText(void 0),d1}(this,f0))},t0.prototype.getFirstToken=function(f0){this.assertHasRealPosition();var y0=this.getChildren(f0);if(y0.length){var G0=e.find(y0,function(d1){return d1.kind<302||d1.kind>337});return G0.kind<158?G0:G0.getFirstToken(f0)}},t0.prototype.getLastToken=function(f0){this.assertHasRealPosition();var y0=this.getChildren(f0),G0=e.lastOrUndefined(y0);if(G0)return G0.kind<158?G0:G0.getLastToken(f0)},t0.prototype.forEachChild=function(f0,y0){return e.forEachChild(this,f0,y0)},t0}();function J(t0,f0,y0,G0){for(e.scanner.setTextPos(f0);f0<y0;){var d1=e.scanner.scan(),h1=e.scanner.getTextPos();if(h1<=y0&&(d1===78&&e.Debug.fail(\"Did not expect \"+e.Debug.formatSyntaxKind(G0.kind)+\" to have an Identifier in its trivia\"),t0.push(s(d1,f0,h1,G0))),f0=h1,d1===1)break}}var m0=function(){function t0(f0,y0){this.pos=f0,this.end=y0,this.flags=0,this.modifierFlagsCache=0,this.transformFlags=0,this.parent=void 0}return t0.prototype.getSourceFile=function(){return e.getSourceFileOfNode(this)},t0.prototype.getStart=function(f0,y0){return e.getTokenPosOfNode(this,f0,y0)},t0.prototype.getFullStart=function(){return this.pos},t0.prototype.getEnd=function(){return this.end},t0.prototype.getWidth=function(f0){return this.getEnd()-this.getStart(f0)},t0.prototype.getFullWidth=function(){return this.end-this.pos},t0.prototype.getLeadingTriviaWidth=function(f0){return this.getStart(f0)-this.pos},t0.prototype.getFullText=function(f0){return(f0||this.getSourceFile()).text.substring(this.pos,this.end)},t0.prototype.getText=function(f0){return f0||(f0=this.getSourceFile()),f0.text.substring(this.getStart(f0),this.getEnd())},t0.prototype.getChildCount=function(){return 0},t0.prototype.getChildAt=function(){},t0.prototype.getChildren=function(){return this.kind===1&&this.jsDoc||e.emptyArray},t0.prototype.getFirstToken=function(){},t0.prototype.getLastToken=function(){},t0.prototype.forEachChild=function(){},t0}(),s1=function(){function t0(f0,y0){this.flags=f0,this.escapedName=y0}return t0.prototype.getFlags=function(){return this.flags},Object.defineProperty(t0.prototype,\"name\",{get:function(){return e.symbolName(this)},enumerable:!1,configurable:!0}),t0.prototype.getEscapedName=function(){return this.escapedName},t0.prototype.getName=function(){return this.name},t0.prototype.getDeclarations=function(){return this.declarations},t0.prototype.getDocumentationComment=function(f0){if(!this.documentationComment)if(this.documentationComment=e.emptyArray,!this.declarations&&this.target&&this.target.tupleLabelDeclaration){var y0=this.target.tupleLabelDeclaration;this.documentationComment=A0([y0],f0)}else this.documentationComment=A0(this.declarations,f0);return this.documentationComment},t0.prototype.getContextualDocumentationComment=function(f0,y0){switch(f0==null?void 0:f0.kind){case 168:return this.contextualGetAccessorDocumentationComment||(this.contextualGetAccessorDocumentationComment=e.emptyArray,this.contextualGetAccessorDocumentationComment=A0(e.filter(this.declarations,e.isGetAccessor),y0)),this.contextualGetAccessorDocumentationComment;case 169:return this.contextualSetAccessorDocumentationComment||(this.contextualSetAccessorDocumentationComment=e.emptyArray,this.contextualSetAccessorDocumentationComment=A0(e.filter(this.declarations,e.isSetAccessor),y0)),this.contextualSetAccessorDocumentationComment;default:return this.getDocumentationComment(y0)}},t0.prototype.getJsDocTags=function(f0){return this.tags===void 0&&(this.tags=e.JsDoc.getJsDocTagsFromDeclarations(this.declarations,f0)),this.tags},t0}(),i0=function(t0){function f0(y0,G0,d1){var h1=t0.call(this,G0,d1)||this;return h1.kind=y0,h1}return ex(f0,t0),f0}(m0),H0=function(t0){function f0(y0,G0,d1){var h1=t0.call(this,G0,d1)||this;return h1.kind=78,h1}return ex(f0,t0),Object.defineProperty(f0.prototype,\"text\",{get:function(){return e.idText(this)},enumerable:!1,configurable:!0}),f0}(m0);H0.prototype.kind=78;var E0=function(t0){function f0(y0,G0,d1){return t0.call(this,G0,d1)||this}return ex(f0,t0),Object.defineProperty(f0.prototype,\"text\",{get:function(){return e.idText(this)},enumerable:!1,configurable:!0}),f0}(m0);E0.prototype.kind=79;var I=function(){function t0(f0,y0){this.checker=f0,this.flags=y0}return t0.prototype.getFlags=function(){return this.flags},t0.prototype.getSymbol=function(){return this.symbol},t0.prototype.getProperties=function(){return this.checker.getPropertiesOfType(this)},t0.prototype.getProperty=function(f0){return this.checker.getPropertyOfType(this,f0)},t0.prototype.getApparentProperties=function(){return this.checker.getAugmentedPropertiesOfType(this)},t0.prototype.getCallSignatures=function(){return this.checker.getSignaturesOfType(this,0)},t0.prototype.getConstructSignatures=function(){return this.checker.getSignaturesOfType(this,1)},t0.prototype.getStringIndexType=function(){return this.checker.getIndexTypeOfType(this,0)},t0.prototype.getNumberIndexType=function(){return this.checker.getIndexTypeOfType(this,1)},t0.prototype.getBaseTypes=function(){return this.isClassOrInterface()?this.checker.getBaseTypes(this):void 0},t0.prototype.isNullableType=function(){return this.checker.isNullableType(this)},t0.prototype.getNonNullableType=function(){return this.checker.getNonNullableType(this)},t0.prototype.getNonOptionalType=function(){return this.checker.getNonOptionalType(this)},t0.prototype.getConstraint=function(){return this.checker.getBaseConstraintOfType(this)},t0.prototype.getDefault=function(){return this.checker.getDefaultFromTypeParameter(this)},t0.prototype.isUnion=function(){return!!(1048576&this.flags)},t0.prototype.isIntersection=function(){return!!(2097152&this.flags)},t0.prototype.isUnionOrIntersection=function(){return!!(3145728&this.flags)},t0.prototype.isLiteral=function(){return!!(384&this.flags)},t0.prototype.isStringLiteral=function(){return!!(128&this.flags)},t0.prototype.isNumberLiteral=function(){return!!(256&this.flags)},t0.prototype.isTypeParameter=function(){return!!(262144&this.flags)},t0.prototype.isClassOrInterface=function(){return!!(3&e.getObjectFlags(this))},t0.prototype.isClass=function(){return!!(1&e.getObjectFlags(this))},Object.defineProperty(t0.prototype,\"typeArguments\",{get:function(){if(4&e.getObjectFlags(this))return this.checker.getTypeArguments(this)},enumerable:!1,configurable:!0}),t0}(),A=function(){function t0(f0,y0){this.checker=f0,this.flags=y0}return t0.prototype.getDeclaration=function(){return this.declaration},t0.prototype.getTypeParameters=function(){return this.typeParameters},t0.prototype.getParameters=function(){return this.parameters},t0.prototype.getReturnType=function(){return this.checker.getReturnTypeOfSignature(this)},t0.prototype.getDocumentationComment=function(){return this.documentationComment||(this.documentationComment=A0(e.singleElementArray(this.declaration),this.checker))},t0.prototype.getJsDocTags=function(){return this.jsDocTags===void 0&&(this.jsDocTags=this.declaration?function(f0,y0){var G0=e.JsDoc.getJsDocTagsFromDeclarations([f0],y0);if(G0.length===0||Z(f0)){var d1=o0(y0,f0,function(h1){var S1;return((S1=h1.declarations)===null||S1===void 0?void 0:S1.length)===1?h1.getJsDocTags():void 0});d1&&(G0=D(D([],d1),G0))}return G0}(this.declaration,this.checker):[]),this.jsDocTags},t0}();function Z(t0){return e.getJSDocTags(t0).some(function(f0){return f0.tagName.text===\"inheritDoc\"})}function A0(t0,f0){if(!t0)return e.emptyArray;var y0=e.JsDoc.getJsDocCommentsFromDeclarations(t0,f0);if(f0&&(y0.length===0||t0.some(Z)))for(var G0=new e.Set,d1=0,h1=t0;d1<h1.length;d1++){var S1=h1[d1],Q1=o0(f0,S1,function(Y0){if(!G0.has(Y0))return G0.add(Y0),Y0.getDocumentationComment(f0)});Q1&&(y0=y0.length===0?Q1.slice():Q1.concat(e.lineBreakPart(),y0))}return y0}function o0(t0,f0,y0){return e.firstDefined(f0.parent?e.getAllSuperTypeNodes(f0.parent):e.emptyArray,function(G0){var d1=t0.getPropertyOfType(t0.getTypeAtLocation(G0),f0.symbol.name);return d1?y0(d1):void 0})}var j=function(t0){function f0(y0,G0,d1){var h1=t0.call(this,y0,G0,d1)||this;return h1.kind=298,h1}return ex(f0,t0),f0.prototype.update=function(y0,G0){return e.updateSourceFile(this,y0,G0)},f0.prototype.getLineAndCharacterOfPosition=function(y0){return e.getLineAndCharacterOfPosition(this,y0)},f0.prototype.getLineStarts=function(){return e.getLineStarts(this)},f0.prototype.getPositionOfLineAndCharacter=function(y0,G0,d1){return e.computePositionOfLineAndCharacter(e.getLineStarts(this),y0,G0,this.text,d1)},f0.prototype.getLineEndOfPosition=function(y0){var G0,d1=this.getLineAndCharacterOfPosition(y0).line,h1=this.getLineStarts();d1+1>=h1.length&&(G0=this.getEnd()),G0||(G0=h1[d1+1]-1);var S1=this.getFullText();return S1[G0]===`\n`&&S1[G0-1]===\"\\r\"?G0-1:G0},f0.prototype.getNamedDeclarations=function(){return this.namedDeclarations||(this.namedDeclarations=this.computeNamedDeclarations()),this.namedDeclarations},f0.prototype.computeNamedDeclarations=function(){var y0=e.createMultiMap();return this.forEachChild(function h1(S1){switch(S1.kind){case 252:case 209:case 166:case 165:var Q1=S1,Y0=d1(Q1);if(Y0){var $1=function(I1){var K0=y0.get(I1);return K0||y0.set(I1,K0=[]),K0}(Y0),Z1=e.lastOrUndefined($1);Z1&&Q1.parent===Z1.parent&&Q1.symbol===Z1.symbol?Q1.body&&!Z1.body&&($1[$1.length-1]=Q1):$1.push(Q1)}e.forEachChild(S1,h1);break;case 253:case 222:case 254:case 255:case 256:case 257:case 261:case 271:case 266:case 263:case 264:case 168:case 169:case 178:G0(S1),e.forEachChild(S1,h1);break;case 161:if(!e.hasSyntacticModifier(S1,16476))break;case 250:case 199:var Q0=S1;if(e.isBindingPattern(Q0.name)){e.forEachChild(Q0.name,h1);break}Q0.initializer&&h1(Q0.initializer);case 292:case 164:case 163:G0(S1);break;case 268:var y1=S1;y1.exportClause&&(e.isNamedExports(y1.exportClause)?e.forEach(y1.exportClause.elements,h1):h1(y1.exportClause.name));break;case 262:var k1=S1.importClause;k1&&(k1.name&&G0(k1.name),k1.namedBindings&&(k1.namedBindings.kind===264?G0(k1.namedBindings):e.forEach(k1.namedBindings.elements,h1)));break;case 217:e.getAssignmentDeclarationKind(S1)!==0&&G0(S1);default:e.forEachChild(S1,h1)}}),y0;function G0(h1){var S1=d1(h1);S1&&y0.add(S1,h1)}function d1(h1){var S1=e.getNonAssignedNameOfDeclaration(h1);return S1&&(e.isComputedPropertyName(S1)&&e.isPropertyAccessExpression(S1.expression)?S1.expression.name.text:e.isPropertyName(S1)?e.getNameFromPropertyName(S1):void 0)}},f0}(X),G=function(){function t0(f0,y0,G0){this.fileName=f0,this.text=y0,this.skipTrivia=G0}return t0.prototype.getLineAndCharacterOfPosition=function(f0){return e.getLineAndCharacterOfPosition(this,f0)},t0}();function u0(t0){var f0=!0;for(var y0 in t0)if(e.hasProperty(t0,y0)&&!U(y0)){f0=!1;break}if(f0)return t0;var G0={};for(var y0 in t0)e.hasProperty(t0,y0)&&(G0[U(y0)?y0:y0.charAt(0).toLowerCase()+y0.substr(1)]=t0[y0]);return G0}function U(t0){return!t0.length||t0.charAt(0)===t0.charAt(0).toLowerCase()}function g0(){return{target:1,jsx:1}}e.toEditorSettings=u0,e.displayPartsToString=function(t0){return t0?e.map(t0,function(f0){return f0.text}).join(\"\"):\"\"},e.getDefaultCompilerOptions=g0,e.getSupportedCodeFixes=function(){return e.codefix.getSupportedErrorCodes()};var d0=function(){function t0(f0,y0){this.host=f0,this.currentDirectory=f0.getCurrentDirectory(),this.fileNameToEntry=new e.Map;for(var G0=0,d1=f0.getScriptFileNames();G0<d1.length;G0++){var h1=d1[G0];this.createEntry(h1,e.toPath(h1,this.currentDirectory,y0))}}return t0.prototype.createEntry=function(f0,y0){var G0,d1=this.host.getScriptSnapshot(f0);return G0=d1?{hostFileName:f0,version:this.host.getScriptVersion(f0),scriptSnapshot:d1,scriptKind:e.getScriptKind(f0,this.host)}:f0,this.fileNameToEntry.set(y0,G0),G0},t0.prototype.getEntryByPath=function(f0){return this.fileNameToEntry.get(f0)},t0.prototype.getHostFileInformation=function(f0){var y0=this.fileNameToEntry.get(f0);return e.isString(y0)?void 0:y0},t0.prototype.getOrCreateEntryByPath=function(f0,y0){var G0=this.getEntryByPath(y0)||this.createEntry(f0,y0);return e.isString(G0)?void 0:G0},t0.prototype.getRootFileNames=function(){var f0=[];return this.fileNameToEntry.forEach(function(y0){e.isString(y0)?f0.push(y0):f0.push(y0.hostFileName)}),f0},t0.prototype.getScriptSnapshot=function(f0){var y0=this.getHostFileInformation(f0);return y0&&y0.scriptSnapshot},t0}(),P0=function(){function t0(f0){this.host=f0}return t0.prototype.getCurrentSourceFile=function(f0){var y0=this.host.getScriptSnapshot(f0);if(!y0)throw new Error(\"Could not find file: '\"+f0+\"'.\");var G0,d1=e.getScriptKind(f0,this.host),h1=this.host.getScriptVersion(f0);if(this.currentFileName!==f0)G0=D0(f0,y0,99,h1,!0,d1);else if(this.currentFileVersion!==h1){var S1=y0.getChangeRange(this.currentFileScriptSnapshot);G0=x0(this.currentSourceFile,y0,h1,S1)}return G0&&(this.currentFileVersion=h1,this.currentFileName=f0,this.currentFileScriptSnapshot=y0,this.currentSourceFile=G0),this.currentSourceFile},t0}();function c0(t0,f0,y0){t0.version=y0,t0.scriptSnapshot=f0}function D0(t0,f0,y0,G0,d1,h1){var S1=e.createSourceFile(t0,e.getSnapshotText(f0),y0,d1,h1);return c0(S1,f0,G0),S1}function x0(t0,f0,y0,G0,d1){if(G0&&y0!==t0.version){var h1=void 0,S1=G0.span.start!==0?t0.text.substr(0,G0.span.start):\"\",Q1=e.textSpanEnd(G0.span)!==t0.text.length?t0.text.substr(e.textSpanEnd(G0.span)):\"\";if(G0.newLength===0)h1=S1&&Q1?S1+Q1:S1||Q1;else{var Y0=f0.getText(G0.span.start,G0.span.start+G0.newLength);h1=S1&&Q1?S1+Y0+Q1:S1?S1+Y0:Y0+Q1}var $1=e.updateSourceFile(t0,h1,G0,d1);return c0($1,f0,y0),$1.nameTable=void 0,t0!==$1&&t0.scriptSnapshot&&(t0.scriptSnapshot.dispose&&t0.scriptSnapshot.dispose(),t0.scriptSnapshot=void 0),$1}return D0(t0.fileName,f0,t0.languageVersion,y0,!0,t0.scriptKind)}e.createLanguageServiceSourceFile=D0,e.updateLanguageServiceSourceFile=x0;var l0={isCancellationRequested:e.returnFalse,throwIfCancellationRequested:e.noop},w0=function(){function t0(f0){this.cancellationToken=f0}return t0.prototype.isCancellationRequested=function(){return this.cancellationToken.isCancellationRequested()},t0.prototype.throwIfCancellationRequested=function(){if(this.isCancellationRequested())throw e.tracing===null||e.tracing===void 0||e.tracing.instant(\"session\",\"cancellationThrown\",{kind:\"CancellationTokenObject\"}),new e.OperationCanceledException},t0}(),V=function(){function t0(f0,y0){y0===void 0&&(y0=20),this.hostCancellationToken=f0,this.throttleWaitMilliseconds=y0,this.lastCancellationCheckTime=0}return t0.prototype.isCancellationRequested=function(){var f0=e.timestamp();return Math.abs(f0-this.lastCancellationCheckTime)>=this.throttleWaitMilliseconds&&(this.lastCancellationCheckTime=f0,this.hostCancellationToken.isCancellationRequested())},t0.prototype.throwIfCancellationRequested=function(){if(this.isCancellationRequested())throw e.tracing===null||e.tracing===void 0||e.tracing.instant(\"session\",\"cancellationThrown\",{kind:\"ThrottledCancellationToken\"}),new e.OperationCanceledException},t0}();e.ThrottledCancellationToken=V;var w=[\"getSyntacticDiagnostics\",\"getSemanticDiagnostics\",\"getSuggestionDiagnostics\",\"getCompilerOptionsDiagnostics\",\"getSemanticClassifications\",\"getEncodedSemanticClassifications\",\"getCodeFixesAtPosition\",\"getCombinedCodeFix\",\"applyCodeActionCommand\",\"organizeImports\",\"getEditsForFileRename\",\"getEmitOutput\",\"getApplicableRefactors\",\"getEditsForRefactor\",\"prepareCallHierarchy\",\"provideCallHierarchyIncomingCalls\",\"provideCallHierarchyOutgoingCalls\"],H=D(D([],w),[\"getCompletionsAtPosition\",\"getCompletionEntryDetails\",\"getCompletionEntrySymbol\",\"getSignatureHelpItems\",\"getQuickInfoAtPosition\",\"getDefinitionAtPosition\",\"getDefinitionAndBoundSpan\",\"getImplementationAtPosition\",\"getTypeDefinitionAtPosition\",\"getReferencesAtPosition\",\"findReferences\",\"getOccurrencesAtPosition\",\"getDocumentHighlights\",\"getNavigateToItems\",\"getRenameInfo\",\"findRenameLocations\",\"getApplicableRefactors\"]);function k0(t0){var f0=function(y0){switch(y0.kind){case 10:case 14:case 8:if(y0.parent.kind===159)return e.isObjectLiteralElement(y0.parent.parent)?y0.parent.parent:void 0;case 78:return!e.isObjectLiteralElement(y0.parent)||y0.parent.parent.kind!==201&&y0.parent.parent.kind!==282||y0.parent.name!==y0?void 0:y0.parent}}(t0);return f0&&(e.isObjectLiteralExpression(f0.parent)||e.isJsxAttributes(f0.parent))?f0:void 0}function V0(t0,f0,y0,G0){var d1=e.getNameFromPropertyName(t0.name);if(!d1)return e.emptyArray;if(!y0.isUnion())return(h1=y0.getProperty(d1))?[h1]:e.emptyArray;var h1,S1=e.mapDefined(y0.types,function(Q1){return(e.isObjectLiteralExpression(t0.parent)||e.isJsxAttributes(t0.parent))&&f0.isTypeInvalidDueToUnionDiscriminant(Q1,t0.parent)?void 0:Q1.getProperty(d1)});return G0&&(S1.length===0||S1.length===y0.types.length)&&(h1=y0.getProperty(d1))?[h1]:S1.length===0?e.mapDefined(y0.types,function(Q1){return Q1.getProperty(d1)}):S1}e.createLanguageService=function(t0,f0,y0){var G0,d1;f0===void 0&&(f0=e.createDocumentRegistry(t0.useCaseSensitiveFileNames&&t0.useCaseSensitiveFileNames(),t0.getCurrentDirectory())),d1=y0===void 0?e.LanguageServiceMode.Semantic:typeof y0==\"boolean\"?y0?e.LanguageServiceMode.Syntactic:e.LanguageServiceMode.Semantic:y0;var h1,S1,Q1=new P0(t0),Y0=0,$1=t0.getCancellationToken?new w0(t0.getCancellationToken()):l0,Z1=t0.getCurrentDirectory();function Q0($x){t0.log&&t0.log($x)}!e.localizedDiagnosticMessages&&t0.getLocalizedDiagnosticMessages&&e.setLocalizedDiagnosticMessages(t0.getLocalizedDiagnosticMessages());var y1=e.hostUsesCaseSensitiveFileNames(t0),k1=e.createGetCanonicalFileName(y1),I1=e.getSourceMapper({useCaseSensitiveFileNames:function(){return y1},getCurrentDirectory:function(){return Z1},getProgram:Nx,fileExists:e.maybeBind(t0,t0.fileExists),readFile:e.maybeBind(t0,t0.readFile),getDocumentPositionMapper:e.maybeBind(t0,t0.getDocumentPositionMapper),getSourceFileLike:e.maybeBind(t0,t0.getSourceFileLike),log:Q0});function K0($x){var rx=h1.getSourceFile($x);if(!rx){var O0=new Error(\"Could not find source file: '\"+$x+\"'.\");throw O0.ProgramFiles=h1.getSourceFiles().map(function(C1){return C1.fileName}),O0}return rx}function G1(){var $x,rx,O0;if(e.Debug.assert(d1!==e.LanguageServiceMode.Syntactic),t0.getProjectVersion){var C1=t0.getProjectVersion();if(C1){if(S1===C1&&!(($x=t0.hasChangedAutomaticTypeDirectiveNames)===null||$x===void 0?void 0:$x.call(t0)))return;S1=C1}}var nx=t0.getTypeRootsVersion?t0.getTypeRootsVersion():0;Y0!==nx&&(Q0(\"TypeRoots version has changed; provide new program\"),h1=void 0,Y0=nx);var O,b1=new d0(t0,k1),Px=b1.getRootFileNames(),me=t0.getCompilationSettings()||{target:1,jsx:1},Re=t0.hasInvalidatedResolution||e.returnFalse,gt=e.maybeBind(t0,t0.hasChangedAutomaticTypeDirectiveNames),Vt=(rx=t0.getProjectReferences)===null||rx===void 0?void 0:rx.call(t0),wr={useCaseSensitiveFileNames:y1,fileExists:Bt,readFile:ar,readDirectory:Ni,trace:e.maybeBind(t0,t0.trace),getCurrentDirectory:function(){return Z1},onUnRecoverableConfigFileDiagnostic:e.noop};if(!e.isProgramUptoDate(h1,Px,me,function(dt,Gt){return t0.getScriptVersion(Gt)},Bt,Re,gt,xr,Vt)){var gr={getSourceFile:oi,getSourceFileByPath:Ba,getCancellationToken:function(){return $1},getCanonicalFileName:k1,useCaseSensitiveFileNames:function(){return y1},getNewLine:function(){return e.getNewLineCharacter(me,function(){return e.getNewLineOrDefaultFromHost(t0)})},getDefaultLibFileName:function(dt){return t0.getDefaultLibFileName(dt)},writeFile:e.noop,getCurrentDirectory:function(){return Z1},fileExists:Bt,readFile:ar,getSymlinkCache:e.maybeBind(t0,t0.getSymlinkCache),realpath:e.maybeBind(t0,t0.realpath),directoryExists:function(dt){return e.directoryProbablyExists(dt,t0)},getDirectories:function(dt){return t0.getDirectories?t0.getDirectories(dt):[]},readDirectory:Ni,onReleaseOldSourceFile:Kn,onReleaseParsedCommandLine:function(dt,Gt,lr){var en;t0.getParsedCommandLine?(en=t0.onReleaseParsedCommandLine)===null||en===void 0||en.call(t0,dt,Gt,lr):Gt&&Kn(Gt.sourceFile,lr)},hasInvalidatedResolution:Re,hasChangedAutomaticTypeDirectiveNames:gt,trace:wr.trace,resolveModuleNames:e.maybeBind(t0,t0.resolveModuleNames),resolveTypeReferenceDirectives:e.maybeBind(t0,t0.resolveTypeReferenceDirectives),useSourceOfProjectReferenceRedirect:e.maybeBind(t0,t0.useSourceOfProjectReferenceRedirect),getParsedCommandLine:xr};(O0=t0.setCompilerHost)===null||O0===void 0||O0.call(t0,gr);var Nt=f0.getKeyForCompilationSettings(me),Ir={rootNames:Px,options:me,host:gr,oldProgram:h1,projectReferences:Vt};return h1=e.createProgram(Ir),b1=void 0,O=void 0,I1.clearCache(),void h1.getTypeChecker()}function xr(dt){var Gt=e.toPath(dt,Z1,k1),lr=O==null?void 0:O.get(Gt);if(lr!==void 0)return lr||void 0;var en=t0.getParsedCommandLine?t0.getParsedCommandLine(dt):function(ii){var Tt=oi(ii,100);return Tt?(Tt.path=e.toPath(ii,Z1,k1),Tt.resolvedPath=Tt.path,Tt.originalFileName=Tt.fileName,e.parseJsonSourceFileConfigFileContent(Tt,wr,e.getNormalizedAbsolutePath(e.getDirectoryPath(ii),Z1),void 0,e.getNormalizedAbsolutePath(ii,Z1))):void 0}(dt);return(O||(O=new e.Map)).set(Gt,en||!1),en}function Bt(dt){var Gt=e.toPath(dt,Z1,k1),lr=b1&&b1.getEntryByPath(Gt);return lr?!e.isString(lr):!!t0.fileExists&&t0.fileExists(dt)}function ar(dt){var Gt=e.toPath(dt,Z1,k1),lr=b1&&b1.getEntryByPath(Gt);return lr?e.isString(lr)?void 0:e.getSnapshotText(lr.scriptSnapshot):t0.readFile&&t0.readFile(dt)}function Ni(dt,Gt,lr,en,ii){return e.Debug.checkDefined(t0.readDirectory,\"'LanguageServiceHost.readDirectory' must be implemented to correctly process 'projectReferences'\"),t0.readDirectory(dt,Gt,lr,en,ii)}function Kn(dt,Gt){var lr=f0.getKeyForCompilationSettings(Gt);f0.releaseDocumentWithKey(dt.resolvedPath,lr,dt.scriptKind)}function oi(dt,Gt,lr,en){return Ba(dt,e.toPath(dt,Z1,k1),Gt,lr,en)}function Ba(dt,Gt,lr,en,ii){e.Debug.assert(b1!==void 0,\"getOrCreateSourceFileByPath called after typical CompilerHost lifetime, check the callstack something with a reference to an old host.\");var Tt=b1&&b1.getOrCreateEntryByPath(dt,Gt);if(Tt){if(!ii){var bn=h1&&h1.getSourceFileByPath(Gt);if(bn){if(Tt.scriptKind===bn.scriptKind)return f0.updateDocumentWithKey(dt,Gt,me,Nt,Tt.scriptSnapshot,Tt.version,Tt.scriptKind);f0.releaseDocumentWithKey(bn.resolvedPath,f0.getKeyForCompilationSettings(h1.getCompilerOptions()),bn.scriptKind)}}return f0.acquireDocumentWithKey(dt,Gt,me,Nt,Tt.scriptSnapshot,Tt.version,Tt.scriptKind)}}}function Nx(){if(d1!==e.LanguageServiceMode.Syntactic)return G1(),h1;e.Debug.assert(h1===void 0)}function n1($x,rx,O0){var C1=e.normalizePath($x);e.Debug.assert(O0.some(function(b1){return e.normalizePath(b1)===C1})),G1();var nx=e.mapDefined(O0,function(b1){return h1.getSourceFile(b1)}),O=K0($x);return e.DocumentHighlights.getDocumentHighlights(h1,$1,O,rx,nx)}function S0($x,rx,O0,C1){G1();var nx=O0&&O0.use===2?h1.getSourceFiles().filter(function(O){return!h1.isSourceFileDefaultLibrary(O)}):h1.getSourceFiles();return e.FindAllReferences.findReferenceOrRenameEntries(h1,$1,nx,$x,rx,O0,C1)}var I0=new e.Map(e.getEntries(((G0={})[18]=19,G0[20]=21,G0[22]=23,G0[31]=29,G0)));function U0($x){return e.Debug.assertEqual($x.type,\"install package\"),t0.installPackage?t0.installPackage({fileName:function(rx){return e.toPath(rx,Z1,k1)}($x.file),packageName:$x.packageName}):Promise.reject(\"Host does not implement `installPackage`\")}function p0($x,rx){return{lineStarts:$x.getLineStarts(),firstLine:$x.getLineAndCharacterOfPosition(rx.pos).line,lastLine:$x.getLineAndCharacterOfPosition(rx.end).line}}function p1($x,rx,O0){for(var C1=Q1.getCurrentSourceFile($x),nx=[],O=p0(C1,rx),b1=O.lineStarts,Px=O.firstLine,me=O.lastLine,Re=O0||!1,gt=Number.MAX_VALUE,Vt=new e.Map,wr=new RegExp(/\\S/),gr=e.isInsideJsxElement(C1,b1[Px]),Nt=gr?\"{/*\":\"//\",Ir=Px;Ir<=me;Ir++){var xr=C1.text.substring(b1[Ir],C1.getLineEndOfPosition(b1[Ir])),Bt=wr.exec(xr);Bt&&(gt=Math.min(gt,Bt.index),Vt.set(Ir.toString(),Bt.index),xr.substr(Bt.index,Nt.length)!==Nt&&(Re=O0===void 0||O0))}for(Ir=Px;Ir<=me;Ir++)if(Px===me||b1[Ir]!==rx.end){var ar=Vt.get(Ir.toString());ar!==void 0&&(gr?nx.push.apply(nx,Y1($x,{pos:b1[Ir]+gt,end:C1.getLineEndOfPosition(b1[Ir])},Re,gr)):Re?nx.push({newText:Nt,span:{length:0,start:b1[Ir]+gt}}):C1.text.substr(b1[Ir]+ar,Nt.length)===Nt&&nx.push({newText:\"\",span:{length:Nt.length,start:b1[Ir]+ar}}))}return nx}function Y1($x,rx,O0,C1){for(var nx,O=Q1.getCurrentSourceFile($x),b1=[],Px=O.text,me=!1,Re=O0||!1,gt=[],Vt=rx.pos,wr=C1!==void 0?C1:e.isInsideJsxElement(O,Vt),gr=wr?\"{/*\":\"/*\",Nt=wr?\"*/}\":\"*/\",Ir=wr?\"\\\\{\\\\/\\\\*\":\"\\\\/\\\\*\",xr=wr?\"\\\\*\\\\/\\\\}\":\"\\\\*\\\\/\";Vt<=rx.end;){var Bt=Px.substr(Vt,gr.length)===gr?gr.length:0,ar=e.isInComment(O,Vt+Bt);if(ar)wr&&(ar.pos--,ar.end++),gt.push(ar.pos),ar.kind===3&&gt.push(ar.end),me=!0,Vt=ar.end+1;else{var Ni=Px.substring(Vt,rx.end).search(\"(\"+Ir+\")|(\"+xr+\")\");Re=O0!==void 0?O0:Re||!e.isTextWhiteSpaceLike(Px,Vt,Ni===-1?rx.end:Vt+Ni),Vt=Ni===-1?rx.end+1:Vt+Ni+Nt.length}}if(Re||!me){((nx=e.isInComment(O,rx.pos))===null||nx===void 0?void 0:nx.kind)!==2&&e.insertSorted(gt,rx.pos,e.compareValues),e.insertSorted(gt,rx.end,e.compareValues);var Kn=gt[0];Px.substr(Kn,gr.length)!==gr&&b1.push({newText:gr,span:{length:0,start:Kn}});for(var oi=1;oi<gt.length-1;oi++)Px.substr(gt[oi]-Nt.length,Nt.length)!==Nt&&b1.push({newText:Nt,span:{length:0,start:gt[oi]}}),Px.substr(gt[oi],gr.length)!==gr&&b1.push({newText:gr,span:{length:0,start:gt[oi]}});b1.length%2!=0&&b1.push({newText:Nt,span:{length:0,start:gt[gt.length-1]}})}else for(var Ba=0,dt=gt;Ba<dt.length;Ba++){var Gt=dt[Ba],lr=Gt-Nt.length>0?Gt-Nt.length:0;Bt=Px.substr(lr,Nt.length)===Nt?Nt.length:0,b1.push({newText:\"\",span:{length:gr.length,start:Gt-Bt}})}return b1}function N1($x){var rx=$x.openingElement,O0=$x.closingElement,C1=$x.parent;return!e.tagNamesAreEquivalent(rx.tagName,O0.tagName)||e.isJsxElement(C1)&&e.tagNamesAreEquivalent(rx.tagName,C1.openingElement.tagName)&&N1(C1)}function V1($x,rx,O0,C1,nx,O){var b1=typeof rx==\"number\"?[rx,void 0]:[rx.pos,rx.end];return{file:$x,startPosition:b1[0],endPosition:b1[1],program:Nx(),host:t0,formatContext:e.formatting.getFormatContext(C1,t0),cancellationToken:$1,preferences:O0,triggerReason:nx,kind:O}}I0.forEach(function($x,rx){return I0.set($x.toString(),Number(rx))});var Ox={dispose:function(){if(h1){var $x=f0.getKeyForCompilationSettings(h1.getCompilerOptions());e.forEach(h1.getSourceFiles(),function(rx){return f0.releaseDocumentWithKey(rx.resolvedPath,$x,rx.scriptKind)}),h1=void 0}t0=void 0},cleanupSemanticCache:function(){h1=void 0},getSyntacticDiagnostics:function($x){return G1(),h1.getSyntacticDiagnostics(K0($x),$1).slice()},getSemanticDiagnostics:function($x){G1();var rx=K0($x),O0=h1.getSemanticDiagnostics(rx,$1);if(!e.getEmitDeclarations(h1.getCompilerOptions()))return O0.slice();var C1=h1.getDeclarationDiagnostics(rx,$1);return D(D([],O0),C1)},getSuggestionDiagnostics:function($x){return G1(),e.computeSuggestionDiagnostics(K0($x),h1,$1)},getCompilerOptionsDiagnostics:function(){return G1(),D(D([],h1.getOptionsDiagnostics($1)),h1.getGlobalDiagnostics($1))},getSyntacticClassifications:function($x,rx){return e.getSyntacticClassifications($1,Q1.getCurrentSourceFile($x),rx)},getSemanticClassifications:function($x,rx,O0){return G1(),(O0||\"original\")===\"2020\"?e.classifier.v2020.getSemanticClassifications(h1,$1,K0($x),rx):e.getSemanticClassifications(h1.getTypeChecker(),$1,K0($x),h1.getClassifiableNames(),rx)},getEncodedSyntacticClassifications:function($x,rx){return e.getEncodedSyntacticClassifications($1,Q1.getCurrentSourceFile($x),rx)},getEncodedSemanticClassifications:function($x,rx,O0){return G1(),(O0||\"original\")===\"original\"?e.getEncodedSemanticClassifications(h1.getTypeChecker(),$1,K0($x),h1.getClassifiableNames(),rx):e.classifier.v2020.getEncodedSemanticClassifications(h1,$1,K0($x),rx)},getCompletionsAtPosition:function($x,rx,O0){O0===void 0&&(O0=e.emptyOptions);var C1=$($({},e.identity(O0)),{includeCompletionsForModuleExports:O0.includeCompletionsForModuleExports||O0.includeExternalModuleExports,includeCompletionsWithInsertText:O0.includeCompletionsWithInsertText||O0.includeInsertTextCompletions});return G1(),e.Completions.getCompletionsAtPosition(t0,h1,Q0,K0($x),rx,C1,O0.triggerCharacter)},getCompletionEntryDetails:function($x,rx,O0,C1,nx,O,b1){return O===void 0&&(O=e.emptyOptions),G1(),e.Completions.getCompletionEntryDetails(h1,Q0,K0($x),rx,{name:O0,source:nx,data:b1},t0,C1&&e.formatting.getFormatContext(C1,t0),O,$1)},getCompletionEntrySymbol:function($x,rx,O0,C1,nx){return nx===void 0&&(nx=e.emptyOptions),G1(),e.Completions.getCompletionEntrySymbol(h1,Q0,K0($x),rx,{name:O0,source:C1},t0,nx)},getSignatureHelpItems:function($x,rx,O0){var C1=(O0===void 0?e.emptyOptions:O0).triggerReason;G1();var nx=K0($x);return e.SignatureHelp.getSignatureHelpItems(h1,nx,rx,C1,$1)},getQuickInfoAtPosition:function($x,rx){G1();var O0=K0($x),C1=e.getTouchingPropertyName(O0,rx);if(C1!==O0){var nx=h1.getTypeChecker(),O=function(gr){return e.isNewExpression(gr.parent)&&gr.pos===gr.parent.pos?gr.parent.expression:e.isNamedTupleMember(gr.parent)&&gr.pos===gr.parent.pos?gr.parent:gr}(C1),b1=function(gr,Nt){var Ir=k0(gr);if(Ir){var xr=Nt.getContextualType(Ir.parent),Bt=xr&&V0(Ir,Nt,xr,!1);if(Bt&&Bt.length===1)return e.first(Bt)}return Nt.getSymbolAtLocation(gr)}(O,nx);if(!b1||nx.isUnknownSymbol(b1)){var Px=function(gr,Nt,Ir){switch(Nt.kind){case 78:return!e.isLabelName(Nt)&&!e.isTagName(Nt)&&!e.isConstTypeReference(Nt.parent);case 202:case 158:return!e.isInComment(gr,Ir);case 107:case 188:case 105:case 193:return!0;default:return!1}}(O0,O,rx)?nx.getTypeAtLocation(O):void 0;return Px&&{kind:\"\",kindModifiers:\"\",textSpan:e.createTextSpanFromNode(O,O0),displayParts:nx.runWithCancellationToken($1,function(gr){return e.typeToDisplayParts(gr,Px,e.getContainerNode(O))}),documentation:Px.symbol?Px.symbol.getDocumentationComment(nx):void 0,tags:Px.symbol?Px.symbol.getJsDocTags(nx):void 0}}var me=nx.runWithCancellationToken($1,function(gr){return e.SymbolDisplay.getSymbolDisplayPartsDocumentationAndSymbolKind(gr,b1,O0,e.getContainerNode(O),O)}),Re=me.symbolKind,gt=me.displayParts,Vt=me.documentation,wr=me.tags;return{kind:Re,kindModifiers:e.SymbolDisplay.getSymbolModifiers(nx,b1),textSpan:e.createTextSpanFromNode(O,O0),displayParts:gt,documentation:Vt,tags:wr}}},getDefinitionAtPosition:function($x,rx){return G1(),e.GoToDefinition.getDefinitionAtPosition(h1,K0($x),rx)},getDefinitionAndBoundSpan:function($x,rx){return G1(),e.GoToDefinition.getDefinitionAndBoundSpan(h1,K0($x),rx)},getImplementationAtPosition:function($x,rx){return G1(),e.FindAllReferences.getImplementationsAtPosition(h1,$1,h1.getSourceFiles(),K0($x),rx)},getTypeDefinitionAtPosition:function($x,rx){return G1(),e.GoToDefinition.getTypeDefinitionAtPosition(h1.getTypeChecker(),K0($x),rx)},getReferencesAtPosition:function($x,rx){return G1(),S0(e.getTouchingPropertyName(K0($x),rx),rx,{use:1},e.FindAllReferences.toReferenceEntry)},findReferences:function($x,rx){return G1(),e.FindAllReferences.findReferencedSymbols(h1,$1,h1.getSourceFiles(),K0($x),rx)},getFileReferences:function($x){return G1(),e.FindAllReferences.Core.getReferencesForFileName($x,h1,h1.getSourceFiles()).map(e.FindAllReferences.toReferenceEntry)},getOccurrencesAtPosition:function($x,rx){return e.flatMap(n1($x,rx,[$x]),function(O0){return O0.highlightSpans.map(function(C1){return $($({fileName:O0.fileName,textSpan:C1.textSpan,isWriteAccess:C1.kind===\"writtenReference\",isDefinition:!1},C1.isInString&&{isInString:!0}),C1.contextSpan&&{contextSpan:C1.contextSpan})})})},getDocumentHighlights:n1,getNameOrDottedNameSpan:function($x,rx,O0){var C1=Q1.getCurrentSourceFile($x),nx=e.getTouchingPropertyName(C1,rx);if(nx!==C1){switch(nx.kind){case 202:case 158:case 10:case 94:case 109:case 103:case 105:case 107:case 188:case 78:break;default:return}for(var O=nx;;)if(e.isRightSideOfPropertyAccess(O)||e.isRightSideOfQualifiedName(O))O=O.parent;else{if(!e.isNameOfModuleDeclaration(O)||O.parent.parent.kind!==257||O.parent.parent.body!==O.parent)break;O=O.parent.parent.name}return e.createTextSpanFromBounds(O.getStart(),nx.getEnd())}},getBreakpointStatementAtPosition:function($x,rx){var O0=Q1.getCurrentSourceFile($x);return e.BreakpointResolver.spanInSourceFileAtLocation(O0,rx)},getNavigateToItems:function($x,rx,O0,C1){C1===void 0&&(C1=!1),G1();var nx=O0?[K0(O0)]:h1.getSourceFiles();return e.NavigateTo.getNavigateToItems(nx,h1.getTypeChecker(),$1,$x,rx,C1)},getRenameInfo:function($x,rx,O0){return G1(),e.Rename.getRenameInfo(h1,K0($x),rx,O0)},getSmartSelectionRange:function($x,rx){return e.SmartSelectionRange.getSmartSelectionRange(rx,Q1.getCurrentSourceFile($x))},findRenameLocations:function($x,rx,O0,C1,nx){G1();var O=K0($x),b1=e.getAdjustedRenameLocation(e.getTouchingPropertyName(O,rx));if(e.isIdentifier(b1)&&(e.isJsxOpeningElement(b1.parent)||e.isJsxClosingElement(b1.parent))&&e.isIntrinsicJsxName(b1.escapedText)){var Px=b1.parent.parent;return[Px.openingElement,Px.closingElement].map(function(me){var Re=e.createTextSpanFromNode(me.tagName,O);return $({fileName:O.fileName,textSpan:Re},e.FindAllReferences.toContextSpan(Re,O,me.parent))})}return S0(b1,rx,{findInStrings:O0,findInComments:C1,providePrefixAndSuffixTextForRename:nx,use:2},function(me,Re,gt){return e.FindAllReferences.toRenameLocation(me,Re,gt,nx||!1)})},getNavigationBarItems:function($x){return e.NavigationBar.getNavigationBarItems(Q1.getCurrentSourceFile($x),$1)},getNavigationTree:function($x){return e.NavigationBar.getNavigationTree(Q1.getCurrentSourceFile($x),$1)},getOutliningSpans:function($x){var rx=Q1.getCurrentSourceFile($x);return e.OutliningElementsCollector.collectElements(rx,$1)},getTodoComments:function($x,rx){G1();var O0=K0($x);$1.throwIfCancellationRequested();var C1,nx=O0.text,O=[];if(rx.length>0&&!function(gr){return e.stringContains(gr,\"/node_modules/\")}(O0.fileName))for(var b1=function(){var gr=\"(\"+/(?:^(?:\\s|\\*)*)/.source+\"|\"+/(?:\\/\\/+\\s*)/.source+\"|\"+/(?:\\/\\*+\\s*)/.source+\")\",Nt=\"(?:\"+e.map(rx,function(Ir){return\"(\"+(Ir.text.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g,\"\\\\$&\")+\")\")}).join(\"|\")+\")\";return new RegExp(gr+\"(\"+Nt+/(?:.*?)/.source+\")\"+/(?:$|\\*\\/)/.source,\"gim\")}(),Px=void 0;Px=b1.exec(nx);){$1.throwIfCancellationRequested(),e.Debug.assert(Px.length===rx.length+3);var me=Px[1],Re=Px.index+me.length;if(e.isInComment(O0,Re)){for(var gt=void 0,Vt=0;Vt<rx.length;Vt++)Px[Vt+3]&&(gt=rx[Vt]);if(gt===void 0)return e.Debug.fail();if(!((C1=nx.charCodeAt(Re+gt.text.length))>=97&&C1<=122||C1>=65&&C1<=90||C1>=48&&C1<=57)){var wr=Px[2];O.push({descriptor:gt,message:wr,position:Re})}}}return O},getBraceMatchingAtPosition:function($x,rx){var O0=Q1.getCurrentSourceFile($x),C1=e.getTouchingToken(O0,rx),nx=C1.getStart(O0)===rx?I0.get(C1.kind.toString()):void 0,O=nx&&e.findChildOfKind(C1.parent,nx,O0);return O?[e.createTextSpanFromNode(C1,O0),e.createTextSpanFromNode(O,O0)].sort(function(b1,Px){return b1.start-Px.start}):e.emptyArray},getIndentationAtPosition:function($x,rx,O0){var C1=e.timestamp(),nx=u0(O0),O=Q1.getCurrentSourceFile($x);Q0(\"getIndentationAtPosition: getCurrentSourceFile: \"+(e.timestamp()-C1)),C1=e.timestamp();var b1=e.formatting.SmartIndenter.getIndentation(rx,O,nx);return Q0(\"getIndentationAtPosition: computeIndentation  : \"+(e.timestamp()-C1)),b1},getFormattingEditsForRange:function($x,rx,O0,C1){var nx=Q1.getCurrentSourceFile($x);return e.formatting.formatSelection(rx,O0,nx,e.formatting.getFormatContext(u0(C1),t0))},getFormattingEditsForDocument:function($x,rx){return e.formatting.formatDocument(Q1.getCurrentSourceFile($x),e.formatting.getFormatContext(u0(rx),t0))},getFormattingEditsAfterKeystroke:function($x,rx,O0,C1){var nx=Q1.getCurrentSourceFile($x),O=e.formatting.getFormatContext(u0(C1),t0);if(!e.isInComment(nx,rx))switch(O0){case\"{\":return e.formatting.formatOnOpeningCurly(rx,nx,O);case\"}\":return e.formatting.formatOnClosingCurly(rx,nx,O);case\";\":return e.formatting.formatOnSemicolon(rx,nx,O);case`\n`:return e.formatting.formatOnEnter(rx,nx,O)}return[]},getDocCommentTemplateAtPosition:function($x,rx,O0){return e.JsDoc.getDocCommentTemplateAtPosition(e.getNewLineOrDefaultFromHost(t0),Q1.getCurrentSourceFile($x),rx,O0)},isValidBraceCompletionAtPosition:function($x,rx,O0){if(O0===60)return!1;var C1=Q1.getCurrentSourceFile($x);if(e.isInString(C1,rx))return!1;if(e.isInsideJsxElementOrAttribute(C1,rx))return O0===123;if(e.isInTemplateString(C1,rx))return!1;switch(O0){case 39:case 34:case 96:return!e.isInComment(C1,rx)}return!0},getJsxClosingTagAtPosition:function($x,rx){var O0=Q1.getCurrentSourceFile($x),C1=e.findPrecedingToken(rx,O0);if(C1){var nx=C1.kind===31&&e.isJsxOpeningElement(C1.parent)?C1.parent.parent:e.isJsxText(C1)?C1.parent:void 0;return nx&&N1(nx)?{newText:\"</\"+nx.openingElement.tagName.getText(O0)+\">\"}:void 0}},getSpanOfEnclosingComment:function($x,rx,O0){var C1=Q1.getCurrentSourceFile($x),nx=e.formatting.getRangeOfEnclosingComment(C1,rx);return!nx||O0&&nx.kind!==3?void 0:e.createTextSpanFromRange(nx)},getCodeFixesAtPosition:function($x,rx,O0,C1,nx,O){O===void 0&&(O=e.emptyOptions),G1();var b1=K0($x),Px=e.createTextSpanFromBounds(rx,O0),me=e.formatting.getFormatContext(nx,t0);return e.flatMap(e.deduplicate(C1,e.equateValues,e.compareValues),function(Re){return $1.throwIfCancellationRequested(),e.codefix.getFixes({errorCode:Re,sourceFile:b1,span:Px,program:h1,host:t0,cancellationToken:$1,formatContext:me,preferences:O})})},getCombinedCodeFix:function($x,rx,O0,C1){C1===void 0&&(C1=e.emptyOptions),G1(),e.Debug.assert($x.type===\"file\");var nx=K0($x.fileName),O=e.formatting.getFormatContext(O0,t0);return e.codefix.getAllFixes({fixId:rx,sourceFile:nx,program:h1,host:t0,cancellationToken:$1,formatContext:O,preferences:C1})},applyCodeActionCommand:function($x,rx){var O0=typeof $x==\"string\"?rx:$x;return e.isArray(O0)?Promise.all(O0.map(function(C1){return U0(C1)})):U0(O0)},organizeImports:function($x,rx,O0){O0===void 0&&(O0=e.emptyOptions),G1(),e.Debug.assert($x.type===\"file\");var C1=K0($x.fileName),nx=e.formatting.getFormatContext(rx,t0);return e.OrganizeImports.organizeImports(C1,nx,t0,h1,O0,$x.skipDestructiveCodeActions)},getEditsForFileRename:function($x,rx,O0,C1){return C1===void 0&&(C1=e.emptyOptions),e.getEditsForFileRename(Nx(),$x,rx,t0,e.formatting.getFormatContext(O0,t0),C1,I1)},getEmitOutput:function($x,rx,O0){G1();var C1=K0($x),nx=t0.getCustomTransformers&&t0.getCustomTransformers();return e.getFileEmitOutput(h1,C1,!!rx,$1,nx,O0)},getNonBoundSourceFile:function($x){return Q1.getCurrentSourceFile($x)},getProgram:Nx,getAutoImportProvider:function(){var $x;return($x=t0.getPackageJsonAutoImportProvider)===null||$x===void 0?void 0:$x.call(t0)},getApplicableRefactors:function($x,rx,O0,C1,nx){O0===void 0&&(O0=e.emptyOptions),G1();var O=K0($x);return e.refactor.getApplicableRefactors(V1(O,rx,O0,e.emptyOptions,C1,nx))},getEditsForRefactor:function($x,rx,O0,C1,nx,O){O===void 0&&(O=e.emptyOptions),G1();var b1=K0($x);return e.refactor.getEditsForRefactor(V1(b1,O0,O,rx),C1,nx)},toLineColumnOffset:function($x,rx){return rx===0?{line:0,character:0}:I1.toLineColumnOffset($x,rx)},getSourceMapper:function(){return I1},clearSourceMapperCache:function(){return I1.clearCache()},prepareCallHierarchy:function($x,rx){G1();var O0=e.CallHierarchy.resolveCallHierarchyDeclaration(h1,e.getTouchingPropertyName(K0($x),rx));return O0&&e.mapOneOrMany(O0,function(C1){return e.CallHierarchy.createCallHierarchyItem(h1,C1)})},provideCallHierarchyIncomingCalls:function($x,rx){G1();var O0=K0($x),C1=e.firstOrOnly(e.CallHierarchy.resolveCallHierarchyDeclaration(h1,rx===0?O0:e.getTouchingPropertyName(O0,rx)));return C1?e.CallHierarchy.getIncomingCalls(h1,C1,$1):[]},provideCallHierarchyOutgoingCalls:function($x,rx){G1();var O0=K0($x),C1=e.firstOrOnly(e.CallHierarchy.resolveCallHierarchyDeclaration(h1,rx===0?O0:e.getTouchingPropertyName(O0,rx)));return C1?e.CallHierarchy.getOutgoingCalls(h1,C1):[]},toggleLineComment:p1,toggleMultilineComment:Y1,commentSelection:function($x,rx){var O0=p0(Q1.getCurrentSourceFile($x),rx);return O0.firstLine===O0.lastLine&&rx.pos!==rx.end?Y1($x,rx,!0):p1($x,rx,!0)},uncommentSelection:function($x,rx){var O0=Q1.getCurrentSourceFile($x),C1=[],nx=rx.pos,O=rx.end;nx===O&&(O+=e.isInsideJsxElement(O0,nx)?2:1);for(var b1=nx;b1<=O;b1++){var Px=e.isInComment(O0,b1);if(Px){switch(Px.kind){case 2:C1.push.apply(C1,p1($x,{end:Px.end,pos:Px.pos+1},!1));break;case 3:C1.push.apply(C1,Y1($x,{end:Px.end,pos:Px.pos+1},!1))}b1=Px.end+1}}return C1}};switch(d1){case e.LanguageServiceMode.Semantic:break;case e.LanguageServiceMode.PartialSemantic:w.forEach(function($x){return Ox[$x]=function(){throw new Error(\"LanguageService Operation: \"+$x+\" not allowed in LanguageServiceMode.PartialSemantic\")}});break;case e.LanguageServiceMode.Syntactic:H.forEach(function($x){return Ox[$x]=function(){throw new Error(\"LanguageService Operation: \"+$x+\" not allowed in LanguageServiceMode.Syntactic\")}});break;default:e.Debug.assertNever(d1)}return Ox},e.getNameTable=function(t0){return t0.nameTable||function(f0){var y0=f0.nameTable=new e.Map;f0.forEachChild(function G0(d1){if(e.isIdentifier(d1)&&!e.isTagName(d1)&&d1.escapedText||e.isStringOrNumericLiteralLike(d1)&&function($1){return e.isDeclarationName($1)||$1.parent.kind===273||function(Z1){return Z1&&Z1.parent&&Z1.parent.kind===203&&Z1.parent.argumentExpression===Z1}($1)||e.isLiteralComputedPropertyDeclarationName($1)}(d1)){var h1=e.getEscapedTextOfIdentifierOrLiteral(d1);y0.set(h1,y0.get(h1)===void 0?d1.pos:-1)}else e.isPrivateIdentifier(d1)&&(h1=d1.escapedText,y0.set(h1,y0.get(h1)===void 0?d1.pos:-1));if(e.forEachChild(d1,G0),e.hasJSDocNodes(d1))for(var S1=0,Q1=d1.jsDoc;S1<Q1.length;S1++){var Y0=Q1[S1];e.forEachChild(Y0,G0)}})}(t0),t0.nameTable},e.getContainingObjectLiteralElement=k0,e.getPropertySymbolsFromContextualType=V0,e.getDefaultLibFilePath=function(t0){return\"/prettier-security-dirname-placeholder\"+e.directorySeparator+e.getDefaultLibFileName(t0)},e.setObjectAllocator({getNodeConstructor:function(){return X},getTokenConstructor:function(){return i0},getIdentifierConstructor:function(){return H0},getPrivateIdentifierConstructor:function(){return E0},getSourceFileConstructor:function(){return j},getSymbolConstructor:function(){return s1},getTypeConstructor:function(){return I},getSignatureConstructor:function(){return A},getSourceMapSourceConstructor:function(){return G}})}(_0||(_0={})),function(e){(e.BreakpointResolver||(e.BreakpointResolver={})).spanInSourceFileAtLocation=function(s,X){if(!s.isDeclarationFile){var J=e.getTokenAtPosition(s,X),m0=s.getLineAndCharacterOfPosition(X).line;if(s.getLineAndCharacterOfPosition(J.getStart(s)).line>m0){var s1=e.findPrecedingToken(J.pos,s);if(!s1||s.getLineAndCharacterOfPosition(s1.getEnd()).line!==m0)return;J=s1}if(!(8388608&J.flags))return Z(J)}function i0(A0,o0){var j=A0.decorators?e.skipTrivia(s.text,A0.decorators.end):A0.getStart(s);return e.createTextSpanFromBounds(j,(o0||A0).getEnd())}function H0(A0,o0){return i0(A0,e.findNextToken(o0,o0.parent,s))}function E0(A0,o0){return A0&&m0===s.getLineAndCharacterOfPosition(A0.getStart(s)).line?Z(A0):Z(o0)}function I(A0){return Z(e.findPrecedingToken(A0.pos,s))}function A(A0){return Z(e.findNextToken(A0,A0.parent,s))}function Z(A0){if(A0){var o0=A0.parent;switch(A0.kind){case 233:return w0(A0.declarationList.declarations[0]);case 250:case 164:case 163:return w0(A0);case 161:return function t0(f0){if(e.isBindingPattern(f0.name))return k0(f0.name);if(function(d1){return!!d1.initializer||d1.dotDotDotToken!==void 0||e.hasSyntacticModifier(d1,12)}(f0))return i0(f0);var y0=f0.parent,G0=y0.parameters.indexOf(f0);return e.Debug.assert(G0!==-1),G0!==0?t0(y0.parameters[G0-1]):Z(y0.body)}(A0);case 252:case 166:case 165:case 168:case 169:case 167:case 209:case 210:return function(t0){if(t0.body)return V(t0)?i0(t0):Z(t0.body)}(A0);case 231:if(e.isFunctionBlock(A0))return D0=(c0=A0).statements.length?c0.statements[0]:c0.getLastToken(),V(c0.parent)?E0(c0.parent,D0):Z(D0);case 258:return w(A0);case 288:return w(A0.block);case 234:return i0(A0.expression);case 243:return i0(A0.getChildAt(0),A0.expression);case 237:return H0(A0,A0.expression);case 236:return Z(A0.statement);case 249:return i0(A0.getChildAt(0));case 235:return H0(A0,A0.expression);case 246:return Z(A0.statement);case 242:case 241:return i0(A0.getChildAt(0),A0.label);case 238:return(P0=A0).initializer?H(P0):P0.condition?i0(P0.condition):P0.incrementor?i0(P0.incrementor):void 0;case 239:return H0(A0,A0.expression);case 240:return H(A0);case 245:return H0(A0,A0.expression);case 285:case 286:return Z(A0.statements[0]);case 248:return w(A0.tryBlock);case 247:case 267:return i0(A0,A0.expression);case 261:return i0(A0,A0.moduleReference);case 262:case 268:return i0(A0,A0.moduleSpecifier);case 257:if(e.getModuleInstanceState(A0)!==1)return;case 253:case 256:case 292:case 199:return i0(A0);case 244:return Z(A0.statement);case 162:return x0=o0.decorators,e.createTextSpanFromBounds(e.skipTrivia(s.text,x0.pos),x0.end);case 197:case 198:return k0(A0);case 254:case 255:return;case 26:case 1:return E0(e.findPrecedingToken(A0.pos,s));case 27:return I(A0);case 18:return function(t0){switch(t0.parent.kind){case 256:var f0=t0.parent;return E0(e.findPrecedingToken(t0.pos,s,t0.parent),f0.members.length?f0.members[0]:f0.getLastToken(s));case 253:var y0=t0.parent;return E0(e.findPrecedingToken(t0.pos,s,t0.parent),y0.members.length?y0.members[0]:y0.getLastToken(s));case 259:return E0(t0.parent.parent,t0.parent.clauses[0])}return Z(t0.parent)}(A0);case 19:return function(t0){switch(t0.parent.kind){case 258:if(e.getModuleInstanceState(t0.parent.parent)!==1)return;case 256:case 253:return i0(t0);case 231:if(e.isFunctionBlock(t0.parent))return i0(t0);case 288:return Z(e.lastOrUndefined(t0.parent.statements));case 259:var f0=t0.parent,y0=e.lastOrUndefined(f0.clauses);return y0?Z(e.lastOrUndefined(y0.statements)):void 0;case 197:var G0=t0.parent;return Z(e.lastOrUndefined(G0.elements)||G0);default:if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(t0.parent)){var d1=t0.parent;return i0(e.lastOrUndefined(d1.properties)||d1)}return Z(t0.parent)}}(A0);case 23:return function(t0){switch(t0.parent.kind){case 198:var f0=t0.parent;return i0(e.lastOrUndefined(f0.elements)||f0);default:if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(t0.parent)){var y0=t0.parent;return i0(e.lastOrUndefined(y0.elements)||y0)}return Z(t0.parent)}}(A0);case 20:return function(t0){return t0.parent.kind===236||t0.parent.kind===204||t0.parent.kind===205?I(t0):t0.parent.kind===208?A(t0):Z(t0.parent)}(A0);case 21:return function(t0){switch(t0.parent.kind){case 209:case 252:case 210:case 166:case 165:case 168:case 169:case 167:case 237:case 236:case 238:case 240:case 204:case 205:case 208:return I(t0);default:return Z(t0.parent)}}(A0);case 58:return function(t0){return e.isFunctionLike(t0.parent)||t0.parent.kind===289||t0.parent.kind===161?I(t0):Z(t0.parent)}(A0);case 31:case 29:return function(t0){return t0.parent.kind===207?A(t0):Z(t0.parent)}(A0);case 114:return function(t0){return t0.parent.kind===236?H0(t0,t0.parent.expression):Z(t0.parent)}(A0);case 90:case 82:case 95:return A(A0);case 157:return function(t0){return t0.parent.kind===240?A(t0):Z(t0.parent)}(A0);default:if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(A0))return V0(A0);if((A0.kind===78||A0.kind===221||A0.kind===289||A0.kind===290)&&e.isArrayLiteralOrObjectLiteralDestructuringPattern(o0))return i0(A0);if(A0.kind===217){var j=A0,G=j.left,u0=j.operatorToken;if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(G))return V0(G);if(u0.kind===62&&e.isArrayLiteralOrObjectLiteralDestructuringPattern(A0.parent))return i0(A0);if(u0.kind===27)return Z(G)}if(e.isExpressionNode(A0))switch(o0.kind){case 236:return I(A0);case 162:return Z(A0.parent);case 238:case 240:return i0(A0);case 217:if(A0.parent.operatorToken.kind===27)return i0(A0);break;case 210:if(A0.parent.body===A0)return i0(A0)}switch(A0.parent.kind){case 289:if(A0.parent.name===A0&&!e.isArrayLiteralOrObjectLiteralDestructuringPattern(A0.parent.parent))return Z(A0.parent.initializer);break;case 207:if(A0.parent.type===A0)return A(A0.parent.type);break;case 250:case 161:var U=A0.parent,g0=U.initializer,d0=U.type;if(g0===A0||d0===A0||e.isAssignmentOperator(A0.kind))return I(A0);break;case 217:if(G=A0.parent.left,e.isArrayLiteralOrObjectLiteralDestructuringPattern(G)&&A0!==G)return I(A0);break;default:if(e.isFunctionLike(A0.parent)&&A0.parent.type===A0)return I(A0)}return Z(A0.parent)}}var P0,c0,D0,x0;function l0(t0){return e.isVariableDeclarationList(t0.parent)&&t0.parent.declarations[0]===t0?i0(e.findPrecedingToken(t0.pos,s,t0.parent),t0):i0(t0)}function w0(t0){if(t0.parent.parent.kind===239)return Z(t0.parent.parent);var f0=t0.parent;return e.isBindingPattern(t0.name)?k0(t0.name):t0.initializer||e.hasSyntacticModifier(t0,1)||f0.parent.kind===240?l0(t0):e.isVariableDeclarationList(t0.parent)&&t0.parent.declarations[0]!==t0?Z(e.findPrecedingToken(t0.pos,s,t0.parent)):void 0}function V(t0){return e.hasSyntacticModifier(t0,1)||t0.parent.kind===253&&t0.kind!==167}function w(t0){switch(t0.parent.kind){case 257:if(e.getModuleInstanceState(t0.parent)!==1)return;case 237:case 235:case 239:return E0(t0.parent,t0.statements[0]);case 238:case 240:return E0(e.findPrecedingToken(t0.pos,s,t0.parent),t0.statements[0])}return Z(t0.statements[0])}function H(t0){if(t0.initializer.kind!==251)return Z(t0.initializer);var f0=t0.initializer;return f0.declarations.length>0?Z(f0.declarations[0]):void 0}function k0(t0){var f0=e.forEach(t0.elements,function(y0){return y0.kind!==223?y0:void 0});return f0?Z(f0):t0.parent.kind===199?i0(t0.parent):l0(t0.parent)}function V0(t0){e.Debug.assert(t0.kind!==198&&t0.kind!==197);var f0=t0.kind===200?t0.elements:t0.properties,y0=e.forEach(f0,function(G0){return G0.kind!==223?G0:void 0});return y0?Z(y0):i0(t0.parent.kind===217?t0.parent:t0)}}}}(_0||(_0={})),function(e){e.transform=function(s,X,J){var m0=[];J=e.fixupCompilerOptions(J,m0);var s1=e.isArray(s)?s:[s],i0=e.transformNodes(void 0,void 0,e.factory,J,s1,X,!0);return i0.diagnostics=e.concatenate(i0.diagnostics,m0),i0}}(_0||(_0={}));var _0,Ne=function(){return this}();(function(e){function s(j,G){j&&j.log(\"*INTERNAL ERROR* - Exception in typescript services: \"+G.message)}var X=function(){function j(G){this.scriptSnapshotShim=G}return j.prototype.getText=function(G,u0){return this.scriptSnapshotShim.getText(G,u0)},j.prototype.getLength=function(){return this.scriptSnapshotShim.getLength()},j.prototype.getChangeRange=function(G){var u0=G,U=this.scriptSnapshotShim.getChangeRange(u0.scriptSnapshotShim);if(U===null)return null;var g0=JSON.parse(U);return e.createTextChangeRange(e.createTextSpan(g0.span.start,g0.span.length),g0.newLength)},j.prototype.dispose=function(){\"dispose\"in this.scriptSnapshotShim&&this.scriptSnapshotShim.dispose()},j}(),J=function(){function j(G){var u0=this;this.shimHost=G,this.loggingEnabled=!1,this.tracingEnabled=!1,\"getModuleResolutionsForFile\"in this.shimHost&&(this.resolveModuleNames=function(U,g0){var d0=JSON.parse(u0.shimHost.getModuleResolutionsForFile(g0));return e.map(U,function(P0){var c0=e.getProperty(d0,P0);return c0?{resolvedFileName:c0,extension:e.extensionFromPath(c0),isExternalLibraryImport:!1}:void 0})}),\"directoryExists\"in this.shimHost&&(this.directoryExists=function(U){return u0.shimHost.directoryExists(U)}),\"getTypeReferenceDirectiveResolutionsForFile\"in this.shimHost&&(this.resolveTypeReferenceDirectives=function(U,g0){var d0=JSON.parse(u0.shimHost.getTypeReferenceDirectiveResolutionsForFile(g0));return e.map(U,function(P0){return e.getProperty(d0,P0)})})}return j.prototype.log=function(G){this.loggingEnabled&&this.shimHost.log(G)},j.prototype.trace=function(G){this.tracingEnabled&&this.shimHost.trace(G)},j.prototype.error=function(G){this.shimHost.error(G)},j.prototype.getProjectVersion=function(){if(this.shimHost.getProjectVersion)return this.shimHost.getProjectVersion()},j.prototype.getTypeRootsVersion=function(){return this.shimHost.getTypeRootsVersion?this.shimHost.getTypeRootsVersion():0},j.prototype.useCaseSensitiveFileNames=function(){return!!this.shimHost.useCaseSensitiveFileNames&&this.shimHost.useCaseSensitiveFileNames()},j.prototype.getCompilationSettings=function(){var G=this.shimHost.getCompilationSettings();if(G===null||G===\"\")throw Error(\"LanguageServiceShimHostAdapter.getCompilationSettings: empty compilationSettings\");var u0=JSON.parse(G);return u0.allowNonTsExtensions=!0,u0},j.prototype.getScriptFileNames=function(){var G=this.shimHost.getScriptFileNames();return JSON.parse(G)},j.prototype.getScriptSnapshot=function(G){var u0=this.shimHost.getScriptSnapshot(G);return u0&&new X(u0)},j.prototype.getScriptKind=function(G){return\"getScriptKind\"in this.shimHost?this.shimHost.getScriptKind(G):0},j.prototype.getScriptVersion=function(G){return this.shimHost.getScriptVersion(G)},j.prototype.getLocalizedDiagnosticMessages=function(){var G=this.shimHost.getLocalizedDiagnosticMessages();if(G===null||G===\"\")return null;try{return JSON.parse(G)}catch(u0){return this.log(u0.description||\"diagnosticMessages.generated.json has invalid JSON format\"),null}},j.prototype.getCancellationToken=function(){var G=this.shimHost.getCancellationToken();return new e.ThrottledCancellationToken(G)},j.prototype.getCurrentDirectory=function(){return this.shimHost.getCurrentDirectory()},j.prototype.getDirectories=function(G){return JSON.parse(this.shimHost.getDirectories(G))},j.prototype.getDefaultLibFileName=function(G){return this.shimHost.getDefaultLibFileName(JSON.stringify(G))},j.prototype.readDirectory=function(G,u0,U,g0,d0){var P0=e.getFileMatcherPatterns(G,U,g0,this.shimHost.useCaseSensitiveFileNames(),this.shimHost.getCurrentDirectory());return JSON.parse(this.shimHost.readDirectory(G,JSON.stringify(u0),JSON.stringify(P0.basePaths),P0.excludePattern,P0.includeFilePattern,P0.includeDirectoryPattern,d0))},j.prototype.readFile=function(G,u0){return this.shimHost.readFile(G,u0)},j.prototype.fileExists=function(G){return this.shimHost.fileExists(G)},j}();e.LanguageServiceShimHostAdapter=J;var m0=function(){function j(G){var u0=this;this.shimHost=G,this.useCaseSensitiveFileNames=!!this.shimHost.useCaseSensitiveFileNames&&this.shimHost.useCaseSensitiveFileNames(),\"directoryExists\"in this.shimHost?this.directoryExists=function(U){return u0.shimHost.directoryExists(U)}:this.directoryExists=void 0,\"realpath\"in this.shimHost?this.realpath=function(U){return u0.shimHost.realpath(U)}:this.realpath=void 0}return j.prototype.readDirectory=function(G,u0,U,g0,d0){var P0=e.getFileMatcherPatterns(G,U,g0,this.shimHost.useCaseSensitiveFileNames(),this.shimHost.getCurrentDirectory());return JSON.parse(this.shimHost.readDirectory(G,JSON.stringify(u0),JSON.stringify(P0.basePaths),P0.excludePattern,P0.includeFilePattern,P0.includeDirectoryPattern,d0))},j.prototype.fileExists=function(G){return this.shimHost.fileExists(G)},j.prototype.readFile=function(G){return this.shimHost.readFile(G)},j.prototype.getDirectories=function(G){return JSON.parse(this.shimHost.getDirectories(G))},j}();function s1(j,G,u0,U){return i0(j,G,!0,u0,U)}function i0(j,G,u0,U,g0){try{var d0=function(P0,c0,D0,x0){var l0;x0&&(P0.log(c0),l0=e.timestamp());var w0=D0();if(x0){var V=e.timestamp();if(P0.log(c0+\" completed in \"+(V-l0)+\" msec\"),e.isString(w0)){var w=w0;w.length>128&&(w=w.substring(0,128)+\"...\"),P0.log(\"  result.length=\"+w.length+\", result='\"+JSON.stringify(w)+\"'\")}}return w0}(j,G,U,g0);return u0?JSON.stringify({result:d0}):d0}catch(P0){return P0 instanceof e.OperationCanceledException?JSON.stringify({canceled:!0}):(s(j,P0),P0.description=G,JSON.stringify({error:P0}))}}e.CoreServicesShimHostAdapter=m0;var H0=function(){function j(G){this.factory=G,G.registerShim(this)}return j.prototype.dispose=function(G){this.factory.unregisterShim(this)},j}();function E0(j,G){return j.map(function(u0){return function(U,g0){return{message:e.flattenDiagnosticMessageText(U.messageText,g0),start:U.start,length:U.length,category:e.diagnosticCategoryName(U),code:U.code,reportsUnnecessary:U.reportsUnnecessary,reportsDeprecated:U.reportsDeprecated}}(u0,G)})}e.realizeDiagnostics=E0;var I=function(j){function G(u0,U,g0){var d0=j.call(this,u0)||this;return d0.host=U,d0.languageService=g0,d0.logPerformance=!1,d0.logger=d0.host,d0}return ex(G,j),G.prototype.forwardJSONCall=function(u0,U){return s1(this.logger,u0,U,this.logPerformance)},G.prototype.dispose=function(u0){this.logger.log(\"dispose()\"),this.languageService.dispose(),this.languageService=null,Ne&&Ne.CollectGarbage&&(Ne.CollectGarbage(),this.logger.log(\"CollectGarbage()\")),this.logger=null,j.prototype.dispose.call(this,u0)},G.prototype.refresh=function(u0){this.forwardJSONCall(\"refresh(\"+u0+\")\",function(){return null})},G.prototype.cleanupSemanticCache=function(){var u0=this;this.forwardJSONCall(\"cleanupSemanticCache()\",function(){return u0.languageService.cleanupSemanticCache(),null})},G.prototype.realizeDiagnostics=function(u0){return E0(u0,e.getNewLineOrDefaultFromHost(this.host))},G.prototype.getSyntacticClassifications=function(u0,U,g0){var d0=this;return this.forwardJSONCall(\"getSyntacticClassifications('\"+u0+\"', \"+U+\", \"+g0+\")\",function(){return d0.languageService.getSyntacticClassifications(u0,e.createTextSpan(U,g0))})},G.prototype.getSemanticClassifications=function(u0,U,g0){var d0=this;return this.forwardJSONCall(\"getSemanticClassifications('\"+u0+\"', \"+U+\", \"+g0+\")\",function(){return d0.languageService.getSemanticClassifications(u0,e.createTextSpan(U,g0))})},G.prototype.getEncodedSyntacticClassifications=function(u0,U,g0){var d0=this;return this.forwardJSONCall(\"getEncodedSyntacticClassifications('\"+u0+\"', \"+U+\", \"+g0+\")\",function(){return A(d0.languageService.getEncodedSyntacticClassifications(u0,e.createTextSpan(U,g0)))})},G.prototype.getEncodedSemanticClassifications=function(u0,U,g0){var d0=this;return this.forwardJSONCall(\"getEncodedSemanticClassifications('\"+u0+\"', \"+U+\", \"+g0+\")\",function(){return A(d0.languageService.getEncodedSemanticClassifications(u0,e.createTextSpan(U,g0)))})},G.prototype.getSyntacticDiagnostics=function(u0){var U=this;return this.forwardJSONCall(\"getSyntacticDiagnostics('\"+u0+\"')\",function(){var g0=U.languageService.getSyntacticDiagnostics(u0);return U.realizeDiagnostics(g0)})},G.prototype.getSemanticDiagnostics=function(u0){var U=this;return this.forwardJSONCall(\"getSemanticDiagnostics('\"+u0+\"')\",function(){var g0=U.languageService.getSemanticDiagnostics(u0);return U.realizeDiagnostics(g0)})},G.prototype.getSuggestionDiagnostics=function(u0){var U=this;return this.forwardJSONCall(\"getSuggestionDiagnostics('\"+u0+\"')\",function(){return U.realizeDiagnostics(U.languageService.getSuggestionDiagnostics(u0))})},G.prototype.getCompilerOptionsDiagnostics=function(){var u0=this;return this.forwardJSONCall(\"getCompilerOptionsDiagnostics()\",function(){var U=u0.languageService.getCompilerOptionsDiagnostics();return u0.realizeDiagnostics(U)})},G.prototype.getQuickInfoAtPosition=function(u0,U){var g0=this;return this.forwardJSONCall(\"getQuickInfoAtPosition('\"+u0+\"', \"+U+\")\",function(){return g0.languageService.getQuickInfoAtPosition(u0,U)})},G.prototype.getNameOrDottedNameSpan=function(u0,U,g0){var d0=this;return this.forwardJSONCall(\"getNameOrDottedNameSpan('\"+u0+\"', \"+U+\", \"+g0+\")\",function(){return d0.languageService.getNameOrDottedNameSpan(u0,U,g0)})},G.prototype.getBreakpointStatementAtPosition=function(u0,U){var g0=this;return this.forwardJSONCall(\"getBreakpointStatementAtPosition('\"+u0+\"', \"+U+\")\",function(){return g0.languageService.getBreakpointStatementAtPosition(u0,U)})},G.prototype.getSignatureHelpItems=function(u0,U,g0){var d0=this;return this.forwardJSONCall(\"getSignatureHelpItems('\"+u0+\"', \"+U+\")\",function(){return d0.languageService.getSignatureHelpItems(u0,U,g0)})},G.prototype.getDefinitionAtPosition=function(u0,U){var g0=this;return this.forwardJSONCall(\"getDefinitionAtPosition('\"+u0+\"', \"+U+\")\",function(){return g0.languageService.getDefinitionAtPosition(u0,U)})},G.prototype.getDefinitionAndBoundSpan=function(u0,U){var g0=this;return this.forwardJSONCall(\"getDefinitionAndBoundSpan('\"+u0+\"', \"+U+\")\",function(){return g0.languageService.getDefinitionAndBoundSpan(u0,U)})},G.prototype.getTypeDefinitionAtPosition=function(u0,U){var g0=this;return this.forwardJSONCall(\"getTypeDefinitionAtPosition('\"+u0+\"', \"+U+\")\",function(){return g0.languageService.getTypeDefinitionAtPosition(u0,U)})},G.prototype.getImplementationAtPosition=function(u0,U){var g0=this;return this.forwardJSONCall(\"getImplementationAtPosition('\"+u0+\"', \"+U+\")\",function(){return g0.languageService.getImplementationAtPosition(u0,U)})},G.prototype.getRenameInfo=function(u0,U,g0){var d0=this;return this.forwardJSONCall(\"getRenameInfo('\"+u0+\"', \"+U+\")\",function(){return d0.languageService.getRenameInfo(u0,U,g0)})},G.prototype.getSmartSelectionRange=function(u0,U){var g0=this;return this.forwardJSONCall(\"getSmartSelectionRange('\"+u0+\"', \"+U+\")\",function(){return g0.languageService.getSmartSelectionRange(u0,U)})},G.prototype.findRenameLocations=function(u0,U,g0,d0,P0){var c0=this;return this.forwardJSONCall(\"findRenameLocations('\"+u0+\"', \"+U+\", \"+g0+\", \"+d0+\", \"+P0+\")\",function(){return c0.languageService.findRenameLocations(u0,U,g0,d0,P0)})},G.prototype.getBraceMatchingAtPosition=function(u0,U){var g0=this;return this.forwardJSONCall(\"getBraceMatchingAtPosition('\"+u0+\"', \"+U+\")\",function(){return g0.languageService.getBraceMatchingAtPosition(u0,U)})},G.prototype.isValidBraceCompletionAtPosition=function(u0,U,g0){var d0=this;return this.forwardJSONCall(\"isValidBraceCompletionAtPosition('\"+u0+\"', \"+U+\", \"+g0+\")\",function(){return d0.languageService.isValidBraceCompletionAtPosition(u0,U,g0)})},G.prototype.getSpanOfEnclosingComment=function(u0,U,g0){var d0=this;return this.forwardJSONCall(\"getSpanOfEnclosingComment('\"+u0+\"', \"+U+\")\",function(){return d0.languageService.getSpanOfEnclosingComment(u0,U,g0)})},G.prototype.getIndentationAtPosition=function(u0,U,g0){var d0=this;return this.forwardJSONCall(\"getIndentationAtPosition('\"+u0+\"', \"+U+\")\",function(){var P0=JSON.parse(g0);return d0.languageService.getIndentationAtPosition(u0,U,P0)})},G.prototype.getReferencesAtPosition=function(u0,U){var g0=this;return this.forwardJSONCall(\"getReferencesAtPosition('\"+u0+\"', \"+U+\")\",function(){return g0.languageService.getReferencesAtPosition(u0,U)})},G.prototype.findReferences=function(u0,U){var g0=this;return this.forwardJSONCall(\"findReferences('\"+u0+\"', \"+U+\")\",function(){return g0.languageService.findReferences(u0,U)})},G.prototype.getFileReferences=function(u0){var U=this;return this.forwardJSONCall(\"getFileReferences('\"+u0+\")\",function(){return U.languageService.getFileReferences(u0)})},G.prototype.getOccurrencesAtPosition=function(u0,U){var g0=this;return this.forwardJSONCall(\"getOccurrencesAtPosition('\"+u0+\"', \"+U+\")\",function(){return g0.languageService.getOccurrencesAtPosition(u0,U)})},G.prototype.getDocumentHighlights=function(u0,U,g0){var d0=this;return this.forwardJSONCall(\"getDocumentHighlights('\"+u0+\"', \"+U+\")\",function(){var P0=d0.languageService.getDocumentHighlights(u0,U,JSON.parse(g0)),c0=e.toFileNameLowerCase(e.normalizeSlashes(u0));return e.filter(P0,function(D0){return e.toFileNameLowerCase(e.normalizeSlashes(D0.fileName))===c0})})},G.prototype.getCompletionsAtPosition=function(u0,U,g0){var d0=this;return this.forwardJSONCall(\"getCompletionsAtPosition('\"+u0+\"', \"+U+\", \"+g0+\")\",function(){return d0.languageService.getCompletionsAtPosition(u0,U,g0)})},G.prototype.getCompletionEntryDetails=function(u0,U,g0,d0,P0,c0,D0){var x0=this;return this.forwardJSONCall(\"getCompletionEntryDetails('\"+u0+\"', \"+U+\", '\"+g0+\"')\",function(){var l0=d0===void 0?void 0:JSON.parse(d0);return x0.languageService.getCompletionEntryDetails(u0,U,g0,l0,P0,c0,D0)})},G.prototype.getFormattingEditsForRange=function(u0,U,g0,d0){var P0=this;return this.forwardJSONCall(\"getFormattingEditsForRange('\"+u0+\"', \"+U+\", \"+g0+\")\",function(){var c0=JSON.parse(d0);return P0.languageService.getFormattingEditsForRange(u0,U,g0,c0)})},G.prototype.getFormattingEditsForDocument=function(u0,U){var g0=this;return this.forwardJSONCall(\"getFormattingEditsForDocument('\"+u0+\"')\",function(){var d0=JSON.parse(U);return g0.languageService.getFormattingEditsForDocument(u0,d0)})},G.prototype.getFormattingEditsAfterKeystroke=function(u0,U,g0,d0){var P0=this;return this.forwardJSONCall(\"getFormattingEditsAfterKeystroke('\"+u0+\"', \"+U+\", '\"+g0+\"')\",function(){var c0=JSON.parse(d0);return P0.languageService.getFormattingEditsAfterKeystroke(u0,U,g0,c0)})},G.prototype.getDocCommentTemplateAtPosition=function(u0,U,g0){var d0=this;return this.forwardJSONCall(\"getDocCommentTemplateAtPosition('\"+u0+\"', \"+U+\")\",function(){return d0.languageService.getDocCommentTemplateAtPosition(u0,U,g0)})},G.prototype.getNavigateToItems=function(u0,U,g0){var d0=this;return this.forwardJSONCall(\"getNavigateToItems('\"+u0+\"', \"+U+\", \"+g0+\")\",function(){return d0.languageService.getNavigateToItems(u0,U,g0)})},G.prototype.getNavigationBarItems=function(u0){var U=this;return this.forwardJSONCall(\"getNavigationBarItems('\"+u0+\"')\",function(){return U.languageService.getNavigationBarItems(u0)})},G.prototype.getNavigationTree=function(u0){var U=this;return this.forwardJSONCall(\"getNavigationTree('\"+u0+\"')\",function(){return U.languageService.getNavigationTree(u0)})},G.prototype.getOutliningSpans=function(u0){var U=this;return this.forwardJSONCall(\"getOutliningSpans('\"+u0+\"')\",function(){return U.languageService.getOutliningSpans(u0)})},G.prototype.getTodoComments=function(u0,U){var g0=this;return this.forwardJSONCall(\"getTodoComments('\"+u0+\"')\",function(){return g0.languageService.getTodoComments(u0,JSON.parse(U))})},G.prototype.prepareCallHierarchy=function(u0,U){var g0=this;return this.forwardJSONCall(\"prepareCallHierarchy('\"+u0+\"', \"+U+\")\",function(){return g0.languageService.prepareCallHierarchy(u0,U)})},G.prototype.provideCallHierarchyIncomingCalls=function(u0,U){var g0=this;return this.forwardJSONCall(\"provideCallHierarchyIncomingCalls('\"+u0+\"', \"+U+\")\",function(){return g0.languageService.provideCallHierarchyIncomingCalls(u0,U)})},G.prototype.provideCallHierarchyOutgoingCalls=function(u0,U){var g0=this;return this.forwardJSONCall(\"provideCallHierarchyOutgoingCalls('\"+u0+\"', \"+U+\")\",function(){return g0.languageService.provideCallHierarchyOutgoingCalls(u0,U)})},G.prototype.getEmitOutput=function(u0){var U=this;return this.forwardJSONCall(\"getEmitOutput('\"+u0+\"')\",function(){var g0=U.languageService.getEmitOutput(u0),d0=g0.diagnostics,P0=v1(g0,[\"diagnostics\"]);return $($({},P0),{diagnostics:U.realizeDiagnostics(d0)})})},G.prototype.getEmitOutputObject=function(u0){var U=this;return i0(this.logger,\"getEmitOutput('\"+u0+\"')\",!1,function(){return U.languageService.getEmitOutput(u0)},this.logPerformance)},G.prototype.toggleLineComment=function(u0,U){var g0=this;return this.forwardJSONCall(\"toggleLineComment('\"+u0+\"', '\"+JSON.stringify(U)+\"')\",function(){return g0.languageService.toggleLineComment(u0,U)})},G.prototype.toggleMultilineComment=function(u0,U){var g0=this;return this.forwardJSONCall(\"toggleMultilineComment('\"+u0+\"', '\"+JSON.stringify(U)+\"')\",function(){return g0.languageService.toggleMultilineComment(u0,U)})},G.prototype.commentSelection=function(u0,U){var g0=this;return this.forwardJSONCall(\"commentSelection('\"+u0+\"', '\"+JSON.stringify(U)+\"')\",function(){return g0.languageService.commentSelection(u0,U)})},G.prototype.uncommentSelection=function(u0,U){var g0=this;return this.forwardJSONCall(\"uncommentSelection('\"+u0+\"', '\"+JSON.stringify(U)+\"')\",function(){return g0.languageService.uncommentSelection(u0,U)})},G}(H0);function A(j){return{spans:j.spans.join(\",\"),endOfLineState:j.endOfLineState}}var Z=function(j){function G(u0,U){var g0=j.call(this,u0)||this;return g0.logger=U,g0.logPerformance=!1,g0.classifier=e.createClassifier(),g0}return ex(G,j),G.prototype.getEncodedLexicalClassifications=function(u0,U,g0){var d0=this;return g0===void 0&&(g0=!1),s1(this.logger,\"getEncodedLexicalClassifications\",function(){return A(d0.classifier.getEncodedLexicalClassifications(u0,U,g0))},this.logPerformance)},G.prototype.getClassificationsForLine=function(u0,U,g0){g0===void 0&&(g0=!1);for(var d0=this.classifier.getClassificationsForLine(u0,U,g0),P0=\"\",c0=0,D0=d0.entries;c0<D0.length;c0++){var x0=D0[c0];P0+=x0.length+`\n`,P0+=x0.classification+`\n`}return P0+=d0.finalLexState},G}(H0),A0=function(j){function G(u0,U,g0){var d0=j.call(this,u0)||this;return d0.logger=U,d0.host=g0,d0.logPerformance=!1,d0}return ex(G,j),G.prototype.forwardJSONCall=function(u0,U){return s1(this.logger,u0,U,this.logPerformance)},G.prototype.resolveModuleName=function(u0,U,g0){var d0=this;return this.forwardJSONCall(\"resolveModuleName('\"+u0+\"')\",function(){var P0=JSON.parse(g0),c0=e.resolveModuleName(U,e.normalizeSlashes(u0),P0,d0.host),D0=c0.resolvedModule?c0.resolvedModule.resolvedFileName:void 0;return c0.resolvedModule&&c0.resolvedModule.extension!==\".ts\"&&c0.resolvedModule.extension!==\".tsx\"&&c0.resolvedModule.extension!==\".d.ts\"&&(D0=void 0),{resolvedFileName:D0,failedLookupLocations:c0.failedLookupLocations}})},G.prototype.resolveTypeReferenceDirective=function(u0,U,g0){var d0=this;return this.forwardJSONCall(\"resolveTypeReferenceDirective(\"+u0+\")\",function(){var P0=JSON.parse(g0),c0=e.resolveTypeReferenceDirective(U,e.normalizeSlashes(u0),P0,d0.host);return{resolvedFileName:c0.resolvedTypeReferenceDirective?c0.resolvedTypeReferenceDirective.resolvedFileName:void 0,primary:!c0.resolvedTypeReferenceDirective||c0.resolvedTypeReferenceDirective.primary,failedLookupLocations:c0.failedLookupLocations}})},G.prototype.getPreProcessedFileInfo=function(u0,U){var g0=this;return this.forwardJSONCall(\"getPreProcessedFileInfo('\"+u0+\"')\",function(){var d0=e.preProcessFile(e.getSnapshotText(U),!0,!0);return{referencedFiles:g0.convertFileReferences(d0.referencedFiles),importedFiles:g0.convertFileReferences(d0.importedFiles),ambientExternalModules:d0.ambientExternalModules,isLibFile:d0.isLibFile,typeReferenceDirectives:g0.convertFileReferences(d0.typeReferenceDirectives),libReferenceDirectives:g0.convertFileReferences(d0.libReferenceDirectives)}})},G.prototype.getAutomaticTypeDirectiveNames=function(u0){var U=this;return this.forwardJSONCall(\"getAutomaticTypeDirectiveNames('\"+u0+\"')\",function(){var g0=JSON.parse(u0);return e.getAutomaticTypeDirectiveNames(g0,U.host)})},G.prototype.convertFileReferences=function(u0){if(u0){for(var U=[],g0=0,d0=u0;g0<d0.length;g0++){var P0=d0[g0];U.push({path:e.normalizeSlashes(P0.fileName),position:P0.pos,length:P0.end-P0.pos})}return U}},G.prototype.getTSConfigFileInfo=function(u0,U){var g0=this;return this.forwardJSONCall(\"getTSConfigFileInfo('\"+u0+\"')\",function(){var d0=e.parseJsonText(u0,e.getSnapshotText(U)),P0=e.normalizeSlashes(u0),c0=e.parseJsonSourceFileConfigFileContent(d0,g0.host,e.getDirectoryPath(P0),{},P0);return{options:c0.options,typeAcquisition:c0.typeAcquisition,files:c0.fileNames,raw:c0.raw,errors:E0(D(D([],d0.parseDiagnostics),c0.errors),`\\r\n`)}})},G.prototype.getDefaultCompilationSettings=function(){return this.forwardJSONCall(\"getDefaultCompilationSettings()\",function(){return e.getDefaultCompilerOptions()})},G.prototype.discoverTypings=function(u0){var U=this,g0=e.createGetCanonicalFileName(!1);return this.forwardJSONCall(\"discoverTypings()\",function(){var d0=JSON.parse(u0);return U.safeList===void 0&&(U.safeList=e.JsTyping.loadSafeList(U.host,e.toPath(d0.safeListPath,d0.safeListPath,g0))),e.JsTyping.discoverTypings(U.host,function(P0){return U.logger.log(P0)},d0.fileNames,e.toPath(d0.projectRootPath,d0.projectRootPath,g0),U.safeList,d0.packageNameToTypingLocation,d0.typeAcquisition,d0.unresolvedImports,d0.typesRegistry)})},G}(H0),o0=function(){function j(){this._shims=[]}return j.prototype.getServicesVersion=function(){return e.servicesVersion},j.prototype.createLanguageServiceShim=function(G){try{this.documentRegistry===void 0&&(this.documentRegistry=e.createDocumentRegistry(G.useCaseSensitiveFileNames&&G.useCaseSensitiveFileNames(),G.getCurrentDirectory()));var u0=new J(G),U=e.createLanguageService(u0,this.documentRegistry,!1);return new I(this,G,U)}catch(g0){throw s(G,g0),g0}},j.prototype.createClassifierShim=function(G){try{return new Z(this,G)}catch(u0){throw s(G,u0),u0}},j.prototype.createCoreServicesShim=function(G){try{var u0=new m0(G);return new A0(this,G,u0)}catch(U){throw s(G,U),U}},j.prototype.close=function(){e.clear(this._shims),this.documentRegistry=void 0},j.prototype.registerShim=function(G){this._shims.push(G)},j.prototype.unregisterShim=function(G){for(var u0=0;u0<this._shims.length;u0++)if(this._shims[u0]===G)return void delete this._shims[u0];throw new Error(\"Invalid operation\")},j}();e.TypeScriptServicesFactory=o0})(_0||(_0={})),C.exports&&(C.exports=_0),function(e){var s={since:\"4.0\",warnAfter:\"4.1\",message:\"Use the appropriate method on 'ts.factory' or the 'factory' supplied by your transformation context instead.\"};e.createNodeArray=e.Debug.deprecate(e.factory.createNodeArray,s),e.createNumericLiteral=e.Debug.deprecate(e.factory.createNumericLiteral,s),e.createBigIntLiteral=e.Debug.deprecate(e.factory.createBigIntLiteral,s),e.createStringLiteral=e.Debug.deprecate(e.factory.createStringLiteral,s),e.createStringLiteralFromNode=e.Debug.deprecate(e.factory.createStringLiteralFromNode,s),e.createRegularExpressionLiteral=e.Debug.deprecate(e.factory.createRegularExpressionLiteral,s),e.createLoopVariable=e.Debug.deprecate(e.factory.createLoopVariable,s),e.createUniqueName=e.Debug.deprecate(e.factory.createUniqueName,s),e.createPrivateIdentifier=e.Debug.deprecate(e.factory.createPrivateIdentifier,s),e.createSuper=e.Debug.deprecate(e.factory.createSuper,s),e.createThis=e.Debug.deprecate(e.factory.createThis,s),e.createNull=e.Debug.deprecate(e.factory.createNull,s),e.createTrue=e.Debug.deprecate(e.factory.createTrue,s),e.createFalse=e.Debug.deprecate(e.factory.createFalse,s),e.createModifier=e.Debug.deprecate(e.factory.createModifier,s),e.createModifiersFromModifierFlags=e.Debug.deprecate(e.factory.createModifiersFromModifierFlags,s),e.createQualifiedName=e.Debug.deprecate(e.factory.createQualifiedName,s),e.updateQualifiedName=e.Debug.deprecate(e.factory.updateQualifiedName,s),e.createComputedPropertyName=e.Debug.deprecate(e.factory.createComputedPropertyName,s),e.updateComputedPropertyName=e.Debug.deprecate(e.factory.updateComputedPropertyName,s),e.createTypeParameterDeclaration=e.Debug.deprecate(e.factory.createTypeParameterDeclaration,s),e.updateTypeParameterDeclaration=e.Debug.deprecate(e.factory.updateTypeParameterDeclaration,s),e.createParameter=e.Debug.deprecate(e.factory.createParameterDeclaration,s),e.updateParameter=e.Debug.deprecate(e.factory.updateParameterDeclaration,s),e.createDecorator=e.Debug.deprecate(e.factory.createDecorator,s),e.updateDecorator=e.Debug.deprecate(e.factory.updateDecorator,s),e.createProperty=e.Debug.deprecate(e.factory.createPropertyDeclaration,s),e.updateProperty=e.Debug.deprecate(e.factory.updatePropertyDeclaration,s),e.createMethod=e.Debug.deprecate(e.factory.createMethodDeclaration,s),e.updateMethod=e.Debug.deprecate(e.factory.updateMethodDeclaration,s),e.createConstructor=e.Debug.deprecate(e.factory.createConstructorDeclaration,s),e.updateConstructor=e.Debug.deprecate(e.factory.updateConstructorDeclaration,s),e.createGetAccessor=e.Debug.deprecate(e.factory.createGetAccessorDeclaration,s),e.updateGetAccessor=e.Debug.deprecate(e.factory.updateGetAccessorDeclaration,s),e.createSetAccessor=e.Debug.deprecate(e.factory.createSetAccessorDeclaration,s),e.updateSetAccessor=e.Debug.deprecate(e.factory.updateSetAccessorDeclaration,s),e.createCallSignature=e.Debug.deprecate(e.factory.createCallSignature,s),e.updateCallSignature=e.Debug.deprecate(e.factory.updateCallSignature,s),e.createConstructSignature=e.Debug.deprecate(e.factory.createConstructSignature,s),e.updateConstructSignature=e.Debug.deprecate(e.factory.updateConstructSignature,s),e.updateIndexSignature=e.Debug.deprecate(e.factory.updateIndexSignature,s),e.createKeywordTypeNode=e.Debug.deprecate(e.factory.createKeywordTypeNode,s),e.createTypePredicateNodeWithModifier=e.Debug.deprecate(e.factory.createTypePredicateNode,s),e.updateTypePredicateNodeWithModifier=e.Debug.deprecate(e.factory.updateTypePredicateNode,s),e.createTypeReferenceNode=e.Debug.deprecate(e.factory.createTypeReferenceNode,s),e.updateTypeReferenceNode=e.Debug.deprecate(e.factory.updateTypeReferenceNode,s),e.createFunctionTypeNode=e.Debug.deprecate(e.factory.createFunctionTypeNode,s),e.updateFunctionTypeNode=e.Debug.deprecate(e.factory.updateFunctionTypeNode,s),e.createConstructorTypeNode=e.Debug.deprecate(function(X,J,m0){return e.factory.createConstructorTypeNode(void 0,X,J,m0)},s),e.updateConstructorTypeNode=e.Debug.deprecate(function(X,J,m0,s1){return e.factory.updateConstructorTypeNode(X,X.modifiers,J,m0,s1)},s),e.createTypeQueryNode=e.Debug.deprecate(e.factory.createTypeQueryNode,s),e.updateTypeQueryNode=e.Debug.deprecate(e.factory.updateTypeQueryNode,s),e.createTypeLiteralNode=e.Debug.deprecate(e.factory.createTypeLiteralNode,s),e.updateTypeLiteralNode=e.Debug.deprecate(e.factory.updateTypeLiteralNode,s),e.createArrayTypeNode=e.Debug.deprecate(e.factory.createArrayTypeNode,s),e.updateArrayTypeNode=e.Debug.deprecate(e.factory.updateArrayTypeNode,s),e.createTupleTypeNode=e.Debug.deprecate(e.factory.createTupleTypeNode,s),e.updateTupleTypeNode=e.Debug.deprecate(e.factory.updateTupleTypeNode,s),e.createOptionalTypeNode=e.Debug.deprecate(e.factory.createOptionalTypeNode,s),e.updateOptionalTypeNode=e.Debug.deprecate(e.factory.updateOptionalTypeNode,s),e.createRestTypeNode=e.Debug.deprecate(e.factory.createRestTypeNode,s),e.updateRestTypeNode=e.Debug.deprecate(e.factory.updateRestTypeNode,s),e.createUnionTypeNode=e.Debug.deprecate(e.factory.createUnionTypeNode,s),e.updateUnionTypeNode=e.Debug.deprecate(e.factory.updateUnionTypeNode,s),e.createIntersectionTypeNode=e.Debug.deprecate(e.factory.createIntersectionTypeNode,s),e.updateIntersectionTypeNode=e.Debug.deprecate(e.factory.updateIntersectionTypeNode,s),e.createConditionalTypeNode=e.Debug.deprecate(e.factory.createConditionalTypeNode,s),e.updateConditionalTypeNode=e.Debug.deprecate(e.factory.updateConditionalTypeNode,s),e.createInferTypeNode=e.Debug.deprecate(e.factory.createInferTypeNode,s),e.updateInferTypeNode=e.Debug.deprecate(e.factory.updateInferTypeNode,s),e.createImportTypeNode=e.Debug.deprecate(e.factory.createImportTypeNode,s),e.updateImportTypeNode=e.Debug.deprecate(e.factory.updateImportTypeNode,s),e.createParenthesizedType=e.Debug.deprecate(e.factory.createParenthesizedType,s),e.updateParenthesizedType=e.Debug.deprecate(e.factory.updateParenthesizedType,s),e.createThisTypeNode=e.Debug.deprecate(e.factory.createThisTypeNode,s),e.updateTypeOperatorNode=e.Debug.deprecate(e.factory.updateTypeOperatorNode,s),e.createIndexedAccessTypeNode=e.Debug.deprecate(e.factory.createIndexedAccessTypeNode,s),e.updateIndexedAccessTypeNode=e.Debug.deprecate(e.factory.updateIndexedAccessTypeNode,s),e.createMappedTypeNode=e.Debug.deprecate(e.factory.createMappedTypeNode,s),e.updateMappedTypeNode=e.Debug.deprecate(e.factory.updateMappedTypeNode,s),e.createLiteralTypeNode=e.Debug.deprecate(e.factory.createLiteralTypeNode,s),e.updateLiteralTypeNode=e.Debug.deprecate(e.factory.updateLiteralTypeNode,s),e.createObjectBindingPattern=e.Debug.deprecate(e.factory.createObjectBindingPattern,s),e.updateObjectBindingPattern=e.Debug.deprecate(e.factory.updateObjectBindingPattern,s),e.createArrayBindingPattern=e.Debug.deprecate(e.factory.createArrayBindingPattern,s),e.updateArrayBindingPattern=e.Debug.deprecate(e.factory.updateArrayBindingPattern,s),e.createBindingElement=e.Debug.deprecate(e.factory.createBindingElement,s),e.updateBindingElement=e.Debug.deprecate(e.factory.updateBindingElement,s),e.createArrayLiteral=e.Debug.deprecate(e.factory.createArrayLiteralExpression,s),e.updateArrayLiteral=e.Debug.deprecate(e.factory.updateArrayLiteralExpression,s),e.createObjectLiteral=e.Debug.deprecate(e.factory.createObjectLiteralExpression,s),e.updateObjectLiteral=e.Debug.deprecate(e.factory.updateObjectLiteralExpression,s),e.createPropertyAccess=e.Debug.deprecate(e.factory.createPropertyAccessExpression,s),e.updatePropertyAccess=e.Debug.deprecate(e.factory.updatePropertyAccessExpression,s),e.createPropertyAccessChain=e.Debug.deprecate(e.factory.createPropertyAccessChain,s),e.updatePropertyAccessChain=e.Debug.deprecate(e.factory.updatePropertyAccessChain,s),e.createElementAccess=e.Debug.deprecate(e.factory.createElementAccessExpression,s),e.updateElementAccess=e.Debug.deprecate(e.factory.updateElementAccessExpression,s),e.createElementAccessChain=e.Debug.deprecate(e.factory.createElementAccessChain,s),e.updateElementAccessChain=e.Debug.deprecate(e.factory.updateElementAccessChain,s),e.createCall=e.Debug.deprecate(e.factory.createCallExpression,s),e.updateCall=e.Debug.deprecate(e.factory.updateCallExpression,s),e.createCallChain=e.Debug.deprecate(e.factory.createCallChain,s),e.updateCallChain=e.Debug.deprecate(e.factory.updateCallChain,s),e.createNew=e.Debug.deprecate(e.factory.createNewExpression,s),e.updateNew=e.Debug.deprecate(e.factory.updateNewExpression,s),e.createTypeAssertion=e.Debug.deprecate(e.factory.createTypeAssertion,s),e.updateTypeAssertion=e.Debug.deprecate(e.factory.updateTypeAssertion,s),e.createParen=e.Debug.deprecate(e.factory.createParenthesizedExpression,s),e.updateParen=e.Debug.deprecate(e.factory.updateParenthesizedExpression,s),e.createFunctionExpression=e.Debug.deprecate(e.factory.createFunctionExpression,s),e.updateFunctionExpression=e.Debug.deprecate(e.factory.updateFunctionExpression,s),e.createDelete=e.Debug.deprecate(e.factory.createDeleteExpression,s),e.updateDelete=e.Debug.deprecate(e.factory.updateDeleteExpression,s),e.createTypeOf=e.Debug.deprecate(e.factory.createTypeOfExpression,s),e.updateTypeOf=e.Debug.deprecate(e.factory.updateTypeOfExpression,s),e.createVoid=e.Debug.deprecate(e.factory.createVoidExpression,s),e.updateVoid=e.Debug.deprecate(e.factory.updateVoidExpression,s),e.createAwait=e.Debug.deprecate(e.factory.createAwaitExpression,s),e.updateAwait=e.Debug.deprecate(e.factory.updateAwaitExpression,s),e.createPrefix=e.Debug.deprecate(e.factory.createPrefixUnaryExpression,s),e.updatePrefix=e.Debug.deprecate(e.factory.updatePrefixUnaryExpression,s),e.createPostfix=e.Debug.deprecate(e.factory.createPostfixUnaryExpression,s),e.updatePostfix=e.Debug.deprecate(e.factory.updatePostfixUnaryExpression,s),e.createBinary=e.Debug.deprecate(e.factory.createBinaryExpression,s),e.updateConditional=e.Debug.deprecate(e.factory.updateConditionalExpression,s),e.createTemplateExpression=e.Debug.deprecate(e.factory.createTemplateExpression,s),e.updateTemplateExpression=e.Debug.deprecate(e.factory.updateTemplateExpression,s),e.createTemplateHead=e.Debug.deprecate(e.factory.createTemplateHead,s),e.createTemplateMiddle=e.Debug.deprecate(e.factory.createTemplateMiddle,s),e.createTemplateTail=e.Debug.deprecate(e.factory.createTemplateTail,s),e.createNoSubstitutionTemplateLiteral=e.Debug.deprecate(e.factory.createNoSubstitutionTemplateLiteral,s),e.updateYield=e.Debug.deprecate(e.factory.updateYieldExpression,s),e.createSpread=e.Debug.deprecate(e.factory.createSpreadElement,s),e.updateSpread=e.Debug.deprecate(e.factory.updateSpreadElement,s),e.createOmittedExpression=e.Debug.deprecate(e.factory.createOmittedExpression,s),e.createAsExpression=e.Debug.deprecate(e.factory.createAsExpression,s),e.updateAsExpression=e.Debug.deprecate(e.factory.updateAsExpression,s),e.createNonNullExpression=e.Debug.deprecate(e.factory.createNonNullExpression,s),e.updateNonNullExpression=e.Debug.deprecate(e.factory.updateNonNullExpression,s),e.createNonNullChain=e.Debug.deprecate(e.factory.createNonNullChain,s),e.updateNonNullChain=e.Debug.deprecate(e.factory.updateNonNullChain,s),e.createMetaProperty=e.Debug.deprecate(e.factory.createMetaProperty,s),e.updateMetaProperty=e.Debug.deprecate(e.factory.updateMetaProperty,s),e.createTemplateSpan=e.Debug.deprecate(e.factory.createTemplateSpan,s),e.updateTemplateSpan=e.Debug.deprecate(e.factory.updateTemplateSpan,s),e.createSemicolonClassElement=e.Debug.deprecate(e.factory.createSemicolonClassElement,s),e.createBlock=e.Debug.deprecate(e.factory.createBlock,s),e.updateBlock=e.Debug.deprecate(e.factory.updateBlock,s),e.createVariableStatement=e.Debug.deprecate(e.factory.createVariableStatement,s),e.updateVariableStatement=e.Debug.deprecate(e.factory.updateVariableStatement,s),e.createEmptyStatement=e.Debug.deprecate(e.factory.createEmptyStatement,s),e.createExpressionStatement=e.Debug.deprecate(e.factory.createExpressionStatement,s),e.updateExpressionStatement=e.Debug.deprecate(e.factory.updateExpressionStatement,s),e.createStatement=e.Debug.deprecate(e.factory.createExpressionStatement,s),e.updateStatement=e.Debug.deprecate(e.factory.updateExpressionStatement,s),e.createIf=e.Debug.deprecate(e.factory.createIfStatement,s),e.updateIf=e.Debug.deprecate(e.factory.updateIfStatement,s),e.createDo=e.Debug.deprecate(e.factory.createDoStatement,s),e.updateDo=e.Debug.deprecate(e.factory.updateDoStatement,s),e.createWhile=e.Debug.deprecate(e.factory.createWhileStatement,s),e.updateWhile=e.Debug.deprecate(e.factory.updateWhileStatement,s),e.createFor=e.Debug.deprecate(e.factory.createForStatement,s),e.updateFor=e.Debug.deprecate(e.factory.updateForStatement,s),e.createForIn=e.Debug.deprecate(e.factory.createForInStatement,s),e.updateForIn=e.Debug.deprecate(e.factory.updateForInStatement,s),e.createForOf=e.Debug.deprecate(e.factory.createForOfStatement,s),e.updateForOf=e.Debug.deprecate(e.factory.updateForOfStatement,s),e.createContinue=e.Debug.deprecate(e.factory.createContinueStatement,s),e.updateContinue=e.Debug.deprecate(e.factory.updateContinueStatement,s),e.createBreak=e.Debug.deprecate(e.factory.createBreakStatement,s),e.updateBreak=e.Debug.deprecate(e.factory.updateBreakStatement,s),e.createReturn=e.Debug.deprecate(e.factory.createReturnStatement,s),e.updateReturn=e.Debug.deprecate(e.factory.updateReturnStatement,s),e.createWith=e.Debug.deprecate(e.factory.createWithStatement,s),e.updateWith=e.Debug.deprecate(e.factory.updateWithStatement,s),e.createSwitch=e.Debug.deprecate(e.factory.createSwitchStatement,s),e.updateSwitch=e.Debug.deprecate(e.factory.updateSwitchStatement,s),e.createLabel=e.Debug.deprecate(e.factory.createLabeledStatement,s),e.updateLabel=e.Debug.deprecate(e.factory.updateLabeledStatement,s),e.createThrow=e.Debug.deprecate(e.factory.createThrowStatement,s),e.updateThrow=e.Debug.deprecate(e.factory.updateThrowStatement,s),e.createTry=e.Debug.deprecate(e.factory.createTryStatement,s),e.updateTry=e.Debug.deprecate(e.factory.updateTryStatement,s),e.createDebuggerStatement=e.Debug.deprecate(e.factory.createDebuggerStatement,s),e.createVariableDeclarationList=e.Debug.deprecate(e.factory.createVariableDeclarationList,s),e.updateVariableDeclarationList=e.Debug.deprecate(e.factory.updateVariableDeclarationList,s),e.createFunctionDeclaration=e.Debug.deprecate(e.factory.createFunctionDeclaration,s),e.updateFunctionDeclaration=e.Debug.deprecate(e.factory.updateFunctionDeclaration,s),e.createClassDeclaration=e.Debug.deprecate(e.factory.createClassDeclaration,s),e.updateClassDeclaration=e.Debug.deprecate(e.factory.updateClassDeclaration,s),e.createInterfaceDeclaration=e.Debug.deprecate(e.factory.createInterfaceDeclaration,s),e.updateInterfaceDeclaration=e.Debug.deprecate(e.factory.updateInterfaceDeclaration,s),e.createTypeAliasDeclaration=e.Debug.deprecate(e.factory.createTypeAliasDeclaration,s),e.updateTypeAliasDeclaration=e.Debug.deprecate(e.factory.updateTypeAliasDeclaration,s),e.createEnumDeclaration=e.Debug.deprecate(e.factory.createEnumDeclaration,s),e.updateEnumDeclaration=e.Debug.deprecate(e.factory.updateEnumDeclaration,s),e.createModuleDeclaration=e.Debug.deprecate(e.factory.createModuleDeclaration,s),e.updateModuleDeclaration=e.Debug.deprecate(e.factory.updateModuleDeclaration,s),e.createModuleBlock=e.Debug.deprecate(e.factory.createModuleBlock,s),e.updateModuleBlock=e.Debug.deprecate(e.factory.updateModuleBlock,s),e.createCaseBlock=e.Debug.deprecate(e.factory.createCaseBlock,s),e.updateCaseBlock=e.Debug.deprecate(e.factory.updateCaseBlock,s),e.createNamespaceExportDeclaration=e.Debug.deprecate(e.factory.createNamespaceExportDeclaration,s),e.updateNamespaceExportDeclaration=e.Debug.deprecate(e.factory.updateNamespaceExportDeclaration,s),e.createImportEqualsDeclaration=e.Debug.deprecate(e.factory.createImportEqualsDeclaration,s),e.updateImportEqualsDeclaration=e.Debug.deprecate(e.factory.updateImportEqualsDeclaration,s),e.createImportDeclaration=e.Debug.deprecate(e.factory.createImportDeclaration,s),e.updateImportDeclaration=e.Debug.deprecate(e.factory.updateImportDeclaration,s),e.createNamespaceImport=e.Debug.deprecate(e.factory.createNamespaceImport,s),e.updateNamespaceImport=e.Debug.deprecate(e.factory.updateNamespaceImport,s),e.createNamedImports=e.Debug.deprecate(e.factory.createNamedImports,s),e.updateNamedImports=e.Debug.deprecate(e.factory.updateNamedImports,s),e.createImportSpecifier=e.Debug.deprecate(e.factory.createImportSpecifier,s),e.updateImportSpecifier=e.Debug.deprecate(e.factory.updateImportSpecifier,s),e.createExportAssignment=e.Debug.deprecate(e.factory.createExportAssignment,s),e.updateExportAssignment=e.Debug.deprecate(e.factory.updateExportAssignment,s),e.createNamedExports=e.Debug.deprecate(e.factory.createNamedExports,s),e.updateNamedExports=e.Debug.deprecate(e.factory.updateNamedExports,s),e.createExportSpecifier=e.Debug.deprecate(e.factory.createExportSpecifier,s),e.updateExportSpecifier=e.Debug.deprecate(e.factory.updateExportSpecifier,s),e.createExternalModuleReference=e.Debug.deprecate(e.factory.createExternalModuleReference,s),e.updateExternalModuleReference=e.Debug.deprecate(e.factory.updateExternalModuleReference,s),e.createJSDocTypeExpression=e.Debug.deprecate(e.factory.createJSDocTypeExpression,s),e.createJSDocTypeTag=e.Debug.deprecate(e.factory.createJSDocTypeTag,s),e.createJSDocReturnTag=e.Debug.deprecate(e.factory.createJSDocReturnTag,s),e.createJSDocThisTag=e.Debug.deprecate(e.factory.createJSDocThisTag,s),e.createJSDocComment=e.Debug.deprecate(e.factory.createJSDocComment,s),e.createJSDocParameterTag=e.Debug.deprecate(e.factory.createJSDocParameterTag,s),e.createJSDocClassTag=e.Debug.deprecate(e.factory.createJSDocClassTag,s),e.createJSDocAugmentsTag=e.Debug.deprecate(e.factory.createJSDocAugmentsTag,s),e.createJSDocEnumTag=e.Debug.deprecate(e.factory.createJSDocEnumTag,s),e.createJSDocTemplateTag=e.Debug.deprecate(e.factory.createJSDocTemplateTag,s),e.createJSDocTypedefTag=e.Debug.deprecate(e.factory.createJSDocTypedefTag,s),e.createJSDocCallbackTag=e.Debug.deprecate(e.factory.createJSDocCallbackTag,s),e.createJSDocSignature=e.Debug.deprecate(e.factory.createJSDocSignature,s),e.createJSDocPropertyTag=e.Debug.deprecate(e.factory.createJSDocPropertyTag,s),e.createJSDocTypeLiteral=e.Debug.deprecate(e.factory.createJSDocTypeLiteral,s),e.createJSDocImplementsTag=e.Debug.deprecate(e.factory.createJSDocImplementsTag,s),e.createJSDocAuthorTag=e.Debug.deprecate(e.factory.createJSDocAuthorTag,s),e.createJSDocPublicTag=e.Debug.deprecate(e.factory.createJSDocPublicTag,s),e.createJSDocPrivateTag=e.Debug.deprecate(e.factory.createJSDocPrivateTag,s),e.createJSDocProtectedTag=e.Debug.deprecate(e.factory.createJSDocProtectedTag,s),e.createJSDocReadonlyTag=e.Debug.deprecate(e.factory.createJSDocReadonlyTag,s),e.createJSDocTag=e.Debug.deprecate(e.factory.createJSDocUnknownTag,s),e.createJsxElement=e.Debug.deprecate(e.factory.createJsxElement,s),e.updateJsxElement=e.Debug.deprecate(e.factory.updateJsxElement,s),e.createJsxSelfClosingElement=e.Debug.deprecate(e.factory.createJsxSelfClosingElement,s),e.updateJsxSelfClosingElement=e.Debug.deprecate(e.factory.updateJsxSelfClosingElement,s),e.createJsxOpeningElement=e.Debug.deprecate(e.factory.createJsxOpeningElement,s),e.updateJsxOpeningElement=e.Debug.deprecate(e.factory.updateJsxOpeningElement,s),e.createJsxClosingElement=e.Debug.deprecate(e.factory.createJsxClosingElement,s),e.updateJsxClosingElement=e.Debug.deprecate(e.factory.updateJsxClosingElement,s),e.createJsxFragment=e.Debug.deprecate(e.factory.createJsxFragment,s),e.createJsxText=e.Debug.deprecate(e.factory.createJsxText,s),e.updateJsxText=e.Debug.deprecate(e.factory.updateJsxText,s),e.createJsxOpeningFragment=e.Debug.deprecate(e.factory.createJsxOpeningFragment,s),e.createJsxJsxClosingFragment=e.Debug.deprecate(e.factory.createJsxJsxClosingFragment,s),e.updateJsxFragment=e.Debug.deprecate(e.factory.updateJsxFragment,s),e.createJsxAttribute=e.Debug.deprecate(e.factory.createJsxAttribute,s),e.updateJsxAttribute=e.Debug.deprecate(e.factory.updateJsxAttribute,s),e.createJsxAttributes=e.Debug.deprecate(e.factory.createJsxAttributes,s),e.updateJsxAttributes=e.Debug.deprecate(e.factory.updateJsxAttributes,s),e.createJsxSpreadAttribute=e.Debug.deprecate(e.factory.createJsxSpreadAttribute,s),e.updateJsxSpreadAttribute=e.Debug.deprecate(e.factory.updateJsxSpreadAttribute,s),e.createJsxExpression=e.Debug.deprecate(e.factory.createJsxExpression,s),e.updateJsxExpression=e.Debug.deprecate(e.factory.updateJsxExpression,s),e.createCaseClause=e.Debug.deprecate(e.factory.createCaseClause,s),e.updateCaseClause=e.Debug.deprecate(e.factory.updateCaseClause,s),e.createDefaultClause=e.Debug.deprecate(e.factory.createDefaultClause,s),e.updateDefaultClause=e.Debug.deprecate(e.factory.updateDefaultClause,s),e.createHeritageClause=e.Debug.deprecate(e.factory.createHeritageClause,s),e.updateHeritageClause=e.Debug.deprecate(e.factory.updateHeritageClause,s),e.createCatchClause=e.Debug.deprecate(e.factory.createCatchClause,s),e.updateCatchClause=e.Debug.deprecate(e.factory.updateCatchClause,s),e.createPropertyAssignment=e.Debug.deprecate(e.factory.createPropertyAssignment,s),e.updatePropertyAssignment=e.Debug.deprecate(e.factory.updatePropertyAssignment,s),e.createShorthandPropertyAssignment=e.Debug.deprecate(e.factory.createShorthandPropertyAssignment,s),e.updateShorthandPropertyAssignment=e.Debug.deprecate(e.factory.updateShorthandPropertyAssignment,s),e.createSpreadAssignment=e.Debug.deprecate(e.factory.createSpreadAssignment,s),e.updateSpreadAssignment=e.Debug.deprecate(e.factory.updateSpreadAssignment,s),e.createEnumMember=e.Debug.deprecate(e.factory.createEnumMember,s),e.updateEnumMember=e.Debug.deprecate(e.factory.updateEnumMember,s),e.updateSourceFileNode=e.Debug.deprecate(e.factory.updateSourceFile,s),e.createNotEmittedStatement=e.Debug.deprecate(e.factory.createNotEmittedStatement,s),e.createPartiallyEmittedExpression=e.Debug.deprecate(e.factory.createPartiallyEmittedExpression,s),e.updatePartiallyEmittedExpression=e.Debug.deprecate(e.factory.updatePartiallyEmittedExpression,s),e.createCommaList=e.Debug.deprecate(e.factory.createCommaListExpression,s),e.updateCommaList=e.Debug.deprecate(e.factory.updateCommaListExpression,s),e.createBundle=e.Debug.deprecate(e.factory.createBundle,s),e.updateBundle=e.Debug.deprecate(e.factory.updateBundle,s),e.createImmediatelyInvokedFunctionExpression=e.Debug.deprecate(e.factory.createImmediatelyInvokedFunctionExpression,s),e.createImmediatelyInvokedArrowFunction=e.Debug.deprecate(e.factory.createImmediatelyInvokedArrowFunction,s),e.createVoidZero=e.Debug.deprecate(e.factory.createVoidZero,s),e.createExportDefault=e.Debug.deprecate(e.factory.createExportDefault,s),e.createExternalModuleExport=e.Debug.deprecate(e.factory.createExternalModuleExport,s),e.createNamespaceExport=e.Debug.deprecate(e.factory.createNamespaceExport,s),e.updateNamespaceExport=e.Debug.deprecate(e.factory.updateNamespaceExport,s),e.createToken=e.Debug.deprecate(function(X){return e.factory.createToken(X)},s),e.createIdentifier=e.Debug.deprecate(function(X){return e.factory.createIdentifier(X,void 0,void 0)},s),e.createTempVariable=e.Debug.deprecate(function(X){return e.factory.createTempVariable(X,void 0)},s),e.getGeneratedNameForNode=e.Debug.deprecate(function(X){return e.factory.getGeneratedNameForNode(X,void 0)},s),e.createOptimisticUniqueName=e.Debug.deprecate(function(X){return e.factory.createUniqueName(X,16)},s),e.createFileLevelUniqueName=e.Debug.deprecate(function(X){return e.factory.createUniqueName(X,48)},s),e.createIndexSignature=e.Debug.deprecate(function(X,J,m0,s1){return e.factory.createIndexSignature(X,J,m0,s1)},s),e.createTypePredicateNode=e.Debug.deprecate(function(X,J){return e.factory.createTypePredicateNode(void 0,X,J)},s),e.updateTypePredicateNode=e.Debug.deprecate(function(X,J,m0){return e.factory.updateTypePredicateNode(X,void 0,J,m0)},s),e.createLiteral=e.Debug.deprecate(function(X){return typeof X==\"number\"?e.factory.createNumericLiteral(X):typeof X==\"object\"&&\"base10Value\"in X?e.factory.createBigIntLiteral(X):typeof X==\"boolean\"?X?e.factory.createTrue():e.factory.createFalse():typeof X==\"string\"?e.factory.createStringLiteral(X,void 0):e.factory.createStringLiteralFromNode(X)},{since:\"4.0\",warnAfter:\"4.1\",message:\"Use `factory.createStringLiteral`, `factory.createStringLiteralFromNode`, `factory.createNumericLiteral`, `factory.createBigIntLiteral`, `factory.createTrue`, `factory.createFalse`, or the factory supplied by your transformation context instead.\"}),e.createMethodSignature=e.Debug.deprecate(function(X,J,m0,s1,i0){return e.factory.createMethodSignature(void 0,s1,i0,X,J,m0)},s),e.updateMethodSignature=e.Debug.deprecate(function(X,J,m0,s1,i0,H0){return e.factory.updateMethodSignature(X,X.modifiers,i0,H0,J,m0,s1)},s),e.createTypeOperatorNode=e.Debug.deprecate(function(X,J){var m0;return J?m0=X:(J=X,m0=138),e.factory.createTypeOperatorNode(m0,J)},s),e.createTaggedTemplate=e.Debug.deprecate(function(X,J,m0){var s1;return m0?s1=J:m0=J,e.factory.createTaggedTemplateExpression(X,s1,m0)},s),e.updateTaggedTemplate=e.Debug.deprecate(function(X,J,m0,s1){var i0;return s1?i0=m0:s1=m0,e.factory.updateTaggedTemplateExpression(X,J,i0,s1)},s),e.updateBinary=e.Debug.deprecate(function(X,J,m0,s1){return s1===void 0&&(s1=X.operatorToken),typeof s1==\"number\"&&(s1=s1===X.operatorToken.kind?X.operatorToken:e.factory.createToken(s1)),e.factory.updateBinaryExpression(X,J,s1,m0)},s),e.createConditional=e.Debug.deprecate(function(X,J,m0,s1,i0){return arguments.length===5?e.factory.createConditionalExpression(X,J,m0,s1,i0):arguments.length===3?e.factory.createConditionalExpression(X,e.factory.createToken(57),J,e.factory.createToken(58),m0):e.Debug.fail(\"Argument count mismatch\")},s),e.createYield=e.Debug.deprecate(function(X,J){var m0;return J?m0=X:J=X,e.factory.createYieldExpression(m0,J)},s),e.createClassExpression=e.Debug.deprecate(function(X,J,m0,s1,i0){return e.factory.createClassExpression(void 0,X,J,m0,s1,i0)},s),e.updateClassExpression=e.Debug.deprecate(function(X,J,m0,s1,i0,H0){return e.factory.updateClassExpression(X,void 0,J,m0,s1,i0,H0)},s),e.createPropertySignature=e.Debug.deprecate(function(X,J,m0,s1,i0){var H0=e.factory.createPropertySignature(X,J,m0,s1);return H0.initializer=i0,H0},s),e.updatePropertySignature=e.Debug.deprecate(function(X,J,m0,s1,i0,H0){var E0=e.factory.updatePropertySignature(X,J,m0,s1,i0);return X.initializer!==H0&&(E0===X&&(E0=e.factory.cloneNode(X)),E0.initializer=H0),E0},s),e.createExpressionWithTypeArguments=e.Debug.deprecate(function(X,J){return e.factory.createExpressionWithTypeArguments(J,X)},s),e.updateExpressionWithTypeArguments=e.Debug.deprecate(function(X,J,m0){return e.factory.updateExpressionWithTypeArguments(X,m0,J)},s),e.createArrowFunction=e.Debug.deprecate(function(X,J,m0,s1,i0,H0){return arguments.length===6?e.factory.createArrowFunction(X,J,m0,s1,i0,H0):arguments.length===5?e.factory.createArrowFunction(X,J,m0,s1,void 0,i0):e.Debug.fail(\"Argument count mismatch\")},s),e.updateArrowFunction=e.Debug.deprecate(function(X,J,m0,s1,i0,H0,E0){return arguments.length===7?e.factory.updateArrowFunction(X,J,m0,s1,i0,H0,E0):arguments.length===6?e.factory.updateArrowFunction(X,J,m0,s1,i0,X.equalsGreaterThanToken,H0):e.Debug.fail(\"Argument count mismatch\")},s),e.createVariableDeclaration=e.Debug.deprecate(function(X,J,m0,s1){return arguments.length===4?e.factory.createVariableDeclaration(X,J,m0,s1):arguments.length>=1&&arguments.length<=3?e.factory.createVariableDeclaration(X,void 0,J,m0):e.Debug.fail(\"Argument count mismatch\")},s),e.updateVariableDeclaration=e.Debug.deprecate(function(X,J,m0,s1,i0){return arguments.length===5?e.factory.updateVariableDeclaration(X,J,m0,s1,i0):arguments.length===4?e.factory.updateVariableDeclaration(X,J,X.exclamationToken,m0,s1):e.Debug.fail(\"Argument count mismatch\")},s),e.createImportClause=e.Debug.deprecate(function(X,J,m0){return m0===void 0&&(m0=!1),e.factory.createImportClause(m0,X,J)},s),e.updateImportClause=e.Debug.deprecate(function(X,J,m0,s1){return e.factory.updateImportClause(X,s1,J,m0)},s),e.createExportDeclaration=e.Debug.deprecate(function(X,J,m0,s1,i0){return i0===void 0&&(i0=!1),e.factory.createExportDeclaration(X,J,i0,m0,s1)},s),e.updateExportDeclaration=e.Debug.deprecate(function(X,J,m0,s1,i0,H0){return e.factory.updateExportDeclaration(X,J,m0,H0,s1,i0)},s),e.createJSDocParamTag=e.Debug.deprecate(function(X,J,m0,s1){return e.factory.createJSDocParameterTag(void 0,X,J,m0,!1,s1?e.factory.createNodeArray([e.factory.createJSDocText(s1)]):void 0)},s),e.createComma=e.Debug.deprecate(function(X,J){return e.factory.createComma(X,J)},s),e.createLessThan=e.Debug.deprecate(function(X,J){return e.factory.createLessThan(X,J)},s),e.createAssignment=e.Debug.deprecate(function(X,J){return e.factory.createAssignment(X,J)},s),e.createStrictEquality=e.Debug.deprecate(function(X,J){return e.factory.createStrictEquality(X,J)},s),e.createStrictInequality=e.Debug.deprecate(function(X,J){return e.factory.createStrictInequality(X,J)},s),e.createAdd=e.Debug.deprecate(function(X,J){return e.factory.createAdd(X,J)},s),e.createSubtract=e.Debug.deprecate(function(X,J){return e.factory.createSubtract(X,J)},s),e.createLogicalAnd=e.Debug.deprecate(function(X,J){return e.factory.createLogicalAnd(X,J)},s),e.createLogicalOr=e.Debug.deprecate(function(X,J){return e.factory.createLogicalOr(X,J)},s),e.createPostfixIncrement=e.Debug.deprecate(function(X){return e.factory.createPostfixIncrement(X)},s),e.createLogicalNot=e.Debug.deprecate(function(X){return e.factory.createLogicalNot(X)},s),e.createNode=e.Debug.deprecate(function(X,J,m0){return J===void 0&&(J=0),m0===void 0&&(m0=0),e.setTextRangePosEnd(X===298?e.parseBaseNodeFactory.createBaseSourceFileNode(X):X===78?e.parseBaseNodeFactory.createBaseIdentifierNode(X):X===79?e.parseBaseNodeFactory.createBasePrivateIdentifierNode(X):e.isNodeKind(X)?e.parseBaseNodeFactory.createBaseNode(X):e.parseBaseNodeFactory.createBaseTokenNode(X),J,m0)},{since:\"4.0\",warnAfter:\"4.1\",message:\"Use an appropriate `factory` method instead.\"}),e.getMutableClone=e.Debug.deprecate(function(X){var J=e.factory.cloneNode(X);return e.setTextRange(J,X),e.setParent(J,X.parent),J},{since:\"4.0\",warnAfter:\"4.1\",message:\"Use an appropriate `factory.update...` method instead, use `setCommentRange` or `setSourceMapRange`, and avoid setting `parent`.\"}),e.isTypeAssertion=e.Debug.deprecate(function(X){return X.kind===207},{since:\"4.0\",warnAfter:\"4.1\",message:\"Use `isTypeAssertionExpression` instead.\"}),e.isIdentifierOrPrivateIdentifier=e.Debug.deprecate(function(X){return e.isMemberName(X)},{since:\"4.2\",warnAfter:\"4.3\",message:\"Use `isMemberName` instead.\"})}(_0||(_0={}))}),dm=W0(function(C,D){var $,o1;Object.defineProperty(D,\"__esModule\",{value:!0}),D.AST_TOKEN_TYPES=D.AST_NODE_TYPES=void 0,($=D.AST_NODE_TYPES||(D.AST_NODE_TYPES={})).ArrayExpression=\"ArrayExpression\",$.ArrayPattern=\"ArrayPattern\",$.ArrowFunctionExpression=\"ArrowFunctionExpression\",$.AssignmentExpression=\"AssignmentExpression\",$.AssignmentPattern=\"AssignmentPattern\",$.AwaitExpression=\"AwaitExpression\",$.BinaryExpression=\"BinaryExpression\",$.BlockStatement=\"BlockStatement\",$.BreakStatement=\"BreakStatement\",$.CallExpression=\"CallExpression\",$.CatchClause=\"CatchClause\",$.ChainExpression=\"ChainExpression\",$.ClassBody=\"ClassBody\",$.ClassDeclaration=\"ClassDeclaration\",$.ClassExpression=\"ClassExpression\",$.ClassProperty=\"ClassProperty\",$.ConditionalExpression=\"ConditionalExpression\",$.ContinueStatement=\"ContinueStatement\",$.DebuggerStatement=\"DebuggerStatement\",$.Decorator=\"Decorator\",$.DoWhileStatement=\"DoWhileStatement\",$.EmptyStatement=\"EmptyStatement\",$.ExportAllDeclaration=\"ExportAllDeclaration\",$.ExportDefaultDeclaration=\"ExportDefaultDeclaration\",$.ExportNamedDeclaration=\"ExportNamedDeclaration\",$.ExportSpecifier=\"ExportSpecifier\",$.ExpressionStatement=\"ExpressionStatement\",$.ForInStatement=\"ForInStatement\",$.ForOfStatement=\"ForOfStatement\",$.ForStatement=\"ForStatement\",$.FunctionDeclaration=\"FunctionDeclaration\",$.FunctionExpression=\"FunctionExpression\",$.Identifier=\"Identifier\",$.IfStatement=\"IfStatement\",$.ImportDeclaration=\"ImportDeclaration\",$.ImportDefaultSpecifier=\"ImportDefaultSpecifier\",$.ImportExpression=\"ImportExpression\",$.ImportNamespaceSpecifier=\"ImportNamespaceSpecifier\",$.ImportSpecifier=\"ImportSpecifier\",$.JSXAttribute=\"JSXAttribute\",$.JSXClosingElement=\"JSXClosingElement\",$.JSXClosingFragment=\"JSXClosingFragment\",$.JSXElement=\"JSXElement\",$.JSXEmptyExpression=\"JSXEmptyExpression\",$.JSXExpressionContainer=\"JSXExpressionContainer\",$.JSXFragment=\"JSXFragment\",$.JSXIdentifier=\"JSXIdentifier\",$.JSXMemberExpression=\"JSXMemberExpression\",$.JSXNamespacedName=\"JSXNamespacedName\",$.JSXOpeningElement=\"JSXOpeningElement\",$.JSXOpeningFragment=\"JSXOpeningFragment\",$.JSXSpreadAttribute=\"JSXSpreadAttribute\",$.JSXSpreadChild=\"JSXSpreadChild\",$.JSXText=\"JSXText\",$.LabeledStatement=\"LabeledStatement\",$.Literal=\"Literal\",$.LogicalExpression=\"LogicalExpression\",$.MemberExpression=\"MemberExpression\",$.MetaProperty=\"MetaProperty\",$.MethodDefinition=\"MethodDefinition\",$.NewExpression=\"NewExpression\",$.ObjectExpression=\"ObjectExpression\",$.ObjectPattern=\"ObjectPattern\",$.Program=\"Program\",$.Property=\"Property\",$.RestElement=\"RestElement\",$.ReturnStatement=\"ReturnStatement\",$.SequenceExpression=\"SequenceExpression\",$.SpreadElement=\"SpreadElement\",$.Super=\"Super\",$.SwitchCase=\"SwitchCase\",$.SwitchStatement=\"SwitchStatement\",$.TaggedTemplateExpression=\"TaggedTemplateExpression\",$.TemplateElement=\"TemplateElement\",$.TemplateLiteral=\"TemplateLiteral\",$.ThisExpression=\"ThisExpression\",$.ThrowStatement=\"ThrowStatement\",$.TryStatement=\"TryStatement\",$.UnaryExpression=\"UnaryExpression\",$.UpdateExpression=\"UpdateExpression\",$.VariableDeclaration=\"VariableDeclaration\",$.VariableDeclarator=\"VariableDeclarator\",$.WhileStatement=\"WhileStatement\",$.WithStatement=\"WithStatement\",$.YieldExpression=\"YieldExpression\",$.TSAbstractClassProperty=\"TSAbstractClassProperty\",$.TSAbstractKeyword=\"TSAbstractKeyword\",$.TSAbstractMethodDefinition=\"TSAbstractMethodDefinition\",$.TSAnyKeyword=\"TSAnyKeyword\",$.TSArrayType=\"TSArrayType\",$.TSAsExpression=\"TSAsExpression\",$.TSAsyncKeyword=\"TSAsyncKeyword\",$.TSBigIntKeyword=\"TSBigIntKeyword\",$.TSBooleanKeyword=\"TSBooleanKeyword\",$.TSCallSignatureDeclaration=\"TSCallSignatureDeclaration\",$.TSClassImplements=\"TSClassImplements\",$.TSConditionalType=\"TSConditionalType\",$.TSConstructorType=\"TSConstructorType\",$.TSConstructSignatureDeclaration=\"TSConstructSignatureDeclaration\",$.TSDeclareFunction=\"TSDeclareFunction\",$.TSDeclareKeyword=\"TSDeclareKeyword\",$.TSEmptyBodyFunctionExpression=\"TSEmptyBodyFunctionExpression\",$.TSEnumDeclaration=\"TSEnumDeclaration\",$.TSEnumMember=\"TSEnumMember\",$.TSExportAssignment=\"TSExportAssignment\",$.TSExportKeyword=\"TSExportKeyword\",$.TSExternalModuleReference=\"TSExternalModuleReference\",$.TSFunctionType=\"TSFunctionType\",$.TSImportEqualsDeclaration=\"TSImportEqualsDeclaration\",$.TSImportType=\"TSImportType\",$.TSIndexedAccessType=\"TSIndexedAccessType\",$.TSIndexSignature=\"TSIndexSignature\",$.TSInferType=\"TSInferType\",$.TSInterfaceBody=\"TSInterfaceBody\",$.TSInterfaceDeclaration=\"TSInterfaceDeclaration\",$.TSInterfaceHeritage=\"TSInterfaceHeritage\",$.TSIntersectionType=\"TSIntersectionType\",$.TSIntrinsicKeyword=\"TSIntrinsicKeyword\",$.TSLiteralType=\"TSLiteralType\",$.TSMappedType=\"TSMappedType\",$.TSMethodSignature=\"TSMethodSignature\",$.TSModuleBlock=\"TSModuleBlock\",$.TSModuleDeclaration=\"TSModuleDeclaration\",$.TSNamedTupleMember=\"TSNamedTupleMember\",$.TSNamespaceExportDeclaration=\"TSNamespaceExportDeclaration\",$.TSNeverKeyword=\"TSNeverKeyword\",$.TSNonNullExpression=\"TSNonNullExpression\",$.TSNullKeyword=\"TSNullKeyword\",$.TSNumberKeyword=\"TSNumberKeyword\",$.TSObjectKeyword=\"TSObjectKeyword\",$.TSOptionalType=\"TSOptionalType\",$.TSParameterProperty=\"TSParameterProperty\",$.TSParenthesizedType=\"TSParenthesizedType\",$.TSPrivateKeyword=\"TSPrivateKeyword\",$.TSPropertySignature=\"TSPropertySignature\",$.TSProtectedKeyword=\"TSProtectedKeyword\",$.TSPublicKeyword=\"TSPublicKeyword\",$.TSQualifiedName=\"TSQualifiedName\",$.TSReadonlyKeyword=\"TSReadonlyKeyword\",$.TSRestType=\"TSRestType\",$.TSStaticKeyword=\"TSStaticKeyword\",$.TSStringKeyword=\"TSStringKeyword\",$.TSSymbolKeyword=\"TSSymbolKeyword\",$.TSTemplateLiteralType=\"TSTemplateLiteralType\",$.TSThisType=\"TSThisType\",$.TSTupleType=\"TSTupleType\",$.TSTypeAliasDeclaration=\"TSTypeAliasDeclaration\",$.TSTypeAnnotation=\"TSTypeAnnotation\",$.TSTypeAssertion=\"TSTypeAssertion\",$.TSTypeLiteral=\"TSTypeLiteral\",$.TSTypeOperator=\"TSTypeOperator\",$.TSTypeParameter=\"TSTypeParameter\",$.TSTypeParameterDeclaration=\"TSTypeParameterDeclaration\",$.TSTypeParameterInstantiation=\"TSTypeParameterInstantiation\",$.TSTypePredicate=\"TSTypePredicate\",$.TSTypeQuery=\"TSTypeQuery\",$.TSTypeReference=\"TSTypeReference\",$.TSUndefinedKeyword=\"TSUndefinedKeyword\",$.TSUnionType=\"TSUnionType\",$.TSUnknownKeyword=\"TSUnknownKeyword\",$.TSVoidKeyword=\"TSVoidKeyword\",(o1=D.AST_TOKEN_TYPES||(D.AST_TOKEN_TYPES={})).Boolean=\"Boolean\",o1.Identifier=\"Identifier\",o1.JSXIdentifier=\"JSXIdentifier\",o1.JSXText=\"JSXText\",o1.Keyword=\"Keyword\",o1.Null=\"Null\",o1.Numeric=\"Numeric\",o1.Punctuator=\"Punctuator\",o1.RegularExpression=\"RegularExpression\",o1.String=\"String\",o1.Template=\"Template\",o1.Block=\"Block\",o1.Line=\"Line\"}),OB=Object.defineProperty({},\"__esModule\",{value:!0}),BB=Object.defineProperty({},\"__esModule\",{value:!0}),dC=W0(function(C,D){var $=a1&&a1.__createBinding||(Object.create?function(v1,ex,_0,Ne){Ne===void 0&&(Ne=_0),Object.defineProperty(v1,Ne,{enumerable:!0,get:function(){return ex[_0]}})}:function(v1,ex,_0,Ne){Ne===void 0&&(Ne=_0),v1[Ne]=ex[_0]}),o1=a1&&a1.__setModuleDefault||(Object.create?function(v1,ex){Object.defineProperty(v1,\"default\",{enumerable:!0,value:ex})}:function(v1,ex){v1.default=ex}),j1=a1&&a1.__importStar||function(v1){if(v1&&v1.__esModule)return v1;var ex={};if(v1!=null)for(var _0 in v1)_0!==\"default\"&&Object.prototype.hasOwnProperty.call(v1,_0)&&$(ex,v1,_0);return o1(ex,v1),ex};Object.defineProperty(D,\"__esModule\",{value:!0}),D.TSESTree=void 0,D.TSESTree=j1(dm)}),Eb=W0(function(C,D){var $=a1&&a1.__createBinding||(Object.create?function(v1,ex,_0,Ne){Ne===void 0&&(Ne=_0),Object.defineProperty(v1,Ne,{enumerable:!0,get:function(){return ex[_0]}})}:function(v1,ex,_0,Ne){Ne===void 0&&(Ne=_0),v1[Ne]=ex[_0]}),o1=a1&&a1.__exportStar||function(v1,ex){for(var _0 in v1)_0===\"default\"||Object.prototype.hasOwnProperty.call(ex,_0)||$(ex,v1,_0)};Object.defineProperty(D,\"__esModule\",{value:!0}),D.AST_TOKEN_TYPES=D.AST_NODE_TYPES=void 0,Object.defineProperty(D,\"AST_NODE_TYPES\",{enumerable:!0,get:function(){return dm.AST_NODE_TYPES}});var j1=dm;Object.defineProperty(D,\"AST_TOKEN_TYPES\",{enumerable:!0,get:function(){return j1.AST_TOKEN_TYPES}}),o1(OB,D),o1(BB,D),o1(dC,D)}),BN=Object.defineProperty({},\"__esModule\",{value:!0}),FO=Object.defineProperty({},\"__esModule\",{value:!0}),ga=W0(function(C,D){var $=a1&&a1.__createBinding||(Object.create?function(j1,v1,ex,_0){_0===void 0&&(_0=ex),Object.defineProperty(j1,_0,{enumerable:!0,get:function(){return v1[ex]}})}:function(j1,v1,ex,_0){_0===void 0&&(_0=ex),j1[_0]=v1[ex]}),o1=a1&&a1.__exportStar||function(j1,v1){for(var ex in j1)ex===\"default\"||Object.prototype.hasOwnProperty.call(v1,ex)||$(v1,j1,ex)};Object.defineProperty(D,\"__esModule\",{value:!0}),D.TSESTree=D.AST_TOKEN_TYPES=D.AST_NODE_TYPES=void 0,Object.defineProperty(D,\"AST_NODE_TYPES\",{enumerable:!0,get:function(){return Eb.AST_NODE_TYPES}}),Object.defineProperty(D,\"AST_TOKEN_TYPES\",{enumerable:!0,get:function(){return Eb.AST_TOKEN_TYPES}}),Object.defineProperty(D,\"TSESTree\",{enumerable:!0,get:function(){return Eb.TSESTree}}),o1(BN,D),o1(FO,D)}),mm=W0(function(C,D){Object.defineProperty(D,\"__esModule\",{value:!0}),D.xhtmlEntities=void 0,D.xhtmlEntities={quot:'\"',amp:\"&\",apos:\"'\",lt:\"<\",gt:\">\",nbsp:\"\\xA0\",iexcl:\"\\xA1\",cent:\"\\xA2\",pound:\"\\xA3\",curren:\"\\xA4\",yen:\"\\xA5\",brvbar:\"\\xA6\",sect:\"\\xA7\",uml:\"\\xA8\",copy:\"\\xA9\",ordf:\"\\xAA\",laquo:\"\\xAB\",not:\"\\xAC\",shy:\"\\xAD\",reg:\"\\xAE\",macr:\"\\xAF\",deg:\"\\xB0\",plusmn:\"\\xB1\",sup2:\"\\xB2\",sup3:\"\\xB3\",acute:\"\\xB4\",micro:\"\\xB5\",para:\"\\xB6\",middot:\"\\xB7\",cedil:\"\\xB8\",sup1:\"\\xB9\",ordm:\"\\xBA\",raquo:\"\\xBB\",frac14:\"\\xBC\",frac12:\"\\xBD\",frac34:\"\\xBE\",iquest:\"\\xBF\",Agrave:\"\\xC0\",Aacute:\"\\xC1\",Acirc:\"\\xC2\",Atilde:\"\\xC3\",Auml:\"\\xC4\",Aring:\"\\xC5\",AElig:\"\\xC6\",Ccedil:\"\\xC7\",Egrave:\"\\xC8\",Eacute:\"\\xC9\",Ecirc:\"\\xCA\",Euml:\"\\xCB\",Igrave:\"\\xCC\",Iacute:\"\\xCD\",Icirc:\"\\xCE\",Iuml:\"\\xCF\",ETH:\"\\xD0\",Ntilde:\"\\xD1\",Ograve:\"\\xD2\",Oacute:\"\\xD3\",Ocirc:\"\\xD4\",Otilde:\"\\xD5\",Ouml:\"\\xD6\",times:\"\\xD7\",Oslash:\"\\xD8\",Ugrave:\"\\xD9\",Uacute:\"\\xDA\",Ucirc:\"\\xDB\",Uuml:\"\\xDC\",Yacute:\"\\xDD\",THORN:\"\\xDE\",szlig:\"\\xDF\",agrave:\"\\xE0\",aacute:\"\\xE1\",acirc:\"\\xE2\",atilde:\"\\xE3\",auml:\"\\xE4\",aring:\"\\xE5\",aelig:\"\\xE6\",ccedil:\"\\xE7\",egrave:\"\\xE8\",eacute:\"\\xE9\",ecirc:\"\\xEA\",euml:\"\\xEB\",igrave:\"\\xEC\",iacute:\"\\xED\",icirc:\"\\xEE\",iuml:\"\\xEF\",eth:\"\\xF0\",ntilde:\"\\xF1\",ograve:\"\\xF2\",oacute:\"\\xF3\",ocirc:\"\\xF4\",otilde:\"\\xF5\",ouml:\"\\xF6\",divide:\"\\xF7\",oslash:\"\\xF8\",ugrave:\"\\xF9\",uacute:\"\\xFA\",ucirc:\"\\xFB\",uuml:\"\\xFC\",yacute:\"\\xFD\",thorn:\"\\xFE\",yuml:\"\\xFF\",OElig:\"\\u0152\",oelig:\"\\u0153\",Scaron:\"\\u0160\",scaron:\"\\u0161\",Yuml:\"\\u0178\",fnof:\"\\u0192\",circ:\"\\u02C6\",tilde:\"\\u02DC\",Alpha:\"\\u0391\",Beta:\"\\u0392\",Gamma:\"\\u0393\",Delta:\"\\u0394\",Epsilon:\"\\u0395\",Zeta:\"\\u0396\",Eta:\"\\u0397\",Theta:\"\\u0398\",Iota:\"\\u0399\",Kappa:\"\\u039A\",Lambda:\"\\u039B\",Mu:\"\\u039C\",Nu:\"\\u039D\",Xi:\"\\u039E\",Omicron:\"\\u039F\",Pi:\"\\u03A0\",Rho:\"\\u03A1\",Sigma:\"\\u03A3\",Tau:\"\\u03A4\",Upsilon:\"\\u03A5\",Phi:\"\\u03A6\",Chi:\"\\u03A7\",Psi:\"\\u03A8\",Omega:\"\\u03A9\",alpha:\"\\u03B1\",beta:\"\\u03B2\",gamma:\"\\u03B3\",delta:\"\\u03B4\",epsilon:\"\\u03B5\",zeta:\"\\u03B6\",eta:\"\\u03B7\",theta:\"\\u03B8\",iota:\"\\u03B9\",kappa:\"\\u03BA\",lambda:\"\\u03BB\",mu:\"\\u03BC\",nu:\"\\u03BD\",xi:\"\\u03BE\",omicron:\"\\u03BF\",pi:\"\\u03C0\",rho:\"\\u03C1\",sigmaf:\"\\u03C2\",sigma:\"\\u03C3\",tau:\"\\u03C4\",upsilon:\"\\u03C5\",phi:\"\\u03C6\",chi:\"\\u03C7\",psi:\"\\u03C8\",omega:\"\\u03C9\",thetasym:\"\\u03D1\",upsih:\"\\u03D2\",piv:\"\\u03D6\",ensp:\"\\u2002\",emsp:\"\\u2003\",thinsp:\"\\u2009\",zwnj:\"\\u200C\",zwj:\"\\u200D\",lrm:\"\\u200E\",rlm:\"\\u200F\",ndash:\"\\u2013\",mdash:\"\\u2014\",lsquo:\"\\u2018\",rsquo:\"\\u2019\",sbquo:\"\\u201A\",ldquo:\"\\u201C\",rdquo:\"\\u201D\",bdquo:\"\\u201E\",dagger:\"\\u2020\",Dagger:\"\\u2021\",bull:\"\\u2022\",hellip:\"\\u2026\",permil:\"\\u2030\",prime:\"\\u2032\",Prime:\"\\u2033\",lsaquo:\"\\u2039\",rsaquo:\"\\u203A\",oline:\"\\u203E\",frasl:\"\\u2044\",euro:\"\\u20AC\",image:\"\\u2111\",weierp:\"\\u2118\",real:\"\\u211C\",trade:\"\\u2122\",alefsym:\"\\u2135\",larr:\"\\u2190\",uarr:\"\\u2191\",rarr:\"\\u2192\",darr:\"\\u2193\",harr:\"\\u2194\",crarr:\"\\u21B5\",lArr:\"\\u21D0\",uArr:\"\\u21D1\",rArr:\"\\u21D2\",dArr:\"\\u21D3\",hArr:\"\\u21D4\",forall:\"\\u2200\",part:\"\\u2202\",exist:\"\\u2203\",empty:\"\\u2205\",nabla:\"\\u2207\",isin:\"\\u2208\",notin:\"\\u2209\",ni:\"\\u220B\",prod:\"\\u220F\",sum:\"\\u2211\",minus:\"\\u2212\",lowast:\"\\u2217\",radic:\"\\u221A\",prop:\"\\u221D\",infin:\"\\u221E\",ang:\"\\u2220\",and:\"\\u2227\",or:\"\\u2228\",cap:\"\\u2229\",cup:\"\\u222A\",int:\"\\u222B\",there4:\"\\u2234\",sim:\"\\u223C\",cong:\"\\u2245\",asymp:\"\\u2248\",ne:\"\\u2260\",equiv:\"\\u2261\",le:\"\\u2264\",ge:\"\\u2265\",sub:\"\\u2282\",sup:\"\\u2283\",nsub:\"\\u2284\",sube:\"\\u2286\",supe:\"\\u2287\",oplus:\"\\u2295\",otimes:\"\\u2297\",perp:\"\\u22A5\",sdot:\"\\u22C5\",lceil:\"\\u2308\",rceil:\"\\u2309\",lfloor:\"\\u230A\",rfloor:\"\\u230B\",lang:\"\\u2329\",rang:\"\\u232A\",loz:\"\\u25CA\",spades:\"\\u2660\",clubs:\"\\u2663\",hearts:\"\\u2665\",diams:\"\\u2666\"}}),ds=W0(function(C,D){var $=a1&&a1.__createBinding||(Object.create?function(G,u0,U,g0){g0===void 0&&(g0=U),Object.defineProperty(G,g0,{enumerable:!0,get:function(){return u0[U]}})}:function(G,u0,U,g0){g0===void 0&&(g0=U),G[g0]=u0[U]}),o1=a1&&a1.__setModuleDefault||(Object.create?function(G,u0){Object.defineProperty(G,\"default\",{enumerable:!0,value:u0})}:function(G,u0){G.default=u0}),j1=a1&&a1.__importStar||function(G){if(G&&G.__esModule)return G;var u0={};if(G!=null)for(var U in G)U!==\"default\"&&Object.prototype.hasOwnProperty.call(G,U)&&$(u0,G,U);return o1(u0,G),u0};Object.defineProperty(D,\"__esModule\",{value:!0}),D.firstDefined=D.nodeHasTokens=D.createError=D.TSError=D.convertTokens=D.convertToken=D.getTokenType=D.isChildUnwrappableOptionalChain=D.isChainExpression=D.isOptional=D.isComputedProperty=D.unescapeStringLiteralText=D.hasJSXAncestor=D.findFirstMatchingAncestor=D.findNextToken=D.getTSNodeAccessibility=D.getDeclarationKind=D.isJSXToken=D.isToken=D.getRange=D.canContainDirective=D.getLocFor=D.getLineAndCharacterFor=D.getBinaryExpressionType=D.isJSDocComment=D.isComment=D.isComma=D.getLastModifier=D.hasModifier=D.isESTreeClassMember=D.getTextForTokenKind=D.isLogicalOperator=D.isAssignmentOperator=void 0;const v1=j1(de),ex=v1.SyntaxKind,_0=[ex.BarBarToken,ex.AmpersandAmpersandToken,ex.QuestionQuestionToken];function Ne(G){return G.kind>=ex.FirstAssignment&&G.kind<=ex.LastAssignment}function e(G){return _0.includes(G.kind)}function s(G){return G.kind===ex.SingleLineCommentTrivia||G.kind===ex.MultiLineCommentTrivia}function X(G){return G.kind===ex.JSDocComment}function J(G,u0){const U=u0.getLineAndCharacterOfPosition(G);return{line:U.line+1,column:U.character}}function m0(G,u0,U){return{start:J(G,U),end:J(u0,U)}}function s1(G){return G.kind>=ex.FirstToken&&G.kind<=ex.LastToken}function i0(G){return G.kind>=ex.JsxElement&&G.kind<=ex.JsxAttribute}function H0(G,u0){for(;G;){if(u0(G))return G;G=G.parent}}function E0(G){return!!H0(G,i0)}function I(G){return G.type===ga.AST_NODE_TYPES.ChainExpression}function A(G){if(\"originalKeywordKind\"in G&&G.originalKeywordKind)return G.originalKeywordKind===ex.NullKeyword?ga.AST_TOKEN_TYPES.Null:G.originalKeywordKind>=ex.FirstFutureReservedWord&&G.originalKeywordKind<=ex.LastKeyword?ga.AST_TOKEN_TYPES.Identifier:ga.AST_TOKEN_TYPES.Keyword;if(G.kind>=ex.FirstKeyword&&G.kind<=ex.LastFutureReservedWord)return G.kind===ex.FalseKeyword||G.kind===ex.TrueKeyword?ga.AST_TOKEN_TYPES.Boolean:ga.AST_TOKEN_TYPES.Keyword;if(G.kind>=ex.FirstPunctuation&&G.kind<=ex.LastPunctuation)return ga.AST_TOKEN_TYPES.Punctuator;if(G.kind>=ex.NoSubstitutionTemplateLiteral&&G.kind<=ex.TemplateTail)return ga.AST_TOKEN_TYPES.Template;switch(G.kind){case ex.NumericLiteral:return ga.AST_TOKEN_TYPES.Numeric;case ex.JsxText:return ga.AST_TOKEN_TYPES.JSXText;case ex.StringLiteral:return!G.parent||G.parent.kind!==ex.JsxAttribute&&G.parent.kind!==ex.JsxElement?ga.AST_TOKEN_TYPES.String:ga.AST_TOKEN_TYPES.JSXText;case ex.RegularExpressionLiteral:return ga.AST_TOKEN_TYPES.RegularExpression;case ex.Identifier:case ex.ConstructorKeyword:case ex.GetKeyword:case ex.SetKeyword:}return G.parent&&G.kind===ex.Identifier&&(i0(G.parent)||G.parent.kind===ex.PropertyAccessExpression&&E0(G))?ga.AST_TOKEN_TYPES.JSXIdentifier:ga.AST_TOKEN_TYPES.Identifier}function Z(G,u0){const U=G.kind===ex.JsxText?G.getFullStart():G.getStart(u0),g0=G.getEnd(),d0=u0.text.slice(U,g0),P0=A(G);return P0===ga.AST_TOKEN_TYPES.RegularExpression?{type:P0,value:d0,range:[U,g0],loc:m0(U,g0,u0),regex:{pattern:d0.slice(1,d0.lastIndexOf(\"/\")),flags:d0.slice(d0.lastIndexOf(\"/\")+1)}}:{type:P0,value:d0,range:[U,g0],loc:m0(U,g0,u0)}}D.isAssignmentOperator=Ne,D.isLogicalOperator=e,D.getTextForTokenKind=function(G){return v1.tokenToString(G)},D.isESTreeClassMember=function(G){return G.kind!==ex.SemicolonClassElement},D.hasModifier=function(G,u0){return!!u0.modifiers&&!!u0.modifiers.length&&u0.modifiers.some(U=>U.kind===G)},D.getLastModifier=function(G){return!!G.modifiers&&!!G.modifiers.length&&G.modifiers[G.modifiers.length-1]||null},D.isComma=function(G){return G.kind===ex.CommaToken},D.isComment=s,D.isJSDocComment=X,D.getBinaryExpressionType=function(G){return Ne(G)?ga.AST_NODE_TYPES.AssignmentExpression:e(G)?ga.AST_NODE_TYPES.LogicalExpression:ga.AST_NODE_TYPES.BinaryExpression},D.getLineAndCharacterFor=J,D.getLocFor=m0,D.canContainDirective=function(G){if(G.kind===v1.SyntaxKind.Block)switch(G.parent.kind){case v1.SyntaxKind.Constructor:case v1.SyntaxKind.GetAccessor:case v1.SyntaxKind.SetAccessor:case v1.SyntaxKind.ArrowFunction:case v1.SyntaxKind.FunctionExpression:case v1.SyntaxKind.FunctionDeclaration:case v1.SyntaxKind.MethodDeclaration:return!0;default:return!1}return!0},D.getRange=function(G,u0){return[G.getStart(u0),G.getEnd()]},D.isToken=s1,D.isJSXToken=i0,D.getDeclarationKind=function(G){return G.flags&v1.NodeFlags.Let?\"let\":G.flags&v1.NodeFlags.Const?\"const\":\"var\"},D.getTSNodeAccessibility=function(G){const u0=G.modifiers;if(!u0)return null;for(let U=0;U<u0.length;U++)switch(u0[U].kind){case ex.PublicKeyword:return\"public\";case ex.ProtectedKeyword:return\"protected\";case ex.PrivateKeyword:return\"private\"}return null},D.findNextToken=function(G,u0,U){return function g0(d0){return v1.isToken(d0)&&d0.pos===G.end?d0:j(d0.getChildren(U),P0=>(P0.pos<=G.pos&&P0.end>G.end||P0.pos===G.end)&&o0(P0,U)?g0(P0):void 0)}(u0)},D.findFirstMatchingAncestor=H0,D.hasJSXAncestor=E0,D.unescapeStringLiteralText=function(G){return G.replace(/&(?:#\\d+|#x[\\da-fA-F]+|[0-9a-zA-Z]+);/g,u0=>{const U=u0.slice(1,-1);if(U[0]===\"#\"){const g0=U[1]===\"x\"?parseInt(U.slice(2),16):parseInt(U.slice(1),10);return g0>1114111?u0:String.fromCodePoint(g0)}return mm.xhtmlEntities[U]||u0})},D.isComputedProperty=function(G){return G.kind===ex.ComputedPropertyName},D.isOptional=function(G){return!!G.questionToken&&G.questionToken.kind===ex.QuestionToken},D.isChainExpression=I,D.isChildUnwrappableOptionalChain=function(G,u0){return I(u0)&&G.expression.kind!==v1.SyntaxKind.ParenthesizedExpression},D.getTokenType=A,D.convertToken=Z,D.convertTokens=function(G){const u0=[];return function U(g0){if(!s(g0)&&!X(g0))if(s1(g0)&&g0.kind!==ex.EndOfFileToken){const d0=Z(g0,G);d0&&u0.push(d0)}else g0.getChildren(G).forEach(U)}(G),u0};class A0 extends Error{constructor(u0,U,g0,d0,P0){super(u0),this.fileName=U,this.index=g0,this.lineNumber=d0,this.column=P0,Object.defineProperty(this,\"name\",{value:new.target.name,enumerable:!1,configurable:!0})}}function o0(G,u0){return G.kind===ex.EndOfFileToken?!!G.jsDoc:G.getWidth(u0)!==0}function j(G,u0){if(G!==void 0)for(let U=0;U<G.length;U++){const g0=u0(G[U],U);if(g0!==void 0)return g0}}D.TSError=A0,D.createError=function(G,u0,U){const g0=G.getLineAndCharacterOfPosition(u0);return new A0(U,G.fileName,u0,g0.line+1,g0.character)},D.nodeHasTokens=o0,D.firstDefined=j}),$h=W0(function(C,D){var $=a1&&a1.__createBinding||(Object.create?function(s,X,J,m0){m0===void 0&&(m0=J),Object.defineProperty(s,m0,{enumerable:!0,get:function(){return X[J]}})}:function(s,X,J,m0){m0===void 0&&(m0=J),s[m0]=X[J]}),o1=a1&&a1.__setModuleDefault||(Object.create?function(s,X){Object.defineProperty(s,\"default\",{enumerable:!0,value:X})}:function(s,X){s.default=X}),j1=a1&&a1.__importStar||function(s){if(s&&s.__esModule)return s;var X={};if(s!=null)for(var J in s)J!==\"default\"&&Object.prototype.hasOwnProperty.call(s,J)&&$(X,s,J);return o1(X,s),X};Object.defineProperty(D,\"__esModule\",{value:!0}),D.typescriptVersionIsAtLeast=void 0;const v1=j1(Uh),ex=j1(de);function _0(s){return v1.satisfies(ex.version,`>= ${s}.0 || >= ${s}.1-rc || >= ${s}.0-beta`,{includePrerelease:!0})}const Ne=[\"3.7\",\"3.8\",\"3.9\",\"4.0\"],e={};D.typescriptVersionIsAtLeast=e;for(const s of Ne)e[s]=_0(s)}),WA=W0(function(C,D){var $=a1&&a1.__createBinding||(Object.create?function(_0,Ne,e,s){s===void 0&&(s=e),Object.defineProperty(_0,s,{enumerable:!0,get:function(){return Ne[e]}})}:function(_0,Ne,e,s){s===void 0&&(s=e),_0[s]=Ne[e]}),o1=a1&&a1.__setModuleDefault||(Object.create?function(_0,Ne){Object.defineProperty(_0,\"default\",{enumerable:!0,value:Ne})}:function(_0,Ne){_0.default=Ne}),j1=a1&&a1.__importStar||function(_0){if(_0&&_0.__esModule)return _0;var Ne={};if(_0!=null)for(var e in _0)e!==\"default\"&&Object.prototype.hasOwnProperty.call(_0,e)&&$(Ne,_0,e);return o1(Ne,_0),Ne};Object.defineProperty(D,\"__esModule\",{value:!0}),D.Converter=D.convertError=void 0;const v1=j1(de),ex=v1.SyntaxKind;D.convertError=function(_0){return ds.createError(_0.file,_0.start,_0.message||_0.messageText)},D.Converter=class{constructor(_0,Ne){this.esTreeNodeToTSNodeMap=new WeakMap,this.tsNodeToESTreeNodeMap=new WeakMap,this.allowPattern=!1,this.inTypeMode=!1,this.ast=_0,this.options=Object.assign({},Ne)}getASTMaps(){return{esTreeNodeToTSNodeMap:this.esTreeNodeToTSNodeMap,tsNodeToESTreeNodeMap:this.tsNodeToESTreeNodeMap}}convertProgram(){return this.converter(this.ast)}converter(_0,Ne,e,s){if(!_0)return null;const X=this.inTypeMode,J=this.allowPattern;e!==void 0&&(this.inTypeMode=e),s!==void 0&&(this.allowPattern=s);const m0=this.convertNode(_0,Ne!=null?Ne:_0.parent);return this.registerTSNodeInNodeMap(_0,m0),this.inTypeMode=X,this.allowPattern=J,m0}fixExports(_0,Ne){if(_0.modifiers&&_0.modifiers[0].kind===ex.ExportKeyword){this.registerTSNodeInNodeMap(_0,Ne);const e=_0.modifiers[0],s=_0.modifiers[1],X=s&&s.kind===ex.DefaultKeyword,J=X?ds.findNextToken(s,this.ast,this.ast):ds.findNextToken(e,this.ast,this.ast);if(Ne.range[0]=J.getStart(this.ast),Ne.loc=ds.getLocFor(Ne.range[0],Ne.range[1],this.ast),X)return this.createNode(_0,{type:ga.AST_NODE_TYPES.ExportDefaultDeclaration,declaration:Ne,range:[e.getStart(this.ast),Ne.range[1]],exportKind:\"value\"});{const m0=Ne.type===ga.AST_NODE_TYPES.TSInterfaceDeclaration||Ne.type===ga.AST_NODE_TYPES.TSTypeAliasDeclaration,s1=Ne.declare===!0;return this.createNode(_0,{type:ga.AST_NODE_TYPES.ExportNamedDeclaration,declaration:Ne,specifiers:[],source:null,exportKind:m0||s1?\"type\":\"value\",range:[e.getStart(this.ast),Ne.range[1]]})}}return Ne}registerTSNodeInNodeMap(_0,Ne){Ne&&this.options.shouldPreserveNodeMaps&&(this.tsNodeToESTreeNodeMap.has(_0)||this.tsNodeToESTreeNodeMap.set(_0,Ne))}convertPattern(_0,Ne){return this.converter(_0,Ne,this.inTypeMode,!0)}convertChild(_0,Ne){return this.converter(_0,Ne,this.inTypeMode,!1)}convertType(_0,Ne){return this.converter(_0,Ne,!0,!1)}createNode(_0,Ne){const e=Ne;return e.range||(e.range=ds.getRange(_0,this.ast)),e.loc||(e.loc=ds.getLocFor(e.range[0],e.range[1],this.ast)),e&&this.options.shouldPreserveNodeMaps&&this.esTreeNodeToTSNodeMap.set(e,_0),e}convertBindingNameWithTypeAnnotation(_0,Ne,e){const s=this.convertPattern(_0);return Ne&&(s.typeAnnotation=this.convertTypeAnnotation(Ne,e),this.fixParentLocation(s,s.typeAnnotation.range)),s}convertTypeAnnotation(_0,Ne){const e=(Ne==null?void 0:Ne.kind)===ex.FunctionType||(Ne==null?void 0:Ne.kind)===ex.ConstructorType?2:1,s=_0.getFullStart()-e,X=ds.getLocFor(s,_0.end,this.ast);return{type:ga.AST_NODE_TYPES.TSTypeAnnotation,loc:X,range:[s,_0.end],typeAnnotation:this.convertType(_0)}}convertBodyExpressions(_0,Ne){let e=ds.canContainDirective(Ne);return _0.map(s=>{const X=this.convertChild(s);if(e){if((X==null?void 0:X.expression)&&v1.isExpressionStatement(s)&&v1.isStringLiteral(s.expression)){const J=X.expression.raw;return X.directive=J.slice(1,-1),X}e=!1}return X}).filter(s=>s)}convertTypeArgumentsToTypeParameters(_0,Ne){const e=ds.findNextToken(_0,this.ast,this.ast);return this.createNode(Ne,{type:ga.AST_NODE_TYPES.TSTypeParameterInstantiation,range:[_0.pos-1,e.end],params:_0.map(s=>this.convertType(s))})}convertTSTypeParametersToTypeParametersDeclaration(_0){const Ne=ds.findNextToken(_0,this.ast,this.ast);return{type:ga.AST_NODE_TYPES.TSTypeParameterDeclaration,range:[_0.pos-1,Ne.end],loc:ds.getLocFor(_0.pos-1,Ne.end,this.ast),params:_0.map(e=>this.convertType(e))}}convertParameters(_0){return _0&&_0.length?_0.map(Ne=>{var e;const s=this.convertChild(Ne);return((e=Ne.decorators)===null||e===void 0?void 0:e.length)&&(s.decorators=Ne.decorators.map(X=>this.convertChild(X))),s}):[]}convertChainExpression(_0,Ne){const{child:e,isOptional:s}=_0.type===ga.AST_NODE_TYPES.MemberExpression?{child:_0.object,isOptional:_0.optional}:_0.type===ga.AST_NODE_TYPES.CallExpression?{child:_0.callee,isOptional:_0.optional}:{child:_0.expression,isOptional:!1},X=ds.isChildUnwrappableOptionalChain(Ne,e);if(!X&&!s)return _0;if(X&&ds.isChainExpression(e)){const J=e.expression;_0.type===ga.AST_NODE_TYPES.MemberExpression?_0.object=J:_0.type===ga.AST_NODE_TYPES.CallExpression?_0.callee=J:_0.expression=J}return this.createNode(Ne,{type:ga.AST_NODE_TYPES.ChainExpression,expression:_0})}deeplyCopy(_0){if(_0.kind===v1.SyntaxKind.JSDocFunctionType)throw ds.createError(this.ast,_0.pos,\"JSDoc types can only be used inside documentation comments.\");const Ne=`TS${ex[_0.kind]}`;if(this.options.errorOnUnknownASTType&&!ga.AST_NODE_TYPES[Ne])throw new Error(`Unknown AST_NODE_TYPE: \"${Ne}\"`);const e=this.createNode(_0,{type:Ne});return\"type\"in _0&&(e.typeAnnotation=_0.type&&\"kind\"in _0.type&&v1.isTypeNode(_0.type)?this.convertTypeAnnotation(_0.type,_0):null),\"typeArguments\"in _0&&(e.typeParameters=_0.typeArguments&&\"pos\"in _0.typeArguments?this.convertTypeArgumentsToTypeParameters(_0.typeArguments,_0):null),\"typeParameters\"in _0&&(e.typeParameters=_0.typeParameters&&\"pos\"in _0.typeParameters?this.convertTSTypeParametersToTypeParametersDeclaration(_0.typeParameters):null),\"decorators\"in _0&&_0.decorators&&_0.decorators.length&&(e.decorators=_0.decorators.map(s=>this.convertChild(s))),Object.entries(_0).filter(([s])=>!/^(?:_children|kind|parent|pos|end|flags|modifierFlagsCache|jsDoc|type|typeArguments|typeParameters|decorators|transformFlags)$/.test(s)).forEach(([s,X])=>{Array.isArray(X)?e[s]=X.map(J=>this.convertChild(J)):X&&typeof X==\"object\"&&X.kind?e[s]=this.convertChild(X):e[s]=X}),e}convertJSXIdentifier(_0){const Ne=this.createNode(_0,{type:ga.AST_NODE_TYPES.JSXIdentifier,name:_0.getText()});return this.registerTSNodeInNodeMap(_0,Ne),Ne}convertJSXNamespaceOrIdentifier(_0){const Ne=_0.getText(),e=Ne.indexOf(\":\");if(e>0){const s=ds.getRange(_0,this.ast),X=this.createNode(_0,{type:ga.AST_NODE_TYPES.JSXNamespacedName,namespace:this.createNode(_0,{type:ga.AST_NODE_TYPES.JSXIdentifier,name:Ne.slice(0,e),range:[s[0],s[0]+e]}),name:this.createNode(_0,{type:ga.AST_NODE_TYPES.JSXIdentifier,name:Ne.slice(e+1),range:[s[0]+e+1,s[1]]}),range:s});return this.registerTSNodeInNodeMap(_0,X),X}return this.convertJSXIdentifier(_0)}convertJSXTagName(_0,Ne){let e;switch(_0.kind){case ex.PropertyAccessExpression:if(_0.name.kind===ex.PrivateIdentifier)throw new Error(\"Non-private identifier expected.\");e=this.createNode(_0,{type:ga.AST_NODE_TYPES.JSXMemberExpression,object:this.convertJSXTagName(_0.expression,Ne),property:this.convertJSXIdentifier(_0.name)});break;case ex.ThisKeyword:case ex.Identifier:default:return this.convertJSXNamespaceOrIdentifier(_0)}return this.registerTSNodeInNodeMap(_0,e),e}convertMethodSignature(_0){const Ne=this.createNode(_0,{type:ga.AST_NODE_TYPES.TSMethodSignature,computed:ds.isComputedProperty(_0.name),key:this.convertChild(_0.name),params:this.convertParameters(_0.parameters),kind:(()=>{switch(_0.kind){case ex.GetAccessor:return\"get\";case ex.SetAccessor:return\"set\";case ex.MethodSignature:return\"method\"}})()});ds.isOptional(_0)&&(Ne.optional=!0),_0.type&&(Ne.returnType=this.convertTypeAnnotation(_0.type,_0)),ds.hasModifier(ex.ReadonlyKeyword,_0)&&(Ne.readonly=!0),_0.typeParameters&&(Ne.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(_0.typeParameters));const e=ds.getTSNodeAccessibility(_0);return e&&(Ne.accessibility=e),ds.hasModifier(ex.ExportKeyword,_0)&&(Ne.export=!0),ds.hasModifier(ex.StaticKeyword,_0)&&(Ne.static=!0),Ne}applyModifiersToResult(_0,Ne){if(!Ne||!Ne.length)return;const e=[];for(let s=0;s<Ne.length;s++){const X=Ne[s];switch(X.kind){case ex.ExportKeyword:case ex.DefaultKeyword:break;case ex.ConstKeyword:_0.const=!0;break;case ex.DeclareKeyword:_0.declare=!0;break;default:e.push(this.convertChild(X))}}e.length&&(_0.modifiers=e)}fixParentLocation(_0,Ne){Ne[0]<_0.range[0]&&(_0.range[0]=Ne[0],_0.loc.start=ds.getLineAndCharacterFor(_0.range[0],this.ast)),Ne[1]>_0.range[1]&&(_0.range[1]=Ne[1],_0.loc.end=ds.getLineAndCharacterFor(_0.range[1],this.ast))}convertNode(_0,Ne){var e,s,X,J,m0,s1,i0,H0,E0,I;switch(_0.kind){case ex.SourceFile:return this.createNode(_0,{type:ga.AST_NODE_TYPES.Program,body:this.convertBodyExpressions(_0.statements,_0),sourceType:_0.externalModuleIndicator?\"module\":\"script\",range:[_0.getStart(this.ast),_0.endOfFileToken.end]});case ex.Block:return this.createNode(_0,{type:ga.AST_NODE_TYPES.BlockStatement,body:this.convertBodyExpressions(_0.statements,_0)});case ex.Identifier:return this.createNode(_0,{type:ga.AST_NODE_TYPES.Identifier,name:_0.text});case ex.WithStatement:return this.createNode(_0,{type:ga.AST_NODE_TYPES.WithStatement,object:this.convertChild(_0.expression),body:this.convertChild(_0.statement)});case ex.ReturnStatement:return this.createNode(_0,{type:ga.AST_NODE_TYPES.ReturnStatement,argument:this.convertChild(_0.expression)});case ex.LabeledStatement:return this.createNode(_0,{type:ga.AST_NODE_TYPES.LabeledStatement,label:this.convertChild(_0.label),body:this.convertChild(_0.statement)});case ex.ContinueStatement:return this.createNode(_0,{type:ga.AST_NODE_TYPES.ContinueStatement,label:this.convertChild(_0.label)});case ex.BreakStatement:return this.createNode(_0,{type:ga.AST_NODE_TYPES.BreakStatement,label:this.convertChild(_0.label)});case ex.IfStatement:return this.createNode(_0,{type:ga.AST_NODE_TYPES.IfStatement,test:this.convertChild(_0.expression),consequent:this.convertChild(_0.thenStatement),alternate:this.convertChild(_0.elseStatement)});case ex.SwitchStatement:return this.createNode(_0,{type:ga.AST_NODE_TYPES.SwitchStatement,discriminant:this.convertChild(_0.expression),cases:_0.caseBlock.clauses.map(A=>this.convertChild(A))});case ex.CaseClause:case ex.DefaultClause:return this.createNode(_0,{type:ga.AST_NODE_TYPES.SwitchCase,test:_0.kind===ex.CaseClause?this.convertChild(_0.expression):null,consequent:_0.statements.map(A=>this.convertChild(A))});case ex.ThrowStatement:return this.createNode(_0,{type:ga.AST_NODE_TYPES.ThrowStatement,argument:this.convertChild(_0.expression)});case ex.TryStatement:return this.createNode(_0,{type:ga.AST_NODE_TYPES.TryStatement,block:this.convertChild(_0.tryBlock),handler:this.convertChild(_0.catchClause),finalizer:this.convertChild(_0.finallyBlock)});case ex.CatchClause:return this.createNode(_0,{type:ga.AST_NODE_TYPES.CatchClause,param:_0.variableDeclaration?this.convertBindingNameWithTypeAnnotation(_0.variableDeclaration.name,_0.variableDeclaration.type):null,body:this.convertChild(_0.block)});case ex.WhileStatement:return this.createNode(_0,{type:ga.AST_NODE_TYPES.WhileStatement,test:this.convertChild(_0.expression),body:this.convertChild(_0.statement)});case ex.DoStatement:return this.createNode(_0,{type:ga.AST_NODE_TYPES.DoWhileStatement,test:this.convertChild(_0.expression),body:this.convertChild(_0.statement)});case ex.ForStatement:return this.createNode(_0,{type:ga.AST_NODE_TYPES.ForStatement,init:this.convertChild(_0.initializer),test:this.convertChild(_0.condition),update:this.convertChild(_0.incrementor),body:this.convertChild(_0.statement)});case ex.ForInStatement:return this.createNode(_0,{type:ga.AST_NODE_TYPES.ForInStatement,left:this.convertPattern(_0.initializer),right:this.convertChild(_0.expression),body:this.convertChild(_0.statement)});case ex.ForOfStatement:return this.createNode(_0,{type:ga.AST_NODE_TYPES.ForOfStatement,left:this.convertPattern(_0.initializer),right:this.convertChild(_0.expression),body:this.convertChild(_0.statement),await:Boolean(_0.awaitModifier&&_0.awaitModifier.kind===ex.AwaitKeyword)});case ex.FunctionDeclaration:{const A=ds.hasModifier(ex.DeclareKeyword,_0),Z=this.createNode(_0,{type:A||!_0.body?ga.AST_NODE_TYPES.TSDeclareFunction:ga.AST_NODE_TYPES.FunctionDeclaration,id:this.convertChild(_0.name),generator:!!_0.asteriskToken,expression:!1,async:ds.hasModifier(ex.AsyncKeyword,_0),params:this.convertParameters(_0.parameters),body:this.convertChild(_0.body)||void 0});return _0.type&&(Z.returnType=this.convertTypeAnnotation(_0.type,_0)),A&&(Z.declare=!0),_0.typeParameters&&(Z.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(_0.typeParameters)),this.fixExports(_0,Z)}case ex.VariableDeclaration:{const A=this.createNode(_0,{type:ga.AST_NODE_TYPES.VariableDeclarator,id:this.convertBindingNameWithTypeAnnotation(_0.name,_0.type,_0),init:this.convertChild(_0.initializer)});return _0.exclamationToken&&(A.definite=!0),A}case ex.VariableStatement:{const A=this.createNode(_0,{type:ga.AST_NODE_TYPES.VariableDeclaration,declarations:_0.declarationList.declarations.map(Z=>this.convertChild(Z)),kind:ds.getDeclarationKind(_0.declarationList)});return _0.decorators&&(A.decorators=_0.decorators.map(Z=>this.convertChild(Z))),ds.hasModifier(ex.DeclareKeyword,_0)&&(A.declare=!0),this.fixExports(_0,A)}case ex.VariableDeclarationList:return this.createNode(_0,{type:ga.AST_NODE_TYPES.VariableDeclaration,declarations:_0.declarations.map(A=>this.convertChild(A)),kind:ds.getDeclarationKind(_0)});case ex.ExpressionStatement:return this.createNode(_0,{type:ga.AST_NODE_TYPES.ExpressionStatement,expression:this.convertChild(_0.expression)});case ex.ThisKeyword:return this.createNode(_0,{type:ga.AST_NODE_TYPES.ThisExpression});case ex.ArrayLiteralExpression:return this.allowPattern?this.createNode(_0,{type:ga.AST_NODE_TYPES.ArrayPattern,elements:_0.elements.map(A=>this.convertPattern(A))}):this.createNode(_0,{type:ga.AST_NODE_TYPES.ArrayExpression,elements:_0.elements.map(A=>this.convertChild(A))});case ex.ObjectLiteralExpression:return this.allowPattern?this.createNode(_0,{type:ga.AST_NODE_TYPES.ObjectPattern,properties:_0.properties.map(A=>this.convertPattern(A))}):this.createNode(_0,{type:ga.AST_NODE_TYPES.ObjectExpression,properties:_0.properties.map(A=>this.convertChild(A))});case ex.PropertyAssignment:return this.createNode(_0,{type:ga.AST_NODE_TYPES.Property,key:this.convertChild(_0.name),value:this.converter(_0.initializer,_0,this.inTypeMode,this.allowPattern),computed:ds.isComputedProperty(_0.name),method:!1,shorthand:!1,kind:\"init\"});case ex.ShorthandPropertyAssignment:return _0.objectAssignmentInitializer?this.createNode(_0,{type:ga.AST_NODE_TYPES.Property,key:this.convertChild(_0.name),value:this.createNode(_0,{type:ga.AST_NODE_TYPES.AssignmentPattern,left:this.convertPattern(_0.name),right:this.convertChild(_0.objectAssignmentInitializer)}),computed:!1,method:!1,shorthand:!0,kind:\"init\"}):this.createNode(_0,{type:ga.AST_NODE_TYPES.Property,key:this.convertChild(_0.name),value:this.convertChild(_0.name),computed:!1,method:!1,shorthand:!0,kind:\"init\"});case ex.ComputedPropertyName:return this.convertChild(_0.expression);case ex.PropertyDeclaration:{const A=ds.hasModifier(ex.AbstractKeyword,_0),Z=this.createNode(_0,{type:A?ga.AST_NODE_TYPES.TSAbstractClassProperty:ga.AST_NODE_TYPES.ClassProperty,key:this.convertChild(_0.name),value:this.convertChild(_0.initializer),computed:ds.isComputedProperty(_0.name),static:ds.hasModifier(ex.StaticKeyword,_0),readonly:ds.hasModifier(ex.ReadonlyKeyword,_0)||void 0,declare:ds.hasModifier(ex.DeclareKeyword,_0),override:ds.hasModifier(ex.OverrideKeyword,_0)});_0.type&&(Z.typeAnnotation=this.convertTypeAnnotation(_0.type,_0)),_0.decorators&&(Z.decorators=_0.decorators.map(o0=>this.convertChild(o0)));const A0=ds.getTSNodeAccessibility(_0);return A0&&(Z.accessibility=A0),_0.name.kind!==ex.Identifier&&_0.name.kind!==ex.ComputedPropertyName||!_0.questionToken||(Z.optional=!0),_0.exclamationToken&&(Z.definite=!0),Z.key.type===ga.AST_NODE_TYPES.Literal&&_0.questionToken&&(Z.optional=!0),Z}case ex.GetAccessor:case ex.SetAccessor:if(_0.parent.kind===ex.InterfaceDeclaration||_0.parent.kind===ex.TypeLiteral)return this.convertMethodSignature(_0);case ex.MethodDeclaration:{const A=this.createNode(_0,{type:_0.body?ga.AST_NODE_TYPES.FunctionExpression:ga.AST_NODE_TYPES.TSEmptyBodyFunctionExpression,id:null,generator:!!_0.asteriskToken,expression:!1,async:ds.hasModifier(ex.AsyncKeyword,_0),body:this.convertChild(_0.body),range:[_0.parameters.pos-1,_0.end],params:[]});let Z;if(_0.type&&(A.returnType=this.convertTypeAnnotation(_0.type,_0)),_0.typeParameters&&(A.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(_0.typeParameters),this.fixParentLocation(A,A.typeParameters.range)),Ne.kind===ex.ObjectLiteralExpression)A.params=_0.parameters.map(A0=>this.convertChild(A0)),Z=this.createNode(_0,{type:ga.AST_NODE_TYPES.Property,key:this.convertChild(_0.name),value:A,computed:ds.isComputedProperty(_0.name),method:_0.kind===ex.MethodDeclaration,shorthand:!1,kind:\"init\"});else{A.params=this.convertParameters(_0.parameters);const A0=ds.hasModifier(ex.AbstractKeyword,_0)?ga.AST_NODE_TYPES.TSAbstractMethodDefinition:ga.AST_NODE_TYPES.MethodDefinition;Z=this.createNode(_0,{type:A0,key:this.convertChild(_0.name),value:A,computed:ds.isComputedProperty(_0.name),static:ds.hasModifier(ex.StaticKeyword,_0),kind:\"method\",override:ds.hasModifier(ex.OverrideKeyword,_0)}),_0.decorators&&(Z.decorators=_0.decorators.map(j=>this.convertChild(j)));const o0=ds.getTSNodeAccessibility(_0);o0&&(Z.accessibility=o0)}return _0.questionToken&&(Z.optional=!0),_0.kind===ex.GetAccessor?Z.kind=\"get\":_0.kind===ex.SetAccessor?Z.kind=\"set\":Z.static||_0.name.kind!==ex.StringLiteral||_0.name.text!==\"constructor\"||Z.type===ga.AST_NODE_TYPES.Property||(Z.kind=\"constructor\"),Z}case ex.Constructor:{const A=ds.getLastModifier(_0),Z=A&&ds.findNextToken(A,_0,this.ast)||_0.getFirstToken(),A0=this.createNode(_0,{type:_0.body?ga.AST_NODE_TYPES.FunctionExpression:ga.AST_NODE_TYPES.TSEmptyBodyFunctionExpression,id:null,params:this.convertParameters(_0.parameters),generator:!1,expression:!1,async:!1,body:this.convertChild(_0.body),range:[_0.parameters.pos-1,_0.end]});_0.typeParameters&&(A0.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(_0.typeParameters),this.fixParentLocation(A0,A0.typeParameters.range)),_0.type&&(A0.returnType=this.convertTypeAnnotation(_0.type,_0));const o0=this.createNode(_0,{type:ga.AST_NODE_TYPES.Identifier,name:\"constructor\",range:[Z.getStart(this.ast),Z.end]}),j=ds.hasModifier(ex.StaticKeyword,_0),G=this.createNode(_0,{type:ds.hasModifier(ex.AbstractKeyword,_0)?ga.AST_NODE_TYPES.TSAbstractMethodDefinition:ga.AST_NODE_TYPES.MethodDefinition,key:o0,value:A0,computed:!1,static:j,kind:j?\"method\":\"constructor\",override:!1}),u0=ds.getTSNodeAccessibility(_0);return u0&&(G.accessibility=u0),G}case ex.FunctionExpression:{const A=this.createNode(_0,{type:ga.AST_NODE_TYPES.FunctionExpression,id:this.convertChild(_0.name),generator:!!_0.asteriskToken,params:this.convertParameters(_0.parameters),body:this.convertChild(_0.body),async:ds.hasModifier(ex.AsyncKeyword,_0),expression:!1});return _0.type&&(A.returnType=this.convertTypeAnnotation(_0.type,_0)),_0.typeParameters&&(A.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(_0.typeParameters)),A}case ex.SuperKeyword:return this.createNode(_0,{type:ga.AST_NODE_TYPES.Super});case ex.ArrayBindingPattern:return this.createNode(_0,{type:ga.AST_NODE_TYPES.ArrayPattern,elements:_0.elements.map(A=>this.convertPattern(A))});case ex.OmittedExpression:return null;case ex.ObjectBindingPattern:return this.createNode(_0,{type:ga.AST_NODE_TYPES.ObjectPattern,properties:_0.elements.map(A=>this.convertPattern(A))});case ex.BindingElement:if(Ne.kind===ex.ArrayBindingPattern){const A=this.convertChild(_0.name,Ne);return _0.initializer?this.createNode(_0,{type:ga.AST_NODE_TYPES.AssignmentPattern,left:A,right:this.convertChild(_0.initializer)}):_0.dotDotDotToken?this.createNode(_0,{type:ga.AST_NODE_TYPES.RestElement,argument:A}):A}{let A;return A=_0.dotDotDotToken?this.createNode(_0,{type:ga.AST_NODE_TYPES.RestElement,argument:this.convertChild((e=_0.propertyName)!==null&&e!==void 0?e:_0.name)}):this.createNode(_0,{type:ga.AST_NODE_TYPES.Property,key:this.convertChild((s=_0.propertyName)!==null&&s!==void 0?s:_0.name),value:this.convertChild(_0.name),computed:Boolean(_0.propertyName&&_0.propertyName.kind===ex.ComputedPropertyName),method:!1,shorthand:!_0.propertyName,kind:\"init\"}),_0.initializer&&(A.value=this.createNode(_0,{type:ga.AST_NODE_TYPES.AssignmentPattern,left:this.convertChild(_0.name),right:this.convertChild(_0.initializer),range:[_0.name.getStart(this.ast),_0.initializer.end]})),A}case ex.ArrowFunction:{const A=this.createNode(_0,{type:ga.AST_NODE_TYPES.ArrowFunctionExpression,generator:!1,id:null,params:this.convertParameters(_0.parameters),body:this.convertChild(_0.body),async:ds.hasModifier(ex.AsyncKeyword,_0),expression:_0.body.kind!==ex.Block});return _0.type&&(A.returnType=this.convertTypeAnnotation(_0.type,_0)),_0.typeParameters&&(A.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(_0.typeParameters)),A}case ex.YieldExpression:return this.createNode(_0,{type:ga.AST_NODE_TYPES.YieldExpression,delegate:!!_0.asteriskToken,argument:this.convertChild(_0.expression)});case ex.AwaitExpression:return this.createNode(_0,{type:ga.AST_NODE_TYPES.AwaitExpression,argument:this.convertChild(_0.expression)});case ex.NoSubstitutionTemplateLiteral:return this.createNode(_0,{type:ga.AST_NODE_TYPES.TemplateLiteral,quasis:[this.createNode(_0,{type:ga.AST_NODE_TYPES.TemplateElement,value:{raw:this.ast.text.slice(_0.getStart(this.ast)+1,_0.end-1),cooked:_0.text},tail:!0})],expressions:[]});case ex.TemplateExpression:{const A=this.createNode(_0,{type:ga.AST_NODE_TYPES.TemplateLiteral,quasis:[this.convertChild(_0.head)],expressions:[]});return _0.templateSpans.forEach(Z=>{A.expressions.push(this.convertChild(Z.expression)),A.quasis.push(this.convertChild(Z.literal))}),A}case ex.TaggedTemplateExpression:return this.createNode(_0,{type:ga.AST_NODE_TYPES.TaggedTemplateExpression,typeParameters:_0.typeArguments?this.convertTypeArgumentsToTypeParameters(_0.typeArguments,_0):void 0,tag:this.convertChild(_0.tag),quasi:this.convertChild(_0.template)});case ex.TemplateHead:case ex.TemplateMiddle:case ex.TemplateTail:{const A=_0.kind===ex.TemplateTail;return this.createNode(_0,{type:ga.AST_NODE_TYPES.TemplateElement,value:{raw:this.ast.text.slice(_0.getStart(this.ast)+1,_0.end-(A?1:2)),cooked:_0.text},tail:A})}case ex.SpreadAssignment:case ex.SpreadElement:return this.allowPattern?this.createNode(_0,{type:ga.AST_NODE_TYPES.RestElement,argument:this.convertPattern(_0.expression)}):this.createNode(_0,{type:ga.AST_NODE_TYPES.SpreadElement,argument:this.convertChild(_0.expression)});case ex.Parameter:{let A,Z;return _0.dotDotDotToken?A=Z=this.createNode(_0,{type:ga.AST_NODE_TYPES.RestElement,argument:this.convertChild(_0.name)}):_0.initializer?(A=this.convertChild(_0.name),Z=this.createNode(_0,{type:ga.AST_NODE_TYPES.AssignmentPattern,left:A,right:this.convertChild(_0.initializer)}),_0.modifiers&&(Z.range[0]=A.range[0],Z.loc=ds.getLocFor(Z.range[0],Z.range[1],this.ast))):A=Z=this.convertChild(_0.name,Ne),_0.type&&(A.typeAnnotation=this.convertTypeAnnotation(_0.type,_0),this.fixParentLocation(A,A.typeAnnotation.range)),_0.questionToken&&(_0.questionToken.end>A.range[1]&&(A.range[1]=_0.questionToken.end,A.loc.end=ds.getLineAndCharacterFor(A.range[1],this.ast)),A.optional=!0),_0.modifiers?this.createNode(_0,{type:ga.AST_NODE_TYPES.TSParameterProperty,accessibility:(X=ds.getTSNodeAccessibility(_0))!==null&&X!==void 0?X:void 0,readonly:ds.hasModifier(ex.ReadonlyKeyword,_0)||void 0,static:ds.hasModifier(ex.StaticKeyword,_0)||void 0,export:ds.hasModifier(ex.ExportKeyword,_0)||void 0,override:ds.hasModifier(ex.OverrideKeyword,_0)||void 0,parameter:Z}):Z}case ex.ClassDeclaration:case ex.ClassExpression:{const A=(J=_0.heritageClauses)!==null&&J!==void 0?J:[],Z=_0.kind===ex.ClassDeclaration?ga.AST_NODE_TYPES.ClassDeclaration:ga.AST_NODE_TYPES.ClassExpression,A0=A.find(u0=>u0.token===ex.ExtendsKeyword),o0=A.find(u0=>u0.token===ex.ImplementsKeyword),j=this.createNode(_0,{type:Z,id:this.convertChild(_0.name),body:this.createNode(_0,{type:ga.AST_NODE_TYPES.ClassBody,body:[],range:[_0.members.pos-1,_0.end]}),superClass:(A0==null?void 0:A0.types[0])?this.convertChild(A0.types[0].expression):null});if(A0){if(A0.types.length>1)throw ds.createError(this.ast,A0.types[1].pos,\"Classes can only extend a single class.\");((m0=A0.types[0])===null||m0===void 0?void 0:m0.typeArguments)&&(j.superTypeParameters=this.convertTypeArgumentsToTypeParameters(A0.types[0].typeArguments,A0.types[0]))}_0.typeParameters&&(j.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(_0.typeParameters)),o0&&(j.implements=o0.types.map(u0=>this.convertChild(u0))),ds.hasModifier(ex.AbstractKeyword,_0)&&(j.abstract=!0),ds.hasModifier(ex.DeclareKeyword,_0)&&(j.declare=!0),_0.decorators&&(j.decorators=_0.decorators.map(u0=>this.convertChild(u0)));const G=_0.members.filter(ds.isESTreeClassMember);return G.length&&(j.body.body=G.map(u0=>this.convertChild(u0))),this.fixExports(_0,j)}case ex.ModuleBlock:return this.createNode(_0,{type:ga.AST_NODE_TYPES.TSModuleBlock,body:this.convertBodyExpressions(_0.statements,_0)});case ex.ImportDeclaration:{const A=this.createNode(_0,{type:ga.AST_NODE_TYPES.ImportDeclaration,source:this.convertChild(_0.moduleSpecifier),specifiers:[],importKind:\"value\"});if(_0.importClause&&(_0.importClause.isTypeOnly&&(A.importKind=\"type\"),_0.importClause.name&&A.specifiers.push(this.convertChild(_0.importClause)),_0.importClause.namedBindings))switch(_0.importClause.namedBindings.kind){case ex.NamespaceImport:A.specifiers.push(this.convertChild(_0.importClause.namedBindings));break;case ex.NamedImports:A.specifiers=A.specifiers.concat(_0.importClause.namedBindings.elements.map(Z=>this.convertChild(Z)))}return A}case ex.NamespaceImport:return this.createNode(_0,{type:ga.AST_NODE_TYPES.ImportNamespaceSpecifier,local:this.convertChild(_0.name)});case ex.ImportSpecifier:return this.createNode(_0,{type:ga.AST_NODE_TYPES.ImportSpecifier,local:this.convertChild(_0.name),imported:this.convertChild((s1=_0.propertyName)!==null&&s1!==void 0?s1:_0.name)});case ex.ImportClause:{const A=this.convertChild(_0.name);return this.createNode(_0,{type:ga.AST_NODE_TYPES.ImportDefaultSpecifier,local:A,range:A.range})}case ex.ExportDeclaration:return((i0=_0.exportClause)===null||i0===void 0?void 0:i0.kind)===ex.NamedExports?this.createNode(_0,{type:ga.AST_NODE_TYPES.ExportNamedDeclaration,source:this.convertChild(_0.moduleSpecifier),specifiers:_0.exportClause.elements.map(A=>this.convertChild(A)),exportKind:_0.isTypeOnly?\"type\":\"value\",declaration:null}):this.createNode(_0,{type:ga.AST_NODE_TYPES.ExportAllDeclaration,source:this.convertChild(_0.moduleSpecifier),exportKind:_0.isTypeOnly?\"type\":\"value\",exported:_0.exportClause&&_0.exportClause.kind===ex.NamespaceExport?this.convertChild(_0.exportClause.name):null});case ex.ExportSpecifier:return this.createNode(_0,{type:ga.AST_NODE_TYPES.ExportSpecifier,local:this.convertChild((H0=_0.propertyName)!==null&&H0!==void 0?H0:_0.name),exported:this.convertChild(_0.name)});case ex.ExportAssignment:return _0.isExportEquals?this.createNode(_0,{type:ga.AST_NODE_TYPES.TSExportAssignment,expression:this.convertChild(_0.expression)}):this.createNode(_0,{type:ga.AST_NODE_TYPES.ExportDefaultDeclaration,declaration:this.convertChild(_0.expression),exportKind:\"value\"});case ex.PrefixUnaryExpression:case ex.PostfixUnaryExpression:{const A=ds.getTextForTokenKind(_0.operator);return A===\"++\"||A===\"--\"?this.createNode(_0,{type:ga.AST_NODE_TYPES.UpdateExpression,operator:A,prefix:_0.kind===ex.PrefixUnaryExpression,argument:this.convertChild(_0.operand)}):this.createNode(_0,{type:ga.AST_NODE_TYPES.UnaryExpression,operator:A,prefix:_0.kind===ex.PrefixUnaryExpression,argument:this.convertChild(_0.operand)})}case ex.DeleteExpression:return this.createNode(_0,{type:ga.AST_NODE_TYPES.UnaryExpression,operator:\"delete\",prefix:!0,argument:this.convertChild(_0.expression)});case ex.VoidExpression:return this.createNode(_0,{type:ga.AST_NODE_TYPES.UnaryExpression,operator:\"void\",prefix:!0,argument:this.convertChild(_0.expression)});case ex.TypeOfExpression:return this.createNode(_0,{type:ga.AST_NODE_TYPES.UnaryExpression,operator:\"typeof\",prefix:!0,argument:this.convertChild(_0.expression)});case ex.TypeOperator:return this.createNode(_0,{type:ga.AST_NODE_TYPES.TSTypeOperator,operator:ds.getTextForTokenKind(_0.operator),typeAnnotation:this.convertChild(_0.type)});case ex.BinaryExpression:if(ds.isComma(_0.operatorToken)){const A=this.createNode(_0,{type:ga.AST_NODE_TYPES.SequenceExpression,expressions:[]}),Z=this.convertChild(_0.left);return Z.type===ga.AST_NODE_TYPES.SequenceExpression&&_0.left.kind!==ex.ParenthesizedExpression?A.expressions=A.expressions.concat(Z.expressions):A.expressions.push(Z),A.expressions.push(this.convertChild(_0.right)),A}{const A=ds.getBinaryExpressionType(_0.operatorToken);return this.allowPattern&&A===ga.AST_NODE_TYPES.AssignmentExpression?this.createNode(_0,{type:ga.AST_NODE_TYPES.AssignmentPattern,left:this.convertPattern(_0.left,_0),right:this.convertChild(_0.right)}):this.createNode(_0,{type:A,operator:ds.getTextForTokenKind(_0.operatorToken.kind),left:this.converter(_0.left,_0,this.inTypeMode,A===ga.AST_NODE_TYPES.AssignmentExpression),right:this.convertChild(_0.right)})}case ex.PropertyAccessExpression:{const A=this.convertChild(_0.expression),Z=this.convertChild(_0.name),A0=!1,o0=this.createNode(_0,{type:ga.AST_NODE_TYPES.MemberExpression,object:A,property:Z,computed:A0,optional:_0.questionDotToken!==void 0});return this.convertChainExpression(o0,_0)}case ex.ElementAccessExpression:{const A=this.convertChild(_0.expression),Z=this.convertChild(_0.argumentExpression),A0=!0,o0=this.createNode(_0,{type:ga.AST_NODE_TYPES.MemberExpression,object:A,property:Z,computed:A0,optional:_0.questionDotToken!==void 0});return this.convertChainExpression(o0,_0)}case ex.CallExpression:{if(_0.expression.kind===ex.ImportKeyword){if(_0.arguments.length!==1)throw ds.createError(this.ast,_0.arguments.pos,\"Dynamic import must have one specifier as an argument.\");return this.createNode(_0,{type:ga.AST_NODE_TYPES.ImportExpression,source:this.convertChild(_0.arguments[0])})}const A=this.convertChild(_0.expression),Z=_0.arguments.map(o0=>this.convertChild(o0)),A0=this.createNode(_0,{type:ga.AST_NODE_TYPES.CallExpression,callee:A,arguments:Z,optional:_0.questionDotToken!==void 0});return _0.typeArguments&&(A0.typeParameters=this.convertTypeArgumentsToTypeParameters(_0.typeArguments,_0)),this.convertChainExpression(A0,_0)}case ex.NewExpression:{const A=this.createNode(_0,{type:ga.AST_NODE_TYPES.NewExpression,callee:this.convertChild(_0.expression),arguments:_0.arguments?_0.arguments.map(Z=>this.convertChild(Z)):[]});return _0.typeArguments&&(A.typeParameters=this.convertTypeArgumentsToTypeParameters(_0.typeArguments,_0)),A}case ex.ConditionalExpression:return this.createNode(_0,{type:ga.AST_NODE_TYPES.ConditionalExpression,test:this.convertChild(_0.condition),consequent:this.convertChild(_0.whenTrue),alternate:this.convertChild(_0.whenFalse)});case ex.MetaProperty:return this.createNode(_0,{type:ga.AST_NODE_TYPES.MetaProperty,meta:this.createNode(_0.getFirstToken(),{type:ga.AST_NODE_TYPES.Identifier,name:ds.getTextForTokenKind(_0.keywordToken)}),property:this.convertChild(_0.name)});case ex.Decorator:return this.createNode(_0,{type:ga.AST_NODE_TYPES.Decorator,expression:this.convertChild(_0.expression)});case ex.StringLiteral:return this.createNode(_0,{type:ga.AST_NODE_TYPES.Literal,value:Ne.kind===ex.JsxAttribute?ds.unescapeStringLiteralText(_0.text):_0.text,raw:_0.getText()});case ex.NumericLiteral:return this.createNode(_0,{type:ga.AST_NODE_TYPES.Literal,value:Number(_0.text),raw:_0.getText()});case ex.BigIntLiteral:{const A=ds.getRange(_0,this.ast),Z=this.ast.text.slice(A[0],A[1]),A0=Z.slice(0,-1).replace(/_/g,\"\"),o0=typeof BigInt!=\"undefined\"?BigInt(A0):null;return this.createNode(_0,{type:ga.AST_NODE_TYPES.Literal,raw:Z,value:o0,bigint:o0===null?A0:String(o0),range:A})}case ex.RegularExpressionLiteral:{const A=_0.text.slice(1,_0.text.lastIndexOf(\"/\")),Z=_0.text.slice(_0.text.lastIndexOf(\"/\")+1);let A0=null;try{A0=new RegExp(A,Z)}catch{A0=null}return this.createNode(_0,{type:ga.AST_NODE_TYPES.Literal,value:A0,raw:_0.text,regex:{pattern:A,flags:Z}})}case ex.TrueKeyword:return this.createNode(_0,{type:ga.AST_NODE_TYPES.Literal,value:!0,raw:\"true\"});case ex.FalseKeyword:return this.createNode(_0,{type:ga.AST_NODE_TYPES.Literal,value:!1,raw:\"false\"});case ex.NullKeyword:return!$h.typescriptVersionIsAtLeast[\"4.0\"]&&this.inTypeMode?this.createNode(_0,{type:ga.AST_NODE_TYPES.TSNullKeyword}):this.createNode(_0,{type:ga.AST_NODE_TYPES.Literal,value:null,raw:\"null\"});case ex.EmptyStatement:return this.createNode(_0,{type:ga.AST_NODE_TYPES.EmptyStatement});case ex.DebuggerStatement:return this.createNode(_0,{type:ga.AST_NODE_TYPES.DebuggerStatement});case ex.JsxElement:return this.createNode(_0,{type:ga.AST_NODE_TYPES.JSXElement,openingElement:this.convertChild(_0.openingElement),closingElement:this.convertChild(_0.closingElement),children:_0.children.map(A=>this.convertChild(A))});case ex.JsxFragment:return this.createNode(_0,{type:ga.AST_NODE_TYPES.JSXFragment,openingFragment:this.convertChild(_0.openingFragment),closingFragment:this.convertChild(_0.closingFragment),children:_0.children.map(A=>this.convertChild(A))});case ex.JsxSelfClosingElement:return this.createNode(_0,{type:ga.AST_NODE_TYPES.JSXElement,openingElement:this.createNode(_0,{type:ga.AST_NODE_TYPES.JSXOpeningElement,typeParameters:_0.typeArguments?this.convertTypeArgumentsToTypeParameters(_0.typeArguments,_0):void 0,selfClosing:!0,name:this.convertJSXTagName(_0.tagName,_0),attributes:_0.attributes.properties.map(A=>this.convertChild(A)),range:ds.getRange(_0,this.ast)}),closingElement:null,children:[]});case ex.JsxOpeningElement:return this.createNode(_0,{type:ga.AST_NODE_TYPES.JSXOpeningElement,typeParameters:_0.typeArguments?this.convertTypeArgumentsToTypeParameters(_0.typeArguments,_0):void 0,selfClosing:!1,name:this.convertJSXTagName(_0.tagName,_0),attributes:_0.attributes.properties.map(A=>this.convertChild(A))});case ex.JsxClosingElement:return this.createNode(_0,{type:ga.AST_NODE_TYPES.JSXClosingElement,name:this.convertJSXTagName(_0.tagName,_0)});case ex.JsxOpeningFragment:return this.createNode(_0,{type:ga.AST_NODE_TYPES.JSXOpeningFragment});case ex.JsxClosingFragment:return this.createNode(_0,{type:ga.AST_NODE_TYPES.JSXClosingFragment});case ex.JsxExpression:{const A=_0.expression?this.convertChild(_0.expression):this.createNode(_0,{type:ga.AST_NODE_TYPES.JSXEmptyExpression,range:[_0.getStart(this.ast)+1,_0.getEnd()-1]});return _0.dotDotDotToken?this.createNode(_0,{type:ga.AST_NODE_TYPES.JSXSpreadChild,expression:A}):this.createNode(_0,{type:ga.AST_NODE_TYPES.JSXExpressionContainer,expression:A})}case ex.JsxAttribute:return this.createNode(_0,{type:ga.AST_NODE_TYPES.JSXAttribute,name:this.convertJSXNamespaceOrIdentifier(_0.name),value:this.convertChild(_0.initializer)});case ex.JsxText:{const A=_0.getFullStart(),Z=_0.getEnd(),A0=this.ast.text.slice(A,Z);return this.options.useJSXTextNode?this.createNode(_0,{type:ga.AST_NODE_TYPES.JSXText,value:ds.unescapeStringLiteralText(A0),raw:A0,range:[A,Z]}):this.createNode(_0,{type:ga.AST_NODE_TYPES.Literal,value:ds.unescapeStringLiteralText(A0),raw:A0,range:[A,Z]})}case ex.JsxSpreadAttribute:return this.createNode(_0,{type:ga.AST_NODE_TYPES.JSXSpreadAttribute,argument:this.convertChild(_0.expression)});case ex.QualifiedName:return this.createNode(_0,{type:ga.AST_NODE_TYPES.TSQualifiedName,left:this.convertChild(_0.left),right:this.convertChild(_0.right)});case ex.TypeReference:return this.createNode(_0,{type:ga.AST_NODE_TYPES.TSTypeReference,typeName:this.convertType(_0.typeName),typeParameters:_0.typeArguments?this.convertTypeArgumentsToTypeParameters(_0.typeArguments,_0):void 0});case ex.TypeParameter:return this.createNode(_0,{type:ga.AST_NODE_TYPES.TSTypeParameter,name:this.convertType(_0.name),constraint:_0.constraint?this.convertType(_0.constraint):void 0,default:_0.default?this.convertType(_0.default):void 0});case ex.ThisType:return this.createNode(_0,{type:ga.AST_NODE_TYPES.TSThisType});case ex.AnyKeyword:case ex.BigIntKeyword:case ex.BooleanKeyword:case ex.NeverKeyword:case ex.NumberKeyword:case ex.ObjectKeyword:case ex.StringKeyword:case ex.SymbolKeyword:case ex.UnknownKeyword:case ex.VoidKeyword:case ex.UndefinedKeyword:case ex.IntrinsicKeyword:return this.createNode(_0,{type:ga.AST_NODE_TYPES[`TS${ex[_0.kind]}`]});case ex.NonNullExpression:{const A=this.createNode(_0,{type:ga.AST_NODE_TYPES.TSNonNullExpression,expression:this.convertChild(_0.expression)});return this.convertChainExpression(A,_0)}case ex.TypeLiteral:return this.createNode(_0,{type:ga.AST_NODE_TYPES.TSTypeLiteral,members:_0.members.map(A=>this.convertChild(A))});case ex.ArrayType:return this.createNode(_0,{type:ga.AST_NODE_TYPES.TSArrayType,elementType:this.convertType(_0.elementType)});case ex.IndexedAccessType:return this.createNode(_0,{type:ga.AST_NODE_TYPES.TSIndexedAccessType,objectType:this.convertType(_0.objectType),indexType:this.convertType(_0.indexType)});case ex.ConditionalType:return this.createNode(_0,{type:ga.AST_NODE_TYPES.TSConditionalType,checkType:this.convertType(_0.checkType),extendsType:this.convertType(_0.extendsType),trueType:this.convertType(_0.trueType),falseType:this.convertType(_0.falseType)});case ex.TypeQuery:return this.createNode(_0,{type:ga.AST_NODE_TYPES.TSTypeQuery,exprName:this.convertType(_0.exprName)});case ex.MappedType:{const A=this.createNode(_0,{type:ga.AST_NODE_TYPES.TSMappedType,typeParameter:this.convertType(_0.typeParameter),nameType:(E0=this.convertType(_0.nameType))!==null&&E0!==void 0?E0:null});return _0.readonlyToken&&(_0.readonlyToken.kind===ex.ReadonlyKeyword?A.readonly=!0:A.readonly=ds.getTextForTokenKind(_0.readonlyToken.kind)),_0.questionToken&&(_0.questionToken.kind===ex.QuestionToken?A.optional=!0:A.optional=ds.getTextForTokenKind(_0.questionToken.kind)),_0.type&&(A.typeAnnotation=this.convertType(_0.type)),A}case ex.ParenthesizedExpression:return this.convertChild(_0.expression,Ne);case ex.TypeAliasDeclaration:{const A=this.createNode(_0,{type:ga.AST_NODE_TYPES.TSTypeAliasDeclaration,id:this.convertChild(_0.name),typeAnnotation:this.convertType(_0.type)});return ds.hasModifier(ex.DeclareKeyword,_0)&&(A.declare=!0),_0.typeParameters&&(A.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(_0.typeParameters)),this.fixExports(_0,A)}case ex.MethodSignature:return this.convertMethodSignature(_0);case ex.PropertySignature:{const A=this.createNode(_0,{type:ga.AST_NODE_TYPES.TSPropertySignature,optional:ds.isOptional(_0)||void 0,computed:ds.isComputedProperty(_0.name),key:this.convertChild(_0.name),typeAnnotation:_0.type?this.convertTypeAnnotation(_0.type,_0):void 0,initializer:this.convertChild(_0.initializer)||void 0,readonly:ds.hasModifier(ex.ReadonlyKeyword,_0)||void 0,static:ds.hasModifier(ex.StaticKeyword,_0)||void 0,export:ds.hasModifier(ex.ExportKeyword,_0)||void 0}),Z=ds.getTSNodeAccessibility(_0);return Z&&(A.accessibility=Z),A}case ex.IndexSignature:{const A=this.createNode(_0,{type:ga.AST_NODE_TYPES.TSIndexSignature,parameters:_0.parameters.map(A0=>this.convertChild(A0))});_0.type&&(A.typeAnnotation=this.convertTypeAnnotation(_0.type,_0)),ds.hasModifier(ex.ReadonlyKeyword,_0)&&(A.readonly=!0);const Z=ds.getTSNodeAccessibility(_0);return Z&&(A.accessibility=Z),ds.hasModifier(ex.ExportKeyword,_0)&&(A.export=!0),ds.hasModifier(ex.StaticKeyword,_0)&&(A.static=!0),A}case ex.ConstructorType:{const A=this.createNode(_0,{type:ga.AST_NODE_TYPES.TSConstructorType,params:this.convertParameters(_0.parameters),abstract:ds.hasModifier(ex.AbstractKeyword,_0)});return _0.type&&(A.returnType=this.convertTypeAnnotation(_0.type,_0)),_0.typeParameters&&(A.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(_0.typeParameters)),A}case ex.FunctionType:case ex.ConstructSignature:case ex.CallSignature:{const A=_0.kind===ex.ConstructSignature?ga.AST_NODE_TYPES.TSConstructSignatureDeclaration:_0.kind===ex.CallSignature?ga.AST_NODE_TYPES.TSCallSignatureDeclaration:ga.AST_NODE_TYPES.TSFunctionType,Z=this.createNode(_0,{type:A,params:this.convertParameters(_0.parameters)});return _0.type&&(Z.returnType=this.convertTypeAnnotation(_0.type,_0)),_0.typeParameters&&(Z.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(_0.typeParameters)),Z}case ex.ExpressionWithTypeArguments:{const A=this.createNode(_0,{type:Ne&&Ne.kind===ex.InterfaceDeclaration?ga.AST_NODE_TYPES.TSInterfaceHeritage:ga.AST_NODE_TYPES.TSClassImplements,expression:this.convertChild(_0.expression)});return _0.typeArguments&&(A.typeParameters=this.convertTypeArgumentsToTypeParameters(_0.typeArguments,_0)),A}case ex.InterfaceDeclaration:{const A=(I=_0.heritageClauses)!==null&&I!==void 0?I:[],Z=this.createNode(_0,{type:ga.AST_NODE_TYPES.TSInterfaceDeclaration,body:this.createNode(_0,{type:ga.AST_NODE_TYPES.TSInterfaceBody,body:_0.members.map(A0=>this.convertChild(A0)),range:[_0.members.pos-1,_0.end]}),id:this.convertChild(_0.name)});if(_0.typeParameters&&(Z.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(_0.typeParameters)),A.length>0){const A0=[],o0=[];for(const j of A)if(j.token===ex.ExtendsKeyword)for(const G of j.types)A0.push(this.convertChild(G,_0));else for(const G of j.types)o0.push(this.convertChild(G,_0));A0.length&&(Z.extends=A0),o0.length&&(Z.implements=o0)}return ds.hasModifier(ex.AbstractKeyword,_0)&&(Z.abstract=!0),ds.hasModifier(ex.DeclareKeyword,_0)&&(Z.declare=!0),this.fixExports(_0,Z)}case ex.TypePredicate:{const A=this.createNode(_0,{type:ga.AST_NODE_TYPES.TSTypePredicate,asserts:_0.assertsModifier!==void 0,parameterName:this.convertChild(_0.parameterName),typeAnnotation:null});return _0.type&&(A.typeAnnotation=this.convertTypeAnnotation(_0.type,_0),A.typeAnnotation.loc=A.typeAnnotation.typeAnnotation.loc,A.typeAnnotation.range=A.typeAnnotation.typeAnnotation.range),A}case ex.ImportType:return this.createNode(_0,{type:ga.AST_NODE_TYPES.TSImportType,isTypeOf:!!_0.isTypeOf,parameter:this.convertChild(_0.argument),qualifier:this.convertChild(_0.qualifier),typeParameters:_0.typeArguments?this.convertTypeArgumentsToTypeParameters(_0.typeArguments,_0):null});case ex.EnumDeclaration:{const A=this.createNode(_0,{type:ga.AST_NODE_TYPES.TSEnumDeclaration,id:this.convertChild(_0.name),members:_0.members.map(Z=>this.convertChild(Z))});return this.applyModifiersToResult(A,_0.modifiers),this.fixExports(_0,A)}case ex.EnumMember:{const A=this.createNode(_0,{type:ga.AST_NODE_TYPES.TSEnumMember,id:this.convertChild(_0.name)});return _0.initializer&&(A.initializer=this.convertChild(_0.initializer)),_0.name.kind===v1.SyntaxKind.ComputedPropertyName&&(A.computed=!0),A}case ex.ModuleDeclaration:{const A=this.createNode(_0,{type:ga.AST_NODE_TYPES.TSModuleDeclaration,id:this.convertChild(_0.name)});return _0.body&&(A.body=this.convertChild(_0.body)),this.applyModifiersToResult(A,_0.modifiers),_0.flags&v1.NodeFlags.GlobalAugmentation&&(A.global=!0),this.fixExports(_0,A)}case ex.ParenthesizedType:return this.createNode(_0,{type:ga.AST_NODE_TYPES.TSParenthesizedType,typeAnnotation:this.convertType(_0.type)});case ex.UnionType:return this.createNode(_0,{type:ga.AST_NODE_TYPES.TSUnionType,types:_0.types.map(A=>this.convertType(A))});case ex.IntersectionType:return this.createNode(_0,{type:ga.AST_NODE_TYPES.TSIntersectionType,types:_0.types.map(A=>this.convertType(A))});case ex.AsExpression:return this.createNode(_0,{type:ga.AST_NODE_TYPES.TSAsExpression,expression:this.convertChild(_0.expression),typeAnnotation:this.convertType(_0.type)});case ex.InferType:return this.createNode(_0,{type:ga.AST_NODE_TYPES.TSInferType,typeParameter:this.convertType(_0.typeParameter)});case ex.LiteralType:return $h.typescriptVersionIsAtLeast[\"4.0\"]&&_0.literal.kind===ex.NullKeyword?this.createNode(_0.literal,{type:ga.AST_NODE_TYPES.TSNullKeyword}):this.createNode(_0,{type:ga.AST_NODE_TYPES.TSLiteralType,literal:this.convertType(_0.literal)});case ex.TypeAssertionExpression:return this.createNode(_0,{type:ga.AST_NODE_TYPES.TSTypeAssertion,typeAnnotation:this.convertType(_0.type),expression:this.convertChild(_0.expression)});case ex.ImportEqualsDeclaration:return this.createNode(_0,{type:ga.AST_NODE_TYPES.TSImportEqualsDeclaration,id:this.convertChild(_0.name),moduleReference:this.convertChild(_0.moduleReference),importKind:_0.isTypeOnly?\"type\":\"value\",isExport:ds.hasModifier(ex.ExportKeyword,_0)});case ex.ExternalModuleReference:return this.createNode(_0,{type:ga.AST_NODE_TYPES.TSExternalModuleReference,expression:this.convertChild(_0.expression)});case ex.NamespaceExportDeclaration:return this.createNode(_0,{type:ga.AST_NODE_TYPES.TSNamespaceExportDeclaration,id:this.convertChild(_0.name)});case ex.AbstractKeyword:return this.createNode(_0,{type:ga.AST_NODE_TYPES.TSAbstractKeyword});case ex.TupleType:{const A=\"elementTypes\"in _0?_0.elementTypes.map(Z=>this.convertType(Z)):_0.elements.map(Z=>this.convertType(Z));return this.createNode(_0,{type:ga.AST_NODE_TYPES.TSTupleType,elementTypes:A})}case ex.NamedTupleMember:{const A=this.createNode(_0,{type:ga.AST_NODE_TYPES.TSNamedTupleMember,elementType:this.convertType(_0.type,_0),label:this.convertChild(_0.name,_0),optional:_0.questionToken!=null});return _0.dotDotDotToken?(A.range[0]=A.label.range[0],A.loc.start=A.label.loc.start,this.createNode(_0,{type:ga.AST_NODE_TYPES.TSRestType,typeAnnotation:A})):A}case ex.OptionalType:return this.createNode(_0,{type:ga.AST_NODE_TYPES.TSOptionalType,typeAnnotation:this.convertType(_0.type)});case ex.RestType:return this.createNode(_0,{type:ga.AST_NODE_TYPES.TSRestType,typeAnnotation:this.convertType(_0.type)});case ex.TemplateLiteralType:{const A=this.createNode(_0,{type:ga.AST_NODE_TYPES.TSTemplateLiteralType,quasis:[this.convertChild(_0.head)],types:[]});return _0.templateSpans.forEach(Z=>{A.types.push(this.convertChild(Z.type)),A.quasis.push(this.convertChild(Z.literal))}),A}default:return this.deeplyCopy(_0)}}}}),AA=function(C,D){return(AA=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function($,o1){$.__proto__=o1}||function($,o1){for(var j1 in o1)o1.hasOwnProperty(j1)&&($[j1]=o1[j1])})(C,D)},__=function(){return(__=Object.assign||function(C){for(var D,$=1,o1=arguments.length;$<o1;$++)for(var j1 in D=arguments[$])Object.prototype.hasOwnProperty.call(D,j1)&&(C[j1]=D[j1]);return C}).apply(this,arguments)};function iN(C){var D=typeof Symbol==\"function\"&&Symbol.iterator,$=D&&C[D],o1=0;if($)return $.call(C);if(C&&typeof C.length==\"number\")return{next:function(){return C&&o1>=C.length&&(C=void 0),{value:C&&C[o1++],done:!C}}};throw new TypeError(D?\"Object is not iterable.\":\"Symbol.iterator is not defined.\")}function ig(C,D){var $=typeof Symbol==\"function\"&&C[Symbol.iterator];if(!$)return C;var o1,j1,v1=$.call(C),ex=[];try{for(;(D===void 0||D-- >0)&&!(o1=v1.next()).done;)ex.push(o1.value)}catch(_0){j1={error:_0}}finally{try{o1&&!o1.done&&($=v1.return)&&$.call(v1)}finally{if(j1)throw j1.error}}return ex}function LI(C){return this instanceof LI?(this.v=C,this):new LI(C)}var $m=Object.freeze({__proto__:null,__extends:function(C,D){function $(){this.constructor=C}AA(C,D),C.prototype=D===null?Object.create(D):($.prototype=D.prototype,new $)},get __assign(){return __},__rest:function(C,D){var $={};for(var o1 in C)Object.prototype.hasOwnProperty.call(C,o1)&&D.indexOf(o1)<0&&($[o1]=C[o1]);if(C!=null&&typeof Object.getOwnPropertySymbols==\"function\"){var j1=0;for(o1=Object.getOwnPropertySymbols(C);j1<o1.length;j1++)D.indexOf(o1[j1])<0&&Object.prototype.propertyIsEnumerable.call(C,o1[j1])&&($[o1[j1]]=C[o1[j1]])}return $},__decorate:function(C,D,$,o1){var j1,v1=arguments.length,ex=v1<3?D:o1===null?o1=Object.getOwnPropertyDescriptor(D,$):o1;if(typeof Reflect==\"object\"&&typeof Reflect.decorate==\"function\")ex=Reflect.decorate(C,D,$,o1);else for(var _0=C.length-1;_0>=0;_0--)(j1=C[_0])&&(ex=(v1<3?j1(ex):v1>3?j1(D,$,ex):j1(D,$))||ex);return v1>3&&ex&&Object.defineProperty(D,$,ex),ex},__param:function(C,D){return function($,o1){D($,o1,C)}},__metadata:function(C,D){if(typeof Reflect==\"object\"&&typeof Reflect.metadata==\"function\")return Reflect.metadata(C,D)},__awaiter:function(C,D,$,o1){return new($||($=Promise))(function(j1,v1){function ex(e){try{Ne(o1.next(e))}catch(s){v1(s)}}function _0(e){try{Ne(o1.throw(e))}catch(s){v1(s)}}function Ne(e){var s;e.done?j1(e.value):(s=e.value,s instanceof $?s:new $(function(X){X(s)})).then(ex,_0)}Ne((o1=o1.apply(C,D||[])).next())})},__generator:function(C,D){var $,o1,j1,v1,ex={label:0,sent:function(){if(1&j1[0])throw j1[1];return j1[1]},trys:[],ops:[]};return v1={next:_0(0),throw:_0(1),return:_0(2)},typeof Symbol==\"function\"&&(v1[Symbol.iterator]=function(){return this}),v1;function _0(Ne){return function(e){return function(s){if($)throw new TypeError(\"Generator is already executing.\");for(;ex;)try{if($=1,o1&&(j1=2&s[0]?o1.return:s[0]?o1.throw||((j1=o1.return)&&j1.call(o1),0):o1.next)&&!(j1=j1.call(o1,s[1])).done)return j1;switch(o1=0,j1&&(s=[2&s[0],j1.value]),s[0]){case 0:case 1:j1=s;break;case 4:return ex.label++,{value:s[1],done:!1};case 5:ex.label++,o1=s[1],s=[0];continue;case 7:s=ex.ops.pop(),ex.trys.pop();continue;default:if(j1=ex.trys,!((j1=j1.length>0&&j1[j1.length-1])||s[0]!==6&&s[0]!==2)){ex=0;continue}if(s[0]===3&&(!j1||s[1]>j1[0]&&s[1]<j1[3])){ex.label=s[1];break}if(s[0]===6&&ex.label<j1[1]){ex.label=j1[1],j1=s;break}if(j1&&ex.label<j1[2]){ex.label=j1[2],ex.ops.push(s);break}j1[2]&&ex.ops.pop(),ex.trys.pop();continue}s=D.call(C,ex)}catch(X){s=[6,X],o1=0}finally{$=j1=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([Ne,e])}}},__createBinding:function(C,D,$,o1){o1===void 0&&(o1=$),C[o1]=D[$]},__exportStar:function(C,D){for(var $ in C)$===\"default\"||D.hasOwnProperty($)||(D[$]=C[$])},__values:iN,__read:ig,__spread:function(){for(var C=[],D=0;D<arguments.length;D++)C=C.concat(ig(arguments[D]));return C},__spreadArrays:function(){for(var C=0,D=0,$=arguments.length;D<$;D++)C+=arguments[D].length;var o1=Array(C),j1=0;for(D=0;D<$;D++)for(var v1=arguments[D],ex=0,_0=v1.length;ex<_0;ex++,j1++)o1[j1]=v1[ex];return o1},__await:LI,__asyncGenerator:function(C,D,$){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var o1,j1=$.apply(C,D||[]),v1=[];return o1={},ex(\"next\"),ex(\"throw\"),ex(\"return\"),o1[Symbol.asyncIterator]=function(){return this},o1;function ex(X){j1[X]&&(o1[X]=function(J){return new Promise(function(m0,s1){v1.push([X,J,m0,s1])>1||_0(X,J)})})}function _0(X,J){try{(m0=j1[X](J)).value instanceof LI?Promise.resolve(m0.value.v).then(Ne,e):s(v1[0][2],m0)}catch(s1){s(v1[0][3],s1)}var m0}function Ne(X){_0(\"next\",X)}function e(X){_0(\"throw\",X)}function s(X,J){X(J),v1.shift(),v1.length&&_0(v1[0][0],v1[0][1])}},__asyncDelegator:function(C){var D,$;return D={},o1(\"next\"),o1(\"throw\",function(j1){throw j1}),o1(\"return\"),D[Symbol.iterator]=function(){return this},D;function o1(j1,v1){D[j1]=C[j1]?function(ex){return($=!$)?{value:LI(C[j1](ex)),done:j1===\"return\"}:v1?v1(ex):ex}:v1}},__asyncValues:function(C){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var D,$=C[Symbol.asyncIterator];return $?$.call(C):(C=iN(C),D={},o1(\"next\"),o1(\"throw\"),o1(\"return\"),D[Symbol.asyncIterator]=function(){return this},D);function o1(j1){D[j1]=C[j1]&&function(v1){return new Promise(function(ex,_0){(function(Ne,e,s,X){Promise.resolve(X).then(function(J){Ne({value:J,done:s})},e)})(ex,_0,(v1=C[j1](v1)).done,v1.value)})}}},__makeTemplateObject:function(C,D){return Object.defineProperty?Object.defineProperty(C,\"raw\",{value:D}):C.raw=D,C},__importStar:function(C){if(C&&C.__esModule)return C;var D={};if(C!=null)for(var $ in C)Object.hasOwnProperty.call(C,$)&&(D[$]=C[$]);return D.default=C,D},__importDefault:function(C){return C&&C.__esModule?C:{default:C}},__classPrivateFieldGet:function(C,D){if(!D.has(C))throw new TypeError(\"attempted to get private field on non-instance\");return D.get(C)},__classPrivateFieldSet:function(C,D,$){if(!D.has(C))throw new TypeError(\"attempted to set private field on non-instance\");return D.set(C,$),$}}),JP=W0(function(C,D){function $(v1){return v1.kind===de.SyntaxKind.ModuleDeclaration}function o1(v1){return v1.kind===de.SyntaxKind.PropertyAccessExpression}function j1(v1){return v1.kind===de.SyntaxKind.QualifiedName}Object.defineProperty(D,\"__esModule\",{value:!0}),D.isExpressionStatement=D.isExpression=D.isExportSpecifier=D.isExportDeclaration=D.isExportAssignment=D.isEnumMember=D.isEnumDeclaration=D.isEntityNameExpression=D.isEntityName=D.isEmptyStatement=D.isElementAccessExpression=D.isDoStatement=D.isDeleteExpression=D.isDefaultClause=D.isDecorator=D.isDebuggerStatement=D.isComputedPropertyName=D.isContinueStatement=D.isConstructSignatureDeclaration=D.isConstructorTypeNode=D.isConstructorDeclaration=D.isConditionalTypeNode=D.isConditionalExpression=D.isCommaListExpression=D.isClassLikeDeclaration=D.isClassExpression=D.isClassDeclaration=D.isCatchClause=D.isCaseOrDefaultClause=D.isCaseClause=D.isCaseBlock=D.isCallSignatureDeclaration=D.isCallLikeExpression=D.isCallExpression=D.isBreakStatement=D.isBreakOrContinueStatement=D.isBooleanLiteral=D.isBlockLike=D.isBlock=D.isBindingPattern=D.isBindingElement=D.isBinaryExpression=D.isAwaitExpression=D.isAssertionExpression=D.isAsExpression=D.isArrowFunction=D.isArrayTypeNode=D.isArrayLiteralExpression=D.isArrayBindingPattern=D.isAccessorDeclaration=void 0,D.isNamespaceImport=D.isNamespaceDeclaration=D.isNamedImports=D.isNamedExports=D.isModuleDeclaration=D.isModuleBlock=D.isMethodSignature=D.isMethodDeclaration=D.isMetaProperty=D.isMappedTypeNode=D.isLiteralTypeNode=D.isLiteralExpression=D.isLabeledStatement=D.isJsxText=D.isJsxSpreadAttribute=D.isJsxSelfClosingElement=D.isJsxOpeningLikeElement=D.isJsxOpeningFragment=D.isJsxOpeningElement=D.isJsxFragment=D.isJsxExpression=D.isJsxElement=D.isJsxClosingFragment=D.isJsxClosingElement=D.isJsxAttributes=D.isJsxAttributeLike=D.isJsxAttribute=D.isJsDoc=D.isIterationStatement=D.isIntersectionTypeNode=D.isInterfaceDeclaration=D.isInferTypeNode=D.isIndexSignatureDeclaration=D.isIndexedAccessTypeNode=D.isImportSpecifier=D.isImportEqualsDeclaration=D.isImportDeclaration=D.isImportClause=D.isIfStatement=D.isIdentifier=D.isGetAccessorDeclaration=D.isFunctionTypeNode=D.isFunctionExpression=D.isFunctionDeclaration=D.isForStatement=D.isForOfStatement=D.isForInOrOfStatement=D.isForInStatement=D.isExternalModuleReference=D.isExpressionWithTypeArguments=void 0,D.isVariableStatement=D.isVariableDeclaration=D.isUnionTypeNode=D.isTypeQueryNode=D.isTypeReferenceNode=D.isTypePredicateNode=D.isTypeParameterDeclaration=D.isTypeOperatorNode=D.isTypeOfExpression=D.isTypeLiteralNode=D.isTypeAssertion=D.isTypeAliasDeclaration=D.isTupleTypeNode=D.isTryStatement=D.isThrowStatement=D.isTextualLiteral=D.isTemplateLiteral=D.isTemplateExpression=D.isTaggedTemplateExpression=D.isSyntaxList=D.isSwitchStatement=D.isStringLiteral=D.isSpreadElement=D.isSpreadAssignment=D.isSourceFile=D.isSignatureDeclaration=D.isShorthandPropertyAssignment=D.isSetAccessorDeclaration=D.isReturnStatement=D.isRegularExpressionLiteral=D.isQualifiedName=D.isPropertySignature=D.isPropertyDeclaration=D.isPropertyAssignment=D.isPropertyAccessExpression=D.isPrefixUnaryExpression=D.isPostfixUnaryExpression=D.isParenthesizedTypeNode=D.isParenthesizedExpression=D.isParameterDeclaration=D.isOmittedExpression=D.isObjectLiteralExpression=D.isObjectBindingPattern=D.isNumericOrStringLikeLiteral=D.isNumericLiteral=D.isNullLiteral=D.isNoSubstitutionTemplateLiteral=D.isNonNullExpression=D.isNewExpression=D.isNamespaceExportDeclaration=void 0,D.isWithStatement=D.isWhileStatement=D.isVoidExpression=D.isVariableDeclarationList=void 0,D.isAccessorDeclaration=function(v1){return v1.kind===de.SyntaxKind.GetAccessor||v1.kind===de.SyntaxKind.SetAccessor},D.isArrayBindingPattern=function(v1){return v1.kind===de.SyntaxKind.ArrayBindingPattern},D.isArrayLiteralExpression=function(v1){return v1.kind===de.SyntaxKind.ArrayLiteralExpression},D.isArrayTypeNode=function(v1){return v1.kind===de.SyntaxKind.ArrayType},D.isArrowFunction=function(v1){return v1.kind===de.SyntaxKind.ArrowFunction},D.isAsExpression=function(v1){return v1.kind===de.SyntaxKind.AsExpression},D.isAssertionExpression=function(v1){return v1.kind===de.SyntaxKind.AsExpression||v1.kind===de.SyntaxKind.TypeAssertionExpression},D.isAwaitExpression=function(v1){return v1.kind===de.SyntaxKind.AwaitExpression},D.isBinaryExpression=function(v1){return v1.kind===de.SyntaxKind.BinaryExpression},D.isBindingElement=function(v1){return v1.kind===de.SyntaxKind.BindingElement},D.isBindingPattern=function(v1){return v1.kind===de.SyntaxKind.ArrayBindingPattern||v1.kind===de.SyntaxKind.ObjectBindingPattern},D.isBlock=function(v1){return v1.kind===de.SyntaxKind.Block},D.isBlockLike=function(v1){return v1.statements!==void 0},D.isBooleanLiteral=function(v1){return v1.kind===de.SyntaxKind.TrueKeyword||v1.kind===de.SyntaxKind.FalseKeyword},D.isBreakOrContinueStatement=function(v1){return v1.kind===de.SyntaxKind.BreakStatement||v1.kind===de.SyntaxKind.ContinueStatement},D.isBreakStatement=function(v1){return v1.kind===de.SyntaxKind.BreakStatement},D.isCallExpression=function(v1){return v1.kind===de.SyntaxKind.CallExpression},D.isCallLikeExpression=function(v1){switch(v1.kind){case de.SyntaxKind.CallExpression:case de.SyntaxKind.Decorator:case de.SyntaxKind.JsxOpeningElement:case de.SyntaxKind.JsxSelfClosingElement:case de.SyntaxKind.NewExpression:case de.SyntaxKind.TaggedTemplateExpression:return!0;default:return!1}},D.isCallSignatureDeclaration=function(v1){return v1.kind===de.SyntaxKind.CallSignature},D.isCaseBlock=function(v1){return v1.kind===de.SyntaxKind.CaseBlock},D.isCaseClause=function(v1){return v1.kind===de.SyntaxKind.CaseClause},D.isCaseOrDefaultClause=function(v1){return v1.kind===de.SyntaxKind.CaseClause||v1.kind===de.SyntaxKind.DefaultClause},D.isCatchClause=function(v1){return v1.kind===de.SyntaxKind.CatchClause},D.isClassDeclaration=function(v1){return v1.kind===de.SyntaxKind.ClassDeclaration},D.isClassExpression=function(v1){return v1.kind===de.SyntaxKind.ClassExpression},D.isClassLikeDeclaration=function(v1){return v1.kind===de.SyntaxKind.ClassDeclaration||v1.kind===de.SyntaxKind.ClassExpression},D.isCommaListExpression=function(v1){return v1.kind===de.SyntaxKind.CommaListExpression},D.isConditionalExpression=function(v1){return v1.kind===de.SyntaxKind.ConditionalExpression},D.isConditionalTypeNode=function(v1){return v1.kind===de.SyntaxKind.ConditionalType},D.isConstructorDeclaration=function(v1){return v1.kind===de.SyntaxKind.Constructor},D.isConstructorTypeNode=function(v1){return v1.kind===de.SyntaxKind.ConstructorType},D.isConstructSignatureDeclaration=function(v1){return v1.kind===de.SyntaxKind.ConstructSignature},D.isContinueStatement=function(v1){return v1.kind===de.SyntaxKind.ContinueStatement},D.isComputedPropertyName=function(v1){return v1.kind===de.SyntaxKind.ComputedPropertyName},D.isDebuggerStatement=function(v1){return v1.kind===de.SyntaxKind.DebuggerStatement},D.isDecorator=function(v1){return v1.kind===de.SyntaxKind.Decorator},D.isDefaultClause=function(v1){return v1.kind===de.SyntaxKind.DefaultClause},D.isDeleteExpression=function(v1){return v1.kind===de.SyntaxKind.DeleteExpression},D.isDoStatement=function(v1){return v1.kind===de.SyntaxKind.DoStatement},D.isElementAccessExpression=function(v1){return v1.kind===de.SyntaxKind.ElementAccessExpression},D.isEmptyStatement=function(v1){return v1.kind===de.SyntaxKind.EmptyStatement},D.isEntityName=function(v1){return v1.kind===de.SyntaxKind.Identifier||j1(v1)},D.isEntityNameExpression=function v1(ex){return ex.kind===de.SyntaxKind.Identifier||o1(ex)&&v1(ex.expression)},D.isEnumDeclaration=function(v1){return v1.kind===de.SyntaxKind.EnumDeclaration},D.isEnumMember=function(v1){return v1.kind===de.SyntaxKind.EnumMember},D.isExportAssignment=function(v1){return v1.kind===de.SyntaxKind.ExportAssignment},D.isExportDeclaration=function(v1){return v1.kind===de.SyntaxKind.ExportDeclaration},D.isExportSpecifier=function(v1){return v1.kind===de.SyntaxKind.ExportSpecifier},D.isExpression=function(v1){switch(v1.kind){case de.SyntaxKind.ArrayLiteralExpression:case de.SyntaxKind.ArrowFunction:case de.SyntaxKind.AsExpression:case de.SyntaxKind.AwaitExpression:case de.SyntaxKind.BinaryExpression:case de.SyntaxKind.CallExpression:case de.SyntaxKind.ClassExpression:case de.SyntaxKind.CommaListExpression:case de.SyntaxKind.ConditionalExpression:case de.SyntaxKind.DeleteExpression:case de.SyntaxKind.ElementAccessExpression:case de.SyntaxKind.FalseKeyword:case de.SyntaxKind.FunctionExpression:case de.SyntaxKind.Identifier:case de.SyntaxKind.JsxElement:case de.SyntaxKind.JsxFragment:case de.SyntaxKind.JsxExpression:case de.SyntaxKind.JsxOpeningElement:case de.SyntaxKind.JsxOpeningFragment:case de.SyntaxKind.JsxSelfClosingElement:case de.SyntaxKind.MetaProperty:case de.SyntaxKind.NewExpression:case de.SyntaxKind.NonNullExpression:case de.SyntaxKind.NoSubstitutionTemplateLiteral:case de.SyntaxKind.NullKeyword:case de.SyntaxKind.NumericLiteral:case de.SyntaxKind.ObjectLiteralExpression:case de.SyntaxKind.OmittedExpression:case de.SyntaxKind.ParenthesizedExpression:case de.SyntaxKind.PostfixUnaryExpression:case de.SyntaxKind.PrefixUnaryExpression:case de.SyntaxKind.PropertyAccessExpression:case de.SyntaxKind.RegularExpressionLiteral:case de.SyntaxKind.SpreadElement:case de.SyntaxKind.StringLiteral:case de.SyntaxKind.SuperKeyword:case de.SyntaxKind.TaggedTemplateExpression:case de.SyntaxKind.TemplateExpression:case de.SyntaxKind.ThisKeyword:case de.SyntaxKind.TrueKeyword:case de.SyntaxKind.TypeAssertionExpression:case de.SyntaxKind.TypeOfExpression:case de.SyntaxKind.VoidExpression:case de.SyntaxKind.YieldExpression:return!0;default:return!1}},D.isExpressionStatement=function(v1){return v1.kind===de.SyntaxKind.ExpressionStatement},D.isExpressionWithTypeArguments=function(v1){return v1.kind===de.SyntaxKind.ExpressionWithTypeArguments},D.isExternalModuleReference=function(v1){return v1.kind===de.SyntaxKind.ExternalModuleReference},D.isForInStatement=function(v1){return v1.kind===de.SyntaxKind.ForInStatement},D.isForInOrOfStatement=function(v1){return v1.kind===de.SyntaxKind.ForOfStatement||v1.kind===de.SyntaxKind.ForInStatement},D.isForOfStatement=function(v1){return v1.kind===de.SyntaxKind.ForOfStatement},D.isForStatement=function(v1){return v1.kind===de.SyntaxKind.ForStatement},D.isFunctionDeclaration=function(v1){return v1.kind===de.SyntaxKind.FunctionDeclaration},D.isFunctionExpression=function(v1){return v1.kind===de.SyntaxKind.FunctionExpression},D.isFunctionTypeNode=function(v1){return v1.kind===de.SyntaxKind.FunctionType},D.isGetAccessorDeclaration=function(v1){return v1.kind===de.SyntaxKind.GetAccessor},D.isIdentifier=function(v1){return v1.kind===de.SyntaxKind.Identifier},D.isIfStatement=function(v1){return v1.kind===de.SyntaxKind.IfStatement},D.isImportClause=function(v1){return v1.kind===de.SyntaxKind.ImportClause},D.isImportDeclaration=function(v1){return v1.kind===de.SyntaxKind.ImportDeclaration},D.isImportEqualsDeclaration=function(v1){return v1.kind===de.SyntaxKind.ImportEqualsDeclaration},D.isImportSpecifier=function(v1){return v1.kind===de.SyntaxKind.ImportSpecifier},D.isIndexedAccessTypeNode=function(v1){return v1.kind===de.SyntaxKind.IndexedAccessType},D.isIndexSignatureDeclaration=function(v1){return v1.kind===de.SyntaxKind.IndexSignature},D.isInferTypeNode=function(v1){return v1.kind===de.SyntaxKind.InferType},D.isInterfaceDeclaration=function(v1){return v1.kind===de.SyntaxKind.InterfaceDeclaration},D.isIntersectionTypeNode=function(v1){return v1.kind===de.SyntaxKind.IntersectionType},D.isIterationStatement=function(v1){switch(v1.kind){case de.SyntaxKind.ForStatement:case de.SyntaxKind.ForOfStatement:case de.SyntaxKind.ForInStatement:case de.SyntaxKind.WhileStatement:case de.SyntaxKind.DoStatement:return!0;default:return!1}},D.isJsDoc=function(v1){return v1.kind===de.SyntaxKind.JSDocComment},D.isJsxAttribute=function(v1){return v1.kind===de.SyntaxKind.JsxAttribute},D.isJsxAttributeLike=function(v1){return v1.kind===de.SyntaxKind.JsxAttribute||v1.kind===de.SyntaxKind.JsxSpreadAttribute},D.isJsxAttributes=function(v1){return v1.kind===de.SyntaxKind.JsxAttributes},D.isJsxClosingElement=function(v1){return v1.kind===de.SyntaxKind.JsxClosingElement},D.isJsxClosingFragment=function(v1){return v1.kind===de.SyntaxKind.JsxClosingFragment},D.isJsxElement=function(v1){return v1.kind===de.SyntaxKind.JsxElement},D.isJsxExpression=function(v1){return v1.kind===de.SyntaxKind.JsxExpression},D.isJsxFragment=function(v1){return v1.kind===de.SyntaxKind.JsxFragment},D.isJsxOpeningElement=function(v1){return v1.kind===de.SyntaxKind.JsxOpeningElement},D.isJsxOpeningFragment=function(v1){return v1.kind===de.SyntaxKind.JsxOpeningFragment},D.isJsxOpeningLikeElement=function(v1){return v1.kind===de.SyntaxKind.JsxOpeningElement||v1.kind===de.SyntaxKind.JsxSelfClosingElement},D.isJsxSelfClosingElement=function(v1){return v1.kind===de.SyntaxKind.JsxSelfClosingElement},D.isJsxSpreadAttribute=function(v1){return v1.kind===de.SyntaxKind.JsxSpreadAttribute},D.isJsxText=function(v1){return v1.kind===de.SyntaxKind.JsxText},D.isLabeledStatement=function(v1){return v1.kind===de.SyntaxKind.LabeledStatement},D.isLiteralExpression=function(v1){return v1.kind>=de.SyntaxKind.FirstLiteralToken&&v1.kind<=de.SyntaxKind.LastLiteralToken},D.isLiteralTypeNode=function(v1){return v1.kind===de.SyntaxKind.LiteralType},D.isMappedTypeNode=function(v1){return v1.kind===de.SyntaxKind.MappedType},D.isMetaProperty=function(v1){return v1.kind===de.SyntaxKind.MetaProperty},D.isMethodDeclaration=function(v1){return v1.kind===de.SyntaxKind.MethodDeclaration},D.isMethodSignature=function(v1){return v1.kind===de.SyntaxKind.MethodSignature},D.isModuleBlock=function(v1){return v1.kind===de.SyntaxKind.ModuleBlock},D.isModuleDeclaration=$,D.isNamedExports=function(v1){return v1.kind===de.SyntaxKind.NamedExports},D.isNamedImports=function(v1){return v1.kind===de.SyntaxKind.NamedImports},D.isNamespaceDeclaration=function v1(ex){return $(ex)&&ex.name.kind===de.SyntaxKind.Identifier&&ex.body!==void 0&&(ex.body.kind===de.SyntaxKind.ModuleBlock||v1(ex.body))},D.isNamespaceImport=function(v1){return v1.kind===de.SyntaxKind.NamespaceImport},D.isNamespaceExportDeclaration=function(v1){return v1.kind===de.SyntaxKind.NamespaceExportDeclaration},D.isNewExpression=function(v1){return v1.kind===de.SyntaxKind.NewExpression},D.isNonNullExpression=function(v1){return v1.kind===de.SyntaxKind.NonNullExpression},D.isNoSubstitutionTemplateLiteral=function(v1){return v1.kind===de.SyntaxKind.NoSubstitutionTemplateLiteral},D.isNullLiteral=function(v1){return v1.kind===de.SyntaxKind.NullKeyword},D.isNumericLiteral=function(v1){return v1.kind===de.SyntaxKind.NumericLiteral},D.isNumericOrStringLikeLiteral=function(v1){switch(v1.kind){case de.SyntaxKind.StringLiteral:case de.SyntaxKind.NumericLiteral:case de.SyntaxKind.NoSubstitutionTemplateLiteral:return!0;default:return!1}},D.isObjectBindingPattern=function(v1){return v1.kind===de.SyntaxKind.ObjectBindingPattern},D.isObjectLiteralExpression=function(v1){return v1.kind===de.SyntaxKind.ObjectLiteralExpression},D.isOmittedExpression=function(v1){return v1.kind===de.SyntaxKind.OmittedExpression},D.isParameterDeclaration=function(v1){return v1.kind===de.SyntaxKind.Parameter},D.isParenthesizedExpression=function(v1){return v1.kind===de.SyntaxKind.ParenthesizedExpression},D.isParenthesizedTypeNode=function(v1){return v1.kind===de.SyntaxKind.ParenthesizedType},D.isPostfixUnaryExpression=function(v1){return v1.kind===de.SyntaxKind.PostfixUnaryExpression},D.isPrefixUnaryExpression=function(v1){return v1.kind===de.SyntaxKind.PrefixUnaryExpression},D.isPropertyAccessExpression=o1,D.isPropertyAssignment=function(v1){return v1.kind===de.SyntaxKind.PropertyAssignment},D.isPropertyDeclaration=function(v1){return v1.kind===de.SyntaxKind.PropertyDeclaration},D.isPropertySignature=function(v1){return v1.kind===de.SyntaxKind.PropertySignature},D.isQualifiedName=j1,D.isRegularExpressionLiteral=function(v1){return v1.kind===de.SyntaxKind.RegularExpressionLiteral},D.isReturnStatement=function(v1){return v1.kind===de.SyntaxKind.ReturnStatement},D.isSetAccessorDeclaration=function(v1){return v1.kind===de.SyntaxKind.SetAccessor},D.isShorthandPropertyAssignment=function(v1){return v1.kind===de.SyntaxKind.ShorthandPropertyAssignment},D.isSignatureDeclaration=function(v1){return v1.parameters!==void 0},D.isSourceFile=function(v1){return v1.kind===de.SyntaxKind.SourceFile},D.isSpreadAssignment=function(v1){return v1.kind===de.SyntaxKind.SpreadAssignment},D.isSpreadElement=function(v1){return v1.kind===de.SyntaxKind.SpreadElement},D.isStringLiteral=function(v1){return v1.kind===de.SyntaxKind.StringLiteral},D.isSwitchStatement=function(v1){return v1.kind===de.SyntaxKind.SwitchStatement},D.isSyntaxList=function(v1){return v1.kind===de.SyntaxKind.SyntaxList},D.isTaggedTemplateExpression=function(v1){return v1.kind===de.SyntaxKind.TaggedTemplateExpression},D.isTemplateExpression=function(v1){return v1.kind===de.SyntaxKind.TemplateExpression},D.isTemplateLiteral=function(v1){return v1.kind===de.SyntaxKind.TemplateExpression||v1.kind===de.SyntaxKind.NoSubstitutionTemplateLiteral},D.isTextualLiteral=function(v1){return v1.kind===de.SyntaxKind.StringLiteral||v1.kind===de.SyntaxKind.NoSubstitutionTemplateLiteral},D.isThrowStatement=function(v1){return v1.kind===de.SyntaxKind.ThrowStatement},D.isTryStatement=function(v1){return v1.kind===de.SyntaxKind.TryStatement},D.isTupleTypeNode=function(v1){return v1.kind===de.SyntaxKind.TupleType},D.isTypeAliasDeclaration=function(v1){return v1.kind===de.SyntaxKind.TypeAliasDeclaration},D.isTypeAssertion=function(v1){return v1.kind===de.SyntaxKind.TypeAssertionExpression},D.isTypeLiteralNode=function(v1){return v1.kind===de.SyntaxKind.TypeLiteral},D.isTypeOfExpression=function(v1){return v1.kind===de.SyntaxKind.TypeOfExpression},D.isTypeOperatorNode=function(v1){return v1.kind===de.SyntaxKind.TypeOperator},D.isTypeParameterDeclaration=function(v1){return v1.kind===de.SyntaxKind.TypeParameter},D.isTypePredicateNode=function(v1){return v1.kind===de.SyntaxKind.TypePredicate},D.isTypeReferenceNode=function(v1){return v1.kind===de.SyntaxKind.TypeReference},D.isTypeQueryNode=function(v1){return v1.kind===de.SyntaxKind.TypeQuery},D.isUnionTypeNode=function(v1){return v1.kind===de.SyntaxKind.UnionType},D.isVariableDeclaration=function(v1){return v1.kind===de.SyntaxKind.VariableDeclaration},D.isVariableStatement=function(v1){return v1.kind===de.SyntaxKind.VariableStatement},D.isVariableDeclarationList=function(v1){return v1.kind===de.SyntaxKind.VariableDeclarationList},D.isVoidExpression=function(v1){return v1.kind===de.SyntaxKind.VoidExpression},D.isWhileStatement=function(v1){return v1.kind===de.SyntaxKind.WhileStatement},D.isWithStatement=function(v1){return v1.kind===de.SyntaxKind.WithStatement}}),jg=W0(function(C,D){Object.defineProperty(D,\"__esModule\",{value:!0}),D.isImportTypeNode=void 0,$m.__exportStar(JP,D),D.isImportTypeNode=function($){return $.kind===de.SyntaxKind.ImportType}}),_R=W0(function(C,D){Object.defineProperty(D,\"__esModule\",{value:!0}),D.isSyntheticExpression=D.isRestTypeNode=D.isOptionalTypeNode=void 0,$m.__exportStar(jg,D),D.isOptionalTypeNode=function($){return $.kind===de.SyntaxKind.OptionalType},D.isRestTypeNode=function($){return $.kind===de.SyntaxKind.RestType},D.isSyntheticExpression=function($){return $.kind===de.SyntaxKind.SyntheticExpression}}),fP=W0(function(C,D){Object.defineProperty(D,\"__esModule\",{value:!0}),D.isBigIntLiteral=void 0,$m.__exportStar(_R,D),D.isBigIntLiteral=function($){return $.kind===de.SyntaxKind.BigIntLiteral}}),IF=W0(function(C,D){Object.defineProperty(D,\"__esModule\",{value:!0}),$m.__exportStar(fP,D)}),Ly=W0(function(C,D){Object.defineProperty(D,\"__esModule\",{value:!0}),D.isUniqueESSymbolType=D.isUnionType=D.isUnionOrIntersectionType=D.isTypeVariable=D.isTypeReference=D.isTypeParameter=D.isSubstitutionType=D.isObjectType=D.isLiteralType=D.isIntersectionType=D.isInterfaceType=D.isInstantiableType=D.isIndexedAccessype=D.isIndexedAccessType=D.isGenericType=D.isEnumType=D.isConditionalType=void 0,D.isConditionalType=function($){return($.flags&de.TypeFlags.Conditional)!=0},D.isEnumType=function($){return($.flags&de.TypeFlags.Enum)!=0},D.isGenericType=function($){return($.flags&de.TypeFlags.Object)!=0&&($.objectFlags&de.ObjectFlags.ClassOrInterface)!=0&&($.objectFlags&de.ObjectFlags.Reference)!=0},D.isIndexedAccessType=function($){return($.flags&de.TypeFlags.IndexedAccess)!=0},D.isIndexedAccessype=function($){return($.flags&de.TypeFlags.Index)!=0},D.isInstantiableType=function($){return($.flags&de.TypeFlags.Instantiable)!=0},D.isInterfaceType=function($){return($.flags&de.TypeFlags.Object)!=0&&($.objectFlags&de.ObjectFlags.ClassOrInterface)!=0},D.isIntersectionType=function($){return($.flags&de.TypeFlags.Intersection)!=0},D.isLiteralType=function($){return($.flags&(de.TypeFlags.StringOrNumberLiteral|de.TypeFlags.BigIntLiteral))!=0},D.isObjectType=function($){return($.flags&de.TypeFlags.Object)!=0},D.isSubstitutionType=function($){return($.flags&de.TypeFlags.Substitution)!=0},D.isTypeParameter=function($){return($.flags&de.TypeFlags.TypeParameter)!=0},D.isTypeReference=function($){return($.flags&de.TypeFlags.Object)!=0&&($.objectFlags&de.ObjectFlags.Reference)!=0},D.isTypeVariable=function($){return($.flags&de.TypeFlags.TypeVariable)!=0},D.isUnionOrIntersectionType=function($){return($.flags&de.TypeFlags.UnionOrIntersection)!=0},D.isUnionType=function($){return($.flags&de.TypeFlags.Union)!=0},D.isUniqueESSymbolType=function($){return($.flags&de.TypeFlags.UniqueESSymbol)!=0}}),y_=W0(function(C,D){Object.defineProperty(D,\"__esModule\",{value:!0}),$m.__exportStar(Ly,D)}),ag=W0(function(C,D){function $(o1){return(o1.flags&de.TypeFlags.Object&&o1.objectFlags&de.ObjectFlags.Tuple)!==0}Object.defineProperty(D,\"__esModule\",{value:!0}),D.isTupleTypeReference=D.isTupleType=void 0,$m.__exportStar(y_,D),D.isTupleType=$,D.isTupleTypeReference=function(o1){return y_.isTypeReference(o1)&&$(o1.target)}}),Gw=W0(function(C,D){Object.defineProperty(D,\"__esModule\",{value:!0}),$m.__exportStar(ag,D)}),ih=W0(function(C,D){Object.defineProperty(D,\"__esModule\",{value:!0}),$m.__exportStar(fP,D),$m.__exportStar(Gw,D)}),Xw=W0(function(C,D){Object.defineProperty(D,\"__esModule\",{value:!0}),$m.__exportStar(Gw,D)}),L9=W0(function(C,D){function $(E0,I){if(!o1(I,de.TypeFlags.Undefined))return I;const A=o1(I,de.TypeFlags.Null);return I=E0.getNonNullableType(I),A?E0.getNullableType(I,de.TypeFlags.Null):I}function o1(E0,I){for(const A of ex(E0))if(u5.isTypeFlagSet(A,I))return!0;return!1}function j1(E0,I){return u5.isTypeFlagSet(I,de.TypeFlags.Undefined)&&E0.getNullableType(I.getNonNullableType(),de.TypeFlags.Undefined)!==I}function v1(E0,I,A){let Z;return A|=de.TypeFlags.Any,function A0(o0){if(Xw.isTypeParameter(o0)&&o0.symbol!==void 0&&o0.symbol.declarations!==void 0){if(Z===void 0)Z=new Set([o0]);else{if(Z.has(o0))return!1;Z.add(o0)}const j=o0.symbol.declarations[0];return j.constraint===void 0||A0(E0.getTypeFromTypeNode(j.constraint))}return Xw.isUnionType(o0)?o0.types.every(A0):Xw.isIntersectionType(o0)?o0.types.some(A0):u5.isTypeFlagSet(o0,A)}(I)}function ex(E0){return Xw.isUnionType(E0)?E0.types:[E0]}function _0(E0,I,A){return I(E0)?E0.types.some(A):A(E0)}function Ne(E0,I,A){let Z=E0.getApparentType(E0.getTypeOfSymbolAtLocation(I,A));if(I.valueDeclaration.dotDotDotToken&&(Z=Z.getNumberIndexType(),Z===void 0))return!1;for(const A0 of ex(Z))if(A0.getCallSignatures().length!==0)return!0;return!1}function e(E0,I){return u5.isTypeFlagSet(E0,de.TypeFlags.BooleanLiteral)&&E0.intrinsicName===(I?\"true\":\"false\")}function s(E0,I){return I.startsWith(\"__\")?E0.getProperties().find(A=>A.escapedName===I):E0.getProperty(I)}function X(E0,I,A){const Z=I&&E0.getTypeOfSymbolAtLocation(I,I.valueDeclaration).getProperty(A),A0=Z&&E0.getTypeOfSymbolAtLocation(Z,Z.valueDeclaration);return A0&&Xw.isUniqueESSymbolType(A0)?A0.escapedName:\"__@\"+A}function J(E0,I,A){let Z=!1,A0=!1;for(const o0 of ex(E0))if(s(o0,I)===void 0){const j=(u5.isNumericPropertyName(I)?A.getIndexInfoOfType(o0,de.IndexKind.Number):void 0)||A.getIndexInfoOfType(o0,de.IndexKind.String);if(j!==void 0&&j.isReadonly){if(Z)return!0;A0=!0}}else{if(A0||m0(o0,I,A))return!0;Z=!0}return!1}function m0(E0,I,A){return _0(E0,Xw.isIntersectionType,Z=>{const A0=s(Z,I);if(A0===void 0)return!1;if(A0.flags&de.SymbolFlags.Transient){if(/^(?:[1-9]\\d*|0)$/.test(I)&&Xw.isTupleTypeReference(Z))return Z.target.readonly;switch(function(o0,j,G){if(!Xw.isObjectType(o0)||!u5.isObjectFlagSet(o0,de.ObjectFlags.Mapped))return;const u0=o0.symbol.declarations[0];return u0.readonlyToken===void 0||/^__@[^@]+$/.test(j)?J(o0.modifiersType,j,G):u0.readonlyToken.kind!==de.SyntaxKind.MinusToken}(Z,I,A)){case!0:return!0;case!1:return!1}}return u5.isSymbolFlagSet(A0,de.SymbolFlags.ValueModule)||s1(A0,A)})}function s1(E0,I){return(E0.flags&de.SymbolFlags.Accessor)===de.SymbolFlags.GetAccessor||E0.declarations!==void 0&&E0.declarations.some(A=>u5.isModifierFlagSet(A,de.ModifierFlags.Readonly)||IF.isVariableDeclaration(A)&&u5.isNodeFlagSet(A.parent,de.NodeFlags.Const)||IF.isCallExpression(A)&&u5.isReadonlyAssignmentDeclaration(A,I)||IF.isEnumMember(A)||(IF.isPropertyAssignment(A)||IF.isShorthandPropertyAssignment(A))&&u5.isInConstContext(A.parent))}function i0(E0){return u5.isNodeFlagSet(E0.parent,de.NodeFlags.GlobalAugmentation)||IF.isSourceFile(E0.parent)&&!de.isExternalModule(E0.parent)}function H0(E0,I){var A;return I.getSymbolAtLocation((A=E0.name)!==null&&A!==void 0?A:u5.getChildOfKind(E0,de.SyntaxKind.ClassKeyword))}Object.defineProperty(D,\"__esModule\",{value:!0}),D.getBaseClassMemberOfClassElement=D.getIteratorYieldResultFromIteratorResult=D.getInstanceTypeOfClassLikeDeclaration=D.getConstructorTypeOfClassLikeDeclaration=D.getSymbolOfClassLikeDeclaration=D.getPropertyNameFromType=D.symbolHasReadonlyDeclaration=D.isPropertyReadonlyInType=D.getWellKnownSymbolPropertyOfType=D.getPropertyOfType=D.isBooleanLiteralType=D.isFalsyType=D.isThenableType=D.someTypePart=D.intersectionTypeParts=D.unionTypeParts=D.getCallSignaturesOfType=D.isTypeAssignableToString=D.isTypeAssignableToNumber=D.isOptionalChainingUndefinedMarkerType=D.removeOptionalChainingUndefinedMarkerType=D.removeOptionalityFromType=D.isEmptyObjectType=void 0,D.isEmptyObjectType=function E0(I){if(Xw.isObjectType(I)&&I.objectFlags&de.ObjectFlags.Anonymous&&I.getProperties().length===0&&I.getCallSignatures().length===0&&I.getConstructSignatures().length===0&&I.getStringIndexType()===void 0&&I.getNumberIndexType()===void 0){const A=I.getBaseTypes();return A===void 0||A.every(E0)}return!1},D.removeOptionalityFromType=$,D.removeOptionalChainingUndefinedMarkerType=function(E0,I){if(!Xw.isUnionType(I))return j1(E0,I)?I.getNonNullableType():I;let A=0,Z=!1;for(const A0 of I.types)j1(E0,A0)?Z=!0:A|=A0.flags;return Z?E0.getNullableType(I.getNonNullableType(),A):I},D.isOptionalChainingUndefinedMarkerType=j1,D.isTypeAssignableToNumber=function(E0,I){return v1(E0,I,de.TypeFlags.NumberLike)},D.isTypeAssignableToString=function(E0,I){return v1(E0,I,de.TypeFlags.StringLike)},D.getCallSignaturesOfType=function E0(I){if(Xw.isUnionType(I)){const A=[];for(const Z of I.types)A.push(...E0(Z));return A}if(Xw.isIntersectionType(I)){let A;for(const Z of I.types){const A0=E0(Z);if(A0.length!==0){if(A!==void 0)return[];A=A0}}return A===void 0?[]:A}return I.getCallSignatures()},D.unionTypeParts=ex,D.intersectionTypeParts=function(E0){return Xw.isIntersectionType(E0)?E0.types:[E0]},D.someTypePart=_0,D.isThenableType=function(E0,I,A=E0.getTypeAtLocation(I)){for(const Z of ex(E0.getApparentType(A))){const A0=Z.getProperty(\"then\");if(A0===void 0)continue;const o0=E0.getTypeOfSymbolAtLocation(A0,I);for(const j of ex(o0))for(const G of j.getCallSignatures())if(G.parameters.length!==0&&Ne(E0,G.parameters[0],I))return!0}return!1},D.isFalsyType=function(E0){return!!(E0.flags&(de.TypeFlags.Undefined|de.TypeFlags.Null|de.TypeFlags.Void))||(Xw.isLiteralType(E0)?!E0.value:e(E0,!1))},D.isBooleanLiteralType=e,D.getPropertyOfType=s,D.getWellKnownSymbolPropertyOfType=function(E0,I,A){const Z=\"__@\"+I;for(const A0 of E0.getProperties()){if(!A0.name.startsWith(Z))continue;const o0=A.getApparentType(A.getTypeAtLocation(A0.valueDeclaration.name.expression)).symbol;if(A0.escapedName===X(A,o0,I))return A0}},D.isPropertyReadonlyInType=J,D.symbolHasReadonlyDeclaration=s1,D.getPropertyNameFromType=function(E0){if(E0.flags&(de.TypeFlags.StringLiteral|de.TypeFlags.NumberLiteral)){const A=String(E0.value);return{displayName:A,symbolName:de.escapeLeadingUnderscores(A)}}if(Xw.isUniqueESSymbolType(E0))return{displayName:`[${E0.symbol?`${I=E0.symbol,u5.isSymbolFlagSet(I,de.SymbolFlags.Property)&&I.valueDeclaration!==void 0&&IF.isInterfaceDeclaration(I.valueDeclaration.parent)&&I.valueDeclaration.parent.name.text===\"SymbolConstructor\"&&i0(I.valueDeclaration.parent)?\"Symbol.\":\"\"}${E0.symbol.name}`:E0.escapedName.replace(/^__@|@\\d+$/g,\"\")}]`,symbolName:E0.escapedName};var I},D.getSymbolOfClassLikeDeclaration=H0,D.getConstructorTypeOfClassLikeDeclaration=function(E0,I){return E0.kind===de.SyntaxKind.ClassExpression?I.getTypeAtLocation(E0):I.getTypeOfSymbolAtLocation(H0(E0,I),E0)},D.getInstanceTypeOfClassLikeDeclaration=function(E0,I){return E0.kind===de.SyntaxKind.ClassDeclaration?I.getTypeAtLocation(E0):I.getDeclaredTypeOfSymbol(H0(E0,I))},D.getIteratorYieldResultFromIteratorResult=function(E0,I,A){return Xw.isUnionType(E0)&&E0.types.find(Z=>{const A0=Z.getProperty(\"done\");return A0!==void 0&&e($(A,A.getTypeOfSymbolAtLocation(A0,I)),!1)})||E0},D.getBaseClassMemberOfClassElement=function(E0,I){if(!IF.isClassLikeDeclaration(E0.parent))return;const A=u5.getBaseOfClassLikeExpression(E0.parent);if(A===void 0)return;const Z=u5.getSingleLateBoundPropertyNameOfPropertyName(E0.name,I);if(Z!==void 0)return s(I.getTypeAtLocation(u5.hasModifier(E0.modifiers,de.SyntaxKind.StaticKeyword)?A.expression:A),Z.symbolName)}}),u5=W0(function(C,D){function $(Q0){return Q0>=de.SyntaxKind.FirstToken&&Q0<=de.SyntaxKind.LastToken}function o1(Q0){return Q0>=de.SyntaxKind.FirstNode}function j1(Q0){return Q0>=de.SyntaxKind.FirstAssignment&&Q0<=de.SyntaxKind.LastAssignment}function v1(Q0,...y1){if(Q0===void 0)return!1;for(const k1 of Q0)if(y1.includes(k1.kind))return!0;return!1}function ex(Q0,y1){return(Q0.flags&y1)!=0}function _0(Q0,y1){return(de.getCombinedModifierFlags(Q0)&y1)!=0}function Ne(Q0,y1,k1,I1){if(!(y1<Q0.pos||y1>=Q0.end))return $(Q0.kind)?Q0:e(Q0,y1,k1!=null?k1:Q0.getSourceFile(),I1===!0)}function e(Q0,y1,k1,I1){if(!I1&&$((Q0=J(Q0,y1)).kind))return Q0;x:for(;;){for(const K0 of Q0.getChildren(k1))if(K0.end>y1&&(I1||K0.kind!==de.SyntaxKind.JSDocComment)){if($(K0.kind))return K0;Q0=K0;continue x}return}}function s(Q0,y1,k1=Q0){const I1=Ne(k1,y1,Q0);if(I1===void 0||I1.kind===de.SyntaxKind.JsxText||y1>=I1.end-(de.tokenToString(I1.kind)||\"\").length)return;const K0=I1.pos===0?(de.getShebang(Q0.text)||\"\").length:I1.pos;return K0!==0&&de.forEachTrailingCommentRange(Q0.text,K0,X,y1)||de.forEachLeadingCommentRange(Q0.text,K0,X,y1)}function X(Q0,y1,k1,I1,K0){return K0>=Q0&&K0<y1?{pos:Q0,end:y1,kind:k1}:void 0}function J(Q0,y1){if(!(Q0.pos>y1||Q0.end<=y1)){for(;o1(Q0.kind);){const k1=de.forEachChild(Q0,I1=>I1.pos<=y1&&I1.end>y1?I1:void 0);if(k1===void 0)break;Q0=k1}return Q0}}function m0(Q0){if(Q0.kind===de.SyntaxKind.ComputedPropertyName){const y1=Q1(Q0.expression);if(IF.isPrefixUnaryExpression(y1)){let k1=!1;switch(y1.operator){case de.SyntaxKind.MinusToken:k1=!0;case de.SyntaxKind.PlusToken:return IF.isNumericLiteral(y1.operand)?`${k1?\"-\":\"\"}${y1.operand.text}`:ih.isBigIntLiteral(y1.operand)?`${k1?\"-\":\"\"}${y1.operand.text.slice(0,-1)}`:void 0;default:return}}return ih.isBigIntLiteral(y1)?y1.text.slice(0,-1):IF.isNumericOrStringLikeLiteral(y1)?y1.text:void 0}return Q0.kind===de.SyntaxKind.PrivateIdentifier?void 0:Q0.text}function s1(Q0,y1){for(const k1 of Q0.elements){if(k1.kind!==de.SyntaxKind.BindingElement)continue;let I1;if(I1=k1.name.kind===de.SyntaxKind.Identifier?y1(k1):s1(k1.name,y1),I1)return I1}}var i0,H0,E0;function I(Q0){return(Q0.flags&de.NodeFlags.BlockScoped)!=0}function A(Q0){switch(Q0.kind){case de.SyntaxKind.InterfaceDeclaration:case de.SyntaxKind.TypeAliasDeclaration:case de.SyntaxKind.MappedType:return 4;case de.SyntaxKind.ConditionalType:return 8;default:return 0}}function Z(Q0){switch(Q0.kind){case de.SyntaxKind.FunctionExpression:case de.SyntaxKind.ArrowFunction:case de.SyntaxKind.Constructor:case de.SyntaxKind.ModuleDeclaration:case de.SyntaxKind.ClassDeclaration:case de.SyntaxKind.ClassExpression:case de.SyntaxKind.EnumDeclaration:case de.SyntaxKind.MethodDeclaration:case de.SyntaxKind.FunctionDeclaration:case de.SyntaxKind.GetAccessor:case de.SyntaxKind.SetAccessor:case de.SyntaxKind.MethodSignature:case de.SyntaxKind.CallSignature:case de.SyntaxKind.ConstructSignature:case de.SyntaxKind.ConstructorType:case de.SyntaxKind.FunctionType:return 1;case de.SyntaxKind.SourceFile:return de.isExternalModule(Q0)?1:0;default:return 0}}function A0(Q0){switch(Q0.kind){case de.SyntaxKind.Block:const y1=Q0.parent;return y1.kind===de.SyntaxKind.CatchClause||y1.kind!==de.SyntaxKind.SourceFile&&Z(y1)?0:2;case de.SyntaxKind.ForStatement:case de.SyntaxKind.ForInStatement:case de.SyntaxKind.ForOfStatement:case de.SyntaxKind.CaseBlock:case de.SyntaxKind.CatchClause:case de.SyntaxKind.WithStatement:return 2;default:return 0}}function o0(Q0,y1,k1=Q0.getSourceFile()){const I1=[];for(;;){if($(Q0.kind))y1(Q0);else if(Q0.kind!==de.SyntaxKind.JSDocComment){const K0=Q0.getChildren(k1);if(K0.length===1){Q0=K0[0];continue}for(let G1=K0.length-1;G1>=0;--G1)I1.push(K0[G1])}if(I1.length===0)break;Q0=I1.pop()}}function j(Q0){return Q0.kind===de.SyntaxKind.JsxElement||Q0.kind===de.SyntaxKind.JsxFragment}let G;function u0(Q0,y1){return G===void 0?G=de.createScanner(y1,!1,void 0,Q0):(G.setScriptTarget(y1),G.setText(Q0)),G.scan(),G}function U(Q0){return Q0>=65536?2:1}function g0(Q0,y1=de.ScriptTarget.Latest){if(Q0.length===0)return!1;let k1=Q0.codePointAt(0);if(!de.isIdentifierStart(k1,y1))return!1;for(let I1=U(k1);I1<Q0.length;I1+=U(k1))if(k1=Q0.codePointAt(I1),!de.isIdentifierPart(k1,y1))return!1;return!0}function d0(Q0,y1,k1){return de.getLineAndCharacterOfPosition(Q0,y1).line===de.getLineAndCharacterOfPosition(Q0,k1).line}var P0,c0,D0;function x0(Q0){switch(Q0.kind){case de.SyntaxKind.ShorthandPropertyAssignment:if(Q0.objectAssignmentInitializer!==void 0)return!0;case de.SyntaxKind.PropertyAssignment:case de.SyntaxKind.SpreadAssignment:Q0=Q0.parent;break;case de.SyntaxKind.SpreadElement:if(Q0.parent.kind!==de.SyntaxKind.ArrayLiteralExpression)return!1;Q0=Q0.parent}for(;;)switch(Q0.parent.kind){case de.SyntaxKind.BinaryExpression:return Q0.parent.left===Q0&&Q0.parent.operatorToken.kind===de.SyntaxKind.EqualsToken;case de.SyntaxKind.ForOfStatement:return Q0.parent.initializer===Q0;case de.SyntaxKind.ArrayLiteralExpression:case de.SyntaxKind.ObjectLiteralExpression:Q0=Q0.parent;break;case de.SyntaxKind.SpreadAssignment:case de.SyntaxKind.PropertyAssignment:Q0=Q0.parent.parent;break;case de.SyntaxKind.SpreadElement:if(Q0.parent.parent.kind!==de.SyntaxKind.ArrayLiteralExpression)return!1;Q0=Q0.parent.parent;break;default:return!1}}function l0(Q0){const y1=Q0.parent;switch(y1.kind){case de.SyntaxKind.DeleteExpression:return 4;case de.SyntaxKind.PostfixUnaryExpression:return 3;case de.SyntaxKind.PrefixUnaryExpression:return y1.operator===de.SyntaxKind.PlusPlusToken||y1.operator===de.SyntaxKind.MinusMinusToken?3:1;case de.SyntaxKind.BinaryExpression:return y1.right===Q0?1:j1(y1.operatorToken.kind)?y1.operatorToken.kind===de.SyntaxKind.EqualsToken?2:3:1;case de.SyntaxKind.ShorthandPropertyAssignment:return y1.objectAssignmentInitializer===Q0?1:x0(y1)?2:1;case de.SyntaxKind.PropertyAssignment:return y1.name===Q0?0:x0(y1)?2:1;case de.SyntaxKind.ArrayLiteralExpression:case de.SyntaxKind.SpreadElement:case de.SyntaxKind.SpreadAssignment:return x0(y1)?2:1;case de.SyntaxKind.ParenthesizedExpression:case de.SyntaxKind.NonNullExpression:case de.SyntaxKind.TypeAssertionExpression:case de.SyntaxKind.AsExpression:return l0(y1);case de.SyntaxKind.ForOfStatement:case de.SyntaxKind.ForInStatement:return y1.initializer===Q0?2:1;case de.SyntaxKind.ExpressionWithTypeArguments:return y1.parent.token===de.SyntaxKind.ExtendsKeyword&&y1.parent.parent.kind!==de.SyntaxKind.InterfaceDeclaration?1:0;case de.SyntaxKind.ComputedPropertyName:case de.SyntaxKind.ExpressionStatement:case de.SyntaxKind.TypeOfExpression:case de.SyntaxKind.ElementAccessExpression:case de.SyntaxKind.ForStatement:case de.SyntaxKind.IfStatement:case de.SyntaxKind.DoStatement:case de.SyntaxKind.WhileStatement:case de.SyntaxKind.SwitchStatement:case de.SyntaxKind.WithStatement:case de.SyntaxKind.ThrowStatement:case de.SyntaxKind.CallExpression:case de.SyntaxKind.NewExpression:case de.SyntaxKind.TaggedTemplateExpression:case de.SyntaxKind.JsxExpression:case de.SyntaxKind.Decorator:case de.SyntaxKind.TemplateSpan:case de.SyntaxKind.JsxOpeningElement:case de.SyntaxKind.JsxSelfClosingElement:case de.SyntaxKind.JsxSpreadAttribute:case de.SyntaxKind.VoidExpression:case de.SyntaxKind.ReturnStatement:case de.SyntaxKind.AwaitExpression:case de.SyntaxKind.YieldExpression:case de.SyntaxKind.ConditionalExpression:case de.SyntaxKind.CaseClause:case de.SyntaxKind.JsxElement:return 1;case de.SyntaxKind.ArrowFunction:return y1.body===Q0?1:2;case de.SyntaxKind.PropertyDeclaration:case de.SyntaxKind.VariableDeclaration:case de.SyntaxKind.Parameter:case de.SyntaxKind.EnumMember:case de.SyntaxKind.BindingElement:case de.SyntaxKind.JsxAttribute:return y1.initializer===Q0?1:0;case de.SyntaxKind.PropertyAccessExpression:return y1.expression===Q0?1:0;case de.SyntaxKind.ExportAssignment:return y1.isExportEquals?1:0}return 0}function w0(Q0){switch(Q0.kind){case de.SyntaxKind.Parameter:case de.SyntaxKind.CallSignature:case de.SyntaxKind.ConstructSignature:case de.SyntaxKind.MethodSignature:case de.SyntaxKind.PropertySignature:case de.SyntaxKind.ArrowFunction:case de.SyntaxKind.ParenthesizedExpression:case de.SyntaxKind.SpreadAssignment:case de.SyntaxKind.ShorthandPropertyAssignment:case de.SyntaxKind.PropertyAssignment:case de.SyntaxKind.FunctionExpression:case de.SyntaxKind.LabeledStatement:case de.SyntaxKind.ExpressionStatement:case de.SyntaxKind.VariableStatement:case de.SyntaxKind.FunctionDeclaration:case de.SyntaxKind.Constructor:case de.SyntaxKind.MethodDeclaration:case de.SyntaxKind.PropertyDeclaration:case de.SyntaxKind.GetAccessor:case de.SyntaxKind.SetAccessor:case de.SyntaxKind.ClassDeclaration:case de.SyntaxKind.ClassExpression:case de.SyntaxKind.InterfaceDeclaration:case de.SyntaxKind.TypeAliasDeclaration:case de.SyntaxKind.EnumMember:case de.SyntaxKind.EnumDeclaration:case de.SyntaxKind.ModuleDeclaration:case de.SyntaxKind.ImportEqualsDeclaration:case de.SyntaxKind.ImportDeclaration:case de.SyntaxKind.NamespaceExportDeclaration:case de.SyntaxKind.ExportAssignment:case de.SyntaxKind.IndexSignature:case de.SyntaxKind.FunctionType:case de.SyntaxKind.ConstructorType:case de.SyntaxKind.JSDocFunctionType:case de.SyntaxKind.ExportDeclaration:case de.SyntaxKind.NamedTupleMember:case de.SyntaxKind.EndOfFileToken:return!0;default:return!1}}function V(Q0,y1){const k1=[];for(const I1 of Q0.getChildren(y1)){if(!IF.isJsDoc(I1))break;k1.push(I1)}return k1}function w(Q0,y1,k1=!0){return new H(Q0,y1,k1).find()}Object.defineProperty(D,\"__esModule\",{value:!0}),D.isValidIdentifier=D.getLineBreakStyle=D.getLineRanges=D.forEachComment=D.forEachTokenWithTrivia=D.forEachToken=D.isFunctionWithBody=D.hasOwnThisReference=D.isBlockScopeBoundary=D.isFunctionScopeBoundary=D.isTypeScopeBoundary=D.isScopeBoundary=D.ScopeBoundarySelector=D.ScopeBoundary=D.isInSingleStatementContext=D.isBlockScopedDeclarationStatement=D.isBlockScopedVariableDeclaration=D.isBlockScopedVariableDeclarationList=D.getVariableDeclarationKind=D.VariableDeclarationKind=D.forEachDeclaredVariable=D.forEachDestructuringIdentifier=D.getPropertyName=D.getWrappedNodeAtPosition=D.getAstNodeAtPosition=D.commentText=D.isPositionInComment=D.getCommentAtPosition=D.getTokenAtPosition=D.getNextToken=D.getPreviousToken=D.getNextStatement=D.getPreviousStatement=D.isModifierFlagSet=D.isObjectFlagSet=D.isSymbolFlagSet=D.isTypeFlagSet=D.isNodeFlagSet=D.hasAccessModifier=D.isParameterProperty=D.hasModifier=D.getModifier=D.isThisParameter=D.isKeywordKind=D.isJsDocKind=D.isTypeNodeKind=D.isAssignmentKind=D.isNodeKind=D.isTokenKind=D.getChildOfKind=void 0,D.getBaseOfClassLikeExpression=D.hasExhaustiveCaseClauses=D.formatPseudoBigInt=D.unwrapParentheses=D.getSingleLateBoundPropertyNameOfPropertyName=D.getLateBoundPropertyNamesOfPropertyName=D.getLateBoundPropertyNames=D.getPropertyNameOfWellKnownSymbol=D.isWellKnownSymbolLiterally=D.isBindableObjectDefinePropertyCall=D.isReadonlyAssignmentDeclaration=D.isInConstContext=D.isConstAssertion=D.getTsCheckDirective=D.getCheckJsDirective=D.isAmbientModule=D.isCompilerOptionEnabled=D.isStrictCompilerOptionEnabled=D.getIIFE=D.isAmbientModuleBlock=D.isStatementInAmbientContext=D.findImportLikeNodes=D.findImports=D.ImportKind=D.parseJsDocOfNode=D.getJsDoc=D.canHaveJsDoc=D.isReassignmentTarget=D.getAccessKind=D.AccessKind=D.isExpressionValueUsed=D.getDeclarationOfBindingElement=D.hasSideEffects=D.SideEffectOptions=D.isSameLine=D.isNumericPropertyName=D.isValidJsxIdentifier=D.isValidNumericLiteral=D.isValidPropertyName=D.isValidPropertyAccess=void 0,D.getChildOfKind=function(Q0,y1,k1){for(const I1 of Q0.getChildren(k1))if(I1.kind===y1)return I1},D.isTokenKind=$,D.isNodeKind=o1,D.isAssignmentKind=j1,D.isTypeNodeKind=function(Q0){return Q0>=de.SyntaxKind.FirstTypeNode&&Q0<=de.SyntaxKind.LastTypeNode},D.isJsDocKind=function(Q0){return Q0>=de.SyntaxKind.FirstJSDocNode&&Q0<=de.SyntaxKind.LastJSDocNode},D.isKeywordKind=function(Q0){return Q0>=de.SyntaxKind.FirstKeyword&&Q0<=de.SyntaxKind.LastKeyword},D.isThisParameter=function(Q0){return Q0.name.kind===de.SyntaxKind.Identifier&&Q0.name.originalKeywordKind===de.SyntaxKind.ThisKeyword},D.getModifier=function(Q0,y1){if(Q0.modifiers!==void 0){for(const k1 of Q0.modifiers)if(k1.kind===y1)return k1}},D.hasModifier=v1,D.isParameterProperty=function(Q0){return v1(Q0.modifiers,de.SyntaxKind.PublicKeyword,de.SyntaxKind.ProtectedKeyword,de.SyntaxKind.PrivateKeyword,de.SyntaxKind.ReadonlyKeyword)},D.hasAccessModifier=function(Q0){return _0(Q0,de.ModifierFlags.AccessibilityModifier)},D.isNodeFlagSet=ex,D.isTypeFlagSet=ex,D.isSymbolFlagSet=ex,D.isObjectFlagSet=function(Q0,y1){return(Q0.objectFlags&y1)!=0},D.isModifierFlagSet=_0,D.getPreviousStatement=function(Q0){const y1=Q0.parent;if(IF.isBlockLike(y1)){const k1=y1.statements.indexOf(Q0);if(k1>0)return y1.statements[k1-1]}},D.getNextStatement=function(Q0){const y1=Q0.parent;if(IF.isBlockLike(y1)){const k1=y1.statements.indexOf(Q0);if(k1<y1.statements.length)return y1.statements[k1+1]}},D.getPreviousToken=function(Q0,y1){const{pos:k1}=Q0;if(k1!==0){do Q0=Q0.parent;while(Q0.pos===k1);return e(Q0,k1-1,y1!=null?y1:Q0.getSourceFile(),!1)}},D.getNextToken=function(Q0,y1){if(Q0.kind===de.SyntaxKind.SourceFile||Q0.kind===de.SyntaxKind.EndOfFileToken)return;const k1=Q0.end;for(Q0=Q0.parent;Q0.end===k1;){if(Q0.parent===void 0)return Q0.endOfFileToken;Q0=Q0.parent}return e(Q0,k1,y1!=null?y1:Q0.getSourceFile(),!1)},D.getTokenAtPosition=Ne,D.getCommentAtPosition=s,D.isPositionInComment=function(Q0,y1,k1){return s(Q0,y1,k1)!==void 0},D.commentText=function(Q0,y1){return Q0.substring(y1.pos+2,y1.kind===de.SyntaxKind.SingleLineCommentTrivia?y1.end:y1.end-2)},D.getAstNodeAtPosition=J,D.getWrappedNodeAtPosition=function(Q0,y1){if(!(Q0.node.pos>y1||Q0.node.end<=y1))x:for(;;){for(const k1 of Q0.children){if(k1.node.pos>y1)return Q0;if(k1.node.end>y1){Q0=k1;continue x}}return Q0}},D.getPropertyName=m0,D.forEachDestructuringIdentifier=s1,D.forEachDeclaredVariable=function(Q0,y1){for(const k1 of Q0.declarations){let I1;if(I1=k1.name.kind===de.SyntaxKind.Identifier?y1(k1):s1(k1.name,y1),I1)return I1}},(i0=D.VariableDeclarationKind||(D.VariableDeclarationKind={}))[i0.Var=0]=\"Var\",i0[i0.Let=1]=\"Let\",i0[i0.Const=2]=\"Const\",D.getVariableDeclarationKind=function(Q0){return Q0.flags&de.NodeFlags.Let?1:Q0.flags&de.NodeFlags.Const?2:0},D.isBlockScopedVariableDeclarationList=I,D.isBlockScopedVariableDeclaration=function(Q0){const y1=Q0.parent;return y1.kind===de.SyntaxKind.CatchClause||I(y1)},D.isBlockScopedDeclarationStatement=function(Q0){switch(Q0.kind){case de.SyntaxKind.VariableStatement:return I(Q0.declarationList);case de.SyntaxKind.ClassDeclaration:case de.SyntaxKind.EnumDeclaration:case de.SyntaxKind.InterfaceDeclaration:case de.SyntaxKind.TypeAliasDeclaration:return!0;default:return!1}},D.isInSingleStatementContext=function(Q0){switch(Q0.parent.kind){case de.SyntaxKind.ForStatement:case de.SyntaxKind.ForInStatement:case de.SyntaxKind.ForOfStatement:case de.SyntaxKind.WhileStatement:case de.SyntaxKind.DoStatement:case de.SyntaxKind.IfStatement:case de.SyntaxKind.WithStatement:case de.SyntaxKind.LabeledStatement:return!0;default:return!1}},(H0=D.ScopeBoundary||(D.ScopeBoundary={}))[H0.None=0]=\"None\",H0[H0.Function=1]=\"Function\",H0[H0.Block=2]=\"Block\",H0[H0.Type=4]=\"Type\",H0[H0.ConditionalType=8]=\"ConditionalType\",(E0=D.ScopeBoundarySelector||(D.ScopeBoundarySelector={}))[E0.Function=1]=\"Function\",E0[E0.Block=3]=\"Block\",E0[E0.Type=7]=\"Type\",E0[E0.InferType=8]=\"InferType\",D.isScopeBoundary=function(Q0){return Z(Q0)||A0(Q0)||A(Q0)},D.isTypeScopeBoundary=A,D.isFunctionScopeBoundary=Z,D.isBlockScopeBoundary=A0,D.hasOwnThisReference=function(Q0){switch(Q0.kind){case de.SyntaxKind.ClassDeclaration:case de.SyntaxKind.ClassExpression:case de.SyntaxKind.FunctionExpression:return!0;case de.SyntaxKind.FunctionDeclaration:return Q0.body!==void 0;case de.SyntaxKind.MethodDeclaration:case de.SyntaxKind.GetAccessor:case de.SyntaxKind.SetAccessor:return Q0.parent.kind===de.SyntaxKind.ObjectLiteralExpression;default:return!1}},D.isFunctionWithBody=function(Q0){switch(Q0.kind){case de.SyntaxKind.GetAccessor:case de.SyntaxKind.SetAccessor:case de.SyntaxKind.FunctionDeclaration:case de.SyntaxKind.MethodDeclaration:case de.SyntaxKind.Constructor:return Q0.body!==void 0;case de.SyntaxKind.FunctionExpression:case de.SyntaxKind.ArrowFunction:return!0;default:return!1}},D.forEachToken=o0,D.forEachTokenWithTrivia=function(Q0,y1,k1=Q0.getSourceFile()){const I1=k1.text,K0=de.createScanner(k1.languageVersion,!1,k1.languageVariant,I1);return o0(Q0,G1=>{const Nx=G1.kind===de.SyntaxKind.JsxText||G1.pos===G1.end?G1.pos:G1.getStart(k1);if(Nx!==G1.pos){K0.setTextPos(G1.pos);let n1=K0.scan(),S0=K0.getTokenPos();for(;S0<Nx;){const I0=K0.getTextPos();if(y1(I1,n1,{pos:S0,end:I0},G1.parent),I0===Nx)break;n1=K0.scan(),S0=K0.getTokenPos()}}return y1(I1,G1.kind,{end:G1.end,pos:Nx},G1.parent)},k1)},D.forEachComment=function(Q0,y1,k1=Q0.getSourceFile()){const I1=k1.text,K0=k1.languageVariant!==de.LanguageVariant.JSX;return o0(Q0,Nx=>{if(Nx.pos!==Nx.end)return Nx.kind!==de.SyntaxKind.JsxText&&de.forEachLeadingCommentRange(I1,Nx.pos===0?(de.getShebang(I1)||\"\").length:Nx.pos,G1),K0||function(n1){switch(n1.kind){case de.SyntaxKind.CloseBraceToken:return n1.parent.kind!==de.SyntaxKind.JsxExpression||!j(n1.parent.parent);case de.SyntaxKind.GreaterThanToken:switch(n1.parent.kind){case de.SyntaxKind.JsxOpeningElement:return n1.end!==n1.parent.end;case de.SyntaxKind.JsxOpeningFragment:return!1;case de.SyntaxKind.JsxSelfClosingElement:return n1.end!==n1.parent.end||!j(n1.parent.parent);case de.SyntaxKind.JsxClosingElement:case de.SyntaxKind.JsxClosingFragment:return!j(n1.parent.parent.parent)}}return!0}(Nx)?de.forEachTrailingCommentRange(I1,Nx.end,G1):void 0},k1);function G1(Nx,n1,S0){y1(I1,{pos:Nx,end:n1,kind:S0})}},D.getLineRanges=function(Q0){const y1=Q0.getLineStarts(),k1=[],I1=y1.length,K0=Q0.text;let G1=0;for(let Nx=1;Nx<I1;++Nx){const n1=y1[Nx];let S0=n1;for(;S0>G1&&de.isLineBreak(K0.charCodeAt(S0-1));--S0);k1.push({pos:G1,end:n1,contentLength:S0-G1}),G1=n1}return k1.push({pos:G1,end:Q0.end,contentLength:Q0.end-G1}),k1},D.getLineBreakStyle=function(Q0){const y1=Q0.getLineStarts();return y1.length===1||y1[1]<2||Q0.text[y1[1]-2]!==\"\\r\"?`\n`:`\\r\n`},D.isValidIdentifier=function(Q0,y1=de.ScriptTarget.Latest){const k1=u0(Q0,y1);return k1.isIdentifier()&&k1.getTextPos()===Q0.length&&k1.getTokenPos()===0},D.isValidPropertyAccess=g0,D.isValidPropertyName=function(Q0,y1=de.ScriptTarget.Latest){if(g0(Q0,y1))return!0;const k1=u0(Q0,y1);return k1.getTextPos()===Q0.length&&k1.getToken()===de.SyntaxKind.NumericLiteral&&k1.getTokenValue()===Q0},D.isValidNumericLiteral=function(Q0,y1=de.ScriptTarget.Latest){const k1=u0(Q0,y1);return k1.getToken()===de.SyntaxKind.NumericLiteral&&k1.getTextPos()===Q0.length&&k1.getTokenPos()===0},D.isValidJsxIdentifier=function(Q0,y1=de.ScriptTarget.Latest){if(Q0.length===0)return!1;let k1=!1,I1=Q0.codePointAt(0);if(!de.isIdentifierStart(I1,y1))return!1;for(let K0=U(I1);K0<Q0.length;K0+=U(I1))if(I1=Q0.codePointAt(K0),!de.isIdentifierPart(I1,y1)&&I1!==45){if(k1||I1!==58||K0+U(I1)===Q0.length)return!1;k1=!0}return!0},D.isNumericPropertyName=function(Q0){return String(+Q0)===Q0},D.isSameLine=d0,(P0=D.SideEffectOptions||(D.SideEffectOptions={}))[P0.None=0]=\"None\",P0[P0.TaggedTemplate=1]=\"TaggedTemplate\",P0[P0.Constructor=2]=\"Constructor\",P0[P0.JsxElement=4]=\"JsxElement\",D.hasSideEffects=function(Q0,y1){var k1,I1;const K0=[];for(;;){switch(Q0.kind){case de.SyntaxKind.CallExpression:case de.SyntaxKind.PostfixUnaryExpression:case de.SyntaxKind.AwaitExpression:case de.SyntaxKind.YieldExpression:case de.SyntaxKind.DeleteExpression:return!0;case de.SyntaxKind.TypeAssertionExpression:case de.SyntaxKind.AsExpression:case de.SyntaxKind.ParenthesizedExpression:case de.SyntaxKind.NonNullExpression:case de.SyntaxKind.VoidExpression:case de.SyntaxKind.TypeOfExpression:case de.SyntaxKind.PropertyAccessExpression:case de.SyntaxKind.SpreadElement:case de.SyntaxKind.PartiallyEmittedExpression:Q0=Q0.expression;continue;case de.SyntaxKind.BinaryExpression:if(j1(Q0.operatorToken.kind))return!0;K0.push(Q0.right),Q0=Q0.left;continue;case de.SyntaxKind.PrefixUnaryExpression:switch(Q0.operator){case de.SyntaxKind.PlusPlusToken:case de.SyntaxKind.MinusMinusToken:return!0;default:Q0=Q0.operand;continue}case de.SyntaxKind.ElementAccessExpression:Q0.argumentExpression!==void 0&&K0.push(Q0.argumentExpression),Q0=Q0.expression;continue;case de.SyntaxKind.ConditionalExpression:K0.push(Q0.whenTrue,Q0.whenFalse),Q0=Q0.condition;continue;case de.SyntaxKind.NewExpression:if(2&y1)return!0;Q0.arguments!==void 0&&K0.push(...Q0.arguments),Q0=Q0.expression;continue;case de.SyntaxKind.TaggedTemplateExpression:if(1&y1)return!0;if(K0.push(Q0.tag),(Q0=Q0.template).kind===de.SyntaxKind.NoSubstitutionTemplateLiteral)break;case de.SyntaxKind.TemplateExpression:for(const G1 of Q0.templateSpans)K0.push(G1.expression);break;case de.SyntaxKind.ClassExpression:{if(Q0.decorators!==void 0)return!0;for(const Nx of Q0.members){if(Nx.decorators!==void 0)return!0;if(!v1(Nx.modifiers,de.SyntaxKind.DeclareKeyword))if(((k1=Nx.name)===null||k1===void 0?void 0:k1.kind)===de.SyntaxKind.ComputedPropertyName&&K0.push(Nx.name.expression),IF.isMethodDeclaration(Nx)){for(const n1 of Nx.parameters)if(n1.decorators!==void 0)return!0}else IF.isPropertyDeclaration(Nx)&&Nx.initializer!==void 0&&v1(Nx.modifiers,de.SyntaxKind.StaticKeyword)&&K0.push(Nx.initializer)}const G1=Z1(Q0);if(G1===void 0)break;Q0=G1.expression;continue}case de.SyntaxKind.ArrayLiteralExpression:K0.push(...Q0.elements);break;case de.SyntaxKind.ObjectLiteralExpression:for(const G1 of Q0.properties)switch(((I1=G1.name)===null||I1===void 0?void 0:I1.kind)===de.SyntaxKind.ComputedPropertyName&&K0.push(G1.name.expression),G1.kind){case de.SyntaxKind.PropertyAssignment:K0.push(G1.initializer);break;case de.SyntaxKind.SpreadAssignment:K0.push(G1.expression)}break;case de.SyntaxKind.JsxExpression:if(Q0.expression===void 0)break;Q0=Q0.expression;continue;case de.SyntaxKind.JsxElement:case de.SyntaxKind.JsxFragment:for(const G1 of Q0.children)G1.kind!==de.SyntaxKind.JsxText&&K0.push(G1);if(Q0.kind===de.SyntaxKind.JsxFragment)break;Q0=Q0.openingElement;case de.SyntaxKind.JsxSelfClosingElement:case de.SyntaxKind.JsxOpeningElement:if(4&y1)return!0;for(const G1 of Q0.attributes.properties)G1.kind===de.SyntaxKind.JsxSpreadAttribute?K0.push(G1.expression):G1.initializer!==void 0&&K0.push(G1.initializer);break;case de.SyntaxKind.CommaListExpression:K0.push(...Q0.elements)}if(K0.length===0)return!1;Q0=K0.pop()}},D.getDeclarationOfBindingElement=function(Q0){let y1=Q0.parent.parent;for(;y1.kind===de.SyntaxKind.BindingElement;)y1=y1.parent.parent;return y1},D.isExpressionValueUsed=function(Q0){for(;;){const y1=Q0.parent;switch(y1.kind){case de.SyntaxKind.CallExpression:case de.SyntaxKind.NewExpression:case de.SyntaxKind.ElementAccessExpression:case de.SyntaxKind.WhileStatement:case de.SyntaxKind.DoStatement:case de.SyntaxKind.WithStatement:case de.SyntaxKind.ThrowStatement:case de.SyntaxKind.ReturnStatement:case de.SyntaxKind.JsxExpression:case de.SyntaxKind.JsxSpreadAttribute:case de.SyntaxKind.JsxElement:case de.SyntaxKind.JsxFragment:case de.SyntaxKind.JsxSelfClosingElement:case de.SyntaxKind.ComputedPropertyName:case de.SyntaxKind.ArrowFunction:case de.SyntaxKind.ExportSpecifier:case de.SyntaxKind.ExportAssignment:case de.SyntaxKind.ImportDeclaration:case de.SyntaxKind.ExternalModuleReference:case de.SyntaxKind.Decorator:case de.SyntaxKind.TaggedTemplateExpression:case de.SyntaxKind.TemplateSpan:case de.SyntaxKind.ExpressionWithTypeArguments:case de.SyntaxKind.TypeOfExpression:case de.SyntaxKind.AwaitExpression:case de.SyntaxKind.YieldExpression:case de.SyntaxKind.LiteralType:case de.SyntaxKind.JsxAttributes:case de.SyntaxKind.JsxOpeningElement:case de.SyntaxKind.JsxClosingElement:case de.SyntaxKind.IfStatement:case de.SyntaxKind.CaseClause:case de.SyntaxKind.SwitchStatement:return!0;case de.SyntaxKind.PropertyAccessExpression:return y1.expression===Q0;case de.SyntaxKind.QualifiedName:return y1.left===Q0;case de.SyntaxKind.ShorthandPropertyAssignment:return y1.objectAssignmentInitializer===Q0||!x0(y1);case de.SyntaxKind.PropertyAssignment:return y1.initializer===Q0&&!x0(y1);case de.SyntaxKind.SpreadAssignment:case de.SyntaxKind.SpreadElement:case de.SyntaxKind.ArrayLiteralExpression:return!x0(y1);case de.SyntaxKind.ParenthesizedExpression:case de.SyntaxKind.AsExpression:case de.SyntaxKind.TypeAssertionExpression:case de.SyntaxKind.PostfixUnaryExpression:case de.SyntaxKind.PrefixUnaryExpression:case de.SyntaxKind.NonNullExpression:Q0=y1;continue;case de.SyntaxKind.ForStatement:return y1.condition===Q0;case de.SyntaxKind.ForInStatement:case de.SyntaxKind.ForOfStatement:return y1.expression===Q0;case de.SyntaxKind.ConditionalExpression:if(y1.condition===Q0)return!0;Q0=y1;break;case de.SyntaxKind.PropertyDeclaration:case de.SyntaxKind.BindingElement:case de.SyntaxKind.VariableDeclaration:case de.SyntaxKind.Parameter:case de.SyntaxKind.EnumMember:return y1.initializer===Q0;case de.SyntaxKind.ImportEqualsDeclaration:return y1.moduleReference===Q0;case de.SyntaxKind.CommaListExpression:if(y1.elements[y1.elements.length-1]!==Q0)return!1;Q0=y1;break;case de.SyntaxKind.BinaryExpression:if(y1.right===Q0){if(y1.operatorToken.kind===de.SyntaxKind.CommaToken){Q0=y1;break}return!0}switch(y1.operatorToken.kind){case de.SyntaxKind.CommaToken:case de.SyntaxKind.EqualsToken:return!1;case de.SyntaxKind.EqualsEqualsEqualsToken:case de.SyntaxKind.EqualsEqualsToken:case de.SyntaxKind.ExclamationEqualsEqualsToken:case de.SyntaxKind.ExclamationEqualsToken:case de.SyntaxKind.InstanceOfKeyword:case de.SyntaxKind.PlusToken:case de.SyntaxKind.MinusToken:case de.SyntaxKind.AsteriskToken:case de.SyntaxKind.SlashToken:case de.SyntaxKind.PercentToken:case de.SyntaxKind.AsteriskAsteriskToken:case de.SyntaxKind.GreaterThanToken:case de.SyntaxKind.GreaterThanGreaterThanToken:case de.SyntaxKind.GreaterThanGreaterThanGreaterThanToken:case de.SyntaxKind.GreaterThanEqualsToken:case de.SyntaxKind.LessThanToken:case de.SyntaxKind.LessThanLessThanToken:case de.SyntaxKind.LessThanEqualsToken:case de.SyntaxKind.AmpersandToken:case de.SyntaxKind.BarToken:case de.SyntaxKind.CaretToken:case de.SyntaxKind.BarBarToken:case de.SyntaxKind.AmpersandAmpersandToken:case de.SyntaxKind.QuestionQuestionToken:case de.SyntaxKind.InKeyword:case de.SyntaxKind.QuestionQuestionEqualsToken:case de.SyntaxKind.AmpersandAmpersandEqualsToken:case de.SyntaxKind.BarBarEqualsToken:return!0;default:Q0=y1}break;default:return!1}}},(c0=D.AccessKind||(D.AccessKind={}))[c0.None=0]=\"None\",c0[c0.Read=1]=\"Read\",c0[c0.Write=2]=\"Write\",c0[c0.Delete=4]=\"Delete\",c0[c0.ReadWrite=3]=\"ReadWrite\",c0[c0.Modification=6]=\"Modification\",D.getAccessKind=l0,D.isReassignmentTarget=function(Q0){return(2&l0(Q0))!=0},D.canHaveJsDoc=w0,D.getJsDoc=V,D.parseJsDocOfNode=function(Q0,y1,k1=Q0.getSourceFile()){if(w0(Q0)&&Q0.kind!==de.SyntaxKind.EndOfFileToken){const I1=V(Q0,k1);if(I1.length!==0||!y1)return I1}return function(I1,K0,G1,Nx){const n1=de[Nx&&d0(G1,I1.pos,K0)?\"forEachTrailingCommentRange\":\"forEachLeadingCommentRange\"](G1.text,I1.pos,(Y1,N1,V1)=>V1===de.SyntaxKind.MultiLineCommentTrivia&&G1.text[Y1+2]===\"*\"?{pos:Y1}:void 0);if(n1===void 0)return[];const S0=n1.pos,I0=G1.text.slice(S0,K0),U0=de.createSourceFile(\"jsdoc.ts\",`${I0}var a;`,G1.languageVersion),p0=V(U0.statements[0],U0);for(const Y1 of p0)p1(Y1,I1);return p0;function p1(Y1,N1){return Y1.pos+=S0,Y1.end+=S0,Y1.parent=N1,de.forEachChild(Y1,V1=>p1(V1,Y1),V1=>{V1.pos+=S0,V1.end+=S0;for(const Ox of V1)p1(Ox,Y1)})}}(Q0,Q0.getStart(k1),k1,y1)},(D0=D.ImportKind||(D.ImportKind={}))[D0.ImportDeclaration=1]=\"ImportDeclaration\",D0[D0.ImportEquals=2]=\"ImportEquals\",D0[D0.ExportFrom=4]=\"ExportFrom\",D0[D0.DynamicImport=8]=\"DynamicImport\",D0[D0.Require=16]=\"Require\",D0[D0.ImportType=32]=\"ImportType\",D0[D0.All=63]=\"All\",D0[D0.AllImports=59]=\"AllImports\",D0[D0.AllStaticImports=3]=\"AllStaticImports\",D0[D0.AllImportExpressions=24]=\"AllImportExpressions\",D0[D0.AllRequireLike=18]=\"AllRequireLike\",D0[D0.AllNestedImports=56]=\"AllNestedImports\",D0[D0.AllTopLevelImports=7]=\"AllTopLevelImports\",D.findImports=function(Q0,y1,k1=!0){const I1=[];for(const G1 of w(Q0,y1,k1))switch(G1.kind){case de.SyntaxKind.ImportDeclaration:K0(G1.moduleSpecifier);break;case de.SyntaxKind.ImportEqualsDeclaration:K0(G1.moduleReference.expression);break;case de.SyntaxKind.ExportDeclaration:K0(G1.moduleSpecifier);break;case de.SyntaxKind.CallExpression:K0(G1.arguments[0]);break;case de.SyntaxKind.ImportType:IF.isLiteralTypeNode(G1.argument)&&K0(G1.argument.literal);break;default:throw new Error(\"unexpected node\")}return I1;function K0(G1){IF.isTextualLiteral(G1)&&I1.push(G1)}},D.findImportLikeNodes=w;class H{constructor(y1,k1,I1){this._sourceFile=y1,this._options=k1,this._ignoreFileName=I1,this._result=[]}find(){return this._sourceFile.isDeclarationFile&&(this._options&=-25),7&this._options&&this._findImports(this._sourceFile.statements),56&this._options&&this._findNestedImports(),this._result}_findImports(y1){for(const k1 of y1)IF.isImportDeclaration(k1)?1&this._options&&this._result.push(k1):IF.isImportEqualsDeclaration(k1)?2&this._options&&k1.moduleReference.kind===de.SyntaxKind.ExternalModuleReference&&this._result.push(k1):IF.isExportDeclaration(k1)?k1.moduleSpecifier!==void 0&&4&this._options&&this._result.push(k1):IF.isModuleDeclaration(k1)&&this._findImportsInModule(k1)}_findImportsInModule(y1){if(y1.body!==void 0)return y1.body.kind===de.SyntaxKind.ModuleDeclaration?this._findImportsInModule(y1.body):void this._findImports(y1.body.statements)}_findNestedImports(){const y1=this._ignoreFileName||(this._sourceFile.flags&de.NodeFlags.JavaScriptFile)!=0;let k1,I1;if((56&this._options)==16){if(!y1)return;k1=/\\brequire\\s*[</(]/g,I1=!1}else 16&this._options&&y1?(k1=/\\b(?:import|require)\\s*[</(]/g,I1=(32&this._options)!=0):(k1=/\\bimport\\s*[</(]/g,I1=y1&&(32&this._options)!=0);for(let K0=k1.exec(this._sourceFile.text);K0!==null;K0=k1.exec(this._sourceFile.text)){const G1=e(this._sourceFile,K0.index,this._sourceFile,K0[0][0]===\"i\"&&I1);if(G1.kind===de.SyntaxKind.ImportKeyword){if(G1.end-\"import\".length!==K0.index)continue;switch(G1.parent.kind){case de.SyntaxKind.ImportType:this._result.push(G1.parent);break;case de.SyntaxKind.CallExpression:G1.parent.arguments.length>1&&this._result.push(G1.parent)}}else G1.kind===de.SyntaxKind.Identifier&&G1.end-\"require\".length===K0.index&&G1.parent.kind===de.SyntaxKind.CallExpression&&G1.parent.expression===G1&&G1.parent.arguments.length===1&&this._result.push(G1.parent)}}}function k0(Q0){for(;Q0.kind===de.SyntaxKind.ModuleBlock;){do Q0=Q0.parent;while(Q0.flags&de.NodeFlags.NestedNamespace);if(v1(Q0.modifiers,de.SyntaxKind.DeclareKeyword))return!0;Q0=Q0.parent}return!1}function V0(Q0,y1){return(Q0.strict?Q0[y1]!==!1:Q0[y1]===!0)&&(y1!==\"strictPropertyInitialization\"||V0(Q0,\"strictNullChecks\"))}function t0(Q0){let y1;return de.forEachLeadingCommentRange(Q0,(de.getShebang(Q0)||\"\").length,(k1,I1,K0)=>{if(K0===de.SyntaxKind.SingleLineCommentTrivia){const G1=Q0.slice(k1,I1),Nx=/^\\/{2,3}\\s*@ts-(no)?check(?:\\s|$)/i.exec(G1);Nx!==null&&(y1={pos:k1,end:I1,enabled:Nx[1]===void 0})}}),y1}function f0(Q0){return IF.isTypeReferenceNode(Q0.type)&&Q0.type.typeName.kind===de.SyntaxKind.Identifier&&Q0.type.typeName.escapedText===\"const\"}function y0(Q0){return Q0.arguments.length===3&&IF.isEntityNameExpression(Q0.arguments[0])&&IF.isNumericOrStringLikeLiteral(Q0.arguments[1])&&IF.isPropertyAccessExpression(Q0.expression)&&Q0.expression.name.escapedText===\"defineProperty\"&&IF.isIdentifier(Q0.expression.expression)&&Q0.expression.expression.escapedText===\"Object\"}function G0(Q0){return de.isPropertyAccessExpression(Q0)&&de.isIdentifier(Q0.expression)&&Q0.expression.escapedText===\"Symbol\"}function d1(Q0){return{displayName:`[Symbol.${Q0.name.text}]`,symbolName:\"__@\"+Q0.name.text}}D.isStatementInAmbientContext=function(Q0){for(;Q0.flags&de.NodeFlags.NestedNamespace;)Q0=Q0.parent;return v1(Q0.modifiers,de.SyntaxKind.DeclareKeyword)||k0(Q0.parent)},D.isAmbientModuleBlock=k0,D.getIIFE=function(Q0){let y1=Q0.parent;for(;y1.kind===de.SyntaxKind.ParenthesizedExpression;)y1=y1.parent;return IF.isCallExpression(y1)&&Q0.end<=y1.expression.end?y1:void 0},D.isStrictCompilerOptionEnabled=V0,D.isCompilerOptionEnabled=function Q0(y1,k1){switch(k1){case\"stripInternal\":case\"declarationMap\":case\"emitDeclarationOnly\":return y1[k1]===!0&&Q0(y1,\"declaration\");case\"declaration\":return y1.declaration||Q0(y1,\"composite\");case\"incremental\":return y1.incremental===void 0?Q0(y1,\"composite\"):y1.incremental;case\"skipDefaultLibCheck\":return y1.skipDefaultLibCheck||Q0(y1,\"skipLibCheck\");case\"suppressImplicitAnyIndexErrors\":return y1.suppressImplicitAnyIndexErrors===!0&&Q0(y1,\"noImplicitAny\");case\"allowSyntheticDefaultImports\":return y1.allowSyntheticDefaultImports!==void 0?y1.allowSyntheticDefaultImports:Q0(y1,\"esModuleInterop\")||y1.module===de.ModuleKind.System;case\"noUncheckedIndexedAccess\":return y1.noUncheckedIndexedAccess===!0&&Q0(y1,\"strictNullChecks\");case\"allowJs\":return y1.allowJs===void 0?Q0(y1,\"checkJs\"):y1.allowJs;case\"noImplicitAny\":case\"noImplicitThis\":case\"strictNullChecks\":case\"strictFunctionTypes\":case\"strictPropertyInitialization\":case\"alwaysStrict\":case\"strictBindCallApply\":return V0(y1,k1)}return y1[k1]===!0},D.isAmbientModule=function(Q0){return Q0.name.kind===de.SyntaxKind.StringLiteral||(Q0.flags&de.NodeFlags.GlobalAugmentation)!=0},D.getCheckJsDirective=function(Q0){return t0(Q0)},D.getTsCheckDirective=t0,D.isConstAssertion=f0,D.isInConstContext=function(Q0){let y1=Q0;for(;;){const k1=y1.parent;x:switch(k1.kind){case de.SyntaxKind.TypeAssertionExpression:case de.SyntaxKind.AsExpression:return f0(k1);case de.SyntaxKind.PrefixUnaryExpression:if(y1.kind!==de.SyntaxKind.NumericLiteral)return!1;switch(k1.operator){case de.SyntaxKind.PlusToken:case de.SyntaxKind.MinusToken:y1=k1;break x;default:return!1}case de.SyntaxKind.PropertyAssignment:if(k1.initializer!==y1)return!1;y1=k1.parent;break;case de.SyntaxKind.ShorthandPropertyAssignment:y1=k1.parent;break;case de.SyntaxKind.ParenthesizedExpression:case de.SyntaxKind.ArrayLiteralExpression:case de.SyntaxKind.ObjectLiteralExpression:case de.SyntaxKind.TemplateExpression:y1=k1;break;default:return!1}}},D.isReadonlyAssignmentDeclaration=function(Q0,y1){if(!y0(Q0))return!1;const k1=y1.getTypeAtLocation(Q0.arguments[2]);if(k1.getProperty(\"value\")===void 0)return k1.getProperty(\"set\")===void 0;const I1=k1.getProperty(\"writable\");if(I1===void 0)return!1;const K0=I1.valueDeclaration!==void 0&&IF.isPropertyAssignment(I1.valueDeclaration)?y1.getTypeAtLocation(I1.valueDeclaration.initializer):y1.getTypeOfSymbolAtLocation(I1,Q0.arguments[2]);return L9.isBooleanLiteralType(K0,!1)},D.isBindableObjectDefinePropertyCall=y0,D.isWellKnownSymbolLiterally=G0,D.getPropertyNameOfWellKnownSymbol=d1;const h1=(([Q0,y1])=>Q0<\"4\"||Q0===\"4\"&&y1<\"3\")(de.versionMajorMinor.split(\".\"));function S1(Q0,y1){const k1={known:!0,names:[]};if(Q0=Q1(Q0),h1&&G0(Q0))k1.names.push(d1(Q0));else{const I1=y1.getTypeAtLocation(Q0);for(const K0 of L9.unionTypeParts(y1.getBaseConstraintOfType(I1)||I1)){const G1=L9.getPropertyNameFromType(K0);G1?k1.names.push(G1):k1.known=!1}}return k1}function Q1(Q0){for(;Q0.kind===de.SyntaxKind.ParenthesizedExpression;)Q0=Q0.expression;return Q0}function Y0(Q0){return`${Q0.negative?\"-\":\"\"}${Q0.base10Value}n`}function $1(Q0){return D.isTypeFlagSet(Q0,de.TypeFlags.Null)?\"null\":D.isTypeFlagSet(Q0,de.TypeFlags.Undefined)?\"undefined\":D.isTypeFlagSet(Q0,de.TypeFlags.NumberLiteral)?`${D.isTypeFlagSet(Q0,de.TypeFlags.EnumLiteral)?\"enum:\":\"\"}${Q0.value}`:D.isTypeFlagSet(Q0,de.TypeFlags.StringLiteral)?`${D.isTypeFlagSet(Q0,de.TypeFlags.EnumLiteral)?\"enum:\":\"\"}string:${Q0.value}`:D.isTypeFlagSet(Q0,de.TypeFlags.BigIntLiteral)?Y0(Q0.value):ih.isUniqueESSymbolType(Q0)?Q0.escapedName:L9.isBooleanLiteralType(Q0,!0)?\"true\":L9.isBooleanLiteralType(Q0,!1)?\"false\":void 0}function Z1(Q0){var y1;if(((y1=Q0.heritageClauses)===null||y1===void 0?void 0:y1[0].token)===de.SyntaxKind.ExtendsKeyword)return Q0.heritageClauses[0].types[0]}D.getLateBoundPropertyNames=S1,D.getLateBoundPropertyNamesOfPropertyName=function(Q0,y1){const k1=m0(Q0);return k1!==void 0?{known:!0,names:[{displayName:k1,symbolName:de.escapeLeadingUnderscores(k1)}]}:Q0.kind===de.SyntaxKind.PrivateIdentifier?{known:!0,names:[{displayName:Q0.text,symbolName:y1.getSymbolAtLocation(Q0).escapedName}]}:S1(Q0.expression,y1)},D.getSingleLateBoundPropertyNameOfPropertyName=function(Q0,y1){const k1=m0(Q0);if(k1!==void 0)return{displayName:k1,symbolName:de.escapeLeadingUnderscores(k1)};if(Q0.kind===de.SyntaxKind.PrivateIdentifier)return{displayName:Q0.text,symbolName:y1.getSymbolAtLocation(Q0).escapedName};const{expression:I1}=Q0;return h1&&G0(I1)?d1(I1):L9.getPropertyNameFromType(y1.getTypeAtLocation(I1))},D.unwrapParentheses=Q1,D.formatPseudoBigInt=Y0,D.hasExhaustiveCaseClauses=function(Q0,y1){const k1=Q0.caseBlock.clauses.filter(IF.isCaseClause);if(k1.length===0)return!1;const I1=L9.unionTypeParts(y1.getTypeAtLocation(Q0.expression));if(I1.length>k1.length)return!1;const K0=new Set(I1.map($1));if(K0.has(void 0))return!1;const G1=new Set;for(const Nx of k1){const n1=y1.getTypeAtLocation(Nx.expression);if(D.isTypeFlagSet(n1,de.TypeFlags.Never))continue;const S0=$1(n1);if(K0.has(S0))G1.add(S0);else if(S0!==\"null\"&&S0!==\"undefined\")return!1}return K0.size===G1.size},D.getBaseOfClassLikeExpression=Z1}),Ew=W0(function(C,D){var $=a1&&a1.__createBinding||(Object.create?function(ex,_0,Ne,e){e===void 0&&(e=Ne),Object.defineProperty(ex,e,{enumerable:!0,get:function(){return _0[Ne]}})}:function(ex,_0,Ne,e){e===void 0&&(e=Ne),ex[e]=_0[Ne]}),o1=a1&&a1.__setModuleDefault||(Object.create?function(ex,_0){Object.defineProperty(ex,\"default\",{enumerable:!0,value:_0})}:function(ex,_0){ex.default=_0}),j1=a1&&a1.__importStar||function(ex){if(ex&&ex.__esModule)return ex;var _0={};if(ex!=null)for(var Ne in ex)Ne!==\"default\"&&Object.prototype.hasOwnProperty.call(ex,Ne)&&$(_0,ex,Ne);return o1(_0,ex),_0};Object.defineProperty(D,\"__esModule\",{value:!0}),D.convertComments=void 0;const v1=j1(de);D.convertComments=function(ex,_0){const Ne=[];return u5.forEachComment(ex,(e,s)=>{const X=s.kind==v1.SyntaxKind.SingleLineCommentTrivia?ga.AST_TOKEN_TYPES.Line:ga.AST_TOKEN_TYPES.Block,J=[s.pos,s.end],m0=ds.getLocFor(J[0],J[1],ex),s1=J[0]+2,i0=s.kind===v1.SyntaxKind.SingleLineCommentTrivia?J[1]-s1:J[1]-s1-2;Ne.push({type:X,value:_0.substr(s1,i0),range:J,loc:m0})},ex),Ne}}),u2={AssignmentExpression:[\"left\",\"right\"],AssignmentPattern:[\"left\",\"right\"],ArrayExpression:[\"elements\"],ArrayPattern:[\"elements\"],ArrowFunctionExpression:[\"params\",\"body\"],AwaitExpression:[\"argument\"],BlockStatement:[\"body\"],BinaryExpression:[\"left\",\"right\"],BreakStatement:[\"label\"],CallExpression:[\"callee\",\"arguments\"],CatchClause:[\"param\",\"body\"],ChainExpression:[\"expression\"],ClassBody:[\"body\"],ClassDeclaration:[\"id\",\"superClass\",\"body\"],ClassExpression:[\"id\",\"superClass\",\"body\"],ConditionalExpression:[\"test\",\"consequent\",\"alternate\"],ContinueStatement:[\"label\"],DebuggerStatement:[],DoWhileStatement:[\"body\",\"test\"],EmptyStatement:[],ExportAllDeclaration:[\"exported\",\"source\"],ExportDefaultDeclaration:[\"declaration\"],ExportNamedDeclaration:[\"declaration\",\"specifiers\",\"source\"],ExportSpecifier:[\"exported\",\"local\"],ExpressionStatement:[\"expression\"],ExperimentalRestProperty:[\"argument\"],ExperimentalSpreadProperty:[\"argument\"],ForStatement:[\"init\",\"test\",\"update\",\"body\"],ForInStatement:[\"left\",\"right\",\"body\"],ForOfStatement:[\"left\",\"right\",\"body\"],FunctionDeclaration:[\"id\",\"params\",\"body\"],FunctionExpression:[\"id\",\"params\",\"body\"],Identifier:[],IfStatement:[\"test\",\"consequent\",\"alternate\"],ImportDeclaration:[\"specifiers\",\"source\"],ImportDefaultSpecifier:[\"local\"],ImportExpression:[\"source\"],ImportNamespaceSpecifier:[\"local\"],ImportSpecifier:[\"imported\",\"local\"],JSXAttribute:[\"name\",\"value\"],JSXClosingElement:[\"name\"],JSXElement:[\"openingElement\",\"children\",\"closingElement\"],JSXEmptyExpression:[],JSXExpressionContainer:[\"expression\"],JSXIdentifier:[],JSXMemberExpression:[\"object\",\"property\"],JSXNamespacedName:[\"namespace\",\"name\"],JSXOpeningElement:[\"name\",\"attributes\"],JSXSpreadAttribute:[\"argument\"],JSXText:[],JSXFragment:[\"openingFragment\",\"children\",\"closingFragment\"],Literal:[],LabeledStatement:[\"label\",\"body\"],LogicalExpression:[\"left\",\"right\"],MemberExpression:[\"object\",\"property\"],MetaProperty:[\"meta\",\"property\"],MethodDefinition:[\"key\",\"value\"],NewExpression:[\"callee\",\"arguments\"],ObjectExpression:[\"properties\"],ObjectPattern:[\"properties\"],PrivateIdentifier:[],Program:[\"body\"],Property:[\"key\",\"value\"],PropertyDefinition:[\"key\",\"value\"],RestElement:[\"argument\"],ReturnStatement:[\"argument\"],SequenceExpression:[\"expressions\"],SpreadElement:[\"argument\"],Super:[],SwitchStatement:[\"discriminant\",\"cases\"],SwitchCase:[\"test\",\"consequent\"],TaggedTemplateExpression:[\"tag\",\"quasi\"],TemplateElement:[],TemplateLiteral:[\"quasis\",\"expressions\"],ThisExpression:[],ThrowStatement:[\"argument\"],TryStatement:[\"block\",\"handler\",\"finalizer\"],UnaryExpression:[\"argument\"],UpdateExpression:[\"argument\"],VariableDeclaration:[\"declarations\"],VariableDeclarator:[\"id\",\"init\"],WhileStatement:[\"test\",\"body\"],WithStatement:[\"object\",\"body\"],YieldExpression:[\"argument\"]};const c3=Object.freeze(Object.keys(u2));for(const C of c3)Object.freeze(u2[C]);Object.freeze(u2);const h9=new Set([\"parent\",\"leadingComments\",\"trailingComments\"]);function fl(C){return!h9.has(C)&&C[0]!==\"_\"}var LB=Object.freeze({KEYS:u2,getKeys:C=>Object.keys(C).filter(fl),unionWith(C){const D=Object.assign({},u2);for(const $ of Object.keys(C))if(D.hasOwnProperty($)){const o1=new Set(C[$]);for(const j1 of D[$])o1.add(j1);D[$]=Object.freeze(Array.from(o1))}else D[$]=Object.freeze(Array.from(C[$]));return Object.freeze(D)}}),Km=W0(function(C,D){Object.defineProperty(D,\"__esModule\",{value:!0}),D.getKeys=void 0;const $=LB.getKeys;D.getKeys=$}),c2=W0(function(C,D){var $=a1&&a1.__createBinding||(Object.create?function(ex,_0,Ne,e){e===void 0&&(e=Ne),Object.defineProperty(ex,e,{enumerable:!0,get:function(){return _0[Ne]}})}:function(ex,_0,Ne,e){e===void 0&&(e=Ne),ex[e]=_0[Ne]}),o1=a1&&a1.__setModuleDefault||(Object.create?function(ex,_0){Object.defineProperty(ex,\"default\",{enumerable:!0,value:_0})}:function(ex,_0){ex.default=_0}),j1=a1&&a1.__importStar||function(ex){if(ex&&ex.__esModule)return ex;var _0={};if(ex!=null)for(var Ne in ex)Ne!==\"default\"&&Object.prototype.hasOwnProperty.call(ex,Ne)&&$(_0,ex,Ne);return o1(_0,ex),_0};Object.defineProperty(D,\"__esModule\",{value:!0}),D.visitorKeys=void 0;const v1=j1(LB).unionWith({ImportExpression:[\"source\"],ArrayPattern:[\"decorators\",\"elements\",\"typeAnnotation\"],ArrowFunctionExpression:[\"typeParameters\",\"params\",\"returnType\",\"body\"],AssignmentPattern:[\"decorators\",\"left\",\"right\",\"typeAnnotation\"],CallExpression:[\"callee\",\"typeParameters\",\"arguments\"],ClassDeclaration:[\"decorators\",\"id\",\"typeParameters\",\"superClass\",\"superTypeParameters\",\"implements\",\"body\"],ClassExpression:[\"decorators\",\"id\",\"typeParameters\",\"superClass\",\"superTypeParameters\",\"implements\",\"body\"],FunctionDeclaration:[\"id\",\"typeParameters\",\"params\",\"returnType\",\"body\"],FunctionExpression:[\"id\",\"typeParameters\",\"params\",\"returnType\",\"body\"],Identifier:[\"decorators\",\"typeAnnotation\"],MethodDefinition:[\"decorators\",\"key\",\"value\"],NewExpression:[\"callee\",\"typeParameters\",\"arguments\"],ObjectPattern:[\"decorators\",\"properties\",\"typeAnnotation\"],RestElement:[\"decorators\",\"argument\",\"typeAnnotation\"],TaggedTemplateExpression:[\"tag\",\"typeParameters\",\"quasi\"],JSXOpeningElement:[\"name\",\"typeParameters\",\"attributes\"],JSXClosingFragment:[],JSXOpeningFragment:[],JSXSpreadChild:[\"expression\"],ClassProperty:[\"decorators\",\"key\",\"typeAnnotation\",\"value\"],Decorator:[\"expression\"],TSAbstractClassProperty:[\"decorators\",\"key\",\"typeAnnotation\",\"value\"],TSAbstractKeyword:[],TSAbstractMethodDefinition:[\"key\",\"value\"],TSAnyKeyword:[],TSArrayType:[\"elementType\"],TSAsExpression:[\"expression\",\"typeAnnotation\"],TSAsyncKeyword:[],TSBigIntKeyword:[],TSBooleanKeyword:[],TSCallSignatureDeclaration:[\"typeParameters\",\"params\",\"returnType\"],TSClassImplements:[\"expression\",\"typeParameters\"],TSConditionalType:[\"checkType\",\"extendsType\",\"trueType\",\"falseType\"],TSConstructorType:[\"typeParameters\",\"params\",\"returnType\"],TSConstructSignatureDeclaration:[\"typeParameters\",\"params\",\"returnType\"],TSDeclareFunction:[\"id\",\"typeParameters\",\"params\",\"returnType\",\"body\"],TSDeclareKeyword:[],TSEmptyBodyFunctionExpression:[\"id\",\"typeParameters\",\"params\",\"returnType\"],TSEnumDeclaration:[\"id\",\"members\"],TSEnumMember:[\"id\",\"initializer\"],TSExportAssignment:[\"expression\"],TSExportKeyword:[],TSExternalModuleReference:[\"expression\"],TSFunctionType:[\"typeParameters\",\"params\",\"returnType\"],TSImportEqualsDeclaration:[\"id\",\"moduleReference\"],TSImportType:[\"parameter\",\"qualifier\",\"typeParameters\"],TSIndexedAccessType:[\"indexType\",\"objectType\"],TSIndexSignature:[\"parameters\",\"typeAnnotation\"],TSInferType:[\"typeParameter\"],TSInterfaceBody:[\"body\"],TSInterfaceDeclaration:[\"id\",\"typeParameters\",\"extends\",\"body\"],TSInterfaceHeritage:[\"expression\",\"typeParameters\"],TSIntersectionType:[\"types\"],TSIntrinsicKeyword:[],TSLiteralType:[\"literal\"],TSMappedType:[\"nameType\",\"typeParameter\",\"typeAnnotation\"],TSMethodSignature:[\"typeParameters\",\"key\",\"params\",\"returnType\"],TSModuleBlock:[\"body\"],TSModuleDeclaration:[\"id\",\"body\"],TSNamedTupleMember:[\"elementType\"],TSNamespaceExportDeclaration:[\"id\"],TSNeverKeyword:[],TSNonNullExpression:[\"expression\"],TSNullKeyword:[],TSNumberKeyword:[],TSObjectKeyword:[],TSOptionalType:[\"typeAnnotation\"],TSParameterProperty:[\"decorators\",\"parameter\"],TSParenthesizedType:[\"typeAnnotation\"],TSPrivateKeyword:[],TSPropertySignature:[\"typeAnnotation\",\"key\",\"initializer\"],TSProtectedKeyword:[],TSPublicKeyword:[],TSQualifiedName:[\"left\",\"right\"],TSReadonlyKeyword:[],TSRestType:[\"typeAnnotation\"],TSStaticKeyword:[],TSStringKeyword:[],TSSymbolKeyword:[],TSTemplateLiteralType:[\"quasis\",\"types\"],TSThisType:[],TSTupleType:[\"elementTypes\"],TSTypeAliasDeclaration:[\"id\",\"typeParameters\",\"typeAnnotation\"],TSTypeAnnotation:[\"typeAnnotation\"],TSTypeAssertion:[\"typeAnnotation\",\"expression\"],TSTypeLiteral:[\"members\"],TSTypeOperator:[\"typeAnnotation\"],TSTypeParameter:[\"name\",\"constraint\",\"default\"],TSTypeParameterDeclaration:[\"params\"],TSTypeParameterInstantiation:[\"params\"],TSTypePredicate:[\"typeAnnotation\",\"parameterName\"],TSTypeQuery:[\"exprName\"],TSTypeReference:[\"typeName\",\"typeParameters\"],TSUndefinedKeyword:[],TSUnionType:[\"types\"],TSUnknownKeyword:[],TSVoidKeyword:[]});D.visitorKeys=v1}),og=W0(function(C,D){Object.defineProperty(D,\"__esModule\",{value:!0}),D.visitorKeys=D.getKeys=void 0,Object.defineProperty(D,\"getKeys\",{enumerable:!0,get:function(){return Km.getKeys}}),Object.defineProperty(D,\"visitorKeys\",{enumerable:!0,get:function(){return c2.visitorKeys}})}),af=W0(function(C,D){Object.defineProperty(D,\"__esModule\",{value:!0}),D.simpleTraverse=void 0;class ${constructor(j1,v1=!1){this.allVisitorKeys=og.visitorKeys,this.selectors=j1,this.setParentPointers=v1}traverse(j1,v1){if((ex=j1)===null||typeof ex!=\"object\"||typeof ex.type!=\"string\")return;var ex;this.setParentPointers&&(j1.parent=v1),\"enter\"in this.selectors?this.selectors.enter(j1,v1):j1.type in this.selectors&&this.selectors[j1.type](j1,v1);const _0=function(Ne,e){const s=Ne[e.type];return s!=null?s:[]}(this.allVisitorKeys,j1);if(!(_0.length<1))for(const Ne of _0){const e=j1[Ne];if(Array.isArray(e))for(const s of e)this.traverse(s,j1);else this.traverse(e,j1)}}}D.simpleTraverse=function(o1,j1,v1=!1){new $(j1,v1).traverse(o1,void 0)}}),Yw=W0(function(C,D){Object.defineProperty(D,\"__esModule\",{value:!0}),D.astConverter=void 0,D.astConverter=function($,o1,j1){const{parseDiagnostics:v1}=$;if(v1.length)throw WA.convertError(v1[0]);const ex=new WA.Converter($,{errorOnUnknownASTType:o1.errorOnUnknownASTType||!1,useJSXTextNode:o1.useJSXTextNode||!1,shouldPreserveNodeMaps:j1}),_0=ex.convertProgram();return o1.range&&o1.loc||af.simpleTraverse(_0,{enter:Ne=>{o1.range||delete Ne.range,o1.loc||delete Ne.loc}}),o1.tokens&&(_0.tokens=ds.convertTokens($)),o1.comment&&(_0.comments=Ew.convertComments($,o1.code)),{estree:_0,astMaps:ex.getASTMaps()}}}),lT=W0(function(C,D){var $=a1&&a1.__createBinding||(Object.create?function(J,m0,s1,i0){i0===void 0&&(i0=s1),Object.defineProperty(J,i0,{enumerable:!0,get:function(){return m0[s1]}})}:function(J,m0,s1,i0){i0===void 0&&(i0=s1),J[i0]=m0[s1]}),o1=a1&&a1.__setModuleDefault||(Object.create?function(J,m0){Object.defineProperty(J,\"default\",{enumerable:!0,value:m0})}:function(J,m0){J.default=m0}),j1=a1&&a1.__importStar||function(J){if(J&&J.__esModule)return J;var m0={};if(J!=null)for(var s1 in J)s1!==\"default\"&&Object.prototype.hasOwnProperty.call(J,s1)&&$(m0,J,s1);return o1(m0,J),m0},v1=a1&&a1.__importDefault||function(J){return J&&J.__esModule?J:{default:J}};Object.defineProperty(D,\"__esModule\",{value:!0}),D.getAstFromProgram=D.getScriptKind=D.getCanonicalFileName=D.ensureAbsolutePath=D.createDefaultCompilerOptionsFromExtra=D.canonicalDirname=D.CORE_COMPILER_OPTIONS=void 0;const ex=v1(ld),_0=j1(de),Ne={noEmit:!0,noUnusedLocals:!0,noUnusedParameters:!0};D.CORE_COMPILER_OPTIONS=Ne;const e=Object.assign(Object.assign({},Ne),{allowNonTsExtensions:!0,allowJs:!0,checkJs:!0});D.createDefaultCompilerOptionsFromExtra=function(J){return J.debugLevel.has(\"typescript\")?Object.assign(Object.assign({},e),{extendedDiagnostics:!0}):e};const s=_0.sys===void 0||_0.sys.useCaseSensitiveFileNames?J=>J:J=>J.toLowerCase();function X(J){return J?J.endsWith(\".d.ts\")?\".d.ts\":ex.default.extname(J):null}D.getCanonicalFileName=function(J){let m0=ex.default.normalize(J);return m0.endsWith(ex.default.sep)&&(m0=m0.substr(0,m0.length-1)),s(m0)},D.ensureAbsolutePath=function(J,m0){return ex.default.isAbsolute(J)?J:ex.default.join(m0.tsconfigRootDir||Lu.cwd(),J)},D.canonicalDirname=function(J){return ex.default.dirname(J)},D.getScriptKind=function(J,m0=J.filePath){switch(ex.default.extname(m0).toLowerCase()){case\".ts\":return _0.ScriptKind.TS;case\".tsx\":return _0.ScriptKind.TSX;case\".js\":return _0.ScriptKind.JS;case\".jsx\":return _0.ScriptKind.JSX;case\".json\":return _0.ScriptKind.JSON;default:return J.jsx?_0.ScriptKind.TSX:_0.ScriptKind.TS}},D.getAstFromProgram=function(J,m0){const s1=J.getSourceFile(m0.filePath);if(X(m0.filePath)===X(s1==null?void 0:s1.fileName))return s1&&{ast:s1,program:J}}}),pP=W0(function(C,D){var $=a1&&a1.__createBinding||(Object.create?function(s,X,J,m0){m0===void 0&&(m0=J),Object.defineProperty(s,m0,{enumerable:!0,get:function(){return X[J]}})}:function(s,X,J,m0){m0===void 0&&(m0=J),s[m0]=X[J]}),o1=a1&&a1.__setModuleDefault||(Object.create?function(s,X){Object.defineProperty(s,\"default\",{enumerable:!0,value:X})}:function(s,X){s.default=X}),j1=a1&&a1.__importStar||function(s){if(s&&s.__esModule)return s;var X={};if(s!=null)for(var J in s)J!==\"default\"&&Object.prototype.hasOwnProperty.call(s,J)&&$(X,s,J);return o1(X,s),X},v1=a1&&a1.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(D,\"__esModule\",{value:!0}),D.createDefaultProgram=void 0;const ex=v1(oa),_0=v1(ld),Ne=j1(de),e=ex.default(\"typescript-eslint:typescript-estree:createDefaultProgram\");D.createDefaultProgram=function(s,X){if(e(\"Getting default program for: %s\",X.filePath||\"unnamed file\"),!X.projects||X.projects.length!==1)return;const J=X.projects[0],m0=Ne.getParsedCommandLineOfConfigFile(J,lT.createDefaultCompilerOptionsFromExtra(X),Object.assign(Object.assign({},Ne.sys),{onUnRecoverableConfigFileDiagnostic:()=>{}}));if(!m0)return;const s1=Ne.createCompilerHost(m0.options,!0),i0=s1.readFile;s1.readFile=I=>_0.default.normalize(I)===_0.default.normalize(X.filePath)?s:i0(I);const H0=Ne.createProgram([X.filePath],m0.options,s1),E0=H0.getSourceFile(X.filePath);return E0&&{ast:E0,program:H0}}}),AO=W0(function(C,D){var $=a1&&a1.__createBinding||(Object.create?function(e,s,X,J){J===void 0&&(J=X),Object.defineProperty(e,J,{enumerable:!0,get:function(){return s[X]}})}:function(e,s,X,J){J===void 0&&(J=X),e[J]=s[X]}),o1=a1&&a1.__setModuleDefault||(Object.create?function(e,s){Object.defineProperty(e,\"default\",{enumerable:!0,value:s})}:function(e,s){e.default=s}),j1=a1&&a1.__importStar||function(e){if(e&&e.__esModule)return e;var s={};if(e!=null)for(var X in e)X!==\"default\"&&Object.prototype.hasOwnProperty.call(e,X)&&$(s,e,X);return o1(s,e),s},v1=a1&&a1.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(D,\"__esModule\",{value:!0}),D.createIsolatedProgram=void 0;const ex=v1(oa),_0=j1(de),Ne=ex.default(\"typescript-eslint:typescript-estree:createIsolatedProgram\");D.createIsolatedProgram=function(e,s){Ne(\"Getting isolated program in %s mode for: %s\",s.jsx?\"TSX\":\"TS\",s.filePath);const X={fileExists:()=>!0,getCanonicalFileName:()=>s.filePath,getCurrentDirectory:()=>\"\",getDirectories:()=>[],getDefaultLibFileName:()=>\"lib.d.ts\",getNewLine:()=>`\n`,getSourceFile:s1=>_0.createSourceFile(s1,e,_0.ScriptTarget.Latest,!0,lT.getScriptKind(s,s1)),readFile(){},useCaseSensitiveFileNames:()=>!0,writeFile:()=>null},J=_0.createProgram([s.filePath],Object.assign({noResolve:!0,target:_0.ScriptTarget.Latest,jsx:s.jsx?_0.JsxEmit.Preserve:void 0},lT.createDefaultCompilerOptionsFromExtra(s)),X),m0=J.getSourceFile(s.filePath);if(!m0)throw new Error(\"Expected an ast to be returned for the single-file isolated program.\");return{ast:m0,program:J}}}),Sb=W0(function(C,D){var $=a1&&a1.__createBinding||(Object.create?function(u0,U,g0,d0){d0===void 0&&(d0=g0),Object.defineProperty(u0,d0,{enumerable:!0,get:function(){return U[g0]}})}:function(u0,U,g0,d0){d0===void 0&&(d0=g0),u0[d0]=U[g0]}),o1=a1&&a1.__setModuleDefault||(Object.create?function(u0,U){Object.defineProperty(u0,\"default\",{enumerable:!0,value:U})}:function(u0,U){u0.default=U}),j1=a1&&a1.__importStar||function(u0){if(u0&&u0.__esModule)return u0;var U={};if(u0!=null)for(var g0 in u0)g0!==\"default\"&&Object.prototype.hasOwnProperty.call(u0,g0)&&$(U,u0,g0);return o1(U,u0),U},v1=a1&&a1.__importDefault||function(u0){return u0&&u0.__esModule?u0:{default:u0}};Object.defineProperty(D,\"__esModule\",{value:!0}),D.getProgramsForProjects=D.createWatchProgram=D.clearWatchCaches=void 0;const ex=v1(oa),_0=v1(Uc),Ne=v1(Uh),e=j1(de),s=ex.default(\"typescript-eslint:typescript-estree:createWatchProgram\"),X=new Map,J=new Map,m0=new Map,s1=new Map,i0=new Map,H0=new Map;function E0(u0){return(U,g0)=>{const d0=lT.getCanonicalFileName(U),P0=(()=>{let c0=u0.get(d0);return c0||(c0=new Set,u0.set(d0,c0)),c0})();return P0.add(g0),{close:()=>{P0.delete(g0)}}}}D.clearWatchCaches=function(){X.clear(),J.clear(),m0.clear(),H0.clear(),s1.clear(),i0.clear()};const I={code:\"\",filePath:\"\"};function A(u0){throw new Error(e.flattenDiagnosticMessageText(u0.messageText,e.sys.newLine))}function Z(u0){var U;return((U=e.sys)===null||U===void 0?void 0:U.createHash)?e.sys.createHash(u0):u0}function A0(u0,U,g0){const d0=g0.EXPERIMENTAL_useSourceOfProjectReferenceRedirect?new Set(U.getSourceFiles().map(P0=>lT.getCanonicalFileName(P0.fileName))):new Set(U.getRootFileNames().map(P0=>lT.getCanonicalFileName(P0)));return s1.set(u0,d0),d0}D.getProgramsForProjects=function(u0,U,g0){const d0=lT.getCanonicalFileName(U),P0=[];I.code=u0,I.filePath=d0;const c0=J.get(d0),D0=Z(u0);H0.get(d0)!==D0&&c0&&c0.size>0&&c0.forEach(x0=>x0(d0,e.FileWatcherEventKind.Changed));for(const[x0,l0]of X.entries()){let w0=s1.get(x0),V=null;if(w0||(V=l0.getProgram().getProgram(),w0=A0(x0,V,g0)),w0.has(d0))return s(\"Found existing program for file. %s\",d0),V=V!=null?V:l0.getProgram().getProgram(),V.getTypeChecker(),[V]}s(\"File did not belong to any existing programs, moving to create/update. %s\",d0);for(const x0 of g0.projects){const l0=X.get(x0);if(l0){const w=G(l0,d0,x0);if(!w)continue;if(w.getTypeChecker(),A0(x0,w,g0).has(d0))return s(\"Found updated program for file. %s\",d0),[w];P0.push(w);continue}const w0=j(x0,g0);X.set(x0,w0);const V=w0.getProgram().getProgram();if(V.getTypeChecker(),A0(x0,V,g0).has(d0))return s(\"Found program for file. %s\",d0),[V];P0.push(V)}return P0};const o0=Ne.default.satisfies(e.version,\">=3.9.0-beta\",{includePrerelease:!0});function j(u0,U){s(\"Creating watch program for %s.\",u0);const g0=e.createWatchCompilerHost(u0,lT.createDefaultCompilerOptionsFromExtra(U),e.sys,e.createAbstractBuilder,A,()=>{}),d0=g0.readFile;g0.readFile=(x0,l0)=>{const w0=lT.getCanonicalFileName(x0),V=w0===I.filePath?I.code:d0(w0,l0);return V!==void 0&&H0.set(w0,Z(V)),V},g0.onUnRecoverableConfigFileDiagnostic=A,g0.afterProgramCreate=x0=>{const l0=x0.getConfigFileParsingDiagnostics().filter(w0=>w0.category===e.DiagnosticCategory.Error&&w0.code!==18003);l0.length>0&&A(l0[0])},g0.watchFile=E0(J),g0.watchDirectory=E0(m0);const P0=g0.onCachedDirectoryStructureHostCreate;let c0;g0.onCachedDirectoryStructureHostCreate=x0=>{const l0=x0.readDirectory;x0.readDirectory=(w0,V,w,H,k0)=>l0(w0,V?V.concat(U.extraFileExtensions):void 0,w,H,k0),P0(x0)},g0.extraFileExtensions=U.extraFileExtensions.map(x0=>({extension:x0,isMixedContent:!0,scriptKind:e.ScriptKind.Deferred})),g0.trace=s,g0.useSourceOfProjectReferenceRedirect=()=>U.EXPERIMENTAL_useSourceOfProjectReferenceRedirect,o0?(g0.setTimeout=void 0,g0.clearTimeout=void 0):(s(\"Running without timeout fix\"),g0.setTimeout=(x0,l0,...w0)=>(c0=x0.bind(void 0,...w0),c0),g0.clearTimeout=()=>{c0=void 0});const D0=e.createWatchProgram(g0);if(!o0){const x0=D0.getProgram;D0.getProgram=()=>(c0&&c0(),c0=void 0,x0.call(D0))}return D0}function G(u0,U,g0){let d0=u0.getProgram().getProgram();if(Lu.env.TSESTREE_NO_INVALIDATION===\"true\")return d0;(function(w){const H=_0.default.statSync(w).mtimeMs,k0=i0.get(w);return i0.set(w,H),k0!==void 0&&Math.abs(k0-H)>Number.EPSILON})(g0)&&(s(\"tsconfig has changed - triggering program update. %s\",g0),J.get(g0).forEach(w=>w(g0,e.FileWatcherEventKind.Changed)),s1.delete(g0));let P0=d0.getSourceFile(U);if(P0)return d0;s(\"File was not found in program - triggering folder update. %s\",U);const c0=lT.canonicalDirname(U);let D0=null,x0=c0,l0=!1;for(;D0!==x0;){D0=x0;const w=m0.get(D0);w&&(w.forEach(H=>{c0!==D0&&H(c0,e.FileWatcherEventKind.Changed),H(D0,e.FileWatcherEventKind.Changed)}),l0=!0),x0=lT.canonicalDirname(D0)}if(!l0)return s(\"No callback found for file, not part of this program. %s\",U),null;if(s1.delete(g0),d0=u0.getProgram().getProgram(),P0=d0.getSourceFile(U),P0)return d0;s(\"File was still not found in program after directory update - checking file deletions. %s\",U);const w0=d0.getRootFileNames().find(w=>!_0.default.existsSync(w));if(!w0)return null;const V=J.get(lT.getCanonicalFileName(w0));return V?(s(\"Marking file as deleted. %s\",w0),V.forEach(w=>w(w0,e.FileWatcherEventKind.Deleted)),s1.delete(g0),d0=u0.getProgram().getProgram(),P0=d0.getSourceFile(U),P0?d0:(s(\"File was still not found in program after deletion check, assuming it is not part of this program. %s\",U),null)):(s(\"Could not find watch callbacks for root file. %s\",w0),d0)}D.createWatchProgram=j}),ny=W0(function(C,D){var $=a1&&a1.__importDefault||function(_0){return _0&&_0.__esModule?_0:{default:_0}};Object.defineProperty(D,\"__esModule\",{value:!0}),D.createProjectProgram=void 0;const o1=$(oa),j1=$(ld),v1=o1.default(\"typescript-eslint:typescript-estree:createProjectProgram\"),ex=[\".ts\",\".tsx\",\".js\",\".jsx\"];D.createProjectProgram=function(_0,Ne,e){v1(\"Creating project program for: %s\",e.filePath);const s=ds.firstDefined(Sb.getProgramsForProjects(_0,e.filePath,e),X=>lT.getAstFromProgram(X,e));if(!s&&!Ne){const X=['\"parserOptions.project\" has been set for @typescript-eslint/parser.',`The file does not match your project config: ${j1.default.relative(e.tsconfigRootDir||Lu.cwd(),e.filePath)}.`];let J=!1;const m0=e.extraFileExtensions||[];m0.forEach(i0=>{i0.startsWith(\".\")||X.push(`Found unexpected extension \"${i0}\" specified with the \"extraFileExtensions\" option. Did you mean \".${i0}\"?`),ex.includes(i0)&&X.push(`You unnecessarily included the extension \"${i0}\" with the \"extraFileExtensions\" option. This extension is already handled by the parser by default.`)});const s1=j1.default.extname(e.filePath);if(!ex.includes(s1)){const i0=`The extension for the file (${s1}) is non-standard`;m0.length>0?m0.includes(s1)||(X.push(`${i0}. It should be added to your existing \"parserOptions.extraFileExtensions\".`),J=!0):(X.push(`${i0}. You should add \"parserOptions.extraFileExtensions\" to your config.`),J=!0)}throw J||X.push(\"The file must be included in at least one of the projects provided.\"),new Error(X.join(`\n`))}return s}}),Fb=W0(function(C,D){var $=a1&&a1.__createBinding||(Object.create?function(e,s,X,J){J===void 0&&(J=X),Object.defineProperty(e,J,{enumerable:!0,get:function(){return s[X]}})}:function(e,s,X,J){J===void 0&&(J=X),e[J]=s[X]}),o1=a1&&a1.__setModuleDefault||(Object.create?function(e,s){Object.defineProperty(e,\"default\",{enumerable:!0,value:s})}:function(e,s){e.default=s}),j1=a1&&a1.__importStar||function(e){if(e&&e.__esModule)return e;var s={};if(e!=null)for(var X in e)X!==\"default\"&&Object.prototype.hasOwnProperty.call(e,X)&&$(s,e,X);return o1(s,e),s},v1=a1&&a1.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(D,\"__esModule\",{value:!0}),D.createSourceFile=void 0;const ex=v1(oa),_0=j1(de),Ne=ex.default(\"typescript-eslint:typescript-estree:createSourceFile\");D.createSourceFile=function(e,s){return Ne(\"Getting AST without type information in %s mode for: %s\",s.jsx?\"TSX\":\"TS\",s.filePath),_0.createSourceFile(s.filePath,e,_0.ScriptTarget.Latest,!0,lT.getScriptKind(s))}}),iy=W0(function(C,D){var $=a1&&a1.__createBinding||(Object.create?function(Ne,e,s,X){X===void 0&&(X=s),Object.defineProperty(Ne,X,{enumerable:!0,get:function(){return e[s]}})}:function(Ne,e,s,X){X===void 0&&(X=s),Ne[X]=e[s]}),o1=a1&&a1.__setModuleDefault||(Object.create?function(Ne,e){Object.defineProperty(Ne,\"default\",{enumerable:!0,value:e})}:function(Ne,e){Ne.default=e}),j1=a1&&a1.__importStar||function(Ne){if(Ne&&Ne.__esModule)return Ne;var e={};if(Ne!=null)for(var s in Ne)s!==\"default\"&&Object.prototype.hasOwnProperty.call(Ne,s)&&$(e,Ne,s);return o1(e,Ne),e};Object.defineProperty(D,\"__esModule\",{value:!0}),D.getFirstSemanticOrSyntacticError=void 0;const v1=j1(de);function ex(Ne){return Ne.filter(e=>{switch(e.code){case 1013:case 1014:case 1044:case 1045:case 1048:case 1049:case 1070:case 1071:case 1085:case 1090:case 1096:case 1097:case 1098:case 1099:case 1117:case 1121:case 1123:case 1141:case 1162:case 1164:case 1172:case 1173:case 1175:case 1176:case 1190:case 1196:case 1200:case 1206:case 1211:case 1242:case 1246:case 1255:case 1308:case 2364:case 2369:case 2452:case 2462:case 8017:case 17012:case 17013:return!0}return!1})}function _0(Ne){return Object.assign(Object.assign({},Ne),{message:v1.flattenDiagnosticMessageText(Ne.messageText,v1.sys.newLine)})}D.getFirstSemanticOrSyntacticError=function(Ne,e){try{const s=ex(Ne.getSyntacticDiagnostics(e));if(s.length)return _0(s[0]);const X=ex(Ne.getSemanticDiagnostics(e));return X.length?_0(X[0]):void 0}catch(s){return void console.warn(`Warning From TSC: \"${s.message}`)}}}),TO=W0(function(C,D){var $=a1&&a1.__createBinding||(Object.create?function(J,m0,s1,i0){i0===void 0&&(i0=s1),Object.defineProperty(J,i0,{enumerable:!0,get:function(){return m0[s1]}})}:function(J,m0,s1,i0){i0===void 0&&(i0=s1),J[i0]=m0[s1]}),o1=a1&&a1.__setModuleDefault||(Object.create?function(J,m0){Object.defineProperty(J,\"default\",{enumerable:!0,value:m0})}:function(J,m0){J.default=m0}),j1=a1&&a1.__importStar||function(J){if(J&&J.__esModule)return J;var m0={};if(J!=null)for(var s1 in J)s1!==\"default\"&&Object.prototype.hasOwnProperty.call(J,s1)&&$(m0,J,s1);return o1(m0,J),m0},v1=a1&&a1.__importDefault||function(J){return J&&J.__esModule?J:{default:J}};Object.defineProperty(D,\"__esModule\",{value:!0}),D.createProgramFromConfigFile=D.useProvidedPrograms=void 0;const ex=v1(oa),_0=j1(Uc),Ne=j1(ld),e=j1(de),s=ex.default(\"typescript-eslint:typescript-estree:useProvidedProgram\");function X(J){return e.formatDiagnostics(J,{getCanonicalFileName:m0=>m0,getCurrentDirectory:Lu.cwd,getNewLine:()=>`\n`})}D.useProvidedPrograms=function(J,m0){let s1;s(\"Retrieving ast for %s from provided program instance(s)\",m0.filePath);for(const i0 of J)if(s1=lT.getAstFromProgram(i0,m0),s1)break;if(!s1){const i0=Ne.relative(m0.tsconfigRootDir||Lu.cwd(),m0.filePath);throw new Error(['\"parserOptions.programs\" has been provided for @typescript-eslint/parser.',`The file was not found in any of the provided program instance(s): ${i0}`].join(`\n`))}return s1.program.getTypeChecker(),s1},D.createProgramFromConfigFile=function(J,m0){if(e.sys===void 0)throw new Error(\"`createProgramFromConfigFile` is only supported in a Node-like environment.\");const s1=e.getParsedCommandLineOfConfigFile(J,lT.CORE_COMPILER_OPTIONS,{onUnRecoverableConfigFileDiagnostic:H0=>{throw new Error(X([H0]))},fileExists:_0.existsSync,getCurrentDirectory:()=>m0&&Ne.resolve(m0)||Lu.cwd(),readDirectory:e.sys.readDirectory,readFile:H0=>_0.readFileSync(H0,\"utf-8\"),useCaseSensitiveFileNames:e.sys.useCaseSensitiveFileNames});if(s1.errors.length)throw new Error(X(s1.errors));const i0=e.createCompilerHost(s1.options,!0);return e.createProgram(s1.fileNames,s1.options,i0)}}),JL=W0(function(C,D){var $=a1&&a1.__createBinding||(Object.create?function(U,g0,d0,P0){P0===void 0&&(P0=d0),Object.defineProperty(U,P0,{enumerable:!0,get:function(){return g0[d0]}})}:function(U,g0,d0,P0){P0===void 0&&(P0=d0),U[P0]=g0[d0]}),o1=a1&&a1.__setModuleDefault||(Object.create?function(U,g0){Object.defineProperty(U,\"default\",{enumerable:!0,value:g0})}:function(U,g0){U.default=g0}),j1=a1&&a1.__importStar||function(U){if(U&&U.__esModule)return U;var g0={};if(U!=null)for(var d0 in U)d0!==\"default\"&&Object.prototype.hasOwnProperty.call(U,d0)&&$(g0,U,d0);return o1(g0,U),g0},v1=a1&&a1.__importDefault||function(U){return U&&U.__esModule?U:{default:U}};Object.defineProperty(D,\"__esModule\",{value:!0}),D.clearProgramCache=D.parseWithNodeMaps=D.parseAndGenerateServices=D.parse=void 0;const ex=v1(oa),_0={},Ne=v1(Cl),e=v1(Uh),s=j1(de),X=ex.default(\"typescript-eslint:typescript-estree:parser\"),J=\">=3.3.1 <4.4.0\",m0=s.version,s1=e.default.satisfies(m0,[J].concat([\"4.3.0-beta\",\"4.3.1-rc\"]).join(\" || \"));let i0,H0=!1;const E0=new Map;function I(U){return typeof U!=\"string\"?String(U):U}function A({jsx:U}={}){return U?\"estree.tsx\":\"estree.ts\"}function Z(){i0={code:\"\",comment:!1,comments:[],createDefaultProgram:!1,debugLevel:new Set,errorOnTypeScriptSyntacticAndSemanticIssues:!1,errorOnUnknownASTType:!1,EXPERIMENTAL_useSourceOfProjectReferenceRedirect:!1,extraFileExtensions:[],filePath:A(),jsx:!1,loc:!1,log:console.log,preserveNodeMaps:!0,programs:null,projects:[],range:!1,strict:!1,tokens:null,tsconfigRootDir:Lu.cwd(),useJSXTextNode:!1,singleRun:!1}}function A0(U,g0){const d0=[];if(typeof U==\"string\")d0.push(U);else if(Array.isArray(U))for(const x0 of U)typeof x0==\"string\"&&d0.push(x0);if(d0.length===0)return[];const P0=d0.filter(x0=>!Ne.default(x0)),c0=d0.filter(x0=>Ne.default(x0)),D0=new Set(P0.concat(_0.sync([...c0,...g0],{cwd:i0.tsconfigRootDir})).map(x0=>function(l0,w0){return lT.getCanonicalFileName(lT.ensureAbsolutePath(l0,w0))}(x0,i0)));return X(\"parserOptions.project (excluding ignored) matched projects: %s\",D0),Array.from(D0)}function o0(U){var g0;if(U.debugLevel===!0?i0.debugLevel=new Set([\"typescript-eslint\"]):Array.isArray(U.debugLevel)&&(i0.debugLevel=new Set(U.debugLevel)),i0.debugLevel.size>0){const d0=[];i0.debugLevel.has(\"typescript-eslint\")&&d0.push(\"typescript-eslint:*\"),(i0.debugLevel.has(\"eslint\")||ex.default.enabled(\"eslint:*,-eslint:code-path\"))&&d0.push(\"eslint:*,-eslint:code-path\"),ex.default.enable(d0.join(\",\"))}if(i0.range=typeof U.range==\"boolean\"&&U.range,i0.loc=typeof U.loc==\"boolean\"&&U.loc,typeof U.tokens==\"boolean\"&&U.tokens&&(i0.tokens=[]),typeof U.comment==\"boolean\"&&U.comment&&(i0.comment=!0,i0.comments=[]),typeof U.jsx==\"boolean\"&&U.jsx&&(i0.jsx=!0),typeof U.filePath==\"string\"&&U.filePath!==\"<input>\"?i0.filePath=U.filePath:i0.filePath=A(i0),typeof U.useJSXTextNode==\"boolean\"&&U.useJSXTextNode&&(i0.useJSXTextNode=!0),typeof U.errorOnUnknownASTType==\"boolean\"&&U.errorOnUnknownASTType&&(i0.errorOnUnknownASTType=!0),typeof U.loggerFn==\"function\"?i0.log=U.loggerFn:U.loggerFn===!1&&(i0.log=()=>{}),typeof U.tsconfigRootDir==\"string\"&&(i0.tsconfigRootDir=U.tsconfigRootDir),i0.filePath=lT.ensureAbsolutePath(i0.filePath,i0),Array.isArray(U.programs)){if(!U.programs.length)throw new Error(\"You have set parserOptions.programs to an empty array. This will cause all files to not be found in existing programs. Either provide one or more existing TypeScript Program instances in the array, or remove the parserOptions.programs setting.\");i0.programs=U.programs,X(\"parserOptions.programs was provided, so parserOptions.project will be ignored.\")}if(!i0.programs){const d0=((g0=U.projectFolderIgnoreList)!==null&&g0!==void 0?g0:[\"**/node_modules/**\"]).reduce((P0,c0)=>(typeof c0==\"string\"&&P0.push(c0),P0),[]).map(P0=>P0.startsWith(\"!\")?P0:`!${P0}`);i0.projects=[]}Array.isArray(U.extraFileExtensions)&&U.extraFileExtensions.every(d0=>typeof d0==\"string\")&&(i0.extraFileExtensions=U.extraFileExtensions),typeof U.preserveNodeMaps==\"boolean\"&&(i0.preserveNodeMaps=U.preserveNodeMaps),i0.createDefaultProgram=typeof U.createDefaultProgram==\"boolean\"&&U.createDefaultProgram,i0.EXPERIMENTAL_useSourceOfProjectReferenceRedirect=typeof U.EXPERIMENTAL_useSourceOfProjectReferenceRedirect==\"boolean\"&&U.EXPERIMENTAL_useSourceOfProjectReferenceRedirect}function j(){var U;if(!s1&&!H0){if(typeof Lu!==void 0&&((U=Lu.stdout)===null||U===void 0?void 0:U.isTTY)){const g0=\"=============\",d0=[g0,\"WARNING: You are currently running a version of TypeScript which is not officially supported by @typescript-eslint/typescript-estree.\",\"You may find that it works just fine, or you may not.\",`SUPPORTED TYPESCRIPT VERSIONS: ${J}`,`YOUR TYPESCRIPT VERSION: ${m0}`,\"Please only submit bug reports when using the officially supported version.\",g0];i0.log(d0.join(`\n\n`))}H0=!0}}function G(U){Lu.env.TSESTREE_SINGLE_RUN!==\"false\"?Lu.env.TSESTREE_SINGLE_RUN!==\"true\"&&(!(U==null?void 0:U.allowAutomaticSingleRunInference)||Lu.env.CI!==\"true\"&&!Lu.argv[1].endsWith(ld.normalize(\"node_modules/.bin/eslint\")))?i0.singleRun=!1:i0.singleRun=!0:i0.singleRun=!1}function u0(U,g0,d0){if(Z(),g0==null?void 0:g0.errorOnTypeScriptSyntacticAndSemanticIssues)throw new Error('\"errorOnTypeScriptSyntacticAndSemanticIssues\" is only supported for parseAndGenerateServices()');U=I(U),i0.code=U,g0!==void 0&&o0(g0),j(),G(g0);const P0=Fb.createSourceFile(U,i0),{estree:c0,astMaps:D0}=Yw.astConverter(P0,i0,d0);return{ast:c0,esTreeNodeToTSNodeMap:D0.esTreeNodeToTSNodeMap,tsNodeToESTreeNodeMap:D0.tsNodeToESTreeNodeMap}}D.clearProgramCache=function(){E0.clear()},D.parse=function(U,g0){const{ast:d0}=u0(U,g0,!1);return d0},D.parseWithNodeMaps=function(U,g0){return u0(U,g0,!0)},D.parseAndGenerateServices=function(U,g0){var d0;Z(),U=I(U),i0.code=U,g0!==void 0&&(o0(g0),typeof g0.errorOnTypeScriptSyntacticAndSemanticIssues==\"boolean\"&&g0.errorOnTypeScriptSyntacticAndSemanticIssues&&(i0.errorOnTypeScriptSyntacticAndSemanticIssues=!0)),j(),G(g0),i0.singleRun&&!i0.programs&&((d0=i0.projects)===null||d0===void 0?void 0:d0.length)>0&&(i0.programs={*[Symbol.iterator](){for(const V of i0.projects){const w=E0.get(V);if(w)yield w;else{X(\"Detected single-run/CLI usage, creating Program once ahead of time for project: %s\",V);const H=TO.createProgramFromConfigFile(V);E0.set(V,H),yield H}}}});const P0=i0.programs!=null||i0.projects&&i0.projects.length>0,{ast:c0,program:D0}=function(V,w,H,k0){return w&&TO.useProvidedPrograms(w,i0)||H&&ny.createProjectProgram(V,k0,i0)||H&&k0&&pP.createDefaultProgram(V,i0)||AO.createIsolatedProgram(V,i0)}(U,i0.programs,P0,i0.createDefaultProgram),x0=typeof i0.preserveNodeMaps!=\"boolean\"||i0.preserveNodeMaps,{estree:l0,astMaps:w0}=Yw.astConverter(c0,i0,x0);if(D0&&i0.errorOnTypeScriptSyntacticAndSemanticIssues){const V=iy.getFirstSemanticOrSyntacticError(D0,c0);if(V)throw WA.convertError(V)}return{ast:l0,services:{hasFullTypeInformation:P0,program:D0,esTreeNodeToTSNodeMap:w0.esTreeNodeToTSNodeMap,tsNodeToESTreeNodeMap:w0.tsNodeToESTreeNodeMap}}}}),Xj=\"4.27.0\",l3=W0(function(C,D){var $=a1&&a1.__createBinding||(Object.create?function(j1,v1,ex,_0){_0===void 0&&(_0=ex),Object.defineProperty(j1,_0,{enumerable:!0,get:function(){return v1[ex]}})}:function(j1,v1,ex,_0){_0===void 0&&(_0=ex),j1[_0]=v1[ex]}),o1=a1&&a1.__exportStar||function(j1,v1){for(var ex in j1)ex===\"default\"||Object.prototype.hasOwnProperty.call(v1,ex)||$(v1,j1,ex)};Object.defineProperty(D,\"__esModule\",{value:!0}),D.version=D.visitorKeys=D.createProgram=D.clearCaches=D.simpleTraverse=void 0,o1(JL,D),Object.defineProperty(D,\"simpleTraverse\",{enumerable:!0,get:function(){return af.simpleTraverse}}),o1(ga,D),Object.defineProperty(D,\"clearCaches\",{enumerable:!0,get:function(){return Sb.clearWatchCaches}}),Object.defineProperty(D,\"createProgram\",{enumerable:!0,get:function(){return TO.createProgramFromConfigFile}}),Object.defineProperty(D,\"visitorKeys\",{enumerable:!0,get:function(){return og.visitorKeys}}),D.version=Xj});const MB={loc:!0,range:!0,comment:!0,useJSXTextNode:!0,jsx:!0,tokens:!0,loggerFn:!1,project:[]};return{parsers:{typescript:QF(function(C,D,$){const o1=Ww(C),j1=function(Ne){return new RegExp([\"(^[^\\\"'`]*</)\",\"|\",\"(^[^/]{2}.*/>)\"].join(\"\"),\"m\").test(Ne)}(C),{parseWithNodeMaps:v1}=l3,{result:ex,error:_0}=b(()=>v1(o1,Object.assign(Object.assign({},MB),{},{jsx:j1})),()=>v1(o1,Object.assign(Object.assign({},MB),{},{jsx:!j1})));if(!ex)throw function(Ne){const{message:e,lineNumber:s,column:X}=Ne;return typeof s!=\"number\"?Ne:c(e,{start:{line:s,column:X+1}})}(_0);return zw(ex.ast,Object.assign(Object.assign({},$),{},{originalText:C,tsParseResult:ex}))})}}})})(Hy0);var aH={exports:{}};(function(a,u){(function(c,b){a.exports=b()})($F,function(){var c=Lx=>typeof Lx==\"string\"?Lx.replace((({onlyFirst:q1=!1}={})=>{const Qx=[\"[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:[a-zA-Z\\\\d]*(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)\",\"(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))\"].join(\"|\");return new RegExp(Qx,q1?void 0:\"g\")})(),\"\"):Lx;const b=Lx=>!Number.isNaN(Lx)&&Lx>=4352&&(Lx<=4447||Lx===9001||Lx===9002||11904<=Lx&&Lx<=12871&&Lx!==12351||12880<=Lx&&Lx<=19903||19968<=Lx&&Lx<=42182||43360<=Lx&&Lx<=43388||44032<=Lx&&Lx<=55203||63744<=Lx&&Lx<=64255||65040<=Lx&&Lx<=65049||65072<=Lx&&Lx<=65131||65281<=Lx&&Lx<=65376||65504<=Lx&&Lx<=65510||110592<=Lx&&Lx<=110593||127488<=Lx&&Lx<=127569||131072<=Lx&&Lx<=262141);var R=b,K=b;R.default=K;const s0=Lx=>{if(typeof Lx!=\"string\"||Lx.length===0||(Lx=c(Lx)).length===0)return 0;Lx=Lx.replace(/\\uD83C\\uDFF4\\uDB40\\uDC67\\uDB40\\uDC62(?:\\uDB40\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67|\\uDB40\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDB40\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73)\\uDB40\\uDC7F|\\uD83D\\uDC68(?:\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C\\uDFFB|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFE])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83D\\uDC68|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D[\\uDC66\\uDC67])|[\\u2695\\u2696\\u2708]\\uFE0F|\\uD83D[\\uDC66\\uDC67]|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|(?:\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708])\\uFE0F|\\uD83C\\uDFFB\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C[\\uDFFB-\\uDFFF])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFB\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)\\uD83C\\uDFFB|\\uD83E\\uDDD1(?:\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1)|(?:\\uD83E\\uDDD1\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69]))(?:\\uD83C[\\uDFFB-\\uDFFE])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83D\\uDC69(?:\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFB\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFC-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D(?:\\uD83D[\\uDC68\\uDC69])|\\uD83D[\\uDC68\\uDC69])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|(?:\\uD83E\\uDDD1\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D\\uDC41\\uFE0F\\u200D\\uD83D\\uDDE8|\\uD83D\\uDC69(?:\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708])|(?:(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)\\uFE0F|\\uD83D\\uDC6F|\\uD83E[\\uDD3C\\uDDDE\\uDDDF])\\u200D[\\u2640\\u2642]|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|\\u200D[\\u2640\\u2642])|\\uD83C\\uDFF4\\u200D\\u2620)\\uFE0F|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|\\uD83C\\uDFF3\\uFE0F\\u200D\\uD83C\\uDF08|\\uD83D\\uDC15\\u200D\\uD83E\\uDDBA|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67|\\uD83C\\uDDFD\\uD83C\\uDDF0|\\uD83C\\uDDF4\\uD83C\\uDDF2|\\uD83C\\uDDF6\\uD83C\\uDDE6|[#\\*0-9]\\uFE0F\\u20E3|\\uD83C\\uDDE7(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDF9(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF])|\\uD83C\\uDDEA(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA])|\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF7(?:\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC])|\\uD83D\\uDC69(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF2(?:\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF])|\\uD83C\\uDDE6(?:\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF])|\\uD83C\\uDDF0(?:\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDED(?:\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA])|\\uD83C\\uDDE9(?:\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF])|\\uD83C\\uDDFE(?:\\uD83C[\\uDDEA\\uDDF9])|\\uD83C\\uDDEC(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE])|\\uD83C\\uDDF8(?:\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF])|\\uD83C\\uDDEB(?:\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7])|\\uD83C\\uDDF5(?:\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE])|\\uD83C\\uDDFB(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA])|\\uD83C\\uDDF3(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF])|\\uD83C\\uDDE8(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF5\\uDDF7\\uDDFA-\\uDDFF])|\\uD83C\\uDDF1(?:\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE])|\\uD83C\\uDDFF(?:\\uD83C[\\uDDE6\\uDDF2\\uDDFC])|\\uD83C\\uDDFC(?:\\uD83C[\\uDDEB\\uDDF8])|\\uD83C\\uDDFA(?:\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF])|\\uD83C\\uDDEE(?:\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9])|\\uD83C\\uDDEF(?:\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5])|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u261D\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2\\uDFC7]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC70\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDCAA\\uDD74\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1C\\uDD1E\\uDD1F\\uDD30-\\uDD36\\uDDB5\\uDDB6\\uDDBB\\uDDD2-\\uDDD5])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u231A\\u231B\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u25FE\\u2614\\u2615\\u2648-\\u2653\\u267F\\u2693\\u26A1\\u26AA\\u26AB\\u26BD\\u26BE\\u26C4\\u26C5\\u26CE\\u26D4\\u26EA\\u26F2\\u26F3\\u26F5\\u26FA\\u26FD\\u2705\\u270A\\u270B\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2795-\\u2797\\u27B0\\u27BF\\u2B1B\\u2B1C\\u2B50\\u2B55]|\\uD83C[\\uDC04\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF7C\\uDF7E-\\uDF93\\uDFA0-\\uDFCA\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF4\\uDFF8-\\uDFFF]|\\uD83D[\\uDC00-\\uDC3E\\uDC40\\uDC42-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDD7A\\uDD95\\uDD96\\uDDA4\\uDDFB-\\uDE4F\\uDE80-\\uDEC5\\uDECC\\uDED0-\\uDED2\\uDED5\\uDEEB\\uDEEC\\uDEF4-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])|(?:[#\\*0-9\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u231A\\u231B\\u2328\\u23CF\\u23E9-\\u23F3\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB-\\u25FE\\u2600-\\u2604\\u260E\\u2611\\u2614\\u2615\\u2618\\u261D\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u2648-\\u2653\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u267F\\u2692-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A1\\u26AA\\u26AB\\u26B0\\u26B1\\u26BD\\u26BE\\u26C4\\u26C5\\u26C8\\u26CE\\u26CF\\u26D1\\u26D3\\u26D4\\u26E9\\u26EA\\u26F0-\\u26F5\\u26F7-\\u26FA\\u26FD\\u2702\\u2705\\u2708-\\u270D\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2728\\u2733\\u2734\\u2744\\u2747\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2763\\u2764\\u2795-\\u2797\\u27A1\\u27B0\\u27BF\\u2934\\u2935\\u2B05-\\u2B07\\u2B1B\\u2B1C\\u2B50\\u2B55\\u3030\\u303D\\u3297\\u3299]|\\uD83C[\\uDC04\\uDCCF\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE02\\uDE1A\\uDE2F\\uDE32-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF21\\uDF24-\\uDF93\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E-\\uDFF0\\uDFF3-\\uDFF5\\uDFF7-\\uDFFF]|\\uD83D[\\uDC00-\\uDCFD\\uDCFF-\\uDD3D\\uDD49-\\uDD4E\\uDD50-\\uDD67\\uDD6F\\uDD70\\uDD73-\\uDD7A\\uDD87\\uDD8A-\\uDD8D\\uDD90\\uDD95\\uDD96\\uDDA4\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA-\\uDE4F\\uDE80-\\uDEC5\\uDECB-\\uDED2\\uDED5\\uDEE0-\\uDEE5\\uDEE9\\uDEEB\\uDEEC\\uDEF0\\uDEF3-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])\\uFE0F|(?:[\\u261D\\u26F9\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2-\\uDFC4\\uDFC7\\uDFCA-\\uDFCC]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66-\\uDC78\\uDC7C\\uDC81-\\uDC83\\uDC85-\\uDC87\\uDC8F\\uDC91\\uDCAA\\uDD74\\uDD75\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE45-\\uDE47\\uDE4B-\\uDE4F\\uDEA3\\uDEB4-\\uDEB6\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1F\\uDD26\\uDD30-\\uDD39\\uDD3C-\\uDD3E\\uDDB5\\uDDB6\\uDDB8\\uDDB9\\uDDBB\\uDDCD-\\uDDCF\\uDDD1-\\uDDDD])/g,\"  \");let q1=0;for(let Qx=0;Qx<Lx.length;Qx++){const Be=Lx.codePointAt(Qx);Be<=31||Be>=127&&Be<=159||Be>=768&&Be<=879||(Be>65535&&Qx++,q1+=R(Be)?2:1)}return q1};var Y=s0,F0=s0;Y.default=F0;var J0=Lx=>{if(typeof Lx!=\"string\")throw new TypeError(\"Expected a string\");return Lx.replace(/[|\\\\{}()[\\]^$+*?.]/g,\"\\\\$&\").replace(/-/g,\"\\\\x2d\")},e1=Lx=>Lx[Lx.length-1];function t1(Lx,q1){if(Lx==null)return{};var Qx,Be,St=function(gi,je){if(gi==null)return{};var Gu,io,ss={},to=Object.keys(gi);for(io=0;io<to.length;io++)Gu=to[io],je.indexOf(Gu)>=0||(ss[Gu]=gi[Gu]);return ss}(Lx,q1);if(Object.getOwnPropertySymbols){var _r=Object.getOwnPropertySymbols(Lx);for(Be=0;Be<_r.length;Be++)Qx=_r[Be],q1.indexOf(Qx)>=0||Object.prototype.propertyIsEnumerable.call(Lx,Qx)&&(St[Qx]=Lx[Qx])}return St}var r1=typeof globalThis!=\"undefined\"?globalThis:typeof window!=\"undefined\"?window:typeof $F!=\"undefined\"?$F:typeof self!=\"undefined\"?self:{};function F1(Lx){var q1={exports:{}};return Lx(q1,q1.exports),q1.exports}var a1=function(Lx){return Lx&&Lx.Math==Math&&Lx},D1=a1(typeof globalThis==\"object\"&&globalThis)||a1(typeof window==\"object\"&&window)||a1(typeof self==\"object\"&&self)||a1(typeof r1==\"object\"&&r1)||function(){return this}()||Function(\"return this\")(),W0=function(Lx){try{return!!Lx()}catch{return!0}},i1=!W0(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7}),x1={}.propertyIsEnumerable,ux=Object.getOwnPropertyDescriptor,K1={f:ux&&!x1.call({1:2},1)?function(Lx){var q1=ux(this,Lx);return!!q1&&q1.enumerable}:x1},ee=function(Lx,q1){return{enumerable:!(1&Lx),configurable:!(2&Lx),writable:!(4&Lx),value:q1}},Gx={}.toString,ve=function(Lx){return Gx.call(Lx).slice(8,-1)},qe=\"\".split,Jt=W0(function(){return!Object(\"z\").propertyIsEnumerable(0)})?function(Lx){return ve(Lx)==\"String\"?qe.call(Lx,\"\"):Object(Lx)}:Object,Ct=function(Lx){if(Lx==null)throw TypeError(\"Can't call method on \"+Lx);return Lx},vn=function(Lx){return Jt(Ct(Lx))},_n=function(Lx){return typeof Lx==\"object\"?Lx!==null:typeof Lx==\"function\"},Tr=function(Lx,q1){if(!_n(Lx))return Lx;var Qx,Be;if(q1&&typeof(Qx=Lx.toString)==\"function\"&&!_n(Be=Qx.call(Lx))||typeof(Qx=Lx.valueOf)==\"function\"&&!_n(Be=Qx.call(Lx))||!q1&&typeof(Qx=Lx.toString)==\"function\"&&!_n(Be=Qx.call(Lx)))return Be;throw TypeError(\"Can't convert object to primitive value\")},Lr=function(Lx){return Object(Ct(Lx))},Pn={}.hasOwnProperty,En=Object.hasOwn||function(Lx,q1){return Pn.call(Lr(Lx),q1)},cr=D1.document,Ea=_n(cr)&&_n(cr.createElement),Qn=!i1&&!W0(function(){return Object.defineProperty((Lx=\"div\",Ea?cr.createElement(Lx):{}),\"a\",{get:function(){return 7}}).a!=7;var Lx}),Bu=Object.getOwnPropertyDescriptor,Au={f:i1?Bu:function(Lx,q1){if(Lx=vn(Lx),q1=Tr(q1,!0),Qn)try{return Bu(Lx,q1)}catch{}if(En(Lx,q1))return ee(!K1.f.call(Lx,q1),Lx[q1])}},Ec=function(Lx){if(!_n(Lx))throw TypeError(String(Lx)+\" is not an object\");return Lx},kn=Object.defineProperty,pu={f:i1?kn:function(Lx,q1,Qx){if(Ec(Lx),q1=Tr(q1,!0),Ec(Qx),Qn)try{return kn(Lx,q1,Qx)}catch{}if(\"get\"in Qx||\"set\"in Qx)throw TypeError(\"Accessors not supported\");return\"value\"in Qx&&(Lx[q1]=Qx.value),Lx}},mi=i1?function(Lx,q1,Qx){return pu.f(Lx,q1,ee(1,Qx))}:function(Lx,q1,Qx){return Lx[q1]=Qx,Lx},ma=function(Lx,q1){try{mi(D1,Lx,q1)}catch{D1[Lx]=q1}return q1},ja=\"__core-js_shared__\",Ua=D1[ja]||ma(ja,{}),aa=Function.toString;typeof Ua.inspectSource!=\"function\"&&(Ua.inspectSource=function(Lx){return aa.call(Lx)});var Os,gn,et,Sr,un=Ua.inspectSource,jn=D1.WeakMap,ea=typeof jn==\"function\"&&/native code/.test(un(jn)),wa=F1(function(Lx){(Lx.exports=function(q1,Qx){return Ua[q1]||(Ua[q1]=Qx!==void 0?Qx:{})})(\"versions\",[]).push({version:\"3.14.0\",mode:\"global\",copyright:\"\\xA9 2021 Denis Pushkarev (zloirock.ru)\"})}),as=0,zo=Math.random(),vo=function(Lx){return\"Symbol(\"+String(Lx===void 0?\"\":Lx)+\")_\"+(++as+zo).toString(36)},vi=wa(\"keys\"),jr={},Hn=\"Object already initialized\",wi=D1.WeakMap;if(ea||Ua.state){var jo=Ua.state||(Ua.state=new wi),bs=jo.get,Ha=jo.has,qn=jo.set;Os=function(Lx,q1){if(Ha.call(jo,Lx))throw new TypeError(Hn);return q1.facade=Lx,qn.call(jo,Lx,q1),q1},gn=function(Lx){return bs.call(jo,Lx)||{}},et=function(Lx){return Ha.call(jo,Lx)}}else{var Ki=vi[Sr=\"state\"]||(vi[Sr]=vo(Sr));jr[Ki]=!0,Os=function(Lx,q1){if(En(Lx,Ki))throw new TypeError(Hn);return q1.facade=Lx,mi(Lx,Ki,q1),q1},gn=function(Lx){return En(Lx,Ki)?Lx[Ki]:{}},et=function(Lx){return En(Lx,Ki)}}var es,Ns,ju={set:Os,get:gn,has:et,enforce:function(Lx){return et(Lx)?gn(Lx):Os(Lx,{})},getterFor:function(Lx){return function(q1){var Qx;if(!_n(q1)||(Qx=gn(q1)).type!==Lx)throw TypeError(\"Incompatible receiver, \"+Lx+\" required\");return Qx}}},Tc=F1(function(Lx){var q1=ju.get,Qx=ju.enforce,Be=String(String).split(\"String\");(Lx.exports=function(St,_r,gi,je){var Gu,io=!!je&&!!je.unsafe,ss=!!je&&!!je.enumerable,to=!!je&&!!je.noTargetGet;typeof gi==\"function\"&&(typeof _r!=\"string\"||En(gi,\"name\")||mi(gi,\"name\",_r),(Gu=Qx(gi)).source||(Gu.source=Be.join(typeof _r==\"string\"?_r:\"\"))),St!==D1?(io?!to&&St[_r]&&(ss=!0):delete St[_r],ss?St[_r]=gi:mi(St,_r,gi)):ss?St[_r]=gi:ma(_r,gi)})(Function.prototype,\"toString\",function(){return typeof this==\"function\"&&q1(this).source||un(this)})}),bu=D1,mc=function(Lx){return typeof Lx==\"function\"?Lx:void 0},vc=function(Lx,q1){return arguments.length<2?mc(bu[Lx])||mc(D1[Lx]):bu[Lx]&&bu[Lx][q1]||D1[Lx]&&D1[Lx][q1]},Lc=Math.ceil,i2=Math.floor,su=function(Lx){return isNaN(Lx=+Lx)?0:(Lx>0?i2:Lc)(Lx)},T2=Math.min,Cu=function(Lx){return Lx>0?T2(su(Lx),9007199254740991):0},mr=Math.max,Dn=Math.min,ki=function(Lx){return function(q1,Qx,Be){var St,_r=vn(q1),gi=Cu(_r.length),je=function(Gu,io){var ss=su(Gu);return ss<0?mr(ss+io,0):Dn(ss,io)}(Be,gi);if(Lx&&Qx!=Qx){for(;gi>je;)if((St=_r[je++])!=St)return!0}else for(;gi>je;je++)if((Lx||je in _r)&&_r[je]===Qx)return Lx||je||0;return!Lx&&-1}},us={includes:ki(!0),indexOf:ki(!1)}.indexOf,ac=[\"constructor\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"toLocaleString\",\"toString\",\"valueOf\"].concat(\"length\",\"prototype\"),_s={f:Object.getOwnPropertyNames||function(Lx){return function(q1,Qx){var Be,St=vn(q1),_r=0,gi=[];for(Be in St)!En(jr,Be)&&En(St,Be)&&gi.push(Be);for(;Qx.length>_r;)En(St,Be=Qx[_r++])&&(~us(gi,Be)||gi.push(Be));return gi}(Lx,ac)}},cf={f:Object.getOwnPropertySymbols},Df=vc(\"Reflect\",\"ownKeys\")||function(Lx){var q1=_s.f(Ec(Lx)),Qx=cf.f;return Qx?q1.concat(Qx(Lx)):q1},gp=function(Lx,q1){for(var Qx=Df(q1),Be=pu.f,St=Au.f,_r=0;_r<Qx.length;_r++){var gi=Qx[_r];En(Lx,gi)||Be(Lx,gi,St(q1,gi))}},_2=/#|\\.prototype\\./,c_=function(Lx,q1){var Qx=c8[pC(Lx)];return Qx==S8||Qx!=VE&&(typeof q1==\"function\"?W0(q1):!!q1)},pC=c_.normalize=function(Lx){return String(Lx).replace(_2,\".\").toLowerCase()},c8=c_.data={},VE=c_.NATIVE=\"N\",S8=c_.POLYFILL=\"P\",c4=c_,BS=Au.f,ES=function(Lx,q1){var Qx,Be,St,_r,gi,je=Lx.target,Gu=Lx.global,io=Lx.stat;if(Qx=Gu?D1:io?D1[je]||ma(je,{}):(D1[je]||{}).prototype)for(Be in q1){if(_r=q1[Be],St=Lx.noTargetGet?(gi=BS(Qx,Be))&&gi.value:Qx[Be],!c4(Gu?Be:je+(io?\".\":\"#\")+Be,Lx.forced)&&St!==void 0){if(typeof _r==typeof St)continue;gp(_r,St)}(Lx.sham||St&&St.sham)&&mi(_r,\"sham\",!0),Tc(Qx,Be,_r,Lx)}},fS=Array.isArray||function(Lx){return ve(Lx)==\"Array\"},DF=function(Lx){if(typeof Lx!=\"function\")throw TypeError(String(Lx)+\" is not a function\");return Lx},D8=function(Lx,q1,Qx){if(DF(Lx),q1===void 0)return Lx;switch(Qx){case 0:return function(){return Lx.call(q1)};case 1:return function(Be){return Lx.call(q1,Be)};case 2:return function(Be,St){return Lx.call(q1,Be,St)};case 3:return function(Be,St,_r){return Lx.call(q1,Be,St,_r)}}return function(){return Lx.apply(q1,arguments)}},v8=function(Lx,q1,Qx,Be,St,_r,gi,je){for(var Gu,io=St,ss=0,to=!!gi&&D8(gi,je,3);ss<Be;){if(ss in Qx){if(Gu=to?to(Qx[ss],ss,q1):Qx[ss],_r>0&&fS(Gu))io=v8(Lx,q1,Gu,Cu(Gu.length),io,_r-1)-1;else{if(io>=9007199254740991)throw TypeError(\"Exceed the acceptable array length\");Lx[io]=Gu}io++}ss++}return io},pS=v8,l4=vc(\"navigator\",\"userAgent\")||\"\",KF=D1.process,f4=KF&&KF.versions,$E=f4&&f4.v8;$E?Ns=(es=$E.split(\".\"))[0]<4?1:es[0]+es[1]:l4&&(!(es=l4.match(/Edge\\/(\\d+)/))||es[1]>=74)&&(es=l4.match(/Chrome\\/(\\d+)/))&&(Ns=es[1]);var t6=Ns&&+Ns,vF=!!Object.getOwnPropertySymbols&&!W0(function(){var Lx=Symbol();return!String(Lx)||!(Object(Lx)instanceof Symbol)||!Symbol.sham&&t6&&t6<41}),fF=vF&&!Symbol.sham&&typeof Symbol.iterator==\"symbol\",tS=wa(\"wks\"),z6=D1.Symbol,LS=fF?z6:z6&&z6.withoutSetter||vo,B8=function(Lx){return En(tS,Lx)&&(vF||typeof tS[Lx]==\"string\")||(vF&&En(z6,Lx)?tS[Lx]=z6[Lx]:tS[Lx]=LS(\"Symbol.\"+Lx)),tS[Lx]},MS=B8(\"species\"),rT=function(Lx,q1){var Qx;return fS(Lx)&&(typeof(Qx=Lx.constructor)!=\"function\"||Qx!==Array&&!fS(Qx.prototype)?_n(Qx)&&(Qx=Qx[MS])===null&&(Qx=void 0):Qx=void 0),new(Qx===void 0?Array:Qx)(q1===0?0:q1)};ES({target:\"Array\",proto:!0},{flatMap:function(Lx){var q1,Qx=Lr(this),Be=Cu(Qx.length);return DF(Lx),(q1=rT(Qx,0)).length=pS(q1,Qx,Qx,Be,0,1,Lx,arguments.length>1?arguments[1]:void 0),q1}});var bF,nT,RT=Math.floor,UA=function(Lx,q1){var Qx=Lx.length,Be=RT(Qx/2);return Qx<8?_5(Lx,q1):VA(UA(Lx.slice(0,Be),q1),UA(Lx.slice(Be),q1),q1)},_5=function(Lx,q1){for(var Qx,Be,St=Lx.length,_r=1;_r<St;){for(Be=_r,Qx=Lx[_r];Be&&q1(Lx[Be-1],Qx)>0;)Lx[Be]=Lx[--Be];Be!==_r++&&(Lx[Be]=Qx)}return Lx},VA=function(Lx,q1,Qx){for(var Be=Lx.length,St=q1.length,_r=0,gi=0,je=[];_r<Be||gi<St;)_r<Be&&gi<St?je.push(Qx(Lx[_r],q1[gi])<=0?Lx[_r++]:q1[gi++]):je.push(_r<Be?Lx[_r++]:q1[gi++]);return je},ST=UA,ZT=l4.match(/firefox\\/(\\d+)/i),Kw=!!ZT&&+ZT[1],y5=/MSIE|Trident/.test(l4),P4=l4.match(/AppleWebKit\\/(\\d+)\\./),fA=!!P4&&+P4[1],H8=[],pA=H8.sort,qS=W0(function(){H8.sort(void 0)}),W6=W0(function(){H8.sort(null)}),D5=!!(nT=[].sort)&&W0(function(){nT.call(null,bF||function(){throw 1},1)}),$A=!W0(function(){if(t6)return t6<70;if(!(Kw&&Kw>3)){if(y5)return!0;if(fA)return fA<603;var Lx,q1,Qx,Be,St=\"\";for(Lx=65;Lx<76;Lx++){switch(q1=String.fromCharCode(Lx),Lx){case 66:case 69:case 70:case 72:Qx=3;break;case 68:case 71:Qx=4;break;default:Qx=2}for(Be=0;Be<47;Be++)H8.push({k:q1+Be,v:Qx})}for(H8.sort(function(_r,gi){return gi.v-_r.v}),Be=0;Be<H8.length;Be++)q1=H8[Be].k.charAt(0),St.charAt(St.length-1)!==q1&&(St+=q1);return St!==\"DGBEFHACIJK\"}});ES({target:\"Array\",proto:!0,forced:qS||!W6||!D5||!$A},{sort:function(Lx){Lx!==void 0&&DF(Lx);var q1=Lr(this);if($A)return Lx===void 0?pA.call(q1):pA.call(q1,Lx);var Qx,Be,St=[],_r=Cu(q1.length);for(Be=0;Be<_r;Be++)Be in q1&&St.push(q1[Be]);for(Qx=(St=ST(St,function(gi){return function(je,Gu){return Gu===void 0?-1:je===void 0?1:gi!==void 0?+gi(je,Gu)||0:String(je)>String(Gu)?1:-1}}(Lx))).length,Be=0;Be<Qx;)q1[Be]=St[Be++];for(;Be<_r;)delete q1[Be++];return q1}});var J4={},dA=B8(\"iterator\"),CF=Array.prototype,FT={};FT[B8(\"toStringTag\")]=\"z\";var mA=String(FT)===\"[object z]\",v5=B8(\"toStringTag\"),KA=ve(function(){return arguments}())==\"Arguments\",vw=mA?ve:function(Lx){var q1,Qx,Be;return Lx===void 0?\"Undefined\":Lx===null?\"Null\":typeof(Qx=function(St,_r){try{return St[_r]}catch{}}(q1=Object(Lx),v5))==\"string\"?Qx:KA?ve(q1):(Be=ve(q1))==\"Object\"&&typeof q1.callee==\"function\"?\"Arguments\":Be},p4=B8(\"iterator\"),x5=function(Lx){var q1=Lx.return;if(q1!==void 0)return Ec(q1.call(Lx)).value},e5=function(Lx,q1){this.stopped=Lx,this.result=q1},jT=function(Lx,q1,Qx){var Be,St,_r,gi,je,Gu,io,ss,to=Qx&&Qx.that,Ma=!(!Qx||!Qx.AS_ENTRIES),Ks=!(!Qx||!Qx.IS_ITERATOR),Qa=!(!Qx||!Qx.INTERRUPTED),Wc=D8(q1,to,1+Ma+Qa),la=function(so){return Be&&x5(Be),new e5(!0,so)},Af=function(so){return Ma?(Ec(so),Qa?Wc(so[0],so[1],la):Wc(so[0],so[1])):Qa?Wc(so,la):Wc(so)};if(Ks)Be=Lx;else{if(typeof(St=function(so){if(so!=null)return so[p4]||so[\"@@iterator\"]||J4[vw(so)]}(Lx))!=\"function\")throw TypeError(\"Target is not iterable\");if((ss=St)!==void 0&&(J4.Array===ss||CF[dA]===ss)){for(_r=0,gi=Cu(Lx.length);gi>_r;_r++)if((je=Af(Lx[_r]))&&je instanceof e5)return je;return new e5(!1)}Be=St.call(Lx)}for(Gu=Be.next;!(io=Gu.call(Be)).done;){try{je=Af(io.value)}catch(so){throw x5(Be),so}if(typeof je==\"object\"&&je&&je instanceof e5)return je}return new e5(!1)};ES({target:\"Object\",stat:!0},{fromEntries:function(Lx){var q1={};return jT(Lx,function(Qx,Be){(function(St,_r,gi){var je=Tr(_r);je in St?pu.f(St,je,ee(0,gi)):St[je]=gi})(q1,Qx,Be)},{AS_ENTRIES:!0}),q1}});var _6=_6!==void 0?_6:typeof self!=\"undefined\"?self:typeof window!=\"undefined\"?window:{};function q6(){throw new Error(\"setTimeout has not been defined\")}function JS(){throw new Error(\"clearTimeout has not been defined\")}var eg=q6,L8=JS;function J6(Lx){if(eg===setTimeout)return setTimeout(Lx,0);if((eg===q6||!eg)&&setTimeout)return eg=setTimeout,setTimeout(Lx,0);try{return eg(Lx,0)}catch{try{return eg.call(null,Lx,0)}catch{return eg.call(this,Lx,0)}}}typeof _6.setTimeout==\"function\"&&(eg=setTimeout),typeof _6.clearTimeout==\"function\"&&(L8=clearTimeout);var cm,l8=[],S6=!1,Pg=-1;function Py(){S6&&cm&&(S6=!1,cm.length?l8=cm.concat(l8):Pg=-1,l8.length&&F6())}function F6(){if(!S6){var Lx=J6(Py);S6=!0;for(var q1=l8.length;q1;){for(cm=l8,l8=[];++Pg<q1;)cm&&cm[Pg].run();Pg=-1,q1=l8.length}cm=null,S6=!1,function(Qx){if(L8===clearTimeout)return clearTimeout(Qx);if((L8===JS||!L8)&&clearTimeout)return L8=clearTimeout,clearTimeout(Qx);try{L8(Qx)}catch{try{return L8.call(null,Qx)}catch{return L8.call(this,Qx)}}}(Lx)}}function tg(Lx,q1){this.fun=Lx,this.array=q1}tg.prototype.run=function(){this.fun.apply(null,this.array)};function u3(){}var iT=u3,HS=u3,H6=u3,j5=u3,t5=u3,bw=u3,U5=u3,d4=_6.performance||{},pF=d4.now||d4.mozNow||d4.msNow||d4.oNow||d4.webkitNow||function(){return new Date().getTime()},EF=new Date,A6={nextTick:function(Lx){var q1=new Array(arguments.length-1);if(arguments.length>1)for(var Qx=1;Qx<arguments.length;Qx++)q1[Qx-1]=arguments[Qx];l8.push(new tg(Lx,q1)),l8.length!==1||S6||J6(F6)},title:\"browser\",browser:!0,env:{},argv:[],version:\"\",versions:{},on:iT,addListener:HS,once:H6,off:j5,removeListener:t5,removeAllListeners:bw,emit:U5,binding:function(Lx){throw new Error(\"process.binding is not supported\")},cwd:function(){return\"/\"},chdir:function(Lx){throw new Error(\"process.chdir is not supported\")},umask:function(){return 0},hrtime:function(Lx){var q1=.001*pF.call(d4),Qx=Math.floor(q1),Be=Math.floor(q1%1*1e9);return Lx&&(Qx-=Lx[0],(Be-=Lx[1])<0&&(Qx--,Be+=1e9)),[Qx,Be]},platform:\"browser\",release:{},config:{},uptime:function(){return(new Date-EF)/1e3}},r5=typeof A6==\"object\"&&A6.env&&A6.env.NODE_DEBUG&&/\\bsemver\\b/i.test(A6.env.NODE_DEBUG)?(...Lx)=>console.error(\"SEMVER\",...Lx):()=>{},m4={SEMVER_SPEC_VERSION:\"2.0.0\",MAX_LENGTH:256,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,MAX_SAFE_COMPONENT_LENGTH:16},Lu=F1(function(Lx,q1){const{MAX_SAFE_COMPONENT_LENGTH:Qx}=m4,Be=(q1=Lx.exports={}).re=[],St=q1.src=[],_r=q1.t={};let gi=0;const je=(Gu,io,ss)=>{const to=gi++;r5(to,io),_r[Gu]=to,St[to]=io,Be[to]=new RegExp(io,ss?\"g\":void 0)};je(\"NUMERICIDENTIFIER\",\"0|[1-9]\\\\d*\"),je(\"NUMERICIDENTIFIERLOOSE\",\"[0-9]+\"),je(\"NONNUMERICIDENTIFIER\",\"\\\\d*[a-zA-Z-][a-zA-Z0-9-]*\"),je(\"MAINVERSION\",`(${St[_r.NUMERICIDENTIFIER]})\\\\.(${St[_r.NUMERICIDENTIFIER]})\\\\.(${St[_r.NUMERICIDENTIFIER]})`),je(\"MAINVERSIONLOOSE\",`(${St[_r.NUMERICIDENTIFIERLOOSE]})\\\\.(${St[_r.NUMERICIDENTIFIERLOOSE]})\\\\.(${St[_r.NUMERICIDENTIFIERLOOSE]})`),je(\"PRERELEASEIDENTIFIER\",`(?:${St[_r.NUMERICIDENTIFIER]}|${St[_r.NONNUMERICIDENTIFIER]})`),je(\"PRERELEASEIDENTIFIERLOOSE\",`(?:${St[_r.NUMERICIDENTIFIERLOOSE]}|${St[_r.NONNUMERICIDENTIFIER]})`),je(\"PRERELEASE\",`(?:-(${St[_r.PRERELEASEIDENTIFIER]}(?:\\\\.${St[_r.PRERELEASEIDENTIFIER]})*))`),je(\"PRERELEASELOOSE\",`(?:-?(${St[_r.PRERELEASEIDENTIFIERLOOSE]}(?:\\\\.${St[_r.PRERELEASEIDENTIFIERLOOSE]})*))`),je(\"BUILDIDENTIFIER\",\"[0-9A-Za-z-]+\"),je(\"BUILD\",`(?:\\\\+(${St[_r.BUILDIDENTIFIER]}(?:\\\\.${St[_r.BUILDIDENTIFIER]})*))`),je(\"FULLPLAIN\",`v?${St[_r.MAINVERSION]}${St[_r.PRERELEASE]}?${St[_r.BUILD]}?`),je(\"FULL\",`^${St[_r.FULLPLAIN]}$`),je(\"LOOSEPLAIN\",`[v=\\\\s]*${St[_r.MAINVERSIONLOOSE]}${St[_r.PRERELEASELOOSE]}?${St[_r.BUILD]}?`),je(\"LOOSE\",`^${St[_r.LOOSEPLAIN]}$`),je(\"GTLT\",\"((?:<|>)?=?)\"),je(\"XRANGEIDENTIFIERLOOSE\",`${St[_r.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`),je(\"XRANGEIDENTIFIER\",`${St[_r.NUMERICIDENTIFIER]}|x|X|\\\\*`),je(\"XRANGEPLAIN\",`[v=\\\\s]*(${St[_r.XRANGEIDENTIFIER]})(?:\\\\.(${St[_r.XRANGEIDENTIFIER]})(?:\\\\.(${St[_r.XRANGEIDENTIFIER]})(?:${St[_r.PRERELEASE]})?${St[_r.BUILD]}?)?)?`),je(\"XRANGEPLAINLOOSE\",`[v=\\\\s]*(${St[_r.XRANGEIDENTIFIERLOOSE]})(?:\\\\.(${St[_r.XRANGEIDENTIFIERLOOSE]})(?:\\\\.(${St[_r.XRANGEIDENTIFIERLOOSE]})(?:${St[_r.PRERELEASELOOSE]})?${St[_r.BUILD]}?)?)?`),je(\"XRANGE\",`^${St[_r.GTLT]}\\\\s*${St[_r.XRANGEPLAIN]}$`),je(\"XRANGELOOSE\",`^${St[_r.GTLT]}\\\\s*${St[_r.XRANGEPLAINLOOSE]}$`),je(\"COERCE\",`(^|[^\\\\d])(\\\\d{1,${Qx}})(?:\\\\.(\\\\d{1,${Qx}}))?(?:\\\\.(\\\\d{1,${Qx}}))?(?:$|[^\\\\d])`),je(\"COERCERTL\",St[_r.COERCE],!0),je(\"LONETILDE\",\"(?:~>?)\"),je(\"TILDETRIM\",`(\\\\s*)${St[_r.LONETILDE]}\\\\s+`,!0),q1.tildeTrimReplace=\"$1~\",je(\"TILDE\",`^${St[_r.LONETILDE]}${St[_r.XRANGEPLAIN]}$`),je(\"TILDELOOSE\",`^${St[_r.LONETILDE]}${St[_r.XRANGEPLAINLOOSE]}$`),je(\"LONECARET\",\"(?:\\\\^)\"),je(\"CARETTRIM\",`(\\\\s*)${St[_r.LONECARET]}\\\\s+`,!0),q1.caretTrimReplace=\"$1^\",je(\"CARET\",`^${St[_r.LONECARET]}${St[_r.XRANGEPLAIN]}$`),je(\"CARETLOOSE\",`^${St[_r.LONECARET]}${St[_r.XRANGEPLAINLOOSE]}$`),je(\"COMPARATORLOOSE\",`^${St[_r.GTLT]}\\\\s*(${St[_r.LOOSEPLAIN]})$|^$`),je(\"COMPARATOR\",`^${St[_r.GTLT]}\\\\s*(${St[_r.FULLPLAIN]})$|^$`),je(\"COMPARATORTRIM\",`(\\\\s*)${St[_r.GTLT]}\\\\s*(${St[_r.LOOSEPLAIN]}|${St[_r.XRANGEPLAIN]})`,!0),q1.comparatorTrimReplace=\"$1$2$3\",je(\"HYPHENRANGE\",`^\\\\s*(${St[_r.XRANGEPLAIN]})\\\\s+-\\\\s+(${St[_r.XRANGEPLAIN]})\\\\s*$`),je(\"HYPHENRANGELOOSE\",`^\\\\s*(${St[_r.XRANGEPLAINLOOSE]})\\\\s+-\\\\s+(${St[_r.XRANGEPLAINLOOSE]})\\\\s*$`),je(\"STAR\",\"(<|>)?=?\\\\s*\\\\*\"),je(\"GTE0\",\"^\\\\s*>=\\\\s*0.0.0\\\\s*$\"),je(\"GTE0PRE\",\"^\\\\s*>=\\\\s*0.0.0-0\\\\s*$\")});const Ig=[\"includePrerelease\",\"loose\",\"rtl\"];var hA=Lx=>Lx?typeof Lx!=\"object\"?{loose:!0}:Ig.filter(q1=>Lx[q1]).reduce((q1,Qx)=>(q1[Qx]=!0,q1),{}):{};const RS=/^[0-9]+$/,H4=(Lx,q1)=>{const Qx=RS.test(Lx),Be=RS.test(q1);return Qx&&Be&&(Lx=+Lx,q1=+q1),Lx===q1?0:Qx&&!Be?-1:Be&&!Qx?1:Lx<q1?-1:1};var I4={compareIdentifiers:H4,rcompareIdentifiers:(Lx,q1)=>H4(q1,Lx)};const{MAX_LENGTH:GS,MAX_SAFE_INTEGER:SS}=m4,{re:rS,t:T6}=Lu,{compareIdentifiers:dS}=I4;class w6{constructor(q1,Qx){if(Qx=hA(Qx),q1 instanceof w6){if(q1.loose===!!Qx.loose&&q1.includePrerelease===!!Qx.includePrerelease)return q1;q1=q1.version}else if(typeof q1!=\"string\")throw new TypeError(`Invalid Version: ${q1}`);if(q1.length>GS)throw new TypeError(`version is longer than ${GS} characters`);r5(\"SemVer\",q1,Qx),this.options=Qx,this.loose=!!Qx.loose,this.includePrerelease=!!Qx.includePrerelease;const Be=q1.trim().match(Qx.loose?rS[T6.LOOSE]:rS[T6.FULL]);if(!Be)throw new TypeError(`Invalid Version: ${q1}`);if(this.raw=q1,this.major=+Be[1],this.minor=+Be[2],this.patch=+Be[3],this.major>SS||this.major<0)throw new TypeError(\"Invalid major version\");if(this.minor>SS||this.minor<0)throw new TypeError(\"Invalid minor version\");if(this.patch>SS||this.patch<0)throw new TypeError(\"Invalid patch version\");Be[4]?this.prerelease=Be[4].split(\".\").map(St=>{if(/^[0-9]+$/.test(St)){const _r=+St;if(_r>=0&&_r<SS)return _r}return St}):this.prerelease=[],this.build=Be[5]?Be[5].split(\".\"):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(\".\")}`),this.version}toString(){return this.version}compare(q1){if(r5(\"SemVer.compare\",this.version,this.options,q1),!(q1 instanceof w6)){if(typeof q1==\"string\"&&q1===this.version)return 0;q1=new w6(q1,this.options)}return q1.version===this.version?0:this.compareMain(q1)||this.comparePre(q1)}compareMain(q1){return q1 instanceof w6||(q1=new w6(q1,this.options)),dS(this.major,q1.major)||dS(this.minor,q1.minor)||dS(this.patch,q1.patch)}comparePre(q1){if(q1 instanceof w6||(q1=new w6(q1,this.options)),this.prerelease.length&&!q1.prerelease.length)return-1;if(!this.prerelease.length&&q1.prerelease.length)return 1;if(!this.prerelease.length&&!q1.prerelease.length)return 0;let Qx=0;do{const Be=this.prerelease[Qx],St=q1.prerelease[Qx];if(r5(\"prerelease compare\",Qx,Be,St),Be===void 0&&St===void 0)return 0;if(St===void 0)return 1;if(Be===void 0)return-1;if(Be!==St)return dS(Be,St)}while(++Qx)}compareBuild(q1){q1 instanceof w6||(q1=new w6(q1,this.options));let Qx=0;do{const Be=this.build[Qx],St=q1.build[Qx];if(r5(\"prerelease compare\",Qx,Be,St),Be===void 0&&St===void 0)return 0;if(St===void 0)return 1;if(Be===void 0)return-1;if(Be!==St)return dS(Be,St)}while(++Qx)}inc(q1,Qx){switch(q1){case\"premajor\":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc(\"pre\",Qx);break;case\"preminor\":this.prerelease.length=0,this.patch=0,this.minor++,this.inc(\"pre\",Qx);break;case\"prepatch\":this.prerelease.length=0,this.inc(\"patch\",Qx),this.inc(\"pre\",Qx);break;case\"prerelease\":this.prerelease.length===0&&this.inc(\"patch\",Qx),this.inc(\"pre\",Qx);break;case\"major\":this.minor===0&&this.patch===0&&this.prerelease.length!==0||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case\"minor\":this.patch===0&&this.prerelease.length!==0||this.minor++,this.patch=0,this.prerelease=[];break;case\"patch\":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case\"pre\":if(this.prerelease.length===0)this.prerelease=[0];else{let Be=this.prerelease.length;for(;--Be>=0;)typeof this.prerelease[Be]==\"number\"&&(this.prerelease[Be]++,Be=-2);Be===-1&&this.prerelease.push(0)}Qx&&(this.prerelease[0]===Qx?isNaN(this.prerelease[1])&&(this.prerelease=[Qx,0]):this.prerelease=[Qx,0]);break;default:throw new Error(`invalid increment argument: ${q1}`)}return this.format(),this.raw=this.version,this}}var vb=w6,Rh=(Lx,q1,Qx)=>new vb(Lx,Qx).compare(new vb(q1,Qx)),Wf=(Lx,q1,Qx)=>Rh(Lx,q1,Qx)<0,Fp=(Lx,q1,Qx)=>Rh(Lx,q1,Qx)>=0,ZC=\"2.3.2\",zA=F1(function(Lx,q1){function Qx(){for(var la=[],Af=0;Af<arguments.length;Af++)la[Af]=arguments[Af]}function Be(){return typeof WeakMap!=\"undefined\"?new WeakMap:{add:Qx,delete:Qx,get:Qx,set:Qx,has:function(la){return!1}}}Object.defineProperty(q1,\"__esModule\",{value:!0}),q1.outdent=void 0;var St=Object.prototype.hasOwnProperty,_r=function(la,Af){return St.call(la,Af)};function gi(la,Af){for(var so in Af)_r(Af,so)&&(la[so]=Af[so]);return la}var je=/^[ \\t]*(?:\\r\\n|\\r|\\n)/,Gu=/(?:\\r\\n|\\r|\\n)[ \\t]*$/,io=/^(?:[\\r\\n]|$)/,ss=/(?:\\r\\n|\\r|\\n)([ \\t]*)(?:[^ \\t\\r\\n]|$)/,to=/^[ \\t]*[\\r\\n][ \\t\\r\\n]*$/;function Ma(la,Af,so){var qu=0,lf=la[0].match(ss);lf&&(qu=lf[1].length);var uu=new RegExp(\"(\\\\r\\\\n|\\\\r|\\\\n).{0,\"+qu+\"}\",\"g\");Af&&(la=la.slice(1));var ud=so.newline,fm=so.trimLeadingNewline,w2=so.trimTrailingNewline,US=typeof ud==\"string\",j8=la.length;return la.map(function(tE,U8){return tE=tE.replace(uu,\"$1\"),U8===0&&fm&&(tE=tE.replace(je,\"\")),U8===j8-1&&w2&&(tE=tE.replace(Gu,\"\")),US&&(tE=tE.replace(/\\r\\n|\\n|\\r/g,function(xp){return ud})),tE})}function Ks(la,Af){for(var so=\"\",qu=0,lf=la.length;qu<lf;qu++)so+=la[qu],qu<lf-1&&(so+=Af[qu]);return so}function Qa(la){return _r(la,\"raw\")&&_r(la,\"length\")}var Wc=function la(Af){var so=Be(),qu=Be();return gi(function lf(uu){for(var ud=[],fm=1;fm<arguments.length;fm++)ud[fm-1]=arguments[fm];if(Qa(uu)){var w2=uu,US=(ud[0]===lf||ud[0]===Wc)&&to.test(w2[0])&&io.test(w2[1]),j8=US?qu:so,tE=j8.get(w2);if(tE||(tE=Ma(w2,US,Af),j8.set(w2,tE)),ud.length===0)return tE[0];var U8=Ks(tE,US?ud.slice(1):ud);return U8}return la(gi(gi({},Af),uu||{}))},{string:function(lf){return Ma([lf],!1,Af)[0]}})}({trimLeadingNewline:!0,trimTrailingNewline:!0});q1.outdent=Wc,q1.default=Wc;try{Lx.exports=Wc,Object.defineProperty(Wc,\"__esModule\",{value:!0}),Wc.default=Wc,Wc.outdent=Wc}catch{}});const{outdent:zF}=zA,WF=\"Config\",l_=\"Editor\",xE=\"Other\",r6=\"Global\",M8=\"Special\",KE={cursorOffset:{since:\"1.4.0\",category:M8,type:\"int\",default:-1,range:{start:-1,end:Number.POSITIVE_INFINITY,step:1},description:zF`\n      Print (to stderr) where a cursor at the given position would move to after formatting.\n      This option cannot be used with --range-start and --range-end.\n    `,cliCategory:l_},endOfLine:{since:\"1.15.0\",category:r6,type:\"choice\",default:[{since:\"1.15.0\",value:\"auto\"},{since:\"2.0.0\",value:\"lf\"}],description:\"Which end of line characters to apply.\",choices:[{value:\"lf\",description:\"Line Feed only (\\\\n), common on Linux and macOS as well as inside git repos\"},{value:\"crlf\",description:\"Carriage Return + Line Feed characters (\\\\r\\\\n), common on Windows\"},{value:\"cr\",description:\"Carriage Return character only (\\\\r), used very rarely\"},{value:\"auto\",description:zF`\n          Maintain existing\n          (mixed values within one file are normalised by looking at what's used after the first line)\n        `}]},filepath:{since:\"1.4.0\",category:M8,type:\"path\",description:\"Specify the input filepath. This will be used to do parser inference.\",cliName:\"stdin-filepath\",cliCategory:xE,cliDescription:\"Path to the file to pretend that stdin comes from.\"},insertPragma:{since:\"1.8.0\",category:M8,type:\"boolean\",default:!1,description:\"Insert @format pragma into file's first docblock comment.\",cliCategory:xE},parser:{since:\"0.0.10\",category:r6,type:\"choice\",default:[{since:\"0.0.10\",value:\"babylon\"},{since:\"1.13.0\",value:void 0}],description:\"Which parser to use.\",exception:Lx=>typeof Lx==\"string\"||typeof Lx==\"function\",choices:[{value:\"flow\",description:\"Flow\"},{value:\"babel\",since:\"1.16.0\",description:\"JavaScript\"},{value:\"babel-flow\",since:\"1.16.0\",description:\"Flow\"},{value:\"babel-ts\",since:\"2.0.0\",description:\"TypeScript\"},{value:\"typescript\",since:\"1.4.0\",description:\"TypeScript\"},{value:\"espree\",since:\"2.2.0\",description:\"JavaScript\"},{value:\"meriyah\",since:\"2.2.0\",description:\"JavaScript\"},{value:\"css\",since:\"1.7.1\",description:\"CSS\"},{value:\"less\",since:\"1.7.1\",description:\"Less\"},{value:\"scss\",since:\"1.7.1\",description:\"SCSS\"},{value:\"json\",since:\"1.5.0\",description:\"JSON\"},{value:\"json5\",since:\"1.13.0\",description:\"JSON5\"},{value:\"json-stringify\",since:\"1.13.0\",description:\"JSON.stringify\"},{value:\"graphql\",since:\"1.5.0\",description:\"GraphQL\"},{value:\"markdown\",since:\"1.8.0\",description:\"Markdown\"},{value:\"mdx\",since:\"1.15.0\",description:\"MDX\"},{value:\"vue\",since:\"1.10.0\",description:\"Vue\"},{value:\"yaml\",since:\"1.14.0\",description:\"YAML\"},{value:\"glimmer\",since:\"2.3.0\",description:\"Ember / Handlebars\"},{value:\"html\",since:\"1.15.0\",description:\"HTML\"},{value:\"angular\",since:\"1.15.0\",description:\"Angular\"},{value:\"lwc\",since:\"1.17.0\",description:\"Lightning Web Components\"}]},plugins:{since:\"1.10.0\",type:\"path\",array:!0,default:[{value:[]}],category:r6,description:\"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.\",exception:Lx=>typeof Lx==\"string\"||typeof Lx==\"object\",cliName:\"plugin\",cliCategory:WF},pluginSearchDirs:{since:\"1.13.0\",type:\"path\",array:!0,default:[{value:[]}],category:r6,description:zF`\n      Custom directory that contains prettier plugins in node_modules subdirectory.\n      Overrides default behavior when plugins are searched relatively to the location of Prettier.\n      Multiple values are accepted.\n    `,exception:Lx=>typeof Lx==\"string\"||typeof Lx==\"object\",cliName:\"plugin-search-dir\",cliCategory:WF},printWidth:{since:\"0.0.0\",category:r6,type:\"int\",default:80,description:\"The line length where Prettier will try wrap.\",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},rangeEnd:{since:\"1.4.0\",category:M8,type:\"int\",default:Number.POSITIVE_INFINITY,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:zF`\n      Format code ending at a given character offset (exclusive).\n      The range will extend forwards to the end of the selected statement.\n      This option cannot be used with --cursor-offset.\n    `,cliCategory:l_},rangeStart:{since:\"1.4.0\",category:M8,type:\"int\",default:0,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:zF`\n      Format code starting at a given character offset.\n      The range will extend backwards to the start of the first line containing the selected statement.\n      This option cannot be used with --cursor-offset.\n    `,cliCategory:l_},requirePragma:{since:\"1.7.0\",category:M8,type:\"boolean\",default:!1,description:zF`\n      Require either '@prettier' or '@format' to be present in the file's first docblock comment\n      in order for it to be formatted.\n    `,cliCategory:xE},tabWidth:{type:\"int\",category:r6,default:2,description:\"Number of spaces per indentation level.\",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},useTabs:{since:\"1.0.0\",category:r6,type:\"boolean\",default:!1,description:\"Indent with tabs instead of spaces.\"},embeddedLanguageFormatting:{since:\"2.1.0\",category:r6,type:\"choice\",default:[{since:\"2.1.0\",value:\"auto\"}],description:\"Control how Prettier formats quoted code embedded in the file.\",choices:[{value:\"auto\",description:\"Format embedded code if Prettier can automatically identify it.\"},{value:\"off\",description:\"Never automatically format embedded code.\"}]}},lm=[\"cliName\",\"cliCategory\",\"cliDescription\"],mS={compare:Rh,lt:Wf,gte:Fp},aT=ZC,h4=KE;var G4={getSupportInfo:function({plugins:Lx=[],showUnreleased:q1=!1,showDeprecated:Qx=!1,showInternal:Be=!1}={}){const St=aT.split(\"-\",1)[0],_r=Lx.flatMap(to=>to.languages||[]).filter(io),gi=(je=Object.assign({},...Lx.map(({options:to})=>to),h4),Gu=\"name\",Object.entries(je).map(([to,Ma])=>Object.assign({[Gu]:to},Ma))).filter(to=>io(to)&&ss(to)).sort((to,Ma)=>to.name===Ma.name?0:to.name<Ma.name?-1:1).map(function(to){return Be?to:t1(to,lm)}).map(to=>{to=Object.assign({},to),Array.isArray(to.default)&&(to.default=to.default.length===1?to.default[0].value:to.default.filter(io).sort((Ks,Qa)=>mS.compare(Qa.since,Ks.since))[0].value),Array.isArray(to.choices)&&(to.choices=to.choices.filter(Ks=>io(Ks)&&ss(Ks)),to.name===\"parser\"&&function(Ks,Qa,Wc){const la=new Set(Ks.choices.map(Af=>Af.value));for(const Af of Qa)if(Af.parsers){for(const so of Af.parsers)if(!la.has(so)){la.add(so);const qu=Wc.find(uu=>uu.parsers&&uu.parsers[so]);let lf=Af.name;qu&&qu.name&&(lf+=` (plugin: ${qu.name})`),Ks.choices.push({value:so,description:lf})}}}(to,_r,Lx));const Ma=Object.fromEntries(Lx.filter(Ks=>Ks.defaultOptions&&Ks.defaultOptions[to.name]!==void 0).map(Ks=>[Ks.name,Ks.defaultOptions[to.name]]));return Object.assign(Object.assign({},to),{},{pluginDefaults:Ma})});var je,Gu;return{languages:_r,options:gi};function io(to){return q1||!(\"since\"in to)||to.since&&mS.gte(St,to.since)}function ss(to){return Qx||!(\"deprecated\"in to)||to.deprecated&&mS.lt(St,to.deprecated)}}};const{getSupportInfo:k6}=G4,xw=/[^\\x20-\\x7F]/;function UT(Lx){return(q1,Qx,Be)=>{const St=Be&&Be.backwards;if(Qx===!1)return!1;const{length:_r}=q1;let gi=Qx;for(;gi>=0&&gi<_r;){const je=q1.charAt(gi);if(Lx instanceof RegExp){if(!Lx.test(je))return gi}else if(!Lx.includes(je))return gi;St?gi--:gi++}return(gi===-1||gi===_r)&&gi}}const oT=UT(/\\s/),G8=UT(\" \t\"),y6=UT(\",; \t\"),nS=UT(/[^\\n\\r]/);function jD(Lx,q1){if(q1===!1)return!1;if(Lx.charAt(q1)===\"/\"&&Lx.charAt(q1+1)===\"*\"){for(let Qx=q1+2;Qx<Lx.length;++Qx)if(Lx.charAt(Qx)===\"*\"&&Lx.charAt(Qx+1)===\"/\")return Qx+2}return q1}function X4(Lx,q1){return q1!==!1&&(Lx.charAt(q1)===\"/\"&&Lx.charAt(q1+1)===\"/\"?nS(Lx,q1):q1)}function SF(Lx,q1,Qx){const Be=Qx&&Qx.backwards;if(q1===!1)return!1;const St=Lx.charAt(q1);if(Be){if(Lx.charAt(q1-1)===\"\\r\"&&St===`\n`)return q1-2;if(St===`\n`||St===\"\\r\"||St===\"\\u2028\"||St===\"\\u2029\")return q1-1}else{if(St===\"\\r\"&&Lx.charAt(q1+1)===`\n`)return q1+2;if(St===`\n`||St===\"\\r\"||St===\"\\u2028\"||St===\"\\u2029\")return q1+1}return q1}function ad(Lx,q1,Qx={}){const Be=G8(Lx,Qx.backwards?q1-1:q1,Qx);return Be!==SF(Lx,Be,Qx)}function XS(Lx,q1){let Qx=null,Be=q1;for(;Be!==Qx;)Qx=Be,Be=y6(Lx,Be),Be=jD(Lx,Be),Be=G8(Lx,Be);return Be=X4(Lx,Be),Be=SF(Lx,Be),Be!==!1&&ad(Lx,Be)}function X8(Lx,q1){let Qx=null,Be=q1;for(;Be!==Qx;)Qx=Be,Be=G8(Lx,Be),Be=jD(Lx,Be),Be=X4(Lx,Be),Be=SF(Lx,Be);return Be}function gA(Lx,q1,Qx){return X8(Lx,Qx(q1))}function VT(Lx,q1,Qx=0){let Be=0;for(let St=Qx;St<Lx.length;++St)Lx[St]===\"\t\"?Be=Be+q1-Be%q1:Be++;return Be}function YS(Lx,q1){const Qx=Lx.slice(1,-1),Be={quote:'\"',regex:/\"/g},St={quote:\"'\",regex:/'/g},_r=q1===\"'\"?St:Be,gi=_r===St?Be:St;let je=_r.quote;return(Qx.includes(_r.quote)||Qx.includes(gi.quote))&&(je=(Qx.match(_r.regex)||[]).length>(Qx.match(gi.regex)||[]).length?gi.quote:_r.quote),je}function _A(Lx,q1,Qx){const Be=q1==='\"'?\"'\":'\"',St=Lx.replace(/\\\\(.)|([\"'])/gs,(_r,gi,je)=>gi===Be?gi:je===q1?\"\\\\\"+je:je||(Qx&&/^[^\\n\\r\"'0-7\\\\bfnrt-vx\\u2028\\u2029]$/.test(gi)?gi:\"\\\\\"+gi));return q1+St+q1}function QS(Lx,q1){(Lx.comments||(Lx.comments=[])).push(q1),q1.printed=!1,q1.nodeDescription=function(Qx){const Be=Qx.type||Qx.kind||\"(unknown type)\";let St=String(Qx.name||Qx.id&&(typeof Qx.id==\"object\"?Qx.id.name:Qx.id)||Qx.key&&(typeof Qx.key==\"object\"?Qx.key.name:Qx.key)||Qx.value&&(typeof Qx.value==\"object\"?\"\":String(Qx.value))||Qx.operator||\"\");return St.length>20&&(St=St.slice(0,19)+\"\\u2026\"),Be+(St?\" \"+St:\"\")}(Lx)}var qF={inferParserByLanguage:function(Lx,q1){const{languages:Qx}=k6({plugins:q1.plugins}),Be=Qx.find(({name:St})=>St.toLowerCase()===Lx)||Qx.find(({aliases:St})=>Array.isArray(St)&&St.includes(Lx))||Qx.find(({extensions:St})=>Array.isArray(St)&&St.includes(`.${Lx}`));return Be&&Be.parsers[0]},getStringWidth:function(Lx){return Lx?xw.test(Lx)?Y(Lx):Lx.length:0},getMaxContinuousCount:function(Lx,q1){const Qx=Lx.match(new RegExp(`(${J0(q1)})+`,\"g\"));return Qx===null?0:Qx.reduce((Be,St)=>Math.max(Be,St.length/q1.length),0)},getMinNotPresentContinuousCount:function(Lx,q1){const Qx=Lx.match(new RegExp(`(${J0(q1)})+`,\"g\"));if(Qx===null)return 0;const Be=new Map;let St=0;for(const _r of Qx){const gi=_r.length/q1.length;Be.set(gi,!0),gi>St&&(St=gi)}for(let _r=1;_r<St;_r++)if(!Be.get(_r))return _r;return St+1},getPenultimate:Lx=>Lx[Lx.length-2],getLast:e1,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:X8,getNextNonSpaceNonCommentCharacterIndex:gA,getNextNonSpaceNonCommentCharacter:function(Lx,q1,Qx){return Lx.charAt(gA(Lx,q1,Qx))},skip:UT,skipWhitespace:oT,skipSpaces:G8,skipToLineEnd:y6,skipEverythingButNewLine:nS,skipInlineComment:jD,skipTrailingComment:X4,skipNewline:SF,isNextLineEmptyAfterIndex:XS,isNextLineEmpty:function(Lx,q1,Qx){return XS(Lx,Qx(q1))},isPreviousLineEmpty:function(Lx,q1,Qx){let Be=Qx(q1)-1;return Be=G8(Lx,Be,{backwards:!0}),Be=SF(Lx,Be,{backwards:!0}),Be=G8(Lx,Be,{backwards:!0}),Be!==SF(Lx,Be,{backwards:!0})},hasNewline:ad,hasNewlineInRange:function(Lx,q1,Qx){for(let Be=q1;Be<Qx;++Be)if(Lx.charAt(Be)===`\n`)return!0;return!1},hasSpaces:function(Lx,q1,Qx={}){return G8(Lx,Qx.backwards?q1-1:q1,Qx)!==q1},getAlignmentSize:VT,getIndentSize:function(Lx,q1){const Qx=Lx.lastIndexOf(`\n`);return Qx===-1?0:VT(Lx.slice(Qx+1).match(/^[\\t ]*/)[0],q1)},getPreferredQuote:YS,printString:function(Lx,q1){return _A(Lx.slice(1,-1),q1.parser===\"json\"||q1.parser===\"json5\"&&q1.quoteProps===\"preserve\"&&!q1.singleQuote?'\"':q1.__isInHtmlAttribute?\"'\":YS(Lx,q1.singleQuote?\"'\":'\"'),!(q1.parser===\"css\"||q1.parser===\"less\"||q1.parser===\"scss\"||q1.__embeddedInHtml))},printNumber:function(Lx){return Lx.toLowerCase().replace(/^([+-]?[\\d.]+e)(?:\\+|(-))?0*(\\d)/,\"$1$2$3\").replace(/^([+-]?[\\d.]+)e[+-]?0+$/,\"$1\").replace(/^([+-])?\\./,\"$10.\").replace(/(\\.\\d+?)0+(?=e|$)/,\"$1\").replace(/\\.(?=e|$)/,\"\")},makeString:_A,addLeadingComment:function(Lx,q1){q1.leading=!0,q1.trailing=!1,QS(Lx,q1)},addDanglingComment:function(Lx,q1,Qx){q1.leading=!1,q1.trailing=!1,Qx&&(q1.marker=Qx),QS(Lx,q1)},addTrailingComment:function(Lx,q1){q1.leading=!1,q1.trailing=!0,QS(Lx,q1)},isFrontMatterNode:function(Lx){return Lx&&Lx.type===\"front-matter\"},getShebang:function(Lx){if(!Lx.startsWith(\"#!\"))return\"\";const q1=Lx.indexOf(`\n`);return q1===-1?Lx:Lx.slice(0,q1)},isNonEmptyArray:function(Lx){return Array.isArray(Lx)&&Lx.length>0},createGroupIdMapper:function(Lx){const q1=new WeakMap;return function(Qx){return q1.has(Qx)||q1.set(Qx,Symbol(Lx)),q1.get(Qx)}}};const{isNonEmptyArray:jS}=qF;function zE(Lx,q1){const{ignoreDecorators:Qx}=q1||{};if(!Qx){const Be=Lx.declaration&&Lx.declaration.decorators||Lx.decorators;if(jS(Be))return zE(Be[0])}return Lx.range?Lx.range[0]:Lx.start}function n6(Lx){return Lx.range?Lx.range[1]:Lx.end}function iS(Lx,q1){return zE(Lx)===zE(q1)}var p6,O4={locStart:zE,locEnd:n6,hasSameLocStart:iS,hasSameLoc:function(Lx,q1){return iS(Lx,q1)&&function(Qx,Be){return n6(Qx)===n6(Be)}(Lx,q1)}},$T=F1(function(Lx,q1){var Qx=`\n`,Be=function(){function St(_r){this.string=_r;for(var gi=[0],je=0;je<_r.length;)switch(_r[je]){case Qx:je+=Qx.length,gi.push(je);break;case\"\\r\":_r[je+=\"\\r\".length]===Qx&&(je+=Qx.length),gi.push(je);break;default:je++}this.offsets=gi}return St.prototype.locationForIndex=function(_r){if(_r<0||_r>this.string.length)return null;for(var gi=0,je=this.offsets;je[gi+1]<=_r;)gi++;return{line:gi,column:_r-je[gi]}},St.prototype.indexForLocation=function(_r){var gi=_r.line,je=_r.column;return gi<0||gi>=this.offsets.length||je<0||je>this.lengthOfLine(gi)?null:this.offsets[gi]+je},St.prototype.lengthOfLine=function(_r){var gi=this.offsets[_r];return(_r===this.offsets.length-1?this.string.length:this.offsets[_r+1])-gi},St}();q1.__esModule=!0,q1.default=Be}),FF=F1(function(Lx,q1){Object.defineProperty(q1,\"__esModule\",{value:!0}),q1.Context=void 0,q1.Context=class{constructor(Be){this.text=Be,this.locator=new Qx(this.text)}};class Qx{constructor(St){this._lineAndColumn=new $T.default(St)}locationForIndex(St){const{line:_r,column:gi}=this._lineAndColumn.locationForIndex(St);return{line:_r+1,column:gi}}}});/**\n\t * @license\n\t * Copyright Google LLC All Rights Reserved.\n\t *\n\t * Use of this source code is governed by an MIT-style license that can be\n\t * found in the LICENSE file at https://angular.io/license\n\t */class AF{constructor(q1,Qx,Be,St){this.input=Qx,this.errLocation=Be,this.ctxLocation=St,this.message=`Parser Error: ${q1} ${Be} [${Qx}] in ${St}`}}class Y8{constructor(q1,Qx){this.start=q1,this.end=Qx}toAbsolute(q1){return new G6(q1+this.start,q1+this.end)}}class hS{constructor(q1,Qx){this.span=q1,this.sourceSpan=Qx}visit(q1,Qx=null){return null}toString(){return\"AST\"}}class yA extends hS{constructor(q1,Qx,Be){super(q1,Qx),this.nameSpan=Be}}class JF extends hS{constructor(q1,Qx,Be,St,_r){super(q1,Qx),this.prefix=Be,this.uninterpretedExpression=St,this.location=_r}visit(q1,Qx=null){return q1.visitQuote(this,Qx)}toString(){return\"Quote\"}}class eE extends hS{visit(q1,Qx=null){}}class ew extends hS{visit(q1,Qx=null){return q1.visitImplicitReceiver(this,Qx)}}class b5 extends ew{visit(q1,Qx=null){var Be;return(Be=q1.visitThisReceiver)===null||Be===void 0?void 0:Be.call(q1,this,Qx)}}class DA extends hS{constructor(q1,Qx,Be){super(q1,Qx),this.expressions=Be}visit(q1,Qx=null){return q1.visitChain(this,Qx)}}class _a extends hS{constructor(q1,Qx,Be,St,_r){super(q1,Qx),this.condition=Be,this.trueExp=St,this.falseExp=_r}visit(q1,Qx=null){return q1.visitConditional(this,Qx)}}class $o extends yA{constructor(q1,Qx,Be,St,_r){super(q1,Qx,Be),this.receiver=St,this.name=_r}visit(q1,Qx=null){return q1.visitPropertyRead(this,Qx)}}class To extends yA{constructor(q1,Qx,Be,St,_r,gi){super(q1,Qx,Be),this.receiver=St,this.name=_r,this.value=gi}visit(q1,Qx=null){return q1.visitPropertyWrite(this,Qx)}}class Qc extends yA{constructor(q1,Qx,Be,St,_r){super(q1,Qx,Be),this.receiver=St,this.name=_r}visit(q1,Qx=null){return q1.visitSafePropertyRead(this,Qx)}}class od extends hS{constructor(q1,Qx,Be,St){super(q1,Qx),this.obj=Be,this.key=St}visit(q1,Qx=null){return q1.visitKeyedRead(this,Qx)}}class _p extends hS{constructor(q1,Qx,Be,St,_r){super(q1,Qx),this.obj=Be,this.key=St,this.value=_r}visit(q1,Qx=null){return q1.visitKeyedWrite(this,Qx)}}class F8 extends yA{constructor(q1,Qx,Be,St,_r,gi){super(q1,Qx,gi),this.exp=Be,this.name=St,this.args=_r}visit(q1,Qx=null){return q1.visitPipe(this,Qx)}}class rg extends hS{constructor(q1,Qx,Be){super(q1,Qx),this.value=Be}visit(q1,Qx=null){return q1.visitLiteralPrimitive(this,Qx)}}class Y4 extends hS{constructor(q1,Qx,Be){super(q1,Qx),this.expressions=Be}visit(q1,Qx=null){return q1.visitLiteralArray(this,Qx)}}class ZS extends hS{constructor(q1,Qx,Be,St){super(q1,Qx),this.keys=Be,this.values=St}visit(q1,Qx=null){return q1.visitLiteralMap(this,Qx)}}class A8 extends hS{constructor(q1,Qx,Be,St){super(q1,Qx),this.strings=Be,this.expressions=St}visit(q1,Qx=null){return q1.visitInterpolation(this,Qx)}}class WE extends hS{constructor(q1,Qx,Be,St,_r){super(q1,Qx),this.operation=Be,this.left=St,this.right=_r}visit(q1,Qx=null){return q1.visitBinary(this,Qx)}}class R8 extends WE{constructor(q1,Qx,Be,St,_r,gi,je){super(q1,Qx,_r,gi,je),this.operator=Be,this.expr=St}static createMinus(q1,Qx,Be){return new R8(q1,Qx,\"-\",Be,\"-\",new rg(q1,Qx,0),Be)}static createPlus(q1,Qx,Be){return new R8(q1,Qx,\"+\",Be,\"-\",Be,new rg(q1,Qx,0))}visit(q1,Qx=null){return q1.visitUnary!==void 0?q1.visitUnary(this,Qx):q1.visitBinary(this,Qx)}}class gS extends hS{constructor(q1,Qx,Be){super(q1,Qx),this.expression=Be}visit(q1,Qx=null){return q1.visitPrefixNot(this,Qx)}}class N6 extends hS{constructor(q1,Qx,Be){super(q1,Qx),this.expression=Be}visit(q1,Qx=null){return q1.visitNonNullAssert(this,Qx)}}class g4 extends yA{constructor(q1,Qx,Be,St,_r,gi,je){super(q1,Qx,Be),this.receiver=St,this.name=_r,this.args=gi,this.argumentSpan=je}visit(q1,Qx=null){return q1.visitMethodCall(this,Qx)}}class f_ extends yA{constructor(q1,Qx,Be,St,_r,gi,je){super(q1,Qx,Be),this.receiver=St,this.name=_r,this.args=gi,this.argumentSpan=je}visit(q1,Qx=null){return q1.visitSafeMethodCall(this,Qx)}}class TF extends hS{constructor(q1,Qx,Be,St){super(q1,Qx),this.target=Be,this.args=St}visit(q1,Qx=null){return q1.visitFunctionCall(this,Qx)}}class G6{constructor(q1,Qx){this.start=q1,this.end=Qx}}class $2 extends hS{constructor(q1,Qx,Be,St,_r){super(new Y8(0,Qx===null?0:Qx.length),new G6(St,Qx===null?St:St+Qx.length)),this.ast=q1,this.source=Qx,this.location=Be,this.errors=_r}visit(q1,Qx=null){return q1.visitASTWithSource?q1.visitASTWithSource(this,Qx):this.ast.visit(q1,Qx)}toString(){return`${this.source} in ${this.location}`}}class b8{constructor(q1,Qx,Be){this.sourceSpan=q1,this.key=Qx,this.value=Be}}class vA{constructor(q1,Qx,Be){this.sourceSpan=q1,this.key=Qx,this.value=Be}}class n5{visit(q1,Qx){q1.visit(this,Qx)}visitUnary(q1,Qx){this.visit(q1.expr,Qx)}visitBinary(q1,Qx){this.visit(q1.left,Qx),this.visit(q1.right,Qx)}visitChain(q1,Qx){this.visitAll(q1.expressions,Qx)}visitConditional(q1,Qx){this.visit(q1.condition,Qx),this.visit(q1.trueExp,Qx),this.visit(q1.falseExp,Qx)}visitPipe(q1,Qx){this.visit(q1.exp,Qx),this.visitAll(q1.args,Qx)}visitFunctionCall(q1,Qx){q1.target&&this.visit(q1.target,Qx),this.visitAll(q1.args,Qx)}visitImplicitReceiver(q1,Qx){}visitThisReceiver(q1,Qx){}visitInterpolation(q1,Qx){this.visitAll(q1.expressions,Qx)}visitKeyedRead(q1,Qx){this.visit(q1.obj,Qx),this.visit(q1.key,Qx)}visitKeyedWrite(q1,Qx){this.visit(q1.obj,Qx),this.visit(q1.key,Qx),this.visit(q1.value,Qx)}visitLiteralArray(q1,Qx){this.visitAll(q1.expressions,Qx)}visitLiteralMap(q1,Qx){this.visitAll(q1.values,Qx)}visitLiteralPrimitive(q1,Qx){}visitMethodCall(q1,Qx){this.visit(q1.receiver,Qx),this.visitAll(q1.args,Qx)}visitPrefixNot(q1,Qx){this.visit(q1.expression,Qx)}visitNonNullAssert(q1,Qx){this.visit(q1.expression,Qx)}visitPropertyRead(q1,Qx){this.visit(q1.receiver,Qx)}visitPropertyWrite(q1,Qx){this.visit(q1.receiver,Qx),this.visit(q1.value,Qx)}visitSafePropertyRead(q1,Qx){this.visit(q1.receiver,Qx)}visitSafeMethodCall(q1,Qx){this.visit(q1.receiver,Qx),this.visitAll(q1.args,Qx)}visitQuote(q1,Qx){}visitAll(q1,Qx){for(const Be of q1)this.visit(Be,Qx)}}(function(Lx){Lx[Lx.DEFAULT=0]=\"DEFAULT\",Lx[Lx.LITERAL_ATTR=1]=\"LITERAL_ATTR\",Lx[Lx.ANIMATION=2]=\"ANIMATION\"})(p6||(p6={}));var bb=Object.freeze({__proto__:null,ParserError:AF,ParseSpan:Y8,AST:hS,ASTWithName:yA,Quote:JF,EmptyExpr:eE,ImplicitReceiver:ew,ThisReceiver:b5,Chain:DA,Conditional:_a,PropertyRead:$o,PropertyWrite:To,SafePropertyRead:Qc,KeyedRead:od,KeyedWrite:_p,BindingPipe:F8,LiteralPrimitive:rg,LiteralArray:Y4,LiteralMap:ZS,Interpolation:A8,Binary:WE,Unary:R8,PrefixNot:gS,NonNullAssert:N6,MethodCall:g4,SafeMethodCall:f_,FunctionCall:TF,AbsoluteSourceSpan:G6,ASTWithSource:$2,VariableBinding:b8,ExpressionBinding:vA,RecursiveAstVisitor:n5,AstTransformer:class{visitImplicitReceiver(Lx,q1){return Lx}visitThisReceiver(Lx,q1){return Lx}visitInterpolation(Lx,q1){return new A8(Lx.span,Lx.sourceSpan,Lx.strings,this.visitAll(Lx.expressions))}visitLiteralPrimitive(Lx,q1){return new rg(Lx.span,Lx.sourceSpan,Lx.value)}visitPropertyRead(Lx,q1){return new $o(Lx.span,Lx.sourceSpan,Lx.nameSpan,Lx.receiver.visit(this),Lx.name)}visitPropertyWrite(Lx,q1){return new To(Lx.span,Lx.sourceSpan,Lx.nameSpan,Lx.receiver.visit(this),Lx.name,Lx.value.visit(this))}visitSafePropertyRead(Lx,q1){return new Qc(Lx.span,Lx.sourceSpan,Lx.nameSpan,Lx.receiver.visit(this),Lx.name)}visitMethodCall(Lx,q1){return new g4(Lx.span,Lx.sourceSpan,Lx.nameSpan,Lx.receiver.visit(this),Lx.name,this.visitAll(Lx.args),Lx.argumentSpan)}visitSafeMethodCall(Lx,q1){return new f_(Lx.span,Lx.sourceSpan,Lx.nameSpan,Lx.receiver.visit(this),Lx.name,this.visitAll(Lx.args),Lx.argumentSpan)}visitFunctionCall(Lx,q1){return new TF(Lx.span,Lx.sourceSpan,Lx.target.visit(this),this.visitAll(Lx.args))}visitLiteralArray(Lx,q1){return new Y4(Lx.span,Lx.sourceSpan,this.visitAll(Lx.expressions))}visitLiteralMap(Lx,q1){return new ZS(Lx.span,Lx.sourceSpan,Lx.keys,this.visitAll(Lx.values))}visitUnary(Lx,q1){switch(Lx.operator){case\"+\":return R8.createPlus(Lx.span,Lx.sourceSpan,Lx.expr.visit(this));case\"-\":return R8.createMinus(Lx.span,Lx.sourceSpan,Lx.expr.visit(this));default:throw new Error(`Unknown unary operator ${Lx.operator}`)}}visitBinary(Lx,q1){return new WE(Lx.span,Lx.sourceSpan,Lx.operation,Lx.left.visit(this),Lx.right.visit(this))}visitPrefixNot(Lx,q1){return new gS(Lx.span,Lx.sourceSpan,Lx.expression.visit(this))}visitNonNullAssert(Lx,q1){return new N6(Lx.span,Lx.sourceSpan,Lx.expression.visit(this))}visitConditional(Lx,q1){return new _a(Lx.span,Lx.sourceSpan,Lx.condition.visit(this),Lx.trueExp.visit(this),Lx.falseExp.visit(this))}visitPipe(Lx,q1){return new F8(Lx.span,Lx.sourceSpan,Lx.exp.visit(this),Lx.name,this.visitAll(Lx.args),Lx.nameSpan)}visitKeyedRead(Lx,q1){return new od(Lx.span,Lx.sourceSpan,Lx.obj.visit(this),Lx.key.visit(this))}visitKeyedWrite(Lx,q1){return new _p(Lx.span,Lx.sourceSpan,Lx.obj.visit(this),Lx.key.visit(this),Lx.value.visit(this))}visitAll(Lx){const q1=[];for(let Qx=0;Qx<Lx.length;++Qx)q1[Qx]=Lx[Qx].visit(this);return q1}visitChain(Lx,q1){return new DA(Lx.span,Lx.sourceSpan,this.visitAll(Lx.expressions))}visitQuote(Lx,q1){return new JF(Lx.span,Lx.sourceSpan,Lx.prefix,Lx.uninterpretedExpression,Lx.location)}},AstMemoryEfficientTransformer:class{visitImplicitReceiver(Lx,q1){return Lx}visitThisReceiver(Lx,q1){return Lx}visitInterpolation(Lx,q1){const Qx=this.visitAll(Lx.expressions);return Qx!==Lx.expressions?new A8(Lx.span,Lx.sourceSpan,Lx.strings,Qx):Lx}visitLiteralPrimitive(Lx,q1){return Lx}visitPropertyRead(Lx,q1){const Qx=Lx.receiver.visit(this);return Qx!==Lx.receiver?new $o(Lx.span,Lx.sourceSpan,Lx.nameSpan,Qx,Lx.name):Lx}visitPropertyWrite(Lx,q1){const Qx=Lx.receiver.visit(this),Be=Lx.value.visit(this);return Qx!==Lx.receiver||Be!==Lx.value?new To(Lx.span,Lx.sourceSpan,Lx.nameSpan,Qx,Lx.name,Be):Lx}visitSafePropertyRead(Lx,q1){const Qx=Lx.receiver.visit(this);return Qx!==Lx.receiver?new Qc(Lx.span,Lx.sourceSpan,Lx.nameSpan,Qx,Lx.name):Lx}visitMethodCall(Lx,q1){const Qx=Lx.receiver.visit(this),Be=this.visitAll(Lx.args);return Qx!==Lx.receiver||Be!==Lx.args?new g4(Lx.span,Lx.sourceSpan,Lx.nameSpan,Qx,Lx.name,Be,Lx.argumentSpan):Lx}visitSafeMethodCall(Lx,q1){const Qx=Lx.receiver.visit(this),Be=this.visitAll(Lx.args);return Qx!==Lx.receiver||Be!==Lx.args?new f_(Lx.span,Lx.sourceSpan,Lx.nameSpan,Qx,Lx.name,Be,Lx.argumentSpan):Lx}visitFunctionCall(Lx,q1){const Qx=Lx.target&&Lx.target.visit(this),Be=this.visitAll(Lx.args);return Qx!==Lx.target||Be!==Lx.args?new TF(Lx.span,Lx.sourceSpan,Qx,Be):Lx}visitLiteralArray(Lx,q1){const Qx=this.visitAll(Lx.expressions);return Qx!==Lx.expressions?new Y4(Lx.span,Lx.sourceSpan,Qx):Lx}visitLiteralMap(Lx,q1){const Qx=this.visitAll(Lx.values);return Qx!==Lx.values?new ZS(Lx.span,Lx.sourceSpan,Lx.keys,Qx):Lx}visitUnary(Lx,q1){const Qx=Lx.expr.visit(this);if(Qx!==Lx.expr)switch(Lx.operator){case\"+\":return R8.createPlus(Lx.span,Lx.sourceSpan,Qx);case\"-\":return R8.createMinus(Lx.span,Lx.sourceSpan,Qx);default:throw new Error(`Unknown unary operator ${Lx.operator}`)}return Lx}visitBinary(Lx,q1){const Qx=Lx.left.visit(this),Be=Lx.right.visit(this);return Qx!==Lx.left||Be!==Lx.right?new WE(Lx.span,Lx.sourceSpan,Lx.operation,Qx,Be):Lx}visitPrefixNot(Lx,q1){const Qx=Lx.expression.visit(this);return Qx!==Lx.expression?new gS(Lx.span,Lx.sourceSpan,Qx):Lx}visitNonNullAssert(Lx,q1){const Qx=Lx.expression.visit(this);return Qx!==Lx.expression?new N6(Lx.span,Lx.sourceSpan,Qx):Lx}visitConditional(Lx,q1){const Qx=Lx.condition.visit(this),Be=Lx.trueExp.visit(this),St=Lx.falseExp.visit(this);return Qx!==Lx.condition||Be!==Lx.trueExp||St!==Lx.falseExp?new _a(Lx.span,Lx.sourceSpan,Qx,Be,St):Lx}visitPipe(Lx,q1){const Qx=Lx.exp.visit(this),Be=this.visitAll(Lx.args);return Qx!==Lx.exp||Be!==Lx.args?new F8(Lx.span,Lx.sourceSpan,Qx,Lx.name,Be,Lx.nameSpan):Lx}visitKeyedRead(Lx,q1){const Qx=Lx.obj.visit(this),Be=Lx.key.visit(this);return Qx!==Lx.obj||Be!==Lx.key?new od(Lx.span,Lx.sourceSpan,Qx,Be):Lx}visitKeyedWrite(Lx,q1){const Qx=Lx.obj.visit(this),Be=Lx.key.visit(this),St=Lx.value.visit(this);return Qx!==Lx.obj||Be!==Lx.key||St!==Lx.value?new _p(Lx.span,Lx.sourceSpan,Qx,Be,St):Lx}visitAll(Lx){const q1=[];let Qx=!1;for(let Be=0;Be<Lx.length;++Be){const St=Lx[Be],_r=St.visit(this);q1[Be]=_r,Qx=Qx||_r!==St}return Qx?q1:Lx}visitChain(Lx,q1){const Qx=this.visitAll(Lx.expressions);return Qx!==Lx.expressions?new DA(Lx.span,Lx.sourceSpan,Qx):Lx}visitQuote(Lx,q1){return Lx}},ParsedProperty:class{constructor(Lx,q1,Qx,Be,St,_r){this.name=Lx,this.expression=q1,this.type=Qx,this.sourceSpan=Be,this.keySpan=St,this.valueSpan=_r,this.isLiteral=this.type===p6.LITERAL_ATTR,this.isAnimation=this.type===p6.ANIMATION}},get ParsedPropertyType(){return p6},ParsedEvent:class{constructor(Lx,q1,Qx,Be,St,_r,gi){this.name=Lx,this.targetOrPhase=q1,this.type=Qx,this.handler=Be,this.sourceSpan=St,this.handlerSpan=_r,this.keySpan=gi}},ParsedVariable:class{constructor(Lx,q1,Qx,Be,St){this.name=Lx,this.value=q1,this.sourceSpan=Qx,this.keySpan=Be,this.valueSpan=St}},BoundElementProperty:class{constructor(Lx,q1,Qx,Be,St,_r,gi,je){this.name=Lx,this.type=q1,this.securityContext=Qx,this.value=Be,this.unit=St,this.sourceSpan=_r,this.keySpan=gi,this.valueSpan=je}}});/**\n\t * @license\n\t * Copyright Google LLC All Rights Reserved.\n\t *\n\t * Use of this source code is governed by an MIT-style license that can be\n\t * found in the LICENSE file at https://angular.io/license\n\t */const P6=41,i6=46,wF=125;function I6(Lx){return 48<=Lx&&Lx<=57}/**\n\t * @license\n\t * Copyright Google LLC All Rights Reserved.\n\t *\n\t * Use of this source code is governed by an MIT-style license that can be\n\t * found in the LICENSE file at https://angular.io/license\n\t */var sd;(function(Lx){Lx[Lx.Character=0]=\"Character\",Lx[Lx.Identifier=1]=\"Identifier\",Lx[Lx.PrivateIdentifier=2]=\"PrivateIdentifier\",Lx[Lx.Keyword=3]=\"Keyword\",Lx[Lx.String=4]=\"String\",Lx[Lx.Operator=5]=\"Operator\",Lx[Lx.Number=6]=\"Number\",Lx[Lx.Error=7]=\"Error\"})(sd||(sd={}));const HF=[\"var\",\"let\",\"as\",\"null\",\"undefined\",\"true\",\"false\",\"if\",\"else\",\"this\"];class aS{constructor(q1,Qx,Be,St,_r){this.index=q1,this.end=Qx,this.type=Be,this.numValue=St,this.strValue=_r}isCharacter(q1){return this.type==sd.Character&&this.numValue==q1}isNumber(){return this.type==sd.Number}isString(){return this.type==sd.String}isOperator(q1){return this.type==sd.Operator&&this.strValue==q1}isIdentifier(){return this.type==sd.Identifier}isPrivateIdentifier(){return this.type==sd.PrivateIdentifier}isKeyword(){return this.type==sd.Keyword}isKeywordLet(){return this.type==sd.Keyword&&this.strValue==\"let\"}isKeywordAs(){return this.type==sd.Keyword&&this.strValue==\"as\"}isKeywordNull(){return this.type==sd.Keyword&&this.strValue==\"null\"}isKeywordUndefined(){return this.type==sd.Keyword&&this.strValue==\"undefined\"}isKeywordTrue(){return this.type==sd.Keyword&&this.strValue==\"true\"}isKeywordFalse(){return this.type==sd.Keyword&&this.strValue==\"false\"}isKeywordThis(){return this.type==sd.Keyword&&this.strValue==\"this\"}isError(){return this.type==sd.Error}toNumber(){return this.type==sd.Number?this.numValue:-1}toString(){switch(this.type){case sd.Character:case sd.Identifier:case sd.Keyword:case sd.Operator:case sd.PrivateIdentifier:case sd.String:case sd.Error:return this.strValue;case sd.Number:return this.numValue.toString();default:return null}}}function B4(Lx,q1,Qx){return new aS(Lx,q1,sd.Character,Qx,String.fromCharCode(Qx))}function Ux(Lx,q1,Qx){return new aS(Lx,q1,sd.Operator,0,Qx)}const ue=new aS(-1,-1,sd.Character,0,\"\");class Xe{constructor(q1){this.input=q1,this.peek=0,this.index=-1,this.length=q1.length,this.advance()}advance(){this.peek=++this.index>=this.length?0:this.input.charCodeAt(this.index)}scanToken(){const q1=this.input,Qx=this.length;let Be=this.peek,St=this.index;for(;Be<=32;){if(++St>=Qx){Be=0;break}Be=q1.charCodeAt(St)}if(this.peek=Be,this.index=St,St>=Qx)return null;if(Ht(Be))return this.scanIdentifier();if(I6(Be))return this.scanNumber(St);const _r=St;switch(Be){case i6:return this.advance(),I6(this.peek)?this.scanNumber(_r):B4(_r,this.index,i6);case 40:case P6:case 123:case wF:case 91:case 93:case 44:case 58:case 59:return this.scanCharacter(_r,Be);case 39:case 34:return this.scanString();case 35:return this.scanPrivateIdentifier();case 43:case 45:case 42:case 47:case 37:case 94:return this.scanOperator(_r,String.fromCharCode(Be));case 63:return this.scanQuestion(_r);case 60:case 62:return this.scanComplexOperator(_r,String.fromCharCode(Be),61,\"=\");case 33:case 61:return this.scanComplexOperator(_r,String.fromCharCode(Be),61,\"=\",61,\"=\");case 38:return this.scanComplexOperator(_r,\"&\",38,\"&\");case 124:return this.scanComplexOperator(_r,\"|\",124,\"|\");case 160:for(;(gi=this.peek)>=9&&gi<=32||gi==160;)this.advance();return this.scanToken()}var gi;return this.advance(),this.error(`Unexpected character [${String.fromCharCode(Be)}]`,0)}scanCharacter(q1,Qx){return this.advance(),B4(q1,this.index,Qx)}scanOperator(q1,Qx){return this.advance(),Ux(q1,this.index,Qx)}scanComplexOperator(q1,Qx,Be,St,_r,gi){this.advance();let je=Qx;return this.peek==Be&&(this.advance(),je+=St),_r!=null&&this.peek==_r&&(this.advance(),je+=gi),Ux(q1,this.index,je)}scanIdentifier(){const q1=this.index;for(this.advance();hr(this.peek);)this.advance();const Qx=this.input.substring(q1,this.index);return HF.indexOf(Qx)>-1?(Be=q1,St=this.index,_r=Qx,new aS(Be,St,sd.Keyword,0,_r)):function(gi,je,Gu){return new aS(gi,je,sd.Identifier,0,Gu)}(q1,this.index,Qx);var Be,St,_r}scanPrivateIdentifier(){const q1=this.index;if(this.advance(),!Ht(this.peek))return this.error(\"Invalid character [#]\",-1);for(;hr(this.peek);)this.advance();const Qx=this.input.substring(q1,this.index);return Be=q1,St=this.index,_r=Qx,new aS(Be,St,sd.PrivateIdentifier,0,_r);var Be,St,_r}scanNumber(q1){let Qx=this.index===q1;for(this.advance();;){if(!I6(this.peek))if(this.peek==i6)Qx=!1;else{if((Be=this.peek)!=101&&Be!=69)break;if(this.advance(),pr(this.peek)&&this.advance(),!I6(this.peek))return this.error(\"Invalid exponent\",-1);Qx=!1}this.advance()}var Be;const St=this.input.substring(q1,this.index),_r=Qx?function(io){const ss=parseInt(io);if(isNaN(ss))throw new Error(\"Invalid integer literal when parsing \"+io);return ss}(St):parseFloat(St);return gi=q1,je=this.index,Gu=_r,new aS(gi,je,sd.Number,Gu,\"\");var gi,je,Gu}scanString(){const q1=this.index,Qx=this.peek;this.advance();let Be=\"\",St=this.index;const _r=this.input;for(;this.peek!=Qx;)if(this.peek==92){let ss;if(Be+=_r.substring(St,this.index),this.advance(),this.peek=this.peek,this.peek==117){const to=_r.substring(this.index+1,this.index+5);if(!/^[0-9a-f]+$/i.test(to))return this.error(`Invalid unicode escape [\\\\u${to}]`,0);ss=parseInt(to,16);for(let Ma=0;Ma<5;Ma++)this.advance()}else ss=Qr(this.peek),this.advance();Be+=String.fromCharCode(ss),St=this.index}else{if(this.peek==0)return this.error(\"Unterminated quote\",0);this.advance()}const gi=_r.substring(St,this.index);return this.advance(),je=q1,Gu=this.index,io=Be+gi,new aS(je,Gu,sd.String,0,io);var je,Gu,io}scanQuestion(q1){this.advance();let Qx=\"?\";return this.peek!==63&&this.peek!==i6||(Qx+=this.peek===i6?\".\":\"?\",this.advance()),Ux(q1,this.index,Qx)}error(q1,Qx){const Be=this.index+Qx;return function(St,_r,gi){return new aS(St,_r,sd.Error,0,gi)}(Be,this.index,`Lexer Error: ${q1} at column ${Be} in expression [${this.input}]`)}}function Ht(Lx){return 97<=Lx&&Lx<=122||65<=Lx&&Lx<=90||Lx==95||Lx==36}function le(Lx){if(Lx.length==0)return!1;const q1=new Xe(Lx);if(!Ht(q1.peek))return!1;for(q1.advance();q1.peek!==0;){if(!hr(q1.peek))return!1;q1.advance()}return!0}function hr(Lx){return function(q1){return q1>=97&&q1<=122||q1>=65&&q1<=90}(Lx)||I6(Lx)||Lx==95||Lx==36}function pr(Lx){return Lx==45||Lx==43}function lt(Lx){return Lx===39||Lx===34||Lx===96}function Qr(Lx){switch(Lx){case 110:return 10;case 102:return 12;case 114:return 13;case 116:return 9;case 118:return 11;default:return Lx}}var Wi=Object.freeze({__proto__:null,get TokenType(){return sd},Lexer:class{tokenize(Lx){const q1=new Xe(Lx),Qx=[];let Be=q1.scanToken();for(;Be!=null;)Qx.push(Be),Be=q1.scanToken();return Qx}},Token:aS,EOF:ue,isIdentifier:le,isQuote:lt});/**\n\t * @license\n\t * Copyright Google LLC All Rights Reserved.\n\t *\n\t * Use of this source code is governed by an MIT-style license that can be\n\t * found in the LICENSE file at https://angular.io/license\n\t */const Io=[/^\\s*$/,/[<>]/,/^[{}]$/,/&(#|[a-z])/i,/^\\/\\//];/**\n\t * @license\n\t * Copyright Google LLC All Rights Reserved.\n\t *\n\t * Use of this source code is governed by an MIT-style license that can be\n\t * found in the LICENSE file at https://angular.io/license\n\t */class Uo{constructor(q1,Qx){this.start=q1,this.end=Qx}static fromArray(q1){return q1?(function(Qx,Be){if(!(Be==null||Array.isArray(Be)&&Be.length==2))throw new Error(`Expected '${Qx}' to be an array, [start, end].`);if(Be!=null){const St=Be[0],_r=Be[1];Io.forEach(gi=>{if(gi.test(St)||gi.test(_r))throw new Error(`['${St}', '${_r}'] contains unusable interpolation symbol.`)})}}(\"interpolation\",q1),new Uo(q1[0],q1[1])):sa}}const sa=new Uo(\"{{\",\"}}\");/**\n\t * @license\n\t * Copyright Google LLC All Rights Reserved.\n\t *\n\t * Use of this source code is governed by an MIT-style license that can be\n\t * found in the LICENSE file at https://angular.io/license\n\t */class fn{constructor(q1,Qx,Be){this.strings=q1,this.expressions=Qx,this.offsets=Be}}class Gn{constructor(q1,Qx,Be){this.templateBindings=q1,this.warnings=Qx,this.errors=Be}}class Ti{constructor(q1){this._lexer=q1,this.errors=[],this.simpleExpressionChecker=ci}parseAction(q1,Qx,Be,St=sa){this._checkNoInterpolation(q1,Qx,St);const _r=this._stripComments(q1),gi=this._lexer.tokenize(this._stripComments(q1)),je=new qo(q1,Qx,Be,gi,_r.length,!0,this.errors,q1.length-_r.length).parseChain();return new $2(je,q1,Qx,Be,this.errors)}parseBinding(q1,Qx,Be,St=sa){const _r=this._parseBindingAst(q1,Qx,Be,St);return new $2(_r,q1,Qx,Be,this.errors)}checkSimpleExpression(q1){const Qx=new this.simpleExpressionChecker;return q1.visit(Qx),Qx.errors}parseSimpleBinding(q1,Qx,Be,St=sa){const _r=this._parseBindingAst(q1,Qx,Be,St),gi=this.checkSimpleExpression(_r);return gi.length>0&&this._reportError(`Host binding expression cannot contain ${gi.join(\" \")}`,q1,Qx),new $2(_r,q1,Qx,Be,this.errors)}_reportError(q1,Qx,Be,St){this.errors.push(new AF(q1,Qx,Be,St))}_parseBindingAst(q1,Qx,Be,St){const _r=this._parseQuote(q1,Qx,Be);if(_r!=null)return _r;this._checkNoInterpolation(q1,Qx,St);const gi=this._stripComments(q1),je=this._lexer.tokenize(gi);return new qo(q1,Qx,Be,je,gi.length,!1,this.errors,q1.length-gi.length).parseChain()}_parseQuote(q1,Qx,Be){if(q1==null)return null;const St=q1.indexOf(\":\");if(St==-1)return null;const _r=q1.substring(0,St).trim();if(!le(_r))return null;const gi=q1.substring(St+1),je=new Y8(0,q1.length);return new JF(je,je.toAbsolute(Be),_r,gi,Qx)}parseTemplateBindings(q1,Qx,Be,St,_r){const gi=this._lexer.tokenize(Qx);return new qo(Qx,Be,_r,gi,Qx.length,!1,this.errors,0).parseTemplateBindings({source:q1,span:new G6(St,St+q1.length)})}parseInterpolation(q1,Qx,Be,St=sa){const{strings:_r,expressions:gi,offsets:je}=this.splitInterpolation(q1,Qx,St);if(gi.length===0)return null;const Gu=[];for(let io=0;io<gi.length;++io){const ss=gi[io].text,to=this._stripComments(ss),Ma=this._lexer.tokenize(to),Ks=new qo(q1,Qx,Be,Ma,to.length,!1,this.errors,je[io]+(ss.length-to.length)).parseChain();Gu.push(Ks)}return this.createInterpolationAst(_r.map(io=>io.text),Gu,q1,Qx,Be)}parseInterpolationExpression(q1,Qx,Be){const St=this._stripComments(q1),_r=this._lexer.tokenize(St),gi=new qo(q1,Qx,Be,_r,St.length,!1,this.errors,0).parseChain();return this.createInterpolationAst([\"\",\"\"],[gi],q1,Qx,Be)}createInterpolationAst(q1,Qx,Be,St,_r){const gi=new Y8(0,Be.length),je=new A8(gi,gi.toAbsolute(_r),q1,Qx);return new $2(je,Be,St,_r,this.errors)}splitInterpolation(q1,Qx,Be=sa){const St=[],_r=[],gi=[];let je=0,Gu=!1,io=!1,{start:ss,end:to}=Be;for(;je<q1.length;)if(Gu){const Ma=je,Ks=Ma+ss.length,Qa=this._getInterpolationEndIndex(q1,to,Ks);if(Qa===-1){Gu=!1,io=!0;break}const Wc=Qa+to.length,la=q1.substring(Ks,Qa);la.trim().length===0&&this._reportError(\"Blank expressions are not allowed in interpolated strings\",q1,`at column ${je} in`,Qx),_r.push({text:la,start:Ma,end:Wc}),gi.push(Ks),je=Wc,Gu=!1}else{const Ma=je;je=q1.indexOf(ss,je),je===-1&&(je=q1.length);const Ks=q1.substring(Ma,je);St.push({text:Ks,start:Ma,end:je}),Gu=!0}if(!Gu)if(io){const Ma=St[St.length-1];Ma.text+=q1.substring(je),Ma.end=q1.length}else St.push({text:q1.substring(je),start:je,end:q1.length});return new fn(St,_r,gi)}wrapLiteralPrimitive(q1,Qx,Be){const St=new Y8(0,q1==null?0:q1.length);return new $2(new rg(St,St.toAbsolute(Be),q1),q1,Qx,Be,this.errors)}_stripComments(q1){const Qx=this._commentStart(q1);return Qx!=null?q1.substring(0,Qx).trim():q1}_commentStart(q1){let Qx=null;for(let Be=0;Be<q1.length-1;Be++){const St=q1.charCodeAt(Be),_r=q1.charCodeAt(Be+1);if(St===47&&_r==47&&Qx==null)return Be;Qx===St?Qx=null:Qx==null&&lt(St)&&(Qx=St)}return null}_checkNoInterpolation(q1,Qx,{start:Be,end:St}){let _r=-1,gi=-1;for(const je of this._forEachUnquotedChar(q1,0))if(_r===-1)q1.startsWith(Be)&&(_r=je);else if(gi=this._getInterpolationEndIndex(q1,St,je),gi>-1)break;_r>-1&&gi>-1&&this._reportError(`Got interpolation (${Be}${St}) where expression was expected`,q1,`at column ${_r} in`,Qx)}_getInterpolationEndIndex(q1,Qx,Be){for(const St of this._forEachUnquotedChar(q1,Be)){if(q1.startsWith(Qx,St))return St;if(q1.startsWith(\"//\",St))return q1.indexOf(Qx,St)}return-1}*_forEachUnquotedChar(q1,Qx){let Be=null,St=0;for(let _r=Qx;_r<q1.length;_r++){const gi=q1[_r];!lt(q1.charCodeAt(_r))||Be!==null&&Be!==gi||St%2!=0?Be===null&&(yield _r):Be=Be===null?gi:null,St=gi===\"\\\\\"?St+1:0}}}var Eo;(function(Lx){Lx[Lx.None=0]=\"None\",Lx[Lx.Writable=1]=\"Writable\"})(Eo||(Eo={}));class qo{constructor(q1,Qx,Be,St,_r,gi,je,Gu){this.input=q1,this.location=Qx,this.absoluteOffset=Be,this.tokens=St,this.inputLength=_r,this.parseAction=gi,this.errors=je,this.offset=Gu,this.rparensExpected=0,this.rbracketsExpected=0,this.rbracesExpected=0,this.context=Eo.None,this.sourceSpanCache=new Map,this.index=0}peek(q1){const Qx=this.index+q1;return Qx<this.tokens.length?this.tokens[Qx]:ue}get next(){return this.peek(0)}get atEOF(){return this.index>=this.tokens.length}get inputIndex(){return this.atEOF?this.currentEndIndex:this.next.index+this.offset}get currentEndIndex(){return this.index>0?this.peek(-1).end+this.offset:this.tokens.length===0?this.inputLength+this.offset:this.next.index+this.offset}get currentAbsoluteOffset(){return this.absoluteOffset+this.inputIndex}span(q1,Qx){let Be=this.currentEndIndex;if(Qx!==void 0&&Qx>this.currentEndIndex&&(Be=Qx),q1>Be){const St=Be;Be=q1,q1=St}return new Y8(q1,Be)}sourceSpan(q1,Qx){const Be=`${q1}@${this.inputIndex}:${Qx}`;return this.sourceSpanCache.has(Be)||this.sourceSpanCache.set(Be,this.span(q1,Qx).toAbsolute(this.absoluteOffset)),this.sourceSpanCache.get(Be)}advance(){this.index++}withContext(q1,Qx){this.context|=q1;const Be=Qx();return this.context^=q1,Be}consumeOptionalCharacter(q1){return!!this.next.isCharacter(q1)&&(this.advance(),!0)}peekKeywordLet(){return this.next.isKeywordLet()}peekKeywordAs(){return this.next.isKeywordAs()}expectCharacter(q1){this.consumeOptionalCharacter(q1)||this.error(`Missing expected ${String.fromCharCode(q1)}`)}consumeOptionalOperator(q1){return!!this.next.isOperator(q1)&&(this.advance(),!0)}expectOperator(q1){this.consumeOptionalOperator(q1)||this.error(`Missing expected operator ${q1}`)}prettyPrintToken(q1){return q1===ue?\"end of input\":`token ${q1}`}expectIdentifierOrKeyword(){const q1=this.next;return q1.isIdentifier()||q1.isKeyword()?(this.advance(),q1.toString()):(q1.isPrivateIdentifier()?this._reportErrorForPrivateIdentifier(q1,\"expected identifier or keyword\"):this.error(`Unexpected ${this.prettyPrintToken(q1)}, expected identifier or keyword`),null)}expectIdentifierOrKeywordOrString(){const q1=this.next;return q1.isIdentifier()||q1.isKeyword()||q1.isString()?(this.advance(),q1.toString()):(q1.isPrivateIdentifier()?this._reportErrorForPrivateIdentifier(q1,\"expected identifier, keyword or string\"):this.error(`Unexpected ${this.prettyPrintToken(q1)}, expected identifier, keyword, or string`),\"\")}parseChain(){const q1=[],Qx=this.inputIndex;for(;this.index<this.tokens.length;){const Be=this.parsePipe();if(q1.push(Be),this.consumeOptionalCharacter(59))for(this.parseAction||this.error(\"Binding expression cannot contain chained expression\");this.consumeOptionalCharacter(59););else this.index<this.tokens.length&&this.error(`Unexpected token '${this.next}'`)}if(q1.length==0){const Be=this.offset,St=this.offset+this.inputLength;return new eE(this.span(Be,St),this.sourceSpan(Be,St))}return q1.length==1?q1[0]:new DA(this.span(Qx),this.sourceSpan(Qx),q1)}parsePipe(){const q1=this.inputIndex;let Qx=this.parseExpression();if(this.consumeOptionalOperator(\"|\")){this.parseAction&&this.error(\"Cannot have a pipe in an action expression\");do{const Be=this.inputIndex;let St,_r,gi=this.expectIdentifierOrKeyword();gi!==null?St=this.sourceSpan(Be):(gi=\"\",_r=this.next.index!==-1?this.next.index:this.inputLength+this.offset,St=new Y8(_r,_r).toAbsolute(this.absoluteOffset));const je=[];for(;this.consumeOptionalCharacter(58);)je.push(this.parseExpression());Qx=new F8(this.span(q1),this.sourceSpan(q1,_r),Qx,gi,je,St)}while(this.consumeOptionalOperator(\"|\"))}return Qx}parseExpression(){return this.parseConditional()}parseConditional(){const q1=this.inputIndex,Qx=this.parseLogicalOr();if(this.consumeOptionalOperator(\"?\")){const Be=this.parsePipe();let St;if(this.consumeOptionalCharacter(58))St=this.parsePipe();else{const _r=this.inputIndex,gi=this.input.substring(q1,_r);this.error(`Conditional expression ${gi} requires all 3 expressions`),St=new eE(this.span(q1),this.sourceSpan(q1))}return new _a(this.span(q1),this.sourceSpan(q1),Qx,Be,St)}return Qx}parseLogicalOr(){const q1=this.inputIndex;let Qx=this.parseLogicalAnd();for(;this.consumeOptionalOperator(\"||\");){const Be=this.parseLogicalAnd();Qx=new WE(this.span(q1),this.sourceSpan(q1),\"||\",Qx,Be)}return Qx}parseLogicalAnd(){const q1=this.inputIndex;let Qx=this.parseNullishCoalescing();for(;this.consumeOptionalOperator(\"&&\");){const Be=this.parseNullishCoalescing();Qx=new WE(this.span(q1),this.sourceSpan(q1),\"&&\",Qx,Be)}return Qx}parseNullishCoalescing(){const q1=this.inputIndex;let Qx=this.parseEquality();for(;this.consumeOptionalOperator(\"??\");){const Be=this.parseEquality();Qx=new WE(this.span(q1),this.sourceSpan(q1),\"??\",Qx,Be)}return Qx}parseEquality(){const q1=this.inputIndex;let Qx=this.parseRelational();for(;this.next.type==sd.Operator;){const Be=this.next.strValue;switch(Be){case\"==\":case\"===\":case\"!=\":case\"!==\":this.advance();const St=this.parseRelational();Qx=new WE(this.span(q1),this.sourceSpan(q1),Be,Qx,St);continue}break}return Qx}parseRelational(){const q1=this.inputIndex;let Qx=this.parseAdditive();for(;this.next.type==sd.Operator;){const Be=this.next.strValue;switch(Be){case\"<\":case\">\":case\"<=\":case\">=\":this.advance();const St=this.parseAdditive();Qx=new WE(this.span(q1),this.sourceSpan(q1),Be,Qx,St);continue}break}return Qx}parseAdditive(){const q1=this.inputIndex;let Qx=this.parseMultiplicative();for(;this.next.type==sd.Operator;){const Be=this.next.strValue;switch(Be){case\"+\":case\"-\":this.advance();let St=this.parseMultiplicative();Qx=new WE(this.span(q1),this.sourceSpan(q1),Be,Qx,St);continue}break}return Qx}parseMultiplicative(){const q1=this.inputIndex;let Qx=this.parsePrefix();for(;this.next.type==sd.Operator;){const Be=this.next.strValue;switch(Be){case\"*\":case\"%\":case\"/\":this.advance();let St=this.parsePrefix();Qx=new WE(this.span(q1),this.sourceSpan(q1),Be,Qx,St);continue}break}return Qx}parsePrefix(){if(this.next.type==sd.Operator){const q1=this.inputIndex;let Qx;switch(this.next.strValue){case\"+\":return this.advance(),Qx=this.parsePrefix(),R8.createPlus(this.span(q1),this.sourceSpan(q1),Qx);case\"-\":return this.advance(),Qx=this.parsePrefix(),R8.createMinus(this.span(q1),this.sourceSpan(q1),Qx);case\"!\":return this.advance(),Qx=this.parsePrefix(),new gS(this.span(q1),this.sourceSpan(q1),Qx)}}return this.parseCallChain()}parseCallChain(){const q1=this.inputIndex;let Qx=this.parsePrimary();for(;;)if(this.consumeOptionalCharacter(i6))Qx=this.parseAccessMemberOrMethodCall(Qx,q1,!1);else if(this.consumeOptionalOperator(\"?.\"))Qx=this.parseAccessMemberOrMethodCall(Qx,q1,!0);else if(this.consumeOptionalCharacter(91))this.withContext(Eo.Writable,()=>{this.rbracketsExpected++;const Be=this.parsePipe();if(Be instanceof eE&&this.error(\"Key access cannot be empty\"),this.rbracketsExpected--,this.expectCharacter(93),this.consumeOptionalOperator(\"=\")){const St=this.parseConditional();Qx=new _p(this.span(q1),this.sourceSpan(q1),Qx,Be,St)}else Qx=new od(this.span(q1),this.sourceSpan(q1),Qx,Be)});else if(this.consumeOptionalCharacter(40)){this.rparensExpected++;const Be=this.parseCallArguments();this.rparensExpected--,this.expectCharacter(P6),Qx=new TF(this.span(q1),this.sourceSpan(q1),Qx,Be)}else{if(!this.consumeOptionalOperator(\"!\"))return Qx;Qx=new N6(this.span(q1),this.sourceSpan(q1),Qx)}}parsePrimary(){const q1=this.inputIndex;if(this.consumeOptionalCharacter(40)){this.rparensExpected++;const Qx=this.parsePipe();return this.rparensExpected--,this.expectCharacter(P6),Qx}if(this.next.isKeywordNull())return this.advance(),new rg(this.span(q1),this.sourceSpan(q1),null);if(this.next.isKeywordUndefined())return this.advance(),new rg(this.span(q1),this.sourceSpan(q1),void 0);if(this.next.isKeywordTrue())return this.advance(),new rg(this.span(q1),this.sourceSpan(q1),!0);if(this.next.isKeywordFalse())return this.advance(),new rg(this.span(q1),this.sourceSpan(q1),!1);if(this.next.isKeywordThis())return this.advance(),new b5(this.span(q1),this.sourceSpan(q1));if(this.consumeOptionalCharacter(91)){this.rbracketsExpected++;const Qx=this.parseExpressionList(93);return this.rbracketsExpected--,this.expectCharacter(93),new Y4(this.span(q1),this.sourceSpan(q1),Qx)}if(this.next.isCharacter(123))return this.parseLiteralMap();if(this.next.isIdentifier())return this.parseAccessMemberOrMethodCall(new ew(this.span(q1),this.sourceSpan(q1)),q1,!1);if(this.next.isNumber()){const Qx=this.next.toNumber();return this.advance(),new rg(this.span(q1),this.sourceSpan(q1),Qx)}if(this.next.isString()){const Qx=this.next.toString();return this.advance(),new rg(this.span(q1),this.sourceSpan(q1),Qx)}return this.next.isPrivateIdentifier()?(this._reportErrorForPrivateIdentifier(this.next,null),new eE(this.span(q1),this.sourceSpan(q1))):this.index>=this.tokens.length?(this.error(`Unexpected end of expression: ${this.input}`),new eE(this.span(q1),this.sourceSpan(q1))):(this.error(`Unexpected token ${this.next}`),new eE(this.span(q1),this.sourceSpan(q1)))}parseExpressionList(q1){const Qx=[];do{if(this.next.isCharacter(q1))break;Qx.push(this.parsePipe())}while(this.consumeOptionalCharacter(44));return Qx}parseLiteralMap(){const q1=[],Qx=[],Be=this.inputIndex;if(this.expectCharacter(123),!this.consumeOptionalCharacter(wF)){this.rbracesExpected++;do{const St=this.next.isString(),_r=this.expectIdentifierOrKeywordOrString();q1.push({key:_r,quoted:St}),this.expectCharacter(58),Qx.push(this.parsePipe())}while(this.consumeOptionalCharacter(44));this.rbracesExpected--,this.expectCharacter(wF)}return new ZS(this.span(Be),this.sourceSpan(Be),q1,Qx)}parseAccessMemberOrMethodCall(q1,Qx,Be=!1){const St=this.inputIndex,_r=this.withContext(Eo.Writable,()=>{var je;const Gu=(je=this.expectIdentifierOrKeyword())!==null&&je!==void 0?je:\"\";return Gu.length===0&&this.error(\"Expected identifier for property access\",q1.span.end),Gu}),gi=this.sourceSpan(St);if(this.consumeOptionalCharacter(40)){const je=this.inputIndex;this.rparensExpected++;const Gu=this.parseCallArguments(),io=this.span(je,this.inputIndex).toAbsolute(this.absoluteOffset);this.expectCharacter(P6),this.rparensExpected--;const ss=this.span(Qx),to=this.sourceSpan(Qx);return Be?new f_(ss,to,gi,q1,_r,Gu,io):new g4(ss,to,gi,q1,_r,Gu,io)}if(Be)return this.consumeOptionalOperator(\"=\")?(this.error(\"The '?.' operator cannot be used in the assignment\"),new eE(this.span(Qx),this.sourceSpan(Qx))):new Qc(this.span(Qx),this.sourceSpan(Qx),gi,q1,_r);if(this.consumeOptionalOperator(\"=\")){if(!this.parseAction)return this.error(\"Bindings cannot contain assignments\"),new eE(this.span(Qx),this.sourceSpan(Qx));const je=this.parseConditional();return new To(this.span(Qx),this.sourceSpan(Qx),gi,q1,_r,je)}return new $o(this.span(Qx),this.sourceSpan(Qx),gi,q1,_r)}parseCallArguments(){if(this.next.isCharacter(P6))return[];const q1=[];do q1.push(this.parsePipe());while(this.consumeOptionalCharacter(44));return q1}expectTemplateBindingKey(){let q1=\"\",Qx=!1;const Be=this.currentAbsoluteOffset;do q1+=this.expectIdentifierOrKeywordOrString(),Qx=this.consumeOptionalOperator(\"-\"),Qx&&(q1+=\"-\");while(Qx);return{source:q1,span:new G6(Be,Be+q1.length)}}parseTemplateBindings(q1){const Qx=[];for(Qx.push(...this.parseDirectiveKeywordBindings(q1));this.index<this.tokens.length;){const Be=this.parseLetBinding();if(Be)Qx.push(Be);else{const St=this.expectTemplateBindingKey(),_r=this.parseAsBinding(St);_r?Qx.push(_r):(St.source=q1.source+St.source.charAt(0).toUpperCase()+St.source.substring(1),Qx.push(...this.parseDirectiveKeywordBindings(St)))}this.consumeStatementTerminator()}return new Gn(Qx,[],this.errors)}parseDirectiveKeywordBindings(q1){const Qx=[];this.consumeOptionalCharacter(58);const Be=this.getDirectiveBoundTarget();let St=this.currentAbsoluteOffset;const _r=this.parseAsBinding(q1);_r||(this.consumeStatementTerminator(),St=this.currentAbsoluteOffset);const gi=new G6(q1.span.start,St);return Qx.push(new vA(gi,q1,Be)),_r&&Qx.push(_r),Qx}getDirectiveBoundTarget(){if(this.next===ue||this.peekKeywordAs()||this.peekKeywordLet())return null;const q1=this.parsePipe(),{start:Qx,end:Be}=q1.span,St=this.input.substring(Qx,Be);return new $2(q1,St,this.location,this.absoluteOffset+Qx,this.errors)}parseAsBinding(q1){if(!this.peekKeywordAs())return null;this.advance();const Qx=this.expectTemplateBindingKey();this.consumeStatementTerminator();const Be=new G6(q1.span.start,this.currentAbsoluteOffset);return new b8(Be,Qx,q1)}parseLetBinding(){if(!this.peekKeywordLet())return null;const q1=this.currentAbsoluteOffset;this.advance();const Qx=this.expectTemplateBindingKey();let Be=null;this.consumeOptionalOperator(\"=\")&&(Be=this.expectTemplateBindingKey()),this.consumeStatementTerminator();const St=new G6(q1,this.currentAbsoluteOffset);return new b8(St,Qx,Be)}consumeStatementTerminator(){this.consumeOptionalCharacter(59)||this.consumeOptionalCharacter(44)}error(q1,Qx=null){this.errors.push(new AF(q1,this.input,this.locationText(Qx),this.location)),this.skip()}locationText(q1=null){return q1==null&&(q1=this.index),q1<this.tokens.length?`at column ${this.tokens[q1].index+1} in`:\"at the end of the expression\"}_reportErrorForPrivateIdentifier(q1,Qx){let Be=`Private identifiers are not supported. Unexpected private identifier: ${q1}`;Qx!==null&&(Be+=`, ${Qx}`),this.error(Be)}skip(){let q1=this.next;for(;!(!(this.index<this.tokens.length)||q1.isCharacter(59)||q1.isOperator(\"|\")||!(this.rparensExpected<=0)&&q1.isCharacter(P6)||!(this.rbracesExpected<=0)&&q1.isCharacter(wF)||!(this.rbracketsExpected<=0)&&q1.isCharacter(93)||this.context&Eo.Writable&&q1.isOperator(\"=\"));)this.next.isError()&&this.errors.push(new AF(this.next.toString(),this.input,this.locationText(),this.location)),this.advance(),q1=this.next}}class ci{constructor(){this.errors=[]}visitImplicitReceiver(q1,Qx){}visitThisReceiver(q1,Qx){}visitInterpolation(q1,Qx){}visitLiteralPrimitive(q1,Qx){}visitPropertyRead(q1,Qx){}visitPropertyWrite(q1,Qx){}visitSafePropertyRead(q1,Qx){}visitMethodCall(q1,Qx){}visitSafeMethodCall(q1,Qx){}visitFunctionCall(q1,Qx){}visitLiteralArray(q1,Qx){this.visitAll(q1.expressions,Qx)}visitLiteralMap(q1,Qx){this.visitAll(q1.values,Qx)}visitUnary(q1,Qx){}visitBinary(q1,Qx){}visitPrefixNot(q1,Qx){}visitNonNullAssert(q1,Qx){}visitConditional(q1,Qx){}visitPipe(q1,Qx){this.errors.push(\"pipes\")}visitKeyedRead(q1,Qx){}visitKeyedWrite(q1,Qx){}visitAll(q1,Qx){return q1.map(Be=>Be.visit(this,Qx))}visitChain(q1,Qx){}visitQuote(q1,Qx){}}class os extends n5{constructor(){super(...arguments),this.errors=[]}visitPipe(){this.errors.push(\"pipes\")}}var $s=Object.freeze({__proto__:null,SplitInterpolation:fn,TemplateBindingParseResult:Gn,Parser:Ti,IvyParser:class extends Ti{constructor(){super(...arguments),this.simpleExpressionChecker=os}},_ParseAST:qo}),Po=F1(function(Lx,q1){Object.defineProperty(q1,\"__esModule\",{value:!0}),q1.getLast=q1.toLowerCamelCase=q1.findBackChar=q1.findFrontChar=q1.fitSpans=q1.getNgType=q1.parseNgInterpolation=q1.parseNgTemplateBindings=q1.parseNgAction=q1.parseNgSimpleBinding=q1.parseNgBinding=q1.NG_PARSE_TEMPLATE_BINDINGS_FAKE_PREFIX=void 0;const Qx=\"angular-estree-parser\";q1.NG_PARSE_TEMPLATE_BINDINGS_FAKE_PREFIX=\"NgEstreeParser\";const Be=[Qx,0];function St(){return new $s.Parser(new Wi.Lexer)}function _r(Ma,Ks){const Qa=St(),{astInput:Wc,comments:la}=Gu(Ma,Qa),{ast:Af,errors:so}=Ks(Wc,Qa);return je(so),{ast:Af,comments:la}}function gi(Ma,Ks){if(Ma&&typeof Ma==\"object\"){if(Array.isArray(Ma))return Ma.forEach(Qa=>gi(Qa,Ks));for(const Qa of Object.keys(Ma)){const Wc=Ma[Qa];Qa===\"span\"?Ks(Wc):gi(Wc,Ks)}}}function je(Ma){if(Ma.length!==0){const[{message:Ks}]=Ma;throw new SyntaxError(Ks.replace(/^Parser Error: | at column \\d+ in [^]*$/g,\"\"))}}function Gu(Ma,Ks){const Qa=Ks._commentStart(Ma);return Qa===null?{astInput:Ma,comments:[]}:{astInput:Ma.slice(0,Qa),comments:[{type:\"Comment\",value:Ma.slice(Qa+\"//\".length),span:{start:Qa,end:Ma.length}}]}}function io({start:Ma,end:Ks},Qa){let Wc=Ma,la=Ks;for(;la!==Wc&&/\\s/.test(Qa[la-1]);)la--;for(;Wc!==la&&/\\s/.test(Qa[Wc]);)Wc++;return{start:Wc,end:la}}function ss({start:Ma,end:Ks},Qa){let Wc=Ma,la=Ks;for(;la!==Qa.length&&/\\s/.test(Qa[la]);)la++;for(;Wc!==0&&/\\s/.test(Qa[Wc-1]);)Wc--;return{start:Wc,end:la}}function to(Ma,Ks){return Ks[Ma.start-1]===\"(\"&&Ks[Ma.end]===\")\"?{start:Ma.start-1,end:Ma.end+1}:Ma}q1.parseNgBinding=function(Ma){return _r(Ma,(Ks,Qa)=>Qa.parseBinding(Ks,...Be))},q1.parseNgSimpleBinding=function(Ma){return _r(Ma,(Ks,Qa)=>Qa.parseSimpleBinding(Ks,...Be))},q1.parseNgAction=function(Ma){return _r(Ma,(Ks,Qa)=>Qa.parseAction(Ks,...Be))},q1.parseNgTemplateBindings=function(Ma){const Ks=St(),{templateBindings:Qa,errors:Wc}=Ks.parseTemplateBindings(q1.NG_PARSE_TEMPLATE_BINDINGS_FAKE_PREFIX,Ma,Qx,0,0);return je(Wc),Qa},q1.parseNgInterpolation=function(Ma){const Ks=St(),{astInput:Qa,comments:Wc}=Gu(Ma,Ks),la=\"{{\",{ast:Af,errors:so}=Ks.parseInterpolation(la+Qa+\"}}\",...Be);je(so);const qu=Af.expressions[0],lf=new Set;return gi(qu,uu=>{lf.has(uu)||(uu.start-=la.length,uu.end-=la.length,lf.add(uu))}),{ast:qu,comments:Wc}},q1.getNgType=function(Ma){return bb.Unary&&Ma instanceof bb.Unary?\"Unary\":Ma instanceof bb.Binary?\"Binary\":Ma instanceof bb.BindingPipe?\"BindingPipe\":Ma instanceof bb.Chain?\"Chain\":Ma instanceof bb.Conditional?\"Conditional\":Ma instanceof bb.EmptyExpr?\"EmptyExpr\":Ma instanceof bb.FunctionCall?\"FunctionCall\":Ma instanceof bb.ImplicitReceiver?\"ImplicitReceiver\":Ma instanceof bb.KeyedRead?\"KeyedRead\":Ma instanceof bb.KeyedWrite?\"KeyedWrite\":Ma instanceof bb.LiteralArray?\"LiteralArray\":Ma instanceof bb.LiteralMap?\"LiteralMap\":Ma instanceof bb.LiteralPrimitive?\"LiteralPrimitive\":Ma instanceof bb.MethodCall?\"MethodCall\":Ma instanceof bb.NonNullAssert?\"NonNullAssert\":Ma instanceof bb.PrefixNot?\"PrefixNot\":Ma instanceof bb.PropertyRead?\"PropertyRead\":Ma instanceof bb.PropertyWrite?\"PropertyWrite\":Ma instanceof bb.Quote?\"Quote\":Ma instanceof bb.SafeMethodCall?\"SafeMethodCall\":Ma instanceof bb.SafePropertyRead?\"SafePropertyRead\":Ma.type},q1.fitSpans=function(Ma,Ks,Qa){let Wc=0;const la={start:Ma.start,end:Ma.end};for(;;){const Af=ss(la,Ks),so=to(Af,Ks);if(Af.start===so.start&&Af.end===so.end)break;la.start=so.start,la.end=so.end,Wc++}return{hasParens:(Qa?Wc-1:Wc)!==0,outerSpan:io(Qa?{start:la.start+1,end:la.end-1}:la,Ks),innerSpan:io(Ma,Ks)}},q1.findFrontChar=function(Ma,Ks,Qa){let Wc=Ks;for(;!Ma.test(Qa[Wc]);)if(--Wc<0)throw new Error(`Cannot find front char ${Ma} from index ${Ks} in ${JSON.stringify(Qa)}`);return Wc},q1.findBackChar=function(Ma,Ks,Qa){let Wc=Ks;for(;!Ma.test(Qa[Wc]);)if(++Wc>=Qa.length)throw new Error(`Cannot find back char ${Ma} from index ${Ks} in ${JSON.stringify(Qa)}`);return Wc},q1.toLowerCamelCase=function(Ma){return Ma.slice(0,1).toLowerCase()+Ma.slice(1)},q1.getLast=function(Ma){return Ma.length===0?void 0:Ma[Ma.length-1]}}),Dr=F1(function(Lx,q1){Object.defineProperty(q1,\"__esModule\",{value:!0}),q1.transformSpan=q1.transform=void 0;function Qx(Be,St,_r=!1,gi=!1){if(!_r){const{start:ss,end:to}=Be;return{start:ss,end:to,loc:{start:St.locator.locationForIndex(ss),end:St.locator.locationForIndex(to)}}}const{outerSpan:je,innerSpan:Gu,hasParens:io}=Po.fitSpans(Be,St.text,gi);return Object.assign({start:Gu.start,end:Gu.end,loc:{start:St.locator.locationForIndex(Gu.start),end:St.locator.locationForIndex(Gu.end)}},io&&{extra:{parenthesized:!0,parenStart:je.start,parenEnd:je.end}})}q1.transform=(Be,St,_r=!1)=>{const gi=Po.getNgType(Be);switch(gi){case\"Unary\":{const{operator:so,expr:qu}=Be;return io(\"UnaryExpression\",{prefix:!0,argument:je(qu),operator:so},Be.span,{hasParentParens:_r})}case\"Binary\":{const{left:so,operation:qu,right:lf}=Be,uu=lf.span.start===lf.span.end,ud=so.span.start===so.span.end;if(uu||ud){const US=so.span.start===so.span.end?je(lf):je(so);return io(\"UnaryExpression\",{prefix:!0,argument:US,operator:uu?\"+\":\"-\"},{start:Be.span.start,end:Af(US)},{hasParentParens:_r})}const fm=je(so),w2=je(lf);return io(qu===\"&&\"||qu===\"||\"?\"LogicalExpression\":\"BinaryExpression\",{left:fm,right:w2,operator:qu},{start:la(fm),end:Af(w2)},{hasParentParens:_r})}case\"BindingPipe\":{const{exp:so,name:qu,args:lf}=Be,uu=je(so),ud=Ma(/\\S/,Ma(/\\|/,Af(uu))+1),fm=io(\"Identifier\",{name:qu},{start:ud,end:ud+qu.length}),w2=lf.map(je);return io(\"NGPipeExpression\",{left:uu,right:fm,arguments:w2},{start:la(uu),end:Af(w2.length===0?fm:Po.getLast(w2))},{hasParentParens:_r})}case\"Chain\":{const{expressions:so}=Be;return io(\"NGChainedExpression\",{expressions:so.map(je)},Be.span,{hasParentParens:_r})}case\"Comment\":{const{value:so}=Be;return io(\"CommentLine\",{value:so},Be.span,{processSpan:!1})}case\"Conditional\":{const{condition:so,trueExp:qu,falseExp:lf}=Be,uu=je(so),ud=je(qu),fm=je(lf);return io(\"ConditionalExpression\",{test:uu,consequent:ud,alternate:fm},{start:la(uu),end:Af(fm)},{hasParentParens:_r})}case\"EmptyExpr\":return io(\"NGEmptyExpression\",{},Be.span,{hasParentParens:_r});case\"FunctionCall\":{const{target:so,args:qu}=Be,lf=qu.length===1?[Gu(qu[0])]:qu.map(je),uu=je(so);return io(\"CallExpression\",{callee:uu,arguments:lf},{start:la(uu),end:Be.span.end},{hasParentParens:_r})}case\"ImplicitReceiver\":return io(\"ThisExpression\",{},Be.span,{hasParentParens:_r});case\"KeyedRead\":{const{obj:so,key:qu}=Be;return ss(so,je(qu),{computed:!0,optional:!1},{end:Be.span.end,hasParentParens:_r})}case\"LiteralArray\":{const{expressions:so}=Be;return io(\"ArrayExpression\",{elements:so.map(je)},Be.span,{hasParentParens:_r})}case\"LiteralMap\":{const{keys:so,values:qu}=Be,lf=qu.map(ud=>je(ud)),uu=so.map(({key:ud,quoted:fm},w2)=>{const US=lf[w2],j8={start:Ma(/\\S/,w2===0?Be.span.start+1:Ma(/,/,Af(lf[w2-1]))+1),end:to(/\\S/,to(/:/,la(US)-1)-1)+1},tE=fm?io(\"StringLiteral\",{value:ud},j8):io(\"Identifier\",{name:ud},j8);return io(\"ObjectProperty\",{key:tE,value:US,method:!1,shorthand:!1,computed:!1},{start:la(tE),end:Af(US)})});return io(\"ObjectExpression\",{properties:uu},Be.span,{hasParentParens:_r})}case\"LiteralPrimitive\":{const{value:so}=Be;switch(typeof so){case\"boolean\":return io(\"BooleanLiteral\",{value:so},Be.span,{hasParentParens:_r});case\"number\":return io(\"NumericLiteral\",{value:so},Be.span,{hasParentParens:_r});case\"object\":return io(\"NullLiteral\",{},Be.span,{hasParentParens:_r});case\"string\":return io(\"StringLiteral\",{value:so},Be.span,{hasParentParens:_r});case\"undefined\":return io(\"Identifier\",{name:\"undefined\"},Be.span,{hasParentParens:_r});default:throw new Error(\"Unexpected LiteralPrimitive value type \"+typeof so)}}case\"MethodCall\":case\"SafeMethodCall\":{const so=gi===\"SafeMethodCall\",{receiver:qu,name:lf,args:uu}=Be,ud=uu.length===1?[Gu(uu[0])]:uu.map(je),fm=to(/\\S/,to(/\\(/,(ud.length===0?to(/\\)/,Be.span.end-1):la(ud[0]))-1)-1)+1,w2=ss(qu,io(\"Identifier\",{name:lf},{start:fm-lf.length,end:fm}),{computed:!1,optional:so}),US=Qa(w2);return io(so||US?\"OptionalCallExpression\":\"CallExpression\",{callee:w2,arguments:ud},{start:la(w2),end:Be.span.end},{hasParentParens:_r})}case\"NonNullAssert\":{const{expression:so}=Be,qu=je(so);return io(\"TSNonNullExpression\",{expression:qu},{start:la(qu),end:Be.span.end},{hasParentParens:_r})}case\"PrefixNot\":{const{expression:so}=Be,qu=je(so);return io(\"UnaryExpression\",{prefix:!0,operator:\"!\",argument:qu},{start:Be.span.start,end:Af(qu)},{hasParentParens:_r})}case\"PropertyRead\":case\"SafePropertyRead\":{const so=gi===\"SafePropertyRead\",{receiver:qu,name:lf}=Be,uu=to(/\\S/,Be.span.end-1)+1;return ss(qu,io(\"Identifier\",{name:lf},{start:uu-lf.length,end:uu},Ks(qu)?{hasParentParens:_r}:{}),{computed:!1,optional:so},{hasParentParens:_r})}case\"KeyedWrite\":{const{obj:so,key:qu,value:lf}=Be,uu=je(qu),ud=je(lf),fm=ss(so,uu,{computed:!0,optional:!1},{end:Ma(/\\]/,Af(uu))+1});return io(\"AssignmentExpression\",{left:fm,operator:\"=\",right:ud},{start:la(fm),end:Af(ud)},{hasParentParens:_r})}case\"PropertyWrite\":{const{receiver:so,name:qu,value:lf}=Be,uu=je(lf),ud=to(/\\S/,to(/=/,la(uu)-1)-1)+1,fm=ss(so,io(\"Identifier\",{name:qu},{start:ud-qu.length,end:ud}),{computed:!1,optional:!1});return io(\"AssignmentExpression\",{left:fm,operator:\"=\",right:uu},{start:la(fm),end:Af(uu)},{hasParentParens:_r})}case\"Quote\":{const{prefix:so,uninterpretedExpression:qu}=Be;return io(\"NGQuotedExpression\",{prefix:so,value:qu},Be.span,{hasParentParens:_r})}default:throw new Error(`Unexpected node ${gi}`)}function je(so){return q1.transform(so,St)}function Gu(so){return q1.transform(so,St,!0)}function io(so,qu,lf,{processSpan:uu=!0,hasParentParens:ud=!1}={}){const fm=Object.assign(Object.assign({type:so},Qx(lf,St,uu,ud)),qu);switch(so){case\"Identifier\":{const w2=fm;w2.loc.identifierName=w2.name;break}case\"NumericLiteral\":{const w2=fm;w2.extra=Object.assign(Object.assign({},w2.extra),{raw:St.text.slice(w2.start,w2.end),rawValue:w2.value});break}case\"StringLiteral\":{const w2=fm;w2.extra=Object.assign(Object.assign({},w2.extra),{raw:St.text.slice(w2.start,w2.end),rawValue:w2.value});break}}return fm}function ss(so,qu,lf,{end:uu=Af(qu),hasParentParens:ud=!1}={}){if(Ks(so))return qu;const fm=je(so),w2=Qa(fm);return io(lf.optional||w2?\"OptionalMemberExpression\":\"MemberExpression\",Object.assign({object:fm,property:qu,computed:lf.computed},lf.optional?{optional:!0}:w2?{optional:!1}:null),{start:la(fm),end:uu},{hasParentParens:ud})}function to(so,qu){return Po.findFrontChar(so,qu,St.text)}function Ma(so,qu){return Po.findBackChar(so,qu,St.text)}function Ks(so){return so.span.start>=so.span.end||/^\\s+$/.test(St.text.slice(so.span.start,so.span.end))}function Qa(so){return(so.type===\"OptionalCallExpression\"||so.type===\"OptionalMemberExpression\")&&!Wc(so)}function Wc(so){return so.extra&&so.extra.parenthesized}function la(so){return Wc(so)?so.extra.parenStart:so.start}function Af(so){return Wc(so)?so.extra.parenEnd:so.end}},q1.transformSpan=Qx}),Nm=F1(function(Lx,q1){Object.defineProperty(q1,\"__esModule\",{value:!0}),q1.transformTemplateBindings=void 0,q1.transformTemplateBindings=function(Qx,Be){Qx.forEach(function(la){Wc(la.key.span),Qa(la)&&la.value&&Wc(la.value.span)});const[St]=Qx,{key:_r}=St,gi=Be.text.slice(St.sourceSpan.start,St.sourceSpan.end).trim().length===0?Qx.slice(1):Qx,je=[];let Gu=null;for(let la=0;la<gi.length;la++){const Af=gi[la];if(Gu&&Ks(Gu)&&Qa(Af)&&Af.value&&Af.value.source===Gu.key.source){const so=to(\"NGMicrosyntaxKey\",{name:Af.key.source},Af.key.span),qu=(ud,fm)=>Object.assign(Object.assign({},ud),Dr.transformSpan({start:ud.start,end:fm},Be)),lf=ud=>Object.assign(Object.assign({},qu(ud,so.end)),{alias:so}),uu=je.pop();if(uu.type===\"NGMicrosyntaxExpression\")je.push(lf(uu));else{if(uu.type!==\"NGMicrosyntaxKeyedExpression\")throw new Error(`Unexpected type ${uu.type}`);{const ud=lf(uu.expression);je.push(qu(Object.assign(Object.assign({},uu),{expression:ud}),ud.end))}}}else je.push(io(Af,la));Gu=Af}return to(\"NGMicrosyntax\",{body:je},je.length===0?Qx[0].sourceSpan:{start:je[0].start,end:je[je.length-1].end});function io(la,Af){if(Ks(la)){const{key:so,value:qu}=la;return qu?Af===0?to(\"NGMicrosyntaxExpression\",{expression:ss(qu.ast),alias:null},qu.sourceSpan):to(\"NGMicrosyntaxKeyedExpression\",{key:to(\"NGMicrosyntaxKey\",{name:Ma(so.source)},so.span),expression:to(\"NGMicrosyntaxExpression\",{expression:ss(qu.ast),alias:null},qu.sourceSpan)},{start:so.span.start,end:qu.sourceSpan.end}):to(\"NGMicrosyntaxKey\",{name:Ma(so.source)},so.span)}{const{key:so,sourceSpan:qu}=la;if(/^let\\s$/.test(Be.text.slice(qu.start,qu.start+4))){const{value:lf}=la;return to(\"NGMicrosyntaxLet\",{key:to(\"NGMicrosyntaxKey\",{name:so.source},so.span),value:lf?to(\"NGMicrosyntaxKey\",{name:lf.source},lf.span):null},{start:qu.start,end:lf?lf.span.end:so.span.end})}{const lf=function(uu){if(!uu.value||uu.value.source!==Po.NG_PARSE_TEMPLATE_BINDINGS_FAKE_PREFIX)return uu.value;const ud=Po.findBackChar(/\\S/,uu.sourceSpan.start,Be.text);return{source:\"$implicit\",span:{start:ud,end:ud}}}(la);return to(\"NGMicrosyntaxAs\",{key:to(\"NGMicrosyntaxKey\",{name:lf.source},lf.span),alias:to(\"NGMicrosyntaxKey\",{name:so.source},so.span)},{start:lf.span.start,end:so.span.end})}}}function ss(la){return Dr.transform(la,Be)}function to(la,Af,so,qu=!0){return Object.assign(Object.assign({type:la},Dr.transformSpan(so,Be,qu)),Af)}function Ma(la){return Po.toLowerCamelCase(la.slice(_r.source.length))}function Ks(la){return la instanceof bb.ExpressionBinding}function Qa(la){return la instanceof bb.VariableBinding}function Wc(la){if(Be.text[la.start]!=='\"'&&Be.text[la.start]!==\"'\")return;const Af=Be.text[la.start];let so=!1;for(let qu=la.start+1;qu<Be.text.length;qu++)switch(Be.text[qu]){case Af:if(!so)return void(la.end=qu+1);default:so=!1;break;case\"\\\\\":so=!so}}}}),Og=F1(function(Lx,q1){function Qx(Be,St){const{ast:_r,comments:gi}=St(Be),je=new FF.Context(Be),Gu=ss=>Dr.transform(ss,je),io=Gu(_r);return io.comments=gi.map(Gu),io}Object.defineProperty(q1,\"__esModule\",{value:!0}),q1.parseTemplateBindings=q1.parseAction=q1.parseInterpolation=q1.parseSimpleBinding=q1.parseBinding=void 0,q1.parseBinding=function(Be){return Qx(Be,Po.parseNgBinding)},q1.parseSimpleBinding=function(Be){return Qx(Be,Po.parseNgSimpleBinding)},q1.parseInterpolation=function(Be){return Qx(Be,Po.parseNgInterpolation)},q1.parseAction=function(Be){return Qx(Be,Po.parseNgAction)},q1.parseTemplateBindings=function(Be){return Nm.transformTemplateBindings(Po.parseNgTemplateBindings(Be),new FF.Context(Be))}});const{locStart:Bg,locEnd:_S}=O4;function f8(Lx){return{astFormat:\"estree\",parse:(q1,Qx,Be)=>{const St=Lx(q1,Og);return{type:\"NGRoot\",node:Be.parser===\"__ng_action\"&&St.type!==\"NGChainedExpression\"?Object.assign(Object.assign({},St),{},{type:\"NGChainedExpression\",expressions:[St]}):St}},locStart:Bg,locEnd:_S}}return{parsers:{__ng_action:f8((Lx,q1)=>q1.parseAction(Lx)),__ng_binding:f8((Lx,q1)=>q1.parseBinding(Lx)),__ng_interpolation:f8((Lx,q1)=>q1.parseInterpolation(Lx)),__ng_directive:f8((Lx,q1)=>q1.parseTemplateBindings(Lx))}}})})(aH);var Gy0={exports:{}};(function(a,u){(function(c,b){a.exports=b()})($F,function(){var c=function(S,N0){const P1=new SyntaxError(S+\" (\"+N0.start.line+\":\"+N0.start.column+\")\");return P1.loc=N0,P1},b=function(...S){let N0;for(const[P1,zx]of S.entries())try{return{result:zx()}}catch($e){P1===0&&(N0=$e)}return{error:N0}},R=S=>typeof S==\"string\"?S.replace((({onlyFirst:N0=!1}={})=>{const P1=[\"[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:[a-zA-Z\\\\d]*(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)\",\"(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))\"].join(\"|\");return new RegExp(P1,N0?void 0:\"g\")})(),\"\"):S;const K=S=>!Number.isNaN(S)&&S>=4352&&(S<=4447||S===9001||S===9002||11904<=S&&S<=12871&&S!==12351||12880<=S&&S<=19903||19968<=S&&S<=42182||43360<=S&&S<=43388||44032<=S&&S<=55203||63744<=S&&S<=64255||65040<=S&&S<=65049||65072<=S&&S<=65131||65281<=S&&S<=65376||65504<=S&&S<=65510||110592<=S&&S<=110593||127488<=S&&S<=127569||131072<=S&&S<=262141);var s0=K,Y=K;s0.default=Y;const F0=S=>{if(typeof S!=\"string\"||S.length===0||(S=R(S)).length===0)return 0;S=S.replace(/\\uD83C\\uDFF4\\uDB40\\uDC67\\uDB40\\uDC62(?:\\uDB40\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67|\\uDB40\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDB40\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73)\\uDB40\\uDC7F|\\uD83D\\uDC68(?:\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C\\uDFFB|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFE])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83D\\uDC68|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D[\\uDC66\\uDC67])|[\\u2695\\u2696\\u2708]\\uFE0F|\\uD83D[\\uDC66\\uDC67]|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|(?:\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708])\\uFE0F|\\uD83C\\uDFFB\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C[\\uDFFB-\\uDFFF])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFB\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)\\uD83C\\uDFFB|\\uD83E\\uDDD1(?:\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1)|(?:\\uD83E\\uDDD1\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69]))(?:\\uD83C[\\uDFFB-\\uDFFE])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83D\\uDC69(?:\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFB\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFC-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D(?:\\uD83D[\\uDC68\\uDC69])|\\uD83D[\\uDC68\\uDC69])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|(?:\\uD83E\\uDDD1\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D\\uDC41\\uFE0F\\u200D\\uD83D\\uDDE8|\\uD83D\\uDC69(?:\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708])|(?:(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)\\uFE0F|\\uD83D\\uDC6F|\\uD83E[\\uDD3C\\uDDDE\\uDDDF])\\u200D[\\u2640\\u2642]|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|\\u200D[\\u2640\\u2642])|\\uD83C\\uDFF4\\u200D\\u2620)\\uFE0F|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|\\uD83C\\uDFF3\\uFE0F\\u200D\\uD83C\\uDF08|\\uD83D\\uDC15\\u200D\\uD83E\\uDDBA|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67|\\uD83C\\uDDFD\\uD83C\\uDDF0|\\uD83C\\uDDF4\\uD83C\\uDDF2|\\uD83C\\uDDF6\\uD83C\\uDDE6|[#\\*0-9]\\uFE0F\\u20E3|\\uD83C\\uDDE7(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDF9(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF])|\\uD83C\\uDDEA(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA])|\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF7(?:\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC])|\\uD83D\\uDC69(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF2(?:\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF])|\\uD83C\\uDDE6(?:\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF])|\\uD83C\\uDDF0(?:\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDED(?:\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA])|\\uD83C\\uDDE9(?:\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF])|\\uD83C\\uDDFE(?:\\uD83C[\\uDDEA\\uDDF9])|\\uD83C\\uDDEC(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE])|\\uD83C\\uDDF8(?:\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF])|\\uD83C\\uDDEB(?:\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7])|\\uD83C\\uDDF5(?:\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE])|\\uD83C\\uDDFB(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA])|\\uD83C\\uDDF3(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF])|\\uD83C\\uDDE8(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF5\\uDDF7\\uDDFA-\\uDDFF])|\\uD83C\\uDDF1(?:\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE])|\\uD83C\\uDDFF(?:\\uD83C[\\uDDE6\\uDDF2\\uDDFC])|\\uD83C\\uDDFC(?:\\uD83C[\\uDDEB\\uDDF8])|\\uD83C\\uDDFA(?:\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF])|\\uD83C\\uDDEE(?:\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9])|\\uD83C\\uDDEF(?:\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5])|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u261D\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2\\uDFC7]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC70\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDCAA\\uDD74\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1C\\uDD1E\\uDD1F\\uDD30-\\uDD36\\uDDB5\\uDDB6\\uDDBB\\uDDD2-\\uDDD5])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u231A\\u231B\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u25FE\\u2614\\u2615\\u2648-\\u2653\\u267F\\u2693\\u26A1\\u26AA\\u26AB\\u26BD\\u26BE\\u26C4\\u26C5\\u26CE\\u26D4\\u26EA\\u26F2\\u26F3\\u26F5\\u26FA\\u26FD\\u2705\\u270A\\u270B\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2795-\\u2797\\u27B0\\u27BF\\u2B1B\\u2B1C\\u2B50\\u2B55]|\\uD83C[\\uDC04\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF7C\\uDF7E-\\uDF93\\uDFA0-\\uDFCA\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF4\\uDFF8-\\uDFFF]|\\uD83D[\\uDC00-\\uDC3E\\uDC40\\uDC42-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDD7A\\uDD95\\uDD96\\uDDA4\\uDDFB-\\uDE4F\\uDE80-\\uDEC5\\uDECC\\uDED0-\\uDED2\\uDED5\\uDEEB\\uDEEC\\uDEF4-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])|(?:[#\\*0-9\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u231A\\u231B\\u2328\\u23CF\\u23E9-\\u23F3\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB-\\u25FE\\u2600-\\u2604\\u260E\\u2611\\u2614\\u2615\\u2618\\u261D\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u2648-\\u2653\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u267F\\u2692-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A1\\u26AA\\u26AB\\u26B0\\u26B1\\u26BD\\u26BE\\u26C4\\u26C5\\u26C8\\u26CE\\u26CF\\u26D1\\u26D3\\u26D4\\u26E9\\u26EA\\u26F0-\\u26F5\\u26F7-\\u26FA\\u26FD\\u2702\\u2705\\u2708-\\u270D\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2728\\u2733\\u2734\\u2744\\u2747\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2763\\u2764\\u2795-\\u2797\\u27A1\\u27B0\\u27BF\\u2934\\u2935\\u2B05-\\u2B07\\u2B1B\\u2B1C\\u2B50\\u2B55\\u3030\\u303D\\u3297\\u3299]|\\uD83C[\\uDC04\\uDCCF\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE02\\uDE1A\\uDE2F\\uDE32-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF21\\uDF24-\\uDF93\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E-\\uDFF0\\uDFF3-\\uDFF5\\uDFF7-\\uDFFF]|\\uD83D[\\uDC00-\\uDCFD\\uDCFF-\\uDD3D\\uDD49-\\uDD4E\\uDD50-\\uDD67\\uDD6F\\uDD70\\uDD73-\\uDD7A\\uDD87\\uDD8A-\\uDD8D\\uDD90\\uDD95\\uDD96\\uDDA4\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA-\\uDE4F\\uDE80-\\uDEC5\\uDECB-\\uDED2\\uDED5\\uDEE0-\\uDEE5\\uDEE9\\uDEEB\\uDEEC\\uDEF0\\uDEF3-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])\\uFE0F|(?:[\\u261D\\u26F9\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2-\\uDFC4\\uDFC7\\uDFCA-\\uDFCC]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66-\\uDC78\\uDC7C\\uDC81-\\uDC83\\uDC85-\\uDC87\\uDC8F\\uDC91\\uDCAA\\uDD74\\uDD75\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE45-\\uDE47\\uDE4B-\\uDE4F\\uDEA3\\uDEB4-\\uDEB6\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1F\\uDD26\\uDD30-\\uDD39\\uDD3C-\\uDD3E\\uDDB5\\uDDB6\\uDDB8\\uDDB9\\uDDBB\\uDDCD-\\uDDCF\\uDDD1-\\uDDDD])/g,\"  \");let N0=0;for(let P1=0;P1<S.length;P1++){const zx=S.codePointAt(P1);zx<=31||zx>=127&&zx<=159||zx>=768&&zx<=879||(zx>65535&&P1++,N0+=s0(zx)?2:1)}return N0};var J0=F0,e1=F0;J0.default=e1;var t1=S=>{if(typeof S!=\"string\")throw new TypeError(\"Expected a string\");return S.replace(/[|\\\\{}()[\\]^$+*?.]/g,\"\\\\$&\").replace(/-/g,\"\\\\x2d\")},r1=S=>S[S.length-1];function F1(S,N0){if(S==null)return{};var P1,zx,$e=function(qr,ji){if(qr==null)return{};var B0,d,N={},C0=Object.keys(qr);for(d=0;d<C0.length;d++)B0=C0[d],ji.indexOf(B0)>=0||(N[B0]=qr[B0]);return N}(S,N0);if(Object.getOwnPropertySymbols){var bt=Object.getOwnPropertySymbols(S);for(zx=0;zx<bt.length;zx++)P1=bt[zx],N0.indexOf(P1)>=0||Object.prototype.propertyIsEnumerable.call(S,P1)&&($e[P1]=S[P1])}return $e}var a1=typeof globalThis!=\"undefined\"?globalThis:typeof window!=\"undefined\"?window:typeof $F!=\"undefined\"?$F:typeof self!=\"undefined\"?self:{};function D1(S){return S&&Object.prototype.hasOwnProperty.call(S,\"default\")?S.default:S}function W0(S){var N0={exports:{}};return S(N0,N0.exports),N0.exports}var i1=function(S){return S&&S.Math==Math&&S},x1=i1(typeof globalThis==\"object\"&&globalThis)||i1(typeof window==\"object\"&&window)||i1(typeof self==\"object\"&&self)||i1(typeof a1==\"object\"&&a1)||function(){return this}()||Function(\"return this\")(),ux=function(S){try{return!!S()}catch{return!0}},K1=!ux(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7}),ee={}.propertyIsEnumerable,Gx=Object.getOwnPropertyDescriptor,ve={f:Gx&&!ee.call({1:2},1)?function(S){var N0=Gx(this,S);return!!N0&&N0.enumerable}:ee},qe=function(S,N0){return{enumerable:!(1&S),configurable:!(2&S),writable:!(4&S),value:N0}},Jt={}.toString,Ct=function(S){return Jt.call(S).slice(8,-1)},vn=\"\".split,_n=ux(function(){return!Object(\"z\").propertyIsEnumerable(0)})?function(S){return Ct(S)==\"String\"?vn.call(S,\"\"):Object(S)}:Object,Tr=function(S){if(S==null)throw TypeError(\"Can't call method on \"+S);return S},Lr=function(S){return _n(Tr(S))},Pn=function(S){return typeof S==\"object\"?S!==null:typeof S==\"function\"},En=function(S,N0){if(!Pn(S))return S;var P1,zx;if(N0&&typeof(P1=S.toString)==\"function\"&&!Pn(zx=P1.call(S))||typeof(P1=S.valueOf)==\"function\"&&!Pn(zx=P1.call(S))||!N0&&typeof(P1=S.toString)==\"function\"&&!Pn(zx=P1.call(S)))return zx;throw TypeError(\"Can't convert object to primitive value\")},cr=function(S){return Object(Tr(S))},Ea={}.hasOwnProperty,Qn=Object.hasOwn||function(S,N0){return Ea.call(cr(S),N0)},Bu=x1.document,Au=Pn(Bu)&&Pn(Bu.createElement),Ec=!K1&&!ux(function(){return Object.defineProperty((S=\"div\",Au?Bu.createElement(S):{}),\"a\",{get:function(){return 7}}).a!=7;var S}),kn=Object.getOwnPropertyDescriptor,pu={f:K1?kn:function(S,N0){if(S=Lr(S),N0=En(N0,!0),Ec)try{return kn(S,N0)}catch{}if(Qn(S,N0))return qe(!ve.f.call(S,N0),S[N0])}},mi=function(S){if(!Pn(S))throw TypeError(String(S)+\" is not an object\");return S},ma=Object.defineProperty,ja={f:K1?ma:function(S,N0,P1){if(mi(S),N0=En(N0,!0),mi(P1),Ec)try{return ma(S,N0,P1)}catch{}if(\"get\"in P1||\"set\"in P1)throw TypeError(\"Accessors not supported\");return\"value\"in P1&&(S[N0]=P1.value),S}},Ua=K1?function(S,N0,P1){return ja.f(S,N0,qe(1,P1))}:function(S,N0,P1){return S[N0]=P1,S},aa=function(S,N0){try{Ua(x1,S,N0)}catch{x1[S]=N0}return N0},Os=\"__core-js_shared__\",gn=x1[Os]||aa(Os,{}),et=Function.toString;typeof gn.inspectSource!=\"function\"&&(gn.inspectSource=function(S){return et.call(S)});var Sr,un,jn,ea,wa=gn.inspectSource,as=x1.WeakMap,zo=typeof as==\"function\"&&/native code/.test(wa(as)),vo=W0(function(S){(S.exports=function(N0,P1){return gn[N0]||(gn[N0]=P1!==void 0?P1:{})})(\"versions\",[]).push({version:\"3.14.0\",mode:\"global\",copyright:\"\\xA9 2021 Denis Pushkarev (zloirock.ru)\"})}),vi=0,jr=Math.random(),Hn=function(S){return\"Symbol(\"+String(S===void 0?\"\":S)+\")_\"+(++vi+jr).toString(36)},wi=vo(\"keys\"),jo={},bs=\"Object already initialized\",Ha=x1.WeakMap;if(zo||gn.state){var qn=gn.state||(gn.state=new Ha),Ki=qn.get,es=qn.has,Ns=qn.set;Sr=function(S,N0){if(es.call(qn,S))throw new TypeError(bs);return N0.facade=S,Ns.call(qn,S,N0),N0},un=function(S){return Ki.call(qn,S)||{}},jn=function(S){return es.call(qn,S)}}else{var ju=wi[ea=\"state\"]||(wi[ea]=Hn(ea));jo[ju]=!0,Sr=function(S,N0){if(Qn(S,ju))throw new TypeError(bs);return N0.facade=S,Ua(S,ju,N0),N0},un=function(S){return Qn(S,ju)?S[ju]:{}},jn=function(S){return Qn(S,ju)}}var Tc,bu,mc={set:Sr,get:un,has:jn,enforce:function(S){return jn(S)?un(S):Sr(S,{})},getterFor:function(S){return function(N0){var P1;if(!Pn(N0)||(P1=un(N0)).type!==S)throw TypeError(\"Incompatible receiver, \"+S+\" required\");return P1}}},vc=W0(function(S){var N0=mc.get,P1=mc.enforce,zx=String(String).split(\"String\");(S.exports=function($e,bt,qr,ji){var B0,d=!!ji&&!!ji.unsafe,N=!!ji&&!!ji.enumerable,C0=!!ji&&!!ji.noTargetGet;typeof qr==\"function\"&&(typeof bt!=\"string\"||Qn(qr,\"name\")||Ua(qr,\"name\",bt),(B0=P1(qr)).source||(B0.source=zx.join(typeof bt==\"string\"?bt:\"\"))),$e!==x1?(d?!C0&&$e[bt]&&(N=!0):delete $e[bt],N?$e[bt]=qr:Ua($e,bt,qr)):N?$e[bt]=qr:aa(bt,qr)})(Function.prototype,\"toString\",function(){return typeof this==\"function\"&&N0(this).source||wa(this)})}),Lc=x1,i2=function(S){return typeof S==\"function\"?S:void 0},su=function(S,N0){return arguments.length<2?i2(Lc[S])||i2(x1[S]):Lc[S]&&Lc[S][N0]||x1[S]&&x1[S][N0]},T2=Math.ceil,Cu=Math.floor,mr=function(S){return isNaN(S=+S)?0:(S>0?Cu:T2)(S)},Dn=Math.min,ki=function(S){return S>0?Dn(mr(S),9007199254740991):0},us=Math.max,ac=Math.min,_s=function(S){return function(N0,P1,zx){var $e,bt=Lr(N0),qr=ki(bt.length),ji=function(B0,d){var N=mr(B0);return N<0?us(N+d,0):ac(N,d)}(zx,qr);if(S&&P1!=P1){for(;qr>ji;)if(($e=bt[ji++])!=$e)return!0}else for(;qr>ji;ji++)if((S||ji in bt)&&bt[ji]===P1)return S||ji||0;return!S&&-1}},cf={includes:_s(!0),indexOf:_s(!1)}.indexOf,Df=[\"constructor\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"toLocaleString\",\"toString\",\"valueOf\"].concat(\"length\",\"prototype\"),gp={f:Object.getOwnPropertyNames||function(S){return function(N0,P1){var zx,$e=Lr(N0),bt=0,qr=[];for(zx in $e)!Qn(jo,zx)&&Qn($e,zx)&&qr.push(zx);for(;P1.length>bt;)Qn($e,zx=P1[bt++])&&(~cf(qr,zx)||qr.push(zx));return qr}(S,Df)}},_2={f:Object.getOwnPropertySymbols},c_=su(\"Reflect\",\"ownKeys\")||function(S){var N0=gp.f(mi(S)),P1=_2.f;return P1?N0.concat(P1(S)):N0},pC=function(S,N0){for(var P1=c_(N0),zx=ja.f,$e=pu.f,bt=0;bt<P1.length;bt++){var qr=P1[bt];Qn(S,qr)||zx(S,qr,$e(N0,qr))}},c8=/#|\\.prototype\\./,VE=function(S,N0){var P1=c4[S8(S)];return P1==ES||P1!=BS&&(typeof N0==\"function\"?ux(N0):!!N0)},S8=VE.normalize=function(S){return String(S).replace(c8,\".\").toLowerCase()},c4=VE.data={},BS=VE.NATIVE=\"N\",ES=VE.POLYFILL=\"P\",fS=VE,DF=pu.f,D8=function(S,N0){var P1,zx,$e,bt,qr,ji=S.target,B0=S.global,d=S.stat;if(P1=B0?x1:d?x1[ji]||aa(ji,{}):(x1[ji]||{}).prototype)for(zx in N0){if(bt=N0[zx],$e=S.noTargetGet?(qr=DF(P1,zx))&&qr.value:P1[zx],!fS(B0?zx:ji+(d?\".\":\"#\")+zx,S.forced)&&$e!==void 0){if(typeof bt==typeof $e)continue;pC(bt,$e)}(S.sham||$e&&$e.sham)&&Ua(bt,\"sham\",!0),vc(P1,zx,bt,S)}},v8=Array.isArray||function(S){return Ct(S)==\"Array\"},pS=function(S){if(typeof S!=\"function\")throw TypeError(String(S)+\" is not a function\");return S},l4=function(S,N0,P1){if(pS(S),N0===void 0)return S;switch(P1){case 0:return function(){return S.call(N0)};case 1:return function(zx){return S.call(N0,zx)};case 2:return function(zx,$e){return S.call(N0,zx,$e)};case 3:return function(zx,$e,bt){return S.call(N0,zx,$e,bt)}}return function(){return S.apply(N0,arguments)}},KF=function(S,N0,P1,zx,$e,bt,qr,ji){for(var B0,d=$e,N=0,C0=!!qr&&l4(qr,ji,3);N<zx;){if(N in P1){if(B0=C0?C0(P1[N],N,N0):P1[N],bt>0&&v8(B0))d=KF(S,N0,B0,ki(B0.length),d,bt-1)-1;else{if(d>=9007199254740991)throw TypeError(\"Exceed the acceptable array length\");S[d]=B0}d++}N++}return d},f4=KF,$E=su(\"navigator\",\"userAgent\")||\"\",t6=x1.process,vF=t6&&t6.versions,fF=vF&&vF.v8;fF?bu=(Tc=fF.split(\".\"))[0]<4?1:Tc[0]+Tc[1]:$E&&(!(Tc=$E.match(/Edge\\/(\\d+)/))||Tc[1]>=74)&&(Tc=$E.match(/Chrome\\/(\\d+)/))&&(bu=Tc[1]);var tS=bu&&+bu,z6=!!Object.getOwnPropertySymbols&&!ux(function(){var S=Symbol();return!String(S)||!(Object(S)instanceof Symbol)||!Symbol.sham&&tS&&tS<41}),LS=z6&&!Symbol.sham&&typeof Symbol.iterator==\"symbol\",B8=vo(\"wks\"),MS=x1.Symbol,rT=LS?MS:MS&&MS.withoutSetter||Hn,bF=function(S){return Qn(B8,S)&&(z6||typeof B8[S]==\"string\")||(z6&&Qn(MS,S)?B8[S]=MS[S]:B8[S]=rT(\"Symbol.\"+S)),B8[S]},nT=bF(\"species\"),RT=function(S,N0){var P1;return v8(S)&&(typeof(P1=S.constructor)!=\"function\"||P1!==Array&&!v8(P1.prototype)?Pn(P1)&&(P1=P1[nT])===null&&(P1=void 0):P1=void 0),new(P1===void 0?Array:P1)(N0===0?0:N0)};D8({target:\"Array\",proto:!0},{flatMap:function(S){var N0,P1=cr(this),zx=ki(P1.length);return pS(S),(N0=RT(P1,0)).length=f4(N0,P1,P1,zx,0,1,S,arguments.length>1?arguments[1]:void 0),N0}});var UA,_5,VA=Math.floor,ST=function(S,N0){var P1=S.length,zx=VA(P1/2);return P1<8?ZT(S,N0):Kw(ST(S.slice(0,zx),N0),ST(S.slice(zx),N0),N0)},ZT=function(S,N0){for(var P1,zx,$e=S.length,bt=1;bt<$e;){for(zx=bt,P1=S[bt];zx&&N0(S[zx-1],P1)>0;)S[zx]=S[--zx];zx!==bt++&&(S[zx]=P1)}return S},Kw=function(S,N0,P1){for(var zx=S.length,$e=N0.length,bt=0,qr=0,ji=[];bt<zx||qr<$e;)bt<zx&&qr<$e?ji.push(P1(S[bt],N0[qr])<=0?S[bt++]:N0[qr++]):ji.push(bt<zx?S[bt++]:N0[qr++]);return ji},y5=ST,P4=$E.match(/firefox\\/(\\d+)/i),fA=!!P4&&+P4[1],H8=/MSIE|Trident/.test($E),pA=$E.match(/AppleWebKit\\/(\\d+)\\./),qS=!!pA&&+pA[1],W6=[],D5=W6.sort,$A=ux(function(){W6.sort(void 0)}),J4=ux(function(){W6.sort(null)}),dA=!!(_5=[].sort)&&ux(function(){_5.call(null,UA||function(){throw 1},1)}),CF=!ux(function(){if(tS)return tS<70;if(!(fA&&fA>3)){if(H8)return!0;if(qS)return qS<603;var S,N0,P1,zx,$e=\"\";for(S=65;S<76;S++){switch(N0=String.fromCharCode(S),S){case 66:case 69:case 70:case 72:P1=3;break;case 68:case 71:P1=4;break;default:P1=2}for(zx=0;zx<47;zx++)W6.push({k:N0+zx,v:P1})}for(W6.sort(function(bt,qr){return qr.v-bt.v}),zx=0;zx<W6.length;zx++)N0=W6[zx].k.charAt(0),$e.charAt($e.length-1)!==N0&&($e+=N0);return $e!==\"DGBEFHACIJK\"}});D8({target:\"Array\",proto:!0,forced:$A||!J4||!dA||!CF},{sort:function(S){S!==void 0&&pS(S);var N0=cr(this);if(CF)return S===void 0?D5.call(N0):D5.call(N0,S);var P1,zx,$e=[],bt=ki(N0.length);for(zx=0;zx<bt;zx++)zx in N0&&$e.push(N0[zx]);for(P1=($e=y5($e,function(qr){return function(ji,B0){return B0===void 0?-1:ji===void 0?1:qr!==void 0?+qr(ji,B0)||0:String(ji)>String(B0)?1:-1}}(S))).length,zx=0;zx<P1;)N0[zx]=$e[zx++];for(;zx<bt;)delete N0[zx++];return N0}});var FT={},mA=bF(\"iterator\"),v5=Array.prototype,KA={};KA[bF(\"toStringTag\")]=\"z\";var vw=String(KA)===\"[object z]\",p4=bF(\"toStringTag\"),x5=Ct(function(){return arguments}())==\"Arguments\",e5=vw?Ct:function(S){var N0,P1,zx;return S===void 0?\"Undefined\":S===null?\"Null\":typeof(P1=function($e,bt){try{return $e[bt]}catch{}}(N0=Object(S),p4))==\"string\"?P1:x5?Ct(N0):(zx=Ct(N0))==\"Object\"&&typeof N0.callee==\"function\"?\"Arguments\":zx},jT=bF(\"iterator\"),_6=function(S){var N0=S.return;if(N0!==void 0)return mi(N0.call(S)).value},q6=function(S,N0){this.stopped=S,this.result=N0},JS=function(S,N0,P1){var zx,$e,bt,qr,ji,B0,d,N,C0=P1&&P1.that,_1=!(!P1||!P1.AS_ENTRIES),jx=!(!P1||!P1.IS_ITERATOR),We=!(!P1||!P1.INTERRUPTED),mt=l4(N0,C0,1+_1+We),$t=function(_i){return zx&&_6(zx),new q6(!0,_i)},Zn=function(_i){return _1?(mi(_i),We?mt(_i[0],_i[1],$t):mt(_i[0],_i[1])):We?mt(_i,$t):mt(_i)};if(jx)zx=S;else{if(typeof($e=function(_i){if(_i!=null)return _i[jT]||_i[\"@@iterator\"]||FT[e5(_i)]}(S))!=\"function\")throw TypeError(\"Target is not iterable\");if((N=$e)!==void 0&&(FT.Array===N||v5[mA]===N)){for(bt=0,qr=ki(S.length);qr>bt;bt++)if((ji=Zn(S[bt]))&&ji instanceof q6)return ji;return new q6(!1)}zx=$e.call(S)}for(B0=zx.next;!(d=B0.call(zx)).done;){try{ji=Zn(d.value)}catch(_i){throw _6(zx),_i}if(typeof ji==\"object\"&&ji&&ji instanceof q6)return ji}return new q6(!1)};D8({target:\"Object\",stat:!0},{fromEntries:function(S){var N0={};return JS(S,function(P1,zx){(function($e,bt,qr){var ji=En(bt);ji in $e?ja.f($e,ji,qe(0,qr)):$e[ji]=qr})(N0,P1,zx)},{AS_ENTRIES:!0}),N0}});var eg=eg!==void 0?eg:typeof self!=\"undefined\"?self:typeof window!=\"undefined\"?window:{};function L8(){throw new Error(\"setTimeout has not been defined\")}function J6(){throw new Error(\"clearTimeout has not been defined\")}var cm=L8,l8=J6;function S6(S){if(cm===setTimeout)return setTimeout(S,0);if((cm===L8||!cm)&&setTimeout)return cm=setTimeout,setTimeout(S,0);try{return cm(S,0)}catch{try{return cm.call(null,S,0)}catch{return cm.call(this,S,0)}}}typeof eg.setTimeout==\"function\"&&(cm=setTimeout),typeof eg.clearTimeout==\"function\"&&(l8=clearTimeout);var Pg,Py=[],F6=!1,tg=-1;function u3(){F6&&Pg&&(F6=!1,Pg.length?Py=Pg.concat(Py):tg=-1,Py.length&&iT())}function iT(){if(!F6){var S=S6(u3);F6=!0;for(var N0=Py.length;N0;){for(Pg=Py,Py=[];++tg<N0;)Pg&&Pg[tg].run();tg=-1,N0=Py.length}Pg=null,F6=!1,function(P1){if(l8===clearTimeout)return clearTimeout(P1);if((l8===J6||!l8)&&clearTimeout)return l8=clearTimeout,clearTimeout(P1);try{l8(P1)}catch{try{return l8.call(null,P1)}catch{return l8.call(this,P1)}}}(S)}}function HS(S,N0){this.fun=S,this.array=N0}HS.prototype.run=function(){this.fun.apply(null,this.array)};function H6(){}var j5=H6,t5=H6,bw=H6,U5=H6,d4=H6,pF=H6,EF=H6,A6=eg.performance||{},r5=A6.now||A6.mozNow||A6.msNow||A6.oNow||A6.webkitNow||function(){return new Date().getTime()},m4=new Date,Lu={nextTick:function(S){var N0=new Array(arguments.length-1);if(arguments.length>1)for(var P1=1;P1<arguments.length;P1++)N0[P1-1]=arguments[P1];Py.push(new HS(S,N0)),Py.length!==1||F6||S6(iT)},title:\"browser\",browser:!0,env:{},argv:[],version:\"\",versions:{},on:j5,addListener:t5,once:bw,off:U5,removeListener:d4,removeAllListeners:pF,emit:EF,binding:function(S){throw new Error(\"process.binding is not supported\")},cwd:function(){return\"/\"},chdir:function(S){throw new Error(\"process.chdir is not supported\")},umask:function(){return 0},hrtime:function(S){var N0=.001*r5.call(A6),P1=Math.floor(N0),zx=Math.floor(N0%1*1e9);return S&&(P1-=S[0],(zx-=S[1])<0&&(P1--,zx+=1e9)),[P1,zx]},platform:\"browser\",release:{},config:{},uptime:function(){return(new Date-m4)/1e3}},Ig=typeof Lu==\"object\"&&Lu.env&&Lu.env.NODE_DEBUG&&/\\bsemver\\b/i.test(Lu.env.NODE_DEBUG)?(...S)=>console.error(\"SEMVER\",...S):()=>{},hA={SEMVER_SPEC_VERSION:\"2.0.0\",MAX_LENGTH:256,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,MAX_SAFE_COMPONENT_LENGTH:16},RS=W0(function(S,N0){const{MAX_SAFE_COMPONENT_LENGTH:P1}=hA,zx=(N0=S.exports={}).re=[],$e=N0.src=[],bt=N0.t={};let qr=0;const ji=(B0,d,N)=>{const C0=qr++;Ig(C0,d),bt[B0]=C0,$e[C0]=d,zx[C0]=new RegExp(d,N?\"g\":void 0)};ji(\"NUMERICIDENTIFIER\",\"0|[1-9]\\\\d*\"),ji(\"NUMERICIDENTIFIERLOOSE\",\"[0-9]+\"),ji(\"NONNUMERICIDENTIFIER\",\"\\\\d*[a-zA-Z-][a-zA-Z0-9-]*\"),ji(\"MAINVERSION\",`(${$e[bt.NUMERICIDENTIFIER]})\\\\.(${$e[bt.NUMERICIDENTIFIER]})\\\\.(${$e[bt.NUMERICIDENTIFIER]})`),ji(\"MAINVERSIONLOOSE\",`(${$e[bt.NUMERICIDENTIFIERLOOSE]})\\\\.(${$e[bt.NUMERICIDENTIFIERLOOSE]})\\\\.(${$e[bt.NUMERICIDENTIFIERLOOSE]})`),ji(\"PRERELEASEIDENTIFIER\",`(?:${$e[bt.NUMERICIDENTIFIER]}|${$e[bt.NONNUMERICIDENTIFIER]})`),ji(\"PRERELEASEIDENTIFIERLOOSE\",`(?:${$e[bt.NUMERICIDENTIFIERLOOSE]}|${$e[bt.NONNUMERICIDENTIFIER]})`),ji(\"PRERELEASE\",`(?:-(${$e[bt.PRERELEASEIDENTIFIER]}(?:\\\\.${$e[bt.PRERELEASEIDENTIFIER]})*))`),ji(\"PRERELEASELOOSE\",`(?:-?(${$e[bt.PRERELEASEIDENTIFIERLOOSE]}(?:\\\\.${$e[bt.PRERELEASEIDENTIFIERLOOSE]})*))`),ji(\"BUILDIDENTIFIER\",\"[0-9A-Za-z-]+\"),ji(\"BUILD\",`(?:\\\\+(${$e[bt.BUILDIDENTIFIER]}(?:\\\\.${$e[bt.BUILDIDENTIFIER]})*))`),ji(\"FULLPLAIN\",`v?${$e[bt.MAINVERSION]}${$e[bt.PRERELEASE]}?${$e[bt.BUILD]}?`),ji(\"FULL\",`^${$e[bt.FULLPLAIN]}$`),ji(\"LOOSEPLAIN\",`[v=\\\\s]*${$e[bt.MAINVERSIONLOOSE]}${$e[bt.PRERELEASELOOSE]}?${$e[bt.BUILD]}?`),ji(\"LOOSE\",`^${$e[bt.LOOSEPLAIN]}$`),ji(\"GTLT\",\"((?:<|>)?=?)\"),ji(\"XRANGEIDENTIFIERLOOSE\",`${$e[bt.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`),ji(\"XRANGEIDENTIFIER\",`${$e[bt.NUMERICIDENTIFIER]}|x|X|\\\\*`),ji(\"XRANGEPLAIN\",`[v=\\\\s]*(${$e[bt.XRANGEIDENTIFIER]})(?:\\\\.(${$e[bt.XRANGEIDENTIFIER]})(?:\\\\.(${$e[bt.XRANGEIDENTIFIER]})(?:${$e[bt.PRERELEASE]})?${$e[bt.BUILD]}?)?)?`),ji(\"XRANGEPLAINLOOSE\",`[v=\\\\s]*(${$e[bt.XRANGEIDENTIFIERLOOSE]})(?:\\\\.(${$e[bt.XRANGEIDENTIFIERLOOSE]})(?:\\\\.(${$e[bt.XRANGEIDENTIFIERLOOSE]})(?:${$e[bt.PRERELEASELOOSE]})?${$e[bt.BUILD]}?)?)?`),ji(\"XRANGE\",`^${$e[bt.GTLT]}\\\\s*${$e[bt.XRANGEPLAIN]}$`),ji(\"XRANGELOOSE\",`^${$e[bt.GTLT]}\\\\s*${$e[bt.XRANGEPLAINLOOSE]}$`),ji(\"COERCE\",`(^|[^\\\\d])(\\\\d{1,${P1}})(?:\\\\.(\\\\d{1,${P1}}))?(?:\\\\.(\\\\d{1,${P1}}))?(?:$|[^\\\\d])`),ji(\"COERCERTL\",$e[bt.COERCE],!0),ji(\"LONETILDE\",\"(?:~>?)\"),ji(\"TILDETRIM\",`(\\\\s*)${$e[bt.LONETILDE]}\\\\s+`,!0),N0.tildeTrimReplace=\"$1~\",ji(\"TILDE\",`^${$e[bt.LONETILDE]}${$e[bt.XRANGEPLAIN]}$`),ji(\"TILDELOOSE\",`^${$e[bt.LONETILDE]}${$e[bt.XRANGEPLAINLOOSE]}$`),ji(\"LONECARET\",\"(?:\\\\^)\"),ji(\"CARETTRIM\",`(\\\\s*)${$e[bt.LONECARET]}\\\\s+`,!0),N0.caretTrimReplace=\"$1^\",ji(\"CARET\",`^${$e[bt.LONECARET]}${$e[bt.XRANGEPLAIN]}$`),ji(\"CARETLOOSE\",`^${$e[bt.LONECARET]}${$e[bt.XRANGEPLAINLOOSE]}$`),ji(\"COMPARATORLOOSE\",`^${$e[bt.GTLT]}\\\\s*(${$e[bt.LOOSEPLAIN]})$|^$`),ji(\"COMPARATOR\",`^${$e[bt.GTLT]}\\\\s*(${$e[bt.FULLPLAIN]})$|^$`),ji(\"COMPARATORTRIM\",`(\\\\s*)${$e[bt.GTLT]}\\\\s*(${$e[bt.LOOSEPLAIN]}|${$e[bt.XRANGEPLAIN]})`,!0),N0.comparatorTrimReplace=\"$1$2$3\",ji(\"HYPHENRANGE\",`^\\\\s*(${$e[bt.XRANGEPLAIN]})\\\\s+-\\\\s+(${$e[bt.XRANGEPLAIN]})\\\\s*$`),ji(\"HYPHENRANGELOOSE\",`^\\\\s*(${$e[bt.XRANGEPLAINLOOSE]})\\\\s+-\\\\s+(${$e[bt.XRANGEPLAINLOOSE]})\\\\s*$`),ji(\"STAR\",\"(<|>)?=?\\\\s*\\\\*\"),ji(\"GTE0\",\"^\\\\s*>=\\\\s*0.0.0\\\\s*$\"),ji(\"GTE0PRE\",\"^\\\\s*>=\\\\s*0.0.0-0\\\\s*$\")});const H4=[\"includePrerelease\",\"loose\",\"rtl\"];var I4=S=>S?typeof S!=\"object\"?{loose:!0}:H4.filter(N0=>S[N0]).reduce((N0,P1)=>(N0[P1]=!0,N0),{}):{};const GS=/^[0-9]+$/,SS=(S,N0)=>{const P1=GS.test(S),zx=GS.test(N0);return P1&&zx&&(S=+S,N0=+N0),S===N0?0:P1&&!zx?-1:zx&&!P1?1:S<N0?-1:1};var rS={compareIdentifiers:SS,rcompareIdentifiers:(S,N0)=>SS(N0,S)};const{MAX_LENGTH:T6,MAX_SAFE_INTEGER:dS}=hA,{re:w6,t:vb}=RS,{compareIdentifiers:Rh}=rS;class Wf{constructor(N0,P1){if(P1=I4(P1),N0 instanceof Wf){if(N0.loose===!!P1.loose&&N0.includePrerelease===!!P1.includePrerelease)return N0;N0=N0.version}else if(typeof N0!=\"string\")throw new TypeError(`Invalid Version: ${N0}`);if(N0.length>T6)throw new TypeError(`version is longer than ${T6} characters`);Ig(\"SemVer\",N0,P1),this.options=P1,this.loose=!!P1.loose,this.includePrerelease=!!P1.includePrerelease;const zx=N0.trim().match(P1.loose?w6[vb.LOOSE]:w6[vb.FULL]);if(!zx)throw new TypeError(`Invalid Version: ${N0}`);if(this.raw=N0,this.major=+zx[1],this.minor=+zx[2],this.patch=+zx[3],this.major>dS||this.major<0)throw new TypeError(\"Invalid major version\");if(this.minor>dS||this.minor<0)throw new TypeError(\"Invalid minor version\");if(this.patch>dS||this.patch<0)throw new TypeError(\"Invalid patch version\");zx[4]?this.prerelease=zx[4].split(\".\").map($e=>{if(/^[0-9]+$/.test($e)){const bt=+$e;if(bt>=0&&bt<dS)return bt}return $e}):this.prerelease=[],this.build=zx[5]?zx[5].split(\".\"):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(\".\")}`),this.version}toString(){return this.version}compare(N0){if(Ig(\"SemVer.compare\",this.version,this.options,N0),!(N0 instanceof Wf)){if(typeof N0==\"string\"&&N0===this.version)return 0;N0=new Wf(N0,this.options)}return N0.version===this.version?0:this.compareMain(N0)||this.comparePre(N0)}compareMain(N0){return N0 instanceof Wf||(N0=new Wf(N0,this.options)),Rh(this.major,N0.major)||Rh(this.minor,N0.minor)||Rh(this.patch,N0.patch)}comparePre(N0){if(N0 instanceof Wf||(N0=new Wf(N0,this.options)),this.prerelease.length&&!N0.prerelease.length)return-1;if(!this.prerelease.length&&N0.prerelease.length)return 1;if(!this.prerelease.length&&!N0.prerelease.length)return 0;let P1=0;do{const zx=this.prerelease[P1],$e=N0.prerelease[P1];if(Ig(\"prerelease compare\",P1,zx,$e),zx===void 0&&$e===void 0)return 0;if($e===void 0)return 1;if(zx===void 0)return-1;if(zx!==$e)return Rh(zx,$e)}while(++P1)}compareBuild(N0){N0 instanceof Wf||(N0=new Wf(N0,this.options));let P1=0;do{const zx=this.build[P1],$e=N0.build[P1];if(Ig(\"prerelease compare\",P1,zx,$e),zx===void 0&&$e===void 0)return 0;if($e===void 0)return 1;if(zx===void 0)return-1;if(zx!==$e)return Rh(zx,$e)}while(++P1)}inc(N0,P1){switch(N0){case\"premajor\":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc(\"pre\",P1);break;case\"preminor\":this.prerelease.length=0,this.patch=0,this.minor++,this.inc(\"pre\",P1);break;case\"prepatch\":this.prerelease.length=0,this.inc(\"patch\",P1),this.inc(\"pre\",P1);break;case\"prerelease\":this.prerelease.length===0&&this.inc(\"patch\",P1),this.inc(\"pre\",P1);break;case\"major\":this.minor===0&&this.patch===0&&this.prerelease.length!==0||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case\"minor\":this.patch===0&&this.prerelease.length!==0||this.minor++,this.patch=0,this.prerelease=[];break;case\"patch\":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case\"pre\":if(this.prerelease.length===0)this.prerelease=[0];else{let zx=this.prerelease.length;for(;--zx>=0;)typeof this.prerelease[zx]==\"number\"&&(this.prerelease[zx]++,zx=-2);zx===-1&&this.prerelease.push(0)}P1&&(this.prerelease[0]===P1?isNaN(this.prerelease[1])&&(this.prerelease=[P1,0]):this.prerelease=[P1,0]);break;default:throw new Error(`invalid increment argument: ${N0}`)}return this.format(),this.raw=this.version,this}}var Fp=Wf,ZC=(S,N0,P1)=>new Fp(S,P1).compare(new Fp(N0,P1)),zA=(S,N0,P1)=>ZC(S,N0,P1)<0,zF=(S,N0,P1)=>ZC(S,N0,P1)>=0,WF=\"2.3.2\",l_=W0(function(S,N0){function P1(){for(var $t=[],Zn=0;Zn<arguments.length;Zn++)$t[Zn]=arguments[Zn]}function zx(){return typeof WeakMap!=\"undefined\"?new WeakMap:{add:P1,delete:P1,get:P1,set:P1,has:function($t){return!1}}}Object.defineProperty(N0,\"__esModule\",{value:!0}),N0.outdent=void 0;var $e=Object.prototype.hasOwnProperty,bt=function($t,Zn){return $e.call($t,Zn)};function qr($t,Zn){for(var _i in Zn)bt(Zn,_i)&&($t[_i]=Zn[_i]);return $t}var ji=/^[ \\t]*(?:\\r\\n|\\r|\\n)/,B0=/(?:\\r\\n|\\r|\\n)[ \\t]*$/,d=/^(?:[\\r\\n]|$)/,N=/(?:\\r\\n|\\r|\\n)([ \\t]*)(?:[^ \\t\\r\\n]|$)/,C0=/^[ \\t]*[\\r\\n][ \\t\\r\\n]*$/;function _1($t,Zn,_i){var Va=0,Bo=$t[0].match(N);Bo&&(Va=Bo[1].length);var Rt=new RegExp(\"(\\\\r\\\\n|\\\\r|\\\\n).{0,\"+Va+\"}\",\"g\");Zn&&($t=$t.slice(1));var Xs=_i.newline,ll=_i.trimLeadingNewline,jc=_i.trimTrailingNewline,xu=typeof Xs==\"string\",Ml=$t.length;return $t.map(function(iE,eA){return iE=iE.replace(Rt,\"$1\"),eA===0&&ll&&(iE=iE.replace(ji,\"\")),eA===Ml-1&&jc&&(iE=iE.replace(B0,\"\")),xu&&(iE=iE.replace(/\\r\\n|\\n|\\r/g,function(y2){return Xs})),iE})}function jx($t,Zn){for(var _i=\"\",Va=0,Bo=$t.length;Va<Bo;Va++)_i+=$t[Va],Va<Bo-1&&(_i+=Zn[Va]);return _i}function We($t){return bt($t,\"raw\")&&bt($t,\"length\")}var mt=function $t(Zn){var _i=zx(),Va=zx();return qr(function Bo(Rt){for(var Xs=[],ll=1;ll<arguments.length;ll++)Xs[ll-1]=arguments[ll];if(We(Rt)){var jc=Rt,xu=(Xs[0]===Bo||Xs[0]===mt)&&C0.test(jc[0])&&d.test(jc[1]),Ml=xu?Va:_i,iE=Ml.get(jc);if(iE||(iE=_1(jc,xu,Zn),Ml.set(jc,iE)),Xs.length===0)return iE[0];var eA=jx(iE,xu?Xs.slice(1):Xs);return eA}return $t(qr(qr({},Zn),Rt||{}))},{string:function(Bo){return _1([Bo],!1,Zn)[0]}})}({trimLeadingNewline:!0,trimTrailingNewline:!0});N0.outdent=mt,N0.default=mt;try{S.exports=mt,Object.defineProperty(mt,\"__esModule\",{value:!0}),mt.default=mt,mt.outdent=mt}catch{}});const{outdent:xE}=l_,r6=\"Config\",M8=\"Editor\",KE=\"Other\",lm=\"Global\",mS=\"Special\",aT={cursorOffset:{since:\"1.4.0\",category:mS,type:\"int\",default:-1,range:{start:-1,end:Number.POSITIVE_INFINITY,step:1},description:xE`\n      Print (to stderr) where a cursor at the given position would move to after formatting.\n      This option cannot be used with --range-start and --range-end.\n    `,cliCategory:M8},endOfLine:{since:\"1.15.0\",category:lm,type:\"choice\",default:[{since:\"1.15.0\",value:\"auto\"},{since:\"2.0.0\",value:\"lf\"}],description:\"Which end of line characters to apply.\",choices:[{value:\"lf\",description:\"Line Feed only (\\\\n), common on Linux and macOS as well as inside git repos\"},{value:\"crlf\",description:\"Carriage Return + Line Feed characters (\\\\r\\\\n), common on Windows\"},{value:\"cr\",description:\"Carriage Return character only (\\\\r), used very rarely\"},{value:\"auto\",description:xE`\n          Maintain existing\n          (mixed values within one file are normalised by looking at what's used after the first line)\n        `}]},filepath:{since:\"1.4.0\",category:mS,type:\"path\",description:\"Specify the input filepath. This will be used to do parser inference.\",cliName:\"stdin-filepath\",cliCategory:KE,cliDescription:\"Path to the file to pretend that stdin comes from.\"},insertPragma:{since:\"1.8.0\",category:mS,type:\"boolean\",default:!1,description:\"Insert @format pragma into file's first docblock comment.\",cliCategory:KE},parser:{since:\"0.0.10\",category:lm,type:\"choice\",default:[{since:\"0.0.10\",value:\"babylon\"},{since:\"1.13.0\",value:void 0}],description:\"Which parser to use.\",exception:S=>typeof S==\"string\"||typeof S==\"function\",choices:[{value:\"flow\",description:\"Flow\"},{value:\"babel\",since:\"1.16.0\",description:\"JavaScript\"},{value:\"babel-flow\",since:\"1.16.0\",description:\"Flow\"},{value:\"babel-ts\",since:\"2.0.0\",description:\"TypeScript\"},{value:\"typescript\",since:\"1.4.0\",description:\"TypeScript\"},{value:\"espree\",since:\"2.2.0\",description:\"JavaScript\"},{value:\"meriyah\",since:\"2.2.0\",description:\"JavaScript\"},{value:\"css\",since:\"1.7.1\",description:\"CSS\"},{value:\"less\",since:\"1.7.1\",description:\"Less\"},{value:\"scss\",since:\"1.7.1\",description:\"SCSS\"},{value:\"json\",since:\"1.5.0\",description:\"JSON\"},{value:\"json5\",since:\"1.13.0\",description:\"JSON5\"},{value:\"json-stringify\",since:\"1.13.0\",description:\"JSON.stringify\"},{value:\"graphql\",since:\"1.5.0\",description:\"GraphQL\"},{value:\"markdown\",since:\"1.8.0\",description:\"Markdown\"},{value:\"mdx\",since:\"1.15.0\",description:\"MDX\"},{value:\"vue\",since:\"1.10.0\",description:\"Vue\"},{value:\"yaml\",since:\"1.14.0\",description:\"YAML\"},{value:\"glimmer\",since:\"2.3.0\",description:\"Ember / Handlebars\"},{value:\"html\",since:\"1.15.0\",description:\"HTML\"},{value:\"angular\",since:\"1.15.0\",description:\"Angular\"},{value:\"lwc\",since:\"1.17.0\",description:\"Lightning Web Components\"}]},plugins:{since:\"1.10.0\",type:\"path\",array:!0,default:[{value:[]}],category:lm,description:\"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.\",exception:S=>typeof S==\"string\"||typeof S==\"object\",cliName:\"plugin\",cliCategory:r6},pluginSearchDirs:{since:\"1.13.0\",type:\"path\",array:!0,default:[{value:[]}],category:lm,description:xE`\n      Custom directory that contains prettier plugins in node_modules subdirectory.\n      Overrides default behavior when plugins are searched relatively to the location of Prettier.\n      Multiple values are accepted.\n    `,exception:S=>typeof S==\"string\"||typeof S==\"object\",cliName:\"plugin-search-dir\",cliCategory:r6},printWidth:{since:\"0.0.0\",category:lm,type:\"int\",default:80,description:\"The line length where Prettier will try wrap.\",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},rangeEnd:{since:\"1.4.0\",category:mS,type:\"int\",default:Number.POSITIVE_INFINITY,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:xE`\n      Format code ending at a given character offset (exclusive).\n      The range will extend forwards to the end of the selected statement.\n      This option cannot be used with --cursor-offset.\n    `,cliCategory:M8},rangeStart:{since:\"1.4.0\",category:mS,type:\"int\",default:0,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:xE`\n      Format code starting at a given character offset.\n      The range will extend backwards to the start of the first line containing the selected statement.\n      This option cannot be used with --cursor-offset.\n    `,cliCategory:M8},requirePragma:{since:\"1.7.0\",category:mS,type:\"boolean\",default:!1,description:xE`\n      Require either '@prettier' or '@format' to be present in the file's first docblock comment\n      in order for it to be formatted.\n    `,cliCategory:KE},tabWidth:{type:\"int\",category:lm,default:2,description:\"Number of spaces per indentation level.\",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},useTabs:{since:\"1.0.0\",category:lm,type:\"boolean\",default:!1,description:\"Indent with tabs instead of spaces.\"},embeddedLanguageFormatting:{since:\"2.1.0\",category:lm,type:\"choice\",default:[{since:\"2.1.0\",value:\"auto\"}],description:\"Control how Prettier formats quoted code embedded in the file.\",choices:[{value:\"auto\",description:\"Format embedded code if Prettier can automatically identify it.\"},{value:\"off\",description:\"Never automatically format embedded code.\"}]}},h4=[\"cliName\",\"cliCategory\",\"cliDescription\"],G4={compare:ZC,lt:zA,gte:zF},k6=WF,xw=aT;var UT={getSupportInfo:function({plugins:S=[],showUnreleased:N0=!1,showDeprecated:P1=!1,showInternal:zx=!1}={}){const $e=k6.split(\"-\",1)[0],bt=S.flatMap(C0=>C0.languages||[]).filter(d),qr=(ji=Object.assign({},...S.map(({options:C0})=>C0),xw),B0=\"name\",Object.entries(ji).map(([C0,_1])=>Object.assign({[B0]:C0},_1))).filter(C0=>d(C0)&&N(C0)).sort((C0,_1)=>C0.name===_1.name?0:C0.name<_1.name?-1:1).map(function(C0){return zx?C0:F1(C0,h4)}).map(C0=>{C0=Object.assign({},C0),Array.isArray(C0.default)&&(C0.default=C0.default.length===1?C0.default[0].value:C0.default.filter(d).sort((jx,We)=>G4.compare(We.since,jx.since))[0].value),Array.isArray(C0.choices)&&(C0.choices=C0.choices.filter(jx=>d(jx)&&N(jx)),C0.name===\"parser\"&&function(jx,We,mt){const $t=new Set(jx.choices.map(Zn=>Zn.value));for(const Zn of We)if(Zn.parsers){for(const _i of Zn.parsers)if(!$t.has(_i)){$t.add(_i);const Va=mt.find(Rt=>Rt.parsers&&Rt.parsers[_i]);let Bo=Zn.name;Va&&Va.name&&(Bo+=` (plugin: ${Va.name})`),jx.choices.push({value:_i,description:Bo})}}}(C0,bt,S));const _1=Object.fromEntries(S.filter(jx=>jx.defaultOptions&&jx.defaultOptions[C0.name]!==void 0).map(jx=>[jx.name,jx.defaultOptions[C0.name]]));return Object.assign(Object.assign({},C0),{},{pluginDefaults:_1})});var ji,B0;return{languages:bt,options:qr};function d(C0){return N0||!(\"since\"in C0)||C0.since&&G4.gte($e,C0.since)}function N(C0){return P1||!(\"deprecated\"in C0)||C0.deprecated&&G4.lt($e,C0.deprecated)}}};const{getSupportInfo:oT}=UT,G8=/[^\\x20-\\x7F]/;function y6(S){return(N0,P1,zx)=>{const $e=zx&&zx.backwards;if(P1===!1)return!1;const{length:bt}=N0;let qr=P1;for(;qr>=0&&qr<bt;){const ji=N0.charAt(qr);if(S instanceof RegExp){if(!S.test(ji))return qr}else if(!S.includes(ji))return qr;$e?qr--:qr++}return(qr===-1||qr===bt)&&qr}}const nS=y6(/\\s/),jD=y6(\" \t\"),X4=y6(\",; \t\"),SF=y6(/[^\\n\\r]/);function ad(S,N0){if(N0===!1)return!1;if(S.charAt(N0)===\"/\"&&S.charAt(N0+1)===\"*\"){for(let P1=N0+2;P1<S.length;++P1)if(S.charAt(P1)===\"*\"&&S.charAt(P1+1)===\"/\")return P1+2}return N0}function XS(S,N0){return N0!==!1&&(S.charAt(N0)===\"/\"&&S.charAt(N0+1)===\"/\"?SF(S,N0):N0)}function X8(S,N0,P1){const zx=P1&&P1.backwards;if(N0===!1)return!1;const $e=S.charAt(N0);if(zx){if(S.charAt(N0-1)===\"\\r\"&&$e===`\n`)return N0-2;if($e===`\n`||$e===\"\\r\"||$e===\"\\u2028\"||$e===\"\\u2029\")return N0-1}else{if($e===\"\\r\"&&S.charAt(N0+1)===`\n`)return N0+2;if($e===`\n`||$e===\"\\r\"||$e===\"\\u2028\"||$e===\"\\u2029\")return N0+1}return N0}function gA(S,N0,P1={}){const zx=jD(S,P1.backwards?N0-1:N0,P1);return zx!==X8(S,zx,P1)}function VT(S,N0){let P1=null,zx=N0;for(;zx!==P1;)P1=zx,zx=X4(S,zx),zx=ad(S,zx),zx=jD(S,zx);return zx=XS(S,zx),zx=X8(S,zx),zx!==!1&&gA(S,zx)}function YS(S,N0){let P1=null,zx=N0;for(;zx!==P1;)P1=zx,zx=jD(S,zx),zx=ad(S,zx),zx=XS(S,zx),zx=X8(S,zx);return zx}function _A(S,N0,P1){return YS(S,P1(N0))}function QS(S,N0,P1=0){let zx=0;for(let $e=P1;$e<S.length;++$e)S[$e]===\"\t\"?zx=zx+N0-zx%N0:zx++;return zx}function qF(S,N0){const P1=S.slice(1,-1),zx={quote:'\"',regex:/\"/g},$e={quote:\"'\",regex:/'/g},bt=N0===\"'\"?$e:zx,qr=bt===$e?zx:$e;let ji=bt.quote;return(P1.includes(bt.quote)||P1.includes(qr.quote))&&(ji=(P1.match(bt.regex)||[]).length>(P1.match(qr.regex)||[]).length?qr.quote:bt.quote),ji}function jS(S,N0,P1){const zx=N0==='\"'?\"'\":'\"',$e=S.replace(/\\\\(.)|([\"'])/gs,(bt,qr,ji)=>qr===zx?qr:ji===N0?\"\\\\\"+ji:ji||(P1&&/^[^\\n\\r\"'0-7\\\\bfnrt-vx\\u2028\\u2029]$/.test(qr)?qr:\"\\\\\"+qr));return N0+$e+N0}function zE(S,N0){(S.comments||(S.comments=[])).push(N0),N0.printed=!1,N0.nodeDescription=function(P1){const zx=P1.type||P1.kind||\"(unknown type)\";let $e=String(P1.name||P1.id&&(typeof P1.id==\"object\"?P1.id.name:P1.id)||P1.key&&(typeof P1.key==\"object\"?P1.key.name:P1.key)||P1.value&&(typeof P1.value==\"object\"?\"\":String(P1.value))||P1.operator||\"\");return $e.length>20&&($e=$e.slice(0,19)+\"\\u2026\"),zx+($e?\" \"+$e:\"\")}(S)}var n6={inferParserByLanguage:function(S,N0){const{languages:P1}=oT({plugins:N0.plugins}),zx=P1.find(({name:$e})=>$e.toLowerCase()===S)||P1.find(({aliases:$e})=>Array.isArray($e)&&$e.includes(S))||P1.find(({extensions:$e})=>Array.isArray($e)&&$e.includes(`.${S}`));return zx&&zx.parsers[0]},getStringWidth:function(S){return S?G8.test(S)?J0(S):S.length:0},getMaxContinuousCount:function(S,N0){const P1=S.match(new RegExp(`(${t1(N0)})+`,\"g\"));return P1===null?0:P1.reduce((zx,$e)=>Math.max(zx,$e.length/N0.length),0)},getMinNotPresentContinuousCount:function(S,N0){const P1=S.match(new RegExp(`(${t1(N0)})+`,\"g\"));if(P1===null)return 0;const zx=new Map;let $e=0;for(const bt of P1){const qr=bt.length/N0.length;zx.set(qr,!0),qr>$e&&($e=qr)}for(let bt=1;bt<$e;bt++)if(!zx.get(bt))return bt;return $e+1},getPenultimate:S=>S[S.length-2],getLast:r1,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:YS,getNextNonSpaceNonCommentCharacterIndex:_A,getNextNonSpaceNonCommentCharacter:function(S,N0,P1){return S.charAt(_A(S,N0,P1))},skip:y6,skipWhitespace:nS,skipSpaces:jD,skipToLineEnd:X4,skipEverythingButNewLine:SF,skipInlineComment:ad,skipTrailingComment:XS,skipNewline:X8,isNextLineEmptyAfterIndex:VT,isNextLineEmpty:function(S,N0,P1){return VT(S,P1(N0))},isPreviousLineEmpty:function(S,N0,P1){let zx=P1(N0)-1;return zx=jD(S,zx,{backwards:!0}),zx=X8(S,zx,{backwards:!0}),zx=jD(S,zx,{backwards:!0}),zx!==X8(S,zx,{backwards:!0})},hasNewline:gA,hasNewlineInRange:function(S,N0,P1){for(let zx=N0;zx<P1;++zx)if(S.charAt(zx)===`\n`)return!0;return!1},hasSpaces:function(S,N0,P1={}){return jD(S,P1.backwards?N0-1:N0,P1)!==N0},getAlignmentSize:QS,getIndentSize:function(S,N0){const P1=S.lastIndexOf(`\n`);return P1===-1?0:QS(S.slice(P1+1).match(/^[\\t ]*/)[0],N0)},getPreferredQuote:qF,printString:function(S,N0){return jS(S.slice(1,-1),N0.parser===\"json\"||N0.parser===\"json5\"&&N0.quoteProps===\"preserve\"&&!N0.singleQuote?'\"':N0.__isInHtmlAttribute?\"'\":qF(S,N0.singleQuote?\"'\":'\"'),!(N0.parser===\"css\"||N0.parser===\"less\"||N0.parser===\"scss\"||N0.__embeddedInHtml))},printNumber:function(S){return S.toLowerCase().replace(/^([+-]?[\\d.]+e)(?:\\+|(-))?0*(\\d)/,\"$1$2$3\").replace(/^([+-]?[\\d.]+)e[+-]?0+$/,\"$1\").replace(/^([+-])?\\./,\"$10.\").replace(/(\\.\\d+?)0+(?=e|$)/,\"$1\").replace(/\\.(?=e|$)/,\"\")},makeString:jS,addLeadingComment:function(S,N0){N0.leading=!0,N0.trailing=!1,zE(S,N0)},addDanglingComment:function(S,N0,P1){N0.leading=!1,N0.trailing=!1,P1&&(N0.marker=P1),zE(S,N0)},addTrailingComment:function(S,N0){N0.leading=!1,N0.trailing=!0,zE(S,N0)},isFrontMatterNode:function(S){return S&&S.type===\"front-matter\"},getShebang:function(S){if(!S.startsWith(\"#!\"))return\"\";const N0=S.indexOf(`\n`);return N0===-1?S:S.slice(0,N0)},isNonEmptyArray:function(S){return Array.isArray(S)&&S.length>0},createGroupIdMapper:function(S){const N0=new WeakMap;return function(P1){return N0.has(P1)||N0.set(P1,Symbol(S)),N0.get(P1)}}};const{isNonEmptyArray:iS}=n6;function p6(S,N0){const{ignoreDecorators:P1}=N0||{};if(!P1){const zx=S.declaration&&S.declaration.decorators||S.decorators;if(iS(zx))return p6(zx[0])}return S.range?S.range[0]:S.start}function O4(S){return S.range?S.range[1]:S.end}function $T(S,N0){return p6(S)===p6(N0)}var FF={locStart:p6,locEnd:O4,hasSameLocStart:$T,hasSameLoc:function(S,N0){return $T(S,N0)&&function(P1,zx){return O4(P1)===O4(zx)}(S,N0)}},AF=W0(function(S){(function(){function N0(zx){if(zx==null)return!1;switch(zx.type){case\"BlockStatement\":case\"BreakStatement\":case\"ContinueStatement\":case\"DebuggerStatement\":case\"DoWhileStatement\":case\"EmptyStatement\":case\"ExpressionStatement\":case\"ForInStatement\":case\"ForStatement\":case\"IfStatement\":case\"LabeledStatement\":case\"ReturnStatement\":case\"SwitchStatement\":case\"ThrowStatement\":case\"TryStatement\":case\"VariableDeclaration\":case\"WhileStatement\":case\"WithStatement\":return!0}return!1}function P1(zx){switch(zx.type){case\"IfStatement\":return zx.alternate!=null?zx.alternate:zx.consequent;case\"LabeledStatement\":case\"ForStatement\":case\"ForInStatement\":case\"WhileStatement\":case\"WithStatement\":return zx.body}return null}S.exports={isExpression:function(zx){if(zx==null)return!1;switch(zx.type){case\"ArrayExpression\":case\"AssignmentExpression\":case\"BinaryExpression\":case\"CallExpression\":case\"ConditionalExpression\":case\"FunctionExpression\":case\"Identifier\":case\"Literal\":case\"LogicalExpression\":case\"MemberExpression\":case\"NewExpression\":case\"ObjectExpression\":case\"SequenceExpression\":case\"ThisExpression\":case\"UnaryExpression\":case\"UpdateExpression\":return!0}return!1},isStatement:N0,isIterationStatement:function(zx){if(zx==null)return!1;switch(zx.type){case\"DoWhileStatement\":case\"ForInStatement\":case\"ForStatement\":case\"WhileStatement\":return!0}return!1},isSourceElement:function(zx){return N0(zx)||zx!=null&&zx.type===\"FunctionDeclaration\"},isProblematicIfStatement:function(zx){var $e;if(zx.type!==\"IfStatement\"||zx.alternate==null)return!1;$e=zx.consequent;do{if($e.type===\"IfStatement\"&&$e.alternate==null)return!0;$e=P1($e)}while($e);return!1},trailingStatement:P1}})()}),Y8=W0(function(S){(function(){var N0,P1,zx,$e,bt,qr;function ji(B0){return B0<=65535?String.fromCharCode(B0):String.fromCharCode(Math.floor((B0-65536)/1024)+55296)+String.fromCharCode((B0-65536)%1024+56320)}for(P1={NonAsciiIdentifierStart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\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-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\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\\u0AF9\\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-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\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-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\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\\u2160-\\u2188\\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-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\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]/,NonAsciiIdentifierPart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B4\\u08B6-\\u08BD\\u08D4-\\u08E1\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D54-\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\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\\u135D-\\u135F\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19D9\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFB-\\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\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u2E2F\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099\\u309A\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]/},N0={NonAsciiIdentifierStart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\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-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\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\\u0AF9\\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-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\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-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\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\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\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\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309B-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\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]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDF00-\\uDF19]|\\uD806[\\uDCA0-\\uDCDF\\uDCFF\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50\\uDF93-\\uDF9F\\uDFE0]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD83A[\\uDC00-\\uDCC4\\uDD00-\\uDD43]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]/,NonAsciiIdentifierPart:/[\\xAA\\xB5\\xB7\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B4\\u08B6-\\u08BD\\u08D4-\\u08E1\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D54-\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\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\\u135D-\\u135F\\u1369-\\u1371\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFB-\\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\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDDFD\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDEE0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF7A\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCA0-\\uDCA9\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE38-\\uDE3A\\uDE3F\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE6\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC00-\\uDC46\\uDC66-\\uDC6F\\uDC7F-\\uDCBA\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9\\uDD00-\\uDD34\\uDD36-\\uDD3F\\uDD50-\\uDD73\\uDD76\\uDD80-\\uDDC4\\uDDCA-\\uDDCC\\uDDD0-\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE37\\uDE3E\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEEA\\uDEF0-\\uDEF9\\uDF00-\\uDF03\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3C-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF50\\uDF57\\uDF5D-\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDC00-\\uDC4A\\uDC50-\\uDC59\\uDC80-\\uDCC5\\uDCC7\\uDCD0-\\uDCD9\\uDD80-\\uDDB5\\uDDB8-\\uDDC0\\uDDD8-\\uDDDD\\uDE00-\\uDE40\\uDE44\\uDE50-\\uDE59\\uDE80-\\uDEB7\\uDEC0-\\uDEC9\\uDF00-\\uDF19\\uDF1D-\\uDF2B\\uDF30-\\uDF39]|\\uD806[\\uDCA0-\\uDCE9\\uDCFF\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC36\\uDC38-\\uDC40\\uDC50-\\uDC59\\uDC72-\\uDC8F\\uDC92-\\uDCA7\\uDCA9-\\uDCB6]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE60-\\uDE69\\uDED0-\\uDEED\\uDEF0-\\uDEF4\\uDF00-\\uDF36\\uDF40-\\uDF43\\uDF50-\\uDF59\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50-\\uDF7E\\uDF8F-\\uDF9F\\uDFE0]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB\\uDFCE-\\uDFFF]|\\uD836[\\uDE00-\\uDE36\\uDE3B-\\uDE6C\\uDE75\\uDE84\\uDE9B-\\uDE9F\\uDEA1-\\uDEAF]|\\uD838[\\uDC00-\\uDC06\\uDC08-\\uDC18\\uDC1B-\\uDC21\\uDC23\\uDC24\\uDC26-\\uDC2A]|\\uD83A[\\uDC00-\\uDCC4\\uDCD0-\\uDCD6\\uDD00-\\uDD4A\\uDD50-\\uDD59]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]|\\uDB40[\\uDD00-\\uDDEF]/},zx=[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279],$e=new Array(128),qr=0;qr<128;++qr)$e[qr]=qr>=97&&qr<=122||qr>=65&&qr<=90||qr===36||qr===95;for(bt=new Array(128),qr=0;qr<128;++qr)bt[qr]=qr>=97&&qr<=122||qr>=65&&qr<=90||qr>=48&&qr<=57||qr===36||qr===95;S.exports={isDecimalDigit:function(B0){return 48<=B0&&B0<=57},isHexDigit:function(B0){return 48<=B0&&B0<=57||97<=B0&&B0<=102||65<=B0&&B0<=70},isOctalDigit:function(B0){return B0>=48&&B0<=55},isWhiteSpace:function(B0){return B0===32||B0===9||B0===11||B0===12||B0===160||B0>=5760&&zx.indexOf(B0)>=0},isLineTerminator:function(B0){return B0===10||B0===13||B0===8232||B0===8233},isIdentifierStartES5:function(B0){return B0<128?$e[B0]:P1.NonAsciiIdentifierStart.test(ji(B0))},isIdentifierPartES5:function(B0){return B0<128?bt[B0]:P1.NonAsciiIdentifierPart.test(ji(B0))},isIdentifierStartES6:function(B0){return B0<128?$e[B0]:N0.NonAsciiIdentifierStart.test(ji(B0))},isIdentifierPartES6:function(B0){return B0<128?bt[B0]:N0.NonAsciiIdentifierPart.test(ji(B0))}}})()}),hS=W0(function(S){(function(){var N0=Y8;function P1(B0,d){return!(!d&&B0===\"yield\")&&zx(B0,d)}function zx(B0,d){if(d&&function(N){switch(N){case\"implements\":case\"interface\":case\"package\":case\"private\":case\"protected\":case\"public\":case\"static\":case\"let\":return!0;default:return!1}}(B0))return!0;switch(B0.length){case 2:return B0===\"if\"||B0===\"in\"||B0===\"do\";case 3:return B0===\"var\"||B0===\"for\"||B0===\"new\"||B0===\"try\";case 4:return B0===\"this\"||B0===\"else\"||B0===\"case\"||B0===\"void\"||B0===\"with\"||B0===\"enum\";case 5:return B0===\"while\"||B0===\"break\"||B0===\"catch\"||B0===\"throw\"||B0===\"const\"||B0===\"yield\"||B0===\"class\"||B0===\"super\";case 6:return B0===\"return\"||B0===\"typeof\"||B0===\"delete\"||B0===\"switch\"||B0===\"export\"||B0===\"import\";case 7:return B0===\"default\"||B0===\"finally\"||B0===\"extends\";case 8:return B0===\"function\"||B0===\"continue\"||B0===\"debugger\";case 10:return B0===\"instanceof\";default:return!1}}function $e(B0,d){return B0===\"null\"||B0===\"true\"||B0===\"false\"||P1(B0,d)}function bt(B0,d){return B0===\"null\"||B0===\"true\"||B0===\"false\"||zx(B0,d)}function qr(B0){var d,N,C0;if(B0.length===0||(C0=B0.charCodeAt(0),!N0.isIdentifierStartES5(C0)))return!1;for(d=1,N=B0.length;d<N;++d)if(C0=B0.charCodeAt(d),!N0.isIdentifierPartES5(C0))return!1;return!0}function ji(B0){var d,N,C0,_1,jx;if(B0.length===0)return!1;for(jx=N0.isIdentifierStartES6,d=0,N=B0.length;d<N;++d){if(55296<=(C0=B0.charCodeAt(d))&&C0<=56319){if(++d>=N||!(56320<=(_1=B0.charCodeAt(d))&&_1<=57343))return!1;C0=1024*(C0-55296)+(_1-56320)+65536}if(!jx(C0))return!1;jx=N0.isIdentifierPartES6}return!0}S.exports={isKeywordES5:P1,isKeywordES6:zx,isReservedWordES5:$e,isReservedWordES6:bt,isRestrictedWord:function(B0){return B0===\"eval\"||B0===\"arguments\"},isIdentifierNameES5:qr,isIdentifierNameES6:ji,isIdentifierES5:function(B0,d){return qr(B0)&&!$e(B0,d)},isIdentifierES6:function(B0,d){return ji(B0)&&!bt(B0,d)}}})()});const yA=W0(function(S,N0){N0.ast=AF,N0.code=Y8,N0.keyword=hS}).keyword.isIdentifierNameES5,{getLast:JF,hasNewline:eE,skipWhitespace:ew,isNonEmptyArray:b5,isNextLineEmptyAfterIndex:DA}=n6,{locStart:_a,locEnd:$o,hasSameLocStart:To}=FF,Qc=new RegExp(\"^(?:(?=.)\\\\s)*:\"),od=new RegExp(\"^(?:(?=.)\\\\s)*::\");function _p(S){return S.type===\"Block\"||S.type===\"CommentBlock\"||S.type===\"MultiLine\"}function F8(S){return S.type===\"Line\"||S.type===\"CommentLine\"||S.type===\"SingleLine\"||S.type===\"HashbangComment\"||S.type===\"HTMLOpen\"||S.type===\"HTMLClose\"}const rg=new Set([\"ExportDefaultDeclaration\",\"ExportDefaultSpecifier\",\"DeclareExportDeclaration\",\"ExportNamedDeclaration\",\"ExportAllDeclaration\"]);function Y4(S){return S&&rg.has(S.type)}function ZS(S){return S.type===\"NumericLiteral\"||S.type===\"Literal\"&&typeof S.value==\"number\"}function A8(S){return S.type===\"StringLiteral\"||S.type===\"Literal\"&&typeof S.value==\"string\"}function WE(S){return S.type===\"FunctionExpression\"||S.type===\"ArrowFunctionExpression\"}function R8(S){return $2(S)&&S.callee.type===\"Identifier\"&&(S.callee.name===\"async\"||S.callee.name===\"inject\"||S.callee.name===\"fakeAsync\")}function gS(S){return S.type===\"JSXElement\"||S.type===\"JSXFragment\"}function N6(S){return S.kind===\"get\"||S.kind===\"set\"}function g4(S){return N6(S)||To(S,S.value)}const f_=new Set([\"BinaryExpression\",\"LogicalExpression\",\"NGPipeExpression\"]),TF=new Set([\"AnyTypeAnnotation\",\"TSAnyKeyword\",\"NullLiteralTypeAnnotation\",\"TSNullKeyword\",\"ThisTypeAnnotation\",\"TSThisType\",\"NumberTypeAnnotation\",\"TSNumberKeyword\",\"VoidTypeAnnotation\",\"TSVoidKeyword\",\"BooleanTypeAnnotation\",\"TSBooleanKeyword\",\"BigIntTypeAnnotation\",\"TSBigIntKeyword\",\"SymbolTypeAnnotation\",\"TSSymbolKeyword\",\"StringTypeAnnotation\",\"TSStringKeyword\",\"BooleanLiteralTypeAnnotation\",\"StringLiteralTypeAnnotation\",\"BigIntLiteralTypeAnnotation\",\"NumberLiteralTypeAnnotation\",\"TSLiteralType\",\"TSTemplateLiteralType\",\"EmptyTypeAnnotation\",\"MixedTypeAnnotation\",\"TSNeverKeyword\",\"TSObjectKeyword\",\"TSUndefinedKeyword\",\"TSUnknownKeyword\"]),G6=/^(skip|[fx]?(it|describe|test))$/;function $2(S){return S&&(S.type===\"CallExpression\"||S.type===\"OptionalCallExpression\")}function b8(S){return S&&(S.type===\"MemberExpression\"||S.type===\"OptionalMemberExpression\")}function vA(S){return/^(\\d+|\\d+\\.\\d+)$/.test(S)}function n5(S){return S.quasis.some(N0=>N0.value.raw.includes(`\n`))}function bb(S){return S.extra?S.extra.raw:S.raw}const P6={\"==\":!0,\"!=\":!0,\"===\":!0,\"!==\":!0},i6={\"*\":!0,\"/\":!0,\"%\":!0},wF={\">>\":!0,\">>>\":!0,\"<<\":!0},I6={};for(const[S,N0]of[[\"|>\"],[\"??\"],[\"||\"],[\"&&\"],[\"|\"],[\"^\"],[\"&\"],[\"==\",\"===\",\"!=\",\"!==\"],[\"<\",\">\",\"<=\",\">=\",\"in\",\"instanceof\"],[\">>\",\"<<\",\">>>\"],[\"+\",\"-\"],[\"*\",\"/\",\"%\"],[\"**\"]].entries())for(const P1 of N0)I6[P1]=S;function sd(S){return I6[S]}const HF=new WeakMap;function aS(S){if(HF.has(S))return HF.get(S);const N0=[];return S.this&&N0.push(S.this),Array.isArray(S.parameters)?N0.push(...S.parameters):Array.isArray(S.params)&&N0.push(...S.params),S.rest&&N0.push(S.rest),HF.set(S,N0),N0}const B4=new WeakMap;function Ux(S){if(B4.has(S))return B4.get(S);let N0=S.arguments;return S.type===\"ImportExpression\"&&(N0=[S.source],S.attributes&&N0.push(S.attributes)),B4.set(S,N0),N0}function ue(S){return S.value.trim()===\"prettier-ignore\"&&!S.unignore}function Xe(S){return S&&(S.prettierIgnore||hr(S,Ht.PrettierIgnore))}const Ht={Leading:2,Trailing:4,Dangling:8,Block:16,Line:32,PrettierIgnore:64,First:128,Last:256},le=(S,N0)=>{if(typeof S==\"function\"&&(N0=S,S=0),S||N0)return(P1,zx,$e)=>!(S&Ht.Leading&&!P1.leading||S&Ht.Trailing&&!P1.trailing||S&Ht.Dangling&&(P1.leading||P1.trailing)||S&Ht.Block&&!_p(P1)||S&Ht.Line&&!F8(P1)||S&Ht.First&&zx!==0||S&Ht.Last&&zx!==$e.length-1||S&Ht.PrettierIgnore&&!ue(P1)||N0&&!N0(P1))};function hr(S,N0,P1){if(!S||!b5(S.comments))return!1;const zx=le(N0,P1);return!zx||S.comments.some(zx)}function pr(S,N0,P1){if(!S||!Array.isArray(S.comments))return[];const zx=le(N0,P1);return zx?S.comments.filter(zx):S.comments}function lt(S){return $2(S)||S.type===\"NewExpression\"||S.type===\"ImportExpression\"}var Qr={getFunctionParameters:aS,iterateFunctionParametersPath:function(S,N0){const P1=S.getValue();let zx=0;const $e=bt=>N0(bt,zx++);P1.this&&S.call($e,\"this\"),Array.isArray(P1.parameters)?S.each($e,\"parameters\"):Array.isArray(P1.params)&&S.each($e,\"params\"),P1.rest&&S.call($e,\"rest\")},getCallArguments:Ux,iterateCallArgumentsPath:function(S,N0){const P1=S.getValue();P1.type===\"ImportExpression\"?(S.call(zx=>N0(zx,0),\"source\"),P1.attributes&&S.call(zx=>N0(zx,1),\"attributes\")):S.each(N0,\"arguments\")},hasRestParameter:function(S){if(S.rest)return!0;const N0=aS(S);return N0.length>0&&JF(N0).type===\"RestElement\"},getLeftSide:function(S){return S.expressions?S.expressions[0]:S.left||S.test||S.callee||S.object||S.tag||S.argument||S.expression},getLeftSidePathName:function(S,N0){if(N0.expressions)return[\"expressions\",0];if(N0.left)return[\"left\"];if(N0.test)return[\"test\"];if(N0.object)return[\"object\"];if(N0.callee)return[\"callee\"];if(N0.tag)return[\"tag\"];if(N0.argument)return[\"argument\"];if(N0.expression)return[\"expression\"];throw new Error(\"Unexpected node has no left side.\")},getParentExportDeclaration:function(S){const N0=S.getParentNode();return S.getName()===\"declaration\"&&Y4(N0)?N0:null},getTypeScriptMappedTypeModifier:function(S,N0){return S===\"+\"?\"+\"+N0:S===\"-\"?\"-\"+N0:N0},hasFlowAnnotationComment:function(S){return S&&_p(S[0])&&od.test(S[0].value)},hasFlowShorthandAnnotationComment:function(S){return S.extra&&S.extra.parenthesized&&b5(S.trailingComments)&&_p(S.trailingComments[0])&&Qc.test(S.trailingComments[0].value)},hasLeadingOwnLineComment:function(S,N0){return gS(N0)?Xe(N0):hr(N0,Ht.Leading,P1=>eE(S,$o(P1)))},hasNakedLeftSide:function(S){return S.type===\"AssignmentExpression\"||S.type===\"BinaryExpression\"||S.type===\"LogicalExpression\"||S.type===\"NGPipeExpression\"||S.type===\"ConditionalExpression\"||$2(S)||b8(S)||S.type===\"SequenceExpression\"||S.type===\"TaggedTemplateExpression\"||S.type===\"BindExpression\"||S.type===\"UpdateExpression\"&&!S.prefix||S.type===\"TSAsExpression\"||S.type===\"TSNonNullExpression\"},hasNode:function S(N0,P1){if(!N0||typeof N0!=\"object\")return!1;if(Array.isArray(N0))return N0.some($e=>S($e,P1));const zx=P1(N0);return typeof zx==\"boolean\"?zx:Object.values(N0).some($e=>S($e,P1))},hasIgnoreComment:function(S){return Xe(S.getValue())},hasNodeIgnoreComment:Xe,identity:function(S){return S},isBinaryish:function(S){return f_.has(S.type)},isBlockComment:_p,isCallLikeExpression:lt,isLineComment:F8,isPrettierIgnoreComment:ue,isCallExpression:$2,isMemberExpression:b8,isExportDeclaration:Y4,isFlowAnnotationComment:function(S,N0){const P1=_a(N0),zx=ew(S,$o(N0));return zx!==!1&&S.slice(P1,P1+2)===\"/*\"&&S.slice(zx,zx+2)===\"*/\"},isFunctionCompositionArgs:function(S){if(S.length<=1)return!1;let N0=0;for(const P1 of S)if(WE(P1)){if(N0+=1,N0>1)return!0}else if($2(P1)){for(const zx of P1.arguments)if(WE(zx))return!0}return!1},isFunctionNotation:g4,isFunctionOrArrowExpression:WE,isGetterOrSetter:N6,isJestEachTemplateLiteral:function(S,N0){const P1=/^[fx]?(describe|it|test)$/;return N0.type===\"TaggedTemplateExpression\"&&N0.quasi===S&&N0.tag.type===\"MemberExpression\"&&N0.tag.property.type===\"Identifier\"&&N0.tag.property.name===\"each\"&&(N0.tag.object.type===\"Identifier\"&&P1.test(N0.tag.object.name)||N0.tag.object.type===\"MemberExpression\"&&N0.tag.object.property.type===\"Identifier\"&&(N0.tag.object.property.name===\"only\"||N0.tag.object.property.name===\"skip\")&&N0.tag.object.object.type===\"Identifier\"&&P1.test(N0.tag.object.object.name))},isJsxNode:gS,isLiteral:function(S){return S.type===\"BooleanLiteral\"||S.type===\"DirectiveLiteral\"||S.type===\"Literal\"||S.type===\"NullLiteral\"||S.type===\"NumericLiteral\"||S.type===\"BigIntLiteral\"||S.type===\"DecimalLiteral\"||S.type===\"RegExpLiteral\"||S.type===\"StringLiteral\"||S.type===\"TemplateLiteral\"||S.type===\"TSTypeLiteral\"||S.type===\"JSXText\"},isLongCurriedCallExpression:function(S){const N0=S.getValue(),P1=S.getParentNode();return $2(N0)&&$2(P1)&&P1.callee===N0&&N0.arguments.length>P1.arguments.length&&P1.arguments.length>0},isSimpleCallArgument:function S(N0,P1){if(P1>=2)return!1;const zx=bt=>S(bt,P1+1),$e=N0.type===\"Literal\"&&\"regex\"in N0&&N0.regex.pattern||N0.type===\"RegExpLiteral\"&&N0.pattern;return!($e&&$e.length>5)&&(N0.type===\"Literal\"||N0.type===\"BigIntLiteral\"||N0.type===\"DecimalLiteral\"||N0.type===\"BooleanLiteral\"||N0.type===\"NullLiteral\"||N0.type===\"NumericLiteral\"||N0.type===\"RegExpLiteral\"||N0.type===\"StringLiteral\"||N0.type===\"Identifier\"||N0.type===\"ThisExpression\"||N0.type===\"Super\"||N0.type===\"PrivateName\"||N0.type===\"PrivateIdentifier\"||N0.type===\"ArgumentPlaceholder\"||N0.type===\"Import\"||(N0.type===\"TemplateLiteral\"?N0.quasis.every(bt=>!bt.value.raw.includes(`\n`))&&N0.expressions.every(zx):N0.type===\"ObjectExpression\"?N0.properties.every(bt=>!bt.computed&&(bt.shorthand||bt.value&&zx(bt.value))):N0.type===\"ArrayExpression\"?N0.elements.every(bt=>bt===null||zx(bt)):lt(N0)?(N0.type===\"ImportExpression\"||S(N0.callee,P1))&&Ux(N0).every(zx):b8(N0)?S(N0.object,P1)&&S(N0.property,P1):N0.type!==\"UnaryExpression\"||N0.operator!==\"!\"&&N0.operator!==\"-\"?N0.type===\"TSNonNullExpression\"&&S(N0.expression,P1):S(N0.argument,P1)))},isMemberish:function(S){return b8(S)||S.type===\"BindExpression\"&&Boolean(S.object)},isNumericLiteral:ZS,isSignedNumericLiteral:function(S){return S.type===\"UnaryExpression\"&&(S.operator===\"+\"||S.operator===\"-\")&&ZS(S.argument)},isObjectProperty:function(S){return S&&(S.type===\"ObjectProperty\"||S.type===\"Property\"&&!S.method&&S.kind===\"init\")},isObjectType:function(S){return S.type===\"ObjectTypeAnnotation\"||S.type===\"TSTypeLiteral\"},isObjectTypePropertyAFunction:function(S){return!(S.type!==\"ObjectTypeProperty\"&&S.type!==\"ObjectTypeInternalSlot\"||S.value.type!==\"FunctionTypeAnnotation\"||S.static||g4(S))},isSimpleType:function(S){return!!S&&(!(S.type!==\"GenericTypeAnnotation\"&&S.type!==\"TSTypeReference\"||S.typeParameters)||!!TF.has(S.type))},isSimpleNumber:vA,isSimpleTemplateLiteral:function(S){let N0=\"expressions\";S.type===\"TSTemplateLiteralType\"&&(N0=\"types\");const P1=S[N0];return P1.length!==0&&P1.every(zx=>{if(hr(zx))return!1;if(zx.type===\"Identifier\"||zx.type===\"ThisExpression\")return!0;if(b8(zx)){let $e=zx;for(;b8($e);)if($e.property.type!==\"Identifier\"&&$e.property.type!==\"Literal\"&&$e.property.type!==\"StringLiteral\"&&$e.property.type!==\"NumericLiteral\"||($e=$e.object,hr($e)))return!1;return $e.type===\"Identifier\"||$e.type===\"ThisExpression\"}return!1})},isStringLiteral:A8,isStringPropSafeToUnquote:function(S,N0){return N0.parser!==\"json\"&&A8(S.key)&&bb(S.key).slice(1,-1)===S.key.value&&(yA(S.key.value)&&!((N0.parser===\"typescript\"||N0.parser===\"babel-ts\")&&S.type===\"ClassProperty\")||vA(S.key.value)&&String(Number(S.key.value))===S.key.value&&(N0.parser===\"babel\"||N0.parser===\"espree\"||N0.parser===\"meriyah\"||N0.parser===\"__babel_estree\"))},isTemplateOnItsOwnLine:function(S,N0){return(S.type===\"TemplateLiteral\"&&n5(S)||S.type===\"TaggedTemplateExpression\"&&n5(S.quasi))&&!eE(N0,_a(S),{backwards:!0})},isTestCall:function S(N0,P1){if(N0.type!==\"CallExpression\")return!1;if(N0.arguments.length===1){if(R8(N0)&&P1&&S(P1))return WE(N0.arguments[0]);if(function(zx){return zx.callee.type===\"Identifier\"&&/^(before|after)(Each|All)$/.test(zx.callee.name)&&zx.arguments.length===1}(N0))return R8(N0.arguments[0])}else if((N0.arguments.length===2||N0.arguments.length===3)&&(N0.callee.type===\"Identifier\"&&G6.test(N0.callee.name)||function(zx){return b8(zx.callee)&&zx.callee.object.type===\"Identifier\"&&zx.callee.property.type===\"Identifier\"&&G6.test(zx.callee.object.name)&&(zx.callee.property.name===\"only\"||zx.callee.property.name===\"skip\")}(N0))&&(function(zx){return zx.type===\"TemplateLiteral\"}(N0.arguments[0])||A8(N0.arguments[0])))return!(N0.arguments[2]&&!ZS(N0.arguments[2]))&&((N0.arguments.length===2?WE(N0.arguments[1]):function(zx){return zx.type===\"FunctionExpression\"||zx.type===\"ArrowFunctionExpression\"&&zx.body.type===\"BlockStatement\"}(N0.arguments[1])&&aS(N0.arguments[1]).length<=1)||R8(N0.arguments[1]));return!1},isTheOnlyJsxElementInMarkdown:function(S,N0){if(S.parentParser!==\"markdown\"&&S.parentParser!==\"mdx\")return!1;const P1=N0.getNode();if(!P1.expression||!gS(P1.expression))return!1;const zx=N0.getParentNode();return zx.type===\"Program\"&&zx.body.length===1},isTSXFile:function(S){return S.filepath&&/\\.tsx$/i.test(S.filepath)},isTypeAnnotationAFunction:function(S){return!(S.type!==\"TypeAnnotation\"&&S.type!==\"TSTypeAnnotation\"||S.typeAnnotation.type!==\"FunctionTypeAnnotation\"||S.static||To(S,S.typeAnnotation))},isNextLineEmpty:(S,{originalText:N0})=>DA(N0,$o(S)),needsHardlineAfterDanglingComment:function(S){if(!hr(S))return!1;const N0=JF(pr(S,Ht.Dangling));return N0&&!_p(N0)},rawText:bb,shouldPrintComma:function(S,N0=\"es5\"){return S.trailingComma===\"es5\"&&N0===\"es5\"||S.trailingComma===\"all\"&&(N0===\"all\"||N0===\"es5\")},isBitwiseOperator:function(S){return Boolean(wF[S])||S===\"|\"||S===\"^\"||S===\"&\"},shouldFlatten:function(S,N0){return sd(N0)===sd(S)&&S!==\"**\"&&(!P6[S]||!P6[N0])&&!(N0===\"%\"&&i6[S]||S===\"%\"&&i6[N0])&&(N0===S||!i6[N0]||!i6[S])&&(!wF[S]||!wF[N0])},startsWithNoLookaheadToken:function S(N0,P1){switch((N0=function(zx){for(;zx.left;)zx=zx.left;return zx}(N0)).type){case\"FunctionExpression\":case\"ClassExpression\":case\"DoExpression\":return P1;case\"ObjectExpression\":return!0;case\"MemberExpression\":case\"OptionalMemberExpression\":return S(N0.object,P1);case\"TaggedTemplateExpression\":return N0.tag.type!==\"FunctionExpression\"&&S(N0.tag,P1);case\"CallExpression\":case\"OptionalCallExpression\":return N0.callee.type!==\"FunctionExpression\"&&S(N0.callee,P1);case\"ConditionalExpression\":return S(N0.test,P1);case\"UpdateExpression\":return!N0.prefix&&S(N0.argument,P1);case\"BindExpression\":return N0.object&&S(N0.object,P1);case\"SequenceExpression\":return S(N0.expressions[0],P1);case\"TSAsExpression\":case\"TSNonNullExpression\":return S(N0.expression,P1);default:return!1}},getPrecedence:sd,hasComment:hr,getComments:pr,CommentCheckFlags:Ht};const{getLast:Wi,hasNewline:Io,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:Uo,getNextNonSpaceNonCommentCharacter:sa,hasNewlineInRange:fn,addLeadingComment:Gn,addTrailingComment:Ti,addDanglingComment:Eo,getNextNonSpaceNonCommentCharacterIndex:qo,isNonEmptyArray:ci}=n6,{isBlockComment:os,getFunctionParameters:$s,isPrettierIgnoreComment:Po,isJsxNode:Dr,hasFlowShorthandAnnotationComment:Nm,hasFlowAnnotationComment:Og,hasIgnoreComment:Bg,isCallLikeExpression:_S,getCallArguments:f8,isCallExpression:Lx,isMemberExpression:q1,isObjectProperty:Qx}=Qr,{locStart:Be,locEnd:St}=FF;function _r(S,N0){const P1=(S.body||S.properties).find(({type:zx})=>zx!==\"EmptyStatement\");P1?Gn(P1,N0):Eo(S,N0)}function gi(S,N0){S.type===\"BlockStatement\"?_r(S,N0):Gn(S,N0)}function je({comment:S,followingNode:N0}){return!(!N0||!Q8(S))&&(Gn(N0,S),!0)}function Gu({comment:S,precedingNode:N0,enclosingNode:P1,followingNode:zx,text:$e}){return!P1||P1.type!==\"IfStatement\"||!zx?!1:sa($e,S,St)===\")\"?(Ti(N0,S),!0):N0===P1.consequent&&zx===P1.alternate?(N0.type===\"BlockStatement\"?Ti(N0,S):Eo(P1,S),!0):zx.type===\"BlockStatement\"?(_r(zx,S),!0):zx.type===\"IfStatement\"?(gi(zx.consequent,S),!0):P1.consequent===zx&&(Gn(zx,S),!0)}function io({comment:S,precedingNode:N0,enclosingNode:P1,followingNode:zx,text:$e}){return!P1||P1.type!==\"WhileStatement\"||!zx?!1:sa($e,S,St)===\")\"?(Ti(N0,S),!0):zx.type===\"BlockStatement\"?(_r(zx,S),!0):P1.body===zx&&(Gn(zx,S),!0)}function ss({comment:S,precedingNode:N0,enclosingNode:P1,followingNode:zx}){return!(!P1||P1.type!==\"TryStatement\"&&P1.type!==\"CatchClause\"||!zx)&&(P1.type===\"CatchClause\"&&N0?(Ti(N0,S),!0):zx.type===\"BlockStatement\"?(_r(zx,S),!0):zx.type===\"TryStatement\"?(gi(zx.finalizer,S),!0):zx.type===\"CatchClause\"&&(gi(zx.body,S),!0))}function to({comment:S,enclosingNode:N0,followingNode:P1}){return!(!q1(N0)||!P1||P1.type!==\"Identifier\")&&(Gn(N0,S),!0)}function Ma({comment:S,precedingNode:N0,enclosingNode:P1,followingNode:zx,text:$e}){const bt=N0&&!fn($e,St(N0),Be(S));return!(N0&&bt||!P1||P1.type!==\"ConditionalExpression\"&&P1.type!==\"TSConditionalType\"||!zx)&&(Gn(zx,S),!0)}function Ks({comment:S,precedingNode:N0,enclosingNode:P1}){return!(!Qx(P1)||!P1.shorthand||P1.key!==N0||P1.value.type!==\"AssignmentPattern\")&&(Ti(P1.value.left,S),!0)}function Qa({comment:S,precedingNode:N0,enclosingNode:P1,followingNode:zx}){if(P1&&(P1.type===\"ClassDeclaration\"||P1.type===\"ClassExpression\"||P1.type===\"DeclareClass\"||P1.type===\"DeclareInterface\"||P1.type===\"InterfaceDeclaration\"||P1.type===\"TSInterfaceDeclaration\")){if(ci(P1.decorators)&&(!zx||zx.type!==\"Decorator\"))return Ti(Wi(P1.decorators),S),!0;if(P1.body&&zx===P1.body)return _r(P1.body,S),!0;if(zx){for(const $e of[\"implements\",\"extends\",\"mixins\"])if(P1[$e]&&zx===P1[$e][0])return!N0||N0!==P1.id&&N0!==P1.typeParameters&&N0!==P1.superClass?Eo(P1,S,$e):Ti(N0,S),!0}}return!1}function Wc({comment:S,precedingNode:N0,enclosingNode:P1,text:zx}){return(P1&&N0&&(P1.type===\"Property\"||P1.type===\"TSDeclareMethod\"||P1.type===\"TSAbstractMethodDefinition\")&&N0.type===\"Identifier\"&&P1.key===N0&&sa(zx,N0,St)!==\":\"||!(!N0||!P1||N0.type!==\"Decorator\"||P1.type!==\"ClassMethod\"&&P1.type!==\"ClassProperty\"&&P1.type!==\"PropertyDefinition\"&&P1.type!==\"TSAbstractClassProperty\"&&P1.type!==\"TSAbstractMethodDefinition\"&&P1.type!==\"TSDeclareMethod\"&&P1.type!==\"MethodDefinition\"))&&(Ti(N0,S),!0)}function la({comment:S,precedingNode:N0,enclosingNode:P1,text:zx}){return sa(zx,S,St)===\"(\"&&!(!N0||!P1||P1.type!==\"FunctionDeclaration\"&&P1.type!==\"FunctionExpression\"&&P1.type!==\"ClassMethod\"&&P1.type!==\"MethodDefinition\"&&P1.type!==\"ObjectMethod\")&&(Ti(N0,S),!0)}function Af({comment:S,enclosingNode:N0,text:P1}){if(!N0||N0.type!==\"ArrowFunctionExpression\")return!1;const zx=qo(P1,S,St);return zx!==!1&&P1.slice(zx,zx+2)===\"=>\"&&(Eo(N0,S),!0)}function so({comment:S,enclosingNode:N0,text:P1}){return sa(P1,S,St)===\")\"&&(N0&&(Um(N0)&&$s(N0).length===0||_S(N0)&&f8(N0).length===0)?(Eo(N0,S),!0):!(!N0||N0.type!==\"MethodDefinition\"&&N0.type!==\"TSAbstractMethodDefinition\"||$s(N0.value).length!==0)&&(Eo(N0.value,S),!0))}function qu({comment:S,precedingNode:N0,enclosingNode:P1,followingNode:zx,text:$e}){if(N0&&N0.type===\"FunctionTypeParam\"&&P1&&P1.type===\"FunctionTypeAnnotation\"&&zx&&zx.type!==\"FunctionTypeParam\"||N0&&(N0.type===\"Identifier\"||N0.type===\"AssignmentPattern\")&&P1&&Um(P1)&&sa($e,S,St)===\")\")return Ti(N0,S),!0;if(P1&&P1.type===\"FunctionDeclaration\"&&zx&&zx.type===\"BlockStatement\"){const bt=(()=>{const qr=$s(P1);if(qr.length>0)return Uo($e,St(Wi(qr)));const ji=Uo($e,St(P1.id));return ji!==!1&&Uo($e,ji+1)})();if(Be(S)>bt)return _r(zx,S),!0}return!1}function lf({comment:S,enclosingNode:N0}){return!(!N0||N0.type!==\"ImportSpecifier\")&&(Gn(N0,S),!0)}function uu({comment:S,enclosingNode:N0}){return!(!N0||N0.type!==\"LabeledStatement\")&&(Gn(N0,S),!0)}function ud({comment:S,enclosingNode:N0}){return!(!N0||N0.type!==\"ContinueStatement\"&&N0.type!==\"BreakStatement\"||N0.label)&&(Ti(N0,S),!0)}function fm({comment:S,precedingNode:N0,enclosingNode:P1}){return!!(Lx(P1)&&N0&&P1.callee===N0&&P1.arguments.length>0)&&(Gn(P1.arguments[0],S),!0)}function w2({comment:S,precedingNode:N0,enclosingNode:P1,followingNode:zx}){return!P1||P1.type!==\"UnionTypeAnnotation\"&&P1.type!==\"TSUnionType\"?(zx&&(zx.type===\"UnionTypeAnnotation\"||zx.type===\"TSUnionType\")&&Po(S)&&(zx.types[0].prettierIgnore=!0,S.unignore=!0),!1):(Po(S)&&(zx.prettierIgnore=!0,S.unignore=!0),!!N0&&(Ti(N0,S),!0))}function US({comment:S,enclosingNode:N0}){return!!Qx(N0)&&(Gn(N0,S),!0)}function j8({comment:S,enclosingNode:N0,followingNode:P1,ast:zx,isLastComment:$e}){return zx&&zx.body&&zx.body.length===0?($e?Eo(zx,S):Gn(zx,S),!0):N0&&N0.type===\"Program\"&&N0.body.length===0&&!ci(N0.directives)?($e?Eo(N0,S):Gn(N0,S),!0):!(!P1||P1.type!==\"Program\"||P1.body.length!==0||!N0||N0.type!==\"ModuleExpression\")&&(Eo(P1,S),!0)}function tE({comment:S,enclosingNode:N0}){return!(!N0||N0.type!==\"ForInStatement\"&&N0.type!==\"ForOfStatement\")&&(Gn(N0,S),!0)}function U8({comment:S,precedingNode:N0,enclosingNode:P1,text:zx}){return!!(N0&&N0.type===\"ImportSpecifier\"&&P1&&P1.type===\"ImportDeclaration\"&&Io(zx,St(S)))&&(Ti(N0,S),!0)}function xp({comment:S,enclosingNode:N0}){return!(!N0||N0.type!==\"AssignmentPattern\")&&(Gn(N0,S),!0)}function tw({comment:S,enclosingNode:N0}){return!(!N0||N0.type!==\"TypeAlias\")&&(Gn(N0,S),!0)}function _4({comment:S,enclosingNode:N0,followingNode:P1}){return!(!N0||N0.type!==\"VariableDeclarator\"&&N0.type!==\"AssignmentExpression\"||!P1||P1.type!==\"ObjectExpression\"&&P1.type!==\"ArrayExpression\"&&P1.type!==\"TemplateLiteral\"&&P1.type!==\"TaggedTemplateExpression\"&&!os(S))&&(Gn(P1,S),!0)}function rw({comment:S,enclosingNode:N0,followingNode:P1,text:zx}){return!(P1||!N0||N0.type!==\"TSMethodSignature\"&&N0.type!==\"TSDeclareFunction\"&&N0.type!==\"TSAbstractMethodDefinition\"||sa(zx,S,St)!==\";\")&&(Ti(N0,S),!0)}function kF({comment:S,enclosingNode:N0,followingNode:P1}){if(Po(S)&&N0&&N0.type===\"TSMappedType\"&&P1&&P1.type===\"TSTypeParameter\"&&P1.constraint)return N0.prettierIgnore=!0,S.unignore=!0,!0}function i5({comment:S,precedingNode:N0,enclosingNode:P1,followingNode:zx}){return!(!P1||P1.type!==\"TSMappedType\")&&(zx&&zx.type===\"TSTypeParameter\"&&zx.name?(Gn(zx.name,S),!0):!(!N0||N0.type!==\"TSTypeParameter\"||!N0.constraint)&&(Ti(N0.constraint,S),!0))}function Um(S){return S.type===\"ArrowFunctionExpression\"||S.type===\"FunctionExpression\"||S.type===\"FunctionDeclaration\"||S.type===\"ObjectMethod\"||S.type===\"ClassMethod\"||S.type===\"TSDeclareFunction\"||S.type===\"TSCallSignatureDeclaration\"||S.type===\"TSConstructSignatureDeclaration\"||S.type===\"TSMethodSignature\"||S.type===\"TSConstructorType\"||S.type===\"TSFunctionType\"||S.type===\"TSDeclareMethod\"}function Q8(S){return os(S)&&S.value[0]===\"*\"&&/@type\\b/.test(S.value)}var bA={handleOwnLineComment:function(S){return[kF,qu,to,Gu,io,ss,Qa,lf,tE,w2,j8,U8,xp,Wc,uu].some(N0=>N0(S))},handleEndOfLineComment:function(S){return[je,qu,Ma,lf,Gu,io,ss,Qa,uu,fm,US,j8,tw,_4].some(N0=>N0(S))},handleRemainingComment:function(S){return[kF,Gu,io,Ks,so,Wc,j8,Af,la,i5,ud,rw].some(N0=>N0(S))},isTypeCastComment:Q8,getCommentChildNodes:function(S,N0){if((N0.parser===\"typescript\"||N0.parser===\"flow\"||N0.parser===\"espree\"||N0.parser===\"meriyah\"||N0.parser===\"__babel_estree\")&&S.type===\"MethodDefinition\"&&S.value&&S.value.type===\"FunctionExpression\"&&$s(S.value).length===0&&!S.value.returnType&&!ci(S.value.typeParameters)&&S.value.body)return[...S.decorators||[],S.key,S.value.body]},willPrintOwnComments:function(S){const N0=S.getValue(),P1=S.getParentNode();return(N0&&(Dr(N0)||Nm(N0)||Lx(P1)&&(Og(N0.leadingComments)||Og(N0.trailingComments)))||P1&&(P1.type===\"JSXSpreadAttribute\"||P1.type===\"JSXSpreadChild\"||P1.type===\"UnionTypeAnnotation\"||P1.type===\"TSUnionType\"||(P1.type===\"ClassDeclaration\"||P1.type===\"ClassExpression\")&&P1.superClass===N0))&&(!Bg(S)||P1.type===\"UnionTypeAnnotation\"||P1.type===\"TSUnionType\")}};const{getLast:CA,getNextNonSpaceNonCommentCharacter:sT}=n6,{locStart:rE,locEnd:Z8}=FF,{isTypeCastComment:V5}=bA;function FS(S){return S.type===\"CallExpression\"?(S.type=\"OptionalCallExpression\",S.callee=FS(S.callee)):S.type===\"MemberExpression\"?(S.type=\"OptionalMemberExpression\",S.object=FS(S.object)):S.type===\"TSNonNullExpression\"&&(S.expression=FS(S.expression)),S}function xF(S,N0){let P1;if(Array.isArray(S))P1=S.entries();else{if(!S||typeof S!=\"object\"||typeof S.type!=\"string\")return S;P1=Object.entries(S)}for(const[zx,$e]of P1)S[zx]=xF($e,N0);return Array.isArray(S)?S:N0(S)||S}function $5(S){return S.type===\"LogicalExpression\"&&S.right.type===\"LogicalExpression\"&&S.operator===S.right.operator}function AS(S){return $5(S)?AS({type:\"LogicalExpression\",operator:S.operator,left:AS({type:\"LogicalExpression\",operator:S.operator,left:S.left,right:S.right.left,range:[rE(S.left),Z8(S.right.left)]}),right:S.right.right,range:[rE(S),Z8(S)]}):S}var O6,zw=function(S,N0){if(N0.parser===\"typescript\"&&N0.originalText.includes(\"@\")){const{esTreeNodeToTSNodeMap:P1,tsNodeToESTreeNodeMap:zx}=N0.tsParseResult;S=xF(S,$e=>{const bt=P1.get($e);if(!bt)return;const qr=bt.decorators;if(!Array.isArray(qr))return;const ji=zx.get(bt);if(ji!==$e)return;const B0=ji.decorators;if(!Array.isArray(B0)||B0.length!==qr.length||qr.some(d=>{const N=zx.get(d);return!N||!B0.includes(N)})){const{start:d,end:N}=ji.loc;throw c(\"Leading decorators must be attached to a class declaration\",{start:{line:d.line,column:d.column+1},end:{line:N.line,column:N.column+1}})}})}if(N0.parser!==\"typescript\"&&N0.parser!==\"flow\"&&N0.parser!==\"espree\"&&N0.parser!==\"meriyah\"){const P1=new Set;S=xF(S,zx=>{zx.leadingComments&&zx.leadingComments.some(V5)&&P1.add(rE(zx))}),S=xF(S,zx=>{if(zx.type===\"ParenthesizedExpression\"){const{expression:$e}=zx;if($e.type===\"TypeCastExpression\")return $e.range=zx.range,$e;const bt=rE(zx);if(!P1.has(bt))return $e.extra=Object.assign(Object.assign({},$e.extra),{},{parenthesized:!0}),$e}})}return S=xF(S,P1=>{switch(P1.type){case\"ChainExpression\":return FS(P1.expression);case\"LogicalExpression\":if($5(P1))return AS(P1);break;case\"VariableDeclaration\":{const zx=CA(P1.declarations);zx&&zx.init&&function($e,bt){N0.originalText[Z8(bt)]!==\";\"&&($e.range=[rE($e),Z8(bt)])}(P1,zx);break}case\"TSParenthesizedType\":return P1.typeAnnotation.range=[rE(P1),Z8(P1)],P1.typeAnnotation;case\"TSTypeParameter\":if(typeof P1.name==\"string\"){const zx=rE(P1);P1.name={type:\"Identifier\",name:P1.name,range:[zx,zx+P1.name.length]}}break;case\"SequenceExpression\":{const zx=CA(P1.expressions);P1.range=[rE(P1),Math.min(Z8(zx),Z8(P1))];break}case\"ClassProperty\":P1.key&&P1.key.type===\"TSPrivateIdentifier\"&&sT(N0.originalText,P1.key,Z8)===\"?\"&&(P1.optional=!0)}})};function EA(){if(O6===void 0){var S=new ArrayBuffer(2),N0=new Uint8Array(S),P1=new Uint16Array(S);if(N0[0]=1,N0[1]=2,P1[0]===258)O6=\"BE\";else{if(P1[0]!==513)throw new Error(\"unable to figure out endianess\");O6=\"LE\"}}return O6}function K5(){return eg.location!==void 0?eg.location.hostname:\"\"}function ps(){return[]}function eF(){return 0}function NF(){return Number.MAX_VALUE}function C8(){return Number.MAX_VALUE}function L4(){return[]}function KT(){return\"Browser\"}function C5(){return eg.navigator!==void 0?eg.navigator.appVersion:\"\"}function y4(){}function Zs(){}function GF(){return\"javascript\"}function zT(){return\"browser\"}function AT(){return\"/tmp\"}var a5=AT,z5={EOL:`\n`,arch:GF,platform:zT,tmpdir:a5,tmpDir:AT,networkInterfaces:y4,getNetworkInterfaces:Zs,release:C5,type:KT,cpus:L4,totalmem:C8,freemem:NF,uptime:eF,loadavg:ps,hostname:K5,endianness:EA},XF=Object.freeze({__proto__:null,endianness:EA,hostname:K5,loadavg:ps,uptime:eF,freemem:NF,totalmem:C8,cpus:L4,type:KT,release:C5,networkInterfaces:y4,getNetworkInterfaces:Zs,arch:GF,platform:zT,tmpDir:AT,tmpdir:a5,EOL:`\n`,default:z5});const zs=S=>{if(typeof S!=\"string\")throw new TypeError(\"Expected a string\");const N0=S.match(/(?:\\r?\\n)/g)||[];if(N0.length===0)return;const P1=N0.filter(zx=>zx===`\\r\n`).length;return P1>N0.length-P1?`\\r\n`:`\n`};var W5=zs;W5.graceful=S=>typeof S==\"string\"&&zs(S)||`\n`;var TT=D1(XF),kx=function(S){const N0=S.match(cu);return N0?N0[0].trimLeft():\"\"},Xx=function(S){const N0=S.match(cu);return N0&&N0[0]?S.substring(N0[0].length):S},Ee=function(S){return Ll(S).pragmas},at=Ll,cn=function({comments:S=\"\",pragmas:N0={}}){const P1=(0,ao().default)(S)||Bn().EOL,zx=\" *\",$e=Object.keys(N0),bt=$e.map(ji=>$l(ji,N0[ji])).reduce((ji,B0)=>ji.concat(B0),[]).map(ji=>\" * \"+ji+P1).join(\"\");if(!S){if($e.length===0)return\"\";if($e.length===1&&!Array.isArray(N0[$e[0]])){const ji=N0[$e[0]];return`/** ${$l($e[0],ji)[0]} */`}}const qr=S.split(P1).map(ji=>` * ${ji}`).join(P1)+P1;return\"/**\"+P1+(S?qr:\"\")+(S&&$e.length?zx+P1:\"\")+bt+\" */\"};function Bn(){const S=TT;return Bn=function(){return S},S}function ao(){const S=(N0=W5)&&N0.__esModule?N0:{default:N0};var N0;return ao=function(){return S},S}const go=/\\*\\/$/,gu=/^\\/\\*\\*/,cu=/^\\s*(\\/\\*\\*?(.|\\r?\\n)*?\\*\\/)/,El=/(^|\\s+)\\/\\/([^\\r\\n]*)/g,Go=/^(\\r?\\n)+/,Xu=/(?:^|\\r?\\n) *(@[^\\r\\n]*?) *\\r?\\n *(?![^@\\r\\n]*\\/\\/[^]*)([^@\\r\\n\\s][^@\\r\\n]+?) *\\r?\\n/g,Ql=/(?:^|\\r?\\n) *@(\\S+) *([^\\r\\n]*)/g,p_=/(\\r?\\n|^) *\\* ?/g,ap=[];function Ll(S){const N0=(0,ao().default)(S)||Bn().EOL;S=S.replace(gu,\"\").replace(go,\"\").replace(p_,\"$1\");let P1=\"\";for(;P1!==S;)P1=S,S=S.replace(Xu,`${N0}$1 $2${N0}`);S=S.replace(Go,\"\").trimRight();const zx=Object.create(null),$e=S.replace(Ql,\"\").replace(Go,\"\").trimRight();let bt;for(;bt=Ql.exec(S);){const qr=bt[2].replace(El,\"\");typeof zx[bt[1]]==\"string\"||Array.isArray(zx[bt[1]])?zx[bt[1]]=ap.concat(zx[bt[1]],qr):zx[bt[1]]=qr}return{comments:$e,pragmas:zx}}function $l(S,N0){return ap.concat(N0).map(P1=>`@${S} ${P1}`.trim())}var Tu=Object.defineProperty({extract:kx,strip:Xx,parse:Ee,parseWithComments:at,print:cn},\"__esModule\",{value:!0}),yp={guessEndOfLine:function(S){const N0=S.indexOf(\"\\r\");return N0>=0?S.charAt(N0+1)===`\n`?\"crlf\":\"cr\":\"lf\"},convertEndOfLineToChars:function(S){switch(S){case\"cr\":return\"\\r\";case\"crlf\":return`\\r\n`;default:return`\n`}},countEndOfLineChars:function(S,N0){let P1;if(N0===`\n`)P1=/\\n/g;else if(N0===\"\\r\")P1=/\\r/g;else{if(N0!==`\\r\n`)throw new Error(`Unexpected \"eol\" ${JSON.stringify(N0)}.`);P1=/\\r\\n/g}const zx=S.match(P1);return zx?zx.length:0},normalizeEndOfLine:function(S){return S.replace(/\\r\\n?/g,`\n`)}};const{parseWithComments:Gs,strip:ra,extract:fo,print:lu}=Tu,{getShebang:a2}=n6,{normalizeEndOfLine:V8}=yp;function YF(S){const N0=a2(S);N0&&(S=S.slice(N0.length+1));const P1=fo(S),{pragmas:zx,comments:$e}=Gs(P1);return{shebang:N0,text:S,pragmas:zx,comments:$e}}var T8={hasPragma:function(S){const N0=Object.keys(YF(S).pragmas);return N0.includes(\"prettier\")||N0.includes(\"format\")},insertPragma:function(S){const{shebang:N0,text:P1,pragmas:zx,comments:$e}=YF(S),bt=ra(P1),qr=lu({pragmas:Object.assign({format:\"\"},zx),comments:$e.trimStart()});return(N0?`${N0}\n`:\"\")+V8(qr)+(bt.startsWith(`\n`)?`\n`:`\n\n`)+bt}};const{hasPragma:Q4}=T8,{locStart:D4,locEnd:E5}=FF;var QF=function(S){return S=typeof S==\"function\"?{parse:S}:S,Object.assign({astFormat:\"estree\",hasPragma:Q4,locStart:D4,locEnd:E5},S)},Ww=function(S){return S.charAt(0)===\"#\"&&S.charAt(1)===\"!\"?\"//\"+S.slice(2):S},K2={3:\"abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile\",5:\"class enum extends super const export import\",6:\"enum\",strict:\"implements interface let package private protected public static yield\",strictBind:\"eval arguments\"},Sn=\"break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this\",M4={5:Sn,\"5module\":Sn+\" export import\",6:Sn+\" const class extends export import super\"},B6=/^in(stanceof)?$/,x6=\"\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05D0-\\u05EA\\u05EF-\\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\\u0860-\\u086A\\u08A0-\\u08B4\\u08B6-\\u08C7\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u09FC\\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\\u0AF9\\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-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D04-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\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-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1878\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1CE9-\\u1CEC\\u1CEE-\\u1CF3\\u1CF5\\u1CF6\\u1CFA\\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\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\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\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309B-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u31A0-\\u31BF\\u31F0-\\u31FF\\u3400-\\u4DBF\\u4E00-\\u9FFC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7BF\\uA7C2-\\uA7CA\\uA7F5-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA8FE\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB69\\uAB70-\\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\",vf=\"\\u200C\\u200D\\xB7\\u0300-\\u036F\\u0387\\u0483-\\u0487\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u0669\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u06F0-\\u06F9\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07C0-\\u07C9\\u07EB-\\u07F3\\u07FD\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u08D3-\\u08E1\\u08E3-\\u0903\\u093A-\\u093C\\u093E-\\u094F\\u0951-\\u0957\\u0962\\u0963\\u0966-\\u096F\\u0981-\\u0983\\u09BC\\u09BE-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CD\\u09D7\\u09E2\\u09E3\\u09E6-\\u09EF\\u09FE\\u0A01-\\u0A03\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A66-\\u0A71\\u0A75\\u0A81-\\u0A83\\u0ABC\\u0ABE-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AE2\\u0AE3\\u0AE6-\\u0AEF\\u0AFA-\\u0AFF\\u0B01-\\u0B03\\u0B3C\\u0B3E-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B55-\\u0B57\\u0B62\\u0B63\\u0B66-\\u0B6F\\u0B82\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C04\\u0C3E-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0C66-\\u0C6F\\u0C81-\\u0C83\\u0CBC\\u0CBE-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CE2\\u0CE3\\u0CE6-\\u0CEF\\u0D00-\\u0D03\\u0D3B\\u0D3C\\u0D3E-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4D\\u0D57\\u0D62\\u0D63\\u0D66-\\u0D6F\\u0D81-\\u0D83\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0E50-\\u0E59\\u0EB1\\u0EB4-\\u0EBC\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E\\u0F3F\\u0F71-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102B-\\u103E\\u1040-\\u1049\\u1056-\\u1059\\u105E-\\u1060\\u1062-\\u1064\\u1067-\\u106D\\u1071-\\u1074\\u1082-\\u108D\\u108F-\\u109D\\u135D-\\u135F\\u1369-\\u1371\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17B4-\\u17D3\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u18A9\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u194F\\u19D0-\\u19DA\\u1A17-\\u1A1B\\u1A55-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AB0-\\u1ABD\\u1ABF\\u1AC0\\u1B00-\\u1B04\\u1B34-\\u1B44\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1B82\\u1BA1-\\u1BAD\\u1BB0-\\u1BB9\\u1BE6-\\u1BF3\\u1C24-\\u1C37\\u1C40-\\u1C49\\u1C50-\\u1C59\\u1CD0-\\u1CD2\\u1CD4-\\u1CE8\\u1CED\\u1CF4\\u1CF7-\\u1CF9\\u1DC0-\\u1DF9\\u1DFB-\\u1DFF\\u203F\\u2040\\u2054\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302F\\u3099\\u309A\\uA620-\\uA629\\uA66F\\uA674-\\uA67D\\uA69E\\uA69F\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA823-\\uA827\\uA82C\\uA880\\uA881\\uA8B4-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F1\\uA8FF-\\uA909\\uA926-\\uA92D\\uA947-\\uA953\\uA980-\\uA983\\uA9B3-\\uA9C0\\uA9D0-\\uA9D9\\uA9E5\\uA9F0-\\uA9F9\\uAA29-\\uAA36\\uAA43\\uAA4C\\uAA4D\\uAA50-\\uAA59\\uAA7B-\\uAA7D\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEB-\\uAAEF\\uAAF5\\uAAF6\\uABE3-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFF10-\\uFF19\\uFF3F\",Eu=new RegExp(\"[\"+x6+\"]\"),jh=new RegExp(\"[\"+x6+vf+\"]\");x6=vf=null;var Cb=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,107,20,28,22,13,52,76,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,230,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,35,56,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,190,0,80,921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8952,286,50,2,18,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,2357,44,11,6,17,0,370,43,1301,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42717,35,4148,12,221,3,5761,15,7472,3104,541,1507,4938],px=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,154,10,176,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,19306,9,135,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,5319,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,262,6,10,9,419,13,1495,6,110,6,6,9,4759,9,787719,239];function Tf(S,N0){for(var P1=65536,zx=0;zx<N0.length;zx+=2){if((P1+=N0[zx])>S)return!1;if((P1+=N0[zx+1])>=S)return!0}}function e6(S,N0){return S<65?S===36:S<91||(S<97?S===95:S<123||(S<=65535?S>=170&&Eu.test(String.fromCharCode(S)):N0!==!1&&Tf(S,Cb)))}function z2(S,N0){return S<48?S===36:S<58||!(S<65)&&(S<91||(S<97?S===95:S<123||(S<=65535?S>=170&&jh.test(String.fromCharCode(S)):N0!==!1&&(Tf(S,Cb)||Tf(S,px)))))}var ty=function(S,N0){N0===void 0&&(N0={}),this.label=S,this.keyword=N0.keyword,this.beforeExpr=!!N0.beforeExpr,this.startsExpr=!!N0.startsExpr,this.isLoop=!!N0.isLoop,this.isAssign=!!N0.isAssign,this.prefix=!!N0.prefix,this.postfix=!!N0.postfix,this.binop=N0.binop||null,this.updateContext=null};function yS(S,N0){return new ty(S,{beforeExpr:!0,binop:N0})}var TS={beforeExpr:!0},L6={startsExpr:!0},v4={};function W2(S,N0){return N0===void 0&&(N0={}),N0.keyword=S,v4[S]=new ty(S,N0)}var pt={num:new ty(\"num\",L6),regexp:new ty(\"regexp\",L6),string:new ty(\"string\",L6),name:new ty(\"name\",L6),eof:new ty(\"eof\"),bracketL:new ty(\"[\",{beforeExpr:!0,startsExpr:!0}),bracketR:new ty(\"]\"),braceL:new ty(\"{\",{beforeExpr:!0,startsExpr:!0}),braceR:new ty(\"}\"),parenL:new ty(\"(\",{beforeExpr:!0,startsExpr:!0}),parenR:new ty(\")\"),comma:new ty(\",\",TS),semi:new ty(\";\",TS),colon:new ty(\":\",TS),dot:new ty(\".\"),question:new ty(\"?\",TS),questionDot:new ty(\"?.\"),arrow:new ty(\"=>\",TS),template:new ty(\"template\"),invalidTemplate:new ty(\"invalidTemplate\"),ellipsis:new ty(\"...\",TS),backQuote:new ty(\"`\",L6),dollarBraceL:new ty(\"${\",{beforeExpr:!0,startsExpr:!0}),eq:new ty(\"=\",{beforeExpr:!0,isAssign:!0}),assign:new ty(\"_=\",{beforeExpr:!0,isAssign:!0}),incDec:new ty(\"++/--\",{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new ty(\"!/~\",{beforeExpr:!0,prefix:!0,startsExpr:!0}),logicalOR:yS(\"||\",1),logicalAND:yS(\"&&\",2),bitwiseOR:yS(\"|\",3),bitwiseXOR:yS(\"^\",4),bitwiseAND:yS(\"&\",5),equality:yS(\"==/!=/===/!==\",6),relational:yS(\"</>/<=/>=\",7),bitShift:yS(\"<</>>/>>>\",8),plusMin:new ty(\"+/-\",{beforeExpr:!0,binop:9,prefix:!0,startsExpr:!0}),modulo:yS(\"%\",10),star:yS(\"*\",10),slash:yS(\"/\",10),starstar:new ty(\"**\",{beforeExpr:!0}),coalesce:yS(\"??\",1),_break:W2(\"break\"),_case:W2(\"case\",TS),_catch:W2(\"catch\"),_continue:W2(\"continue\"),_debugger:W2(\"debugger\"),_default:W2(\"default\",TS),_do:W2(\"do\",{isLoop:!0,beforeExpr:!0}),_else:W2(\"else\",TS),_finally:W2(\"finally\"),_for:W2(\"for\",{isLoop:!0}),_function:W2(\"function\",L6),_if:W2(\"if\"),_return:W2(\"return\",TS),_switch:W2(\"switch\"),_throw:W2(\"throw\",TS),_try:W2(\"try\"),_var:W2(\"var\"),_const:W2(\"const\"),_while:W2(\"while\",{isLoop:!0}),_with:W2(\"with\"),_new:W2(\"new\",{beforeExpr:!0,startsExpr:!0}),_this:W2(\"this\",L6),_super:W2(\"super\",L6),_class:W2(\"class\",L6),_extends:W2(\"extends\",TS),_export:W2(\"export\"),_import:W2(\"import\",L6),_null:W2(\"null\",L6),_true:W2(\"true\",L6),_false:W2(\"false\",L6),_in:W2(\"in\",{beforeExpr:!0,binop:7}),_instanceof:W2(\"instanceof\",{beforeExpr:!0,binop:7}),_typeof:W2(\"typeof\",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_void:W2(\"void\",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_delete:W2(\"delete\",{beforeExpr:!0,prefix:!0,startsExpr:!0})},b4=/\\r\\n?|\\n|\\u2028|\\u2029/,M6=new RegExp(b4.source,\"g\");function B1(S,N0){return S===10||S===13||!N0&&(S===8232||S===8233)}var Yx=/[\\u1680\\u2000-\\u200a\\u202f\\u205f\\u3000\\ufeff]/,Oe=/(?:\\s|\\/\\/.*|\\/\\*[^]*?\\*\\/)*/g,zt=Object.prototype,an=zt.hasOwnProperty,xi=zt.toString;function xs(S,N0){return an.call(S,N0)}var bi=Array.isArray||function(S){return xi.call(S)===\"[object Array]\"};function ya(S){return new RegExp(\"^(?:\"+S.replace(/ /g,\"|\")+\")$\")}var ul=function(S,N0){this.line=S,this.column=N0};ul.prototype.offset=function(S){return new ul(this.line,this.column+S)};var mu=function(S,N0,P1){this.start=N0,this.end=P1,S.sourceFile!==null&&(this.source=S.sourceFile)};function Ds(S,N0){for(var P1=1,zx=0;;){M6.lastIndex=zx;var $e=M6.exec(S);if(!($e&&$e.index<N0))return new ul(P1,N0-zx);++P1,zx=$e.index+$e[0].length}}var a6={ecmaVersion:10,sourceType:\"script\",onInsertedSemicolon:null,onTrailingComma:null,allowReserved:null,allowReturnOutsideFunction:!1,allowImportExportEverywhere:!1,allowAwaitOutsideFunction:!1,allowHashBang:!1,locations:!1,onToken:null,onComment:null,ranges:!1,program:null,sourceFile:null,directSourceFile:null,preserveParens:!1};function Mc(S){var N0={};for(var P1 in a6)N0[P1]=S&&xs(S,P1)?S[P1]:a6[P1];if(N0.ecmaVersion>=2015&&(N0.ecmaVersion-=2009),N0.allowReserved==null&&(N0.allowReserved=N0.ecmaVersion<5),bi(N0.onToken)){var zx=N0.onToken;N0.onToken=function($e){return zx.push($e)}}return bi(N0.onComment)&&(N0.onComment=function($e,bt){return function(qr,ji,B0,d,N,C0){var _1={type:qr?\"Block\":\"Line\",value:ji,start:B0,end:d};$e.locations&&(_1.loc=new mu(this,N,C0)),$e.ranges&&(_1.range=[B0,d]),bt.push(_1)}}(N0,N0.onComment)),N0}function bf(S,N0){return 2|(S?4:0)|(N0?8:0)}var Rc=function(S,N0,P1){this.options=S=Mc(S),this.sourceFile=S.sourceFile,this.keywords=ya(M4[S.ecmaVersion>=6?6:S.sourceType===\"module\"?\"5module\":5]);var zx=\"\";if(S.allowReserved!==!0){for(var $e=S.ecmaVersion;!(zx=K2[$e]);$e--);S.sourceType===\"module\"&&(zx+=\" await\")}this.reservedWords=ya(zx);var bt=(zx?zx+\" \":\"\")+K2.strict;this.reservedWordsStrict=ya(bt),this.reservedWordsStrictBind=ya(bt+\" \"+K2.strictBind),this.input=String(N0),this.containsEsc=!1,P1?(this.pos=P1,this.lineStart=this.input.lastIndexOf(`\n`,P1-1)+1,this.curLine=this.input.slice(0,this.lineStart).split(b4).length):(this.pos=this.lineStart=0,this.curLine=1),this.type=pt.eof,this.value=null,this.start=this.end=this.pos,this.startLoc=this.endLoc=this.curPosition(),this.lastTokEndLoc=this.lastTokStartLoc=null,this.lastTokStart=this.lastTokEnd=this.pos,this.context=this.initialContext(),this.exprAllowed=!0,this.inModule=S.sourceType===\"module\",this.strict=this.inModule||this.strictDirective(this.pos),this.potentialArrowAt=-1,this.yieldPos=this.awaitPos=this.awaitIdentPos=0,this.labels=[],this.undefinedExports={},this.pos===0&&S.allowHashBang&&this.input.slice(0,2)===\"#!\"&&this.skipLineComment(2),this.scopeStack=[],this.enterScope(1),this.regexpState=null},Pa={inFunction:{configurable:!0},inGenerator:{configurable:!0},inAsync:{configurable:!0},allowSuper:{configurable:!0},allowDirectSuper:{configurable:!0},treatFunctionsAsVar:{configurable:!0}};Rc.prototype.parse=function(){var S=this.options.program||this.startNode();return this.nextToken(),this.parseTopLevel(S)},Pa.inFunction.get=function(){return(2&this.currentVarScope().flags)>0},Pa.inGenerator.get=function(){return(8&this.currentVarScope().flags)>0},Pa.inAsync.get=function(){return(4&this.currentVarScope().flags)>0},Pa.allowSuper.get=function(){return(64&this.currentThisScope().flags)>0},Pa.allowDirectSuper.get=function(){return(128&this.currentThisScope().flags)>0},Pa.treatFunctionsAsVar.get=function(){return this.treatFunctionsAsVarInScope(this.currentScope())},Rc.prototype.inNonArrowFunction=function(){return(2&this.currentThisScope().flags)>0},Rc.extend=function(){for(var S=[],N0=arguments.length;N0--;)S[N0]=arguments[N0];for(var P1=this,zx=0;zx<S.length;zx++)P1=S[zx](P1);return P1},Rc.parse=function(S,N0){return new this(N0,S).parse()},Rc.parseExpressionAt=function(S,N0,P1){var zx=new this(P1,S,N0);return zx.nextToken(),zx.parseExpression()},Rc.tokenizer=function(S,N0){return new this(N0,S)},Object.defineProperties(Rc.prototype,Pa);var Uu=Rc.prototype,q2=/^(?:'((?:\\\\.|[^'\\\\])*?)'|\"((?:\\\\.|[^\"\\\\])*?)\")/;function Kl(){this.shorthandAssign=this.trailingComma=this.parenthesizedAssign=this.parenthesizedBind=this.doubleProto=-1}Uu.strictDirective=function(S){for(;;){Oe.lastIndex=S,S+=Oe.exec(this.input)[0].length;var N0=q2.exec(this.input.slice(S));if(!N0)return!1;if((N0[1]||N0[2])===\"use strict\"){Oe.lastIndex=S+N0[0].length;var P1=Oe.exec(this.input),zx=P1.index+P1[0].length,$e=this.input.charAt(zx);return $e===\";\"||$e===\"}\"||b4.test(P1[0])&&!(/[(`.[+\\-/*%<>=,?^&]/.test($e)||$e===\"!\"&&this.input.charAt(zx+1)===\"=\")}S+=N0[0].length,Oe.lastIndex=S,S+=Oe.exec(this.input)[0].length,this.input[S]===\";\"&&S++}},Uu.eat=function(S){return this.type===S&&(this.next(),!0)},Uu.isContextual=function(S){return this.type===pt.name&&this.value===S&&!this.containsEsc},Uu.eatContextual=function(S){return!!this.isContextual(S)&&(this.next(),!0)},Uu.expectContextual=function(S){this.eatContextual(S)||this.unexpected()},Uu.canInsertSemicolon=function(){return this.type===pt.eof||this.type===pt.braceR||b4.test(this.input.slice(this.lastTokEnd,this.start))},Uu.insertSemicolon=function(){if(this.canInsertSemicolon())return this.options.onInsertedSemicolon&&this.options.onInsertedSemicolon(this.lastTokEnd,this.lastTokEndLoc),!0},Uu.semicolon=function(){this.eat(pt.semi)||this.insertSemicolon()||this.unexpected()},Uu.afterTrailingComma=function(S,N0){if(this.type===S)return this.options.onTrailingComma&&this.options.onTrailingComma(this.lastTokStart,this.lastTokStartLoc),N0||this.next(),!0},Uu.expect=function(S){this.eat(S)||this.unexpected()},Uu.unexpected=function(S){this.raise(S!=null?S:this.start,\"Unexpected token\")},Uu.checkPatternErrors=function(S,N0){if(S){S.trailingComma>-1&&this.raiseRecoverable(S.trailingComma,\"Comma is not permitted after the rest element\");var P1=N0?S.parenthesizedAssign:S.parenthesizedBind;P1>-1&&this.raiseRecoverable(P1,\"Parenthesized pattern\")}},Uu.checkExpressionErrors=function(S,N0){if(!S)return!1;var P1=S.shorthandAssign,zx=S.doubleProto;if(!N0)return P1>=0||zx>=0;P1>=0&&this.raise(P1,\"Shorthand property assignments are valid only in destructuring patterns\"),zx>=0&&this.raiseRecoverable(zx,\"Redefinition of __proto__ property\")},Uu.checkYieldAwaitInDefaultParams=function(){this.yieldPos&&(!this.awaitPos||this.yieldPos<this.awaitPos)&&this.raise(this.yieldPos,\"Yield expression cannot be a default value\"),this.awaitPos&&this.raise(this.awaitPos,\"Await expression cannot be a default value\")},Uu.isSimpleAssignTarget=function(S){return S.type===\"ParenthesizedExpression\"?this.isSimpleAssignTarget(S.expression):S.type===\"Identifier\"||S.type===\"MemberExpression\"};var Bs=Rc.prototype;Bs.parseTopLevel=function(S){var N0={};for(S.body||(S.body=[]);this.type!==pt.eof;){var P1=this.parseStatement(null,!0,N0);S.body.push(P1)}if(this.inModule)for(var zx=0,$e=Object.keys(this.undefinedExports);zx<$e.length;zx+=1){var bt=$e[zx];this.raiseRecoverable(this.undefinedExports[bt].start,\"Export '\"+bt+\"' is not defined\")}return this.adaptDirectivePrologue(S.body),this.next(),S.sourceType=this.options.sourceType,this.finishNode(S,\"Program\")};var qf={kind:\"loop\"},Zl={kind:\"switch\"};Bs.isLet=function(S){if(this.options.ecmaVersion<6||!this.isContextual(\"let\"))return!1;Oe.lastIndex=this.pos;var N0=Oe.exec(this.input),P1=this.pos+N0[0].length,zx=this.input.charCodeAt(P1);if(zx===91)return!0;if(S)return!1;if(zx===123)return!0;if(e6(zx,!0)){for(var $e=P1+1;z2(this.input.charCodeAt($e),!0);)++$e;var bt=this.input.slice(P1,$e);if(!B6.test(bt))return!0}return!1},Bs.isAsyncFunction=function(){if(this.options.ecmaVersion<8||!this.isContextual(\"async\"))return!1;Oe.lastIndex=this.pos;var S=Oe.exec(this.input),N0=this.pos+S[0].length;return!(b4.test(this.input.slice(this.pos,N0))||this.input.slice(N0,N0+8)!==\"function\"||N0+8!==this.input.length&&z2(this.input.charAt(N0+8)))},Bs.parseStatement=function(S,N0,P1){var zx,$e=this.type,bt=this.startNode();switch(this.isLet(S)&&($e=pt._var,zx=\"let\"),$e){case pt._break:case pt._continue:return this.parseBreakContinueStatement(bt,$e.keyword);case pt._debugger:return this.parseDebuggerStatement(bt);case pt._do:return this.parseDoStatement(bt);case pt._for:return this.parseForStatement(bt);case pt._function:return S&&(this.strict||S!==\"if\"&&S!==\"label\")&&this.options.ecmaVersion>=6&&this.unexpected(),this.parseFunctionStatement(bt,!1,!S);case pt._class:return S&&this.unexpected(),this.parseClass(bt,!0);case pt._if:return this.parseIfStatement(bt);case pt._return:return this.parseReturnStatement(bt);case pt._switch:return this.parseSwitchStatement(bt);case pt._throw:return this.parseThrowStatement(bt);case pt._try:return this.parseTryStatement(bt);case pt._const:case pt._var:return zx=zx||this.value,S&&zx!==\"var\"&&this.unexpected(),this.parseVarStatement(bt,zx);case pt._while:return this.parseWhileStatement(bt);case pt._with:return this.parseWithStatement(bt);case pt.braceL:return this.parseBlock(!0,bt);case pt.semi:return this.parseEmptyStatement(bt);case pt._export:case pt._import:if(this.options.ecmaVersion>10&&$e===pt._import){Oe.lastIndex=this.pos;var qr=Oe.exec(this.input),ji=this.pos+qr[0].length,B0=this.input.charCodeAt(ji);if(B0===40||B0===46)return this.parseExpressionStatement(bt,this.parseExpression())}return this.options.allowImportExportEverywhere||(N0||this.raise(this.start,\"'import' and 'export' may only appear at the top level\"),this.inModule||this.raise(this.start,\"'import' and 'export' may appear only with 'sourceType: module'\")),$e===pt._import?this.parseImport(bt):this.parseExport(bt,P1);default:if(this.isAsyncFunction())return S&&this.unexpected(),this.next(),this.parseFunctionStatement(bt,!0,!S);var d=this.value,N=this.parseExpression();return $e===pt.name&&N.type===\"Identifier\"&&this.eat(pt.colon)?this.parseLabeledStatement(bt,d,N,S):this.parseExpressionStatement(bt,N)}},Bs.parseBreakContinueStatement=function(S,N0){var P1=N0===\"break\";this.next(),this.eat(pt.semi)||this.insertSemicolon()?S.label=null:this.type!==pt.name?this.unexpected():(S.label=this.parseIdent(),this.semicolon());for(var zx=0;zx<this.labels.length;++zx){var $e=this.labels[zx];if((S.label==null||$e.name===S.label.name)&&($e.kind!=null&&(P1||$e.kind===\"loop\")||S.label&&P1))break}return zx===this.labels.length&&this.raise(S.start,\"Unsyntactic \"+N0),this.finishNode(S,P1?\"BreakStatement\":\"ContinueStatement\")},Bs.parseDebuggerStatement=function(S){return this.next(),this.semicolon(),this.finishNode(S,\"DebuggerStatement\")},Bs.parseDoStatement=function(S){return this.next(),this.labels.push(qf),S.body=this.parseStatement(\"do\"),this.labels.pop(),this.expect(pt._while),S.test=this.parseParenExpression(),this.options.ecmaVersion>=6?this.eat(pt.semi):this.semicolon(),this.finishNode(S,\"DoWhileStatement\")},Bs.parseForStatement=function(S){this.next();var N0=this.options.ecmaVersion>=9&&(this.inAsync||!this.inFunction&&this.options.allowAwaitOutsideFunction)&&this.eatContextual(\"await\")?this.lastTokStart:-1;if(this.labels.push(qf),this.enterScope(0),this.expect(pt.parenL),this.type===pt.semi)return N0>-1&&this.unexpected(N0),this.parseFor(S,null);var P1=this.isLet();if(this.type===pt._var||this.type===pt._const||P1){var zx=this.startNode(),$e=P1?\"let\":this.value;return this.next(),this.parseVar(zx,!0,$e),this.finishNode(zx,\"VariableDeclaration\"),(this.type===pt._in||this.options.ecmaVersion>=6&&this.isContextual(\"of\"))&&zx.declarations.length===1?(this.options.ecmaVersion>=9&&(this.type===pt._in?N0>-1&&this.unexpected(N0):S.await=N0>-1),this.parseForIn(S,zx)):(N0>-1&&this.unexpected(N0),this.parseFor(S,zx))}var bt=new Kl,qr=this.parseExpression(!0,bt);return this.type===pt._in||this.options.ecmaVersion>=6&&this.isContextual(\"of\")?(this.options.ecmaVersion>=9&&(this.type===pt._in?N0>-1&&this.unexpected(N0):S.await=N0>-1),this.toAssignable(qr,!1,bt),this.checkLVal(qr),this.parseForIn(S,qr)):(this.checkExpressionErrors(bt,!0),N0>-1&&this.unexpected(N0),this.parseFor(S,qr))},Bs.parseFunctionStatement=function(S,N0,P1){return this.next(),this.parseFunction(S,Sl|(P1?0:$8),!1,N0)},Bs.parseIfStatement=function(S){return this.next(),S.test=this.parseParenExpression(),S.consequent=this.parseStatement(\"if\"),S.alternate=this.eat(pt._else)?this.parseStatement(\"if\"):null,this.finishNode(S,\"IfStatement\")},Bs.parseReturnStatement=function(S){return this.inFunction||this.options.allowReturnOutsideFunction||this.raise(this.start,\"'return' outside of function\"),this.next(),this.eat(pt.semi)||this.insertSemicolon()?S.argument=null:(S.argument=this.parseExpression(),this.semicolon()),this.finishNode(S,\"ReturnStatement\")},Bs.parseSwitchStatement=function(S){var N0;this.next(),S.discriminant=this.parseParenExpression(),S.cases=[],this.expect(pt.braceL),this.labels.push(Zl),this.enterScope(0);for(var P1=!1;this.type!==pt.braceR;)if(this.type===pt._case||this.type===pt._default){var zx=this.type===pt._case;N0&&this.finishNode(N0,\"SwitchCase\"),S.cases.push(N0=this.startNode()),N0.consequent=[],this.next(),zx?N0.test=this.parseExpression():(P1&&this.raiseRecoverable(this.lastTokStart,\"Multiple default clauses\"),P1=!0,N0.test=null),this.expect(pt.colon)}else N0||this.unexpected(),N0.consequent.push(this.parseStatement(null));return this.exitScope(),N0&&this.finishNode(N0,\"SwitchCase\"),this.next(),this.labels.pop(),this.finishNode(S,\"SwitchStatement\")},Bs.parseThrowStatement=function(S){return this.next(),b4.test(this.input.slice(this.lastTokEnd,this.start))&&this.raise(this.lastTokEnd,\"Illegal newline after throw\"),S.argument=this.parseExpression(),this.semicolon(),this.finishNode(S,\"ThrowStatement\")};var ZF=[];Bs.parseTryStatement=function(S){if(this.next(),S.block=this.parseBlock(),S.handler=null,this.type===pt._catch){var N0=this.startNode();if(this.next(),this.eat(pt.parenL)){N0.param=this.parseBindingAtom();var P1=N0.param.type===\"Identifier\";this.enterScope(P1?32:0),this.checkLVal(N0.param,P1?4:2),this.expect(pt.parenR)}else this.options.ecmaVersion<10&&this.unexpected(),N0.param=null,this.enterScope(0);N0.body=this.parseBlock(!1),this.exitScope(),S.handler=this.finishNode(N0,\"CatchClause\")}return S.finalizer=this.eat(pt._finally)?this.parseBlock():null,S.handler||S.finalizer||this.raise(S.start,\"Missing catch or finally clause\"),this.finishNode(S,\"TryStatement\")},Bs.parseVarStatement=function(S,N0){return this.next(),this.parseVar(S,!1,N0),this.semicolon(),this.finishNode(S,\"VariableDeclaration\")},Bs.parseWhileStatement=function(S){return this.next(),S.test=this.parseParenExpression(),this.labels.push(qf),S.body=this.parseStatement(\"while\"),this.labels.pop(),this.finishNode(S,\"WhileStatement\")},Bs.parseWithStatement=function(S){return this.strict&&this.raise(this.start,\"'with' in strict mode\"),this.next(),S.object=this.parseParenExpression(),S.body=this.parseStatement(\"with\"),this.finishNode(S,\"WithStatement\")},Bs.parseEmptyStatement=function(S){return this.next(),this.finishNode(S,\"EmptyStatement\")},Bs.parseLabeledStatement=function(S,N0,P1,zx){for(var $e=0,bt=this.labels;$e<bt.length;$e+=1)bt[$e].name===N0&&this.raise(P1.start,\"Label '\"+N0+\"' is already declared\");for(var qr=this.type.isLoop?\"loop\":this.type===pt._switch?\"switch\":null,ji=this.labels.length-1;ji>=0;ji--){var B0=this.labels[ji];if(B0.statementStart!==S.start)break;B0.statementStart=this.start,B0.kind=qr}return this.labels.push({name:N0,kind:qr,statementStart:this.start}),S.body=this.parseStatement(zx?zx.indexOf(\"label\")===-1?zx+\"label\":zx:\"label\"),this.labels.pop(),S.label=P1,this.finishNode(S,\"LabeledStatement\")},Bs.parseExpressionStatement=function(S,N0){return S.expression=N0,this.semicolon(),this.finishNode(S,\"ExpressionStatement\")},Bs.parseBlock=function(S,N0,P1){for(S===void 0&&(S=!0),N0===void 0&&(N0=this.startNode()),N0.body=[],this.expect(pt.braceL),S&&this.enterScope(0);this.type!==pt.braceR;){var zx=this.parseStatement(null);N0.body.push(zx)}return P1&&(this.strict=!1),this.next(),S&&this.exitScope(),this.finishNode(N0,\"BlockStatement\")},Bs.parseFor=function(S,N0){return S.init=N0,this.expect(pt.semi),S.test=this.type===pt.semi?null:this.parseExpression(),this.expect(pt.semi),S.update=this.type===pt.parenR?null:this.parseExpression(),this.expect(pt.parenR),S.body=this.parseStatement(\"for\"),this.exitScope(),this.labels.pop(),this.finishNode(S,\"ForStatement\")},Bs.parseForIn=function(S,N0){var P1=this.type===pt._in;return this.next(),N0.type===\"VariableDeclaration\"&&N0.declarations[0].init!=null&&(!P1||this.options.ecmaVersion<8||this.strict||N0.kind!==\"var\"||N0.declarations[0].id.type!==\"Identifier\")?this.raise(N0.start,(P1?\"for-in\":\"for-of\")+\" loop variable declaration may not have an initializer\"):N0.type===\"AssignmentPattern\"&&this.raise(N0.start,\"Invalid left-hand side in for-loop\"),S.left=N0,S.right=P1?this.parseExpression():this.parseMaybeAssign(),this.expect(pt.parenR),S.body=this.parseStatement(\"for\"),this.exitScope(),this.labels.pop(),this.finishNode(S,P1?\"ForInStatement\":\"ForOfStatement\")},Bs.parseVar=function(S,N0,P1){for(S.declarations=[],S.kind=P1;;){var zx=this.startNode();if(this.parseVarId(zx,P1),this.eat(pt.eq)?zx.init=this.parseMaybeAssign(N0):P1!==\"const\"||this.type===pt._in||this.options.ecmaVersion>=6&&this.isContextual(\"of\")?zx.id.type===\"Identifier\"||N0&&(this.type===pt._in||this.isContextual(\"of\"))?zx.init=null:this.raise(this.lastTokEnd,\"Complex binding patterns require an initialization value\"):this.unexpected(),S.declarations.push(this.finishNode(zx,\"VariableDeclarator\")),!this.eat(pt.comma))break}return S},Bs.parseVarId=function(S,N0){S.id=this.parseBindingAtom(),this.checkLVal(S.id,N0===\"var\"?1:2,!1)};var Sl=1,$8=2;Bs.parseFunction=function(S,N0,P1,zx){this.initFunction(S),(this.options.ecmaVersion>=9||this.options.ecmaVersion>=6&&!zx)&&(this.type===pt.star&&N0&$8&&this.unexpected(),S.generator=this.eat(pt.star)),this.options.ecmaVersion>=8&&(S.async=!!zx),N0&Sl&&(S.id=4&N0&&this.type!==pt.name?null:this.parseIdent(),!S.id||N0&$8||this.checkLVal(S.id,this.strict||S.generator||S.async?this.treatFunctionsAsVar?1:2:3));var $e=this.yieldPos,bt=this.awaitPos,qr=this.awaitIdentPos;return this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(bf(S.async,S.generator)),N0&Sl||(S.id=this.type===pt.name?this.parseIdent():null),this.parseFunctionParams(S),this.parseFunctionBody(S,P1,!1),this.yieldPos=$e,this.awaitPos=bt,this.awaitIdentPos=qr,this.finishNode(S,N0&Sl?\"FunctionDeclaration\":\"FunctionExpression\")},Bs.parseFunctionParams=function(S){this.expect(pt.parenL),S.params=this.parseBindingList(pt.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams()},Bs.parseClass=function(S,N0){this.next();var P1=this.strict;this.strict=!0,this.parseClassId(S,N0),this.parseClassSuper(S);var zx=this.startNode(),$e=!1;for(zx.body=[],this.expect(pt.braceL);this.type!==pt.braceR;){var bt=this.parseClassElement(S.superClass!==null);bt&&(zx.body.push(bt),bt.type===\"MethodDefinition\"&&bt.kind===\"constructor\"&&($e&&this.raise(bt.start,\"Duplicate constructor in the same class\"),$e=!0))}return this.strict=P1,this.next(),S.body=this.finishNode(zx,\"ClassBody\"),this.finishNode(S,N0?\"ClassDeclaration\":\"ClassExpression\")},Bs.parseClassElement=function(S){var N0=this;if(this.eat(pt.semi))return null;var P1=this.startNode(),zx=function(B0,d){d===void 0&&(d=!1);var N=N0.start,C0=N0.startLoc;return!!N0.eatContextual(B0)&&(!(N0.type===pt.parenL||d&&N0.canInsertSemicolon())||(P1.key&&N0.unexpected(),P1.computed=!1,P1.key=N0.startNodeAt(N,C0),P1.key.name=B0,N0.finishNode(P1.key,\"Identifier\"),!1))};P1.kind=\"method\",P1.static=zx(\"static\");var $e=this.eat(pt.star),bt=!1;$e||(this.options.ecmaVersion>=8&&zx(\"async\",!0)?(bt=!0,$e=this.options.ecmaVersion>=9&&this.eat(pt.star)):zx(\"get\")?P1.kind=\"get\":zx(\"set\")&&(P1.kind=\"set\")),P1.key||this.parsePropertyName(P1);var qr=P1.key,ji=!1;return P1.computed||P1.static||!(qr.type===\"Identifier\"&&qr.name===\"constructor\"||qr.type===\"Literal\"&&qr.value===\"constructor\")?P1.static&&qr.type===\"Identifier\"&&qr.name===\"prototype\"&&this.raise(qr.start,\"Classes may not have a static property named prototype\"):(P1.kind!==\"method\"&&this.raise(qr.start,\"Constructor can't have get/set modifier\"),$e&&this.raise(qr.start,\"Constructor can't be a generator\"),bt&&this.raise(qr.start,\"Constructor can't be an async method\"),P1.kind=\"constructor\",ji=S),this.parseClassMethod(P1,$e,bt,ji),P1.kind===\"get\"&&P1.value.params.length!==0&&this.raiseRecoverable(P1.value.start,\"getter should have no params\"),P1.kind===\"set\"&&P1.value.params.length!==1&&this.raiseRecoverable(P1.value.start,\"setter should have exactly one param\"),P1.kind===\"set\"&&P1.value.params[0].type===\"RestElement\"&&this.raiseRecoverable(P1.value.params[0].start,\"Setter cannot use rest params\"),P1},Bs.parseClassMethod=function(S,N0,P1,zx){return S.value=this.parseMethod(N0,P1,zx),this.finishNode(S,\"MethodDefinition\")},Bs.parseClassId=function(S,N0){this.type===pt.name?(S.id=this.parseIdent(),N0&&this.checkLVal(S.id,2,!1)):(N0===!0&&this.unexpected(),S.id=null)},Bs.parseClassSuper=function(S){S.superClass=this.eat(pt._extends)?this.parseExprSubscripts():null},Bs.parseExport=function(S,N0){if(this.next(),this.eat(pt.star))return this.options.ecmaVersion>=11&&(this.eatContextual(\"as\")?(S.exported=this.parseIdent(!0),this.checkExport(N0,S.exported.name,this.lastTokStart)):S.exported=null),this.expectContextual(\"from\"),this.type!==pt.string&&this.unexpected(),S.source=this.parseExprAtom(),this.semicolon(),this.finishNode(S,\"ExportAllDeclaration\");if(this.eat(pt._default)){var P1;if(this.checkExport(N0,\"default\",this.lastTokStart),this.type===pt._function||(P1=this.isAsyncFunction())){var zx=this.startNode();this.next(),P1&&this.next(),S.declaration=this.parseFunction(zx,4|Sl,!1,P1)}else if(this.type===pt._class){var $e=this.startNode();S.declaration=this.parseClass($e,\"nullableID\")}else S.declaration=this.parseMaybeAssign(),this.semicolon();return this.finishNode(S,\"ExportDefaultDeclaration\")}if(this.shouldParseExportStatement())S.declaration=this.parseStatement(null),S.declaration.type===\"VariableDeclaration\"?this.checkVariableExport(N0,S.declaration.declarations):this.checkExport(N0,S.declaration.id.name,S.declaration.id.start),S.specifiers=[],S.source=null;else{if(S.declaration=null,S.specifiers=this.parseExportSpecifiers(N0),this.eatContextual(\"from\"))this.type!==pt.string&&this.unexpected(),S.source=this.parseExprAtom();else{for(var bt=0,qr=S.specifiers;bt<qr.length;bt+=1){var ji=qr[bt];this.checkUnreserved(ji.local),this.checkLocalExport(ji.local)}S.source=null}this.semicolon()}return this.finishNode(S,\"ExportNamedDeclaration\")},Bs.checkExport=function(S,N0,P1){S&&(xs(S,N0)&&this.raiseRecoverable(P1,\"Duplicate export '\"+N0+\"'\"),S[N0]=!0)},Bs.checkPatternExport=function(S,N0){var P1=N0.type;if(P1===\"Identifier\")this.checkExport(S,N0.name,N0.start);else if(P1===\"ObjectPattern\")for(var zx=0,$e=N0.properties;zx<$e.length;zx+=1){var bt=$e[zx];this.checkPatternExport(S,bt)}else if(P1===\"ArrayPattern\")for(var qr=0,ji=N0.elements;qr<ji.length;qr+=1){var B0=ji[qr];B0&&this.checkPatternExport(S,B0)}else P1===\"Property\"?this.checkPatternExport(S,N0.value):P1===\"AssignmentPattern\"?this.checkPatternExport(S,N0.left):P1===\"RestElement\"?this.checkPatternExport(S,N0.argument):P1===\"ParenthesizedExpression\"&&this.checkPatternExport(S,N0.expression)},Bs.checkVariableExport=function(S,N0){if(S)for(var P1=0,zx=N0;P1<zx.length;P1+=1){var $e=zx[P1];this.checkPatternExport(S,$e.id)}},Bs.shouldParseExportStatement=function(){return this.type.keyword===\"var\"||this.type.keyword===\"const\"||this.type.keyword===\"class\"||this.type.keyword===\"function\"||this.isLet()||this.isAsyncFunction()},Bs.parseExportSpecifiers=function(S){var N0=[],P1=!0;for(this.expect(pt.braceL);!this.eat(pt.braceR);){if(P1)P1=!1;else if(this.expect(pt.comma),this.afterTrailingComma(pt.braceR))break;var zx=this.startNode();zx.local=this.parseIdent(!0),zx.exported=this.eatContextual(\"as\")?this.parseIdent(!0):zx.local,this.checkExport(S,zx.exported.name,zx.exported.start),N0.push(this.finishNode(zx,\"ExportSpecifier\"))}return N0},Bs.parseImport=function(S){return this.next(),this.type===pt.string?(S.specifiers=ZF,S.source=this.parseExprAtom()):(S.specifiers=this.parseImportSpecifiers(),this.expectContextual(\"from\"),S.source=this.type===pt.string?this.parseExprAtom():this.unexpected()),this.semicolon(),this.finishNode(S,\"ImportDeclaration\")},Bs.parseImportSpecifiers=function(){var S=[],N0=!0;if(this.type===pt.name){var P1=this.startNode();if(P1.local=this.parseIdent(),this.checkLVal(P1.local,2),S.push(this.finishNode(P1,\"ImportDefaultSpecifier\")),!this.eat(pt.comma))return S}if(this.type===pt.star){var zx=this.startNode();return this.next(),this.expectContextual(\"as\"),zx.local=this.parseIdent(),this.checkLVal(zx.local,2),S.push(this.finishNode(zx,\"ImportNamespaceSpecifier\")),S}for(this.expect(pt.braceL);!this.eat(pt.braceR);){if(N0)N0=!1;else if(this.expect(pt.comma),this.afterTrailingComma(pt.braceR))break;var $e=this.startNode();$e.imported=this.parseIdent(!0),this.eatContextual(\"as\")?$e.local=this.parseIdent():(this.checkUnreserved($e.imported),$e.local=$e.imported),this.checkLVal($e.local,2),S.push(this.finishNode($e,\"ImportSpecifier\"))}return S},Bs.adaptDirectivePrologue=function(S){for(var N0=0;N0<S.length&&this.isDirectiveCandidate(S[N0]);++N0)S[N0].directive=S[N0].expression.raw.slice(1,-1)},Bs.isDirectiveCandidate=function(S){return S.type===\"ExpressionStatement\"&&S.expression.type===\"Literal\"&&typeof S.expression.value==\"string\"&&(this.input[S.start]==='\"'||this.input[S.start]===\"'\")};var wl=Rc.prototype;wl.toAssignable=function(S,N0,P1){if(this.options.ecmaVersion>=6&&S)switch(S.type){case\"Identifier\":this.inAsync&&S.name===\"await\"&&this.raise(S.start,\"Cannot use 'await' as identifier inside an async function\");break;case\"ObjectPattern\":case\"ArrayPattern\":case\"RestElement\":break;case\"ObjectExpression\":S.type=\"ObjectPattern\",P1&&this.checkPatternErrors(P1,!0);for(var zx=0,$e=S.properties;zx<$e.length;zx+=1){var bt=$e[zx];this.toAssignable(bt,N0),bt.type!==\"RestElement\"||bt.argument.type!==\"ArrayPattern\"&&bt.argument.type!==\"ObjectPattern\"||this.raise(bt.argument.start,\"Unexpected token\")}break;case\"Property\":S.kind!==\"init\"&&this.raise(S.key.start,\"Object pattern can't contain getter or setter\"),this.toAssignable(S.value,N0);break;case\"ArrayExpression\":S.type=\"ArrayPattern\",P1&&this.checkPatternErrors(P1,!0),this.toAssignableList(S.elements,N0);break;case\"SpreadElement\":S.type=\"RestElement\",this.toAssignable(S.argument,N0),S.argument.type===\"AssignmentPattern\"&&this.raise(S.argument.start,\"Rest elements cannot have a default value\");break;case\"AssignmentExpression\":S.operator!==\"=\"&&this.raise(S.left.end,\"Only '=' operator can be used for specifying default value.\"),S.type=\"AssignmentPattern\",delete S.operator,this.toAssignable(S.left,N0);case\"AssignmentPattern\":break;case\"ParenthesizedExpression\":this.toAssignable(S.expression,N0,P1);break;case\"ChainExpression\":this.raiseRecoverable(S.start,\"Optional chaining cannot appear in left-hand side\");break;case\"MemberExpression\":if(!N0)break;default:this.raise(S.start,\"Assigning to rvalue\")}else P1&&this.checkPatternErrors(P1,!0);return S},wl.toAssignableList=function(S,N0){for(var P1=S.length,zx=0;zx<P1;zx++){var $e=S[zx];$e&&this.toAssignable($e,N0)}if(P1){var bt=S[P1-1];this.options.ecmaVersion===6&&N0&&bt&&bt.type===\"RestElement\"&&bt.argument.type!==\"Identifier\"&&this.unexpected(bt.argument.start)}return S},wl.parseSpread=function(S){var N0=this.startNode();return this.next(),N0.argument=this.parseMaybeAssign(!1,S),this.finishNode(N0,\"SpreadElement\")},wl.parseRestBinding=function(){var S=this.startNode();return this.next(),this.options.ecmaVersion===6&&this.type!==pt.name&&this.unexpected(),S.argument=this.parseBindingAtom(),this.finishNode(S,\"RestElement\")},wl.parseBindingAtom=function(){if(this.options.ecmaVersion>=6)switch(this.type){case pt.bracketL:var S=this.startNode();return this.next(),S.elements=this.parseBindingList(pt.bracketR,!0,!0),this.finishNode(S,\"ArrayPattern\");case pt.braceL:return this.parseObj(!0)}return this.parseIdent()},wl.parseBindingList=function(S,N0,P1){for(var zx=[],$e=!0;!this.eat(S);)if($e?$e=!1:this.expect(pt.comma),N0&&this.type===pt.comma)zx.push(null);else{if(P1&&this.afterTrailingComma(S))break;if(this.type===pt.ellipsis){var bt=this.parseRestBinding();this.parseBindingListItem(bt),zx.push(bt),this.type===pt.comma&&this.raise(this.start,\"Comma is not permitted after the rest element\"),this.expect(S);break}var qr=this.parseMaybeDefault(this.start,this.startLoc);this.parseBindingListItem(qr),zx.push(qr)}return zx},wl.parseBindingListItem=function(S){return S},wl.parseMaybeDefault=function(S,N0,P1){if(P1=P1||this.parseBindingAtom(),this.options.ecmaVersion<6||!this.eat(pt.eq))return P1;var zx=this.startNodeAt(S,N0);return zx.left=P1,zx.right=this.parseMaybeAssign(),this.finishNode(zx,\"AssignmentPattern\")},wl.checkLVal=function(S,N0,P1){switch(N0===void 0&&(N0=0),S.type){case\"Identifier\":N0===2&&S.name===\"let\"&&this.raiseRecoverable(S.start,\"let is disallowed as a lexically bound name\"),this.strict&&this.reservedWordsStrictBind.test(S.name)&&this.raiseRecoverable(S.start,(N0?\"Binding \":\"Assigning to \")+S.name+\" in strict mode\"),P1&&(xs(P1,S.name)&&this.raiseRecoverable(S.start,\"Argument name clash\"),P1[S.name]=!0),N0!==0&&N0!==5&&this.declareName(S.name,N0,S.start);break;case\"ChainExpression\":this.raiseRecoverable(S.start,\"Optional chaining cannot appear in left-hand side\");break;case\"MemberExpression\":N0&&this.raiseRecoverable(S.start,\"Binding member expression\");break;case\"ObjectPattern\":for(var zx=0,$e=S.properties;zx<$e.length;zx+=1){var bt=$e[zx];this.checkLVal(bt,N0,P1)}break;case\"Property\":this.checkLVal(S.value,N0,P1);break;case\"ArrayPattern\":for(var qr=0,ji=S.elements;qr<ji.length;qr+=1){var B0=ji[qr];B0&&this.checkLVal(B0,N0,P1)}break;case\"AssignmentPattern\":this.checkLVal(S.left,N0,P1);break;case\"RestElement\":this.checkLVal(S.argument,N0,P1);break;case\"ParenthesizedExpression\":this.checkLVal(S.expression,N0,P1);break;default:this.raise(S.start,(N0?\"Binding\":\"Assigning to\")+\" rvalue\")}};var Ko=Rc.prototype;Ko.checkPropClash=function(S,N0,P1){if(!(this.options.ecmaVersion>=9&&S.type===\"SpreadElement\"||this.options.ecmaVersion>=6&&(S.computed||S.method||S.shorthand))){var zx,$e=S.key;switch($e.type){case\"Identifier\":zx=$e.name;break;case\"Literal\":zx=String($e.value);break;default:return}var bt=S.kind;if(this.options.ecmaVersion>=6)zx===\"__proto__\"&&bt===\"init\"&&(N0.proto&&(P1?P1.doubleProto<0&&(P1.doubleProto=$e.start):this.raiseRecoverable($e.start,\"Redefinition of __proto__ property\")),N0.proto=!0);else{var qr=N0[zx=\"$\"+zx];qr?(bt===\"init\"?this.strict&&qr.init||qr.get||qr.set:qr.init||qr[bt])&&this.raiseRecoverable($e.start,\"Redefinition of property\"):qr=N0[zx]={init:!1,get:!1,set:!1},qr[bt]=!0}}},Ko.parseExpression=function(S,N0){var P1=this.start,zx=this.startLoc,$e=this.parseMaybeAssign(S,N0);if(this.type===pt.comma){var bt=this.startNodeAt(P1,zx);for(bt.expressions=[$e];this.eat(pt.comma);)bt.expressions.push(this.parseMaybeAssign(S,N0));return this.finishNode(bt,\"SequenceExpression\")}return $e},Ko.parseMaybeAssign=function(S,N0,P1){if(this.isContextual(\"yield\")){if(this.inGenerator)return this.parseYield(S);this.exprAllowed=!1}var zx=!1,$e=-1,bt=-1;N0?($e=N0.parenthesizedAssign,bt=N0.trailingComma,N0.parenthesizedAssign=N0.trailingComma=-1):(N0=new Kl,zx=!0);var qr=this.start,ji=this.startLoc;this.type!==pt.parenL&&this.type!==pt.name||(this.potentialArrowAt=this.start);var B0=this.parseMaybeConditional(S,N0);if(P1&&(B0=P1.call(this,B0,qr,ji)),this.type.isAssign){var d=this.startNodeAt(qr,ji);return d.operator=this.value,d.left=this.type===pt.eq?this.toAssignable(B0,!1,N0):B0,zx||(N0.parenthesizedAssign=N0.trailingComma=N0.doubleProto=-1),N0.shorthandAssign>=d.left.start&&(N0.shorthandAssign=-1),this.checkLVal(B0),this.next(),d.right=this.parseMaybeAssign(S),this.finishNode(d,\"AssignmentExpression\")}return zx&&this.checkExpressionErrors(N0,!0),$e>-1&&(N0.parenthesizedAssign=$e),bt>-1&&(N0.trailingComma=bt),B0},Ko.parseMaybeConditional=function(S,N0){var P1=this.start,zx=this.startLoc,$e=this.parseExprOps(S,N0);if(this.checkExpressionErrors(N0))return $e;if(this.eat(pt.question)){var bt=this.startNodeAt(P1,zx);return bt.test=$e,bt.consequent=this.parseMaybeAssign(),this.expect(pt.colon),bt.alternate=this.parseMaybeAssign(S),this.finishNode(bt,\"ConditionalExpression\")}return $e},Ko.parseExprOps=function(S,N0){var P1=this.start,zx=this.startLoc,$e=this.parseMaybeUnary(N0,!1);return this.checkExpressionErrors(N0)||$e.start===P1&&$e.type===\"ArrowFunctionExpression\"?$e:this.parseExprOp($e,P1,zx,-1,S)},Ko.parseExprOp=function(S,N0,P1,zx,$e){var bt=this.type.binop;if(bt!=null&&(!$e||this.type!==pt._in)&&bt>zx){var qr=this.type===pt.logicalOR||this.type===pt.logicalAND,ji=this.type===pt.coalesce;ji&&(bt=pt.logicalAND.binop);var B0=this.value;this.next();var d=this.start,N=this.startLoc,C0=this.parseExprOp(this.parseMaybeUnary(null,!1),d,N,bt,$e),_1=this.buildBinary(N0,P1,S,C0,B0,qr||ji);return(qr&&this.type===pt.coalesce||ji&&(this.type===pt.logicalOR||this.type===pt.logicalAND))&&this.raiseRecoverable(this.start,\"Logical expressions and coalesce expressions cannot be mixed. Wrap either by parentheses\"),this.parseExprOp(_1,N0,P1,zx,$e)}return S},Ko.buildBinary=function(S,N0,P1,zx,$e,bt){var qr=this.startNodeAt(S,N0);return qr.left=P1,qr.operator=$e,qr.right=zx,this.finishNode(qr,bt?\"LogicalExpression\":\"BinaryExpression\")},Ko.parseMaybeUnary=function(S,N0){var P1,zx=this.start,$e=this.startLoc;if(this.isContextual(\"await\")&&(this.inAsync||!this.inFunction&&this.options.allowAwaitOutsideFunction))P1=this.parseAwait(),N0=!0;else if(this.type.prefix){var bt=this.startNode(),qr=this.type===pt.incDec;bt.operator=this.value,bt.prefix=!0,this.next(),bt.argument=this.parseMaybeUnary(null,!0),this.checkExpressionErrors(S,!0),qr?this.checkLVal(bt.argument):this.strict&&bt.operator===\"delete\"&&bt.argument.type===\"Identifier\"?this.raiseRecoverable(bt.start,\"Deleting local variable in strict mode\"):N0=!0,P1=this.finishNode(bt,qr?\"UpdateExpression\":\"UnaryExpression\")}else{if(P1=this.parseExprSubscripts(S),this.checkExpressionErrors(S))return P1;for(;this.type.postfix&&!this.canInsertSemicolon();){var ji=this.startNodeAt(zx,$e);ji.operator=this.value,ji.prefix=!1,ji.argument=P1,this.checkLVal(P1),this.next(),P1=this.finishNode(ji,\"UpdateExpression\")}}return!N0&&this.eat(pt.starstar)?this.buildBinary(zx,$e,P1,this.parseMaybeUnary(null,!1),\"**\",!1):P1},Ko.parseExprSubscripts=function(S){var N0=this.start,P1=this.startLoc,zx=this.parseExprAtom(S);if(zx.type===\"ArrowFunctionExpression\"&&this.input.slice(this.lastTokStart,this.lastTokEnd)!==\")\")return zx;var $e=this.parseSubscripts(zx,N0,P1);return S&&$e.type===\"MemberExpression\"&&(S.parenthesizedAssign>=$e.start&&(S.parenthesizedAssign=-1),S.parenthesizedBind>=$e.start&&(S.parenthesizedBind=-1)),$e},Ko.parseSubscripts=function(S,N0,P1,zx){for(var $e=this.options.ecmaVersion>=8&&S.type===\"Identifier\"&&S.name===\"async\"&&this.lastTokEnd===S.end&&!this.canInsertSemicolon()&&S.end-S.start==5&&this.potentialArrowAt===S.start,bt=!1;;){var qr=this.parseSubscript(S,N0,P1,zx,$e,bt);if(qr.optional&&(bt=!0),qr===S||qr.type===\"ArrowFunctionExpression\"){if(bt){var ji=this.startNodeAt(N0,P1);ji.expression=qr,qr=this.finishNode(ji,\"ChainExpression\")}return qr}S=qr}},Ko.parseSubscript=function(S,N0,P1,zx,$e,bt){var qr=this.options.ecmaVersion>=11,ji=qr&&this.eat(pt.questionDot);zx&&ji&&this.raise(this.lastTokStart,\"Optional chaining cannot appear in the callee of new expressions\");var B0=this.eat(pt.bracketL);if(B0||ji&&this.type!==pt.parenL&&this.type!==pt.backQuote||this.eat(pt.dot)){var d=this.startNodeAt(N0,P1);d.object=S,d.property=B0?this.parseExpression():this.parseIdent(this.options.allowReserved!==\"never\"),d.computed=!!B0,B0&&this.expect(pt.bracketR),qr&&(d.optional=ji),S=this.finishNode(d,\"MemberExpression\")}else if(!zx&&this.eat(pt.parenL)){var N=new Kl,C0=this.yieldPos,_1=this.awaitPos,jx=this.awaitIdentPos;this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0;var We=this.parseExprList(pt.parenR,this.options.ecmaVersion>=8,!1,N);if($e&&!ji&&!this.canInsertSemicolon()&&this.eat(pt.arrow))return this.checkPatternErrors(N,!1),this.checkYieldAwaitInDefaultParams(),this.awaitIdentPos>0&&this.raise(this.awaitIdentPos,\"Cannot use 'await' as identifier inside an async function\"),this.yieldPos=C0,this.awaitPos=_1,this.awaitIdentPos=jx,this.parseArrowExpression(this.startNodeAt(N0,P1),We,!0);this.checkExpressionErrors(N,!0),this.yieldPos=C0||this.yieldPos,this.awaitPos=_1||this.awaitPos,this.awaitIdentPos=jx||this.awaitIdentPos;var mt=this.startNodeAt(N0,P1);mt.callee=S,mt.arguments=We,qr&&(mt.optional=ji),S=this.finishNode(mt,\"CallExpression\")}else if(this.type===pt.backQuote){(ji||bt)&&this.raise(this.start,\"Optional chaining cannot appear in the tag of tagged template expressions\");var $t=this.startNodeAt(N0,P1);$t.tag=S,$t.quasi=this.parseTemplate({isTagged:!0}),S=this.finishNode($t,\"TaggedTemplateExpression\")}return S},Ko.parseExprAtom=function(S){this.type===pt.slash&&this.readRegexp();var N0,P1=this.potentialArrowAt===this.start;switch(this.type){case pt._super:return this.allowSuper||this.raise(this.start,\"'super' keyword outside a method\"),N0=this.startNode(),this.next(),this.type!==pt.parenL||this.allowDirectSuper||this.raise(N0.start,\"super() call outside constructor of a subclass\"),this.type!==pt.dot&&this.type!==pt.bracketL&&this.type!==pt.parenL&&this.unexpected(),this.finishNode(N0,\"Super\");case pt._this:return N0=this.startNode(),this.next(),this.finishNode(N0,\"ThisExpression\");case pt.name:var zx=this.start,$e=this.startLoc,bt=this.containsEsc,qr=this.parseIdent(!1);if(this.options.ecmaVersion>=8&&!bt&&qr.name===\"async\"&&!this.canInsertSemicolon()&&this.eat(pt._function))return this.parseFunction(this.startNodeAt(zx,$e),0,!1,!0);if(P1&&!this.canInsertSemicolon()){if(this.eat(pt.arrow))return this.parseArrowExpression(this.startNodeAt(zx,$e),[qr],!1);if(this.options.ecmaVersion>=8&&qr.name===\"async\"&&this.type===pt.name&&!bt)return qr=this.parseIdent(!1),!this.canInsertSemicolon()&&this.eat(pt.arrow)||this.unexpected(),this.parseArrowExpression(this.startNodeAt(zx,$e),[qr],!0)}return qr;case pt.regexp:var ji=this.value;return(N0=this.parseLiteral(ji.value)).regex={pattern:ji.pattern,flags:ji.flags},N0;case pt.num:case pt.string:return this.parseLiteral(this.value);case pt._null:case pt._true:case pt._false:return(N0=this.startNode()).value=this.type===pt._null?null:this.type===pt._true,N0.raw=this.type.keyword,this.next(),this.finishNode(N0,\"Literal\");case pt.parenL:var B0=this.start,d=this.parseParenAndDistinguishExpression(P1);return S&&(S.parenthesizedAssign<0&&!this.isSimpleAssignTarget(d)&&(S.parenthesizedAssign=B0),S.parenthesizedBind<0&&(S.parenthesizedBind=B0)),d;case pt.bracketL:return N0=this.startNode(),this.next(),N0.elements=this.parseExprList(pt.bracketR,!0,!0,S),this.finishNode(N0,\"ArrayExpression\");case pt.braceL:return this.parseObj(!1,S);case pt._function:return N0=this.startNode(),this.next(),this.parseFunction(N0,0);case pt._class:return this.parseClass(this.startNode(),!1);case pt._new:return this.parseNew();case pt.backQuote:return this.parseTemplate();case pt._import:return this.options.ecmaVersion>=11?this.parseExprImport():this.unexpected();default:this.unexpected()}},Ko.parseExprImport=function(){var S=this.startNode();this.containsEsc&&this.raiseRecoverable(this.start,\"Escape sequence in keyword import\");var N0=this.parseIdent(!0);switch(this.type){case pt.parenL:return this.parseDynamicImport(S);case pt.dot:return S.meta=N0,this.parseImportMeta(S);default:this.unexpected()}},Ko.parseDynamicImport=function(S){if(this.next(),S.source=this.parseMaybeAssign(),!this.eat(pt.parenR)){var N0=this.start;this.eat(pt.comma)&&this.eat(pt.parenR)?this.raiseRecoverable(N0,\"Trailing comma is not allowed in import()\"):this.unexpected(N0)}return this.finishNode(S,\"ImportExpression\")},Ko.parseImportMeta=function(S){this.next();var N0=this.containsEsc;return S.property=this.parseIdent(!0),S.property.name!==\"meta\"&&this.raiseRecoverable(S.property.start,\"The only valid meta property for import is 'import.meta'\"),N0&&this.raiseRecoverable(S.start,\"'import.meta' must not contain escaped characters\"),this.options.sourceType!==\"module\"&&this.raiseRecoverable(S.start,\"Cannot use 'import.meta' outside a module\"),this.finishNode(S,\"MetaProperty\")},Ko.parseLiteral=function(S){var N0=this.startNode();return N0.value=S,N0.raw=this.input.slice(this.start,this.end),N0.raw.charCodeAt(N0.raw.length-1)===110&&(N0.bigint=N0.raw.slice(0,-1).replace(/_/g,\"\")),this.next(),this.finishNode(N0,\"Literal\")},Ko.parseParenExpression=function(){this.expect(pt.parenL);var S=this.parseExpression();return this.expect(pt.parenR),S},Ko.parseParenAndDistinguishExpression=function(S){var N0,P1=this.start,zx=this.startLoc,$e=this.options.ecmaVersion>=8;if(this.options.ecmaVersion>=6){this.next();var bt,qr=this.start,ji=this.startLoc,B0=[],d=!0,N=!1,C0=new Kl,_1=this.yieldPos,jx=this.awaitPos;for(this.yieldPos=0,this.awaitPos=0;this.type!==pt.parenR;){if(d?d=!1:this.expect(pt.comma),$e&&this.afterTrailingComma(pt.parenR,!0)){N=!0;break}if(this.type===pt.ellipsis){bt=this.start,B0.push(this.parseParenItem(this.parseRestBinding())),this.type===pt.comma&&this.raise(this.start,\"Comma is not permitted after the rest element\");break}B0.push(this.parseMaybeAssign(!1,C0,this.parseParenItem))}var We=this.start,mt=this.startLoc;if(this.expect(pt.parenR),S&&!this.canInsertSemicolon()&&this.eat(pt.arrow))return this.checkPatternErrors(C0,!1),this.checkYieldAwaitInDefaultParams(),this.yieldPos=_1,this.awaitPos=jx,this.parseParenArrowList(P1,zx,B0);B0.length&&!N||this.unexpected(this.lastTokStart),bt&&this.unexpected(bt),this.checkExpressionErrors(C0,!0),this.yieldPos=_1||this.yieldPos,this.awaitPos=jx||this.awaitPos,B0.length>1?((N0=this.startNodeAt(qr,ji)).expressions=B0,this.finishNodeAt(N0,\"SequenceExpression\",We,mt)):N0=B0[0]}else N0=this.parseParenExpression();if(this.options.preserveParens){var $t=this.startNodeAt(P1,zx);return $t.expression=N0,this.finishNode($t,\"ParenthesizedExpression\")}return N0},Ko.parseParenItem=function(S){return S},Ko.parseParenArrowList=function(S,N0,P1){return this.parseArrowExpression(this.startNodeAt(S,N0),P1)};var $u=[];Ko.parseNew=function(){this.containsEsc&&this.raiseRecoverable(this.start,\"Escape sequence in keyword new\");var S=this.startNode(),N0=this.parseIdent(!0);if(this.options.ecmaVersion>=6&&this.eat(pt.dot)){S.meta=N0;var P1=this.containsEsc;return S.property=this.parseIdent(!0),S.property.name!==\"target\"&&this.raiseRecoverable(S.property.start,\"The only valid meta property for new is 'new.target'\"),P1&&this.raiseRecoverable(S.start,\"'new.target' must not contain escaped characters\"),this.inNonArrowFunction()||this.raiseRecoverable(S.start,\"'new.target' can only be used in functions\"),this.finishNode(S,\"MetaProperty\")}var zx=this.start,$e=this.startLoc,bt=this.type===pt._import;return S.callee=this.parseSubscripts(this.parseExprAtom(),zx,$e,!0),bt&&S.callee.type===\"ImportExpression\"&&this.raise(zx,\"Cannot use new with import()\"),this.eat(pt.parenL)?S.arguments=this.parseExprList(pt.parenR,this.options.ecmaVersion>=8,!1):S.arguments=$u,this.finishNode(S,\"NewExpression\")},Ko.parseTemplateElement=function(S){var N0=S.isTagged,P1=this.startNode();return this.type===pt.invalidTemplate?(N0||this.raiseRecoverable(this.start,\"Bad escape sequence in untagged template literal\"),P1.value={raw:this.value,cooked:null}):P1.value={raw:this.input.slice(this.start,this.end).replace(/\\r\\n?/g,`\n`),cooked:this.value},this.next(),P1.tail=this.type===pt.backQuote,this.finishNode(P1,\"TemplateElement\")},Ko.parseTemplate=function(S){S===void 0&&(S={});var N0=S.isTagged;N0===void 0&&(N0=!1);var P1=this.startNode();this.next(),P1.expressions=[];var zx=this.parseTemplateElement({isTagged:N0});for(P1.quasis=[zx];!zx.tail;)this.type===pt.eof&&this.raise(this.pos,\"Unterminated template literal\"),this.expect(pt.dollarBraceL),P1.expressions.push(this.parseExpression()),this.expect(pt.braceR),P1.quasis.push(zx=this.parseTemplateElement({isTagged:N0}));return this.next(),this.finishNode(P1,\"TemplateLiteral\")},Ko.isAsyncProp=function(S){return!S.computed&&S.key.type===\"Identifier\"&&S.key.name===\"async\"&&(this.type===pt.name||this.type===pt.num||this.type===pt.string||this.type===pt.bracketL||this.type.keyword||this.options.ecmaVersion>=9&&this.type===pt.star)&&!b4.test(this.input.slice(this.lastTokEnd,this.start))},Ko.parseObj=function(S,N0){var P1=this.startNode(),zx=!0,$e={};for(P1.properties=[],this.next();!this.eat(pt.braceR);){if(zx)zx=!1;else if(this.expect(pt.comma),this.options.ecmaVersion>=5&&this.afterTrailingComma(pt.braceR))break;var bt=this.parseProperty(S,N0);S||this.checkPropClash(bt,$e,N0),P1.properties.push(bt)}return this.finishNode(P1,S?\"ObjectPattern\":\"ObjectExpression\")},Ko.parseProperty=function(S,N0){var P1,zx,$e,bt,qr=this.startNode();if(this.options.ecmaVersion>=9&&this.eat(pt.ellipsis))return S?(qr.argument=this.parseIdent(!1),this.type===pt.comma&&this.raise(this.start,\"Comma is not permitted after the rest element\"),this.finishNode(qr,\"RestElement\")):(this.type===pt.parenL&&N0&&(N0.parenthesizedAssign<0&&(N0.parenthesizedAssign=this.start),N0.parenthesizedBind<0&&(N0.parenthesizedBind=this.start)),qr.argument=this.parseMaybeAssign(!1,N0),this.type===pt.comma&&N0&&N0.trailingComma<0&&(N0.trailingComma=this.start),this.finishNode(qr,\"SpreadElement\"));this.options.ecmaVersion>=6&&(qr.method=!1,qr.shorthand=!1,(S||N0)&&($e=this.start,bt=this.startLoc),S||(P1=this.eat(pt.star)));var ji=this.containsEsc;return this.parsePropertyName(qr),!S&&!ji&&this.options.ecmaVersion>=8&&!P1&&this.isAsyncProp(qr)?(zx=!0,P1=this.options.ecmaVersion>=9&&this.eat(pt.star),this.parsePropertyName(qr,N0)):zx=!1,this.parsePropertyValue(qr,S,P1,zx,$e,bt,N0,ji),this.finishNode(qr,\"Property\")},Ko.parsePropertyValue=function(S,N0,P1,zx,$e,bt,qr,ji){if((P1||zx)&&this.type===pt.colon&&this.unexpected(),this.eat(pt.colon))S.value=N0?this.parseMaybeDefault(this.start,this.startLoc):this.parseMaybeAssign(!1,qr),S.kind=\"init\";else if(this.options.ecmaVersion>=6&&this.type===pt.parenL)N0&&this.unexpected(),S.kind=\"init\",S.method=!0,S.value=this.parseMethod(P1,zx);else if(N0||ji||!(this.options.ecmaVersion>=5)||S.computed||S.key.type!==\"Identifier\"||S.key.name!==\"get\"&&S.key.name!==\"set\"||this.type===pt.comma||this.type===pt.braceR||this.type===pt.eq)this.options.ecmaVersion>=6&&!S.computed&&S.key.type===\"Identifier\"?((P1||zx)&&this.unexpected(),this.checkUnreserved(S.key),S.key.name!==\"await\"||this.awaitIdentPos||(this.awaitIdentPos=$e),S.kind=\"init\",N0?S.value=this.parseMaybeDefault($e,bt,S.key):this.type===pt.eq&&qr?(qr.shorthandAssign<0&&(qr.shorthandAssign=this.start),S.value=this.parseMaybeDefault($e,bt,S.key)):S.value=S.key,S.shorthand=!0):this.unexpected();else{(P1||zx)&&this.unexpected(),S.kind=S.key.name,this.parsePropertyName(S),S.value=this.parseMethod(!1);var B0=S.kind===\"get\"?0:1;if(S.value.params.length!==B0){var d=S.value.start;S.kind===\"get\"?this.raiseRecoverable(d,\"getter should have no params\"):this.raiseRecoverable(d,\"setter should have exactly one param\")}else S.kind===\"set\"&&S.value.params[0].type===\"RestElement\"&&this.raiseRecoverable(S.value.params[0].start,\"Setter cannot use rest params\")}},Ko.parsePropertyName=function(S){if(this.options.ecmaVersion>=6){if(this.eat(pt.bracketL))return S.computed=!0,S.key=this.parseMaybeAssign(),this.expect(pt.bracketR),S.key;S.computed=!1}return S.key=this.type===pt.num||this.type===pt.string?this.parseExprAtom():this.parseIdent(this.options.allowReserved!==\"never\")},Ko.initFunction=function(S){S.id=null,this.options.ecmaVersion>=6&&(S.generator=S.expression=!1),this.options.ecmaVersion>=8&&(S.async=!1)},Ko.parseMethod=function(S,N0,P1){var zx=this.startNode(),$e=this.yieldPos,bt=this.awaitPos,qr=this.awaitIdentPos;return this.initFunction(zx),this.options.ecmaVersion>=6&&(zx.generator=S),this.options.ecmaVersion>=8&&(zx.async=!!N0),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(64|bf(N0,zx.generator)|(P1?128:0)),this.expect(pt.parenL),zx.params=this.parseBindingList(pt.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams(),this.parseFunctionBody(zx,!1,!0),this.yieldPos=$e,this.awaitPos=bt,this.awaitIdentPos=qr,this.finishNode(zx,\"FunctionExpression\")},Ko.parseArrowExpression=function(S,N0,P1){var zx=this.yieldPos,$e=this.awaitPos,bt=this.awaitIdentPos;return this.enterScope(16|bf(P1,!1)),this.initFunction(S),this.options.ecmaVersion>=8&&(S.async=!!P1),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,S.params=this.toAssignableList(N0,!0),this.parseFunctionBody(S,!0,!1),this.yieldPos=zx,this.awaitPos=$e,this.awaitIdentPos=bt,this.finishNode(S,\"ArrowFunctionExpression\")},Ko.parseFunctionBody=function(S,N0,P1){var zx=N0&&this.type!==pt.braceL,$e=this.strict,bt=!1;if(zx)S.body=this.parseMaybeAssign(),S.expression=!0,this.checkParams(S,!1);else{var qr=this.options.ecmaVersion>=7&&!this.isSimpleParamList(S.params);$e&&!qr||(bt=this.strictDirective(this.end))&&qr&&this.raiseRecoverable(S.start,\"Illegal 'use strict' directive in function with non-simple parameter list\");var ji=this.labels;this.labels=[],bt&&(this.strict=!0),this.checkParams(S,!$e&&!bt&&!N0&&!P1&&this.isSimpleParamList(S.params)),this.strict&&S.id&&this.checkLVal(S.id,5),S.body=this.parseBlock(!1,void 0,bt&&!$e),S.expression=!1,this.adaptDirectivePrologue(S.body.body),this.labels=ji}this.exitScope()},Ko.isSimpleParamList=function(S){for(var N0=0,P1=S;N0<P1.length;N0+=1)if(P1[N0].type!==\"Identifier\")return!1;return!0},Ko.checkParams=function(S,N0){for(var P1={},zx=0,$e=S.params;zx<$e.length;zx+=1){var bt=$e[zx];this.checkLVal(bt,1,N0?null:P1)}},Ko.parseExprList=function(S,N0,P1,zx){for(var $e=[],bt=!0;!this.eat(S);){if(bt)bt=!1;else if(this.expect(pt.comma),N0&&this.afterTrailingComma(S))break;var qr=void 0;P1&&this.type===pt.comma?qr=null:this.type===pt.ellipsis?(qr=this.parseSpread(zx),zx&&this.type===pt.comma&&zx.trailingComma<0&&(zx.trailingComma=this.start)):qr=this.parseMaybeAssign(!1,zx),$e.push(qr)}return $e},Ko.checkUnreserved=function(S){var N0=S.start,P1=S.end,zx=S.name;this.inGenerator&&zx===\"yield\"&&this.raiseRecoverable(N0,\"Cannot use 'yield' as identifier inside a generator\"),this.inAsync&&zx===\"await\"&&this.raiseRecoverable(N0,\"Cannot use 'await' as identifier inside an async function\"),this.keywords.test(zx)&&this.raise(N0,\"Unexpected keyword '\"+zx+\"'\"),this.options.ecmaVersion<6&&this.input.slice(N0,P1).indexOf(\"\\\\\")!==-1||(this.strict?this.reservedWordsStrict:this.reservedWords).test(zx)&&(this.inAsync||zx!==\"await\"||this.raiseRecoverable(N0,\"Cannot use keyword 'await' outside an async function\"),this.raiseRecoverable(N0,\"The keyword '\"+zx+\"' is reserved\"))},Ko.parseIdent=function(S,N0){var P1=this.startNode();return this.type===pt.name?P1.name=this.value:this.type.keyword?(P1.name=this.type.keyword,P1.name!==\"class\"&&P1.name!==\"function\"||this.lastTokEnd===this.lastTokStart+1&&this.input.charCodeAt(this.lastTokStart)===46||this.context.pop()):this.unexpected(),this.next(!!S),this.finishNode(P1,\"Identifier\"),S||(this.checkUnreserved(P1),P1.name!==\"await\"||this.awaitIdentPos||(this.awaitIdentPos=P1.start)),P1},Ko.parseYield=function(S){this.yieldPos||(this.yieldPos=this.start);var N0=this.startNode();return this.next(),this.type===pt.semi||this.canInsertSemicolon()||this.type!==pt.star&&!this.type.startsExpr?(N0.delegate=!1,N0.argument=null):(N0.delegate=this.eat(pt.star),N0.argument=this.parseMaybeAssign(S)),this.finishNode(N0,\"YieldExpression\")},Ko.parseAwait=function(){this.awaitPos||(this.awaitPos=this.start);var S=this.startNode();return this.next(),S.argument=this.parseMaybeUnary(null,!1),this.finishNode(S,\"AwaitExpression\")};var dF=Rc.prototype;dF.raise=function(S,N0){var P1=Ds(this.input,S);N0+=\" (\"+P1.line+\":\"+P1.column+\")\";var zx=new SyntaxError(N0);throw zx.pos=S,zx.loc=P1,zx.raisedAt=this.pos,zx},dF.raiseRecoverable=dF.raise,dF.curPosition=function(){if(this.options.locations)return new ul(this.curLine,this.pos-this.lineStart)};var nE=Rc.prototype,pm=function(S){this.flags=S,this.var=[],this.lexical=[],this.functions=[]};nE.enterScope=function(S){this.scopeStack.push(new pm(S))},nE.exitScope=function(){this.scopeStack.pop()},nE.treatFunctionsAsVarInScope=function(S){return 2&S.flags||!this.inModule&&1&S.flags},nE.declareName=function(S,N0,P1){var zx=!1;if(N0===2){var $e=this.currentScope();zx=$e.lexical.indexOf(S)>-1||$e.functions.indexOf(S)>-1||$e.var.indexOf(S)>-1,$e.lexical.push(S),this.inModule&&1&$e.flags&&delete this.undefinedExports[S]}else if(N0===4)this.currentScope().lexical.push(S);else if(N0===3){var bt=this.currentScope();zx=this.treatFunctionsAsVar?bt.lexical.indexOf(S)>-1:bt.lexical.indexOf(S)>-1||bt.var.indexOf(S)>-1,bt.functions.push(S)}else for(var qr=this.scopeStack.length-1;qr>=0;--qr){var ji=this.scopeStack[qr];if(ji.lexical.indexOf(S)>-1&&!(32&ji.flags&&ji.lexical[0]===S)||!this.treatFunctionsAsVarInScope(ji)&&ji.functions.indexOf(S)>-1){zx=!0;break}if(ji.var.push(S),this.inModule&&1&ji.flags&&delete this.undefinedExports[S],3&ji.flags)break}zx&&this.raiseRecoverable(P1,\"Identifier '\"+S+\"' has already been declared\")},nE.checkLocalExport=function(S){this.scopeStack[0].lexical.indexOf(S.name)===-1&&this.scopeStack[0].var.indexOf(S.name)===-1&&(this.undefinedExports[S.name]=S)},nE.currentScope=function(){return this.scopeStack[this.scopeStack.length-1]},nE.currentVarScope=function(){for(var S=this.scopeStack.length-1;;S--){var N0=this.scopeStack[S];if(3&N0.flags)return N0}},nE.currentThisScope=function(){for(var S=this.scopeStack.length-1;;S--){var N0=this.scopeStack[S];if(3&N0.flags&&!(16&N0.flags))return N0}};var bl=function(S,N0,P1){this.type=\"\",this.start=N0,this.end=0,S.options.locations&&(this.loc=new mu(S,P1)),S.options.directSourceFile&&(this.sourceFile=S.options.directSourceFile),S.options.ranges&&(this.range=[N0,0])},nf=Rc.prototype;function Ts(S,N0,P1,zx){return S.type=N0,S.end=P1,this.options.locations&&(S.loc.end=zx),this.options.ranges&&(S.range[1]=P1),S}nf.startNode=function(){return new bl(this,this.start,this.startLoc)},nf.startNodeAt=function(S,N0){return new bl(this,S,N0)},nf.finishNode=function(S,N0){return Ts.call(this,S,N0,this.lastTokEnd,this.lastTokEndLoc)},nf.finishNodeAt=function(S,N0,P1,zx){return Ts.call(this,S,N0,P1,zx)};var xf=function(S,N0,P1,zx,$e){this.token=S,this.isExpr=!!N0,this.preserveSpace=!!P1,this.override=zx,this.generator=!!$e},w8={b_stat:new xf(\"{\",!1),b_expr:new xf(\"{\",!0),b_tmpl:new xf(\"${\",!1),p_stat:new xf(\"(\",!1),p_expr:new xf(\"(\",!0),q_tmpl:new xf(\"`\",!0,!0,function(S){return S.tryReadTemplateToken()}),f_stat:new xf(\"function\",!1),f_expr:new xf(\"function\",!0),f_expr_gen:new xf(\"function\",!0,!1,null,!0),f_gen:new xf(\"function\",!1,!1,null,!0)},WT=Rc.prototype;WT.initialContext=function(){return[w8.b_stat]},WT.braceIsBlock=function(S){var N0=this.curContext();return N0===w8.f_expr||N0===w8.f_stat||(S!==pt.colon||N0!==w8.b_stat&&N0!==w8.b_expr?S===pt._return||S===pt.name&&this.exprAllowed?b4.test(this.input.slice(this.lastTokEnd,this.start)):S===pt._else||S===pt.semi||S===pt.eof||S===pt.parenR||S===pt.arrow||(S===pt.braceL?N0===w8.b_stat:S!==pt._var&&S!==pt._const&&S!==pt.name&&!this.exprAllowed):!N0.isExpr)},WT.inGeneratorContext=function(){for(var S=this.context.length-1;S>=1;S--){var N0=this.context[S];if(N0.token===\"function\")return N0.generator}return!1},WT.updateContext=function(S){var N0,P1=this.type;P1.keyword&&S===pt.dot?this.exprAllowed=!1:(N0=P1.updateContext)?N0.call(this,S):this.exprAllowed=P1.beforeExpr},pt.parenR.updateContext=pt.braceR.updateContext=function(){if(this.context.length!==1){var S=this.context.pop();S===w8.b_stat&&this.curContext().token===\"function\"&&(S=this.context.pop()),this.exprAllowed=!S.isExpr}else this.exprAllowed=!0},pt.braceL.updateContext=function(S){this.context.push(this.braceIsBlock(S)?w8.b_stat:w8.b_expr),this.exprAllowed=!0},pt.dollarBraceL.updateContext=function(){this.context.push(w8.b_tmpl),this.exprAllowed=!0},pt.parenL.updateContext=function(S){var N0=S===pt._if||S===pt._for||S===pt._with||S===pt._while;this.context.push(N0?w8.p_stat:w8.p_expr),this.exprAllowed=!0},pt.incDec.updateContext=function(){},pt._function.updateContext=pt._class.updateContext=function(S){!S.beforeExpr||S===pt.semi||S===pt._else||S===pt._return&&b4.test(this.input.slice(this.lastTokEnd,this.start))||(S===pt.colon||S===pt.braceL)&&this.curContext()===w8.b_stat?this.context.push(w8.f_stat):this.context.push(w8.f_expr),this.exprAllowed=!1},pt.backQuote.updateContext=function(){this.curContext()===w8.q_tmpl?this.context.pop():this.context.push(w8.q_tmpl),this.exprAllowed=!1},pt.star.updateContext=function(S){if(S===pt._function){var N0=this.context.length-1;this.context[N0]===w8.f_expr?this.context[N0]=w8.f_expr_gen:this.context[N0]=w8.f_gen}this.exprAllowed=!0},pt.name.updateContext=function(S){var N0=!1;this.options.ecmaVersion>=6&&S!==pt.dot&&(this.value===\"of\"&&!this.exprAllowed||this.value===\"yield\"&&this.inGeneratorContext())&&(N0=!0),this.exprAllowed=N0};var al=\"ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS\",Z4=al+\" Extended_Pictographic\",op={9:al,10:Z4,11:\"ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS Extended_Pictographic\"},PF=\"Cased_Letter LC Close_Punctuation Pe Connector_Punctuation Pc Control Cc cntrl Currency_Symbol Sc Dash_Punctuation Pd Decimal_Number Nd digit Enclosing_Mark Me Final_Punctuation Pf Format Cf Initial_Punctuation Pi Letter L Letter_Number Nl Line_Separator Zl Lowercase_Letter Ll Mark M Combining_Mark Math_Symbol Sm Modifier_Letter Lm Modifier_Symbol Sk Nonspacing_Mark Mn Number N Open_Punctuation Ps Other C Other_Letter Lo Other_Number No Other_Punctuation Po Other_Symbol So Paragraph_Separator Zp Private_Use Co Punctuation P punct Separator Z Space_Separator Zs Spacing_Mark Mc Surrogate Cs Symbol S Titlecase_Letter Lt Unassigned Cn Uppercase_Letter Lu\",Lf=\"Adlam Adlm Ahom Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb\",xA=Lf+\" Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd\",nw={9:Lf,10:xA,11:\"Adlam Adlm Ahom Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho\"},Hd={};function o2(S){var N0=Hd[S]={binary:ya(op[S]+\" \"+PF),nonBinary:{General_Category:ya(PF),Script:ya(nw[S])}};N0.nonBinary.Script_Extensions=N0.nonBinary.Script,N0.nonBinary.gc=N0.nonBinary.General_Category,N0.nonBinary.sc=N0.nonBinary.Script,N0.nonBinary.scx=N0.nonBinary.Script_Extensions}o2(9),o2(10),o2(11);var Pu=Rc.prototype,mF=function(S){this.parser=S,this.validFlags=\"gim\"+(S.options.ecmaVersion>=6?\"uy\":\"\")+(S.options.ecmaVersion>=9?\"s\":\"\"),this.unicodeProperties=Hd[S.options.ecmaVersion>=11?11:S.options.ecmaVersion],this.source=\"\",this.flags=\"\",this.start=0,this.switchU=!1,this.switchN=!1,this.pos=0,this.lastIntValue=0,this.lastStringValue=\"\",this.lastAssertionIsQuantifiable=!1,this.numCapturingParens=0,this.maxBackReference=0,this.groupNames=[],this.backReferenceNames=[]};function sp(S){return S<=65535?String.fromCharCode(S):(S-=65536,String.fromCharCode(55296+(S>>10),56320+(1023&S)))}function wu(S){return S===36||S>=40&&S<=43||S===46||S===63||S>=91&&S<=94||S>=123&&S<=125}function Hp(S){return S>=65&&S<=90||S>=97&&S<=122}function ep(S){return Hp(S)||S===95}function Uf(S){return ep(S)||ff(S)}function ff(S){return S>=48&&S<=57}function iw(S){return S>=48&&S<=57||S>=65&&S<=70||S>=97&&S<=102}function R4(S){return S>=65&&S<=70?S-65+10:S>=97&&S<=102?S-97+10:S-48}function o5(S){return S>=48&&S<=55}mF.prototype.reset=function(S,N0,P1){var zx=P1.indexOf(\"u\")!==-1;this.start=0|S,this.source=N0+\"\",this.flags=P1,this.switchU=zx&&this.parser.options.ecmaVersion>=6,this.switchN=zx&&this.parser.options.ecmaVersion>=9},mF.prototype.raise=function(S){this.parser.raiseRecoverable(this.start,\"Invalid regular expression: /\"+this.source+\"/: \"+S)},mF.prototype.at=function(S,N0){N0===void 0&&(N0=!1);var P1=this.source,zx=P1.length;if(S>=zx)return-1;var $e=P1.charCodeAt(S);if(!N0&&!this.switchU||$e<=55295||$e>=57344||S+1>=zx)return $e;var bt=P1.charCodeAt(S+1);return bt>=56320&&bt<=57343?($e<<10)+bt-56613888:$e},mF.prototype.nextIndex=function(S,N0){N0===void 0&&(N0=!1);var P1=this.source,zx=P1.length;if(S>=zx)return zx;var $e,bt=P1.charCodeAt(S);return!N0&&!this.switchU||bt<=55295||bt>=57344||S+1>=zx||($e=P1.charCodeAt(S+1))<56320||$e>57343?S+1:S+2},mF.prototype.current=function(S){return S===void 0&&(S=!1),this.at(this.pos,S)},mF.prototype.lookahead=function(S){return S===void 0&&(S=!1),this.at(this.nextIndex(this.pos,S),S)},mF.prototype.advance=function(S){S===void 0&&(S=!1),this.pos=this.nextIndex(this.pos,S)},mF.prototype.eat=function(S,N0){return N0===void 0&&(N0=!1),this.current(N0)===S&&(this.advance(N0),!0)},Pu.validateRegExpFlags=function(S){for(var N0=S.validFlags,P1=S.flags,zx=0;zx<P1.length;zx++){var $e=P1.charAt(zx);N0.indexOf($e)===-1&&this.raise(S.start,\"Invalid regular expression flag\"),P1.indexOf($e,zx+1)>-1&&this.raise(S.start,\"Duplicate regular expression flag\")}},Pu.validateRegExpPattern=function(S){this.regexp_pattern(S),!S.switchN&&this.options.ecmaVersion>=9&&S.groupNames.length>0&&(S.switchN=!0,this.regexp_pattern(S))},Pu.regexp_pattern=function(S){S.pos=0,S.lastIntValue=0,S.lastStringValue=\"\",S.lastAssertionIsQuantifiable=!1,S.numCapturingParens=0,S.maxBackReference=0,S.groupNames.length=0,S.backReferenceNames.length=0,this.regexp_disjunction(S),S.pos!==S.source.length&&(S.eat(41)&&S.raise(\"Unmatched ')'\"),(S.eat(93)||S.eat(125))&&S.raise(\"Lone quantifier brackets\")),S.maxBackReference>S.numCapturingParens&&S.raise(\"Invalid escape\");for(var N0=0,P1=S.backReferenceNames;N0<P1.length;N0+=1){var zx=P1[N0];S.groupNames.indexOf(zx)===-1&&S.raise(\"Invalid named capture referenced\")}},Pu.regexp_disjunction=function(S){for(this.regexp_alternative(S);S.eat(124);)this.regexp_alternative(S);this.regexp_eatQuantifier(S,!0)&&S.raise(\"Nothing to repeat\"),S.eat(123)&&S.raise(\"Lone quantifier brackets\")},Pu.regexp_alternative=function(S){for(;S.pos<S.source.length&&this.regexp_eatTerm(S););},Pu.regexp_eatTerm=function(S){return this.regexp_eatAssertion(S)?(S.lastAssertionIsQuantifiable&&this.regexp_eatQuantifier(S)&&S.switchU&&S.raise(\"Invalid quantifier\"),!0):!!(S.switchU?this.regexp_eatAtom(S):this.regexp_eatExtendedAtom(S))&&(this.regexp_eatQuantifier(S),!0)},Pu.regexp_eatAssertion=function(S){var N0=S.pos;if(S.lastAssertionIsQuantifiable=!1,S.eat(94)||S.eat(36))return!0;if(S.eat(92)){if(S.eat(66)||S.eat(98))return!0;S.pos=N0}if(S.eat(40)&&S.eat(63)){var P1=!1;if(this.options.ecmaVersion>=9&&(P1=S.eat(60)),S.eat(61)||S.eat(33))return this.regexp_disjunction(S),S.eat(41)||S.raise(\"Unterminated group\"),S.lastAssertionIsQuantifiable=!P1,!0}return S.pos=N0,!1},Pu.regexp_eatQuantifier=function(S,N0){return N0===void 0&&(N0=!1),!!this.regexp_eatQuantifierPrefix(S,N0)&&(S.eat(63),!0)},Pu.regexp_eatQuantifierPrefix=function(S,N0){return S.eat(42)||S.eat(43)||S.eat(63)||this.regexp_eatBracedQuantifier(S,N0)},Pu.regexp_eatBracedQuantifier=function(S,N0){var P1=S.pos;if(S.eat(123)){var zx=0,$e=-1;if(this.regexp_eatDecimalDigits(S)&&(zx=S.lastIntValue,S.eat(44)&&this.regexp_eatDecimalDigits(S)&&($e=S.lastIntValue),S.eat(125)))return $e!==-1&&$e<zx&&!N0&&S.raise(\"numbers out of order in {} quantifier\"),!0;S.switchU&&!N0&&S.raise(\"Incomplete quantifier\"),S.pos=P1}return!1},Pu.regexp_eatAtom=function(S){return this.regexp_eatPatternCharacters(S)||S.eat(46)||this.regexp_eatReverseSolidusAtomEscape(S)||this.regexp_eatCharacterClass(S)||this.regexp_eatUncapturingGroup(S)||this.regexp_eatCapturingGroup(S)},Pu.regexp_eatReverseSolidusAtomEscape=function(S){var N0=S.pos;if(S.eat(92)){if(this.regexp_eatAtomEscape(S))return!0;S.pos=N0}return!1},Pu.regexp_eatUncapturingGroup=function(S){var N0=S.pos;if(S.eat(40)){if(S.eat(63)&&S.eat(58)){if(this.regexp_disjunction(S),S.eat(41))return!0;S.raise(\"Unterminated group\")}S.pos=N0}return!1},Pu.regexp_eatCapturingGroup=function(S){if(S.eat(40)){if(this.options.ecmaVersion>=9?this.regexp_groupSpecifier(S):S.current()===63&&S.raise(\"Invalid group\"),this.regexp_disjunction(S),S.eat(41))return S.numCapturingParens+=1,!0;S.raise(\"Unterminated group\")}return!1},Pu.regexp_eatExtendedAtom=function(S){return S.eat(46)||this.regexp_eatReverseSolidusAtomEscape(S)||this.regexp_eatCharacterClass(S)||this.regexp_eatUncapturingGroup(S)||this.regexp_eatCapturingGroup(S)||this.regexp_eatInvalidBracedQuantifier(S)||this.regexp_eatExtendedPatternCharacter(S)},Pu.regexp_eatInvalidBracedQuantifier=function(S){return this.regexp_eatBracedQuantifier(S,!0)&&S.raise(\"Nothing to repeat\"),!1},Pu.regexp_eatSyntaxCharacter=function(S){var N0=S.current();return!!wu(N0)&&(S.lastIntValue=N0,S.advance(),!0)},Pu.regexp_eatPatternCharacters=function(S){for(var N0=S.pos,P1=0;(P1=S.current())!==-1&&!wu(P1);)S.advance();return S.pos!==N0},Pu.regexp_eatExtendedPatternCharacter=function(S){var N0=S.current();return!(N0===-1||N0===36||N0>=40&&N0<=43||N0===46||N0===63||N0===91||N0===94||N0===124)&&(S.advance(),!0)},Pu.regexp_groupSpecifier=function(S){if(S.eat(63)){if(this.regexp_eatGroupName(S))return S.groupNames.indexOf(S.lastStringValue)!==-1&&S.raise(\"Duplicate capture group name\"),void S.groupNames.push(S.lastStringValue);S.raise(\"Invalid group\")}},Pu.regexp_eatGroupName=function(S){if(S.lastStringValue=\"\",S.eat(60)){if(this.regexp_eatRegExpIdentifierName(S)&&S.eat(62))return!0;S.raise(\"Invalid capture group name\")}return!1},Pu.regexp_eatRegExpIdentifierName=function(S){if(S.lastStringValue=\"\",this.regexp_eatRegExpIdentifierStart(S)){for(S.lastStringValue+=sp(S.lastIntValue);this.regexp_eatRegExpIdentifierPart(S);)S.lastStringValue+=sp(S.lastIntValue);return!0}return!1},Pu.regexp_eatRegExpIdentifierStart=function(S){var N0=S.pos,P1=this.options.ecmaVersion>=11,zx=S.current(P1);return S.advance(P1),zx===92&&this.regexp_eatRegExpUnicodeEscapeSequence(S,P1)&&(zx=S.lastIntValue),function($e){return e6($e,!0)||$e===36||$e===95}(zx)?(S.lastIntValue=zx,!0):(S.pos=N0,!1)},Pu.regexp_eatRegExpIdentifierPart=function(S){var N0=S.pos,P1=this.options.ecmaVersion>=11,zx=S.current(P1);return S.advance(P1),zx===92&&this.regexp_eatRegExpUnicodeEscapeSequence(S,P1)&&(zx=S.lastIntValue),function($e){return z2($e,!0)||$e===36||$e===95||$e===8204||$e===8205}(zx)?(S.lastIntValue=zx,!0):(S.pos=N0,!1)},Pu.regexp_eatAtomEscape=function(S){return!!(this.regexp_eatBackReference(S)||this.regexp_eatCharacterClassEscape(S)||this.regexp_eatCharacterEscape(S)||S.switchN&&this.regexp_eatKGroupName(S))||(S.switchU&&(S.current()===99&&S.raise(\"Invalid unicode escape\"),S.raise(\"Invalid escape\")),!1)},Pu.regexp_eatBackReference=function(S){var N0=S.pos;if(this.regexp_eatDecimalEscape(S)){var P1=S.lastIntValue;if(S.switchU)return P1>S.maxBackReference&&(S.maxBackReference=P1),!0;if(P1<=S.numCapturingParens)return!0;S.pos=N0}return!1},Pu.regexp_eatKGroupName=function(S){if(S.eat(107)){if(this.regexp_eatGroupName(S))return S.backReferenceNames.push(S.lastStringValue),!0;S.raise(\"Invalid named reference\")}return!1},Pu.regexp_eatCharacterEscape=function(S){return this.regexp_eatControlEscape(S)||this.regexp_eatCControlLetter(S)||this.regexp_eatZero(S)||this.regexp_eatHexEscapeSequence(S)||this.regexp_eatRegExpUnicodeEscapeSequence(S,!1)||!S.switchU&&this.regexp_eatLegacyOctalEscapeSequence(S)||this.regexp_eatIdentityEscape(S)},Pu.regexp_eatCControlLetter=function(S){var N0=S.pos;if(S.eat(99)){if(this.regexp_eatControlLetter(S))return!0;S.pos=N0}return!1},Pu.regexp_eatZero=function(S){return S.current()===48&&!ff(S.lookahead())&&(S.lastIntValue=0,S.advance(),!0)},Pu.regexp_eatControlEscape=function(S){var N0=S.current();return N0===116?(S.lastIntValue=9,S.advance(),!0):N0===110?(S.lastIntValue=10,S.advance(),!0):N0===118?(S.lastIntValue=11,S.advance(),!0):N0===102?(S.lastIntValue=12,S.advance(),!0):N0===114&&(S.lastIntValue=13,S.advance(),!0)},Pu.regexp_eatControlLetter=function(S){var N0=S.current();return!!Hp(N0)&&(S.lastIntValue=N0%32,S.advance(),!0)},Pu.regexp_eatRegExpUnicodeEscapeSequence=function(S,N0){N0===void 0&&(N0=!1);var P1,zx=S.pos,$e=N0||S.switchU;if(S.eat(117)){if(this.regexp_eatFixedHexDigits(S,4)){var bt=S.lastIntValue;if($e&&bt>=55296&&bt<=56319){var qr=S.pos;if(S.eat(92)&&S.eat(117)&&this.regexp_eatFixedHexDigits(S,4)){var ji=S.lastIntValue;if(ji>=56320&&ji<=57343)return S.lastIntValue=1024*(bt-55296)+(ji-56320)+65536,!0}S.pos=qr,S.lastIntValue=bt}return!0}if($e&&S.eat(123)&&this.regexp_eatHexDigits(S)&&S.eat(125)&&(P1=S.lastIntValue)>=0&&P1<=1114111)return!0;$e&&S.raise(\"Invalid unicode escape\"),S.pos=zx}return!1},Pu.regexp_eatIdentityEscape=function(S){if(S.switchU)return!!this.regexp_eatSyntaxCharacter(S)||!!S.eat(47)&&(S.lastIntValue=47,!0);var N0=S.current();return!(N0===99||S.switchN&&N0===107)&&(S.lastIntValue=N0,S.advance(),!0)},Pu.regexp_eatDecimalEscape=function(S){S.lastIntValue=0;var N0=S.current();if(N0>=49&&N0<=57){do S.lastIntValue=10*S.lastIntValue+(N0-48),S.advance();while((N0=S.current())>=48&&N0<=57);return!0}return!1},Pu.regexp_eatCharacterClassEscape=function(S){var N0=S.current();if(function(P1){return P1===100||P1===68||P1===115||P1===83||P1===119||P1===87}(N0))return S.lastIntValue=-1,S.advance(),!0;if(S.switchU&&this.options.ecmaVersion>=9&&(N0===80||N0===112)){if(S.lastIntValue=-1,S.advance(),S.eat(123)&&this.regexp_eatUnicodePropertyValueExpression(S)&&S.eat(125))return!0;S.raise(\"Invalid property name\")}return!1},Pu.regexp_eatUnicodePropertyValueExpression=function(S){var N0=S.pos;if(this.regexp_eatUnicodePropertyName(S)&&S.eat(61)){var P1=S.lastStringValue;if(this.regexp_eatUnicodePropertyValue(S)){var zx=S.lastStringValue;return this.regexp_validateUnicodePropertyNameAndValue(S,P1,zx),!0}}if(S.pos=N0,this.regexp_eatLoneUnicodePropertyNameOrValue(S)){var $e=S.lastStringValue;return this.regexp_validateUnicodePropertyNameOrValue(S,$e),!0}return!1},Pu.regexp_validateUnicodePropertyNameAndValue=function(S,N0,P1){xs(S.unicodeProperties.nonBinary,N0)||S.raise(\"Invalid property name\"),S.unicodeProperties.nonBinary[N0].test(P1)||S.raise(\"Invalid property value\")},Pu.regexp_validateUnicodePropertyNameOrValue=function(S,N0){S.unicodeProperties.binary.test(N0)||S.raise(\"Invalid property name\")},Pu.regexp_eatUnicodePropertyName=function(S){var N0=0;for(S.lastStringValue=\"\";ep(N0=S.current());)S.lastStringValue+=sp(N0),S.advance();return S.lastStringValue!==\"\"},Pu.regexp_eatUnicodePropertyValue=function(S){var N0=0;for(S.lastStringValue=\"\";Uf(N0=S.current());)S.lastStringValue+=sp(N0),S.advance();return S.lastStringValue!==\"\"},Pu.regexp_eatLoneUnicodePropertyNameOrValue=function(S){return this.regexp_eatUnicodePropertyValue(S)},Pu.regexp_eatCharacterClass=function(S){if(S.eat(91)){if(S.eat(94),this.regexp_classRanges(S),S.eat(93))return!0;S.raise(\"Unterminated character class\")}return!1},Pu.regexp_classRanges=function(S){for(;this.regexp_eatClassAtom(S);){var N0=S.lastIntValue;if(S.eat(45)&&this.regexp_eatClassAtom(S)){var P1=S.lastIntValue;!S.switchU||N0!==-1&&P1!==-1||S.raise(\"Invalid character class\"),N0!==-1&&P1!==-1&&N0>P1&&S.raise(\"Range out of order in character class\")}}},Pu.regexp_eatClassAtom=function(S){var N0=S.pos;if(S.eat(92)){if(this.regexp_eatClassEscape(S))return!0;if(S.switchU){var P1=S.current();(P1===99||o5(P1))&&S.raise(\"Invalid class escape\"),S.raise(\"Invalid escape\")}S.pos=N0}var zx=S.current();return zx!==93&&(S.lastIntValue=zx,S.advance(),!0)},Pu.regexp_eatClassEscape=function(S){var N0=S.pos;if(S.eat(98))return S.lastIntValue=8,!0;if(S.switchU&&S.eat(45))return S.lastIntValue=45,!0;if(!S.switchU&&S.eat(99)){if(this.regexp_eatClassControlLetter(S))return!0;S.pos=N0}return this.regexp_eatCharacterClassEscape(S)||this.regexp_eatCharacterEscape(S)},Pu.regexp_eatClassControlLetter=function(S){var N0=S.current();return!(!ff(N0)&&N0!==95)&&(S.lastIntValue=N0%32,S.advance(),!0)},Pu.regexp_eatHexEscapeSequence=function(S){var N0=S.pos;if(S.eat(120)){if(this.regexp_eatFixedHexDigits(S,2))return!0;S.switchU&&S.raise(\"Invalid escape\"),S.pos=N0}return!1},Pu.regexp_eatDecimalDigits=function(S){var N0=S.pos,P1=0;for(S.lastIntValue=0;ff(P1=S.current());)S.lastIntValue=10*S.lastIntValue+(P1-48),S.advance();return S.pos!==N0},Pu.regexp_eatHexDigits=function(S){var N0=S.pos,P1=0;for(S.lastIntValue=0;iw(P1=S.current());)S.lastIntValue=16*S.lastIntValue+R4(P1),S.advance();return S.pos!==N0},Pu.regexp_eatLegacyOctalEscapeSequence=function(S){if(this.regexp_eatOctalDigit(S)){var N0=S.lastIntValue;if(this.regexp_eatOctalDigit(S)){var P1=S.lastIntValue;N0<=3&&this.regexp_eatOctalDigit(S)?S.lastIntValue=64*N0+8*P1+S.lastIntValue:S.lastIntValue=8*N0+P1}else S.lastIntValue=N0;return!0}return!1},Pu.regexp_eatOctalDigit=function(S){var N0=S.current();return o5(N0)?(S.lastIntValue=N0-48,S.advance(),!0):(S.lastIntValue=0,!1)},Pu.regexp_eatFixedHexDigits=function(S,N0){var P1=S.pos;S.lastIntValue=0;for(var zx=0;zx<N0;++zx){var $e=S.current();if(!iw($e))return S.pos=P1,!1;S.lastIntValue=16*S.lastIntValue+R4($e),S.advance()}return!0};var Gd=function(S){this.type=S.type,this.value=S.value,this.start=S.start,this.end=S.end,S.options.locations&&(this.loc=new mu(S,S.startLoc,S.endLoc)),S.options.ranges&&(this.range=[S.start,S.end])},cd=Rc.prototype;function uT(S){return typeof BigInt!=\"function\"?null:BigInt(S.replace(/_/g,\"\"))}function Mf(S){return S<=65535?String.fromCharCode(S):(S-=65536,String.fromCharCode(55296+(S>>10),56320+(1023&S)))}cd.next=function(S){!S&&this.type.keyword&&this.containsEsc&&this.raiseRecoverable(this.start,\"Escape sequence in keyword \"+this.type.keyword),this.options.onToken&&this.options.onToken(new Gd(this)),this.lastTokEnd=this.end,this.lastTokStart=this.start,this.lastTokEndLoc=this.endLoc,this.lastTokStartLoc=this.startLoc,this.nextToken()},cd.getToken=function(){return this.next(),new Gd(this)},typeof Symbol!=\"undefined\"&&(cd[Symbol.iterator]=function(){var S=this;return{next:function(){var N0=S.getToken();return{done:N0.type===pt.eof,value:N0}}}}),cd.curContext=function(){return this.context[this.context.length-1]},cd.nextToken=function(){var S=this.curContext();return S&&S.preserveSpace||this.skipSpace(),this.start=this.pos,this.options.locations&&(this.startLoc=this.curPosition()),this.pos>=this.input.length?this.finishToken(pt.eof):S.override?S.override(this):void this.readToken(this.fullCharCodeAtPos())},cd.readToken=function(S){return e6(S,this.options.ecmaVersion>=6)||S===92?this.readWord():this.getTokenFromCode(S)},cd.fullCharCodeAtPos=function(){var S=this.input.charCodeAt(this.pos);return S<=55295||S>=57344?S:(S<<10)+this.input.charCodeAt(this.pos+1)-56613888},cd.skipBlockComment=function(){var S,N0=this.options.onComment&&this.curPosition(),P1=this.pos,zx=this.input.indexOf(\"*/\",this.pos+=2);if(zx===-1&&this.raise(this.pos-2,\"Unterminated comment\"),this.pos=zx+2,this.options.locations)for(M6.lastIndex=P1;(S=M6.exec(this.input))&&S.index<this.pos;)++this.curLine,this.lineStart=S.index+S[0].length;this.options.onComment&&this.options.onComment(!0,this.input.slice(P1+2,zx),P1,this.pos,N0,this.curPosition())},cd.skipLineComment=function(S){for(var N0=this.pos,P1=this.options.onComment&&this.curPosition(),zx=this.input.charCodeAt(this.pos+=S);this.pos<this.input.length&&!B1(zx);)zx=this.input.charCodeAt(++this.pos);this.options.onComment&&this.options.onComment(!1,this.input.slice(N0+S,this.pos),N0,this.pos,P1,this.curPosition())},cd.skipSpace=function(){x:for(;this.pos<this.input.length;){var S=this.input.charCodeAt(this.pos);switch(S){case 32:case 160:++this.pos;break;case 13:this.input.charCodeAt(this.pos+1)===10&&++this.pos;case 10:case 8232:case 8233:++this.pos,this.options.locations&&(++this.curLine,this.lineStart=this.pos);break;case 47:switch(this.input.charCodeAt(this.pos+1)){case 42:this.skipBlockComment();break;case 47:this.skipLineComment(2);break;default:break x}break;default:if(!(S>8&&S<14||S>=5760&&Yx.test(String.fromCharCode(S))))break x;++this.pos}}},cd.finishToken=function(S,N0){this.end=this.pos,this.options.locations&&(this.endLoc=this.curPosition());var P1=this.type;this.type=S,this.value=N0,this.updateContext(P1)},cd.readToken_dot=function(){var S=this.input.charCodeAt(this.pos+1);if(S>=48&&S<=57)return this.readNumber(!0);var N0=this.input.charCodeAt(this.pos+2);return this.options.ecmaVersion>=6&&S===46&&N0===46?(this.pos+=3,this.finishToken(pt.ellipsis)):(++this.pos,this.finishToken(pt.dot))},cd.readToken_slash=function(){var S=this.input.charCodeAt(this.pos+1);return this.exprAllowed?(++this.pos,this.readRegexp()):S===61?this.finishOp(pt.assign,2):this.finishOp(pt.slash,1)},cd.readToken_mult_modulo_exp=function(S){var N0=this.input.charCodeAt(this.pos+1),P1=1,zx=S===42?pt.star:pt.modulo;return this.options.ecmaVersion>=7&&S===42&&N0===42&&(++P1,zx=pt.starstar,N0=this.input.charCodeAt(this.pos+2)),N0===61?this.finishOp(pt.assign,P1+1):this.finishOp(zx,P1)},cd.readToken_pipe_amp=function(S){var N0=this.input.charCodeAt(this.pos+1);return N0===S?this.options.ecmaVersion>=12&&this.input.charCodeAt(this.pos+2)===61?this.finishOp(pt.assign,3):this.finishOp(S===124?pt.logicalOR:pt.logicalAND,2):N0===61?this.finishOp(pt.assign,2):this.finishOp(S===124?pt.bitwiseOR:pt.bitwiseAND,1)},cd.readToken_caret=function(){return this.input.charCodeAt(this.pos+1)===61?this.finishOp(pt.assign,2):this.finishOp(pt.bitwiseXOR,1)},cd.readToken_plus_min=function(S){var N0=this.input.charCodeAt(this.pos+1);return N0===S?N0!==45||this.inModule||this.input.charCodeAt(this.pos+2)!==62||this.lastTokEnd!==0&&!b4.test(this.input.slice(this.lastTokEnd,this.pos))?this.finishOp(pt.incDec,2):(this.skipLineComment(3),this.skipSpace(),this.nextToken()):N0===61?this.finishOp(pt.assign,2):this.finishOp(pt.plusMin,1)},cd.readToken_lt_gt=function(S){var N0=this.input.charCodeAt(this.pos+1),P1=1;return N0===S?(P1=S===62&&this.input.charCodeAt(this.pos+2)===62?3:2,this.input.charCodeAt(this.pos+P1)===61?this.finishOp(pt.assign,P1+1):this.finishOp(pt.bitShift,P1)):N0!==33||S!==60||this.inModule||this.input.charCodeAt(this.pos+2)!==45||this.input.charCodeAt(this.pos+3)!==45?(N0===61&&(P1=2),this.finishOp(pt.relational,P1)):(this.skipLineComment(4),this.skipSpace(),this.nextToken())},cd.readToken_eq_excl=function(S){var N0=this.input.charCodeAt(this.pos+1);return N0===61?this.finishOp(pt.equality,this.input.charCodeAt(this.pos+2)===61?3:2):S===61&&N0===62&&this.options.ecmaVersion>=6?(this.pos+=2,this.finishToken(pt.arrow)):this.finishOp(S===61?pt.eq:pt.prefix,1)},cd.readToken_question=function(){var S=this.options.ecmaVersion;if(S>=11){var N0=this.input.charCodeAt(this.pos+1);if(N0===46){var P1=this.input.charCodeAt(this.pos+2);if(P1<48||P1>57)return this.finishOp(pt.questionDot,2)}if(N0===63)return S>=12&&this.input.charCodeAt(this.pos+2)===61?this.finishOp(pt.assign,3):this.finishOp(pt.coalesce,2)}return this.finishOp(pt.question,1)},cd.getTokenFromCode=function(S){switch(S){case 46:return this.readToken_dot();case 40:return++this.pos,this.finishToken(pt.parenL);case 41:return++this.pos,this.finishToken(pt.parenR);case 59:return++this.pos,this.finishToken(pt.semi);case 44:return++this.pos,this.finishToken(pt.comma);case 91:return++this.pos,this.finishToken(pt.bracketL);case 93:return++this.pos,this.finishToken(pt.bracketR);case 123:return++this.pos,this.finishToken(pt.braceL);case 125:return++this.pos,this.finishToken(pt.braceR);case 58:return++this.pos,this.finishToken(pt.colon);case 96:if(this.options.ecmaVersion<6)break;return++this.pos,this.finishToken(pt.backQuote);case 48:var N0=this.input.charCodeAt(this.pos+1);if(N0===120||N0===88)return this.readRadixNumber(16);if(this.options.ecmaVersion>=6){if(N0===111||N0===79)return this.readRadixNumber(8);if(N0===98||N0===66)return this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.readNumber(!1);case 34:case 39:return this.readString(S);case 47:return this.readToken_slash();case 37:case 42:return this.readToken_mult_modulo_exp(S);case 124:case 38:return this.readToken_pipe_amp(S);case 94:return this.readToken_caret();case 43:case 45:return this.readToken_plus_min(S);case 60:case 62:return this.readToken_lt_gt(S);case 61:case 33:return this.readToken_eq_excl(S);case 63:return this.readToken_question();case 126:return this.finishOp(pt.prefix,1)}this.raise(this.pos,\"Unexpected character '\"+Mf(S)+\"'\")},cd.finishOp=function(S,N0){var P1=this.input.slice(this.pos,this.pos+N0);return this.pos+=N0,this.finishToken(S,P1)},cd.readRegexp=function(){for(var S,N0,P1=this.pos;;){this.pos>=this.input.length&&this.raise(P1,\"Unterminated regular expression\");var zx=this.input.charAt(this.pos);if(b4.test(zx)&&this.raise(P1,\"Unterminated regular expression\"),S)S=!1;else{if(zx===\"[\")N0=!0;else if(zx===\"]\"&&N0)N0=!1;else if(zx===\"/\"&&!N0)break;S=zx===\"\\\\\"}++this.pos}var $e=this.input.slice(P1,this.pos);++this.pos;var bt=this.pos,qr=this.readWord1();this.containsEsc&&this.unexpected(bt);var ji=this.regexpState||(this.regexpState=new mF(this));ji.reset(P1,$e,qr),this.validateRegExpFlags(ji),this.validateRegExpPattern(ji);var B0=null;try{B0=new RegExp($e,qr)}catch{}return this.finishToken(pt.regexp,{pattern:$e,flags:qr,value:B0})},cd.readInt=function(S,N0,P1){for(var zx=this.options.ecmaVersion>=12&&N0===void 0,$e=P1&&this.input.charCodeAt(this.pos)===48,bt=this.pos,qr=0,ji=0,B0=0,d=N0==null?1/0:N0;B0<d;++B0,++this.pos){var N=this.input.charCodeAt(this.pos),C0=void 0;if(zx&&N===95)$e&&this.raiseRecoverable(this.pos,\"Numeric separator is not allowed in legacy octal numeric literals\"),ji===95&&this.raiseRecoverable(this.pos,\"Numeric separator must be exactly one underscore\"),B0===0&&this.raiseRecoverable(this.pos,\"Numeric separator is not allowed at the first of digits\"),ji=N;else{if((C0=N>=97?N-97+10:N>=65?N-65+10:N>=48&&N<=57?N-48:1/0)>=S)break;ji=N,qr=qr*S+C0}}return zx&&ji===95&&this.raiseRecoverable(this.pos-1,\"Numeric separator is not allowed at the last of digits\"),this.pos===bt||N0!=null&&this.pos-bt!==N0?null:qr},cd.readRadixNumber=function(S){var N0=this.pos;this.pos+=2;var P1=this.readInt(S);return P1==null&&this.raise(this.start+2,\"Expected number in radix \"+S),this.options.ecmaVersion>=11&&this.input.charCodeAt(this.pos)===110?(P1=uT(this.input.slice(N0,this.pos)),++this.pos):e6(this.fullCharCodeAtPos())&&this.raise(this.pos,\"Identifier directly after number\"),this.finishToken(pt.num,P1)},cd.readNumber=function(S){var N0=this.pos;S||this.readInt(10,void 0,!0)!==null||this.raise(N0,\"Invalid number\");var P1=this.pos-N0>=2&&this.input.charCodeAt(N0)===48;P1&&this.strict&&this.raise(N0,\"Invalid number\");var zx=this.input.charCodeAt(this.pos);if(!P1&&!S&&this.options.ecmaVersion>=11&&zx===110){var $e=uT(this.input.slice(N0,this.pos));return++this.pos,e6(this.fullCharCodeAtPos())&&this.raise(this.pos,\"Identifier directly after number\"),this.finishToken(pt.num,$e)}P1&&/[89]/.test(this.input.slice(N0,this.pos))&&(P1=!1),zx!==46||P1||(++this.pos,this.readInt(10),zx=this.input.charCodeAt(this.pos)),zx!==69&&zx!==101||P1||((zx=this.input.charCodeAt(++this.pos))!==43&&zx!==45||++this.pos,this.readInt(10)===null&&this.raise(N0,\"Invalid number\")),e6(this.fullCharCodeAtPos())&&this.raise(this.pos,\"Identifier directly after number\");var bt,qr=(bt=this.input.slice(N0,this.pos),P1?parseInt(bt,8):parseFloat(bt.replace(/_/g,\"\")));return this.finishToken(pt.num,qr)},cd.readCodePoint=function(){var S;if(this.input.charCodeAt(this.pos)===123){this.options.ecmaVersion<6&&this.unexpected();var N0=++this.pos;S=this.readHexChar(this.input.indexOf(\"}\",this.pos)-this.pos),++this.pos,S>1114111&&this.invalidStringToken(N0,\"Code point out of bounds\")}else S=this.readHexChar(4);return S},cd.readString=function(S){for(var N0=\"\",P1=++this.pos;;){this.pos>=this.input.length&&this.raise(this.start,\"Unterminated string constant\");var zx=this.input.charCodeAt(this.pos);if(zx===S)break;zx===92?(N0+=this.input.slice(P1,this.pos),N0+=this.readEscapedChar(!1),P1=this.pos):(B1(zx,this.options.ecmaVersion>=10)&&this.raise(this.start,\"Unterminated string constant\"),++this.pos)}return N0+=this.input.slice(P1,this.pos++),this.finishToken(pt.string,N0)};var Ap={};cd.tryReadTemplateToken=function(){this.inTemplateElement=!0;try{this.readTmplToken()}catch(S){if(S!==Ap)throw S;this.readInvalidTemplateToken()}this.inTemplateElement=!1},cd.invalidStringToken=function(S,N0){if(this.inTemplateElement&&this.options.ecmaVersion>=9)throw Ap;this.raise(S,N0)},cd.readTmplToken=function(){for(var S=\"\",N0=this.pos;;){this.pos>=this.input.length&&this.raise(this.start,\"Unterminated template\");var P1=this.input.charCodeAt(this.pos);if(P1===96||P1===36&&this.input.charCodeAt(this.pos+1)===123)return this.pos!==this.start||this.type!==pt.template&&this.type!==pt.invalidTemplate?(S+=this.input.slice(N0,this.pos),this.finishToken(pt.template,S)):P1===36?(this.pos+=2,this.finishToken(pt.dollarBraceL)):(++this.pos,this.finishToken(pt.backQuote));if(P1===92)S+=this.input.slice(N0,this.pos),S+=this.readEscapedChar(!0),N0=this.pos;else if(B1(P1)){switch(S+=this.input.slice(N0,this.pos),++this.pos,P1){case 13:this.input.charCodeAt(this.pos)===10&&++this.pos;case 10:S+=`\n`;break;default:S+=String.fromCharCode(P1)}this.options.locations&&(++this.curLine,this.lineStart=this.pos),N0=this.pos}else++this.pos}},cd.readInvalidTemplateToken=function(){for(;this.pos<this.input.length;this.pos++)switch(this.input[this.pos]){case\"\\\\\":++this.pos;break;case\"$\":if(this.input[this.pos+1]!==\"{\")break;case\"`\":return this.finishToken(pt.invalidTemplate,this.input.slice(this.start,this.pos))}this.raise(this.start,\"Unterminated template\")},cd.readEscapedChar=function(S){var N0=this.input.charCodeAt(++this.pos);switch(++this.pos,N0){case 110:return`\n`;case 114:return\"\\r\";case 120:return String.fromCharCode(this.readHexChar(2));case 117:return Mf(this.readCodePoint());case 116:return\"\t\";case 98:return\"\\b\";case 118:return\"\\v\";case 102:return\"\\f\";case 13:this.input.charCodeAt(this.pos)===10&&++this.pos;case 10:return this.options.locations&&(this.lineStart=this.pos,++this.curLine),\"\";case 56:case 57:if(S){var P1=this.pos-1;return this.invalidStringToken(P1,\"Invalid escape sequence in template string\"),null}default:if(N0>=48&&N0<=55){var zx=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0],$e=parseInt(zx,8);return $e>255&&(zx=zx.slice(0,-1),$e=parseInt(zx,8)),this.pos+=zx.length-1,N0=this.input.charCodeAt(this.pos),zx===\"0\"&&N0!==56&&N0!==57||!this.strict&&!S||this.invalidStringToken(this.pos-1-zx.length,S?\"Octal literal in template string\":\"Octal literal in strict mode\"),String.fromCharCode($e)}return B1(N0)?\"\":String.fromCharCode(N0)}},cd.readHexChar=function(S){var N0=this.pos,P1=this.readInt(16,S);return P1===null&&this.invalidStringToken(N0,\"Bad character escape sequence\"),P1},cd.readWord1=function(){this.containsEsc=!1;for(var S=\"\",N0=!0,P1=this.pos,zx=this.options.ecmaVersion>=6;this.pos<this.input.length;){var $e=this.fullCharCodeAtPos();if(z2($e,zx))this.pos+=$e<=65535?1:2;else{if($e!==92)break;this.containsEsc=!0,S+=this.input.slice(P1,this.pos);var bt=this.pos;this.input.charCodeAt(++this.pos)!==117&&this.invalidStringToken(this.pos,\"Expecting Unicode escape sequence \\\\uXXXX\"),++this.pos;var qr=this.readCodePoint();(N0?e6:z2)(qr,zx)||this.invalidStringToken(bt,\"Invalid Unicode escape\"),S+=Mf(qr),P1=this.pos}N0=!1}return S+this.input.slice(P1,this.pos)},cd.readWord=function(){var S=this.readWord1(),N0=pt.name;return this.keywords.test(S)&&(N0=v4[S]),this.finishToken(N0,S)};var C4=\"7.4.1\";Rc.acorn={Parser:Rc,version:C4,defaultOptions:a6,Position:ul,SourceLocation:mu,getLineInfo:Ds,Node:bl,TokenType:ty,tokTypes:pt,keywordTypes:v4,TokContext:xf,tokContexts:w8,isIdentifierChar:z2,isIdentifierStart:e6,Token:Gd,isNewLine:B1,lineBreak:b4,lineBreakG:M6,nonASCIIwhitespace:Yx};var wT={quot:'\"',amp:\"&\",apos:\"'\",lt:\"<\",gt:\">\",nbsp:\"\\xA0\",iexcl:\"\\xA1\",cent:\"\\xA2\",pound:\"\\xA3\",curren:\"\\xA4\",yen:\"\\xA5\",brvbar:\"\\xA6\",sect:\"\\xA7\",uml:\"\\xA8\",copy:\"\\xA9\",ordf:\"\\xAA\",laquo:\"\\xAB\",not:\"\\xAC\",shy:\"\\xAD\",reg:\"\\xAE\",macr:\"\\xAF\",deg:\"\\xB0\",plusmn:\"\\xB1\",sup2:\"\\xB2\",sup3:\"\\xB3\",acute:\"\\xB4\",micro:\"\\xB5\",para:\"\\xB6\",middot:\"\\xB7\",cedil:\"\\xB8\",sup1:\"\\xB9\",ordm:\"\\xBA\",raquo:\"\\xBB\",frac14:\"\\xBC\",frac12:\"\\xBD\",frac34:\"\\xBE\",iquest:\"\\xBF\",Agrave:\"\\xC0\",Aacute:\"\\xC1\",Acirc:\"\\xC2\",Atilde:\"\\xC3\",Auml:\"\\xC4\",Aring:\"\\xC5\",AElig:\"\\xC6\",Ccedil:\"\\xC7\",Egrave:\"\\xC8\",Eacute:\"\\xC9\",Ecirc:\"\\xCA\",Euml:\"\\xCB\",Igrave:\"\\xCC\",Iacute:\"\\xCD\",Icirc:\"\\xCE\",Iuml:\"\\xCF\",ETH:\"\\xD0\",Ntilde:\"\\xD1\",Ograve:\"\\xD2\",Oacute:\"\\xD3\",Ocirc:\"\\xD4\",Otilde:\"\\xD5\",Ouml:\"\\xD6\",times:\"\\xD7\",Oslash:\"\\xD8\",Ugrave:\"\\xD9\",Uacute:\"\\xDA\",Ucirc:\"\\xDB\",Uuml:\"\\xDC\",Yacute:\"\\xDD\",THORN:\"\\xDE\",szlig:\"\\xDF\",agrave:\"\\xE0\",aacute:\"\\xE1\",acirc:\"\\xE2\",atilde:\"\\xE3\",auml:\"\\xE4\",aring:\"\\xE5\",aelig:\"\\xE6\",ccedil:\"\\xE7\",egrave:\"\\xE8\",eacute:\"\\xE9\",ecirc:\"\\xEA\",euml:\"\\xEB\",igrave:\"\\xEC\",iacute:\"\\xED\",icirc:\"\\xEE\",iuml:\"\\xEF\",eth:\"\\xF0\",ntilde:\"\\xF1\",ograve:\"\\xF2\",oacute:\"\\xF3\",ocirc:\"\\xF4\",otilde:\"\\xF5\",ouml:\"\\xF6\",divide:\"\\xF7\",oslash:\"\\xF8\",ugrave:\"\\xF9\",uacute:\"\\xFA\",ucirc:\"\\xFB\",uuml:\"\\xFC\",yacute:\"\\xFD\",thorn:\"\\xFE\",yuml:\"\\xFF\",OElig:\"\\u0152\",oelig:\"\\u0153\",Scaron:\"\\u0160\",scaron:\"\\u0161\",Yuml:\"\\u0178\",fnof:\"\\u0192\",circ:\"\\u02C6\",tilde:\"\\u02DC\",Alpha:\"\\u0391\",Beta:\"\\u0392\",Gamma:\"\\u0393\",Delta:\"\\u0394\",Epsilon:\"\\u0395\",Zeta:\"\\u0396\",Eta:\"\\u0397\",Theta:\"\\u0398\",Iota:\"\\u0399\",Kappa:\"\\u039A\",Lambda:\"\\u039B\",Mu:\"\\u039C\",Nu:\"\\u039D\",Xi:\"\\u039E\",Omicron:\"\\u039F\",Pi:\"\\u03A0\",Rho:\"\\u03A1\",Sigma:\"\\u03A3\",Tau:\"\\u03A4\",Upsilon:\"\\u03A5\",Phi:\"\\u03A6\",Chi:\"\\u03A7\",Psi:\"\\u03A8\",Omega:\"\\u03A9\",alpha:\"\\u03B1\",beta:\"\\u03B2\",gamma:\"\\u03B3\",delta:\"\\u03B4\",epsilon:\"\\u03B5\",zeta:\"\\u03B6\",eta:\"\\u03B7\",theta:\"\\u03B8\",iota:\"\\u03B9\",kappa:\"\\u03BA\",lambda:\"\\u03BB\",mu:\"\\u03BC\",nu:\"\\u03BD\",xi:\"\\u03BE\",omicron:\"\\u03BF\",pi:\"\\u03C0\",rho:\"\\u03C1\",sigmaf:\"\\u03C2\",sigma:\"\\u03C3\",tau:\"\\u03C4\",upsilon:\"\\u03C5\",phi:\"\\u03C6\",chi:\"\\u03C7\",psi:\"\\u03C8\",omega:\"\\u03C9\",thetasym:\"\\u03D1\",upsih:\"\\u03D2\",piv:\"\\u03D6\",ensp:\"\\u2002\",emsp:\"\\u2003\",thinsp:\"\\u2009\",zwnj:\"\\u200C\",zwj:\"\\u200D\",lrm:\"\\u200E\",rlm:\"\\u200F\",ndash:\"\\u2013\",mdash:\"\\u2014\",lsquo:\"\\u2018\",rsquo:\"\\u2019\",sbquo:\"\\u201A\",ldquo:\"\\u201C\",rdquo:\"\\u201D\",bdquo:\"\\u201E\",dagger:\"\\u2020\",Dagger:\"\\u2021\",bull:\"\\u2022\",hellip:\"\\u2026\",permil:\"\\u2030\",prime:\"\\u2032\",Prime:\"\\u2033\",lsaquo:\"\\u2039\",rsaquo:\"\\u203A\",oline:\"\\u203E\",frasl:\"\\u2044\",euro:\"\\u20AC\",image:\"\\u2111\",weierp:\"\\u2118\",real:\"\\u211C\",trade:\"\\u2122\",alefsym:\"\\u2135\",larr:\"\\u2190\",uarr:\"\\u2191\",rarr:\"\\u2192\",darr:\"\\u2193\",harr:\"\\u2194\",crarr:\"\\u21B5\",lArr:\"\\u21D0\",uArr:\"\\u21D1\",rArr:\"\\u21D2\",dArr:\"\\u21D3\",hArr:\"\\u21D4\",forall:\"\\u2200\",part:\"\\u2202\",exist:\"\\u2203\",empty:\"\\u2205\",nabla:\"\\u2207\",isin:\"\\u2208\",notin:\"\\u2209\",ni:\"\\u220B\",prod:\"\\u220F\",sum:\"\\u2211\",minus:\"\\u2212\",lowast:\"\\u2217\",radic:\"\\u221A\",prop:\"\\u221D\",infin:\"\\u221E\",ang:\"\\u2220\",and:\"\\u2227\",or:\"\\u2228\",cap:\"\\u2229\",cup:\"\\u222A\",int:\"\\u222B\",there4:\"\\u2234\",sim:\"\\u223C\",cong:\"\\u2245\",asymp:\"\\u2248\",ne:\"\\u2260\",equiv:\"\\u2261\",le:\"\\u2264\",ge:\"\\u2265\",sub:\"\\u2282\",sup:\"\\u2283\",nsub:\"\\u2284\",sube:\"\\u2286\",supe:\"\\u2287\",oplus:\"\\u2295\",otimes:\"\\u2297\",perp:\"\\u22A5\",sdot:\"\\u22C5\",lceil:\"\\u2308\",rceil:\"\\u2309\",lfloor:\"\\u230A\",rfloor:\"\\u230B\",lang:\"\\u2329\",rang:\"\\u232A\",loz:\"\\u25CA\",spades:\"\\u2660\",clubs:\"\\u2663\",hearts:\"\\u2665\",diams:\"\\u2666\"},tp=D1(Object.freeze({__proto__:null,Node:bl,Parser:Rc,Position:ul,SourceLocation:mu,TokContext:xf,Token:Gd,TokenType:ty,defaultOptions:a6,getLineInfo:Ds,isIdentifierChar:z2,isIdentifierStart:e6,isNewLine:B1,keywordTypes:v4,lineBreak:b4,lineBreakG:M6,nonASCIIwhitespace:Yx,parse:function(S,N0){return Rc.parse(S,N0)},parseExpressionAt:function(S,N0,P1){return Rc.parseExpressionAt(S,N0,P1)},tokContexts:w8,tokTypes:pt,tokenizer:function(S,N0){return Rc.tokenizer(S,N0)},version:C4})),o6=W0(function(S){const N0=/^[\\da-fA-F]+$/,P1=/^\\d+$/,zx=new WeakMap;function $e(qr){qr=qr.Parser.acorn||qr;let ji=zx.get(qr);if(!ji){const B0=qr.tokTypes,d=qr.TokContext,N=qr.TokenType,C0=new d(\"<tag\",!1),_1=new d(\"</tag\",!1),jx=new d(\"<tag>...</tag>\",!0,!0),We={tc_oTag:C0,tc_cTag:_1,tc_expr:jx},mt={jsxName:new N(\"jsxName\"),jsxText:new N(\"jsxText\",{beforeExpr:!0}),jsxTagStart:new N(\"jsxTagStart\",{startsExpr:!0}),jsxTagEnd:new N(\"jsxTagEnd\")};mt.jsxTagStart.updateContext=function(){this.context.push(jx),this.context.push(C0),this.exprAllowed=!1},mt.jsxTagEnd.updateContext=function($t){let Zn=this.context.pop();Zn===C0&&$t===B0.slash||Zn===_1?(this.context.pop(),this.exprAllowed=this.curContext()===jx):this.exprAllowed=!0},ji={tokContexts:We,tokTypes:mt},zx.set(qr,ji)}return ji}function bt(qr){return qr&&(qr.type===\"JSXIdentifier\"?qr.name:qr.type===\"JSXNamespacedName\"?qr.namespace.name+\":\"+qr.name.name:qr.type===\"JSXMemberExpression\"?bt(qr.object)+\".\"+bt(qr.property):void 0)}S.exports=function(qr){return qr=qr||{},function(ji){return function(B0,d){const N=d.acorn||tp,C0=$e(N),_1=N.tokTypes,jx=C0.tokTypes,We=N.tokContexts,mt=C0.tokContexts.tc_oTag,$t=C0.tokContexts.tc_cTag,Zn=C0.tokContexts.tc_expr,_i=N.isNewLine,Va=N.isIdentifierStart,Bo=N.isIdentifierChar;return class extends d{static get acornJsx(){return C0}jsx_readToken(){let Rt=\"\",Xs=this.pos;for(;;){this.pos>=this.input.length&&this.raise(this.start,\"Unterminated JSX contents\");let ll=this.input.charCodeAt(this.pos);switch(ll){case 60:case 123:return this.pos===this.start?ll===60&&this.exprAllowed?(++this.pos,this.finishToken(jx.jsxTagStart)):this.getTokenFromCode(ll):(Rt+=this.input.slice(Xs,this.pos),this.finishToken(jx.jsxText,Rt));case 38:Rt+=this.input.slice(Xs,this.pos),Rt+=this.jsx_readEntity(),Xs=this.pos;break;case 62:case 125:this.raise(this.pos,\"Unexpected token `\"+this.input[this.pos]+\"`. Did you mean `\"+(ll===62?\"&gt;\":\"&rbrace;\")+'` or `{\"'+this.input[this.pos]+'\"}`?');default:_i(ll)?(Rt+=this.input.slice(Xs,this.pos),Rt+=this.jsx_readNewLine(!0),Xs=this.pos):++this.pos}}}jsx_readNewLine(Rt){let Xs,ll=this.input.charCodeAt(this.pos);return++this.pos,ll===13&&this.input.charCodeAt(this.pos)===10?(++this.pos,Xs=Rt?`\n`:`\\r\n`):Xs=String.fromCharCode(ll),this.options.locations&&(++this.curLine,this.lineStart=this.pos),Xs}jsx_readString(Rt){let Xs=\"\",ll=++this.pos;for(;;){this.pos>=this.input.length&&this.raise(this.start,\"Unterminated string constant\");let jc=this.input.charCodeAt(this.pos);if(jc===Rt)break;jc===38?(Xs+=this.input.slice(ll,this.pos),Xs+=this.jsx_readEntity(),ll=this.pos):_i(jc)?(Xs+=this.input.slice(ll,this.pos),Xs+=this.jsx_readNewLine(!1),ll=this.pos):++this.pos}return Xs+=this.input.slice(ll,this.pos++),this.finishToken(_1.string,Xs)}jsx_readEntity(){let Rt,Xs=\"\",ll=0,jc=this.input[this.pos];jc!==\"&\"&&this.raise(this.pos,\"Entity must start with an ampersand\");let xu=++this.pos;for(;this.pos<this.input.length&&ll++<10;){if(jc=this.input[this.pos++],jc===\";\"){Xs[0]===\"#\"?Xs[1]===\"x\"?(Xs=Xs.substr(2),N0.test(Xs)&&(Rt=String.fromCharCode(parseInt(Xs,16)))):(Xs=Xs.substr(1),P1.test(Xs)&&(Rt=String.fromCharCode(parseInt(Xs,10)))):Rt=wT[Xs];break}Xs+=jc}return Rt||(this.pos=xu,\"&\")}jsx_readWord(){let Rt,Xs=this.pos;do Rt=this.input.charCodeAt(++this.pos);while(Bo(Rt)||Rt===45);return this.finishToken(jx.jsxName,this.input.slice(Xs,this.pos))}jsx_parseIdentifier(){let Rt=this.startNode();return this.type===jx.jsxName?Rt.name=this.value:this.type.keyword?Rt.name=this.type.keyword:this.unexpected(),this.next(),this.finishNode(Rt,\"JSXIdentifier\")}jsx_parseNamespacedName(){let Rt=this.start,Xs=this.startLoc,ll=this.jsx_parseIdentifier();if(!B0.allowNamespaces||!this.eat(_1.colon))return ll;var jc=this.startNodeAt(Rt,Xs);return jc.namespace=ll,jc.name=this.jsx_parseIdentifier(),this.finishNode(jc,\"JSXNamespacedName\")}jsx_parseElementName(){if(this.type===jx.jsxTagEnd)return\"\";let Rt=this.start,Xs=this.startLoc,ll=this.jsx_parseNamespacedName();for(this.type!==_1.dot||ll.type!==\"JSXNamespacedName\"||B0.allowNamespacedObjects||this.unexpected();this.eat(_1.dot);){let jc=this.startNodeAt(Rt,Xs);jc.object=ll,jc.property=this.jsx_parseIdentifier(),ll=this.finishNode(jc,\"JSXMemberExpression\")}return ll}jsx_parseAttributeValue(){switch(this.type){case _1.braceL:let Rt=this.jsx_parseExpressionContainer();return Rt.expression.type===\"JSXEmptyExpression\"&&this.raise(Rt.start,\"JSX attributes must only be assigned a non-empty expression\"),Rt;case jx.jsxTagStart:case _1.string:return this.parseExprAtom();default:this.raise(this.start,\"JSX value should be either an expression or a quoted JSX text\")}}jsx_parseEmptyExpression(){let Rt=this.startNodeAt(this.lastTokEnd,this.lastTokEndLoc);return this.finishNodeAt(Rt,\"JSXEmptyExpression\",this.start,this.startLoc)}jsx_parseExpressionContainer(){let Rt=this.startNode();return this.next(),Rt.expression=this.type===_1.braceR?this.jsx_parseEmptyExpression():this.parseExpression(),this.expect(_1.braceR),this.finishNode(Rt,\"JSXExpressionContainer\")}jsx_parseAttribute(){let Rt=this.startNode();return this.eat(_1.braceL)?(this.expect(_1.ellipsis),Rt.argument=this.parseMaybeAssign(),this.expect(_1.braceR),this.finishNode(Rt,\"JSXSpreadAttribute\")):(Rt.name=this.jsx_parseNamespacedName(),Rt.value=this.eat(_1.eq)?this.jsx_parseAttributeValue():null,this.finishNode(Rt,\"JSXAttribute\"))}jsx_parseOpeningElementAt(Rt,Xs){let ll=this.startNodeAt(Rt,Xs);ll.attributes=[];let jc=this.jsx_parseElementName();for(jc&&(ll.name=jc);this.type!==_1.slash&&this.type!==jx.jsxTagEnd;)ll.attributes.push(this.jsx_parseAttribute());return ll.selfClosing=this.eat(_1.slash),this.expect(jx.jsxTagEnd),this.finishNode(ll,jc?\"JSXOpeningElement\":\"JSXOpeningFragment\")}jsx_parseClosingElementAt(Rt,Xs){let ll=this.startNodeAt(Rt,Xs),jc=this.jsx_parseElementName();return jc&&(ll.name=jc),this.expect(jx.jsxTagEnd),this.finishNode(ll,jc?\"JSXClosingElement\":\"JSXClosingFragment\")}jsx_parseElementAt(Rt,Xs){let ll=this.startNodeAt(Rt,Xs),jc=[],xu=this.jsx_parseOpeningElementAt(Rt,Xs),Ml=null;if(!xu.selfClosing){x:for(;;)switch(this.type){case jx.jsxTagStart:if(Rt=this.start,Xs=this.startLoc,this.next(),this.eat(_1.slash)){Ml=this.jsx_parseClosingElementAt(Rt,Xs);break x}jc.push(this.jsx_parseElementAt(Rt,Xs));break;case jx.jsxText:jc.push(this.parseExprAtom());break;case _1.braceL:jc.push(this.jsx_parseExpressionContainer());break;default:this.unexpected()}bt(Ml.name)!==bt(xu.name)&&this.raise(Ml.start,\"Expected corresponding JSX closing tag for <\"+bt(xu.name)+\">\")}let iE=xu.name?\"Element\":\"Fragment\";return ll[\"opening\"+iE]=xu,ll[\"closing\"+iE]=Ml,ll.children=jc,this.type===_1.relational&&this.value===\"<\"&&this.raise(this.start,\"Adjacent JSX elements must be wrapped in an enclosing tag\"),this.finishNode(ll,\"JSX\"+iE)}jsx_parseText(){let Rt=this.parseLiteral(this.value);return Rt.type=\"JSXText\",Rt}jsx_parseElement(){let Rt=this.start,Xs=this.startLoc;return this.next(),this.jsx_parseElementAt(Rt,Xs)}parseExprAtom(Rt){return this.type===jx.jsxText?this.jsx_parseText():this.type===jx.jsxTagStart?this.jsx_parseElement():super.parseExprAtom(Rt)}readToken(Rt){let Xs=this.curContext();if(Xs===Zn)return this.jsx_readToken();if(Xs===mt||Xs===$t){if(Va(Rt))return this.jsx_readWord();if(Rt==62)return++this.pos,this.finishToken(jx.jsxTagEnd);if((Rt===34||Rt===39)&&Xs==mt)return this.jsx_readString(Rt)}return Rt===60&&this.exprAllowed&&this.input.charCodeAt(this.pos+1)!==33?(++this.pos,this.finishToken(jx.jsxTagStart)):super.readToken(Rt)}updateContext(Rt){if(this.type==_1.braceL){var Xs=this.curContext();Xs==mt?this.context.push(We.b_expr):Xs==Zn?this.context.push(We.b_tmpl):super.updateContext(Rt),this.exprAllowed=!0}else{if(this.type!==_1.slash||Rt!==jx.jsxTagStart)return super.updateContext(Rt);this.context.length-=2,this.context.push($t),this.exprAllowed=!1}}}}({allowNamespaces:qr.allowNamespaces!==!1,allowNamespacedObjects:!!qr.allowNamespacedObjects},ji)}},Object.defineProperty(S.exports,\"tokTypes\",{get:function(){return $e(tp).tokTypes},configurable:!0,enumerable:!0})}),hF={AssignmentExpression:\"AssignmentExpression\",AssignmentPattern:\"AssignmentPattern\",ArrayExpression:\"ArrayExpression\",ArrayPattern:\"ArrayPattern\",ArrowFunctionExpression:\"ArrowFunctionExpression\",AwaitExpression:\"AwaitExpression\",BlockStatement:\"BlockStatement\",BinaryExpression:\"BinaryExpression\",BreakStatement:\"BreakStatement\",CallExpression:\"CallExpression\",CatchClause:\"CatchClause\",ClassBody:\"ClassBody\",ClassDeclaration:\"ClassDeclaration\",ClassExpression:\"ClassExpression\",ConditionalExpression:\"ConditionalExpression\",ContinueStatement:\"ContinueStatement\",DoWhileStatement:\"DoWhileStatement\",DebuggerStatement:\"DebuggerStatement\",EmptyStatement:\"EmptyStatement\",ExpressionStatement:\"ExpressionStatement\",ForStatement:\"ForStatement\",ForInStatement:\"ForInStatement\",ForOfStatement:\"ForOfStatement\",FunctionDeclaration:\"FunctionDeclaration\",FunctionExpression:\"FunctionExpression\",Identifier:\"Identifier\",IfStatement:\"IfStatement\",Literal:\"Literal\",LabeledStatement:\"LabeledStatement\",LogicalExpression:\"LogicalExpression\",MemberExpression:\"MemberExpression\",MetaProperty:\"MetaProperty\",MethodDefinition:\"MethodDefinition\",NewExpression:\"NewExpression\",ObjectExpression:\"ObjectExpression\",ObjectPattern:\"ObjectPattern\",Program:\"Program\",Property:\"Property\",RestElement:\"RestElement\",ReturnStatement:\"ReturnStatement\",SequenceExpression:\"SequenceExpression\",SpreadElement:\"SpreadElement\",Super:\"Super\",SwitchCase:\"SwitchCase\",SwitchStatement:\"SwitchStatement\",TaggedTemplateExpression:\"TaggedTemplateExpression\",TemplateElement:\"TemplateElement\",TemplateLiteral:\"TemplateLiteral\",ThisExpression:\"ThisExpression\",ThrowStatement:\"ThrowStatement\",TryStatement:\"TryStatement\",UnaryExpression:\"UnaryExpression\",UpdateExpression:\"UpdateExpression\",VariableDeclaration:\"VariableDeclaration\",VariableDeclarator:\"VariableDeclarator\",WhileStatement:\"WhileStatement\",WithStatement:\"WithStatement\",YieldExpression:\"YieldExpression\",JSXIdentifier:\"JSXIdentifier\",JSXNamespacedName:\"JSXNamespacedName\",JSXMemberExpression:\"JSXMemberExpression\",JSXEmptyExpression:\"JSXEmptyExpression\",JSXExpressionContainer:\"JSXExpressionContainer\",JSXElement:\"JSXElement\",JSXClosingElement:\"JSXClosingElement\",JSXOpeningElement:\"JSXOpeningElement\",JSXAttribute:\"JSXAttribute\",JSXSpreadAttribute:\"JSXSpreadAttribute\",JSXText:\"JSXText\",ExportDefaultDeclaration:\"ExportDefaultDeclaration\",ExportNamedDeclaration:\"ExportNamedDeclaration\",ExportAllDeclaration:\"ExportAllDeclaration\",ExportSpecifier:\"ExportSpecifier\",ImportDeclaration:\"ImportDeclaration\",ImportSpecifier:\"ImportSpecifier\",ImportDefaultSpecifier:\"ImportDefaultSpecifier\",ImportNamespaceSpecifier:\"ImportNamespaceSpecifier\"};const Nl=\"Boolean\",cl=\"Identifier\",SA=\"Keyword\",Vf=\"Null\",hl=\"Numeric\",Id=\"Punctuator\",wf=\"String\",tl=\"RegularExpression\",kf=\"Template\",Tp=\"JSXIdentifier\",Xd=\"JSXText\";function M0(S,N0){this._acornTokTypes=S,this._tokens=[],this._curlyBrace=null,this._code=N0}M0.prototype={constructor:M0,translate(S,N0){const P1=S.type,zx=this._acornTokTypes;if(P1===zx.name)S.type=cl,S.value===\"static\"&&(S.type=SA),N0.ecmaVersion>5&&(S.value===\"yield\"||S.value===\"let\")&&(S.type=SA);else if(P1===zx.semi||P1===zx.comma||P1===zx.parenL||P1===zx.parenR||P1===zx.braceL||P1===zx.braceR||P1===zx.dot||P1===zx.bracketL||P1===zx.colon||P1===zx.question||P1===zx.bracketR||P1===zx.ellipsis||P1===zx.arrow||P1===zx.jsxTagStart||P1===zx.incDec||P1===zx.starstar||P1===zx.jsxTagEnd||P1===zx.prefix||P1===zx.questionDot||P1.binop&&!P1.keyword||P1.isAssign)S.type=Id,S.value=this._code.slice(S.start,S.end);else if(P1===zx.jsxName)S.type=Tp;else if(P1.label===\"jsxText\"||P1===zx.jsxAttrValueToken)S.type=Xd;else if(P1.keyword)P1.keyword===\"true\"||P1.keyword===\"false\"?S.type=Nl:P1.keyword===\"null\"?S.type=Vf:S.type=SA;else if(P1===zx.num)S.type=hl,S.value=this._code.slice(S.start,S.end);else if(P1===zx.string)N0.jsxAttrValueToken?(N0.jsxAttrValueToken=!1,S.type=Xd):S.type=wf,S.value=this._code.slice(S.start,S.end);else if(P1===zx.regexp){S.type=tl;const $e=S.value;S.regex={flags:$e.flags,pattern:$e.pattern},S.value=`/${$e.pattern}/${$e.flags}`}return S},onToken(S,N0){const P1=this,zx=this._acornTokTypes,$e=N0.tokens,bt=this._tokens;function qr(){$e.push(function(ji,B0){const d=ji[0],N=ji[ji.length-1],C0={type:kf,value:B0.slice(d.start,N.end)};return d.loc&&(C0.loc={start:d.loc.start,end:N.loc.end}),d.range&&(C0.start=d.range[0],C0.end=N.range[1],C0.range=[C0.start,C0.end]),C0}(P1._tokens,P1._code)),P1._tokens=[]}if(S.type!==zx.eof){if(S.type===zx.backQuote)return this._curlyBrace&&($e.push(this.translate(this._curlyBrace,N0)),this._curlyBrace=null),bt.push(S),void(bt.length>1&&qr());if(S.type===zx.dollarBraceL)return bt.push(S),void qr();if(S.type===zx.braceR)return this._curlyBrace&&$e.push(this.translate(this._curlyBrace,N0)),void(this._curlyBrace=S);if(S.type===zx.template||S.type===zx.invalidTemplate)return this._curlyBrace&&(bt.push(this._curlyBrace),this._curlyBrace=null),void bt.push(S);this._curlyBrace&&($e.push(this.translate(this._curlyBrace,N0)),this._curlyBrace=null),$e.push(this.translate(S,N0))}else this._curlyBrace&&$e.push(this.translate(this._curlyBrace,N0))}};var e0=M0;const R0=[3,5,6,7,8,9,10,11,12];var R1={normalizeOptions:function(S){const N0=function(bt=5){if(typeof bt!=\"number\")throw new Error(`ecmaVersion must be a number. Received value of type ${typeof bt} instead.`);let qr=bt;if(qr>=2015&&(qr-=2009),!R0.includes(qr))throw new Error(\"Invalid ecmaVersion.\");return qr}(S.ecmaVersion),P1=function(bt=\"script\"){if(bt===\"script\"||bt===\"module\")return bt;throw new Error(\"Invalid sourceType.\")}(S.sourceType),zx=S.range===!0,$e=S.loc===!0;if(P1===\"module\"&&N0<6)throw new Error(\"sourceType 'module' is not supported when ecmaVersion < 2015. Consider adding `{ ecmaVersion: 2015 }` to the parser options.\");return Object.assign({},S,{ecmaVersion:N0,sourceType:P1,ranges:zx,locations:$e})},getLatestEcmaVersion:function(){return R0[R0.length-1]},getSupportedEcmaVersions:function(){return[...R0]}};const{normalizeOptions:H1}=R1,Jx=Symbol(\"espree's internal state\"),Se=Symbol(\"espree's esprimaFinishNode\");var Ye=()=>S=>{const N0=Object.assign({},S.acorn.tokTypes);return S.acornJsx&&Object.assign(N0,S.acornJsx.tokTypes),class extends S{constructor(P1,zx){typeof P1==\"object\"&&P1!==null||(P1={}),typeof zx==\"string\"||zx instanceof String||(zx=String(zx));const $e=H1(P1),bt=$e.ecmaFeatures||{},qr=$e.tokens===!0?new e0(N0,zx):null;super({ecmaVersion:$e.ecmaVersion,sourceType:$e.sourceType,ranges:$e.ranges,locations:$e.locations,allowReturnOutsideFunction:Boolean(bt.globalReturn),onToken:ji=>{qr&&qr.onToken(ji,this[Jx]),ji.type!==N0.eof&&(this[Jx].lastToken=ji)},onComment:(ji,B0,d,N,C0,_1)=>{if(this[Jx].comments){const jx=function(We,mt,$t,Zn,_i,Va){const Bo={type:We?\"Block\":\"Line\",value:mt};return typeof $t==\"number\"&&(Bo.start=$t,Bo.end=Zn,Bo.range=[$t,Zn]),typeof _i==\"object\"&&(Bo.loc={start:_i,end:Va}),Bo}(ji,B0,d,N,C0,_1);this[Jx].comments.push(jx)}}},zx),this[Jx]={tokens:qr?[]:null,comments:$e.comment===!0?[]:null,impliedStrict:bt.impliedStrict===!0&&this.options.ecmaVersion>=5,ecmaVersion:this.options.ecmaVersion,jsxAttrValueToken:!1,lastToken:null}}tokenize(){do this.next();while(this.type!==N0.eof);this.next();const P1=this[Jx],zx=P1.tokens;return P1.comments&&(zx.comments=P1.comments),zx}finishNode(...P1){const zx=super.finishNode(...P1);return this[Se](zx)}finishNodeAt(...P1){const zx=super.finishNodeAt(...P1);return this[Se](zx)}parse(){const P1=this[Jx],zx=super.parse();return zx.sourceType=this.options.sourceType,P1.comments&&(zx.comments=P1.comments),P1.tokens&&(zx.tokens=P1.tokens),zx.range&&(zx.range[0]=zx.body.length?zx.body[0].range[0]:zx.range[0],zx.range[1]=P1.lastToken?P1.lastToken.range[1]:zx.range[1]),zx.loc&&(zx.loc.start=zx.body.length?zx.body[0].loc.start:zx.loc.start,zx.loc.end=P1.lastToken?P1.lastToken.loc.end:zx.loc.end),zx}parseTopLevel(P1){return this[Jx].impliedStrict&&(this.strict=!0),super.parseTopLevel(P1)}raise(P1,zx){const $e=S.acorn.getLineInfo(this.input,P1),bt=new SyntaxError(zx);throw bt.index=P1,bt.lineNumber=$e.line,bt.column=$e.column+1,bt}raiseRecoverable(P1,zx){this.raise(P1,zx)}unexpected(P1){let zx=\"Unexpected token\";if(P1!=null){if(this.pos=P1,this.options.locations)for(;this.pos<this.lineStart;)this.lineStart=this.input.lastIndexOf(`\n`,this.lineStart-2)+1,--this.curLine;this.nextToken()}this.end>this.start&&(zx+=` ${this.input.slice(this.start,this.end)}`),this.raise(this.start,zx)}jsx_readString(P1){const zx=super.jsx_readString(P1);return this.type===N0.string&&(this[Jx].jsxAttrValueToken=!0),zx}[Se](P1){if(P1.type===\"TemplateElement\"){const zx=this.input.slice(P1.end,P1.end+2)===\"${\";P1.range&&(P1.range[0]--,P1.range[1]+=zx?2:1),P1.loc&&(P1.loc.start.column--,P1.loc.end.column+=zx?2:1)}return P1.type.indexOf(\"Function\")>-1&&!P1.generator&&(P1.generator=!1),P1}}},tt=\"7.3.1\",Er={AssignmentExpression:[\"left\",\"right\"],AssignmentPattern:[\"left\",\"right\"],ArrayExpression:[\"elements\"],ArrayPattern:[\"elements\"],ArrowFunctionExpression:[\"params\",\"body\"],AwaitExpression:[\"argument\"],BlockStatement:[\"body\"],BinaryExpression:[\"left\",\"right\"],BreakStatement:[\"label\"],CallExpression:[\"callee\",\"arguments\"],CatchClause:[\"param\",\"body\"],ChainExpression:[\"expression\"],ClassBody:[\"body\"],ClassDeclaration:[\"id\",\"superClass\",\"body\"],ClassExpression:[\"id\",\"superClass\",\"body\"],ConditionalExpression:[\"test\",\"consequent\",\"alternate\"],ContinueStatement:[\"label\"],DebuggerStatement:[],DoWhileStatement:[\"body\",\"test\"],EmptyStatement:[],ExportAllDeclaration:[\"exported\",\"source\"],ExportDefaultDeclaration:[\"declaration\"],ExportNamedDeclaration:[\"declaration\",\"specifiers\",\"source\"],ExportSpecifier:[\"exported\",\"local\"],ExpressionStatement:[\"expression\"],ExperimentalRestProperty:[\"argument\"],ExperimentalSpreadProperty:[\"argument\"],ForStatement:[\"init\",\"test\",\"update\",\"body\"],ForInStatement:[\"left\",\"right\",\"body\"],ForOfStatement:[\"left\",\"right\",\"body\"],FunctionDeclaration:[\"id\",\"params\",\"body\"],FunctionExpression:[\"id\",\"params\",\"body\"],Identifier:[],IfStatement:[\"test\",\"consequent\",\"alternate\"],ImportDeclaration:[\"specifiers\",\"source\"],ImportDefaultSpecifier:[\"local\"],ImportExpression:[\"source\"],ImportNamespaceSpecifier:[\"local\"],ImportSpecifier:[\"imported\",\"local\"],JSXAttribute:[\"name\",\"value\"],JSXClosingElement:[\"name\"],JSXElement:[\"openingElement\",\"children\",\"closingElement\"],JSXEmptyExpression:[],JSXExpressionContainer:[\"expression\"],JSXIdentifier:[],JSXMemberExpression:[\"object\",\"property\"],JSXNamespacedName:[\"namespace\",\"name\"],JSXOpeningElement:[\"name\",\"attributes\"],JSXSpreadAttribute:[\"argument\"],JSXText:[],JSXFragment:[\"openingFragment\",\"children\",\"closingFragment\"],Literal:[],LabeledStatement:[\"label\",\"body\"],LogicalExpression:[\"left\",\"right\"],MemberExpression:[\"object\",\"property\"],MetaProperty:[\"meta\",\"property\"],MethodDefinition:[\"key\",\"value\"],NewExpression:[\"callee\",\"arguments\"],ObjectExpression:[\"properties\"],ObjectPattern:[\"properties\"],Program:[\"body\"],Property:[\"key\",\"value\"],RestElement:[\"argument\"],ReturnStatement:[\"argument\"],SequenceExpression:[\"expressions\"],SpreadElement:[\"argument\"],Super:[],SwitchStatement:[\"discriminant\",\"cases\"],SwitchCase:[\"test\",\"consequent\"],TaggedTemplateExpression:[\"tag\",\"quasi\"],TemplateElement:[],TemplateLiteral:[\"quasis\",\"expressions\"],ThisExpression:[],ThrowStatement:[\"argument\"],TryStatement:[\"block\",\"handler\",\"finalizer\"],UnaryExpression:[\"argument\"],UpdateExpression:[\"argument\"],VariableDeclaration:[\"declarations\"],VariableDeclarator:[\"id\",\"init\"],WhileStatement:[\"test\",\"body\"],WithStatement:[\"object\",\"body\"],YieldExpression:[\"argument\"]};const Zt=Object.freeze(Object.keys(Er));for(const S of Zt)Object.freeze(Er[S]);Object.freeze(Er);const hi=new Set([\"parent\",\"leadingComments\",\"trailingComments\"]);function po(S){return!hi.has(S)&&S[0]!==\"_\"}var ba=Object.freeze({KEYS:Er,getKeys:S=>Object.keys(S).filter(po),unionWith(S){const N0=Object.assign({},Er);for(const P1 of Object.keys(S))if(N0.hasOwnProperty(P1)){const zx=new Set(S[P1]);for(const $e of N0[P1])zx.add($e);N0[P1]=Object.freeze(Array.from(zx))}else N0[P1]=Object.freeze(Array.from(S[P1]));return Object.freeze(N0)}});const{getLatestEcmaVersion:oa,getSupportedEcmaVersions:ho}=R1,Za={_regular:null,_jsx:null,get regular(){return this._regular===null&&(this._regular=tp.Parser.extend(Ye())),this._regular},get jsx(){return this._jsx===null&&(this._jsx=tp.Parser.extend(o6(),Ye())),this._jsx},get(S){return Boolean(S&&S.ecmaFeatures&&S.ecmaFeatures.jsx)?this.jsx:this.regular}};var Od={version:tt,tokenize:function(S,N0){const P1=Za.get(N0);return N0&&N0.tokens===!0||(N0=Object.assign({},N0,{tokens:!0})),new P1(N0,S).tokenize()},parse:function(S,N0){return new(Za.get(N0))(N0,S).parse()},Syntax:function(){let S,N0={};for(S in typeof Object.create==\"function\"&&(N0=Object.create(null)),hF)Object.hasOwnProperty.call(hF,S)&&(N0[S]=hF[S]);return typeof Object.freeze==\"function\"&&Object.freeze(N0),N0}(),VisitorKeys:ba.KEYS,latestEcmaVersion:oa(),supportedEcmaVersions:ho()};const Cl={range:!0,loc:!0,comment:!0,tokens:!0,sourceType:\"module\",ecmaFeatures:{jsx:!0,globalReturn:!0,impliedStrict:!1}};return{parsers:{espree:QF(function(S,N0,P1){const{parse:zx,latestEcmaVersion:$e}=Od;Cl.ecmaVersion=$e;const bt=Ww(S),{result:qr,error:ji}=b(()=>zx(bt,Object.assign(Object.assign({},Cl),{},{sourceType:\"module\"})),()=>zx(bt,Object.assign(Object.assign({},Cl),{},{sourceType:\"script\"})));if(!qr)throw function(B0){const{message:d,lineNumber:N,column:C0}=B0;return typeof N!=\"number\"?B0:c(d,{start:{line:N,column:C0}})}(ji);return zw(qr,Object.assign(Object.assign({},P1),{},{originalText:S}))})}}})})(Gy0);var Xy0={exports:{}};(function(a,u){(function(c,b){a.exports=b()})($F,function(){var c=function(_,v0){const w1=new SyntaxError(_+\" (\"+v0.start.line+\":\"+v0.start.column+\")\");return w1.loc=v0,w1},b=function(..._){let v0;for(const[w1,Ix]of _.entries())try{return{result:Ix()}}catch(Wx){w1===0&&(v0=Wx)}return{error:v0}},R=_=>typeof _==\"string\"?_.replace((({onlyFirst:v0=!1}={})=>{const w1=[\"[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:[a-zA-Z\\\\d]*(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)\",\"(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))\"].join(\"|\");return new RegExp(w1,v0?void 0:\"g\")})(),\"\"):_;const K=_=>!Number.isNaN(_)&&_>=4352&&(_<=4447||_===9001||_===9002||11904<=_&&_<=12871&&_!==12351||12880<=_&&_<=19903||19968<=_&&_<=42182||43360<=_&&_<=43388||44032<=_&&_<=55203||63744<=_&&_<=64255||65040<=_&&_<=65049||65072<=_&&_<=65131||65281<=_&&_<=65376||65504<=_&&_<=65510||110592<=_&&_<=110593||127488<=_&&_<=127569||131072<=_&&_<=262141);var s0=K,Y=K;s0.default=Y;const F0=_=>{if(typeof _!=\"string\"||_.length===0||(_=R(_)).length===0)return 0;_=_.replace(/\\uD83C\\uDFF4\\uDB40\\uDC67\\uDB40\\uDC62(?:\\uDB40\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67|\\uDB40\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDB40\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73)\\uDB40\\uDC7F|\\uD83D\\uDC68(?:\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C\\uDFFB|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFE])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83D\\uDC68|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D[\\uDC66\\uDC67])|[\\u2695\\u2696\\u2708]\\uFE0F|\\uD83D[\\uDC66\\uDC67]|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|(?:\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708])\\uFE0F|\\uD83C\\uDFFB\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C[\\uDFFB-\\uDFFF])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFB\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)\\uD83C\\uDFFB|\\uD83E\\uDDD1(?:\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1)|(?:\\uD83E\\uDDD1\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69]))(?:\\uD83C[\\uDFFB-\\uDFFE])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83D\\uDC69(?:\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFB\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFC-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D(?:\\uD83D[\\uDC68\\uDC69])|\\uD83D[\\uDC68\\uDC69])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|(?:\\uD83E\\uDDD1\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D\\uDC41\\uFE0F\\u200D\\uD83D\\uDDE8|\\uD83D\\uDC69(?:\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708])|(?:(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)\\uFE0F|\\uD83D\\uDC6F|\\uD83E[\\uDD3C\\uDDDE\\uDDDF])\\u200D[\\u2640\\u2642]|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|\\u200D[\\u2640\\u2642])|\\uD83C\\uDFF4\\u200D\\u2620)\\uFE0F|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|\\uD83C\\uDFF3\\uFE0F\\u200D\\uD83C\\uDF08|\\uD83D\\uDC15\\u200D\\uD83E\\uDDBA|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67|\\uD83C\\uDDFD\\uD83C\\uDDF0|\\uD83C\\uDDF4\\uD83C\\uDDF2|\\uD83C\\uDDF6\\uD83C\\uDDE6|[#\\*0-9]\\uFE0F\\u20E3|\\uD83C\\uDDE7(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDF9(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF])|\\uD83C\\uDDEA(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA])|\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF7(?:\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC])|\\uD83D\\uDC69(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF2(?:\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF])|\\uD83C\\uDDE6(?:\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF])|\\uD83C\\uDDF0(?:\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDED(?:\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA])|\\uD83C\\uDDE9(?:\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF])|\\uD83C\\uDDFE(?:\\uD83C[\\uDDEA\\uDDF9])|\\uD83C\\uDDEC(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE])|\\uD83C\\uDDF8(?:\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF])|\\uD83C\\uDDEB(?:\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7])|\\uD83C\\uDDF5(?:\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE])|\\uD83C\\uDDFB(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA])|\\uD83C\\uDDF3(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF])|\\uD83C\\uDDE8(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF5\\uDDF7\\uDDFA-\\uDDFF])|\\uD83C\\uDDF1(?:\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE])|\\uD83C\\uDDFF(?:\\uD83C[\\uDDE6\\uDDF2\\uDDFC])|\\uD83C\\uDDFC(?:\\uD83C[\\uDDEB\\uDDF8])|\\uD83C\\uDDFA(?:\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF])|\\uD83C\\uDDEE(?:\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9])|\\uD83C\\uDDEF(?:\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5])|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u261D\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2\\uDFC7]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC70\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDCAA\\uDD74\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1C\\uDD1E\\uDD1F\\uDD30-\\uDD36\\uDDB5\\uDDB6\\uDDBB\\uDDD2-\\uDDD5])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u231A\\u231B\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u25FE\\u2614\\u2615\\u2648-\\u2653\\u267F\\u2693\\u26A1\\u26AA\\u26AB\\u26BD\\u26BE\\u26C4\\u26C5\\u26CE\\u26D4\\u26EA\\u26F2\\u26F3\\u26F5\\u26FA\\u26FD\\u2705\\u270A\\u270B\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2795-\\u2797\\u27B0\\u27BF\\u2B1B\\u2B1C\\u2B50\\u2B55]|\\uD83C[\\uDC04\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF7C\\uDF7E-\\uDF93\\uDFA0-\\uDFCA\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF4\\uDFF8-\\uDFFF]|\\uD83D[\\uDC00-\\uDC3E\\uDC40\\uDC42-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDD7A\\uDD95\\uDD96\\uDDA4\\uDDFB-\\uDE4F\\uDE80-\\uDEC5\\uDECC\\uDED0-\\uDED2\\uDED5\\uDEEB\\uDEEC\\uDEF4-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])|(?:[#\\*0-9\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u231A\\u231B\\u2328\\u23CF\\u23E9-\\u23F3\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB-\\u25FE\\u2600-\\u2604\\u260E\\u2611\\u2614\\u2615\\u2618\\u261D\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u2648-\\u2653\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u267F\\u2692-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A1\\u26AA\\u26AB\\u26B0\\u26B1\\u26BD\\u26BE\\u26C4\\u26C5\\u26C8\\u26CE\\u26CF\\u26D1\\u26D3\\u26D4\\u26E9\\u26EA\\u26F0-\\u26F5\\u26F7-\\u26FA\\u26FD\\u2702\\u2705\\u2708-\\u270D\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2728\\u2733\\u2734\\u2744\\u2747\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2763\\u2764\\u2795-\\u2797\\u27A1\\u27B0\\u27BF\\u2934\\u2935\\u2B05-\\u2B07\\u2B1B\\u2B1C\\u2B50\\u2B55\\u3030\\u303D\\u3297\\u3299]|\\uD83C[\\uDC04\\uDCCF\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE02\\uDE1A\\uDE2F\\uDE32-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF21\\uDF24-\\uDF93\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E-\\uDFF0\\uDFF3-\\uDFF5\\uDFF7-\\uDFFF]|\\uD83D[\\uDC00-\\uDCFD\\uDCFF-\\uDD3D\\uDD49-\\uDD4E\\uDD50-\\uDD67\\uDD6F\\uDD70\\uDD73-\\uDD7A\\uDD87\\uDD8A-\\uDD8D\\uDD90\\uDD95\\uDD96\\uDDA4\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA-\\uDE4F\\uDE80-\\uDEC5\\uDECB-\\uDED2\\uDED5\\uDEE0-\\uDEE5\\uDEE9\\uDEEB\\uDEEC\\uDEF0\\uDEF3-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])\\uFE0F|(?:[\\u261D\\u26F9\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2-\\uDFC4\\uDFC7\\uDFCA-\\uDFCC]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66-\\uDC78\\uDC7C\\uDC81-\\uDC83\\uDC85-\\uDC87\\uDC8F\\uDC91\\uDCAA\\uDD74\\uDD75\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE45-\\uDE47\\uDE4B-\\uDE4F\\uDEA3\\uDEB4-\\uDEB6\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1F\\uDD26\\uDD30-\\uDD39\\uDD3C-\\uDD3E\\uDDB5\\uDDB6\\uDDB8\\uDDB9\\uDDBB\\uDDCD-\\uDDCF\\uDDD1-\\uDDDD])/g,\"  \");let v0=0;for(let w1=0;w1<_.length;w1++){const Ix=_.codePointAt(w1);Ix<=31||Ix>=127&&Ix<=159||Ix>=768&&Ix<=879||(Ix>65535&&w1++,v0+=s0(Ix)?2:1)}return v0};var J0=F0,e1=F0;J0.default=e1;var t1=_=>{if(typeof _!=\"string\")throw new TypeError(\"Expected a string\");return _.replace(/[|\\\\{}()[\\]^$+*?.]/g,\"\\\\$&\").replace(/-/g,\"\\\\x2d\")},r1=_=>_[_.length-1];function F1(_,v0){if(_==null)return{};var w1,Ix,Wx=function(ot,Mt){if(ot==null)return{};var Ft,nt,qt={},Ze=Object.keys(ot);for(nt=0;nt<Ze.length;nt++)Ft=Ze[nt],Mt.indexOf(Ft)>=0||(qt[Ft]=ot[Ft]);return qt}(_,v0);if(Object.getOwnPropertySymbols){var _e=Object.getOwnPropertySymbols(_);for(Ix=0;Ix<_e.length;Ix++)w1=_e[Ix],v0.indexOf(w1)>=0||Object.prototype.propertyIsEnumerable.call(_,w1)&&(Wx[w1]=_[w1])}return Wx}var a1=typeof globalThis!=\"undefined\"?globalThis:typeof window!=\"undefined\"?window:typeof $F!=\"undefined\"?$F:typeof self!=\"undefined\"?self:{};function D1(_){return _&&Object.prototype.hasOwnProperty.call(_,\"default\")?_.default:_}function W0(_){var v0={exports:{}};return _(v0,v0.exports),v0.exports}var i1=function(_){return _&&_.Math==Math&&_},x1=i1(typeof globalThis==\"object\"&&globalThis)||i1(typeof window==\"object\"&&window)||i1(typeof self==\"object\"&&self)||i1(typeof a1==\"object\"&&a1)||function(){return this}()||Function(\"return this\")(),ux=function(_){try{return!!_()}catch{return!0}},K1=!ux(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7}),ee={}.propertyIsEnumerable,Gx=Object.getOwnPropertyDescriptor,ve={f:Gx&&!ee.call({1:2},1)?function(_){var v0=Gx(this,_);return!!v0&&v0.enumerable}:ee},qe=function(_,v0){return{enumerable:!(1&_),configurable:!(2&_),writable:!(4&_),value:v0}},Jt={}.toString,Ct=function(_){return Jt.call(_).slice(8,-1)},vn=\"\".split,_n=ux(function(){return!Object(\"z\").propertyIsEnumerable(0)})?function(_){return Ct(_)==\"String\"?vn.call(_,\"\"):Object(_)}:Object,Tr=function(_){if(_==null)throw TypeError(\"Can't call method on \"+_);return _},Lr=function(_){return _n(Tr(_))},Pn=function(_){return typeof _==\"object\"?_!==null:typeof _==\"function\"},En=function(_,v0){if(!Pn(_))return _;var w1,Ix;if(v0&&typeof(w1=_.toString)==\"function\"&&!Pn(Ix=w1.call(_))||typeof(w1=_.valueOf)==\"function\"&&!Pn(Ix=w1.call(_))||!v0&&typeof(w1=_.toString)==\"function\"&&!Pn(Ix=w1.call(_)))return Ix;throw TypeError(\"Can't convert object to primitive value\")},cr=function(_){return Object(Tr(_))},Ea={}.hasOwnProperty,Qn=Object.hasOwn||function(_,v0){return Ea.call(cr(_),v0)},Bu=x1.document,Au=Pn(Bu)&&Pn(Bu.createElement),Ec=!K1&&!ux(function(){return Object.defineProperty((_=\"div\",Au?Bu.createElement(_):{}),\"a\",{get:function(){return 7}}).a!=7;var _}),kn=Object.getOwnPropertyDescriptor,pu={f:K1?kn:function(_,v0){if(_=Lr(_),v0=En(v0,!0),Ec)try{return kn(_,v0)}catch{}if(Qn(_,v0))return qe(!ve.f.call(_,v0),_[v0])}},mi=function(_){if(!Pn(_))throw TypeError(String(_)+\" is not an object\");return _},ma=Object.defineProperty,ja={f:K1?ma:function(_,v0,w1){if(mi(_),v0=En(v0,!0),mi(w1),Ec)try{return ma(_,v0,w1)}catch{}if(\"get\"in w1||\"set\"in w1)throw TypeError(\"Accessors not supported\");return\"value\"in w1&&(_[v0]=w1.value),_}},Ua=K1?function(_,v0,w1){return ja.f(_,v0,qe(1,w1))}:function(_,v0,w1){return _[v0]=w1,_},aa=function(_,v0){try{Ua(x1,_,v0)}catch{x1[_]=v0}return v0},Os=\"__core-js_shared__\",gn=x1[Os]||aa(Os,{}),et=Function.toString;typeof gn.inspectSource!=\"function\"&&(gn.inspectSource=function(_){return et.call(_)});var Sr,un,jn,ea,wa=gn.inspectSource,as=x1.WeakMap,zo=typeof as==\"function\"&&/native code/.test(wa(as)),vo=W0(function(_){(_.exports=function(v0,w1){return gn[v0]||(gn[v0]=w1!==void 0?w1:{})})(\"versions\",[]).push({version:\"3.14.0\",mode:\"global\",copyright:\"\\xA9 2021 Denis Pushkarev (zloirock.ru)\"})}),vi=0,jr=Math.random(),Hn=function(_){return\"Symbol(\"+String(_===void 0?\"\":_)+\")_\"+(++vi+jr).toString(36)},wi=vo(\"keys\"),jo={},bs=\"Object already initialized\",Ha=x1.WeakMap;if(zo||gn.state){var qn=gn.state||(gn.state=new Ha),Ki=qn.get,es=qn.has,Ns=qn.set;Sr=function(_,v0){if(es.call(qn,_))throw new TypeError(bs);return v0.facade=_,Ns.call(qn,_,v0),v0},un=function(_){return Ki.call(qn,_)||{}},jn=function(_){return es.call(qn,_)}}else{var ju=wi[ea=\"state\"]||(wi[ea]=Hn(ea));jo[ju]=!0,Sr=function(_,v0){if(Qn(_,ju))throw new TypeError(bs);return v0.facade=_,Ua(_,ju,v0),v0},un=function(_){return Qn(_,ju)?_[ju]:{}},jn=function(_){return Qn(_,ju)}}var Tc,bu,mc={set:Sr,get:un,has:jn,enforce:function(_){return jn(_)?un(_):Sr(_,{})},getterFor:function(_){return function(v0){var w1;if(!Pn(v0)||(w1=un(v0)).type!==_)throw TypeError(\"Incompatible receiver, \"+_+\" required\");return w1}}},vc=W0(function(_){var v0=mc.get,w1=mc.enforce,Ix=String(String).split(\"String\");(_.exports=function(Wx,_e,ot,Mt){var Ft,nt=!!Mt&&!!Mt.unsafe,qt=!!Mt&&!!Mt.enumerable,Ze=!!Mt&&!!Mt.noTargetGet;typeof ot==\"function\"&&(typeof _e!=\"string\"||Qn(ot,\"name\")||Ua(ot,\"name\",_e),(Ft=w1(ot)).source||(Ft.source=Ix.join(typeof _e==\"string\"?_e:\"\"))),Wx!==x1?(nt?!Ze&&Wx[_e]&&(qt=!0):delete Wx[_e],qt?Wx[_e]=ot:Ua(Wx,_e,ot)):qt?Wx[_e]=ot:aa(_e,ot)})(Function.prototype,\"toString\",function(){return typeof this==\"function\"&&v0(this).source||wa(this)})}),Lc=x1,i2=function(_){return typeof _==\"function\"?_:void 0},su=function(_,v0){return arguments.length<2?i2(Lc[_])||i2(x1[_]):Lc[_]&&Lc[_][v0]||x1[_]&&x1[_][v0]},T2=Math.ceil,Cu=Math.floor,mr=function(_){return isNaN(_=+_)?0:(_>0?Cu:T2)(_)},Dn=Math.min,ki=function(_){return _>0?Dn(mr(_),9007199254740991):0},us=Math.max,ac=Math.min,_s=function(_){return function(v0,w1,Ix){var Wx,_e=Lr(v0),ot=ki(_e.length),Mt=function(Ft,nt){var qt=mr(Ft);return qt<0?us(qt+nt,0):ac(qt,nt)}(Ix,ot);if(_&&w1!=w1){for(;ot>Mt;)if((Wx=_e[Mt++])!=Wx)return!0}else for(;ot>Mt;Mt++)if((_||Mt in _e)&&_e[Mt]===w1)return _||Mt||0;return!_&&-1}},cf={includes:_s(!0),indexOf:_s(!1)}.indexOf,Df=[\"constructor\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"toLocaleString\",\"toString\",\"valueOf\"].concat(\"length\",\"prototype\"),gp={f:Object.getOwnPropertyNames||function(_){return function(v0,w1){var Ix,Wx=Lr(v0),_e=0,ot=[];for(Ix in Wx)!Qn(jo,Ix)&&Qn(Wx,Ix)&&ot.push(Ix);for(;w1.length>_e;)Qn(Wx,Ix=w1[_e++])&&(~cf(ot,Ix)||ot.push(Ix));return ot}(_,Df)}},_2={f:Object.getOwnPropertySymbols},c_=su(\"Reflect\",\"ownKeys\")||function(_){var v0=gp.f(mi(_)),w1=_2.f;return w1?v0.concat(w1(_)):v0},pC=function(_,v0){for(var w1=c_(v0),Ix=ja.f,Wx=pu.f,_e=0;_e<w1.length;_e++){var ot=w1[_e];Qn(_,ot)||Ix(_,ot,Wx(v0,ot))}},c8=/#|\\.prototype\\./,VE=function(_,v0){var w1=c4[S8(_)];return w1==ES||w1!=BS&&(typeof v0==\"function\"?ux(v0):!!v0)},S8=VE.normalize=function(_){return String(_).replace(c8,\".\").toLowerCase()},c4=VE.data={},BS=VE.NATIVE=\"N\",ES=VE.POLYFILL=\"P\",fS=VE,DF=pu.f,D8=function(_,v0){var w1,Ix,Wx,_e,ot,Mt=_.target,Ft=_.global,nt=_.stat;if(w1=Ft?x1:nt?x1[Mt]||aa(Mt,{}):(x1[Mt]||{}).prototype)for(Ix in v0){if(_e=v0[Ix],Wx=_.noTargetGet?(ot=DF(w1,Ix))&&ot.value:w1[Ix],!fS(Ft?Ix:Mt+(nt?\".\":\"#\")+Ix,_.forced)&&Wx!==void 0){if(typeof _e==typeof Wx)continue;pC(_e,Wx)}(_.sham||Wx&&Wx.sham)&&Ua(_e,\"sham\",!0),vc(w1,Ix,_e,_)}},v8=Array.isArray||function(_){return Ct(_)==\"Array\"},pS=function(_){if(typeof _!=\"function\")throw TypeError(String(_)+\" is not a function\");return _},l4=function(_,v0,w1){if(pS(_),v0===void 0)return _;switch(w1){case 0:return function(){return _.call(v0)};case 1:return function(Ix){return _.call(v0,Ix)};case 2:return function(Ix,Wx){return _.call(v0,Ix,Wx)};case 3:return function(Ix,Wx,_e){return _.call(v0,Ix,Wx,_e)}}return function(){return _.apply(v0,arguments)}},KF=function(_,v0,w1,Ix,Wx,_e,ot,Mt){for(var Ft,nt=Wx,qt=0,Ze=!!ot&&l4(ot,Mt,3);qt<Ix;){if(qt in w1){if(Ft=Ze?Ze(w1[qt],qt,v0):w1[qt],_e>0&&v8(Ft))nt=KF(_,v0,Ft,ki(Ft.length),nt,_e-1)-1;else{if(nt>=9007199254740991)throw TypeError(\"Exceed the acceptable array length\");_[nt]=Ft}nt++}qt++}return nt},f4=KF,$E=su(\"navigator\",\"userAgent\")||\"\",t6=x1.process,vF=t6&&t6.versions,fF=vF&&vF.v8;fF?bu=(Tc=fF.split(\".\"))[0]<4?1:Tc[0]+Tc[1]:$E&&(!(Tc=$E.match(/Edge\\/(\\d+)/))||Tc[1]>=74)&&(Tc=$E.match(/Chrome\\/(\\d+)/))&&(bu=Tc[1]);var tS=bu&&+bu,z6=!!Object.getOwnPropertySymbols&&!ux(function(){var _=Symbol();return!String(_)||!(Object(_)instanceof Symbol)||!Symbol.sham&&tS&&tS<41}),LS=z6&&!Symbol.sham&&typeof Symbol.iterator==\"symbol\",B8=vo(\"wks\"),MS=x1.Symbol,rT=LS?MS:MS&&MS.withoutSetter||Hn,bF=function(_){return Qn(B8,_)&&(z6||typeof B8[_]==\"string\")||(z6&&Qn(MS,_)?B8[_]=MS[_]:B8[_]=rT(\"Symbol.\"+_)),B8[_]},nT=bF(\"species\"),RT=function(_,v0){var w1;return v8(_)&&(typeof(w1=_.constructor)!=\"function\"||w1!==Array&&!v8(w1.prototype)?Pn(w1)&&(w1=w1[nT])===null&&(w1=void 0):w1=void 0),new(w1===void 0?Array:w1)(v0===0?0:v0)};D8({target:\"Array\",proto:!0},{flatMap:function(_){var v0,w1=cr(this),Ix=ki(w1.length);return pS(_),(v0=RT(w1,0)).length=f4(v0,w1,w1,Ix,0,1,_,arguments.length>1?arguments[1]:void 0),v0}});var UA,_5,VA=Math.floor,ST=function(_,v0){var w1=_.length,Ix=VA(w1/2);return w1<8?ZT(_,v0):Kw(ST(_.slice(0,Ix),v0),ST(_.slice(Ix),v0),v0)},ZT=function(_,v0){for(var w1,Ix,Wx=_.length,_e=1;_e<Wx;){for(Ix=_e,w1=_[_e];Ix&&v0(_[Ix-1],w1)>0;)_[Ix]=_[--Ix];Ix!==_e++&&(_[Ix]=w1)}return _},Kw=function(_,v0,w1){for(var Ix=_.length,Wx=v0.length,_e=0,ot=0,Mt=[];_e<Ix||ot<Wx;)_e<Ix&&ot<Wx?Mt.push(w1(_[_e],v0[ot])<=0?_[_e++]:v0[ot++]):Mt.push(_e<Ix?_[_e++]:v0[ot++]);return Mt},y5=ST,P4=$E.match(/firefox\\/(\\d+)/i),fA=!!P4&&+P4[1],H8=/MSIE|Trident/.test($E),pA=$E.match(/AppleWebKit\\/(\\d+)\\./),qS=!!pA&&+pA[1],W6=[],D5=W6.sort,$A=ux(function(){W6.sort(void 0)}),J4=ux(function(){W6.sort(null)}),dA=!!(_5=[].sort)&&ux(function(){_5.call(null,UA||function(){throw 1},1)}),CF=!ux(function(){if(tS)return tS<70;if(!(fA&&fA>3)){if(H8)return!0;if(qS)return qS<603;var _,v0,w1,Ix,Wx=\"\";for(_=65;_<76;_++){switch(v0=String.fromCharCode(_),_){case 66:case 69:case 70:case 72:w1=3;break;case 68:case 71:w1=4;break;default:w1=2}for(Ix=0;Ix<47;Ix++)W6.push({k:v0+Ix,v:w1})}for(W6.sort(function(_e,ot){return ot.v-_e.v}),Ix=0;Ix<W6.length;Ix++)v0=W6[Ix].k.charAt(0),Wx.charAt(Wx.length-1)!==v0&&(Wx+=v0);return Wx!==\"DGBEFHACIJK\"}});D8({target:\"Array\",proto:!0,forced:$A||!J4||!dA||!CF},{sort:function(_){_!==void 0&&pS(_);var v0=cr(this);if(CF)return _===void 0?D5.call(v0):D5.call(v0,_);var w1,Ix,Wx=[],_e=ki(v0.length);for(Ix=0;Ix<_e;Ix++)Ix in v0&&Wx.push(v0[Ix]);for(w1=(Wx=y5(Wx,function(ot){return function(Mt,Ft){return Ft===void 0?-1:Mt===void 0?1:ot!==void 0?+ot(Mt,Ft)||0:String(Mt)>String(Ft)?1:-1}}(_))).length,Ix=0;Ix<w1;)v0[Ix]=Wx[Ix++];for(;Ix<_e;)delete v0[Ix++];return v0}});var FT={},mA=bF(\"iterator\"),v5=Array.prototype,KA={};KA[bF(\"toStringTag\")]=\"z\";var vw=String(KA)===\"[object z]\",p4=bF(\"toStringTag\"),x5=Ct(function(){return arguments}())==\"Arguments\",e5=vw?Ct:function(_){var v0,w1,Ix;return _===void 0?\"Undefined\":_===null?\"Null\":typeof(w1=function(Wx,_e){try{return Wx[_e]}catch{}}(v0=Object(_),p4))==\"string\"?w1:x5?Ct(v0):(Ix=Ct(v0))==\"Object\"&&typeof v0.callee==\"function\"?\"Arguments\":Ix},jT=bF(\"iterator\"),_6=function(_){var v0=_.return;if(v0!==void 0)return mi(v0.call(_)).value},q6=function(_,v0){this.stopped=_,this.result=v0},JS=function(_,v0,w1){var Ix,Wx,_e,ot,Mt,Ft,nt,qt,Ze=w1&&w1.that,ur=!(!w1||!w1.AS_ENTRIES),ri=!(!w1||!w1.IS_ITERATOR),Ui=!(!w1||!w1.INTERRUPTED),Bi=l4(v0,Ze,1+ur+Ui),Yi=function(ha){return Ix&&_6(Ix),new q6(!0,ha)},ro=function(ha){return ur?(mi(ha),Ui?Bi(ha[0],ha[1],Yi):Bi(ha[0],ha[1])):Ui?Bi(ha,Yi):Bi(ha)};if(ri)Ix=_;else{if(typeof(Wx=function(ha){if(ha!=null)return ha[jT]||ha[\"@@iterator\"]||FT[e5(ha)]}(_))!=\"function\")throw TypeError(\"Target is not iterable\");if((qt=Wx)!==void 0&&(FT.Array===qt||v5[mA]===qt)){for(_e=0,ot=ki(_.length);ot>_e;_e++)if((Mt=ro(_[_e]))&&Mt instanceof q6)return Mt;return new q6(!1)}Ix=Wx.call(_)}for(Ft=Ix.next;!(nt=Ft.call(Ix)).done;){try{Mt=ro(nt.value)}catch(ha){throw _6(Ix),ha}if(typeof Mt==\"object\"&&Mt&&Mt instanceof q6)return Mt}return new q6(!1)};D8({target:\"Object\",stat:!0},{fromEntries:function(_){var v0={};return JS(_,function(w1,Ix){(function(Wx,_e,ot){var Mt=En(_e);Mt in Wx?ja.f(Wx,Mt,qe(0,ot)):Wx[Mt]=ot})(v0,w1,Ix)},{AS_ENTRIES:!0}),v0}});var eg=eg!==void 0?eg:typeof self!=\"undefined\"?self:typeof window!=\"undefined\"?window:{};function L8(){throw new Error(\"setTimeout has not been defined\")}function J6(){throw new Error(\"clearTimeout has not been defined\")}var cm=L8,l8=J6;function S6(_){if(cm===setTimeout)return setTimeout(_,0);if((cm===L8||!cm)&&setTimeout)return cm=setTimeout,setTimeout(_,0);try{return cm(_,0)}catch{try{return cm.call(null,_,0)}catch{return cm.call(this,_,0)}}}typeof eg.setTimeout==\"function\"&&(cm=setTimeout),typeof eg.clearTimeout==\"function\"&&(l8=clearTimeout);var Pg,Py=[],F6=!1,tg=-1;function u3(){F6&&Pg&&(F6=!1,Pg.length?Py=Pg.concat(Py):tg=-1,Py.length&&iT())}function iT(){if(!F6){var _=S6(u3);F6=!0;for(var v0=Py.length;v0;){for(Pg=Py,Py=[];++tg<v0;)Pg&&Pg[tg].run();tg=-1,v0=Py.length}Pg=null,F6=!1,function(w1){if(l8===clearTimeout)return clearTimeout(w1);if((l8===J6||!l8)&&clearTimeout)return l8=clearTimeout,clearTimeout(w1);try{l8(w1)}catch{try{return l8.call(null,w1)}catch{return l8.call(this,w1)}}}(_)}}function HS(_,v0){this.fun=_,this.array=v0}HS.prototype.run=function(){this.fun.apply(null,this.array)};function H6(){}var j5=H6,t5=H6,bw=H6,U5=H6,d4=H6,pF=H6,EF=H6,A6=eg.performance||{},r5=A6.now||A6.mozNow||A6.msNow||A6.oNow||A6.webkitNow||function(){return new Date().getTime()},m4=new Date,Lu={nextTick:function(_){var v0=new Array(arguments.length-1);if(arguments.length>1)for(var w1=1;w1<arguments.length;w1++)v0[w1-1]=arguments[w1];Py.push(new HS(_,v0)),Py.length!==1||F6||S6(iT)},title:\"browser\",browser:!0,env:{},argv:[],version:\"\",versions:{},on:j5,addListener:t5,once:bw,off:U5,removeListener:d4,removeAllListeners:pF,emit:EF,binding:function(_){throw new Error(\"process.binding is not supported\")},cwd:function(){return\"/\"},chdir:function(_){throw new Error(\"process.chdir is not supported\")},umask:function(){return 0},hrtime:function(_){var v0=.001*r5.call(A6),w1=Math.floor(v0),Ix=Math.floor(v0%1*1e9);return _&&(w1-=_[0],(Ix-=_[1])<0&&(w1--,Ix+=1e9)),[w1,Ix]},platform:\"browser\",release:{},config:{},uptime:function(){return(new Date-m4)/1e3}},Ig=typeof Lu==\"object\"&&Lu.env&&Lu.env.NODE_DEBUG&&/\\bsemver\\b/i.test(Lu.env.NODE_DEBUG)?(..._)=>console.error(\"SEMVER\",..._):()=>{},hA={SEMVER_SPEC_VERSION:\"2.0.0\",MAX_LENGTH:256,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,MAX_SAFE_COMPONENT_LENGTH:16},RS=W0(function(_,v0){const{MAX_SAFE_COMPONENT_LENGTH:w1}=hA,Ix=(v0=_.exports={}).re=[],Wx=v0.src=[],_e=v0.t={};let ot=0;const Mt=(Ft,nt,qt)=>{const Ze=ot++;Ig(Ze,nt),_e[Ft]=Ze,Wx[Ze]=nt,Ix[Ze]=new RegExp(nt,qt?\"g\":void 0)};Mt(\"NUMERICIDENTIFIER\",\"0|[1-9]\\\\d*\"),Mt(\"NUMERICIDENTIFIERLOOSE\",\"[0-9]+\"),Mt(\"NONNUMERICIDENTIFIER\",\"\\\\d*[a-zA-Z-][a-zA-Z0-9-]*\"),Mt(\"MAINVERSION\",`(${Wx[_e.NUMERICIDENTIFIER]})\\\\.(${Wx[_e.NUMERICIDENTIFIER]})\\\\.(${Wx[_e.NUMERICIDENTIFIER]})`),Mt(\"MAINVERSIONLOOSE\",`(${Wx[_e.NUMERICIDENTIFIERLOOSE]})\\\\.(${Wx[_e.NUMERICIDENTIFIERLOOSE]})\\\\.(${Wx[_e.NUMERICIDENTIFIERLOOSE]})`),Mt(\"PRERELEASEIDENTIFIER\",`(?:${Wx[_e.NUMERICIDENTIFIER]}|${Wx[_e.NONNUMERICIDENTIFIER]})`),Mt(\"PRERELEASEIDENTIFIERLOOSE\",`(?:${Wx[_e.NUMERICIDENTIFIERLOOSE]}|${Wx[_e.NONNUMERICIDENTIFIER]})`),Mt(\"PRERELEASE\",`(?:-(${Wx[_e.PRERELEASEIDENTIFIER]}(?:\\\\.${Wx[_e.PRERELEASEIDENTIFIER]})*))`),Mt(\"PRERELEASELOOSE\",`(?:-?(${Wx[_e.PRERELEASEIDENTIFIERLOOSE]}(?:\\\\.${Wx[_e.PRERELEASEIDENTIFIERLOOSE]})*))`),Mt(\"BUILDIDENTIFIER\",\"[0-9A-Za-z-]+\"),Mt(\"BUILD\",`(?:\\\\+(${Wx[_e.BUILDIDENTIFIER]}(?:\\\\.${Wx[_e.BUILDIDENTIFIER]})*))`),Mt(\"FULLPLAIN\",`v?${Wx[_e.MAINVERSION]}${Wx[_e.PRERELEASE]}?${Wx[_e.BUILD]}?`),Mt(\"FULL\",`^${Wx[_e.FULLPLAIN]}$`),Mt(\"LOOSEPLAIN\",`[v=\\\\s]*${Wx[_e.MAINVERSIONLOOSE]}${Wx[_e.PRERELEASELOOSE]}?${Wx[_e.BUILD]}?`),Mt(\"LOOSE\",`^${Wx[_e.LOOSEPLAIN]}$`),Mt(\"GTLT\",\"((?:<|>)?=?)\"),Mt(\"XRANGEIDENTIFIERLOOSE\",`${Wx[_e.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`),Mt(\"XRANGEIDENTIFIER\",`${Wx[_e.NUMERICIDENTIFIER]}|x|X|\\\\*`),Mt(\"XRANGEPLAIN\",`[v=\\\\s]*(${Wx[_e.XRANGEIDENTIFIER]})(?:\\\\.(${Wx[_e.XRANGEIDENTIFIER]})(?:\\\\.(${Wx[_e.XRANGEIDENTIFIER]})(?:${Wx[_e.PRERELEASE]})?${Wx[_e.BUILD]}?)?)?`),Mt(\"XRANGEPLAINLOOSE\",`[v=\\\\s]*(${Wx[_e.XRANGEIDENTIFIERLOOSE]})(?:\\\\.(${Wx[_e.XRANGEIDENTIFIERLOOSE]})(?:\\\\.(${Wx[_e.XRANGEIDENTIFIERLOOSE]})(?:${Wx[_e.PRERELEASELOOSE]})?${Wx[_e.BUILD]}?)?)?`),Mt(\"XRANGE\",`^${Wx[_e.GTLT]}\\\\s*${Wx[_e.XRANGEPLAIN]}$`),Mt(\"XRANGELOOSE\",`^${Wx[_e.GTLT]}\\\\s*${Wx[_e.XRANGEPLAINLOOSE]}$`),Mt(\"COERCE\",`(^|[^\\\\d])(\\\\d{1,${w1}})(?:\\\\.(\\\\d{1,${w1}}))?(?:\\\\.(\\\\d{1,${w1}}))?(?:$|[^\\\\d])`),Mt(\"COERCERTL\",Wx[_e.COERCE],!0),Mt(\"LONETILDE\",\"(?:~>?)\"),Mt(\"TILDETRIM\",`(\\\\s*)${Wx[_e.LONETILDE]}\\\\s+`,!0),v0.tildeTrimReplace=\"$1~\",Mt(\"TILDE\",`^${Wx[_e.LONETILDE]}${Wx[_e.XRANGEPLAIN]}$`),Mt(\"TILDELOOSE\",`^${Wx[_e.LONETILDE]}${Wx[_e.XRANGEPLAINLOOSE]}$`),Mt(\"LONECARET\",\"(?:\\\\^)\"),Mt(\"CARETTRIM\",`(\\\\s*)${Wx[_e.LONECARET]}\\\\s+`,!0),v0.caretTrimReplace=\"$1^\",Mt(\"CARET\",`^${Wx[_e.LONECARET]}${Wx[_e.XRANGEPLAIN]}$`),Mt(\"CARETLOOSE\",`^${Wx[_e.LONECARET]}${Wx[_e.XRANGEPLAINLOOSE]}$`),Mt(\"COMPARATORLOOSE\",`^${Wx[_e.GTLT]}\\\\s*(${Wx[_e.LOOSEPLAIN]})$|^$`),Mt(\"COMPARATOR\",`^${Wx[_e.GTLT]}\\\\s*(${Wx[_e.FULLPLAIN]})$|^$`),Mt(\"COMPARATORTRIM\",`(\\\\s*)${Wx[_e.GTLT]}\\\\s*(${Wx[_e.LOOSEPLAIN]}|${Wx[_e.XRANGEPLAIN]})`,!0),v0.comparatorTrimReplace=\"$1$2$3\",Mt(\"HYPHENRANGE\",`^\\\\s*(${Wx[_e.XRANGEPLAIN]})\\\\s+-\\\\s+(${Wx[_e.XRANGEPLAIN]})\\\\s*$`),Mt(\"HYPHENRANGELOOSE\",`^\\\\s*(${Wx[_e.XRANGEPLAINLOOSE]})\\\\s+-\\\\s+(${Wx[_e.XRANGEPLAINLOOSE]})\\\\s*$`),Mt(\"STAR\",\"(<|>)?=?\\\\s*\\\\*\"),Mt(\"GTE0\",\"^\\\\s*>=\\\\s*0.0.0\\\\s*$\"),Mt(\"GTE0PRE\",\"^\\\\s*>=\\\\s*0.0.0-0\\\\s*$\")});const H4=[\"includePrerelease\",\"loose\",\"rtl\"];var I4=_=>_?typeof _!=\"object\"?{loose:!0}:H4.filter(v0=>_[v0]).reduce((v0,w1)=>(v0[w1]=!0,v0),{}):{};const GS=/^[0-9]+$/,SS=(_,v0)=>{const w1=GS.test(_),Ix=GS.test(v0);return w1&&Ix&&(_=+_,v0=+v0),_===v0?0:w1&&!Ix?-1:Ix&&!w1?1:_<v0?-1:1};var rS={compareIdentifiers:SS,rcompareIdentifiers:(_,v0)=>SS(v0,_)};const{MAX_LENGTH:T6,MAX_SAFE_INTEGER:dS}=hA,{re:w6,t:vb}=RS,{compareIdentifiers:Rh}=rS;class Wf{constructor(v0,w1){if(w1=I4(w1),v0 instanceof Wf){if(v0.loose===!!w1.loose&&v0.includePrerelease===!!w1.includePrerelease)return v0;v0=v0.version}else if(typeof v0!=\"string\")throw new TypeError(`Invalid Version: ${v0}`);if(v0.length>T6)throw new TypeError(`version is longer than ${T6} characters`);Ig(\"SemVer\",v0,w1),this.options=w1,this.loose=!!w1.loose,this.includePrerelease=!!w1.includePrerelease;const Ix=v0.trim().match(w1.loose?w6[vb.LOOSE]:w6[vb.FULL]);if(!Ix)throw new TypeError(`Invalid Version: ${v0}`);if(this.raw=v0,this.major=+Ix[1],this.minor=+Ix[2],this.patch=+Ix[3],this.major>dS||this.major<0)throw new TypeError(\"Invalid major version\");if(this.minor>dS||this.minor<0)throw new TypeError(\"Invalid minor version\");if(this.patch>dS||this.patch<0)throw new TypeError(\"Invalid patch version\");Ix[4]?this.prerelease=Ix[4].split(\".\").map(Wx=>{if(/^[0-9]+$/.test(Wx)){const _e=+Wx;if(_e>=0&&_e<dS)return _e}return Wx}):this.prerelease=[],this.build=Ix[5]?Ix[5].split(\".\"):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(\".\")}`),this.version}toString(){return this.version}compare(v0){if(Ig(\"SemVer.compare\",this.version,this.options,v0),!(v0 instanceof Wf)){if(typeof v0==\"string\"&&v0===this.version)return 0;v0=new Wf(v0,this.options)}return v0.version===this.version?0:this.compareMain(v0)||this.comparePre(v0)}compareMain(v0){return v0 instanceof Wf||(v0=new Wf(v0,this.options)),Rh(this.major,v0.major)||Rh(this.minor,v0.minor)||Rh(this.patch,v0.patch)}comparePre(v0){if(v0 instanceof Wf||(v0=new Wf(v0,this.options)),this.prerelease.length&&!v0.prerelease.length)return-1;if(!this.prerelease.length&&v0.prerelease.length)return 1;if(!this.prerelease.length&&!v0.prerelease.length)return 0;let w1=0;do{const Ix=this.prerelease[w1],Wx=v0.prerelease[w1];if(Ig(\"prerelease compare\",w1,Ix,Wx),Ix===void 0&&Wx===void 0)return 0;if(Wx===void 0)return 1;if(Ix===void 0)return-1;if(Ix!==Wx)return Rh(Ix,Wx)}while(++w1)}compareBuild(v0){v0 instanceof Wf||(v0=new Wf(v0,this.options));let w1=0;do{const Ix=this.build[w1],Wx=v0.build[w1];if(Ig(\"prerelease compare\",w1,Ix,Wx),Ix===void 0&&Wx===void 0)return 0;if(Wx===void 0)return 1;if(Ix===void 0)return-1;if(Ix!==Wx)return Rh(Ix,Wx)}while(++w1)}inc(v0,w1){switch(v0){case\"premajor\":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc(\"pre\",w1);break;case\"preminor\":this.prerelease.length=0,this.patch=0,this.minor++,this.inc(\"pre\",w1);break;case\"prepatch\":this.prerelease.length=0,this.inc(\"patch\",w1),this.inc(\"pre\",w1);break;case\"prerelease\":this.prerelease.length===0&&this.inc(\"patch\",w1),this.inc(\"pre\",w1);break;case\"major\":this.minor===0&&this.patch===0&&this.prerelease.length!==0||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case\"minor\":this.patch===0&&this.prerelease.length!==0||this.minor++,this.patch=0,this.prerelease=[];break;case\"patch\":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case\"pre\":if(this.prerelease.length===0)this.prerelease=[0];else{let Ix=this.prerelease.length;for(;--Ix>=0;)typeof this.prerelease[Ix]==\"number\"&&(this.prerelease[Ix]++,Ix=-2);Ix===-1&&this.prerelease.push(0)}w1&&(this.prerelease[0]===w1?isNaN(this.prerelease[1])&&(this.prerelease=[w1,0]):this.prerelease=[w1,0]);break;default:throw new Error(`invalid increment argument: ${v0}`)}return this.format(),this.raw=this.version,this}}var Fp=Wf,ZC=(_,v0,w1)=>new Fp(_,w1).compare(new Fp(v0,w1)),zA=(_,v0,w1)=>ZC(_,v0,w1)<0,zF=(_,v0,w1)=>ZC(_,v0,w1)>=0,WF=\"2.3.2\",l_=W0(function(_,v0){function w1(){for(var Yi=[],ro=0;ro<arguments.length;ro++)Yi[ro]=arguments[ro]}function Ix(){return typeof WeakMap!=\"undefined\"?new WeakMap:{add:w1,delete:w1,get:w1,set:w1,has:function(Yi){return!1}}}Object.defineProperty(v0,\"__esModule\",{value:!0}),v0.outdent=void 0;var Wx=Object.prototype.hasOwnProperty,_e=function(Yi,ro){return Wx.call(Yi,ro)};function ot(Yi,ro){for(var ha in ro)_e(ro,ha)&&(Yi[ha]=ro[ha]);return Yi}var Mt=/^[ \\t]*(?:\\r\\n|\\r|\\n)/,Ft=/(?:\\r\\n|\\r|\\n)[ \\t]*$/,nt=/^(?:[\\r\\n]|$)/,qt=/(?:\\r\\n|\\r|\\n)([ \\t]*)(?:[^ \\t\\r\\n]|$)/,Ze=/^[ \\t]*[\\r\\n][ \\t\\r\\n]*$/;function ur(Yi,ro,ha){var Xo=0,oo=Yi[0].match(qt);oo&&(Xo=oo[1].length);var ts=new RegExp(\"(\\\\r\\\\n|\\\\r|\\\\n).{0,\"+Xo+\"}\",\"g\");ro&&(Yi=Yi.slice(1));var Gl=ha.newline,Gp=ha.trimLeadingNewline,Sc=ha.trimTrailingNewline,Ss=typeof Gl==\"string\",Ws=Yi.length;return Yi.map(function(Zc,ef){return Zc=Zc.replace(ts,\"$1\"),ef===0&&Gp&&(Zc=Zc.replace(Mt,\"\")),ef===Ws-1&&Sc&&(Zc=Zc.replace(Ft,\"\")),Ss&&(Zc=Zc.replace(/\\r\\n|\\n|\\r/g,function(wp){return Gl})),Zc})}function ri(Yi,ro){for(var ha=\"\",Xo=0,oo=Yi.length;Xo<oo;Xo++)ha+=Yi[Xo],Xo<oo-1&&(ha+=ro[Xo]);return ha}function Ui(Yi){return _e(Yi,\"raw\")&&_e(Yi,\"length\")}var Bi=function Yi(ro){var ha=Ix(),Xo=Ix();return ot(function oo(ts){for(var Gl=[],Gp=1;Gp<arguments.length;Gp++)Gl[Gp-1]=arguments[Gp];if(Ui(ts)){var Sc=ts,Ss=(Gl[0]===oo||Gl[0]===Bi)&&Ze.test(Sc[0])&&nt.test(Sc[1]),Ws=Ss?Xo:ha,Zc=Ws.get(Sc);if(Zc||(Zc=ur(Sc,Ss,ro),Ws.set(Sc,Zc)),Gl.length===0)return Zc[0];var ef=ri(Zc,Ss?Gl.slice(1):Gl);return ef}return Yi(ot(ot({},ro),ts||{}))},{string:function(oo){return ur([oo],!1,ro)[0]}})}({trimLeadingNewline:!0,trimTrailingNewline:!0});v0.outdent=Bi,v0.default=Bi;try{_.exports=Bi,Object.defineProperty(Bi,\"__esModule\",{value:!0}),Bi.default=Bi,Bi.outdent=Bi}catch{}});const{outdent:xE}=l_,r6=\"Config\",M8=\"Editor\",KE=\"Other\",lm=\"Global\",mS=\"Special\",aT={cursorOffset:{since:\"1.4.0\",category:mS,type:\"int\",default:-1,range:{start:-1,end:Number.POSITIVE_INFINITY,step:1},description:xE`\n      Print (to stderr) where a cursor at the given position would move to after formatting.\n      This option cannot be used with --range-start and --range-end.\n    `,cliCategory:M8},endOfLine:{since:\"1.15.0\",category:lm,type:\"choice\",default:[{since:\"1.15.0\",value:\"auto\"},{since:\"2.0.0\",value:\"lf\"}],description:\"Which end of line characters to apply.\",choices:[{value:\"lf\",description:\"Line Feed only (\\\\n), common on Linux and macOS as well as inside git repos\"},{value:\"crlf\",description:\"Carriage Return + Line Feed characters (\\\\r\\\\n), common on Windows\"},{value:\"cr\",description:\"Carriage Return character only (\\\\r), used very rarely\"},{value:\"auto\",description:xE`\n          Maintain existing\n          (mixed values within one file are normalised by looking at what's used after the first line)\n        `}]},filepath:{since:\"1.4.0\",category:mS,type:\"path\",description:\"Specify the input filepath. This will be used to do parser inference.\",cliName:\"stdin-filepath\",cliCategory:KE,cliDescription:\"Path to the file to pretend that stdin comes from.\"},insertPragma:{since:\"1.8.0\",category:mS,type:\"boolean\",default:!1,description:\"Insert @format pragma into file's first docblock comment.\",cliCategory:KE},parser:{since:\"0.0.10\",category:lm,type:\"choice\",default:[{since:\"0.0.10\",value:\"babylon\"},{since:\"1.13.0\",value:void 0}],description:\"Which parser to use.\",exception:_=>typeof _==\"string\"||typeof _==\"function\",choices:[{value:\"flow\",description:\"Flow\"},{value:\"babel\",since:\"1.16.0\",description:\"JavaScript\"},{value:\"babel-flow\",since:\"1.16.0\",description:\"Flow\"},{value:\"babel-ts\",since:\"2.0.0\",description:\"TypeScript\"},{value:\"typescript\",since:\"1.4.0\",description:\"TypeScript\"},{value:\"espree\",since:\"2.2.0\",description:\"JavaScript\"},{value:\"meriyah\",since:\"2.2.0\",description:\"JavaScript\"},{value:\"css\",since:\"1.7.1\",description:\"CSS\"},{value:\"less\",since:\"1.7.1\",description:\"Less\"},{value:\"scss\",since:\"1.7.1\",description:\"SCSS\"},{value:\"json\",since:\"1.5.0\",description:\"JSON\"},{value:\"json5\",since:\"1.13.0\",description:\"JSON5\"},{value:\"json-stringify\",since:\"1.13.0\",description:\"JSON.stringify\"},{value:\"graphql\",since:\"1.5.0\",description:\"GraphQL\"},{value:\"markdown\",since:\"1.8.0\",description:\"Markdown\"},{value:\"mdx\",since:\"1.15.0\",description:\"MDX\"},{value:\"vue\",since:\"1.10.0\",description:\"Vue\"},{value:\"yaml\",since:\"1.14.0\",description:\"YAML\"},{value:\"glimmer\",since:\"2.3.0\",description:\"Ember / Handlebars\"},{value:\"html\",since:\"1.15.0\",description:\"HTML\"},{value:\"angular\",since:\"1.15.0\",description:\"Angular\"},{value:\"lwc\",since:\"1.17.0\",description:\"Lightning Web Components\"}]},plugins:{since:\"1.10.0\",type:\"path\",array:!0,default:[{value:[]}],category:lm,description:\"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.\",exception:_=>typeof _==\"string\"||typeof _==\"object\",cliName:\"plugin\",cliCategory:r6},pluginSearchDirs:{since:\"1.13.0\",type:\"path\",array:!0,default:[{value:[]}],category:lm,description:xE`\n      Custom directory that contains prettier plugins in node_modules subdirectory.\n      Overrides default behavior when plugins are searched relatively to the location of Prettier.\n      Multiple values are accepted.\n    `,exception:_=>typeof _==\"string\"||typeof _==\"object\",cliName:\"plugin-search-dir\",cliCategory:r6},printWidth:{since:\"0.0.0\",category:lm,type:\"int\",default:80,description:\"The line length where Prettier will try wrap.\",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},rangeEnd:{since:\"1.4.0\",category:mS,type:\"int\",default:Number.POSITIVE_INFINITY,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:xE`\n      Format code ending at a given character offset (exclusive).\n      The range will extend forwards to the end of the selected statement.\n      This option cannot be used with --cursor-offset.\n    `,cliCategory:M8},rangeStart:{since:\"1.4.0\",category:mS,type:\"int\",default:0,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:xE`\n      Format code starting at a given character offset.\n      The range will extend backwards to the start of the first line containing the selected statement.\n      This option cannot be used with --cursor-offset.\n    `,cliCategory:M8},requirePragma:{since:\"1.7.0\",category:mS,type:\"boolean\",default:!1,description:xE`\n      Require either '@prettier' or '@format' to be present in the file's first docblock comment\n      in order for it to be formatted.\n    `,cliCategory:KE},tabWidth:{type:\"int\",category:lm,default:2,description:\"Number of spaces per indentation level.\",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},useTabs:{since:\"1.0.0\",category:lm,type:\"boolean\",default:!1,description:\"Indent with tabs instead of spaces.\"},embeddedLanguageFormatting:{since:\"2.1.0\",category:lm,type:\"choice\",default:[{since:\"2.1.0\",value:\"auto\"}],description:\"Control how Prettier formats quoted code embedded in the file.\",choices:[{value:\"auto\",description:\"Format embedded code if Prettier can automatically identify it.\"},{value:\"off\",description:\"Never automatically format embedded code.\"}]}},h4=[\"cliName\",\"cliCategory\",\"cliDescription\"],G4={compare:ZC,lt:zA,gte:zF},k6=WF,xw=aT;var UT={getSupportInfo:function({plugins:_=[],showUnreleased:v0=!1,showDeprecated:w1=!1,showInternal:Ix=!1}={}){const Wx=k6.split(\"-\",1)[0],_e=_.flatMap(Ze=>Ze.languages||[]).filter(nt),ot=(Mt=Object.assign({},..._.map(({options:Ze})=>Ze),xw),Ft=\"name\",Object.entries(Mt).map(([Ze,ur])=>Object.assign({[Ft]:Ze},ur))).filter(Ze=>nt(Ze)&&qt(Ze)).sort((Ze,ur)=>Ze.name===ur.name?0:Ze.name<ur.name?-1:1).map(function(Ze){return Ix?Ze:F1(Ze,h4)}).map(Ze=>{Ze=Object.assign({},Ze),Array.isArray(Ze.default)&&(Ze.default=Ze.default.length===1?Ze.default[0].value:Ze.default.filter(nt).sort((ri,Ui)=>G4.compare(Ui.since,ri.since))[0].value),Array.isArray(Ze.choices)&&(Ze.choices=Ze.choices.filter(ri=>nt(ri)&&qt(ri)),Ze.name===\"parser\"&&function(ri,Ui,Bi){const Yi=new Set(ri.choices.map(ro=>ro.value));for(const ro of Ui)if(ro.parsers){for(const ha of ro.parsers)if(!Yi.has(ha)){Yi.add(ha);const Xo=Bi.find(ts=>ts.parsers&&ts.parsers[ha]);let oo=ro.name;Xo&&Xo.name&&(oo+=` (plugin: ${Xo.name})`),ri.choices.push({value:ha,description:oo})}}}(Ze,_e,_));const ur=Object.fromEntries(_.filter(ri=>ri.defaultOptions&&ri.defaultOptions[Ze.name]!==void 0).map(ri=>[ri.name,ri.defaultOptions[Ze.name]]));return Object.assign(Object.assign({},Ze),{},{pluginDefaults:ur})});var Mt,Ft;return{languages:_e,options:ot};function nt(Ze){return v0||!(\"since\"in Ze)||Ze.since&&G4.gte(Wx,Ze.since)}function qt(Ze){return w1||!(\"deprecated\"in Ze)||Ze.deprecated&&G4.lt(Wx,Ze.deprecated)}}};const{getSupportInfo:oT}=UT,G8=/[^\\x20-\\x7F]/;function y6(_){return(v0,w1,Ix)=>{const Wx=Ix&&Ix.backwards;if(w1===!1)return!1;const{length:_e}=v0;let ot=w1;for(;ot>=0&&ot<_e;){const Mt=v0.charAt(ot);if(_ instanceof RegExp){if(!_.test(Mt))return ot}else if(!_.includes(Mt))return ot;Wx?ot--:ot++}return(ot===-1||ot===_e)&&ot}}const nS=y6(/\\s/),jD=y6(\" \t\"),X4=y6(\",; \t\"),SF=y6(/[^\\n\\r]/);function ad(_,v0){if(v0===!1)return!1;if(_.charAt(v0)===\"/\"&&_.charAt(v0+1)===\"*\"){for(let w1=v0+2;w1<_.length;++w1)if(_.charAt(w1)===\"*\"&&_.charAt(w1+1)===\"/\")return w1+2}return v0}function XS(_,v0){return v0!==!1&&(_.charAt(v0)===\"/\"&&_.charAt(v0+1)===\"/\"?SF(_,v0):v0)}function X8(_,v0,w1){const Ix=w1&&w1.backwards;if(v0===!1)return!1;const Wx=_.charAt(v0);if(Ix){if(_.charAt(v0-1)===\"\\r\"&&Wx===`\n`)return v0-2;if(Wx===`\n`||Wx===\"\\r\"||Wx===\"\\u2028\"||Wx===\"\\u2029\")return v0-1}else{if(Wx===\"\\r\"&&_.charAt(v0+1)===`\n`)return v0+2;if(Wx===`\n`||Wx===\"\\r\"||Wx===\"\\u2028\"||Wx===\"\\u2029\")return v0+1}return v0}function gA(_,v0,w1={}){const Ix=jD(_,w1.backwards?v0-1:v0,w1);return Ix!==X8(_,Ix,w1)}function VT(_,v0){let w1=null,Ix=v0;for(;Ix!==w1;)w1=Ix,Ix=X4(_,Ix),Ix=ad(_,Ix),Ix=jD(_,Ix);return Ix=XS(_,Ix),Ix=X8(_,Ix),Ix!==!1&&gA(_,Ix)}function YS(_,v0){let w1=null,Ix=v0;for(;Ix!==w1;)w1=Ix,Ix=jD(_,Ix),Ix=ad(_,Ix),Ix=XS(_,Ix),Ix=X8(_,Ix);return Ix}function _A(_,v0,w1){return YS(_,w1(v0))}function QS(_,v0,w1=0){let Ix=0;for(let Wx=w1;Wx<_.length;++Wx)_[Wx]===\"\t\"?Ix=Ix+v0-Ix%v0:Ix++;return Ix}function qF(_,v0){const w1=_.slice(1,-1),Ix={quote:'\"',regex:/\"/g},Wx={quote:\"'\",regex:/'/g},_e=v0===\"'\"?Wx:Ix,ot=_e===Wx?Ix:Wx;let Mt=_e.quote;return(w1.includes(_e.quote)||w1.includes(ot.quote))&&(Mt=(w1.match(_e.regex)||[]).length>(w1.match(ot.regex)||[]).length?ot.quote:_e.quote),Mt}function jS(_,v0,w1){const Ix=v0==='\"'?\"'\":'\"',Wx=_.replace(/\\\\(.)|([\"'])/gs,(_e,ot,Mt)=>ot===Ix?ot:Mt===v0?\"\\\\\"+Mt:Mt||(w1&&/^[^\\n\\r\"'0-7\\\\bfnrt-vx\\u2028\\u2029]$/.test(ot)?ot:\"\\\\\"+ot));return v0+Wx+v0}function zE(_,v0){(_.comments||(_.comments=[])).push(v0),v0.printed=!1,v0.nodeDescription=function(w1){const Ix=w1.type||w1.kind||\"(unknown type)\";let Wx=String(w1.name||w1.id&&(typeof w1.id==\"object\"?w1.id.name:w1.id)||w1.key&&(typeof w1.key==\"object\"?w1.key.name:w1.key)||w1.value&&(typeof w1.value==\"object\"?\"\":String(w1.value))||w1.operator||\"\");return Wx.length>20&&(Wx=Wx.slice(0,19)+\"\\u2026\"),Ix+(Wx?\" \"+Wx:\"\")}(_)}var n6={inferParserByLanguage:function(_,v0){const{languages:w1}=oT({plugins:v0.plugins}),Ix=w1.find(({name:Wx})=>Wx.toLowerCase()===_)||w1.find(({aliases:Wx})=>Array.isArray(Wx)&&Wx.includes(_))||w1.find(({extensions:Wx})=>Array.isArray(Wx)&&Wx.includes(`.${_}`));return Ix&&Ix.parsers[0]},getStringWidth:function(_){return _?G8.test(_)?J0(_):_.length:0},getMaxContinuousCount:function(_,v0){const w1=_.match(new RegExp(`(${t1(v0)})+`,\"g\"));return w1===null?0:w1.reduce((Ix,Wx)=>Math.max(Ix,Wx.length/v0.length),0)},getMinNotPresentContinuousCount:function(_,v0){const w1=_.match(new RegExp(`(${t1(v0)})+`,\"g\"));if(w1===null)return 0;const Ix=new Map;let Wx=0;for(const _e of w1){const ot=_e.length/v0.length;Ix.set(ot,!0),ot>Wx&&(Wx=ot)}for(let _e=1;_e<Wx;_e++)if(!Ix.get(_e))return _e;return Wx+1},getPenultimate:_=>_[_.length-2],getLast:r1,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:YS,getNextNonSpaceNonCommentCharacterIndex:_A,getNextNonSpaceNonCommentCharacter:function(_,v0,w1){return _.charAt(_A(_,v0,w1))},skip:y6,skipWhitespace:nS,skipSpaces:jD,skipToLineEnd:X4,skipEverythingButNewLine:SF,skipInlineComment:ad,skipTrailingComment:XS,skipNewline:X8,isNextLineEmptyAfterIndex:VT,isNextLineEmpty:function(_,v0,w1){return VT(_,w1(v0))},isPreviousLineEmpty:function(_,v0,w1){let Ix=w1(v0)-1;return Ix=jD(_,Ix,{backwards:!0}),Ix=X8(_,Ix,{backwards:!0}),Ix=jD(_,Ix,{backwards:!0}),Ix!==X8(_,Ix,{backwards:!0})},hasNewline:gA,hasNewlineInRange:function(_,v0,w1){for(let Ix=v0;Ix<w1;++Ix)if(_.charAt(Ix)===`\n`)return!0;return!1},hasSpaces:function(_,v0,w1={}){return jD(_,w1.backwards?v0-1:v0,w1)!==v0},getAlignmentSize:QS,getIndentSize:function(_,v0){const w1=_.lastIndexOf(`\n`);return w1===-1?0:QS(_.slice(w1+1).match(/^[\\t ]*/)[0],v0)},getPreferredQuote:qF,printString:function(_,v0){return jS(_.slice(1,-1),v0.parser===\"json\"||v0.parser===\"json5\"&&v0.quoteProps===\"preserve\"&&!v0.singleQuote?'\"':v0.__isInHtmlAttribute?\"'\":qF(_,v0.singleQuote?\"'\":'\"'),!(v0.parser===\"css\"||v0.parser===\"less\"||v0.parser===\"scss\"||v0.__embeddedInHtml))},printNumber:function(_){return _.toLowerCase().replace(/^([+-]?[\\d.]+e)(?:\\+|(-))?0*(\\d)/,\"$1$2$3\").replace(/^([+-]?[\\d.]+)e[+-]?0+$/,\"$1\").replace(/^([+-])?\\./,\"$10.\").replace(/(\\.\\d+?)0+(?=e|$)/,\"$1\").replace(/\\.(?=e|$)/,\"\")},makeString:jS,addLeadingComment:function(_,v0){v0.leading=!0,v0.trailing=!1,zE(_,v0)},addDanglingComment:function(_,v0,w1){v0.leading=!1,v0.trailing=!1,w1&&(v0.marker=w1),zE(_,v0)},addTrailingComment:function(_,v0){v0.leading=!1,v0.trailing=!0,zE(_,v0)},isFrontMatterNode:function(_){return _&&_.type===\"front-matter\"},getShebang:function(_){if(!_.startsWith(\"#!\"))return\"\";const v0=_.indexOf(`\n`);return v0===-1?_:_.slice(0,v0)},isNonEmptyArray:function(_){return Array.isArray(_)&&_.length>0},createGroupIdMapper:function(_){const v0=new WeakMap;return function(w1){return v0.has(w1)||v0.set(w1,Symbol(_)),v0.get(w1)}}};const{isNonEmptyArray:iS}=n6;function p6(_,v0){const{ignoreDecorators:w1}=v0||{};if(!w1){const Ix=_.declaration&&_.declaration.decorators||_.decorators;if(iS(Ix))return p6(Ix[0])}return _.range?_.range[0]:_.start}function O4(_){return _.range?_.range[1]:_.end}function $T(_,v0){return p6(_)===p6(v0)}var FF={locStart:p6,locEnd:O4,hasSameLocStart:$T,hasSameLoc:function(_,v0){return $T(_,v0)&&function(w1,Ix){return O4(w1)===O4(Ix)}(_,v0)}},AF=W0(function(_){(function(){function v0(Ix){if(Ix==null)return!1;switch(Ix.type){case\"BlockStatement\":case\"BreakStatement\":case\"ContinueStatement\":case\"DebuggerStatement\":case\"DoWhileStatement\":case\"EmptyStatement\":case\"ExpressionStatement\":case\"ForInStatement\":case\"ForStatement\":case\"IfStatement\":case\"LabeledStatement\":case\"ReturnStatement\":case\"SwitchStatement\":case\"ThrowStatement\":case\"TryStatement\":case\"VariableDeclaration\":case\"WhileStatement\":case\"WithStatement\":return!0}return!1}function w1(Ix){switch(Ix.type){case\"IfStatement\":return Ix.alternate!=null?Ix.alternate:Ix.consequent;case\"LabeledStatement\":case\"ForStatement\":case\"ForInStatement\":case\"WhileStatement\":case\"WithStatement\":return Ix.body}return null}_.exports={isExpression:function(Ix){if(Ix==null)return!1;switch(Ix.type){case\"ArrayExpression\":case\"AssignmentExpression\":case\"BinaryExpression\":case\"CallExpression\":case\"ConditionalExpression\":case\"FunctionExpression\":case\"Identifier\":case\"Literal\":case\"LogicalExpression\":case\"MemberExpression\":case\"NewExpression\":case\"ObjectExpression\":case\"SequenceExpression\":case\"ThisExpression\":case\"UnaryExpression\":case\"UpdateExpression\":return!0}return!1},isStatement:v0,isIterationStatement:function(Ix){if(Ix==null)return!1;switch(Ix.type){case\"DoWhileStatement\":case\"ForInStatement\":case\"ForStatement\":case\"WhileStatement\":return!0}return!1},isSourceElement:function(Ix){return v0(Ix)||Ix!=null&&Ix.type===\"FunctionDeclaration\"},isProblematicIfStatement:function(Ix){var Wx;if(Ix.type!==\"IfStatement\"||Ix.alternate==null)return!1;Wx=Ix.consequent;do{if(Wx.type===\"IfStatement\"&&Wx.alternate==null)return!0;Wx=w1(Wx)}while(Wx);return!1},trailingStatement:w1}})()}),Y8=W0(function(_){(function(){var v0,w1,Ix,Wx,_e,ot;function Mt(Ft){return Ft<=65535?String.fromCharCode(Ft):String.fromCharCode(Math.floor((Ft-65536)/1024)+55296)+String.fromCharCode((Ft-65536)%1024+56320)}for(w1={NonAsciiIdentifierStart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\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-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\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\\u0AF9\\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-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\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-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\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\\u2160-\\u2188\\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-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\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]/,NonAsciiIdentifierPart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B4\\u08B6-\\u08BD\\u08D4-\\u08E1\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D54-\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\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\\u135D-\\u135F\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19D9\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFB-\\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\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u2E2F\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099\\u309A\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]/},v0={NonAsciiIdentifierStart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\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-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\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\\u0AF9\\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-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\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-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\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\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\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\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309B-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\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]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDF00-\\uDF19]|\\uD806[\\uDCA0-\\uDCDF\\uDCFF\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50\\uDF93-\\uDF9F\\uDFE0]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD83A[\\uDC00-\\uDCC4\\uDD00-\\uDD43]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]/,NonAsciiIdentifierPart:/[\\xAA\\xB5\\xB7\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B4\\u08B6-\\u08BD\\u08D4-\\u08E1\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D54-\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\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\\u135D-\\u135F\\u1369-\\u1371\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFB-\\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\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDDFD\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDEE0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF7A\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCA0-\\uDCA9\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE38-\\uDE3A\\uDE3F\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE6\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC00-\\uDC46\\uDC66-\\uDC6F\\uDC7F-\\uDCBA\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9\\uDD00-\\uDD34\\uDD36-\\uDD3F\\uDD50-\\uDD73\\uDD76\\uDD80-\\uDDC4\\uDDCA-\\uDDCC\\uDDD0-\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE37\\uDE3E\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEEA\\uDEF0-\\uDEF9\\uDF00-\\uDF03\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3C-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF50\\uDF57\\uDF5D-\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDC00-\\uDC4A\\uDC50-\\uDC59\\uDC80-\\uDCC5\\uDCC7\\uDCD0-\\uDCD9\\uDD80-\\uDDB5\\uDDB8-\\uDDC0\\uDDD8-\\uDDDD\\uDE00-\\uDE40\\uDE44\\uDE50-\\uDE59\\uDE80-\\uDEB7\\uDEC0-\\uDEC9\\uDF00-\\uDF19\\uDF1D-\\uDF2B\\uDF30-\\uDF39]|\\uD806[\\uDCA0-\\uDCE9\\uDCFF\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC36\\uDC38-\\uDC40\\uDC50-\\uDC59\\uDC72-\\uDC8F\\uDC92-\\uDCA7\\uDCA9-\\uDCB6]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE60-\\uDE69\\uDED0-\\uDEED\\uDEF0-\\uDEF4\\uDF00-\\uDF36\\uDF40-\\uDF43\\uDF50-\\uDF59\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50-\\uDF7E\\uDF8F-\\uDF9F\\uDFE0]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB\\uDFCE-\\uDFFF]|\\uD836[\\uDE00-\\uDE36\\uDE3B-\\uDE6C\\uDE75\\uDE84\\uDE9B-\\uDE9F\\uDEA1-\\uDEAF]|\\uD838[\\uDC00-\\uDC06\\uDC08-\\uDC18\\uDC1B-\\uDC21\\uDC23\\uDC24\\uDC26-\\uDC2A]|\\uD83A[\\uDC00-\\uDCC4\\uDCD0-\\uDCD6\\uDD00-\\uDD4A\\uDD50-\\uDD59]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]|\\uDB40[\\uDD00-\\uDDEF]/},Ix=[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279],Wx=new Array(128),ot=0;ot<128;++ot)Wx[ot]=ot>=97&&ot<=122||ot>=65&&ot<=90||ot===36||ot===95;for(_e=new Array(128),ot=0;ot<128;++ot)_e[ot]=ot>=97&&ot<=122||ot>=65&&ot<=90||ot>=48&&ot<=57||ot===36||ot===95;_.exports={isDecimalDigit:function(Ft){return 48<=Ft&&Ft<=57},isHexDigit:function(Ft){return 48<=Ft&&Ft<=57||97<=Ft&&Ft<=102||65<=Ft&&Ft<=70},isOctalDigit:function(Ft){return Ft>=48&&Ft<=55},isWhiteSpace:function(Ft){return Ft===32||Ft===9||Ft===11||Ft===12||Ft===160||Ft>=5760&&Ix.indexOf(Ft)>=0},isLineTerminator:function(Ft){return Ft===10||Ft===13||Ft===8232||Ft===8233},isIdentifierStartES5:function(Ft){return Ft<128?Wx[Ft]:w1.NonAsciiIdentifierStart.test(Mt(Ft))},isIdentifierPartES5:function(Ft){return Ft<128?_e[Ft]:w1.NonAsciiIdentifierPart.test(Mt(Ft))},isIdentifierStartES6:function(Ft){return Ft<128?Wx[Ft]:v0.NonAsciiIdentifierStart.test(Mt(Ft))},isIdentifierPartES6:function(Ft){return Ft<128?_e[Ft]:v0.NonAsciiIdentifierPart.test(Mt(Ft))}}})()}),hS=W0(function(_){(function(){var v0=Y8;function w1(Ft,nt){return!(!nt&&Ft===\"yield\")&&Ix(Ft,nt)}function Ix(Ft,nt){if(nt&&function(qt){switch(qt){case\"implements\":case\"interface\":case\"package\":case\"private\":case\"protected\":case\"public\":case\"static\":case\"let\":return!0;default:return!1}}(Ft))return!0;switch(Ft.length){case 2:return Ft===\"if\"||Ft===\"in\"||Ft===\"do\";case 3:return Ft===\"var\"||Ft===\"for\"||Ft===\"new\"||Ft===\"try\";case 4:return Ft===\"this\"||Ft===\"else\"||Ft===\"case\"||Ft===\"void\"||Ft===\"with\"||Ft===\"enum\";case 5:return Ft===\"while\"||Ft===\"break\"||Ft===\"catch\"||Ft===\"throw\"||Ft===\"const\"||Ft===\"yield\"||Ft===\"class\"||Ft===\"super\";case 6:return Ft===\"return\"||Ft===\"typeof\"||Ft===\"delete\"||Ft===\"switch\"||Ft===\"export\"||Ft===\"import\";case 7:return Ft===\"default\"||Ft===\"finally\"||Ft===\"extends\";case 8:return Ft===\"function\"||Ft===\"continue\"||Ft===\"debugger\";case 10:return Ft===\"instanceof\";default:return!1}}function Wx(Ft,nt){return Ft===\"null\"||Ft===\"true\"||Ft===\"false\"||w1(Ft,nt)}function _e(Ft,nt){return Ft===\"null\"||Ft===\"true\"||Ft===\"false\"||Ix(Ft,nt)}function ot(Ft){var nt,qt,Ze;if(Ft.length===0||(Ze=Ft.charCodeAt(0),!v0.isIdentifierStartES5(Ze)))return!1;for(nt=1,qt=Ft.length;nt<qt;++nt)if(Ze=Ft.charCodeAt(nt),!v0.isIdentifierPartES5(Ze))return!1;return!0}function Mt(Ft){var nt,qt,Ze,ur,ri;if(Ft.length===0)return!1;for(ri=v0.isIdentifierStartES6,nt=0,qt=Ft.length;nt<qt;++nt){if(55296<=(Ze=Ft.charCodeAt(nt))&&Ze<=56319){if(++nt>=qt||!(56320<=(ur=Ft.charCodeAt(nt))&&ur<=57343))return!1;Ze=1024*(Ze-55296)+(ur-56320)+65536}if(!ri(Ze))return!1;ri=v0.isIdentifierPartES6}return!0}_.exports={isKeywordES5:w1,isKeywordES6:Ix,isReservedWordES5:Wx,isReservedWordES6:_e,isRestrictedWord:function(Ft){return Ft===\"eval\"||Ft===\"arguments\"},isIdentifierNameES5:ot,isIdentifierNameES6:Mt,isIdentifierES5:function(Ft,nt){return ot(Ft)&&!Wx(Ft,nt)},isIdentifierES6:function(Ft,nt){return Mt(Ft)&&!_e(Ft,nt)}}})()});const yA=W0(function(_,v0){v0.ast=AF,v0.code=Y8,v0.keyword=hS}).keyword.isIdentifierNameES5,{getLast:JF,hasNewline:eE,skipWhitespace:ew,isNonEmptyArray:b5,isNextLineEmptyAfterIndex:DA}=n6,{locStart:_a,locEnd:$o,hasSameLocStart:To}=FF,Qc=new RegExp(\"^(?:(?=.)\\\\s)*:\"),od=new RegExp(\"^(?:(?=.)\\\\s)*::\");function _p(_){return _.type===\"Block\"||_.type===\"CommentBlock\"||_.type===\"MultiLine\"}function F8(_){return _.type===\"Line\"||_.type===\"CommentLine\"||_.type===\"SingleLine\"||_.type===\"HashbangComment\"||_.type===\"HTMLOpen\"||_.type===\"HTMLClose\"}const rg=new Set([\"ExportDefaultDeclaration\",\"ExportDefaultSpecifier\",\"DeclareExportDeclaration\",\"ExportNamedDeclaration\",\"ExportAllDeclaration\"]);function Y4(_){return _&&rg.has(_.type)}function ZS(_){return _.type===\"NumericLiteral\"||_.type===\"Literal\"&&typeof _.value==\"number\"}function A8(_){return _.type===\"StringLiteral\"||_.type===\"Literal\"&&typeof _.value==\"string\"}function WE(_){return _.type===\"FunctionExpression\"||_.type===\"ArrowFunctionExpression\"}function R8(_){return $2(_)&&_.callee.type===\"Identifier\"&&(_.callee.name===\"async\"||_.callee.name===\"inject\"||_.callee.name===\"fakeAsync\")}function gS(_){return _.type===\"JSXElement\"||_.type===\"JSXFragment\"}function N6(_){return _.kind===\"get\"||_.kind===\"set\"}function g4(_){return N6(_)||To(_,_.value)}const f_=new Set([\"BinaryExpression\",\"LogicalExpression\",\"NGPipeExpression\"]),TF=new Set([\"AnyTypeAnnotation\",\"TSAnyKeyword\",\"NullLiteralTypeAnnotation\",\"TSNullKeyword\",\"ThisTypeAnnotation\",\"TSThisType\",\"NumberTypeAnnotation\",\"TSNumberKeyword\",\"VoidTypeAnnotation\",\"TSVoidKeyword\",\"BooleanTypeAnnotation\",\"TSBooleanKeyword\",\"BigIntTypeAnnotation\",\"TSBigIntKeyword\",\"SymbolTypeAnnotation\",\"TSSymbolKeyword\",\"StringTypeAnnotation\",\"TSStringKeyword\",\"BooleanLiteralTypeAnnotation\",\"StringLiteralTypeAnnotation\",\"BigIntLiteralTypeAnnotation\",\"NumberLiteralTypeAnnotation\",\"TSLiteralType\",\"TSTemplateLiteralType\",\"EmptyTypeAnnotation\",\"MixedTypeAnnotation\",\"TSNeverKeyword\",\"TSObjectKeyword\",\"TSUndefinedKeyword\",\"TSUnknownKeyword\"]),G6=/^(skip|[fx]?(it|describe|test))$/;function $2(_){return _&&(_.type===\"CallExpression\"||_.type===\"OptionalCallExpression\")}function b8(_){return _&&(_.type===\"MemberExpression\"||_.type===\"OptionalMemberExpression\")}function vA(_){return/^(\\d+|\\d+\\.\\d+)$/.test(_)}function n5(_){return _.quasis.some(v0=>v0.value.raw.includes(`\n`))}function bb(_){return _.extra?_.extra.raw:_.raw}const P6={\"==\":!0,\"!=\":!0,\"===\":!0,\"!==\":!0},i6={\"*\":!0,\"/\":!0,\"%\":!0},wF={\">>\":!0,\">>>\":!0,\"<<\":!0},I6={};for(const[_,v0]of[[\"|>\"],[\"??\"],[\"||\"],[\"&&\"],[\"|\"],[\"^\"],[\"&\"],[\"==\",\"===\",\"!=\",\"!==\"],[\"<\",\">\",\"<=\",\">=\",\"in\",\"instanceof\"],[\">>\",\"<<\",\">>>\"],[\"+\",\"-\"],[\"*\",\"/\",\"%\"],[\"**\"]].entries())for(const w1 of v0)I6[w1]=_;function sd(_){return I6[_]}const HF=new WeakMap;function aS(_){if(HF.has(_))return HF.get(_);const v0=[];return _.this&&v0.push(_.this),Array.isArray(_.parameters)?v0.push(..._.parameters):Array.isArray(_.params)&&v0.push(..._.params),_.rest&&v0.push(_.rest),HF.set(_,v0),v0}const B4=new WeakMap;function Ux(_){if(B4.has(_))return B4.get(_);let v0=_.arguments;return _.type===\"ImportExpression\"&&(v0=[_.source],_.attributes&&v0.push(_.attributes)),B4.set(_,v0),v0}function ue(_){return _.value.trim()===\"prettier-ignore\"&&!_.unignore}function Xe(_){return _&&(_.prettierIgnore||hr(_,Ht.PrettierIgnore))}const Ht={Leading:2,Trailing:4,Dangling:8,Block:16,Line:32,PrettierIgnore:64,First:128,Last:256},le=(_,v0)=>{if(typeof _==\"function\"&&(v0=_,_=0),_||v0)return(w1,Ix,Wx)=>!(_&Ht.Leading&&!w1.leading||_&Ht.Trailing&&!w1.trailing||_&Ht.Dangling&&(w1.leading||w1.trailing)||_&Ht.Block&&!_p(w1)||_&Ht.Line&&!F8(w1)||_&Ht.First&&Ix!==0||_&Ht.Last&&Ix!==Wx.length-1||_&Ht.PrettierIgnore&&!ue(w1)||v0&&!v0(w1))};function hr(_,v0,w1){if(!_||!b5(_.comments))return!1;const Ix=le(v0,w1);return!Ix||_.comments.some(Ix)}function pr(_,v0,w1){if(!_||!Array.isArray(_.comments))return[];const Ix=le(v0,w1);return Ix?_.comments.filter(Ix):_.comments}function lt(_){return $2(_)||_.type===\"NewExpression\"||_.type===\"ImportExpression\"}var Qr={getFunctionParameters:aS,iterateFunctionParametersPath:function(_,v0){const w1=_.getValue();let Ix=0;const Wx=_e=>v0(_e,Ix++);w1.this&&_.call(Wx,\"this\"),Array.isArray(w1.parameters)?_.each(Wx,\"parameters\"):Array.isArray(w1.params)&&_.each(Wx,\"params\"),w1.rest&&_.call(Wx,\"rest\")},getCallArguments:Ux,iterateCallArgumentsPath:function(_,v0){const w1=_.getValue();w1.type===\"ImportExpression\"?(_.call(Ix=>v0(Ix,0),\"source\"),w1.attributes&&_.call(Ix=>v0(Ix,1),\"attributes\")):_.each(v0,\"arguments\")},hasRestParameter:function(_){if(_.rest)return!0;const v0=aS(_);return v0.length>0&&JF(v0).type===\"RestElement\"},getLeftSide:function(_){return _.expressions?_.expressions[0]:_.left||_.test||_.callee||_.object||_.tag||_.argument||_.expression},getLeftSidePathName:function(_,v0){if(v0.expressions)return[\"expressions\",0];if(v0.left)return[\"left\"];if(v0.test)return[\"test\"];if(v0.object)return[\"object\"];if(v0.callee)return[\"callee\"];if(v0.tag)return[\"tag\"];if(v0.argument)return[\"argument\"];if(v0.expression)return[\"expression\"];throw new Error(\"Unexpected node has no left side.\")},getParentExportDeclaration:function(_){const v0=_.getParentNode();return _.getName()===\"declaration\"&&Y4(v0)?v0:null},getTypeScriptMappedTypeModifier:function(_,v0){return _===\"+\"?\"+\"+v0:_===\"-\"?\"-\"+v0:v0},hasFlowAnnotationComment:function(_){return _&&_p(_[0])&&od.test(_[0].value)},hasFlowShorthandAnnotationComment:function(_){return _.extra&&_.extra.parenthesized&&b5(_.trailingComments)&&_p(_.trailingComments[0])&&Qc.test(_.trailingComments[0].value)},hasLeadingOwnLineComment:function(_,v0){return gS(v0)?Xe(v0):hr(v0,Ht.Leading,w1=>eE(_,$o(w1)))},hasNakedLeftSide:function(_){return _.type===\"AssignmentExpression\"||_.type===\"BinaryExpression\"||_.type===\"LogicalExpression\"||_.type===\"NGPipeExpression\"||_.type===\"ConditionalExpression\"||$2(_)||b8(_)||_.type===\"SequenceExpression\"||_.type===\"TaggedTemplateExpression\"||_.type===\"BindExpression\"||_.type===\"UpdateExpression\"&&!_.prefix||_.type===\"TSAsExpression\"||_.type===\"TSNonNullExpression\"},hasNode:function _(v0,w1){if(!v0||typeof v0!=\"object\")return!1;if(Array.isArray(v0))return v0.some(Wx=>_(Wx,w1));const Ix=w1(v0);return typeof Ix==\"boolean\"?Ix:Object.values(v0).some(Wx=>_(Wx,w1))},hasIgnoreComment:function(_){return Xe(_.getValue())},hasNodeIgnoreComment:Xe,identity:function(_){return _},isBinaryish:function(_){return f_.has(_.type)},isBlockComment:_p,isCallLikeExpression:lt,isLineComment:F8,isPrettierIgnoreComment:ue,isCallExpression:$2,isMemberExpression:b8,isExportDeclaration:Y4,isFlowAnnotationComment:function(_,v0){const w1=_a(v0),Ix=ew(_,$o(v0));return Ix!==!1&&_.slice(w1,w1+2)===\"/*\"&&_.slice(Ix,Ix+2)===\"*/\"},isFunctionCompositionArgs:function(_){if(_.length<=1)return!1;let v0=0;for(const w1 of _)if(WE(w1)){if(v0+=1,v0>1)return!0}else if($2(w1)){for(const Ix of w1.arguments)if(WE(Ix))return!0}return!1},isFunctionNotation:g4,isFunctionOrArrowExpression:WE,isGetterOrSetter:N6,isJestEachTemplateLiteral:function(_,v0){const w1=/^[fx]?(describe|it|test)$/;return v0.type===\"TaggedTemplateExpression\"&&v0.quasi===_&&v0.tag.type===\"MemberExpression\"&&v0.tag.property.type===\"Identifier\"&&v0.tag.property.name===\"each\"&&(v0.tag.object.type===\"Identifier\"&&w1.test(v0.tag.object.name)||v0.tag.object.type===\"MemberExpression\"&&v0.tag.object.property.type===\"Identifier\"&&(v0.tag.object.property.name===\"only\"||v0.tag.object.property.name===\"skip\")&&v0.tag.object.object.type===\"Identifier\"&&w1.test(v0.tag.object.object.name))},isJsxNode:gS,isLiteral:function(_){return _.type===\"BooleanLiteral\"||_.type===\"DirectiveLiteral\"||_.type===\"Literal\"||_.type===\"NullLiteral\"||_.type===\"NumericLiteral\"||_.type===\"BigIntLiteral\"||_.type===\"DecimalLiteral\"||_.type===\"RegExpLiteral\"||_.type===\"StringLiteral\"||_.type===\"TemplateLiteral\"||_.type===\"TSTypeLiteral\"||_.type===\"JSXText\"},isLongCurriedCallExpression:function(_){const v0=_.getValue(),w1=_.getParentNode();return $2(v0)&&$2(w1)&&w1.callee===v0&&v0.arguments.length>w1.arguments.length&&w1.arguments.length>0},isSimpleCallArgument:function _(v0,w1){if(w1>=2)return!1;const Ix=_e=>_(_e,w1+1),Wx=v0.type===\"Literal\"&&\"regex\"in v0&&v0.regex.pattern||v0.type===\"RegExpLiteral\"&&v0.pattern;return!(Wx&&Wx.length>5)&&(v0.type===\"Literal\"||v0.type===\"BigIntLiteral\"||v0.type===\"DecimalLiteral\"||v0.type===\"BooleanLiteral\"||v0.type===\"NullLiteral\"||v0.type===\"NumericLiteral\"||v0.type===\"RegExpLiteral\"||v0.type===\"StringLiteral\"||v0.type===\"Identifier\"||v0.type===\"ThisExpression\"||v0.type===\"Super\"||v0.type===\"PrivateName\"||v0.type===\"PrivateIdentifier\"||v0.type===\"ArgumentPlaceholder\"||v0.type===\"Import\"||(v0.type===\"TemplateLiteral\"?v0.quasis.every(_e=>!_e.value.raw.includes(`\n`))&&v0.expressions.every(Ix):v0.type===\"ObjectExpression\"?v0.properties.every(_e=>!_e.computed&&(_e.shorthand||_e.value&&Ix(_e.value))):v0.type===\"ArrayExpression\"?v0.elements.every(_e=>_e===null||Ix(_e)):lt(v0)?(v0.type===\"ImportExpression\"||_(v0.callee,w1))&&Ux(v0).every(Ix):b8(v0)?_(v0.object,w1)&&_(v0.property,w1):v0.type!==\"UnaryExpression\"||v0.operator!==\"!\"&&v0.operator!==\"-\"?v0.type===\"TSNonNullExpression\"&&_(v0.expression,w1):_(v0.argument,w1)))},isMemberish:function(_){return b8(_)||_.type===\"BindExpression\"&&Boolean(_.object)},isNumericLiteral:ZS,isSignedNumericLiteral:function(_){return _.type===\"UnaryExpression\"&&(_.operator===\"+\"||_.operator===\"-\")&&ZS(_.argument)},isObjectProperty:function(_){return _&&(_.type===\"ObjectProperty\"||_.type===\"Property\"&&!_.method&&_.kind===\"init\")},isObjectType:function(_){return _.type===\"ObjectTypeAnnotation\"||_.type===\"TSTypeLiteral\"},isObjectTypePropertyAFunction:function(_){return!(_.type!==\"ObjectTypeProperty\"&&_.type!==\"ObjectTypeInternalSlot\"||_.value.type!==\"FunctionTypeAnnotation\"||_.static||g4(_))},isSimpleType:function(_){return!!_&&(!(_.type!==\"GenericTypeAnnotation\"&&_.type!==\"TSTypeReference\"||_.typeParameters)||!!TF.has(_.type))},isSimpleNumber:vA,isSimpleTemplateLiteral:function(_){let v0=\"expressions\";_.type===\"TSTemplateLiteralType\"&&(v0=\"types\");const w1=_[v0];return w1.length!==0&&w1.every(Ix=>{if(hr(Ix))return!1;if(Ix.type===\"Identifier\"||Ix.type===\"ThisExpression\")return!0;if(b8(Ix)){let Wx=Ix;for(;b8(Wx);)if(Wx.property.type!==\"Identifier\"&&Wx.property.type!==\"Literal\"&&Wx.property.type!==\"StringLiteral\"&&Wx.property.type!==\"NumericLiteral\"||(Wx=Wx.object,hr(Wx)))return!1;return Wx.type===\"Identifier\"||Wx.type===\"ThisExpression\"}return!1})},isStringLiteral:A8,isStringPropSafeToUnquote:function(_,v0){return v0.parser!==\"json\"&&A8(_.key)&&bb(_.key).slice(1,-1)===_.key.value&&(yA(_.key.value)&&!((v0.parser===\"typescript\"||v0.parser===\"babel-ts\")&&_.type===\"ClassProperty\")||vA(_.key.value)&&String(Number(_.key.value))===_.key.value&&(v0.parser===\"babel\"||v0.parser===\"espree\"||v0.parser===\"meriyah\"||v0.parser===\"__babel_estree\"))},isTemplateOnItsOwnLine:function(_,v0){return(_.type===\"TemplateLiteral\"&&n5(_)||_.type===\"TaggedTemplateExpression\"&&n5(_.quasi))&&!eE(v0,_a(_),{backwards:!0})},isTestCall:function _(v0,w1){if(v0.type!==\"CallExpression\")return!1;if(v0.arguments.length===1){if(R8(v0)&&w1&&_(w1))return WE(v0.arguments[0]);if(function(Ix){return Ix.callee.type===\"Identifier\"&&/^(before|after)(Each|All)$/.test(Ix.callee.name)&&Ix.arguments.length===1}(v0))return R8(v0.arguments[0])}else if((v0.arguments.length===2||v0.arguments.length===3)&&(v0.callee.type===\"Identifier\"&&G6.test(v0.callee.name)||function(Ix){return b8(Ix.callee)&&Ix.callee.object.type===\"Identifier\"&&Ix.callee.property.type===\"Identifier\"&&G6.test(Ix.callee.object.name)&&(Ix.callee.property.name===\"only\"||Ix.callee.property.name===\"skip\")}(v0))&&(function(Ix){return Ix.type===\"TemplateLiteral\"}(v0.arguments[0])||A8(v0.arguments[0])))return!(v0.arguments[2]&&!ZS(v0.arguments[2]))&&((v0.arguments.length===2?WE(v0.arguments[1]):function(Ix){return Ix.type===\"FunctionExpression\"||Ix.type===\"ArrowFunctionExpression\"&&Ix.body.type===\"BlockStatement\"}(v0.arguments[1])&&aS(v0.arguments[1]).length<=1)||R8(v0.arguments[1]));return!1},isTheOnlyJsxElementInMarkdown:function(_,v0){if(_.parentParser!==\"markdown\"&&_.parentParser!==\"mdx\")return!1;const w1=v0.getNode();if(!w1.expression||!gS(w1.expression))return!1;const Ix=v0.getParentNode();return Ix.type===\"Program\"&&Ix.body.length===1},isTSXFile:function(_){return _.filepath&&/\\.tsx$/i.test(_.filepath)},isTypeAnnotationAFunction:function(_){return!(_.type!==\"TypeAnnotation\"&&_.type!==\"TSTypeAnnotation\"||_.typeAnnotation.type!==\"FunctionTypeAnnotation\"||_.static||To(_,_.typeAnnotation))},isNextLineEmpty:(_,{originalText:v0})=>DA(v0,$o(_)),needsHardlineAfterDanglingComment:function(_){if(!hr(_))return!1;const v0=JF(pr(_,Ht.Dangling));return v0&&!_p(v0)},rawText:bb,shouldPrintComma:function(_,v0=\"es5\"){return _.trailingComma===\"es5\"&&v0===\"es5\"||_.trailingComma===\"all\"&&(v0===\"all\"||v0===\"es5\")},isBitwiseOperator:function(_){return Boolean(wF[_])||_===\"|\"||_===\"^\"||_===\"&\"},shouldFlatten:function(_,v0){return sd(v0)===sd(_)&&_!==\"**\"&&(!P6[_]||!P6[v0])&&!(v0===\"%\"&&i6[_]||_===\"%\"&&i6[v0])&&(v0===_||!i6[v0]||!i6[_])&&(!wF[_]||!wF[v0])},startsWithNoLookaheadToken:function _(v0,w1){switch((v0=function(Ix){for(;Ix.left;)Ix=Ix.left;return Ix}(v0)).type){case\"FunctionExpression\":case\"ClassExpression\":case\"DoExpression\":return w1;case\"ObjectExpression\":return!0;case\"MemberExpression\":case\"OptionalMemberExpression\":return _(v0.object,w1);case\"TaggedTemplateExpression\":return v0.tag.type!==\"FunctionExpression\"&&_(v0.tag,w1);case\"CallExpression\":case\"OptionalCallExpression\":return v0.callee.type!==\"FunctionExpression\"&&_(v0.callee,w1);case\"ConditionalExpression\":return _(v0.test,w1);case\"UpdateExpression\":return!v0.prefix&&_(v0.argument,w1);case\"BindExpression\":return v0.object&&_(v0.object,w1);case\"SequenceExpression\":return _(v0.expressions[0],w1);case\"TSAsExpression\":case\"TSNonNullExpression\":return _(v0.expression,w1);default:return!1}},getPrecedence:sd,hasComment:hr,getComments:pr,CommentCheckFlags:Ht};const{getLast:Wi,hasNewline:Io,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:Uo,getNextNonSpaceNonCommentCharacter:sa,hasNewlineInRange:fn,addLeadingComment:Gn,addTrailingComment:Ti,addDanglingComment:Eo,getNextNonSpaceNonCommentCharacterIndex:qo,isNonEmptyArray:ci}=n6,{isBlockComment:os,getFunctionParameters:$s,isPrettierIgnoreComment:Po,isJsxNode:Dr,hasFlowShorthandAnnotationComment:Nm,hasFlowAnnotationComment:Og,hasIgnoreComment:Bg,isCallLikeExpression:_S,getCallArguments:f8,isCallExpression:Lx,isMemberExpression:q1,isObjectProperty:Qx}=Qr,{locStart:Be,locEnd:St}=FF;function _r(_,v0){const w1=(_.body||_.properties).find(({type:Ix})=>Ix!==\"EmptyStatement\");w1?Gn(w1,v0):Eo(_,v0)}function gi(_,v0){_.type===\"BlockStatement\"?_r(_,v0):Gn(_,v0)}function je({comment:_,followingNode:v0}){return!(!v0||!Q8(_))&&(Gn(v0,_),!0)}function Gu({comment:_,precedingNode:v0,enclosingNode:w1,followingNode:Ix,text:Wx}){return!w1||w1.type!==\"IfStatement\"||!Ix?!1:sa(Wx,_,St)===\")\"?(Ti(v0,_),!0):v0===w1.consequent&&Ix===w1.alternate?(v0.type===\"BlockStatement\"?Ti(v0,_):Eo(w1,_),!0):Ix.type===\"BlockStatement\"?(_r(Ix,_),!0):Ix.type===\"IfStatement\"?(gi(Ix.consequent,_),!0):w1.consequent===Ix&&(Gn(Ix,_),!0)}function io({comment:_,precedingNode:v0,enclosingNode:w1,followingNode:Ix,text:Wx}){return!w1||w1.type!==\"WhileStatement\"||!Ix?!1:sa(Wx,_,St)===\")\"?(Ti(v0,_),!0):Ix.type===\"BlockStatement\"?(_r(Ix,_),!0):w1.body===Ix&&(Gn(Ix,_),!0)}function ss({comment:_,precedingNode:v0,enclosingNode:w1,followingNode:Ix}){return!(!w1||w1.type!==\"TryStatement\"&&w1.type!==\"CatchClause\"||!Ix)&&(w1.type===\"CatchClause\"&&v0?(Ti(v0,_),!0):Ix.type===\"BlockStatement\"?(_r(Ix,_),!0):Ix.type===\"TryStatement\"?(gi(Ix.finalizer,_),!0):Ix.type===\"CatchClause\"&&(gi(Ix.body,_),!0))}function to({comment:_,enclosingNode:v0,followingNode:w1}){return!(!q1(v0)||!w1||w1.type!==\"Identifier\")&&(Gn(v0,_),!0)}function Ma({comment:_,precedingNode:v0,enclosingNode:w1,followingNode:Ix,text:Wx}){const _e=v0&&!fn(Wx,St(v0),Be(_));return!(v0&&_e||!w1||w1.type!==\"ConditionalExpression\"&&w1.type!==\"TSConditionalType\"||!Ix)&&(Gn(Ix,_),!0)}function Ks({comment:_,precedingNode:v0,enclosingNode:w1}){return!(!Qx(w1)||!w1.shorthand||w1.key!==v0||w1.value.type!==\"AssignmentPattern\")&&(Ti(w1.value.left,_),!0)}function Qa({comment:_,precedingNode:v0,enclosingNode:w1,followingNode:Ix}){if(w1&&(w1.type===\"ClassDeclaration\"||w1.type===\"ClassExpression\"||w1.type===\"DeclareClass\"||w1.type===\"DeclareInterface\"||w1.type===\"InterfaceDeclaration\"||w1.type===\"TSInterfaceDeclaration\")){if(ci(w1.decorators)&&(!Ix||Ix.type!==\"Decorator\"))return Ti(Wi(w1.decorators),_),!0;if(w1.body&&Ix===w1.body)return _r(w1.body,_),!0;if(Ix){for(const Wx of[\"implements\",\"extends\",\"mixins\"])if(w1[Wx]&&Ix===w1[Wx][0])return!v0||v0!==w1.id&&v0!==w1.typeParameters&&v0!==w1.superClass?Eo(w1,_,Wx):Ti(v0,_),!0}}return!1}function Wc({comment:_,precedingNode:v0,enclosingNode:w1,text:Ix}){return(w1&&v0&&(w1.type===\"Property\"||w1.type===\"TSDeclareMethod\"||w1.type===\"TSAbstractMethodDefinition\")&&v0.type===\"Identifier\"&&w1.key===v0&&sa(Ix,v0,St)!==\":\"||!(!v0||!w1||v0.type!==\"Decorator\"||w1.type!==\"ClassMethod\"&&w1.type!==\"ClassProperty\"&&w1.type!==\"PropertyDefinition\"&&w1.type!==\"TSAbstractClassProperty\"&&w1.type!==\"TSAbstractMethodDefinition\"&&w1.type!==\"TSDeclareMethod\"&&w1.type!==\"MethodDefinition\"))&&(Ti(v0,_),!0)}function la({comment:_,precedingNode:v0,enclosingNode:w1,text:Ix}){return sa(Ix,_,St)===\"(\"&&!(!v0||!w1||w1.type!==\"FunctionDeclaration\"&&w1.type!==\"FunctionExpression\"&&w1.type!==\"ClassMethod\"&&w1.type!==\"MethodDefinition\"&&w1.type!==\"ObjectMethod\")&&(Ti(v0,_),!0)}function Af({comment:_,enclosingNode:v0,text:w1}){if(!v0||v0.type!==\"ArrowFunctionExpression\")return!1;const Ix=qo(w1,_,St);return Ix!==!1&&w1.slice(Ix,Ix+2)===\"=>\"&&(Eo(v0,_),!0)}function so({comment:_,enclosingNode:v0,text:w1}){return sa(w1,_,St)===\")\"&&(v0&&(Um(v0)&&$s(v0).length===0||_S(v0)&&f8(v0).length===0)?(Eo(v0,_),!0):!(!v0||v0.type!==\"MethodDefinition\"&&v0.type!==\"TSAbstractMethodDefinition\"||$s(v0.value).length!==0)&&(Eo(v0.value,_),!0))}function qu({comment:_,precedingNode:v0,enclosingNode:w1,followingNode:Ix,text:Wx}){if(v0&&v0.type===\"FunctionTypeParam\"&&w1&&w1.type===\"FunctionTypeAnnotation\"&&Ix&&Ix.type!==\"FunctionTypeParam\"||v0&&(v0.type===\"Identifier\"||v0.type===\"AssignmentPattern\")&&w1&&Um(w1)&&sa(Wx,_,St)===\")\")return Ti(v0,_),!0;if(w1&&w1.type===\"FunctionDeclaration\"&&Ix&&Ix.type===\"BlockStatement\"){const _e=(()=>{const ot=$s(w1);if(ot.length>0)return Uo(Wx,St(Wi(ot)));const Mt=Uo(Wx,St(w1.id));return Mt!==!1&&Uo(Wx,Mt+1)})();if(Be(_)>_e)return _r(Ix,_),!0}return!1}function lf({comment:_,enclosingNode:v0}){return!(!v0||v0.type!==\"ImportSpecifier\")&&(Gn(v0,_),!0)}function uu({comment:_,enclosingNode:v0}){return!(!v0||v0.type!==\"LabeledStatement\")&&(Gn(v0,_),!0)}function ud({comment:_,enclosingNode:v0}){return!(!v0||v0.type!==\"ContinueStatement\"&&v0.type!==\"BreakStatement\"||v0.label)&&(Ti(v0,_),!0)}function fm({comment:_,precedingNode:v0,enclosingNode:w1}){return!!(Lx(w1)&&v0&&w1.callee===v0&&w1.arguments.length>0)&&(Gn(w1.arguments[0],_),!0)}function w2({comment:_,precedingNode:v0,enclosingNode:w1,followingNode:Ix}){return!w1||w1.type!==\"UnionTypeAnnotation\"&&w1.type!==\"TSUnionType\"?(Ix&&(Ix.type===\"UnionTypeAnnotation\"||Ix.type===\"TSUnionType\")&&Po(_)&&(Ix.types[0].prettierIgnore=!0,_.unignore=!0),!1):(Po(_)&&(Ix.prettierIgnore=!0,_.unignore=!0),!!v0&&(Ti(v0,_),!0))}function US({comment:_,enclosingNode:v0}){return!!Qx(v0)&&(Gn(v0,_),!0)}function j8({comment:_,enclosingNode:v0,followingNode:w1,ast:Ix,isLastComment:Wx}){return Ix&&Ix.body&&Ix.body.length===0?(Wx?Eo(Ix,_):Gn(Ix,_),!0):v0&&v0.type===\"Program\"&&v0.body.length===0&&!ci(v0.directives)?(Wx?Eo(v0,_):Gn(v0,_),!0):!(!w1||w1.type!==\"Program\"||w1.body.length!==0||!v0||v0.type!==\"ModuleExpression\")&&(Eo(w1,_),!0)}function tE({comment:_,enclosingNode:v0}){return!(!v0||v0.type!==\"ForInStatement\"&&v0.type!==\"ForOfStatement\")&&(Gn(v0,_),!0)}function U8({comment:_,precedingNode:v0,enclosingNode:w1,text:Ix}){return!!(v0&&v0.type===\"ImportSpecifier\"&&w1&&w1.type===\"ImportDeclaration\"&&Io(Ix,St(_)))&&(Ti(v0,_),!0)}function xp({comment:_,enclosingNode:v0}){return!(!v0||v0.type!==\"AssignmentPattern\")&&(Gn(v0,_),!0)}function tw({comment:_,enclosingNode:v0}){return!(!v0||v0.type!==\"TypeAlias\")&&(Gn(v0,_),!0)}function _4({comment:_,enclosingNode:v0,followingNode:w1}){return!(!v0||v0.type!==\"VariableDeclarator\"&&v0.type!==\"AssignmentExpression\"||!w1||w1.type!==\"ObjectExpression\"&&w1.type!==\"ArrayExpression\"&&w1.type!==\"TemplateLiteral\"&&w1.type!==\"TaggedTemplateExpression\"&&!os(_))&&(Gn(w1,_),!0)}function rw({comment:_,enclosingNode:v0,followingNode:w1,text:Ix}){return!(w1||!v0||v0.type!==\"TSMethodSignature\"&&v0.type!==\"TSDeclareFunction\"&&v0.type!==\"TSAbstractMethodDefinition\"||sa(Ix,_,St)!==\";\")&&(Ti(v0,_),!0)}function kF({comment:_,enclosingNode:v0,followingNode:w1}){if(Po(_)&&v0&&v0.type===\"TSMappedType\"&&w1&&w1.type===\"TSTypeParameter\"&&w1.constraint)return v0.prettierIgnore=!0,_.unignore=!0,!0}function i5({comment:_,precedingNode:v0,enclosingNode:w1,followingNode:Ix}){return!(!w1||w1.type!==\"TSMappedType\")&&(Ix&&Ix.type===\"TSTypeParameter\"&&Ix.name?(Gn(Ix.name,_),!0):!(!v0||v0.type!==\"TSTypeParameter\"||!v0.constraint)&&(Ti(v0.constraint,_),!0))}function Um(_){return _.type===\"ArrowFunctionExpression\"||_.type===\"FunctionExpression\"||_.type===\"FunctionDeclaration\"||_.type===\"ObjectMethod\"||_.type===\"ClassMethod\"||_.type===\"TSDeclareFunction\"||_.type===\"TSCallSignatureDeclaration\"||_.type===\"TSConstructSignatureDeclaration\"||_.type===\"TSMethodSignature\"||_.type===\"TSConstructorType\"||_.type===\"TSFunctionType\"||_.type===\"TSDeclareMethod\"}function Q8(_){return os(_)&&_.value[0]===\"*\"&&/@type\\b/.test(_.value)}var bA={handleOwnLineComment:function(_){return[kF,qu,to,Gu,io,ss,Qa,lf,tE,w2,j8,U8,xp,Wc,uu].some(v0=>v0(_))},handleEndOfLineComment:function(_){return[je,qu,Ma,lf,Gu,io,ss,Qa,uu,fm,US,j8,tw,_4].some(v0=>v0(_))},handleRemainingComment:function(_){return[kF,Gu,io,Ks,so,Wc,j8,Af,la,i5,ud,rw].some(v0=>v0(_))},isTypeCastComment:Q8,getCommentChildNodes:function(_,v0){if((v0.parser===\"typescript\"||v0.parser===\"flow\"||v0.parser===\"espree\"||v0.parser===\"meriyah\"||v0.parser===\"__babel_estree\")&&_.type===\"MethodDefinition\"&&_.value&&_.value.type===\"FunctionExpression\"&&$s(_.value).length===0&&!_.value.returnType&&!ci(_.value.typeParameters)&&_.value.body)return[..._.decorators||[],_.key,_.value.body]},willPrintOwnComments:function(_){const v0=_.getValue(),w1=_.getParentNode();return(v0&&(Dr(v0)||Nm(v0)||Lx(w1)&&(Og(v0.leadingComments)||Og(v0.trailingComments)))||w1&&(w1.type===\"JSXSpreadAttribute\"||w1.type===\"JSXSpreadChild\"||w1.type===\"UnionTypeAnnotation\"||w1.type===\"TSUnionType\"||(w1.type===\"ClassDeclaration\"||w1.type===\"ClassExpression\")&&w1.superClass===v0))&&(!Bg(_)||w1.type===\"UnionTypeAnnotation\"||w1.type===\"TSUnionType\")}};const{getLast:CA,getNextNonSpaceNonCommentCharacter:sT}=n6,{locStart:rE,locEnd:Z8}=FF,{isTypeCastComment:V5}=bA;function FS(_){return _.type===\"CallExpression\"?(_.type=\"OptionalCallExpression\",_.callee=FS(_.callee)):_.type===\"MemberExpression\"?(_.type=\"OptionalMemberExpression\",_.object=FS(_.object)):_.type===\"TSNonNullExpression\"&&(_.expression=FS(_.expression)),_}function xF(_,v0){let w1;if(Array.isArray(_))w1=_.entries();else{if(!_||typeof _!=\"object\"||typeof _.type!=\"string\")return _;w1=Object.entries(_)}for(const[Ix,Wx]of w1)_[Ix]=xF(Wx,v0);return Array.isArray(_)?_:v0(_)||_}function $5(_){return _.type===\"LogicalExpression\"&&_.right.type===\"LogicalExpression\"&&_.operator===_.right.operator}function AS(_){return $5(_)?AS({type:\"LogicalExpression\",operator:_.operator,left:AS({type:\"LogicalExpression\",operator:_.operator,left:_.left,right:_.right.left,range:[rE(_.left),Z8(_.right.left)]}),right:_.right.right,range:[rE(_),Z8(_)]}):_}var O6,zw=function(_,v0){if(v0.parser===\"typescript\"&&v0.originalText.includes(\"@\")){const{esTreeNodeToTSNodeMap:w1,tsNodeToESTreeNodeMap:Ix}=v0.tsParseResult;_=xF(_,Wx=>{const _e=w1.get(Wx);if(!_e)return;const ot=_e.decorators;if(!Array.isArray(ot))return;const Mt=Ix.get(_e);if(Mt!==Wx)return;const Ft=Mt.decorators;if(!Array.isArray(Ft)||Ft.length!==ot.length||ot.some(nt=>{const qt=Ix.get(nt);return!qt||!Ft.includes(qt)})){const{start:nt,end:qt}=Mt.loc;throw c(\"Leading decorators must be attached to a class declaration\",{start:{line:nt.line,column:nt.column+1},end:{line:qt.line,column:qt.column+1}})}})}if(v0.parser!==\"typescript\"&&v0.parser!==\"flow\"&&v0.parser!==\"espree\"&&v0.parser!==\"meriyah\"){const w1=new Set;_=xF(_,Ix=>{Ix.leadingComments&&Ix.leadingComments.some(V5)&&w1.add(rE(Ix))}),_=xF(_,Ix=>{if(Ix.type===\"ParenthesizedExpression\"){const{expression:Wx}=Ix;if(Wx.type===\"TypeCastExpression\")return Wx.range=Ix.range,Wx;const _e=rE(Ix);if(!w1.has(_e))return Wx.extra=Object.assign(Object.assign({},Wx.extra),{},{parenthesized:!0}),Wx}})}return _=xF(_,w1=>{switch(w1.type){case\"ChainExpression\":return FS(w1.expression);case\"LogicalExpression\":if($5(w1))return AS(w1);break;case\"VariableDeclaration\":{const Ix=CA(w1.declarations);Ix&&Ix.init&&function(Wx,_e){v0.originalText[Z8(_e)]!==\";\"&&(Wx.range=[rE(Wx),Z8(_e)])}(w1,Ix);break}case\"TSParenthesizedType\":return w1.typeAnnotation.range=[rE(w1),Z8(w1)],w1.typeAnnotation;case\"TSTypeParameter\":if(typeof w1.name==\"string\"){const Ix=rE(w1);w1.name={type:\"Identifier\",name:w1.name,range:[Ix,Ix+w1.name.length]}}break;case\"SequenceExpression\":{const Ix=CA(w1.expressions);w1.range=[rE(w1),Math.min(Z8(Ix),Z8(w1))];break}case\"ClassProperty\":w1.key&&w1.key.type===\"TSPrivateIdentifier\"&&sT(v0.originalText,w1.key,Z8)===\"?\"&&(w1.optional=!0)}})};function EA(){if(O6===void 0){var _=new ArrayBuffer(2),v0=new Uint8Array(_),w1=new Uint16Array(_);if(v0[0]=1,v0[1]=2,w1[0]===258)O6=\"BE\";else{if(w1[0]!==513)throw new Error(\"unable to figure out endianess\");O6=\"LE\"}}return O6}function K5(){return eg.location!==void 0?eg.location.hostname:\"\"}function ps(){return[]}function eF(){return 0}function NF(){return Number.MAX_VALUE}function C8(){return Number.MAX_VALUE}function L4(){return[]}function KT(){return\"Browser\"}function C5(){return eg.navigator!==void 0?eg.navigator.appVersion:\"\"}function y4(){}function Zs(){}function GF(){return\"javascript\"}function zT(){return\"browser\"}function AT(){return\"/tmp\"}var a5=AT,z5={EOL:`\n`,arch:GF,platform:zT,tmpdir:a5,tmpDir:AT,networkInterfaces:y4,getNetworkInterfaces:Zs,release:C5,type:KT,cpus:L4,totalmem:C8,freemem:NF,uptime:eF,loadavg:ps,hostname:K5,endianness:EA},XF=Object.freeze({__proto__:null,endianness:EA,hostname:K5,loadavg:ps,uptime:eF,freemem:NF,totalmem:C8,cpus:L4,type:KT,release:C5,networkInterfaces:y4,getNetworkInterfaces:Zs,arch:GF,platform:zT,tmpDir:AT,tmpdir:a5,EOL:`\n`,default:z5});const zs=_=>{if(typeof _!=\"string\")throw new TypeError(\"Expected a string\");const v0=_.match(/(?:\\r?\\n)/g)||[];if(v0.length===0)return;const w1=v0.filter(Ix=>Ix===`\\r\n`).length;return w1>v0.length-w1?`\\r\n`:`\n`};var W5=zs;W5.graceful=_=>typeof _==\"string\"&&zs(_)||`\n`;var TT=D1(XF),kx=function(_){const v0=_.match(cu);return v0?v0[0].trimLeft():\"\"},Xx=function(_){const v0=_.match(cu);return v0&&v0[0]?_.substring(v0[0].length):_},Ee=function(_){return Ll(_).pragmas},at=Ll,cn=function({comments:_=\"\",pragmas:v0={}}){const w1=(0,ao().default)(_)||Bn().EOL,Ix=\" *\",Wx=Object.keys(v0),_e=Wx.map(Mt=>$l(Mt,v0[Mt])).reduce((Mt,Ft)=>Mt.concat(Ft),[]).map(Mt=>\" * \"+Mt+w1).join(\"\");if(!_){if(Wx.length===0)return\"\";if(Wx.length===1&&!Array.isArray(v0[Wx[0]])){const Mt=v0[Wx[0]];return`/** ${$l(Wx[0],Mt)[0]} */`}}const ot=_.split(w1).map(Mt=>` * ${Mt}`).join(w1)+w1;return\"/**\"+w1+(_?ot:\"\")+(_&&Wx.length?Ix+w1:\"\")+_e+\" */\"};function Bn(){const _=TT;return Bn=function(){return _},_}function ao(){const _=(v0=W5)&&v0.__esModule?v0:{default:v0};var v0;return ao=function(){return _},_}const go=/\\*\\/$/,gu=/^\\/\\*\\*/,cu=/^\\s*(\\/\\*\\*?(.|\\r?\\n)*?\\*\\/)/,El=/(^|\\s+)\\/\\/([^\\r\\n]*)/g,Go=/^(\\r?\\n)+/,Xu=/(?:^|\\r?\\n) *(@[^\\r\\n]*?) *\\r?\\n *(?![^@\\r\\n]*\\/\\/[^]*)([^@\\r\\n\\s][^@\\r\\n]+?) *\\r?\\n/g,Ql=/(?:^|\\r?\\n) *@(\\S+) *([^\\r\\n]*)/g,p_=/(\\r?\\n|^) *\\* ?/g,ap=[];function Ll(_){const v0=(0,ao().default)(_)||Bn().EOL;_=_.replace(gu,\"\").replace(go,\"\").replace(p_,\"$1\");let w1=\"\";for(;w1!==_;)w1=_,_=_.replace(Xu,`${v0}$1 $2${v0}`);_=_.replace(Go,\"\").trimRight();const Ix=Object.create(null),Wx=_.replace(Ql,\"\").replace(Go,\"\").trimRight();let _e;for(;_e=Ql.exec(_);){const ot=_e[2].replace(El,\"\");typeof Ix[_e[1]]==\"string\"||Array.isArray(Ix[_e[1]])?Ix[_e[1]]=ap.concat(Ix[_e[1]],ot):Ix[_e[1]]=ot}return{comments:Wx,pragmas:Ix}}function $l(_,v0){return ap.concat(v0).map(w1=>`@${_} ${w1}`.trim())}var Tu=Object.defineProperty({extract:kx,strip:Xx,parse:Ee,parseWithComments:at,print:cn},\"__esModule\",{value:!0}),yp={guessEndOfLine:function(_){const v0=_.indexOf(\"\\r\");return v0>=0?_.charAt(v0+1)===`\n`?\"crlf\":\"cr\":\"lf\"},convertEndOfLineToChars:function(_){switch(_){case\"cr\":return\"\\r\";case\"crlf\":return`\\r\n`;default:return`\n`}},countEndOfLineChars:function(_,v0){let w1;if(v0===`\n`)w1=/\\n/g;else if(v0===\"\\r\")w1=/\\r/g;else{if(v0!==`\\r\n`)throw new Error(`Unexpected \"eol\" ${JSON.stringify(v0)}.`);w1=/\\r\\n/g}const Ix=_.match(w1);return Ix?Ix.length:0},normalizeEndOfLine:function(_){return _.replace(/\\r\\n?/g,`\n`)}};const{parseWithComments:Gs,strip:ra,extract:fo,print:lu}=Tu,{getShebang:a2}=n6,{normalizeEndOfLine:V8}=yp;function YF(_){const v0=a2(_);v0&&(_=_.slice(v0.length+1));const w1=fo(_),{pragmas:Ix,comments:Wx}=Gs(w1);return{shebang:v0,text:_,pragmas:Ix,comments:Wx}}var T8={hasPragma:function(_){const v0=Object.keys(YF(_).pragmas);return v0.includes(\"prettier\")||v0.includes(\"format\")},insertPragma:function(_){const{shebang:v0,text:w1,pragmas:Ix,comments:Wx}=YF(_),_e=ra(w1),ot=lu({pragmas:Object.assign({format:\"\"},Ix),comments:Wx.trimStart()});return(v0?`${v0}\n`:\"\")+V8(ot)+(_e.startsWith(`\n`)?`\n`:`\n\n`)+_e}};const{hasPragma:Q4}=T8,{locStart:D4,locEnd:E5}=FF;var QF=function(_){return _=typeof _==\"function\"?{parse:_}:_,Object.assign({astFormat:\"estree\",hasPragma:Q4,locStart:D4,locEnd:E5},_)};const Ww={0:\"Unexpected token\",28:\"Unexpected token: '%0'\",1:\"Octal escape sequences are not allowed in strict mode\",2:\"Octal escape sequences are not allowed in template strings\",3:\"Unexpected token `#`\",4:\"Illegal Unicode escape sequence\",5:\"Invalid code point %0\",6:\"Invalid hexadecimal escape sequence\",8:\"Octal literals are not allowed in strict mode\",7:\"Decimal integer literals with a leading zero are forbidden in strict mode\",9:\"Expected number in radix %0\",145:\"Invalid left-hand side assignment to a destructible right-hand side\",10:\"Non-number found after exponent indicator\",11:\"Invalid BigIntLiteral\",12:\"No identifiers allowed directly after numeric literal\",13:\"Escapes \\\\8 or \\\\9 are not syntactically valid escapes\",14:\"Unterminated string literal\",15:\"Unterminated template literal\",16:\"Multiline comment was not closed properly\",17:\"The identifier contained dynamic unicode escape that was not closed\",18:\"Illegal character '%0'\",19:\"Missing hexadecimal digits\",20:\"Invalid implicit octal\",21:\"Invalid line break in string literal\",22:\"Only unicode escapes are legal in identifier names\",23:\"Expected '%0'\",24:\"Invalid left-hand side in assignment\",25:\"Invalid left-hand side in async arrow\",26:'Calls to super must be in the \"constructor\" method of a class expression or class declaration that has a superclass',27:\"Member access on super must be in a method\",29:\"Await expression not allowed in formal parameter\",30:\"Yield expression not allowed in formal parameter\",92:\"Unexpected token: 'escaped keyword'\",31:\"Unary expressions as the left operand of an exponentiation expression must be disambiguated with parentheses\",119:\"Async functions can only be declared at the top level or inside a block\",32:\"Unterminated regular expression\",33:\"Unexpected regular expression flag\",34:\"Duplicate regular expression flag '%0'\",35:\"%0 functions must have exactly %1 argument%2\",36:\"Setter function argument must not be a rest parameter\",37:\"%0 declaration must have a name in this context\",38:\"Function name may not contain any reserved words or be eval or arguments in strict mode\",39:\"The rest operator is missing an argument\",40:\"A getter cannot be a generator\",41:\"A computed property name must be followed by a colon or paren\",130:\"Object literal keys that are strings or numbers must be a method or have a colon\",43:\"Found `* async x(){}` but this should be `async * x(){}`\",42:\"Getters and setters can not be generators\",44:\"'%0' can not be generator method\",45:\"No line break is allowed after '=>'\",46:\"The left-hand side of the arrow can only be destructed through assignment\",47:\"The binding declaration is not destructible\",48:\"Async arrow can not be followed by new expression\",49:\"Classes may not have a static property named 'prototype'\",50:\"Class constructor may not be a %0\",51:\"Duplicate constructor method in class\",52:\"Invalid increment/decrement operand\",53:\"Invalid use of `new` keyword on an increment/decrement expression\",54:\"`=>` is an invalid assignment target\",55:\"Rest element may not have a trailing comma\",56:\"Missing initializer in %0 declaration\",57:\"'for-%0' loop head declarations can not have an initializer\",58:\"Invalid left-hand side in for-%0 loop: Must have a single binding\",59:\"Invalid shorthand property initializer\",60:\"Property name __proto__ appears more than once in object literal\",61:\"Let is disallowed as a lexically bound name\",62:\"Invalid use of '%0' inside new expression\",63:\"Illegal 'use strict' directive in function with non-simple parameter list\",64:'Identifier \"let\" disallowed as left-hand side expression in strict mode',65:\"Illegal continue statement\",66:\"Illegal break statement\",67:\"Cannot have `let[...]` as a var name in strict mode\",68:\"Invalid destructuring assignment target\",69:\"Rest parameter may not have a default initializer\",70:\"The rest argument must the be last parameter\",71:\"Invalid rest argument\",73:\"In strict mode code, functions can only be declared at top level or inside a block\",74:\"In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement\",75:\"Without web compatibility enabled functions can not be declared at top level, inside a block, or as the body of an if statement\",76:\"Class declaration can't appear in single-statement context\",77:\"Invalid left-hand side in for-%0\",78:\"Invalid assignment in for-%0\",79:\"for await (... of ...) is only valid in async functions and async generators\",80:\"The first token after the template expression should be a continuation of the template\",82:\"`let` declaration not allowed here and `let` cannot be a regular var name in strict mode\",81:\"`let \\n [` is a restricted production at the start of a statement\",83:\"Catch clause requires exactly one parameter, not more (and no trailing comma)\",84:\"Catch clause parameter does not support default values\",85:\"Missing catch or finally after try\",86:\"More than one default clause in switch statement\",87:\"Illegal newline after throw\",88:\"Strict mode code may not include a with statement\",89:\"Illegal return statement\",90:\"The left hand side of the for-header binding declaration is not destructible\",91:\"new.target only allowed within functions\",92:\"'Unexpected token: 'escaped keyword'\",93:\"'#' not followed by identifier\",99:\"Invalid keyword\",98:\"Can not use 'let' as a class name\",97:\"'A lexical declaration can't define a 'let' binding\",96:\"Can not use `let` as variable name in strict mode\",94:\"'%0' may not be used as an identifier in this context\",95:\"Await is only valid in async functions\",100:\"The %0 keyword can only be used with the module goal\",101:\"Unicode codepoint must not be greater than 0x10FFFF\",102:\"%0 source must be string\",103:\"Only a identifier can be used to indicate alias\",104:\"Only '*' or '{...}' can be imported after default\",105:\"Trailing decorator may be followed by method\",106:\"Decorators can't be used with a constructor\",107:\"'%0' may not be used as an identifier in this context\",108:\"HTML comments are only allowed with web compatibility (Annex B)\",109:\"The identifier 'let' must not be in expression position in strict mode\",110:\"Cannot assign to `eval` and `arguments` in strict mode\",111:\"The left-hand side of a for-of loop may not start with 'let'\",112:\"Block body arrows can not be immediately invoked without a group\",113:\"Block body arrows can not be immediately accessed without a group\",114:\"Unexpected strict mode reserved word\",115:\"Unexpected eval or arguments in strict mode\",116:\"Decorators must not be followed by a semicolon\",117:\"Calling delete on expression not allowed in strict mode\",118:\"Pattern can not have a tail\",120:\"Can not have a `yield` expression on the left side of a ternary\",121:\"An arrow function can not have a postfix update operator\",122:\"Invalid object literal key character after generator star\",123:\"Private fields can not be deleted\",125:\"Classes may not have a field called constructor\",124:\"Classes may not have a private element named constructor\",126:\"A class field initializer may not contain arguments\",127:\"Generators can only be declared at the top level or inside a block\",128:\"Async methods are a restricted production and cannot have a newline following it\",129:\"Unexpected character after object literal property name\",131:\"Invalid key token\",132:\"Label '%0' has already been declared\",133:\"continue statement must be nested within an iteration statement\",134:\"Undefined label '%0'\",135:\"Trailing comma is disallowed inside import(...) arguments\",136:\"import() requires exactly one argument\",137:\"Cannot use new with import(...)\",138:\"... is not allowed in import()\",139:\"Expected '=>'\",140:\"Duplicate binding '%0'\",141:\"Cannot export a duplicate name '%0'\",144:\"Duplicate %0 for-binding\",142:\"Exported binding '%0' needs to refer to a top-level declared variable\",143:\"Unexpected private field\",147:\"Numeric separators are not allowed at the end of numeric literals\",146:\"Only one underscore is allowed as numeric separator\",148:\"JSX value should be either an expression or a quoted JSX text\",149:\"Expected corresponding JSX closing tag for %0\",150:\"Adjacent JSX elements must be wrapped in an enclosing tag\",151:\"JSX attributes must only be assigned a non-empty 'expression'\",152:\"'%0' has already been declared\",153:\"'%0' shadowed a catch clause binding\",154:\"Dot property must be an identifier\",155:\"Encountered invalid input after spread/rest argument\",156:\"Catch without try\",157:\"Finally without try\",158:\"Expected corresponding closing tag for JSX fragment\",159:\"Coalescing and logical operators used together in the same expression must be disambiguated with parentheses\",160:\"Invalid tagged template on optional chain\",161:\"Invalid optional chain from super property\",162:\"Invalid optional chain from new expression\",163:'Cannot use \"import.meta\" outside a module',164:\"Leading decorators must be attached to a class declaration\"};class K2 extends SyntaxError{constructor(v0,w1,Ix,Wx,..._e){const ot=\"[\"+w1+\":\"+Ix+\"]: \"+Ww[Wx].replace(/%(\\d+)/g,(Mt,Ft)=>_e[Ft]);super(`${ot}`),this.index=v0,this.line=w1,this.column=Ix,this.description=ot,this.loc={line:w1,column:Ix}}}function Sn(_,v0,...w1){throw new K2(_.index,_.line,_.column,v0,...w1)}function M4(_){throw new K2(_.index,_.line,_.column,_.type,_.params)}function B6(_,v0,w1,Ix,...Wx){throw new K2(_,v0,w1,Ix,...Wx)}function x6(_,v0,w1,Ix){throw new K2(_,v0,w1,Ix)}const vf=((_,v0)=>{const w1=new Uint32Array(104448);let Ix=0,Wx=0;for(;Ix<3540;){const _e=_[Ix++];if(_e<0)Wx-=_e;else{let ot=_[Ix++];2&_e&&(ot=v0[ot]),1&_e?w1.fill(ot,Wx,Wx+=_[Ix++]):w1[Wx++]=ot}}return w1})([-1,2,24,2,25,2,5,-1,0,77595648,3,44,2,3,0,14,2,57,2,58,3,0,3,0,3168796671,0,4294956992,2,1,2,0,2,59,3,0,4,0,4294966523,3,0,4,2,16,2,60,2,0,0,4294836735,0,3221225471,0,4294901942,2,61,0,134152192,3,0,2,0,4294951935,3,0,2,0,2683305983,0,2684354047,2,17,2,0,0,4294961151,3,0,2,2,19,2,0,0,608174079,2,0,2,131,2,6,2,56,-1,2,37,0,4294443263,2,1,3,0,3,0,4294901711,2,39,0,4089839103,0,2961209759,0,1342439375,0,4294543342,0,3547201023,0,1577204103,0,4194240,0,4294688750,2,2,0,80831,0,4261478351,0,4294549486,2,2,0,2967484831,0,196559,0,3594373100,0,3288319768,0,8469959,2,194,2,3,0,3825204735,0,123747807,0,65487,0,4294828015,0,4092591615,0,1080049119,0,458703,2,3,2,0,0,2163244511,0,4227923919,0,4236247022,2,66,0,4284449919,0,851904,2,4,2,11,0,67076095,-1,2,67,0,1073741743,0,4093591391,-1,0,50331649,0,3265266687,2,32,0,4294844415,0,4278190047,2,18,2,129,-1,3,0,2,2,21,2,0,2,9,2,0,2,14,2,15,3,0,10,2,69,2,0,2,70,2,71,2,72,2,0,2,73,2,0,2,10,0,261632,2,23,3,0,2,2,12,2,4,3,0,18,2,74,2,5,3,0,2,2,75,0,2088959,2,27,2,8,0,909311,3,0,2,0,814743551,2,41,0,67057664,3,0,2,2,40,2,0,2,28,2,0,2,29,2,7,0,268374015,2,26,2,49,2,0,2,76,0,134153215,-1,2,6,2,0,2,7,0,2684354559,0,67044351,0,3221160064,0,1,-1,3,0,2,2,42,0,1046528,3,0,3,2,8,2,0,2,51,0,4294960127,2,9,2,38,2,10,0,4294377472,2,11,3,0,7,0,4227858431,3,0,8,2,12,2,0,2,78,2,9,2,0,2,79,2,80,2,81,-1,2,124,0,1048577,2,82,2,13,-1,2,13,0,131042,2,83,2,84,2,85,2,0,2,33,-83,2,0,2,53,2,7,3,0,4,0,1046559,2,0,2,14,2,0,0,2147516671,2,20,3,86,2,2,0,-16,2,87,0,524222462,2,4,2,0,0,4269801471,2,4,2,0,2,15,2,77,2,16,3,0,2,2,47,2,0,-1,2,17,-16,3,0,206,-2,3,0,655,2,18,3,0,36,2,68,-1,2,17,2,9,3,0,8,2,89,2,121,2,0,0,3220242431,3,0,3,2,19,2,90,2,91,3,0,2,2,92,2,0,2,93,2,94,2,0,0,4351,2,0,2,8,3,0,2,0,67043391,0,3909091327,2,0,2,22,2,8,2,18,3,0,2,0,67076097,2,7,2,0,2,20,0,67059711,0,4236247039,3,0,2,0,939524103,0,8191999,2,97,2,98,2,15,2,21,3,0,3,0,67057663,3,0,349,2,99,2,100,2,6,-264,3,0,11,2,22,3,0,2,2,31,-1,0,3774349439,2,101,2,102,3,0,2,2,19,2,103,3,0,10,2,9,2,17,2,0,2,45,2,0,2,30,2,104,2,23,0,1638399,2,172,2,105,3,0,3,2,18,2,24,2,25,2,5,2,26,2,0,2,7,2,106,-1,2,107,2,108,2,109,-1,3,0,3,2,11,-2,2,0,2,27,-3,2,150,-4,2,18,2,0,2,35,0,1,2,0,2,62,2,28,2,11,2,9,2,0,2,110,-1,3,0,4,2,9,2,21,2,111,2,6,2,0,2,112,2,0,2,48,-4,3,0,9,2,20,2,29,2,30,-4,2,113,2,114,2,29,2,20,2,7,-2,2,115,2,29,2,31,-2,2,0,2,116,-2,0,4277137519,0,2269118463,-1,3,18,2,-1,2,32,2,36,2,0,3,29,2,2,34,2,19,-3,3,0,2,2,33,-1,2,0,2,34,2,0,2,34,2,0,2,46,-10,2,0,0,203775,-2,2,18,2,43,2,35,-2,2,17,2,117,2,20,3,0,2,2,36,0,2147549120,2,0,2,11,2,17,2,135,2,0,2,37,2,52,0,5242879,3,0,2,0,402644511,-1,2,120,0,1090519039,-2,2,122,2,38,2,0,0,67045375,2,39,0,4226678271,0,3766565279,0,2039759,-4,3,0,2,0,3288270847,0,3,3,0,2,0,67043519,-5,2,0,0,4282384383,0,1056964609,-1,3,0,2,0,67043345,-1,2,0,2,40,2,41,-1,2,10,2,42,-6,2,0,2,11,-3,3,0,2,0,2147484671,2,125,0,4190109695,2,50,-2,2,126,0,4244635647,0,27,2,0,2,7,2,43,2,0,2,63,-1,2,0,2,40,-8,2,54,2,44,0,67043329,2,127,2,45,0,8388351,-2,2,128,0,3028287487,2,46,2,130,0,33259519,2,41,-9,2,20,-5,2,64,-2,3,0,28,2,31,-3,3,0,3,2,47,3,0,6,2,48,-85,3,0,33,2,47,-126,3,0,18,2,36,-269,3,0,17,2,40,2,7,2,41,-2,2,17,2,49,2,0,2,20,2,50,2,132,2,23,-21,3,0,2,-4,3,0,2,0,4294936575,2,0,0,4294934783,-2,0,196635,3,0,191,2,51,3,0,38,2,29,-1,2,33,-279,3,0,8,2,7,-1,2,133,2,52,3,0,11,2,6,-72,3,0,3,2,134,0,1677656575,-166,0,4161266656,0,4071,0,15360,-4,0,28,-13,3,0,2,2,37,2,0,2,136,2,137,2,55,2,0,2,138,2,139,2,140,3,0,10,2,141,2,142,2,15,3,37,2,3,53,2,3,54,2,0,4294954999,2,0,-16,2,0,2,88,2,0,0,2105343,0,4160749584,0,65534,-42,0,4194303871,0,2011,-6,2,0,0,1073684479,0,17407,-11,2,0,2,31,-40,3,0,6,0,8323103,-1,3,0,2,2,42,-37,2,55,2,144,2,145,2,146,2,147,2,148,-105,2,24,-32,3,0,1334,2,9,-1,3,0,129,2,27,3,0,6,2,9,3,0,180,2,149,3,0,233,0,1,-96,3,0,16,2,9,-47,3,0,154,2,56,-22381,3,0,7,2,23,-6130,3,5,2,-1,0,69207040,3,44,2,3,0,14,2,57,2,58,-3,0,3168731136,0,4294956864,2,1,2,0,2,59,3,0,4,0,4294966275,3,0,4,2,16,2,60,2,0,2,33,-1,2,17,2,61,-1,2,0,2,56,0,4294885376,3,0,2,0,3145727,0,2617294944,0,4294770688,2,23,2,62,3,0,2,0,131135,2,95,0,70256639,0,71303167,0,272,2,40,2,56,-1,2,37,2,30,-1,2,96,2,63,0,4278255616,0,4294836227,0,4294549473,0,600178175,0,2952806400,0,268632067,0,4294543328,0,57540095,0,1577058304,0,1835008,0,4294688736,2,65,2,64,0,33554435,2,123,2,65,2,151,0,131075,0,3594373096,0,67094296,2,64,-1,0,4294828e3,0,603979263,2,160,0,3,0,4294828001,0,602930687,2,183,0,393219,0,4294828016,0,671088639,0,2154840064,0,4227858435,0,4236247008,2,66,2,36,-1,2,4,0,917503,2,36,-1,2,67,0,537788335,0,4026531935,-1,0,1,-1,2,32,2,68,0,7936,-3,2,0,0,2147485695,0,1010761728,0,4292984930,0,16387,2,0,2,14,2,15,3,0,10,2,69,2,0,2,70,2,71,2,72,2,0,2,73,2,0,2,11,-1,2,23,3,0,2,2,12,2,4,3,0,18,2,74,2,5,3,0,2,2,75,0,253951,3,19,2,0,122879,2,0,2,8,0,276824064,-2,3,0,2,2,40,2,0,0,4294903295,2,0,2,29,2,7,-1,2,17,2,49,2,0,2,76,2,41,-1,2,20,2,0,2,27,-2,0,128,-2,2,77,2,8,0,4064,-1,2,119,0,4227907585,2,0,2,118,2,0,2,48,2,173,2,9,2,38,2,10,-1,0,74440192,3,0,6,-2,3,0,8,2,12,2,0,2,78,2,9,2,0,2,79,2,80,2,81,-3,2,82,2,13,-3,2,83,2,84,2,85,2,0,2,33,-83,2,0,2,53,2,7,3,0,4,0,817183,2,0,2,14,2,0,0,33023,2,20,3,86,2,-17,2,87,0,524157950,2,4,2,0,2,88,2,4,2,0,2,15,2,77,2,16,3,0,2,2,47,2,0,-1,2,17,-16,3,0,206,-2,3,0,655,2,18,3,0,36,2,68,-1,2,17,2,9,3,0,8,2,89,0,3072,2,0,0,2147516415,2,9,3,0,2,2,23,2,90,2,91,3,0,2,2,92,2,0,2,93,2,94,0,4294965179,0,7,2,0,2,8,2,91,2,8,-1,0,1761345536,2,95,0,4294901823,2,36,2,18,2,96,2,34,2,166,0,2080440287,2,0,2,33,2,143,0,3296722943,2,0,0,1046675455,0,939524101,0,1837055,2,97,2,98,2,15,2,21,3,0,3,0,7,3,0,349,2,99,2,100,2,6,-264,3,0,11,2,22,3,0,2,2,31,-1,0,2700607615,2,101,2,102,3,0,2,2,19,2,103,3,0,10,2,9,2,17,2,0,2,45,2,0,2,30,2,104,-3,2,105,3,0,3,2,18,-1,3,5,2,2,26,2,0,2,7,2,106,-1,2,107,2,108,2,109,-1,3,0,3,2,11,-2,2,0,2,27,-8,2,18,2,0,2,35,-1,2,0,2,62,2,28,2,29,2,9,2,0,2,110,-1,3,0,4,2,9,2,17,2,111,2,6,2,0,2,112,2,0,2,48,-4,3,0,9,2,20,2,29,2,30,-4,2,113,2,114,2,29,2,20,2,7,-2,2,115,2,29,2,31,-2,2,0,2,116,-2,0,4277075969,2,29,-1,3,18,2,-1,2,32,2,117,2,0,3,29,2,2,34,2,19,-3,3,0,2,2,33,-1,2,0,2,34,2,0,2,34,2,0,2,48,-10,2,0,0,197631,-2,2,18,2,43,2,118,-2,2,17,2,117,2,20,2,119,2,51,-2,2,119,2,23,2,17,2,33,2,119,2,36,0,4294901904,0,4718591,2,119,2,34,0,335544350,-1,2,120,2,121,-2,2,122,2,38,2,7,-1,2,123,2,65,0,3758161920,0,3,-4,2,0,2,27,0,2147485568,0,3,2,0,2,23,0,176,-5,2,0,2,47,2,186,-1,2,0,2,23,2,197,-1,2,0,0,16779263,-2,2,11,-7,2,0,2,121,-3,3,0,2,2,124,2,125,0,2147549183,0,2,-2,2,126,2,35,0,10,0,4294965249,0,67633151,0,4026597376,2,0,0,536871935,-1,2,0,2,40,-8,2,54,2,47,0,1,2,127,2,23,-3,2,128,2,35,2,129,2,130,0,16778239,-10,2,34,-5,2,64,-2,3,0,28,2,31,-3,3,0,3,2,47,3,0,6,2,48,-85,3,0,33,2,47,-126,3,0,18,2,36,-269,3,0,17,2,40,2,7,-3,2,17,2,131,2,0,2,23,2,48,2,132,2,23,-21,3,0,2,-4,3,0,2,0,67583,-1,2,103,-2,0,11,3,0,191,2,51,3,0,38,2,29,-1,2,33,-279,3,0,8,2,7,-1,2,133,2,52,3,0,11,2,6,-72,3,0,3,2,134,2,135,-187,3,0,2,2,37,2,0,2,136,2,137,2,55,2,0,2,138,2,139,2,140,3,0,10,2,141,2,142,2,15,3,37,2,3,53,2,3,54,2,2,143,-73,2,0,0,1065361407,0,16384,-11,2,0,2,121,-40,3,0,6,2,117,-1,3,0,2,0,2063,-37,2,55,2,144,2,145,2,146,2,147,2,148,-138,3,0,1334,2,9,-1,3,0,129,2,27,3,0,6,2,9,3,0,180,2,149,3,0,233,0,1,-96,3,0,16,2,9,-47,3,0,154,2,56,-28517,2,0,0,1,-1,2,124,2,0,0,8193,-21,2,193,0,10255,0,4,-11,2,64,2,171,-1,0,71680,-1,2,161,0,4292900864,0,805306431,-5,2,150,-1,2,157,-1,0,6144,-2,2,127,-1,2,154,-1,0,2147532800,2,151,2,165,2,0,2,164,0,524032,0,4,-4,2,190,0,205128192,0,1333757536,0,2147483696,0,423953,0,747766272,0,2717763192,0,4286578751,0,278545,2,152,0,4294886464,0,33292336,0,417809,2,152,0,1327482464,0,4278190128,0,700594195,0,1006647527,0,4286497336,0,4160749631,2,153,0,469762560,0,4171219488,0,8323120,2,153,0,202375680,0,3214918176,0,4294508592,2,153,-1,0,983584,0,48,0,58720273,0,3489923072,0,10517376,0,4293066815,0,1,0,2013265920,2,177,2,0,0,2089,0,3221225552,0,201375904,2,0,-2,0,256,0,122880,0,16777216,2,150,0,4160757760,2,0,-6,2,167,-11,0,3263218176,-1,0,49664,0,2160197632,0,8388802,-1,0,12713984,-1,2,154,2,159,2,178,-2,2,162,-20,0,3758096385,-2,2,155,0,4292878336,2,90,2,169,0,4294057984,-2,2,163,2,156,2,175,-2,2,155,-1,2,182,-1,2,170,2,124,0,4026593280,0,14,0,4292919296,-1,2,158,0,939588608,-1,0,805306368,-1,2,124,0,1610612736,2,156,2,157,2,4,2,0,-2,2,158,2,159,-3,0,267386880,-1,2,160,0,7168,-1,0,65024,2,154,2,161,2,179,-7,2,168,-8,2,162,-1,0,1426112704,2,163,-1,2,164,0,271581216,0,2149777408,2,23,2,161,2,124,0,851967,2,180,-1,2,23,2,181,-4,2,158,-20,2,195,2,165,-56,0,3145728,2,185,-4,2,166,2,124,-4,0,32505856,-1,2,167,-1,0,2147385088,2,90,1,2155905152,2,-3,2,103,2,0,2,168,-2,2,169,-6,2,170,0,4026597375,0,1,-1,0,1,-1,2,171,-3,2,117,2,64,-2,2,166,-2,2,176,2,124,-878,2,159,-36,2,172,-1,2,201,-10,2,188,-5,2,174,-6,0,4294965251,2,27,-1,2,173,-1,2,174,-2,0,4227874752,-3,0,2146435072,2,159,-2,0,1006649344,2,124,-1,2,90,0,201375744,-3,0,134217720,2,90,0,4286677377,0,32896,-1,2,158,-3,2,175,-349,2,176,0,1920,2,177,3,0,264,-11,2,157,-2,2,178,2,0,0,520617856,0,2692743168,0,36,-3,0,524284,-11,2,23,-1,2,187,-1,2,184,0,3221291007,2,178,-1,2,202,0,2158720,-3,2,159,0,1,-4,2,124,0,3808625411,0,3489628288,2,200,0,1207959680,0,3221274624,2,0,-3,2,179,0,120,0,7340032,-2,2,180,2,4,2,23,2,163,3,0,4,2,159,-1,2,181,2,177,-1,0,8176,2,182,2,179,2,183,-1,0,4290773232,2,0,-4,2,163,2,189,0,15728640,2,177,-1,2,161,-1,0,4294934512,3,0,4,-9,2,90,2,170,2,184,3,0,4,0,704,0,1849688064,2,185,-1,2,124,0,4294901887,2,0,0,130547712,0,1879048192,2,199,3,0,2,-1,2,186,2,187,-1,0,17829776,0,2025848832,0,4261477888,-2,2,0,-1,0,4286580608,-1,0,29360128,2,192,0,16252928,0,3791388672,2,38,3,0,2,-2,2,196,2,0,-1,2,103,-1,0,66584576,-1,2,191,3,0,9,2,124,-1,0,4294755328,3,0,2,-1,2,161,2,178,3,0,2,2,23,2,188,2,90,-2,0,245760,0,2147418112,-1,2,150,2,203,0,4227923456,-1,2,164,2,161,2,90,-3,0,4292870145,0,262144,2,124,3,0,2,0,1073758848,2,189,-1,0,4227921920,2,190,0,68289024,0,528402016,0,4292927536,3,0,4,-2,0,268435456,2,91,-2,2,191,3,0,5,-1,2,192,2,163,2,0,-2,0,4227923936,2,62,-1,2,155,2,95,2,0,2,154,2,158,3,0,6,-1,2,177,3,0,3,-2,0,2146959360,0,9440640,0,104857600,0,4227923840,3,0,2,0,768,2,193,2,77,-2,2,161,-2,2,119,-1,2,155,3,0,8,0,512,0,8388608,2,194,2,172,2,187,0,4286578944,3,0,2,0,1152,0,1266679808,2,191,0,576,0,4261707776,2,95,3,0,9,2,155,3,0,5,2,16,-1,0,2147221504,-28,2,178,3,0,3,-3,0,4292902912,-6,2,96,3,0,85,-33,0,4294934528,3,0,126,-18,2,195,3,0,269,-17,2,155,2,124,2,198,3,0,2,2,23,0,4290822144,-2,0,67174336,0,520093700,2,17,3,0,21,-2,2,179,3,0,3,-2,0,30720,-1,0,32512,3,0,2,0,4294770656,-191,2,174,-38,2,170,2,0,2,196,3,0,279,-8,2,124,2,0,0,4294508543,0,65295,-11,2,177,3,0,72,-3,0,3758159872,0,201391616,3,0,155,-7,2,170,-1,0,384,-1,0,133693440,-3,2,196,-2,2,26,3,0,4,2,169,-2,2,90,2,155,3,0,4,-2,2,164,-1,2,150,0,335552923,2,197,-1,0,538974272,0,2214592512,0,132e3,-10,0,192,-8,0,12288,-21,0,134213632,0,4294901761,3,0,42,0,100663424,0,4294965284,3,0,6,-1,0,3221282816,2,198,3,0,11,-1,2,199,3,0,40,-6,0,4286578784,2,0,-2,0,1006694400,3,0,24,2,35,-1,2,94,3,0,2,0,1,2,163,3,0,6,2,197,0,4110942569,0,1432950139,0,2701658217,0,4026532864,0,4026532881,2,0,2,45,3,0,8,-1,2,158,-2,2,169,0,98304,0,65537,2,170,-5,0,4294950912,2,0,2,118,0,65528,2,177,0,4294770176,2,26,3,0,4,-30,2,174,0,3758153728,-3,2,169,-2,2,155,2,188,2,158,-1,2,191,-1,2,161,0,4294754304,3,0,2,-3,0,33554432,-2,2,200,-3,2,169,0,4175478784,2,201,0,4286643712,0,4286644216,2,0,-4,2,202,-1,2,165,0,4227923967,3,0,32,-1334,2,163,2,0,-129,2,94,-6,2,163,-180,2,203,-233,2,4,3,0,96,-16,2,163,3,0,47,-154,2,165,3,0,22381,-7,2,17,3,0,6128],[4294967295,4294967291,4092460543,4294828031,4294967294,134217726,268435455,2147483647,1048575,1073741823,3892314111,134217727,1061158911,536805376,4294910143,4160749567,4294901759,4294901760,536870911,262143,8388607,4294902783,4294918143,65535,67043328,2281701374,4294967232,2097151,4294903807,4194303,255,67108863,4294967039,511,524287,131071,127,4292870143,4294902271,4294549487,33554431,1023,67047423,4294901888,4286578687,4294770687,67043583,32767,15,2047999,67043343,16777215,4294902e3,4294934527,4294966783,4294967279,2047,262083,20511,4290772991,41943039,493567,4294959104,603979775,65536,602799615,805044223,4294965206,8191,1031749119,4294917631,2134769663,4286578493,4282253311,4294942719,33540095,4294905855,4294967264,2868854591,1608515583,265232348,534519807,2147614720,1060109444,4093640016,17376,2139062143,224,4169138175,4294909951,4286578688,4294967292,4294965759,2044,4292870144,4294966272,4294967280,8289918,4294934399,4294901775,4294965375,1602223615,4294967259,4294443008,268369920,4292804608,486341884,4294963199,3087007615,1073692671,4128527,4279238655,4294902015,4294966591,2445279231,3670015,3238002687,31,63,4294967288,4294705151,4095,3221208447,4294549472,2147483648,4285526655,4294966527,4294705152,4294966143,64,4294966719,16383,3774873592,458752,536807423,67043839,3758096383,3959414372,3755993023,2080374783,4294835295,4294967103,4160749565,4087,184024726,2862017156,1593309078,268434431,268434414,4294901763,536870912,2952790016,202506752,139264,402653184,4261412864,4227922944,49152,61440,3758096384,117440512,65280,3233808384,3221225472,2097152,4294965248,32768,57152,67108864,4293918720,4290772992,25165824,57344,4227915776,4278190080,4227907584,65520,4026531840,4227858432,4160749568,3758129152,4294836224,63488,1073741824,4294967040,4194304,251658240,196608,4294963200,64512,417808,4227923712,12582912,50331648,65472,4294967168,4294966784,16,4294917120,2080374784,4096,65408,524288,65532]);function Eu(_){return _.column++,_.currentChar=_.source.charCodeAt(++_.index)}function jh(_,v0){if((64512&v0)!=55296)return 0;const w1=_.source.charCodeAt(_.index+1);return(64512&w1)!=56320?0:(v0=_.currentChar=65536+((1023&v0)<<10)+(1023&w1),(1&vf[0+(v0>>>5)]>>>v0)==0&&Sn(_,18,Tf(v0)),_.index++,_.column++,1)}function Cb(_,v0){_.currentChar=_.source.charCodeAt(++_.index),_.flags|=1,(4&v0)==0&&(_.column=0,_.line++)}function px(_){_.flags|=1,_.currentChar=_.source.charCodeAt(++_.index),_.column=0,_.line++}function Tf(_){return _<=65535?String.fromCharCode(_):String.fromCharCode(_>>>10)+String.fromCharCode(1023&_)}function e6(_){return _<65?_-48:_-65+10&15}const z2=[0,0,0,0,0,0,0,0,0,0,1032,0,0,2056,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8192,0,3,0,0,8192,0,0,0,256,0,33024,0,0,242,242,114,114,114,114,114,114,594,594,0,0,16384,0,0,0,0,67,67,67,67,67,67,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,1,0,0,4099,0,71,71,71,71,71,71,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,16384,0,0,0,0],ty=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0],yS=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0];function TS(_){return _<=127?ty[_]:1&vf[34816+(_>>>5)]>>>_}function L6(_){return _<=127?yS[_]:1&vf[0+(_>>>5)]>>>_||_===8204||_===8205}const v4=[\"SingleLine\",\"MultiLine\",\"HTMLOpen\",\"HTMLClose\",\"HashbangComment\"];function W2(_,v0,w1,Ix,Wx,_e,ot,Mt){return 2048&Ix&&Sn(_,0),pt(_,v0,w1,Wx,_e,ot,Mt)}function pt(_,v0,w1,Ix,Wx,_e,ot){const{index:Mt}=_;for(_.tokenPos=_.index,_.linePos=_.line,_.colPos=_.column;_.index<_.end;){if(8&z2[_.currentChar]){const Ft=_.currentChar===13;px(_),Ft&&_.index<_.end&&_.currentChar===10&&(_.currentChar=v0.charCodeAt(++_.index));break}if((8232^_.currentChar)<=1){px(_);break}Eu(_),_.tokenPos=_.index,_.linePos=_.line,_.colPos=_.column}if(_.onComment){const Ft={start:{line:_e,column:ot},end:{line:_.linePos,column:_.colPos}};_.onComment(v4[255&Ix],v0.slice(Mt,_.tokenPos),Wx,_.tokenPos,Ft)}return 1|w1}function b4(_,v0,w1){const{index:Ix}=_;for(;_.index<_.end;)if(_.currentChar<43){let Wx=!1;for(;_.currentChar===42;)if(Wx||(w1&=-5,Wx=!0),Eu(_)===47){if(Eu(_),_.onComment){const _e={start:{line:_.linePos,column:_.colPos},end:{line:_.line,column:_.column}};_.onComment(v4[1],v0.slice(Ix,_.index-2),Ix-2,_.index,_e)}return _.tokenPos=_.index,_.linePos=_.line,_.colPos=_.column,w1}if(Wx)continue;8&z2[_.currentChar]?_.currentChar===13?(w1|=5,px(_)):(Cb(_,w1),w1=-5&w1|1):Eu(_)}else(8232^_.currentChar)<=1?(w1=-5&w1|1,px(_)):(w1&=-5,Eu(_));Sn(_,16)}function M6(_,v0){const w1=_.index;let Ix=0;x:for(;;){const qt=_.currentChar;if(Eu(_),1&Ix)Ix&=-2;else switch(qt){case 47:if(Ix)break;break x;case 92:Ix|=1;break;case 91:Ix|=2;break;case 93:Ix&=1;break;case 13:case 10:case 8232:case 8233:Sn(_,32)}if(_.index>=_.source.length)return Sn(_,32)}const Wx=_.index-1;let _e=0,ot=_.currentChar;const{index:Mt}=_;for(;L6(ot);){switch(ot){case 103:2&_e&&Sn(_,34,\"g\"),_e|=2;break;case 105:1&_e&&Sn(_,34,\"i\"),_e|=1;break;case 109:4&_e&&Sn(_,34,\"m\"),_e|=4;break;case 117:16&_e&&Sn(_,34,\"g\"),_e|=16;break;case 121:8&_e&&Sn(_,34,\"y\"),_e|=8;break;case 115:12&_e&&Sn(_,34,\"s\"),_e|=12;break;default:Sn(_,33)}ot=Eu(_)}const Ft=_.source.slice(Mt,_.index),nt=_.source.slice(w1,Wx);return _.tokenRegExp={pattern:nt,flags:Ft},512&v0&&(_.tokenRaw=_.source.slice(_.tokenPos,_.index)),_.tokenValue=function(qt,Ze,ur){try{return new RegExp(Ze,ur)}catch{Sn(qt,32)}}(_,nt,Ft),65540}function B1(_,v0,w1){const{index:Ix}=_;let Wx=\"\",_e=Eu(_),ot=_.index;for(;(8&z2[_e])==0;){if(_e===w1)return Wx+=_.source.slice(ot,_.index),Eu(_),512&v0&&(_.tokenRaw=_.source.slice(Ix,_.index)),_.tokenValue=Wx,134283267;if((8&_e)==8&&_e===92){if(Wx+=_.source.slice(ot,_.index),_e=Eu(_),_e<127||_e===8232||_e===8233){const Mt=Yx(_,v0,_e);Mt>=0?Wx+=Tf(Mt):Oe(_,Mt,0)}else Wx+=Tf(_e);ot=_.index+1}_.index>=_.end&&Sn(_,14),_e=Eu(_)}Sn(_,14)}function Yx(_,v0,w1){switch(w1){case 98:return 8;case 102:return 12;case 114:return 13;case 110:return 10;case 116:return 9;case 118:return 11;case 13:if(_.index<_.end){const Ix=_.source.charCodeAt(_.index+1);Ix===10&&(_.index=_.index+1,_.currentChar=Ix)}case 10:case 8232:case 8233:return _.column=-1,_.line++,-1;case 48:case 49:case 50:case 51:{let Ix=w1-48,Wx=_.index+1,_e=_.column+1;if(Wx<_.end){const ot=_.source.charCodeAt(Wx);if((32&z2[ot])==0){if((Ix!==0||512&z2[ot])&&1024&v0)return-2}else{if(1024&v0)return-2;if(_.currentChar=ot,Ix=Ix<<3|ot-48,Wx++,_e++,Wx<_.end){const Mt=_.source.charCodeAt(Wx);32&z2[Mt]&&(_.currentChar=Mt,Ix=Ix<<3|Mt-48,Wx++,_e++)}_.flags|=64,_.index=Wx-1,_.column=_e-1}}return Ix}case 52:case 53:case 54:case 55:{if(1024&v0)return-2;let Ix=w1-48;const Wx=_.index+1,_e=_.column+1;if(Wx<_.end){const ot=_.source.charCodeAt(Wx);32&z2[ot]&&(Ix=Ix<<3|ot-48,_.currentChar=ot,_.index=Wx,_.column=_e)}return _.flags|=64,Ix}case 120:{const Ix=Eu(_);if((64&z2[Ix])==0)return-4;const Wx=e6(Ix),_e=Eu(_);return(64&z2[_e])==0?-4:Wx<<4|e6(_e)}case 117:{const Ix=Eu(_);if(_.currentChar===123){let Wx=0;for(;(64&z2[Eu(_)])!=0;)if(Wx=Wx<<4|e6(_.currentChar),Wx>1114111)return-5;return _.currentChar<1||_.currentChar!==125?-4:Wx}{if((64&z2[Ix])==0)return-4;const Wx=_.source.charCodeAt(_.index+1);if((64&z2[Wx])==0)return-4;const _e=_.source.charCodeAt(_.index+2);if((64&z2[_e])==0)return-4;const ot=_.source.charCodeAt(_.index+3);return(64&z2[ot])==0?-4:(_.index+=3,_.column+=3,_.currentChar=_.source.charCodeAt(_.index),e6(Ix)<<12|e6(Wx)<<8|e6(_e)<<4|e6(ot))}}case 56:case 57:if((256&v0)==0)return-3;default:return w1}}function Oe(_,v0,w1){switch(v0){case-1:return;case-2:Sn(_,w1?2:1);case-3:Sn(_,13);case-4:Sn(_,6);case-5:Sn(_,101)}}function zt(_,v0){const{index:w1}=_;let Ix=67174409,Wx=\"\",_e=Eu(_);for(;_e!==96;){if(_e===36&&_.source.charCodeAt(_.index+1)===123){Eu(_),Ix=67174408;break}if((8&_e)==8&&_e===92)if(_e=Eu(_),_e>126)Wx+=Tf(_e);else{const ot=Yx(_,1024|v0,_e);if(ot>=0)Wx+=Tf(ot);else{if(ot!==-1&&65536&v0){Wx=void 0,_e=an(_,_e),_e<0&&(Ix=67174408);break}Oe(_,ot,1)}}else _.index<_.end&&_e===13&&_.source.charCodeAt(_.index)===10&&(Wx+=Tf(_e),_.currentChar=_.source.charCodeAt(++_.index)),((83&_e)<3&&_e===10||(8232^_e)<=1)&&(_.column=-1,_.line++),Wx+=Tf(_e);_.index>=_.end&&Sn(_,15),_e=Eu(_)}return Eu(_),_.tokenValue=Wx,_.tokenRaw=_.source.slice(w1+1,_.index-(Ix===67174409?1:2)),Ix}function an(_,v0){for(;v0!==96;){switch(v0){case 36:{const w1=_.index+1;if(w1<_.end&&_.source.charCodeAt(w1)===123)return _.index=w1,_.column++,-v0;break}case 10:case 8232:case 8233:_.column=-1,_.line++}_.index>=_.end&&Sn(_,15),v0=Eu(_)}return v0}function xi(_,v0){return _.index>=_.end&&Sn(_,0),_.index--,_.column--,zt(_,v0)}function xs(_,v0,w1){let Ix=_.currentChar,Wx=0,_e=9,ot=64&w1?0:1,Mt=0,Ft=0;if(64&w1)Wx=\".\"+bi(_,Ix),Ix=_.currentChar,Ix===110&&Sn(_,11);else{if(Ix===48)if(Ix=Eu(_),(32|Ix)==120){for(w1=136,Ix=Eu(_);4160&z2[Ix];)Ix!==95?(Ft=1,Wx=16*Wx+e6(Ix),Mt++,Ix=Eu(_)):(Ft||Sn(_,146),Ft=0,Ix=Eu(_));(Mt<1||!Ft)&&Sn(_,Mt<1?19:147)}else if((32|Ix)==111){for(w1=132,Ix=Eu(_);4128&z2[Ix];)Ix!==95?(Ft=1,Wx=8*Wx+(Ix-48),Mt++,Ix=Eu(_)):(Ft||Sn(_,146),Ft=0,Ix=Eu(_));(Mt<1||!Ft)&&Sn(_,Mt<1?0:147)}else if((32|Ix)==98){for(w1=130,Ix=Eu(_);4224&z2[Ix];)Ix!==95?(Ft=1,Wx=2*Wx+(Ix-48),Mt++,Ix=Eu(_)):(Ft||Sn(_,146),Ft=0,Ix=Eu(_));(Mt<1||!Ft)&&Sn(_,Mt<1?0:147)}else if(32&z2[Ix])for(1024&v0&&Sn(_,1),w1=1;16&z2[Ix];){if(512&z2[Ix]){w1=32,ot=0;break}Wx=8*Wx+(Ix-48),Ix=Eu(_)}else 512&z2[Ix]?(1024&v0&&Sn(_,1),_.flags|=64,w1=32):Ix===95&&Sn(_,0);if(48&w1){if(ot){for(;_e>=0&&4112&z2[Ix];)Ix!==95?(Ft=0,Wx=10*Wx+(Ix-48),Ix=Eu(_),--_e):(Ix=Eu(_),(Ix===95||32&w1)&&x6(_.index,_.line,_.index+1,146),Ft=1);if(Ft&&x6(_.index,_.line,_.index+1,147),_e>=0&&!TS(Ix)&&Ix!==46)return _.tokenValue=Wx,512&v0&&(_.tokenRaw=_.source.slice(_.tokenPos,_.index)),134283266}Wx+=bi(_,Ix),Ix=_.currentChar,Ix===46&&(Eu(_)===95&&Sn(_,0),w1=64,Wx+=\".\"+bi(_,_.currentChar),Ix=_.currentChar)}}const nt=_.index;let qt=0;if(Ix===110&&128&w1)qt=1,Ix=Eu(_);else if((32|Ix)==101){Ix=Eu(_),256&z2[Ix]&&(Ix=Eu(_));const{index:Ze}=_;(16&z2[Ix])<1&&Sn(_,10),Wx+=_.source.substring(nt,Ze)+bi(_,Ix),Ix=_.currentChar}return(_.index<_.end&&16&z2[Ix]||TS(Ix))&&Sn(_,12),qt?(_.tokenRaw=_.source.slice(_.tokenPos,_.index),_.tokenValue=BigInt(Wx),134283389):(_.tokenValue=15&w1?Wx:32&w1?parseFloat(_.source.substring(_.tokenPos,_.index)):+Wx,512&v0&&(_.tokenRaw=_.source.slice(_.tokenPos,_.index)),134283266)}function bi(_,v0){let w1=0,Ix=_.index,Wx=\"\";for(;4112&z2[v0];)if(v0!==95)w1=0,v0=Eu(_);else{const{index:_e}=_;(v0=Eu(_))===95&&x6(_.index,_.line,_.index+1,146),w1=1,Wx+=_.source.substring(Ix,_e),Ix=_.index}return w1&&x6(_.index,_.line,_.index+1,147),Wx+_.source.substring(Ix,_.index)}const ya=[\"end of source\",\"identifier\",\"number\",\"string\",\"regular expression\",\"false\",\"true\",\"null\",\"template continuation\",\"template tail\",\"=>\",\"(\",\"{\",\".\",\"...\",\"}\",\")\",\";\",\",\",\"[\",\"]\",\":\",\"?\",\"'\",'\"',\"</\",\"/>\",\"++\",\"--\",\"=\",\"<<=\",\">>=\",\">>>=\",\"**=\",\"+=\",\"-=\",\"*=\",\"/=\",\"%=\",\"^=\",\"|=\",\"&=\",\"||=\",\"&&=\",\"??=\",\"typeof\",\"delete\",\"void\",\"!\",\"~\",\"+\",\"-\",\"in\",\"instanceof\",\"*\",\"%\",\"/\",\"**\",\"&&\",\"||\",\"===\",\"!==\",\"==\",\"!=\",\"<=\",\">=\",\"<\",\">\",\"<<\",\">>\",\">>>\",\"&\",\"|\",\"^\",\"var\",\"let\",\"const\",\"break\",\"case\",\"catch\",\"class\",\"continue\",\"debugger\",\"default\",\"do\",\"else\",\"export\",\"extends\",\"finally\",\"for\",\"function\",\"if\",\"import\",\"new\",\"return\",\"super\",\"switch\",\"this\",\"throw\",\"try\",\"while\",\"with\",\"implements\",\"interface\",\"package\",\"private\",\"protected\",\"public\",\"static\",\"yield\",\"as\",\"async\",\"await\",\"constructor\",\"get\",\"set\",\"from\",\"of\",\"enum\",\"eval\",\"arguments\",\"escaped keyword\",\"escaped future reserved keyword\",\"reserved if strict\",\"#\",\"BigIntLiteral\",\"??\",\"?.\",\"WhiteSpace\",\"Illegal\",\"LineTerminator\",\"PrivateField\",\"Template\",\"@\",\"target\",\"meta\",\"LineFeed\",\"Escaped\",\"JSXText\"],ul=Object.create(null,{this:{value:86113},function:{value:86106},if:{value:20571},return:{value:20574},var:{value:86090},else:{value:20565},for:{value:20569},new:{value:86109},in:{value:8738868},typeof:{value:16863277},while:{value:20580},case:{value:20558},break:{value:20557},try:{value:20579},catch:{value:20559},delete:{value:16863278},throw:{value:86114},switch:{value:86112},continue:{value:20561},default:{value:20563},instanceof:{value:8476725},do:{value:20564},void:{value:16863279},finally:{value:20568},async:{value:209007},await:{value:209008},class:{value:86096},const:{value:86092},constructor:{value:12401},debugger:{value:20562},export:{value:20566},extends:{value:20567},false:{value:86021},from:{value:12404},get:{value:12402},implements:{value:36966},import:{value:86108},interface:{value:36967},let:{value:241739},null:{value:86023},of:{value:274549},package:{value:36968},private:{value:36969},protected:{value:36970},public:{value:36971},set:{value:12403},static:{value:36972},super:{value:86111},true:{value:86022},with:{value:20581},yield:{value:241773},enum:{value:86134},eval:{value:537079927},as:{value:77934},arguments:{value:537079928},target:{value:143494},meta:{value:143495}});function mu(_,v0,w1){for(;yS[Eu(_)];);return _.tokenValue=_.source.slice(_.tokenPos,_.index),_.currentChar!==92&&_.currentChar<126?ul[_.tokenValue]||208897:a6(_,v0,0,w1)}function Ds(_,v0){const w1=bf(_);return L6(w1)||Sn(_,4),_.tokenValue=Tf(w1),a6(_,v0,1,4&z2[w1])}function a6(_,v0,w1,Ix){let Wx=_.index;for(;_.index<_.end;)if(_.currentChar===92){_.tokenValue+=_.source.slice(Wx,_.index),w1=1;const ot=bf(_);L6(ot)||Sn(_,4),Ix=Ix&&4&z2[ot],_.tokenValue+=Tf(ot),Wx=_.index}else{if(!L6(_.currentChar)&&!jh(_,_.currentChar))break;Eu(_)}_.index<=_.end&&(_.tokenValue+=_.source.slice(Wx,_.index));const _e=_.tokenValue.length;if(Ix&&_e>=2&&_e<=11){const ot=ul[_.tokenValue];return ot===void 0?208897:w1?1024&v0?ot===209008&&(4196352&v0)==0?ot:ot===36972||(36864&ot)==36864?122:121:1073741824&v0&&(8192&v0)==0&&(20480&ot)==20480?ot:ot===241773?1073741824&v0?143483:2097152&v0?121:ot:ot===209007&&1073741824&v0?143483:(36864&ot)==36864||ot===209008&&(4194304&v0)==0?ot:121:ot}return 208897}function Mc(_){return TS(Eu(_))||Sn(_,93),131}function bf(_){return _.source.charCodeAt(_.index+1)!==117&&Sn(_,4),_.currentChar=_.source.charCodeAt(_.index+=2),function(v0){let w1=0;const Ix=v0.currentChar;if(Ix===123){const Mt=v0.index-2;for(;64&z2[Eu(v0)];)w1=w1<<4|e6(v0.currentChar),w1>1114111&&x6(Mt,v0.line,v0.index+1,101);return v0.currentChar!==125&&x6(Mt,v0.line,v0.index-1,6),Eu(v0),w1}(64&z2[Ix])==0&&Sn(v0,6);const Wx=v0.source.charCodeAt(v0.index+1);(64&z2[Wx])==0&&Sn(v0,6);const _e=v0.source.charCodeAt(v0.index+2);(64&z2[_e])==0&&Sn(v0,6);const ot=v0.source.charCodeAt(v0.index+3);return(64&z2[ot])==0&&Sn(v0,6),w1=e6(Ix)<<12|e6(Wx)<<8|e6(_e)<<4|e6(ot),v0.currentChar=v0.source.charCodeAt(v0.index+=4),w1}(_)}const Rc=[129,129,129,129,129,129,129,129,129,128,136,128,128,130,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,128,16842800,134283267,131,208897,8457015,8455751,134283267,67174411,16,8457014,25233970,18,25233971,67108877,8457016,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,21,1074790417,8456258,1077936157,8456259,22,133,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,69271571,137,20,8455497,208897,132,4096,4096,4096,4096,4096,4096,4096,208897,4096,208897,208897,4096,208897,4096,208897,4096,208897,4096,4096,4096,208897,4096,4096,208897,4096,4096,2162700,8455240,1074790415,16842801,129];function Pa(_,v0){if(_.flags=1^(1|_.flags),_.startPos=_.index,_.startColumn=_.column,_.startLine=_.line,_.token=Uu(_,v0,0),_.onToken&&_.token!==1048576){const w1={start:{line:_.linePos,column:_.colPos},end:{line:_.line,column:_.column}};_.onToken(function(Ix){switch(Ix){case 134283266:return\"NumericLiteral\";case 134283267:return\"StringLiteral\";case 86021:case 86022:return\"BooleanLiteral\";case 86023:return\"NullLiteral\";case 65540:return\"RegularExpression\";case 67174408:case 67174409:case 132:return\"TemplateLiteral\";default:return(143360&Ix)==143360?\"Identifier\":(4096&Ix)==4096?\"Keyword\":\"Punctuator\"}}(_.token),_.tokenPos,_.index,w1)}}function Uu(_,v0,w1){const Ix=_.index===0,Wx=_.source;let _e=_.index,ot=_.line,Mt=_.column;for(;_.index<_.end;){_.tokenPos=_.index,_.colPos=_.column,_.linePos=_.line;let nt=_.currentChar;if(nt<=126){const qt=Rc[nt];switch(qt){case 67174411:case 16:case 2162700:case 1074790415:case 69271571:case 20:case 21:case 1074790417:case 18:case 16842801:case 133:case 129:return Eu(_),qt;case 208897:return mu(_,v0,0);case 4096:return mu(_,v0,1);case 134283266:return xs(_,v0,144);case 134283267:return B1(_,v0,nt);case 132:return zt(_,v0);case 137:return Ds(_,v0);case 131:return Mc(_);case 128:Eu(_);break;case 130:w1|=5,px(_);break;case 136:Cb(_,w1),w1=-5&w1|1;break;case 8456258:let Ze=Eu(_);if(_.index<_.end){if(Ze===60)return _.index<_.end&&Eu(_)===61?(Eu(_),4194334):8456516;if(Ze===61)return Eu(_),8456e3;if(Ze===33){const ri=_.index+1;if(ri+1<_.end&&Wx.charCodeAt(ri)===45&&Wx.charCodeAt(ri+1)==45){_.column+=3,_.currentChar=Wx.charCodeAt(_.index+=3),w1=W2(_,Wx,w1,v0,2,_.tokenPos,_.linePos,_.colPos),_e=_.tokenPos,ot=_.linePos,Mt=_.colPos;continue}return 8456258}if(Ze===47){if((16&v0)<1)return 8456258;const ri=_.index+1;if(ri<_.end&&(Ze=Wx.charCodeAt(ri),Ze===42||Ze===47))break;return Eu(_),25}}return 8456258;case 1077936157:{Eu(_);const ri=_.currentChar;return ri===61?Eu(_)===61?(Eu(_),8455996):8455998:ri===62?(Eu(_),10):1077936157}case 16842800:return Eu(_)!==61?16842800:Eu(_)!==61?8455999:(Eu(_),8455997);case 8457015:return Eu(_)!==61?8457015:(Eu(_),4194342);case 8457014:{if(Eu(_),_.index>=_.end)return 8457014;const ri=_.currentChar;return ri===61?(Eu(_),4194340):ri!==42?8457014:Eu(_)!==61?8457273:(Eu(_),4194337)}case 8455497:return Eu(_)!==61?8455497:(Eu(_),4194343);case 25233970:{Eu(_);const ri=_.currentChar;return ri===43?(Eu(_),33619995):ri===61?(Eu(_),4194338):25233970}case 25233971:{Eu(_);const ri=_.currentChar;if(ri===45){if(Eu(_),(1&w1||Ix)&&_.currentChar===62){(256&v0)==0&&Sn(_,108),Eu(_),w1=W2(_,Wx,w1,v0,3,_e,ot,Mt),_e=_.tokenPos,ot=_.linePos,Mt=_.colPos;continue}return 33619996}return ri===61?(Eu(_),4194339):25233971}case 8457016:if(Eu(_),_.index<_.end){const ri=_.currentChar;if(ri===47){Eu(_),w1=pt(_,Wx,w1,0,_.tokenPos,_.linePos,_.colPos),_e=_.tokenPos,ot=_.linePos,Mt=_.colPos;continue}if(ri===42){Eu(_),w1=b4(_,Wx,w1),_e=_.tokenPos,ot=_.linePos,Mt=_.colPos;continue}if(32768&v0)return M6(_,v0);if(ri===61)return Eu(_),4259877}return 8457016;case 67108877:const ur=Eu(_);if(ur>=48&&ur<=57)return xs(_,v0,80);if(ur===46){const ri=_.index+1;if(ri<_.end&&Wx.charCodeAt(ri)===46)return _.column+=2,_.currentChar=Wx.charCodeAt(_.index+=2),14}return 67108877;case 8455240:{Eu(_);const ri=_.currentChar;return ri===124?(Eu(_),_.currentChar===61?(Eu(_),4194346):8979003):ri===61?(Eu(_),4194344):8455240}case 8456259:{Eu(_);const ri=_.currentChar;if(ri===61)return Eu(_),8456001;if(ri!==62)return 8456259;if(Eu(_),_.index<_.end){const Ui=_.currentChar;if(Ui===62)return Eu(_)===61?(Eu(_),4194336):8456518;if(Ui===61)return Eu(_),4194335}return 8456517}case 8455751:{Eu(_);const ri=_.currentChar;return ri===38?(Eu(_),_.currentChar===61?(Eu(_),4194347):8979258):ri===61?(Eu(_),4194345):8455751}case 22:{let ri=Eu(_);if(ri===63)return Eu(_),_.currentChar===61?(Eu(_),4194348):276889982;if(ri===46){const Ui=_.index+1;if(Ui<_.end&&(ri=Wx.charCodeAt(Ui),!(ri>=48&&ri<=57)))return Eu(_),67108991}return 22}}}else{if((8232^nt)<=1){w1=-5&w1|1,px(_);continue}if((64512&nt)==55296||(1&vf[34816+(nt>>>5)]>>>nt)!=0)return(64512&nt)==56320&&(nt=(1023&nt)<<10|1023&nt|65536,(1&vf[0+(nt>>>5)]>>>nt)==0&&Sn(_,18,Tf(nt)),_.index++,_.currentChar=nt),_.column++,_.tokenValue=\"\",a6(_,v0,0,0);if((Ft=nt)===160||Ft===65279||Ft===133||Ft===5760||Ft>=8192&&Ft<=8203||Ft===8239||Ft===8287||Ft===12288||Ft===8201||Ft===65519){Eu(_);continue}Sn(_,18,Tf(nt))}}var Ft;return 1048576}const q2={AElig:\"\\xC6\",AMP:\"&\",Aacute:\"\\xC1\",Abreve:\"\\u0102\",Acirc:\"\\xC2\",Acy:\"\\u0410\",Afr:\"\\u{1D504}\",Agrave:\"\\xC0\",Alpha:\"\\u0391\",Amacr:\"\\u0100\",And:\"\\u2A53\",Aogon:\"\\u0104\",Aopf:\"\\u{1D538}\",ApplyFunction:\"\\u2061\",Aring:\"\\xC5\",Ascr:\"\\u{1D49C}\",Assign:\"\\u2254\",Atilde:\"\\xC3\",Auml:\"\\xC4\",Backslash:\"\\u2216\",Barv:\"\\u2AE7\",Barwed:\"\\u2306\",Bcy:\"\\u0411\",Because:\"\\u2235\",Bernoullis:\"\\u212C\",Beta:\"\\u0392\",Bfr:\"\\u{1D505}\",Bopf:\"\\u{1D539}\",Breve:\"\\u02D8\",Bscr:\"\\u212C\",Bumpeq:\"\\u224E\",CHcy:\"\\u0427\",COPY:\"\\xA9\",Cacute:\"\\u0106\",Cap:\"\\u22D2\",CapitalDifferentialD:\"\\u2145\",Cayleys:\"\\u212D\",Ccaron:\"\\u010C\",Ccedil:\"\\xC7\",Ccirc:\"\\u0108\",Cconint:\"\\u2230\",Cdot:\"\\u010A\",Cedilla:\"\\xB8\",CenterDot:\"\\xB7\",Cfr:\"\\u212D\",Chi:\"\\u03A7\",CircleDot:\"\\u2299\",CircleMinus:\"\\u2296\",CirclePlus:\"\\u2295\",CircleTimes:\"\\u2297\",ClockwiseContourIntegral:\"\\u2232\",CloseCurlyDoubleQuote:\"\\u201D\",CloseCurlyQuote:\"\\u2019\",Colon:\"\\u2237\",Colone:\"\\u2A74\",Congruent:\"\\u2261\",Conint:\"\\u222F\",ContourIntegral:\"\\u222E\",Copf:\"\\u2102\",Coproduct:\"\\u2210\",CounterClockwiseContourIntegral:\"\\u2233\",Cross:\"\\u2A2F\",Cscr:\"\\u{1D49E}\",Cup:\"\\u22D3\",CupCap:\"\\u224D\",DD:\"\\u2145\",DDotrahd:\"\\u2911\",DJcy:\"\\u0402\",DScy:\"\\u0405\",DZcy:\"\\u040F\",Dagger:\"\\u2021\",Darr:\"\\u21A1\",Dashv:\"\\u2AE4\",Dcaron:\"\\u010E\",Dcy:\"\\u0414\",Del:\"\\u2207\",Delta:\"\\u0394\",Dfr:\"\\u{1D507}\",DiacriticalAcute:\"\\xB4\",DiacriticalDot:\"\\u02D9\",DiacriticalDoubleAcute:\"\\u02DD\",DiacriticalGrave:\"`\",DiacriticalTilde:\"\\u02DC\",Diamond:\"\\u22C4\",DifferentialD:\"\\u2146\",Dopf:\"\\u{1D53B}\",Dot:\"\\xA8\",DotDot:\"\\u20DC\",DotEqual:\"\\u2250\",DoubleContourIntegral:\"\\u222F\",DoubleDot:\"\\xA8\",DoubleDownArrow:\"\\u21D3\",DoubleLeftArrow:\"\\u21D0\",DoubleLeftRightArrow:\"\\u21D4\",DoubleLeftTee:\"\\u2AE4\",DoubleLongLeftArrow:\"\\u27F8\",DoubleLongLeftRightArrow:\"\\u27FA\",DoubleLongRightArrow:\"\\u27F9\",DoubleRightArrow:\"\\u21D2\",DoubleRightTee:\"\\u22A8\",DoubleUpArrow:\"\\u21D1\",DoubleUpDownArrow:\"\\u21D5\",DoubleVerticalBar:\"\\u2225\",DownArrow:\"\\u2193\",DownArrowBar:\"\\u2913\",DownArrowUpArrow:\"\\u21F5\",DownBreve:\"\\u0311\",DownLeftRightVector:\"\\u2950\",DownLeftTeeVector:\"\\u295E\",DownLeftVector:\"\\u21BD\",DownLeftVectorBar:\"\\u2956\",DownRightTeeVector:\"\\u295F\",DownRightVector:\"\\u21C1\",DownRightVectorBar:\"\\u2957\",DownTee:\"\\u22A4\",DownTeeArrow:\"\\u21A7\",Downarrow:\"\\u21D3\",Dscr:\"\\u{1D49F}\",Dstrok:\"\\u0110\",ENG:\"\\u014A\",ETH:\"\\xD0\",Eacute:\"\\xC9\",Ecaron:\"\\u011A\",Ecirc:\"\\xCA\",Ecy:\"\\u042D\",Edot:\"\\u0116\",Efr:\"\\u{1D508}\",Egrave:\"\\xC8\",Element:\"\\u2208\",Emacr:\"\\u0112\",EmptySmallSquare:\"\\u25FB\",EmptyVerySmallSquare:\"\\u25AB\",Eogon:\"\\u0118\",Eopf:\"\\u{1D53C}\",Epsilon:\"\\u0395\",Equal:\"\\u2A75\",EqualTilde:\"\\u2242\",Equilibrium:\"\\u21CC\",Escr:\"\\u2130\",Esim:\"\\u2A73\",Eta:\"\\u0397\",Euml:\"\\xCB\",Exists:\"\\u2203\",ExponentialE:\"\\u2147\",Fcy:\"\\u0424\",Ffr:\"\\u{1D509}\",FilledSmallSquare:\"\\u25FC\",FilledVerySmallSquare:\"\\u25AA\",Fopf:\"\\u{1D53D}\",ForAll:\"\\u2200\",Fouriertrf:\"\\u2131\",Fscr:\"\\u2131\",GJcy:\"\\u0403\",GT:\">\",Gamma:\"\\u0393\",Gammad:\"\\u03DC\",Gbreve:\"\\u011E\",Gcedil:\"\\u0122\",Gcirc:\"\\u011C\",Gcy:\"\\u0413\",Gdot:\"\\u0120\",Gfr:\"\\u{1D50A}\",Gg:\"\\u22D9\",Gopf:\"\\u{1D53E}\",GreaterEqual:\"\\u2265\",GreaterEqualLess:\"\\u22DB\",GreaterFullEqual:\"\\u2267\",GreaterGreater:\"\\u2AA2\",GreaterLess:\"\\u2277\",GreaterSlantEqual:\"\\u2A7E\",GreaterTilde:\"\\u2273\",Gscr:\"\\u{1D4A2}\",Gt:\"\\u226B\",HARDcy:\"\\u042A\",Hacek:\"\\u02C7\",Hat:\"^\",Hcirc:\"\\u0124\",Hfr:\"\\u210C\",HilbertSpace:\"\\u210B\",Hopf:\"\\u210D\",HorizontalLine:\"\\u2500\",Hscr:\"\\u210B\",Hstrok:\"\\u0126\",HumpDownHump:\"\\u224E\",HumpEqual:\"\\u224F\",IEcy:\"\\u0415\",IJlig:\"\\u0132\",IOcy:\"\\u0401\",Iacute:\"\\xCD\",Icirc:\"\\xCE\",Icy:\"\\u0418\",Idot:\"\\u0130\",Ifr:\"\\u2111\",Igrave:\"\\xCC\",Im:\"\\u2111\",Imacr:\"\\u012A\",ImaginaryI:\"\\u2148\",Implies:\"\\u21D2\",Int:\"\\u222C\",Integral:\"\\u222B\",Intersection:\"\\u22C2\",InvisibleComma:\"\\u2063\",InvisibleTimes:\"\\u2062\",Iogon:\"\\u012E\",Iopf:\"\\u{1D540}\",Iota:\"\\u0399\",Iscr:\"\\u2110\",Itilde:\"\\u0128\",Iukcy:\"\\u0406\",Iuml:\"\\xCF\",Jcirc:\"\\u0134\",Jcy:\"\\u0419\",Jfr:\"\\u{1D50D}\",Jopf:\"\\u{1D541}\",Jscr:\"\\u{1D4A5}\",Jsercy:\"\\u0408\",Jukcy:\"\\u0404\",KHcy:\"\\u0425\",KJcy:\"\\u040C\",Kappa:\"\\u039A\",Kcedil:\"\\u0136\",Kcy:\"\\u041A\",Kfr:\"\\u{1D50E}\",Kopf:\"\\u{1D542}\",Kscr:\"\\u{1D4A6}\",LJcy:\"\\u0409\",LT:\"<\",Lacute:\"\\u0139\",Lambda:\"\\u039B\",Lang:\"\\u27EA\",Laplacetrf:\"\\u2112\",Larr:\"\\u219E\",Lcaron:\"\\u013D\",Lcedil:\"\\u013B\",Lcy:\"\\u041B\",LeftAngleBracket:\"\\u27E8\",LeftArrow:\"\\u2190\",LeftArrowBar:\"\\u21E4\",LeftArrowRightArrow:\"\\u21C6\",LeftCeiling:\"\\u2308\",LeftDoubleBracket:\"\\u27E6\",LeftDownTeeVector:\"\\u2961\",LeftDownVector:\"\\u21C3\",LeftDownVectorBar:\"\\u2959\",LeftFloor:\"\\u230A\",LeftRightArrow:\"\\u2194\",LeftRightVector:\"\\u294E\",LeftTee:\"\\u22A3\",LeftTeeArrow:\"\\u21A4\",LeftTeeVector:\"\\u295A\",LeftTriangle:\"\\u22B2\",LeftTriangleBar:\"\\u29CF\",LeftTriangleEqual:\"\\u22B4\",LeftUpDownVector:\"\\u2951\",LeftUpTeeVector:\"\\u2960\",LeftUpVector:\"\\u21BF\",LeftUpVectorBar:\"\\u2958\",LeftVector:\"\\u21BC\",LeftVectorBar:\"\\u2952\",Leftarrow:\"\\u21D0\",Leftrightarrow:\"\\u21D4\",LessEqualGreater:\"\\u22DA\",LessFullEqual:\"\\u2266\",LessGreater:\"\\u2276\",LessLess:\"\\u2AA1\",LessSlantEqual:\"\\u2A7D\",LessTilde:\"\\u2272\",Lfr:\"\\u{1D50F}\",Ll:\"\\u22D8\",Lleftarrow:\"\\u21DA\",Lmidot:\"\\u013F\",LongLeftArrow:\"\\u27F5\",LongLeftRightArrow:\"\\u27F7\",LongRightArrow:\"\\u27F6\",Longleftarrow:\"\\u27F8\",Longleftrightarrow:\"\\u27FA\",Longrightarrow:\"\\u27F9\",Lopf:\"\\u{1D543}\",LowerLeftArrow:\"\\u2199\",LowerRightArrow:\"\\u2198\",Lscr:\"\\u2112\",Lsh:\"\\u21B0\",Lstrok:\"\\u0141\",Lt:\"\\u226A\",Map:\"\\u2905\",Mcy:\"\\u041C\",MediumSpace:\"\\u205F\",Mellintrf:\"\\u2133\",Mfr:\"\\u{1D510}\",MinusPlus:\"\\u2213\",Mopf:\"\\u{1D544}\",Mscr:\"\\u2133\",Mu:\"\\u039C\",NJcy:\"\\u040A\",Nacute:\"\\u0143\",Ncaron:\"\\u0147\",Ncedil:\"\\u0145\",Ncy:\"\\u041D\",NegativeMediumSpace:\"\\u200B\",NegativeThickSpace:\"\\u200B\",NegativeThinSpace:\"\\u200B\",NegativeVeryThinSpace:\"\\u200B\",NestedGreaterGreater:\"\\u226B\",NestedLessLess:\"\\u226A\",NewLine:`\n`,Nfr:\"\\u{1D511}\",NoBreak:\"\\u2060\",NonBreakingSpace:\"\\xA0\",Nopf:\"\\u2115\",Not:\"\\u2AEC\",NotCongruent:\"\\u2262\",NotCupCap:\"\\u226D\",NotDoubleVerticalBar:\"\\u2226\",NotElement:\"\\u2209\",NotEqual:\"\\u2260\",NotEqualTilde:\"\\u2242\\u0338\",NotExists:\"\\u2204\",NotGreater:\"\\u226F\",NotGreaterEqual:\"\\u2271\",NotGreaterFullEqual:\"\\u2267\\u0338\",NotGreaterGreater:\"\\u226B\\u0338\",NotGreaterLess:\"\\u2279\",NotGreaterSlantEqual:\"\\u2A7E\\u0338\",NotGreaterTilde:\"\\u2275\",NotHumpDownHump:\"\\u224E\\u0338\",NotHumpEqual:\"\\u224F\\u0338\",NotLeftTriangle:\"\\u22EA\",NotLeftTriangleBar:\"\\u29CF\\u0338\",NotLeftTriangleEqual:\"\\u22EC\",NotLess:\"\\u226E\",NotLessEqual:\"\\u2270\",NotLessGreater:\"\\u2278\",NotLessLess:\"\\u226A\\u0338\",NotLessSlantEqual:\"\\u2A7D\\u0338\",NotLessTilde:\"\\u2274\",NotNestedGreaterGreater:\"\\u2AA2\\u0338\",NotNestedLessLess:\"\\u2AA1\\u0338\",NotPrecedes:\"\\u2280\",NotPrecedesEqual:\"\\u2AAF\\u0338\",NotPrecedesSlantEqual:\"\\u22E0\",NotReverseElement:\"\\u220C\",NotRightTriangle:\"\\u22EB\",NotRightTriangleBar:\"\\u29D0\\u0338\",NotRightTriangleEqual:\"\\u22ED\",NotSquareSubset:\"\\u228F\\u0338\",NotSquareSubsetEqual:\"\\u22E2\",NotSquareSuperset:\"\\u2290\\u0338\",NotSquareSupersetEqual:\"\\u22E3\",NotSubset:\"\\u2282\\u20D2\",NotSubsetEqual:\"\\u2288\",NotSucceeds:\"\\u2281\",NotSucceedsEqual:\"\\u2AB0\\u0338\",NotSucceedsSlantEqual:\"\\u22E1\",NotSucceedsTilde:\"\\u227F\\u0338\",NotSuperset:\"\\u2283\\u20D2\",NotSupersetEqual:\"\\u2289\",NotTilde:\"\\u2241\",NotTildeEqual:\"\\u2244\",NotTildeFullEqual:\"\\u2247\",NotTildeTilde:\"\\u2249\",NotVerticalBar:\"\\u2224\",Nscr:\"\\u{1D4A9}\",Ntilde:\"\\xD1\",Nu:\"\\u039D\",OElig:\"\\u0152\",Oacute:\"\\xD3\",Ocirc:\"\\xD4\",Ocy:\"\\u041E\",Odblac:\"\\u0150\",Ofr:\"\\u{1D512}\",Ograve:\"\\xD2\",Omacr:\"\\u014C\",Omega:\"\\u03A9\",Omicron:\"\\u039F\",Oopf:\"\\u{1D546}\",OpenCurlyDoubleQuote:\"\\u201C\",OpenCurlyQuote:\"\\u2018\",Or:\"\\u2A54\",Oscr:\"\\u{1D4AA}\",Oslash:\"\\xD8\",Otilde:\"\\xD5\",Otimes:\"\\u2A37\",Ouml:\"\\xD6\",OverBar:\"\\u203E\",OverBrace:\"\\u23DE\",OverBracket:\"\\u23B4\",OverParenthesis:\"\\u23DC\",PartialD:\"\\u2202\",Pcy:\"\\u041F\",Pfr:\"\\u{1D513}\",Phi:\"\\u03A6\",Pi:\"\\u03A0\",PlusMinus:\"\\xB1\",Poincareplane:\"\\u210C\",Popf:\"\\u2119\",Pr:\"\\u2ABB\",Precedes:\"\\u227A\",PrecedesEqual:\"\\u2AAF\",PrecedesSlantEqual:\"\\u227C\",PrecedesTilde:\"\\u227E\",Prime:\"\\u2033\",Product:\"\\u220F\",Proportion:\"\\u2237\",Proportional:\"\\u221D\",Pscr:\"\\u{1D4AB}\",Psi:\"\\u03A8\",QUOT:'\"',Qfr:\"\\u{1D514}\",Qopf:\"\\u211A\",Qscr:\"\\u{1D4AC}\",RBarr:\"\\u2910\",REG:\"\\xAE\",Racute:\"\\u0154\",Rang:\"\\u27EB\",Rarr:\"\\u21A0\",Rarrtl:\"\\u2916\",Rcaron:\"\\u0158\",Rcedil:\"\\u0156\",Rcy:\"\\u0420\",Re:\"\\u211C\",ReverseElement:\"\\u220B\",ReverseEquilibrium:\"\\u21CB\",ReverseUpEquilibrium:\"\\u296F\",Rfr:\"\\u211C\",Rho:\"\\u03A1\",RightAngleBracket:\"\\u27E9\",RightArrow:\"\\u2192\",RightArrowBar:\"\\u21E5\",RightArrowLeftArrow:\"\\u21C4\",RightCeiling:\"\\u2309\",RightDoubleBracket:\"\\u27E7\",RightDownTeeVector:\"\\u295D\",RightDownVector:\"\\u21C2\",RightDownVectorBar:\"\\u2955\",RightFloor:\"\\u230B\",RightTee:\"\\u22A2\",RightTeeArrow:\"\\u21A6\",RightTeeVector:\"\\u295B\",RightTriangle:\"\\u22B3\",RightTriangleBar:\"\\u29D0\",RightTriangleEqual:\"\\u22B5\",RightUpDownVector:\"\\u294F\",RightUpTeeVector:\"\\u295C\",RightUpVector:\"\\u21BE\",RightUpVectorBar:\"\\u2954\",RightVector:\"\\u21C0\",RightVectorBar:\"\\u2953\",Rightarrow:\"\\u21D2\",Ropf:\"\\u211D\",RoundImplies:\"\\u2970\",Rrightarrow:\"\\u21DB\",Rscr:\"\\u211B\",Rsh:\"\\u21B1\",RuleDelayed:\"\\u29F4\",SHCHcy:\"\\u0429\",SHcy:\"\\u0428\",SOFTcy:\"\\u042C\",Sacute:\"\\u015A\",Sc:\"\\u2ABC\",Scaron:\"\\u0160\",Scedil:\"\\u015E\",Scirc:\"\\u015C\",Scy:\"\\u0421\",Sfr:\"\\u{1D516}\",ShortDownArrow:\"\\u2193\",ShortLeftArrow:\"\\u2190\",ShortRightArrow:\"\\u2192\",ShortUpArrow:\"\\u2191\",Sigma:\"\\u03A3\",SmallCircle:\"\\u2218\",Sopf:\"\\u{1D54A}\",Sqrt:\"\\u221A\",Square:\"\\u25A1\",SquareIntersection:\"\\u2293\",SquareSubset:\"\\u228F\",SquareSubsetEqual:\"\\u2291\",SquareSuperset:\"\\u2290\",SquareSupersetEqual:\"\\u2292\",SquareUnion:\"\\u2294\",Sscr:\"\\u{1D4AE}\",Star:\"\\u22C6\",Sub:\"\\u22D0\",Subset:\"\\u22D0\",SubsetEqual:\"\\u2286\",Succeeds:\"\\u227B\",SucceedsEqual:\"\\u2AB0\",SucceedsSlantEqual:\"\\u227D\",SucceedsTilde:\"\\u227F\",SuchThat:\"\\u220B\",Sum:\"\\u2211\",Sup:\"\\u22D1\",Superset:\"\\u2283\",SupersetEqual:\"\\u2287\",Supset:\"\\u22D1\",THORN:\"\\xDE\",TRADE:\"\\u2122\",TSHcy:\"\\u040B\",TScy:\"\\u0426\",Tab:\"\t\",Tau:\"\\u03A4\",Tcaron:\"\\u0164\",Tcedil:\"\\u0162\",Tcy:\"\\u0422\",Tfr:\"\\u{1D517}\",Therefore:\"\\u2234\",Theta:\"\\u0398\",ThickSpace:\"\\u205F\\u200A\",ThinSpace:\"\\u2009\",Tilde:\"\\u223C\",TildeEqual:\"\\u2243\",TildeFullEqual:\"\\u2245\",TildeTilde:\"\\u2248\",Topf:\"\\u{1D54B}\",TripleDot:\"\\u20DB\",Tscr:\"\\u{1D4AF}\",Tstrok:\"\\u0166\",Uacute:\"\\xDA\",Uarr:\"\\u219F\",Uarrocir:\"\\u2949\",Ubrcy:\"\\u040E\",Ubreve:\"\\u016C\",Ucirc:\"\\xDB\",Ucy:\"\\u0423\",Udblac:\"\\u0170\",Ufr:\"\\u{1D518}\",Ugrave:\"\\xD9\",Umacr:\"\\u016A\",UnderBar:\"_\",UnderBrace:\"\\u23DF\",UnderBracket:\"\\u23B5\",UnderParenthesis:\"\\u23DD\",Union:\"\\u22C3\",UnionPlus:\"\\u228E\",Uogon:\"\\u0172\",Uopf:\"\\u{1D54C}\",UpArrow:\"\\u2191\",UpArrowBar:\"\\u2912\",UpArrowDownArrow:\"\\u21C5\",UpDownArrow:\"\\u2195\",UpEquilibrium:\"\\u296E\",UpTee:\"\\u22A5\",UpTeeArrow:\"\\u21A5\",Uparrow:\"\\u21D1\",Updownarrow:\"\\u21D5\",UpperLeftArrow:\"\\u2196\",UpperRightArrow:\"\\u2197\",Upsi:\"\\u03D2\",Upsilon:\"\\u03A5\",Uring:\"\\u016E\",Uscr:\"\\u{1D4B0}\",Utilde:\"\\u0168\",Uuml:\"\\xDC\",VDash:\"\\u22AB\",Vbar:\"\\u2AEB\",Vcy:\"\\u0412\",Vdash:\"\\u22A9\",Vdashl:\"\\u2AE6\",Vee:\"\\u22C1\",Verbar:\"\\u2016\",Vert:\"\\u2016\",VerticalBar:\"\\u2223\",VerticalLine:\"|\",VerticalSeparator:\"\\u2758\",VerticalTilde:\"\\u2240\",VeryThinSpace:\"\\u200A\",Vfr:\"\\u{1D519}\",Vopf:\"\\u{1D54D}\",Vscr:\"\\u{1D4B1}\",Vvdash:\"\\u22AA\",Wcirc:\"\\u0174\",Wedge:\"\\u22C0\",Wfr:\"\\u{1D51A}\",Wopf:\"\\u{1D54E}\",Wscr:\"\\u{1D4B2}\",Xfr:\"\\u{1D51B}\",Xi:\"\\u039E\",Xopf:\"\\u{1D54F}\",Xscr:\"\\u{1D4B3}\",YAcy:\"\\u042F\",YIcy:\"\\u0407\",YUcy:\"\\u042E\",Yacute:\"\\xDD\",Ycirc:\"\\u0176\",Ycy:\"\\u042B\",Yfr:\"\\u{1D51C}\",Yopf:\"\\u{1D550}\",Yscr:\"\\u{1D4B4}\",Yuml:\"\\u0178\",ZHcy:\"\\u0416\",Zacute:\"\\u0179\",Zcaron:\"\\u017D\",Zcy:\"\\u0417\",Zdot:\"\\u017B\",ZeroWidthSpace:\"\\u200B\",Zeta:\"\\u0396\",Zfr:\"\\u2128\",Zopf:\"\\u2124\",Zscr:\"\\u{1D4B5}\",aacute:\"\\xE1\",abreve:\"\\u0103\",ac:\"\\u223E\",acE:\"\\u223E\\u0333\",acd:\"\\u223F\",acirc:\"\\xE2\",acute:\"\\xB4\",acy:\"\\u0430\",aelig:\"\\xE6\",af:\"\\u2061\",afr:\"\\u{1D51E}\",agrave:\"\\xE0\",alefsym:\"\\u2135\",aleph:\"\\u2135\",alpha:\"\\u03B1\",amacr:\"\\u0101\",amalg:\"\\u2A3F\",amp:\"&\",and:\"\\u2227\",andand:\"\\u2A55\",andd:\"\\u2A5C\",andslope:\"\\u2A58\",andv:\"\\u2A5A\",ang:\"\\u2220\",ange:\"\\u29A4\",angle:\"\\u2220\",angmsd:\"\\u2221\",angmsdaa:\"\\u29A8\",angmsdab:\"\\u29A9\",angmsdac:\"\\u29AA\",angmsdad:\"\\u29AB\",angmsdae:\"\\u29AC\",angmsdaf:\"\\u29AD\",angmsdag:\"\\u29AE\",angmsdah:\"\\u29AF\",angrt:\"\\u221F\",angrtvb:\"\\u22BE\",angrtvbd:\"\\u299D\",angsph:\"\\u2222\",angst:\"\\xC5\",angzarr:\"\\u237C\",aogon:\"\\u0105\",aopf:\"\\u{1D552}\",ap:\"\\u2248\",apE:\"\\u2A70\",apacir:\"\\u2A6F\",ape:\"\\u224A\",apid:\"\\u224B\",apos:\"'\",approx:\"\\u2248\",approxeq:\"\\u224A\",aring:\"\\xE5\",ascr:\"\\u{1D4B6}\",ast:\"*\",asymp:\"\\u2248\",asympeq:\"\\u224D\",atilde:\"\\xE3\",auml:\"\\xE4\",awconint:\"\\u2233\",awint:\"\\u2A11\",bNot:\"\\u2AED\",backcong:\"\\u224C\",backepsilon:\"\\u03F6\",backprime:\"\\u2035\",backsim:\"\\u223D\",backsimeq:\"\\u22CD\",barvee:\"\\u22BD\",barwed:\"\\u2305\",barwedge:\"\\u2305\",bbrk:\"\\u23B5\",bbrktbrk:\"\\u23B6\",bcong:\"\\u224C\",bcy:\"\\u0431\",bdquo:\"\\u201E\",becaus:\"\\u2235\",because:\"\\u2235\",bemptyv:\"\\u29B0\",bepsi:\"\\u03F6\",bernou:\"\\u212C\",beta:\"\\u03B2\",beth:\"\\u2136\",between:\"\\u226C\",bfr:\"\\u{1D51F}\",bigcap:\"\\u22C2\",bigcirc:\"\\u25EF\",bigcup:\"\\u22C3\",bigodot:\"\\u2A00\",bigoplus:\"\\u2A01\",bigotimes:\"\\u2A02\",bigsqcup:\"\\u2A06\",bigstar:\"\\u2605\",bigtriangledown:\"\\u25BD\",bigtriangleup:\"\\u25B3\",biguplus:\"\\u2A04\",bigvee:\"\\u22C1\",bigwedge:\"\\u22C0\",bkarow:\"\\u290D\",blacklozenge:\"\\u29EB\",blacksquare:\"\\u25AA\",blacktriangle:\"\\u25B4\",blacktriangledown:\"\\u25BE\",blacktriangleleft:\"\\u25C2\",blacktriangleright:\"\\u25B8\",blank:\"\\u2423\",blk12:\"\\u2592\",blk14:\"\\u2591\",blk34:\"\\u2593\",block:\"\\u2588\",bne:\"=\\u20E5\",bnequiv:\"\\u2261\\u20E5\",bnot:\"\\u2310\",bopf:\"\\u{1D553}\",bot:\"\\u22A5\",bottom:\"\\u22A5\",bowtie:\"\\u22C8\",boxDL:\"\\u2557\",boxDR:\"\\u2554\",boxDl:\"\\u2556\",boxDr:\"\\u2553\",boxH:\"\\u2550\",boxHD:\"\\u2566\",boxHU:\"\\u2569\",boxHd:\"\\u2564\",boxHu:\"\\u2567\",boxUL:\"\\u255D\",boxUR:\"\\u255A\",boxUl:\"\\u255C\",boxUr:\"\\u2559\",boxV:\"\\u2551\",boxVH:\"\\u256C\",boxVL:\"\\u2563\",boxVR:\"\\u2560\",boxVh:\"\\u256B\",boxVl:\"\\u2562\",boxVr:\"\\u255F\",boxbox:\"\\u29C9\",boxdL:\"\\u2555\",boxdR:\"\\u2552\",boxdl:\"\\u2510\",boxdr:\"\\u250C\",boxh:\"\\u2500\",boxhD:\"\\u2565\",boxhU:\"\\u2568\",boxhd:\"\\u252C\",boxhu:\"\\u2534\",boxminus:\"\\u229F\",boxplus:\"\\u229E\",boxtimes:\"\\u22A0\",boxuL:\"\\u255B\",boxuR:\"\\u2558\",boxul:\"\\u2518\",boxur:\"\\u2514\",boxv:\"\\u2502\",boxvH:\"\\u256A\",boxvL:\"\\u2561\",boxvR:\"\\u255E\",boxvh:\"\\u253C\",boxvl:\"\\u2524\",boxvr:\"\\u251C\",bprime:\"\\u2035\",breve:\"\\u02D8\",brvbar:\"\\xA6\",bscr:\"\\u{1D4B7}\",bsemi:\"\\u204F\",bsim:\"\\u223D\",bsime:\"\\u22CD\",bsol:\"\\\\\",bsolb:\"\\u29C5\",bsolhsub:\"\\u27C8\",bull:\"\\u2022\",bullet:\"\\u2022\",bump:\"\\u224E\",bumpE:\"\\u2AAE\",bumpe:\"\\u224F\",bumpeq:\"\\u224F\",cacute:\"\\u0107\",cap:\"\\u2229\",capand:\"\\u2A44\",capbrcup:\"\\u2A49\",capcap:\"\\u2A4B\",capcup:\"\\u2A47\",capdot:\"\\u2A40\",caps:\"\\u2229\\uFE00\",caret:\"\\u2041\",caron:\"\\u02C7\",ccaps:\"\\u2A4D\",ccaron:\"\\u010D\",ccedil:\"\\xE7\",ccirc:\"\\u0109\",ccups:\"\\u2A4C\",ccupssm:\"\\u2A50\",cdot:\"\\u010B\",cedil:\"\\xB8\",cemptyv:\"\\u29B2\",cent:\"\\xA2\",centerdot:\"\\xB7\",cfr:\"\\u{1D520}\",chcy:\"\\u0447\",check:\"\\u2713\",checkmark:\"\\u2713\",chi:\"\\u03C7\",cir:\"\\u25CB\",cirE:\"\\u29C3\",circ:\"\\u02C6\",circeq:\"\\u2257\",circlearrowleft:\"\\u21BA\",circlearrowright:\"\\u21BB\",circledR:\"\\xAE\",circledS:\"\\u24C8\",circledast:\"\\u229B\",circledcirc:\"\\u229A\",circleddash:\"\\u229D\",cire:\"\\u2257\",cirfnint:\"\\u2A10\",cirmid:\"\\u2AEF\",cirscir:\"\\u29C2\",clubs:\"\\u2663\",clubsuit:\"\\u2663\",colon:\":\",colone:\"\\u2254\",coloneq:\"\\u2254\",comma:\",\",commat:\"@\",comp:\"\\u2201\",compfn:\"\\u2218\",complement:\"\\u2201\",complexes:\"\\u2102\",cong:\"\\u2245\",congdot:\"\\u2A6D\",conint:\"\\u222E\",copf:\"\\u{1D554}\",coprod:\"\\u2210\",copy:\"\\xA9\",copysr:\"\\u2117\",crarr:\"\\u21B5\",cross:\"\\u2717\",cscr:\"\\u{1D4B8}\",csub:\"\\u2ACF\",csube:\"\\u2AD1\",csup:\"\\u2AD0\",csupe:\"\\u2AD2\",ctdot:\"\\u22EF\",cudarrl:\"\\u2938\",cudarrr:\"\\u2935\",cuepr:\"\\u22DE\",cuesc:\"\\u22DF\",cularr:\"\\u21B6\",cularrp:\"\\u293D\",cup:\"\\u222A\",cupbrcap:\"\\u2A48\",cupcap:\"\\u2A46\",cupcup:\"\\u2A4A\",cupdot:\"\\u228D\",cupor:\"\\u2A45\",cups:\"\\u222A\\uFE00\",curarr:\"\\u21B7\",curarrm:\"\\u293C\",curlyeqprec:\"\\u22DE\",curlyeqsucc:\"\\u22DF\",curlyvee:\"\\u22CE\",curlywedge:\"\\u22CF\",curren:\"\\xA4\",curvearrowleft:\"\\u21B6\",curvearrowright:\"\\u21B7\",cuvee:\"\\u22CE\",cuwed:\"\\u22CF\",cwconint:\"\\u2232\",cwint:\"\\u2231\",cylcty:\"\\u232D\",dArr:\"\\u21D3\",dHar:\"\\u2965\",dagger:\"\\u2020\",daleth:\"\\u2138\",darr:\"\\u2193\",dash:\"\\u2010\",dashv:\"\\u22A3\",dbkarow:\"\\u290F\",dblac:\"\\u02DD\",dcaron:\"\\u010F\",dcy:\"\\u0434\",dd:\"\\u2146\",ddagger:\"\\u2021\",ddarr:\"\\u21CA\",ddotseq:\"\\u2A77\",deg:\"\\xB0\",delta:\"\\u03B4\",demptyv:\"\\u29B1\",dfisht:\"\\u297F\",dfr:\"\\u{1D521}\",dharl:\"\\u21C3\",dharr:\"\\u21C2\",diam:\"\\u22C4\",diamond:\"\\u22C4\",diamondsuit:\"\\u2666\",diams:\"\\u2666\",die:\"\\xA8\",digamma:\"\\u03DD\",disin:\"\\u22F2\",div:\"\\xF7\",divide:\"\\xF7\",divideontimes:\"\\u22C7\",divonx:\"\\u22C7\",djcy:\"\\u0452\",dlcorn:\"\\u231E\",dlcrop:\"\\u230D\",dollar:\"$\",dopf:\"\\u{1D555}\",dot:\"\\u02D9\",doteq:\"\\u2250\",doteqdot:\"\\u2251\",dotminus:\"\\u2238\",dotplus:\"\\u2214\",dotsquare:\"\\u22A1\",doublebarwedge:\"\\u2306\",downarrow:\"\\u2193\",downdownarrows:\"\\u21CA\",downharpoonleft:\"\\u21C3\",downharpoonright:\"\\u21C2\",drbkarow:\"\\u2910\",drcorn:\"\\u231F\",drcrop:\"\\u230C\",dscr:\"\\u{1D4B9}\",dscy:\"\\u0455\",dsol:\"\\u29F6\",dstrok:\"\\u0111\",dtdot:\"\\u22F1\",dtri:\"\\u25BF\",dtrif:\"\\u25BE\",duarr:\"\\u21F5\",duhar:\"\\u296F\",dwangle:\"\\u29A6\",dzcy:\"\\u045F\",dzigrarr:\"\\u27FF\",eDDot:\"\\u2A77\",eDot:\"\\u2251\",eacute:\"\\xE9\",easter:\"\\u2A6E\",ecaron:\"\\u011B\",ecir:\"\\u2256\",ecirc:\"\\xEA\",ecolon:\"\\u2255\",ecy:\"\\u044D\",edot:\"\\u0117\",ee:\"\\u2147\",efDot:\"\\u2252\",efr:\"\\u{1D522}\",eg:\"\\u2A9A\",egrave:\"\\xE8\",egs:\"\\u2A96\",egsdot:\"\\u2A98\",el:\"\\u2A99\",elinters:\"\\u23E7\",ell:\"\\u2113\",els:\"\\u2A95\",elsdot:\"\\u2A97\",emacr:\"\\u0113\",empty:\"\\u2205\",emptyset:\"\\u2205\",emptyv:\"\\u2205\",emsp13:\"\\u2004\",emsp14:\"\\u2005\",emsp:\"\\u2003\",eng:\"\\u014B\",ensp:\"\\u2002\",eogon:\"\\u0119\",eopf:\"\\u{1D556}\",epar:\"\\u22D5\",eparsl:\"\\u29E3\",eplus:\"\\u2A71\",epsi:\"\\u03B5\",epsilon:\"\\u03B5\",epsiv:\"\\u03F5\",eqcirc:\"\\u2256\",eqcolon:\"\\u2255\",eqsim:\"\\u2242\",eqslantgtr:\"\\u2A96\",eqslantless:\"\\u2A95\",equals:\"=\",equest:\"\\u225F\",equiv:\"\\u2261\",equivDD:\"\\u2A78\",eqvparsl:\"\\u29E5\",erDot:\"\\u2253\",erarr:\"\\u2971\",escr:\"\\u212F\",esdot:\"\\u2250\",esim:\"\\u2242\",eta:\"\\u03B7\",eth:\"\\xF0\",euml:\"\\xEB\",euro:\"\\u20AC\",excl:\"!\",exist:\"\\u2203\",expectation:\"\\u2130\",exponentiale:\"\\u2147\",fallingdotseq:\"\\u2252\",fcy:\"\\u0444\",female:\"\\u2640\",ffilig:\"\\uFB03\",fflig:\"\\uFB00\",ffllig:\"\\uFB04\",ffr:\"\\u{1D523}\",filig:\"\\uFB01\",fjlig:\"fj\",flat:\"\\u266D\",fllig:\"\\uFB02\",fltns:\"\\u25B1\",fnof:\"\\u0192\",fopf:\"\\u{1D557}\",forall:\"\\u2200\",fork:\"\\u22D4\",forkv:\"\\u2AD9\",fpartint:\"\\u2A0D\",frac12:\"\\xBD\",frac13:\"\\u2153\",frac14:\"\\xBC\",frac15:\"\\u2155\",frac16:\"\\u2159\",frac18:\"\\u215B\",frac23:\"\\u2154\",frac25:\"\\u2156\",frac34:\"\\xBE\",frac35:\"\\u2157\",frac38:\"\\u215C\",frac45:\"\\u2158\",frac56:\"\\u215A\",frac58:\"\\u215D\",frac78:\"\\u215E\",frasl:\"\\u2044\",frown:\"\\u2322\",fscr:\"\\u{1D4BB}\",gE:\"\\u2267\",gEl:\"\\u2A8C\",gacute:\"\\u01F5\",gamma:\"\\u03B3\",gammad:\"\\u03DD\",gap:\"\\u2A86\",gbreve:\"\\u011F\",gcirc:\"\\u011D\",gcy:\"\\u0433\",gdot:\"\\u0121\",ge:\"\\u2265\",gel:\"\\u22DB\",geq:\"\\u2265\",geqq:\"\\u2267\",geqslant:\"\\u2A7E\",ges:\"\\u2A7E\",gescc:\"\\u2AA9\",gesdot:\"\\u2A80\",gesdoto:\"\\u2A82\",gesdotol:\"\\u2A84\",gesl:\"\\u22DB\\uFE00\",gesles:\"\\u2A94\",gfr:\"\\u{1D524}\",gg:\"\\u226B\",ggg:\"\\u22D9\",gimel:\"\\u2137\",gjcy:\"\\u0453\",gl:\"\\u2277\",glE:\"\\u2A92\",gla:\"\\u2AA5\",glj:\"\\u2AA4\",gnE:\"\\u2269\",gnap:\"\\u2A8A\",gnapprox:\"\\u2A8A\",gne:\"\\u2A88\",gneq:\"\\u2A88\",gneqq:\"\\u2269\",gnsim:\"\\u22E7\",gopf:\"\\u{1D558}\",grave:\"`\",gscr:\"\\u210A\",gsim:\"\\u2273\",gsime:\"\\u2A8E\",gsiml:\"\\u2A90\",gt:\">\",gtcc:\"\\u2AA7\",gtcir:\"\\u2A7A\",gtdot:\"\\u22D7\",gtlPar:\"\\u2995\",gtquest:\"\\u2A7C\",gtrapprox:\"\\u2A86\",gtrarr:\"\\u2978\",gtrdot:\"\\u22D7\",gtreqless:\"\\u22DB\",gtreqqless:\"\\u2A8C\",gtrless:\"\\u2277\",gtrsim:\"\\u2273\",gvertneqq:\"\\u2269\\uFE00\",gvnE:\"\\u2269\\uFE00\",hArr:\"\\u21D4\",hairsp:\"\\u200A\",half:\"\\xBD\",hamilt:\"\\u210B\",hardcy:\"\\u044A\",harr:\"\\u2194\",harrcir:\"\\u2948\",harrw:\"\\u21AD\",hbar:\"\\u210F\",hcirc:\"\\u0125\",hearts:\"\\u2665\",heartsuit:\"\\u2665\",hellip:\"\\u2026\",hercon:\"\\u22B9\",hfr:\"\\u{1D525}\",hksearow:\"\\u2925\",hkswarow:\"\\u2926\",hoarr:\"\\u21FF\",homtht:\"\\u223B\",hookleftarrow:\"\\u21A9\",hookrightarrow:\"\\u21AA\",hopf:\"\\u{1D559}\",horbar:\"\\u2015\",hscr:\"\\u{1D4BD}\",hslash:\"\\u210F\",hstrok:\"\\u0127\",hybull:\"\\u2043\",hyphen:\"\\u2010\",iacute:\"\\xED\",ic:\"\\u2063\",icirc:\"\\xEE\",icy:\"\\u0438\",iecy:\"\\u0435\",iexcl:\"\\xA1\",iff:\"\\u21D4\",ifr:\"\\u{1D526}\",igrave:\"\\xEC\",ii:\"\\u2148\",iiiint:\"\\u2A0C\",iiint:\"\\u222D\",iinfin:\"\\u29DC\",iiota:\"\\u2129\",ijlig:\"\\u0133\",imacr:\"\\u012B\",image:\"\\u2111\",imagline:\"\\u2110\",imagpart:\"\\u2111\",imath:\"\\u0131\",imof:\"\\u22B7\",imped:\"\\u01B5\",in:\"\\u2208\",incare:\"\\u2105\",infin:\"\\u221E\",infintie:\"\\u29DD\",inodot:\"\\u0131\",int:\"\\u222B\",intcal:\"\\u22BA\",integers:\"\\u2124\",intercal:\"\\u22BA\",intlarhk:\"\\u2A17\",intprod:\"\\u2A3C\",iocy:\"\\u0451\",iogon:\"\\u012F\",iopf:\"\\u{1D55A}\",iota:\"\\u03B9\",iprod:\"\\u2A3C\",iquest:\"\\xBF\",iscr:\"\\u{1D4BE}\",isin:\"\\u2208\",isinE:\"\\u22F9\",isindot:\"\\u22F5\",isins:\"\\u22F4\",isinsv:\"\\u22F3\",isinv:\"\\u2208\",it:\"\\u2062\",itilde:\"\\u0129\",iukcy:\"\\u0456\",iuml:\"\\xEF\",jcirc:\"\\u0135\",jcy:\"\\u0439\",jfr:\"\\u{1D527}\",jmath:\"\\u0237\",jopf:\"\\u{1D55B}\",jscr:\"\\u{1D4BF}\",jsercy:\"\\u0458\",jukcy:\"\\u0454\",kappa:\"\\u03BA\",kappav:\"\\u03F0\",kcedil:\"\\u0137\",kcy:\"\\u043A\",kfr:\"\\u{1D528}\",kgreen:\"\\u0138\",khcy:\"\\u0445\",kjcy:\"\\u045C\",kopf:\"\\u{1D55C}\",kscr:\"\\u{1D4C0}\",lAarr:\"\\u21DA\",lArr:\"\\u21D0\",lAtail:\"\\u291B\",lBarr:\"\\u290E\",lE:\"\\u2266\",lEg:\"\\u2A8B\",lHar:\"\\u2962\",lacute:\"\\u013A\",laemptyv:\"\\u29B4\",lagran:\"\\u2112\",lambda:\"\\u03BB\",lang:\"\\u27E8\",langd:\"\\u2991\",langle:\"\\u27E8\",lap:\"\\u2A85\",laquo:\"\\xAB\",larr:\"\\u2190\",larrb:\"\\u21E4\",larrbfs:\"\\u291F\",larrfs:\"\\u291D\",larrhk:\"\\u21A9\",larrlp:\"\\u21AB\",larrpl:\"\\u2939\",larrsim:\"\\u2973\",larrtl:\"\\u21A2\",lat:\"\\u2AAB\",latail:\"\\u2919\",late:\"\\u2AAD\",lates:\"\\u2AAD\\uFE00\",lbarr:\"\\u290C\",lbbrk:\"\\u2772\",lbrace:\"{\",lbrack:\"[\",lbrke:\"\\u298B\",lbrksld:\"\\u298F\",lbrkslu:\"\\u298D\",lcaron:\"\\u013E\",lcedil:\"\\u013C\",lceil:\"\\u2308\",lcub:\"{\",lcy:\"\\u043B\",ldca:\"\\u2936\",ldquo:\"\\u201C\",ldquor:\"\\u201E\",ldrdhar:\"\\u2967\",ldrushar:\"\\u294B\",ldsh:\"\\u21B2\",le:\"\\u2264\",leftarrow:\"\\u2190\",leftarrowtail:\"\\u21A2\",leftharpoondown:\"\\u21BD\",leftharpoonup:\"\\u21BC\",leftleftarrows:\"\\u21C7\",leftrightarrow:\"\\u2194\",leftrightarrows:\"\\u21C6\",leftrightharpoons:\"\\u21CB\",leftrightsquigarrow:\"\\u21AD\",leftthreetimes:\"\\u22CB\",leg:\"\\u22DA\",leq:\"\\u2264\",leqq:\"\\u2266\",leqslant:\"\\u2A7D\",les:\"\\u2A7D\",lescc:\"\\u2AA8\",lesdot:\"\\u2A7F\",lesdoto:\"\\u2A81\",lesdotor:\"\\u2A83\",lesg:\"\\u22DA\\uFE00\",lesges:\"\\u2A93\",lessapprox:\"\\u2A85\",lessdot:\"\\u22D6\",lesseqgtr:\"\\u22DA\",lesseqqgtr:\"\\u2A8B\",lessgtr:\"\\u2276\",lesssim:\"\\u2272\",lfisht:\"\\u297C\",lfloor:\"\\u230A\",lfr:\"\\u{1D529}\",lg:\"\\u2276\",lgE:\"\\u2A91\",lhard:\"\\u21BD\",lharu:\"\\u21BC\",lharul:\"\\u296A\",lhblk:\"\\u2584\",ljcy:\"\\u0459\",ll:\"\\u226A\",llarr:\"\\u21C7\",llcorner:\"\\u231E\",llhard:\"\\u296B\",lltri:\"\\u25FA\",lmidot:\"\\u0140\",lmoust:\"\\u23B0\",lmoustache:\"\\u23B0\",lnE:\"\\u2268\",lnap:\"\\u2A89\",lnapprox:\"\\u2A89\",lne:\"\\u2A87\",lneq:\"\\u2A87\",lneqq:\"\\u2268\",lnsim:\"\\u22E6\",loang:\"\\u27EC\",loarr:\"\\u21FD\",lobrk:\"\\u27E6\",longleftarrow:\"\\u27F5\",longleftrightarrow:\"\\u27F7\",longmapsto:\"\\u27FC\",longrightarrow:\"\\u27F6\",looparrowleft:\"\\u21AB\",looparrowright:\"\\u21AC\",lopar:\"\\u2985\",lopf:\"\\u{1D55D}\",loplus:\"\\u2A2D\",lotimes:\"\\u2A34\",lowast:\"\\u2217\",lowbar:\"_\",loz:\"\\u25CA\",lozenge:\"\\u25CA\",lozf:\"\\u29EB\",lpar:\"(\",lparlt:\"\\u2993\",lrarr:\"\\u21C6\",lrcorner:\"\\u231F\",lrhar:\"\\u21CB\",lrhard:\"\\u296D\",lrm:\"\\u200E\",lrtri:\"\\u22BF\",lsaquo:\"\\u2039\",lscr:\"\\u{1D4C1}\",lsh:\"\\u21B0\",lsim:\"\\u2272\",lsime:\"\\u2A8D\",lsimg:\"\\u2A8F\",lsqb:\"[\",lsquo:\"\\u2018\",lsquor:\"\\u201A\",lstrok:\"\\u0142\",lt:\"<\",ltcc:\"\\u2AA6\",ltcir:\"\\u2A79\",ltdot:\"\\u22D6\",lthree:\"\\u22CB\",ltimes:\"\\u22C9\",ltlarr:\"\\u2976\",ltquest:\"\\u2A7B\",ltrPar:\"\\u2996\",ltri:\"\\u25C3\",ltrie:\"\\u22B4\",ltrif:\"\\u25C2\",lurdshar:\"\\u294A\",luruhar:\"\\u2966\",lvertneqq:\"\\u2268\\uFE00\",lvnE:\"\\u2268\\uFE00\",mDDot:\"\\u223A\",macr:\"\\xAF\",male:\"\\u2642\",malt:\"\\u2720\",maltese:\"\\u2720\",map:\"\\u21A6\",mapsto:\"\\u21A6\",mapstodown:\"\\u21A7\",mapstoleft:\"\\u21A4\",mapstoup:\"\\u21A5\",marker:\"\\u25AE\",mcomma:\"\\u2A29\",mcy:\"\\u043C\",mdash:\"\\u2014\",measuredangle:\"\\u2221\",mfr:\"\\u{1D52A}\",mho:\"\\u2127\",micro:\"\\xB5\",mid:\"\\u2223\",midast:\"*\",midcir:\"\\u2AF0\",middot:\"\\xB7\",minus:\"\\u2212\",minusb:\"\\u229F\",minusd:\"\\u2238\",minusdu:\"\\u2A2A\",mlcp:\"\\u2ADB\",mldr:\"\\u2026\",mnplus:\"\\u2213\",models:\"\\u22A7\",mopf:\"\\u{1D55E}\",mp:\"\\u2213\",mscr:\"\\u{1D4C2}\",mstpos:\"\\u223E\",mu:\"\\u03BC\",multimap:\"\\u22B8\",mumap:\"\\u22B8\",nGg:\"\\u22D9\\u0338\",nGt:\"\\u226B\\u20D2\",nGtv:\"\\u226B\\u0338\",nLeftarrow:\"\\u21CD\",nLeftrightarrow:\"\\u21CE\",nLl:\"\\u22D8\\u0338\",nLt:\"\\u226A\\u20D2\",nLtv:\"\\u226A\\u0338\",nRightarrow:\"\\u21CF\",nVDash:\"\\u22AF\",nVdash:\"\\u22AE\",nabla:\"\\u2207\",nacute:\"\\u0144\",nang:\"\\u2220\\u20D2\",nap:\"\\u2249\",napE:\"\\u2A70\\u0338\",napid:\"\\u224B\\u0338\",napos:\"\\u0149\",napprox:\"\\u2249\",natur:\"\\u266E\",natural:\"\\u266E\",naturals:\"\\u2115\",nbsp:\"\\xA0\",nbump:\"\\u224E\\u0338\",nbumpe:\"\\u224F\\u0338\",ncap:\"\\u2A43\",ncaron:\"\\u0148\",ncedil:\"\\u0146\",ncong:\"\\u2247\",ncongdot:\"\\u2A6D\\u0338\",ncup:\"\\u2A42\",ncy:\"\\u043D\",ndash:\"\\u2013\",ne:\"\\u2260\",neArr:\"\\u21D7\",nearhk:\"\\u2924\",nearr:\"\\u2197\",nearrow:\"\\u2197\",nedot:\"\\u2250\\u0338\",nequiv:\"\\u2262\",nesear:\"\\u2928\",nesim:\"\\u2242\\u0338\",nexist:\"\\u2204\",nexists:\"\\u2204\",nfr:\"\\u{1D52B}\",ngE:\"\\u2267\\u0338\",nge:\"\\u2271\",ngeq:\"\\u2271\",ngeqq:\"\\u2267\\u0338\",ngeqslant:\"\\u2A7E\\u0338\",nges:\"\\u2A7E\\u0338\",ngsim:\"\\u2275\",ngt:\"\\u226F\",ngtr:\"\\u226F\",nhArr:\"\\u21CE\",nharr:\"\\u21AE\",nhpar:\"\\u2AF2\",ni:\"\\u220B\",nis:\"\\u22FC\",nisd:\"\\u22FA\",niv:\"\\u220B\",njcy:\"\\u045A\",nlArr:\"\\u21CD\",nlE:\"\\u2266\\u0338\",nlarr:\"\\u219A\",nldr:\"\\u2025\",nle:\"\\u2270\",nleftarrow:\"\\u219A\",nleftrightarrow:\"\\u21AE\",nleq:\"\\u2270\",nleqq:\"\\u2266\\u0338\",nleqslant:\"\\u2A7D\\u0338\",nles:\"\\u2A7D\\u0338\",nless:\"\\u226E\",nlsim:\"\\u2274\",nlt:\"\\u226E\",nltri:\"\\u22EA\",nltrie:\"\\u22EC\",nmid:\"\\u2224\",nopf:\"\\u{1D55F}\",not:\"\\xAC\",notin:\"\\u2209\",notinE:\"\\u22F9\\u0338\",notindot:\"\\u22F5\\u0338\",notinva:\"\\u2209\",notinvb:\"\\u22F7\",notinvc:\"\\u22F6\",notni:\"\\u220C\",notniva:\"\\u220C\",notnivb:\"\\u22FE\",notnivc:\"\\u22FD\",npar:\"\\u2226\",nparallel:\"\\u2226\",nparsl:\"\\u2AFD\\u20E5\",npart:\"\\u2202\\u0338\",npolint:\"\\u2A14\",npr:\"\\u2280\",nprcue:\"\\u22E0\",npre:\"\\u2AAF\\u0338\",nprec:\"\\u2280\",npreceq:\"\\u2AAF\\u0338\",nrArr:\"\\u21CF\",nrarr:\"\\u219B\",nrarrc:\"\\u2933\\u0338\",nrarrw:\"\\u219D\\u0338\",nrightarrow:\"\\u219B\",nrtri:\"\\u22EB\",nrtrie:\"\\u22ED\",nsc:\"\\u2281\",nsccue:\"\\u22E1\",nsce:\"\\u2AB0\\u0338\",nscr:\"\\u{1D4C3}\",nshortmid:\"\\u2224\",nshortparallel:\"\\u2226\",nsim:\"\\u2241\",nsime:\"\\u2244\",nsimeq:\"\\u2244\",nsmid:\"\\u2224\",nspar:\"\\u2226\",nsqsube:\"\\u22E2\",nsqsupe:\"\\u22E3\",nsub:\"\\u2284\",nsubE:\"\\u2AC5\\u0338\",nsube:\"\\u2288\",nsubset:\"\\u2282\\u20D2\",nsubseteq:\"\\u2288\",nsubseteqq:\"\\u2AC5\\u0338\",nsucc:\"\\u2281\",nsucceq:\"\\u2AB0\\u0338\",nsup:\"\\u2285\",nsupE:\"\\u2AC6\\u0338\",nsupe:\"\\u2289\",nsupset:\"\\u2283\\u20D2\",nsupseteq:\"\\u2289\",nsupseteqq:\"\\u2AC6\\u0338\",ntgl:\"\\u2279\",ntilde:\"\\xF1\",ntlg:\"\\u2278\",ntriangleleft:\"\\u22EA\",ntrianglelefteq:\"\\u22EC\",ntriangleright:\"\\u22EB\",ntrianglerighteq:\"\\u22ED\",nu:\"\\u03BD\",num:\"#\",numero:\"\\u2116\",numsp:\"\\u2007\",nvDash:\"\\u22AD\",nvHarr:\"\\u2904\",nvap:\"\\u224D\\u20D2\",nvdash:\"\\u22AC\",nvge:\"\\u2265\\u20D2\",nvgt:\">\\u20D2\",nvinfin:\"\\u29DE\",nvlArr:\"\\u2902\",nvle:\"\\u2264\\u20D2\",nvlt:\"<\\u20D2\",nvltrie:\"\\u22B4\\u20D2\",nvrArr:\"\\u2903\",nvrtrie:\"\\u22B5\\u20D2\",nvsim:\"\\u223C\\u20D2\",nwArr:\"\\u21D6\",nwarhk:\"\\u2923\",nwarr:\"\\u2196\",nwarrow:\"\\u2196\",nwnear:\"\\u2927\",oS:\"\\u24C8\",oacute:\"\\xF3\",oast:\"\\u229B\",ocir:\"\\u229A\",ocirc:\"\\xF4\",ocy:\"\\u043E\",odash:\"\\u229D\",odblac:\"\\u0151\",odiv:\"\\u2A38\",odot:\"\\u2299\",odsold:\"\\u29BC\",oelig:\"\\u0153\",ofcir:\"\\u29BF\",ofr:\"\\u{1D52C}\",ogon:\"\\u02DB\",ograve:\"\\xF2\",ogt:\"\\u29C1\",ohbar:\"\\u29B5\",ohm:\"\\u03A9\",oint:\"\\u222E\",olarr:\"\\u21BA\",olcir:\"\\u29BE\",olcross:\"\\u29BB\",oline:\"\\u203E\",olt:\"\\u29C0\",omacr:\"\\u014D\",omega:\"\\u03C9\",omicron:\"\\u03BF\",omid:\"\\u29B6\",ominus:\"\\u2296\",oopf:\"\\u{1D560}\",opar:\"\\u29B7\",operp:\"\\u29B9\",oplus:\"\\u2295\",or:\"\\u2228\",orarr:\"\\u21BB\",ord:\"\\u2A5D\",order:\"\\u2134\",orderof:\"\\u2134\",ordf:\"\\xAA\",ordm:\"\\xBA\",origof:\"\\u22B6\",oror:\"\\u2A56\",orslope:\"\\u2A57\",orv:\"\\u2A5B\",oscr:\"\\u2134\",oslash:\"\\xF8\",osol:\"\\u2298\",otilde:\"\\xF5\",otimes:\"\\u2297\",otimesas:\"\\u2A36\",ouml:\"\\xF6\",ovbar:\"\\u233D\",par:\"\\u2225\",para:\"\\xB6\",parallel:\"\\u2225\",parsim:\"\\u2AF3\",parsl:\"\\u2AFD\",part:\"\\u2202\",pcy:\"\\u043F\",percnt:\"%\",period:\".\",permil:\"\\u2030\",perp:\"\\u22A5\",pertenk:\"\\u2031\",pfr:\"\\u{1D52D}\",phi:\"\\u03C6\",phiv:\"\\u03D5\",phmmat:\"\\u2133\",phone:\"\\u260E\",pi:\"\\u03C0\",pitchfork:\"\\u22D4\",piv:\"\\u03D6\",planck:\"\\u210F\",planckh:\"\\u210E\",plankv:\"\\u210F\",plus:\"+\",plusacir:\"\\u2A23\",plusb:\"\\u229E\",pluscir:\"\\u2A22\",plusdo:\"\\u2214\",plusdu:\"\\u2A25\",pluse:\"\\u2A72\",plusmn:\"\\xB1\",plussim:\"\\u2A26\",plustwo:\"\\u2A27\",pm:\"\\xB1\",pointint:\"\\u2A15\",popf:\"\\u{1D561}\",pound:\"\\xA3\",pr:\"\\u227A\",prE:\"\\u2AB3\",prap:\"\\u2AB7\",prcue:\"\\u227C\",pre:\"\\u2AAF\",prec:\"\\u227A\",precapprox:\"\\u2AB7\",preccurlyeq:\"\\u227C\",preceq:\"\\u2AAF\",precnapprox:\"\\u2AB9\",precneqq:\"\\u2AB5\",precnsim:\"\\u22E8\",precsim:\"\\u227E\",prime:\"\\u2032\",primes:\"\\u2119\",prnE:\"\\u2AB5\",prnap:\"\\u2AB9\",prnsim:\"\\u22E8\",prod:\"\\u220F\",profalar:\"\\u232E\",profline:\"\\u2312\",profsurf:\"\\u2313\",prop:\"\\u221D\",propto:\"\\u221D\",prsim:\"\\u227E\",prurel:\"\\u22B0\",pscr:\"\\u{1D4C5}\",psi:\"\\u03C8\",puncsp:\"\\u2008\",qfr:\"\\u{1D52E}\",qint:\"\\u2A0C\",qopf:\"\\u{1D562}\",qprime:\"\\u2057\",qscr:\"\\u{1D4C6}\",quaternions:\"\\u210D\",quatint:\"\\u2A16\",quest:\"?\",questeq:\"\\u225F\",quot:'\"',rAarr:\"\\u21DB\",rArr:\"\\u21D2\",rAtail:\"\\u291C\",rBarr:\"\\u290F\",rHar:\"\\u2964\",race:\"\\u223D\\u0331\",racute:\"\\u0155\",radic:\"\\u221A\",raemptyv:\"\\u29B3\",rang:\"\\u27E9\",rangd:\"\\u2992\",range:\"\\u29A5\",rangle:\"\\u27E9\",raquo:\"\\xBB\",rarr:\"\\u2192\",rarrap:\"\\u2975\",rarrb:\"\\u21E5\",rarrbfs:\"\\u2920\",rarrc:\"\\u2933\",rarrfs:\"\\u291E\",rarrhk:\"\\u21AA\",rarrlp:\"\\u21AC\",rarrpl:\"\\u2945\",rarrsim:\"\\u2974\",rarrtl:\"\\u21A3\",rarrw:\"\\u219D\",ratail:\"\\u291A\",ratio:\"\\u2236\",rationals:\"\\u211A\",rbarr:\"\\u290D\",rbbrk:\"\\u2773\",rbrace:\"}\",rbrack:\"]\",rbrke:\"\\u298C\",rbrksld:\"\\u298E\",rbrkslu:\"\\u2990\",rcaron:\"\\u0159\",rcedil:\"\\u0157\",rceil:\"\\u2309\",rcub:\"}\",rcy:\"\\u0440\",rdca:\"\\u2937\",rdldhar:\"\\u2969\",rdquo:\"\\u201D\",rdquor:\"\\u201D\",rdsh:\"\\u21B3\",real:\"\\u211C\",realine:\"\\u211B\",realpart:\"\\u211C\",reals:\"\\u211D\",rect:\"\\u25AD\",reg:\"\\xAE\",rfisht:\"\\u297D\",rfloor:\"\\u230B\",rfr:\"\\u{1D52F}\",rhard:\"\\u21C1\",rharu:\"\\u21C0\",rharul:\"\\u296C\",rho:\"\\u03C1\",rhov:\"\\u03F1\",rightarrow:\"\\u2192\",rightarrowtail:\"\\u21A3\",rightharpoondown:\"\\u21C1\",rightharpoonup:\"\\u21C0\",rightleftarrows:\"\\u21C4\",rightleftharpoons:\"\\u21CC\",rightrightarrows:\"\\u21C9\",rightsquigarrow:\"\\u219D\",rightthreetimes:\"\\u22CC\",ring:\"\\u02DA\",risingdotseq:\"\\u2253\",rlarr:\"\\u21C4\",rlhar:\"\\u21CC\",rlm:\"\\u200F\",rmoust:\"\\u23B1\",rmoustache:\"\\u23B1\",rnmid:\"\\u2AEE\",roang:\"\\u27ED\",roarr:\"\\u21FE\",robrk:\"\\u27E7\",ropar:\"\\u2986\",ropf:\"\\u{1D563}\",roplus:\"\\u2A2E\",rotimes:\"\\u2A35\",rpar:\")\",rpargt:\"\\u2994\",rppolint:\"\\u2A12\",rrarr:\"\\u21C9\",rsaquo:\"\\u203A\",rscr:\"\\u{1D4C7}\",rsh:\"\\u21B1\",rsqb:\"]\",rsquo:\"\\u2019\",rsquor:\"\\u2019\",rthree:\"\\u22CC\",rtimes:\"\\u22CA\",rtri:\"\\u25B9\",rtrie:\"\\u22B5\",rtrif:\"\\u25B8\",rtriltri:\"\\u29CE\",ruluhar:\"\\u2968\",rx:\"\\u211E\",sacute:\"\\u015B\",sbquo:\"\\u201A\",sc:\"\\u227B\",scE:\"\\u2AB4\",scap:\"\\u2AB8\",scaron:\"\\u0161\",sccue:\"\\u227D\",sce:\"\\u2AB0\",scedil:\"\\u015F\",scirc:\"\\u015D\",scnE:\"\\u2AB6\",scnap:\"\\u2ABA\",scnsim:\"\\u22E9\",scpolint:\"\\u2A13\",scsim:\"\\u227F\",scy:\"\\u0441\",sdot:\"\\u22C5\",sdotb:\"\\u22A1\",sdote:\"\\u2A66\",seArr:\"\\u21D8\",searhk:\"\\u2925\",searr:\"\\u2198\",searrow:\"\\u2198\",sect:\"\\xA7\",semi:\";\",seswar:\"\\u2929\",setminus:\"\\u2216\",setmn:\"\\u2216\",sext:\"\\u2736\",sfr:\"\\u{1D530}\",sfrown:\"\\u2322\",sharp:\"\\u266F\",shchcy:\"\\u0449\",shcy:\"\\u0448\",shortmid:\"\\u2223\",shortparallel:\"\\u2225\",shy:\"\\xAD\",sigma:\"\\u03C3\",sigmaf:\"\\u03C2\",sigmav:\"\\u03C2\",sim:\"\\u223C\",simdot:\"\\u2A6A\",sime:\"\\u2243\",simeq:\"\\u2243\",simg:\"\\u2A9E\",simgE:\"\\u2AA0\",siml:\"\\u2A9D\",simlE:\"\\u2A9F\",simne:\"\\u2246\",simplus:\"\\u2A24\",simrarr:\"\\u2972\",slarr:\"\\u2190\",smallsetminus:\"\\u2216\",smashp:\"\\u2A33\",smeparsl:\"\\u29E4\",smid:\"\\u2223\",smile:\"\\u2323\",smt:\"\\u2AAA\",smte:\"\\u2AAC\",smtes:\"\\u2AAC\\uFE00\",softcy:\"\\u044C\",sol:\"/\",solb:\"\\u29C4\",solbar:\"\\u233F\",sopf:\"\\u{1D564}\",spades:\"\\u2660\",spadesuit:\"\\u2660\",spar:\"\\u2225\",sqcap:\"\\u2293\",sqcaps:\"\\u2293\\uFE00\",sqcup:\"\\u2294\",sqcups:\"\\u2294\\uFE00\",sqsub:\"\\u228F\",sqsube:\"\\u2291\",sqsubset:\"\\u228F\",sqsubseteq:\"\\u2291\",sqsup:\"\\u2290\",sqsupe:\"\\u2292\",sqsupset:\"\\u2290\",sqsupseteq:\"\\u2292\",squ:\"\\u25A1\",square:\"\\u25A1\",squarf:\"\\u25AA\",squf:\"\\u25AA\",srarr:\"\\u2192\",sscr:\"\\u{1D4C8}\",ssetmn:\"\\u2216\",ssmile:\"\\u2323\",sstarf:\"\\u22C6\",star:\"\\u2606\",starf:\"\\u2605\",straightepsilon:\"\\u03F5\",straightphi:\"\\u03D5\",strns:\"\\xAF\",sub:\"\\u2282\",subE:\"\\u2AC5\",subdot:\"\\u2ABD\",sube:\"\\u2286\",subedot:\"\\u2AC3\",submult:\"\\u2AC1\",subnE:\"\\u2ACB\",subne:\"\\u228A\",subplus:\"\\u2ABF\",subrarr:\"\\u2979\",subset:\"\\u2282\",subseteq:\"\\u2286\",subseteqq:\"\\u2AC5\",subsetneq:\"\\u228A\",subsetneqq:\"\\u2ACB\",subsim:\"\\u2AC7\",subsub:\"\\u2AD5\",subsup:\"\\u2AD3\",succ:\"\\u227B\",succapprox:\"\\u2AB8\",succcurlyeq:\"\\u227D\",succeq:\"\\u2AB0\",succnapprox:\"\\u2ABA\",succneqq:\"\\u2AB6\",succnsim:\"\\u22E9\",succsim:\"\\u227F\",sum:\"\\u2211\",sung:\"\\u266A\",sup1:\"\\xB9\",sup2:\"\\xB2\",sup3:\"\\xB3\",sup:\"\\u2283\",supE:\"\\u2AC6\",supdot:\"\\u2ABE\",supdsub:\"\\u2AD8\",supe:\"\\u2287\",supedot:\"\\u2AC4\",suphsol:\"\\u27C9\",suphsub:\"\\u2AD7\",suplarr:\"\\u297B\",supmult:\"\\u2AC2\",supnE:\"\\u2ACC\",supne:\"\\u228B\",supplus:\"\\u2AC0\",supset:\"\\u2283\",supseteq:\"\\u2287\",supseteqq:\"\\u2AC6\",supsetneq:\"\\u228B\",supsetneqq:\"\\u2ACC\",supsim:\"\\u2AC8\",supsub:\"\\u2AD4\",supsup:\"\\u2AD6\",swArr:\"\\u21D9\",swarhk:\"\\u2926\",swarr:\"\\u2199\",swarrow:\"\\u2199\",swnwar:\"\\u292A\",szlig:\"\\xDF\",target:\"\\u2316\",tau:\"\\u03C4\",tbrk:\"\\u23B4\",tcaron:\"\\u0165\",tcedil:\"\\u0163\",tcy:\"\\u0442\",tdot:\"\\u20DB\",telrec:\"\\u2315\",tfr:\"\\u{1D531}\",there4:\"\\u2234\",therefore:\"\\u2234\",theta:\"\\u03B8\",thetasym:\"\\u03D1\",thetav:\"\\u03D1\",thickapprox:\"\\u2248\",thicksim:\"\\u223C\",thinsp:\"\\u2009\",thkap:\"\\u2248\",thksim:\"\\u223C\",thorn:\"\\xFE\",tilde:\"\\u02DC\",times:\"\\xD7\",timesb:\"\\u22A0\",timesbar:\"\\u2A31\",timesd:\"\\u2A30\",tint:\"\\u222D\",toea:\"\\u2928\",top:\"\\u22A4\",topbot:\"\\u2336\",topcir:\"\\u2AF1\",topf:\"\\u{1D565}\",topfork:\"\\u2ADA\",tosa:\"\\u2929\",tprime:\"\\u2034\",trade:\"\\u2122\",triangle:\"\\u25B5\",triangledown:\"\\u25BF\",triangleleft:\"\\u25C3\",trianglelefteq:\"\\u22B4\",triangleq:\"\\u225C\",triangleright:\"\\u25B9\",trianglerighteq:\"\\u22B5\",tridot:\"\\u25EC\",trie:\"\\u225C\",triminus:\"\\u2A3A\",triplus:\"\\u2A39\",trisb:\"\\u29CD\",tritime:\"\\u2A3B\",trpezium:\"\\u23E2\",tscr:\"\\u{1D4C9}\",tscy:\"\\u0446\",tshcy:\"\\u045B\",tstrok:\"\\u0167\",twixt:\"\\u226C\",twoheadleftarrow:\"\\u219E\",twoheadrightarrow:\"\\u21A0\",uArr:\"\\u21D1\",uHar:\"\\u2963\",uacute:\"\\xFA\",uarr:\"\\u2191\",ubrcy:\"\\u045E\",ubreve:\"\\u016D\",ucirc:\"\\xFB\",ucy:\"\\u0443\",udarr:\"\\u21C5\",udblac:\"\\u0171\",udhar:\"\\u296E\",ufisht:\"\\u297E\",ufr:\"\\u{1D532}\",ugrave:\"\\xF9\",uharl:\"\\u21BF\",uharr:\"\\u21BE\",uhblk:\"\\u2580\",ulcorn:\"\\u231C\",ulcorner:\"\\u231C\",ulcrop:\"\\u230F\",ultri:\"\\u25F8\",umacr:\"\\u016B\",uml:\"\\xA8\",uogon:\"\\u0173\",uopf:\"\\u{1D566}\",uparrow:\"\\u2191\",updownarrow:\"\\u2195\",upharpoonleft:\"\\u21BF\",upharpoonright:\"\\u21BE\",uplus:\"\\u228E\",upsi:\"\\u03C5\",upsih:\"\\u03D2\",upsilon:\"\\u03C5\",upuparrows:\"\\u21C8\",urcorn:\"\\u231D\",urcorner:\"\\u231D\",urcrop:\"\\u230E\",uring:\"\\u016F\",urtri:\"\\u25F9\",uscr:\"\\u{1D4CA}\",utdot:\"\\u22F0\",utilde:\"\\u0169\",utri:\"\\u25B5\",utrif:\"\\u25B4\",uuarr:\"\\u21C8\",uuml:\"\\xFC\",uwangle:\"\\u29A7\",vArr:\"\\u21D5\",vBar:\"\\u2AE8\",vBarv:\"\\u2AE9\",vDash:\"\\u22A8\",vangrt:\"\\u299C\",varepsilon:\"\\u03F5\",varkappa:\"\\u03F0\",varnothing:\"\\u2205\",varphi:\"\\u03D5\",varpi:\"\\u03D6\",varpropto:\"\\u221D\",varr:\"\\u2195\",varrho:\"\\u03F1\",varsigma:\"\\u03C2\",varsubsetneq:\"\\u228A\\uFE00\",varsubsetneqq:\"\\u2ACB\\uFE00\",varsupsetneq:\"\\u228B\\uFE00\",varsupsetneqq:\"\\u2ACC\\uFE00\",vartheta:\"\\u03D1\",vartriangleleft:\"\\u22B2\",vartriangleright:\"\\u22B3\",vcy:\"\\u0432\",vdash:\"\\u22A2\",vee:\"\\u2228\",veebar:\"\\u22BB\",veeeq:\"\\u225A\",vellip:\"\\u22EE\",verbar:\"|\",vert:\"|\",vfr:\"\\u{1D533}\",vltri:\"\\u22B2\",vnsub:\"\\u2282\\u20D2\",vnsup:\"\\u2283\\u20D2\",vopf:\"\\u{1D567}\",vprop:\"\\u221D\",vrtri:\"\\u22B3\",vscr:\"\\u{1D4CB}\",vsubnE:\"\\u2ACB\\uFE00\",vsubne:\"\\u228A\\uFE00\",vsupnE:\"\\u2ACC\\uFE00\",vsupne:\"\\u228B\\uFE00\",vzigzag:\"\\u299A\",wcirc:\"\\u0175\",wedbar:\"\\u2A5F\",wedge:\"\\u2227\",wedgeq:\"\\u2259\",weierp:\"\\u2118\",wfr:\"\\u{1D534}\",wopf:\"\\u{1D568}\",wp:\"\\u2118\",wr:\"\\u2240\",wreath:\"\\u2240\",wscr:\"\\u{1D4CC}\",xcap:\"\\u22C2\",xcirc:\"\\u25EF\",xcup:\"\\u22C3\",xdtri:\"\\u25BD\",xfr:\"\\u{1D535}\",xhArr:\"\\u27FA\",xharr:\"\\u27F7\",xi:\"\\u03BE\",xlArr:\"\\u27F8\",xlarr:\"\\u27F5\",xmap:\"\\u27FC\",xnis:\"\\u22FB\",xodot:\"\\u2A00\",xopf:\"\\u{1D569}\",xoplus:\"\\u2A01\",xotime:\"\\u2A02\",xrArr:\"\\u27F9\",xrarr:\"\\u27F6\",xscr:\"\\u{1D4CD}\",xsqcup:\"\\u2A06\",xuplus:\"\\u2A04\",xutri:\"\\u25B3\",xvee:\"\\u22C1\",xwedge:\"\\u22C0\",yacute:\"\\xFD\",yacy:\"\\u044F\",ycirc:\"\\u0177\",ycy:\"\\u044B\",yen:\"\\xA5\",yfr:\"\\u{1D536}\",yicy:\"\\u0457\",yopf:\"\\u{1D56A}\",yscr:\"\\u{1D4CE}\",yucy:\"\\u044E\",yuml:\"\\xFF\",zacute:\"\\u017A\",zcaron:\"\\u017E\",zcy:\"\\u0437\",zdot:\"\\u017C\",zeetrf:\"\\u2128\",zeta:\"\\u03B6\",zfr:\"\\u{1D537}\",zhcy:\"\\u0436\",zigrarr:\"\\u21DD\",zopf:\"\\u{1D56B}\",zscr:\"\\u{1D4CF}\",zwj:\"\\u200D\",zwnj:\"\\u200C\"},Kl={0:65533,128:8364,130:8218,131:402,132:8222,133:8230,134:8224,135:8225,136:710,137:8240,138:352,139:8249,140:338,142:381,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:732,153:8482,154:353,155:8250,156:339,158:382,159:376};function Bs(_){return _.replace(/&(?:[a-zA-Z]+|#[xX][\\da-fA-F]+|#\\d+);/g,v0=>{if(v0.charAt(1)===\"#\"){const w1=v0.charAt(2);return function(Ix){return Ix>=55296&&Ix<=57343||Ix>1114111?\"\\uFFFD\":(Ix in Kl&&(Ix=Kl[Ix]),String.fromCodePoint(Ix))}(w1===\"X\"||w1===\"x\"?parseInt(v0.slice(3),16):parseInt(v0.slice(2),10))}return q2[v0.slice(1,-1)]||v0})}function qf(_,v0){return _.startPos=_.tokenPos=_.index,_.startColumn=_.colPos=_.column,_.startLine=_.linePos=_.line,_.token=8192&z2[_.currentChar]?function(w1,Ix){const Wx=w1.currentChar;let _e=Eu(w1);const ot=w1.index;for(;_e!==Wx;)w1.index>=w1.end&&Sn(w1,14),_e=Eu(w1);return _e!==Wx&&Sn(w1,14),w1.tokenValue=w1.source.slice(ot,w1.index),Eu(w1),512&Ix&&(w1.tokenRaw=w1.source.slice(w1.tokenPos,w1.index)),134283267}(_,v0):Uu(_,v0,0),_.token}function Zl(_,v0){if(_.startPos=_.tokenPos=_.index,_.startColumn=_.colPos=_.column,_.startLine=_.linePos=_.line,_.index>=_.end)return _.token=1048576;switch(Rc[_.source.charCodeAt(_.index)]){case 8456258:Eu(_),_.currentChar===47?(Eu(_),_.token=25):_.token=8456258;break;case 2162700:Eu(_),_.token=2162700;break;default:{let w1=0;for(;_.index<_.end;){const Wx=z2[_.source.charCodeAt(_.index)];if(1024&Wx?(w1|=5,px(_)):2048&Wx?(Cb(_,w1),w1=-5&w1|1):Eu(_),16384&z2[_.currentChar])break}const Ix=_.source.slice(_.tokenPos,_.index);512&v0&&(_.tokenRaw=Ix),_.tokenValue=Bs(Ix),_.token=138}}return _.token}function ZF(_){if((143360&_.token)==143360){const{index:v0}=_;let w1=_.currentChar;for(;32770&z2[w1];)w1=Eu(_);_.tokenValue+=_.source.slice(v0,_.index)}return _.token=208897,_.token}function Sl(_,v0,w1){(1&_.flags)!=0||(1048576&_.token)==1048576||w1||Sn(_,28,ya[255&_.token]),Ko(_,v0,1074790417)}function $8(_,v0,w1,Ix){return v0-w1<13&&Ix===\"use strict\"&&((1048576&_.token)==1048576||1&_.flags)?1:0}function wl(_,v0,w1){return _.token!==w1?0:(Pa(_,v0),1)}function Ko(_,v0,w1){return _.token===w1&&(Pa(_,v0),!0)}function $u(_,v0,w1){_.token!==w1&&Sn(_,23,ya[255&w1]),Pa(_,v0)}function dF(_,v0){switch(v0.type){case\"ArrayExpression\":v0.type=\"ArrayPattern\";const w1=v0.elements;for(let Wx=0,_e=w1.length;Wx<_e;++Wx){const ot=w1[Wx];ot&&dF(_,ot)}return;case\"ObjectExpression\":v0.type=\"ObjectPattern\";const Ix=v0.properties;for(let Wx=0,_e=Ix.length;Wx<_e;++Wx)dF(_,Ix[Wx]);return;case\"AssignmentExpression\":return v0.type=\"AssignmentPattern\",v0.operator!==\"=\"&&Sn(_,68),delete v0.operator,void dF(_,v0.left);case\"Property\":return void dF(_,v0.value);case\"SpreadElement\":v0.type=\"RestElement\",dF(_,v0.argument)}}function nE(_,v0,w1,Ix,Wx){1024&v0&&((36864&Ix)==36864&&Sn(_,114),Wx||(537079808&Ix)!=537079808||Sn(_,115)),(20480&Ix)==20480&&Sn(_,99),24&w1&&Ix===241739&&Sn(_,97),4196352&v0&&Ix===209008&&Sn(_,95),2098176&v0&&Ix===241773&&Sn(_,94,\"yield\")}function pm(_,v0,w1){1024&v0&&((36864&w1)==36864&&Sn(_,114),(537079808&w1)==537079808&&Sn(_,115),w1===122&&Sn(_,92),w1===121&&Sn(_,92)),(20480&w1)==20480&&Sn(_,99),4196352&v0&&w1===209008&&Sn(_,95),2098176&v0&&w1===241773&&Sn(_,94,\"yield\")}function bl(_,v0,w1){return w1===209008&&(4196352&v0&&Sn(_,95),_.destructible|=128),w1===241773&&2097152&v0&&Sn(_,94,\"yield\"),(20480&w1)==20480||(36864&w1)==36864||w1==122}function nf(_,v0,w1,Ix){for(;v0;){if(v0[\"$\"+w1])return Ix&&Sn(_,133),1;Ix&&v0.loop&&(Ix=0),v0=v0.$}return 0}function Ts(_,v0,w1,Ix,Wx,_e){return 2&v0&&(_e.start=w1,_e.end=_.startPos,_e.range=[w1,_.startPos]),4&v0&&(_e.loc={start:{line:Ix,column:Wx},end:{line:_.startLine,column:_.startColumn}},_.sourceFile&&(_e.loc.source=_.sourceFile)),_e}function xf(_){switch(_.type){case\"JSXIdentifier\":return _.name;case\"JSXNamespacedName\":return _.namespace+\":\"+_.name;case\"JSXMemberExpression\":return xf(_.object)+\".\"+xf(_.property)}}function w8(_,v0,w1){const Ix=al({parent:void 0,type:2},1024);return op(_,v0,Ix,w1,1,0),Ix}function WT(_,v0,...w1){const{index:Ix,line:Wx,column:_e}=_;return{type:v0,params:w1,index:Ix,line:Wx,column:_e}}function al(_,v0){return{parent:_,type:v0,scopeError:void 0}}function Z4(_,v0,w1,Ix,Wx,_e){4&Wx?PF(_,v0,w1,Ix,Wx):op(_,v0,w1,Ix,Wx,_e),64&_e&&Lf(_,Ix)}function op(_,v0,w1,Ix,Wx,_e){const ot=w1[\"#\"+Ix];ot&&(2&ot)==0&&(1&Wx?w1.scopeError=WT(_,140,Ix):256&v0&&64&ot&&2&_e||Sn(_,140,Ix)),128&w1.type&&w1.parent[\"#\"+Ix]&&(2&w1.parent[\"#\"+Ix])==0&&Sn(_,140,Ix),1024&w1.type&&ot&&(2&ot)==0&&1&Wx&&(w1.scopeError=WT(_,140,Ix)),64&w1.type&&768&w1.parent[\"#\"+Ix]&&Sn(_,153,Ix),w1[\"#\"+Ix]=Wx}function PF(_,v0,w1,Ix,Wx){let _e=w1;for(;_e&&(256&_e.type)==0;){const ot=_e[\"#\"+Ix];248&ot&&(256&v0&&(1024&v0)==0&&(128&Wx&&68&ot||128&ot&&68&Wx)||Sn(_,140,Ix)),_e===w1&&1&ot&&1&Wx&&(_e.scopeError=WT(_,140,Ix)),768&ot&&((512&ot)==0||(256&v0)==0||1024&v0)&&Sn(_,140,Ix),_e[\"#\"+Ix]=Wx,_e=_e.parent}}function Lf(_,v0){_.exportedNames!==void 0&&v0!==\"\"&&(_.exportedNames[\"#\"+v0]&&Sn(_,141,v0),_.exportedNames[\"#\"+v0]=1)}function xA(_,v0){_.exportedBindings!==void 0&&v0!==\"\"&&(_.exportedBindings[\"#\"+v0]=1)}function nw(_,v0){return 2098176&_?!(2048&_&&v0===209008)&&!(2097152&_&&v0===241773)&&((143360&v0)==143360||(12288&v0)==12288):(143360&v0)==143360||(12288&v0)==12288||(36864&v0)==36864}function Hd(_,v0,w1,Ix){(537079808&w1)==537079808&&(1024&v0&&Sn(_,115),Ix&&(_.flags|=512)),nw(v0,w1)||Sn(_,0)}function o2(_,v0,w1){let Ix,Wx,_e=\"\";v0!=null&&(v0.module&&(w1|=3072),v0.next&&(w1|=1),v0.loc&&(w1|=4),v0.ranges&&(w1|=2),v0.uniqueKeyInPattern&&(w1|=-2147483648),v0.lexical&&(w1|=64),v0.webcompat&&(w1|=256),v0.directives&&(w1|=520),v0.globalReturn&&(w1|=32),v0.raw&&(w1|=512),v0.preserveParens&&(w1|=128),v0.impliedStrict&&(w1|=1024),v0.jsx&&(w1|=16),v0.identifierPattern&&(w1|=268435456),v0.specDeviation&&(w1|=536870912),v0.source&&(_e=v0.source),v0.onComment!=null&&(Ix=Array.isArray(v0.onComment)?function(Ze,ur){return function(ri,Ui,Bi,Yi,ro){const ha={type:ri,value:Ui};2&Ze&&(ha.start=Bi,ha.end=Yi,ha.range=[Bi,Yi]),4&Ze&&(ha.loc=ro),ur.push(ha)}}(w1,v0.onComment):v0.onComment),v0.onToken!=null&&(Wx=Array.isArray(v0.onToken)?function(Ze,ur){return function(ri,Ui,Bi,Yi){const ro={token:ri};2&Ze&&(ro.start=Ui,ro.end=Bi,ro.range=[Ui,Bi]),4&Ze&&(ro.loc=Yi),ur.push(ro)}}(w1,v0.onToken):v0.onToken));const ot=function(Ze,ur,ri,Ui){return{source:Ze,flags:0,index:0,line:1,column:0,startPos:0,end:Ze.length,tokenPos:0,startColumn:0,colPos:0,linePos:1,startLine:1,sourceFile:ur,tokenValue:\"\",token:1048576,tokenRaw:\"\",tokenRegExp:void 0,currentChar:Ze.charCodeAt(0),exportedNames:[],exportedBindings:[],assignable:1,destructible:0,onComment:ri,onToken:Ui,leadingDecorators:[]}}(_,_e,Ix,Wx);1&w1&&function(Ze){const ur=Ze.source;Ze.currentChar===35&&ur.charCodeAt(Ze.index+1)===33&&(Eu(Ze),Eu(Ze),pt(Ze,ur,0,4,Ze.tokenPos,Ze.linePos,Ze.colPos))}(ot);const Mt=64&w1?{parent:void 0,type:2}:void 0;let Ft=[],nt=\"script\";if(2048&w1){if(nt=\"module\",Ft=function(Ze,ur,ri){Pa(Ze,32768|ur);const Ui=[];if(8&ur)for(;Ze.token===134283267;){const{tokenPos:Bi,linePos:Yi,colPos:ro,token:ha}=Ze;Ui.push(ff(Ze,ur,tt(Ze,ur),ha,Bi,Yi,ro))}for(;Ze.token!==1048576;)Ui.push(Pu(Ze,ur,ri));return Ui}(ot,8192|w1,Mt),Mt)for(const Ze in ot.exportedBindings)Ze[0]!==\"#\"||Mt[Ze]||Sn(ot,142,Ze.slice(1))}else Ft=function(Ze,ur,ri){Pa(Ze,1073774592|ur);const Ui=[];for(;Ze.token===134283267;){const{index:Bi,tokenPos:Yi,tokenValue:ro,linePos:ha,colPos:Xo,token:oo}=Ze,ts=tt(Ze,ur);$8(Ze,Bi,Yi,ro)&&(ur|=1024),Ui.push(ff(Ze,ur,ts,oo,Yi,ha,Xo))}for(;Ze.token!==1048576;)Ui.push(mF(Ze,ur,ri,4,{}));return Ui}(ot,8192|w1,Mt);const qt={type:\"Program\",sourceType:nt,body:Ft};return 2&w1&&(qt.start=0,qt.end=_.length,qt.range=[0,_.length]),4&w1&&(qt.loc={start:{line:1,column:0},end:{line:ot.line,column:ot.column}},ot.sourceFile&&(qt.loc.source=_e)),qt}function Pu(_,v0,w1){let Ix;switch(_.leadingDecorators=ji(_,v0),_.token){case 20566:Ix=function(Wx,_e,ot){const Mt=Wx.tokenPos,Ft=Wx.linePos,nt=Wx.colPos;Pa(Wx,32768|_e);const qt=[];let Ze,ur=null,ri=null;if(Ko(Wx,32768|_e,20563)){switch(Wx.token){case 86106:ur=Er(Wx,_e,ot,4,1,1,0,Wx.tokenPos,Wx.linePos,Wx.colPos);break;case 133:case 86096:ur=qr(Wx,_e,ot,1,Wx.tokenPos,Wx.linePos,Wx.colPos);break;case 209007:const{tokenPos:Ui,linePos:Bi,colPos:Yi}=Wx;ur=Ye(Wx,_e,0);const{flags:ro}=Wx;(1&ro)<1&&(Wx.token===86106?ur=Er(Wx,_e,ot,4,1,1,1,Ui,Bi,Yi):Wx.token===67174411?(ur=bt(Wx,_e,ur,1,1,0,ro,Ui,Bi,Yi),ur=tl(Wx,_e,ur,0,0,Ui,Bi,Yi),ur=cl(Wx,_e,0,0,Ui,Bi,Yi,ur)):143360&Wx.token&&(ot&&(ot=w8(Wx,_e,Wx.tokenValue)),ur=Ye(Wx,_e,0),ur=N0(Wx,_e,ot,[ur],1,Ui,Bi,Yi)));break;default:ur=o6(Wx,_e,1,0,0,Wx.tokenPos,Wx.linePos,Wx.colPos),Sl(Wx,32768|_e)}return ot&&Lf(Wx,\"default\"),Ts(Wx,_e,Mt,Ft,nt,{type:\"ExportDefaultDeclaration\",declaration:ur})}switch(Wx.token){case 8457014:{Pa(Wx,_e);let ro=null;return Ko(Wx,_e,77934)&&(ot&&Lf(Wx,Wx.tokenValue),ro=Ye(Wx,_e,0)),$u(Wx,_e,12404),Wx.token!==134283267&&Sn(Wx,102,\"Export\"),ri=tt(Wx,_e),Sl(Wx,32768|_e),Ts(Wx,_e,Mt,Ft,nt,{type:\"ExportAllDeclaration\",source:ri,exported:ro})}case 2162700:{Pa(Wx,_e);const ro=[],ha=[];for(;143360&Wx.token;){const{tokenPos:Xo,tokenValue:oo,linePos:ts,colPos:Gl}=Wx,Gp=Ye(Wx,_e,0);let Sc;Wx.token===77934?(Pa(Wx,_e),(134217728&Wx.token)==134217728&&Sn(Wx,103),ot&&(ro.push(Wx.tokenValue),ha.push(oo)),Sc=Ye(Wx,_e,0)):(ot&&(ro.push(Wx.tokenValue),ha.push(Wx.tokenValue)),Sc=Gp),qt.push(Ts(Wx,_e,Xo,ts,Gl,{type:\"ExportSpecifier\",local:Gp,exported:Sc})),Wx.token!==1074790415&&$u(Wx,_e,18)}if($u(Wx,_e,1074790415),Ko(Wx,_e,12404))Wx.token!==134283267&&Sn(Wx,102,\"Export\"),ri=tt(Wx,_e);else if(ot){let Xo=0,oo=ro.length;for(;Xo<oo;Xo++)Lf(Wx,ro[Xo]);for(Xo=0,oo=ha.length;Xo<oo;Xo++)xA(Wx,ha[Xo])}Sl(Wx,32768|_e);break}case 86096:ur=qr(Wx,_e,ot,2,Wx.tokenPos,Wx.linePos,Wx.colPos);break;case 86106:ur=Er(Wx,_e,ot,4,1,2,0,Wx.tokenPos,Wx.linePos,Wx.colPos);break;case 241739:ur=o5(Wx,_e,ot,8,64,Wx.tokenPos,Wx.linePos,Wx.colPos);break;case 86092:ur=o5(Wx,_e,ot,16,64,Wx.tokenPos,Wx.linePos,Wx.colPos);break;case 86090:ur=Gd(Wx,_e,ot,64,Wx.tokenPos,Wx.linePos,Wx.colPos);break;case 209007:const{tokenPos:Ui,linePos:Bi,colPos:Yi}=Wx;if(Pa(Wx,_e),(1&Wx.flags)<1&&Wx.token===86106){ur=Er(Wx,_e,ot,4,1,2,1,Ui,Bi,Yi),ot&&(Ze=ur.id?ur.id.name:\"\",Lf(Wx,Ze));break}default:Sn(Wx,28,ya[255&Wx.token])}return Ts(Wx,_e,Mt,Ft,nt,{type:\"ExportNamedDeclaration\",declaration:ur,specifiers:qt,source:ri})}(_,v0,w1);break;case 86108:Ix=function(Wx,_e,ot){const Mt=Wx.tokenPos,Ft=Wx.linePos,nt=Wx.colPos;Pa(Wx,_e);let qt=null;const{tokenPos:Ze,linePos:ur,colPos:ri}=Wx;let Ui=[];if(Wx.token===134283267)qt=tt(Wx,_e);else{if(143360&Wx.token){if(Ui=[Ts(Wx,_e,Ze,ur,ri,{type:\"ImportDefaultSpecifier\",local:Mf(Wx,_e,ot)})],Ko(Wx,_e,18))switch(Wx.token){case 8457014:Ui.push(Ap(Wx,_e,ot));break;case 2162700:C4(Wx,_e,ot,Ui);break;default:Sn(Wx,104)}}else switch(Wx.token){case 8457014:Ui=[Ap(Wx,_e,ot)];break;case 2162700:C4(Wx,_e,ot,Ui);break;case 67174411:return tp(Wx,_e,Mt,Ft,nt);case 67108877:return wT(Wx,_e,Mt,Ft,nt);default:Sn(Wx,28,ya[255&Wx.token])}qt=function(Bi,Yi){return Ko(Bi,Yi,12404),Bi.token!==134283267&&Sn(Bi,102,\"Import\"),tt(Bi,Yi)}(Wx,_e)}return Sl(Wx,32768|_e),Ts(Wx,_e,Mt,Ft,nt,{type:\"ImportDeclaration\",specifiers:Ui,source:qt})}(_,v0,w1);break;default:Ix=mF(_,v0,w1,4,{})}return _.leadingDecorators.length&&Sn(_,164),Ix}function mF(_,v0,w1,Ix,Wx){const _e=_.tokenPos,ot=_.linePos,Mt=_.colPos;switch(_.token){case 86106:return Er(_,v0,w1,Ix,1,0,0,_e,ot,Mt);case 133:case 86096:return qr(_,v0,w1,0,_e,ot,Mt);case 86092:return o5(_,v0,w1,16,0,_e,ot,Mt);case 241739:return function(Ft,nt,qt,Ze,ur,ri,Ui){const{token:Bi,tokenValue:Yi}=Ft;let ro=Ye(Ft,nt,0);if(2240512&Ft.token){const ha=cd(Ft,nt,qt,8,0);return Sl(Ft,32768|nt),Ts(Ft,nt,ur,ri,Ui,{type:\"VariableDeclaration\",kind:\"let\",declarations:ha})}if(Ft.assignable=1,1024&nt&&Sn(Ft,82),Ft.token===21)return ep(Ft,nt,qt,Ze,{},Yi,ro,Bi,0,ur,ri,Ui);if(Ft.token===10){let ha;64&nt&&(ha=w8(Ft,nt,Yi)),Ft.flags=128^(128|Ft.flags),ro=N0(Ft,nt,ha,[ro],0,ur,ri,Ui)}else ro=tl(Ft,nt,ro,0,0,ur,ri,Ui),ro=cl(Ft,nt,0,0,ur,ri,Ui,ro);return Ft.token===18&&(ro=hF(Ft,nt,0,ur,ri,Ui,ro)),Hp(Ft,nt,ro,ur,ri,Ui)}(_,v0,w1,Ix,_e,ot,Mt);case 20566:Sn(_,100,\"export\");case 86108:switch(Pa(_,v0),_.token){case 67174411:return tp(_,v0,_e,ot,Mt);case 67108877:return wT(_,v0,_e,ot,Mt);default:Sn(_,100,\"import\")}case 209007:return Uf(_,v0,w1,Ix,Wx,1,_e,ot,Mt);default:return sp(_,v0,w1,Ix,Wx,1,_e,ot,Mt)}}function sp(_,v0,w1,Ix,Wx,_e,ot,Mt,Ft){switch(_.token){case 86090:return Gd(_,v0,w1,0,ot,Mt,Ft);case 20574:return function(nt,qt,Ze,ur,ri){(32&qt)<1&&8192&qt&&Sn(nt,89),Pa(nt,32768|qt);const Ui=1&nt.flags||1048576&nt.token?null:Nl(nt,qt,0,1,nt.tokenPos,nt.line,nt.column);return Sl(nt,32768|qt),Ts(nt,qt,Ze,ur,ri,{type:\"ReturnStatement\",argument:Ui})}(_,v0,ot,Mt,Ft);case 20571:return function(nt,qt,Ze,ur,ri,Ui,Bi){Pa(nt,qt),$u(nt,32768|qt,67174411),nt.assignable=1;const Yi=Nl(nt,qt,0,1,nt.tokenPos,nt.line,nt.colPos);$u(nt,32768|qt,16);const ro=iw(nt,qt,Ze,ur,nt.tokenPos,nt.linePos,nt.colPos);let ha=null;return nt.token===20565&&(Pa(nt,32768|qt),ha=iw(nt,qt,Ze,ur,nt.tokenPos,nt.linePos,nt.colPos)),Ts(nt,qt,ri,Ui,Bi,{type:\"IfStatement\",test:Yi,consequent:ro,alternate:ha})}(_,v0,w1,Wx,ot,Mt,Ft);case 20569:return function(nt,qt,Ze,ur,ri,Ui,Bi){Pa(nt,qt);const Yi=(4194304&qt)>0&&Ko(nt,qt,209008);$u(nt,32768|qt,67174411),Ze&&(Ze=al(Ze,1));let ro,ha=null,Xo=null,oo=0,ts=null,Gl=nt.token===86090||nt.token===241739||nt.token===86092;const{token:Gp,tokenPos:Sc,linePos:Ss,colPos:Ws}=nt;if(Gl?Gp===241739?(ts=Ye(nt,qt,0),2240512&nt.token?(nt.token===8738868?1024&qt&&Sn(nt,64):ts=Ts(nt,qt,Sc,Ss,Ws,{type:\"VariableDeclaration\",kind:\"let\",declarations:cd(nt,134217728|qt,Ze,8,32)}),nt.assignable=1):1024&qt?Sn(nt,64):(Gl=!1,nt.assignable=1,ts=tl(nt,qt,ts,0,0,Sc,Ss,Ws),nt.token===274549&&Sn(nt,111))):(Pa(nt,qt),ts=Ts(nt,qt,Sc,Ss,Ws,Gp===86090?{type:\"VariableDeclaration\",kind:\"var\",declarations:cd(nt,134217728|qt,Ze,4,32)}:{type:\"VariableDeclaration\",kind:\"const\",declarations:cd(nt,134217728|qt,Ze,16,32)}),nt.assignable=1):Gp===1074790417?Yi&&Sn(nt,79):(2097152&Gp)==2097152?(ts=Gp===2162700?ho(nt,qt,void 0,1,0,0,2,32,Sc,Ss,Ws):hi(nt,qt,void 0,1,0,0,2,32,Sc,Ss,Ws),oo=nt.destructible,256&qt&&64&oo&&Sn(nt,60),nt.assignable=16&oo?2:1,ts=tl(nt,134217728|qt,ts,0,0,nt.tokenPos,nt.linePos,nt.colPos)):ts=wf(nt,134217728|qt,1,0,1,Sc,Ss,Ws),(262144&nt.token)==262144)return nt.token===274549?(2&nt.assignable&&Sn(nt,77,Yi?\"await\":\"of\"),dF(nt,ts),Pa(nt,32768|qt),ro=o6(nt,qt,1,0,0,nt.tokenPos,nt.linePos,nt.colPos),$u(nt,32768|qt,16),Ts(nt,qt,ri,Ui,Bi,{type:\"ForOfStatement\",left:ts,right:ro,body:R4(nt,qt,Ze,ur),await:Yi})):(2&nt.assignable&&Sn(nt,77,\"in\"),dF(nt,ts),Pa(nt,32768|qt),Yi&&Sn(nt,79),ro=Nl(nt,qt,0,1,nt.tokenPos,nt.linePos,nt.colPos),$u(nt,32768|qt,16),Ts(nt,qt,ri,Ui,Bi,{type:\"ForInStatement\",body:R4(nt,qt,Ze,ur),left:ts,right:ro}));Yi&&Sn(nt,79),Gl||(8&oo&&nt.token!==1077936157&&Sn(nt,77,\"loop\"),ts=cl(nt,134217728|qt,0,0,Sc,Ss,Ws,ts)),nt.token===18&&(ts=hF(nt,qt,0,nt.tokenPos,nt.linePos,nt.colPos,ts)),$u(nt,32768|qt,1074790417),nt.token!==1074790417&&(ha=Nl(nt,qt,0,1,nt.tokenPos,nt.linePos,nt.colPos)),$u(nt,32768|qt,1074790417),nt.token!==16&&(Xo=Nl(nt,qt,0,1,nt.tokenPos,nt.linePos,nt.colPos)),$u(nt,32768|qt,16);const Zc=R4(nt,qt,Ze,ur);return Ts(nt,qt,ri,Ui,Bi,{type:\"ForStatement\",init:ts,test:ha,update:Xo,body:Zc})}(_,v0,w1,Wx,ot,Mt,Ft);case 20564:return function(nt,qt,Ze,ur,ri,Ui,Bi){Pa(nt,32768|qt);const Yi=R4(nt,qt,Ze,ur);$u(nt,qt,20580),$u(nt,32768|qt,67174411);const ro=Nl(nt,qt,0,1,nt.tokenPos,nt.linePos,nt.colPos);return $u(nt,32768|qt,16),Ko(nt,qt,1074790417),Ts(nt,qt,ri,Ui,Bi,{type:\"DoWhileStatement\",body:Yi,test:ro})}(_,v0,w1,Wx,ot,Mt,Ft);case 20580:return function(nt,qt,Ze,ur,ri,Ui,Bi){Pa(nt,qt),$u(nt,32768|qt,67174411);const Yi=Nl(nt,qt,0,1,nt.tokenPos,nt.linePos,nt.colPos);$u(nt,32768|qt,16);const ro=R4(nt,qt,Ze,ur);return Ts(nt,qt,ri,Ui,Bi,{type:\"WhileStatement\",test:Yi,body:ro})}(_,v0,w1,Wx,ot,Mt,Ft);case 86112:return function(nt,qt,Ze,ur,ri,Ui,Bi){Pa(nt,qt),$u(nt,32768|qt,67174411);const Yi=Nl(nt,qt,0,1,nt.tokenPos,nt.linePos,nt.colPos);$u(nt,qt,16),$u(nt,qt,2162700);const ro=[];let ha=0;for(Ze&&(Ze=al(Ze,8));nt.token!==1074790415;){const{tokenPos:Xo,linePos:oo,colPos:ts}=nt;let Gl=null;const Gp=[];for(Ko(nt,32768|qt,20558)?Gl=Nl(nt,qt,0,1,nt.tokenPos,nt.linePos,nt.colPos):($u(nt,32768|qt,20563),ha&&Sn(nt,86),ha=1),$u(nt,32768|qt,21);nt.token!==20558&&nt.token!==1074790415&&nt.token!==20563;)Gp.push(mF(nt,4096|qt,Ze,2,{$:ur}));ro.push(Ts(nt,qt,Xo,oo,ts,{type:\"SwitchCase\",test:Gl,consequent:Gp}))}return $u(nt,32768|qt,1074790415),Ts(nt,qt,ri,Ui,Bi,{type:\"SwitchStatement\",discriminant:Yi,cases:ro})}(_,v0,w1,Wx,ot,Mt,Ft);case 1074790417:return function(nt,qt,Ze,ur,ri){return Pa(nt,32768|qt),Ts(nt,qt,Ze,ur,ri,{type:\"EmptyStatement\"})}(_,v0,ot,Mt,Ft);case 2162700:return wu(_,v0,w1&&al(w1,2),Wx,ot,Mt,Ft);case 86114:return function(nt,qt,Ze,ur,ri){Pa(nt,32768|qt),1&nt.flags&&Sn(nt,87);const Ui=Nl(nt,qt,0,1,nt.tokenPos,nt.linePos,nt.colPos);return Sl(nt,32768|qt),Ts(nt,qt,Ze,ur,ri,{type:\"ThrowStatement\",argument:Ui})}(_,v0,ot,Mt,Ft);case 20557:return function(nt,qt,Ze,ur,ri,Ui){Pa(nt,32768|qt);let Bi=null;if((1&nt.flags)<1&&143360&nt.token){const{tokenValue:Yi}=nt;Bi=Ye(nt,32768|qt,0),nf(nt,Ze,Yi,0)||Sn(nt,134,Yi)}else(135168&qt)<1&&Sn(nt,66);return Sl(nt,32768|qt),Ts(nt,qt,ur,ri,Ui,{type:\"BreakStatement\",label:Bi})}(_,v0,Wx,ot,Mt,Ft);case 20561:return function(nt,qt,Ze,ur,ri,Ui){(131072&qt)<1&&Sn(nt,65),Pa(nt,qt);let Bi=null;if((1&nt.flags)<1&&143360&nt.token){const{tokenValue:Yi}=nt;Bi=Ye(nt,32768|qt,0),nf(nt,Ze,Yi,1)||Sn(nt,134,Yi)}return Sl(nt,32768|qt),Ts(nt,qt,ur,ri,Ui,{type:\"ContinueStatement\",label:Bi})}(_,v0,Wx,ot,Mt,Ft);case 20579:return function(nt,qt,Ze,ur,ri,Ui,Bi){Pa(nt,32768|qt);const Yi=Ze?al(Ze,32):void 0,ro=wu(nt,qt,Yi,{$:ur},nt.tokenPos,nt.linePos,nt.colPos),{tokenPos:ha,linePos:Xo,colPos:oo}=nt,ts=Ko(nt,32768|qt,20559)?function(Gp,Sc,Ss,Ws,Zc,ef,wp){let Pm=null,Im=Ss;Ko(Gp,Sc,67174411)&&(Ss&&(Ss=al(Ss,4)),Pm=jx(Gp,Sc,Ss,(2097152&Gp.token)==2097152?256:512,0,Gp.tokenPos,Gp.linePos,Gp.colPos),Gp.token===18?Sn(Gp,83):Gp.token===1077936157&&Sn(Gp,84),$u(Gp,32768|Sc,16),Ss&&(Im=al(Ss,64)));const S5=wu(Gp,Sc,Im,{$:Ws},Gp.tokenPos,Gp.linePos,Gp.colPos);return Ts(Gp,Sc,Zc,ef,wp,{type:\"CatchClause\",param:Pm,body:S5})}(nt,qt,Ze,ur,ha,Xo,oo):null;let Gl=null;return nt.token===20568&&(Pa(nt,32768|qt),Gl=wu(nt,qt,Yi?al(Ze,4):void 0,{$:ur},nt.tokenPos,nt.linePos,nt.colPos)),ts||Gl||Sn(nt,85),Ts(nt,qt,ri,Ui,Bi,{type:\"TryStatement\",block:ro,handler:ts,finalizer:Gl})}(_,v0,w1,Wx,ot,Mt,Ft);case 20581:return function(nt,qt,Ze,ur,ri,Ui,Bi){Pa(nt,qt),1024&qt&&Sn(nt,88),$u(nt,32768|qt,67174411);const Yi=Nl(nt,qt,0,1,nt.tokenPos,nt.linePos,nt.colPos);$u(nt,32768|qt,16);const ro=sp(nt,qt,Ze,2,ur,0,nt.tokenPos,nt.linePos,nt.colPos);return Ts(nt,qt,ri,Ui,Bi,{type:\"WithStatement\",object:Yi,body:ro})}(_,v0,w1,Wx,ot,Mt,Ft);case 20562:return function(nt,qt,Ze,ur,ri){return Pa(nt,32768|qt),Sl(nt,32768|qt),Ts(nt,qt,Ze,ur,ri,{type:\"DebuggerStatement\"})}(_,v0,ot,Mt,Ft);case 209007:return Uf(_,v0,w1,Ix,Wx,0,ot,Mt,Ft);case 20559:Sn(_,156);case 20568:Sn(_,157);case 86106:Sn(_,1024&v0?73:(256&v0)<1?75:74);case 86096:Sn(_,76);default:return function(nt,qt,Ze,ur,ri,Ui,Bi,Yi,ro){const{tokenValue:ha,token:Xo}=nt;let oo;switch(Xo){case 241739:oo=Ye(nt,qt,0),1024&qt&&Sn(nt,82),nt.token===69271571&&Sn(nt,81);break;default:oo=Tp(nt,qt,2,0,1,0,0,1,nt.tokenPos,nt.linePos,nt.colPos)}return 143360&Xo&&nt.token===21?ep(nt,qt,Ze,ur,ri,ha,oo,Xo,Ui,Bi,Yi,ro):(oo=tl(nt,qt,oo,0,0,Bi,Yi,ro),oo=cl(nt,qt,0,0,Bi,Yi,ro,oo),nt.token===18&&(oo=hF(nt,qt,0,Bi,Yi,ro,oo)),Hp(nt,qt,oo,Bi,Yi,ro))}(_,v0,w1,Ix,Wx,_e,ot,Mt,Ft)}}function wu(_,v0,w1,Ix,Wx,_e,ot){const Mt=[];for($u(_,32768|v0,2162700);_.token!==1074790415;)Mt.push(mF(_,v0,w1,2,{$:Ix}));return $u(_,32768|v0,1074790415),Ts(_,v0,Wx,_e,ot,{type:\"BlockStatement\",body:Mt})}function Hp(_,v0,w1,Ix,Wx,_e){return Sl(_,32768|v0),Ts(_,v0,Ix,Wx,_e,{type:\"ExpressionStatement\",expression:w1})}function ep(_,v0,w1,Ix,Wx,_e,ot,Mt,Ft,nt,qt,Ze){return nE(_,v0,0,Mt,1),function(ur,ri,Ui){let Bi=ri;for(;Bi;)Bi[\"$\"+Ui]&&Sn(ur,132,Ui),Bi=Bi.$;ri[\"$\"+Ui]=1}(_,Wx,_e),Pa(_,32768|v0),Ts(_,v0,nt,qt,Ze,{type:\"LabeledStatement\",label:ot,body:Ft&&(1024&v0)<1&&256&v0&&_.token===86106?Er(_,v0,al(w1,2),Ix,0,0,0,_.tokenPos,_.linePos,_.colPos):sp(_,v0,w1,Ix,Wx,Ft,_.tokenPos,_.linePos,_.colPos)})}function Uf(_,v0,w1,Ix,Wx,_e,ot,Mt,Ft){const{token:nt,tokenValue:qt}=_;let Ze=Ye(_,v0,0);if(_.token===21)return ep(_,v0,w1,Ix,Wx,qt,Ze,nt,1,ot,Mt,Ft);const ur=1&_.flags;if(!ur){if(_.token===86106)return _e||Sn(_,119),Er(_,v0,w1,Ix,1,0,1,ot,Mt,Ft);if((143360&_.token)==143360)return Ze=$e(_,v0,1,ot,Mt,Ft),_.token===18&&(Ze=hF(_,v0,0,ot,Mt,Ft,Ze)),Hp(_,v0,Ze,ot,Mt,Ft)}return _.token===67174411?Ze=bt(_,v0,Ze,1,1,0,ur,ot,Mt,Ft):(_.token===10&&(Hd(_,v0,nt,1),Ze=Cl(_,v0,_.tokenValue,Ze,0,1,0,ot,Mt,Ft)),_.assignable=1),Ze=tl(_,v0,Ze,0,0,ot,Mt,Ft),_.token===18&&(Ze=hF(_,v0,0,ot,Mt,Ft,Ze)),Ze=cl(_,v0,0,0,ot,Mt,Ft,Ze),_.assignable=1,Hp(_,v0,Ze,ot,Mt,Ft)}function ff(_,v0,w1,Ix,Wx,_e,ot){return Ix!==1074790417&&(_.assignable=2,w1=tl(_,v0,w1,0,0,Wx,_e,ot),_.token!==1074790417&&(w1=cl(_,v0,0,0,Wx,_e,ot,w1),_.token===18&&(w1=hF(_,v0,0,Wx,_e,ot,w1))),Sl(_,32768|v0)),8&v0&&w1.type===\"Literal\"&&typeof w1.value==\"string\"?Ts(_,v0,Wx,_e,ot,{type:\"ExpressionStatement\",expression:w1,directive:w1.raw.slice(1,-1)}):Ts(_,v0,Wx,_e,ot,{type:\"ExpressionStatement\",expression:w1})}function iw(_,v0,w1,Ix,Wx,_e,ot){return 1024&v0||(256&v0)<1||_.token!==86106?sp(_,v0,w1,0,{$:Ix},0,_.tokenPos,_.linePos,_.colPos):Er(_,v0,al(w1,2),0,0,0,0,Wx,_e,ot)}function R4(_,v0,w1,Ix){return sp(_,134217728^(134217728|v0)|131072,w1,0,{loop:1,$:Ix},0,_.tokenPos,_.linePos,_.colPos)}function o5(_,v0,w1,Ix,Wx,_e,ot,Mt){Pa(_,v0);const Ft=cd(_,v0,w1,Ix,Wx);return Sl(_,32768|v0),Ts(_,v0,_e,ot,Mt,{type:\"VariableDeclaration\",kind:8&Ix?\"let\":\"const\",declarations:Ft})}function Gd(_,v0,w1,Ix,Wx,_e,ot){Pa(_,v0);const Mt=cd(_,v0,w1,4,Ix);return Sl(_,32768|v0),Ts(_,v0,Wx,_e,ot,{type:\"VariableDeclaration\",kind:\"var\",declarations:Mt})}function cd(_,v0,w1,Ix,Wx){let _e=1;const ot=[uT(_,v0,w1,Ix,Wx)];for(;Ko(_,v0,18);)_e++,ot.push(uT(_,v0,w1,Ix,Wx));return _e>1&&32&Wx&&262144&_.token&&Sn(_,58,ya[255&_.token]),ot}function uT(_,v0,w1,Ix,Wx){const{token:_e,tokenPos:ot,linePos:Mt,colPos:Ft}=_;let nt=null;const qt=jx(_,v0,w1,Ix,Wx,ot,Mt,Ft);return _.token===1077936157?(Pa(_,32768|v0),nt=o6(_,v0,1,0,0,_.tokenPos,_.linePos,_.colPos),(32&Wx||(2097152&_e)<1)&&(_.token===274549||_.token===8738868&&(2097152&_e||(4&Ix)<1||1024&v0))&&B6(ot,_.line,_.index-3,57,_.token===274549?\"of\":\"in\")):(16&Ix||(2097152&_e)>0)&&(262144&_.token)!=262144&&Sn(_,56,16&Ix?\"const\":\"destructuring\"),Ts(_,v0,ot,Mt,Ft,{type:\"VariableDeclarator\",id:qt,init:nt})}function Mf(_,v0,w1){return nw(v0,_.token)||Sn(_,114),(537079808&_.token)==537079808&&Sn(_,115),w1&&op(_,v0,w1,_.tokenValue,8,0),Ye(_,v0,0)}function Ap(_,v0,w1){const{tokenPos:Ix,linePos:Wx,colPos:_e}=_;return Pa(_,v0),$u(_,v0,77934),(134217728&_.token)==134217728&&B6(Ix,_.line,_.index,28,ya[255&_.token]),Ts(_,v0,Ix,Wx,_e,{type:\"ImportNamespaceSpecifier\",local:Mf(_,v0,w1)})}function C4(_,v0,w1,Ix){for(Pa(_,v0);143360&_.token;){let{token:Wx,tokenValue:_e,tokenPos:ot,linePos:Mt,colPos:Ft}=_;const nt=Ye(_,v0,0);let qt;Ko(_,v0,77934)?((134217728&_.token)==134217728||_.token===18?Sn(_,103):nE(_,v0,16,_.token,0),_e=_.tokenValue,qt=Ye(_,v0,0)):(nE(_,v0,16,Wx,0),qt=nt),w1&&op(_,v0,w1,_e,8,0),Ix.push(Ts(_,v0,ot,Mt,Ft,{type:\"ImportSpecifier\",local:qt,imported:nt})),_.token!==1074790415&&$u(_,v0,18)}return $u(_,v0,1074790415),Ix}function wT(_,v0,w1,Ix,Wx){let _e=Xd(_,v0,Ts(_,v0,w1,Ix,Wx,{type:\"Identifier\",name:\"import\"}),w1,Ix,Wx);return _e=tl(_,v0,_e,0,0,w1,Ix,Wx),_e=cl(_,v0,0,0,w1,Ix,Wx,_e),Hp(_,v0,_e,w1,Ix,Wx)}function tp(_,v0,w1,Ix,Wx){let _e=M0(_,v0,0,w1,Ix,Wx);return _e=tl(_,v0,_e,0,0,w1,Ix,Wx),Hp(_,v0,_e,w1,Ix,Wx)}function o6(_,v0,w1,Ix,Wx,_e,ot,Mt){let Ft=Tp(_,v0,2,0,w1,Ix,Wx,1,_e,ot,Mt);return Ft=tl(_,v0,Ft,Wx,0,_e,ot,Mt),cl(_,v0,Wx,0,_e,ot,Mt,Ft)}function hF(_,v0,w1,Ix,Wx,_e,ot){const Mt=[ot];for(;Ko(_,32768|v0,18);)Mt.push(o6(_,v0,1,0,w1,_.tokenPos,_.linePos,_.colPos));return Ts(_,v0,Ix,Wx,_e,{type:\"SequenceExpression\",expressions:Mt})}function Nl(_,v0,w1,Ix,Wx,_e,ot){const Mt=o6(_,v0,Ix,0,w1,Wx,_e,ot);return _.token===18?hF(_,v0,w1,Wx,_e,ot,Mt):Mt}function cl(_,v0,w1,Ix,Wx,_e,ot,Mt){const{token:Ft}=_;if((4194304&Ft)==4194304){2&_.assignable&&Sn(_,24),(!Ix&&Ft===1077936157&&Mt.type===\"ArrayExpression\"||Mt.type===\"ObjectExpression\")&&dF(_,Mt),Pa(_,32768|v0);const nt=o6(_,v0,1,1,w1,_.tokenPos,_.linePos,_.colPos);return _.assignable=2,Ts(_,v0,Wx,_e,ot,Ix?{type:\"AssignmentPattern\",left:Mt,right:nt}:{type:\"AssignmentExpression\",left:Mt,operator:ya[255&Ft],right:nt})}return(8454144&Ft)==8454144&&(Mt=hl(_,v0,w1,Wx,_e,ot,4,Ft,Mt)),Ko(_,32768|v0,22)&&(Mt=Vf(_,v0,Mt,Wx,_e,ot)),Mt}function SA(_,v0,w1,Ix,Wx,_e,ot,Mt){const{token:Ft}=_;Pa(_,32768|v0);const nt=o6(_,v0,1,1,w1,_.tokenPos,_.linePos,_.colPos);return Mt=Ts(_,v0,Wx,_e,ot,Ix?{type:\"AssignmentPattern\",left:Mt,right:nt}:{type:\"AssignmentExpression\",left:Mt,operator:ya[255&Ft],right:nt}),_.assignable=2,Mt}function Vf(_,v0,w1,Ix,Wx,_e){const ot=o6(_,134217728^(134217728|v0),1,0,0,_.tokenPos,_.linePos,_.colPos);$u(_,32768|v0,21),_.assignable=1;const Mt=o6(_,v0,1,0,0,_.tokenPos,_.linePos,_.colPos);return _.assignable=2,Ts(_,v0,Ix,Wx,_e,{type:\"ConditionalExpression\",test:w1,consequent:ot,alternate:Mt})}function hl(_,v0,w1,Ix,Wx,_e,ot,Mt,Ft){const nt=8738868&-((134217728&v0)>0);let qt,Ze;for(_.assignable=2;8454144&_.token&&(qt=_.token,Ze=3840&qt,(524288&qt&&268435456&Mt||524288&Mt&&268435456&qt)&&Sn(_,159),!(Ze+((qt===8457273)<<8)-((nt===qt)<<12)<=ot));)Pa(_,32768|v0),Ft=Ts(_,v0,Ix,Wx,_e,{type:524288&qt||268435456&qt?\"LogicalExpression\":\"BinaryExpression\",left:Ft,right:hl(_,v0,w1,_.tokenPos,_.linePos,_.colPos,Ze,qt,wf(_,v0,0,w1,1,_.tokenPos,_.linePos,_.colPos)),operator:ya[255&qt]});return _.token===1077936157&&Sn(_,24),Ft}function Id(_,v0,w1,Ix,Wx,_e){const{tokenPos:ot,linePos:Mt,colPos:Ft}=_;$u(_,32768|v0,2162700);const nt=[],qt=v0;if(_.token!==1074790415){for(;_.token===134283267;){const{index:Ze,tokenPos:ur,tokenValue:ri,token:Ui}=_,Bi=tt(_,v0);$8(_,Ze,ur,ri)&&(v0|=1024,128&_.flags&&B6(_.index,_.line,_.tokenPos,63),64&_.flags&&B6(_.index,_.line,_.tokenPos,8)),nt.push(ff(_,v0,Bi,Ui,ur,_.linePos,_.colPos))}1024&v0&&(Wx&&((537079808&Wx)==537079808&&Sn(_,115),(36864&Wx)==36864&&Sn(_,38)),512&_.flags&&Sn(_,115),256&_.flags&&Sn(_,114)),64&v0&&w1&&_e!==void 0&&(1024&qt)<1&&(8192&v0)<1&&M4(_e)}for(_.flags=832^(832|_.flags),_.destructible=256^(256|_.destructible);_.token!==1074790415;)nt.push(mF(_,v0,w1,4,{}));return $u(_,24&Ix?32768|v0:v0,1074790415),_.flags&=-193,_.token===1077936157&&Sn(_,24),Ts(_,v0,ot,Mt,Ft,{type:\"BlockStatement\",body:nt})}function wf(_,v0,w1,Ix,Wx,_e,ot,Mt){return tl(_,v0,Tp(_,v0,2,0,w1,0,Ix,Wx,_e,ot,Mt),Ix,0,_e,ot,Mt)}function tl(_,v0,w1,Ix,Wx,_e,ot,Mt){if((33619968&_.token)==33619968&&(1&_.flags)<1)w1=function(Ft,nt,qt,Ze,ur,ri){2&Ft.assignable&&Sn(Ft,52);const{token:Ui}=Ft;return Pa(Ft,nt),Ft.assignable=2,Ts(Ft,nt,Ze,ur,ri,{type:\"UpdateExpression\",argument:qt,operator:ya[255&Ui],prefix:!1})}(_,v0,w1,_e,ot,Mt);else if((67108864&_.token)==67108864){switch(v0=134225920^(134225920|v0),_.token){case 67108877:Pa(_,1073741824|v0),_.assignable=1,w1=Ts(_,v0,_e,ot,Mt,{type:\"MemberExpression\",object:w1,computed:!1,property:kf(_,v0)});break;case 69271571:{let Ft=!1;(2048&_.flags)==2048&&(Ft=!0,_.flags=2048^(2048|_.flags)),Pa(_,32768|v0);const{tokenPos:nt,linePos:qt,colPos:Ze}=_,ur=Nl(_,v0,Ix,1,nt,qt,Ze);$u(_,v0,20),_.assignable=1,w1=Ts(_,v0,_e,ot,Mt,{type:\"MemberExpression\",object:w1,computed:!0,property:ur}),Ft&&(_.flags|=2048);break}case 67174411:{if((1024&_.flags)==1024)return _.flags=1024^(1024|_.flags),w1;let Ft=!1;(2048&_.flags)==2048&&(Ft=!0,_.flags=2048^(2048|_.flags));const nt=Se(_,v0,Ix);_.assignable=2,w1=Ts(_,v0,_e,ot,Mt,{type:\"CallExpression\",callee:w1,arguments:nt}),Ft&&(_.flags|=2048);break}case 67108991:Pa(_,v0),_.flags|=2048,_.assignable=2,w1=function(Ft,nt,qt,Ze,ur,ri){let Ui,Bi=!1;if(Ft.token!==69271571&&Ft.token!==67174411||(2048&Ft.flags)==2048&&(Bi=!0,Ft.flags=2048^(2048|Ft.flags)),Ft.token===69271571){Pa(Ft,32768|nt);const{tokenPos:Yi,linePos:ro,colPos:ha}=Ft,Xo=Nl(Ft,nt,0,1,Yi,ro,ha);$u(Ft,nt,20),Ft.assignable=2,Ui=Ts(Ft,nt,Ze,ur,ri,{type:\"MemberExpression\",object:qt,computed:!0,optional:!0,property:Xo})}else if(Ft.token===67174411){const Yi=Se(Ft,nt,0);Ft.assignable=2,Ui=Ts(Ft,nt,Ze,ur,ri,{type:\"CallExpression\",callee:qt,arguments:Yi,optional:!0})}else{(143360&Ft.token)<1&&Sn(Ft,154);const Yi=Ye(Ft,nt,0);Ft.assignable=2,Ui=Ts(Ft,nt,Ze,ur,ri,{type:\"MemberExpression\",object:qt,computed:!1,optional:!0,property:Yi})}return Bi&&(Ft.flags|=2048),Ui}(_,v0,w1,_e,ot,Mt);break;default:(2048&_.flags)==2048&&Sn(_,160),_.assignable=2,w1=Ts(_,v0,_e,ot,Mt,{type:\"TaggedTemplateExpression\",tag:w1,quasi:_.token===67174408?R1(_,65536|v0):R0(_,v0,_.tokenPos,_.linePos,_.colPos)})}w1=tl(_,v0,w1,0,1,_e,ot,Mt)}return Wx===0&&(2048&_.flags)==2048&&(_.flags=2048^(2048|_.flags),w1=Ts(_,v0,_e,ot,Mt,{type:\"ChainExpression\",expression:w1})),w1}function kf(_,v0){return(143360&_.token)<1&&_.token!==131&&Sn(_,154),1&v0&&_.token===131?C0(_,v0,_.tokenPos,_.linePos,_.colPos):Ye(_,v0,0)}function Tp(_,v0,w1,Ix,Wx,_e,ot,Mt,Ft,nt,qt){if((143360&_.token)==143360){switch(_.token){case 209008:return function(Ui,Bi,Yi,ro,ha,Xo,oo){if(ro&&(Ui.destructible|=128),4194304&Bi){Yi&&Sn(Ui,0),8388608&Bi&&B6(Ui.index,Ui.line,Ui.index,29),Pa(Ui,32768|Bi);const ts=wf(Ui,Bi,0,0,1,Ui.tokenPos,Ui.linePos,Ui.colPos);return Ui.assignable=2,Ts(Ui,Bi,ha,Xo,oo,{type:\"AwaitExpression\",argument:ts})}return 2048&Bi&&Sn(Ui,107,\"Await\"),Od(Ui,Bi,ha,Xo,oo)}(_,v0,Ix,ot,Ft,nt,qt);case 241773:return function(Ui,Bi,Yi,ro,ha,Xo,oo){if(Yi&&(Ui.destructible|=256),2097152&Bi){Pa(Ui,32768|Bi),8388608&Bi&&Sn(Ui,30),ro||Sn(Ui,24),Ui.token===22&&Sn(Ui,120);let ts=null,Gl=!1;return(1&Ui.flags)<1&&(Gl=Ko(Ui,32768|Bi,8457014),(77824&Ui.token||Gl)&&(ts=o6(Ui,Bi,1,0,0,Ui.tokenPos,Ui.linePos,Ui.colPos))),Ui.assignable=2,Ts(Ui,Bi,ha,Xo,oo,{type:\"YieldExpression\",argument:ts,delegate:Gl})}return 1024&Bi&&Sn(Ui,94,\"yield\"),Od(Ui,Bi,ha,Xo,oo)}(_,v0,ot,Wx,Ft,nt,qt);case 209007:return function(Ui,Bi,Yi,ro,ha,Xo,oo,ts,Gl,Gp){const{token:Sc}=Ui,Ss=Ye(Ui,Bi,Xo),{flags:Ws}=Ui;if((1&Ws)<1){if(Ui.token===86106)return Zt(Ui,Bi,1,Yi,ts,Gl,Gp);if((143360&Ui.token)==143360)return ro||Sn(Ui,0),$e(Ui,Bi,ha,ts,Gl,Gp)}return oo||Ui.token!==67174411?Ui.token===10?(Hd(Ui,Bi,Sc,1),oo&&Sn(Ui,48),Cl(Ui,Bi,Ui.tokenValue,Ss,oo,ha,0,ts,Gl,Gp)):Ss:bt(Ui,Bi,Ss,ha,1,0,Ws,ts,Gl,Gp)}(_,v0,ot,Mt,Wx,_e,Ix,Ft,nt,qt)}const{token:Ze,tokenValue:ur}=_,ri=Ye(_,65536|v0,_e);return _.token===10?(Mt||Sn(_,0),Hd(_,v0,Ze,1),Cl(_,v0,ur,ri,Ix,Wx,0,Ft,nt,qt)):(16384&v0&&Ze===537079928&&Sn(_,126),Ze===241739&&(1024&v0&&Sn(_,109),24&w1&&Sn(_,97)),_.assignable=1024&v0&&(537079808&Ze)==537079808?2:1,ri)}if((134217728&_.token)==134217728)return tt(_,v0);switch(_.token){case 33619995:case 33619996:return function(Ze,ur,ri,Ui,Bi,Yi,ro){ri&&Sn(Ze,53),Ui||Sn(Ze,0);const{token:ha}=Ze;Pa(Ze,32768|ur);const Xo=wf(Ze,ur,0,0,1,Ze.tokenPos,Ze.linePos,Ze.colPos);return 2&Ze.assignable&&Sn(Ze,52),Ze.assignable=2,Ts(Ze,ur,Bi,Yi,ro,{type:\"UpdateExpression\",argument:Xo,operator:ya[255&ha],prefix:!0})}(_,v0,Ix,Mt,Ft,nt,qt);case 16863278:case 16842800:case 16842801:case 25233970:case 25233971:case 16863277:case 16863279:return function(Ze,ur,ri,Ui,Bi,Yi,ro){ri||Sn(Ze,0);const ha=Ze.token;Pa(Ze,32768|ur);const Xo=wf(Ze,ur,0,ro,1,Ze.tokenPos,Ze.linePos,Ze.colPos);var oo;return Ze.token===8457273&&Sn(Ze,31),1024&ur&&ha===16863278&&(Xo.type===\"Identifier\"?Sn(Ze,117):(oo=Xo).property&&oo.property.type===\"PrivateIdentifier\"&&Sn(Ze,123)),Ze.assignable=2,Ts(Ze,ur,Ui,Bi,Yi,{type:\"UnaryExpression\",operator:ya[255&ha],argument:Xo,prefix:!0})}(_,v0,Mt,Ft,nt,qt,ot);case 86106:return Zt(_,v0,0,ot,Ft,nt,qt);case 2162700:return function(Ze,ur,ri,Ui,Bi,Yi,ro){const ha=ho(Ze,ur,void 0,ri,Ui,0,2,0,Bi,Yi,ro);return 256&ur&&64&Ze.destructible&&Sn(Ze,60),8&Ze.destructible&&Sn(Ze,59),ha}(_,v0,Wx?0:1,ot,Ft,nt,qt);case 69271571:return function(Ze,ur,ri,Ui,Bi,Yi,ro){const ha=hi(Ze,ur,void 0,ri,Ui,0,2,0,Bi,Yi,ro);return 256&ur&&64&Ze.destructible&&Sn(Ze,60),8&Ze.destructible&&Sn(Ze,59),ha}(_,v0,Wx?0:1,ot,Ft,nt,qt);case 67174411:return function(Ze,ur,ri,Ui,Bi,Yi,ro,ha){Ze.flags=128^(128|Ze.flags);const{tokenPos:Xo,linePos:oo,colPos:ts}=Ze;Pa(Ze,1073774592|ur);const Gl=64&ur?al({parent:void 0,type:2},1024):void 0;if(Ko(Ze,ur=134225920^(134225920|ur),16))return S(Ze,ur,Gl,[],ri,0,Yi,ro,ha);let Gp,Sc=0;Ze.destructible&=-385;let Ss=[],Ws=0,Zc=0;const{tokenPos:ef,linePos:wp,colPos:Pm}=Ze;for(Ze.assignable=1;Ze.token!==16;){const{token:Im,tokenPos:S5,linePos:qw,colPos:s2}=Ze;if(143360&Im)Gl&&op(Ze,ur,Gl,Ze.tokenValue,1,0),Gp=Tp(Ze,ur,Ui,0,1,0,1,1,S5,qw,s2),Ze.token===16||Ze.token===18?2&Ze.assignable?(Sc|=16,Zc=1):(537079808&Im)!=537079808&&(36864&Im)!=36864||(Zc=1):(Ze.token===1077936157?Zc=1:Sc|=16,Gp=tl(Ze,ur,Gp,1,0,S5,qw,s2),Ze.token!==16&&Ze.token!==18&&(Gp=cl(Ze,ur,1,0,S5,qw,s2,Gp)));else{if((2097152&Im)!=2097152){if(Im===14){Gp=ba(Ze,ur,Gl,16,Ui,Bi,0,1,0,S5,qw,s2),16&Ze.destructible&&Sn(Ze,71),Zc=1,!Ws||Ze.token!==16&&Ze.token!==18||Ss.push(Gp),Sc|=8;break}if(Sc|=16,Gp=o6(Ze,ur,1,0,1,S5,qw,s2),!Ws||Ze.token!==16&&Ze.token!==18||Ss.push(Gp),Ze.token===18&&(Ws||(Ws=1,Ss=[Gp])),Ws){for(;Ko(Ze,32768|ur,18);)Ss.push(o6(Ze,ur,1,0,1,Ze.tokenPos,Ze.linePos,Ze.colPos));Ze.assignable=2,Gp=Ts(Ze,ur,ef,wp,Pm,{type:\"SequenceExpression\",expressions:Ss})}return $u(Ze,ur,16),Ze.destructible=Sc,Gp}Gp=Im===2162700?ho(Ze,1073741824|ur,Gl,0,1,0,Ui,Bi,S5,qw,s2):hi(Ze,1073741824|ur,Gl,0,1,0,Ui,Bi,S5,qw,s2),Sc|=Ze.destructible,Zc=1,Ze.assignable=2,Ze.token!==16&&Ze.token!==18&&(8&Sc&&Sn(Ze,118),Gp=tl(Ze,ur,Gp,0,0,S5,qw,s2),Sc|=16,Ze.token!==16&&Ze.token!==18&&(Gp=cl(Ze,ur,0,0,S5,qw,s2,Gp)))}if(!Ws||Ze.token!==16&&Ze.token!==18||Ss.push(Gp),!Ko(Ze,32768|ur,18))break;if(Ws||(Ws=1,Ss=[Gp]),Ze.token===16){Sc|=8;break}}return Ws&&(Ze.assignable=2,Gp=Ts(Ze,ur,ef,wp,Pm,{type:\"SequenceExpression\",expressions:Ss})),$u(Ze,ur,16),16&Sc&&8&Sc&&Sn(Ze,145),Sc|=256&Ze.destructible?256:0|128&Ze.destructible?128:0,Ze.token===10?(48&Sc&&Sn(Ze,46),4196352&ur&&128&Sc&&Sn(Ze,29),2098176&ur&&256&Sc&&Sn(Ze,30),Zc&&(Ze.flags|=128),S(Ze,ur,Gl,Ws?Ss:[Gp],ri,0,Yi,ro,ha)):(8&Sc&&Sn(Ze,139),Ze.destructible=256^(256|Ze.destructible)|Sc,128&ur?Ts(Ze,ur,Xo,oo,ts,{type:\"ParenthesizedExpression\",expression:Gp}):Gp)}(_,v0,Wx,1,0,Ft,nt,qt);case 86021:case 86022:case 86023:return function(Ze,ur,ri,Ui,Bi){const Yi=ya[255&Ze.token],ro=Ze.token===86023?null:Yi===\"true\";return Pa(Ze,ur),Ze.assignable=2,Ts(Ze,ur,ri,Ui,Bi,512&ur?{type:\"Literal\",value:ro,raw:Yi}:{type:\"Literal\",value:ro})}(_,v0,Ft,nt,qt);case 86113:return function(Ze,ur){const{tokenPos:ri,linePos:Ui,colPos:Bi}=Ze;return Pa(Ze,ur),Ze.assignable=2,Ts(Ze,ur,ri,Ui,Bi,{type:\"ThisExpression\"})}(_,v0);case 65540:return function(Ze,ur,ri,Ui,Bi){const{tokenRaw:Yi,tokenRegExp:ro,tokenValue:ha}=Ze;return Pa(Ze,ur),Ze.assignable=2,Ts(Ze,ur,ri,Ui,Bi,512&ur?{type:\"Literal\",value:ha,regex:ro,raw:Yi}:{type:\"Literal\",value:ha,regex:ro})}(_,v0,Ft,nt,qt);case 133:case 86096:return function(Ze,ur,ri,Ui,Bi,Yi){let ro=null,ha=null;const Xo=ji(Ze,ur=16777216^(16778240|ur));Xo.length&&(Ui=Ze.tokenPos,Bi=Ze.linePos,Yi=Ze.colPos),Pa(Ze,ur),4096&Ze.token&&Ze.token!==20567&&(bl(Ze,ur,Ze.token)&&Sn(Ze,114),(537079808&Ze.token)==537079808&&Sn(Ze,115),ro=Ye(Ze,ur,0));let oo=ur;Ko(Ze,32768|ur,20567)?(ha=wf(Ze,ur,0,ri,0,Ze.tokenPos,Ze.linePos,Ze.colPos),oo|=524288):oo=524288^(524288|oo);const ts=d(Ze,oo,ur,void 0,2,0,ri);return Ze.assignable=2,Ts(Ze,ur,Ui,Bi,Yi,1&ur?{type:\"ClassExpression\",id:ro,superClass:ha,decorators:Xo,body:ts}:{type:\"ClassExpression\",id:ro,superClass:ha,body:ts})}(_,v0,ot,Ft,nt,qt);case 86111:return function(Ze,ur,ri,Ui,Bi){switch(Pa(Ze,ur),Ze.token){case 67108991:Sn(Ze,161);case 67174411:(524288&ur)<1&&Sn(Ze,26),16384&ur&&Sn(Ze,143),Ze.assignable=2;break;case 69271571:case 67108877:(262144&ur)<1&&Sn(Ze,27),16384&ur&&Sn(Ze,143),Ze.assignable=1;break;default:Sn(Ze,28,\"super\")}return Ts(Ze,ur,ri,Ui,Bi,{type:\"Super\"})}(_,v0,Ft,nt,qt);case 67174409:return R0(_,v0,Ft,nt,qt);case 67174408:return R1(_,v0);case 86109:return function(Ze,ur,ri,Ui,Bi,Yi){const ro=Ye(Ze,32768|ur,0),{tokenPos:ha,linePos:Xo,colPos:oo}=Ze;if(Ko(Ze,ur,67108877)){if(67108864&ur&&Ze.token===143494)return Ze.assignable=2,function(Gp,Sc,Ss,Ws,Zc,ef){const wp=Ye(Gp,Sc,0);return Ts(Gp,Sc,Ws,Zc,ef,{type:\"MetaProperty\",meta:Ss,property:wp})}(Ze,ur,ro,Ui,Bi,Yi);Sn(Ze,91)}Ze.assignable=2,(16842752&Ze.token)==16842752&&Sn(Ze,62,ya[255&Ze.token]);const ts=Tp(Ze,ur,2,1,0,0,ri,1,ha,Xo,oo);ur=134217728^(134217728|ur),Ze.token===67108991&&Sn(Ze,162);const Gl=zx(Ze,ur,ts,ri,ha,Xo,oo);return Ze.assignable=2,Ts(Ze,ur,Ui,Bi,Yi,{type:\"NewExpression\",callee:Gl,arguments:Ze.token===67174411?Se(Ze,ur,ri):[]})}(_,v0,ot,Ft,nt,qt);case 134283389:return e0(_,v0,Ft,nt,qt);case 131:return C0(_,v0,Ft,nt,qt);case 86108:return function(Ze,ur,ri,Ui,Bi,Yi,ro){let ha=Ye(Ze,ur,0);return Ze.token===67108877?Xd(Ze,ur,ha,Bi,Yi,ro):(ri&&Sn(Ze,137),ha=M0(Ze,ur,Ui,Bi,Yi,ro),Ze.assignable=2,tl(Ze,ur,ha,Ui,0,Bi,Yi,ro))}(_,v0,Ix,ot,Ft,nt,qt);case 8456258:if(16&v0)return mt(_,v0,1,Ft,nt,qt);default:if(nw(v0,_.token))return Od(_,v0,Ft,nt,qt);Sn(_,28,ya[255&_.token])}}function Xd(_,v0,w1,Ix,Wx,_e){return(2048&v0)==0&&Sn(_,163),Pa(_,v0),_.token!==143495&&_.tokenValue!==\"meta\"&&Sn(_,28,ya[255&_.token]),_.assignable=2,Ts(_,v0,Ix,Wx,_e,{type:\"MetaProperty\",meta:w1,property:Ye(_,v0,0)})}function M0(_,v0,w1,Ix,Wx,_e){$u(_,32768|v0,67174411),_.token===14&&Sn(_,138);const ot=o6(_,v0,1,0,w1,_.tokenPos,_.linePos,_.colPos);return $u(_,v0,16),Ts(_,v0,Ix,Wx,_e,{type:\"ImportExpression\",source:ot})}function e0(_,v0,w1,Ix,Wx){const{tokenRaw:_e,tokenValue:ot}=_;return Pa(_,v0),_.assignable=2,Ts(_,v0,w1,Ix,Wx,512&v0?{type:\"Literal\",value:ot,bigint:_e.slice(0,-1),raw:_e}:{type:\"Literal\",value:ot,bigint:_e.slice(0,-1)})}function R0(_,v0,w1,Ix,Wx){_.assignable=2;const{tokenValue:_e,tokenRaw:ot,tokenPos:Mt,linePos:Ft,colPos:nt}=_;return $u(_,v0,67174409),Ts(_,v0,w1,Ix,Wx,{type:\"TemplateLiteral\",expressions:[],quasis:[H1(_,v0,_e,ot,Mt,Ft,nt,!0)]})}function R1(_,v0){v0=134217728^(134217728|v0);const{tokenValue:w1,tokenRaw:Ix,tokenPos:Wx,linePos:_e,colPos:ot}=_;$u(_,32768|v0,67174408);const Mt=[H1(_,v0,w1,Ix,Wx,_e,ot,!1)],Ft=[Nl(_,v0,0,1,_.tokenPos,_.linePos,_.colPos)];for(_.token!==1074790415&&Sn(_,80);(_.token=xi(_,v0))!==67174409;){const{tokenValue:nt,tokenRaw:qt,tokenPos:Ze,linePos:ur,colPos:ri}=_;$u(_,32768|v0,67174408),Mt.push(H1(_,v0,nt,qt,Ze,ur,ri,!1)),Ft.push(Nl(_,v0,0,1,_.tokenPos,_.linePos,_.colPos)),_.token!==1074790415&&Sn(_,80)}{const{tokenValue:nt,tokenRaw:qt,tokenPos:Ze,linePos:ur,colPos:ri}=_;$u(_,v0,67174409),Mt.push(H1(_,v0,nt,qt,Ze,ur,ri,!0))}return Ts(_,v0,Wx,_e,ot,{type:\"TemplateLiteral\",expressions:Ft,quasis:Mt})}function H1(_,v0,w1,Ix,Wx,_e,ot,Mt){const Ft=Ts(_,v0,Wx,_e,ot,{type:\"TemplateElement\",value:{cooked:w1,raw:Ix},tail:Mt}),nt=Mt?1:2;return 2&v0&&(Ft.start+=1,Ft.range[0]+=1,Ft.end-=nt,Ft.range[1]-=nt),4&v0&&(Ft.loc.start.column+=1,Ft.loc.end.column-=nt),Ft}function Jx(_,v0,w1,Ix,Wx){$u(_,32768|(v0=134217728^(134217728|v0)),14);const _e=o6(_,v0,1,0,0,_.tokenPos,_.linePos,_.colPos);return _.assignable=1,Ts(_,v0,w1,Ix,Wx,{type:\"SpreadElement\",argument:_e})}function Se(_,v0,w1){Pa(_,32768|v0);const Ix=[];if(_.token===16)return Pa(_,v0),Ix;for(;_.token!==16&&(_.token===14?Ix.push(Jx(_,v0,_.tokenPos,_.linePos,_.colPos)):Ix.push(o6(_,v0,1,0,w1,_.tokenPos,_.linePos,_.colPos)),_.token===18)&&(Pa(_,32768|v0),_.token!==16););return $u(_,v0,16),Ix}function Ye(_,v0,w1){const{tokenValue:Ix,tokenPos:Wx,linePos:_e,colPos:ot}=_;return Pa(_,v0),Ts(_,v0,Wx,_e,ot,268435456&v0?{type:\"Identifier\",name:Ix,pattern:w1===1}:{type:\"Identifier\",name:Ix})}function tt(_,v0){const{tokenValue:w1,tokenRaw:Ix,tokenPos:Wx,linePos:_e,colPos:ot}=_;return _.token===134283389?e0(_,v0,Wx,_e,ot):(Pa(_,v0),_.assignable=2,Ts(_,v0,Wx,_e,ot,512&v0?{type:\"Literal\",value:w1,raw:Ix}:{type:\"Literal\",value:w1}))}function Er(_,v0,w1,Ix,Wx,_e,ot,Mt,Ft,nt){Pa(_,32768|v0);const qt=Wx?wl(_,v0,8457014):0;let Ze,ur=null,ri=w1?{parent:void 0,type:2}:void 0;if(_.token===67174411)(1&_e)<1&&Sn(_,37,\"Function\");else{const Ui=4&Ix&&((8192&v0)<1||(2048&v0)<1)?4:64;pm(_,v0|(3072&v0)<<11,_.token),w1&&(4&Ui?PF(_,v0,w1,_.tokenValue,Ui):op(_,v0,w1,_.tokenValue,Ui,Ix),ri=al(ri,256),_e&&2&_e&&Lf(_,_.tokenValue)),Ze=_.token,143360&_.token?ur=Ye(_,v0,0):Sn(_,28,ya[255&_.token])}return v0=32243712^(32243712|v0)|67108864|2*ot+qt<<21|(qt?0:1073741824),w1&&(ri=al(ri,512)),Ts(_,v0,Mt,Ft,nt,{type:\"FunctionDeclaration\",id:ur,params:P1(_,8388608|v0,ri,0,1),body:Id(_,143360^(143360|v0),w1?al(ri,128):ri,8,Ze,w1?ri.scopeError:void 0),async:ot===1,generator:qt===1})}function Zt(_,v0,w1,Ix,Wx,_e,ot){Pa(_,32768|v0);const Mt=wl(_,v0,8457014),Ft=2*w1+Mt<<21;let nt,qt=null,Ze=64&v0?{parent:void 0,type:2}:void 0;(176128&_.token)>0&&(pm(_,32243712^(32243712|v0)|Ft,_.token),Ze&&(Ze=al(Ze,256)),nt=_.token,qt=Ye(_,v0,0)),v0=32243712^(32243712|v0)|67108864|Ft|(Mt?0:1073741824),Ze&&(Ze=al(Ze,512));const ur=P1(_,8388608|v0,Ze,Ix,1),ri=Id(_,-134377473&v0,Ze&&al(Ze,128),0,nt,void 0);return _.assignable=2,Ts(_,v0,Wx,_e,ot,{type:\"FunctionExpression\",id:qt,params:ur,body:ri,async:w1===1,generator:Mt===1})}function hi(_,v0,w1,Ix,Wx,_e,ot,Mt,Ft,nt,qt){Pa(_,32768|v0);const Ze=[];let ur=0;for(v0=134217728^(134217728|v0);_.token!==20;)if(Ko(_,32768|v0,18))Ze.push(null);else{let Ui;const{token:Bi,tokenPos:Yi,linePos:ro,colPos:ha,tokenValue:Xo}=_;if(143360&Bi)if(Ui=Tp(_,v0,ot,0,1,0,Wx,1,Yi,ro,ha),_.token===1077936157){2&_.assignable&&Sn(_,24),Pa(_,32768|v0),w1&&Z4(_,v0,w1,Xo,ot,Mt);const oo=o6(_,v0,1,1,Wx,_.tokenPos,_.linePos,_.colPos);Ui=Ts(_,v0,Yi,ro,ha,_e?{type:\"AssignmentPattern\",left:Ui,right:oo}:{type:\"AssignmentExpression\",operator:\"=\",left:Ui,right:oo}),ur|=256&_.destructible?256:0|128&_.destructible?128:0}else _.token===18||_.token===20?(2&_.assignable?ur|=16:w1&&Z4(_,v0,w1,Xo,ot,Mt),ur|=256&_.destructible?256:0|128&_.destructible?128:0):(ur|=1&ot?32:(2&ot)<1?16:0,Ui=tl(_,v0,Ui,Wx,0,Yi,ro,ha),_.token!==18&&_.token!==20?(_.token!==1077936157&&(ur|=16),Ui=cl(_,v0,Wx,_e,Yi,ro,ha,Ui)):_.token!==1077936157&&(ur|=2&_.assignable?16:32));else 2097152&Bi?(Ui=_.token===2162700?ho(_,v0,w1,0,Wx,_e,ot,Mt,Yi,ro,ha):hi(_,v0,w1,0,Wx,_e,ot,Mt,Yi,ro,ha),ur|=_.destructible,_.assignable=16&_.destructible?2:1,_.token===18||_.token===20?2&_.assignable&&(ur|=16):8&_.destructible?Sn(_,68):(Ui=tl(_,v0,Ui,Wx,0,Yi,ro,ha),ur=2&_.assignable?16:0,_.token!==18&&_.token!==20?Ui=cl(_,v0,Wx,_e,Yi,ro,ha,Ui):_.token!==1077936157&&(ur|=2&_.assignable?16:32))):Bi===14?(Ui=ba(_,v0,w1,20,ot,Mt,0,Wx,_e,Yi,ro,ha),ur|=_.destructible,_.token!==18&&_.token!==20&&Sn(_,28,ya[255&_.token])):(Ui=wf(_,v0,1,0,1,Yi,ro,ha),_.token!==18&&_.token!==20?(Ui=cl(_,v0,Wx,_e,Yi,ro,ha,Ui),(3&ot)<1&&Bi===67174411&&(ur|=16)):2&_.assignable?ur|=16:Bi===67174411&&(ur|=1&_.assignable&&3&ot?32:16));if(Ze.push(Ui),!Ko(_,32768|v0,18)||_.token===20)break}$u(_,v0,20);const ri=Ts(_,v0,Ft,nt,qt,{type:_e?\"ArrayPattern\":\"ArrayExpression\",elements:Ze});return!Ix&&4194304&_.token?po(_,v0,ur,Wx,_e,Ft,nt,qt,ri):(_.destructible=ur,ri)}function po(_,v0,w1,Ix,Wx,_e,ot,Mt,Ft){_.token!==1077936157&&Sn(_,24),Pa(_,32768|v0),16&w1&&Sn(_,24),Wx||dF(_,Ft);const{tokenPos:nt,linePos:qt,colPos:Ze}=_,ur=o6(_,v0,1,1,Ix,nt,qt,Ze);return _.destructible=72^(72|w1)|(128&_.destructible?128:0)|(256&_.destructible?256:0),Ts(_,v0,_e,ot,Mt,Wx?{type:\"AssignmentPattern\",left:Ft,right:ur}:{type:\"AssignmentExpression\",left:Ft,operator:\"=\",right:ur})}function ba(_,v0,w1,Ix,Wx,_e,ot,Mt,Ft,nt,qt,Ze){Pa(_,32768|v0);let ur=null,ri=0,{token:Ui,tokenValue:Bi,tokenPos:Yi,linePos:ro,colPos:ha}=_;if(143360&Ui)_.assignable=1,ur=Tp(_,v0,Wx,0,1,0,Mt,1,Yi,ro,ha),Ui=_.token,ur=tl(_,v0,ur,Mt,0,Yi,ro,ha),_.token!==18&&_.token!==Ix&&(2&_.assignable&&_.token===1077936157&&Sn(_,68),ri|=16,ur=cl(_,v0,Mt,Ft,Yi,ro,ha,ur)),2&_.assignable?ri|=16:Ui===Ix||Ui===18?w1&&Z4(_,v0,w1,Bi,Wx,_e):ri|=32,ri|=128&_.destructible?128:0;else if(Ui===Ix)Sn(_,39);else{if(!(2097152&Ui)){ri|=32,ur=wf(_,v0,1,Mt,1,_.tokenPos,_.linePos,_.colPos);const{token:Xo,tokenPos:oo,linePos:ts,colPos:Gl}=_;return Xo===1077936157&&Xo!==Ix&&Xo!==18?(2&_.assignable&&Sn(_,24),ur=cl(_,v0,Mt,Ft,oo,ts,Gl,ur),ri|=16):(Xo===18?ri|=16:Xo!==Ix&&(ur=cl(_,v0,Mt,Ft,oo,ts,Gl,ur)),ri|=1&_.assignable?32:16),_.destructible=ri,_.token!==Ix&&_.token!==18&&Sn(_,155),Ts(_,v0,nt,qt,Ze,{type:Ft?\"RestElement\":\"SpreadElement\",argument:ur})}ur=_.token===2162700?ho(_,v0,w1,1,Mt,Ft,Wx,_e,Yi,ro,ha):hi(_,v0,w1,1,Mt,Ft,Wx,_e,Yi,ro,ha),Ui=_.token,Ui!==1077936157&&Ui!==Ix&&Ui!==18?(8&_.destructible&&Sn(_,68),ur=tl(_,v0,ur,Mt,0,Yi,ro,ha),ri|=2&_.assignable?16:0,(4194304&_.token)==4194304?(_.token!==1077936157&&(ri|=16),ur=cl(_,v0,Mt,Ft,Yi,ro,ha,ur)):((8454144&_.token)==8454144&&(ur=hl(_,v0,1,Yi,ro,ha,4,Ui,ur)),Ko(_,32768|v0,22)&&(ur=Vf(_,v0,ur,Yi,ro,ha)),ri|=2&_.assignable?16:32)):ri|=Ix===1074790415&&Ui!==1077936157?16:_.destructible}if(_.token!==Ix)if(1&Wx&&(ri|=ot?16:32),Ko(_,32768|v0,1077936157)){16&ri&&Sn(_,24),dF(_,ur);const Xo=o6(_,v0,1,1,Mt,_.tokenPos,_.linePos,_.colPos);ur=Ts(_,v0,Yi,ro,ha,Ft?{type:\"AssignmentPattern\",left:ur,right:Xo}:{type:\"AssignmentExpression\",left:ur,operator:\"=\",right:Xo}),ri=16}else ri|=16;return _.destructible=ri,Ts(_,v0,nt,qt,Ze,{type:Ft?\"RestElement\":\"SpreadElement\",argument:ur})}function oa(_,v0,w1,Ix,Wx,_e,ot){const Mt=(64&w1)<1?31981568:14680064;let Ft=64&(v0=(v0|Mt)^Mt|(88&w1)<<18|100925440)?al({parent:void 0,type:2},512):void 0;const nt=function(qt,Ze,ur,ri,Ui,Bi){$u(qt,Ze,67174411);const Yi=[];if(qt.flags=128^(128|qt.flags),qt.token===16)return 512&ri&&Sn(qt,35,\"Setter\",\"one\",\"\"),Pa(qt,Ze),Yi;256&ri&&Sn(qt,35,\"Getter\",\"no\",\"s\"),512&ri&&qt.token===14&&Sn(qt,36),Ze=134217728^(134217728|Ze);let ro=0,ha=0;for(;qt.token!==18;){let Xo=null;const{tokenPos:oo,linePos:ts,colPos:Gl}=qt;if(143360&qt.token?((1024&Ze)<1&&((36864&qt.token)==36864&&(qt.flags|=256),(537079808&qt.token)==537079808&&(qt.flags|=512)),Xo=We(qt,Ze,ur,1|ri,0,oo,ts,Gl)):(qt.token===2162700?Xo=ho(qt,Ze,ur,1,Bi,1,Ui,0,oo,ts,Gl):qt.token===69271571?Xo=hi(qt,Ze,ur,1,Bi,1,Ui,0,oo,ts,Gl):qt.token===14&&(Xo=ba(qt,Ze,ur,16,Ui,0,0,Bi,1,oo,ts,Gl)),ha=1,48&qt.destructible&&Sn(qt,47)),qt.token===1077936157&&(Pa(qt,32768|Ze),ha=1,Xo=Ts(qt,Ze,oo,ts,Gl,{type:\"AssignmentPattern\",left:Xo,right:o6(qt,Ze,1,1,0,qt.tokenPos,qt.linePos,qt.colPos)})),ro++,Yi.push(Xo),!Ko(qt,Ze,18)||qt.token===16)break}return 512&ri&&ro!==1&&Sn(qt,35,\"Setter\",\"one\",\"\"),ur&&ur.scopeError!==void 0&&M4(ur.scopeError),ha&&(qt.flags|=128),$u(qt,Ze,16),Yi}(_,8388608|v0,Ft,w1,1,Ix);return Ft&&(Ft=al(Ft,128)),Ts(_,v0,Wx,_e,ot,{type:\"FunctionExpression\",params:nt,body:Id(_,-134230017&v0,Ft,0,void 0,void 0),async:(16&w1)>0,generator:(8&w1)>0,id:null})}function ho(_,v0,w1,Ix,Wx,_e,ot,Mt,Ft,nt,qt){Pa(_,v0);const Ze=[];let ur=0,ri=0;for(v0=134217728^(134217728|v0);_.token!==1074790415;){const{token:Bi,tokenValue:Yi,linePos:ro,colPos:ha,tokenPos:Xo}=_;if(Bi===14)Ze.push(ba(_,v0,w1,1074790415,ot,Mt,0,Wx,_e,Xo,ro,ha));else{let oo,ts=0,Gl=null;const Gp=_.token;if(143360&_.token||_.token===121)if(Gl=Ye(_,v0,0),_.token===18||_.token===1074790415||_.token===1077936157)if(ts|=4,1024&v0&&(537079808&Bi)==537079808?ur|=16:nE(_,v0,ot,Bi,0),w1&&Z4(_,v0,w1,Yi,ot,Mt),Ko(_,32768|v0,1077936157)){ur|=8;const Sc=o6(_,v0,1,1,Wx,_.tokenPos,_.linePos,_.colPos);ur|=256&_.destructible?256:0|128&_.destructible?128:0,oo=Ts(_,v0,Xo,ro,ha,{type:\"AssignmentPattern\",left:-2147483648&v0?Object.assign({},Gl):Gl,right:Sc})}else ur|=(Bi===209008?128:0)|(Bi===121?16:0),oo=-2147483648&v0?Object.assign({},Gl):Gl;else if(Ko(_,32768|v0,21)){const{tokenPos:Sc,linePos:Ss,colPos:Ws}=_;if(Yi===\"__proto__\"&&ri++,143360&_.token){const Zc=_.token,ef=_.tokenValue;ur|=Gp===121?16:0,oo=Tp(_,v0,ot,0,1,0,Wx,1,Sc,Ss,Ws);const{token:wp}=_;oo=tl(_,v0,oo,Wx,0,Sc,Ss,Ws),_.token===18||_.token===1074790415?wp===1077936157||wp===1074790415||wp===18?(ur|=128&_.destructible?128:0,2&_.assignable?ur|=16:w1&&(143360&Zc)==143360&&Z4(_,v0,w1,ef,ot,Mt)):ur|=1&_.assignable?32:16:(4194304&_.token)==4194304?(2&_.assignable?ur|=16:wp!==1077936157?ur|=32:w1&&Z4(_,v0,w1,ef,ot,Mt),oo=cl(_,v0,Wx,_e,Sc,Ss,Ws,oo)):(ur|=16,(8454144&_.token)==8454144&&(oo=hl(_,v0,1,Sc,Ss,Ws,4,wp,oo)),Ko(_,32768|v0,22)&&(oo=Vf(_,v0,oo,Sc,Ss,Ws)))}else(2097152&_.token)==2097152?(oo=_.token===69271571?hi(_,v0,w1,0,Wx,_e,ot,Mt,Sc,Ss,Ws):ho(_,v0,w1,0,Wx,_e,ot,Mt,Sc,Ss,Ws),ur=_.destructible,_.assignable=16&ur?2:1,_.token===18||_.token===1074790415?2&_.assignable&&(ur|=16):8&_.destructible?Sn(_,68):(oo=tl(_,v0,oo,Wx,0,Sc,Ss,Ws),ur=2&_.assignable?16:0,(4194304&_.token)==4194304?oo=SA(_,v0,Wx,_e,Sc,Ss,Ws,oo):((8454144&_.token)==8454144&&(oo=hl(_,v0,1,Sc,Ss,Ws,4,Bi,oo)),Ko(_,32768|v0,22)&&(oo=Vf(_,v0,oo,Sc,Ss,Ws)),ur|=2&_.assignable?16:32))):(oo=wf(_,v0,1,Wx,1,Sc,Ss,Ws),ur|=1&_.assignable?32:16,_.token===18||_.token===1074790415?2&_.assignable&&(ur|=16):(oo=tl(_,v0,oo,Wx,0,Sc,Ss,Ws),ur=2&_.assignable?16:0,_.token!==18&&Bi!==1074790415&&(_.token!==1077936157&&(ur|=16),oo=cl(_,v0,Wx,_e,Sc,Ss,Ws,oo))))}else _.token===69271571?(ur|=16,Bi===209007&&(ts|=16),ts|=2|(Bi===12402?256:Bi===12403?512:1),Gl=Za(_,v0,Wx),ur|=_.assignable,oo=oa(_,v0,ts,Wx,_.tokenPos,_.linePos,_.colPos)):143360&_.token?(ur|=16,Bi===121&&Sn(_,92),Bi===209007&&(1&_.flags&&Sn(_,128),ts|=16),Gl=Ye(_,v0,0),ts|=Bi===12402?256:Bi===12403?512:1,oo=oa(_,v0,ts,Wx,_.tokenPos,_.linePos,_.colPos)):_.token===67174411?(ur|=16,ts|=1,oo=oa(_,v0,ts,Wx,_.tokenPos,_.linePos,_.colPos)):_.token===8457014?(ur|=16,Bi===12402||Bi===12403?Sn(_,40):Bi===143483&&Sn(_,92),Pa(_,v0),ts|=9|(Bi===209007?16:0),143360&_.token?Gl=Ye(_,v0,0):(134217728&_.token)==134217728?Gl=tt(_,v0):_.token===69271571?(ts|=2,Gl=Za(_,v0,Wx),ur|=_.assignable):Sn(_,28,ya[255&_.token]),oo=oa(_,v0,ts,Wx,_.tokenPos,_.linePos,_.colPos)):(134217728&_.token)==134217728?(Bi===209007&&(ts|=16),ts|=Bi===12402?256:Bi===12403?512:1,ur|=16,Gl=tt(_,v0),oo=oa(_,v0,ts,Wx,_.tokenPos,_.linePos,_.colPos)):Sn(_,129);else if((134217728&_.token)==134217728)if(Gl=tt(_,v0),_.token===21){$u(_,32768|v0,21);const{tokenPos:Sc,linePos:Ss,colPos:Ws}=_;if(Yi===\"__proto__\"&&ri++,143360&_.token){oo=Tp(_,v0,ot,0,1,0,Wx,1,Sc,Ss,Ws);const{token:Zc,tokenValue:ef}=_;oo=tl(_,v0,oo,Wx,0,Sc,Ss,Ws),_.token===18||_.token===1074790415?Zc===1077936157||Zc===1074790415||Zc===18?2&_.assignable?ur|=16:w1&&Z4(_,v0,w1,ef,ot,Mt):ur|=1&_.assignable?32:16:_.token===1077936157?(2&_.assignable&&(ur|=16),oo=cl(_,v0,Wx,_e,Sc,Ss,Ws,oo)):(ur|=16,oo=cl(_,v0,Wx,_e,Sc,Ss,Ws,oo))}else(2097152&_.token)==2097152?(oo=_.token===69271571?hi(_,v0,w1,0,Wx,_e,ot,Mt,Sc,Ss,Ws):ho(_,v0,w1,0,Wx,_e,ot,Mt,Sc,Ss,Ws),ur=_.destructible,_.assignable=16&ur?2:1,_.token===18||_.token===1074790415?2&_.assignable&&(ur|=16):(8&_.destructible)!=8&&(oo=tl(_,v0,oo,Wx,0,Sc,Ss,Ws),ur=2&_.assignable?16:0,(4194304&_.token)==4194304?oo=SA(_,v0,Wx,_e,Sc,Ss,Ws,oo):((8454144&_.token)==8454144&&(oo=hl(_,v0,1,Sc,Ss,Ws,4,Bi,oo)),Ko(_,32768|v0,22)&&(oo=Vf(_,v0,oo,Sc,Ss,Ws)),ur|=2&_.assignable?16:32))):(oo=wf(_,v0,1,0,1,Sc,Ss,Ws),ur|=1&_.assignable?32:16,_.token===18||_.token===1074790415?2&_.assignable&&(ur|=16):(oo=tl(_,v0,oo,Wx,0,Sc,Ss,Ws),ur=1&_.assignable?0:16,_.token!==18&&_.token!==1074790415&&(_.token!==1077936157&&(ur|=16),oo=cl(_,v0,Wx,_e,Sc,Ss,Ws,oo))))}else _.token===67174411?(ts|=1,oo=oa(_,v0,ts,Wx,_.tokenPos,_.linePos,_.colPos),ur=16|_.assignable):Sn(_,130);else if(_.token===69271571)if(Gl=Za(_,v0,Wx),ur|=256&_.destructible?256:0,ts|=2,_.token===21){Pa(_,32768|v0);const{tokenPos:Sc,linePos:Ss,colPos:Ws,tokenValue:Zc,token:ef}=_;if(143360&_.token){oo=Tp(_,v0,ot,0,1,0,Wx,1,Sc,Ss,Ws);const{token:wp}=_;oo=tl(_,v0,oo,Wx,0,Sc,Ss,Ws),(4194304&_.token)==4194304?(ur|=2&_.assignable?16:wp===1077936157?0:32,oo=SA(_,v0,Wx,_e,Sc,Ss,Ws,oo)):_.token===18||_.token===1074790415?wp===1077936157||wp===1074790415||wp===18?2&_.assignable?ur|=16:w1&&(143360&ef)==143360&&Z4(_,v0,w1,Zc,ot,Mt):ur|=1&_.assignable?32:16:(ur|=16,oo=cl(_,v0,Wx,_e,Sc,Ss,Ws,oo))}else(2097152&_.token)==2097152?(oo=_.token===69271571?hi(_,v0,w1,0,Wx,_e,ot,Mt,Sc,Ss,Ws):ho(_,v0,w1,0,Wx,_e,ot,Mt,Sc,Ss,Ws),ur=_.destructible,_.assignable=16&ur?2:1,_.token===18||_.token===1074790415?2&_.assignable&&(ur|=16):8&ur?Sn(_,59):(oo=tl(_,v0,oo,Wx,0,Sc,Ss,Ws),ur=2&_.assignable?16|ur:0,(4194304&_.token)==4194304?(_.token!==1077936157&&(ur|=16),oo=SA(_,v0,Wx,_e,Sc,Ss,Ws,oo)):((8454144&_.token)==8454144&&(oo=hl(_,v0,1,Sc,Ss,Ws,4,Bi,oo)),Ko(_,32768|v0,22)&&(oo=Vf(_,v0,oo,Sc,Ss,Ws)),ur|=2&_.assignable?16:32))):(oo=wf(_,v0,1,0,1,Sc,Ss,Ws),ur|=1&_.assignable?32:16,_.token===18||_.token===1074790415?2&_.assignable&&(ur|=16):(oo=tl(_,v0,oo,Wx,0,Sc,Ss,Ws),ur=1&_.assignable?0:16,_.token!==18&&_.token!==1074790415&&(_.token!==1077936157&&(ur|=16),oo=cl(_,v0,Wx,_e,Sc,Ss,Ws,oo))))}else _.token===67174411?(ts|=1,oo=oa(_,v0,ts,Wx,_.tokenPos,ro,ha),ur=16):Sn(_,41);else if(Bi===8457014)if($u(_,32768|v0,8457014),ts|=8,143360&_.token){const{token:Sc,line:Ss,index:Ws}=_;Gl=Ye(_,v0,0),ts|=1,_.token===67174411?(ur|=16,oo=oa(_,v0,ts,Wx,_.tokenPos,_.linePos,_.colPos)):B6(Ws,Ss,Ws,Sc===209007?43:Sc===12402||_.token===12403?42:44,ya[255&Sc])}else(134217728&_.token)==134217728?(ur|=16,Gl=tt(_,v0),ts|=1,oo=oa(_,v0,ts,Wx,Xo,ro,ha)):_.token===69271571?(ur|=16,ts|=3,Gl=Za(_,v0,Wx),oo=oa(_,v0,ts,Wx,_.tokenPos,_.linePos,_.colPos)):Sn(_,122);else Sn(_,28,ya[255&Bi]);ur|=128&_.destructible?128:0,_.destructible=ur,Ze.push(Ts(_,v0,Xo,ro,ha,{type:\"Property\",key:Gl,value:oo,kind:768&ts?512&ts?\"set\":\"get\":\"init\",computed:(2&ts)>0,method:(1&ts)>0,shorthand:(4&ts)>0}))}if(ur|=_.destructible,_.token!==18)break;Pa(_,v0)}$u(_,v0,1074790415),ri>1&&(ur|=64);const Ui=Ts(_,v0,Ft,nt,qt,{type:_e?\"ObjectPattern\":\"ObjectExpression\",properties:Ze});return!Ix&&4194304&_.token?po(_,v0,ur,Wx,_e,Ft,nt,qt,Ui):(_.destructible=ur,Ui)}function Za(_,v0,w1){Pa(_,32768|v0);const Ix=o6(_,134217728^(134217728|v0),1,0,w1,_.tokenPos,_.linePos,_.colPos);return $u(_,v0,20),Ix}function Od(_,v0,w1,Ix,Wx){const{tokenValue:_e}=_,ot=Ye(_,v0,0);if(_.assignable=1,_.token===10){let Mt;return 64&v0&&(Mt=w8(_,v0,_e)),_.flags=128^(128|_.flags),N0(_,v0,Mt,[ot],0,w1,Ix,Wx)}return ot}function Cl(_,v0,w1,Ix,Wx,_e,ot,Mt,Ft,nt){return _e||Sn(_,54),Wx&&Sn(_,48),_.flags&=-129,N0(_,v0,64&v0?w8(_,v0,w1):void 0,[Ix],ot,Mt,Ft,nt)}function S(_,v0,w1,Ix,Wx,_e,ot,Mt,Ft){Wx||Sn(_,54);for(let nt=0;nt<Ix.length;++nt)dF(_,Ix[nt]);return N0(_,v0,w1,Ix,_e,ot,Mt,Ft)}function N0(_,v0,w1,Ix,Wx,_e,ot,Mt){1&_.flags&&Sn(_,45),$u(_,32768|v0,10),v0=15728640^(15728640|v0)|Wx<<22;const Ft=_.token!==2162700;let nt;if(w1&&w1.scopeError!==void 0&&M4(w1.scopeError),Ft)nt=o6(_,v0,1,0,0,_.tokenPos,_.linePos,_.colPos);else{switch(w1&&(w1=al(w1,128)),nt=Id(_,134246400^(134246400|v0),w1,16,void 0,void 0),_.token){case 69271571:(1&_.flags)<1&&Sn(_,112);break;case 67108877:case 67174409:case 22:Sn(_,113);case 67174411:(1&_.flags)<1&&Sn(_,112),_.flags|=1024}(8454144&_.token)==8454144&&(1&_.flags)<1&&Sn(_,28,ya[255&_.token]),(33619968&_.token)==33619968&&Sn(_,121)}return _.assignable=2,Ts(_,v0,_e,ot,Mt,{type:\"ArrowFunctionExpression\",params:Ix,body:nt,async:Wx===1,expression:Ft})}function P1(_,v0,w1,Ix,Wx){$u(_,v0,67174411),_.flags=128^(128|_.flags);const _e=[];if(Ko(_,v0,16))return _e;v0=134217728^(134217728|v0);let ot=0;for(;_.token!==18;){let Mt;const{tokenPos:Ft,linePos:nt,colPos:qt}=_;if(143360&_.token?((1024&v0)<1&&((36864&_.token)==36864&&(_.flags|=256),(537079808&_.token)==537079808&&(_.flags|=512)),Mt=We(_,v0,w1,1|Wx,0,Ft,nt,qt)):(_.token===2162700?Mt=ho(_,v0,w1,1,Ix,1,Wx,0,Ft,nt,qt):_.token===69271571?Mt=hi(_,v0,w1,1,Ix,1,Wx,0,Ft,nt,qt):_.token===14?Mt=ba(_,v0,w1,16,Wx,0,0,Ix,1,Ft,nt,qt):Sn(_,28,ya[255&_.token]),ot=1,48&_.destructible&&Sn(_,47)),_.token===1077936157&&(Pa(_,32768|v0),ot=1,Mt=Ts(_,v0,Ft,nt,qt,{type:\"AssignmentPattern\",left:Mt,right:o6(_,v0,1,1,Ix,_.tokenPos,_.linePos,_.colPos)})),_e.push(Mt),!Ko(_,v0,18)||_.token===16)break}return ot&&(_.flags|=128),w1&&(ot||1024&v0)&&w1.scopeError!==void 0&&M4(w1.scopeError),$u(_,v0,16),_e}function zx(_,v0,w1,Ix,Wx,_e,ot){const{token:Mt}=_;if(67108864&Mt){if(Mt===67108877)return Pa(_,1073741824|v0),_.assignable=1,zx(_,v0,Ts(_,v0,Wx,_e,ot,{type:\"MemberExpression\",object:w1,computed:!1,property:kf(_,v0)}),0,Wx,_e,ot);if(Mt===69271571){Pa(_,32768|v0);const{tokenPos:Ft,linePos:nt,colPos:qt}=_,Ze=Nl(_,v0,Ix,1,Ft,nt,qt);return $u(_,v0,20),_.assignable=1,zx(_,v0,Ts(_,v0,Wx,_e,ot,{type:\"MemberExpression\",object:w1,computed:!0,property:Ze}),0,Wx,_e,ot)}if(Mt===67174408||Mt===67174409)return _.assignable=2,zx(_,v0,Ts(_,v0,Wx,_e,ot,{type:\"TaggedTemplateExpression\",tag:w1,quasi:_.token===67174408?R1(_,65536|v0):R0(_,v0,_.tokenPos,_.linePos,_.colPos)}),0,Wx,_e,ot)}return w1}function $e(_,v0,w1,Ix,Wx,_e){return _.token===209008&&Sn(_,29),2098176&v0&&_.token===241773&&Sn(_,30),(537079808&_.token)==537079808&&(_.flags|=512),Cl(_,v0,_.tokenValue,Ye(_,v0,0),0,w1,1,Ix,Wx,_e)}function bt(_,v0,w1,Ix,Wx,_e,ot,Mt,Ft,nt){Pa(_,32768|v0);const qt=64&v0?al({parent:void 0,type:2},1024):void 0;if(Ko(_,v0=134217728^(134217728|v0),16))return _.token===10?(1&ot&&Sn(_,45),S(_,v0,qt,[],Ix,1,Mt,Ft,nt)):Ts(_,v0,Mt,Ft,nt,{type:\"CallExpression\",callee:w1,arguments:[]});let Ze=0,ur=null,ri=0;_.destructible=384^(384|_.destructible);const Ui=[];for(;_.token!==16;){const{token:Bi,tokenPos:Yi,linePos:ro,colPos:ha}=_;if(143360&Bi)qt&&op(_,v0,qt,_.tokenValue,Wx,0),ur=Tp(_,v0,Wx,0,1,0,1,1,Yi,ro,ha),_.token===16||_.token===18?2&_.assignable?(Ze|=16,ri=1):(537079808&Bi)==537079808?_.flags|=512:(36864&Bi)==36864&&(_.flags|=256):(_.token===1077936157?ri=1:Ze|=16,ur=tl(_,v0,ur,1,0,Yi,ro,ha),_.token!==16&&_.token!==18&&(ur=cl(_,v0,1,0,Yi,ro,ha,ur)));else if(2097152&Bi)ur=Bi===2162700?ho(_,v0,qt,0,1,0,Wx,_e,Yi,ro,ha):hi(_,v0,qt,0,1,0,Wx,_e,Yi,ro,ha),Ze|=_.destructible,ri=1,_.token!==16&&_.token!==18&&(8&Ze&&Sn(_,118),ur=tl(_,v0,ur,0,0,Yi,ro,ha),Ze|=16,(8454144&_.token)==8454144&&(ur=hl(_,v0,1,Mt,Ft,nt,4,Bi,ur)),Ko(_,32768|v0,22)&&(ur=Vf(_,v0,ur,Mt,Ft,nt)));else{if(Bi!==14){for(ur=o6(_,v0,1,0,0,Yi,ro,ha),Ze=_.assignable,Ui.push(ur);Ko(_,32768|v0,18);)Ui.push(o6(_,v0,1,0,0,Yi,ro,ha));return Ze|=_.assignable,$u(_,v0,16),_.destructible=16|Ze,_.assignable=2,Ts(_,v0,Mt,Ft,nt,{type:\"CallExpression\",callee:w1,arguments:Ui})}ur=ba(_,v0,qt,16,Wx,_e,1,1,0,Yi,ro,ha),Ze|=(_.token===16?0:16)|_.destructible,ri=1}if(Ui.push(ur),!Ko(_,32768|v0,18))break}return $u(_,v0,16),Ze|=256&_.destructible?256:0|128&_.destructible?128:0,_.token===10?(48&Ze&&Sn(_,25),(1&_.flags||1&ot)&&Sn(_,45),128&Ze&&Sn(_,29),2098176&v0&&256&Ze&&Sn(_,30),ri&&(_.flags|=128),S(_,v0,qt,Ui,Ix,1,Mt,Ft,nt)):(8&Ze&&Sn(_,59),_.assignable=2,Ts(_,v0,Mt,Ft,nt,{type:\"CallExpression\",callee:w1,arguments:Ui}))}function qr(_,v0,w1,Ix,Wx,_e,ot){let Mt=ji(_,v0=16777216^(16778240|v0));Mt.length&&(Wx=_.tokenPos,_e=_.linePos,ot=_.colPos),_.leadingDecorators.length&&(_.leadingDecorators.push(...Mt),Mt=_.leadingDecorators,_.leadingDecorators=[]),Pa(_,v0);let Ft=null,nt=null;const{tokenValue:qt}=_;4096&_.token&&_.token!==20567?(bl(_,v0,_.token)&&Sn(_,114),(537079808&_.token)==537079808&&Sn(_,115),w1&&(op(_,v0,w1,qt,32,0),Ix&&2&Ix&&Lf(_,qt)),Ft=Ye(_,v0,0)):(1&Ix)<1&&Sn(_,37,\"Class\");let Ze=v0;Ko(_,32768|v0,20567)?(nt=wf(_,v0,0,0,0,_.tokenPos,_.linePos,_.colPos),Ze|=524288):Ze=524288^(524288|Ze);const ur=d(_,Ze,v0,w1,2,8,0);return Ts(_,v0,Wx,_e,ot,1&v0?{type:\"ClassDeclaration\",id:Ft,superClass:nt,decorators:Mt,body:ur}:{type:\"ClassDeclaration\",id:Ft,superClass:nt,body:ur})}function ji(_,v0){const w1=[];if(1&v0)for(;_.token===133;)w1.push(B0(_,v0,_.tokenPos,_.linePos,_.colPos));return w1}function B0(_,v0,w1,Ix,Wx){Pa(_,32768|v0);let _e=Tp(_,v0,2,0,1,0,0,1,w1,Ix,Wx);return _e=tl(_,v0,_e,0,0,w1,Ix,Wx),Ts(_,v0,w1,Ix,Wx,{type:\"Decorator\",expression:_e})}function d(_,v0,w1,Ix,Wx,_e,ot){const{tokenPos:Mt,linePos:Ft,colPos:nt}=_;$u(_,32768|v0,2162700),v0=134217728^(134217728|v0),_.flags=32^(32|_.flags);const qt=[];let Ze;for(;_.token!==1074790415;){let ur=0;Ze=ji(_,v0),ur=Ze.length,ur>0&&_.tokenValue===\"constructor\"&&Sn(_,106),_.token===1074790415&&Sn(_,105),Ko(_,v0,1074790417)?ur>0&&Sn(_,116):qt.push(N(_,v0,Ix,w1,Wx,Ze,0,ot,_.tokenPos,_.linePos,_.colPos))}return $u(_,8&_e?32768|v0:v0,1074790415),Ts(_,v0,Mt,Ft,nt,{type:\"ClassBody\",body:qt})}function N(_,v0,w1,Ix,Wx,_e,ot,Mt,Ft,nt,qt){let Ze=ot?32:0,ur=null;const{token:ri,tokenPos:Ui,linePos:Bi,colPos:Yi}=_;if(176128&ri)switch(ur=Ye(_,v0,0),ri){case 36972:if(!ot&&_.token!==67174411)return N(_,v0,w1,Ix,Wx,_e,1,Mt,Ft,nt,qt);break;case 209007:if(_.token!==67174411&&(1&_.flags)<1){if(1&v0&&(1073741824&_.token)==1073741824)return _1(_,v0,ur,Ze,_e,Ui,Bi,Yi);Ze|=16|(wl(_,v0,8457014)?8:0)}break;case 12402:if(_.token!==67174411){if(1&v0&&(1073741824&_.token)==1073741824)return _1(_,v0,ur,Ze,_e,Ui,Bi,Yi);Ze|=256}break;case 12403:if(_.token!==67174411){if(1&v0&&(1073741824&_.token)==1073741824)return _1(_,v0,ur,Ze,_e,Ui,Bi,Yi);Ze|=512}}else ri===69271571?(Ze|=2,ur=Za(_,Ix,Mt)):(134217728&ri)==134217728?ur=tt(_,v0):ri===8457014?(Ze|=8,Pa(_,v0)):1&v0&&_.token===131?(Ze|=4096,ur=C0(_,v0,Ui,Bi,Yi),v0|=16384):1&v0&&(1073741824&_.token)==1073741824?(Ze|=128,v0|=16384):ri===122?(ur=Ye(_,v0,0),_.token!==67174411&&Sn(_,28,ya[255&_.token])):Sn(_,28,ya[255&_.token]);if(792&Ze&&(143360&_.token?ur=Ye(_,v0,0):(134217728&_.token)==134217728?ur=tt(_,v0):_.token===69271571?(Ze|=2,ur=Za(_,v0,0)):_.token===122?ur=Ye(_,v0,0):1&v0&&_.token===131?(Ze|=4096,ur=C0(_,v0,Ui,Bi,Yi)):Sn(_,131)),(2&Ze)<1&&(_.tokenValue===\"constructor\"?((1073741824&_.token)==1073741824?Sn(_,125):(32&Ze)<1&&_.token===67174411&&(920&Ze?Sn(_,50,\"accessor\"):(524288&v0)<1&&(32&_.flags?Sn(_,51):_.flags|=32)),Ze|=64):(4096&Ze)<1&&824&Ze&&_.tokenValue===\"prototype\"&&Sn(_,49)),1&v0&&_.token!==67174411)return _1(_,v0,ur,Ze,_e,Ui,Bi,Yi);const ro=oa(_,v0,Ze,Mt,_.tokenPos,_.linePos,_.colPos);return Ts(_,v0,Ft,nt,qt,1&v0?{type:\"MethodDefinition\",kind:(32&Ze)<1&&64&Ze?\"constructor\":256&Ze?\"get\":512&Ze?\"set\":\"method\",static:(32&Ze)>0,computed:(2&Ze)>0,key:ur,decorators:_e,value:ro}:{type:\"MethodDefinition\",kind:(32&Ze)<1&&64&Ze?\"constructor\":256&Ze?\"get\":512&Ze?\"set\":\"method\",static:(32&Ze)>0,computed:(2&Ze)>0,key:ur,value:ro})}function C0(_,v0,w1,Ix,Wx){Pa(_,v0);const{tokenValue:_e}=_;return _e===\"constructor\"&&Sn(_,124),Pa(_,v0),Ts(_,v0,w1,Ix,Wx,{type:\"PrivateIdentifier\",name:_e})}function _1(_,v0,w1,Ix,Wx,_e,ot,Mt){let Ft=null;if(8&Ix&&Sn(_,0),_.token===1077936157){Pa(_,32768|v0);const{tokenPos:nt,linePos:qt,colPos:Ze}=_;_.token===537079928&&Sn(_,115),Ft=Tp(_,16384|v0,2,0,1,0,0,1,nt,qt,Ze),(1073741824&_.token)!=1073741824&&(Ft=tl(_,16384|v0,Ft,0,0,nt,qt,Ze),Ft=cl(_,16384|v0,0,0,nt,qt,Ze,Ft),_.token===18&&(Ft=hF(_,v0,0,_e,ot,Mt,Ft)))}return Ts(_,v0,_e,ot,Mt,{type:\"PropertyDefinition\",key:w1,value:Ft,static:(32&Ix)>0,computed:(2&Ix)>0,decorators:Wx})}function jx(_,v0,w1,Ix,Wx,_e,ot,Mt){if(143360&_.token)return We(_,v0,w1,Ix,Wx,_e,ot,Mt);(2097152&_.token)!=2097152&&Sn(_,28,ya[255&_.token]);const Ft=_.token===69271571?hi(_,v0,w1,1,0,1,Ix,Wx,_e,ot,Mt):ho(_,v0,w1,1,0,1,Ix,Wx,_e,ot,Mt);return 16&_.destructible&&Sn(_,47),32&_.destructible&&Sn(_,47),Ft}function We(_,v0,w1,Ix,Wx,_e,ot,Mt){const{tokenValue:Ft,token:nt}=_;return 1024&v0&&((537079808&nt)==537079808?Sn(_,115):(36864&nt)==36864&&Sn(_,114)),(20480&nt)==20480&&Sn(_,99),2099200&v0&&nt===241773&&Sn(_,30),nt===241739&&24&Ix&&Sn(_,97),4196352&v0&&nt===209008&&Sn(_,95),Pa(_,v0),w1&&Z4(_,v0,w1,Ft,Ix,Wx),Ts(_,v0,_e,ot,Mt,{type:\"Identifier\",name:Ft})}function mt(_,v0,w1,Ix,Wx,_e){if(Pa(_,v0),_.token===8456259)return Ts(_,v0,Ix,Wx,_e,{type:\"JSXFragment\",openingFragment:$t(_,v0,Ix,Wx,_e),children:_i(_,v0),closingFragment:Zn(_,v0,w1,_.tokenPos,_.linePos,_.colPos)});let ot=null,Mt=[];const Ft=function(nt,qt,Ze,ur,ri,Ui){(143360&nt.token)!=143360&&(4096&nt.token)!=4096&&Sn(nt,0);const Bi=Bo(nt,qt,nt.tokenPos,nt.linePos,nt.colPos),Yi=function(ha,Xo){const oo=[];for(;ha.token!==8457016&&ha.token!==8456259&&ha.token!==1048576;)oo.push(Xs(ha,Xo,ha.tokenPos,ha.linePos,ha.colPos));return oo}(nt,qt),ro=nt.token===8457016;return nt.token===8456259?Zl(nt,qt):($u(nt,qt,8457016),Ze?$u(nt,qt,8456259):Zl(nt,qt)),Ts(nt,qt,ur,ri,Ui,{type:\"JSXOpeningElement\",name:Bi,attributes:Yi,selfClosing:ro})}(_,v0,w1,Ix,Wx,_e);if(!Ft.selfClosing){Mt=_i(_,v0),ot=function(qt,Ze,ur,ri,Ui,Bi){$u(qt,Ze,25);const Yi=Bo(qt,Ze,qt.tokenPos,qt.linePos,qt.colPos);return ur?$u(qt,Ze,8456259):qt.token=Zl(qt,Ze),Ts(qt,Ze,ri,Ui,Bi,{type:\"JSXClosingElement\",name:Yi})}(_,v0,w1,_.tokenPos,_.linePos,_.colPos);const nt=xf(ot.name);xf(Ft.name)!==nt&&Sn(_,149,nt)}return Ts(_,v0,Ix,Wx,_e,{type:\"JSXElement\",children:Mt,openingElement:Ft,closingElement:ot})}function $t(_,v0,w1,Ix,Wx){return Zl(_,v0),Ts(_,v0,w1,Ix,Wx,{type:\"JSXOpeningFragment\"})}function Zn(_,v0,w1,Ix,Wx,_e){return $u(_,v0,25),$u(_,v0,8456259),Ts(_,v0,Ix,Wx,_e,{type:\"JSXClosingFragment\"})}function _i(_,v0){const w1=[];for(;_.token!==25;)_.index=_.tokenPos=_.startPos,_.column=_.colPos=_.startColumn,_.line=_.linePos=_.startLine,Zl(_,v0),w1.push(Va(_,v0,_.tokenPos,_.linePos,_.colPos));return w1}function Va(_,v0,w1,Ix,Wx){return _.token===138?function(_e,ot,Mt,Ft,nt){Zl(_e,ot);const qt={type:\"JSXText\",value:_e.tokenValue};return 512&ot&&(qt.raw=_e.tokenRaw),Ts(_e,ot,Mt,Ft,nt,qt)}(_,v0,w1,Ix,Wx):_.token===2162700?jc(_,v0,0,0,w1,Ix,Wx):_.token===8456258?mt(_,v0,0,w1,Ix,Wx):void Sn(_,0)}function Bo(_,v0,w1,Ix,Wx){ZF(_);let _e=xu(_,v0,w1,Ix,Wx);if(_.token===21)return ll(_,v0,_e,w1,Ix,Wx);for(;Ko(_,v0,67108877);)ZF(_),_e=Rt(_,v0,_e,w1,Ix,Wx);return _e}function Rt(_,v0,w1,Ix,Wx,_e){return Ts(_,v0,Ix,Wx,_e,{type:\"JSXMemberExpression\",object:w1,property:xu(_,v0,_.tokenPos,_.linePos,_.colPos)})}function Xs(_,v0,w1,Ix,Wx){if(_.token===2162700)return function(Mt,Ft,nt,qt,Ze){Pa(Mt,Ft),$u(Mt,Ft,14);const ur=o6(Mt,Ft,1,0,0,Mt.tokenPos,Mt.linePos,Mt.colPos);return $u(Mt,Ft,1074790415),Ts(Mt,Ft,nt,qt,Ze,{type:\"JSXSpreadAttribute\",argument:ur})}(_,v0,w1,Ix,Wx);ZF(_);let _e=null,ot=xu(_,v0,w1,Ix,Wx);if(_.token===21&&(ot=ll(_,v0,ot,w1,Ix,Wx)),_.token===1077936157){const Mt=qf(_,v0),{tokenPos:Ft,linePos:nt,colPos:qt}=_;switch(Mt){case 134283267:_e=tt(_,v0);break;case 8456258:_e=mt(_,v0,1,Ft,nt,qt);break;case 2162700:_e=jc(_,v0,1,1,Ft,nt,qt);break;default:Sn(_,148)}}return Ts(_,v0,w1,Ix,Wx,{type:\"JSXAttribute\",value:_e,name:ot})}function ll(_,v0,w1,Ix,Wx,_e){return $u(_,v0,21),Ts(_,v0,Ix,Wx,_e,{type:\"JSXNamespacedName\",namespace:w1,name:xu(_,v0,_.tokenPos,_.linePos,_.colPos)})}function jc(_,v0,w1,Ix,Wx,_e,ot){Pa(_,v0);const{tokenPos:Mt,linePos:Ft,colPos:nt}=_;if(_.token===14)return function(Ze,ur,ri,Ui,Bi){$u(Ze,ur,14);const Yi=o6(Ze,ur,1,0,0,Ze.tokenPos,Ze.linePos,Ze.colPos);return $u(Ze,ur,1074790415),Ts(Ze,ur,ri,Ui,Bi,{type:\"JSXSpreadChild\",expression:Yi})}(_,v0,Mt,Ft,nt);let qt=null;return _.token===1074790415?(Ix&&Sn(_,151),qt=function(Ze,ur,ri,Ui,Bi){return Ze.startPos=Ze.tokenPos,Ze.startLine=Ze.linePos,Ze.startColumn=Ze.colPos,Ts(Ze,ur,ri,Ui,Bi,{type:\"JSXEmptyExpression\"})}(_,v0,_.startPos,_.startLine,_.startColumn)):qt=o6(_,v0,1,0,0,Mt,Ft,nt),w1?$u(_,v0,1074790415):Zl(_,v0),Ts(_,v0,Wx,_e,ot,{type:\"JSXExpressionContainer\",expression:qt})}function xu(_,v0,w1,Ix,Wx){const{tokenValue:_e}=_;return Pa(_,v0),Ts(_,v0,w1,Ix,Wx,{type:\"JSXIdentifier\",name:_e})}var Ml=Object.freeze({__proto__:null}),iE=function(_,v0){return o2(_,v0,0)},eA=function(_,v0){return o2(_,v0,3072)},y2=function(_,v0){return o2(_,v0,0)},FA=Object.defineProperty({ESTree:Ml,parse:iE,parseModule:eA,parseScript:y2,version:\"4.1.5\"},\"__esModule\",{value:!0});const Rp={module:!0,next:!0,ranges:!0,webcompat:!0,loc:!0,raw:!0,directives:!0,globalReturn:!0,impliedStrict:!1,preserveParens:!1,lexical:!1,identifierPattern:!1,jsx:!0,specDeviation:!0,uniqueKeyInPattern:!1};function VS(_,v0){const{parse:w1}=FA,Ix=[],Wx=[],_e=w1(_,Object.assign(Object.assign({},Rp),{},{module:v0,onComment:Ix,onToken:Wx}));return _e.comments=Ix,_e.tokens=Wx,_e}return{parsers:{meriyah:QF(function(_,v0,w1){const{result:Ix,error:Wx}=b(()=>VS(_,!0),()=>VS(_,!1));if(!Ix)throw function(_e){const{message:ot,line:Mt,column:Ft}=_e;return typeof Mt!=\"number\"?_e:c(ot,{start:{line:Mt,column:Ft}})}(Wx);return zw(Ix,Object.assign(Object.assign({},w1),{},{originalText:_}))})}}})})(Xy0);var HZ={exports:{}};(function(a,u){(function(c,b){a.exports=b()})(new Function(\"return this\")(),function(){return(()=>{var c={118:K=>{K.exports=function(s0){if(typeof s0!=\"function\")throw TypeError(String(s0)+\" is not a function\");return s0}},6956:(K,s0,Y)=>{var F0=Y(2521);K.exports=function(J0){if(!F0(J0))throw TypeError(String(J0)+\" is not an object\");return J0}},9729:(K,s0,Y)=>{var F0=Y(9969),J0=Y(8331),e1=Y(1588),t1=function(r1){return function(F1,a1,D1){var W0,i1=F0(F1),x1=J0(i1.length),ux=e1(D1,x1);if(r1&&a1!=a1){for(;x1>ux;)if((W0=i1[ux++])!=W0)return!0}else for(;x1>ux;ux++)if((r1||ux in i1)&&i1[ux]===a1)return r1||ux||0;return!r1&&-1}};K.exports={includes:t1(!0),indexOf:t1(!1)}},9719:(K,s0,Y)=>{var F0=Y(2763);K.exports=function(J0,e1){var t1=[][J0];return!!t1&&F0(function(){t1.call(null,e1||function(){throw 1},1)})}},3407:K=>{var s0=Math.floor,Y=function(e1,t1){var r1=e1.length,F1=s0(r1/2);return r1<8?F0(e1,t1):J0(Y(e1.slice(0,F1),t1),Y(e1.slice(F1),t1),t1)},F0=function(e1,t1){for(var r1,F1,a1=e1.length,D1=1;D1<a1;){for(F1=D1,r1=e1[D1];F1&&t1(e1[F1-1],r1)>0;)e1[F1]=e1[--F1];F1!==D1++&&(e1[F1]=r1)}return e1},J0=function(e1,t1,r1){for(var F1=e1.length,a1=t1.length,D1=0,W0=0,i1=[];D1<F1||W0<a1;)D1<F1&&W0<a1?i1.push(r1(e1[D1],t1[W0])<=0?e1[D1++]:t1[W0++]):i1.push(D1<F1?e1[D1++]:t1[W0++]);return i1};K.exports=Y},8347:(K,s0,Y)=>{var F0=Y(2521),J0=Y(3964),e1=Y(1386)(\"species\");K.exports=function(t1,r1){var F1;return J0(t1)&&(typeof(F1=t1.constructor)!=\"function\"||F1!==Array&&!J0(F1.prototype)?F0(F1)&&(F1=F1[e1])===null&&(F1=void 0):F1=void 0),new(F1===void 0?Array:F1)(r1===0?0:r1)}},2849:K=>{var s0={}.toString;K.exports=function(Y){return s0.call(Y).slice(8,-1)}},9538:(K,s0,Y)=>{var F0=Y(6395),J0=Y(2849),e1=Y(1386)(\"toStringTag\"),t1=J0(function(){return arguments}())==\"Arguments\";K.exports=F0?J0:function(r1){var F1,a1,D1;return r1===void 0?\"Undefined\":r1===null?\"Null\":typeof(a1=function(W0,i1){try{return W0[i1]}catch{}}(F1=Object(r1),e1))==\"string\"?a1:t1?J0(F1):(D1=J0(F1))==\"Object\"&&typeof F1.callee==\"function\"?\"Arguments\":D1}},4488:(K,s0,Y)=>{var F0=Y(2766),J0=Y(9593),e1=Y(8769),t1=Y(7455);K.exports=function(r1,F1){for(var a1=J0(F1),D1=t1.f,W0=e1.f,i1=0;i1<a1.length;i1++){var x1=a1[i1];F0(r1,x1)||D1(r1,x1,W0(F1,x1))}}},1471:(K,s0,Y)=>{var F0=Y(7703),J0=Y(7455),e1=Y(5938);K.exports=F0?function(t1,r1,F1){return J0.f(t1,r1,e1(1,F1))}:function(t1,r1,F1){return t1[r1]=F1,t1}},5938:K=>{K.exports=function(s0,Y){return{enumerable:!(1&s0),configurable:!(2&s0),writable:!(4&s0),value:Y}}},2385:(K,s0,Y)=>{var F0=Y(687),J0=Y(7455),e1=Y(5938);K.exports=function(t1,r1,F1){var a1=F0(r1);a1 in t1?J0.f(t1,a1,e1(0,F1)):t1[a1]=F1}},7703:(K,s0,Y)=>{var F0=Y(2763);K.exports=!F0(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7})},6004:(K,s0,Y)=>{var F0=Y(6121),J0=Y(2521),e1=F0.document,t1=J0(e1)&&J0(e1.createElement);K.exports=function(r1){return t1?e1.createElement(r1):{}}},5249:(K,s0,Y)=>{var F0=Y(8635).match(/firefox\\/(\\d+)/i);K.exports=!!F0&&+F0[1]},2049:(K,s0,Y)=>{var F0=Y(8635);K.exports=/MSIE|Trident/.test(F0)},8635:(K,s0,Y)=>{var F0=Y(7642);K.exports=F0(\"navigator\",\"userAgent\")||\"\"},6962:(K,s0,Y)=>{var F0,J0,e1=Y(6121),t1=Y(8635),r1=e1.process,F1=r1&&r1.versions,a1=F1&&F1.v8;a1?J0=(F0=a1.split(\".\"))[0]<4?1:F0[0]+F0[1]:t1&&(!(F0=t1.match(/Edge\\/(\\d+)/))||F0[1]>=74)&&(F0=t1.match(/Chrome\\/(\\d+)/))&&(J0=F0[1]),K.exports=J0&&+J0},8998:(K,s0,Y)=>{var F0=Y(8635).match(/AppleWebKit\\/(\\d+)\\./);K.exports=!!F0&&+F0[1]},4731:K=>{K.exports=[\"constructor\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"toLocaleString\",\"toString\",\"valueOf\"]},7309:(K,s0,Y)=>{var F0=Y(6121),J0=Y(8769).f,e1=Y(1471),t1=Y(2327),r1=Y(6565),F1=Y(4488),a1=Y(676);K.exports=function(D1,W0){var i1,x1,ux,K1,ee,Gx=D1.target,ve=D1.global,qe=D1.stat;if(i1=ve?F0:qe?F0[Gx]||r1(Gx,{}):(F0[Gx]||{}).prototype)for(x1 in W0){if(K1=W0[x1],ux=D1.noTargetGet?(ee=J0(i1,x1))&&ee.value:i1[x1],!a1(ve?x1:Gx+(qe?\".\":\"#\")+x1,D1.forced)&&ux!==void 0){if(typeof K1==typeof ux)continue;F1(K1,ux)}(D1.sham||ux&&ux.sham)&&e1(K1,\"sham\",!0),t1(i1,x1,K1,D1)}}},2763:K=>{K.exports=function(s0){try{return!!s0()}catch{return!0}}},5538:(K,s0,Y)=>{var F0=Y(3964),J0=Y(8331),e1=Y(3322),t1=function(r1,F1,a1,D1,W0,i1,x1,ux){for(var K1,ee=W0,Gx=0,ve=!!x1&&e1(x1,ux,3);Gx<D1;){if(Gx in a1){if(K1=ve?ve(a1[Gx],Gx,F1):a1[Gx],i1>0&&F0(K1))ee=t1(r1,F1,K1,J0(K1.length),ee,i1-1)-1;else{if(ee>=9007199254740991)throw TypeError(\"Exceed the acceptable array length\");r1[ee]=K1}ee++}Gx++}return ee};K.exports=t1},3322:(K,s0,Y)=>{var F0=Y(118);K.exports=function(J0,e1,t1){if(F0(J0),e1===void 0)return J0;switch(t1){case 0:return function(){return J0.call(e1)};case 1:return function(r1){return J0.call(e1,r1)};case 2:return function(r1,F1){return J0.call(e1,r1,F1)};case 3:return function(r1,F1,a1){return J0.call(e1,r1,F1,a1)}}return function(){return J0.apply(e1,arguments)}}},7642:(K,s0,Y)=>{var F0=Y(1035),J0=Y(6121),e1=function(t1){return typeof t1==\"function\"?t1:void 0};K.exports=function(t1,r1){return arguments.length<2?e1(F0[t1])||e1(J0[t1]):F0[t1]&&F0[t1][r1]||J0[t1]&&J0[t1][r1]}},5111:(K,s0,Y)=>{var F0=Y(9538),J0=Y(3403),e1=Y(1386)(\"iterator\");K.exports=function(t1){if(t1!=null)return t1[e1]||t1[\"@@iterator\"]||J0[F0(t1)]}},6121:(K,s0,Y)=>{var F0=function(J0){return J0&&J0.Math==Math&&J0};K.exports=F0(typeof globalThis==\"object\"&&globalThis)||F0(typeof window==\"object\"&&window)||F0(typeof self==\"object\"&&self)||F0(typeof Y.g==\"object\"&&Y.g)||function(){return this}()||Function(\"return this\")()},2766:(K,s0,Y)=>{var F0=Y(4766),J0={}.hasOwnProperty;K.exports=Object.hasOwn||function(e1,t1){return J0.call(F0(e1),t1)}},2048:K=>{K.exports={}},7226:(K,s0,Y)=>{var F0=Y(7703),J0=Y(2763),e1=Y(6004);K.exports=!F0&&!J0(function(){return Object.defineProperty(e1(\"div\"),\"a\",{get:function(){return 7}}).a!=7})},3169:(K,s0,Y)=>{var F0=Y(2763),J0=Y(2849),e1=\"\".split;K.exports=F0(function(){return!Object(\"z\").propertyIsEnumerable(0)})?function(t1){return J0(t1)==\"String\"?e1.call(t1,\"\"):Object(t1)}:Object},9835:(K,s0,Y)=>{var F0=Y(4682),J0=Function.toString;typeof F0.inspectSource!=\"function\"&&(F0.inspectSource=function(e1){return J0.call(e1)}),K.exports=F0.inspectSource},2995:(K,s0,Y)=>{var F0,J0,e1,t1=Y(5546),r1=Y(6121),F1=Y(2521),a1=Y(1471),D1=Y(2766),W0=Y(4682),i1=Y(2562),x1=Y(2048),ux=\"Object already initialized\",K1=r1.WeakMap;if(t1||W0.state){var ee=W0.state||(W0.state=new K1),Gx=ee.get,ve=ee.has,qe=ee.set;F0=function(Ct,vn){if(ve.call(ee,Ct))throw new TypeError(ux);return vn.facade=Ct,qe.call(ee,Ct,vn),vn},J0=function(Ct){return Gx.call(ee,Ct)||{}},e1=function(Ct){return ve.call(ee,Ct)}}else{var Jt=i1(\"state\");x1[Jt]=!0,F0=function(Ct,vn){if(D1(Ct,Jt))throw new TypeError(ux);return vn.facade=Ct,a1(Ct,Jt,vn),vn},J0=function(Ct){return D1(Ct,Jt)?Ct[Jt]:{}},e1=function(Ct){return D1(Ct,Jt)}}K.exports={set:F0,get:J0,has:e1,enforce:function(Ct){return e1(Ct)?J0(Ct):F0(Ct,{})},getterFor:function(Ct){return function(vn){var _n;if(!F1(vn)||(_n=J0(vn)).type!==Ct)throw TypeError(\"Incompatible receiver, \"+Ct+\" required\");return _n}}}},9439:(K,s0,Y)=>{var F0=Y(1386),J0=Y(3403),e1=F0(\"iterator\"),t1=Array.prototype;K.exports=function(r1){return r1!==void 0&&(J0.Array===r1||t1[e1]===r1)}},3964:(K,s0,Y)=>{var F0=Y(2849);K.exports=Array.isArray||function(J0){return F0(J0)==\"Array\"}},676:(K,s0,Y)=>{var F0=Y(2763),J0=/#|\\.prototype\\./,e1=function(D1,W0){var i1=r1[t1(D1)];return i1==a1||i1!=F1&&(typeof W0==\"function\"?F0(W0):!!W0)},t1=e1.normalize=function(D1){return String(D1).replace(J0,\".\").toLowerCase()},r1=e1.data={},F1=e1.NATIVE=\"N\",a1=e1.POLYFILL=\"P\";K.exports=e1},2521:K=>{K.exports=function(s0){return typeof s0==\"object\"?s0!==null:typeof s0==\"function\"}},8451:K=>{K.exports=!1},4572:(K,s0,Y)=>{var F0=Y(6956),J0=Y(9439),e1=Y(8331),t1=Y(3322),r1=Y(5111),F1=Y(4556),a1=function(D1,W0){this.stopped=D1,this.result=W0};K.exports=function(D1,W0,i1){var x1,ux,K1,ee,Gx,ve,qe,Jt=i1&&i1.that,Ct=!(!i1||!i1.AS_ENTRIES),vn=!(!i1||!i1.IS_ITERATOR),_n=!(!i1||!i1.INTERRUPTED),Tr=t1(W0,Jt,1+Ct+_n),Lr=function(En){return x1&&F1(x1),new a1(!0,En)},Pn=function(En){return Ct?(F0(En),_n?Tr(En[0],En[1],Lr):Tr(En[0],En[1])):_n?Tr(En,Lr):Tr(En)};if(vn)x1=D1;else{if(typeof(ux=r1(D1))!=\"function\")throw TypeError(\"Target is not iterable\");if(J0(ux)){for(K1=0,ee=e1(D1.length);ee>K1;K1++)if((Gx=Pn(D1[K1]))&&Gx instanceof a1)return Gx;return new a1(!1)}x1=ux.call(D1)}for(ve=x1.next;!(qe=ve.call(x1)).done;){try{Gx=Pn(qe.value)}catch(En){throw F1(x1),En}if(typeof Gx==\"object\"&&Gx&&Gx instanceof a1)return Gx}return new a1(!1)}},4556:(K,s0,Y)=>{var F0=Y(6956);K.exports=function(J0){var e1=J0.return;if(e1!==void 0)return F0(e1.call(J0)).value}},3403:K=>{K.exports={}},4020:(K,s0,Y)=>{var F0=Y(6962),J0=Y(2763);K.exports=!!Object.getOwnPropertySymbols&&!J0(function(){var e1=Symbol();return!String(e1)||!(Object(e1)instanceof Symbol)||!Symbol.sham&&F0&&F0<41})},5546:(K,s0,Y)=>{var F0=Y(6121),J0=Y(9835),e1=F0.WeakMap;K.exports=typeof e1==\"function\"&&/native code/.test(J0(e1))},7455:(K,s0,Y)=>{var F0=Y(7703),J0=Y(7226),e1=Y(6956),t1=Y(687),r1=Object.defineProperty;s0.f=F0?r1:function(F1,a1,D1){if(e1(F1),a1=t1(a1,!0),e1(D1),J0)try{return r1(F1,a1,D1)}catch{}if(\"get\"in D1||\"set\"in D1)throw TypeError(\"Accessors not supported\");return\"value\"in D1&&(F1[a1]=D1.value),F1}},8769:(K,s0,Y)=>{var F0=Y(7703),J0=Y(7751),e1=Y(5938),t1=Y(9969),r1=Y(687),F1=Y(2766),a1=Y(7226),D1=Object.getOwnPropertyDescriptor;s0.f=F0?D1:function(W0,i1){if(W0=t1(W0),i1=r1(i1,!0),a1)try{return D1(W0,i1)}catch{}if(F1(W0,i1))return e1(!J0.f.call(W0,i1),W0[i1])}},2042:(K,s0,Y)=>{var F0=Y(3224),J0=Y(4731).concat(\"length\",\"prototype\");s0.f=Object.getOwnPropertyNames||function(e1){return F0(e1,J0)}},2719:(K,s0)=>{s0.f=Object.getOwnPropertySymbols},3224:(K,s0,Y)=>{var F0=Y(2766),J0=Y(9969),e1=Y(9729).indexOf,t1=Y(2048);K.exports=function(r1,F1){var a1,D1=J0(r1),W0=0,i1=[];for(a1 in D1)!F0(t1,a1)&&F0(D1,a1)&&i1.push(a1);for(;F1.length>W0;)F0(D1,a1=F1[W0++])&&(~e1(i1,a1)||i1.push(a1));return i1}},7751:(K,s0)=>{var Y={}.propertyIsEnumerable,F0=Object.getOwnPropertyDescriptor,J0=F0&&!Y.call({1:2},1);s0.f=J0?function(e1){var t1=F0(this,e1);return!!t1&&t1.enumerable}:Y},9593:(K,s0,Y)=>{var F0=Y(7642),J0=Y(2042),e1=Y(2719),t1=Y(6956);K.exports=F0(\"Reflect\",\"ownKeys\")||function(r1){var F1=J0.f(t1(r1)),a1=e1.f;return a1?F1.concat(a1(r1)):F1}},1035:(K,s0,Y)=>{var F0=Y(6121);K.exports=F0},2327:(K,s0,Y)=>{var F0=Y(6121),J0=Y(1471),e1=Y(2766),t1=Y(6565),r1=Y(9835),F1=Y(2995),a1=F1.get,D1=F1.enforce,W0=String(String).split(\"String\");(K.exports=function(i1,x1,ux,K1){var ee,Gx=!!K1&&!!K1.unsafe,ve=!!K1&&!!K1.enumerable,qe=!!K1&&!!K1.noTargetGet;typeof ux==\"function\"&&(typeof x1!=\"string\"||e1(ux,\"name\")||J0(ux,\"name\",x1),(ee=D1(ux)).source||(ee.source=W0.join(typeof x1==\"string\"?x1:\"\"))),i1!==F0?(Gx?!qe&&i1[x1]&&(ve=!0):delete i1[x1],ve?i1[x1]=ux:J0(i1,x1,ux)):ve?i1[x1]=ux:t1(x1,ux)})(Function.prototype,\"toString\",function(){return typeof this==\"function\"&&a1(this).source||r1(this)})},7263:K=>{K.exports=function(s0){if(s0==null)throw TypeError(\"Can't call method on \"+s0);return s0}},6565:(K,s0,Y)=>{var F0=Y(6121),J0=Y(1471);K.exports=function(e1,t1){try{J0(F0,e1,t1)}catch{F0[e1]=t1}return t1}},2562:(K,s0,Y)=>{var F0=Y(896),J0=Y(1735),e1=F0(\"keys\");K.exports=function(t1){return e1[t1]||(e1[t1]=J0(t1))}},4682:(K,s0,Y)=>{var F0=Y(6121),J0=Y(6565),e1=\"__core-js_shared__\",t1=F0[e1]||J0(e1,{});K.exports=t1},896:(K,s0,Y)=>{var F0=Y(8451),J0=Y(4682);(K.exports=function(e1,t1){return J0[e1]||(J0[e1]=t1!==void 0?t1:{})})(\"versions\",[]).push({version:\"3.14.0\",mode:F0?\"pure\":\"global\",copyright:\"\\xA9 2021 Denis Pushkarev (zloirock.ru)\"})},1588:(K,s0,Y)=>{var F0=Y(5623),J0=Math.max,e1=Math.min;K.exports=function(t1,r1){var F1=F0(t1);return F1<0?J0(F1+r1,0):e1(F1,r1)}},9969:(K,s0,Y)=>{var F0=Y(3169),J0=Y(7263);K.exports=function(e1){return F0(J0(e1))}},5623:K=>{var s0=Math.ceil,Y=Math.floor;K.exports=function(F0){return isNaN(F0=+F0)?0:(F0>0?Y:s0)(F0)}},8331:(K,s0,Y)=>{var F0=Y(5623),J0=Math.min;K.exports=function(e1){return e1>0?J0(F0(e1),9007199254740991):0}},4766:(K,s0,Y)=>{var F0=Y(7263);K.exports=function(J0){return Object(F0(J0))}},687:(K,s0,Y)=>{var F0=Y(2521);K.exports=function(J0,e1){if(!F0(J0))return J0;var t1,r1;if(e1&&typeof(t1=J0.toString)==\"function\"&&!F0(r1=t1.call(J0))||typeof(t1=J0.valueOf)==\"function\"&&!F0(r1=t1.call(J0))||!e1&&typeof(t1=J0.toString)==\"function\"&&!F0(r1=t1.call(J0)))return r1;throw TypeError(\"Can't convert object to primitive value\")}},6395:(K,s0,Y)=>{var F0={};F0[Y(1386)(\"toStringTag\")]=\"z\",K.exports=String(F0)===\"[object z]\"},1735:K=>{var s0=0,Y=Math.random();K.exports=function(F0){return\"Symbol(\"+String(F0===void 0?\"\":F0)+\")_\"+(++s0+Y).toString(36)}},2020:(K,s0,Y)=>{var F0=Y(4020);K.exports=F0&&!Symbol.sham&&typeof Symbol.iterator==\"symbol\"},1386:(K,s0,Y)=>{var F0=Y(6121),J0=Y(896),e1=Y(2766),t1=Y(1735),r1=Y(4020),F1=Y(2020),a1=J0(\"wks\"),D1=F0.Symbol,W0=F1?D1:D1&&D1.withoutSetter||t1;K.exports=function(i1){return e1(a1,i1)&&(r1||typeof a1[i1]==\"string\")||(r1&&e1(D1,i1)?a1[i1]=D1[i1]:a1[i1]=W0(\"Symbol.\"+i1)),a1[i1]}},4304:(K,s0,Y)=>{var F0=Y(7309),J0=Y(5538),e1=Y(4766),t1=Y(8331),r1=Y(118),F1=Y(8347);F0({target:\"Array\",proto:!0},{flatMap:function(a1){var D1,W0=e1(this),i1=t1(W0.length);return r1(a1),(D1=F1(W0,0)).length=J0(D1,W0,W0,i1,0,1,a1,arguments.length>1?arguments[1]:void 0),D1}})},4070:(K,s0,Y)=>{var F0=Y(7309),J0=Y(118),e1=Y(4766),t1=Y(8331),r1=Y(2763),F1=Y(3407),a1=Y(9719),D1=Y(5249),W0=Y(2049),i1=Y(6962),x1=Y(8998),ux=[],K1=ux.sort,ee=r1(function(){ux.sort(void 0)}),Gx=r1(function(){ux.sort(null)}),ve=a1(\"sort\"),qe=!r1(function(){if(i1)return i1<70;if(!(D1&&D1>3)){if(W0)return!0;if(x1)return x1<603;var Jt,Ct,vn,_n,Tr=\"\";for(Jt=65;Jt<76;Jt++){switch(Ct=String.fromCharCode(Jt),Jt){case 66:case 69:case 70:case 72:vn=3;break;case 68:case 71:vn=4;break;default:vn=2}for(_n=0;_n<47;_n++)ux.push({k:Ct+_n,v:vn})}for(ux.sort(function(Lr,Pn){return Pn.v-Lr.v}),_n=0;_n<ux.length;_n++)Ct=ux[_n].k.charAt(0),Tr.charAt(Tr.length-1)!==Ct&&(Tr+=Ct);return Tr!==\"DGBEFHACIJK\"}});F0({target:\"Array\",proto:!0,forced:ee||!Gx||!ve||!qe},{sort:function(Jt){Jt!==void 0&&J0(Jt);var Ct=e1(this);if(qe)return Jt===void 0?K1.call(Ct):K1.call(Ct,Jt);var vn,_n,Tr=[],Lr=t1(Ct.length);for(_n=0;_n<Lr;_n++)_n in Ct&&Tr.push(Ct[_n]);for(vn=(Tr=F1(Tr,function(Pn){return function(En,cr){return cr===void 0?-1:En===void 0?1:Pn!==void 0?+Pn(En,cr)||0:String(En)>String(cr)?1:-1}}(Jt))).length,_n=0;_n<vn;)Ct[_n]=Tr[_n++];for(;_n<Lr;)delete Ct[_n++];return Ct}})},2612:(K,s0,Y)=>{var F0=Y(7309),J0=Y(4572),e1=Y(2385);F0({target:\"Object\",stat:!0},{fromEntries:function(t1){var r1={};return J0(t1,function(F1,a1){e1(r1,F1,a1)},{AS_ENTRIES:!0}),r1}})},3584:K=>{const s0=Y=>{if(typeof Y!=\"string\")throw new TypeError(\"Expected a string\");const F0=Y.match(/(?:\\r?\\n)/g)||[];if(F0.length===0)return;const J0=F0.filter(e1=>e1===`\\r\n`).length;return J0>F0.length-J0?`\\r\n`:`\n`};K.exports=s0,K.exports.graceful=Y=>typeof Y==\"string\"&&s0(Y)||`\n`},541:K=>{K.exports=function(){return/\\uD83C\\uDFF4\\uDB40\\uDC67\\uDB40\\uDC62(?:\\uDB40\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67|\\uDB40\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDB40\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73)\\uDB40\\uDC7F|\\uD83D\\uDC68(?:\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C\\uDFFB|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFE])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83D\\uDC68|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D[\\uDC66\\uDC67])|[\\u2695\\u2696\\u2708]\\uFE0F|\\uD83D[\\uDC66\\uDC67]|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|(?:\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708])\\uFE0F|\\uD83C\\uDFFB\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C[\\uDFFB-\\uDFFF])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFB\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)\\uD83C\\uDFFB|\\uD83E\\uDDD1(?:\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1)|(?:\\uD83E\\uDDD1\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69]))(?:\\uD83C[\\uDFFB-\\uDFFE])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83D\\uDC69(?:\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFB\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFC-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D(?:\\uD83D[\\uDC68\\uDC69])|\\uD83D[\\uDC68\\uDC69])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|(?:\\uD83E\\uDDD1\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D\\uDC41\\uFE0F\\u200D\\uD83D\\uDDE8|\\uD83D\\uDC69(?:\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708])|(?:(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)\\uFE0F|\\uD83D\\uDC6F|\\uD83E[\\uDD3C\\uDDDE\\uDDDF])\\u200D[\\u2640\\u2642]|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|\\u200D[\\u2640\\u2642])|\\uD83C\\uDFF4\\u200D\\u2620)\\uFE0F|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|\\uD83C\\uDFF3\\uFE0F\\u200D\\uD83C\\uDF08|\\uD83D\\uDC15\\u200D\\uD83E\\uDDBA|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67|\\uD83C\\uDDFD\\uD83C\\uDDF0|\\uD83C\\uDDF4\\uD83C\\uDDF2|\\uD83C\\uDDF6\\uD83C\\uDDE6|[#\\*0-9]\\uFE0F\\u20E3|\\uD83C\\uDDE7(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDF9(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF])|\\uD83C\\uDDEA(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA])|\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF7(?:\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC])|\\uD83D\\uDC69(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF2(?:\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF])|\\uD83C\\uDDE6(?:\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF])|\\uD83C\\uDDF0(?:\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDED(?:\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA])|\\uD83C\\uDDE9(?:\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF])|\\uD83C\\uDDFE(?:\\uD83C[\\uDDEA\\uDDF9])|\\uD83C\\uDDEC(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE])|\\uD83C\\uDDF8(?:\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF])|\\uD83C\\uDDEB(?:\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7])|\\uD83C\\uDDF5(?:\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE])|\\uD83C\\uDDFB(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA])|\\uD83C\\uDDF3(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF])|\\uD83C\\uDDE8(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF5\\uDDF7\\uDDFA-\\uDDFF])|\\uD83C\\uDDF1(?:\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE])|\\uD83C\\uDDFF(?:\\uD83C[\\uDDE6\\uDDF2\\uDDFC])|\\uD83C\\uDDFC(?:\\uD83C[\\uDDEB\\uDDF8])|\\uD83C\\uDDFA(?:\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF])|\\uD83C\\uDDEE(?:\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9])|\\uD83C\\uDDEF(?:\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5])|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u261D\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2\\uDFC7]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC70\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDCAA\\uDD74\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1C\\uDD1E\\uDD1F\\uDD30-\\uDD36\\uDDB5\\uDDB6\\uDDBB\\uDDD2-\\uDDD5])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u231A\\u231B\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u25FE\\u2614\\u2615\\u2648-\\u2653\\u267F\\u2693\\u26A1\\u26AA\\u26AB\\u26BD\\u26BE\\u26C4\\u26C5\\u26CE\\u26D4\\u26EA\\u26F2\\u26F3\\u26F5\\u26FA\\u26FD\\u2705\\u270A\\u270B\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2795-\\u2797\\u27B0\\u27BF\\u2B1B\\u2B1C\\u2B50\\u2B55]|\\uD83C[\\uDC04\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF7C\\uDF7E-\\uDF93\\uDFA0-\\uDFCA\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF4\\uDFF8-\\uDFFF]|\\uD83D[\\uDC00-\\uDC3E\\uDC40\\uDC42-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDD7A\\uDD95\\uDD96\\uDDA4\\uDDFB-\\uDE4F\\uDE80-\\uDEC5\\uDECC\\uDED0-\\uDED2\\uDED5\\uDEEB\\uDEEC\\uDEF4-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])|(?:[#\\*0-9\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u231A\\u231B\\u2328\\u23CF\\u23E9-\\u23F3\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB-\\u25FE\\u2600-\\u2604\\u260E\\u2611\\u2614\\u2615\\u2618\\u261D\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u2648-\\u2653\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u267F\\u2692-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A1\\u26AA\\u26AB\\u26B0\\u26B1\\u26BD\\u26BE\\u26C4\\u26C5\\u26C8\\u26CE\\u26CF\\u26D1\\u26D3\\u26D4\\u26E9\\u26EA\\u26F0-\\u26F5\\u26F7-\\u26FA\\u26FD\\u2702\\u2705\\u2708-\\u270D\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2728\\u2733\\u2734\\u2744\\u2747\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2763\\u2764\\u2795-\\u2797\\u27A1\\u27B0\\u27BF\\u2934\\u2935\\u2B05-\\u2B07\\u2B1B\\u2B1C\\u2B50\\u2B55\\u3030\\u303D\\u3297\\u3299]|\\uD83C[\\uDC04\\uDCCF\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE02\\uDE1A\\uDE2F\\uDE32-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF21\\uDF24-\\uDF93\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E-\\uDFF0\\uDFF3-\\uDFF5\\uDFF7-\\uDFFF]|\\uD83D[\\uDC00-\\uDCFD\\uDCFF-\\uDD3D\\uDD49-\\uDD4E\\uDD50-\\uDD67\\uDD6F\\uDD70\\uDD73-\\uDD7A\\uDD87\\uDD8A-\\uDD8D\\uDD90\\uDD95\\uDD96\\uDDA4\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA-\\uDE4F\\uDE80-\\uDEC5\\uDECB-\\uDED2\\uDED5\\uDEE0-\\uDEE5\\uDEE9\\uDEEB\\uDEEC\\uDEF0\\uDEF3-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])\\uFE0F|(?:[\\u261D\\u26F9\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2-\\uDFC4\\uDFC7\\uDFCA-\\uDFCC]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66-\\uDC78\\uDC7C\\uDC81-\\uDC83\\uDC85-\\uDC87\\uDC8F\\uDC91\\uDCAA\\uDD74\\uDD75\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE45-\\uDE47\\uDE4B-\\uDE4F\\uDEA3\\uDEB4-\\uDEB6\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1F\\uDD26\\uDD30-\\uDD39\\uDD3C-\\uDD3E\\uDDB5\\uDDB6\\uDDB8\\uDDB9\\uDDBB\\uDDCD-\\uDDCF\\uDDD1-\\uDDDD])/g}},2240:K=>{K.exports=s0=>{if(typeof s0!=\"string\")throw new TypeError(\"Expected a string\");return s0.replace(/[|\\\\{}()[\\]^$+*?.]/g,\"\\\\$&\").replace(/-/g,\"\\\\x2d\")}},8051:K=>{K.exports=function(s0,Y){return(Y=typeof Y==\"number\"?Y:1/0)?function F0(J0,e1){return J0.reduce(function(t1,r1){return Array.isArray(r1)&&e1<Y?t1.concat(F0(r1,e1+1)):t1.concat(r1)},[])}(s0,1):Array.isArray(s0)?s0.map(function(F0){return F0}):s0}},7886:K=>{K.exports=function(s0,Y){for(var F0=-1,J0=[];(F0=s0.indexOf(Y,F0+1))!==-1;)J0.push(F0);return J0}},8528:K=>{const s0=Y=>!Number.isNaN(Y)&&Y>=4352&&(Y<=4447||Y===9001||Y===9002||11904<=Y&&Y<=12871&&Y!==12351||12880<=Y&&Y<=19903||19968<=Y&&Y<=42182||43360<=Y&&Y<=43388||44032<=Y&&Y<=55203||63744<=Y&&Y<=64255||65040<=Y&&Y<=65049||65072<=Y&&Y<=65131||65281<=Y&&Y<=65376||65504<=Y&&Y<=65510||110592<=Y&&Y<=110593||127488<=Y&&Y<=127569||131072<=Y&&Y<=262141);K.exports=s0,K.exports.default=s0},9234:(K,s0,Y)=>{function F0(){const ee=Y(9623);return F0=function(){return ee},ee}function J0(){const ee=(Gx=Y(3584))&&Gx.__esModule?Gx:{default:Gx};var Gx;return J0=function(){return ee},ee}Object.defineProperty(s0,\"__esModule\",{value:!0}),s0.extract=function(ee){const Gx=ee.match(r1);return Gx?Gx[0].trimLeft():\"\"},s0.strip=function(ee){const Gx=ee.match(r1);return Gx&&Gx[0]?ee.substring(Gx[0].length):ee},s0.parse=function(ee){return ux(ee).pragmas},s0.parseWithComments=ux,s0.print=function({comments:ee=\"\",pragmas:Gx={}}){const ve=(0,J0().default)(ee)||F0().EOL,qe=\" *\",Jt=Object.keys(Gx),Ct=Jt.map(_n=>K1(_n,Gx[_n])).reduce((_n,Tr)=>_n.concat(Tr),[]).map(_n=>\" * \"+_n+ve).join(\"\");if(!ee){if(Jt.length===0)return\"\";if(Jt.length===1&&!Array.isArray(Gx[Jt[0]])){const _n=Gx[Jt[0]];return`/** ${K1(Jt[0],_n)[0]} */`}}const vn=ee.split(ve).map(_n=>` * ${_n}`).join(ve)+ve;return\"/**\"+ve+(ee?vn:\"\")+(ee&&Jt.length?qe+ve:\"\")+Ct+\" */\"};const e1=/\\*\\/$/,t1=/^\\/\\*\\*/,r1=/^\\s*(\\/\\*\\*?(.|\\r?\\n)*?\\*\\/)/,F1=/(^|\\s+)\\/\\/([^\\r\\n]*)/g,a1=/^(\\r?\\n)+/,D1=/(?:^|\\r?\\n) *(@[^\\r\\n]*?) *\\r?\\n *(?![^@\\r\\n]*\\/\\/[^]*)([^@\\r\\n\\s][^@\\r\\n]+?) *\\r?\\n/g,W0=/(?:^|\\r?\\n) *@(\\S+) *([^\\r\\n]*)/g,i1=/(\\r?\\n|^) *\\* ?/g,x1=[];function ux(ee){const Gx=(0,J0().default)(ee)||F0().EOL;ee=ee.replace(t1,\"\").replace(e1,\"\").replace(i1,\"$1\");let ve=\"\";for(;ve!==ee;)ve=ee,ee=ee.replace(D1,`${Gx}$1 $2${Gx}`);ee=ee.replace(a1,\"\").trimRight();const qe=Object.create(null),Jt=ee.replace(W0,\"\").replace(a1,\"\").trimRight();let Ct;for(;Ct=W0.exec(ee);){const vn=Ct[2].replace(F1,\"\");typeof qe[Ct[1]]==\"string\"||Array.isArray(qe[Ct[1]])?qe[Ct[1]]=x1.concat(qe[Ct[1]],vn):qe[Ct[1]]=vn}return{comments:Jt,pragmas:qe}}function K1(ee,Gx){return x1.concat(Gx).map(ve=>`@${ee} ${ve}`.trim())}},5311:(K,s0,Y)=>{function F0(){for(var ve=[],qe=0;qe<arguments.length;qe++)ve[qe]=arguments[qe]}function J0(){return typeof WeakMap!=\"undefined\"?new WeakMap:{add:F0,delete:F0,get:F0,set:F0,has:function(ve){return!1}}}Y.r(s0),Y.d(s0,{default:()=>Gx,outdent:()=>ee}),K=Y.hmd(K);var e1=Object.prototype.hasOwnProperty,t1=function(ve,qe){return e1.call(ve,qe)};function r1(ve,qe){for(var Jt in qe)t1(qe,Jt)&&(ve[Jt]=qe[Jt]);return ve}var F1=/^[ \\t]*(?:\\r\\n|\\r|\\n)/,a1=/(?:\\r\\n|\\r|\\n)[ \\t]*$/,D1=/^(?:[\\r\\n]|$)/,W0=/(?:\\r\\n|\\r|\\n)([ \\t]*)(?:[^ \\t\\r\\n]|$)/,i1=/^[ \\t]*[\\r\\n][ \\t\\r\\n]*$/;function x1(ve,qe,Jt){var Ct=0,vn=ve[0].match(W0);vn&&(Ct=vn[1].length);var _n=new RegExp(\"(\\\\r\\\\n|\\\\r|\\\\n).{0,\"+Ct+\"}\",\"g\");qe&&(ve=ve.slice(1));var Tr=Jt.newline,Lr=Jt.trimLeadingNewline,Pn=Jt.trimTrailingNewline,En=typeof Tr==\"string\",cr=ve.length;return ve.map(function(Ea,Qn){return Ea=Ea.replace(_n,\"$1\"),Qn===0&&Lr&&(Ea=Ea.replace(F1,\"\")),Qn===cr-1&&Pn&&(Ea=Ea.replace(a1,\"\")),En&&(Ea=Ea.replace(/\\r\\n|\\n|\\r/g,function(Bu){return Tr})),Ea})}function ux(ve,qe){for(var Jt=\"\",Ct=0,vn=ve.length;Ct<vn;Ct++)Jt+=ve[Ct],Ct<vn-1&&(Jt+=qe[Ct]);return Jt}function K1(ve){return t1(ve,\"raw\")&&t1(ve,\"length\")}var ee=function ve(qe){var Jt=J0(),Ct=J0();return r1(function vn(_n){for(var Tr=[],Lr=1;Lr<arguments.length;Lr++)Tr[Lr-1]=arguments[Lr];if(K1(_n)){var Pn=_n,En=(Tr[0]===vn||Tr[0]===ee)&&i1.test(Pn[0])&&D1.test(Pn[1]),cr=En?Ct:Jt,Ea=cr.get(Pn);if(Ea||(Ea=x1(Pn,En,qe),cr.set(Pn,Ea)),Tr.length===0)return Ea[0];var Qn=ux(Ea,En?Tr.slice(1):Tr);return Qn}return ve(r1(r1({},qe),_n||{}))},{string:function(vn){return x1([vn],!1,qe)[0]}})}({trimLeadingNewline:!0,trimTrailingNewline:!0});const Gx=ee;try{K.exports=ee,Object.defineProperty(ee,\"__esModule\",{value:!0}),ee.default=ee,ee.outdent=ee}catch{}},5724:K=>{function s0(J0){if(typeof J0!=\"string\")throw new TypeError(\"Path must be a string. Received \"+JSON.stringify(J0))}function Y(J0,e1){for(var t1,r1=\"\",F1=0,a1=-1,D1=0,W0=0;W0<=J0.length;++W0){if(W0<J0.length)t1=J0.charCodeAt(W0);else{if(t1===47)break;t1=47}if(t1===47){if(!(a1===W0-1||D1===1))if(a1!==W0-1&&D1===2){if(r1.length<2||F1!==2||r1.charCodeAt(r1.length-1)!==46||r1.charCodeAt(r1.length-2)!==46){if(r1.length>2){var i1=r1.lastIndexOf(\"/\");if(i1!==r1.length-1){i1===-1?(r1=\"\",F1=0):F1=(r1=r1.slice(0,i1)).length-1-r1.lastIndexOf(\"/\"),a1=W0,D1=0;continue}}else if(r1.length===2||r1.length===1){r1=\"\",F1=0,a1=W0,D1=0;continue}}e1&&(r1.length>0?r1+=\"/..\":r1=\"..\",F1=2)}else r1.length>0?r1+=\"/\"+J0.slice(a1+1,W0):r1=J0.slice(a1+1,W0),F1=W0-a1-1;a1=W0,D1=0}else t1===46&&D1!==-1?++D1:D1=-1}return r1}var F0={resolve:function(){for(var J0,e1=\"\",t1=!1,r1=arguments.length-1;r1>=-1&&!t1;r1--){var F1;r1>=0?F1=arguments[r1]:(J0===void 0&&(J0=process.cwd()),F1=J0),s0(F1),F1.length!==0&&(e1=F1+\"/\"+e1,t1=F1.charCodeAt(0)===47)}return e1=Y(e1,!t1),t1?e1.length>0?\"/\"+e1:\"/\":e1.length>0?e1:\".\"},normalize:function(J0){if(s0(J0),J0.length===0)return\".\";var e1=J0.charCodeAt(0)===47,t1=J0.charCodeAt(J0.length-1)===47;return(J0=Y(J0,!e1)).length!==0||e1||(J0=\".\"),J0.length>0&&t1&&(J0+=\"/\"),e1?\"/\"+J0:J0},isAbsolute:function(J0){return s0(J0),J0.length>0&&J0.charCodeAt(0)===47},join:function(){if(arguments.length===0)return\".\";for(var J0,e1=0;e1<arguments.length;++e1){var t1=arguments[e1];s0(t1),t1.length>0&&(J0===void 0?J0=t1:J0+=\"/\"+t1)}return J0===void 0?\".\":F0.normalize(J0)},relative:function(J0,e1){if(s0(J0),s0(e1),J0===e1||(J0=F0.resolve(J0))===(e1=F0.resolve(e1)))return\"\";for(var t1=1;t1<J0.length&&J0.charCodeAt(t1)===47;++t1);for(var r1=J0.length,F1=r1-t1,a1=1;a1<e1.length&&e1.charCodeAt(a1)===47;++a1);for(var D1=e1.length-a1,W0=F1<D1?F1:D1,i1=-1,x1=0;x1<=W0;++x1){if(x1===W0){if(D1>W0){if(e1.charCodeAt(a1+x1)===47)return e1.slice(a1+x1+1);if(x1===0)return e1.slice(a1+x1)}else F1>W0&&(J0.charCodeAt(t1+x1)===47?i1=x1:x1===0&&(i1=0));break}var ux=J0.charCodeAt(t1+x1);if(ux!==e1.charCodeAt(a1+x1))break;ux===47&&(i1=x1)}var K1=\"\";for(x1=t1+i1+1;x1<=r1;++x1)x1!==r1&&J0.charCodeAt(x1)!==47||(K1.length===0?K1+=\"..\":K1+=\"/..\");return K1.length>0?K1+e1.slice(a1+i1):(a1+=i1,e1.charCodeAt(a1)===47&&++a1,e1.slice(a1))},_makeLong:function(J0){return J0},dirname:function(J0){if(s0(J0),J0.length===0)return\".\";for(var e1=J0.charCodeAt(0),t1=e1===47,r1=-1,F1=!0,a1=J0.length-1;a1>=1;--a1)if((e1=J0.charCodeAt(a1))===47){if(!F1){r1=a1;break}}else F1=!1;return r1===-1?t1?\"/\":\".\":t1&&r1===1?\"//\":J0.slice(0,r1)},basename:function(J0,e1){if(e1!==void 0&&typeof e1!=\"string\")throw new TypeError('\"ext\" argument must be a string');s0(J0);var t1,r1=0,F1=-1,a1=!0;if(e1!==void 0&&e1.length>0&&e1.length<=J0.length){if(e1.length===J0.length&&e1===J0)return\"\";var D1=e1.length-1,W0=-1;for(t1=J0.length-1;t1>=0;--t1){var i1=J0.charCodeAt(t1);if(i1===47){if(!a1){r1=t1+1;break}}else W0===-1&&(a1=!1,W0=t1+1),D1>=0&&(i1===e1.charCodeAt(D1)?--D1==-1&&(F1=t1):(D1=-1,F1=W0))}return r1===F1?F1=W0:F1===-1&&(F1=J0.length),J0.slice(r1,F1)}for(t1=J0.length-1;t1>=0;--t1)if(J0.charCodeAt(t1)===47){if(!a1){r1=t1+1;break}}else F1===-1&&(a1=!1,F1=t1+1);return F1===-1?\"\":J0.slice(r1,F1)},extname:function(J0){s0(J0);for(var e1=-1,t1=0,r1=-1,F1=!0,a1=0,D1=J0.length-1;D1>=0;--D1){var W0=J0.charCodeAt(D1);if(W0!==47)r1===-1&&(F1=!1,r1=D1+1),W0===46?e1===-1?e1=D1:a1!==1&&(a1=1):e1!==-1&&(a1=-1);else if(!F1){t1=D1+1;break}}return e1===-1||r1===-1||a1===0||a1===1&&e1===r1-1&&e1===t1+1?\"\":J0.slice(e1,r1)},format:function(J0){if(J0===null||typeof J0!=\"object\")throw new TypeError('The \"pathObject\" argument must be of type Object. Received type '+typeof J0);return function(e1,t1){var r1=t1.dir||t1.root,F1=t1.base||(t1.name||\"\")+(t1.ext||\"\");return r1?r1===t1.root?r1+F1:r1+e1+F1:F1}(\"/\",J0)},parse:function(J0){s0(J0);var e1={root:\"\",dir:\"\",base:\"\",ext:\"\",name:\"\"};if(J0.length===0)return e1;var t1,r1=J0.charCodeAt(0),F1=r1===47;F1?(e1.root=\"/\",t1=1):t1=0;for(var a1=-1,D1=0,W0=-1,i1=!0,x1=J0.length-1,ux=0;x1>=t1;--x1)if((r1=J0.charCodeAt(x1))!==47)W0===-1&&(i1=!1,W0=x1+1),r1===46?a1===-1?a1=x1:ux!==1&&(ux=1):a1!==-1&&(ux=-1);else if(!i1){D1=x1+1;break}return a1===-1||W0===-1||ux===0||ux===1&&a1===W0-1&&a1===D1+1?W0!==-1&&(e1.base=e1.name=D1===0&&F1?J0.slice(1,W0):J0.slice(D1,W0)):(D1===0&&F1?(e1.name=J0.slice(1,a1),e1.base=J0.slice(1,W0)):(e1.name=J0.slice(D1,a1),e1.base=J0.slice(D1,W0)),e1.ext=J0.slice(a1,W0)),D1>0?e1.dir=J0.slice(0,D1-1):F1&&(e1.dir=\"/\"),e1},sep:\"/\",delimiter:\":\",win32:null,posix:null};F0.posix=F0,K.exports=F0},8681:(K,s0,Y)=>{const F0=Y(3102),J0=Y(7116),{isInlineComment:e1}=Y(1101),{interpolation:t1}=Y(3295),{isMixinToken:r1}=Y(5953),F1=Y(1330),a1=Y(5255),D1=/(!\\s*important)$/i;K.exports=class extends J0{constructor(...W0){super(...W0),this.lastNode=null}atrule(W0){t1.bind(this)(W0)||(super.atrule(W0),F1(this.lastNode),a1(this.lastNode))}decl(...W0){super.decl(...W0),/extend\\(.+\\)/i.test(this.lastNode.value)&&(this.lastNode.extend=!0)}each(W0){W0[0][1]=` ${W0[0][1]}`;const i1=W0.findIndex(ee=>ee[0]===\"(\"),x1=W0.reverse().find(ee=>ee[0]===\")\"),ux=W0.reverse().indexOf(x1),K1=W0.splice(i1,ux).map(ee=>ee[1]).join(\"\");for(const ee of W0.reverse())this.tokenizer.back(ee);this.atrule(this.tokenizer.nextToken()),this.lastNode.function=!0,this.lastNode.params=K1}init(W0,i1,x1){super.init(W0,i1,x1),this.lastNode=W0}inlineComment(W0){const i1=new F0,x1=W0[1].slice(2);if(this.init(i1,W0[2],W0[3]),i1.source.end={line:W0[4],column:W0[5]},i1.inline=!0,i1.raws.begin=\"//\",/^\\s*$/.test(x1))i1.text=\"\",i1.raws.left=x1,i1.raws.right=\"\";else{const ux=x1.match(/^(\\s*)([^]*[^\\s])(\\s*)$/);[,i1.raws.left,i1.text,i1.raws.right]=ux}}mixin(W0){const[i1]=W0,x1=i1[1].slice(0,1),ux=W0.findIndex(qe=>qe[0]===\"brackets\"),K1=W0.findIndex(qe=>qe[0]===\"(\");let ee=\"\";if((ux<0||ux>3)&&K1>0){const qe=W0.reduce((cr,Ea,Qn)=>Ea[0]===\")\"?Qn:cr),Jt=W0.slice(K1,qe+K1).map(cr=>cr[1]).join(\"\"),[Ct]=W0.slice(K1),vn=[Ct[2],Ct[3]],[_n]=W0.slice(qe,qe+1),Tr=[_n[2],_n[3]],Lr=[\"brackets\",Jt].concat(vn,Tr),Pn=W0.slice(0,K1),En=W0.slice(qe+1);(W0=Pn).push(Lr),W0=W0.concat(En)}const Gx=[];for(const qe of W0)if((qe[1]===\"!\"||Gx.length)&&Gx.push(qe),qe[1]===\"important\")break;if(Gx.length){const[qe]=Gx,Jt=W0.indexOf(qe),Ct=Gx[Gx.length-1],vn=[qe[2],qe[3]],_n=[Ct[4],Ct[5]],Tr=[\"word\",Gx.map(Lr=>Lr[1]).join(\"\")].concat(vn,_n);W0.splice(Jt,Gx.length,Tr)}const ve=W0.findIndex(qe=>D1.test(qe[1]));ve>0&&([,ee]=W0[ve],W0.splice(ve,1));for(const qe of W0.reverse())this.tokenizer.back(qe);this.atrule(this.tokenizer.nextToken()),this.lastNode.mixin=!0,this.lastNode.raws.identifier=x1,ee&&(this.lastNode.important=!0,this.lastNode.raws.important=ee)}other(W0){e1.bind(this)(W0)||super.other(W0)}rule(W0){const i1=W0[W0.length-1],x1=W0[W0.length-2];if(x1[0]===\"at-word\"&&i1[0]===\"{\"&&(this.tokenizer.back(i1),t1.bind(this)(x1))){const ux=this.tokenizer.nextToken();W0=W0.slice(0,W0.length-2).concat([ux]);for(const K1 of W0.reverse())this.tokenizer.back(K1);return}super.rule(W0),/:extend\\(.+\\)/i.test(this.lastNode.selector)&&(this.lastNode.extend=!0)}unknownWord(W0){const[i1]=W0;W0[0][1]!==\"each\"||W0[1][0]!==\"(\"?r1(i1)?this.mixin(W0):super.unknownWord(W0):this.each(W0)}}},3406:(K,s0,Y)=>{const F0=Y(5701);K.exports=class extends F0{atrule(J0,e1){if(!J0.mixin&&!J0.variable&&!J0.function)return void super.atrule(J0,e1);let t1=`${J0.function?\"\":J0.raws.identifier||\"@\"}${J0.name}`,r1=J0.params?this.rawValue(J0,\"params\"):\"\";const F1=J0.raws.important||\"\";if(J0.variable&&(r1=J0.value),J0.raws.afterName!==void 0?t1+=J0.raws.afterName:r1&&(t1+=\" \"),J0.nodes)this.block(J0,t1+r1+F1);else{const a1=(J0.raws.between||\"\")+F1+(e1?\";\":\"\");this.builder(t1+r1+a1,J0)}}comment(J0){if(J0.inline){const e1=this.raw(J0,\"left\",\"commentLeft\"),t1=this.raw(J0,\"right\",\"commentRight\");this.builder(`//${e1}${J0.text}${t1}`,J0)}else super.comment(J0)}}},7371:(K,s0,Y)=>{const F0=Y(2993),J0=Y(8681),e1=Y(3406);K.exports={parse(t1,r1){const F1=new F0(t1,r1),a1=new J0(F1);return a1.parse(),a1.root},stringify(t1,r1){new e1(r1).stringify(t1)},nodeToString(t1){let r1=\"\";return K.exports.stringify(t1,F1=>{r1+=F1}),r1}}},1330:(K,s0,Y)=>{const F0=Y(1157),J0=/^url\\((.+)\\)/;K.exports=e1=>{const{name:t1,params:r1=\"\"}=e1;if(t1===\"import\"&&r1.length){e1.import=!0;const F1=F0({css:r1});for(e1.filename=r1.replace(J0,\"$1\");!F1.endOfFile();){const[a1,D1]=F1.nextToken();if(a1===\"word\"&&D1===\"url\")return;if(a1===\"brackets\"){e1.options=D1,e1.filename=r1.replace(D1,\"\").trim();break}}}}},1101:(K,s0,Y)=>{const F0=Y(1157),J0=Y(2993);K.exports={isInlineComment(e1){if(e1[0]===\"word\"&&e1[1].slice(0,2)===\"//\"){const t1=e1,r1=[];let F1;for(;e1;){if(/\\r?\\n/.test(e1[1])){if(/['\"].*\\r?\\n/.test(e1[1])){r1.push(e1[1].substring(0,e1[1].indexOf(`\n`)));let D1=e1[1].substring(e1[1].indexOf(`\n`));D1+=this.input.css.valueOf().substring(this.tokenizer.position()),this.input=new J0(D1),this.tokenizer=F0(this.input)}else this.tokenizer.back(e1);break}r1.push(e1[1]),F1=e1,e1=this.tokenizer.nextToken({ignoreUnclosed:!0})}const a1=[\"comment\",r1.join(\"\"),t1[2],t1[3],F1[2],F1[3]];return this.inlineComment(a1),!0}if(e1[1]===\"/\"){const t1=this.tokenizer.nextToken({ignoreUnclosed:!0});if(t1[0]===\"comment\"&&/^\\/\\*/.test(t1[1]))return t1[0]=\"word\",t1[1]=t1[1].slice(1),e1[1]=\"//\",this.tokenizer.back(t1),K.exports.isInlineComment.bind(this)(e1)}return!1}}},3295:K=>{K.exports={interpolation(s0){let Y=s0;const F0=[s0],J0=[\"word\",\"{\",\"}\"];if(s0=this.tokenizer.nextToken(),Y[1].length>1||s0[0]!==\"{\")return this.tokenizer.back(s0),!1;for(;s0&&J0.includes(s0[0]);)F0.push(s0),s0=this.tokenizer.nextToken();const e1=F0.map(D1=>D1[1]);[Y]=F0;const t1=F0.pop(),r1=[Y[2],Y[3]],F1=[t1[4]||t1[2],t1[5]||t1[3]],a1=[\"word\",e1.join(\"\")].concat(r1,F1);return this.tokenizer.back(s0),this.tokenizer.back(a1),!0}}},5953:K=>{const s0=/^#[0-9a-fA-F]{6}$|^#[0-9a-fA-F]{3}$/,Y=/\\.[0-9]/;K.exports={isMixinToken:F0=>{const[,J0]=F0,[e1]=J0;return(e1===\".\"||e1===\"#\")&&s0.test(J0)===!1&&Y.test(J0)===!1}}},5255:K=>{const s0=/:$/,Y=/^:(\\s+)?/;K.exports=F0=>{const{name:J0,params:e1=\"\"}=F0;if(F0.name.slice(-1)===\":\"){if(s0.test(J0)){const[t1]=J0.match(s0);F0.name=J0.replace(t1,\"\"),F0.raws.afterName=t1+(F0.raws.afterName||\"\"),F0.variable=!0,F0.value=F0.params}if(Y.test(e1)){const[t1]=e1.match(Y);F0.value=e1.replace(t1,\"\"),F0.raws.afterName=(F0.raws.afterName||\"\")+t1,F0.variable=!0}}}},8322:(K,s0,Y)=>{s0.Z=function(r1){return new e1.default({nodes:(0,t1.parseMediaList)(r1),type:\"media-query-list\",value:r1.trim()})};var F0,J0=Y(9066),e1=(F0=J0)&&F0.__esModule?F0:{default:F0},t1=Y(7625)},9066:(K,s0,Y)=>{Object.defineProperty(s0,\"__esModule\",{value:!0});var F0,J0=Y(7680),e1=(F0=J0)&&F0.__esModule?F0:{default:F0};function t1(r1){var F1=this;this.constructor(r1),this.nodes=r1.nodes,this.after===void 0&&(this.after=this.nodes.length>0?this.nodes[this.nodes.length-1].after:\"\"),this.before===void 0&&(this.before=this.nodes.length>0?this.nodes[0].before:\"\"),this.sourceIndex===void 0&&(this.sourceIndex=this.before.length),this.nodes.forEach(function(a1){a1.parent=F1})}t1.prototype=Object.create(e1.default.prototype),t1.constructor=e1.default,t1.prototype.walk=function(r1,F1){for(var a1=typeof r1==\"string\"||r1 instanceof RegExp,D1=a1?F1:r1,W0=typeof r1==\"string\"?new RegExp(r1):r1,i1=0;i1<this.nodes.length;i1++){var x1=this.nodes[i1];if((!a1||W0.test(x1.type))&&D1&&D1(x1,i1,this.nodes)===!1||x1.nodes&&x1.walk(r1,F1)===!1)return!1}return!0},t1.prototype.each=function(){for(var r1=arguments.length<=0||arguments[0]===void 0?function(){}:arguments[0],F1=0;F1<this.nodes.length;F1++){var a1=this.nodes[F1];if(r1(a1,F1,this.nodes)===!1)return!1}return!0},s0.default=t1},7680:(K,s0)=>{Object.defineProperty(s0,\"__esModule\",{value:!0}),s0.default=function(Y){this.after=Y.after,this.before=Y.before,this.type=Y.type,this.value=Y.value,this.sourceIndex=Y.sourceIndex}},7625:(K,s0,Y)=>{Object.defineProperty(s0,\"__esModule\",{value:!0}),s0.parseMediaFeature=t1,s0.parseMediaQuery=r1,s0.parseMediaList=function(F1){var a1=[],D1=0,W0=0,i1=/^(\\s*)url\\s*\\(/.exec(F1);if(i1!==null){for(var x1=i1[0].length,ux=1;ux>0;){var K1=F1[x1];K1===\"(\"&&ux++,K1===\")\"&&ux--,x1++}a1.unshift(new F0.default({type:\"url\",value:F1.substring(0,x1).trim(),sourceIndex:i1[1].length,before:i1[1],after:/^(\\s*)/.exec(F1.substring(x1))[1]})),D1=x1}for(var ee=D1;ee<F1.length;ee++){var Gx=F1[ee];if(Gx===\"(\"&&W0++,Gx===\")\"&&W0--,W0===0&&Gx===\",\"){var ve=F1.substring(D1,ee),qe=/^(\\s*)/.exec(ve)[1];a1.push(new J0.default({type:\"media-query\",value:ve.trim(),sourceIndex:D1+qe.length,nodes:r1(ve,D1),before:qe,after:/(\\s*)$/.exec(ve)[1]})),D1=ee+1}}var Jt=F1.substring(D1),Ct=/^(\\s*)/.exec(Jt)[1];return a1.push(new J0.default({type:\"media-query\",value:Jt.trim(),sourceIndex:D1+Ct.length,nodes:r1(Jt,D1),before:Ct,after:/(\\s*)$/.exec(Jt)[1]})),a1};var F0=e1(Y(7680)),J0=e1(Y(9066));function e1(F1){return F1&&F1.__esModule?F1:{default:F1}}function t1(F1){var a1=arguments.length<=1||arguments[1]===void 0?0:arguments[1],D1=[{mode:\"normal\",character:null}],W0=[],i1=0,x1=\"\",ux=null,K1=null,ee=a1,Gx=F1;F1[0]===\"(\"&&F1[F1.length-1]===\")\"&&(Gx=F1.substring(1,F1.length-1),ee++);for(var ve=0;ve<Gx.length;ve++){var qe=Gx[ve];if(qe!==\"'\"&&qe!=='\"'||(D1[i1].isCalculationEnabled===!0?(D1.push({mode:\"string\",isCalculationEnabled:!1,character:qe}),i1++):D1[i1].mode===\"string\"&&D1[i1].character===qe&&Gx[ve-1]!==\"\\\\\"&&(D1.pop(),i1--)),qe===\"{\"?(D1.push({mode:\"interpolation\",isCalculationEnabled:!0}),i1++):qe===\"}\"&&(D1.pop(),i1--),D1[i1].mode===\"normal\"&&qe===\":\"){var Jt=Gx.substring(ve+1);(K1={type:\"value\",before:/^(\\s*)/.exec(Jt)[1],after:/(\\s*)$/.exec(Jt)[1],value:Jt.trim()}).sourceIndex=K1.before.length+ve+1+ee,ux={type:\"colon\",sourceIndex:ve+ee,after:K1.before,value:\":\"};break}x1+=qe}return(x1={type:\"media-feature\",before:/^(\\s*)/.exec(x1)[1],after:/(\\s*)$/.exec(x1)[1],value:x1.trim()}).sourceIndex=x1.before.length+ee,W0.push(x1),ux!==null&&(ux.before=x1.after,W0.push(ux)),K1!==null&&W0.push(K1),W0}function r1(F1){var a1=arguments.length<=1||arguments[1]===void 0?0:arguments[1],D1=[],W0=0,i1=!1,x1=void 0;x1={before:\"\",after:\"\",value:\"\"};for(var ux=0;ux<F1.length;ux++){var K1=F1[ux];i1?(x1.value+=K1,K1!==\"{\"&&K1!==\"(\"||W0++,K1!==\")\"&&K1!==\"}\"||W0--):K1.search(/\\s/)!==-1?x1.before+=K1:(K1===\"(\"&&(x1.type=\"media-feature-expression\",W0++),x1.value=K1,x1.sourceIndex=a1+ux,i1=!0),!i1||W0!==0||K1!==\")\"&&ux!==F1.length-1&&F1[ux+1].search(/\\s/)===-1||([\"not\",\"only\",\"and\"].indexOf(x1.value)!==-1&&(x1.type=\"keyword\"),x1.type===\"media-feature-expression\"&&(x1.nodes=t1(x1.value,x1.sourceIndex)),D1.push(Array.isArray(x1.nodes)?new J0.default(x1):new F0.default(x1)),x1={before:\"\",after:\"\",value:\"\"},i1=!1)}for(var ee=0;ee<D1.length;ee++)if(x1=D1[ee],ee>0&&(D1[ee-1].after=x1.before),x1.type===void 0){if(ee>0){if(D1[ee-1].type===\"media-feature-expression\"){x1.type=\"keyword\";continue}if(D1[ee-1].value===\"not\"||D1[ee-1].value===\"only\"){x1.type=\"media-type\";continue}if(D1[ee-1].value===\"and\"){x1.type=\"media-feature-expression\";continue}D1[ee-1].type===\"media-type\"&&(D1[ee+1]?x1.type=D1[ee+1].type===\"media-feature-expression\"?\"keyword\":\"media-feature-expression\":x1.type=\"media-feature-expression\")}if(ee===0){if(!D1[ee+1]){x1.type=\"media-type\";continue}if(D1[ee+1]&&(D1[ee+1].type===\"media-feature-expression\"||D1[ee+1].type===\"keyword\")){x1.type=\"media-type\";continue}if(D1[ee+2]){if(D1[ee+2].type===\"media-feature-expression\"){x1.type=\"media-type\",D1[ee+1].type=\"keyword\";continue}if(D1[ee+2].type===\"keyword\"){x1.type=\"keyword\",D1[ee+1].type=\"media-type\";continue}}if(D1[ee+3]&&D1[ee+3].type===\"media-feature-expression\"){x1.type=\"keyword\",D1[ee+1].type=\"media-type\",D1[ee+2].type=\"keyword\";continue}}}return D1}},5822:(K,s0,Y)=>{var F0=function(J0){var e1,t1;function r1(F1){var a1;return(a1=J0.call(this,F1)||this).type=\"decl\",a1.isNested=!0,a1.nodes||(a1.nodes=[]),a1}return t1=J0,(e1=r1).prototype=Object.create(t1.prototype),e1.prototype.constructor=e1,e1.__proto__=t1,r1}(Y(1204));K.exports=F0},1945:(K,s0,Y)=>{var F0=Y(2993),J0=Y(1713);K.exports=function(e1,t1){var r1=new F0(e1,t1),F1=new J0(r1);return F1.parse(),F1.root}},1713:(K,s0,Y)=>{var F0=Y(3102),J0=Y(7116),e1=Y(5822),t1=Y(6256),r1=function(F1){var a1,D1;function W0(){return F1.apply(this,arguments)||this}D1=F1,(a1=W0).prototype=Object.create(D1.prototype),a1.prototype.constructor=a1,a1.__proto__=D1;var i1=W0.prototype;return i1.createTokenizer=function(){this.tokenizer=t1(this.input)},i1.rule=function(x1){var ux=!1,K1=0,ee=\"\",Gx=x1,ve=Array.isArray(Gx),qe=0;for(Gx=ve?Gx:Gx[Symbol.iterator]();;){var Jt;if(ve){if(qe>=Gx.length)break;Jt=Gx[qe++]}else{if((qe=Gx.next()).done)break;Jt=qe.value}var Ct=Jt;if(ux)Ct[0]!==\"comment\"&&Ct[0]!==\"{\"&&(ee+=Ct[1]);else{if(Ct[0]===\"space\"&&Ct[1].indexOf(`\n`)!==-1)break;Ct[0]===\"(\"?K1+=1:Ct[0]===\")\"?K1-=1:K1===0&&Ct[0]===\":\"&&(ux=!0)}}if(!ux||ee.trim()===\"\"||/^[a-zA-Z-:#]/.test(ee))F1.prototype.rule.call(this,x1);else{x1.pop();var vn=new e1;this.init(vn);var _n,Tr=x1[x1.length-1];for(Tr[4]?vn.source.end={line:Tr[4],column:Tr[5]}:vn.source.end={line:Tr[2],column:Tr[3]};x1[0][0]!==\"word\";)vn.raws.before+=x1.shift()[1];for(vn.source.start={line:x1[0][2],column:x1[0][3]},vn.prop=\"\";x1.length;){var Lr=x1[0][0];if(Lr===\":\"||Lr===\"space\"||Lr===\"comment\")break;vn.prop+=x1.shift()[1]}for(vn.raws.between=\"\";x1.length;){if((_n=x1.shift())[0]===\":\"){vn.raws.between+=_n[1];break}vn.raws.between+=_n[1]}vn.prop[0]!==\"_\"&&vn.prop[0]!==\"*\"||(vn.raws.before+=vn.prop[0],vn.prop=vn.prop.slice(1)),vn.raws.between+=this.spacesAndCommentsFromStart(x1),this.precheckMissedSemicolon(x1);for(var Pn=x1.length-1;Pn>0;Pn--){if((_n=x1[Pn])[1]===\"!important\"){vn.important=!0;var En=this.stringFrom(x1,Pn);(En=this.spacesFromEnd(x1)+En)!==\" !important\"&&(vn.raws.important=En);break}if(_n[1]===\"important\"){for(var cr=x1.slice(0),Ea=\"\",Qn=Pn;Qn>0;Qn--){var Bu=cr[Qn][0];if(Ea.trim().indexOf(\"!\")===0&&Bu!==\"space\")break;Ea=cr.pop()[1]+Ea}Ea.trim().indexOf(\"!\")===0&&(vn.important=!0,vn.raws.important=Ea,x1=cr)}if(_n[0]!==\"space\"&&_n[0]!==\"comment\")break}this.raw(vn,\"value\",x1),vn.value.indexOf(\":\")!==-1&&this.checkMissedSemicolon(x1),this.current=vn}},i1.comment=function(x1){if(x1[6]===\"inline\"){var ux=new F0;this.init(ux,x1[2],x1[3]),ux.raws.inline=!0,ux.source.end={line:x1[4],column:x1[5]};var K1=x1[1].slice(2);if(/^\\s*$/.test(K1))ux.text=\"\",ux.raws.left=K1,ux.raws.right=\"\";else{var ee=K1.match(/^(\\s*)([^]*[^\\s])(\\s*)$/),Gx=ee[2].replace(/(\\*\\/|\\/\\*)/g,\"*//*\");ux.text=Gx,ux.raws.left=ee[1],ux.raws.right=ee[3],ux.raws.text=ee[2]}}else F1.prototype.comment.call(this,x1)},i1.raw=function(x1,ux,K1){if(F1.prototype.raw.call(this,x1,ux,K1),x1.raws[ux]){var ee=x1.raws[ux].raw;x1.raws[ux].raw=K1.reduce(function(Gx,ve){return ve[0]===\"comment\"&&ve[6]===\"inline\"?Gx+\"/*\"+ve[1].slice(2).replace(/(\\*\\/|\\/\\*)/g,\"*//*\")+\"*/\":Gx+ve[1]},\"\"),ee!==x1.raws[ux].raw&&(x1.raws[ux].scss=ee)}},W0}(J0);K.exports=r1},9235:(K,s0,Y)=>{var F0=function(J0){var e1,t1;function r1(){return J0.apply(this,arguments)||this}t1=J0,(e1=r1).prototype=Object.create(t1.prototype),e1.prototype.constructor=e1,e1.__proto__=t1;var F1=r1.prototype;return F1.comment=function(a1){var D1=this.raw(a1,\"left\",\"commentLeft\"),W0=this.raw(a1,\"right\",\"commentRight\");if(a1.raws.inline){var i1=a1.raws.text||a1.text;this.builder(\"//\"+D1+i1+W0,a1)}else this.builder(\"/*\"+D1+a1.text+W0+\"*/\",a1)},F1.decl=function(a1,D1){if(a1.isNested){var W0,i1=this.raw(a1,\"between\",\"colon\"),x1=a1.prop+i1+this.rawValue(a1,\"value\");a1.important&&(x1+=a1.raws.important||\" !important\"),this.builder(x1+\"{\",a1,\"start\"),a1.nodes&&a1.nodes.length?(this.body(a1),W0=this.raw(a1,\"after\")):W0=this.raw(a1,\"after\",\"emptyBody\"),W0&&this.builder(W0),this.builder(\"}\",a1,\"end\")}else J0.prototype.decl.call(this,a1,D1)},F1.rawValue=function(a1,D1){var W0=a1[D1],i1=a1.raws[D1];return i1&&i1.value===W0?i1.scss?i1.scss:i1.raw:W0},r1}(Y(5701));K.exports=F0},4933:(K,s0,Y)=>{var F0=Y(9235);K.exports=function(J0,e1){new F0(e1).stringify(J0)}},304:(K,s0,Y)=>{var F0=Y(4933),J0=Y(1945);K.exports={parse:J0,stringify:F0}},6256:K=>{var s0=\"'\".charCodeAt(0),Y='\"'.charCodeAt(0),F0=\"\\\\\".charCodeAt(0),J0=\"/\".charCodeAt(0),e1=`\n`.charCodeAt(0),t1=\" \".charCodeAt(0),r1=\"\\f\".charCodeAt(0),F1=\"\t\".charCodeAt(0),a1=\"\\r\".charCodeAt(0),D1=\"[\".charCodeAt(0),W0=\"]\".charCodeAt(0),i1=\"(\".charCodeAt(0),x1=\")\".charCodeAt(0),ux=\"{\".charCodeAt(0),K1=\"}\".charCodeAt(0),ee=\";\".charCodeAt(0),Gx=\"*\".charCodeAt(0),ve=\":\".charCodeAt(0),qe=\"@\".charCodeAt(0),Jt=\",\".charCodeAt(0),Ct=\"#\".charCodeAt(0),vn=/[ \\n\\t\\r\\f{}()'\"\\\\;/[\\]#]/g,_n=/[ \\n\\t\\r\\f(){}:;@!'\"\\\\\\][#]|\\/(?=\\*)/g,Tr=/.[\\\\/(\"'\\n]/,Lr=/[a-f0-9]/i,Pn=/[\\r\\f\\n]/g;K.exports=function(En,cr){cr===void 0&&(cr={});var Ea,Qn,Bu,Au,Ec,kn,pu,mi,ma,ja,Ua,aa,Os,gn,et=En.css.valueOf(),Sr=cr.ignoreErrors,un=et.length,jn=-1,ea=1,wa=0,as=[],zo=[];function vo(jr){throw En.error(\"Unclosed \"+jr,ea,wa-jn)}function vi(){for(var jr=1,Hn=!1,wi=!1;jr>0;)Qn+=1,et.length<=Qn&&vo(\"interpolation\"),Ea=et.charCodeAt(Qn),aa=et.charCodeAt(Qn+1),Hn?wi||Ea!==Hn?Ea===F0?wi=!ja:wi&&(wi=!1):(Hn=!1,wi=!1):Ea===s0||Ea===Y?Hn=Ea:Ea===K1?jr-=1:Ea===Ct&&aa===ux&&(jr+=1)}return{back:function(jr){zo.push(jr)},nextToken:function(){if(zo.length)return zo.pop();if(!(wa>=un)){switch(((Ea=et.charCodeAt(wa))===e1||Ea===r1||Ea===a1&&et.charCodeAt(wa+1)!==e1)&&(jn=wa,ea+=1),Ea){case e1:case t1:case F1:case a1:case r1:Qn=wa;do Qn+=1,(Ea=et.charCodeAt(Qn))===e1&&(jn=Qn,ea+=1);while(Ea===t1||Ea===e1||Ea===F1||Ea===a1||Ea===r1);Os=[\"space\",et.slice(wa,Qn)],wa=Qn-1;break;case D1:Os=[\"[\",\"[\",ea,wa-jn];break;case W0:Os=[\"]\",\"]\",ea,wa-jn];break;case ux:Os=[\"{\",\"{\",ea,wa-jn];break;case K1:Os=[\"}\",\"}\",ea,wa-jn];break;case Jt:Os=[\"word\",\",\",ea,wa-jn,ea,wa-jn+1];break;case ve:Os=[\":\",\":\",ea,wa-jn];break;case ee:Os=[\";\",\";\",ea,wa-jn];break;case i1:if(Ua=as.length?as.pop()[1]:\"\",aa=et.charCodeAt(wa+1),Ua===\"url\"&&aa!==s0&&aa!==Y){for(gn=1,ja=!1,Qn=wa+1;Qn<=et.length-1;){if((aa=et.charCodeAt(Qn))===F0)ja=!ja;else if(aa===i1)gn+=1;else if(aa===x1&&(gn-=1)==0)break;Qn+=1}kn=et.slice(wa,Qn+1),Au=kn.split(`\n`),(Ec=Au.length-1)>0?(mi=ea+Ec,ma=Qn-Au[Ec].length):(mi=ea,ma=jn),Os=[\"brackets\",kn,ea,wa-jn,mi,Qn-ma],jn=ma,ea=mi,wa=Qn}else Qn=et.indexOf(\")\",wa+1),kn=et.slice(wa,Qn+1),Qn===-1||Tr.test(kn)?Os=[\"(\",\"(\",ea,wa-jn]:(Os=[\"brackets\",kn,ea,wa-jn,ea,Qn-jn],wa=Qn);break;case x1:Os=[\")\",\")\",ea,wa-jn];break;case s0:case Y:for(Bu=Ea,Qn=wa,ja=!1;Qn<un&&(++Qn===un&&vo(\"string\"),Ea=et.charCodeAt(Qn),aa=et.charCodeAt(Qn+1),ja||Ea!==Bu);)Ea===F0?ja=!ja:ja?ja=!1:Ea===Ct&&aa===ux&&vi();kn=et.slice(wa,Qn+1),Au=kn.split(`\n`),(Ec=Au.length-1)>0?(mi=ea+Ec,ma=Qn-Au[Ec].length):(mi=ea,ma=jn),Os=[\"string\",et.slice(wa,Qn+1),ea,wa-jn,mi,Qn-ma],jn=ma,ea=mi,wa=Qn;break;case qe:vn.lastIndex=wa+1,vn.test(et),Qn=vn.lastIndex===0?et.length-1:vn.lastIndex-2,Os=[\"at-word\",et.slice(wa,Qn+1),ea,wa-jn,ea,Qn-jn],wa=Qn;break;case F0:for(Qn=wa,pu=!0;et.charCodeAt(Qn+1)===F0;)Qn+=1,pu=!pu;if(Ea=et.charCodeAt(Qn+1),pu&&Ea!==J0&&Ea!==t1&&Ea!==e1&&Ea!==F1&&Ea!==a1&&Ea!==r1&&(Qn+=1,Lr.test(et.charAt(Qn)))){for(;Lr.test(et.charAt(Qn+1));)Qn+=1;et.charCodeAt(Qn+1)===t1&&(Qn+=1)}Os=[\"word\",et.slice(wa,Qn+1),ea,wa-jn,ea,Qn-jn],wa=Qn;break;default:aa=et.charCodeAt(wa+1),Ea===Ct&&aa===ux?(Qn=wa,vi(),kn=et.slice(wa,Qn+1),Au=kn.split(`\n`),(Ec=Au.length-1)>0?(mi=ea+Ec,ma=Qn-Au[Ec].length):(mi=ea,ma=jn),Os=[\"word\",kn,ea,wa-jn,mi,Qn-ma],jn=ma,ea=mi,wa=Qn):Ea===J0&&aa===Gx?((Qn=et.indexOf(\"*/\",wa+2)+1)===0&&(Sr?Qn=et.length:vo(\"comment\")),kn=et.slice(wa,Qn+1),Au=kn.split(`\n`),(Ec=Au.length-1)>0?(mi=ea+Ec,ma=Qn-Au[Ec].length):(mi=ea,ma=jn),Os=[\"comment\",kn,ea,wa-jn,mi,Qn-ma],jn=ma,ea=mi,wa=Qn):Ea===J0&&aa===J0?(Pn.lastIndex=wa+1,Pn.test(et),Qn=Pn.lastIndex===0?et.length-1:Pn.lastIndex-2,kn=et.slice(wa,Qn+1),Os=[\"comment\",kn,ea,wa-jn,ea,Qn-jn,\"inline\"],wa=Qn):(_n.lastIndex=wa+1,_n.test(et),Qn=_n.lastIndex===0?et.length-1:_n.lastIndex-2,Os=[\"word\",et.slice(wa,Qn+1),ea,wa-jn,ea,Qn-jn],as.push(Os),wa=Qn)}return wa++,Os}},endOfFile:function(){return zo.length===0&&wa>=un}}}},1264:(K,s0,Y)=>{s0.__esModule=!0;var F0=Gx(Y(2566)),J0=Gx(Y(616)),e1=Gx(Y(7835)),t1=Gx(Y(478)),r1=Gx(Y(4907)),F1=Gx(Y(8420)),a1=Gx(Y(7523)),D1=Gx(Y(4316)),W0=Gx(Y(6909)),i1=Gx(Y(6279)),x1=Gx(Y(439)),ux=Gx(Y(9956)),K1=Gx(Y(70)),ee=function(qe){if(qe&&qe.__esModule)return qe;var Jt={};if(qe!=null)for(var Ct in qe)Object.prototype.hasOwnProperty.call(qe,Ct)&&(Jt[Ct]=qe[Ct]);return Jt.default=qe,Jt}(Y(8790));function Gx(qe){return qe&&qe.__esModule?qe:{default:qe}}var ve=function(qe){return new F0.default(qe)};ve.attribute=function(qe){return new J0.default(qe)},ve.className=function(qe){return new e1.default(qe)},ve.combinator=function(qe){return new t1.default(qe)},ve.comment=function(qe){return new r1.default(qe)},ve.id=function(qe){return new F1.default(qe)},ve.nesting=function(qe){return new a1.default(qe)},ve.pseudo=function(qe){return new D1.default(qe)},ve.root=function(qe){return new W0.default(qe)},ve.selector=function(qe){return new i1.default(qe)},ve.string=function(qe){return new x1.default(qe)},ve.tag=function(qe){return new ux.default(qe)},ve.universal=function(qe){return new K1.default(qe)},Object.keys(ee).forEach(function(qe){qe!==\"__esModule\"&&(ve[qe]=ee[qe])}),s0.default=ve,K.exports=s0.default},5269:(K,s0,Y)=>{s0.__esModule=!0;var F0=function(){function Tr(Lr,Pn){for(var En=0;En<Pn.length;En++){var cr=Pn[En];cr.enumerable=cr.enumerable||!1,cr.configurable=!0,\"value\"in cr&&(cr.writable=!0),Object.defineProperty(Lr,cr.key,cr)}}return function(Lr,Pn,En){return Pn&&Tr(Lr.prototype,Pn),En&&Tr(Lr,En),Lr}}(),J0=vn(Y(8051)),e1=vn(Y(7886)),t1=vn(Y(3210)),r1=vn(Y(6909)),F1=vn(Y(6279)),a1=vn(Y(7835)),D1=vn(Y(4907)),W0=vn(Y(8420)),i1=vn(Y(9956)),x1=vn(Y(439)),ux=vn(Y(4316)),K1=vn(Y(616)),ee=vn(Y(70)),Gx=vn(Y(478)),ve=vn(Y(7523)),qe=vn(Y(9788)),Jt=vn(Y(6554)),Ct=function(Tr){if(Tr&&Tr.__esModule)return Tr;var Lr={};if(Tr!=null)for(var Pn in Tr)Object.prototype.hasOwnProperty.call(Tr,Pn)&&(Lr[Pn]=Tr[Pn]);return Lr.default=Tr,Lr}(Y(8790));function vn(Tr){return Tr&&Tr.__esModule?Tr:{default:Tr}}var _n=function(){function Tr(Lr){(function(En,cr){if(!(En instanceof cr))throw new TypeError(\"Cannot call a class as a function\")})(this,Tr),this.input=Lr,this.lossy=Lr.options.lossless===!1,this.position=0,this.root=new r1.default;var Pn=new F1.default;return this.root.append(Pn),this.current=Pn,this.lossy?this.tokens=(0,Jt.default)({safe:Lr.safe,css:Lr.css.trim()}):this.tokens=(0,Jt.default)(Lr),this.loop()}return Tr.prototype.attribute=function(){var Lr=\"\",Pn=void 0,En=this.currToken;for(this.position++;this.position<this.tokens.length&&this.currToken[0]!==\"]\";)Lr+=this.tokens[this.position][1],this.position++;this.position!==this.tokens.length||~Lr.indexOf(\"]\")||this.error(\"Expected a closing square bracket.\");var cr=Lr.split(/((?:[*~^$|]?=))([^]*)/),Ea=cr[0].split(/(\\|)/g),Qn={operator:cr[1],value:cr[2],source:{start:{line:En[2],column:En[3]},end:{line:this.currToken[2],column:this.currToken[3]}},sourceIndex:En[4]};if(Ea.length>1?(Ea[0]===\"\"&&(Ea[0]=!0),Qn.attribute=this.parseValue(Ea[2]),Qn.namespace=this.parseNamespace(Ea[0])):Qn.attribute=this.parseValue(cr[0]),Pn=new K1.default(Qn),cr[2]){var Bu=cr[2].split(/(\\s+i\\s*?)$/),Au=Bu[0].trim();Pn.value=this.lossy?Au:Bu[0],Bu[1]&&(Pn.insensitive=!0,this.lossy||(Pn.raws.insensitive=Bu[1])),Pn.quoted=Au[0]===\"'\"||Au[0]==='\"',Pn.raws.unquoted=Pn.quoted?Au.slice(1,-1):Au}this.newNode(Pn),this.position++},Tr.prototype.combinator=function(){if(this.currToken[1]===\"|\")return this.namespace();for(var Lr=new Gx.default({value:\"\",source:{start:{line:this.currToken[2],column:this.currToken[3]},end:{line:this.currToken[2],column:this.currToken[3]}},sourceIndex:this.currToken[4]});this.position<this.tokens.length&&this.currToken&&(this.currToken[0]===\"space\"||this.currToken[0]===\"combinator\");)this.nextToken&&this.nextToken[0]===\"combinator\"?(Lr.spaces.before=this.parseSpace(this.currToken[1]),Lr.source.start.line=this.nextToken[2],Lr.source.start.column=this.nextToken[3],Lr.source.end.column=this.nextToken[3],Lr.source.end.line=this.nextToken[2],Lr.sourceIndex=this.nextToken[4]):this.prevToken&&this.prevToken[0]===\"combinator\"?Lr.spaces.after=this.parseSpace(this.currToken[1]):this.currToken[0]===\"combinator\"?Lr.value=this.currToken[1]:this.currToken[0]===\"space\"&&(Lr.value=this.parseSpace(this.currToken[1],\" \")),this.position++;return this.newNode(Lr)},Tr.prototype.comma=function(){if(this.position===this.tokens.length-1)return this.root.trailingComma=!0,void this.position++;var Lr=new F1.default;this.current.parent.append(Lr),this.current=Lr,this.position++},Tr.prototype.comment=function(){var Lr=new D1.default({value:this.currToken[1],source:{start:{line:this.currToken[2],column:this.currToken[3]},end:{line:this.currToken[4],column:this.currToken[5]}},sourceIndex:this.currToken[6]});this.newNode(Lr),this.position++},Tr.prototype.error=function(Lr){throw new this.input.error(Lr)},Tr.prototype.missingBackslash=function(){return this.error(\"Expected a backslash preceding the semicolon.\")},Tr.prototype.missingParenthesis=function(){return this.error(\"Expected opening parenthesis.\")},Tr.prototype.missingSquareBracket=function(){return this.error(\"Expected opening square bracket.\")},Tr.prototype.namespace=function(){var Lr=this.prevToken&&this.prevToken[1]||!0;return this.nextToken[0]===\"word\"?(this.position++,this.word(Lr)):this.nextToken[0]===\"*\"?(this.position++,this.universal(Lr)):void 0},Tr.prototype.nesting=function(){this.newNode(new ve.default({value:this.currToken[1],source:{start:{line:this.currToken[2],column:this.currToken[3]},end:{line:this.currToken[2],column:this.currToken[3]}},sourceIndex:this.currToken[4]})),this.position++},Tr.prototype.parentheses=function(){var Lr=this.current.last;if(Lr&&Lr.type===Ct.PSEUDO){var Pn=new F1.default,En=this.current;Lr.append(Pn),this.current=Pn;var cr=1;for(this.position++;this.position<this.tokens.length&&cr;)this.currToken[0]===\"(\"&&cr++,this.currToken[0]===\")\"&&cr--,cr?this.parse():(Pn.parent.source.end.line=this.currToken[2],Pn.parent.source.end.column=this.currToken[3],this.position++);cr&&this.error(\"Expected closing parenthesis.\"),this.current=En}else{var Ea=1;for(this.position++,Lr.value+=\"(\";this.position<this.tokens.length&&Ea;)this.currToken[0]===\"(\"&&Ea++,this.currToken[0]===\")\"&&Ea--,Lr.value+=this.parseParenthesisToken(this.currToken),this.position++;Ea&&this.error(\"Expected closing parenthesis.\")}},Tr.prototype.pseudo=function(){for(var Lr=this,Pn=\"\",En=this.currToken;this.currToken&&this.currToken[0]===\":\";)Pn+=this.currToken[1],this.position++;if(!this.currToken)return this.error(\"Expected pseudo-class or pseudo-element\");if(this.currToken[0]===\"word\"){var cr=void 0;this.splitWord(!1,function(Ea,Qn){Pn+=Ea,cr=new ux.default({value:Pn,source:{start:{line:En[2],column:En[3]},end:{line:Lr.currToken[4],column:Lr.currToken[5]}},sourceIndex:En[4]}),Lr.newNode(cr),Qn>1&&Lr.nextToken&&Lr.nextToken[0]===\"(\"&&Lr.error(\"Misplaced parenthesis.\")})}else this.error('Unexpected \"'+this.currToken[0]+'\" found.')},Tr.prototype.space=function(){var Lr=this.currToken;this.position===0||this.prevToken[0]===\",\"||this.prevToken[0]===\"(\"?(this.spaces=this.parseSpace(Lr[1]),this.position++):this.position===this.tokens.length-1||this.nextToken[0]===\",\"||this.nextToken[0]===\")\"?(this.current.last.spaces.after=this.parseSpace(Lr[1]),this.position++):this.combinator()},Tr.prototype.string=function(){var Lr=this.currToken;this.newNode(new x1.default({value:this.currToken[1],source:{start:{line:Lr[2],column:Lr[3]},end:{line:Lr[4],column:Lr[5]}},sourceIndex:Lr[6]})),this.position++},Tr.prototype.universal=function(Lr){var Pn=this.nextToken;if(Pn&&Pn[1]===\"|\")return this.position++,this.namespace();this.newNode(new ee.default({value:this.currToken[1],source:{start:{line:this.currToken[2],column:this.currToken[3]},end:{line:this.currToken[2],column:this.currToken[3]}},sourceIndex:this.currToken[4]}),Lr),this.position++},Tr.prototype.splitWord=function(Lr,Pn){for(var En=this,cr=this.nextToken,Ea=this.currToken[1];cr&&cr[0]===\"word\";){this.position++;var Qn=this.currToken[1];if(Ea+=Qn,Qn.lastIndexOf(\"\\\\\")===Qn.length-1){var Bu=this.nextToken;Bu&&Bu[0]===\"space\"&&(Ea+=this.parseSpace(Bu[1],\" \"),this.position++)}cr=this.nextToken}var Au=(0,e1.default)(Ea,\".\"),Ec=(0,e1.default)(Ea,\"#\"),kn=(0,e1.default)(Ea,\"#{\");kn.length&&(Ec=Ec.filter(function(mi){return!~kn.indexOf(mi)}));var pu=(0,qe.default)((0,t1.default)((0,J0.default)([[0],Au,Ec])));pu.forEach(function(mi,ma){var ja=pu[ma+1]||Ea.length,Ua=Ea.slice(mi,ja);if(ma===0&&Pn)return Pn.call(En,Ua,pu.length);var aa=void 0;aa=~Au.indexOf(mi)?new a1.default({value:Ua.slice(1),source:{start:{line:En.currToken[2],column:En.currToken[3]+mi},end:{line:En.currToken[4],column:En.currToken[3]+(ja-1)}},sourceIndex:En.currToken[6]+pu[ma]}):~Ec.indexOf(mi)?new W0.default({value:Ua.slice(1),source:{start:{line:En.currToken[2],column:En.currToken[3]+mi},end:{line:En.currToken[4],column:En.currToken[3]+(ja-1)}},sourceIndex:En.currToken[6]+pu[ma]}):new i1.default({value:Ua,source:{start:{line:En.currToken[2],column:En.currToken[3]+mi},end:{line:En.currToken[4],column:En.currToken[3]+(ja-1)}},sourceIndex:En.currToken[6]+pu[ma]}),En.newNode(aa,Lr)}),this.position++},Tr.prototype.word=function(Lr){var Pn=this.nextToken;return Pn&&Pn[1]===\"|\"?(this.position++,this.namespace()):this.splitWord(Lr)},Tr.prototype.loop=function(){for(;this.position<this.tokens.length;)this.parse(!0);return this.root},Tr.prototype.parse=function(Lr){switch(this.currToken[0]){case\"space\":this.space();break;case\"comment\":this.comment();break;case\"(\":this.parentheses();break;case\")\":Lr&&this.missingParenthesis();break;case\"[\":this.attribute();break;case\"]\":this.missingSquareBracket();break;case\"at-word\":case\"word\":this.word();break;case\":\":this.pseudo();break;case\";\":this.missingBackslash();break;case\",\":this.comma();break;case\"*\":this.universal();break;case\"&\":this.nesting();break;case\"combinator\":this.combinator();break;case\"string\":this.string()}},Tr.prototype.parseNamespace=function(Lr){if(this.lossy&&typeof Lr==\"string\"){var Pn=Lr.trim();return!Pn.length||Pn}return Lr},Tr.prototype.parseSpace=function(Lr,Pn){return this.lossy?Pn||\"\":Lr},Tr.prototype.parseValue=function(Lr){return this.lossy&&Lr&&typeof Lr==\"string\"?Lr.trim():Lr},Tr.prototype.parseParenthesisToken=function(Lr){return this.lossy?Lr[0]===\"space\"?this.parseSpace(Lr[1],\" \"):this.parseValue(Lr[1]):Lr[1]},Tr.prototype.newNode=function(Lr,Pn){return Pn&&(Lr.namespace=this.parseNamespace(Pn)),this.spaces&&(Lr.spaces.before=this.spaces,this.spaces=\"\"),this.current.append(Lr)},F0(Tr,[{key:\"currToken\",get:function(){return this.tokens[this.position]}},{key:\"nextToken\",get:function(){return this.tokens[this.position+1]}},{key:\"prevToken\",get:function(){return this.tokens[this.position-1]}}]),Tr}();s0.default=_n,K.exports=s0.default},2566:(K,s0,Y)=>{s0.__esModule=!0;var F0,J0=function(){function F1(a1,D1){for(var W0=0;W0<D1.length;W0++){var i1=D1[W0];i1.enumerable=i1.enumerable||!1,i1.configurable=!0,\"value\"in i1&&(i1.writable=!0),Object.defineProperty(a1,i1.key,i1)}}return function(a1,D1,W0){return D1&&F1(a1.prototype,D1),W0&&F1(a1,W0),a1}}(),e1=Y(5269),t1=(F0=e1)&&F0.__esModule?F0:{default:F0},r1=function(){function F1(a1){return function(D1,W0){if(!(D1 instanceof W0))throw new TypeError(\"Cannot call a class as a function\")}(this,F1),this.func=a1||function(){},this}return F1.prototype.process=function(a1){var D1=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},W0=new t1.default({css:a1,error:function(i1){throw new Error(i1)},options:D1});return this.res=W0,this.func(W0),this},J0(F1,[{key:\"result\",get:function(){return String(this.res)}}]),F1}();s0.default=r1,K.exports=s0.default},616:(K,s0,Y)=>{s0.__esModule=!0;var F0,J0=Y(4379),e1=(F0=J0)&&F0.__esModule?F0:{default:F0},t1=Y(8790),r1=function(F1){function a1(D1){(function(i1,x1){if(!(i1 instanceof x1))throw new TypeError(\"Cannot call a class as a function\")})(this,a1);var W0=function(i1,x1){if(!i1)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!x1||typeof x1!=\"object\"&&typeof x1!=\"function\"?i1:x1}(this,F1.call(this,D1));return W0.type=t1.ATTRIBUTE,W0.raws={},W0}return function(D1,W0){if(typeof W0!=\"function\"&&W0!==null)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof W0);D1.prototype=Object.create(W0&&W0.prototype,{constructor:{value:D1,enumerable:!1,writable:!0,configurable:!0}}),W0&&(Object.setPrototypeOf?Object.setPrototypeOf(D1,W0):D1.__proto__=W0)}(a1,F1),a1.prototype.toString=function(){var D1=[this.spaces.before,\"[\",this.ns,this.attribute];return this.operator&&D1.push(this.operator),this.value&&D1.push(this.value),this.raws.insensitive?D1.push(this.raws.insensitive):this.insensitive&&D1.push(\" i\"),D1.push(\"]\"),D1.concat(this.spaces.after).join(\"\")},a1}(e1.default);s0.default=r1,K.exports=s0.default},7835:(K,s0,Y)=>{s0.__esModule=!0;var F0,J0=Y(4379),e1=(F0=J0)&&F0.__esModule?F0:{default:F0},t1=Y(8790),r1=function(F1){function a1(D1){(function(i1,x1){if(!(i1 instanceof x1))throw new TypeError(\"Cannot call a class as a function\")})(this,a1);var W0=function(i1,x1){if(!i1)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!x1||typeof x1!=\"object\"&&typeof x1!=\"function\"?i1:x1}(this,F1.call(this,D1));return W0.type=t1.CLASS,W0}return function(D1,W0){if(typeof W0!=\"function\"&&W0!==null)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof W0);D1.prototype=Object.create(W0&&W0.prototype,{constructor:{value:D1,enumerable:!1,writable:!0,configurable:!0}}),W0&&(Object.setPrototypeOf?Object.setPrototypeOf(D1,W0):D1.__proto__=W0)}(a1,F1),a1.prototype.toString=function(){return[this.spaces.before,this.ns,String(\".\"+this.value),this.spaces.after].join(\"\")},a1}(e1.default);s0.default=r1,K.exports=s0.default},478:(K,s0,Y)=>{s0.__esModule=!0;var F0,J0=Y(8871),e1=(F0=J0)&&F0.__esModule?F0:{default:F0},t1=Y(8790),r1=function(F1){function a1(D1){(function(i1,x1){if(!(i1 instanceof x1))throw new TypeError(\"Cannot call a class as a function\")})(this,a1);var W0=function(i1,x1){if(!i1)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!x1||typeof x1!=\"object\"&&typeof x1!=\"function\"?i1:x1}(this,F1.call(this,D1));return W0.type=t1.COMBINATOR,W0}return function(D1,W0){if(typeof W0!=\"function\"&&W0!==null)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof W0);D1.prototype=Object.create(W0&&W0.prototype,{constructor:{value:D1,enumerable:!1,writable:!0,configurable:!0}}),W0&&(Object.setPrototypeOf?Object.setPrototypeOf(D1,W0):D1.__proto__=W0)}(a1,F1),a1}(e1.default);s0.default=r1,K.exports=s0.default},4907:(K,s0,Y)=>{s0.__esModule=!0;var F0,J0=Y(8871),e1=(F0=J0)&&F0.__esModule?F0:{default:F0},t1=Y(8790),r1=function(F1){function a1(D1){(function(i1,x1){if(!(i1 instanceof x1))throw new TypeError(\"Cannot call a class as a function\")})(this,a1);var W0=function(i1,x1){if(!i1)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!x1||typeof x1!=\"object\"&&typeof x1!=\"function\"?i1:x1}(this,F1.call(this,D1));return W0.type=t1.COMMENT,W0}return function(D1,W0){if(typeof W0!=\"function\"&&W0!==null)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof W0);D1.prototype=Object.create(W0&&W0.prototype,{constructor:{value:D1,enumerable:!1,writable:!0,configurable:!0}}),W0&&(Object.setPrototypeOf?Object.setPrototypeOf(D1,W0):D1.__proto__=W0)}(a1,F1),a1}(e1.default);s0.default=r1,K.exports=s0.default},7144:(K,s0,Y)=>{Y(4070),s0.__esModule=!0;var F0,J0=function(){function a1(D1,W0){for(var i1=0;i1<W0.length;i1++){var x1=W0[i1];x1.enumerable=x1.enumerable||!1,x1.configurable=!0,\"value\"in x1&&(x1.writable=!0),Object.defineProperty(D1,x1.key,x1)}}return function(D1,W0,i1){return W0&&a1(D1.prototype,W0),i1&&a1(D1,i1),D1}}(),e1=Y(8871),t1=(F0=e1)&&F0.__esModule?F0:{default:F0},r1=function(a1){if(a1&&a1.__esModule)return a1;var D1={};if(a1!=null)for(var W0 in a1)Object.prototype.hasOwnProperty.call(a1,W0)&&(D1[W0]=a1[W0]);return D1.default=a1,D1}(Y(8790)),F1=function(a1){function D1(W0){(function(x1,ux){if(!(x1 instanceof ux))throw new TypeError(\"Cannot call a class as a function\")})(this,D1);var i1=function(x1,ux){if(!x1)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!ux||typeof ux!=\"object\"&&typeof ux!=\"function\"?x1:ux}(this,a1.call(this,W0));return i1.nodes||(i1.nodes=[]),i1}return function(W0,i1){if(typeof i1!=\"function\"&&i1!==null)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof i1);W0.prototype=Object.create(i1&&i1.prototype,{constructor:{value:W0,enumerable:!1,writable:!0,configurable:!0}}),i1&&(Object.setPrototypeOf?Object.setPrototypeOf(W0,i1):W0.__proto__=i1)}(D1,a1),D1.prototype.append=function(W0){return W0.parent=this,this.nodes.push(W0),this},D1.prototype.prepend=function(W0){return W0.parent=this,this.nodes.unshift(W0),this},D1.prototype.at=function(W0){return this.nodes[W0]},D1.prototype.index=function(W0){return typeof W0==\"number\"?W0:this.nodes.indexOf(W0)},D1.prototype.removeChild=function(W0){W0=this.index(W0),this.at(W0).parent=void 0,this.nodes.splice(W0,1);var i1=void 0;for(var x1 in this.indexes)(i1=this.indexes[x1])>=W0&&(this.indexes[x1]=i1-1);return this},D1.prototype.removeAll=function(){var W0=this.nodes,i1=Array.isArray(W0),x1=0;for(W0=i1?W0:W0[Symbol.iterator]();;){var ux;if(i1){if(x1>=W0.length)break;ux=W0[x1++]}else{if((x1=W0.next()).done)break;ux=x1.value}ux.parent=void 0}return this.nodes=[],this},D1.prototype.empty=function(){return this.removeAll()},D1.prototype.insertAfter=function(W0,i1){var x1=this.index(W0);this.nodes.splice(x1+1,0,i1);var ux=void 0;for(var K1 in this.indexes)x1<=(ux=this.indexes[K1])&&(this.indexes[K1]=ux+this.nodes.length);return this},D1.prototype.insertBefore=function(W0,i1){var x1=this.index(W0);this.nodes.splice(x1,0,i1);var ux=void 0;for(var K1 in this.indexes)x1<=(ux=this.indexes[K1])&&(this.indexes[K1]=ux+this.nodes.length);return this},D1.prototype.each=function(W0){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach++;var i1=this.lastEach;if(this.indexes[i1]=0,this.length){for(var x1=void 0,ux=void 0;this.indexes[i1]<this.length&&(x1=this.indexes[i1],(ux=W0(this.at(x1),x1))!==!1);)this.indexes[i1]+=1;return delete this.indexes[i1],ux!==!1&&void 0}},D1.prototype.walk=function(W0){return this.each(function(i1,x1){var ux=W0(i1,x1);if(ux!==!1&&i1.length&&(ux=i1.walk(W0)),ux===!1)return!1})},D1.prototype.walkAttributes=function(W0){var i1=this;return this.walk(function(x1){if(x1.type===r1.ATTRIBUTE)return W0.call(i1,x1)})},D1.prototype.walkClasses=function(W0){var i1=this;return this.walk(function(x1){if(x1.type===r1.CLASS)return W0.call(i1,x1)})},D1.prototype.walkCombinators=function(W0){var i1=this;return this.walk(function(x1){if(x1.type===r1.COMBINATOR)return W0.call(i1,x1)})},D1.prototype.walkComments=function(W0){var i1=this;return this.walk(function(x1){if(x1.type===r1.COMMENT)return W0.call(i1,x1)})},D1.prototype.walkIds=function(W0){var i1=this;return this.walk(function(x1){if(x1.type===r1.ID)return W0.call(i1,x1)})},D1.prototype.walkNesting=function(W0){var i1=this;return this.walk(function(x1){if(x1.type===r1.NESTING)return W0.call(i1,x1)})},D1.prototype.walkPseudos=function(W0){var i1=this;return this.walk(function(x1){if(x1.type===r1.PSEUDO)return W0.call(i1,x1)})},D1.prototype.walkTags=function(W0){var i1=this;return this.walk(function(x1){if(x1.type===r1.TAG)return W0.call(i1,x1)})},D1.prototype.walkUniversals=function(W0){var i1=this;return this.walk(function(x1){if(x1.type===r1.UNIVERSAL)return W0.call(i1,x1)})},D1.prototype.split=function(W0){var i1=this,x1=[];return this.reduce(function(ux,K1,ee){var Gx=W0.call(i1,K1);return x1.push(K1),Gx?(ux.push(x1),x1=[]):ee===i1.length-1&&ux.push(x1),ux},[])},D1.prototype.map=function(W0){return this.nodes.map(W0)},D1.prototype.reduce=function(W0,i1){return this.nodes.reduce(W0,i1)},D1.prototype.every=function(W0){return this.nodes.every(W0)},D1.prototype.some=function(W0){return this.nodes.some(W0)},D1.prototype.filter=function(W0){return this.nodes.filter(W0)},D1.prototype.sort=function(W0){return this.nodes.sort(W0)},D1.prototype.toString=function(){return this.map(String).join(\"\")},J0(D1,[{key:\"first\",get:function(){return this.at(0)}},{key:\"last\",get:function(){return this.at(this.length-1)}},{key:\"length\",get:function(){return this.nodes.length}}]),D1}(t1.default);s0.default=F1,K.exports=s0.default},8420:(K,s0,Y)=>{s0.__esModule=!0;var F0,J0=Y(4379),e1=(F0=J0)&&F0.__esModule?F0:{default:F0},t1=Y(8790),r1=function(F1){function a1(D1){(function(i1,x1){if(!(i1 instanceof x1))throw new TypeError(\"Cannot call a class as a function\")})(this,a1);var W0=function(i1,x1){if(!i1)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!x1||typeof x1!=\"object\"&&typeof x1!=\"function\"?i1:x1}(this,F1.call(this,D1));return W0.type=t1.ID,W0}return function(D1,W0){if(typeof W0!=\"function\"&&W0!==null)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof W0);D1.prototype=Object.create(W0&&W0.prototype,{constructor:{value:D1,enumerable:!1,writable:!0,configurable:!0}}),W0&&(Object.setPrototypeOf?Object.setPrototypeOf(D1,W0):D1.__proto__=W0)}(a1,F1),a1.prototype.toString=function(){return[this.spaces.before,this.ns,String(\"#\"+this.value),this.spaces.after].join(\"\")},a1}(e1.default);s0.default=r1,K.exports=s0.default},4379:(K,s0,Y)=>{s0.__esModule=!0;var F0,J0=function(){function a1(D1,W0){for(var i1=0;i1<W0.length;i1++){var x1=W0[i1];x1.enumerable=x1.enumerable||!1,x1.configurable=!0,\"value\"in x1&&(x1.writable=!0),Object.defineProperty(D1,x1.key,x1)}}return function(D1,W0,i1){return W0&&a1(D1.prototype,W0),i1&&a1(D1,i1),D1}}(),e1=Y(8871);function t1(a1,D1){if(!(a1 instanceof D1))throw new TypeError(\"Cannot call a class as a function\")}function r1(a1,D1){if(!a1)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!D1||typeof D1!=\"object\"&&typeof D1!=\"function\"?a1:D1}var F1=function(a1){function D1(){return t1(this,D1),r1(this,a1.apply(this,arguments))}return function(W0,i1){if(typeof i1!=\"function\"&&i1!==null)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof i1);W0.prototype=Object.create(i1&&i1.prototype,{constructor:{value:W0,enumerable:!1,writable:!0,configurable:!0}}),i1&&(Object.setPrototypeOf?Object.setPrototypeOf(W0,i1):W0.__proto__=i1)}(D1,a1),D1.prototype.toString=function(){return[this.spaces.before,this.ns,String(this.value),this.spaces.after].join(\"\")},J0(D1,[{key:\"ns\",get:function(){var W0=this.namespace;return W0?(typeof W0==\"string\"?W0:\"\")+\"|\":\"\"}}]),D1}(((F0=e1)&&F0.__esModule?F0:{default:F0}).default);s0.default=F1,K.exports=s0.default},7523:(K,s0,Y)=>{s0.__esModule=!0;var F0,J0=Y(8871),e1=(F0=J0)&&F0.__esModule?F0:{default:F0},t1=Y(8790),r1=function(F1){function a1(D1){(function(i1,x1){if(!(i1 instanceof x1))throw new TypeError(\"Cannot call a class as a function\")})(this,a1);var W0=function(i1,x1){if(!i1)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!x1||typeof x1!=\"object\"&&typeof x1!=\"function\"?i1:x1}(this,F1.call(this,D1));return W0.type=t1.NESTING,W0.value=\"&\",W0}return function(D1,W0){if(typeof W0!=\"function\"&&W0!==null)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof W0);D1.prototype=Object.create(W0&&W0.prototype,{constructor:{value:D1,enumerable:!1,writable:!0,configurable:!0}}),W0&&(Object.setPrototypeOf?Object.setPrototypeOf(D1,W0):D1.__proto__=W0)}(a1,F1),a1}(e1.default);s0.default=r1,K.exports=s0.default},8871:(K,s0)=>{s0.__esModule=!0;var Y=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(t1){return typeof t1}:function(t1){return t1&&typeof Symbol==\"function\"&&t1.constructor===Symbol&&t1!==Symbol.prototype?\"symbol\":typeof t1};function F0(t1,r1){if(!(t1 instanceof r1))throw new TypeError(\"Cannot call a class as a function\")}var J0=function t1(r1,F1){if((r1===void 0?\"undefined\":Y(r1))!==\"object\")return r1;var a1=new r1.constructor;for(var D1 in r1)if(r1.hasOwnProperty(D1)){var W0=r1[D1],i1=W0===void 0?\"undefined\":Y(W0);D1===\"parent\"&&i1===\"object\"?F1&&(a1[D1]=F1):a1[D1]=W0 instanceof Array?W0.map(function(x1){return t1(x1,a1)}):t1(W0,a1)}return a1},e1=function(){function t1(){var r1=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};for(var F1 in F0(this,t1),r1)this[F1]=r1[F1];var a1=r1.spaces,D1=(a1=a1===void 0?{}:a1).before,W0=D1===void 0?\"\":D1,i1=a1.after,x1=i1===void 0?\"\":i1;this.spaces={before:W0,after:x1}}return t1.prototype.remove=function(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this},t1.prototype.replaceWith=function(){if(this.parent){for(var r1 in arguments)this.parent.insertBefore(this,arguments[r1]);this.remove()}return this},t1.prototype.next=function(){return this.parent.at(this.parent.index(this)+1)},t1.prototype.prev=function(){return this.parent.at(this.parent.index(this)-1)},t1.prototype.clone=function(){var r1=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},F1=J0(this);for(var a1 in r1)F1[a1]=r1[a1];return F1},t1.prototype.toString=function(){return[this.spaces.before,String(this.value),this.spaces.after].join(\"\")},t1}();s0.default=e1,K.exports=s0.default},4316:(K,s0,Y)=>{s0.__esModule=!0;var F0,J0=Y(7144),e1=(F0=J0)&&F0.__esModule?F0:{default:F0},t1=Y(8790),r1=function(F1){function a1(D1){(function(i1,x1){if(!(i1 instanceof x1))throw new TypeError(\"Cannot call a class as a function\")})(this,a1);var W0=function(i1,x1){if(!i1)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!x1||typeof x1!=\"object\"&&typeof x1!=\"function\"?i1:x1}(this,F1.call(this,D1));return W0.type=t1.PSEUDO,W0}return function(D1,W0){if(typeof W0!=\"function\"&&W0!==null)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof W0);D1.prototype=Object.create(W0&&W0.prototype,{constructor:{value:D1,enumerable:!1,writable:!0,configurable:!0}}),W0&&(Object.setPrototypeOf?Object.setPrototypeOf(D1,W0):D1.__proto__=W0)}(a1,F1),a1.prototype.toString=function(){var D1=this.length?\"(\"+this.map(String).join(\",\")+\")\":\"\";return[this.spaces.before,String(this.value),D1,this.spaces.after].join(\"\")},a1}(e1.default);s0.default=r1,K.exports=s0.default},6909:(K,s0,Y)=>{s0.__esModule=!0;var F0,J0=Y(7144),e1=(F0=J0)&&F0.__esModule?F0:{default:F0},t1=Y(8790),r1=function(F1){function a1(D1){(function(i1,x1){if(!(i1 instanceof x1))throw new TypeError(\"Cannot call a class as a function\")})(this,a1);var W0=function(i1,x1){if(!i1)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!x1||typeof x1!=\"object\"&&typeof x1!=\"function\"?i1:x1}(this,F1.call(this,D1));return W0.type=t1.ROOT,W0}return function(D1,W0){if(typeof W0!=\"function\"&&W0!==null)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof W0);D1.prototype=Object.create(W0&&W0.prototype,{constructor:{value:D1,enumerable:!1,writable:!0,configurable:!0}}),W0&&(Object.setPrototypeOf?Object.setPrototypeOf(D1,W0):D1.__proto__=W0)}(a1,F1),a1.prototype.toString=function(){var D1=this.reduce(function(W0,i1){var x1=String(i1);return x1?W0+x1+\",\":\"\"},\"\").slice(0,-1);return this.trailingComma?D1+\",\":D1},a1}(e1.default);s0.default=r1,K.exports=s0.default},6279:(K,s0,Y)=>{s0.__esModule=!0;var F0,J0=Y(7144),e1=(F0=J0)&&F0.__esModule?F0:{default:F0},t1=Y(8790),r1=function(F1){function a1(D1){(function(i1,x1){if(!(i1 instanceof x1))throw new TypeError(\"Cannot call a class as a function\")})(this,a1);var W0=function(i1,x1){if(!i1)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!x1||typeof x1!=\"object\"&&typeof x1!=\"function\"?i1:x1}(this,F1.call(this,D1));return W0.type=t1.SELECTOR,W0}return function(D1,W0){if(typeof W0!=\"function\"&&W0!==null)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof W0);D1.prototype=Object.create(W0&&W0.prototype,{constructor:{value:D1,enumerable:!1,writable:!0,configurable:!0}}),W0&&(Object.setPrototypeOf?Object.setPrototypeOf(D1,W0):D1.__proto__=W0)}(a1,F1),a1}(e1.default);s0.default=r1,K.exports=s0.default},439:(K,s0,Y)=>{s0.__esModule=!0;var F0,J0=Y(8871),e1=(F0=J0)&&F0.__esModule?F0:{default:F0},t1=Y(8790),r1=function(F1){function a1(D1){(function(i1,x1){if(!(i1 instanceof x1))throw new TypeError(\"Cannot call a class as a function\")})(this,a1);var W0=function(i1,x1){if(!i1)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!x1||typeof x1!=\"object\"&&typeof x1!=\"function\"?i1:x1}(this,F1.call(this,D1));return W0.type=t1.STRING,W0}return function(D1,W0){if(typeof W0!=\"function\"&&W0!==null)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof W0);D1.prototype=Object.create(W0&&W0.prototype,{constructor:{value:D1,enumerable:!1,writable:!0,configurable:!0}}),W0&&(Object.setPrototypeOf?Object.setPrototypeOf(D1,W0):D1.__proto__=W0)}(a1,F1),a1}(e1.default);s0.default=r1,K.exports=s0.default},9956:(K,s0,Y)=>{s0.__esModule=!0;var F0,J0=Y(4379),e1=(F0=J0)&&F0.__esModule?F0:{default:F0},t1=Y(8790),r1=function(F1){function a1(D1){(function(i1,x1){if(!(i1 instanceof x1))throw new TypeError(\"Cannot call a class as a function\")})(this,a1);var W0=function(i1,x1){if(!i1)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!x1||typeof x1!=\"object\"&&typeof x1!=\"function\"?i1:x1}(this,F1.call(this,D1));return W0.type=t1.TAG,W0}return function(D1,W0){if(typeof W0!=\"function\"&&W0!==null)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof W0);D1.prototype=Object.create(W0&&W0.prototype,{constructor:{value:D1,enumerable:!1,writable:!0,configurable:!0}}),W0&&(Object.setPrototypeOf?Object.setPrototypeOf(D1,W0):D1.__proto__=W0)}(a1,F1),a1}(e1.default);s0.default=r1,K.exports=s0.default},8790:(K,s0)=>{s0.__esModule=!0,s0.TAG=\"tag\",s0.STRING=\"string\",s0.SELECTOR=\"selector\",s0.ROOT=\"root\",s0.PSEUDO=\"pseudo\",s0.NESTING=\"nesting\",s0.ID=\"id\",s0.COMMENT=\"comment\",s0.COMBINATOR=\"combinator\",s0.CLASS=\"class\",s0.ATTRIBUTE=\"attribute\",s0.UNIVERSAL=\"universal\"},70:(K,s0,Y)=>{s0.__esModule=!0;var F0,J0=Y(4379),e1=(F0=J0)&&F0.__esModule?F0:{default:F0},t1=Y(8790),r1=function(F1){function a1(D1){(function(i1,x1){if(!(i1 instanceof x1))throw new TypeError(\"Cannot call a class as a function\")})(this,a1);var W0=function(i1,x1){if(!i1)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!x1||typeof x1!=\"object\"&&typeof x1!=\"function\"?i1:x1}(this,F1.call(this,D1));return W0.type=t1.UNIVERSAL,W0.value=\"*\",W0}return function(D1,W0){if(typeof W0!=\"function\"&&W0!==null)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof W0);D1.prototype=Object.create(W0&&W0.prototype,{constructor:{value:D1,enumerable:!1,writable:!0,configurable:!0}}),W0&&(Object.setPrototypeOf?Object.setPrototypeOf(D1,W0):D1.__proto__=W0)}(a1,F1),a1}(e1.default);s0.default=r1,K.exports=s0.default},9788:(K,s0,Y)=>{Y(4070),s0.__esModule=!0,s0.default=function(F0){return F0.sort(function(J0,e1){return J0-e1})},K.exports=s0.default},6554:(K,s0)=>{s0.__esModule=!0,s0.default=function(J0){for(var e1=[],t1=J0.css.valueOf(),r1=void 0,F1=void 0,a1=void 0,D1=void 0,W0=void 0,i1=void 0,x1=void 0,ux=void 0,K1=void 0,ee=void 0,Gx=void 0,ve=t1.length,qe=-1,Jt=1,Ct=0,vn=function(_n,Tr){if(!J0.safe)throw J0.error(\"Unclosed \"+_n,Jt,Ct-qe,Ct);F1=(t1+=Tr).length-1};Ct<ve;){switch((r1=t1.charCodeAt(Ct))===10&&(qe=Ct,Jt+=1),r1){case 10:case 32:case 9:case 13:case 12:F1=Ct;do F1+=1,(r1=t1.charCodeAt(F1))===10&&(qe=F1,Jt+=1);while(r1===32||r1===10||r1===9||r1===13||r1===12);e1.push([\"space\",t1.slice(Ct,F1),Jt,Ct-qe,Ct]),Ct=F1-1;break;case 43:case 62:case 126:case 124:F1=Ct;do F1+=1,r1=t1.charCodeAt(F1);while(r1===43||r1===62||r1===126||r1===124);e1.push([\"combinator\",t1.slice(Ct,F1),Jt,Ct-qe,Ct]),Ct=F1-1;break;case 42:e1.push([\"*\",\"*\",Jt,Ct-qe,Ct]);break;case 38:e1.push([\"&\",\"&\",Jt,Ct-qe,Ct]);break;case 44:e1.push([\",\",\",\",Jt,Ct-qe,Ct]);break;case 91:e1.push([\"[\",\"[\",Jt,Ct-qe,Ct]);break;case 93:e1.push([\"]\",\"]\",Jt,Ct-qe,Ct]);break;case 58:e1.push([\":\",\":\",Jt,Ct-qe,Ct]);break;case 59:e1.push([\";\",\";\",Jt,Ct-qe,Ct]);break;case 40:e1.push([\"(\",\"(\",Jt,Ct-qe,Ct]);break;case 41:e1.push([\")\",\")\",Jt,Ct-qe,Ct]);break;case 39:case 34:a1=r1===39?\"'\":'\"',F1=Ct;do for(ee=!1,(F1=t1.indexOf(a1,F1+1))===-1&&vn(\"quote\",a1),Gx=F1;t1.charCodeAt(Gx-1)===92;)Gx-=1,ee=!ee;while(ee);e1.push([\"string\",t1.slice(Ct,F1+1),Jt,Ct-qe,Jt,F1-qe,Ct]),Ct=F1;break;case 64:Y.lastIndex=Ct+1,Y.test(t1),F1=Y.lastIndex===0?t1.length-1:Y.lastIndex-2,e1.push([\"at-word\",t1.slice(Ct,F1+1),Jt,Ct-qe,Jt,F1-qe,Ct]),Ct=F1;break;case 92:for(F1=Ct,x1=!0;t1.charCodeAt(F1+1)===92;)F1+=1,x1=!x1;r1=t1.charCodeAt(F1+1),x1&&r1!==47&&r1!==32&&r1!==10&&r1!==9&&r1!==13&&r1!==12&&(F1+=1),e1.push([\"word\",t1.slice(Ct,F1+1),Jt,Ct-qe,Jt,F1-qe,Ct]),Ct=F1;break;default:r1===47&&t1.charCodeAt(Ct+1)===42?((F1=t1.indexOf(\"*/\",Ct+2)+1)===0&&vn(\"comment\",\"*/\"),i1=t1.slice(Ct,F1+1),D1=i1.split(`\n`),(W0=D1.length-1)>0?(ux=Jt+W0,K1=F1-D1[W0].length):(ux=Jt,K1=qe),e1.push([\"comment\",i1,Jt,Ct-qe,ux,F1-K1,Ct]),qe=K1,Jt=ux,Ct=F1):(F0.lastIndex=Ct+1,F0.test(t1),F1=F0.lastIndex===0?t1.length-1:F0.lastIndex-2,e1.push([\"word\",t1.slice(Ct,F1+1),Jt,Ct-qe,Jt,F1-qe,Ct]),Ct=F1)}Ct++}return e1};var Y=/[ \\n\\t\\r\\{\\(\\)'\"\\\\;/]/g,F0=/[ \\n\\t\\r\\(\\)\\*:;@!&'\"\\+\\|~>,\\[\\]\\\\]|\\/(?=\\*)/g;K.exports=s0.default},5294:(K,s0,Y)=>{const F0=Y(4196);class J0 extends F0{constructor(t1){super(t1),this.type=\"atword\"}toString(){return this.quoted&&this.raws.quote,[this.raws.before,\"@\",String.prototype.toString.call(this.value),this.raws.after].join(\"\")}}F0.registerWalker(J0),K.exports=J0},8709:(K,s0,Y)=>{const F0=Y(4196),J0=Y(1466);class e1 extends J0{constructor(r1){super(r1),this.type=\"colon\"}}F0.registerWalker(e1),K.exports=e1},3627:(K,s0,Y)=>{const F0=Y(4196),J0=Y(1466);class e1 extends J0{constructor(r1){super(r1),this.type=\"comma\"}}F0.registerWalker(e1),K.exports=e1},4384:(K,s0,Y)=>{const F0=Y(4196),J0=Y(1466);class e1 extends J0{constructor(r1){super(r1),this.type=\"comment\",this.inline=Object(r1).inline||!1}toString(){return[this.raws.before,this.inline?\"//\":\"/*\",String(this.value),this.inline?\"\":\"*/\",this.raws.after].join(\"\")}}F0.registerWalker(e1),K.exports=e1},4196:(K,s0,Y)=>{const F0=Y(1466);class J0 extends F0{constructor(t1){super(t1),this.nodes||(this.nodes=[])}push(t1){return t1.parent=this,this.nodes.push(t1),this}each(t1){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let r1,F1,a1=this.lastEach;if(this.indexes[a1]=0,this.nodes){for(;this.indexes[a1]<this.nodes.length&&(r1=this.indexes[a1],F1=t1(this.nodes[r1],r1),F1!==!1);)this.indexes[a1]+=1;return delete this.indexes[a1],F1}}walk(t1){return this.each((r1,F1)=>{let a1=t1(r1,F1);return a1!==!1&&r1.walk&&(a1=r1.walk(t1)),a1})}walkType(t1,r1){if(!t1||!r1)throw new Error(\"Parameters {type} and {callback} are required.\");const F1=typeof t1==\"function\";return this.walk((a1,D1)=>{if(F1&&a1 instanceof t1||!F1&&a1.type===t1)return r1.call(this,a1,D1)})}append(t1){return t1.parent=this,this.nodes.push(t1),this}prepend(t1){return t1.parent=this,this.nodes.unshift(t1),this}cleanRaws(t1){if(super.cleanRaws(t1),this.nodes)for(let r1 of this.nodes)r1.cleanRaws(t1)}insertAfter(t1,r1){let F1,a1=this.index(t1);this.nodes.splice(a1+1,0,r1);for(let D1 in this.indexes)F1=this.indexes[D1],a1<=F1&&(this.indexes[D1]=F1+this.nodes.length);return this}insertBefore(t1,r1){let F1,a1=this.index(t1);this.nodes.splice(a1,0,r1);for(let D1 in this.indexes)F1=this.indexes[D1],a1<=F1&&(this.indexes[D1]=F1+this.nodes.length);return this}removeChild(t1){let r1;t1=this.index(t1),this.nodes[t1].parent=void 0,this.nodes.splice(t1,1);for(let F1 in this.indexes)r1=this.indexes[F1],r1>=t1&&(this.indexes[F1]=r1-1);return this}removeAll(){for(let t1 of this.nodes)t1.parent=void 0;return this.nodes=[],this}every(t1){return this.nodes.every(t1)}some(t1){return this.nodes.some(t1)}index(t1){return typeof t1==\"number\"?t1:this.nodes.indexOf(t1)}get first(){if(this.nodes)return this.nodes[0]}get last(){if(this.nodes)return this.nodes[this.nodes.length-1]}toString(){let t1=this.nodes.map(String).join(\"\");return this.value&&(t1=this.value+t1),this.raws.before&&(t1=this.raws.before+t1),this.raws.after&&(t1+=this.raws.after),t1}}J0.registerWalker=e1=>{let t1=\"walk\"+e1.name;t1.lastIndexOf(\"s\")!==t1.length-1&&(t1+=\"s\"),J0.prototype[t1]||(J0.prototype[t1]=function(r1){return this.walkType(e1,r1)})},K.exports=J0},9645:K=>{class s0 extends Error{constructor(F0){super(F0),this.name=this.constructor.name,this.message=F0||\"An error ocurred while parsing.\",typeof Error.captureStackTrace==\"function\"?Error.captureStackTrace(this,this.constructor):this.stack=new Error(F0).stack}}K.exports=s0},5128:K=>{class s0 extends Error{constructor(F0){super(F0),this.name=this.constructor.name,this.message=F0||\"An error ocurred while tokzenizing.\",typeof Error.captureStackTrace==\"function\"?Error.captureStackTrace(this,this.constructor):this.stack=new Error(F0).stack}}K.exports=s0},4320:(K,s0,Y)=>{const F0=Y(4196);class J0 extends F0{constructor(t1){super(t1),this.type=\"func\",this.unbalanced=-1}}F0.registerWalker(J0),K.exports=J0},9962:(K,s0,Y)=>{const F0=Y(3784),J0=Y(5294),e1=Y(8709),t1=Y(3627),r1=Y(4384),F1=Y(4320),a1=Y(3074),D1=Y(7214),W0=Y(1238),i1=Y(9672),x1=Y(1369),ux=Y(2057),K1=Y(6593);let ee=function(Gx,ve){return new F0(Gx,ve)};ee.atword=function(Gx){return new J0(Gx)},ee.colon=function(Gx){return new e1(Object.assign({value:\":\"},Gx))},ee.comma=function(Gx){return new t1(Object.assign({value:\",\"},Gx))},ee.comment=function(Gx){return new r1(Gx)},ee.func=function(Gx){return new F1(Gx)},ee.number=function(Gx){return new a1(Gx)},ee.operator=function(Gx){return new D1(Gx)},ee.paren=function(Gx){return new W0(Object.assign({value:\"(\"},Gx))},ee.string=function(Gx){return new i1(Object.assign({quote:\"'\"},Gx))},ee.value=function(Gx){return new ux(Gx)},ee.word=function(Gx){return new K1(Gx)},ee.unicodeRange=function(Gx){return new x1(Gx)},K.exports=ee},1466:K=>{let s0=function(Y,F0){let J0=new Y.constructor;for(let e1 in Y){if(!Y.hasOwnProperty(e1))continue;let t1=Y[e1],r1=typeof t1;e1===\"parent\"&&r1===\"object\"?F0&&(J0[e1]=F0):e1===\"source\"?J0[e1]=t1:t1 instanceof Array?J0[e1]=t1.map(F1=>s0(F1,J0)):e1!==\"before\"&&e1!==\"after\"&&e1!==\"between\"&&e1!==\"semicolon\"&&(r1===\"object\"&&t1!==null&&(t1=s0(t1)),J0[e1]=t1)}return J0};K.exports=class{constructor(Y){Y=Y||{},this.raws={before:\"\",after:\"\"};for(let F0 in Y)this[F0]=Y[F0]}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}toString(){return[this.raws.before,String(this.value),this.raws.after].join(\"\")}clone(Y){Y=Y||{};let F0=s0(this);for(let J0 in Y)F0[J0]=Y[J0];return F0}cloneBefore(Y){Y=Y||{};let F0=this.clone(Y);return this.parent.insertBefore(this,F0),F0}cloneAfter(Y){Y=Y||{};let F0=this.clone(Y);return this.parent.insertAfter(this,F0),F0}replaceWith(){let Y=Array.prototype.slice.call(arguments);if(this.parent){for(let F0 of Y)this.parent.insertBefore(this,F0);this.remove()}return this}moveTo(Y){return this.cleanRaws(this.root()===Y.root()),this.remove(),Y.append(this),this}moveBefore(Y){return this.cleanRaws(this.root()===Y.root()),this.remove(),Y.parent.insertBefore(Y,this),this}moveAfter(Y){return this.cleanRaws(this.root()===Y.root()),this.remove(),Y.parent.insertAfter(Y,this),this}next(){let Y=this.parent.index(this);return this.parent.nodes[Y+1]}prev(){let Y=this.parent.index(this);return this.parent.nodes[Y-1]}toJSON(){let Y={};for(let F0 in this){if(!this.hasOwnProperty(F0)||F0===\"parent\")continue;let J0=this[F0];J0 instanceof Array?Y[F0]=J0.map(e1=>typeof e1==\"object\"&&e1.toJSON?e1.toJSON():e1):typeof J0==\"object\"&&J0.toJSON?Y[F0]=J0.toJSON():Y[F0]=J0}return Y}root(){let Y=this;for(;Y.parent;)Y=Y.parent;return Y}cleanRaws(Y){delete this.raws.before,delete this.raws.after,Y||delete this.raws.between}positionInside(Y){let F0=this.toString(),J0=this.source.start.column,e1=this.source.start.line;for(let t1=0;t1<Y;t1++)F0[t1]===`\n`?(J0=1,e1+=1):J0+=1;return{line:e1,column:J0}}positionBy(Y){let F0=this.source.start;if(Object(Y).index)F0=this.positionInside(Y.index);else if(Object(Y).word){let J0=this.toString().indexOf(Y.word);J0!==-1&&(F0=this.positionInside(J0))}return F0}}},3074:(K,s0,Y)=>{const F0=Y(4196),J0=Y(1466);class e1 extends J0{constructor(r1){super(r1),this.type=\"number\",this.unit=Object(r1).unit||\"\"}toString(){return[this.raws.before,String(this.value),this.unit,this.raws.after].join(\"\")}}F0.registerWalker(e1),K.exports=e1},7214:(K,s0,Y)=>{const F0=Y(4196),J0=Y(1466);class e1 extends J0{constructor(r1){super(r1),this.type=\"operator\"}}F0.registerWalker(e1),K.exports=e1},1238:(K,s0,Y)=>{const F0=Y(4196),J0=Y(1466);class e1 extends J0{constructor(r1){super(r1),this.type=\"paren\",this.parenType=\"\"}}F0.registerWalker(e1),K.exports=e1},3784:(K,s0,Y)=>{Y(4070);const F0=Y(4343),J0=Y(2057),e1=Y(5294),t1=Y(8709),r1=Y(3627),F1=Y(4384),a1=Y(4320),D1=Y(3074),W0=Y(7214),i1=Y(1238),x1=Y(9672),ux=Y(6593),K1=Y(1369),ee=Y(2481),Gx=Y(8051),ve=Y(7886),qe=Y(3210),Jt=Y(9645);K.exports=class{constructor(Ct,vn){this.cache=[],this.input=Ct,this.options=Object.assign({},{loose:!1},vn),this.position=0,this.unbalanced=0,this.root=new F0;let _n=new J0;this.root.append(_n),this.current=_n,this.tokens=ee(Ct,this.options)}parse(){return this.loop()}colon(){let Ct=this.currToken;this.newNode(new t1({value:Ct[1],source:{start:{line:Ct[2],column:Ct[3]},end:{line:Ct[4],column:Ct[5]}},sourceIndex:Ct[6]})),this.position++}comma(){let Ct=this.currToken;this.newNode(new r1({value:Ct[1],source:{start:{line:Ct[2],column:Ct[3]},end:{line:Ct[4],column:Ct[5]}},sourceIndex:Ct[6]})),this.position++}comment(){let Ct,vn=!1,_n=this.currToken[1].replace(/\\/\\*|\\*\\//g,\"\");this.options.loose&&_n.startsWith(\"//\")&&(_n=_n.substring(2),vn=!0),Ct=new F1({value:_n,inline:vn,source:{start:{line:this.currToken[2],column:this.currToken[3]},end:{line:this.currToken[4],column:this.currToken[5]}},sourceIndex:this.currToken[6]}),this.newNode(Ct),this.position++}error(Ct,vn){throw new Jt(Ct+` at line: ${vn[2]}, column ${vn[3]}`)}loop(){for(;this.position<this.tokens.length;)this.parseTokens();return!this.current.last&&this.spaces?this.current.raws.before+=this.spaces:this.spaces&&(this.current.last.raws.after+=this.spaces),this.spaces=\"\",this.root}operator(){let Ct,vn=this.currToken[1];if(vn===\"+\"||vn===\"-\"){if(this.options.loose||this.position>0&&(this.current.type===\"func\"&&this.current.value===\"calc\"?(this.prevToken[0]!==\"space\"&&this.prevToken[0]!==\"(\"||this.nextToken[0]!==\"space\"&&this.nextToken[0]!==\"word\"||this.nextToken[0]===\"word\"&&this.current.last.type!==\"operator\"&&this.current.last.value!==\"(\")&&this.error(\"Syntax Error\",this.currToken):this.nextToken[0]!==\"space\"&&this.nextToken[0]!==\"operator\"&&this.prevToken[0]!==\"operator\"||this.error(\"Syntax Error\",this.currToken)),this.options.loose){if((!this.current.nodes.length||this.current.last&&this.current.last.type===\"operator\")&&this.nextToken[0]===\"word\")return this.word()}else if(this.nextToken[0]===\"word\")return this.word()}return Ct=new W0({value:this.currToken[1],source:{start:{line:this.currToken[2],column:this.currToken[3]},end:{line:this.currToken[2],column:this.currToken[3]}},sourceIndex:this.currToken[4]}),this.position++,this.newNode(Ct)}parseTokens(){switch(this.currToken[0]){case\"space\":this.space();break;case\"colon\":this.colon();break;case\"comma\":this.comma();break;case\"comment\":this.comment();break;case\"(\":this.parenOpen();break;case\")\":this.parenClose();break;case\"atword\":case\"word\":this.word();break;case\"operator\":this.operator();break;case\"string\":this.string();break;case\"unicoderange\":this.unicodeRange();break;default:this.word()}}parenOpen(){let Ct,vn=1,_n=this.position+1,Tr=this.currToken;for(;_n<this.tokens.length&&vn;){let Lr=this.tokens[_n];Lr[0]===\"(\"&&vn++,Lr[0]===\")\"&&vn--,_n++}if(vn&&this.error(\"Expected closing parenthesis\",Tr),Ct=this.current.last,Ct&&Ct.type===\"func\"&&Ct.unbalanced<0&&(Ct.unbalanced=0,this.current=Ct),this.current.unbalanced++,this.newNode(new i1({value:Tr[1],source:{start:{line:Tr[2],column:Tr[3]},end:{line:Tr[4],column:Tr[5]}},sourceIndex:Tr[6]})),this.position++,this.current.type===\"func\"&&this.current.unbalanced&&this.current.value===\"url\"&&this.currToken[0]!==\"string\"&&this.currToken[0]!==\")\"&&!this.options.loose){let Lr=this.nextToken,Pn=this.currToken[1],En={line:this.currToken[2],column:this.currToken[3]};for(;Lr&&Lr[0]!==\")\"&&this.current.unbalanced;)this.position++,Pn+=this.currToken[1],Lr=this.nextToken;this.position!==this.tokens.length-1&&(this.position++,this.newNode(new ux({value:Pn,source:{start:En,end:{line:this.currToken[4],column:this.currToken[5]}},sourceIndex:this.currToken[6]})))}}parenClose(){let Ct=this.currToken;this.newNode(new i1({value:Ct[1],source:{start:{line:Ct[2],column:Ct[3]},end:{line:Ct[4],column:Ct[5]}},sourceIndex:Ct[6]})),this.position++,this.position>=this.tokens.length-1&&!this.current.unbalanced||(this.current.unbalanced--,this.current.unbalanced<0&&this.error(\"Expected opening parenthesis\",Ct),!this.current.unbalanced&&this.cache.length&&(this.current=this.cache.pop()))}space(){let Ct=this.currToken;this.position===this.tokens.length-1||this.nextToken[0]===\",\"||this.nextToken[0]===\")\"?(this.current.last.raws.after+=Ct[1],this.position++):(this.spaces=Ct[1],this.position++)}unicodeRange(){let Ct=this.currToken;this.newNode(new K1({value:Ct[1],source:{start:{line:Ct[2],column:Ct[3]},end:{line:Ct[4],column:Ct[5]}},sourceIndex:Ct[6]})),this.position++}splitWord(){let Ct,vn,_n=this.nextToken,Tr=this.currToken[1],Lr=/^[\\+\\-]?((\\d+(\\.\\d*)?)|(\\.\\d+))([eE][\\+\\-]?\\d+)?/;if(!/^(?!\\#([a-z0-9]+))[\\#\\{\\}]/gi.test(Tr))for(;_n&&_n[0]===\"word\";)this.position++,Tr+=this.currToken[1],_n=this.nextToken;var Pn;Ct=ve(Tr,\"@\"),Pn=qe(Gx([[0],Ct])),vn=Pn.sort((En,cr)=>En-cr),vn.forEach((En,cr)=>{let Ea,Qn=vn[cr+1]||Tr.length,Bu=Tr.slice(En,Qn);if(~Ct.indexOf(En))Ea=new e1({value:Bu.slice(1),source:{start:{line:this.currToken[2],column:this.currToken[3]+En},end:{line:this.currToken[4],column:this.currToken[3]+(Qn-1)}},sourceIndex:this.currToken[6]+vn[cr]});else if(Lr.test(this.currToken[1])){let Au=Bu.replace(Lr,\"\");Ea=new D1({value:Bu.replace(Au,\"\"),source:{start:{line:this.currToken[2],column:this.currToken[3]+En},end:{line:this.currToken[4],column:this.currToken[3]+(Qn-1)}},sourceIndex:this.currToken[6]+vn[cr],unit:Au})}else Ea=new(_n&&_n[0]===\"(\"?a1:ux)({value:Bu,source:{start:{line:this.currToken[2],column:this.currToken[3]+En},end:{line:this.currToken[4],column:this.currToken[3]+(Qn-1)}},sourceIndex:this.currToken[6]+vn[cr]}),Ea.constructor.name===\"Word\"?(Ea.isHex=/^#(.+)/.test(Bu),Ea.isColor=/^#([0-9a-f]{3}|[0-9a-f]{4}|[0-9a-f]{6}|[0-9a-f]{8})$/i.test(Bu)):this.cache.push(this.current);this.newNode(Ea)}),this.position++}string(){let Ct,vn=this.currToken,_n=this.currToken[1],Tr=/^(\\\"|\\')/,Lr=Tr.test(_n),Pn=\"\";Lr&&(Pn=_n.match(Tr)[0],_n=_n.slice(1,_n.length-1)),Ct=new x1({value:_n,source:{start:{line:vn[2],column:vn[3]},end:{line:vn[4],column:vn[5]}},sourceIndex:vn[6],quoted:Lr}),Ct.raws.quote=Pn,this.newNode(Ct),this.position++}word(){return this.splitWord()}newNode(Ct){return this.spaces&&(Ct.raws.before+=this.spaces,this.spaces=\"\"),this.current.append(Ct)}get currToken(){return this.tokens[this.position]}get nextToken(){return this.tokens[this.position+1]}get prevToken(){return this.tokens[this.position-1]}}},4343:(K,s0,Y)=>{const F0=Y(4196);K.exports=class extends F0{constructor(J0){super(J0),this.type=\"root\"}}},9672:(K,s0,Y)=>{const F0=Y(4196),J0=Y(1466);class e1 extends J0{constructor(r1){super(r1),this.type=\"string\"}toString(){let r1=this.quoted?this.raws.quote:\"\";return[this.raws.before,r1,this.value+\"\",r1,this.raws.after].join(\"\")}}F0.registerWalker(e1),K.exports=e1},2481:(K,s0,Y)=>{const F0=\"{\".charCodeAt(0),J0=\"}\".charCodeAt(0),e1=\"(\".charCodeAt(0),t1=\")\".charCodeAt(0),r1=\"'\".charCodeAt(0),F1='\"'.charCodeAt(0),a1=\"\\\\\".charCodeAt(0),D1=\"/\".charCodeAt(0),W0=\".\".charCodeAt(0),i1=\",\".charCodeAt(0),x1=\":\".charCodeAt(0),ux=\"*\".charCodeAt(0),K1=\"-\".charCodeAt(0),ee=\"+\".charCodeAt(0),Gx=\"#\".charCodeAt(0),ve=`\n`.charCodeAt(0),qe=\" \".charCodeAt(0),Jt=\"\\f\".charCodeAt(0),Ct=\"\t\".charCodeAt(0),vn=\"\\r\".charCodeAt(0),_n=\"@\".charCodeAt(0),Tr=\"e\".charCodeAt(0),Lr=\"E\".charCodeAt(0),Pn=\"0\".charCodeAt(0),En=\"9\".charCodeAt(0),cr=\"u\".charCodeAt(0),Ea=\"U\".charCodeAt(0),Qn=/[ \\n\\t\\r\\{\\(\\)'\"\\\\;,/]/g,Bu=/[ \\n\\t\\r\\(\\)\\{\\}\\*:;@!&'\"\\+\\|~>,\\[\\]\\\\]|\\/(?=\\*)/g,Au=/[ \\n\\t\\r\\(\\)\\{\\}\\*:;@!&'\"\\-\\+\\|~>,\\[\\]\\\\]|\\//g,Ec=/^[a-z0-9]/i,kn=/^[a-f0-9?\\-]/i,pu=Y(8472),mi=Y(5128);K.exports=function(ma,ja){ja=ja||{};let Ua,aa,Os,gn,et,Sr,un,jn,ea,wa,as,zo=[],vo=ma.valueOf(),vi=vo.length,jr=-1,Hn=1,wi=0,jo=0,bs=null;function Ha(qn){let Ki=pu.format(\"Unclosed %s at line: %d, column: %d, token: %d\",qn,Hn,wi-jr,wi);throw new mi(Ki)}for(;wi<vi;){switch(Ua=vo.charCodeAt(wi),Ua===ve&&(jr=wi,Hn+=1),Ua){case ve:case qe:case Ct:case vn:case Jt:aa=wi;do aa+=1,Ua=vo.charCodeAt(aa),Ua===ve&&(jr=aa,Hn+=1);while(Ua===qe||Ua===ve||Ua===Ct||Ua===vn||Ua===Jt);zo.push([\"space\",vo.slice(wi,aa),Hn,wi-jr,Hn,aa-jr,wi]),wi=aa-1;break;case x1:aa=wi+1,zo.push([\"colon\",vo.slice(wi,aa),Hn,wi-jr,Hn,aa-jr,wi]),wi=aa-1;break;case i1:aa=wi+1,zo.push([\"comma\",vo.slice(wi,aa),Hn,wi-jr,Hn,aa-jr,wi]),wi=aa-1;break;case F0:zo.push([\"{\",\"{\",Hn,wi-jr,Hn,aa-jr,wi]);break;case J0:zo.push([\"}\",\"}\",Hn,wi-jr,Hn,aa-jr,wi]);break;case e1:jo++,bs=!bs&&jo===1&&zo.length>0&&zo[zo.length-1][0]===\"word\"&&zo[zo.length-1][1]===\"url\",zo.push([\"(\",\"(\",Hn,wi-jr,Hn,aa-jr,wi]);break;case t1:jo--,bs=bs&&jo>0,zo.push([\")\",\")\",Hn,wi-jr,Hn,aa-jr,wi]);break;case r1:case F1:Os=Ua===r1?\"'\":'\"',aa=wi;do for(ea=!1,aa=vo.indexOf(Os,aa+1),aa===-1&&Ha(\"quote\"),wa=aa;vo.charCodeAt(wa-1)===a1;)wa-=1,ea=!ea;while(ea);zo.push([\"string\",vo.slice(wi,aa+1),Hn,wi-jr,Hn,aa-jr,wi]),wi=aa;break;case _n:Qn.lastIndex=wi+1,Qn.test(vo),aa=Qn.lastIndex===0?vo.length-1:Qn.lastIndex-2,zo.push([\"atword\",vo.slice(wi,aa+1),Hn,wi-jr,Hn,aa-jr,wi]),wi=aa;break;case a1:aa=wi,Ua=vo.charCodeAt(aa+1),zo.push([\"word\",vo.slice(wi,aa+1),Hn,wi-jr,Hn,aa-jr,wi]),wi=aa;break;case ee:case K1:case ux:if(aa=wi+1,as=vo.slice(wi+1,aa+1),vo.slice(wi-1,wi),Ua===K1&&as.charCodeAt(0)===K1){aa++,zo.push([\"word\",vo.slice(wi,aa),Hn,wi-jr,Hn,aa-jr,wi]),wi=aa-1;break}zo.push([\"operator\",vo.slice(wi,aa),Hn,wi-jr,Hn,aa-jr,wi]),wi=aa-1;break;default:if(Ua===D1&&(vo.charCodeAt(wi+1)===ux||ja.loose&&!bs&&vo.charCodeAt(wi+1)===D1)){if(vo.charCodeAt(wi+1)===ux)aa=vo.indexOf(\"*/\",wi+2)+1,aa===0&&Ha(\"comment\");else{const qn=vo.indexOf(`\n`,wi+2);aa=qn!==-1?qn-1:vi}Sr=vo.slice(wi,aa+1),gn=Sr.split(`\n`),et=gn.length-1,et>0?(un=Hn+et,jn=aa-gn[et].length):(un=Hn,jn=jr),zo.push([\"comment\",Sr,Hn,wi-jr,un,aa-jn,wi]),jr=jn,Hn=un,wi=aa}else if(Ua!==Gx||Ec.test(vo.slice(wi+1,wi+2)))if(Ua!==cr&&Ua!==Ea||vo.charCodeAt(wi+1)!==ee)if(Ua===D1)aa=wi+1,zo.push([\"operator\",vo.slice(wi,aa),Hn,wi-jr,Hn,aa-jr,wi]),wi=aa-1;else{let qn=Bu;if(Ua>=Pn&&Ua<=En&&(qn=Au),qn.lastIndex=wi+1,qn.test(vo),aa=qn.lastIndex===0?vo.length-1:qn.lastIndex-2,qn===Au||Ua===W0){let Ki=vo.charCodeAt(aa),es=vo.charCodeAt(aa+1),Ns=vo.charCodeAt(aa+2);(Ki===Tr||Ki===Lr)&&(es===K1||es===ee)&&Ns>=Pn&&Ns<=En&&(Au.lastIndex=aa+2,Au.test(vo),aa=Au.lastIndex===0?vo.length-1:Au.lastIndex-2)}zo.push([\"word\",vo.slice(wi,aa+1),Hn,wi-jr,Hn,aa-jr,wi]),wi=aa}else{aa=wi+2;do aa+=1,Ua=vo.charCodeAt(aa);while(aa<vi&&kn.test(vo.slice(aa,aa+1)));zo.push([\"unicoderange\",vo.slice(wi,aa),Hn,wi-jr,Hn,aa-jr,wi]),wi=aa-1}else aa=wi+1,zo.push([\"#\",vo.slice(wi,aa),Hn,wi-jr,Hn,aa-jr,wi]),wi=aa-1}wi++}return zo}},1369:(K,s0,Y)=>{const F0=Y(4196),J0=Y(1466);class e1 extends J0{constructor(r1){super(r1),this.type=\"unicode-range\"}}F0.registerWalker(e1),K.exports=e1},2057:(K,s0,Y)=>{const F0=Y(4196);K.exports=class extends F0{constructor(J0){super(J0),this.type=\"value\",this.unbalanced=0}}},6593:(K,s0,Y)=>{const F0=Y(4196),J0=Y(1466);class e1 extends J0{constructor(r1){super(r1),this.type=\"word\"}}F0.registerWalker(e1),K.exports=e1},8940:(K,s0,Y)=>{var F0;s0.__esModule=!0,s0.default=void 0;var J0=function(e1){var t1,r1;function F1(D1){var W0;return(W0=e1.call(this,D1)||this).type=\"atrule\",W0}r1=e1,(t1=F1).prototype=Object.create(r1.prototype),t1.prototype.constructor=t1,t1.__proto__=r1;var a1=F1.prototype;return a1.append=function(){var D1;this.nodes||(this.nodes=[]);for(var W0=arguments.length,i1=new Array(W0),x1=0;x1<W0;x1++)i1[x1]=arguments[x1];return(D1=e1.prototype.append).call.apply(D1,[this].concat(i1))},a1.prepend=function(){var D1;this.nodes||(this.nodes=[]);for(var W0=arguments.length,i1=new Array(W0),x1=0;x1<W0;x1++)i1[x1]=arguments[x1];return(D1=e1.prototype.prepend).call.apply(D1,[this].concat(i1))},F1}(((F0=Y(1204))&&F0.__esModule?F0:{default:F0}).default);s0.default=J0,K.exports=s0.default},3102:(K,s0,Y)=>{var F0;s0.__esModule=!0,s0.default=void 0;var J0=function(e1){var t1,r1;function F1(a1){var D1;return(D1=e1.call(this,a1)||this).type=\"comment\",D1}return r1=e1,(t1=F1).prototype=Object.create(r1.prototype),t1.prototype.constructor=t1,t1.__proto__=r1,F1}(((F0=Y(1714))&&F0.__esModule?F0:{default:F0}).default);s0.default=J0,K.exports=s0.default},1204:(K,s0,Y)=>{s0.__esModule=!0,s0.default=void 0;var F0=e1(Y(6417)),J0=e1(Y(3102));function e1(W0){return W0&&W0.__esModule?W0:{default:W0}}function t1(W0,i1){var x1;if(typeof Symbol==\"undefined\"||W0[Symbol.iterator]==null){if(Array.isArray(W0)||(x1=function(K1,ee){if(!!K1){if(typeof K1==\"string\")return r1(K1,ee);var Gx=Object.prototype.toString.call(K1).slice(8,-1);if(Gx===\"Object\"&&K1.constructor&&(Gx=K1.constructor.name),Gx===\"Map\"||Gx===\"Set\")return Array.from(K1);if(Gx===\"Arguments\"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Gx))return r1(K1,ee)}}(W0))||i1&&W0&&typeof W0.length==\"number\"){x1&&(W0=x1);var ux=0;return function(){return ux>=W0.length?{done:!0}:{done:!1,value:W0[ux++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}return(x1=W0[Symbol.iterator]()).next.bind(x1)}function r1(W0,i1){(i1==null||i1>W0.length)&&(i1=W0.length);for(var x1=0,ux=new Array(i1);x1<i1;x1++)ux[x1]=W0[x1];return ux}function F1(W0,i1){for(var x1=0;x1<i1.length;x1++){var ux=i1[x1];ux.enumerable=ux.enumerable||!1,ux.configurable=!0,\"value\"in ux&&(ux.writable=!0),Object.defineProperty(W0,ux.key,ux)}}function a1(W0){return W0.map(function(i1){return i1.nodes&&(i1.nodes=a1(i1.nodes)),delete i1.source,i1})}var D1=function(W0){var i1,x1;function ux(){return W0.apply(this,arguments)||this}x1=W0,(i1=ux).prototype=Object.create(x1.prototype),i1.prototype.constructor=i1,i1.__proto__=x1;var K1,ee,Gx=ux.prototype;return Gx.push=function(ve){return ve.parent=this,this.nodes.push(ve),this},Gx.each=function(ve){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;var qe=this.lastEach;if(this.indexes[qe]=0,this.nodes){for(var Jt,Ct;this.indexes[qe]<this.nodes.length&&(Jt=this.indexes[qe],(Ct=ve(this.nodes[Jt],Jt))!==!1);)this.indexes[qe]+=1;return delete this.indexes[qe],Ct}},Gx.walk=function(ve){return this.each(function(qe,Jt){var Ct;try{Ct=ve(qe,Jt)}catch(_n){if(_n.postcssNode=qe,_n.stack&&qe.source&&/\\n\\s{4}at /.test(_n.stack)){var vn=qe.source;_n.stack=_n.stack.replace(/\\n\\s{4}at /,\"$&\"+vn.input.from+\":\"+vn.start.line+\":\"+vn.start.column+\"$&\")}throw _n}return Ct!==!1&&qe.walk&&(Ct=qe.walk(ve)),Ct})},Gx.walkDecls=function(ve,qe){return qe?ve instanceof RegExp?this.walk(function(Jt,Ct){if(Jt.type===\"decl\"&&ve.test(Jt.prop))return qe(Jt,Ct)}):this.walk(function(Jt,Ct){if(Jt.type===\"decl\"&&Jt.prop===ve)return qe(Jt,Ct)}):(qe=ve,this.walk(function(Jt,Ct){if(Jt.type===\"decl\")return qe(Jt,Ct)}))},Gx.walkRules=function(ve,qe){return qe?ve instanceof RegExp?this.walk(function(Jt,Ct){if(Jt.type===\"rule\"&&ve.test(Jt.selector))return qe(Jt,Ct)}):this.walk(function(Jt,Ct){if(Jt.type===\"rule\"&&Jt.selector===ve)return qe(Jt,Ct)}):(qe=ve,this.walk(function(Jt,Ct){if(Jt.type===\"rule\")return qe(Jt,Ct)}))},Gx.walkAtRules=function(ve,qe){return qe?ve instanceof RegExp?this.walk(function(Jt,Ct){if(Jt.type===\"atrule\"&&ve.test(Jt.name))return qe(Jt,Ct)}):this.walk(function(Jt,Ct){if(Jt.type===\"atrule\"&&Jt.name===ve)return qe(Jt,Ct)}):(qe=ve,this.walk(function(Jt,Ct){if(Jt.type===\"atrule\")return qe(Jt,Ct)}))},Gx.walkComments=function(ve){return this.walk(function(qe,Jt){if(qe.type===\"comment\")return ve(qe,Jt)})},Gx.append=function(){for(var ve=arguments.length,qe=new Array(ve),Jt=0;Jt<ve;Jt++)qe[Jt]=arguments[Jt];for(var Ct=0,vn=qe;Ct<vn.length;Ct++)for(var _n,Tr=vn[Ct],Lr=this.normalize(Tr,this.last),Pn=t1(Lr);!(_n=Pn()).done;){var En=_n.value;this.nodes.push(En)}return this},Gx.prepend=function(){for(var ve=arguments.length,qe=new Array(ve),Jt=0;Jt<ve;Jt++)qe[Jt]=arguments[Jt];for(var Ct,vn=t1(qe=qe.reverse());!(Ct=vn()).done;){for(var _n,Tr=Ct.value,Lr=this.normalize(Tr,this.first,\"prepend\").reverse(),Pn=t1(Lr);!(_n=Pn()).done;){var En=_n.value;this.nodes.unshift(En)}for(var cr in this.indexes)this.indexes[cr]=this.indexes[cr]+Lr.length}return this},Gx.cleanRaws=function(ve){if(W0.prototype.cleanRaws.call(this,ve),this.nodes)for(var qe,Jt=t1(this.nodes);!(qe=Jt()).done;)qe.value.cleanRaws(ve)},Gx.insertBefore=function(ve,qe){for(var Jt,Ct,vn=(ve=this.index(ve))===0&&\"prepend\",_n=this.normalize(qe,this.nodes[ve],vn).reverse(),Tr=t1(_n);!(Jt=Tr()).done;){var Lr=Jt.value;this.nodes.splice(ve,0,Lr)}for(var Pn in this.indexes)ve<=(Ct=this.indexes[Pn])&&(this.indexes[Pn]=Ct+_n.length);return this},Gx.insertAfter=function(ve,qe){ve=this.index(ve);for(var Jt,Ct,vn=this.normalize(qe,this.nodes[ve]).reverse(),_n=t1(vn);!(Jt=_n()).done;){var Tr=Jt.value;this.nodes.splice(ve+1,0,Tr)}for(var Lr in this.indexes)ve<(Ct=this.indexes[Lr])&&(this.indexes[Lr]=Ct+vn.length);return this},Gx.removeChild=function(ve){var qe;for(var Jt in ve=this.index(ve),this.nodes[ve].parent=void 0,this.nodes.splice(ve,1),this.indexes)(qe=this.indexes[Jt])>=ve&&(this.indexes[Jt]=qe-1);return this},Gx.removeAll=function(){for(var ve,qe=t1(this.nodes);!(ve=qe()).done;)ve.value.parent=void 0;return this.nodes=[],this},Gx.replaceValues=function(ve,qe,Jt){return Jt||(Jt=qe,qe={}),this.walkDecls(function(Ct){qe.props&&qe.props.indexOf(Ct.prop)===-1||qe.fast&&Ct.value.indexOf(qe.fast)===-1||(Ct.value=Ct.value.replace(ve,Jt))}),this},Gx.every=function(ve){return this.nodes.every(ve)},Gx.some=function(ve){return this.nodes.some(ve)},Gx.index=function(ve){return typeof ve==\"number\"?ve:this.nodes.indexOf(ve)},Gx.normalize=function(ve,qe){var Jt=this;if(typeof ve==\"string\")ve=a1(Y(7057)(ve).nodes);else if(Array.isArray(ve))for(var Ct,vn=t1(ve=ve.slice(0));!(Ct=vn()).done;){var _n=Ct.value;_n.parent&&_n.parent.removeChild(_n,\"ignore\")}else if(ve.type===\"root\")for(var Tr,Lr=t1(ve=ve.nodes.slice(0));!(Tr=Lr()).done;){var Pn=Tr.value;Pn.parent&&Pn.parent.removeChild(Pn,\"ignore\")}else if(ve.type)ve=[ve];else if(ve.prop){if(ve.value===void 0)throw new Error(\"Value field is missed in node creation\");typeof ve.value!=\"string\"&&(ve.value=String(ve.value)),ve=[new F0.default(ve)]}else if(ve.selector)ve=[new(Y(6621))(ve)];else if(ve.name)ve=[new(Y(8940))(ve)];else{if(!ve.text)throw new Error(\"Unknown node type in node creation\");ve=[new J0.default(ve)]}return ve.map(function(En){return En.parent&&En.parent.removeChild(En),En.raws.before===void 0&&qe&&qe.raws.before!==void 0&&(En.raws.before=qe.raws.before.replace(/[^\\s]/g,\"\")),En.parent=Jt,En})},K1=ux,(ee=[{key:\"first\",get:function(){if(this.nodes)return this.nodes[0]}},{key:\"last\",get:function(){if(this.nodes)return this.nodes[this.nodes.length-1]}}])&&F1(K1.prototype,ee),ux}(e1(Y(1714)).default);s0.default=D1,K.exports=s0.default},1667:(K,s0,Y)=>{s0.__esModule=!0,s0.default=void 0;var F0=t1(Y(6083)),J0=t1(Y(3248)),e1=t1(Y(2868));function t1(x1){return x1&&x1.__esModule?x1:{default:x1}}function r1(x1){var ux=typeof Map==\"function\"?new Map:void 0;return(r1=function(K1){if(K1===null||(ee=K1,Function.toString.call(ee).indexOf(\"[native code]\")===-1))return K1;var ee;if(typeof K1!=\"function\")throw new TypeError(\"Super expression must either be null or a function\");if(ux!==void 0){if(ux.has(K1))return ux.get(K1);ux.set(K1,Gx)}function Gx(){return F1(K1,arguments,W0(this).constructor)}return Gx.prototype=Object.create(K1.prototype,{constructor:{value:Gx,enumerable:!1,writable:!0,configurable:!0}}),D1(Gx,K1)})(x1)}function F1(x1,ux,K1){return(F1=a1()?Reflect.construct:function(ee,Gx,ve){var qe=[null];qe.push.apply(qe,Gx);var Jt=new(Function.bind.apply(ee,qe));return ve&&D1(Jt,ve.prototype),Jt}).apply(null,arguments)}function a1(){if(typeof Reflect==\"undefined\"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy==\"function\")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch{return!1}}function D1(x1,ux){return(D1=Object.setPrototypeOf||function(K1,ee){return K1.__proto__=ee,K1})(x1,ux)}function W0(x1){return(W0=Object.setPrototypeOf?Object.getPrototypeOf:function(ux){return ux.__proto__||Object.getPrototypeOf(ux)})(x1)}var i1=function(x1){var ux,K1;function ee(ve,qe,Jt,Ct,vn,_n){var Tr;return(Tr=x1.call(this,ve)||this).name=\"CssSyntaxError\",Tr.reason=ve,vn&&(Tr.file=vn),Ct&&(Tr.source=Ct),_n&&(Tr.plugin=_n),qe!==void 0&&Jt!==void 0&&(Tr.line=qe,Tr.column=Jt),Tr.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(function(Lr){if(Lr===void 0)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return Lr}(Tr),ee),Tr}K1=x1,(ux=ee).prototype=Object.create(K1.prototype),ux.prototype.constructor=ux,ux.__proto__=K1;var Gx=ee.prototype;return Gx.setMessage=function(){this.message=this.plugin?this.plugin+\": \":\"\",this.message+=this.file?this.file:\"<css input>\",this.line!==void 0&&(this.message+=\":\"+this.line+\":\"+this.column),this.message+=\": \"+this.reason},Gx.showSourceCode=function(ve){var qe=this;if(!this.source)return\"\";var Jt=this.source;e1.default&&(ve===void 0&&(ve=F0.default.stdout),ve&&(Jt=(0,e1.default)(Jt)));var Ct=Jt.split(/\\r?\\n/),vn=Math.max(this.line-3,0),_n=Math.min(this.line+2,Ct.length),Tr=String(_n).length;function Lr(En){return ve&&J0.default.red?J0.default.red.bold(En):En}function Pn(En){return ve&&J0.default.gray?J0.default.gray(En):En}return Ct.slice(vn,_n).map(function(En,cr){var Ea=vn+1+cr,Qn=\" \"+(\" \"+Ea).slice(-Tr)+\" | \";if(Ea===qe.line){var Bu=Pn(Qn.replace(/\\d/g,\" \"))+En.slice(0,qe.column-1).replace(/[^\\t]/g,\" \");return Lr(\">\")+Pn(Qn)+En+`\n `+Bu+Lr(\"^\")}return\" \"+Pn(Qn)+En}).join(`\n`)},Gx.toString=function(){var ve=this.showSourceCode();return ve&&(ve=`\n\n`+ve+`\n`),this.name+\": \"+this.message+ve},ee}(r1(Error));s0.default=i1,K.exports=s0.default},6417:(K,s0,Y)=>{var F0;s0.__esModule=!0,s0.default=void 0;var J0=function(e1){var t1,r1;function F1(a1){var D1;return(D1=e1.call(this,a1)||this).type=\"decl\",D1}return r1=e1,(t1=F1).prototype=Object.create(r1.prototype),t1.prototype.constructor=t1,t1.__proto__=r1,F1}(((F0=Y(1714))&&F0.__esModule?F0:{default:F0}).default);s0.default=J0,K.exports=s0.default},2993:(K,s0,Y)=>{s0.__esModule=!0,s0.default=void 0;var F0=t1(Y(6391)),J0=t1(Y(1667)),e1=t1(Y(3353));function t1(D1){return D1&&D1.__esModule?D1:{default:D1}}function r1(D1,W0){for(var i1=0;i1<W0.length;i1++){var x1=W0[i1];x1.enumerable=x1.enumerable||!1,x1.configurable=!0,\"value\"in x1&&(x1.writable=!0),Object.defineProperty(D1,x1.key,x1)}}var F1=0,a1=function(){function D1(ux,K1){if(K1===void 0&&(K1={}),ux==null||typeof ux==\"object\"&&!ux.toString)throw new Error(\"PostCSS received \"+ux+\" instead of CSS string\");this.css=ux.toString(),this.css[0]===\"\\uFEFF\"||this.css[0]===\"\\uFFFE\"?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,K1.from&&(/^\\w+:\\/\\//.test(K1.from)||F0.default.isAbsolute(K1.from)?this.file=K1.from:this.file=F0.default.resolve(K1.from));var ee=new e1.default(this.css,K1);if(ee.text){this.map=ee;var Gx=ee.consumer().file;!this.file&&Gx&&(this.file=this.mapResolve(Gx))}this.file||(F1+=1,this.id=\"<input css \"+F1+\">\"),this.map&&(this.map.file=this.from)}var W0,i1,x1=D1.prototype;return x1.error=function(ux,K1,ee,Gx){var ve;Gx===void 0&&(Gx={});var qe=this.origin(K1,ee);return(ve=qe?new J0.default(ux,qe.line,qe.column,qe.source,qe.file,Gx.plugin):new J0.default(ux,K1,ee,this.css,this.file,Gx.plugin)).input={line:K1,column:ee,source:this.css},this.file&&(ve.input.file=this.file),ve},x1.origin=function(ux,K1){if(!this.map)return!1;var ee=this.map.consumer(),Gx=ee.originalPositionFor({line:ux,column:K1});if(!Gx.source)return!1;var ve={file:this.mapResolve(Gx.source),line:Gx.line,column:Gx.column},qe=ee.sourceContentFor(Gx.source);return qe&&(ve.source=qe),ve},x1.mapResolve=function(ux){return/^\\w+:\\/\\//.test(ux)?ux:F0.default.resolve(this.map.consumer().sourceRoot||\".\",ux)},W0=D1,(i1=[{key:\"from\",get:function(){return this.file||this.id}}])&&r1(W0.prototype,i1),D1}();s0.default=a1,K.exports=s0.default},6992:(K,s0,Y)=>{s0.__esModule=!0,s0.default=void 0;var F0=r1(Y(8991)),J0=r1(Y(6157)),e1=(r1(Y(6574)),r1(Y(6865))),t1=r1(Y(7057));function r1(x1){return x1&&x1.__esModule?x1:{default:x1}}function F1(x1,ux){var K1;if(typeof Symbol==\"undefined\"||x1[Symbol.iterator]==null){if(Array.isArray(x1)||(K1=function(Gx,ve){if(!!Gx){if(typeof Gx==\"string\")return a1(Gx,ve);var qe=Object.prototype.toString.call(Gx).slice(8,-1);if(qe===\"Object\"&&Gx.constructor&&(qe=Gx.constructor.name),qe===\"Map\"||qe===\"Set\")return Array.from(Gx);if(qe===\"Arguments\"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(qe))return a1(Gx,ve)}}(x1))||ux&&x1&&typeof x1.length==\"number\"){K1&&(x1=K1);var ee=0;return function(){return ee>=x1.length?{done:!0}:{done:!1,value:x1[ee++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}return(K1=x1[Symbol.iterator]()).next.bind(K1)}function a1(x1,ux){(ux==null||ux>x1.length)&&(ux=x1.length);for(var K1=0,ee=new Array(ux);K1<ux;K1++)ee[K1]=x1[K1];return ee}function D1(x1,ux){for(var K1=0;K1<ux.length;K1++){var ee=ux[K1];ee.enumerable=ee.enumerable||!1,ee.configurable=!0,\"value\"in ee&&(ee.writable=!0),Object.defineProperty(x1,ee.key,ee)}}function W0(x1){return typeof x1==\"object\"&&typeof x1.then==\"function\"}var i1=function(){function x1(Gx,ve,qe){var Jt;if(this.stringified=!1,this.processed=!1,typeof ve==\"object\"&&ve!==null&&ve.type===\"root\")Jt=ve;else if(ve instanceof x1||ve instanceof e1.default)Jt=ve.root,ve.map&&(qe.map===void 0&&(qe.map={}),qe.map.inline||(qe.map.inline=!1),qe.map.prev=ve.map);else{var Ct=t1.default;qe.syntax&&(Ct=qe.syntax.parse),qe.parser&&(Ct=qe.parser),Ct.parse&&(Ct=Ct.parse);try{Jt=Ct(ve,qe)}catch(vn){this.error=vn}}this.result=new e1.default(Gx,Jt,qe)}var ux,K1,ee=x1.prototype;return ee.warnings=function(){return this.sync().warnings()},ee.toString=function(){return this.css},ee.then=function(Gx,ve){return this.async().then(Gx,ve)},ee.catch=function(Gx){return this.async().catch(Gx)},ee.finally=function(Gx){return this.async().then(Gx,Gx)},ee.handleError=function(Gx,ve){try{this.error=Gx,Gx.name!==\"CssSyntaxError\"||Gx.plugin?ve.postcssVersion:(Gx.plugin=ve.postcssPlugin,Gx.setMessage())}catch(qe){console&&console.error&&console.error(qe)}},ee.asyncTick=function(Gx,ve){var qe=this;if(this.plugin>=this.processor.plugins.length)return this.processed=!0,Gx();try{var Jt=this.processor.plugins[this.plugin],Ct=this.run(Jt);this.plugin+=1,W0(Ct)?Ct.then(function(){qe.asyncTick(Gx,ve)}).catch(function(vn){qe.handleError(vn,Jt),qe.processed=!0,ve(vn)}):this.asyncTick(Gx,ve)}catch(vn){this.processed=!0,ve(vn)}},ee.async=function(){var Gx=this;return this.processed?new Promise(function(ve,qe){Gx.error?qe(Gx.error):ve(Gx.stringify())}):(this.processing||(this.processing=new Promise(function(ve,qe){if(Gx.error)return qe(Gx.error);Gx.plugin=0,Gx.asyncTick(ve,qe)}).then(function(){return Gx.processed=!0,Gx.stringify()})),this.processing)},ee.sync=function(){if(this.processed)return this.result;if(this.processed=!0,this.processing)throw new Error(\"Use process(css).then(cb) to work with async plugins\");if(this.error)throw this.error;for(var Gx,ve=F1(this.result.processor.plugins);!(Gx=ve()).done;){var qe=Gx.value;if(W0(this.run(qe)))throw new Error(\"Use process(css).then(cb) to work with async plugins\")}return this.result},ee.run=function(Gx){this.result.lastPlugin=Gx;try{return Gx(this.result.root,this.result)}catch(ve){throw this.handleError(ve,Gx),ve}},ee.stringify=function(){if(this.stringified)return this.result;this.stringified=!0,this.sync();var Gx=this.result.opts,ve=J0.default;Gx.syntax&&(ve=Gx.syntax.stringify),Gx.stringifier&&(ve=Gx.stringifier),ve.stringify&&(ve=ve.stringify);var qe=new F0.default(ve,this.result.root,this.result.opts).generate();return this.result.css=qe[0],this.result.map=qe[1],this.result},ux=x1,(K1=[{key:\"processor\",get:function(){return this.result.processor}},{key:\"opts\",get:function(){return this.result.opts}},{key:\"css\",get:function(){return this.stringify().css}},{key:\"content\",get:function(){return this.stringify().content}},{key:\"map\",get:function(){return this.stringify().map}},{key:\"root\",get:function(){return this.sync().root}},{key:\"messages\",get:function(){return this.sync().messages}}])&&D1(ux.prototype,K1),x1}();s0.default=i1,K.exports=s0.default},6136:(K,s0)=>{s0.__esModule=!0,s0.default=void 0;var Y={split:function(J0,e1,t1){for(var r1=[],F1=\"\",a1=!1,D1=0,W0=!1,i1=!1,x1=0;x1<J0.length;x1++){var ux=J0[x1];W0?i1?i1=!1:ux===\"\\\\\"?i1=!0:ux===W0&&(W0=!1):ux==='\"'||ux===\"'\"?W0=ux:ux===\"(\"?D1+=1:ux===\")\"?D1>0&&(D1-=1):D1===0&&e1.indexOf(ux)!==-1&&(a1=!0),a1?(F1!==\"\"&&r1.push(F1.trim()),F1=\"\",a1=!1):F1+=ux}return(t1||F1!==\"\")&&r1.push(F1.trim()),r1},space:function(J0){return Y.split(J0,[\" \",`\n`,\"\t\"])},comma:function(J0){return Y.split(J0,[\",\"],!0)}},F0=Y;s0.default=F0,K.exports=s0.default},8991:(K,s0,Y)=>{s0.__esModule=!0,s0.default=void 0;var F0=e1(Y(2447)),J0=e1(Y(6391));function e1(a1){return a1&&a1.__esModule?a1:{default:a1}}function t1(a1,D1){var W0;if(typeof Symbol==\"undefined\"||a1[Symbol.iterator]==null){if(Array.isArray(a1)||(W0=function(x1,ux){if(!!x1){if(typeof x1==\"string\")return r1(x1,ux);var K1=Object.prototype.toString.call(x1).slice(8,-1);if(K1===\"Object\"&&x1.constructor&&(K1=x1.constructor.name),K1===\"Map\"||K1===\"Set\")return Array.from(x1);if(K1===\"Arguments\"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(K1))return r1(x1,ux)}}(a1))||D1&&a1&&typeof a1.length==\"number\"){W0&&(a1=W0);var i1=0;return function(){return i1>=a1.length?{done:!0}:{done:!1,value:a1[i1++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}return(W0=a1[Symbol.iterator]()).next.bind(W0)}function r1(a1,D1){(D1==null||D1>a1.length)&&(D1=a1.length);for(var W0=0,i1=new Array(D1);W0<D1;W0++)i1[W0]=a1[W0];return i1}var F1=function(){function a1(W0,i1,x1){this.stringify=W0,this.mapOpts=x1.map||{},this.root=i1,this.opts=x1}var D1=a1.prototype;return D1.isMap=function(){return this.opts.map!==void 0?!!this.opts.map:this.previous().length>0},D1.previous=function(){var W0=this;return this.previousMaps||(this.previousMaps=[],this.root.walk(function(i1){if(i1.source&&i1.source.input.map){var x1=i1.source.input.map;W0.previousMaps.indexOf(x1)===-1&&W0.previousMaps.push(x1)}})),this.previousMaps},D1.isInline=function(){if(this.mapOpts.inline!==void 0)return this.mapOpts.inline;var W0=this.mapOpts.annotation;return(W0===void 0||W0===!0)&&(!this.previous().length||this.previous().some(function(i1){return i1.inline}))},D1.isSourcesContent=function(){return this.mapOpts.sourcesContent!==void 0?this.mapOpts.sourcesContent:!this.previous().length||this.previous().some(function(W0){return W0.withContent()})},D1.clearAnnotation=function(){if(this.mapOpts.annotation!==!1)for(var W0,i1=this.root.nodes.length-1;i1>=0;i1--)(W0=this.root.nodes[i1]).type===\"comment\"&&W0.text.indexOf(\"# sourceMappingURL=\")===0&&this.root.removeChild(i1)},D1.setSourcesContent=function(){var W0=this,i1={};this.root.walk(function(x1){if(x1.source){var ux=x1.source.input.from;if(ux&&!i1[ux]){i1[ux]=!0;var K1=W0.relative(ux);W0.map.setSourceContent(K1,x1.source.input.css)}}})},D1.applyPrevMaps=function(){for(var W0,i1=t1(this.previous());!(W0=i1()).done;){var x1=W0.value,ux=this.relative(x1.file),K1=x1.root||J0.default.dirname(x1.file),ee=void 0;this.mapOpts.sourcesContent===!1?(ee=new F0.default.SourceMapConsumer(x1.text)).sourcesContent&&(ee.sourcesContent=ee.sourcesContent.map(function(){return null})):ee=x1.consumer(),this.map.applySourceMap(ee,ux,this.relative(K1))}},D1.isAnnotation=function(){return!!this.isInline()||(this.mapOpts.annotation!==void 0?this.mapOpts.annotation:!this.previous().length||this.previous().some(function(W0){return W0.annotation}))},D1.toBase64=function(W0){return Buffer?Buffer.from(W0).toString(\"base64\"):window.btoa(unescape(encodeURIComponent(W0)))},D1.addAnnotation=function(){var W0;W0=this.isInline()?\"data:application/json;base64,\"+this.toBase64(this.map.toString()):typeof this.mapOpts.annotation==\"string\"?this.mapOpts.annotation:this.outputFile()+\".map\";var i1=`\n`;this.css.indexOf(`\\r\n`)!==-1&&(i1=`\\r\n`),this.css+=i1+\"/*# sourceMappingURL=\"+W0+\" */\"},D1.outputFile=function(){return this.opts.to?this.relative(this.opts.to):this.opts.from?this.relative(this.opts.from):\"to.css\"},D1.generateMap=function(){return this.generateString(),this.isSourcesContent()&&this.setSourcesContent(),this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]},D1.relative=function(W0){if(W0.indexOf(\"<\")===0||/^\\w+:\\/\\//.test(W0))return W0;var i1=this.opts.to?J0.default.dirname(this.opts.to):\".\";return typeof this.mapOpts.annotation==\"string\"&&(i1=J0.default.dirname(J0.default.resolve(i1,this.mapOpts.annotation))),W0=J0.default.relative(i1,W0),J0.default.sep===\"\\\\\"?W0.replace(/\\\\/g,\"/\"):W0},D1.sourcePath=function(W0){return this.mapOpts.from?this.mapOpts.from:this.relative(W0.source.input.from)},D1.generateString=function(){var W0=this;this.css=\"\",this.map=new F0.default.SourceMapGenerator({file:this.outputFile()});var i1,x1,ux=1,K1=1;this.stringify(this.root,function(ee,Gx,ve){if(W0.css+=ee,Gx&&ve!==\"end\"&&(Gx.source&&Gx.source.start?W0.map.addMapping({source:W0.sourcePath(Gx),generated:{line:ux,column:K1-1},original:{line:Gx.source.start.line,column:Gx.source.start.column-1}}):W0.map.addMapping({source:\"<no source>\",original:{line:1,column:0},generated:{line:ux,column:K1-1}})),(i1=ee.match(/\\n/g))?(ux+=i1.length,x1=ee.lastIndexOf(`\n`),K1=ee.length-x1):K1+=ee.length,Gx&&ve!==\"start\"){var qe=Gx.parent||{raws:{}};(Gx.type!==\"decl\"||Gx!==qe.last||qe.raws.semicolon)&&(Gx.source&&Gx.source.end?W0.map.addMapping({source:W0.sourcePath(Gx),generated:{line:ux,column:K1-2},original:{line:Gx.source.end.line,column:Gx.source.end.column-1}}):W0.map.addMapping({source:\"<no source>\",original:{line:1,column:0},generated:{line:ux,column:K1-1}}))}})},D1.generate=function(){if(this.clearAnnotation(),this.isMap())return this.generateMap();var W0=\"\";return this.stringify(this.root,function(i1){W0+=i1}),[W0]},a1}();s0.default=F1,K.exports=s0.default},1714:(K,s0,Y)=>{s0.__esModule=!0,s0.default=void 0;var F0=t1(Y(1667)),J0=t1(Y(5701)),e1=t1(Y(6157));function t1(a1){return a1&&a1.__esModule?a1:{default:a1}}function r1(a1,D1){var W0=new a1.constructor;for(var i1 in a1)if(a1.hasOwnProperty(i1)){var x1=a1[i1],ux=typeof x1;i1===\"parent\"&&ux===\"object\"?D1&&(W0[i1]=D1):i1===\"source\"?W0[i1]=x1:x1 instanceof Array?W0[i1]=x1.map(function(K1){return r1(K1,W0)}):(ux===\"object\"&&x1!==null&&(x1=r1(x1)),W0[i1]=x1)}return W0}var F1=function(){function a1(W0){for(var i1 in W0===void 0&&(W0={}),this.raws={},W0)this[i1]=W0[i1]}var D1=a1.prototype;return D1.error=function(W0,i1){if(i1===void 0&&(i1={}),this.source){var x1=this.positionBy(i1);return this.source.input.error(W0,x1.line,x1.column,i1)}return new F0.default(W0)},D1.warn=function(W0,i1,x1){var ux={node:this};for(var K1 in x1)ux[K1]=x1[K1];return W0.warn(i1,ux)},D1.remove=function(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this},D1.toString=function(W0){W0===void 0&&(W0=e1.default),W0.stringify&&(W0=W0.stringify);var i1=\"\";return W0(this,function(x1){i1+=x1}),i1},D1.clone=function(W0){W0===void 0&&(W0={});var i1=r1(this);for(var x1 in W0)i1[x1]=W0[x1];return i1},D1.cloneBefore=function(W0){W0===void 0&&(W0={});var i1=this.clone(W0);return this.parent.insertBefore(this,i1),i1},D1.cloneAfter=function(W0){W0===void 0&&(W0={});var i1=this.clone(W0);return this.parent.insertAfter(this,i1),i1},D1.replaceWith=function(){if(this.parent){for(var W0=arguments.length,i1=new Array(W0),x1=0;x1<W0;x1++)i1[x1]=arguments[x1];for(var ux=0,K1=i1;ux<K1.length;ux++){var ee=K1[ux];this.parent.insertBefore(this,ee)}this.remove()}return this},D1.next=function(){if(this.parent){var W0=this.parent.index(this);return this.parent.nodes[W0+1]}},D1.prev=function(){if(this.parent){var W0=this.parent.index(this);return this.parent.nodes[W0-1]}},D1.before=function(W0){return this.parent.insertBefore(this,W0),this},D1.after=function(W0){return this.parent.insertAfter(this,W0),this},D1.toJSON=function(){var W0={};for(var i1 in this)if(this.hasOwnProperty(i1)&&i1!==\"parent\"){var x1=this[i1];x1 instanceof Array?W0[i1]=x1.map(function(ux){return typeof ux==\"object\"&&ux.toJSON?ux.toJSON():ux}):typeof x1==\"object\"&&x1.toJSON?W0[i1]=x1.toJSON():W0[i1]=x1}return W0},D1.raw=function(W0,i1){return new J0.default().raw(this,W0,i1)},D1.root=function(){for(var W0=this;W0.parent;)W0=W0.parent;return W0},D1.cleanRaws=function(W0){delete this.raws.before,delete this.raws.after,W0||delete this.raws.between},D1.positionInside=function(W0){for(var i1=this.toString(),x1=this.source.start.column,ux=this.source.start.line,K1=0;K1<W0;K1++)i1[K1]===`\n`?(x1=1,ux+=1):x1+=1;return{line:ux,column:x1}},D1.positionBy=function(W0){var i1=this.source.start;if(W0.index)i1=this.positionInside(W0.index);else if(W0.word){var x1=this.toString().indexOf(W0.word);x1!==-1&&(i1=this.positionInside(x1))}return i1},a1}();s0.default=F1,K.exports=s0.default},7057:(K,s0,Y)=>{s0.__esModule=!0,s0.default=void 0;var F0=e1(Y(7116)),J0=e1(Y(2993));function e1(r1){return r1&&r1.__esModule?r1:{default:r1}}var t1=function(r1,F1){var a1=new J0.default(r1,F1),D1=new F0.default(a1);try{D1.parse()}catch(W0){throw W0}return D1.root};s0.default=t1,K.exports=s0.default},7116:(K,s0,Y)=>{s0.__esModule=!0,s0.default=void 0;var F0=a1(Y(6417)),J0=a1(Y(1157)),e1=a1(Y(3102)),t1=a1(Y(8940)),r1=a1(Y(7563)),F1=a1(Y(6621));function a1(W0){return W0&&W0.__esModule?W0:{default:W0}}var D1=function(){function W0(x1){this.input=x1,this.root=new r1.default,this.current=this.root,this.spaces=\"\",this.semicolon=!1,this.createTokenizer(),this.root.source={input:x1,start:{line:1,column:1}}}var i1=W0.prototype;return i1.createTokenizer=function(){this.tokenizer=(0,J0.default)(this.input)},i1.parse=function(){for(var x1;!this.tokenizer.endOfFile();)switch((x1=this.tokenizer.nextToken())[0]){case\"space\":this.spaces+=x1[1];break;case\";\":this.freeSemicolon(x1);break;case\"}\":this.end(x1);break;case\"comment\":this.comment(x1);break;case\"at-word\":this.atrule(x1);break;case\"{\":this.emptyRule(x1);break;default:this.other(x1)}this.endFile()},i1.comment=function(x1){var ux=new e1.default;this.init(ux,x1[2],x1[3]),ux.source.end={line:x1[4],column:x1[5]};var K1=x1[1].slice(2,-2);if(/^\\s*$/.test(K1))ux.text=\"\",ux.raws.left=K1,ux.raws.right=\"\";else{var ee=K1.match(/^(\\s*)([^]*[^\\s])(\\s*)$/);ux.text=ee[2],ux.raws.left=ee[1],ux.raws.right=ee[3]}},i1.emptyRule=function(x1){var ux=new F1.default;this.init(ux,x1[2],x1[3]),ux.selector=\"\",ux.raws.between=\"\",this.current=ux},i1.other=function(x1){for(var ux=!1,K1=null,ee=!1,Gx=null,ve=[],qe=[],Jt=x1;Jt;){if(K1=Jt[0],qe.push(Jt),K1===\"(\"||K1===\"[\")Gx||(Gx=Jt),ve.push(K1===\"(\"?\")\":\"]\");else if(ve.length===0){if(K1===\";\"){if(ee)return void this.decl(qe);break}if(K1===\"{\")return void this.rule(qe);if(K1===\"}\"){this.tokenizer.back(qe.pop()),ux=!0;break}K1===\":\"&&(ee=!0)}else K1===ve[ve.length-1]&&(ve.pop(),ve.length===0&&(Gx=null));Jt=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(ux=!0),ve.length>0&&this.unclosedBracket(Gx),ux&&ee){for(;qe.length&&((Jt=qe[qe.length-1][0])===\"space\"||Jt===\"comment\");)this.tokenizer.back(qe.pop());this.decl(qe)}else this.unknownWord(qe)},i1.rule=function(x1){x1.pop();var ux=new F1.default;this.init(ux,x1[0][2],x1[0][3]),ux.raws.between=this.spacesAndCommentsFromEnd(x1),this.raw(ux,\"selector\",x1),this.current=ux},i1.decl=function(x1){var ux=new F0.default;this.init(ux);var K1,ee=x1[x1.length-1];for(ee[0]===\";\"&&(this.semicolon=!0,x1.pop()),ee[4]?ux.source.end={line:ee[4],column:ee[5]}:ux.source.end={line:ee[2],column:ee[3]};x1[0][0]!==\"word\";)x1.length===1&&this.unknownWord(x1),ux.raws.before+=x1.shift()[1];for(ux.source.start={line:x1[0][2],column:x1[0][3]},ux.prop=\"\";x1.length;){var Gx=x1[0][0];if(Gx===\":\"||Gx===\"space\"||Gx===\"comment\")break;ux.prop+=x1.shift()[1]}for(ux.raws.between=\"\";x1.length;){if((K1=x1.shift())[0]===\":\"){ux.raws.between+=K1[1];break}K1[0]===\"word\"&&/\\w/.test(K1[1])&&this.unknownWord([K1]),ux.raws.between+=K1[1]}ux.prop[0]!==\"_\"&&ux.prop[0]!==\"*\"||(ux.raws.before+=ux.prop[0],ux.prop=ux.prop.slice(1)),ux.raws.between+=this.spacesAndCommentsFromStart(x1),this.precheckMissedSemicolon(x1);for(var ve=x1.length-1;ve>0;ve--){if((K1=x1[ve])[1].toLowerCase()===\"!important\"){ux.important=!0;var qe=this.stringFrom(x1,ve);(qe=this.spacesFromEnd(x1)+qe)!==\" !important\"&&(ux.raws.important=qe);break}if(K1[1].toLowerCase()===\"important\"){for(var Jt=x1.slice(0),Ct=\"\",vn=ve;vn>0;vn--){var _n=Jt[vn][0];if(Ct.trim().indexOf(\"!\")===0&&_n!==\"space\")break;Ct=Jt.pop()[1]+Ct}Ct.trim().indexOf(\"!\")===0&&(ux.important=!0,ux.raws.important=Ct,x1=Jt)}if(K1[0]!==\"space\"&&K1[0]!==\"comment\")break}this.raw(ux,\"value\",x1),ux.value.indexOf(\":\")!==-1&&this.checkMissedSemicolon(x1)},i1.atrule=function(x1){var ux,K1,ee=new t1.default;ee.name=x1[1].slice(1),ee.name===\"\"&&this.unnamedAtrule(ee,x1),this.init(ee,x1[2],x1[3]);for(var Gx=!1,ve=!1,qe=[];!this.tokenizer.endOfFile();){if((x1=this.tokenizer.nextToken())[0]===\";\"){ee.source.end={line:x1[2],column:x1[3]},this.semicolon=!0;break}if(x1[0]===\"{\"){ve=!0;break}if(x1[0]===\"}\"){if(qe.length>0){for(ux=qe[K1=qe.length-1];ux&&ux[0]===\"space\";)ux=qe[--K1];ux&&(ee.source.end={line:ux[4],column:ux[5]})}this.end(x1);break}if(qe.push(x1),this.tokenizer.endOfFile()){Gx=!0;break}}ee.raws.between=this.spacesAndCommentsFromEnd(qe),qe.length?(ee.raws.afterName=this.spacesAndCommentsFromStart(qe),this.raw(ee,\"params\",qe),Gx&&(x1=qe[qe.length-1],ee.source.end={line:x1[4],column:x1[5]},this.spaces=ee.raws.between,ee.raws.between=\"\")):(ee.raws.afterName=\"\",ee.params=\"\"),ve&&(ee.nodes=[],this.current=ee)},i1.end=function(x1){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||\"\")+this.spaces,this.spaces=\"\",this.current.parent?(this.current.source.end={line:x1[2],column:x1[3]},this.current=this.current.parent):this.unexpectedClose(x1)},i1.endFile=function(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||\"\")+this.spaces},i1.freeSemicolon=function(x1){if(this.spaces+=x1[1],this.current.nodes){var ux=this.current.nodes[this.current.nodes.length-1];ux&&ux.type===\"rule\"&&!ux.raws.ownSemicolon&&(ux.raws.ownSemicolon=this.spaces,this.spaces=\"\")}},i1.init=function(x1,ux,K1){this.current.push(x1),x1.source={start:{line:ux,column:K1},input:this.input},x1.raws.before=this.spaces,this.spaces=\"\",x1.type!==\"comment\"&&(this.semicolon=!1)},i1.raw=function(x1,ux,K1){for(var ee,Gx,ve,qe,Jt=K1.length,Ct=\"\",vn=!0,_n=/^([.|#])?([\\w])+/i,Tr=0;Tr<Jt;Tr+=1)(Gx=(ee=K1[Tr])[0])!==\"comment\"||x1.type!==\"rule\"?Gx===\"comment\"||Gx===\"space\"&&Tr===Jt-1?vn=!1:Ct+=ee[1]:(qe=K1[Tr-1],ve=K1[Tr+1],qe[0]!==\"space\"&&ve[0]!==\"space\"&&_n.test(qe[1])&&_n.test(ve[1])?Ct+=ee[1]:vn=!1);if(!vn){var Lr=K1.reduce(function(Pn,En){return Pn+En[1]},\"\");x1.raws[ux]={value:Ct,raw:Lr}}x1[ux]=Ct},i1.spacesAndCommentsFromEnd=function(x1){for(var ux,K1=\"\";x1.length&&((ux=x1[x1.length-1][0])===\"space\"||ux===\"comment\");)K1=x1.pop()[1]+K1;return K1},i1.spacesAndCommentsFromStart=function(x1){for(var ux,K1=\"\";x1.length&&((ux=x1[0][0])===\"space\"||ux===\"comment\");)K1+=x1.shift()[1];return K1},i1.spacesFromEnd=function(x1){for(var ux=\"\";x1.length&&x1[x1.length-1][0]===\"space\";)ux=x1.pop()[1]+ux;return ux},i1.stringFrom=function(x1,ux){for(var K1=\"\",ee=ux;ee<x1.length;ee++)K1+=x1[ee][1];return x1.splice(ux,x1.length-ux),K1},i1.colon=function(x1){for(var ux,K1,ee,Gx=0,ve=0;ve<x1.length;ve++){if((K1=(ux=x1[ve])[0])===\"(\"&&(Gx+=1),K1===\")\"&&(Gx-=1),Gx===0&&K1===\":\"){if(ee){if(ee[0]===\"word\"&&ee[1]===\"progid\")continue;return ve}this.doubleColon(ux)}ee=ux}return!1},i1.unclosedBracket=function(x1){throw this.input.error(\"Unclosed bracket\",x1[2],x1[3])},i1.unknownWord=function(x1){throw this.input.error(\"Unknown word\",x1[0][2],x1[0][3])},i1.unexpectedClose=function(x1){throw this.input.error(\"Unexpected }\",x1[2],x1[3])},i1.unclosedBlock=function(){var x1=this.current.source.start;throw this.input.error(\"Unclosed block\",x1.line,x1.column)},i1.doubleColon=function(x1){throw this.input.error(\"Double colon\",x1[2],x1[3])},i1.unnamedAtrule=function(x1,ux){throw this.input.error(\"At-rule without name\",ux[2],ux[3])},i1.precheckMissedSemicolon=function(){},i1.checkMissedSemicolon=function(x1){var ux=this.colon(x1);if(ux!==!1){for(var K1,ee=0,Gx=ux-1;Gx>=0&&((K1=x1[Gx])[0]===\"space\"||(ee+=1)!==2);Gx--);throw this.input.error(\"Missed semicolon\",K1[2],K1[3])}},W0}();s0.default=D1,K.exports=s0.default},3353:(K,s0,Y)=>{s0.__esModule=!0,s0.default=void 0;var F0=t1(Y(2447)),J0=t1(Y(6391)),e1=t1(Y(7545));function t1(F1){return F1&&F1.__esModule?F1:{default:F1}}var r1=function(){function F1(D1,W0){this.loadAnnotation(D1),this.inline=this.startWith(this.annotation,\"data:\");var i1=W0.map?W0.map.prev:void 0,x1=this.loadMap(W0.from,i1);x1&&(this.text=x1)}var a1=F1.prototype;return a1.consumer=function(){return this.consumerCache||(this.consumerCache=new F0.default.SourceMapConsumer(this.text)),this.consumerCache},a1.withContent=function(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)},a1.startWith=function(D1,W0){return!!D1&&D1.substr(0,W0.length)===W0},a1.getAnnotationURL=function(D1){return D1.match(/\\/\\*\\s*# sourceMappingURL=((?:(?!sourceMappingURL=).)*)\\*\\//)[1].trim()},a1.loadAnnotation=function(D1){var W0=D1.match(/\\/\\*\\s*# sourceMappingURL=(?:(?!sourceMappingURL=).)*\\*\\//gm);if(W0&&W0.length>0){var i1=W0[W0.length-1];i1&&(this.annotation=this.getAnnotationURL(i1))}},a1.decodeInline=function(D1){var W0,i1=\"data:application/json,\";if(this.startWith(D1,i1))return decodeURIComponent(D1.substr(i1.length));if(/^data:application\\/json;charset=utf-?8;base64,/.test(D1)||/^data:application\\/json;base64,/.test(D1))return W0=D1.substr(RegExp.lastMatch.length),Buffer?Buffer.from(W0,\"base64\").toString():window.atob(W0);var x1=D1.match(/data:application\\/json;([^,]+),/)[1];throw new Error(\"Unsupported source map encoding \"+x1)},a1.loadMap=function(D1,W0){if(W0===!1)return!1;if(W0){if(typeof W0==\"string\")return W0;if(typeof W0==\"function\"){var i1=W0(D1);if(i1&&e1.default.existsSync&&e1.default.existsSync(i1))return e1.default.readFileSync(i1,\"utf-8\").toString().trim();throw new Error(\"Unable to load previous source map: \"+i1.toString())}if(W0 instanceof F0.default.SourceMapConsumer)return F0.default.SourceMapGenerator.fromSourceMap(W0).toString();if(W0 instanceof F0.default.SourceMapGenerator)return W0.toString();if(this.isMap(W0))return JSON.stringify(W0);throw new Error(\"Unsupported previous source map format: \"+W0.toString())}if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){var x1=this.annotation;return D1&&(x1=J0.default.join(J0.default.dirname(D1),x1)),this.root=J0.default.dirname(x1),!(!e1.default.existsSync||!e1.default.existsSync(x1))&&e1.default.readFileSync(x1,\"utf-8\").toString().trim()}},a1.isMap=function(D1){return typeof D1==\"object\"&&(typeof D1.mappings==\"string\"||typeof D1._mappings==\"string\")},F1}();s0.default=r1,K.exports=s0.default},9429:(K,s0,Y)=>{s0.__esModule=!0,s0.default=void 0;var F0,J0=(F0=Y(6992))&&F0.__esModule?F0:{default:F0};function e1(F1,a1){var D1;if(typeof Symbol==\"undefined\"||F1[Symbol.iterator]==null){if(Array.isArray(F1)||(D1=function(i1,x1){if(!!i1){if(typeof i1==\"string\")return t1(i1,x1);var ux=Object.prototype.toString.call(i1).slice(8,-1);if(ux===\"Object\"&&i1.constructor&&(ux=i1.constructor.name),ux===\"Map\"||ux===\"Set\")return Array.from(i1);if(ux===\"Arguments\"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ux))return t1(i1,x1)}}(F1))||a1&&F1&&typeof F1.length==\"number\"){D1&&(F1=D1);var W0=0;return function(){return W0>=F1.length?{done:!0}:{done:!1,value:F1[W0++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}return(D1=F1[Symbol.iterator]()).next.bind(D1)}function t1(F1,a1){(a1==null||a1>F1.length)&&(a1=F1.length);for(var D1=0,W0=new Array(a1);D1<a1;D1++)W0[D1]=F1[D1];return W0}var r1=function(){function F1(D1){D1===void 0&&(D1=[]),this.version=\"7.0.36\",this.plugins=this.normalize(D1)}var a1=F1.prototype;return a1.use=function(D1){return this.plugins=this.plugins.concat(this.normalize([D1])),this},a1.process=function(D1){function W0(i1){return D1.apply(this,arguments)}return W0.toString=function(){return D1.toString()},W0}(function(D1,W0){return W0===void 0&&(W0={}),this.plugins.length===0&&(W0.parser,W0.stringifier),new J0.default(this,D1,W0)}),a1.normalize=function(D1){for(var W0,i1=[],x1=e1(D1);!(W0=x1()).done;){var ux=W0.value;if(ux.postcss===!0){var K1=ux();throw new Error(\"PostCSS plugin \"+K1.postcssPlugin+` requires PostCSS 8.\nMigration guide for end-users:\nhttps://github.com/postcss/postcss/wiki/PostCSS-8-for-end-users`)}if(ux.postcss&&(ux=ux.postcss),typeof ux==\"object\"&&Array.isArray(ux.plugins))i1=i1.concat(ux.plugins);else if(typeof ux==\"function\")i1.push(ux);else if(typeof ux!=\"object\"||!ux.parse&&!ux.stringify)throw typeof ux==\"object\"&&ux.postcssPlugin?new Error(\"PostCSS plugin \"+ux.postcssPlugin+` requires PostCSS 8.\nMigration guide for end-users:\nhttps://github.com/postcss/postcss/wiki/PostCSS-8-for-end-users`):new Error(ux+\" is not a PostCSS plugin\")}return i1},F1}();s0.default=r1,K.exports=s0.default},6865:(K,s0,Y)=>{s0.__esModule=!0,s0.default=void 0;var F0,J0=(F0=Y(1662))&&F0.__esModule?F0:{default:F0};function e1(r1,F1){for(var a1=0;a1<F1.length;a1++){var D1=F1[a1];D1.enumerable=D1.enumerable||!1,D1.configurable=!0,\"value\"in D1&&(D1.writable=!0),Object.defineProperty(r1,D1.key,D1)}}var t1=function(){function r1(W0,i1,x1){this.processor=W0,this.messages=[],this.root=i1,this.opts=x1,this.css=void 0,this.map=void 0}var F1,a1,D1=r1.prototype;return D1.toString=function(){return this.css},D1.warn=function(W0,i1){i1===void 0&&(i1={}),i1.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(i1.plugin=this.lastPlugin.postcssPlugin);var x1=new J0.default(W0,i1);return this.messages.push(x1),x1},D1.warnings=function(){return this.messages.filter(function(W0){return W0.type===\"warning\"})},F1=r1,(a1=[{key:\"content\",get:function(){return this.css}}])&&e1(F1.prototype,a1),r1}();s0.default=t1,K.exports=s0.default},7563:(K,s0,Y)=>{var F0;function J0(r1,F1){var a1;if(typeof Symbol==\"undefined\"||r1[Symbol.iterator]==null){if(Array.isArray(r1)||(a1=function(W0,i1){if(!!W0){if(typeof W0==\"string\")return e1(W0,i1);var x1=Object.prototype.toString.call(W0).slice(8,-1);if(x1===\"Object\"&&W0.constructor&&(x1=W0.constructor.name),x1===\"Map\"||x1===\"Set\")return Array.from(W0);if(x1===\"Arguments\"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(x1))return e1(W0,i1)}}(r1))||F1&&r1&&typeof r1.length==\"number\"){a1&&(r1=a1);var D1=0;return function(){return D1>=r1.length?{done:!0}:{done:!1,value:r1[D1++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}return(a1=r1[Symbol.iterator]()).next.bind(a1)}function e1(r1,F1){(F1==null||F1>r1.length)&&(F1=r1.length);for(var a1=0,D1=new Array(F1);a1<F1;a1++)D1[a1]=r1[a1];return D1}s0.__esModule=!0,s0.default=void 0;var t1=function(r1){var F1,a1;function D1(i1){var x1;return(x1=r1.call(this,i1)||this).type=\"root\",x1.nodes||(x1.nodes=[]),x1}a1=r1,(F1=D1).prototype=Object.create(a1.prototype),F1.prototype.constructor=F1,F1.__proto__=a1;var W0=D1.prototype;return W0.removeChild=function(i1,x1){var ux=this.index(i1);return!x1&&ux===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[ux].raws.before),r1.prototype.removeChild.call(this,i1)},W0.normalize=function(i1,x1,ux){var K1=r1.prototype.normalize.call(this,i1);if(x1){if(ux===\"prepend\")this.nodes.length>1?x1.raws.before=this.nodes[1].raws.before:delete x1.raws.before;else if(this.first!==x1)for(var ee,Gx=J0(K1);!(ee=Gx()).done;)ee.value.raws.before=x1.raws.before}return K1},W0.toResult=function(i1){return i1===void 0&&(i1={}),new(Y(6992))(new(Y(9429)),this,i1).stringify()},D1}(((F0=Y(1204))&&F0.__esModule?F0:{default:F0}).default);s0.default=t1,K.exports=s0.default},6621:(K,s0,Y)=>{s0.__esModule=!0,s0.default=void 0;var F0=e1(Y(1204)),J0=e1(Y(6136));function e1(F1){return F1&&F1.__esModule?F1:{default:F1}}function t1(F1,a1){for(var D1=0;D1<a1.length;D1++){var W0=a1[D1];W0.enumerable=W0.enumerable||!1,W0.configurable=!0,\"value\"in W0&&(W0.writable=!0),Object.defineProperty(F1,W0.key,W0)}}var r1=function(F1){var a1,D1,W0,i1;function x1(ux){var K1;return(K1=F1.call(this,ux)||this).type=\"rule\",K1.nodes||(K1.nodes=[]),K1}return D1=F1,(a1=x1).prototype=Object.create(D1.prototype),a1.prototype.constructor=a1,a1.__proto__=D1,W0=x1,(i1=[{key:\"selectors\",get:function(){return J0.default.comma(this.selector)},set:function(ux){var K1=this.selector?this.selector.match(/,\\s*/):null,ee=K1?K1[0]:\",\"+this.raw(\"between\",\"beforeOpen\");this.selector=ux.join(ee)}}])&&t1(W0.prototype,i1),x1}(F0.default);s0.default=r1,K.exports=s0.default},5701:(K,s0)=>{s0.__esModule=!0,s0.default=void 0;var Y={colon:\": \",indent:\"    \",beforeDecl:`\n`,beforeRule:`\n`,beforeOpen:\" \",beforeClose:`\n`,beforeComment:`\n`,after:`\n`,emptyBody:\"\",commentLeft:\" \",commentRight:\" \",semicolon:!1},F0=function(){function J0(t1){this.builder=t1}var e1=J0.prototype;return e1.stringify=function(t1,r1){this[t1.type](t1,r1)},e1.root=function(t1){this.body(t1),t1.raws.after&&this.builder(t1.raws.after)},e1.comment=function(t1){var r1=this.raw(t1,\"left\",\"commentLeft\"),F1=this.raw(t1,\"right\",\"commentRight\");this.builder(\"/*\"+r1+t1.text+F1+\"*/\",t1)},e1.decl=function(t1,r1){var F1=this.raw(t1,\"between\",\"colon\"),a1=t1.prop+F1+this.rawValue(t1,\"value\");t1.important&&(a1+=t1.raws.important||\" !important\"),r1&&(a1+=\";\"),this.builder(a1,t1)},e1.rule=function(t1){this.block(t1,this.rawValue(t1,\"selector\")),t1.raws.ownSemicolon&&this.builder(t1.raws.ownSemicolon,t1,\"end\")},e1.atrule=function(t1,r1){var F1=\"@\"+t1.name,a1=t1.params?this.rawValue(t1,\"params\"):\"\";if(t1.raws.afterName!==void 0?F1+=t1.raws.afterName:a1&&(F1+=\" \"),t1.nodes)this.block(t1,F1+a1);else{var D1=(t1.raws.between||\"\")+(r1?\";\":\"\");this.builder(F1+a1+D1,t1)}},e1.body=function(t1){for(var r1=t1.nodes.length-1;r1>0&&t1.nodes[r1].type===\"comment\";)r1-=1;for(var F1=this.raw(t1,\"semicolon\"),a1=0;a1<t1.nodes.length;a1++){var D1=t1.nodes[a1],W0=this.raw(D1,\"before\");W0&&this.builder(W0),this.stringify(D1,r1!==a1||F1)}},e1.block=function(t1,r1){var F1,a1=this.raw(t1,\"between\",\"beforeOpen\");this.builder(r1+a1+\"{\",t1,\"start\"),t1.nodes&&t1.nodes.length?(this.body(t1),F1=this.raw(t1,\"after\")):F1=this.raw(t1,\"after\",\"emptyBody\"),F1&&this.builder(F1),this.builder(\"}\",t1,\"end\")},e1.raw=function(t1,r1,F1){var a1;if(F1||(F1=r1),r1&&(a1=t1.raws[r1])!==void 0)return a1;var D1=t1.parent;if(F1===\"before\"&&(!D1||D1.type===\"root\"&&D1.first===t1))return\"\";if(!D1)return Y[F1];var W0=t1.root();if(W0.rawCache||(W0.rawCache={}),W0.rawCache[F1]!==void 0)return W0.rawCache[F1];if(F1===\"before\"||F1===\"after\")return this.beforeAfter(t1,F1);var i1,x1=\"raw\"+((i1=F1)[0].toUpperCase()+i1.slice(1));return this[x1]?a1=this[x1](W0,t1):W0.walk(function(ux){if((a1=ux.raws[r1])!==void 0)return!1}),a1===void 0&&(a1=Y[F1]),W0.rawCache[F1]=a1,a1},e1.rawSemicolon=function(t1){var r1;return t1.walk(function(F1){if(F1.nodes&&F1.nodes.length&&F1.last.type===\"decl\"&&(r1=F1.raws.semicolon)!==void 0)return!1}),r1},e1.rawEmptyBody=function(t1){var r1;return t1.walk(function(F1){if(F1.nodes&&F1.nodes.length===0&&(r1=F1.raws.after)!==void 0)return!1}),r1},e1.rawIndent=function(t1){return t1.raws.indent?t1.raws.indent:(t1.walk(function(F1){var a1=F1.parent;if(a1&&a1!==t1&&a1.parent&&a1.parent===t1&&F1.raws.before!==void 0){var D1=F1.raws.before.split(`\n`);return r1=(r1=D1[D1.length-1]).replace(/[^\\s]/g,\"\"),!1}}),r1);var r1},e1.rawBeforeComment=function(t1,r1){var F1;return t1.walkComments(function(a1){if(a1.raws.before!==void 0)return(F1=a1.raws.before).indexOf(`\n`)!==-1&&(F1=F1.replace(/[^\\n]+$/,\"\")),!1}),F1===void 0?F1=this.raw(r1,null,\"beforeDecl\"):F1&&(F1=F1.replace(/[^\\s]/g,\"\")),F1},e1.rawBeforeDecl=function(t1,r1){var F1;return t1.walkDecls(function(a1){if(a1.raws.before!==void 0)return(F1=a1.raws.before).indexOf(`\n`)!==-1&&(F1=F1.replace(/[^\\n]+$/,\"\")),!1}),F1===void 0?F1=this.raw(r1,null,\"beforeRule\"):F1&&(F1=F1.replace(/[^\\s]/g,\"\")),F1},e1.rawBeforeRule=function(t1){var r1;return t1.walk(function(F1){if(F1.nodes&&(F1.parent!==t1||t1.first!==F1)&&F1.raws.before!==void 0)return(r1=F1.raws.before).indexOf(`\n`)!==-1&&(r1=r1.replace(/[^\\n]+$/,\"\")),!1}),r1&&(r1=r1.replace(/[^\\s]/g,\"\")),r1},e1.rawBeforeClose=function(t1){var r1;return t1.walk(function(F1){if(F1.nodes&&F1.nodes.length>0&&F1.raws.after!==void 0)return(r1=F1.raws.after).indexOf(`\n`)!==-1&&(r1=r1.replace(/[^\\n]+$/,\"\")),!1}),r1&&(r1=r1.replace(/[^\\s]/g,\"\")),r1},e1.rawBeforeOpen=function(t1){var r1;return t1.walk(function(F1){if(F1.type!==\"decl\"&&(r1=F1.raws.between)!==void 0)return!1}),r1},e1.rawColon=function(t1){var r1;return t1.walkDecls(function(F1){if(F1.raws.between!==void 0)return r1=F1.raws.between.replace(/[^\\s:]/g,\"\"),!1}),r1},e1.beforeAfter=function(t1,r1){var F1;F1=t1.type===\"decl\"?this.raw(t1,null,\"beforeDecl\"):t1.type===\"comment\"?this.raw(t1,null,\"beforeComment\"):r1===\"before\"?this.raw(t1,null,\"beforeRule\"):this.raw(t1,null,\"beforeClose\");for(var a1=t1.parent,D1=0;a1&&a1.type!==\"root\";)D1+=1,a1=a1.parent;if(F1.indexOf(`\n`)!==-1){var W0=this.raw(t1,null,\"indent\");if(W0.length)for(var i1=0;i1<D1;i1++)F1+=W0}return F1},e1.rawValue=function(t1,r1){var F1=t1[r1],a1=t1.raws[r1];return a1&&a1.value===F1?a1.raw:F1},J0}();s0.default=F0,K.exports=s0.default},6157:(K,s0,Y)=>{s0.__esModule=!0,s0.default=void 0;var F0,J0=(F0=Y(5701))&&F0.__esModule?F0:{default:F0},e1=function(t1,r1){new J0.default(r1).stringify(t1)};s0.default=e1,K.exports=s0.default},1157:(K,s0)=>{s0.__esModule=!0,s0.default=function(Lr,Pn){Pn===void 0&&(Pn={});var En,cr,Ea,Qn,Bu,Au,Ec,kn,pu,mi,ma,ja,Ua,aa,Os=Lr.css.valueOf(),gn=Pn.ignoreErrors,et=Os.length,Sr=-1,un=1,jn=0,ea=[],wa=[];function as(zo){throw Lr.error(\"Unclosed \"+zo,un,jn-Sr)}return{back:function(zo){wa.push(zo)},nextToken:function(zo){if(wa.length)return wa.pop();if(!(jn>=et)){var vo=!!zo&&zo.ignoreUnclosed;switch(((En=Os.charCodeAt(jn))===t1||En===F1||En===D1&&Os.charCodeAt(jn+1)!==t1)&&(Sr=jn,un+=1),En){case t1:case r1:case a1:case D1:case F1:cr=jn;do cr+=1,(En=Os.charCodeAt(cr))===t1&&(Sr=cr,un+=1);while(En===r1||En===t1||En===a1||En===D1||En===F1);aa=[\"space\",Os.slice(jn,cr)],jn=cr-1;break;case W0:case i1:case K1:case ee:case qe:case Gx:case ux:var vi=String.fromCharCode(En);aa=[vi,vi,un,jn-Sr];break;case x1:if(ja=ea.length?ea.pop()[1]:\"\",Ua=Os.charCodeAt(jn+1),ja===\"url\"&&Ua!==Y&&Ua!==F0&&Ua!==r1&&Ua!==t1&&Ua!==a1&&Ua!==F1&&Ua!==D1){cr=jn;do{if(mi=!1,(cr=Os.indexOf(\")\",cr+1))===-1){if(gn||vo){cr=jn;break}as(\"bracket\")}for(ma=cr;Os.charCodeAt(ma-1)===J0;)ma-=1,mi=!mi}while(mi);aa=[\"brackets\",Os.slice(jn,cr+1),un,jn-Sr,un,cr-Sr],jn=cr}else cr=Os.indexOf(\")\",jn+1),Au=Os.slice(jn,cr+1),cr===-1||_n.test(Au)?aa=[\"(\",\"(\",un,jn-Sr]:(aa=[\"brackets\",Au,un,jn-Sr,un,cr-Sr],jn=cr);break;case Y:case F0:Ea=En===Y?\"'\":'\"',cr=jn;do{if(mi=!1,(cr=Os.indexOf(Ea,cr+1))===-1){if(gn||vo){cr=jn+1;break}as(\"string\")}for(ma=cr;Os.charCodeAt(ma-1)===J0;)ma-=1,mi=!mi}while(mi);Au=Os.slice(jn,cr+1),Qn=Au.split(`\n`),(Bu=Qn.length-1)>0?(kn=un+Bu,pu=cr-Qn[Bu].length):(kn=un,pu=Sr),aa=[\"string\",Os.slice(jn,cr+1),un,jn-Sr,kn,cr-pu],Sr=pu,un=kn,jn=cr;break;case Jt:Ct.lastIndex=jn+1,Ct.test(Os),cr=Ct.lastIndex===0?Os.length-1:Ct.lastIndex-2,aa=[\"at-word\",Os.slice(jn,cr+1),un,jn-Sr,un,cr-Sr],jn=cr;break;case J0:for(cr=jn,Ec=!0;Os.charCodeAt(cr+1)===J0;)cr+=1,Ec=!Ec;if(En=Os.charCodeAt(cr+1),Ec&&En!==e1&&En!==r1&&En!==t1&&En!==a1&&En!==D1&&En!==F1&&(cr+=1,Tr.test(Os.charAt(cr)))){for(;Tr.test(Os.charAt(cr+1));)cr+=1;Os.charCodeAt(cr+1)===r1&&(cr+=1)}aa=[\"word\",Os.slice(jn,cr+1),un,jn-Sr,un,cr-Sr],jn=cr;break;default:En===e1&&Os.charCodeAt(jn+1)===ve?((cr=Os.indexOf(\"*/\",jn+2)+1)===0&&(gn||vo?cr=Os.length:as(\"comment\")),Au=Os.slice(jn,cr+1),Qn=Au.split(`\n`),(Bu=Qn.length-1)>0?(kn=un+Bu,pu=cr-Qn[Bu].length):(kn=un,pu=Sr),aa=[\"comment\",Au,un,jn-Sr,kn,cr-pu],Sr=pu,un=kn,jn=cr):(vn.lastIndex=jn+1,vn.test(Os),cr=vn.lastIndex===0?Os.length-1:vn.lastIndex-2,aa=[\"word\",Os.slice(jn,cr+1),un,jn-Sr,un,cr-Sr],ea.push(aa),jn=cr)}return jn++,aa}},endOfFile:function(){return wa.length===0&&jn>=et},position:function(){return jn}}};var Y=\"'\".charCodeAt(0),F0='\"'.charCodeAt(0),J0=\"\\\\\".charCodeAt(0),e1=\"/\".charCodeAt(0),t1=`\n`.charCodeAt(0),r1=\" \".charCodeAt(0),F1=\"\\f\".charCodeAt(0),a1=\"\t\".charCodeAt(0),D1=\"\\r\".charCodeAt(0),W0=\"[\".charCodeAt(0),i1=\"]\".charCodeAt(0),x1=\"(\".charCodeAt(0),ux=\")\".charCodeAt(0),K1=\"{\".charCodeAt(0),ee=\"}\".charCodeAt(0),Gx=\";\".charCodeAt(0),ve=\"*\".charCodeAt(0),qe=\":\".charCodeAt(0),Jt=\"@\".charCodeAt(0),Ct=/[ \\n\\t\\r\\f{}()'\"\\\\;/[\\]#]/g,vn=/[ \\n\\t\\r\\f(){}:;@!'\"\\\\\\][#]|\\/(?=\\*)/g,_n=/.[\\\\/(\"'\\n]/,Tr=/[a-f0-9]/i;K.exports=s0.default},6574:(K,s0)=>{s0.__esModule=!0,s0.default=function(F0){Y[F0]||(Y[F0]=!0,typeof console!=\"undefined\"&&console.warn&&console.warn(F0))};var Y={};K.exports=s0.default},1662:(K,s0)=>{s0.__esModule=!0,s0.default=void 0;var Y=function(){function F0(J0,e1){if(e1===void 0&&(e1={}),this.type=\"warning\",this.text=J0,e1.node&&e1.node.source){var t1=e1.node.positionBy(e1);this.line=t1.line,this.column=t1.column}for(var r1 in e1)this[r1]=e1[r1]}return F0.prototype.toString=function(){return this.node?this.node.error(this.text,{plugin:this.plugin,index:this.index,word:this.word}).message:this.plugin?this.plugin+\": \"+this.text:this.text},F0}();s0.default=Y,K.exports=s0.default},6210:(K,s0,Y)=>{const F0=Y(895),{MAX_LENGTH:J0,MAX_SAFE_INTEGER:e1}=Y(8523),{re:t1,t:r1}=Y(3443),F1=Y(8077),{compareIdentifiers:a1}=Y(8337);class D1{constructor(i1,x1){if(x1=F1(x1),i1 instanceof D1){if(i1.loose===!!x1.loose&&i1.includePrerelease===!!x1.includePrerelease)return i1;i1=i1.version}else if(typeof i1!=\"string\")throw new TypeError(`Invalid Version: ${i1}`);if(i1.length>J0)throw new TypeError(`version is longer than ${J0} characters`);F0(\"SemVer\",i1,x1),this.options=x1,this.loose=!!x1.loose,this.includePrerelease=!!x1.includePrerelease;const ux=i1.trim().match(x1.loose?t1[r1.LOOSE]:t1[r1.FULL]);if(!ux)throw new TypeError(`Invalid Version: ${i1}`);if(this.raw=i1,this.major=+ux[1],this.minor=+ux[2],this.patch=+ux[3],this.major>e1||this.major<0)throw new TypeError(\"Invalid major version\");if(this.minor>e1||this.minor<0)throw new TypeError(\"Invalid minor version\");if(this.patch>e1||this.patch<0)throw new TypeError(\"Invalid patch version\");ux[4]?this.prerelease=ux[4].split(\".\").map(K1=>{if(/^[0-9]+$/.test(K1)){const ee=+K1;if(ee>=0&&ee<e1)return ee}return K1}):this.prerelease=[],this.build=ux[5]?ux[5].split(\".\"):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(\".\")}`),this.version}toString(){return this.version}compare(i1){if(F0(\"SemVer.compare\",this.version,this.options,i1),!(i1 instanceof D1)){if(typeof i1==\"string\"&&i1===this.version)return 0;i1=new D1(i1,this.options)}return i1.version===this.version?0:this.compareMain(i1)||this.comparePre(i1)}compareMain(i1){return i1 instanceof D1||(i1=new D1(i1,this.options)),a1(this.major,i1.major)||a1(this.minor,i1.minor)||a1(this.patch,i1.patch)}comparePre(i1){if(i1 instanceof D1||(i1=new D1(i1,this.options)),this.prerelease.length&&!i1.prerelease.length)return-1;if(!this.prerelease.length&&i1.prerelease.length)return 1;if(!this.prerelease.length&&!i1.prerelease.length)return 0;let x1=0;do{const ux=this.prerelease[x1],K1=i1.prerelease[x1];if(F0(\"prerelease compare\",x1,ux,K1),ux===void 0&&K1===void 0)return 0;if(K1===void 0)return 1;if(ux===void 0)return-1;if(ux!==K1)return a1(ux,K1)}while(++x1)}compareBuild(i1){i1 instanceof D1||(i1=new D1(i1,this.options));let x1=0;do{const ux=this.build[x1],K1=i1.build[x1];if(F0(\"prerelease compare\",x1,ux,K1),ux===void 0&&K1===void 0)return 0;if(K1===void 0)return 1;if(ux===void 0)return-1;if(ux!==K1)return a1(ux,K1)}while(++x1)}inc(i1,x1){switch(i1){case\"premajor\":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc(\"pre\",x1);break;case\"preminor\":this.prerelease.length=0,this.patch=0,this.minor++,this.inc(\"pre\",x1);break;case\"prepatch\":this.prerelease.length=0,this.inc(\"patch\",x1),this.inc(\"pre\",x1);break;case\"prerelease\":this.prerelease.length===0&&this.inc(\"patch\",x1),this.inc(\"pre\",x1);break;case\"major\":this.minor===0&&this.patch===0&&this.prerelease.length!==0||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case\"minor\":this.patch===0&&this.prerelease.length!==0||this.minor++,this.patch=0,this.prerelease=[];break;case\"patch\":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case\"pre\":if(this.prerelease.length===0)this.prerelease=[0];else{let ux=this.prerelease.length;for(;--ux>=0;)typeof this.prerelease[ux]==\"number\"&&(this.prerelease[ux]++,ux=-2);ux===-1&&this.prerelease.push(0)}x1&&(this.prerelease[0]===x1?isNaN(this.prerelease[1])&&(this.prerelease=[x1,0]):this.prerelease=[x1,0]);break;default:throw new Error(`invalid increment argument: ${i1}`)}return this.format(),this.raw=this.version,this}}K.exports=D1},2828:(K,s0,Y)=>{const F0=Y(6210);K.exports=(J0,e1,t1)=>new F0(J0,t1).compare(new F0(e1,t1))},9195:(K,s0,Y)=>{const F0=Y(2828);K.exports=(J0,e1,t1)=>F0(J0,e1,t1)>=0},3725:(K,s0,Y)=>{const F0=Y(2828);K.exports=(J0,e1,t1)=>F0(J0,e1,t1)<0},8523:K=>{const s0=Number.MAX_SAFE_INTEGER||9007199254740991;K.exports={SEMVER_SPEC_VERSION:\"2.0.0\",MAX_LENGTH:256,MAX_SAFE_INTEGER:s0,MAX_SAFE_COMPONENT_LENGTH:16}},895:K=>{const s0=typeof process==\"object\"&&process.env&&{}.NODE_DEBUG&&/\\bsemver\\b/i.test({}.NODE_DEBUG)?(...Y)=>console.error(\"SEMVER\",...Y):()=>{};K.exports=s0},8337:K=>{const s0=/^[0-9]+$/,Y=(F0,J0)=>{const e1=s0.test(F0),t1=s0.test(J0);return e1&&t1&&(F0=+F0,J0=+J0),F0===J0?0:e1&&!t1?-1:t1&&!e1?1:F0<J0?-1:1};K.exports={compareIdentifiers:Y,rcompareIdentifiers:(F0,J0)=>Y(J0,F0)}},8077:K=>{const s0=[\"includePrerelease\",\"loose\",\"rtl\"];K.exports=Y=>Y?typeof Y!=\"object\"?{loose:!0}:s0.filter(F0=>Y[F0]).reduce((F0,J0)=>(F0[J0]=!0,F0),{}):{}},3443:(K,s0,Y)=>{const{MAX_SAFE_COMPONENT_LENGTH:F0}=Y(8523),J0=Y(895),e1=(s0=K.exports={}).re=[],t1=s0.src=[],r1=s0.t={};let F1=0;const a1=(D1,W0,i1)=>{const x1=F1++;J0(x1,W0),r1[D1]=x1,t1[x1]=W0,e1[x1]=new RegExp(W0,i1?\"g\":void 0)};a1(\"NUMERICIDENTIFIER\",\"0|[1-9]\\\\d*\"),a1(\"NUMERICIDENTIFIERLOOSE\",\"[0-9]+\"),a1(\"NONNUMERICIDENTIFIER\",\"\\\\d*[a-zA-Z-][a-zA-Z0-9-]*\"),a1(\"MAINVERSION\",`(${t1[r1.NUMERICIDENTIFIER]})\\\\.(${t1[r1.NUMERICIDENTIFIER]})\\\\.(${t1[r1.NUMERICIDENTIFIER]})`),a1(\"MAINVERSIONLOOSE\",`(${t1[r1.NUMERICIDENTIFIERLOOSE]})\\\\.(${t1[r1.NUMERICIDENTIFIERLOOSE]})\\\\.(${t1[r1.NUMERICIDENTIFIERLOOSE]})`),a1(\"PRERELEASEIDENTIFIER\",`(?:${t1[r1.NUMERICIDENTIFIER]}|${t1[r1.NONNUMERICIDENTIFIER]})`),a1(\"PRERELEASEIDENTIFIERLOOSE\",`(?:${t1[r1.NUMERICIDENTIFIERLOOSE]}|${t1[r1.NONNUMERICIDENTIFIER]})`),a1(\"PRERELEASE\",`(?:-(${t1[r1.PRERELEASEIDENTIFIER]}(?:\\\\.${t1[r1.PRERELEASEIDENTIFIER]})*))`),a1(\"PRERELEASELOOSE\",`(?:-?(${t1[r1.PRERELEASEIDENTIFIERLOOSE]}(?:\\\\.${t1[r1.PRERELEASEIDENTIFIERLOOSE]})*))`),a1(\"BUILDIDENTIFIER\",\"[0-9A-Za-z-]+\"),a1(\"BUILD\",`(?:\\\\+(${t1[r1.BUILDIDENTIFIER]}(?:\\\\.${t1[r1.BUILDIDENTIFIER]})*))`),a1(\"FULLPLAIN\",`v?${t1[r1.MAINVERSION]}${t1[r1.PRERELEASE]}?${t1[r1.BUILD]}?`),a1(\"FULL\",`^${t1[r1.FULLPLAIN]}$`),a1(\"LOOSEPLAIN\",`[v=\\\\s]*${t1[r1.MAINVERSIONLOOSE]}${t1[r1.PRERELEASELOOSE]}?${t1[r1.BUILD]}?`),a1(\"LOOSE\",`^${t1[r1.LOOSEPLAIN]}$`),a1(\"GTLT\",\"((?:<|>)?=?)\"),a1(\"XRANGEIDENTIFIERLOOSE\",`${t1[r1.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`),a1(\"XRANGEIDENTIFIER\",`${t1[r1.NUMERICIDENTIFIER]}|x|X|\\\\*`),a1(\"XRANGEPLAIN\",`[v=\\\\s]*(${t1[r1.XRANGEIDENTIFIER]})(?:\\\\.(${t1[r1.XRANGEIDENTIFIER]})(?:\\\\.(${t1[r1.XRANGEIDENTIFIER]})(?:${t1[r1.PRERELEASE]})?${t1[r1.BUILD]}?)?)?`),a1(\"XRANGEPLAINLOOSE\",`[v=\\\\s]*(${t1[r1.XRANGEIDENTIFIERLOOSE]})(?:\\\\.(${t1[r1.XRANGEIDENTIFIERLOOSE]})(?:\\\\.(${t1[r1.XRANGEIDENTIFIERLOOSE]})(?:${t1[r1.PRERELEASELOOSE]})?${t1[r1.BUILD]}?)?)?`),a1(\"XRANGE\",`^${t1[r1.GTLT]}\\\\s*${t1[r1.XRANGEPLAIN]}$`),a1(\"XRANGELOOSE\",`^${t1[r1.GTLT]}\\\\s*${t1[r1.XRANGEPLAINLOOSE]}$`),a1(\"COERCE\",`(^|[^\\\\d])(\\\\d{1,${F0}})(?:\\\\.(\\\\d{1,${F0}}))?(?:\\\\.(\\\\d{1,${F0}}))?(?:$|[^\\\\d])`),a1(\"COERCERTL\",t1[r1.COERCE],!0),a1(\"LONETILDE\",\"(?:~>?)\"),a1(\"TILDETRIM\",`(\\\\s*)${t1[r1.LONETILDE]}\\\\s+`,!0),s0.tildeTrimReplace=\"$1~\",a1(\"TILDE\",`^${t1[r1.LONETILDE]}${t1[r1.XRANGEPLAIN]}$`),a1(\"TILDELOOSE\",`^${t1[r1.LONETILDE]}${t1[r1.XRANGEPLAINLOOSE]}$`),a1(\"LONECARET\",\"(?:\\\\^)\"),a1(\"CARETTRIM\",`(\\\\s*)${t1[r1.LONECARET]}\\\\s+`,!0),s0.caretTrimReplace=\"$1^\",a1(\"CARET\",`^${t1[r1.LONECARET]}${t1[r1.XRANGEPLAIN]}$`),a1(\"CARETLOOSE\",`^${t1[r1.LONECARET]}${t1[r1.XRANGEPLAINLOOSE]}$`),a1(\"COMPARATORLOOSE\",`^${t1[r1.GTLT]}\\\\s*(${t1[r1.LOOSEPLAIN]})$|^$`),a1(\"COMPARATOR\",`^${t1[r1.GTLT]}\\\\s*(${t1[r1.FULLPLAIN]})$|^$`),a1(\"COMPARATORTRIM\",`(\\\\s*)${t1[r1.GTLT]}\\\\s*(${t1[r1.LOOSEPLAIN]}|${t1[r1.XRANGEPLAIN]})`,!0),s0.comparatorTrimReplace=\"$1$2$3\",a1(\"HYPHENRANGE\",`^\\\\s*(${t1[r1.XRANGEPLAIN]})\\\\s+-\\\\s+(${t1[r1.XRANGEPLAIN]})\\\\s*$`),a1(\"HYPHENRANGELOOSE\",`^\\\\s*(${t1[r1.XRANGEPLAINLOOSE]})\\\\s+-\\\\s+(${t1[r1.XRANGEPLAINLOOSE]})\\\\s*$`),a1(\"STAR\",\"(<|>)?=?\\\\s*\\\\*\"),a1(\"GTE0\",\"^\\\\s*>=\\\\s*0.0.0\\\\s*$\"),a1(\"GTE0PRE\",\"^\\\\s*>=\\\\s*0.0.0-0\\\\s*$\")},6715:(K,s0,Y)=>{var F0=Y(7837),J0=Object.prototype.hasOwnProperty,e1=typeof Map!=\"undefined\";function t1(){this._array=[],this._set=e1?new Map:Object.create(null)}t1.fromArray=function(r1,F1){for(var a1=new t1,D1=0,W0=r1.length;D1<W0;D1++)a1.add(r1[D1],F1);return a1},t1.prototype.size=function(){return e1?this._set.size:Object.getOwnPropertyNames(this._set).length},t1.prototype.add=function(r1,F1){var a1=e1?r1:F0.toSetString(r1),D1=e1?this.has(r1):J0.call(this._set,a1),W0=this._array.length;D1&&!F1||this._array.push(r1),D1||(e1?this._set.set(r1,W0):this._set[a1]=W0)},t1.prototype.has=function(r1){if(e1)return this._set.has(r1);var F1=F0.toSetString(r1);return J0.call(this._set,F1)},t1.prototype.indexOf=function(r1){if(e1){var F1=this._set.get(r1);if(F1>=0)return F1}else{var a1=F0.toSetString(r1);if(J0.call(this._set,a1))return this._set[a1]}throw new Error('\"'+r1+'\" is not in the set.')},t1.prototype.at=function(r1){if(r1>=0&&r1<this._array.length)return this._array[r1];throw new Error(\"No element indexed by \"+r1)},t1.prototype.toArray=function(){return this._array.slice()},s0.I=t1},4886:(K,s0,Y)=>{var F0=Y(4122);s0.encode=function(J0){var e1,t1=\"\",r1=function(F1){return F1<0?1+(-F1<<1):0+(F1<<1)}(J0);do e1=31&r1,(r1>>>=5)>0&&(e1|=32),t1+=F0.encode(e1);while(r1>0);return t1},s0.decode=function(J0,e1,t1){var r1,F1,a1,D1,W0=J0.length,i1=0,x1=0;do{if(e1>=W0)throw new Error(\"Expected more digits in base 64 VLQ value.\");if((F1=F0.decode(J0.charCodeAt(e1++)))===-1)throw new Error(\"Invalid base64 digit: \"+J0.charAt(e1-1));r1=!!(32&F1),i1+=(F1&=31)<<x1,x1+=5}while(r1);t1.value=(D1=(a1=i1)>>1,(1&a1)==1?-D1:D1),t1.rest=e1}},4122:(K,s0)=>{var Y=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\".split(\"\");s0.encode=function(F0){if(0<=F0&&F0<Y.length)return Y[F0];throw new TypeError(\"Must be between 0 and 63: \"+F0)},s0.decode=function(F0){return 65<=F0&&F0<=90?F0-65:97<=F0&&F0<=122?F0-97+26:48<=F0&&F0<=57?F0-48+52:F0==43?62:F0==47?63:-1}},8593:(K,s0)=>{function Y(F0,J0,e1,t1,r1,F1){var a1=Math.floor((J0-F0)/2)+F0,D1=r1(e1,t1[a1],!0);return D1===0?a1:D1>0?J0-a1>1?Y(a1,J0,e1,t1,r1,F1):F1==s0.LEAST_UPPER_BOUND?J0<t1.length?J0:-1:a1:a1-F0>1?Y(F0,a1,e1,t1,r1,F1):F1==s0.LEAST_UPPER_BOUND?a1:F0<0?-1:F0}s0.GREATEST_LOWER_BOUND=1,s0.LEAST_UPPER_BOUND=2,s0.search=function(F0,J0,e1,t1){if(J0.length===0)return-1;var r1=Y(-1,J0.length,F0,J0,e1,t1||s0.GREATEST_LOWER_BOUND);if(r1<0)return-1;for(;r1-1>=0&&e1(J0[r1],J0[r1-1],!0)===0;)--r1;return r1}},1028:(K,s0,Y)=>{Y(4070);var F0=Y(7837);function J0(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}J0.prototype.unsortedForEach=function(e1,t1){this._array.forEach(e1,t1)},J0.prototype.add=function(e1){var t1,r1,F1,a1,D1,W0;t1=this._last,r1=e1,F1=t1.generatedLine,a1=r1.generatedLine,D1=t1.generatedColumn,W0=r1.generatedColumn,a1>F1||a1==F1&&W0>=D1||F0.compareByGeneratedPositionsInflated(t1,r1)<=0?(this._last=e1,this._array.push(e1)):(this._sorted=!1,this._array.push(e1))},J0.prototype.toArray=function(){return this._sorted||(this._array.sort(F0.compareByGeneratedPositionsInflated),this._sorted=!0),this._array},s0.H=J0},6711:(K,s0)=>{function Y(J0,e1,t1){var r1=J0[e1];J0[e1]=J0[t1],J0[t1]=r1}function F0(J0,e1,t1,r1){if(t1<r1){var F1=t1-1;Y(J0,(i1=t1,x1=r1,Math.round(i1+Math.random()*(x1-i1))),r1);for(var a1=J0[r1],D1=t1;D1<r1;D1++)e1(J0[D1],a1)<=0&&Y(J0,F1+=1,D1);Y(J0,F1+1,D1);var W0=F1+1;F0(J0,e1,t1,W0-1),F0(J0,e1,W0+1,r1)}var i1,x1}s0.U=function(J0,e1){F0(J0,e1,0,J0.length-1)}},8985:(K,s0,Y)=>{var F0=Y(7837),J0=Y(8593),e1=Y(6715).I,t1=Y(4886),r1=Y(6711).U;function F1(i1,x1){var ux=i1;return typeof i1==\"string\"&&(ux=F0.parseSourceMapInput(i1)),ux.sections!=null?new W0(ux,x1):new a1(ux,x1)}function a1(i1,x1){var ux=i1;typeof i1==\"string\"&&(ux=F0.parseSourceMapInput(i1));var K1=F0.getArg(ux,\"version\"),ee=F0.getArg(ux,\"sources\"),Gx=F0.getArg(ux,\"names\",[]),ve=F0.getArg(ux,\"sourceRoot\",null),qe=F0.getArg(ux,\"sourcesContent\",null),Jt=F0.getArg(ux,\"mappings\"),Ct=F0.getArg(ux,\"file\",null);if(K1!=this._version)throw new Error(\"Unsupported version: \"+K1);ve&&(ve=F0.normalize(ve)),ee=ee.map(String).map(F0.normalize).map(function(vn){return ve&&F0.isAbsolute(ve)&&F0.isAbsolute(vn)?F0.relative(ve,vn):vn}),this._names=e1.fromArray(Gx.map(String),!0),this._sources=e1.fromArray(ee,!0),this._absoluteSources=this._sources.toArray().map(function(vn){return F0.computeSourceURL(ve,vn,x1)}),this.sourceRoot=ve,this.sourcesContent=qe,this._mappings=Jt,this._sourceMapURL=x1,this.file=Ct}function D1(){this.generatedLine=0,this.generatedColumn=0,this.source=null,this.originalLine=null,this.originalColumn=null,this.name=null}function W0(i1,x1){var ux=i1;typeof i1==\"string\"&&(ux=F0.parseSourceMapInput(i1));var K1=F0.getArg(ux,\"version\"),ee=F0.getArg(ux,\"sections\");if(K1!=this._version)throw new Error(\"Unsupported version: \"+K1);this._sources=new e1,this._names=new e1;var Gx={line:-1,column:0};this._sections=ee.map(function(ve){if(ve.url)throw new Error(\"Support for url field in sections not implemented.\");var qe=F0.getArg(ve,\"offset\"),Jt=F0.getArg(qe,\"line\"),Ct=F0.getArg(qe,\"column\");if(Jt<Gx.line||Jt===Gx.line&&Ct<Gx.column)throw new Error(\"Section offsets must be ordered and non-overlapping.\");return Gx=qe,{generatedOffset:{generatedLine:Jt+1,generatedColumn:Ct+1},consumer:new F1(F0.getArg(ve,\"map\"),x1)}})}F1.fromSourceMap=function(i1,x1){return a1.fromSourceMap(i1,x1)},F1.prototype._version=3,F1.prototype.__generatedMappings=null,Object.defineProperty(F1.prototype,\"_generatedMappings\",{configurable:!0,enumerable:!0,get:function(){return this.__generatedMappings||this._parseMappings(this._mappings,this.sourceRoot),this.__generatedMappings}}),F1.prototype.__originalMappings=null,Object.defineProperty(F1.prototype,\"_originalMappings\",{configurable:!0,enumerable:!0,get:function(){return this.__originalMappings||this._parseMappings(this._mappings,this.sourceRoot),this.__originalMappings}}),F1.prototype._charIsMappingSeparator=function(i1,x1){var ux=i1.charAt(x1);return ux===\";\"||ux===\",\"},F1.prototype._parseMappings=function(i1,x1){throw new Error(\"Subclasses must implement _parseMappings\")},F1.GENERATED_ORDER=1,F1.ORIGINAL_ORDER=2,F1.GREATEST_LOWER_BOUND=1,F1.LEAST_UPPER_BOUND=2,F1.prototype.eachMapping=function(i1,x1,ux){var K1,ee=x1||null;switch(ux||F1.GENERATED_ORDER){case F1.GENERATED_ORDER:K1=this._generatedMappings;break;case F1.ORIGINAL_ORDER:K1=this._originalMappings;break;default:throw new Error(\"Unknown order of iteration.\")}var Gx=this.sourceRoot;K1.map(function(ve){var qe=ve.source===null?null:this._sources.at(ve.source);return{source:qe=F0.computeSourceURL(Gx,qe,this._sourceMapURL),generatedLine:ve.generatedLine,generatedColumn:ve.generatedColumn,originalLine:ve.originalLine,originalColumn:ve.originalColumn,name:ve.name===null?null:this._names.at(ve.name)}},this).forEach(i1,ee)},F1.prototype.allGeneratedPositionsFor=function(i1){var x1=F0.getArg(i1,\"line\"),ux={source:F0.getArg(i1,\"source\"),originalLine:x1,originalColumn:F0.getArg(i1,\"column\",0)};if(ux.source=this._findSourceIndex(ux.source),ux.source<0)return[];var K1=[],ee=this._findMapping(ux,this._originalMappings,\"originalLine\",\"originalColumn\",F0.compareByOriginalPositions,J0.LEAST_UPPER_BOUND);if(ee>=0){var Gx=this._originalMappings[ee];if(i1.column===void 0)for(var ve=Gx.originalLine;Gx&&Gx.originalLine===ve;)K1.push({line:F0.getArg(Gx,\"generatedLine\",null),column:F0.getArg(Gx,\"generatedColumn\",null),lastColumn:F0.getArg(Gx,\"lastGeneratedColumn\",null)}),Gx=this._originalMappings[++ee];else for(var qe=Gx.originalColumn;Gx&&Gx.originalLine===x1&&Gx.originalColumn==qe;)K1.push({line:F0.getArg(Gx,\"generatedLine\",null),column:F0.getArg(Gx,\"generatedColumn\",null),lastColumn:F0.getArg(Gx,\"lastGeneratedColumn\",null)}),Gx=this._originalMappings[++ee]}return K1},s0.SourceMapConsumer=F1,a1.prototype=Object.create(F1.prototype),a1.prototype.consumer=F1,a1.prototype._findSourceIndex=function(i1){var x1,ux=i1;if(this.sourceRoot!=null&&(ux=F0.relative(this.sourceRoot,ux)),this._sources.has(ux))return this._sources.indexOf(ux);for(x1=0;x1<this._absoluteSources.length;++x1)if(this._absoluteSources[x1]==i1)return x1;return-1},a1.fromSourceMap=function(i1,x1){var ux=Object.create(a1.prototype),K1=ux._names=e1.fromArray(i1._names.toArray(),!0),ee=ux._sources=e1.fromArray(i1._sources.toArray(),!0);ux.sourceRoot=i1._sourceRoot,ux.sourcesContent=i1._generateSourcesContent(ux._sources.toArray(),ux.sourceRoot),ux.file=i1._file,ux._sourceMapURL=x1,ux._absoluteSources=ux._sources.toArray().map(function(Tr){return F0.computeSourceURL(ux.sourceRoot,Tr,x1)});for(var Gx=i1._mappings.toArray().slice(),ve=ux.__generatedMappings=[],qe=ux.__originalMappings=[],Jt=0,Ct=Gx.length;Jt<Ct;Jt++){var vn=Gx[Jt],_n=new D1;_n.generatedLine=vn.generatedLine,_n.generatedColumn=vn.generatedColumn,vn.source&&(_n.source=ee.indexOf(vn.source),_n.originalLine=vn.originalLine,_n.originalColumn=vn.originalColumn,vn.name&&(_n.name=K1.indexOf(vn.name)),qe.push(_n)),ve.push(_n)}return r1(ux.__originalMappings,F0.compareByOriginalPositions),ux},a1.prototype._version=3,Object.defineProperty(a1.prototype,\"sources\",{get:function(){return this._absoluteSources.slice()}}),a1.prototype._parseMappings=function(i1,x1){for(var ux,K1,ee,Gx,ve,qe=1,Jt=0,Ct=0,vn=0,_n=0,Tr=0,Lr=i1.length,Pn=0,En={},cr={},Ea=[],Qn=[];Pn<Lr;)if(i1.charAt(Pn)===\";\")qe++,Pn++,Jt=0;else if(i1.charAt(Pn)===\",\")Pn++;else{for((ux=new D1).generatedLine=qe,Gx=Pn;Gx<Lr&&!this._charIsMappingSeparator(i1,Gx);Gx++);if(ee=En[K1=i1.slice(Pn,Gx)])Pn+=K1.length;else{for(ee=[];Pn<Gx;)t1.decode(i1,Pn,cr),ve=cr.value,Pn=cr.rest,ee.push(ve);if(ee.length===2)throw new Error(\"Found a source, but no line and column\");if(ee.length===3)throw new Error(\"Found a source and line, but no column\");En[K1]=ee}ux.generatedColumn=Jt+ee[0],Jt=ux.generatedColumn,ee.length>1&&(ux.source=_n+ee[1],_n+=ee[1],ux.originalLine=Ct+ee[2],Ct=ux.originalLine,ux.originalLine+=1,ux.originalColumn=vn+ee[3],vn=ux.originalColumn,ee.length>4&&(ux.name=Tr+ee[4],Tr+=ee[4])),Qn.push(ux),typeof ux.originalLine==\"number\"&&Ea.push(ux)}r1(Qn,F0.compareByGeneratedPositionsDeflated),this.__generatedMappings=Qn,r1(Ea,F0.compareByOriginalPositions),this.__originalMappings=Ea},a1.prototype._findMapping=function(i1,x1,ux,K1,ee,Gx){if(i1[ux]<=0)throw new TypeError(\"Line must be greater than or equal to 1, got \"+i1[ux]);if(i1[K1]<0)throw new TypeError(\"Column must be greater than or equal to 0, got \"+i1[K1]);return J0.search(i1,x1,ee,Gx)},a1.prototype.computeColumnSpans=function(){for(var i1=0;i1<this._generatedMappings.length;++i1){var x1=this._generatedMappings[i1];if(i1+1<this._generatedMappings.length){var ux=this._generatedMappings[i1+1];if(x1.generatedLine===ux.generatedLine){x1.lastGeneratedColumn=ux.generatedColumn-1;continue}}x1.lastGeneratedColumn=1/0}},a1.prototype.originalPositionFor=function(i1){var x1={generatedLine:F0.getArg(i1,\"line\"),generatedColumn:F0.getArg(i1,\"column\")},ux=this._findMapping(x1,this._generatedMappings,\"generatedLine\",\"generatedColumn\",F0.compareByGeneratedPositionsDeflated,F0.getArg(i1,\"bias\",F1.GREATEST_LOWER_BOUND));if(ux>=0){var K1=this._generatedMappings[ux];if(K1.generatedLine===x1.generatedLine){var ee=F0.getArg(K1,\"source\",null);ee!==null&&(ee=this._sources.at(ee),ee=F0.computeSourceURL(this.sourceRoot,ee,this._sourceMapURL));var Gx=F0.getArg(K1,\"name\",null);return Gx!==null&&(Gx=this._names.at(Gx)),{source:ee,line:F0.getArg(K1,\"originalLine\",null),column:F0.getArg(K1,\"originalColumn\",null),name:Gx}}}return{source:null,line:null,column:null,name:null}},a1.prototype.hasContentsOfAllSources=function(){return!!this.sourcesContent&&this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some(function(i1){return i1==null})},a1.prototype.sourceContentFor=function(i1,x1){if(!this.sourcesContent)return null;var ux=this._findSourceIndex(i1);if(ux>=0)return this.sourcesContent[ux];var K1,ee=i1;if(this.sourceRoot!=null&&(ee=F0.relative(this.sourceRoot,ee)),this.sourceRoot!=null&&(K1=F0.urlParse(this.sourceRoot))){var Gx=ee.replace(/^file:\\/\\//,\"\");if(K1.scheme==\"file\"&&this._sources.has(Gx))return this.sourcesContent[this._sources.indexOf(Gx)];if((!K1.path||K1.path==\"/\")&&this._sources.has(\"/\"+ee))return this.sourcesContent[this._sources.indexOf(\"/\"+ee)]}if(x1)return null;throw new Error('\"'+ee+'\" is not in the SourceMap.')},a1.prototype.generatedPositionFor=function(i1){var x1=F0.getArg(i1,\"source\");if((x1=this._findSourceIndex(x1))<0)return{line:null,column:null,lastColumn:null};var ux={source:x1,originalLine:F0.getArg(i1,\"line\"),originalColumn:F0.getArg(i1,\"column\")},K1=this._findMapping(ux,this._originalMappings,\"originalLine\",\"originalColumn\",F0.compareByOriginalPositions,F0.getArg(i1,\"bias\",F1.GREATEST_LOWER_BOUND));if(K1>=0){var ee=this._originalMappings[K1];if(ee.source===ux.source)return{line:F0.getArg(ee,\"generatedLine\",null),column:F0.getArg(ee,\"generatedColumn\",null),lastColumn:F0.getArg(ee,\"lastGeneratedColumn\",null)}}return{line:null,column:null,lastColumn:null}},W0.prototype=Object.create(F1.prototype),W0.prototype.constructor=F1,W0.prototype._version=3,Object.defineProperty(W0.prototype,\"sources\",{get:function(){for(var i1=[],x1=0;x1<this._sections.length;x1++)for(var ux=0;ux<this._sections[x1].consumer.sources.length;ux++)i1.push(this._sections[x1].consumer.sources[ux]);return i1}}),W0.prototype.originalPositionFor=function(i1){var x1={generatedLine:F0.getArg(i1,\"line\"),generatedColumn:F0.getArg(i1,\"column\")},ux=J0.search(x1,this._sections,function(ee,Gx){var ve=ee.generatedLine-Gx.generatedOffset.generatedLine;return ve||ee.generatedColumn-Gx.generatedOffset.generatedColumn}),K1=this._sections[ux];return K1?K1.consumer.originalPositionFor({line:x1.generatedLine-(K1.generatedOffset.generatedLine-1),column:x1.generatedColumn-(K1.generatedOffset.generatedLine===x1.generatedLine?K1.generatedOffset.generatedColumn-1:0),bias:i1.bias}):{source:null,line:null,column:null,name:null}},W0.prototype.hasContentsOfAllSources=function(){return this._sections.every(function(i1){return i1.consumer.hasContentsOfAllSources()})},W0.prototype.sourceContentFor=function(i1,x1){for(var ux=0;ux<this._sections.length;ux++){var K1=this._sections[ux].consumer.sourceContentFor(i1,!0);if(K1)return K1}if(x1)return null;throw new Error('\"'+i1+'\" is not in the SourceMap.')},W0.prototype.generatedPositionFor=function(i1){for(var x1=0;x1<this._sections.length;x1++){var ux=this._sections[x1];if(ux.consumer._findSourceIndex(F0.getArg(i1,\"source\"))!==-1){var K1=ux.consumer.generatedPositionFor(i1);if(K1)return{line:K1.line+(ux.generatedOffset.generatedLine-1),column:K1.column+(ux.generatedOffset.generatedLine===K1.line?ux.generatedOffset.generatedColumn-1:0)}}}return{line:null,column:null}},W0.prototype._parseMappings=function(i1,x1){this.__generatedMappings=[],this.__originalMappings=[];for(var ux=0;ux<this._sections.length;ux++)for(var K1=this._sections[ux],ee=K1.consumer._generatedMappings,Gx=0;Gx<ee.length;Gx++){var ve=ee[Gx],qe=K1.consumer._sources.at(ve.source);qe=F0.computeSourceURL(K1.consumer.sourceRoot,qe,this._sourceMapURL),this._sources.add(qe),qe=this._sources.indexOf(qe);var Jt=null;ve.name&&(Jt=K1.consumer._names.at(ve.name),this._names.add(Jt),Jt=this._names.indexOf(Jt));var Ct={source:qe,generatedLine:ve.generatedLine+(K1.generatedOffset.generatedLine-1),generatedColumn:ve.generatedColumn+(K1.generatedOffset.generatedLine===ve.generatedLine?K1.generatedOffset.generatedColumn-1:0),originalLine:ve.originalLine,originalColumn:ve.originalColumn,name:Jt};this.__generatedMappings.push(Ct),typeof Ct.originalLine==\"number\"&&this.__originalMappings.push(Ct)}r1(this.__generatedMappings,F0.compareByGeneratedPositionsDeflated),r1(this.__originalMappings,F0.compareByOriginalPositions)}},2400:(K,s0,Y)=>{var F0=Y(4886),J0=Y(7837),e1=Y(6715).I,t1=Y(1028).H;function r1(F1){F1||(F1={}),this._file=J0.getArg(F1,\"file\",null),this._sourceRoot=J0.getArg(F1,\"sourceRoot\",null),this._skipValidation=J0.getArg(F1,\"skipValidation\",!1),this._sources=new e1,this._names=new e1,this._mappings=new t1,this._sourcesContents=null}r1.prototype._version=3,r1.fromSourceMap=function(F1){var a1=F1.sourceRoot,D1=new r1({file:F1.file,sourceRoot:a1});return F1.eachMapping(function(W0){var i1={generated:{line:W0.generatedLine,column:W0.generatedColumn}};W0.source!=null&&(i1.source=W0.source,a1!=null&&(i1.source=J0.relative(a1,i1.source)),i1.original={line:W0.originalLine,column:W0.originalColumn},W0.name!=null&&(i1.name=W0.name)),D1.addMapping(i1)}),F1.sources.forEach(function(W0){var i1=W0;a1!==null&&(i1=J0.relative(a1,W0)),D1._sources.has(i1)||D1._sources.add(i1);var x1=F1.sourceContentFor(W0);x1!=null&&D1.setSourceContent(W0,x1)}),D1},r1.prototype.addMapping=function(F1){var a1=J0.getArg(F1,\"generated\"),D1=J0.getArg(F1,\"original\",null),W0=J0.getArg(F1,\"source\",null),i1=J0.getArg(F1,\"name\",null);this._skipValidation||this._validateMapping(a1,D1,W0,i1),W0!=null&&(W0=String(W0),this._sources.has(W0)||this._sources.add(W0)),i1!=null&&(i1=String(i1),this._names.has(i1)||this._names.add(i1)),this._mappings.add({generatedLine:a1.line,generatedColumn:a1.column,originalLine:D1!=null&&D1.line,originalColumn:D1!=null&&D1.column,source:W0,name:i1})},r1.prototype.setSourceContent=function(F1,a1){var D1=F1;this._sourceRoot!=null&&(D1=J0.relative(this._sourceRoot,D1)),a1!=null?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[J0.toSetString(D1)]=a1):this._sourcesContents&&(delete this._sourcesContents[J0.toSetString(D1)],Object.keys(this._sourcesContents).length===0&&(this._sourcesContents=null))},r1.prototype.applySourceMap=function(F1,a1,D1){var W0=a1;if(a1==null){if(F1.file==null)throw new Error(`SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map's \"file\" property. Both were omitted.`);W0=F1.file}var i1=this._sourceRoot;i1!=null&&(W0=J0.relative(i1,W0));var x1=new e1,ux=new e1;this._mappings.unsortedForEach(function(K1){if(K1.source===W0&&K1.originalLine!=null){var ee=F1.originalPositionFor({line:K1.originalLine,column:K1.originalColumn});ee.source!=null&&(K1.source=ee.source,D1!=null&&(K1.source=J0.join(D1,K1.source)),i1!=null&&(K1.source=J0.relative(i1,K1.source)),K1.originalLine=ee.line,K1.originalColumn=ee.column,ee.name!=null&&(K1.name=ee.name))}var Gx=K1.source;Gx==null||x1.has(Gx)||x1.add(Gx);var ve=K1.name;ve==null||ux.has(ve)||ux.add(ve)},this),this._sources=x1,this._names=ux,F1.sources.forEach(function(K1){var ee=F1.sourceContentFor(K1);ee!=null&&(D1!=null&&(K1=J0.join(D1,K1)),i1!=null&&(K1=J0.relative(i1,K1)),this.setSourceContent(K1,ee))},this)},r1.prototype._validateMapping=function(F1,a1,D1,W0){if(a1&&typeof a1.line!=\"number\"&&typeof a1.column!=\"number\")throw new Error(\"original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.\");if((!(F1&&\"line\"in F1&&\"column\"in F1&&F1.line>0&&F1.column>=0)||a1||D1||W0)&&!(F1&&\"line\"in F1&&\"column\"in F1&&a1&&\"line\"in a1&&\"column\"in a1&&F1.line>0&&F1.column>=0&&a1.line>0&&a1.column>=0&&D1))throw new Error(\"Invalid mapping: \"+JSON.stringify({generated:F1,source:D1,original:a1,name:W0}))},r1.prototype._serializeMappings=function(){for(var F1,a1,D1,W0,i1=0,x1=1,ux=0,K1=0,ee=0,Gx=0,ve=\"\",qe=this._mappings.toArray(),Jt=0,Ct=qe.length;Jt<Ct;Jt++){if(F1=\"\",(a1=qe[Jt]).generatedLine!==x1)for(i1=0;a1.generatedLine!==x1;)F1+=\";\",x1++;else if(Jt>0){if(!J0.compareByGeneratedPositionsInflated(a1,qe[Jt-1]))continue;F1+=\",\"}F1+=F0.encode(a1.generatedColumn-i1),i1=a1.generatedColumn,a1.source!=null&&(W0=this._sources.indexOf(a1.source),F1+=F0.encode(W0-Gx),Gx=W0,F1+=F0.encode(a1.originalLine-1-K1),K1=a1.originalLine-1,F1+=F0.encode(a1.originalColumn-ux),ux=a1.originalColumn,a1.name!=null&&(D1=this._names.indexOf(a1.name),F1+=F0.encode(D1-ee),ee=D1)),ve+=F1}return ve},r1.prototype._generateSourcesContent=function(F1,a1){return F1.map(function(D1){if(!this._sourcesContents)return null;a1!=null&&(D1=J0.relative(a1,D1));var W0=J0.toSetString(D1);return Object.prototype.hasOwnProperty.call(this._sourcesContents,W0)?this._sourcesContents[W0]:null},this)},r1.prototype.toJSON=function(){var F1={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return this._file!=null&&(F1.file=this._file),this._sourceRoot!=null&&(F1.sourceRoot=this._sourceRoot),this._sourcesContents&&(F1.sourcesContent=this._generateSourcesContent(F1.sources,F1.sourceRoot)),F1},r1.prototype.toString=function(){return JSON.stringify(this.toJSON())},s0.SourceMapGenerator=r1},6270:(K,s0,Y)=>{var F0=Y(2400).SourceMapGenerator,J0=Y(7837),e1=/(\\r?\\n)/,t1=\"$$$isSourceNode$$$\";function r1(F1,a1,D1,W0,i1){this.children=[],this.sourceContents={},this.line=F1==null?null:F1,this.column=a1==null?null:a1,this.source=D1==null?null:D1,this.name=i1==null?null:i1,this[t1]=!0,W0!=null&&this.add(W0)}r1.fromStringWithSourceMap=function(F1,a1,D1){var W0=new r1,i1=F1.split(e1),x1=0,ux=function(){return qe()+(qe()||\"\");function qe(){return x1<i1.length?i1[x1++]:void 0}},K1=1,ee=0,Gx=null;return a1.eachMapping(function(qe){if(Gx!==null){if(!(K1<qe.generatedLine)){var Jt=(Ct=i1[x1]||\"\").substr(0,qe.generatedColumn-ee);return i1[x1]=Ct.substr(qe.generatedColumn-ee),ee=qe.generatedColumn,ve(Gx,Jt),void(Gx=qe)}ve(Gx,ux()),K1++,ee=0}for(;K1<qe.generatedLine;)W0.add(ux()),K1++;if(ee<qe.generatedColumn){var Ct=i1[x1]||\"\";W0.add(Ct.substr(0,qe.generatedColumn)),i1[x1]=Ct.substr(qe.generatedColumn),ee=qe.generatedColumn}Gx=qe},this),x1<i1.length&&(Gx&&ve(Gx,ux()),W0.add(i1.splice(x1).join(\"\"))),a1.sources.forEach(function(qe){var Jt=a1.sourceContentFor(qe);Jt!=null&&(D1!=null&&(qe=J0.join(D1,qe)),W0.setSourceContent(qe,Jt))}),W0;function ve(qe,Jt){if(qe===null||qe.source===void 0)W0.add(Jt);else{var Ct=D1?J0.join(D1,qe.source):qe.source;W0.add(new r1(qe.originalLine,qe.originalColumn,Ct,Jt,qe.name))}}},r1.prototype.add=function(F1){if(Array.isArray(F1))F1.forEach(function(a1){this.add(a1)},this);else{if(!F1[t1]&&typeof F1!=\"string\")throw new TypeError(\"Expected a SourceNode, string, or an array of SourceNodes and strings. Got \"+F1);F1&&this.children.push(F1)}return this},r1.prototype.prepend=function(F1){if(Array.isArray(F1))for(var a1=F1.length-1;a1>=0;a1--)this.prepend(F1[a1]);else{if(!F1[t1]&&typeof F1!=\"string\")throw new TypeError(\"Expected a SourceNode, string, or an array of SourceNodes and strings. Got \"+F1);this.children.unshift(F1)}return this},r1.prototype.walk=function(F1){for(var a1,D1=0,W0=this.children.length;D1<W0;D1++)(a1=this.children[D1])[t1]?a1.walk(F1):a1!==\"\"&&F1(a1,{source:this.source,line:this.line,column:this.column,name:this.name})},r1.prototype.join=function(F1){var a1,D1,W0=this.children.length;if(W0>0){for(a1=[],D1=0;D1<W0-1;D1++)a1.push(this.children[D1]),a1.push(F1);a1.push(this.children[D1]),this.children=a1}return this},r1.prototype.replaceRight=function(F1,a1){var D1=this.children[this.children.length-1];return D1[t1]?D1.replaceRight(F1,a1):typeof D1==\"string\"?this.children[this.children.length-1]=D1.replace(F1,a1):this.children.push(\"\".replace(F1,a1)),this},r1.prototype.setSourceContent=function(F1,a1){this.sourceContents[J0.toSetString(F1)]=a1},r1.prototype.walkSourceContents=function(F1){for(var a1=0,D1=this.children.length;a1<D1;a1++)this.children[a1][t1]&&this.children[a1].walkSourceContents(F1);var W0=Object.keys(this.sourceContents);for(a1=0,D1=W0.length;a1<D1;a1++)F1(J0.fromSetString(W0[a1]),this.sourceContents[W0[a1]])},r1.prototype.toString=function(){var F1=\"\";return this.walk(function(a1){F1+=a1}),F1},r1.prototype.toStringWithSourceMap=function(F1){var a1={code:\"\",line:1,column:0},D1=new F0(F1),W0=!1,i1=null,x1=null,ux=null,K1=null;return this.walk(function(ee,Gx){a1.code+=ee,Gx.source!==null&&Gx.line!==null&&Gx.column!==null?(i1===Gx.source&&x1===Gx.line&&ux===Gx.column&&K1===Gx.name||D1.addMapping({source:Gx.source,original:{line:Gx.line,column:Gx.column},generated:{line:a1.line,column:a1.column},name:Gx.name}),i1=Gx.source,x1=Gx.line,ux=Gx.column,K1=Gx.name,W0=!0):W0&&(D1.addMapping({generated:{line:a1.line,column:a1.column}}),i1=null,W0=!1);for(var ve=0,qe=ee.length;ve<qe;ve++)ee.charCodeAt(ve)===10?(a1.line++,a1.column=0,ve+1===qe?(i1=null,W0=!1):W0&&D1.addMapping({source:Gx.source,original:{line:Gx.line,column:Gx.column},generated:{line:a1.line,column:a1.column},name:Gx.name})):a1.column++}),this.walkSourceContents(function(ee,Gx){D1.setSourceContent(ee,Gx)}),{code:a1.code,map:D1}},s0.SourceNode=r1},7837:(K,s0)=>{s0.getArg=function(i1,x1,ux){if(x1 in i1)return i1[x1];if(arguments.length===3)return ux;throw new Error('\"'+x1+'\" is a required argument.')};var Y=/^(?:([\\w+\\-.]+):)?\\/\\/(?:(\\w+:\\w+)@)?([\\w.-]*)(?::(\\d+))?(.*)$/,F0=/^data:.+\\,.+$/;function J0(i1){var x1=i1.match(Y);return x1?{scheme:x1[1],auth:x1[2],host:x1[3],port:x1[4],path:x1[5]}:null}function e1(i1){var x1=\"\";return i1.scheme&&(x1+=i1.scheme+\":\"),x1+=\"//\",i1.auth&&(x1+=i1.auth+\"@\"),i1.host&&(x1+=i1.host),i1.port&&(x1+=\":\"+i1.port),i1.path&&(x1+=i1.path),x1}function t1(i1){var x1=i1,ux=J0(i1);if(ux){if(!ux.path)return i1;x1=ux.path}for(var K1,ee=s0.isAbsolute(x1),Gx=x1.split(/\\/+/),ve=0,qe=Gx.length-1;qe>=0;qe--)(K1=Gx[qe])===\".\"?Gx.splice(qe,1):K1===\"..\"?ve++:ve>0&&(K1===\"\"?(Gx.splice(qe+1,ve),ve=0):(Gx.splice(qe,2),ve--));return(x1=Gx.join(\"/\"))===\"\"&&(x1=ee?\"/\":\".\"),ux?(ux.path=x1,e1(ux)):x1}function r1(i1,x1){i1===\"\"&&(i1=\".\"),x1===\"\"&&(x1=\".\");var ux=J0(x1),K1=J0(i1);if(K1&&(i1=K1.path||\"/\"),ux&&!ux.scheme)return K1&&(ux.scheme=K1.scheme),e1(ux);if(ux||x1.match(F0))return x1;if(K1&&!K1.host&&!K1.path)return K1.host=x1,e1(K1);var ee=x1.charAt(0)===\"/\"?x1:t1(i1.replace(/\\/+$/,\"\")+\"/\"+x1);return K1?(K1.path=ee,e1(K1)):ee}s0.urlParse=J0,s0.urlGenerate=e1,s0.normalize=t1,s0.join=r1,s0.isAbsolute=function(i1){return i1.charAt(0)===\"/\"||Y.test(i1)},s0.relative=function(i1,x1){i1===\"\"&&(i1=\".\"),i1=i1.replace(/\\/$/,\"\");for(var ux=0;x1.indexOf(i1+\"/\")!==0;){var K1=i1.lastIndexOf(\"/\");if(K1<0||(i1=i1.slice(0,K1)).match(/^([^\\/]+:\\/)?\\/*$/))return x1;++ux}return Array(ux+1).join(\"../\")+x1.substr(i1.length+1)};var F1=!(\"__proto__\"in Object.create(null));function a1(i1){return i1}function D1(i1){if(!i1)return!1;var x1=i1.length;if(x1<9||i1.charCodeAt(x1-1)!==95||i1.charCodeAt(x1-2)!==95||i1.charCodeAt(x1-3)!==111||i1.charCodeAt(x1-4)!==116||i1.charCodeAt(x1-5)!==111||i1.charCodeAt(x1-6)!==114||i1.charCodeAt(x1-7)!==112||i1.charCodeAt(x1-8)!==95||i1.charCodeAt(x1-9)!==95)return!1;for(var ux=x1-10;ux>=0;ux--)if(i1.charCodeAt(ux)!==36)return!1;return!0}function W0(i1,x1){return i1===x1?0:i1===null?1:x1===null?-1:i1>x1?1:-1}s0.toSetString=F1?a1:function(i1){return D1(i1)?\"$\"+i1:i1},s0.fromSetString=F1?a1:function(i1){return D1(i1)?i1.slice(1):i1},s0.compareByOriginalPositions=function(i1,x1,ux){var K1=W0(i1.source,x1.source);return K1!==0||(K1=i1.originalLine-x1.originalLine)!=0||(K1=i1.originalColumn-x1.originalColumn)!=0||ux||(K1=i1.generatedColumn-x1.generatedColumn)!=0||(K1=i1.generatedLine-x1.generatedLine)!=0?K1:W0(i1.name,x1.name)},s0.compareByGeneratedPositionsDeflated=function(i1,x1,ux){var K1=i1.generatedLine-x1.generatedLine;return K1!==0||(K1=i1.generatedColumn-x1.generatedColumn)!=0||ux||(K1=W0(i1.source,x1.source))!==0||(K1=i1.originalLine-x1.originalLine)!=0||(K1=i1.originalColumn-x1.originalColumn)!=0?K1:W0(i1.name,x1.name)},s0.compareByGeneratedPositionsInflated=function(i1,x1){var ux=i1.generatedLine-x1.generatedLine;return ux!==0||(ux=i1.generatedColumn-x1.generatedColumn)!=0||(ux=W0(i1.source,x1.source))!==0||(ux=i1.originalLine-x1.originalLine)!=0||(ux=i1.originalColumn-x1.originalColumn)!=0?ux:W0(i1.name,x1.name)},s0.parseSourceMapInput=function(i1){return JSON.parse(i1.replace(/^\\)]}'[^\\n]*\\n/,\"\"))},s0.computeSourceURL=function(i1,x1,ux){if(x1=x1||\"\",i1&&(i1[i1.length-1]!==\"/\"&&x1[0]!==\"/\"&&(i1+=\"/\"),x1=i1+x1),ux){var K1=J0(ux);if(!K1)throw new Error(\"sourceMapURL could not be parsed\");if(K1.path){var ee=K1.path.lastIndexOf(\"/\");ee>=0&&(K1.path=K1.path.substring(0,ee+1))}x1=r1(e1(K1),x1)}return t1(x1)}},2447:(K,s0,Y)=>{s0.SourceMapGenerator=Y(2400).SourceMapGenerator,s0.SourceMapConsumer=Y(8985).SourceMapConsumer,s0.SourceNode=Y(6270).SourceNode},6549:(K,s0,Y)=>{const F0=Y(9992),J0=Y(8528),e1=Y(541),t1=r1=>{if(typeof r1!=\"string\"||r1.length===0||(r1=F0(r1)).length===0)return 0;r1=r1.replace(e1(),\"  \");let F1=0;for(let a1=0;a1<r1.length;a1++){const D1=r1.codePointAt(a1);D1<=31||D1>=127&&D1<=159||D1>=768&&D1<=879||(D1>65535&&a1++,F1+=J0(D1)?2:1)}return F1};K.exports=t1,K.exports.default=t1},9992:(K,s0,Y)=>{const F0=Y(8947);K.exports=J0=>typeof J0==\"string\"?J0.replace(F0(),\"\"):J0},8947:K=>{K.exports=({onlyFirst:s0=!1}={})=>{const Y=[\"[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:[a-zA-Z\\\\d]*(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)\",\"(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))\"].join(\"|\");return new RegExp(Y,s0?void 0:\"g\")}},3210:(K,s0,Y)=>{Y(4070),K.exports=function(F0,J0,e1){return F0.length===0?F0:J0?(e1||F0.sort(J0),function(t1,r1){for(var F1=1,a1=t1.length,D1=t1[0],W0=t1[0],i1=1;i1<a1;++i1)if(W0=D1,r1(D1=t1[i1],W0)){if(i1===F1){F1++;continue}t1[F1++]=D1}return t1.length=F1,t1}(F0,J0)):(e1||F0.sort(),function(t1){for(var r1=1,F1=t1.length,a1=t1[0],D1=t1[0],W0=1;W0<F1;++W0,D1=a1)if(D1=a1,(a1=t1[W0])!==D1){if(W0===r1){r1++;continue}t1[r1++]=a1}return t1.length=r1,t1}(F0))}},7933:K=>{K.exports={guessEndOfLine:function(s0){const Y=s0.indexOf(\"\\r\");return Y>=0?s0.charAt(Y+1)===`\n`?\"crlf\":\"cr\":\"lf\"},convertEndOfLineToChars:function(s0){switch(s0){case\"cr\":return\"\\r\";case\"crlf\":return`\\r\n`;default:return`\n`}},countEndOfLineChars:function(s0,Y){let F0;if(Y===`\n`)F0=/\\n/g;else if(Y===\"\\r\")F0=/\\r/g;else{if(Y!==`\\r\n`)throw new Error(`Unexpected \"eol\" ${JSON.stringify(Y)}.`);F0=/\\r\\n/g}const J0=s0.match(F0);return J0?J0.length:0},normalizeEndOfLine:function(s0){return s0.replace(/\\r\\n?/g,`\n`)}}},47:K=>{K.exports=function(s0,Y){const F0=new SyntaxError(s0+\" (\"+Y.start.line+\":\"+Y.start.column+\")\");return F0.loc=Y,F0}},9428:(K,s0,Y)=>{const F0=Y(6549),J0=Y(2240),e1=Y(4652),{getSupportInfo:t1}=Y(7290),r1=/[^\\x20-\\x7F]/;function F1(Tr){return(Lr,Pn,En)=>{const cr=En&&En.backwards;if(Pn===!1)return!1;const{length:Ea}=Lr;let Qn=Pn;for(;Qn>=0&&Qn<Ea;){const Bu=Lr.charAt(Qn);if(Tr instanceof RegExp){if(!Tr.test(Bu))return Qn}else if(!Tr.includes(Bu))return Qn;cr?Qn--:Qn++}return(Qn===-1||Qn===Ea)&&Qn}}const a1=F1(/\\s/),D1=F1(\" \t\"),W0=F1(\",; \t\"),i1=F1(/[^\\n\\r]/);function x1(Tr,Lr){if(Lr===!1)return!1;if(Tr.charAt(Lr)===\"/\"&&Tr.charAt(Lr+1)===\"*\"){for(let Pn=Lr+2;Pn<Tr.length;++Pn)if(Tr.charAt(Pn)===\"*\"&&Tr.charAt(Pn+1)===\"/\")return Pn+2}return Lr}function ux(Tr,Lr){return Lr!==!1&&(Tr.charAt(Lr)===\"/\"&&Tr.charAt(Lr+1)===\"/\"?i1(Tr,Lr):Lr)}function K1(Tr,Lr,Pn){const En=Pn&&Pn.backwards;if(Lr===!1)return!1;const cr=Tr.charAt(Lr);if(En){if(Tr.charAt(Lr-1)===\"\\r\"&&cr===`\n`)return Lr-2;if(cr===`\n`||cr===\"\\r\"||cr===\"\\u2028\"||cr===\"\\u2029\")return Lr-1}else{if(cr===\"\\r\"&&Tr.charAt(Lr+1)===`\n`)return Lr+2;if(cr===`\n`||cr===\"\\r\"||cr===\"\\u2028\"||cr===\"\\u2029\")return Lr+1}return Lr}function ee(Tr,Lr,Pn={}){const En=D1(Tr,Pn.backwards?Lr-1:Lr,Pn);return En!==K1(Tr,En,Pn)}function Gx(Tr,Lr){let Pn=null,En=Lr;for(;En!==Pn;)Pn=En,En=W0(Tr,En),En=x1(Tr,En),En=D1(Tr,En);return En=ux(Tr,En),En=K1(Tr,En),En!==!1&&ee(Tr,En)}function ve(Tr,Lr){let Pn=null,En=Lr;for(;En!==Pn;)Pn=En,En=D1(Tr,En),En=x1(Tr,En),En=ux(Tr,En),En=K1(Tr,En);return En}function qe(Tr,Lr,Pn){return ve(Tr,Pn(Lr))}function Jt(Tr,Lr,Pn=0){let En=0;for(let cr=Pn;cr<Tr.length;++cr)Tr[cr]===\"\t\"?En=En+Lr-En%Lr:En++;return En}function Ct(Tr,Lr){const Pn=Tr.slice(1,-1),En={quote:'\"',regex:/\"/g},cr={quote:\"'\",regex:/'/g},Ea=Lr===\"'\"?cr:En,Qn=Ea===cr?En:cr;let Bu=Ea.quote;return(Pn.includes(Ea.quote)||Pn.includes(Qn.quote))&&(Bu=(Pn.match(Ea.regex)||[]).length>(Pn.match(Qn.regex)||[]).length?Qn.quote:Ea.quote),Bu}function vn(Tr,Lr,Pn){const En=Lr==='\"'?\"'\":'\"',cr=Tr.replace(/\\\\(.)|([\"'])/gs,(Ea,Qn,Bu)=>Qn===En?Qn:Bu===Lr?\"\\\\\"+Bu:Bu||(Pn&&/^[^\\n\\r\"'0-7\\\\bfnrt-vx\\u2028\\u2029]$/.test(Qn)?Qn:\"\\\\\"+Qn));return Lr+cr+Lr}function _n(Tr,Lr){(Tr.comments||(Tr.comments=[])).push(Lr),Lr.printed=!1,Lr.nodeDescription=function(Pn){const En=Pn.type||Pn.kind||\"(unknown type)\";let cr=String(Pn.name||Pn.id&&(typeof Pn.id==\"object\"?Pn.id.name:Pn.id)||Pn.key&&(typeof Pn.key==\"object\"?Pn.key.name:Pn.key)||Pn.value&&(typeof Pn.value==\"object\"?\"\":String(Pn.value))||Pn.operator||\"\");return cr.length>20&&(cr=cr.slice(0,19)+\"\\u2026\"),En+(cr?\" \"+cr:\"\")}(Tr)}K.exports={inferParserByLanguage:function(Tr,Lr){const{languages:Pn}=t1({plugins:Lr.plugins}),En=Pn.find(({name:cr})=>cr.toLowerCase()===Tr)||Pn.find(({aliases:cr})=>Array.isArray(cr)&&cr.includes(Tr))||Pn.find(({extensions:cr})=>Array.isArray(cr)&&cr.includes(`.${Tr}`));return En&&En.parsers[0]},getStringWidth:function(Tr){return Tr?r1.test(Tr)?F0(Tr):Tr.length:0},getMaxContinuousCount:function(Tr,Lr){const Pn=Tr.match(new RegExp(`(${J0(Lr)})+`,\"g\"));return Pn===null?0:Pn.reduce((En,cr)=>Math.max(En,cr.length/Lr.length),0)},getMinNotPresentContinuousCount:function(Tr,Lr){const Pn=Tr.match(new RegExp(`(${J0(Lr)})+`,\"g\"));if(Pn===null)return 0;const En=new Map;let cr=0;for(const Ea of Pn){const Qn=Ea.length/Lr.length;En.set(Qn,!0),Qn>cr&&(cr=Qn)}for(let Ea=1;Ea<cr;Ea++)if(!En.get(Ea))return Ea;return cr+1},getPenultimate:Tr=>Tr[Tr.length-2],getLast:e1,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:ve,getNextNonSpaceNonCommentCharacterIndex:qe,getNextNonSpaceNonCommentCharacter:function(Tr,Lr,Pn){return Tr.charAt(qe(Tr,Lr,Pn))},skip:F1,skipWhitespace:a1,skipSpaces:D1,skipToLineEnd:W0,skipEverythingButNewLine:i1,skipInlineComment:x1,skipTrailingComment:ux,skipNewline:K1,isNextLineEmptyAfterIndex:Gx,isNextLineEmpty:function(Tr,Lr,Pn){return Gx(Tr,Pn(Lr))},isPreviousLineEmpty:function(Tr,Lr,Pn){let En=Pn(Lr)-1;return En=D1(Tr,En,{backwards:!0}),En=K1(Tr,En,{backwards:!0}),En=D1(Tr,En,{backwards:!0}),En!==K1(Tr,En,{backwards:!0})},hasNewline:ee,hasNewlineInRange:function(Tr,Lr,Pn){for(let En=Lr;En<Pn;++En)if(Tr.charAt(En)===`\n`)return!0;return!1},hasSpaces:function(Tr,Lr,Pn={}){return D1(Tr,Pn.backwards?Lr-1:Lr,Pn)!==Lr},getAlignmentSize:Jt,getIndentSize:function(Tr,Lr){const Pn=Tr.lastIndexOf(`\n`);return Pn===-1?0:Jt(Tr.slice(Pn+1).match(/^[\\t ]*/)[0],Lr)},getPreferredQuote:Ct,printString:function(Tr,Lr){return vn(Tr.slice(1,-1),Lr.parser===\"json\"||Lr.parser===\"json5\"&&Lr.quoteProps===\"preserve\"&&!Lr.singleQuote?'\"':Lr.__isInHtmlAttribute?\"'\":Ct(Tr,Lr.singleQuote?\"'\":'\"'),!(Lr.parser===\"css\"||Lr.parser===\"less\"||Lr.parser===\"scss\"||Lr.__embeddedInHtml))},printNumber:function(Tr){return Tr.toLowerCase().replace(/^([+-]?[\\d.]+e)(?:\\+|(-))?0*(\\d)/,\"$1$2$3\").replace(/^([+-]?[\\d.]+)e[+-]?0+$/,\"$1\").replace(/^([+-])?\\./,\"$10.\").replace(/(\\.\\d+?)0+(?=e|$)/,\"$1\").replace(/\\.(?=e|$)/,\"\")},makeString:vn,addLeadingComment:function(Tr,Lr){Lr.leading=!0,Lr.trailing=!1,_n(Tr,Lr)},addDanglingComment:function(Tr,Lr,Pn){Lr.leading=!1,Lr.trailing=!1,Pn&&(Lr.marker=Pn),_n(Tr,Lr)},addTrailingComment:function(Tr,Lr){Lr.leading=!1,Lr.trailing=!0,_n(Tr,Lr)},isFrontMatterNode:function(Tr){return Tr&&Tr.type===\"front-matter\"},getShebang:function(Tr){if(!Tr.startsWith(\"#!\"))return\"\";const Lr=Tr.indexOf(`\n`);return Lr===-1?Tr:Tr.slice(0,Lr)},isNonEmptyArray:function(Tr){return Array.isArray(Tr)&&Tr.length>0},createGroupIdMapper:function(Tr){const Lr=new WeakMap;return function(Pn){return Lr.has(Pn)||Lr.set(Pn,Symbol(Tr)),Lr.get(Pn)}}}},9355:(K,s0,Y)=>{const F0=Y(6920),{getLast:J0,skipEverythingButNewLine:e1}=Y(9428);function t1(D1,W0){return typeof D1.sourceIndex==\"number\"?D1.sourceIndex:D1.source?F0(D1.source.start,W0)-1:null}function r1(D1,W0){if(D1.type===\"css-comment\"&&D1.inline)return e1(W0,D1.source.startOffset);const i1=D1.nodes&&J0(D1.nodes);return i1&&D1.source&&!D1.source.end&&(D1=i1),D1.source&&D1.source.end?F0(D1.source.end,W0):null}function F1(D1,W0,i1){D1.source&&(D1.source.startOffset=t1(D1,i1)+W0,D1.source.endOffset=r1(D1,i1)+W0);for(const x1 in D1){const ux=D1[x1];x1!==\"source\"&&ux&&typeof ux==\"object\"&&F1(ux,W0,i1)}}function a1(D1){let W0=D1.source.startOffset;return typeof D1.prop==\"string\"&&(W0+=D1.prop.length),D1.type===\"css-atrule\"&&typeof D1.name==\"string\"&&(W0+=1+D1.name.length+D1.raws.afterName.match(/^\\s*:?\\s*/)[0].length),D1.type!==\"css-atrule\"&&D1.raws&&typeof D1.raws.between==\"string\"&&(W0+=D1.raws.between.length),W0}K.exports={locStart:function(D1){return D1.source.startOffset},locEnd:function(D1){return D1.source.endOffset},calculateLoc:function D1(W0,i1){W0.source&&(W0.source.startOffset=t1(W0,i1),W0.source.endOffset=r1(W0,i1));for(const x1 in W0){const ux=W0[x1];x1!==\"source\"&&ux&&typeof ux==\"object\"&&(ux.type===\"value-root\"||ux.type===\"value-unknown\"?F1(ux,a1(W0),ux.text||ux.value):D1(ux,i1))}},replaceQuotesInInlineComments:function(D1){let W0,i1=\"initial\",x1=\"initial\",ux=!1;const K1=[];for(let ee=0;ee<D1.length;ee++){const Gx=D1[ee];switch(i1){case\"initial\":if(Gx===\"'\"){i1=\"single-quotes\";continue}if(Gx==='\"'){i1=\"double-quotes\";continue}if((Gx===\"u\"||Gx===\"U\")&&D1.slice(ee,ee+4).toLowerCase()===\"url(\"){i1=\"url\",ee+=3;continue}if(Gx===\"*\"&&D1[ee-1]===\"/\"){i1=\"comment-block\";continue}if(Gx===\"/\"&&D1[ee-1]===\"/\"){i1=\"comment-inline\",W0=ee-1;continue}continue;case\"single-quotes\":if(Gx===\"'\"&&D1[ee-1]!==\"\\\\\"&&(i1=x1,x1=\"initial\"),Gx===`\n`||Gx===\"\\r\")return D1;continue;case\"double-quotes\":if(Gx==='\"'&&D1[ee-1]!==\"\\\\\"&&(i1=x1,x1=\"initial\"),Gx===`\n`||Gx===\"\\r\")return D1;continue;case\"url\":if(Gx===\")\"&&(i1=\"initial\"),Gx===`\n`||Gx===\"\\r\")return D1;if(Gx===\"'\"){i1=\"single-quotes\",x1=\"url\";continue}if(Gx==='\"'){i1=\"double-quotes\",x1=\"url\";continue}continue;case\"comment-block\":Gx===\"/\"&&D1[ee-1]===\"*\"&&(i1=\"initial\");continue;case\"comment-inline\":Gx!=='\"'&&Gx!==\"'\"&&Gx!==\"*\"||(ux=!0),Gx!==`\n`&&Gx!==\"\\r\"||(ux&&K1.push([W0,ee]),i1=\"initial\",ux=!1);continue}}for(const[ee,Gx]of K1)D1=D1.slice(0,ee)+D1.slice(ee,Gx).replace(/[\"'*]/g,\" \")+D1.slice(Gx);return D1}}},738:(K,s0,Y)=>{const F0=Y(47),J0=Y(4652),e1=Y(5115),{hasPragma:t1}=Y(8850),{hasSCSSInterpolation:r1,hasStringOrFunction:F1,isLessParser:a1,isSCSS:D1,isSCSSNestedPropertyNode:W0,isSCSSVariable:i1,stringifyNode:x1}=Y(5244),{locStart:ux,locEnd:K1}=Y(9355),{calculateLoc:ee,replaceQuotesInInlineComments:Gx}=Y(9355),ve=kn=>{for(;kn.parent;)kn=kn.parent;return kn};function qe(kn,pu){const{nodes:mi}=kn;let ma={open:null,close:null,groups:[],type:\"paren_group\"};const ja=[ma],Ua=ma;let aa={groups:[],type:\"comma_group\"};const Os=[aa];for(let gn=0;gn<mi.length;++gn){const et=mi[gn];if(D1(pu.parser,et.value)&&et.type===\"number\"&&et.unit===\"..\"&&J0(et.value)===\".\"&&(et.value=et.value.slice(0,-1),et.unit=\"...\"),et.type===\"func\"&&et.value===\"selector\"&&(et.group.groups=[Lr(ve(kn).text.slice(et.group.open.sourceIndex+1,et.group.close.sourceIndex))]),et.type===\"func\"&&et.value===\"url\"){const Sr=et.group&&et.group.groups||[];let un=[];for(let jn=0;jn<Sr.length;jn++){const ea=Sr[jn];ea.type===\"comma_group\"?un=[...un,...ea.groups]:un.push(ea)}if(r1(un)||!F1(un)&&!i1(un[0])){const jn=x1({groups:et.group.groups});et.group.groups=[jn.trim()]}}if(et.type===\"paren\"&&et.value===\"(\")ma={open:et,close:null,groups:[],type:\"paren_group\"},ja.push(ma),aa={groups:[],type:\"comma_group\"},Os.push(aa);else if(et.type===\"paren\"&&et.value===\")\"){if(aa.groups.length>0&&ma.groups.push(aa),ma.close=et,Os.length===1)throw new Error(\"Unbalanced parenthesis\");Os.pop(),aa=J0(Os),aa.groups.push(ma),ja.pop(),ma=J0(ja)}else et.type===\"comma\"?(ma.groups.push(aa),aa={groups:[],type:\"comma_group\"},Os[Os.length-1]=aa):aa.groups.push(et)}return aa.groups.length>0&&ma.groups.push(aa),Ua}function Jt(kn){return kn.type!==\"paren_group\"||kn.open||kn.close||kn.groups.length!==1?kn.type===\"comma_group\"&&kn.groups.length===1?Jt(kn.groups[0]):kn.type===\"paren_group\"||kn.type===\"comma_group\"?Object.assign(Object.assign({},kn),{},{groups:kn.groups.map(Jt)}):kn:Jt(kn.groups[0])}function Ct(kn,pu,mi){if(kn&&typeof kn==\"object\"){delete kn.parent;for(const ma in kn)Ct(kn[ma],pu,mi),ma===\"type\"&&typeof kn[ma]==\"string\"&&(kn[ma].startsWith(pu)||mi&&mi.test(kn[ma])||(kn[ma]=pu+kn[ma]))}return kn}function vn(kn){if(kn&&typeof kn==\"object\"){delete kn.parent;for(const pu in kn)vn(kn[pu]);Array.isArray(kn)||!kn.value||kn.type||(kn.type=\"unknown\")}return kn}function _n(kn,pu){if(kn&&typeof kn==\"object\"){for(const mi in kn)mi!==\"parent\"&&(_n(kn[mi],pu),mi===\"nodes\"&&(kn.group=Jt(qe(kn,pu)),delete kn[mi]));delete kn.parent}return kn}function Tr(kn,pu){const mi=Y(9962);let ma=null;try{ma=mi(kn,{loose:!0}).parse()}catch{return{type:\"value-unknown\",value:kn}}return ma.text=kn,Ct(_n(ma,pu),\"value-\",/^selector-/)}function Lr(kn){if(/\\/\\/|\\/\\*/.test(kn))return{type:\"selector-unknown\",value:kn.trim()};const pu=Y(1264);let mi=null;try{pu(ma=>{mi=ma}).process(kn)}catch{return{type:\"selector-unknown\",value:kn}}return Ct(mi,\"selector-\")}function Pn(kn){const pu=Y(8322).Z;let mi=null;try{mi=pu(kn)}catch{return{type:\"selector-unknown\",value:kn}}return Ct(vn(mi),\"media-\")}const En=/(\\s*?)(!default).*$/,cr=/(\\s*?)(!global).*$/;function Ea(kn,pu){if(kn&&typeof kn==\"object\"){delete kn.parent;for(const Ua in kn)Ea(kn[Ua],pu);if(!kn.type)return kn;kn.raws||(kn.raws={});let mi=\"\";typeof kn.selector==\"string\"&&(mi=kn.raws.selector?kn.raws.selector.scss?kn.raws.selector.scss:kn.raws.selector.raw:kn.selector,kn.raws.between&&kn.raws.between.trim().length>0&&(mi+=kn.raws.between),kn.raws.selector=mi);let ma=\"\";typeof kn.value==\"string\"&&(ma=kn.raws.value?kn.raws.value.scss?kn.raws.value.scss:kn.raws.value.raw:kn.value,ma=ma.trim(),kn.raws.value=ma);let ja=\"\";if(typeof kn.params==\"string\"&&(ja=kn.raws.params?kn.raws.params.scss?kn.raws.params.scss:kn.raws.params.raw:kn.params,kn.raws.afterName&&kn.raws.afterName.trim().length>0&&(ja=kn.raws.afterName+ja),kn.raws.between&&kn.raws.between.trim().length>0&&(ja+=kn.raws.between),ja=ja.trim(),kn.raws.params=ja),mi.trim().length>0)return mi.startsWith(\"@\")&&mi.endsWith(\":\")?kn:kn.mixin?(kn.selector=Tr(mi,pu),kn):(W0(kn)&&(kn.isSCSSNesterProperty=!0),kn.selector=Lr(mi),kn);if(ma.length>0){const Ua=ma.match(En);Ua&&(ma=ma.slice(0,Ua.index),kn.scssDefault=!0,Ua[0].trim()!==\"!default\"&&(kn.raws.scssDefault=Ua[0]));const aa=ma.match(cr);if(aa&&(ma=ma.slice(0,aa.index),kn.scssGlobal=!0,aa[0].trim()!==\"!global\"&&(kn.raws.scssGlobal=aa[0])),ma.startsWith(\"progid:\"))return{type:\"value-unknown\",value:ma};kn.value=Tr(ma,pu)}if(a1(pu)&&kn.type===\"css-decl\"&&ma.startsWith(\"extend(\")&&(kn.extend||(kn.extend=kn.raws.between===\":\"),kn.extend&&!kn.selector&&(delete kn.value,kn.selector=Lr(ma.slice(\"extend(\".length,-1)))),kn.type===\"css-atrule\"){if(a1(pu)){if(kn.mixin){const Ua=kn.raws.identifier+kn.name+kn.raws.afterName+kn.raws.params;return kn.selector=Lr(Ua),delete kn.params,kn}if(kn.function)return kn}if(pu.parser===\"css\"&&kn.name===\"custom-selector\"){const Ua=kn.params.match(/:--\\S+?\\s+/)[0].trim();return kn.customSelector=Ua,kn.selector=Lr(kn.params.slice(Ua.length).trim()),delete kn.params,kn}if(a1(pu)){if(kn.name.includes(\":\")&&!kn.params){kn.variable=!0;const Ua=kn.name.split(\":\");kn.name=Ua[0],kn.value=Tr(Ua.slice(1).join(\":\"),pu)}if(![\"page\",\"nest\",\"keyframes\"].includes(kn.name)&&kn.params&&kn.params[0]===\":\"&&(kn.variable=!0,kn.value=Tr(kn.params.slice(1),pu),kn.raws.afterName+=\":\"),kn.variable)return delete kn.params,kn}}if(kn.type===\"css-atrule\"&&ja.length>0){const{name:Ua}=kn,aa=kn.name.toLowerCase();return Ua===\"warn\"||Ua===\"error\"?(kn.params={type:\"media-unknown\",value:ja},kn):Ua===\"extend\"||Ua===\"nest\"?(kn.selector=Lr(ja),delete kn.params,kn):Ua===\"at-root\"?(/^\\(\\s*(without|with)\\s*:.+\\)$/s.test(ja)?kn.params=Tr(ja,pu):(kn.selector=Lr(ja),delete kn.params),kn):aa===\"import\"?(kn.import=!0,delete kn.filename,kn.params=Tr(ja,pu),kn):[\"namespace\",\"supports\",\"if\",\"else\",\"for\",\"each\",\"while\",\"debug\",\"mixin\",\"include\",\"function\",\"return\",\"define-mixin\",\"add-mixin\"].includes(Ua)?(ja=ja.replace(/(\\$\\S+?)\\s+?\\.{3}/,\"$1...\"),ja=ja.replace(/^(?!if)(\\S+)\\s+\\(/,\"$1(\"),kn.value=Tr(ja,pu),delete kn.params,kn):[\"media\",\"custom-media\"].includes(aa)?ja.includes(\"#{\")?{type:\"media-unknown\",value:ja}:(kn.params=Pn(ja),kn):(kn.params=ja,kn)}}return kn}function Qn(kn,pu,mi){const ma=e1(pu),{frontMatter:ja}=ma;let Ua;pu=ma.content;try{Ua=kn(pu)}catch(aa){const{name:Os,reason:gn,line:et,column:Sr}=aa;throw typeof et!=\"number\"?aa:F0(`${Os}: ${gn}`,{start:{line:et,column:Sr}})}return Ua=Ea(Ct(Ua,\"css-\"),mi),ee(Ua,pu),ja&&(ja.source={startOffset:0,endOffset:ja.raw.length},Ua.nodes.unshift(ja)),Ua}function Bu(kn,pu,mi){const ma=Y(7371);return Qn(ja=>ma.parse(Gx(ja)),kn,mi)}function Au(kn,pu,mi){const{parse:ma}=Y(304);return Qn(ma,kn,mi)}const Ec={astFormat:\"postcss\",hasPragma:t1,locStart:ux,locEnd:K1};K.exports={parsers:{css:Object.assign(Object.assign({},Ec),{},{parse:function(kn,pu,mi){const ma=D1(mi.parser,kn)?[Au,Bu]:[Bu,Au];let ja;for(const Ua of ma)try{return Ua(kn,pu,mi)}catch(aa){ja=ja||aa}if(ja)throw ja}}),less:Object.assign(Object.assign({},Ec),{},{parse:Bu}),scss:Object.assign(Object.assign({},Ec),{},{parse:Au})}}},8850:(K,s0,Y)=>{const F0=Y(3831),J0=Y(5115);K.exports={hasPragma:function(e1){return F0.hasPragma(J0(e1).content)},insertPragma:function(e1){const{frontMatter:t1,content:r1}=J0(e1);return(t1?t1.raw+`\n\n`:\"\")+F0.insertPragma(r1)}}},5244:(K,s0,Y)=>{const{isNonEmptyArray:F0}=Y(9428),J0=new Set([\"red\",\"green\",\"blue\",\"alpha\",\"a\",\"rgb\",\"hue\",\"h\",\"saturation\",\"s\",\"lightness\",\"l\",\"whiteness\",\"w\",\"blackness\",\"b\",\"tint\",\"shade\",\"blend\",\"blenda\",\"contrast\",\"hsl\",\"hsla\",\"hwb\",\"hwba\"]);function e1(K1,ee){const Gx=Array.isArray(ee)?ee:[ee];let ve,qe=-1;for(;ve=K1.getParentNode(++qe);)if(Gx.includes(ve.type))return qe;return-1}function t1(K1,ee){const Gx=e1(K1,ee);return Gx===-1?null:K1.getParentNode(Gx)}function r1(K1){return K1.type===\"value-operator\"&&K1.value===\"*\"}function F1(K1){return K1.type===\"value-operator\"&&K1.value===\"/\"}function a1(K1){return K1.type===\"value-operator\"&&K1.value===\"+\"}function D1(K1){return K1.type===\"value-operator\"&&K1.value===\"-\"}function W0(K1){return K1.type===\"value-operator\"&&K1.value===\"%\"}function i1(K1){return K1.type===\"value-comma_group\"&&K1.groups&&K1.groups[1]&&K1.groups[1].type===\"value-colon\"}function x1(K1){return K1.type===\"value-paren_group\"&&K1.groups&&K1.groups[0]&&i1(K1.groups[0])}function ux(K1){return K1&&K1.type===\"value-colon\"}K.exports={getAncestorCounter:e1,getAncestorNode:t1,getPropOfDeclNode:function(K1){const ee=t1(K1,\"css-decl\");return ee&&ee.prop&&ee.prop.toLowerCase()},hasSCSSInterpolation:function(K1){if(F0(K1)){for(let ee=K1.length-1;ee>0;ee--)if(K1[ee].type===\"word\"&&K1[ee].value===\"{\"&&K1[ee-1].type===\"word\"&&K1[ee-1].value.endsWith(\"#\"))return!0}return!1},hasStringOrFunction:function(K1){if(F0(K1)){for(let ee=0;ee<K1.length;ee++)if(K1[ee].type===\"string\"||K1[ee].type===\"func\")return!0}return!1},maybeToLowerCase:function(K1){return K1.includes(\"$\")||K1.includes(\"@\")||K1.includes(\"#\")||K1.startsWith(\"%\")||K1.startsWith(\"--\")||K1.startsWith(\":--\")||K1.includes(\"(\")&&K1.includes(\")\")?K1:K1.toLowerCase()},insideValueFunctionNode:function(K1,ee){const Gx=t1(K1,\"value-func\");return Gx&&Gx.value&&Gx.value.toLowerCase()===ee},insideICSSRuleNode:function(K1){const ee=t1(K1,\"css-rule\");return ee&&ee.raws&&ee.raws.selector&&(ee.raws.selector.startsWith(\":import\")||ee.raws.selector.startsWith(\":export\"))},insideAtRuleNode:function(K1,ee){const Gx=Array.isArray(ee)?ee:[ee],ve=t1(K1,\"css-atrule\");return ve&&Gx.includes(ve.name.toLowerCase())},insideURLFunctionInImportAtRuleNode:function(K1){const ee=K1.getValue(),Gx=t1(K1,\"css-atrule\");return Gx&&Gx.name===\"import\"&&ee.groups[0].value===\"url\"&&ee.groups.length===2},isKeyframeAtRuleKeywords:function(K1,ee){const Gx=t1(K1,\"css-atrule\");return Gx&&Gx.name&&Gx.name.toLowerCase().endsWith(\"keyframes\")&&[\"from\",\"to\"].includes(ee.toLowerCase())},isWideKeywords:function(K1){return[\"initial\",\"inherit\",\"unset\",\"revert\"].includes(K1.toLowerCase())},isSCSS:function(K1,ee){return K1===\"less\"||K1===\"scss\"?K1===\"scss\":/(\\w\\s*:\\s*[^:}]+|#){|@import[^\\n]+(?:url|,)/.test(ee)},isSCSSVariable:function(K1){return Boolean(K1&&K1.type===\"word\"&&K1.value.startsWith(\"$\"))},isLastNode:function(K1,ee){const Gx=K1.getParentNode();if(!Gx)return!1;const{nodes:ve}=Gx;return ve&&ve.indexOf(ee)===ve.length-1},isLessParser:function(K1){return K1.parser===\"css\"||K1.parser===\"less\"},isSCSSControlDirectiveNode:function(K1){return K1.type===\"css-atrule\"&&[\"if\",\"else\",\"for\",\"each\",\"while\"].includes(K1.name)},isDetachedRulesetDeclarationNode:function(K1){return!!K1.selector&&(typeof K1.selector==\"string\"&&/^@.+:.*$/.test(K1.selector)||K1.selector.value&&/^@.+:.*$/.test(K1.selector.value))},isRelationalOperatorNode:function(K1){return K1.type===\"value-word\"&&[\"<\",\">\",\"<=\",\">=\"].includes(K1.value)},isEqualityOperatorNode:function(K1){return K1.type===\"value-word\"&&[\"==\",\"!=\"].includes(K1.value)},isMultiplicationNode:r1,isDivisionNode:F1,isAdditionNode:a1,isSubtractionNode:D1,isModuloNode:W0,isMathOperatorNode:function(K1){return r1(K1)||F1(K1)||a1(K1)||D1(K1)||W0(K1)},isEachKeywordNode:function(K1){return K1.type===\"value-word\"&&K1.value===\"in\"},isForKeywordNode:function(K1){return K1.type===\"value-word\"&&[\"from\",\"through\",\"end\"].includes(K1.value)},isURLFunctionNode:function(K1){return K1.type===\"value-func\"&&K1.value.toLowerCase()===\"url\"},isIfElseKeywordNode:function(K1){return K1.type===\"value-word\"&&[\"and\",\"or\",\"not\"].includes(K1.value)},hasComposesNode:function(K1){return K1.value&&K1.value.type===\"value-root\"&&K1.value.group&&K1.value.group.type===\"value-value\"&&K1.prop.toLowerCase()===\"composes\"},hasParensAroundNode:function(K1){return K1.value&&K1.value.group&&K1.value.group.group&&K1.value.group.group.type===\"value-paren_group\"&&K1.value.group.group.open!==null&&K1.value.group.group.close!==null},hasEmptyRawBefore:function(K1){return K1.raws&&K1.raws.before===\"\"},isSCSSNestedPropertyNode:function(K1){return!!K1.selector&&K1.selector.replace(/\\/\\*.*?\\*\\//,\"\").replace(/\\/\\/.*?\\n/,\"\").trim().endsWith(\":\")},isDetachedRulesetCallNode:function(K1){return K1.raws&&K1.raws.params&&/^\\(\\s*\\)$/.test(K1.raws.params)},isTemplatePlaceholderNode:function(K1){return K1.name.startsWith(\"prettier-placeholder\")},isTemplatePropNode:function(K1){return K1.prop.startsWith(\"@prettier-placeholder\")},isPostcssSimpleVarNode:function(K1,ee){return K1.value===\"$$\"&&K1.type===\"value-func\"&&ee&&ee.type===\"value-word\"&&!ee.raws.before},isKeyValuePairNode:i1,isKeyValuePairInParenGroupNode:x1,isKeyInValuePairNode:function(K1,ee){if(!i1(ee))return!1;const{groups:Gx}=ee,ve=Gx.indexOf(K1);return ve!==-1&&ux(Gx[ve+1])},isSCSSMapItemNode:function(K1){const ee=K1.getValue();if(ee.groups.length===0)return!1;const Gx=K1.getParentNode(1);if(!(x1(ee)||Gx&&x1(Gx)))return!1;const ve=t1(K1,\"css-decl\");return!!(ve&&ve.prop&&ve.prop.startsWith(\"$\"))||!!x1(Gx)||Gx.type===\"value-func\"},isInlineValueCommentNode:function(K1){return K1.type===\"value-comment\"&&K1.inline},isHashNode:function(K1){return K1.type===\"value-word\"&&K1.value===\"#\"},isLeftCurlyBraceNode:function(K1){return K1.type===\"value-word\"&&K1.value===\"{\"},isRightCurlyBraceNode:function(K1){return K1.type===\"value-word\"&&K1.value===\"}\"},isWordNode:function(K1){return[\"value-word\",\"value-atword\"].includes(K1.type)},isColonNode:ux,isMediaAndSupportsKeywords:function(K1){return K1.value&&[\"not\",\"and\",\"or\"].includes(K1.value.toLowerCase())},isColorAdjusterFuncNode:function(K1){return K1.type===\"value-func\"&&J0.has(K1.value.toLowerCase())},lastLineHasInlineComment:function(K1){return/\\/\\//.test(K1.split(/[\\n\\r]/).pop())},stringifyNode:function K1(ee){if(ee.groups)return(ee.open&&ee.open.value?ee.open.value:\"\")+ee.groups.reduce((qe,Jt,Ct)=>qe+K1(Jt)+(ee.groups[0].type===\"comma_group\"&&Ct!==ee.groups.length-1?\",\":\"\"),\"\")+(ee.close&&ee.close.value?ee.close.value:\"\");const Gx=ee.raws&&ee.raws.before?ee.raws.before:\"\",ve=ee.raws&&ee.raws.quote?ee.raws.quote:\"\";return Gx+ve+(ee.type===\"atword\"?\"@\":\"\")+(ee.value?ee.value:\"\")+ve+(ee.unit?ee.unit:\"\")+(ee.group?K1(ee.group):\"\")+(ee.raws&&ee.raws.after?ee.raws.after:\"\")},isAtWordPlaceholderNode:function(K1){return K1&&K1.type===\"value-atword\"&&K1.value.startsWith(\"prettier-placeholder-\")}}},3831:(K,s0,Y)=>{const{parseWithComments:F0,strip:J0,extract:e1,print:t1}=Y(9234),{getShebang:r1}=Y(9428),{normalizeEndOfLine:F1}=Y(7933);function a1(D1){const W0=r1(D1);W0&&(D1=D1.slice(W0.length+1));const i1=e1(D1),{pragmas:x1,comments:ux}=F0(i1);return{shebang:W0,text:D1,pragmas:x1,comments:ux}}K.exports={hasPragma:function(D1){const W0=Object.keys(a1(D1).pragmas);return W0.includes(\"prettier\")||W0.includes(\"format\")},insertPragma:function(D1){const{shebang:W0,text:i1,pragmas:x1,comments:ux}=a1(D1),K1=J0(i1),ee=t1({pragmas:Object.assign({format:\"\"},x1),comments:ux.trimStart()});return(W0?`${W0}\n`:\"\")+F1(ee)+(K1.startsWith(`\n`)?`\n`:`\n\n`)+K1}}},8988:(K,s0,Y)=>{const{outdent:F0}=Y(5311),J0=\"Config\",e1=\"Editor\",t1=\"Other\",r1=\"Global\",F1=\"Special\",a1={cursorOffset:{since:\"1.4.0\",category:F1,type:\"int\",default:-1,range:{start:-1,end:Number.POSITIVE_INFINITY,step:1},description:F0`\n      Print (to stderr) where a cursor at the given position would move to after formatting.\n      This option cannot be used with --range-start and --range-end.\n    `,cliCategory:e1},endOfLine:{since:\"1.15.0\",category:r1,type:\"choice\",default:[{since:\"1.15.0\",value:\"auto\"},{since:\"2.0.0\",value:\"lf\"}],description:\"Which end of line characters to apply.\",choices:[{value:\"lf\",description:\"Line Feed only (\\\\n), common on Linux and macOS as well as inside git repos\"},{value:\"crlf\",description:\"Carriage Return + Line Feed characters (\\\\r\\\\n), common on Windows\"},{value:\"cr\",description:\"Carriage Return character only (\\\\r), used very rarely\"},{value:\"auto\",description:F0`\n          Maintain existing\n          (mixed values within one file are normalised by looking at what's used after the first line)\n        `}]},filepath:{since:\"1.4.0\",category:F1,type:\"path\",description:\"Specify the input filepath. This will be used to do parser inference.\",cliName:\"stdin-filepath\",cliCategory:t1,cliDescription:\"Path to the file to pretend that stdin comes from.\"},insertPragma:{since:\"1.8.0\",category:F1,type:\"boolean\",default:!1,description:\"Insert @format pragma into file's first docblock comment.\",cliCategory:t1},parser:{since:\"0.0.10\",category:r1,type:\"choice\",default:[{since:\"0.0.10\",value:\"babylon\"},{since:\"1.13.0\",value:void 0}],description:\"Which parser to use.\",exception:D1=>typeof D1==\"string\"||typeof D1==\"function\",choices:[{value:\"flow\",description:\"Flow\"},{value:\"babel\",since:\"1.16.0\",description:\"JavaScript\"},{value:\"babel-flow\",since:\"1.16.0\",description:\"Flow\"},{value:\"babel-ts\",since:\"2.0.0\",description:\"TypeScript\"},{value:\"typescript\",since:\"1.4.0\",description:\"TypeScript\"},{value:\"espree\",since:\"2.2.0\",description:\"JavaScript\"},{value:\"meriyah\",since:\"2.2.0\",description:\"JavaScript\"},{value:\"css\",since:\"1.7.1\",description:\"CSS\"},{value:\"less\",since:\"1.7.1\",description:\"Less\"},{value:\"scss\",since:\"1.7.1\",description:\"SCSS\"},{value:\"json\",since:\"1.5.0\",description:\"JSON\"},{value:\"json5\",since:\"1.13.0\",description:\"JSON5\"},{value:\"json-stringify\",since:\"1.13.0\",description:\"JSON.stringify\"},{value:\"graphql\",since:\"1.5.0\",description:\"GraphQL\"},{value:\"markdown\",since:\"1.8.0\",description:\"Markdown\"},{value:\"mdx\",since:\"1.15.0\",description:\"MDX\"},{value:\"vue\",since:\"1.10.0\",description:\"Vue\"},{value:\"yaml\",since:\"1.14.0\",description:\"YAML\"},{value:\"glimmer\",since:\"2.3.0\",description:\"Ember / Handlebars\"},{value:\"html\",since:\"1.15.0\",description:\"HTML\"},{value:\"angular\",since:\"1.15.0\",description:\"Angular\"},{value:\"lwc\",since:\"1.17.0\",description:\"Lightning Web Components\"}]},plugins:{since:\"1.10.0\",type:\"path\",array:!0,default:[{value:[]}],category:r1,description:\"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.\",exception:D1=>typeof D1==\"string\"||typeof D1==\"object\",cliName:\"plugin\",cliCategory:J0},pluginSearchDirs:{since:\"1.13.0\",type:\"path\",array:!0,default:[{value:[]}],category:r1,description:F0`\n      Custom directory that contains prettier plugins in node_modules subdirectory.\n      Overrides default behavior when plugins are searched relatively to the location of Prettier.\n      Multiple values are accepted.\n    `,exception:D1=>typeof D1==\"string\"||typeof D1==\"object\",cliName:\"plugin-search-dir\",cliCategory:J0},printWidth:{since:\"0.0.0\",category:r1,type:\"int\",default:80,description:\"The line length where Prettier will try wrap.\",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},rangeEnd:{since:\"1.4.0\",category:F1,type:\"int\",default:Number.POSITIVE_INFINITY,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:F0`\n      Format code ending at a given character offset (exclusive).\n      The range will extend forwards to the end of the selected statement.\n      This option cannot be used with --cursor-offset.\n    `,cliCategory:e1},rangeStart:{since:\"1.4.0\",category:F1,type:\"int\",default:0,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:F0`\n      Format code starting at a given character offset.\n      The range will extend backwards to the start of the first line containing the selected statement.\n      This option cannot be used with --cursor-offset.\n    `,cliCategory:e1},requirePragma:{since:\"1.7.0\",category:F1,type:\"boolean\",default:!1,description:F0`\n      Require either '@prettier' or '@format' to be present in the file's first docblock comment\n      in order for it to be formatted.\n    `,cliCategory:t1},tabWidth:{type:\"int\",category:r1,default:2,description:\"Number of spaces per indentation level.\",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},useTabs:{since:\"1.0.0\",category:r1,type:\"boolean\",default:!1,description:\"Indent with tabs instead of spaces.\"},embeddedLanguageFormatting:{since:\"2.1.0\",category:r1,type:\"choice\",default:[{since:\"2.1.0\",value:\"auto\"}],description:\"Control how Prettier formats quoted code embedded in the file.\",choices:[{value:\"auto\",description:\"Format embedded code if Prettier can automatically identify it.\"},{value:\"off\",description:\"Never automatically format embedded code.\"}]}};K.exports={CATEGORY_CONFIG:J0,CATEGORY_EDITOR:e1,CATEGORY_FORMAT:\"Format\",CATEGORY_OTHER:t1,CATEGORY_OUTPUT:\"Output\",CATEGORY_GLOBAL:r1,CATEGORY_SPECIAL:F1,options:a1}},7290:(K,s0,Y)=>{const F0=[\"cliName\",\"cliCategory\",\"cliDescription\"];function J0(a1,D1){if(a1==null)return{};var W0,i1,x1=function(K1,ee){if(K1==null)return{};var Gx,ve,qe={},Jt=Object.keys(K1);for(ve=0;ve<Jt.length;ve++)Gx=Jt[ve],ee.indexOf(Gx)>=0||(qe[Gx]=K1[Gx]);return qe}(a1,D1);if(Object.getOwnPropertySymbols){var ux=Object.getOwnPropertySymbols(a1);for(i1=0;i1<ux.length;i1++)W0=ux[i1],D1.indexOf(W0)>=0||Object.prototype.propertyIsEnumerable.call(a1,W0)&&(x1[W0]=a1[W0])}return x1}Y(4304),Y(4070),Y(2612);const e1={compare:Y(2828),lt:Y(3725),gte:Y(9195)},t1=Y(9077),r1=Y(306).i8,F1=Y(8988).options;K.exports={getSupportInfo:function({plugins:a1=[],showUnreleased:D1=!1,showDeprecated:W0=!1,showInternal:i1=!1}={}){const x1=r1.split(\"-\",1)[0],ux=a1.flatMap(ve=>ve.languages||[]).filter(ee),K1=t1(Object.assign({},...a1.map(({options:ve})=>ve),F1),\"name\").filter(ve=>ee(ve)&&Gx(ve)).sort((ve,qe)=>ve.name===qe.name?0:ve.name<qe.name?-1:1).map(function(ve){return i1?ve:J0(ve,F0)}).map(ve=>{ve=Object.assign({},ve),Array.isArray(ve.default)&&(ve.default=ve.default.length===1?ve.default[0].value:ve.default.filter(ee).sort((Jt,Ct)=>e1.compare(Ct.since,Jt.since))[0].value),Array.isArray(ve.choices)&&(ve.choices=ve.choices.filter(Jt=>ee(Jt)&&Gx(Jt)),ve.name===\"parser\"&&function(Jt,Ct,vn){const _n=new Set(Jt.choices.map(Tr=>Tr.value));for(const Tr of Ct)if(Tr.parsers){for(const Lr of Tr.parsers)if(!_n.has(Lr)){_n.add(Lr);const Pn=vn.find(cr=>cr.parsers&&cr.parsers[Lr]);let En=Tr.name;Pn&&Pn.name&&(En+=` (plugin: ${Pn.name})`),Jt.choices.push({value:Lr,description:En})}}}(ve,ux,a1));const qe=Object.fromEntries(a1.filter(Jt=>Jt.defaultOptions&&Jt.defaultOptions[ve.name]!==void 0).map(Jt=>[Jt.name,Jt.defaultOptions[ve.name]]));return Object.assign(Object.assign({},ve),{},{pluginDefaults:qe})});return{languages:ux,options:K1};function ee(ve){return D1||!(\"since\"in ve)||ve.since&&e1.gte(x1,ve.since)}function Gx(ve){return W0||!(\"deprecated\"in ve)||ve.deprecated&&e1.lt(x1,ve.deprecated)}}}},9077:K=>{K.exports=(s0,Y)=>Object.entries(s0).map(([F0,J0])=>Object.assign({[Y]:F0},J0))},5115:K=>{const s0=new RegExp(\"^(?<startDelimiter>-{3}|\\\\+{3})(?<language>[^\\\\n]*)\\\\n(?:|(?<value>.*?)\\\\n)(?<endDelimiter>\\\\k<startDelimiter>|\\\\.{3})[^\\\\S\\\\n]*(?:\\\\n|$)\",\"s\");K.exports=function(Y){const F0=Y.match(s0);if(!F0)return{content:Y};const{startDelimiter:J0,language:e1,value:t1=\"\",endDelimiter:r1}=F0.groups;let F1=e1.trim()||\"yaml\";if(J0===\"+++\"&&(F1=\"toml\"),F1!==\"yaml\"&&J0!==r1)return{content:Y};const[a1]=F0;return{frontMatter:{type:\"front-matter\",lang:F1,value:t1,startDelimiter:J0,endDelimiter:r1,raw:a1.replace(/\\n$/,\"\")},content:a1.replace(/[^\\n]/g,\" \")+Y.slice(a1.length)}}},4652:K=>{K.exports=s0=>s0[s0.length-1]},6920:K=>{K.exports=function(s0,Y){let F0=0;for(let J0=0;J0<s0.line-1;++J0)F0=Y.indexOf(`\n`,F0)+1;return F0+s0.column}},306:K=>{K.exports={i8:\"2.3.2\"}},7545:(K,s0,Y)=>{Y.r(s0),Y.d(s0,{existsSync:()=>F0,readFileSync:()=>J0,default:()=>e1});const F0=()=>!1,J0=()=>\"\",e1={existsSync:F0,readFileSync:J0}},9623:(K,s0,Y)=>{Y.r(s0),Y.d(s0,{default:()=>F0});const F0={EOL:`\n`,platform:()=>\"browser\",cpus:()=>[{model:\"Prettier\"}]}},6391:(K,s0,Y)=>{Y.r(s0),Y.d(s0,{default:()=>F0});var F0=Y(5724),J0={};for(const e1 in F0)e1!==\"default\"&&(J0[e1]=()=>F0[e1]);Y.d(s0,J0)},8472:()=>{},2868:()=>{},3248:()=>{},6083:()=>{}},b={};function R(K){var s0=b[K];if(s0!==void 0)return s0.exports;var Y=b[K]={id:K,loaded:!1,exports:{}};return c[K](Y,Y.exports,R),Y.loaded=!0,Y.exports}return R.d=(K,s0)=>{for(var Y in s0)R.o(s0,Y)&&!R.o(K,Y)&&Object.defineProperty(K,Y,{enumerable:!0,get:s0[Y]})},R.g=function(){if(typeof globalThis==\"object\")return globalThis;try{return this||new Function(\"return this\")()}catch{if(typeof window==\"object\")return window}}(),R.hmd=K=>((K=Object.create(K)).children||(K.children=[]),Object.defineProperty(K,\"exports\",{enumerable:!0,set:()=>{throw new Error(\"ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: \"+K.id)}}),K),R.o=(K,s0)=>Object.prototype.hasOwnProperty.call(K,s0),R.r=K=>{typeof Symbol!=\"undefined\"&&Symbol.toStringTag&&Object.defineProperty(K,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(K,\"__esModule\",{value:!0})},R(738)})()})})(HZ);var Yy0={exports:{}};(function(a,u){(function(c,b){a.exports=b()})($F,function(){var c=typeof globalThis!=\"undefined\"?globalThis:typeof window!=\"undefined\"?window:typeof $F!=\"undefined\"?$F:typeof self!=\"undefined\"?self:{};function b(Ux){var ue={exports:{}};return Ux(ue,ue.exports),ue.exports}var R=b(function(Ux,ue){var Xe=`\n`,Ht=function(){function le(hr){this.string=hr;for(var pr=[0],lt=0;lt<hr.length;)switch(hr[lt]){case Xe:lt+=Xe.length,pr.push(lt);break;case\"\\r\":hr[lt+=\"\\r\".length]===Xe&&(lt+=Xe.length),pr.push(lt);break;default:lt++}this.offsets=pr}return le.prototype.locationForIndex=function(hr){if(hr<0||hr>this.string.length)return null;for(var pr=0,lt=this.offsets;lt[pr+1]<=hr;)pr++;return{line:pr,column:hr-lt[pr]}},le.prototype.indexForLocation=function(hr){var pr=hr.line,lt=hr.column;return pr<0||pr>=this.offsets.length||lt<0||lt>this.lengthOfLine(pr)?null:this.offsets[pr]+lt},le.prototype.lengthOfLine=function(hr){var pr=this.offsets[hr];return(hr===this.offsets.length-1?this.string.length:this.offsets[hr+1])-pr},le}();ue.__esModule=!0,ue.default=Ht}),K=function(Ux,ue){const Xe=new SyntaxError(Ux+\" (\"+ue.start.line+\":\"+ue.start.column+\")\");return Xe.loc=ue,Xe},s0={locStart:function(Ux){return Ux.loc.start.offset},locEnd:function(Ux){return Ux.loc.end.offset}},Y=Object.freeze({__proto__:null,DEBUG:!1,CI:!1});const F0=Object.freeze([]);function J0(){return F0}const e1=J0(),t1=J0(),r1=\"%+b:0%\";var F1;const{keys:a1}=Object;let D1=(F1=Object.assign)!==null&&F1!==void 0?F1:function(Ux){for(let ue=1;ue<arguments.length;ue++){let Xe=arguments[ue];if(Xe===null||typeof Xe!=\"object\")continue;let Ht=a1(Xe);for(let le=0;le<Ht.length;le++){let hr=Ht[le];Ux[hr]=Xe[hr]}}return Ux};function W0(Ux){let ue={};ue[Ux]=1;for(let Xe in ue)if(Xe===Ux)return Xe;return Ux}const i1=typeof Proxy==\"function\",x1=typeof Symbol==\"function\"&&typeof Symbol()==\"symbol\";function ux(Ux=\"unreachable\"){return new Error(Ux)}function K1(Ux){return W0(`__${Ux}${Math.floor(Math.random()*Date.now())}__`)}const ee=x1?Symbol:K1;function Gx(Ux){return-536870913&Ux}function ve(Ux){return 536870912|Ux}function qe(Ux){return~Ux}function Jt(Ux){return~Ux}function Ct(Ux){return(Ux|=0)<0?Gx(Ux):qe(Ux)}function vn(Ux){return(Ux|=0)>-536870913?Jt(Ux):ve(Ux)}[1,-1].forEach(Ux=>vn(Ct(Ux)));var _n=typeof WeakSet==\"function\"?WeakSet:class{constructor(){this._map=new WeakMap}add(Ux){return this._map.set(Ux,!0),this}delete(Ux){return this._map.delete(Ux)}has(Ux){return this._map.has(Ux)}};function Tr(Ux){return Ux.nodeType===9}function Lr(Ux,ue){let Xe=!1;if(Ux!==null)if(typeof ue==\"string\")Xe=Pn(Ux,ue);else{if(!Array.isArray(ue))throw ux();Xe=ue.some(Ht=>Pn(Ux,Ht))}if(Xe)return Ux;throw function(Ht,le){return new Error(`cannot cast a ${Ht} into ${le}`)}(`SimpleElement(${Ux})`,ue)}function Pn(Ux,ue){switch(ue){case\"NODE\":return!0;case\"HTML\":return Ux instanceof HTMLElement;case\"SVG\":return Ux instanceof SVGElement;case\"ELEMENT\":return Ux instanceof Element;default:if(ue.toUpperCase()===ue)throw new Error(\"BUG: this code is missing handling for a generic node type\");return Ux instanceof Element&&Ux.tagName.toLowerCase()===ue}}function En(Ux){return Ux.length>0}const cr=console,Ea=console;var Qn=Object.freeze({__proto__:null,LOCAL_LOGGER:cr,LOGGER:Ea,assertNever:function(Ux,ue=\"unexpected unreachable branch\"){throw Ea.log(\"unreachable\",Ux),Ea.log(`${ue} :: ${JSON.stringify(Ux)} (${Ux})`),new Error(\"code reached unreachable\")},assert:function(Ux,ue){if(!Ux)throw new Error(ue||\"assertion failure\")},deprecate:function(Ux){cr.warn(`DEPRECATION: ${Ux}`)},dict:function(){return Object.create(null)},isDict:function(Ux){return Ux!=null},isObject:function(Ux){return typeof Ux==\"function\"||typeof Ux==\"object\"&&Ux!==null},Stack:class{constructor(Ux=[]){this.current=null,this.stack=Ux}get size(){return this.stack.length}push(Ux){this.current=Ux,this.stack.push(Ux)}pop(){let Ux=this.stack.pop(),ue=this.stack.length;return this.current=ue===0?null:this.stack[ue-1],Ux===void 0?null:Ux}nth(Ux){let ue=this.stack.length;return ue<Ux?null:this.stack[ue-Ux]}isEmpty(){return this.stack.length===0}toArray(){return this.stack}},isSerializationFirstNode:function(Ux){return Ux.nodeValue===r1},SERIALIZATION_FIRST_NODE_STRING:r1,assign:D1,fillNulls:function(Ux){let ue=new Array(Ux);for(let Xe=0;Xe<Ux;Xe++)ue[Xe]=null;return ue},values:function(Ux){const ue=[];for(const Xe in Ux)ue.push(Ux[Xe]);return ue},_WeakSet:_n,castToSimple:function(Ux){return Tr(Ux)||function(ue){ue.nodeType}(Ux),Ux},castToBrowser:function(Ux,ue){if(Ux==null)return null;if(typeof document===void 0)throw new Error(\"Attempted to cast to a browser node in a non-browser context\");if(Tr(Ux))return Ux;if(Ux.ownerDocument!==document)throw new Error(\"Attempted to cast to a browser node with a node that was not created from this document\");return Lr(Ux,ue)},checkNode:Lr,intern:W0,buildUntouchableThis:function(Ux){return null},debugToString:void 0,beginTestSteps:void 0,endTestSteps:void 0,logStep:void 0,verifySteps:void 0,EMPTY_ARRAY:F0,emptyArray:J0,EMPTY_STRING_ARRAY:e1,EMPTY_NUMBER_ARRAY:t1,isEmptyArray:function(Ux){return Ux===F0},clearElement:function(Ux){let ue=Ux.firstChild;for(;ue;){let Xe=ue.nextSibling;Ux.removeChild(ue),ue=Xe}},HAS_NATIVE_PROXY:i1,HAS_NATIVE_SYMBOL:x1,keys:function(Ux){return Object.keys(Ux)},unwrap:function(Ux){if(Ux==null)throw new Error(\"Expected value to be present\");return Ux},expect:function(Ux,ue){if(Ux==null)throw new Error(ue);return Ux},unreachable:ux,exhausted:function(Ux){throw new Error(`Exhausted ${Ux}`)},tuple:(...Ux)=>Ux,enumerableSymbol:K1,symbol:ee,strip:function(Ux,...ue){let Xe=\"\";for(let pr=0;pr<Ux.length;pr++)Xe+=`${Ux[pr]}${ue[pr]!==void 0?String(ue[pr]):\"\"}`;let Ht=Xe.split(`\n`);for(;Ht.length&&Ht[0].match(/^\\s*$/);)Ht.shift();for(;Ht.length&&Ht[Ht.length-1].match(/^\\s*$/);)Ht.pop();let le=1/0;for(let pr of Ht){let lt=pr.match(/^\\s*/)[0].length;le=Math.min(le,lt)}let hr=[];for(let pr of Ht)hr.push(pr.slice(le));return hr.join(`\n`)},isHandle:function(Ux){return Ux>=0},isNonPrimitiveHandle:function(Ux){return Ux>3},constants:function(...Ux){return[!1,!0,null,void 0,...Ux]},isSmallInt:function(Ux){return Ux%1==0&&Ux<=536870911&&Ux>=-536870912},encodeNegative:Gx,decodeNegative:ve,encodePositive:qe,decodePositive:Jt,encodeHandle:function(Ux){return Ux},decodeHandle:function(Ux){return Ux},encodeImmediate:Ct,decodeImmediate:vn,unwrapHandle:function(Ux){if(typeof Ux==\"number\")return Ux;{let ue=Ux.errors[0];throw new Error(`Compile Error: ${ue.problem} @ ${ue.span.start}..${ue.span.end}`)}},unwrapTemplate:function(Ux){if(Ux.result===\"error\")throw new Error(`Compile Error: ${Ux.problem} @ ${Ux.span.start}..${Ux.span.end}`);return Ux},extractHandle:function(Ux){return typeof Ux==\"number\"?Ux:Ux.handle},isOkHandle:function(Ux){return typeof Ux==\"number\"},isErrHandle:function(Ux){return typeof Ux==\"number\"},isPresent:En,ifPresent:function(Ux,ue,Xe){return En(Ux)?ue(Ux):Xe()},toPresentOption:function(Ux){return En(Ux)?Ux:null},assertPresent:function(Ux,ue=\"unexpected empty list\"){if(!En(Ux))throw new Error(ue)},mapPresent:function(Ux,ue){if(Ux===null)return null;let Xe=[];for(let Ht of Ux)Xe.push(ue(Ht));return Xe}}),Bu=b(function(Ux,ue){Object.defineProperty(ue,\"__esModule\",{value:!0}),ue.isLocatedWithPositionsArray=function(Wi){return(0,Qn.isPresent)(Wi)&&Wi.every(Qr)},ue.isLocatedWithPositions=Qr,ue.BROKEN_LOCATION=ue.NON_EXISTENT_LOCATION=ue.TEMPORARY_LOCATION=ue.SYNTHETIC=ue.SYNTHETIC_LOCATION=ue.UNKNOWN_POSITION=void 0;const Xe=Object.freeze({line:1,column:0});ue.UNKNOWN_POSITION=Xe;const Ht=Object.freeze({source:\"(synthetic)\",start:Xe,end:Xe});ue.SYNTHETIC_LOCATION=Ht;const le=Ht;ue.SYNTHETIC=le;const hr=Object.freeze({source:\"(temporary)\",start:Xe,end:Xe});ue.TEMPORARY_LOCATION=hr;const pr=Object.freeze({source:\"(nonexistent)\",start:Xe,end:Xe});ue.NON_EXISTENT_LOCATION=pr;const lt=Object.freeze({source:\"(broken)\",start:Xe,end:Xe});function Qr(Wi){return Wi.loc!==void 0}ue.BROKEN_LOCATION=lt}),Au=b(function(Ux,ue){Object.defineProperty(ue,\"__esModule\",{value:!0}),ue.SourceSlice=void 0;class Xe{constructor(le){this.loc=le.loc,this.chars=le.chars}static synthetic(le){let hr=mi.SourceSpan.synthetic(le);return new Xe({loc:hr,chars:le})}static load(le,hr){return new Xe({loc:mi.SourceSpan.load(le,hr[1]),chars:hr[0]})}getString(){return this.chars}serialize(){return[this.chars,this.loc.serialize()]}}ue.SourceSlice=Xe}),Ec=b(function(Ux,ue){Object.defineProperty(ue,\"__esModule\",{value:!0}),ue.match=function(Uo){return Uo(new Io).check()},ue.IsInvisible=ue.MatchAny=void 0;var Xe,Ht,le,hr=function(Uo,sa){if(!sa.has(Uo))throw new TypeError(\"attempted to get private field on non-instance\");return sa.get(Uo)};const pr=\"MATCH_ANY\";ue.MatchAny=pr;const lt=\"IS_INVISIBLE\";ue.IsInvisible=lt;class Qr{constructor(sa){Xe.set(this,void 0),function(fn,Gn,Ti){if(!Gn.has(fn))throw new TypeError(\"attempted to set private field on non-instance\");Gn.set(fn,Ti)}(this,Xe,sa)}first(sa){for(let fn of hr(this,Xe)){let Gn=fn.match(sa);if((0,Qn.isPresent)(Gn))return Gn[0]}return null}}Xe=new WeakMap;class Wi{constructor(){Ht.set(this,new Map)}get(sa,fn){let Gn=hr(this,Ht).get(sa);return Gn||(Gn=fn(),hr(this,Ht).set(sa,Gn),Gn)}add(sa,fn){hr(this,Ht).set(sa,fn)}match(sa){let fn=function(qo){switch(qo){case\"Broken\":case\"InternalsSynthetic\":case\"NonExistent\":return lt;default:return qo}}(sa),Gn=[],Ti=hr(this,Ht).get(fn),Eo=hr(this,Ht).get(pr);return Ti&&Gn.push(Ti),Eo&&Gn.push(Eo),Gn}}Ht=new WeakMap;class Io{constructor(){le.set(this,new Wi)}check(){return(sa,fn)=>this.matchFor(sa.kind,fn.kind)(sa,fn)}matchFor(sa,fn){let Gn=hr(this,le).match(sa);return new Qr(Gn).first(fn)}when(sa,fn,Gn){return hr(this,le).get(sa,()=>new Wi).add(fn,Gn),this}}le=new WeakMap}),kn=b(function(Ux,ue){Object.defineProperty(ue,\"__esModule\",{value:!0}),ue.InvisiblePosition=ue.HbsPosition=ue.CharPosition=ue.SourceOffset=ue.BROKEN=void 0;var Xe,Ht,le=function(sa,fn){if(!fn.has(sa))throw new TypeError(\"attempted to get private field on non-instance\");return fn.get(sa)},hr=function(sa,fn,Gn){if(!fn.has(sa))throw new TypeError(\"attempted to set private field on non-instance\");return fn.set(sa,Gn),Gn};const pr=\"BROKEN\";ue.BROKEN=pr;class lt{constructor(fn){this.data=fn}static forHbsPos(fn,Gn){return new Wi(fn,Gn,null).wrap()}static broken(fn=Bu.UNKNOWN_POSITION){return new Io(\"Broken\",fn).wrap()}get offset(){let fn=this.data.toCharPos();return fn===null?null:fn.offset}eql(fn){return Uo(this.data,fn.data)}until(fn){return(0,pu.span)(this.data,fn.data)}move(fn){let Gn=this.data.toCharPos();if(Gn===null)return lt.broken();{let Ti=Gn.offset+fn;return Gn.source.check(Ti)?new Qr(Gn.source,Ti).wrap():lt.broken()}}collapsed(){return(0,pu.span)(this.data,this.data)}toJSON(){return this.data.toJSON()}}ue.SourceOffset=lt;class Qr{constructor(fn,Gn){this.source=fn,this.charPos=Gn,this.kind=\"CharPosition\",Xe.set(this,null)}toCharPos(){return this}toJSON(){let fn=this.toHbsPos();return fn===null?Bu.UNKNOWN_POSITION:fn.toJSON()}wrap(){return new lt(this)}get offset(){return this.charPos}toHbsPos(){let fn=le(this,Xe);if(fn===null){let Gn=this.source.hbsPosFor(this.charPos);hr(this,Xe,fn=Gn===null?pr:new Wi(this.source,Gn,this.charPos))}return fn===pr?null:fn}}ue.CharPosition=Qr,Xe=new WeakMap;class Wi{constructor(fn,Gn,Ti=null){this.source=fn,this.hbsPos=Gn,this.kind=\"HbsPosition\",Ht.set(this,void 0),hr(this,Ht,Ti===null?null:new Qr(fn,Ti))}toCharPos(){let fn=le(this,Ht);if(fn===null){let Gn=this.source.charPosFor(this.hbsPos);hr(this,Ht,fn=Gn===null?pr:new Qr(this.source,Gn))}return fn===pr?null:fn}toJSON(){return this.hbsPos}wrap(){return new lt(this)}toHbsPos(){return this}}ue.HbsPosition=Wi,Ht=new WeakMap;class Io{constructor(fn,Gn){this.kind=fn,this.pos=Gn}toCharPos(){return null}toJSON(){return this.pos}wrap(){return new lt(this)}get offset(){return null}}ue.InvisiblePosition=Io;const Uo=(0,Ec.match)(sa=>sa.when(\"HbsPosition\",\"HbsPosition\",({hbsPos:fn},{hbsPos:Gn})=>fn.column===Gn.column&&fn.line===Gn.line).when(\"CharPosition\",\"CharPosition\",({charPos:fn},{charPos:Gn})=>fn===Gn).when(\"CharPosition\",\"HbsPosition\",({offset:fn},Gn)=>{var Ti;return fn===((Ti=Gn.toCharPos())===null||Ti===void 0?void 0:Ti.offset)}).when(\"HbsPosition\",\"CharPosition\",(fn,{offset:Gn})=>{var Ti;return((Ti=fn.toCharPos())===null||Ti===void 0?void 0:Ti.offset)===Gn}).when(Ec.MatchAny,Ec.MatchAny,()=>!1))}),pu=b(function(Ux,ue){Object.defineProperty(ue,\"__esModule\",{value:!0}),ue.span=ue.HbsSpan=ue.SourceSpan=void 0;var Xe,Ht,le,hr=function(sa,fn){if(!fn.has(sa))throw new TypeError(\"attempted to get private field on non-instance\");return fn.get(sa)},pr=function(sa,fn,Gn){if(!fn.has(sa))throw new TypeError(\"attempted to set private field on non-instance\");return fn.set(sa,Gn),Gn};class lt{constructor(fn){this.data=fn,this.isInvisible=fn.kind!==\"CharPosition\"&&fn.kind!==\"HbsPosition\"}static get NON_EXISTENT(){return new Io(\"NonExistent\",Bu.NON_EXISTENT_LOCATION).wrap()}static load(fn,Gn){return typeof Gn==\"number\"?lt.forCharPositions(fn,Gn,Gn):typeof Gn==\"string\"?lt.synthetic(Gn):Array.isArray(Gn)?lt.forCharPositions(fn,Gn[0],Gn[1]):Gn===\"NonExistent\"?lt.NON_EXISTENT:Gn===\"Broken\"?lt.broken(Bu.BROKEN_LOCATION):void(0,Qn.assertNever)(Gn)}static forHbsLoc(fn,Gn){let Ti=new kn.HbsPosition(fn,Gn.start),Eo=new kn.HbsPosition(fn,Gn.end);return new Wi(fn,{start:Ti,end:Eo},Gn).wrap()}static forCharPositions(fn,Gn,Ti){let Eo=new kn.CharPosition(fn,Gn),qo=new kn.CharPosition(fn,Ti);return new Qr(fn,{start:Eo,end:qo}).wrap()}static synthetic(fn){return new Io(\"InternalsSynthetic\",Bu.NON_EXISTENT_LOCATION,fn).wrap()}static broken(fn=Bu.BROKEN_LOCATION){return new Io(\"Broken\",fn).wrap()}getStart(){return this.data.getStart().wrap()}getEnd(){return this.data.getEnd().wrap()}get loc(){let fn=this.data.toHbsSpan();return fn===null?Bu.BROKEN_LOCATION:fn.toHbsLoc()}get module(){return this.data.getModule()}get startPosition(){return this.loc.start}get endPosition(){return this.loc.end}toJSON(){return this.loc}withStart(fn){return Uo(fn.data,this.data.getEnd())}withEnd(fn){return Uo(this.data.getStart(),fn.data)}asString(){return this.data.asString()}toSlice(fn){let Gn=this.data.asString();return Y.DEBUG&&fn!==void 0&&Gn!==fn&&console.warn(`unexpectedly found ${JSON.stringify(Gn)} when slicing source, but expected ${JSON.stringify(fn)}`),new Au.SourceSlice({loc:this,chars:fn||Gn})}get start(){return this.loc.start}set start(fn){this.data.locDidUpdate({start:fn})}get end(){return this.loc.end}set end(fn){this.data.locDidUpdate({end:fn})}get source(){return this.module}collapse(fn){switch(fn){case\"start\":return this.getStart().collapsed();case\"end\":return this.getEnd().collapsed()}}extend(fn){return Uo(this.data.getStart(),fn.data.getEnd())}serialize(){return this.data.serialize()}slice({skipStart:fn=0,skipEnd:Gn=0}){return Uo(this.getStart().move(fn).data,this.getEnd().move(-Gn).data)}sliceStartChars({skipStart:fn=0,chars:Gn}){return Uo(this.getStart().move(fn).data,this.getStart().move(fn+Gn).data)}sliceEndChars({skipEnd:fn=0,chars:Gn}){return Uo(this.getEnd().move(fn-Gn).data,this.getStart().move(-fn).data)}}ue.SourceSpan=lt;class Qr{constructor(fn,Gn){this.source=fn,this.charPositions=Gn,this.kind=\"CharPosition\",Xe.set(this,null)}wrap(){return new lt(this)}asString(){return this.source.slice(this.charPositions.start.charPos,this.charPositions.end.charPos)}getModule(){return this.source.module}getStart(){return this.charPositions.start}getEnd(){return this.charPositions.end}locDidUpdate(){}toHbsSpan(){let fn=hr(this,Xe);if(fn===null){let Gn=this.charPositions.start.toHbsPos(),Ti=this.charPositions.end.toHbsPos();fn=pr(this,Xe,Gn===null||Ti===null?kn.BROKEN:new Wi(this.source,{start:Gn,end:Ti}))}return fn===kn.BROKEN?null:fn}serialize(){let{start:{charPos:fn},end:{charPos:Gn}}=this.charPositions;return fn===Gn?fn:[fn,Gn]}toCharPosSpan(){return this}}Xe=new WeakMap;class Wi{constructor(fn,Gn,Ti=null){this.source=fn,this.hbsPositions=Gn,this.kind=\"HbsPosition\",Ht.set(this,null),le.set(this,void 0),pr(this,le,Ti)}serialize(){let fn=this.toCharPosSpan();return fn===null?\"Broken\":fn.wrap().serialize()}wrap(){return new lt(this)}updateProvided(fn,Gn){hr(this,le)&&(hr(this,le)[Gn]=fn),pr(this,Ht,null),pr(this,le,{start:fn,end:fn})}locDidUpdate({start:fn,end:Gn}){fn!==void 0&&(this.updateProvided(fn,\"start\"),this.hbsPositions.start=new kn.HbsPosition(this.source,fn,null)),Gn!==void 0&&(this.updateProvided(Gn,\"end\"),this.hbsPositions.end=new kn.HbsPosition(this.source,Gn,null))}asString(){let fn=this.toCharPosSpan();return fn===null?\"\":fn.asString()}getModule(){return this.source.module}getStart(){return this.hbsPositions.start}getEnd(){return this.hbsPositions.end}toHbsLoc(){return{start:this.hbsPositions.start.hbsPos,end:this.hbsPositions.end.hbsPos}}toHbsSpan(){return this}toCharPosSpan(){let fn=hr(this,Ht);if(fn===null){let Gn=this.hbsPositions.start.toCharPos(),Ti=this.hbsPositions.end.toCharPos();if(!Gn||!Ti)return fn=pr(this,Ht,kn.BROKEN),null;fn=pr(this,Ht,new Qr(this.source,{start:Gn,end:Ti}))}return fn===kn.BROKEN?null:fn}}ue.HbsSpan=Wi,Ht=new WeakMap,le=new WeakMap;class Io{constructor(fn,Gn,Ti=null){this.kind=fn,this.loc=Gn,this.string=Ti}serialize(){switch(this.kind){case\"Broken\":case\"NonExistent\":return this.kind;case\"InternalsSynthetic\":return this.string||\"\"}}wrap(){return new lt(this)}asString(){return this.string||\"\"}locDidUpdate({start:fn,end:Gn}){fn!==void 0&&(this.loc.start=fn),Gn!==void 0&&(this.loc.end=Gn)}getModule(){return\"an unknown module\"}getStart(){return new kn.InvisiblePosition(this.kind,this.loc.start)}getEnd(){return new kn.InvisiblePosition(this.kind,this.loc.end)}toCharPosSpan(){return this}toHbsSpan(){return null}toHbsLoc(){return Bu.BROKEN_LOCATION}}const Uo=(0,Ec.match)(sa=>sa.when(\"HbsPosition\",\"HbsPosition\",(fn,Gn)=>new Wi(fn.source,{start:fn,end:Gn}).wrap()).when(\"CharPosition\",\"CharPosition\",(fn,Gn)=>new Qr(fn.source,{start:fn,end:Gn}).wrap()).when(\"CharPosition\",\"HbsPosition\",(fn,Gn)=>{let Ti=Gn.toCharPos();return Ti===null?new Io(\"Broken\",Bu.BROKEN_LOCATION).wrap():Uo(fn,Ti)}).when(\"HbsPosition\",\"CharPosition\",(fn,Gn)=>{let Ti=fn.toCharPos();return Ti===null?new Io(\"Broken\",Bu.BROKEN_LOCATION).wrap():Uo(Ti,Gn)}).when(Ec.IsInvisible,Ec.MatchAny,fn=>new Io(fn.kind,Bu.BROKEN_LOCATION).wrap()).when(Ec.MatchAny,Ec.IsInvisible,(fn,Gn)=>new Io(Gn.kind,Bu.BROKEN_LOCATION).wrap()));ue.span=Uo}),mi=b(function(Ux,ue){Object.defineProperty(ue,\"__esModule\",{value:!0}),Object.defineProperty(ue,\"SourceSpan\",{enumerable:!0,get:function(){return pu.SourceSpan}}),Object.defineProperty(ue,\"SourceOffset\",{enumerable:!0,get:function(){return kn.SourceOffset}})}),ma=b(function(Ux,ue){Object.defineProperty(ue,\"__esModule\",{value:!0}),ue.Source=void 0,ue.Source=class{constructor(Xe,Ht=\"an unknown module\"){this.source=Xe,this.module=Ht}check(Xe){return Xe>=0&&Xe<=this.source.length}slice(Xe,Ht){return this.source.slice(Xe,Ht)}offsetFor(Xe,Ht){return mi.SourceOffset.forHbsPos(this,{line:Xe,column:Ht})}spanFor({start:Xe,end:Ht}){return mi.SourceSpan.forHbsLoc(this,{start:{line:Xe.line,column:Xe.column},end:{line:Ht.line,column:Ht.column}})}hbsPosFor(Xe){let Ht=0,le=0;if(Xe>this.source.length)return null;for(;;){let hr=this.source.indexOf(`\n`,le);if(Xe<=hr||hr===-1)return{line:Ht+1,column:Xe-le};Ht+=1,le=hr+1}}charPosFor(Xe){let{line:Ht,column:le}=Xe,hr=this.source.length,pr=0,lt=0;for(;;){if(lt>=hr)return hr;let Qr=this.source.indexOf(`\n`,lt);if(Qr===-1&&(Qr=this.source.length),pr===Ht-1)return lt+le>Qr?Qr:(Y.DEBUG&&this.hbsPosFor(lt+le),lt+le);if(Qr===-1)return 0;pr+=1,lt=Qr+1}}}}),ja=b(function(Ux,ue){Object.defineProperty(ue,\"__esModule\",{value:!0}),ue.PathExpressionImplV1=void 0;var Xe,Ht=(Xe=Ua)&&Xe.__esModule?Xe:{default:Xe};ue.PathExpressionImplV1=class{constructor(le,hr,pr,lt){this.original=le,this.loc=lt,this.type=\"PathExpression\",this.this=!1,this.data=!1;let Qr=pr.slice();hr.type===\"ThisHead\"?this.this=!0:hr.type===\"AtHead\"?(this.data=!0,Qr.unshift(hr.name.slice(1))):Qr.unshift(hr.name),this.parts=Qr}get head(){let le;le=this.this?\"this\":this.data?`@${this.parts[0]}`:this.parts[0];let hr=this.loc.collapse(\"start\").sliceStartChars({chars:le.length}).loc;return Ht.default.head(le,hr)}get tail(){return this.this?this.parts:this.parts.slice(1)}}}),Ua=b(function(Ux,ue){let Xe;function Ht(){return Xe||(Xe=new ma.Source(\"\",\"(synthetic)\")),Xe}function le(Ti){switch(Ti.type){case\"AtHead\":return{original:Ti.name,parts:[Ti.name]};case\"ThisHead\":return{original:\"this\",parts:[]};case\"VarHead\":return{original:Ti.name,parts:[Ti.name]}}}function hr(Ti,Eo){let qo,[ci,...os]=Ti.split(\".\");return qo=ci===\"this\"?{type:\"ThisHead\",loc:sa(Eo||null)}:ci[0]===\"@\"?{type:\"AtHead\",name:ci,loc:sa(Eo||null)}:{type:\"VarHead\",name:ci,loc:sa(Eo||null)},{head:qo,tail:os}}function pr(Ti){return{type:\"ThisHead\",loc:sa(Ti||null)}}function lt(Ti,Eo){return{type:\"AtHead\",name:Ti,loc:sa(Eo||null)}}function Qr(Ti,Eo){return{type:\"VarHead\",name:Ti,loc:sa(Eo||null)}}function Wi(Ti,Eo){if(typeof Ti!=\"string\"){if(\"type\"in Ti)return Ti;{let{head:os,tail:$s}=hr(Ti.head,mi.SourceSpan.broken()),{original:Po}=le(os);return new ja.PathExpressionImplV1([Po,...$s].join(\".\"),os,$s,sa(Eo||null))}}let{head:qo,tail:ci}=hr(Ti,mi.SourceSpan.broken());return new ja.PathExpressionImplV1(Ti,qo,ci,sa(Eo||null))}function Io(Ti,Eo,qo){return{type:Ti,value:Eo,original:Eo,loc:sa(qo||null)}}function Uo(Ti,Eo){return{type:\"Hash\",pairs:Ti||[],loc:sa(Eo||null)}}function sa(...Ti){if(Ti.length===1){let Eo=Ti[0];return Eo&&typeof Eo==\"object\"?mi.SourceSpan.forHbsLoc(Ht(),Eo):mi.SourceSpan.forHbsLoc(Ht(),Bu.SYNTHETIC_LOCATION)}{let[Eo,qo,ci,os,$s]=Ti,Po=$s?new ma.Source(\"\",$s):Ht();return mi.SourceSpan.forHbsLoc(Po,{start:{line:Eo,column:qo},end:{line:ci,column:os}})}}Object.defineProperty(ue,\"__esModule\",{value:!0}),ue.default=void 0;var fn={mustache:function(Ti,Eo,qo,ci,os,$s){return typeof Ti==\"string\"&&(Ti=Wi(Ti)),{type:\"MustacheStatement\",path:Ti,params:Eo||[],hash:qo||Uo([]),escaped:!ci,trusting:!!ci,loc:sa(os||null),strip:$s||{open:!1,close:!1}}},block:function(Ti,Eo,qo,ci,os,$s,Po,Dr,Nm){let Og,Bg;return Og=ci.type===\"Template\"?(0,Qn.assign)({},ci,{type:\"Block\"}):ci,Bg=os!=null&&os.type===\"Template\"?(0,Qn.assign)({},os,{type:\"Block\"}):os,{type:\"BlockStatement\",path:Wi(Ti),params:Eo||[],hash:qo||Uo([]),program:Og||null,inverse:Bg||null,loc:sa($s||null),openStrip:Po||{open:!1,close:!1},inverseStrip:Dr||{open:!1,close:!1},closeStrip:Nm||{open:!1,close:!1}}},partial:function(Ti,Eo,qo,ci,os){return{type:\"PartialStatement\",name:Ti,params:Eo||[],hash:qo||Uo([]),indent:ci||\"\",strip:{open:!1,close:!1},loc:sa(os||null)}},comment:function(Ti,Eo){return{type:\"CommentStatement\",value:Ti,loc:sa(Eo||null)}},mustacheComment:function(Ti,Eo){return{type:\"MustacheCommentStatement\",value:Ti,loc:sa(Eo||null)}},element:function(Ti,Eo){let qo,{attrs:ci,blockParams:os,modifiers:$s,comments:Po,children:Dr,loc:Nm}=Eo,Og=!1;return typeof Ti==\"object\"?(Og=Ti.selfClosing,qo=Ti.name):Ti.slice(-1)===\"/\"?(qo=Ti.slice(0,-1),Og=!0):qo=Ti,{type:\"ElementNode\",tag:qo,selfClosing:Og,attributes:ci||[],blockParams:os||[],modifiers:$s||[],comments:Po||[],children:Dr||[],loc:sa(Nm||null)}},elementModifier:function(Ti,Eo,qo,ci){return{type:\"ElementModifierStatement\",path:Wi(Ti),params:Eo||[],hash:qo||Uo([]),loc:sa(ci||null)}},attr:function(Ti,Eo,qo){return{type:\"AttrNode\",name:Ti,value:Eo,loc:sa(qo||null)}},text:function(Ti,Eo){return{type:\"TextNode\",chars:Ti||\"\",loc:sa(Eo||null)}},sexpr:function(Ti,Eo,qo,ci){return{type:\"SubExpression\",path:Wi(Ti),params:Eo||[],hash:qo||Uo([]),loc:sa(ci||null)}},concat:function(Ti,Eo){if(!(0,Qn.isPresent)(Ti))throw new Error(\"b.concat requires at least one part\");return{type:\"ConcatStatement\",parts:Ti||[],loc:sa(Eo||null)}},hash:Uo,pair:function(Ti,Eo,qo){return{type:\"HashPair\",key:Ti,value:Eo,loc:sa(qo||null)}},literal:Io,program:function(Ti,Eo,qo){return{type:\"Template\",body:Ti||[],blockParams:Eo||[],loc:sa(qo||null)}},blockItself:function(Ti,Eo,qo=!1,ci){return{type:\"Block\",body:Ti||[],blockParams:Eo||[],chained:qo,loc:sa(ci||null)}},template:function(Ti,Eo,qo){return{type:\"Template\",body:Ti||[],blockParams:Eo||[],loc:sa(qo||null)}},loc:sa,pos:function(Ti,Eo){return{line:Ti,column:Eo}},path:Wi,fullPath:function(Ti,Eo,qo){let{original:ci,parts:os}=le(Ti),$s=[...ci,...os,...Eo].join(\".\");return new ja.PathExpressionImplV1($s,Ti,Eo,sa(qo||null))},head:function(Ti,Eo){return Ti[0]===\"@\"?lt(Ti,Eo):Ti===\"this\"?pr(Eo):Qr(Ti,Eo)},at:lt,var:Qr,this:pr,blockName:function(Ti,Eo){return{type:\"NamedBlockName\",name:Ti,loc:sa(Eo||null)}},string:Gn(\"StringLiteral\"),boolean:Gn(\"BooleanLiteral\"),number:Gn(\"NumberLiteral\"),undefined:()=>Io(\"UndefinedLiteral\",void 0),null:()=>Io(\"NullLiteral\",null)};function Gn(Ti){return function(Eo,qo){return Io(Ti,Eo,qo)}}ue.default=fn}),aa=Object.defineProperty({},\"__esModule\",{value:!0}),Os=b(function(Ux,ue){Object.defineProperty(ue,\"__esModule\",{value:!0}),Object.keys(aa).forEach(function(Xe){Xe!==\"default\"&&Xe!==\"__esModule\"&&Object.defineProperty(ue,Xe,{enumerable:!0,get:function(){return aa[Xe]}})})}),gn=b(function(Ux,ue){Object.defineProperty(ue,\"__esModule\",{value:!0}),ue.loadResolution=function(pr){if(typeof pr==\"string\")switch(pr){case\"Loose\":return le.fallback();case\"Strict\":return Ht}switch(pr[0]){case\"ambiguous\":switch(pr[1]){case\"Append\":return le.append({invoke:!1});case\"Attr\":return le.attr();case\"Invoke\":return le.append({invoke:!0})}case\"ns\":return le.namespaced(pr[1])}},ue.ARGUMENT_RESOLUTION=ue.LooseModeResolution=ue.STRICT_RESOLUTION=ue.StrictResolution=void 0;class Xe{constructor(){this.isAngleBracket=!1}resolution(){return 31}serialize(){return\"Strict\"}}ue.StrictResolution=Xe;const Ht=new Xe;ue.STRICT_RESOLUTION=Ht;class le{constructor(lt,Qr=!1){this.ambiguity=lt,this.isAngleBracket=Qr}static namespaced(lt,Qr=!1){return new le({namespaces:[lt],fallback:!1},Qr)}static fallback(){return new le({namespaces:[],fallback:!0})}static append({invoke:lt}){return new le({namespaces:[\"Component\",\"Helper\"],fallback:!lt})}static trustingAppend({invoke:lt}){return new le({namespaces:[\"Helper\"],fallback:!lt})}static attr(){return new le({namespaces:[\"Helper\"],fallback:!0})}resolution(){if(this.ambiguity.namespaces.length===0)return 33;if(this.ambiguity.namespaces.length!==1)return this.ambiguity.fallback?34:35;if(this.ambiguity.fallback)return 36;switch(this.ambiguity.namespaces[0]){case\"Helper\":return 37;case\"Modifier\":return 38;case\"Component\":return 39}}serialize(){return this.ambiguity.namespaces.length===0?\"Loose\":this.ambiguity.namespaces.length===1?this.ambiguity.fallback?[\"ambiguous\",\"Attr\"]:[\"ns\",this.ambiguity.namespaces[0]]:this.ambiguity.fallback?[\"ambiguous\",\"Append\"]:[\"ambiguous\",\"Invoke\"]}}ue.LooseModeResolution=le;const hr=le.fallback();ue.ARGUMENT_RESOLUTION=hr}),et=function(Ux){if(Ux!==void 0){const ue=Ux;return{fields:()=>class{constructor(Xe){this.type=ue,this.loc=Xe.loc,Sr(Xe,this)}}}}return{fields:()=>class{constructor(ue){this.loc=ue.loc,Sr(ue,this)}}}};function Sr(Ux,ue){for(let Ht of(Xe=Ux,Object.keys(Xe)))ue[Ht]=Ux[Ht];var Xe}var un=Object.defineProperty({node:et},\"__esModule\",{value:!0}),jn=b(function(Ux,ue){Object.defineProperty(ue,\"__esModule\",{value:!0}),ue.NamedArgument=ue.NamedArguments=ue.PositionalArguments=ue.Args=void 0;class Xe extends(0,un.node)().fields(){static empty(pr){return new Xe({loc:pr,positional:Ht.empty(pr),named:le.empty(pr)})}static named(pr){return new Xe({loc:pr.loc,positional:Ht.empty(pr.loc.collapse(\"end\")),named:pr})}nth(pr){return this.positional.nth(pr)}get(pr){return this.named.get(pr)}isEmpty(){return this.positional.isEmpty()&&this.named.isEmpty()}}ue.Args=Xe;class Ht extends(0,un.node)().fields(){static empty(pr){return new Ht({loc:pr,exprs:[]})}get size(){return this.exprs.length}nth(pr){return this.exprs[pr]||null}isEmpty(){return this.exprs.length===0}}ue.PositionalArguments=Ht;class le extends(0,un.node)().fields(){static empty(pr){return new le({loc:pr,entries:[]})}get size(){return this.entries.length}get(pr){let lt=this.entries.filter(Qr=>Qr.name.chars===pr)[0];return lt?lt.value:null}isEmpty(){return this.entries.length===0}}ue.NamedArguments=le,ue.NamedArgument=class{constructor(hr){this.loc=hr.name.loc.extend(hr.value.loc),this.name=hr.name,this.value=hr.value}}}),ea=b(function(Ux,ue){Object.defineProperty(ue,\"__esModule\",{value:!0}),ue.ElementModifier=ue.ComponentArg=ue.SplatAttr=ue.HtmlAttr=void 0;class Xe extends(0,un.node)(\"HtmlAttr\").fields(){}ue.HtmlAttr=Xe;class Ht extends(0,un.node)(\"SplatAttr\").fields(){}ue.SplatAttr=Ht;class le extends(0,un.node)().fields(){toNamedArgument(){return new jn.NamedArgument({name:this.name,value:this.value})}}ue.ComponentArg=le;class hr extends(0,un.node)(\"ElementModifier\").fields(){}ue.ElementModifier=hr}),wa=Object.defineProperty({},\"__esModule\",{value:!0}),as=b(function(Ux,ue){Object.defineProperty(ue,\"__esModule\",{value:!0}),ue.loc=hr,ue.hasSpan=pr,ue.maybeLoc=function(lt,Qr){return pr(lt)?hr(lt):Qr},ue.SpanList=void 0;var Xe,Ht=function(lt,Qr){if(!Qr.has(lt))throw new TypeError(\"attempted to get private field on non-instance\");return Qr.get(lt)};class le{constructor(Qr=[]){Xe.set(this,void 0),function(Wi,Io,Uo){if(!Io.has(Wi))throw new TypeError(\"attempted to set private field on non-instance\");Io.set(Wi,Uo)}(this,Xe,Qr)}static range(Qr,Wi=mi.SourceSpan.NON_EXISTENT){return new le(Qr.map(hr)).getRangeOffset(Wi)}add(Qr){Ht(this,Xe).push(Qr)}getRangeOffset(Qr){if(Ht(this,Xe).length===0)return Qr;{let Wi=Ht(this,Xe)[0],Io=Ht(this,Xe)[Ht(this,Xe).length-1];return Wi.extend(Io)}}}function hr(lt){if(Array.isArray(lt)){let Qr=lt[0],Wi=lt[lt.length-1];return hr(Qr).extend(hr(Wi))}return lt instanceof mi.SourceSpan?lt:lt.loc}function pr(lt){return!Array.isArray(lt)||lt.length!==0}ue.SpanList=le,Xe=new WeakMap}),zo=b(function(Ux,ue){Object.defineProperty(ue,\"__esModule\",{value:!0}),ue.SimpleElement=ue.InvokeComponent=ue.InvokeBlock=ue.AppendContent=ue.HtmlComment=ue.HtmlText=ue.GlimmerComment=void 0;class Xe extends(0,un.node)(\"GlimmerComment\").fields(){}ue.GlimmerComment=Xe;class Ht extends(0,un.node)(\"HtmlText\").fields(){}ue.HtmlText=Ht;class le extends(0,un.node)(\"HtmlComment\").fields(){}ue.HtmlComment=le;class hr extends(0,un.node)(\"AppendContent\").fields(){get callee(){return this.value.type===\"Call\"?this.value.callee:this.value}get args(){return this.value.type===\"Call\"?this.value.args:jn.Args.empty(this.value.loc.collapse(\"end\"))}}ue.AppendContent=hr;class pr extends(0,un.node)(\"InvokeBlock\").fields(){}ue.InvokeBlock=pr;class lt extends(0,un.node)(\"InvokeComponent\").fields(){get args(){let Io=this.componentArgs.map(Uo=>Uo.toNamedArgument());return jn.Args.named(new jn.NamedArguments({loc:as.SpanList.range(Io,this.callee.loc.collapse(\"end\")),entries:Io}))}}ue.InvokeComponent=lt;class Qr extends(0,un.node)(\"SimpleElement\").fields(){get args(){let Io=this.componentArgs.map(Uo=>Uo.toNamedArgument());return jn.Args.named(new jn.NamedArguments({loc:as.SpanList.range(Io,this.tag.loc.collapse(\"end\")),entries:Io}))}}ue.SimpleElement=Qr}),vo=b(function(Ux,ue){Object.defineProperty(ue,\"__esModule\",{value:!0}),ue.isLiteral=function(lt,Qr){return lt.type===\"Literal\"&&(Qr===void 0||(Qr===\"null\"?lt.value===null:typeof lt.value===Qr))},ue.InterpolateExpression=ue.DeprecatedCallExpression=ue.CallExpression=ue.PathExpression=ue.LiteralExpression=void 0;class Xe extends(0,un.node)(\"Literal\").fields(){toSlice(){return new Au.SourceSlice({loc:this.loc,chars:this.value})}}ue.LiteralExpression=Xe;class Ht extends(0,un.node)(\"Path\").fields(){}ue.PathExpression=Ht;class le extends(0,un.node)(\"Call\").fields(){}ue.CallExpression=le;class hr extends(0,un.node)(\"DeprecatedCall\").fields(){}ue.DeprecatedCallExpression=hr;class pr extends(0,un.node)(\"Interpolate\").fields(){}ue.InterpolateExpression=pr}),vi=b(function(Ux,ue){Object.defineProperty(ue,\"__esModule\",{value:!0}),ue.FreeVarReference=ue.LocalVarReference=ue.ArgReference=ue.ThisReference=void 0;class Xe extends(0,un.node)(\"This\").fields(){}ue.ThisReference=Xe;class Ht extends(0,un.node)(\"Arg\").fields(){}ue.ArgReference=Ht;class le extends(0,un.node)(\"Local\").fields(){}ue.LocalVarReference=le;class hr extends(0,un.node)(\"Free\").fields(){}ue.FreeVarReference=hr}),jr=b(function(Ux,ue){Object.defineProperty(ue,\"__esModule\",{value:!0}),ue.NamedBlock=ue.NamedBlocks=ue.Block=ue.Template=void 0;class Xe extends(0,un.node)().fields(){}ue.Template=Xe;class Ht extends(0,un.node)().fields(){}ue.Block=Ht;class le extends(0,un.node)().fields(){get(lt){return this.blocks.filter(Qr=>Qr.name.chars===lt)[0]||null}}ue.NamedBlocks=le;class hr extends(0,un.node)().fields(){get args(){let lt=this.componentArgs.map(Qr=>Qr.toNamedArgument());return jn.Args.named(new jn.NamedArguments({loc:as.SpanList.range(lt,this.name.loc.collapse(\"end\")),entries:lt}))}}ue.NamedBlock=hr}),Hn=b(function(Ux,ue){Object.defineProperty(ue,\"__esModule\",{value:!0}),Object.keys(gn).forEach(function(Xe){Xe!==\"default\"&&Xe!==\"__esModule\"&&Object.defineProperty(ue,Xe,{enumerable:!0,get:function(){return gn[Xe]}})}),Object.keys(un).forEach(function(Xe){Xe!==\"default\"&&Xe!==\"__esModule\"&&Object.defineProperty(ue,Xe,{enumerable:!0,get:function(){return un[Xe]}})}),Object.keys(jn).forEach(function(Xe){Xe!==\"default\"&&Xe!==\"__esModule\"&&Object.defineProperty(ue,Xe,{enumerable:!0,get:function(){return jn[Xe]}})}),Object.keys(ea).forEach(function(Xe){Xe!==\"default\"&&Xe!==\"__esModule\"&&Object.defineProperty(ue,Xe,{enumerable:!0,get:function(){return ea[Xe]}})}),Object.keys(wa).forEach(function(Xe){Xe!==\"default\"&&Xe!==\"__esModule\"&&Object.defineProperty(ue,Xe,{enumerable:!0,get:function(){return wa[Xe]}})}),Object.keys(zo).forEach(function(Xe){Xe!==\"default\"&&Xe!==\"__esModule\"&&Object.defineProperty(ue,Xe,{enumerable:!0,get:function(){return zo[Xe]}})}),Object.keys(vo).forEach(function(Xe){Xe!==\"default\"&&Xe!==\"__esModule\"&&Object.defineProperty(ue,Xe,{enumerable:!0,get:function(){return vo[Xe]}})}),Object.keys(vi).forEach(function(Xe){Xe!==\"default\"&&Xe!==\"__esModule\"&&Object.defineProperty(ue,Xe,{enumerable:!0,get:function(){return vi[Xe]}})}),Object.keys(jr).forEach(function(Xe){Xe!==\"default\"&&Xe!==\"__esModule\"&&Object.defineProperty(ue,Xe,{enumerable:!0,get:function(){return jr[Xe]}})})}),wi=function(Ux){return Ux&&Ux.Math==Math&&Ux},jo=wi(typeof globalThis==\"object\"&&globalThis)||wi(typeof window==\"object\"&&window)||wi(typeof self==\"object\"&&self)||wi(typeof c==\"object\"&&c)||function(){return this}()||Function(\"return this\")(),bs=function(Ux){try{return!!Ux()}catch{return!0}},Ha=!bs(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7}),qn={}.propertyIsEnumerable,Ki=Object.getOwnPropertyDescriptor,es={f:Ki&&!qn.call({1:2},1)?function(Ux){var ue=Ki(this,Ux);return!!ue&&ue.enumerable}:qn},Ns=function(Ux,ue){return{enumerable:!(1&Ux),configurable:!(2&Ux),writable:!(4&Ux),value:ue}},ju={}.toString,Tc=\"\".split,bu=bs(function(){return!Object(\"z\").propertyIsEnumerable(0)})?function(Ux){return function(ue){return ju.call(ue).slice(8,-1)}(Ux)==\"String\"?Tc.call(Ux,\"\"):Object(Ux)}:Object,mc=function(Ux){if(Ux==null)throw TypeError(\"Can't call method on \"+Ux);return Ux},vc=function(Ux){return bu(mc(Ux))},Lc=function(Ux){return typeof Ux==\"object\"?Ux!==null:typeof Ux==\"function\"},i2=function(Ux,ue){if(!Lc(Ux))return Ux;var Xe,Ht;if(ue&&typeof(Xe=Ux.toString)==\"function\"&&!Lc(Ht=Xe.call(Ux))||typeof(Xe=Ux.valueOf)==\"function\"&&!Lc(Ht=Xe.call(Ux))||!ue&&typeof(Xe=Ux.toString)==\"function\"&&!Lc(Ht=Xe.call(Ux)))return Ht;throw TypeError(\"Can't convert object to primitive value\")},su=function(Ux){return Object(mc(Ux))},T2={}.hasOwnProperty,Cu=Object.hasOwn||function(Ux,ue){return T2.call(su(Ux),ue)},mr=jo.document,Dn=Lc(mr)&&Lc(mr.createElement),ki=!Ha&&!bs(function(){return Object.defineProperty((Ux=\"div\",Dn?mr.createElement(Ux):{}),\"a\",{get:function(){return 7}}).a!=7;var Ux}),us=Object.getOwnPropertyDescriptor,ac={f:Ha?us:function(Ux,ue){if(Ux=vc(Ux),ue=i2(ue,!0),ki)try{return us(Ux,ue)}catch{}if(Cu(Ux,ue))return Ns(!es.f.call(Ux,ue),Ux[ue])}},_s=function(Ux){if(!Lc(Ux))throw TypeError(String(Ux)+\" is not an object\");return Ux},cf=Object.defineProperty,Df={f:Ha?cf:function(Ux,ue,Xe){if(_s(Ux),ue=i2(ue,!0),_s(Xe),ki)try{return cf(Ux,ue,Xe)}catch{}if(\"get\"in Xe||\"set\"in Xe)throw TypeError(\"Accessors not supported\");return\"value\"in Xe&&(Ux[ue]=Xe.value),Ux}},gp=Ha?function(Ux,ue,Xe){return Df.f(Ux,ue,Ns(1,Xe))}:function(Ux,ue,Xe){return Ux[ue]=Xe,Ux},_2=function(Ux,ue){try{gp(jo,Ux,ue)}catch{jo[Ux]=ue}return ue},c_=\"__core-js_shared__\",pC=jo[c_]||_2(c_,{}),c8=Function.toString;typeof pC.inspectSource!=\"function\"&&(pC.inspectSource=function(Ux){return c8.call(Ux)});var VE,S8,c4,BS,ES=pC.inspectSource,fS=jo.WeakMap,DF=typeof fS==\"function\"&&/native code/.test(ES(fS)),D8=b(function(Ux){(Ux.exports=function(ue,Xe){return pC[ue]||(pC[ue]=Xe!==void 0?Xe:{})})(\"versions\",[]).push({version:\"3.14.0\",mode:\"global\",copyright:\"\\xA9 2021 Denis Pushkarev (zloirock.ru)\"})}),v8=0,pS=Math.random(),l4=D8(\"keys\"),KF={},f4=\"Object already initialized\",$E=jo.WeakMap;if(DF||pC.state){var t6=pC.state||(pC.state=new $E),vF=t6.get,fF=t6.has,tS=t6.set;VE=function(Ux,ue){if(fF.call(t6,Ux))throw new TypeError(f4);return ue.facade=Ux,tS.call(t6,Ux,ue),ue},S8=function(Ux){return vF.call(t6,Ux)||{}},c4=function(Ux){return fF.call(t6,Ux)}}else{var z6=l4[BS=\"state\"]||(l4[BS]=function(Ux){return\"Symbol(\"+String(Ux===void 0?\"\":Ux)+\")_\"+(++v8+pS).toString(36)}(BS));KF[z6]=!0,VE=function(Ux,ue){if(Cu(Ux,z6))throw new TypeError(f4);return ue.facade=Ux,gp(Ux,z6,ue),ue},S8=function(Ux){return Cu(Ux,z6)?Ux[z6]:{}},c4=function(Ux){return Cu(Ux,z6)}}var LS,B8,MS={set:VE,get:S8,has:c4,enforce:function(Ux){return c4(Ux)?S8(Ux):VE(Ux,{})},getterFor:function(Ux){return function(ue){var Xe;if(!Lc(ue)||(Xe=S8(ue)).type!==Ux)throw TypeError(\"Incompatible receiver, \"+Ux+\" required\");return Xe}}},rT=b(function(Ux){var ue=MS.get,Xe=MS.enforce,Ht=String(String).split(\"String\");(Ux.exports=function(le,hr,pr,lt){var Qr,Wi=!!lt&&!!lt.unsafe,Io=!!lt&&!!lt.enumerable,Uo=!!lt&&!!lt.noTargetGet;typeof pr==\"function\"&&(typeof hr!=\"string\"||Cu(pr,\"name\")||gp(pr,\"name\",hr),(Qr=Xe(pr)).source||(Qr.source=Ht.join(typeof hr==\"string\"?hr:\"\"))),le!==jo?(Wi?!Uo&&le[hr]&&(Io=!0):delete le[hr],Io?le[hr]=pr:gp(le,hr,pr)):Io?le[hr]=pr:_2(hr,pr)})(Function.prototype,\"toString\",function(){return typeof this==\"function\"&&ue(this).source||ES(this)})}),bF=jo,nT=function(Ux){return typeof Ux==\"function\"?Ux:void 0},RT=function(Ux,ue){return arguments.length<2?nT(bF[Ux])||nT(jo[Ux]):bF[Ux]&&bF[Ux][ue]||jo[Ux]&&jo[Ux][ue]},UA=Math.ceil,_5=Math.floor,VA=function(Ux){return isNaN(Ux=+Ux)?0:(Ux>0?_5:UA)(Ux)},ST=Math.min,ZT=function(Ux){return Ux>0?ST(VA(Ux),9007199254740991):0},Kw=Math.max,y5=Math.min,P4=function(Ux){return function(ue,Xe,Ht){var le,hr=vc(ue),pr=ZT(hr.length),lt=function(Qr,Wi){var Io=VA(Qr);return Io<0?Kw(Io+Wi,0):y5(Io,Wi)}(Ht,pr);if(Ux&&Xe!=Xe){for(;pr>lt;)if((le=hr[lt++])!=le)return!0}else for(;pr>lt;lt++)if((Ux||lt in hr)&&hr[lt]===Xe)return Ux||lt||0;return!Ux&&-1}},fA={includes:P4(!0),indexOf:P4(!1)}.indexOf,H8=[\"constructor\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"toLocaleString\",\"toString\",\"valueOf\"].concat(\"length\",\"prototype\"),pA={f:Object.getOwnPropertyNames||function(Ux){return function(ue,Xe){var Ht,le=vc(ue),hr=0,pr=[];for(Ht in le)!Cu(KF,Ht)&&Cu(le,Ht)&&pr.push(Ht);for(;Xe.length>hr;)Cu(le,Ht=Xe[hr++])&&(~fA(pr,Ht)||pr.push(Ht));return pr}(Ux,H8)}},qS={f:Object.getOwnPropertySymbols},W6=RT(\"Reflect\",\"ownKeys\")||function(Ux){var ue=pA.f(_s(Ux)),Xe=qS.f;return Xe?ue.concat(Xe(Ux)):ue},D5=function(Ux,ue){for(var Xe=W6(ue),Ht=Df.f,le=ac.f,hr=0;hr<Xe.length;hr++){var pr=Xe[hr];Cu(Ux,pr)||Ht(Ux,pr,le(ue,pr))}},$A=/#|\\.prototype\\./,J4=function(Ux,ue){var Xe=CF[dA(Ux)];return Xe==mA||Xe!=FT&&(typeof ue==\"function\"?bs(ue):!!ue)},dA=J4.normalize=function(Ux){return String(Ux).replace($A,\".\").toLowerCase()},CF=J4.data={},FT=J4.NATIVE=\"N\",mA=J4.POLYFILL=\"P\",v5=J4,KA=ac.f,vw=Math.floor,p4=function(Ux,ue){var Xe=Ux.length,Ht=vw(Xe/2);return Xe<8?x5(Ux,ue):e5(p4(Ux.slice(0,Ht),ue),p4(Ux.slice(Ht),ue),ue)},x5=function(Ux,ue){for(var Xe,Ht,le=Ux.length,hr=1;hr<le;){for(Ht=hr,Xe=Ux[hr];Ht&&ue(Ux[Ht-1],Xe)>0;)Ux[Ht]=Ux[--Ht];Ht!==hr++&&(Ux[Ht]=Xe)}return Ux},e5=function(Ux,ue,Xe){for(var Ht=Ux.length,le=ue.length,hr=0,pr=0,lt=[];hr<Ht||pr<le;)hr<Ht&&pr<le?lt.push(Xe(Ux[hr],ue[pr])<=0?Ux[hr++]:ue[pr++]):lt.push(hr<Ht?Ux[hr++]:ue[pr++]);return lt},jT=p4,_6=RT(\"navigator\",\"userAgent\")||\"\",q6=_6.match(/firefox\\/(\\d+)/i),JS=!!q6&&+q6[1],eg=/MSIE|Trident/.test(_6),L8=jo.process,J6=L8&&L8.versions,cm=J6&&J6.v8;cm?B8=(LS=cm.split(\".\"))[0]<4?1:LS[0]+LS[1]:_6&&(!(LS=_6.match(/Edge\\/(\\d+)/))||LS[1]>=74)&&(LS=_6.match(/Chrome\\/(\\d+)/))&&(B8=LS[1]);var l8,S6,Pg=B8&&+B8,Py=_6.match(/AppleWebKit\\/(\\d+)\\./),F6=!!Py&&+Py[1],tg=[],u3=tg.sort,iT=bs(function(){tg.sort(void 0)}),HS=bs(function(){tg.sort(null)}),H6=!!(S6=[].sort)&&bs(function(){S6.call(null,l8||function(){throw 1},1)}),j5=!bs(function(){if(Pg)return Pg<70;if(!(JS&&JS>3)){if(eg)return!0;if(F6)return F6<603;var Ux,ue,Xe,Ht,le=\"\";for(Ux=65;Ux<76;Ux++){switch(ue=String.fromCharCode(Ux),Ux){case 66:case 69:case 70:case 72:Xe=3;break;case 68:case 71:Xe=4;break;default:Xe=2}for(Ht=0;Ht<47;Ht++)tg.push({k:ue+Ht,v:Xe})}for(tg.sort(function(hr,pr){return pr.v-hr.v}),Ht=0;Ht<tg.length;Ht++)ue=tg[Ht].k.charAt(0),le.charAt(le.length-1)!==ue&&(le+=ue);return le!==\"DGBEFHACIJK\"}});(function(Ux,ue){var Xe,Ht,le,hr,pr,lt=Ux.target,Qr=Ux.global,Wi=Ux.stat;if(Xe=Qr?jo:Wi?jo[lt]||_2(lt,{}):(jo[lt]||{}).prototype)for(Ht in ue){if(hr=ue[Ht],le=Ux.noTargetGet?(pr=KA(Xe,Ht))&&pr.value:Xe[Ht],!v5(Qr?Ht:lt+(Wi?\".\":\"#\")+Ht,Ux.forced)&&le!==void 0){if(typeof hr==typeof le)continue;D5(hr,le)}(Ux.sham||le&&le.sham)&&gp(hr,\"sham\",!0),rT(Xe,Ht,hr,Ux)}})({target:\"Array\",proto:!0,forced:iT||!HS||!H6||!j5},{sort:function(Ux){Ux!==void 0&&function(pr){if(typeof pr!=\"function\")throw TypeError(String(pr)+\" is not a function\")}(Ux);var ue=su(this);if(j5)return Ux===void 0?u3.call(ue):u3.call(ue,Ux);var Xe,Ht,le=[],hr=ZT(ue.length);for(Ht=0;Ht<hr;Ht++)Ht in ue&&le.push(ue[Ht]);for(Xe=(le=jT(le,function(pr){return function(lt,Qr){return Qr===void 0?-1:lt===void 0?1:pr!==void 0?+pr(lt,Qr)||0:String(lt)>String(Qr)?1:-1}}(Ux))).length,Ht=0;Ht<Xe;)ue[Ht]=le[Ht++];for(;Ht<hr;)delete ue[Ht++];return ue}});var t5=function(Ux){return d4.test(Ux)?Ux.replace(pF,r5):Ux},bw=function(Ux){return EF.test(Ux)?Ux.replace(A6,m4):Ux},U5=function(Ux,ue){return Ux.loc.isInvisible||ue.loc.isInvisible?0:Ux.loc.startPosition.line<ue.loc.startPosition.line||Ux.loc.startPosition.line===ue.loc.startPosition.line&&Ux.loc.startPosition.column<ue.loc.startPosition.column?-1:Ux.loc.startPosition.line===ue.loc.startPosition.line&&Ux.loc.startPosition.column===ue.loc.startPosition.column?0:1};const d4=/[\\xA0\"&]/,pF=new RegExp(d4.source,\"g\"),EF=/[\\xA0&<>]/,A6=new RegExp(EF.source,\"g\");function r5(Ux){switch(Ux.charCodeAt(0)){case 160:return\"&nbsp;\";case 34:return\"&quot;\";case 38:return\"&amp;\";default:return Ux}}function m4(Ux){switch(Ux.charCodeAt(0)){case 160:return\"&nbsp;\";case 38:return\"&amp;\";case 60:return\"&lt;\";case 62:return\"&gt;\";default:return Ux}}var Lu=Object.defineProperty({escapeAttrValue:t5,escapeText:bw,sortByLoc:U5},\"__esModule\",{value:!0}),Ig=b(function(Ux,ue){Object.defineProperty(ue,\"__esModule\",{value:!0}),ue.default=ue.voidMap=void 0;const Xe=Object.create(null);ue.voidMap=Xe,\"area base br col command embed hr img input keygen link meta param source track wbr\".split(\" \").forEach(le=>{Xe[le]=!0});const Ht=/\\S/;ue.default=class{constructor(le){this.buffer=\"\",this.options=le}handledByOverride(le,hr=!1){if(this.options.override!==void 0){let pr=this.options.override(le,this.options);if(typeof pr==\"string\")return hr&&pr!==\"\"&&Ht.test(pr[0])&&(pr=` ${pr}`),this.buffer+=pr,!0}return!1}Node(le){switch(le.type){case\"MustacheStatement\":case\"BlockStatement\":case\"PartialStatement\":case\"MustacheCommentStatement\":case\"CommentStatement\":case\"TextNode\":case\"ElementNode\":case\"AttrNode\":case\"Block\":case\"Template\":return this.TopLevelStatement(le);case\"StringLiteral\":case\"BooleanLiteral\":case\"NumberLiteral\":case\"UndefinedLiteral\":case\"NullLiteral\":case\"PathExpression\":case\"SubExpression\":return this.Expression(le);case\"Program\":return this.Block(le);case\"ConcatStatement\":return this.ConcatStatement(le);case\"Hash\":return this.Hash(le);case\"HashPair\":return this.HashPair(le);case\"ElementModifierStatement\":return this.ElementModifierStatement(le)}}Expression(le){switch(le.type){case\"StringLiteral\":case\"BooleanLiteral\":case\"NumberLiteral\":case\"UndefinedLiteral\":case\"NullLiteral\":return this.Literal(le);case\"PathExpression\":return this.PathExpression(le);case\"SubExpression\":return this.SubExpression(le)}}Literal(le){switch(le.type){case\"StringLiteral\":return this.StringLiteral(le);case\"BooleanLiteral\":return this.BooleanLiteral(le);case\"NumberLiteral\":return this.NumberLiteral(le);case\"UndefinedLiteral\":return this.UndefinedLiteral(le);case\"NullLiteral\":return this.NullLiteral(le)}}TopLevelStatement(le){switch(le.type){case\"MustacheStatement\":return this.MustacheStatement(le);case\"BlockStatement\":return this.BlockStatement(le);case\"PartialStatement\":return this.PartialStatement(le);case\"MustacheCommentStatement\":return this.MustacheCommentStatement(le);case\"CommentStatement\":return this.CommentStatement(le);case\"TextNode\":return this.TextNode(le);case\"ElementNode\":return this.ElementNode(le);case\"Block\":case\"Template\":return this.Block(le);case\"AttrNode\":return this.AttrNode(le)}}Block(le){le.chained&&(le.body[0].chained=!0),this.handledByOverride(le)||this.TopLevelStatements(le.body)}TopLevelStatements(le){le.forEach(hr=>this.TopLevelStatement(hr))}ElementNode(le){this.handledByOverride(le)||(this.OpenElementNode(le),this.TopLevelStatements(le.children),this.CloseElementNode(le))}OpenElementNode(le){this.buffer+=`<${le.tag}`;const hr=[...le.attributes,...le.modifiers,...le.comments].sort(Lu.sortByLoc);for(const pr of hr)switch(this.buffer+=\" \",pr.type){case\"AttrNode\":this.AttrNode(pr);break;case\"ElementModifierStatement\":this.ElementModifierStatement(pr);break;case\"MustacheCommentStatement\":this.MustacheCommentStatement(pr)}le.blockParams.length&&this.BlockParams(le.blockParams),le.selfClosing&&(this.buffer+=\" /\"),this.buffer+=\">\"}CloseElementNode(le){le.selfClosing||Xe[le.tag.toLowerCase()]||(this.buffer+=`</${le.tag}>`)}AttrNode(le){if(this.handledByOverride(le))return;let{name:hr,value:pr}=le;this.buffer+=hr,(pr.type!==\"TextNode\"||pr.chars.length>0)&&(this.buffer+=\"=\",this.AttrNodeValue(pr))}AttrNodeValue(le){le.type===\"TextNode\"?(this.buffer+='\"',this.TextNode(le,!0),this.buffer+='\"'):this.Node(le)}TextNode(le,hr){this.handledByOverride(le)||(this.options.entityEncoding===\"raw\"?this.buffer+=le.chars:this.buffer+=hr?(0,Lu.escapeAttrValue)(le.chars):(0,Lu.escapeText)(le.chars))}MustacheStatement(le){this.handledByOverride(le)||(this.buffer+=le.escaped?\"{{\":\"{{{\",le.strip.open&&(this.buffer+=\"~\"),this.Expression(le.path),this.Params(le.params),this.Hash(le.hash),le.strip.close&&(this.buffer+=\"~\"),this.buffer+=le.escaped?\"}}\":\"}}}\")}BlockStatement(le){this.handledByOverride(le)||(le.chained?(this.buffer+=le.inverseStrip.open?\"{{~\":\"{{\",this.buffer+=\"else \"):this.buffer+=le.openStrip.open?\"{{~#\":\"{{#\",this.Expression(le.path),this.Params(le.params),this.Hash(le.hash),le.program.blockParams.length&&this.BlockParams(le.program.blockParams),le.chained?this.buffer+=le.inverseStrip.close?\"~}}\":\"}}\":this.buffer+=le.openStrip.close?\"~}}\":\"}}\",this.Block(le.program),le.inverse&&(le.inverse.chained||(this.buffer+=le.inverseStrip.open?\"{{~\":\"{{\",this.buffer+=\"else\",this.buffer+=le.inverseStrip.close?\"~}}\":\"}}\"),this.Block(le.inverse)),le.chained||(this.buffer+=le.closeStrip.open?\"{{~/\":\"{{/\",this.Expression(le.path),this.buffer+=le.closeStrip.close?\"~}}\":\"}}\"))}BlockParams(le){this.buffer+=` as |${le.join(\" \")}|`}PartialStatement(le){this.handledByOverride(le)||(this.buffer+=\"{{>\",this.Expression(le.name),this.Params(le.params),this.Hash(le.hash),this.buffer+=\"}}\")}ConcatStatement(le){this.handledByOverride(le)||(this.buffer+='\"',le.parts.forEach(hr=>{hr.type===\"TextNode\"?this.TextNode(hr,!0):this.Node(hr)}),this.buffer+='\"')}MustacheCommentStatement(le){this.handledByOverride(le)||(this.buffer+=`{{!--${le.value}--}}`)}ElementModifierStatement(le){this.handledByOverride(le)||(this.buffer+=\"{{\",this.Expression(le.path),this.Params(le.params),this.Hash(le.hash),this.buffer+=\"}}\")}CommentStatement(le){this.handledByOverride(le)||(this.buffer+=`<!--${le.value}-->`)}PathExpression(le){this.handledByOverride(le)||(this.buffer+=le.original)}SubExpression(le){this.handledByOverride(le)||(this.buffer+=\"(\",this.Expression(le.path),this.Params(le.params),this.Hash(le.hash),this.buffer+=\")\")}Params(le){le.length&&le.forEach(hr=>{this.buffer+=\" \",this.Expression(hr)})}Hash(le){this.handledByOverride(le,!0)||le.pairs.forEach(hr=>{this.buffer+=\" \",this.HashPair(hr)})}HashPair(le){this.handledByOverride(le)||(this.buffer+=le.key,this.buffer+=\"=\",this.Node(le.value))}StringLiteral(le){this.handledByOverride(le)||(this.buffer+=JSON.stringify(le.value))}BooleanLiteral(le){this.handledByOverride(le)||(this.buffer+=le.value)}NumberLiteral(le){this.handledByOverride(le)||(this.buffer+=le.value)}UndefinedLiteral(le){this.handledByOverride(le)||(this.buffer+=\"undefined\")}NullLiteral(le){this.handledByOverride(le)||(this.buffer+=\"null\")}print(le){let{options:hr}=this;if(hr.override){let pr=hr.override(le,hr);if(pr!==void 0)return pr}return this.buffer=\"\",this.Node(le),this.buffer}}}),hA=[\"description\",\"fileName\",\"lineNumber\",\"endLineNumber\",\"message\",\"name\",\"number\",\"stack\"];function RS(Ux,ue){var Xe,Ht,le,hr,pr=ue&&ue.loc;pr&&(Xe=pr.start.line,Ht=pr.end.line,le=pr.start.column,hr=pr.end.column,Ux+=\" - \"+Xe+\":\"+le);for(var lt=Error.prototype.constructor.call(this,Ux),Qr=0;Qr<hA.length;Qr++)this[hA[Qr]]=lt[hA[Qr]];Error.captureStackTrace&&Error.captureStackTrace(this,RS);try{pr&&(this.lineNumber=Xe,this.endLineNumber=Ht,Object.defineProperty?(Object.defineProperty(this,\"column\",{value:le,enumerable:!0}),Object.defineProperty(this,\"endColumn\",{value:hr,enumerable:!0})):(this.column=le,this.endColumn=hr))}catch{}}function H4(){this.parents=[]}function I4(Ux){this.acceptRequired(Ux,\"path\"),this.acceptArray(Ux.params),this.acceptKey(Ux,\"hash\")}function GS(Ux){I4.call(this,Ux),this.acceptKey(Ux,\"program\"),this.acceptKey(Ux,\"inverse\")}function SS(Ux){this.acceptRequired(Ux,\"name\"),this.acceptArray(Ux.params),this.acceptKey(Ux,\"hash\")}function rS(Ux){Ux===void 0&&(Ux={}),this.options=Ux}function T6(Ux,ue,Xe){ue===void 0&&(ue=Ux.length);var Ht=Ux[ue-1],le=Ux[ue-2];return Ht?Ht.type===\"ContentStatement\"?(le||!Xe?/\\r?\\n\\s*?$/:/(^|\\r?\\n)\\s*?$/).test(Ht.original):void 0:Xe}function dS(Ux,ue,Xe){ue===void 0&&(ue=-1);var Ht=Ux[ue+1],le=Ux[ue+2];return Ht?Ht.type===\"ContentStatement\"?(le||!Xe?/^\\s*?\\r?\\n/:/^\\s*?(\\r?\\n|$)/).test(Ht.original):void 0:Xe}function w6(Ux,ue,Xe){var Ht=Ux[ue==null?0:ue+1];if(Ht&&Ht.type===\"ContentStatement\"&&(Xe||!Ht.rightStripped)){var le=Ht.value;Ht.value=Ht.value.replace(Xe?/^\\s+/:/^[ \\t]*\\r?\\n?/,\"\"),Ht.rightStripped=Ht.value!==le}}function vb(Ux,ue,Xe){var Ht=Ux[ue==null?Ux.length-1:ue-1];if(Ht&&Ht.type===\"ContentStatement\"&&(Xe||!Ht.leftStripped)){var le=Ht.value;return Ht.value=Ht.value.replace(Xe?/\\s+$/:/[ \\t]+$/,\"\"),Ht.leftStripped=Ht.value!==le,Ht.leftStripped}}RS.prototype=new Error,H4.prototype={constructor:H4,mutating:!1,acceptKey:function(Ux,ue){var Xe=this.accept(Ux[ue]);if(this.mutating){if(Xe&&!H4.prototype[Xe.type])throw new RS('Unexpected node type \"'+Xe.type+'\" found when accepting '+ue+\" on \"+Ux.type);Ux[ue]=Xe}},acceptRequired:function(Ux,ue){if(this.acceptKey(Ux,ue),!Ux[ue])throw new RS(Ux.type+\" requires \"+ue)},acceptArray:function(Ux){for(var ue=0,Xe=Ux.length;ue<Xe;ue++)this.acceptKey(Ux,ue),Ux[ue]||(Ux.splice(ue,1),ue--,Xe--)},accept:function(Ux){if(Ux){if(!this[Ux.type])throw new RS(\"Unknown type: \"+Ux.type,Ux);this.current&&this.parents.unshift(this.current),this.current=Ux;var ue=this[Ux.type](Ux);return this.current=this.parents.shift(),!this.mutating||ue?ue:ue!==!1?Ux:void 0}},Program:function(Ux){this.acceptArray(Ux.body)},MustacheStatement:I4,Decorator:I4,BlockStatement:GS,DecoratorBlock:GS,PartialStatement:SS,PartialBlockStatement:function(Ux){SS.call(this,Ux),this.acceptKey(Ux,\"program\")},ContentStatement:function(){},CommentStatement:function(){},SubExpression:I4,PathExpression:function(){},StringLiteral:function(){},NumberLiteral:function(){},BooleanLiteral:function(){},UndefinedLiteral:function(){},NullLiteral:function(){},Hash:function(Ux){this.acceptArray(Ux.pairs)},HashPair:function(Ux){this.acceptRequired(Ux,\"value\")}},rS.prototype=new H4,rS.prototype.Program=function(Ux){var ue=!this.options.ignoreStandalone,Xe=!this.isRootSeen;this.isRootSeen=!0;for(var Ht=Ux.body,le=0,hr=Ht.length;le<hr;le++){var pr=Ht[le],lt=this.accept(pr);if(lt){var Qr=T6(Ht,le,Xe),Wi=dS(Ht,le,Xe),Io=lt.openStandalone&&Qr,Uo=lt.closeStandalone&&Wi,sa=lt.inlineStandalone&&Qr&&Wi;lt.close&&w6(Ht,le,!0),lt.open&&vb(Ht,le,!0),ue&&sa&&(w6(Ht,le),vb(Ht,le)&&pr.type===\"PartialStatement\"&&(pr.indent=/([ \\t]+$)/.exec(Ht[le-1].original)[1])),ue&&Io&&(w6((pr.program||pr.inverse).body),vb(Ht,le)),ue&&Uo&&(w6(Ht,le),vb((pr.inverse||pr.program).body))}}return Ux},rS.prototype.BlockStatement=rS.prototype.DecoratorBlock=rS.prototype.PartialBlockStatement=function(Ux){this.accept(Ux.program),this.accept(Ux.inverse);var ue=Ux.program||Ux.inverse,Xe=Ux.program&&Ux.inverse,Ht=Xe,le=Xe;if(Xe&&Xe.chained)for(Ht=Xe.body[0].program;le.chained;)le=le.body[le.body.length-1].program;var hr={open:Ux.openStrip.open,close:Ux.closeStrip.close,openStandalone:dS(ue.body),closeStandalone:T6((Ht||ue).body)};if(Ux.openStrip.close&&w6(ue.body,null,!0),Xe){var pr=Ux.inverseStrip;pr.open&&vb(ue.body,null,!0),pr.close&&w6(Ht.body,null,!0),Ux.closeStrip.open&&vb(le.body,null,!0),!this.options.ignoreStandalone&&T6(ue.body)&&dS(Ht.body)&&(vb(ue.body),w6(Ht.body))}else Ux.closeStrip.open&&vb(ue.body,null,!0);return hr},rS.prototype.Decorator=rS.prototype.MustacheStatement=function(Ux){return Ux.strip},rS.prototype.PartialStatement=rS.prototype.CommentStatement=function(Ux){var ue=Ux.strip||{};return{inlineStandalone:!0,open:ue.open,close:ue.close}};var Rh=function(){var Ux=function(io,ss,to,Ma){for(to=to||{},Ma=io.length;Ma--;to[io[Ma]]=ss);return to},ue=[2,44],Xe=[1,20],Ht=[5,14,15,19,29,34,39,44,47,48,52,56,60],le=[1,35],hr=[1,38],pr=[1,30],lt=[1,31],Qr=[1,32],Wi=[1,33],Io=[1,34],Uo=[1,37],sa=[14,15,19,29,34,39,44,47,48,52,56,60],fn=[14,15,19,29,34,44,47,48,52,56,60],Gn=[15,18],Ti=[14,15,19,29,34,47,48,52,56,60],Eo=[33,64,71,79,80,81,82,83,84],qo=[23,33,55,64,67,71,74,79,80,81,82,83,84],ci=[1,51],os=[23,33,55,64,67,71,74,79,80,81,82,83,84,86],$s=[2,43],Po=[55,64,71,79,80,81,82,83,84],Dr=[1,58],Nm=[1,59],Og=[1,66],Bg=[33,64,71,74,79,80,81,82,83,84],_S=[23,64,71,79,80,81,82,83,84],f8=[1,76],Lx=[64,67,71,79,80,81,82,83,84],q1=[33,74],Qx=[23,33,55,67,71,74],Be=[1,106],St=[1,118],_r=[71,76],gi={trace:function(){},yy:{},symbols_:{error:2,root:3,program:4,EOF:5,program_repetition0:6,statement:7,mustache:8,block:9,rawBlock:10,partial:11,partialBlock:12,content:13,COMMENT:14,CONTENT:15,openRawBlock:16,rawBlock_repetition0:17,END_RAW_BLOCK:18,OPEN_RAW_BLOCK:19,helperName:20,openRawBlock_repetition0:21,openRawBlock_option0:22,CLOSE_RAW_BLOCK:23,openBlock:24,block_option0:25,closeBlock:26,openInverse:27,block_option1:28,OPEN_BLOCK:29,openBlock_repetition0:30,openBlock_option0:31,openBlock_option1:32,CLOSE:33,OPEN_INVERSE:34,openInverse_repetition0:35,openInverse_option0:36,openInverse_option1:37,openInverseChain:38,OPEN_INVERSE_CHAIN:39,openInverseChain_repetition0:40,openInverseChain_option0:41,openInverseChain_option1:42,inverseAndProgram:43,INVERSE:44,inverseChain:45,inverseChain_option0:46,OPEN_ENDBLOCK:47,OPEN:48,expr:49,mustache_repetition0:50,mustache_option0:51,OPEN_UNESCAPED:52,mustache_repetition1:53,mustache_option1:54,CLOSE_UNESCAPED:55,OPEN_PARTIAL:56,partial_repetition0:57,partial_option0:58,openPartialBlock:59,OPEN_PARTIAL_BLOCK:60,openPartialBlock_repetition0:61,openPartialBlock_option0:62,sexpr:63,OPEN_SEXPR:64,sexpr_repetition0:65,sexpr_option0:66,CLOSE_SEXPR:67,hash:68,hash_repetition_plus0:69,hashSegment:70,ID:71,EQUALS:72,blockParams:73,OPEN_BLOCK_PARAMS:74,blockParams_repetition_plus0:75,CLOSE_BLOCK_PARAMS:76,path:77,dataName:78,STRING:79,NUMBER:80,BOOLEAN:81,UNDEFINED:82,NULL:83,DATA:84,pathSegments:85,SEP:86,$accept:0,$end:1},terminals_:{2:\"error\",5:\"EOF\",14:\"COMMENT\",15:\"CONTENT\",18:\"END_RAW_BLOCK\",19:\"OPEN_RAW_BLOCK\",23:\"CLOSE_RAW_BLOCK\",29:\"OPEN_BLOCK\",33:\"CLOSE\",34:\"OPEN_INVERSE\",39:\"OPEN_INVERSE_CHAIN\",44:\"INVERSE\",47:\"OPEN_ENDBLOCK\",48:\"OPEN\",52:\"OPEN_UNESCAPED\",55:\"CLOSE_UNESCAPED\",56:\"OPEN_PARTIAL\",60:\"OPEN_PARTIAL_BLOCK\",64:\"OPEN_SEXPR\",67:\"CLOSE_SEXPR\",71:\"ID\",72:\"EQUALS\",74:\"OPEN_BLOCK_PARAMS\",76:\"CLOSE_BLOCK_PARAMS\",79:\"STRING\",80:\"NUMBER\",81:\"BOOLEAN\",82:\"UNDEFINED\",83:\"NULL\",84:\"DATA\",86:\"SEP\"},productions_:[0,[3,2],[4,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[13,1],[10,3],[16,5],[9,4],[9,4],[24,6],[27,6],[38,6],[43,2],[45,3],[45,1],[26,3],[8,5],[8,5],[11,5],[12,3],[59,5],[49,1],[49,1],[63,5],[68,1],[70,3],[73,3],[20,1],[20,1],[20,1],[20,1],[20,1],[20,1],[20,1],[78,2],[77,1],[85,3],[85,1],[6,0],[6,2],[17,0],[17,2],[21,0],[21,2],[22,0],[22,1],[25,0],[25,1],[28,0],[28,1],[30,0],[30,2],[31,0],[31,1],[32,0],[32,1],[35,0],[35,2],[36,0],[36,1],[37,0],[37,1],[40,0],[40,2],[41,0],[41,1],[42,0],[42,1],[46,0],[46,1],[50,0],[50,2],[51,0],[51,1],[53,0],[53,2],[54,0],[54,1],[57,0],[57,2],[58,0],[58,1],[61,0],[61,2],[62,0],[62,1],[65,0],[65,2],[66,0],[66,1],[69,1],[69,2],[75,1],[75,2]],performAction:function(io,ss,to,Ma,Ks,Qa,Wc){var la=Qa.length-1;switch(Ks){case 1:return Qa[la-1];case 2:this.$=Ma.prepareProgram(Qa[la]);break;case 3:case 4:case 5:case 6:case 7:case 8:case 20:case 27:case 28:case 33:case 34:this.$=Qa[la];break;case 9:this.$={type:\"CommentStatement\",value:Ma.stripComment(Qa[la]),strip:Ma.stripFlags(Qa[la],Qa[la]),loc:Ma.locInfo(this._$)};break;case 10:this.$={type:\"ContentStatement\",original:Qa[la],value:Qa[la],loc:Ma.locInfo(this._$)};break;case 11:this.$=Ma.prepareRawBlock(Qa[la-2],Qa[la-1],Qa[la],this._$);break;case 12:this.$={path:Qa[la-3],params:Qa[la-2],hash:Qa[la-1]};break;case 13:this.$=Ma.prepareBlock(Qa[la-3],Qa[la-2],Qa[la-1],Qa[la],!1,this._$);break;case 14:this.$=Ma.prepareBlock(Qa[la-3],Qa[la-2],Qa[la-1],Qa[la],!0,this._$);break;case 15:this.$={open:Qa[la-5],path:Qa[la-4],params:Qa[la-3],hash:Qa[la-2],blockParams:Qa[la-1],strip:Ma.stripFlags(Qa[la-5],Qa[la])};break;case 16:case 17:this.$={path:Qa[la-4],params:Qa[la-3],hash:Qa[la-2],blockParams:Qa[la-1],strip:Ma.stripFlags(Qa[la-5],Qa[la])};break;case 18:this.$={strip:Ma.stripFlags(Qa[la-1],Qa[la-1]),program:Qa[la]};break;case 19:var Af=Ma.prepareBlock(Qa[la-2],Qa[la-1],Qa[la],Qa[la],!1,this._$),so=Ma.prepareProgram([Af],Qa[la-1].loc);so.chained=!0,this.$={strip:Qa[la-2].strip,program:so,chain:!0};break;case 21:this.$={path:Qa[la-1],strip:Ma.stripFlags(Qa[la-2],Qa[la])};break;case 22:case 23:this.$=Ma.prepareMustache(Qa[la-3],Qa[la-2],Qa[la-1],Qa[la-4],Ma.stripFlags(Qa[la-4],Qa[la]),this._$);break;case 24:this.$={type:\"PartialStatement\",name:Qa[la-3],params:Qa[la-2],hash:Qa[la-1],indent:\"\",strip:Ma.stripFlags(Qa[la-4],Qa[la]),loc:Ma.locInfo(this._$)};break;case 25:this.$=Ma.preparePartialBlock(Qa[la-2],Qa[la-1],Qa[la],this._$);break;case 26:this.$={path:Qa[la-3],params:Qa[la-2],hash:Qa[la-1],strip:Ma.stripFlags(Qa[la-4],Qa[la])};break;case 29:this.$={type:\"SubExpression\",path:Qa[la-3],params:Qa[la-2],hash:Qa[la-1],loc:Ma.locInfo(this._$)};break;case 30:this.$={type:\"Hash\",pairs:Qa[la],loc:Ma.locInfo(this._$)};break;case 31:this.$={type:\"HashPair\",key:Ma.id(Qa[la-2]),value:Qa[la],loc:Ma.locInfo(this._$)};break;case 32:this.$=Ma.id(Qa[la-1]);break;case 35:this.$={type:\"StringLiteral\",value:Qa[la],original:Qa[la],loc:Ma.locInfo(this._$)};break;case 36:this.$={type:\"NumberLiteral\",value:Number(Qa[la]),original:Number(Qa[la]),loc:Ma.locInfo(this._$)};break;case 37:this.$={type:\"BooleanLiteral\",value:Qa[la]===\"true\",original:Qa[la]===\"true\",loc:Ma.locInfo(this._$)};break;case 38:this.$={type:\"UndefinedLiteral\",original:void 0,value:void 0,loc:Ma.locInfo(this._$)};break;case 39:this.$={type:\"NullLiteral\",original:null,value:null,loc:Ma.locInfo(this._$)};break;case 40:this.$=Ma.preparePath(!0,Qa[la],this._$);break;case 41:this.$=Ma.preparePath(!1,Qa[la],this._$);break;case 42:Qa[la-2].push({part:Ma.id(Qa[la]),original:Qa[la],separator:Qa[la-1]}),this.$=Qa[la-2];break;case 43:this.$=[{part:Ma.id(Qa[la]),original:Qa[la]}];break;case 44:case 46:case 48:case 56:case 62:case 68:case 76:case 80:case 84:case 88:case 92:this.$=[];break;case 45:case 47:case 49:case 57:case 63:case 69:case 77:case 81:case 85:case 89:case 93:case 97:case 99:Qa[la-1].push(Qa[la]);break;case 96:case 98:this.$=[Qa[la]]}},table:[Ux([5,14,15,19,29,34,48,52,56,60],ue,{3:1,4:2,6:3}),{1:[3]},{5:[1,4]},Ux([5,39,44,47],[2,2],{7:5,8:6,9:7,10:8,11:9,12:10,13:11,24:15,27:16,16:17,59:19,14:[1,12],15:Xe,19:[1,23],29:[1,21],34:[1,22],48:[1,13],52:[1,14],56:[1,18],60:[1,24]}),{1:[2,1]},Ux(Ht,[2,45]),Ux(Ht,[2,3]),Ux(Ht,[2,4]),Ux(Ht,[2,5]),Ux(Ht,[2,6]),Ux(Ht,[2,7]),Ux(Ht,[2,8]),Ux(Ht,[2,9]),{20:26,49:25,63:27,64:le,71:hr,77:28,78:29,79:pr,80:lt,81:Qr,82:Wi,83:Io,84:Uo,85:36},{20:26,49:39,63:27,64:le,71:hr,77:28,78:29,79:pr,80:lt,81:Qr,82:Wi,83:Io,84:Uo,85:36},Ux(sa,ue,{6:3,4:40}),Ux(fn,ue,{6:3,4:41}),Ux(Gn,[2,46],{17:42}),{20:26,49:43,63:27,64:le,71:hr,77:28,78:29,79:pr,80:lt,81:Qr,82:Wi,83:Io,84:Uo,85:36},Ux(Ti,ue,{6:3,4:44}),Ux([5,14,15,18,19,29,34,39,44,47,48,52,56,60],[2,10]),{20:45,71:hr,77:28,78:29,79:pr,80:lt,81:Qr,82:Wi,83:Io,84:Uo,85:36},{20:46,71:hr,77:28,78:29,79:pr,80:lt,81:Qr,82:Wi,83:Io,84:Uo,85:36},{20:47,71:hr,77:28,78:29,79:pr,80:lt,81:Qr,82:Wi,83:Io,84:Uo,85:36},{20:26,49:48,63:27,64:le,71:hr,77:28,78:29,79:pr,80:lt,81:Qr,82:Wi,83:Io,84:Uo,85:36},Ux(Eo,[2,76],{50:49}),Ux(qo,[2,27]),Ux(qo,[2,28]),Ux(qo,[2,33]),Ux(qo,[2,34]),Ux(qo,[2,35]),Ux(qo,[2,36]),Ux(qo,[2,37]),Ux(qo,[2,38]),Ux(qo,[2,39]),{20:26,49:50,63:27,64:le,71:hr,77:28,78:29,79:pr,80:lt,81:Qr,82:Wi,83:Io,84:Uo,85:36},Ux(qo,[2,41],{86:ci}),{71:hr,85:52},Ux(os,$s),Ux(Po,[2,80],{53:53}),{25:54,38:56,39:Dr,43:57,44:Nm,45:55,47:[2,52]},{28:60,43:61,44:Nm,47:[2,54]},{13:63,15:Xe,18:[1,62]},Ux(Eo,[2,84],{57:64}),{26:65,47:Og},Ux(Bg,[2,56],{30:67}),Ux(Bg,[2,62],{35:68}),Ux(_S,[2,48],{21:69}),Ux(Eo,[2,88],{61:70}),{20:26,33:[2,78],49:72,51:71,63:27,64:le,68:73,69:74,70:75,71:f8,77:28,78:29,79:pr,80:lt,81:Qr,82:Wi,83:Io,84:Uo,85:36},Ux(Lx,[2,92],{65:77}),{71:[1,78]},Ux(qo,[2,40],{86:ci}),{20:26,49:80,54:79,55:[2,82],63:27,64:le,68:81,69:74,70:75,71:f8,77:28,78:29,79:pr,80:lt,81:Qr,82:Wi,83:Io,84:Uo,85:36},{26:82,47:Og},{47:[2,53]},Ux(sa,ue,{6:3,4:83}),{47:[2,20]},{20:84,71:hr,77:28,78:29,79:pr,80:lt,81:Qr,82:Wi,83:Io,84:Uo,85:36},Ux(Ti,ue,{6:3,4:85}),{26:86,47:Og},{47:[2,55]},Ux(Ht,[2,11]),Ux(Gn,[2,47]),{20:26,33:[2,86],49:88,58:87,63:27,64:le,68:89,69:74,70:75,71:f8,77:28,78:29,79:pr,80:lt,81:Qr,82:Wi,83:Io,84:Uo,85:36},Ux(Ht,[2,25]),{20:90,71:hr,77:28,78:29,79:pr,80:lt,81:Qr,82:Wi,83:Io,84:Uo,85:36},Ux(q1,[2,58],{20:26,63:27,77:28,78:29,85:36,69:74,70:75,31:91,49:92,68:93,64:le,71:f8,79:pr,80:lt,81:Qr,82:Wi,83:Io,84:Uo}),Ux(q1,[2,64],{20:26,63:27,77:28,78:29,85:36,69:74,70:75,36:94,49:95,68:96,64:le,71:f8,79:pr,80:lt,81:Qr,82:Wi,83:Io,84:Uo}),{20:26,22:97,23:[2,50],49:98,63:27,64:le,68:99,69:74,70:75,71:f8,77:28,78:29,79:pr,80:lt,81:Qr,82:Wi,83:Io,84:Uo,85:36},{20:26,33:[2,90],49:101,62:100,63:27,64:le,68:102,69:74,70:75,71:f8,77:28,78:29,79:pr,80:lt,81:Qr,82:Wi,83:Io,84:Uo,85:36},{33:[1,103]},Ux(Eo,[2,77]),{33:[2,79]},Ux([23,33,55,67,74],[2,30],{70:104,71:[1,105]}),Ux(Qx,[2,96]),Ux(os,$s,{72:Be}),{20:26,49:108,63:27,64:le,66:107,67:[2,94],68:109,69:74,70:75,71:f8,77:28,78:29,79:pr,80:lt,81:Qr,82:Wi,83:Io,84:Uo,85:36},Ux(os,[2,42]),{55:[1,110]},Ux(Po,[2,81]),{55:[2,83]},Ux(Ht,[2,13]),{38:56,39:Dr,43:57,44:Nm,45:112,46:111,47:[2,74]},Ux(Bg,[2,68],{40:113}),{47:[2,18]},Ux(Ht,[2,14]),{33:[1,114]},Ux(Eo,[2,85]),{33:[2,87]},{33:[1,115]},{32:116,33:[2,60],73:117,74:St},Ux(Bg,[2,57]),Ux(q1,[2,59]),{33:[2,66],37:119,73:120,74:St},Ux(Bg,[2,63]),Ux(q1,[2,65]),{23:[1,121]},Ux(_S,[2,49]),{23:[2,51]},{33:[1,122]},Ux(Eo,[2,89]),{33:[2,91]},Ux(Ht,[2,22]),Ux(Qx,[2,97]),{72:Be},{20:26,49:123,63:27,64:le,71:hr,77:28,78:29,79:pr,80:lt,81:Qr,82:Wi,83:Io,84:Uo,85:36},{67:[1,124]},Ux(Lx,[2,93]),{67:[2,95]},Ux(Ht,[2,23]),{47:[2,19]},{47:[2,75]},Ux(q1,[2,70],{20:26,63:27,77:28,78:29,85:36,69:74,70:75,41:125,49:126,68:127,64:le,71:f8,79:pr,80:lt,81:Qr,82:Wi,83:Io,84:Uo}),Ux(Ht,[2,24]),Ux(Ht,[2,21]),{33:[1,128]},{33:[2,61]},{71:[1,130],75:129},{33:[1,131]},{33:[2,67]},Ux(Gn,[2,12]),Ux(Ti,[2,26]),Ux(Qx,[2,31]),Ux(qo,[2,29]),{33:[2,72],42:132,73:133,74:St},Ux(Bg,[2,69]),Ux(q1,[2,71]),Ux(sa,[2,15]),{71:[1,135],76:[1,134]},Ux(_r,[2,98]),Ux(fn,[2,16]),{33:[1,136]},{33:[2,73]},{33:[2,32]},Ux(_r,[2,99]),Ux(sa,[2,17])],defaultActions:{4:[2,1],55:[2,53],57:[2,20],61:[2,55],73:[2,79],81:[2,83],85:[2,18],89:[2,87],99:[2,51],102:[2,91],109:[2,95],111:[2,19],112:[2,75],117:[2,61],120:[2,67],133:[2,73],134:[2,32]},parseError:function(io,ss){if(!ss.recoverable){var to=new Error(io);throw to.hash=ss,to}this.trace(io)},parse:function(io){var ss=this,to=[0],Ma=[null],Ks=[],Qa=this.table,Wc=\"\",la=0,Af=0,so=2,qu=1,lf=Ks.slice.call(arguments,1),uu=Object.create(this.lexer),ud={yy:{}};for(var fm in this.yy)Object.prototype.hasOwnProperty.call(this.yy,fm)&&(ud.yy[fm]=this.yy[fm]);uu.setInput(io,ud.yy),ud.yy.lexer=uu,ud.yy.parser=this,uu.yylloc===void 0&&(uu.yylloc={});var w2=uu.yylloc;Ks.push(w2);var US=uu.options&&uu.options.ranges;typeof ud.yy.parseError==\"function\"?this.parseError=ud.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var j8,tE,U8,xp,tw,_4,rw,kF,i5=function(){var bA;return typeof(bA=uu.lex()||qu)!=\"number\"&&(bA=ss.symbols_[bA]||bA),bA},Um={};;){if(tE=to[to.length-1],this.defaultActions[tE]?U8=this.defaultActions[tE]:(j8==null&&(j8=i5()),U8=Qa[tE]&&Qa[tE][j8]),U8===void 0||!U8.length||!U8[0]){var Q8=\"\";for(tw in kF=[],Qa[tE])this.terminals_[tw]&&tw>so&&kF.push(\"'\"+this.terminals_[tw]+\"'\");Q8=uu.showPosition?\"Parse error on line \"+(la+1)+`:\n`+uu.showPosition()+`\nExpecting `+kF.join(\", \")+\", got '\"+(this.terminals_[j8]||j8)+\"'\":\"Parse error on line \"+(la+1)+\": Unexpected \"+(j8==qu?\"end of input\":\"'\"+(this.terminals_[j8]||j8)+\"'\"),this.parseError(Q8,{text:uu.match,token:this.terminals_[j8]||j8,line:uu.yylineno,loc:w2,expected:kF})}if(U8[0]instanceof Array&&U8.length>1)throw new Error(\"Parse Error: multiple actions possible at state: \"+tE+\", token: \"+j8);switch(U8[0]){case 1:to.push(j8),Ma.push(uu.yytext),Ks.push(uu.yylloc),to.push(U8[1]),j8=null,Af=uu.yyleng,Wc=uu.yytext,la=uu.yylineno,w2=uu.yylloc;break;case 2:if(_4=this.productions_[U8[1]][1],Um.$=Ma[Ma.length-_4],Um._$={first_line:Ks[Ks.length-(_4||1)].first_line,last_line:Ks[Ks.length-1].last_line,first_column:Ks[Ks.length-(_4||1)].first_column,last_column:Ks[Ks.length-1].last_column},US&&(Um._$.range=[Ks[Ks.length-(_4||1)].range[0],Ks[Ks.length-1].range[1]]),(xp=this.performAction.apply(Um,[Wc,Af,la,ud.yy,U8[1],Ma,Ks].concat(lf)))!==void 0)return xp;_4&&(to=to.slice(0,-1*_4*2),Ma=Ma.slice(0,-1*_4),Ks=Ks.slice(0,-1*_4)),to.push(this.productions_[U8[1]][0]),Ma.push(Um.$),Ks.push(Um._$),rw=Qa[to[to.length-2]][to[to.length-1]],to.push(rw);break;case 3:return!0}}return!0}},je={EOF:1,parseError:function(io,ss){if(!this.yy.parser)throw new Error(io);this.yy.parser.parseError(io,ss)},setInput:function(io,ss){return this.yy=ss||this.yy||{},this._input=io,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},input:function(){var io=this._input[0];return this.yytext+=io,this.yyleng++,this.offset++,this.match+=io,this.matched+=io,io.match(/(?:\\r\\n?|\\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),io},unput:function(io){var ss=io.length,to=io.split(/(?:\\r\\n?|\\n)/g);this._input=io+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-ss),this.offset-=ss;var Ma=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),to.length-1&&(this.yylineno-=to.length-1);var Ks=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:to?(to.length===Ma.length?this.yylloc.first_column:0)+Ma[Ma.length-to.length].length-to[0].length:this.yylloc.first_column-ss},this.options.ranges&&(this.yylloc.range=[Ks[0],Ks[0]+this.yyleng-ss]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n`+this.showPosition(),{text:\"\",token:null,line:this.yylineno})},less:function(io){this.unput(this.match.slice(io))},pastInput:function(){var io=this.matched.substr(0,this.matched.length-this.match.length);return(io.length>20?\"...\":\"\")+io.substr(-20).replace(/\\n/g,\"\")},upcomingInput:function(){var io=this.match;return io.length<20&&(io+=this._input.substr(0,20-io.length)),(io.substr(0,20)+(io.length>20?\"...\":\"\")).replace(/\\n/g,\"\")},showPosition:function(){var io=this.pastInput(),ss=new Array(io.length+1).join(\"-\");return io+this.upcomingInput()+`\n`+ss+\"^\"},test_match:function(io,ss){var to,Ma,Ks;if(this.options.backtrack_lexer&&(Ks={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&&(Ks.yylloc.range=this.yylloc.range.slice(0))),(Ma=io[0].match(/(?:\\r\\n?|\\n).*/g))&&(this.yylineno+=Ma.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Ma?Ma[Ma.length-1].length-Ma[Ma.length-1].match(/\\r?\\n?/)[0].length:this.yylloc.last_column+io[0].length},this.yytext+=io[0],this.match+=io[0],this.matches=io,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(io[0].length),this.matched+=io[0],to=this.performAction.call(this,this.yy,this,ss,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),to)return to;if(this._backtrack){for(var Qa in Ks)this[Qa]=Ks[Qa];return!1}return!1},next:function(){if(this.done)return this.EOF;var io,ss,to,Ma;this._input||(this.done=!0),this._more||(this.yytext=\"\",this.match=\"\");for(var Ks=this._currentRules(),Qa=0;Qa<Ks.length;Qa++)if((to=this._input.match(this.rules[Ks[Qa]]))&&(!ss||to[0].length>ss[0].length)){if(ss=to,Ma=Qa,this.options.backtrack_lexer){if((io=this.test_match(to,Ks[Qa]))!==!1)return io;if(this._backtrack){ss=!1;continue}return!1}if(!this.options.flex)break}return ss?(io=this.test_match(ss,Ks[Ma]))!==!1&&io:this._input===\"\"?this.EOF:this.parseError(\"Lexical error on line \"+(this.yylineno+1)+`. Unrecognized text.\n`+this.showPosition(),{text:\"\",token:null,line:this.yylineno})},lex:function(){var io=this.next();return io||this.lex()},begin:function(io){this.conditionStack.push(io)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(io){return(io=this.conditionStack.length-1-Math.abs(io||0))>=0?this.conditionStack[io]:\"INITIAL\"},pushState:function(io){this.begin(io)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(io,ss,to,Ma){function Ks(Qa,Wc){return ss.yytext=ss.yytext.substring(Qa,ss.yyleng-Wc+Qa)}switch(to){case 0:if(ss.yytext.slice(-2)===\"\\\\\\\\\"?(Ks(0,1),this.begin(\"mu\")):ss.yytext.slice(-1)===\"\\\\\"?(Ks(0,1),this.begin(\"emu\")):this.begin(\"mu\"),ss.yytext)return 15;break;case 1:return 15;case 2:return this.popState(),15;case 3:return this.begin(\"raw\"),15;case 4:return this.popState(),this.conditionStack[this.conditionStack.length-1]===\"raw\"?15:(Ks(5,9),18);case 5:return 15;case 6:return this.popState(),14;case 7:return 64;case 8:return 67;case 9:return 19;case 10:return this.popState(),this.begin(\"raw\"),23;case 11:return 56;case 12:return 60;case 13:return 29;case 14:return 47;case 15:case 16:return this.popState(),44;case 17:return 34;case 18:return 39;case 19:return 52;case 20:return 48;case 21:this.unput(ss.yytext),this.popState(),this.begin(\"com\");break;case 22:return this.popState(),14;case 23:return 48;case 24:return 72;case 25:case 26:return 71;case 27:return 86;case 28:break;case 29:return this.popState(),55;case 30:return this.popState(),33;case 31:return ss.yytext=Ks(1,2).replace(/\\\\\"/g,'\"'),79;case 32:return ss.yytext=Ks(1,2).replace(/\\\\'/g,\"'\"),79;case 33:return 84;case 34:case 35:return 81;case 36:return 82;case 37:return 83;case 38:return 80;case 39:return 74;case 40:return 76;case 41:return 71;case 42:return ss.yytext=ss.yytext.replace(/\\\\([\\\\\\]])/g,\"$1\"),71;case 43:return\"INVALID\";case 44:return 5}},rules:[/^(?:[^\\x00]*?(?=(\\{\\{)))/,/^(?:[^\\x00]+)/,/^(?:[^\\x00]{2,}?(?=(\\{\\{|\\\\\\{\\{|\\\\\\\\\\{\\{|$)))/,/^(?:\\{\\{\\{\\{(?=[^/]))/,/^(?:\\{\\{\\{\\{\\/[^\\s!\"#%-,\\.\\/;->@\\[-\\^`\\{-~]+(?=[=}\\s\\/.])\\}\\}\\}\\})/,/^(?:[^\\x00]+?(?=(\\{\\{\\{\\{)))/,/^(?:[\\s\\S]*?--(~)?\\}\\})/,/^(?:\\()/,/^(?:\\))/,/^(?:\\{\\{\\{\\{)/,/^(?:\\}\\}\\}\\})/,/^(?:\\{\\{(~)?>)/,/^(?:\\{\\{(~)?#>)/,/^(?:\\{\\{(~)?#\\*?)/,/^(?:\\{\\{(~)?\\/)/,/^(?:\\{\\{(~)?\\^\\s*(~)?\\}\\})/,/^(?:\\{\\{(~)?\\s*else\\s*(~)?\\}\\})/,/^(?:\\{\\{(~)?\\^)/,/^(?:\\{\\{(~)?\\s*else\\b)/,/^(?:\\{\\{(~)?\\{)/,/^(?:\\{\\{(~)?&)/,/^(?:\\{\\{(~)?!--)/,/^(?:\\{\\{(~)?![\\s\\S]*?\\}\\})/,/^(?:\\{\\{(~)?\\*?)/,/^(?:=)/,/^(?:\\.\\.)/,/^(?:\\.(?=([=~}\\s\\/.)|])))/,/^(?:[\\/.])/,/^(?:\\s+)/,/^(?:\\}(~)?\\}\\})/,/^(?:(~)?\\}\\})/,/^(?:\"(\\\\[\"]|[^\"])*\")/,/^(?:'(\\\\[']|[^'])*')/,/^(?:@)/,/^(?:true(?=([~}\\s)])))/,/^(?:false(?=([~}\\s)])))/,/^(?:undefined(?=([~}\\s)])))/,/^(?:null(?=([~}\\s)])))/,/^(?:-?[0-9]+(?:\\.[0-9]+)?(?=([~}\\s)])))/,/^(?:as\\s+\\|)/,/^(?:\\|)/,/^(?:([^\\s!\"#%-,\\.\\/;->@\\[-\\^`\\{-~]+(?=([=~}\\s\\/.)|]))))/,/^(?:\\[(\\\\\\]|[^\\]])*\\])/,/^(?:.)/,/^(?:$)/],conditions:{mu:{rules:[7,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],inclusive:!1},emu:{rules:[2],inclusive:!1},com:{rules:[6],inclusive:!1},raw:{rules:[3,4,5],inclusive:!1},INITIAL:{rules:[0,1,44],inclusive:!0}}};function Gu(){this.yy={}}return gi.lexer=je,Gu.prototype=gi,gi.Parser=Gu,new Gu}();function Wf(){this.padding=0}function Fp(Ux,ue){if(ue=ue.path?ue.path.original:ue,Ux.path.original!==ue){var Xe={loc:Ux.path.loc};throw new RS(Ux.path.original+\" doesn't match \"+ue,Xe)}}function ZC(Ux,ue){this.source=Ux,this.start={line:ue.first_line,column:ue.first_column},this.end={line:ue.last_line,column:ue.last_column}}Wf.prototype=new H4,Wf.prototype.pad=function(Ux){for(var ue=\"\",Xe=0,Ht=this.padding;Xe<Ht;Xe++)ue+=\"  \";return ue+=Ux+`\n`},Wf.prototype.Program=function(Ux){var ue,Xe,Ht=\"\",le=Ux.body;if(Ux.blockParams){var hr=\"BLOCK PARAMS: [\";for(ue=0,Xe=Ux.blockParams.length;ue<Xe;ue++)hr+=\" \"+Ux.blockParams[ue];hr+=\" ]\",Ht+=this.pad(hr)}for(ue=0,Xe=le.length;ue<Xe;ue++)Ht+=this.accept(le[ue]);return this.padding--,Ht},Wf.prototype.MustacheStatement=function(Ux){return this.pad(\"{{ \"+this.SubExpression(Ux)+\" }}\")},Wf.prototype.Decorator=function(Ux){return this.pad(\"{{ DIRECTIVE \"+this.SubExpression(Ux)+\" }}\")},Wf.prototype.BlockStatement=Wf.prototype.DecoratorBlock=function(Ux){var ue=\"\";return ue+=this.pad((Ux.type===\"DecoratorBlock\"?\"DIRECTIVE \":\"\")+\"BLOCK:\"),this.padding++,ue+=this.pad(this.SubExpression(Ux)),Ux.program&&(ue+=this.pad(\"PROGRAM:\"),this.padding++,ue+=this.accept(Ux.program),this.padding--),Ux.inverse&&(Ux.program&&this.padding++,ue+=this.pad(\"{{^}}\"),this.padding++,ue+=this.accept(Ux.inverse),this.padding--,Ux.program&&this.padding--),this.padding--,ue},Wf.prototype.PartialStatement=function(Ux){var ue=\"PARTIAL:\"+Ux.name.original;return Ux.params[0]&&(ue+=\" \"+this.accept(Ux.params[0])),Ux.hash&&(ue+=\" \"+this.accept(Ux.hash)),this.pad(\"{{> \"+ue+\" }}\")},Wf.prototype.PartialBlockStatement=function(Ux){var ue=\"PARTIAL BLOCK:\"+Ux.name.original;return Ux.params[0]&&(ue+=\" \"+this.accept(Ux.params[0])),Ux.hash&&(ue+=\" \"+this.accept(Ux.hash)),ue+=\" \"+this.pad(\"PROGRAM:\"),this.padding++,ue+=this.accept(Ux.program),this.padding--,this.pad(\"{{> \"+ue+\" }}\")},Wf.prototype.ContentStatement=function(Ux){return this.pad(\"CONTENT[ '\"+Ux.value+\"' ]\")},Wf.prototype.CommentStatement=function(Ux){return this.pad(\"{{! '\"+Ux.value+\"' }}\")},Wf.prototype.SubExpression=function(Ux){for(var ue,Xe=Ux.params,Ht=[],le=0,hr=Xe.length;le<hr;le++)Ht.push(this.accept(Xe[le]));return Xe=\"[\"+Ht.join(\", \")+\"]\",ue=Ux.hash?\" \"+this.accept(Ux.hash):\"\",this.accept(Ux.path)+\" \"+Xe+ue},Wf.prototype.PathExpression=function(Ux){var ue=Ux.parts.join(\"/\");return(Ux.data?\"@\":\"\")+\"PATH:\"+ue},Wf.prototype.StringLiteral=function(Ux){return'\"'+Ux.value+'\"'},Wf.prototype.NumberLiteral=function(Ux){return\"NUMBER{\"+Ux.value+\"}\"},Wf.prototype.BooleanLiteral=function(Ux){return\"BOOLEAN{\"+Ux.value+\"}\"},Wf.prototype.UndefinedLiteral=function(){return\"UNDEFINED\"},Wf.prototype.NullLiteral=function(){return\"NULL\"},Wf.prototype.Hash=function(Ux){for(var ue=Ux.pairs,Xe=[],Ht=0,le=ue.length;Ht<le;Ht++)Xe.push(this.accept(ue[Ht]));return\"HASH{\"+Xe.join(\", \")+\"}\"},Wf.prototype.HashPair=function(Ux){return Ux.key+\"=\"+this.accept(Ux.value)};var zA=Object.freeze({__proto__:null,SourceLocation:ZC,id:function(Ux){return/^\\[.*\\]$/.test(Ux)?Ux.substring(1,Ux.length-1):Ux},stripFlags:function(Ux,ue){return{open:Ux.charAt(2)===\"~\",close:ue.charAt(ue.length-3)===\"~\"}},stripComment:function(Ux){return Ux.replace(/^\\{\\{~?!-?-?/,\"\").replace(/-?-?~?\\}\\}$/,\"\")},preparePath:function(Ux,ue,Xe){Xe=this.locInfo(Xe);for(var Ht=Ux?\"@\":\"\",le=[],hr=0,pr=0,lt=ue.length;pr<lt;pr++){var Qr=ue[pr].part,Wi=ue[pr].original!==Qr;if(Ht+=(ue[pr].separator||\"\")+Qr,Wi||Qr!==\"..\"&&Qr!==\".\"&&Qr!==\"this\")le.push(Qr);else{if(le.length>0)throw new RS(\"Invalid path: \"+Ht,{loc:Xe});Qr===\"..\"&&hr++}}return{type:\"PathExpression\",data:Ux,depth:hr,parts:le,original:Ht,loc:Xe}},prepareMustache:function(Ux,ue,Xe,Ht,le,hr){var pr=Ht.charAt(3)||Ht.charAt(2),lt=pr!==\"{\"&&pr!==\"&\";return{type:/\\*/.test(Ht)?\"Decorator\":\"MustacheStatement\",path:Ux,params:ue,hash:Xe,escaped:lt,strip:le,loc:this.locInfo(hr)}},prepareRawBlock:function(Ux,ue,Xe,Ht){Fp(Ux,Xe);var le={type:\"Program\",body:ue,strip:{},loc:Ht=this.locInfo(Ht)};return{type:\"BlockStatement\",path:Ux.path,params:Ux.params,hash:Ux.hash,program:le,openStrip:{},inverseStrip:{},closeStrip:{},loc:Ht}},prepareBlock:function(Ux,ue,Xe,Ht,le,hr){Ht&&Ht.path&&Fp(Ux,Ht);var pr,lt,Qr=/\\*/.test(Ux.open);if(ue.blockParams=Ux.blockParams,Xe){if(Qr)throw new RS(\"Unexpected inverse block on decorator\",Xe);Xe.chain&&(Xe.program.body[0].closeStrip=Ht.strip),lt=Xe.strip,pr=Xe.program}return le&&(le=pr,pr=ue,ue=le),{type:Qr?\"DecoratorBlock\":\"BlockStatement\",path:Ux.path,params:Ux.params,hash:Ux.hash,program:ue,inverse:pr,openStrip:Ux.strip,inverseStrip:lt,closeStrip:Ht&&Ht.strip,loc:this.locInfo(hr)}},prepareProgram:function(Ux,ue){if(!ue&&Ux.length){var Xe=Ux[0].loc,Ht=Ux[Ux.length-1].loc;Xe&&Ht&&(ue={source:Xe.source,start:{line:Xe.start.line,column:Xe.start.column},end:{line:Ht.end.line,column:Ht.end.column}})}return{type:\"Program\",body:Ux,strip:{},loc:ue}},preparePartialBlock:function(Ux,ue,Xe,Ht){return Fp(Ux,Xe),{type:\"PartialBlockStatement\",name:Ux.path,params:Ux.params,hash:Ux.hash,program:ue,openStrip:Ux.strip,closeStrip:Xe&&Xe.strip,loc:this.locInfo(Ht)}}}),zF={};for(var WF in zA)Object.prototype.hasOwnProperty.call(zA,WF)&&(zF[WF]=zA[WF]);function l_(Ux,ue){return Ux.type===\"Program\"?Ux:(Rh.yy=zF,Rh.yy.locInfo=function(Xe){return new ZC(ue&&ue.srcName,Xe)},Rh.parse(Ux))}var xE=Object.freeze({__proto__:null,Visitor:H4,WhitespaceControl:rS,parser:Rh,Exception:RS,print:function(Ux){return new Wf().accept(Ux)},PrintVisitor:Wf,parse:function(Ux,ue){var Xe=l_(Ux,ue);return new rS(ue).accept(Xe)},parseWithoutProcessing:l_}),r6={Aacute:\"\\xC1\",aacute:\"\\xE1\",Abreve:\"\\u0102\",abreve:\"\\u0103\",ac:\"\\u223E\",acd:\"\\u223F\",acE:\"\\u223E\\u0333\",Acirc:\"\\xC2\",acirc:\"\\xE2\",acute:\"\\xB4\",Acy:\"\\u0410\",acy:\"\\u0430\",AElig:\"\\xC6\",aelig:\"\\xE6\",af:\"\\u2061\",Afr:\"\\u{1D504}\",afr:\"\\u{1D51E}\",Agrave:\"\\xC0\",agrave:\"\\xE0\",alefsym:\"\\u2135\",aleph:\"\\u2135\",Alpha:\"\\u0391\",alpha:\"\\u03B1\",Amacr:\"\\u0100\",amacr:\"\\u0101\",amalg:\"\\u2A3F\",amp:\"&\",AMP:\"&\",andand:\"\\u2A55\",And:\"\\u2A53\",and:\"\\u2227\",andd:\"\\u2A5C\",andslope:\"\\u2A58\",andv:\"\\u2A5A\",ang:\"\\u2220\",ange:\"\\u29A4\",angle:\"\\u2220\",angmsdaa:\"\\u29A8\",angmsdab:\"\\u29A9\",angmsdac:\"\\u29AA\",angmsdad:\"\\u29AB\",angmsdae:\"\\u29AC\",angmsdaf:\"\\u29AD\",angmsdag:\"\\u29AE\",angmsdah:\"\\u29AF\",angmsd:\"\\u2221\",angrt:\"\\u221F\",angrtvb:\"\\u22BE\",angrtvbd:\"\\u299D\",angsph:\"\\u2222\",angst:\"\\xC5\",angzarr:\"\\u237C\",Aogon:\"\\u0104\",aogon:\"\\u0105\",Aopf:\"\\u{1D538}\",aopf:\"\\u{1D552}\",apacir:\"\\u2A6F\",ap:\"\\u2248\",apE:\"\\u2A70\",ape:\"\\u224A\",apid:\"\\u224B\",apos:\"'\",ApplyFunction:\"\\u2061\",approx:\"\\u2248\",approxeq:\"\\u224A\",Aring:\"\\xC5\",aring:\"\\xE5\",Ascr:\"\\u{1D49C}\",ascr:\"\\u{1D4B6}\",Assign:\"\\u2254\",ast:\"*\",asymp:\"\\u2248\",asympeq:\"\\u224D\",Atilde:\"\\xC3\",atilde:\"\\xE3\",Auml:\"\\xC4\",auml:\"\\xE4\",awconint:\"\\u2233\",awint:\"\\u2A11\",backcong:\"\\u224C\",backepsilon:\"\\u03F6\",backprime:\"\\u2035\",backsim:\"\\u223D\",backsimeq:\"\\u22CD\",Backslash:\"\\u2216\",Barv:\"\\u2AE7\",barvee:\"\\u22BD\",barwed:\"\\u2305\",Barwed:\"\\u2306\",barwedge:\"\\u2305\",bbrk:\"\\u23B5\",bbrktbrk:\"\\u23B6\",bcong:\"\\u224C\",Bcy:\"\\u0411\",bcy:\"\\u0431\",bdquo:\"\\u201E\",becaus:\"\\u2235\",because:\"\\u2235\",Because:\"\\u2235\",bemptyv:\"\\u29B0\",bepsi:\"\\u03F6\",bernou:\"\\u212C\",Bernoullis:\"\\u212C\",Beta:\"\\u0392\",beta:\"\\u03B2\",beth:\"\\u2136\",between:\"\\u226C\",Bfr:\"\\u{1D505}\",bfr:\"\\u{1D51F}\",bigcap:\"\\u22C2\",bigcirc:\"\\u25EF\",bigcup:\"\\u22C3\",bigodot:\"\\u2A00\",bigoplus:\"\\u2A01\",bigotimes:\"\\u2A02\",bigsqcup:\"\\u2A06\",bigstar:\"\\u2605\",bigtriangledown:\"\\u25BD\",bigtriangleup:\"\\u25B3\",biguplus:\"\\u2A04\",bigvee:\"\\u22C1\",bigwedge:\"\\u22C0\",bkarow:\"\\u290D\",blacklozenge:\"\\u29EB\",blacksquare:\"\\u25AA\",blacktriangle:\"\\u25B4\",blacktriangledown:\"\\u25BE\",blacktriangleleft:\"\\u25C2\",blacktriangleright:\"\\u25B8\",blank:\"\\u2423\",blk12:\"\\u2592\",blk14:\"\\u2591\",blk34:\"\\u2593\",block:\"\\u2588\",bne:\"=\\u20E5\",bnequiv:\"\\u2261\\u20E5\",bNot:\"\\u2AED\",bnot:\"\\u2310\",Bopf:\"\\u{1D539}\",bopf:\"\\u{1D553}\",bot:\"\\u22A5\",bottom:\"\\u22A5\",bowtie:\"\\u22C8\",boxbox:\"\\u29C9\",boxdl:\"\\u2510\",boxdL:\"\\u2555\",boxDl:\"\\u2556\",boxDL:\"\\u2557\",boxdr:\"\\u250C\",boxdR:\"\\u2552\",boxDr:\"\\u2553\",boxDR:\"\\u2554\",boxh:\"\\u2500\",boxH:\"\\u2550\",boxhd:\"\\u252C\",boxHd:\"\\u2564\",boxhD:\"\\u2565\",boxHD:\"\\u2566\",boxhu:\"\\u2534\",boxHu:\"\\u2567\",boxhU:\"\\u2568\",boxHU:\"\\u2569\",boxminus:\"\\u229F\",boxplus:\"\\u229E\",boxtimes:\"\\u22A0\",boxul:\"\\u2518\",boxuL:\"\\u255B\",boxUl:\"\\u255C\",boxUL:\"\\u255D\",boxur:\"\\u2514\",boxuR:\"\\u2558\",boxUr:\"\\u2559\",boxUR:\"\\u255A\",boxv:\"\\u2502\",boxV:\"\\u2551\",boxvh:\"\\u253C\",boxvH:\"\\u256A\",boxVh:\"\\u256B\",boxVH:\"\\u256C\",boxvl:\"\\u2524\",boxvL:\"\\u2561\",boxVl:\"\\u2562\",boxVL:\"\\u2563\",boxvr:\"\\u251C\",boxvR:\"\\u255E\",boxVr:\"\\u255F\",boxVR:\"\\u2560\",bprime:\"\\u2035\",breve:\"\\u02D8\",Breve:\"\\u02D8\",brvbar:\"\\xA6\",bscr:\"\\u{1D4B7}\",Bscr:\"\\u212C\",bsemi:\"\\u204F\",bsim:\"\\u223D\",bsime:\"\\u22CD\",bsolb:\"\\u29C5\",bsol:\"\\\\\",bsolhsub:\"\\u27C8\",bull:\"\\u2022\",bullet:\"\\u2022\",bump:\"\\u224E\",bumpE:\"\\u2AAE\",bumpe:\"\\u224F\",Bumpeq:\"\\u224E\",bumpeq:\"\\u224F\",Cacute:\"\\u0106\",cacute:\"\\u0107\",capand:\"\\u2A44\",capbrcup:\"\\u2A49\",capcap:\"\\u2A4B\",cap:\"\\u2229\",Cap:\"\\u22D2\",capcup:\"\\u2A47\",capdot:\"\\u2A40\",CapitalDifferentialD:\"\\u2145\",caps:\"\\u2229\\uFE00\",caret:\"\\u2041\",caron:\"\\u02C7\",Cayleys:\"\\u212D\",ccaps:\"\\u2A4D\",Ccaron:\"\\u010C\",ccaron:\"\\u010D\",Ccedil:\"\\xC7\",ccedil:\"\\xE7\",Ccirc:\"\\u0108\",ccirc:\"\\u0109\",Cconint:\"\\u2230\",ccups:\"\\u2A4C\",ccupssm:\"\\u2A50\",Cdot:\"\\u010A\",cdot:\"\\u010B\",cedil:\"\\xB8\",Cedilla:\"\\xB8\",cemptyv:\"\\u29B2\",cent:\"\\xA2\",centerdot:\"\\xB7\",CenterDot:\"\\xB7\",cfr:\"\\u{1D520}\",Cfr:\"\\u212D\",CHcy:\"\\u0427\",chcy:\"\\u0447\",check:\"\\u2713\",checkmark:\"\\u2713\",Chi:\"\\u03A7\",chi:\"\\u03C7\",circ:\"\\u02C6\",circeq:\"\\u2257\",circlearrowleft:\"\\u21BA\",circlearrowright:\"\\u21BB\",circledast:\"\\u229B\",circledcirc:\"\\u229A\",circleddash:\"\\u229D\",CircleDot:\"\\u2299\",circledR:\"\\xAE\",circledS:\"\\u24C8\",CircleMinus:\"\\u2296\",CirclePlus:\"\\u2295\",CircleTimes:\"\\u2297\",cir:\"\\u25CB\",cirE:\"\\u29C3\",cire:\"\\u2257\",cirfnint:\"\\u2A10\",cirmid:\"\\u2AEF\",cirscir:\"\\u29C2\",ClockwiseContourIntegral:\"\\u2232\",CloseCurlyDoubleQuote:\"\\u201D\",CloseCurlyQuote:\"\\u2019\",clubs:\"\\u2663\",clubsuit:\"\\u2663\",colon:\":\",Colon:\"\\u2237\",Colone:\"\\u2A74\",colone:\"\\u2254\",coloneq:\"\\u2254\",comma:\",\",commat:\"@\",comp:\"\\u2201\",compfn:\"\\u2218\",complement:\"\\u2201\",complexes:\"\\u2102\",cong:\"\\u2245\",congdot:\"\\u2A6D\",Congruent:\"\\u2261\",conint:\"\\u222E\",Conint:\"\\u222F\",ContourIntegral:\"\\u222E\",copf:\"\\u{1D554}\",Copf:\"\\u2102\",coprod:\"\\u2210\",Coproduct:\"\\u2210\",copy:\"\\xA9\",COPY:\"\\xA9\",copysr:\"\\u2117\",CounterClockwiseContourIntegral:\"\\u2233\",crarr:\"\\u21B5\",cross:\"\\u2717\",Cross:\"\\u2A2F\",Cscr:\"\\u{1D49E}\",cscr:\"\\u{1D4B8}\",csub:\"\\u2ACF\",csube:\"\\u2AD1\",csup:\"\\u2AD0\",csupe:\"\\u2AD2\",ctdot:\"\\u22EF\",cudarrl:\"\\u2938\",cudarrr:\"\\u2935\",cuepr:\"\\u22DE\",cuesc:\"\\u22DF\",cularr:\"\\u21B6\",cularrp:\"\\u293D\",cupbrcap:\"\\u2A48\",cupcap:\"\\u2A46\",CupCap:\"\\u224D\",cup:\"\\u222A\",Cup:\"\\u22D3\",cupcup:\"\\u2A4A\",cupdot:\"\\u228D\",cupor:\"\\u2A45\",cups:\"\\u222A\\uFE00\",curarr:\"\\u21B7\",curarrm:\"\\u293C\",curlyeqprec:\"\\u22DE\",curlyeqsucc:\"\\u22DF\",curlyvee:\"\\u22CE\",curlywedge:\"\\u22CF\",curren:\"\\xA4\",curvearrowleft:\"\\u21B6\",curvearrowright:\"\\u21B7\",cuvee:\"\\u22CE\",cuwed:\"\\u22CF\",cwconint:\"\\u2232\",cwint:\"\\u2231\",cylcty:\"\\u232D\",dagger:\"\\u2020\",Dagger:\"\\u2021\",daleth:\"\\u2138\",darr:\"\\u2193\",Darr:\"\\u21A1\",dArr:\"\\u21D3\",dash:\"\\u2010\",Dashv:\"\\u2AE4\",dashv:\"\\u22A3\",dbkarow:\"\\u290F\",dblac:\"\\u02DD\",Dcaron:\"\\u010E\",dcaron:\"\\u010F\",Dcy:\"\\u0414\",dcy:\"\\u0434\",ddagger:\"\\u2021\",ddarr:\"\\u21CA\",DD:\"\\u2145\",dd:\"\\u2146\",DDotrahd:\"\\u2911\",ddotseq:\"\\u2A77\",deg:\"\\xB0\",Del:\"\\u2207\",Delta:\"\\u0394\",delta:\"\\u03B4\",demptyv:\"\\u29B1\",dfisht:\"\\u297F\",Dfr:\"\\u{1D507}\",dfr:\"\\u{1D521}\",dHar:\"\\u2965\",dharl:\"\\u21C3\",dharr:\"\\u21C2\",DiacriticalAcute:\"\\xB4\",DiacriticalDot:\"\\u02D9\",DiacriticalDoubleAcute:\"\\u02DD\",DiacriticalGrave:\"`\",DiacriticalTilde:\"\\u02DC\",diam:\"\\u22C4\",diamond:\"\\u22C4\",Diamond:\"\\u22C4\",diamondsuit:\"\\u2666\",diams:\"\\u2666\",die:\"\\xA8\",DifferentialD:\"\\u2146\",digamma:\"\\u03DD\",disin:\"\\u22F2\",div:\"\\xF7\",divide:\"\\xF7\",divideontimes:\"\\u22C7\",divonx:\"\\u22C7\",DJcy:\"\\u0402\",djcy:\"\\u0452\",dlcorn:\"\\u231E\",dlcrop:\"\\u230D\",dollar:\"$\",Dopf:\"\\u{1D53B}\",dopf:\"\\u{1D555}\",Dot:\"\\xA8\",dot:\"\\u02D9\",DotDot:\"\\u20DC\",doteq:\"\\u2250\",doteqdot:\"\\u2251\",DotEqual:\"\\u2250\",dotminus:\"\\u2238\",dotplus:\"\\u2214\",dotsquare:\"\\u22A1\",doublebarwedge:\"\\u2306\",DoubleContourIntegral:\"\\u222F\",DoubleDot:\"\\xA8\",DoubleDownArrow:\"\\u21D3\",DoubleLeftArrow:\"\\u21D0\",DoubleLeftRightArrow:\"\\u21D4\",DoubleLeftTee:\"\\u2AE4\",DoubleLongLeftArrow:\"\\u27F8\",DoubleLongLeftRightArrow:\"\\u27FA\",DoubleLongRightArrow:\"\\u27F9\",DoubleRightArrow:\"\\u21D2\",DoubleRightTee:\"\\u22A8\",DoubleUpArrow:\"\\u21D1\",DoubleUpDownArrow:\"\\u21D5\",DoubleVerticalBar:\"\\u2225\",DownArrowBar:\"\\u2913\",downarrow:\"\\u2193\",DownArrow:\"\\u2193\",Downarrow:\"\\u21D3\",DownArrowUpArrow:\"\\u21F5\",DownBreve:\"\\u0311\",downdownarrows:\"\\u21CA\",downharpoonleft:\"\\u21C3\",downharpoonright:\"\\u21C2\",DownLeftRightVector:\"\\u2950\",DownLeftTeeVector:\"\\u295E\",DownLeftVectorBar:\"\\u2956\",DownLeftVector:\"\\u21BD\",DownRightTeeVector:\"\\u295F\",DownRightVectorBar:\"\\u2957\",DownRightVector:\"\\u21C1\",DownTeeArrow:\"\\u21A7\",DownTee:\"\\u22A4\",drbkarow:\"\\u2910\",drcorn:\"\\u231F\",drcrop:\"\\u230C\",Dscr:\"\\u{1D49F}\",dscr:\"\\u{1D4B9}\",DScy:\"\\u0405\",dscy:\"\\u0455\",dsol:\"\\u29F6\",Dstrok:\"\\u0110\",dstrok:\"\\u0111\",dtdot:\"\\u22F1\",dtri:\"\\u25BF\",dtrif:\"\\u25BE\",duarr:\"\\u21F5\",duhar:\"\\u296F\",dwangle:\"\\u29A6\",DZcy:\"\\u040F\",dzcy:\"\\u045F\",dzigrarr:\"\\u27FF\",Eacute:\"\\xC9\",eacute:\"\\xE9\",easter:\"\\u2A6E\",Ecaron:\"\\u011A\",ecaron:\"\\u011B\",Ecirc:\"\\xCA\",ecirc:\"\\xEA\",ecir:\"\\u2256\",ecolon:\"\\u2255\",Ecy:\"\\u042D\",ecy:\"\\u044D\",eDDot:\"\\u2A77\",Edot:\"\\u0116\",edot:\"\\u0117\",eDot:\"\\u2251\",ee:\"\\u2147\",efDot:\"\\u2252\",Efr:\"\\u{1D508}\",efr:\"\\u{1D522}\",eg:\"\\u2A9A\",Egrave:\"\\xC8\",egrave:\"\\xE8\",egs:\"\\u2A96\",egsdot:\"\\u2A98\",el:\"\\u2A99\",Element:\"\\u2208\",elinters:\"\\u23E7\",ell:\"\\u2113\",els:\"\\u2A95\",elsdot:\"\\u2A97\",Emacr:\"\\u0112\",emacr:\"\\u0113\",empty:\"\\u2205\",emptyset:\"\\u2205\",EmptySmallSquare:\"\\u25FB\",emptyv:\"\\u2205\",EmptyVerySmallSquare:\"\\u25AB\",emsp13:\"\\u2004\",emsp14:\"\\u2005\",emsp:\"\\u2003\",ENG:\"\\u014A\",eng:\"\\u014B\",ensp:\"\\u2002\",Eogon:\"\\u0118\",eogon:\"\\u0119\",Eopf:\"\\u{1D53C}\",eopf:\"\\u{1D556}\",epar:\"\\u22D5\",eparsl:\"\\u29E3\",eplus:\"\\u2A71\",epsi:\"\\u03B5\",Epsilon:\"\\u0395\",epsilon:\"\\u03B5\",epsiv:\"\\u03F5\",eqcirc:\"\\u2256\",eqcolon:\"\\u2255\",eqsim:\"\\u2242\",eqslantgtr:\"\\u2A96\",eqslantless:\"\\u2A95\",Equal:\"\\u2A75\",equals:\"=\",EqualTilde:\"\\u2242\",equest:\"\\u225F\",Equilibrium:\"\\u21CC\",equiv:\"\\u2261\",equivDD:\"\\u2A78\",eqvparsl:\"\\u29E5\",erarr:\"\\u2971\",erDot:\"\\u2253\",escr:\"\\u212F\",Escr:\"\\u2130\",esdot:\"\\u2250\",Esim:\"\\u2A73\",esim:\"\\u2242\",Eta:\"\\u0397\",eta:\"\\u03B7\",ETH:\"\\xD0\",eth:\"\\xF0\",Euml:\"\\xCB\",euml:\"\\xEB\",euro:\"\\u20AC\",excl:\"!\",exist:\"\\u2203\",Exists:\"\\u2203\",expectation:\"\\u2130\",exponentiale:\"\\u2147\",ExponentialE:\"\\u2147\",fallingdotseq:\"\\u2252\",Fcy:\"\\u0424\",fcy:\"\\u0444\",female:\"\\u2640\",ffilig:\"\\uFB03\",fflig:\"\\uFB00\",ffllig:\"\\uFB04\",Ffr:\"\\u{1D509}\",ffr:\"\\u{1D523}\",filig:\"\\uFB01\",FilledSmallSquare:\"\\u25FC\",FilledVerySmallSquare:\"\\u25AA\",fjlig:\"fj\",flat:\"\\u266D\",fllig:\"\\uFB02\",fltns:\"\\u25B1\",fnof:\"\\u0192\",Fopf:\"\\u{1D53D}\",fopf:\"\\u{1D557}\",forall:\"\\u2200\",ForAll:\"\\u2200\",fork:\"\\u22D4\",forkv:\"\\u2AD9\",Fouriertrf:\"\\u2131\",fpartint:\"\\u2A0D\",frac12:\"\\xBD\",frac13:\"\\u2153\",frac14:\"\\xBC\",frac15:\"\\u2155\",frac16:\"\\u2159\",frac18:\"\\u215B\",frac23:\"\\u2154\",frac25:\"\\u2156\",frac34:\"\\xBE\",frac35:\"\\u2157\",frac38:\"\\u215C\",frac45:\"\\u2158\",frac56:\"\\u215A\",frac58:\"\\u215D\",frac78:\"\\u215E\",frasl:\"\\u2044\",frown:\"\\u2322\",fscr:\"\\u{1D4BB}\",Fscr:\"\\u2131\",gacute:\"\\u01F5\",Gamma:\"\\u0393\",gamma:\"\\u03B3\",Gammad:\"\\u03DC\",gammad:\"\\u03DD\",gap:\"\\u2A86\",Gbreve:\"\\u011E\",gbreve:\"\\u011F\",Gcedil:\"\\u0122\",Gcirc:\"\\u011C\",gcirc:\"\\u011D\",Gcy:\"\\u0413\",gcy:\"\\u0433\",Gdot:\"\\u0120\",gdot:\"\\u0121\",ge:\"\\u2265\",gE:\"\\u2267\",gEl:\"\\u2A8C\",gel:\"\\u22DB\",geq:\"\\u2265\",geqq:\"\\u2267\",geqslant:\"\\u2A7E\",gescc:\"\\u2AA9\",ges:\"\\u2A7E\",gesdot:\"\\u2A80\",gesdoto:\"\\u2A82\",gesdotol:\"\\u2A84\",gesl:\"\\u22DB\\uFE00\",gesles:\"\\u2A94\",Gfr:\"\\u{1D50A}\",gfr:\"\\u{1D524}\",gg:\"\\u226B\",Gg:\"\\u22D9\",ggg:\"\\u22D9\",gimel:\"\\u2137\",GJcy:\"\\u0403\",gjcy:\"\\u0453\",gla:\"\\u2AA5\",gl:\"\\u2277\",glE:\"\\u2A92\",glj:\"\\u2AA4\",gnap:\"\\u2A8A\",gnapprox:\"\\u2A8A\",gne:\"\\u2A88\",gnE:\"\\u2269\",gneq:\"\\u2A88\",gneqq:\"\\u2269\",gnsim:\"\\u22E7\",Gopf:\"\\u{1D53E}\",gopf:\"\\u{1D558}\",grave:\"`\",GreaterEqual:\"\\u2265\",GreaterEqualLess:\"\\u22DB\",GreaterFullEqual:\"\\u2267\",GreaterGreater:\"\\u2AA2\",GreaterLess:\"\\u2277\",GreaterSlantEqual:\"\\u2A7E\",GreaterTilde:\"\\u2273\",Gscr:\"\\u{1D4A2}\",gscr:\"\\u210A\",gsim:\"\\u2273\",gsime:\"\\u2A8E\",gsiml:\"\\u2A90\",gtcc:\"\\u2AA7\",gtcir:\"\\u2A7A\",gt:\">\",GT:\">\",Gt:\"\\u226B\",gtdot:\"\\u22D7\",gtlPar:\"\\u2995\",gtquest:\"\\u2A7C\",gtrapprox:\"\\u2A86\",gtrarr:\"\\u2978\",gtrdot:\"\\u22D7\",gtreqless:\"\\u22DB\",gtreqqless:\"\\u2A8C\",gtrless:\"\\u2277\",gtrsim:\"\\u2273\",gvertneqq:\"\\u2269\\uFE00\",gvnE:\"\\u2269\\uFE00\",Hacek:\"\\u02C7\",hairsp:\"\\u200A\",half:\"\\xBD\",hamilt:\"\\u210B\",HARDcy:\"\\u042A\",hardcy:\"\\u044A\",harrcir:\"\\u2948\",harr:\"\\u2194\",hArr:\"\\u21D4\",harrw:\"\\u21AD\",Hat:\"^\",hbar:\"\\u210F\",Hcirc:\"\\u0124\",hcirc:\"\\u0125\",hearts:\"\\u2665\",heartsuit:\"\\u2665\",hellip:\"\\u2026\",hercon:\"\\u22B9\",hfr:\"\\u{1D525}\",Hfr:\"\\u210C\",HilbertSpace:\"\\u210B\",hksearow:\"\\u2925\",hkswarow:\"\\u2926\",hoarr:\"\\u21FF\",homtht:\"\\u223B\",hookleftarrow:\"\\u21A9\",hookrightarrow:\"\\u21AA\",hopf:\"\\u{1D559}\",Hopf:\"\\u210D\",horbar:\"\\u2015\",HorizontalLine:\"\\u2500\",hscr:\"\\u{1D4BD}\",Hscr:\"\\u210B\",hslash:\"\\u210F\",Hstrok:\"\\u0126\",hstrok:\"\\u0127\",HumpDownHump:\"\\u224E\",HumpEqual:\"\\u224F\",hybull:\"\\u2043\",hyphen:\"\\u2010\",Iacute:\"\\xCD\",iacute:\"\\xED\",ic:\"\\u2063\",Icirc:\"\\xCE\",icirc:\"\\xEE\",Icy:\"\\u0418\",icy:\"\\u0438\",Idot:\"\\u0130\",IEcy:\"\\u0415\",iecy:\"\\u0435\",iexcl:\"\\xA1\",iff:\"\\u21D4\",ifr:\"\\u{1D526}\",Ifr:\"\\u2111\",Igrave:\"\\xCC\",igrave:\"\\xEC\",ii:\"\\u2148\",iiiint:\"\\u2A0C\",iiint:\"\\u222D\",iinfin:\"\\u29DC\",iiota:\"\\u2129\",IJlig:\"\\u0132\",ijlig:\"\\u0133\",Imacr:\"\\u012A\",imacr:\"\\u012B\",image:\"\\u2111\",ImaginaryI:\"\\u2148\",imagline:\"\\u2110\",imagpart:\"\\u2111\",imath:\"\\u0131\",Im:\"\\u2111\",imof:\"\\u22B7\",imped:\"\\u01B5\",Implies:\"\\u21D2\",incare:\"\\u2105\",in:\"\\u2208\",infin:\"\\u221E\",infintie:\"\\u29DD\",inodot:\"\\u0131\",intcal:\"\\u22BA\",int:\"\\u222B\",Int:\"\\u222C\",integers:\"\\u2124\",Integral:\"\\u222B\",intercal:\"\\u22BA\",Intersection:\"\\u22C2\",intlarhk:\"\\u2A17\",intprod:\"\\u2A3C\",InvisibleComma:\"\\u2063\",InvisibleTimes:\"\\u2062\",IOcy:\"\\u0401\",iocy:\"\\u0451\",Iogon:\"\\u012E\",iogon:\"\\u012F\",Iopf:\"\\u{1D540}\",iopf:\"\\u{1D55A}\",Iota:\"\\u0399\",iota:\"\\u03B9\",iprod:\"\\u2A3C\",iquest:\"\\xBF\",iscr:\"\\u{1D4BE}\",Iscr:\"\\u2110\",isin:\"\\u2208\",isindot:\"\\u22F5\",isinE:\"\\u22F9\",isins:\"\\u22F4\",isinsv:\"\\u22F3\",isinv:\"\\u2208\",it:\"\\u2062\",Itilde:\"\\u0128\",itilde:\"\\u0129\",Iukcy:\"\\u0406\",iukcy:\"\\u0456\",Iuml:\"\\xCF\",iuml:\"\\xEF\",Jcirc:\"\\u0134\",jcirc:\"\\u0135\",Jcy:\"\\u0419\",jcy:\"\\u0439\",Jfr:\"\\u{1D50D}\",jfr:\"\\u{1D527}\",jmath:\"\\u0237\",Jopf:\"\\u{1D541}\",jopf:\"\\u{1D55B}\",Jscr:\"\\u{1D4A5}\",jscr:\"\\u{1D4BF}\",Jsercy:\"\\u0408\",jsercy:\"\\u0458\",Jukcy:\"\\u0404\",jukcy:\"\\u0454\",Kappa:\"\\u039A\",kappa:\"\\u03BA\",kappav:\"\\u03F0\",Kcedil:\"\\u0136\",kcedil:\"\\u0137\",Kcy:\"\\u041A\",kcy:\"\\u043A\",Kfr:\"\\u{1D50E}\",kfr:\"\\u{1D528}\",kgreen:\"\\u0138\",KHcy:\"\\u0425\",khcy:\"\\u0445\",KJcy:\"\\u040C\",kjcy:\"\\u045C\",Kopf:\"\\u{1D542}\",kopf:\"\\u{1D55C}\",Kscr:\"\\u{1D4A6}\",kscr:\"\\u{1D4C0}\",lAarr:\"\\u21DA\",Lacute:\"\\u0139\",lacute:\"\\u013A\",laemptyv:\"\\u29B4\",lagran:\"\\u2112\",Lambda:\"\\u039B\",lambda:\"\\u03BB\",lang:\"\\u27E8\",Lang:\"\\u27EA\",langd:\"\\u2991\",langle:\"\\u27E8\",lap:\"\\u2A85\",Laplacetrf:\"\\u2112\",laquo:\"\\xAB\",larrb:\"\\u21E4\",larrbfs:\"\\u291F\",larr:\"\\u2190\",Larr:\"\\u219E\",lArr:\"\\u21D0\",larrfs:\"\\u291D\",larrhk:\"\\u21A9\",larrlp:\"\\u21AB\",larrpl:\"\\u2939\",larrsim:\"\\u2973\",larrtl:\"\\u21A2\",latail:\"\\u2919\",lAtail:\"\\u291B\",lat:\"\\u2AAB\",late:\"\\u2AAD\",lates:\"\\u2AAD\\uFE00\",lbarr:\"\\u290C\",lBarr:\"\\u290E\",lbbrk:\"\\u2772\",lbrace:\"{\",lbrack:\"[\",lbrke:\"\\u298B\",lbrksld:\"\\u298F\",lbrkslu:\"\\u298D\",Lcaron:\"\\u013D\",lcaron:\"\\u013E\",Lcedil:\"\\u013B\",lcedil:\"\\u013C\",lceil:\"\\u2308\",lcub:\"{\",Lcy:\"\\u041B\",lcy:\"\\u043B\",ldca:\"\\u2936\",ldquo:\"\\u201C\",ldquor:\"\\u201E\",ldrdhar:\"\\u2967\",ldrushar:\"\\u294B\",ldsh:\"\\u21B2\",le:\"\\u2264\",lE:\"\\u2266\",LeftAngleBracket:\"\\u27E8\",LeftArrowBar:\"\\u21E4\",leftarrow:\"\\u2190\",LeftArrow:\"\\u2190\",Leftarrow:\"\\u21D0\",LeftArrowRightArrow:\"\\u21C6\",leftarrowtail:\"\\u21A2\",LeftCeiling:\"\\u2308\",LeftDoubleBracket:\"\\u27E6\",LeftDownTeeVector:\"\\u2961\",LeftDownVectorBar:\"\\u2959\",LeftDownVector:\"\\u21C3\",LeftFloor:\"\\u230A\",leftharpoondown:\"\\u21BD\",leftharpoonup:\"\\u21BC\",leftleftarrows:\"\\u21C7\",leftrightarrow:\"\\u2194\",LeftRightArrow:\"\\u2194\",Leftrightarrow:\"\\u21D4\",leftrightarrows:\"\\u21C6\",leftrightharpoons:\"\\u21CB\",leftrightsquigarrow:\"\\u21AD\",LeftRightVector:\"\\u294E\",LeftTeeArrow:\"\\u21A4\",LeftTee:\"\\u22A3\",LeftTeeVector:\"\\u295A\",leftthreetimes:\"\\u22CB\",LeftTriangleBar:\"\\u29CF\",LeftTriangle:\"\\u22B2\",LeftTriangleEqual:\"\\u22B4\",LeftUpDownVector:\"\\u2951\",LeftUpTeeVector:\"\\u2960\",LeftUpVectorBar:\"\\u2958\",LeftUpVector:\"\\u21BF\",LeftVectorBar:\"\\u2952\",LeftVector:\"\\u21BC\",lEg:\"\\u2A8B\",leg:\"\\u22DA\",leq:\"\\u2264\",leqq:\"\\u2266\",leqslant:\"\\u2A7D\",lescc:\"\\u2AA8\",les:\"\\u2A7D\",lesdot:\"\\u2A7F\",lesdoto:\"\\u2A81\",lesdotor:\"\\u2A83\",lesg:\"\\u22DA\\uFE00\",lesges:\"\\u2A93\",lessapprox:\"\\u2A85\",lessdot:\"\\u22D6\",lesseqgtr:\"\\u22DA\",lesseqqgtr:\"\\u2A8B\",LessEqualGreater:\"\\u22DA\",LessFullEqual:\"\\u2266\",LessGreater:\"\\u2276\",lessgtr:\"\\u2276\",LessLess:\"\\u2AA1\",lesssim:\"\\u2272\",LessSlantEqual:\"\\u2A7D\",LessTilde:\"\\u2272\",lfisht:\"\\u297C\",lfloor:\"\\u230A\",Lfr:\"\\u{1D50F}\",lfr:\"\\u{1D529}\",lg:\"\\u2276\",lgE:\"\\u2A91\",lHar:\"\\u2962\",lhard:\"\\u21BD\",lharu:\"\\u21BC\",lharul:\"\\u296A\",lhblk:\"\\u2584\",LJcy:\"\\u0409\",ljcy:\"\\u0459\",llarr:\"\\u21C7\",ll:\"\\u226A\",Ll:\"\\u22D8\",llcorner:\"\\u231E\",Lleftarrow:\"\\u21DA\",llhard:\"\\u296B\",lltri:\"\\u25FA\",Lmidot:\"\\u013F\",lmidot:\"\\u0140\",lmoustache:\"\\u23B0\",lmoust:\"\\u23B0\",lnap:\"\\u2A89\",lnapprox:\"\\u2A89\",lne:\"\\u2A87\",lnE:\"\\u2268\",lneq:\"\\u2A87\",lneqq:\"\\u2268\",lnsim:\"\\u22E6\",loang:\"\\u27EC\",loarr:\"\\u21FD\",lobrk:\"\\u27E6\",longleftarrow:\"\\u27F5\",LongLeftArrow:\"\\u27F5\",Longleftarrow:\"\\u27F8\",longleftrightarrow:\"\\u27F7\",LongLeftRightArrow:\"\\u27F7\",Longleftrightarrow:\"\\u27FA\",longmapsto:\"\\u27FC\",longrightarrow:\"\\u27F6\",LongRightArrow:\"\\u27F6\",Longrightarrow:\"\\u27F9\",looparrowleft:\"\\u21AB\",looparrowright:\"\\u21AC\",lopar:\"\\u2985\",Lopf:\"\\u{1D543}\",lopf:\"\\u{1D55D}\",loplus:\"\\u2A2D\",lotimes:\"\\u2A34\",lowast:\"\\u2217\",lowbar:\"_\",LowerLeftArrow:\"\\u2199\",LowerRightArrow:\"\\u2198\",loz:\"\\u25CA\",lozenge:\"\\u25CA\",lozf:\"\\u29EB\",lpar:\"(\",lparlt:\"\\u2993\",lrarr:\"\\u21C6\",lrcorner:\"\\u231F\",lrhar:\"\\u21CB\",lrhard:\"\\u296D\",lrm:\"\\u200E\",lrtri:\"\\u22BF\",lsaquo:\"\\u2039\",lscr:\"\\u{1D4C1}\",Lscr:\"\\u2112\",lsh:\"\\u21B0\",Lsh:\"\\u21B0\",lsim:\"\\u2272\",lsime:\"\\u2A8D\",lsimg:\"\\u2A8F\",lsqb:\"[\",lsquo:\"\\u2018\",lsquor:\"\\u201A\",Lstrok:\"\\u0141\",lstrok:\"\\u0142\",ltcc:\"\\u2AA6\",ltcir:\"\\u2A79\",lt:\"<\",LT:\"<\",Lt:\"\\u226A\",ltdot:\"\\u22D6\",lthree:\"\\u22CB\",ltimes:\"\\u22C9\",ltlarr:\"\\u2976\",ltquest:\"\\u2A7B\",ltri:\"\\u25C3\",ltrie:\"\\u22B4\",ltrif:\"\\u25C2\",ltrPar:\"\\u2996\",lurdshar:\"\\u294A\",luruhar:\"\\u2966\",lvertneqq:\"\\u2268\\uFE00\",lvnE:\"\\u2268\\uFE00\",macr:\"\\xAF\",male:\"\\u2642\",malt:\"\\u2720\",maltese:\"\\u2720\",Map:\"\\u2905\",map:\"\\u21A6\",mapsto:\"\\u21A6\",mapstodown:\"\\u21A7\",mapstoleft:\"\\u21A4\",mapstoup:\"\\u21A5\",marker:\"\\u25AE\",mcomma:\"\\u2A29\",Mcy:\"\\u041C\",mcy:\"\\u043C\",mdash:\"\\u2014\",mDDot:\"\\u223A\",measuredangle:\"\\u2221\",MediumSpace:\"\\u205F\",Mellintrf:\"\\u2133\",Mfr:\"\\u{1D510}\",mfr:\"\\u{1D52A}\",mho:\"\\u2127\",micro:\"\\xB5\",midast:\"*\",midcir:\"\\u2AF0\",mid:\"\\u2223\",middot:\"\\xB7\",minusb:\"\\u229F\",minus:\"\\u2212\",minusd:\"\\u2238\",minusdu:\"\\u2A2A\",MinusPlus:\"\\u2213\",mlcp:\"\\u2ADB\",mldr:\"\\u2026\",mnplus:\"\\u2213\",models:\"\\u22A7\",Mopf:\"\\u{1D544}\",mopf:\"\\u{1D55E}\",mp:\"\\u2213\",mscr:\"\\u{1D4C2}\",Mscr:\"\\u2133\",mstpos:\"\\u223E\",Mu:\"\\u039C\",mu:\"\\u03BC\",multimap:\"\\u22B8\",mumap:\"\\u22B8\",nabla:\"\\u2207\",Nacute:\"\\u0143\",nacute:\"\\u0144\",nang:\"\\u2220\\u20D2\",nap:\"\\u2249\",napE:\"\\u2A70\\u0338\",napid:\"\\u224B\\u0338\",napos:\"\\u0149\",napprox:\"\\u2249\",natural:\"\\u266E\",naturals:\"\\u2115\",natur:\"\\u266E\",nbsp:\"\\xA0\",nbump:\"\\u224E\\u0338\",nbumpe:\"\\u224F\\u0338\",ncap:\"\\u2A43\",Ncaron:\"\\u0147\",ncaron:\"\\u0148\",Ncedil:\"\\u0145\",ncedil:\"\\u0146\",ncong:\"\\u2247\",ncongdot:\"\\u2A6D\\u0338\",ncup:\"\\u2A42\",Ncy:\"\\u041D\",ncy:\"\\u043D\",ndash:\"\\u2013\",nearhk:\"\\u2924\",nearr:\"\\u2197\",neArr:\"\\u21D7\",nearrow:\"\\u2197\",ne:\"\\u2260\",nedot:\"\\u2250\\u0338\",NegativeMediumSpace:\"\\u200B\",NegativeThickSpace:\"\\u200B\",NegativeThinSpace:\"\\u200B\",NegativeVeryThinSpace:\"\\u200B\",nequiv:\"\\u2262\",nesear:\"\\u2928\",nesim:\"\\u2242\\u0338\",NestedGreaterGreater:\"\\u226B\",NestedLessLess:\"\\u226A\",NewLine:`\n`,nexist:\"\\u2204\",nexists:\"\\u2204\",Nfr:\"\\u{1D511}\",nfr:\"\\u{1D52B}\",ngE:\"\\u2267\\u0338\",nge:\"\\u2271\",ngeq:\"\\u2271\",ngeqq:\"\\u2267\\u0338\",ngeqslant:\"\\u2A7E\\u0338\",nges:\"\\u2A7E\\u0338\",nGg:\"\\u22D9\\u0338\",ngsim:\"\\u2275\",nGt:\"\\u226B\\u20D2\",ngt:\"\\u226F\",ngtr:\"\\u226F\",nGtv:\"\\u226B\\u0338\",nharr:\"\\u21AE\",nhArr:\"\\u21CE\",nhpar:\"\\u2AF2\",ni:\"\\u220B\",nis:\"\\u22FC\",nisd:\"\\u22FA\",niv:\"\\u220B\",NJcy:\"\\u040A\",njcy:\"\\u045A\",nlarr:\"\\u219A\",nlArr:\"\\u21CD\",nldr:\"\\u2025\",nlE:\"\\u2266\\u0338\",nle:\"\\u2270\",nleftarrow:\"\\u219A\",nLeftarrow:\"\\u21CD\",nleftrightarrow:\"\\u21AE\",nLeftrightarrow:\"\\u21CE\",nleq:\"\\u2270\",nleqq:\"\\u2266\\u0338\",nleqslant:\"\\u2A7D\\u0338\",nles:\"\\u2A7D\\u0338\",nless:\"\\u226E\",nLl:\"\\u22D8\\u0338\",nlsim:\"\\u2274\",nLt:\"\\u226A\\u20D2\",nlt:\"\\u226E\",nltri:\"\\u22EA\",nltrie:\"\\u22EC\",nLtv:\"\\u226A\\u0338\",nmid:\"\\u2224\",NoBreak:\"\\u2060\",NonBreakingSpace:\"\\xA0\",nopf:\"\\u{1D55F}\",Nopf:\"\\u2115\",Not:\"\\u2AEC\",not:\"\\xAC\",NotCongruent:\"\\u2262\",NotCupCap:\"\\u226D\",NotDoubleVerticalBar:\"\\u2226\",NotElement:\"\\u2209\",NotEqual:\"\\u2260\",NotEqualTilde:\"\\u2242\\u0338\",NotExists:\"\\u2204\",NotGreater:\"\\u226F\",NotGreaterEqual:\"\\u2271\",NotGreaterFullEqual:\"\\u2267\\u0338\",NotGreaterGreater:\"\\u226B\\u0338\",NotGreaterLess:\"\\u2279\",NotGreaterSlantEqual:\"\\u2A7E\\u0338\",NotGreaterTilde:\"\\u2275\",NotHumpDownHump:\"\\u224E\\u0338\",NotHumpEqual:\"\\u224F\\u0338\",notin:\"\\u2209\",notindot:\"\\u22F5\\u0338\",notinE:\"\\u22F9\\u0338\",notinva:\"\\u2209\",notinvb:\"\\u22F7\",notinvc:\"\\u22F6\",NotLeftTriangleBar:\"\\u29CF\\u0338\",NotLeftTriangle:\"\\u22EA\",NotLeftTriangleEqual:\"\\u22EC\",NotLess:\"\\u226E\",NotLessEqual:\"\\u2270\",NotLessGreater:\"\\u2278\",NotLessLess:\"\\u226A\\u0338\",NotLessSlantEqual:\"\\u2A7D\\u0338\",NotLessTilde:\"\\u2274\",NotNestedGreaterGreater:\"\\u2AA2\\u0338\",NotNestedLessLess:\"\\u2AA1\\u0338\",notni:\"\\u220C\",notniva:\"\\u220C\",notnivb:\"\\u22FE\",notnivc:\"\\u22FD\",NotPrecedes:\"\\u2280\",NotPrecedesEqual:\"\\u2AAF\\u0338\",NotPrecedesSlantEqual:\"\\u22E0\",NotReverseElement:\"\\u220C\",NotRightTriangleBar:\"\\u29D0\\u0338\",NotRightTriangle:\"\\u22EB\",NotRightTriangleEqual:\"\\u22ED\",NotSquareSubset:\"\\u228F\\u0338\",NotSquareSubsetEqual:\"\\u22E2\",NotSquareSuperset:\"\\u2290\\u0338\",NotSquareSupersetEqual:\"\\u22E3\",NotSubset:\"\\u2282\\u20D2\",NotSubsetEqual:\"\\u2288\",NotSucceeds:\"\\u2281\",NotSucceedsEqual:\"\\u2AB0\\u0338\",NotSucceedsSlantEqual:\"\\u22E1\",NotSucceedsTilde:\"\\u227F\\u0338\",NotSuperset:\"\\u2283\\u20D2\",NotSupersetEqual:\"\\u2289\",NotTilde:\"\\u2241\",NotTildeEqual:\"\\u2244\",NotTildeFullEqual:\"\\u2247\",NotTildeTilde:\"\\u2249\",NotVerticalBar:\"\\u2224\",nparallel:\"\\u2226\",npar:\"\\u2226\",nparsl:\"\\u2AFD\\u20E5\",npart:\"\\u2202\\u0338\",npolint:\"\\u2A14\",npr:\"\\u2280\",nprcue:\"\\u22E0\",nprec:\"\\u2280\",npreceq:\"\\u2AAF\\u0338\",npre:\"\\u2AAF\\u0338\",nrarrc:\"\\u2933\\u0338\",nrarr:\"\\u219B\",nrArr:\"\\u21CF\",nrarrw:\"\\u219D\\u0338\",nrightarrow:\"\\u219B\",nRightarrow:\"\\u21CF\",nrtri:\"\\u22EB\",nrtrie:\"\\u22ED\",nsc:\"\\u2281\",nsccue:\"\\u22E1\",nsce:\"\\u2AB0\\u0338\",Nscr:\"\\u{1D4A9}\",nscr:\"\\u{1D4C3}\",nshortmid:\"\\u2224\",nshortparallel:\"\\u2226\",nsim:\"\\u2241\",nsime:\"\\u2244\",nsimeq:\"\\u2244\",nsmid:\"\\u2224\",nspar:\"\\u2226\",nsqsube:\"\\u22E2\",nsqsupe:\"\\u22E3\",nsub:\"\\u2284\",nsubE:\"\\u2AC5\\u0338\",nsube:\"\\u2288\",nsubset:\"\\u2282\\u20D2\",nsubseteq:\"\\u2288\",nsubseteqq:\"\\u2AC5\\u0338\",nsucc:\"\\u2281\",nsucceq:\"\\u2AB0\\u0338\",nsup:\"\\u2285\",nsupE:\"\\u2AC6\\u0338\",nsupe:\"\\u2289\",nsupset:\"\\u2283\\u20D2\",nsupseteq:\"\\u2289\",nsupseteqq:\"\\u2AC6\\u0338\",ntgl:\"\\u2279\",Ntilde:\"\\xD1\",ntilde:\"\\xF1\",ntlg:\"\\u2278\",ntriangleleft:\"\\u22EA\",ntrianglelefteq:\"\\u22EC\",ntriangleright:\"\\u22EB\",ntrianglerighteq:\"\\u22ED\",Nu:\"\\u039D\",nu:\"\\u03BD\",num:\"#\",numero:\"\\u2116\",numsp:\"\\u2007\",nvap:\"\\u224D\\u20D2\",nvdash:\"\\u22AC\",nvDash:\"\\u22AD\",nVdash:\"\\u22AE\",nVDash:\"\\u22AF\",nvge:\"\\u2265\\u20D2\",nvgt:\">\\u20D2\",nvHarr:\"\\u2904\",nvinfin:\"\\u29DE\",nvlArr:\"\\u2902\",nvle:\"\\u2264\\u20D2\",nvlt:\"<\\u20D2\",nvltrie:\"\\u22B4\\u20D2\",nvrArr:\"\\u2903\",nvrtrie:\"\\u22B5\\u20D2\",nvsim:\"\\u223C\\u20D2\",nwarhk:\"\\u2923\",nwarr:\"\\u2196\",nwArr:\"\\u21D6\",nwarrow:\"\\u2196\",nwnear:\"\\u2927\",Oacute:\"\\xD3\",oacute:\"\\xF3\",oast:\"\\u229B\",Ocirc:\"\\xD4\",ocirc:\"\\xF4\",ocir:\"\\u229A\",Ocy:\"\\u041E\",ocy:\"\\u043E\",odash:\"\\u229D\",Odblac:\"\\u0150\",odblac:\"\\u0151\",odiv:\"\\u2A38\",odot:\"\\u2299\",odsold:\"\\u29BC\",OElig:\"\\u0152\",oelig:\"\\u0153\",ofcir:\"\\u29BF\",Ofr:\"\\u{1D512}\",ofr:\"\\u{1D52C}\",ogon:\"\\u02DB\",Ograve:\"\\xD2\",ograve:\"\\xF2\",ogt:\"\\u29C1\",ohbar:\"\\u29B5\",ohm:\"\\u03A9\",oint:\"\\u222E\",olarr:\"\\u21BA\",olcir:\"\\u29BE\",olcross:\"\\u29BB\",oline:\"\\u203E\",olt:\"\\u29C0\",Omacr:\"\\u014C\",omacr:\"\\u014D\",Omega:\"\\u03A9\",omega:\"\\u03C9\",Omicron:\"\\u039F\",omicron:\"\\u03BF\",omid:\"\\u29B6\",ominus:\"\\u2296\",Oopf:\"\\u{1D546}\",oopf:\"\\u{1D560}\",opar:\"\\u29B7\",OpenCurlyDoubleQuote:\"\\u201C\",OpenCurlyQuote:\"\\u2018\",operp:\"\\u29B9\",oplus:\"\\u2295\",orarr:\"\\u21BB\",Or:\"\\u2A54\",or:\"\\u2228\",ord:\"\\u2A5D\",order:\"\\u2134\",orderof:\"\\u2134\",ordf:\"\\xAA\",ordm:\"\\xBA\",origof:\"\\u22B6\",oror:\"\\u2A56\",orslope:\"\\u2A57\",orv:\"\\u2A5B\",oS:\"\\u24C8\",Oscr:\"\\u{1D4AA}\",oscr:\"\\u2134\",Oslash:\"\\xD8\",oslash:\"\\xF8\",osol:\"\\u2298\",Otilde:\"\\xD5\",otilde:\"\\xF5\",otimesas:\"\\u2A36\",Otimes:\"\\u2A37\",otimes:\"\\u2297\",Ouml:\"\\xD6\",ouml:\"\\xF6\",ovbar:\"\\u233D\",OverBar:\"\\u203E\",OverBrace:\"\\u23DE\",OverBracket:\"\\u23B4\",OverParenthesis:\"\\u23DC\",para:\"\\xB6\",parallel:\"\\u2225\",par:\"\\u2225\",parsim:\"\\u2AF3\",parsl:\"\\u2AFD\",part:\"\\u2202\",PartialD:\"\\u2202\",Pcy:\"\\u041F\",pcy:\"\\u043F\",percnt:\"%\",period:\".\",permil:\"\\u2030\",perp:\"\\u22A5\",pertenk:\"\\u2031\",Pfr:\"\\u{1D513}\",pfr:\"\\u{1D52D}\",Phi:\"\\u03A6\",phi:\"\\u03C6\",phiv:\"\\u03D5\",phmmat:\"\\u2133\",phone:\"\\u260E\",Pi:\"\\u03A0\",pi:\"\\u03C0\",pitchfork:\"\\u22D4\",piv:\"\\u03D6\",planck:\"\\u210F\",planckh:\"\\u210E\",plankv:\"\\u210F\",plusacir:\"\\u2A23\",plusb:\"\\u229E\",pluscir:\"\\u2A22\",plus:\"+\",plusdo:\"\\u2214\",plusdu:\"\\u2A25\",pluse:\"\\u2A72\",PlusMinus:\"\\xB1\",plusmn:\"\\xB1\",plussim:\"\\u2A26\",plustwo:\"\\u2A27\",pm:\"\\xB1\",Poincareplane:\"\\u210C\",pointint:\"\\u2A15\",popf:\"\\u{1D561}\",Popf:\"\\u2119\",pound:\"\\xA3\",prap:\"\\u2AB7\",Pr:\"\\u2ABB\",pr:\"\\u227A\",prcue:\"\\u227C\",precapprox:\"\\u2AB7\",prec:\"\\u227A\",preccurlyeq:\"\\u227C\",Precedes:\"\\u227A\",PrecedesEqual:\"\\u2AAF\",PrecedesSlantEqual:\"\\u227C\",PrecedesTilde:\"\\u227E\",preceq:\"\\u2AAF\",precnapprox:\"\\u2AB9\",precneqq:\"\\u2AB5\",precnsim:\"\\u22E8\",pre:\"\\u2AAF\",prE:\"\\u2AB3\",precsim:\"\\u227E\",prime:\"\\u2032\",Prime:\"\\u2033\",primes:\"\\u2119\",prnap:\"\\u2AB9\",prnE:\"\\u2AB5\",prnsim:\"\\u22E8\",prod:\"\\u220F\",Product:\"\\u220F\",profalar:\"\\u232E\",profline:\"\\u2312\",profsurf:\"\\u2313\",prop:\"\\u221D\",Proportional:\"\\u221D\",Proportion:\"\\u2237\",propto:\"\\u221D\",prsim:\"\\u227E\",prurel:\"\\u22B0\",Pscr:\"\\u{1D4AB}\",pscr:\"\\u{1D4C5}\",Psi:\"\\u03A8\",psi:\"\\u03C8\",puncsp:\"\\u2008\",Qfr:\"\\u{1D514}\",qfr:\"\\u{1D52E}\",qint:\"\\u2A0C\",qopf:\"\\u{1D562}\",Qopf:\"\\u211A\",qprime:\"\\u2057\",Qscr:\"\\u{1D4AC}\",qscr:\"\\u{1D4C6}\",quaternions:\"\\u210D\",quatint:\"\\u2A16\",quest:\"?\",questeq:\"\\u225F\",quot:'\"',QUOT:'\"',rAarr:\"\\u21DB\",race:\"\\u223D\\u0331\",Racute:\"\\u0154\",racute:\"\\u0155\",radic:\"\\u221A\",raemptyv:\"\\u29B3\",rang:\"\\u27E9\",Rang:\"\\u27EB\",rangd:\"\\u2992\",range:\"\\u29A5\",rangle:\"\\u27E9\",raquo:\"\\xBB\",rarrap:\"\\u2975\",rarrb:\"\\u21E5\",rarrbfs:\"\\u2920\",rarrc:\"\\u2933\",rarr:\"\\u2192\",Rarr:\"\\u21A0\",rArr:\"\\u21D2\",rarrfs:\"\\u291E\",rarrhk:\"\\u21AA\",rarrlp:\"\\u21AC\",rarrpl:\"\\u2945\",rarrsim:\"\\u2974\",Rarrtl:\"\\u2916\",rarrtl:\"\\u21A3\",rarrw:\"\\u219D\",ratail:\"\\u291A\",rAtail:\"\\u291C\",ratio:\"\\u2236\",rationals:\"\\u211A\",rbarr:\"\\u290D\",rBarr:\"\\u290F\",RBarr:\"\\u2910\",rbbrk:\"\\u2773\",rbrace:\"}\",rbrack:\"]\",rbrke:\"\\u298C\",rbrksld:\"\\u298E\",rbrkslu:\"\\u2990\",Rcaron:\"\\u0158\",rcaron:\"\\u0159\",Rcedil:\"\\u0156\",rcedil:\"\\u0157\",rceil:\"\\u2309\",rcub:\"}\",Rcy:\"\\u0420\",rcy:\"\\u0440\",rdca:\"\\u2937\",rdldhar:\"\\u2969\",rdquo:\"\\u201D\",rdquor:\"\\u201D\",rdsh:\"\\u21B3\",real:\"\\u211C\",realine:\"\\u211B\",realpart:\"\\u211C\",reals:\"\\u211D\",Re:\"\\u211C\",rect:\"\\u25AD\",reg:\"\\xAE\",REG:\"\\xAE\",ReverseElement:\"\\u220B\",ReverseEquilibrium:\"\\u21CB\",ReverseUpEquilibrium:\"\\u296F\",rfisht:\"\\u297D\",rfloor:\"\\u230B\",rfr:\"\\u{1D52F}\",Rfr:\"\\u211C\",rHar:\"\\u2964\",rhard:\"\\u21C1\",rharu:\"\\u21C0\",rharul:\"\\u296C\",Rho:\"\\u03A1\",rho:\"\\u03C1\",rhov:\"\\u03F1\",RightAngleBracket:\"\\u27E9\",RightArrowBar:\"\\u21E5\",rightarrow:\"\\u2192\",RightArrow:\"\\u2192\",Rightarrow:\"\\u21D2\",RightArrowLeftArrow:\"\\u21C4\",rightarrowtail:\"\\u21A3\",RightCeiling:\"\\u2309\",RightDoubleBracket:\"\\u27E7\",RightDownTeeVector:\"\\u295D\",RightDownVectorBar:\"\\u2955\",RightDownVector:\"\\u21C2\",RightFloor:\"\\u230B\",rightharpoondown:\"\\u21C1\",rightharpoonup:\"\\u21C0\",rightleftarrows:\"\\u21C4\",rightleftharpoons:\"\\u21CC\",rightrightarrows:\"\\u21C9\",rightsquigarrow:\"\\u219D\",RightTeeArrow:\"\\u21A6\",RightTee:\"\\u22A2\",RightTeeVector:\"\\u295B\",rightthreetimes:\"\\u22CC\",RightTriangleBar:\"\\u29D0\",RightTriangle:\"\\u22B3\",RightTriangleEqual:\"\\u22B5\",RightUpDownVector:\"\\u294F\",RightUpTeeVector:\"\\u295C\",RightUpVectorBar:\"\\u2954\",RightUpVector:\"\\u21BE\",RightVectorBar:\"\\u2953\",RightVector:\"\\u21C0\",ring:\"\\u02DA\",risingdotseq:\"\\u2253\",rlarr:\"\\u21C4\",rlhar:\"\\u21CC\",rlm:\"\\u200F\",rmoustache:\"\\u23B1\",rmoust:\"\\u23B1\",rnmid:\"\\u2AEE\",roang:\"\\u27ED\",roarr:\"\\u21FE\",robrk:\"\\u27E7\",ropar:\"\\u2986\",ropf:\"\\u{1D563}\",Ropf:\"\\u211D\",roplus:\"\\u2A2E\",rotimes:\"\\u2A35\",RoundImplies:\"\\u2970\",rpar:\")\",rpargt:\"\\u2994\",rppolint:\"\\u2A12\",rrarr:\"\\u21C9\",Rrightarrow:\"\\u21DB\",rsaquo:\"\\u203A\",rscr:\"\\u{1D4C7}\",Rscr:\"\\u211B\",rsh:\"\\u21B1\",Rsh:\"\\u21B1\",rsqb:\"]\",rsquo:\"\\u2019\",rsquor:\"\\u2019\",rthree:\"\\u22CC\",rtimes:\"\\u22CA\",rtri:\"\\u25B9\",rtrie:\"\\u22B5\",rtrif:\"\\u25B8\",rtriltri:\"\\u29CE\",RuleDelayed:\"\\u29F4\",ruluhar:\"\\u2968\",rx:\"\\u211E\",Sacute:\"\\u015A\",sacute:\"\\u015B\",sbquo:\"\\u201A\",scap:\"\\u2AB8\",Scaron:\"\\u0160\",scaron:\"\\u0161\",Sc:\"\\u2ABC\",sc:\"\\u227B\",sccue:\"\\u227D\",sce:\"\\u2AB0\",scE:\"\\u2AB4\",Scedil:\"\\u015E\",scedil:\"\\u015F\",Scirc:\"\\u015C\",scirc:\"\\u015D\",scnap:\"\\u2ABA\",scnE:\"\\u2AB6\",scnsim:\"\\u22E9\",scpolint:\"\\u2A13\",scsim:\"\\u227F\",Scy:\"\\u0421\",scy:\"\\u0441\",sdotb:\"\\u22A1\",sdot:\"\\u22C5\",sdote:\"\\u2A66\",searhk:\"\\u2925\",searr:\"\\u2198\",seArr:\"\\u21D8\",searrow:\"\\u2198\",sect:\"\\xA7\",semi:\";\",seswar:\"\\u2929\",setminus:\"\\u2216\",setmn:\"\\u2216\",sext:\"\\u2736\",Sfr:\"\\u{1D516}\",sfr:\"\\u{1D530}\",sfrown:\"\\u2322\",sharp:\"\\u266F\",SHCHcy:\"\\u0429\",shchcy:\"\\u0449\",SHcy:\"\\u0428\",shcy:\"\\u0448\",ShortDownArrow:\"\\u2193\",ShortLeftArrow:\"\\u2190\",shortmid:\"\\u2223\",shortparallel:\"\\u2225\",ShortRightArrow:\"\\u2192\",ShortUpArrow:\"\\u2191\",shy:\"\\xAD\",Sigma:\"\\u03A3\",sigma:\"\\u03C3\",sigmaf:\"\\u03C2\",sigmav:\"\\u03C2\",sim:\"\\u223C\",simdot:\"\\u2A6A\",sime:\"\\u2243\",simeq:\"\\u2243\",simg:\"\\u2A9E\",simgE:\"\\u2AA0\",siml:\"\\u2A9D\",simlE:\"\\u2A9F\",simne:\"\\u2246\",simplus:\"\\u2A24\",simrarr:\"\\u2972\",slarr:\"\\u2190\",SmallCircle:\"\\u2218\",smallsetminus:\"\\u2216\",smashp:\"\\u2A33\",smeparsl:\"\\u29E4\",smid:\"\\u2223\",smile:\"\\u2323\",smt:\"\\u2AAA\",smte:\"\\u2AAC\",smtes:\"\\u2AAC\\uFE00\",SOFTcy:\"\\u042C\",softcy:\"\\u044C\",solbar:\"\\u233F\",solb:\"\\u29C4\",sol:\"/\",Sopf:\"\\u{1D54A}\",sopf:\"\\u{1D564}\",spades:\"\\u2660\",spadesuit:\"\\u2660\",spar:\"\\u2225\",sqcap:\"\\u2293\",sqcaps:\"\\u2293\\uFE00\",sqcup:\"\\u2294\",sqcups:\"\\u2294\\uFE00\",Sqrt:\"\\u221A\",sqsub:\"\\u228F\",sqsube:\"\\u2291\",sqsubset:\"\\u228F\",sqsubseteq:\"\\u2291\",sqsup:\"\\u2290\",sqsupe:\"\\u2292\",sqsupset:\"\\u2290\",sqsupseteq:\"\\u2292\",square:\"\\u25A1\",Square:\"\\u25A1\",SquareIntersection:\"\\u2293\",SquareSubset:\"\\u228F\",SquareSubsetEqual:\"\\u2291\",SquareSuperset:\"\\u2290\",SquareSupersetEqual:\"\\u2292\",SquareUnion:\"\\u2294\",squarf:\"\\u25AA\",squ:\"\\u25A1\",squf:\"\\u25AA\",srarr:\"\\u2192\",Sscr:\"\\u{1D4AE}\",sscr:\"\\u{1D4C8}\",ssetmn:\"\\u2216\",ssmile:\"\\u2323\",sstarf:\"\\u22C6\",Star:\"\\u22C6\",star:\"\\u2606\",starf:\"\\u2605\",straightepsilon:\"\\u03F5\",straightphi:\"\\u03D5\",strns:\"\\xAF\",sub:\"\\u2282\",Sub:\"\\u22D0\",subdot:\"\\u2ABD\",subE:\"\\u2AC5\",sube:\"\\u2286\",subedot:\"\\u2AC3\",submult:\"\\u2AC1\",subnE:\"\\u2ACB\",subne:\"\\u228A\",subplus:\"\\u2ABF\",subrarr:\"\\u2979\",subset:\"\\u2282\",Subset:\"\\u22D0\",subseteq:\"\\u2286\",subseteqq:\"\\u2AC5\",SubsetEqual:\"\\u2286\",subsetneq:\"\\u228A\",subsetneqq:\"\\u2ACB\",subsim:\"\\u2AC7\",subsub:\"\\u2AD5\",subsup:\"\\u2AD3\",succapprox:\"\\u2AB8\",succ:\"\\u227B\",succcurlyeq:\"\\u227D\",Succeeds:\"\\u227B\",SucceedsEqual:\"\\u2AB0\",SucceedsSlantEqual:\"\\u227D\",SucceedsTilde:\"\\u227F\",succeq:\"\\u2AB0\",succnapprox:\"\\u2ABA\",succneqq:\"\\u2AB6\",succnsim:\"\\u22E9\",succsim:\"\\u227F\",SuchThat:\"\\u220B\",sum:\"\\u2211\",Sum:\"\\u2211\",sung:\"\\u266A\",sup1:\"\\xB9\",sup2:\"\\xB2\",sup3:\"\\xB3\",sup:\"\\u2283\",Sup:\"\\u22D1\",supdot:\"\\u2ABE\",supdsub:\"\\u2AD8\",supE:\"\\u2AC6\",supe:\"\\u2287\",supedot:\"\\u2AC4\",Superset:\"\\u2283\",SupersetEqual:\"\\u2287\",suphsol:\"\\u27C9\",suphsub:\"\\u2AD7\",suplarr:\"\\u297B\",supmult:\"\\u2AC2\",supnE:\"\\u2ACC\",supne:\"\\u228B\",supplus:\"\\u2AC0\",supset:\"\\u2283\",Supset:\"\\u22D1\",supseteq:\"\\u2287\",supseteqq:\"\\u2AC6\",supsetneq:\"\\u228B\",supsetneqq:\"\\u2ACC\",supsim:\"\\u2AC8\",supsub:\"\\u2AD4\",supsup:\"\\u2AD6\",swarhk:\"\\u2926\",swarr:\"\\u2199\",swArr:\"\\u21D9\",swarrow:\"\\u2199\",swnwar:\"\\u292A\",szlig:\"\\xDF\",Tab:\"\t\",target:\"\\u2316\",Tau:\"\\u03A4\",tau:\"\\u03C4\",tbrk:\"\\u23B4\",Tcaron:\"\\u0164\",tcaron:\"\\u0165\",Tcedil:\"\\u0162\",tcedil:\"\\u0163\",Tcy:\"\\u0422\",tcy:\"\\u0442\",tdot:\"\\u20DB\",telrec:\"\\u2315\",Tfr:\"\\u{1D517}\",tfr:\"\\u{1D531}\",there4:\"\\u2234\",therefore:\"\\u2234\",Therefore:\"\\u2234\",Theta:\"\\u0398\",theta:\"\\u03B8\",thetasym:\"\\u03D1\",thetav:\"\\u03D1\",thickapprox:\"\\u2248\",thicksim:\"\\u223C\",ThickSpace:\"\\u205F\\u200A\",ThinSpace:\"\\u2009\",thinsp:\"\\u2009\",thkap:\"\\u2248\",thksim:\"\\u223C\",THORN:\"\\xDE\",thorn:\"\\xFE\",tilde:\"\\u02DC\",Tilde:\"\\u223C\",TildeEqual:\"\\u2243\",TildeFullEqual:\"\\u2245\",TildeTilde:\"\\u2248\",timesbar:\"\\u2A31\",timesb:\"\\u22A0\",times:\"\\xD7\",timesd:\"\\u2A30\",tint:\"\\u222D\",toea:\"\\u2928\",topbot:\"\\u2336\",topcir:\"\\u2AF1\",top:\"\\u22A4\",Topf:\"\\u{1D54B}\",topf:\"\\u{1D565}\",topfork:\"\\u2ADA\",tosa:\"\\u2929\",tprime:\"\\u2034\",trade:\"\\u2122\",TRADE:\"\\u2122\",triangle:\"\\u25B5\",triangledown:\"\\u25BF\",triangleleft:\"\\u25C3\",trianglelefteq:\"\\u22B4\",triangleq:\"\\u225C\",triangleright:\"\\u25B9\",trianglerighteq:\"\\u22B5\",tridot:\"\\u25EC\",trie:\"\\u225C\",triminus:\"\\u2A3A\",TripleDot:\"\\u20DB\",triplus:\"\\u2A39\",trisb:\"\\u29CD\",tritime:\"\\u2A3B\",trpezium:\"\\u23E2\",Tscr:\"\\u{1D4AF}\",tscr:\"\\u{1D4C9}\",TScy:\"\\u0426\",tscy:\"\\u0446\",TSHcy:\"\\u040B\",tshcy:\"\\u045B\",Tstrok:\"\\u0166\",tstrok:\"\\u0167\",twixt:\"\\u226C\",twoheadleftarrow:\"\\u219E\",twoheadrightarrow:\"\\u21A0\",Uacute:\"\\xDA\",uacute:\"\\xFA\",uarr:\"\\u2191\",Uarr:\"\\u219F\",uArr:\"\\u21D1\",Uarrocir:\"\\u2949\",Ubrcy:\"\\u040E\",ubrcy:\"\\u045E\",Ubreve:\"\\u016C\",ubreve:\"\\u016D\",Ucirc:\"\\xDB\",ucirc:\"\\xFB\",Ucy:\"\\u0423\",ucy:\"\\u0443\",udarr:\"\\u21C5\",Udblac:\"\\u0170\",udblac:\"\\u0171\",udhar:\"\\u296E\",ufisht:\"\\u297E\",Ufr:\"\\u{1D518}\",ufr:\"\\u{1D532}\",Ugrave:\"\\xD9\",ugrave:\"\\xF9\",uHar:\"\\u2963\",uharl:\"\\u21BF\",uharr:\"\\u21BE\",uhblk:\"\\u2580\",ulcorn:\"\\u231C\",ulcorner:\"\\u231C\",ulcrop:\"\\u230F\",ultri:\"\\u25F8\",Umacr:\"\\u016A\",umacr:\"\\u016B\",uml:\"\\xA8\",UnderBar:\"_\",UnderBrace:\"\\u23DF\",UnderBracket:\"\\u23B5\",UnderParenthesis:\"\\u23DD\",Union:\"\\u22C3\",UnionPlus:\"\\u228E\",Uogon:\"\\u0172\",uogon:\"\\u0173\",Uopf:\"\\u{1D54C}\",uopf:\"\\u{1D566}\",UpArrowBar:\"\\u2912\",uparrow:\"\\u2191\",UpArrow:\"\\u2191\",Uparrow:\"\\u21D1\",UpArrowDownArrow:\"\\u21C5\",updownarrow:\"\\u2195\",UpDownArrow:\"\\u2195\",Updownarrow:\"\\u21D5\",UpEquilibrium:\"\\u296E\",upharpoonleft:\"\\u21BF\",upharpoonright:\"\\u21BE\",uplus:\"\\u228E\",UpperLeftArrow:\"\\u2196\",UpperRightArrow:\"\\u2197\",upsi:\"\\u03C5\",Upsi:\"\\u03D2\",upsih:\"\\u03D2\",Upsilon:\"\\u03A5\",upsilon:\"\\u03C5\",UpTeeArrow:\"\\u21A5\",UpTee:\"\\u22A5\",upuparrows:\"\\u21C8\",urcorn:\"\\u231D\",urcorner:\"\\u231D\",urcrop:\"\\u230E\",Uring:\"\\u016E\",uring:\"\\u016F\",urtri:\"\\u25F9\",Uscr:\"\\u{1D4B0}\",uscr:\"\\u{1D4CA}\",utdot:\"\\u22F0\",Utilde:\"\\u0168\",utilde:\"\\u0169\",utri:\"\\u25B5\",utrif:\"\\u25B4\",uuarr:\"\\u21C8\",Uuml:\"\\xDC\",uuml:\"\\xFC\",uwangle:\"\\u29A7\",vangrt:\"\\u299C\",varepsilon:\"\\u03F5\",varkappa:\"\\u03F0\",varnothing:\"\\u2205\",varphi:\"\\u03D5\",varpi:\"\\u03D6\",varpropto:\"\\u221D\",varr:\"\\u2195\",vArr:\"\\u21D5\",varrho:\"\\u03F1\",varsigma:\"\\u03C2\",varsubsetneq:\"\\u228A\\uFE00\",varsubsetneqq:\"\\u2ACB\\uFE00\",varsupsetneq:\"\\u228B\\uFE00\",varsupsetneqq:\"\\u2ACC\\uFE00\",vartheta:\"\\u03D1\",vartriangleleft:\"\\u22B2\",vartriangleright:\"\\u22B3\",vBar:\"\\u2AE8\",Vbar:\"\\u2AEB\",vBarv:\"\\u2AE9\",Vcy:\"\\u0412\",vcy:\"\\u0432\",vdash:\"\\u22A2\",vDash:\"\\u22A8\",Vdash:\"\\u22A9\",VDash:\"\\u22AB\",Vdashl:\"\\u2AE6\",veebar:\"\\u22BB\",vee:\"\\u2228\",Vee:\"\\u22C1\",veeeq:\"\\u225A\",vellip:\"\\u22EE\",verbar:\"|\",Verbar:\"\\u2016\",vert:\"|\",Vert:\"\\u2016\",VerticalBar:\"\\u2223\",VerticalLine:\"|\",VerticalSeparator:\"\\u2758\",VerticalTilde:\"\\u2240\",VeryThinSpace:\"\\u200A\",Vfr:\"\\u{1D519}\",vfr:\"\\u{1D533}\",vltri:\"\\u22B2\",vnsub:\"\\u2282\\u20D2\",vnsup:\"\\u2283\\u20D2\",Vopf:\"\\u{1D54D}\",vopf:\"\\u{1D567}\",vprop:\"\\u221D\",vrtri:\"\\u22B3\",Vscr:\"\\u{1D4B1}\",vscr:\"\\u{1D4CB}\",vsubnE:\"\\u2ACB\\uFE00\",vsubne:\"\\u228A\\uFE00\",vsupnE:\"\\u2ACC\\uFE00\",vsupne:\"\\u228B\\uFE00\",Vvdash:\"\\u22AA\",vzigzag:\"\\u299A\",Wcirc:\"\\u0174\",wcirc:\"\\u0175\",wedbar:\"\\u2A5F\",wedge:\"\\u2227\",Wedge:\"\\u22C0\",wedgeq:\"\\u2259\",weierp:\"\\u2118\",Wfr:\"\\u{1D51A}\",wfr:\"\\u{1D534}\",Wopf:\"\\u{1D54E}\",wopf:\"\\u{1D568}\",wp:\"\\u2118\",wr:\"\\u2240\",wreath:\"\\u2240\",Wscr:\"\\u{1D4B2}\",wscr:\"\\u{1D4CC}\",xcap:\"\\u22C2\",xcirc:\"\\u25EF\",xcup:\"\\u22C3\",xdtri:\"\\u25BD\",Xfr:\"\\u{1D51B}\",xfr:\"\\u{1D535}\",xharr:\"\\u27F7\",xhArr:\"\\u27FA\",Xi:\"\\u039E\",xi:\"\\u03BE\",xlarr:\"\\u27F5\",xlArr:\"\\u27F8\",xmap:\"\\u27FC\",xnis:\"\\u22FB\",xodot:\"\\u2A00\",Xopf:\"\\u{1D54F}\",xopf:\"\\u{1D569}\",xoplus:\"\\u2A01\",xotime:\"\\u2A02\",xrarr:\"\\u27F6\",xrArr:\"\\u27F9\",Xscr:\"\\u{1D4B3}\",xscr:\"\\u{1D4CD}\",xsqcup:\"\\u2A06\",xuplus:\"\\u2A04\",xutri:\"\\u25B3\",xvee:\"\\u22C1\",xwedge:\"\\u22C0\",Yacute:\"\\xDD\",yacute:\"\\xFD\",YAcy:\"\\u042F\",yacy:\"\\u044F\",Ycirc:\"\\u0176\",ycirc:\"\\u0177\",Ycy:\"\\u042B\",ycy:\"\\u044B\",yen:\"\\xA5\",Yfr:\"\\u{1D51C}\",yfr:\"\\u{1D536}\",YIcy:\"\\u0407\",yicy:\"\\u0457\",Yopf:\"\\u{1D550}\",yopf:\"\\u{1D56A}\",Yscr:\"\\u{1D4B4}\",yscr:\"\\u{1D4CE}\",YUcy:\"\\u042E\",yucy:\"\\u044E\",yuml:\"\\xFF\",Yuml:\"\\u0178\",Zacute:\"\\u0179\",zacute:\"\\u017A\",Zcaron:\"\\u017D\",zcaron:\"\\u017E\",Zcy:\"\\u0417\",zcy:\"\\u0437\",Zdot:\"\\u017B\",zdot:\"\\u017C\",zeetrf:\"\\u2128\",ZeroWidthSpace:\"\\u200B\",Zeta:\"\\u0396\",zeta:\"\\u03B6\",zfr:\"\\u{1D537}\",Zfr:\"\\u2128\",ZHcy:\"\\u0416\",zhcy:\"\\u0436\",zigrarr:\"\\u21DD\",zopf:\"\\u{1D56B}\",Zopf:\"\\u2124\",Zscr:\"\\u{1D4B5}\",zscr:\"\\u{1D4CF}\",zwj:\"\\u200D\",zwnj:\"\\u200C\"},M8=/^#[xX]([A-Fa-f0-9]+)$/,KE=/^#([0-9]+)$/,lm=/^([A-Za-z0-9]+)$/,mS=function(){function Ux(ue){this.named=ue}return Ux.prototype.parse=function(ue){if(ue){var Xe=ue.match(M8);return Xe?String.fromCharCode(parseInt(Xe[1],16)):(Xe=ue.match(KE))?String.fromCharCode(parseInt(Xe[1],10)):(Xe=ue.match(lm))?this.named[Xe[1]]:void 0}},Ux}(),aT=/[\\t\\n\\f ]/,h4=/[A-Za-z]/,G4=/\\r\\n?/g;function k6(Ux){return aT.test(Ux)}function xw(Ux){return h4.test(Ux)}var UT=function(){function Ux(ue,Xe,Ht){Ht===void 0&&(Ht=\"precompile\"),this.delegate=ue,this.entityParser=Xe,this.mode=Ht,this.state=\"beforeData\",this.line=-1,this.column=-1,this.input=\"\",this.index=-1,this.tagNameBuffer=\"\",this.states={beforeData:function(){var le=this.peek();if(le!==\"<\"||this.isIgnoredEndTag()){if(this.mode===\"precompile\"&&le===`\n`){var hr=this.tagNameBuffer.toLowerCase();hr!==\"pre\"&&hr!==\"textarea\"||this.consume()}this.transitionTo(\"data\"),this.delegate.beginData()}else this.transitionTo(\"tagOpen\"),this.markTagStart(),this.consume()},data:function(){var le=this.peek(),hr=this.tagNameBuffer;le!==\"<\"||this.isIgnoredEndTag()?le===\"&\"&&hr!==\"script\"&&hr!==\"style\"?(this.consume(),this.delegate.appendToData(this.consumeCharRef()||\"&\")):(this.consume(),this.delegate.appendToData(le)):(this.delegate.finishData(),this.transitionTo(\"tagOpen\"),this.markTagStart(),this.consume())},tagOpen:function(){var le=this.consume();le===\"!\"?this.transitionTo(\"markupDeclarationOpen\"):le===\"/\"?this.transitionTo(\"endTagOpen\"):(le===\"@\"||le===\":\"||xw(le))&&(this.transitionTo(\"tagName\"),this.tagNameBuffer=\"\",this.delegate.beginStartTag(),this.appendToTagName(le))},markupDeclarationOpen:function(){var le=this.consume();le===\"-\"&&this.peek()===\"-\"?(this.consume(),this.transitionTo(\"commentStart\"),this.delegate.beginComment()):le.toUpperCase()+this.input.substring(this.index,this.index+6).toUpperCase()===\"DOCTYPE\"&&(this.consume(),this.consume(),this.consume(),this.consume(),this.consume(),this.consume(),this.transitionTo(\"doctype\"),this.delegate.beginDoctype&&this.delegate.beginDoctype())},doctype:function(){k6(this.consume())&&this.transitionTo(\"beforeDoctypeName\")},beforeDoctypeName:function(){var le=this.consume();k6(le)||(this.transitionTo(\"doctypeName\"),this.delegate.appendToDoctypeName&&this.delegate.appendToDoctypeName(le.toLowerCase()))},doctypeName:function(){var le=this.consume();k6(le)?this.transitionTo(\"afterDoctypeName\"):le===\">\"?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo(\"beforeData\")):this.delegate.appendToDoctypeName&&this.delegate.appendToDoctypeName(le.toLowerCase())},afterDoctypeName:function(){var le=this.consume();if(!k6(le))if(le===\">\")this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo(\"beforeData\");else{var hr=le.toUpperCase()+this.input.substring(this.index,this.index+5).toUpperCase(),pr=hr.toUpperCase()===\"PUBLIC\",lt=hr.toUpperCase()===\"SYSTEM\";(pr||lt)&&(this.consume(),this.consume(),this.consume(),this.consume(),this.consume(),this.consume()),pr?this.transitionTo(\"afterDoctypePublicKeyword\"):lt&&this.transitionTo(\"afterDoctypeSystemKeyword\")}},afterDoctypePublicKeyword:function(){var le=this.peek();k6(le)?(this.transitionTo(\"beforeDoctypePublicIdentifier\"),this.consume()):le==='\"'?(this.transitionTo(\"doctypePublicIdentifierDoubleQuoted\"),this.consume()):le===\"'\"?(this.transitionTo(\"doctypePublicIdentifierSingleQuoted\"),this.consume()):le===\">\"&&(this.consume(),this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo(\"beforeData\"))},doctypePublicIdentifierDoubleQuoted:function(){var le=this.consume();le==='\"'?this.transitionTo(\"afterDoctypePublicIdentifier\"):le===\">\"?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo(\"beforeData\")):this.delegate.appendToDoctypePublicIdentifier&&this.delegate.appendToDoctypePublicIdentifier(le)},doctypePublicIdentifierSingleQuoted:function(){var le=this.consume();le===\"'\"?this.transitionTo(\"afterDoctypePublicIdentifier\"):le===\">\"?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo(\"beforeData\")):this.delegate.appendToDoctypePublicIdentifier&&this.delegate.appendToDoctypePublicIdentifier(le)},afterDoctypePublicIdentifier:function(){var le=this.consume();k6(le)?this.transitionTo(\"betweenDoctypePublicAndSystemIdentifiers\"):le===\">\"?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo(\"beforeData\")):le==='\"'?this.transitionTo(\"doctypeSystemIdentifierDoubleQuoted\"):le===\"'\"&&this.transitionTo(\"doctypeSystemIdentifierSingleQuoted\")},betweenDoctypePublicAndSystemIdentifiers:function(){var le=this.consume();k6(le)||(le===\">\"?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo(\"beforeData\")):le==='\"'?this.transitionTo(\"doctypeSystemIdentifierDoubleQuoted\"):le===\"'\"&&this.transitionTo(\"doctypeSystemIdentifierSingleQuoted\"))},doctypeSystemIdentifierDoubleQuoted:function(){var le=this.consume();le==='\"'?this.transitionTo(\"afterDoctypeSystemIdentifier\"):le===\">\"?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo(\"beforeData\")):this.delegate.appendToDoctypeSystemIdentifier&&this.delegate.appendToDoctypeSystemIdentifier(le)},doctypeSystemIdentifierSingleQuoted:function(){var le=this.consume();le===\"'\"?this.transitionTo(\"afterDoctypeSystemIdentifier\"):le===\">\"?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo(\"beforeData\")):this.delegate.appendToDoctypeSystemIdentifier&&this.delegate.appendToDoctypeSystemIdentifier(le)},afterDoctypeSystemIdentifier:function(){var le=this.consume();k6(le)||le===\">\"&&(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo(\"beforeData\"))},commentStart:function(){var le=this.consume();le===\"-\"?this.transitionTo(\"commentStartDash\"):le===\">\"?(this.delegate.finishComment(),this.transitionTo(\"beforeData\")):(this.delegate.appendToCommentData(le),this.transitionTo(\"comment\"))},commentStartDash:function(){var le=this.consume();le===\"-\"?this.transitionTo(\"commentEnd\"):le===\">\"?(this.delegate.finishComment(),this.transitionTo(\"beforeData\")):(this.delegate.appendToCommentData(\"-\"),this.transitionTo(\"comment\"))},comment:function(){var le=this.consume();le===\"-\"?this.transitionTo(\"commentEndDash\"):this.delegate.appendToCommentData(le)},commentEndDash:function(){var le=this.consume();le===\"-\"?this.transitionTo(\"commentEnd\"):(this.delegate.appendToCommentData(\"-\"+le),this.transitionTo(\"comment\"))},commentEnd:function(){var le=this.consume();le===\">\"?(this.delegate.finishComment(),this.transitionTo(\"beforeData\")):(this.delegate.appendToCommentData(\"--\"+le),this.transitionTo(\"comment\"))},tagName:function(){var le=this.consume();k6(le)?this.transitionTo(\"beforeAttributeName\"):le===\"/\"?this.transitionTo(\"selfClosingStartTag\"):le===\">\"?(this.delegate.finishTag(),this.transitionTo(\"beforeData\")):this.appendToTagName(le)},endTagName:function(){var le=this.consume();k6(le)?(this.transitionTo(\"beforeAttributeName\"),this.tagNameBuffer=\"\"):le===\"/\"?(this.transitionTo(\"selfClosingStartTag\"),this.tagNameBuffer=\"\"):le===\">\"?(this.delegate.finishTag(),this.transitionTo(\"beforeData\"),this.tagNameBuffer=\"\"):this.appendToTagName(le)},beforeAttributeName:function(){var le=this.peek();k6(le)?this.consume():le===\"/\"?(this.transitionTo(\"selfClosingStartTag\"),this.consume()):le===\">\"?(this.consume(),this.delegate.finishTag(),this.transitionTo(\"beforeData\")):le===\"=\"?(this.delegate.reportSyntaxError(\"attribute name cannot start with equals sign\"),this.transitionTo(\"attributeName\"),this.delegate.beginAttribute(),this.consume(),this.delegate.appendToAttributeName(le)):(this.transitionTo(\"attributeName\"),this.delegate.beginAttribute())},attributeName:function(){var le=this.peek();k6(le)?(this.transitionTo(\"afterAttributeName\"),this.consume()):le===\"/\"?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.transitionTo(\"selfClosingStartTag\")):le===\"=\"?(this.transitionTo(\"beforeAttributeValue\"),this.consume()):le===\">\"?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.delegate.finishTag(),this.transitionTo(\"beforeData\")):le==='\"'||le===\"'\"||le===\"<\"?(this.delegate.reportSyntaxError(le+\" is not a valid character within attribute names\"),this.consume(),this.delegate.appendToAttributeName(le)):(this.consume(),this.delegate.appendToAttributeName(le))},afterAttributeName:function(){var le=this.peek();k6(le)?this.consume():le===\"/\"?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.transitionTo(\"selfClosingStartTag\")):le===\"=\"?(this.consume(),this.transitionTo(\"beforeAttributeValue\")):le===\">\"?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.delegate.finishTag(),this.transitionTo(\"beforeData\")):(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.transitionTo(\"attributeName\"),this.delegate.beginAttribute(),this.consume(),this.delegate.appendToAttributeName(le))},beforeAttributeValue:function(){var le=this.peek();k6(le)?this.consume():le==='\"'?(this.transitionTo(\"attributeValueDoubleQuoted\"),this.delegate.beginAttributeValue(!0),this.consume()):le===\"'\"?(this.transitionTo(\"attributeValueSingleQuoted\"),this.delegate.beginAttributeValue(!0),this.consume()):le===\">\"?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.delegate.finishTag(),this.transitionTo(\"beforeData\")):(this.transitionTo(\"attributeValueUnquoted\"),this.delegate.beginAttributeValue(!1),this.consume(),this.delegate.appendToAttributeValue(le))},attributeValueDoubleQuoted:function(){var le=this.consume();le==='\"'?(this.delegate.finishAttributeValue(),this.transitionTo(\"afterAttributeValueQuoted\")):le===\"&\"?this.delegate.appendToAttributeValue(this.consumeCharRef()||\"&\"):this.delegate.appendToAttributeValue(le)},attributeValueSingleQuoted:function(){var le=this.consume();le===\"'\"?(this.delegate.finishAttributeValue(),this.transitionTo(\"afterAttributeValueQuoted\")):le===\"&\"?this.delegate.appendToAttributeValue(this.consumeCharRef()||\"&\"):this.delegate.appendToAttributeValue(le)},attributeValueUnquoted:function(){var le=this.peek();k6(le)?(this.delegate.finishAttributeValue(),this.consume(),this.transitionTo(\"beforeAttributeName\")):le===\"/\"?(this.delegate.finishAttributeValue(),this.consume(),this.transitionTo(\"selfClosingStartTag\")):le===\"&\"?(this.consume(),this.delegate.appendToAttributeValue(this.consumeCharRef()||\"&\")):le===\">\"?(this.delegate.finishAttributeValue(),this.consume(),this.delegate.finishTag(),this.transitionTo(\"beforeData\")):(this.consume(),this.delegate.appendToAttributeValue(le))},afterAttributeValueQuoted:function(){var le=this.peek();k6(le)?(this.consume(),this.transitionTo(\"beforeAttributeName\")):le===\"/\"?(this.consume(),this.transitionTo(\"selfClosingStartTag\")):le===\">\"?(this.consume(),this.delegate.finishTag(),this.transitionTo(\"beforeData\")):this.transitionTo(\"beforeAttributeName\")},selfClosingStartTag:function(){this.peek()===\">\"?(this.consume(),this.delegate.markTagAsSelfClosing(),this.delegate.finishTag(),this.transitionTo(\"beforeData\")):this.transitionTo(\"beforeAttributeName\")},endTagOpen:function(){var le=this.consume();(le===\"@\"||le===\":\"||xw(le))&&(this.transitionTo(\"endTagName\"),this.tagNameBuffer=\"\",this.delegate.beginEndTag(),this.appendToTagName(le))}},this.reset()}return Ux.prototype.reset=function(){this.transitionTo(\"beforeData\"),this.input=\"\",this.tagNameBuffer=\"\",this.index=0,this.line=1,this.column=0,this.delegate.reset()},Ux.prototype.transitionTo=function(ue){this.state=ue},Ux.prototype.tokenize=function(ue){this.reset(),this.tokenizePart(ue),this.tokenizeEOF()},Ux.prototype.tokenizePart=function(ue){for(this.input+=function(Ht){return Ht.replace(G4,`\n`)}(ue);this.index<this.input.length;){var Xe=this.states[this.state];if(Xe===void 0)throw new Error(\"unhandled state \"+this.state);Xe.call(this)}},Ux.prototype.tokenizeEOF=function(){this.flushData()},Ux.prototype.flushData=function(){this.state===\"data\"&&(this.delegate.finishData(),this.transitionTo(\"beforeData\"))},Ux.prototype.peek=function(){return this.input.charAt(this.index)},Ux.prototype.consume=function(){var ue=this.peek();return this.index++,ue===`\n`?(this.line++,this.column=0):this.column++,ue},Ux.prototype.consumeCharRef=function(){var ue=this.input.indexOf(\";\",this.index);if(ue!==-1){var Xe=this.input.slice(this.index,ue),Ht=this.entityParser.parse(Xe);if(Ht){for(var le=Xe.length;le;)this.consume(),le--;return this.consume(),Ht}}},Ux.prototype.markTagStart=function(){this.delegate.tagOpen()},Ux.prototype.appendToTagName=function(ue){this.tagNameBuffer+=ue,this.delegate.appendToTagName(ue)},Ux.prototype.isIgnoredEndTag=function(){var ue=this.tagNameBuffer;return ue===\"title\"&&this.input.substring(this.index,this.index+8)!==\"</title>\"||ue===\"style\"&&this.input.substring(this.index,this.index+8)!==\"</style>\"||ue===\"script\"&&this.input.substring(this.index,this.index+9)!==\"<\\/script>\"},Ux}(),oT=function(){function Ux(ue,Xe){Xe===void 0&&(Xe={}),this.options=Xe,this.token=null,this.startLine=1,this.startColumn=0,this.tokens=[],this.tokenizer=new UT(this,ue,Xe.mode),this._currentAttribute=void 0}return Ux.prototype.tokenize=function(ue){return this.tokens=[],this.tokenizer.tokenize(ue),this.tokens},Ux.prototype.tokenizePart=function(ue){return this.tokens=[],this.tokenizer.tokenizePart(ue),this.tokens},Ux.prototype.tokenizeEOF=function(){return this.tokens=[],this.tokenizer.tokenizeEOF(),this.tokens[0]},Ux.prototype.reset=function(){this.token=null,this.startLine=1,this.startColumn=0},Ux.prototype.current=function(){var ue=this.token;if(ue===null)throw new Error(\"token was unexpectedly null\");if(arguments.length===0)return ue;for(var Xe=0;Xe<arguments.length;Xe++)if(ue.type===arguments[Xe])return ue;throw new Error(\"token type was unexpectedly \"+ue.type)},Ux.prototype.push=function(ue){this.token=ue,this.tokens.push(ue)},Ux.prototype.currentAttribute=function(){return this._currentAttribute},Ux.prototype.addLocInfo=function(){this.options.loc&&(this.current().loc={start:{line:this.startLine,column:this.startColumn},end:{line:this.tokenizer.line,column:this.tokenizer.column}}),this.startLine=this.tokenizer.line,this.startColumn=this.tokenizer.column},Ux.prototype.beginDoctype=function(){this.push({type:\"Doctype\",name:\"\"})},Ux.prototype.appendToDoctypeName=function(ue){this.current(\"Doctype\").name+=ue},Ux.prototype.appendToDoctypePublicIdentifier=function(ue){var Xe=this.current(\"Doctype\");Xe.publicIdentifier===void 0?Xe.publicIdentifier=ue:Xe.publicIdentifier+=ue},Ux.prototype.appendToDoctypeSystemIdentifier=function(ue){var Xe=this.current(\"Doctype\");Xe.systemIdentifier===void 0?Xe.systemIdentifier=ue:Xe.systemIdentifier+=ue},Ux.prototype.endDoctype=function(){this.addLocInfo()},Ux.prototype.beginData=function(){this.push({type:\"Chars\",chars:\"\"})},Ux.prototype.appendToData=function(ue){this.current(\"Chars\").chars+=ue},Ux.prototype.finishData=function(){this.addLocInfo()},Ux.prototype.beginComment=function(){this.push({type:\"Comment\",chars:\"\"})},Ux.prototype.appendToCommentData=function(ue){this.current(\"Comment\").chars+=ue},Ux.prototype.finishComment=function(){this.addLocInfo()},Ux.prototype.tagOpen=function(){},Ux.prototype.beginStartTag=function(){this.push({type:\"StartTag\",tagName:\"\",attributes:[],selfClosing:!1})},Ux.prototype.beginEndTag=function(){this.push({type:\"EndTag\",tagName:\"\"})},Ux.prototype.finishTag=function(){this.addLocInfo()},Ux.prototype.markTagAsSelfClosing=function(){this.current(\"StartTag\").selfClosing=!0},Ux.prototype.appendToTagName=function(ue){this.current(\"StartTag\",\"EndTag\").tagName+=ue},Ux.prototype.beginAttribute=function(){this._currentAttribute=[\"\",\"\",!1]},Ux.prototype.appendToAttributeName=function(ue){this.currentAttribute()[0]+=ue},Ux.prototype.beginAttributeValue=function(ue){this.currentAttribute()[2]=ue},Ux.prototype.appendToAttributeValue=function(ue){this.currentAttribute()[1]+=ue},Ux.prototype.finishAttributeValue=function(){this.current(\"StartTag\").attributes.push(this._currentAttribute)},Ux.prototype.reportSyntaxError=function(ue){this.current().syntaxError=ue},Ux}(),G8,y6=Object.freeze({__proto__:null,HTML5NamedCharRefs:r6,EntityParser:mS,EventedTokenizer:UT,Tokenizer:oT,tokenize:function(Ux,ue){return new oT(new mS(r6),ue).tokenize(Ux)}}),nS=function(Ux,ue={entityEncoding:\"transformed\"}){return Ux?new jD.default(ue).print(Ux):\"\"},jD=(G8=Ig)&&G8.__esModule?G8:{default:G8},X4=Object.defineProperty({default:nS},\"__esModule\",{value:!0}),SF=function(Ux,ue){let{module:Xe,loc:Ht}=ue,{line:le,column:hr}=Ht.start,pr=ue.asString(),lt=pr?`\n\n|\n|  ${pr.split(`\n`).join(`\n|  `)}\n|\n\n`:\"\",Qr=new Error(`${Ux}: ${lt}(error occurred in '${Xe}' @ line ${le} : column ${hr})`);return Qr.name=\"SyntaxError\",Qr.location=ue,Qr.code=pr,Qr},ad=Object.defineProperty({generateSyntaxError:SF},\"__esModule\",{value:!0}),XS=b(function(Ux,ue){Object.defineProperty(ue,\"__esModule\",{value:!0}),ue.default=void 0;var Xe={Program:(0,Qn.tuple)(\"body\"),Template:(0,Qn.tuple)(\"body\"),Block:(0,Qn.tuple)(\"body\"),MustacheStatement:(0,Qn.tuple)(\"path\",\"params\",\"hash\"),BlockStatement:(0,Qn.tuple)(\"path\",\"params\",\"hash\",\"program\",\"inverse\"),ElementModifierStatement:(0,Qn.tuple)(\"path\",\"params\",\"hash\"),PartialStatement:(0,Qn.tuple)(\"name\",\"params\",\"hash\"),CommentStatement:(0,Qn.tuple)(),MustacheCommentStatement:(0,Qn.tuple)(),ElementNode:(0,Qn.tuple)(\"attributes\",\"modifiers\",\"children\",\"comments\"),AttrNode:(0,Qn.tuple)(\"value\"),TextNode:(0,Qn.tuple)(),ConcatStatement:(0,Qn.tuple)(\"parts\"),SubExpression:(0,Qn.tuple)(\"path\",\"params\",\"hash\"),PathExpression:(0,Qn.tuple)(),PathHead:(0,Qn.tuple)(),StringLiteral:(0,Qn.tuple)(),BooleanLiteral:(0,Qn.tuple)(),NumberLiteral:(0,Qn.tuple)(),NullLiteral:(0,Qn.tuple)(),UndefinedLiteral:(0,Qn.tuple)(),Hash:(0,Qn.tuple)(\"pairs\"),HashPair:(0,Qn.tuple)(\"value\"),NamedBlock:(0,Qn.tuple)(\"attributes\",\"modifiers\",\"children\",\"comments\"),SimpleElement:(0,Qn.tuple)(\"attributes\",\"modifiers\",\"children\",\"comments\"),Component:(0,Qn.tuple)(\"head\",\"attributes\",\"modifiers\",\"children\",\"comments\")};ue.default=Xe}),X8=b(function(Ux,ue){Object.defineProperty(ue,\"__esModule\",{value:!0}),ue.cannotRemoveNode=function(le,hr,pr){return new Xe(\"Cannot remove a node unless it is part of an array\",le,hr,pr)},ue.cannotReplaceNode=function(le,hr,pr){return new Xe(\"Cannot replace a node with multiple nodes unless it is part of an array\",le,hr,pr)},ue.cannotReplaceOrRemoveInKeyHandlerYet=function(le,hr){return new Xe(\"Replacing and removing in key handlers is not yet supported.\",le,null,hr)},ue.default=void 0;const Xe=function(){function le(hr,pr,lt,Qr){let Wi=Error.call(this,hr);this.key=Qr,this.message=hr,this.node=pr,this.parent=lt,this.stack=Wi.stack}return le.prototype=Object.create(Error.prototype),le.prototype.constructor=le,le}();var Ht=Xe;ue.default=Ht}),gA=b(function(Ux,ue){function Xe(pr){switch(pr.type){case\"ElementNode\":return pr.tag.split(\".\")[0];case\"SubExpression\":case\"MustacheStatement\":case\"BlockStatement\":return Xe(pr.path);case\"UndefinedLiteral\":case\"NullLiteral\":case\"BooleanLiteral\":case\"StringLiteral\":case\"NumberLiteral\":case\"TextNode\":case\"Template\":case\"Block\":case\"CommentStatement\":case\"MustacheCommentStatement\":case\"PartialStatement\":case\"ElementModifierStatement\":case\"AttrNode\":case\"ConcatStatement\":case\"Program\":case\"Hash\":case\"HashPair\":return;case\"PathExpression\":default:return pr.parts.length?pr.parts[0]:void 0}}function Ht(pr){switch(pr.type){case\"ElementNode\":case\"Program\":case\"Block\":case\"Template\":return pr.blockParams;case\"BlockStatement\":return pr.program.blockParams;default:return}}Object.defineProperty(ue,\"__esModule\",{value:!0}),ue.default=ue.TransformScope=void 0;class le{constructor(lt){this.locals=lt,this.hasPartial=!1,this.usedLocals={};for(const Qr of lt)this.usedLocals[Qr]=!1}child(lt){let Qr=Ht(lt);return Qr?new hr(Qr,this):this}usePartial(){this.hasPartial=!0}}ue.TransformScope=le,ue.default=class extends le{constructor(pr){var lt;super((lt=Ht(pr))!==null&&lt!==void 0?lt:[])}useLocal(pr){let lt=Xe(pr);lt&&lt in this.usedLocals&&(this.usedLocals[lt]=!0)}isLocal(pr){return this.locals.indexOf(pr)!==-1}currentUnusedLocals(){return!this.hasPartial&&this.locals.length>0&&this.locals.filter(pr=>!this.usedLocals[pr])}};class hr extends le{constructor(lt,Qr){super(lt),this.parent=Qr}useLocal(lt){let Qr=Xe(lt);Qr&&Qr in this.usedLocals?this.usedLocals[Qr]=!0:this.parent.useLocal(lt)}isLocal(lt){return this.locals.indexOf(lt)!==-1||this.parent.isLocal(lt)}currentUnusedLocals(){return!this.hasPartial&&this.locals.length>0&&!this.usedLocals[this.locals[this.locals.length-1]]&&[this.locals[this.locals.length-1]]}}}),VT=b(function(Ux,ue){Object.defineProperty(ue,\"__esModule\",{value:!0}),ue.default=void 0;var Xe=function(le){return le&&le.__esModule?le:{default:le}}(gA);ue.default=class{constructor(le,hr=null,pr=null){this.node=le,this.parent=hr,this.parentKey=pr,this.scope=hr?hr.scope.child(le):new Xe.default(le),le.type===\"PathExpression\"&&this.scope.useLocal(le),le.type===\"ElementNode\"&&(this.scope.useLocal(le),le.children.forEach(lt=>this.scope.useLocal(lt)))}get parentNode(){return this.parent?this.parent.node:null}parents(){return{[Symbol.iterator]:()=>new Ht(this)}}};class Ht{constructor(hr){this.path=hr}next(){return this.path.parent?(this.path=this.path.parent,{done:!1,value:this.path}):{done:!0,value:null}}}}),YS=function(Ux,ue){let Xe=new QS.default(Ux);n6(ue,Xe)},_A=qF(XS),QS=qF(VT);function qF(Ux){return Ux&&Ux.__esModule?Ux:{default:Ux}}function jS(Ux){return typeof Ux==\"function\"?Ux:Ux.enter}function zE(Ux){return typeof Ux==\"function\"?void 0:Ux.exit}function n6(Ux,ue){let Xe,Ht,le,{node:hr,parent:pr,parentKey:lt}=ue,Qr=function(Wi,Io){if((Io===\"Template\"||Io===\"Block\")&&Wi.Program)return Wi.Program;let Uo=Wi[Io];return Uo!==void 0?Uo:Wi.All}(Ux,hr.type);if(Qr!==void 0&&(Xe=jS(Qr),Ht=zE(Qr)),Xe!==void 0&&(le=Xe(hr,ue)),le!=null){if(JSON.stringify(hr)!==JSON.stringify(le))return Array.isArray(le)?(O4(Ux,le,pr,lt),le):n6(Ux,new QS.default(le,pr,lt))||le;le=void 0}if(le===void 0){let Wi=_A.default[hr.type];for(let Io=0;Io<Wi.length;Io++)p6(Ux,Qr,ue,Wi[Io]);Ht!==void 0&&(le=Ht(hr,ue))}return le}function iS(Ux,ue,Xe){Ux[ue]=Xe}function p6(Ux,ue,Xe,Ht){let le,hr,{node:pr}=Xe,lt=function(Qr,Wi){return Qr[Wi]}(pr,Ht);if(lt){if(ue!==void 0){let Qr=function(Wi,Io){let Uo=typeof Wi!=\"function\"?Wi.keys:void 0;if(Uo===void 0)return;let sa=Uo[Io];return sa!==void 0?sa:Uo.All}(ue,Ht);Qr!==void 0&&(le=jS(Qr),hr=zE(Qr))}if(le!==void 0&&le(pr,Ht)!==void 0)throw(0,X8.cannotReplaceOrRemoveInKeyHandlerYet)(pr,Ht);if(Array.isArray(lt))O4(Ux,lt,Xe,Ht);else{let Qr=n6(Ux,new QS.default(lt,Xe,Ht));Qr!==void 0&&function(Wi,Io,Uo,sa){if(sa===null)throw(0,X8.cannotRemoveNode)(Uo,Wi,Io);if(Array.isArray(sa)){if(sa.length!==1)throw sa.length===0?(0,X8.cannotRemoveNode)(Uo,Wi,Io):(0,X8.cannotReplaceNode)(Uo,Wi,Io);iS(Wi,Io,sa[0])}else iS(Wi,Io,sa)}(pr,Ht,lt,Qr)}if(hr!==void 0&&hr(pr,Ht)!==void 0)throw(0,X8.cannotReplaceOrRemoveInKeyHandlerYet)(pr,Ht)}}function O4(Ux,ue,Xe,Ht){for(let le=0;le<ue.length;le++){let hr=ue[le],pr=n6(Ux,new QS.default(hr,Xe,Ht));pr!==void 0&&(le+=$T(ue,le,pr)-1)}}function $T(Ux,ue,Xe){return Xe===null?(Ux.splice(ue,1),0):Array.isArray(Xe)?(Ux.splice(ue,1,...Xe),Xe.length):(Ux.splice(ue,1,Xe),1)}var FF=Object.defineProperty({default:YS},\"__esModule\",{value:!0}),AF=b(function(Ux,ue){Object.defineProperty(ue,\"__esModule\",{value:!0}),ue.default=void 0,ue.default=class{constructor(Ht){this.order=Ht,this.stack=[]}visit(Ht,le){Ht&&(this.stack.push(Ht),this.order===\"post\"?(this.children(Ht,le),le(Ht,this)):(le(Ht,this),this.children(Ht,le)),this.stack.pop())}children(Ht,le){switch(Ht.type){case\"Block\":case\"Template\":return Xe.Program(this,Ht,le);case\"ElementNode\":return Xe.ElementNode(this,Ht,le);case\"BlockStatement\":return Xe.BlockStatement(this,Ht,le);default:return}}};const Xe={Program(Ht,le,hr){for(let pr=0;pr<le.body.length;pr++)Ht.visit(le.body[pr],hr)},Template(Ht,le,hr){for(let pr=0;pr<le.body.length;pr++)Ht.visit(le.body[pr],hr)},Block(Ht,le,hr){for(let pr=0;pr<le.body.length;pr++)Ht.visit(le.body[pr],hr)},ElementNode(Ht,le,hr){for(let pr=0;pr<le.children.length;pr++)Ht.visit(le.children[pr],hr)},BlockStatement(Ht,le,hr){Ht.visit(le.program,hr),Ht.visit(le.inverse||null,hr)}}}),Y8=function(Ux){let ue=function(Xe){let Ht=Xe.attributes.length,le=[];for(let pr=0;pr<Ht;pr++)le.push(Xe.attributes[pr].name);let hr=le.indexOf(\"as\");if(hr===-1&&le.length>0&&le[le.length-1].charAt(0)===\"|\")throw(0,ad.generateSyntaxError)(\"Block parameters must be preceded by the `as` keyword, detected block parameters without `as`\",Xe.loc);if(hr!==-1&&Ht>hr&&le[hr+1].charAt(0)===\"|\"){let pr=le.slice(hr).join(\" \");if(pr.charAt(pr.length-1)!==\"|\"||pr.match(/\\|/g).length!==2)throw(0,ad.generateSyntaxError)(\"Invalid block parameters syntax, '\"+pr+\"'\",Xe.loc);let lt=[];for(let Qr=hr+1;Qr<Ht;Qr++){let Wi=le[Qr].replace(/\\|/g,\"\");if(Wi!==\"\"){if(DA.test(Wi))throw(0,ad.generateSyntaxError)(\"Invalid identifier for block parameters, '\"+Wi+\"'\",Xe.loc);lt.push(Wi)}}if(lt.length===0)throw(0,ad.generateSyntaxError)(\"Cannot use zero block parameters\",Xe.loc);return Xe.attributes=Xe.attributes.slice(0,hr),lt}return null}(Ux);ue&&(Ux.blockParams=ue)},hS=_a,yA=function(Ux,ue){_a(Ux).push(ue)},JF=function(Ux){return Ux.type===\"StringLiteral\"||Ux.type===\"BooleanLiteral\"||Ux.type===\"NumberLiteral\"||Ux.type===\"NullLiteral\"||Ux.type===\"UndefinedLiteral\"},eE=function(Ux){return Ux.type===\"UndefinedLiteral\"?\"undefined\":JSON.stringify(Ux.value)},ew=function(Ux){return Ux[0]===Ux[0].toUpperCase()&&Ux[0]!==Ux[0].toLowerCase()},b5=function(Ux){return Ux[0]===Ux[0].toLowerCase()&&Ux[0]!==Ux[0].toUpperCase()};let DA=/[!\"#%-,\\.\\/;->@\\[-\\^`\\{-~]/;function _a(Ux){switch(Ux.type){case\"Block\":case\"Template\":return Ux.body;case\"ElementNode\":return Ux.children}}var $o=Object.defineProperty({parseElementBlockParams:Y8,childrenFor:hS,appendChild:yA,isHBSLiteral:JF,printLiteral:eE,isUpperCase:ew,isLowerCase:b5},\"__esModule\",{value:!0}),To=b(function(Ux,ue){Object.defineProperty(ue,\"__esModule\",{value:!0}),ue.default=void 0;const Xe={close:!1,open:!1};var Ht=new class{pos(le,hr){return{line:le,column:hr}}blockItself({body:le,blockParams:hr,chained:pr=!1,loc:lt}){return{type:\"Block\",body:le||[],blockParams:hr||[],chained:pr,loc:lt}}template({body:le,blockParams:hr,loc:pr}){return{type:\"Template\",body:le||[],blockParams:hr||[],loc:pr}}mustache({path:le,params:hr,hash:pr,trusting:lt,loc:Qr,strip:Wi=Xe}){return{type:\"MustacheStatement\",path:le,params:hr,hash:pr,escaped:!lt,trusting:lt,loc:Qr,strip:Wi||{open:!1,close:!1}}}block({path:le,params:hr,hash:pr,defaultBlock:lt,elseBlock:Qr=null,loc:Wi,openStrip:Io=Xe,inverseStrip:Uo=Xe,closeStrip:sa=Xe}){return{type:\"BlockStatement\",path:le,params:hr,hash:pr,program:lt,inverse:Qr,loc:Wi,openStrip:Io,inverseStrip:Uo,closeStrip:sa}}comment(le,hr){return{type:\"CommentStatement\",value:le,loc:hr}}mustacheComment(le,hr){return{type:\"MustacheCommentStatement\",value:le,loc:hr}}concat(le,hr){return{type:\"ConcatStatement\",parts:le,loc:hr}}element({tag:le,selfClosing:hr,attrs:pr,blockParams:lt,modifiers:Qr,comments:Wi,children:Io,loc:Uo}){return{type:\"ElementNode\",tag:le,selfClosing:hr,attributes:pr||[],blockParams:lt||[],modifiers:Qr||[],comments:Wi||[],children:Io||[],loc:Uo}}elementModifier({path:le,params:hr,hash:pr,loc:lt}){return{type:\"ElementModifierStatement\",path:le,params:hr,hash:pr,loc:lt}}attr({name:le,value:hr,loc:pr}){return{type:\"AttrNode\",name:le,value:hr,loc:pr}}text({chars:le,loc:hr}){return{type:\"TextNode\",chars:le,loc:hr}}sexpr({path:le,params:hr,hash:pr,loc:lt}){return{type:\"SubExpression\",path:le,params:hr,hash:pr,loc:lt}}path({head:le,tail:hr,loc:pr}){let{original:lt}=function(Wi){switch(Wi.type){case\"AtHead\":return{original:Wi.name,parts:[Wi.name]};case\"ThisHead\":return{original:\"this\",parts:[]};case\"VarHead\":return{original:Wi.name,parts:[Wi.name]}}}(le),Qr=[...lt,...hr].join(\".\");return new ja.PathExpressionImplV1(Qr,le,hr,pr)}head(le,hr){return le[0]===\"@\"?this.atName(le,hr):le===\"this\"?this.this(hr):this.var(le,hr)}this(le){return{type:\"ThisHead\",loc:le}}atName(le,hr){return{type:\"AtHead\",name:le,loc:hr}}var(le,hr){return{type:\"VarHead\",name:le,loc:hr}}hash(le,hr){return{type:\"Hash\",pairs:le||[],loc:hr}}pair({key:le,value:hr,loc:pr}){return{type:\"HashPair\",key:le,value:hr,loc:pr}}literal({type:le,value:hr,loc:pr}){return{type:le,value:hr,original:hr,loc:pr}}undefined(){return this.literal({type:\"UndefinedLiteral\",value:void 0})}null(){return this.literal({type:\"NullLiteral\",value:null})}string(le,hr){return this.literal({type:\"StringLiteral\",value:le,loc:hr})}boolean(le,hr){return this.literal({type:\"BooleanLiteral\",value:le,loc:hr})}number(le,hr){return this.literal({type:\"NumberLiteral\",value:le,loc:hr})}};ue.default=Ht}),Qc=b(function(Ux,ue){Object.defineProperty(ue,\"__esModule\",{value:!0}),ue.Parser=void 0,ue.Parser=class{constructor(Xe,Ht=new y6.EntityParser(y6.HTML5NamedCharRefs),le=\"precompile\"){this.elementStack=[],this.currentAttribute=null,this.currentNode=null,this.source=Xe,this.lines=Xe.source.split(/(?:\\r\\n?|\\n)/g),this.tokenizer=new y6.EventedTokenizer(this,Ht,le)}offset(){let{line:Xe,column:Ht}=this.tokenizer;return this.source.offsetFor(Xe,Ht)}pos({line:Xe,column:Ht}){return this.source.offsetFor(Xe,Ht)}finish(Xe){return(0,Qn.assign)({},Xe,{loc:Xe.loc.until(this.offset())})}get currentAttr(){return this.currentAttribute}get currentTag(){return this.currentNode}get currentStartTag(){return this.currentNode}get currentEndTag(){return this.currentNode}get currentComment(){return this.currentNode}get currentData(){return this.currentNode}acceptTemplate(Xe){return this[Xe.type](Xe)}acceptNode(Xe){return this[Xe.type](Xe)}currentElement(){return this.elementStack[this.elementStack.length-1]}sourceForNode(Xe,Ht){let le,hr,pr,lt=Xe.loc.start.line-1,Qr=lt-1,Wi=Xe.loc.start.column,Io=[];for(Ht?(hr=Ht.loc.end.line-1,pr=Ht.loc.end.column):(hr=Xe.loc.end.line-1,pr=Xe.loc.end.column);Qr<hr;)Qr++,le=this.lines[Qr],Qr===lt?lt===hr?Io.push(le.slice(Wi,pr)):Io.push(le.slice(Wi)):Qr===hr?Io.push(le.slice(0,pr)):Io.push(le);return Io.join(`\n`)}}}),od=b(function(Ux,ue){Object.defineProperty(ue,\"__esModule\",{value:!0}),ue.HandlebarsNodeVisitors=void 0;var Xe=function(pr){return pr&&pr.__esModule?pr:{default:pr}}(To);class Ht extends Qc.Parser{get isTopLevel(){return this.elementStack.length===0}Program(lt){let Qr,Wi=[];Qr=this.isTopLevel?Xe.default.template({body:Wi,blockParams:lt.blockParams,loc:this.source.spanFor(lt.loc)}):Xe.default.blockItself({body:Wi,blockParams:lt.blockParams,chained:lt.chained,loc:this.source.spanFor(lt.loc)});let Io,Uo=lt.body.length;if(this.elementStack.push(Qr),Uo===0)return this.elementStack.pop();for(Io=0;Io<Uo;Io++)this.acceptNode(lt.body[Io]);let sa=this.elementStack.pop();if(sa!==Qr){let fn=sa;throw(0,ad.generateSyntaxError)(`Unclosed element \\`${fn.tag}\\``,fn.loc)}return Qr}BlockStatement(lt){if(this.tokenizer.state===\"comment\")return void this.appendToCommentData(this.sourceForNode(lt));if(this.tokenizer.state!==\"data\"&&this.tokenizer.state!==\"beforeData\")throw(0,ad.generateSyntaxError)(\"A block may only be used inside an HTML element or another block.\",this.source.spanFor(lt.loc));let{path:Qr,params:Wi,hash:Io}=le(this,lt);lt.program.loc||(lt.program.loc=Bu.NON_EXISTENT_LOCATION),lt.inverse&&!lt.inverse.loc&&(lt.inverse.loc=Bu.NON_EXISTENT_LOCATION);let Uo=this.Program(lt.program),sa=lt.inverse?this.Program(lt.inverse):null,fn=Xe.default.block({path:Qr,params:Wi,hash:Io,defaultBlock:Uo,elseBlock:sa,loc:this.source.spanFor(lt.loc),openStrip:lt.openStrip,inverseStrip:lt.inverseStrip,closeStrip:lt.closeStrip}),Gn=this.currentElement();(0,$o.appendChild)(Gn,fn)}MustacheStatement(lt){let Qr,{tokenizer:Wi}=this;if(Wi.state===\"comment\")return void this.appendToCommentData(this.sourceForNode(lt));let{escaped:Io,loc:Uo,strip:sa}=lt;if((0,$o.isHBSLiteral)(lt.path))Qr=Xe.default.mustache({path:this.acceptNode(lt.path),params:[],hash:Xe.default.hash([],this.source.spanFor(lt.path.loc).collapse(\"end\")),trusting:!Io,loc:this.source.spanFor(Uo),strip:sa});else{let{path:fn,params:Gn,hash:Ti}=le(this,lt);Qr=Xe.default.mustache({path:fn,params:Gn,hash:Ti,trusting:!Io,loc:this.source.spanFor(Uo),strip:sa})}switch(Wi.state){case\"tagOpen\":case\"tagName\":throw(0,ad.generateSyntaxError)(\"Cannot use mustaches in an elements tagname\",Qr.loc);case\"beforeAttributeName\":hr(this.currentStartTag,Qr);break;case\"attributeName\":case\"afterAttributeName\":this.beginAttributeValue(!1),this.finishAttributeValue(),hr(this.currentStartTag,Qr),Wi.transitionTo(\"beforeAttributeName\");break;case\"afterAttributeValueQuoted\":hr(this.currentStartTag,Qr),Wi.transitionTo(\"beforeAttributeName\");break;case\"beforeAttributeValue\":this.beginAttributeValue(!1),this.appendDynamicAttributeValuePart(Qr),Wi.transitionTo(\"attributeValueUnquoted\");break;case\"attributeValueDoubleQuoted\":case\"attributeValueSingleQuoted\":case\"attributeValueUnquoted\":this.appendDynamicAttributeValuePart(Qr);break;default:(0,$o.appendChild)(this.currentElement(),Qr)}return Qr}appendDynamicAttributeValuePart(lt){this.finalizeTextPart();let Qr=this.currentAttr;Qr.isDynamic=!0,Qr.parts.push(lt)}finalizeTextPart(){let lt=this.currentAttr.currentPart;lt!==null&&(this.currentAttr.parts.push(lt),this.startTextPart())}startTextPart(){this.currentAttr.currentPart=null}ContentStatement(lt){(function(Qr,Wi){let Io=Wi.loc.start.line,Uo=Wi.loc.start.column,sa=function(fn,Gn){if(Gn===\"\")return{lines:fn.split(`\n`).length-1,columns:0};let Ti=fn.split(Gn)[0].split(/\\n/),Eo=Ti.length-1;return{lines:Eo,columns:Ti[Eo].length}}(Wi.original,Wi.value);Io+=sa.lines,sa.lines?Uo=sa.columns:Uo+=sa.columns,Qr.line=Io,Qr.column=Uo})(this.tokenizer,lt),this.tokenizer.tokenizePart(lt.value),this.tokenizer.flushData()}CommentStatement(lt){let{tokenizer:Qr}=this;if(Qr.state===\"comment\")return this.appendToCommentData(this.sourceForNode(lt)),null;let{value:Wi,loc:Io}=lt,Uo=Xe.default.mustacheComment(Wi,this.source.spanFor(Io));switch(Qr.state){case\"beforeAttributeName\":case\"afterAttributeName\":this.currentStartTag.comments.push(Uo);break;case\"beforeData\":case\"data\":(0,$o.appendChild)(this.currentElement(),Uo);break;default:throw(0,ad.generateSyntaxError)(`Using a Handlebars comment when in the \\`${Qr.state}\\` state is not supported`,this.source.spanFor(lt.loc))}return Uo}PartialStatement(lt){throw(0,ad.generateSyntaxError)(\"Handlebars partials are not supported\",this.source.spanFor(lt.loc))}PartialBlockStatement(lt){throw(0,ad.generateSyntaxError)(\"Handlebars partial blocks are not supported\",this.source.spanFor(lt.loc))}Decorator(lt){throw(0,ad.generateSyntaxError)(\"Handlebars decorators are not supported\",this.source.spanFor(lt.loc))}DecoratorBlock(lt){throw(0,ad.generateSyntaxError)(\"Handlebars decorator blocks are not supported\",this.source.spanFor(lt.loc))}SubExpression(lt){let{path:Qr,params:Wi,hash:Io}=le(this,lt);return Xe.default.sexpr({path:Qr,params:Wi,hash:Io,loc:this.source.spanFor(lt.loc)})}PathExpression(lt){let Qr,{original:Wi}=lt;if(Wi.indexOf(\"/\")!==-1){if(Wi.slice(0,2)===\"./\")throw(0,ad.generateSyntaxError)('Using \"./\" is not supported in Glimmer and unnecessary',this.source.spanFor(lt.loc));if(Wi.slice(0,3)===\"../\")throw(0,ad.generateSyntaxError)('Changing context using \"../\" is not supported in Glimmer',this.source.spanFor(lt.loc));if(Wi.indexOf(\".\")!==-1)throw(0,ad.generateSyntaxError)(\"Mixing '.' and '/' in paths is not supported in Glimmer; use only '.' to separate property paths\",this.source.spanFor(lt.loc));Qr=[lt.parts.join(\"/\")]}else{if(Wi===\".\")throw(0,ad.generateSyntaxError)(\"'.' is not a supported path in Glimmer; check for a path with a trailing '.'\",this.source.spanFor(lt.loc));Qr=lt.parts}let Io,Uo=!1;if(Wi.match(/^this(\\..+)?$/)&&(Uo=!0),Uo)Io={type:\"ThisHead\",loc:{start:lt.loc.start,end:{line:lt.loc.start.line,column:lt.loc.start.column+4}}};else if(lt.data){let sa=Qr.shift();if(sa===void 0)throw(0,ad.generateSyntaxError)(\"Attempted to parse a path expression, but it was not valid. Paths beginning with @ must start with a-z.\",this.source.spanFor(lt.loc));Io={type:\"AtHead\",name:`@${sa}`,loc:{start:lt.loc.start,end:{line:lt.loc.start.line,column:lt.loc.start.column+sa.length+1}}}}else{let sa=Qr.shift();if(sa===void 0)throw(0,ad.generateSyntaxError)(\"Attempted to parse a path expression, but it was not valid. Paths must start with a-z or A-Z.\",this.source.spanFor(lt.loc));Io={type:\"VarHead\",name:sa,loc:{start:lt.loc.start,end:{line:lt.loc.start.line,column:lt.loc.start.column+sa.length}}}}return new ja.PathExpressionImplV1(lt.original,Io,Qr,this.source.spanFor(lt.loc))}Hash(lt){let Qr=[];for(let Wi=0;Wi<lt.pairs.length;Wi++){let Io=lt.pairs[Wi];Qr.push(Xe.default.pair({key:Io.key,value:this.acceptNode(Io.value),loc:this.source.spanFor(Io.loc)}))}return Xe.default.hash(Qr,this.source.spanFor(lt.loc))}StringLiteral(lt){return Xe.default.literal({type:\"StringLiteral\",value:lt.value,loc:lt.loc})}BooleanLiteral(lt){return Xe.default.literal({type:\"BooleanLiteral\",value:lt.value,loc:lt.loc})}NumberLiteral(lt){return Xe.default.literal({type:\"NumberLiteral\",value:lt.value,loc:lt.loc})}UndefinedLiteral(lt){return Xe.default.literal({type:\"UndefinedLiteral\",value:void 0,loc:lt.loc})}NullLiteral(lt){return Xe.default.literal({type:\"NullLiteral\",value:null,loc:lt.loc})}}function le(pr,lt){let Qr=lt.path.type===\"PathExpression\"?pr.PathExpression(lt.path):pr.SubExpression(lt.path),Wi=lt.params?lt.params.map(Uo=>pr.acceptNode(Uo)):[],Io=Wi.length>0?Wi[Wi.length-1].loc:Qr.loc;return{path:Qr,params:Wi,hash:lt.hash?pr.Hash(lt.hash):{type:\"Hash\",pairs:[],loc:pr.source.spanFor(Io).collapse(\"end\")}}}function hr(pr,lt){let{path:Qr,params:Wi,hash:Io,loc:Uo}=lt;if((0,$o.isHBSLiteral)(Qr)){let fn=`{{${(0,$o.printLiteral)(Qr)}}}`,Gn=`<${pr.name} ... ${fn} ...`;throw(0,ad.generateSyntaxError)(`In ${Gn}, ${fn} is not a valid modifier`,lt.loc)}let sa=Xe.default.elementModifier({path:Qr,params:Wi,hash:Io,loc:Uo});pr.modifiers.push(sa)}ue.HandlebarsNodeVisitors=Ht}),_p=b(function(Ux,ue){Object.defineProperty(ue,\"__esModule\",{value:!0}),ue.preprocess=Uo,ue.TokenizerEventHandlers=void 0;var Xe=lt(X4),Ht=lt(FF),le=lt(AF),hr=lt(To),pr=lt(Ua);function lt(sa){return sa&&sa.__esModule?sa:{default:sa}}class Qr extends od.HandlebarsNodeVisitors{constructor(){super(...arguments),this.tagOpenLine=0,this.tagOpenColumn=0}reset(){this.currentNode=null}beginComment(){this.currentNode=hr.default.comment(\"\",this.source.offsetFor(this.tagOpenLine,this.tagOpenColumn))}appendToCommentData(fn){this.currentComment.value+=fn}finishComment(){(0,$o.appendChild)(this.currentElement(),this.finish(this.currentComment))}beginData(){this.currentNode=hr.default.text({chars:\"\",loc:this.offset().collapsed()})}appendToData(fn){this.currentData.chars+=fn}finishData(){this.currentData.loc=this.currentData.loc.withEnd(this.offset()),(0,$o.appendChild)(this.currentElement(),this.currentData)}tagOpen(){this.tagOpenLine=this.tokenizer.line,this.tagOpenColumn=this.tokenizer.column}beginStartTag(){this.currentNode={type:\"StartTag\",name:\"\",attributes:[],modifiers:[],comments:[],selfClosing:!1,loc:this.source.offsetFor(this.tagOpenLine,this.tagOpenColumn)}}beginEndTag(){this.currentNode={type:\"EndTag\",name:\"\",attributes:[],modifiers:[],comments:[],selfClosing:!1,loc:this.source.offsetFor(this.tagOpenLine,this.tagOpenColumn)}}finishTag(){let fn=this.finish(this.currentTag);if(fn.type===\"StartTag\"){if(this.finishStartTag(),fn.name===\":\")throw(0,ad.generateSyntaxError)(\"Invalid named block named detected, you may have created a named block without a name, or you may have began your name with a number. Named blocks must have names that are at least one character long, and begin with a lower case letter\",this.source.spanFor({start:this.currentTag.loc.toJSON(),end:this.offset().toJSON()}));(Ig.voidMap[fn.name]||fn.selfClosing)&&this.finishEndTag(!0)}else fn.type===\"EndTag\"&&this.finishEndTag(!1)}finishStartTag(){let{name:fn,attributes:Gn,modifiers:Ti,comments:Eo,selfClosing:qo,loc:ci}=this.finish(this.currentStartTag),os=hr.default.element({tag:fn,selfClosing:qo,attrs:Gn,modifiers:Ti,comments:Eo,children:[],blockParams:[],loc:ci});this.elementStack.push(os)}finishEndTag(fn){let Gn=this.finish(this.currentTag),Ti=this.elementStack.pop(),Eo=this.currentElement();this.validateEndTag(Gn,Ti,fn),Ti.loc=Ti.loc.withEnd(this.offset()),(0,$o.parseElementBlockParams)(Ti),(0,$o.appendChild)(Eo,Ti)}markTagAsSelfClosing(){this.currentTag.selfClosing=!0}appendToTagName(fn){this.currentTag.name+=fn}beginAttribute(){let fn=this.offset();this.currentAttribute={name:\"\",parts:[],currentPart:null,isQuoted:!1,isDynamic:!1,start:fn,valueSpan:fn.collapsed()}}appendToAttributeName(fn){this.currentAttr.name+=fn}beginAttributeValue(fn){this.currentAttr.isQuoted=fn,this.startTextPart(),this.currentAttr.valueSpan=this.offset().collapsed()}appendToAttributeValue(fn){let Gn=this.currentAttr.parts,Ti=Gn[Gn.length-1],Eo=this.currentAttr.currentPart;if(Eo)Eo.chars+=fn,Eo.loc=Eo.loc.withEnd(this.offset());else{let qo=this.offset();qo=fn===`\n`?Ti?Ti.loc.getEnd():this.currentAttr.valueSpan.getStart():qo.move(-1),this.currentAttr.currentPart=hr.default.text({chars:fn,loc:qo.collapsed()})}}finishAttributeValue(){this.finalizeTextPart();let fn=this.currentTag,Gn=this.offset();if(fn.type===\"EndTag\")throw(0,ad.generateSyntaxError)(\"Invalid end tag: closing tag must not have attributes\",this.source.spanFor({start:fn.loc.toJSON(),end:Gn.toJSON()}));let{name:Ti,parts:Eo,start:qo,isQuoted:ci,isDynamic:os,valueSpan:$s}=this.currentAttr,Po=this.assembleAttributeValue(Eo,ci,os,qo.until(Gn));Po.loc=$s.withEnd(Gn);let Dr=hr.default.attr({name:Ti,value:Po,loc:qo.until(Gn)});this.currentStartTag.attributes.push(Dr)}reportSyntaxError(fn){throw(0,ad.generateSyntaxError)(fn,this.offset().collapsed())}assembleConcatenatedValue(fn){for(let Eo=0;Eo<fn.length;Eo++){let qo=fn[Eo];if(qo.type!==\"MustacheStatement\"&&qo.type!==\"TextNode\")throw(0,ad.generateSyntaxError)(\"Unsupported node in quoted attribute value: \"+qo.type,qo.loc)}(0,Qn.assertPresent)(fn,\"the concatenation parts of an element should not be empty\");let Gn=fn[0],Ti=fn[fn.length-1];return hr.default.concat(fn,this.source.spanFor(Gn.loc).extend(this.source.spanFor(Ti.loc)))}validateEndTag(fn,Gn,Ti){let Eo;if(Ig.voidMap[fn.name]&&!Ti?Eo=`<${fn.name}> elements do not need end tags. You should remove it`:Gn.tag===void 0?Eo=`Closing tag </${fn.name}> without an open tag`:Gn.tag!==fn.name&&(Eo=`Closing tag </${fn.name}> did not match last open tag <${Gn.tag}> (on line ${Gn.loc.startPosition.line})`),Eo)throw(0,ad.generateSyntaxError)(Eo,fn.loc)}assembleAttributeValue(fn,Gn,Ti,Eo){if(Ti){if(Gn)return this.assembleConcatenatedValue(fn);if(fn.length===1||fn.length===2&&fn[1].type===\"TextNode\"&&fn[1].chars===\"/\")return fn[0];throw(0,ad.generateSyntaxError)(\"An unquoted attribute value must be a string or a mustache, preceded by whitespace or a '=' character, and followed by whitespace, a '>' character, or '/>'\",Eo)}return fn.length>0?fn[0]:hr.default.text({chars:\"\",loc:Eo})}}ue.TokenizerEventHandlers=Qr;const Wi={parse:Uo,builders:pr.default,print:Xe.default,traverse:Ht.default,Walker:le.default};class Io extends y6.EntityParser{constructor(){super({})}parse(){}}function Uo(sa,fn={}){var Gn,Ti,Eo;let qo,ci,os,$s=fn.mode||\"precompile\";typeof sa==\"string\"?(qo=new ma.Source(sa,(Gn=fn.meta)===null||Gn===void 0?void 0:Gn.moduleName),ci=$s===\"codemod\"?(0,xE.parseWithoutProcessing)(sa,fn.parseOptions):(0,xE.parse)(sa,fn.parseOptions)):sa instanceof ma.Source?(qo=sa,ci=$s===\"codemod\"?(0,xE.parseWithoutProcessing)(sa.source,fn.parseOptions):(0,xE.parse)(sa.source,fn.parseOptions)):(qo=new ma.Source(\"\",(Ti=fn.meta)===null||Ti===void 0?void 0:Ti.moduleName),ci=sa),$s===\"codemod\"&&(os=new Io);let Po=mi.SourceSpan.forCharPositions(qo,0,qo.source.length);ci.loc={source:\"(program)\",start:Po.startPosition,end:Po.endPosition};let Dr=new Qr(qo,os,$s).acceptTemplate(ci);if(fn.strictMode&&(Dr.blockParams=(Eo=fn.locals)!==null&&Eo!==void 0?Eo:[]),fn&&fn.plugins&&fn.plugins.ast)for(let Nm=0,Og=fn.plugins.ast.length;Nm<Og;Nm++){let Bg=(0,fn.plugins.ast[Nm])((0,Qn.assign)({},fn,{syntax:Wi},{plugins:void 0}));(0,Ht.default)(Dr,Bg.visitor)}return Dr}}),F8=b(function(Ux,ue){Object.defineProperty(ue,\"__esModule\",{value:!0}),ue.BlockSymbolTable=ue.ProgramSymbolTable=ue.SymbolTable=void 0;var Xe;class Ht{static top(lt,Qr){return new le(lt,Qr)}child(lt){let Qr=lt.map(Wi=>this.allocate(Wi));return new hr(this,lt,Qr)}}ue.SymbolTable=Ht;class le extends Ht{constructor(lt,Qr){super(),this.templateLocals=lt,this.customizeComponentName=Qr,this.symbols=[],this.upvars=[],this.size=1,this.named=(0,Qn.dict)(),this.blocks=(0,Qn.dict)(),this.usedTemplateLocals=[],Xe.set(this,!1)}getUsedTemplateLocals(){return this.usedTemplateLocals}setHasEval(){(function(lt,Qr,Wi){if(!Qr.has(lt))throw new TypeError(\"attempted to set private field on non-instance\");Qr.set(lt,Wi)})(this,Xe,!0)}get hasEval(){return function(lt,Qr){if(!Qr.has(lt))throw new TypeError(\"attempted to get private field on non-instance\");return Qr.get(lt)}(this,Xe)}has(lt){return this.templateLocals.indexOf(lt)!==-1}get(lt){let Qr=this.usedTemplateLocals.indexOf(lt);return Qr!==-1||(Qr=this.usedTemplateLocals.length,this.usedTemplateLocals.push(lt)),[Qr,!0]}getLocalsMap(){return(0,Qn.dict)()}getEvalInfo(){let lt=this.getLocalsMap();return Object.keys(lt).map(Qr=>lt[Qr])}allocateFree(lt,Qr){Qr.resolution()===39&&Qr.isAngleBracket&&(0,$o.isUpperCase)(lt)&&(lt=this.customizeComponentName(lt));let Wi=this.upvars.indexOf(lt);return Wi!==-1||(Wi=this.upvars.length,this.upvars.push(lt)),Wi}allocateNamed(lt){let Qr=this.named[lt];return Qr||(Qr=this.named[lt]=this.allocate(lt)),Qr}allocateBlock(lt){lt===\"inverse\"&&(lt=\"else\");let Qr=this.blocks[lt];return Qr||(Qr=this.blocks[lt]=this.allocate(`&${lt}`)),Qr}allocate(lt){return this.symbols.push(lt),this.size++}}ue.ProgramSymbolTable=le,Xe=new WeakMap;class hr extends Ht{constructor(lt,Qr,Wi){super(),this.parent=lt,this.symbols=Qr,this.slots=Wi}get locals(){return this.symbols}has(lt){return this.symbols.indexOf(lt)!==-1||this.parent.has(lt)}get(lt){let Qr=this.symbols.indexOf(lt);return Qr===-1?this.parent.get(lt):[this.slots[Qr],!1]}getLocalsMap(){let lt=this.parent.getLocalsMap();return this.symbols.forEach(Qr=>lt[Qr]=this.get(Qr)[0]),lt}getEvalInfo(){let lt=this.getLocalsMap();return Object.keys(lt).map(Qr=>lt[Qr])}setHasEval(){this.parent.setHasEval()}allocateFree(lt,Qr){return this.parent.allocateFree(lt,Qr)}allocateNamed(lt){return this.parent.allocateNamed(lt)}allocateBlock(lt){return this.parent.allocateBlock(lt)}allocate(lt){return this.parent.allocate(lt)}}ue.BlockSymbolTable=hr}),rg=b(function(Ux,ue){Object.defineProperty(ue,\"__esModule\",{value:!0}),ue.BuildElement=ue.Builder=void 0;var Xe=function(pr){if(pr&&pr.__esModule)return pr;if(pr===null||typeof pr!=\"object\"&&typeof pr!=\"function\")return{default:pr};var lt=Ht();if(lt&&lt.has(pr))return lt.get(pr);var Qr={},Wi=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var Io in pr)if(Object.prototype.hasOwnProperty.call(pr,Io)){var Uo=Wi?Object.getOwnPropertyDescriptor(pr,Io):null;Uo&&(Uo.get||Uo.set)?Object.defineProperty(Qr,Io,Uo):Qr[Io]=pr[Io]}return Qr.default=pr,lt&&lt.set(pr,Qr),Qr}(Hn);function Ht(){if(typeof WeakMap!=\"function\")return null;var pr=new WeakMap;return Ht=function(){return pr},pr}class le{template(lt,Qr,Wi){return new Xe.Template({table:lt,body:Qr,loc:Wi})}block(lt,Qr,Wi){return new Xe.Block({scope:lt,body:Qr,loc:Wi})}namedBlock(lt,Qr,Wi){return new Xe.NamedBlock({name:lt,block:Qr,attrs:[],componentArgs:[],modifiers:[],loc:Wi})}simpleNamedBlock(lt,Qr,Wi){return new hr({selfClosing:!1,attrs:[],componentArgs:[],modifiers:[],comments:[]}).named(lt,Qr,Wi)}slice(lt,Qr){return new Au.SourceSlice({loc:Qr,chars:lt})}args(lt,Qr,Wi){return new Xe.Args({loc:Wi,positional:lt,named:Qr})}positional(lt,Qr){return new Xe.PositionalArguments({loc:Qr,exprs:lt})}namedArgument(lt,Qr){return new Xe.NamedArgument({name:lt,value:Qr})}named(lt,Qr){return new Xe.NamedArguments({loc:Qr,entries:lt})}attr({name:lt,value:Qr,trusting:Wi},Io){return new Xe.HtmlAttr({loc:Io,name:lt,value:Qr,trusting:Wi})}splatAttr(lt,Qr){return new Xe.SplatAttr({symbol:lt,loc:Qr})}arg({name:lt,value:Qr,trusting:Wi},Io){return new Xe.ComponentArg({name:lt,value:Qr,trusting:Wi,loc:Io})}path(lt,Qr,Wi){return new Xe.PathExpression({loc:Wi,ref:lt,tail:Qr})}self(lt){return new Xe.ThisReference({loc:lt})}at(lt,Qr,Wi){return new Xe.ArgReference({loc:Wi,name:new Au.SourceSlice({loc:Wi,chars:lt}),symbol:Qr})}freeVar({name:lt,context:Qr,symbol:Wi,loc:Io}){return new Xe.FreeVarReference({name:lt,resolution:Qr,symbol:Wi,loc:Io})}localVar(lt,Qr,Wi,Io){return new Xe.LocalVarReference({loc:Io,name:lt,isTemplateLocal:Wi,symbol:Qr})}sexp(lt,Qr){return new Xe.CallExpression({loc:Qr,callee:lt.callee,args:lt.args})}deprecatedCall(lt,Qr,Wi){return new Xe.DeprecatedCallExpression({loc:Wi,arg:lt,callee:Qr})}interpolate(lt,Qr){return(0,Qn.assertPresent)(lt),new Xe.InterpolateExpression({loc:Qr,parts:lt})}literal(lt,Qr){return new Xe.LiteralExpression({loc:Qr,value:lt})}append({table:lt,trusting:Qr,value:Wi},Io){return new Xe.AppendContent({table:lt,trusting:Qr,value:Wi,loc:Io})}modifier({callee:lt,args:Qr},Wi){return new Xe.ElementModifier({loc:Wi,callee:lt,args:Qr})}namedBlocks(lt,Qr){return new Xe.NamedBlocks({loc:Qr,blocks:lt})}blockStatement(lt,Qr){var{symbols:Wi,program:Io,inverse:Uo=null}=lt,sa=function(Ti,Eo){var qo={};for(var ci in Ti)Object.prototype.hasOwnProperty.call(Ti,ci)&&Eo.indexOf(ci)<0&&(qo[ci]=Ti[ci]);if(Ti!=null&&typeof Object.getOwnPropertySymbols==\"function\"){var os=0;for(ci=Object.getOwnPropertySymbols(Ti);os<ci.length;os++)Eo.indexOf(ci[os])<0&&Object.prototype.propertyIsEnumerable.call(Ti,ci[os])&&(qo[ci[os]]=Ti[ci[os]])}return qo}(lt,[\"symbols\",\"program\",\"inverse\"]);let fn=Io.loc,Gn=[this.namedBlock(Au.SourceSlice.synthetic(\"default\"),Io,Io.loc)];return Uo&&(fn=fn.extend(Uo.loc),Gn.push(this.namedBlock(Au.SourceSlice.synthetic(\"else\"),Uo,Uo.loc))),new Xe.InvokeBlock({loc:Qr,blocks:this.namedBlocks(Gn,fn),callee:sa.callee,args:sa.args})}element(lt){return new hr(lt)}}ue.Builder=le;class hr{constructor(lt){this.base=lt,this.builder=new le}simple(lt,Qr,Wi){return new Xe.SimpleElement((0,Qn.assign)({tag:lt,body:Qr,componentArgs:[],loc:Wi},this.base))}named(lt,Qr,Wi){return new Xe.NamedBlock((0,Qn.assign)({name:lt,block:Qr,componentArgs:[],loc:Wi},this.base))}selfClosingComponent(lt,Qr){return new Xe.InvokeComponent((0,Qn.assign)({loc:Qr,callee:lt,blocks:new Xe.NamedBlocks({blocks:[],loc:Qr.sliceEndChars({skipEnd:1,chars:1})})},this.base))}componentWithDefaultBlock(lt,Qr,Wi,Io){let Uo=this.builder.block(Wi,Qr,Io),sa=this.builder.namedBlock(Au.SourceSlice.synthetic(\"default\"),Uo,Io);return new Xe.InvokeComponent((0,Qn.assign)({loc:Io,callee:lt,blocks:this.builder.namedBlocks([sa],sa.loc)},this.base))}componentWithNamedBlocks(lt,Qr,Wi){return new Xe.InvokeComponent((0,Qn.assign)({loc:Wi,callee:lt,blocks:this.builder.namedBlocks(Qr,as.SpanList.range(Qr))},this.base))}}ue.BuildElement=hr}),Y4=function(Ux){return f_(Ux)?N6.LooseModeResolution.namespaced(\"Helper\"):null},ZS=function(Ux){return f_(Ux)?N6.LooseModeResolution.namespaced(\"Modifier\"):null},A8=function(Ux){return f_(Ux)?N6.LooseModeResolution.namespaced(\"Component\"):N6.LooseModeResolution.fallback()},WE=function(Ux){return TF(Ux)?N6.LooseModeResolution.namespaced(\"Component\",!0):null},R8=function(Ux){let ue=f_(Ux),Xe=G6(Ux);return ue?Xe?N6.LooseModeResolution.namespaced(\"Helper\"):N6.LooseModeResolution.attr():Xe?N6.STRICT_RESOLUTION:N6.LooseModeResolution.fallback()},gS=function(Ux){let ue=f_(Ux),Xe=G6(Ux),Ht=Ux.trusting;return ue?Ht?N6.LooseModeResolution.trustingAppend({invoke:Xe}):N6.LooseModeResolution.append({invoke:Xe}):N6.LooseModeResolution.fallback()},N6=function(Ux){if(Ux&&Ux.__esModule)return Ux;if(Ux===null||typeof Ux!=\"object\"&&typeof Ux!=\"function\")return{default:Ux};var ue=g4();if(ue&&ue.has(Ux))return ue.get(Ux);var Xe={},Ht=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var le in Ux)if(Object.prototype.hasOwnProperty.call(Ux,le)){var hr=Ht?Object.getOwnPropertyDescriptor(Ux,le):null;hr&&(hr.get||hr.set)?Object.defineProperty(Xe,le,hr):Xe[le]=Ux[le]}return Xe.default=Ux,ue&&ue.set(Ux,Xe),Xe}(Hn);function g4(){if(typeof WeakMap!=\"function\")return null;var Ux=new WeakMap;return g4=function(){return Ux},Ux}function f_(Ux){return TF(Ux.path)}function TF(Ux){return Ux.type===\"PathExpression\"&&Ux.head.type===\"VarHead\"&&Ux.tail.length===0}function G6(Ux){return Ux.params.length>0||Ux.hash.pairs.length>0}var $2=Object.defineProperty({SexpSyntaxContext:Y4,ModifierSyntaxContext:ZS,BlockSyntaxContext:A8,ComponentSyntaxContext:WE,AttrValueSyntaxContext:R8,AppendSyntaxContext:gS},\"__esModule\",{value:!0}),b8=b(function(Ux,ue){Object.defineProperty(ue,\"__esModule\",{value:!0}),ue.normalize=function(qo,ci={}){var os;let $s=(0,_p.preprocess)(qo,ci),Po=(0,Qn.assign)({strictMode:!1,locals:[]},ci),Dr=F8.SymbolTable.top(Po.strictMode?Po.locals:[],(os=ci.customizeComponentName)!==null&&os!==void 0?os:f8=>f8),Nm=new lt(qo,Po,Dr),Og=new Wi(Nm),Bg=new sa(Nm.loc($s.loc),$s.body.map(f8=>Og.normalize(f8)),Nm).assertTemplate(Dr),_S=Dr.getUsedTemplateLocals();return[Bg,_S]},ue.BlockContext=void 0;var Xe=pr(Ig),Ht=pr(To),le=function(qo){if(qo&&qo.__esModule)return qo;if(qo===null||typeof qo!=\"object\"&&typeof qo!=\"function\")return{default:qo};var ci=hr();if(ci&&ci.has(qo))return ci.get(qo);var os={},$s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var Po in qo)if(Object.prototype.hasOwnProperty.call(qo,Po)){var Dr=$s?Object.getOwnPropertyDescriptor(qo,Po):null;Dr&&(Dr.get||Dr.set)?Object.defineProperty(os,Po,Dr):os[Po]=qo[Po]}return os.default=qo,ci&&ci.set(qo,os),os}(Hn);function hr(){if(typeof WeakMap!=\"function\")return null;var qo=new WeakMap;return hr=function(){return qo},qo}function pr(qo){return qo&&qo.__esModule?qo:{default:qo}}class lt{constructor(ci,os,$s){this.source=ci,this.options=os,this.table=$s,this.builder=new rg.Builder}get strict(){return this.options.strictMode||!1}loc(ci){return this.source.spanFor(ci)}resolutionFor(ci,os){if(this.strict)return{resolution:le.STRICT_RESOLUTION};if(this.isFreeVar(ci)){let $s=os(ci);return $s===null?{resolution:\"error\",path:Ti(ci),head:Eo(ci)}:{resolution:$s}}return{resolution:le.STRICT_RESOLUTION}}isFreeVar(ci){return ci.type===\"PathExpression\"?ci.head.type===\"VarHead\"&&!this.table.has(ci.head.name):ci.path.type===\"PathExpression\"&&this.isFreeVar(ci.path)}hasBinding(ci){return this.table.has(ci)}child(ci){return new lt(this.source,this.options,this.table.child(ci))}customizeComponentName(ci){return this.options.customizeComponentName?this.options.customizeComponentName(ci):ci}}ue.BlockContext=lt;class Qr{constructor(ci){this.block=ci}normalize(ci,os){switch(ci.type){case\"NullLiteral\":case\"BooleanLiteral\":case\"NumberLiteral\":case\"StringLiteral\":case\"UndefinedLiteral\":return this.block.builder.literal(ci.value,this.block.loc(ci.loc));case\"PathExpression\":return this.path(ci,os);case\"SubExpression\":{let $s=this.block.resolutionFor(ci,$2.SexpSyntaxContext);if($s.resolution===\"error\")throw(0,ad.generateSyntaxError)(`You attempted to invoke a path (\\`${$s.path}\\`) but ${$s.head} was not in scope`,ci.loc);return this.block.builder.sexp(this.callParts(ci,$s.resolution),this.block.loc(ci.loc))}}}path(ci,os){let $s=[],Po=this.block.loc(ci.head.loc);for(let Dr of ci.tail)Po=Po.sliceStartChars({chars:Dr.length,skipStart:1}),$s.push(new Au.SourceSlice({loc:Po,chars:Dr}));return this.block.builder.path(this.ref(ci.head,os),$s,this.block.loc(ci.loc))}callParts(ci,os){let{path:$s,params:Po,hash:Dr}=ci,Nm=this.normalize($s,os),Og=Po.map(Qx=>this.normalize(Qx,le.ARGUMENT_RESOLUTION)),Bg=as.SpanList.range(Og,Nm.loc.collapse(\"end\")),_S=this.block.loc(Dr.loc),f8=as.SpanList.range([Bg,_S]),Lx=this.block.builder.positional(Po.map(Qx=>this.normalize(Qx,le.ARGUMENT_RESOLUTION)),Bg),q1=this.block.builder.named(Dr.pairs.map(Qx=>this.namedArgument(Qx)),this.block.loc(Dr.loc));return{callee:Nm,args:this.block.builder.args(Lx,q1,f8)}}namedArgument(ci){let os=this.block.loc(ci.loc).sliceStartChars({chars:ci.key.length});return this.block.builder.namedArgument(new Au.SourceSlice({chars:ci.key,loc:os}),this.normalize(ci.value,le.ARGUMENT_RESOLUTION))}ref(ci,os){let{block:$s}=this,{builder:Po,table:Dr}=$s,Nm=$s.loc(ci.loc);switch(ci.type){case\"ThisHead\":return Po.self(Nm);case\"AtHead\":{let Og=Dr.allocateNamed(ci.name);return Po.at(ci.name,Og,Nm)}case\"VarHead\":if($s.hasBinding(ci.name)){let[Og,Bg]=Dr.get(ci.name);return $s.builder.localVar(ci.name,Og,Bg,Nm)}{let Og=$s.strict?le.STRICT_RESOLUTION:os,Bg=$s.table.allocateFree(ci.name,Og);return $s.builder.freeVar({name:ci.name,context:Og,symbol:Bg,loc:Nm})}}}}class Wi{constructor(ci){this.block=ci}normalize(ci){switch(ci.type){case\"PartialStatement\":throw new Error(\"Handlebars partial syntax ({{> ...}}) is not allowed in Glimmer\");case\"BlockStatement\":return this.BlockStatement(ci);case\"ElementNode\":return new Io(this.block).ElementNode(ci);case\"MustacheStatement\":return this.MustacheStatement(ci);case\"MustacheCommentStatement\":return this.MustacheCommentStatement(ci);case\"CommentStatement\":{let os=this.block.loc(ci.loc);return new le.HtmlComment({loc:os,text:os.slice({skipStart:4,skipEnd:3}).toSlice(ci.value)})}case\"TextNode\":return new le.HtmlText({loc:this.block.loc(ci.loc),chars:ci.chars})}}MustacheCommentStatement(ci){let os,$s=this.block.loc(ci.loc);return os=$s.asString().slice(0,5)===\"{{!--\"?$s.slice({skipStart:5,skipEnd:4}):$s.slice({skipStart:3,skipEnd:2}),new le.GlimmerComment({loc:$s,text:os.toSlice(ci.value)})}MustacheStatement(ci){let{escaped:os}=ci,$s=this.block.loc(ci.loc),Po=this.expr.callParts({path:ci.path,params:ci.params,hash:ci.hash},(0,$2.AppendSyntaxContext)(ci)),Dr=Po.args.isEmpty()?Po.callee:this.block.builder.sexp(Po,$s);return this.block.builder.append({table:this.block.table,trusting:!os,value:Dr},$s)}BlockStatement(ci){let{program:os,inverse:$s}=ci,Po=this.block.loc(ci.loc),Dr=this.block.resolutionFor(ci,$2.BlockSyntaxContext);if(Dr.resolution===\"error\")throw(0,ad.generateSyntaxError)(`You attempted to invoke a path (\\`{{#${Dr.path}}}\\`) but ${Dr.head} was not in scope`,Po);let Nm=this.expr.callParts(ci,Dr.resolution);return this.block.builder.blockStatement((0,Qn.assign)({symbols:this.block.table,program:this.Block(os),inverse:$s?this.Block($s):null},Nm),Po)}Block({body:ci,loc:os,blockParams:$s}){let Po=this.block.child($s),Dr=new Wi(Po);return new fn(this.block.loc(os),ci.map(Nm=>Dr.normalize(Nm)),this.block).assertBlock(Po.table)}get expr(){return new Qr(this.block)}}class Io{constructor(ci){this.ctx=ci}ElementNode(ci){let{tag:os,selfClosing:$s,comments:Po}=ci,Dr=this.ctx.loc(ci.loc),[Nm,...Og]=os.split(\".\"),Bg=this.classifyTag(Nm,Og,ci.loc),_S=ci.attributes.filter(je=>je.name[0]!==\"@\").map(je=>this.attr(je)),f8=ci.attributes.filter(je=>je.name[0]===\"@\").map(je=>this.arg(je)),Lx=ci.modifiers.map(je=>this.modifier(je)),q1=this.ctx.child(ci.blockParams),Qx=new Wi(q1),Be=ci.children.map(je=>Qx.normalize(je)),St=this.ctx.builder.element({selfClosing:$s,attrs:_S,componentArgs:f8,modifiers:Lx,comments:Po.map(je=>new Wi(this.ctx).MustacheCommentStatement(je))}),_r=new Gn(St,Dr,Be,this.ctx),gi=this.ctx.loc(ci.loc).sliceStartChars({chars:os.length,skipStart:1});if(Bg===\"ElementHead\")return os[0]===\":\"?_r.assertNamedBlock(gi.slice({skipStart:1}).toSlice(os.slice(1)),q1.table):_r.assertElement(gi.toSlice(os),ci.blockParams.length>0);if(ci.selfClosing)return St.selfClosingComponent(Bg,Dr);{let je=_r.assertComponent(os,q1.table,ci.blockParams.length>0);return St.componentWithNamedBlocks(Bg,je,Dr)}}modifier(ci){let os=this.ctx.resolutionFor(ci,$2.ModifierSyntaxContext);if(os.resolution===\"error\")throw(0,ad.generateSyntaxError)(`You attempted to invoke a path (\\`{{#${os.path}}}\\`) as a modifier, but ${os.head} was not in scope. Try adding \\`this\\` to the beginning of the path`,ci.loc);let $s=this.expr.callParts(ci,os.resolution);return this.ctx.builder.modifier($s,this.ctx.loc(ci.loc))}mustacheAttr(ci){let os=this.ctx.builder.sexp(this.expr.callParts(ci,(0,$2.AttrValueSyntaxContext)(ci)),this.ctx.loc(ci.loc));return os.args.isEmpty()?os.callee:os}attrPart(ci){switch(ci.type){case\"MustacheStatement\":return{expr:this.mustacheAttr(ci),trusting:!ci.escaped};case\"TextNode\":return{expr:this.ctx.builder.literal(ci.chars,this.ctx.loc(ci.loc)),trusting:!0}}}attrValue(ci){switch(ci.type){case\"ConcatStatement\":{let os=ci.parts.map($s=>this.attrPart($s).expr);return{expr:this.ctx.builder.interpolate(os,this.ctx.loc(ci.loc)),trusting:!1}}default:return this.attrPart(ci)}}attr(ci){if(ci.name===\"...attributes\")return this.ctx.builder.splatAttr(this.ctx.table.allocateBlock(\"attrs\"),this.ctx.loc(ci.loc));let os=this.ctx.loc(ci.loc),$s=os.sliceStartChars({chars:ci.name.length}).toSlice(ci.name),Po=this.attrValue(ci.value);return this.ctx.builder.attr({name:$s,value:Po.expr,trusting:Po.trusting},os)}maybeDeprecatedCall(ci,os){if(this.ctx.strict||os.type!==\"MustacheStatement\")return null;let{path:$s}=os;if($s.type!==\"PathExpression\"||$s.head.type!==\"VarHead\")return null;let{name:Po}=$s.head;if(Po===\"has-block\"||Po===\"has-block-params\"||this.ctx.hasBinding(Po)||$s.tail.length!==0||os.params.length!==0||os.hash.pairs.length!==0)return null;let Dr=le.LooseModeResolution.attr(),Nm=this.ctx.builder.freeVar({name:Po,context:Dr,symbol:this.ctx.table.allocateFree(Po,Dr),loc:$s.loc});return{expr:this.ctx.builder.deprecatedCall(ci,Nm,os.loc),trusting:!1}}arg(ci){let os=this.ctx.loc(ci.loc),$s=os.sliceStartChars({chars:ci.name.length}).toSlice(ci.name),Po=this.maybeDeprecatedCall($s,ci.value)||this.attrValue(ci.value);return this.ctx.builder.arg({name:$s,value:Po.expr,trusting:Po.trusting},os)}classifyTag(ci,os,$s){let Po=(0,$o.isUpperCase)(ci),Dr=ci[0]===\"@\"||ci===\"this\"||this.ctx.hasBinding(ci);if(this.ctx.strict&&!Dr){if(Po)throw(0,ad.generateSyntaxError)(`Attempted to invoke a component that was not in scope in a strict mode template, \\`<${ci}>\\`. If you wanted to create an element with that name, convert it to lowercase - \\`<${ci.toLowerCase()}>\\``,$s);return\"ElementHead\"}let Nm=Dr||Po,Og=$s.sliceStartChars({skipStart:1,chars:ci.length}),Bg=os.reduce((Lx,q1)=>Lx+1+q1.length,0),_S=Og.getEnd().move(Bg),f8=Og.withEnd(_S);if(Nm){let Lx=Ht.default.path({head:Ht.default.head(ci,Og),tail:os,loc:f8}),q1=this.ctx.resolutionFor(Lx,$2.ComponentSyntaxContext);if(q1.resolution===\"error\")throw(0,ad.generateSyntaxError)(`You attempted to invoke a path (\\`<${q1.path}>\\`) but ${q1.head} was not in scope`,$s);return new Qr(this.ctx).normalize(Lx,q1.resolution)}if(os.length>0)throw(0,ad.generateSyntaxError)(`You used ${ci}.${os.join(\".\")} as a tag name, but ${ci} is not in scope`,$s);return\"ElementHead\"}get expr(){return new Qr(this.ctx)}}class Uo{constructor(ci,os,$s){this.loc=ci,this.children=os,this.block=$s,this.namedBlocks=os.filter(Po=>Po instanceof le.NamedBlock),this.hasSemanticContent=Boolean(os.filter(Po=>{if(Po instanceof le.NamedBlock)return!1;switch(Po.type){case\"GlimmerComment\":case\"HtmlComment\":return!1;case\"HtmlText\":return!/^\\s*$/.exec(Po.chars);default:return!0}}).length),this.nonBlockChildren=os.filter(Po=>!(Po instanceof le.NamedBlock))}}class sa extends Uo{assertTemplate(ci){if((0,Qn.isPresent)(this.namedBlocks))throw(0,ad.generateSyntaxError)(\"Unexpected named block at the top-level of a template\",this.loc);return this.block.builder.template(ci,this.nonBlockChildren,this.block.loc(this.loc))}}class fn extends Uo{assertBlock(ci){if((0,Qn.isPresent)(this.namedBlocks))throw(0,ad.generateSyntaxError)(\"Unexpected named block nested in a normal block\",this.loc);return this.block.builder.block(ci,this.nonBlockChildren,this.loc)}}class Gn extends Uo{constructor(ci,os,$s,Po){super(os,$s,Po),this.el=ci}assertNamedBlock(ci,os){if(this.el.base.selfClosing)throw(0,ad.generateSyntaxError)(`<:${ci.chars}/> is not a valid named block: named blocks cannot be self-closing`,this.loc);if((0,Qn.isPresent)(this.namedBlocks))throw(0,ad.generateSyntaxError)(`Unexpected named block inside <:${ci.chars}> named block: named blocks cannot contain nested named blocks`,this.loc);if(!(0,$o.isLowerCase)(ci.chars))throw(0,ad.generateSyntaxError)(`<:${ci.chars}> is not a valid named block, and named blocks must begin with a lowercase letter`,this.loc);if(this.el.base.attrs.length>0||this.el.base.componentArgs.length>0||this.el.base.modifiers.length>0)throw(0,ad.generateSyntaxError)(`named block <:${ci.chars}> cannot have attributes, arguments, or modifiers`,this.loc);let $s=as.SpanList.range(this.nonBlockChildren,this.loc);return this.block.builder.namedBlock(ci,this.block.builder.block(os,this.nonBlockChildren,$s),this.loc)}assertElement(ci,os){if(os)throw(0,ad.generateSyntaxError)(`Unexpected block params in <${ci}>: simple elements cannot have block params`,this.loc);if((0,Qn.isPresent)(this.namedBlocks)){let $s=this.namedBlocks.map(Po=>Po.name);if($s.length===1)throw(0,ad.generateSyntaxError)(`Unexpected named block <:foo> inside <${ci.chars}> HTML element`,this.loc);{let Po=$s.map(Dr=>`<:${Dr.chars}>`).join(\", \");throw(0,ad.generateSyntaxError)(`Unexpected named blocks inside <${ci.chars}> HTML element (${Po})`,this.loc)}}return this.el.simple(ci,this.nonBlockChildren,this.loc)}assertComponent(ci,os,$s){if((0,Qn.isPresent)(this.namedBlocks)&&this.hasSemanticContent)throw(0,ad.generateSyntaxError)(`Unexpected content inside <${ci}> component invocation: when using named blocks, the tag cannot contain other content`,this.loc);if((0,Qn.isPresent)(this.namedBlocks)){if($s)throw(0,ad.generateSyntaxError)(`Unexpected block params list on <${ci}> component invocation: when passing named blocks, the invocation tag cannot take block params`,this.loc);let Po=new Set;for(let Dr of this.namedBlocks){let Nm=Dr.name.chars;if(Po.has(Nm))throw(0,ad.generateSyntaxError)(`Component had two named blocks with the same name, \\`<:${Nm}>\\`. Only one block with a given name may be passed`,this.loc);if(Nm===\"inverse\"&&Po.has(\"else\")||Nm===\"else\"&&Po.has(\"inverse\"))throw(0,ad.generateSyntaxError)(\"Component has both <:else> and <:inverse> block. <:inverse> is an alias for <:else>\",this.loc);Po.add(Nm)}return this.namedBlocks}return[this.block.builder.namedBlock(Au.SourceSlice.synthetic(\"default\"),this.block.builder.block(os,this.nonBlockChildren,this.loc),this.loc)]}}function Ti(qo){return qo.type!==\"PathExpression\"&&qo.path.type===\"PathExpression\"?Ti(qo.path):new Xe.default({entityEncoding:\"raw\"}).print(qo)}function Eo(qo){if(qo.type!==\"PathExpression\")return qo.path.type===\"PathExpression\"?Eo(qo.path):new Xe.default({entityEncoding:\"raw\"}).print(qo);switch(qo.head.type){case\"AtHead\":case\"VarHead\":return qo.head.name;case\"ThisHead\":return\"this\"}}}),vA=b(function(Ux,ue){Object.defineProperty(ue,\"__esModule\",{value:!0}),ue.isKeyword=function(Ht){return Ht in Xe},ue.KEYWORDS_TYPES=void 0;const Xe={component:[\"Call\",\"Append\",\"Block\"],debugger:[\"Append\"],\"each-in\":[\"Block\"],each:[\"Block\"],\"has-block-params\":[\"Call\",\"Append\"],\"has-block\":[\"Call\",\"Append\"],helper:[\"Call\",\"Append\"],if:[\"Call\",\"Append\",\"Block\"],\"in-element\":[\"Block\"],let:[\"Block\"],\"link-to\":[\"Append\",\"Block\"],log:[\"Call\",\"Append\"],modifier:[\"Call\"],mount:[\"Append\"],mut:[\"Call\",\"Append\"],outlet:[\"Append\"],\"query-params\":[\"Call\"],readonly:[\"Call\",\"Append\"],unbound:[\"Call\",\"Append\"],unless:[\"Call\",\"Append\",\"Block\"],with:[\"Block\"],yield:[\"Append\"]};ue.KEYWORDS_TYPES=Xe}),n5=function(Ux,ue={includeHtmlElements:!1,includeKeywords:!1}){const Xe=(0,_p.preprocess)(Ux),Ht=new Set,le=[];(0,bb.default)(Xe,{Block:{enter({blockParams:pr}){pr.forEach(lt=>{le.push(lt)})},exit({blockParams:pr}){pr.forEach(()=>{le.pop()})}},ElementNode:{enter(pr){pr.blockParams.forEach(lt=>{le.push(lt)}),P6(Ht,pr,le,ue)},exit({blockParams:pr}){pr.forEach(()=>{le.pop()})}},PathExpression(pr){P6(Ht,pr,le,ue)}});let hr=[];return Ht.forEach(pr=>hr.push(pr)),(ue==null?void 0:ue.includeKeywords)||(hr=hr.filter(pr=>!(0,vA.isKeyword)(pr))),hr},bb=function(Ux){return Ux&&Ux.__esModule?Ux:{default:Ux}}(FF);function P6(Ux,ue,Xe,Ht){const le=function(hr,pr,lt){if(hr.type===\"PathExpression\"){if(hr.head.type===\"AtHead\"||hr.head.type===\"ThisHead\")return;const Qr=hr.head.name;if(pr.indexOf(Qr)===-1)return Qr}else if(hr.type===\"ElementNode\"){const{tag:Qr}=hr,Wi=Qr.charAt(0);return Wi===\":\"||Wi===\"@\"||!lt.includeHtmlElements&&Qr.indexOf(\".\")===-1&&Qr.toLowerCase()===Qr||Qr.substr(0,5)===\"this.\"||pr.indexOf(Qr)!==-1?void 0:Qr}}(ue,Xe,Ht);(Array.isArray(le)?le:[le]).forEach(hr=>{hr!==void 0&&hr[0]!==\"@\"&&Ux.add(hr.split(\".\")[0])})}var i6=Object.defineProperty({getTemplateLocals:n5},\"__esModule\",{value:!0}),wF=b(function(Ux,ue){Object.defineProperty(ue,\"__esModule\",{value:!0}),Object.defineProperty(ue,\"Source\",{enumerable:!0,get:function(){return ma.Source}}),Object.defineProperty(ue,\"builders\",{enumerable:!0,get:function(){return Xe.default}}),Object.defineProperty(ue,\"normalize\",{enumerable:!0,get:function(){return b8.normalize}}),Object.defineProperty(ue,\"SymbolTable\",{enumerable:!0,get:function(){return F8.SymbolTable}}),Object.defineProperty(ue,\"BlockSymbolTable\",{enumerable:!0,get:function(){return F8.BlockSymbolTable}}),Object.defineProperty(ue,\"ProgramSymbolTable\",{enumerable:!0,get:function(){return F8.ProgramSymbolTable}}),Object.defineProperty(ue,\"generateSyntaxError\",{enumerable:!0,get:function(){return ad.generateSyntaxError}}),Object.defineProperty(ue,\"preprocess\",{enumerable:!0,get:function(){return _p.preprocess}}),Object.defineProperty(ue,\"print\",{enumerable:!0,get:function(){return hr.default}}),Object.defineProperty(ue,\"sortByLoc\",{enumerable:!0,get:function(){return Lu.sortByLoc}}),Object.defineProperty(ue,\"Walker\",{enumerable:!0,get:function(){return pr.default}}),Object.defineProperty(ue,\"Path\",{enumerable:!0,get:function(){return pr.default}}),Object.defineProperty(ue,\"traverse\",{enumerable:!0,get:function(){return lt.default}}),Object.defineProperty(ue,\"cannotRemoveNode\",{enumerable:!0,get:function(){return X8.cannotRemoveNode}}),Object.defineProperty(ue,\"cannotReplaceNode\",{enumerable:!0,get:function(){return X8.cannotReplaceNode}}),Object.defineProperty(ue,\"WalkerPath\",{enumerable:!0,get:function(){return Qr.default}}),Object.defineProperty(ue,\"isKeyword\",{enumerable:!0,get:function(){return vA.isKeyword}}),Object.defineProperty(ue,\"KEYWORDS_TYPES\",{enumerable:!0,get:function(){return vA.KEYWORDS_TYPES}}),Object.defineProperty(ue,\"getTemplateLocals\",{enumerable:!0,get:function(){return i6.getTemplateLocals}}),Object.defineProperty(ue,\"SourceSlice\",{enumerable:!0,get:function(){return Au.SourceSlice}}),Object.defineProperty(ue,\"SourceSpan\",{enumerable:!0,get:function(){return mi.SourceSpan}}),Object.defineProperty(ue,\"SpanList\",{enumerable:!0,get:function(){return as.SpanList}}),Object.defineProperty(ue,\"maybeLoc\",{enumerable:!0,get:function(){return as.maybeLoc}}),Object.defineProperty(ue,\"loc\",{enumerable:!0,get:function(){return as.loc}}),Object.defineProperty(ue,\"hasSpan\",{enumerable:!0,get:function(){return as.hasSpan}}),Object.defineProperty(ue,\"node\",{enumerable:!0,get:function(){return un.node}}),ue.ASTv2=ue.AST=ue.ASTv1=void 0;var Xe=Uo(Ua),Ht=Io(Os);ue.ASTv1=Ht,ue.AST=Ht;var le=Io(Hn);ue.ASTv2=le;var hr=Uo(X4),pr=Uo(AF),lt=Uo(FF),Qr=Uo(VT);function Wi(){if(typeof WeakMap!=\"function\")return null;var sa=new WeakMap;return Wi=function(){return sa},sa}function Io(sa){if(sa&&sa.__esModule)return sa;if(sa===null||typeof sa!=\"object\"&&typeof sa!=\"function\")return{default:sa};var fn=Wi();if(fn&&fn.has(sa))return fn.get(sa);var Gn={},Ti=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var Eo in sa)if(Object.prototype.hasOwnProperty.call(sa,Eo)){var qo=Ti?Object.getOwnPropertyDescriptor(sa,Eo):null;qo&&(qo.get||qo.set)?Object.defineProperty(Gn,Eo,qo):Gn[Eo]=sa[Eo]}return Gn.default=sa,fn&&fn.set(sa,Gn),Gn}function Uo(sa){return sa&&sa.__esModule?sa:{default:sa}}});const I6=R.default,{locStart:sd,locEnd:HF}=s0;function aS(){return{name:\"addBackslash\",visitor:{TextNode(Ux){Ux.chars=Ux.chars.replace(/\\\\/,\"\\\\\\\\\")}}}}function B4(Ux){const ue=new I6(Ux),Xe=({line:Ht,column:le})=>ue.indexForLocation({line:Ht-1,column:le});return()=>({name:\"addOffset\",visitor:{All(Ht){const{start:le,end:hr}=Ht.loc;le.offset=Xe(le),hr.offset=Xe(hr)}}})}return{parsers:{glimmer:{parse:function(Ux){const{preprocess:ue}=wF;let Xe;try{Xe=ue(Ux,{mode:\"codemod\",plugins:{ast:[aS,B4(Ux)]}})}catch(Ht){const le=function(hr){const{location:pr,hash:lt}=hr;if(pr){const{start:Qr,end:Wi}=pr;return typeof Wi.line!=\"number\"?{start:Qr}:pr}if(lt){const{loc:{last_line:Qr,last_column:Wi}}=lt;return{start:{line:Qr,column:Wi+1}}}}(Ht);throw le?K(Ht.message,le):Ht}return Xe},astFormat:\"glimmer\",locStart:sd,locEnd:HF}}}})})(Yy0);var Qy0={exports:{}};(function(a,u){(function(c,b){a.exports=b()})($F,function(){var c=function(vi,jr){const Hn=new SyntaxError(vi+\" (\"+jr.start.line+\":\"+jr.start.column+\")\");return Hn.loc=jr,Hn},b=function(...vi){let jr;for(const[Hn,wi]of vi.entries())try{return{result:wi()}}catch(jo){Hn===0&&(jr=jo)}return{error:jr}},R={hasPragma:function(vi){return/^\\s*#[^\\S\\n]*@(format|prettier)\\s*(\\n|$)/.test(vi)},insertPragma:function(vi){return`# @format\n\n`+vi}},K={locStart:function(vi){return typeof vi.start==\"number\"?vi.start:vi.loc&&vi.loc.start},locEnd:function(vi){return typeof vi.end==\"number\"?vi.end:vi.loc&&vi.loc.end}};function s0(vi){var jr={exports:{}};return vi(jr,jr.exports),jr.exports}var Y=function(vi){return F0(vi)==\"object\"&&vi!==null};function F0(vi){return(F0=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(jr){return typeof jr}:function(jr){return jr&&typeof Symbol==\"function\"&&jr.constructor===Symbol&&jr!==Symbol.prototype?\"symbol\":typeof jr})(vi)}var J0=Object.defineProperty({default:Y},\"__esModule\",{value:!0}),e1=s0(function(vi,jr){Object.defineProperty(jr,\"__esModule\",{value:!0}),jr.SYMBOL_TO_STRING_TAG=jr.SYMBOL_ASYNC_ITERATOR=jr.SYMBOL_ITERATOR=void 0;var Hn=typeof Symbol==\"function\"&&Symbol.iterator!=null?Symbol.iterator:\"@@iterator\";jr.SYMBOL_ITERATOR=Hn;var wi=typeof Symbol==\"function\"&&Symbol.asyncIterator!=null?Symbol.asyncIterator:\"@@asyncIterator\";jr.SYMBOL_ASYNC_ITERATOR=wi;var jo=typeof Symbol==\"function\"&&Symbol.toStringTag!=null?Symbol.toStringTag:\"@@toStringTag\";jr.SYMBOL_TO_STRING_TAG=jo}),t1=function(vi,jr){for(var Hn,wi=/\\r\\n|[\\n\\r]/g,jo=1,bs=jr+1;(Hn=wi.exec(vi.body))&&Hn.index<jr;)jo+=1,bs=jr+1-(Hn.index+Hn[0].length);return{line:jo,column:bs}},r1=Object.defineProperty({getLocation:t1},\"__esModule\",{value:!0}),F1=function(vi){return D1(vi.source,(0,r1.getLocation)(vi.source,vi.start))},a1=D1;function D1(vi,jr){var Hn=vi.locationOffset.column-1,wi=i1(Hn)+vi.body,jo=jr.line-1,bs=vi.locationOffset.line-1,Ha=jr.line+bs,qn=jr.line===1?Hn:0,Ki=jr.column+qn,es=\"\".concat(vi.name,\":\").concat(Ha,\":\").concat(Ki,`\n`),Ns=wi.split(/\\r\\n|[\\n\\r]/g),ju=Ns[jo];if(ju.length>120){for(var Tc=Math.floor(Ki/80),bu=Ki%80,mc=[],vc=0;vc<ju.length;vc+=80)mc.push(ju.slice(vc,vc+80));return es+W0([[\"\".concat(Ha),mc[0]]].concat(mc.slice(1,Tc+1).map(function(Lc){return[\"\",Lc]}),[[\" \",i1(bu-1)+\"^\"],[\"\",mc[Tc+1]]]))}return es+W0([[\"\".concat(Ha-1),Ns[jo-1]],[\"\".concat(Ha),ju],[\"\",i1(Ki-1)+\"^\"],[\"\".concat(Ha+1),Ns[jo+1]]])}function W0(vi){var jr=vi.filter(function(wi){return wi[0],wi[1]!==void 0}),Hn=Math.max.apply(Math,jr.map(function(wi){return wi[0].length}));return jr.map(function(wi){var jo,bs=wi[0],Ha=wi[1];return i1(Hn-(jo=bs).length)+jo+(Ha?\" | \"+Ha:\" |\")}).join(`\n`)}function i1(vi){return Array(vi+1).join(\" \")}var x1=Object.defineProperty({printLocation:F1,printSourceLocation:a1},\"__esModule\",{value:!0}),ux=s0(function(vi,jr){function Hn(vc){return(Hn=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(Lc){return typeof Lc}:function(Lc){return Lc&&typeof Symbol==\"function\"&&Lc.constructor===Symbol&&Lc!==Symbol.prototype?\"symbol\":typeof Lc})(vc)}Object.defineProperty(jr,\"__esModule\",{value:!0}),jr.printError=mc,jr.GraphQLError=void 0;var wi,jo=(wi=J0)&&wi.__esModule?wi:{default:wi};function bs(vc,Lc){for(var i2=0;i2<Lc.length;i2++){var su=Lc[i2];su.enumerable=su.enumerable||!1,su.configurable=!0,\"value\"in su&&(su.writable=!0),Object.defineProperty(vc,su.key,su)}}function Ha(vc,Lc){return!Lc||Hn(Lc)!==\"object\"&&typeof Lc!=\"function\"?qn(vc):Lc}function qn(vc){if(vc===void 0)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return vc}function Ki(vc){var Lc=typeof Map==\"function\"?new Map:void 0;return(Ki=function(i2){if(i2===null||(su=i2,Function.toString.call(su).indexOf(\"[native code]\")===-1))return i2;var su;if(typeof i2!=\"function\")throw new TypeError(\"Super expression must either be null or a function\");if(Lc!==void 0){if(Lc.has(i2))return Lc.get(i2);Lc.set(i2,T2)}function T2(){return es(i2,arguments,Tc(this).constructor)}return T2.prototype=Object.create(i2.prototype,{constructor:{value:T2,enumerable:!1,writable:!0,configurable:!0}}),ju(T2,i2)})(vc)}function es(vc,Lc,i2){return(es=Ns()?Reflect.construct:function(su,T2,Cu){var mr=[null];mr.push.apply(mr,T2);var Dn=new(Function.bind.apply(su,mr));return Cu&&ju(Dn,Cu.prototype),Dn}).apply(null,arguments)}function Ns(){if(typeof Reflect==\"undefined\"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy==\"function\")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch{return!1}}function ju(vc,Lc){return(ju=Object.setPrototypeOf||function(i2,su){return i2.__proto__=su,i2})(vc,Lc)}function Tc(vc){return(Tc=Object.setPrototypeOf?Object.getPrototypeOf:function(Lc){return Lc.__proto__||Object.getPrototypeOf(Lc)})(vc)}var bu=function(vc){(function(Dn,ki){if(typeof ki!=\"function\"&&ki!==null)throw new TypeError(\"Super expression must either be null or a function\");Dn.prototype=Object.create(ki&&ki.prototype,{constructor:{value:Dn,writable:!0,configurable:!0}}),ki&&ju(Dn,ki)})(mr,vc);var Lc,i2,su,T2,Cu=(Lc=mr,i2=Ns(),function(){var Dn,ki=Tc(Lc);if(i2){var us=Tc(this).constructor;Dn=Reflect.construct(ki,arguments,us)}else Dn=ki.apply(this,arguments);return Ha(this,Dn)});function mr(Dn,ki,us,ac,_s,cf,Df){var gp,_2,c_,pC,c8;(function(D8,v8){if(!(D8 instanceof v8))throw new TypeError(\"Cannot call a class as a function\")})(this,mr),c8=Cu.call(this,Dn);var VE,S8=Array.isArray(ki)?ki.length!==0?ki:void 0:ki?[ki]:void 0,c4=us;!c4&&S8&&(c4=(VE=S8[0].loc)===null||VE===void 0?void 0:VE.source);var BS,ES=ac;!ES&&S8&&(ES=S8.reduce(function(D8,v8){return v8.loc&&D8.push(v8.loc.start),D8},[])),ES&&ES.length===0&&(ES=void 0),ac&&us?BS=ac.map(function(D8){return(0,r1.getLocation)(us,D8)}):S8&&(BS=S8.reduce(function(D8,v8){return v8.loc&&D8.push((0,r1.getLocation)(v8.loc.source,v8.loc.start)),D8},[]));var fS=Df;if(fS==null&&cf!=null){var DF=cf.extensions;(0,jo.default)(DF)&&(fS=DF)}return Object.defineProperties(qn(c8),{name:{value:\"GraphQLError\"},message:{value:Dn,enumerable:!0,writable:!0},locations:{value:(gp=BS)!==null&&gp!==void 0?gp:void 0,enumerable:BS!=null},path:{value:_s!=null?_s:void 0,enumerable:_s!=null},nodes:{value:S8!=null?S8:void 0},source:{value:(_2=c4)!==null&&_2!==void 0?_2:void 0},positions:{value:(c_=ES)!==null&&c_!==void 0?c_:void 0},originalError:{value:cf},extensions:{value:(pC=fS)!==null&&pC!==void 0?pC:void 0,enumerable:fS!=null}}),cf!=null&&cf.stack?(Object.defineProperty(qn(c8),\"stack\",{value:cf.stack,writable:!0,configurable:!0}),Ha(c8)):(Error.captureStackTrace?Error.captureStackTrace(qn(c8),mr):Object.defineProperty(qn(c8),\"stack\",{value:Error().stack,writable:!0,configurable:!0}),c8)}return su=mr,(T2=[{key:\"toString\",value:function(){return mc(this)}},{key:e1.SYMBOL_TO_STRING_TAG,get:function(){return\"Object\"}}])&&bs(su.prototype,T2),mr}(Ki(Error));function mc(vc){var Lc=vc.message;if(vc.nodes)for(var i2=0,su=vc.nodes;i2<su.length;i2++){var T2=su[i2];T2.loc&&(Lc+=`\n\n`+(0,x1.printLocation)(T2.loc))}else if(vc.source&&vc.locations)for(var Cu=0,mr=vc.locations;Cu<mr.length;Cu++){var Dn=mr[Cu];Lc+=`\n\n`+(0,x1.printSourceLocation)(vc.source,Dn)}return Lc}jr.GraphQLError=bu}),K1=function(vi,jr,Hn){return new ux.GraphQLError(\"Syntax Error: \".concat(Hn),void 0,vi,[jr])},ee=Object.defineProperty({syntaxError:K1},\"__esModule\",{value:!0}),Gx=s0(function(vi,jr){Object.defineProperty(jr,\"__esModule\",{value:!0}),jr.Kind=void 0;var Hn=Object.freeze({NAME:\"Name\",DOCUMENT:\"Document\",OPERATION_DEFINITION:\"OperationDefinition\",VARIABLE_DEFINITION:\"VariableDefinition\",SELECTION_SET:\"SelectionSet\",FIELD:\"Field\",ARGUMENT:\"Argument\",FRAGMENT_SPREAD:\"FragmentSpread\",INLINE_FRAGMENT:\"InlineFragment\",FRAGMENT_DEFINITION:\"FragmentDefinition\",VARIABLE:\"Variable\",INT:\"IntValue\",FLOAT:\"FloatValue\",STRING:\"StringValue\",BOOLEAN:\"BooleanValue\",NULL:\"NullValue\",ENUM:\"EnumValue\",LIST:\"ListValue\",OBJECT:\"ObjectValue\",OBJECT_FIELD:\"ObjectField\",DIRECTIVE:\"Directive\",NAMED_TYPE:\"NamedType\",LIST_TYPE:\"ListType\",NON_NULL_TYPE:\"NonNullType\",SCHEMA_DEFINITION:\"SchemaDefinition\",OPERATION_TYPE_DEFINITION:\"OperationTypeDefinition\",SCALAR_TYPE_DEFINITION:\"ScalarTypeDefinition\",OBJECT_TYPE_DEFINITION:\"ObjectTypeDefinition\",FIELD_DEFINITION:\"FieldDefinition\",INPUT_VALUE_DEFINITION:\"InputValueDefinition\",INTERFACE_TYPE_DEFINITION:\"InterfaceTypeDefinition\",UNION_TYPE_DEFINITION:\"UnionTypeDefinition\",ENUM_TYPE_DEFINITION:\"EnumTypeDefinition\",ENUM_VALUE_DEFINITION:\"EnumValueDefinition\",INPUT_OBJECT_TYPE_DEFINITION:\"InputObjectTypeDefinition\",DIRECTIVE_DEFINITION:\"DirectiveDefinition\",SCHEMA_EXTENSION:\"SchemaExtension\",SCALAR_TYPE_EXTENSION:\"ScalarTypeExtension\",OBJECT_TYPE_EXTENSION:\"ObjectTypeExtension\",INTERFACE_TYPE_EXTENSION:\"InterfaceTypeExtension\",UNION_TYPE_EXTENSION:\"UnionTypeExtension\",ENUM_TYPE_EXTENSION:\"EnumTypeExtension\",INPUT_OBJECT_TYPE_EXTENSION:\"InputObjectTypeExtension\"});jr.Kind=Hn}),ve=function(vi,jr){if(!Boolean(vi))throw new Error(jr!=null?jr:\"Unexpected invariant triggered.\")},qe=Object.defineProperty({default:ve},\"__esModule\",{value:!0}),Jt=s0(function(vi,jr){Object.defineProperty(jr,\"__esModule\",{value:!0}),jr.default=void 0;var Hn=typeof Symbol==\"function\"&&typeof Symbol.for==\"function\"?Symbol.for(\"nodejs.util.inspect.custom\"):void 0;jr.default=Hn}),Ct=function(vi){var jr=vi.prototype.toJSON;typeof jr==\"function\"||(0,vn.default)(0),vi.prototype.inspect=jr,_n.default&&(vi.prototype[_n.default]=jr)},vn=Tr(qe),_n=Tr(Jt);function Tr(vi){return vi&&vi.__esModule?vi:{default:vi}}var Lr,Pn=Object.defineProperty({default:Ct},\"__esModule\",{value:!0}),En=s0(function(vi,jr){Object.defineProperty(jr,\"__esModule\",{value:!0}),jr.isNode=function(Ha){return Ha!=null&&typeof Ha.kind==\"string\"},jr.Token=jr.Location=void 0;var Hn,wi=(Hn=Pn)&&Hn.__esModule?Hn:{default:Hn},jo=function(){function Ha(qn,Ki,es){this.start=qn.start,this.end=Ki.end,this.startToken=qn,this.endToken=Ki,this.source=es}return Ha.prototype.toJSON=function(){return{start:this.start,end:this.end}},Ha}();jr.Location=jo,(0,wi.default)(jo);var bs=function(){function Ha(qn,Ki,es,Ns,ju,Tc,bu){this.kind=qn,this.start=Ki,this.end=es,this.line=Ns,this.column=ju,this.value=bu,this.prev=Tc,this.next=null}return Ha.prototype.toJSON=function(){return{kind:this.kind,value:this.value,line:this.line,column:this.column}},Ha}();jr.Token=bs,(0,wi.default)(bs)}),cr=s0(function(vi,jr){Object.defineProperty(jr,\"__esModule\",{value:!0}),jr.TokenKind=void 0;var Hn=Object.freeze({SOF:\"<SOF>\",EOF:\"<EOF>\",BANG:\"!\",DOLLAR:\"$\",AMP:\"&\",PAREN_L:\"(\",PAREN_R:\")\",SPREAD:\"...\",COLON:\":\",EQUALS:\"=\",AT:\"@\",BRACKET_L:\"[\",BRACKET_R:\"]\",BRACE_L:\"{\",PIPE:\"|\",BRACE_R:\"}\",NAME:\"Name\",INT:\"Int\",FLOAT:\"Float\",STRING:\"String\",BLOCK_STRING:\"BlockString\",COMMENT:\"Comment\"});jr.TokenKind=Hn}),Ea=function(vi){return Au(vi,[])},Qn=(Lr=Jt)&&Lr.__esModule?Lr:{default:Lr};function Bu(vi){return(Bu=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(jr){return typeof jr}:function(jr){return jr&&typeof Symbol==\"function\"&&jr.constructor===Symbol&&jr!==Symbol.prototype?\"symbol\":typeof jr})(vi)}function Au(vi,jr){switch(Bu(vi)){case\"string\":return JSON.stringify(vi);case\"function\":return vi.name?\"[function \".concat(vi.name,\"]\"):\"[function]\";case\"object\":return vi===null?\"null\":function(Hn,wi){if(wi.indexOf(Hn)!==-1)return\"[Circular]\";var jo=[].concat(wi,[Hn]),bs=function(qn){var Ki=qn[String(Qn.default)];if(typeof Ki==\"function\")return Ki;if(typeof qn.inspect==\"function\")return qn.inspect}(Hn);if(bs!==void 0){var Ha=bs.call(Hn);if(Ha!==Hn)return typeof Ha==\"string\"?Ha:Au(Ha,jo)}else if(Array.isArray(Hn))return function(qn,Ki){if(qn.length===0)return\"[]\";if(Ki.length>2)return\"[Array]\";for(var es=Math.min(10,qn.length),Ns=qn.length-es,ju=[],Tc=0;Tc<es;++Tc)ju.push(Au(qn[Tc],Ki));return Ns===1?ju.push(\"... 1 more item\"):Ns>1&&ju.push(\"... \".concat(Ns,\" more items\")),\"[\"+ju.join(\", \")+\"]\"}(Hn,jo);return function(qn,Ki){var es=Object.keys(qn);return es.length===0?\"{}\":Ki.length>2?\"[\"+function(Ns){var ju=Object.prototype.toString.call(Ns).replace(/^\\[object /,\"\").replace(/]$/,\"\");if(ju===\"Object\"&&typeof Ns.constructor==\"function\"){var Tc=Ns.constructor.name;if(typeof Tc==\"string\"&&Tc!==\"\")return Tc}return ju}(qn)+\"]\":\"{ \"+es.map(function(Ns){return Ns+\": \"+Au(qn[Ns],Ki)}).join(\", \")+\" }\"}(Hn,jo)}(vi,jr);default:return String(vi)}}var Ec=Object.defineProperty({default:Ea},\"__esModule\",{value:!0}),kn=function(vi,jr){if(!Boolean(vi))throw new Error(jr)},pu=Object.defineProperty({default:kn},\"__esModule\",{value:!0}),mi=s0(function(vi,jr){Object.defineProperty(jr,\"__esModule\",{value:!0}),jr.default=void 0,jr.default=function(Hn,wi){return Hn instanceof wi}}),ma=s0(function(vi,jr){Object.defineProperty(jr,\"__esModule\",{value:!0}),jr.isSource=function(Ki){return(0,jo.default)(Ki,qn)},jr.Source=void 0;var Hn=bs(Ec),wi=bs(pu),jo=bs(mi);function bs(Ki){return Ki&&Ki.__esModule?Ki:{default:Ki}}function Ha(Ki,es){for(var Ns=0;Ns<es.length;Ns++){var ju=es[Ns];ju.enumerable=ju.enumerable||!1,ju.configurable=!0,\"value\"in ju&&(ju.writable=!0),Object.defineProperty(Ki,ju.key,ju)}}var qn=function(){function Ki(ju){var Tc=arguments.length>1&&arguments[1]!==void 0?arguments[1]:\"GraphQL request\",bu=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{line:1,column:1};typeof ju==\"string\"||(0,wi.default)(0,\"Body must be a string. Received: \".concat((0,Hn.default)(ju),\".\")),this.body=ju,this.name=Tc,this.locationOffset=bu,this.locationOffset.line>0||(0,wi.default)(0,\"line in locationOffset is 1-indexed and must be positive.\"),this.locationOffset.column>0||(0,wi.default)(0,\"column in locationOffset is 1-indexed and must be positive.\")}var es,Ns;return es=Ki,(Ns=[{key:e1.SYMBOL_TO_STRING_TAG,get:function(){return\"Source\"}}])&&Ha(es.prototype,Ns),Ki}();jr.Source=qn}),ja=s0(function(vi,jr){Object.defineProperty(jr,\"__esModule\",{value:!0}),jr.DirectiveLocation=void 0;var Hn=Object.freeze({QUERY:\"QUERY\",MUTATION:\"MUTATION\",SUBSCRIPTION:\"SUBSCRIPTION\",FIELD:\"FIELD\",FRAGMENT_DEFINITION:\"FRAGMENT_DEFINITION\",FRAGMENT_SPREAD:\"FRAGMENT_SPREAD\",INLINE_FRAGMENT:\"INLINE_FRAGMENT\",VARIABLE_DEFINITION:\"VARIABLE_DEFINITION\",SCHEMA:\"SCHEMA\",SCALAR:\"SCALAR\",OBJECT:\"OBJECT\",FIELD_DEFINITION:\"FIELD_DEFINITION\",ARGUMENT_DEFINITION:\"ARGUMENT_DEFINITION\",INTERFACE:\"INTERFACE\",UNION:\"UNION\",ENUM:\"ENUM\",ENUM_VALUE:\"ENUM_VALUE\",INPUT_OBJECT:\"INPUT_OBJECT\",INPUT_FIELD_DEFINITION:\"INPUT_FIELD_DEFINITION\"});jr.DirectiveLocation=Hn}),Ua=function(vi){var jr=vi.split(/\\r\\n|[\\n\\r]/g),Hn=et(vi);if(Hn!==0)for(var wi=1;wi<jr.length;wi++)jr[wi]=jr[wi].slice(Hn);for(var jo=0;jo<jr.length&&gn(jr[jo]);)++jo;for(var bs=jr.length;bs>jo&&gn(jr[bs-1]);)--bs;return jr.slice(jo,bs).join(`\n`)},aa=et,Os=function(vi){var jr=arguments.length>1&&arguments[1]!==void 0?arguments[1]:\"\",Hn=arguments.length>2&&arguments[2]!==void 0&&arguments[2],wi=vi.indexOf(`\n`)===-1,jo=vi[0]===\" \"||vi[0]===\"\t\",bs=vi[vi.length-1]==='\"',Ha=vi[vi.length-1]===\"\\\\\",qn=!wi||bs||Ha||Hn,Ki=\"\";return!qn||wi&&jo||(Ki+=`\n`+jr),Ki+=jr?vi.replace(/\\n/g,`\n`+jr):vi,qn&&(Ki+=`\n`),'\"\"\"'+Ki.replace(/\"\"\"/g,'\\\\\"\"\"')+'\"\"\"'};function gn(vi){for(var jr=0;jr<vi.length;++jr)if(vi[jr]!==\" \"&&vi[jr]!==\"\t\")return!1;return!0}function et(vi){for(var jr,Hn=!0,wi=!0,jo=0,bs=null,Ha=0;Ha<vi.length;++Ha)switch(vi.charCodeAt(Ha)){case 13:vi.charCodeAt(Ha+1)===10&&++Ha;case 10:Hn=!1,wi=!0,jo=0;break;case 9:case 32:++jo;break;default:wi&&!Hn&&(bs===null||jo<bs)&&(bs=jo),wi=!1}return(jr=bs)!==null&&jr!==void 0?jr:0}var Sr=Object.defineProperty({dedentBlockStringValue:Ua,getBlockStringIndentation:aa,printBlockString:Os},\"__esModule\",{value:!0}),un=s0(function(vi,jr){Object.defineProperty(jr,\"__esModule\",{value:!0}),jr.isPunctuatorTokenKind=function(bu){return bu===cr.TokenKind.BANG||bu===cr.TokenKind.DOLLAR||bu===cr.TokenKind.AMP||bu===cr.TokenKind.PAREN_L||bu===cr.TokenKind.PAREN_R||bu===cr.TokenKind.SPREAD||bu===cr.TokenKind.COLON||bu===cr.TokenKind.EQUALS||bu===cr.TokenKind.AT||bu===cr.TokenKind.BRACKET_L||bu===cr.TokenKind.BRACKET_R||bu===cr.TokenKind.BRACE_L||bu===cr.TokenKind.PIPE||bu===cr.TokenKind.BRACE_R},jr.Lexer=void 0;var Hn=function(){function bu(vc){var Lc=new En.Token(cr.TokenKind.SOF,0,0,0,0,null);this.source=vc,this.lastToken=Lc,this.token=Lc,this.line=1,this.lineStart=0}var mc=bu.prototype;return mc.advance=function(){return this.lastToken=this.token,this.token=this.lookahead()},mc.lookahead=function(){var vc=this.token;if(vc.kind!==cr.TokenKind.EOF)do{var Lc;vc=(Lc=vc.next)!==null&&Lc!==void 0?Lc:vc.next=jo(this,vc)}while(vc.kind===cr.TokenKind.COMMENT);return vc},bu}();function wi(bu){return isNaN(bu)?cr.TokenKind.EOF:bu<127?JSON.stringify(String.fromCharCode(bu)):'\"\\\\u'.concat((\"00\"+bu.toString(16).toUpperCase()).slice(-4),'\"')}function jo(bu,mc){for(var vc=bu.source,Lc=vc.body,i2=Lc.length,su=mc.end;su<i2;){var T2=Lc.charCodeAt(su),Cu=bu.line,mr=1+su-bu.lineStart;switch(T2){case 65279:case 9:case 32:case 44:++su;continue;case 10:++su,++bu.line,bu.lineStart=su;continue;case 13:Lc.charCodeAt(su+1)===10?su+=2:++su,++bu.line,bu.lineStart=su;continue;case 33:return new En.Token(cr.TokenKind.BANG,su,su+1,Cu,mr,mc);case 35:return Ha(vc,su,Cu,mr,mc);case 36:return new En.Token(cr.TokenKind.DOLLAR,su,su+1,Cu,mr,mc);case 38:return new En.Token(cr.TokenKind.AMP,su,su+1,Cu,mr,mc);case 40:return new En.Token(cr.TokenKind.PAREN_L,su,su+1,Cu,mr,mc);case 41:return new En.Token(cr.TokenKind.PAREN_R,su,su+1,Cu,mr,mc);case 46:if(Lc.charCodeAt(su+1)===46&&Lc.charCodeAt(su+2)===46)return new En.Token(cr.TokenKind.SPREAD,su,su+3,Cu,mr,mc);break;case 58:return new En.Token(cr.TokenKind.COLON,su,su+1,Cu,mr,mc);case 61:return new En.Token(cr.TokenKind.EQUALS,su,su+1,Cu,mr,mc);case 64:return new En.Token(cr.TokenKind.AT,su,su+1,Cu,mr,mc);case 91:return new En.Token(cr.TokenKind.BRACKET_L,su,su+1,Cu,mr,mc);case 93:return new En.Token(cr.TokenKind.BRACKET_R,su,su+1,Cu,mr,mc);case 123:return new En.Token(cr.TokenKind.BRACE_L,su,su+1,Cu,mr,mc);case 124:return new En.Token(cr.TokenKind.PIPE,su,su+1,Cu,mr,mc);case 125:return new En.Token(cr.TokenKind.BRACE_R,su,su+1,Cu,mr,mc);case 34:return Lc.charCodeAt(su+1)===34&&Lc.charCodeAt(su+2)===34?Ns(vc,su,Cu,mr,mc,bu):es(vc,su,Cu,mr,mc);case 45:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return qn(vc,su,T2,Cu,mr,mc);case 65:case 66:case 67:case 68:case 69:case 70:case 71:case 72:case 73:case 74:case 75:case 76:case 77:case 78:case 79:case 80:case 81:case 82:case 83:case 84:case 85:case 86:case 87:case 88:case 89:case 90:case 95:case 97:case 98:case 99:case 100:case 101:case 102:case 103:case 104:case 105:case 106:case 107:case 108:case 109:case 110:case 111:case 112:case 113:case 114:case 115:case 116:case 117:case 118:case 119:case 120:case 121:case 122:return Tc(vc,su,Cu,mr,mc)}throw(0,ee.syntaxError)(vc,su,bs(T2))}var Dn=bu.line,ki=1+su-bu.lineStart;return new En.Token(cr.TokenKind.EOF,i2,i2,Dn,ki,mc)}function bs(bu){return bu<32&&bu!==9&&bu!==10&&bu!==13?\"Cannot contain the invalid character \".concat(wi(bu),\".\"):bu===39?`Unexpected single quote character ('), did you mean to use a double quote (\")?`:\"Cannot parse the unexpected character \".concat(wi(bu),\".\")}function Ha(bu,mc,vc,Lc,i2){var su,T2=bu.body,Cu=mc;do su=T2.charCodeAt(++Cu);while(!isNaN(su)&&(su>31||su===9));return new En.Token(cr.TokenKind.COMMENT,mc,Cu,vc,Lc,i2,T2.slice(mc+1,Cu))}function qn(bu,mc,vc,Lc,i2,su){var T2=bu.body,Cu=vc,mr=mc,Dn=!1;if(Cu===45&&(Cu=T2.charCodeAt(++mr)),Cu===48){if((Cu=T2.charCodeAt(++mr))>=48&&Cu<=57)throw(0,ee.syntaxError)(bu,mr,\"Invalid number, unexpected digit after 0: \".concat(wi(Cu),\".\"))}else mr=Ki(bu,mr,Cu),Cu=T2.charCodeAt(mr);if(Cu===46&&(Dn=!0,Cu=T2.charCodeAt(++mr),mr=Ki(bu,mr,Cu),Cu=T2.charCodeAt(mr)),Cu!==69&&Cu!==101||(Dn=!0,(Cu=T2.charCodeAt(++mr))!==43&&Cu!==45||(Cu=T2.charCodeAt(++mr)),mr=Ki(bu,mr,Cu),Cu=T2.charCodeAt(mr)),Cu===46||function(ki){return ki===95||ki>=65&&ki<=90||ki>=97&&ki<=122}(Cu))throw(0,ee.syntaxError)(bu,mr,\"Invalid number, expected digit but got: \".concat(wi(Cu),\".\"));return new En.Token(Dn?cr.TokenKind.FLOAT:cr.TokenKind.INT,mc,mr,Lc,i2,su,T2.slice(mc,mr))}function Ki(bu,mc,vc){var Lc=bu.body,i2=mc,su=vc;if(su>=48&&su<=57){do su=Lc.charCodeAt(++i2);while(su>=48&&su<=57);return i2}throw(0,ee.syntaxError)(bu,i2,\"Invalid number, expected digit but got: \".concat(wi(su),\".\"))}function es(bu,mc,vc,Lc,i2){for(var su,T2,Cu,mr,Dn=bu.body,ki=mc+1,us=ki,ac=0,_s=\"\";ki<Dn.length&&!isNaN(ac=Dn.charCodeAt(ki))&&ac!==10&&ac!==13;){if(ac===34)return _s+=Dn.slice(us,ki),new En.Token(cr.TokenKind.STRING,mc,ki+1,vc,Lc,i2,_s);if(ac<32&&ac!==9)throw(0,ee.syntaxError)(bu,ki,\"Invalid character within String: \".concat(wi(ac),\".\"));if(++ki,ac===92){switch(_s+=Dn.slice(us,ki-1),ac=Dn.charCodeAt(ki)){case 34:_s+='\"';break;case 47:_s+=\"/\";break;case 92:_s+=\"\\\\\";break;case 98:_s+=\"\\b\";break;case 102:_s+=\"\\f\";break;case 110:_s+=`\n`;break;case 114:_s+=\"\\r\";break;case 116:_s+=\"\t\";break;case 117:var cf=(su=Dn.charCodeAt(ki+1),T2=Dn.charCodeAt(ki+2),Cu=Dn.charCodeAt(ki+3),mr=Dn.charCodeAt(ki+4),ju(su)<<12|ju(T2)<<8|ju(Cu)<<4|ju(mr));if(cf<0){var Df=Dn.slice(ki+1,ki+5);throw(0,ee.syntaxError)(bu,ki,\"Invalid character escape sequence: \\\\u\".concat(Df,\".\"))}_s+=String.fromCharCode(cf),ki+=4;break;default:throw(0,ee.syntaxError)(bu,ki,\"Invalid character escape sequence: \\\\\".concat(String.fromCharCode(ac),\".\"))}us=++ki}}throw(0,ee.syntaxError)(bu,ki,\"Unterminated string.\")}function Ns(bu,mc,vc,Lc,i2,su){for(var T2=bu.body,Cu=mc+3,mr=Cu,Dn=0,ki=\"\";Cu<T2.length&&!isNaN(Dn=T2.charCodeAt(Cu));){if(Dn===34&&T2.charCodeAt(Cu+1)===34&&T2.charCodeAt(Cu+2)===34)return ki+=T2.slice(mr,Cu),new En.Token(cr.TokenKind.BLOCK_STRING,mc,Cu+3,vc,Lc,i2,(0,Sr.dedentBlockStringValue)(ki));if(Dn<32&&Dn!==9&&Dn!==10&&Dn!==13)throw(0,ee.syntaxError)(bu,Cu,\"Invalid character within String: \".concat(wi(Dn),\".\"));Dn===10?(++Cu,++su.line,su.lineStart=Cu):Dn===13?(T2.charCodeAt(Cu+1)===10?Cu+=2:++Cu,++su.line,su.lineStart=Cu):Dn===92&&T2.charCodeAt(Cu+1)===34&&T2.charCodeAt(Cu+2)===34&&T2.charCodeAt(Cu+3)===34?(ki+=T2.slice(mr,Cu)+'\"\"\"',mr=Cu+=4):++Cu}throw(0,ee.syntaxError)(bu,Cu,\"Unterminated string.\")}function ju(bu){return bu>=48&&bu<=57?bu-48:bu>=65&&bu<=70?bu-55:bu>=97&&bu<=102?bu-87:-1}function Tc(bu,mc,vc,Lc,i2){for(var su=bu.body,T2=su.length,Cu=mc+1,mr=0;Cu!==T2&&!isNaN(mr=su.charCodeAt(Cu))&&(mr===95||mr>=48&&mr<=57||mr>=65&&mr<=90||mr>=97&&mr<=122);)++Cu;return new En.Token(cr.TokenKind.NAME,mc,Cu,vc,Lc,i2,su.slice(mc,Cu))}jr.Lexer=Hn}),jn=s0(function(vi,jr){Object.defineProperty(jr,\"__esModule\",{value:!0}),jr.parse=function(bs,Ha){return new Hn(bs,Ha).parseDocument()},jr.parseValue=function(bs,Ha){var qn=new Hn(bs,Ha);qn.expectToken(cr.TokenKind.SOF);var Ki=qn.parseValueLiteral(!1);return qn.expectToken(cr.TokenKind.EOF),Ki},jr.parseType=function(bs,Ha){var qn=new Hn(bs,Ha);qn.expectToken(cr.TokenKind.SOF);var Ki=qn.parseTypeReference();return qn.expectToken(cr.TokenKind.EOF),Ki},jr.Parser=void 0;var Hn=function(){function bs(qn,Ki){var es=(0,ma.isSource)(qn)?qn:new ma.Source(qn);this._lexer=new un.Lexer(es),this._options=Ki}var Ha=bs.prototype;return Ha.parseName=function(){var qn=this.expectToken(cr.TokenKind.NAME);return{kind:Gx.Kind.NAME,value:qn.value,loc:this.loc(qn)}},Ha.parseDocument=function(){var qn=this._lexer.token;return{kind:Gx.Kind.DOCUMENT,definitions:this.many(cr.TokenKind.SOF,this.parseDefinition,cr.TokenKind.EOF),loc:this.loc(qn)}},Ha.parseDefinition=function(){if(this.peek(cr.TokenKind.NAME))switch(this._lexer.token.value){case\"query\":case\"mutation\":case\"subscription\":return this.parseOperationDefinition();case\"fragment\":return this.parseFragmentDefinition();case\"schema\":case\"scalar\":case\"type\":case\"interface\":case\"union\":case\"enum\":case\"input\":case\"directive\":return this.parseTypeSystemDefinition();case\"extend\":return this.parseTypeSystemExtension()}else{if(this.peek(cr.TokenKind.BRACE_L))return this.parseOperationDefinition();if(this.peekDescription())return this.parseTypeSystemDefinition()}throw this.unexpected()},Ha.parseOperationDefinition=function(){var qn=this._lexer.token;if(this.peek(cr.TokenKind.BRACE_L))return{kind:Gx.Kind.OPERATION_DEFINITION,operation:\"query\",name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet(),loc:this.loc(qn)};var Ki,es=this.parseOperationType();return this.peek(cr.TokenKind.NAME)&&(Ki=this.parseName()),{kind:Gx.Kind.OPERATION_DEFINITION,operation:es,name:Ki,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(qn)}},Ha.parseOperationType=function(){var qn=this.expectToken(cr.TokenKind.NAME);switch(qn.value){case\"query\":return\"query\";case\"mutation\":return\"mutation\";case\"subscription\":return\"subscription\"}throw this.unexpected(qn)},Ha.parseVariableDefinitions=function(){return this.optionalMany(cr.TokenKind.PAREN_L,this.parseVariableDefinition,cr.TokenKind.PAREN_R)},Ha.parseVariableDefinition=function(){var qn=this._lexer.token;return{kind:Gx.Kind.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(cr.TokenKind.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(cr.TokenKind.EQUALS)?this.parseValueLiteral(!0):void 0,directives:this.parseDirectives(!0),loc:this.loc(qn)}},Ha.parseVariable=function(){var qn=this._lexer.token;return this.expectToken(cr.TokenKind.DOLLAR),{kind:Gx.Kind.VARIABLE,name:this.parseName(),loc:this.loc(qn)}},Ha.parseSelectionSet=function(){var qn=this._lexer.token;return{kind:Gx.Kind.SELECTION_SET,selections:this.many(cr.TokenKind.BRACE_L,this.parseSelection,cr.TokenKind.BRACE_R),loc:this.loc(qn)}},Ha.parseSelection=function(){return this.peek(cr.TokenKind.SPREAD)?this.parseFragment():this.parseField()},Ha.parseField=function(){var qn,Ki,es=this._lexer.token,Ns=this.parseName();return this.expectOptionalToken(cr.TokenKind.COLON)?(qn=Ns,Ki=this.parseName()):Ki=Ns,{kind:Gx.Kind.FIELD,alias:qn,name:Ki,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(cr.TokenKind.BRACE_L)?this.parseSelectionSet():void 0,loc:this.loc(es)}},Ha.parseArguments=function(qn){var Ki=qn?this.parseConstArgument:this.parseArgument;return this.optionalMany(cr.TokenKind.PAREN_L,Ki,cr.TokenKind.PAREN_R)},Ha.parseArgument=function(){var qn=this._lexer.token,Ki=this.parseName();return this.expectToken(cr.TokenKind.COLON),{kind:Gx.Kind.ARGUMENT,name:Ki,value:this.parseValueLiteral(!1),loc:this.loc(qn)}},Ha.parseConstArgument=function(){var qn=this._lexer.token;return{kind:Gx.Kind.ARGUMENT,name:this.parseName(),value:(this.expectToken(cr.TokenKind.COLON),this.parseValueLiteral(!0)),loc:this.loc(qn)}},Ha.parseFragment=function(){var qn=this._lexer.token;this.expectToken(cr.TokenKind.SPREAD);var Ki=this.expectOptionalKeyword(\"on\");return!Ki&&this.peek(cr.TokenKind.NAME)?{kind:Gx.Kind.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1),loc:this.loc(qn)}:{kind:Gx.Kind.INLINE_FRAGMENT,typeCondition:Ki?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(qn)}},Ha.parseFragmentDefinition=function(){var qn,Ki=this._lexer.token;return this.expectKeyword(\"fragment\"),((qn=this._options)===null||qn===void 0?void 0:qn.experimentalFragmentVariables)===!0?{kind:Gx.Kind.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword(\"on\"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(Ki)}:{kind:Gx.Kind.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword(\"on\"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(Ki)}},Ha.parseFragmentName=function(){if(this._lexer.token.value===\"on\")throw this.unexpected();return this.parseName()},Ha.parseValueLiteral=function(qn){var Ki=this._lexer.token;switch(Ki.kind){case cr.TokenKind.BRACKET_L:return this.parseList(qn);case cr.TokenKind.BRACE_L:return this.parseObject(qn);case cr.TokenKind.INT:return this._lexer.advance(),{kind:Gx.Kind.INT,value:Ki.value,loc:this.loc(Ki)};case cr.TokenKind.FLOAT:return this._lexer.advance(),{kind:Gx.Kind.FLOAT,value:Ki.value,loc:this.loc(Ki)};case cr.TokenKind.STRING:case cr.TokenKind.BLOCK_STRING:return this.parseStringLiteral();case cr.TokenKind.NAME:switch(this._lexer.advance(),Ki.value){case\"true\":return{kind:Gx.Kind.BOOLEAN,value:!0,loc:this.loc(Ki)};case\"false\":return{kind:Gx.Kind.BOOLEAN,value:!1,loc:this.loc(Ki)};case\"null\":return{kind:Gx.Kind.NULL,loc:this.loc(Ki)};default:return{kind:Gx.Kind.ENUM,value:Ki.value,loc:this.loc(Ki)}}case cr.TokenKind.DOLLAR:if(!qn)return this.parseVariable()}throw this.unexpected()},Ha.parseStringLiteral=function(){var qn=this._lexer.token;return this._lexer.advance(),{kind:Gx.Kind.STRING,value:qn.value,block:qn.kind===cr.TokenKind.BLOCK_STRING,loc:this.loc(qn)}},Ha.parseList=function(qn){var Ki=this,es=this._lexer.token;return{kind:Gx.Kind.LIST,values:this.any(cr.TokenKind.BRACKET_L,function(){return Ki.parseValueLiteral(qn)},cr.TokenKind.BRACKET_R),loc:this.loc(es)}},Ha.parseObject=function(qn){var Ki=this,es=this._lexer.token;return{kind:Gx.Kind.OBJECT,fields:this.any(cr.TokenKind.BRACE_L,function(){return Ki.parseObjectField(qn)},cr.TokenKind.BRACE_R),loc:this.loc(es)}},Ha.parseObjectField=function(qn){var Ki=this._lexer.token,es=this.parseName();return this.expectToken(cr.TokenKind.COLON),{kind:Gx.Kind.OBJECT_FIELD,name:es,value:this.parseValueLiteral(qn),loc:this.loc(Ki)}},Ha.parseDirectives=function(qn){for(var Ki=[];this.peek(cr.TokenKind.AT);)Ki.push(this.parseDirective(qn));return Ki},Ha.parseDirective=function(qn){var Ki=this._lexer.token;return this.expectToken(cr.TokenKind.AT),{kind:Gx.Kind.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(qn),loc:this.loc(Ki)}},Ha.parseTypeReference=function(){var qn,Ki=this._lexer.token;return this.expectOptionalToken(cr.TokenKind.BRACKET_L)?(qn=this.parseTypeReference(),this.expectToken(cr.TokenKind.BRACKET_R),qn={kind:Gx.Kind.LIST_TYPE,type:qn,loc:this.loc(Ki)}):qn=this.parseNamedType(),this.expectOptionalToken(cr.TokenKind.BANG)?{kind:Gx.Kind.NON_NULL_TYPE,type:qn,loc:this.loc(Ki)}:qn},Ha.parseNamedType=function(){var qn=this._lexer.token;return{kind:Gx.Kind.NAMED_TYPE,name:this.parseName(),loc:this.loc(qn)}},Ha.parseTypeSystemDefinition=function(){var qn=this.peekDescription()?this._lexer.lookahead():this._lexer.token;if(qn.kind===cr.TokenKind.NAME)switch(qn.value){case\"schema\":return this.parseSchemaDefinition();case\"scalar\":return this.parseScalarTypeDefinition();case\"type\":return this.parseObjectTypeDefinition();case\"interface\":return this.parseInterfaceTypeDefinition();case\"union\":return this.parseUnionTypeDefinition();case\"enum\":return this.parseEnumTypeDefinition();case\"input\":return this.parseInputObjectTypeDefinition();case\"directive\":return this.parseDirectiveDefinition()}throw this.unexpected(qn)},Ha.peekDescription=function(){return this.peek(cr.TokenKind.STRING)||this.peek(cr.TokenKind.BLOCK_STRING)},Ha.parseDescription=function(){if(this.peekDescription())return this.parseStringLiteral()},Ha.parseSchemaDefinition=function(){var qn=this._lexer.token,Ki=this.parseDescription();this.expectKeyword(\"schema\");var es=this.parseDirectives(!0),Ns=this.many(cr.TokenKind.BRACE_L,this.parseOperationTypeDefinition,cr.TokenKind.BRACE_R);return{kind:Gx.Kind.SCHEMA_DEFINITION,description:Ki,directives:es,operationTypes:Ns,loc:this.loc(qn)}},Ha.parseOperationTypeDefinition=function(){var qn=this._lexer.token,Ki=this.parseOperationType();this.expectToken(cr.TokenKind.COLON);var es=this.parseNamedType();return{kind:Gx.Kind.OPERATION_TYPE_DEFINITION,operation:Ki,type:es,loc:this.loc(qn)}},Ha.parseScalarTypeDefinition=function(){var qn=this._lexer.token,Ki=this.parseDescription();this.expectKeyword(\"scalar\");var es=this.parseName(),Ns=this.parseDirectives(!0);return{kind:Gx.Kind.SCALAR_TYPE_DEFINITION,description:Ki,name:es,directives:Ns,loc:this.loc(qn)}},Ha.parseObjectTypeDefinition=function(){var qn=this._lexer.token,Ki=this.parseDescription();this.expectKeyword(\"type\");var es=this.parseName(),Ns=this.parseImplementsInterfaces(),ju=this.parseDirectives(!0),Tc=this.parseFieldsDefinition();return{kind:Gx.Kind.OBJECT_TYPE_DEFINITION,description:Ki,name:es,interfaces:Ns,directives:ju,fields:Tc,loc:this.loc(qn)}},Ha.parseImplementsInterfaces=function(){var qn;if(!this.expectOptionalKeyword(\"implements\"))return[];if(((qn=this._options)===null||qn===void 0?void 0:qn.allowLegacySDLImplementsInterfaces)===!0){var Ki=[];this.expectOptionalToken(cr.TokenKind.AMP);do Ki.push(this.parseNamedType());while(this.expectOptionalToken(cr.TokenKind.AMP)||this.peek(cr.TokenKind.NAME));return Ki}return this.delimitedMany(cr.TokenKind.AMP,this.parseNamedType)},Ha.parseFieldsDefinition=function(){var qn;return((qn=this._options)===null||qn===void 0?void 0:qn.allowLegacySDLEmptyFields)===!0&&this.peek(cr.TokenKind.BRACE_L)&&this._lexer.lookahead().kind===cr.TokenKind.BRACE_R?(this._lexer.advance(),this._lexer.advance(),[]):this.optionalMany(cr.TokenKind.BRACE_L,this.parseFieldDefinition,cr.TokenKind.BRACE_R)},Ha.parseFieldDefinition=function(){var qn=this._lexer.token,Ki=this.parseDescription(),es=this.parseName(),Ns=this.parseArgumentDefs();this.expectToken(cr.TokenKind.COLON);var ju=this.parseTypeReference(),Tc=this.parseDirectives(!0);return{kind:Gx.Kind.FIELD_DEFINITION,description:Ki,name:es,arguments:Ns,type:ju,directives:Tc,loc:this.loc(qn)}},Ha.parseArgumentDefs=function(){return this.optionalMany(cr.TokenKind.PAREN_L,this.parseInputValueDef,cr.TokenKind.PAREN_R)},Ha.parseInputValueDef=function(){var qn=this._lexer.token,Ki=this.parseDescription(),es=this.parseName();this.expectToken(cr.TokenKind.COLON);var Ns,ju=this.parseTypeReference();this.expectOptionalToken(cr.TokenKind.EQUALS)&&(Ns=this.parseValueLiteral(!0));var Tc=this.parseDirectives(!0);return{kind:Gx.Kind.INPUT_VALUE_DEFINITION,description:Ki,name:es,type:ju,defaultValue:Ns,directives:Tc,loc:this.loc(qn)}},Ha.parseInterfaceTypeDefinition=function(){var qn=this._lexer.token,Ki=this.parseDescription();this.expectKeyword(\"interface\");var es=this.parseName(),Ns=this.parseImplementsInterfaces(),ju=this.parseDirectives(!0),Tc=this.parseFieldsDefinition();return{kind:Gx.Kind.INTERFACE_TYPE_DEFINITION,description:Ki,name:es,interfaces:Ns,directives:ju,fields:Tc,loc:this.loc(qn)}},Ha.parseUnionTypeDefinition=function(){var qn=this._lexer.token,Ki=this.parseDescription();this.expectKeyword(\"union\");var es=this.parseName(),Ns=this.parseDirectives(!0),ju=this.parseUnionMemberTypes();return{kind:Gx.Kind.UNION_TYPE_DEFINITION,description:Ki,name:es,directives:Ns,types:ju,loc:this.loc(qn)}},Ha.parseUnionMemberTypes=function(){return this.expectOptionalToken(cr.TokenKind.EQUALS)?this.delimitedMany(cr.TokenKind.PIPE,this.parseNamedType):[]},Ha.parseEnumTypeDefinition=function(){var qn=this._lexer.token,Ki=this.parseDescription();this.expectKeyword(\"enum\");var es=this.parseName(),Ns=this.parseDirectives(!0),ju=this.parseEnumValuesDefinition();return{kind:Gx.Kind.ENUM_TYPE_DEFINITION,description:Ki,name:es,directives:Ns,values:ju,loc:this.loc(qn)}},Ha.parseEnumValuesDefinition=function(){return this.optionalMany(cr.TokenKind.BRACE_L,this.parseEnumValueDefinition,cr.TokenKind.BRACE_R)},Ha.parseEnumValueDefinition=function(){var qn=this._lexer.token,Ki=this.parseDescription(),es=this.parseName(),Ns=this.parseDirectives(!0);return{kind:Gx.Kind.ENUM_VALUE_DEFINITION,description:Ki,name:es,directives:Ns,loc:this.loc(qn)}},Ha.parseInputObjectTypeDefinition=function(){var qn=this._lexer.token,Ki=this.parseDescription();this.expectKeyword(\"input\");var es=this.parseName(),Ns=this.parseDirectives(!0),ju=this.parseInputFieldsDefinition();return{kind:Gx.Kind.INPUT_OBJECT_TYPE_DEFINITION,description:Ki,name:es,directives:Ns,fields:ju,loc:this.loc(qn)}},Ha.parseInputFieldsDefinition=function(){return this.optionalMany(cr.TokenKind.BRACE_L,this.parseInputValueDef,cr.TokenKind.BRACE_R)},Ha.parseTypeSystemExtension=function(){var qn=this._lexer.lookahead();if(qn.kind===cr.TokenKind.NAME)switch(qn.value){case\"schema\":return this.parseSchemaExtension();case\"scalar\":return this.parseScalarTypeExtension();case\"type\":return this.parseObjectTypeExtension();case\"interface\":return this.parseInterfaceTypeExtension();case\"union\":return this.parseUnionTypeExtension();case\"enum\":return this.parseEnumTypeExtension();case\"input\":return this.parseInputObjectTypeExtension()}throw this.unexpected(qn)},Ha.parseSchemaExtension=function(){var qn=this._lexer.token;this.expectKeyword(\"extend\"),this.expectKeyword(\"schema\");var Ki=this.parseDirectives(!0),es=this.optionalMany(cr.TokenKind.BRACE_L,this.parseOperationTypeDefinition,cr.TokenKind.BRACE_R);if(Ki.length===0&&es.length===0)throw this.unexpected();return{kind:Gx.Kind.SCHEMA_EXTENSION,directives:Ki,operationTypes:es,loc:this.loc(qn)}},Ha.parseScalarTypeExtension=function(){var qn=this._lexer.token;this.expectKeyword(\"extend\"),this.expectKeyword(\"scalar\");var Ki=this.parseName(),es=this.parseDirectives(!0);if(es.length===0)throw this.unexpected();return{kind:Gx.Kind.SCALAR_TYPE_EXTENSION,name:Ki,directives:es,loc:this.loc(qn)}},Ha.parseObjectTypeExtension=function(){var qn=this._lexer.token;this.expectKeyword(\"extend\"),this.expectKeyword(\"type\");var Ki=this.parseName(),es=this.parseImplementsInterfaces(),Ns=this.parseDirectives(!0),ju=this.parseFieldsDefinition();if(es.length===0&&Ns.length===0&&ju.length===0)throw this.unexpected();return{kind:Gx.Kind.OBJECT_TYPE_EXTENSION,name:Ki,interfaces:es,directives:Ns,fields:ju,loc:this.loc(qn)}},Ha.parseInterfaceTypeExtension=function(){var qn=this._lexer.token;this.expectKeyword(\"extend\"),this.expectKeyword(\"interface\");var Ki=this.parseName(),es=this.parseImplementsInterfaces(),Ns=this.parseDirectives(!0),ju=this.parseFieldsDefinition();if(es.length===0&&Ns.length===0&&ju.length===0)throw this.unexpected();return{kind:Gx.Kind.INTERFACE_TYPE_EXTENSION,name:Ki,interfaces:es,directives:Ns,fields:ju,loc:this.loc(qn)}},Ha.parseUnionTypeExtension=function(){var qn=this._lexer.token;this.expectKeyword(\"extend\"),this.expectKeyword(\"union\");var Ki=this.parseName(),es=this.parseDirectives(!0),Ns=this.parseUnionMemberTypes();if(es.length===0&&Ns.length===0)throw this.unexpected();return{kind:Gx.Kind.UNION_TYPE_EXTENSION,name:Ki,directives:es,types:Ns,loc:this.loc(qn)}},Ha.parseEnumTypeExtension=function(){var qn=this._lexer.token;this.expectKeyword(\"extend\"),this.expectKeyword(\"enum\");var Ki=this.parseName(),es=this.parseDirectives(!0),Ns=this.parseEnumValuesDefinition();if(es.length===0&&Ns.length===0)throw this.unexpected();return{kind:Gx.Kind.ENUM_TYPE_EXTENSION,name:Ki,directives:es,values:Ns,loc:this.loc(qn)}},Ha.parseInputObjectTypeExtension=function(){var qn=this._lexer.token;this.expectKeyword(\"extend\"),this.expectKeyword(\"input\");var Ki=this.parseName(),es=this.parseDirectives(!0),Ns=this.parseInputFieldsDefinition();if(es.length===0&&Ns.length===0)throw this.unexpected();return{kind:Gx.Kind.INPUT_OBJECT_TYPE_EXTENSION,name:Ki,directives:es,fields:Ns,loc:this.loc(qn)}},Ha.parseDirectiveDefinition=function(){var qn=this._lexer.token,Ki=this.parseDescription();this.expectKeyword(\"directive\"),this.expectToken(cr.TokenKind.AT);var es=this.parseName(),Ns=this.parseArgumentDefs(),ju=this.expectOptionalKeyword(\"repeatable\");this.expectKeyword(\"on\");var Tc=this.parseDirectiveLocations();return{kind:Gx.Kind.DIRECTIVE_DEFINITION,description:Ki,name:es,arguments:Ns,repeatable:ju,locations:Tc,loc:this.loc(qn)}},Ha.parseDirectiveLocations=function(){return this.delimitedMany(cr.TokenKind.PIPE,this.parseDirectiveLocation)},Ha.parseDirectiveLocation=function(){var qn=this._lexer.token,Ki=this.parseName();if(ja.DirectiveLocation[Ki.value]!==void 0)return Ki;throw this.unexpected(qn)},Ha.loc=function(qn){var Ki;if(((Ki=this._options)===null||Ki===void 0?void 0:Ki.noLocation)!==!0)return new En.Location(qn,this._lexer.lastToken,this._lexer.source)},Ha.peek=function(qn){return this._lexer.token.kind===qn},Ha.expectToken=function(qn){var Ki=this._lexer.token;if(Ki.kind===qn)return this._lexer.advance(),Ki;throw(0,ee.syntaxError)(this._lexer.source,Ki.start,\"Expected \".concat(jo(qn),\", found \").concat(wi(Ki),\".\"))},Ha.expectOptionalToken=function(qn){var Ki=this._lexer.token;if(Ki.kind===qn)return this._lexer.advance(),Ki},Ha.expectKeyword=function(qn){var Ki=this._lexer.token;if(Ki.kind!==cr.TokenKind.NAME||Ki.value!==qn)throw(0,ee.syntaxError)(this._lexer.source,Ki.start,'Expected \"'.concat(qn,'\", found ').concat(wi(Ki),\".\"));this._lexer.advance()},Ha.expectOptionalKeyword=function(qn){var Ki=this._lexer.token;return Ki.kind===cr.TokenKind.NAME&&Ki.value===qn&&(this._lexer.advance(),!0)},Ha.unexpected=function(qn){var Ki=qn!=null?qn:this._lexer.token;return(0,ee.syntaxError)(this._lexer.source,Ki.start,\"Unexpected \".concat(wi(Ki),\".\"))},Ha.any=function(qn,Ki,es){this.expectToken(qn);for(var Ns=[];!this.expectOptionalToken(es);)Ns.push(Ki.call(this));return Ns},Ha.optionalMany=function(qn,Ki,es){if(this.expectOptionalToken(qn)){var Ns=[];do Ns.push(Ki.call(this));while(!this.expectOptionalToken(es));return Ns}return[]},Ha.many=function(qn,Ki,es){this.expectToken(qn);var Ns=[];do Ns.push(Ki.call(this));while(!this.expectOptionalToken(es));return Ns},Ha.delimitedMany=function(qn,Ki){this.expectOptionalToken(qn);var es=[];do es.push(Ki.call(this));while(this.expectOptionalToken(qn));return es},bs}();function wi(bs){var Ha=bs.value;return jo(bs.kind)+(Ha!=null?' \"'.concat(Ha,'\"'):\"\")}function jo(bs){return(0,un.isPunctuatorTokenKind)(bs)?'\"'.concat(bs,'\"'):bs}jr.Parser=Hn});const{hasPragma:ea}=R,{locStart:wa,locEnd:as}=K;function zo(vi){if(vi&&typeof vi==\"object\"){delete vi.startToken,delete vi.endToken,delete vi.prev,delete vi.next;for(const jr in vi)zo(vi[jr])}return vi}const vo={allowLegacySDLImplementsInterfaces:!1,experimentalFragmentVariables:!0};return{parsers:{graphql:{parse:function(vi){const{parse:jr}=jn,{result:Hn,error:wi}=b(()=>jr(vi,Object.assign({},vo)),()=>jr(vi,Object.assign(Object.assign({},vo),{},{allowLegacySDLImplementsInterfaces:!0})));if(!Hn)throw function(jo){const{GraphQLError:bs}=ux;if(jo instanceof bs){const{message:Ha,locations:[qn]}=jo;return c(Ha,{start:qn})}return jo}(wi);return Hn.comments=function(jo){const bs=[],{startToken:Ha}=jo.loc;let{next:qn}=Ha;for(;qn.kind!==\"<EOF>\";)qn.kind===\"Comment\"&&(Object.assign(qn,{column:qn.column-1}),bs.push(qn)),qn=qn.next;return bs}(Hn),zo(Hn),Hn},astFormat:\"graphql\",hasPragma:ea,locStart:wa,locEnd:as}}}})})(Qy0);var GZ={exports:{}};(function(a,u){(function(c,b){a.exports=b()})($F,function(){var c=function(){for(var b0={},z0=0;z0<arguments.length;z0++){var U1=arguments[z0];for(var Bx in U1)b.call(U1,Bx)&&(b0[Bx]=U1[Bx])}return b0},b=Object.prototype.hasOwnProperty,R=typeof globalThis!=\"undefined\"?globalThis:typeof window!=\"undefined\"?window:typeof $F!=\"undefined\"?$F:typeof self!=\"undefined\"?self:{};function K(b0){return b0&&Object.prototype.hasOwnProperty.call(b0,\"default\")?b0.default:b0}function s0(b0){var z0={exports:{}};return b0(z0,z0.exports),z0.exports}var Y=Y!==void 0?Y:typeof self!=\"undefined\"?self:typeof window!=\"undefined\"?window:{},F0=[],J0=[],e1=typeof Uint8Array!=\"undefined\"?Uint8Array:Array,t1=!1;function r1(){t1=!0;for(var b0=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",z0=0,U1=b0.length;z0<U1;++z0)F0[z0]=b0[z0],J0[b0.charCodeAt(z0)]=z0;J0[\"-\".charCodeAt(0)]=62,J0[\"_\".charCodeAt(0)]=63}function F1(b0){return F0[b0>>18&63]+F0[b0>>12&63]+F0[b0>>6&63]+F0[63&b0]}function a1(b0,z0,U1){for(var Bx,pe=[],ne=z0;ne<U1;ne+=3)Bx=(b0[ne]<<16)+(b0[ne+1]<<8)+b0[ne+2],pe.push(F1(Bx));return pe.join(\"\")}function D1(b0){var z0;t1||r1();for(var U1=b0.length,Bx=U1%3,pe=\"\",ne=[],Te=16383,ir=0,hn=U1-Bx;ir<hn;ir+=Te)ne.push(a1(b0,ir,ir+Te>hn?hn:ir+Te));return Bx===1?(z0=b0[U1-1],pe+=F0[z0>>2],pe+=F0[z0<<4&63],pe+=\"==\"):Bx===2&&(z0=(b0[U1-2]<<8)+b0[U1-1],pe+=F0[z0>>10],pe+=F0[z0>>4&63],pe+=F0[z0<<2&63],pe+=\"=\"),ne.push(pe),ne.join(\"\")}function W0(b0,z0,U1,Bx,pe){var ne,Te,ir=8*pe-Bx-1,hn=(1<<ir)-1,sn=hn>>1,Mr=-7,ai=U1?pe-1:0,li=U1?-1:1,Hr=b0[z0+ai];for(ai+=li,ne=Hr&(1<<-Mr)-1,Hr>>=-Mr,Mr+=ir;Mr>0;ne=256*ne+b0[z0+ai],ai+=li,Mr-=8);for(Te=ne&(1<<-Mr)-1,ne>>=-Mr,Mr+=Bx;Mr>0;Te=256*Te+b0[z0+ai],ai+=li,Mr-=8);if(ne===0)ne=1-sn;else{if(ne===hn)return Te?NaN:1/0*(Hr?-1:1);Te+=Math.pow(2,Bx),ne-=sn}return(Hr?-1:1)*Te*Math.pow(2,ne-Bx)}function i1(b0,z0,U1,Bx,pe,ne){var Te,ir,hn,sn=8*ne-pe-1,Mr=(1<<sn)-1,ai=Mr>>1,li=pe===23?Math.pow(2,-24)-Math.pow(2,-77):0,Hr=Bx?0:ne-1,uo=Bx?1:-1,fi=z0<0||z0===0&&1/z0<0?1:0;for(z0=Math.abs(z0),isNaN(z0)||z0===1/0?(ir=isNaN(z0)?1:0,Te=Mr):(Te=Math.floor(Math.log(z0)/Math.LN2),z0*(hn=Math.pow(2,-Te))<1&&(Te--,hn*=2),(z0+=Te+ai>=1?li/hn:li*Math.pow(2,1-ai))*hn>=2&&(Te++,hn/=2),Te+ai>=Mr?(ir=0,Te=Mr):Te+ai>=1?(ir=(z0*hn-1)*Math.pow(2,pe),Te+=ai):(ir=z0*Math.pow(2,ai-1)*Math.pow(2,pe),Te=0));pe>=8;b0[U1+Hr]=255&ir,Hr+=uo,ir/=256,pe-=8);for(Te=Te<<pe|ir,sn+=pe;sn>0;b0[U1+Hr]=255&Te,Hr+=uo,Te/=256,sn-=8);b0[U1+Hr-uo]|=128*fi}var x1={}.toString,ux=Array.isArray||function(b0){return x1.call(b0)==\"[object Array]\"};function K1(){return Gx.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function ee(b0,z0){if(K1()<z0)throw new RangeError(\"Invalid typed array length\");return Gx.TYPED_ARRAY_SUPPORT?(b0=new Uint8Array(z0)).__proto__=Gx.prototype:(b0===null&&(b0=new Gx(z0)),b0.length=z0),b0}function Gx(b0,z0,U1){if(!(Gx.TYPED_ARRAY_SUPPORT||this instanceof Gx))return new Gx(b0,z0,U1);if(typeof b0==\"number\"){if(typeof z0==\"string\")throw new Error(\"If encoding is specified then the first argument must be a string\");return Jt(this,b0)}return ve(this,b0,z0,U1)}function ve(b0,z0,U1,Bx){if(typeof z0==\"number\")throw new TypeError('\"value\" argument must not be a number');return typeof ArrayBuffer!=\"undefined\"&&z0 instanceof ArrayBuffer?function(pe,ne,Te,ir){if(ne.byteLength,Te<0||ne.byteLength<Te)throw new RangeError(\"'offset' is out of bounds\");if(ne.byteLength<Te+(ir||0))throw new RangeError(\"'length' is out of bounds\");return ne=Te===void 0&&ir===void 0?new Uint8Array(ne):ir===void 0?new Uint8Array(ne,Te):new Uint8Array(ne,Te,ir),Gx.TYPED_ARRAY_SUPPORT?(pe=ne).__proto__=Gx.prototype:pe=Ct(pe,ne),pe}(b0,z0,U1,Bx):typeof z0==\"string\"?function(pe,ne,Te){if(typeof Te==\"string\"&&Te!==\"\"||(Te=\"utf8\"),!Gx.isEncoding(Te))throw new TypeError('\"encoding\" must be a valid string encoding');var ir=0|Tr(ne,Te),hn=(pe=ee(pe,ir)).write(ne,Te);return hn!==ir&&(pe=pe.slice(0,hn)),pe}(b0,z0,U1):function(pe,ne){if(_n(ne)){var Te=0|vn(ne.length);return(pe=ee(pe,Te)).length===0||ne.copy(pe,0,0,Te),pe}if(ne){if(typeof ArrayBuffer!=\"undefined\"&&ne.buffer instanceof ArrayBuffer||\"length\"in ne)return typeof ne.length!=\"number\"||(ir=ne.length)!=ir?ee(pe,0):Ct(pe,ne);if(ne.type===\"Buffer\"&&ux(ne.data))return Ct(pe,ne.data)}var ir;throw new TypeError(\"First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.\")}(b0,z0)}function qe(b0){if(typeof b0!=\"number\")throw new TypeError('\"size\" argument must be a number');if(b0<0)throw new RangeError('\"size\" argument must not be negative')}function Jt(b0,z0){if(qe(z0),b0=ee(b0,z0<0?0:0|vn(z0)),!Gx.TYPED_ARRAY_SUPPORT)for(var U1=0;U1<z0;++U1)b0[U1]=0;return b0}function Ct(b0,z0){var U1=z0.length<0?0:0|vn(z0.length);b0=ee(b0,U1);for(var Bx=0;Bx<U1;Bx+=1)b0[Bx]=255&z0[Bx];return b0}function vn(b0){if(b0>=K1())throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+K1().toString(16)+\" bytes\");return 0|b0}function _n(b0){return!(b0==null||!b0._isBuffer)}function Tr(b0,z0){if(_n(b0))return b0.length;if(typeof ArrayBuffer!=\"undefined\"&&typeof ArrayBuffer.isView==\"function\"&&(ArrayBuffer.isView(b0)||b0 instanceof ArrayBuffer))return b0.byteLength;typeof b0!=\"string\"&&(b0=\"\"+b0);var U1=b0.length;if(U1===0)return 0;for(var Bx=!1;;)switch(z0){case\"ascii\":case\"latin1\":case\"binary\":return U1;case\"utf8\":case\"utf-8\":case void 0:return vo(b0).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*U1;case\"hex\":return U1>>>1;case\"base64\":return vi(b0).length;default:if(Bx)return vo(b0).length;z0=(\"\"+z0).toLowerCase(),Bx=!0}}function Lr(b0,z0,U1){var Bx=!1;if((z0===void 0||z0<0)&&(z0=0),z0>this.length||((U1===void 0||U1>this.length)&&(U1=this.length),U1<=0)||(U1>>>=0)<=(z0>>>=0))return\"\";for(b0||(b0=\"utf8\");;)switch(b0){case\"hex\":return aa(this,z0,U1);case\"utf8\":case\"utf-8\":return mi(this,z0,U1);case\"ascii\":return ja(this,z0,U1);case\"latin1\":case\"binary\":return Ua(this,z0,U1);case\"base64\":return pu(this,z0,U1);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return Os(this,z0,U1);default:if(Bx)throw new TypeError(\"Unknown encoding: \"+b0);b0=(b0+\"\").toLowerCase(),Bx=!0}}function Pn(b0,z0,U1){var Bx=b0[z0];b0[z0]=b0[U1],b0[U1]=Bx}function En(b0,z0,U1,Bx,pe){if(b0.length===0)return-1;if(typeof U1==\"string\"?(Bx=U1,U1=0):U1>2147483647?U1=2147483647:U1<-2147483648&&(U1=-2147483648),U1=+U1,isNaN(U1)&&(U1=pe?0:b0.length-1),U1<0&&(U1=b0.length+U1),U1>=b0.length){if(pe)return-1;U1=b0.length-1}else if(U1<0){if(!pe)return-1;U1=0}if(typeof z0==\"string\"&&(z0=Gx.from(z0,Bx)),_n(z0))return z0.length===0?-1:cr(b0,z0,U1,Bx,pe);if(typeof z0==\"number\")return z0&=255,Gx.TYPED_ARRAY_SUPPORT&&typeof Uint8Array.prototype.indexOf==\"function\"?pe?Uint8Array.prototype.indexOf.call(b0,z0,U1):Uint8Array.prototype.lastIndexOf.call(b0,z0,U1):cr(b0,[z0],U1,Bx,pe);throw new TypeError(\"val must be string, number or Buffer\")}function cr(b0,z0,U1,Bx,pe){var ne,Te=1,ir=b0.length,hn=z0.length;if(Bx!==void 0&&((Bx=String(Bx).toLowerCase())===\"ucs2\"||Bx===\"ucs-2\"||Bx===\"utf16le\"||Bx===\"utf-16le\")){if(b0.length<2||z0.length<2)return-1;Te=2,ir/=2,hn/=2,U1/=2}function sn(Hr,uo){return Te===1?Hr[uo]:Hr.readUInt16BE(uo*Te)}if(pe){var Mr=-1;for(ne=U1;ne<ir;ne++)if(sn(b0,ne)===sn(z0,Mr===-1?0:ne-Mr)){if(Mr===-1&&(Mr=ne),ne-Mr+1===hn)return Mr*Te}else Mr!==-1&&(ne-=ne-Mr),Mr=-1}else for(U1+hn>ir&&(U1=ir-hn),ne=U1;ne>=0;ne--){for(var ai=!0,li=0;li<hn;li++)if(sn(b0,ne+li)!==sn(z0,li)){ai=!1;break}if(ai)return ne}return-1}function Ea(b0,z0,U1,Bx){U1=Number(U1)||0;var pe=b0.length-U1;Bx?(Bx=Number(Bx))>pe&&(Bx=pe):Bx=pe;var ne=z0.length;if(ne%2!=0)throw new TypeError(\"Invalid hex string\");Bx>ne/2&&(Bx=ne/2);for(var Te=0;Te<Bx;++Te){var ir=parseInt(z0.substr(2*Te,2),16);if(isNaN(ir))return Te;b0[U1+Te]=ir}return Te}function Qn(b0,z0,U1,Bx){return jr(vo(z0,b0.length-U1),b0,U1,Bx)}function Bu(b0,z0,U1,Bx){return jr(function(pe){for(var ne=[],Te=0;Te<pe.length;++Te)ne.push(255&pe.charCodeAt(Te));return ne}(z0),b0,U1,Bx)}function Au(b0,z0,U1,Bx){return Bu(b0,z0,U1,Bx)}function Ec(b0,z0,U1,Bx){return jr(vi(z0),b0,U1,Bx)}function kn(b0,z0,U1,Bx){return jr(function(pe,ne){for(var Te,ir,hn,sn=[],Mr=0;Mr<pe.length&&!((ne-=2)<0);++Mr)ir=(Te=pe.charCodeAt(Mr))>>8,hn=Te%256,sn.push(hn),sn.push(ir);return sn}(z0,b0.length-U1),b0,U1,Bx)}function pu(b0,z0,U1){return z0===0&&U1===b0.length?D1(b0):D1(b0.slice(z0,U1))}function mi(b0,z0,U1){U1=Math.min(b0.length,U1);for(var Bx=[],pe=z0;pe<U1;){var ne,Te,ir,hn,sn=b0[pe],Mr=null,ai=sn>239?4:sn>223?3:sn>191?2:1;if(pe+ai<=U1)switch(ai){case 1:sn<128&&(Mr=sn);break;case 2:(192&(ne=b0[pe+1]))==128&&(hn=(31&sn)<<6|63&ne)>127&&(Mr=hn);break;case 3:ne=b0[pe+1],Te=b0[pe+2],(192&ne)==128&&(192&Te)==128&&(hn=(15&sn)<<12|(63&ne)<<6|63&Te)>2047&&(hn<55296||hn>57343)&&(Mr=hn);break;case 4:ne=b0[pe+1],Te=b0[pe+2],ir=b0[pe+3],(192&ne)==128&&(192&Te)==128&&(192&ir)==128&&(hn=(15&sn)<<18|(63&ne)<<12|(63&Te)<<6|63&ir)>65535&&hn<1114112&&(Mr=hn)}Mr===null?(Mr=65533,ai=1):Mr>65535&&(Mr-=65536,Bx.push(Mr>>>10&1023|55296),Mr=56320|1023&Mr),Bx.push(Mr),pe+=ai}return function(li){var Hr=li.length;if(Hr<=ma)return String.fromCharCode.apply(String,li);for(var uo=\"\",fi=0;fi<Hr;)uo+=String.fromCharCode.apply(String,li.slice(fi,fi+=ma));return uo}(Bx)}Gx.TYPED_ARRAY_SUPPORT=Y.TYPED_ARRAY_SUPPORT===void 0||Y.TYPED_ARRAY_SUPPORT,Gx.poolSize=8192,Gx._augment=function(b0){return b0.__proto__=Gx.prototype,b0},Gx.from=function(b0,z0,U1){return ve(null,b0,z0,U1)},Gx.TYPED_ARRAY_SUPPORT&&(Gx.prototype.__proto__=Uint8Array.prototype,Gx.__proto__=Uint8Array),Gx.alloc=function(b0,z0,U1){return function(Bx,pe,ne,Te){return qe(pe),pe<=0?ee(Bx,pe):ne!==void 0?typeof Te==\"string\"?ee(Bx,pe).fill(ne,Te):ee(Bx,pe).fill(ne):ee(Bx,pe)}(null,b0,z0,U1)},Gx.allocUnsafe=function(b0){return Jt(null,b0)},Gx.allocUnsafeSlow=function(b0){return Jt(null,b0)},Gx.isBuffer=function(b0){return b0!=null&&(!!b0._isBuffer||Hn(b0)||function(z0){return typeof z0.readFloatLE==\"function\"&&typeof z0.slice==\"function\"&&Hn(z0.slice(0,0))}(b0))},Gx.compare=function(b0,z0){if(!_n(b0)||!_n(z0))throw new TypeError(\"Arguments must be Buffers\");if(b0===z0)return 0;for(var U1=b0.length,Bx=z0.length,pe=0,ne=Math.min(U1,Bx);pe<ne;++pe)if(b0[pe]!==z0[pe]){U1=b0[pe],Bx=z0[pe];break}return U1<Bx?-1:Bx<U1?1:0},Gx.isEncoding=function(b0){switch(String(b0).toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"latin1\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return!0;default:return!1}},Gx.concat=function(b0,z0){if(!ux(b0))throw new TypeError('\"list\" argument must be an Array of Buffers');if(b0.length===0)return Gx.alloc(0);var U1;if(z0===void 0)for(z0=0,U1=0;U1<b0.length;++U1)z0+=b0[U1].length;var Bx=Gx.allocUnsafe(z0),pe=0;for(U1=0;U1<b0.length;++U1){var ne=b0[U1];if(!_n(ne))throw new TypeError('\"list\" argument must be an Array of Buffers');ne.copy(Bx,pe),pe+=ne.length}return Bx},Gx.byteLength=Tr,Gx.prototype._isBuffer=!0,Gx.prototype.swap16=function(){var b0=this.length;if(b0%2!=0)throw new RangeError(\"Buffer size must be a multiple of 16-bits\");for(var z0=0;z0<b0;z0+=2)Pn(this,z0,z0+1);return this},Gx.prototype.swap32=function(){var b0=this.length;if(b0%4!=0)throw new RangeError(\"Buffer size must be a multiple of 32-bits\");for(var z0=0;z0<b0;z0+=4)Pn(this,z0,z0+3),Pn(this,z0+1,z0+2);return this},Gx.prototype.swap64=function(){var b0=this.length;if(b0%8!=0)throw new RangeError(\"Buffer size must be a multiple of 64-bits\");for(var z0=0;z0<b0;z0+=8)Pn(this,z0,z0+7),Pn(this,z0+1,z0+6),Pn(this,z0+2,z0+5),Pn(this,z0+3,z0+4);return this},Gx.prototype.toString=function(){var b0=0|this.length;return b0===0?\"\":arguments.length===0?mi(this,0,b0):Lr.apply(this,arguments)},Gx.prototype.equals=function(b0){if(!_n(b0))throw new TypeError(\"Argument must be a Buffer\");return this===b0||Gx.compare(this,b0)===0},Gx.prototype.inspect=function(){var b0=\"\";return this.length>0&&(b0=this.toString(\"hex\",0,50).match(/.{2}/g).join(\" \"),this.length>50&&(b0+=\" ... \")),\"<Buffer \"+b0+\">\"},Gx.prototype.compare=function(b0,z0,U1,Bx,pe){if(!_n(b0))throw new TypeError(\"Argument must be a Buffer\");if(z0===void 0&&(z0=0),U1===void 0&&(U1=b0?b0.length:0),Bx===void 0&&(Bx=0),pe===void 0&&(pe=this.length),z0<0||U1>b0.length||Bx<0||pe>this.length)throw new RangeError(\"out of range index\");if(Bx>=pe&&z0>=U1)return 0;if(Bx>=pe)return-1;if(z0>=U1)return 1;if(this===b0)return 0;for(var ne=(pe>>>=0)-(Bx>>>=0),Te=(U1>>>=0)-(z0>>>=0),ir=Math.min(ne,Te),hn=this.slice(Bx,pe),sn=b0.slice(z0,U1),Mr=0;Mr<ir;++Mr)if(hn[Mr]!==sn[Mr]){ne=hn[Mr],Te=sn[Mr];break}return ne<Te?-1:Te<ne?1:0},Gx.prototype.includes=function(b0,z0,U1){return this.indexOf(b0,z0,U1)!==-1},Gx.prototype.indexOf=function(b0,z0,U1){return En(this,b0,z0,U1,!0)},Gx.prototype.lastIndexOf=function(b0,z0,U1){return En(this,b0,z0,U1,!1)},Gx.prototype.write=function(b0,z0,U1,Bx){if(z0===void 0)Bx=\"utf8\",U1=this.length,z0=0;else if(U1===void 0&&typeof z0==\"string\")Bx=z0,U1=this.length,z0=0;else{if(!isFinite(z0))throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");z0|=0,isFinite(U1)?(U1|=0,Bx===void 0&&(Bx=\"utf8\")):(Bx=U1,U1=void 0)}var pe=this.length-z0;if((U1===void 0||U1>pe)&&(U1=pe),b0.length>0&&(U1<0||z0<0)||z0>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");Bx||(Bx=\"utf8\");for(var ne=!1;;)switch(Bx){case\"hex\":return Ea(this,b0,z0,U1);case\"utf8\":case\"utf-8\":return Qn(this,b0,z0,U1);case\"ascii\":return Bu(this,b0,z0,U1);case\"latin1\":case\"binary\":return Au(this,b0,z0,U1);case\"base64\":return Ec(this,b0,z0,U1);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return kn(this,b0,z0,U1);default:if(ne)throw new TypeError(\"Unknown encoding: \"+Bx);Bx=(\"\"+Bx).toLowerCase(),ne=!0}},Gx.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};var ma=4096;function ja(b0,z0,U1){var Bx=\"\";U1=Math.min(b0.length,U1);for(var pe=z0;pe<U1;++pe)Bx+=String.fromCharCode(127&b0[pe]);return Bx}function Ua(b0,z0,U1){var Bx=\"\";U1=Math.min(b0.length,U1);for(var pe=z0;pe<U1;++pe)Bx+=String.fromCharCode(b0[pe]);return Bx}function aa(b0,z0,U1){var Bx=b0.length;(!z0||z0<0)&&(z0=0),(!U1||U1<0||U1>Bx)&&(U1=Bx);for(var pe=\"\",ne=z0;ne<U1;++ne)pe+=zo(b0[ne]);return pe}function Os(b0,z0,U1){for(var Bx=b0.slice(z0,U1),pe=\"\",ne=0;ne<Bx.length;ne+=2)pe+=String.fromCharCode(Bx[ne]+256*Bx[ne+1]);return pe}function gn(b0,z0,U1){if(b0%1!=0||b0<0)throw new RangeError(\"offset is not uint\");if(b0+z0>U1)throw new RangeError(\"Trying to access beyond buffer length\")}function et(b0,z0,U1,Bx,pe,ne){if(!_n(b0))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(z0>pe||z0<ne)throw new RangeError('\"value\" argument is out of bounds');if(U1+Bx>b0.length)throw new RangeError(\"Index out of range\")}function Sr(b0,z0,U1,Bx){z0<0&&(z0=65535+z0+1);for(var pe=0,ne=Math.min(b0.length-U1,2);pe<ne;++pe)b0[U1+pe]=(z0&255<<8*(Bx?pe:1-pe))>>>8*(Bx?pe:1-pe)}function un(b0,z0,U1,Bx){z0<0&&(z0=4294967295+z0+1);for(var pe=0,ne=Math.min(b0.length-U1,4);pe<ne;++pe)b0[U1+pe]=z0>>>8*(Bx?pe:3-pe)&255}function jn(b0,z0,U1,Bx,pe,ne){if(U1+Bx>b0.length)throw new RangeError(\"Index out of range\");if(U1<0)throw new RangeError(\"Index out of range\")}function ea(b0,z0,U1,Bx,pe){return pe||jn(b0,0,U1,4),i1(b0,z0,U1,Bx,23,4),U1+4}function wa(b0,z0,U1,Bx,pe){return pe||jn(b0,0,U1,8),i1(b0,z0,U1,Bx,52,8),U1+8}Gx.prototype.slice=function(b0,z0){var U1,Bx=this.length;if((b0=~~b0)<0?(b0+=Bx)<0&&(b0=0):b0>Bx&&(b0=Bx),(z0=z0===void 0?Bx:~~z0)<0?(z0+=Bx)<0&&(z0=0):z0>Bx&&(z0=Bx),z0<b0&&(z0=b0),Gx.TYPED_ARRAY_SUPPORT)(U1=this.subarray(b0,z0)).__proto__=Gx.prototype;else{var pe=z0-b0;U1=new Gx(pe,void 0);for(var ne=0;ne<pe;++ne)U1[ne]=this[ne+b0]}return U1},Gx.prototype.readUIntLE=function(b0,z0,U1){b0|=0,z0|=0,U1||gn(b0,z0,this.length);for(var Bx=this[b0],pe=1,ne=0;++ne<z0&&(pe*=256);)Bx+=this[b0+ne]*pe;return Bx},Gx.prototype.readUIntBE=function(b0,z0,U1){b0|=0,z0|=0,U1||gn(b0,z0,this.length);for(var Bx=this[b0+--z0],pe=1;z0>0&&(pe*=256);)Bx+=this[b0+--z0]*pe;return Bx},Gx.prototype.readUInt8=function(b0,z0){return z0||gn(b0,1,this.length),this[b0]},Gx.prototype.readUInt16LE=function(b0,z0){return z0||gn(b0,2,this.length),this[b0]|this[b0+1]<<8},Gx.prototype.readUInt16BE=function(b0,z0){return z0||gn(b0,2,this.length),this[b0]<<8|this[b0+1]},Gx.prototype.readUInt32LE=function(b0,z0){return z0||gn(b0,4,this.length),(this[b0]|this[b0+1]<<8|this[b0+2]<<16)+16777216*this[b0+3]},Gx.prototype.readUInt32BE=function(b0,z0){return z0||gn(b0,4,this.length),16777216*this[b0]+(this[b0+1]<<16|this[b0+2]<<8|this[b0+3])},Gx.prototype.readIntLE=function(b0,z0,U1){b0|=0,z0|=0,U1||gn(b0,z0,this.length);for(var Bx=this[b0],pe=1,ne=0;++ne<z0&&(pe*=256);)Bx+=this[b0+ne]*pe;return Bx>=(pe*=128)&&(Bx-=Math.pow(2,8*z0)),Bx},Gx.prototype.readIntBE=function(b0,z0,U1){b0|=0,z0|=0,U1||gn(b0,z0,this.length);for(var Bx=z0,pe=1,ne=this[b0+--Bx];Bx>0&&(pe*=256);)ne+=this[b0+--Bx]*pe;return ne>=(pe*=128)&&(ne-=Math.pow(2,8*z0)),ne},Gx.prototype.readInt8=function(b0,z0){return z0||gn(b0,1,this.length),128&this[b0]?-1*(255-this[b0]+1):this[b0]},Gx.prototype.readInt16LE=function(b0,z0){z0||gn(b0,2,this.length);var U1=this[b0]|this[b0+1]<<8;return 32768&U1?4294901760|U1:U1},Gx.prototype.readInt16BE=function(b0,z0){z0||gn(b0,2,this.length);var U1=this[b0+1]|this[b0]<<8;return 32768&U1?4294901760|U1:U1},Gx.prototype.readInt32LE=function(b0,z0){return z0||gn(b0,4,this.length),this[b0]|this[b0+1]<<8|this[b0+2]<<16|this[b0+3]<<24},Gx.prototype.readInt32BE=function(b0,z0){return z0||gn(b0,4,this.length),this[b0]<<24|this[b0+1]<<16|this[b0+2]<<8|this[b0+3]},Gx.prototype.readFloatLE=function(b0,z0){return z0||gn(b0,4,this.length),W0(this,b0,!0,23,4)},Gx.prototype.readFloatBE=function(b0,z0){return z0||gn(b0,4,this.length),W0(this,b0,!1,23,4)},Gx.prototype.readDoubleLE=function(b0,z0){return z0||gn(b0,8,this.length),W0(this,b0,!0,52,8)},Gx.prototype.readDoubleBE=function(b0,z0){return z0||gn(b0,8,this.length),W0(this,b0,!1,52,8)},Gx.prototype.writeUIntLE=function(b0,z0,U1,Bx){b0=+b0,z0|=0,U1|=0,Bx||et(this,b0,z0,U1,Math.pow(2,8*U1)-1,0);var pe=1,ne=0;for(this[z0]=255&b0;++ne<U1&&(pe*=256);)this[z0+ne]=b0/pe&255;return z0+U1},Gx.prototype.writeUIntBE=function(b0,z0,U1,Bx){b0=+b0,z0|=0,U1|=0,Bx||et(this,b0,z0,U1,Math.pow(2,8*U1)-1,0);var pe=U1-1,ne=1;for(this[z0+pe]=255&b0;--pe>=0&&(ne*=256);)this[z0+pe]=b0/ne&255;return z0+U1},Gx.prototype.writeUInt8=function(b0,z0,U1){return b0=+b0,z0|=0,U1||et(this,b0,z0,1,255,0),Gx.TYPED_ARRAY_SUPPORT||(b0=Math.floor(b0)),this[z0]=255&b0,z0+1},Gx.prototype.writeUInt16LE=function(b0,z0,U1){return b0=+b0,z0|=0,U1||et(this,b0,z0,2,65535,0),Gx.TYPED_ARRAY_SUPPORT?(this[z0]=255&b0,this[z0+1]=b0>>>8):Sr(this,b0,z0,!0),z0+2},Gx.prototype.writeUInt16BE=function(b0,z0,U1){return b0=+b0,z0|=0,U1||et(this,b0,z0,2,65535,0),Gx.TYPED_ARRAY_SUPPORT?(this[z0]=b0>>>8,this[z0+1]=255&b0):Sr(this,b0,z0,!1),z0+2},Gx.prototype.writeUInt32LE=function(b0,z0,U1){return b0=+b0,z0|=0,U1||et(this,b0,z0,4,4294967295,0),Gx.TYPED_ARRAY_SUPPORT?(this[z0+3]=b0>>>24,this[z0+2]=b0>>>16,this[z0+1]=b0>>>8,this[z0]=255&b0):un(this,b0,z0,!0),z0+4},Gx.prototype.writeUInt32BE=function(b0,z0,U1){return b0=+b0,z0|=0,U1||et(this,b0,z0,4,4294967295,0),Gx.TYPED_ARRAY_SUPPORT?(this[z0]=b0>>>24,this[z0+1]=b0>>>16,this[z0+2]=b0>>>8,this[z0+3]=255&b0):un(this,b0,z0,!1),z0+4},Gx.prototype.writeIntLE=function(b0,z0,U1,Bx){if(b0=+b0,z0|=0,!Bx){var pe=Math.pow(2,8*U1-1);et(this,b0,z0,U1,pe-1,-pe)}var ne=0,Te=1,ir=0;for(this[z0]=255&b0;++ne<U1&&(Te*=256);)b0<0&&ir===0&&this[z0+ne-1]!==0&&(ir=1),this[z0+ne]=(b0/Te>>0)-ir&255;return z0+U1},Gx.prototype.writeIntBE=function(b0,z0,U1,Bx){if(b0=+b0,z0|=0,!Bx){var pe=Math.pow(2,8*U1-1);et(this,b0,z0,U1,pe-1,-pe)}var ne=U1-1,Te=1,ir=0;for(this[z0+ne]=255&b0;--ne>=0&&(Te*=256);)b0<0&&ir===0&&this[z0+ne+1]!==0&&(ir=1),this[z0+ne]=(b0/Te>>0)-ir&255;return z0+U1},Gx.prototype.writeInt8=function(b0,z0,U1){return b0=+b0,z0|=0,U1||et(this,b0,z0,1,127,-128),Gx.TYPED_ARRAY_SUPPORT||(b0=Math.floor(b0)),b0<0&&(b0=255+b0+1),this[z0]=255&b0,z0+1},Gx.prototype.writeInt16LE=function(b0,z0,U1){return b0=+b0,z0|=0,U1||et(this,b0,z0,2,32767,-32768),Gx.TYPED_ARRAY_SUPPORT?(this[z0]=255&b0,this[z0+1]=b0>>>8):Sr(this,b0,z0,!0),z0+2},Gx.prototype.writeInt16BE=function(b0,z0,U1){return b0=+b0,z0|=0,U1||et(this,b0,z0,2,32767,-32768),Gx.TYPED_ARRAY_SUPPORT?(this[z0]=b0>>>8,this[z0+1]=255&b0):Sr(this,b0,z0,!1),z0+2},Gx.prototype.writeInt32LE=function(b0,z0,U1){return b0=+b0,z0|=0,U1||et(this,b0,z0,4,2147483647,-2147483648),Gx.TYPED_ARRAY_SUPPORT?(this[z0]=255&b0,this[z0+1]=b0>>>8,this[z0+2]=b0>>>16,this[z0+3]=b0>>>24):un(this,b0,z0,!0),z0+4},Gx.prototype.writeInt32BE=function(b0,z0,U1){return b0=+b0,z0|=0,U1||et(this,b0,z0,4,2147483647,-2147483648),b0<0&&(b0=4294967295+b0+1),Gx.TYPED_ARRAY_SUPPORT?(this[z0]=b0>>>24,this[z0+1]=b0>>>16,this[z0+2]=b0>>>8,this[z0+3]=255&b0):un(this,b0,z0,!1),z0+4},Gx.prototype.writeFloatLE=function(b0,z0,U1){return ea(this,b0,z0,!0,U1)},Gx.prototype.writeFloatBE=function(b0,z0,U1){return ea(this,b0,z0,!1,U1)},Gx.prototype.writeDoubleLE=function(b0,z0,U1){return wa(this,b0,z0,!0,U1)},Gx.prototype.writeDoubleBE=function(b0,z0,U1){return wa(this,b0,z0,!1,U1)},Gx.prototype.copy=function(b0,z0,U1,Bx){if(U1||(U1=0),Bx||Bx===0||(Bx=this.length),z0>=b0.length&&(z0=b0.length),z0||(z0=0),Bx>0&&Bx<U1&&(Bx=U1),Bx===U1||b0.length===0||this.length===0)return 0;if(z0<0)throw new RangeError(\"targetStart out of bounds\");if(U1<0||U1>=this.length)throw new RangeError(\"sourceStart out of bounds\");if(Bx<0)throw new RangeError(\"sourceEnd out of bounds\");Bx>this.length&&(Bx=this.length),b0.length-z0<Bx-U1&&(Bx=b0.length-z0+U1);var pe,ne=Bx-U1;if(this===b0&&U1<z0&&z0<Bx)for(pe=ne-1;pe>=0;--pe)b0[pe+z0]=this[pe+U1];else if(ne<1e3||!Gx.TYPED_ARRAY_SUPPORT)for(pe=0;pe<ne;++pe)b0[pe+z0]=this[pe+U1];else Uint8Array.prototype.set.call(b0,this.subarray(U1,U1+ne),z0);return ne},Gx.prototype.fill=function(b0,z0,U1,Bx){if(typeof b0==\"string\"){if(typeof z0==\"string\"?(Bx=z0,z0=0,U1=this.length):typeof U1==\"string\"&&(Bx=U1,U1=this.length),b0.length===1){var pe=b0.charCodeAt(0);pe<256&&(b0=pe)}if(Bx!==void 0&&typeof Bx!=\"string\")throw new TypeError(\"encoding must be a string\");if(typeof Bx==\"string\"&&!Gx.isEncoding(Bx))throw new TypeError(\"Unknown encoding: \"+Bx)}else typeof b0==\"number\"&&(b0&=255);if(z0<0||this.length<z0||this.length<U1)throw new RangeError(\"Out of range index\");if(U1<=z0)return this;var ne;if(z0>>>=0,U1=U1===void 0?this.length:U1>>>0,b0||(b0=0),typeof b0==\"number\")for(ne=z0;ne<U1;++ne)this[ne]=b0;else{var Te=_n(b0)?b0:vo(new Gx(b0,Bx).toString()),ir=Te.length;for(ne=0;ne<U1-z0;++ne)this[ne+z0]=Te[ne%ir]}return this};var as=/[^+\\/0-9A-Za-z-_]/g;function zo(b0){return b0<16?\"0\"+b0.toString(16):b0.toString(16)}function vo(b0,z0){var U1;z0=z0||1/0;for(var Bx=b0.length,pe=null,ne=[],Te=0;Te<Bx;++Te){if((U1=b0.charCodeAt(Te))>55295&&U1<57344){if(!pe){if(U1>56319){(z0-=3)>-1&&ne.push(239,191,189);continue}if(Te+1===Bx){(z0-=3)>-1&&ne.push(239,191,189);continue}pe=U1;continue}if(U1<56320){(z0-=3)>-1&&ne.push(239,191,189),pe=U1;continue}U1=65536+(pe-55296<<10|U1-56320)}else pe&&(z0-=3)>-1&&ne.push(239,191,189);if(pe=null,U1<128){if((z0-=1)<0)break;ne.push(U1)}else if(U1<2048){if((z0-=2)<0)break;ne.push(U1>>6|192,63&U1|128)}else if(U1<65536){if((z0-=3)<0)break;ne.push(U1>>12|224,U1>>6&63|128,63&U1|128)}else{if(!(U1<1114112))throw new Error(\"Invalid code point\");if((z0-=4)<0)break;ne.push(U1>>18|240,U1>>12&63|128,U1>>6&63|128,63&U1|128)}}return ne}function vi(b0){return function(z0){var U1,Bx,pe,ne,Te,ir;t1||r1();var hn=z0.length;if(hn%4>0)throw new Error(\"Invalid string. Length must be a multiple of 4\");Te=z0[hn-2]===\"=\"?2:z0[hn-1]===\"=\"?1:0,ir=new e1(3*hn/4-Te),pe=Te>0?hn-4:hn;var sn=0;for(U1=0,Bx=0;U1<pe;U1+=4,Bx+=3)ne=J0[z0.charCodeAt(U1)]<<18|J0[z0.charCodeAt(U1+1)]<<12|J0[z0.charCodeAt(U1+2)]<<6|J0[z0.charCodeAt(U1+3)],ir[sn++]=ne>>16&255,ir[sn++]=ne>>8&255,ir[sn++]=255&ne;return Te===2?(ne=J0[z0.charCodeAt(U1)]<<2|J0[z0.charCodeAt(U1+1)]>>4,ir[sn++]=255&ne):Te===1&&(ne=J0[z0.charCodeAt(U1)]<<10|J0[z0.charCodeAt(U1+1)]<<4|J0[z0.charCodeAt(U1+2)]>>2,ir[sn++]=ne>>8&255,ir[sn++]=255&ne),ir}(function(z0){if((z0=function(U1){return U1.trim?U1.trim():U1.replace(/^\\s+|\\s+$/g,\"\")}(z0).replace(as,\"\")).length<2)return\"\";for(;z0.length%4!=0;)z0+=\"=\";return z0}(b0))}function jr(b0,z0,U1,Bx){for(var pe=0;pe<Bx&&!(pe+U1>=z0.length||pe>=b0.length);++pe)z0[pe+U1]=b0[pe];return pe}function Hn(b0){return!!b0.constructor&&typeof b0.constructor.isBuffer==\"function\"&&b0.constructor.isBuffer(b0)}function wi(){throw new Error(\"setTimeout has not been defined\")}function jo(){throw new Error(\"clearTimeout has not been defined\")}var bs=wi,Ha=jo;function qn(b0){if(bs===setTimeout)return setTimeout(b0,0);if((bs===wi||!bs)&&setTimeout)return bs=setTimeout,setTimeout(b0,0);try{return bs(b0,0)}catch{try{return bs.call(null,b0,0)}catch{return bs.call(this,b0,0)}}}typeof Y.setTimeout==\"function\"&&(bs=setTimeout),typeof Y.clearTimeout==\"function\"&&(Ha=clearTimeout);var Ki,es=[],Ns=!1,ju=-1;function Tc(){Ns&&Ki&&(Ns=!1,Ki.length?es=Ki.concat(es):ju=-1,es.length&&bu())}function bu(){if(!Ns){var b0=qn(Tc);Ns=!0;for(var z0=es.length;z0;){for(Ki=es,es=[];++ju<z0;)Ki&&Ki[ju].run();ju=-1,z0=es.length}Ki=null,Ns=!1,function(U1){if(Ha===clearTimeout)return clearTimeout(U1);if((Ha===jo||!Ha)&&clearTimeout)return Ha=clearTimeout,clearTimeout(U1);try{Ha(U1)}catch{try{return Ha.call(null,U1)}catch{return Ha.call(this,U1)}}}(b0)}}function mc(b0,z0){this.fun=b0,this.array=z0}mc.prototype.run=function(){this.fun.apply(null,this.array)};function vc(){}var Lc=vc,i2=vc,su=vc,T2=vc,Cu=vc,mr=vc,Dn=vc,ki=Y.performance||{},us=ki.now||ki.mozNow||ki.msNow||ki.oNow||ki.webkitNow||function(){return new Date().getTime()},ac=new Date,_s={nextTick:function(b0){var z0=new Array(arguments.length-1);if(arguments.length>1)for(var U1=1;U1<arguments.length;U1++)z0[U1-1]=arguments[U1];es.push(new mc(b0,z0)),es.length!==1||Ns||qn(bu)},title:\"browser\",browser:!0,env:{},argv:[],version:\"\",versions:{},on:Lc,addListener:i2,once:su,off:T2,removeListener:Cu,removeAllListeners:mr,emit:Dn,binding:function(b0){throw new Error(\"process.binding is not supported\")},cwd:function(){return\"/\"},chdir:function(b0){throw new Error(\"process.chdir is not supported\")},umask:function(){return 0},hrtime:function(b0){var z0=.001*us.call(ki),U1=Math.floor(z0),Bx=Math.floor(z0%1*1e9);return b0&&(U1-=b0[0],(Bx-=b0[1])<0&&(U1--,Bx+=1e9)),[U1,Bx]},platform:\"browser\",release:{},config:{},uptime:function(){return(new Date-ac)/1e3}},cf=typeof Object.create==\"function\"?function(b0,z0){b0.super_=z0,b0.prototype=Object.create(z0.prototype,{constructor:{value:b0,enumerable:!1,writable:!0,configurable:!0}})}:function(b0,z0){b0.super_=z0;var U1=function(){};U1.prototype=z0.prototype,b0.prototype=new U1,b0.prototype.constructor=b0},Df=/%[sdj%]/g;function gp(b0){if(!KF(b0)){for(var z0=[],U1=0;U1<arguments.length;U1++)z0.push(VE(arguments[U1]));return z0.join(\" \")}U1=1;for(var Bx=arguments,pe=Bx.length,ne=String(b0).replace(Df,function(ir){if(ir===\"%%\")return\"%\";if(U1>=pe)return ir;switch(ir){case\"%s\":return String(Bx[U1++]);case\"%d\":return Number(Bx[U1++]);case\"%j\":try{return JSON.stringify(Bx[U1++])}catch{return\"[Circular]\"}default:return ir}}),Te=Bx[U1];U1<pe;Te=Bx[++U1])v8(Te)||!vF(Te)?ne+=\" \"+Te:ne+=\" \"+VE(Te);return ne}function _2(b0,z0){if($E(Y.process))return function(){return _2(b0,z0).apply(this,arguments)};var U1=!1;return function(){return U1||(console.error(z0),U1=!0),b0.apply(this,arguments)}}var c_,pC={};function c8(b0){return $E(c_)&&(c_=\"\"),b0=b0.toUpperCase(),!pC[b0]&&(new RegExp(\"\\\\b\"+b0+\"\\\\b\",\"i\").test(c_)?pC[b0]=function(){var z0=gp.apply(null,arguments);console.error(\"%s %d: %s\",b0,0,z0)}:pC[b0]=function(){}),pC[b0]}function VE(b0,z0){var U1={seen:[],stylize:c4};return arguments.length>=3&&(U1.depth=arguments[2]),arguments.length>=4&&(U1.colors=arguments[3]),D8(z0)?U1.showHidden=z0:z0&&UA(U1,z0),$E(U1.showHidden)&&(U1.showHidden=!1),$E(U1.depth)&&(U1.depth=2),$E(U1.colors)&&(U1.colors=!1),$E(U1.customInspect)&&(U1.customInspect=!0),U1.colors&&(U1.stylize=S8),BS(U1,b0,U1.depth)}function S8(b0,z0){var U1=VE.styles[z0];return U1?\"\u001b[\"+VE.colors[U1][0]+\"m\"+b0+\"\u001b[\"+VE.colors[U1][1]+\"m\":b0}function c4(b0,z0){return b0}function BS(b0,z0,U1){if(b0.customInspect&&z0&&z6(z0.inspect)&&z0.inspect!==VE&&(!z0.constructor||z0.constructor.prototype!==z0)){var Bx=z0.inspect(U1,b0);return KF(Bx)||(Bx=BS(b0,Bx,U1)),Bx}var pe=function(li,Hr){if($E(Hr))return li.stylize(\"undefined\",\"undefined\");if(KF(Hr)){var uo=\"'\"+JSON.stringify(Hr).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return li.stylize(uo,\"string\")}if(l4(Hr))return li.stylize(\"\"+Hr,\"number\");if(D8(Hr))return li.stylize(\"\"+Hr,\"boolean\");if(v8(Hr))return li.stylize(\"null\",\"null\")}(b0,z0);if(pe)return pe;var ne=Object.keys(z0),Te=function(li){var Hr={};return li.forEach(function(uo,fi){Hr[uo]=!0}),Hr}(ne);if(b0.showHidden&&(ne=Object.getOwnPropertyNames(z0)),tS(z0)&&(ne.indexOf(\"message\")>=0||ne.indexOf(\"description\")>=0))return ES(z0);if(ne.length===0){if(z6(z0)){var ir=z0.name?\": \"+z0.name:\"\";return b0.stylize(\"[Function\"+ir+\"]\",\"special\")}if(t6(z0))return b0.stylize(RegExp.prototype.toString.call(z0),\"regexp\");if(fF(z0))return b0.stylize(Date.prototype.toString.call(z0),\"date\");if(tS(z0))return ES(z0)}var hn,sn=\"\",Mr=!1,ai=[\"{\",\"}\"];return DF(z0)&&(Mr=!0,ai=[\"[\",\"]\"]),z6(z0)&&(sn=\" [Function\"+(z0.name?\": \"+z0.name:\"\")+\"]\"),t6(z0)&&(sn=\" \"+RegExp.prototype.toString.call(z0)),fF(z0)&&(sn=\" \"+Date.prototype.toUTCString.call(z0)),tS(z0)&&(sn=\" \"+ES(z0)),ne.length!==0||Mr&&z0.length!=0?U1<0?t6(z0)?b0.stylize(RegExp.prototype.toString.call(z0),\"regexp\"):b0.stylize(\"[Object]\",\"special\"):(b0.seen.push(z0),hn=Mr?function(li,Hr,uo,fi,Fs){for(var $a=[],Ys=0,ru=Hr.length;Ys<ru;++Ys)_5(Hr,String(Ys))?$a.push(fS(li,Hr,uo,fi,String(Ys),!0)):$a.push(\"\");return Fs.forEach(function(js){js.match(/^\\d+$/)||$a.push(fS(li,Hr,uo,fi,js,!0))}),$a}(b0,z0,U1,Te,ne):ne.map(function(li){return fS(b0,z0,U1,Te,li,Mr)}),b0.seen.pop(),function(li,Hr,uo){return li.reduce(function(fi,Fs){return Fs.indexOf(`\n`),fi+Fs.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1},0)>60?uo[0]+(Hr===\"\"?\"\":Hr+`\n `)+\" \"+li.join(`,\n  `)+\" \"+uo[1]:uo[0]+Hr+\" \"+li.join(\", \")+\" \"+uo[1]}(hn,sn,ai)):ai[0]+sn+ai[1]}function ES(b0){return\"[\"+Error.prototype.toString.call(b0)+\"]\"}function fS(b0,z0,U1,Bx,pe,ne){var Te,ir,hn;if((hn=Object.getOwnPropertyDescriptor(z0,pe)||{value:z0[pe]}).get?ir=hn.set?b0.stylize(\"[Getter/Setter]\",\"special\"):b0.stylize(\"[Getter]\",\"special\"):hn.set&&(ir=b0.stylize(\"[Setter]\",\"special\")),_5(Bx,pe)||(Te=\"[\"+pe+\"]\"),ir||(b0.seen.indexOf(hn.value)<0?(ir=v8(U1)?BS(b0,hn.value,null):BS(b0,hn.value,U1-1)).indexOf(`\n`)>-1&&(ir=ne?ir.split(`\n`).map(function(sn){return\"  \"+sn}).join(`\n`).substr(2):`\n`+ir.split(`\n`).map(function(sn){return\"   \"+sn}).join(`\n`)):ir=b0.stylize(\"[Circular]\",\"special\")),$E(Te)){if(ne&&pe.match(/^\\d+$/))return ir;(Te=JSON.stringify(\"\"+pe)).match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)?(Te=Te.substr(1,Te.length-2),Te=b0.stylize(Te,\"name\")):(Te=Te.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),Te=b0.stylize(Te,\"string\"))}return Te+\": \"+ir}function DF(b0){return Array.isArray(b0)}function D8(b0){return typeof b0==\"boolean\"}function v8(b0){return b0===null}function pS(b0){return b0==null}function l4(b0){return typeof b0==\"number\"}function KF(b0){return typeof b0==\"string\"}function f4(b0){return typeof b0==\"symbol\"}function $E(b0){return b0===void 0}function t6(b0){return vF(b0)&&MS(b0)===\"[object RegExp]\"}function vF(b0){return typeof b0==\"object\"&&b0!==null}function fF(b0){return vF(b0)&&MS(b0)===\"[object Date]\"}function tS(b0){return vF(b0)&&(MS(b0)===\"[object Error]\"||b0 instanceof Error)}function z6(b0){return typeof b0==\"function\"}function LS(b0){return b0===null||typeof b0==\"boolean\"||typeof b0==\"number\"||typeof b0==\"string\"||typeof b0==\"symbol\"||b0===void 0}function B8(b0){return Gx.isBuffer(b0)}function MS(b0){return Object.prototype.toString.call(b0)}function rT(b0){return b0<10?\"0\"+b0.toString(10):b0.toString(10)}VE.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},VE.styles={special:\"cyan\",number:\"yellow\",boolean:\"yellow\",undefined:\"grey\",null:\"bold\",string:\"green\",date:\"magenta\",regexp:\"red\"};var bF=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];function nT(){var b0=new Date,z0=[rT(b0.getHours()),rT(b0.getMinutes()),rT(b0.getSeconds())].join(\":\");return[b0.getDate(),bF[b0.getMonth()],z0].join(\" \")}function RT(){console.log(\"%s - %s\",nT(),gp.apply(null,arguments))}function UA(b0,z0){if(!z0||!vF(z0))return b0;for(var U1=Object.keys(z0),Bx=U1.length;Bx--;)b0[U1[Bx]]=z0[U1[Bx]];return b0}function _5(b0,z0){return Object.prototype.hasOwnProperty.call(b0,z0)}var VA={inherits:cf,_extend:UA,log:RT,isBuffer:B8,isPrimitive:LS,isFunction:z6,isError:tS,isDate:fF,isObject:vF,isRegExp:t6,isUndefined:$E,isSymbol:f4,isString:KF,isNumber:l4,isNullOrUndefined:pS,isNull:v8,isBoolean:D8,isArray:DF,inspect:VE,deprecate:_2,format:gp,debuglog:c8},ST=Object.freeze({__proto__:null,format:gp,deprecate:_2,debuglog:c8,inspect:VE,isArray:DF,isBoolean:D8,isNull:v8,isNullOrUndefined:pS,isNumber:l4,isString:KF,isSymbol:f4,isUndefined:$E,isRegExp:t6,isObject:vF,isDate:fF,isError:tS,isFunction:z6,isPrimitive:LS,isBuffer:B8,log:RT,inherits:cf,_extend:UA,default:VA}),ZT=s0(function(b0){typeof Object.create==\"function\"?b0.exports=function(z0,U1){U1&&(z0.super_=U1,z0.prototype=Object.create(U1.prototype,{constructor:{value:z0,enumerable:!1,writable:!0,configurable:!0}}))}:b0.exports=function(z0,U1){if(U1){z0.super_=U1;var Bx=function(){};Bx.prototype=U1.prototype,z0.prototype=new Bx,z0.prototype.constructor=z0}}}),Kw=K(ST),y5=s0(function(b0){try{var z0=Kw;if(typeof z0.inherits!=\"function\")throw\"\";b0.exports=z0.inherits}catch{b0.exports=ZT}}),P4=function(b0){var z0,U1,Bx;for(U1 in y5(ne,b0),y5(pe,ne),z0=ne.prototype)(Bx=z0[U1])&&typeof Bx==\"object\"&&(z0[U1]=\"concat\"in Bx?Bx.concat():c(Bx));return ne;function pe(Te){return b0.apply(this,Te)}function ne(){return this instanceof ne?b0.apply(this,arguments):new pe(arguments)}},fA=function(b0,z0,U1){return function(){var Bx=U1||this,pe=Bx[b0];return Bx[b0]=!z0,ne;function ne(){Bx[b0]=pe}}},H8=function(b0){for(var z0=String(b0),U1=[],Bx=/\\r?\\n|\\r/g;Bx.exec(z0);)U1.push(Bx.lastIndex);return U1.push(z0.length+1),{toPoint:pe,toPosition:pe,toOffset:function(ne){var Te,ir=ne&&ne.line,hn=ne&&ne.column;return isNaN(ir)||isNaN(hn)||!(ir-1 in U1)||(Te=(U1[ir-2]||0)+hn-1||0),Te>-1&&Te<U1[U1.length-1]?Te:-1}};function pe(ne){var Te=-1;if(ne>-1&&ne<U1[U1.length-1]){for(;++Te<U1.length;)if(U1[Te]>ne)return{line:Te+1,column:ne-(U1[Te-1]||0)+1,offset:ne}}return{}}},pA=function(b0,z0){return function(U1){for(var Bx,pe=0,ne=U1.indexOf(qS),Te=b0[z0],ir=[];ne!==-1;)ir.push(U1.slice(pe,ne)),pe=ne+1,(Bx=U1.charAt(pe))&&Te.indexOf(Bx)!==-1||ir.push(qS),ne=U1.indexOf(qS,pe+1);return ir.push(U1.slice(pe)),ir.join(\"\")}},qS=\"\\\\\",W6={AElig:\"\\xC6\",AMP:\"&\",Aacute:\"\\xC1\",Acirc:\"\\xC2\",Agrave:\"\\xC0\",Aring:\"\\xC5\",Atilde:\"\\xC3\",Auml:\"\\xC4\",COPY:\"\\xA9\",Ccedil:\"\\xC7\",ETH:\"\\xD0\",Eacute:\"\\xC9\",Ecirc:\"\\xCA\",Egrave:\"\\xC8\",Euml:\"\\xCB\",GT:\">\",Iacute:\"\\xCD\",Icirc:\"\\xCE\",Igrave:\"\\xCC\",Iuml:\"\\xCF\",LT:\"<\",Ntilde:\"\\xD1\",Oacute:\"\\xD3\",Ocirc:\"\\xD4\",Ograve:\"\\xD2\",Oslash:\"\\xD8\",Otilde:\"\\xD5\",Ouml:\"\\xD6\",QUOT:'\"',REG:\"\\xAE\",THORN:\"\\xDE\",Uacute:\"\\xDA\",Ucirc:\"\\xDB\",Ugrave:\"\\xD9\",Uuml:\"\\xDC\",Yacute:\"\\xDD\",aacute:\"\\xE1\",acirc:\"\\xE2\",acute:\"\\xB4\",aelig:\"\\xE6\",agrave:\"\\xE0\",amp:\"&\",aring:\"\\xE5\",atilde:\"\\xE3\",auml:\"\\xE4\",brvbar:\"\\xA6\",ccedil:\"\\xE7\",cedil:\"\\xB8\",cent:\"\\xA2\",copy:\"\\xA9\",curren:\"\\xA4\",deg:\"\\xB0\",divide:\"\\xF7\",eacute:\"\\xE9\",ecirc:\"\\xEA\",egrave:\"\\xE8\",eth:\"\\xF0\",euml:\"\\xEB\",frac12:\"\\xBD\",frac14:\"\\xBC\",frac34:\"\\xBE\",gt:\">\",iacute:\"\\xED\",icirc:\"\\xEE\",iexcl:\"\\xA1\",igrave:\"\\xEC\",iquest:\"\\xBF\",iuml:\"\\xEF\",laquo:\"\\xAB\",lt:\"<\",macr:\"\\xAF\",micro:\"\\xB5\",middot:\"\\xB7\",nbsp:\"\\xA0\",not:\"\\xAC\",ntilde:\"\\xF1\",oacute:\"\\xF3\",ocirc:\"\\xF4\",ograve:\"\\xF2\",ordf:\"\\xAA\",ordm:\"\\xBA\",oslash:\"\\xF8\",otilde:\"\\xF5\",ouml:\"\\xF6\",para:\"\\xB6\",plusmn:\"\\xB1\",pound:\"\\xA3\",quot:'\"',raquo:\"\\xBB\",reg:\"\\xAE\",sect:\"\\xA7\",shy:\"\\xAD\",sup1:\"\\xB9\",sup2:\"\\xB2\",sup3:\"\\xB3\",szlig:\"\\xDF\",thorn:\"\\xFE\",times:\"\\xD7\",uacute:\"\\xFA\",ucirc:\"\\xFB\",ugrave:\"\\xF9\",uml:\"\\xA8\",uuml:\"\\xFC\",yacute:\"\\xFD\",yen:\"\\xA5\",yuml:\"\\xFF\"},D5={0:\"\\uFFFD\",128:\"\\u20AC\",130:\"\\u201A\",131:\"\\u0192\",132:\"\\u201E\",133:\"\\u2026\",134:\"\\u2020\",135:\"\\u2021\",136:\"\\u02C6\",137:\"\\u2030\",138:\"\\u0160\",139:\"\\u2039\",140:\"\\u0152\",142:\"\\u017D\",145:\"\\u2018\",146:\"\\u2019\",147:\"\\u201C\",148:\"\\u201D\",149:\"\\u2022\",150:\"\\u2013\",151:\"\\u2014\",152:\"\\u02DC\",153:\"\\u2122\",154:\"\\u0161\",155:\"\\u203A\",156:\"\\u0153\",158:\"\\u017E\",159:\"\\u0178\"},$A=function(b0){var z0=typeof b0==\"string\"?b0.charCodeAt(0):b0;return z0>=48&&z0<=57},J4=function(b0){var z0=typeof b0==\"string\"?b0.charCodeAt(0):b0;return z0>=97&&z0<=102||z0>=65&&z0<=70||z0>=48&&z0<=57},dA=function(b0){var z0=typeof b0==\"string\"?b0.charCodeAt(0):b0;return z0>=97&&z0<=122||z0>=65&&z0<=90},CF=function(b0){return dA(b0)||$A(b0)},FT={AEli:\"\\xC6\",AElig:\"\\xC6\",AM:\"&\",AMP:\"&\",Aacut:\"\\xC1\",Aacute:\"\\xC1\",Abreve:\"\\u0102\",Acir:\"\\xC2\",Acirc:\"\\xC2\",Acy:\"\\u0410\",Afr:\"\\u{1D504}\",Agrav:\"\\xC0\",Agrave:\"\\xC0\",Alpha:\"\\u0391\",Amacr:\"\\u0100\",And:\"\\u2A53\",Aogon:\"\\u0104\",Aopf:\"\\u{1D538}\",ApplyFunction:\"\\u2061\",Arin:\"\\xC5\",Aring:\"\\xC5\",Ascr:\"\\u{1D49C}\",Assign:\"\\u2254\",Atild:\"\\xC3\",Atilde:\"\\xC3\",Aum:\"\\xC4\",Auml:\"\\xC4\",Backslash:\"\\u2216\",Barv:\"\\u2AE7\",Barwed:\"\\u2306\",Bcy:\"\\u0411\",Because:\"\\u2235\",Bernoullis:\"\\u212C\",Beta:\"\\u0392\",Bfr:\"\\u{1D505}\",Bopf:\"\\u{1D539}\",Breve:\"\\u02D8\",Bscr:\"\\u212C\",Bumpeq:\"\\u224E\",CHcy:\"\\u0427\",COP:\"\\xA9\",COPY:\"\\xA9\",Cacute:\"\\u0106\",Cap:\"\\u22D2\",CapitalDifferentialD:\"\\u2145\",Cayleys:\"\\u212D\",Ccaron:\"\\u010C\",Ccedi:\"\\xC7\",Ccedil:\"\\xC7\",Ccirc:\"\\u0108\",Cconint:\"\\u2230\",Cdot:\"\\u010A\",Cedilla:\"\\xB8\",CenterDot:\"\\xB7\",Cfr:\"\\u212D\",Chi:\"\\u03A7\",CircleDot:\"\\u2299\",CircleMinus:\"\\u2296\",CirclePlus:\"\\u2295\",CircleTimes:\"\\u2297\",ClockwiseContourIntegral:\"\\u2232\",CloseCurlyDoubleQuote:\"\\u201D\",CloseCurlyQuote:\"\\u2019\",Colon:\"\\u2237\",Colone:\"\\u2A74\",Congruent:\"\\u2261\",Conint:\"\\u222F\",ContourIntegral:\"\\u222E\",Copf:\"\\u2102\",Coproduct:\"\\u2210\",CounterClockwiseContourIntegral:\"\\u2233\",Cross:\"\\u2A2F\",Cscr:\"\\u{1D49E}\",Cup:\"\\u22D3\",CupCap:\"\\u224D\",DD:\"\\u2145\",DDotrahd:\"\\u2911\",DJcy:\"\\u0402\",DScy:\"\\u0405\",DZcy:\"\\u040F\",Dagger:\"\\u2021\",Darr:\"\\u21A1\",Dashv:\"\\u2AE4\",Dcaron:\"\\u010E\",Dcy:\"\\u0414\",Del:\"\\u2207\",Delta:\"\\u0394\",Dfr:\"\\u{1D507}\",DiacriticalAcute:\"\\xB4\",DiacriticalDot:\"\\u02D9\",DiacriticalDoubleAcute:\"\\u02DD\",DiacriticalGrave:\"`\",DiacriticalTilde:\"\\u02DC\",Diamond:\"\\u22C4\",DifferentialD:\"\\u2146\",Dopf:\"\\u{1D53B}\",Dot:\"\\xA8\",DotDot:\"\\u20DC\",DotEqual:\"\\u2250\",DoubleContourIntegral:\"\\u222F\",DoubleDot:\"\\xA8\",DoubleDownArrow:\"\\u21D3\",DoubleLeftArrow:\"\\u21D0\",DoubleLeftRightArrow:\"\\u21D4\",DoubleLeftTee:\"\\u2AE4\",DoubleLongLeftArrow:\"\\u27F8\",DoubleLongLeftRightArrow:\"\\u27FA\",DoubleLongRightArrow:\"\\u27F9\",DoubleRightArrow:\"\\u21D2\",DoubleRightTee:\"\\u22A8\",DoubleUpArrow:\"\\u21D1\",DoubleUpDownArrow:\"\\u21D5\",DoubleVerticalBar:\"\\u2225\",DownArrow:\"\\u2193\",DownArrowBar:\"\\u2913\",DownArrowUpArrow:\"\\u21F5\",DownBreve:\"\\u0311\",DownLeftRightVector:\"\\u2950\",DownLeftTeeVector:\"\\u295E\",DownLeftVector:\"\\u21BD\",DownLeftVectorBar:\"\\u2956\",DownRightTeeVector:\"\\u295F\",DownRightVector:\"\\u21C1\",DownRightVectorBar:\"\\u2957\",DownTee:\"\\u22A4\",DownTeeArrow:\"\\u21A7\",Downarrow:\"\\u21D3\",Dscr:\"\\u{1D49F}\",Dstrok:\"\\u0110\",ENG:\"\\u014A\",ET:\"\\xD0\",ETH:\"\\xD0\",Eacut:\"\\xC9\",Eacute:\"\\xC9\",Ecaron:\"\\u011A\",Ecir:\"\\xCA\",Ecirc:\"\\xCA\",Ecy:\"\\u042D\",Edot:\"\\u0116\",Efr:\"\\u{1D508}\",Egrav:\"\\xC8\",Egrave:\"\\xC8\",Element:\"\\u2208\",Emacr:\"\\u0112\",EmptySmallSquare:\"\\u25FB\",EmptyVerySmallSquare:\"\\u25AB\",Eogon:\"\\u0118\",Eopf:\"\\u{1D53C}\",Epsilon:\"\\u0395\",Equal:\"\\u2A75\",EqualTilde:\"\\u2242\",Equilibrium:\"\\u21CC\",Escr:\"\\u2130\",Esim:\"\\u2A73\",Eta:\"\\u0397\",Eum:\"\\xCB\",Euml:\"\\xCB\",Exists:\"\\u2203\",ExponentialE:\"\\u2147\",Fcy:\"\\u0424\",Ffr:\"\\u{1D509}\",FilledSmallSquare:\"\\u25FC\",FilledVerySmallSquare:\"\\u25AA\",Fopf:\"\\u{1D53D}\",ForAll:\"\\u2200\",Fouriertrf:\"\\u2131\",Fscr:\"\\u2131\",GJcy:\"\\u0403\",G:\">\",GT:\">\",Gamma:\"\\u0393\",Gammad:\"\\u03DC\",Gbreve:\"\\u011E\",Gcedil:\"\\u0122\",Gcirc:\"\\u011C\",Gcy:\"\\u0413\",Gdot:\"\\u0120\",Gfr:\"\\u{1D50A}\",Gg:\"\\u22D9\",Gopf:\"\\u{1D53E}\",GreaterEqual:\"\\u2265\",GreaterEqualLess:\"\\u22DB\",GreaterFullEqual:\"\\u2267\",GreaterGreater:\"\\u2AA2\",GreaterLess:\"\\u2277\",GreaterSlantEqual:\"\\u2A7E\",GreaterTilde:\"\\u2273\",Gscr:\"\\u{1D4A2}\",Gt:\"\\u226B\",HARDcy:\"\\u042A\",Hacek:\"\\u02C7\",Hat:\"^\",Hcirc:\"\\u0124\",Hfr:\"\\u210C\",HilbertSpace:\"\\u210B\",Hopf:\"\\u210D\",HorizontalLine:\"\\u2500\",Hscr:\"\\u210B\",Hstrok:\"\\u0126\",HumpDownHump:\"\\u224E\",HumpEqual:\"\\u224F\",IEcy:\"\\u0415\",IJlig:\"\\u0132\",IOcy:\"\\u0401\",Iacut:\"\\xCD\",Iacute:\"\\xCD\",Icir:\"\\xCE\",Icirc:\"\\xCE\",Icy:\"\\u0418\",Idot:\"\\u0130\",Ifr:\"\\u2111\",Igrav:\"\\xCC\",Igrave:\"\\xCC\",Im:\"\\u2111\",Imacr:\"\\u012A\",ImaginaryI:\"\\u2148\",Implies:\"\\u21D2\",Int:\"\\u222C\",Integral:\"\\u222B\",Intersection:\"\\u22C2\",InvisibleComma:\"\\u2063\",InvisibleTimes:\"\\u2062\",Iogon:\"\\u012E\",Iopf:\"\\u{1D540}\",Iota:\"\\u0399\",Iscr:\"\\u2110\",Itilde:\"\\u0128\",Iukcy:\"\\u0406\",Ium:\"\\xCF\",Iuml:\"\\xCF\",Jcirc:\"\\u0134\",Jcy:\"\\u0419\",Jfr:\"\\u{1D50D}\",Jopf:\"\\u{1D541}\",Jscr:\"\\u{1D4A5}\",Jsercy:\"\\u0408\",Jukcy:\"\\u0404\",KHcy:\"\\u0425\",KJcy:\"\\u040C\",Kappa:\"\\u039A\",Kcedil:\"\\u0136\",Kcy:\"\\u041A\",Kfr:\"\\u{1D50E}\",Kopf:\"\\u{1D542}\",Kscr:\"\\u{1D4A6}\",LJcy:\"\\u0409\",L:\"<\",LT:\"<\",Lacute:\"\\u0139\",Lambda:\"\\u039B\",Lang:\"\\u27EA\",Laplacetrf:\"\\u2112\",Larr:\"\\u219E\",Lcaron:\"\\u013D\",Lcedil:\"\\u013B\",Lcy:\"\\u041B\",LeftAngleBracket:\"\\u27E8\",LeftArrow:\"\\u2190\",LeftArrowBar:\"\\u21E4\",LeftArrowRightArrow:\"\\u21C6\",LeftCeiling:\"\\u2308\",LeftDoubleBracket:\"\\u27E6\",LeftDownTeeVector:\"\\u2961\",LeftDownVector:\"\\u21C3\",LeftDownVectorBar:\"\\u2959\",LeftFloor:\"\\u230A\",LeftRightArrow:\"\\u2194\",LeftRightVector:\"\\u294E\",LeftTee:\"\\u22A3\",LeftTeeArrow:\"\\u21A4\",LeftTeeVector:\"\\u295A\",LeftTriangle:\"\\u22B2\",LeftTriangleBar:\"\\u29CF\",LeftTriangleEqual:\"\\u22B4\",LeftUpDownVector:\"\\u2951\",LeftUpTeeVector:\"\\u2960\",LeftUpVector:\"\\u21BF\",LeftUpVectorBar:\"\\u2958\",LeftVector:\"\\u21BC\",LeftVectorBar:\"\\u2952\",Leftarrow:\"\\u21D0\",Leftrightarrow:\"\\u21D4\",LessEqualGreater:\"\\u22DA\",LessFullEqual:\"\\u2266\",LessGreater:\"\\u2276\",LessLess:\"\\u2AA1\",LessSlantEqual:\"\\u2A7D\",LessTilde:\"\\u2272\",Lfr:\"\\u{1D50F}\",Ll:\"\\u22D8\",Lleftarrow:\"\\u21DA\",Lmidot:\"\\u013F\",LongLeftArrow:\"\\u27F5\",LongLeftRightArrow:\"\\u27F7\",LongRightArrow:\"\\u27F6\",Longleftarrow:\"\\u27F8\",Longleftrightarrow:\"\\u27FA\",Longrightarrow:\"\\u27F9\",Lopf:\"\\u{1D543}\",LowerLeftArrow:\"\\u2199\",LowerRightArrow:\"\\u2198\",Lscr:\"\\u2112\",Lsh:\"\\u21B0\",Lstrok:\"\\u0141\",Lt:\"\\u226A\",Map:\"\\u2905\",Mcy:\"\\u041C\",MediumSpace:\"\\u205F\",Mellintrf:\"\\u2133\",Mfr:\"\\u{1D510}\",MinusPlus:\"\\u2213\",Mopf:\"\\u{1D544}\",Mscr:\"\\u2133\",Mu:\"\\u039C\",NJcy:\"\\u040A\",Nacute:\"\\u0143\",Ncaron:\"\\u0147\",Ncedil:\"\\u0145\",Ncy:\"\\u041D\",NegativeMediumSpace:\"\\u200B\",NegativeThickSpace:\"\\u200B\",NegativeThinSpace:\"\\u200B\",NegativeVeryThinSpace:\"\\u200B\",NestedGreaterGreater:\"\\u226B\",NestedLessLess:\"\\u226A\",NewLine:`\n`,Nfr:\"\\u{1D511}\",NoBreak:\"\\u2060\",NonBreakingSpace:\"\\xA0\",Nopf:\"\\u2115\",Not:\"\\u2AEC\",NotCongruent:\"\\u2262\",NotCupCap:\"\\u226D\",NotDoubleVerticalBar:\"\\u2226\",NotElement:\"\\u2209\",NotEqual:\"\\u2260\",NotEqualTilde:\"\\u2242\\u0338\",NotExists:\"\\u2204\",NotGreater:\"\\u226F\",NotGreaterEqual:\"\\u2271\",NotGreaterFullEqual:\"\\u2267\\u0338\",NotGreaterGreater:\"\\u226B\\u0338\",NotGreaterLess:\"\\u2279\",NotGreaterSlantEqual:\"\\u2A7E\\u0338\",NotGreaterTilde:\"\\u2275\",NotHumpDownHump:\"\\u224E\\u0338\",NotHumpEqual:\"\\u224F\\u0338\",NotLeftTriangle:\"\\u22EA\",NotLeftTriangleBar:\"\\u29CF\\u0338\",NotLeftTriangleEqual:\"\\u22EC\",NotLess:\"\\u226E\",NotLessEqual:\"\\u2270\",NotLessGreater:\"\\u2278\",NotLessLess:\"\\u226A\\u0338\",NotLessSlantEqual:\"\\u2A7D\\u0338\",NotLessTilde:\"\\u2274\",NotNestedGreaterGreater:\"\\u2AA2\\u0338\",NotNestedLessLess:\"\\u2AA1\\u0338\",NotPrecedes:\"\\u2280\",NotPrecedesEqual:\"\\u2AAF\\u0338\",NotPrecedesSlantEqual:\"\\u22E0\",NotReverseElement:\"\\u220C\",NotRightTriangle:\"\\u22EB\",NotRightTriangleBar:\"\\u29D0\\u0338\",NotRightTriangleEqual:\"\\u22ED\",NotSquareSubset:\"\\u228F\\u0338\",NotSquareSubsetEqual:\"\\u22E2\",NotSquareSuperset:\"\\u2290\\u0338\",NotSquareSupersetEqual:\"\\u22E3\",NotSubset:\"\\u2282\\u20D2\",NotSubsetEqual:\"\\u2288\",NotSucceeds:\"\\u2281\",NotSucceedsEqual:\"\\u2AB0\\u0338\",NotSucceedsSlantEqual:\"\\u22E1\",NotSucceedsTilde:\"\\u227F\\u0338\",NotSuperset:\"\\u2283\\u20D2\",NotSupersetEqual:\"\\u2289\",NotTilde:\"\\u2241\",NotTildeEqual:\"\\u2244\",NotTildeFullEqual:\"\\u2247\",NotTildeTilde:\"\\u2249\",NotVerticalBar:\"\\u2224\",Nscr:\"\\u{1D4A9}\",Ntild:\"\\xD1\",Ntilde:\"\\xD1\",Nu:\"\\u039D\",OElig:\"\\u0152\",Oacut:\"\\xD3\",Oacute:\"\\xD3\",Ocir:\"\\xD4\",Ocirc:\"\\xD4\",Ocy:\"\\u041E\",Odblac:\"\\u0150\",Ofr:\"\\u{1D512}\",Ograv:\"\\xD2\",Ograve:\"\\xD2\",Omacr:\"\\u014C\",Omega:\"\\u03A9\",Omicron:\"\\u039F\",Oopf:\"\\u{1D546}\",OpenCurlyDoubleQuote:\"\\u201C\",OpenCurlyQuote:\"\\u2018\",Or:\"\\u2A54\",Oscr:\"\\u{1D4AA}\",Oslas:\"\\xD8\",Oslash:\"\\xD8\",Otild:\"\\xD5\",Otilde:\"\\xD5\",Otimes:\"\\u2A37\",Oum:\"\\xD6\",Ouml:\"\\xD6\",OverBar:\"\\u203E\",OverBrace:\"\\u23DE\",OverBracket:\"\\u23B4\",OverParenthesis:\"\\u23DC\",PartialD:\"\\u2202\",Pcy:\"\\u041F\",Pfr:\"\\u{1D513}\",Phi:\"\\u03A6\",Pi:\"\\u03A0\",PlusMinus:\"\\xB1\",Poincareplane:\"\\u210C\",Popf:\"\\u2119\",Pr:\"\\u2ABB\",Precedes:\"\\u227A\",PrecedesEqual:\"\\u2AAF\",PrecedesSlantEqual:\"\\u227C\",PrecedesTilde:\"\\u227E\",Prime:\"\\u2033\",Product:\"\\u220F\",Proportion:\"\\u2237\",Proportional:\"\\u221D\",Pscr:\"\\u{1D4AB}\",Psi:\"\\u03A8\",QUO:'\"',QUOT:'\"',Qfr:\"\\u{1D514}\",Qopf:\"\\u211A\",Qscr:\"\\u{1D4AC}\",RBarr:\"\\u2910\",RE:\"\\xAE\",REG:\"\\xAE\",Racute:\"\\u0154\",Rang:\"\\u27EB\",Rarr:\"\\u21A0\",Rarrtl:\"\\u2916\",Rcaron:\"\\u0158\",Rcedil:\"\\u0156\",Rcy:\"\\u0420\",Re:\"\\u211C\",ReverseElement:\"\\u220B\",ReverseEquilibrium:\"\\u21CB\",ReverseUpEquilibrium:\"\\u296F\",Rfr:\"\\u211C\",Rho:\"\\u03A1\",RightAngleBracket:\"\\u27E9\",RightArrow:\"\\u2192\",RightArrowBar:\"\\u21E5\",RightArrowLeftArrow:\"\\u21C4\",RightCeiling:\"\\u2309\",RightDoubleBracket:\"\\u27E7\",RightDownTeeVector:\"\\u295D\",RightDownVector:\"\\u21C2\",RightDownVectorBar:\"\\u2955\",RightFloor:\"\\u230B\",RightTee:\"\\u22A2\",RightTeeArrow:\"\\u21A6\",RightTeeVector:\"\\u295B\",RightTriangle:\"\\u22B3\",RightTriangleBar:\"\\u29D0\",RightTriangleEqual:\"\\u22B5\",RightUpDownVector:\"\\u294F\",RightUpTeeVector:\"\\u295C\",RightUpVector:\"\\u21BE\",RightUpVectorBar:\"\\u2954\",RightVector:\"\\u21C0\",RightVectorBar:\"\\u2953\",Rightarrow:\"\\u21D2\",Ropf:\"\\u211D\",RoundImplies:\"\\u2970\",Rrightarrow:\"\\u21DB\",Rscr:\"\\u211B\",Rsh:\"\\u21B1\",RuleDelayed:\"\\u29F4\",SHCHcy:\"\\u0429\",SHcy:\"\\u0428\",SOFTcy:\"\\u042C\",Sacute:\"\\u015A\",Sc:\"\\u2ABC\",Scaron:\"\\u0160\",Scedil:\"\\u015E\",Scirc:\"\\u015C\",Scy:\"\\u0421\",Sfr:\"\\u{1D516}\",ShortDownArrow:\"\\u2193\",ShortLeftArrow:\"\\u2190\",ShortRightArrow:\"\\u2192\",ShortUpArrow:\"\\u2191\",Sigma:\"\\u03A3\",SmallCircle:\"\\u2218\",Sopf:\"\\u{1D54A}\",Sqrt:\"\\u221A\",Square:\"\\u25A1\",SquareIntersection:\"\\u2293\",SquareSubset:\"\\u228F\",SquareSubsetEqual:\"\\u2291\",SquareSuperset:\"\\u2290\",SquareSupersetEqual:\"\\u2292\",SquareUnion:\"\\u2294\",Sscr:\"\\u{1D4AE}\",Star:\"\\u22C6\",Sub:\"\\u22D0\",Subset:\"\\u22D0\",SubsetEqual:\"\\u2286\",Succeeds:\"\\u227B\",SucceedsEqual:\"\\u2AB0\",SucceedsSlantEqual:\"\\u227D\",SucceedsTilde:\"\\u227F\",SuchThat:\"\\u220B\",Sum:\"\\u2211\",Sup:\"\\u22D1\",Superset:\"\\u2283\",SupersetEqual:\"\\u2287\",Supset:\"\\u22D1\",THOR:\"\\xDE\",THORN:\"\\xDE\",TRADE:\"\\u2122\",TSHcy:\"\\u040B\",TScy:\"\\u0426\",Tab:\"\t\",Tau:\"\\u03A4\",Tcaron:\"\\u0164\",Tcedil:\"\\u0162\",Tcy:\"\\u0422\",Tfr:\"\\u{1D517}\",Therefore:\"\\u2234\",Theta:\"\\u0398\",ThickSpace:\"\\u205F\\u200A\",ThinSpace:\"\\u2009\",Tilde:\"\\u223C\",TildeEqual:\"\\u2243\",TildeFullEqual:\"\\u2245\",TildeTilde:\"\\u2248\",Topf:\"\\u{1D54B}\",TripleDot:\"\\u20DB\",Tscr:\"\\u{1D4AF}\",Tstrok:\"\\u0166\",Uacut:\"\\xDA\",Uacute:\"\\xDA\",Uarr:\"\\u219F\",Uarrocir:\"\\u2949\",Ubrcy:\"\\u040E\",Ubreve:\"\\u016C\",Ucir:\"\\xDB\",Ucirc:\"\\xDB\",Ucy:\"\\u0423\",Udblac:\"\\u0170\",Ufr:\"\\u{1D518}\",Ugrav:\"\\xD9\",Ugrave:\"\\xD9\",Umacr:\"\\u016A\",UnderBar:\"_\",UnderBrace:\"\\u23DF\",UnderBracket:\"\\u23B5\",UnderParenthesis:\"\\u23DD\",Union:\"\\u22C3\",UnionPlus:\"\\u228E\",Uogon:\"\\u0172\",Uopf:\"\\u{1D54C}\",UpArrow:\"\\u2191\",UpArrowBar:\"\\u2912\",UpArrowDownArrow:\"\\u21C5\",UpDownArrow:\"\\u2195\",UpEquilibrium:\"\\u296E\",UpTee:\"\\u22A5\",UpTeeArrow:\"\\u21A5\",Uparrow:\"\\u21D1\",Updownarrow:\"\\u21D5\",UpperLeftArrow:\"\\u2196\",UpperRightArrow:\"\\u2197\",Upsi:\"\\u03D2\",Upsilon:\"\\u03A5\",Uring:\"\\u016E\",Uscr:\"\\u{1D4B0}\",Utilde:\"\\u0168\",Uum:\"\\xDC\",Uuml:\"\\xDC\",VDash:\"\\u22AB\",Vbar:\"\\u2AEB\",Vcy:\"\\u0412\",Vdash:\"\\u22A9\",Vdashl:\"\\u2AE6\",Vee:\"\\u22C1\",Verbar:\"\\u2016\",Vert:\"\\u2016\",VerticalBar:\"\\u2223\",VerticalLine:\"|\",VerticalSeparator:\"\\u2758\",VerticalTilde:\"\\u2240\",VeryThinSpace:\"\\u200A\",Vfr:\"\\u{1D519}\",Vopf:\"\\u{1D54D}\",Vscr:\"\\u{1D4B1}\",Vvdash:\"\\u22AA\",Wcirc:\"\\u0174\",Wedge:\"\\u22C0\",Wfr:\"\\u{1D51A}\",Wopf:\"\\u{1D54E}\",Wscr:\"\\u{1D4B2}\",Xfr:\"\\u{1D51B}\",Xi:\"\\u039E\",Xopf:\"\\u{1D54F}\",Xscr:\"\\u{1D4B3}\",YAcy:\"\\u042F\",YIcy:\"\\u0407\",YUcy:\"\\u042E\",Yacut:\"\\xDD\",Yacute:\"\\xDD\",Ycirc:\"\\u0176\",Ycy:\"\\u042B\",Yfr:\"\\u{1D51C}\",Yopf:\"\\u{1D550}\",Yscr:\"\\u{1D4B4}\",Yuml:\"\\u0178\",ZHcy:\"\\u0416\",Zacute:\"\\u0179\",Zcaron:\"\\u017D\",Zcy:\"\\u0417\",Zdot:\"\\u017B\",ZeroWidthSpace:\"\\u200B\",Zeta:\"\\u0396\",Zfr:\"\\u2128\",Zopf:\"\\u2124\",Zscr:\"\\u{1D4B5}\",aacut:\"\\xE1\",aacute:\"\\xE1\",abreve:\"\\u0103\",ac:\"\\u223E\",acE:\"\\u223E\\u0333\",acd:\"\\u223F\",acir:\"\\xE2\",acirc:\"\\xE2\",acut:\"\\xB4\",acute:\"\\xB4\",acy:\"\\u0430\",aeli:\"\\xE6\",aelig:\"\\xE6\",af:\"\\u2061\",afr:\"\\u{1D51E}\",agrav:\"\\xE0\",agrave:\"\\xE0\",alefsym:\"\\u2135\",aleph:\"\\u2135\",alpha:\"\\u03B1\",amacr:\"\\u0101\",amalg:\"\\u2A3F\",am:\"&\",amp:\"&\",and:\"\\u2227\",andand:\"\\u2A55\",andd:\"\\u2A5C\",andslope:\"\\u2A58\",andv:\"\\u2A5A\",ang:\"\\u2220\",ange:\"\\u29A4\",angle:\"\\u2220\",angmsd:\"\\u2221\",angmsdaa:\"\\u29A8\",angmsdab:\"\\u29A9\",angmsdac:\"\\u29AA\",angmsdad:\"\\u29AB\",angmsdae:\"\\u29AC\",angmsdaf:\"\\u29AD\",angmsdag:\"\\u29AE\",angmsdah:\"\\u29AF\",angrt:\"\\u221F\",angrtvb:\"\\u22BE\",angrtvbd:\"\\u299D\",angsph:\"\\u2222\",angst:\"\\xC5\",angzarr:\"\\u237C\",aogon:\"\\u0105\",aopf:\"\\u{1D552}\",ap:\"\\u2248\",apE:\"\\u2A70\",apacir:\"\\u2A6F\",ape:\"\\u224A\",apid:\"\\u224B\",apos:\"'\",approx:\"\\u2248\",approxeq:\"\\u224A\",arin:\"\\xE5\",aring:\"\\xE5\",ascr:\"\\u{1D4B6}\",ast:\"*\",asymp:\"\\u2248\",asympeq:\"\\u224D\",atild:\"\\xE3\",atilde:\"\\xE3\",aum:\"\\xE4\",auml:\"\\xE4\",awconint:\"\\u2233\",awint:\"\\u2A11\",bNot:\"\\u2AED\",backcong:\"\\u224C\",backepsilon:\"\\u03F6\",backprime:\"\\u2035\",backsim:\"\\u223D\",backsimeq:\"\\u22CD\",barvee:\"\\u22BD\",barwed:\"\\u2305\",barwedge:\"\\u2305\",bbrk:\"\\u23B5\",bbrktbrk:\"\\u23B6\",bcong:\"\\u224C\",bcy:\"\\u0431\",bdquo:\"\\u201E\",becaus:\"\\u2235\",because:\"\\u2235\",bemptyv:\"\\u29B0\",bepsi:\"\\u03F6\",bernou:\"\\u212C\",beta:\"\\u03B2\",beth:\"\\u2136\",between:\"\\u226C\",bfr:\"\\u{1D51F}\",bigcap:\"\\u22C2\",bigcirc:\"\\u25EF\",bigcup:\"\\u22C3\",bigodot:\"\\u2A00\",bigoplus:\"\\u2A01\",bigotimes:\"\\u2A02\",bigsqcup:\"\\u2A06\",bigstar:\"\\u2605\",bigtriangledown:\"\\u25BD\",bigtriangleup:\"\\u25B3\",biguplus:\"\\u2A04\",bigvee:\"\\u22C1\",bigwedge:\"\\u22C0\",bkarow:\"\\u290D\",blacklozenge:\"\\u29EB\",blacksquare:\"\\u25AA\",blacktriangle:\"\\u25B4\",blacktriangledown:\"\\u25BE\",blacktriangleleft:\"\\u25C2\",blacktriangleright:\"\\u25B8\",blank:\"\\u2423\",blk12:\"\\u2592\",blk14:\"\\u2591\",blk34:\"\\u2593\",block:\"\\u2588\",bne:\"=\\u20E5\",bnequiv:\"\\u2261\\u20E5\",bnot:\"\\u2310\",bopf:\"\\u{1D553}\",bot:\"\\u22A5\",bottom:\"\\u22A5\",bowtie:\"\\u22C8\",boxDL:\"\\u2557\",boxDR:\"\\u2554\",boxDl:\"\\u2556\",boxDr:\"\\u2553\",boxH:\"\\u2550\",boxHD:\"\\u2566\",boxHU:\"\\u2569\",boxHd:\"\\u2564\",boxHu:\"\\u2567\",boxUL:\"\\u255D\",boxUR:\"\\u255A\",boxUl:\"\\u255C\",boxUr:\"\\u2559\",boxV:\"\\u2551\",boxVH:\"\\u256C\",boxVL:\"\\u2563\",boxVR:\"\\u2560\",boxVh:\"\\u256B\",boxVl:\"\\u2562\",boxVr:\"\\u255F\",boxbox:\"\\u29C9\",boxdL:\"\\u2555\",boxdR:\"\\u2552\",boxdl:\"\\u2510\",boxdr:\"\\u250C\",boxh:\"\\u2500\",boxhD:\"\\u2565\",boxhU:\"\\u2568\",boxhd:\"\\u252C\",boxhu:\"\\u2534\",boxminus:\"\\u229F\",boxplus:\"\\u229E\",boxtimes:\"\\u22A0\",boxuL:\"\\u255B\",boxuR:\"\\u2558\",boxul:\"\\u2518\",boxur:\"\\u2514\",boxv:\"\\u2502\",boxvH:\"\\u256A\",boxvL:\"\\u2561\",boxvR:\"\\u255E\",boxvh:\"\\u253C\",boxvl:\"\\u2524\",boxvr:\"\\u251C\",bprime:\"\\u2035\",breve:\"\\u02D8\",brvba:\"\\xA6\",brvbar:\"\\xA6\",bscr:\"\\u{1D4B7}\",bsemi:\"\\u204F\",bsim:\"\\u223D\",bsime:\"\\u22CD\",bsol:\"\\\\\",bsolb:\"\\u29C5\",bsolhsub:\"\\u27C8\",bull:\"\\u2022\",bullet:\"\\u2022\",bump:\"\\u224E\",bumpE:\"\\u2AAE\",bumpe:\"\\u224F\",bumpeq:\"\\u224F\",cacute:\"\\u0107\",cap:\"\\u2229\",capand:\"\\u2A44\",capbrcup:\"\\u2A49\",capcap:\"\\u2A4B\",capcup:\"\\u2A47\",capdot:\"\\u2A40\",caps:\"\\u2229\\uFE00\",caret:\"\\u2041\",caron:\"\\u02C7\",ccaps:\"\\u2A4D\",ccaron:\"\\u010D\",ccedi:\"\\xE7\",ccedil:\"\\xE7\",ccirc:\"\\u0109\",ccups:\"\\u2A4C\",ccupssm:\"\\u2A50\",cdot:\"\\u010B\",cedi:\"\\xB8\",cedil:\"\\xB8\",cemptyv:\"\\u29B2\",cen:\"\\xA2\",cent:\"\\xA2\",centerdot:\"\\xB7\",cfr:\"\\u{1D520}\",chcy:\"\\u0447\",check:\"\\u2713\",checkmark:\"\\u2713\",chi:\"\\u03C7\",cir:\"\\u25CB\",cirE:\"\\u29C3\",circ:\"\\u02C6\",circeq:\"\\u2257\",circlearrowleft:\"\\u21BA\",circlearrowright:\"\\u21BB\",circledR:\"\\xAE\",circledS:\"\\u24C8\",circledast:\"\\u229B\",circledcirc:\"\\u229A\",circleddash:\"\\u229D\",cire:\"\\u2257\",cirfnint:\"\\u2A10\",cirmid:\"\\u2AEF\",cirscir:\"\\u29C2\",clubs:\"\\u2663\",clubsuit:\"\\u2663\",colon:\":\",colone:\"\\u2254\",coloneq:\"\\u2254\",comma:\",\",commat:\"@\",comp:\"\\u2201\",compfn:\"\\u2218\",complement:\"\\u2201\",complexes:\"\\u2102\",cong:\"\\u2245\",congdot:\"\\u2A6D\",conint:\"\\u222E\",copf:\"\\u{1D554}\",coprod:\"\\u2210\",cop:\"\\xA9\",copy:\"\\xA9\",copysr:\"\\u2117\",crarr:\"\\u21B5\",cross:\"\\u2717\",cscr:\"\\u{1D4B8}\",csub:\"\\u2ACF\",csube:\"\\u2AD1\",csup:\"\\u2AD0\",csupe:\"\\u2AD2\",ctdot:\"\\u22EF\",cudarrl:\"\\u2938\",cudarrr:\"\\u2935\",cuepr:\"\\u22DE\",cuesc:\"\\u22DF\",cularr:\"\\u21B6\",cularrp:\"\\u293D\",cup:\"\\u222A\",cupbrcap:\"\\u2A48\",cupcap:\"\\u2A46\",cupcup:\"\\u2A4A\",cupdot:\"\\u228D\",cupor:\"\\u2A45\",cups:\"\\u222A\\uFE00\",curarr:\"\\u21B7\",curarrm:\"\\u293C\",curlyeqprec:\"\\u22DE\",curlyeqsucc:\"\\u22DF\",curlyvee:\"\\u22CE\",curlywedge:\"\\u22CF\",curre:\"\\xA4\",curren:\"\\xA4\",curvearrowleft:\"\\u21B6\",curvearrowright:\"\\u21B7\",cuvee:\"\\u22CE\",cuwed:\"\\u22CF\",cwconint:\"\\u2232\",cwint:\"\\u2231\",cylcty:\"\\u232D\",dArr:\"\\u21D3\",dHar:\"\\u2965\",dagger:\"\\u2020\",daleth:\"\\u2138\",darr:\"\\u2193\",dash:\"\\u2010\",dashv:\"\\u22A3\",dbkarow:\"\\u290F\",dblac:\"\\u02DD\",dcaron:\"\\u010F\",dcy:\"\\u0434\",dd:\"\\u2146\",ddagger:\"\\u2021\",ddarr:\"\\u21CA\",ddotseq:\"\\u2A77\",de:\"\\xB0\",deg:\"\\xB0\",delta:\"\\u03B4\",demptyv:\"\\u29B1\",dfisht:\"\\u297F\",dfr:\"\\u{1D521}\",dharl:\"\\u21C3\",dharr:\"\\u21C2\",diam:\"\\u22C4\",diamond:\"\\u22C4\",diamondsuit:\"\\u2666\",diams:\"\\u2666\",die:\"\\xA8\",digamma:\"\\u03DD\",disin:\"\\u22F2\",div:\"\\xF7\",divid:\"\\xF7\",divide:\"\\xF7\",divideontimes:\"\\u22C7\",divonx:\"\\u22C7\",djcy:\"\\u0452\",dlcorn:\"\\u231E\",dlcrop:\"\\u230D\",dollar:\"$\",dopf:\"\\u{1D555}\",dot:\"\\u02D9\",doteq:\"\\u2250\",doteqdot:\"\\u2251\",dotminus:\"\\u2238\",dotplus:\"\\u2214\",dotsquare:\"\\u22A1\",doublebarwedge:\"\\u2306\",downarrow:\"\\u2193\",downdownarrows:\"\\u21CA\",downharpoonleft:\"\\u21C3\",downharpoonright:\"\\u21C2\",drbkarow:\"\\u2910\",drcorn:\"\\u231F\",drcrop:\"\\u230C\",dscr:\"\\u{1D4B9}\",dscy:\"\\u0455\",dsol:\"\\u29F6\",dstrok:\"\\u0111\",dtdot:\"\\u22F1\",dtri:\"\\u25BF\",dtrif:\"\\u25BE\",duarr:\"\\u21F5\",duhar:\"\\u296F\",dwangle:\"\\u29A6\",dzcy:\"\\u045F\",dzigrarr:\"\\u27FF\",eDDot:\"\\u2A77\",eDot:\"\\u2251\",eacut:\"\\xE9\",eacute:\"\\xE9\",easter:\"\\u2A6E\",ecaron:\"\\u011B\",ecir:\"\\xEA\",ecirc:\"\\xEA\",ecolon:\"\\u2255\",ecy:\"\\u044D\",edot:\"\\u0117\",ee:\"\\u2147\",efDot:\"\\u2252\",efr:\"\\u{1D522}\",eg:\"\\u2A9A\",egrav:\"\\xE8\",egrave:\"\\xE8\",egs:\"\\u2A96\",egsdot:\"\\u2A98\",el:\"\\u2A99\",elinters:\"\\u23E7\",ell:\"\\u2113\",els:\"\\u2A95\",elsdot:\"\\u2A97\",emacr:\"\\u0113\",empty:\"\\u2205\",emptyset:\"\\u2205\",emptyv:\"\\u2205\",emsp13:\"\\u2004\",emsp14:\"\\u2005\",emsp:\"\\u2003\",eng:\"\\u014B\",ensp:\"\\u2002\",eogon:\"\\u0119\",eopf:\"\\u{1D556}\",epar:\"\\u22D5\",eparsl:\"\\u29E3\",eplus:\"\\u2A71\",epsi:\"\\u03B5\",epsilon:\"\\u03B5\",epsiv:\"\\u03F5\",eqcirc:\"\\u2256\",eqcolon:\"\\u2255\",eqsim:\"\\u2242\",eqslantgtr:\"\\u2A96\",eqslantless:\"\\u2A95\",equals:\"=\",equest:\"\\u225F\",equiv:\"\\u2261\",equivDD:\"\\u2A78\",eqvparsl:\"\\u29E5\",erDot:\"\\u2253\",erarr:\"\\u2971\",escr:\"\\u212F\",esdot:\"\\u2250\",esim:\"\\u2242\",eta:\"\\u03B7\",et:\"\\xF0\",eth:\"\\xF0\",eum:\"\\xEB\",euml:\"\\xEB\",euro:\"\\u20AC\",excl:\"!\",exist:\"\\u2203\",expectation:\"\\u2130\",exponentiale:\"\\u2147\",fallingdotseq:\"\\u2252\",fcy:\"\\u0444\",female:\"\\u2640\",ffilig:\"\\uFB03\",fflig:\"\\uFB00\",ffllig:\"\\uFB04\",ffr:\"\\u{1D523}\",filig:\"\\uFB01\",fjlig:\"fj\",flat:\"\\u266D\",fllig:\"\\uFB02\",fltns:\"\\u25B1\",fnof:\"\\u0192\",fopf:\"\\u{1D557}\",forall:\"\\u2200\",fork:\"\\u22D4\",forkv:\"\\u2AD9\",fpartint:\"\\u2A0D\",frac1:\"\\xBC\",frac12:\"\\xBD\",frac13:\"\\u2153\",frac14:\"\\xBC\",frac15:\"\\u2155\",frac16:\"\\u2159\",frac18:\"\\u215B\",frac23:\"\\u2154\",frac25:\"\\u2156\",frac3:\"\\xBE\",frac34:\"\\xBE\",frac35:\"\\u2157\",frac38:\"\\u215C\",frac45:\"\\u2158\",frac56:\"\\u215A\",frac58:\"\\u215D\",frac78:\"\\u215E\",frasl:\"\\u2044\",frown:\"\\u2322\",fscr:\"\\u{1D4BB}\",gE:\"\\u2267\",gEl:\"\\u2A8C\",gacute:\"\\u01F5\",gamma:\"\\u03B3\",gammad:\"\\u03DD\",gap:\"\\u2A86\",gbreve:\"\\u011F\",gcirc:\"\\u011D\",gcy:\"\\u0433\",gdot:\"\\u0121\",ge:\"\\u2265\",gel:\"\\u22DB\",geq:\"\\u2265\",geqq:\"\\u2267\",geqslant:\"\\u2A7E\",ges:\"\\u2A7E\",gescc:\"\\u2AA9\",gesdot:\"\\u2A80\",gesdoto:\"\\u2A82\",gesdotol:\"\\u2A84\",gesl:\"\\u22DB\\uFE00\",gesles:\"\\u2A94\",gfr:\"\\u{1D524}\",gg:\"\\u226B\",ggg:\"\\u22D9\",gimel:\"\\u2137\",gjcy:\"\\u0453\",gl:\"\\u2277\",glE:\"\\u2A92\",gla:\"\\u2AA5\",glj:\"\\u2AA4\",gnE:\"\\u2269\",gnap:\"\\u2A8A\",gnapprox:\"\\u2A8A\",gne:\"\\u2A88\",gneq:\"\\u2A88\",gneqq:\"\\u2269\",gnsim:\"\\u22E7\",gopf:\"\\u{1D558}\",grave:\"`\",gscr:\"\\u210A\",gsim:\"\\u2273\",gsime:\"\\u2A8E\",gsiml:\"\\u2A90\",g:\">\",gt:\">\",gtcc:\"\\u2AA7\",gtcir:\"\\u2A7A\",gtdot:\"\\u22D7\",gtlPar:\"\\u2995\",gtquest:\"\\u2A7C\",gtrapprox:\"\\u2A86\",gtrarr:\"\\u2978\",gtrdot:\"\\u22D7\",gtreqless:\"\\u22DB\",gtreqqless:\"\\u2A8C\",gtrless:\"\\u2277\",gtrsim:\"\\u2273\",gvertneqq:\"\\u2269\\uFE00\",gvnE:\"\\u2269\\uFE00\",hArr:\"\\u21D4\",hairsp:\"\\u200A\",half:\"\\xBD\",hamilt:\"\\u210B\",hardcy:\"\\u044A\",harr:\"\\u2194\",harrcir:\"\\u2948\",harrw:\"\\u21AD\",hbar:\"\\u210F\",hcirc:\"\\u0125\",hearts:\"\\u2665\",heartsuit:\"\\u2665\",hellip:\"\\u2026\",hercon:\"\\u22B9\",hfr:\"\\u{1D525}\",hksearow:\"\\u2925\",hkswarow:\"\\u2926\",hoarr:\"\\u21FF\",homtht:\"\\u223B\",hookleftarrow:\"\\u21A9\",hookrightarrow:\"\\u21AA\",hopf:\"\\u{1D559}\",horbar:\"\\u2015\",hscr:\"\\u{1D4BD}\",hslash:\"\\u210F\",hstrok:\"\\u0127\",hybull:\"\\u2043\",hyphen:\"\\u2010\",iacut:\"\\xED\",iacute:\"\\xED\",ic:\"\\u2063\",icir:\"\\xEE\",icirc:\"\\xEE\",icy:\"\\u0438\",iecy:\"\\u0435\",iexc:\"\\xA1\",iexcl:\"\\xA1\",iff:\"\\u21D4\",ifr:\"\\u{1D526}\",igrav:\"\\xEC\",igrave:\"\\xEC\",ii:\"\\u2148\",iiiint:\"\\u2A0C\",iiint:\"\\u222D\",iinfin:\"\\u29DC\",iiota:\"\\u2129\",ijlig:\"\\u0133\",imacr:\"\\u012B\",image:\"\\u2111\",imagline:\"\\u2110\",imagpart:\"\\u2111\",imath:\"\\u0131\",imof:\"\\u22B7\",imped:\"\\u01B5\",in:\"\\u2208\",incare:\"\\u2105\",infin:\"\\u221E\",infintie:\"\\u29DD\",inodot:\"\\u0131\",int:\"\\u222B\",intcal:\"\\u22BA\",integers:\"\\u2124\",intercal:\"\\u22BA\",intlarhk:\"\\u2A17\",intprod:\"\\u2A3C\",iocy:\"\\u0451\",iogon:\"\\u012F\",iopf:\"\\u{1D55A}\",iota:\"\\u03B9\",iprod:\"\\u2A3C\",iques:\"\\xBF\",iquest:\"\\xBF\",iscr:\"\\u{1D4BE}\",isin:\"\\u2208\",isinE:\"\\u22F9\",isindot:\"\\u22F5\",isins:\"\\u22F4\",isinsv:\"\\u22F3\",isinv:\"\\u2208\",it:\"\\u2062\",itilde:\"\\u0129\",iukcy:\"\\u0456\",ium:\"\\xEF\",iuml:\"\\xEF\",jcirc:\"\\u0135\",jcy:\"\\u0439\",jfr:\"\\u{1D527}\",jmath:\"\\u0237\",jopf:\"\\u{1D55B}\",jscr:\"\\u{1D4BF}\",jsercy:\"\\u0458\",jukcy:\"\\u0454\",kappa:\"\\u03BA\",kappav:\"\\u03F0\",kcedil:\"\\u0137\",kcy:\"\\u043A\",kfr:\"\\u{1D528}\",kgreen:\"\\u0138\",khcy:\"\\u0445\",kjcy:\"\\u045C\",kopf:\"\\u{1D55C}\",kscr:\"\\u{1D4C0}\",lAarr:\"\\u21DA\",lArr:\"\\u21D0\",lAtail:\"\\u291B\",lBarr:\"\\u290E\",lE:\"\\u2266\",lEg:\"\\u2A8B\",lHar:\"\\u2962\",lacute:\"\\u013A\",laemptyv:\"\\u29B4\",lagran:\"\\u2112\",lambda:\"\\u03BB\",lang:\"\\u27E8\",langd:\"\\u2991\",langle:\"\\u27E8\",lap:\"\\u2A85\",laqu:\"\\xAB\",laquo:\"\\xAB\",larr:\"\\u2190\",larrb:\"\\u21E4\",larrbfs:\"\\u291F\",larrfs:\"\\u291D\",larrhk:\"\\u21A9\",larrlp:\"\\u21AB\",larrpl:\"\\u2939\",larrsim:\"\\u2973\",larrtl:\"\\u21A2\",lat:\"\\u2AAB\",latail:\"\\u2919\",late:\"\\u2AAD\",lates:\"\\u2AAD\\uFE00\",lbarr:\"\\u290C\",lbbrk:\"\\u2772\",lbrace:\"{\",lbrack:\"[\",lbrke:\"\\u298B\",lbrksld:\"\\u298F\",lbrkslu:\"\\u298D\",lcaron:\"\\u013E\",lcedil:\"\\u013C\",lceil:\"\\u2308\",lcub:\"{\",lcy:\"\\u043B\",ldca:\"\\u2936\",ldquo:\"\\u201C\",ldquor:\"\\u201E\",ldrdhar:\"\\u2967\",ldrushar:\"\\u294B\",ldsh:\"\\u21B2\",le:\"\\u2264\",leftarrow:\"\\u2190\",leftarrowtail:\"\\u21A2\",leftharpoondown:\"\\u21BD\",leftharpoonup:\"\\u21BC\",leftleftarrows:\"\\u21C7\",leftrightarrow:\"\\u2194\",leftrightarrows:\"\\u21C6\",leftrightharpoons:\"\\u21CB\",leftrightsquigarrow:\"\\u21AD\",leftthreetimes:\"\\u22CB\",leg:\"\\u22DA\",leq:\"\\u2264\",leqq:\"\\u2266\",leqslant:\"\\u2A7D\",les:\"\\u2A7D\",lescc:\"\\u2AA8\",lesdot:\"\\u2A7F\",lesdoto:\"\\u2A81\",lesdotor:\"\\u2A83\",lesg:\"\\u22DA\\uFE00\",lesges:\"\\u2A93\",lessapprox:\"\\u2A85\",lessdot:\"\\u22D6\",lesseqgtr:\"\\u22DA\",lesseqqgtr:\"\\u2A8B\",lessgtr:\"\\u2276\",lesssim:\"\\u2272\",lfisht:\"\\u297C\",lfloor:\"\\u230A\",lfr:\"\\u{1D529}\",lg:\"\\u2276\",lgE:\"\\u2A91\",lhard:\"\\u21BD\",lharu:\"\\u21BC\",lharul:\"\\u296A\",lhblk:\"\\u2584\",ljcy:\"\\u0459\",ll:\"\\u226A\",llarr:\"\\u21C7\",llcorner:\"\\u231E\",llhard:\"\\u296B\",lltri:\"\\u25FA\",lmidot:\"\\u0140\",lmoust:\"\\u23B0\",lmoustache:\"\\u23B0\",lnE:\"\\u2268\",lnap:\"\\u2A89\",lnapprox:\"\\u2A89\",lne:\"\\u2A87\",lneq:\"\\u2A87\",lneqq:\"\\u2268\",lnsim:\"\\u22E6\",loang:\"\\u27EC\",loarr:\"\\u21FD\",lobrk:\"\\u27E6\",longleftarrow:\"\\u27F5\",longleftrightarrow:\"\\u27F7\",longmapsto:\"\\u27FC\",longrightarrow:\"\\u27F6\",looparrowleft:\"\\u21AB\",looparrowright:\"\\u21AC\",lopar:\"\\u2985\",lopf:\"\\u{1D55D}\",loplus:\"\\u2A2D\",lotimes:\"\\u2A34\",lowast:\"\\u2217\",lowbar:\"_\",loz:\"\\u25CA\",lozenge:\"\\u25CA\",lozf:\"\\u29EB\",lpar:\"(\",lparlt:\"\\u2993\",lrarr:\"\\u21C6\",lrcorner:\"\\u231F\",lrhar:\"\\u21CB\",lrhard:\"\\u296D\",lrm:\"\\u200E\",lrtri:\"\\u22BF\",lsaquo:\"\\u2039\",lscr:\"\\u{1D4C1}\",lsh:\"\\u21B0\",lsim:\"\\u2272\",lsime:\"\\u2A8D\",lsimg:\"\\u2A8F\",lsqb:\"[\",lsquo:\"\\u2018\",lsquor:\"\\u201A\",lstrok:\"\\u0142\",l:\"<\",lt:\"<\",ltcc:\"\\u2AA6\",ltcir:\"\\u2A79\",ltdot:\"\\u22D6\",lthree:\"\\u22CB\",ltimes:\"\\u22C9\",ltlarr:\"\\u2976\",ltquest:\"\\u2A7B\",ltrPar:\"\\u2996\",ltri:\"\\u25C3\",ltrie:\"\\u22B4\",ltrif:\"\\u25C2\",lurdshar:\"\\u294A\",luruhar:\"\\u2966\",lvertneqq:\"\\u2268\\uFE00\",lvnE:\"\\u2268\\uFE00\",mDDot:\"\\u223A\",mac:\"\\xAF\",macr:\"\\xAF\",male:\"\\u2642\",malt:\"\\u2720\",maltese:\"\\u2720\",map:\"\\u21A6\",mapsto:\"\\u21A6\",mapstodown:\"\\u21A7\",mapstoleft:\"\\u21A4\",mapstoup:\"\\u21A5\",marker:\"\\u25AE\",mcomma:\"\\u2A29\",mcy:\"\\u043C\",mdash:\"\\u2014\",measuredangle:\"\\u2221\",mfr:\"\\u{1D52A}\",mho:\"\\u2127\",micr:\"\\xB5\",micro:\"\\xB5\",mid:\"\\u2223\",midast:\"*\",midcir:\"\\u2AF0\",middo:\"\\xB7\",middot:\"\\xB7\",minus:\"\\u2212\",minusb:\"\\u229F\",minusd:\"\\u2238\",minusdu:\"\\u2A2A\",mlcp:\"\\u2ADB\",mldr:\"\\u2026\",mnplus:\"\\u2213\",models:\"\\u22A7\",mopf:\"\\u{1D55E}\",mp:\"\\u2213\",mscr:\"\\u{1D4C2}\",mstpos:\"\\u223E\",mu:\"\\u03BC\",multimap:\"\\u22B8\",mumap:\"\\u22B8\",nGg:\"\\u22D9\\u0338\",nGt:\"\\u226B\\u20D2\",nGtv:\"\\u226B\\u0338\",nLeftarrow:\"\\u21CD\",nLeftrightarrow:\"\\u21CE\",nLl:\"\\u22D8\\u0338\",nLt:\"\\u226A\\u20D2\",nLtv:\"\\u226A\\u0338\",nRightarrow:\"\\u21CF\",nVDash:\"\\u22AF\",nVdash:\"\\u22AE\",nabla:\"\\u2207\",nacute:\"\\u0144\",nang:\"\\u2220\\u20D2\",nap:\"\\u2249\",napE:\"\\u2A70\\u0338\",napid:\"\\u224B\\u0338\",napos:\"\\u0149\",napprox:\"\\u2249\",natur:\"\\u266E\",natural:\"\\u266E\",naturals:\"\\u2115\",nbs:\"\\xA0\",nbsp:\"\\xA0\",nbump:\"\\u224E\\u0338\",nbumpe:\"\\u224F\\u0338\",ncap:\"\\u2A43\",ncaron:\"\\u0148\",ncedil:\"\\u0146\",ncong:\"\\u2247\",ncongdot:\"\\u2A6D\\u0338\",ncup:\"\\u2A42\",ncy:\"\\u043D\",ndash:\"\\u2013\",ne:\"\\u2260\",neArr:\"\\u21D7\",nearhk:\"\\u2924\",nearr:\"\\u2197\",nearrow:\"\\u2197\",nedot:\"\\u2250\\u0338\",nequiv:\"\\u2262\",nesear:\"\\u2928\",nesim:\"\\u2242\\u0338\",nexist:\"\\u2204\",nexists:\"\\u2204\",nfr:\"\\u{1D52B}\",ngE:\"\\u2267\\u0338\",nge:\"\\u2271\",ngeq:\"\\u2271\",ngeqq:\"\\u2267\\u0338\",ngeqslant:\"\\u2A7E\\u0338\",nges:\"\\u2A7E\\u0338\",ngsim:\"\\u2275\",ngt:\"\\u226F\",ngtr:\"\\u226F\",nhArr:\"\\u21CE\",nharr:\"\\u21AE\",nhpar:\"\\u2AF2\",ni:\"\\u220B\",nis:\"\\u22FC\",nisd:\"\\u22FA\",niv:\"\\u220B\",njcy:\"\\u045A\",nlArr:\"\\u21CD\",nlE:\"\\u2266\\u0338\",nlarr:\"\\u219A\",nldr:\"\\u2025\",nle:\"\\u2270\",nleftarrow:\"\\u219A\",nleftrightarrow:\"\\u21AE\",nleq:\"\\u2270\",nleqq:\"\\u2266\\u0338\",nleqslant:\"\\u2A7D\\u0338\",nles:\"\\u2A7D\\u0338\",nless:\"\\u226E\",nlsim:\"\\u2274\",nlt:\"\\u226E\",nltri:\"\\u22EA\",nltrie:\"\\u22EC\",nmid:\"\\u2224\",nopf:\"\\u{1D55F}\",no:\"\\xAC\",not:\"\\xAC\",notin:\"\\u2209\",notinE:\"\\u22F9\\u0338\",notindot:\"\\u22F5\\u0338\",notinva:\"\\u2209\",notinvb:\"\\u22F7\",notinvc:\"\\u22F6\",notni:\"\\u220C\",notniva:\"\\u220C\",notnivb:\"\\u22FE\",notnivc:\"\\u22FD\",npar:\"\\u2226\",nparallel:\"\\u2226\",nparsl:\"\\u2AFD\\u20E5\",npart:\"\\u2202\\u0338\",npolint:\"\\u2A14\",npr:\"\\u2280\",nprcue:\"\\u22E0\",npre:\"\\u2AAF\\u0338\",nprec:\"\\u2280\",npreceq:\"\\u2AAF\\u0338\",nrArr:\"\\u21CF\",nrarr:\"\\u219B\",nrarrc:\"\\u2933\\u0338\",nrarrw:\"\\u219D\\u0338\",nrightarrow:\"\\u219B\",nrtri:\"\\u22EB\",nrtrie:\"\\u22ED\",nsc:\"\\u2281\",nsccue:\"\\u22E1\",nsce:\"\\u2AB0\\u0338\",nscr:\"\\u{1D4C3}\",nshortmid:\"\\u2224\",nshortparallel:\"\\u2226\",nsim:\"\\u2241\",nsime:\"\\u2244\",nsimeq:\"\\u2244\",nsmid:\"\\u2224\",nspar:\"\\u2226\",nsqsube:\"\\u22E2\",nsqsupe:\"\\u22E3\",nsub:\"\\u2284\",nsubE:\"\\u2AC5\\u0338\",nsube:\"\\u2288\",nsubset:\"\\u2282\\u20D2\",nsubseteq:\"\\u2288\",nsubseteqq:\"\\u2AC5\\u0338\",nsucc:\"\\u2281\",nsucceq:\"\\u2AB0\\u0338\",nsup:\"\\u2285\",nsupE:\"\\u2AC6\\u0338\",nsupe:\"\\u2289\",nsupset:\"\\u2283\\u20D2\",nsupseteq:\"\\u2289\",nsupseteqq:\"\\u2AC6\\u0338\",ntgl:\"\\u2279\",ntild:\"\\xF1\",ntilde:\"\\xF1\",ntlg:\"\\u2278\",ntriangleleft:\"\\u22EA\",ntrianglelefteq:\"\\u22EC\",ntriangleright:\"\\u22EB\",ntrianglerighteq:\"\\u22ED\",nu:\"\\u03BD\",num:\"#\",numero:\"\\u2116\",numsp:\"\\u2007\",nvDash:\"\\u22AD\",nvHarr:\"\\u2904\",nvap:\"\\u224D\\u20D2\",nvdash:\"\\u22AC\",nvge:\"\\u2265\\u20D2\",nvgt:\">\\u20D2\",nvinfin:\"\\u29DE\",nvlArr:\"\\u2902\",nvle:\"\\u2264\\u20D2\",nvlt:\"<\\u20D2\",nvltrie:\"\\u22B4\\u20D2\",nvrArr:\"\\u2903\",nvrtrie:\"\\u22B5\\u20D2\",nvsim:\"\\u223C\\u20D2\",nwArr:\"\\u21D6\",nwarhk:\"\\u2923\",nwarr:\"\\u2196\",nwarrow:\"\\u2196\",nwnear:\"\\u2927\",oS:\"\\u24C8\",oacut:\"\\xF3\",oacute:\"\\xF3\",oast:\"\\u229B\",ocir:\"\\xF4\",ocirc:\"\\xF4\",ocy:\"\\u043E\",odash:\"\\u229D\",odblac:\"\\u0151\",odiv:\"\\u2A38\",odot:\"\\u2299\",odsold:\"\\u29BC\",oelig:\"\\u0153\",ofcir:\"\\u29BF\",ofr:\"\\u{1D52C}\",ogon:\"\\u02DB\",ograv:\"\\xF2\",ograve:\"\\xF2\",ogt:\"\\u29C1\",ohbar:\"\\u29B5\",ohm:\"\\u03A9\",oint:\"\\u222E\",olarr:\"\\u21BA\",olcir:\"\\u29BE\",olcross:\"\\u29BB\",oline:\"\\u203E\",olt:\"\\u29C0\",omacr:\"\\u014D\",omega:\"\\u03C9\",omicron:\"\\u03BF\",omid:\"\\u29B6\",ominus:\"\\u2296\",oopf:\"\\u{1D560}\",opar:\"\\u29B7\",operp:\"\\u29B9\",oplus:\"\\u2295\",or:\"\\u2228\",orarr:\"\\u21BB\",ord:\"\\xBA\",order:\"\\u2134\",orderof:\"\\u2134\",ordf:\"\\xAA\",ordm:\"\\xBA\",origof:\"\\u22B6\",oror:\"\\u2A56\",orslope:\"\\u2A57\",orv:\"\\u2A5B\",oscr:\"\\u2134\",oslas:\"\\xF8\",oslash:\"\\xF8\",osol:\"\\u2298\",otild:\"\\xF5\",otilde:\"\\xF5\",otimes:\"\\u2297\",otimesas:\"\\u2A36\",oum:\"\\xF6\",ouml:\"\\xF6\",ovbar:\"\\u233D\",par:\"\\xB6\",para:\"\\xB6\",parallel:\"\\u2225\",parsim:\"\\u2AF3\",parsl:\"\\u2AFD\",part:\"\\u2202\",pcy:\"\\u043F\",percnt:\"%\",period:\".\",permil:\"\\u2030\",perp:\"\\u22A5\",pertenk:\"\\u2031\",pfr:\"\\u{1D52D}\",phi:\"\\u03C6\",phiv:\"\\u03D5\",phmmat:\"\\u2133\",phone:\"\\u260E\",pi:\"\\u03C0\",pitchfork:\"\\u22D4\",piv:\"\\u03D6\",planck:\"\\u210F\",planckh:\"\\u210E\",plankv:\"\\u210F\",plus:\"+\",plusacir:\"\\u2A23\",plusb:\"\\u229E\",pluscir:\"\\u2A22\",plusdo:\"\\u2214\",plusdu:\"\\u2A25\",pluse:\"\\u2A72\",plusm:\"\\xB1\",plusmn:\"\\xB1\",plussim:\"\\u2A26\",plustwo:\"\\u2A27\",pm:\"\\xB1\",pointint:\"\\u2A15\",popf:\"\\u{1D561}\",poun:\"\\xA3\",pound:\"\\xA3\",pr:\"\\u227A\",prE:\"\\u2AB3\",prap:\"\\u2AB7\",prcue:\"\\u227C\",pre:\"\\u2AAF\",prec:\"\\u227A\",precapprox:\"\\u2AB7\",preccurlyeq:\"\\u227C\",preceq:\"\\u2AAF\",precnapprox:\"\\u2AB9\",precneqq:\"\\u2AB5\",precnsim:\"\\u22E8\",precsim:\"\\u227E\",prime:\"\\u2032\",primes:\"\\u2119\",prnE:\"\\u2AB5\",prnap:\"\\u2AB9\",prnsim:\"\\u22E8\",prod:\"\\u220F\",profalar:\"\\u232E\",profline:\"\\u2312\",profsurf:\"\\u2313\",prop:\"\\u221D\",propto:\"\\u221D\",prsim:\"\\u227E\",prurel:\"\\u22B0\",pscr:\"\\u{1D4C5}\",psi:\"\\u03C8\",puncsp:\"\\u2008\",qfr:\"\\u{1D52E}\",qint:\"\\u2A0C\",qopf:\"\\u{1D562}\",qprime:\"\\u2057\",qscr:\"\\u{1D4C6}\",quaternions:\"\\u210D\",quatint:\"\\u2A16\",quest:\"?\",questeq:\"\\u225F\",quo:'\"',quot:'\"',rAarr:\"\\u21DB\",rArr:\"\\u21D2\",rAtail:\"\\u291C\",rBarr:\"\\u290F\",rHar:\"\\u2964\",race:\"\\u223D\\u0331\",racute:\"\\u0155\",radic:\"\\u221A\",raemptyv:\"\\u29B3\",rang:\"\\u27E9\",rangd:\"\\u2992\",range:\"\\u29A5\",rangle:\"\\u27E9\",raqu:\"\\xBB\",raquo:\"\\xBB\",rarr:\"\\u2192\",rarrap:\"\\u2975\",rarrb:\"\\u21E5\",rarrbfs:\"\\u2920\",rarrc:\"\\u2933\",rarrfs:\"\\u291E\",rarrhk:\"\\u21AA\",rarrlp:\"\\u21AC\",rarrpl:\"\\u2945\",rarrsim:\"\\u2974\",rarrtl:\"\\u21A3\",rarrw:\"\\u219D\",ratail:\"\\u291A\",ratio:\"\\u2236\",rationals:\"\\u211A\",rbarr:\"\\u290D\",rbbrk:\"\\u2773\",rbrace:\"}\",rbrack:\"]\",rbrke:\"\\u298C\",rbrksld:\"\\u298E\",rbrkslu:\"\\u2990\",rcaron:\"\\u0159\",rcedil:\"\\u0157\",rceil:\"\\u2309\",rcub:\"}\",rcy:\"\\u0440\",rdca:\"\\u2937\",rdldhar:\"\\u2969\",rdquo:\"\\u201D\",rdquor:\"\\u201D\",rdsh:\"\\u21B3\",real:\"\\u211C\",realine:\"\\u211B\",realpart:\"\\u211C\",reals:\"\\u211D\",rect:\"\\u25AD\",re:\"\\xAE\",reg:\"\\xAE\",rfisht:\"\\u297D\",rfloor:\"\\u230B\",rfr:\"\\u{1D52F}\",rhard:\"\\u21C1\",rharu:\"\\u21C0\",rharul:\"\\u296C\",rho:\"\\u03C1\",rhov:\"\\u03F1\",rightarrow:\"\\u2192\",rightarrowtail:\"\\u21A3\",rightharpoondown:\"\\u21C1\",rightharpoonup:\"\\u21C0\",rightleftarrows:\"\\u21C4\",rightleftharpoons:\"\\u21CC\",rightrightarrows:\"\\u21C9\",rightsquigarrow:\"\\u219D\",rightthreetimes:\"\\u22CC\",ring:\"\\u02DA\",risingdotseq:\"\\u2253\",rlarr:\"\\u21C4\",rlhar:\"\\u21CC\",rlm:\"\\u200F\",rmoust:\"\\u23B1\",rmoustache:\"\\u23B1\",rnmid:\"\\u2AEE\",roang:\"\\u27ED\",roarr:\"\\u21FE\",robrk:\"\\u27E7\",ropar:\"\\u2986\",ropf:\"\\u{1D563}\",roplus:\"\\u2A2E\",rotimes:\"\\u2A35\",rpar:\")\",rpargt:\"\\u2994\",rppolint:\"\\u2A12\",rrarr:\"\\u21C9\",rsaquo:\"\\u203A\",rscr:\"\\u{1D4C7}\",rsh:\"\\u21B1\",rsqb:\"]\",rsquo:\"\\u2019\",rsquor:\"\\u2019\",rthree:\"\\u22CC\",rtimes:\"\\u22CA\",rtri:\"\\u25B9\",rtrie:\"\\u22B5\",rtrif:\"\\u25B8\",rtriltri:\"\\u29CE\",ruluhar:\"\\u2968\",rx:\"\\u211E\",sacute:\"\\u015B\",sbquo:\"\\u201A\",sc:\"\\u227B\",scE:\"\\u2AB4\",scap:\"\\u2AB8\",scaron:\"\\u0161\",sccue:\"\\u227D\",sce:\"\\u2AB0\",scedil:\"\\u015F\",scirc:\"\\u015D\",scnE:\"\\u2AB6\",scnap:\"\\u2ABA\",scnsim:\"\\u22E9\",scpolint:\"\\u2A13\",scsim:\"\\u227F\",scy:\"\\u0441\",sdot:\"\\u22C5\",sdotb:\"\\u22A1\",sdote:\"\\u2A66\",seArr:\"\\u21D8\",searhk:\"\\u2925\",searr:\"\\u2198\",searrow:\"\\u2198\",sec:\"\\xA7\",sect:\"\\xA7\",semi:\";\",seswar:\"\\u2929\",setminus:\"\\u2216\",setmn:\"\\u2216\",sext:\"\\u2736\",sfr:\"\\u{1D530}\",sfrown:\"\\u2322\",sharp:\"\\u266F\",shchcy:\"\\u0449\",shcy:\"\\u0448\",shortmid:\"\\u2223\",shortparallel:\"\\u2225\",sh:\"\\xAD\",shy:\"\\xAD\",sigma:\"\\u03C3\",sigmaf:\"\\u03C2\",sigmav:\"\\u03C2\",sim:\"\\u223C\",simdot:\"\\u2A6A\",sime:\"\\u2243\",simeq:\"\\u2243\",simg:\"\\u2A9E\",simgE:\"\\u2AA0\",siml:\"\\u2A9D\",simlE:\"\\u2A9F\",simne:\"\\u2246\",simplus:\"\\u2A24\",simrarr:\"\\u2972\",slarr:\"\\u2190\",smallsetminus:\"\\u2216\",smashp:\"\\u2A33\",smeparsl:\"\\u29E4\",smid:\"\\u2223\",smile:\"\\u2323\",smt:\"\\u2AAA\",smte:\"\\u2AAC\",smtes:\"\\u2AAC\\uFE00\",softcy:\"\\u044C\",sol:\"/\",solb:\"\\u29C4\",solbar:\"\\u233F\",sopf:\"\\u{1D564}\",spades:\"\\u2660\",spadesuit:\"\\u2660\",spar:\"\\u2225\",sqcap:\"\\u2293\",sqcaps:\"\\u2293\\uFE00\",sqcup:\"\\u2294\",sqcups:\"\\u2294\\uFE00\",sqsub:\"\\u228F\",sqsube:\"\\u2291\",sqsubset:\"\\u228F\",sqsubseteq:\"\\u2291\",sqsup:\"\\u2290\",sqsupe:\"\\u2292\",sqsupset:\"\\u2290\",sqsupseteq:\"\\u2292\",squ:\"\\u25A1\",square:\"\\u25A1\",squarf:\"\\u25AA\",squf:\"\\u25AA\",srarr:\"\\u2192\",sscr:\"\\u{1D4C8}\",ssetmn:\"\\u2216\",ssmile:\"\\u2323\",sstarf:\"\\u22C6\",star:\"\\u2606\",starf:\"\\u2605\",straightepsilon:\"\\u03F5\",straightphi:\"\\u03D5\",strns:\"\\xAF\",sub:\"\\u2282\",subE:\"\\u2AC5\",subdot:\"\\u2ABD\",sube:\"\\u2286\",subedot:\"\\u2AC3\",submult:\"\\u2AC1\",subnE:\"\\u2ACB\",subne:\"\\u228A\",subplus:\"\\u2ABF\",subrarr:\"\\u2979\",subset:\"\\u2282\",subseteq:\"\\u2286\",subseteqq:\"\\u2AC5\",subsetneq:\"\\u228A\",subsetneqq:\"\\u2ACB\",subsim:\"\\u2AC7\",subsub:\"\\u2AD5\",subsup:\"\\u2AD3\",succ:\"\\u227B\",succapprox:\"\\u2AB8\",succcurlyeq:\"\\u227D\",succeq:\"\\u2AB0\",succnapprox:\"\\u2ABA\",succneqq:\"\\u2AB6\",succnsim:\"\\u22E9\",succsim:\"\\u227F\",sum:\"\\u2211\",sung:\"\\u266A\",sup:\"\\u2283\",sup1:\"\\xB9\",sup2:\"\\xB2\",sup3:\"\\xB3\",supE:\"\\u2AC6\",supdot:\"\\u2ABE\",supdsub:\"\\u2AD8\",supe:\"\\u2287\",supedot:\"\\u2AC4\",suphsol:\"\\u27C9\",suphsub:\"\\u2AD7\",suplarr:\"\\u297B\",supmult:\"\\u2AC2\",supnE:\"\\u2ACC\",supne:\"\\u228B\",supplus:\"\\u2AC0\",supset:\"\\u2283\",supseteq:\"\\u2287\",supseteqq:\"\\u2AC6\",supsetneq:\"\\u228B\",supsetneqq:\"\\u2ACC\",supsim:\"\\u2AC8\",supsub:\"\\u2AD4\",supsup:\"\\u2AD6\",swArr:\"\\u21D9\",swarhk:\"\\u2926\",swarr:\"\\u2199\",swarrow:\"\\u2199\",swnwar:\"\\u292A\",szli:\"\\xDF\",szlig:\"\\xDF\",target:\"\\u2316\",tau:\"\\u03C4\",tbrk:\"\\u23B4\",tcaron:\"\\u0165\",tcedil:\"\\u0163\",tcy:\"\\u0442\",tdot:\"\\u20DB\",telrec:\"\\u2315\",tfr:\"\\u{1D531}\",there4:\"\\u2234\",therefore:\"\\u2234\",theta:\"\\u03B8\",thetasym:\"\\u03D1\",thetav:\"\\u03D1\",thickapprox:\"\\u2248\",thicksim:\"\\u223C\",thinsp:\"\\u2009\",thkap:\"\\u2248\",thksim:\"\\u223C\",thor:\"\\xFE\",thorn:\"\\xFE\",tilde:\"\\u02DC\",time:\"\\xD7\",times:\"\\xD7\",timesb:\"\\u22A0\",timesbar:\"\\u2A31\",timesd:\"\\u2A30\",tint:\"\\u222D\",toea:\"\\u2928\",top:\"\\u22A4\",topbot:\"\\u2336\",topcir:\"\\u2AF1\",topf:\"\\u{1D565}\",topfork:\"\\u2ADA\",tosa:\"\\u2929\",tprime:\"\\u2034\",trade:\"\\u2122\",triangle:\"\\u25B5\",triangledown:\"\\u25BF\",triangleleft:\"\\u25C3\",trianglelefteq:\"\\u22B4\",triangleq:\"\\u225C\",triangleright:\"\\u25B9\",trianglerighteq:\"\\u22B5\",tridot:\"\\u25EC\",trie:\"\\u225C\",triminus:\"\\u2A3A\",triplus:\"\\u2A39\",trisb:\"\\u29CD\",tritime:\"\\u2A3B\",trpezium:\"\\u23E2\",tscr:\"\\u{1D4C9}\",tscy:\"\\u0446\",tshcy:\"\\u045B\",tstrok:\"\\u0167\",twixt:\"\\u226C\",twoheadleftarrow:\"\\u219E\",twoheadrightarrow:\"\\u21A0\",uArr:\"\\u21D1\",uHar:\"\\u2963\",uacut:\"\\xFA\",uacute:\"\\xFA\",uarr:\"\\u2191\",ubrcy:\"\\u045E\",ubreve:\"\\u016D\",ucir:\"\\xFB\",ucirc:\"\\xFB\",ucy:\"\\u0443\",udarr:\"\\u21C5\",udblac:\"\\u0171\",udhar:\"\\u296E\",ufisht:\"\\u297E\",ufr:\"\\u{1D532}\",ugrav:\"\\xF9\",ugrave:\"\\xF9\",uharl:\"\\u21BF\",uharr:\"\\u21BE\",uhblk:\"\\u2580\",ulcorn:\"\\u231C\",ulcorner:\"\\u231C\",ulcrop:\"\\u230F\",ultri:\"\\u25F8\",umacr:\"\\u016B\",um:\"\\xA8\",uml:\"\\xA8\",uogon:\"\\u0173\",uopf:\"\\u{1D566}\",uparrow:\"\\u2191\",updownarrow:\"\\u2195\",upharpoonleft:\"\\u21BF\",upharpoonright:\"\\u21BE\",uplus:\"\\u228E\",upsi:\"\\u03C5\",upsih:\"\\u03D2\",upsilon:\"\\u03C5\",upuparrows:\"\\u21C8\",urcorn:\"\\u231D\",urcorner:\"\\u231D\",urcrop:\"\\u230E\",uring:\"\\u016F\",urtri:\"\\u25F9\",uscr:\"\\u{1D4CA}\",utdot:\"\\u22F0\",utilde:\"\\u0169\",utri:\"\\u25B5\",utrif:\"\\u25B4\",uuarr:\"\\u21C8\",uum:\"\\xFC\",uuml:\"\\xFC\",uwangle:\"\\u29A7\",vArr:\"\\u21D5\",vBar:\"\\u2AE8\",vBarv:\"\\u2AE9\",vDash:\"\\u22A8\",vangrt:\"\\u299C\",varepsilon:\"\\u03F5\",varkappa:\"\\u03F0\",varnothing:\"\\u2205\",varphi:\"\\u03D5\",varpi:\"\\u03D6\",varpropto:\"\\u221D\",varr:\"\\u2195\",varrho:\"\\u03F1\",varsigma:\"\\u03C2\",varsubsetneq:\"\\u228A\\uFE00\",varsubsetneqq:\"\\u2ACB\\uFE00\",varsupsetneq:\"\\u228B\\uFE00\",varsupsetneqq:\"\\u2ACC\\uFE00\",vartheta:\"\\u03D1\",vartriangleleft:\"\\u22B2\",vartriangleright:\"\\u22B3\",vcy:\"\\u0432\",vdash:\"\\u22A2\",vee:\"\\u2228\",veebar:\"\\u22BB\",veeeq:\"\\u225A\",vellip:\"\\u22EE\",verbar:\"|\",vert:\"|\",vfr:\"\\u{1D533}\",vltri:\"\\u22B2\",vnsub:\"\\u2282\\u20D2\",vnsup:\"\\u2283\\u20D2\",vopf:\"\\u{1D567}\",vprop:\"\\u221D\",vrtri:\"\\u22B3\",vscr:\"\\u{1D4CB}\",vsubnE:\"\\u2ACB\\uFE00\",vsubne:\"\\u228A\\uFE00\",vsupnE:\"\\u2ACC\\uFE00\",vsupne:\"\\u228B\\uFE00\",vzigzag:\"\\u299A\",wcirc:\"\\u0175\",wedbar:\"\\u2A5F\",wedge:\"\\u2227\",wedgeq:\"\\u2259\",weierp:\"\\u2118\",wfr:\"\\u{1D534}\",wopf:\"\\u{1D568}\",wp:\"\\u2118\",wr:\"\\u2240\",wreath:\"\\u2240\",wscr:\"\\u{1D4CC}\",xcap:\"\\u22C2\",xcirc:\"\\u25EF\",xcup:\"\\u22C3\",xdtri:\"\\u25BD\",xfr:\"\\u{1D535}\",xhArr:\"\\u27FA\",xharr:\"\\u27F7\",xi:\"\\u03BE\",xlArr:\"\\u27F8\",xlarr:\"\\u27F5\",xmap:\"\\u27FC\",xnis:\"\\u22FB\",xodot:\"\\u2A00\",xopf:\"\\u{1D569}\",xoplus:\"\\u2A01\",xotime:\"\\u2A02\",xrArr:\"\\u27F9\",xrarr:\"\\u27F6\",xscr:\"\\u{1D4CD}\",xsqcup:\"\\u2A06\",xuplus:\"\\u2A04\",xutri:\"\\u25B3\",xvee:\"\\u22C1\",xwedge:\"\\u22C0\",yacut:\"\\xFD\",yacute:\"\\xFD\",yacy:\"\\u044F\",ycirc:\"\\u0177\",ycy:\"\\u044B\",ye:\"\\xA5\",yen:\"\\xA5\",yfr:\"\\u{1D536}\",yicy:\"\\u0457\",yopf:\"\\u{1D56A}\",yscr:\"\\u{1D4CE}\",yucy:\"\\u044E\",yum:\"\\xFF\",yuml:\"\\xFF\",zacute:\"\\u017A\",zcaron:\"\\u017E\",zcy:\"\\u0437\",zdot:\"\\u017C\",zeetrf:\"\\u2128\",zeta:\"\\u03B6\",zfr:\"\\u{1D537}\",zhcy:\"\\u0436\",zigrarr:\"\\u21DD\",zopf:\"\\u{1D56B}\",zscr:\"\\u{1D4CF}\",zwj:\"\\u200D\",zwnj:\"\\u200C\"},mA=function(b0){return!!v5.call(FT,b0)&&FT[b0]},v5={}.hasOwnProperty,KA=function(b0,z0){var U1,Bx,pe={};z0||(z0={});for(Bx in e5)U1=z0[Bx],pe[Bx]=U1==null?e5[Bx]:U1;return(pe.position.indent||pe.position.start)&&(pe.indent=pe.position.indent||[],pe.position=pe.position.start),function(ne,Te){var ir,hn,sn,Mr,ai,li,Hr,uo,fi,Fs,$a,Ys,ru,js,Yu,wc,au,nu,kc,hc=Te.additional,k2=Te.nonTerminated,KD=Te.text,oS=Te.reference,Iu=Te.warning,J2=Te.textContext,Nc=Te.referenceContext,Yd=Te.warningContext,H2=Te.position,Xp=Te.indent||[],wS=ne.length,Yp=0,Vm=-1,So=H2.column||1,cT=H2.line||1,Dh=\"\",D2=[];for(typeof hc==\"string\"&&(hc=hc.charCodeAt(0)),wc=Bd(),uo=Iu?pf:x5,Yp--,wS++;++Yp<wS;)if(ai===10&&(So=Xp[Vm]||1),(ai=ne.charCodeAt(Yp))===38){if((Hr=ne.charCodeAt(Yp+1))===9||Hr===10||Hr===12||Hr===32||Hr===38||Hr===60||Hr!=Hr||hc&&Hr===hc){Dh+=p4(ai),So++;continue}for(Ys=ru=Yp+1,kc=ru,Hr===35?(kc=++Ys,(Hr=ne.charCodeAt(kc))===88||Hr===120?(js=_6,kc=++Ys):js=q6):js=jT,ir=\"\",$a=\"\",Mr=\"\",Yu=eg[js],kc--;++kc<wS&&Yu(Hr=ne.charCodeAt(kc));)Mr+=p4(Hr),js===jT&&vw.call(W6,Mr)&&(ir=Mr,$a=W6[Mr]);(sn=ne.charCodeAt(kc)===59)&&(kc++,(hn=js===jT&&mA(Mr))&&(ir=Mr,$a=hn)),nu=1+kc-ru,(sn||k2)&&(Mr?js===jT?(sn&&!$a?uo(5,1):(ir!==Mr&&(nu=1+(kc=Ys+ir.length)-Ys,sn=!1),sn||(fi=ir?1:3,Te.attribute?(Hr=ne.charCodeAt(kc))===61?(uo(fi,nu),$a=null):CF(Hr)?$a=null:uo(fi,nu):uo(fi,nu))),li=$a):(sn||uo(2,nu),J6(li=parseInt(Mr,JS[js]))?(uo(7,nu),li=p4(65533)):li in D5?(uo(6,nu),li=D5[li]):(Fs=\"\",cm(li)&&uo(6,nu),li>65535&&(Fs+=p4((li-=65536)>>>10|55296),li=56320|1023&li),li=Fs+p4(li))):js!==jT&&uo(4,nu)),li?(ld(),wc=Bd(),Yp=kc-1,So+=kc-ru+1,D2.push(li),(au=Bd()).offset++,oS&&oS.call(Nc,li,{start:wc,end:au},ne.slice(ru-1,kc)),wc=au):(Mr=ne.slice(ru-1,kc),Dh+=Mr,So+=Mr.length,Yp=kc-1)}else ai===10&&(cT++,Vm++,So=0),ai==ai?(Dh+=p4(ai),So++):ld();return D2.join(\"\");function Bd(){return{line:cT,column:So,offset:Yp+(H2.offset||0)}}function pf(Uc,lP){var Cw=Bd();Cw.column+=lP,Cw.offset+=lP,Iu.call(Yd,L8[Uc],Cw,Uc)}function ld(){Dh&&(D2.push(Dh),KD&&KD.call(J2,Dh,{start:wc,end:Bd()}),Dh=\"\")}}(b0,pe)},vw={}.hasOwnProperty,p4=String.fromCharCode,x5=Function.prototype,e5={warning:null,reference:null,text:null,warningContext:null,referenceContext:null,textContext:null,position:{},additional:null,attribute:!1,nonTerminated:!0},jT=\"named\",_6=\"hexadecimal\",q6=\"decimal\",JS={hexadecimal:16,decimal:10},eg={};eg.named=CF,eg[q6]=$A,eg[_6]=J4;var L8={};function J6(b0){return b0>=55296&&b0<=57343||b0>1114111}function cm(b0){return b0>=1&&b0<=8||b0===11||b0>=13&&b0<=31||b0>=127&&b0<=159||b0>=64976&&b0<=65007||(65535&b0)==65535||(65535&b0)==65534}L8[1]=\"Named character references must be terminated by a semicolon\",L8[2]=\"Numeric character references must be terminated by a semicolon\",L8[3]=\"Named character references cannot be empty\",L8[4]=\"Numeric character references cannot be empty\",L8[5]=\"Named character references must be known\",L8[6]=\"Numeric character references cannot be disallowed\",L8[7]=\"Numeric character references cannot be outside the permissible Unicode range\";var l8=function(b0){return U1.raw=Bx,U1;function z0(ne){for(var Te=b0.offset,ir=ne.line,hn=[];++ir&&ir in Te;)hn.push((Te[ir]||0)+1);return{start:ne,indent:hn}}function U1(ne,Te,ir){KA(ne,{position:z0(Te),warning:pe,text:ir,reference:ir,textContext:b0,referenceContext:b0})}function Bx(ne,Te,ir){return KA(ne,c(ir,{position:z0(Te),warning:pe}))}function pe(ne,Te,ir){ir!==3&&b0.file.message(ne,Te)}},S6=function(b0){return function(z0,U1){var Bx,pe,ne,Te,ir,hn=this,sn=hn.offset,Mr=[],ai=hn[b0+\"Methods\"],li=hn[b0+\"Tokenizers\"],Hr=U1.line,uo=U1.column;if(!z0)return Mr;for(wc.now=$a,wc.file=hn.file,fi(\"\");z0;){for(Bx=-1,pe=ai.length,Te=!1;++Bx<pe&&(!(ne=li[ai[Bx]])||ne.onlyAtStart&&!hn.atStart||ne.notInList&&hn.inList||ne.notInBlock&&hn.inBlock||ne.notInLink&&hn.inLink||(ir=z0.length,ne.apply(hn,[wc,z0]),!(Te=ir!==z0.length))););Te||hn.file.fail(new Error(\"Infinite loop\"),wc.now())}return hn.eof=$a(),Mr;function fi(au){for(var nu=-1,kc=au.indexOf(`\n`);kc!==-1;)Hr++,nu=kc,kc=au.indexOf(`\n`,kc+1);nu===-1?uo+=au.length:uo=au.length-nu,Hr in sn&&(nu!==-1?uo+=sn[Hr]:uo<=sn[Hr]&&(uo=sn[Hr]+1))}function Fs(){var au=[],nu=Hr+1;return function(){for(var kc=Hr+1;nu<kc;)au.push((sn[nu]||0)+1),nu++;return au}}function $a(){var au={line:Hr,column:uo};return au.offset=hn.toOffset(au),au}function Ys(au){this.start=au,this.end=$a()}function ru(au){z0.slice(0,au.length)!==au&&hn.file.fail(new Error(\"Incorrectly eaten value: please report this warning on https://git.io/vg5Ft\"),$a())}function js(){var au=$a();return nu;function nu(kc,hc){var k2=kc.position,KD=k2?k2.start:au,oS=[],Iu=k2&&k2.end.line,J2=au.line;if(kc.position=new Ys(KD),k2&&hc&&k2.indent){if(oS=k2.indent,Iu<J2){for(;++Iu<J2;)oS.push((sn[Iu]||0)+1);oS.push(au.column)}hc=oS.concat(hc)}return kc.position.indent=hc||[],kc}}function Yu(au,nu){var kc=nu?nu.children:Mr,hc=kc[kc.length-1];return hc&&au.type===hc.type&&(au.type===\"text\"||au.type===\"blockquote\")&&Pg(hc)&&Pg(au)&&(au=(au.type===\"text\"?Py:F6).call(hn,hc,au)),au!==hc&&kc.push(au),hn.atStart&&Mr.length!==0&&hn.exitStart(),au}function wc(au){var nu=Fs(),kc=js(),hc=$a();return ru(au),k2.reset=KD,KD.test=oS,k2.test=oS,z0=z0.slice(au.length),fi(au),nu=nu(),k2;function k2(Iu,J2){return kc(Yu(kc(Iu),J2),nu)}function KD(){var Iu=k2.apply(null,arguments);return Hr=hc.line,uo=hc.column,z0=au+z0,Iu}function oS(){var Iu=kc({});return Hr=hc.line,uo=hc.column,z0=au+z0,Iu.position}}}};function Pg(b0){var z0,U1;return b0.type!==\"text\"||!b0.position||(z0=b0.position.start,U1=b0.position.end,z0.line!==U1.line||U1.column-z0.column===b0.value.length)}function Py(b0,z0){return b0.value+=z0.value,b0}function F6(b0,z0){return this.options.commonmark||this.options.gfm?z0:(b0.children=b0.children.concat(z0.children),b0)}var tg=H6,u3=[\"\\\\\",\"`\",\"*\",\"{\",\"}\",\"[\",\"]\",\"(\",\")\",\"#\",\"+\",\"-\",\".\",\"!\",\"_\",\">\"],iT=u3.concat([\"~\",\"|\"]),HS=iT.concat([`\n`,'\"',\"$\",\"%\",\"&\",\"'\",\",\",\"/\",\":\",\";\",\"<\",\"=\",\"?\",\"@\",\"^\"]);function H6(b0){var z0=b0||{};return z0.commonmark?HS:z0.gfm?iT:u3}H6.default=u3,H6.gfm=iT,H6.commonmark=HS;var j5={position:!0,gfm:!0,commonmark:!1,pedantic:!1,blocks:[\"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\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"head\",\"header\",\"hgroup\",\"hr\",\"html\",\"iframe\",\"legend\",\"li\",\"link\",\"main\",\"menu\",\"menuitem\",\"meta\",\"nav\",\"noframes\",\"ol\",\"optgroup\",\"option\",\"p\",\"param\",\"pre\",\"section\",\"source\",\"title\",\"summary\",\"table\",\"tbody\",\"td\",\"tfoot\",\"th\",\"thead\",\"title\",\"tr\",\"track\",\"ul\"]},t5=function(b0){var z0,U1,Bx=this,pe=Bx.options;if(b0==null)b0={};else{if(typeof b0!=\"object\")throw new Error(\"Invalid value `\"+b0+\"` for setting `options`\");b0=c(b0)}for(z0 in j5){if((U1=b0[z0])==null&&(U1=pe[z0]),z0!==\"blocks\"&&typeof U1!=\"boolean\"||z0===\"blocks\"&&typeof U1!=\"object\")throw new Error(\"Invalid value `\"+U1+\"` for setting `options.\"+z0+\"`\");b0[z0]=U1}return Bx.options=b0,Bx.escape=tg(b0),Bx},bw=U5;function U5(b0){if(b0==null)return d4;if(typeof b0==\"string\")return function(z0){return U1;function U1(Bx){return Boolean(Bx&&Bx.type===z0)}}(b0);if(typeof b0==\"object\")return\"length\"in b0?function(z0){for(var U1=[],Bx=-1;++Bx<z0.length;)U1[Bx]=U5(z0[Bx]);return pe;function pe(){for(var ne=-1;++ne<U1.length;)if(U1[ne].apply(this,arguments))return!0;return!1}}(b0):function(z0){return U1;function U1(Bx){var pe;for(pe in z0)if(Bx[pe]!==z0[pe])return!1;return!0}}(b0);if(typeof b0==\"function\")return b0;throw new Error(\"Expected function, string, or object as test\")}function d4(){return!0}var pF=function(b0){return\"\u001b[33m\"+b0+\"\u001b[39m\"},EF=Lu,A6=!0,r5=\"skip\",m4=!1;function Lu(b0,z0,U1,Bx){var pe,ne;typeof z0==\"function\"&&typeof U1!=\"function\"&&(Bx=U1,U1=z0,z0=null),ne=bw(z0),pe=Bx?-1:1,function Te(ir,hn,sn){var Mr,ai=typeof ir==\"object\"&&ir!==null?ir:{};return typeof ai.type==\"string\"&&(Mr=typeof ai.tagName==\"string\"?ai.tagName:typeof ai.name==\"string\"?ai.name:void 0,li.displayName=\"node (\"+pF(ai.type+(Mr?\"<\"+Mr+\">\":\"\"))+\")\"),li;function li(){var Hr,uo,fi=sn.concat(ir),Fs=[];if((!z0||ne(ir,hn,sn[sn.length-1]||null))&&(Fs=function($a){return $a!==null&&typeof $a==\"object\"&&\"length\"in $a?$a:typeof $a==\"number\"?[A6,$a]:[$a]}(U1(ir,sn)))[0]===m4)return Fs;if(ir.children&&Fs[0]!==r5)for(uo=(Bx?ir.children.length:-1)+pe;uo>-1&&uo<ir.children.length;){if((Hr=Te(ir.children[uo],uo,fi)())[0]===m4)return Hr;uo=typeof Hr[1]==\"number\"?Hr[1]:uo+pe}return Fs}}(b0,null,[])()}Lu.CONTINUE=!0,Lu.SKIP=r5,Lu.EXIT=m4;var Ig=I4,hA=EF.CONTINUE,RS=EF.SKIP,H4=EF.EXIT;function I4(b0,z0,U1,Bx){typeof z0==\"function\"&&typeof U1!=\"function\"&&(Bx=U1,U1=z0,z0=null),EF(b0,z0,function(pe,ne){var Te=ne[ne.length-1],ir=Te?Te.children.indexOf(pe):null;return U1(pe,ir,Te)},Bx)}I4.CONTINUE=hA,I4.SKIP=RS,I4.EXIT=H4;var GS=function(b0,z0){return Ig(b0,z0?SS:rS),b0};function SS(b0){delete b0.position}function rS(b0){b0.position=void 0}var T6=function(){var b0,z0=this,U1=String(z0.file),Bx={line:1,column:1,offset:0},pe=c(Bx);return(U1=U1.replace(dS,`\n`)).charCodeAt(0)===65279&&(U1=U1.slice(1),pe.column++,pe.offset++),b0={type:\"root\",children:z0.tokenizeBlock(U1,pe),position:{start:Bx,end:z0.eof||c(Bx)}},z0.options.position||GS(b0,!0),b0},dS=/\\r\\n|\\r/g,w6=/^[ \\t]*(\\n|$)/,vb=function(b0,z0,U1){for(var Bx,pe=\"\",ne=0,Te=z0.length;ne<Te&&(Bx=w6.exec(z0.slice(ne)))!=null;)ne+=Bx[0].length,pe+=Bx[0];if(pe!==\"\"){if(U1)return!0;b0(pe)}},Rh,Wf=\"\",Fp=function(b0,z0){if(typeof b0!=\"string\")throw new TypeError(\"expected a string\");if(z0===1)return b0;if(z0===2)return b0+b0;var U1=b0.length*z0;if(Rh!==b0||Rh===void 0)Rh=b0,Wf=\"\";else if(Wf.length>=U1)return Wf.substr(0,U1);for(;U1>Wf.length&&z0>1;)1&z0&&(Wf+=b0),z0>>=1,b0+=b0;return Wf=(Wf+=b0).substr(0,U1)},ZC=function(b0){return String(b0).replace(/\\n+$/,\"\")},zA=function(b0,z0,U1){for(var Bx,pe,ne,Te=-1,ir=z0.length,hn=\"\",sn=\"\",Mr=\"\",ai=\"\";++Te<ir;)if(Bx=z0.charAt(Te),ne)if(ne=!1,hn+=Mr,sn+=ai,Mr=\"\",ai=\"\",Bx===`\n`)Mr=Bx,ai=Bx;else for(hn+=Bx,sn+=Bx;++Te<ir;){if(!(Bx=z0.charAt(Te))||Bx===`\n`){ai=Bx,Mr=Bx;break}hn+=Bx,sn+=Bx}else if(Bx===\" \"&&z0.charAt(Te+1)===Bx&&z0.charAt(Te+2)===Bx&&z0.charAt(Te+3)===Bx)Mr+=zF,Te+=3,ne=!0;else if(Bx===\"\t\")Mr+=Bx,ne=!0;else{for(pe=\"\";Bx===\"\t\"||Bx===\" \";)pe+=Bx,Bx=z0.charAt(++Te);if(Bx!==`\n`)break;Mr+=pe+Bx,ai+=Bx}if(sn)return!!U1||b0(hn)({type:\"code\",lang:null,meta:null,value:ZC(sn)})},zF=Fp(\" \",4),WF=function(b0,z0,U1){var Bx,pe,ne,Te,ir,hn,sn,Mr,ai,li,Hr,uo,fi,Fs=this,$a=Fs.options.gfm,Ys=z0.length+1,ru=0,js=\"\";if(!!$a){for(;ru<Ys&&((ne=z0.charAt(ru))===r6||ne===xE);)js+=ne,ru++;if(uo=ru,!((ne=z0.charAt(ru))!==\"~\"&&ne!==\"`\")){for(ru++,pe=ne,Bx=1,js+=ne;ru<Ys&&(ne=z0.charAt(ru))===pe;)js+=ne,Bx++,ru++;if(!(Bx<3)){for(;ru<Ys&&((ne=z0.charAt(ru))===r6||ne===xE);)js+=ne,ru++;for(Te=\"\",sn=\"\";ru<Ys&&(ne=z0.charAt(ru))!==l_&&(pe!==\"`\"||ne!==pe);)ne===r6||ne===xE?sn+=ne:(Te+=sn+ne,sn=\"\"),ru++;if(!((ne=z0.charAt(ru))&&ne!==l_)){if(U1)return!0;(fi=b0.now()).column+=js.length,fi.offset+=js.length,js+=Te,Te=Fs.decode.raw(Fs.unescape(Te),fi),sn&&(js+=sn),sn=\"\",li=\"\",Hr=\"\",Mr=\"\",ai=\"\";for(var Yu=!0;ru<Ys;)if(ne=z0.charAt(ru),Mr+=li,ai+=Hr,li=\"\",Hr=\"\",ne===l_){for(Yu?(js+=ne,Yu=!1):(li+=ne,Hr+=ne),sn=\"\",ru++;ru<Ys&&(ne=z0.charAt(ru))===r6;)sn+=ne,ru++;if(li+=sn,Hr+=sn.slice(uo),!(sn.length>=4)){for(sn=\"\";ru<Ys&&(ne=z0.charAt(ru))===pe;)sn+=ne,ru++;if(li+=sn,Hr+=sn,!(sn.length<Bx)){for(sn=\"\";ru<Ys&&((ne=z0.charAt(ru))===r6||ne===xE);)li+=ne,Hr+=ne,ru++;if(!ne||ne===l_)break}}}else Mr+=ne,Hr+=ne,ru++;for(js+=Mr+li,ru=-1,Ys=Te.length;++ru<Ys;)if((ne=Te.charAt(ru))===r6||ne===xE)ir||(ir=Te.slice(0,ru));else if(ir){hn=Te.slice(ru);break}return b0(js)({type:\"code\",lang:ir||Te||null,meta:hn||null,value:ai})}}}}},l_=`\n`,xE=\"\t\",r6=\" \",M8=s0(function(b0,z0){(z0=b0.exports=function(U1){return U1.replace(/^\\s*|\\s*$/g,\"\")}).left=function(U1){return U1.replace(/^\\s*/,\"\")},z0.right=function(U1){return U1.replace(/\\s*$/,\"\")}}),KE=function(b0,z0,U1,Bx){for(var pe,ne,Te=b0.length,ir=-1;++ir<Te;)if(pe=b0[ir],((ne=pe[1]||{}).pedantic===void 0||ne.pedantic===U1.options.pedantic)&&(ne.commonmark===void 0||ne.commonmark===U1.options.commonmark)&&z0[pe[0]].apply(U1,Bx))return!0;return!1},lm=function(b0,z0,U1){for(var Bx,pe,ne,Te,ir,hn,sn,Mr,ai,li=this,Hr=li.offset,uo=li.blockTokenizers,fi=li.interruptBlockquote,Fs=b0.now(),$a=Fs.line,Ys=z0.length,ru=[],js=[],Yu=[],wc=0;wc<Ys&&((pe=z0.charAt(wc))===\" \"||pe===\"\t\");)wc++;if(z0.charAt(wc)===\">\"){if(U1)return!0;for(wc=0;wc<Ys;){for(Te=z0.indexOf(`\n`,wc),sn=wc,Mr=!1,Te===-1&&(Te=Ys);wc<Ys&&((pe=z0.charAt(wc))===\" \"||pe===\"\t\");)wc++;if(z0.charAt(wc)===\">\"?(wc++,Mr=!0,z0.charAt(wc)===\" \"&&wc++):wc=sn,ir=z0.slice(wc,Te),!Mr&&!M8(ir)){wc=sn;break}if(!Mr&&(ne=z0.slice(wc),KE(fi,uo,li,[b0,ne,!0])))break;hn=sn===wc?ir:z0.slice(sn,Te),Yu.push(wc-sn),ru.push(hn),js.push(ir),wc=Te+1}for(wc=-1,Ys=Yu.length,Bx=b0(ru.join(`\n`));++wc<Ys;)Hr[$a]=(Hr[$a]||0)+Yu[wc],$a++;return ai=li.enterBlock(),js=li.tokenizeBlock(js.join(`\n`),Fs),ai(),Bx({type:\"blockquote\",children:js})}},mS=function(b0,z0,U1){for(var Bx,pe,ne,Te=this.options.pedantic,ir=z0.length+1,hn=-1,sn=b0.now(),Mr=\"\",ai=\"\";++hn<ir;){if((Bx=z0.charAt(hn))!==h4&&Bx!==aT){hn--;break}Mr+=Bx}for(ne=0;++hn<=ir;){if((Bx=z0.charAt(hn))!==G4){hn--;break}Mr+=Bx,ne++}if(!(ne>6)&&!(!ne||!Te&&z0.charAt(hn+1)===G4)){for(ir=z0.length+1,pe=\"\";++hn<ir;){if((Bx=z0.charAt(hn))!==h4&&Bx!==aT){hn--;break}pe+=Bx}if(!(!Te&&pe.length===0&&Bx&&Bx!==`\n`)){if(U1)return!0;for(Mr+=pe,pe=\"\",ai=\"\";++hn<ir&&(Bx=z0.charAt(hn))&&Bx!==`\n`;)if(Bx===h4||Bx===aT||Bx===G4){for(;Bx===h4||Bx===aT;)pe+=Bx,Bx=z0.charAt(++hn);if(Te||!ai||pe||Bx!==G4){for(;Bx===G4;)pe+=Bx,Bx=z0.charAt(++hn);for(;Bx===h4||Bx===aT;)pe+=Bx,Bx=z0.charAt(++hn);hn--}else ai+=Bx}else ai+=pe+Bx,pe=\"\";return sn.column+=Mr.length,sn.offset+=Mr.length,b0(Mr+=ai+pe)({type:\"heading\",depth:ne,children:this.tokenizeInline(ai,sn)})}}},aT=\"\t\",h4=\" \",G4=\"#\",k6=function(b0,z0,U1){for(var Bx,pe,ne,Te,ir=-1,hn=z0.length+1,sn=\"\";++ir<hn&&((Bx=z0.charAt(ir))===\"\t\"||Bx===\" \");)sn+=Bx;if(!(Bx!==\"*\"&&Bx!==\"-\"&&Bx!==\"_\"))for(pe=Bx,sn+=Bx,ne=1,Te=\"\";++ir<hn;)if((Bx=z0.charAt(ir))===pe)ne++,sn+=Te+pe,Te=\"\";else{if(Bx!==\" \")return ne>=3&&(!Bx||Bx===`\n`)?(sn+=Te,!!U1||b0(sn)({type:\"thematicBreak\"})):void 0;Te+=Bx}},xw=function(b0){for(var z0,U1=0,Bx=0,pe=b0.charAt(U1),ne={},Te=0;pe===\"\t\"||pe===\" \";){for(Bx+=z0=pe===\"\t\"?4:1,z0>1&&(Bx=Math.floor(Bx/z0)*z0);Te<Bx;)ne[++Te]=U1;pe=b0.charAt(++U1)}return{indent:Bx,stops:ne}},UT=function(b0,z0){var U1,Bx,pe,ne=b0.split(`\n`),Te=ne.length+1,ir=1/0,hn=[];for(ne.unshift(Fp(\" \",z0)+\"!\");Te--;)if(Bx=xw(ne[Te]),hn[Te]=Bx.stops,M8(ne[Te]).length!==0){if(!Bx.indent){ir=1/0;break}Bx.indent>0&&Bx.indent<ir&&(ir=Bx.indent)}if(ir!==1/0)for(Te=ne.length;Te--;){for(pe=hn[Te],U1=ir;U1&&!(U1 in pe);)U1--;ne[Te]=ne[Te].slice(pe[U1]+1)}return ne.shift(),ne.join(`\n`)},oT=function(b0,z0,U1){for(var Bx,pe,ne,Te,ir,hn,sn,Mr,ai,li,Hr,uo,fi,Fs,$a,Ys,ru,js,Yu,wc,au,nu,kc,hc=this,k2=hc.options.commonmark,KD=hc.options.pedantic,oS=hc.blockTokenizers,Iu=hc.interruptList,J2=0,Nc=z0.length,Yd=null,H2=!1;J2<Nc&&((Te=z0.charAt(J2))===nS||Te===G8);)J2++;if((Te=z0.charAt(J2))===\"*\"||Te===\"+\"||Te===\"-\")ir=Te,ne=!1;else{for(ne=!0,pe=\"\";J2<Nc&&(Te=z0.charAt(J2),$A(Te));)pe+=Te,J2++;if(Te=z0.charAt(J2),!pe||!(Te===\".\"||k2&&Te===\")\")||U1&&pe!==\"1\")return;Yd=parseInt(pe,10),ir=Te}if(!((Te=z0.charAt(++J2))!==G8&&Te!==nS&&(KD||Te!==y6&&Te!==\"\"))){if(U1)return!0;for(J2=0,Fs=[],$a=[],Ys=[];J2<Nc;){for(hn=z0.indexOf(y6,J2),sn=J2,Mr=!1,kc=!1,hn===-1&&(hn=Nc),Bx=0;J2<Nc;){if((Te=z0.charAt(J2))===nS)Bx+=4-Bx%4;else{if(Te!==G8)break;Bx++}J2++}if(ru&&Bx>=ru.indent&&(kc=!0),Te=z0.charAt(J2),ai=null,!kc){if(Te===\"*\"||Te===\"+\"||Te===\"-\")ai=Te,J2++,Bx++;else{for(pe=\"\";J2<Nc&&(Te=z0.charAt(J2),$A(Te));)pe+=Te,J2++;Te=z0.charAt(J2),J2++,pe&&(Te===\".\"||k2&&Te===\")\")&&(ai=Te,Bx+=pe.length+1)}if(ai)if((Te=z0.charAt(J2))===nS)Bx+=4-Bx%4,J2++;else if(Te===G8){for(nu=J2+4;J2<nu&&z0.charAt(J2)===G8;)J2++,Bx++;J2===nu&&z0.charAt(J2)===G8&&(J2-=3,Bx-=3)}else Te!==y6&&Te!==\"\"&&(ai=null)}if(ai){if(!KD&&ir!==ai)break;Mr=!0}else k2||kc||z0.charAt(sn)!==G8?k2&&ru&&(kc=Bx>=ru.indent||Bx>4):kc=!0,Mr=!1,J2=sn;if(Hr=z0.slice(sn,hn),li=sn===J2?Hr:z0.slice(J2,hn),(ai===\"*\"||ai===\"_\"||ai===\"-\")&&oS.thematicBreak.call(hc,b0,Hr,!0))break;if(uo=fi,fi=!Mr&&!M8(li).length,kc&&ru)ru.value=ru.value.concat(Ys,Hr),$a=$a.concat(Ys,Hr),Ys=[];else if(Mr)Ys.length!==0&&(H2=!0,ru.value.push(\"\"),ru.trail=Ys.concat()),ru={value:[Hr],indent:Bx,trail:[]},Fs.push(ru),$a=$a.concat(Ys,Hr),Ys=[];else if(fi){if(uo&&!k2)break;Ys.push(Hr)}else{if(uo||KE(Iu,oS,hc,[b0,Hr,!0]))break;ru.value=ru.value.concat(Ys,Hr),$a=$a.concat(Ys,Hr),Ys=[]}J2=hn+1}for(wc=b0($a.join(y6)).reset({type:\"list\",ordered:ne,start:Yd,spread:H2,children:[]}),js=hc.enterList(),Yu=hc.enterBlock(),J2=-1,Nc=Fs.length;++J2<Nc;)ru=Fs[J2].value.join(y6),au=b0.now(),b0(ru)(X8(hc,ru,au),wc),ru=Fs[J2].trail.join(y6),J2!==Nc-1&&(ru+=y6),b0(ru);return js(),Yu(),wc}},G8=\" \",y6=`\n`,nS=\"\t\",jD=/\\n\\n(?!\\s*$)/,X4=/^\\[([ X\\tx])][ \\t]/,SF=/^([ \\t]*)([*+-]|\\d+[.)])( {1,4}(?! )| |\\t|$|(?=\\n))([^\\n]*)/,ad=/^([ \\t]*)([*+-]|\\d+[.)])([ \\t]+)/,XS=/^( {1,4}|\\t)?/gm;function X8(b0,z0,U1){var Bx,pe,ne=b0.offset,Te=b0.options.pedantic?gA:VT,ir=null;return z0=Te.apply(null,arguments),b0.options.gfm&&(Bx=z0.match(X4))&&(pe=Bx[0].length,ir=Bx[1].toLowerCase()===\"x\",ne[U1.line]+=pe,z0=z0.slice(pe)),{type:\"listItem\",spread:jD.test(z0),checked:ir,children:b0.tokenizeBlock(z0,U1)}}function gA(b0,z0,U1){var Bx=b0.offset,pe=U1.line;return z0=z0.replace(ad,ne),pe=U1.line,z0.replace(XS,ne);function ne(Te){return Bx[pe]=(Bx[pe]||0)+Te.length,pe++,\"\"}}function VT(b0,z0,U1){var Bx,pe,ne,Te,ir,hn,sn,Mr=b0.offset,ai=U1.line;for(Te=(z0=z0.replace(SF,function(li,Hr,uo,fi,Fs){return pe=Hr+uo+fi,ne=Fs,Number(uo)<10&&pe.length%2==1&&(uo=G8+uo),(Bx=Hr+Fp(G8,uo.length)+fi)+ne})).split(y6),(ir=UT(z0,xw(Bx).indent).split(y6))[0]=ne,Mr[ai]=(Mr[ai]||0)+pe.length,ai++,hn=0,sn=Te.length;++hn<sn;)Mr[ai]=(Mr[ai]||0)+Te[hn].length-ir[hn].length,ai++;return ir.join(y6)}var YS=function(b0,z0,U1){for(var Bx,pe,ne,Te,ir,hn=b0.now(),sn=z0.length,Mr=-1,ai=\"\";++Mr<sn;){if((ne=z0.charAt(Mr))!==\" \"||Mr>=3){Mr--;break}ai+=ne}for(Bx=\"\",pe=\"\";++Mr<sn;){if((ne=z0.charAt(Mr))===`\n`){Mr--;break}ne===\" \"||ne===\"\t\"?pe+=ne:(Bx+=pe+ne,pe=\"\")}if(hn.column+=ai.length,hn.offset+=ai.length,ai+=Bx+pe,ne=z0.charAt(++Mr),Te=z0.charAt(++Mr),!(ne!==`\n`||Te!==\"=\"&&Te!==\"-\")){for(ai+=ne,pe=Te,ir=Te===\"=\"?1:2;++Mr<sn;){if((ne=z0.charAt(Mr))!==Te){if(ne!==`\n`)return;Mr--;break}pe+=ne}return U1?!0:b0(ai+pe)({type:\"heading\",depth:ir,children:this.tokenizeInline(Bx,hn)})}},_A=`<[A-Za-z][A-Za-z0-9\\\\-]*(?:\\\\s+[a-zA-Z_:][a-zA-Z0-9:._-]*(?:\\\\s*=\\\\s*(?:[^\"'=<>\\`\\\\u0000-\\\\u0020]+|'[^']*'|\"[^\"]*\"))?)*\\\\s*\\\\/?>`,QS=\"<\\\\/[A-Za-z][A-Za-z0-9\\\\-]*\\\\s*>\",qF={openCloseTag:new RegExp(\"^(?:\"+_A+\"|\"+QS+\")\"),tag:new RegExp(\"^(?:\"+_A+\"|\"+QS+\"|<!---->|<!--(?:-?[^>-])(?:-?[^-])*-->|<[?].*?[?]>|<![A-Za-z]+\\\\s+[^>]*>|<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?\\\\]\\\\]>)\")},jS=function(b0,z0,U1){for(var Bx,pe,ne,Te,ir,hn,sn,Mr=this.options.blocks.join(\"|\"),ai=new RegExp(\"^</?(\"+Mr+\")(?=(\\\\s|/?>|$))\",\"i\"),li=z0.length,Hr=0,uo=[[zE,n6,!0],[iS,p6,!0],[O4,$T,!0],[FF,AF,!0],[Y8,hS,!0],[ai,yA,!0],[JF,yA,!1]];Hr<li&&((Te=z0.charAt(Hr))===\"\t\"||Te===\" \");)Hr++;if(z0.charAt(Hr)===\"<\"){for(Bx=(Bx=z0.indexOf(`\n`,Hr+1))===-1?li:Bx,pe=z0.slice(Hr,Bx),ne=-1,ir=uo.length;++ne<ir;)if(uo[ne][0].test(pe)){hn=uo[ne];break}if(!!hn){if(U1)return hn[2];if(Hr=Bx,!hn[1].test(pe))for(;Hr<li;){if(Bx=(Bx=z0.indexOf(`\n`,Hr+1))===-1?li:Bx,pe=z0.slice(Hr+1,Bx),hn[1].test(pe)){pe&&(Hr=Bx);break}Hr=Bx}return sn=z0.slice(0,Hr),b0(sn)({type:\"html\",value:sn})}}},zE=/^<(script|pre|style)(?=(\\s|>|$))/i,n6=/<\\/(script|pre|style)>/i,iS=/^<!--/,p6=/-->/,O4=/^<\\?/,$T=/\\?>/,FF=/^<![A-Za-z]/,AF=/>/,Y8=/^<!\\[CDATA\\[/,hS=/]]>/,yA=/^$/,JF=new RegExp(qF.openCloseTag.source+\"\\\\s*$\"),eE=function(b0){return b5.test(typeof b0==\"number\"?ew(b0):b0.charAt(0))},ew=String.fromCharCode,b5=/\\s/,DA=function(b0){return String(b0).replace(/\\s+/g,\" \")},_a=function(b0){return DA(b0).toLowerCase()},$o=function(b0,z0,U1){for(var Bx,pe,ne,Te,ir,hn,sn,Mr,ai=this,li=ai.options.commonmark,Hr=0,uo=z0.length,fi=\"\";Hr<uo&&((Te=z0.charAt(Hr))===od||Te===Qc);)fi+=Te,Hr++;if((Te=z0.charAt(Hr))===\"[\"){for(Hr++,fi+=Te,ne=\"\";Hr<uo&&(Te=z0.charAt(Hr))!==_p;)Te===\"\\\\\"&&(ne+=Te,Hr++,Te=z0.charAt(Hr)),ne+=Te,Hr++;if(!(!ne||z0.charAt(Hr)!==_p||z0.charAt(Hr+1)!==\":\")){for(hn=ne,Hr=(fi+=ne+_p+\":\").length,ne=\"\";Hr<uo&&((Te=z0.charAt(Hr))===Qc||Te===od||Te===To);)fi+=Te,Hr++;if(Te=z0.charAt(Hr),ne=\"\",Bx=fi,Te===\"<\"){for(Hr++;Hr<uo&&F8(Te=z0.charAt(Hr));)ne+=Te,Hr++;if((Te=z0.charAt(Hr))===F8.delimiter)fi+=\"<\"+ne+Te,Hr++;else{if(li)return;Hr-=ne.length+1,ne=\"\"}}if(!ne){for(;Hr<uo&&rg(Te=z0.charAt(Hr));)ne+=Te,Hr++;fi+=ne}if(!!ne){for(sn=ne,ne=\"\";Hr<uo&&((Te=z0.charAt(Hr))===Qc||Te===od||Te===To);)ne+=Te,Hr++;if(Te=z0.charAt(Hr),ir=null,Te==='\"'?ir='\"':Te===\"'\"?ir=\"'\":Te===\"(\"&&(ir=\")\"),ir){if(!ne)return;for(Hr=(fi+=ne+Te).length,ne=\"\";Hr<uo&&(Te=z0.charAt(Hr))!==ir;){if(Te===To){if(Hr++,(Te=z0.charAt(Hr))===To||Te===ir)return;ne+=To}ne+=Te,Hr++}if((Te=z0.charAt(Hr))!==ir)return;pe=fi,fi+=ne+Te,Hr++,Mr=ne,ne=\"\"}else ne=\"\",Hr=fi.length;for(;Hr<uo&&((Te=z0.charAt(Hr))===Qc||Te===od);)fi+=Te,Hr++;if(!(Te=z0.charAt(Hr))||Te===To)return!!U1||(Bx=b0(Bx).test().end,sn=ai.decode.raw(ai.unescape(sn),Bx,{nonTerminated:!1}),Mr&&(pe=b0(pe).test().end,Mr=ai.decode.raw(ai.unescape(Mr),pe)),b0(fi)({type:\"definition\",identifier:_a(hn),label:hn,title:Mr||null,url:sn}))}}}},To=`\n`,Qc=\"\t\",od=\" \",_p=\"]\";function F8(b0){return b0!==\">\"&&b0!==\"[\"&&b0!==_p}function rg(b0){return b0!==\"[\"&&b0!==_p&&!eE(b0)}F8.delimiter=\">\";var Y4=function(b0,z0,U1){var Bx,pe,ne,Te,ir,hn,sn,Mr,ai,li,Hr,uo,fi,Fs,$a,Ys,ru,js,Yu,wc,au,nu;if(!!this.options.gfm){for(Bx=0,Ys=0,hn=z0.length+1,sn=[];Bx<hn;){if(wc=z0.indexOf(ZS,Bx),au=z0.indexOf(\"|\",Bx+1),wc===-1&&(wc=z0.length),au===-1||au>wc){if(Ys<2)return;break}sn.push(z0.slice(Bx,wc)),Ys++,Bx=wc+1}for(Te=sn.join(ZS),pe=sn.splice(1,1)[0]||[],Bx=0,hn=pe.length,Ys--,ne=!1,Hr=[];Bx<hn;){if((ai=pe.charAt(Bx))===\"|\"){if(li=null,ne===!1){if(nu===!1)return}else Hr.push(ne),ne=!1;nu=!1}else if(ai===\"-\")li=!0,ne=ne||null;else if(ai===\":\")ne=ne===A8?\"center\":li&&ne===null?\"right\":A8;else if(!eE(ai))return;Bx++}if(ne!==!1&&Hr.push(ne),!(Hr.length<1)){if(U1)return!0;for($a=-1,js=[],Yu=b0(Te).reset({type:\"table\",align:Hr,children:js});++$a<Ys;){for(ru=sn[$a],ir={type:\"tableRow\",children:[]},$a&&b0(ZS),b0(ru).reset(ir,Yu),hn=ru.length+1,Bx=0,Mr=\"\",uo=\"\",fi=!0;Bx<hn;)(ai=ru.charAt(Bx))!==\"\t\"&&ai!==\" \"?(ai===\"\"||ai===\"|\"?fi?b0(ai):(!uo&&!ai||fi||(Te=uo,Mr.length>1&&(ai?(Te+=Mr.slice(0,-1),Mr=Mr.charAt(Mr.length-1)):(Te+=Mr,Mr=\"\")),Fs=b0.now(),b0(Te)({type:\"tableCell\",children:this.tokenizeInline(uo,Fs)},ir)),b0(Mr+ai),Mr=\"\",uo=\"\"):(Mr&&(uo+=Mr,Mr=\"\"),uo+=ai,ai===\"\\\\\"&&Bx!==hn-2&&(uo+=ru.charAt(Bx+1),Bx++)),fi=!1,Bx++):(uo?Mr+=ai:b0(ai),Bx++);$a||b0(ZS+pe)}return Yu}}},ZS=`\n`,A8=\"left\",WE=function(b0,z0,U1){for(var Bx,pe,ne,Te,ir,hn=this,sn=hn.options.commonmark,Mr=hn.blockTokenizers,ai=hn.interruptParagraph,li=z0.indexOf(R8),Hr=z0.length;li<Hr;){if(li===-1){li=Hr;break}if(z0.charAt(li+1)===R8)break;if(sn){for(Te=0,Bx=li+1;Bx<Hr;){if((ne=z0.charAt(Bx))===\"\t\"){Te=4;break}if(ne!==\" \")break;Te++,Bx++}if(Te>=4&&ne!==R8){li=z0.indexOf(R8,li+1);continue}}if(pe=z0.slice(li+1),KE(ai,Mr,hn,[b0,pe,!0]))break;if(Bx=li,(li=z0.indexOf(R8,li+1))!==-1&&M8(z0.slice(Bx,li))===\"\"){li=Bx;break}}return pe=z0.slice(0,li),U1?!0:(ir=b0.now(),pe=ZC(pe),b0(pe)({type:\"paragraph\",children:hn.tokenizeInline(pe,ir)}))},R8=`\n`,gS=function(b0,z0){return b0.indexOf(\"\\\\\",z0)},N6=g4;g4.locator=gS;function g4(b0,z0,U1){var Bx,pe;if(z0.charAt(0)===\"\\\\\"&&(Bx=z0.charAt(1),this.escape.indexOf(Bx)!==-1))return!!U1||(pe=Bx===`\n`?{type:\"break\"}:{type:\"text\",value:Bx},b0(\"\\\\\"+Bx)(pe))}var f_=function(b0,z0){return b0.indexOf(\"<\",z0)},TF=b8;b8.locator=f_,b8.notInLink=!0;var G6=\"mailto:\",$2=G6.length;function b8(b0,z0,U1){var Bx,pe,ne,Te,ir,hn=this,sn=\"\",Mr=z0.length,ai=0,li=\"\",Hr=!1,uo=\"\";if(z0.charAt(0)===\"<\"){for(ai++,sn=\"<\";ai<Mr&&(Bx=z0.charAt(ai),!(eE(Bx)||Bx===\">\"||Bx===\"@\"||Bx===\":\"&&z0.charAt(ai+1)===\"/\"));)li+=Bx,ai++;if(li){if(uo+=li,li=\"\",uo+=Bx=z0.charAt(ai),ai++,Bx===\"@\")Hr=!0;else{if(Bx!==\":\"||z0.charAt(ai+1)!==\"/\")return;uo+=\"/\",ai++}for(;ai<Mr&&(Bx=z0.charAt(ai),!eE(Bx)&&Bx!==\">\");)li+=Bx,ai++;if(Bx=z0.charAt(ai),li&&Bx===\">\")return!!U1||(ne=uo+=li,sn+=uo+Bx,(pe=b0.now()).column++,pe.offset++,Hr&&(uo.slice(0,$2).toLowerCase()===G6?(ne=ne.slice($2),pe.column+=$2,pe.offset+=$2):uo=G6+uo),Te=hn.inlineTokenizers,hn.inlineTokenizers={text:Te.text},ir=hn.enterLink(),ne=hn.tokenizeInline(ne,pe),hn.inlineTokenizers=Te,ir(),b0(sn)({type:\"link\",title:null,url:KA(uo,{nonTerminated:!1}),children:ne}))}}}var vA=function(b0,z0){var U1,Bx=String(b0),pe=0;if(typeof z0!=\"string\")throw new Error(\"Expected character\");for(U1=Bx.indexOf(z0);U1!==-1;)pe++,U1=Bx.indexOf(z0,U1+z0.length);return pe},n5=function(b0,z0){var U1,Bx,pe,ne=-1;if(!this.options.gfm)return ne;for(Bx=bb.length,U1=-1;++U1<Bx;)(pe=b0.indexOf(bb[U1],z0))!==-1&&(ne===-1||pe<ne)&&(ne=pe);return ne},bb=[\"www.\",\"http://\",\"https://\"],P6=i6;i6.locator=n5,i6.notInLink=!0;function i6(b0,z0,U1){var Bx,pe,ne,Te,ir,hn,sn,Mr,ai,li,Hr,uo,fi,Fs,$a=this,Ys=$a.options.gfm,ru=$a.inlineTokenizers,js=z0.length,Yu=-1,wc=!1;if(Ys){if(z0.slice(0,4)===\"www.\")wc=!0,Te=4;else if(z0.slice(0,7).toLowerCase()===\"http://\")Te=7;else{if(z0.slice(0,8).toLowerCase()!==\"https://\")return;Te=8}for(Yu=Te-1,ne=Te,Bx=[];Te<js;)if((sn=z0.charCodeAt(Te))!==46){if(!$A(sn)&&!dA(sn)&&sn!==45&&sn!==95)break;Te++}else{if(Yu===Te-1)break;Bx.push(Te),Yu=Te,Te++}if(sn===46&&(Bx.pop(),Te--),Bx[0]!==void 0&&(pe=Bx.length<2?ne:Bx[Bx.length-2]+1,z0.slice(pe,Te).indexOf(\"_\")===-1)){if(U1)return!0;for(Mr=Te,ir=Te;Te<js&&(sn=z0.charCodeAt(Te),!eE(sn)&&sn!==60);)Te++,sn===33||sn===42||sn===44||sn===46||sn===58||sn===63||sn===95||sn===126||(Mr=Te);if(Te=Mr,z0.charCodeAt(Te-1)===41)for(hn=z0.slice(ir,Te),ai=vA(hn,\"(\"),li=vA(hn,\")\");li>ai;)Te=ir+hn.lastIndexOf(\")\"),hn=z0.slice(ir,Te),li--;if(z0.charCodeAt(Te-1)===59&&(Te--,dA(z0.charCodeAt(Te-1)))){for(Mr=Te-2;dA(z0.charCodeAt(Mr));)Mr--;z0.charCodeAt(Mr)===38&&(Te=Mr)}return Hr=z0.slice(0,Te),fi=KA(Hr,{nonTerminated:!1}),wc&&(fi=\"http://\"+fi),Fs=$a.enterLink(),$a.inlineTokenizers={text:ru.text},uo=$a.tokenizeInline(Hr,b0.now()),$a.inlineTokenizers=ru,Fs(),b0(Hr)({type:\"link\",title:null,url:fi,children:uo})}}}var wF=function b0(z0,U1){var Bx,pe;if(!this.options.gfm||(Bx=z0.indexOf(\"@\",U1))===-1)return-1;if((pe=Bx)===U1||!I6(z0.charCodeAt(pe-1)))return b0.call(this,z0,Bx+1);for(;pe>U1&&I6(z0.charCodeAt(pe-1));)pe--;return pe};function I6(b0){return $A(b0)||dA(b0)||b0===43||b0===45||b0===46||b0===95}var sd=HF;HF.locator=wF,HF.notInLink=!0;function HF(b0,z0,U1){var Bx,pe,ne,Te,ir=this,hn=ir.options.gfm,sn=ir.inlineTokenizers,Mr=0,ai=z0.length,li=-1;if(hn){for(Bx=z0.charCodeAt(Mr);$A(Bx)||dA(Bx)||Bx===43||Bx===45||Bx===46||Bx===95;)Bx=z0.charCodeAt(++Mr);if(Mr!==0&&Bx===64){for(Mr++;Mr<ai&&(Bx=z0.charCodeAt(Mr),$A(Bx)||dA(Bx)||Bx===45||Bx===46||Bx===95);)Mr++,li===-1&&Bx===46&&(li=Mr);if(li!==-1&&li!==Mr&&Bx!==45&&Bx!==95)return Bx===46&&Mr--,pe=z0.slice(0,Mr),!!U1||(Te=ir.enterLink(),ir.inlineTokenizers={text:sn.text},ne=ir.tokenizeInline(pe,b0.now()),ir.inlineTokenizers=sn,Te(),b0(pe)({type:\"link\",title:null,url:\"mailto:\"+KA(pe,{nonTerminated:!1}),children:ne}))}}}var aS=qF.tag,B4=Xe;Xe.locator=f_;var Ux=/^<a /i,ue=/^<\\/a>/i;function Xe(b0,z0,U1){var Bx,pe,ne=this,Te=z0.length;if(!(z0.charAt(0)!==\"<\"||Te<3)&&(Bx=z0.charAt(1),(dA(Bx)||Bx===\"?\"||Bx===\"!\"||Bx===\"/\")&&(pe=z0.match(aS))))return!!U1||(pe=pe[0],!ne.inLink&&Ux.test(pe)?ne.inLink=!0:ne.inLink&&ue.test(pe)&&(ne.inLink=!1),b0(pe)({type:\"html\",value:pe}))}var Ht=function(b0,z0){var U1=b0.indexOf(\"[\",z0),Bx=b0.indexOf(\"![\",z0);return Bx===-1||U1<Bx?U1:Bx},le=Qr;Qr.locator=Ht;var hr=\"(\",pr=\")\",lt=\"\\\\\";function Qr(b0,z0,U1){var Bx,pe,ne,Te,ir,hn,sn,Mr,ai,li,Hr,uo,fi,Fs,$a,Ys,ru,js,Yu=this,wc=\"\",au=0,nu=z0.charAt(0),kc=Yu.options.pedantic,hc=Yu.options.commonmark,k2=Yu.options.gfm;if(nu===\"!\"&&(Mr=!0,wc=nu,nu=z0.charAt(++au)),nu===\"[\"&&(Mr||!Yu.inLink)){for(wc+=nu,Fs=\"\",au++,Hr=z0.length,fi=0,(Ys=b0.now()).column+=au,Ys.offset+=au;au<Hr;){if(hn=nu=z0.charAt(au),nu===\"`\"){for(pe=1;z0.charAt(au+1)===\"`\";)hn+=nu,au++,pe++;ne?pe>=ne&&(ne=0):ne=pe}else if(nu===lt)au++,hn+=z0.charAt(au);else if(ne&&!k2||nu!==\"[\"){if((!ne||k2)&&nu===\"]\"){if(!fi){if(z0.charAt(au+1)!==hr)return;hn+=hr,Bx=!0,au++;break}fi--}}else fi++;Fs+=hn,hn=\"\",au++}if(Bx){for(ai=Fs,wc+=Fs+hn,au++;au<Hr&&(nu=z0.charAt(au),eE(nu));)wc+=nu,au++;if(Fs=\"\",Te=wc,(nu=z0.charAt(au))===\"<\"){for(au++,Te+=\"<\";au<Hr&&(nu=z0.charAt(au))!==\">\";){if(hc&&nu===`\n`)return;Fs+=nu,au++}if(z0.charAt(au)!==\">\")return;wc+=\"<\"+Fs+\">\",$a=Fs,au++}else{for(nu=null,hn=\"\";au<Hr&&(nu=z0.charAt(au),!hn||!(nu==='\"'||nu===\"'\"||hc&&nu===hr));){if(eE(nu)){if(!kc)break;hn+=nu}else{if(nu===hr)fi++;else if(nu===pr){if(fi===0)break;fi--}Fs+=hn,hn=\"\",nu===lt&&(Fs+=lt,nu=z0.charAt(++au)),Fs+=nu}au++}$a=Fs,au=(wc+=Fs).length}for(Fs=\"\";au<Hr&&(nu=z0.charAt(au),eE(nu));)Fs+=nu,au++;if(nu=z0.charAt(au),wc+=Fs,Fs&&(nu==='\"'||nu===\"'\"||hc&&nu===hr))if(au++,Fs=\"\",li=nu===hr?pr:nu,ir=wc+=nu,hc){for(;au<Hr&&(nu=z0.charAt(au))!==li;)nu===lt&&(Fs+=lt,nu=z0.charAt(++au)),au++,Fs+=nu;if((nu=z0.charAt(au))!==li)return;for(uo=Fs,wc+=Fs+nu,au++;au<Hr&&(nu=z0.charAt(au),eE(nu));)wc+=nu,au++}else for(hn=\"\";au<Hr;){if((nu=z0.charAt(au))===li)sn&&(Fs+=li+hn,hn=\"\"),sn=!0;else if(sn){if(nu===pr){wc+=Fs+li+hn,uo=Fs;break}eE(nu)?hn+=nu:(Fs+=li+hn+nu,hn=\"\",sn=!1)}else Fs+=nu;au++}if(z0.charAt(au)===pr)return!!U1||(wc+=pr,$a=Yu.decode.raw(Yu.unescape($a),b0(Te).test().end,{nonTerminated:!1}),uo&&(ir=b0(ir).test().end,uo=Yu.decode.raw(Yu.unescape(uo),ir)),js={type:Mr?\"image\":\"link\",title:uo||null,url:$a},Mr?js.alt=Yu.decode.raw(Yu.unescape(ai),Ys)||null:(ru=Yu.enterLink(),js.children=Yu.tokenizeInline(ai,Ys),ru()),b0(wc)(js))}}}var Wi=Ti;Ti.locator=Ht;var Io=\"link\",Uo=\"full\",sa=\"[\",fn=\"\\\\\",Gn=\"]\";function Ti(b0,z0,U1){var Bx,pe,ne,Te,ir,hn,sn,Mr,ai=this,li=ai.options.commonmark,Hr=z0.charAt(0),uo=0,fi=z0.length,Fs=\"\",$a=\"\",Ys=Io,ru=\"shortcut\";if(Hr===\"!\"&&(Ys=\"image\",$a=Hr,Hr=z0.charAt(++uo)),Hr===sa){for(uo++,$a+=Hr,hn=\"\",Mr=0;uo<fi;){if((Hr=z0.charAt(uo))===sa)sn=!0,Mr++;else if(Hr===Gn){if(!Mr)break;Mr--}Hr===fn&&(hn+=fn,Hr=z0.charAt(++uo)),hn+=Hr,uo++}if(Fs=hn,Bx=hn,(Hr=z0.charAt(uo))===Gn){if(uo++,Fs+=Hr,hn=\"\",!li)for(;uo<fi&&(Hr=z0.charAt(uo),eE(Hr));)hn+=Hr,uo++;if((Hr=z0.charAt(uo))===sa){for(pe=\"\",hn+=Hr,uo++;uo<fi&&(Hr=z0.charAt(uo))!==sa&&Hr!==Gn;)Hr===fn&&(pe+=fn,Hr=z0.charAt(++uo)),pe+=Hr,uo++;(Hr=z0.charAt(uo))===Gn?(ru=pe?Uo:\"collapsed\",hn+=pe+Hr,uo++):pe=\"\",Fs+=hn,hn=\"\"}else{if(!Bx)return;pe=Bx}if(ru===Uo||!sn)return Fs=$a+Fs,Ys===Io&&ai.inLink?null:!!U1||((ne=b0.now()).column+=$a.length,ne.offset+=$a.length,Te={type:Ys+\"Reference\",identifier:_a(pe=ru===Uo?pe:Bx),label:pe,referenceType:ru},Ys===Io?(ir=ai.enterLink(),Te.children=ai.tokenizeInline(Bx,ne),ir()):Te.alt=ai.decode.raw(ai.unescape(Bx),ne)||null,b0(Fs)(Te))}}}var Eo=function(b0,z0){var U1=b0.indexOf(\"**\",z0),Bx=b0.indexOf(\"__\",z0);return Bx===-1?U1:U1===-1||Bx<U1?Bx:U1},qo=ci;ci.locator=Eo;function ci(b0,z0,U1){var Bx,pe,ne,Te,ir,hn,sn,Mr=0,ai=z0.charAt(Mr);if(!(ai!==\"*\"&&ai!==\"_\"||z0.charAt(++Mr)!==ai||(pe=this.options.pedantic,ir=(ne=ai)+ne,hn=z0.length,Mr++,Te=\"\",ai=\"\",pe&&eE(z0.charAt(Mr)))))for(;Mr<hn;){if(sn=ai,!((ai=z0.charAt(Mr))!==ne||z0.charAt(Mr+1)!==ne||pe&&eE(sn))&&(ai=z0.charAt(Mr+2))!==ne)return M8(Te)?!!U1||((Bx=b0.now()).column+=2,Bx.offset+=2,b0(ir+Te+ir)({type:\"strong\",children:this.tokenizeInline(Te,Bx)})):void 0;pe||ai!==\"\\\\\"||(Te+=ai,ai=z0.charAt(++Mr)),Te+=ai,Mr++}}var os=function(b0){return Po.test(typeof b0==\"number\"?$s(b0):b0.charAt(0))},$s=String.fromCharCode,Po=/\\w/,Dr=function(b0,z0){var U1=b0.indexOf(\"*\",z0),Bx=b0.indexOf(\"_\",z0);return Bx===-1?U1:U1===-1||Bx<U1?Bx:U1},Nm=Og;Og.locator=Dr;function Og(b0,z0,U1){var Bx,pe,ne,Te,ir,hn,sn,Mr=0,ai=z0.charAt(Mr);if(!(ai!==\"*\"&&ai!==\"_\"||(pe=this.options.pedantic,ir=ai,ne=ai,hn=z0.length,Mr++,Te=\"\",ai=\"\",pe&&eE(z0.charAt(Mr)))))for(;Mr<hn;){if(sn=ai,!((ai=z0.charAt(Mr))!==ne||pe&&eE(sn))){if((ai=z0.charAt(++Mr))!==ne){if(!M8(Te)||sn===ne)return;if(!pe&&ne===\"_\"&&os(ai)){Te+=ne;continue}return!!U1||((Bx=b0.now()).column++,Bx.offset++,b0(ir+Te+ne)({type:\"emphasis\",children:this.tokenizeInline(Te,Bx)}))}Te+=ne}pe||ai!==\"\\\\\"||(Te+=ai,ai=z0.charAt(++Mr)),Te+=ai,Mr++}}var Bg=function(b0,z0){return b0.indexOf(\"~~\",z0)},_S=Lx;Lx.locator=Bg;var f8=\"~\";function Lx(b0,z0,U1){var Bx,pe,ne,Te=\"\",ir=\"\",hn=\"\",sn=\"\";if(this.options.gfm&&z0.charAt(0)===f8&&z0.charAt(1)===f8&&!eE(z0.charAt(2)))for(Bx=1,pe=z0.length,(ne=b0.now()).column+=2,ne.offset+=2;++Bx<pe;){if(!((Te=z0.charAt(Bx))!==f8||ir!==f8||hn&&eE(hn)))return!!U1||b0(\"~~\"+sn+\"~~\")({type:\"delete\",children:this.tokenizeInline(sn,ne)});sn+=ir,hn=ir,ir=Te}}var q1=function(b0,z0){return b0.indexOf(\"`\",z0)},Qx=Be;Be.locator=q1;function Be(b0,z0,U1){for(var Bx,pe,ne,Te,ir,hn,sn=z0.length,Mr=0;Mr<sn&&z0.charCodeAt(Mr)===96;)Mr++;if(Mr!==0&&Mr!==sn){for(Bx=Mr,ir=z0.charCodeAt(Mr);Mr<sn;){if(Te=ir,ir=z0.charCodeAt(Mr+1),Te===96){if(pe===void 0&&(pe=Mr),ne=Mr+1,ir!==96&&ne-pe===Bx){hn=!0;break}}else pe!==void 0&&(pe=void 0,ne=void 0);Mr++}if(hn){if(U1)return!0;if(Mr=Bx,sn=pe,Te=z0.charCodeAt(Mr),ir=z0.charCodeAt(sn-1),hn=!1,sn-Mr>2&&(Te===32||Te===10)&&(ir===32||ir===10)){for(Mr++,sn--;Mr<sn;){if((Te=z0.charCodeAt(Mr))!==32&&Te!==10){hn=!0;break}Mr++}hn===!0&&(Bx++,pe--)}return b0(z0.slice(0,ne))({type:\"inlineCode\",value:z0.slice(Bx,pe)})}}}var St=function(b0,z0){for(var U1=b0.indexOf(`\n`,z0);U1>z0&&b0.charAt(U1-1)===\" \";)U1--;return U1},_r=gi;gi.locator=St;function gi(b0,z0,U1){for(var Bx,pe=z0.length,ne=-1,Te=\"\";++ne<pe;){if((Bx=z0.charAt(ne))===`\n`)return ne<2?void 0:!!U1||b0(Te+=Bx)({type:\"break\"});if(Bx!==\" \")return;Te+=Bx}}var je=function(b0,z0,U1){var Bx,pe,ne,Te,ir,hn,sn,Mr,ai,li,Hr=this;if(U1)return!0;for(Bx=Hr.inlineMethods,Te=Bx.length,pe=Hr.inlineTokenizers,ne=-1,ai=z0.length;++ne<Te;)(Mr=Bx[ne])!==\"text\"&&pe[Mr]&&((sn=pe[Mr].locator)||b0.file.fail(\"Missing locator: `\"+Mr+\"`\"),(hn=sn.call(Hr,z0,1))!==-1&&hn<ai&&(ai=hn));ir=z0.slice(0,ai),li=b0.now(),Hr.decode(ir,li,function(uo,fi,Fs){b0(Fs||uo)({type:\"text\",value:uo})})},Gu=io;function io(b0,z0){this.file=z0,this.offset={},this.options=c(this.options),this.setOptions({}),this.inList=!1,this.inBlock=!1,this.inLink=!1,this.atStart=!0,this.toOffset=H8(z0).toOffset,this.unescape=pA(this,\"escape\"),this.decode=l8(this)}var ss=io.prototype;function to(b0){var z0,U1=[];for(z0 in b0)U1.push(z0);return U1}ss.setOptions=t5,ss.parse=T6,ss.options=j5,ss.exitStart=fA(\"atStart\",!0),ss.enterList=fA(\"inList\",!1),ss.enterLink=fA(\"inLink\",!1),ss.enterBlock=fA(\"inBlock\",!1),ss.interruptParagraph=[[\"thematicBreak\"],[\"list\"],[\"atxHeading\"],[\"fencedCode\"],[\"blockquote\"],[\"html\"],[\"setextHeading\",{commonmark:!1}],[\"definition\",{commonmark:!1}]],ss.interruptList=[[\"atxHeading\",{pedantic:!1}],[\"fencedCode\",{pedantic:!1}],[\"thematicBreak\",{pedantic:!1}],[\"definition\",{commonmark:!1}]],ss.interruptBlockquote=[[\"indentedCode\",{commonmark:!0}],[\"fencedCode\",{commonmark:!0}],[\"atxHeading\",{commonmark:!0}],[\"setextHeading\",{commonmark:!0}],[\"thematicBreak\",{commonmark:!0}],[\"html\",{commonmark:!0}],[\"list\",{commonmark:!0}],[\"definition\",{commonmark:!1}]],ss.blockTokenizers={blankLine:vb,indentedCode:zA,fencedCode:WF,blockquote:lm,atxHeading:mS,thematicBreak:k6,list:oT,setextHeading:YS,html:jS,definition:$o,table:Y4,paragraph:WE},ss.inlineTokenizers={escape:N6,autoLink:TF,url:P6,email:sd,html:B4,link:le,reference:Wi,strong:qo,emphasis:Nm,deletion:_S,code:Qx,break:_r,text:je},ss.blockMethods=to(ss.blockTokenizers),ss.inlineMethods=to(ss.inlineTokenizers),ss.tokenizeBlock=S6(\"block\"),ss.tokenizeInline=S6(\"inline\"),ss.tokenizeFactory=S6;var Ma=Ks;function Ks(b0){var z0=this.data(\"settings\"),U1=P4(Gu);U1.prototype.options=c(U1.prototype.options,z0,b0),this.Parser=U1}Ks.Parser=Gu;var Qa=function(b0){if(b0)throw b0},Wc=function(b0){return b0!=null&&b0.constructor!=null&&typeof b0.constructor.isBuffer==\"function\"&&b0.constructor.isBuffer(b0)},la=Object.prototype.hasOwnProperty,Af=Object.prototype.toString,so=Object.defineProperty,qu=Object.getOwnPropertyDescriptor,lf=function(b0){return typeof Array.isArray==\"function\"?Array.isArray(b0):Af.call(b0)===\"[object Array]\"},uu=function(b0){if(!b0||Af.call(b0)!==\"[object Object]\")return!1;var z0,U1=la.call(b0,\"constructor\"),Bx=b0.constructor&&b0.constructor.prototype&&la.call(b0.constructor.prototype,\"isPrototypeOf\");if(b0.constructor&&!U1&&!Bx)return!1;for(z0 in b0);return z0===void 0||la.call(b0,z0)},ud=function(b0,z0){so&&z0.name===\"__proto__\"?so(b0,z0.name,{enumerable:!0,configurable:!0,value:z0.newValue,writable:!0}):b0[z0.name]=z0.newValue},fm=function(b0,z0){if(z0===\"__proto__\"){if(!la.call(b0,z0))return;if(qu)return qu(b0,z0).value}return b0[z0]},w2=function b0(){var z0,U1,Bx,pe,ne,Te,ir=arguments[0],hn=1,sn=arguments.length,Mr=!1;for(typeof ir==\"boolean\"&&(Mr=ir,ir=arguments[1]||{},hn=2),(ir==null||typeof ir!=\"object\"&&typeof ir!=\"function\")&&(ir={});hn<sn;++hn)if((z0=arguments[hn])!=null)for(U1 in z0)Bx=fm(ir,U1),ir!==(pe=fm(z0,U1))&&(Mr&&pe&&(uu(pe)||(ne=lf(pe)))?(ne?(ne=!1,Te=Bx&&lf(Bx)?Bx:[]):Te=Bx&&uu(Bx)?Bx:{},ud(ir,{name:U1,newValue:b0(Mr,Te,pe)})):pe!==void 0&&ud(ir,{name:U1,newValue:pe}));return ir},US=b0=>{if(Object.prototype.toString.call(b0)!==\"[object Object]\")return!1;const z0=Object.getPrototypeOf(b0);return z0===null||z0===Object.prototype},j8=[].slice,tE=function(b0,z0){var U1;return function(){var ne,Te=j8.call(arguments,0),ir=b0.length>Te.length;ir&&Te.push(Bx);try{ne=b0.apply(null,Te)}catch(hn){if(ir&&U1)throw hn;return Bx(hn)}ir||(ne&&typeof ne.then==\"function\"?ne.then(pe,Bx):ne instanceof Error?Bx(ne):pe(ne))};function Bx(){U1||(U1=!0,z0.apply(null,arguments))}function pe(ne){Bx(null,ne)}},U8=tw;tw.wrap=tE;var xp=[].slice;function tw(){var b0=[],z0={run:function(){var U1=-1,Bx=xp.call(arguments,0,-1),pe=arguments[arguments.length-1];if(typeof pe!=\"function\")throw new Error(\"Expected function as last argument, not \"+pe);function ne(Te){var ir=b0[++U1],hn=xp.call(arguments,0),sn=hn.slice(1),Mr=Bx.length,ai=-1;if(Te)pe(Te);else{for(;++ai<Mr;)sn[ai]!==null&&sn[ai]!==void 0||(sn[ai]=Bx[ai]);Bx=sn,ir?tE(ir,ne).apply(null,Bx):pe.apply(null,[null].concat(Bx))}}ne.apply(null,[null].concat(Bx))},use:function(U1){if(typeof U1!=\"function\")throw new Error(\"Expected `fn` to be a function, not \"+U1);return b0.push(U1),z0}};return z0}var _4={}.hasOwnProperty,rw=function(b0){return!b0||typeof b0!=\"object\"?\"\":_4.call(b0,\"position\")||_4.call(b0,\"type\")?i5(b0.position):_4.call(b0,\"start\")||_4.call(b0,\"end\")?i5(b0):_4.call(b0,\"line\")||_4.call(b0,\"column\")?kF(b0):\"\"};function kF(b0){return b0&&typeof b0==\"object\"||(b0={}),Um(b0.line)+\":\"+Um(b0.column)}function i5(b0){return b0&&typeof b0==\"object\"||(b0={}),kF(b0.start)+\"-\"+kF(b0.end)}function Um(b0){return b0&&typeof b0==\"number\"?b0:1}var Q8=sT;function bA(){}bA.prototype=Error.prototype,sT.prototype=new bA;var CA=sT.prototype;function sT(b0,z0,U1){var Bx,pe,ne;typeof z0==\"string\"&&(U1=z0,z0=null),Bx=function(Te){var ir,hn=[null,null];return typeof Te==\"string\"&&((ir=Te.indexOf(\":\"))===-1?hn[1]=Te:(hn[0]=Te.slice(0,ir),hn[1]=Te.slice(ir+1))),hn}(U1),pe=rw(z0)||\"1:1\",ne={start:{line:null,column:null},end:{line:null,column:null}},z0&&z0.position&&(z0=z0.position),z0&&(z0.start?(ne=z0,z0=z0.start):ne.start=z0),b0.stack&&(this.stack=b0.stack,b0=b0.message),this.message=b0,this.name=pe,this.reason=b0,this.line=z0?z0.line:null,this.column=z0?z0.column:null,this.location=ne,this.source=Bx[0],this.ruleId=Bx[1]}function rE(b0,z0){for(var U1=0,Bx=b0.length-1;Bx>=0;Bx--){var pe=b0[Bx];pe===\".\"?b0.splice(Bx,1):pe===\"..\"?(b0.splice(Bx,1),U1++):U1&&(b0.splice(Bx,1),U1--)}if(z0)for(;U1--;U1)b0.unshift(\"..\");return b0}CA.file=\"\",CA.name=\"\",CA.reason=\"\",CA.message=\"\",CA.stack=\"\",CA.fatal=null,CA.column=null,CA.line=null;var Z8=/^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/,V5=function(b0){return Z8.exec(b0).slice(1)};function FS(){for(var b0=\"\",z0=!1,U1=arguments.length-1;U1>=-1&&!z0;U1--){var Bx=U1>=0?arguments[U1]:\"/\";if(typeof Bx!=\"string\")throw new TypeError(\"Arguments to path.resolve must be strings\");Bx&&(b0=Bx+\"/\"+b0,z0=Bx.charAt(0)===\"/\")}return(z0?\"/\":\"\")+(b0=rE(eF(b0.split(\"/\"),function(pe){return!!pe}),!z0).join(\"/\"))||\".\"}function xF(b0){var z0=$5(b0),U1=NF(b0,-1)===\"/\";return(b0=rE(eF(b0.split(\"/\"),function(Bx){return!!Bx}),!z0).join(\"/\"))||z0||(b0=\".\"),b0&&U1&&(b0+=\"/\"),(z0?\"/\":\"\")+b0}function $5(b0){return b0.charAt(0)===\"/\"}function AS(){var b0=Array.prototype.slice.call(arguments,0);return xF(eF(b0,function(z0,U1){if(typeof z0!=\"string\")throw new TypeError(\"Arguments to path.join must be strings\");return z0}).join(\"/\"))}function O6(b0,z0){function U1(sn){for(var Mr=0;Mr<sn.length&&sn[Mr]===\"\";Mr++);for(var ai=sn.length-1;ai>=0&&sn[ai]===\"\";ai--);return Mr>ai?[]:sn.slice(Mr,ai-Mr+1)}b0=FS(b0).substr(1),z0=FS(z0).substr(1);for(var Bx=U1(b0.split(\"/\")),pe=U1(z0.split(\"/\")),ne=Math.min(Bx.length,pe.length),Te=ne,ir=0;ir<ne;ir++)if(Bx[ir]!==pe[ir]){Te=ir;break}var hn=[];for(ir=Te;ir<Bx.length;ir++)hn.push(\"..\");return(hn=hn.concat(pe.slice(Te))).join(\"/\")}function zw(b0){var z0=V5(b0),U1=z0[0],Bx=z0[1];return U1||Bx?(Bx&&(Bx=Bx.substr(0,Bx.length-1)),U1+Bx):\".\"}function EA(b0,z0){var U1=V5(b0)[2];return z0&&U1.substr(-1*z0.length)===z0&&(U1=U1.substr(0,U1.length-z0.length)),U1}function K5(b0){return V5(b0)[3]}var ps={extname:K5,basename:EA,dirname:zw,sep:\"/\",delimiter:\":\",relative:O6,join:AS,isAbsolute:$5,normalize:xF,resolve:FS};function eF(b0,z0){if(b0.filter)return b0.filter(z0);for(var U1=[],Bx=0;Bx<b0.length;Bx++)z0(b0[Bx],Bx,b0)&&U1.push(b0[Bx]);return U1}var NF=\"ab\".substr(-1)===\"b\"?function(b0,z0,U1){return b0.substr(z0,U1)}:function(b0,z0,U1){return z0<0&&(z0=b0.length+z0),b0.substr(z0,U1)},C8=K(Object.freeze({__proto__:null,resolve:FS,normalize:xF,isAbsolute:$5,join:AS,relative:O6,sep:\"/\",delimiter:\":\",dirname:zw,basename:EA,extname:K5,default:ps})),L4=_s,KT=Zs,C5={}.hasOwnProperty,y4=[\"history\",\"path\",\"basename\",\"stem\",\"extname\",\"dirname\"];function Zs(b0){var z0,U1;if(b0){if(typeof b0==\"string\"||Wc(b0))b0={contents:b0};else if(\"message\"in b0&&\"messages\"in b0)return b0}else b0={};if(!(this instanceof Zs))return new Zs(b0);for(this.data={},this.messages=[],this.history=[],this.cwd=L4.cwd(),U1=-1;++U1<y4.length;)z0=y4[U1],C5.call(b0,z0)&&(this[z0]=b0[z0]);for(z0 in b0)y4.indexOf(z0)<0&&(this[z0]=b0[z0])}function GF(b0,z0){if(b0&&b0.indexOf(C8.sep)>-1)throw new Error(\"`\"+z0+\"` cannot be a path: did not expect `\"+C8.sep+\"`\")}function zT(b0,z0){if(!b0)throw new Error(\"`\"+z0+\"` cannot be empty\")}function AT(b0,z0){if(!b0)throw new Error(\"Setting `\"+z0+\"` requires `path` to be set too\")}Zs.prototype.toString=function(b0){return(this.contents||\"\").toString(b0)},Object.defineProperty(Zs.prototype,\"path\",{get:function(){return this.history[this.history.length-1]},set:function(b0){zT(b0,\"path\"),this.path!==b0&&this.history.push(b0)}}),Object.defineProperty(Zs.prototype,\"dirname\",{get:function(){return typeof this.path==\"string\"?C8.dirname(this.path):void 0},set:function(b0){AT(this.path,\"dirname\"),this.path=C8.join(b0||\"\",this.basename)}}),Object.defineProperty(Zs.prototype,\"basename\",{get:function(){return typeof this.path==\"string\"?C8.basename(this.path):void 0},set:function(b0){zT(b0,\"basename\"),GF(b0,\"basename\"),this.path=C8.join(this.dirname||\"\",b0)}}),Object.defineProperty(Zs.prototype,\"extname\",{get:function(){return typeof this.path==\"string\"?C8.extname(this.path):void 0},set:function(b0){if(GF(b0,\"extname\"),AT(this.path,\"extname\"),b0){if(b0.charCodeAt(0)!==46)throw new Error(\"`extname` must start with `.`\");if(b0.indexOf(\".\",1)>-1)throw new Error(\"`extname` cannot contain multiple dots\")}this.path=C8.join(this.dirname,this.stem+(b0||\"\"))}}),Object.defineProperty(Zs.prototype,\"stem\",{get:function(){return typeof this.path==\"string\"?C8.basename(this.path,this.extname):void 0},set:function(b0){zT(b0,\"stem\"),GF(b0,\"stem\"),this.path=C8.join(this.dirname||\"\",b0+(this.extname||\"\"))}});var a5=KT;KT.prototype.message=function(b0,z0,U1){var Bx=new Q8(b0,z0,U1);return this.path&&(Bx.name=this.path+\":\"+Bx.name,Bx.file=this.path),Bx.fatal=!1,this.messages.push(Bx),Bx},KT.prototype.info=function(){var b0=this.message.apply(this,arguments);return b0.fatal=null,b0},KT.prototype.fail=function(){var b0=this.message.apply(this,arguments);throw b0.fatal=!0,b0};var z5=a5,XF=function b0(){var z0,U1=[],Bx=U8(),pe={},ne=-1;return Te.data=function(li,Hr){return typeof li==\"string\"?arguments.length===2?(at(\"data\",z0),pe[li]=Hr,Te):W5.call(pe,li)&&pe[li]||null:li?(at(\"data\",z0),pe=li,Te):pe},Te.freeze=ir,Te.attachers=U1,Te.use=function(li){var Hr;if(at(\"use\",z0),li!=null)if(typeof li==\"function\")$a.apply(null,arguments);else{if(typeof li!=\"object\")throw new Error(\"Expected usable value, not `\"+li+\"`\");\"length\"in li?Fs(li):uo(li)}return Hr&&(pe.settings=w2(pe.settings||{},Hr)),Te;function uo(Ys){Fs(Ys.plugins),Ys.settings&&(Hr=w2(Hr||{},Ys.settings))}function fi(Ys){if(typeof Ys==\"function\")$a(Ys);else{if(typeof Ys!=\"object\")throw new Error(\"Expected usable value, not `\"+Ys+\"`\");\"length\"in Ys?$a.apply(null,Ys):uo(Ys)}}function Fs(Ys){var ru=-1;if(Ys!=null){if(typeof Ys!=\"object\"||!(\"length\"in Ys))throw new Error(\"Expected a list of plugins, not `\"+Ys+\"`\");for(;++ru<Ys.length;)fi(Ys[ru])}}function $a(Ys,ru){var js=hn(Ys);js?(US(js[1])&&US(ru)&&(ru=w2(!0,js[1],ru)),js[1]=ru):U1.push(zs.call(arguments))}},Te.parse=function(li){var Hr,uo=z5(li);return ir(),Xx(\"parse\",Hr=Te.Parser),kx(Hr,\"parse\")?new Hr(String(uo),uo).parse():Hr(String(uo),uo)},Te.stringify=function(li,Hr){var uo,fi=z5(Hr);return ir(),Ee(\"stringify\",uo=Te.Compiler),cn(li),kx(uo,\"compile\")?new uo(li,fi).compile():uo(li,fi)},Te.run=sn,Te.runSync=function(li,Hr){var uo,fi;return sn(li,Hr,Fs),Bn(\"runSync\",\"run\",fi),uo;function Fs($a,Ys){fi=!0,uo=Ys,Qa($a)}},Te.process=Mr,Te.processSync=ai,Te;function Te(){for(var li=b0(),Hr=-1;++Hr<U1.length;)li.use.apply(null,U1[Hr]);return li.data(w2(!0,{},pe)),li}function ir(){var li,Hr;if(z0)return Te;for(;++ne<U1.length;)(li=U1[ne])[1]!==!1&&(li[1]===!0&&(li[1]=void 0),typeof(Hr=li[0].apply(Te,li.slice(1)))==\"function\"&&Bx.use(Hr));return z0=!0,ne=1/0,Te}function hn(li){for(var Hr=-1;++Hr<U1.length;)if(U1[Hr][0]===li)return U1[Hr]}function sn(li,Hr,uo){if(cn(li),ir(),uo||typeof Hr!=\"function\"||(uo=Hr,Hr=null),!uo)return new Promise(fi);function fi(Fs,$a){Bx.run(li,z5(Hr),function(Ys,ru,js){ru=ru||li,Ys?$a(Ys):Fs?Fs(ru):uo(null,ru,js)})}fi(null,uo)}function Mr(li,Hr){if(ir(),Xx(\"process\",Te.Parser),Ee(\"process\",Te.Compiler),!Hr)return new Promise(uo);function uo(fi,Fs){var $a=z5(li);TT.run(Te,{file:$a},function(Ys){Ys?Fs(Ys):fi?fi($a):Hr(null,$a)})}uo(null,Hr)}function ai(li){var Hr,uo;return ir(),Xx(\"processSync\",Te.Parser),Ee(\"processSync\",Te.Compiler),Mr(Hr=z5(li),function(fi){uo=!0,Qa(fi)}),Bn(\"processSync\",\"process\",uo),Hr}}().freeze(),zs=[].slice,W5={}.hasOwnProperty,TT=U8().use(function(b0,z0){z0.tree=b0.parse(z0.file)}).use(function(b0,z0,U1){b0.run(z0.tree,z0.file,function(Bx,pe,ne){Bx?U1(Bx):(z0.tree=pe,z0.file=ne,U1())})}).use(function(b0,z0){var U1=b0.stringify(z0.tree,z0.file);U1==null||(typeof U1==\"string\"||Wc(U1)?z0.file.contents=U1:z0.file.result=U1)});function kx(b0,z0){return typeof b0==\"function\"&&b0.prototype&&(function(U1){var Bx;for(Bx in U1)return!0;return!1}(b0.prototype)||z0 in b0.prototype)}function Xx(b0,z0){if(typeof z0!=\"function\")throw new Error(\"Cannot `\"+b0+\"` without `Parser`\")}function Ee(b0,z0){if(typeof z0!=\"function\")throw new Error(\"Cannot `\"+b0+\"` without `Compiler`\")}function at(b0,z0){if(z0)throw new Error(\"Cannot invoke `\"+b0+\"` on a frozen processor.\\nCreate a new processor first, by invoking it: use `processor()` instead of `processor`.\")}function cn(b0){if(!b0||typeof b0.type!=\"string\")throw new Error(\"Expected node, got `\"+b0+\"`\")}function Bn(b0,z0,U1){if(!U1)throw new Error(\"`\"+b0+\"` finished async. Use `\"+z0+\"` instead\")}var ao={isRemarkParser:function(b0){return Boolean(b0&&b0.prototype&&b0.prototype.blockTokenizers)},isRemarkCompiler:function(b0){return Boolean(b0&&b0.prototype&&b0.prototype.visitors)}},go=function(b0){const z0=this.Parser,U1=this.Compiler;ao.isRemarkParser(z0)&&function(Bx,pe){const ne=Bx.prototype,Te=ne.inlineMethods;function ir(sn,Mr){return sn.indexOf(\"$\",Mr)}function hn(sn,Mr,ai){const li=Mr.length;let Hr,uo,fi,Fs,$a,Ys,ru,js=!1,Yu=!1,wc=0;if(Mr.charCodeAt(wc)===92&&(Yu=!0,wc++),Mr.charCodeAt(wc)===gu){if(wc++,Yu)return!!ai||sn(Mr.slice(0,wc))({type:\"text\",value:\"$\"});if(Mr.charCodeAt(wc)===gu&&(js=!0,wc++),fi=Mr.charCodeAt(wc),fi!==32&&fi!==9){for(Fs=wc;wc<li;){if(uo=fi,fi=Mr.charCodeAt(wc+1),uo===gu){if(Hr=Mr.charCodeAt(wc-1),Hr!==32&&Hr!==9&&(fi!=fi||fi<48||fi>57)&&(!js||fi===gu)){$a=wc-1,wc++,js&&wc++,Ys=wc;break}}else uo===92&&(wc++,fi=Mr.charCodeAt(wc+1));wc++}if(Ys!==void 0)return!!ai||(ru=Mr.slice(Fs,$a+1),sn(Mr.slice(0,Ys))({type:\"inlineMath\",value:ru,data:{hName:\"span\",hProperties:{className:cu.concat(js&&pe.inlineMathDouble?[El]:[])},hChildren:[{type:\"text\",value:ru}]}}))}}}hn.locator=ir,ne.inlineTokenizers.math=hn,Te.splice(Te.indexOf(\"text\"),0,\"math\")}(z0,b0),ao.isRemarkCompiler(U1)&&function(Bx){function pe(ne){let Te=\"$\";return(ne.data&&ne.data.hProperties&&ne.data.hProperties.className||[]).includes(El)&&(Te=\"$$\"),Te+ne.value+Te}Bx.prototype.visitors.inlineMath=pe}(U1)};const gu=36,cu=[\"math\",\"math-inline\"],El=\"math-display\";var Go=function(){const b0=this.Parser,z0=this.Compiler;ao.isRemarkParser(b0)&&function(U1){const Bx=U1.prototype,pe=Bx.blockMethods,ne=Bx.interruptParagraph,Te=Bx.interruptList,ir=Bx.interruptBlockquote;function hn(sn,Mr,ai){var li=Mr.length,Hr=0;let uo,fi,Fs,$a,Ys,ru,js,Yu,wc,au,nu;for(;Hr<li&&Mr.charCodeAt(Hr)===Xu;)Hr++;for(Ys=Hr;Hr<li&&Mr.charCodeAt(Hr)===Ql;)Hr++;if(ru=Hr-Ys,!(ru<2)){for(;Hr<li&&Mr.charCodeAt(Hr)===Xu;)Hr++;for(js=Hr;Hr<li;){if(uo=Mr.charCodeAt(Hr),uo===Ql)return;if(uo===10)break;Hr++}if(Mr.charCodeAt(Hr)===10){if(ai)return!0;for(fi=[],js!==Hr&&fi.push(Mr.slice(js,Hr)),Hr++,Fs=Mr.indexOf(p_,Hr+1),Fs=Fs===-1?li:Fs;Hr<li;){for(Yu=!1,au=Hr,nu=Fs,$a=Fs,wc=0;$a>au&&Mr.charCodeAt($a-1)===Xu;)$a--;for(;$a>au&&Mr.charCodeAt($a-1)===Ql;)wc++,$a--;for(ru<=wc&&Mr.indexOf(\"$\",au)===$a&&(Yu=!0,nu=$a);au<=nu&&au-Hr<Ys&&Mr.charCodeAt(au)===Xu;)au++;if(Yu)for(;nu>au&&Mr.charCodeAt(nu-1)===Xu;)nu--;if(Yu&&au===nu||fi.push(Mr.slice(au,nu)),Yu)break;Hr=Fs+1,Fs=Mr.indexOf(p_,Hr+1),Fs=Fs===-1?li:Fs}return fi=fi.join(`\n`),sn(Mr.slice(0,Fs))({type:\"math\",value:fi,data:{hName:\"div\",hProperties:{className:ap.concat()},hChildren:[{type:\"text\",value:fi}]}})}}}Bx.blockTokenizers.math=hn,pe.splice(pe.indexOf(\"fencedCode\")+1,0,\"math\"),ne.splice(ne.indexOf(\"fencedCode\")+1,0,[\"math\"]),Te.splice(Te.indexOf(\"fencedCode\")+1,0,[\"math\"]),ir.splice(ir.indexOf(\"fencedCode\")+1,0,[\"math\"])}(b0),ao.isRemarkCompiler(z0)&&function(U1){function Bx(pe){return`$$\n`+pe.value+`\n$$`}U1.prototype.visitors.math=Bx}(z0)};const Xu=32,Ql=36,p_=`\n`,ap=[\"math\",\"math-display\"];var Ll=function(b0){var z0=b0||{};Go.call(this,z0),go.call(this,z0)},$l=function(b0){var z0=this.Parser,U1=this.Compiler;(function(Bx){return Boolean(Bx&&Bx.prototype&&Bx.prototype.blockTokenizers)})(z0)&&function(Bx,pe){for(var ne,Te=pe||{},ir=Bx.prototype,hn=ir.blockTokenizers,sn=ir.inlineTokenizers,Mr=ir.blockMethods,ai=ir.inlineMethods,li=hn.definition,Hr=sn.reference,uo=[],fi=-1,Fs=Mr.length;++fi<Fs;)(ne=Mr[fi])!==\"newline\"&&ne!==\"indentedCode\"&&ne!==\"paragraph\"&&ne!==\"footnoteDefinition\"&&uo.push([ne]);uo.push([\"footnoteDefinition\"]),Te.inlineNotes&&(a2(ai,\"reference\",\"inlineNote\"),sn.inlineNote=ru);function $a(nu,kc,hc){for(var k2,KD,oS,Iu,J2,Nc,Yd,H2,Xp,wS,Yp,Vm,So,cT=this,Dh=cT.interruptFootnoteDefinition,D2=cT.offset,Bd=kc.length+1,pf=0,ld=[];pf<Bd&&((Iu=kc.charCodeAt(pf))===9||Iu===yp);)pf++;if(kc.charCodeAt(pf++)===Gs&&kc.charCodeAt(pf++)===fo){for(KD=pf;pf<Bd;){if((Iu=kc.charCodeAt(pf))!=Iu||Iu===Tu||Iu===9||Iu===yp)return;if(Iu===ra){oS=pf,pf++;break}pf++}if(oS!==void 0&&KD!==oS&&kc.charCodeAt(pf++)===58){if(hc)return!0;for(k2=kc.slice(KD,oS),J2=nu.now(),Xp=0,wS=0,Yp=pf,Vm=[];pf<Bd;){if((Iu=kc.charCodeAt(pf))!=Iu||Iu===Tu)So={start:Xp,contentStart:Yp||pf,contentEnd:pf,end:pf},Vm.push(So),Iu===Tu&&(Xp=pf+1,wS=0,Yp=void 0,So.end=Xp);else if(wS!==void 0)if(Iu===yp||Iu===9)(wS+=Iu===yp?1:4-wS%4)>4&&(wS=void 0,Yp=pf);else{if(wS<4&&So&&(So.contentStart===So.contentEnd||V8(Dh,hn,cT,[nu,kc.slice(pf,1024),!0])))break;wS=void 0,Yp=pf}pf++}for(pf=-1,Bd=Vm.length;Bd>0&&(So=Vm[Bd-1]).contentStart===So.contentEnd;)Bd--;for(Nc=nu(kc.slice(0,So.contentEnd));++pf<Bd;)So=Vm[pf],D2[J2.line+pf]=(D2[J2.line+pf]||0)+(So.contentStart-So.start),ld.push(kc.slice(So.contentStart,So.end));return Yd=cT.enterBlock(),H2=cT.tokenizeBlock(ld.join(\"\"),J2),Yd(),Nc({type:\"footnoteDefinition\",identifier:k2.toLowerCase(),label:k2,children:H2})}}}function Ys(nu,kc,hc){var k2,KD,oS,Iu,J2=kc.length+1,Nc=0;if(kc.charCodeAt(Nc++)===Gs&&kc.charCodeAt(Nc++)===fo){for(KD=Nc;Nc<J2;){if((Iu=kc.charCodeAt(Nc))!=Iu||Iu===Tu||Iu===9||Iu===yp)return;if(Iu===ra){oS=Nc,Nc++;break}Nc++}if(oS!==void 0&&KD!==oS)return!!hc||(k2=kc.slice(KD,oS),nu(kc.slice(0,Nc))({type:\"footnoteReference\",identifier:k2.toLowerCase(),label:k2}))}}function ru(nu,kc,hc){var k2,KD,oS,Iu,J2,Nc,Yd,H2=this,Xp=kc.length+1,wS=0,Yp=0;if(kc.charCodeAt(wS++)===fo&&kc.charCodeAt(wS++)===Gs){for(oS=wS;wS<Xp;){if((KD=kc.charCodeAt(wS))!=KD)return;if(Nc===void 0)if(KD===92)wS+=2;else if(KD===Gs)Yp++,wS++;else if(KD===ra){if(Yp===0){Iu=wS,wS++;break}Yp--,wS++}else if(KD===lu){for(J2=wS,Nc=1;kc.charCodeAt(J2+Nc)===lu;)Nc++;wS+=Nc}else wS++;else if(KD===lu){for(J2=wS,Yd=1;kc.charCodeAt(J2+Yd)===lu;)Yd++;wS+=Yd,Nc===Yd&&(Nc=void 0),Yd=void 0}else wS++}if(Iu!==void 0)return!!hc||((k2=nu.now()).column+=2,k2.offset+=2,nu(kc.slice(0,wS))({type:\"footnote\",children:H2.tokenizeInline(kc.slice(oS,Iu),k2)}))}}function js(nu,kc,hc){var k2=0;if(kc.charCodeAt(k2)===33&&k2++,kc.charCodeAt(k2)===Gs&&kc.charCodeAt(k2+1)!==fo)return Hr.call(this,nu,kc,hc)}function Yu(nu,kc,hc){for(var k2=0,KD=kc.charCodeAt(k2);KD===yp||KD===9;)KD=kc.charCodeAt(++k2);if(KD===Gs&&kc.charCodeAt(k2+1)!==fo)return li.call(this,nu,kc,hc)}function wc(nu,kc){return nu.indexOf(\"[\",kc)}function au(nu,kc){return nu.indexOf(\"^[\",kc)}a2(Mr,\"definition\",\"footnoteDefinition\"),a2(ai,\"reference\",\"footnoteCall\"),hn.definition=Yu,hn.footnoteDefinition=$a,sn.footnoteCall=Ys,sn.reference=js,ir.interruptFootnoteDefinition=uo,js.locator=Hr.locator,Ys.locator=wc,ru.locator=au}(z0,b0),function(Bx){return Boolean(Bx&&Bx.prototype&&Bx.prototype.visitors)}(U1)&&function(Bx){var pe=Bx.prototype.visitors,ne=\"    \";function Te(sn){return\"^[\"+this.all(sn).join(\"\")+\"]\"}function ir(sn){return\"[^\"+(sn.label||sn.identifier)+\"]\"}function hn(sn){for(var Mr,ai=this.all(sn).join(`\n\n`).split(`\n`),li=0,Hr=ai.length;++li<Hr;)(Mr=ai[li])!==\"\"&&(ai[li]=ne+Mr);return\"[^\"+(sn.label||sn.identifier)+\"]: \"+ai.join(`\n`)}pe.footnote=Te,pe.footnoteReference=ir,pe.footnoteDefinition=hn}(U1)},Tu=10,yp=32,Gs=91,ra=93,fo=94,lu=96;function a2(b0,z0,U1){b0.splice(b0.indexOf(z0),0,U1)}function V8(b0,z0,U1,Bx){for(var pe=b0.length,ne=-1;++ne<pe;)if(z0[b0[ne][0]].apply(U1,Bx))return!0;return!1}const YF=new RegExp(\"^(?<startDelimiter>-{3}|\\\\+{3})(?<language>[^\\\\n]*)\\\\n(?:|(?<value>.*?)\\\\n)(?<endDelimiter>\\\\k<startDelimiter>|\\\\.{3})[^\\\\S\\\\n]*(?:\\\\n|$)\",\"s\");var T8=function(b0){const z0=b0.match(YF);if(!z0)return{content:b0};const{startDelimiter:U1,language:Bx,value:pe=\"\",endDelimiter:ne}=z0.groups;let Te=Bx.trim()||\"yaml\";if(U1===\"+++\"&&(Te=\"toml\"),Te!==\"yaml\"&&U1!==ne)return{content:b0};const[ir]=z0;return{frontMatter:{type:\"front-matter\",lang:Te,value:pe,startDelimiter:U1,endDelimiter:ne,raw:ir.replace(/\\n$/,\"\")},content:ir.replace(/[^\\n]/g,\" \")+b0.slice(ir.length)}};const Q4=[\"format\",\"prettier\"];function D4(b0){const z0=`@(${Q4.join(\"|\")})`,U1=new RegExp([`<!--\\\\s*${z0}\\\\s*-->`,`<!--.*\\r?\n[\\\\s\\\\S]*(^|\n)[^\\\\S\n]*${z0}[^\\\\S\n]*($|\n)[\\\\s\\\\S]*\n.*-->`].join(\"|\"),\"m\"),Bx=b0.match(U1);return Bx&&Bx.index===0}var E5={startWithPragma:D4,hasPragma:b0=>D4(T8(b0).content.trimStart()),insertPragma:b0=>{const z0=T8(b0),U1=`<!-- @${Q4[0]} -->`;return z0.frontMatter?`${z0.frontMatter.raw}\n\n${U1}\n\n${z0.content}`:`${U1}\n\n${z0.content}`}},QF={locStart:function(b0){return b0.position.start.offset},locEnd:function(b0){return b0.position.end.offset}},Ww=b0=>typeof b0==\"string\"?b0.replace((({onlyFirst:z0=!1}={})=>{const U1=[\"[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:[a-zA-Z\\\\d]*(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)\",\"(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))\"].join(\"|\");return new RegExp(U1,z0?void 0:\"g\")})(),\"\"):b0;const K2=b0=>!Number.isNaN(b0)&&b0>=4352&&(b0<=4447||b0===9001||b0===9002||11904<=b0&&b0<=12871&&b0!==12351||12880<=b0&&b0<=19903||19968<=b0&&b0<=42182||43360<=b0&&b0<=43388||44032<=b0&&b0<=55203||63744<=b0&&b0<=64255||65040<=b0&&b0<=65049||65072<=b0&&b0<=65131||65281<=b0&&b0<=65376||65504<=b0&&b0<=65510||110592<=b0&&b0<=110593||127488<=b0&&b0<=127569||131072<=b0&&b0<=262141);var Sn=K2,M4=K2;Sn.default=M4;const B6=b0=>{if(typeof b0!=\"string\"||b0.length===0||(b0=Ww(b0)).length===0)return 0;b0=b0.replace(/\\uD83C\\uDFF4\\uDB40\\uDC67\\uDB40\\uDC62(?:\\uDB40\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67|\\uDB40\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDB40\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73)\\uDB40\\uDC7F|\\uD83D\\uDC68(?:\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C\\uDFFB|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFE])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83D\\uDC68|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D[\\uDC66\\uDC67])|[\\u2695\\u2696\\u2708]\\uFE0F|\\uD83D[\\uDC66\\uDC67]|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|(?:\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708])\\uFE0F|\\uD83C\\uDFFB\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C[\\uDFFB-\\uDFFF])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFB\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)\\uD83C\\uDFFB|\\uD83E\\uDDD1(?:\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1)|(?:\\uD83E\\uDDD1\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69]))(?:\\uD83C[\\uDFFB-\\uDFFE])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83D\\uDC69(?:\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFB\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFC-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D(?:\\uD83D[\\uDC68\\uDC69])|\\uD83D[\\uDC68\\uDC69])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|(?:\\uD83E\\uDDD1\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D\\uDC41\\uFE0F\\u200D\\uD83D\\uDDE8|\\uD83D\\uDC69(?:\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708])|(?:(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)\\uFE0F|\\uD83D\\uDC6F|\\uD83E[\\uDD3C\\uDDDE\\uDDDF])\\u200D[\\u2640\\u2642]|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|\\u200D[\\u2640\\u2642])|\\uD83C\\uDFF4\\u200D\\u2620)\\uFE0F|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|\\uD83C\\uDFF3\\uFE0F\\u200D\\uD83C\\uDF08|\\uD83D\\uDC15\\u200D\\uD83E\\uDDBA|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67|\\uD83C\\uDDFD\\uD83C\\uDDF0|\\uD83C\\uDDF4\\uD83C\\uDDF2|\\uD83C\\uDDF6\\uD83C\\uDDE6|[#\\*0-9]\\uFE0F\\u20E3|\\uD83C\\uDDE7(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDF9(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF])|\\uD83C\\uDDEA(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA])|\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF7(?:\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC])|\\uD83D\\uDC69(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF2(?:\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF])|\\uD83C\\uDDE6(?:\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF])|\\uD83C\\uDDF0(?:\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDED(?:\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA])|\\uD83C\\uDDE9(?:\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF])|\\uD83C\\uDDFE(?:\\uD83C[\\uDDEA\\uDDF9])|\\uD83C\\uDDEC(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE])|\\uD83C\\uDDF8(?:\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF])|\\uD83C\\uDDEB(?:\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7])|\\uD83C\\uDDF5(?:\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE])|\\uD83C\\uDDFB(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA])|\\uD83C\\uDDF3(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF])|\\uD83C\\uDDE8(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF5\\uDDF7\\uDDFA-\\uDDFF])|\\uD83C\\uDDF1(?:\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE])|\\uD83C\\uDDFF(?:\\uD83C[\\uDDE6\\uDDF2\\uDDFC])|\\uD83C\\uDDFC(?:\\uD83C[\\uDDEB\\uDDF8])|\\uD83C\\uDDFA(?:\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF])|\\uD83C\\uDDEE(?:\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9])|\\uD83C\\uDDEF(?:\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5])|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u261D\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2\\uDFC7]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC70\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDCAA\\uDD74\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1C\\uDD1E\\uDD1F\\uDD30-\\uDD36\\uDDB5\\uDDB6\\uDDBB\\uDDD2-\\uDDD5])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u231A\\u231B\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u25FE\\u2614\\u2615\\u2648-\\u2653\\u267F\\u2693\\u26A1\\u26AA\\u26AB\\u26BD\\u26BE\\u26C4\\u26C5\\u26CE\\u26D4\\u26EA\\u26F2\\u26F3\\u26F5\\u26FA\\u26FD\\u2705\\u270A\\u270B\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2795-\\u2797\\u27B0\\u27BF\\u2B1B\\u2B1C\\u2B50\\u2B55]|\\uD83C[\\uDC04\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF7C\\uDF7E-\\uDF93\\uDFA0-\\uDFCA\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF4\\uDFF8-\\uDFFF]|\\uD83D[\\uDC00-\\uDC3E\\uDC40\\uDC42-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDD7A\\uDD95\\uDD96\\uDDA4\\uDDFB-\\uDE4F\\uDE80-\\uDEC5\\uDECC\\uDED0-\\uDED2\\uDED5\\uDEEB\\uDEEC\\uDEF4-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])|(?:[#\\*0-9\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u231A\\u231B\\u2328\\u23CF\\u23E9-\\u23F3\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB-\\u25FE\\u2600-\\u2604\\u260E\\u2611\\u2614\\u2615\\u2618\\u261D\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u2648-\\u2653\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u267F\\u2692-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A1\\u26AA\\u26AB\\u26B0\\u26B1\\u26BD\\u26BE\\u26C4\\u26C5\\u26C8\\u26CE\\u26CF\\u26D1\\u26D3\\u26D4\\u26E9\\u26EA\\u26F0-\\u26F5\\u26F7-\\u26FA\\u26FD\\u2702\\u2705\\u2708-\\u270D\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2728\\u2733\\u2734\\u2744\\u2747\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2763\\u2764\\u2795-\\u2797\\u27A1\\u27B0\\u27BF\\u2934\\u2935\\u2B05-\\u2B07\\u2B1B\\u2B1C\\u2B50\\u2B55\\u3030\\u303D\\u3297\\u3299]|\\uD83C[\\uDC04\\uDCCF\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE02\\uDE1A\\uDE2F\\uDE32-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF21\\uDF24-\\uDF93\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E-\\uDFF0\\uDFF3-\\uDFF5\\uDFF7-\\uDFFF]|\\uD83D[\\uDC00-\\uDCFD\\uDCFF-\\uDD3D\\uDD49-\\uDD4E\\uDD50-\\uDD67\\uDD6F\\uDD70\\uDD73-\\uDD7A\\uDD87\\uDD8A-\\uDD8D\\uDD90\\uDD95\\uDD96\\uDDA4\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA-\\uDE4F\\uDE80-\\uDEC5\\uDECB-\\uDED2\\uDED5\\uDEE0-\\uDEE5\\uDEE9\\uDEEB\\uDEEC\\uDEF0\\uDEF3-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])\\uFE0F|(?:[\\u261D\\u26F9\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2-\\uDFC4\\uDFC7\\uDFCA-\\uDFCC]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66-\\uDC78\\uDC7C\\uDC81-\\uDC83\\uDC85-\\uDC87\\uDC8F\\uDC91\\uDCAA\\uDD74\\uDD75\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE45-\\uDE47\\uDE4B-\\uDE4F\\uDEA3\\uDEB4-\\uDEB6\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1F\\uDD26\\uDD30-\\uDD39\\uDD3C-\\uDD3E\\uDDB5\\uDDB6\\uDDB8\\uDDB9\\uDDBB\\uDDCD-\\uDDCF\\uDDD1-\\uDDDD])/g,\"  \");let z0=0;for(let U1=0;U1<b0.length;U1++){const Bx=b0.codePointAt(U1);Bx<=31||Bx>=127&&Bx<=159||Bx>=768&&Bx<=879||(Bx>65535&&U1++,z0+=Sn(Bx)?2:1)}return z0};var x6=B6,vf=B6;x6.default=vf;var Eu=b0=>{if(typeof b0!=\"string\")throw new TypeError(\"Expected a string\");return b0.replace(/[|\\\\{}()[\\]^$+*?.]/g,\"\\\\$&\").replace(/-/g,\"\\\\x2d\")},jh=b0=>b0[b0.length-1];function Cb(b0,z0){if(b0==null)return{};var U1,Bx,pe=function(Te,ir){if(Te==null)return{};var hn,sn,Mr={},ai=Object.keys(Te);for(sn=0;sn<ai.length;sn++)hn=ai[sn],ir.indexOf(hn)>=0||(Mr[hn]=Te[hn]);return Mr}(b0,z0);if(Object.getOwnPropertySymbols){var ne=Object.getOwnPropertySymbols(b0);for(Bx=0;Bx<ne.length;Bx++)U1=ne[Bx],z0.indexOf(U1)>=0||Object.prototype.propertyIsEnumerable.call(b0,U1)&&(pe[U1]=b0[U1])}return pe}var px=function(b0){return b0&&b0.Math==Math&&b0},Tf=px(typeof globalThis==\"object\"&&globalThis)||px(typeof window==\"object\"&&window)||px(typeof self==\"object\"&&self)||px(typeof R==\"object\"&&R)||function(){return this}()||Function(\"return this\")(),e6=function(b0){try{return!!b0()}catch{return!0}},z2=!e6(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7}),ty={}.propertyIsEnumerable,yS=Object.getOwnPropertyDescriptor,TS={f:yS&&!ty.call({1:2},1)?function(b0){var z0=yS(this,b0);return!!z0&&z0.enumerable}:ty},L6=function(b0,z0){return{enumerable:!(1&b0),configurable:!(2&b0),writable:!(4&b0),value:z0}},v4={}.toString,W2=function(b0){return v4.call(b0).slice(8,-1)},pt=\"\".split,b4=e6(function(){return!Object(\"z\").propertyIsEnumerable(0)})?function(b0){return W2(b0)==\"String\"?pt.call(b0,\"\"):Object(b0)}:Object,M6=function(b0){if(b0==null)throw TypeError(\"Can't call method on \"+b0);return b0},B1=function(b0){return b4(M6(b0))},Yx=function(b0){return typeof b0==\"object\"?b0!==null:typeof b0==\"function\"},Oe=function(b0,z0){if(!Yx(b0))return b0;var U1,Bx;if(z0&&typeof(U1=b0.toString)==\"function\"&&!Yx(Bx=U1.call(b0))||typeof(U1=b0.valueOf)==\"function\"&&!Yx(Bx=U1.call(b0))||!z0&&typeof(U1=b0.toString)==\"function\"&&!Yx(Bx=U1.call(b0)))return Bx;throw TypeError(\"Can't convert object to primitive value\")},zt=function(b0){return Object(M6(b0))},an={}.hasOwnProperty,xi=Object.hasOwn||function(b0,z0){return an.call(zt(b0),z0)},xs=Tf.document,bi=Yx(xs)&&Yx(xs.createElement),ya=!z2&&!e6(function(){return Object.defineProperty(function(b0){return bi?xs.createElement(b0):{}}(\"div\"),\"a\",{get:function(){return 7}}).a!=7}),ul=Object.getOwnPropertyDescriptor,mu={f:z2?ul:function(b0,z0){if(b0=B1(b0),z0=Oe(z0,!0),ya)try{return ul(b0,z0)}catch{}if(xi(b0,z0))return L6(!TS.f.call(b0,z0),b0[z0])}},Ds=function(b0){if(!Yx(b0))throw TypeError(String(b0)+\" is not an object\");return b0},a6=Object.defineProperty,Mc={f:z2?a6:function(b0,z0,U1){if(Ds(b0),z0=Oe(z0,!0),Ds(U1),ya)try{return a6(b0,z0,U1)}catch{}if(\"get\"in U1||\"set\"in U1)throw TypeError(\"Accessors not supported\");return\"value\"in U1&&(b0[z0]=U1.value),b0}},bf=z2?function(b0,z0,U1){return Mc.f(b0,z0,L6(1,U1))}:function(b0,z0,U1){return b0[z0]=U1,b0},Rc=function(b0,z0){try{bf(Tf,b0,z0)}catch{Tf[b0]=z0}return z0},Pa=\"__core-js_shared__\",Uu=Tf[Pa]||Rc(Pa,{}),q2=Function.toString;typeof Uu.inspectSource!=\"function\"&&(Uu.inspectSource=function(b0){return q2.call(b0)});var Kl,Bs,qf,Zl,ZF=Uu.inspectSource,Sl=Tf.WeakMap,$8=typeof Sl==\"function\"&&/native code/.test(ZF(Sl)),wl=s0(function(b0){(b0.exports=function(z0,U1){return Uu[z0]||(Uu[z0]=U1!==void 0?U1:{})})(\"versions\",[]).push({version:\"3.14.0\",mode:\"global\",copyright:\"\\xA9 2021 Denis Pushkarev (zloirock.ru)\"})}),Ko=0,$u=Math.random(),dF=function(b0){return\"Symbol(\"+String(b0===void 0?\"\":b0)+\")_\"+(++Ko+$u).toString(36)},nE=wl(\"keys\"),pm={},bl=\"Object already initialized\",nf=Tf.WeakMap;if($8||Uu.state){var Ts=Uu.state||(Uu.state=new nf),xf=Ts.get,w8=Ts.has,WT=Ts.set;Kl=function(b0,z0){if(w8.call(Ts,b0))throw new TypeError(bl);return z0.facade=b0,WT.call(Ts,b0,z0),z0},Bs=function(b0){return xf.call(Ts,b0)||{}},qf=function(b0){return w8.call(Ts,b0)}}else{var al=nE[Zl=\"state\"]||(nE[Zl]=dF(Zl));pm[al]=!0,Kl=function(b0,z0){if(xi(b0,al))throw new TypeError(bl);return z0.facade=b0,bf(b0,al,z0),z0},Bs=function(b0){return xi(b0,al)?b0[al]:{}},qf=function(b0){return xi(b0,al)}}var Z4,op,PF={set:Kl,get:Bs,has:qf,enforce:function(b0){return qf(b0)?Bs(b0):Kl(b0,{})},getterFor:function(b0){return function(z0){var U1;if(!Yx(z0)||(U1=Bs(z0)).type!==b0)throw TypeError(\"Incompatible receiver, \"+b0+\" required\");return U1}}},Lf=s0(function(b0){var z0=PF.get,U1=PF.enforce,Bx=String(String).split(\"String\");(b0.exports=function(pe,ne,Te,ir){var hn,sn=!!ir&&!!ir.unsafe,Mr=!!ir&&!!ir.enumerable,ai=!!ir&&!!ir.noTargetGet;typeof Te==\"function\"&&(typeof ne!=\"string\"||xi(Te,\"name\")||bf(Te,\"name\",ne),(hn=U1(Te)).source||(hn.source=Bx.join(typeof ne==\"string\"?ne:\"\"))),pe!==Tf?(sn?!ai&&pe[ne]&&(Mr=!0):delete pe[ne],Mr?pe[ne]=Te:bf(pe,ne,Te)):Mr?pe[ne]=Te:Rc(ne,Te)})(Function.prototype,\"toString\",function(){return typeof this==\"function\"&&z0(this).source||ZF(this)})}),xA=Tf,nw=function(b0){return typeof b0==\"function\"?b0:void 0},Hd=function(b0,z0){return arguments.length<2?nw(xA[b0])||nw(Tf[b0]):xA[b0]&&xA[b0][z0]||Tf[b0]&&Tf[b0][z0]},o2=Math.ceil,Pu=Math.floor,mF=function(b0){return isNaN(b0=+b0)?0:(b0>0?Pu:o2)(b0)},sp=Math.min,wu=function(b0){return b0>0?sp(mF(b0),9007199254740991):0},Hp=Math.max,ep=Math.min,Uf=function(b0){return function(z0,U1,Bx){var pe,ne=B1(z0),Te=wu(ne.length),ir=function(hn,sn){var Mr=mF(hn);return Mr<0?Hp(Mr+sn,0):ep(Mr,sn)}(Bx,Te);if(b0&&U1!=U1){for(;Te>ir;)if((pe=ne[ir++])!=pe)return!0}else for(;Te>ir;ir++)if((b0||ir in ne)&&ne[ir]===U1)return b0||ir||0;return!b0&&-1}},ff={includes:Uf(!0),indexOf:Uf(!1)}.indexOf,iw=[\"constructor\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"toLocaleString\",\"toString\",\"valueOf\"].concat(\"length\",\"prototype\"),R4={f:Object.getOwnPropertyNames||function(b0){return function(z0,U1){var Bx,pe=B1(z0),ne=0,Te=[];for(Bx in pe)!xi(pm,Bx)&&xi(pe,Bx)&&Te.push(Bx);for(;U1.length>ne;)xi(pe,Bx=U1[ne++])&&(~ff(Te,Bx)||Te.push(Bx));return Te}(b0,iw)}},o5={f:Object.getOwnPropertySymbols},Gd=Hd(\"Reflect\",\"ownKeys\")||function(b0){var z0=R4.f(Ds(b0)),U1=o5.f;return U1?z0.concat(U1(b0)):z0},cd=function(b0,z0){for(var U1=Gd(z0),Bx=Mc.f,pe=mu.f,ne=0;ne<U1.length;ne++){var Te=U1[ne];xi(b0,Te)||Bx(b0,Te,pe(z0,Te))}},uT=/#|\\.prototype\\./,Mf=function(b0,z0){var U1=C4[Ap(b0)];return U1==tp||U1!=wT&&(typeof z0==\"function\"?e6(z0):!!z0)},Ap=Mf.normalize=function(b0){return String(b0).replace(uT,\".\").toLowerCase()},C4=Mf.data={},wT=Mf.NATIVE=\"N\",tp=Mf.POLYFILL=\"P\",o6=Mf,hF=mu.f,Nl=function(b0,z0){var U1,Bx,pe,ne,Te,ir=b0.target,hn=b0.global,sn=b0.stat;if(U1=hn?Tf:sn?Tf[ir]||Rc(ir,{}):(Tf[ir]||{}).prototype)for(Bx in z0){if(ne=z0[Bx],pe=b0.noTargetGet?(Te=hF(U1,Bx))&&Te.value:U1[Bx],!o6(hn?Bx:ir+(sn?\".\":\"#\")+Bx,b0.forced)&&pe!==void 0){if(typeof ne==typeof pe)continue;cd(ne,pe)}(b0.sham||pe&&pe.sham)&&bf(ne,\"sham\",!0),Lf(U1,Bx,ne,b0)}},cl=Array.isArray||function(b0){return W2(b0)==\"Array\"},SA=function(b0){if(typeof b0!=\"function\")throw TypeError(String(b0)+\" is not a function\");return b0},Vf=function(b0,z0,U1){if(SA(b0),z0===void 0)return b0;switch(U1){case 0:return function(){return b0.call(z0)};case 1:return function(Bx){return b0.call(z0,Bx)};case 2:return function(Bx,pe){return b0.call(z0,Bx,pe)};case 3:return function(Bx,pe,ne){return b0.call(z0,Bx,pe,ne)}}return function(){return b0.apply(z0,arguments)}},hl=function(b0,z0,U1,Bx,pe,ne,Te,ir){for(var hn,sn=pe,Mr=0,ai=!!Te&&Vf(Te,ir,3);Mr<Bx;){if(Mr in U1){if(hn=ai?ai(U1[Mr],Mr,z0):U1[Mr],ne>0&&cl(hn))sn=hl(b0,z0,hn,wu(hn.length),sn,ne-1)-1;else{if(sn>=9007199254740991)throw TypeError(\"Exceed the acceptable array length\");b0[sn]=hn}sn++}Mr++}return sn},Id=hl,wf=Hd(\"navigator\",\"userAgent\")||\"\",tl=Tf.process,kf=tl&&tl.versions,Tp=kf&&kf.v8;Tp?op=(Z4=Tp.split(\".\"))[0]<4?1:Z4[0]+Z4[1]:wf&&(!(Z4=wf.match(/Edge\\/(\\d+)/))||Z4[1]>=74)&&(Z4=wf.match(/Chrome\\/(\\d+)/))&&(op=Z4[1]);var Xd=op&&+op,M0=!!Object.getOwnPropertySymbols&&!e6(function(){var b0=Symbol();return!String(b0)||!(Object(b0)instanceof Symbol)||!Symbol.sham&&Xd&&Xd<41}),e0=M0&&!Symbol.sham&&typeof Symbol.iterator==\"symbol\",R0=wl(\"wks\"),R1=Tf.Symbol,H1=e0?R1:R1&&R1.withoutSetter||dF,Jx=function(b0){return xi(R0,b0)&&(M0||typeof R0[b0]==\"string\")||(M0&&xi(R1,b0)?R0[b0]=R1[b0]:R0[b0]=H1(\"Symbol.\"+b0)),R0[b0]},Se=Jx(\"species\"),Ye=function(b0,z0){var U1;return cl(b0)&&(typeof(U1=b0.constructor)!=\"function\"||U1!==Array&&!cl(U1.prototype)?Yx(U1)&&(U1=U1[Se])===null&&(U1=void 0):U1=void 0),new(U1===void 0?Array:U1)(z0===0?0:z0)};Nl({target:\"Array\",proto:!0},{flatMap:function(b0){var z0,U1=zt(this),Bx=wu(U1.length);return SA(b0),(z0=Ye(U1,0)).length=Id(z0,U1,U1,Bx,0,1,b0,arguments.length>1?arguments[1]:void 0),z0}});var tt,Er,Zt=Math.floor,hi=function(b0,z0){var U1=b0.length,Bx=Zt(U1/2);return U1<8?po(b0,z0):ba(hi(b0.slice(0,Bx),z0),hi(b0.slice(Bx),z0),z0)},po=function(b0,z0){for(var U1,Bx,pe=b0.length,ne=1;ne<pe;){for(Bx=ne,U1=b0[ne];Bx&&z0(b0[Bx-1],U1)>0;)b0[Bx]=b0[--Bx];Bx!==ne++&&(b0[Bx]=U1)}return b0},ba=function(b0,z0,U1){for(var Bx=b0.length,pe=z0.length,ne=0,Te=0,ir=[];ne<Bx||Te<pe;)ne<Bx&&Te<pe?ir.push(U1(b0[ne],z0[Te])<=0?b0[ne++]:z0[Te++]):ir.push(ne<Bx?b0[ne++]:z0[Te++]);return ir},oa=hi,ho=wf.match(/firefox\\/(\\d+)/i),Za=!!ho&&+ho[1],Od=/MSIE|Trident/.test(wf),Cl=wf.match(/AppleWebKit\\/(\\d+)\\./),S=!!Cl&&+Cl[1],N0=[],P1=N0.sort,zx=e6(function(){N0.sort(void 0)}),$e=e6(function(){N0.sort(null)}),bt=!!(Er=[].sort)&&e6(function(){Er.call(null,tt||function(){throw 1},1)}),qr=!e6(function(){if(Xd)return Xd<70;if(!(Za&&Za>3)){if(Od)return!0;if(S)return S<603;var b0,z0,U1,Bx,pe=\"\";for(b0=65;b0<76;b0++){switch(z0=String.fromCharCode(b0),b0){case 66:case 69:case 70:case 72:U1=3;break;case 68:case 71:U1=4;break;default:U1=2}for(Bx=0;Bx<47;Bx++)N0.push({k:z0+Bx,v:U1})}for(N0.sort(function(ne,Te){return Te.v-ne.v}),Bx=0;Bx<N0.length;Bx++)z0=N0[Bx].k.charAt(0),pe.charAt(pe.length-1)!==z0&&(pe+=z0);return pe!==\"DGBEFHACIJK\"}});Nl({target:\"Array\",proto:!0,forced:zx||!$e||!bt||!qr},{sort:function(b0){b0!==void 0&&SA(b0);var z0=zt(this);if(qr)return b0===void 0?P1.call(z0):P1.call(z0,b0);var U1,Bx,pe=[],ne=wu(z0.length);for(Bx=0;Bx<ne;Bx++)Bx in z0&&pe.push(z0[Bx]);for(U1=(pe=oa(pe,function(Te){return function(ir,hn){return hn===void 0?-1:ir===void 0?1:Te!==void 0?+Te(ir,hn)||0:String(ir)>String(hn)?1:-1}}(b0))).length,Bx=0;Bx<U1;)z0[Bx]=pe[Bx++];for(;Bx<ne;)delete z0[Bx++];return z0}});var ji={},B0=Jx(\"iterator\"),d=Array.prototype,N={};N[Jx(\"toStringTag\")]=\"z\";var C0=String(N)===\"[object z]\",_1=Jx(\"toStringTag\"),jx=W2(function(){return arguments}())==\"Arguments\",We=C0?W2:function(b0){var z0,U1,Bx;return b0===void 0?\"Undefined\":b0===null?\"Null\":typeof(U1=function(pe,ne){try{return pe[ne]}catch{}}(z0=Object(b0),_1))==\"string\"?U1:jx?W2(z0):(Bx=W2(z0))==\"Object\"&&typeof z0.callee==\"function\"?\"Arguments\":Bx},mt=Jx(\"iterator\"),$t=function(b0){var z0=b0.return;if(z0!==void 0)return Ds(z0.call(b0)).value},Zn=function(b0,z0){this.stopped=b0,this.result=z0},_i=function(b0,z0,U1){var Bx,pe,ne,Te,ir,hn,sn,Mr=U1&&U1.that,ai=!(!U1||!U1.AS_ENTRIES),li=!(!U1||!U1.IS_ITERATOR),Hr=!(!U1||!U1.INTERRUPTED),uo=Vf(z0,Mr,1+ai+Hr),fi=function($a){return Bx&&$t(Bx),new Zn(!0,$a)},Fs=function($a){return ai?(Ds($a),Hr?uo($a[0],$a[1],fi):uo($a[0],$a[1])):Hr?uo($a,fi):uo($a)};if(li)Bx=b0;else{if(typeof(pe=function($a){if($a!=null)return $a[mt]||$a[\"@@iterator\"]||ji[We($a)]}(b0))!=\"function\")throw TypeError(\"Target is not iterable\");if(function($a){return $a!==void 0&&(ji.Array===$a||d[B0]===$a)}(pe)){for(ne=0,Te=wu(b0.length);Te>ne;ne++)if((ir=Fs(b0[ne]))&&ir instanceof Zn)return ir;return new Zn(!1)}Bx=pe.call(b0)}for(hn=Bx.next;!(sn=hn.call(Bx)).done;){try{ir=Fs(sn.value)}catch($a){throw $t(Bx),$a}if(typeof ir==\"object\"&&ir&&ir instanceof Zn)return ir}return new Zn(!1)};Nl({target:\"Object\",stat:!0},{fromEntries:function(b0){var z0={};return _i(b0,function(U1,Bx){(function(pe,ne,Te){var ir=Oe(ne);ir in pe?Mc.f(pe,ir,L6(0,Te)):pe[ir]=Te})(z0,U1,Bx)},{AS_ENTRIES:!0}),z0}});var Va=typeof _s==\"object\"&&_s.env&&_s.env.NODE_DEBUG&&/\\bsemver\\b/i.test(_s.env.NODE_DEBUG)?(...b0)=>console.error(\"SEMVER\",...b0):()=>{},Bo={SEMVER_SPEC_VERSION:\"2.0.0\",MAX_LENGTH:256,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,MAX_SAFE_COMPONENT_LENGTH:16},Rt=s0(function(b0,z0){const{MAX_SAFE_COMPONENT_LENGTH:U1}=Bo,Bx=(z0=b0.exports={}).re=[],pe=z0.src=[],ne=z0.t={};let Te=0;const ir=(hn,sn,Mr)=>{const ai=Te++;Va(ai,sn),ne[hn]=ai,pe[ai]=sn,Bx[ai]=new RegExp(sn,Mr?\"g\":void 0)};ir(\"NUMERICIDENTIFIER\",\"0|[1-9]\\\\d*\"),ir(\"NUMERICIDENTIFIERLOOSE\",\"[0-9]+\"),ir(\"NONNUMERICIDENTIFIER\",\"\\\\d*[a-zA-Z-][a-zA-Z0-9-]*\"),ir(\"MAINVERSION\",`(${pe[ne.NUMERICIDENTIFIER]})\\\\.(${pe[ne.NUMERICIDENTIFIER]})\\\\.(${pe[ne.NUMERICIDENTIFIER]})`),ir(\"MAINVERSIONLOOSE\",`(${pe[ne.NUMERICIDENTIFIERLOOSE]})\\\\.(${pe[ne.NUMERICIDENTIFIERLOOSE]})\\\\.(${pe[ne.NUMERICIDENTIFIERLOOSE]})`),ir(\"PRERELEASEIDENTIFIER\",`(?:${pe[ne.NUMERICIDENTIFIER]}|${pe[ne.NONNUMERICIDENTIFIER]})`),ir(\"PRERELEASEIDENTIFIERLOOSE\",`(?:${pe[ne.NUMERICIDENTIFIERLOOSE]}|${pe[ne.NONNUMERICIDENTIFIER]})`),ir(\"PRERELEASE\",`(?:-(${pe[ne.PRERELEASEIDENTIFIER]}(?:\\\\.${pe[ne.PRERELEASEIDENTIFIER]})*))`),ir(\"PRERELEASELOOSE\",`(?:-?(${pe[ne.PRERELEASEIDENTIFIERLOOSE]}(?:\\\\.${pe[ne.PRERELEASEIDENTIFIERLOOSE]})*))`),ir(\"BUILDIDENTIFIER\",\"[0-9A-Za-z-]+\"),ir(\"BUILD\",`(?:\\\\+(${pe[ne.BUILDIDENTIFIER]}(?:\\\\.${pe[ne.BUILDIDENTIFIER]})*))`),ir(\"FULLPLAIN\",`v?${pe[ne.MAINVERSION]}${pe[ne.PRERELEASE]}?${pe[ne.BUILD]}?`),ir(\"FULL\",`^${pe[ne.FULLPLAIN]}$`),ir(\"LOOSEPLAIN\",`[v=\\\\s]*${pe[ne.MAINVERSIONLOOSE]}${pe[ne.PRERELEASELOOSE]}?${pe[ne.BUILD]}?`),ir(\"LOOSE\",`^${pe[ne.LOOSEPLAIN]}$`),ir(\"GTLT\",\"((?:<|>)?=?)\"),ir(\"XRANGEIDENTIFIERLOOSE\",`${pe[ne.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`),ir(\"XRANGEIDENTIFIER\",`${pe[ne.NUMERICIDENTIFIER]}|x|X|\\\\*`),ir(\"XRANGEPLAIN\",`[v=\\\\s]*(${pe[ne.XRANGEIDENTIFIER]})(?:\\\\.(${pe[ne.XRANGEIDENTIFIER]})(?:\\\\.(${pe[ne.XRANGEIDENTIFIER]})(?:${pe[ne.PRERELEASE]})?${pe[ne.BUILD]}?)?)?`),ir(\"XRANGEPLAINLOOSE\",`[v=\\\\s]*(${pe[ne.XRANGEIDENTIFIERLOOSE]})(?:\\\\.(${pe[ne.XRANGEIDENTIFIERLOOSE]})(?:\\\\.(${pe[ne.XRANGEIDENTIFIERLOOSE]})(?:${pe[ne.PRERELEASELOOSE]})?${pe[ne.BUILD]}?)?)?`),ir(\"XRANGE\",`^${pe[ne.GTLT]}\\\\s*${pe[ne.XRANGEPLAIN]}$`),ir(\"XRANGELOOSE\",`^${pe[ne.GTLT]}\\\\s*${pe[ne.XRANGEPLAINLOOSE]}$`),ir(\"COERCE\",`(^|[^\\\\d])(\\\\d{1,${U1}})(?:\\\\.(\\\\d{1,${U1}}))?(?:\\\\.(\\\\d{1,${U1}}))?(?:$|[^\\\\d])`),ir(\"COERCERTL\",pe[ne.COERCE],!0),ir(\"LONETILDE\",\"(?:~>?)\"),ir(\"TILDETRIM\",`(\\\\s*)${pe[ne.LONETILDE]}\\\\s+`,!0),z0.tildeTrimReplace=\"$1~\",ir(\"TILDE\",`^${pe[ne.LONETILDE]}${pe[ne.XRANGEPLAIN]}$`),ir(\"TILDELOOSE\",`^${pe[ne.LONETILDE]}${pe[ne.XRANGEPLAINLOOSE]}$`),ir(\"LONECARET\",\"(?:\\\\^)\"),ir(\"CARETTRIM\",`(\\\\s*)${pe[ne.LONECARET]}\\\\s+`,!0),z0.caretTrimReplace=\"$1^\",ir(\"CARET\",`^${pe[ne.LONECARET]}${pe[ne.XRANGEPLAIN]}$`),ir(\"CARETLOOSE\",`^${pe[ne.LONECARET]}${pe[ne.XRANGEPLAINLOOSE]}$`),ir(\"COMPARATORLOOSE\",`^${pe[ne.GTLT]}\\\\s*(${pe[ne.LOOSEPLAIN]})$|^$`),ir(\"COMPARATOR\",`^${pe[ne.GTLT]}\\\\s*(${pe[ne.FULLPLAIN]})$|^$`),ir(\"COMPARATORTRIM\",`(\\\\s*)${pe[ne.GTLT]}\\\\s*(${pe[ne.LOOSEPLAIN]}|${pe[ne.XRANGEPLAIN]})`,!0),z0.comparatorTrimReplace=\"$1$2$3\",ir(\"HYPHENRANGE\",`^\\\\s*(${pe[ne.XRANGEPLAIN]})\\\\s+-\\\\s+(${pe[ne.XRANGEPLAIN]})\\\\s*$`),ir(\"HYPHENRANGELOOSE\",`^\\\\s*(${pe[ne.XRANGEPLAINLOOSE]})\\\\s+-\\\\s+(${pe[ne.XRANGEPLAINLOOSE]})\\\\s*$`),ir(\"STAR\",\"(<|>)?=?\\\\s*\\\\*\"),ir(\"GTE0\",\"^\\\\s*>=\\\\s*0.0.0\\\\s*$\"),ir(\"GTE0PRE\",\"^\\\\s*>=\\\\s*0.0.0-0\\\\s*$\")});const Xs=[\"includePrerelease\",\"loose\",\"rtl\"];var ll=b0=>b0?typeof b0!=\"object\"?{loose:!0}:Xs.filter(z0=>b0[z0]).reduce((z0,U1)=>(z0[U1]=!0,z0),{}):{};const jc=/^[0-9]+$/,xu=(b0,z0)=>{const U1=jc.test(b0),Bx=jc.test(z0);return U1&&Bx&&(b0=+b0,z0=+z0),b0===z0?0:U1&&!Bx?-1:Bx&&!U1?1:b0<z0?-1:1};var Ml={compareIdentifiers:xu,rcompareIdentifiers:(b0,z0)=>xu(z0,b0)};const{MAX_LENGTH:iE,MAX_SAFE_INTEGER:eA}=Bo,{re:y2,t:FA}=Rt,{compareIdentifiers:Rp}=Ml;class VS{constructor(z0,U1){if(U1=ll(U1),z0 instanceof VS){if(z0.loose===!!U1.loose&&z0.includePrerelease===!!U1.includePrerelease)return z0;z0=z0.version}else if(typeof z0!=\"string\")throw new TypeError(`Invalid Version: ${z0}`);if(z0.length>iE)throw new TypeError(`version is longer than ${iE} characters`);Va(\"SemVer\",z0,U1),this.options=U1,this.loose=!!U1.loose,this.includePrerelease=!!U1.includePrerelease;const Bx=z0.trim().match(U1.loose?y2[FA.LOOSE]:y2[FA.FULL]);if(!Bx)throw new TypeError(`Invalid Version: ${z0}`);if(this.raw=z0,this.major=+Bx[1],this.minor=+Bx[2],this.patch=+Bx[3],this.major>eA||this.major<0)throw new TypeError(\"Invalid major version\");if(this.minor>eA||this.minor<0)throw new TypeError(\"Invalid minor version\");if(this.patch>eA||this.patch<0)throw new TypeError(\"Invalid patch version\");Bx[4]?this.prerelease=Bx[4].split(\".\").map(pe=>{if(/^[0-9]+$/.test(pe)){const ne=+pe;if(ne>=0&&ne<eA)return ne}return pe}):this.prerelease=[],this.build=Bx[5]?Bx[5].split(\".\"):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(\".\")}`),this.version}toString(){return this.version}compare(z0){if(Va(\"SemVer.compare\",this.version,this.options,z0),!(z0 instanceof VS)){if(typeof z0==\"string\"&&z0===this.version)return 0;z0=new VS(z0,this.options)}return z0.version===this.version?0:this.compareMain(z0)||this.comparePre(z0)}compareMain(z0){return z0 instanceof VS||(z0=new VS(z0,this.options)),Rp(this.major,z0.major)||Rp(this.minor,z0.minor)||Rp(this.patch,z0.patch)}comparePre(z0){if(z0 instanceof VS||(z0=new VS(z0,this.options)),this.prerelease.length&&!z0.prerelease.length)return-1;if(!this.prerelease.length&&z0.prerelease.length)return 1;if(!this.prerelease.length&&!z0.prerelease.length)return 0;let U1=0;do{const Bx=this.prerelease[U1],pe=z0.prerelease[U1];if(Va(\"prerelease compare\",U1,Bx,pe),Bx===void 0&&pe===void 0)return 0;if(pe===void 0)return 1;if(Bx===void 0)return-1;if(Bx!==pe)return Rp(Bx,pe)}while(++U1)}compareBuild(z0){z0 instanceof VS||(z0=new VS(z0,this.options));let U1=0;do{const Bx=this.build[U1],pe=z0.build[U1];if(Va(\"prerelease compare\",U1,Bx,pe),Bx===void 0&&pe===void 0)return 0;if(pe===void 0)return 1;if(Bx===void 0)return-1;if(Bx!==pe)return Rp(Bx,pe)}while(++U1)}inc(z0,U1){switch(z0){case\"premajor\":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc(\"pre\",U1);break;case\"preminor\":this.prerelease.length=0,this.patch=0,this.minor++,this.inc(\"pre\",U1);break;case\"prepatch\":this.prerelease.length=0,this.inc(\"patch\",U1),this.inc(\"pre\",U1);break;case\"prerelease\":this.prerelease.length===0&&this.inc(\"patch\",U1),this.inc(\"pre\",U1);break;case\"major\":this.minor===0&&this.patch===0&&this.prerelease.length!==0||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case\"minor\":this.patch===0&&this.prerelease.length!==0||this.minor++,this.patch=0,this.prerelease=[];break;case\"patch\":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case\"pre\":if(this.prerelease.length===0)this.prerelease=[0];else{let Bx=this.prerelease.length;for(;--Bx>=0;)typeof this.prerelease[Bx]==\"number\"&&(this.prerelease[Bx]++,Bx=-2);Bx===-1&&this.prerelease.push(0)}U1&&(this.prerelease[0]===U1?isNaN(this.prerelease[1])&&(this.prerelease=[U1,0]):this.prerelease=[U1,0]);break;default:throw new Error(`invalid increment argument: ${z0}`)}return this.format(),this.raw=this.version,this}}var _=VS,v0=(b0,z0,U1)=>new _(b0,U1).compare(new _(z0,U1)),w1=(b0,z0,U1)=>v0(b0,z0,U1)<0,Ix=(b0,z0,U1)=>v0(b0,z0,U1)>=0,Wx=\"2.3.2\",_e=s0(function(b0,z0){function U1(){for(var Fs=[],$a=0;$a<arguments.length;$a++)Fs[$a]=arguments[$a]}function Bx(){return typeof WeakMap!=\"undefined\"?new WeakMap:{add:U1,delete:U1,get:U1,set:U1,has:function(Fs){return!1}}}Object.defineProperty(z0,\"__esModule\",{value:!0}),z0.outdent=void 0;var pe=Object.prototype.hasOwnProperty,ne=function(Fs,$a){return pe.call(Fs,$a)};function Te(Fs,$a){for(var Ys in $a)ne($a,Ys)&&(Fs[Ys]=$a[Ys]);return Fs}var ir=/^[ \\t]*(?:\\r\\n|\\r|\\n)/,hn=/(?:\\r\\n|\\r|\\n)[ \\t]*$/,sn=/^(?:[\\r\\n]|$)/,Mr=/(?:\\r\\n|\\r|\\n)([ \\t]*)(?:[^ \\t\\r\\n]|$)/,ai=/^[ \\t]*[\\r\\n][ \\t\\r\\n]*$/;function li(Fs,$a,Ys){var ru=0,js=Fs[0].match(Mr);js&&(ru=js[1].length);var Yu=new RegExp(\"(\\\\r\\\\n|\\\\r|\\\\n).{0,\"+ru+\"}\",\"g\");$a&&(Fs=Fs.slice(1));var wc=Ys.newline,au=Ys.trimLeadingNewline,nu=Ys.trimTrailingNewline,kc=typeof wc==\"string\",hc=Fs.length;return Fs.map(function(k2,KD){return k2=k2.replace(Yu,\"$1\"),KD===0&&au&&(k2=k2.replace(ir,\"\")),KD===hc-1&&nu&&(k2=k2.replace(hn,\"\")),kc&&(k2=k2.replace(/\\r\\n|\\n|\\r/g,function(oS){return wc})),k2})}function Hr(Fs,$a){for(var Ys=\"\",ru=0,js=Fs.length;ru<js;ru++)Ys+=Fs[ru],ru<js-1&&(Ys+=$a[ru]);return Ys}function uo(Fs){return ne(Fs,\"raw\")&&ne(Fs,\"length\")}var fi=function Fs($a){var Ys=Bx(),ru=Bx();return Te(function js(Yu){for(var wc=[],au=1;au<arguments.length;au++)wc[au-1]=arguments[au];if(uo(Yu)){var nu=Yu,kc=(wc[0]===js||wc[0]===fi)&&ai.test(nu[0])&&sn.test(nu[1]),hc=kc?ru:Ys,k2=hc.get(nu);if(k2||(k2=li(nu,kc,$a),hc.set(nu,k2)),wc.length===0)return k2[0];var KD=Hr(k2,kc?wc.slice(1):wc);return KD}return Fs(Te(Te({},$a),Yu||{}))},{string:function(js){return li([js],!1,$a)[0]}})}({trimLeadingNewline:!0,trimTrailingNewline:!0});z0.outdent=fi,z0.default=fi;try{b0.exports=fi,Object.defineProperty(fi,\"__esModule\",{value:!0}),fi.default=fi,fi.outdent=fi}catch{}});const{outdent:ot}=_e,Mt=\"Config\",Ft=\"Editor\",nt=\"Other\",qt=\"Global\",Ze=\"Special\",ur={cursorOffset:{since:\"1.4.0\",category:Ze,type:\"int\",default:-1,range:{start:-1,end:Number.POSITIVE_INFINITY,step:1},description:ot`\n      Print (to stderr) where a cursor at the given position would move to after formatting.\n      This option cannot be used with --range-start and --range-end.\n    `,cliCategory:Ft},endOfLine:{since:\"1.15.0\",category:qt,type:\"choice\",default:[{since:\"1.15.0\",value:\"auto\"},{since:\"2.0.0\",value:\"lf\"}],description:\"Which end of line characters to apply.\",choices:[{value:\"lf\",description:\"Line Feed only (\\\\n), common on Linux and macOS as well as inside git repos\"},{value:\"crlf\",description:\"Carriage Return + Line Feed characters (\\\\r\\\\n), common on Windows\"},{value:\"cr\",description:\"Carriage Return character only (\\\\r), used very rarely\"},{value:\"auto\",description:ot`\n          Maintain existing\n          (mixed values within one file are normalised by looking at what's used after the first line)\n        `}]},filepath:{since:\"1.4.0\",category:Ze,type:\"path\",description:\"Specify the input filepath. This will be used to do parser inference.\",cliName:\"stdin-filepath\",cliCategory:nt,cliDescription:\"Path to the file to pretend that stdin comes from.\"},insertPragma:{since:\"1.8.0\",category:Ze,type:\"boolean\",default:!1,description:\"Insert @format pragma into file's first docblock comment.\",cliCategory:nt},parser:{since:\"0.0.10\",category:qt,type:\"choice\",default:[{since:\"0.0.10\",value:\"babylon\"},{since:\"1.13.0\",value:void 0}],description:\"Which parser to use.\",exception:b0=>typeof b0==\"string\"||typeof b0==\"function\",choices:[{value:\"flow\",description:\"Flow\"},{value:\"babel\",since:\"1.16.0\",description:\"JavaScript\"},{value:\"babel-flow\",since:\"1.16.0\",description:\"Flow\"},{value:\"babel-ts\",since:\"2.0.0\",description:\"TypeScript\"},{value:\"typescript\",since:\"1.4.0\",description:\"TypeScript\"},{value:\"espree\",since:\"2.2.0\",description:\"JavaScript\"},{value:\"meriyah\",since:\"2.2.0\",description:\"JavaScript\"},{value:\"css\",since:\"1.7.1\",description:\"CSS\"},{value:\"less\",since:\"1.7.1\",description:\"Less\"},{value:\"scss\",since:\"1.7.1\",description:\"SCSS\"},{value:\"json\",since:\"1.5.0\",description:\"JSON\"},{value:\"json5\",since:\"1.13.0\",description:\"JSON5\"},{value:\"json-stringify\",since:\"1.13.0\",description:\"JSON.stringify\"},{value:\"graphql\",since:\"1.5.0\",description:\"GraphQL\"},{value:\"markdown\",since:\"1.8.0\",description:\"Markdown\"},{value:\"mdx\",since:\"1.15.0\",description:\"MDX\"},{value:\"vue\",since:\"1.10.0\",description:\"Vue\"},{value:\"yaml\",since:\"1.14.0\",description:\"YAML\"},{value:\"glimmer\",since:\"2.3.0\",description:\"Ember / Handlebars\"},{value:\"html\",since:\"1.15.0\",description:\"HTML\"},{value:\"angular\",since:\"1.15.0\",description:\"Angular\"},{value:\"lwc\",since:\"1.17.0\",description:\"Lightning Web Components\"}]},plugins:{since:\"1.10.0\",type:\"path\",array:!0,default:[{value:[]}],category:qt,description:\"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.\",exception:b0=>typeof b0==\"string\"||typeof b0==\"object\",cliName:\"plugin\",cliCategory:Mt},pluginSearchDirs:{since:\"1.13.0\",type:\"path\",array:!0,default:[{value:[]}],category:qt,description:ot`\n      Custom directory that contains prettier plugins in node_modules subdirectory.\n      Overrides default behavior when plugins are searched relatively to the location of Prettier.\n      Multiple values are accepted.\n    `,exception:b0=>typeof b0==\"string\"||typeof b0==\"object\",cliName:\"plugin-search-dir\",cliCategory:Mt},printWidth:{since:\"0.0.0\",category:qt,type:\"int\",default:80,description:\"The line length where Prettier will try wrap.\",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},rangeEnd:{since:\"1.4.0\",category:Ze,type:\"int\",default:Number.POSITIVE_INFINITY,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:ot`\n      Format code ending at a given character offset (exclusive).\n      The range will extend forwards to the end of the selected statement.\n      This option cannot be used with --cursor-offset.\n    `,cliCategory:Ft},rangeStart:{since:\"1.4.0\",category:Ze,type:\"int\",default:0,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:ot`\n      Format code starting at a given character offset.\n      The range will extend backwards to the start of the first line containing the selected statement.\n      This option cannot be used with --cursor-offset.\n    `,cliCategory:Ft},requirePragma:{since:\"1.7.0\",category:Ze,type:\"boolean\",default:!1,description:ot`\n      Require either '@prettier' or '@format' to be present in the file's first docblock comment\n      in order for it to be formatted.\n    `,cliCategory:nt},tabWidth:{type:\"int\",category:qt,default:2,description:\"Number of spaces per indentation level.\",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},useTabs:{since:\"1.0.0\",category:qt,type:\"boolean\",default:!1,description:\"Indent with tabs instead of spaces.\"},embeddedLanguageFormatting:{since:\"2.1.0\",category:qt,type:\"choice\",default:[{since:\"2.1.0\",value:\"auto\"}],description:\"Control how Prettier formats quoted code embedded in the file.\",choices:[{value:\"auto\",description:\"Format embedded code if Prettier can automatically identify it.\"},{value:\"off\",description:\"Never automatically format embedded code.\"}]}},ri=[\"cliName\",\"cliCategory\",\"cliDescription\"],Ui={compare:v0,lt:w1,gte:Ix},Bi=Wx,Yi=ur;var ro={getSupportInfo:function({plugins:b0=[],showUnreleased:z0=!1,showDeprecated:U1=!1,showInternal:Bx=!1}={}){const pe=Bi.split(\"-\",1)[0],ne=b0.flatMap(ai=>ai.languages||[]).filter(sn),Te=(ir=Object.assign({},...b0.map(({options:ai})=>ai),Yi),hn=\"name\",Object.entries(ir).map(([ai,li])=>Object.assign({[hn]:ai},li))).filter(ai=>sn(ai)&&Mr(ai)).sort((ai,li)=>ai.name===li.name?0:ai.name<li.name?-1:1).map(function(ai){return Bx?ai:Cb(ai,ri)}).map(ai=>{ai=Object.assign({},ai),Array.isArray(ai.default)&&(ai.default=ai.default.length===1?ai.default[0].value:ai.default.filter(sn).sort((Hr,uo)=>Ui.compare(uo.since,Hr.since))[0].value),Array.isArray(ai.choices)&&(ai.choices=ai.choices.filter(Hr=>sn(Hr)&&Mr(Hr)),ai.name===\"parser\"&&function(Hr,uo,fi){const Fs=new Set(Hr.choices.map($a=>$a.value));for(const $a of uo)if($a.parsers){for(const Ys of $a.parsers)if(!Fs.has(Ys)){Fs.add(Ys);const ru=fi.find(Yu=>Yu.parsers&&Yu.parsers[Ys]);let js=$a.name;ru&&ru.name&&(js+=` (plugin: ${ru.name})`),Hr.choices.push({value:Ys,description:js})}}}(ai,ne,b0));const li=Object.fromEntries(b0.filter(Hr=>Hr.defaultOptions&&Hr.defaultOptions[ai.name]!==void 0).map(Hr=>[Hr.name,Hr.defaultOptions[ai.name]]));return Object.assign(Object.assign({},ai),{},{pluginDefaults:li})});var ir,hn;return{languages:ne,options:Te};function sn(ai){return z0||!(\"since\"in ai)||ai.since&&Ui.gte(pe,ai.since)}function Mr(ai){return U1||!(\"deprecated\"in ai)||ai.deprecated&&Ui.lt(pe,ai.deprecated)}}};const{getSupportInfo:ha}=ro,Xo=/[^\\x20-\\x7F]/;function oo(b0){return(z0,U1,Bx)=>{const pe=Bx&&Bx.backwards;if(U1===!1)return!1;const{length:ne}=z0;let Te=U1;for(;Te>=0&&Te<ne;){const ir=z0.charAt(Te);if(b0 instanceof RegExp){if(!b0.test(ir))return Te}else if(!b0.includes(ir))return Te;pe?Te--:Te++}return(Te===-1||Te===ne)&&Te}}const ts=oo(/\\s/),Gl=oo(\" \t\"),Gp=oo(\",; \t\"),Sc=oo(/[^\\n\\r]/);function Ss(b0,z0){if(z0===!1)return!1;if(b0.charAt(z0)===\"/\"&&b0.charAt(z0+1)===\"*\"){for(let U1=z0+2;U1<b0.length;++U1)if(b0.charAt(U1)===\"*\"&&b0.charAt(U1+1)===\"/\")return U1+2}return z0}function Ws(b0,z0){return z0!==!1&&(b0.charAt(z0)===\"/\"&&b0.charAt(z0+1)===\"/\"?Sc(b0,z0):z0)}function Zc(b0,z0,U1){const Bx=U1&&U1.backwards;if(z0===!1)return!1;const pe=b0.charAt(z0);if(Bx){if(b0.charAt(z0-1)===\"\\r\"&&pe===`\n`)return z0-2;if(pe===`\n`||pe===\"\\r\"||pe===\"\\u2028\"||pe===\"\\u2029\")return z0-1}else{if(pe===\"\\r\"&&b0.charAt(z0+1)===`\n`)return z0+2;if(pe===`\n`||pe===\"\\r\"||pe===\"\\u2028\"||pe===\"\\u2029\")return z0+1}return z0}function ef(b0,z0,U1={}){const Bx=Gl(b0,U1.backwards?z0-1:z0,U1);return Bx!==Zc(b0,Bx,U1)}function wp(b0,z0){let U1=null,Bx=z0;for(;Bx!==U1;)U1=Bx,Bx=Gp(b0,Bx),Bx=Ss(b0,Bx),Bx=Gl(b0,Bx);return Bx=Ws(b0,Bx),Bx=Zc(b0,Bx),Bx!==!1&&ef(b0,Bx)}function Pm(b0,z0){let U1=null,Bx=z0;for(;Bx!==U1;)U1=Bx,Bx=Gl(b0,Bx),Bx=Ss(b0,Bx),Bx=Ws(b0,Bx),Bx=Zc(b0,Bx);return Bx}function Im(b0,z0,U1){return Pm(b0,U1(z0))}function S5(b0,z0,U1=0){let Bx=0;for(let pe=U1;pe<b0.length;++pe)b0[pe]===\"\t\"?Bx=Bx+z0-Bx%z0:Bx++;return Bx}function qw(b0,z0){const U1=b0.slice(1,-1),Bx={quote:'\"',regex:/\"/g},pe={quote:\"'\",regex:/'/g},ne=z0===\"'\"?pe:Bx,Te=ne===pe?Bx:pe;let ir=ne.quote;return(U1.includes(ne.quote)||U1.includes(Te.quote))&&(ir=(U1.match(ne.regex)||[]).length>(U1.match(Te.regex)||[]).length?Te.quote:ne.quote),ir}function s2(b0,z0,U1){const Bx=z0==='\"'?\"'\":'\"',pe=b0.replace(/\\\\(.)|([\"'])/gs,(ne,Te,ir)=>Te===Bx?Te:ir===z0?\"\\\\\"+ir:ir||(U1&&/^[^\\n\\r\"'0-7\\\\bfnrt-vx\\u2028\\u2029]$/.test(Te)?Te:\"\\\\\"+Te));return z0+pe+z0}function s5(b0,z0){(b0.comments||(b0.comments=[])).push(z0),z0.printed=!1,z0.nodeDescription=function(U1){const Bx=U1.type||U1.kind||\"(unknown type)\";let pe=String(U1.name||U1.id&&(typeof U1.id==\"object\"?U1.id.name:U1.id)||U1.key&&(typeof U1.key==\"object\"?U1.key.name:U1.key)||U1.value&&(typeof U1.value==\"object\"?\"\":String(U1.value))||U1.operator||\"\");return pe.length>20&&(pe=pe.slice(0,19)+\"\\u2026\"),Bx+(pe?\" \"+pe:\"\")}(b0)}var OI={inferParserByLanguage:function(b0,z0){const{languages:U1}=ha({plugins:z0.plugins}),Bx=U1.find(({name:pe})=>pe.toLowerCase()===b0)||U1.find(({aliases:pe})=>Array.isArray(pe)&&pe.includes(b0))||U1.find(({extensions:pe})=>Array.isArray(pe)&&pe.includes(`.${b0}`));return Bx&&Bx.parsers[0]},getStringWidth:function(b0){return b0?Xo.test(b0)?x6(b0):b0.length:0},getMaxContinuousCount:function(b0,z0){const U1=b0.match(new RegExp(`(${Eu(z0)})+`,\"g\"));return U1===null?0:U1.reduce((Bx,pe)=>Math.max(Bx,pe.length/z0.length),0)},getMinNotPresentContinuousCount:function(b0,z0){const U1=b0.match(new RegExp(`(${Eu(z0)})+`,\"g\"));if(U1===null)return 0;const Bx=new Map;let pe=0;for(const ne of U1){const Te=ne.length/z0.length;Bx.set(Te,!0),Te>pe&&(pe=Te)}for(let ne=1;ne<pe;ne++)if(!Bx.get(ne))return ne;return pe+1},getPenultimate:b0=>b0[b0.length-2],getLast:jh,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:Pm,getNextNonSpaceNonCommentCharacterIndex:Im,getNextNonSpaceNonCommentCharacter:function(b0,z0,U1){return b0.charAt(Im(b0,z0,U1))},skip:oo,skipWhitespace:ts,skipSpaces:Gl,skipToLineEnd:Gp,skipEverythingButNewLine:Sc,skipInlineComment:Ss,skipTrailingComment:Ws,skipNewline:Zc,isNextLineEmptyAfterIndex:wp,isNextLineEmpty:function(b0,z0,U1){return wp(b0,U1(z0))},isPreviousLineEmpty:function(b0,z0,U1){let Bx=U1(z0)-1;return Bx=Gl(b0,Bx,{backwards:!0}),Bx=Zc(b0,Bx,{backwards:!0}),Bx=Gl(b0,Bx,{backwards:!0}),Bx!==Zc(b0,Bx,{backwards:!0})},hasNewline:ef,hasNewlineInRange:function(b0,z0,U1){for(let Bx=z0;Bx<U1;++Bx)if(b0.charAt(Bx)===`\n`)return!0;return!1},hasSpaces:function(b0,z0,U1={}){return Gl(b0,U1.backwards?z0-1:z0,U1)!==z0},getAlignmentSize:S5,getIndentSize:function(b0,z0){const U1=b0.lastIndexOf(`\n`);return U1===-1?0:S5(b0.slice(U1+1).match(/^[\\t ]*/)[0],z0)},getPreferredQuote:qw,printString:function(b0,z0){return s2(b0.slice(1,-1),z0.parser===\"json\"||z0.parser===\"json5\"&&z0.quoteProps===\"preserve\"&&!z0.singleQuote?'\"':z0.__isInHtmlAttribute?\"'\":qw(b0,z0.singleQuote?\"'\":'\"'),!(z0.parser===\"css\"||z0.parser===\"less\"||z0.parser===\"scss\"||z0.__embeddedInHtml))},printNumber:function(b0){return b0.toLowerCase().replace(/^([+-]?[\\d.]+e)(?:\\+|(-))?0*(\\d)/,\"$1$2$3\").replace(/^([+-]?[\\d.]+)e[+-]?0+$/,\"$1\").replace(/^([+-])?\\./,\"$10.\").replace(/(\\.\\d+?)0+(?=e|$)/,\"$1\").replace(/\\.(?=e|$)/,\"\")},makeString:s2,addLeadingComment:function(b0,z0){z0.leading=!0,z0.trailing=!1,s5(b0,z0)},addDanglingComment:function(b0,z0,U1){z0.leading=!1,z0.trailing=!1,U1&&(z0.marker=U1),s5(b0,z0)},addTrailingComment:function(b0,z0){z0.leading=!1,z0.trailing=!0,s5(b0,z0)},isFrontMatterNode:function(b0){return b0&&b0.type===\"front-matter\"},getShebang:function(b0){if(!b0.startsWith(\"#!\"))return\"\";const z0=b0.indexOf(`\n`);return z0===-1?b0:b0.slice(0,z0)},isNonEmptyArray:function(b0){return Array.isArray(b0)&&b0.length>0},createGroupIdMapper:function(b0){const z0=new WeakMap;return function(U1){return z0.has(U1)||z0.set(U1,Symbol(b0)),z0.get(U1)}}};const{getLast:d_}=OI,{locStart:UD,locEnd:Lg}=QF,{cjkPattern:m9,kPattern:Jw,punctuationPattern:Iy}={cjkPattern:\"(?:[\\\\u02ea-\\\\u02eb\\\\u1100-\\\\u11ff\\\\u2e80-\\\\u2e99\\\\u2e9b-\\\\u2ef3\\\\u2f00-\\\\u2fd5\\\\u2ff0-\\\\u303f\\\\u3041-\\\\u3096\\\\u3099-\\\\u309f\\\\u30a1-\\\\u30fa\\\\u30fc-\\\\u30ff\\\\u3105-\\\\u312f\\\\u3131-\\\\u318e\\\\u3190-\\\\u3191\\\\u3196-\\\\u31ba\\\\u31c0-\\\\u31e3\\\\u31f0-\\\\u321e\\\\u322a-\\\\u3247\\\\u3260-\\\\u327e\\\\u328a-\\\\u32b0\\\\u32c0-\\\\u32cb\\\\u32d0-\\\\u3370\\\\u337b-\\\\u337f\\\\u33e0-\\\\u33fe\\\\u3400-\\\\u4db5\\\\u4e00-\\\\u9fef\\\\ua960-\\\\ua97c\\\\uac00-\\\\ud7a3\\\\ud7b0-\\\\ud7c6\\\\ud7cb-\\\\ud7fb\\\\uf900-\\\\ufa6d\\\\ufa70-\\\\ufad9\\\\ufe10-\\\\ufe1f\\\\ufe30-\\\\ufe6f\\\\uff00-\\\\uffef]|[\\\\ud840-\\\\ud868\\\\ud86a-\\\\ud86c\\\\ud86f-\\\\ud872\\\\ud874-\\\\ud879][\\\\udc00-\\\\udfff]|\\\\ud82c[\\\\udc00-\\\\udd1e\\\\udd50-\\\\udd52\\\\udd64-\\\\udd67]|\\\\ud83c[\\\\ude00\\\\ude50-\\\\ude51]|\\\\ud869[\\\\udc00-\\\\uded6\\\\udf00-\\\\udfff]|\\\\ud86d[\\\\udc00-\\\\udf34\\\\udf40-\\\\udfff]|\\\\ud86e[\\\\udc00-\\\\udc1d\\\\udc20-\\\\udfff]|\\\\ud873[\\\\udc00-\\\\udea1\\\\udeb0-\\\\udfff]|\\\\ud87a[\\\\udc00-\\\\udfe0]|\\\\ud87e[\\\\udc00-\\\\ude1d])(?:[\\\\ufe00-\\\\ufe0f]|\\\\udb40[\\\\udd00-\\\\uddef])?\",kPattern:\"[\\\\u1100-\\\\u11ff\\\\u3001-\\\\u3003\\\\u3008-\\\\u3011\\\\u3013-\\\\u301f\\\\u302e-\\\\u3030\\\\u3037\\\\u30fb\\\\u3131-\\\\u318e\\\\u3200-\\\\u321e\\\\u3260-\\\\u327e\\\\ua960-\\\\ua97c\\\\uac00-\\\\ud7a3\\\\ud7b0-\\\\ud7c6\\\\ud7cb-\\\\ud7fb\\\\ufe45-\\\\ufe46\\\\uff61-\\\\uff65\\\\uffa0-\\\\uffbe\\\\uffc2-\\\\uffc7\\\\uffca-\\\\uffcf\\\\uffd2-\\\\uffd7\\\\uffda-\\\\uffdc]\",punctuationPattern:\"[\\\\u0021-\\\\u002f\\\\u003a-\\\\u0040\\\\u005b-\\\\u0060\\\\u007b-\\\\u007e\\\\u00a1\\\\u00a7\\\\u00ab\\\\u00b6-\\\\u00b7\\\\u00bb\\\\u00bf\\\\u037e\\\\u0387\\\\u055a-\\\\u055f\\\\u0589-\\\\u058a\\\\u05be\\\\u05c0\\\\u05c3\\\\u05c6\\\\u05f3-\\\\u05f4\\\\u0609-\\\\u060a\\\\u060c-\\\\u060d\\\\u061b\\\\u061e-\\\\u061f\\\\u066a-\\\\u066d\\\\u06d4\\\\u0700-\\\\u070d\\\\u07f7-\\\\u07f9\\\\u0830-\\\\u083e\\\\u085e\\\\u0964-\\\\u0965\\\\u0970\\\\u09fd\\\\u0a76\\\\u0af0\\\\u0c77\\\\u0c84\\\\u0df4\\\\u0e4f\\\\u0e5a-\\\\u0e5b\\\\u0f04-\\\\u0f12\\\\u0f14\\\\u0f3a-\\\\u0f3d\\\\u0f85\\\\u0fd0-\\\\u0fd4\\\\u0fd9-\\\\u0fda\\\\u104a-\\\\u104f\\\\u10fb\\\\u1360-\\\\u1368\\\\u1400\\\\u166e\\\\u169b-\\\\u169c\\\\u16eb-\\\\u16ed\\\\u1735-\\\\u1736\\\\u17d4-\\\\u17d6\\\\u17d8-\\\\u17da\\\\u1800-\\\\u180a\\\\u1944-\\\\u1945\\\\u1a1e-\\\\u1a1f\\\\u1aa0-\\\\u1aa6\\\\u1aa8-\\\\u1aad\\\\u1b5a-\\\\u1b60\\\\u1bfc-\\\\u1bff\\\\u1c3b-\\\\u1c3f\\\\u1c7e-\\\\u1c7f\\\\u1cc0-\\\\u1cc7\\\\u1cd3\\\\u2010-\\\\u2027\\\\u2030-\\\\u2043\\\\u2045-\\\\u2051\\\\u2053-\\\\u205e\\\\u207d-\\\\u207e\\\\u208d-\\\\u208e\\\\u2308-\\\\u230b\\\\u2329-\\\\u232a\\\\u2768-\\\\u2775\\\\u27c5-\\\\u27c6\\\\u27e6-\\\\u27ef\\\\u2983-\\\\u2998\\\\u29d8-\\\\u29db\\\\u29fc-\\\\u29fd\\\\u2cf9-\\\\u2cfc\\\\u2cfe-\\\\u2cff\\\\u2d70\\\\u2e00-\\\\u2e2e\\\\u2e30-\\\\u2e4f\\\\u3001-\\\\u3003\\\\u3008-\\\\u3011\\\\u3014-\\\\u301f\\\\u3030\\\\u303d\\\\u30a0\\\\u30fb\\\\ua4fe-\\\\ua4ff\\\\ua60d-\\\\ua60f\\\\ua673\\\\ua67e\\\\ua6f2-\\\\ua6f7\\\\ua874-\\\\ua877\\\\ua8ce-\\\\ua8cf\\\\ua8f8-\\\\ua8fa\\\\ua8fc\\\\ua92e-\\\\ua92f\\\\ua95f\\\\ua9c1-\\\\ua9cd\\\\ua9de-\\\\ua9df\\\\uaa5c-\\\\uaa5f\\\\uaade-\\\\uaadf\\\\uaaf0-\\\\uaaf1\\\\uabeb\\\\ufd3e-\\\\ufd3f\\\\ufe10-\\\\ufe19\\\\ufe30-\\\\ufe52\\\\ufe54-\\\\ufe61\\\\ufe63\\\\ufe68\\\\ufe6a-\\\\ufe6b\\\\uff01-\\\\uff03\\\\uff05-\\\\uff0a\\\\uff0c-\\\\uff0f\\\\uff1a-\\\\uff1b\\\\uff1f-\\\\uff20\\\\uff3b-\\\\uff3d\\\\uff3f\\\\uff5b\\\\uff5d\\\\uff5f-\\\\uff65]|\\\\ud800[\\\\udd00-\\\\udd02\\\\udf9f\\\\udfd0]|\\\\ud801[\\\\udd6f]|\\\\ud802[\\\\udc57\\\\udd1f\\\\udd3f\\\\ude50-\\\\ude58\\\\ude7f\\\\udef0-\\\\udef6\\\\udf39-\\\\udf3f\\\\udf99-\\\\udf9c]|\\\\ud803[\\\\udf55-\\\\udf59]|\\\\ud804[\\\\udc47-\\\\udc4d\\\\udcbb-\\\\udcbc\\\\udcbe-\\\\udcc1\\\\udd40-\\\\udd43\\\\udd74-\\\\udd75\\\\uddc5-\\\\uddc8\\\\uddcd\\\\udddb\\\\udddd-\\\\udddf\\\\ude38-\\\\ude3d\\\\udea9]|\\\\ud805[\\\\udc4b-\\\\udc4f\\\\udc5b\\\\udc5d\\\\udcc6\\\\uddc1-\\\\uddd7\\\\ude41-\\\\ude43\\\\ude60-\\\\ude6c\\\\udf3c-\\\\udf3e]|\\\\ud806[\\\\udc3b\\\\udde2\\\\ude3f-\\\\ude46\\\\ude9a-\\\\ude9c\\\\ude9e-\\\\udea2]|\\\\ud807[\\\\udc41-\\\\udc45\\\\udc70-\\\\udc71\\\\udef7-\\\\udef8\\\\udfff]|\\\\ud809[\\\\udc70-\\\\udc74]|\\\\ud81a[\\\\ude6e-\\\\ude6f\\\\udef5\\\\udf37-\\\\udf3b\\\\udf44]|\\\\ud81b[\\\\ude97-\\\\ude9a\\\\udfe2]|\\\\ud82f[\\\\udc9f]|\\\\ud836[\\\\ude87-\\\\ude8b]|\\\\ud83a[\\\\udd5e-\\\\udd5f]\"},ng=[\"liquidNode\",\"inlineCode\",\"emphasis\",\"strong\",\"delete\",\"wikiLink\",\"link\",\"linkReference\",\"image\",\"imageReference\",\"footnote\",\"footnoteReference\",\"sentence\",\"whitespace\",\"word\",\"break\",\"inlineMath\"],B9=[...ng,\"tableCell\",\"paragraph\",\"heading\"],SO=new RegExp(Jw),IN=new RegExp(Iy);function m_(b0,z0){const[,U1,Bx,pe]=z0.slice(b0.position.start.offset,b0.position.end.offset).match(/^\\s*(\\d+)(\\.|\\))(\\s*)/);return{numberText:U1,marker:Bx,leadingSpaces:pe}}var VD={mapAst:function(b0,z0){return function U1(Bx,pe,ne){const Te=Object.assign({},z0(Bx,pe,ne));return Te.children&&(Te.children=Te.children.map((ir,hn)=>U1(ir,hn,[Te,...ne]))),Te}(b0,null,[])},splitText:function(b0,z0){const U1=\"non-cjk\",Bx=\"cj-letter\",pe=\"cjk-punctuation\",ne=[],Te=(z0.proseWrap===\"preserve\"?b0:b0.replace(new RegExp(`(${m9})\n(${m9})`,\"g\"),\"$1$2\")).split(/([\\t\\n ]+)/);for(const[hn,sn]of Te.entries()){if(hn%2==1){ne.push({type:\"whitespace\",value:/\\n/.test(sn)?`\n`:\" \"});continue}if((hn===0||hn===Te.length-1)&&sn===\"\")continue;const Mr=sn.split(new RegExp(`(${m9})`));for(const[ai,li]of Mr.entries())(ai!==0&&ai!==Mr.length-1||li!==\"\")&&(ai%2!=0?ir(IN.test(li)?{type:\"word\",value:li,kind:pe,hasLeadingPunctuation:!0,hasTrailingPunctuation:!0}:{type:\"word\",value:li,kind:SO.test(li)?\"k-letter\":Bx,hasLeadingPunctuation:!1,hasTrailingPunctuation:!1}):li!==\"\"&&ir({type:\"word\",value:li,kind:U1,hasLeadingPunctuation:IN.test(li[0]),hasTrailingPunctuation:IN.test(d_(li))}))}return ne;function ir(hn){const sn=d_(ne);var Mr,ai;sn&&sn.type===\"word\"&&(sn.kind===U1&&hn.kind===Bx&&!sn.hasTrailingPunctuation||sn.kind===Bx&&hn.kind===U1&&!hn.hasLeadingPunctuation?ne.push({type:\"whitespace\",value:\" \"}):(Mr=U1,ai=pe,sn.kind===Mr&&hn.kind===ai||sn.kind===ai&&hn.kind===Mr||[sn.value,hn.value].some(li=>/\\u3000/.test(li))||ne.push({type:\"whitespace\",value:\"\"}))),ne.push(hn)}},punctuationPattern:Iy,getFencedCodeBlockValue:function(b0,z0){const{value:U1}=b0;return b0.position.end.offset===z0.length&&U1.endsWith(`\n`)&&z0.endsWith(`\n`)?U1.slice(0,-1):U1},getOrderedListItemInfo:m_,hasGitDiffFriendlyOrderedList:function(b0,z0){if(!b0.ordered||b0.children.length<2)return!1;const U1=Number(m_(b0.children[0],z0.originalText).numberText),Bx=Number(m_(b0.children[1],z0.originalText).numberText);if(U1===0&&b0.children.length>2){const pe=Number(m_(b0.children[2],z0.originalText).numberText);return Bx===1&&pe===1}return Bx===1},INLINE_NODE_TYPES:ng,INLINE_NODE_WRAPPER_TYPES:B9,isAutolink:function(b0){if(!b0||b0.type!==\"link\"||b0.children.length!==1)return!1;const z0=b0.children[0];return z0&&UD(b0)===UD(z0)&&Lg(b0)===Lg(z0)}};const Mg=/^import\\s/,gR=/^export\\s/,WP=b0=>Mg.test(b0),cP=b0=>gR.test(b0),h_=(b0,z0)=>{const U1=z0.indexOf(`\n\n`),Bx=z0.slice(0,U1);if(cP(Bx)||WP(Bx))return b0(Bx)({type:cP(Bx)?\"export\":\"import\",value:Bx})};h_.locator=b0=>cP(b0)||WP(b0)?-1:1;var Hw={esSyntax:function(){const{Parser:b0}=this,z0=b0.prototype.blockTokenizers,U1=b0.prototype.blockMethods;z0.esSyntax=h_,U1.splice(U1.indexOf(\"paragraph\"),0,\"esSyntax\")},BLOCKS_REGEX:\"[a-z][a-z0-9]*(\\\\.[a-z][a-z0-9]*)*|\",COMMENT_REGEX:/<!---->|<!---?[^>-](?:-?[^-])*-->/};const{locStart:qP,locEnd:ry}=QF,{mapAst:g_,INLINE_NODE_WRAPPER_TYPES:$D}=VD;function BI({isMDX:b0}){return z0=>{const U1=XF().use(Ma,Object.assign({commonmark:!0},b0&&{blocks:[Hw.BLOCKS_REGEX]})).use($l).use(Oy).use(Ll).use(b0?Hw.esSyntax:Uh).use(ON).use(b0?Rg:Uh).use(Vh).use(By);return U1.runSync(U1.parse(z0))}}function Uh(b0){return b0}function Rg(){return b0=>g_(b0,(z0,U1,[Bx])=>z0.type!==\"html\"||Hw.COMMENT_REGEX.test(z0.value)||$D.includes(Bx.type)?z0:Object.assign(Object.assign({},z0),{},{type:\"jsx\"}))}function Oy(){const b0=this.Parser.prototype;function z0(U1,Bx){const pe=T8(Bx);if(pe.frontMatter)return U1(pe.frontMatter.raw)(pe.frontMatter)}b0.blockMethods=[\"frontMatter\",...b0.blockMethods],b0.blockTokenizers.frontMatter=z0,z0.onlyAtStart=!0}function ON(){const b0=this.Parser.prototype,z0=b0.inlineMethods;function U1(Bx,pe){const ne=pe.match(/^({%.*?%}|{{.*?}})/s);if(ne)return Bx(ne[0])({type:\"liquidNode\",value:ne[0]})}z0.splice(z0.indexOf(\"text\"),0,\"liquid\"),b0.inlineTokenizers.liquid=U1,U1.locator=function(Bx,pe){return Bx.indexOf(\"{\",pe)}}function Vh(){const b0=\"wikiLink\",z0=/^\\[\\[(?<linkContents>.+?)]]/s,U1=this.Parser.prototype,Bx=U1.inlineMethods;function pe(ne,Te){const ir=z0.exec(Te);if(ir){const hn=ir.groups.linkContents.trim();return ne(ir[0])({type:b0,value:hn})}}Bx.splice(Bx.indexOf(\"link\"),0,b0),U1.inlineTokenizers.wikiLink=pe,pe.locator=function(ne,Te){return ne.indexOf(\"[\",Te)}}function By(){const b0=this.Parser.prototype,z0=b0.blockTokenizers.list;function U1(Bx,pe,ne){return pe.type===\"listItem\"&&(pe.loose=pe.spread||Bx.charAt(Bx.length-1)===`\n`,pe.loose&&(ne.loose=!0)),pe}b0.blockTokenizers.list=function(Bx,pe,ne){function Te(ir){const hn=Bx(ir);function sn(Mr,ai){return hn(U1(ir,Mr,ai),ai)}return sn.reset=function(Mr,ai){return hn.reset(U1(ir,Mr,ai),ai)},sn}return Te.now=Bx.now,z0.call(this,Te,pe,ne)}}const rN={astFormat:\"mdast\",hasPragma:E5.hasPragma,locStart:qP,locEnd:ry},nN=Object.assign(Object.assign({},rN),{},{parse:BI({isMDX:!1})});return{parsers:{remark:nN,markdown:nN,mdx:Object.assign(Object.assign({},rN),{},{parse:BI({isMDX:!0})})}}})})(GZ);var oH={exports:{}};(function(a,u){(function(c,b){a.exports=b()})($F,function(){var c=typeof globalThis!=\"undefined\"?globalThis:typeof window!=\"undefined\"?window:typeof $F!=\"undefined\"?$F:typeof self!=\"undefined\"?self:{};function b(kx){var Xx={exports:{}};return kx(Xx,Xx.exports),Xx.exports}var R=b(function(kx,Xx){function Ee(at){return Xx.$0<=at&&at<=Xx.$9}/**\n\t   * @license\n\t   * Copyright Google Inc. All Rights Reserved.\n\t   *\n\t   * Use of this source code is governed by an MIT-style license that can be\n\t   * found in the LICENSE file at https://angular.io/license\n\t   */Object.defineProperty(Xx,\"__esModule\",{value:!0}),Xx.$EOF=0,Xx.$BSPACE=8,Xx.$TAB=9,Xx.$LF=10,Xx.$VTAB=11,Xx.$FF=12,Xx.$CR=13,Xx.$SPACE=32,Xx.$BANG=33,Xx.$DQ=34,Xx.$HASH=35,Xx.$$=36,Xx.$PERCENT=37,Xx.$AMPERSAND=38,Xx.$SQ=39,Xx.$LPAREN=40,Xx.$RPAREN=41,Xx.$STAR=42,Xx.$PLUS=43,Xx.$COMMA=44,Xx.$MINUS=45,Xx.$PERIOD=46,Xx.$SLASH=47,Xx.$COLON=58,Xx.$SEMICOLON=59,Xx.$LT=60,Xx.$EQ=61,Xx.$GT=62,Xx.$QUESTION=63,Xx.$0=48,Xx.$7=55,Xx.$9=57,Xx.$A=65,Xx.$E=69,Xx.$F=70,Xx.$X=88,Xx.$Z=90,Xx.$LBRACKET=91,Xx.$BACKSLASH=92,Xx.$RBRACKET=93,Xx.$CARET=94,Xx.$_=95,Xx.$a=97,Xx.$b=98,Xx.$e=101,Xx.$f=102,Xx.$n=110,Xx.$r=114,Xx.$t=116,Xx.$u=117,Xx.$v=118,Xx.$x=120,Xx.$z=122,Xx.$LBRACE=123,Xx.$BAR=124,Xx.$RBRACE=125,Xx.$NBSP=160,Xx.$PIPE=124,Xx.$TILDA=126,Xx.$AT=64,Xx.$BT=96,Xx.isWhitespace=function(at){return at>=Xx.$TAB&&at<=Xx.$SPACE||at==Xx.$NBSP},Xx.isDigit=Ee,Xx.isAsciiLetter=function(at){return at>=Xx.$a&&at<=Xx.$z||at>=Xx.$A&&at<=Xx.$Z},Xx.isAsciiHexDigit=function(at){return at>=Xx.$a&&at<=Xx.$f||at>=Xx.$A&&at<=Xx.$F||Ee(at)},Xx.isNewLine=function(at){return at===Xx.$LF||at===Xx.$CR},Xx.isOctalDigit=function(at){return Xx.$0<=at&&at<=Xx.$7}});/**\n\t * @license\n\t * Copyright Google Inc. All Rights Reserved.\n\t *\n\t * Use of this source code is governed by an MIT-style license that can be\n\t * found in the LICENSE file at https://angular.io/license\n\t */class K{constructor(Xx,Ee,at){this.filePath=Xx,this.name=Ee,this.members=at}assertNoMembers(){if(this.members.length)throw new Error(`Illegal state: symbol without members expected, but got ${JSON.stringify(this)}.`)}}var s0=K,Y=class{constructor(){this.cache=new Map}get(kx,Xx,Ee){const at=`\"${kx}\".${Xx}${(Ee=Ee||[]).length?`.${Ee.join(\".\")}`:\"\"}`;let cn=this.cache.get(at);return cn||(cn=new K(kx,Xx,Ee),this.cache.set(at,cn)),cn}},F0=Object.defineProperty({StaticSymbol:s0,StaticSymbolCache:Y},\"__esModule\",{value:!0});/**\n\t * @license\n\t * Copyright Google Inc. All Rights Reserved.\n\t *\n\t * Use of this source code is governed by an MIT-style license that can be\n\t * found in the LICENSE file at https://angular.io/license\n\t */const J0=/-+([a-z0-9])/g;var e1=function(kx){return kx.replace(J0,(...Xx)=>Xx[1].toUpperCase())},t1=function(kx,Xx){return F1(kx,\":\",Xx)},r1=function(kx,Xx){return F1(kx,\".\",Xx)};function F1(kx,Xx,Ee){const at=kx.indexOf(Xx);return at==-1?Ee:[kx.slice(0,at).trim(),kx.slice(at+1).trim()]}function a1(kx,Xx,Ee){return Array.isArray(kx)?Xx.visitArray(kx,Ee):typeof(at=kx)==\"object\"&&at!==null&&Object.getPrototypeOf(at)===vn?Xx.visitStringMap(kx,Ee):kx==null||typeof kx==\"string\"||typeof kx==\"number\"||typeof kx==\"boolean\"?Xx.visitPrimitive(kx,Ee):Xx.visitOther(kx,Ee);var at}var D1=a1,W0=function(kx){return kx!=null},i1=function(kx){return kx===void 0?null:kx},x1=class{visitArray(kx,Xx){return kx.map(Ee=>a1(Ee,this,Xx))}visitStringMap(kx,Xx){const Ee={};return Object.keys(kx).forEach(at=>{Ee[at]=a1(kx[at],this,Xx)}),Ee}visitPrimitive(kx,Xx){return kx}visitOther(kx,Xx){return kx}},ux={assertSync:kx=>{if(Pn(kx))throw new Error(\"Illegal state: value cannot be a promise\");return kx},then:(kx,Xx)=>Pn(kx)?kx.then(Xx):Xx(kx),all:kx=>kx.some(Pn)?Promise.all(kx):kx},K1=function(kx){throw new Error(`Internal Error: ${kx}`)},ee=function(kx,Xx){const Ee=Error(kx);return Ee[Gx]=!0,Xx&&(Ee[ve]=Xx),Ee};const Gx=\"ngSyntaxError\",ve=\"ngParseErrors\";var qe=function(kx){return kx[Gx]},Jt=function(kx){return kx[ve]||[]},Ct=function(kx){return kx.replace(/([.*+?^=!:${}()|[\\]\\/\\\\])/g,\"\\\\$1\")};const vn=Object.getPrototypeOf({});var _n=function(kx){let Xx=\"\";for(let Ee=0;Ee<kx.length;Ee++){let at=kx.charCodeAt(Ee);if(at>=55296&&at<=56319&&kx.length>Ee+1){const cn=kx.charCodeAt(Ee+1);cn>=56320&&cn<=57343&&(Ee++,at=(at-55296<<10)+cn-56320+65536)}at<=127?Xx+=String.fromCharCode(at):at<=2047?Xx+=String.fromCharCode(at>>6&31|192,63&at|128):at<=65535?Xx+=String.fromCharCode(at>>12|224,at>>6&63|128,63&at|128):at<=2097151&&(Xx+=String.fromCharCode(at>>18&7|240,at>>12&63|128,at>>6&63|128,63&at|128))}return Xx},Tr=function kx(Xx){if(typeof Xx==\"string\")return Xx;if(Xx instanceof Array)return\"[\"+Xx.map(kx).join(\", \")+\"]\";if(Xx==null)return\"\"+Xx;if(Xx.overriddenName)return`${Xx.overriddenName}`;if(Xx.name)return`${Xx.name}`;if(!Xx.toString)return\"object\";const Ee=Xx.toString();if(Ee==null)return\"\"+Ee;const at=Ee.indexOf(`\n`);return at===-1?Ee:Ee.substring(0,at)},Lr=function(kx){return typeof kx==\"function\"&&kx.hasOwnProperty(\"__forward_ref__\")?kx():kx};function Pn(kx){return!!kx&&typeof kx.then==\"function\"}var En=Pn,cr=class{constructor(kx){this.full=kx;const Xx=kx.split(\".\");this.major=Xx[0],this.minor=Xx[1],this.patch=Xx.slice(2).join(\".\")}};const Ea=typeof window!=\"undefined\"&&window,Qn=typeof self!=\"undefined\"&&typeof WorkerGlobalScope!=\"undefined\"&&self instanceof WorkerGlobalScope&&self;var Bu=c!==void 0&&c||Ea||Qn,Au=Object.defineProperty({dashCaseToCamelCase:e1,splitAtColon:t1,splitAtPeriod:r1,visitValue:D1,isDefined:W0,noUndefined:i1,ValueTransformer:x1,SyncAsync:ux,error:K1,syntaxError:ee,isSyntaxError:qe,getParseErrors:Jt,escapeRegExp:Ct,utf8Encode:_n,stringify:Tr,resolveForwardRef:Lr,isPromise:En,Version:cr,global:Bu},\"__esModule\",{value:!0}),Ec=b(function(kx,Xx){/**\n\t   * @license\n\t   * Copyright Google Inc. All Rights Reserved.\n\t   *\n\t   * Use of this source code is governed by an MIT-style license that can be\n\t   * found in the LICENSE file at https://angular.io/license\n\t   */Object.defineProperty(Xx,\"__esModule\",{value:!0});const Ee=/^(?:(?:\\[([^\\]]+)\\])|(?:\\(([^\\)]+)\\)))|(\\@[-\\w]+)$/;function at(Go){return Go.replace(/\\W/g,\"_\")}Xx.sanitizeIdentifier=at;let cn=0;function Bn(Go){if(!Go||!Go.reference)return null;const Xu=Go.reference;if(Xu instanceof F0.StaticSymbol)return Xu.name;if(Xu.__anonymousType)return Xu.__anonymousType;let Ql=Au.stringify(Xu);return Ql.indexOf(\"(\")>=0?(Ql=\"anonymous_\"+cn++,Xu.__anonymousType=Ql):Ql=at(Ql),Ql}var ao;Xx.identifierName=Bn,Xx.identifierModuleUrl=function(Go){const Xu=Go.reference;return Xu instanceof F0.StaticSymbol?Xu.filePath:`./${Au.stringify(Xu)}`},Xx.viewClassName=function(Go,Xu){return`View_${Bn({reference:Go})}_${Xu}`},Xx.rendererTypeName=function(Go){return`RenderType_${Bn({reference:Go})}`},Xx.hostViewClassName=function(Go){return`HostView_${Bn({reference:Go})}`},Xx.componentFactoryName=function(Go){return`${Bn({reference:Go})}NgFactory`},function(Go){Go[Go.Pipe=0]=\"Pipe\",Go[Go.Directive=1]=\"Directive\",Go[Go.NgModule=2]=\"NgModule\",Go[Go.Injectable=3]=\"Injectable\"}(ao=Xx.CompileSummaryKind||(Xx.CompileSummaryKind={})),Xx.tokenName=function(Go){return Go.value!=null?at(Go.value):Bn(Go.identifier)},Xx.tokenReference=function(Go){return Go.identifier!=null?Go.identifier.reference:Go.value},Xx.CompileStylesheetMetadata=class{constructor({moduleUrl:Go,styles:Xu,styleUrls:Ql}={}){this.moduleUrl=Go||null,this.styles=gu(Xu),this.styleUrls=gu(Ql)}},Xx.CompileTemplateMetadata=class{constructor({encapsulation:Go,template:Xu,templateUrl:Ql,htmlAst:p_,styles:ap,styleUrls:Ll,externalStylesheets:$l,animations:Tu,ngContentSelectors:yp,interpolation:Gs,isInline:ra,preserveWhitespaces:fo}){if(this.encapsulation=Go,this.template=Xu,this.templateUrl=Ql,this.htmlAst=p_,this.styles=gu(ap),this.styleUrls=gu(Ll),this.externalStylesheets=gu($l),this.animations=Tu?cu(Tu):[],this.ngContentSelectors=yp||[],Gs&&Gs.length!=2)throw new Error(\"'interpolation' should have a start and an end symbol.\");this.interpolation=Gs,this.isInline=ra,this.preserveWhitespaces=fo}toSummary(){return{ngContentSelectors:this.ngContentSelectors,encapsulation:this.encapsulation,styles:this.styles,animations:this.animations}}};class go{static create({isHost:Xu,type:Ql,isComponent:p_,selector:ap,exportAs:Ll,changeDetection:$l,inputs:Tu,outputs:yp,host:Gs,providers:ra,viewProviders:fo,queries:lu,guards:a2,viewQueries:V8,entryComponents:YF,template:T8,componentViewType:Q4,rendererType:D4,componentFactory:E5}){const QF={},Ww={},K2={};Gs!=null&&Object.keys(Gs).forEach(B6=>{const x6=Gs[B6],vf=B6.match(Ee);vf===null?K2[B6]=x6:vf[1]!=null?Ww[vf[1]]=x6:vf[2]!=null&&(QF[vf[2]]=x6)});const Sn={};Tu!=null&&Tu.forEach(B6=>{const x6=Au.splitAtColon(B6,[B6,B6]);Sn[x6[0]]=x6[1]});const M4={};return yp!=null&&yp.forEach(B6=>{const x6=Au.splitAtColon(B6,[B6,B6]);M4[x6[0]]=x6[1]}),new go({isHost:Xu,type:Ql,isComponent:!!p_,selector:ap,exportAs:Ll,changeDetection:$l,inputs:Sn,outputs:M4,hostListeners:QF,hostProperties:Ww,hostAttributes:K2,providers:ra,viewProviders:fo,queries:lu,guards:a2,viewQueries:V8,entryComponents:YF,template:T8,componentViewType:Q4,rendererType:D4,componentFactory:E5})}constructor({isHost:Xu,type:Ql,isComponent:p_,selector:ap,exportAs:Ll,changeDetection:$l,inputs:Tu,outputs:yp,hostListeners:Gs,hostProperties:ra,hostAttributes:fo,providers:lu,viewProviders:a2,queries:V8,guards:YF,viewQueries:T8,entryComponents:Q4,template:D4,componentViewType:E5,rendererType:QF,componentFactory:Ww}){this.isHost=!!Xu,this.type=Ql,this.isComponent=p_,this.selector=ap,this.exportAs=Ll,this.changeDetection=$l,this.inputs=Tu,this.outputs=yp,this.hostListeners=Gs,this.hostProperties=ra,this.hostAttributes=fo,this.providers=gu(lu),this.viewProviders=gu(a2),this.queries=gu(V8),this.guards=YF,this.viewQueries=gu(T8),this.entryComponents=gu(Q4),this.template=D4,this.componentViewType=E5,this.rendererType=QF,this.componentFactory=Ww}toSummary(){return{summaryKind:ao.Directive,type:this.type,isComponent:this.isComponent,selector:this.selector,exportAs:this.exportAs,inputs:this.inputs,outputs:this.outputs,hostListeners:this.hostListeners,hostProperties:this.hostProperties,hostAttributes:this.hostAttributes,providers:this.providers,viewProviders:this.viewProviders,queries:this.queries,guards:this.guards,viewQueries:this.viewQueries,entryComponents:this.entryComponents,changeDetection:this.changeDetection,template:this.template&&this.template.toSummary(),componentViewType:this.componentViewType,rendererType:this.rendererType,componentFactory:this.componentFactory}}}Xx.CompileDirectiveMetadata=go,Xx.CompilePipeMetadata=class{constructor({type:Go,name:Xu,pure:Ql}){this.type=Go,this.name=Xu,this.pure=!!Ql}toSummary(){return{summaryKind:ao.Pipe,type:this.type,name:this.name,pure:this.pure}}},Xx.CompileShallowModuleMetadata=class{},Xx.CompileNgModuleMetadata=class{constructor({type:Go,providers:Xu,declaredDirectives:Ql,exportedDirectives:p_,declaredPipes:ap,exportedPipes:Ll,entryComponents:$l,bootstrapComponents:Tu,importedModules:yp,exportedModules:Gs,schemas:ra,transitiveModule:fo,id:lu}){this.type=Go||null,this.declaredDirectives=gu(Ql),this.exportedDirectives=gu(p_),this.declaredPipes=gu(ap),this.exportedPipes=gu(Ll),this.providers=gu(Xu),this.entryComponents=gu($l),this.bootstrapComponents=gu(Tu),this.importedModules=gu(yp),this.exportedModules=gu(Gs),this.schemas=gu(ra),this.id=lu||null,this.transitiveModule=fo||null}toSummary(){const Go=this.transitiveModule;return{summaryKind:ao.NgModule,type:this.type,entryComponents:Go.entryComponents,providers:Go.providers,modules:Go.modules,exportedDirectives:Go.exportedDirectives,exportedPipes:Go.exportedPipes}}};function gu(Go){return Go||[]}Xx.TransitiveCompileNgModuleMetadata=class{constructor(){this.directivesSet=new Set,this.directives=[],this.exportedDirectivesSet=new Set,this.exportedDirectives=[],this.pipesSet=new Set,this.pipes=[],this.exportedPipesSet=new Set,this.exportedPipes=[],this.modulesSet=new Set,this.modules=[],this.entryComponentsSet=new Set,this.entryComponents=[],this.providers=[]}addProvider(Go,Xu){this.providers.push({provider:Go,module:Xu})}addDirective(Go){this.directivesSet.has(Go.reference)||(this.directivesSet.add(Go.reference),this.directives.push(Go))}addExportedDirective(Go){this.exportedDirectivesSet.has(Go.reference)||(this.exportedDirectivesSet.add(Go.reference),this.exportedDirectives.push(Go))}addPipe(Go){this.pipesSet.has(Go.reference)||(this.pipesSet.add(Go.reference),this.pipes.push(Go))}addExportedPipe(Go){this.exportedPipesSet.has(Go.reference)||(this.exportedPipesSet.add(Go.reference),this.exportedPipes.push(Go))}addModule(Go){this.modulesSet.has(Go.reference)||(this.modulesSet.add(Go.reference),this.modules.push(Go))}addEntryComponent(Go){this.entryComponentsSet.has(Go.componentType)||(this.entryComponentsSet.add(Go.componentType),this.entryComponents.push(Go))}};function cu(Go){return Go.reduce((Xu,Ql)=>{const p_=Array.isArray(Ql)?cu(Ql):Ql;return Xu.concat(p_)},[])}function El(Go){return Go.replace(/(\\w+:\\/\\/[\\w:-]+)?(\\/+)?/,\"ng:///\")}Xx.ProviderMeta=class{constructor(Go,{useClass:Xu,useValue:Ql,useExisting:p_,useFactory:ap,deps:Ll,multi:$l}){this.token=Go,this.useClass=Xu||null,this.useValue=Ql,this.useExisting=p_,this.useFactory=ap||null,this.dependencies=Ll||null,this.multi=!!$l}},Xx.flatten=cu,Xx.templateSourceUrl=function(Go,Xu,Ql){let p_;return p_=Ql.isInline?Xu.type.reference instanceof F0.StaticSymbol?`${Xu.type.reference.filePath}.${Xu.type.reference.name}.html`:`${Bn(Go)}/${Bn(Xu.type)}.html`:Ql.templateUrl,Xu.type.reference instanceof F0.StaticSymbol?p_:El(p_)},Xx.sharedStylesheetJitUrl=function(Go,Xu){const Ql=Go.moduleUrl.split(/\\/\\\\/g);return El(`css/${Xu}${Ql[Ql.length-1]}.ngstyle.js`)},Xx.ngModuleJitUrl=function(Go){return El(`${Bn(Go.type)}/module.ngfactory.js`)},Xx.templateJitUrl=function(Go,Xu){return El(`${Bn(Go)}/${Bn(Xu.type)}.ngfactory.js`)}}),kn=b(function(kx,Xx){Object.defineProperty(Xx,\"__esModule\",{value:!0});/**\n\t   * @license\n\t   * Copyright Google Inc. All Rights Reserved.\n\t   *\n\t   * Use of this source code is governed by an MIT-style license that can be\n\t   * found in the LICENSE file at https://angular.io/license\n\t   */class Ee{constructor(go,gu,cu,El){this.file=go,this.offset=gu,this.line=cu,this.col=El}toString(){return this.offset!=null?`${this.file.url}@${this.line}:${this.col}`:this.file.url}moveBy(go){const gu=this.file.content,cu=gu.length;let El=this.offset,Go=this.line,Xu=this.col;for(;El>0&&go<0;)if(El--,go++,gu.charCodeAt(El)==R.$LF){Go--;const Ql=gu.substr(0,El-1).lastIndexOf(String.fromCharCode(R.$LF));Xu=Ql>0?El-Ql:El}else Xu--;for(;El<cu&&go>0;){const Ql=gu.charCodeAt(El);El++,go--,Ql==R.$LF?(Go++,Xu=0):Xu++}return new Ee(this.file,El,Go,Xu)}getContext(go,gu){const cu=this.file.content;let El=this.offset;if(El!=null){El>cu.length-1&&(El=cu.length-1);let Go=El,Xu=0,Ql=0;for(;Xu<go&&El>0&&(El--,Xu++,cu[El]!=`\n`||++Ql!=gu););for(Xu=0,Ql=0;Xu<go&&Go<cu.length-1&&(Go++,Xu++,cu[Go]!=`\n`||++Ql!=gu););return{before:cu.substring(El,this.offset),after:cu.substring(this.offset,Go+1)}}return null}}Xx.ParseLocation=Ee;class at{constructor(go,gu){this.content=go,this.url=gu}}Xx.ParseSourceFile=at;class cn{constructor(go,gu,cu=null){this.start=go,this.end=gu,this.details=cu}toString(){return this.start.file.content.substring(this.start.offset,this.end.offset)}}var Bn;Xx.ParseSourceSpan=cn,Xx.EMPTY_PARSE_LOCATION=new Ee(new at(\"\",\"\"),0,0,0),Xx.EMPTY_SOURCE_SPAN=new cn(Xx.EMPTY_PARSE_LOCATION,Xx.EMPTY_PARSE_LOCATION),function(ao){ao[ao.WARNING=0]=\"WARNING\",ao[ao.ERROR=1]=\"ERROR\"}(Bn=Xx.ParseErrorLevel||(Xx.ParseErrorLevel={})),Xx.ParseError=class{constructor(ao,go,gu=Bn.ERROR){this.span=ao,this.msg=go,this.level=gu}contextualMessage(){const ao=this.span.start.getContext(100,3);return ao?`${this.msg} (\"${ao.before}[${Bn[this.level]} ->]${ao.after}\")`:this.msg}toString(){const ao=this.span.details?`, ${this.span.details}`:\"\";return`${this.contextualMessage()}: ${this.span.start}${ao}`}},Xx.typeSourceSpan=function(ao,go){const gu=Ec.identifierModuleUrl(go),cu=gu!=null?`in ${ao} ${Ec.identifierName(go)} in ${gu}`:`in ${ao} ${Ec.identifierName(go)}`,El=new at(\"\",cu);return new cn(new Ee(El,-1,-1,-1),new Ee(El,-1,-1,-1))},Xx.r3JitTypeSourceSpan=function(ao,go,gu){const cu=new at(\"\",`in ${ao} ${go} in ${gu}`);return new cn(new Ee(cu,-1,-1,-1),new Ee(cu,-1,-1,-1))}});const pu=new RegExp(\"^(?<startDelimiter>-{3}|\\\\+{3})(?<language>[^\\\\n]*)\\\\n(?:|(?<value>.*?)\\\\n)(?<endDelimiter>\\\\k<startDelimiter>|\\\\.{3})[^\\\\S\\\\n]*(?:\\\\n|$)\",\"s\");var mi=function(kx){const Xx=kx.match(pu);if(!Xx)return{content:kx};const{startDelimiter:Ee,language:at,value:cn=\"\",endDelimiter:Bn}=Xx.groups;let ao=at.trim()||\"yaml\";if(Ee===\"+++\"&&(ao=\"toml\"),ao!==\"yaml\"&&Ee!==Bn)return{content:kx};const[go]=Xx;return{frontMatter:{type:\"front-matter\",lang:ao,value:cn,startDelimiter:Ee,endDelimiter:Bn,raw:go.replace(/\\n$/,\"\")},content:go.replace(/[^\\n]/g,\" \")+kx.slice(go.length)}},ma=kx=>kx[kx.length-1],ja=function(kx,Xx){const Ee=new SyntaxError(kx+\" (\"+Xx.start.line+\":\"+Xx.start.column+\")\");return Ee.loc=Xx,Ee},Ua=kx=>typeof kx==\"string\"?kx.replace((({onlyFirst:Xx=!1}={})=>{const Ee=[\"[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:[a-zA-Z\\\\d]*(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)\",\"(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))\"].join(\"|\");return new RegExp(Ee,Xx?void 0:\"g\")})(),\"\"):kx;const aa=kx=>!Number.isNaN(kx)&&kx>=4352&&(kx<=4447||kx===9001||kx===9002||11904<=kx&&kx<=12871&&kx!==12351||12880<=kx&&kx<=19903||19968<=kx&&kx<=42182||43360<=kx&&kx<=43388||44032<=kx&&kx<=55203||63744<=kx&&kx<=64255||65040<=kx&&kx<=65049||65072<=kx&&kx<=65131||65281<=kx&&kx<=65376||65504<=kx&&kx<=65510||110592<=kx&&kx<=110593||127488<=kx&&kx<=127569||131072<=kx&&kx<=262141);var Os=aa,gn=aa;Os.default=gn;const et=kx=>{if(typeof kx!=\"string\"||kx.length===0||(kx=Ua(kx)).length===0)return 0;kx=kx.replace(/\\uD83C\\uDFF4\\uDB40\\uDC67\\uDB40\\uDC62(?:\\uDB40\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67|\\uDB40\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDB40\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73)\\uDB40\\uDC7F|\\uD83D\\uDC68(?:\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C\\uDFFB|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFE])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83D\\uDC68|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D[\\uDC66\\uDC67])|[\\u2695\\u2696\\u2708]\\uFE0F|\\uD83D[\\uDC66\\uDC67]|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|(?:\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708])\\uFE0F|\\uD83C\\uDFFB\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C[\\uDFFB-\\uDFFF])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFB\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)\\uD83C\\uDFFB|\\uD83E\\uDDD1(?:\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1)|(?:\\uD83E\\uDDD1\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69]))(?:\\uD83C[\\uDFFB-\\uDFFE])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83D\\uDC69(?:\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFB\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFC-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D(?:\\uD83D[\\uDC68\\uDC69])|\\uD83D[\\uDC68\\uDC69])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|(?:\\uD83E\\uDDD1\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D\\uDC41\\uFE0F\\u200D\\uD83D\\uDDE8|\\uD83D\\uDC69(?:\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708])|(?:(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)\\uFE0F|\\uD83D\\uDC6F|\\uD83E[\\uDD3C\\uDDDE\\uDDDF])\\u200D[\\u2640\\u2642]|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|\\u200D[\\u2640\\u2642])|\\uD83C\\uDFF4\\u200D\\u2620)\\uFE0F|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|\\uD83C\\uDFF3\\uFE0F\\u200D\\uD83C\\uDF08|\\uD83D\\uDC15\\u200D\\uD83E\\uDDBA|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67|\\uD83C\\uDDFD\\uD83C\\uDDF0|\\uD83C\\uDDF4\\uD83C\\uDDF2|\\uD83C\\uDDF6\\uD83C\\uDDE6|[#\\*0-9]\\uFE0F\\u20E3|\\uD83C\\uDDE7(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDF9(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF])|\\uD83C\\uDDEA(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA])|\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF7(?:\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC])|\\uD83D\\uDC69(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF2(?:\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF])|\\uD83C\\uDDE6(?:\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF])|\\uD83C\\uDDF0(?:\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDED(?:\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA])|\\uD83C\\uDDE9(?:\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF])|\\uD83C\\uDDFE(?:\\uD83C[\\uDDEA\\uDDF9])|\\uD83C\\uDDEC(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE])|\\uD83C\\uDDF8(?:\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF])|\\uD83C\\uDDEB(?:\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7])|\\uD83C\\uDDF5(?:\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE])|\\uD83C\\uDDFB(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA])|\\uD83C\\uDDF3(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF])|\\uD83C\\uDDE8(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF5\\uDDF7\\uDDFA-\\uDDFF])|\\uD83C\\uDDF1(?:\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE])|\\uD83C\\uDDFF(?:\\uD83C[\\uDDE6\\uDDF2\\uDDFC])|\\uD83C\\uDDFC(?:\\uD83C[\\uDDEB\\uDDF8])|\\uD83C\\uDDFA(?:\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF])|\\uD83C\\uDDEE(?:\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9])|\\uD83C\\uDDEF(?:\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5])|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u261D\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2\\uDFC7]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC70\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDCAA\\uDD74\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1C\\uDD1E\\uDD1F\\uDD30-\\uDD36\\uDDB5\\uDDB6\\uDDBB\\uDDD2-\\uDDD5])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u231A\\u231B\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u25FE\\u2614\\u2615\\u2648-\\u2653\\u267F\\u2693\\u26A1\\u26AA\\u26AB\\u26BD\\u26BE\\u26C4\\u26C5\\u26CE\\u26D4\\u26EA\\u26F2\\u26F3\\u26F5\\u26FA\\u26FD\\u2705\\u270A\\u270B\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2795-\\u2797\\u27B0\\u27BF\\u2B1B\\u2B1C\\u2B50\\u2B55]|\\uD83C[\\uDC04\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF7C\\uDF7E-\\uDF93\\uDFA0-\\uDFCA\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF4\\uDFF8-\\uDFFF]|\\uD83D[\\uDC00-\\uDC3E\\uDC40\\uDC42-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDD7A\\uDD95\\uDD96\\uDDA4\\uDDFB-\\uDE4F\\uDE80-\\uDEC5\\uDECC\\uDED0-\\uDED2\\uDED5\\uDEEB\\uDEEC\\uDEF4-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])|(?:[#\\*0-9\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u231A\\u231B\\u2328\\u23CF\\u23E9-\\u23F3\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB-\\u25FE\\u2600-\\u2604\\u260E\\u2611\\u2614\\u2615\\u2618\\u261D\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u2648-\\u2653\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u267F\\u2692-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A1\\u26AA\\u26AB\\u26B0\\u26B1\\u26BD\\u26BE\\u26C4\\u26C5\\u26C8\\u26CE\\u26CF\\u26D1\\u26D3\\u26D4\\u26E9\\u26EA\\u26F0-\\u26F5\\u26F7-\\u26FA\\u26FD\\u2702\\u2705\\u2708-\\u270D\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2728\\u2733\\u2734\\u2744\\u2747\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2763\\u2764\\u2795-\\u2797\\u27A1\\u27B0\\u27BF\\u2934\\u2935\\u2B05-\\u2B07\\u2B1B\\u2B1C\\u2B50\\u2B55\\u3030\\u303D\\u3297\\u3299]|\\uD83C[\\uDC04\\uDCCF\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE02\\uDE1A\\uDE2F\\uDE32-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF21\\uDF24-\\uDF93\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E-\\uDFF0\\uDFF3-\\uDFF5\\uDFF7-\\uDFFF]|\\uD83D[\\uDC00-\\uDCFD\\uDCFF-\\uDD3D\\uDD49-\\uDD4E\\uDD50-\\uDD67\\uDD6F\\uDD70\\uDD73-\\uDD7A\\uDD87\\uDD8A-\\uDD8D\\uDD90\\uDD95\\uDD96\\uDDA4\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA-\\uDE4F\\uDE80-\\uDEC5\\uDECB-\\uDED2\\uDED5\\uDEE0-\\uDEE5\\uDEE9\\uDEEB\\uDEEC\\uDEF0\\uDEF3-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])\\uFE0F|(?:[\\u261D\\u26F9\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2-\\uDFC4\\uDFC7\\uDFCA-\\uDFCC]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66-\\uDC78\\uDC7C\\uDC81-\\uDC83\\uDC85-\\uDC87\\uDC8F\\uDC91\\uDCAA\\uDD74\\uDD75\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE45-\\uDE47\\uDE4B-\\uDE4F\\uDEA3\\uDEB4-\\uDEB6\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1F\\uDD26\\uDD30-\\uDD39\\uDD3C-\\uDD3E\\uDDB5\\uDDB6\\uDDB8\\uDDB9\\uDDBB\\uDDCD-\\uDDCF\\uDDD1-\\uDDDD])/g,\"  \");let Xx=0;for(let Ee=0;Ee<kx.length;Ee++){const at=kx.codePointAt(Ee);at<=31||at>=127&&at<=159||at>=768&&at<=879||(at>65535&&Ee++,Xx+=Os(at)?2:1)}return Xx};var Sr=et,un=et;Sr.default=un;var jn=kx=>{if(typeof kx!=\"string\")throw new TypeError(\"Expected a string\");return kx.replace(/[|\\\\{}()[\\]^$+*?.]/g,\"\\\\$&\").replace(/-/g,\"\\\\x2d\")};function ea(kx,Xx){if(kx==null)return{};var Ee,at,cn=function(ao,go){if(ao==null)return{};var gu,cu,El={},Go=Object.keys(ao);for(cu=0;cu<Go.length;cu++)gu=Go[cu],go.indexOf(gu)>=0||(El[gu]=ao[gu]);return El}(kx,Xx);if(Object.getOwnPropertySymbols){var Bn=Object.getOwnPropertySymbols(kx);for(at=0;at<Bn.length;at++)Ee=Bn[at],Xx.indexOf(Ee)>=0||Object.prototype.propertyIsEnumerable.call(kx,Ee)&&(cn[Ee]=kx[Ee])}return cn}var wa=function(kx){return kx&&kx.Math==Math&&kx},as=wa(typeof globalThis==\"object\"&&globalThis)||wa(typeof window==\"object\"&&window)||wa(typeof self==\"object\"&&self)||wa(typeof c==\"object\"&&c)||function(){return this}()||Function(\"return this\")(),zo=function(kx){try{return!!kx()}catch{return!0}},vo=!zo(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7}),vi={}.propertyIsEnumerable,jr=Object.getOwnPropertyDescriptor,Hn={f:jr&&!vi.call({1:2},1)?function(kx){var Xx=jr(this,kx);return!!Xx&&Xx.enumerable}:vi},wi=function(kx,Xx){return{enumerable:!(1&kx),configurable:!(2&kx),writable:!(4&kx),value:Xx}},jo={}.toString,bs=function(kx){return jo.call(kx).slice(8,-1)},Ha=\"\".split,qn=zo(function(){return!Object(\"z\").propertyIsEnumerable(0)})?function(kx){return bs(kx)==\"String\"?Ha.call(kx,\"\"):Object(kx)}:Object,Ki=function(kx){if(kx==null)throw TypeError(\"Can't call method on \"+kx);return kx},es=function(kx){return qn(Ki(kx))},Ns=function(kx){return typeof kx==\"object\"?kx!==null:typeof kx==\"function\"},ju=function(kx,Xx){if(!Ns(kx))return kx;var Ee,at;if(Xx&&typeof(Ee=kx.toString)==\"function\"&&!Ns(at=Ee.call(kx))||typeof(Ee=kx.valueOf)==\"function\"&&!Ns(at=Ee.call(kx))||!Xx&&typeof(Ee=kx.toString)==\"function\"&&!Ns(at=Ee.call(kx)))return at;throw TypeError(\"Can't convert object to primitive value\")},Tc=function(kx){return Object(Ki(kx))},bu={}.hasOwnProperty,mc=Object.hasOwn||function(kx,Xx){return bu.call(Tc(kx),Xx)},vc=as.document,Lc=Ns(vc)&&Ns(vc.createElement),i2=!vo&&!zo(function(){return Object.defineProperty((kx=\"div\",Lc?vc.createElement(kx):{}),\"a\",{get:function(){return 7}}).a!=7;var kx}),su=Object.getOwnPropertyDescriptor,T2={f:vo?su:function(kx,Xx){if(kx=es(kx),Xx=ju(Xx,!0),i2)try{return su(kx,Xx)}catch{}if(mc(kx,Xx))return wi(!Hn.f.call(kx,Xx),kx[Xx])}},Cu=function(kx){if(!Ns(kx))throw TypeError(String(kx)+\" is not an object\");return kx},mr=Object.defineProperty,Dn={f:vo?mr:function(kx,Xx,Ee){if(Cu(kx),Xx=ju(Xx,!0),Cu(Ee),i2)try{return mr(kx,Xx,Ee)}catch{}if(\"get\"in Ee||\"set\"in Ee)throw TypeError(\"Accessors not supported\");return\"value\"in Ee&&(kx[Xx]=Ee.value),kx}},ki=vo?function(kx,Xx,Ee){return Dn.f(kx,Xx,wi(1,Ee))}:function(kx,Xx,Ee){return kx[Xx]=Ee,kx},us=function(kx,Xx){try{ki(as,kx,Xx)}catch{as[kx]=Xx}return Xx},ac=\"__core-js_shared__\",_s=as[ac]||us(ac,{}),cf=Function.toString;typeof _s.inspectSource!=\"function\"&&(_s.inspectSource=function(kx){return cf.call(kx)});var Df,gp,_2,c_,pC=_s.inspectSource,c8=as.WeakMap,VE=typeof c8==\"function\"&&/native code/.test(pC(c8)),S8=b(function(kx){(kx.exports=function(Xx,Ee){return _s[Xx]||(_s[Xx]=Ee!==void 0?Ee:{})})(\"versions\",[]).push({version:\"3.14.0\",mode:\"global\",copyright:\"\\xA9 2021 Denis Pushkarev (zloirock.ru)\"})}),c4=0,BS=Math.random(),ES=function(kx){return\"Symbol(\"+String(kx===void 0?\"\":kx)+\")_\"+(++c4+BS).toString(36)},fS=S8(\"keys\"),DF={},D8=\"Object already initialized\",v8=as.WeakMap;if(VE||_s.state){var pS=_s.state||(_s.state=new v8),l4=pS.get,KF=pS.has,f4=pS.set;Df=function(kx,Xx){if(KF.call(pS,kx))throw new TypeError(D8);return Xx.facade=kx,f4.call(pS,kx,Xx),Xx},gp=function(kx){return l4.call(pS,kx)||{}},_2=function(kx){return KF.call(pS,kx)}}else{var $E=fS[c_=\"state\"]||(fS[c_]=ES(c_));DF[$E]=!0,Df=function(kx,Xx){if(mc(kx,$E))throw new TypeError(D8);return Xx.facade=kx,ki(kx,$E,Xx),Xx},gp=function(kx){return mc(kx,$E)?kx[$E]:{}},_2=function(kx){return mc(kx,$E)}}var t6,vF,fF={set:Df,get:gp,has:_2,enforce:function(kx){return _2(kx)?gp(kx):Df(kx,{})},getterFor:function(kx){return function(Xx){var Ee;if(!Ns(Xx)||(Ee=gp(Xx)).type!==kx)throw TypeError(\"Incompatible receiver, \"+kx+\" required\");return Ee}}},tS=b(function(kx){var Xx=fF.get,Ee=fF.enforce,at=String(String).split(\"String\");(kx.exports=function(cn,Bn,ao,go){var gu,cu=!!go&&!!go.unsafe,El=!!go&&!!go.enumerable,Go=!!go&&!!go.noTargetGet;typeof ao==\"function\"&&(typeof Bn!=\"string\"||mc(ao,\"name\")||ki(ao,\"name\",Bn),(gu=Ee(ao)).source||(gu.source=at.join(typeof Bn==\"string\"?Bn:\"\"))),cn!==as?(cu?!Go&&cn[Bn]&&(El=!0):delete cn[Bn],El?cn[Bn]=ao:ki(cn,Bn,ao)):El?cn[Bn]=ao:us(Bn,ao)})(Function.prototype,\"toString\",function(){return typeof this==\"function\"&&Xx(this).source||pC(this)})}),z6=as,LS=function(kx){return typeof kx==\"function\"?kx:void 0},B8=function(kx,Xx){return arguments.length<2?LS(z6[kx])||LS(as[kx]):z6[kx]&&z6[kx][Xx]||as[kx]&&as[kx][Xx]},MS=Math.ceil,rT=Math.floor,bF=function(kx){return isNaN(kx=+kx)?0:(kx>0?rT:MS)(kx)},nT=Math.min,RT=function(kx){return kx>0?nT(bF(kx),9007199254740991):0},UA=Math.max,_5=Math.min,VA=function(kx){return function(Xx,Ee,at){var cn,Bn=es(Xx),ao=RT(Bn.length),go=function(gu,cu){var El=bF(gu);return El<0?UA(El+cu,0):_5(El,cu)}(at,ao);if(kx&&Ee!=Ee){for(;ao>go;)if((cn=Bn[go++])!=cn)return!0}else for(;ao>go;go++)if((kx||go in Bn)&&Bn[go]===Ee)return kx||go||0;return!kx&&-1}},ST={includes:VA(!0),indexOf:VA(!1)}.indexOf,ZT=[\"constructor\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"toLocaleString\",\"toString\",\"valueOf\"].concat(\"length\",\"prototype\"),Kw={f:Object.getOwnPropertyNames||function(kx){return function(Xx,Ee){var at,cn=es(Xx),Bn=0,ao=[];for(at in cn)!mc(DF,at)&&mc(cn,at)&&ao.push(at);for(;Ee.length>Bn;)mc(cn,at=Ee[Bn++])&&(~ST(ao,at)||ao.push(at));return ao}(kx,ZT)}},y5={f:Object.getOwnPropertySymbols},P4=B8(\"Reflect\",\"ownKeys\")||function(kx){var Xx=Kw.f(Cu(kx)),Ee=y5.f;return Ee?Xx.concat(Ee(kx)):Xx},fA=function(kx,Xx){for(var Ee=P4(Xx),at=Dn.f,cn=T2.f,Bn=0;Bn<Ee.length;Bn++){var ao=Ee[Bn];mc(kx,ao)||at(kx,ao,cn(Xx,ao))}},H8=/#|\\.prototype\\./,pA=function(kx,Xx){var Ee=W6[qS(kx)];return Ee==$A||Ee!=D5&&(typeof Xx==\"function\"?zo(Xx):!!Xx)},qS=pA.normalize=function(kx){return String(kx).replace(H8,\".\").toLowerCase()},W6=pA.data={},D5=pA.NATIVE=\"N\",$A=pA.POLYFILL=\"P\",J4=pA,dA=T2.f,CF=function(kx,Xx){var Ee,at,cn,Bn,ao,go=kx.target,gu=kx.global,cu=kx.stat;if(Ee=gu?as:cu?as[go]||us(go,{}):(as[go]||{}).prototype)for(at in Xx){if(Bn=Xx[at],cn=kx.noTargetGet?(ao=dA(Ee,at))&&ao.value:Ee[at],!J4(gu?at:go+(cu?\".\":\"#\")+at,kx.forced)&&cn!==void 0){if(typeof Bn==typeof cn)continue;fA(Bn,cn)}(kx.sham||cn&&cn.sham)&&ki(Bn,\"sham\",!0),tS(Ee,at,Bn,kx)}},FT=Array.isArray||function(kx){return bs(kx)==\"Array\"},mA=function(kx){if(typeof kx!=\"function\")throw TypeError(String(kx)+\" is not a function\");return kx},v5=function(kx,Xx,Ee){if(mA(kx),Xx===void 0)return kx;switch(Ee){case 0:return function(){return kx.call(Xx)};case 1:return function(at){return kx.call(Xx,at)};case 2:return function(at,cn){return kx.call(Xx,at,cn)};case 3:return function(at,cn,Bn){return kx.call(Xx,at,cn,Bn)}}return function(){return kx.apply(Xx,arguments)}},KA=function(kx,Xx,Ee,at,cn,Bn,ao,go){for(var gu,cu=cn,El=0,Go=!!ao&&v5(ao,go,3);El<at;){if(El in Ee){if(gu=Go?Go(Ee[El],El,Xx):Ee[El],Bn>0&&FT(gu))cu=KA(kx,Xx,gu,RT(gu.length),cu,Bn-1)-1;else{if(cu>=9007199254740991)throw TypeError(\"Exceed the acceptable array length\");kx[cu]=gu}cu++}El++}return cu},vw=KA,p4=B8(\"navigator\",\"userAgent\")||\"\",x5=as.process,e5=x5&&x5.versions,jT=e5&&e5.v8;jT?vF=(t6=jT.split(\".\"))[0]<4?1:t6[0]+t6[1]:p4&&(!(t6=p4.match(/Edge\\/(\\d+)/))||t6[1]>=74)&&(t6=p4.match(/Chrome\\/(\\d+)/))&&(vF=t6[1]);var _6=vF&&+vF,q6=!!Object.getOwnPropertySymbols&&!zo(function(){var kx=Symbol();return!String(kx)||!(Object(kx)instanceof Symbol)||!Symbol.sham&&_6&&_6<41}),JS=q6&&!Symbol.sham&&typeof Symbol.iterator==\"symbol\",eg=S8(\"wks\"),L8=as.Symbol,J6=JS?L8:L8&&L8.withoutSetter||ES,cm=function(kx){return mc(eg,kx)&&(q6||typeof eg[kx]==\"string\")||(q6&&mc(L8,kx)?eg[kx]=L8[kx]:eg[kx]=J6(\"Symbol.\"+kx)),eg[kx]},l8=cm(\"species\"),S6=function(kx,Xx){var Ee;return FT(kx)&&(typeof(Ee=kx.constructor)!=\"function\"||Ee!==Array&&!FT(Ee.prototype)?Ns(Ee)&&(Ee=Ee[l8])===null&&(Ee=void 0):Ee=void 0),new(Ee===void 0?Array:Ee)(Xx===0?0:Xx)};CF({target:\"Array\",proto:!0},{flatMap:function(kx){var Xx,Ee=Tc(this),at=RT(Ee.length);return mA(kx),(Xx=S6(Ee,0)).length=vw(Xx,Ee,Ee,at,0,1,kx,arguments.length>1?arguments[1]:void 0),Xx}});var Pg,Py,F6=Math.floor,tg=function(kx,Xx){var Ee=kx.length,at=F6(Ee/2);return Ee<8?u3(kx,Xx):iT(tg(kx.slice(0,at),Xx),tg(kx.slice(at),Xx),Xx)},u3=function(kx,Xx){for(var Ee,at,cn=kx.length,Bn=1;Bn<cn;){for(at=Bn,Ee=kx[Bn];at&&Xx(kx[at-1],Ee)>0;)kx[at]=kx[--at];at!==Bn++&&(kx[at]=Ee)}return kx},iT=function(kx,Xx,Ee){for(var at=kx.length,cn=Xx.length,Bn=0,ao=0,go=[];Bn<at||ao<cn;)Bn<at&&ao<cn?go.push(Ee(kx[Bn],Xx[ao])<=0?kx[Bn++]:Xx[ao++]):go.push(Bn<at?kx[Bn++]:Xx[ao++]);return go},HS=tg,H6=p4.match(/firefox\\/(\\d+)/i),j5=!!H6&&+H6[1],t5=/MSIE|Trident/.test(p4),bw=p4.match(/AppleWebKit\\/(\\d+)\\./),U5=!!bw&&+bw[1],d4=[],pF=d4.sort,EF=zo(function(){d4.sort(void 0)}),A6=zo(function(){d4.sort(null)}),r5=!!(Py=[].sort)&&zo(function(){Py.call(null,Pg||function(){throw 1},1)}),m4=!zo(function(){if(_6)return _6<70;if(!(j5&&j5>3)){if(t5)return!0;if(U5)return U5<603;var kx,Xx,Ee,at,cn=\"\";for(kx=65;kx<76;kx++){switch(Xx=String.fromCharCode(kx),kx){case 66:case 69:case 70:case 72:Ee=3;break;case 68:case 71:Ee=4;break;default:Ee=2}for(at=0;at<47;at++)d4.push({k:Xx+at,v:Ee})}for(d4.sort(function(Bn,ao){return ao.v-Bn.v}),at=0;at<d4.length;at++)Xx=d4[at].k.charAt(0),cn.charAt(cn.length-1)!==Xx&&(cn+=Xx);return cn!==\"DGBEFHACIJK\"}});CF({target:\"Array\",proto:!0,forced:EF||!A6||!r5||!m4},{sort:function(kx){kx!==void 0&&mA(kx);var Xx=Tc(this);if(m4)return kx===void 0?pF.call(Xx):pF.call(Xx,kx);var Ee,at,cn=[],Bn=RT(Xx.length);for(at=0;at<Bn;at++)at in Xx&&cn.push(Xx[at]);for(Ee=(cn=HS(cn,function(ao){return function(go,gu){return gu===void 0?-1:go===void 0?1:ao!==void 0?+ao(go,gu)||0:String(go)>String(gu)?1:-1}}(kx))).length,at=0;at<Ee;)Xx[at]=cn[at++];for(;at<Bn;)delete Xx[at++];return Xx}});var Lu={},Ig=cm(\"iterator\"),hA=Array.prototype,RS={};RS[cm(\"toStringTag\")]=\"z\";var H4=String(RS)===\"[object z]\",I4=cm(\"toStringTag\"),GS=bs(function(){return arguments}())==\"Arguments\",SS=H4?bs:function(kx){var Xx,Ee,at;return kx===void 0?\"Undefined\":kx===null?\"Null\":typeof(Ee=function(cn,Bn){try{return cn[Bn]}catch{}}(Xx=Object(kx),I4))==\"string\"?Ee:GS?bs(Xx):(at=bs(Xx))==\"Object\"&&typeof Xx.callee==\"function\"?\"Arguments\":at},rS=cm(\"iterator\"),T6=function(kx){var Xx=kx.return;if(Xx!==void 0)return Cu(Xx.call(kx)).value},dS=function(kx,Xx){this.stopped=kx,this.result=Xx},w6=function(kx,Xx,Ee){var at,cn,Bn,ao,go,gu,cu,El,Go=Ee&&Ee.that,Xu=!(!Ee||!Ee.AS_ENTRIES),Ql=!(!Ee||!Ee.IS_ITERATOR),p_=!(!Ee||!Ee.INTERRUPTED),ap=v5(Xx,Go,1+Xu+p_),Ll=function(Tu){return at&&T6(at),new dS(!0,Tu)},$l=function(Tu){return Xu?(Cu(Tu),p_?ap(Tu[0],Tu[1],Ll):ap(Tu[0],Tu[1])):p_?ap(Tu,Ll):ap(Tu)};if(Ql)at=kx;else{if(typeof(cn=function(Tu){if(Tu!=null)return Tu[rS]||Tu[\"@@iterator\"]||Lu[SS(Tu)]}(kx))!=\"function\")throw TypeError(\"Target is not iterable\");if((El=cn)!==void 0&&(Lu.Array===El||hA[Ig]===El)){for(Bn=0,ao=RT(kx.length);ao>Bn;Bn++)if((go=$l(kx[Bn]))&&go instanceof dS)return go;return new dS(!1)}at=cn.call(kx)}for(gu=at.next;!(cu=gu.call(at)).done;){try{go=$l(cu.value)}catch(Tu){throw T6(at),Tu}if(typeof go==\"object\"&&go&&go instanceof dS)return go}return new dS(!1)};CF({target:\"Object\",stat:!0},{fromEntries:function(kx){var Xx={};return w6(kx,function(Ee,at){(function(cn,Bn,ao){var go=ju(Bn);go in cn?Dn.f(cn,go,wi(0,ao)):cn[go]=ao})(Xx,Ee,at)},{AS_ENTRIES:!0}),Xx}});var vb=vb!==void 0?vb:typeof self!=\"undefined\"?self:typeof window!=\"undefined\"?window:{};function Rh(){throw new Error(\"setTimeout has not been defined\")}function Wf(){throw new Error(\"clearTimeout has not been defined\")}var Fp=Rh,ZC=Wf;function zA(kx){if(Fp===setTimeout)return setTimeout(kx,0);if((Fp===Rh||!Fp)&&setTimeout)return Fp=setTimeout,setTimeout(kx,0);try{return Fp(kx,0)}catch{try{return Fp.call(null,kx,0)}catch{return Fp.call(this,kx,0)}}}typeof vb.setTimeout==\"function\"&&(Fp=setTimeout),typeof vb.clearTimeout==\"function\"&&(ZC=clearTimeout);var zF,WF=[],l_=!1,xE=-1;function r6(){l_&&zF&&(l_=!1,zF.length?WF=zF.concat(WF):xE=-1,WF.length&&M8())}function M8(){if(!l_){var kx=zA(r6);l_=!0;for(var Xx=WF.length;Xx;){for(zF=WF,WF=[];++xE<Xx;)zF&&zF[xE].run();xE=-1,Xx=WF.length}zF=null,l_=!1,function(Ee){if(ZC===clearTimeout)return clearTimeout(Ee);if((ZC===Wf||!ZC)&&clearTimeout)return ZC=clearTimeout,clearTimeout(Ee);try{ZC(Ee)}catch{try{return ZC.call(null,Ee)}catch{return ZC.call(this,Ee)}}}(kx)}}function KE(kx,Xx){this.fun=kx,this.array=Xx}KE.prototype.run=function(){this.fun.apply(null,this.array)};function lm(){}var mS=lm,aT=lm,h4=lm,G4=lm,k6=lm,xw=lm,UT=lm,oT=vb.performance||{},G8=oT.now||oT.mozNow||oT.msNow||oT.oNow||oT.webkitNow||function(){return new Date().getTime()},y6=new Date,nS={nextTick:function(kx){var Xx=new Array(arguments.length-1);if(arguments.length>1)for(var Ee=1;Ee<arguments.length;Ee++)Xx[Ee-1]=arguments[Ee];WF.push(new KE(kx,Xx)),WF.length!==1||l_||zA(M8)},title:\"browser\",browser:!0,env:{},argv:[],version:\"\",versions:{},on:mS,addListener:aT,once:h4,off:G4,removeListener:k6,removeAllListeners:xw,emit:UT,binding:function(kx){throw new Error(\"process.binding is not supported\")},cwd:function(){return\"/\"},chdir:function(kx){throw new Error(\"process.chdir is not supported\")},umask:function(){return 0},hrtime:function(kx){var Xx=.001*G8.call(oT),Ee=Math.floor(Xx),at=Math.floor(Xx%1*1e9);return kx&&(Ee-=kx[0],(at-=kx[1])<0&&(Ee--,at+=1e9)),[Ee,at]},platform:\"browser\",release:{},config:{},uptime:function(){return(new Date-y6)/1e3}},jD=typeof nS==\"object\"&&nS.env&&nS.env.NODE_DEBUG&&/\\bsemver\\b/i.test(nS.env.NODE_DEBUG)?(...kx)=>console.error(\"SEMVER\",...kx):()=>{},X4={SEMVER_SPEC_VERSION:\"2.0.0\",MAX_LENGTH:256,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,MAX_SAFE_COMPONENT_LENGTH:16},SF=b(function(kx,Xx){const{MAX_SAFE_COMPONENT_LENGTH:Ee}=X4,at=(Xx=kx.exports={}).re=[],cn=Xx.src=[],Bn=Xx.t={};let ao=0;const go=(gu,cu,El)=>{const Go=ao++;jD(Go,cu),Bn[gu]=Go,cn[Go]=cu,at[Go]=new RegExp(cu,El?\"g\":void 0)};go(\"NUMERICIDENTIFIER\",\"0|[1-9]\\\\d*\"),go(\"NUMERICIDENTIFIERLOOSE\",\"[0-9]+\"),go(\"NONNUMERICIDENTIFIER\",\"\\\\d*[a-zA-Z-][a-zA-Z0-9-]*\"),go(\"MAINVERSION\",`(${cn[Bn.NUMERICIDENTIFIER]})\\\\.(${cn[Bn.NUMERICIDENTIFIER]})\\\\.(${cn[Bn.NUMERICIDENTIFIER]})`),go(\"MAINVERSIONLOOSE\",`(${cn[Bn.NUMERICIDENTIFIERLOOSE]})\\\\.(${cn[Bn.NUMERICIDENTIFIERLOOSE]})\\\\.(${cn[Bn.NUMERICIDENTIFIERLOOSE]})`),go(\"PRERELEASEIDENTIFIER\",`(?:${cn[Bn.NUMERICIDENTIFIER]}|${cn[Bn.NONNUMERICIDENTIFIER]})`),go(\"PRERELEASEIDENTIFIERLOOSE\",`(?:${cn[Bn.NUMERICIDENTIFIERLOOSE]}|${cn[Bn.NONNUMERICIDENTIFIER]})`),go(\"PRERELEASE\",`(?:-(${cn[Bn.PRERELEASEIDENTIFIER]}(?:\\\\.${cn[Bn.PRERELEASEIDENTIFIER]})*))`),go(\"PRERELEASELOOSE\",`(?:-?(${cn[Bn.PRERELEASEIDENTIFIERLOOSE]}(?:\\\\.${cn[Bn.PRERELEASEIDENTIFIERLOOSE]})*))`),go(\"BUILDIDENTIFIER\",\"[0-9A-Za-z-]+\"),go(\"BUILD\",`(?:\\\\+(${cn[Bn.BUILDIDENTIFIER]}(?:\\\\.${cn[Bn.BUILDIDENTIFIER]})*))`),go(\"FULLPLAIN\",`v?${cn[Bn.MAINVERSION]}${cn[Bn.PRERELEASE]}?${cn[Bn.BUILD]}?`),go(\"FULL\",`^${cn[Bn.FULLPLAIN]}$`),go(\"LOOSEPLAIN\",`[v=\\\\s]*${cn[Bn.MAINVERSIONLOOSE]}${cn[Bn.PRERELEASELOOSE]}?${cn[Bn.BUILD]}?`),go(\"LOOSE\",`^${cn[Bn.LOOSEPLAIN]}$`),go(\"GTLT\",\"((?:<|>)?=?)\"),go(\"XRANGEIDENTIFIERLOOSE\",`${cn[Bn.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`),go(\"XRANGEIDENTIFIER\",`${cn[Bn.NUMERICIDENTIFIER]}|x|X|\\\\*`),go(\"XRANGEPLAIN\",`[v=\\\\s]*(${cn[Bn.XRANGEIDENTIFIER]})(?:\\\\.(${cn[Bn.XRANGEIDENTIFIER]})(?:\\\\.(${cn[Bn.XRANGEIDENTIFIER]})(?:${cn[Bn.PRERELEASE]})?${cn[Bn.BUILD]}?)?)?`),go(\"XRANGEPLAINLOOSE\",`[v=\\\\s]*(${cn[Bn.XRANGEIDENTIFIERLOOSE]})(?:\\\\.(${cn[Bn.XRANGEIDENTIFIERLOOSE]})(?:\\\\.(${cn[Bn.XRANGEIDENTIFIERLOOSE]})(?:${cn[Bn.PRERELEASELOOSE]})?${cn[Bn.BUILD]}?)?)?`),go(\"XRANGE\",`^${cn[Bn.GTLT]}\\\\s*${cn[Bn.XRANGEPLAIN]}$`),go(\"XRANGELOOSE\",`^${cn[Bn.GTLT]}\\\\s*${cn[Bn.XRANGEPLAINLOOSE]}$`),go(\"COERCE\",`(^|[^\\\\d])(\\\\d{1,${Ee}})(?:\\\\.(\\\\d{1,${Ee}}))?(?:\\\\.(\\\\d{1,${Ee}}))?(?:$|[^\\\\d])`),go(\"COERCERTL\",cn[Bn.COERCE],!0),go(\"LONETILDE\",\"(?:~>?)\"),go(\"TILDETRIM\",`(\\\\s*)${cn[Bn.LONETILDE]}\\\\s+`,!0),Xx.tildeTrimReplace=\"$1~\",go(\"TILDE\",`^${cn[Bn.LONETILDE]}${cn[Bn.XRANGEPLAIN]}$`),go(\"TILDELOOSE\",`^${cn[Bn.LONETILDE]}${cn[Bn.XRANGEPLAINLOOSE]}$`),go(\"LONECARET\",\"(?:\\\\^)\"),go(\"CARETTRIM\",`(\\\\s*)${cn[Bn.LONECARET]}\\\\s+`,!0),Xx.caretTrimReplace=\"$1^\",go(\"CARET\",`^${cn[Bn.LONECARET]}${cn[Bn.XRANGEPLAIN]}$`),go(\"CARETLOOSE\",`^${cn[Bn.LONECARET]}${cn[Bn.XRANGEPLAINLOOSE]}$`),go(\"COMPARATORLOOSE\",`^${cn[Bn.GTLT]}\\\\s*(${cn[Bn.LOOSEPLAIN]})$|^$`),go(\"COMPARATOR\",`^${cn[Bn.GTLT]}\\\\s*(${cn[Bn.FULLPLAIN]})$|^$`),go(\"COMPARATORTRIM\",`(\\\\s*)${cn[Bn.GTLT]}\\\\s*(${cn[Bn.LOOSEPLAIN]}|${cn[Bn.XRANGEPLAIN]})`,!0),Xx.comparatorTrimReplace=\"$1$2$3\",go(\"HYPHENRANGE\",`^\\\\s*(${cn[Bn.XRANGEPLAIN]})\\\\s+-\\\\s+(${cn[Bn.XRANGEPLAIN]})\\\\s*$`),go(\"HYPHENRANGELOOSE\",`^\\\\s*(${cn[Bn.XRANGEPLAINLOOSE]})\\\\s+-\\\\s+(${cn[Bn.XRANGEPLAINLOOSE]})\\\\s*$`),go(\"STAR\",\"(<|>)?=?\\\\s*\\\\*\"),go(\"GTE0\",\"^\\\\s*>=\\\\s*0.0.0\\\\s*$\"),go(\"GTE0PRE\",\"^\\\\s*>=\\\\s*0.0.0-0\\\\s*$\")});const ad=[\"includePrerelease\",\"loose\",\"rtl\"];var XS=kx=>kx?typeof kx!=\"object\"?{loose:!0}:ad.filter(Xx=>kx[Xx]).reduce((Xx,Ee)=>(Xx[Ee]=!0,Xx),{}):{};const X8=/^[0-9]+$/,gA=(kx,Xx)=>{const Ee=X8.test(kx),at=X8.test(Xx);return Ee&&at&&(kx=+kx,Xx=+Xx),kx===Xx?0:Ee&&!at?-1:at&&!Ee?1:kx<Xx?-1:1};var VT={compareIdentifiers:gA,rcompareIdentifiers:(kx,Xx)=>gA(Xx,kx)};const{MAX_LENGTH:YS,MAX_SAFE_INTEGER:_A}=X4,{re:QS,t:qF}=SF,{compareIdentifiers:jS}=VT;class zE{constructor(Xx,Ee){if(Ee=XS(Ee),Xx instanceof zE){if(Xx.loose===!!Ee.loose&&Xx.includePrerelease===!!Ee.includePrerelease)return Xx;Xx=Xx.version}else if(typeof Xx!=\"string\")throw new TypeError(`Invalid Version: ${Xx}`);if(Xx.length>YS)throw new TypeError(`version is longer than ${YS} characters`);jD(\"SemVer\",Xx,Ee),this.options=Ee,this.loose=!!Ee.loose,this.includePrerelease=!!Ee.includePrerelease;const at=Xx.trim().match(Ee.loose?QS[qF.LOOSE]:QS[qF.FULL]);if(!at)throw new TypeError(`Invalid Version: ${Xx}`);if(this.raw=Xx,this.major=+at[1],this.minor=+at[2],this.patch=+at[3],this.major>_A||this.major<0)throw new TypeError(\"Invalid major version\");if(this.minor>_A||this.minor<0)throw new TypeError(\"Invalid minor version\");if(this.patch>_A||this.patch<0)throw new TypeError(\"Invalid patch version\");at[4]?this.prerelease=at[4].split(\".\").map(cn=>{if(/^[0-9]+$/.test(cn)){const Bn=+cn;if(Bn>=0&&Bn<_A)return Bn}return cn}):this.prerelease=[],this.build=at[5]?at[5].split(\".\"):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(\".\")}`),this.version}toString(){return this.version}compare(Xx){if(jD(\"SemVer.compare\",this.version,this.options,Xx),!(Xx instanceof zE)){if(typeof Xx==\"string\"&&Xx===this.version)return 0;Xx=new zE(Xx,this.options)}return Xx.version===this.version?0:this.compareMain(Xx)||this.comparePre(Xx)}compareMain(Xx){return Xx instanceof zE||(Xx=new zE(Xx,this.options)),jS(this.major,Xx.major)||jS(this.minor,Xx.minor)||jS(this.patch,Xx.patch)}comparePre(Xx){if(Xx instanceof zE||(Xx=new zE(Xx,this.options)),this.prerelease.length&&!Xx.prerelease.length)return-1;if(!this.prerelease.length&&Xx.prerelease.length)return 1;if(!this.prerelease.length&&!Xx.prerelease.length)return 0;let Ee=0;do{const at=this.prerelease[Ee],cn=Xx.prerelease[Ee];if(jD(\"prerelease compare\",Ee,at,cn),at===void 0&&cn===void 0)return 0;if(cn===void 0)return 1;if(at===void 0)return-1;if(at!==cn)return jS(at,cn)}while(++Ee)}compareBuild(Xx){Xx instanceof zE||(Xx=new zE(Xx,this.options));let Ee=0;do{const at=this.build[Ee],cn=Xx.build[Ee];if(jD(\"prerelease compare\",Ee,at,cn),at===void 0&&cn===void 0)return 0;if(cn===void 0)return 1;if(at===void 0)return-1;if(at!==cn)return jS(at,cn)}while(++Ee)}inc(Xx,Ee){switch(Xx){case\"premajor\":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc(\"pre\",Ee);break;case\"preminor\":this.prerelease.length=0,this.patch=0,this.minor++,this.inc(\"pre\",Ee);break;case\"prepatch\":this.prerelease.length=0,this.inc(\"patch\",Ee),this.inc(\"pre\",Ee);break;case\"prerelease\":this.prerelease.length===0&&this.inc(\"patch\",Ee),this.inc(\"pre\",Ee);break;case\"major\":this.minor===0&&this.patch===0&&this.prerelease.length!==0||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case\"minor\":this.patch===0&&this.prerelease.length!==0||this.minor++,this.patch=0,this.prerelease=[];break;case\"patch\":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case\"pre\":if(this.prerelease.length===0)this.prerelease=[0];else{let at=this.prerelease.length;for(;--at>=0;)typeof this.prerelease[at]==\"number\"&&(this.prerelease[at]++,at=-2);at===-1&&this.prerelease.push(0)}Ee&&(this.prerelease[0]===Ee?isNaN(this.prerelease[1])&&(this.prerelease=[Ee,0]):this.prerelease=[Ee,0]);break;default:throw new Error(`invalid increment argument: ${Xx}`)}return this.format(),this.raw=this.version,this}}var n6=zE,iS=(kx,Xx,Ee)=>new n6(kx,Ee).compare(new n6(Xx,Ee)),p6=(kx,Xx,Ee)=>iS(kx,Xx,Ee)<0,O4=(kx,Xx,Ee)=>iS(kx,Xx,Ee)>=0,$T=\"2.3.2\",FF=b(function(kx,Xx){function Ee(){for(var Ll=[],$l=0;$l<arguments.length;$l++)Ll[$l]=arguments[$l]}function at(){return typeof WeakMap!=\"undefined\"?new WeakMap:{add:Ee,delete:Ee,get:Ee,set:Ee,has:function(Ll){return!1}}}Object.defineProperty(Xx,\"__esModule\",{value:!0}),Xx.outdent=void 0;var cn=Object.prototype.hasOwnProperty,Bn=function(Ll,$l){return cn.call(Ll,$l)};function ao(Ll,$l){for(var Tu in $l)Bn($l,Tu)&&(Ll[Tu]=$l[Tu]);return Ll}var go=/^[ \\t]*(?:\\r\\n|\\r|\\n)/,gu=/(?:\\r\\n|\\r|\\n)[ \\t]*$/,cu=/^(?:[\\r\\n]|$)/,El=/(?:\\r\\n|\\r|\\n)([ \\t]*)(?:[^ \\t\\r\\n]|$)/,Go=/^[ \\t]*[\\r\\n][ \\t\\r\\n]*$/;function Xu(Ll,$l,Tu){var yp=0,Gs=Ll[0].match(El);Gs&&(yp=Gs[1].length);var ra=new RegExp(\"(\\\\r\\\\n|\\\\r|\\\\n).{0,\"+yp+\"}\",\"g\");$l&&(Ll=Ll.slice(1));var fo=Tu.newline,lu=Tu.trimLeadingNewline,a2=Tu.trimTrailingNewline,V8=typeof fo==\"string\",YF=Ll.length;return Ll.map(function(T8,Q4){return T8=T8.replace(ra,\"$1\"),Q4===0&&lu&&(T8=T8.replace(go,\"\")),Q4===YF-1&&a2&&(T8=T8.replace(gu,\"\")),V8&&(T8=T8.replace(/\\r\\n|\\n|\\r/g,function(D4){return fo})),T8})}function Ql(Ll,$l){for(var Tu=\"\",yp=0,Gs=Ll.length;yp<Gs;yp++)Tu+=Ll[yp],yp<Gs-1&&(Tu+=$l[yp]);return Tu}function p_(Ll){return Bn(Ll,\"raw\")&&Bn(Ll,\"length\")}var ap=function Ll($l){var Tu=at(),yp=at();return ao(function Gs(ra){for(var fo=[],lu=1;lu<arguments.length;lu++)fo[lu-1]=arguments[lu];if(p_(ra)){var a2=ra,V8=(fo[0]===Gs||fo[0]===ap)&&Go.test(a2[0])&&cu.test(a2[1]),YF=V8?yp:Tu,T8=YF.get(a2);if(T8||(T8=Xu(a2,V8,$l),YF.set(a2,T8)),fo.length===0)return T8[0];var Q4=Ql(T8,V8?fo.slice(1):fo);return Q4}return Ll(ao(ao({},$l),ra||{}))},{string:function(Gs){return Xu([Gs],!1,$l)[0]}})}({trimLeadingNewline:!0,trimTrailingNewline:!0});Xx.outdent=ap,Xx.default=ap;try{kx.exports=ap,Object.defineProperty(ap,\"__esModule\",{value:!0}),ap.default=ap,ap.outdent=ap}catch{}});const{outdent:AF}=FF,Y8=\"Config\",hS=\"Editor\",yA=\"Other\",JF=\"Global\",eE=\"Special\",ew={cursorOffset:{since:\"1.4.0\",category:eE,type:\"int\",default:-1,range:{start:-1,end:Number.POSITIVE_INFINITY,step:1},description:AF`\n      Print (to stderr) where a cursor at the given position would move to after formatting.\n      This option cannot be used with --range-start and --range-end.\n    `,cliCategory:hS},endOfLine:{since:\"1.15.0\",category:JF,type:\"choice\",default:[{since:\"1.15.0\",value:\"auto\"},{since:\"2.0.0\",value:\"lf\"}],description:\"Which end of line characters to apply.\",choices:[{value:\"lf\",description:\"Line Feed only (\\\\n), common on Linux and macOS as well as inside git repos\"},{value:\"crlf\",description:\"Carriage Return + Line Feed characters (\\\\r\\\\n), common on Windows\"},{value:\"cr\",description:\"Carriage Return character only (\\\\r), used very rarely\"},{value:\"auto\",description:AF`\n          Maintain existing\n          (mixed values within one file are normalised by looking at what's used after the first line)\n        `}]},filepath:{since:\"1.4.0\",category:eE,type:\"path\",description:\"Specify the input filepath. This will be used to do parser inference.\",cliName:\"stdin-filepath\",cliCategory:yA,cliDescription:\"Path to the file to pretend that stdin comes from.\"},insertPragma:{since:\"1.8.0\",category:eE,type:\"boolean\",default:!1,description:\"Insert @format pragma into file's first docblock comment.\",cliCategory:yA},parser:{since:\"0.0.10\",category:JF,type:\"choice\",default:[{since:\"0.0.10\",value:\"babylon\"},{since:\"1.13.0\",value:void 0}],description:\"Which parser to use.\",exception:kx=>typeof kx==\"string\"||typeof kx==\"function\",choices:[{value:\"flow\",description:\"Flow\"},{value:\"babel\",since:\"1.16.0\",description:\"JavaScript\"},{value:\"babel-flow\",since:\"1.16.0\",description:\"Flow\"},{value:\"babel-ts\",since:\"2.0.0\",description:\"TypeScript\"},{value:\"typescript\",since:\"1.4.0\",description:\"TypeScript\"},{value:\"espree\",since:\"2.2.0\",description:\"JavaScript\"},{value:\"meriyah\",since:\"2.2.0\",description:\"JavaScript\"},{value:\"css\",since:\"1.7.1\",description:\"CSS\"},{value:\"less\",since:\"1.7.1\",description:\"Less\"},{value:\"scss\",since:\"1.7.1\",description:\"SCSS\"},{value:\"json\",since:\"1.5.0\",description:\"JSON\"},{value:\"json5\",since:\"1.13.0\",description:\"JSON5\"},{value:\"json-stringify\",since:\"1.13.0\",description:\"JSON.stringify\"},{value:\"graphql\",since:\"1.5.0\",description:\"GraphQL\"},{value:\"markdown\",since:\"1.8.0\",description:\"Markdown\"},{value:\"mdx\",since:\"1.15.0\",description:\"MDX\"},{value:\"vue\",since:\"1.10.0\",description:\"Vue\"},{value:\"yaml\",since:\"1.14.0\",description:\"YAML\"},{value:\"glimmer\",since:\"2.3.0\",description:\"Ember / Handlebars\"},{value:\"html\",since:\"1.15.0\",description:\"HTML\"},{value:\"angular\",since:\"1.15.0\",description:\"Angular\"},{value:\"lwc\",since:\"1.17.0\",description:\"Lightning Web Components\"}]},plugins:{since:\"1.10.0\",type:\"path\",array:!0,default:[{value:[]}],category:JF,description:\"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.\",exception:kx=>typeof kx==\"string\"||typeof kx==\"object\",cliName:\"plugin\",cliCategory:Y8},pluginSearchDirs:{since:\"1.13.0\",type:\"path\",array:!0,default:[{value:[]}],category:JF,description:AF`\n      Custom directory that contains prettier plugins in node_modules subdirectory.\n      Overrides default behavior when plugins are searched relatively to the location of Prettier.\n      Multiple values are accepted.\n    `,exception:kx=>typeof kx==\"string\"||typeof kx==\"object\",cliName:\"plugin-search-dir\",cliCategory:Y8},printWidth:{since:\"0.0.0\",category:JF,type:\"int\",default:80,description:\"The line length where Prettier will try wrap.\",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},rangeEnd:{since:\"1.4.0\",category:eE,type:\"int\",default:Number.POSITIVE_INFINITY,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:AF`\n      Format code ending at a given character offset (exclusive).\n      The range will extend forwards to the end of the selected statement.\n      This option cannot be used with --cursor-offset.\n    `,cliCategory:hS},rangeStart:{since:\"1.4.0\",category:eE,type:\"int\",default:0,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:AF`\n      Format code starting at a given character offset.\n      The range will extend backwards to the start of the first line containing the selected statement.\n      This option cannot be used with --cursor-offset.\n    `,cliCategory:hS},requirePragma:{since:\"1.7.0\",category:eE,type:\"boolean\",default:!1,description:AF`\n      Require either '@prettier' or '@format' to be present in the file's first docblock comment\n      in order for it to be formatted.\n    `,cliCategory:yA},tabWidth:{type:\"int\",category:JF,default:2,description:\"Number of spaces per indentation level.\",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},useTabs:{since:\"1.0.0\",category:JF,type:\"boolean\",default:!1,description:\"Indent with tabs instead of spaces.\"},embeddedLanguageFormatting:{since:\"2.1.0\",category:JF,type:\"choice\",default:[{since:\"2.1.0\",value:\"auto\"}],description:\"Control how Prettier formats quoted code embedded in the file.\",choices:[{value:\"auto\",description:\"Format embedded code if Prettier can automatically identify it.\"},{value:\"off\",description:\"Never automatically format embedded code.\"}]}},b5=[\"cliName\",\"cliCategory\",\"cliDescription\"],DA={compare:iS,lt:p6,gte:O4},_a=$T,$o=ew;var To={getSupportInfo:function({plugins:kx=[],showUnreleased:Xx=!1,showDeprecated:Ee=!1,showInternal:at=!1}={}){const cn=_a.split(\"-\",1)[0],Bn=kx.flatMap(cu=>cu.languages||[]).filter(go),ao=((cu,El)=>Object.entries(cu).map(([Go,Xu])=>Object.assign({[El]:Go},Xu)))(Object.assign({},...kx.map(({options:cu})=>cu),$o),\"name\").filter(cu=>go(cu)&&gu(cu)).sort((cu,El)=>cu.name===El.name?0:cu.name<El.name?-1:1).map(function(cu){return at?cu:ea(cu,b5)}).map(cu=>{cu=Object.assign({},cu),Array.isArray(cu.default)&&(cu.default=cu.default.length===1?cu.default[0].value:cu.default.filter(go).sort((Go,Xu)=>DA.compare(Xu.since,Go.since))[0].value),Array.isArray(cu.choices)&&(cu.choices=cu.choices.filter(Go=>go(Go)&&gu(Go)),cu.name===\"parser\"&&function(Go,Xu,Ql){const p_=new Set(Go.choices.map(ap=>ap.value));for(const ap of Xu)if(ap.parsers){for(const Ll of ap.parsers)if(!p_.has(Ll)){p_.add(Ll);const $l=Ql.find(yp=>yp.parsers&&yp.parsers[Ll]);let Tu=ap.name;$l&&$l.name&&(Tu+=` (plugin: ${$l.name})`),Go.choices.push({value:Ll,description:Tu})}}}(cu,Bn,kx));const El=Object.fromEntries(kx.filter(Go=>Go.defaultOptions&&Go.defaultOptions[cu.name]!==void 0).map(Go=>[Go.name,Go.defaultOptions[cu.name]]));return Object.assign(Object.assign({},cu),{},{pluginDefaults:El})});return{languages:Bn,options:ao};function go(cu){return Xx||!(\"since\"in cu)||cu.since&&DA.gte(cn,cu.since)}function gu(cu){return Ee||!(\"deprecated\"in cu)||cu.deprecated&&DA.lt(cn,cu.deprecated)}}};const{getSupportInfo:Qc}=To,od=/[^\\x20-\\x7F]/;function _p(kx){return(Xx,Ee,at)=>{const cn=at&&at.backwards;if(Ee===!1)return!1;const{length:Bn}=Xx;let ao=Ee;for(;ao>=0&&ao<Bn;){const go=Xx.charAt(ao);if(kx instanceof RegExp){if(!kx.test(go))return ao}else if(!kx.includes(go))return ao;cn?ao--:ao++}return(ao===-1||ao===Bn)&&ao}}const F8=_p(/\\s/),rg=_p(\" \t\"),Y4=_p(\",; \t\"),ZS=_p(/[^\\n\\r]/);function A8(kx,Xx){if(Xx===!1)return!1;if(kx.charAt(Xx)===\"/\"&&kx.charAt(Xx+1)===\"*\"){for(let Ee=Xx+2;Ee<kx.length;++Ee)if(kx.charAt(Ee)===\"*\"&&kx.charAt(Ee+1)===\"/\")return Ee+2}return Xx}function WE(kx,Xx){return Xx!==!1&&(kx.charAt(Xx)===\"/\"&&kx.charAt(Xx+1)===\"/\"?ZS(kx,Xx):Xx)}function R8(kx,Xx,Ee){const at=Ee&&Ee.backwards;if(Xx===!1)return!1;const cn=kx.charAt(Xx);if(at){if(kx.charAt(Xx-1)===\"\\r\"&&cn===`\n`)return Xx-2;if(cn===`\n`||cn===\"\\r\"||cn===\"\\u2028\"||cn===\"\\u2029\")return Xx-1}else{if(cn===\"\\r\"&&kx.charAt(Xx+1)===`\n`)return Xx+2;if(cn===`\n`||cn===\"\\r\"||cn===\"\\u2028\"||cn===\"\\u2029\")return Xx+1}return Xx}function gS(kx,Xx,Ee={}){const at=rg(kx,Ee.backwards?Xx-1:Xx,Ee);return at!==R8(kx,at,Ee)}function N6(kx,Xx){let Ee=null,at=Xx;for(;at!==Ee;)Ee=at,at=Y4(kx,at),at=A8(kx,at),at=rg(kx,at);return at=WE(kx,at),at=R8(kx,at),at!==!1&&gS(kx,at)}function g4(kx,Xx){let Ee=null,at=Xx;for(;at!==Ee;)Ee=at,at=rg(kx,at),at=A8(kx,at),at=WE(kx,at),at=R8(kx,at);return at}function f_(kx,Xx,Ee){return g4(kx,Ee(Xx))}function TF(kx,Xx,Ee=0){let at=0;for(let cn=Ee;cn<kx.length;++cn)kx[cn]===\"\t\"?at=at+Xx-at%Xx:at++;return at}function G6(kx,Xx){const Ee=kx.slice(1,-1),at={quote:'\"',regex:/\"/g},cn={quote:\"'\",regex:/'/g},Bn=Xx===\"'\"?cn:at,ao=Bn===cn?at:cn;let go=Bn.quote;return(Ee.includes(Bn.quote)||Ee.includes(ao.quote))&&(go=(Ee.match(Bn.regex)||[]).length>(Ee.match(ao.regex)||[]).length?ao.quote:Bn.quote),go}function $2(kx,Xx,Ee){const at=Xx==='\"'?\"'\":'\"',cn=kx.replace(/\\\\(.)|([\"'])/gs,(Bn,ao,go)=>ao===at?ao:go===Xx?\"\\\\\"+go:go||(Ee&&/^[^\\n\\r\"'0-7\\\\bfnrt-vx\\u2028\\u2029]$/.test(ao)?ao:\"\\\\\"+ao));return Xx+cn+Xx}function b8(kx,Xx){(kx.comments||(kx.comments=[])).push(Xx),Xx.printed=!1,Xx.nodeDescription=function(Ee){const at=Ee.type||Ee.kind||\"(unknown type)\";let cn=String(Ee.name||Ee.id&&(typeof Ee.id==\"object\"?Ee.id.name:Ee.id)||Ee.key&&(typeof Ee.key==\"object\"?Ee.key.name:Ee.key)||Ee.value&&(typeof Ee.value==\"object\"?\"\":String(Ee.value))||Ee.operator||\"\");return cn.length>20&&(cn=cn.slice(0,19)+\"\\u2026\"),at+(cn?\" \"+cn:\"\")}(kx)}var vA={inferParserByLanguage:function(kx,Xx){const{languages:Ee}=Qc({plugins:Xx.plugins}),at=Ee.find(({name:cn})=>cn.toLowerCase()===kx)||Ee.find(({aliases:cn})=>Array.isArray(cn)&&cn.includes(kx))||Ee.find(({extensions:cn})=>Array.isArray(cn)&&cn.includes(`.${kx}`));return at&&at.parsers[0]},getStringWidth:function(kx){return kx?od.test(kx)?Sr(kx):kx.length:0},getMaxContinuousCount:function(kx,Xx){const Ee=kx.match(new RegExp(`(${jn(Xx)})+`,\"g\"));return Ee===null?0:Ee.reduce((at,cn)=>Math.max(at,cn.length/Xx.length),0)},getMinNotPresentContinuousCount:function(kx,Xx){const Ee=kx.match(new RegExp(`(${jn(Xx)})+`,\"g\"));if(Ee===null)return 0;const at=new Map;let cn=0;for(const Bn of Ee){const ao=Bn.length/Xx.length;at.set(ao,!0),ao>cn&&(cn=ao)}for(let Bn=1;Bn<cn;Bn++)if(!at.get(Bn))return Bn;return cn+1},getPenultimate:kx=>kx[kx.length-2],getLast:ma,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:g4,getNextNonSpaceNonCommentCharacterIndex:f_,getNextNonSpaceNonCommentCharacter:function(kx,Xx,Ee){return kx.charAt(f_(kx,Xx,Ee))},skip:_p,skipWhitespace:F8,skipSpaces:rg,skipToLineEnd:Y4,skipEverythingButNewLine:ZS,skipInlineComment:A8,skipTrailingComment:WE,skipNewline:R8,isNextLineEmptyAfterIndex:N6,isNextLineEmpty:function(kx,Xx,Ee){return N6(kx,Ee(Xx))},isPreviousLineEmpty:function(kx,Xx,Ee){let at=Ee(Xx)-1;return at=rg(kx,at,{backwards:!0}),at=R8(kx,at,{backwards:!0}),at=rg(kx,at,{backwards:!0}),at!==R8(kx,at,{backwards:!0})},hasNewline:gS,hasNewlineInRange:function(kx,Xx,Ee){for(let at=Xx;at<Ee;++at)if(kx.charAt(at)===`\n`)return!0;return!1},hasSpaces:function(kx,Xx,Ee={}){return rg(kx,Ee.backwards?Xx-1:Xx,Ee)!==Xx},getAlignmentSize:TF,getIndentSize:function(kx,Xx){const Ee=kx.lastIndexOf(`\n`);return Ee===-1?0:TF(kx.slice(Ee+1).match(/^[\\t ]*/)[0],Xx)},getPreferredQuote:G6,printString:function(kx,Xx){return $2(kx.slice(1,-1),Xx.parser===\"json\"||Xx.parser===\"json5\"&&Xx.quoteProps===\"preserve\"&&!Xx.singleQuote?'\"':Xx.__isInHtmlAttribute?\"'\":G6(kx,Xx.singleQuote?\"'\":'\"'),!(Xx.parser===\"css\"||Xx.parser===\"less\"||Xx.parser===\"scss\"||Xx.__embeddedInHtml))},printNumber:function(kx){return kx.toLowerCase().replace(/^([+-]?[\\d.]+e)(?:\\+|(-))?0*(\\d)/,\"$1$2$3\").replace(/^([+-]?[\\d.]+)e[+-]?0+$/,\"$1\").replace(/^([+-])?\\./,\"$10.\").replace(/(\\.\\d+?)0+(?=e|$)/,\"$1\").replace(/\\.(?=e|$)/,\"\")},makeString:$2,addLeadingComment:function(kx,Xx){Xx.leading=!0,Xx.trailing=!1,b8(kx,Xx)},addDanglingComment:function(kx,Xx,Ee){Xx.leading=!1,Xx.trailing=!1,Ee&&(Xx.marker=Ee),b8(kx,Xx)},addTrailingComment:function(kx,Xx){Xx.leading=!1,Xx.trailing=!0,b8(kx,Xx)},isFrontMatterNode:function(kx){return kx&&kx.type===\"front-matter\"},getShebang:function(kx){if(!kx.startsWith(\"#!\"))return\"\";const Xx=kx.indexOf(`\n`);return Xx===-1?kx:kx.slice(0,Xx)},isNonEmptyArray:function(kx){return Array.isArray(kx)&&kx.length>0},createGroupIdMapper:function(kx){const Xx=new WeakMap;return function(Ee){return Xx.has(Ee)||Xx.set(Ee,Symbol(kx)),Xx.get(Ee)}}},n5={\"*\":[\"accesskey\",\"autocapitalize\",\"autofocus\",\"class\",\"contenteditable\",\"dir\",\"draggable\",\"enterkeyhint\",\"hidden\",\"id\",\"inputmode\",\"is\",\"itemid\",\"itemprop\",\"itemref\",\"itemscope\",\"itemtype\",\"lang\",\"nonce\",\"slot\",\"spellcheck\",\"style\",\"tabindex\",\"title\",\"translate\"],a:[\"accesskey\",\"charset\",\"coords\",\"download\",\"href\",\"hreflang\",\"name\",\"ping\",\"referrerpolicy\",\"rel\",\"rev\",\"shape\",\"tabindex\",\"target\",\"type\"],abbr:[\"title\"],applet:[\"align\",\"alt\",\"archive\",\"code\",\"codebase\",\"height\",\"hspace\",\"name\",\"object\",\"vspace\",\"width\"],area:[\"accesskey\",\"alt\",\"coords\",\"download\",\"href\",\"hreflang\",\"nohref\",\"ping\",\"referrerpolicy\",\"rel\",\"shape\",\"tabindex\",\"target\",\"type\"],audio:[\"autoplay\",\"controls\",\"crossorigin\",\"loop\",\"muted\",\"preload\",\"src\"],base:[\"href\",\"target\"],basefont:[\"color\",\"face\",\"size\"],bdo:[\"dir\"],blockquote:[\"cite\"],body:[\"alink\",\"background\",\"bgcolor\",\"link\",\"text\",\"vlink\"],br:[\"clear\"],button:[\"accesskey\",\"autofocus\",\"disabled\",\"form\",\"formaction\",\"formenctype\",\"formmethod\",\"formnovalidate\",\"formtarget\",\"name\",\"tabindex\",\"type\",\"value\"],canvas:[\"height\",\"width\"],caption:[\"align\"],col:[\"align\",\"char\",\"charoff\",\"span\",\"valign\",\"width\"],colgroup:[\"align\",\"char\",\"charoff\",\"span\",\"valign\",\"width\"],data:[\"value\"],del:[\"cite\",\"datetime\"],details:[\"open\"],dfn:[\"title\"],dialog:[\"open\"],dir:[\"compact\"],div:[\"align\"],dl:[\"compact\"],embed:[\"height\",\"src\",\"type\",\"width\"],fieldset:[\"disabled\",\"form\",\"name\"],font:[\"color\",\"face\",\"size\"],form:[\"accept\",\"accept-charset\",\"action\",\"autocomplete\",\"enctype\",\"method\",\"name\",\"novalidate\",\"target\"],frame:[\"frameborder\",\"longdesc\",\"marginheight\",\"marginwidth\",\"name\",\"noresize\",\"scrolling\",\"src\"],frameset:[\"cols\",\"rows\"],h1:[\"align\"],h2:[\"align\"],h3:[\"align\"],h4:[\"align\"],h5:[\"align\"],h6:[\"align\"],head:[\"profile\"],hr:[\"align\",\"noshade\",\"size\",\"width\"],html:[\"manifest\",\"version\"],iframe:[\"align\",\"allow\",\"allowfullscreen\",\"allowpaymentrequest\",\"allowusermedia\",\"frameborder\",\"height\",\"loading\",\"longdesc\",\"marginheight\",\"marginwidth\",\"name\",\"referrerpolicy\",\"sandbox\",\"scrolling\",\"src\",\"srcdoc\",\"width\"],img:[\"align\",\"alt\",\"border\",\"crossorigin\",\"decoding\",\"height\",\"hspace\",\"ismap\",\"loading\",\"longdesc\",\"name\",\"referrerpolicy\",\"sizes\",\"src\",\"srcset\",\"usemap\",\"vspace\",\"width\"],input:[\"accept\",\"accesskey\",\"align\",\"alt\",\"autocomplete\",\"autofocus\",\"checked\",\"dirname\",\"disabled\",\"form\",\"formaction\",\"formenctype\",\"formmethod\",\"formnovalidate\",\"formtarget\",\"height\",\"ismap\",\"list\",\"max\",\"maxlength\",\"min\",\"minlength\",\"multiple\",\"name\",\"pattern\",\"placeholder\",\"readonly\",\"required\",\"size\",\"src\",\"step\",\"tabindex\",\"title\",\"type\",\"usemap\",\"value\",\"width\"],ins:[\"cite\",\"datetime\"],isindex:[\"prompt\"],label:[\"accesskey\",\"for\",\"form\"],legend:[\"accesskey\",\"align\"],li:[\"type\",\"value\"],link:[\"as\",\"charset\",\"color\",\"crossorigin\",\"disabled\",\"href\",\"hreflang\",\"imagesizes\",\"imagesrcset\",\"integrity\",\"media\",\"nonce\",\"referrerpolicy\",\"rel\",\"rev\",\"sizes\",\"target\",\"title\",\"type\"],map:[\"name\"],menu:[\"compact\"],meta:[\"charset\",\"content\",\"http-equiv\",\"name\",\"scheme\"],meter:[\"high\",\"low\",\"max\",\"min\",\"optimum\",\"value\"],object:[\"align\",\"archive\",\"border\",\"classid\",\"codebase\",\"codetype\",\"data\",\"declare\",\"form\",\"height\",\"hspace\",\"name\",\"standby\",\"tabindex\",\"type\",\"typemustmatch\",\"usemap\",\"vspace\",\"width\"],ol:[\"compact\",\"reversed\",\"start\",\"type\"],optgroup:[\"disabled\",\"label\"],option:[\"disabled\",\"label\",\"selected\",\"value\"],output:[\"for\",\"form\",\"name\"],p:[\"align\"],param:[\"name\",\"type\",\"value\",\"valuetype\"],pre:[\"width\"],progress:[\"max\",\"value\"],q:[\"cite\"],script:[\"async\",\"charset\",\"crossorigin\",\"defer\",\"integrity\",\"language\",\"nomodule\",\"nonce\",\"referrerpolicy\",\"src\",\"type\"],select:[\"autocomplete\",\"autofocus\",\"disabled\",\"form\",\"multiple\",\"name\",\"required\",\"size\",\"tabindex\"],slot:[\"name\"],source:[\"media\",\"sizes\",\"src\",\"srcset\",\"type\"],style:[\"media\",\"nonce\",\"title\",\"type\"],table:[\"align\",\"bgcolor\",\"border\",\"cellpadding\",\"cellspacing\",\"frame\",\"rules\",\"summary\",\"width\"],tbody:[\"align\",\"char\",\"charoff\",\"valign\"],td:[\"abbr\",\"align\",\"axis\",\"bgcolor\",\"char\",\"charoff\",\"colspan\",\"headers\",\"height\",\"nowrap\",\"rowspan\",\"scope\",\"valign\",\"width\"],textarea:[\"accesskey\",\"autocomplete\",\"autofocus\",\"cols\",\"dirname\",\"disabled\",\"form\",\"maxlength\",\"minlength\",\"name\",\"placeholder\",\"readonly\",\"required\",\"rows\",\"tabindex\",\"wrap\"],tfoot:[\"align\",\"char\",\"charoff\",\"valign\"],th:[\"abbr\",\"align\",\"axis\",\"bgcolor\",\"char\",\"charoff\",\"colspan\",\"headers\",\"height\",\"nowrap\",\"rowspan\",\"scope\",\"valign\",\"width\"],thead:[\"align\",\"char\",\"charoff\",\"valign\"],time:[\"datetime\"],tr:[\"align\",\"bgcolor\",\"char\",\"charoff\",\"valign\"],track:[\"default\",\"kind\",\"label\",\"src\",\"srclang\"],ul:[\"compact\",\"type\"],video:[\"autoplay\",\"controls\",\"crossorigin\",\"height\",\"loop\",\"muted\",\"playsinline\",\"poster\",\"preload\",\"src\",\"width\"]};const{inferParserByLanguage:bb,isFrontMatterNode:P6}=vA,{CSS_DISPLAY_TAGS:i6,CSS_DISPLAY_DEFAULT:wF,CSS_WHITE_SPACE_TAGS:I6,CSS_WHITE_SPACE_DEFAULT:sd}={CSS_DISPLAY_TAGS:{area:\"none\",base:\"none\",basefont:\"none\",datalist:\"none\",head:\"none\",link:\"none\",meta:\"none\",noembed:\"none\",noframes:\"none\",param:\"block\",rp:\"none\",script:\"block\",source:\"block\",style:\"none\",template:\"inline\",track:\"block\",title:\"none\",html:\"block\",body:\"block\",address:\"block\",blockquote:\"block\",center:\"block\",div:\"block\",figure:\"block\",figcaption:\"block\",footer:\"block\",form:\"block\",header:\"block\",hr:\"block\",legend:\"block\",listing:\"block\",main:\"block\",p:\"block\",plaintext:\"block\",pre:\"block\",xmp:\"block\",slot:\"contents\",ruby:\"ruby\",rt:\"ruby-text\",article:\"block\",aside:\"block\",h1:\"block\",h2:\"block\",h3:\"block\",h4:\"block\",h5:\"block\",h6:\"block\",hgroup:\"block\",nav:\"block\",section:\"block\",dir:\"block\",dd:\"block\",dl:\"block\",dt:\"block\",ol:\"block\",ul:\"block\",li:\"list-item\",table:\"table\",caption:\"table-caption\",colgroup:\"table-column-group\",col:\"table-column\",thead:\"table-header-group\",tbody:\"table-row-group\",tfoot:\"table-footer-group\",tr:\"table-row\",td:\"table-cell\",th:\"table-cell\",fieldset:\"block\",button:\"inline-block\",details:\"block\",summary:\"block\",dialog:\"block\",meter:\"inline-block\",progress:\"inline-block\",object:\"inline-block\",video:\"inline-block\",audio:\"inline-block\",select:\"inline-block\",option:\"block\",optgroup:\"block\"},CSS_DISPLAY_DEFAULT:\"inline\",CSS_WHITE_SPACE_TAGS:{listing:\"pre\",plaintext:\"pre\",pre:\"pre\",xmp:\"pre\",nobr:\"nowrap\",table:\"initial\",textarea:\"pre-wrap\"},CSS_WHITE_SPACE_DEFAULT:\"normal\"},HF=ue([\"a\",\"abbr\",\"acronym\",\"address\",\"applet\",\"area\",\"article\",\"aside\",\"audio\",\"b\",\"base\",\"basefont\",\"bdi\",\"bdo\",\"bgsound\",\"big\",\"blink\",\"blockquote\",\"body\",\"br\",\"button\",\"canvas\",\"caption\",\"center\",\"cite\",\"code\",\"col\",\"colgroup\",\"command\",\"content\",\"data\",\"datalist\",\"dd\",\"del\",\"details\",\"dfn\",\"dialog\",\"dir\",\"div\",\"dl\",\"dt\",\"element\",\"em\",\"embed\",\"fieldset\",\"figcaption\",\"figure\",\"font\",\"footer\",\"form\",\"frame\",\"frameset\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"head\",\"header\",\"hgroup\",\"hr\",\"html\",\"i\",\"iframe\",\"image\",\"img\",\"input\",\"ins\",\"isindex\",\"kbd\",\"keygen\",\"label\",\"legend\",\"li\",\"link\",\"listing\",\"main\",\"map\",\"mark\",\"marquee\",\"math\",\"menu\",\"menuitem\",\"meta\",\"meter\",\"multicol\",\"nav\",\"nextid\",\"nobr\",\"noembed\",\"noframes\",\"noscript\",\"object\",\"ol\",\"optgroup\",\"option\",\"output\",\"p\",\"param\",\"picture\",\"plaintext\",\"pre\",\"progress\",\"q\",\"rb\",\"rbc\",\"rp\",\"rt\",\"rtc\",\"ruby\",\"s\",\"samp\",\"script\",\"section\",\"select\",\"shadow\",\"slot\",\"small\",\"source\",\"spacer\",\"span\",\"strike\",\"strong\",\"style\",\"sub\",\"summary\",\"sup\",\"svg\",\"table\",\"tbody\",\"td\",\"template\",\"textarea\",\"tfoot\",\"th\",\"thead\",\"time\",\"title\",\"tr\",\"track\",\"tt\",\"u\",\"ul\",\"var\",\"video\",\"wbr\",\"xmp\"]),aS=function(kx,Xx){const Ee=Object.create(null);for(const[at,cn]of Object.entries(kx))Ee[at]=Xx(cn,at);return Ee}(n5,ue),B4=new Set([\"\t\",`\n`,\"\\f\",\"\\r\",\" \"]),Ux=kx=>kx.replace(/[\\t\\n\\f\\r ]+$/,\"\");function ue(kx){const Xx=Object.create(null);for(const Ee of kx)Xx[Ee]=!0;return Xx}function Xe(kx,Xx){return!(kx.type!==\"ieConditionalComment\"||!kx.lastChild||kx.lastChild.isSelfClosing||kx.lastChild.endSourceSpan)||kx.type===\"ieConditionalComment\"&&!kx.complete||!(!Gn(kx)||!kx.children.some(Ee=>Ee.type!==\"text\"&&Ee.type!==\"interpolation\"))||!(!$s(kx,Xx)||le(kx)||kx.type===\"interpolation\")}function Ht(kx){return kx.type===\"attribute\"||!kx.parent||typeof kx.index!=\"number\"||kx.index===0?!1:function(Xx){return Xx.type===\"comment\"&&Xx.value.trim()===\"prettier-ignore\"}(kx.parent.children[kx.index-1])}function le(kx){return kx.type===\"element\"&&(kx.fullName===\"script\"||kx.fullName===\"style\"||kx.fullName===\"svg:style\"||Ti(kx)&&(kx.name===\"script\"||kx.name===\"style\"))}function hr(kx){return Eo(kx).startsWith(\"pre\")}function pr(kx){return kx.type===\"element\"&&kx.children.length>0&&([\"html\",\"head\",\"ul\",\"ol\",\"select\"].includes(kx.name)||kx.cssDisplay.startsWith(\"table\")&&kx.cssDisplay!==\"table-cell\")}function lt(kx){return Uo(kx)||kx.type===\"element\"&&kx.fullName===\"br\"||Qr(kx)}function Qr(kx){return Wi(kx)&&Io(kx)}function Wi(kx){return kx.hasLeadingSpaces&&(kx.prev?kx.prev.sourceSpan.end.line<kx.sourceSpan.start.line:kx.parent.type===\"root\"||kx.parent.startSourceSpan.end.line<kx.sourceSpan.start.line)}function Io(kx){return kx.hasTrailingSpaces&&(kx.next?kx.next.sourceSpan.start.line>kx.sourceSpan.end.line:kx.parent.type===\"root\"||kx.parent.endSourceSpan&&kx.parent.endSourceSpan.start.line>kx.sourceSpan.end.line)}function Uo(kx){switch(kx.type){case\"ieConditionalComment\":case\"comment\":case\"directive\":return!0;case\"element\":return[\"script\",\"select\"].includes(kx.name)}return!1}function sa(kx){const{type:Xx,lang:Ee}=kx.attrMap;return Xx===\"module\"||Xx===\"text/javascript\"||Xx===\"text/babel\"||Xx===\"application/javascript\"||Ee===\"jsx\"?\"babel\":Xx===\"application/x-typescript\"||Ee===\"ts\"||Ee===\"tsx\"?\"typescript\":Xx===\"text/markdown\"?\"markdown\":Xx===\"text/html\"?\"html\":Xx&&(Xx.endsWith(\"json\")||Xx.endsWith(\"importmap\"))?\"json\":Xx===\"text/x-handlebars-template\"?\"glimmer\":void 0}function fn(kx){return kx===\"block\"||kx===\"list-item\"||kx.startsWith(\"table\")}function Gn(kx){return Eo(kx).startsWith(\"pre\")}function Ti(kx){return kx.type===\"element\"&&!kx.hasExplicitNamespace&&![\"html\",\"svg\"].includes(kx.namespace)}function Eo(kx){return kx.type===\"element\"&&(!kx.namespace||Ti(kx))&&I6[kx.name]||sd}const qo=new Set([\"template\",\"style\",\"script\"]);function ci(kx,Xx){return os(kx,Xx)&&!qo.has(kx.fullName)}function os(kx,Xx){return Xx.parser===\"vue\"&&kx.type===\"element\"&&kx.parent.type===\"root\"&&kx.fullName.toLowerCase()!==\"html\"}function $s(kx,Xx){return os(kx,Xx)&&(ci(kx,Xx)||kx.attrMap.lang&&kx.attrMap.lang!==\"html\")}var Po={HTML_ELEMENT_ATTRIBUTES:aS,HTML_TAGS:HF,htmlTrim:kx=>(Xx=>Xx.replace(/^[\\t\\n\\f\\r ]+/,\"\"))(Ux(kx)),htmlTrimPreserveIndentation:kx=>(Xx=>Xx.replace(/^[\\t\\f\\r ]*?\\n/g,\"\"))(Ux(kx)),splitByHtmlWhitespace:kx=>kx.split(/[\\t\\n\\f\\r ]+/),hasHtmlWhitespace:kx=>/[\\t\\n\\f\\r ]/.test(kx),getLeadingAndTrailingHtmlWhitespace:kx=>{const[,Xx,Ee,at]=kx.match(/^([\\t\\n\\f\\r ]*)(.*?)([\\t\\n\\f\\r ]*)$/s);return{leadingWhitespace:Xx,trailingWhitespace:at,text:Ee}},canHaveInterpolation:function(kx){return kx.children&&!le(kx)},countChars:function(kx,Xx){let Ee=0;for(let at=0;at<kx.length;at++)kx[at]===Xx&&Ee++;return Ee},countParents:function(kx,Xx){let Ee=0;for(let at=kx.stack.length-1;at>=0;at--){const cn=kx.stack[at];cn&&typeof cn==\"object\"&&!Array.isArray(cn)&&Xx(cn)&&Ee++}return Ee},dedentString:function(kx,Xx=function(Ee){let at=Number.POSITIVE_INFINITY;for(const Bn of Ee.split(`\n`)){if(Bn.length===0)continue;if(!B4.has(Bn[0]))return 0;const ao=(cn=Bn,cn.match(/^[\\t\\n\\f\\r ]*/)[0]).length;Bn.length!==ao&&ao<at&&(at=ao)}var cn;return at===Number.POSITIVE_INFINITY?0:at}(kx)){return Xx===0?kx:kx.split(`\n`).map(Ee=>Ee.slice(Xx)).join(`\n`)},forceBreakChildren:pr,forceBreakContent:function(kx){return pr(kx)||kx.type===\"element\"&&kx.children.length>0&&([\"body\",\"script\",\"style\"].includes(kx.name)||kx.children.some(Xx=>function(Ee){return Ee.children&&Ee.children.some(at=>at.type!==\"text\")}(Xx)))||kx.firstChild&&kx.firstChild===kx.lastChild&&kx.firstChild.type!==\"text\"&&Wi(kx.firstChild)&&(!kx.lastChild.isTrailingSpaceSensitive||Io(kx.lastChild))},forceNextEmptyLine:function(kx){return P6(kx)||kx.next&&kx.sourceSpan.end&&kx.sourceSpan.end.line+1<kx.next.sourceSpan.start.line},getLastDescendant:function kx(Xx){return Xx.lastChild?kx(Xx.lastChild):Xx},getNodeCssStyleDisplay:function(kx,Xx){if(kx.prev&&kx.prev.type===\"comment\"){const at=kx.prev.value.match(/^\\s*display:\\s*([a-z]+)\\s*$/);if(at)return at[1]}let Ee=!1;if(kx.type===\"element\"&&kx.namespace===\"svg\"){if(!function(at,cn){let Bn=at;for(;Bn;){if(cn(Bn))return!0;Bn=Bn.parent}return!1}(kx,at=>at.fullName===\"svg:foreignObject\"))return kx.name===\"svg\"?\"inline-block\":\"block\";Ee=!0}switch(Xx.htmlWhitespaceSensitivity){case\"strict\":return\"inline\";case\"ignore\":return\"block\";default:return Xx.parser===\"vue\"&&kx.parent&&kx.parent.type===\"root\"?\"block\":kx.type===\"element\"&&(!kx.namespace||Ee||Ti(kx))&&i6[kx.name]||wF}},getNodeCssStyleWhiteSpace:Eo,getPrettierIgnoreAttributeCommentData:function(kx){const Xx=kx.trim().match(/^prettier-ignore-attribute(?:\\s+(.+))?$/s);return!!Xx&&(!Xx[1]||Xx[1].split(/\\s+/))},hasPrettierIgnore:Ht,inferScriptParser:function(kx,Xx){return kx.name!==\"script\"||kx.attrMap.src?kx.name===\"style\"?function(Ee){const{lang:at}=Ee.attrMap;return at&&at!==\"postcss\"&&at!==\"css\"?at===\"scss\"?\"scss\":at===\"less\"?\"less\":void 0:\"css\"}(kx):Xx&&$s(kx,Xx)?sa(kx)||!(\"src\"in kx.attrMap)&&bb(kx.attrMap.lang,Xx):void 0:kx.attrMap.lang||kx.attrMap.type?sa(kx):\"babel\"},isVueCustomBlock:ci,isVueNonHtmlBlock:$s,isVueSlotAttribute:function(kx){const Xx=kx.fullName;return Xx.charAt(0)===\"#\"||Xx===\"slot-scope\"||Xx===\"v-slot\"||Xx.startsWith(\"v-slot:\")},isVueSfcBindingsAttribute:function(kx,Xx){const Ee=kx.parent;if(!os(Ee,Xx))return!1;const at=Ee.fullName,cn=kx.fullName;return at===\"script\"&&cn===\"setup\"||at===\"style\"&&cn===\"vars\"},isDanglingSpaceSensitiveNode:function(kx){return Xx=kx.cssDisplay,!(fn(Xx)||Xx===\"inline-block\"||le(kx));var Xx},isIndentationSensitiveNode:hr,isLeadingSpaceSensitiveNode:function(kx,Xx){const Ee=function(){if(P6(kx))return!1;if((kx.type===\"text\"||kx.type===\"interpolation\")&&kx.prev&&(kx.prev.type===\"text\"||kx.prev.type===\"interpolation\"))return!0;if(!kx.parent||kx.parent.cssDisplay===\"none\")return!1;if(Gn(kx.parent))return!0;if(!kx.prev&&(kx.parent.type===\"root\"||Gn(kx)&&kx.parent||le(kx.parent)||ci(kx.parent,Xx)||(at=kx.parent.cssDisplay,fn(at)||at===\"inline-block\")))return!1;var at;return!(kx.prev&&!function(cn){return!fn(cn)}(kx.prev.cssDisplay))}();return Ee&&!kx.prev&&kx.parent&&kx.parent.tagDefinition&&kx.parent.tagDefinition.ignoreFirstLf?kx.type===\"interpolation\":Ee},isPreLikeNode:Gn,isScriptLikeTag:le,isTextLikeNode:function(kx){return kx.type===\"text\"||kx.type===\"comment\"},isTrailingSpaceSensitiveNode:function(kx,Xx){return!P6(kx)&&(!(kx.type!==\"text\"&&kx.type!==\"interpolation\"||!kx.next||kx.next.type!==\"text\"&&kx.next.type!==\"interpolation\")||!(!kx.parent||kx.parent.cssDisplay===\"none\")&&(!!Gn(kx.parent)||!(!kx.next&&(kx.parent.type===\"root\"||Gn(kx)&&kx.parent||le(kx.parent)||ci(kx.parent,Xx)||(Ee=kx.parent.cssDisplay,fn(Ee)||Ee===\"inline-block\")))&&!(kx.next&&!function(at){return!fn(at)}(kx.next.cssDisplay))));var Ee},isWhitespaceSensitiveNode:function(kx){return le(kx)||kx.type===\"interpolation\"||hr(kx)},isUnknownNamespace:Ti,preferHardlineAsLeadingSpaces:function(kx){return Uo(kx)||kx.prev&&lt(kx.prev)||Qr(kx)},preferHardlineAsTrailingSpaces:lt,shouldNotPrintClosingTag:function(kx,Xx){return!kx.isSelfClosing&&!kx.endSourceSpan&&(Ht(kx)||Xe(kx.parent,Xx))},shouldPreserveContent:Xe,unescapeQuoteEntities:function(kx){return kx.replace(/&apos;/g,\"'\").replace(/&quot;/g,'\"')}},Dr={hasPragma:function(kx){return/^\\s*<!--\\s*@(format|prettier)\\s*-->/.test(kx)},insertPragma:function(kx){return`<!-- @format -->\n\n`+kx.replace(/^\\s*\\n/,\"\")}};const{isNonEmptyArray:Nm}=vA,Og={attrs:!0,children:!0};class Bg{constructor(Xx={}){for(const[Ee,at]of Object.entries(Xx))Ee in Og?this._setNodes(Ee,at):this[Ee]=at}_setNodes(Xx,Ee){Ee!==this[Xx]&&(this[Xx]=function(at,cn){const Bn=at.map(cu=>cu instanceof Bg?cu.clone():new Bg(cu));let ao=null,go=Bn[0],gu=Bn[1]||null;for(let cu=0;cu<Bn.length;cu++)f8(go,{index:cu,siblings:Bn,prev:ao,next:gu,parent:cn}),ao=go,go=gu,gu=Bn[cu+2]||null;return Bn}(Ee,this),Xx===\"attrs\"&&f8(this,{attrMap:Object.fromEntries(this[Xx].map(at=>[at.fullName,at.value]))}))}map(Xx){let Ee=null;for(const at in Og){const cn=this[at];if(cn){const Bn=_S(cn,ao=>ao.map(Xx));Ee!==cn&&(Ee||(Ee=new Bg),Ee._setNodes(at,Bn))}}if(Ee){for(const gu in this)gu in Og||(Ee[gu]=this[gu]);const{index:at,siblings:cn,prev:Bn,next:ao,parent:go}=this;f8(Ee,{index:at,siblings:cn,prev:Bn,next:ao,parent:go})}return Xx(Ee||this)}clone(Xx){return new Bg(Xx?Object.assign(Object.assign({},this),Xx):this)}get firstChild(){return Nm(this.children)?this.children[0]:null}get lastChild(){return Nm(this.children)?ma(this.children):null}get rawName(){return this.hasExplicitNamespace?this.fullName:this.name}get fullName(){return this.namespace?this.namespace+\":\"+this.name:this.name}}function _S(kx,Xx){const Ee=kx.map(Xx);return Ee.some((at,cn)=>at!==kx[cn])?Ee:kx}function f8(kx,Xx){const Ee=Object.fromEntries(Object.entries(Xx).map(([at,cn])=>[at,{value:cn,enumerable:!1}]));Object.defineProperties(kx,Ee)}var Lx={Node:Bg};const{ParseSourceSpan:q1}=kn,Qx=[{regex:/^(\\[if([^\\]]*?)]>)(.*?)<!\\s*\\[endif]$/s,parse:function(kx,Xx,Ee){const[,at,cn,Bn]=Ee,ao=\"<!--\".length+at.length,go=kx.sourceSpan.start.moveBy(ao),gu=go.moveBy(Bn.length),[cu,El]=(()=>{try{return[!0,Xx(Bn,go).children]}catch{return[!1,[{type:\"text\",value:Bn,sourceSpan:new q1(go,gu)}]]}})();return{type:\"ieConditionalComment\",complete:cu,children:El,condition:cn.trim().replace(/\\s+/g,\" \"),sourceSpan:kx.sourceSpan,startSourceSpan:new q1(kx.sourceSpan.start,go),endSourceSpan:new q1(gu,kx.sourceSpan.end)}}},{regex:/^\\[if([^\\]]*?)]><!$/,parse:function(kx,Xx,Ee){const[,at]=Ee;return{type:\"ieConditionalStartComment\",condition:at.trim().replace(/\\s+/g,\" \"),sourceSpan:kx.sourceSpan}}},{regex:/^<!\\s*\\[endif]$/,parse:function(kx){return{type:\"ieConditionalEndComment\",sourceSpan:kx.sourceSpan}}}];var Be={parseIeConditionalComment:function(kx,Xx){if(kx.value)for(const{regex:Ee,parse:at}of Qx){const cn=kx.value.match(Ee);if(cn)return at(kx,Xx,cn)}return null}},St={locStart:function(kx){return kx.sourceSpan.start.offset},locEnd:function(kx){return kx.sourceSpan.end.offset}},_r=b(function(kx,Xx){function Ee(at){if(at[0]!=\":\")return[null,at];const cn=at.indexOf(\":\",1);if(cn==-1)throw new Error(`Unsupported format \"${at}\" expecting \":namespace:name\"`);return[at.slice(1,cn),at.slice(cn+1)]}/**\n\t   * @license\n\t   * Copyright Google Inc. All Rights Reserved.\n\t   *\n\t   * Use of this source code is governed by an MIT-style license that can be\n\t   * found in the LICENSE file at https://angular.io/license\n\t   */Object.defineProperty(Xx,\"__esModule\",{value:!0}),function(at){at[at.RAW_TEXT=0]=\"RAW_TEXT\",at[at.ESCAPABLE_RAW_TEXT=1]=\"ESCAPABLE_RAW_TEXT\",at[at.PARSABLE_DATA=2]=\"PARSABLE_DATA\"}(Xx.TagContentType||(Xx.TagContentType={})),Xx.splitNsName=Ee,Xx.isNgContainer=function(at){return Ee(at)[1]===\"ng-container\"},Xx.isNgContent=function(at){return Ee(at)[1]===\"ng-content\"},Xx.isNgTemplate=function(at){return Ee(at)[1]===\"ng-template\"},Xx.getNsPrefix=function(at){return at===null?null:Ee(at)[0]},Xx.mergeNsAndName=function(at,cn){return at?`:${at}:${cn}`:cn},Xx.NAMED_ENTITIES={Aacute:\"\\xC1\",aacute:\"\\xE1\",Abreve:\"\\u0102\",abreve:\"\\u0103\",ac:\"\\u223E\",acd:\"\\u223F\",acE:\"\\u223E\\u0333\",Acirc:\"\\xC2\",acirc:\"\\xE2\",acute:\"\\xB4\",Acy:\"\\u0410\",acy:\"\\u0430\",AElig:\"\\xC6\",aelig:\"\\xE6\",af:\"\\u2061\",Afr:\"\\u{1D504}\",afr:\"\\u{1D51E}\",Agrave:\"\\xC0\",agrave:\"\\xE0\",alefsym:\"\\u2135\",aleph:\"\\u2135\",Alpha:\"\\u0391\",alpha:\"\\u03B1\",Amacr:\"\\u0100\",amacr:\"\\u0101\",amalg:\"\\u2A3F\",AMP:\"&\",amp:\"&\",And:\"\\u2A53\",and:\"\\u2227\",andand:\"\\u2A55\",andd:\"\\u2A5C\",andslope:\"\\u2A58\",andv:\"\\u2A5A\",ang:\"\\u2220\",ange:\"\\u29A4\",angle:\"\\u2220\",angmsd:\"\\u2221\",angmsdaa:\"\\u29A8\",angmsdab:\"\\u29A9\",angmsdac:\"\\u29AA\",angmsdad:\"\\u29AB\",angmsdae:\"\\u29AC\",angmsdaf:\"\\u29AD\",angmsdag:\"\\u29AE\",angmsdah:\"\\u29AF\",angrt:\"\\u221F\",angrtvb:\"\\u22BE\",angrtvbd:\"\\u299D\",angsph:\"\\u2222\",angst:\"\\xC5\",angzarr:\"\\u237C\",Aogon:\"\\u0104\",aogon:\"\\u0105\",Aopf:\"\\u{1D538}\",aopf:\"\\u{1D552}\",ap:\"\\u2248\",apacir:\"\\u2A6F\",apE:\"\\u2A70\",ape:\"\\u224A\",apid:\"\\u224B\",apos:\"'\",ApplyFunction:\"\\u2061\",approx:\"\\u2248\",approxeq:\"\\u224A\",Aring:\"\\xC5\",aring:\"\\xE5\",Ascr:\"\\u{1D49C}\",ascr:\"\\u{1D4B6}\",Assign:\"\\u2254\",ast:\"*\",asymp:\"\\u2248\",asympeq:\"\\u224D\",Atilde:\"\\xC3\",atilde:\"\\xE3\",Auml:\"\\xC4\",auml:\"\\xE4\",awconint:\"\\u2233\",awint:\"\\u2A11\",backcong:\"\\u224C\",backepsilon:\"\\u03F6\",backprime:\"\\u2035\",backsim:\"\\u223D\",backsimeq:\"\\u22CD\",Backslash:\"\\u2216\",Barv:\"\\u2AE7\",barvee:\"\\u22BD\",Barwed:\"\\u2306\",barwed:\"\\u2305\",barwedge:\"\\u2305\",bbrk:\"\\u23B5\",bbrktbrk:\"\\u23B6\",bcong:\"\\u224C\",Bcy:\"\\u0411\",bcy:\"\\u0431\",bdquo:\"\\u201E\",becaus:\"\\u2235\",Because:\"\\u2235\",because:\"\\u2235\",bemptyv:\"\\u29B0\",bepsi:\"\\u03F6\",bernou:\"\\u212C\",Bernoullis:\"\\u212C\",Beta:\"\\u0392\",beta:\"\\u03B2\",beth:\"\\u2136\",between:\"\\u226C\",Bfr:\"\\u{1D505}\",bfr:\"\\u{1D51F}\",bigcap:\"\\u22C2\",bigcirc:\"\\u25EF\",bigcup:\"\\u22C3\",bigodot:\"\\u2A00\",bigoplus:\"\\u2A01\",bigotimes:\"\\u2A02\",bigsqcup:\"\\u2A06\",bigstar:\"\\u2605\",bigtriangledown:\"\\u25BD\",bigtriangleup:\"\\u25B3\",biguplus:\"\\u2A04\",bigvee:\"\\u22C1\",bigwedge:\"\\u22C0\",bkarow:\"\\u290D\",blacklozenge:\"\\u29EB\",blacksquare:\"\\u25AA\",blacktriangle:\"\\u25B4\",blacktriangledown:\"\\u25BE\",blacktriangleleft:\"\\u25C2\",blacktriangleright:\"\\u25B8\",blank:\"\\u2423\",blk12:\"\\u2592\",blk14:\"\\u2591\",blk34:\"\\u2593\",block:\"\\u2588\",bne:\"=\\u20E5\",bnequiv:\"\\u2261\\u20E5\",bNot:\"\\u2AED\",bnot:\"\\u2310\",Bopf:\"\\u{1D539}\",bopf:\"\\u{1D553}\",bot:\"\\u22A5\",bottom:\"\\u22A5\",bowtie:\"\\u22C8\",boxbox:\"\\u29C9\",boxDL:\"\\u2557\",boxDl:\"\\u2556\",boxdL:\"\\u2555\",boxdl:\"\\u2510\",boxDR:\"\\u2554\",boxDr:\"\\u2553\",boxdR:\"\\u2552\",boxdr:\"\\u250C\",boxH:\"\\u2550\",boxh:\"\\u2500\",boxHD:\"\\u2566\",boxHd:\"\\u2564\",boxhD:\"\\u2565\",boxhd:\"\\u252C\",boxHU:\"\\u2569\",boxHu:\"\\u2567\",boxhU:\"\\u2568\",boxhu:\"\\u2534\",boxminus:\"\\u229F\",boxplus:\"\\u229E\",boxtimes:\"\\u22A0\",boxUL:\"\\u255D\",boxUl:\"\\u255C\",boxuL:\"\\u255B\",boxul:\"\\u2518\",boxUR:\"\\u255A\",boxUr:\"\\u2559\",boxuR:\"\\u2558\",boxur:\"\\u2514\",boxV:\"\\u2551\",boxv:\"\\u2502\",boxVH:\"\\u256C\",boxVh:\"\\u256B\",boxvH:\"\\u256A\",boxvh:\"\\u253C\",boxVL:\"\\u2563\",boxVl:\"\\u2562\",boxvL:\"\\u2561\",boxvl:\"\\u2524\",boxVR:\"\\u2560\",boxVr:\"\\u255F\",boxvR:\"\\u255E\",boxvr:\"\\u251C\",bprime:\"\\u2035\",Breve:\"\\u02D8\",breve:\"\\u02D8\",brvbar:\"\\xA6\",Bscr:\"\\u212C\",bscr:\"\\u{1D4B7}\",bsemi:\"\\u204F\",bsim:\"\\u223D\",bsime:\"\\u22CD\",bsol:\"\\\\\",bsolb:\"\\u29C5\",bsolhsub:\"\\u27C8\",bull:\"\\u2022\",bullet:\"\\u2022\",bump:\"\\u224E\",bumpE:\"\\u2AAE\",bumpe:\"\\u224F\",Bumpeq:\"\\u224E\",bumpeq:\"\\u224F\",Cacute:\"\\u0106\",cacute:\"\\u0107\",Cap:\"\\u22D2\",cap:\"\\u2229\",capand:\"\\u2A44\",capbrcup:\"\\u2A49\",capcap:\"\\u2A4B\",capcup:\"\\u2A47\",capdot:\"\\u2A40\",CapitalDifferentialD:\"\\u2145\",caps:\"\\u2229\\uFE00\",caret:\"\\u2041\",caron:\"\\u02C7\",Cayleys:\"\\u212D\",ccaps:\"\\u2A4D\",Ccaron:\"\\u010C\",ccaron:\"\\u010D\",Ccedil:\"\\xC7\",ccedil:\"\\xE7\",Ccirc:\"\\u0108\",ccirc:\"\\u0109\",Cconint:\"\\u2230\",ccups:\"\\u2A4C\",ccupssm:\"\\u2A50\",Cdot:\"\\u010A\",cdot:\"\\u010B\",cedil:\"\\xB8\",Cedilla:\"\\xB8\",cemptyv:\"\\u29B2\",cent:\"\\xA2\",CenterDot:\"\\xB7\",centerdot:\"\\xB7\",Cfr:\"\\u212D\",cfr:\"\\u{1D520}\",CHcy:\"\\u0427\",chcy:\"\\u0447\",check:\"\\u2713\",checkmark:\"\\u2713\",Chi:\"\\u03A7\",chi:\"\\u03C7\",cir:\"\\u25CB\",circ:\"\\u02C6\",circeq:\"\\u2257\",circlearrowleft:\"\\u21BA\",circlearrowright:\"\\u21BB\",circledast:\"\\u229B\",circledcirc:\"\\u229A\",circleddash:\"\\u229D\",CircleDot:\"\\u2299\",circledR:\"\\xAE\",circledS:\"\\u24C8\",CircleMinus:\"\\u2296\",CirclePlus:\"\\u2295\",CircleTimes:\"\\u2297\",cirE:\"\\u29C3\",cire:\"\\u2257\",cirfnint:\"\\u2A10\",cirmid:\"\\u2AEF\",cirscir:\"\\u29C2\",ClockwiseContourIntegral:\"\\u2232\",CloseCurlyDoubleQuote:\"\\u201D\",CloseCurlyQuote:\"\\u2019\",clubs:\"\\u2663\",clubsuit:\"\\u2663\",Colon:\"\\u2237\",colon:\":\",Colone:\"\\u2A74\",colone:\"\\u2254\",coloneq:\"\\u2254\",comma:\",\",commat:\"@\",comp:\"\\u2201\",compfn:\"\\u2218\",complement:\"\\u2201\",complexes:\"\\u2102\",cong:\"\\u2245\",congdot:\"\\u2A6D\",Congruent:\"\\u2261\",Conint:\"\\u222F\",conint:\"\\u222E\",ContourIntegral:\"\\u222E\",Copf:\"\\u2102\",copf:\"\\u{1D554}\",coprod:\"\\u2210\",Coproduct:\"\\u2210\",COPY:\"\\xA9\",copy:\"\\xA9\",copysr:\"\\u2117\",CounterClockwiseContourIntegral:\"\\u2233\",crarr:\"\\u21B5\",Cross:\"\\u2A2F\",cross:\"\\u2717\",Cscr:\"\\u{1D49E}\",cscr:\"\\u{1D4B8}\",csub:\"\\u2ACF\",csube:\"\\u2AD1\",csup:\"\\u2AD0\",csupe:\"\\u2AD2\",ctdot:\"\\u22EF\",cudarrl:\"\\u2938\",cudarrr:\"\\u2935\",cuepr:\"\\u22DE\",cuesc:\"\\u22DF\",cularr:\"\\u21B6\",cularrp:\"\\u293D\",Cup:\"\\u22D3\",cup:\"\\u222A\",cupbrcap:\"\\u2A48\",CupCap:\"\\u224D\",cupcap:\"\\u2A46\",cupcup:\"\\u2A4A\",cupdot:\"\\u228D\",cupor:\"\\u2A45\",cups:\"\\u222A\\uFE00\",curarr:\"\\u21B7\",curarrm:\"\\u293C\",curlyeqprec:\"\\u22DE\",curlyeqsucc:\"\\u22DF\",curlyvee:\"\\u22CE\",curlywedge:\"\\u22CF\",curren:\"\\xA4\",curvearrowleft:\"\\u21B6\",curvearrowright:\"\\u21B7\",cuvee:\"\\u22CE\",cuwed:\"\\u22CF\",cwconint:\"\\u2232\",cwint:\"\\u2231\",cylcty:\"\\u232D\",Dagger:\"\\u2021\",dagger:\"\\u2020\",daleth:\"\\u2138\",Darr:\"\\u21A1\",dArr:\"\\u21D3\",darr:\"\\u2193\",dash:\"\\u2010\",Dashv:\"\\u2AE4\",dashv:\"\\u22A3\",dbkarow:\"\\u290F\",dblac:\"\\u02DD\",Dcaron:\"\\u010E\",dcaron:\"\\u010F\",Dcy:\"\\u0414\",dcy:\"\\u0434\",DD:\"\\u2145\",dd:\"\\u2146\",ddagger:\"\\u2021\",ddarr:\"\\u21CA\",DDotrahd:\"\\u2911\",ddotseq:\"\\u2A77\",deg:\"\\xB0\",Del:\"\\u2207\",Delta:\"\\u0394\",delta:\"\\u03B4\",demptyv:\"\\u29B1\",dfisht:\"\\u297F\",Dfr:\"\\u{1D507}\",dfr:\"\\u{1D521}\",dHar:\"\\u2965\",dharl:\"\\u21C3\",dharr:\"\\u21C2\",DiacriticalAcute:\"\\xB4\",DiacriticalDot:\"\\u02D9\",DiacriticalDoubleAcute:\"\\u02DD\",DiacriticalGrave:\"`\",DiacriticalTilde:\"\\u02DC\",diam:\"\\u22C4\",Diamond:\"\\u22C4\",diamond:\"\\u22C4\",diamondsuit:\"\\u2666\",diams:\"\\u2666\",die:\"\\xA8\",DifferentialD:\"\\u2146\",digamma:\"\\u03DD\",disin:\"\\u22F2\",div:\"\\xF7\",divide:\"\\xF7\",divideontimes:\"\\u22C7\",divonx:\"\\u22C7\",DJcy:\"\\u0402\",djcy:\"\\u0452\",dlcorn:\"\\u231E\",dlcrop:\"\\u230D\",dollar:\"$\",Dopf:\"\\u{1D53B}\",dopf:\"\\u{1D555}\",Dot:\"\\xA8\",dot:\"\\u02D9\",DotDot:\"\\u20DC\",doteq:\"\\u2250\",doteqdot:\"\\u2251\",DotEqual:\"\\u2250\",dotminus:\"\\u2238\",dotplus:\"\\u2214\",dotsquare:\"\\u22A1\",doublebarwedge:\"\\u2306\",DoubleContourIntegral:\"\\u222F\",DoubleDot:\"\\xA8\",DoubleDownArrow:\"\\u21D3\",DoubleLeftArrow:\"\\u21D0\",DoubleLeftRightArrow:\"\\u21D4\",DoubleLeftTee:\"\\u2AE4\",DoubleLongLeftArrow:\"\\u27F8\",DoubleLongLeftRightArrow:\"\\u27FA\",DoubleLongRightArrow:\"\\u27F9\",DoubleRightArrow:\"\\u21D2\",DoubleRightTee:\"\\u22A8\",DoubleUpArrow:\"\\u21D1\",DoubleUpDownArrow:\"\\u21D5\",DoubleVerticalBar:\"\\u2225\",DownArrow:\"\\u2193\",Downarrow:\"\\u21D3\",downarrow:\"\\u2193\",DownArrowBar:\"\\u2913\",DownArrowUpArrow:\"\\u21F5\",DownBreve:\"\\u0311\",downdownarrows:\"\\u21CA\",downharpoonleft:\"\\u21C3\",downharpoonright:\"\\u21C2\",DownLeftRightVector:\"\\u2950\",DownLeftTeeVector:\"\\u295E\",DownLeftVector:\"\\u21BD\",DownLeftVectorBar:\"\\u2956\",DownRightTeeVector:\"\\u295F\",DownRightVector:\"\\u21C1\",DownRightVectorBar:\"\\u2957\",DownTee:\"\\u22A4\",DownTeeArrow:\"\\u21A7\",drbkarow:\"\\u2910\",drcorn:\"\\u231F\",drcrop:\"\\u230C\",Dscr:\"\\u{1D49F}\",dscr:\"\\u{1D4B9}\",DScy:\"\\u0405\",dscy:\"\\u0455\",dsol:\"\\u29F6\",Dstrok:\"\\u0110\",dstrok:\"\\u0111\",dtdot:\"\\u22F1\",dtri:\"\\u25BF\",dtrif:\"\\u25BE\",duarr:\"\\u21F5\",duhar:\"\\u296F\",dwangle:\"\\u29A6\",DZcy:\"\\u040F\",dzcy:\"\\u045F\",dzigrarr:\"\\u27FF\",Eacute:\"\\xC9\",eacute:\"\\xE9\",easter:\"\\u2A6E\",Ecaron:\"\\u011A\",ecaron:\"\\u011B\",ecir:\"\\u2256\",Ecirc:\"\\xCA\",ecirc:\"\\xEA\",ecolon:\"\\u2255\",Ecy:\"\\u042D\",ecy:\"\\u044D\",eDDot:\"\\u2A77\",Edot:\"\\u0116\",eDot:\"\\u2251\",edot:\"\\u0117\",ee:\"\\u2147\",efDot:\"\\u2252\",Efr:\"\\u{1D508}\",efr:\"\\u{1D522}\",eg:\"\\u2A9A\",Egrave:\"\\xC8\",egrave:\"\\xE8\",egs:\"\\u2A96\",egsdot:\"\\u2A98\",el:\"\\u2A99\",Element:\"\\u2208\",elinters:\"\\u23E7\",ell:\"\\u2113\",els:\"\\u2A95\",elsdot:\"\\u2A97\",Emacr:\"\\u0112\",emacr:\"\\u0113\",empty:\"\\u2205\",emptyset:\"\\u2205\",EmptySmallSquare:\"\\u25FB\",emptyv:\"\\u2205\",EmptyVerySmallSquare:\"\\u25AB\",emsp:\"\\u2003\",emsp13:\"\\u2004\",emsp14:\"\\u2005\",ENG:\"\\u014A\",eng:\"\\u014B\",ensp:\"\\u2002\",Eogon:\"\\u0118\",eogon:\"\\u0119\",Eopf:\"\\u{1D53C}\",eopf:\"\\u{1D556}\",epar:\"\\u22D5\",eparsl:\"\\u29E3\",eplus:\"\\u2A71\",epsi:\"\\u03B5\",Epsilon:\"\\u0395\",epsilon:\"\\u03B5\",epsiv:\"\\u03F5\",eqcirc:\"\\u2256\",eqcolon:\"\\u2255\",eqsim:\"\\u2242\",eqslantgtr:\"\\u2A96\",eqslantless:\"\\u2A95\",Equal:\"\\u2A75\",equals:\"=\",EqualTilde:\"\\u2242\",equest:\"\\u225F\",Equilibrium:\"\\u21CC\",equiv:\"\\u2261\",equivDD:\"\\u2A78\",eqvparsl:\"\\u29E5\",erarr:\"\\u2971\",erDot:\"\\u2253\",Escr:\"\\u2130\",escr:\"\\u212F\",esdot:\"\\u2250\",Esim:\"\\u2A73\",esim:\"\\u2242\",Eta:\"\\u0397\",eta:\"\\u03B7\",ETH:\"\\xD0\",eth:\"\\xF0\",Euml:\"\\xCB\",euml:\"\\xEB\",euro:\"\\u20AC\",excl:\"!\",exist:\"\\u2203\",Exists:\"\\u2203\",expectation:\"\\u2130\",ExponentialE:\"\\u2147\",exponentiale:\"\\u2147\",fallingdotseq:\"\\u2252\",Fcy:\"\\u0424\",fcy:\"\\u0444\",female:\"\\u2640\",ffilig:\"\\uFB03\",fflig:\"\\uFB00\",ffllig:\"\\uFB04\",Ffr:\"\\u{1D509}\",ffr:\"\\u{1D523}\",filig:\"\\uFB01\",FilledSmallSquare:\"\\u25FC\",FilledVerySmallSquare:\"\\u25AA\",fjlig:\"fj\",flat:\"\\u266D\",fllig:\"\\uFB02\",fltns:\"\\u25B1\",fnof:\"\\u0192\",Fopf:\"\\u{1D53D}\",fopf:\"\\u{1D557}\",ForAll:\"\\u2200\",forall:\"\\u2200\",fork:\"\\u22D4\",forkv:\"\\u2AD9\",Fouriertrf:\"\\u2131\",fpartint:\"\\u2A0D\",frac12:\"\\xBD\",frac13:\"\\u2153\",frac14:\"\\xBC\",frac15:\"\\u2155\",frac16:\"\\u2159\",frac18:\"\\u215B\",frac23:\"\\u2154\",frac25:\"\\u2156\",frac34:\"\\xBE\",frac35:\"\\u2157\",frac38:\"\\u215C\",frac45:\"\\u2158\",frac56:\"\\u215A\",frac58:\"\\u215D\",frac78:\"\\u215E\",frasl:\"\\u2044\",frown:\"\\u2322\",Fscr:\"\\u2131\",fscr:\"\\u{1D4BB}\",gacute:\"\\u01F5\",Gamma:\"\\u0393\",gamma:\"\\u03B3\",Gammad:\"\\u03DC\",gammad:\"\\u03DD\",gap:\"\\u2A86\",Gbreve:\"\\u011E\",gbreve:\"\\u011F\",Gcedil:\"\\u0122\",Gcirc:\"\\u011C\",gcirc:\"\\u011D\",Gcy:\"\\u0413\",gcy:\"\\u0433\",Gdot:\"\\u0120\",gdot:\"\\u0121\",gE:\"\\u2267\",ge:\"\\u2265\",gEl:\"\\u2A8C\",gel:\"\\u22DB\",geq:\"\\u2265\",geqq:\"\\u2267\",geqslant:\"\\u2A7E\",ges:\"\\u2A7E\",gescc:\"\\u2AA9\",gesdot:\"\\u2A80\",gesdoto:\"\\u2A82\",gesdotol:\"\\u2A84\",gesl:\"\\u22DB\\uFE00\",gesles:\"\\u2A94\",Gfr:\"\\u{1D50A}\",gfr:\"\\u{1D524}\",Gg:\"\\u22D9\",gg:\"\\u226B\",ggg:\"\\u22D9\",gimel:\"\\u2137\",GJcy:\"\\u0403\",gjcy:\"\\u0453\",gl:\"\\u2277\",gla:\"\\u2AA5\",glE:\"\\u2A92\",glj:\"\\u2AA4\",gnap:\"\\u2A8A\",gnapprox:\"\\u2A8A\",gnE:\"\\u2269\",gne:\"\\u2A88\",gneq:\"\\u2A88\",gneqq:\"\\u2269\",gnsim:\"\\u22E7\",Gopf:\"\\u{1D53E}\",gopf:\"\\u{1D558}\",grave:\"`\",GreaterEqual:\"\\u2265\",GreaterEqualLess:\"\\u22DB\",GreaterFullEqual:\"\\u2267\",GreaterGreater:\"\\u2AA2\",GreaterLess:\"\\u2277\",GreaterSlantEqual:\"\\u2A7E\",GreaterTilde:\"\\u2273\",Gscr:\"\\u{1D4A2}\",gscr:\"\\u210A\",gsim:\"\\u2273\",gsime:\"\\u2A8E\",gsiml:\"\\u2A90\",GT:\">\",Gt:\"\\u226B\",gt:\">\",gtcc:\"\\u2AA7\",gtcir:\"\\u2A7A\",gtdot:\"\\u22D7\",gtlPar:\"\\u2995\",gtquest:\"\\u2A7C\",gtrapprox:\"\\u2A86\",gtrarr:\"\\u2978\",gtrdot:\"\\u22D7\",gtreqless:\"\\u22DB\",gtreqqless:\"\\u2A8C\",gtrless:\"\\u2277\",gtrsim:\"\\u2273\",gvertneqq:\"\\u2269\\uFE00\",gvnE:\"\\u2269\\uFE00\",Hacek:\"\\u02C7\",hairsp:\"\\u200A\",half:\"\\xBD\",hamilt:\"\\u210B\",HARDcy:\"\\u042A\",hardcy:\"\\u044A\",hArr:\"\\u21D4\",harr:\"\\u2194\",harrcir:\"\\u2948\",harrw:\"\\u21AD\",Hat:\"^\",hbar:\"\\u210F\",Hcirc:\"\\u0124\",hcirc:\"\\u0125\",hearts:\"\\u2665\",heartsuit:\"\\u2665\",hellip:\"\\u2026\",hercon:\"\\u22B9\",Hfr:\"\\u210C\",hfr:\"\\u{1D525}\",HilbertSpace:\"\\u210B\",hksearow:\"\\u2925\",hkswarow:\"\\u2926\",hoarr:\"\\u21FF\",homtht:\"\\u223B\",hookleftarrow:\"\\u21A9\",hookrightarrow:\"\\u21AA\",Hopf:\"\\u210D\",hopf:\"\\u{1D559}\",horbar:\"\\u2015\",HorizontalLine:\"\\u2500\",Hscr:\"\\u210B\",hscr:\"\\u{1D4BD}\",hslash:\"\\u210F\",Hstrok:\"\\u0126\",hstrok:\"\\u0127\",HumpDownHump:\"\\u224E\",HumpEqual:\"\\u224F\",hybull:\"\\u2043\",hyphen:\"\\u2010\",Iacute:\"\\xCD\",iacute:\"\\xED\",ic:\"\\u2063\",Icirc:\"\\xCE\",icirc:\"\\xEE\",Icy:\"\\u0418\",icy:\"\\u0438\",Idot:\"\\u0130\",IEcy:\"\\u0415\",iecy:\"\\u0435\",iexcl:\"\\xA1\",iff:\"\\u21D4\",Ifr:\"\\u2111\",ifr:\"\\u{1D526}\",Igrave:\"\\xCC\",igrave:\"\\xEC\",ii:\"\\u2148\",iiiint:\"\\u2A0C\",iiint:\"\\u222D\",iinfin:\"\\u29DC\",iiota:\"\\u2129\",IJlig:\"\\u0132\",ijlig:\"\\u0133\",Im:\"\\u2111\",Imacr:\"\\u012A\",imacr:\"\\u012B\",image:\"\\u2111\",ImaginaryI:\"\\u2148\",imagline:\"\\u2110\",imagpart:\"\\u2111\",imath:\"\\u0131\",imof:\"\\u22B7\",imped:\"\\u01B5\",Implies:\"\\u21D2\",in:\"\\u2208\",incare:\"\\u2105\",infin:\"\\u221E\",infintie:\"\\u29DD\",inodot:\"\\u0131\",Int:\"\\u222C\",int:\"\\u222B\",intcal:\"\\u22BA\",integers:\"\\u2124\",Integral:\"\\u222B\",intercal:\"\\u22BA\",Intersection:\"\\u22C2\",intlarhk:\"\\u2A17\",intprod:\"\\u2A3C\",InvisibleComma:\"\\u2063\",InvisibleTimes:\"\\u2062\",IOcy:\"\\u0401\",iocy:\"\\u0451\",Iogon:\"\\u012E\",iogon:\"\\u012F\",Iopf:\"\\u{1D540}\",iopf:\"\\u{1D55A}\",Iota:\"\\u0399\",iota:\"\\u03B9\",iprod:\"\\u2A3C\",iquest:\"\\xBF\",Iscr:\"\\u2110\",iscr:\"\\u{1D4BE}\",isin:\"\\u2208\",isindot:\"\\u22F5\",isinE:\"\\u22F9\",isins:\"\\u22F4\",isinsv:\"\\u22F3\",isinv:\"\\u2208\",it:\"\\u2062\",Itilde:\"\\u0128\",itilde:\"\\u0129\",Iukcy:\"\\u0406\",iukcy:\"\\u0456\",Iuml:\"\\xCF\",iuml:\"\\xEF\",Jcirc:\"\\u0134\",jcirc:\"\\u0135\",Jcy:\"\\u0419\",jcy:\"\\u0439\",Jfr:\"\\u{1D50D}\",jfr:\"\\u{1D527}\",jmath:\"\\u0237\",Jopf:\"\\u{1D541}\",jopf:\"\\u{1D55B}\",Jscr:\"\\u{1D4A5}\",jscr:\"\\u{1D4BF}\",Jsercy:\"\\u0408\",jsercy:\"\\u0458\",Jukcy:\"\\u0404\",jukcy:\"\\u0454\",Kappa:\"\\u039A\",kappa:\"\\u03BA\",kappav:\"\\u03F0\",Kcedil:\"\\u0136\",kcedil:\"\\u0137\",Kcy:\"\\u041A\",kcy:\"\\u043A\",Kfr:\"\\u{1D50E}\",kfr:\"\\u{1D528}\",kgreen:\"\\u0138\",KHcy:\"\\u0425\",khcy:\"\\u0445\",KJcy:\"\\u040C\",kjcy:\"\\u045C\",Kopf:\"\\u{1D542}\",kopf:\"\\u{1D55C}\",Kscr:\"\\u{1D4A6}\",kscr:\"\\u{1D4C0}\",lAarr:\"\\u21DA\",Lacute:\"\\u0139\",lacute:\"\\u013A\",laemptyv:\"\\u29B4\",lagran:\"\\u2112\",Lambda:\"\\u039B\",lambda:\"\\u03BB\",Lang:\"\\u27EA\",lang:\"\\u27E8\",langd:\"\\u2991\",langle:\"\\u27E8\",lap:\"\\u2A85\",Laplacetrf:\"\\u2112\",laquo:\"\\xAB\",Larr:\"\\u219E\",lArr:\"\\u21D0\",larr:\"\\u2190\",larrb:\"\\u21E4\",larrbfs:\"\\u291F\",larrfs:\"\\u291D\",larrhk:\"\\u21A9\",larrlp:\"\\u21AB\",larrpl:\"\\u2939\",larrsim:\"\\u2973\",larrtl:\"\\u21A2\",lat:\"\\u2AAB\",lAtail:\"\\u291B\",latail:\"\\u2919\",late:\"\\u2AAD\",lates:\"\\u2AAD\\uFE00\",lBarr:\"\\u290E\",lbarr:\"\\u290C\",lbbrk:\"\\u2772\",lbrace:\"{\",lbrack:\"[\",lbrke:\"\\u298B\",lbrksld:\"\\u298F\",lbrkslu:\"\\u298D\",Lcaron:\"\\u013D\",lcaron:\"\\u013E\",Lcedil:\"\\u013B\",lcedil:\"\\u013C\",lceil:\"\\u2308\",lcub:\"{\",Lcy:\"\\u041B\",lcy:\"\\u043B\",ldca:\"\\u2936\",ldquo:\"\\u201C\",ldquor:\"\\u201E\",ldrdhar:\"\\u2967\",ldrushar:\"\\u294B\",ldsh:\"\\u21B2\",lE:\"\\u2266\",le:\"\\u2264\",LeftAngleBracket:\"\\u27E8\",LeftArrow:\"\\u2190\",Leftarrow:\"\\u21D0\",leftarrow:\"\\u2190\",LeftArrowBar:\"\\u21E4\",LeftArrowRightArrow:\"\\u21C6\",leftarrowtail:\"\\u21A2\",LeftCeiling:\"\\u2308\",LeftDoubleBracket:\"\\u27E6\",LeftDownTeeVector:\"\\u2961\",LeftDownVector:\"\\u21C3\",LeftDownVectorBar:\"\\u2959\",LeftFloor:\"\\u230A\",leftharpoondown:\"\\u21BD\",leftharpoonup:\"\\u21BC\",leftleftarrows:\"\\u21C7\",LeftRightArrow:\"\\u2194\",Leftrightarrow:\"\\u21D4\",leftrightarrow:\"\\u2194\",leftrightarrows:\"\\u21C6\",leftrightharpoons:\"\\u21CB\",leftrightsquigarrow:\"\\u21AD\",LeftRightVector:\"\\u294E\",LeftTee:\"\\u22A3\",LeftTeeArrow:\"\\u21A4\",LeftTeeVector:\"\\u295A\",leftthreetimes:\"\\u22CB\",LeftTriangle:\"\\u22B2\",LeftTriangleBar:\"\\u29CF\",LeftTriangleEqual:\"\\u22B4\",LeftUpDownVector:\"\\u2951\",LeftUpTeeVector:\"\\u2960\",LeftUpVector:\"\\u21BF\",LeftUpVectorBar:\"\\u2958\",LeftVector:\"\\u21BC\",LeftVectorBar:\"\\u2952\",lEg:\"\\u2A8B\",leg:\"\\u22DA\",leq:\"\\u2264\",leqq:\"\\u2266\",leqslant:\"\\u2A7D\",les:\"\\u2A7D\",lescc:\"\\u2AA8\",lesdot:\"\\u2A7F\",lesdoto:\"\\u2A81\",lesdotor:\"\\u2A83\",lesg:\"\\u22DA\\uFE00\",lesges:\"\\u2A93\",lessapprox:\"\\u2A85\",lessdot:\"\\u22D6\",lesseqgtr:\"\\u22DA\",lesseqqgtr:\"\\u2A8B\",LessEqualGreater:\"\\u22DA\",LessFullEqual:\"\\u2266\",LessGreater:\"\\u2276\",lessgtr:\"\\u2276\",LessLess:\"\\u2AA1\",lesssim:\"\\u2272\",LessSlantEqual:\"\\u2A7D\",LessTilde:\"\\u2272\",lfisht:\"\\u297C\",lfloor:\"\\u230A\",Lfr:\"\\u{1D50F}\",lfr:\"\\u{1D529}\",lg:\"\\u2276\",lgE:\"\\u2A91\",lHar:\"\\u2962\",lhard:\"\\u21BD\",lharu:\"\\u21BC\",lharul:\"\\u296A\",lhblk:\"\\u2584\",LJcy:\"\\u0409\",ljcy:\"\\u0459\",Ll:\"\\u22D8\",ll:\"\\u226A\",llarr:\"\\u21C7\",llcorner:\"\\u231E\",Lleftarrow:\"\\u21DA\",llhard:\"\\u296B\",lltri:\"\\u25FA\",Lmidot:\"\\u013F\",lmidot:\"\\u0140\",lmoust:\"\\u23B0\",lmoustache:\"\\u23B0\",lnap:\"\\u2A89\",lnapprox:\"\\u2A89\",lnE:\"\\u2268\",lne:\"\\u2A87\",lneq:\"\\u2A87\",lneqq:\"\\u2268\",lnsim:\"\\u22E6\",loang:\"\\u27EC\",loarr:\"\\u21FD\",lobrk:\"\\u27E6\",LongLeftArrow:\"\\u27F5\",Longleftarrow:\"\\u27F8\",longleftarrow:\"\\u27F5\",LongLeftRightArrow:\"\\u27F7\",Longleftrightarrow:\"\\u27FA\",longleftrightarrow:\"\\u27F7\",longmapsto:\"\\u27FC\",LongRightArrow:\"\\u27F6\",Longrightarrow:\"\\u27F9\",longrightarrow:\"\\u27F6\",looparrowleft:\"\\u21AB\",looparrowright:\"\\u21AC\",lopar:\"\\u2985\",Lopf:\"\\u{1D543}\",lopf:\"\\u{1D55D}\",loplus:\"\\u2A2D\",lotimes:\"\\u2A34\",lowast:\"\\u2217\",lowbar:\"_\",LowerLeftArrow:\"\\u2199\",LowerRightArrow:\"\\u2198\",loz:\"\\u25CA\",lozenge:\"\\u25CA\",lozf:\"\\u29EB\",lpar:\"(\",lparlt:\"\\u2993\",lrarr:\"\\u21C6\",lrcorner:\"\\u231F\",lrhar:\"\\u21CB\",lrhard:\"\\u296D\",lrm:\"\\u200E\",lrtri:\"\\u22BF\",lsaquo:\"\\u2039\",Lscr:\"\\u2112\",lscr:\"\\u{1D4C1}\",Lsh:\"\\u21B0\",lsh:\"\\u21B0\",lsim:\"\\u2272\",lsime:\"\\u2A8D\",lsimg:\"\\u2A8F\",lsqb:\"[\",lsquo:\"\\u2018\",lsquor:\"\\u201A\",Lstrok:\"\\u0141\",lstrok:\"\\u0142\",LT:\"<\",Lt:\"\\u226A\",lt:\"<\",ltcc:\"\\u2AA6\",ltcir:\"\\u2A79\",ltdot:\"\\u22D6\",lthree:\"\\u22CB\",ltimes:\"\\u22C9\",ltlarr:\"\\u2976\",ltquest:\"\\u2A7B\",ltri:\"\\u25C3\",ltrie:\"\\u22B4\",ltrif:\"\\u25C2\",ltrPar:\"\\u2996\",lurdshar:\"\\u294A\",luruhar:\"\\u2966\",lvertneqq:\"\\u2268\\uFE00\",lvnE:\"\\u2268\\uFE00\",macr:\"\\xAF\",male:\"\\u2642\",malt:\"\\u2720\",maltese:\"\\u2720\",Map:\"\\u2905\",map:\"\\u21A6\",mapsto:\"\\u21A6\",mapstodown:\"\\u21A7\",mapstoleft:\"\\u21A4\",mapstoup:\"\\u21A5\",marker:\"\\u25AE\",mcomma:\"\\u2A29\",Mcy:\"\\u041C\",mcy:\"\\u043C\",mdash:\"\\u2014\",mDDot:\"\\u223A\",measuredangle:\"\\u2221\",MediumSpace:\"\\u205F\",Mellintrf:\"\\u2133\",Mfr:\"\\u{1D510}\",mfr:\"\\u{1D52A}\",mho:\"\\u2127\",micro:\"\\xB5\",mid:\"\\u2223\",midast:\"*\",midcir:\"\\u2AF0\",middot:\"\\xB7\",minus:\"\\u2212\",minusb:\"\\u229F\",minusd:\"\\u2238\",minusdu:\"\\u2A2A\",MinusPlus:\"\\u2213\",mlcp:\"\\u2ADB\",mldr:\"\\u2026\",mnplus:\"\\u2213\",models:\"\\u22A7\",Mopf:\"\\u{1D544}\",mopf:\"\\u{1D55E}\",mp:\"\\u2213\",Mscr:\"\\u2133\",mscr:\"\\u{1D4C2}\",mstpos:\"\\u223E\",Mu:\"\\u039C\",mu:\"\\u03BC\",multimap:\"\\u22B8\",mumap:\"\\u22B8\",nabla:\"\\u2207\",Nacute:\"\\u0143\",nacute:\"\\u0144\",nang:\"\\u2220\\u20D2\",nap:\"\\u2249\",napE:\"\\u2A70\\u0338\",napid:\"\\u224B\\u0338\",napos:\"\\u0149\",napprox:\"\\u2249\",natur:\"\\u266E\",natural:\"\\u266E\",naturals:\"\\u2115\",nbsp:\"\\xA0\",nbump:\"\\u224E\\u0338\",nbumpe:\"\\u224F\\u0338\",ncap:\"\\u2A43\",Ncaron:\"\\u0147\",ncaron:\"\\u0148\",Ncedil:\"\\u0145\",ncedil:\"\\u0146\",ncong:\"\\u2247\",ncongdot:\"\\u2A6D\\u0338\",ncup:\"\\u2A42\",Ncy:\"\\u041D\",ncy:\"\\u043D\",ndash:\"\\u2013\",ne:\"\\u2260\",nearhk:\"\\u2924\",neArr:\"\\u21D7\",nearr:\"\\u2197\",nearrow:\"\\u2197\",nedot:\"\\u2250\\u0338\",NegativeMediumSpace:\"\\u200B\",NegativeThickSpace:\"\\u200B\",NegativeThinSpace:\"\\u200B\",NegativeVeryThinSpace:\"\\u200B\",nequiv:\"\\u2262\",nesear:\"\\u2928\",nesim:\"\\u2242\\u0338\",NestedGreaterGreater:\"\\u226B\",NestedLessLess:\"\\u226A\",NewLine:`\n`,nexist:\"\\u2204\",nexists:\"\\u2204\",Nfr:\"\\u{1D511}\",nfr:\"\\u{1D52B}\",ngE:\"\\u2267\\u0338\",nge:\"\\u2271\",ngeq:\"\\u2271\",ngeqq:\"\\u2267\\u0338\",ngeqslant:\"\\u2A7E\\u0338\",nges:\"\\u2A7E\\u0338\",nGg:\"\\u22D9\\u0338\",ngsim:\"\\u2275\",nGt:\"\\u226B\\u20D2\",ngt:\"\\u226F\",ngtr:\"\\u226F\",nGtv:\"\\u226B\\u0338\",nhArr:\"\\u21CE\",nharr:\"\\u21AE\",nhpar:\"\\u2AF2\",ni:\"\\u220B\",nis:\"\\u22FC\",nisd:\"\\u22FA\",niv:\"\\u220B\",NJcy:\"\\u040A\",njcy:\"\\u045A\",nlArr:\"\\u21CD\",nlarr:\"\\u219A\",nldr:\"\\u2025\",nlE:\"\\u2266\\u0338\",nle:\"\\u2270\",nLeftarrow:\"\\u21CD\",nleftarrow:\"\\u219A\",nLeftrightarrow:\"\\u21CE\",nleftrightarrow:\"\\u21AE\",nleq:\"\\u2270\",nleqq:\"\\u2266\\u0338\",nleqslant:\"\\u2A7D\\u0338\",nles:\"\\u2A7D\\u0338\",nless:\"\\u226E\",nLl:\"\\u22D8\\u0338\",nlsim:\"\\u2274\",nLt:\"\\u226A\\u20D2\",nlt:\"\\u226E\",nltri:\"\\u22EA\",nltrie:\"\\u22EC\",nLtv:\"\\u226A\\u0338\",nmid:\"\\u2224\",NoBreak:\"\\u2060\",NonBreakingSpace:\"\\xA0\",Nopf:\"\\u2115\",nopf:\"\\u{1D55F}\",Not:\"\\u2AEC\",not:\"\\xAC\",NotCongruent:\"\\u2262\",NotCupCap:\"\\u226D\",NotDoubleVerticalBar:\"\\u2226\",NotElement:\"\\u2209\",NotEqual:\"\\u2260\",NotEqualTilde:\"\\u2242\\u0338\",NotExists:\"\\u2204\",NotGreater:\"\\u226F\",NotGreaterEqual:\"\\u2271\",NotGreaterFullEqual:\"\\u2267\\u0338\",NotGreaterGreater:\"\\u226B\\u0338\",NotGreaterLess:\"\\u2279\",NotGreaterSlantEqual:\"\\u2A7E\\u0338\",NotGreaterTilde:\"\\u2275\",NotHumpDownHump:\"\\u224E\\u0338\",NotHumpEqual:\"\\u224F\\u0338\",notin:\"\\u2209\",notindot:\"\\u22F5\\u0338\",notinE:\"\\u22F9\\u0338\",notinva:\"\\u2209\",notinvb:\"\\u22F7\",notinvc:\"\\u22F6\",NotLeftTriangle:\"\\u22EA\",NotLeftTriangleBar:\"\\u29CF\\u0338\",NotLeftTriangleEqual:\"\\u22EC\",NotLess:\"\\u226E\",NotLessEqual:\"\\u2270\",NotLessGreater:\"\\u2278\",NotLessLess:\"\\u226A\\u0338\",NotLessSlantEqual:\"\\u2A7D\\u0338\",NotLessTilde:\"\\u2274\",NotNestedGreaterGreater:\"\\u2AA2\\u0338\",NotNestedLessLess:\"\\u2AA1\\u0338\",notni:\"\\u220C\",notniva:\"\\u220C\",notnivb:\"\\u22FE\",notnivc:\"\\u22FD\",NotPrecedes:\"\\u2280\",NotPrecedesEqual:\"\\u2AAF\\u0338\",NotPrecedesSlantEqual:\"\\u22E0\",NotReverseElement:\"\\u220C\",NotRightTriangle:\"\\u22EB\",NotRightTriangleBar:\"\\u29D0\\u0338\",NotRightTriangleEqual:\"\\u22ED\",NotSquareSubset:\"\\u228F\\u0338\",NotSquareSubsetEqual:\"\\u22E2\",NotSquareSuperset:\"\\u2290\\u0338\",NotSquareSupersetEqual:\"\\u22E3\",NotSubset:\"\\u2282\\u20D2\",NotSubsetEqual:\"\\u2288\",NotSucceeds:\"\\u2281\",NotSucceedsEqual:\"\\u2AB0\\u0338\",NotSucceedsSlantEqual:\"\\u22E1\",NotSucceedsTilde:\"\\u227F\\u0338\",NotSuperset:\"\\u2283\\u20D2\",NotSupersetEqual:\"\\u2289\",NotTilde:\"\\u2241\",NotTildeEqual:\"\\u2244\",NotTildeFullEqual:\"\\u2247\",NotTildeTilde:\"\\u2249\",NotVerticalBar:\"\\u2224\",npar:\"\\u2226\",nparallel:\"\\u2226\",nparsl:\"\\u2AFD\\u20E5\",npart:\"\\u2202\\u0338\",npolint:\"\\u2A14\",npr:\"\\u2280\",nprcue:\"\\u22E0\",npre:\"\\u2AAF\\u0338\",nprec:\"\\u2280\",npreceq:\"\\u2AAF\\u0338\",nrArr:\"\\u21CF\",nrarr:\"\\u219B\",nrarrc:\"\\u2933\\u0338\",nrarrw:\"\\u219D\\u0338\",nRightarrow:\"\\u21CF\",nrightarrow:\"\\u219B\",nrtri:\"\\u22EB\",nrtrie:\"\\u22ED\",nsc:\"\\u2281\",nsccue:\"\\u22E1\",nsce:\"\\u2AB0\\u0338\",Nscr:\"\\u{1D4A9}\",nscr:\"\\u{1D4C3}\",nshortmid:\"\\u2224\",nshortparallel:\"\\u2226\",nsim:\"\\u2241\",nsime:\"\\u2244\",nsimeq:\"\\u2244\",nsmid:\"\\u2224\",nspar:\"\\u2226\",nsqsube:\"\\u22E2\",nsqsupe:\"\\u22E3\",nsub:\"\\u2284\",nsubE:\"\\u2AC5\\u0338\",nsube:\"\\u2288\",nsubset:\"\\u2282\\u20D2\",nsubseteq:\"\\u2288\",nsubseteqq:\"\\u2AC5\\u0338\",nsucc:\"\\u2281\",nsucceq:\"\\u2AB0\\u0338\",nsup:\"\\u2285\",nsupE:\"\\u2AC6\\u0338\",nsupe:\"\\u2289\",nsupset:\"\\u2283\\u20D2\",nsupseteq:\"\\u2289\",nsupseteqq:\"\\u2AC6\\u0338\",ntgl:\"\\u2279\",Ntilde:\"\\xD1\",ntilde:\"\\xF1\",ntlg:\"\\u2278\",ntriangleleft:\"\\u22EA\",ntrianglelefteq:\"\\u22EC\",ntriangleright:\"\\u22EB\",ntrianglerighteq:\"\\u22ED\",Nu:\"\\u039D\",nu:\"\\u03BD\",num:\"#\",numero:\"\\u2116\",numsp:\"\\u2007\",nvap:\"\\u224D\\u20D2\",nVDash:\"\\u22AF\",nVdash:\"\\u22AE\",nvDash:\"\\u22AD\",nvdash:\"\\u22AC\",nvge:\"\\u2265\\u20D2\",nvgt:\">\\u20D2\",nvHarr:\"\\u2904\",nvinfin:\"\\u29DE\",nvlArr:\"\\u2902\",nvle:\"\\u2264\\u20D2\",nvlt:\"<\\u20D2\",nvltrie:\"\\u22B4\\u20D2\",nvrArr:\"\\u2903\",nvrtrie:\"\\u22B5\\u20D2\",nvsim:\"\\u223C\\u20D2\",nwarhk:\"\\u2923\",nwArr:\"\\u21D6\",nwarr:\"\\u2196\",nwarrow:\"\\u2196\",nwnear:\"\\u2927\",Oacute:\"\\xD3\",oacute:\"\\xF3\",oast:\"\\u229B\",ocir:\"\\u229A\",Ocirc:\"\\xD4\",ocirc:\"\\xF4\",Ocy:\"\\u041E\",ocy:\"\\u043E\",odash:\"\\u229D\",Odblac:\"\\u0150\",odblac:\"\\u0151\",odiv:\"\\u2A38\",odot:\"\\u2299\",odsold:\"\\u29BC\",OElig:\"\\u0152\",oelig:\"\\u0153\",ofcir:\"\\u29BF\",Ofr:\"\\u{1D512}\",ofr:\"\\u{1D52C}\",ogon:\"\\u02DB\",Ograve:\"\\xD2\",ograve:\"\\xF2\",ogt:\"\\u29C1\",ohbar:\"\\u29B5\",ohm:\"\\u03A9\",oint:\"\\u222E\",olarr:\"\\u21BA\",olcir:\"\\u29BE\",olcross:\"\\u29BB\",oline:\"\\u203E\",olt:\"\\u29C0\",Omacr:\"\\u014C\",omacr:\"\\u014D\",Omega:\"\\u03A9\",omega:\"\\u03C9\",Omicron:\"\\u039F\",omicron:\"\\u03BF\",omid:\"\\u29B6\",ominus:\"\\u2296\",Oopf:\"\\u{1D546}\",oopf:\"\\u{1D560}\",opar:\"\\u29B7\",OpenCurlyDoubleQuote:\"\\u201C\",OpenCurlyQuote:\"\\u2018\",operp:\"\\u29B9\",oplus:\"\\u2295\",Or:\"\\u2A54\",or:\"\\u2228\",orarr:\"\\u21BB\",ord:\"\\u2A5D\",order:\"\\u2134\",orderof:\"\\u2134\",ordf:\"\\xAA\",ordm:\"\\xBA\",origof:\"\\u22B6\",oror:\"\\u2A56\",orslope:\"\\u2A57\",orv:\"\\u2A5B\",oS:\"\\u24C8\",Oscr:\"\\u{1D4AA}\",oscr:\"\\u2134\",Oslash:\"\\xD8\",oslash:\"\\xF8\",osol:\"\\u2298\",Otilde:\"\\xD5\",otilde:\"\\xF5\",Otimes:\"\\u2A37\",otimes:\"\\u2297\",otimesas:\"\\u2A36\",Ouml:\"\\xD6\",ouml:\"\\xF6\",ovbar:\"\\u233D\",OverBar:\"\\u203E\",OverBrace:\"\\u23DE\",OverBracket:\"\\u23B4\",OverParenthesis:\"\\u23DC\",par:\"\\u2225\",para:\"\\xB6\",parallel:\"\\u2225\",parsim:\"\\u2AF3\",parsl:\"\\u2AFD\",part:\"\\u2202\",PartialD:\"\\u2202\",Pcy:\"\\u041F\",pcy:\"\\u043F\",percnt:\"%\",period:\".\",permil:\"\\u2030\",perp:\"\\u22A5\",pertenk:\"\\u2031\",Pfr:\"\\u{1D513}\",pfr:\"\\u{1D52D}\",Phi:\"\\u03A6\",phi:\"\\u03C6\",phiv:\"\\u03D5\",phmmat:\"\\u2133\",phone:\"\\u260E\",Pi:\"\\u03A0\",pi:\"\\u03C0\",pitchfork:\"\\u22D4\",piv:\"\\u03D6\",planck:\"\\u210F\",planckh:\"\\u210E\",plankv:\"\\u210F\",plus:\"+\",plusacir:\"\\u2A23\",plusb:\"\\u229E\",pluscir:\"\\u2A22\",plusdo:\"\\u2214\",plusdu:\"\\u2A25\",pluse:\"\\u2A72\",PlusMinus:\"\\xB1\",plusmn:\"\\xB1\",plussim:\"\\u2A26\",plustwo:\"\\u2A27\",pm:\"\\xB1\",Poincareplane:\"\\u210C\",pointint:\"\\u2A15\",Popf:\"\\u2119\",popf:\"\\u{1D561}\",pound:\"\\xA3\",Pr:\"\\u2ABB\",pr:\"\\u227A\",prap:\"\\u2AB7\",prcue:\"\\u227C\",prE:\"\\u2AB3\",pre:\"\\u2AAF\",prec:\"\\u227A\",precapprox:\"\\u2AB7\",preccurlyeq:\"\\u227C\",Precedes:\"\\u227A\",PrecedesEqual:\"\\u2AAF\",PrecedesSlantEqual:\"\\u227C\",PrecedesTilde:\"\\u227E\",preceq:\"\\u2AAF\",precnapprox:\"\\u2AB9\",precneqq:\"\\u2AB5\",precnsim:\"\\u22E8\",precsim:\"\\u227E\",Prime:\"\\u2033\",prime:\"\\u2032\",primes:\"\\u2119\",prnap:\"\\u2AB9\",prnE:\"\\u2AB5\",prnsim:\"\\u22E8\",prod:\"\\u220F\",Product:\"\\u220F\",profalar:\"\\u232E\",profline:\"\\u2312\",profsurf:\"\\u2313\",prop:\"\\u221D\",Proportion:\"\\u2237\",Proportional:\"\\u221D\",propto:\"\\u221D\",prsim:\"\\u227E\",prurel:\"\\u22B0\",Pscr:\"\\u{1D4AB}\",pscr:\"\\u{1D4C5}\",Psi:\"\\u03A8\",psi:\"\\u03C8\",puncsp:\"\\u2008\",Qfr:\"\\u{1D514}\",qfr:\"\\u{1D52E}\",qint:\"\\u2A0C\",Qopf:\"\\u211A\",qopf:\"\\u{1D562}\",qprime:\"\\u2057\",Qscr:\"\\u{1D4AC}\",qscr:\"\\u{1D4C6}\",quaternions:\"\\u210D\",quatint:\"\\u2A16\",quest:\"?\",questeq:\"\\u225F\",QUOT:'\"',quot:'\"',rAarr:\"\\u21DB\",race:\"\\u223D\\u0331\",Racute:\"\\u0154\",racute:\"\\u0155\",radic:\"\\u221A\",raemptyv:\"\\u29B3\",Rang:\"\\u27EB\",rang:\"\\u27E9\",rangd:\"\\u2992\",range:\"\\u29A5\",rangle:\"\\u27E9\",raquo:\"\\xBB\",Rarr:\"\\u21A0\",rArr:\"\\u21D2\",rarr:\"\\u2192\",rarrap:\"\\u2975\",rarrb:\"\\u21E5\",rarrbfs:\"\\u2920\",rarrc:\"\\u2933\",rarrfs:\"\\u291E\",rarrhk:\"\\u21AA\",rarrlp:\"\\u21AC\",rarrpl:\"\\u2945\",rarrsim:\"\\u2974\",Rarrtl:\"\\u2916\",rarrtl:\"\\u21A3\",rarrw:\"\\u219D\",rAtail:\"\\u291C\",ratail:\"\\u291A\",ratio:\"\\u2236\",rationals:\"\\u211A\",RBarr:\"\\u2910\",rBarr:\"\\u290F\",rbarr:\"\\u290D\",rbbrk:\"\\u2773\",rbrace:\"}\",rbrack:\"]\",rbrke:\"\\u298C\",rbrksld:\"\\u298E\",rbrkslu:\"\\u2990\",Rcaron:\"\\u0158\",rcaron:\"\\u0159\",Rcedil:\"\\u0156\",rcedil:\"\\u0157\",rceil:\"\\u2309\",rcub:\"}\",Rcy:\"\\u0420\",rcy:\"\\u0440\",rdca:\"\\u2937\",rdldhar:\"\\u2969\",rdquo:\"\\u201D\",rdquor:\"\\u201D\",rdsh:\"\\u21B3\",Re:\"\\u211C\",real:\"\\u211C\",realine:\"\\u211B\",realpart:\"\\u211C\",reals:\"\\u211D\",rect:\"\\u25AD\",REG:\"\\xAE\",reg:\"\\xAE\",ReverseElement:\"\\u220B\",ReverseEquilibrium:\"\\u21CB\",ReverseUpEquilibrium:\"\\u296F\",rfisht:\"\\u297D\",rfloor:\"\\u230B\",Rfr:\"\\u211C\",rfr:\"\\u{1D52F}\",rHar:\"\\u2964\",rhard:\"\\u21C1\",rharu:\"\\u21C0\",rharul:\"\\u296C\",Rho:\"\\u03A1\",rho:\"\\u03C1\",rhov:\"\\u03F1\",RightAngleBracket:\"\\u27E9\",RightArrow:\"\\u2192\",Rightarrow:\"\\u21D2\",rightarrow:\"\\u2192\",RightArrowBar:\"\\u21E5\",RightArrowLeftArrow:\"\\u21C4\",rightarrowtail:\"\\u21A3\",RightCeiling:\"\\u2309\",RightDoubleBracket:\"\\u27E7\",RightDownTeeVector:\"\\u295D\",RightDownVector:\"\\u21C2\",RightDownVectorBar:\"\\u2955\",RightFloor:\"\\u230B\",rightharpoondown:\"\\u21C1\",rightharpoonup:\"\\u21C0\",rightleftarrows:\"\\u21C4\",rightleftharpoons:\"\\u21CC\",rightrightarrows:\"\\u21C9\",rightsquigarrow:\"\\u219D\",RightTee:\"\\u22A2\",RightTeeArrow:\"\\u21A6\",RightTeeVector:\"\\u295B\",rightthreetimes:\"\\u22CC\",RightTriangle:\"\\u22B3\",RightTriangleBar:\"\\u29D0\",RightTriangleEqual:\"\\u22B5\",RightUpDownVector:\"\\u294F\",RightUpTeeVector:\"\\u295C\",RightUpVector:\"\\u21BE\",RightUpVectorBar:\"\\u2954\",RightVector:\"\\u21C0\",RightVectorBar:\"\\u2953\",ring:\"\\u02DA\",risingdotseq:\"\\u2253\",rlarr:\"\\u21C4\",rlhar:\"\\u21CC\",rlm:\"\\u200F\",rmoust:\"\\u23B1\",rmoustache:\"\\u23B1\",rnmid:\"\\u2AEE\",roang:\"\\u27ED\",roarr:\"\\u21FE\",robrk:\"\\u27E7\",ropar:\"\\u2986\",Ropf:\"\\u211D\",ropf:\"\\u{1D563}\",roplus:\"\\u2A2E\",rotimes:\"\\u2A35\",RoundImplies:\"\\u2970\",rpar:\")\",rpargt:\"\\u2994\",rppolint:\"\\u2A12\",rrarr:\"\\u21C9\",Rrightarrow:\"\\u21DB\",rsaquo:\"\\u203A\",Rscr:\"\\u211B\",rscr:\"\\u{1D4C7}\",Rsh:\"\\u21B1\",rsh:\"\\u21B1\",rsqb:\"]\",rsquo:\"\\u2019\",rsquor:\"\\u2019\",rthree:\"\\u22CC\",rtimes:\"\\u22CA\",rtri:\"\\u25B9\",rtrie:\"\\u22B5\",rtrif:\"\\u25B8\",rtriltri:\"\\u29CE\",RuleDelayed:\"\\u29F4\",ruluhar:\"\\u2968\",rx:\"\\u211E\",Sacute:\"\\u015A\",sacute:\"\\u015B\",sbquo:\"\\u201A\",Sc:\"\\u2ABC\",sc:\"\\u227B\",scap:\"\\u2AB8\",Scaron:\"\\u0160\",scaron:\"\\u0161\",sccue:\"\\u227D\",scE:\"\\u2AB4\",sce:\"\\u2AB0\",Scedil:\"\\u015E\",scedil:\"\\u015F\",Scirc:\"\\u015C\",scirc:\"\\u015D\",scnap:\"\\u2ABA\",scnE:\"\\u2AB6\",scnsim:\"\\u22E9\",scpolint:\"\\u2A13\",scsim:\"\\u227F\",Scy:\"\\u0421\",scy:\"\\u0441\",sdot:\"\\u22C5\",sdotb:\"\\u22A1\",sdote:\"\\u2A66\",searhk:\"\\u2925\",seArr:\"\\u21D8\",searr:\"\\u2198\",searrow:\"\\u2198\",sect:\"\\xA7\",semi:\";\",seswar:\"\\u2929\",setminus:\"\\u2216\",setmn:\"\\u2216\",sext:\"\\u2736\",Sfr:\"\\u{1D516}\",sfr:\"\\u{1D530}\",sfrown:\"\\u2322\",sharp:\"\\u266F\",SHCHcy:\"\\u0429\",shchcy:\"\\u0449\",SHcy:\"\\u0428\",shcy:\"\\u0448\",ShortDownArrow:\"\\u2193\",ShortLeftArrow:\"\\u2190\",shortmid:\"\\u2223\",shortparallel:\"\\u2225\",ShortRightArrow:\"\\u2192\",ShortUpArrow:\"\\u2191\",shy:\"\\xAD\",Sigma:\"\\u03A3\",sigma:\"\\u03C3\",sigmaf:\"\\u03C2\",sigmav:\"\\u03C2\",sim:\"\\u223C\",simdot:\"\\u2A6A\",sime:\"\\u2243\",simeq:\"\\u2243\",simg:\"\\u2A9E\",simgE:\"\\u2AA0\",siml:\"\\u2A9D\",simlE:\"\\u2A9F\",simne:\"\\u2246\",simplus:\"\\u2A24\",simrarr:\"\\u2972\",slarr:\"\\u2190\",SmallCircle:\"\\u2218\",smallsetminus:\"\\u2216\",smashp:\"\\u2A33\",smeparsl:\"\\u29E4\",smid:\"\\u2223\",smile:\"\\u2323\",smt:\"\\u2AAA\",smte:\"\\u2AAC\",smtes:\"\\u2AAC\\uFE00\",SOFTcy:\"\\u042C\",softcy:\"\\u044C\",sol:\"/\",solb:\"\\u29C4\",solbar:\"\\u233F\",Sopf:\"\\u{1D54A}\",sopf:\"\\u{1D564}\",spades:\"\\u2660\",spadesuit:\"\\u2660\",spar:\"\\u2225\",sqcap:\"\\u2293\",sqcaps:\"\\u2293\\uFE00\",sqcup:\"\\u2294\",sqcups:\"\\u2294\\uFE00\",Sqrt:\"\\u221A\",sqsub:\"\\u228F\",sqsube:\"\\u2291\",sqsubset:\"\\u228F\",sqsubseteq:\"\\u2291\",sqsup:\"\\u2290\",sqsupe:\"\\u2292\",sqsupset:\"\\u2290\",sqsupseteq:\"\\u2292\",squ:\"\\u25A1\",Square:\"\\u25A1\",square:\"\\u25A1\",SquareIntersection:\"\\u2293\",SquareSubset:\"\\u228F\",SquareSubsetEqual:\"\\u2291\",SquareSuperset:\"\\u2290\",SquareSupersetEqual:\"\\u2292\",SquareUnion:\"\\u2294\",squarf:\"\\u25AA\",squf:\"\\u25AA\",srarr:\"\\u2192\",Sscr:\"\\u{1D4AE}\",sscr:\"\\u{1D4C8}\",ssetmn:\"\\u2216\",ssmile:\"\\u2323\",sstarf:\"\\u22C6\",Star:\"\\u22C6\",star:\"\\u2606\",starf:\"\\u2605\",straightepsilon:\"\\u03F5\",straightphi:\"\\u03D5\",strns:\"\\xAF\",Sub:\"\\u22D0\",sub:\"\\u2282\",subdot:\"\\u2ABD\",subE:\"\\u2AC5\",sube:\"\\u2286\",subedot:\"\\u2AC3\",submult:\"\\u2AC1\",subnE:\"\\u2ACB\",subne:\"\\u228A\",subplus:\"\\u2ABF\",subrarr:\"\\u2979\",Subset:\"\\u22D0\",subset:\"\\u2282\",subseteq:\"\\u2286\",subseteqq:\"\\u2AC5\",SubsetEqual:\"\\u2286\",subsetneq:\"\\u228A\",subsetneqq:\"\\u2ACB\",subsim:\"\\u2AC7\",subsub:\"\\u2AD5\",subsup:\"\\u2AD3\",succ:\"\\u227B\",succapprox:\"\\u2AB8\",succcurlyeq:\"\\u227D\",Succeeds:\"\\u227B\",SucceedsEqual:\"\\u2AB0\",SucceedsSlantEqual:\"\\u227D\",SucceedsTilde:\"\\u227F\",succeq:\"\\u2AB0\",succnapprox:\"\\u2ABA\",succneqq:\"\\u2AB6\",succnsim:\"\\u22E9\",succsim:\"\\u227F\",SuchThat:\"\\u220B\",Sum:\"\\u2211\",sum:\"\\u2211\",sung:\"\\u266A\",Sup:\"\\u22D1\",sup:\"\\u2283\",sup1:\"\\xB9\",sup2:\"\\xB2\",sup3:\"\\xB3\",supdot:\"\\u2ABE\",supdsub:\"\\u2AD8\",supE:\"\\u2AC6\",supe:\"\\u2287\",supedot:\"\\u2AC4\",Superset:\"\\u2283\",SupersetEqual:\"\\u2287\",suphsol:\"\\u27C9\",suphsub:\"\\u2AD7\",suplarr:\"\\u297B\",supmult:\"\\u2AC2\",supnE:\"\\u2ACC\",supne:\"\\u228B\",supplus:\"\\u2AC0\",Supset:\"\\u22D1\",supset:\"\\u2283\",supseteq:\"\\u2287\",supseteqq:\"\\u2AC6\",supsetneq:\"\\u228B\",supsetneqq:\"\\u2ACC\",supsim:\"\\u2AC8\",supsub:\"\\u2AD4\",supsup:\"\\u2AD6\",swarhk:\"\\u2926\",swArr:\"\\u21D9\",swarr:\"\\u2199\",swarrow:\"\\u2199\",swnwar:\"\\u292A\",szlig:\"\\xDF\",Tab:\"\t\",target:\"\\u2316\",Tau:\"\\u03A4\",tau:\"\\u03C4\",tbrk:\"\\u23B4\",Tcaron:\"\\u0164\",tcaron:\"\\u0165\",Tcedil:\"\\u0162\",tcedil:\"\\u0163\",Tcy:\"\\u0422\",tcy:\"\\u0442\",tdot:\"\\u20DB\",telrec:\"\\u2315\",Tfr:\"\\u{1D517}\",tfr:\"\\u{1D531}\",there4:\"\\u2234\",Therefore:\"\\u2234\",therefore:\"\\u2234\",Theta:\"\\u0398\",theta:\"\\u03B8\",thetasym:\"\\u03D1\",thetav:\"\\u03D1\",thickapprox:\"\\u2248\",thicksim:\"\\u223C\",ThickSpace:\"\\u205F\\u200A\",thinsp:\"\\u2009\",ThinSpace:\"\\u2009\",thkap:\"\\u2248\",thksim:\"\\u223C\",THORN:\"\\xDE\",thorn:\"\\xFE\",Tilde:\"\\u223C\",tilde:\"\\u02DC\",TildeEqual:\"\\u2243\",TildeFullEqual:\"\\u2245\",TildeTilde:\"\\u2248\",times:\"\\xD7\",timesb:\"\\u22A0\",timesbar:\"\\u2A31\",timesd:\"\\u2A30\",tint:\"\\u222D\",toea:\"\\u2928\",top:\"\\u22A4\",topbot:\"\\u2336\",topcir:\"\\u2AF1\",Topf:\"\\u{1D54B}\",topf:\"\\u{1D565}\",topfork:\"\\u2ADA\",tosa:\"\\u2929\",tprime:\"\\u2034\",TRADE:\"\\u2122\",trade:\"\\u2122\",triangle:\"\\u25B5\",triangledown:\"\\u25BF\",triangleleft:\"\\u25C3\",trianglelefteq:\"\\u22B4\",triangleq:\"\\u225C\",triangleright:\"\\u25B9\",trianglerighteq:\"\\u22B5\",tridot:\"\\u25EC\",trie:\"\\u225C\",triminus:\"\\u2A3A\",TripleDot:\"\\u20DB\",triplus:\"\\u2A39\",trisb:\"\\u29CD\",tritime:\"\\u2A3B\",trpezium:\"\\u23E2\",Tscr:\"\\u{1D4AF}\",tscr:\"\\u{1D4C9}\",TScy:\"\\u0426\",tscy:\"\\u0446\",TSHcy:\"\\u040B\",tshcy:\"\\u045B\",Tstrok:\"\\u0166\",tstrok:\"\\u0167\",twixt:\"\\u226C\",twoheadleftarrow:\"\\u219E\",twoheadrightarrow:\"\\u21A0\",Uacute:\"\\xDA\",uacute:\"\\xFA\",Uarr:\"\\u219F\",uArr:\"\\u21D1\",uarr:\"\\u2191\",Uarrocir:\"\\u2949\",Ubrcy:\"\\u040E\",ubrcy:\"\\u045E\",Ubreve:\"\\u016C\",ubreve:\"\\u016D\",Ucirc:\"\\xDB\",ucirc:\"\\xFB\",Ucy:\"\\u0423\",ucy:\"\\u0443\",udarr:\"\\u21C5\",Udblac:\"\\u0170\",udblac:\"\\u0171\",udhar:\"\\u296E\",ufisht:\"\\u297E\",Ufr:\"\\u{1D518}\",ufr:\"\\u{1D532}\",Ugrave:\"\\xD9\",ugrave:\"\\xF9\",uHar:\"\\u2963\",uharl:\"\\u21BF\",uharr:\"\\u21BE\",uhblk:\"\\u2580\",ulcorn:\"\\u231C\",ulcorner:\"\\u231C\",ulcrop:\"\\u230F\",ultri:\"\\u25F8\",Umacr:\"\\u016A\",umacr:\"\\u016B\",uml:\"\\xA8\",UnderBar:\"_\",UnderBrace:\"\\u23DF\",UnderBracket:\"\\u23B5\",UnderParenthesis:\"\\u23DD\",Union:\"\\u22C3\",UnionPlus:\"\\u228E\",Uogon:\"\\u0172\",uogon:\"\\u0173\",Uopf:\"\\u{1D54C}\",uopf:\"\\u{1D566}\",UpArrow:\"\\u2191\",Uparrow:\"\\u21D1\",uparrow:\"\\u2191\",UpArrowBar:\"\\u2912\",UpArrowDownArrow:\"\\u21C5\",UpDownArrow:\"\\u2195\",Updownarrow:\"\\u21D5\",updownarrow:\"\\u2195\",UpEquilibrium:\"\\u296E\",upharpoonleft:\"\\u21BF\",upharpoonright:\"\\u21BE\",uplus:\"\\u228E\",UpperLeftArrow:\"\\u2196\",UpperRightArrow:\"\\u2197\",Upsi:\"\\u03D2\",upsi:\"\\u03C5\",upsih:\"\\u03D2\",Upsilon:\"\\u03A5\",upsilon:\"\\u03C5\",UpTee:\"\\u22A5\",UpTeeArrow:\"\\u21A5\",upuparrows:\"\\u21C8\",urcorn:\"\\u231D\",urcorner:\"\\u231D\",urcrop:\"\\u230E\",Uring:\"\\u016E\",uring:\"\\u016F\",urtri:\"\\u25F9\",Uscr:\"\\u{1D4B0}\",uscr:\"\\u{1D4CA}\",utdot:\"\\u22F0\",Utilde:\"\\u0168\",utilde:\"\\u0169\",utri:\"\\u25B5\",utrif:\"\\u25B4\",uuarr:\"\\u21C8\",Uuml:\"\\xDC\",uuml:\"\\xFC\",uwangle:\"\\u29A7\",vangrt:\"\\u299C\",varepsilon:\"\\u03F5\",varkappa:\"\\u03F0\",varnothing:\"\\u2205\",varphi:\"\\u03D5\",varpi:\"\\u03D6\",varpropto:\"\\u221D\",vArr:\"\\u21D5\",varr:\"\\u2195\",varrho:\"\\u03F1\",varsigma:\"\\u03C2\",varsubsetneq:\"\\u228A\\uFE00\",varsubsetneqq:\"\\u2ACB\\uFE00\",varsupsetneq:\"\\u228B\\uFE00\",varsupsetneqq:\"\\u2ACC\\uFE00\",vartheta:\"\\u03D1\",vartriangleleft:\"\\u22B2\",vartriangleright:\"\\u22B3\",Vbar:\"\\u2AEB\",vBar:\"\\u2AE8\",vBarv:\"\\u2AE9\",Vcy:\"\\u0412\",vcy:\"\\u0432\",VDash:\"\\u22AB\",Vdash:\"\\u22A9\",vDash:\"\\u22A8\",vdash:\"\\u22A2\",Vdashl:\"\\u2AE6\",Vee:\"\\u22C1\",vee:\"\\u2228\",veebar:\"\\u22BB\",veeeq:\"\\u225A\",vellip:\"\\u22EE\",Verbar:\"\\u2016\",verbar:\"|\",Vert:\"\\u2016\",vert:\"|\",VerticalBar:\"\\u2223\",VerticalLine:\"|\",VerticalSeparator:\"\\u2758\",VerticalTilde:\"\\u2240\",VeryThinSpace:\"\\u200A\",Vfr:\"\\u{1D519}\",vfr:\"\\u{1D533}\",vltri:\"\\u22B2\",vnsub:\"\\u2282\\u20D2\",vnsup:\"\\u2283\\u20D2\",Vopf:\"\\u{1D54D}\",vopf:\"\\u{1D567}\",vprop:\"\\u221D\",vrtri:\"\\u22B3\",Vscr:\"\\u{1D4B1}\",vscr:\"\\u{1D4CB}\",vsubnE:\"\\u2ACB\\uFE00\",vsubne:\"\\u228A\\uFE00\",vsupnE:\"\\u2ACC\\uFE00\",vsupne:\"\\u228B\\uFE00\",Vvdash:\"\\u22AA\",vzigzag:\"\\u299A\",Wcirc:\"\\u0174\",wcirc:\"\\u0175\",wedbar:\"\\u2A5F\",Wedge:\"\\u22C0\",wedge:\"\\u2227\",wedgeq:\"\\u2259\",weierp:\"\\u2118\",Wfr:\"\\u{1D51A}\",wfr:\"\\u{1D534}\",Wopf:\"\\u{1D54E}\",wopf:\"\\u{1D568}\",wp:\"\\u2118\",wr:\"\\u2240\",wreath:\"\\u2240\",Wscr:\"\\u{1D4B2}\",wscr:\"\\u{1D4CC}\",xcap:\"\\u22C2\",xcirc:\"\\u25EF\",xcup:\"\\u22C3\",xdtri:\"\\u25BD\",Xfr:\"\\u{1D51B}\",xfr:\"\\u{1D535}\",xhArr:\"\\u27FA\",xharr:\"\\u27F7\",Xi:\"\\u039E\",xi:\"\\u03BE\",xlArr:\"\\u27F8\",xlarr:\"\\u27F5\",xmap:\"\\u27FC\",xnis:\"\\u22FB\",xodot:\"\\u2A00\",Xopf:\"\\u{1D54F}\",xopf:\"\\u{1D569}\",xoplus:\"\\u2A01\",xotime:\"\\u2A02\",xrArr:\"\\u27F9\",xrarr:\"\\u27F6\",Xscr:\"\\u{1D4B3}\",xscr:\"\\u{1D4CD}\",xsqcup:\"\\u2A06\",xuplus:\"\\u2A04\",xutri:\"\\u25B3\",xvee:\"\\u22C1\",xwedge:\"\\u22C0\",Yacute:\"\\xDD\",yacute:\"\\xFD\",YAcy:\"\\u042F\",yacy:\"\\u044F\",Ycirc:\"\\u0176\",ycirc:\"\\u0177\",Ycy:\"\\u042B\",ycy:\"\\u044B\",yen:\"\\xA5\",Yfr:\"\\u{1D51C}\",yfr:\"\\u{1D536}\",YIcy:\"\\u0407\",yicy:\"\\u0457\",Yopf:\"\\u{1D550}\",yopf:\"\\u{1D56A}\",Yscr:\"\\u{1D4B4}\",yscr:\"\\u{1D4CE}\",YUcy:\"\\u042E\",yucy:\"\\u044E\",Yuml:\"\\u0178\",yuml:\"\\xFF\",Zacute:\"\\u0179\",zacute:\"\\u017A\",Zcaron:\"\\u017D\",zcaron:\"\\u017E\",Zcy:\"\\u0417\",zcy:\"\\u0437\",Zdot:\"\\u017B\",zdot:\"\\u017C\",zeetrf:\"\\u2128\",ZeroWidthSpace:\"\\u200B\",Zeta:\"\\u0396\",zeta:\"\\u03B6\",Zfr:\"\\u2128\",zfr:\"\\u{1D537}\",ZHcy:\"\\u0416\",zhcy:\"\\u0436\",zigrarr:\"\\u21DD\",Zopf:\"\\u2124\",zopf:\"\\u{1D56B}\",Zscr:\"\\u{1D4B5}\",zscr:\"\\u{1D4CF}\",zwj:\"\\u200D\",zwnj:\"\\u200C\"},Xx.NGSP_UNICODE=\"\\uE500\",Xx.NAMED_ENTITIES.ngsp=Xx.NGSP_UNICODE});/**\n\t * @license\n\t * Copyright Google Inc. All Rights Reserved.\n\t *\n\t * Use of this source code is governed by an MIT-style license that can be\n\t * found in the LICENSE file at https://angular.io/license\n\t */class gi{constructor({closedByChildren:Xx,implicitNamespacePrefix:Ee,contentType:at=_r.TagContentType.PARSABLE_DATA,closedByParent:cn=!1,isVoid:Bn=!1,ignoreFirstLf:ao=!1}={}){this.closedByChildren={},this.closedByParent=!1,this.canSelfClose=!1,Xx&&Xx.length>0&&Xx.forEach(go=>this.closedByChildren[go]=!0),this.isVoid=Bn,this.closedByParent=cn||Bn,this.implicitNamespacePrefix=Ee||null,this.contentType=at,this.ignoreFirstLf=ao}isClosedByChild(Xx){return this.isVoid||Xx.toLowerCase()in this.closedByChildren}}var je=gi;let Gu,io;var ss=function(kx){return io||(Gu=new gi,io={base:new gi({isVoid:!0}),meta:new gi({isVoid:!0}),area:new gi({isVoid:!0}),embed:new gi({isVoid:!0}),link:new gi({isVoid:!0}),img:new gi({isVoid:!0}),input:new gi({isVoid:!0}),param:new gi({isVoid:!0}),hr:new gi({isVoid:!0}),br:new gi({isVoid:!0}),source:new gi({isVoid:!0}),track:new gi({isVoid:!0}),wbr:new gi({isVoid:!0}),p:new gi({closedByChildren:[\"address\",\"article\",\"aside\",\"blockquote\",\"div\",\"dl\",\"fieldset\",\"footer\",\"form\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"header\",\"hgroup\",\"hr\",\"main\",\"nav\",\"ol\",\"p\",\"pre\",\"section\",\"table\",\"ul\"],closedByParent:!0}),thead:new gi({closedByChildren:[\"tbody\",\"tfoot\"]}),tbody:new gi({closedByChildren:[\"tbody\",\"tfoot\"],closedByParent:!0}),tfoot:new gi({closedByChildren:[\"tbody\"],closedByParent:!0}),tr:new gi({closedByChildren:[\"tr\"],closedByParent:!0}),td:new gi({closedByChildren:[\"td\",\"th\"],closedByParent:!0}),th:new gi({closedByChildren:[\"td\",\"th\"],closedByParent:!0}),col:new gi({isVoid:!0}),svg:new gi({implicitNamespacePrefix:\"svg\"}),math:new gi({implicitNamespacePrefix:\"math\"}),li:new gi({closedByChildren:[\"li\"],closedByParent:!0}),dt:new gi({closedByChildren:[\"dt\",\"dd\"]}),dd:new gi({closedByChildren:[\"dt\",\"dd\"],closedByParent:!0}),rb:new gi({closedByChildren:[\"rb\",\"rt\",\"rtc\",\"rp\"],closedByParent:!0}),rt:new gi({closedByChildren:[\"rb\",\"rt\",\"rtc\",\"rp\"],closedByParent:!0}),rtc:new gi({closedByChildren:[\"rb\",\"rtc\",\"rp\"],closedByParent:!0}),rp:new gi({closedByChildren:[\"rb\",\"rt\",\"rtc\",\"rp\"],closedByParent:!0}),optgroup:new gi({closedByChildren:[\"optgroup\"],closedByParent:!0}),option:new gi({closedByChildren:[\"option\",\"optgroup\"],closedByParent:!0}),pre:new gi({ignoreFirstLf:!0}),listing:new gi({ignoreFirstLf:!0}),style:new gi({contentType:_r.TagContentType.RAW_TEXT}),script:new gi({contentType:_r.TagContentType.RAW_TEXT}),title:new gi({contentType:_r.TagContentType.ESCAPABLE_RAW_TEXT}),textarea:new gi({contentType:_r.TagContentType.ESCAPABLE_RAW_TEXT,ignoreFirstLf:!0})}),io[kx]||Gu},to=Object.defineProperty({HtmlTagDefinition:je,getHtmlTagDefinition:ss},\"__esModule\",{value:!0}),Ma=class{constructor(kx,Xx=-1){this.path=kx,this.position=Xx}get empty(){return!this.path||!this.path.length}get head(){return this.path[0]}get tail(){return this.path[this.path.length-1]}parentOf(kx){return kx&&this.path[this.path.indexOf(kx)-1]}childOf(kx){return this.path[this.path.indexOf(kx)+1]}first(kx){for(let Xx=this.path.length-1;Xx>=0;Xx--){let Ee=this.path[Xx];if(Ee instanceof kx)return Ee}}push(kx){this.path.push(kx)}pop(){return this.path.pop()}},Ks=Object.defineProperty({AstPath:Ma},\"__esModule\",{value:!0}),Qa=class{constructor(kx,Xx,Ee){this.value=kx,this.sourceSpan=Xx,this.i18n=Ee,this.type=\"text\"}visit(kx,Xx){return kx.visitText(this,Xx)}},Wc=class{constructor(kx,Xx){this.value=kx,this.sourceSpan=Xx,this.type=\"cdata\"}visit(kx,Xx){return kx.visitCdata(this,Xx)}},la=class{constructor(kx,Xx,Ee,at,cn,Bn){this.switchValue=kx,this.type=Xx,this.cases=Ee,this.sourceSpan=at,this.switchValueSourceSpan=cn,this.i18n=Bn}visit(kx,Xx){return kx.visitExpansion(this,Xx)}},Af=class{constructor(kx,Xx,Ee,at,cn){this.value=kx,this.expression=Xx,this.sourceSpan=Ee,this.valueSourceSpan=at,this.expSourceSpan=cn}visit(kx,Xx){return kx.visitExpansionCase(this,Xx)}},so=class{constructor(kx,Xx,Ee,at=null,cn=null,Bn=null){this.name=kx,this.value=Xx,this.sourceSpan=Ee,this.valueSpan=at,this.nameSpan=cn,this.i18n=Bn,this.type=\"attribute\"}visit(kx,Xx){return kx.visitAttribute(this,Xx)}};class qu{constructor(Xx,Ee,at,cn,Bn=null,ao=null,go=null,gu=null){this.name=Xx,this.attrs=Ee,this.children=at,this.sourceSpan=cn,this.startSourceSpan=Bn,this.endSourceSpan=ao,this.nameSpan=go,this.i18n=gu,this.type=\"element\"}visit(Xx,Ee){return Xx.visitElement(this,Ee)}}var lf=qu,uu=class{constructor(kx,Xx){this.value=kx,this.sourceSpan=Xx,this.type=\"comment\"}visit(kx,Xx){return kx.visitComment(this,Xx)}},ud=class{constructor(kx,Xx){this.value=kx,this.sourceSpan=Xx,this.type=\"docType\"}visit(kx,Xx){return kx.visitDocType(this,Xx)}};function fm(kx,Xx,Ee=null){const at=[],cn=kx.visit?Bn=>kx.visit(Bn,Ee)||Bn.visit(kx,Ee):Bn=>Bn.visit(kx,Ee);return Xx.forEach(Bn=>{const ao=cn(Bn);ao&&at.push(ao)}),at}var w2=fm;class US{constructor(){}visitElement(Xx,Ee){this.visitChildren(Ee,at=>{at(Xx.attrs),at(Xx.children)})}visitAttribute(Xx,Ee){}visitText(Xx,Ee){}visitCdata(Xx,Ee){}visitComment(Xx,Ee){}visitDocType(Xx,Ee){}visitExpansion(Xx,Ee){return this.visitChildren(Ee,at=>{at(Xx.cases)})}visitExpansionCase(Xx,Ee){}visitChildren(Xx,Ee){let at=[],cn=this;return Ee(function(Bn){Bn&&at.push(fm(cn,Bn,Xx))}),Array.prototype.concat.apply([],at)}}var j8=US;function tE(kx){const Xx=kx.sourceSpan.start.offset;let Ee=kx.sourceSpan.end.offset;return kx instanceof qu&&(kx.endSourceSpan?Ee=kx.endSourceSpan.end.offset:kx.children&&kx.children.length&&(Ee=tE(kx.children[kx.children.length-1]).end)),{start:Xx,end:Ee}}var U8=function(kx,Xx){const Ee=[];return fm(new class extends US{visit(at,cn){const Bn=tE(at);if(!(Bn.start<=Xx&&Xx<Bn.end))return!0;Ee.push(at)}},kx),new Ks.AstPath(Ee,Xx)},xp=Object.defineProperty({Text:Qa,CDATA:Wc,Expansion:la,ExpansionCase:Af,Attribute:so,Element:lf,Comment:uu,DocType:ud,visitAll:w2,RecursiveVisitor:j8,findNode:U8},\"__esModule\",{value:!0}),tw=function(kx,Xx){if(Xx!=null){if(!Array.isArray(Xx))throw new Error(`Expected '${kx}' to be an array of strings.`);for(let Ee=0;Ee<Xx.length;Ee+=1)if(typeof Xx[Ee]!=\"string\")throw new Error(`Expected '${kx}' to be an array of strings.`)}};const _4=[/^\\s*$/,/[<>]/,/^[{}]$/,/&(#|[a-z])/i,/^\\/\\//];var rw=function(kx,Xx){if(!(Xx==null||Array.isArray(Xx)&&Xx.length==2))throw new Error(`Expected '${kx}' to be an array, [start, end].`);if(Xx!=null){const Ee=Xx[0],at=Xx[1];_4.forEach(cn=>{if(cn.test(Ee)||cn.test(at))throw new Error(`['${Ee}', '${at}'] contains unusable interpolation symbol.`)})}},kF=Object.defineProperty({assertArrayOfStrings:tw,assertInterpolationSymbols:rw},\"__esModule\",{value:!0}),i5=b(function(kx,Xx){/**\n\t   * @license\n\t   * Copyright Google Inc. All Rights Reserved.\n\t   *\n\t   * Use of this source code is governed by an MIT-style license that can be\n\t   * found in the LICENSE file at https://angular.io/license\n\t   */Object.defineProperty(Xx,\"__esModule\",{value:!0});class Ee{constructor(cn,Bn){this.start=cn,this.end=Bn}static fromArray(cn){return cn?(kF.assertInterpolationSymbols(\"interpolation\",cn),new Ee(cn[0],cn[1])):Xx.DEFAULT_INTERPOLATION_CONFIG}}Xx.InterpolationConfig=Ee,Xx.DEFAULT_INTERPOLATION_CONFIG=new Ee(\"{{\",\"}}\")}),Um=b(function(kx,Xx){/**\n\t   * @license\n\t   * Copyright Google Inc. All Rights Reserved.\n\t   *\n\t   * Use of this source code is governed by an MIT-style license that can be\n\t   * found in the LICENSE file at https://angular.io/license\n\t   */Object.defineProperty(Xx,\"__esModule\",{value:!0});const Ee=R;var at;(function(Gs){Gs[Gs.TAG_OPEN_START=0]=\"TAG_OPEN_START\",Gs[Gs.TAG_OPEN_END=1]=\"TAG_OPEN_END\",Gs[Gs.TAG_OPEN_END_VOID=2]=\"TAG_OPEN_END_VOID\",Gs[Gs.TAG_CLOSE=3]=\"TAG_CLOSE\",Gs[Gs.TEXT=4]=\"TEXT\",Gs[Gs.ESCAPABLE_RAW_TEXT=5]=\"ESCAPABLE_RAW_TEXT\",Gs[Gs.RAW_TEXT=6]=\"RAW_TEXT\",Gs[Gs.COMMENT_START=7]=\"COMMENT_START\",Gs[Gs.COMMENT_END=8]=\"COMMENT_END\",Gs[Gs.CDATA_START=9]=\"CDATA_START\",Gs[Gs.CDATA_END=10]=\"CDATA_END\",Gs[Gs.ATTR_NAME=11]=\"ATTR_NAME\",Gs[Gs.ATTR_QUOTE=12]=\"ATTR_QUOTE\",Gs[Gs.ATTR_VALUE=13]=\"ATTR_VALUE\",Gs[Gs.DOC_TYPE_START=14]=\"DOC_TYPE_START\",Gs[Gs.DOC_TYPE_END=15]=\"DOC_TYPE_END\",Gs[Gs.EXPANSION_FORM_START=16]=\"EXPANSION_FORM_START\",Gs[Gs.EXPANSION_CASE_VALUE=17]=\"EXPANSION_CASE_VALUE\",Gs[Gs.EXPANSION_CASE_EXP_START=18]=\"EXPANSION_CASE_EXP_START\",Gs[Gs.EXPANSION_CASE_EXP_END=19]=\"EXPANSION_CASE_EXP_END\",Gs[Gs.EXPANSION_FORM_END=20]=\"EXPANSION_FORM_END\",Gs[Gs.EOF=21]=\"EOF\"})(at=Xx.TokenType||(Xx.TokenType={}));class cn{constructor(ra,fo,lu){this.type=ra,this.parts=fo,this.sourceSpan=lu}}Xx.Token=cn;class Bn extends kn.ParseError{constructor(ra,fo,lu){super(lu,ra),this.tokenType=fo}}Xx.TokenError=Bn;class ao{constructor(ra,fo){this.tokens=ra,this.errors=fo}}Xx.TokenizeResult=ao,Xx.tokenize=function(Gs,ra,fo,lu={}){return new Go(new kn.ParseSourceFile(Gs,ra),fo,lu).tokenize()};const go=/\\r\\n?/g;function gu(Gs){return`Unexpected character \"${Gs===Ee.$EOF?\"EOF\":String.fromCharCode(Gs)}\"`}function cu(Gs){return`Unknown entity \"${Gs}\" - use the \"&#<decimal>;\" or  \"&#x<hex>;\" syntax`}class El{constructor(ra){this.error=ra}}class Go{constructor(ra,fo,lu){this._getTagContentType=fo,this._currentTokenStart=null,this._currentTokenType=null,this._expansionCaseStack=[],this._inInterpolation=!1,this._fullNameStack=[],this.tokens=[],this.errors=[],this._tokenizeIcu=lu.tokenizeExpansionForms||!1,this._interpolationConfig=lu.interpolationConfig||i5.DEFAULT_INTERPOLATION_CONFIG,this._leadingTriviaCodePoints=lu.leadingTriviaChars&&lu.leadingTriviaChars.map(V8=>V8.codePointAt(0)||0),this._canSelfClose=lu.canSelfClose||!1,this._allowHtmComponentClosingTags=lu.allowHtmComponentClosingTags||!1;const a2=lu.range||{endPos:ra.content.length,startPos:0,startLine:0,startCol:0};this._cursor=lu.escapedString?new Tu(ra,a2):new $l(ra,a2);try{this._cursor.init()}catch(V8){this.handleError(V8)}}_processCarriageReturns(ra){return ra.replace(go,`\n`)}tokenize(){for(;this._cursor.peek()!==Ee.$EOF;){const ra=this._cursor.clone();try{if(this._attemptCharCode(Ee.$LT))if(this._attemptCharCode(Ee.$BANG))this._attemptStr(\"[CDATA[\")?this._consumeCdata(ra):this._attemptStr(\"--\")?this._consumeComment(ra):this._attemptStrCaseInsensitive(\"doctype\")?this._consumeDocType(ra):this._consumeBogusComment(ra);else if(this._attemptCharCode(Ee.$SLASH))this._consumeTagClose(ra);else{const fo=this._cursor.clone();this._attemptCharCode(Ee.$QUESTION)?(this._cursor=fo,this._consumeBogusComment(ra)):this._consumeTagOpen(ra)}else this._tokenizeIcu&&this._tokenizeExpansionForm()||this._consumeText()}catch(fo){this.handleError(fo)}}return this._beginToken(at.EOF),this._endToken([]),new ao(function(ra){const fo=[];let lu;for(let a2=0;a2<ra.length;a2++){const V8=ra[a2];lu&&lu.type==at.TEXT&&V8.type==at.TEXT?(lu.parts[0]+=V8.parts[0],lu.sourceSpan.end=V8.sourceSpan.end):(lu=V8,fo.push(lu))}return fo}(this.tokens),this.errors)}_tokenizeExpansionForm(){if(this.isExpansionFormStart())return this._consumeExpansionFormStart(),!0;if(((ra=this._cursor.peek())===Ee.$EQ||Ee.isAsciiLetter(ra)||Ee.isDigit(ra))&&this._isInExpansionForm())return this._consumeExpansionCaseStart(),!0;var ra;if(this._cursor.peek()===Ee.$RBRACE){if(this._isInExpansionCase())return this._consumeExpansionCaseEnd(),!0;if(this._isInExpansionForm())return this._consumeExpansionFormEnd(),!0}return!1}_beginToken(ra,fo=this._cursor.clone()){this._currentTokenStart=fo,this._currentTokenType=ra}_endToken(ra,fo=this._cursor.clone()){if(this._currentTokenStart===null)throw new Bn(\"Programming error - attempted to end a token when there was no start to the token\",this._currentTokenType,this._cursor.getSpan(fo));if(this._currentTokenType===null)throw new Bn(\"Programming error - attempted to end a token which has no token type\",null,this._cursor.getSpan(this._currentTokenStart));const lu=new cn(this._currentTokenType,ra,this._cursor.getSpan(this._currentTokenStart,this._leadingTriviaCodePoints));return this.tokens.push(lu),this._currentTokenStart=null,this._currentTokenType=null,lu}_createError(ra,fo){this._isInExpansionForm()&&(ra+=` (Do you have an unescaped \"{\" in your template? Use \"{{ '{' }}\") to escape it.)`);const lu=new Bn(ra,this._currentTokenType,fo);return this._currentTokenStart=null,this._currentTokenType=null,new El(lu)}handleError(ra){if(ra instanceof yp&&(ra=this._createError(ra.msg,this._cursor.getSpan(ra.cursor))),!(ra instanceof El))throw ra;this.errors.push(ra.error)}_attemptCharCode(ra){return this._cursor.peek()===ra&&(this._cursor.advance(),!0)}_attemptCharCodeCaseInsensitive(ra){return fo=this._cursor.peek(),lu=ra,Ll(fo)==Ll(lu)&&(this._cursor.advance(),!0);var fo,lu}_requireCharCode(ra){const fo=this._cursor.clone();if(!this._attemptCharCode(ra))throw this._createError(gu(this._cursor.peek()),this._cursor.getSpan(fo))}_attemptStr(ra){const fo=ra.length;if(this._cursor.charsLeft()<fo)return!1;const lu=this._cursor.clone();for(let a2=0;a2<fo;a2++)if(!this._attemptCharCode(ra.charCodeAt(a2)))return this._cursor=lu,!1;return!0}_attemptStrCaseInsensitive(ra){for(let fo=0;fo<ra.length;fo++)if(!this._attemptCharCodeCaseInsensitive(ra.charCodeAt(fo)))return!1;return!0}_requireStr(ra){const fo=this._cursor.clone();if(!this._attemptStr(ra))throw this._createError(gu(this._cursor.peek()),this._cursor.getSpan(fo))}_requireStrCaseInsensitive(ra){const fo=this._cursor.clone();if(!this._attemptStrCaseInsensitive(ra))throw this._createError(gu(this._cursor.peek()),this._cursor.getSpan(fo))}_attemptCharCodeUntilFn(ra){for(;!ra(this._cursor.peek());)this._cursor.advance()}_requireCharCodeUntilFn(ra,fo){const lu=this._cursor.clone();if(this._attemptCharCodeUntilFn(ra),this._cursor.clone().diff(lu)<fo)throw this._createError(gu(this._cursor.peek()),this._cursor.getSpan(lu))}_attemptUntilChar(ra){for(;this._cursor.peek()!==ra;)this._cursor.advance()}_readChar(ra){if(ra&&this._cursor.peek()===Ee.$AMPERSAND)return this._decodeEntity();{const fo=String.fromCodePoint(this._cursor.peek());return this._cursor.advance(),fo}}_decodeEntity(){const ra=this._cursor.clone();if(this._cursor.advance(),!this._attemptCharCode(Ee.$HASH)){const fo=this._cursor.clone();if(this._attemptCharCodeUntilFn(ap),this._cursor.peek()!=Ee.$SEMICOLON)return this._cursor=fo,\"&\";const lu=this._cursor.getChars(fo);this._cursor.advance();const a2=_r.NAMED_ENTITIES[lu];if(!a2)throw this._createError(cu(lu),this._cursor.getSpan(ra));return a2}{const fo=this._attemptCharCode(Ee.$x)||this._attemptCharCode(Ee.$X),lu=this._cursor.clone();if(this._attemptCharCodeUntilFn(p_),this._cursor.peek()!=Ee.$SEMICOLON)throw this._createError(gu(this._cursor.peek()),this._cursor.getSpan());const a2=this._cursor.getChars(lu);this._cursor.advance();try{const V8=parseInt(a2,fo?16:10);return String.fromCharCode(V8)}catch{throw this._createError(cu(this._cursor.getChars(ra)),this._cursor.getSpan())}}}_consumeRawText(ra,fo){this._beginToken(ra?at.ESCAPABLE_RAW_TEXT:at.RAW_TEXT);const lu=[];for(;;){const a2=this._cursor.clone(),V8=fo();if(this._cursor=a2,V8)break;lu.push(this._readChar(ra))}return this._endToken([this._processCarriageReturns(lu.join(\"\"))])}_consumeComment(ra){this._beginToken(at.COMMENT_START,ra),this._endToken([]),this._consumeRawText(!1,()=>this._attemptStr(\"-->\")),this._beginToken(at.COMMENT_END),this._requireStr(\"-->\"),this._endToken([])}_consumeBogusComment(ra){this._beginToken(at.COMMENT_START,ra),this._endToken([]),this._consumeRawText(!1,()=>this._cursor.peek()===Ee.$GT),this._beginToken(at.COMMENT_END),this._cursor.advance(),this._endToken([])}_consumeCdata(ra){this._beginToken(at.CDATA_START,ra),this._endToken([]),this._consumeRawText(!1,()=>this._attemptStr(\"]]>\")),this._beginToken(at.CDATA_END),this._requireStr(\"]]>\"),this._endToken([])}_consumeDocType(ra){this._beginToken(at.DOC_TYPE_START,ra),this._endToken([]),this._consumeRawText(!1,()=>this._cursor.peek()===Ee.$GT),this._beginToken(at.DOC_TYPE_END),this._cursor.advance(),this._endToken([])}_consumePrefixAndName(){const ra=this._cursor.clone();let fo=\"\";for(;this._cursor.peek()!==Ee.$COLON&&!(((lu=this._cursor.peek())<Ee.$a||Ee.$z<lu)&&(lu<Ee.$A||Ee.$Z<lu)&&(lu<Ee.$0||lu>Ee.$9));)this._cursor.advance();var lu;let a2;return this._cursor.peek()===Ee.$COLON?(fo=this._cursor.getChars(ra),this._cursor.advance(),a2=this._cursor.clone()):a2=ra,this._requireCharCodeUntilFn(Ql,fo===\"\"?0:1),[fo,this._cursor.getChars(a2)]}_consumeTagOpen(ra){let fo,lu,a2,V8=this.tokens.length;const YF=this._cursor.clone(),T8=[];try{if(!Ee.isAsciiLetter(this._cursor.peek()))throw this._createError(gu(this._cursor.peek()),this._cursor.getSpan(ra));for(a2=this._consumeTagOpenStart(ra),lu=a2.parts[0],fo=a2.parts[1],this._attemptCharCodeUntilFn(Xu);this._cursor.peek()!==Ee.$SLASH&&this._cursor.peek()!==Ee.$GT;){const[D4,E5]=this._consumeAttributeName();if(this._attemptCharCodeUntilFn(Xu),this._attemptCharCode(Ee.$EQ)){this._attemptCharCodeUntilFn(Xu);const QF=this._consumeAttributeValue();T8.push({prefix:D4,name:E5,value:QF})}else T8.push({prefix:D4,name:E5});this._attemptCharCodeUntilFn(Xu)}this._consumeTagOpenEnd()}catch(D4){if(D4 instanceof El)return this._cursor=YF,a2&&(this.tokens.length=V8),this._beginToken(at.TEXT,ra),void this._endToken([\"<\"]);throw D4}if(this._canSelfClose&&this.tokens[this.tokens.length-1].type===at.TAG_OPEN_END_VOID)return;const Q4=this._getTagContentType(fo,lu,this._fullNameStack.length>0,T8);this._handleFullNameStackForTagOpen(lu,fo),Q4===_r.TagContentType.RAW_TEXT?this._consumeRawTextWithTagClose(lu,fo,!1):Q4===_r.TagContentType.ESCAPABLE_RAW_TEXT&&this._consumeRawTextWithTagClose(lu,fo,!0)}_consumeRawTextWithTagClose(ra,fo,lu){this._consumeRawText(lu,()=>!!this._attemptCharCode(Ee.$LT)&&!!this._attemptCharCode(Ee.$SLASH)&&(this._attemptCharCodeUntilFn(Xu),!!this._attemptStrCaseInsensitive(ra?`${ra}:${fo}`:fo)&&(this._attemptCharCodeUntilFn(Xu),this._attemptCharCode(Ee.$GT)))),this._beginToken(at.TAG_CLOSE),this._requireCharCodeUntilFn(a2=>a2===Ee.$GT,3),this._cursor.advance(),this._endToken([ra,fo]),this._handleFullNameStackForTagClose(ra,fo)}_consumeTagOpenStart(ra){this._beginToken(at.TAG_OPEN_START,ra);const fo=this._consumePrefixAndName();return this._endToken(fo)}_consumeAttributeName(){const ra=this._cursor.peek();if(ra===Ee.$SQ||ra===Ee.$DQ)throw this._createError(gu(ra),this._cursor.getSpan());this._beginToken(at.ATTR_NAME);const fo=this._consumePrefixAndName();return this._endToken(fo),fo}_consumeAttributeValue(){let ra;if(this._cursor.peek()===Ee.$SQ||this._cursor.peek()===Ee.$DQ){this._beginToken(at.ATTR_QUOTE);const fo=this._cursor.peek();this._cursor.advance(),this._endToken([String.fromCodePoint(fo)]),this._beginToken(at.ATTR_VALUE);const lu=[];for(;this._cursor.peek()!==fo;)lu.push(this._readChar(!0));ra=this._processCarriageReturns(lu.join(\"\")),this._endToken([ra]),this._beginToken(at.ATTR_QUOTE),this._cursor.advance(),this._endToken([String.fromCodePoint(fo)])}else{this._beginToken(at.ATTR_VALUE);const fo=this._cursor.clone();this._requireCharCodeUntilFn(Ql,1),ra=this._processCarriageReturns(this._cursor.getChars(fo)),this._endToken([ra])}return ra}_consumeTagOpenEnd(){const ra=this._attemptCharCode(Ee.$SLASH)?at.TAG_OPEN_END_VOID:at.TAG_OPEN_END;this._beginToken(ra),this._requireCharCode(Ee.$GT),this._endToken([])}_consumeTagClose(ra){if(this._beginToken(at.TAG_CLOSE,ra),this._attemptCharCodeUntilFn(Xu),this._allowHtmComponentClosingTags&&this._attemptCharCode(Ee.$SLASH))this._attemptCharCodeUntilFn(Xu),this._requireCharCode(Ee.$GT),this._endToken([]);else{const[fo,lu]=this._consumePrefixAndName();this._attemptCharCodeUntilFn(Xu),this._requireCharCode(Ee.$GT),this._endToken([fo,lu]),this._handleFullNameStackForTagClose(fo,lu)}}_consumeExpansionFormStart(){this._beginToken(at.EXPANSION_FORM_START),this._requireCharCode(Ee.$LBRACE),this._endToken([]),this._expansionCaseStack.push(at.EXPANSION_FORM_START),this._beginToken(at.RAW_TEXT);const ra=this._readUntil(Ee.$COMMA);this._endToken([ra]),this._requireCharCode(Ee.$COMMA),this._attemptCharCodeUntilFn(Xu),this._beginToken(at.RAW_TEXT);const fo=this._readUntil(Ee.$COMMA);this._endToken([fo]),this._requireCharCode(Ee.$COMMA),this._attemptCharCodeUntilFn(Xu)}_consumeExpansionCaseStart(){this._beginToken(at.EXPANSION_CASE_VALUE);const ra=this._readUntil(Ee.$LBRACE).trim();this._endToken([ra]),this._attemptCharCodeUntilFn(Xu),this._beginToken(at.EXPANSION_CASE_EXP_START),this._requireCharCode(Ee.$LBRACE),this._endToken([]),this._attemptCharCodeUntilFn(Xu),this._expansionCaseStack.push(at.EXPANSION_CASE_EXP_START)}_consumeExpansionCaseEnd(){this._beginToken(at.EXPANSION_CASE_EXP_END),this._requireCharCode(Ee.$RBRACE),this._endToken([]),this._attemptCharCodeUntilFn(Xu),this._expansionCaseStack.pop()}_consumeExpansionFormEnd(){this._beginToken(at.EXPANSION_FORM_END),this._requireCharCode(Ee.$RBRACE),this._endToken([]),this._expansionCaseStack.pop()}_consumeText(){const ra=this._cursor.clone();this._beginToken(at.TEXT,ra);const fo=[];do this._interpolationConfig&&this._attemptStr(this._interpolationConfig.start)?(fo.push(this._interpolationConfig.start),this._inInterpolation=!0):this._interpolationConfig&&this._inInterpolation&&this._attemptStr(this._interpolationConfig.end)?(fo.push(this._interpolationConfig.end),this._inInterpolation=!1):fo.push(this._readChar(!0));while(!this._isTextEnd());this._endToken([this._processCarriageReturns(fo.join(\"\"))])}_isTextEnd(){return!!(this._cursor.peek()===Ee.$LT||this._cursor.peek()===Ee.$EOF||this._tokenizeIcu&&!this._inInterpolation&&(this.isExpansionFormStart()||this._cursor.peek()===Ee.$RBRACE&&this._isInExpansionCase()))}_readUntil(ra){const fo=this._cursor.clone();return this._attemptUntilChar(ra),this._cursor.getChars(fo)}_isInExpansionCase(){return this._expansionCaseStack.length>0&&this._expansionCaseStack[this._expansionCaseStack.length-1]===at.EXPANSION_CASE_EXP_START}_isInExpansionForm(){return this._expansionCaseStack.length>0&&this._expansionCaseStack[this._expansionCaseStack.length-1]===at.EXPANSION_FORM_START}isExpansionFormStart(){if(this._cursor.peek()!==Ee.$LBRACE)return!1;if(this._interpolationConfig){const ra=this._cursor.clone(),fo=this._attemptStr(this._interpolationConfig.start);return this._cursor=ra,!fo}return!0}_handleFullNameStackForTagOpen(ra,fo){const lu=_r.mergeNsAndName(ra,fo);this._fullNameStack.length!==0&&this._fullNameStack[this._fullNameStack.length-1]!==lu||this._fullNameStack.push(lu)}_handleFullNameStackForTagClose(ra,fo){const lu=_r.mergeNsAndName(ra,fo);this._fullNameStack.length!==0&&this._fullNameStack[this._fullNameStack.length-1]===lu&&this._fullNameStack.pop()}}function Xu(Gs){return!Ee.isWhitespace(Gs)||Gs===Ee.$EOF}function Ql(Gs){return Ee.isWhitespace(Gs)||Gs===Ee.$GT||Gs===Ee.$SLASH||Gs===Ee.$SQ||Gs===Ee.$DQ||Gs===Ee.$EQ}function p_(Gs){return Gs==Ee.$SEMICOLON||Gs==Ee.$EOF||!Ee.isAsciiHexDigit(Gs)}function ap(Gs){return Gs==Ee.$SEMICOLON||Gs==Ee.$EOF||!Ee.isAsciiLetter(Gs)}function Ll(Gs){return Gs>=Ee.$a&&Gs<=Ee.$z?Gs-Ee.$a+Ee.$A:Gs}class $l{constructor(ra,fo){if(ra instanceof $l)this.file=ra.file,this.input=ra.input,this.end=ra.end,this.state=Object.assign({},ra.state);else{if(!fo)throw new Error(\"Programming error: the range argument must be provided with a file argument.\");this.file=ra,this.input=ra.content,this.end=fo.endPos,this.state={peek:-1,offset:fo.startPos,line:fo.startLine,column:fo.startCol}}}clone(){return new $l(this)}peek(){return this.state.peek}charsLeft(){return this.end-this.state.offset}diff(ra){return this.state.offset-ra.state.offset}advance(){this.advanceState(this.state)}init(){this.updatePeek(this.state)}getSpan(ra,fo){if(ra=ra||this,fo)for(ra=ra.clone();this.diff(ra)>0&&fo.indexOf(ra.peek())!==-1;)ra.advance();return new kn.ParseSourceSpan(new kn.ParseLocation(ra.file,ra.state.offset,ra.state.line,ra.state.column),new kn.ParseLocation(this.file,this.state.offset,this.state.line,this.state.column))}getChars(ra){return this.input.substring(ra.state.offset,this.state.offset)}charAt(ra){return this.input.charCodeAt(ra)}advanceState(ra){if(ra.offset>=this.end)throw this.state=ra,new yp('Unexpected character \"EOF\"',this);const fo=this.charAt(ra.offset);fo===Ee.$LF?(ra.line++,ra.column=0):Ee.isNewLine(fo)||ra.column++,ra.offset++,this.updatePeek(ra)}updatePeek(ra){ra.peek=ra.offset>=this.end?Ee.$EOF:this.charAt(ra.offset)}}class Tu extends $l{constructor(ra,fo){ra instanceof Tu?(super(ra),this.internalState=Object.assign({},ra.internalState)):(super(ra,fo),this.internalState=this.state)}advance(){this.state=this.internalState,super.advance(),this.processEscapeSequence()}init(){super.init(),this.processEscapeSequence()}clone(){return new Tu(this)}getChars(ra){const fo=ra.clone();let lu=\"\";for(;fo.internalState.offset<this.internalState.offset;)lu+=String.fromCodePoint(fo.peek()),fo.advance();return lu}processEscapeSequence(){const ra=()=>this.internalState.peek;if(ra()===Ee.$BACKSLASH)if(this.internalState=Object.assign({},this.state),this.advanceState(this.internalState),ra()===Ee.$n)this.state.peek=Ee.$LF;else if(ra()===Ee.$r)this.state.peek=Ee.$CR;else if(ra()===Ee.$v)this.state.peek=Ee.$VTAB;else if(ra()===Ee.$t)this.state.peek=Ee.$TAB;else if(ra()===Ee.$b)this.state.peek=Ee.$BSPACE;else if(ra()===Ee.$f)this.state.peek=Ee.$FF;else if(ra()===Ee.$u)if(this.advanceState(this.internalState),ra()===Ee.$LBRACE){this.advanceState(this.internalState);const fo=this.clone();let lu=0;for(;ra()!==Ee.$RBRACE;)this.advanceState(this.internalState),lu++;this.state.peek=this.decodeHexDigits(fo,lu)}else{const fo=this.clone();this.advanceState(this.internalState),this.advanceState(this.internalState),this.advanceState(this.internalState),this.state.peek=this.decodeHexDigits(fo,4)}else if(ra()===Ee.$x){this.advanceState(this.internalState);const fo=this.clone();this.advanceState(this.internalState),this.state.peek=this.decodeHexDigits(fo,2)}else if(Ee.isOctalDigit(ra())){let fo=\"\",lu=0,a2=this.clone();for(;Ee.isOctalDigit(ra())&&lu<3;)a2=this.clone(),fo+=String.fromCodePoint(ra()),this.advanceState(this.internalState),lu++;this.state.peek=parseInt(fo,8),this.internalState=a2.internalState}else Ee.isNewLine(this.internalState.peek)?(this.advanceState(this.internalState),this.state=this.internalState):this.state.peek=this.internalState.peek}decodeHexDigits(ra,fo){const lu=this.input.substr(ra.internalState.offset,fo),a2=parseInt(lu,16);if(isNaN(a2))throw ra.state=ra.internalState,new yp(\"Invalid hexadecimal escape sequence\",ra);return a2}}class yp{constructor(ra,fo){this.msg=ra,this.cursor=fo}}Xx.CursorError=yp});/**\n\t * @license\n\t * Copyright Google Inc. All Rights Reserved.\n\t *\n\t * Use of this source code is governed by an MIT-style license that can be\n\t * found in the LICENSE file at https://angular.io/license\n\t */class Q8 extends kn.ParseError{constructor(Xx,Ee,at){super(Ee,at),this.elementName=Xx}static create(Xx,Ee,at){return new Q8(Xx,Ee,at)}}var bA=Q8;class CA{constructor(Xx,Ee){this.rootNodes=Xx,this.errors=Ee}}var sT=CA,rE=class{constructor(kx){this.getTagDefinition=kx}parse(kx,Xx,Ee,at=!1,cn){const Bn=p_=>(ap,...Ll)=>p_(ap.toLowerCase(),...Ll),ao=at?this.getTagDefinition:Bn(this.getTagDefinition),go=p_=>ao(p_).contentType,gu=at?cn:Bn(cn),cu=cn?(p_,ap,Ll,$l)=>{const Tu=gu(p_,ap,Ll,$l);return Tu!==void 0?Tu:go(p_)}:go,El=Um.tokenize(kx,Xx,cu,Ee),Go=Ee&&Ee.canSelfClose||!1,Xu=Ee&&Ee.allowHtmComponentClosingTags||!1,Ql=new Z8(El.tokens,ao,Go,Xu,at).build();return new CA(Ql.rootNodes,El.errors.concat(Ql.errors))}};class Z8{constructor(Xx,Ee,at,cn,Bn){this.tokens=Xx,this.getTagDefinition=Ee,this.canSelfClose=at,this.allowHtmComponentClosingTags=cn,this.isTagNameCaseSensitive=Bn,this._index=-1,this._rootNodes=[],this._errors=[],this._elementStack=[],this._advance()}build(){for(;this._peek.type!==Um.TokenType.EOF;)this._peek.type===Um.TokenType.TAG_OPEN_START?this._consumeStartTag(this._advance()):this._peek.type===Um.TokenType.TAG_CLOSE?(this._closeVoidElement(),this._consumeEndTag(this._advance())):this._peek.type===Um.TokenType.CDATA_START?(this._closeVoidElement(),this._consumeCdata(this._advance())):this._peek.type===Um.TokenType.COMMENT_START?(this._closeVoidElement(),this._consumeComment(this._advance())):this._peek.type===Um.TokenType.TEXT||this._peek.type===Um.TokenType.RAW_TEXT||this._peek.type===Um.TokenType.ESCAPABLE_RAW_TEXT?(this._closeVoidElement(),this._consumeText(this._advance())):this._peek.type===Um.TokenType.EXPANSION_FORM_START?this._consumeExpansion(this._advance()):this._peek.type===Um.TokenType.DOC_TYPE_START?this._consumeDocType(this._advance()):this._advance();return new CA(this._rootNodes,this._errors)}_advance(){const Xx=this._peek;return this._index<this.tokens.length-1&&this._index++,this._peek=this.tokens[this._index],Xx}_advanceIf(Xx){return this._peek.type===Xx?this._advance():null}_consumeCdata(Xx){const Ee=this._advance(),at=this._getText(Ee),cn=this._advanceIf(Um.TokenType.CDATA_END);this._addToParent(new xp.CDATA(at,new kn.ParseSourceSpan(Xx.sourceSpan.start,(cn||Ee).sourceSpan.end)))}_consumeComment(Xx){const Ee=this._advanceIf(Um.TokenType.RAW_TEXT),at=this._advanceIf(Um.TokenType.COMMENT_END),cn=Ee!=null?Ee.parts[0].trim():null,Bn=new kn.ParseSourceSpan(Xx.sourceSpan.start,(at||Ee||Xx).sourceSpan.end);this._addToParent(new xp.Comment(cn,Bn))}_consumeDocType(Xx){const Ee=this._advanceIf(Um.TokenType.RAW_TEXT),at=this._advanceIf(Um.TokenType.DOC_TYPE_END),cn=Ee!=null?Ee.parts[0].trim():null,Bn=new kn.ParseSourceSpan(Xx.sourceSpan.start,(at||Ee||Xx).sourceSpan.end);this._addToParent(new xp.DocType(cn,Bn))}_consumeExpansion(Xx){const Ee=this._advance(),at=this._advance(),cn=[];for(;this._peek.type===Um.TokenType.EXPANSION_CASE_VALUE;){const ao=this._parseExpansionCase();if(!ao)return;cn.push(ao)}if(this._peek.type!==Um.TokenType.EXPANSION_FORM_END)return void this._errors.push(Q8.create(null,this._peek.sourceSpan,\"Invalid ICU message. Missing '}'.\"));const Bn=new kn.ParseSourceSpan(Xx.sourceSpan.start,this._peek.sourceSpan.end);this._addToParent(new xp.Expansion(Ee.parts[0],at.parts[0],cn,Bn,Ee.sourceSpan)),this._advance()}_parseExpansionCase(){const Xx=this._advance();if(this._peek.type!==Um.TokenType.EXPANSION_CASE_EXP_START)return this._errors.push(Q8.create(null,this._peek.sourceSpan,\"Invalid ICU message. Missing '{'.\")),null;const Ee=this._advance(),at=this._collectExpansionExpTokens(Ee);if(!at)return null;const cn=this._advance();at.push(new Um.Token(Um.TokenType.EOF,[],cn.sourceSpan));const Bn=new Z8(at,this.getTagDefinition,this.canSelfClose,this.allowHtmComponentClosingTags,this.isTagNameCaseSensitive).build();if(Bn.errors.length>0)return this._errors=this._errors.concat(Bn.errors),null;const ao=new kn.ParseSourceSpan(Xx.sourceSpan.start,cn.sourceSpan.end),go=new kn.ParseSourceSpan(Ee.sourceSpan.start,cn.sourceSpan.end);return new xp.ExpansionCase(Xx.parts[0],Bn.rootNodes,ao,Xx.sourceSpan,go)}_collectExpansionExpTokens(Xx){const Ee=[],at=[Um.TokenType.EXPANSION_CASE_EXP_START];for(;;){if(this._peek.type!==Um.TokenType.EXPANSION_FORM_START&&this._peek.type!==Um.TokenType.EXPANSION_CASE_EXP_START||at.push(this._peek.type),this._peek.type===Um.TokenType.EXPANSION_CASE_EXP_END){if(!V5(at,Um.TokenType.EXPANSION_CASE_EXP_START))return this._errors.push(Q8.create(null,Xx.sourceSpan,\"Invalid ICU message. Missing '}'.\")),null;if(at.pop(),at.length==0)return Ee}if(this._peek.type===Um.TokenType.EXPANSION_FORM_END){if(!V5(at,Um.TokenType.EXPANSION_FORM_START))return this._errors.push(Q8.create(null,Xx.sourceSpan,\"Invalid ICU message. Missing '}'.\")),null;at.pop()}if(this._peek.type===Um.TokenType.EOF)return this._errors.push(Q8.create(null,Xx.sourceSpan,\"Invalid ICU message. Missing '}'.\")),null;Ee.push(this._advance())}}_getText(Xx){let Ee=Xx.parts[0];if(Ee.length>0&&Ee[0]==`\n`){const at=this._getParentElement();at!=null&&at.children.length==0&&this.getTagDefinition(at.name).ignoreFirstLf&&(Ee=Ee.substring(1))}return Ee}_consumeText(Xx){const Ee=this._getText(Xx);Ee.length>0&&this._addToParent(new xp.Text(Ee,Xx.sourceSpan))}_closeVoidElement(){const Xx=this._getParentElement();Xx&&this.getTagDefinition(Xx.name).isVoid&&this._elementStack.pop()}_consumeStartTag(Xx){const Ee=Xx.parts[0],at=Xx.parts[1],cn=[];for(;this._peek.type===Um.TokenType.ATTR_NAME;)cn.push(this._consumeAttr(this._advance()));const Bn=this._getElementFullName(Ee,at,this._getParentElement());let ao=!1;if(this._peek.type===Um.TokenType.TAG_OPEN_END_VOID){this._advance(),ao=!0;const Go=this.getTagDefinition(Bn);this.canSelfClose||Go.canSelfClose||_r.getNsPrefix(Bn)!==null||Go.isVoid||this._errors.push(Q8.create(Bn,Xx.sourceSpan,`Only void and foreign elements can be self closed \"${Xx.parts[1]}\"`))}else this._peek.type===Um.TokenType.TAG_OPEN_END&&(this._advance(),ao=!1);const go=this._peek.sourceSpan.start,gu=new kn.ParseSourceSpan(Xx.sourceSpan.start,go),cu=new kn.ParseSourceSpan(Xx.sourceSpan.start.moveBy(1),Xx.sourceSpan.end),El=new xp.Element(Bn,cn,[],gu,gu,void 0,cu);this._pushElement(El),ao&&(this._popElement(Bn),El.endSourceSpan=gu)}_pushElement(Xx){const Ee=this._getParentElement();Ee&&this.getTagDefinition(Ee.name).isClosedByChild(Xx.name)&&this._elementStack.pop(),this._addToParent(Xx),this._elementStack.push(Xx)}_consumeEndTag(Xx){const Ee=this.allowHtmComponentClosingTags&&Xx.parts.length===0?null:this._getElementFullName(Xx.parts[0],Xx.parts[1],this._getParentElement());if(this._getParentElement()&&(this._getParentElement().endSourceSpan=Xx.sourceSpan),Ee&&this.getTagDefinition(Ee).isVoid)this._errors.push(Q8.create(Ee,Xx.sourceSpan,`Void elements do not have end tags \"${Xx.parts[1]}\"`));else if(!this._popElement(Ee)){const at=`Unexpected closing tag \"${Ee}\". It may happen when the tag has already been closed by another tag. For more info see https://www.w3.org/TR/html5/syntax.html#closing-elements-that-have-implied-end-tags`;this._errors.push(Q8.create(Ee,Xx.sourceSpan,at))}}_popElement(Xx){for(let Ee=this._elementStack.length-1;Ee>=0;Ee--){const at=this._elementStack[Ee];if(!Xx||(_r.getNsPrefix(at.name)?at.name==Xx:at.name.toLowerCase()==Xx.toLowerCase()))return this._elementStack.splice(Ee,this._elementStack.length-Ee),!0;if(!this.getTagDefinition(at.name).closedByParent)return!1}return!1}_consumeAttr(Xx){const Ee=_r.mergeNsAndName(Xx.parts[0],Xx.parts[1]);let at,cn,Bn=Xx.sourceSpan.end,ao=\"\";if(this._peek.type===Um.TokenType.ATTR_QUOTE&&(cn=this._advance().sourceSpan.start),this._peek.type===Um.TokenType.ATTR_VALUE){const go=this._advance();ao=go.parts[0],Bn=go.sourceSpan.end,at=go.sourceSpan}return this._peek.type===Um.TokenType.ATTR_QUOTE&&(Bn=this._advance().sourceSpan.end,at=new kn.ParseSourceSpan(cn,Bn)),new xp.Attribute(Ee,ao,new kn.ParseSourceSpan(Xx.sourceSpan.start,Bn),at,Xx.sourceSpan)}_getParentElement(){return this._elementStack.length>0?this._elementStack[this._elementStack.length-1]:null}_getParentElementSkippingContainers(){let Xx=null;for(let Ee=this._elementStack.length-1;Ee>=0;Ee--){if(!_r.isNgContainer(this._elementStack[Ee].name))return{parent:this._elementStack[Ee],container:Xx};Xx=this._elementStack[Ee]}return{parent:null,container:Xx}}_addToParent(Xx){const Ee=this._getParentElement();Ee!=null?Ee.children.push(Xx):this._rootNodes.push(Xx)}_insertBeforeContainer(Xx,Ee,at){if(Ee){if(Xx){const cn=Xx.children.indexOf(Ee);Xx.children[cn]=at}else this._rootNodes.push(at);at.children.push(Ee),this._elementStack.splice(this._elementStack.indexOf(Ee),0,at)}else this._addToParent(at),this._elementStack.push(at)}_getElementFullName(Xx,Ee,at){return Xx===\"\"&&(Xx=this.getTagDefinition(Ee).implicitNamespacePrefix||\"\")===\"\"&&at!=null&&(Xx=_r.getNsPrefix(at.name)),_r.mergeNsAndName(Xx,Ee)}}function V5(kx,Xx){return kx.length>0&&kx[kx.length-1]===Xx}var FS=Object.defineProperty({TreeError:bA,ParseTreeResult:sT,Parser:rE},\"__esModule\",{value:!0}),xF=FS,$5=xF.ParseTreeResult,AS=xF.TreeError;/**\n\t * @license\n\t * Copyright Google Inc. All Rights Reserved.\n\t *\n\t * Use of this source code is governed by an MIT-style license that can be\n\t * found in the LICENSE file at https://angular.io/license\n\t */class O6 extends FS.Parser{constructor(){super(to.getHtmlTagDefinition)}parse(Xx,Ee,at,cn=!1,Bn){return super.parse(Xx,Ee,at,cn,Bn)}}var zw=O6,EA=Object.defineProperty({ParseTreeResult:$5,TreeError:AS,HtmlParser:zw},\"__esModule\",{value:!0}),K5=_r.TagContentType;let ps=null;var eF=function(kx,Xx={}){const{canSelfClose:Ee=!1,allowHtmComponentClosingTags:at=!1,isTagNameCaseSensitive:cn=!1,getTagContentType:Bn}=Xx;return(ps||(ps=new EA.HtmlParser),ps).parse(kx,\"angular-html-parser\",{tokenizeExpansionForms:!1,interpolationConfig:void 0,canSelfClose:Ee,allowHtmComponentClosingTags:at},cn,Bn)},NF=Object.defineProperty({TagContentType:K5,parse:eF},\"__esModule\",{value:!0});const{ParseSourceSpan:C8,ParseLocation:L4,ParseSourceFile:KT}=kn,{inferParserByLanguage:C5}=vA,{HTML_ELEMENT_ATTRIBUTES:y4,HTML_TAGS:Zs,isUnknownNamespace:GF}=Po,{hasPragma:zT}=Dr,{Node:AT}=Lx,{parseIeConditionalComment:a5}=Be,{locStart:z5,locEnd:XF}=St;function zs(kx,{recognizeSelfClosing:Xx,normalizeTagName:Ee,normalizeAttributeName:at,allowHtmComponentClosingTags:cn,isTagNameCaseSensitive:Bn,getTagContentType:ao},go){const gu=NF,{RecursiveVisitor:cu,visitAll:El}=xp,{ParseSourceSpan:Go}=kn,{getHtmlTagDefinition:Xu}=to;let{rootNodes:Ql,errors:p_}=gu.parse(kx,{canSelfClose:Xx,allowHtmComponentClosingTags:cn,isTagNameCaseSensitive:Bn,getTagContentType:ao});if(go.parser===\"vue\")if(Ql.some($l=>$l.type===\"docType\"&&$l.value===\"html\"||$l.type===\"element\"&&$l.name.toLowerCase()===\"html\")){Xx=!0,Ee=!0,at=!0,cn=!0,Bn=!1;const $l=gu.parse(kx,{canSelfClose:Xx,allowHtmComponentClosingTags:cn,isTagNameCaseSensitive:Bn});Ql=$l.rootNodes,p_=$l.errors}else{const $l=Tu=>{if(!Tu||Tu.type!==\"element\"||Tu.name!==\"template\")return!1;const yp=Tu.attrs.find(ra=>ra.name===\"lang\"),Gs=yp&&yp.value;return!Gs||C5(Gs,go)===\"html\"};if(Ql.some($l)){let Tu;const yp=()=>gu.parse(kx,{canSelfClose:Xx,allowHtmComponentClosingTags:cn,isTagNameCaseSensitive:Bn}),Gs=()=>Tu||(Tu=yp()),ra=fo=>Gs().rootNodes.find(({startSourceSpan:lu})=>lu&&lu.start.offset===fo.startSourceSpan.start.offset);for(let fo=0;fo<Ql.length;fo++){const lu=Ql[fo],{endSourceSpan:a2,startSourceSpan:V8}=lu;if(a2===null)p_=Gs().errors,Ql[fo]=ra(lu)||lu;else if($l(lu)){const YF=Gs(),T8=V8.end.offset,Q4=a2.start.offset;for(const D4 of YF.errors){const{offset:E5}=D4.span.start;if(T8<E5&&E5<Q4){p_=[D4];break}}Ql[fo]=ra(lu)||lu}}}}if(p_.length>0){const{msg:$l,span:{start:Tu,end:yp}}=p_[0];throw ja($l,{start:{line:Tu.line+1,column:Tu.col+1},end:{line:yp.line+1,column:yp.col+1}})}const ap=$l=>{const Tu=$l.name.startsWith(\":\")?$l.name.slice(1).split(\":\")[0]:null,yp=$l.nameSpan.toString(),Gs=Tu!==null&&yp.startsWith(`${Tu}:`),ra=Gs?yp.slice(Tu.length+1):yp;$l.name=ra,$l.namespace=Tu,$l.hasExplicitNamespace=Gs},Ll=($l,Tu)=>{const yp=$l.toLowerCase();return Tu(yp)?yp:$l};return El(new class extends cu{visit($l){(Tu=>{if(Tu.type===\"element\"){ap(Tu);for(const yp of Tu.attrs)ap(yp),yp.valueSpan?(yp.value=yp.valueSpan.toString(),/[\"']/.test(yp.value[0])&&(yp.value=yp.value.slice(1,-1))):yp.value=null}else Tu.type===\"comment\"?Tu.value=Tu.sourceSpan.toString().slice(\"<!--\".length,-\"-->\".length):Tu.type===\"text\"&&(Tu.value=Tu.sourceSpan.toString())})($l),(Tu=>{if(Tu.type===\"element\"){const yp=Xu(Bn?Tu.name:Tu.name.toLowerCase());!Tu.namespace||Tu.namespace===yp.implicitNamespacePrefix||GF(Tu)?Tu.tagDefinition=yp:Tu.tagDefinition=Xu(\"\")}})($l),(Tu=>{if(Tu.type===\"element\"&&(!Ee||Tu.namespace&&Tu.namespace!==Tu.tagDefinition.implicitNamespacePrefix&&!GF(Tu)||(Tu.name=Ll(Tu.name,yp=>yp in Zs)),at)){const yp=y4[Tu.name]||Object.create(null);for(const Gs of Tu.attrs)Gs.namespace||(Gs.name=Ll(Gs.name,ra=>Tu.name in y4&&(ra in y4[\"*\"]||ra in yp)))}})($l),(Tu=>{Tu.sourceSpan&&Tu.endSourceSpan&&(Tu.sourceSpan=new Go(Tu.sourceSpan.start,Tu.endSourceSpan.end))})($l)}},Ql),Ql}function W5(kx,Xx,Ee,at=!0){const{frontMatter:cn,content:Bn}=at?mi(kx):{frontMatter:null,content:kx},ao=new KT(kx,Xx.filepath),go=new L4(ao,0,0,0),gu=go.moveBy(kx.length),cu={type:\"root\",sourceSpan:new C8(go,gu),children:zs(Bn,Ee,Xx)};if(cn){const Xu=new L4(ao,0,0,0),Ql=Xu.moveBy(cn.raw.length);cn.sourceSpan=new C8(Xu,Ql),cu.children.unshift(cn)}const El=new AT(cu),Go=(Xu,Ql)=>{const{offset:p_}=Ql,ap=W5(kx.slice(0,p_).replace(/[^\\n\\r]/g,\" \")+Xu,Xx,Ee,!1);ap.sourceSpan=new C8(Ql,ma(ap.children).sourceSpan.end);const Ll=ap.children[0];return Ll.length===p_?ap.children.shift():(Ll.sourceSpan=new C8(Ll.sourceSpan.start.moveBy(p_),Ll.sourceSpan.end),Ll.value=Ll.value.slice(p_)),ap};return El.map(Xu=>{if(Xu.type===\"comment\"){const Ql=a5(Xu,Go);if(Ql)return Ql}return Xu})}function TT({recognizeSelfClosing:kx=!1,normalizeTagName:Xx=!1,normalizeAttributeName:Ee=!1,allowHtmComponentClosingTags:at=!1,isTagNameCaseSensitive:cn=!1,getTagContentType:Bn}={}){return{parse:(ao,go,gu)=>W5(ao,gu,{recognizeSelfClosing:kx,normalizeTagName:Xx,normalizeAttributeName:Ee,allowHtmComponentClosingTags:at,isTagNameCaseSensitive:cn,getTagContentType:Bn}),hasPragma:zT,astFormat:\"html\",locStart:z5,locEnd:XF}}return{parsers:{html:TT({recognizeSelfClosing:!0,normalizeTagName:!0,normalizeAttributeName:!0,allowHtmComponentClosingTags:!0}),angular:TT(),vue:TT({recognizeSelfClosing:!0,isTagNameCaseSensitive:!0,getTagContentType:(kx,Xx,Ee,at)=>{if(kx.toLowerCase()!==\"html\"&&!Ee&&(kx!==\"template\"||at.some(({name:cn,value:Bn})=>cn===\"lang\"&&Bn!==\"html\")))return NF.TagContentType.RAW_TEXT}}),lwc:TT()}}})})(oH);var Zy0={exports:{}};(function(a,u){(function(c,b){a.exports=b()})($F,function(){var c=function(M0,e0){const R0=new SyntaxError(M0+\" (\"+e0.start.line+\":\"+e0.start.column+\")\");return R0.loc=e0,R0},b={isPragma:function(M0){return/^\\s*@(prettier|format)\\s*$/.test(M0)},hasPragma:function(M0){return/^\\s*#[^\\S\\n]*@(prettier|format)\\s*?(\\n|$)/.test(M0)},insertPragma:function(M0){return`# @format\n\n${M0}`}},R={locStart:function(M0){return M0.position.start.offset},locEnd:function(M0){return M0.position.end.offset}},K=typeof globalThis!=\"undefined\"?globalThis:typeof window!=\"undefined\"?window:typeof $F!=\"undefined\"?$F:typeof self!=\"undefined\"?self:{};function s0(M0){var e0={exports:{}};return M0(e0,e0.exports),e0.exports;/*! *****************************************************************************\n  Copyright (c) Microsoft Corporation.\n\n  Permission to use, copy, modify, and/or distribute this software for any\n  purpose with or without fee is hereby granted.\n\n  THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n  REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n  AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n  INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\n  LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\n  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n  PERFORMANCE OF THIS SOFTWARE.\n  ***************************************************************************** */}var Y=function(M0,e0){return(Y=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(R0,R1){R0.__proto__=R1}||function(R0,R1){for(var H1 in R1)R1.hasOwnProperty(H1)&&(R0[H1]=R1[H1])})(M0,e0)},F0=function(){return(F0=Object.assign||function(M0){for(var e0,R0=1,R1=arguments.length;R0<R1;R0++)for(var H1 in e0=arguments[R0])Object.prototype.hasOwnProperty.call(e0,H1)&&(M0[H1]=e0[H1]);return M0}).apply(this,arguments)};function J0(M0){var e0=typeof Symbol==\"function\"&&Symbol.iterator,R0=e0&&M0[e0],R1=0;if(R0)return R0.call(M0);if(M0&&typeof M0.length==\"number\")return{next:function(){return M0&&R1>=M0.length&&(M0=void 0),{value:M0&&M0[R1++],done:!M0}}};throw new TypeError(e0?\"Object is not iterable.\":\"Symbol.iterator is not defined.\")}function e1(M0,e0){var R0=typeof Symbol==\"function\"&&M0[Symbol.iterator];if(!R0)return M0;var R1,H1,Jx=R0.call(M0),Se=[];try{for(;(e0===void 0||e0-- >0)&&!(R1=Jx.next()).done;)Se.push(R1.value)}catch(Ye){H1={error:Ye}}finally{try{R1&&!R1.done&&(R0=Jx.return)&&R0.call(Jx)}finally{if(H1)throw H1.error}}return Se}function t1(M0){return this instanceof t1?(this.v=M0,this):new t1(M0)}var r1=Object.freeze({__proto__:null,__extends:function(M0,e0){function R0(){this.constructor=M0}Y(M0,e0),M0.prototype=e0===null?Object.create(e0):(R0.prototype=e0.prototype,new R0)},get __assign(){return F0},__rest:function(M0,e0){var R0={};for(var R1 in M0)Object.prototype.hasOwnProperty.call(M0,R1)&&e0.indexOf(R1)<0&&(R0[R1]=M0[R1]);if(M0!=null&&typeof Object.getOwnPropertySymbols==\"function\"){var H1=0;for(R1=Object.getOwnPropertySymbols(M0);H1<R1.length;H1++)e0.indexOf(R1[H1])<0&&Object.prototype.propertyIsEnumerable.call(M0,R1[H1])&&(R0[R1[H1]]=M0[R1[H1]])}return R0},__decorate:function(M0,e0,R0,R1){var H1,Jx=arguments.length,Se=Jx<3?e0:R1===null?R1=Object.getOwnPropertyDescriptor(e0,R0):R1;if(typeof Reflect==\"object\"&&typeof Reflect.decorate==\"function\")Se=Reflect.decorate(M0,e0,R0,R1);else for(var Ye=M0.length-1;Ye>=0;Ye--)(H1=M0[Ye])&&(Se=(Jx<3?H1(Se):Jx>3?H1(e0,R0,Se):H1(e0,R0))||Se);return Jx>3&&Se&&Object.defineProperty(e0,R0,Se),Se},__param:function(M0,e0){return function(R0,R1){e0(R0,R1,M0)}},__metadata:function(M0,e0){if(typeof Reflect==\"object\"&&typeof Reflect.metadata==\"function\")return Reflect.metadata(M0,e0)},__awaiter:function(M0,e0,R0,R1){return new(R0||(R0=Promise))(function(H1,Jx){function Se(Er){try{tt(R1.next(Er))}catch(Zt){Jx(Zt)}}function Ye(Er){try{tt(R1.throw(Er))}catch(Zt){Jx(Zt)}}function tt(Er){var Zt;Er.done?H1(Er.value):(Zt=Er.value,Zt instanceof R0?Zt:new R0(function(hi){hi(Zt)})).then(Se,Ye)}tt((R1=R1.apply(M0,e0||[])).next())})},__generator:function(M0,e0){var R0,R1,H1,Jx,Se={label:0,sent:function(){if(1&H1[0])throw H1[1];return H1[1]},trys:[],ops:[]};return Jx={next:Ye(0),throw:Ye(1),return:Ye(2)},typeof Symbol==\"function\"&&(Jx[Symbol.iterator]=function(){return this}),Jx;function Ye(tt){return function(Er){return function(Zt){if(R0)throw new TypeError(\"Generator is already executing.\");for(;Se;)try{if(R0=1,R1&&(H1=2&Zt[0]?R1.return:Zt[0]?R1.throw||((H1=R1.return)&&H1.call(R1),0):R1.next)&&!(H1=H1.call(R1,Zt[1])).done)return H1;switch(R1=0,H1&&(Zt=[2&Zt[0],H1.value]),Zt[0]){case 0:case 1:H1=Zt;break;case 4:return Se.label++,{value:Zt[1],done:!1};case 5:Se.label++,R1=Zt[1],Zt=[0];continue;case 7:Zt=Se.ops.pop(),Se.trys.pop();continue;default:if(H1=Se.trys,!((H1=H1.length>0&&H1[H1.length-1])||Zt[0]!==6&&Zt[0]!==2)){Se=0;continue}if(Zt[0]===3&&(!H1||Zt[1]>H1[0]&&Zt[1]<H1[3])){Se.label=Zt[1];break}if(Zt[0]===6&&Se.label<H1[1]){Se.label=H1[1],H1=Zt;break}if(H1&&Se.label<H1[2]){Se.label=H1[2],Se.ops.push(Zt);break}H1[2]&&Se.ops.pop(),Se.trys.pop();continue}Zt=e0.call(M0,Se)}catch(hi){Zt=[6,hi],R1=0}finally{R0=H1=0}if(5&Zt[0])throw Zt[1];return{value:Zt[0]?Zt[1]:void 0,done:!0}}([tt,Er])}}},__createBinding:function(M0,e0,R0,R1){R1===void 0&&(R1=R0),M0[R1]=e0[R0]},__exportStar:function(M0,e0){for(var R0 in M0)R0===\"default\"||e0.hasOwnProperty(R0)||(e0[R0]=M0[R0])},__values:J0,__read:e1,__spread:function(){for(var M0=[],e0=0;e0<arguments.length;e0++)M0=M0.concat(e1(arguments[e0]));return M0},__spreadArrays:function(){for(var M0=0,e0=0,R0=arguments.length;e0<R0;e0++)M0+=arguments[e0].length;var R1=Array(M0),H1=0;for(e0=0;e0<R0;e0++)for(var Jx=arguments[e0],Se=0,Ye=Jx.length;Se<Ye;Se++,H1++)R1[H1]=Jx[Se];return R1},__await:t1,__asyncGenerator:function(M0,e0,R0){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var R1,H1=R0.apply(M0,e0||[]),Jx=[];return R1={},Se(\"next\"),Se(\"throw\"),Se(\"return\"),R1[Symbol.asyncIterator]=function(){return this},R1;function Se(hi){H1[hi]&&(R1[hi]=function(po){return new Promise(function(ba,oa){Jx.push([hi,po,ba,oa])>1||Ye(hi,po)})})}function Ye(hi,po){try{(ba=H1[hi](po)).value instanceof t1?Promise.resolve(ba.value.v).then(tt,Er):Zt(Jx[0][2],ba)}catch(oa){Zt(Jx[0][3],oa)}var ba}function tt(hi){Ye(\"next\",hi)}function Er(hi){Ye(\"throw\",hi)}function Zt(hi,po){hi(po),Jx.shift(),Jx.length&&Ye(Jx[0][0],Jx[0][1])}},__asyncDelegator:function(M0){var e0,R0;return e0={},R1(\"next\"),R1(\"throw\",function(H1){throw H1}),R1(\"return\"),e0[Symbol.iterator]=function(){return this},e0;function R1(H1,Jx){e0[H1]=M0[H1]?function(Se){return(R0=!R0)?{value:t1(M0[H1](Se)),done:H1===\"return\"}:Jx?Jx(Se):Se}:Jx}},__asyncValues:function(M0){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var e0,R0=M0[Symbol.asyncIterator];return R0?R0.call(M0):(M0=J0(M0),e0={},R1(\"next\"),R1(\"throw\"),R1(\"return\"),e0[Symbol.asyncIterator]=function(){return this},e0);function R1(H1){e0[H1]=M0[H1]&&function(Jx){return new Promise(function(Se,Ye){(function(tt,Er,Zt,hi){Promise.resolve(hi).then(function(po){tt({value:po,done:Zt})},Er)})(Se,Ye,(Jx=M0[H1](Jx)).done,Jx.value)})}}},__makeTemplateObject:function(M0,e0){return Object.defineProperty?Object.defineProperty(M0,\"raw\",{value:e0}):M0.raw=e0,M0},__importStar:function(M0){if(M0&&M0.__esModule)return M0;var e0={};if(M0!=null)for(var R0 in M0)Object.hasOwnProperty.call(M0,R0)&&(e0[R0]=M0[R0]);return e0.default=M0,e0},__importDefault:function(M0){return M0&&M0.__esModule?M0:{default:M0}},__classPrivateFieldGet:function(M0,e0){if(!e0.has(M0))throw new TypeError(\"attempted to get private field on non-instance\");return e0.get(M0)},__classPrivateFieldSet:function(M0,e0,R0){if(!e0.has(M0))throw new TypeError(\"attempted to set private field on non-instance\");return e0.set(M0,R0),R0}}),F1=s0(function(M0,e0){var R0=`\n`,R1=function(){function H1(Jx){this.string=Jx;for(var Se=[0],Ye=0;Ye<Jx.length;)switch(Jx[Ye]){case R0:Ye+=R0.length,Se.push(Ye);break;case\"\\r\":Jx[Ye+=\"\\r\".length]===R0&&(Ye+=R0.length),Se.push(Ye);break;default:Ye++}this.offsets=Se}return H1.prototype.locationForIndex=function(Jx){if(Jx<0||Jx>this.string.length)return null;for(var Se=0,Ye=this.offsets;Ye[Se+1]<=Jx;)Se++;return{line:Se,column:Jx-Ye[Se]}},H1.prototype.indexForLocation=function(Jx){var Se=Jx.line,Ye=Jx.column;return Se<0||Se>=this.offsets.length||Ye<0||Ye>this.lengthOfLine(Se)?null:this.offsets[Se]+Ye},H1.prototype.lengthOfLine=function(Jx){var Se=this.offsets[Jx];return(Jx===this.offsets.length-1?this.string.length:this.offsets[Jx+1])-Se},H1}();e0.__esModule=!0,e0.default=R1}),a1=function(M0){return M0&&M0.Math==Math&&M0},D1=a1(typeof globalThis==\"object\"&&globalThis)||a1(typeof window==\"object\"&&window)||a1(typeof self==\"object\"&&self)||a1(typeof K==\"object\"&&K)||function(){return this}()||Function(\"return this\")(),W0=function(M0){try{return!!M0()}catch{return!0}},i1=!W0(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7}),x1={}.propertyIsEnumerable,ux=Object.getOwnPropertyDescriptor,K1={f:ux&&!x1.call({1:2},1)?function(M0){var e0=ux(this,M0);return!!e0&&e0.enumerable}:x1},ee=function(M0,e0){return{enumerable:!(1&M0),configurable:!(2&M0),writable:!(4&M0),value:e0}},Gx={}.toString,ve=\"\".split,qe=W0(function(){return!Object(\"z\").propertyIsEnumerable(0)})?function(M0){return function(e0){return Gx.call(e0).slice(8,-1)}(M0)==\"String\"?ve.call(M0,\"\"):Object(M0)}:Object,Jt=function(M0){if(M0==null)throw TypeError(\"Can't call method on \"+M0);return M0},Ct=function(M0){return qe(Jt(M0))},vn=function(M0){return typeof M0==\"object\"?M0!==null:typeof M0==\"function\"},_n=function(M0,e0){if(!vn(M0))return M0;var R0,R1;if(e0&&typeof(R0=M0.toString)==\"function\"&&!vn(R1=R0.call(M0))||typeof(R0=M0.valueOf)==\"function\"&&!vn(R1=R0.call(M0))||!e0&&typeof(R0=M0.toString)==\"function\"&&!vn(R1=R0.call(M0)))return R1;throw TypeError(\"Can't convert object to primitive value\")},Tr=function(M0){return Object(Jt(M0))},Lr={}.hasOwnProperty,Pn=Object.hasOwn||function(M0,e0){return Lr.call(Tr(M0),e0)},En=D1.document,cr=vn(En)&&vn(En.createElement),Ea=!i1&&!W0(function(){return Object.defineProperty((M0=\"div\",cr?En.createElement(M0):{}),\"a\",{get:function(){return 7}}).a!=7;var M0}),Qn=Object.getOwnPropertyDescriptor,Bu={f:i1?Qn:function(M0,e0){if(M0=Ct(M0),e0=_n(e0,!0),Ea)try{return Qn(M0,e0)}catch{}if(Pn(M0,e0))return ee(!K1.f.call(M0,e0),M0[e0])}},Au=function(M0){if(!vn(M0))throw TypeError(String(M0)+\" is not an object\");return M0},Ec=Object.defineProperty,kn={f:i1?Ec:function(M0,e0,R0){if(Au(M0),e0=_n(e0,!0),Au(R0),Ea)try{return Ec(M0,e0,R0)}catch{}if(\"get\"in R0||\"set\"in R0)throw TypeError(\"Accessors not supported\");return\"value\"in R0&&(M0[e0]=R0.value),M0}},pu=i1?function(M0,e0,R0){return kn.f(M0,e0,ee(1,R0))}:function(M0,e0,R0){return M0[e0]=R0,M0},mi=function(M0,e0){try{pu(D1,M0,e0)}catch{D1[M0]=e0}return e0},ma=\"__core-js_shared__\",ja=D1[ma]||mi(ma,{}),Ua=Function.toString;typeof ja.inspectSource!=\"function\"&&(ja.inspectSource=function(M0){return Ua.call(M0)});var aa,Os,gn,et,Sr=ja.inspectSource,un=D1.WeakMap,jn=typeof un==\"function\"&&/native code/.test(Sr(un)),ea=s0(function(M0){(M0.exports=function(e0,R0){return ja[e0]||(ja[e0]=R0!==void 0?R0:{})})(\"versions\",[]).push({version:\"3.14.0\",mode:\"global\",copyright:\"\\xA9 2021 Denis Pushkarev (zloirock.ru)\"})}),wa=0,as=Math.random(),zo=ea(\"keys\"),vo={},vi=\"Object already initialized\",jr=D1.WeakMap;if(jn||ja.state){var Hn=ja.state||(ja.state=new jr),wi=Hn.get,jo=Hn.has,bs=Hn.set;aa=function(M0,e0){if(jo.call(Hn,M0))throw new TypeError(vi);return e0.facade=M0,bs.call(Hn,M0,e0),e0},Os=function(M0){return wi.call(Hn,M0)||{}},gn=function(M0){return jo.call(Hn,M0)}}else{var Ha=zo[et=\"state\"]||(zo[et]=function(M0){return\"Symbol(\"+String(M0===void 0?\"\":M0)+\")_\"+(++wa+as).toString(36)}(et));vo[Ha]=!0,aa=function(M0,e0){if(Pn(M0,Ha))throw new TypeError(vi);return e0.facade=M0,pu(M0,Ha,e0),e0},Os=function(M0){return Pn(M0,Ha)?M0[Ha]:{}},gn=function(M0){return Pn(M0,Ha)}}var qn,Ki,es={set:aa,get:Os,has:gn,enforce:function(M0){return gn(M0)?Os(M0):aa(M0,{})},getterFor:function(M0){return function(e0){var R0;if(!vn(e0)||(R0=Os(e0)).type!==M0)throw TypeError(\"Incompatible receiver, \"+M0+\" required\");return R0}}},Ns=s0(function(M0){var e0=es.get,R0=es.enforce,R1=String(String).split(\"String\");(M0.exports=function(H1,Jx,Se,Ye){var tt,Er=!!Ye&&!!Ye.unsafe,Zt=!!Ye&&!!Ye.enumerable,hi=!!Ye&&!!Ye.noTargetGet;typeof Se==\"function\"&&(typeof Jx!=\"string\"||Pn(Se,\"name\")||pu(Se,\"name\",Jx),(tt=R0(Se)).source||(tt.source=R1.join(typeof Jx==\"string\"?Jx:\"\"))),H1!==D1?(Er?!hi&&H1[Jx]&&(Zt=!0):delete H1[Jx],Zt?H1[Jx]=Se:pu(H1,Jx,Se)):Zt?H1[Jx]=Se:mi(Jx,Se)})(Function.prototype,\"toString\",function(){return typeof this==\"function\"&&e0(this).source||Sr(this)})}),ju=D1,Tc=function(M0){return typeof M0==\"function\"?M0:void 0},bu=function(M0,e0){return arguments.length<2?Tc(ju[M0])||Tc(D1[M0]):ju[M0]&&ju[M0][e0]||D1[M0]&&D1[M0][e0]},mc=Math.ceil,vc=Math.floor,Lc=function(M0){return isNaN(M0=+M0)?0:(M0>0?vc:mc)(M0)},i2=Math.min,su=function(M0){return M0>0?i2(Lc(M0),9007199254740991):0},T2=Math.max,Cu=Math.min,mr=function(M0){return function(e0,R0,R1){var H1,Jx=Ct(e0),Se=su(Jx.length),Ye=function(tt,Er){var Zt=Lc(tt);return Zt<0?T2(Zt+Er,0):Cu(Zt,Er)}(R1,Se);if(M0&&R0!=R0){for(;Se>Ye;)if((H1=Jx[Ye++])!=H1)return!0}else for(;Se>Ye;Ye++)if((M0||Ye in Jx)&&Jx[Ye]===R0)return M0||Ye||0;return!M0&&-1}},Dn={includes:mr(!0),indexOf:mr(!1)}.indexOf,ki=[\"constructor\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"toLocaleString\",\"toString\",\"valueOf\"].concat(\"length\",\"prototype\"),us={f:Object.getOwnPropertyNames||function(M0){return function(e0,R0){var R1,H1=Ct(e0),Jx=0,Se=[];for(R1 in H1)!Pn(vo,R1)&&Pn(H1,R1)&&Se.push(R1);for(;R0.length>Jx;)Pn(H1,R1=R0[Jx++])&&(~Dn(Se,R1)||Se.push(R1));return Se}(M0,ki)}},ac={f:Object.getOwnPropertySymbols},_s=bu(\"Reflect\",\"ownKeys\")||function(M0){var e0=us.f(Au(M0)),R0=ac.f;return R0?e0.concat(R0(M0)):e0},cf=function(M0,e0){for(var R0=_s(e0),R1=kn.f,H1=Bu.f,Jx=0;Jx<R0.length;Jx++){var Se=R0[Jx];Pn(M0,Se)||R1(M0,Se,H1(e0,Se))}},Df=/#|\\.prototype\\./,gp=function(M0,e0){var R0=c_[_2(M0)];return R0==c8||R0!=pC&&(typeof e0==\"function\"?W0(e0):!!e0)},_2=gp.normalize=function(M0){return String(M0).replace(Df,\".\").toLowerCase()},c_=gp.data={},pC=gp.NATIVE=\"N\",c8=gp.POLYFILL=\"P\",VE=gp,S8=Bu.f,c4=Math.floor,BS=function(M0,e0){var R0=M0.length,R1=c4(R0/2);return R0<8?ES(M0,e0):fS(BS(M0.slice(0,R1),e0),BS(M0.slice(R1),e0),e0)},ES=function(M0,e0){for(var R0,R1,H1=M0.length,Jx=1;Jx<H1;){for(R1=Jx,R0=M0[Jx];R1&&e0(M0[R1-1],R0)>0;)M0[R1]=M0[--R1];R1!==Jx++&&(M0[R1]=R0)}return M0},fS=function(M0,e0,R0){for(var R1=M0.length,H1=e0.length,Jx=0,Se=0,Ye=[];Jx<R1||Se<H1;)Jx<R1&&Se<H1?Ye.push(R0(M0[Jx],e0[Se])<=0?M0[Jx++]:e0[Se++]):Ye.push(Jx<R1?M0[Jx++]:e0[Se++]);return Ye},DF=BS,D8=bu(\"navigator\",\"userAgent\")||\"\",v8=D8.match(/firefox\\/(\\d+)/i),pS=!!v8&&+v8[1],l4=/MSIE|Trident/.test(D8),KF=D1.process,f4=KF&&KF.versions,$E=f4&&f4.v8;$E?Ki=(qn=$E.split(\".\"))[0]<4?1:qn[0]+qn[1]:D8&&(!(qn=D8.match(/Edge\\/(\\d+)/))||qn[1]>=74)&&(qn=D8.match(/Chrome\\/(\\d+)/))&&(Ki=qn[1]);var t6,vF,fF=Ki&&+Ki,tS=D8.match(/AppleWebKit\\/(\\d+)\\./),z6=!!tS&&+tS[1],LS=[],B8=LS.sort,MS=W0(function(){LS.sort(void 0)}),rT=W0(function(){LS.sort(null)}),bF=!!(vF=[].sort)&&W0(function(){vF.call(null,t6||function(){throw 1},1)}),nT=!W0(function(){if(fF)return fF<70;if(!(pS&&pS>3)){if(l4)return!0;if(z6)return z6<603;var M0,e0,R0,R1,H1=\"\";for(M0=65;M0<76;M0++){switch(e0=String.fromCharCode(M0),M0){case 66:case 69:case 70:case 72:R0=3;break;case 68:case 71:R0=4;break;default:R0=2}for(R1=0;R1<47;R1++)LS.push({k:e0+R1,v:R0})}for(LS.sort(function(Jx,Se){return Se.v-Jx.v}),R1=0;R1<LS.length;R1++)e0=LS[R1].k.charAt(0),H1.charAt(H1.length-1)!==e0&&(H1+=e0);return H1!==\"DGBEFHACIJK\"}});(function(M0,e0){var R0,R1,H1,Jx,Se,Ye=M0.target,tt=M0.global,Er=M0.stat;if(R0=tt?D1:Er?D1[Ye]||mi(Ye,{}):(D1[Ye]||{}).prototype)for(R1 in e0){if(Jx=e0[R1],H1=M0.noTargetGet?(Se=S8(R0,R1))&&Se.value:R0[R1],!VE(tt?R1:Ye+(Er?\".\":\"#\")+R1,M0.forced)&&H1!==void 0){if(typeof Jx==typeof H1)continue;cf(Jx,H1)}(M0.sham||H1&&H1.sham)&&pu(Jx,\"sham\",!0),Ns(R0,R1,Jx,M0)}})({target:\"Array\",proto:!0,forced:MS||!rT||!bF||!nT},{sort:function(M0){M0!==void 0&&function(Se){if(typeof Se!=\"function\")throw TypeError(String(Se)+\" is not a function\")}(M0);var e0=Tr(this);if(nT)return M0===void 0?B8.call(e0):B8.call(e0,M0);var R0,R1,H1=[],Jx=su(e0.length);for(R1=0;R1<Jx;R1++)R1 in e0&&H1.push(e0[R1]);for(R0=(H1=DF(H1,function(Se){return function(Ye,tt){return tt===void 0?-1:Ye===void 0?1:Se!==void 0?+Se(Ye,tt)||0:String(Ye)>String(tt)?1:-1}}(M0))).length,R1=0;R1<R0;)e0[R1]=H1[R1++];for(;R1<Jx;)delete e0[R1++];return e0}});var RT=function M0(e0,R0){R0===void 0&&(R0=null),\"children\"in e0&&e0.children.forEach(function(R1){return M0(R1,e0)}),\"anchor\"in e0&&e0.anchor&&M0(e0.anchor,e0),\"tag\"in e0&&e0.tag&&M0(e0.tag,e0),\"leadingComments\"in e0&&e0.leadingComments.forEach(function(R1){return M0(R1,e0)}),\"middleComments\"in e0&&e0.middleComments.forEach(function(R1){return M0(R1,e0)}),\"indicatorComment\"in e0&&e0.indicatorComment&&M0(e0.indicatorComment,e0),\"trailingComment\"in e0&&e0.trailingComment&&M0(e0.trailingComment,e0),\"endComments\"in e0&&e0.endComments.forEach(function(R1){return M0(R1,e0)}),Object.defineProperty(e0,\"_parent\",{value:R0,enumerable:!1})},UA=Object.defineProperty({defineParents:RT},\"__esModule\",{value:!0}),_5=function(M0){return M0.line+\":\"+M0.column},VA=Object.defineProperty({getPointText:_5},\"__esModule\",{value:!0}),ST=function(M0){UA.defineParents(M0);var e0=function(R1){for(var H1=Array.from(new Array(R1.position.end.line),function(){return{}}),Jx=0,Se=R1.comments;Jx<Se.length;Jx++){var Ye=Se[Jx];H1[Ye.position.start.line-1].comment=Ye}return ZT(H1,R1),H1}(M0),R0=M0.children.slice();M0.comments.sort(function(R1,H1){return R1.position.start.offset-H1.position.end.offset}).filter(function(R1){return!R1._parent}).forEach(function(R1){for(;R0.length>1&&R1.position.start.line>R0[0].position.end.line;)R0.shift();(function(H1,Jx,Se){var Ye=H1.position.start.line,tt=Jx[Ye-1].trailingAttachableNode;if(tt){if(tt.trailingComment)throw new Error(\"Unexpected multiple trailing comment at \"+VA.getPointText(H1.position.start));return UA.defineParents(H1,tt),void(tt.trailingComment=H1)}for(var Er=Ye;Er>=Se.position.start.line;Er--){var Zt=Jx[Er-1].trailingNode,hi=void 0;if(Zt)hi=Zt;else{if(Er===Ye||!Jx[Er-1].comment)continue;hi=Jx[Er-1].comment._parent}if(hi.type!==\"sequence\"&&hi.type!==\"mapping\"||(hi=hi.children[0]),hi.type===\"mappingItem\"){var po=hi.children,ba=po[0],oa=po[1];hi=y5(ba)?ba:oa}for(;;){if(Kw(hi,H1))return UA.defineParents(H1,hi),void hi.endComments.push(H1);if(!hi._parent)break;hi=hi._parent}break}for(Er=Ye+1;Er<=Se.position.end.line;Er++){var ho=Jx[Er-1].leadingAttachableNode;if(ho)return UA.defineParents(H1,ho),void ho.leadingComments.push(H1)}var Za=Se.children[1];UA.defineParents(H1,Za),Za.endComments.push(H1)})(R1,e0,R0[0])})};function ZT(M0,e0){if(e0.position.start.offset!==e0.position.end.offset){if(\"leadingComments\"in e0){var R0=e0.position.start,R1=M0[R0.line-1].leadingAttachableNode;(!R1||R0.column<R1.position.start.column)&&(M0[R0.line-1].leadingAttachableNode=e0)}if(\"trailingComment\"in e0&&e0.position.end.column>1&&e0.type!==\"document\"&&e0.type!==\"documentHead\"){var H1=e0.position.end,Jx=M0[H1.line-1].trailingAttachableNode;(!Jx||H1.column>=Jx.position.end.column)&&(M0[H1.line-1].trailingAttachableNode=e0)}if(e0.type!==\"root\"&&e0.type!==\"document\"&&e0.type!==\"documentHead\"&&e0.type!==\"documentBody\")for(var Se=e0.position,Ye=(R0=Se.start,0),tt=[(H1=Se.end).line].concat(R0.line===H1.line?[]:R0.line);Ye<tt.length;Ye++){var Er=tt[Ye],Zt=M0[Er-1].trailingNode;(!Zt||H1.column>=Zt.position.end.column)&&(M0[Er-1].trailingNode=e0)}\"children\"in e0&&e0.children.forEach(function(hi){ZT(M0,hi)})}}function Kw(M0,e0){if(M0.position.start.offset<e0.position.start.offset&&M0.position.end.offset>e0.position.end.offset)switch(M0.type){case\"flowMapping\":case\"flowSequence\":return M0.children.length===0||e0.position.start.line>M0.children[M0.children.length-1].position.end.line}if(e0.position.end.offset<M0.position.end.offset)return!1;switch(M0.type){case\"sequenceItem\":return e0.position.start.column>M0.position.start.column;case\"mappingKey\":case\"mappingValue\":return e0.position.start.column>M0._parent.position.start.column&&(M0.children.length===0||M0.children.length===1&&M0.children[0].type!==\"blockFolded\"&&M0.children[0].type!==\"blockLiteral\")&&(M0.type===\"mappingValue\"||y5(M0));default:return!1}}function y5(M0){return M0.position.start!==M0.position.end&&(M0.children.length===0||M0.position.start.offset!==M0.children[0].position.start.offset)}var P4=Object.defineProperty({attachComments:ST},\"__esModule\",{value:!0}),fA=function(M0,e0){return{type:M0,position:e0}},H8=Object.defineProperty({createNode:fA},\"__esModule\",{value:!0}),pA=function(M0,e0,R0){return r1.__assign(r1.__assign({},H8.createNode(\"root\",M0)),{children:e0,comments:R0})},qS=Object.defineProperty({createRoot:pA},\"__esModule\",{value:!0}),W6=function M0(e0){switch(e0.type){case\"DOCUMENT\":for(var R0=e0.contents.length-1;R0>=0;R0--)e0.contents[R0].type===\"BLANK_LINE\"?e0.contents.splice(R0,1):M0(e0.contents[R0]);for(R0=e0.directives.length-1;R0>=0;R0--)e0.directives[R0].type===\"BLANK_LINE\"&&e0.directives.splice(R0,1);break;case\"FLOW_MAP\":case\"FLOW_SEQ\":case\"MAP\":case\"SEQ\":for(R0=e0.items.length-1;R0>=0;R0--){var R1=e0.items[R0];\"char\"in R1||(R1.type===\"BLANK_LINE\"?e0.items.splice(R0,1):M0(R1))}break;case\"MAP_KEY\":case\"MAP_VALUE\":case\"SEQ_ITEM\":e0.node&&M0(e0.node);break;case\"ALIAS\":case\"BLANK_LINE\":case\"BLOCK_FOLDED\":case\"BLOCK_LITERAL\":case\"COMMENT\":case\"DIRECTIVE\":case\"PLAIN\":case\"QUOTE_DOUBLE\":case\"QUOTE_SINGLE\":break;default:throw new Error(\"Unexpected node type \"+JSON.stringify(e0.type))}},D5=Object.defineProperty({removeCstBlankLine:W6},\"__esModule\",{value:!0}),$A=function(){return{leadingComments:[]}},J4=Object.defineProperty({createLeadingCommentAttachable:$A},\"__esModule\",{value:!0}),dA=function(M0){return M0===void 0&&(M0=null),{trailingComment:M0}},CF=Object.defineProperty({createTrailingCommentAttachable:dA},\"__esModule\",{value:!0}),FT=function(){return r1.__assign(r1.__assign({},J4.createLeadingCommentAttachable()),CF.createTrailingCommentAttachable())},mA=Object.defineProperty({createCommentAttachable:FT},\"__esModule\",{value:!0}),v5=function(M0,e0,R0){return r1.__assign(r1.__assign(r1.__assign(r1.__assign({},H8.createNode(\"alias\",M0)),mA.createCommentAttachable()),e0),{value:R0})},KA=Object.defineProperty({createAlias:v5},\"__esModule\",{value:!0}),vw=function(M0,e0){var R0=M0.cstNode;return KA.createAlias(e0.transformRange({origStart:R0.valueRange.origStart-1,origEnd:R0.valueRange.origEnd}),e0.transformContent(M0),R0.rawValue)},p4=Object.defineProperty({transformAlias:vw},\"__esModule\",{value:!0}),x5=function(M0){return r1.__assign(r1.__assign({},M0),{type:\"blockFolded\"})},e5=Object.defineProperty({createBlockFolded:x5},\"__esModule\",{value:!0}),jT=function(M0,e0,R0,R1,H1,Jx){return r1.__assign(r1.__assign(r1.__assign(r1.__assign({},H8.createNode(\"blockValue\",M0)),J4.createLeadingCommentAttachable()),e0),{chomping:R0,indent:R1,value:H1,indicatorComment:Jx})},_6=Object.defineProperty({createBlockValue:jT},\"__esModule\",{value:!0}),q6=s0(function(M0,e0){var R0;e0.__esModule=!0,(R0=e0.PropLeadingCharacter||(e0.PropLeadingCharacter={})).Tag=\"!\",R0.Anchor=\"&\",R0.Comment=\"#\"}),JS=function(M0,e0){return r1.__assign(r1.__assign({},H8.createNode(\"anchor\",M0)),{value:e0})},eg=Object.defineProperty({createAnchor:JS},\"__esModule\",{value:!0}),L8=function(M0,e0){return r1.__assign(r1.__assign({},H8.createNode(\"comment\",M0)),{value:e0})},J6=Object.defineProperty({createComment:L8},\"__esModule\",{value:!0}),cm=function(M0,e0,R0){return{anchor:e0,tag:M0,middleComments:R0}},l8=Object.defineProperty({createContent:cm},\"__esModule\",{value:!0}),S6=function(M0,e0){return r1.__assign(r1.__assign({},H8.createNode(\"tag\",M0)),{value:e0})},Pg=Object.defineProperty({createTag:S6},\"__esModule\",{value:!0}),Py,F6=function(M0,e0,R0){R0===void 0&&(R0=function(){return!1});for(var R1=M0.cstNode,H1=[],Jx=null,Se=null,Ye=null,tt=0,Er=R1.props;tt<Er.length;tt++){var Zt=Er[tt],hi=e0.text[Zt.origStart];switch(hi){case q6.PropLeadingCharacter.Tag:Jx=Jx||Zt,Se=Pg.createTag(e0.transformRange(Zt),M0.tag);break;case q6.PropLeadingCharacter.Anchor:Jx=Jx||Zt,Ye=eg.createAnchor(e0.transformRange(Zt),R1.anchor);break;case q6.PropLeadingCharacter.Comment:var po=J6.createComment(e0.transformRange(Zt),e0.text.slice(Zt.origStart+1,Zt.origEnd));e0.comments.push(po),!R0(po)&&Jx&&Jx.origEnd<=Zt.origStart&&Zt.origEnd<=R1.valueRange.origStart&&H1.push(po);break;default:throw new Error(\"Unexpected leading character \"+JSON.stringify(hi))}}return l8.createContent(Se,Ye,H1)},tg=Object.defineProperty({transformContent:F6},\"__esModule\",{value:!0});(function(M0){M0.CLIP=\"clip\",M0.STRIP=\"strip\",M0.KEEP=\"keep\"})(Py||(Py={}));var u3=function(M0,e0){var R0=M0.cstNode,R1=R0.chomping===\"CLIP\"?0:1,H1=R0.header.origEnd-R0.header.origStart-1-R1!=0,Jx=e0.transformRange({origStart:R0.header.origStart,origEnd:R0.valueRange.origEnd}),Se=null,Ye=tg.transformContent(M0,e0,function(tt){if(!(Jx.start.offset<tt.position.start.offset&&tt.position.end.offset<Jx.end.offset))return!1;if(Se)throw new Error(\"Unexpected multiple indicator comments at \"+VA.getPointText(tt.position.start));return Se=tt,!0});return _6.createBlockValue(Jx,Ye,Py[R0.chomping],H1?R0.blockIndent:null,R0.strValue,Se)},iT=Object.defineProperty({transformAstBlockValue:u3},\"__esModule\",{value:!0}),HS=function(M0,e0){return e5.createBlockFolded(iT.transformAstBlockValue(M0,e0))},H6=Object.defineProperty({transformBlockFolded:HS},\"__esModule\",{value:!0}),j5=function(M0){return r1.__assign(r1.__assign({},M0),{type:\"blockLiteral\"})},t5=Object.defineProperty({createBlockLiteral:j5},\"__esModule\",{value:!0}),bw=function(M0,e0){return t5.createBlockLiteral(iT.transformAstBlockValue(M0,e0))},U5=Object.defineProperty({transformBlockLiteral:bw},\"__esModule\",{value:!0}),d4=function(M0,e0){return J6.createComment(e0.transformRange(M0.range),M0.comment)},pF=Object.defineProperty({transformComment:d4},\"__esModule\",{value:!0}),EF=function(M0,e0,R0){return r1.__assign(r1.__assign(r1.__assign({},H8.createNode(\"directive\",M0)),mA.createCommentAttachable()),{name:e0,parameters:R0})},A6=Object.defineProperty({createDirective:EF},\"__esModule\",{value:!0}),r5=function(M0,e0){for(var R0=0,R1=M0.props;R0<R1.length;R0++){var H1=R1[R0],Jx=e0.text[H1.origStart];switch(Jx){case q6.PropLeadingCharacter.Comment:e0.comments.push(J6.createComment(e0.transformRange(H1),e0.text.slice(H1.origStart+1,H1.origEnd)));break;default:throw new Error(\"Unexpected leading character \"+JSON.stringify(Jx))}}},m4=Object.defineProperty({extractPropComments:r5},\"__esModule\",{value:!0}),Lu=function(M0,e0){return m4.extractPropComments(M0,e0),A6.createDirective(e0.transformRange(M0.range),M0.name,M0.parameters)},Ig=Object.defineProperty({transformDirective:Lu},\"__esModule\",{value:!0}),hA=function(M0,e0,R0,R1){return r1.__assign(r1.__assign(r1.__assign({},H8.createNode(\"document\",M0)),CF.createTrailingCommentAttachable(R1)),{children:[e0,R0]})},RS=Object.defineProperty({createDocument:hA},\"__esModule\",{value:!0}),H4=function(M0,e0){return{start:M0,end:e0}},I4=function(M0){return{start:M0,end:M0}},GS=Object.defineProperty({createPosition:H4,createEmptyPosition:I4},\"__esModule\",{value:!0}),SS=function(M0){return M0===void 0&&(M0=[]),{endComments:M0}},rS=Object.defineProperty({createEndCommentAttachable:SS},\"__esModule\",{value:!0}),T6=function(M0,e0,R0){return r1.__assign(r1.__assign(r1.__assign({},H8.createNode(\"documentBody\",M0)),rS.createEndCommentAttachable(R0)),{children:e0?[e0]:[]})},dS=Object.defineProperty({createDocumentBody:T6},\"__esModule\",{value:!0}),w6=function(M0){return M0[M0.length-1]},vb=Object.defineProperty({getLast:w6},\"__esModule\",{value:!0}),Rh=function(M0,e0){var R0=M0.match(e0);return R0?R0.index:-1},Wf=Object.defineProperty({getMatchIndex:Rh},\"__esModule\",{value:!0}),Fp=function(M0,e0,R0){var R1,H1=M0.cstNode,Jx=function(oa,ho,Za){for(var Od=[],Cl=[],S=[],N0=[],P1=!1,zx=oa.contents.length-1;zx>=0;zx--){var $e=oa.contents[zx];if($e.type===\"COMMENT\"){var bt=ho.transformNode($e);Za&&Za.line===bt.position.start.line?N0.unshift(bt):P1?Od.unshift(bt):bt.position.start.offset>=oa.valueRange.origEnd?S.unshift(bt):Od.unshift(bt)}else P1=!0}if(S.length>1)throw new Error(\"Unexpected multiple document trailing comments at \"+VA.getPointText(S[1].position.start));if(N0.length>1)throw new Error(\"Unexpected multiple documentHead trailing comments at \"+VA.getPointText(N0[1].position.start));return{comments:Od,endComments:Cl,documentTrailingComment:vb.getLast(S)||null,documentHeadTrailingComment:vb.getLast(N0)||null}}(H1,e0,R0),Se=Jx.comments,Ye=Jx.endComments,tt=Jx.documentTrailingComment,Er=Jx.documentHeadTrailingComment,Zt=e0.transformNode(M0.contents),hi=function(oa,ho,Za){var Od=Wf.getMatchIndex(Za.text.slice(oa.valueRange.origEnd),/^\\.\\.\\./),Cl=Od===-1?oa.valueRange.origEnd:Math.max(0,oa.valueRange.origEnd-1);Za.text[Cl-1]===\"\\r\"&&Cl--;var S=Za.transformRange({origStart:ho!==null?ho.position.start.offset:Cl,origEnd:Cl}),N0=Od===-1?S.end:Za.transformOffset(oa.valueRange.origEnd+3);return{position:S,documentEndPoint:N0}}(H1,Zt,e0),po=hi.position,ba=hi.documentEndPoint;return(R1=e0.comments).push.apply(R1,r1.__spreadArrays(Se,Ye)),{documentBody:dS.createDocumentBody(po,Zt,Ye),documentEndPoint:ba,documentTrailingComment:tt,documentHeadTrailingComment:Er}},ZC=Object.defineProperty({transformDocumentBody:Fp},\"__esModule\",{value:!0}),zA=function(M0,e0,R0,R1){return r1.__assign(r1.__assign(r1.__assign(r1.__assign({},H8.createNode(\"documentHead\",M0)),rS.createEndCommentAttachable(R0)),CF.createTrailingCommentAttachable(R1)),{children:e0})},zF=Object.defineProperty({createDocumentHead:zA},\"__esModule\",{value:!0}),WF=function(M0,e0){var R0,R1=M0.cstNode,H1=function(hi,po){for(var ba=[],oa=[],ho=[],Za=!1,Od=hi.directives.length-1;Od>=0;Od--){var Cl=po.transformNode(hi.directives[Od]);Cl.type===\"comment\"?Za?oa.unshift(Cl):ho.unshift(Cl):(Za=!0,ba.unshift(Cl))}return{directives:ba,comments:oa,endComments:ho}}(R1,e0),Jx=H1.directives,Se=H1.comments,Ye=H1.endComments,tt=function(hi,po,ba){var oa=Wf.getMatchIndex(ba.text.slice(0,hi.valueRange.origStart),/---\\s*$/);oa>0&&!/[\\r\\n]/.test(ba.text[oa-1])&&(oa=-1);var ho=oa===-1?{origStart:hi.valueRange.origStart,origEnd:hi.valueRange.origStart}:{origStart:oa,origEnd:oa+3};return po.length!==0&&(ho.origStart=po[0].position.start.offset),{position:ba.transformRange(ho),endMarkerPoint:oa===-1?null:ba.transformOffset(oa)}}(R1,Jx,e0),Er=tt.position,Zt=tt.endMarkerPoint;return(R0=e0.comments).push.apply(R0,r1.__spreadArrays(Se,Ye)),{createDocumentHeadWithTrailingComment:function(hi){return hi&&e0.comments.push(hi),zF.createDocumentHead(Er,Jx,Ye,hi)},documentHeadEndMarkerPoint:Zt}},l_=Object.defineProperty({transformDocumentHead:WF},\"__esModule\",{value:!0}),xE=function(M0,e0){var R0=l_.transformDocumentHead(M0,e0),R1=R0.createDocumentHeadWithTrailingComment,H1=R0.documentHeadEndMarkerPoint,Jx=ZC.transformDocumentBody(M0,e0,H1),Se=Jx.documentBody,Ye=Jx.documentEndPoint,tt=Jx.documentTrailingComment,Er=R1(Jx.documentHeadTrailingComment);return tt&&e0.comments.push(tt),RS.createDocument(GS.createPosition(Er.position.start,Ye),Er,Se,tt)},r6=Object.defineProperty({transformDocument:xE},\"__esModule\",{value:!0}),M8=function(M0,e0,R0){return r1.__assign(r1.__assign(r1.__assign(r1.__assign(r1.__assign({},H8.createNode(\"flowCollection\",M0)),mA.createCommentAttachable()),rS.createEndCommentAttachable()),e0),{children:R0})},KE=Object.defineProperty({createFlowCollection:M8},\"__esModule\",{value:!0}),lm=function(M0,e0,R0){return r1.__assign(r1.__assign({},KE.createFlowCollection(M0,e0,R0)),{type:\"flowMapping\"})},mS=Object.defineProperty({createFlowMapping:lm},\"__esModule\",{value:!0}),aT=function(M0,e0,R0){return r1.__assign(r1.__assign(r1.__assign({},H8.createNode(\"flowMappingItem\",M0)),J4.createLeadingCommentAttachable()),{children:[e0,R0]})},h4=Object.defineProperty({createFlowMappingItem:aT},\"__esModule\",{value:!0}),G4=function(M0,e0){for(var R0=[],R1=0,H1=M0;R1<H1.length;R1++){var Jx=H1[R1];Jx&&\"type\"in Jx&&Jx.type===\"COMMENT\"?e0.comments.push(e0.transformNode(Jx)):R0.push(Jx)}return R0},k6=Object.defineProperty({extractComments:G4},\"__esModule\",{value:!0}),xw=function(M0){var e0=[\"?\",\":\"].map(function(R0){var R1=M0.find(function(H1){return\"char\"in H1&&H1.char===R0});return R1?{origStart:R1.origOffset,origEnd:R1.origOffset+1}:null});return{additionalKeyRange:e0[0],additionalValueRange:e0[1]}},UT=Object.defineProperty({getFlowMapItemAdditionalRanges:xw},\"__esModule\",{value:!0}),oT=function(M0,e0){var R0=e0;return function(R1){return M0.slice(R0,R0=R1)}},G8=Object.defineProperty({createSlicer:oT},\"__esModule\",{value:!0}),y6=function(M0){for(var e0=[],R0=G8.createSlicer(M0,1),R1=!1,H1=1;H1<M0.length-1;H1++){var Jx=M0[H1];\"char\"in Jx&&Jx.char===\",\"?(e0.push(R0(H1)),R0(H1+1),R1=!1):R1=!0}return R1&&e0.push(R0(M0.length-1)),e0},nS=Object.defineProperty({groupCstFlowCollectionItems:y6},\"__esModule\",{value:!0}),jD=function(M0,e0){return r1.__assign(r1.__assign(r1.__assign(r1.__assign({},H8.createNode(\"mappingKey\",M0)),CF.createTrailingCommentAttachable()),rS.createEndCommentAttachable()),{children:e0?[e0]:[]})},X4=Object.defineProperty({createMappingKey:jD},\"__esModule\",{value:!0}),SF=function(M0,e0){return r1.__assign(r1.__assign(r1.__assign(r1.__assign({},H8.createNode(\"mappingValue\",M0)),mA.createCommentAttachable()),rS.createEndCommentAttachable()),{children:e0?[e0]:[]})},ad=Object.defineProperty({createMappingValue:SF},\"__esModule\",{value:!0}),XS=function(M0,e0,R0,R1,H1){var Jx=e0.transformNode(M0.key),Se=e0.transformNode(M0.value),Ye=Jx||R1?X4.createMappingKey(e0.transformRange({origStart:R1?R1.origStart:Jx.position.start.offset,origEnd:Jx?Jx.position.end.offset:R1.origStart+1}),Jx):null,tt=Se||H1?ad.createMappingValue(e0.transformRange({origStart:H1?H1.origStart:Se.position.start.offset,origEnd:Se?Se.position.end.offset:H1.origStart+1}),Se):null;return R0(GS.createPosition(Ye?Ye.position.start:tt.position.start,tt?tt.position.end:Ye.position.end),Ye||X4.createMappingKey(GS.createEmptyPosition(tt.position.start),null),tt||ad.createMappingValue(GS.createEmptyPosition(Ye.position.end),null))},X8=Object.defineProperty({transformAstPair:XS},\"__esModule\",{value:!0}),gA=function(M0,e0){var R0=k6.extractComments(M0.cstNode.items,e0),R1=nS.groupCstFlowCollectionItems(R0),H1=M0.items.map(function(Ye,tt){var Er=R1[tt],Zt=UT.getFlowMapItemAdditionalRanges(Er),hi=Zt.additionalKeyRange,po=Zt.additionalValueRange;return X8.transformAstPair(Ye,e0,h4.createFlowMappingItem,hi,po)}),Jx=R0[0],Se=vb.getLast(R0);return mS.createFlowMapping(e0.transformRange({origStart:Jx.origOffset,origEnd:Se.origOffset+1}),e0.transformContent(M0),H1)},VT=Object.defineProperty({transformFlowMap:gA},\"__esModule\",{value:!0}),YS=function(M0,e0,R0){return r1.__assign(r1.__assign({},KE.createFlowCollection(M0,e0,R0)),{type:\"flowSequence\"})},_A=Object.defineProperty({createFlowSequence:YS},\"__esModule\",{value:!0}),QS=function(M0,e0){return r1.__assign(r1.__assign({},H8.createNode(\"flowSequenceItem\",M0)),{children:[e0]})},qF=Object.defineProperty({createFlowSequenceItem:QS},\"__esModule\",{value:!0}),jS=function(M0,e0){var R0=k6.extractComments(M0.cstNode.items,e0),R1=nS.groupCstFlowCollectionItems(R0),H1=M0.items.map(function(Ye,tt){if(Ye.type!==\"PAIR\"){var Er=e0.transformNode(Ye);return qF.createFlowSequenceItem(GS.createPosition(Er.position.start,Er.position.end),Er)}var Zt=R1[tt],hi=UT.getFlowMapItemAdditionalRanges(Zt),po=hi.additionalKeyRange,ba=hi.additionalValueRange;return X8.transformAstPair(Ye,e0,h4.createFlowMappingItem,po,ba)}),Jx=R0[0],Se=vb.getLast(R0);return _A.createFlowSequence(e0.transformRange({origStart:Jx.origOffset,origEnd:Se.origOffset+1}),e0.transformContent(M0),H1)},zE=Object.defineProperty({transformFlowSeq:jS},\"__esModule\",{value:!0}),n6=function(M0,e0,R0){return r1.__assign(r1.__assign(r1.__assign(r1.__assign({},H8.createNode(\"mapping\",M0)),J4.createLeadingCommentAttachable()),e0),{children:R0})},iS=Object.defineProperty({createMapping:n6},\"__esModule\",{value:!0}),p6=function(M0,e0,R0){return r1.__assign(r1.__assign(r1.__assign({},H8.createNode(\"mappingItem\",M0)),J4.createLeadingCommentAttachable()),{children:[e0,R0]})},O4=Object.defineProperty({createMappingItem:p6},\"__esModule\",{value:!0}),$T=function(M0,e0){var R0=M0.cstNode;R0.items.filter(function(Jx){return Jx.type===\"MAP_KEY\"||Jx.type===\"MAP_VALUE\"}).forEach(function(Jx){return m4.extractPropComments(Jx,e0)});var R1=function(Jx){for(var Se=[],Ye=G8.createSlicer(Jx,0),tt=!1,Er=0;Er<Jx.length;Er++)Jx[Er].type!==\"MAP_VALUE\"?(tt&&Se.push(Ye(Er)),tt=!0):(Se.push(Ye(Er+1)),tt=!1);return tt&&Se.push(Ye(1/0)),Se}(k6.extractComments(R0.items,e0)),H1=M0.items.map(function(Jx,Se){var Ye=R1[Se],tt=Ye[0].type===\"MAP_VALUE\"?[null,Ye[0].range]:[Ye[0].range,Ye.length===1?null:Ye[1].range],Er=tt[0],Zt=tt[1];return X8.transformAstPair(Jx,e0,O4.createMappingItem,Er,Zt)});return iS.createMapping(GS.createPosition(H1[0].position.start,vb.getLast(H1).position.end),e0.transformContent(M0),H1)},FF=Object.defineProperty({transformMap:$T},\"__esModule\",{value:!0}),AF=function(M0,e0,R0){return r1.__assign(r1.__assign(r1.__assign(r1.__assign({},H8.createNode(\"plain\",M0)),mA.createCommentAttachable()),e0),{value:R0})},Y8=Object.defineProperty({createPlain:AF},\"__esModule\",{value:!0}),hS=function(M0,e0,R0){for(var R1=e0;R1>=0;R1--)if(R0.test(M0[R1]))return R1;return-1},yA=Object.defineProperty({findLastCharIndex:hS},\"__esModule\",{value:!0}),JF=function(M0,e0){var R0=M0.cstNode;return Y8.createPlain(e0.transformRange({origStart:R0.valueRange.origStart,origEnd:yA.findLastCharIndex(e0.text,R0.valueRange.origEnd-1,/\\S/)+1}),e0.transformContent(M0),R0.strValue)},eE=Object.defineProperty({transformPlain:JF},\"__esModule\",{value:!0}),ew=function(M0){return r1.__assign(r1.__assign({},M0),{type:\"quoteDouble\"})},b5=Object.defineProperty({createQuoteDouble:ew},\"__esModule\",{value:!0}),DA=function(M0,e0,R0){return r1.__assign(r1.__assign(r1.__assign(r1.__assign({},H8.createNode(\"quoteValue\",M0)),e0),mA.createCommentAttachable()),{value:R0})},_a=Object.defineProperty({createQuoteValue:DA},\"__esModule\",{value:!0}),$o=function(M0,e0){var R0=M0.cstNode;return _a.createQuoteValue(e0.transformRange(R0.valueRange),e0.transformContent(M0),R0.strValue)},To=Object.defineProperty({transformAstQuoteValue:$o},\"__esModule\",{value:!0}),Qc=function(M0,e0){return b5.createQuoteDouble(To.transformAstQuoteValue(M0,e0))},od=Object.defineProperty({transformQuoteDouble:Qc},\"__esModule\",{value:!0}),_p=function(M0){return r1.__assign(r1.__assign({},M0),{type:\"quoteSingle\"})},F8=Object.defineProperty({createQuoteSingle:_p},\"__esModule\",{value:!0}),rg=function(M0,e0){return F8.createQuoteSingle(To.transformAstQuoteValue(M0,e0))},Y4=Object.defineProperty({transformQuoteSingle:rg},\"__esModule\",{value:!0}),ZS=function(M0,e0,R0){return r1.__assign(r1.__assign(r1.__assign(r1.__assign(r1.__assign({},H8.createNode(\"sequence\",M0)),J4.createLeadingCommentAttachable()),rS.createEndCommentAttachable()),e0),{children:R0})},A8=Object.defineProperty({createSequence:ZS},\"__esModule\",{value:!0}),WE=function(M0,e0){return r1.__assign(r1.__assign(r1.__assign(r1.__assign({},H8.createNode(\"sequenceItem\",M0)),mA.createCommentAttachable()),rS.createEndCommentAttachable()),{children:e0?[e0]:[]})},R8=Object.defineProperty({createSequenceItem:WE},\"__esModule\",{value:!0}),gS=function(M0,e0){var R0=k6.extractComments(M0.cstNode.items,e0).map(function(R1,H1){m4.extractPropComments(R1,e0);var Jx=e0.transformNode(M0.items[H1]);return R8.createSequenceItem(GS.createPosition(e0.transformOffset(R1.valueRange.origStart),Jx===null?e0.transformOffset(R1.valueRange.origStart+1):Jx.position.end),Jx)});return A8.createSequence(GS.createPosition(R0[0].position.start,vb.getLast(R0).position.end),e0.transformContent(M0),R0)},N6=Object.defineProperty({transformSeq:gS},\"__esModule\",{value:!0}),g4=function(M0,e0){if(M0===null||M0.type===void 0&&M0.value===null)return null;switch(M0.type){case\"ALIAS\":return p4.transformAlias(M0,e0);case\"BLOCK_FOLDED\":return H6.transformBlockFolded(M0,e0);case\"BLOCK_LITERAL\":return U5.transformBlockLiteral(M0,e0);case\"COMMENT\":return pF.transformComment(M0,e0);case\"DIRECTIVE\":return Ig.transformDirective(M0,e0);case\"DOCUMENT\":return r6.transformDocument(M0,e0);case\"FLOW_MAP\":return VT.transformFlowMap(M0,e0);case\"FLOW_SEQ\":return zE.transformFlowSeq(M0,e0);case\"MAP\":return FF.transformMap(M0,e0);case\"PLAIN\":return eE.transformPlain(M0,e0);case\"QUOTE_DOUBLE\":return od.transformQuoteDouble(M0,e0);case\"QUOTE_SINGLE\":return Y4.transformQuoteSingle(M0,e0);case\"SEQ\":return N6.transformSeq(M0,e0);default:throw new Error(\"Unexpected node type \"+M0.type)}},f_=Object.defineProperty({transformNode:g4},\"__esModule\",{value:!0}),TF=function(M0,e0,R0){var R1=new SyntaxError(M0);return R1.name=\"YAMLSyntaxError\",R1.source=e0,R1.position=R0,R1},G6=Object.defineProperty({createError:TF},\"__esModule\",{value:!0}),$2=function(M0,e0){var R0=M0.source.range||M0.source.valueRange;return G6.createError(M0.message,e0.text,e0.transformRange(R0))},b8=Object.defineProperty({transformError:$2},\"__esModule\",{value:!0}),vA=function(M0,e0,R0){return{offset:M0,line:e0,column:R0}},n5=Object.defineProperty({createPoint:vA},\"__esModule\",{value:!0}),bb=function(M0,e0){M0<0?M0=0:M0>e0.text.length&&(M0=e0.text.length);var R0=e0.locator.locationForIndex(M0);return n5.createPoint(M0,R0.line+1,R0.column+1)},P6=Object.defineProperty({transformOffset:bb},\"__esModule\",{value:!0}),i6=function(M0,e0){return GS.createPosition(e0.transformOffset(M0.origStart),e0.transformOffset(M0.origEnd))},wF=Object.defineProperty({transformRange:i6},\"__esModule\",{value:!0}),I6=!0,sd=function(M0){if(!M0.setOrigRanges()){var e0=function(R0){return function(R1){return typeof R1.start==\"number\"}(R0)?(R0.origStart=R0.start,R0.origEnd=R0.end,I6):function(R1){return typeof R1.offset==\"number\"}(R0)?(R0.origOffset=R0.offset,I6):void 0};M0.forEach(function(R0){return HF(R0,e0)})}};function HF(M0,e0){if(M0&&typeof M0==\"object\"&&e0(M0)!==I6)for(var R0=0,R1=Object.keys(M0);R0<R1.length;R0++){var H1=R1[R0];if(H1!==\"context\"&&H1!==\"error\"){var Jx=M0[H1];Array.isArray(Jx)?Jx.forEach(function(Se){return HF(Se,e0)}):HF(Jx,e0)}}}var aS=Object.defineProperty({addOrigRange:sd},\"__esModule\",{value:!0}),B4=function M0(e0){if(\"children\"in e0){if(e0.children.length===1){var R0=e0.children[0];if(R0.type===\"plain\"&&R0.tag===null&&R0.anchor===null&&R0.value===\"\")return e0.children.splice(0,1),e0}e0.children.forEach(M0)}return e0},Ux=Object.defineProperty({removeFakeNodes:B4},\"__esModule\",{value:!0}),ue=function(M0,e0,R0,R1){var H1=e0(M0);return function(Jx){R1(H1,Jx)&&R0(M0,H1=Jx)}},Xe=Object.defineProperty({createUpdater:ue},\"__esModule\",{value:!0}),Ht=function M0(e0){if(e0!==null&&\"children\"in e0){var R0=e0.children;if(R0.forEach(M0),e0.type===\"document\"){var R1=e0.children,H1=R1[0],Jx=R1[1];H1.position.start.offset===H1.position.end.offset?H1.position.start=H1.position.end=Jx.position.start:Jx.position.start.offset===Jx.position.end.offset&&(Jx.position.start=Jx.position.end=H1.position.end)}var Se=Xe.createUpdater(e0.position,le,hr,Qr),Ye=Xe.createUpdater(e0.position,pr,lt,Wi);\"endComments\"in e0&&e0.endComments.length!==0&&(Se(e0.endComments[0].position.start),Ye(vb.getLast(e0.endComments).position.end));var tt=R0.filter(function(hi){return hi!==null});if(tt.length!==0){var Er=tt[0],Zt=vb.getLast(tt);Se(Er.position.start),Ye(Zt.position.end),\"leadingComments\"in Er&&Er.leadingComments.length!==0&&Se(Er.leadingComments[0].position.start),\"tag\"in Er&&Er.tag&&Se(Er.tag.position.start),\"anchor\"in Er&&Er.anchor&&Se(Er.anchor.position.start),\"trailingComment\"in Zt&&Zt.trailingComment&&Ye(Zt.trailingComment.position.end)}}};function le(M0){return M0.start}function hr(M0,e0){M0.start=e0}function pr(M0){return M0.end}function lt(M0,e0){M0.end=e0}function Qr(M0,e0){return e0.offset<M0.offset}function Wi(M0,e0){return e0.offset>M0.offset}var Io=Object.defineProperty({updatePositions:Ht},\"__esModule\",{value:!0});const Uo={ANCHOR:\"&\",COMMENT:\"#\",TAG:\"!\",DIRECTIVES_END:\"-\",DOCUMENT_END:\".\"},sa={ALIAS:\"ALIAS\",BLANK_LINE:\"BLANK_LINE\",BLOCK_FOLDED:\"BLOCK_FOLDED\",BLOCK_LITERAL:\"BLOCK_LITERAL\",COMMENT:\"COMMENT\",DIRECTIVE:\"DIRECTIVE\",DOCUMENT:\"DOCUMENT\",FLOW_MAP:\"FLOW_MAP\",FLOW_SEQ:\"FLOW_SEQ\",MAP:\"MAP\",MAP_KEY:\"MAP_KEY\",MAP_VALUE:\"MAP_VALUE\",PLAIN:\"PLAIN\",QUOTE_DOUBLE:\"QUOTE_DOUBLE\",QUOTE_SINGLE:\"QUOTE_SINGLE\",SEQ:\"SEQ\",SEQ_ITEM:\"SEQ_ITEM\"};function fn(M0){const e0=[0];let R0=M0.indexOf(`\n`);for(;R0!==-1;)R0+=1,e0.push(R0),R0=M0.indexOf(`\n`,R0);return e0}function Gn(M0){let e0,R0;return typeof M0==\"string\"?(e0=fn(M0),R0=M0):(Array.isArray(M0)&&(M0=M0[0]),M0&&M0.context&&(M0.lineStarts||(M0.lineStarts=fn(M0.context.src)),e0=M0.lineStarts,R0=M0.context.src)),{lineStarts:e0,src:R0}}function Ti(M0,e0){if(typeof M0!=\"number\"||M0<0)return null;const{lineStarts:R0,src:R1}=Gn(e0);if(!R0||!R1||M0>R1.length)return null;for(let Jx=0;Jx<R0.length;++Jx){const Se=R0[Jx];if(M0<Se)return{line:Jx,col:M0-R0[Jx-1]+1};if(M0===Se)return{line:Jx+1,col:1}}const H1=R0.length;return{line:H1,col:M0-R0[H1-1]+1}}function Eo({start:M0,end:e0},R0,R1=80){let H1=function(tt,Er){const{lineStarts:Zt,src:hi}=Gn(Er);if(!Zt||!(tt>=1)||tt>Zt.length)return null;const po=Zt[tt-1];let ba=Zt[tt];for(;ba&&ba>po&&hi[ba-1]===`\n`;)--ba;return hi.slice(po,ba)}(M0.line,R0);if(!H1)return null;let{col:Jx}=M0;if(H1.length>R1)if(Jx<=R1-10)H1=H1.substr(0,R1-1)+\"\\u2026\";else{const tt=Math.round(R1/2);H1.length>Jx+tt&&(H1=H1.substr(0,Jx+tt-1)+\"\\u2026\"),Jx-=H1.length-R1,H1=\"\\u2026\"+H1.substr(1-R1)}let Se=1,Ye=\"\";return e0&&(e0.line===M0.line&&Jx+(e0.col-M0.col)<=R1+1?Se=e0.col-M0.col:(Se=Math.min(H1.length+1,R1)-Jx,Ye=\"\\u2026\")),`${H1}\n${Jx>1?\" \".repeat(Jx-1):\"\"}${\"^\".repeat(Se)}${Ye}`}class qo{static copy(e0){return new qo(e0.start,e0.end)}constructor(e0,R0){this.start=e0,this.end=R0||e0}isEmpty(){return typeof this.start!=\"number\"||!this.end||this.end<=this.start}setOrigRange(e0,R0){const{start:R1,end:H1}=this;if(e0.length===0||H1<=e0[0])return this.origStart=R1,this.origEnd=H1,R0;let Jx=R0;for(;Jx<e0.length&&!(e0[Jx]>R1);)++Jx;this.origStart=R1+Jx;const Se=Jx;for(;Jx<e0.length&&!(e0[Jx]>=H1);)++Jx;return this.origEnd=H1+Jx,Se}}class ci{static addStringTerminator(e0,R0,R1){if(R1[R1.length-1]===`\n`)return R1;const H1=ci.endOfWhiteSpace(e0,R0);return H1>=e0.length||e0[H1]===`\n`?R1+`\n`:R1}static atDocumentBoundary(e0,R0,R1){const H1=e0[R0];if(!H1)return!0;const Jx=e0[R0-1];if(Jx&&Jx!==`\n`)return!1;if(R1){if(H1!==R1)return!1}else if(H1!==Uo.DIRECTIVES_END&&H1!==Uo.DOCUMENT_END)return!1;const Se=e0[R0+1],Ye=e0[R0+2];if(Se!==H1||Ye!==H1)return!1;const tt=e0[R0+3];return!tt||tt===`\n`||tt===\"\t\"||tt===\" \"}static endOfIdentifier(e0,R0){let R1=e0[R0];const H1=R1===\"<\",Jx=H1?[`\n`,\"\t\",\" \",\">\"]:[`\n`,\"\t\",\" \",\"[\",\"]\",\"{\",\"}\",\",\"];for(;R1&&Jx.indexOf(R1)===-1;)R1=e0[R0+=1];return H1&&R1===\">\"&&(R0+=1),R0}static endOfIndent(e0,R0){let R1=e0[R0];for(;R1===\" \";)R1=e0[R0+=1];return R0}static endOfLine(e0,R0){let R1=e0[R0];for(;R1&&R1!==`\n`;)R1=e0[R0+=1];return R0}static endOfWhiteSpace(e0,R0){let R1=e0[R0];for(;R1===\"\t\"||R1===\" \";)R1=e0[R0+=1];return R0}static startOfLine(e0,R0){let R1=e0[R0-1];if(R1===`\n`)return R0;for(;R1&&R1!==`\n`;)R1=e0[R0-=1];return R0+1}static endOfBlockIndent(e0,R0,R1){const H1=ci.endOfIndent(e0,R1);if(H1>R1+R0)return H1;{const Jx=ci.endOfWhiteSpace(e0,H1),Se=e0[Jx];if(!Se||Se===`\n`)return Jx}return null}static atBlank(e0,R0,R1){const H1=e0[R0];return H1===`\n`||H1===\"\t\"||H1===\" \"||R1&&!H1}static nextNodeIsIndented(e0,R0,R1){return!(!e0||R0<0)&&(R0>0||R1&&e0===\"-\")}static normalizeOffset(e0,R0){const R1=e0[R0];return R1?R1!==`\n`&&e0[R0-1]===`\n`?R0-1:ci.endOfWhiteSpace(e0,R0):R0}static foldNewline(e0,R0,R1){let H1=0,Jx=!1,Se=\"\",Ye=e0[R0+1];for(;Ye===\" \"||Ye===\"\t\"||Ye===`\n`;){switch(Ye){case`\n`:H1=0,R0+=1,Se+=`\n`;break;case\"\t\":H1<=R1&&(Jx=!0),R0=ci.endOfWhiteSpace(e0,R0+2)-1;break;case\" \":H1+=1,R0+=1}Ye=e0[R0+1]}return Se||(Se=\" \"),Ye&&H1<=R1&&(Jx=!0),{fold:Se,offset:R0,error:Jx}}constructor(e0,R0,R1){Object.defineProperty(this,\"context\",{value:R1||null,writable:!0}),this.error=null,this.range=null,this.valueRange=null,this.props=R0||[],this.type=e0,this.value=null}getPropValue(e0,R0,R1){if(!this.context)return null;const{src:H1}=this.context,Jx=this.props[e0];return Jx&&H1[Jx.start]===R0?H1.slice(Jx.start+(R1?1:0),Jx.end):null}get anchor(){for(let e0=0;e0<this.props.length;++e0){const R0=this.getPropValue(e0,Uo.ANCHOR,!0);if(R0!=null)return R0}return null}get comment(){const e0=[];for(let R0=0;R0<this.props.length;++R0){const R1=this.getPropValue(R0,Uo.COMMENT,!0);R1!=null&&e0.push(R1)}return e0.length>0?e0.join(`\n`):null}commentHasRequiredWhitespace(e0){const{src:R0}=this.context;if(this.header&&e0===this.header.end||!this.valueRange)return!1;const{end:R1}=this.valueRange;return e0!==R1||ci.atBlank(R0,R1-1)}get hasComment(){if(this.context){const{src:e0}=this.context;for(let R0=0;R0<this.props.length;++R0)if(e0[this.props[R0].start]===Uo.COMMENT)return!0}return!1}get hasProps(){if(this.context){const{src:e0}=this.context;for(let R0=0;R0<this.props.length;++R0)if(e0[this.props[R0].start]!==Uo.COMMENT)return!0}return!1}get includesTrailingLines(){return!1}get jsonLike(){return[sa.FLOW_MAP,sa.FLOW_SEQ,sa.QUOTE_DOUBLE,sa.QUOTE_SINGLE].indexOf(this.type)!==-1}get rangeAsLinePos(){if(!this.range||!this.context)return;const e0=Ti(this.range.start,this.context.root);if(!!e0)return{start:e0,end:Ti(this.range.end,this.context.root)}}get rawValue(){if(!this.valueRange||!this.context)return null;const{start:e0,end:R0}=this.valueRange;return this.context.src.slice(e0,R0)}get tag(){for(let e0=0;e0<this.props.length;++e0){const R0=this.getPropValue(e0,Uo.TAG,!1);if(R0!=null){if(R0[1]===\"<\")return{verbatim:R0.slice(2,-1)};{const[R1,H1,Jx]=R0.match(/^(.*!)([^!]*)$/);return{handle:H1,suffix:Jx}}}}return null}get valueRangeContainsNewline(){if(!this.valueRange||!this.context)return!1;const{start:e0,end:R0}=this.valueRange,{src:R1}=this.context;for(let H1=e0;H1<R0;++H1)if(R1[H1]===`\n`)return!0;return!1}parseComment(e0){const{src:R0}=this.context;if(R0[e0]===Uo.COMMENT){const R1=ci.endOfLine(R0,e0+1),H1=new qo(e0,R1);return this.props.push(H1),R1}return e0}setOrigRanges(e0,R0){return this.range&&(R0=this.range.setOrigRange(e0,R0)),this.valueRange&&this.valueRange.setOrigRange(e0,R0),this.props.forEach(R1=>R1.setOrigRange(e0,R0)),R0}toString(){const{context:{src:e0},range:R0,value:R1}=this;if(R1!=null)return R1;const H1=e0.slice(R0.start,R0.end);return ci.addStringTerminator(e0,R0.end,H1)}}class os extends Error{constructor(e0,R0,R1){if(!(R1&&R0 instanceof ci))throw new Error(`Invalid arguments for new ${e0}`);super(),this.name=e0,this.message=R1,this.source=R0}makePretty(){if(!this.source)return;this.nodeType=this.source.type;const e0=this.source.context&&this.source.context.root;if(typeof this.offset==\"number\"){this.range=new qo(this.offset,this.offset+1);const R0=e0&&Ti(this.offset,e0);if(R0){const R1={line:R0.line,col:R0.col+1};this.linePos={start:R0,end:R1}}delete this.offset}else this.range=this.source.range,this.linePos=this.source.rangeAsLinePos;if(this.linePos){const{line:R0,col:R1}=this.linePos.start;this.message+=` at line ${R0}, column ${R1}`;const H1=e0&&Eo(this.linePos,e0);H1&&(this.message+=`:\n\n${H1}\n`)}delete this.source}}class $s extends os{constructor(e0,R0){super(\"YAMLSemanticError\",e0,R0)}}class Po extends ci{static endOfLine(e0,R0,R1){let H1=e0[R0],Jx=R0;for(;H1&&H1!==`\n`&&(!R1||H1!==\"[\"&&H1!==\"]\"&&H1!==\"{\"&&H1!==\"}\"&&H1!==\",\");){const Se=e0[Jx+1];if(H1===\":\"&&(!Se||Se===`\n`||Se===\"\t\"||Se===\" \"||R1&&Se===\",\")||(H1===\" \"||H1===\"\t\")&&Se===\"#\")break;Jx+=1,H1=Se}return Jx}get strValue(){if(!this.valueRange||!this.context)return null;let{start:e0,end:R0}=this.valueRange;const{src:R1}=this.context;let H1=R1[R0-1];for(;e0<R0&&(H1===`\n`||H1===\"\t\"||H1===\" \");)H1=R1[--R0-1];let Jx=\"\";for(let Ye=e0;Ye<R0;++Ye){const tt=R1[Ye];if(tt===`\n`){const{fold:Er,offset:Zt}=ci.foldNewline(R1,Ye,-1);Jx+=Er,Ye=Zt}else if(tt===\" \"||tt===\"\t\"){const Er=Ye;let Zt=R1[Ye+1];for(;Ye<R0&&(Zt===\" \"||Zt===\"\t\");)Ye+=1,Zt=R1[Ye+1];Zt!==`\n`&&(Jx+=Ye>Er?R1.slice(Er,Ye+1):tt)}else Jx+=tt}const Se=R1[e0];switch(Se){case\"\t\":return{errors:[new $s(this,\"Plain value cannot start with a tab character\")],str:Jx};case\"@\":case\"`\":return{errors:[new $s(this,`Plain value cannot start with reserved character ${Se}`)],str:Jx};default:return Jx}}parseBlockValue(e0){const{indent:R0,inFlow:R1,src:H1}=this.context;let Jx=e0,Se=e0;for(let Ye=H1[Jx];Ye===`\n`&&!ci.atDocumentBoundary(H1,Jx+1);Ye=H1[Jx]){const tt=ci.endOfBlockIndent(H1,R0,Jx+1);if(tt===null||H1[tt]===\"#\")break;H1[tt]===`\n`?Jx=tt:(Se=Po.endOfLine(H1,tt,R1),Jx=Se)}return this.valueRange.isEmpty()&&(this.valueRange.start=e0),this.valueRange.end=Se,Se}parse(e0,R0){this.context=e0;const{inFlow:R1,src:H1}=e0;let Jx=R0;const Se=H1[Jx];return Se&&Se!==\"#\"&&Se!==`\n`&&(Jx=Po.endOfLine(H1,R0,R1)),this.valueRange=new qo(R0,Jx),Jx=ci.endOfWhiteSpace(H1,Jx),Jx=this.parseComment(Jx),this.hasComment&&!this.valueRange.isEmpty()||(Jx=this.parseBlockValue(Jx)),Jx}}var Dr={Char:Uo,Node:ci,PlainValue:Po,Range:qo,Type:sa,YAMLError:os,YAMLReferenceError:class extends os{constructor(M0,e0){super(\"YAMLReferenceError\",M0,e0)}},YAMLSemanticError:$s,YAMLSyntaxError:class extends os{constructor(M0,e0){super(\"YAMLSyntaxError\",M0,e0)}},YAMLWarning:class extends os{constructor(M0,e0){super(\"YAMLWarning\",M0,e0)}},_defineProperty:function(M0,e0,R0){return e0 in M0?Object.defineProperty(M0,e0,{value:R0,enumerable:!0,configurable:!0,writable:!0}):M0[e0]=R0,M0},defaultTagPrefix:\"tag:yaml.org,2002:\",defaultTags:{MAP:\"tag:yaml.org,2002:map\",SEQ:\"tag:yaml.org,2002:seq\",STR:\"tag:yaml.org,2002:str\"}};class Nm extends Dr.Node{constructor(){super(Dr.Type.BLANK_LINE)}get includesTrailingLines(){return!0}parse(e0,R0){return this.context=e0,this.range=new Dr.Range(R0,R0+1),R0+1}}class Og extends Dr.Node{constructor(e0,R0){super(e0,R0),this.node=null}get includesTrailingLines(){return!!this.node&&this.node.includesTrailingLines}parse(e0,R0){this.context=e0;const{parseNode:R1,src:H1}=e0;let{atLineStart:Jx,lineStart:Se}=e0;Jx||this.type!==Dr.Type.SEQ_ITEM||(this.error=new Dr.YAMLSemanticError(this,\"Sequence items must not have preceding content on the same line\"));const Ye=Jx?R0-Se:e0.indent;let tt=Dr.Node.endOfWhiteSpace(H1,R0+1),Er=H1[tt];const Zt=Er===\"#\",hi=[];let po=null;for(;Er===`\n`||Er===\"#\";){if(Er===\"#\"){const oa=Dr.Node.endOfLine(H1,tt+1);hi.push(new Dr.Range(tt,oa)),tt=oa}else Jx=!0,Se=tt+1,H1[Dr.Node.endOfWhiteSpace(H1,Se)]===`\n`&&hi.length===0&&(po=new Nm,Se=po.parse({src:H1},Se)),tt=Dr.Node.endOfIndent(H1,Se);Er=H1[tt]}if(Dr.Node.nextNodeIsIndented(Er,tt-(Se+Ye),this.type!==Dr.Type.SEQ_ITEM)?this.node=R1({atLineStart:Jx,inCollection:!1,indent:Ye,lineStart:Se,parent:this},tt):Er&&Se>R0+1&&(tt=Se-1),this.node){if(po){const oa=e0.parent.items||e0.parent.contents;oa&&oa.push(po)}hi.length&&Array.prototype.push.apply(this.props,hi),tt=this.node.range.end}else if(Zt){const oa=hi[0];this.props.push(oa),tt=oa.end}else tt=Dr.Node.endOfLine(H1,R0+1);const ba=this.node?this.node.valueRange.end:tt;return this.valueRange=new Dr.Range(R0,ba),tt}setOrigRanges(e0,R0){return R0=super.setOrigRanges(e0,R0),this.node?this.node.setOrigRanges(e0,R0):R0}toString(){const{context:{src:e0},node:R0,range:R1,value:H1}=this;if(H1!=null)return H1;const Jx=R0?e0.slice(R1.start,R0.range.start)+String(R0):e0.slice(R1.start,R1.end);return Dr.Node.addStringTerminator(e0,R1.end,Jx)}}class Bg extends Dr.Node{constructor(){super(Dr.Type.COMMENT)}parse(e0,R0){this.context=e0;const R1=this.parseComment(R0);return this.range=new Dr.Range(R0,R1),R1}}function _S(M0){let e0=M0;for(;e0 instanceof Og;)e0=e0.node;if(!(e0 instanceof f8))return null;const R0=e0.items.length;let R1=-1;for(let Se=R0-1;Se>=0;--Se){const Ye=e0.items[Se];if(Ye.type===Dr.Type.COMMENT){const{indent:tt,lineStart:Er}=Ye.context;if(tt>0&&Ye.range.start>=Er+tt)break;R1=Se}else{if(Ye.type!==Dr.Type.BLANK_LINE)break;R1=Se}}if(R1===-1)return null;const H1=e0.items.splice(R1,R0-R1),Jx=H1[0].range.start;for(;e0.range.end=Jx,e0.valueRange&&e0.valueRange.end>Jx&&(e0.valueRange.end=Jx),e0!==M0;)e0=e0.context.parent;return H1}class f8 extends Dr.Node{static nextContentHasIndent(e0,R0,R1){const H1=Dr.Node.endOfLine(e0,R0)+1,Jx=e0[R0=Dr.Node.endOfWhiteSpace(e0,H1)];return!!Jx&&(R0>=H1+R1||(Jx===\"#\"||Jx===`\n`)&&f8.nextContentHasIndent(e0,R0,R1))}constructor(e0){super(e0.type===Dr.Type.SEQ_ITEM?Dr.Type.SEQ:Dr.Type.MAP);for(let R1=e0.props.length-1;R1>=0;--R1)if(e0.props[R1].start<e0.context.lineStart){this.props=e0.props.slice(0,R1+1),e0.props=e0.props.slice(R1+1);const H1=e0.props[0]||e0.valueRange;e0.range.start=H1.start;break}this.items=[e0];const R0=_S(e0);R0&&Array.prototype.push.apply(this.items,R0)}get includesTrailingLines(){return this.items.length>0}parse(e0,R0){this.context=e0;const{parseNode:R1,src:H1}=e0;let Jx=Dr.Node.startOfLine(H1,R0);const Se=this.items[0];Se.context.parent=this,this.valueRange=Dr.Range.copy(Se.valueRange);const Ye=Se.range.start-Se.context.lineStart;let tt=R0;tt=Dr.Node.normalizeOffset(H1,tt);let Er=H1[tt],Zt=Dr.Node.endOfWhiteSpace(H1,Jx)===tt,hi=!1;for(;Er;){for(;Er===`\n`||Er===\"#\";){if(Zt&&Er===`\n`&&!hi){const oa=new Nm;if(tt=oa.parse({src:H1},tt),this.valueRange.end=tt,tt>=H1.length){Er=null;break}this.items.push(oa),tt-=1}else if(Er===\"#\"){if(tt<Jx+Ye&&!f8.nextContentHasIndent(H1,tt,Ye))return tt;const oa=new Bg;if(tt=oa.parse({indent:Ye,lineStart:Jx,src:H1},tt),this.items.push(oa),this.valueRange.end=tt,tt>=H1.length){Er=null;break}}if(Jx=tt+1,tt=Dr.Node.endOfIndent(H1,Jx),Dr.Node.atBlank(H1,tt)){const oa=Dr.Node.endOfWhiteSpace(H1,tt),ho=H1[oa];ho&&ho!==`\n`&&ho!==\"#\"||(tt=oa)}Er=H1[tt],Zt=!0}if(!Er)break;if(tt!==Jx+Ye&&(Zt||Er!==\":\")){if(tt<Jx+Ye){Jx>R0&&(tt=Jx);break}if(!this.error){const oa=\"All collection items must start at the same column\";this.error=new Dr.YAMLSyntaxError(this,oa)}}if(Se.type===Dr.Type.SEQ_ITEM){if(Er!==\"-\"){Jx>R0&&(tt=Jx);break}}else if(Er===\"-\"&&!this.error){const oa=H1[tt+1];if(!oa||oa===`\n`||oa===\"\t\"||oa===\" \"){const ho=\"A collection cannot be both a mapping and a sequence\";this.error=new Dr.YAMLSyntaxError(this,ho)}}const po=R1({atLineStart:Zt,inCollection:!0,indent:Ye,lineStart:Jx,parent:this},tt);if(!po)return tt;if(this.items.push(po),this.valueRange.end=po.valueRange.end,tt=Dr.Node.normalizeOffset(H1,po.range.end),Er=H1[tt],Zt=!1,hi=po.includesTrailingLines,Er){let oa=tt-1,ho=H1[oa];for(;ho===\" \"||ho===\"\t\";)ho=H1[--oa];ho===`\n`&&(Jx=oa+1,Zt=!0)}const ba=_S(po);ba&&Array.prototype.push.apply(this.items,ba)}return tt}setOrigRanges(e0,R0){return R0=super.setOrigRanges(e0,R0),this.items.forEach(R1=>{R0=R1.setOrigRanges(e0,R0)}),R0}toString(){const{context:{src:e0},items:R0,range:R1,value:H1}=this;if(H1!=null)return H1;let Jx=e0.slice(R1.start,R0[0].range.start)+String(R0[0]);for(let Se=1;Se<R0.length;++Se){const Ye=R0[Se],{atLineStart:tt,indent:Er}=Ye.context;if(tt)for(let Zt=0;Zt<Er;++Zt)Jx+=\" \";Jx+=String(Ye)}return Dr.Node.addStringTerminator(e0,R1.end,Jx)}}class Lx extends Dr.Node{constructor(){super(Dr.Type.DIRECTIVE),this.name=null}get parameters(){const e0=this.rawValue;return e0?e0.trim().split(/[ \\t]+/):[]}parseName(e0){const{src:R0}=this.context;let R1=e0,H1=R0[R1];for(;H1&&H1!==`\n`&&H1!==\"\t\"&&H1!==\" \";)H1=R0[R1+=1];return this.name=R0.slice(e0,R1),R1}parseParameters(e0){const{src:R0}=this.context;let R1=e0,H1=R0[R1];for(;H1&&H1!==`\n`&&H1!==\"#\";)H1=R0[R1+=1];return this.valueRange=new Dr.Range(e0,R1),R1}parse(e0,R0){this.context=e0;let R1=this.parseName(R0+1);return R1=this.parseParameters(R1),R1=this.parseComment(R1),this.range=new Dr.Range(R0,R1),R1}}class q1 extends Dr.Node{static startCommentOrEndBlankLine(e0,R0){const R1=Dr.Node.endOfWhiteSpace(e0,R0),H1=e0[R1];return H1===\"#\"||H1===`\n`?R1:R0}constructor(){super(Dr.Type.DOCUMENT),this.directives=null,this.contents=null,this.directivesEndMarker=null,this.documentEndMarker=null}parseDirectives(e0){const{src:R0}=this.context;this.directives=[];let R1=!0,H1=!1,Jx=e0;for(;!Dr.Node.atDocumentBoundary(R0,Jx,Dr.Char.DIRECTIVES_END);)switch(Jx=q1.startCommentOrEndBlankLine(R0,Jx),R0[Jx]){case`\n`:if(R1){const Se=new Nm;Jx=Se.parse({src:R0},Jx),Jx<R0.length&&this.directives.push(Se)}else Jx+=1,R1=!0;break;case\"#\":{const Se=new Bg;Jx=Se.parse({src:R0},Jx),this.directives.push(Se),R1=!1}break;case\"%\":{const Se=new Lx;Jx=Se.parse({parent:this,src:R0},Jx),this.directives.push(Se),H1=!0,R1=!1}break;default:return H1?this.error=new Dr.YAMLSemanticError(this,\"Missing directives-end indicator line\"):this.directives.length>0&&(this.contents=this.directives,this.directives=[]),Jx}return R0[Jx]?(this.directivesEndMarker=new Dr.Range(Jx,Jx+3),Jx+3):(H1?this.error=new Dr.YAMLSemanticError(this,\"Missing directives-end indicator line\"):this.directives.length>0&&(this.contents=this.directives,this.directives=[]),Jx)}parseContents(e0){const{parseNode:R0,src:R1}=this.context;this.contents||(this.contents=[]);let H1=e0;for(;R1[H1-1]===\"-\";)H1-=1;let Jx=Dr.Node.endOfWhiteSpace(R1,e0),Se=H1===e0;for(this.valueRange=new Dr.Range(Jx);!Dr.Node.atDocumentBoundary(R1,Jx,Dr.Char.DOCUMENT_END);){switch(R1[Jx]){case`\n`:if(Se){const Ye=new Nm;Jx=Ye.parse({src:R1},Jx),Jx<R1.length&&this.contents.push(Ye)}else Jx+=1,Se=!0;H1=Jx;break;case\"#\":{const Ye=new Bg;Jx=Ye.parse({src:R1},Jx),this.contents.push(Ye),Se=!1}break;default:{const Ye=Dr.Node.endOfIndent(R1,Jx),tt=R0({atLineStart:Se,indent:-1,inFlow:!1,inCollection:!1,lineStart:H1,parent:this},Ye);if(!tt)return this.valueRange.end=Ye;this.contents.push(tt),Jx=tt.range.end,Se=!1;const Er=_S(tt);Er&&Array.prototype.push.apply(this.contents,Er)}}Jx=q1.startCommentOrEndBlankLine(R1,Jx)}if(this.valueRange.end=Jx,R1[Jx]&&(this.documentEndMarker=new Dr.Range(Jx,Jx+3),Jx+=3,R1[Jx])){if(Jx=Dr.Node.endOfWhiteSpace(R1,Jx),R1[Jx]===\"#\"){const Ye=new Bg;Jx=Ye.parse({src:R1},Jx),this.contents.push(Ye)}switch(R1[Jx]){case`\n`:Jx+=1;break;case void 0:break;default:this.error=new Dr.YAMLSyntaxError(this,\"Document end marker line cannot have a non-comment suffix\")}}return Jx}parse(e0,R0){e0.root=this,this.context=e0;const{src:R1}=e0;let H1=R1.charCodeAt(R0)===65279?R0+1:R0;return H1=this.parseDirectives(H1),H1=this.parseContents(H1),H1}setOrigRanges(e0,R0){return R0=super.setOrigRanges(e0,R0),this.directives.forEach(R1=>{R0=R1.setOrigRanges(e0,R0)}),this.directivesEndMarker&&(R0=this.directivesEndMarker.setOrigRange(e0,R0)),this.contents.forEach(R1=>{R0=R1.setOrigRanges(e0,R0)}),this.documentEndMarker&&(R0=this.documentEndMarker.setOrigRange(e0,R0)),R0}toString(){const{contents:e0,directives:R0,value:R1}=this;if(R1!=null)return R1;let H1=R0.join(\"\");return e0.length>0&&((R0.length>0||e0[0].type===Dr.Type.COMMENT)&&(H1+=`---\n`),H1+=e0.join(\"\")),H1[H1.length-1]!==`\n`&&(H1+=`\n`),H1}}class Qx extends Dr.Node{parse(e0,R0){this.context=e0;const{src:R1}=e0;let H1=Dr.Node.endOfIdentifier(R1,R0+1);return this.valueRange=new Dr.Range(R0+1,H1),H1=Dr.Node.endOfWhiteSpace(R1,H1),H1=this.parseComment(H1),H1}}const Be=\"CLIP\",St=\"KEEP\",_r=\"STRIP\";class gi extends Dr.Node{constructor(e0,R0){super(e0,R0),this.blockIndent=null,this.chomping=Be,this.header=null}get includesTrailingLines(){return this.chomping===St}get strValue(){if(!this.valueRange||!this.context)return null;let{start:e0,end:R0}=this.valueRange;const{indent:R1,src:H1}=this.context;if(this.valueRange.isEmpty())return\"\";let Jx=null,Se=H1[R0-1];for(;Se===`\n`||Se===\"\t\"||Se===\" \";){if(R0-=1,R0<=e0){if(this.chomping===St)break;return\"\"}Se===`\n`&&(Jx=R0),Se=H1[R0-1]}let Ye=R0+1;Jx&&(this.chomping===St?(Ye=Jx,R0=this.valueRange.end):R0=Jx);const tt=R1+this.blockIndent,Er=this.type===Dr.Type.BLOCK_FOLDED;let Zt=!0,hi=\"\",po=\"\",ba=!1;for(let oa=e0;oa<R0;++oa){for(let Za=0;Za<tt&&H1[oa]===\" \";++Za)oa+=1;const ho=H1[oa];if(ho===`\n`)po===`\n`?hi+=`\n`:po=`\n`;else{const Za=Dr.Node.endOfLine(H1,oa),Od=H1.slice(oa,Za);oa=Za,Er&&(ho===\" \"||ho===\"\t\")&&oa<Ye?(po===\" \"?po=`\n`:ba||Zt||po!==`\n`||(po=`\n\n`),hi+=po+Od,po=Za<R0&&H1[Za]||\"\",ba=!0):(hi+=po+Od,po=Er&&oa<Ye?\" \":`\n`,ba=!1),Zt&&Od!==\"\"&&(Zt=!1)}}return this.chomping===_r?hi:hi+`\n`}parseBlockHeader(e0){const{src:R0}=this.context;let R1=e0+1,H1=\"\";for(;;){const Jx=R0[R1];switch(Jx){case\"-\":this.chomping=_r;break;case\"+\":this.chomping=St;break;case\"0\":case\"1\":case\"2\":case\"3\":case\"4\":case\"5\":case\"6\":case\"7\":case\"8\":case\"9\":H1+=Jx;break;default:return this.blockIndent=Number(H1)||null,this.header=new Dr.Range(e0,R1),R1}R1+=1}}parseBlockValue(e0){const{indent:R0,src:R1}=this.context,H1=!!this.blockIndent;let Jx=e0,Se=e0,Ye=1;for(let tt=R1[Jx];tt===`\n`&&(Jx+=1,!Dr.Node.atDocumentBoundary(R1,Jx));tt=R1[Jx]){const Er=Dr.Node.endOfBlockIndent(R1,R0,Jx);if(Er===null)break;const Zt=R1[Er],hi=Er-(Jx+R0);if(this.blockIndent){if(Zt&&Zt!==`\n`&&hi<this.blockIndent){if(R1[Er]===\"#\")break;if(!this.error){const po=`Block scalars must not be less indented than their ${H1?\"explicit indentation indicator\":\"first line\"}`;this.error=new Dr.YAMLSemanticError(this,po)}}}else if(R1[Er]!==`\n`){if(hi<Ye){const po=\"Block scalars with more-indented leading empty lines must use an explicit indentation indicator\";this.error=new Dr.YAMLSemanticError(this,po)}this.blockIndent=hi}else hi>Ye&&(Ye=hi);Jx=R1[Er]===`\n`?Er:Se=Dr.Node.endOfLine(R1,Er)}return this.chomping!==St&&(Jx=R1[Se]?Se+1:Se),this.valueRange=new Dr.Range(e0+1,Jx),Jx}parse(e0,R0){this.context=e0;const{src:R1}=e0;let H1=this.parseBlockHeader(R0);return H1=Dr.Node.endOfWhiteSpace(R1,H1),H1=this.parseComment(H1),H1=this.parseBlockValue(H1),H1}setOrigRanges(e0,R0){return R0=super.setOrigRanges(e0,R0),this.header?this.header.setOrigRange(e0,R0):R0}}class je extends Dr.Node{constructor(e0,R0){super(e0,R0),this.items=null}prevNodeIsJsonLike(e0=this.items.length){const R0=this.items[e0-1];return!!R0&&(R0.jsonLike||R0.type===Dr.Type.COMMENT&&this.prevNodeIsJsonLike(e0-1))}parse(e0,R0){this.context=e0;const{parseNode:R1,src:H1}=e0;let{indent:Jx,lineStart:Se}=e0,Ye=H1[R0];this.items=[{char:Ye,offset:R0}];let tt=Dr.Node.endOfWhiteSpace(H1,R0+1);for(Ye=H1[tt];Ye&&Ye!==\"]\"&&Ye!==\"}\";){switch(Ye){case`\n`:if(Se=tt+1,H1[Dr.Node.endOfWhiteSpace(H1,Se)]===`\n`){const Er=new Nm;Se=Er.parse({src:H1},Se),this.items.push(Er)}if(tt=Dr.Node.endOfIndent(H1,Se),tt<=Se+Jx&&(Ye=H1[tt],tt<Se+Jx||Ye!==\"]\"&&Ye!==\"}\")){const Er=\"Insufficient indentation in flow collection\";this.error=new Dr.YAMLSemanticError(this,Er)}break;case\",\":this.items.push({char:Ye,offset:tt}),tt+=1;break;case\"#\":{const Er=new Bg;tt=Er.parse({src:H1},tt),this.items.push(Er)}break;case\"?\":case\":\":{const Er=H1[tt+1];if(Er===`\n`||Er===\"\t\"||Er===\" \"||Er===\",\"||Ye===\":\"&&this.prevNodeIsJsonLike()){this.items.push({char:Ye,offset:tt}),tt+=1;break}}default:{const Er=R1({atLineStart:!1,inCollection:!1,inFlow:!0,indent:-1,lineStart:Se,parent:this},tt);if(!Er)return this.valueRange=new Dr.Range(R0,tt),tt;this.items.push(Er),tt=Dr.Node.normalizeOffset(H1,Er.range.end)}}tt=Dr.Node.endOfWhiteSpace(H1,tt),Ye=H1[tt]}return this.valueRange=new Dr.Range(R0,tt+1),Ye&&(this.items.push({char:Ye,offset:tt}),tt=Dr.Node.endOfWhiteSpace(H1,tt+1),tt=this.parseComment(tt)),tt}setOrigRanges(e0,R0){return R0=super.setOrigRanges(e0,R0),this.items.forEach(R1=>{if(R1 instanceof Dr.Node)R0=R1.setOrigRanges(e0,R0);else if(e0.length===0)R1.origOffset=R1.offset;else{let H1=R0;for(;H1<e0.length&&!(e0[H1]>R1.offset);)++H1;R1.origOffset=R1.offset+H1,R0=H1}}),R0}toString(){const{context:{src:e0},items:R0,range:R1,value:H1}=this;if(H1!=null)return H1;const Jx=R0.filter(tt=>tt instanceof Dr.Node);let Se=\"\",Ye=R1.start;return Jx.forEach(tt=>{const Er=e0.slice(Ye,tt.range.start);Ye=tt.range.end,Se+=Er+String(tt),Se[Se.length-1]===`\n`&&e0[Ye-1]!==`\n`&&e0[Ye]===`\n`&&(Ye+=1)}),Se+=e0.slice(Ye,R1.end),Dr.Node.addStringTerminator(e0,R1.end,Se)}}class Gu extends Dr.Node{static endOfQuote(e0,R0){let R1=e0[R0];for(;R1&&R1!=='\"';)R1=e0[R0+=R1===\"\\\\\"?2:1];return R0+1}get strValue(){if(!this.valueRange||!this.context)return null;const e0=[],{start:R0,end:R1}=this.valueRange,{indent:H1,src:Jx}=this.context;Jx[R1-1]!=='\"'&&e0.push(new Dr.YAMLSyntaxError(this,'Missing closing \"quote'));let Se=\"\";for(let Ye=R0+1;Ye<R1-1;++Ye){const tt=Jx[Ye];if(tt===`\n`){Dr.Node.atDocumentBoundary(Jx,Ye+1)&&e0.push(new Dr.YAMLSemanticError(this,\"Document boundary indicators are not allowed within string values\"));const{fold:Er,offset:Zt,error:hi}=Dr.Node.foldNewline(Jx,Ye,H1);Se+=Er,Ye=Zt,hi&&e0.push(new Dr.YAMLSemanticError(this,\"Multi-line double-quoted string needs to be sufficiently indented\"))}else if(tt===\"\\\\\")switch(Ye+=1,Jx[Ye]){case\"0\":Se+=\"\\0\";break;case\"a\":Se+=\"\\x07\";break;case\"b\":Se+=\"\\b\";break;case\"e\":Se+=\"\u001b\";break;case\"f\":Se+=\"\\f\";break;case\"n\":Se+=`\n`;break;case\"r\":Se+=\"\\r\";break;case\"t\":Se+=\"\t\";break;case\"v\":Se+=\"\\v\";break;case\"N\":Se+=\"\\x85\";break;case\"_\":Se+=\"\\xA0\";break;case\"L\":Se+=\"\\u2028\";break;case\"P\":Se+=\"\\u2029\";break;case\" \":Se+=\" \";break;case'\"':Se+='\"';break;case\"/\":Se+=\"/\";break;case\"\\\\\":Se+=\"\\\\\";break;case\"\t\":Se+=\"\t\";break;case\"x\":Se+=this.parseCharCode(Ye+1,2,e0),Ye+=2;break;case\"u\":Se+=this.parseCharCode(Ye+1,4,e0),Ye+=4;break;case\"U\":Se+=this.parseCharCode(Ye+1,8,e0),Ye+=8;break;case`\n`:for(;Jx[Ye+1]===\" \"||Jx[Ye+1]===\"\t\";)Ye+=1;break;default:e0.push(new Dr.YAMLSyntaxError(this,`Invalid escape sequence ${Jx.substr(Ye-1,2)}`)),Se+=\"\\\\\"+Jx[Ye]}else if(tt===\" \"||tt===\"\t\"){const Er=Ye;let Zt=Jx[Ye+1];for(;Zt===\" \"||Zt===\"\t\";)Ye+=1,Zt=Jx[Ye+1];Zt!==`\n`&&(Se+=Ye>Er?Jx.slice(Er,Ye+1):tt)}else Se+=tt}return e0.length>0?{errors:e0,str:Se}:Se}parseCharCode(e0,R0,R1){const{src:H1}=this.context,Jx=H1.substr(e0,R0),Se=Jx.length===R0&&/^[0-9a-fA-F]+$/.test(Jx)?parseInt(Jx,16):NaN;return isNaN(Se)?(R1.push(new Dr.YAMLSyntaxError(this,`Invalid escape sequence ${H1.substr(e0-2,R0+2)}`)),H1.substr(e0-2,R0+2)):String.fromCodePoint(Se)}parse(e0,R0){this.context=e0;const{src:R1}=e0;let H1=Gu.endOfQuote(R1,R0+1);return this.valueRange=new Dr.Range(R0,H1),H1=Dr.Node.endOfWhiteSpace(R1,H1),H1=this.parseComment(H1),H1}}class io extends Dr.Node{static endOfQuote(e0,R0){let R1=e0[R0];for(;R1;)if(R1===\"'\"){if(e0[R0+1]!==\"'\")break;R1=e0[R0+=2]}else R1=e0[R0+=1];return R0+1}get strValue(){if(!this.valueRange||!this.context)return null;const e0=[],{start:R0,end:R1}=this.valueRange,{indent:H1,src:Jx}=this.context;Jx[R1-1]!==\"'\"&&e0.push(new Dr.YAMLSyntaxError(this,\"Missing closing 'quote\"));let Se=\"\";for(let Ye=R0+1;Ye<R1-1;++Ye){const tt=Jx[Ye];if(tt===`\n`){Dr.Node.atDocumentBoundary(Jx,Ye+1)&&e0.push(new Dr.YAMLSemanticError(this,\"Document boundary indicators are not allowed within string values\"));const{fold:Er,offset:Zt,error:hi}=Dr.Node.foldNewline(Jx,Ye,H1);Se+=Er,Ye=Zt,hi&&e0.push(new Dr.YAMLSemanticError(this,\"Multi-line single-quoted string needs to be sufficiently indented\"))}else if(tt===\"'\")Se+=tt,Ye+=1,Jx[Ye]!==\"'\"&&e0.push(new Dr.YAMLSyntaxError(this,\"Unescaped single quote? This should not happen.\"));else if(tt===\" \"||tt===\"\t\"){const Er=Ye;let Zt=Jx[Ye+1];for(;Zt===\" \"||Zt===\"\t\";)Ye+=1,Zt=Jx[Ye+1];Zt!==`\n`&&(Se+=Ye>Er?Jx.slice(Er,Ye+1):tt)}else Se+=tt}return e0.length>0?{errors:e0,str:Se}:Se}parse(e0,R0){this.context=e0;const{src:R1}=e0;let H1=io.endOfQuote(R1,R0+1);return this.valueRange=new Dr.Range(R0,H1),H1=Dr.Node.endOfWhiteSpace(R1,H1),H1=this.parseComment(H1),H1}}class ss{static parseType(e0,R0,R1){switch(e0[R0]){case\"*\":return Dr.Type.ALIAS;case\">\":return Dr.Type.BLOCK_FOLDED;case\"|\":return Dr.Type.BLOCK_LITERAL;case\"{\":return Dr.Type.FLOW_MAP;case\"[\":return Dr.Type.FLOW_SEQ;case\"?\":return!R1&&Dr.Node.atBlank(e0,R0+1,!0)?Dr.Type.MAP_KEY:Dr.Type.PLAIN;case\":\":return!R1&&Dr.Node.atBlank(e0,R0+1,!0)?Dr.Type.MAP_VALUE:Dr.Type.PLAIN;case\"-\":return!R1&&Dr.Node.atBlank(e0,R0+1,!0)?Dr.Type.SEQ_ITEM:Dr.Type.PLAIN;case'\"':return Dr.Type.QUOTE_DOUBLE;case\"'\":return Dr.Type.QUOTE_SINGLE;default:return Dr.Type.PLAIN}}constructor(e0={},{atLineStart:R0,inCollection:R1,inFlow:H1,indent:Jx,lineStart:Se,parent:Ye}={}){Dr._defineProperty(this,\"parseNode\",(tt,Er)=>{if(Dr.Node.atDocumentBoundary(this.src,Er))return null;const Zt=new ss(this,tt),{props:hi,type:po,valueStart:ba}=Zt.parseProps(Er),oa=function(Za,Od){switch(Za){case Dr.Type.ALIAS:return new Qx(Za,Od);case Dr.Type.BLOCK_FOLDED:case Dr.Type.BLOCK_LITERAL:return new gi(Za,Od);case Dr.Type.FLOW_MAP:case Dr.Type.FLOW_SEQ:return new je(Za,Od);case Dr.Type.MAP_KEY:case Dr.Type.MAP_VALUE:case Dr.Type.SEQ_ITEM:return new Og(Za,Od);case Dr.Type.COMMENT:case Dr.Type.PLAIN:return new Dr.PlainValue(Za,Od);case Dr.Type.QUOTE_DOUBLE:return new Gu(Za,Od);case Dr.Type.QUOTE_SINGLE:return new io(Za,Od);default:return null}}(po,hi);let ho=oa.parse(Zt,ba);if(oa.range=new Dr.Range(Er,ho),ho<=Er&&(oa.error=new Error(\"Node#parse consumed no characters\"),oa.error.parseEnd=ho,oa.error.source=oa,oa.range.end=Er+1),Zt.nodeStartsCollection(oa)){oa.error||Zt.atLineStart||Zt.parent.type!==Dr.Type.DOCUMENT||(oa.error=new Dr.YAMLSyntaxError(oa,\"Block collection must not have preceding content here (e.g. directives-end indicator)\"));const Za=new f8(oa);return ho=Za.parse(new ss(Zt),ho),Za.range=new Dr.Range(Er,ho),Za}return oa}),this.atLineStart=R0!=null?R0:e0.atLineStart||!1,this.inCollection=R1!=null?R1:e0.inCollection||!1,this.inFlow=H1!=null?H1:e0.inFlow||!1,this.indent=Jx!=null?Jx:e0.indent,this.lineStart=Se!=null?Se:e0.lineStart,this.parent=Ye!=null?Ye:e0.parent||{},this.root=e0.root,this.src=e0.src}nodeStartsCollection(e0){const{inCollection:R0,inFlow:R1,src:H1}=this;if(R0||R1)return!1;if(e0 instanceof Og)return!0;let Jx=e0.range.end;return H1[Jx]!==`\n`&&H1[Jx-1]!==`\n`&&(Jx=Dr.Node.endOfWhiteSpace(H1,Jx),H1[Jx]===\":\")}parseProps(e0){const{inFlow:R0,parent:R1,src:H1}=this,Jx=[];let Se=!1,Ye=H1[e0=this.atLineStart?Dr.Node.endOfIndent(H1,e0):Dr.Node.endOfWhiteSpace(H1,e0)];for(;Ye===Dr.Char.ANCHOR||Ye===Dr.Char.COMMENT||Ye===Dr.Char.TAG||Ye===`\n`;){if(Ye===`\n`){let tt,Er=e0;do tt=Er+1,Er=Dr.Node.endOfIndent(H1,tt);while(H1[Er]===`\n`);const Zt=Er-(tt+this.indent),hi=R1.type===Dr.Type.SEQ_ITEM&&R1.context.atLineStart;if(H1[Er]!==\"#\"&&!Dr.Node.nextNodeIsIndented(H1[Er],Zt,!hi))break;this.atLineStart=!0,this.lineStart=tt,Se=!1,e0=Er}else if(Ye===Dr.Char.COMMENT){const tt=Dr.Node.endOfLine(H1,e0+1);Jx.push(new Dr.Range(e0,tt)),e0=tt}else{let tt=Dr.Node.endOfIdentifier(H1,e0+1);Ye===Dr.Char.TAG&&H1[tt]===\",\"&&/^[a-zA-Z0-9-]+\\.[a-zA-Z0-9-]+,\\d\\d\\d\\d(-\\d\\d){0,2}\\/\\S/.test(H1.slice(e0+1,tt+13))&&(tt=Dr.Node.endOfIdentifier(H1,tt+5)),Jx.push(new Dr.Range(e0,tt)),Se=!0,e0=Dr.Node.endOfWhiteSpace(H1,tt)}Ye=H1[e0]}return Se&&Ye===\":\"&&Dr.Node.atBlank(H1,e0+1,!0)&&(e0-=1),{props:Jx,type:ss.parseType(H1,e0,R0),valueStart:e0}}}var to={parse:function(M0){const e0=[];M0.indexOf(\"\\r\")!==-1&&(M0=M0.replace(/\\r\\n?/g,(H1,Jx)=>(H1.length>1&&e0.push(Jx),`\n`)));const R0=[];let R1=0;do{const H1=new q1,Jx=new ss({src:M0});R1=H1.parse(Jx,R1),R0.push(H1)}while(R1<M0.length);return R0.setOrigRanges=()=>{if(e0.length===0)return!1;for(let Jx=1;Jx<e0.length;++Jx)e0[Jx]-=Jx;let H1=0;for(let Jx=0;Jx<R0.length;++Jx)H1=R0[Jx].setOrigRanges(e0,H1);return e0.splice(0,e0.length),!0},R0.toString=()=>R0.join(`...\n`),R0}};function Ma(M0,e0,R0){return R0?R0.indexOf(`\n`)===-1?`${M0} #${R0}`:`${M0}\n`+R0.replace(/^/gm,`${e0||\"\"}#`):M0}class Ks{}function Qa(M0,e0,R0){if(Array.isArray(M0))return M0.map((R1,H1)=>Qa(R1,String(H1),R0));if(M0&&typeof M0.toJSON==\"function\"){const R1=R0&&R0.anchors&&R0.anchors.get(M0);R1&&(R0.onCreate=Jx=>{R1.res=Jx,delete R0.onCreate});const H1=M0.toJSON(e0,R0);return R1&&R0.onCreate&&R0.onCreate(H1),H1}return R0&&R0.keep||typeof M0!=\"bigint\"?M0:Number(M0)}class Wc extends Ks{constructor(e0){super(),this.value=e0}toJSON(e0,R0){return R0&&R0.keep?this.value:Qa(this.value,e0,R0)}toString(){return String(this.value)}}function la(M0,e0,R0){let R1=R0;for(let H1=e0.length-1;H1>=0;--H1){const Jx=e0[H1];if(Number.isInteger(Jx)&&Jx>=0){const Se=[];Se[Jx]=R1,R1=Se}else{const Se={};Object.defineProperty(Se,Jx,{value:R1,writable:!0,enumerable:!0,configurable:!0}),R1=Se}}return M0.createNode(R1,!1)}const Af=M0=>M0==null||typeof M0==\"object\"&&M0[Symbol.iterator]().next().done;class so extends Ks{constructor(e0){super(),Dr._defineProperty(this,\"items\",[]),this.schema=e0}addIn(e0,R0){if(Af(e0))this.add(R0);else{const[R1,...H1]=e0,Jx=this.get(R1,!0);if(Jx instanceof so)Jx.addIn(H1,R0);else{if(Jx!==void 0||!this.schema)throw new Error(`Expected YAML collection at ${R1}. Remaining path: ${H1}`);this.set(R1,la(this.schema,H1,R0))}}}deleteIn([e0,...R0]){if(R0.length===0)return this.delete(e0);const R1=this.get(e0,!0);if(R1 instanceof so)return R1.deleteIn(R0);throw new Error(`Expected YAML collection at ${e0}. Remaining path: ${R0}`)}getIn([e0,...R0],R1){const H1=this.get(e0,!0);return R0.length===0?!R1&&H1 instanceof Wc?H1.value:H1:H1 instanceof so?H1.getIn(R0,R1):void 0}hasAllNullValues(){return this.items.every(e0=>{if(!e0||e0.type!==\"PAIR\")return!1;const R0=e0.value;return R0==null||R0 instanceof Wc&&R0.value==null&&!R0.commentBefore&&!R0.comment&&!R0.tag})}hasIn([e0,...R0]){if(R0.length===0)return this.has(e0);const R1=this.get(e0,!0);return R1 instanceof so&&R1.hasIn(R0)}setIn([e0,...R0],R1){if(R0.length===0)this.set(e0,R1);else{const H1=this.get(e0,!0);if(H1 instanceof so)H1.setIn(R0,R1);else{if(H1!==void 0||!this.schema)throw new Error(`Expected YAML collection at ${e0}. Remaining path: ${R0}`);this.set(e0,la(this.schema,R0,R1))}}}toJSON(){return null}toString(e0,{blockItem:R0,flowChars:R1,isMap:H1,itemIndent:Jx},Se,Ye){const{indent:tt,indentStep:Er,stringify:Zt}=e0,hi=this.type===Dr.Type.FLOW_MAP||this.type===Dr.Type.FLOW_SEQ||e0.inFlow;hi&&(Jx+=Er);const po=H1&&this.hasAllNullValues();e0=Object.assign({},e0,{allNullValues:po,indent:Jx,inFlow:hi,type:null});let ba=!1,oa=!1;const ho=this.items.reduce((Od,Cl,S)=>{let N0;Cl&&(!ba&&Cl.spaceBefore&&Od.push({type:\"comment\",str:\"\"}),Cl.commentBefore&&Cl.commentBefore.match(/^.*$/gm).forEach(zx=>{Od.push({type:\"comment\",str:`#${zx}`})}),Cl.comment&&(N0=Cl.comment),hi&&(!ba&&Cl.spaceBefore||Cl.commentBefore||Cl.comment||Cl.key&&(Cl.key.commentBefore||Cl.key.comment)||Cl.value&&(Cl.value.commentBefore||Cl.value.comment))&&(oa=!0)),ba=!1;let P1=Zt(Cl,e0,()=>N0=null,()=>ba=!0);return hi&&!oa&&P1.includes(`\n`)&&(oa=!0),hi&&S<this.items.length-1&&(P1+=\",\"),P1=Ma(P1,Jx,N0),ba&&(N0||hi)&&(ba=!1),Od.push({type:\"item\",str:P1}),Od},[]);let Za;if(ho.length===0)Za=R1.start+R1.end;else if(hi){const{start:Od,end:Cl}=R1,S=ho.map(N0=>N0.str);if(oa||S.reduce((N0,P1)=>N0+P1.length+2,2)>so.maxFlowStringSingleLineLength){Za=Od;for(const N0 of S)Za+=N0?`\n${Er}${tt}${N0}`:`\n`;Za+=`\n${tt}${Cl}`}else Za=`${Od} ${S.join(\" \")} ${Cl}`}else{const Od=ho.map(R0);Za=Od.shift();for(const Cl of Od)Za+=Cl?`\n${tt}${Cl}`:`\n`}return this.comment?(Za+=`\n`+this.comment.replace(/^/gm,`${tt}#`),Se&&Se()):ba&&Ye&&Ye(),Za}}function qu(M0){let e0=M0 instanceof Wc?M0.value:M0;return e0&&typeof e0==\"string\"&&(e0=Number(e0)),Number.isInteger(e0)&&e0>=0?e0:null}Dr._defineProperty(so,\"maxFlowStringSingleLineLength\",60);class lf extends so{add(e0){this.items.push(e0)}delete(e0){const R0=qu(e0);return typeof R0!=\"number\"?!1:this.items.splice(R0,1).length>0}get(e0,R0){const R1=qu(e0);if(typeof R1!=\"number\")return;const H1=this.items[R1];return!R0&&H1 instanceof Wc?H1.value:H1}has(e0){const R0=qu(e0);return typeof R0==\"number\"&&R0<this.items.length}set(e0,R0){const R1=qu(e0);if(typeof R1!=\"number\")throw new Error(`Expected a valid index, not ${e0}.`);this.items[R1]=R0}toJSON(e0,R0){const R1=[];R0&&R0.onCreate&&R0.onCreate(R1);let H1=0;for(const Jx of this.items)R1.push(Qa(Jx,String(H1++),R0));return R1}toString(e0,R0,R1){return e0?super.toString(e0,{blockItem:H1=>H1.type===\"comment\"?H1.str:`- ${H1.str}`,flowChars:{start:\"[\",end:\"]\"},isMap:!1,itemIndent:(e0.indent||\"\")+\"  \"},R0,R1):JSON.stringify(this)}}class uu extends Ks{constructor(e0,R0=null){super(),this.key=e0,this.value=R0,this.type=uu.Type.PAIR}get commentBefore(){return this.key instanceof Ks?this.key.commentBefore:void 0}set commentBefore(e0){if(this.key==null&&(this.key=new Wc(null)),!(this.key instanceof Ks))throw new Error(\"Pair.commentBefore is an alias for Pair.key.commentBefore. To set it, the key must be a Node.\");this.key.commentBefore=e0}addToJSMap(e0,R0){const R1=Qa(this.key,\"\",e0);if(R0 instanceof Map){const H1=Qa(this.value,R1,e0);R0.set(R1,H1)}else if(R0 instanceof Set)R0.add(R1);else{const H1=((Se,Ye,tt)=>Ye===null?\"\":typeof Ye!=\"object\"?String(Ye):Se instanceof Ks&&tt&&tt.doc?Se.toString({anchors:Object.create(null),doc:tt.doc,indent:\"\",indentStep:tt.indentStep,inFlow:!0,inStringifyKey:!0,stringify:tt.stringify}):JSON.stringify(Ye))(this.key,R1,e0),Jx=Qa(this.value,H1,e0);H1 in R0?Object.defineProperty(R0,H1,{value:Jx,writable:!0,enumerable:!0,configurable:!0}):R0[H1]=Jx}return R0}toJSON(e0,R0){const R1=R0&&R0.mapAsMap?new Map:{};return this.addToJSMap(R0,R1)}toString(e0,R0,R1){if(!e0||!e0.doc)return JSON.stringify(this);const{indent:H1,indentSeq:Jx,simpleKeys:Se}=e0.doc.options;let{key:Ye,value:tt}=this,Er=Ye instanceof Ks&&Ye.comment;if(Se){if(Er)throw new Error(\"With simple keys, key nodes cannot have comments\");if(Ye instanceof so)throw new Error(\"With simple keys, collection cannot be used as a key value\")}let Zt=!Se&&(!Ye||Er||(Ye instanceof Ks?Ye instanceof so||Ye.type===Dr.Type.BLOCK_FOLDED||Ye.type===Dr.Type.BLOCK_LITERAL:typeof Ye==\"object\"));const{doc:hi,indent:po,indentStep:ba,stringify:oa}=e0;e0=Object.assign({},e0,{implicitKey:!Zt,indent:po+ba});let ho=!1,Za=oa(Ye,e0,()=>Er=null,()=>ho=!0);if(Za=Ma(Za,e0.indent,Er),!Zt&&Za.length>1024){if(Se)throw new Error(\"With simple keys, single line scalar must not span more than 1024 characters\");Zt=!0}if(e0.allNullValues&&!Se)return this.comment?(Za=Ma(Za,e0.indent,this.comment),R0&&R0()):ho&&!Er&&R1&&R1(),e0.inFlow&&!Zt?Za:`? ${Za}`;Za=Zt?`? ${Za}\n${po}:`:`${Za}:`,this.comment&&(Za=Ma(Za,e0.indent,this.comment),R0&&R0());let Od=\"\",Cl=null;tt instanceof Ks?(tt.spaceBefore&&(Od=`\n`),tt.commentBefore&&(Od+=`\n${tt.commentBefore.replace(/^/gm,`${e0.indent}#`)}`),Cl=tt.comment):tt&&typeof tt==\"object\"&&(tt=hi.schema.createNode(tt,!0)),e0.implicitKey=!1,!Zt&&!this.comment&&tt instanceof Wc&&(e0.indentAtStart=Za.length+1),ho=!1,!Jx&&H1>=2&&!e0.inFlow&&!Zt&&tt instanceof lf&&tt.type!==Dr.Type.FLOW_SEQ&&!tt.tag&&!hi.anchors.getName(tt)&&(e0.indent=e0.indent.substr(2));const S=oa(tt,e0,()=>Cl=null,()=>ho=!0);let N0=\" \";return Od||this.comment?N0=`${Od}\n${e0.indent}`:!Zt&&tt instanceof so?(S[0]===\"[\"||S[0]===\"{\")&&!S.includes(`\n`)||(N0=`\n${e0.indent}`):S[0]===`\n`&&(N0=\"\"),ho&&!Cl&&R1&&R1(),Ma(Za+N0+S,e0.indent,Cl)}}Dr._defineProperty(uu,\"Type\",{PAIR:\"PAIR\",MERGE_PAIR:\"MERGE_PAIR\"});const ud=(M0,e0)=>{if(M0 instanceof fm){const R0=e0.get(M0.source);return R0.count*R0.aliasCount}if(M0 instanceof so){let R0=0;for(const R1 of M0.items){const H1=ud(R1,e0);H1>R0&&(R0=H1)}return R0}if(M0 instanceof uu){const R0=ud(M0.key,e0),R1=ud(M0.value,e0);return Math.max(R0,R1)}return 1};class fm extends Ks{static stringify({range:e0,source:R0},{anchors:R1,doc:H1,implicitKey:Jx,inStringifyKey:Se}){let Ye=Object.keys(R1).find(Er=>R1[Er]===R0);if(!Ye&&Se&&(Ye=H1.anchors.getName(R0)||H1.anchors.newName()),Ye)return`*${Ye}${Jx?\" \":\"\"}`;const tt=H1.anchors.getName(R0)?\"Alias node must be after source node\":\"Source node not found for alias node\";throw new Error(`${tt} [${e0}]`)}constructor(e0){super(),this.source=e0,this.type=Dr.Type.ALIAS}set tag(e0){throw new Error(\"Alias nodes cannot have tags\")}toJSON(e0,R0){if(!R0)return Qa(this.source,e0,R0);const{anchors:R1,maxAliasCount:H1}=R0,Jx=R1.get(this.source);if(!Jx||Jx.res===void 0){const Se=\"This should not happen: Alias anchor was not resolved?\";throw this.cstNode?new Dr.YAMLReferenceError(this.cstNode,Se):new ReferenceError(Se)}if(H1>=0&&(Jx.count+=1,Jx.aliasCount===0&&(Jx.aliasCount=ud(this.source,R1)),Jx.count*Jx.aliasCount>H1)){const Se=\"Excessive alias count indicates a resource exhaustion attack\";throw this.cstNode?new Dr.YAMLReferenceError(this.cstNode,Se):new ReferenceError(Se)}return Jx.res}toString(e0){return fm.stringify(this,e0)}}function w2(M0,e0){const R0=e0 instanceof Wc?e0.value:e0;for(const R1 of M0)if(R1 instanceof uu&&(R1.key===e0||R1.key===R0||R1.key&&R1.key.value===R0))return R1}Dr._defineProperty(fm,\"default\",!0);class US extends so{add(e0,R0){e0?e0 instanceof uu||(e0=new uu(e0.key||e0,e0.value)):e0=new uu(e0);const R1=w2(this.items,e0.key),H1=this.schema&&this.schema.sortMapEntries;if(R1){if(!R0)throw new Error(`Key ${e0.key} already set`);R1.value=e0.value}else if(H1){const Jx=this.items.findIndex(Se=>H1(e0,Se)<0);Jx===-1?this.items.push(e0):this.items.splice(Jx,0,e0)}else this.items.push(e0)}delete(e0){const R0=w2(this.items,e0);return R0?this.items.splice(this.items.indexOf(R0),1).length>0:!1}get(e0,R0){const R1=w2(this.items,e0),H1=R1&&R1.value;return!R0&&H1 instanceof Wc?H1.value:H1}has(e0){return!!w2(this.items,e0)}set(e0,R0){this.add(new uu(e0,R0),!0)}toJSON(e0,R0,R1){const H1=R1?new R1:R0&&R0.mapAsMap?new Map:{};R0&&R0.onCreate&&R0.onCreate(H1);for(const Jx of this.items)Jx.addToJSMap(R0,H1);return H1}toString(e0,R0,R1){if(!e0)return JSON.stringify(this);for(const H1 of this.items)if(!(H1 instanceof uu))throw new Error(`Map items must all be pairs; found ${JSON.stringify(H1)} instead`);return super.toString(e0,{blockItem:H1=>H1.str,flowChars:{start:\"{\",end:\"}\"},isMap:!0,itemIndent:e0.indent||\"\"},R0,R1)}}class j8 extends uu{constructor(e0){if(e0 instanceof uu){let R0=e0.value;R0 instanceof lf||(R0=new lf,R0.items.push(e0.value),R0.range=e0.value.range),super(e0.key,R0),this.range=e0.range}else super(new Wc(\"<<\"),new lf);this.type=uu.Type.MERGE_PAIR}addToJSMap(e0,R0){for(const{source:R1}of this.value.items){if(!(R1 instanceof US))throw new Error(\"Merge sources must be maps\");const H1=R1.toJSON(null,e0,Map);for(const[Jx,Se]of H1)R0 instanceof Map?R0.has(Jx)||R0.set(Jx,Se):R0 instanceof Set?R0.add(Jx):Object.prototype.hasOwnProperty.call(R0,Jx)||Object.defineProperty(R0,Jx,{value:Se,writable:!0,enumerable:!0,configurable:!0})}return R0}toString(e0,R0){const R1=this.value;if(R1.items.length>1)return super.toString(e0,R0);this.value=R1.items[0];const H1=super.toString(e0,R0);return this.value=R1,H1}}const tE={defaultType:Dr.Type.BLOCK_LITERAL,lineWidth:76},U8={defaultType:Dr.Type.PLAIN,doubleQuoted:{jsonEncoding:!1,minMultiLineLength:40},fold:{lineWidth:80,minContentWidth:20}};function xp(M0,e0,R0){for(const{format:R1,test:H1,resolve:Jx}of e0)if(H1){const Se=M0.match(H1);if(Se){let Ye=Jx.apply(null,Se);return Ye instanceof Wc||(Ye=new Wc(Ye)),R1&&(Ye.format=R1),Ye}}return R0&&(M0=R0(M0)),new Wc(M0)}const tw=\"flow\",_4=\"block\",rw=\"quoted\",kF=(M0,e0)=>{let R0=M0[e0+1];for(;R0===\" \"||R0===\"\t\";){do R0=M0[e0+=1];while(R0&&R0!==`\n`);R0=M0[e0+1]}return e0};function i5(M0,e0,R0,{indentAtStart:R1,lineWidth:H1=80,minContentWidth:Jx=20,onFold:Se,onOverflow:Ye}){if(!H1||H1<0)return M0;const tt=Math.max(1+Jx,1+H1-e0.length);if(M0.length<=tt)return M0;const Er=[],Zt={};let hi,po,ba=H1-e0.length;typeof R1==\"number\"&&(R1>H1-Math.max(2,Jx)?Er.push(0):ba=H1-R1);let oa,ho=!1,Za=-1,Od=-1,Cl=-1;for(R0===_4&&(Za=kF(M0,Za),Za!==-1&&(ba=Za+tt));oa=M0[Za+=1];){if(R0===rw&&oa===\"\\\\\"){switch(Od=Za,M0[Za+1]){case\"x\":Za+=3;break;case\"u\":Za+=5;break;case\"U\":Za+=9;break;default:Za+=1}Cl=Za}if(oa===`\n`)R0===_4&&(Za=kF(M0,Za)),ba=Za+tt,hi=void 0;else{if(oa===\" \"&&po&&po!==\" \"&&po!==`\n`&&po!==\"\t\"){const N0=M0[Za+1];N0&&N0!==\" \"&&N0!==`\n`&&N0!==\"\t\"&&(hi=Za)}if(Za>=ba)if(hi)Er.push(hi),ba=hi+tt,hi=void 0;else if(R0===rw){for(;po===\" \"||po===\"\t\";)po=oa,oa=M0[Za+=1],ho=!0;const N0=Za>Cl+1?Za-2:Od-1;if(Zt[N0])return M0;Er.push(N0),Zt[N0]=!0,ba=N0+tt,hi=void 0}else ho=!0}po=oa}if(ho&&Ye&&Ye(),Er.length===0)return M0;Se&&Se();let S=M0.slice(0,Er[0]);for(let N0=0;N0<Er.length;++N0){const P1=Er[N0],zx=Er[N0+1]||M0.length;P1===0?S=`\n${e0}${M0.slice(0,zx)}`:(R0===rw&&Zt[P1]&&(S+=`${M0[P1]}\\\\`),S+=`\n${e0}${M0.slice(P1+1,zx)}`)}return S}const Um=({indentAtStart:M0})=>M0?Object.assign({indentAtStart:M0},U8.fold):U8.fold,Q8=M0=>/^(%|---|\\.\\.\\.)/m.test(M0);function bA(M0,e0){const{implicitKey:R0}=e0,{jsonEncoding:R1,minMultiLineLength:H1}=U8.doubleQuoted,Jx=JSON.stringify(M0);if(R1)return Jx;const Se=e0.indent||(Q8(M0)?\"  \":\"\");let Ye=\"\",tt=0;for(let Er=0,Zt=Jx[Er];Zt;Zt=Jx[++Er])if(Zt===\" \"&&Jx[Er+1]===\"\\\\\"&&Jx[Er+2]===\"n\"&&(Ye+=Jx.slice(tt,Er)+\"\\\\ \",Er+=1,tt=Er,Zt=\"\\\\\"),Zt===\"\\\\\")switch(Jx[Er+1]){case\"u\":{Ye+=Jx.slice(tt,Er);const hi=Jx.substr(Er+2,4);switch(hi){case\"0000\":Ye+=\"\\\\0\";break;case\"0007\":Ye+=\"\\\\a\";break;case\"000b\":Ye+=\"\\\\v\";break;case\"001b\":Ye+=\"\\\\e\";break;case\"0085\":Ye+=\"\\\\N\";break;case\"00a0\":Ye+=\"\\\\_\";break;case\"2028\":Ye+=\"\\\\L\";break;case\"2029\":Ye+=\"\\\\P\";break;default:hi.substr(0,2)===\"00\"?Ye+=\"\\\\x\"+hi.substr(2):Ye+=Jx.substr(Er,6)}Er+=5,tt=Er+1}break;case\"n\":if(R0||Jx[Er+2]==='\"'||Jx.length<H1)Er+=1;else{for(Ye+=Jx.slice(tt,Er)+`\n\n`;Jx[Er+2]===\"\\\\\"&&Jx[Er+3]===\"n\"&&Jx[Er+4]!=='\"';)Ye+=`\n`,Er+=2;Ye+=Se,Jx[Er+2]===\" \"&&(Ye+=\"\\\\\"),Er+=1,tt=Er+1}break;default:Er+=1}return Ye=tt?Ye+Jx.slice(tt):Jx,R0?Ye:i5(Ye,Se,rw,Um(e0))}function CA(M0,e0){if(e0.implicitKey){if(/\\n/.test(M0))return bA(M0,e0)}else if(/[ \\t]\\n|\\n[ \\t]/.test(M0))return bA(M0,e0);const R0=e0.indent||(Q8(M0)?\"  \":\"\"),R1=\"'\"+M0.replace(/'/g,\"''\").replace(/\\n+/g,`$&\n${R0}`)+\"'\";return e0.implicitKey?R1:i5(R1,R0,tw,Um(e0))}function sT({comment:M0,type:e0,value:R0},R1,H1,Jx){if(/\\n[\\t ]+$/.test(R0)||/^\\s*$/.test(R0))return bA(R0,R1);const Se=R1.indent||(R1.forceBlockIndent||Q8(R0)?\"  \":\"\"),Ye=Se?\"2\":\"1\",tt=e0!==Dr.Type.BLOCK_FOLDED&&(e0===Dr.Type.BLOCK_LITERAL||!function(ba,oa,ho){if(!oa||oa<0)return!1;const Za=oa-ho,Od=ba.length;if(Od<=Za)return!1;for(let Cl=0,S=0;Cl<Od;++Cl)if(ba[Cl]===`\n`){if(Cl-S>Za)return!0;if(S=Cl+1,Od-S<=Za)return!1}return!0}(R0,U8.fold.lineWidth,Se.length));let Er=tt?\"|\":\">\";if(!R0)return Er+`\n`;let Zt=\"\",hi=\"\";if(R0=R0.replace(/[\\n\\t ]*$/,ba=>{const oa=ba.indexOf(`\n`);return oa===-1?Er+=\"-\":R0!==ba&&oa===ba.length-1||(Er+=\"+\",Jx&&Jx()),hi=ba.replace(/\\n$/,\"\"),\"\"}).replace(/^[\\n ]*/,ba=>{ba.indexOf(\" \")!==-1&&(Er+=Ye);const oa=ba.match(/ +$/);return oa?(Zt=ba.slice(0,-oa[0].length),oa[0]):(Zt=ba,\"\")}),hi&&(hi=hi.replace(/\\n+(?!\\n|$)/g,`$&${Se}`)),Zt&&(Zt=Zt.replace(/\\n+/g,`$&${Se}`)),M0&&(Er+=\" #\"+M0.replace(/ ?[\\r\\n]+/g,\" \"),H1&&H1()),!R0)return`${Er}${Ye}\n${Se}${hi}`;if(tt)return R0=R0.replace(/\\n+/g,`$&${Se}`),`${Er}\n${Se}${Zt}${R0}${hi}`;R0=R0.replace(/\\n+/g,`\n$&`).replace(/(?:^|\\n)([\\t ].*)(?:([\\n\\t ]*)\\n(?![\\n\\t ]))?/g,\"$1$2\").replace(/\\n+/g,`$&${Se}`);const po=i5(`${Zt}${R0}${hi}`,Se,_4,U8.fold);return`${Er}\n${Se}${po}`}function rE(M0,e0){let R0,R1,H1;switch(e0.type){case Dr.Type.FLOW_MAP:R0=\"}\",R1=\"flow map\";break;case Dr.Type.FLOW_SEQ:R0=\"]\",R1=\"flow sequence\";break;default:return void M0.push(new Dr.YAMLSemanticError(e0,\"Not a flow collection!?\"))}for(let Jx=e0.items.length-1;Jx>=0;--Jx){const Se=e0.items[Jx];if(!Se||Se.type!==Dr.Type.COMMENT){H1=Se;break}}if(H1&&H1.char!==R0){const Jx=`Expected ${R1} to end with ${R0}`;let Se;typeof H1.offset==\"number\"?(Se=new Dr.YAMLSemanticError(e0,Jx),Se.offset=H1.offset+1):(Se=new Dr.YAMLSemanticError(H1,Jx),H1.range&&H1.range.end&&(Se.offset=H1.range.end-H1.range.start)),M0.push(Se)}}function Z8(M0,e0){const R0=e0.context.src[e0.range.start-1];if(R0!==`\n`&&R0!==\"\t\"&&R0!==\" \"){const R1=\"Comments must be separated from other tokens by white space characters\";M0.push(new Dr.YAMLSemanticError(e0,R1))}}function V5(M0,e0){const R0=String(e0),R1=R0.substr(0,8)+\"...\"+R0.substr(-8);return new Dr.YAMLSemanticError(M0,`The \"${R1}\" key is too long`)}function FS(M0,e0){for(const{afterKey:R0,before:R1,comment:H1}of e0){let Jx=M0.items[R1];Jx?(R0&&Jx.value&&(Jx=Jx.value),H1===void 0?!R0&&Jx.commentBefore||(Jx.spaceBefore=!0):Jx.commentBefore?Jx.commentBefore+=`\n`+H1:Jx.commentBefore=H1):H1!==void 0&&(M0.comment?M0.comment+=`\n`+H1:M0.comment=H1)}}function xF(M0,e0){const R0=e0.strValue;return R0?typeof R0==\"string\"?R0:(R0.errors.forEach(R1=>{R1.source||(R1.source=e0),M0.errors.push(R1)}),R0.str):\"\"}function $5(M0,e0){const{tag:R0,type:R1}=e0;let H1=!1;if(R0){const{handle:Jx,suffix:Se,verbatim:Ye}=R0;if(Ye){if(Ye!==\"!\"&&Ye!==\"!!\")return Ye;const tt=`Verbatim tags aren't resolved, so ${Ye} is invalid.`;M0.errors.push(new Dr.YAMLSemanticError(e0,tt))}else if(Jx!==\"!\"||Se)try{return function(tt,Er){const{handle:Zt,suffix:hi}=Er.tag;let po=tt.tagPrefixes.find(ba=>ba.handle===Zt);if(!po){const ba=tt.getDefaults().tagPrefixes;if(ba&&(po=ba.find(oa=>oa.handle===Zt)),!po)throw new Dr.YAMLSemanticError(Er,`The ${Zt} tag handle is non-default and was not declared.`)}if(!hi)throw new Dr.YAMLSemanticError(Er,`The ${Zt} tag has no suffix.`);if(Zt===\"!\"&&(tt.version||tt.options.version)===\"1.0\"){if(hi[0]===\"^\")return tt.warnings.push(new Dr.YAMLWarning(Er,\"YAML 1.0 ^ tag expansion is not supported\")),hi;if(/[:/]/.test(hi)){const ba=hi.match(/^([a-z0-9-]+)\\/(.*)/i);return ba?`tag:${ba[1]}.yaml.org,2002:${ba[2]}`:`tag:${hi}`}}return po.prefix+decodeURIComponent(hi)}(M0,e0)}catch(tt){M0.errors.push(tt)}else H1=!0}switch(R1){case Dr.Type.BLOCK_FOLDED:case Dr.Type.BLOCK_LITERAL:case Dr.Type.QUOTE_DOUBLE:case Dr.Type.QUOTE_SINGLE:return Dr.defaultTags.STR;case Dr.Type.FLOW_MAP:case Dr.Type.MAP:return Dr.defaultTags.MAP;case Dr.Type.FLOW_SEQ:case Dr.Type.SEQ:return Dr.defaultTags.SEQ;case Dr.Type.PLAIN:return H1?Dr.defaultTags.STR:null;default:return null}}function AS(M0,e0,R0){const{tags:R1}=M0.schema,H1=[];for(const Se of R1)if(Se.tag===R0){if(!Se.test){const Ye=Se.resolve(M0,e0);return Ye instanceof so?Ye:new Wc(Ye)}H1.push(Se)}const Jx=xF(M0,e0);return typeof Jx==\"string\"&&H1.length>0?xp(Jx,H1,R1.scalarFallback):null}function O6(M0,e0,R0){try{const R1=AS(M0,e0,R0);if(R1)return R0&&e0.tag&&(R1.tag=R0),R1}catch(R1){return R1.source||(R1.source=e0),M0.errors.push(R1),null}try{const R1=function({type:Se}){switch(Se){case Dr.Type.FLOW_MAP:case Dr.Type.MAP:return Dr.defaultTags.MAP;case Dr.Type.FLOW_SEQ:case Dr.Type.SEQ:return Dr.defaultTags.SEQ;default:return Dr.defaultTags.STR}}(e0);if(!R1)throw new Error(`The tag ${R0} is unavailable`);const H1=`The tag ${R0} is unavailable, falling back to ${R1}`;M0.warnings.push(new Dr.YAMLWarning(e0,H1));const Jx=AS(M0,e0,R1);return Jx.tag=R0,Jx}catch(R1){const H1=new Dr.YAMLReferenceError(e0,R1.message);return H1.stack=R1.stack,M0.errors.push(H1),null}}function zw(M0,e0){const R0={before:[],after:[]};let R1=!1,H1=!1;const Jx=(Se=>{if(!Se)return!1;const{type:Ye}=Se;return Ye===Dr.Type.MAP_KEY||Ye===Dr.Type.MAP_VALUE||Ye===Dr.Type.SEQ_ITEM})(e0.context.parent)?e0.context.parent.props.concat(e0.props):e0.props;for(const{start:Se,end:Ye}of Jx)switch(e0.context.src[Se]){case Dr.Char.COMMENT:{if(!e0.commentHasRequiredWhitespace(Se)){const Zt=\"Comments must be separated from other tokens by white space characters\";M0.push(new Dr.YAMLSemanticError(e0,Zt))}const{header:tt,valueRange:Er}=e0;(Er&&(Se>Er.start||tt&&Se>tt.start)?R0.after:R0.before).push(e0.context.src.slice(Se+1,Ye));break}case Dr.Char.ANCHOR:if(R1){const tt=\"A node can have at most one anchor\";M0.push(new Dr.YAMLSemanticError(e0,tt))}R1=!0;break;case Dr.Char.TAG:if(H1){const tt=\"A node can have at most one tag\";M0.push(new Dr.YAMLSemanticError(e0,tt))}H1=!0}return{comments:R0,hasAnchor:R1,hasTag:H1}}function EA(M0,e0){if(!e0)return null;e0.error&&M0.errors.push(e0.error);const{comments:R0,hasAnchor:R1,hasTag:H1}=zw(M0.errors,e0);if(R1){const{anchors:Se}=M0,Ye=e0.anchor,tt=Se.getNode(Ye);tt&&(Se.map[Se.newName(Ye)]=tt),Se.map[Ye]=e0}if(e0.type===Dr.Type.ALIAS&&(R1||H1)){const Se=\"An alias node must not specify any properties\";M0.errors.push(new Dr.YAMLSemanticError(e0,Se))}const Jx=function(Se,Ye){const{anchors:tt,errors:Er,schema:Zt}=Se;if(Ye.type===Dr.Type.ALIAS){const po=Ye.rawValue,ba=tt.getNode(po);if(!ba){const ho=`Aliased anchor not found: ${po}`;return Er.push(new Dr.YAMLReferenceError(Ye,ho)),null}const oa=new fm(ba);return tt._cstAliases.push(oa),oa}const hi=$5(Se,Ye);if(hi)return O6(Se,Ye,hi);if(Ye.type!==Dr.Type.PLAIN){const po=`Failed to resolve ${Ye.type} node here`;return Er.push(new Dr.YAMLSyntaxError(Ye,po)),null}try{return xp(xF(Se,Ye),Zt.tags,Zt.tags.scalarFallback)}catch(po){return po.source||(po.source=Ye),Er.push(po),null}}(M0,e0);if(Jx){Jx.range=[e0.range.start,e0.range.end],M0.options.keepCstNodes&&(Jx.cstNode=e0),M0.options.keepNodeTypes&&(Jx.type=e0.type);const Se=R0.before.join(`\n`);Se&&(Jx.commentBefore=Jx.commentBefore?`${Jx.commentBefore}\n${Se}`:Se);const Ye=R0.after.join(`\n`);Ye&&(Jx.comment=Jx.comment?`${Jx.comment}\n${Ye}`:Ye)}return e0.resolved=Jx}function K5(M0,e0){if(!(({context:{lineStart:Jx,node:Se,src:Ye},props:tt})=>{if(tt.length===0)return!1;const{start:Er}=tt[0];if(Se&&Er>Se.valueRange.start||Ye[Er]!==Dr.Char.COMMENT)return!1;for(let Zt=Jx;Zt<Er;++Zt)if(Ye[Zt]===`\n`)return!1;return!0})(M0))return;const R0=M0.getPropValue(0,Dr.Char.COMMENT,!0);let R1=!1;const H1=e0.value.commentBefore;if(H1&&H1.startsWith(R0))e0.value.commentBefore=H1.substr(R0.length+1),R1=!0;else{const Jx=e0.value.comment;!M0.node&&Jx&&Jx.startsWith(R0)&&(e0.value.comment=Jx.substr(R0.length+1),R1=!0)}R1&&(e0.comment=R0)}var ps={Alias:fm,Collection:so,Merge:j8,Node:Ks,Pair:uu,Scalar:Wc,YAMLMap:US,YAMLSeq:lf,addComment:Ma,binaryOptions:tE,boolOptions:{trueStr:\"true\",falseStr:\"false\"},findPair:w2,intOptions:{asBigInt:!1},isEmptyPath:Af,nullOptions:{nullStr:\"null\"},resolveMap:function(M0,e0){if(e0.type!==Dr.Type.MAP&&e0.type!==Dr.Type.FLOW_MAP){const Se=`A ${e0.type} node cannot be resolved as a mapping`;return M0.errors.push(new Dr.YAMLSyntaxError(e0,Se)),null}const{comments:R0,items:R1}=e0.type===Dr.Type.FLOW_MAP?function(Se,Ye){const tt=[],Er=[];let Zt,hi=!1,po=\"{\";for(let ba=0;ba<Ye.items.length;++ba){const oa=Ye.items[ba];if(typeof oa.char==\"string\"){const{char:ho,offset:Za}=oa;if(ho===\"?\"&&Zt===void 0&&!hi){hi=!0,po=\":\";continue}if(ho===\":\"){if(Zt===void 0&&(Zt=null),po===\":\"){po=\",\";continue}}else if(hi&&(Zt===void 0&&ho!==\",\"&&(Zt=null),hi=!1),Zt!==void 0&&(Er.push(new uu(Zt)),Zt=void 0,ho===\",\")){po=\":\";continue}if(ho===\"}\"){if(ba===Ye.items.length-1)continue}else if(ho===po){po=\":\";continue}const Od=`Flow map contains an unexpected ${ho}`,Cl=new Dr.YAMLSyntaxError(Ye,Od);Cl.offset=Za,Se.errors.push(Cl)}else oa.type===Dr.Type.BLANK_LINE?tt.push({afterKey:!!Zt,before:Er.length}):oa.type===Dr.Type.COMMENT?(Z8(Se.errors,oa),tt.push({afterKey:!!Zt,before:Er.length,comment:oa.comment})):Zt===void 0?(po===\",\"&&Se.errors.push(new Dr.YAMLSemanticError(oa,\"Separator , missing in flow map\")),Zt=EA(Se,oa)):(po!==\",\"&&Se.errors.push(new Dr.YAMLSemanticError(oa,\"Indicator : missing in flow map entry\")),Er.push(new uu(Zt,EA(Se,oa))),Zt=void 0,hi=!1)}return rE(Se.errors,Ye),Zt!==void 0&&Er.push(new uu(Zt)),{comments:tt,items:Er}}(M0,e0):function(Se,Ye){const tt=[],Er=[];let Zt,hi=null;for(let po=0;po<Ye.items.length;++po){const ba=Ye.items[po];switch(ba.type){case Dr.Type.BLANK_LINE:tt.push({afterKey:!!Zt,before:Er.length});break;case Dr.Type.COMMENT:tt.push({afterKey:!!Zt,before:Er.length,comment:ba.comment});break;case Dr.Type.MAP_KEY:Zt!==void 0&&Er.push(new uu(Zt)),ba.error&&Se.errors.push(ba.error),Zt=EA(Se,ba.node),hi=null;break;case Dr.Type.MAP_VALUE:{if(Zt===void 0&&(Zt=null),ba.error&&Se.errors.push(ba.error),!ba.context.atLineStart&&ba.node&&ba.node.type===Dr.Type.MAP&&!ba.node.context.atLineStart){const Za=\"Nested mappings are not allowed in compact mappings\";Se.errors.push(new Dr.YAMLSemanticError(ba.node,Za))}let oa=ba.node;if(!oa&&ba.props.length>0){oa=new Dr.PlainValue(Dr.Type.PLAIN,[]),oa.context={parent:ba,src:ba.context.src};const Za=ba.range.start+1;if(oa.range={start:Za,end:Za},oa.valueRange={start:Za,end:Za},typeof ba.range.origStart==\"number\"){const Od=ba.range.origStart+1;oa.range.origStart=oa.range.origEnd=Od,oa.valueRange.origStart=oa.valueRange.origEnd=Od}}const ho=new uu(Zt,EA(Se,oa));K5(ba,ho),Er.push(ho),Zt&&typeof hi==\"number\"&&ba.range.start>hi+1024&&Se.errors.push(V5(Ye,Zt)),Zt=void 0,hi=null}break;default:Zt!==void 0&&Er.push(new uu(Zt)),Zt=EA(Se,ba),hi=ba.range.start,ba.error&&Se.errors.push(ba.error);x:for(let oa=po+1;;++oa){const ho=Ye.items[oa];switch(ho&&ho.type){case Dr.Type.BLANK_LINE:case Dr.Type.COMMENT:continue x;case Dr.Type.MAP_VALUE:break x;default:{const Za=\"Implicit map keys need to be followed by map values\";Se.errors.push(new Dr.YAMLSemanticError(ba,Za));break x}}}if(ba.valueRangeContainsNewline){const oa=\"Implicit map keys need to be on a single line\";Se.errors.push(new Dr.YAMLSemanticError(ba,oa))}}}return Zt!==void 0&&Er.push(new uu(Zt)),{comments:tt,items:Er}}(M0,e0),H1=new US;H1.items=R1,FS(H1,R0);let Jx=!1;for(let Se=0;Se<R1.length;++Se){const{key:Ye}=R1[Se];if(Ye instanceof so&&(Jx=!0),M0.schema.merge&&Ye&&Ye.value===\"<<\"){R1[Se]=new j8(R1[Se]);const tt=R1[Se].value.items;let Er=null;tt.some(Zt=>{if(Zt instanceof fm){const{type:hi}=Zt.source;return hi!==Dr.Type.MAP&&hi!==Dr.Type.FLOW_MAP&&(Er=\"Merge nodes aliases can only point to maps\")}return Er=\"Merge nodes can only have Alias nodes as values\"}),Er&&M0.errors.push(new Dr.YAMLSemanticError(e0,Er))}else for(let tt=Se+1;tt<R1.length;++tt){const{key:Er}=R1[tt];if(Ye===Er||Ye&&Er&&Object.prototype.hasOwnProperty.call(Ye,\"value\")&&Ye.value===Er.value){const Zt=`Map keys must be unique; \"${Ye}\" is repeated`;M0.errors.push(new Dr.YAMLSemanticError(e0,Zt));break}}}if(Jx&&!M0.options.mapAsMap){const Se=\"Keys with collection values will be stringified as YAML due to JS Object restrictions. Use mapAsMap: true to avoid this.\";M0.warnings.push(new Dr.YAMLWarning(e0,Se))}return e0.resolved=H1,H1},resolveNode:EA,resolveSeq:function(M0,e0){if(e0.type!==Dr.Type.SEQ&&e0.type!==Dr.Type.FLOW_SEQ){const Jx=`A ${e0.type} node cannot be resolved as a sequence`;return M0.errors.push(new Dr.YAMLSyntaxError(e0,Jx)),null}const{comments:R0,items:R1}=e0.type===Dr.Type.FLOW_SEQ?function(Jx,Se){const Ye=[],tt=[];let Er,Zt=!1,hi=null,po=\"[\",ba=null;for(let oa=0;oa<Se.items.length;++oa){const ho=Se.items[oa];if(typeof ho.char==\"string\"){const{char:Za,offset:Od}=ho;if(Za===\":\"||!Zt&&Er===void 0||(Zt&&Er===void 0&&(Er=po?tt.pop():null),tt.push(new uu(Er)),Zt=!1,Er=void 0,hi=null),Za===po)po=null;else if(po||Za!==\"?\"){if(po!==\"[\"&&Za===\":\"&&Er===void 0){if(po===\",\"){if(Er=tt.pop(),Er instanceof uu){const Cl=\"Chaining flow sequence pairs is invalid\",S=new Dr.YAMLSemanticError(Se,Cl);S.offset=Od,Jx.errors.push(S)}if(!Zt&&typeof hi==\"number\"){const Cl=ho.range?ho.range.start:ho.offset;Cl>hi+1024&&Jx.errors.push(V5(Se,Er));const{src:S}=ba.context;for(let N0=hi;N0<Cl;++N0)if(S[N0]===`\n`){const P1=\"Implicit keys of flow sequence pairs need to be on a single line\";Jx.errors.push(new Dr.YAMLSemanticError(ba,P1));break}}}else Er=null;hi=null,Zt=!1,po=null}else if(po===\"[\"||Za!==\"]\"||oa<Se.items.length-1){const Cl=`Flow sequence contains an unexpected ${Za}`,S=new Dr.YAMLSyntaxError(Se,Cl);S.offset=Od,Jx.errors.push(S)}}else Zt=!0}else if(ho.type===Dr.Type.BLANK_LINE)Ye.push({before:tt.length});else if(ho.type===Dr.Type.COMMENT)Z8(Jx.errors,ho),Ye.push({comment:ho.comment,before:tt.length});else{if(po){const Od=`Expected a ${po} in flow sequence`;Jx.errors.push(new Dr.YAMLSemanticError(ho,Od))}const Za=EA(Jx,ho);Er===void 0?(tt.push(Za),ba=ho):(tt.push(new uu(Er,Za)),Er=void 0),hi=ho.range.start,po=\",\"}}return rE(Jx.errors,Se),Er!==void 0&&tt.push(new uu(Er)),{comments:Ye,items:tt}}(M0,e0):function(Jx,Se){const Ye=[],tt=[];for(let Er=0;Er<Se.items.length;++Er){const Zt=Se.items[Er];switch(Zt.type){case Dr.Type.BLANK_LINE:Ye.push({before:tt.length});break;case Dr.Type.COMMENT:Ye.push({comment:Zt.comment,before:tt.length});break;case Dr.Type.SEQ_ITEM:if(Zt.error&&Jx.errors.push(Zt.error),tt.push(EA(Jx,Zt.node)),Zt.hasProps){const hi=\"Sequence items cannot have tags or anchors before the - indicator\";Jx.errors.push(new Dr.YAMLSemanticError(Zt,hi))}break;default:Zt.error&&Jx.errors.push(Zt.error),Jx.errors.push(new Dr.YAMLSyntaxError(Zt,`Unexpected ${Zt.type} node in sequence`))}}return{comments:Ye,items:tt}}(M0,e0),H1=new lf;if(H1.items=R1,FS(H1,R0),!M0.options.mapAsMap&&R1.some(Jx=>Jx instanceof uu&&Jx.key instanceof so)){const Jx=\"Keys with collection values will be stringified as YAML due to JS Object restrictions. Use mapAsMap: true to avoid this.\";M0.warnings.push(new Dr.YAMLWarning(e0,Jx))}return e0.resolved=H1,H1},resolveString:xF,strOptions:U8,stringifyNumber:function({format:M0,minFractionDigits:e0,tag:R0,value:R1}){if(typeof R1==\"bigint\")return String(R1);if(!isFinite(R1))return isNaN(R1)?\".nan\":R1<0?\"-.inf\":\".inf\";let H1=JSON.stringify(R1);if(!M0&&e0&&(!R0||R0===\"tag:yaml.org,2002:float\")&&/^\\d/.test(H1)){let Jx=H1.indexOf(\".\");Jx<0&&(Jx=H1.length,H1+=\".\");let Se=e0-(H1.length-Jx-1);for(;Se-- >0;)H1+=\"0\"}return H1},stringifyString:function(M0,e0,R0,R1){const{defaultType:H1}=U8,{implicitKey:Jx,inFlow:Se}=e0;let{type:Ye,value:tt}=M0;typeof tt!=\"string\"&&(tt=String(tt),M0=Object.assign({},M0,{value:tt}));const Er=hi=>{switch(hi){case Dr.Type.BLOCK_FOLDED:case Dr.Type.BLOCK_LITERAL:return sT(M0,e0,R0,R1);case Dr.Type.QUOTE_DOUBLE:return bA(tt,e0);case Dr.Type.QUOTE_SINGLE:return CA(tt,e0);case Dr.Type.PLAIN:return function(po,ba,oa,ho){const{comment:Za,type:Od,value:Cl}=po,{actualString:S,implicitKey:N0,indent:P1,inFlow:zx}=ba;if(N0&&/[\\n[\\]{},]/.test(Cl)||zx&&/[[\\]{},]/.test(Cl))return bA(Cl,ba);if(!Cl||/^[\\n\\t ,[\\]{}#&*!|>'\"%@`]|^[?-]$|^[?-][ \\t]|[\\n:][ \\t]|[ \\t]\\n|[\\n\\t ]#|[\\n\\t :]$/.test(Cl))return N0||zx||Cl.indexOf(`\n`)===-1?Cl.indexOf('\"')!==-1&&Cl.indexOf(\"'\")===-1?CA(Cl,ba):bA(Cl,ba):sT(po,ba,oa,ho);if(!N0&&!zx&&Od!==Dr.Type.PLAIN&&Cl.indexOf(`\n`)!==-1)return sT(po,ba,oa,ho);if(P1===\"\"&&Q8(Cl))return ba.forceBlockIndent=!0,sT(po,ba,oa,ho);const $e=Cl.replace(/\\n+/g,`$&\n${P1}`);if(S){const{tags:qr}=ba.doc.schema;if(typeof xp($e,qr,qr.scalarFallback).value!=\"string\")return bA(Cl,ba)}const bt=N0?$e:i5($e,P1,tw,Um(ba));return!Za||zx||bt.indexOf(`\n`)===-1&&Za.indexOf(`\n`)===-1?bt:(oa&&oa(),function(qr,ji,B0){return B0?`#${B0.replace(/[\\s\\S]^/gm,`$&${ji}#`)}\n${ji}${qr}`:qr}(bt,P1,Za))}(M0,e0,R0,R1);default:return null}};Ye!==Dr.Type.QUOTE_DOUBLE&&/[\\x00-\\x08\\x0b-\\x1f\\x7f-\\x9f]/.test(tt)?Ye=Dr.Type.QUOTE_DOUBLE:!Jx&&!Se||Ye!==Dr.Type.BLOCK_FOLDED&&Ye!==Dr.Type.BLOCK_LITERAL||(Ye=Dr.Type.QUOTE_DOUBLE);let Zt=Er(Ye);if(Zt===null&&(Zt=Er(H1),Zt===null))throw new Error(`Unsupported default string type ${H1}`);return Zt},toJSON:Qa},eF=eF!==void 0?eF:typeof self!=\"undefined\"?self:typeof window!=\"undefined\"?window:{},NF=[],C8=[],L4=typeof Uint8Array!=\"undefined\"?Uint8Array:Array,KT=!1;function C5(){KT=!0;for(var M0=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",e0=0,R0=M0.length;e0<R0;++e0)NF[e0]=M0[e0],C8[M0.charCodeAt(e0)]=e0;C8[\"-\".charCodeAt(0)]=62,C8[\"_\".charCodeAt(0)]=63}function y4(M0,e0,R0){for(var R1,H1,Jx=[],Se=e0;Se<R0;Se+=3)R1=(M0[Se]<<16)+(M0[Se+1]<<8)+M0[Se+2],Jx.push(NF[(H1=R1)>>18&63]+NF[H1>>12&63]+NF[H1>>6&63]+NF[63&H1]);return Jx.join(\"\")}function Zs(M0){var e0;KT||C5();for(var R0=M0.length,R1=R0%3,H1=\"\",Jx=[],Se=16383,Ye=0,tt=R0-R1;Ye<tt;Ye+=Se)Jx.push(y4(M0,Ye,Ye+Se>tt?tt:Ye+Se));return R1===1?(e0=M0[R0-1],H1+=NF[e0>>2],H1+=NF[e0<<4&63],H1+=\"==\"):R1===2&&(e0=(M0[R0-2]<<8)+M0[R0-1],H1+=NF[e0>>10],H1+=NF[e0>>4&63],H1+=NF[e0<<2&63],H1+=\"=\"),Jx.push(H1),Jx.join(\"\")}function GF(M0,e0,R0,R1,H1){var Jx,Se,Ye=8*H1-R1-1,tt=(1<<Ye)-1,Er=tt>>1,Zt=-7,hi=R0?H1-1:0,po=R0?-1:1,ba=M0[e0+hi];for(hi+=po,Jx=ba&(1<<-Zt)-1,ba>>=-Zt,Zt+=Ye;Zt>0;Jx=256*Jx+M0[e0+hi],hi+=po,Zt-=8);for(Se=Jx&(1<<-Zt)-1,Jx>>=-Zt,Zt+=R1;Zt>0;Se=256*Se+M0[e0+hi],hi+=po,Zt-=8);if(Jx===0)Jx=1-Er;else{if(Jx===tt)return Se?NaN:1/0*(ba?-1:1);Se+=Math.pow(2,R1),Jx-=Er}return(ba?-1:1)*Se*Math.pow(2,Jx-R1)}function zT(M0,e0,R0,R1,H1,Jx){var Se,Ye,tt,Er=8*Jx-H1-1,Zt=(1<<Er)-1,hi=Zt>>1,po=H1===23?Math.pow(2,-24)-Math.pow(2,-77):0,ba=R1?0:Jx-1,oa=R1?1:-1,ho=e0<0||e0===0&&1/e0<0?1:0;for(e0=Math.abs(e0),isNaN(e0)||e0===1/0?(Ye=isNaN(e0)?1:0,Se=Zt):(Se=Math.floor(Math.log(e0)/Math.LN2),e0*(tt=Math.pow(2,-Se))<1&&(Se--,tt*=2),(e0+=Se+hi>=1?po/tt:po*Math.pow(2,1-hi))*tt>=2&&(Se++,tt/=2),Se+hi>=Zt?(Ye=0,Se=Zt):Se+hi>=1?(Ye=(e0*tt-1)*Math.pow(2,H1),Se+=hi):(Ye=e0*Math.pow(2,hi-1)*Math.pow(2,H1),Se=0));H1>=8;M0[R0+ba]=255&Ye,ba+=oa,Ye/=256,H1-=8);for(Se=Se<<H1|Ye,Er+=H1;Er>0;M0[R0+ba]=255&Se,ba+=oa,Se/=256,Er-=8);M0[R0+ba-oa]|=128*ho}var AT={}.toString,a5=Array.isArray||function(M0){return AT.call(M0)==\"[object Array]\"};function z5(){return zs.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function XF(M0,e0){if(z5()<e0)throw new RangeError(\"Invalid typed array length\");return zs.TYPED_ARRAY_SUPPORT?(M0=new Uint8Array(e0)).__proto__=zs.prototype:(M0===null&&(M0=new zs(e0)),M0.length=e0),M0}function zs(M0,e0,R0){if(!(zs.TYPED_ARRAY_SUPPORT||this instanceof zs))return new zs(M0,e0,R0);if(typeof M0==\"number\"){if(typeof e0==\"string\")throw new Error(\"If encoding is specified then the first argument must be a string\");return kx(this,M0)}return W5(this,M0,e0,R0)}function W5(M0,e0,R0,R1){if(typeof e0==\"number\")throw new TypeError('\"value\" argument must not be a number');return typeof ArrayBuffer!=\"undefined\"&&e0 instanceof ArrayBuffer?function(H1,Jx,Se,Ye){if(Jx.byteLength,Se<0||Jx.byteLength<Se)throw new RangeError(\"'offset' is out of bounds\");if(Jx.byteLength<Se+(Ye||0))throw new RangeError(\"'length' is out of bounds\");return Jx=Se===void 0&&Ye===void 0?new Uint8Array(Jx):Ye===void 0?new Uint8Array(Jx,Se):new Uint8Array(Jx,Se,Ye),zs.TYPED_ARRAY_SUPPORT?(H1=Jx).__proto__=zs.prototype:H1=Xx(H1,Jx),H1}(M0,e0,R0,R1):typeof e0==\"string\"?function(H1,Jx,Se){if(typeof Se==\"string\"&&Se!==\"\"||(Se=\"utf8\"),!zs.isEncoding(Se))throw new TypeError('\"encoding\" must be a valid string encoding');var Ye=0|cn(Jx,Se),tt=(H1=XF(H1,Ye)).write(Jx,Se);return tt!==Ye&&(H1=H1.slice(0,tt)),H1}(M0,e0,R0):function(H1,Jx){if(at(Jx)){var Se=0|Ee(Jx.length);return(H1=XF(H1,Se)).length===0||Jx.copy(H1,0,0,Se),H1}if(Jx){if(typeof ArrayBuffer!=\"undefined\"&&Jx.buffer instanceof ArrayBuffer||\"length\"in Jx)return typeof Jx.length!=\"number\"||(Ye=Jx.length)!=Ye?XF(H1,0):Xx(H1,Jx);if(Jx.type===\"Buffer\"&&a5(Jx.data))return Xx(H1,Jx.data)}var Ye;throw new TypeError(\"First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.\")}(M0,e0)}function TT(M0){if(typeof M0!=\"number\")throw new TypeError('\"size\" argument must be a number');if(M0<0)throw new RangeError('\"size\" argument must not be negative')}function kx(M0,e0){if(TT(e0),M0=XF(M0,e0<0?0:0|Ee(e0)),!zs.TYPED_ARRAY_SUPPORT)for(var R0=0;R0<e0;++R0)M0[R0]=0;return M0}function Xx(M0,e0){var R0=e0.length<0?0:0|Ee(e0.length);M0=XF(M0,R0);for(var R1=0;R1<R0;R1+=1)M0[R1]=255&e0[R1];return M0}function Ee(M0){if(M0>=z5())throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+z5().toString(16)+\" bytes\");return 0|M0}function at(M0){return!(M0==null||!M0._isBuffer)}function cn(M0,e0){if(at(M0))return M0.length;if(typeof ArrayBuffer!=\"undefined\"&&typeof ArrayBuffer.isView==\"function\"&&(ArrayBuffer.isView(M0)||M0 instanceof ArrayBuffer))return M0.byteLength;typeof M0!=\"string\"&&(M0=\"\"+M0);var R0=M0.length;if(R0===0)return 0;for(var R1=!1;;)switch(e0){case\"ascii\":case\"latin1\":case\"binary\":return R0;case\"utf8\":case\"utf-8\":case void 0:return QF(M0).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*R0;case\"hex\":return R0>>>1;case\"base64\":return Ww(M0).length;default:if(R1)return QF(M0).length;e0=(\"\"+e0).toLowerCase(),R1=!0}}function Bn(M0,e0,R0){var R1=!1;if((e0===void 0||e0<0)&&(e0=0),e0>this.length||((R0===void 0||R0>this.length)&&(R0=this.length),R0<=0)||(R0>>>=0)<=(e0>>>=0))return\"\";for(M0||(M0=\"utf8\");;)switch(M0){case\"hex\":return Gs(this,e0,R0);case\"utf8\":case\"utf-8\":return Ll(this,e0,R0);case\"ascii\":return Tu(this,e0,R0);case\"latin1\":case\"binary\":return yp(this,e0,R0);case\"base64\":return ap(this,e0,R0);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return ra(this,e0,R0);default:if(R1)throw new TypeError(\"Unknown encoding: \"+M0);M0=(M0+\"\").toLowerCase(),R1=!0}}function ao(M0,e0,R0){var R1=M0[e0];M0[e0]=M0[R0],M0[R0]=R1}function go(M0,e0,R0,R1,H1){if(M0.length===0)return-1;if(typeof R0==\"string\"?(R1=R0,R0=0):R0>2147483647?R0=2147483647:R0<-2147483648&&(R0=-2147483648),R0=+R0,isNaN(R0)&&(R0=H1?0:M0.length-1),R0<0&&(R0=M0.length+R0),R0>=M0.length){if(H1)return-1;R0=M0.length-1}else if(R0<0){if(!H1)return-1;R0=0}if(typeof e0==\"string\"&&(e0=zs.from(e0,R1)),at(e0))return e0.length===0?-1:gu(M0,e0,R0,R1,H1);if(typeof e0==\"number\")return e0&=255,zs.TYPED_ARRAY_SUPPORT&&typeof Uint8Array.prototype.indexOf==\"function\"?H1?Uint8Array.prototype.indexOf.call(M0,e0,R0):Uint8Array.prototype.lastIndexOf.call(M0,e0,R0):gu(M0,[e0],R0,R1,H1);throw new TypeError(\"val must be string, number or Buffer\")}function gu(M0,e0,R0,R1,H1){var Jx,Se=1,Ye=M0.length,tt=e0.length;if(R1!==void 0&&((R1=String(R1).toLowerCase())===\"ucs2\"||R1===\"ucs-2\"||R1===\"utf16le\"||R1===\"utf-16le\")){if(M0.length<2||e0.length<2)return-1;Se=2,Ye/=2,tt/=2,R0/=2}function Er(ba,oa){return Se===1?ba[oa]:ba.readUInt16BE(oa*Se)}if(H1){var Zt=-1;for(Jx=R0;Jx<Ye;Jx++)if(Er(M0,Jx)===Er(e0,Zt===-1?0:Jx-Zt)){if(Zt===-1&&(Zt=Jx),Jx-Zt+1===tt)return Zt*Se}else Zt!==-1&&(Jx-=Jx-Zt),Zt=-1}else for(R0+tt>Ye&&(R0=Ye-tt),Jx=R0;Jx>=0;Jx--){for(var hi=!0,po=0;po<tt;po++)if(Er(M0,Jx+po)!==Er(e0,po)){hi=!1;break}if(hi)return Jx}return-1}function cu(M0,e0,R0,R1){R0=Number(R0)||0;var H1=M0.length-R0;R1?(R1=Number(R1))>H1&&(R1=H1):R1=H1;var Jx=e0.length;if(Jx%2!=0)throw new TypeError(\"Invalid hex string\");R1>Jx/2&&(R1=Jx/2);for(var Se=0;Se<R1;++Se){var Ye=parseInt(e0.substr(2*Se,2),16);if(isNaN(Ye))return Se;M0[R0+Se]=Ye}return Se}function El(M0,e0,R0,R1){return K2(QF(e0,M0.length-R0),M0,R0,R1)}function Go(M0,e0,R0,R1){return K2(function(H1){for(var Jx=[],Se=0;Se<H1.length;++Se)Jx.push(255&H1.charCodeAt(Se));return Jx}(e0),M0,R0,R1)}function Xu(M0,e0,R0,R1){return Go(M0,e0,R0,R1)}function Ql(M0,e0,R0,R1){return K2(Ww(e0),M0,R0,R1)}function p_(M0,e0,R0,R1){return K2(function(H1,Jx){for(var Se,Ye,tt,Er=[],Zt=0;Zt<H1.length&&!((Jx-=2)<0);++Zt)Ye=(Se=H1.charCodeAt(Zt))>>8,tt=Se%256,Er.push(tt),Er.push(Ye);return Er}(e0,M0.length-R0),M0,R0,R1)}function ap(M0,e0,R0){return e0===0&&R0===M0.length?Zs(M0):Zs(M0.slice(e0,R0))}function Ll(M0,e0,R0){R0=Math.min(M0.length,R0);for(var R1=[],H1=e0;H1<R0;){var Jx,Se,Ye,tt,Er=M0[H1],Zt=null,hi=Er>239?4:Er>223?3:Er>191?2:1;if(H1+hi<=R0)switch(hi){case 1:Er<128&&(Zt=Er);break;case 2:(192&(Jx=M0[H1+1]))==128&&(tt=(31&Er)<<6|63&Jx)>127&&(Zt=tt);break;case 3:Jx=M0[H1+1],Se=M0[H1+2],(192&Jx)==128&&(192&Se)==128&&(tt=(15&Er)<<12|(63&Jx)<<6|63&Se)>2047&&(tt<55296||tt>57343)&&(Zt=tt);break;case 4:Jx=M0[H1+1],Se=M0[H1+2],Ye=M0[H1+3],(192&Jx)==128&&(192&Se)==128&&(192&Ye)==128&&(tt=(15&Er)<<18|(63&Jx)<<12|(63&Se)<<6|63&Ye)>65535&&tt<1114112&&(Zt=tt)}Zt===null?(Zt=65533,hi=1):Zt>65535&&(Zt-=65536,R1.push(Zt>>>10&1023|55296),Zt=56320|1023&Zt),R1.push(Zt),H1+=hi}return function(po){var ba=po.length;if(ba<=$l)return String.fromCharCode.apply(String,po);for(var oa=\"\",ho=0;ho<ba;)oa+=String.fromCharCode.apply(String,po.slice(ho,ho+=$l));return oa}(R1)}zs.TYPED_ARRAY_SUPPORT=eF.TYPED_ARRAY_SUPPORT===void 0||eF.TYPED_ARRAY_SUPPORT,zs.poolSize=8192,zs._augment=function(M0){return M0.__proto__=zs.prototype,M0},zs.from=function(M0,e0,R0){return W5(null,M0,e0,R0)},zs.TYPED_ARRAY_SUPPORT&&(zs.prototype.__proto__=Uint8Array.prototype,zs.__proto__=Uint8Array),zs.alloc=function(M0,e0,R0){return function(R1,H1,Jx,Se){return TT(H1),H1<=0?XF(R1,H1):Jx!==void 0?typeof Se==\"string\"?XF(R1,H1).fill(Jx,Se):XF(R1,H1).fill(Jx):XF(R1,H1)}(null,M0,e0,R0)},zs.allocUnsafe=function(M0){return kx(null,M0)},zs.allocUnsafeSlow=function(M0){return kx(null,M0)},zs.isBuffer=function(M0){return M0!=null&&(!!M0._isBuffer||Sn(M0)||function(e0){return typeof e0.readFloatLE==\"function\"&&typeof e0.slice==\"function\"&&Sn(e0.slice(0,0))}(M0))},zs.compare=function(M0,e0){if(!at(M0)||!at(e0))throw new TypeError(\"Arguments must be Buffers\");if(M0===e0)return 0;for(var R0=M0.length,R1=e0.length,H1=0,Jx=Math.min(R0,R1);H1<Jx;++H1)if(M0[H1]!==e0[H1]){R0=M0[H1],R1=e0[H1];break}return R0<R1?-1:R1<R0?1:0},zs.isEncoding=function(M0){switch(String(M0).toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"latin1\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return!0;default:return!1}},zs.concat=function(M0,e0){if(!a5(M0))throw new TypeError('\"list\" argument must be an Array of Buffers');if(M0.length===0)return zs.alloc(0);var R0;if(e0===void 0)for(e0=0,R0=0;R0<M0.length;++R0)e0+=M0[R0].length;var R1=zs.allocUnsafe(e0),H1=0;for(R0=0;R0<M0.length;++R0){var Jx=M0[R0];if(!at(Jx))throw new TypeError('\"list\" argument must be an Array of Buffers');Jx.copy(R1,H1),H1+=Jx.length}return R1},zs.byteLength=cn,zs.prototype._isBuffer=!0,zs.prototype.swap16=function(){var M0=this.length;if(M0%2!=0)throw new RangeError(\"Buffer size must be a multiple of 16-bits\");for(var e0=0;e0<M0;e0+=2)ao(this,e0,e0+1);return this},zs.prototype.swap32=function(){var M0=this.length;if(M0%4!=0)throw new RangeError(\"Buffer size must be a multiple of 32-bits\");for(var e0=0;e0<M0;e0+=4)ao(this,e0,e0+3),ao(this,e0+1,e0+2);return this},zs.prototype.swap64=function(){var M0=this.length;if(M0%8!=0)throw new RangeError(\"Buffer size must be a multiple of 64-bits\");for(var e0=0;e0<M0;e0+=8)ao(this,e0,e0+7),ao(this,e0+1,e0+6),ao(this,e0+2,e0+5),ao(this,e0+3,e0+4);return this},zs.prototype.toString=function(){var M0=0|this.length;return M0===0?\"\":arguments.length===0?Ll(this,0,M0):Bn.apply(this,arguments)},zs.prototype.equals=function(M0){if(!at(M0))throw new TypeError(\"Argument must be a Buffer\");return this===M0||zs.compare(this,M0)===0},zs.prototype.inspect=function(){var M0=\"\";return this.length>0&&(M0=this.toString(\"hex\",0,50).match(/.{2}/g).join(\" \"),this.length>50&&(M0+=\" ... \")),\"<Buffer \"+M0+\">\"},zs.prototype.compare=function(M0,e0,R0,R1,H1){if(!at(M0))throw new TypeError(\"Argument must be a Buffer\");if(e0===void 0&&(e0=0),R0===void 0&&(R0=M0?M0.length:0),R1===void 0&&(R1=0),H1===void 0&&(H1=this.length),e0<0||R0>M0.length||R1<0||H1>this.length)throw new RangeError(\"out of range index\");if(R1>=H1&&e0>=R0)return 0;if(R1>=H1)return-1;if(e0>=R0)return 1;if(this===M0)return 0;for(var Jx=(H1>>>=0)-(R1>>>=0),Se=(R0>>>=0)-(e0>>>=0),Ye=Math.min(Jx,Se),tt=this.slice(R1,H1),Er=M0.slice(e0,R0),Zt=0;Zt<Ye;++Zt)if(tt[Zt]!==Er[Zt]){Jx=tt[Zt],Se=Er[Zt];break}return Jx<Se?-1:Se<Jx?1:0},zs.prototype.includes=function(M0,e0,R0){return this.indexOf(M0,e0,R0)!==-1},zs.prototype.indexOf=function(M0,e0,R0){return go(this,M0,e0,R0,!0)},zs.prototype.lastIndexOf=function(M0,e0,R0){return go(this,M0,e0,R0,!1)},zs.prototype.write=function(M0,e0,R0,R1){if(e0===void 0)R1=\"utf8\",R0=this.length,e0=0;else if(R0===void 0&&typeof e0==\"string\")R1=e0,R0=this.length,e0=0;else{if(!isFinite(e0))throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");e0|=0,isFinite(R0)?(R0|=0,R1===void 0&&(R1=\"utf8\")):(R1=R0,R0=void 0)}var H1=this.length-e0;if((R0===void 0||R0>H1)&&(R0=H1),M0.length>0&&(R0<0||e0<0)||e0>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");R1||(R1=\"utf8\");for(var Jx=!1;;)switch(R1){case\"hex\":return cu(this,M0,e0,R0);case\"utf8\":case\"utf-8\":return El(this,M0,e0,R0);case\"ascii\":return Go(this,M0,e0,R0);case\"latin1\":case\"binary\":return Xu(this,M0,e0,R0);case\"base64\":return Ql(this,M0,e0,R0);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return p_(this,M0,e0,R0);default:if(Jx)throw new TypeError(\"Unknown encoding: \"+R1);R1=(\"\"+R1).toLowerCase(),Jx=!0}},zs.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};var $l=4096;function Tu(M0,e0,R0){var R1=\"\";R0=Math.min(M0.length,R0);for(var H1=e0;H1<R0;++H1)R1+=String.fromCharCode(127&M0[H1]);return R1}function yp(M0,e0,R0){var R1=\"\";R0=Math.min(M0.length,R0);for(var H1=e0;H1<R0;++H1)R1+=String.fromCharCode(M0[H1]);return R1}function Gs(M0,e0,R0){var R1=M0.length;(!e0||e0<0)&&(e0=0),(!R0||R0<0||R0>R1)&&(R0=R1);for(var H1=\"\",Jx=e0;Jx<R0;++Jx)H1+=E5(M0[Jx]);return H1}function ra(M0,e0,R0){for(var R1=M0.slice(e0,R0),H1=\"\",Jx=0;Jx<R1.length;Jx+=2)H1+=String.fromCharCode(R1[Jx]+256*R1[Jx+1]);return H1}function fo(M0,e0,R0){if(M0%1!=0||M0<0)throw new RangeError(\"offset is not uint\");if(M0+e0>R0)throw new RangeError(\"Trying to access beyond buffer length\")}function lu(M0,e0,R0,R1,H1,Jx){if(!at(M0))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(e0>H1||e0<Jx)throw new RangeError('\"value\" argument is out of bounds');if(R0+R1>M0.length)throw new RangeError(\"Index out of range\")}function a2(M0,e0,R0,R1){e0<0&&(e0=65535+e0+1);for(var H1=0,Jx=Math.min(M0.length-R0,2);H1<Jx;++H1)M0[R0+H1]=(e0&255<<8*(R1?H1:1-H1))>>>8*(R1?H1:1-H1)}function V8(M0,e0,R0,R1){e0<0&&(e0=4294967295+e0+1);for(var H1=0,Jx=Math.min(M0.length-R0,4);H1<Jx;++H1)M0[R0+H1]=e0>>>8*(R1?H1:3-H1)&255}function YF(M0,e0,R0,R1,H1,Jx){if(R0+R1>M0.length)throw new RangeError(\"Index out of range\");if(R0<0)throw new RangeError(\"Index out of range\")}function T8(M0,e0,R0,R1,H1){return H1||YF(M0,0,R0,4),zT(M0,e0,R0,R1,23,4),R0+4}function Q4(M0,e0,R0,R1,H1){return H1||YF(M0,0,R0,8),zT(M0,e0,R0,R1,52,8),R0+8}zs.prototype.slice=function(M0,e0){var R0,R1=this.length;if((M0=~~M0)<0?(M0+=R1)<0&&(M0=0):M0>R1&&(M0=R1),(e0=e0===void 0?R1:~~e0)<0?(e0+=R1)<0&&(e0=0):e0>R1&&(e0=R1),e0<M0&&(e0=M0),zs.TYPED_ARRAY_SUPPORT)(R0=this.subarray(M0,e0)).__proto__=zs.prototype;else{var H1=e0-M0;R0=new zs(H1,void 0);for(var Jx=0;Jx<H1;++Jx)R0[Jx]=this[Jx+M0]}return R0},zs.prototype.readUIntLE=function(M0,e0,R0){M0|=0,e0|=0,R0||fo(M0,e0,this.length);for(var R1=this[M0],H1=1,Jx=0;++Jx<e0&&(H1*=256);)R1+=this[M0+Jx]*H1;return R1},zs.prototype.readUIntBE=function(M0,e0,R0){M0|=0,e0|=0,R0||fo(M0,e0,this.length);for(var R1=this[M0+--e0],H1=1;e0>0&&(H1*=256);)R1+=this[M0+--e0]*H1;return R1},zs.prototype.readUInt8=function(M0,e0){return e0||fo(M0,1,this.length),this[M0]},zs.prototype.readUInt16LE=function(M0,e0){return e0||fo(M0,2,this.length),this[M0]|this[M0+1]<<8},zs.prototype.readUInt16BE=function(M0,e0){return e0||fo(M0,2,this.length),this[M0]<<8|this[M0+1]},zs.prototype.readUInt32LE=function(M0,e0){return e0||fo(M0,4,this.length),(this[M0]|this[M0+1]<<8|this[M0+2]<<16)+16777216*this[M0+3]},zs.prototype.readUInt32BE=function(M0,e0){return e0||fo(M0,4,this.length),16777216*this[M0]+(this[M0+1]<<16|this[M0+2]<<8|this[M0+3])},zs.prototype.readIntLE=function(M0,e0,R0){M0|=0,e0|=0,R0||fo(M0,e0,this.length);for(var R1=this[M0],H1=1,Jx=0;++Jx<e0&&(H1*=256);)R1+=this[M0+Jx]*H1;return R1>=(H1*=128)&&(R1-=Math.pow(2,8*e0)),R1},zs.prototype.readIntBE=function(M0,e0,R0){M0|=0,e0|=0,R0||fo(M0,e0,this.length);for(var R1=e0,H1=1,Jx=this[M0+--R1];R1>0&&(H1*=256);)Jx+=this[M0+--R1]*H1;return Jx>=(H1*=128)&&(Jx-=Math.pow(2,8*e0)),Jx},zs.prototype.readInt8=function(M0,e0){return e0||fo(M0,1,this.length),128&this[M0]?-1*(255-this[M0]+1):this[M0]},zs.prototype.readInt16LE=function(M0,e0){e0||fo(M0,2,this.length);var R0=this[M0]|this[M0+1]<<8;return 32768&R0?4294901760|R0:R0},zs.prototype.readInt16BE=function(M0,e0){e0||fo(M0,2,this.length);var R0=this[M0+1]|this[M0]<<8;return 32768&R0?4294901760|R0:R0},zs.prototype.readInt32LE=function(M0,e0){return e0||fo(M0,4,this.length),this[M0]|this[M0+1]<<8|this[M0+2]<<16|this[M0+3]<<24},zs.prototype.readInt32BE=function(M0,e0){return e0||fo(M0,4,this.length),this[M0]<<24|this[M0+1]<<16|this[M0+2]<<8|this[M0+3]},zs.prototype.readFloatLE=function(M0,e0){return e0||fo(M0,4,this.length),GF(this,M0,!0,23,4)},zs.prototype.readFloatBE=function(M0,e0){return e0||fo(M0,4,this.length),GF(this,M0,!1,23,4)},zs.prototype.readDoubleLE=function(M0,e0){return e0||fo(M0,8,this.length),GF(this,M0,!0,52,8)},zs.prototype.readDoubleBE=function(M0,e0){return e0||fo(M0,8,this.length),GF(this,M0,!1,52,8)},zs.prototype.writeUIntLE=function(M0,e0,R0,R1){M0=+M0,e0|=0,R0|=0,R1||lu(this,M0,e0,R0,Math.pow(2,8*R0)-1,0);var H1=1,Jx=0;for(this[e0]=255&M0;++Jx<R0&&(H1*=256);)this[e0+Jx]=M0/H1&255;return e0+R0},zs.prototype.writeUIntBE=function(M0,e0,R0,R1){M0=+M0,e0|=0,R0|=0,R1||lu(this,M0,e0,R0,Math.pow(2,8*R0)-1,0);var H1=R0-1,Jx=1;for(this[e0+H1]=255&M0;--H1>=0&&(Jx*=256);)this[e0+H1]=M0/Jx&255;return e0+R0},zs.prototype.writeUInt8=function(M0,e0,R0){return M0=+M0,e0|=0,R0||lu(this,M0,e0,1,255,0),zs.TYPED_ARRAY_SUPPORT||(M0=Math.floor(M0)),this[e0]=255&M0,e0+1},zs.prototype.writeUInt16LE=function(M0,e0,R0){return M0=+M0,e0|=0,R0||lu(this,M0,e0,2,65535,0),zs.TYPED_ARRAY_SUPPORT?(this[e0]=255&M0,this[e0+1]=M0>>>8):a2(this,M0,e0,!0),e0+2},zs.prototype.writeUInt16BE=function(M0,e0,R0){return M0=+M0,e0|=0,R0||lu(this,M0,e0,2,65535,0),zs.TYPED_ARRAY_SUPPORT?(this[e0]=M0>>>8,this[e0+1]=255&M0):a2(this,M0,e0,!1),e0+2},zs.prototype.writeUInt32LE=function(M0,e0,R0){return M0=+M0,e0|=0,R0||lu(this,M0,e0,4,4294967295,0),zs.TYPED_ARRAY_SUPPORT?(this[e0+3]=M0>>>24,this[e0+2]=M0>>>16,this[e0+1]=M0>>>8,this[e0]=255&M0):V8(this,M0,e0,!0),e0+4},zs.prototype.writeUInt32BE=function(M0,e0,R0){return M0=+M0,e0|=0,R0||lu(this,M0,e0,4,4294967295,0),zs.TYPED_ARRAY_SUPPORT?(this[e0]=M0>>>24,this[e0+1]=M0>>>16,this[e0+2]=M0>>>8,this[e0+3]=255&M0):V8(this,M0,e0,!1),e0+4},zs.prototype.writeIntLE=function(M0,e0,R0,R1){if(M0=+M0,e0|=0,!R1){var H1=Math.pow(2,8*R0-1);lu(this,M0,e0,R0,H1-1,-H1)}var Jx=0,Se=1,Ye=0;for(this[e0]=255&M0;++Jx<R0&&(Se*=256);)M0<0&&Ye===0&&this[e0+Jx-1]!==0&&(Ye=1),this[e0+Jx]=(M0/Se>>0)-Ye&255;return e0+R0},zs.prototype.writeIntBE=function(M0,e0,R0,R1){if(M0=+M0,e0|=0,!R1){var H1=Math.pow(2,8*R0-1);lu(this,M0,e0,R0,H1-1,-H1)}var Jx=R0-1,Se=1,Ye=0;for(this[e0+Jx]=255&M0;--Jx>=0&&(Se*=256);)M0<0&&Ye===0&&this[e0+Jx+1]!==0&&(Ye=1),this[e0+Jx]=(M0/Se>>0)-Ye&255;return e0+R0},zs.prototype.writeInt8=function(M0,e0,R0){return M0=+M0,e0|=0,R0||lu(this,M0,e0,1,127,-128),zs.TYPED_ARRAY_SUPPORT||(M0=Math.floor(M0)),M0<0&&(M0=255+M0+1),this[e0]=255&M0,e0+1},zs.prototype.writeInt16LE=function(M0,e0,R0){return M0=+M0,e0|=0,R0||lu(this,M0,e0,2,32767,-32768),zs.TYPED_ARRAY_SUPPORT?(this[e0]=255&M0,this[e0+1]=M0>>>8):a2(this,M0,e0,!0),e0+2},zs.prototype.writeInt16BE=function(M0,e0,R0){return M0=+M0,e0|=0,R0||lu(this,M0,e0,2,32767,-32768),zs.TYPED_ARRAY_SUPPORT?(this[e0]=M0>>>8,this[e0+1]=255&M0):a2(this,M0,e0,!1),e0+2},zs.prototype.writeInt32LE=function(M0,e0,R0){return M0=+M0,e0|=0,R0||lu(this,M0,e0,4,2147483647,-2147483648),zs.TYPED_ARRAY_SUPPORT?(this[e0]=255&M0,this[e0+1]=M0>>>8,this[e0+2]=M0>>>16,this[e0+3]=M0>>>24):V8(this,M0,e0,!0),e0+4},zs.prototype.writeInt32BE=function(M0,e0,R0){return M0=+M0,e0|=0,R0||lu(this,M0,e0,4,2147483647,-2147483648),M0<0&&(M0=4294967295+M0+1),zs.TYPED_ARRAY_SUPPORT?(this[e0]=M0>>>24,this[e0+1]=M0>>>16,this[e0+2]=M0>>>8,this[e0+3]=255&M0):V8(this,M0,e0,!1),e0+4},zs.prototype.writeFloatLE=function(M0,e0,R0){return T8(this,M0,e0,!0,R0)},zs.prototype.writeFloatBE=function(M0,e0,R0){return T8(this,M0,e0,!1,R0)},zs.prototype.writeDoubleLE=function(M0,e0,R0){return Q4(this,M0,e0,!0,R0)},zs.prototype.writeDoubleBE=function(M0,e0,R0){return Q4(this,M0,e0,!1,R0)},zs.prototype.copy=function(M0,e0,R0,R1){if(R0||(R0=0),R1||R1===0||(R1=this.length),e0>=M0.length&&(e0=M0.length),e0||(e0=0),R1>0&&R1<R0&&(R1=R0),R1===R0||M0.length===0||this.length===0)return 0;if(e0<0)throw new RangeError(\"targetStart out of bounds\");if(R0<0||R0>=this.length)throw new RangeError(\"sourceStart out of bounds\");if(R1<0)throw new RangeError(\"sourceEnd out of bounds\");R1>this.length&&(R1=this.length),M0.length-e0<R1-R0&&(R1=M0.length-e0+R0);var H1,Jx=R1-R0;if(this===M0&&R0<e0&&e0<R1)for(H1=Jx-1;H1>=0;--H1)M0[H1+e0]=this[H1+R0];else if(Jx<1e3||!zs.TYPED_ARRAY_SUPPORT)for(H1=0;H1<Jx;++H1)M0[H1+e0]=this[H1+R0];else Uint8Array.prototype.set.call(M0,this.subarray(R0,R0+Jx),e0);return Jx},zs.prototype.fill=function(M0,e0,R0,R1){if(typeof M0==\"string\"){if(typeof e0==\"string\"?(R1=e0,e0=0,R0=this.length):typeof R0==\"string\"&&(R1=R0,R0=this.length),M0.length===1){var H1=M0.charCodeAt(0);H1<256&&(M0=H1)}if(R1!==void 0&&typeof R1!=\"string\")throw new TypeError(\"encoding must be a string\");if(typeof R1==\"string\"&&!zs.isEncoding(R1))throw new TypeError(\"Unknown encoding: \"+R1)}else typeof M0==\"number\"&&(M0&=255);if(e0<0||this.length<e0||this.length<R0)throw new RangeError(\"Out of range index\");if(R0<=e0)return this;var Jx;if(e0>>>=0,R0=R0===void 0?this.length:R0>>>0,M0||(M0=0),typeof M0==\"number\")for(Jx=e0;Jx<R0;++Jx)this[Jx]=M0;else{var Se=at(M0)?M0:QF(new zs(M0,R1).toString()),Ye=Se.length;for(Jx=0;Jx<R0-e0;++Jx)this[Jx+e0]=Se[Jx%Ye]}return this};var D4=/[^+\\/0-9A-Za-z-_]/g;function E5(M0){return M0<16?\"0\"+M0.toString(16):M0.toString(16)}function QF(M0,e0){var R0;e0=e0||1/0;for(var R1=M0.length,H1=null,Jx=[],Se=0;Se<R1;++Se){if((R0=M0.charCodeAt(Se))>55295&&R0<57344){if(!H1){if(R0>56319){(e0-=3)>-1&&Jx.push(239,191,189);continue}if(Se+1===R1){(e0-=3)>-1&&Jx.push(239,191,189);continue}H1=R0;continue}if(R0<56320){(e0-=3)>-1&&Jx.push(239,191,189),H1=R0;continue}R0=65536+(H1-55296<<10|R0-56320)}else H1&&(e0-=3)>-1&&Jx.push(239,191,189);if(H1=null,R0<128){if((e0-=1)<0)break;Jx.push(R0)}else if(R0<2048){if((e0-=2)<0)break;Jx.push(R0>>6|192,63&R0|128)}else if(R0<65536){if((e0-=3)<0)break;Jx.push(R0>>12|224,R0>>6&63|128,63&R0|128)}else{if(!(R0<1114112))throw new Error(\"Invalid code point\");if((e0-=4)<0)break;Jx.push(R0>>18|240,R0>>12&63|128,R0>>6&63|128,63&R0|128)}}return Jx}function Ww(M0){return function(e0){var R0,R1,H1,Jx,Se,Ye;KT||C5();var tt=e0.length;if(tt%4>0)throw new Error(\"Invalid string. Length must be a multiple of 4\");Se=e0[tt-2]===\"=\"?2:e0[tt-1]===\"=\"?1:0,Ye=new L4(3*tt/4-Se),H1=Se>0?tt-4:tt;var Er=0;for(R0=0,R1=0;R0<H1;R0+=4,R1+=3)Jx=C8[e0.charCodeAt(R0)]<<18|C8[e0.charCodeAt(R0+1)]<<12|C8[e0.charCodeAt(R0+2)]<<6|C8[e0.charCodeAt(R0+3)],Ye[Er++]=Jx>>16&255,Ye[Er++]=Jx>>8&255,Ye[Er++]=255&Jx;return Se===2?(Jx=C8[e0.charCodeAt(R0)]<<2|C8[e0.charCodeAt(R0+1)]>>4,Ye[Er++]=255&Jx):Se===1&&(Jx=C8[e0.charCodeAt(R0)]<<10|C8[e0.charCodeAt(R0+1)]<<4|C8[e0.charCodeAt(R0+2)]>>2,Ye[Er++]=Jx>>8&255,Ye[Er++]=255&Jx),Ye}(function(e0){if((e0=function(R0){return R0.trim?R0.trim():R0.replace(/^\\s+|\\s+$/g,\"\")}(e0).replace(D4,\"\")).length<2)return\"\";for(;e0.length%4!=0;)e0+=\"=\";return e0}(M0))}function K2(M0,e0,R0,R1){for(var H1=0;H1<R1&&!(H1+R0>=e0.length||H1>=M0.length);++H1)e0[H1+R0]=M0[H1];return H1}function Sn(M0){return!!M0.constructor&&typeof M0.constructor.isBuffer==\"function\"&&M0.constructor.isBuffer(M0)}function M4(){throw new Error(\"setTimeout has not been defined\")}function B6(){throw new Error(\"clearTimeout has not been defined\")}var x6=M4,vf=B6;function Eu(M0){if(x6===setTimeout)return setTimeout(M0,0);if((x6===M4||!x6)&&setTimeout)return x6=setTimeout,setTimeout(M0,0);try{return x6(M0,0)}catch{try{return x6.call(null,M0,0)}catch{return x6.call(this,M0,0)}}}typeof eF.setTimeout==\"function\"&&(x6=setTimeout),typeof eF.clearTimeout==\"function\"&&(vf=clearTimeout);var jh,Cb=[],px=!1,Tf=-1;function e6(){px&&jh&&(px=!1,jh.length?Cb=jh.concat(Cb):Tf=-1,Cb.length&&z2())}function z2(){if(!px){var M0=Eu(e6);px=!0;for(var e0=Cb.length;e0;){for(jh=Cb,Cb=[];++Tf<e0;)jh&&jh[Tf].run();Tf=-1,e0=Cb.length}jh=null,px=!1,function(R0){if(vf===clearTimeout)return clearTimeout(R0);if((vf===B6||!vf)&&clearTimeout)return vf=clearTimeout,clearTimeout(R0);try{vf(R0)}catch{try{return vf.call(null,R0)}catch{return vf.call(this,R0)}}}(M0)}}function ty(M0,e0){this.fun=M0,this.array=e0}ty.prototype.run=function(){this.fun.apply(null,this.array)};function yS(){}var TS=yS,L6=yS,v4=yS,W2=yS,pt=yS,b4=yS,M6=yS,B1=eF.performance||{},Yx=B1.now||B1.mozNow||B1.msNow||B1.oNow||B1.webkitNow||function(){return new Date().getTime()},Oe=new Date,zt={nextTick:function(M0){var e0=new Array(arguments.length-1);if(arguments.length>1)for(var R0=1;R0<arguments.length;R0++)e0[R0-1]=arguments[R0];Cb.push(new ty(M0,e0)),Cb.length!==1||px||Eu(z2)},title:\"browser\",browser:!0,env:{},argv:[],version:\"\",versions:{},on:TS,addListener:L6,once:v4,off:W2,removeListener:pt,removeAllListeners:b4,emit:M6,binding:function(M0){throw new Error(\"process.binding is not supported\")},cwd:function(){return\"/\"},chdir:function(M0){throw new Error(\"process.chdir is not supported\")},umask:function(){return 0},hrtime:function(M0){var e0=.001*Yx.call(B1),R0=Math.floor(e0),R1=Math.floor(e0%1*1e9);return M0&&(R0-=M0[0],(R1-=M0[1])<0&&(R0--,R1+=1e9)),[R0,R1]},platform:\"browser\",release:{},config:{},uptime:function(){return(new Date-Oe)/1e3}};const an={identify:M0=>M0 instanceof Uint8Array,default:!1,tag:\"tag:yaml.org,2002:binary\",resolve:(M0,e0)=>{const R0=ps.resolveString(M0,e0);return zs.from(R0,\"base64\")},options:ps.binaryOptions,stringify:({comment:M0,type:e0,value:R0},R1,H1,Jx)=>{let Se;if(Se=R0 instanceof zs?R0.toString(\"base64\"):zs.from(R0.buffer).toString(\"base64\"),e0||(e0=ps.binaryOptions.defaultType),e0===Dr.Type.QUOTE_DOUBLE)R0=Se;else{const{lineWidth:Ye}=ps.binaryOptions,tt=Math.ceil(Se.length/Ye),Er=new Array(tt);for(let Zt=0,hi=0;Zt<tt;++Zt,hi+=Ye)Er[Zt]=Se.substr(hi,Ye);R0=Er.join(e0===Dr.Type.BLOCK_LITERAL?`\n`:\" \")}return ps.stringifyString({comment:M0,type:e0,value:R0},R1,H1,Jx)}};function xi(M0,e0){const R0=ps.resolveSeq(M0,e0);for(let R1=0;R1<R0.items.length;++R1){let H1=R0.items[R1];if(!(H1 instanceof ps.Pair)){if(H1 instanceof ps.YAMLMap){if(H1.items.length>1){const Se=\"Each pair must have its own sequence indicator\";throw new Dr.YAMLSemanticError(e0,Se)}const Jx=H1.items[0]||new ps.Pair;H1.commentBefore&&(Jx.commentBefore=Jx.commentBefore?`${H1.commentBefore}\n${Jx.commentBefore}`:H1.commentBefore),H1.comment&&(Jx.comment=Jx.comment?`${H1.comment}\n${Jx.comment}`:H1.comment),H1=Jx}R0.items[R1]=H1 instanceof ps.Pair?H1:new ps.Pair(H1)}}return R0}function xs(M0,e0,R0){const R1=new ps.YAMLSeq(M0);R1.tag=\"tag:yaml.org,2002:pairs\";for(const H1 of e0){let Jx,Se;if(Array.isArray(H1)){if(H1.length!==2)throw new TypeError(`Expected [key, value] tuple: ${H1}`);Jx=H1[0],Se=H1[1]}else if(H1&&H1 instanceof Object){const tt=Object.keys(H1);if(tt.length!==1)throw new TypeError(`Expected { key: value } tuple: ${H1}`);Jx=tt[0],Se=H1[Jx]}else Jx=H1;const Ye=M0.createPair(Jx,Se,R0);R1.items.push(Ye)}return R1}const bi={default:!1,tag:\"tag:yaml.org,2002:pairs\",resolve:xi,createNode:xs};class ya extends ps.YAMLSeq{constructor(){super(),Dr._defineProperty(this,\"add\",ps.YAMLMap.prototype.add.bind(this)),Dr._defineProperty(this,\"delete\",ps.YAMLMap.prototype.delete.bind(this)),Dr._defineProperty(this,\"get\",ps.YAMLMap.prototype.get.bind(this)),Dr._defineProperty(this,\"has\",ps.YAMLMap.prototype.has.bind(this)),Dr._defineProperty(this,\"set\",ps.YAMLMap.prototype.set.bind(this)),this.tag=ya.tag}toJSON(e0,R0){const R1=new Map;R0&&R0.onCreate&&R0.onCreate(R1);for(const H1 of this.items){let Jx,Se;if(H1 instanceof ps.Pair?(Jx=ps.toJSON(H1.key,\"\",R0),Se=ps.toJSON(H1.value,Jx,R0)):Jx=ps.toJSON(H1,\"\",R0),R1.has(Jx))throw new Error(\"Ordered maps must not include duplicate keys\");R1.set(Jx,Se)}return R1}}Dr._defineProperty(ya,\"tag\",\"tag:yaml.org,2002:omap\");const ul={identify:M0=>M0 instanceof Map,nodeClass:ya,default:!1,tag:\"tag:yaml.org,2002:omap\",resolve:function(M0,e0){const R0=xi(M0,e0),R1=[];for(const{key:H1}of R0.items)if(H1 instanceof ps.Scalar){if(R1.includes(H1.value)){const Jx=\"Ordered maps must not include duplicate keys\";throw new Dr.YAMLSemanticError(e0,Jx)}R1.push(H1.value)}return Object.assign(new ya,R0)},createNode:function(M0,e0,R0){const R1=xs(M0,e0,R0),H1=new ya;return H1.items=R1.items,H1}};class mu extends ps.YAMLMap{constructor(){super(),this.tag=mu.tag}add(e0){const R0=e0 instanceof ps.Pair?e0:new ps.Pair(e0);ps.findPair(this.items,R0.key)||this.items.push(R0)}get(e0,R0){const R1=ps.findPair(this.items,e0);return!R0&&R1 instanceof ps.Pair?R1.key instanceof ps.Scalar?R1.key.value:R1.key:R1}set(e0,R0){if(typeof R0!=\"boolean\")throw new Error(\"Expected boolean value for set(key, value) in a YAML set, not \"+typeof R0);const R1=ps.findPair(this.items,e0);R1&&!R0?this.items.splice(this.items.indexOf(R1),1):!R1&&R0&&this.items.push(new ps.Pair(e0))}toJSON(e0,R0){return super.toJSON(e0,R0,Set)}toString(e0,R0,R1){if(!e0)return JSON.stringify(this);if(this.hasAllNullValues())return super.toString(e0,R0,R1);throw new Error(\"Set items must all have null values\")}}Dr._defineProperty(mu,\"tag\",\"tag:yaml.org,2002:set\");const Ds={identify:M0=>M0 instanceof Set,nodeClass:mu,default:!1,tag:\"tag:yaml.org,2002:set\",resolve:function(M0,e0){const R0=ps.resolveMap(M0,e0);if(!R0.hasAllNullValues())throw new Dr.YAMLSemanticError(e0,\"Set items must all have null values\");return Object.assign(new mu,R0)},createNode:function(M0,e0,R0){const R1=new mu;for(const H1 of e0)R1.items.push(M0.createPair(H1,null,R0));return R1}},a6=(M0,e0)=>{const R0=e0.split(\":\").reduce((R1,H1)=>60*R1+Number(H1),0);return M0===\"-\"?-R0:R0},Mc=({value:M0})=>{if(isNaN(M0)||!isFinite(M0))return ps.stringifyNumber(M0);let e0=\"\";M0<0&&(e0=\"-\",M0=Math.abs(M0));const R0=[M0%60];return M0<60?R0.unshift(0):(M0=Math.round((M0-R0[0])/60),R0.unshift(M0%60),M0>=60&&(M0=Math.round((M0-R0[0])/60),R0.unshift(M0))),e0+R0.map(R1=>R1<10?\"0\"+String(R1):String(R1)).join(\":\").replace(/000000\\d*$/,\"\")},bf={identify:M0=>typeof M0==\"number\",default:!0,tag:\"tag:yaml.org,2002:int\",format:\"TIME\",test:/^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+)$/,resolve:(M0,e0,R0)=>a6(e0,R0.replace(/_/g,\"\")),stringify:Mc},Rc={identify:M0=>typeof M0==\"number\",default:!0,tag:\"tag:yaml.org,2002:float\",format:\"TIME\",test:/^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*)$/,resolve:(M0,e0,R0)=>a6(e0,R0.replace(/_/g,\"\")),stringify:Mc},Pa={identify:M0=>M0 instanceof Date,default:!0,tag:\"tag:yaml.org,2002:timestamp\",test:RegExp(\"^(?:([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\\\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\\\.[0-9]+)?)(?:[ \\\\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?)$\"),resolve:(M0,e0,R0,R1,H1,Jx,Se,Ye,tt)=>{Ye&&(Ye=(Ye+\"00\").substr(1,3));let Er=Date.UTC(e0,R0-1,R1,H1||0,Jx||0,Se||0,Ye||0);if(tt&&tt!==\"Z\"){let Zt=a6(tt[0],tt.slice(1));Math.abs(Zt)<30&&(Zt*=60),Er-=6e4*Zt}return new Date(Er)},stringify:({value:M0})=>M0.toISOString().replace(/((T00:00)?:00)?\\.000Z$/,\"\")};function Uu(M0){const e0=zt!==void 0&&zt.env||{};return M0?typeof YAML_SILENCE_DEPRECATION_WARNINGS!=\"undefined\"?!YAML_SILENCE_DEPRECATION_WARNINGS:!e0.YAML_SILENCE_DEPRECATION_WARNINGS:typeof YAML_SILENCE_WARNINGS!=\"undefined\"?!YAML_SILENCE_WARNINGS:!e0.YAML_SILENCE_WARNINGS}function q2(M0,e0){if(Uu(!1)){const R0=zt!==void 0&&zt.emitWarning;R0?R0(M0,e0):console.warn(e0?`${e0}: ${M0}`:M0)}}const Kl={};var Bs={binary:an,floatTime:Rc,intTime:bf,omap:ul,pairs:bi,set:Ds,timestamp:Pa,warn:q2,warnFileDeprecation:function(M0){Uu(!0)&&q2(`The endpoint 'yaml/${M0.replace(/.*yaml[/\\\\]/i,\"\").replace(/\\.js$/,\"\").replace(/\\\\/g,\"/\")}' will be removed in a future release.`,\"DeprecationWarning\")},warnOptionDeprecation:function(M0,e0){if(!Kl[M0]&&Uu(!0)){Kl[M0]=!0;let R0=`The option '${M0}' will be removed in a future release`;R0+=e0?`, use '${e0}' instead.`:\".\",q2(R0,\"DeprecationWarning\")}}};const qf={createNode:function(M0,e0,R0){const R1=new ps.YAMLMap(M0);if(e0 instanceof Map)for(const[H1,Jx]of e0)R1.items.push(M0.createPair(H1,Jx,R0));else if(e0&&typeof e0==\"object\")for(const H1 of Object.keys(e0))R1.items.push(M0.createPair(H1,e0[H1],R0));return typeof M0.sortMapEntries==\"function\"&&R1.items.sort(M0.sortMapEntries),R1},default:!0,nodeClass:ps.YAMLMap,tag:\"tag:yaml.org,2002:map\",resolve:ps.resolveMap},Zl={createNode:function(M0,e0,R0){const R1=new ps.YAMLSeq(M0);if(e0&&e0[Symbol.iterator])for(const H1 of e0){const Jx=M0.createNode(H1,R0.wrapScalars,null,R0);R1.items.push(Jx)}return R1},default:!0,nodeClass:ps.YAMLSeq,tag:\"tag:yaml.org,2002:seq\",resolve:ps.resolveSeq},ZF={identify:M0=>typeof M0==\"string\",default:!0,tag:\"tag:yaml.org,2002:str\",resolve:ps.resolveString,stringify:(M0,e0,R0,R1)=>(e0=Object.assign({actualString:!0},e0),ps.stringifyString(M0,e0,R0,R1)),options:ps.strOptions},Sl=[qf,Zl,ZF],$8=M0=>typeof M0==\"bigint\"||Number.isInteger(M0),wl=(M0,e0,R0)=>ps.intOptions.asBigInt?BigInt(M0):parseInt(e0,R0);function Ko(M0,e0,R0){const{value:R1}=M0;return $8(R1)&&R1>=0?R0+R1.toString(e0):ps.stringifyNumber(M0)}const $u={identify:M0=>M0==null,createNode:(M0,e0,R0)=>R0.wrapScalars?new ps.Scalar(null):null,default:!0,tag:\"tag:yaml.org,2002:null\",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>null,options:ps.nullOptions,stringify:()=>ps.nullOptions.nullStr},dF={identify:M0=>typeof M0==\"boolean\",default:!0,tag:\"tag:yaml.org,2002:bool\",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:M0=>M0[0]===\"t\"||M0[0]===\"T\",options:ps.boolOptions,stringify:({value:M0})=>M0?ps.boolOptions.trueStr:ps.boolOptions.falseStr},nE={identify:M0=>$8(M0)&&M0>=0,default:!0,tag:\"tag:yaml.org,2002:int\",format:\"OCT\",test:/^0o([0-7]+)$/,resolve:(M0,e0)=>wl(M0,e0,8),options:ps.intOptions,stringify:M0=>Ko(M0,8,\"0o\")},pm={identify:$8,default:!0,tag:\"tag:yaml.org,2002:int\",test:/^[-+]?[0-9]+$/,resolve:M0=>wl(M0,M0,10),options:ps.intOptions,stringify:ps.stringifyNumber},bl={identify:M0=>$8(M0)&&M0>=0,default:!0,tag:\"tag:yaml.org,2002:int\",format:\"HEX\",test:/^0x([0-9a-fA-F]+)$/,resolve:(M0,e0)=>wl(M0,e0,16),options:ps.intOptions,stringify:M0=>Ko(M0,16,\"0x\")},nf={identify:M0=>typeof M0==\"number\",default:!0,tag:\"tag:yaml.org,2002:float\",test:/^(?:[-+]?\\.inf|(\\.nan))$/i,resolve:(M0,e0)=>e0?NaN:M0[0]===\"-\"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:ps.stringifyNumber},Ts={identify:M0=>typeof M0==\"number\",default:!0,tag:\"tag:yaml.org,2002:float\",format:\"EXP\",test:/^[-+]?(?:\\.[0-9]+|[0-9]+(?:\\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:M0=>parseFloat(M0),stringify:({value:M0})=>Number(M0).toExponential()},xf={identify:M0=>typeof M0==\"number\",default:!0,tag:\"tag:yaml.org,2002:float\",test:/^[-+]?(?:\\.([0-9]+)|[0-9]+\\.([0-9]*))$/,resolve(M0,e0,R0){const R1=e0||R0,H1=new ps.Scalar(parseFloat(M0));return R1&&R1[R1.length-1]===\"0\"&&(H1.minFractionDigits=R1.length),H1},stringify:ps.stringifyNumber},w8=Sl.concat([$u,dF,nE,pm,bl,nf,Ts,xf]),WT=M0=>typeof M0==\"bigint\"||Number.isInteger(M0),al=({value:M0})=>JSON.stringify(M0),Z4=[qf,Zl,{identify:M0=>typeof M0==\"string\",default:!0,tag:\"tag:yaml.org,2002:str\",resolve:ps.resolveString,stringify:al},{identify:M0=>M0==null,createNode:(M0,e0,R0)=>R0.wrapScalars?new ps.Scalar(null):null,default:!0,tag:\"tag:yaml.org,2002:null\",test:/^null$/,resolve:()=>null,stringify:al},{identify:M0=>typeof M0==\"boolean\",default:!0,tag:\"tag:yaml.org,2002:bool\",test:/^true|false$/,resolve:M0=>M0===\"true\",stringify:al},{identify:WT,default:!0,tag:\"tag:yaml.org,2002:int\",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:M0=>ps.intOptions.asBigInt?BigInt(M0):parseInt(M0,10),stringify:({value:M0})=>WT(M0)?M0.toString():JSON.stringify(M0)},{identify:M0=>typeof M0==\"number\",default:!0,tag:\"tag:yaml.org,2002:float\",test:/^-?(?:0|[1-9][0-9]*)(?:\\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:M0=>parseFloat(M0),stringify:al}];Z4.scalarFallback=M0=>{throw new SyntaxError(`Unresolved plain scalar ${JSON.stringify(M0)}`)};const op=({value:M0})=>M0?ps.boolOptions.trueStr:ps.boolOptions.falseStr,PF=M0=>typeof M0==\"bigint\"||Number.isInteger(M0);function Lf(M0,e0,R0){let R1=e0.replace(/_/g,\"\");if(ps.intOptions.asBigInt){switch(R0){case 2:R1=`0b${R1}`;break;case 8:R1=`0o${R1}`;break;case 16:R1=`0x${R1}`}const Jx=BigInt(R1);return M0===\"-\"?BigInt(-1)*Jx:Jx}const H1=parseInt(R1,R0);return M0===\"-\"?-1*H1:H1}function xA(M0,e0,R0){const{value:R1}=M0;if(PF(R1)){const H1=R1.toString(e0);return R1<0?\"-\"+R0+H1.substr(1):R0+H1}return ps.stringifyNumber(M0)}const nw=Sl.concat([{identify:M0=>M0==null,createNode:(M0,e0,R0)=>R0.wrapScalars?new ps.Scalar(null):null,default:!0,tag:\"tag:yaml.org,2002:null\",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>null,options:ps.nullOptions,stringify:()=>ps.nullOptions.nullStr},{identify:M0=>typeof M0==\"boolean\",default:!0,tag:\"tag:yaml.org,2002:bool\",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>!0,options:ps.boolOptions,stringify:op},{identify:M0=>typeof M0==\"boolean\",default:!0,tag:\"tag:yaml.org,2002:bool\",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/i,resolve:()=>!1,options:ps.boolOptions,stringify:op},{identify:PF,default:!0,tag:\"tag:yaml.org,2002:int\",format:\"BIN\",test:/^([-+]?)0b([0-1_]+)$/,resolve:(M0,e0,R0)=>Lf(e0,R0,2),stringify:M0=>xA(M0,2,\"0b\")},{identify:PF,default:!0,tag:\"tag:yaml.org,2002:int\",format:\"OCT\",test:/^([-+]?)0([0-7_]+)$/,resolve:(M0,e0,R0)=>Lf(e0,R0,8),stringify:M0=>xA(M0,8,\"0\")},{identify:PF,default:!0,tag:\"tag:yaml.org,2002:int\",test:/^([-+]?)([0-9][0-9_]*)$/,resolve:(M0,e0,R0)=>Lf(e0,R0,10),stringify:ps.stringifyNumber},{identify:PF,default:!0,tag:\"tag:yaml.org,2002:int\",format:\"HEX\",test:/^([-+]?)0x([0-9a-fA-F_]+)$/,resolve:(M0,e0,R0)=>Lf(e0,R0,16),stringify:M0=>xA(M0,16,\"0x\")},{identify:M0=>typeof M0==\"number\",default:!0,tag:\"tag:yaml.org,2002:float\",test:/^(?:[-+]?\\.inf|(\\.nan))$/i,resolve:(M0,e0)=>e0?NaN:M0[0]===\"-\"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:ps.stringifyNumber},{identify:M0=>typeof M0==\"number\",default:!0,tag:\"tag:yaml.org,2002:float\",format:\"EXP\",test:/^[-+]?([0-9][0-9_]*)?(\\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:M0=>parseFloat(M0.replace(/_/g,\"\")),stringify:({value:M0})=>Number(M0).toExponential()},{identify:M0=>typeof M0==\"number\",default:!0,tag:\"tag:yaml.org,2002:float\",test:/^[-+]?(?:[0-9][0-9_]*)?\\.([0-9_]*)$/,resolve(M0,e0){const R0=new ps.Scalar(parseFloat(M0.replace(/_/g,\"\")));if(e0){const R1=e0.replace(/_/g,\"\");R1[R1.length-1]===\"0\"&&(R0.minFractionDigits=R1.length)}return R0},stringify:ps.stringifyNumber}],Bs.binary,Bs.omap,Bs.pairs,Bs.set,Bs.intTime,Bs.floatTime,Bs.timestamp),Hd={core:w8,failsafe:Sl,json:Z4,yaml11:nw},o2={binary:Bs.binary,bool:dF,float:xf,floatExp:Ts,floatNaN:nf,floatTime:Bs.floatTime,int:pm,intHex:bl,intOct:nE,intTime:Bs.intTime,map:qf,null:$u,omap:Bs.omap,pairs:Bs.pairs,seq:Zl,set:Bs.set,timestamp:Bs.timestamp};function Pu(M0,e0,R0){if(M0 instanceof ps.Node)return M0;const{defaultPrefix:R1,onTagObj:H1,prevObjects:Jx,schema:Se,wrapScalars:Ye}=R0;e0&&e0.startsWith(\"!!\")&&(e0=R1+e0.slice(2));let tt=function(Zt,hi,po){if(hi){const ba=po.filter(ho=>ho.tag===hi),oa=ba.find(ho=>!ho.format)||ba[0];if(!oa)throw new Error(`Tag ${hi} not found`);return oa}return po.find(ba=>(ba.identify&&ba.identify(Zt)||ba.class&&Zt instanceof ba.class)&&!ba.format)}(M0,e0,Se.tags);if(!tt){if(typeof M0.toJSON==\"function\"&&(M0=M0.toJSON()),!M0||typeof M0!=\"object\")return Ye?new ps.Scalar(M0):M0;tt=M0 instanceof Map?qf:M0[Symbol.iterator]?Zl:qf}H1&&(H1(tt),delete R0.onTagObj);const Er={value:void 0,node:void 0};if(M0&&typeof M0==\"object\"&&Jx){const Zt=Jx.get(M0);if(Zt){const hi=new ps.Alias(Zt);return R0.aliasNodes.push(hi),hi}Er.value=M0,Jx.set(M0,Er)}return Er.node=tt.createNode?tt.createNode(R0.schema,M0,R0):Ye?new ps.Scalar(M0):M0,e0&&Er.node instanceof ps.Node&&(Er.node.tag=e0),Er.node}const mF=(M0,e0)=>M0.key<e0.key?-1:M0.key>e0.key?1:0;class sp{constructor({customTags:e0,merge:R0,schema:R1,sortMapEntries:H1,tags:Jx}){this.merge=!!R0,this.name=R1,this.sortMapEntries=H1===!0?mF:H1||null,!e0&&Jx&&Bs.warnOptionDeprecation(\"tags\",\"customTags\"),this.tags=function(Se,Ye,tt,Er){let Zt=Se[Er.replace(/\\W/g,\"\")];if(!Zt){const hi=Object.keys(Se).map(po=>JSON.stringify(po)).join(\", \");throw new Error(`Unknown schema \"${Er}\"; use one of ${hi}`)}if(Array.isArray(tt))for(const hi of tt)Zt=Zt.concat(hi);else typeof tt==\"function\"&&(Zt=tt(Zt.slice()));for(let hi=0;hi<Zt.length;++hi){const po=Zt[hi];if(typeof po==\"string\"){const ba=Ye[po];if(!ba){const oa=Object.keys(Ye).map(ho=>JSON.stringify(ho)).join(\", \");throw new Error(`Unknown custom tag \"${po}\"; use one of ${oa}`)}Zt[hi]=ba}}return Zt}(Hd,o2,e0||Jx,R1)}createNode(e0,R0,R1,H1){const Jx={defaultPrefix:sp.defaultPrefix,schema:this,wrapScalars:R0};return Pu(e0,R1,H1?Object.assign(H1,Jx):Jx)}createPair(e0,R0,R1){R1||(R1={wrapScalars:!0});const H1=this.createNode(e0,R1.wrapScalars,null,R1),Jx=this.createNode(R0,R1.wrapScalars,null,R1);return new ps.Pair(H1,Jx)}}Dr._defineProperty(sp,\"defaultPrefix\",Dr.defaultTagPrefix),Dr._defineProperty(sp,\"defaultTags\",Dr.defaultTags);var wu={Schema:sp};const Hp={get binary(){return ps.binaryOptions},set binary(M0){Object.assign(ps.binaryOptions,M0)},get bool(){return ps.boolOptions},set bool(M0){Object.assign(ps.boolOptions,M0)},get int(){return ps.intOptions},set int(M0){Object.assign(ps.intOptions,M0)},get null(){return ps.nullOptions},set null(M0){Object.assign(ps.nullOptions,M0)},get str(){return ps.strOptions},set str(M0){Object.assign(ps.strOptions,M0)}},ep={\"1.0\":{schema:\"yaml-1.1\",merge:!0,tagPrefixes:[{handle:\"!\",prefix:Dr.defaultTagPrefix},{handle:\"!!\",prefix:\"tag:private.yaml.org,2002:\"}]},1.1:{schema:\"yaml-1.1\",merge:!0,tagPrefixes:[{handle:\"!\",prefix:\"!\"},{handle:\"!!\",prefix:Dr.defaultTagPrefix}]},1.2:{schema:\"core\",merge:!1,tagPrefixes:[{handle:\"!\",prefix:\"!\"},{handle:\"!!\",prefix:Dr.defaultTagPrefix}]}};function Uf(M0,e0){if((M0.version||M0.options.version)===\"1.0\"){const H1=e0.match(/^tag:private\\.yaml\\.org,2002:([^:/]+)$/);if(H1)return\"!\"+H1[1];const Jx=e0.match(/^tag:([a-zA-Z0-9-]+)\\.yaml\\.org,2002:(.*)/);return Jx?`!${Jx[1]}/${Jx[2]}`:`!${e0.replace(/^tag:/,\"\")}`}let R0=M0.tagPrefixes.find(H1=>e0.indexOf(H1.prefix)===0);if(!R0){const H1=M0.getDefaults().tagPrefixes;R0=H1&&H1.find(Jx=>e0.indexOf(Jx.prefix)===0)}if(!R0)return e0[0]===\"!\"?e0:`!<${e0}>`;const R1=e0.substr(R0.prefix.length).replace(/[!,[\\]{}]/g,H1=>({\"!\":\"%21\",\",\":\"%2C\",\"[\":\"%5B\",\"]\":\"%5D\",\"{\":\"%7B\",\"}\":\"%7D\"})[H1]);return R0.handle+R1}function ff(M0,e0,R0,R1){const{anchors:H1,schema:Jx}=e0.doc;let Se;if(!(M0 instanceof ps.Node)){const Er={aliasNodes:[],onTagObj:Zt=>Se=Zt,prevObjects:new Map};M0=Jx.createNode(M0,!0,null,Er);for(const Zt of Er.aliasNodes){Zt.source=Zt.source.node;let hi=H1.getName(Zt.source);hi||(hi=H1.newName(),H1.map[hi]=Zt.source)}}if(M0 instanceof ps.Pair)return M0.toString(e0,R0,R1);Se||(Se=function(Er,Zt){if(Zt instanceof ps.Alias)return ps.Alias;if(Zt.tag){const ba=Er.filter(oa=>oa.tag===Zt.tag);if(ba.length>0)return ba.find(oa=>oa.format===Zt.format)||ba[0]}let hi,po;if(Zt instanceof ps.Scalar){po=Zt.value;const ba=Er.filter(oa=>oa.identify&&oa.identify(po)||oa.class&&po instanceof oa.class);hi=ba.find(oa=>oa.format===Zt.format)||ba.find(oa=>!oa.format)}else po=Zt,hi=Er.find(ba=>ba.nodeClass&&po instanceof ba.nodeClass);if(!hi){const ba=po&&po.constructor?po.constructor.name:typeof po;throw new Error(`Tag not resolved for ${ba} value`)}return hi}(Jx.tags,M0));const Ye=function(Er,Zt,{anchors:hi,doc:po}){const ba=[],oa=po.anchors.getName(Er);return oa&&(hi[oa]=Er,ba.push(`&${oa}`)),Er.tag?ba.push(Uf(po,Er.tag)):Zt.default||ba.push(Uf(po,Zt.tag)),ba.join(\" \")}(M0,Se,e0);Ye.length>0&&(e0.indentAtStart=(e0.indentAtStart||0)+Ye.length+1);const tt=typeof Se.stringify==\"function\"?Se.stringify(M0,e0,R0,R1):M0 instanceof ps.Scalar?ps.stringifyString(M0,e0,R0,R1):M0.toString(e0,R0,R1);return Ye?M0 instanceof ps.Scalar||tt[0]===\"{\"||tt[0]===\"[\"?`${Ye} ${tt}`:`${Ye}\n${e0.indent}${tt}`:tt}class iw{static validAnchorNode(e0){return e0 instanceof ps.Scalar||e0 instanceof ps.YAMLSeq||e0 instanceof ps.YAMLMap}constructor(e0){Dr._defineProperty(this,\"map\",Object.create(null)),this.prefix=e0}createAlias(e0,R0){return this.setAnchor(e0,R0),new ps.Alias(e0)}createMergePair(...e0){const R0=new ps.Merge;return R0.value.items=e0.map(R1=>{if(R1 instanceof ps.Alias){if(R1.source instanceof ps.YAMLMap)return R1}else if(R1 instanceof ps.YAMLMap)return this.createAlias(R1);throw new Error(\"Merge sources must be Map nodes or their Aliases\")}),R0}getName(e0){const{map:R0}=this;return Object.keys(R0).find(R1=>R0[R1]===e0)}getNames(){return Object.keys(this.map)}getNode(e0){return this.map[e0]}newName(e0){e0||(e0=this.prefix);const R0=Object.keys(this.map);for(let R1=1;;++R1){const H1=`${e0}${R1}`;if(!R0.includes(H1))return H1}}resolveNodes(){const{map:e0,_cstAliases:R0}=this;Object.keys(e0).forEach(R1=>{e0[R1]=e0[R1].resolved}),R0.forEach(R1=>{R1.source=R1.source.resolved}),delete this._cstAliases}setAnchor(e0,R0){if(e0!=null&&!iw.validAnchorNode(e0))throw new Error(\"Anchors may only be set for Scalar, Seq and Map nodes\");if(R0&&/[\\x00-\\x19\\s,[\\]{}]/.test(R0))throw new Error(\"Anchor names must not contain whitespace or control characters\");const{map:R1}=this,H1=e0&&Object.keys(R1).find(Jx=>R1[Jx]===e0);if(H1){if(!R0)return H1;H1!==R0&&(delete R1[H1],R1[R0]=e0)}else{if(!R0){if(!e0)return null;R0=this.newName()}R1[R0]=e0}return R0}}const R4=(M0,e0)=>{if(M0&&typeof M0==\"object\"){const{tag:R0}=M0;M0 instanceof ps.Collection?(R0&&(e0[R0]=!0),M0.items.forEach(R1=>R4(R1,e0))):M0 instanceof ps.Pair?(R4(M0.key,e0),R4(M0.value,e0)):M0 instanceof ps.Scalar&&R0&&(e0[R0]=!0)}return e0};function o5({tagPrefixes:M0},e0){const[R0,R1]=e0.parameters;if(!R0||!R1){const H1=\"Insufficient parameters given for %TAG directive\";throw new Dr.YAMLSemanticError(e0,H1)}if(M0.some(H1=>H1.handle===R0)){const H1=\"The %TAG directive must only be given at most once per handle in the same document.\";throw new Dr.YAMLSemanticError(e0,H1)}return{handle:R0,prefix:R1}}function Gd(M0,e0){let[R0]=e0.parameters;if(e0.name===\"YAML:1.0\"&&(R0=\"1.0\"),!R0){const R1=\"Insufficient parameters given for %YAML directive\";throw new Dr.YAMLSemanticError(e0,R1)}if(!ep[R0]){const R1=`Document will be parsed as YAML ${M0.version||M0.options.version} rather than YAML ${R0}`;M0.warnings.push(new Dr.YAMLWarning(e0,R1))}return R0}function cd(M0){if(M0 instanceof ps.Collection)return!0;throw new Error(\"Expected a YAML collection as document contents\")}class uT{constructor(e0){this.anchors=new iw(e0.anchorPrefix),this.commentBefore=null,this.comment=null,this.contents=null,this.directivesEndMarker=null,this.errors=[],this.options=e0,this.schema=null,this.tagPrefixes=[],this.version=null,this.warnings=[]}add(e0){return cd(this.contents),this.contents.add(e0)}addIn(e0,R0){cd(this.contents),this.contents.addIn(e0,R0)}delete(e0){return cd(this.contents),this.contents.delete(e0)}deleteIn(e0){return ps.isEmptyPath(e0)?this.contents!=null&&(this.contents=null,!0):(cd(this.contents),this.contents.deleteIn(e0))}getDefaults(){return uT.defaults[this.version]||uT.defaults[this.options.version]||{}}get(e0,R0){return this.contents instanceof ps.Collection?this.contents.get(e0,R0):void 0}getIn(e0,R0){return ps.isEmptyPath(e0)?!R0&&this.contents instanceof ps.Scalar?this.contents.value:this.contents:this.contents instanceof ps.Collection?this.contents.getIn(e0,R0):void 0}has(e0){return this.contents instanceof ps.Collection&&this.contents.has(e0)}hasIn(e0){return ps.isEmptyPath(e0)?this.contents!==void 0:this.contents instanceof ps.Collection&&this.contents.hasIn(e0)}set(e0,R0){cd(this.contents),this.contents.set(e0,R0)}setIn(e0,R0){ps.isEmptyPath(e0)?this.contents=R0:(cd(this.contents),this.contents.setIn(e0,R0))}setSchema(e0,R0){if(!e0&&!R0&&this.schema)return;typeof e0==\"number\"&&(e0=e0.toFixed(1)),e0===\"1.0\"||e0===\"1.1\"||e0===\"1.2\"?(this.version?this.version=e0:this.options.version=e0,delete this.options.schema):e0&&typeof e0==\"string\"&&(this.options.schema=e0),Array.isArray(R0)&&(this.options.customTags=R0);const R1=Object.assign({},this.getDefaults(),this.options);this.schema=new wu.Schema(R1)}parse(e0,R0){this.options.keepCstNodes&&(this.cstNode=e0),this.options.keepNodeTypes&&(this.type=\"DOCUMENT\");const{directives:R1=[],contents:H1=[],directivesEndMarker:Jx,error:Se,valueRange:Ye}=e0;if(Se&&(Se.source||(Se.source=this),this.errors.push(Se)),function(tt,Er,Zt){const hi=[];let po=!1;for(const ba of Er){const{comment:oa,name:ho}=ba;switch(ho){case\"TAG\":try{tt.tagPrefixes.push(o5(tt,ba))}catch(Za){tt.errors.push(Za)}po=!0;break;case\"YAML\":case\"YAML:1.0\":if(tt.version){const Za=\"The %YAML directive must only be given at most once per document.\";tt.errors.push(new Dr.YAMLSemanticError(ba,Za))}try{tt.version=Gd(tt,ba)}catch(Za){tt.errors.push(Za)}po=!0;break;default:if(ho){const Za=`YAML only supports %TAG and %YAML directives, and not %${ho}`;tt.warnings.push(new Dr.YAMLWarning(ba,Za))}}oa&&hi.push(oa)}if(Zt&&!po&&(tt.version||Zt.version||tt.options.version)===\"1.1\"){const ba=({handle:oa,prefix:ho})=>({handle:oa,prefix:ho});tt.tagPrefixes=Zt.tagPrefixes.map(ba),tt.version=Zt.version}tt.commentBefore=hi.join(`\n`)||null}(this,R1,R0),Jx&&(this.directivesEndMarker=!0),this.range=Ye?[Ye.start,Ye.end]:null,this.setSchema(),this.anchors._cstAliases=[],function(tt,Er){const Zt={before:[],after:[]};let hi,po=!1;for(const ba of Er)if(ba.valueRange){if(hi!==void 0){const ho=\"Document contains trailing content not separated by a ... or --- line\";tt.errors.push(new Dr.YAMLSyntaxError(ba,ho));break}const oa=ps.resolveNode(tt,ba);po&&(oa.spaceBefore=!0,po=!1),hi=oa}else ba.comment!==null?(hi===void 0?Zt.before:Zt.after).push(ba.comment):ba.type===Dr.Type.BLANK_LINE&&(po=!0,hi===void 0&&Zt.before.length>0&&!tt.commentBefore&&(tt.commentBefore=Zt.before.join(`\n`),Zt.before=[]));if(tt.contents=hi||null,hi){const ba=Zt.before.join(`\n`);if(ba){const oa=hi instanceof ps.Collection&&hi.items[0]?hi.items[0]:hi;oa.commentBefore=oa.commentBefore?`${ba}\n${oa.commentBefore}`:ba}tt.comment=Zt.after.join(`\n`)||null}else tt.comment=Zt.before.concat(Zt.after).join(`\n`)||null}(this,H1),this.anchors.resolveNodes(),this.options.prettyErrors){for(const tt of this.errors)tt instanceof Dr.YAMLError&&tt.makePretty();for(const tt of this.warnings)tt instanceof Dr.YAMLError&&tt.makePretty()}return this}listNonDefaultTags(){return(e0=>Object.keys(R4(e0,{})))(this.contents).filter(e0=>e0.indexOf(wu.Schema.defaultPrefix)!==0)}setTagPrefix(e0,R0){if(e0[0]!==\"!\"||e0[e0.length-1]!==\"!\")throw new Error(\"Handle must start and end with !\");if(R0){const R1=this.tagPrefixes.find(H1=>H1.handle===e0);R1?R1.prefix=R0:this.tagPrefixes.push({handle:e0,prefix:R0})}else this.tagPrefixes=this.tagPrefixes.filter(R1=>R1.handle!==e0)}toJSON(e0,R0){const{keepBlobsInJSON:R1,mapAsMap:H1,maxAliasCount:Jx}=this.options,Se=R1&&(typeof e0!=\"string\"||!(this.contents instanceof ps.Scalar)),Ye={doc:this,indentStep:\"  \",keep:Se,mapAsMap:Se&&!!H1,maxAliasCount:Jx,stringify:ff},tt=Object.keys(this.anchors.map);tt.length>0&&(Ye.anchors=new Map(tt.map(Zt=>[this.anchors.map[Zt],{alias:[],aliasCount:0,count:1}])));const Er=ps.toJSON(this.contents,e0,Ye);if(typeof R0==\"function\"&&Ye.anchors)for(const{count:Zt,res:hi}of Ye.anchors.values())R0(hi,Zt);return Er}toString(){if(this.errors.length>0)throw new Error(\"Document with errors cannot be stringified\");const e0=this.options.indent;if(!Number.isInteger(e0)||e0<=0){const tt=JSON.stringify(e0);throw new Error(`\"indent\" option must be a positive integer, not ${tt}`)}this.setSchema();const R0=[];let R1=!1;if(this.version){let tt=\"%YAML 1.2\";this.schema.name===\"yaml-1.1\"&&(this.version===\"1.0\"?tt=\"%YAML:1.0\":this.version===\"1.1\"&&(tt=\"%YAML 1.1\")),R0.push(tt),R1=!0}const H1=this.listNonDefaultTags();this.tagPrefixes.forEach(({handle:tt,prefix:Er})=>{H1.some(Zt=>Zt.indexOf(Er)===0)&&(R0.push(`%TAG ${tt} ${Er}`),R1=!0)}),(R1||this.directivesEndMarker)&&R0.push(\"---\"),this.commentBefore&&(!R1&&this.directivesEndMarker||R0.unshift(\"\"),R0.unshift(this.commentBefore.replace(/^/gm,\"#\")));const Jx={anchors:Object.create(null),doc:this,indent:\"\",indentStep:\" \".repeat(e0),stringify:ff};let Se=!1,Ye=null;if(this.contents){this.contents instanceof ps.Node&&(this.contents.spaceBefore&&(R1||this.directivesEndMarker)&&R0.push(\"\"),this.contents.commentBefore&&R0.push(this.contents.commentBefore.replace(/^/gm,\"#\")),Jx.forceBlockIndent=!!this.comment,Ye=this.contents.comment);const tt=Ye?null:()=>Se=!0,Er=ff(this.contents,Jx,()=>Ye=null,tt);R0.push(ps.addComment(Er,\"\",Ye))}else this.contents!==void 0&&R0.push(ff(this.contents,Jx));return this.comment&&(Se&&!Ye||R0[R0.length-1]===\"\"||R0.push(\"\"),R0.push(this.comment.replace(/^/gm,\"#\"))),R0.join(`\n`)+`\n`}}Dr._defineProperty(uT,\"defaults\",ep);var Mf={Document:uT,defaultOptions:{anchorPrefix:\"a\",customTags:null,indent:2,indentSeq:!0,keepCstNodes:!1,keepNodeTypes:!0,keepBlobsInJSON:!0,mapAsMap:!1,maxAliasCount:100,prettyErrors:!1,simpleKeys:!1,version:\"1.2\"},scalarOptions:Hp};class Ap extends Mf.Document{constructor(e0){super(Object.assign({},Mf.defaultOptions,e0))}}function C4(M0,e0){const R0=to.parse(M0),R1=new Ap(e0).parse(R0[0]);if(R0.length>1){const H1=\"Source contains multiple documents; please use YAML.parseAllDocuments()\";R1.errors.unshift(new Dr.YAMLSemanticError(R0[1],H1))}return R1}var wT={YAML:{createNode:function(M0,e0=!0,R0){R0===void 0&&typeof e0==\"string\"&&(R0=e0,e0=!0);const R1=Object.assign({},Mf.Document.defaults[Mf.defaultOptions.version],Mf.defaultOptions);return new wu.Schema(R1).createNode(M0,e0,R0)},defaultOptions:Mf.defaultOptions,Document:Ap,parse:function(M0,e0){const R0=C4(M0,e0);if(R0.warnings.forEach(R1=>Bs.warn(R1)),R0.errors.length>0)throw R0.errors[0];return R0.toJSON()},parseAllDocuments:function(M0,e0){const R0=[];let R1;for(const H1 of to.parse(M0)){const Jx=new Ap(e0);Jx.parse(H1,R1),R0.push(Jx),R1=Jx}return R0},parseCST:to.parse,parseDocument:C4,scalarOptions:Mf.scalarOptions,stringify:function(M0,e0){const R0=new Ap(e0);return R0.contents=M0,String(R0)}}}.YAML,tp={findPair:ps.findPair,parseMap:ps.resolveMap,parseSeq:ps.resolveSeq,stringifyNumber:ps.stringifyNumber,stringifyString:ps.stringifyString,toJSON:ps.toJSON,Type:Dr.Type,YAMLError:Dr.YAMLError,YAMLReferenceError:Dr.YAMLReferenceError,YAMLSemanticError:Dr.YAMLSemanticError,YAMLSyntaxError:Dr.YAMLSyntaxError,YAMLWarning:Dr.YAMLWarning},o6={findPair:tp.findPair,toJSON:tp.toJSON,parseMap:tp.parseMap,parseSeq:tp.parseSeq,stringifyNumber:tp.stringifyNumber,stringifyString:tp.stringifyString,Type:tp.Type,YAMLError:tp.YAMLError,YAMLReferenceError:tp.YAMLReferenceError,YAMLSemanticError:tp.YAMLSemanticError,YAMLSyntaxError:tp.YAMLSyntaxError,YAMLWarning:tp.YAMLWarning},hF=wT.Document,Nl=wT.parseCST,cl=o6.YAMLError,SA=o6.YAMLSyntaxError,Vf=o6.YAMLSemanticError,hl=Object.defineProperty({Document:hF,parseCST:Nl,YAMLError:cl,YAMLSyntaxError:SA,YAMLSemanticError:Vf},\"__esModule\",{value:!0}),Id=function(M0){var e0=hl.parseCST(M0);aS.addOrigRange(e0);for(var R0=e0.map(function(hi){return new hl.Document({merge:!1,keepCstNodes:!0}).parse(hi)}),R1=[],H1={text:M0,locator:new F1.default(M0),comments:R1,transformOffset:function(hi){return P6.transformOffset(hi,H1)},transformRange:function(hi){return wF.transformRange(hi,H1)},transformNode:function(hi){return f_.transformNode(hi,H1)},transformContent:function(hi){return tg.transformContent(hi,H1)}},Jx=0,Se=R0;Jx<Se.length;Jx++)for(var Ye=0,tt=Se[Jx].errors;Ye<tt.length;Ye++){var Er=tt[Ye];if(!(Er instanceof hl.YAMLSemanticError&&Er.message==='Map keys must be unique; \"<<\" is repeated'))throw b8.transformError(Er,H1)}R0.forEach(function(hi){return D5.removeCstBlankLine(hi.cstNode)});var Zt=qS.createRoot(H1.transformRange({origStart:0,origEnd:H1.text.length}),R0.map(H1.transformNode),R1);return P4.attachComments(Zt),Io.updatePositions(Zt),Ux.removeFakeNodes(Zt),Zt},wf=Object.defineProperty({parse:Id},\"__esModule\",{value:!0}),tl=s0(function(M0,e0){e0.__esModule=!0,r1.__exportStar(wf,e0)});const{hasPragma:kf}=b,{locStart:Tp,locEnd:Xd}=R;return{parsers:{yaml:{astFormat:\"yaml\",parse:function(M0){const{parse:e0}=tl;try{const R0=e0(M0);return delete R0.comments,R0}catch(R0){throw R0&&R0.position?c(R0.message,R0.position):R0}},hasPragma:kf,locStart:Tp,locEnd:Xd}}}})})(Zy0);(function(a,u){(function(c,b){a.exports=b()})($F,function(){function c(o,p){if(o==null)return{};var h,y,k=function($0,j0){if($0==null)return{};var Z0,g1,z1={},X1=Object.keys($0);for(g1=0;g1<X1.length;g1++)Z0=X1[g1],j0.indexOf(Z0)>=0||(z1[Z0]=$0[Z0]);return z1}(o,p);if(Object.getOwnPropertySymbols){var Q=Object.getOwnPropertySymbols(o);for(y=0;y<Q.length;y++)h=Q[y],p.indexOf(h)>=0||Object.prototype.propertyIsEnumerable.call(o,h)&&(k[h]=o[h])}return k}var b={name:\"prettier\",version:\"2.3.2\",description:\"Prettier is an opinionated code formatter\",bin:\"./bin/prettier.js\",repository:\"prettier/prettier\",homepage:\"https://prettier.io\",author:\"James Long\",license:\"MIT\",main:\"./index.js\",browser:\"./standalone.js\",unpkg:\"./standalone.js\",engines:{node:\">=12.17.0\"},files:[\"index.js\",\"standalone.js\",\"src\",\"bin\"],dependencies:{\"@angular/compiler\":\"12.0.5\",\"@babel/code-frame\":\"7.14.5\",\"@babel/parser\":\"7.14.6\",\"@glimmer/syntax\":\"0.79.3\",\"@iarna/toml\":\"2.2.5\",\"@typescript-eslint/typescript-estree\":\"4.27.0\",\"angular-estree-parser\":\"2.4.0\",\"angular-html-parser\":\"1.8.0\",camelcase:\"6.2.0\",chalk:\"4.1.1\",\"ci-info\":\"3.2.0\",\"cjk-regex\":\"2.0.1\",cosmiconfig:\"7.0.0\",dashify:\"2.0.0\",diff:\"5.0.0\",editorconfig:\"0.15.3\",\"editorconfig-to-prettier\":\"0.2.0\",\"escape-string-regexp\":\"4.0.0\",espree:\"7.3.1\",esutils:\"2.0.3\",\"fast-glob\":\"3.2.5\",\"fast-json-stable-stringify\":\"2.1.0\",\"find-parent-dir\":\"0.3.1\",\"flow-parser\":\"0.153.0\",\"get-stdin\":\"8.0.0\",globby:\"11.0.4\",graphql:\"15.5.0\",\"html-element-attributes\":\"2.3.0\",\"html-styles\":\"1.0.0\",\"html-tag-names\":\"1.1.5\",\"html-void-elements\":\"1.0.5\",ignore:\"4.0.6\",\"jest-docblock\":\"27.0.1\",json5:\"2.2.0\",leven:\"3.1.0\",\"lines-and-columns\":\"1.1.6\",\"linguist-languages\":\"7.15.0\",lodash:\"4.17.21\",mem:\"8.1.1\",meriyah:\"4.1.5\",minimatch:\"3.0.4\",minimist:\"1.2.5\",\"n-readlines\":\"1.0.1\",outdent:\"0.8.0\",\"parse-srcset\":\"ikatyang/parse-srcset#54eb9c1cb21db5c62b4d0e275d7249516df6f0ee\",\"please-upgrade-node\":\"3.2.0\",\"postcss-less\":\"3.1.4\",\"postcss-media-query-parser\":\"0.2.3\",\"postcss-scss\":\"2.1.1\",\"postcss-selector-parser\":\"2.2.3\",\"postcss-values-parser\":\"2.0.1\",\"regexp-util\":\"1.2.2\",\"remark-footnotes\":\"2.0.0\",\"remark-math\":\"3.0.1\",\"remark-parse\":\"8.0.3\",resolve:\"1.20.0\",semver:\"7.3.5\",\"string-width\":\"4.2.2\",\"strip-ansi\":\"6.0.0\",typescript:\"4.3.4\",\"unicode-regex\":\"3.0.0\",unified:\"9.2.1\",vnopts:\"1.0.2\",wcwidth:\"1.0.1\",\"yaml-unist-parser\":\"1.3.1\"},devDependencies:{\"@babel/core\":\"7.14.6\",\"@babel/preset-env\":\"7.14.5\",\"@babel/types\":\"7.14.5\",\"@glimmer/reference\":\"0.79.3\",\"@rollup/plugin-alias\":\"3.1.2\",\"@rollup/plugin-babel\":\"5.3.0\",\"@rollup/plugin-commonjs\":\"18.1.0\",\"@rollup/plugin-json\":\"4.1.0\",\"@rollup/plugin-node-resolve\":\"13.0.0\",\"@rollup/plugin-replace\":\"2.4.2\",\"@types/estree\":\"0.0.48\",\"babel-jest\":\"27.0.2\",\"babel-loader\":\"8.2.2\",benchmark:\"2.1.4\",\"builtin-modules\":\"3.2.0\",\"core-js\":\"3.14.0\",\"cross-env\":\"7.0.3\",cspell:\"4.2.8\",eslint:\"7.29.0\",\"eslint-config-prettier\":\"8.3.0\",\"eslint-formatter-friendly\":\"7.0.0\",\"eslint-plugin-import\":\"2.23.4\",\"eslint-plugin-jest\":\"24.3.6\",\"eslint-plugin-prettier-internal-rules\":\"link:scripts/tools/eslint-plugin-prettier-internal-rules\",\"eslint-plugin-react\":\"7.24.0\",\"eslint-plugin-regexp\":\"0.12.1\",\"eslint-plugin-unicorn\":\"33.0.1\",\"esm-utils\":\"1.1.0\",execa:\"5.1.1\",jest:\"27.0.4\",\"jest-snapshot-serializer-ansi\":\"1.0.0\",\"jest-snapshot-serializer-raw\":\"1.2.0\",\"jest-watch-typeahead\":\"0.6.4\",\"npm-run-all\":\"4.1.5\",\"path-browserify\":\"1.0.1\",prettier:\"2.3.1\",\"pretty-bytes\":\"5.6.0\",rimraf:\"3.0.2\",rollup:\"2.52.1\",\"rollup-plugin-polyfill-node\":\"0.6.2\",\"rollup-plugin-terser\":\"7.0.2\",shelljs:\"0.8.4\",\"snapshot-diff\":\"0.9.0\",tempy:\"1.0.1\",\"terser-webpack-plugin\":\"5.1.3\",webpack:\"5.39.1\"},scripts:{prepublishOnly:'echo \"Error: must publish from dist/\" && exit 1',\"prepare-release\":\"yarn && yarn build && yarn test:dist\",test:\"jest\",\"test:dev-package\":\"cross-env INSTALL_PACKAGE=1 jest\",\"test:dist\":\"cross-env NODE_ENV=production jest\",\"test:dist-standalone\":\"cross-env NODE_ENV=production TEST_STANDALONE=1 jest\",\"test:integration\":\"jest tests/integration\",\"perf:repeat\":\"yarn && yarn build && cross-env NODE_ENV=production node ./dist/bin-prettier.js --debug-repeat ${PERF_REPEAT:-1000} --loglevel debug ${PERF_FILE:-./index.js} > /dev/null\",\"perf:repeat-inspect\":\"yarn && yarn build && cross-env NODE_ENV=production node --inspect-brk ./dist/bin-prettier.js --debug-repeat ${PERF_REPEAT:-1000} --loglevel debug ${PERF_FILE:-./index.js} > /dev/null\",\"perf:benchmark\":\"yarn && yarn build && cross-env NODE_ENV=production node ./dist/bin-prettier.js --debug-benchmark --loglevel debug ${PERF_FILE:-./index.js} > /dev/null\",lint:\"run-p lint:*\",\"lint:typecheck\":\"tsc\",\"lint:eslint\":\"cross-env EFF_NO_LINK_RULES=true eslint . --format friendly\",\"lint:changelog\":\"node ./scripts/lint-changelog.mjs\",\"lint:prettier\":'prettier . \"!test*\" --check',\"lint:dist\":'eslint --no-eslintrc --no-ignore --no-inline-config --env=es6,browser --parser-options=ecmaVersion:2019 \"dist/!(bin-prettier|index|third-party).js\"',\"lint:spellcheck\":'cspell \"**/*\" \".github/**/*\"',\"lint:deps\":\"node ./scripts/check-deps.mjs\",fix:\"run-s fix:eslint fix:prettier\",\"fix:eslint\":\"yarn lint:eslint --fix\",\"fix:prettier\":\"yarn lint:prettier --write\",build:\"node --max-old-space-size=3072 ./scripts/build/build.mjs\",\"build-docs\":\"node ./scripts/build-docs.mjs\"}},R=typeof globalThis!=\"undefined\"?globalThis:typeof window!=\"undefined\"?window:typeof $F!=\"undefined\"?$F:typeof self!=\"undefined\"?self:{};function K(o){return o&&Object.prototype.hasOwnProperty.call(o,\"default\")?o.default:o}function s0(o){var p={exports:{}};return o(p,p.exports),p.exports}var Y=s0(function(o,p){function h(){}function y(Q,$0,j0,Z0,g1){for(var z1=0,X1=$0.length,se=0,be=0;z1<X1;z1++){var Je=$0[z1];if(Je.removed){if(Je.value=Q.join(Z0.slice(be,be+Je.count)),be+=Je.count,z1&&$0[z1-1].added){var ft=$0[z1-1];$0[z1-1]=$0[z1],$0[z1]=ft}}else{if(!Je.added&&g1){var Xr=j0.slice(se,se+Je.count);Xr=Xr.map(function(Wr,Zi){var hs=Z0[be+Zi];return hs.length>Wr.length?hs:Wr}),Je.value=Q.join(Xr)}else Je.value=Q.join(j0.slice(se,se+Je.count));se+=Je.count,Je.added||(be+=Je.count)}}var on=$0[X1-1];return X1>1&&typeof on.value==\"string\"&&(on.added||on.removed)&&Q.equals(\"\",on.value)&&($0[X1-2].value+=on.value,$0.pop()),$0}function k(Q){return{newPos:Q.newPos,components:Q.components.slice(0)}}Object.defineProperty(p,\"__esModule\",{value:!0}),p.default=h,h.prototype={diff:function(Q,$0){var j0=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},Z0=j0.callback;typeof j0==\"function\"&&(Z0=j0,j0={}),this.options=j0;var g1=this;function z1(Zi){return Z0?(setTimeout(function(){Z0(void 0,Zi)},0),!0):Zi}Q=this.castInput(Q),$0=this.castInput($0),Q=this.removeEmpty(this.tokenize(Q));var X1=($0=this.removeEmpty(this.tokenize($0))).length,se=Q.length,be=1,Je=X1+se,ft=[{newPos:-1,components:[]}],Xr=this.extractCommon(ft[0],$0,Q,0);if(ft[0].newPos+1>=X1&&Xr+1>=se)return z1([{value:this.join($0),count:$0.length}]);function on(){for(var Zi=-1*be;Zi<=be;Zi+=2){var hs=void 0,Ao=ft[Zi-1],Hs=ft[Zi+1],Oc=(Hs?Hs.newPos:0)-Zi;Ao&&(ft[Zi-1]=void 0);var Nd=Ao&&Ao.newPos+1<X1,qd=Hs&&0<=Oc&&Oc<se;if(Nd||qd){if(!Nd||qd&&Ao.newPos<Hs.newPos?(hs=k(Hs),g1.pushComponent(hs.components,void 0,!0)):((hs=Ao).newPos++,g1.pushComponent(hs.components,!0,void 0)),Oc=g1.extractCommon(hs,$0,Q,Zi),hs.newPos+1>=X1&&Oc+1>=se)return z1(y(g1,hs.components,$0,Q,g1.useLongestToken));ft[Zi]=hs}else ft[Zi]=void 0}be++}if(Z0)(function Zi(){setTimeout(function(){if(be>Je)return Z0();on()||Zi()},0)})();else for(;be<=Je;){var Wr=on();if(Wr)return Wr}},pushComponent:function(Q,$0,j0){var Z0=Q[Q.length-1];Z0&&Z0.added===$0&&Z0.removed===j0?Q[Q.length-1]={count:Z0.count+1,added:$0,removed:j0}:Q.push({count:1,added:$0,removed:j0})},extractCommon:function(Q,$0,j0,Z0){for(var g1=$0.length,z1=j0.length,X1=Q.newPos,se=X1-Z0,be=0;X1+1<g1&&se+1<z1&&this.equals($0[X1+1],j0[se+1]);)X1++,se++,be++;return be&&Q.components.push({count:be}),Q.newPos=X1,se},equals:function(Q,$0){return this.options.comparator?this.options.comparator(Q,$0):Q===$0||this.options.ignoreCase&&Q.toLowerCase()===$0.toLowerCase()},removeEmpty:function(Q){for(var $0=[],j0=0;j0<Q.length;j0++)Q[j0]&&$0.push(Q[j0]);return $0},castInput:function(Q){return Q},tokenize:function(Q){return Q.split(\"\")},join:function(Q){return Q.join(\"\")}}}),F0=s0(function(o,p){var h;Object.defineProperty(p,\"__esModule\",{value:!0}),p.diffChars=function(k,Q,$0){return y.diff(k,Q,$0)},p.characterDiff=void 0;var y=new((h=Y)&&h.__esModule?h:{default:h}).default;p.characterDiff=y}),J0=function(o,p){if(typeof o==\"function\")p.callback=o;else if(o)for(var h in o)o.hasOwnProperty(h)&&(p[h]=o[h]);return p},e1=Object.defineProperty({generateOptions:J0},\"__esModule\",{value:!0}),t1=s0(function(o,p){Object.defineProperty(p,\"__esModule\",{value:!0}),p.diffWords=function(j0,Z0,g1){return g1=(0,e1.generateOptions)(g1,{ignoreWhitespace:!0}),$0.diff(j0,Z0,g1)},p.diffWordsWithSpace=function(j0,Z0,g1){return $0.diff(j0,Z0,g1)},p.wordDiff=void 0;var h,y=(h=Y)&&h.__esModule?h:{default:h},k=/^[A-Za-z\\xC0-\\u02C6\\u02C8-\\u02D7\\u02DE-\\u02FF\\u1E00-\\u1EFF]+$/,Q=/\\S/,$0=new y.default;p.wordDiff=$0,$0.equals=function(j0,Z0){return this.options.ignoreCase&&(j0=j0.toLowerCase(),Z0=Z0.toLowerCase()),j0===Z0||this.options.ignoreWhitespace&&!Q.test(j0)&&!Q.test(Z0)},$0.tokenize=function(j0){for(var Z0=j0.split(/([^\\S\\r\\n]+|[()[\\]{}'\"\\r\\n]|\\b)/),g1=0;g1<Z0.length-1;g1++)!Z0[g1+1]&&Z0[g1+2]&&k.test(Z0[g1])&&k.test(Z0[g1+2])&&(Z0[g1]+=Z0[g1+2],Z0.splice(g1+1,2),g1--);return Z0}}),r1=s0(function(o,p){var h;Object.defineProperty(p,\"__esModule\",{value:!0}),p.diffLines=function(k,Q,$0){return y.diff(k,Q,$0)},p.diffTrimmedLines=function(k,Q,$0){var j0=(0,e1.generateOptions)($0,{ignoreWhitespace:!0});return y.diff(k,Q,j0)},p.lineDiff=void 0;var y=new((h=Y)&&h.__esModule?h:{default:h}).default;p.lineDiff=y,y.tokenize=function(k){var Q=[],$0=k.split(/(\\n|\\r\\n)/);$0[$0.length-1]||$0.pop();for(var j0=0;j0<$0.length;j0++){var Z0=$0[j0];j0%2&&!this.options.newlineIsToken?Q[Q.length-1]+=Z0:(this.options.ignoreWhitespace&&(Z0=Z0.trim()),Q.push(Z0))}return Q}}),F1=s0(function(o,p){var h;Object.defineProperty(p,\"__esModule\",{value:!0}),p.diffSentences=function(k,Q,$0){return y.diff(k,Q,$0)},p.sentenceDiff=void 0;var y=new((h=Y)&&h.__esModule?h:{default:h}).default;p.sentenceDiff=y,y.tokenize=function(k){return k.split(/(\\S.+?[.!?])(?=\\s+|$)/)}}),a1=s0(function(o,p){var h;Object.defineProperty(p,\"__esModule\",{value:!0}),p.diffCss=function(k,Q,$0){return y.diff(k,Q,$0)},p.cssDiff=void 0;var y=new((h=Y)&&h.__esModule?h:{default:h}).default;p.cssDiff=y,y.tokenize=function(k){return k.split(/([{}:;,]|\\s+)/)}}),D1=function(o){return o&&o.Math==Math&&o},W0=D1(typeof globalThis==\"object\"&&globalThis)||D1(typeof window==\"object\"&&window)||D1(typeof self==\"object\"&&self)||D1(typeof R==\"object\"&&R)||function(){return this}()||Function(\"return this\")(),i1=function(o){try{return!!o()}catch{return!0}},x1=!i1(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7}),ux={}.propertyIsEnumerable,K1=Object.getOwnPropertyDescriptor,ee={f:K1&&!ux.call({1:2},1)?function(o){var p=K1(this,o);return!!p&&p.enumerable}:ux},Gx=function(o,p){return{enumerable:!(1&o),configurable:!(2&o),writable:!(4&o),value:p}},ve={}.toString,qe=function(o){return ve.call(o).slice(8,-1)},Jt=\"\".split,Ct=i1(function(){return!Object(\"z\").propertyIsEnumerable(0)})?function(o){return qe(o)==\"String\"?Jt.call(o,\"\"):Object(o)}:Object,vn=function(o){if(o==null)throw TypeError(\"Can't call method on \"+o);return o},_n=function(o){return Ct(vn(o))},Tr=function(o){return typeof o==\"object\"?o!==null:typeof o==\"function\"},Lr=function(o,p){if(!Tr(o))return o;var h,y;if(p&&typeof(h=o.toString)==\"function\"&&!Tr(y=h.call(o))||typeof(h=o.valueOf)==\"function\"&&!Tr(y=h.call(o))||!p&&typeof(h=o.toString)==\"function\"&&!Tr(y=h.call(o)))return y;throw TypeError(\"Can't convert object to primitive value\")},Pn=function(o){return Object(vn(o))},En={}.hasOwnProperty,cr=Object.hasOwn||function(o,p){return En.call(Pn(o),p)},Ea=W0.document,Qn=Tr(Ea)&&Tr(Ea.createElement),Bu=!x1&&!i1(function(){return Object.defineProperty((o=\"div\",Qn?Ea.createElement(o):{}),\"a\",{get:function(){return 7}}).a!=7;var o}),Au=Object.getOwnPropertyDescriptor,Ec={f:x1?Au:function(o,p){if(o=_n(o),p=Lr(p,!0),Bu)try{return Au(o,p)}catch{}if(cr(o,p))return Gx(!ee.f.call(o,p),o[p])}},kn=function(o){if(!Tr(o))throw TypeError(String(o)+\" is not an object\");return o},pu=Object.defineProperty,mi={f:x1?pu:function(o,p,h){if(kn(o),p=Lr(p,!0),kn(h),Bu)try{return pu(o,p,h)}catch{}if(\"get\"in h||\"set\"in h)throw TypeError(\"Accessors not supported\");return\"value\"in h&&(o[p]=h.value),o}},ma=x1?function(o,p,h){return mi.f(o,p,Gx(1,h))}:function(o,p,h){return o[p]=h,o},ja=function(o,p){try{ma(W0,o,p)}catch{W0[o]=p}return p},Ua=\"__core-js_shared__\",aa=W0[Ua]||ja(Ua,{}),Os=Function.toString;typeof aa.inspectSource!=\"function\"&&(aa.inspectSource=function(o){return Os.call(o)});var gn,et,Sr,un,jn=aa.inspectSource,ea=W0.WeakMap,wa=typeof ea==\"function\"&&/native code/.test(jn(ea)),as=s0(function(o){(o.exports=function(p,h){return aa[p]||(aa[p]=h!==void 0?h:{})})(\"versions\",[]).push({version:\"3.14.0\",mode:\"global\",copyright:\"\\xA9 2021 Denis Pushkarev (zloirock.ru)\"})}),zo=0,vo=Math.random(),vi=function(o){return\"Symbol(\"+String(o===void 0?\"\":o)+\")_\"+(++zo+vo).toString(36)},jr=as(\"keys\"),Hn={},wi=\"Object already initialized\",jo=W0.WeakMap;if(wa||aa.state){var bs=aa.state||(aa.state=new jo),Ha=bs.get,qn=bs.has,Ki=bs.set;gn=function(o,p){if(qn.call(bs,o))throw new TypeError(wi);return p.facade=o,Ki.call(bs,o,p),p},et=function(o){return Ha.call(bs,o)||{}},Sr=function(o){return qn.call(bs,o)}}else{var es=jr[un=\"state\"]||(jr[un]=vi(un));Hn[es]=!0,gn=function(o,p){if(cr(o,es))throw new TypeError(wi);return p.facade=o,ma(o,es,p),p},et=function(o){return cr(o,es)?o[es]:{}},Sr=function(o){return cr(o,es)}}var Ns,ju,Tc={set:gn,get:et,has:Sr,enforce:function(o){return Sr(o)?et(o):gn(o,{})},getterFor:function(o){return function(p){var h;if(!Tr(p)||(h=et(p)).type!==o)throw TypeError(\"Incompatible receiver, \"+o+\" required\");return h}}},bu=s0(function(o){var p=Tc.get,h=Tc.enforce,y=String(String).split(\"String\");(o.exports=function(k,Q,$0,j0){var Z0,g1=!!j0&&!!j0.unsafe,z1=!!j0&&!!j0.enumerable,X1=!!j0&&!!j0.noTargetGet;typeof $0==\"function\"&&(typeof Q!=\"string\"||cr($0,\"name\")||ma($0,\"name\",Q),(Z0=h($0)).source||(Z0.source=y.join(typeof Q==\"string\"?Q:\"\"))),k!==W0?(g1?!X1&&k[Q]&&(z1=!0):delete k[Q],z1?k[Q]=$0:ma(k,Q,$0)):z1?k[Q]=$0:ja(Q,$0)})(Function.prototype,\"toString\",function(){return typeof this==\"function\"&&p(this).source||jn(this)})}),mc=W0,vc=function(o){return typeof o==\"function\"?o:void 0},Lc=function(o,p){return arguments.length<2?vc(mc[o])||vc(W0[o]):mc[o]&&mc[o][p]||W0[o]&&W0[o][p]},i2=Math.ceil,su=Math.floor,T2=function(o){return isNaN(o=+o)?0:(o>0?su:i2)(o)},Cu=Math.min,mr=function(o){return o>0?Cu(T2(o),9007199254740991):0},Dn=Math.max,ki=Math.min,us=function(o){return function(p,h,y){var k,Q=_n(p),$0=mr(Q.length),j0=function(Z0,g1){var z1=T2(Z0);return z1<0?Dn(z1+g1,0):ki(z1,g1)}(y,$0);if(o&&h!=h){for(;$0>j0;)if((k=Q[j0++])!=k)return!0}else for(;$0>j0;j0++)if((o||j0 in Q)&&Q[j0]===h)return o||j0||0;return!o&&-1}},ac={includes:us(!0),indexOf:us(!1)}.indexOf,_s=[\"constructor\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"toLocaleString\",\"toString\",\"valueOf\"].concat(\"length\",\"prototype\"),cf={f:Object.getOwnPropertyNames||function(o){return function(p,h){var y,k=_n(p),Q=0,$0=[];for(y in k)!cr(Hn,y)&&cr(k,y)&&$0.push(y);for(;h.length>Q;)cr(k,y=h[Q++])&&(~ac($0,y)||$0.push(y));return $0}(o,_s)}},Df={f:Object.getOwnPropertySymbols},gp=Lc(\"Reflect\",\"ownKeys\")||function(o){var p=cf.f(kn(o)),h=Df.f;return h?p.concat(h(o)):p},_2=function(o,p){for(var h=gp(p),y=mi.f,k=Ec.f,Q=0;Q<h.length;Q++){var $0=h[Q];cr(o,$0)||y(o,$0,k(p,$0))}},c_=/#|\\.prototype\\./,pC=function(o,p){var h=VE[c8(o)];return h==c4||h!=S8&&(typeof p==\"function\"?i1(p):!!p)},c8=pC.normalize=function(o){return String(o).replace(c_,\".\").toLowerCase()},VE=pC.data={},S8=pC.NATIVE=\"N\",c4=pC.POLYFILL=\"P\",BS=pC,ES=Ec.f,fS=function(o,p){var h,y,k,Q,$0,j0=o.target,Z0=o.global,g1=o.stat;if(h=Z0?W0:g1?W0[j0]||ja(j0,{}):(W0[j0]||{}).prototype)for(y in p){if(Q=p[y],k=o.noTargetGet?($0=ES(h,y))&&$0.value:h[y],!BS(Z0?y:j0+(g1?\".\":\"#\")+y,o.forced)&&k!==void 0){if(typeof Q==typeof k)continue;_2(Q,k)}(o.sham||k&&k.sham)&&ma(Q,\"sham\",!0),bu(h,y,Q,o)}},DF=function(o){if(typeof o!=\"function\")throw TypeError(String(o)+\" is not a function\");return o},D8=Math.floor,v8=function(o,p){var h=o.length,y=D8(h/2);return h<8?pS(o,p):l4(v8(o.slice(0,y),p),v8(o.slice(y),p),p)},pS=function(o,p){for(var h,y,k=o.length,Q=1;Q<k;){for(y=Q,h=o[Q];y&&p(o[y-1],h)>0;)o[y]=o[--y];y!==Q++&&(o[y]=h)}return o},l4=function(o,p,h){for(var y=o.length,k=p.length,Q=0,$0=0,j0=[];Q<y||$0<k;)Q<y&&$0<k?j0.push(h(o[Q],p[$0])<=0?o[Q++]:p[$0++]):j0.push(Q<y?o[Q++]:p[$0++]);return j0},KF=v8,f4=Lc(\"navigator\",\"userAgent\")||\"\",$E=f4.match(/firefox\\/(\\d+)/i),t6=!!$E&&+$E[1],vF=/MSIE|Trident/.test(f4),fF=W0.process,tS=fF&&fF.versions,z6=tS&&tS.v8;z6?ju=(Ns=z6.split(\".\"))[0]<4?1:Ns[0]+Ns[1]:f4&&(!(Ns=f4.match(/Edge\\/(\\d+)/))||Ns[1]>=74)&&(Ns=f4.match(/Chrome\\/(\\d+)/))&&(ju=Ns[1]);var LS,B8,MS=ju&&+ju,rT=f4.match(/AppleWebKit\\/(\\d+)\\./),bF=!!rT&&+rT[1],nT=[],RT=nT.sort,UA=i1(function(){nT.sort(void 0)}),_5=i1(function(){nT.sort(null)}),VA=!!(B8=[].sort)&&i1(function(){B8.call(null,LS||function(){throw 1},1)}),ST=!i1(function(){if(MS)return MS<70;if(!(t6&&t6>3)){if(vF)return!0;if(bF)return bF<603;var o,p,h,y,k=\"\";for(o=65;o<76;o++){switch(p=String.fromCharCode(o),o){case 66:case 69:case 70:case 72:h=3;break;case 68:case 71:h=4;break;default:h=2}for(y=0;y<47;y++)nT.push({k:p+y,v:h})}for(nT.sort(function(Q,$0){return $0.v-Q.v}),y=0;y<nT.length;y++)p=nT[y].k.charAt(0),k.charAt(k.length-1)!==p&&(k+=p);return k!==\"DGBEFHACIJK\"}});fS({target:\"Array\",proto:!0,forced:UA||!_5||!VA||!ST},{sort:function(o){o!==void 0&&DF(o);var p=Pn(this);if(ST)return o===void 0?RT.call(p):RT.call(p,o);var h,y,k=[],Q=mr(p.length);for(y=0;y<Q;y++)y in p&&k.push(p[y]);for(h=(k=KF(k,function($0){return function(j0,Z0){return Z0===void 0?-1:j0===void 0?1:$0!==void 0?+$0(j0,Z0)||0:String(j0)>String(Z0)?1:-1}}(o))).length,y=0;y<h;)p[y]=k[y++];for(;y<Q;)delete p[y++];return p}});var ZT=s0(function(o,p){Object.defineProperty(p,\"__esModule\",{value:!0}),p.diffJson=function(Z0,g1,z1){return $0.diff(Z0,g1,z1)},p.canonicalize=j0,p.jsonDiff=void 0;var h,y=(h=Y)&&h.__esModule?h:{default:h};function k(Z0){return(k=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(g1){return typeof g1}:function(g1){return g1&&typeof Symbol==\"function\"&&g1.constructor===Symbol&&g1!==Symbol.prototype?\"symbol\":typeof g1})(Z0)}var Q=Object.prototype.toString,$0=new y.default;function j0(Z0,g1,z1,X1,se){var be,Je;for(g1=g1||[],z1=z1||[],X1&&(Z0=X1(se,Z0)),be=0;be<g1.length;be+=1)if(g1[be]===Z0)return z1[be];if(Q.call(Z0)===\"[object Array]\"){for(g1.push(Z0),Je=new Array(Z0.length),z1.push(Je),be=0;be<Z0.length;be+=1)Je[be]=j0(Z0[be],g1,z1,X1,se);return g1.pop(),z1.pop(),Je}if(Z0&&Z0.toJSON&&(Z0=Z0.toJSON()),k(Z0)===\"object\"&&Z0!==null){g1.push(Z0),Je={},z1.push(Je);var ft,Xr=[];for(ft in Z0)Z0.hasOwnProperty(ft)&&Xr.push(ft);for(Xr.sort(),be=0;be<Xr.length;be+=1)Je[ft=Xr[be]]=j0(Z0[ft],g1,z1,X1,ft);g1.pop(),z1.pop()}else Je=Z0;return Je}p.jsonDiff=$0,$0.useLongestToken=!0,$0.tokenize=r1.lineDiff.tokenize,$0.castInput=function(Z0){var g1=this.options,z1=g1.undefinedReplacement,X1=g1.stringifyReplacer,se=X1===void 0?function(be,Je){return Je===void 0?z1:Je}:X1;return typeof Z0==\"string\"?Z0:JSON.stringify(j0(Z0,null,null,se),se,\"  \")},$0.equals=function(Z0,g1){return y.default.prototype.equals.call($0,Z0.replace(/,([\\r\\n])/g,\"$1\"),g1.replace(/,([\\r\\n])/g,\"$1\"))}}),Kw=s0(function(o,p){var h;Object.defineProperty(p,\"__esModule\",{value:!0}),p.diffArrays=function(k,Q,$0){return y.diff(k,Q,$0)},p.arrayDiff=void 0;var y=new((h=Y)&&h.__esModule?h:{default:h}).default;p.arrayDiff=y,y.tokenize=function(k){return k.slice()},y.join=y.removeEmpty=function(k){return k}}),y5=function(o){var p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},h=o.split(/\\r\\n|[\\n\\v\\f\\r\\x85]/),y=o.match(/\\r\\n|[\\n\\v\\f\\r\\x85]/g)||[],k=[],Q=0;function $0(){var g1={};for(k.push(g1);Q<h.length;){var z1=h[Q];if(/^(\\-\\-\\-|\\+\\+\\+|@@)\\s/.test(z1))break;var X1=/^(?:Index:|diff(?: -r \\w+)+)\\s+(.+?)\\s*$/.exec(z1);X1&&(g1.index=X1[1]),Q++}for(j0(g1),j0(g1),g1.hunks=[];Q<h.length;){var se=h[Q];if(/^(Index:|diff|\\-\\-\\-|\\+\\+\\+)\\s/.test(se))break;if(/^@@/.test(se))g1.hunks.push(Z0());else{if(se&&p.strict)throw new Error(\"Unknown line \"+(Q+1)+\" \"+JSON.stringify(se));Q++}}}function j0(g1){var z1=/^(---|\\+\\+\\+)\\s+(.*)$/.exec(h[Q]);if(z1){var X1=z1[1]===\"---\"?\"old\":\"new\",se=z1[2].split(\"\t\",2),be=se[0].replace(/\\\\\\\\/g,\"\\\\\");/^\".*\"$/.test(be)&&(be=be.substr(1,be.length-2)),g1[X1+\"FileName\"]=be,g1[X1+\"Header\"]=(se[1]||\"\").trim(),Q++}}function Z0(){var g1=Q,z1=h[Q++].split(/@@ -(\\d+)(?:,(\\d+))? \\+(\\d+)(?:,(\\d+))? @@/),X1={oldStart:+z1[1],oldLines:z1[2]===void 0?1:+z1[2],newStart:+z1[3],newLines:z1[4]===void 0?1:+z1[4],lines:[],linedelimiters:[]};X1.oldLines===0&&(X1.oldStart+=1),X1.newLines===0&&(X1.newStart+=1);for(var se=0,be=0;Q<h.length&&!(h[Q].indexOf(\"--- \")===0&&Q+2<h.length&&h[Q+1].indexOf(\"+++ \")===0&&h[Q+2].indexOf(\"@@\")===0);Q++){var Je=h[Q].length==0&&Q!=h.length-1?\" \":h[Q][0];if(Je!==\"+\"&&Je!==\"-\"&&Je!==\" \"&&Je!==\"\\\\\")break;X1.lines.push(h[Q]),X1.linedelimiters.push(y[Q]||`\n`),Je===\"+\"?se++:Je===\"-\"?be++:Je===\" \"&&(se++,be++)}if(se||X1.newLines!==1||(X1.newLines=0),be||X1.oldLines!==1||(X1.oldLines=0),p.strict){if(se!==X1.newLines)throw new Error(\"Added line count did not match for hunk at line \"+(g1+1));if(be!==X1.oldLines)throw new Error(\"Removed line count did not match for hunk at line \"+(g1+1))}return X1}for(;Q<h.length;)$0();return k},P4,fA=Object.defineProperty({parsePatch:y5},\"__esModule\",{value:!0}),H8=s0(function(o,p){Object.defineProperty(p,\"__esModule\",{value:!0}),p.default=function(h,y,k){var Q=!0,$0=!1,j0=!1,Z0=1;return function g1(){if(Q&&!j0){if($0?Z0++:Q=!1,h+Z0<=k)return Z0;j0=!0}if(!$0)return j0||(Q=!0),y<=h-Z0?-Z0++:($0=!0,g1())}}}),pA=D5,qS=function(o,p){typeof o==\"string\"&&(o=(0,fA.parsePatch)(o));var h=0;(function y(){var k=o[h++];if(!k)return p.complete();p.loadFile(k,function(Q,$0){if(Q)return p.complete(Q);var j0=D5($0,k,p);p.patched(k,j0,function(Z0){if(Z0)return p.complete(Z0);y()})})})()},W6=(P4=H8)&&P4.__esModule?P4:{default:P4};function D5(o,p){var h=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(typeof p==\"string\"&&(p=(0,fA.parsePatch)(p)),Array.isArray(p)){if(p.length>1)throw new Error(\"applyPatch only works with a single input.\");p=p[0]}var y,k,Q=o.split(/\\r\\n|[\\n\\v\\f\\r\\x85]/),$0=o.match(/\\r\\n|[\\n\\v\\f\\r\\x85]/g)||[],j0=p.hunks,Z0=h.compareLine||function(P5,gN,_N,yN){return gN===yN},g1=0,z1=h.fuzzFactor||0,X1=0,se=0;function be(P5,gN){for(var _N=0;_N<P5.lines.length;_N++){var yN=P5.lines[_N],zV=yN.length>0?yN[0]:\" \",DI=yN.length>0?yN.substr(1):yN;if(zV===\" \"||zV===\"-\"){if(!Z0(gN+1,Q[gN],zV,DI)&&++g1>z1)return!1;gN++}}return!0}for(var Je=0;Je<j0.length;Je++){for(var ft=j0[Je],Xr=Q.length-ft.oldLines,on=0,Wr=se+ft.oldStart-1,Zi=(0,W6.default)(Wr,X1,Xr);on!==void 0;on=Zi())if(be(ft,Wr+on)){ft.offset=se+=on;break}if(on===void 0)return!1;X1=ft.offset+ft.oldStart+ft.oldLines}for(var hs=0,Ao=0;Ao<j0.length;Ao++){var Hs=j0[Ao],Oc=Hs.oldStart+Hs.offset+hs-1;hs+=Hs.newLines-Hs.oldLines;for(var Nd=0;Nd<Hs.lines.length;Nd++){var qd=Hs.lines[Nd],Hl=qd.length>0?qd[0]:\" \",gf=qd.length>0?qd.substr(1):qd,Qh=Hs.linedelimiters[Nd];if(Hl===\" \")Oc++;else if(Hl===\"-\")Q.splice(Oc,1),$0.splice(Oc,1);else if(Hl===\"+\")Q.splice(Oc,0,gf),$0.splice(Oc,0,Qh),Oc++;else if(Hl===\"\\\\\"){var N8=Hs.lines[Nd-1]?Hs.lines[Nd-1][0]:null;N8===\"+\"?y=!0:N8===\"-\"&&(k=!0)}}}if(y)for(;!Q[Q.length-1];)Q.pop(),$0.pop();else k&&(Q.push(\"\"),$0.push(`\n`));for(var o8=0;o8<Q.length-1;o8++)Q[o8]=Q[o8]+$0[o8];return Q.join(\"\")}var $A=Object.defineProperty({applyPatch:pA,applyPatches:qS},\"__esModule\",{value:!0}),J4=KA,dA=vw,CF=p4,FT=function(o,p,h,y,k,Q){return p4(o,o,p,h,y,k,Q)};function mA(o){return function(p){if(Array.isArray(p))return v5(p)}(o)||function(p){if(typeof Symbol!=\"undefined\"&&Symbol.iterator in Object(p))return Array.from(p)}(o)||function(p,h){if(!!p){if(typeof p==\"string\")return v5(p,h);var y=Object.prototype.toString.call(p).slice(8,-1);if(y===\"Object\"&&p.constructor&&(y=p.constructor.name),y===\"Map\"||y===\"Set\")return Array.from(p);if(y===\"Arguments\"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(y))return v5(p,h)}}(o)||function(){throw new TypeError(`Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function v5(o,p){(p==null||p>o.length)&&(p=o.length);for(var h=0,y=new Array(p);h<p;h++)y[h]=o[h];return y}function KA(o,p,h,y,k,Q,$0){$0||($0={}),$0.context===void 0&&($0.context=4);var j0=(0,r1.diffLines)(h,y,$0);function Z0(on){return on.map(function(Wr){return\" \"+Wr})}j0.push({value:\"\",lines:[]});for(var g1=[],z1=0,X1=0,se=[],be=1,Je=1,ft=function(on){var Wr=j0[on],Zi=Wr.lines||Wr.value.replace(/\\n$/,\"\").split(`\n`);if(Wr.lines=Zi,Wr.added||Wr.removed){var hs;if(!z1){var Ao=j0[on-1];z1=be,X1=Je,Ao&&(se=$0.context>0?Z0(Ao.lines.slice(-$0.context)):[],z1-=se.length,X1-=se.length)}(hs=se).push.apply(hs,mA(Zi.map(function(N8){return(Wr.added?\"+\":\"-\")+N8}))),Wr.added?Je+=Zi.length:be+=Zi.length}else{if(z1)if(Zi.length<=2*$0.context&&on<j0.length-2){var Hs;(Hs=se).push.apply(Hs,mA(Z0(Zi)))}else{var Oc,Nd=Math.min(Zi.length,$0.context);(Oc=se).push.apply(Oc,mA(Z0(Zi.slice(0,Nd))));var qd={oldStart:z1,oldLines:be-z1+Nd,newStart:X1,newLines:Je-X1+Nd,lines:se};if(on>=j0.length-2&&Zi.length<=$0.context){var Hl=/\\n$/.test(h),gf=/\\n$/.test(y),Qh=Zi.length==0&&se.length>qd.oldLines;!Hl&&Qh&&h.length>0&&se.splice(qd.oldLines,0,\"\\\\ No newline at end of file\"),(Hl||Qh)&&gf||se.push(\"\\\\ No newline at end of file\")}g1.push(qd),z1=0,X1=0,se=[]}be+=Zi.length,Je+=Zi.length}},Xr=0;Xr<j0.length;Xr++)ft(Xr);return{oldFileName:o,newFileName:p,oldHeader:k,newHeader:Q,hunks:g1}}function vw(o){var p=[];o.oldFileName==o.newFileName&&p.push(\"Index: \"+o.oldFileName),p.push(\"===================================================================\"),p.push(\"--- \"+o.oldFileName+(o.oldHeader===void 0?\"\":\"\t\"+o.oldHeader)),p.push(\"+++ \"+o.newFileName+(o.newHeader===void 0?\"\":\"\t\"+o.newHeader));for(var h=0;h<o.hunks.length;h++){var y=o.hunks[h];y.oldLines===0&&(y.oldStart-=1),y.newLines===0&&(y.newStart-=1),p.push(\"@@ -\"+y.oldStart+\",\"+y.oldLines+\" +\"+y.newStart+\",\"+y.newLines+\" @@\"),p.push.apply(p,y.lines)}return p.join(`\n`)+`\n`}function p4(o,p,h,y,k,Q,$0){return vw(KA(o,p,h,y,k,Q,$0))}var x5=Object.defineProperty({structuredPatch:J4,formatPatch:dA,createTwoFilesPatch:CF,createPatch:FT},\"__esModule\",{value:!0}),e5=function(o,p){return o.length!==p.length?!1:_6(o,p)},jT=_6;function _6(o,p){if(p.length>o.length)return!1;for(var h=0;h<p.length;h++)if(p[h]!==o[h])return!1;return!0}var q6=Object.defineProperty({arrayEqual:e5,arrayStartsWith:jT},\"__esModule\",{value:!0}),JS=cm,eg=function(o,p,h){o=l8(o,h),p=l8(p,h);var y={};(o.index||p.index)&&(y.index=o.index||p.index),(o.newFileName||p.newFileName)&&(S6(o)?S6(p)?(y.oldFileName=Pg(y,o.oldFileName,p.oldFileName),y.newFileName=Pg(y,o.newFileName,p.newFileName),y.oldHeader=Pg(y,o.oldHeader,p.oldHeader),y.newHeader=Pg(y,o.newHeader,p.newHeader)):(y.oldFileName=o.oldFileName,y.newFileName=o.newFileName,y.oldHeader=o.oldHeader,y.newHeader=o.newHeader):(y.oldFileName=p.oldFileName||o.oldFileName,y.newFileName=p.newFileName||o.newFileName,y.oldHeader=p.oldHeader||o.oldHeader,y.newHeader=p.newHeader||o.newHeader)),y.hunks=[];for(var k=0,Q=0,$0=0,j0=0;k<o.hunks.length||Q<p.hunks.length;){var Z0=o.hunks[k]||{oldStart:1/0},g1=p.hunks[Q]||{oldStart:1/0};if(Py(Z0,g1))y.hunks.push(F6(Z0,$0)),k++,j0+=Z0.newLines-Z0.oldLines;else if(Py(g1,Z0))y.hunks.push(F6(g1,j0)),Q++,$0+=g1.newLines-g1.oldLines;else{var z1={oldStart:Math.min(Z0.oldStart,g1.oldStart),oldLines:0,newStart:Math.min(Z0.newStart+$0,g1.oldStart+j0),newLines:0,lines:[]};tg(z1,Z0.oldStart,Z0.lines,g1.oldStart,g1.lines),Q++,k++,y.hunks.push(z1)}}return y};function L8(o){return function(p){if(Array.isArray(p))return J6(p)}(o)||function(p){if(typeof Symbol!=\"undefined\"&&Symbol.iterator in Object(p))return Array.from(p)}(o)||function(p,h){if(!!p){if(typeof p==\"string\")return J6(p,h);var y=Object.prototype.toString.call(p).slice(8,-1);if(y===\"Object\"&&p.constructor&&(y=p.constructor.name),y===\"Map\"||y===\"Set\")return Array.from(p);if(y===\"Arguments\"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(y))return J6(p,h)}}(o)||function(){throw new TypeError(`Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function J6(o,p){(p==null||p>o.length)&&(p=o.length);for(var h=0,y=new Array(p);h<p;h++)y[h]=o[h];return y}function cm(o){var p=d4(o.lines),h=p.oldLines,y=p.newLines;h!==void 0?o.oldLines=h:delete o.oldLines,y!==void 0?o.newLines=y:delete o.newLines}function l8(o,p){if(typeof o==\"string\"){if(/^@@/m.test(o)||/^Index:/m.test(o))return(0,fA.parsePatch)(o)[0];if(!p)throw new Error(\"Must provide a base reference or pass in a patch\");return(0,x5.structuredPatch)(void 0,void 0,p,o)}return o}function S6(o){return o.newFileName&&o.newFileName!==o.oldFileName}function Pg(o,p,h){return p===h?p:(o.conflict=!0,{mine:p,theirs:h})}function Py(o,p){return o.oldStart<p.oldStart&&o.oldStart+o.oldLines<p.oldStart}function F6(o,p){return{oldStart:o.oldStart,oldLines:o.oldLines,newStart:o.newStart+p,newLines:o.newLines,lines:o.lines}}function tg(o,p,h,y,k){var Q={offset:p,lines:h,index:0},$0={offset:y,lines:k,index:0};for(H6(o,Q,$0),H6(o,$0,Q);Q.index<Q.lines.length&&$0.index<$0.lines.length;){var j0=Q.lines[Q.index],Z0=$0.lines[$0.index];if(j0[0]!==\"-\"&&j0[0]!==\"+\"||Z0[0]!==\"-\"&&Z0[0]!==\"+\")if(j0[0]===\"+\"&&Z0[0]===\" \"){var g1;(g1=o.lines).push.apply(g1,L8(t5(Q)))}else if(Z0[0]===\"+\"&&j0[0]===\" \"){var z1;(z1=o.lines).push.apply(z1,L8(t5($0)))}else j0[0]===\"-\"&&Z0[0]===\" \"?iT(o,Q,$0):Z0[0]===\"-\"&&j0[0]===\" \"?iT(o,$0,Q,!0):j0===Z0?(o.lines.push(j0),Q.index++,$0.index++):HS(o,t5(Q),t5($0));else u3(o,Q,$0)}j5(o,Q),j5(o,$0),cm(o)}function u3(o,p,h){var y=t5(p),k=t5(h);if(bw(y)&&bw(k)){var Q,$0;if((0,q6.arrayStartsWith)(y,k)&&U5(h,y,y.length-k.length))return void(Q=o.lines).push.apply(Q,L8(y));if((0,q6.arrayStartsWith)(k,y)&&U5(p,k,k.length-y.length))return void($0=o.lines).push.apply($0,L8(k))}else if((0,q6.arrayEqual)(y,k)){var j0;return void(j0=o.lines).push.apply(j0,L8(y))}HS(o,y,k)}function iT(o,p,h,y){var k,Q=t5(p),$0=function(j0,Z0){for(var g1=[],z1=[],X1=0,se=!1,be=!1;X1<Z0.length&&j0.index<j0.lines.length;){var Je=j0.lines[j0.index],ft=Z0[X1];if(ft[0]===\"+\")break;if(se=se||Je[0]!==\" \",z1.push(ft),X1++,Je[0]===\"+\")for(be=!0;Je[0]===\"+\";)g1.push(Je),Je=j0.lines[++j0.index];ft.substr(1)===Je.substr(1)?(g1.push(Je),j0.index++):be=!0}if((Z0[X1]||\"\")[0]===\"+\"&&se&&(be=!0),be)return g1;for(;X1<Z0.length;)z1.push(Z0[X1++]);return{merged:z1,changes:g1}}(h,Q);$0.merged?(k=o.lines).push.apply(k,L8($0.merged)):HS(o,y?$0:Q,y?Q:$0)}function HS(o,p,h){o.conflict=!0,o.lines.push({conflict:!0,mine:p,theirs:h})}function H6(o,p,h){for(;p.offset<h.offset&&p.index<p.lines.length;){var y=p.lines[p.index++];o.lines.push(y),p.offset++}}function j5(o,p){for(;p.index<p.lines.length;){var h=p.lines[p.index++];o.lines.push(h)}}function t5(o){for(var p=[],h=o.lines[o.index][0];o.index<o.lines.length;){var y=o.lines[o.index];if(h===\"-\"&&y[0]===\"+\"&&(h=\"+\"),h!==y[0])break;p.push(y),o.index++}return p}function bw(o){return o.reduce(function(p,h){return p&&h[0]===\"-\"},!0)}function U5(o,p,h){for(var y=0;y<h;y++){var k=p[p.length-h+y].substr(1);if(o.lines[o.index+y]!==\" \"+k)return!1}return o.index+=h,!0}function d4(o){var p=0,h=0;return o.forEach(function(y){if(typeof y!=\"string\"){var k=d4(y.mine),Q=d4(y.theirs);p!==void 0&&(k.oldLines===Q.oldLines?p+=k.oldLines:p=void 0),h!==void 0&&(k.newLines===Q.newLines?h+=k.newLines:h=void 0)}else h===void 0||y[0]!==\"+\"&&y[0]!==\" \"||h++,p===void 0||y[0]!==\"-\"&&y[0]!==\" \"||p++}),{oldLines:p,newLines:h}}var pF=Object.defineProperty({calcLineCount:JS,merge:eg},\"__esModule\",{value:!0}),EF=function(o){for(var p,h,y=[],k=0;k<o.length;k++)p=o[k],h=p.added?1:p.removed?-1:0,y.push([h,p.value]);return y},A6=Object.defineProperty({convertChangesToDMP:EF},\"__esModule\",{value:!0}),r5=function(o){for(var p=[],h=0;h<o.length;h++){var y=o[h];y.added?p.push(\"<ins>\"):y.removed&&p.push(\"<del>\"),p.push(m4(y.value)),y.added?p.push(\"</ins>\"):y.removed&&p.push(\"</del>\")}return p.join(\"\")};function m4(o){var p=o;return p=(p=(p=(p=p.replace(/&/g,\"&amp;\")).replace(/</g,\"&lt;\")).replace(/>/g,\"&gt;\")).replace(/\"/g,\"&quot;\")}var Lu=Object.defineProperty({convertChangesToXML:r5},\"__esModule\",{value:!0}),Ig=s0(function(o,p){Object.defineProperty(p,\"__esModule\",{value:!0}),Object.defineProperty(p,\"Diff\",{enumerable:!0,get:function(){return h.default}}),Object.defineProperty(p,\"diffChars\",{enumerable:!0,get:function(){return F0.diffChars}}),Object.defineProperty(p,\"diffWords\",{enumerable:!0,get:function(){return t1.diffWords}}),Object.defineProperty(p,\"diffWordsWithSpace\",{enumerable:!0,get:function(){return t1.diffWordsWithSpace}}),Object.defineProperty(p,\"diffLines\",{enumerable:!0,get:function(){return r1.diffLines}}),Object.defineProperty(p,\"diffTrimmedLines\",{enumerable:!0,get:function(){return r1.diffTrimmedLines}}),Object.defineProperty(p,\"diffSentences\",{enumerable:!0,get:function(){return F1.diffSentences}}),Object.defineProperty(p,\"diffCss\",{enumerable:!0,get:function(){return a1.diffCss}}),Object.defineProperty(p,\"diffJson\",{enumerable:!0,get:function(){return ZT.diffJson}}),Object.defineProperty(p,\"canonicalize\",{enumerable:!0,get:function(){return ZT.canonicalize}}),Object.defineProperty(p,\"diffArrays\",{enumerable:!0,get:function(){return Kw.diffArrays}}),Object.defineProperty(p,\"applyPatch\",{enumerable:!0,get:function(){return $A.applyPatch}}),Object.defineProperty(p,\"applyPatches\",{enumerable:!0,get:function(){return $A.applyPatches}}),Object.defineProperty(p,\"parsePatch\",{enumerable:!0,get:function(){return fA.parsePatch}}),Object.defineProperty(p,\"merge\",{enumerable:!0,get:function(){return pF.merge}}),Object.defineProperty(p,\"structuredPatch\",{enumerable:!0,get:function(){return x5.structuredPatch}}),Object.defineProperty(p,\"createTwoFilesPatch\",{enumerable:!0,get:function(){return x5.createTwoFilesPatch}}),Object.defineProperty(p,\"createPatch\",{enumerable:!0,get:function(){return x5.createPatch}}),Object.defineProperty(p,\"convertChangesToDMP\",{enumerable:!0,get:function(){return A6.convertChangesToDMP}}),Object.defineProperty(p,\"convertChangesToXML\",{enumerable:!0,get:function(){return Lu.convertChangesToXML}});var h=function(y){return y&&y.__esModule?y:{default:y}}(Y)});function hA(o){return{type:\"concat\",parts:o}}function RS(o){return{type:\"indent\",contents:o}}function H4(o,p){return{type:\"align\",contents:p,n:o}}function I4(o,p={}){return{type:\"group\",id:p.id,contents:o,break:Boolean(p.shouldBreak),expandedStates:p.expandedStates}}const GS={type:\"break-parent\"},SS={type:\"line\",hard:!0},rS={type:\"line\",hard:!0,literal:!0},T6=hA([SS,GS]),dS=hA([rS,GS]);var w6={concat:hA,join:function(o,p){const h=[];for(let y=0;y<p.length;y++)y!==0&&h.push(o),h.push(p[y]);return hA(h)},line:{type:\"line\"},softline:{type:\"line\",soft:!0},hardline:T6,literalline:dS,group:I4,conditionalGroup:function(o,p){return I4(o[0],Object.assign(Object.assign({},p),{},{expandedStates:o}))},fill:function(o){return{type:\"fill\",parts:o}},lineSuffix:function(o){return{type:\"line-suffix\",contents:o}},lineSuffixBoundary:{type:\"line-suffix-boundary\"},cursor:{type:\"cursor\",placeholder:Symbol(\"cursor\")},breakParent:GS,ifBreak:function(o,p,h={}){return{type:\"if-break\",breakContents:o,flatContents:p,groupId:h.groupId}},trim:{type:\"trim\"},indent:RS,indentIfBreak:function(o,p){return{type:\"indent-if-break\",contents:o,groupId:p.groupId,negate:p.negate}},align:H4,addAlignmentToDoc:function(o,p,h){let y=o;if(p>0){for(let k=0;k<Math.floor(p/h);++k)y=RS(y);y=H4(p%h,y),y=H4(Number.NEGATIVE_INFINITY,y)}return y},markAsRoot:function(o){return H4({type:\"root\"},o)},dedentToRoot:function(o){return H4(Number.NEGATIVE_INFINITY,o)},dedent:function(o){return H4(-1,o)},hardlineWithoutBreakParent:SS,literallineWithoutBreakParent:rS,label:function(o,p){return{type:\"label\",label:o,contents:p}}},vb=o=>typeof o==\"string\"?o.replace((({onlyFirst:p=!1}={})=>{const h=[\"[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:[a-zA-Z\\\\d]*(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)\",\"(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))\"].join(\"|\");return new RegExp(h,p?void 0:\"g\")})(),\"\"):o;const Rh=o=>!Number.isNaN(o)&&o>=4352&&(o<=4447||o===9001||o===9002||11904<=o&&o<=12871&&o!==12351||12880<=o&&o<=19903||19968<=o&&o<=42182||43360<=o&&o<=43388||44032<=o&&o<=55203||63744<=o&&o<=64255||65040<=o&&o<=65049||65072<=o&&o<=65131||65281<=o&&o<=65376||65504<=o&&o<=65510||110592<=o&&o<=110593||127488<=o&&o<=127569||131072<=o&&o<=262141);var Wf=Rh,Fp=Rh;Wf.default=Fp;const ZC=o=>{if(typeof o!=\"string\"||o.length===0||(o=vb(o)).length===0)return 0;o=o.replace(/\\uD83C\\uDFF4\\uDB40\\uDC67\\uDB40\\uDC62(?:\\uDB40\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67|\\uDB40\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDB40\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73)\\uDB40\\uDC7F|\\uD83D\\uDC68(?:\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C\\uDFFB|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFE])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83D\\uDC68|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D[\\uDC66\\uDC67])|[\\u2695\\u2696\\u2708]\\uFE0F|\\uD83D[\\uDC66\\uDC67]|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|(?:\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708])\\uFE0F|\\uD83C\\uDFFB\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C[\\uDFFB-\\uDFFF])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFB\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)\\uD83C\\uDFFB|\\uD83E\\uDDD1(?:\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1)|(?:\\uD83E\\uDDD1\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69]))(?:\\uD83C[\\uDFFB-\\uDFFE])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83D\\uDC69(?:\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFB\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFC-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D(?:\\uD83D[\\uDC68\\uDC69])|\\uD83D[\\uDC68\\uDC69])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|(?:\\uD83E\\uDDD1\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D\\uDC41\\uFE0F\\u200D\\uD83D\\uDDE8|\\uD83D\\uDC69(?:\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708])|(?:(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)\\uFE0F|\\uD83D\\uDC6F|\\uD83E[\\uDD3C\\uDDDE\\uDDDF])\\u200D[\\u2640\\u2642]|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|\\u200D[\\u2640\\u2642])|\\uD83C\\uDFF4\\u200D\\u2620)\\uFE0F|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|\\uD83C\\uDFF3\\uFE0F\\u200D\\uD83C\\uDF08|\\uD83D\\uDC15\\u200D\\uD83E\\uDDBA|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67|\\uD83C\\uDDFD\\uD83C\\uDDF0|\\uD83C\\uDDF4\\uD83C\\uDDF2|\\uD83C\\uDDF6\\uD83C\\uDDE6|[#\\*0-9]\\uFE0F\\u20E3|\\uD83C\\uDDE7(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDF9(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF])|\\uD83C\\uDDEA(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA])|\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF7(?:\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC])|\\uD83D\\uDC69(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF2(?:\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF])|\\uD83C\\uDDE6(?:\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF])|\\uD83C\\uDDF0(?:\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDED(?:\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA])|\\uD83C\\uDDE9(?:\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF])|\\uD83C\\uDDFE(?:\\uD83C[\\uDDEA\\uDDF9])|\\uD83C\\uDDEC(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE])|\\uD83C\\uDDF8(?:\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF])|\\uD83C\\uDDEB(?:\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7])|\\uD83C\\uDDF5(?:\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE])|\\uD83C\\uDDFB(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA])|\\uD83C\\uDDF3(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF])|\\uD83C\\uDDE8(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF5\\uDDF7\\uDDFA-\\uDDFF])|\\uD83C\\uDDF1(?:\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE])|\\uD83C\\uDDFF(?:\\uD83C[\\uDDE6\\uDDF2\\uDDFC])|\\uD83C\\uDDFC(?:\\uD83C[\\uDDEB\\uDDF8])|\\uD83C\\uDDFA(?:\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF])|\\uD83C\\uDDEE(?:\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9])|\\uD83C\\uDDEF(?:\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5])|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u261D\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2\\uDFC7]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC70\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDCAA\\uDD74\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1C\\uDD1E\\uDD1F\\uDD30-\\uDD36\\uDDB5\\uDDB6\\uDDBB\\uDDD2-\\uDDD5])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u231A\\u231B\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u25FE\\u2614\\u2615\\u2648-\\u2653\\u267F\\u2693\\u26A1\\u26AA\\u26AB\\u26BD\\u26BE\\u26C4\\u26C5\\u26CE\\u26D4\\u26EA\\u26F2\\u26F3\\u26F5\\u26FA\\u26FD\\u2705\\u270A\\u270B\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2795-\\u2797\\u27B0\\u27BF\\u2B1B\\u2B1C\\u2B50\\u2B55]|\\uD83C[\\uDC04\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF7C\\uDF7E-\\uDF93\\uDFA0-\\uDFCA\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF4\\uDFF8-\\uDFFF]|\\uD83D[\\uDC00-\\uDC3E\\uDC40\\uDC42-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDD7A\\uDD95\\uDD96\\uDDA4\\uDDFB-\\uDE4F\\uDE80-\\uDEC5\\uDECC\\uDED0-\\uDED2\\uDED5\\uDEEB\\uDEEC\\uDEF4-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])|(?:[#\\*0-9\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u231A\\u231B\\u2328\\u23CF\\u23E9-\\u23F3\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB-\\u25FE\\u2600-\\u2604\\u260E\\u2611\\u2614\\u2615\\u2618\\u261D\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u2648-\\u2653\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u267F\\u2692-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A1\\u26AA\\u26AB\\u26B0\\u26B1\\u26BD\\u26BE\\u26C4\\u26C5\\u26C8\\u26CE\\u26CF\\u26D1\\u26D3\\u26D4\\u26E9\\u26EA\\u26F0-\\u26F5\\u26F7-\\u26FA\\u26FD\\u2702\\u2705\\u2708-\\u270D\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2728\\u2733\\u2734\\u2744\\u2747\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2763\\u2764\\u2795-\\u2797\\u27A1\\u27B0\\u27BF\\u2934\\u2935\\u2B05-\\u2B07\\u2B1B\\u2B1C\\u2B50\\u2B55\\u3030\\u303D\\u3297\\u3299]|\\uD83C[\\uDC04\\uDCCF\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE02\\uDE1A\\uDE2F\\uDE32-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF21\\uDF24-\\uDF93\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E-\\uDFF0\\uDFF3-\\uDFF5\\uDFF7-\\uDFFF]|\\uD83D[\\uDC00-\\uDCFD\\uDCFF-\\uDD3D\\uDD49-\\uDD4E\\uDD50-\\uDD67\\uDD6F\\uDD70\\uDD73-\\uDD7A\\uDD87\\uDD8A-\\uDD8D\\uDD90\\uDD95\\uDD96\\uDDA4\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA-\\uDE4F\\uDE80-\\uDEC5\\uDECB-\\uDED2\\uDED5\\uDEE0-\\uDEE5\\uDEE9\\uDEEB\\uDEEC\\uDEF0\\uDEF3-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])\\uFE0F|(?:[\\u261D\\u26F9\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2-\\uDFC4\\uDFC7\\uDFCA-\\uDFCC]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66-\\uDC78\\uDC7C\\uDC81-\\uDC83\\uDC85-\\uDC87\\uDC8F\\uDC91\\uDCAA\\uDD74\\uDD75\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE45-\\uDE47\\uDE4B-\\uDE4F\\uDEA3\\uDEB4-\\uDEB6\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1F\\uDD26\\uDD30-\\uDD39\\uDD3C-\\uDD3E\\uDDB5\\uDDB6\\uDDB8\\uDDB9\\uDDBB\\uDDCD-\\uDDCF\\uDDD1-\\uDDDD])/g,\"  \");let p=0;for(let h=0;h<o.length;h++){const y=o.codePointAt(h);y<=31||y>=127&&y<=159||y>=768&&y<=879||(y>65535&&h++,p+=Wf(y)?2:1)}return p};var zA=ZC,zF=ZC;zA.default=zF;var WF=o=>{if(typeof o!=\"string\")throw new TypeError(\"Expected a string\");return o.replace(/[|\\\\{}()[\\]^$+*?.]/g,\"\\\\$&\").replace(/-/g,\"\\\\x2d\")},l_=o=>o[o.length-1],xE=Array.isArray||function(o){return qe(o)==\"Array\"},r6=function(o,p,h){if(DF(o),p===void 0)return o;switch(h){case 0:return function(){return o.call(p)};case 1:return function(y){return o.call(p,y)};case 2:return function(y,k){return o.call(p,y,k)};case 3:return function(y,k,Q){return o.call(p,y,k,Q)}}return function(){return o.apply(p,arguments)}},M8=function(o,p,h,y,k,Q,$0,j0){for(var Z0,g1=k,z1=0,X1=!!$0&&r6($0,j0,3);z1<y;){if(z1 in h){if(Z0=X1?X1(h[z1],z1,p):h[z1],Q>0&&xE(Z0))g1=M8(o,p,Z0,mr(Z0.length),g1,Q-1)-1;else{if(g1>=9007199254740991)throw TypeError(\"Exceed the acceptable array length\");o[g1]=Z0}g1++}z1++}return g1},KE=M8,lm=!!Object.getOwnPropertySymbols&&!i1(function(){var o=Symbol();return!String(o)||!(Object(o)instanceof Symbol)||!Symbol.sham&&MS&&MS<41}),mS=lm&&!Symbol.sham&&typeof Symbol.iterator==\"symbol\",aT=as(\"wks\"),h4=W0.Symbol,G4=mS?h4:h4&&h4.withoutSetter||vi,k6=function(o){return cr(aT,o)&&(lm||typeof aT[o]==\"string\")||(lm&&cr(h4,o)?aT[o]=h4[o]:aT[o]=G4(\"Symbol.\"+o)),aT[o]},xw=k6(\"species\"),UT=function(o,p){var h;return xE(o)&&(typeof(h=o.constructor)!=\"function\"||h!==Array&&!xE(h.prototype)?Tr(h)&&(h=h[xw])===null&&(h=void 0):h=void 0),new(h===void 0?Array:h)(p===0?0:p)};fS({target:\"Array\",proto:!0},{flatMap:function(o){var p,h=Pn(this),y=mr(h.length);return DF(o),(p=UT(h,0)).length=KE(p,h,h,y,0,1,o,arguments.length>1?arguments[1]:void 0),p}});var oT={},G8=k6(\"iterator\"),y6=Array.prototype,nS={};nS[k6(\"toStringTag\")]=\"z\";var jD=String(nS)===\"[object z]\",X4=k6(\"toStringTag\"),SF=qe(function(){return arguments}())==\"Arguments\",ad=jD?qe:function(o){var p,h,y;return o===void 0?\"Undefined\":o===null?\"Null\":typeof(h=function(k,Q){try{return k[Q]}catch{}}(p=Object(o),X4))==\"string\"?h:SF?qe(p):(y=qe(p))==\"Object\"&&typeof p.callee==\"function\"?\"Arguments\":y},XS=k6(\"iterator\"),X8=function(o){var p=o.return;if(p!==void 0)return kn(p.call(o)).value},gA=function(o,p){this.stopped=o,this.result=p},VT=function(o,p,h){var y,k,Q,$0,j0,Z0,g1,z1,X1=h&&h.that,se=!(!h||!h.AS_ENTRIES),be=!(!h||!h.IS_ITERATOR),Je=!(!h||!h.INTERRUPTED),ft=r6(p,X1,1+se+Je),Xr=function(Wr){return y&&X8(y),new gA(!0,Wr)},on=function(Wr){return se?(kn(Wr),Je?ft(Wr[0],Wr[1],Xr):ft(Wr[0],Wr[1])):Je?ft(Wr,Xr):ft(Wr)};if(be)y=o;else{if(typeof(k=function(Wr){if(Wr!=null)return Wr[XS]||Wr[\"@@iterator\"]||oT[ad(Wr)]}(o))!=\"function\")throw TypeError(\"Target is not iterable\");if((z1=k)!==void 0&&(oT.Array===z1||y6[G8]===z1)){for(Q=0,$0=mr(o.length);$0>Q;Q++)if((j0=on(o[Q]))&&j0 instanceof gA)return j0;return new gA(!1)}y=k.call(o)}for(Z0=y.next;!(g1=Z0.call(y)).done;){try{j0=on(g1.value)}catch(Wr){throw X8(y),Wr}if(typeof j0==\"object\"&&j0&&j0 instanceof gA)return j0}return new gA(!1)};fS({target:\"Object\",stat:!0},{fromEntries:function(o){var p={};return VT(o,function(h,y){(function(k,Q,$0){var j0=Lr(Q);j0 in k?mi.f(k,j0,Gx(0,$0)):k[j0]=$0})(p,h,y)},{AS_ENTRIES:!0}),p}});var YS=YS!==void 0?YS:typeof self!=\"undefined\"?self:typeof window!=\"undefined\"?window:{};function _A(){throw new Error(\"setTimeout has not been defined\")}function QS(){throw new Error(\"clearTimeout has not been defined\")}var qF=_A,jS=QS;function zE(o){if(qF===setTimeout)return setTimeout(o,0);if((qF===_A||!qF)&&setTimeout)return qF=setTimeout,setTimeout(o,0);try{return qF(o,0)}catch{try{return qF.call(null,o,0)}catch{return qF.call(this,o,0)}}}typeof YS.setTimeout==\"function\"&&(qF=setTimeout),typeof YS.clearTimeout==\"function\"&&(jS=clearTimeout);var n6,iS=[],p6=!1,O4=-1;function $T(){p6&&n6&&(p6=!1,n6.length?iS=n6.concat(iS):O4=-1,iS.length&&FF())}function FF(){if(!p6){var o=zE($T);p6=!0;for(var p=iS.length;p;){for(n6=iS,iS=[];++O4<p;)n6&&n6[O4].run();O4=-1,p=iS.length}n6=null,p6=!1,function(h){if(jS===clearTimeout)return clearTimeout(h);if((jS===QS||!jS)&&clearTimeout)return jS=clearTimeout,clearTimeout(h);try{jS(h)}catch{try{return jS.call(null,h)}catch{return jS.call(this,h)}}}(o)}}function AF(o,p){this.fun=o,this.array=p}AF.prototype.run=function(){this.fun.apply(null,this.array)};function Y8(){}var hS=Y8,yA=Y8,JF=Y8,eE=Y8,ew=Y8,b5=Y8,DA=Y8,_a=YS.performance||{},$o=_a.now||_a.mozNow||_a.msNow||_a.oNow||_a.webkitNow||function(){return new Date().getTime()},To=new Date,Qc={nextTick:function(o){var p=new Array(arguments.length-1);if(arguments.length>1)for(var h=1;h<arguments.length;h++)p[h-1]=arguments[h];iS.push(new AF(o,p)),iS.length!==1||p6||zE(FF)},title:\"browser\",browser:!0,env:{},argv:[],version:\"\",versions:{},on:hS,addListener:yA,once:JF,off:eE,removeListener:ew,removeAllListeners:b5,emit:DA,binding:function(o){throw new Error(\"process.binding is not supported\")},cwd:function(){return\"/\"},chdir:function(o){throw new Error(\"process.chdir is not supported\")},umask:function(){return 0},hrtime:function(o){var p=.001*$o.call(_a),h=Math.floor(p),y=Math.floor(p%1*1e9);return o&&(h-=o[0],(y-=o[1])<0&&(h--,y+=1e9)),[h,y]},platform:\"browser\",release:{},config:{},uptime:function(){return(new Date-To)/1e3}},od=typeof Qc==\"object\"&&Qc.env&&Qc.env.NODE_DEBUG&&/\\bsemver\\b/i.test(Qc.env.NODE_DEBUG)?(...o)=>console.error(\"SEMVER\",...o):()=>{},_p={SEMVER_SPEC_VERSION:\"2.0.0\",MAX_LENGTH:256,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,MAX_SAFE_COMPONENT_LENGTH:16},F8=s0(function(o,p){const{MAX_SAFE_COMPONENT_LENGTH:h}=_p,y=(p=o.exports={}).re=[],k=p.src=[],Q=p.t={};let $0=0;const j0=(Z0,g1,z1)=>{const X1=$0++;od(X1,g1),Q[Z0]=X1,k[X1]=g1,y[X1]=new RegExp(g1,z1?\"g\":void 0)};j0(\"NUMERICIDENTIFIER\",\"0|[1-9]\\\\d*\"),j0(\"NUMERICIDENTIFIERLOOSE\",\"[0-9]+\"),j0(\"NONNUMERICIDENTIFIER\",\"\\\\d*[a-zA-Z-][a-zA-Z0-9-]*\"),j0(\"MAINVERSION\",`(${k[Q.NUMERICIDENTIFIER]})\\\\.(${k[Q.NUMERICIDENTIFIER]})\\\\.(${k[Q.NUMERICIDENTIFIER]})`),j0(\"MAINVERSIONLOOSE\",`(${k[Q.NUMERICIDENTIFIERLOOSE]})\\\\.(${k[Q.NUMERICIDENTIFIERLOOSE]})\\\\.(${k[Q.NUMERICIDENTIFIERLOOSE]})`),j0(\"PRERELEASEIDENTIFIER\",`(?:${k[Q.NUMERICIDENTIFIER]}|${k[Q.NONNUMERICIDENTIFIER]})`),j0(\"PRERELEASEIDENTIFIERLOOSE\",`(?:${k[Q.NUMERICIDENTIFIERLOOSE]}|${k[Q.NONNUMERICIDENTIFIER]})`),j0(\"PRERELEASE\",`(?:-(${k[Q.PRERELEASEIDENTIFIER]}(?:\\\\.${k[Q.PRERELEASEIDENTIFIER]})*))`),j0(\"PRERELEASELOOSE\",`(?:-?(${k[Q.PRERELEASEIDENTIFIERLOOSE]}(?:\\\\.${k[Q.PRERELEASEIDENTIFIERLOOSE]})*))`),j0(\"BUILDIDENTIFIER\",\"[0-9A-Za-z-]+\"),j0(\"BUILD\",`(?:\\\\+(${k[Q.BUILDIDENTIFIER]}(?:\\\\.${k[Q.BUILDIDENTIFIER]})*))`),j0(\"FULLPLAIN\",`v?${k[Q.MAINVERSION]}${k[Q.PRERELEASE]}?${k[Q.BUILD]}?`),j0(\"FULL\",`^${k[Q.FULLPLAIN]}$`),j0(\"LOOSEPLAIN\",`[v=\\\\s]*${k[Q.MAINVERSIONLOOSE]}${k[Q.PRERELEASELOOSE]}?${k[Q.BUILD]}?`),j0(\"LOOSE\",`^${k[Q.LOOSEPLAIN]}$`),j0(\"GTLT\",\"((?:<|>)?=?)\"),j0(\"XRANGEIDENTIFIERLOOSE\",`${k[Q.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`),j0(\"XRANGEIDENTIFIER\",`${k[Q.NUMERICIDENTIFIER]}|x|X|\\\\*`),j0(\"XRANGEPLAIN\",`[v=\\\\s]*(${k[Q.XRANGEIDENTIFIER]})(?:\\\\.(${k[Q.XRANGEIDENTIFIER]})(?:\\\\.(${k[Q.XRANGEIDENTIFIER]})(?:${k[Q.PRERELEASE]})?${k[Q.BUILD]}?)?)?`),j0(\"XRANGEPLAINLOOSE\",`[v=\\\\s]*(${k[Q.XRANGEIDENTIFIERLOOSE]})(?:\\\\.(${k[Q.XRANGEIDENTIFIERLOOSE]})(?:\\\\.(${k[Q.XRANGEIDENTIFIERLOOSE]})(?:${k[Q.PRERELEASELOOSE]})?${k[Q.BUILD]}?)?)?`),j0(\"XRANGE\",`^${k[Q.GTLT]}\\\\s*${k[Q.XRANGEPLAIN]}$`),j0(\"XRANGELOOSE\",`^${k[Q.GTLT]}\\\\s*${k[Q.XRANGEPLAINLOOSE]}$`),j0(\"COERCE\",`(^|[^\\\\d])(\\\\d{1,${h}})(?:\\\\.(\\\\d{1,${h}}))?(?:\\\\.(\\\\d{1,${h}}))?(?:$|[^\\\\d])`),j0(\"COERCERTL\",k[Q.COERCE],!0),j0(\"LONETILDE\",\"(?:~>?)\"),j0(\"TILDETRIM\",`(\\\\s*)${k[Q.LONETILDE]}\\\\s+`,!0),p.tildeTrimReplace=\"$1~\",j0(\"TILDE\",`^${k[Q.LONETILDE]}${k[Q.XRANGEPLAIN]}$`),j0(\"TILDELOOSE\",`^${k[Q.LONETILDE]}${k[Q.XRANGEPLAINLOOSE]}$`),j0(\"LONECARET\",\"(?:\\\\^)\"),j0(\"CARETTRIM\",`(\\\\s*)${k[Q.LONECARET]}\\\\s+`,!0),p.caretTrimReplace=\"$1^\",j0(\"CARET\",`^${k[Q.LONECARET]}${k[Q.XRANGEPLAIN]}$`),j0(\"CARETLOOSE\",`^${k[Q.LONECARET]}${k[Q.XRANGEPLAINLOOSE]}$`),j0(\"COMPARATORLOOSE\",`^${k[Q.GTLT]}\\\\s*(${k[Q.LOOSEPLAIN]})$|^$`),j0(\"COMPARATOR\",`^${k[Q.GTLT]}\\\\s*(${k[Q.FULLPLAIN]})$|^$`),j0(\"COMPARATORTRIM\",`(\\\\s*)${k[Q.GTLT]}\\\\s*(${k[Q.LOOSEPLAIN]}|${k[Q.XRANGEPLAIN]})`,!0),p.comparatorTrimReplace=\"$1$2$3\",j0(\"HYPHENRANGE\",`^\\\\s*(${k[Q.XRANGEPLAIN]})\\\\s+-\\\\s+(${k[Q.XRANGEPLAIN]})\\\\s*$`),j0(\"HYPHENRANGELOOSE\",`^\\\\s*(${k[Q.XRANGEPLAINLOOSE]})\\\\s+-\\\\s+(${k[Q.XRANGEPLAINLOOSE]})\\\\s*$`),j0(\"STAR\",\"(<|>)?=?\\\\s*\\\\*\"),j0(\"GTE0\",\"^\\\\s*>=\\\\s*0.0.0\\\\s*$\"),j0(\"GTE0PRE\",\"^\\\\s*>=\\\\s*0.0.0-0\\\\s*$\")});const rg=[\"includePrerelease\",\"loose\",\"rtl\"];var Y4=o=>o?typeof o!=\"object\"?{loose:!0}:rg.filter(p=>o[p]).reduce((p,h)=>(p[h]=!0,p),{}):{};const ZS=/^[0-9]+$/,A8=(o,p)=>{const h=ZS.test(o),y=ZS.test(p);return h&&y&&(o=+o,p=+p),o===p?0:h&&!y?-1:y&&!h?1:o<p?-1:1};var WE={compareIdentifiers:A8,rcompareIdentifiers:(o,p)=>A8(p,o)};const{MAX_LENGTH:R8,MAX_SAFE_INTEGER:gS}=_p,{re:N6,t:g4}=F8,{compareIdentifiers:f_}=WE;class TF{constructor(p,h){if(h=Y4(h),p instanceof TF){if(p.loose===!!h.loose&&p.includePrerelease===!!h.includePrerelease)return p;p=p.version}else if(typeof p!=\"string\")throw new TypeError(`Invalid Version: ${p}`);if(p.length>R8)throw new TypeError(`version is longer than ${R8} characters`);od(\"SemVer\",p,h),this.options=h,this.loose=!!h.loose,this.includePrerelease=!!h.includePrerelease;const y=p.trim().match(h.loose?N6[g4.LOOSE]:N6[g4.FULL]);if(!y)throw new TypeError(`Invalid Version: ${p}`);if(this.raw=p,this.major=+y[1],this.minor=+y[2],this.patch=+y[3],this.major>gS||this.major<0)throw new TypeError(\"Invalid major version\");if(this.minor>gS||this.minor<0)throw new TypeError(\"Invalid minor version\");if(this.patch>gS||this.patch<0)throw new TypeError(\"Invalid patch version\");y[4]?this.prerelease=y[4].split(\".\").map(k=>{if(/^[0-9]+$/.test(k)){const Q=+k;if(Q>=0&&Q<gS)return Q}return k}):this.prerelease=[],this.build=y[5]?y[5].split(\".\"):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(\".\")}`),this.version}toString(){return this.version}compare(p){if(od(\"SemVer.compare\",this.version,this.options,p),!(p instanceof TF)){if(typeof p==\"string\"&&p===this.version)return 0;p=new TF(p,this.options)}return p.version===this.version?0:this.compareMain(p)||this.comparePre(p)}compareMain(p){return p instanceof TF||(p=new TF(p,this.options)),f_(this.major,p.major)||f_(this.minor,p.minor)||f_(this.patch,p.patch)}comparePre(p){if(p instanceof TF||(p=new TF(p,this.options)),this.prerelease.length&&!p.prerelease.length)return-1;if(!this.prerelease.length&&p.prerelease.length)return 1;if(!this.prerelease.length&&!p.prerelease.length)return 0;let h=0;do{const y=this.prerelease[h],k=p.prerelease[h];if(od(\"prerelease compare\",h,y,k),y===void 0&&k===void 0)return 0;if(k===void 0)return 1;if(y===void 0)return-1;if(y!==k)return f_(y,k)}while(++h)}compareBuild(p){p instanceof TF||(p=new TF(p,this.options));let h=0;do{const y=this.build[h],k=p.build[h];if(od(\"prerelease compare\",h,y,k),y===void 0&&k===void 0)return 0;if(k===void 0)return 1;if(y===void 0)return-1;if(y!==k)return f_(y,k)}while(++h)}inc(p,h){switch(p){case\"premajor\":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc(\"pre\",h);break;case\"preminor\":this.prerelease.length=0,this.patch=0,this.minor++,this.inc(\"pre\",h);break;case\"prepatch\":this.prerelease.length=0,this.inc(\"patch\",h),this.inc(\"pre\",h);break;case\"prerelease\":this.prerelease.length===0&&this.inc(\"patch\",h),this.inc(\"pre\",h);break;case\"major\":this.minor===0&&this.patch===0&&this.prerelease.length!==0||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case\"minor\":this.patch===0&&this.prerelease.length!==0||this.minor++,this.patch=0,this.prerelease=[];break;case\"patch\":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case\"pre\":if(this.prerelease.length===0)this.prerelease=[0];else{let y=this.prerelease.length;for(;--y>=0;)typeof this.prerelease[y]==\"number\"&&(this.prerelease[y]++,y=-2);y===-1&&this.prerelease.push(0)}h&&(this.prerelease[0]===h?isNaN(this.prerelease[1])&&(this.prerelease=[h,0]):this.prerelease=[h,0]);break;default:throw new Error(`invalid increment argument: ${p}`)}return this.format(),this.raw=this.version,this}}var G6=TF,$2=(o,p,h)=>new G6(o,h).compare(new G6(p,h)),b8=(o,p,h)=>$2(o,p,h)<0,vA=(o,p,h)=>$2(o,p,h)>=0,n5=s0(function(o,p){function h(){for(var Xr=[],on=0;on<arguments.length;on++)Xr[on]=arguments[on]}function y(){return typeof WeakMap!=\"undefined\"?new WeakMap:{add:h,delete:h,get:h,set:h,has:function(Xr){return!1}}}Object.defineProperty(p,\"__esModule\",{value:!0}),p.outdent=void 0;var k=Object.prototype.hasOwnProperty,Q=function(Xr,on){return k.call(Xr,on)};function $0(Xr,on){for(var Wr in on)Q(on,Wr)&&(Xr[Wr]=on[Wr]);return Xr}var j0=/^[ \\t]*(?:\\r\\n|\\r|\\n)/,Z0=/(?:\\r\\n|\\r|\\n)[ \\t]*$/,g1=/^(?:[\\r\\n]|$)/,z1=/(?:\\r\\n|\\r|\\n)([ \\t]*)(?:[^ \\t\\r\\n]|$)/,X1=/^[ \\t]*[\\r\\n][ \\t\\r\\n]*$/;function se(Xr,on,Wr){var Zi=0,hs=Xr[0].match(z1);hs&&(Zi=hs[1].length);var Ao=new RegExp(\"(\\\\r\\\\n|\\\\r|\\\\n).{0,\"+Zi+\"}\",\"g\");on&&(Xr=Xr.slice(1));var Hs=Wr.newline,Oc=Wr.trimLeadingNewline,Nd=Wr.trimTrailingNewline,qd=typeof Hs==\"string\",Hl=Xr.length;return Xr.map(function(gf,Qh){return gf=gf.replace(Ao,\"$1\"),Qh===0&&Oc&&(gf=gf.replace(j0,\"\")),Qh===Hl-1&&Nd&&(gf=gf.replace(Z0,\"\")),qd&&(gf=gf.replace(/\\r\\n|\\n|\\r/g,function(N8){return Hs})),gf})}function be(Xr,on){for(var Wr=\"\",Zi=0,hs=Xr.length;Zi<hs;Zi++)Wr+=Xr[Zi],Zi<hs-1&&(Wr+=on[Zi]);return Wr}function Je(Xr){return Q(Xr,\"raw\")&&Q(Xr,\"length\")}var ft=function Xr(on){var Wr=y(),Zi=y();return $0(function hs(Ao){for(var Hs=[],Oc=1;Oc<arguments.length;Oc++)Hs[Oc-1]=arguments[Oc];if(Je(Ao)){var Nd=Ao,qd=(Hs[0]===hs||Hs[0]===ft)&&X1.test(Nd[0])&&g1.test(Nd[1]),Hl=qd?Zi:Wr,gf=Hl.get(Nd);if(gf||(gf=se(Nd,qd,on),Hl.set(Nd,gf)),Hs.length===0)return gf[0];var Qh=be(gf,qd?Hs.slice(1):Hs);return Qh}return Xr($0($0({},on),Ao||{}))},{string:function(hs){return se([hs],!1,on)[0]}})}({trimLeadingNewline:!0,trimTrailingNewline:!0});p.outdent=ft,p.default=ft;try{o.exports=ft,Object.defineProperty(ft,\"__esModule\",{value:!0}),ft.default=ft,ft.outdent=ft}catch{}});const{outdent:bb}=n5,P6=\"Config\",i6=\"Editor\",wF=\"Other\",I6=\"Global\",sd=\"Special\",HF={cursorOffset:{since:\"1.4.0\",category:sd,type:\"int\",default:-1,range:{start:-1,end:Number.POSITIVE_INFINITY,step:1},description:bb`\n      Print (to stderr) where a cursor at the given position would move to after formatting.\n      This option cannot be used with --range-start and --range-end.\n    `,cliCategory:i6},endOfLine:{since:\"1.15.0\",category:I6,type:\"choice\",default:[{since:\"1.15.0\",value:\"auto\"},{since:\"2.0.0\",value:\"lf\"}],description:\"Which end of line characters to apply.\",choices:[{value:\"lf\",description:\"Line Feed only (\\\\n), common on Linux and macOS as well as inside git repos\"},{value:\"crlf\",description:\"Carriage Return + Line Feed characters (\\\\r\\\\n), common on Windows\"},{value:\"cr\",description:\"Carriage Return character only (\\\\r), used very rarely\"},{value:\"auto\",description:bb`\n          Maintain existing\n          (mixed values within one file are normalised by looking at what's used after the first line)\n        `}]},filepath:{since:\"1.4.0\",category:sd,type:\"path\",description:\"Specify the input filepath. This will be used to do parser inference.\",cliName:\"stdin-filepath\",cliCategory:wF,cliDescription:\"Path to the file to pretend that stdin comes from.\"},insertPragma:{since:\"1.8.0\",category:sd,type:\"boolean\",default:!1,description:\"Insert @format pragma into file's first docblock comment.\",cliCategory:wF},parser:{since:\"0.0.10\",category:I6,type:\"choice\",default:[{since:\"0.0.10\",value:\"babylon\"},{since:\"1.13.0\",value:void 0}],description:\"Which parser to use.\",exception:o=>typeof o==\"string\"||typeof o==\"function\",choices:[{value:\"flow\",description:\"Flow\"},{value:\"babel\",since:\"1.16.0\",description:\"JavaScript\"},{value:\"babel-flow\",since:\"1.16.0\",description:\"Flow\"},{value:\"babel-ts\",since:\"2.0.0\",description:\"TypeScript\"},{value:\"typescript\",since:\"1.4.0\",description:\"TypeScript\"},{value:\"espree\",since:\"2.2.0\",description:\"JavaScript\"},{value:\"meriyah\",since:\"2.2.0\",description:\"JavaScript\"},{value:\"css\",since:\"1.7.1\",description:\"CSS\"},{value:\"less\",since:\"1.7.1\",description:\"Less\"},{value:\"scss\",since:\"1.7.1\",description:\"SCSS\"},{value:\"json\",since:\"1.5.0\",description:\"JSON\"},{value:\"json5\",since:\"1.13.0\",description:\"JSON5\"},{value:\"json-stringify\",since:\"1.13.0\",description:\"JSON.stringify\"},{value:\"graphql\",since:\"1.5.0\",description:\"GraphQL\"},{value:\"markdown\",since:\"1.8.0\",description:\"Markdown\"},{value:\"mdx\",since:\"1.15.0\",description:\"MDX\"},{value:\"vue\",since:\"1.10.0\",description:\"Vue\"},{value:\"yaml\",since:\"1.14.0\",description:\"YAML\"},{value:\"glimmer\",since:\"2.3.0\",description:\"Ember / Handlebars\"},{value:\"html\",since:\"1.15.0\",description:\"HTML\"},{value:\"angular\",since:\"1.15.0\",description:\"Angular\"},{value:\"lwc\",since:\"1.17.0\",description:\"Lightning Web Components\"}]},plugins:{since:\"1.10.0\",type:\"path\",array:!0,default:[{value:[]}],category:I6,description:\"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.\",exception:o=>typeof o==\"string\"||typeof o==\"object\",cliName:\"plugin\",cliCategory:P6},pluginSearchDirs:{since:\"1.13.0\",type:\"path\",array:!0,default:[{value:[]}],category:I6,description:bb`\n      Custom directory that contains prettier plugins in node_modules subdirectory.\n      Overrides default behavior when plugins are searched relatively to the location of Prettier.\n      Multiple values are accepted.\n    `,exception:o=>typeof o==\"string\"||typeof o==\"object\",cliName:\"plugin-search-dir\",cliCategory:P6},printWidth:{since:\"0.0.0\",category:I6,type:\"int\",default:80,description:\"The line length where Prettier will try wrap.\",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},rangeEnd:{since:\"1.4.0\",category:sd,type:\"int\",default:Number.POSITIVE_INFINITY,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:bb`\n      Format code ending at a given character offset (exclusive).\n      The range will extend forwards to the end of the selected statement.\n      This option cannot be used with --cursor-offset.\n    `,cliCategory:i6},rangeStart:{since:\"1.4.0\",category:sd,type:\"int\",default:0,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:bb`\n      Format code starting at a given character offset.\n      The range will extend backwards to the start of the first line containing the selected statement.\n      This option cannot be used with --cursor-offset.\n    `,cliCategory:i6},requirePragma:{since:\"1.7.0\",category:sd,type:\"boolean\",default:!1,description:bb`\n      Require either '@prettier' or '@format' to be present in the file's first docblock comment\n      in order for it to be formatted.\n    `,cliCategory:wF},tabWidth:{type:\"int\",category:I6,default:2,description:\"Number of spaces per indentation level.\",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},useTabs:{since:\"1.0.0\",category:I6,type:\"boolean\",default:!1,description:\"Indent with tabs instead of spaces.\"},embeddedLanguageFormatting:{since:\"2.1.0\",category:I6,type:\"choice\",default:[{since:\"2.1.0\",value:\"auto\"}],description:\"Control how Prettier formats quoted code embedded in the file.\",choices:[{value:\"auto\",description:\"Format embedded code if Prettier can automatically identify it.\"},{value:\"off\",description:\"Never automatically format embedded code.\"}]}},aS=[\"cliName\",\"cliCategory\",\"cliDescription\"],B4={compare:$2,lt:b8,gte:vA},Ux=b.version,ue=HF;var Xe={getSupportInfo:function({plugins:o=[],showUnreleased:p=!1,showDeprecated:h=!1,showInternal:y=!1}={}){const k=Ux.split(\"-\",1)[0],Q=o.flatMap(g1=>g1.languages||[]).filter(j0),$0=((g1,z1)=>Object.entries(g1).map(([X1,se])=>Object.assign({[z1]:X1},se)))(Object.assign({},...o.map(({options:g1})=>g1),ue),\"name\").filter(g1=>j0(g1)&&Z0(g1)).sort((g1,z1)=>g1.name===z1.name?0:g1.name<z1.name?-1:1).map(function(g1){return y?g1:c(g1,aS)}).map(g1=>{g1=Object.assign({},g1),Array.isArray(g1.default)&&(g1.default=g1.default.length===1?g1.default[0].value:g1.default.filter(j0).sort((X1,se)=>B4.compare(se.since,X1.since))[0].value),Array.isArray(g1.choices)&&(g1.choices=g1.choices.filter(X1=>j0(X1)&&Z0(X1)),g1.name===\"parser\"&&function(X1,se,be){const Je=new Set(X1.choices.map(ft=>ft.value));for(const ft of se)if(ft.parsers){for(const Xr of ft.parsers)if(!Je.has(Xr)){Je.add(Xr);const on=be.find(Zi=>Zi.parsers&&Zi.parsers[Xr]);let Wr=ft.name;on&&on.name&&(Wr+=` (plugin: ${on.name})`),X1.choices.push({value:Xr,description:Wr})}}}(g1,Q,o));const z1=Object.fromEntries(o.filter(X1=>X1.defaultOptions&&X1.defaultOptions[g1.name]!==void 0).map(X1=>[X1.name,X1.defaultOptions[g1.name]]));return Object.assign(Object.assign({},g1),{},{pluginDefaults:z1})});return{languages:Q,options:$0};function j0(g1){return p||!(\"since\"in g1)||g1.since&&B4.gte(k,g1.since)}function Z0(g1){return h||!(\"deprecated\"in g1)||g1.deprecated&&B4.lt(k,g1.deprecated)}}};const{getSupportInfo:Ht}=Xe,le=/[^\\x20-\\x7F]/;function hr(o){return(p,h,y)=>{const k=y&&y.backwards;if(h===!1)return!1;const{length:Q}=p;let $0=h;for(;$0>=0&&$0<Q;){const j0=p.charAt($0);if(o instanceof RegExp){if(!o.test(j0))return $0}else if(!o.includes(j0))return $0;k?$0--:$0++}return($0===-1||$0===Q)&&$0}}const pr=hr(/\\s/),lt=hr(\" \t\"),Qr=hr(\",; \t\"),Wi=hr(/[^\\n\\r]/);function Io(o,p){if(p===!1)return!1;if(o.charAt(p)===\"/\"&&o.charAt(p+1)===\"*\"){for(let h=p+2;h<o.length;++h)if(o.charAt(h)===\"*\"&&o.charAt(h+1)===\"/\")return h+2}return p}function Uo(o,p){return p!==!1&&(o.charAt(p)===\"/\"&&o.charAt(p+1)===\"/\"?Wi(o,p):p)}function sa(o,p,h){const y=h&&h.backwards;if(p===!1)return!1;const k=o.charAt(p);if(y){if(o.charAt(p-1)===\"\\r\"&&k===`\n`)return p-2;if(k===`\n`||k===\"\\r\"||k===\"\\u2028\"||k===\"\\u2029\")return p-1}else{if(k===\"\\r\"&&o.charAt(p+1)===`\n`)return p+2;if(k===`\n`||k===\"\\r\"||k===\"\\u2028\"||k===\"\\u2029\")return p+1}return p}function fn(o,p,h={}){const y=lt(o,h.backwards?p-1:p,h);return y!==sa(o,y,h)}function Gn(o,p){let h=null,y=p;for(;y!==h;)h=y,y=Qr(o,y),y=Io(o,y),y=lt(o,y);return y=Uo(o,y),y=sa(o,y),y!==!1&&fn(o,y)}function Ti(o,p){let h=null,y=p;for(;y!==h;)h=y,y=lt(o,y),y=Io(o,y),y=Uo(o,y),y=sa(o,y);return y}function Eo(o,p,h){return Ti(o,h(p))}function qo(o,p,h=0){let y=0;for(let k=h;k<o.length;++k)o[k]===\"\t\"?y=y+p-y%p:y++;return y}function ci(o,p){const h=o.slice(1,-1),y={quote:'\"',regex:/\"/g},k={quote:\"'\",regex:/'/g},Q=p===\"'\"?k:y,$0=Q===k?y:k;let j0=Q.quote;return(h.includes(Q.quote)||h.includes($0.quote))&&(j0=(h.match(Q.regex)||[]).length>(h.match($0.regex)||[]).length?$0.quote:Q.quote),j0}function os(o,p,h){const y=p==='\"'?\"'\":'\"',k=o.replace(/\\\\(.)|([\"'])/gs,(Q,$0,j0)=>$0===y?$0:j0===p?\"\\\\\"+j0:j0||(h&&/^[^\\n\\r\"'0-7\\\\bfnrt-vx\\u2028\\u2029]$/.test($0)?$0:\"\\\\\"+$0));return p+k+p}function $s(o,p){(o.comments||(o.comments=[])).push(p),p.printed=!1,p.nodeDescription=function(h){const y=h.type||h.kind||\"(unknown type)\";let k=String(h.name||h.id&&(typeof h.id==\"object\"?h.id.name:h.id)||h.key&&(typeof h.key==\"object\"?h.key.name:h.key)||h.value&&(typeof h.value==\"object\"?\"\":String(h.value))||h.operator||\"\");return k.length>20&&(k=k.slice(0,19)+\"\\u2026\"),y+(k?\" \"+k:\"\")}(o)}var Po={inferParserByLanguage:function(o,p){const{languages:h}=Ht({plugins:p.plugins}),y=h.find(({name:k})=>k.toLowerCase()===o)||h.find(({aliases:k})=>Array.isArray(k)&&k.includes(o))||h.find(({extensions:k})=>Array.isArray(k)&&k.includes(`.${o}`));return y&&y.parsers[0]},getStringWidth:function(o){return o?le.test(o)?zA(o):o.length:0},getMaxContinuousCount:function(o,p){const h=o.match(new RegExp(`(${WF(p)})+`,\"g\"));return h===null?0:h.reduce((y,k)=>Math.max(y,k.length/p.length),0)},getMinNotPresentContinuousCount:function(o,p){const h=o.match(new RegExp(`(${WF(p)})+`,\"g\"));if(h===null)return 0;const y=new Map;let k=0;for(const Q of h){const $0=Q.length/p.length;y.set($0,!0),$0>k&&(k=$0)}for(let Q=1;Q<k;Q++)if(!y.get(Q))return Q;return k+1},getPenultimate:o=>o[o.length-2],getLast:l_,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:Ti,getNextNonSpaceNonCommentCharacterIndex:Eo,getNextNonSpaceNonCommentCharacter:function(o,p,h){return o.charAt(Eo(o,p,h))},skip:hr,skipWhitespace:pr,skipSpaces:lt,skipToLineEnd:Qr,skipEverythingButNewLine:Wi,skipInlineComment:Io,skipTrailingComment:Uo,skipNewline:sa,isNextLineEmptyAfterIndex:Gn,isNextLineEmpty:function(o,p,h){return Gn(o,h(p))},isPreviousLineEmpty:function(o,p,h){let y=h(p)-1;return y=lt(o,y,{backwards:!0}),y=sa(o,y,{backwards:!0}),y=lt(o,y,{backwards:!0}),y!==sa(o,y,{backwards:!0})},hasNewline:fn,hasNewlineInRange:function(o,p,h){for(let y=p;y<h;++y)if(o.charAt(y)===`\n`)return!0;return!1},hasSpaces:function(o,p,h={}){return lt(o,h.backwards?p-1:p,h)!==p},getAlignmentSize:qo,getIndentSize:function(o,p){const h=o.lastIndexOf(`\n`);return h===-1?0:qo(o.slice(h+1).match(/^[\\t ]*/)[0],p)},getPreferredQuote:ci,printString:function(o,p){return os(o.slice(1,-1),p.parser===\"json\"||p.parser===\"json5\"&&p.quoteProps===\"preserve\"&&!p.singleQuote?'\"':p.__isInHtmlAttribute?\"'\":ci(o,p.singleQuote?\"'\":'\"'),!(p.parser===\"css\"||p.parser===\"less\"||p.parser===\"scss\"||p.__embeddedInHtml))},printNumber:function(o){return o.toLowerCase().replace(/^([+-]?[\\d.]+e)(?:\\+|(-))?0*(\\d)/,\"$1$2$3\").replace(/^([+-]?[\\d.]+)e[+-]?0+$/,\"$1\").replace(/^([+-])?\\./,\"$10.\").replace(/(\\.\\d+?)0+(?=e|$)/,\"$1\").replace(/\\.(?=e|$)/,\"\")},makeString:os,addLeadingComment:function(o,p){p.leading=!0,p.trailing=!1,$s(o,p)},addDanglingComment:function(o,p,h){p.leading=!1,p.trailing=!1,h&&(p.marker=h),$s(o,p)},addTrailingComment:function(o,p){p.leading=!1,p.trailing=!0,$s(o,p)},isFrontMatterNode:function(o){return o&&o.type===\"front-matter\"},getShebang:function(o){if(!o.startsWith(\"#!\"))return\"\";const p=o.indexOf(`\n`);return p===-1?o:o.slice(0,p)},isNonEmptyArray:function(o){return Array.isArray(o)&&o.length>0},createGroupIdMapper:function(o){const p=new WeakMap;return function(h){return p.has(h)||p.set(h,Symbol(o)),p.get(h)}}},Dr={guessEndOfLine:function(o){const p=o.indexOf(\"\\r\");return p>=0?o.charAt(p+1)===`\n`?\"crlf\":\"cr\":\"lf\"},convertEndOfLineToChars:function(o){switch(o){case\"cr\":return\"\\r\";case\"crlf\":return`\\r\n`;default:return`\n`}},countEndOfLineChars:function(o,p){let h;if(p===`\n`)h=/\\n/g;else if(p===\"\\r\")h=/\\r/g;else{if(p!==`\\r\n`)throw new Error(`Unexpected \"eol\" ${JSON.stringify(p)}.`);h=/\\r\\n/g}const y=o.match(h);return y?y.length:0},normalizeEndOfLine:function(o){return o.replace(/\\r\\n?/g,`\n`)}};const{literalline:Nm,join:Og}=w6,Bg=o=>Array.isArray(o)||o&&o.type===\"concat\",_S=o=>{if(Array.isArray(o))return o;if(o.type!==\"concat\"&&o.type!==\"fill\")throw new Error(\"Expect doc type to be `concat` or `fill`.\");return o.parts},f8={};function Lx(o,p,h,y){const k=[o];for(;k.length>0;){const Q=k.pop();if(Q!==f8){if(h&&k.push(Q,f8),!p||p(Q)!==!1)if(Bg(Q)||Q.type===\"fill\"){const $0=_S(Q);for(let j0=$0.length-1;j0>=0;--j0)k.push($0[j0])}else if(Q.type===\"if-break\")Q.flatContents&&k.push(Q.flatContents),Q.breakContents&&k.push(Q.breakContents);else if(Q.type===\"group\"&&Q.expandedStates)if(y)for(let $0=Q.expandedStates.length-1;$0>=0;--$0)k.push(Q.expandedStates[$0]);else k.push(Q.contents);else Q.contents&&k.push(Q.contents)}else h(k.pop())}}function q1(o,p){const h=new Map;return y(o);function y(k){if(h.has(k))return h.get(k);const Q=function($0){if(Array.isArray($0))return p($0.map(y));if($0.type===\"concat\"||$0.type===\"fill\"){const j0=$0.parts.map(y);return p(Object.assign(Object.assign({},$0),{},{parts:j0}))}if($0.type===\"if-break\"){const j0=$0.breakContents&&y($0.breakContents),Z0=$0.flatContents&&y($0.flatContents);return p(Object.assign(Object.assign({},$0),{},{breakContents:j0,flatContents:Z0}))}if($0.type===\"group\"&&$0.expandedStates){const j0=$0.expandedStates.map(y),Z0=j0[0];return p(Object.assign(Object.assign({},$0),{},{contents:Z0,expandedStates:j0}))}if($0.contents){const j0=y($0.contents);return p(Object.assign(Object.assign({},$0),{},{contents:j0}))}return p($0)}(k);return h.set(k,Q),Q}}function Qx(o,p,h){let y=h,k=!1;return Lx(o,function(Q){const $0=p(Q);if($0!==void 0&&(k=!0,y=$0),k)return!1}),y}function Be(o){return!(o.type!==\"group\"||!o.break)||!(o.type!==\"line\"||!o.hard)||o.type===\"break-parent\"||void 0}function St(o){if(o.length>0){const p=l_(o);p.expandedStates||p.break||(p.break=\"propagated\")}return null}function _r(o){return o.type!==\"line\"||o.hard?o.type===\"if-break\"?o.flatContents||\"\":o:o.soft?\"\":\" \"}const gi=(o,p)=>o&&o.type===\"line\"&&o.hard&&p&&p.type===\"break-parent\";function je(o){if(!o)return o;if(Bg(o)||o.type===\"fill\"){const p=_S(o);for(;p.length>1&&gi(...p.slice(-2));)p.length-=2;if(p.length>0){const h=je(l_(p));p[p.length-1]=h}return Array.isArray(o)?p:Object.assign(Object.assign({},o),{},{parts:p})}switch(o.type){case\"align\":case\"indent\":case\"indent-if-break\":case\"group\":case\"line-suffix\":case\"label\":{const p=je(o.contents);return Object.assign(Object.assign({},o),{},{contents:p})}case\"if-break\":{const p=je(o.breakContents),h=je(o.flatContents);return Object.assign(Object.assign({},o),{},{breakContents:p,flatContents:h})}}return o}function Gu(o){return q1(o,p=>function(h){switch(h.type){case\"fill\":if(h.parts.length===0||h.parts.every(k=>k===\"\"))return\"\";break;case\"group\":if(!(h.contents||h.id||h.break||h.expandedStates))return\"\";if(h.contents.type===\"group\"&&h.contents.id===h.id&&h.contents.break===h.break&&h.contents.expandedStates===h.expandedStates)return h.contents;break;case\"align\":case\"indent\":case\"indent-if-break\":case\"line-suffix\":if(!h.contents)return\"\";break;case\"if-break\":if(!h.flatContents&&!h.breakContents)return\"\"}if(!Bg(h))return h;const y=[];for(const k of _S(h)){if(!k)continue;const[Q,...$0]=Bg(k)?_S(k):[k];typeof Q==\"string\"&&typeof l_(y)==\"string\"?y[y.length-1]+=Q:y.push(Q),y.push(...$0)}return y.length===0?\"\":y.length===1?y[0]:Array.isArray(h)?y:Object.assign(Object.assign({},h),{},{parts:y})}(p))}function io(o){const p=[],h=o.filter(Boolean);for(;h.length>0;){const y=h.shift();y&&(Bg(y)?h.unshift(..._S(y)):p.length>0&&typeof l_(p)==\"string\"&&typeof y==\"string\"?p[p.length-1]+=y:p.push(y))}return p}var ss={isConcat:Bg,getDocParts:_S,willBreak:function(o){return Qx(o,Be,!1)},traverseDoc:Lx,findInDoc:Qx,mapDoc:q1,propagateBreaks:function(o){const p=new Set,h=[];Lx(o,function(y){if(y.type===\"break-parent\"&&St(h),y.type===\"group\"){if(h.push(y),p.has(y))return!1;p.add(y)}},function(y){y.type===\"group\"&&h.pop().break&&St(h)},!0)},removeLines:function(o){return q1(o,_r)},stripTrailingHardline:function(o){return je(Gu(o))},normalizeParts:io,normalizeDoc:function(o){return q1(o,p=>Array.isArray(p)?io(p):p.parts?Object.assign(Object.assign({},p),{},{parts:io(p.parts)}):p)},cleanDoc:Gu,replaceEndOfLineWith:function(o,p){return Og(p,o.split(`\n`)).parts},replaceNewlinesWithLiterallines:function(o){return q1(o,p=>typeof p==\"string\"&&p.includes(`\n`)?Og(Nm,p.split(`\n`)):p)}};const{getStringWidth:to,getLast:Ma}=Po,{convertEndOfLineToChars:Ks}=Dr,{fill:Qa,cursor:Wc,indent:la}=w6,{isConcat:Af,getDocParts:so}=ss;let qu;function lf(o,p){return ud(o,{type:\"indent\"},p)}function uu(o,p,h){return p===Number.NEGATIVE_INFINITY?o.root||{value:\"\",length:0,queue:[]}:p<0?ud(o,{type:\"dedent\"},h):p?p.type===\"root\"?Object.assign(Object.assign({},o),{},{root:o}):ud(o,{type:typeof p==\"string\"?\"stringAlign\":\"numberAlign\",n:p},h):o}function ud(o,p,h){const y=p.type===\"dedent\"?o.queue.slice(0,-1):[...o.queue,p];let k=\"\",Q=0,$0=0,j0=0;for(const be of y)switch(be.type){case\"indent\":z1(),h.useTabs?Z0(1):g1(h.tabWidth);break;case\"stringAlign\":z1(),k+=be.n,Q+=be.n.length;break;case\"numberAlign\":$0+=1,j0+=be.n;break;default:throw new Error(`Unexpected type '${be.type}'`)}return X1(),Object.assign(Object.assign({},o),{},{value:k,length:Q,queue:y});function Z0(be){k+=\"\t\".repeat(be),Q+=h.tabWidth*be}function g1(be){k+=\" \".repeat(be),Q+=be}function z1(){h.useTabs?function(){$0>0&&Z0($0),se()}():X1()}function X1(){j0>0&&g1(j0),se()}function se(){$0=0,j0=0}}function fm(o){if(o.length===0)return 0;let p=0;for(;o.length>0&&typeof Ma(o)==\"string\"&&/^[\\t ]*$/.test(Ma(o));)p+=o.pop().length;if(o.length>0&&typeof Ma(o)==\"string\"){const h=Ma(o).replace(/[\\t ]*$/,\"\");p+=Ma(o).length-h.length,o[o.length-1]=h}return p}function w2(o,p,h,y,k,Q){let $0=p.length;const j0=[o],Z0=[];for(;h>=0;){if(j0.length===0){if($0===0)return!0;j0.push(p[$0-1]),$0--;continue}const[g1,z1,X1]=j0.pop();if(typeof X1==\"string\")Z0.push(X1),h-=to(X1);else if(Af(X1)){const se=so(X1);for(let be=se.length-1;be>=0;be--)j0.push([g1,z1,se[be]])}else switch(X1.type){case\"indent\":j0.push([lf(g1,y),z1,X1.contents]);break;case\"align\":j0.push([uu(g1,X1.n,y),z1,X1.contents]);break;case\"trim\":h+=fm(Z0);break;case\"group\":{if(Q&&X1.break)return!1;const se=X1.break?1:z1;j0.push([g1,se,X1.expandedStates&&se===1?Ma(X1.expandedStates):X1.contents]),X1.id&&(qu[X1.id]=se);break}case\"fill\":for(let se=X1.parts.length-1;se>=0;se--)j0.push([g1,z1,X1.parts[se]]);break;case\"if-break\":case\"indent-if-break\":{const se=X1.groupId?qu[X1.groupId]:z1;if(se===1){const be=X1.type===\"if-break\"?X1.breakContents:X1.negate?X1.contents:la(X1.contents);be&&j0.push([g1,z1,be])}if(se===2){const be=X1.type===\"if-break\"?X1.flatContents:X1.negate?la(X1.contents):X1.contents;be&&j0.push([g1,z1,be])}break}case\"line\":switch(z1){case 2:if(!X1.hard){X1.soft||(Z0.push(\" \"),h-=1);break}return!0;case 1:return!0}break;case\"line-suffix\":k=!0;break;case\"line-suffix-boundary\":if(k)return!1;break;case\"label\":j0.push([g1,z1,X1.contents])}}return!1}var US={printDocToString:function(o,p){qu={};const h=p.printWidth,y=Ks(p.endOfLine);let k=0;const Q=[[{value:\"\",length:0,queue:[]},1,o]],$0=[];let j0=!1,Z0=[];for(;Q.length>0;){const[z1,X1,se]=Q.pop();if(typeof se==\"string\"){const be=y!==`\n`?se.replace(/\\n/g,y):se;$0.push(be),k+=to(be)}else if(Af(se)){const be=so(se);for(let Je=be.length-1;Je>=0;Je--)Q.push([z1,X1,be[Je]])}else switch(se.type){case\"cursor\":$0.push(Wc.placeholder);break;case\"indent\":Q.push([lf(z1,p),X1,se.contents]);break;case\"align\":Q.push([uu(z1,se.n,p),X1,se.contents]);break;case\"trim\":k-=fm($0);break;case\"group\":switch(X1){case 2:if(!j0){Q.push([z1,se.break?1:2,se.contents]);break}case 1:{j0=!1;const be=[z1,2,se.contents],Je=h-k,ft=Z0.length>0;if(!se.break&&w2(be,Q,Je,p,ft))Q.push(be);else if(se.expandedStates){const Xr=Ma(se.expandedStates);if(se.break){Q.push([z1,1,Xr]);break}for(let on=1;on<se.expandedStates.length+1;on++){if(on>=se.expandedStates.length){Q.push([z1,1,Xr]);break}{const Wr=[z1,2,se.expandedStates[on]];if(w2(Wr,Q,Je,p,ft)){Q.push(Wr);break}}}}else Q.push([z1,1,se.contents]);break}}se.id&&(qu[se.id]=Ma(Q)[1]);break;case\"fill\":{const be=h-k,{parts:Je}=se;if(Je.length===0)break;const[ft,Xr]=Je,on=[z1,2,ft],Wr=[z1,1,ft],Zi=w2(on,[],be,p,Z0.length>0,!0);if(Je.length===1){Zi?Q.push(on):Q.push(Wr);break}const hs=[z1,2,Xr],Ao=[z1,1,Xr];if(Je.length===2){Zi?Q.push(hs,on):Q.push(Ao,Wr);break}Je.splice(0,2);const Hs=[z1,X1,Qa(Je)];w2([z1,2,[ft,Xr,Je[0]]],[],be,p,Z0.length>0,!0)?Q.push(Hs,hs,on):Zi?Q.push(Hs,Ao,on):Q.push(Hs,Ao,Wr);break}case\"if-break\":case\"indent-if-break\":{const be=se.groupId?qu[se.groupId]:X1;if(be===1){const Je=se.type===\"if-break\"?se.breakContents:se.negate?se.contents:la(se.contents);Je&&Q.push([z1,X1,Je])}if(be===2){const Je=se.type===\"if-break\"?se.flatContents:se.negate?la(se.contents):se.contents;Je&&Q.push([z1,X1,Je])}break}case\"line-suffix\":Z0.push([z1,X1,se.contents]);break;case\"line-suffix-boundary\":Z0.length>0&&Q.push([z1,X1,{type:\"line\",hard:!0}]);break;case\"line\":switch(X1){case 2:if(!se.hard){se.soft||($0.push(\" \"),k+=1);break}j0=!0;case 1:if(Z0.length>0){Q.push([z1,X1,se],...Z0.reverse()),Z0=[];break}se.literal?z1.root?($0.push(y,z1.root.value),k=z1.root.length):($0.push(y),k=0):(k-=fm($0),$0.push(y+z1.value),k=z1.length)}break;case\"label\":Q.push([z1,X1,se.contents])}Q.length===0&&Z0.length>0&&(Q.push(...Z0.reverse()),Z0=[])}const g1=$0.indexOf(Wc.placeholder);if(g1!==-1){const z1=$0.indexOf(Wc.placeholder,g1+1),X1=$0.slice(0,g1).join(\"\"),se=$0.slice(g1+1,z1).join(\"\");return{formatted:X1+se+$0.slice(z1+1).join(\"\"),cursorNodeStart:X1.length,cursorNodeText:se}}return{formatted:$0.join(\"\")}}};const{isConcat:j8,getDocParts:tE}=ss;function U8(o){if(!o)return\"\";if(j8(o)){const p=[];for(const h of tE(o))if(j8(h))p.push(...U8(h).parts);else{const y=U8(h);y!==\"\"&&p.push(y)}return{type:\"concat\",parts:p}}return o.type===\"if-break\"?Object.assign(Object.assign({},o),{},{breakContents:U8(o.breakContents),flatContents:U8(o.flatContents)}):o.type===\"group\"?Object.assign(Object.assign({},o),{},{contents:U8(o.contents),expandedStates:o.expandedStates&&o.expandedStates.map(U8)}):o.type===\"fill\"?{type:\"fill\",parts:o.parts.map(U8)}:o.contents?Object.assign(Object.assign({},o),{},{contents:U8(o.contents)}):o}var xp={builders:w6,printer:US,utils:ss,debug:{printDocToDebug:function(o){const p=Object.create(null),h=new Set;return function k(Q,$0,j0){if(typeof Q==\"string\")return JSON.stringify(Q);if(j8(Q)){const Z0=tE(Q).map(k).filter(Boolean);return Z0.length===1?Z0[0]:`[${Z0.join(\", \")}]`}if(Q.type===\"line\"){const Z0=Array.isArray(j0)&&j0[$0+1]&&j0[$0+1].type===\"break-parent\";return Q.literal?Z0?\"literalline\":\"literallineWithoutBreakParent\":Q.hard?Z0?\"hardline\":\"hardlineWithoutBreakParent\":Q.soft?\"softline\":\"line\"}if(Q.type===\"break-parent\")return Array.isArray(j0)&&j0[$0-1]&&j0[$0-1].type===\"line\"&&j0[$0-1].hard?void 0:\"breakParent\";if(Q.type===\"trim\")return\"trim\";if(Q.type===\"indent\")return\"indent(\"+k(Q.contents)+\")\";if(Q.type===\"align\")return Q.n===Number.NEGATIVE_INFINITY?\"dedentToRoot(\"+k(Q.contents)+\")\":Q.n<0?\"dedent(\"+k(Q.contents)+\")\":Q.n.type===\"root\"?\"markAsRoot(\"+k(Q.contents)+\")\":\"align(\"+JSON.stringify(Q.n)+\", \"+k(Q.contents)+\")\";if(Q.type===\"if-break\")return\"ifBreak(\"+k(Q.breakContents)+(Q.flatContents?\", \"+k(Q.flatContents):\"\")+(Q.groupId?(Q.flatContents?\"\":', \"\"')+`, { groupId: ${y(Q.groupId)} }`:\"\")+\")\";if(Q.type===\"indent-if-break\"){const Z0=[];Q.negate&&Z0.push(\"negate: true\"),Q.groupId&&Z0.push(`groupId: ${y(Q.groupId)}`);const g1=Z0.length>0?`, { ${Z0.join(\", \")} }`:\"\";return`indentIfBreak(${k(Q.contents)}${g1})`}if(Q.type===\"group\"){const Z0=[];Q.break&&Q.break!==\"propagated\"&&Z0.push(\"shouldBreak: true\"),Q.id&&Z0.push(`id: ${y(Q.id)}`);const g1=Z0.length>0?`, { ${Z0.join(\", \")} }`:\"\";return Q.expandedStates?`conditionalGroup([${Q.expandedStates.map(z1=>k(z1)).join(\",\")}]${g1})`:`group(${k(Q.contents)}${g1})`}if(Q.type===\"fill\")return`fill([${Q.parts.map(Z0=>k(Z0)).join(\", \")}])`;if(Q.type===\"line-suffix\")return\"lineSuffix(\"+k(Q.contents)+\")\";if(Q.type===\"line-suffix-boundary\")return\"lineSuffixBoundary\";if(Q.type===\"label\")return`label(${JSON.stringify(Q.label)}, ${k(Q.contents)})`;throw new Error(\"Unknown doc type \"+Q.type)}(U8(o));function y(k){if(typeof k!=\"symbol\")return JSON.stringify(String(k));if(k in p)return p[k];const Q=String(k).slice(7,-1)||\"symbol\";for(let $0=0;;$0++){const j0=Q+($0>0?` #${$0}`:\"\");if(!h.has(j0))return h.add(j0),p[k]=`Symbol.for(${JSON.stringify(j0)})`}}}}},tw=Object.freeze({__proto__:null,default:{}});function _4(o,p){for(var h=0,y=o.length-1;y>=0;y--){var k=o[y];k===\".\"?o.splice(y,1):k===\"..\"?(o.splice(y,1),h++):h&&(o.splice(y,1),h--)}if(p)for(;h--;h)o.unshift(\"..\");return o}var rw=/^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/,kF=function(o){return rw.exec(o).slice(1)};function i5(){for(var o=\"\",p=!1,h=arguments.length-1;h>=-1&&!p;h--){var y=h>=0?arguments[h]:\"/\";if(typeof y!=\"string\")throw new TypeError(\"Arguments to path.resolve must be strings\");y&&(o=y+\"/\"+o,p=y.charAt(0)===\"/\")}return(p?\"/\":\"\")+(o=_4(FS(o.split(\"/\"),function(k){return!!k}),!p).join(\"/\"))||\".\"}function Um(o){var p=Q8(o),h=xF(o,-1)===\"/\";return(o=_4(FS(o.split(\"/\"),function(y){return!!y}),!p).join(\"/\"))||p||(o=\".\"),o&&h&&(o+=\"/\"),(p?\"/\":\"\")+o}function Q8(o){return o.charAt(0)===\"/\"}function bA(){var o=Array.prototype.slice.call(arguments,0);return Um(FS(o,function(p,h){if(typeof p!=\"string\")throw new TypeError(\"Arguments to path.join must be strings\");return p}).join(\"/\"))}function CA(o,p){function h(g1){for(var z1=0;z1<g1.length&&g1[z1]===\"\";z1++);for(var X1=g1.length-1;X1>=0&&g1[X1]===\"\";X1--);return z1>X1?[]:g1.slice(z1,X1-z1+1)}o=i5(o).substr(1),p=i5(p).substr(1);for(var y=h(o.split(\"/\")),k=h(p.split(\"/\")),Q=Math.min(y.length,k.length),$0=Q,j0=0;j0<Q;j0++)if(y[j0]!==k[j0]){$0=j0;break}var Z0=[];for(j0=$0;j0<y.length;j0++)Z0.push(\"..\");return(Z0=Z0.concat(k.slice($0))).join(\"/\")}function sT(o){var p=kF(o),h=p[0],y=p[1];return h||y?(y&&(y=y.substr(0,y.length-1)),h+y):\".\"}function rE(o,p){var h=kF(o)[2];return p&&h.substr(-1*p.length)===p&&(h=h.substr(0,h.length-p.length)),h}function Z8(o){return kF(o)[3]}var V5={extname:Z8,basename:rE,dirname:sT,sep:\"/\",delimiter:\":\",relative:CA,join:bA,isAbsolute:Q8,normalize:Um,resolve:i5};function FS(o,p){if(o.filter)return o.filter(p);for(var h=[],y=0;y<o.length;y++)p(o[y],y,o)&&h.push(o[y]);return h}var xF=\"ab\".substr(-1)===\"b\"?function(o,p,h){return o.substr(p,h)}:function(o,p,h){return p<0&&(p=o.length+p),o.substr(p,h)},$5=Object.freeze({__proto__:null,resolve:i5,normalize:Um,isAbsolute:Q8,join:bA,relative:CA,sep:\"/\",delimiter:\":\",dirname:sT,basename:rE,extname:Z8,default:V5}),AS=[],O6=[],zw=typeof Uint8Array!=\"undefined\"?Uint8Array:Array,EA=!1;function K5(){EA=!0;for(var o=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",p=0,h=o.length;p<h;++p)AS[p]=o[p],O6[o.charCodeAt(p)]=p;O6[\"-\".charCodeAt(0)]=62,O6[\"_\".charCodeAt(0)]=63}function ps(o,p,h){for(var y,k,Q=[],$0=p;$0<h;$0+=3)y=(o[$0]<<16)+(o[$0+1]<<8)+o[$0+2],Q.push(AS[(k=y)>>18&63]+AS[k>>12&63]+AS[k>>6&63]+AS[63&k]);return Q.join(\"\")}function eF(o){var p;EA||K5();for(var h=o.length,y=h%3,k=\"\",Q=[],$0=16383,j0=0,Z0=h-y;j0<Z0;j0+=$0)Q.push(ps(o,j0,j0+$0>Z0?Z0:j0+$0));return y===1?(p=o[h-1],k+=AS[p>>2],k+=AS[p<<4&63],k+=\"==\"):y===2&&(p=(o[h-2]<<8)+o[h-1],k+=AS[p>>10],k+=AS[p>>4&63],k+=AS[p<<2&63],k+=\"=\"),Q.push(k),Q.join(\"\")}function NF(o,p,h,y,k){var Q,$0,j0=8*k-y-1,Z0=(1<<j0)-1,g1=Z0>>1,z1=-7,X1=h?k-1:0,se=h?-1:1,be=o[p+X1];for(X1+=se,Q=be&(1<<-z1)-1,be>>=-z1,z1+=j0;z1>0;Q=256*Q+o[p+X1],X1+=se,z1-=8);for($0=Q&(1<<-z1)-1,Q>>=-z1,z1+=y;z1>0;$0=256*$0+o[p+X1],X1+=se,z1-=8);if(Q===0)Q=1-g1;else{if(Q===Z0)return $0?NaN:1/0*(be?-1:1);$0+=Math.pow(2,y),Q-=g1}return(be?-1:1)*$0*Math.pow(2,Q-y)}function C8(o,p,h,y,k,Q){var $0,j0,Z0,g1=8*Q-k-1,z1=(1<<g1)-1,X1=z1>>1,se=k===23?Math.pow(2,-24)-Math.pow(2,-77):0,be=y?0:Q-1,Je=y?1:-1,ft=p<0||p===0&&1/p<0?1:0;for(p=Math.abs(p),isNaN(p)||p===1/0?(j0=isNaN(p)?1:0,$0=z1):($0=Math.floor(Math.log(p)/Math.LN2),p*(Z0=Math.pow(2,-$0))<1&&($0--,Z0*=2),(p+=$0+X1>=1?se/Z0:se*Math.pow(2,1-X1))*Z0>=2&&($0++,Z0/=2),$0+X1>=z1?(j0=0,$0=z1):$0+X1>=1?(j0=(p*Z0-1)*Math.pow(2,k),$0+=X1):(j0=p*Math.pow(2,X1-1)*Math.pow(2,k),$0=0));k>=8;o[h+be]=255&j0,be+=Je,j0/=256,k-=8);for($0=$0<<k|j0,g1+=k;g1>0;o[h+be]=255&$0,be+=Je,$0/=256,g1-=8);o[h+be-Je]|=128*ft}var L4={}.toString,KT=Array.isArray||function(o){return L4.call(o)==\"[object Array]\"};function C5(){return Zs.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function y4(o,p){if(C5()<p)throw new RangeError(\"Invalid typed array length\");return Zs.TYPED_ARRAY_SUPPORT?(o=new Uint8Array(p)).__proto__=Zs.prototype:(o===null&&(o=new Zs(p)),o.length=p),o}function Zs(o,p,h){if(!(Zs.TYPED_ARRAY_SUPPORT||this instanceof Zs))return new Zs(o,p,h);if(typeof o==\"number\"){if(typeof p==\"string\")throw new Error(\"If encoding is specified then the first argument must be a string\");return AT(this,o)}return GF(this,o,p,h)}function GF(o,p,h,y){if(typeof p==\"number\")throw new TypeError('\"value\" argument must not be a number');return typeof ArrayBuffer!=\"undefined\"&&p instanceof ArrayBuffer?function(k,Q,$0,j0){if(Q.byteLength,$0<0||Q.byteLength<$0)throw new RangeError(\"'offset' is out of bounds\");if(Q.byteLength<$0+(j0||0))throw new RangeError(\"'length' is out of bounds\");return Q=$0===void 0&&j0===void 0?new Uint8Array(Q):j0===void 0?new Uint8Array(Q,$0):new Uint8Array(Q,$0,j0),Zs.TYPED_ARRAY_SUPPORT?(k=Q).__proto__=Zs.prototype:k=a5(k,Q),k}(o,p,h,y):typeof p==\"string\"?function(k,Q,$0){if(typeof $0==\"string\"&&$0!==\"\"||($0=\"utf8\"),!Zs.isEncoding($0))throw new TypeError('\"encoding\" must be a valid string encoding');var j0=0|zs(Q,$0),Z0=(k=y4(k,j0)).write(Q,$0);return Z0!==j0&&(k=k.slice(0,Z0)),k}(o,p,h):function(k,Q){if(XF(Q)){var $0=0|z5(Q.length);return(k=y4(k,$0)).length===0||Q.copy(k,0,0,$0),k}if(Q){if(typeof ArrayBuffer!=\"undefined\"&&Q.buffer instanceof ArrayBuffer||\"length\"in Q)return typeof Q.length!=\"number\"||(j0=Q.length)!=j0?y4(k,0):a5(k,Q);if(Q.type===\"Buffer\"&&KT(Q.data))return a5(k,Q.data)}var j0;throw new TypeError(\"First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.\")}(o,p)}function zT(o){if(typeof o!=\"number\")throw new TypeError('\"size\" argument must be a number');if(o<0)throw new RangeError('\"size\" argument must not be negative')}function AT(o,p){if(zT(p),o=y4(o,p<0?0:0|z5(p)),!Zs.TYPED_ARRAY_SUPPORT)for(var h=0;h<p;++h)o[h]=0;return o}function a5(o,p){var h=p.length<0?0:0|z5(p.length);o=y4(o,h);for(var y=0;y<h;y+=1)o[y]=255&p[y];return o}function z5(o){if(o>=C5())throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+C5().toString(16)+\" bytes\");return 0|o}function XF(o){return!(o==null||!o._isBuffer)}function zs(o,p){if(XF(o))return o.length;if(typeof ArrayBuffer!=\"undefined\"&&typeof ArrayBuffer.isView==\"function\"&&(ArrayBuffer.isView(o)||o instanceof ArrayBuffer))return o.byteLength;typeof o!=\"string\"&&(o=\"\"+o);var h=o.length;if(h===0)return 0;for(var y=!1;;)switch(p){case\"ascii\":case\"latin1\":case\"binary\":return h;case\"utf8\":case\"utf-8\":case void 0:return a2(o).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*h;case\"hex\":return h>>>1;case\"base64\":return V8(o).length;default:if(y)return a2(o).length;p=(\"\"+p).toLowerCase(),y=!0}}function W5(o,p,h){var y=!1;if((p===void 0||p<0)&&(p=0),p>this.length||((h===void 0||h>this.length)&&(h=this.length),h<=0)||(h>>>=0)<=(p>>>=0))return\"\";for(o||(o=\"utf8\");;)switch(o){case\"hex\":return Ql(this,p,h);case\"utf8\":case\"utf-8\":return cu(this,p,h);case\"ascii\":return Go(this,p,h);case\"latin1\":case\"binary\":return Xu(this,p,h);case\"base64\":return gu(this,p,h);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return p_(this,p,h);default:if(y)throw new TypeError(\"Unknown encoding: \"+o);o=(o+\"\").toLowerCase(),y=!0}}function TT(o,p,h){var y=o[p];o[p]=o[h],o[h]=y}function kx(o,p,h,y,k){if(o.length===0)return-1;if(typeof h==\"string\"?(y=h,h=0):h>2147483647?h=2147483647:h<-2147483648&&(h=-2147483648),h=+h,isNaN(h)&&(h=k?0:o.length-1),h<0&&(h=o.length+h),h>=o.length){if(k)return-1;h=o.length-1}else if(h<0){if(!k)return-1;h=0}if(typeof p==\"string\"&&(p=Zs.from(p,y)),XF(p))return p.length===0?-1:Xx(o,p,h,y,k);if(typeof p==\"number\")return p&=255,Zs.TYPED_ARRAY_SUPPORT&&typeof Uint8Array.prototype.indexOf==\"function\"?k?Uint8Array.prototype.indexOf.call(o,p,h):Uint8Array.prototype.lastIndexOf.call(o,p,h):Xx(o,[p],h,y,k);throw new TypeError(\"val must be string, number or Buffer\")}function Xx(o,p,h,y,k){var Q,$0=1,j0=o.length,Z0=p.length;if(y!==void 0&&((y=String(y).toLowerCase())===\"ucs2\"||y===\"ucs-2\"||y===\"utf16le\"||y===\"utf-16le\")){if(o.length<2||p.length<2)return-1;$0=2,j0/=2,Z0/=2,h/=2}function g1(be,Je){return $0===1?be[Je]:be.readUInt16BE(Je*$0)}if(k){var z1=-1;for(Q=h;Q<j0;Q++)if(g1(o,Q)===g1(p,z1===-1?0:Q-z1)){if(z1===-1&&(z1=Q),Q-z1+1===Z0)return z1*$0}else z1!==-1&&(Q-=Q-z1),z1=-1}else for(h+Z0>j0&&(h=j0-Z0),Q=h;Q>=0;Q--){for(var X1=!0,se=0;se<Z0;se++)if(g1(o,Q+se)!==g1(p,se)){X1=!1;break}if(X1)return Q}return-1}function Ee(o,p,h,y){h=Number(h)||0;var k=o.length-h;y?(y=Number(y))>k&&(y=k):y=k;var Q=p.length;if(Q%2!=0)throw new TypeError(\"Invalid hex string\");y>Q/2&&(y=Q/2);for(var $0=0;$0<y;++$0){var j0=parseInt(p.substr(2*$0,2),16);if(isNaN(j0))return $0;o[h+$0]=j0}return $0}function at(o,p,h,y){return YF(a2(p,o.length-h),o,h,y)}function cn(o,p,h,y){return YF(function(k){for(var Q=[],$0=0;$0<k.length;++$0)Q.push(255&k.charCodeAt($0));return Q}(p),o,h,y)}function Bn(o,p,h,y){return cn(o,p,h,y)}function ao(o,p,h,y){return YF(V8(p),o,h,y)}function go(o,p,h,y){return YF(function(k,Q){for(var $0,j0,Z0,g1=[],z1=0;z1<k.length&&!((Q-=2)<0);++z1)j0=($0=k.charCodeAt(z1))>>8,Z0=$0%256,g1.push(Z0),g1.push(j0);return g1}(p,o.length-h),o,h,y)}function gu(o,p,h){return p===0&&h===o.length?eF(o):eF(o.slice(p,h))}function cu(o,p,h){h=Math.min(o.length,h);for(var y=[],k=p;k<h;){var Q,$0,j0,Z0,g1=o[k],z1=null,X1=g1>239?4:g1>223?3:g1>191?2:1;if(k+X1<=h)switch(X1){case 1:g1<128&&(z1=g1);break;case 2:(192&(Q=o[k+1]))==128&&(Z0=(31&g1)<<6|63&Q)>127&&(z1=Z0);break;case 3:Q=o[k+1],$0=o[k+2],(192&Q)==128&&(192&$0)==128&&(Z0=(15&g1)<<12|(63&Q)<<6|63&$0)>2047&&(Z0<55296||Z0>57343)&&(z1=Z0);break;case 4:Q=o[k+1],$0=o[k+2],j0=o[k+3],(192&Q)==128&&(192&$0)==128&&(192&j0)==128&&(Z0=(15&g1)<<18|(63&Q)<<12|(63&$0)<<6|63&j0)>65535&&Z0<1114112&&(z1=Z0)}z1===null?(z1=65533,X1=1):z1>65535&&(z1-=65536,y.push(z1>>>10&1023|55296),z1=56320|1023&z1),y.push(z1),k+=X1}return function(se){var be=se.length;if(be<=El)return String.fromCharCode.apply(String,se);for(var Je=\"\",ft=0;ft<be;)Je+=String.fromCharCode.apply(String,se.slice(ft,ft+=El));return Je}(y)}Zs.TYPED_ARRAY_SUPPORT=YS.TYPED_ARRAY_SUPPORT===void 0||YS.TYPED_ARRAY_SUPPORT,Zs.poolSize=8192,Zs._augment=function(o){return o.__proto__=Zs.prototype,o},Zs.from=function(o,p,h){return GF(null,o,p,h)},Zs.TYPED_ARRAY_SUPPORT&&(Zs.prototype.__proto__=Uint8Array.prototype,Zs.__proto__=Uint8Array),Zs.alloc=function(o,p,h){return function(y,k,Q,$0){return zT(k),k<=0?y4(y,k):Q!==void 0?typeof $0==\"string\"?y4(y,k).fill(Q,$0):y4(y,k).fill(Q):y4(y,k)}(null,o,p,h)},Zs.allocUnsafe=function(o){return AT(null,o)},Zs.allocUnsafeSlow=function(o){return AT(null,o)},Zs.isBuffer=T8,Zs.compare=function(o,p){if(!XF(o)||!XF(p))throw new TypeError(\"Arguments must be Buffers\");if(o===p)return 0;for(var h=o.length,y=p.length,k=0,Q=Math.min(h,y);k<Q;++k)if(o[k]!==p[k]){h=o[k],y=p[k];break}return h<y?-1:y<h?1:0},Zs.isEncoding=function(o){switch(String(o).toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"latin1\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return!0;default:return!1}},Zs.concat=function(o,p){if(!KT(o))throw new TypeError('\"list\" argument must be an Array of Buffers');if(o.length===0)return Zs.alloc(0);var h;if(p===void 0)for(p=0,h=0;h<o.length;++h)p+=o[h].length;var y=Zs.allocUnsafe(p),k=0;for(h=0;h<o.length;++h){var Q=o[h];if(!XF(Q))throw new TypeError('\"list\" argument must be an Array of Buffers');Q.copy(y,k),k+=Q.length}return y},Zs.byteLength=zs,Zs.prototype._isBuffer=!0,Zs.prototype.swap16=function(){var o=this.length;if(o%2!=0)throw new RangeError(\"Buffer size must be a multiple of 16-bits\");for(var p=0;p<o;p+=2)TT(this,p,p+1);return this},Zs.prototype.swap32=function(){var o=this.length;if(o%4!=0)throw new RangeError(\"Buffer size must be a multiple of 32-bits\");for(var p=0;p<o;p+=4)TT(this,p,p+3),TT(this,p+1,p+2);return this},Zs.prototype.swap64=function(){var o=this.length;if(o%8!=0)throw new RangeError(\"Buffer size must be a multiple of 64-bits\");for(var p=0;p<o;p+=8)TT(this,p,p+7),TT(this,p+1,p+6),TT(this,p+2,p+5),TT(this,p+3,p+4);return this},Zs.prototype.toString=function(){var o=0|this.length;return o===0?\"\":arguments.length===0?cu(this,0,o):W5.apply(this,arguments)},Zs.prototype.equals=function(o){if(!XF(o))throw new TypeError(\"Argument must be a Buffer\");return this===o||Zs.compare(this,o)===0},Zs.prototype.inspect=function(){var o=\"\";return this.length>0&&(o=this.toString(\"hex\",0,50).match(/.{2}/g).join(\" \"),this.length>50&&(o+=\" ... \")),\"<Buffer \"+o+\">\"},Zs.prototype.compare=function(o,p,h,y,k){if(!XF(o))throw new TypeError(\"Argument must be a Buffer\");if(p===void 0&&(p=0),h===void 0&&(h=o?o.length:0),y===void 0&&(y=0),k===void 0&&(k=this.length),p<0||h>o.length||y<0||k>this.length)throw new RangeError(\"out of range index\");if(y>=k&&p>=h)return 0;if(y>=k)return-1;if(p>=h)return 1;if(this===o)return 0;for(var Q=(k>>>=0)-(y>>>=0),$0=(h>>>=0)-(p>>>=0),j0=Math.min(Q,$0),Z0=this.slice(y,k),g1=o.slice(p,h),z1=0;z1<j0;++z1)if(Z0[z1]!==g1[z1]){Q=Z0[z1],$0=g1[z1];break}return Q<$0?-1:$0<Q?1:0},Zs.prototype.includes=function(o,p,h){return this.indexOf(o,p,h)!==-1},Zs.prototype.indexOf=function(o,p,h){return kx(this,o,p,h,!0)},Zs.prototype.lastIndexOf=function(o,p,h){return kx(this,o,p,h,!1)},Zs.prototype.write=function(o,p,h,y){if(p===void 0)y=\"utf8\",h=this.length,p=0;else if(h===void 0&&typeof p==\"string\")y=p,h=this.length,p=0;else{if(!isFinite(p))throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");p|=0,isFinite(h)?(h|=0,y===void 0&&(y=\"utf8\")):(y=h,h=void 0)}var k=this.length-p;if((h===void 0||h>k)&&(h=k),o.length>0&&(h<0||p<0)||p>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");y||(y=\"utf8\");for(var Q=!1;;)switch(y){case\"hex\":return Ee(this,o,p,h);case\"utf8\":case\"utf-8\":return at(this,o,p,h);case\"ascii\":return cn(this,o,p,h);case\"latin1\":case\"binary\":return Bn(this,o,p,h);case\"base64\":return ao(this,o,p,h);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return go(this,o,p,h);default:if(Q)throw new TypeError(\"Unknown encoding: \"+y);y=(\"\"+y).toLowerCase(),Q=!0}},Zs.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};var El=4096;function Go(o,p,h){var y=\"\";h=Math.min(o.length,h);for(var k=p;k<h;++k)y+=String.fromCharCode(127&o[k]);return y}function Xu(o,p,h){var y=\"\";h=Math.min(o.length,h);for(var k=p;k<h;++k)y+=String.fromCharCode(o[k]);return y}function Ql(o,p,h){var y=o.length;(!p||p<0)&&(p=0),(!h||h<0||h>y)&&(h=y);for(var k=\"\",Q=p;Q<h;++Q)k+=lu(o[Q]);return k}function p_(o,p,h){for(var y=o.slice(p,h),k=\"\",Q=0;Q<y.length;Q+=2)k+=String.fromCharCode(y[Q]+256*y[Q+1]);return k}function ap(o,p,h){if(o%1!=0||o<0)throw new RangeError(\"offset is not uint\");if(o+p>h)throw new RangeError(\"Trying to access beyond buffer length\")}function Ll(o,p,h,y,k,Q){if(!XF(o))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(p>k||p<Q)throw new RangeError('\"value\" argument is out of bounds');if(h+y>o.length)throw new RangeError(\"Index out of range\")}function $l(o,p,h,y){p<0&&(p=65535+p+1);for(var k=0,Q=Math.min(o.length-h,2);k<Q;++k)o[h+k]=(p&255<<8*(y?k:1-k))>>>8*(y?k:1-k)}function Tu(o,p,h,y){p<0&&(p=4294967295+p+1);for(var k=0,Q=Math.min(o.length-h,4);k<Q;++k)o[h+k]=p>>>8*(y?k:3-k)&255}function yp(o,p,h,y,k,Q){if(h+y>o.length)throw new RangeError(\"Index out of range\");if(h<0)throw new RangeError(\"Index out of range\")}function Gs(o,p,h,y,k){return k||yp(o,0,h,4),C8(o,p,h,y,23,4),h+4}function ra(o,p,h,y,k){return k||yp(o,0,h,8),C8(o,p,h,y,52,8),h+8}Zs.prototype.slice=function(o,p){var h,y=this.length;if((o=~~o)<0?(o+=y)<0&&(o=0):o>y&&(o=y),(p=p===void 0?y:~~p)<0?(p+=y)<0&&(p=0):p>y&&(p=y),p<o&&(p=o),Zs.TYPED_ARRAY_SUPPORT)(h=this.subarray(o,p)).__proto__=Zs.prototype;else{var k=p-o;h=new Zs(k,void 0);for(var Q=0;Q<k;++Q)h[Q]=this[Q+o]}return h},Zs.prototype.readUIntLE=function(o,p,h){o|=0,p|=0,h||ap(o,p,this.length);for(var y=this[o],k=1,Q=0;++Q<p&&(k*=256);)y+=this[o+Q]*k;return y},Zs.prototype.readUIntBE=function(o,p,h){o|=0,p|=0,h||ap(o,p,this.length);for(var y=this[o+--p],k=1;p>0&&(k*=256);)y+=this[o+--p]*k;return y},Zs.prototype.readUInt8=function(o,p){return p||ap(o,1,this.length),this[o]},Zs.prototype.readUInt16LE=function(o,p){return p||ap(o,2,this.length),this[o]|this[o+1]<<8},Zs.prototype.readUInt16BE=function(o,p){return p||ap(o,2,this.length),this[o]<<8|this[o+1]},Zs.prototype.readUInt32LE=function(o,p){return p||ap(o,4,this.length),(this[o]|this[o+1]<<8|this[o+2]<<16)+16777216*this[o+3]},Zs.prototype.readUInt32BE=function(o,p){return p||ap(o,4,this.length),16777216*this[o]+(this[o+1]<<16|this[o+2]<<8|this[o+3])},Zs.prototype.readIntLE=function(o,p,h){o|=0,p|=0,h||ap(o,p,this.length);for(var y=this[o],k=1,Q=0;++Q<p&&(k*=256);)y+=this[o+Q]*k;return y>=(k*=128)&&(y-=Math.pow(2,8*p)),y},Zs.prototype.readIntBE=function(o,p,h){o|=0,p|=0,h||ap(o,p,this.length);for(var y=p,k=1,Q=this[o+--y];y>0&&(k*=256);)Q+=this[o+--y]*k;return Q>=(k*=128)&&(Q-=Math.pow(2,8*p)),Q},Zs.prototype.readInt8=function(o,p){return p||ap(o,1,this.length),128&this[o]?-1*(255-this[o]+1):this[o]},Zs.prototype.readInt16LE=function(o,p){p||ap(o,2,this.length);var h=this[o]|this[o+1]<<8;return 32768&h?4294901760|h:h},Zs.prototype.readInt16BE=function(o,p){p||ap(o,2,this.length);var h=this[o+1]|this[o]<<8;return 32768&h?4294901760|h:h},Zs.prototype.readInt32LE=function(o,p){return p||ap(o,4,this.length),this[o]|this[o+1]<<8|this[o+2]<<16|this[o+3]<<24},Zs.prototype.readInt32BE=function(o,p){return p||ap(o,4,this.length),this[o]<<24|this[o+1]<<16|this[o+2]<<8|this[o+3]},Zs.prototype.readFloatLE=function(o,p){return p||ap(o,4,this.length),NF(this,o,!0,23,4)},Zs.prototype.readFloatBE=function(o,p){return p||ap(o,4,this.length),NF(this,o,!1,23,4)},Zs.prototype.readDoubleLE=function(o,p){return p||ap(o,8,this.length),NF(this,o,!0,52,8)},Zs.prototype.readDoubleBE=function(o,p){return p||ap(o,8,this.length),NF(this,o,!1,52,8)},Zs.prototype.writeUIntLE=function(o,p,h,y){o=+o,p|=0,h|=0,y||Ll(this,o,p,h,Math.pow(2,8*h)-1,0);var k=1,Q=0;for(this[p]=255&o;++Q<h&&(k*=256);)this[p+Q]=o/k&255;return p+h},Zs.prototype.writeUIntBE=function(o,p,h,y){o=+o,p|=0,h|=0,y||Ll(this,o,p,h,Math.pow(2,8*h)-1,0);var k=h-1,Q=1;for(this[p+k]=255&o;--k>=0&&(Q*=256);)this[p+k]=o/Q&255;return p+h},Zs.prototype.writeUInt8=function(o,p,h){return o=+o,p|=0,h||Ll(this,o,p,1,255,0),Zs.TYPED_ARRAY_SUPPORT||(o=Math.floor(o)),this[p]=255&o,p+1},Zs.prototype.writeUInt16LE=function(o,p,h){return o=+o,p|=0,h||Ll(this,o,p,2,65535,0),Zs.TYPED_ARRAY_SUPPORT?(this[p]=255&o,this[p+1]=o>>>8):$l(this,o,p,!0),p+2},Zs.prototype.writeUInt16BE=function(o,p,h){return o=+o,p|=0,h||Ll(this,o,p,2,65535,0),Zs.TYPED_ARRAY_SUPPORT?(this[p]=o>>>8,this[p+1]=255&o):$l(this,o,p,!1),p+2},Zs.prototype.writeUInt32LE=function(o,p,h){return o=+o,p|=0,h||Ll(this,o,p,4,4294967295,0),Zs.TYPED_ARRAY_SUPPORT?(this[p+3]=o>>>24,this[p+2]=o>>>16,this[p+1]=o>>>8,this[p]=255&o):Tu(this,o,p,!0),p+4},Zs.prototype.writeUInt32BE=function(o,p,h){return o=+o,p|=0,h||Ll(this,o,p,4,4294967295,0),Zs.TYPED_ARRAY_SUPPORT?(this[p]=o>>>24,this[p+1]=o>>>16,this[p+2]=o>>>8,this[p+3]=255&o):Tu(this,o,p,!1),p+4},Zs.prototype.writeIntLE=function(o,p,h,y){if(o=+o,p|=0,!y){var k=Math.pow(2,8*h-1);Ll(this,o,p,h,k-1,-k)}var Q=0,$0=1,j0=0;for(this[p]=255&o;++Q<h&&($0*=256);)o<0&&j0===0&&this[p+Q-1]!==0&&(j0=1),this[p+Q]=(o/$0>>0)-j0&255;return p+h},Zs.prototype.writeIntBE=function(o,p,h,y){if(o=+o,p|=0,!y){var k=Math.pow(2,8*h-1);Ll(this,o,p,h,k-1,-k)}var Q=h-1,$0=1,j0=0;for(this[p+Q]=255&o;--Q>=0&&($0*=256);)o<0&&j0===0&&this[p+Q+1]!==0&&(j0=1),this[p+Q]=(o/$0>>0)-j0&255;return p+h},Zs.prototype.writeInt8=function(o,p,h){return o=+o,p|=0,h||Ll(this,o,p,1,127,-128),Zs.TYPED_ARRAY_SUPPORT||(o=Math.floor(o)),o<0&&(o=255+o+1),this[p]=255&o,p+1},Zs.prototype.writeInt16LE=function(o,p,h){return o=+o,p|=0,h||Ll(this,o,p,2,32767,-32768),Zs.TYPED_ARRAY_SUPPORT?(this[p]=255&o,this[p+1]=o>>>8):$l(this,o,p,!0),p+2},Zs.prototype.writeInt16BE=function(o,p,h){return o=+o,p|=0,h||Ll(this,o,p,2,32767,-32768),Zs.TYPED_ARRAY_SUPPORT?(this[p]=o>>>8,this[p+1]=255&o):$l(this,o,p,!1),p+2},Zs.prototype.writeInt32LE=function(o,p,h){return o=+o,p|=0,h||Ll(this,o,p,4,2147483647,-2147483648),Zs.TYPED_ARRAY_SUPPORT?(this[p]=255&o,this[p+1]=o>>>8,this[p+2]=o>>>16,this[p+3]=o>>>24):Tu(this,o,p,!0),p+4},Zs.prototype.writeInt32BE=function(o,p,h){return o=+o,p|=0,h||Ll(this,o,p,4,2147483647,-2147483648),o<0&&(o=4294967295+o+1),Zs.TYPED_ARRAY_SUPPORT?(this[p]=o>>>24,this[p+1]=o>>>16,this[p+2]=o>>>8,this[p+3]=255&o):Tu(this,o,p,!1),p+4},Zs.prototype.writeFloatLE=function(o,p,h){return Gs(this,o,p,!0,h)},Zs.prototype.writeFloatBE=function(o,p,h){return Gs(this,o,p,!1,h)},Zs.prototype.writeDoubleLE=function(o,p,h){return ra(this,o,p,!0,h)},Zs.prototype.writeDoubleBE=function(o,p,h){return ra(this,o,p,!1,h)},Zs.prototype.copy=function(o,p,h,y){if(h||(h=0),y||y===0||(y=this.length),p>=o.length&&(p=o.length),p||(p=0),y>0&&y<h&&(y=h),y===h||o.length===0||this.length===0)return 0;if(p<0)throw new RangeError(\"targetStart out of bounds\");if(h<0||h>=this.length)throw new RangeError(\"sourceStart out of bounds\");if(y<0)throw new RangeError(\"sourceEnd out of bounds\");y>this.length&&(y=this.length),o.length-p<y-h&&(y=o.length-p+h);var k,Q=y-h;if(this===o&&h<p&&p<y)for(k=Q-1;k>=0;--k)o[k+p]=this[k+h];else if(Q<1e3||!Zs.TYPED_ARRAY_SUPPORT)for(k=0;k<Q;++k)o[k+p]=this[k+h];else Uint8Array.prototype.set.call(o,this.subarray(h,h+Q),p);return Q},Zs.prototype.fill=function(o,p,h,y){if(typeof o==\"string\"){if(typeof p==\"string\"?(y=p,p=0,h=this.length):typeof h==\"string\"&&(y=h,h=this.length),o.length===1){var k=o.charCodeAt(0);k<256&&(o=k)}if(y!==void 0&&typeof y!=\"string\")throw new TypeError(\"encoding must be a string\");if(typeof y==\"string\"&&!Zs.isEncoding(y))throw new TypeError(\"Unknown encoding: \"+y)}else typeof o==\"number\"&&(o&=255);if(p<0||this.length<p||this.length<h)throw new RangeError(\"Out of range index\");if(h<=p)return this;var Q;if(p>>>=0,h=h===void 0?this.length:h>>>0,o||(o=0),typeof o==\"number\")for(Q=p;Q<h;++Q)this[Q]=o;else{var $0=XF(o)?o:a2(new Zs(o,y).toString()),j0=$0.length;for(Q=0;Q<h-p;++Q)this[Q+p]=$0[Q%j0]}return this};var fo=/[^+\\/0-9A-Za-z-_]/g;function lu(o){return o<16?\"0\"+o.toString(16):o.toString(16)}function a2(o,p){var h;p=p||1/0;for(var y=o.length,k=null,Q=[],$0=0;$0<y;++$0){if((h=o.charCodeAt($0))>55295&&h<57344){if(!k){if(h>56319){(p-=3)>-1&&Q.push(239,191,189);continue}if($0+1===y){(p-=3)>-1&&Q.push(239,191,189);continue}k=h;continue}if(h<56320){(p-=3)>-1&&Q.push(239,191,189),k=h;continue}h=65536+(k-55296<<10|h-56320)}else k&&(p-=3)>-1&&Q.push(239,191,189);if(k=null,h<128){if((p-=1)<0)break;Q.push(h)}else if(h<2048){if((p-=2)<0)break;Q.push(h>>6|192,63&h|128)}else if(h<65536){if((p-=3)<0)break;Q.push(h>>12|224,h>>6&63|128,63&h|128)}else{if(!(h<1114112))throw new Error(\"Invalid code point\");if((p-=4)<0)break;Q.push(h>>18|240,h>>12&63|128,h>>6&63|128,63&h|128)}}return Q}function V8(o){return function(p){var h,y,k,Q,$0,j0;EA||K5();var Z0=p.length;if(Z0%4>0)throw new Error(\"Invalid string. Length must be a multiple of 4\");$0=p[Z0-2]===\"=\"?2:p[Z0-1]===\"=\"?1:0,j0=new zw(3*Z0/4-$0),k=$0>0?Z0-4:Z0;var g1=0;for(h=0,y=0;h<k;h+=4,y+=3)Q=O6[p.charCodeAt(h)]<<18|O6[p.charCodeAt(h+1)]<<12|O6[p.charCodeAt(h+2)]<<6|O6[p.charCodeAt(h+3)],j0[g1++]=Q>>16&255,j0[g1++]=Q>>8&255,j0[g1++]=255&Q;return $0===2?(Q=O6[p.charCodeAt(h)]<<2|O6[p.charCodeAt(h+1)]>>4,j0[g1++]=255&Q):$0===1&&(Q=O6[p.charCodeAt(h)]<<10|O6[p.charCodeAt(h+1)]<<4|O6[p.charCodeAt(h+2)]>>2,j0[g1++]=Q>>8&255,j0[g1++]=255&Q),j0}(function(p){if((p=function(h){return h.trim?h.trim():h.replace(/^\\s+|\\s+$/g,\"\")}(p).replace(fo,\"\")).length<2)return\"\";for(;p.length%4!=0;)p+=\"=\";return p}(o))}function YF(o,p,h,y){for(var k=0;k<y&&!(k+h>=p.length||k>=o.length);++k)p[k+h]=o[k];return k}function T8(o){return o!=null&&(!!o._isBuffer||Q4(o)||function(p){return typeof p.readFloatLE==\"function\"&&typeof p.slice==\"function\"&&Q4(p.slice(0,0))}(o))}function Q4(o){return!!o.constructor&&typeof o.constructor.isBuffer==\"function\"&&o.constructor.isBuffer(o)}var D4=K(tw),E5=class{constructor(o,p){(p=p||{}).readChunk||(p.readChunk=1024),p.newLineCharacter?p.newLineCharacter=p.newLineCharacter.charCodeAt(0):p.newLineCharacter=10,this.fd=typeof o==\"number\"?o:D4.openSync(o,\"r\"),this.options=p,this.newLineCharacter=p.newLineCharacter,this.reset()}_searchInBuffer(o,p){let h=-1;for(let y=0;y<=o.length;y++)if(o[y]===p){h=y;break}return h}reset(){this.eofReached=!1,this.linesCache=[],this.fdPosition=0}close(){D4.closeSync(this.fd),this.fd=null}_extractLines(o){let p;const h=[];let y=0,k=0;for(;;){let $0=o[y++];if($0===this.newLineCharacter)p=o.slice(k,y),h.push(p),k=y;else if($0===void 0)break}let Q=o.slice(k,y);return Q.length&&h.push(Q),h}_readChunk(o){let p,h=0;const y=[];do{const Q=new Zs(this.options.readChunk);p=D4.readSync(this.fd,Q,0,this.options.readChunk,this.fdPosition),h+=p,this.fdPosition=this.fdPosition+p,y.push(Q)}while(p&&this._searchInBuffer(y[y.length-1],this.options.newLineCharacter)===-1);let k=Zs.concat(y);return p<this.options.readChunk&&(this.eofReached=!0,k=k.slice(0,h)),h&&(this.linesCache=this._extractLines(k),o&&(this.linesCache[0]=Zs.concat([o,this.linesCache[0]]))),h}next(){if(!this.fd)return!1;let o,p=!1;return this.eofReached&&this.linesCache.length===0?p:(this.linesCache.length||(o=this._readChunk()),this.linesCache.length&&(p=this.linesCache.shift(),p[p.length-1]!==this.newLineCharacter&&(o=this._readChunk(p),o&&(p=this.linesCache.shift()))),this.eofReached&&this.linesCache.length===0&&this.close(),p&&p[p.length-1]===this.newLineCharacter&&(p=p.slice(0,p.length-1)),p)}};class QF extends Error{}class Ww extends Error{}class K2 extends Error{}class Sn extends Error{}var M4={ConfigError:QF,DebugError:Ww,UndefinedParserError:K2,ArgExpansionBailout:Sn},B6=function(o,p){return(B6=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(h,y){h.__proto__=y}||function(h,y){for(var k in y)y.hasOwnProperty(k)&&(h[k]=y[k])})(o,p)};/*! *****************************************************************************\n  Copyright (c) Microsoft Corporation.\n\n  Permission to use, copy, modify, and/or distribute this software for any\n  purpose with or without fee is hereby granted.\n\n  THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n  REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n  AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n  INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\n  LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\n  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n  PERFORMANCE OF THIS SOFTWARE.\n  ***************************************************************************** */var x6=function(){return(x6=Object.assign||function(o){for(var p,h=1,y=arguments.length;h<y;h++)for(var k in p=arguments[h])Object.prototype.hasOwnProperty.call(p,k)&&(o[k]=p[k]);return o}).apply(this,arguments)};function vf(o){var p=typeof Symbol==\"function\"&&Symbol.iterator,h=p&&o[p],y=0;if(h)return h.call(o);if(o&&typeof o.length==\"number\")return{next:function(){return o&&y>=o.length&&(o=void 0),{value:o&&o[y++],done:!o}}};throw new TypeError(p?\"Object is not iterable.\":\"Symbol.iterator is not defined.\")}function Eu(o,p){var h=typeof Symbol==\"function\"&&o[Symbol.iterator];if(!h)return o;var y,k,Q=h.call(o),$0=[];try{for(;(p===void 0||p-- >0)&&!(y=Q.next()).done;)$0.push(y.value)}catch(j0){k={error:j0}}finally{try{y&&!y.done&&(h=Q.return)&&h.call(Q)}finally{if(k)throw k.error}}return $0}function jh(o){return this instanceof jh?(this.v=o,this):new jh(o)}var Cb=Object.freeze({__proto__:null,__extends:function(o,p){function h(){this.constructor=o}B6(o,p),o.prototype=p===null?Object.create(p):(h.prototype=p.prototype,new h)},get __assign(){return x6},__rest:function(o,p){var h={};for(var y in o)Object.prototype.hasOwnProperty.call(o,y)&&p.indexOf(y)<0&&(h[y]=o[y]);if(o!=null&&typeof Object.getOwnPropertySymbols==\"function\"){var k=0;for(y=Object.getOwnPropertySymbols(o);k<y.length;k++)p.indexOf(y[k])<0&&Object.prototype.propertyIsEnumerable.call(o,y[k])&&(h[y[k]]=o[y[k]])}return h},__decorate:function(o,p,h,y){var k,Q=arguments.length,$0=Q<3?p:y===null?y=Object.getOwnPropertyDescriptor(p,h):y;if(typeof Reflect==\"object\"&&typeof Reflect.decorate==\"function\")$0=Reflect.decorate(o,p,h,y);else for(var j0=o.length-1;j0>=0;j0--)(k=o[j0])&&($0=(Q<3?k($0):Q>3?k(p,h,$0):k(p,h))||$0);return Q>3&&$0&&Object.defineProperty(p,h,$0),$0},__param:function(o,p){return function(h,y){p(h,y,o)}},__metadata:function(o,p){if(typeof Reflect==\"object\"&&typeof Reflect.metadata==\"function\")return Reflect.metadata(o,p)},__awaiter:function(o,p,h,y){return new(h||(h=Promise))(function(k,Q){function $0(g1){try{Z0(y.next(g1))}catch(z1){Q(z1)}}function j0(g1){try{Z0(y.throw(g1))}catch(z1){Q(z1)}}function Z0(g1){var z1;g1.done?k(g1.value):(z1=g1.value,z1 instanceof h?z1:new h(function(X1){X1(z1)})).then($0,j0)}Z0((y=y.apply(o,p||[])).next())})},__generator:function(o,p){var h,y,k,Q,$0={label:0,sent:function(){if(1&k[0])throw k[1];return k[1]},trys:[],ops:[]};return Q={next:j0(0),throw:j0(1),return:j0(2)},typeof Symbol==\"function\"&&(Q[Symbol.iterator]=function(){return this}),Q;function j0(Z0){return function(g1){return function(z1){if(h)throw new TypeError(\"Generator is already executing.\");for(;$0;)try{if(h=1,y&&(k=2&z1[0]?y.return:z1[0]?y.throw||((k=y.return)&&k.call(y),0):y.next)&&!(k=k.call(y,z1[1])).done)return k;switch(y=0,k&&(z1=[2&z1[0],k.value]),z1[0]){case 0:case 1:k=z1;break;case 4:return $0.label++,{value:z1[1],done:!1};case 5:$0.label++,y=z1[1],z1=[0];continue;case 7:z1=$0.ops.pop(),$0.trys.pop();continue;default:if(k=$0.trys,!((k=k.length>0&&k[k.length-1])||z1[0]!==6&&z1[0]!==2)){$0=0;continue}if(z1[0]===3&&(!k||z1[1]>k[0]&&z1[1]<k[3])){$0.label=z1[1];break}if(z1[0]===6&&$0.label<k[1]){$0.label=k[1],k=z1;break}if(k&&$0.label<k[2]){$0.label=k[2],$0.ops.push(z1);break}k[2]&&$0.ops.pop(),$0.trys.pop();continue}z1=p.call(o,$0)}catch(X1){z1=[6,X1],y=0}finally{h=k=0}if(5&z1[0])throw z1[1];return{value:z1[0]?z1[1]:void 0,done:!0}}([Z0,g1])}}},__createBinding:function(o,p,h,y){y===void 0&&(y=h),o[y]=p[h]},__exportStar:function(o,p){for(var h in o)h===\"default\"||p.hasOwnProperty(h)||(p[h]=o[h])},__values:vf,__read:Eu,__spread:function(){for(var o=[],p=0;p<arguments.length;p++)o=o.concat(Eu(arguments[p]));return o},__spreadArrays:function(){for(var o=0,p=0,h=arguments.length;p<h;p++)o+=arguments[p].length;var y=Array(o),k=0;for(p=0;p<h;p++)for(var Q=arguments[p],$0=0,j0=Q.length;$0<j0;$0++,k++)y[k]=Q[$0];return y},__await:jh,__asyncGenerator:function(o,p,h){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var y,k=h.apply(o,p||[]),Q=[];return y={},$0(\"next\"),$0(\"throw\"),$0(\"return\"),y[Symbol.asyncIterator]=function(){return this},y;function $0(X1){k[X1]&&(y[X1]=function(se){return new Promise(function(be,Je){Q.push([X1,se,be,Je])>1||j0(X1,se)})})}function j0(X1,se){try{(be=k[X1](se)).value instanceof jh?Promise.resolve(be.value.v).then(Z0,g1):z1(Q[0][2],be)}catch(Je){z1(Q[0][3],Je)}var be}function Z0(X1){j0(\"next\",X1)}function g1(X1){j0(\"throw\",X1)}function z1(X1,se){X1(se),Q.shift(),Q.length&&j0(Q[0][0],Q[0][1])}},__asyncDelegator:function(o){var p,h;return p={},y(\"next\"),y(\"throw\",function(k){throw k}),y(\"return\"),p[Symbol.iterator]=function(){return this},p;function y(k,Q){p[k]=o[k]?function($0){return(h=!h)?{value:jh(o[k]($0)),done:k===\"return\"}:Q?Q($0):$0}:Q}},__asyncValues:function(o){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var p,h=o[Symbol.asyncIterator];return h?h.call(o):(o=vf(o),p={},y(\"next\"),y(\"throw\"),y(\"return\"),p[Symbol.asyncIterator]=function(){return this},p);function y(k){p[k]=o[k]&&function(Q){return new Promise(function($0,j0){(function(Z0,g1,z1,X1){Promise.resolve(X1).then(function(se){Z0({value:se,done:z1})},g1)})($0,j0,(Q=o[k](Q)).done,Q.value)})}}},__makeTemplateObject:function(o,p){return Object.defineProperty?Object.defineProperty(o,\"raw\",{value:p}):o.raw=p,o},__importStar:function(o){if(o&&o.__esModule)return o;var p={};if(o!=null)for(var h in o)Object.hasOwnProperty.call(o,h)&&(p[h]=o[h]);return p.default=o,p},__importDefault:function(o){return o&&o.__esModule?o:{default:o}},__classPrivateFieldGet:function(o,p){if(!p.has(o))throw new TypeError(\"attempted to get private field on non-instance\");return p.get(o)},__classPrivateFieldSet:function(o,p,h){if(!p.has(o))throw new TypeError(\"attempted to set private field on non-instance\");return p.set(o,h),h}}),px=s0(function(o,p){Object.defineProperty(p,\"__esModule\",{value:!0}),p.apiDescriptor={key:h=>/^[$_a-zA-Z][$_a-zA-Z0-9]*$/.test(h)?h:JSON.stringify(h),value(h){if(h===null||typeof h!=\"object\")return JSON.stringify(h);if(Array.isArray(h))return`[${h.map(k=>p.apiDescriptor.value(k)).join(\", \")}]`;const y=Object.keys(h);return y.length===0?\"{}\":`{ ${y.map(k=>`${p.apiDescriptor.key(k)}: ${p.apiDescriptor.value(h[k])}`).join(\", \")} }`},pair:({key:h,value:y})=>p.apiDescriptor.value({[h]:y})}}),Tf=s0(function(o,p){Object.defineProperty(p,\"__esModule\",{value:!0}),Cb.__exportStar(px,p)}),e6=/[|\\\\{}()[\\]^$+*?.]/g,z2=function(o){if(typeof o!=\"string\")throw new TypeError(\"Expected a string\");return o.replace(e6,\"\\\\$&\")},ty={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],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],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],rebeccapurple:[102,51,153],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]},yS=s0(function(o){var p={};for(var h in ty)ty.hasOwnProperty(h)&&(p[ty[h]]=h);var y=o.exports={rgb:{channels:3,labels:\"rgb\"},hsl:{channels:3,labels:\"hsl\"},hsv:{channels:3,labels:\"hsv\"},hwb:{channels:3,labels:\"hwb\"},cmyk:{channels:4,labels:\"cmyk\"},xyz:{channels:3,labels:\"xyz\"},lab:{channels:3,labels:\"lab\"},lch:{channels:3,labels:\"lch\"},hex:{channels:1,labels:[\"hex\"]},keyword:{channels:1,labels:[\"keyword\"]},ansi16:{channels:1,labels:[\"ansi16\"]},ansi256:{channels:1,labels:[\"ansi256\"]},hcg:{channels:3,labels:[\"h\",\"c\",\"g\"]},apple:{channels:3,labels:[\"r16\",\"g16\",\"b16\"]},gray:{channels:1,labels:[\"gray\"]}};for(var k in y)if(y.hasOwnProperty(k)){if(!(\"channels\"in y[k]))throw new Error(\"missing channels property: \"+k);if(!(\"labels\"in y[k]))throw new Error(\"missing channel labels property: \"+k);if(y[k].labels.length!==y[k].channels)throw new Error(\"channel and label counts mismatch: \"+k);var Q=y[k].channels,$0=y[k].labels;delete y[k].channels,delete y[k].labels,Object.defineProperty(y[k],\"channels\",{value:Q}),Object.defineProperty(y[k],\"labels\",{value:$0})}y.rgb.hsl=function(j0){var Z0,g1,z1=j0[0]/255,X1=j0[1]/255,se=j0[2]/255,be=Math.min(z1,X1,se),Je=Math.max(z1,X1,se),ft=Je-be;return Je===be?Z0=0:z1===Je?Z0=(X1-se)/ft:X1===Je?Z0=2+(se-z1)/ft:se===Je&&(Z0=4+(z1-X1)/ft),(Z0=Math.min(60*Z0,360))<0&&(Z0+=360),g1=(be+Je)/2,[Z0,100*(Je===be?0:g1<=.5?ft/(Je+be):ft/(2-Je-be)),100*g1]},y.rgb.hsv=function(j0){var Z0,g1,z1,X1,se,be=j0[0]/255,Je=j0[1]/255,ft=j0[2]/255,Xr=Math.max(be,Je,ft),on=Xr-Math.min(be,Je,ft),Wr=function(Zi){return(Xr-Zi)/6/on+.5};return on===0?X1=se=0:(se=on/Xr,Z0=Wr(be),g1=Wr(Je),z1=Wr(ft),be===Xr?X1=z1-g1:Je===Xr?X1=1/3+Z0-z1:ft===Xr&&(X1=2/3+g1-Z0),X1<0?X1+=1:X1>1&&(X1-=1)),[360*X1,100*se,100*Xr]},y.rgb.hwb=function(j0){var Z0=j0[0],g1=j0[1],z1=j0[2];return[y.rgb.hsl(j0)[0],100*(1/255*Math.min(Z0,Math.min(g1,z1))),100*(z1=1-1/255*Math.max(Z0,Math.max(g1,z1)))]},y.rgb.cmyk=function(j0){var Z0,g1=j0[0]/255,z1=j0[1]/255,X1=j0[2]/255;return[100*((1-g1-(Z0=Math.min(1-g1,1-z1,1-X1)))/(1-Z0)||0),100*((1-z1-Z0)/(1-Z0)||0),100*((1-X1-Z0)/(1-Z0)||0),100*Z0]},y.rgb.keyword=function(j0){var Z0=p[j0];if(Z0)return Z0;var g1,z1,X1,se=1/0;for(var be in ty)if(ty.hasOwnProperty(be)){var Je=ty[be],ft=(z1=j0,X1=Je,Math.pow(z1[0]-X1[0],2)+Math.pow(z1[1]-X1[1],2)+Math.pow(z1[2]-X1[2],2));ft<se&&(se=ft,g1=be)}return g1},y.keyword.rgb=function(j0){return ty[j0]},y.rgb.xyz=function(j0){var Z0=j0[0]/255,g1=j0[1]/255,z1=j0[2]/255;return[100*(.4124*(Z0=Z0>.04045?Math.pow((Z0+.055)/1.055,2.4):Z0/12.92)+.3576*(g1=g1>.04045?Math.pow((g1+.055)/1.055,2.4):g1/12.92)+.1805*(z1=z1>.04045?Math.pow((z1+.055)/1.055,2.4):z1/12.92)),100*(.2126*Z0+.7152*g1+.0722*z1),100*(.0193*Z0+.1192*g1+.9505*z1)]},y.rgb.lab=function(j0){var Z0=y.rgb.xyz(j0),g1=Z0[0],z1=Z0[1],X1=Z0[2];return z1/=100,X1/=108.883,g1=(g1/=95.047)>.008856?Math.pow(g1,1/3):7.787*g1+16/116,[116*(z1=z1>.008856?Math.pow(z1,1/3):7.787*z1+16/116)-16,500*(g1-z1),200*(z1-(X1=X1>.008856?Math.pow(X1,1/3):7.787*X1+16/116))]},y.hsl.rgb=function(j0){var Z0,g1,z1,X1,se,be=j0[0]/360,Je=j0[1]/100,ft=j0[2]/100;if(Je===0)return[se=255*ft,se,se];Z0=2*ft-(g1=ft<.5?ft*(1+Je):ft+Je-ft*Je),X1=[0,0,0];for(var Xr=0;Xr<3;Xr++)(z1=be+1/3*-(Xr-1))<0&&z1++,z1>1&&z1--,se=6*z1<1?Z0+6*(g1-Z0)*z1:2*z1<1?g1:3*z1<2?Z0+(g1-Z0)*(2/3-z1)*6:Z0,X1[Xr]=255*se;return X1},y.hsl.hsv=function(j0){var Z0=j0[0],g1=j0[1]/100,z1=j0[2]/100,X1=g1,se=Math.max(z1,.01);return g1*=(z1*=2)<=1?z1:2-z1,X1*=se<=1?se:2-se,[Z0,100*(z1===0?2*X1/(se+X1):2*g1/(z1+g1)),100*((z1+g1)/2)]},y.hsv.rgb=function(j0){var Z0=j0[0]/60,g1=j0[1]/100,z1=j0[2]/100,X1=Math.floor(Z0)%6,se=Z0-Math.floor(Z0),be=255*z1*(1-g1),Je=255*z1*(1-g1*se),ft=255*z1*(1-g1*(1-se));switch(z1*=255,X1){case 0:return[z1,ft,be];case 1:return[Je,z1,be];case 2:return[be,z1,ft];case 3:return[be,Je,z1];case 4:return[ft,be,z1];case 5:return[z1,be,Je]}},y.hsv.hsl=function(j0){var Z0,g1,z1,X1=j0[0],se=j0[1]/100,be=j0[2]/100,Je=Math.max(be,.01);return z1=(2-se)*be,g1=se*Je,[X1,100*(g1=(g1/=(Z0=(2-se)*Je)<=1?Z0:2-Z0)||0),100*(z1/=2)]},y.hwb.rgb=function(j0){var Z0,g1,z1,X1,se,be,Je,ft=j0[0]/360,Xr=j0[1]/100,on=j0[2]/100,Wr=Xr+on;switch(Wr>1&&(Xr/=Wr,on/=Wr),z1=6*ft-(Z0=Math.floor(6*ft)),(1&Z0)!=0&&(z1=1-z1),X1=Xr+z1*((g1=1-on)-Xr),Z0){default:case 6:case 0:se=g1,be=X1,Je=Xr;break;case 1:se=X1,be=g1,Je=Xr;break;case 2:se=Xr,be=g1,Je=X1;break;case 3:se=Xr,be=X1,Je=g1;break;case 4:se=X1,be=Xr,Je=g1;break;case 5:se=g1,be=Xr,Je=X1}return[255*se,255*be,255*Je]},y.cmyk.rgb=function(j0){var Z0=j0[0]/100,g1=j0[1]/100,z1=j0[2]/100,X1=j0[3]/100;return[255*(1-Math.min(1,Z0*(1-X1)+X1)),255*(1-Math.min(1,g1*(1-X1)+X1)),255*(1-Math.min(1,z1*(1-X1)+X1))]},y.xyz.rgb=function(j0){var Z0,g1,z1,X1=j0[0]/100,se=j0[1]/100,be=j0[2]/100;return g1=-.9689*X1+1.8758*se+.0415*be,z1=.0557*X1+-.204*se+1.057*be,Z0=(Z0=3.2406*X1+-1.5372*se+-.4986*be)>.0031308?1.055*Math.pow(Z0,1/2.4)-.055:12.92*Z0,g1=g1>.0031308?1.055*Math.pow(g1,1/2.4)-.055:12.92*g1,z1=z1>.0031308?1.055*Math.pow(z1,1/2.4)-.055:12.92*z1,[255*(Z0=Math.min(Math.max(0,Z0),1)),255*(g1=Math.min(Math.max(0,g1),1)),255*(z1=Math.min(Math.max(0,z1),1))]},y.xyz.lab=function(j0){var Z0=j0[0],g1=j0[1],z1=j0[2];return g1/=100,z1/=108.883,Z0=(Z0/=95.047)>.008856?Math.pow(Z0,1/3):7.787*Z0+16/116,[116*(g1=g1>.008856?Math.pow(g1,1/3):7.787*g1+16/116)-16,500*(Z0-g1),200*(g1-(z1=z1>.008856?Math.pow(z1,1/3):7.787*z1+16/116))]},y.lab.xyz=function(j0){var Z0,g1,z1,X1=j0[0];Z0=j0[1]/500+(g1=(X1+16)/116),z1=g1-j0[2]/200;var se=Math.pow(g1,3),be=Math.pow(Z0,3),Je=Math.pow(z1,3);return g1=se>.008856?se:(g1-16/116)/7.787,Z0=be>.008856?be:(Z0-16/116)/7.787,z1=Je>.008856?Je:(z1-16/116)/7.787,[Z0*=95.047,g1*=100,z1*=108.883]},y.lab.lch=function(j0){var Z0,g1=j0[0],z1=j0[1],X1=j0[2];return(Z0=360*Math.atan2(X1,z1)/2/Math.PI)<0&&(Z0+=360),[g1,Math.sqrt(z1*z1+X1*X1),Z0]},y.lch.lab=function(j0){var Z0,g1=j0[0],z1=j0[1];return Z0=j0[2]/360*2*Math.PI,[g1,z1*Math.cos(Z0),z1*Math.sin(Z0)]},y.rgb.ansi16=function(j0){var Z0=j0[0],g1=j0[1],z1=j0[2],X1=1 in arguments?arguments[1]:y.rgb.hsv(j0)[2];if((X1=Math.round(X1/50))===0)return 30;var se=30+(Math.round(z1/255)<<2|Math.round(g1/255)<<1|Math.round(Z0/255));return X1===2&&(se+=60),se},y.hsv.ansi16=function(j0){return y.rgb.ansi16(y.hsv.rgb(j0),j0[2])},y.rgb.ansi256=function(j0){var Z0=j0[0],g1=j0[1],z1=j0[2];return Z0===g1&&g1===z1?Z0<8?16:Z0>248?231:Math.round((Z0-8)/247*24)+232:16+36*Math.round(Z0/255*5)+6*Math.round(g1/255*5)+Math.round(z1/255*5)},y.ansi16.rgb=function(j0){var Z0=j0%10;if(Z0===0||Z0===7)return j0>50&&(Z0+=3.5),[Z0=Z0/10.5*255,Z0,Z0];var g1=.5*(1+~~(j0>50));return[(1&Z0)*g1*255,(Z0>>1&1)*g1*255,(Z0>>2&1)*g1*255]},y.ansi256.rgb=function(j0){if(j0>=232){var Z0=10*(j0-232)+8;return[Z0,Z0,Z0]}var g1;return j0-=16,[Math.floor(j0/36)/5*255,Math.floor((g1=j0%36)/6)/5*255,g1%6/5*255]},y.rgb.hex=function(j0){var Z0=(((255&Math.round(j0[0]))<<16)+((255&Math.round(j0[1]))<<8)+(255&Math.round(j0[2]))).toString(16).toUpperCase();return\"000000\".substring(Z0.length)+Z0},y.hex.rgb=function(j0){var Z0=j0.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!Z0)return[0,0,0];var g1=Z0[0];Z0[0].length===3&&(g1=g1.split(\"\").map(function(X1){return X1+X1}).join(\"\"));var z1=parseInt(g1,16);return[z1>>16&255,z1>>8&255,255&z1]},y.rgb.hcg=function(j0){var Z0,g1=j0[0]/255,z1=j0[1]/255,X1=j0[2]/255,se=Math.max(Math.max(g1,z1),X1),be=Math.min(Math.min(g1,z1),X1),Je=se-be;return Z0=Je<=0?0:se===g1?(z1-X1)/Je%6:se===z1?2+(X1-g1)/Je:4+(g1-z1)/Je+4,Z0/=6,[360*(Z0%=1),100*Je,100*(Je<1?be/(1-Je):0)]},y.hsl.hcg=function(j0){var Z0=j0[1]/100,g1=j0[2]/100,z1=1,X1=0;return(z1=g1<.5?2*Z0*g1:2*Z0*(1-g1))<1&&(X1=(g1-.5*z1)/(1-z1)),[j0[0],100*z1,100*X1]},y.hsv.hcg=function(j0){var Z0=j0[1]/100,g1=j0[2]/100,z1=Z0*g1,X1=0;return z1<1&&(X1=(g1-z1)/(1-z1)),[j0[0],100*z1,100*X1]},y.hcg.rgb=function(j0){var Z0=j0[0]/360,g1=j0[1]/100,z1=j0[2]/100;if(g1===0)return[255*z1,255*z1,255*z1];var X1,se=[0,0,0],be=Z0%1*6,Je=be%1,ft=1-Je;switch(Math.floor(be)){case 0:se[0]=1,se[1]=Je,se[2]=0;break;case 1:se[0]=ft,se[1]=1,se[2]=0;break;case 2:se[0]=0,se[1]=1,se[2]=Je;break;case 3:se[0]=0,se[1]=ft,se[2]=1;break;case 4:se[0]=Je,se[1]=0,se[2]=1;break;default:se[0]=1,se[1]=0,se[2]=ft}return X1=(1-g1)*z1,[255*(g1*se[0]+X1),255*(g1*se[1]+X1),255*(g1*se[2]+X1)]},y.hcg.hsv=function(j0){var Z0=j0[1]/100,g1=Z0+j0[2]/100*(1-Z0),z1=0;return g1>0&&(z1=Z0/g1),[j0[0],100*z1,100*g1]},y.hcg.hsl=function(j0){var Z0=j0[1]/100,g1=j0[2]/100*(1-Z0)+.5*Z0,z1=0;return g1>0&&g1<.5?z1=Z0/(2*g1):g1>=.5&&g1<1&&(z1=Z0/(2*(1-g1))),[j0[0],100*z1,100*g1]},y.hcg.hwb=function(j0){var Z0=j0[1]/100,g1=Z0+j0[2]/100*(1-Z0);return[j0[0],100*(g1-Z0),100*(1-g1)]},y.hwb.hcg=function(j0){var Z0=j0[1]/100,g1=1-j0[2]/100,z1=g1-Z0,X1=0;return z1<1&&(X1=(g1-z1)/(1-z1)),[j0[0],100*z1,100*X1]},y.apple.rgb=function(j0){return[j0[0]/65535*255,j0[1]/65535*255,j0[2]/65535*255]},y.rgb.apple=function(j0){return[j0[0]/255*65535,j0[1]/255*65535,j0[2]/255*65535]},y.gray.rgb=function(j0){return[j0[0]/100*255,j0[0]/100*255,j0[0]/100*255]},y.gray.hsl=y.gray.hsv=function(j0){return[0,0,j0[0]]},y.gray.hwb=function(j0){return[0,100,j0[0]]},y.gray.cmyk=function(j0){return[0,0,0,j0[0]]},y.gray.lab=function(j0){return[j0[0],0,0]},y.gray.hex=function(j0){var Z0=255&Math.round(j0[0]/100*255),g1=((Z0<<16)+(Z0<<8)+Z0).toString(16).toUpperCase();return\"000000\".substring(g1.length)+g1},y.rgb.gray=function(j0){return[(j0[0]+j0[1]+j0[2])/3/255*100]}});function TS(o){var p=function(){for(var g1={},z1=Object.keys(yS),X1=z1.length,se=0;se<X1;se++)g1[z1[se]]={distance:-1,parent:null};return g1}(),h=[o];for(p[o].distance=0;h.length;)for(var y=h.pop(),k=Object.keys(yS[y]),Q=k.length,$0=0;$0<Q;$0++){var j0=k[$0],Z0=p[j0];Z0.distance===-1&&(Z0.distance=p[y].distance+1,Z0.parent=y,h.unshift(j0))}return p}function L6(o,p){return function(h){return p(o(h))}}function v4(o,p){for(var h=[p[o].parent,o],y=yS[p[o].parent][o],k=p[o].parent;p[k].parent;)h.unshift(p[k].parent),y=L6(yS[p[k].parent][k],y),k=p[k].parent;return y.conversion=h,y}var W2={};Object.keys(yS).forEach(function(o){W2[o]={},Object.defineProperty(W2[o],\"channels\",{value:yS[o].channels}),Object.defineProperty(W2[o],\"labels\",{value:yS[o].labels});var p=function(h){for(var y=TS(h),k={},Q=Object.keys(y),$0=Q.length,j0=0;j0<$0;j0++){var Z0=Q[j0];y[Z0].parent!==null&&(k[Z0]=v4(Z0,y))}return k}(o);Object.keys(p).forEach(function(h){var y=p[h];W2[o][h]=function(k){var Q=function($0){if($0==null)return $0;arguments.length>1&&($0=Array.prototype.slice.call(arguments));var j0=k($0);if(typeof j0==\"object\")for(var Z0=j0.length,g1=0;g1<Z0;g1++)j0[g1]=Math.round(j0[g1]);return j0};return\"conversion\"in k&&(Q.conversion=k.conversion),Q}(y),W2[o][h].raw=function(k){var Q=function($0){return $0==null?$0:(arguments.length>1&&($0=Array.prototype.slice.call(arguments)),k($0))};return\"conversion\"in k&&(Q.conversion=k.conversion),Q}(y)})});var pt,b4=W2,M6=s0(function(o){const p=(k,Q)=>function(){return`\u001b[${k.apply(b4,arguments)+Q}m`},h=(k,Q)=>function(){const $0=k.apply(b4,arguments);return`\u001b[${38+Q};5;${$0}m`},y=(k,Q)=>function(){const $0=k.apply(b4,arguments);return`\u001b[${38+Q};2;${$0[0]};${$0[1]};${$0[2]}m`};Object.defineProperty(o,\"exports\",{enumerable:!0,get:function(){const k=new Map,Q={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Q.color.grey=Q.color.gray;for(const Z0 of Object.keys(Q)){const g1=Q[Z0];for(const z1 of Object.keys(g1)){const X1=g1[z1];Q[z1]={open:`\u001b[${X1[0]}m`,close:`\u001b[${X1[1]}m`},g1[z1]=Q[z1],k.set(X1[0],X1[1])}Object.defineProperty(Q,Z0,{value:g1,enumerable:!1}),Object.defineProperty(Q,\"codes\",{value:k,enumerable:!1})}const $0=Z0=>Z0,j0=(Z0,g1,z1)=>[Z0,g1,z1];Q.color.close=\"\u001b[39m\",Q.bgColor.close=\"\u001b[49m\",Q.color.ansi={ansi:p($0,0)},Q.color.ansi256={ansi256:h($0,0)},Q.color.ansi16m={rgb:y(j0,0)},Q.bgColor.ansi={ansi:p($0,10)},Q.bgColor.ansi256={ansi256:h($0,10)},Q.bgColor.ansi16m={rgb:y(j0,10)};for(let Z0 of Object.keys(b4)){if(typeof b4[Z0]!=\"object\")continue;const g1=b4[Z0];Z0===\"ansi16\"&&(Z0=\"ansi\"),\"ansi16\"in g1&&(Q.color.ansi[Z0]=p(g1.ansi16,0),Q.bgColor.ansi[Z0]=p(g1.ansi16,10)),\"ansi256\"in g1&&(Q.color.ansi256[Z0]=h(g1.ansi256,0),Q.bgColor.ansi256[Z0]=h(g1.ansi256,10)),\"rgb\"in g1&&(Q.color.ansi16m[Z0]=y(g1.rgb,0),Q.bgColor.ansi16m[Z0]=y(g1.rgb,10))}return Q}})});function B1(){if(pt===void 0){var o=new ArrayBuffer(2),p=new Uint8Array(o),h=new Uint16Array(o);if(p[0]=1,p[1]=2,h[0]===258)pt=\"BE\";else{if(h[0]!==513)throw new Error(\"unable to figure out endianess\");pt=\"LE\"}}return pt}function Yx(){return YS.location!==void 0?YS.location.hostname:\"\"}function Oe(){return[]}function zt(){return 0}function an(){return Number.MAX_VALUE}function xi(){return Number.MAX_VALUE}function xs(){return[]}function bi(){return\"Browser\"}function ya(){return YS.navigator!==void 0?YS.navigator.appVersion:\"\"}function ul(){}function mu(){}function Ds(){return\"javascript\"}function a6(){return\"browser\"}function Mc(){return\"/tmp\"}var bf=Mc,Rc={EOL:`\n`,arch:Ds,platform:a6,tmpdir:bf,tmpDir:Mc,networkInterfaces:ul,getNetworkInterfaces:mu,release:ya,type:bi,cpus:xs,totalmem:xi,freemem:an,uptime:zt,loadavg:Oe,hostname:Yx,endianness:B1},Pa=(o,p)=>{p=p||Qc.argv;const h=o.startsWith(\"-\")?\"\":o.length===1?\"-\":\"--\",y=p.indexOf(h+o),k=p.indexOf(\"--\");return y!==-1&&(k===-1||y<k)},Uu=K(Object.freeze({__proto__:null,endianness:B1,hostname:Yx,loadavg:Oe,uptime:zt,freemem:an,totalmem:xi,cpus:xs,type:bi,release:ya,networkInterfaces:ul,getNetworkInterfaces:mu,arch:Ds,platform:a6,tmpDir:Mc,tmpdir:bf,EOL:`\n`,default:Rc}));const q2=Qc.env;let Kl;function Bs(o){return function(p){return p!==0&&{level:p,hasBasic:!0,has256:p>=2,has16m:p>=3}}(function(p){if(Kl===!1)return 0;if(Pa(\"color=16m\")||Pa(\"color=full\")||Pa(\"color=truecolor\"))return 3;if(Pa(\"color=256\"))return 2;if(p&&!p.isTTY&&Kl!==!0)return 0;const h=Kl?1:0;if(\"CI\"in q2)return[\"TRAVIS\",\"CIRCLECI\",\"APPVEYOR\",\"GITLAB_CI\"].some(y=>y in q2)||q2.CI_NAME===\"codeship\"?1:h;if(\"TEAMCITY_VERSION\"in q2)return/^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(q2.TEAMCITY_VERSION)?1:0;if(q2.COLORTERM===\"truecolor\")return 3;if(\"TERM_PROGRAM\"in q2){const y=parseInt((q2.TERM_PROGRAM_VERSION||\"\").split(\".\")[0],10);switch(q2.TERM_PROGRAM){case\"iTerm.app\":return y>=3?3:2;case\"Apple_Terminal\":return 2}}return/-256(color)?$/i.test(q2.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(q2.TERM)||\"COLORTERM\"in q2?1:(q2.TERM,h)}(o))}Pa(\"no-color\")||Pa(\"no-colors\")||Pa(\"color=false\")?Kl=!1:(Pa(\"color\")||Pa(\"colors\")||Pa(\"color=true\")||Pa(\"color=always\"))&&(Kl=!0),\"FORCE_COLOR\"in q2&&(Kl=q2.FORCE_COLOR.length===0||parseInt(q2.FORCE_COLOR,10)!==0);var qf={supportsColor:Bs,stdout:Bs(Qc.stdout),stderr:Bs(Qc.stderr)};const Zl=/(?:\\\\(u[a-f\\d]{4}|x[a-f\\d]{2}|.))|(?:\\{(~)?(\\w+(?:\\([^)]*\\))?(?:\\.\\w+(?:\\([^)]*\\))?)*)(?:[ \\t]|(?=\\r?\\n)))|(\\})|((?:.|[\\r\\n\\f])+?)/gi,ZF=/(?:^|\\.)(\\w+)(?:\\(([^)]*)\\))?/g,Sl=/^(['\"])((?:\\\\.|(?!\\1)[^\\\\])*)\\1$/,$8=/\\\\(u[a-f\\d]{4}|x[a-f\\d]{2}|.)|([^\\\\])/gi,wl=new Map([[\"n\",`\n`],[\"r\",\"\\r\"],[\"t\",\"\t\"],[\"b\",\"\\b\"],[\"f\",\"\\f\"],[\"v\",\"\\v\"],[\"0\",\"\\0\"],[\"\\\\\",\"\\\\\"],[\"e\",\"\u001b\"],[\"a\",\"\\x07\"]]);function Ko(o){return o[0]===\"u\"&&o.length===5||o[0]===\"x\"&&o.length===3?String.fromCharCode(parseInt(o.slice(1),16)):wl.get(o)||o}function $u(o,p){const h=[],y=p.trim().split(/\\s*,\\s*/g);let k;for(const Q of y)if(isNaN(Q)){if(!(k=Q.match(Sl)))throw new Error(`Invalid Chalk template style argument: ${Q} (in style '${o}')`);h.push(k[2].replace($8,($0,j0,Z0)=>j0?Ko(j0):Z0))}else h.push(Number(Q));return h}function dF(o){ZF.lastIndex=0;const p=[];let h;for(;(h=ZF.exec(o))!==null;){const y=h[1];if(h[2]){const k=$u(y,h[2]);p.push([y].concat(k))}else p.push([y])}return p}function nE(o,p){const h={};for(const k of p)for(const Q of k.styles)h[Q[0]]=k.inverse?null:Q.slice(1);let y=o;for(const k of Object.keys(h))if(Array.isArray(h[k])){if(!(k in y))throw new Error(`Unknown Chalk style: ${k}`);y=h[k].length>0?y[k].apply(y,h[k]):y[k]}return y}var pm=(o,p)=>{const h=[],y=[];let k=[];if(p.replace(Zl,(Q,$0,j0,Z0,g1,z1)=>{if($0)k.push(Ko($0));else if(Z0){const X1=k.join(\"\");k=[],y.push(h.length===0?X1:nE(o,h)(X1)),h.push({inverse:j0,styles:dF(Z0)})}else if(g1){if(h.length===0)throw new Error(\"Found extraneous } in Chalk template literal\");y.push(nE(o,h)(k.join(\"\"))),k=[],h.pop()}else k.push(z1)}),y.push(k.join(\"\")),h.length>0){const Q=`Chalk template literal is missing ${h.length} closing bracket${h.length===1?\"\":\"s\"} (\\`}\\`)`;throw new Error(Q)}return y.join(\"\")},bl=s0(function(o){const p=qf.stdout,h=[\"ansi\",\"ansi\",\"ansi256\",\"ansi16m\"],y=new Set([\"gray\"]),k=Object.create(null);function Q(X1,se){se=se||{};const be=p?p.level:0;X1.level=se.level===void 0?be:se.level,X1.enabled=\"enabled\"in se?se.enabled:X1.level>0}function $0(X1){if(!this||!(this instanceof $0)||this.template){const se={};return Q(se,X1),se.template=function(){const be=[].slice.call(arguments);return z1.apply(null,[se.template].concat(be))},Object.setPrototypeOf(se,$0.prototype),Object.setPrototypeOf(se.template,se),se.template.constructor=$0,se.template}Q(this,X1)}for(const X1 of Object.keys(M6))M6[X1].closeRe=new RegExp(z2(M6[X1].close),\"g\"),k[X1]={get(){const se=M6[X1];return Z0.call(this,this._styles?this._styles.concat(se):[se],this._empty,X1)}};k.visible={get(){return Z0.call(this,this._styles||[],!0,\"visible\")}},M6.color.closeRe=new RegExp(z2(M6.color.close),\"g\");for(const X1 of Object.keys(M6.color.ansi))y.has(X1)||(k[X1]={get(){const se=this.level;return function(){const be=M6.color[h[se]][X1].apply(null,arguments),Je={open:be,close:M6.color.close,closeRe:M6.color.closeRe};return Z0.call(this,this._styles?this._styles.concat(Je):[Je],this._empty,X1)}}});M6.bgColor.closeRe=new RegExp(z2(M6.bgColor.close),\"g\");for(const X1 of Object.keys(M6.bgColor.ansi))y.has(X1)||(k[\"bg\"+X1[0].toUpperCase()+X1.slice(1)]={get(){const se=this.level;return function(){const be=M6.bgColor[h[se]][X1].apply(null,arguments),Je={open:be,close:M6.bgColor.close,closeRe:M6.bgColor.closeRe};return Z0.call(this,this._styles?this._styles.concat(Je):[Je],this._empty,X1)}}});const j0=Object.defineProperties(()=>{},k);function Z0(X1,se,be){const Je=function(){return g1.apply(Je,arguments)};Je._styles=X1,Je._empty=se;const ft=this;return Object.defineProperty(Je,\"level\",{enumerable:!0,get:()=>ft.level,set(Xr){ft.level=Xr}}),Object.defineProperty(Je,\"enabled\",{enumerable:!0,get:()=>ft.enabled,set(Xr){ft.enabled=Xr}}),Je.hasGrey=this.hasGrey||be===\"gray\"||be===\"grey\",Je.__proto__=j0,Je}function g1(){const X1=arguments,se=X1.length;let be=String(arguments[0]);if(se===0)return\"\";if(se>1)for(let ft=1;ft<se;ft++)be+=\" \"+X1[ft];if(!this.enabled||this.level<=0||!be)return this._empty?\"\":be;const Je=M6.dim.open;for(const ft of this._styles.slice().reverse())be=ft.open+be.replace(ft.closeRe,ft.open)+ft.close,be=be.replace(/\\r?\\n/g,`${ft.close}$&${ft.open}`);return M6.dim.open=Je,be}function z1(X1,se){if(!Array.isArray(se))return[].slice.call(arguments,1).join(\" \");const be=[].slice.call(arguments,2),Je=[se.raw[0]];for(let ft=1;ft<se.length;ft++)Je.push(String(be[ft-1]).replace(/[{}\\\\]/g,\"\\\\$&\")),Je.push(String(se.raw[ft]));return pm(X1,Je.join(\"\"))}Object.defineProperties($0.prototype,k),o.exports=$0(),o.exports.supportsColor=p,o.exports.default=o.exports}),nf=Object.defineProperty({commonDeprecatedHandler:(o,p,{descriptor:h})=>{const y=[`${bl.default.yellow(typeof o==\"string\"?h.key(o):h.pair(o))} is deprecated`];return p&&y.push(`we now treat it as ${bl.default.blue(typeof p==\"string\"?h.key(p):h.pair(p))}`),y.join(\"; \")+\".\"}},\"__esModule\",{value:!0}),Ts=s0(function(o,p){Object.defineProperty(p,\"__esModule\",{value:!0}),Cb.__exportStar(nf,p)}),xf=Object.defineProperty({commonInvalidHandler:(o,p,h)=>[`Invalid ${bl.default.red(h.descriptor.key(o))} value.`,`Expected ${bl.default.blue(h.schemas[o].expected(h))},`,`but received ${bl.default.red(h.descriptor.value(p))}.`].join(\" \")},\"__esModule\",{value:!0}),w8=s0(function(o,p){Object.defineProperty(p,\"__esModule\",{value:!0}),Cb.__exportStar(xf,p)}),WT=[],al=[],Z4=Object.defineProperty({levenUnknownHandler:(o,p,{descriptor:h,logger:y,schemas:k})=>{const Q=[`Ignored unknown option ${bl.default.yellow(h.pair({key:o,value:p}))}.`],$0=Object.keys(k).sort().find(j0=>function(Z0,g1){if(Z0===g1)return 0;var z1=Z0;Z0.length>g1.length&&(Z0=g1,g1=z1);var X1=Z0.length,se=g1.length;if(X1===0)return se;if(se===0)return X1;for(;X1>0&&Z0.charCodeAt(~-X1)===g1.charCodeAt(~-se);)X1--,se--;if(X1===0)return se;for(var be,Je,ft,Xr,on=0;on<X1&&Z0.charCodeAt(on)===g1.charCodeAt(on);)on++;if(se-=on,(X1-=on)==0)return se;for(var Wr=0,Zi=0;Wr<X1;)al[on+Wr]=Z0.charCodeAt(on+Wr),WT[Wr]=++Wr;for(;Zi<se;)for(be=g1.charCodeAt(on+Zi),ft=Zi++,Je=Zi,Wr=0;Wr<X1;Wr++)Xr=be===al[on+Wr]?ft:ft+1,ft=WT[Wr],Je=WT[Wr]=ft>Je?Xr>Je?Je+1:Xr:Xr>ft?ft+1:Xr;return Je}(o,j0)<3);$0&&Q.push(`Did you mean ${bl.default.blue(h.key($0))}?`),y.warn(Q.join(\" \"))}},\"__esModule\",{value:!0}),op=s0(function(o,p){Object.defineProperty(p,\"__esModule\",{value:!0}),Cb.__exportStar(Z4,p)}),PF=s0(function(o,p){Object.defineProperty(p,\"__esModule\",{value:!0}),Cb.__exportStar(Ts,p),Cb.__exportStar(w8,p),Cb.__exportStar(op,p)});const Lf=[\"default\",\"expected\",\"validate\",\"deprecated\",\"forward\",\"redirect\",\"overlap\",\"preprocess\",\"postprocess\"];function xA(o,p){const h=new o(p),y=Object.create(h);for(const k of Lf)k in p&&(y[k]=Pu(p[k],h,Hd.prototype[k].length));return y}var nw=xA;class Hd{constructor(p){this.name=p.name}static create(p){return xA(this,p)}default(p){}expected(p){return\"nothing\"}validate(p,h){return!1}deprecated(p,h){return!1}forward(p,h){}redirect(p,h){}overlap(p,h,y){return p}preprocess(p,h){return p}postprocess(p,h){return p}}var o2=Hd;function Pu(o,p,h){return typeof o==\"function\"?(...y)=>o(...y.slice(0,h-1),p,...y.slice(h-1)):()=>o}var mF=Object.defineProperty({createSchema:nw,Schema:o2},\"__esModule\",{value:!0});class sp extends mF.Schema{constructor(p){super(p),this._sourceName=p.sourceName}expected(p){return p.schemas[this._sourceName].expected(p)}validate(p,h){return h.schemas[this._sourceName].validate(p,h)}redirect(p,h){return this._sourceName}}var wu=sp,Hp=Object.defineProperty({AliasSchema:wu},\"__esModule\",{value:!0});class ep extends mF.Schema{expected(){return\"anything\"}validate(){return!0}}var Uf=ep,ff=Object.defineProperty({AnySchema:Uf},\"__esModule\",{value:!0});class iw extends mF.Schema{constructor(p){var{valueSchema:h,name:y=h.name}=p,k=Cb.__rest(p,[\"valueSchema\",\"name\"]);super(Object.assign({},k,{name:y})),this._valueSchema=h}expected(p){return`an array of ${this._valueSchema.expected(p)}`}validate(p,h){if(!Array.isArray(p))return!1;const y=[];for(const k of p){const Q=h.normalizeValidateResult(this._valueSchema.validate(k,h),k);Q!==!0&&y.push(Q.value)}return y.length===0||{value:y}}deprecated(p,h){const y=[];for(const k of p){const Q=h.normalizeDeprecatedResult(this._valueSchema.deprecated(k,h),k);Q!==!1&&y.push(...Q.map(({value:$0})=>({value:[$0]})))}return y}forward(p,h){const y=[];for(const k of p){const Q=h.normalizeForwardResult(this._valueSchema.forward(k,h),k);y.push(...Q.map(o5))}return y}redirect(p,h){const y=[],k=[];for(const Q of p){const $0=h.normalizeRedirectResult(this._valueSchema.redirect(Q,h),Q);\"remain\"in $0&&y.push($0.remain),k.push(...$0.redirect.map(o5))}return y.length===0?{redirect:k}:{redirect:k,remain:y}}overlap(p,h){return p.concat(h)}}var R4=iw;function o5({from:o,to:p}){return{from:[o],to:p}}var Gd=Object.defineProperty({ArraySchema:R4},\"__esModule\",{value:!0});class cd extends mF.Schema{expected(){return\"true or false\"}validate(p){return typeof p==\"boolean\"}}var uT=cd,Mf=Object.defineProperty({BooleanSchema:uT},\"__esModule\",{value:!0}),Ap=function(o,p){const h=Object.create(null);for(const y of o){const k=y[p];if(h[k])throw new Error(`Duplicate ${p} ${JSON.stringify(k)}`);h[k]=y}return h},C4=function(o,p){const h=new Map;for(const y of o){const k=y[p];if(h.has(k))throw new Error(`Duplicate ${p} ${JSON.stringify(k)}`);h.set(k,y)}return h},wT=function(){const o=Object.create(null);return p=>{const h=JSON.stringify(p);return!!o[h]||(o[h]=!0,!1)}},tp=function(o,p){const h=[],y=[];for(const k of o)p(k)?h.push(k):y.push(k);return[h,y]},o6=function(o){return o===Math.floor(o)},hF=function(o,p){if(o===p)return 0;const h=typeof o,y=typeof p,k=[\"undefined\",\"object\",\"boolean\",\"number\",\"string\"];return h!==y?k.indexOf(h)-k.indexOf(y):h!==\"string\"?Number(o)-Number(p):o.localeCompare(p)},Nl=function(o){return o===void 0?{}:o},cl=function(o,p){return o===!0||(o===!1?{value:p}:o)},SA=function(o,p,h=!1){return o!==!1&&(o===!0?!!h||[{value:p}]:\"value\"in o?[o]:o.length!==0&&o)};function Vf(o,p){return typeof o==\"string\"||\"key\"in o?{from:p,to:o}:\"from\"in o?{from:o.from,to:o.to}:{from:p,to:o.to}}var hl=Vf;function Id(o,p){return o===void 0?[]:Array.isArray(o)?o.map(h=>Vf(h,p)):[Vf(o,p)]}var wf=Id,tl=function(o,p){const h=Id(typeof o==\"object\"&&\"redirect\"in o?o.redirect:o,p);return h.length===0?{remain:p,redirect:h}:typeof o==\"object\"&&\"remain\"in o?{remain:o.remain,redirect:h}:{redirect:h}},kf=Object.defineProperty({recordFromArray:Ap,mapFromArray:C4,createAutoChecklist:wT,partition:tp,isInt:o6,comparePrimitive:hF,normalizeDefaultResult:Nl,normalizeValidateResult:cl,normalizeDeprecatedResult:SA,normalizeTransferResult:hl,normalizeForwardResult:wf,normalizeRedirectResult:tl},\"__esModule\",{value:!0});class Tp extends mF.Schema{constructor(p){super(p),this._choices=kf.mapFromArray(p.choices.map(h=>h&&typeof h==\"object\"?h:{value:h}),\"value\")}expected({descriptor:p}){const h=Array.from(this._choices.keys()).map(Q=>this._choices.get(Q)).filter(Q=>!Q.deprecated).map(Q=>Q.value).sort(kf.comparePrimitive).map(p.value),y=h.slice(0,-2),k=h.slice(-2);return y.concat(k.join(\" or \")).join(\", \")}validate(p){return this._choices.has(p)}deprecated(p){const h=this._choices.get(p);return!(!h||!h.deprecated)&&{value:p}}forward(p){const h=this._choices.get(p);return h?h.forward:void 0}redirect(p){const h=this._choices.get(p);return h?h.redirect:void 0}}var Xd=Tp,M0=Object.defineProperty({ChoiceSchema:Xd},\"__esModule\",{value:!0});class e0 extends mF.Schema{expected(){return\"a number\"}validate(p,h){return typeof p==\"number\"}}var R0=e0,R1=Object.defineProperty({NumberSchema:R0},\"__esModule\",{value:!0});class H1 extends R1.NumberSchema{expected(){return\"an integer\"}validate(p,h){return h.normalizeValidateResult(super.validate(p,h),p)===!0&&kf.isInt(p)}}var Jx=H1,Se=Object.defineProperty({IntegerSchema:Jx},\"__esModule\",{value:!0});class Ye extends mF.Schema{expected(){return\"a string\"}validate(p){return typeof p==\"string\"}}var tt=Ye,Er=Object.defineProperty({StringSchema:tt},\"__esModule\",{value:!0}),Zt=s0(function(o,p){Object.defineProperty(p,\"__esModule\",{value:!0}),Cb.__exportStar(Hp,p),Cb.__exportStar(ff,p),Cb.__exportStar(Gd,p),Cb.__exportStar(Mf,p),Cb.__exportStar(M0,p),Cb.__exportStar(Se,p),Cb.__exportStar(R1,p),Cb.__exportStar(Er,p)}),hi=px.apiDescriptor,po=Z4.levenUnknownHandler,ba=w8.commonInvalidHandler,oa=nf.commonDeprecatedHandler,ho=Object.defineProperty({defaultDescriptor:hi,defaultUnknownHandler:po,defaultInvalidHandler:ba,defaultDeprecatedHandler:oa},\"__esModule\",{value:!0});class Za{constructor(p,h){const{logger:y=console,descriptor:k=ho.defaultDescriptor,unknown:Q=ho.defaultUnknownHandler,invalid:$0=ho.defaultInvalidHandler,deprecated:j0=ho.defaultDeprecatedHandler}=h||{};this._utils={descriptor:k,logger:y||{warn:()=>{}},schemas:kf.recordFromArray(p,\"name\"),normalizeDefaultResult:kf.normalizeDefaultResult,normalizeDeprecatedResult:kf.normalizeDeprecatedResult,normalizeForwardResult:kf.normalizeForwardResult,normalizeRedirectResult:kf.normalizeRedirectResult,normalizeValidateResult:kf.normalizeValidateResult},this._unknownHandler=Q,this._invalidHandler=$0,this._deprecatedHandler=j0,this.cleanHistory()}cleanHistory(){this._hasDeprecationWarned=kf.createAutoChecklist()}normalize(p){const h={},y=[p],k=()=>{for(;y.length!==0;){const Q=y.shift(),$0=this._applyNormalization(Q,h);y.push(...$0)}};k();for(const Q of Object.keys(this._utils.schemas)){const $0=this._utils.schemas[Q];if(!(Q in h)){const j0=kf.normalizeDefaultResult($0.default(this._utils));\"value\"in j0&&y.push({[Q]:j0.value})}}k();for(const Q of Object.keys(this._utils.schemas)){const $0=this._utils.schemas[Q];Q in h&&(h[Q]=$0.postprocess(h[Q],this._utils))}return h}_applyNormalization(p,h){const y=[],[k,Q]=kf.partition(Object.keys(p),$0=>$0 in this._utils.schemas);for(const $0 of k){const j0=this._utils.schemas[$0],Z0=j0.preprocess(p[$0],this._utils),g1=kf.normalizeValidateResult(j0.validate(Z0,this._utils),Z0);if(g1!==!0){const{value:be}=g1,Je=this._invalidHandler($0,be,this._utils);throw typeof Je==\"string\"?new Error(Je):Je}const z1=({from:be,to:Je})=>{y.push(typeof Je==\"string\"?{[Je]:be}:{[Je.key]:Je.value})},X1=({value:be,redirectTo:Je})=>{const ft=kf.normalizeDeprecatedResult(j0.deprecated(be,this._utils),Z0,!0);if(ft!==!1)if(ft===!0)this._hasDeprecationWarned($0)||this._utils.logger.warn(this._deprecatedHandler($0,Je,this._utils));else for(const{value:Xr}of ft){const on={key:$0,value:Xr};if(!this._hasDeprecationWarned(on)){const Wr=typeof Je==\"string\"?{key:Je,value:Xr}:Je;this._utils.logger.warn(this._deprecatedHandler(on,Wr,this._utils))}}};kf.normalizeForwardResult(j0.forward(Z0,this._utils),Z0).forEach(z1);const se=kf.normalizeRedirectResult(j0.redirect(Z0,this._utils),Z0);if(se.redirect.forEach(z1),\"remain\"in se){const be=se.remain;h[$0]=$0 in h?j0.overlap(h[$0],be,this._utils):be,X1({value:be})}for(const{from:be,to:Je}of se.redirect)X1({value:be,redirectTo:Je})}for(const $0 of Q){const j0=p[$0],Z0=this._unknownHandler($0,j0,this._utils);if(Z0)for(const g1 of Object.keys(Z0)){const z1={[g1]:Z0[g1]};g1 in this._utils.schemas?y.push(z1):Object.assign(h,z1)}}return y}}var Od=Za,Cl=Object.defineProperty({normalize:(o,p,h)=>new Za(p,h).normalize(o),Normalizer:Od},\"__esModule\",{value:!0}),S=s0(function(o,p){Object.defineProperty(p,\"__esModule\",{value:!0}),Cb.__exportStar(Tf,p),Cb.__exportStar(PF,p),Cb.__exportStar(Zt,p),Cb.__exportStar(Cl,p),Cb.__exportStar(mF,p)});const N0=[],P1=[],zx=(o,p)=>{if(o===p)return 0;const h=o;o.length>p.length&&(o=p,p=h);let y=o.length,k=p.length;for(;y>0&&o.charCodeAt(~-y)===p.charCodeAt(~-k);)y--,k--;let Q,$0,j0,Z0,g1=0;for(;g1<y&&o.charCodeAt(g1)===p.charCodeAt(g1);)g1++;if(y-=g1,k-=g1,y===0)return k;let z1=0,X1=0;for(;z1<y;)P1[z1]=o.charCodeAt(g1+z1),N0[z1]=++z1;for(;X1<k;)for(Q=p.charCodeAt(g1+X1),j0=X1++,$0=X1,z1=0;z1<y;z1++)Z0=Q===P1[z1]?j0:j0+1,j0=N0[z1],$0=N0[z1]=j0>$0?Z0>$0?$0+1:Z0:Z0>j0?j0+1:Z0;return $0};var $e=zx,bt=zx;$e.default=bt;var qr={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],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],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],rebeccapurple:[102,51,153],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]};const ji={};for(const o of Object.keys(qr))ji[qr[o]]=o;const B0={rgb:{channels:3,labels:\"rgb\"},hsl:{channels:3,labels:\"hsl\"},hsv:{channels:3,labels:\"hsv\"},hwb:{channels:3,labels:\"hwb\"},cmyk:{channels:4,labels:\"cmyk\"},xyz:{channels:3,labels:\"xyz\"},lab:{channels:3,labels:\"lab\"},lch:{channels:3,labels:\"lch\"},hex:{channels:1,labels:[\"hex\"]},keyword:{channels:1,labels:[\"keyword\"]},ansi16:{channels:1,labels:[\"ansi16\"]},ansi256:{channels:1,labels:[\"ansi256\"]},hcg:{channels:3,labels:[\"h\",\"c\",\"g\"]},apple:{channels:3,labels:[\"r16\",\"g16\",\"b16\"]},gray:{channels:1,labels:[\"gray\"]}};var d=B0;for(const o of Object.keys(B0)){if(!(\"channels\"in B0[o]))throw new Error(\"missing channels property: \"+o);if(!(\"labels\"in B0[o]))throw new Error(\"missing channel labels property: \"+o);if(B0[o].labels.length!==B0[o].channels)throw new Error(\"channel and label counts mismatch: \"+o);const{channels:p,labels:h}=B0[o];delete B0[o].channels,delete B0[o].labels,Object.defineProperty(B0[o],\"channels\",{value:p}),Object.defineProperty(B0[o],\"labels\",{value:h})}function N(o){const p=function(){const y={},k=Object.keys(d);for(let Q=k.length,$0=0;$0<Q;$0++)y[k[$0]]={distance:-1,parent:null};return y}(),h=[o];for(p[o].distance=0;h.length;){const y=h.pop(),k=Object.keys(d[y]);for(let Q=k.length,$0=0;$0<Q;$0++){const j0=k[$0],Z0=p[j0];Z0.distance===-1&&(Z0.distance=p[y].distance+1,Z0.parent=y,h.unshift(j0))}}return p}function C0(o,p){return function(h){return p(o(h))}}function _1(o,p){const h=[p[o].parent,o];let y=d[p[o].parent][o],k=p[o].parent;for(;p[k].parent;)h.unshift(p[k].parent),y=C0(d[p[k].parent][k],y),k=p[k].parent;return y.conversion=h,y}B0.rgb.hsl=function(o){const p=o[0]/255,h=o[1]/255,y=o[2]/255,k=Math.min(p,h,y),Q=Math.max(p,h,y),$0=Q-k;let j0,Z0;Q===k?j0=0:p===Q?j0=(h-y)/$0:h===Q?j0=2+(y-p)/$0:y===Q&&(j0=4+(p-h)/$0),j0=Math.min(60*j0,360),j0<0&&(j0+=360);const g1=(k+Q)/2;return Z0=Q===k?0:g1<=.5?$0/(Q+k):$0/(2-Q-k),[j0,100*Z0,100*g1]},B0.rgb.hsv=function(o){let p,h,y,k,Q;const $0=o[0]/255,j0=o[1]/255,Z0=o[2]/255,g1=Math.max($0,j0,Z0),z1=g1-Math.min($0,j0,Z0),X1=function(se){return(g1-se)/6/z1+.5};return z1===0?(k=0,Q=0):(Q=z1/g1,p=X1($0),h=X1(j0),y=X1(Z0),$0===g1?k=y-h:j0===g1?k=1/3+p-y:Z0===g1&&(k=2/3+h-p),k<0?k+=1:k>1&&(k-=1)),[360*k,100*Q,100*g1]},B0.rgb.hwb=function(o){const p=o[0],h=o[1];let y=o[2];const k=B0.rgb.hsl(o)[0],Q=1/255*Math.min(p,Math.min(h,y));return y=1-1/255*Math.max(p,Math.max(h,y)),[k,100*Q,100*y]},B0.rgb.cmyk=function(o){const p=o[0]/255,h=o[1]/255,y=o[2]/255,k=Math.min(1-p,1-h,1-y);return[100*((1-p-k)/(1-k)||0),100*((1-h-k)/(1-k)||0),100*((1-y-k)/(1-k)||0),100*k]},B0.rgb.keyword=function(o){const p=ji[o];if(p)return p;let h,y=1/0;for(const $0 of Object.keys(qr)){const j0=(Q=qr[$0],((k=o)[0]-Q[0])**2+(k[1]-Q[1])**2+(k[2]-Q[2])**2);j0<y&&(y=j0,h=$0)}var k,Q;return h},B0.keyword.rgb=function(o){return qr[o]},B0.rgb.xyz=function(o){let p=o[0]/255,h=o[1]/255,y=o[2]/255;return p=p>.04045?((p+.055)/1.055)**2.4:p/12.92,h=h>.04045?((h+.055)/1.055)**2.4:h/12.92,y=y>.04045?((y+.055)/1.055)**2.4:y/12.92,[100*(.4124*p+.3576*h+.1805*y),100*(.2126*p+.7152*h+.0722*y),100*(.0193*p+.1192*h+.9505*y)]},B0.rgb.lab=function(o){const p=B0.rgb.xyz(o);let h=p[0],y=p[1],k=p[2];return h/=95.047,y/=100,k/=108.883,h=h>.008856?h**(1/3):7.787*h+16/116,y=y>.008856?y**(1/3):7.787*y+16/116,k=k>.008856?k**(1/3):7.787*k+16/116,[116*y-16,500*(h-y),200*(y-k)]},B0.hsl.rgb=function(o){const p=o[0]/360,h=o[1]/100,y=o[2]/100;let k,Q,$0;if(h===0)return $0=255*y,[$0,$0,$0];k=y<.5?y*(1+h):y+h-y*h;const j0=2*y-k,Z0=[0,0,0];for(let g1=0;g1<3;g1++)Q=p+1/3*-(g1-1),Q<0&&Q++,Q>1&&Q--,$0=6*Q<1?j0+6*(k-j0)*Q:2*Q<1?k:3*Q<2?j0+(k-j0)*(2/3-Q)*6:j0,Z0[g1]=255*$0;return Z0},B0.hsl.hsv=function(o){const p=o[0];let h=o[1]/100,y=o[2]/100,k=h;const Q=Math.max(y,.01);return y*=2,h*=y<=1?y:2-y,k*=Q<=1?Q:2-Q,[p,100*(y===0?2*k/(Q+k):2*h/(y+h)),100*((y+h)/2)]},B0.hsv.rgb=function(o){const p=o[0]/60,h=o[1]/100;let y=o[2]/100;const k=Math.floor(p)%6,Q=p-Math.floor(p),$0=255*y*(1-h),j0=255*y*(1-h*Q),Z0=255*y*(1-h*(1-Q));switch(y*=255,k){case 0:return[y,Z0,$0];case 1:return[j0,y,$0];case 2:return[$0,y,Z0];case 3:return[$0,j0,y];case 4:return[Z0,$0,y];case 5:return[y,$0,j0]}},B0.hsv.hsl=function(o){const p=o[0],h=o[1]/100,y=o[2]/100,k=Math.max(y,.01);let Q,$0;$0=(2-h)*y;const j0=(2-h)*k;return Q=h*k,Q/=j0<=1?j0:2-j0,Q=Q||0,$0/=2,[p,100*Q,100*$0]},B0.hwb.rgb=function(o){const p=o[0]/360;let h=o[1]/100,y=o[2]/100;const k=h+y;let Q;k>1&&(h/=k,y/=k);const $0=Math.floor(6*p),j0=1-y;Q=6*p-$0,(1&$0)!=0&&(Q=1-Q);const Z0=h+Q*(j0-h);let g1,z1,X1;switch($0){default:case 6:case 0:g1=j0,z1=Z0,X1=h;break;case 1:g1=Z0,z1=j0,X1=h;break;case 2:g1=h,z1=j0,X1=Z0;break;case 3:g1=h,z1=Z0,X1=j0;break;case 4:g1=Z0,z1=h,X1=j0;break;case 5:g1=j0,z1=h,X1=Z0}return[255*g1,255*z1,255*X1]},B0.cmyk.rgb=function(o){const p=o[0]/100,h=o[1]/100,y=o[2]/100,k=o[3]/100;return[255*(1-Math.min(1,p*(1-k)+k)),255*(1-Math.min(1,h*(1-k)+k)),255*(1-Math.min(1,y*(1-k)+k))]},B0.xyz.rgb=function(o){const p=o[0]/100,h=o[1]/100,y=o[2]/100;let k,Q,$0;return k=3.2406*p+-1.5372*h+-.4986*y,Q=-.9689*p+1.8758*h+.0415*y,$0=.0557*p+-.204*h+1.057*y,k=k>.0031308?1.055*k**(1/2.4)-.055:12.92*k,Q=Q>.0031308?1.055*Q**(1/2.4)-.055:12.92*Q,$0=$0>.0031308?1.055*$0**(1/2.4)-.055:12.92*$0,k=Math.min(Math.max(0,k),1),Q=Math.min(Math.max(0,Q),1),$0=Math.min(Math.max(0,$0),1),[255*k,255*Q,255*$0]},B0.xyz.lab=function(o){let p=o[0],h=o[1],y=o[2];return p/=95.047,h/=100,y/=108.883,p=p>.008856?p**(1/3):7.787*p+16/116,h=h>.008856?h**(1/3):7.787*h+16/116,y=y>.008856?y**(1/3):7.787*y+16/116,[116*h-16,500*(p-h),200*(h-y)]},B0.lab.xyz=function(o){let p,h,y;h=(o[0]+16)/116,p=o[1]/500+h,y=h-o[2]/200;const k=h**3,Q=p**3,$0=y**3;return h=k>.008856?k:(h-16/116)/7.787,p=Q>.008856?Q:(p-16/116)/7.787,y=$0>.008856?$0:(y-16/116)/7.787,p*=95.047,h*=100,y*=108.883,[p,h,y]},B0.lab.lch=function(o){const p=o[0],h=o[1],y=o[2];let k;return k=360*Math.atan2(y,h)/2/Math.PI,k<0&&(k+=360),[p,Math.sqrt(h*h+y*y),k]},B0.lch.lab=function(o){const p=o[0],h=o[1],y=o[2]/360*2*Math.PI;return[p,h*Math.cos(y),h*Math.sin(y)]},B0.rgb.ansi16=function(o,p=null){const[h,y,k]=o;let Q=p===null?B0.rgb.hsv(o)[2]:p;if(Q=Math.round(Q/50),Q===0)return 30;let $0=30+(Math.round(k/255)<<2|Math.round(y/255)<<1|Math.round(h/255));return Q===2&&($0+=60),$0},B0.hsv.ansi16=function(o){return B0.rgb.ansi16(B0.hsv.rgb(o),o[2])},B0.rgb.ansi256=function(o){const p=o[0],h=o[1],y=o[2];return p===h&&h===y?p<8?16:p>248?231:Math.round((p-8)/247*24)+232:16+36*Math.round(p/255*5)+6*Math.round(h/255*5)+Math.round(y/255*5)},B0.ansi16.rgb=function(o){let p=o%10;if(p===0||p===7)return o>50&&(p+=3.5),p=p/10.5*255,[p,p,p];const h=.5*(1+~~(o>50));return[(1&p)*h*255,(p>>1&1)*h*255,(p>>2&1)*h*255]},B0.ansi256.rgb=function(o){if(o>=232){const h=10*(o-232)+8;return[h,h,h]}let p;return o-=16,[Math.floor(o/36)/5*255,Math.floor((p=o%36)/6)/5*255,p%6/5*255]},B0.rgb.hex=function(o){const p=(((255&Math.round(o[0]))<<16)+((255&Math.round(o[1]))<<8)+(255&Math.round(o[2]))).toString(16).toUpperCase();return\"000000\".substring(p.length)+p},B0.hex.rgb=function(o){const p=o.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!p)return[0,0,0];let h=p[0];p[0].length===3&&(h=h.split(\"\").map(k=>k+k).join(\"\"));const y=parseInt(h,16);return[y>>16&255,y>>8&255,255&y]},B0.rgb.hcg=function(o){const p=o[0]/255,h=o[1]/255,y=o[2]/255,k=Math.max(Math.max(p,h),y),Q=Math.min(Math.min(p,h),y),$0=k-Q;let j0,Z0;return j0=$0<1?Q/(1-$0):0,Z0=$0<=0?0:k===p?(h-y)/$0%6:k===h?2+(y-p)/$0:4+(p-h)/$0,Z0/=6,Z0%=1,[360*Z0,100*$0,100*j0]},B0.hsl.hcg=function(o){const p=o[1]/100,h=o[2]/100,y=h<.5?2*p*h:2*p*(1-h);let k=0;return y<1&&(k=(h-.5*y)/(1-y)),[o[0],100*y,100*k]},B0.hsv.hcg=function(o){const p=o[1]/100,h=o[2]/100,y=p*h;let k=0;return y<1&&(k=(h-y)/(1-y)),[o[0],100*y,100*k]},B0.hcg.rgb=function(o){const p=o[0]/360,h=o[1]/100,y=o[2]/100;if(h===0)return[255*y,255*y,255*y];const k=[0,0,0],Q=p%1*6,$0=Q%1,j0=1-$0;let Z0=0;switch(Math.floor(Q)){case 0:k[0]=1,k[1]=$0,k[2]=0;break;case 1:k[0]=j0,k[1]=1,k[2]=0;break;case 2:k[0]=0,k[1]=1,k[2]=$0;break;case 3:k[0]=0,k[1]=j0,k[2]=1;break;case 4:k[0]=$0,k[1]=0,k[2]=1;break;default:k[0]=1,k[1]=0,k[2]=j0}return Z0=(1-h)*y,[255*(h*k[0]+Z0),255*(h*k[1]+Z0),255*(h*k[2]+Z0)]},B0.hcg.hsv=function(o){const p=o[1]/100,h=p+o[2]/100*(1-p);let y=0;return h>0&&(y=p/h),[o[0],100*y,100*h]},B0.hcg.hsl=function(o){const p=o[1]/100,h=o[2]/100*(1-p)+.5*p;let y=0;return h>0&&h<.5?y=p/(2*h):h>=.5&&h<1&&(y=p/(2*(1-h))),[o[0],100*y,100*h]},B0.hcg.hwb=function(o){const p=o[1]/100,h=p+o[2]/100*(1-p);return[o[0],100*(h-p),100*(1-h)]},B0.hwb.hcg=function(o){const p=o[1]/100,h=1-o[2]/100,y=h-p;let k=0;return y<1&&(k=(h-y)/(1-y)),[o[0],100*y,100*k]},B0.apple.rgb=function(o){return[o[0]/65535*255,o[1]/65535*255,o[2]/65535*255]},B0.rgb.apple=function(o){return[o[0]/255*65535,o[1]/255*65535,o[2]/255*65535]},B0.gray.rgb=function(o){return[o[0]/100*255,o[0]/100*255,o[0]/100*255]},B0.gray.hsl=function(o){return[0,0,o[0]]},B0.gray.hsv=B0.gray.hsl,B0.gray.hwb=function(o){return[0,100,o[0]]},B0.gray.cmyk=function(o){return[0,0,0,o[0]]},B0.gray.lab=function(o){return[o[0],0,0]},B0.gray.hex=function(o){const p=255&Math.round(o[0]/100*255),h=((p<<16)+(p<<8)+p).toString(16).toUpperCase();return\"000000\".substring(h.length)+h},B0.rgb.gray=function(o){return[(o[0]+o[1]+o[2])/3/255*100]};const jx={};Object.keys(d).forEach(o=>{jx[o]={},Object.defineProperty(jx[o],\"channels\",{value:d[o].channels}),Object.defineProperty(jx[o],\"labels\",{value:d[o].labels});const p=function(h){const y=N(h),k={},Q=Object.keys(y);for(let $0=Q.length,j0=0;j0<$0;j0++){const Z0=Q[j0];y[Z0].parent!==null&&(k[Z0]=_1(Z0,y))}return k}(o);Object.keys(p).forEach(h=>{const y=p[h];jx[o][h]=function(k){const Q=function(...$0){const j0=$0[0];if(j0==null)return j0;j0.length>1&&($0=j0);const Z0=k($0);if(typeof Z0==\"object\")for(let g1=Z0.length,z1=0;z1<g1;z1++)Z0[z1]=Math.round(Z0[z1]);return Z0};return\"conversion\"in k&&(Q.conversion=k.conversion),Q}(y),jx[o][h].raw=function(k){const Q=function(...$0){const j0=$0[0];return j0==null?j0:(j0.length>1&&($0=j0),k($0))};return\"conversion\"in k&&(Q.conversion=k.conversion),Q}(y)})});var We=jx,mt=s0(function(o){const p=(g1,z1)=>(...X1)=>`\u001b[${g1(...X1)+z1}m`,h=(g1,z1)=>(...X1)=>{const se=g1(...X1);return`\u001b[${38+z1};5;${se}m`},y=(g1,z1)=>(...X1)=>{const se=g1(...X1);return`\u001b[${38+z1};2;${se[0]};${se[1]};${se[2]}m`},k=g1=>g1,Q=(g1,z1,X1)=>[g1,z1,X1],$0=(g1,z1,X1)=>{Object.defineProperty(g1,z1,{get:()=>{const se=X1();return Object.defineProperty(g1,z1,{value:se,enumerable:!0,configurable:!0}),se},enumerable:!0,configurable:!0})};let j0;const Z0=(g1,z1,X1,se)=>{j0===void 0&&(j0=We);const be=se?10:0,Je={};for(const[ft,Xr]of Object.entries(j0)){const on=ft===\"ansi16\"?\"ansi\":ft;ft===z1?Je[on]=g1(X1,be):typeof Xr==\"object\"&&(Je[on]=g1(Xr[z1],be))}return Je};Object.defineProperty(o,\"exports\",{enumerable:!0,get:function(){const g1=new Map,z1={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};z1.color.gray=z1.color.blackBright,z1.bgColor.bgGray=z1.bgColor.bgBlackBright,z1.color.grey=z1.color.blackBright,z1.bgColor.bgGrey=z1.bgColor.bgBlackBright;for(const[X1,se]of Object.entries(z1)){for(const[be,Je]of Object.entries(se))z1[be]={open:`\u001b[${Je[0]}m`,close:`\u001b[${Je[1]}m`},se[be]=z1[be],g1.set(Je[0],Je[1]);Object.defineProperty(z1,X1,{value:se,enumerable:!1})}return Object.defineProperty(z1,\"codes\",{value:g1,enumerable:!1}),z1.color.close=\"\u001b[39m\",z1.bgColor.close=\"\u001b[49m\",$0(z1.color,\"ansi\",()=>Z0(p,\"ansi16\",k,!1)),$0(z1.color,\"ansi256\",()=>Z0(h,\"ansi256\",k,!1)),$0(z1.color,\"ansi16m\",()=>Z0(y,\"rgb\",Q,!1)),$0(z1.bgColor,\"ansi\",()=>Z0(p,\"ansi16\",k,!0)),$0(z1.bgColor,\"ansi256\",()=>Z0(h,\"ansi256\",k,!0)),$0(z1.bgColor,\"ansi16m\",()=>Z0(y,\"rgb\",Q,!0)),z1}})});function $t(){return!1}function Zn(){throw new Error(\"tty.ReadStream is not implemented\")}function _i(){throw new Error(\"tty.ReadStream is not implemented\")}var Va={isatty:$t,ReadStream:Zn,WriteStream:_i},Bo=(o,p=Qc.argv)=>{const h=o.startsWith(\"-\")?\"\":o.length===1?\"-\":\"--\",y=p.indexOf(h+o),k=p.indexOf(\"--\");return y!==-1&&(k===-1||y<k)},Rt=K(Object.freeze({__proto__:null,isatty:$t,ReadStream:Zn,WriteStream:_i,default:Va}));const{env:Xs}=Qc;let ll;function jc(o){return o!==0&&{level:o,hasBasic:!0,has256:o>=2,has16m:o>=3}}function xu(o,p){if(ll===0)return 0;if(Bo(\"color=16m\")||Bo(\"color=full\")||Bo(\"color=truecolor\"))return 3;if(Bo(\"color=256\"))return 2;if(o&&!p&&ll===void 0)return 0;const h=ll||0;if(Xs.TERM===\"dumb\")return h;if(\"CI\"in Xs)return[\"TRAVIS\",\"CIRCLECI\",\"APPVEYOR\",\"GITLAB_CI\",\"GITHUB_ACTIONS\",\"BUILDKITE\"].some(y=>y in Xs)||Xs.CI_NAME===\"codeship\"?1:h;if(\"TEAMCITY_VERSION\"in Xs)return/^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(Xs.TEAMCITY_VERSION)?1:0;if(Xs.COLORTERM===\"truecolor\")return 3;if(\"TERM_PROGRAM\"in Xs){const y=parseInt((Xs.TERM_PROGRAM_VERSION||\"\").split(\".\")[0],10);switch(Xs.TERM_PROGRAM){case\"iTerm.app\":return y>=3?3:2;case\"Apple_Terminal\":return 2}}return/-256(color)?$/i.test(Xs.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Xs.TERM)||\"COLORTERM\"in Xs?1:h}Bo(\"no-color\")||Bo(\"no-colors\")||Bo(\"color=false\")||Bo(\"color=never\")?ll=0:(Bo(\"color\")||Bo(\"colors\")||Bo(\"color=true\")||Bo(\"color=always\"))&&(ll=1),\"FORCE_COLOR\"in Xs&&(ll=Xs.FORCE_COLOR===\"true\"?1:Xs.FORCE_COLOR===\"false\"?0:Xs.FORCE_COLOR.length===0?1:Math.min(parseInt(Xs.FORCE_COLOR,10),3));var Ml={supportsColor:function(o){return jc(xu(o,o&&o.isTTY))},stdout:jc(xu(!0,Rt.isatty(1))),stderr:jc(xu(!0,Rt.isatty(2)))},iE={stringReplaceAll:(o,p,h)=>{let y=o.indexOf(p);if(y===-1)return o;const k=p.length;let Q=0,$0=\"\";do $0+=o.substr(Q,y-Q)+p+h,Q=y+k,y=o.indexOf(p,Q);while(y!==-1);return $0+=o.substr(Q),$0},stringEncaseCRLFWithFirstIndex:(o,p,h,y)=>{let k=0,Q=\"\";do{const $0=o[y-1]===\"\\r\";Q+=o.substr(k,($0?y-1:y)-k)+p+($0?`\\r\n`:`\n`)+h,k=y+1,y=o.indexOf(`\n`,k)}while(y!==-1);return Q+=o.substr(k),Q}};const eA=/(?:\\\\(u(?:[a-f\\d]{4}|\\{[a-f\\d]{1,6}\\})|x[a-f\\d]{2}|.))|(?:\\{(~)?(\\w+(?:\\([^)]*\\))?(?:\\.\\w+(?:\\([^)]*\\))?)*)(?:[ \\t]|(?=\\r?\\n)))|(\\})|((?:.|[\\r\\n\\f])+?)/gi,y2=/(?:^|\\.)(\\w+)(?:\\(([^)]*)\\))?/g,FA=/^(['\"])((?:\\\\.|(?!\\1)[^\\\\])*)\\1$/,Rp=/\\\\(u(?:[a-f\\d]{4}|{[a-f\\d]{1,6}})|x[a-f\\d]{2}|.)|([^\\\\])/gi,VS=new Map([[\"n\",`\n`],[\"r\",\"\\r\"],[\"t\",\"\t\"],[\"b\",\"\\b\"],[\"f\",\"\\f\"],[\"v\",\"\\v\"],[\"0\",\"\\0\"],[\"\\\\\",\"\\\\\"],[\"e\",\"\u001b\"],[\"a\",\"\\x07\"]]);function _(o){const p=o[0]===\"u\",h=o[1]===\"{\";return p&&!h&&o.length===5||o[0]===\"x\"&&o.length===3?String.fromCharCode(parseInt(o.slice(1),16)):p&&h?String.fromCodePoint(parseInt(o.slice(2,-1),16)):VS.get(o)||o}function v0(o,p){const h=[],y=p.trim().split(/\\s*,\\s*/g);let k;for(const Q of y){const $0=Number(Q);if(Number.isNaN($0)){if(!(k=Q.match(FA)))throw new Error(`Invalid Chalk template style argument: ${Q} (in style '${o}')`);h.push(k[2].replace(Rp,(j0,Z0,g1)=>Z0?_(Z0):g1))}else h.push($0)}return h}function w1(o){y2.lastIndex=0;const p=[];let h;for(;(h=y2.exec(o))!==null;){const y=h[1];if(h[2]){const k=v0(y,h[2]);p.push([y].concat(k))}else p.push([y])}return p}function Ix(o,p){const h={};for(const k of p)for(const Q of k.styles)h[Q[0]]=k.inverse?null:Q.slice(1);let y=o;for(const[k,Q]of Object.entries(h))if(Array.isArray(Q)){if(!(k in y))throw new Error(`Unknown Chalk style: ${k}`);y=Q.length>0?y[k](...Q):y[k]}return y}var Wx=(o,p)=>{const h=[],y=[];let k=[];if(p.replace(eA,(Q,$0,j0,Z0,g1,z1)=>{if($0)k.push(_($0));else if(Z0){const X1=k.join(\"\");k=[],y.push(h.length===0?X1:Ix(o,h)(X1)),h.push({inverse:j0,styles:w1(Z0)})}else if(g1){if(h.length===0)throw new Error(\"Found extraneous } in Chalk template literal\");y.push(Ix(o,h)(k.join(\"\"))),k=[],h.pop()}else k.push(z1)}),y.push(k.join(\"\")),h.length>0){const Q=`Chalk template literal is missing ${h.length} closing bracket${h.length===1?\"\":\"s\"} (\\`}\\`)`;throw new Error(Q)}return y.join(\"\")};const{stdout:_e,stderr:ot}=Ml,{stringReplaceAll:Mt,stringEncaseCRLFWithFirstIndex:Ft}=iE,{isArray:nt}=Array,qt=[\"ansi\",\"ansi\",\"ansi256\",\"ansi16m\"],Ze=Object.create(null);class ur{constructor(p){return ri(p)}}const ri=o=>{const p={};return((h,y={})=>{if(y.level&&!(Number.isInteger(y.level)&&y.level>=0&&y.level<=3))throw new Error(\"The `level` option should be an integer from 0 to 3\");const k=_e?_e.level:0;h.level=y.level===void 0?k:y.level})(p,o),p.template=(...h)=>ts(p.template,...h),Object.setPrototypeOf(p,Ui.prototype),Object.setPrototypeOf(p.template,p),p.template.constructor=()=>{throw new Error(\"`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.\")},p.template.Instance=ur,p.template};function Ui(o){return ri(o)}for(const[o,p]of Object.entries(mt))Ze[o]={get(){const h=ha(this,ro(p.open,p.close,this._styler),this._isEmpty);return Object.defineProperty(this,o,{value:h}),h}};Ze.visible={get(){const o=ha(this,this._styler,!0);return Object.defineProperty(this,\"visible\",{value:o}),o}};const Bi=[\"rgb\",\"hex\",\"keyword\",\"hsl\",\"hsv\",\"hwb\",\"ansi\",\"ansi256\"];for(const o of Bi)Ze[o]={get(){const{level:p}=this;return function(...h){const y=ro(mt.color[qt[p]][o](...h),mt.color.close,this._styler);return ha(this,y,this._isEmpty)}}};for(const o of Bi)Ze[\"bg\"+o[0].toUpperCase()+o.slice(1)]={get(){const{level:p}=this;return function(...h){const y=ro(mt.bgColor[qt[p]][o](...h),mt.bgColor.close,this._styler);return ha(this,y,this._isEmpty)}}};const Yi=Object.defineProperties(()=>{},Object.assign(Object.assign({},Ze),{},{level:{enumerable:!0,get(){return this._generator.level},set(o){this._generator.level=o}}})),ro=(o,p,h)=>{let y,k;return h===void 0?(y=o,k=p):(y=h.openAll+o,k=p+h.closeAll),{open:o,close:p,openAll:y,closeAll:k,parent:h}},ha=(o,p,h)=>{const y=(...k)=>nt(k[0])&&nt(k[0].raw)?Xo(y,ts(y,...k)):Xo(y,k.length===1?\"\"+k[0]:k.join(\" \"));return Object.setPrototypeOf(y,Yi),y._generator=o,y._styler=p,y._isEmpty=h,y},Xo=(o,p)=>{if(o.level<=0||!p)return o._isEmpty?\"\":p;let h=o._styler;if(h===void 0)return p;const{openAll:y,closeAll:k}=h;if(p.indexOf(\"\u001b\")!==-1)for(;h!==void 0;)p=Mt(p,h.close,h.open),h=h.parent;const Q=p.indexOf(`\n`);return Q!==-1&&(p=Ft(p,k,y,Q)),y+p+k};let oo;const ts=(o,...p)=>{const[h]=p;if(!nt(h)||!nt(h.raw))return p.join(\" \");const y=p.slice(1),k=[h.raw[0]];for(let Q=1;Q<h.length;Q++)k.push(String(y[Q-1]).replace(/[{}\\\\]/g,\"\\\\$&\"),String(h.raw[Q]));return oo===void 0&&(oo=Wx),oo(o,k.join(\"\"))};Object.defineProperties(Ui.prototype,Ze);const Gl=Ui();Gl.supportsColor=_e,Gl.stderr=Ui({level:ot?ot.level:0}),Gl.stderr.supportsColor=ot;var Gp=Gl;const Sc=[\"_\"],Ss={key:o=>o.length===1?`-${o}`:`--${o}`,value:o=>S.apiDescriptor.value(o),pair:({key:o,value:p})=>p===!1?`--no-${o}`:p===!0?Ss.key(o):p===\"\"?`${Ss.key(o)} without an argument`:`${Ss.key(o)}=${p}`};class Ws extends S.ChoiceSchema{constructor({name:p,flags:h}){super({name:p,choices:h}),this._flags=[...h].sort()}preprocess(p,h){if(typeof p==\"string\"&&p.length>0&&!this._flags.includes(p)){const y=this._flags.find(k=>$e(k,p)<3);if(y)return h.logger.warn([`Unknown flag ${Gp.yellow(h.descriptor.value(p))},`,`did you mean ${Gp.blue(h.descriptor.value(y))}?`].join(\" \")),y}return p}expected(){return\"a flag\"}}let Zc;function ef(o,p,{logger:h,isCLI:y=!1,passThrough:k=!1}={}){const Q=k?Array.isArray(k)?(X1,se)=>k.includes(X1)?{[X1]:se}:void 0:(X1,se)=>({[X1]:se}):(X1,se,be)=>{const Je=c(be.schemas,Sc);return S.levenUnknownHandler(X1,se,Object.assign(Object.assign({},be),{},{schemas:Je}))},$0=y?Ss:S.apiDescriptor,j0=function(X1,{isCLI:se}){const be=[];se&&be.push(S.AnySchema.create({name:\"_\"}));for(const Je of X1)be.push(wp(Je,{isCLI:se,optionInfos:X1})),Je.alias&&se&&be.push(S.AliasSchema.create({name:Je.alias,sourceName:Je.name}));return be}(p,{isCLI:y}),Z0=new S.Normalizer(j0,{logger:h,unknown:Q,descriptor:$0}),g1=h!==!1;g1&&Zc&&(Z0._hasDeprecationWarned=Zc);const z1=Z0.normalize(o);return g1&&(Zc=Z0._hasDeprecationWarned),z1}function wp(o,{isCLI:p,optionInfos:h}){let y;const k={name:o.name},Q={};switch(o.type){case\"int\":y=S.IntegerSchema,p&&(k.preprocess=$0=>Number($0));break;case\"string\":y=S.StringSchema;break;case\"choice\":y=S.ChoiceSchema,k.choices=o.choices.map($0=>typeof $0==\"object\"&&$0.redirect?Object.assign(Object.assign({},$0),{},{redirect:{to:{key:o.name,value:$0.redirect}}}):$0);break;case\"boolean\":y=S.BooleanSchema;break;case\"flag\":y=Ws,k.flags=h.flatMap($0=>[$0.alias,$0.description&&$0.name,$0.oppositeDescription&&`no-${$0.name}`].filter(Boolean));break;case\"path\":y=S.StringSchema;break;default:throw new Error(`Unexpected type ${o.type}`)}if(o.exception?k.validate=($0,j0,Z0)=>o.exception($0)||j0.validate($0,Z0):k.validate=($0,j0,Z0)=>$0===void 0||j0.validate($0,Z0),o.redirect&&(Q.redirect=$0=>$0?{to:{key:o.redirect.option,value:o.redirect.value}}:void 0),o.deprecated&&(Q.deprecated=!0),p&&!o.array){const $0=k.preprocess||(j0=>j0);k.preprocess=(j0,Z0,g1)=>Z0.preprocess($0(Array.isArray(j0)?l_(j0):j0),g1)}return o.array?S.ArraySchema.create(Object.assign(Object.assign(Object.assign({},p?{preprocess:$0=>Array.isArray($0)?$0:[$0]}:{}),Q),{},{valueSchema:y.create(k)})):y.create(Object.assign(Object.assign({},k),Q))}var Pm={normalizeApiOptions:function(o,p,h){return ef(o,p,h)},normalizeCliOptions:function(o,p,h){return ef(o,p,Object.assign({isCLI:!0},h))}};const{isNonEmptyArray:Im}=Po;function S5(o,p){const{ignoreDecorators:h}=p||{};if(!h){const y=o.declaration&&o.declaration.decorators||o.decorators;if(Im(y))return S5(y[0])}return o.range?o.range[0]:o.start}function qw(o){return o.range?o.range[1]:o.end}function s2(o,p){return S5(o)===S5(p)}var s5={locStart:S5,locEnd:qw,hasSameLocStart:s2,hasSameLoc:function(o,p){return s2(o,p)&&function(h,y){return qw(h)===qw(y)}(o,p)}},OI=Object.defineProperty({default:/((['\"])(?:(?!\\2|\\\\).|\\\\(?:\\r\\n|[\\s\\S]))*(\\2)?|`(?:[^`\\\\$]|\\\\[\\s\\S]|\\$(?!\\{)|\\$\\{(?:[^{}]|\\{[^}]*\\}?)*\\}?)*(`)?)|(\\/\\/.*)|(\\/\\*(?:[^*]|\\*(?!\\/))*(\\*\\/)?)|(\\/(?!\\*)(?:\\[(?:(?![\\]\\\\]).|\\\\.)*\\]|(?![\\/\\]\\\\]).|\\\\.)+\\/(?:(?!\\s*(?:\\b|[\\u0080-\\uFFFF$\\\\'\"~({]|[+\\-!](?!=)|\\.?\\d))|[gmiyus]{1,6}\\b(?![\\u0080-\\uFFFF$\\\\]|\\s*(?:[+\\-*%&|^<>!=?({]|\\/(?![\\/*])))))|(0[xX][\\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\\d*\\.\\d+|\\d+\\.?)(?:[eE][+-]?\\d+)?)|((?!\\d)(?:(?!\\s)[$\\w\\u0080-\\uFFFF]|\\\\u[\\da-fA-F]{4}|\\\\u\\{[\\da-fA-F]+\\})+)|(--|\\+\\+|&&|\\|\\||=>|\\.{3}|(?:[+\\-\\/%&|^]|\\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\\](){}])|(\\s+)|(^$|[\\s\\S])/g,matchToToken:function(o){var p={type:\"invalid\",value:o[0],closed:void 0};return o[1]?(p.type=\"string\",p.closed=!(!o[3]&&!o[4])):o[5]?p.type=\"comment\":o[6]?(p.type=\"comment\",p.closed=!!o[7]):o[8]?p.type=\"regex\":o[9]?p.type=\"number\":o[10]?p.type=\"name\":o[11]?p.type=\"punctuator\":o[12]&&(p.type=\"whitespace\"),p}},\"__esModule\",{value:!0}),d_=m_,UD=VD,Lg=function(o){let p=!0;for(let h=0;h<o.length;h++){let y=o.charCodeAt(h);if((64512&y)==55296&&h+1<o.length){const k=o.charCodeAt(++h);(64512&k)==56320&&(y=65536+((1023&y)<<10)+(1023&k))}if(p){if(p=!1,!m_(y))return!1}else if(!VD(y))return!1}return!p};let m9=\"\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05D0-\\u05EA\\u05EF-\\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\\u0860-\\u086A\\u08A0-\\u08B4\\u08B6-\\u08C7\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u09FC\\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\\u0AF9\\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-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D04-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\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-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1878\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1CE9-\\u1CEC\\u1CEE-\\u1CF3\\u1CF5\\u1CF6\\u1CFA\\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\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\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\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309B-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u31A0-\\u31BF\\u31F0-\\u31FF\\u3400-\\u4DBF\\u4E00-\\u9FFC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7BF\\uA7C2-\\uA7CA\\uA7F5-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA8FE\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB69\\uAB70-\\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\",Jw=\"\\u200C\\u200D\\xB7\\u0300-\\u036F\\u0387\\u0483-\\u0487\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u0669\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u06F0-\\u06F9\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07C0-\\u07C9\\u07EB-\\u07F3\\u07FD\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u08D3-\\u08E1\\u08E3-\\u0903\\u093A-\\u093C\\u093E-\\u094F\\u0951-\\u0957\\u0962\\u0963\\u0966-\\u096F\\u0981-\\u0983\\u09BC\\u09BE-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CD\\u09D7\\u09E2\\u09E3\\u09E6-\\u09EF\\u09FE\\u0A01-\\u0A03\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A66-\\u0A71\\u0A75\\u0A81-\\u0A83\\u0ABC\\u0ABE-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AE2\\u0AE3\\u0AE6-\\u0AEF\\u0AFA-\\u0AFF\\u0B01-\\u0B03\\u0B3C\\u0B3E-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B55-\\u0B57\\u0B62\\u0B63\\u0B66-\\u0B6F\\u0B82\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C04\\u0C3E-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0C66-\\u0C6F\\u0C81-\\u0C83\\u0CBC\\u0CBE-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CE2\\u0CE3\\u0CE6-\\u0CEF\\u0D00-\\u0D03\\u0D3B\\u0D3C\\u0D3E-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4D\\u0D57\\u0D62\\u0D63\\u0D66-\\u0D6F\\u0D81-\\u0D83\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0E50-\\u0E59\\u0EB1\\u0EB4-\\u0EBC\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E\\u0F3F\\u0F71-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102B-\\u103E\\u1040-\\u1049\\u1056-\\u1059\\u105E-\\u1060\\u1062-\\u1064\\u1067-\\u106D\\u1071-\\u1074\\u1082-\\u108D\\u108F-\\u109D\\u135D-\\u135F\\u1369-\\u1371\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17B4-\\u17D3\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u18A9\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u194F\\u19D0-\\u19DA\\u1A17-\\u1A1B\\u1A55-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AB0-\\u1ABD\\u1ABF\\u1AC0\\u1B00-\\u1B04\\u1B34-\\u1B44\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1B82\\u1BA1-\\u1BAD\\u1BB0-\\u1BB9\\u1BE6-\\u1BF3\\u1C24-\\u1C37\\u1C40-\\u1C49\\u1C50-\\u1C59\\u1CD0-\\u1CD2\\u1CD4-\\u1CE8\\u1CED\\u1CF4\\u1CF7-\\u1CF9\\u1DC0-\\u1DF9\\u1DFB-\\u1DFF\\u203F\\u2040\\u2054\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302F\\u3099\\u309A\\uA620-\\uA629\\uA66F\\uA674-\\uA67D\\uA69E\\uA69F\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA823-\\uA827\\uA82C\\uA880\\uA881\\uA8B4-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F1\\uA8FF-\\uA909\\uA926-\\uA92D\\uA947-\\uA953\\uA980-\\uA983\\uA9B3-\\uA9C0\\uA9D0-\\uA9D9\\uA9E5\\uA9F0-\\uA9F9\\uAA29-\\uAA36\\uAA43\\uAA4C\\uAA4D\\uAA50-\\uAA59\\uAA7B-\\uAA7D\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEB-\\uAAEF\\uAAF5\\uAAF6\\uABE3-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFF10-\\uFF19\\uFF3F\";const Iy=new RegExp(\"[\"+m9+\"]\"),ng=new RegExp(\"[\"+m9+Jw+\"]\");m9=Jw=null;const B9=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,107,20,28,22,13,52,76,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,230,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,35,56,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,190,0,80,921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8952,286,50,2,18,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,2357,44,11,6,17,0,370,43,1301,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42717,35,4148,12,221,3,5761,15,7472,3104,541,1507,4938],SO=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,154,10,176,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,19306,9,135,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,5319,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,262,6,10,9,419,13,1495,6,110,6,6,9,4759,9,787719,239];function IN(o,p){let h=65536;for(let y=0,k=p.length;y<k;y+=2){if(h+=p[y],h>o)return!1;if(h+=p[y+1],h>=o)return!0}return!1}function m_(o){return o<65?o===36:o<=90||(o<97?o===95:o<=122||(o<=65535?o>=170&&Iy.test(String.fromCharCode(o)):IN(o,B9)))}function VD(o){return o<48?o===36:o<58||!(o<65)&&(o<=90||(o<97?o===95:o<=122||(o<=65535?o>=170&&ng.test(String.fromCharCode(o)):IN(o,B9)||IN(o,SO))))}var Mg=Object.defineProperty({isIdentifierStart:d_,isIdentifierChar:UD,isIdentifierName:Lg},\"__esModule\",{value:!0}),gR=Uh,WP=Rg,cP=Oy,h_=function(o,p){return Rg(o,p)||Oy(o)},Hw=function(o){return g_.has(o)};const qP=[\"implements\",\"interface\",\"let\",\"package\",\"private\",\"protected\",\"public\",\"static\",\"yield\"],ry=[\"eval\",\"arguments\"],g_=new Set([\"break\",\"case\",\"catch\",\"continue\",\"debugger\",\"default\",\"do\",\"else\",\"finally\",\"for\",\"function\",\"if\",\"return\",\"switch\",\"throw\",\"try\",\"var\",\"const\",\"while\",\"with\",\"new\",\"this\",\"super\",\"class\",\"extends\",\"export\",\"import\",\"null\",\"true\",\"false\",\"in\",\"instanceof\",\"typeof\",\"void\",\"delete\"]),$D=new Set(qP),BI=new Set(ry);function Uh(o,p){return p&&o===\"await\"||o===\"enum\"}function Rg(o,p){return Uh(o,p)||$D.has(o)}function Oy(o){return BI.has(o)}var ON=Object.defineProperty({isReservedWord:gR,isStrictReservedWord:WP,isStrictBindOnlyReservedWord:cP,isStrictBindReservedWord:h_,isKeyword:Hw},\"__esModule\",{value:!0}),Vh=s0(function(o,p){Object.defineProperty(p,\"__esModule\",{value:!0}),Object.defineProperty(p,\"isIdentifierName\",{enumerable:!0,get:function(){return Mg.isIdentifierName}}),Object.defineProperty(p,\"isIdentifierChar\",{enumerable:!0,get:function(){return Mg.isIdentifierChar}}),Object.defineProperty(p,\"isIdentifierStart\",{enumerable:!0,get:function(){return Mg.isIdentifierStart}}),Object.defineProperty(p,\"isReservedWord\",{enumerable:!0,get:function(){return ON.isReservedWord}}),Object.defineProperty(p,\"isStrictBindOnlyReservedWord\",{enumerable:!0,get:function(){return ON.isStrictBindOnlyReservedWord}}),Object.defineProperty(p,\"isStrictBindReservedWord\",{enumerable:!0,get:function(){return ON.isStrictBindReservedWord}}),Object.defineProperty(p,\"isStrictReservedWord\",{enumerable:!0,get:function(){return ON.isStrictReservedWord}}),Object.defineProperty(p,\"isKeyword\",{enumerable:!0,get:function(){return ON.isKeyword}})}),By=/[|\\\\{}()[\\]^$+*?.]/g,rN=function(o){if(typeof o!=\"string\")throw new TypeError(\"Expected a string\");return o.replace(By,\"\\\\$&\")},nN={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],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],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],rebeccapurple:[102,51,153],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]},b0=s0(function(o){var p={};for(var h in nN)nN.hasOwnProperty(h)&&(p[nN[h]]=h);var y=o.exports={rgb:{channels:3,labels:\"rgb\"},hsl:{channels:3,labels:\"hsl\"},hsv:{channels:3,labels:\"hsv\"},hwb:{channels:3,labels:\"hwb\"},cmyk:{channels:4,labels:\"cmyk\"},xyz:{channels:3,labels:\"xyz\"},lab:{channels:3,labels:\"lab\"},lch:{channels:3,labels:\"lch\"},hex:{channels:1,labels:[\"hex\"]},keyword:{channels:1,labels:[\"keyword\"]},ansi16:{channels:1,labels:[\"ansi16\"]},ansi256:{channels:1,labels:[\"ansi256\"]},hcg:{channels:3,labels:[\"h\",\"c\",\"g\"]},apple:{channels:3,labels:[\"r16\",\"g16\",\"b16\"]},gray:{channels:1,labels:[\"gray\"]}};for(var k in y)if(y.hasOwnProperty(k)){if(!(\"channels\"in y[k]))throw new Error(\"missing channels property: \"+k);if(!(\"labels\"in y[k]))throw new Error(\"missing channel labels property: \"+k);if(y[k].labels.length!==y[k].channels)throw new Error(\"channel and label counts mismatch: \"+k);var Q=y[k].channels,$0=y[k].labels;delete y[k].channels,delete y[k].labels,Object.defineProperty(y[k],\"channels\",{value:Q}),Object.defineProperty(y[k],\"labels\",{value:$0})}y.rgb.hsl=function(j0){var Z0,g1,z1=j0[0]/255,X1=j0[1]/255,se=j0[2]/255,be=Math.min(z1,X1,se),Je=Math.max(z1,X1,se),ft=Je-be;return Je===be?Z0=0:z1===Je?Z0=(X1-se)/ft:X1===Je?Z0=2+(se-z1)/ft:se===Je&&(Z0=4+(z1-X1)/ft),(Z0=Math.min(60*Z0,360))<0&&(Z0+=360),g1=(be+Je)/2,[Z0,100*(Je===be?0:g1<=.5?ft/(Je+be):ft/(2-Je-be)),100*g1]},y.rgb.hsv=function(j0){var Z0,g1,z1,X1,se,be=j0[0]/255,Je=j0[1]/255,ft=j0[2]/255,Xr=Math.max(be,Je,ft),on=Xr-Math.min(be,Je,ft),Wr=function(Zi){return(Xr-Zi)/6/on+.5};return on===0?X1=se=0:(se=on/Xr,Z0=Wr(be),g1=Wr(Je),z1=Wr(ft),be===Xr?X1=z1-g1:Je===Xr?X1=1/3+Z0-z1:ft===Xr&&(X1=2/3+g1-Z0),X1<0?X1+=1:X1>1&&(X1-=1)),[360*X1,100*se,100*Xr]},y.rgb.hwb=function(j0){var Z0=j0[0],g1=j0[1],z1=j0[2];return[y.rgb.hsl(j0)[0],100*(1/255*Math.min(Z0,Math.min(g1,z1))),100*(z1=1-1/255*Math.max(Z0,Math.max(g1,z1)))]},y.rgb.cmyk=function(j0){var Z0,g1=j0[0]/255,z1=j0[1]/255,X1=j0[2]/255;return[100*((1-g1-(Z0=Math.min(1-g1,1-z1,1-X1)))/(1-Z0)||0),100*((1-z1-Z0)/(1-Z0)||0),100*((1-X1-Z0)/(1-Z0)||0),100*Z0]},y.rgb.keyword=function(j0){var Z0=p[j0];if(Z0)return Z0;var g1,z1,X1,se=1/0;for(var be in nN)if(nN.hasOwnProperty(be)){var Je=nN[be],ft=(z1=j0,X1=Je,Math.pow(z1[0]-X1[0],2)+Math.pow(z1[1]-X1[1],2)+Math.pow(z1[2]-X1[2],2));ft<se&&(se=ft,g1=be)}return g1},y.keyword.rgb=function(j0){return nN[j0]},y.rgb.xyz=function(j0){var Z0=j0[0]/255,g1=j0[1]/255,z1=j0[2]/255;return[100*(.4124*(Z0=Z0>.04045?Math.pow((Z0+.055)/1.055,2.4):Z0/12.92)+.3576*(g1=g1>.04045?Math.pow((g1+.055)/1.055,2.4):g1/12.92)+.1805*(z1=z1>.04045?Math.pow((z1+.055)/1.055,2.4):z1/12.92)),100*(.2126*Z0+.7152*g1+.0722*z1),100*(.0193*Z0+.1192*g1+.9505*z1)]},y.rgb.lab=function(j0){var Z0=y.rgb.xyz(j0),g1=Z0[0],z1=Z0[1],X1=Z0[2];return z1/=100,X1/=108.883,g1=(g1/=95.047)>.008856?Math.pow(g1,1/3):7.787*g1+16/116,[116*(z1=z1>.008856?Math.pow(z1,1/3):7.787*z1+16/116)-16,500*(g1-z1),200*(z1-(X1=X1>.008856?Math.pow(X1,1/3):7.787*X1+16/116))]},y.hsl.rgb=function(j0){var Z0,g1,z1,X1,se,be=j0[0]/360,Je=j0[1]/100,ft=j0[2]/100;if(Je===0)return[se=255*ft,se,se];Z0=2*ft-(g1=ft<.5?ft*(1+Je):ft+Je-ft*Je),X1=[0,0,0];for(var Xr=0;Xr<3;Xr++)(z1=be+1/3*-(Xr-1))<0&&z1++,z1>1&&z1--,se=6*z1<1?Z0+6*(g1-Z0)*z1:2*z1<1?g1:3*z1<2?Z0+(g1-Z0)*(2/3-z1)*6:Z0,X1[Xr]=255*se;return X1},y.hsl.hsv=function(j0){var Z0=j0[0],g1=j0[1]/100,z1=j0[2]/100,X1=g1,se=Math.max(z1,.01);return g1*=(z1*=2)<=1?z1:2-z1,X1*=se<=1?se:2-se,[Z0,100*(z1===0?2*X1/(se+X1):2*g1/(z1+g1)),100*((z1+g1)/2)]},y.hsv.rgb=function(j0){var Z0=j0[0]/60,g1=j0[1]/100,z1=j0[2]/100,X1=Math.floor(Z0)%6,se=Z0-Math.floor(Z0),be=255*z1*(1-g1),Je=255*z1*(1-g1*se),ft=255*z1*(1-g1*(1-se));switch(z1*=255,X1){case 0:return[z1,ft,be];case 1:return[Je,z1,be];case 2:return[be,z1,ft];case 3:return[be,Je,z1];case 4:return[ft,be,z1];case 5:return[z1,be,Je]}},y.hsv.hsl=function(j0){var Z0,g1,z1,X1=j0[0],se=j0[1]/100,be=j0[2]/100,Je=Math.max(be,.01);return z1=(2-se)*be,g1=se*Je,[X1,100*(g1=(g1/=(Z0=(2-se)*Je)<=1?Z0:2-Z0)||0),100*(z1/=2)]},y.hwb.rgb=function(j0){var Z0,g1,z1,X1,se,be,Je,ft=j0[0]/360,Xr=j0[1]/100,on=j0[2]/100,Wr=Xr+on;switch(Wr>1&&(Xr/=Wr,on/=Wr),z1=6*ft-(Z0=Math.floor(6*ft)),(1&Z0)!=0&&(z1=1-z1),X1=Xr+z1*((g1=1-on)-Xr),Z0){default:case 6:case 0:se=g1,be=X1,Je=Xr;break;case 1:se=X1,be=g1,Je=Xr;break;case 2:se=Xr,be=g1,Je=X1;break;case 3:se=Xr,be=X1,Je=g1;break;case 4:se=X1,be=Xr,Je=g1;break;case 5:se=g1,be=Xr,Je=X1}return[255*se,255*be,255*Je]},y.cmyk.rgb=function(j0){var Z0=j0[0]/100,g1=j0[1]/100,z1=j0[2]/100,X1=j0[3]/100;return[255*(1-Math.min(1,Z0*(1-X1)+X1)),255*(1-Math.min(1,g1*(1-X1)+X1)),255*(1-Math.min(1,z1*(1-X1)+X1))]},y.xyz.rgb=function(j0){var Z0,g1,z1,X1=j0[0]/100,se=j0[1]/100,be=j0[2]/100;return g1=-.9689*X1+1.8758*se+.0415*be,z1=.0557*X1+-.204*se+1.057*be,Z0=(Z0=3.2406*X1+-1.5372*se+-.4986*be)>.0031308?1.055*Math.pow(Z0,1/2.4)-.055:12.92*Z0,g1=g1>.0031308?1.055*Math.pow(g1,1/2.4)-.055:12.92*g1,z1=z1>.0031308?1.055*Math.pow(z1,1/2.4)-.055:12.92*z1,[255*(Z0=Math.min(Math.max(0,Z0),1)),255*(g1=Math.min(Math.max(0,g1),1)),255*(z1=Math.min(Math.max(0,z1),1))]},y.xyz.lab=function(j0){var Z0=j0[0],g1=j0[1],z1=j0[2];return g1/=100,z1/=108.883,Z0=(Z0/=95.047)>.008856?Math.pow(Z0,1/3):7.787*Z0+16/116,[116*(g1=g1>.008856?Math.pow(g1,1/3):7.787*g1+16/116)-16,500*(Z0-g1),200*(g1-(z1=z1>.008856?Math.pow(z1,1/3):7.787*z1+16/116))]},y.lab.xyz=function(j0){var Z0,g1,z1,X1=j0[0];Z0=j0[1]/500+(g1=(X1+16)/116),z1=g1-j0[2]/200;var se=Math.pow(g1,3),be=Math.pow(Z0,3),Je=Math.pow(z1,3);return g1=se>.008856?se:(g1-16/116)/7.787,Z0=be>.008856?be:(Z0-16/116)/7.787,z1=Je>.008856?Je:(z1-16/116)/7.787,[Z0*=95.047,g1*=100,z1*=108.883]},y.lab.lch=function(j0){var Z0,g1=j0[0],z1=j0[1],X1=j0[2];return(Z0=360*Math.atan2(X1,z1)/2/Math.PI)<0&&(Z0+=360),[g1,Math.sqrt(z1*z1+X1*X1),Z0]},y.lch.lab=function(j0){var Z0,g1=j0[0],z1=j0[1];return Z0=j0[2]/360*2*Math.PI,[g1,z1*Math.cos(Z0),z1*Math.sin(Z0)]},y.rgb.ansi16=function(j0){var Z0=j0[0],g1=j0[1],z1=j0[2],X1=1 in arguments?arguments[1]:y.rgb.hsv(j0)[2];if((X1=Math.round(X1/50))===0)return 30;var se=30+(Math.round(z1/255)<<2|Math.round(g1/255)<<1|Math.round(Z0/255));return X1===2&&(se+=60),se},y.hsv.ansi16=function(j0){return y.rgb.ansi16(y.hsv.rgb(j0),j0[2])},y.rgb.ansi256=function(j0){var Z0=j0[0],g1=j0[1],z1=j0[2];return Z0===g1&&g1===z1?Z0<8?16:Z0>248?231:Math.round((Z0-8)/247*24)+232:16+36*Math.round(Z0/255*5)+6*Math.round(g1/255*5)+Math.round(z1/255*5)},y.ansi16.rgb=function(j0){var Z0=j0%10;if(Z0===0||Z0===7)return j0>50&&(Z0+=3.5),[Z0=Z0/10.5*255,Z0,Z0];var g1=.5*(1+~~(j0>50));return[(1&Z0)*g1*255,(Z0>>1&1)*g1*255,(Z0>>2&1)*g1*255]},y.ansi256.rgb=function(j0){if(j0>=232){var Z0=10*(j0-232)+8;return[Z0,Z0,Z0]}var g1;return j0-=16,[Math.floor(j0/36)/5*255,Math.floor((g1=j0%36)/6)/5*255,g1%6/5*255]},y.rgb.hex=function(j0){var Z0=(((255&Math.round(j0[0]))<<16)+((255&Math.round(j0[1]))<<8)+(255&Math.round(j0[2]))).toString(16).toUpperCase();return\"000000\".substring(Z0.length)+Z0},y.hex.rgb=function(j0){var Z0=j0.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!Z0)return[0,0,0];var g1=Z0[0];Z0[0].length===3&&(g1=g1.split(\"\").map(function(X1){return X1+X1}).join(\"\"));var z1=parseInt(g1,16);return[z1>>16&255,z1>>8&255,255&z1]},y.rgb.hcg=function(j0){var Z0,g1=j0[0]/255,z1=j0[1]/255,X1=j0[2]/255,se=Math.max(Math.max(g1,z1),X1),be=Math.min(Math.min(g1,z1),X1),Je=se-be;return Z0=Je<=0?0:se===g1?(z1-X1)/Je%6:se===z1?2+(X1-g1)/Je:4+(g1-z1)/Je+4,Z0/=6,[360*(Z0%=1),100*Je,100*(Je<1?be/(1-Je):0)]},y.hsl.hcg=function(j0){var Z0=j0[1]/100,g1=j0[2]/100,z1=1,X1=0;return(z1=g1<.5?2*Z0*g1:2*Z0*(1-g1))<1&&(X1=(g1-.5*z1)/(1-z1)),[j0[0],100*z1,100*X1]},y.hsv.hcg=function(j0){var Z0=j0[1]/100,g1=j0[2]/100,z1=Z0*g1,X1=0;return z1<1&&(X1=(g1-z1)/(1-z1)),[j0[0],100*z1,100*X1]},y.hcg.rgb=function(j0){var Z0=j0[0]/360,g1=j0[1]/100,z1=j0[2]/100;if(g1===0)return[255*z1,255*z1,255*z1];var X1,se=[0,0,0],be=Z0%1*6,Je=be%1,ft=1-Je;switch(Math.floor(be)){case 0:se[0]=1,se[1]=Je,se[2]=0;break;case 1:se[0]=ft,se[1]=1,se[2]=0;break;case 2:se[0]=0,se[1]=1,se[2]=Je;break;case 3:se[0]=0,se[1]=ft,se[2]=1;break;case 4:se[0]=Je,se[1]=0,se[2]=1;break;default:se[0]=1,se[1]=0,se[2]=ft}return X1=(1-g1)*z1,[255*(g1*se[0]+X1),255*(g1*se[1]+X1),255*(g1*se[2]+X1)]},y.hcg.hsv=function(j0){var Z0=j0[1]/100,g1=Z0+j0[2]/100*(1-Z0),z1=0;return g1>0&&(z1=Z0/g1),[j0[0],100*z1,100*g1]},y.hcg.hsl=function(j0){var Z0=j0[1]/100,g1=j0[2]/100*(1-Z0)+.5*Z0,z1=0;return g1>0&&g1<.5?z1=Z0/(2*g1):g1>=.5&&g1<1&&(z1=Z0/(2*(1-g1))),[j0[0],100*z1,100*g1]},y.hcg.hwb=function(j0){var Z0=j0[1]/100,g1=Z0+j0[2]/100*(1-Z0);return[j0[0],100*(g1-Z0),100*(1-g1)]},y.hwb.hcg=function(j0){var Z0=j0[1]/100,g1=1-j0[2]/100,z1=g1-Z0,X1=0;return z1<1&&(X1=(g1-z1)/(1-z1)),[j0[0],100*z1,100*X1]},y.apple.rgb=function(j0){return[j0[0]/65535*255,j0[1]/65535*255,j0[2]/65535*255]},y.rgb.apple=function(j0){return[j0[0]/255*65535,j0[1]/255*65535,j0[2]/255*65535]},y.gray.rgb=function(j0){return[j0[0]/100*255,j0[0]/100*255,j0[0]/100*255]},y.gray.hsl=y.gray.hsv=function(j0){return[0,0,j0[0]]},y.gray.hwb=function(j0){return[0,100,j0[0]]},y.gray.cmyk=function(j0){return[0,0,0,j0[0]]},y.gray.lab=function(j0){return[j0[0],0,0]},y.gray.hex=function(j0){var Z0=255&Math.round(j0[0]/100*255),g1=((Z0<<16)+(Z0<<8)+Z0).toString(16).toUpperCase();return\"000000\".substring(g1.length)+g1},y.rgb.gray=function(j0){return[(j0[0]+j0[1]+j0[2])/3/255*100]}});function z0(o){var p=function(){for(var g1={},z1=Object.keys(b0),X1=z1.length,se=0;se<X1;se++)g1[z1[se]]={distance:-1,parent:null};return g1}(),h=[o];for(p[o].distance=0;h.length;)for(var y=h.pop(),k=Object.keys(b0[y]),Q=k.length,$0=0;$0<Q;$0++){var j0=k[$0],Z0=p[j0];Z0.distance===-1&&(Z0.distance=p[y].distance+1,Z0.parent=y,h.unshift(j0))}return p}function U1(o,p){return function(h){return p(o(h))}}function Bx(o,p){for(var h=[p[o].parent,o],y=b0[p[o].parent][o],k=p[o].parent;p[k].parent;)h.unshift(p[k].parent),y=U1(b0[p[k].parent][k],y),k=p[k].parent;return y.conversion=h,y}var pe={};Object.keys(b0).forEach(function(o){pe[o]={},Object.defineProperty(pe[o],\"channels\",{value:b0[o].channels}),Object.defineProperty(pe[o],\"labels\",{value:b0[o].labels});var p=function(h){for(var y=z0(h),k={},Q=Object.keys(y),$0=Q.length,j0=0;j0<$0;j0++){var Z0=Q[j0];y[Z0].parent!==null&&(k[Z0]=Bx(Z0,y))}return k}(o);Object.keys(p).forEach(function(h){var y=p[h];pe[o][h]=function(k){var Q=function($0){if($0==null)return $0;arguments.length>1&&($0=Array.prototype.slice.call(arguments));var j0=k($0);if(typeof j0==\"object\")for(var Z0=j0.length,g1=0;g1<Z0;g1++)j0[g1]=Math.round(j0[g1]);return j0};return\"conversion\"in k&&(Q.conversion=k.conversion),Q}(y),pe[o][h].raw=function(k){var Q=function($0){return $0==null?$0:(arguments.length>1&&($0=Array.prototype.slice.call(arguments)),k($0))};return\"conversion\"in k&&(Q.conversion=k.conversion),Q}(y)})});var ne=pe,Te=s0(function(o){const p=(k,Q)=>function(){return`\u001b[${k.apply(ne,arguments)+Q}m`},h=(k,Q)=>function(){const $0=k.apply(ne,arguments);return`\u001b[${38+Q};5;${$0}m`},y=(k,Q)=>function(){const $0=k.apply(ne,arguments);return`\u001b[${38+Q};2;${$0[0]};${$0[1]};${$0[2]}m`};Object.defineProperty(o,\"exports\",{enumerable:!0,get:function(){const k=new Map,Q={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Q.color.grey=Q.color.gray;for(const Z0 of Object.keys(Q)){const g1=Q[Z0];for(const z1 of Object.keys(g1)){const X1=g1[z1];Q[z1]={open:`\u001b[${X1[0]}m`,close:`\u001b[${X1[1]}m`},g1[z1]=Q[z1],k.set(X1[0],X1[1])}Object.defineProperty(Q,Z0,{value:g1,enumerable:!1}),Object.defineProperty(Q,\"codes\",{value:k,enumerable:!1})}const $0=Z0=>Z0,j0=(Z0,g1,z1)=>[Z0,g1,z1];Q.color.close=\"\u001b[39m\",Q.bgColor.close=\"\u001b[49m\",Q.color.ansi={ansi:p($0,0)},Q.color.ansi256={ansi256:h($0,0)},Q.color.ansi16m={rgb:y(j0,0)},Q.bgColor.ansi={ansi:p($0,10)},Q.bgColor.ansi256={ansi256:h($0,10)},Q.bgColor.ansi16m={rgb:y(j0,10)};for(let Z0 of Object.keys(ne)){if(typeof ne[Z0]!=\"object\")continue;const g1=ne[Z0];Z0===\"ansi16\"&&(Z0=\"ansi\"),\"ansi16\"in g1&&(Q.color.ansi[Z0]=p(g1.ansi16,0),Q.bgColor.ansi[Z0]=p(g1.ansi16,10)),\"ansi256\"in g1&&(Q.color.ansi256[Z0]=h(g1.ansi256,0),Q.bgColor.ansi256[Z0]=h(g1.ansi256,10)),\"rgb\"in g1&&(Q.color.ansi16m[Z0]=y(g1.rgb,0),Q.bgColor.ansi16m[Z0]=y(g1.rgb,10))}return Q}})}),ir=(o,p)=>{p=p||Qc.argv;const h=o.startsWith(\"-\")?\"\":o.length===1?\"-\":\"--\",y=p.indexOf(h+o),k=p.indexOf(\"--\");return y!==-1&&(k===-1||y<k)};const hn=Qc.env;let sn;function Mr(o){return function(p){return p!==0&&{level:p,hasBasic:!0,has256:p>=2,has16m:p>=3}}(function(p){if(sn===!1)return 0;if(ir(\"color=16m\")||ir(\"color=full\")||ir(\"color=truecolor\"))return 3;if(ir(\"color=256\"))return 2;if(p&&!p.isTTY&&sn!==!0)return 0;const h=sn?1:0;if(\"CI\"in hn)return[\"TRAVIS\",\"CIRCLECI\",\"APPVEYOR\",\"GITLAB_CI\"].some(y=>y in hn)||hn.CI_NAME===\"codeship\"?1:h;if(\"TEAMCITY_VERSION\"in hn)return/^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(hn.TEAMCITY_VERSION)?1:0;if(hn.COLORTERM===\"truecolor\")return 3;if(\"TERM_PROGRAM\"in hn){const y=parseInt((hn.TERM_PROGRAM_VERSION||\"\").split(\".\")[0],10);switch(hn.TERM_PROGRAM){case\"iTerm.app\":return y>=3?3:2;case\"Apple_Terminal\":return 2}}return/-256(color)?$/i.test(hn.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(hn.TERM)||\"COLORTERM\"in hn?1:(hn.TERM,h)}(o))}ir(\"no-color\")||ir(\"no-colors\")||ir(\"color=false\")?sn=!1:(ir(\"color\")||ir(\"colors\")||ir(\"color=true\")||ir(\"color=always\"))&&(sn=!0),\"FORCE_COLOR\"in hn&&(sn=hn.FORCE_COLOR.length===0||parseInt(hn.FORCE_COLOR,10)!==0);var ai={supportsColor:Mr,stdout:Mr(Qc.stdout),stderr:Mr(Qc.stderr)};const li=/(?:\\\\(u[a-f\\d]{4}|x[a-f\\d]{2}|.))|(?:\\{(~)?(\\w+(?:\\([^)]*\\))?(?:\\.\\w+(?:\\([^)]*\\))?)*)(?:[ \\t]|(?=\\r?\\n)))|(\\})|((?:.|[\\r\\n\\f])+?)/gi,Hr=/(?:^|\\.)(\\w+)(?:\\(([^)]*)\\))?/g,uo=/^(['\"])((?:\\\\.|(?!\\1)[^\\\\])*)\\1$/,fi=/\\\\(u[a-f\\d]{4}|x[a-f\\d]{2}|.)|([^\\\\])/gi,Fs=new Map([[\"n\",`\n`],[\"r\",\"\\r\"],[\"t\",\"\t\"],[\"b\",\"\\b\"],[\"f\",\"\\f\"],[\"v\",\"\\v\"],[\"0\",\"\\0\"],[\"\\\\\",\"\\\\\"],[\"e\",\"\u001b\"],[\"a\",\"\\x07\"]]);function $a(o){return o[0]===\"u\"&&o.length===5||o[0]===\"x\"&&o.length===3?String.fromCharCode(parseInt(o.slice(1),16)):Fs.get(o)||o}function Ys(o,p){const h=[],y=p.trim().split(/\\s*,\\s*/g);let k;for(const Q of y)if(isNaN(Q)){if(!(k=Q.match(uo)))throw new Error(`Invalid Chalk template style argument: ${Q} (in style '${o}')`);h.push(k[2].replace(fi,($0,j0,Z0)=>j0?$a(j0):Z0))}else h.push(Number(Q));return h}function ru(o){Hr.lastIndex=0;const p=[];let h;for(;(h=Hr.exec(o))!==null;){const y=h[1];if(h[2]){const k=Ys(y,h[2]);p.push([y].concat(k))}else p.push([y])}return p}function js(o,p){const h={};for(const k of p)for(const Q of k.styles)h[Q[0]]=k.inverse?null:Q.slice(1);let y=o;for(const k of Object.keys(h))if(Array.isArray(h[k])){if(!(k in y))throw new Error(`Unknown Chalk style: ${k}`);y=h[k].length>0?y[k].apply(y,h[k]):y[k]}return y}var Yu=(o,p)=>{const h=[],y=[];let k=[];if(p.replace(li,(Q,$0,j0,Z0,g1,z1)=>{if($0)k.push($a($0));else if(Z0){const X1=k.join(\"\");k=[],y.push(h.length===0?X1:js(o,h)(X1)),h.push({inverse:j0,styles:ru(Z0)})}else if(g1){if(h.length===0)throw new Error(\"Found extraneous } in Chalk template literal\");y.push(js(o,h)(k.join(\"\"))),k=[],h.pop()}else k.push(z1)}),y.push(k.join(\"\")),h.length>0){const Q=`Chalk template literal is missing ${h.length} closing bracket${h.length===1?\"\":\"s\"} (\\`}\\`)`;throw new Error(Q)}return y.join(\"\")},wc=s0(function(o){const p=ai.stdout,h=[\"ansi\",\"ansi\",\"ansi256\",\"ansi16m\"],y=new Set([\"gray\"]),k=Object.create(null);function Q(X1,se){se=se||{};const be=p?p.level:0;X1.level=se.level===void 0?be:se.level,X1.enabled=\"enabled\"in se?se.enabled:X1.level>0}function $0(X1){if(!this||!(this instanceof $0)||this.template){const se={};return Q(se,X1),se.template=function(){const be=[].slice.call(arguments);return z1.apply(null,[se.template].concat(be))},Object.setPrototypeOf(se,$0.prototype),Object.setPrototypeOf(se.template,se),se.template.constructor=$0,se.template}Q(this,X1)}for(const X1 of Object.keys(Te))Te[X1].closeRe=new RegExp(rN(Te[X1].close),\"g\"),k[X1]={get(){const se=Te[X1];return Z0.call(this,this._styles?this._styles.concat(se):[se],this._empty,X1)}};k.visible={get(){return Z0.call(this,this._styles||[],!0,\"visible\")}},Te.color.closeRe=new RegExp(rN(Te.color.close),\"g\");for(const X1 of Object.keys(Te.color.ansi))y.has(X1)||(k[X1]={get(){const se=this.level;return function(){const be=Te.color[h[se]][X1].apply(null,arguments),Je={open:be,close:Te.color.close,closeRe:Te.color.closeRe};return Z0.call(this,this._styles?this._styles.concat(Je):[Je],this._empty,X1)}}});Te.bgColor.closeRe=new RegExp(rN(Te.bgColor.close),\"g\");for(const X1 of Object.keys(Te.bgColor.ansi))y.has(X1)||(k[\"bg\"+X1[0].toUpperCase()+X1.slice(1)]={get(){const se=this.level;return function(){const be=Te.bgColor[h[se]][X1].apply(null,arguments),Je={open:be,close:Te.bgColor.close,closeRe:Te.bgColor.closeRe};return Z0.call(this,this._styles?this._styles.concat(Je):[Je],this._empty,X1)}}});const j0=Object.defineProperties(()=>{},k);function Z0(X1,se,be){const Je=function(){return g1.apply(Je,arguments)};Je._styles=X1,Je._empty=se;const ft=this;return Object.defineProperty(Je,\"level\",{enumerable:!0,get:()=>ft.level,set(Xr){ft.level=Xr}}),Object.defineProperty(Je,\"enabled\",{enumerable:!0,get:()=>ft.enabled,set(Xr){ft.enabled=Xr}}),Je.hasGrey=this.hasGrey||be===\"gray\"||be===\"grey\",Je.__proto__=j0,Je}function g1(){const X1=arguments,se=X1.length;let be=String(arguments[0]);if(se===0)return\"\";if(se>1)for(let ft=1;ft<se;ft++)be+=\" \"+X1[ft];if(!this.enabled||this.level<=0||!be)return this._empty?\"\":be;const Je=Te.dim.open;for(const ft of this._styles.slice().reverse())be=ft.open+be.replace(ft.closeRe,ft.open)+ft.close,be=be.replace(/\\r?\\n/g,`${ft.close}$&${ft.open}`);return Te.dim.open=Je,be}function z1(X1,se){if(!Array.isArray(se))return[].slice.call(arguments,1).join(\" \");const be=[].slice.call(arguments,2),Je=[se.raw[0]];for(let ft=1;ft<se.length;ft++)Je.push(String(be[ft-1]).replace(/[{}\\\\]/g,\"\\\\$&\")),Je.push(String(se.raw[ft]));return Yu(X1,Je.join(\"\"))}Object.defineProperties($0.prototype,k),o.exports=$0(),o.exports.supportsColor=p,o.exports.default=o.exports}),au=Iu,nu=J2,kc=function(o,p={}){if(Iu(p)){const h=J2(p);return function(y,k){let Q=\"\";for(const{type:$0,value:j0}of oS(k)){const Z0=y[$0];Q+=Z0?j0.split(k2).map(g1=>Z0(g1)).join(`\n`):j0}return Q}(function(y){return{keyword:y.cyan,capitalized:y.yellow,jsxIdentifier:y.yellow,punctuator:y.yellow,number:y.magenta,string:y.green,regex:y.magenta,comment:y.grey,invalid:y.white.bgRed.bold}}(h),o)}return o};const hc=new Set([\"as\",\"async\",\"from\",\"get\",\"of\",\"set\"]),k2=/\\r\\n|[\\n\\r\\u2028\\u2029]/,KD=/^[()[\\]{}]$/;let oS;{const o=/^[a-z][\\w-]*$/i,p=function(h,y,k){if(h.type===\"name\"){if((0,Vh.isKeyword)(h.value)||(0,Vh.isStrictReservedWord)(h.value,!0)||hc.has(h.value))return\"keyword\";if(o.test(h.value)&&(k[y-1]===\"<\"||k.substr(y-2,2)==\"</\"))return\"jsxIdentifier\";if(h.value[0]!==h.value[0].toLowerCase())return\"capitalized\"}return h.type===\"punctuator\"&&KD.test(h.value)?\"bracket\":h.type!==\"invalid\"||h.value!==\"@\"&&h.value!==\"#\"?h.type:\"punctuator\"};oS=function*(h){let y;for(;y=OI.default.exec(h);){const k=OI.matchToToken(y);yield{type:p(k,y.index,h),value:k.value}}}}function Iu(o){return!!wc.supportsColor||o.forceColor}function J2(o){return o.forceColor?new wc.constructor({enabled:!0,level:1}):wc}var Nc=Object.defineProperty({shouldHighlight:au,getChalk:nu,default:kc},\"__esModule\",{value:!0}),Yd=Yp,H2=function(o,p,h,y={}){if(!Xp){Xp=!0;const k=\"Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`.\";new Error(k).name=\"DeprecationWarning\",console.warn(new Error(k))}return h=Math.max(h,0),Yp(o,{start:{column:h,line:p}},y)};let Xp=!1;const wS=/\\r\\n|[\\n\\r\\u2028\\u2029]/;function Yp(o,p,h={}){const y=(h.highlightCode||h.forceColor)&&(0,Nc.shouldHighlight)(h),k=(0,Nc.getChalk)(h),Q=function(Je){return{gutter:Je.grey,marker:Je.red.bold,message:Je.red.bold}}(k),$0=(Je,ft)=>y?Je(ft):ft,j0=o.split(wS),{start:Z0,end:g1,markerLines:z1}=function(Je,ft,Xr){const on=Object.assign({column:0,line:-1},Je.start),Wr=Object.assign({},on,Je.end),{linesAbove:Zi=2,linesBelow:hs=3}=Xr||{},Ao=on.line,Hs=on.column,Oc=Wr.line,Nd=Wr.column;let qd=Math.max(Ao-(Zi+1),0),Hl=Math.min(ft.length,Oc+hs);Ao===-1&&(qd=0),Oc===-1&&(Hl=ft.length);const gf=Oc-Ao,Qh={};if(gf)for(let N8=0;N8<=gf;N8++){const o8=N8+Ao;if(Hs)if(N8===0){const P5=ft[o8-1].length;Qh[o8]=[Hs,P5-Hs+1]}else if(N8===gf)Qh[o8]=[0,Nd];else{const P5=ft[o8-N8].length;Qh[o8]=[0,P5]}else Qh[o8]=!0}else Qh[Ao]=Hs===Nd?!Hs||[Hs,0]:[Hs,Nd-Hs];return{start:qd,end:Hl,markerLines:Qh}}(p,j0,h),X1=p.start&&typeof p.start.column==\"number\",se=String(g1).length;let be=(y?(0,Nc.default)(o,h):o).split(wS).slice(Z0,g1).map((Je,ft)=>{const Xr=Z0+1+ft,on=` ${` ${Xr}`.slice(-se)} |`,Wr=z1[Xr],Zi=!z1[Xr+1];if(Wr){let hs=\"\";if(Array.isArray(Wr)){const Ao=Je.slice(0,Math.max(Wr[0]-1,0)).replace(/[^\\t]/g,\" \"),Hs=Wr[1]||1;hs=[`\n `,$0(Q.gutter,on.replace(/\\d/g,\" \")),\" \",Ao,$0(Q.marker,\"^\").repeat(Hs)].join(\"\"),Zi&&h.message&&(hs+=\" \"+$0(Q.message,h.message))}return[$0(Q.marker,\">\"),$0(Q.gutter,on),Je.length>0?` ${Je}`:\"\",hs].join(\"\")}return` ${$0(Q.gutter,on)}${Je.length>0?` ${Je}`:\"\"}`}).join(`\n`);return h.message&&!X1&&(be=`${\" \".repeat(se+1)}${h.message}\n${be}`),y?k.reset(be):be}var Vm=Object.defineProperty({codeFrameColumns:Yd,default:H2},\"__esModule\",{value:!0}),So=K($5);const{ConfigError:cT}=M4,{locStart:Dh,locEnd:D2}=s5,Bd=Object.getOwnPropertyNames,pf=Object.getOwnPropertyDescriptor;function ld(o){const p={};for(const h of o.plugins)if(h.parsers)for(const y of Bd(h.parsers))Object.defineProperty(p,y,pf(h.parsers,y));return p}function Uc(o,p=ld(o)){if(typeof o.parser==\"function\")return{parse:o.parser,astFormat:\"estree\",locStart:Dh,locEnd:D2};if(typeof o.parser==\"string\"){if(Object.prototype.hasOwnProperty.call(p,o.parser))return p[o.parser];throw new cT(`Couldn't resolve parser \"${o.parser}\". Parsers must be explicitly added to the standalone bundle.`)}}var lP={parse:function(o,p){const h=ld(p),y=Object.defineProperties({},Object.fromEntries(Object.keys(h).map(Q=>[Q,{enumerable:!0,get:()=>h[Q].parse}]))),k=Uc(p,h);try{return k.preprocess&&(o=k.preprocess(o,p)),{text:o,ast:k.parse(o,y,p)}}catch(Q){const{loc:$0}=Q;if($0){const{codeFrameColumns:j0}=Vm;throw Q.codeFrame=j0(o,$0,{highlightCode:!0}),Q.message+=`\n`+Q.codeFrame,Q}throw Q.stack}},resolveParser:Uc};const{UndefinedParserError:Cw}=M4,{getSupportInfo:Dd}=Xe,{resolveParser:de}=lP,dm={astFormat:\"estree\",printer:{},originalText:void 0,locStart:null,locEnd:null};function OB(o,p){const h=So.basename(o).toLowerCase(),y=Dd({plugins:p}).languages.filter(Q=>Q.since!==null);let k=y.find(Q=>Q.extensions&&Q.extensions.some($0=>h.endsWith($0))||Q.filenames&&Q.filenames.some($0=>$0.toLowerCase()===h));if(!k&&!h.includes(\".\")){const Q=function($0){if(typeof $0!=\"string\")return\"\";let j0;try{j0=D4.openSync($0,\"r\")}catch{return\"\"}try{const Z0=new E5(j0).next().toString(\"utf8\"),g1=Z0.match(/^#!\\/(?:usr\\/)?bin\\/env\\s+(\\S+)/);if(g1)return g1[1];const z1=Z0.match(/^#!\\/(?:usr\\/(?:local\\/)?)?bin\\/(\\S+)/);return z1?z1[1]:\"\"}catch{return\"\"}finally{try{D4.closeSync(j0)}catch{}}}(o);k=y.find($0=>$0.interpreters&&$0.interpreters.includes(Q))}return k&&k.parsers[0]}var BB={normalize:function(o,p={}){const h=Object.assign({},o),y=Dd({plugins:o.plugins,showUnreleased:!0,showDeprecated:!0}).options,k=Object.assign(Object.assign({},dm),Object.fromEntries(y.filter(g1=>g1.default!==void 0).map(g1=>[g1.name,g1.default])));if(!h.parser)if(h.filepath){if(h.parser=OB(h.filepath,h.plugins),!h.parser)throw new Cw(`No parser could be inferred for file: ${h.filepath}`)}else(p.logger||console).warn(\"No parser and no filepath given, using 'babel' the parser now but this will throw an error in the future. Please specify a parser or a filepath so one can be inferred.\"),h.parser=\"babel\";const Q=de(Pm.normalizeApiOptions(h,[y.find(g1=>g1.name===\"parser\")],{passThrough:!0,logger:!1}));h.astFormat=Q.astFormat,h.locEnd=Q.locEnd,h.locStart=Q.locStart;const $0=function(g1){const{astFormat:z1}=g1;if(!z1)throw new Error(\"getPlugin() requires astFormat to be set\");const X1=g1.plugins.find(se=>se.printers&&se.printers[z1]);if(!X1)throw new Error(`Couldn't find plugin for AST format \"${z1}\"`);return X1}(h);h.printer=$0.printers[h.astFormat];const j0=Object.fromEntries(y.filter(g1=>g1.pluginDefaults&&g1.pluginDefaults[$0.name]!==void 0).map(g1=>[g1.name,g1.pluginDefaults[$0.name]])),Z0=Object.assign(Object.assign({},k),j0);for(const[g1,z1]of Object.entries(Z0))h[g1]!==null&&h[g1]!==void 0||(h[g1]=z1);return h.parser===\"json\"&&(h.trailingComma=\"none\"),Pm.normalizeApiOptions(h,y,Object.assign({passThrough:Object.keys(dm)},p))},hiddenDefaults:dm,inferParser:OB},dC=function o(p,h,y){if(Array.isArray(p))return p.map(j0=>o(j0,h,y)).filter(Boolean);if(!p||typeof p!=\"object\")return p;const k=h.printer.massageAstNode;let Q;Q=k&&k.ignoredProperties?k.ignoredProperties:new Set;const $0={};for(const[j0,Z0]of Object.entries(p))Q.has(j0)||typeof Z0==\"function\"||($0[j0]=o(Z0,h,p));if(k){const j0=k(p,$0,y);if(j0===null)return;if(j0)return j0}return $0},Eb=typeof Object.create==\"function\"?function(o,p){o.super_=p,o.prototype=Object.create(p.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}})}:function(o,p){o.super_=p;var h=function(){};h.prototype=p.prototype,o.prototype=new h,o.prototype.constructor=o};function BN(o,p){var h={seen:[],stylize:ga};return arguments.length>=3&&(h.depth=arguments[2]),arguments.length>=4&&(h.colors=arguments[3]),WA(p)?h.showHidden=p:p&&IF(h,p),iN(h.showHidden)&&(h.showHidden=!1),iN(h.depth)&&(h.depth=2),iN(h.colors)&&(h.colors=!1),iN(h.customInspect)&&(h.customInspect=!0),h.colors&&(h.stylize=FO),mm(h,o,h.depth)}function FO(o,p){var h=BN.styles[p];return h?\"\u001b[\"+BN.colors[h][0]+\"m\"+o+\"\u001b[\"+BN.colors[h][1]+\"m\":o}function ga(o,p){return o}function mm(o,p,h){if(o.customInspect&&p&&jg(p.inspect)&&p.inspect!==BN&&(!p.constructor||p.constructor.prototype!==p)){var y=p.inspect(h,o);return __(y)||(y=mm(o,y,h)),y}var k=function(be,Je){if(iN(Je))return be.stylize(\"undefined\",\"undefined\");if(__(Je)){var ft=\"'\"+JSON.stringify(Je).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return be.stylize(ft,\"string\")}if(Xr=Je,typeof Xr==\"number\")return be.stylize(\"\"+Je,\"number\");var Xr;if(WA(Je))return be.stylize(\"\"+Je,\"boolean\");if(AA(Je))return be.stylize(\"null\",\"null\")}(o,p);if(k)return k;var Q=Object.keys(p),$0=function(be){var Je={};return be.forEach(function(ft,Xr){Je[ft]=!0}),Je}(Q);if(o.showHidden&&(Q=Object.getOwnPropertyNames(p)),JP(p)&&(Q.indexOf(\"message\")>=0||Q.indexOf(\"description\")>=0))return ds(p);if(Q.length===0){if(jg(p)){var j0=p.name?\": \"+p.name:\"\";return o.stylize(\"[Function\"+j0+\"]\",\"special\")}if(ig(p))return o.stylize(RegExp.prototype.toString.call(p),\"regexp\");if($m(p))return o.stylize(Date.prototype.toString.call(p),\"date\");if(JP(p))return ds(p)}var Z0,g1,z1=\"\",X1=!1,se=[\"{\",\"}\"];return Z0=p,Array.isArray(Z0)&&(X1=!0,se=[\"[\",\"]\"]),jg(p)&&(z1=\" [Function\"+(p.name?\": \"+p.name:\"\")+\"]\"),ig(p)&&(z1=\" \"+RegExp.prototype.toString.call(p)),$m(p)&&(z1=\" \"+Date.prototype.toUTCString.call(p)),JP(p)&&(z1=\" \"+ds(p)),Q.length!==0||X1&&p.length!=0?h<0?ig(p)?o.stylize(RegExp.prototype.toString.call(p),\"regexp\"):o.stylize(\"[Object]\",\"special\"):(o.seen.push(p),g1=X1?function(be,Je,ft,Xr,on){for(var Wr=[],Zi=0,hs=Je.length;Zi<hs;++Zi)Ly(Je,String(Zi))?Wr.push($h(be,Je,ft,Xr,String(Zi),!0)):Wr.push(\"\");return on.forEach(function(Ao){Ao.match(/^\\d+$/)||Wr.push($h(be,Je,ft,Xr,Ao,!0))}),Wr}(o,p,h,$0,Q):Q.map(function(be){return $h(o,p,h,$0,be,X1)}),o.seen.pop(),function(be,Je,ft){return be.reduce(function(Xr,on){return on.indexOf(`\n`),Xr+on.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1},0)>60?ft[0]+(Je===\"\"?\"\":Je+`\n `)+\" \"+be.join(`,\n  `)+\" \"+ft[1]:ft[0]+Je+\" \"+be.join(\", \")+\" \"+ft[1]}(g1,z1,se)):se[0]+z1+se[1]}function ds(o){return\"[\"+Error.prototype.toString.call(o)+\"]\"}function $h(o,p,h,y,k,Q){var $0,j0,Z0;if((Z0=Object.getOwnPropertyDescriptor(p,k)||{value:p[k]}).get?j0=Z0.set?o.stylize(\"[Getter/Setter]\",\"special\"):o.stylize(\"[Getter]\",\"special\"):Z0.set&&(j0=o.stylize(\"[Setter]\",\"special\")),Ly(y,k)||($0=\"[\"+k+\"]\"),j0||(o.seen.indexOf(Z0.value)<0?(j0=AA(h)?mm(o,Z0.value,null):mm(o,Z0.value,h-1)).indexOf(`\n`)>-1&&(j0=Q?j0.split(`\n`).map(function(g1){return\"  \"+g1}).join(`\n`).substr(2):`\n`+j0.split(`\n`).map(function(g1){return\"   \"+g1}).join(`\n`)):j0=o.stylize(\"[Circular]\",\"special\")),iN($0)){if(Q&&k.match(/^\\d+$/))return j0;($0=JSON.stringify(\"\"+k)).match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)?($0=$0.substr(1,$0.length-2),$0=o.stylize($0,\"name\")):($0=$0.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),$0=o.stylize($0,\"string\"))}return $0+\": \"+j0}function WA(o){return typeof o==\"boolean\"}function AA(o){return o===null}function __(o){return typeof o==\"string\"}function iN(o){return o===void 0}function ig(o){return LI(o)&&fP(o)===\"[object RegExp]\"}function LI(o){return typeof o==\"object\"&&o!==null}function $m(o){return LI(o)&&fP(o)===\"[object Date]\"}function JP(o){return LI(o)&&(fP(o)===\"[object Error]\"||o instanceof Error)}function jg(o){return typeof o==\"function\"}function _R(o){return o===null||typeof o==\"boolean\"||typeof o==\"number\"||typeof o==\"string\"||typeof o==\"symbol\"||o===void 0}function fP(o){return Object.prototype.toString.call(o)}function IF(o,p){if(!p||!LI(p))return o;for(var h=Object.keys(p),y=h.length;y--;)o[h[y]]=p[h[y]];return o}function Ly(o,p){return Object.prototype.hasOwnProperty.call(o,p)}function y_(o,p){if(o===p)return 0;for(var h=o.length,y=p.length,k=0,Q=Math.min(h,y);k<Q;++k)if(o[k]!==p[k]){h=o[k],y=p[k];break}return h<y?-1:y<h?1:0}BN.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},BN.styles={special:\"cyan\",number:\"yellow\",boolean:\"yellow\",undefined:\"grey\",null:\"bold\",string:\"green\",date:\"magenta\",regexp:\"red\"};var ag,Gw=Object.prototype.hasOwnProperty,ih=Object.keys||function(o){var p=[];for(var h in o)Gw.call(o,h)&&p.push(h);return p},Xw=Array.prototype.slice;function L9(){return ag!==void 0?ag:ag=function(){}.name===\"foo\"}function u5(o){return Object.prototype.toString.call(o)}function Ew(o){return!T8(o)&&typeof YS.ArrayBuffer==\"function\"&&(typeof ArrayBuffer.isView==\"function\"?ArrayBuffer.isView(o):!!o&&(o instanceof DataView||!!(o.buffer&&o.buffer instanceof ArrayBuffer)))}function u2(o,p){o||c2(o,!0,p,\"==\",og)}var c3=/\\s*function\\s+([^\\(\\s]*)\\s*/;function h9(o){if(jg(o)){if(L9())return o.name;var p=o.toString().match(c3);return p&&p[1]}}function fl(o){this.name=\"AssertionError\",this.actual=o.actual,this.expected=o.expected,this.operator=o.operator,o.message?(this.message=o.message,this.generatedMessage=!1):(this.message=function(j0){return LB(Km(j0.actual),128)+\" \"+j0.operator+\" \"+LB(Km(j0.expected),128)}(this),this.generatedMessage=!0);var p=o.stackStartFunction||c2;if(Error.captureStackTrace)Error.captureStackTrace(this,p);else{var h=new Error;if(h.stack){var y=h.stack,k=h9(p),Q=y.indexOf(`\n`+k);if(Q>=0){var $0=y.indexOf(`\n`,Q+1);y=y.substring($0+1)}this.stack=y}}}function LB(o,p){return typeof o==\"string\"?o.length<p?o:o.slice(0,p):o}function Km(o){if(L9()||!jg(o))return BN(o);var p=h9(o);return\"[Function\"+(p?\": \"+p:\"\")+\"]\"}function c2(o,p,h,y,k){throw new fl({message:h,actual:o,expected:p,operator:y,stackStartFunction:k})}function og(o,p){o||c2(o,!0,p,\"==\",og)}function af(o,p,h){o!=p&&c2(o,p,h,\"==\",af)}function Yw(o,p,h){o==p&&c2(o,p,h,\"!=\",Yw)}function lT(o,p,h){AO(o,p,!1)||c2(o,p,h,\"deepEqual\",lT)}function pP(o,p,h){AO(o,p,!0)||c2(o,p,h,\"deepStrictEqual\",pP)}function AO(o,p,h,y){if(o===p)return!0;if(T8(o)&&T8(p))return y_(o,p)===0;if($m(o)&&$m(p))return o.getTime()===p.getTime();if(ig(o)&&ig(p))return o.source===p.source&&o.global===p.global&&o.multiline===p.multiline&&o.lastIndex===p.lastIndex&&o.ignoreCase===p.ignoreCase;if(o!==null&&typeof o==\"object\"||p!==null&&typeof p==\"object\"){if(Ew(o)&&Ew(p)&&u5(o)===u5(p)&&!(o instanceof Float32Array||o instanceof Float64Array))return y_(new Uint8Array(o.buffer),new Uint8Array(p.buffer))===0;if(T8(o)!==T8(p))return!1;var k=(y=y||{actual:[],expected:[]}).actual.indexOf(o);return k!==-1&&k===y.expected.indexOf(p)||(y.actual.push(o),y.expected.push(p),function(Q,$0,j0,Z0){if(Q==null||$0==null)return!1;if(_R(Q)||_R($0))return Q===$0;if(j0&&Object.getPrototypeOf(Q)!==Object.getPrototypeOf($0))return!1;var g1=Sb(Q),z1=Sb($0);if(g1&&!z1||!g1&&z1)return!1;if(g1)return AO(Q=Xw.call(Q),$0=Xw.call($0),j0);var X1,se,be=ih(Q),Je=ih($0);if(be.length!==Je.length)return!1;for(be.sort(),Je.sort(),se=be.length-1;se>=0;se--)if(be[se]!==Je[se])return!1;for(se=be.length-1;se>=0;se--)if(!AO(Q[X1=be[se]],$0[X1],j0,Z0))return!1;return!0}(o,p,h,y))}return h?o===p:o==p}function Sb(o){return Object.prototype.toString.call(o)==\"[object Arguments]\"}function ny(o,p,h){AO(o,p,!1)&&c2(o,p,h,\"notDeepEqual\",ny)}function Fb(o,p,h){AO(o,p,!0)&&c2(o,p,h,\"notDeepStrictEqual\",Fb)}function iy(o,p,h){o!==p&&c2(o,p,h,\"===\",iy)}function TO(o,p,h){o===p&&c2(o,p,h,\"!==\",TO)}function JL(o,p){if(!o||!p)return!1;if(Object.prototype.toString.call(p)==\"[object RegExp]\")return p.test(o);try{if(o instanceof p)return!0}catch{}return!Error.isPrototypeOf(p)&&p.call({},o)===!0}function Xj(o,p,h,y){var k;if(typeof p!=\"function\")throw new TypeError('\"block\" argument must be a function');typeof h==\"string\"&&(y=h,h=null),k=function(j0){var Z0;try{j0()}catch(g1){Z0=g1}return Z0}(p),y=(h&&h.name?\" (\"+h.name+\").\":\".\")+(y?\" \"+y:\".\"),o&&!k&&c2(k,h,\"Missing expected exception\"+y);var Q=typeof y==\"string\",$0=!o&&k&&!h;if((!o&&JP(k)&&Q&&JL(k,h)||$0)&&c2(k,h,\"Got unwanted exception\"+y),o&&k&&h&&!JL(k,h)||!o&&k)throw k}function l3(o,p,h){Xj(!0,o,p,h)}function MB(o,p,h){Xj(!1,o,p,h)}function C(o){if(o)throw o}u2.AssertionError=fl,Eb(fl,Error),u2.fail=c2,u2.ok=og,u2.equal=af,u2.notEqual=Yw,u2.deepEqual=lT,u2.deepStrictEqual=pP,u2.notDeepEqual=ny,u2.notDeepStrictEqual=Fb,u2.strictEqual=iy,u2.notStrictEqual=TO,u2.throws=l3,u2.doesNotThrow=MB,u2.ifError=C;var D=K(Object.freeze({__proto__:null,default:u2,AssertionError:fl,fail:c2,ok:og,assert:og,equal:af,notEqual:Yw,deepEqual:lT,deepStrictEqual:pP,notDeepEqual:ny,notDeepStrictEqual:Fb,strictEqual:iy,notStrictEqual:TO,throws:l3,doesNotThrow:MB,ifError:C}));const{builders:{line:$,hardline:o1,breakParent:j1,indent:v1,lineSuffix:ex,join:_0,cursor:Ne}}=xp,{hasNewline:e,skipNewline:s,skipSpaces:X,isPreviousLineEmpty:J,addLeadingComment:m0,addDanglingComment:s1,addTrailingComment:i0}=Po,H0=new WeakMap;function E0(o,p,h){if(!o)return;const{printer:y,locStart:k,locEnd:Q}=p;if(h){if(y.canAttachComment&&y.canAttachComment(o)){let j0;for(j0=h.length-1;j0>=0&&!(k(h[j0])<=k(o)&&Q(h[j0])<=Q(o));--j0);return void h.splice(j0+1,0,o)}}else if(H0.has(o))return H0.get(o);const $0=y.getCommentChildNodes&&y.getCommentChildNodes(o,p)||typeof o==\"object\"&&Object.entries(o).filter(([j0])=>j0!==\"enclosingNode\"&&j0!==\"precedingNode\"&&j0!==\"followingNode\"&&j0!==\"tokens\"&&j0!==\"comments\").map(([,j0])=>j0);if($0){h||(h=[],H0.set(o,h));for(const j0 of $0)E0(j0,p,h);return h}}function I(o,p,h,y){const{locStart:k,locEnd:Q}=h,$0=k(p),j0=Q(p),Z0=E0(o,h);let g1,z1,X1=0,se=Z0.length;for(;X1<se;){const be=X1+se>>1,Je=Z0[be],ft=k(Je),Xr=Q(Je);if(ft<=$0&&j0<=Xr)return I(Je,p,h,Je);if(Xr<=$0)g1=Je,X1=be+1;else{if(!(j0<=ft))throw new Error(\"Comment location overlaps with node location\");z1=Je,se=be}}if(y&&y.type===\"TemplateLiteral\"){const{quasis:be}=y,Je=u0(be,p,h);g1&&u0(be,g1,h)!==Je&&(g1=null),z1&&u0(be,z1,h)!==Je&&(z1=null)}return{enclosingNode:y,precedingNode:g1,followingNode:z1}}const A=()=>!1,Z=o=>!/[\\S\\n\\u2028\\u2029]/.test(o);function A0(o,p,h,y){const{comment:k,precedingNode:Q}=h[y],{locStart:$0,locEnd:j0}=p;let Z0=$0(k);if(Q)for(let g1=y-1;g1>=0;g1--){const{comment:z1,precedingNode:X1}=h[g1];if(X1!==Q||!Z(o.slice(j0(z1),Z0)))break;Z0=$0(z1)}return e(o,Z0,{backwards:!0})}function o0(o,p,h,y){const{comment:k,followingNode:Q}=h[y],{locStart:$0,locEnd:j0}=p;let Z0=j0(k);if(Q)for(let g1=y+1;g1<h.length;g1++){const{comment:z1,followingNode:X1}=h[g1];if(X1!==Q||!Z(o.slice(Z0,$0(z1))))break;Z0=j0(z1)}return e(o,Z0)}function j(o,p,h){const y=o.length;if(y===0)return;const{precedingNode:k,followingNode:Q,enclosingNode:$0}=o[0],j0=h.printer.getGapRegex&&h.printer.getGapRegex($0)||/^[\\s(]*$/;let Z0,g1=h.locStart(Q);for(Z0=y;Z0>0;--Z0){const{comment:z1,precedingNode:X1,followingNode:se}=o[Z0-1];D.strictEqual(X1,k),D.strictEqual(se,Q);const be=p.slice(h.locEnd(z1),g1);if(!j0.test(be))break;g1=h.locStart(z1)}for(const[z1,{comment:X1}]of o.entries())z1<Z0?i0(k,X1):m0(Q,X1);for(const z1 of[k,Q])z1.comments&&z1.comments.length>1&&z1.comments.sort((X1,se)=>h.locStart(X1)-h.locStart(se));o.length=0}function G(o,p){return o.getValue().printed=!0,p.printer.printComment(o,p)}function u0(o,p,h){const y=h.locStart(p)-1;for(let k=1;k<o.length;++k)if(y<h.locStart(o[k]))return k-1;return 0}function U(o,p,h){const y=o.getValue();if(!y)return{};let k=y.comments||[];h&&(k=k.filter(Z0=>!h.has(Z0)));const Q=y===p.cursorNode;if(k.length===0){const Z0=Q?Ne:\"\";return{leading:Z0,trailing:Z0}}const $0=[],j0=[];return o.each(()=>{const Z0=o.getValue();if(h&&h.has(Z0))return;const{leading:g1,trailing:z1}=Z0;g1?$0.push(function(X1,se){const be=X1.getValue(),Je=[G(X1,se)],{printer:ft,originalText:Xr,locStart:on,locEnd:Wr}=se;if(ft.isBlockComment&&ft.isBlockComment(be)){const hs=e(Xr,Wr(be))?e(Xr,on(be),{backwards:!0})?o1:$:\" \";Je.push(hs)}else Je.push(o1);const Zi=s(Xr,X(Xr,Wr(be)));return Zi!==!1&&e(Xr,Zi)&&Je.push(o1),Je}(o,p)):z1&&j0.push(function(X1,se){const be=X1.getValue(),Je=G(X1,se),{printer:ft,originalText:Xr,locStart:on}=se,Wr=ft.isBlockComment&&ft.isBlockComment(be);if(e(Xr,on(be),{backwards:!0})){const hs=J(Xr,be,on);return ex([o1,hs?o1:\"\",Je])}let Zi=[\" \",Je];return Wr||(Zi=[ex(Zi),j1]),Zi}(o,p))},\"comments\"),Q&&($0.unshift(Ne),j0.push(Ne)),{leading:$0,trailing:j0}}var g0={attach:function(o,p,h,y){if(!Array.isArray(o))return;const k=[],{locStart:Q,locEnd:$0,printer:{handleComments:j0={}}}=y,{avoidAstMutation:Z0,ownLine:g1=A,endOfLine:z1=A,remaining:X1=A}=j0,se=o.map((be,Je)=>Object.assign(Object.assign({},I(p,be,y)),{},{comment:be,text:h,options:y,ast:p,isLastComment:o.length-1===Je}));for(const[be,Je]of se.entries()){const{comment:ft,precedingNode:Xr,enclosingNode:on,followingNode:Wr,text:Zi,options:hs,ast:Ao,isLastComment:Hs}=Je;if(hs.parser===\"json\"||hs.parser===\"json5\"||hs.parser===\"__js_expression\"||hs.parser===\"__vue_expression\"){if(Q(ft)-Q(Ao)<=0){m0(Ao,ft);continue}if($0(ft)-$0(Ao)>=0){i0(Ao,ft);continue}}let Oc;if(Z0?Oc=[Je]:(ft.enclosingNode=on,ft.precedingNode=Xr,ft.followingNode=Wr,Oc=[ft,Zi,hs,Ao,Hs]),A0(Zi,hs,se,be))ft.placement=\"ownLine\",g1(...Oc)||(Wr?m0(Wr,ft):Xr?i0(Xr,ft):s1(on||Ao,ft));else if(o0(Zi,hs,se,be))ft.placement=\"endOfLine\",z1(...Oc)||(Xr?i0(Xr,ft):Wr?m0(Wr,ft):s1(on||Ao,ft));else if(ft.placement=\"remaining\",!X1(...Oc))if(Xr&&Wr){const Nd=k.length;Nd>0&&k[Nd-1].followingNode!==Wr&&j(k,Zi,hs),k.push(Je)}else Xr?i0(Xr,ft):Wr?m0(Wr,ft):s1(on||Ao,ft)}if(j(k,h,y),!Z0)for(const be of o)delete be.precedingNode,delete be.enclosingNode,delete be.followingNode},printComments:function(o,p,h,y){const{leading:k,trailing:Q}=U(o,h,y);return k||Q?[k,p,Q]:p},printCommentsSeparately:U,printDanglingComments:function(o,p,h,y){const k=[],Q=o.getValue();return Q&&Q.comments?(o.each(()=>{const $0=o.getValue();$0.leading||$0.trailing||y&&!y($0)||k.push(G(o,p))},\"comments\"),k.length===0?\"\":h?_0(o1,k):v1([o1,_0(o1,k)])):\"\"},getSortedChildNodes:E0,ensureAllCommentsPrinted:function(o){if(o)for(const p of o){if(!p.printed)throw new Error('Comment \"'+p.value.trim()+'\" was not printed. Please report this error!');delete p.printed}}};function d0(o,p){const h=P0(o.stack,p);return h===-1?null:o.stack[h]}function P0(o,p){for(let h=o.length-1;h>=0;h-=2){const y=o[h];if(y&&!Array.isArray(y)&&--p<0)return h}return-1}var c0=class{constructor(o){this.stack=[o]}getName(){const{stack:o}=this,{length:p}=o;return p>1?o[p-2]:null}getValue(){return l_(this.stack)}getNode(o=0){return d0(this,o)}getParentNode(o=0){return d0(this,o+1)}call(o,...p){const{stack:h}=this,{length:y}=h;let k=l_(h);for(const $0 of p)k=k[$0],h.push($0,k);const Q=o(this);return h.length=y,Q}callParent(o,p=0){const h=P0(this.stack,p+1),y=this.stack.splice(h+1),k=o(this);return this.stack.push(...y),k}each(o,...p){const{stack:h}=this,{length:y}=h;let k=l_(h);for(const Q of p)k=k[Q],h.push(Q,k);for(let Q=0;Q<k.length;++Q)h.push(Q,k[Q]),o(this,Q,k),h.length-=2;h.length=y}map(o,...p){const h=[];return this.each((y,k,Q)=>{h[k]=o(y,k,Q)},...p),h}try(o){const{stack:p}=this,h=[...p];try{return o()}finally{p.length=0,p.push(...h)}}match(...o){let p=this.stack.length-1,h=null,y=this.stack[p--];for(const k of o){if(y===void 0)return!1;let Q=null;if(typeof h==\"number\"&&(Q=h,h=this.stack[p--],y=this.stack[p--]),k&&!k(y,h,Q))return!1;h=this.stack[p--],y=this.stack[p--]}return!0}findAncestor(o){let p=this.stack.length-1,h=null,y=this.stack[p--];for(;y;){let k=null;if(typeof h==\"number\"&&(k=h,h=this.stack[p--],y=this.stack[p--]),h!==null&&o(y,h,k))return y;h=this.stack[p--],y=this.stack[p--]}}};const{utils:{stripTrailingHardline:D0}}=xp,{normalize:x0}=BB;var l0={printSubtree:function(o,p,h,y){if(h.printer.embed&&h.embeddedLanguageFormatting===\"auto\")return h.printer.embed(o,p,(k,Q,$0)=>function(j0,Z0,g1,z1,{stripTrailingHardline:X1=!1}={}){const se=x0(Object.assign(Object.assign(Object.assign({},g1),Z0),{},{parentParser:g1.parser,originalText:j0}),{passThrough:!0}),be=lP.parse(j0,se),{ast:Je}=be;j0=be.text;const ft=Je.comments;delete Je.comments,g0.attach(ft,Je,j0,se),se[Symbol.for(\"comments\")]=ft||[],se[Symbol.for(\"tokens\")]=Je.tokens||[];const Xr=z1(Je,se);return g0.ensureAllCommentsPrinted(ft),X1?typeof Xr==\"string\"?Xr.replace(/(?:\\r?\\n)*$/,\"\"):D0(Xr):Xr}(k,Q,h,y,$0),h)}};const{builders:{hardline:w0,addAlignmentToDoc:V},utils:{propagateBreaks:w}}=xp,{printComments:H}=g0;function k0(o,p,h=0){const{printer:y}=p;y.preprocess&&(o=y.preprocess(o,p));const k=new Map,Q=new c0(o);let $0=j0();return h>0&&($0=V([w0,$0],h,p.tabWidth)),w($0),$0;function j0(g1,z1){return g1===void 0||g1===Q?Z0(z1):Array.isArray(g1)?Q.call(()=>Z0(z1),...g1):Q.call(()=>Z0(z1),g1)}function Z0(g1){const z1=Q.getValue(),X1=z1&&typeof z1==\"object\"&&g1===void 0;if(X1&&k.has(z1))return k.get(z1);const se=function(be,Je,ft,Xr){const on=be.getValue(),{printer:Wr}=Je;let Zi,hs;if(Wr.hasPrettierIgnore&&Wr.hasPrettierIgnore(be))({doc:Zi,printedComments:hs}=function(Ao,Hs){const{originalText:Oc,[Symbol.for(\"comments\")]:Nd,locStart:qd,locEnd:Hl}=Hs,gf=qd(Ao),Qh=Hl(Ao),N8=new Set;for(const o8 of Nd)qd(o8)>=gf&&Hl(o8)<=Qh&&(o8.printed=!0,N8.add(o8));return{doc:Oc.slice(gf,Qh),printedComments:N8}}(on,Je));else{if(on)try{Zi=l0.printSubtree(be,ft,Je,k0)}catch(Ao){if(R.PRETTIER_DEBUG)throw Ao}Zi||(Zi=Wr.print(be,Je,ft,Xr))}return Wr.willPrintOwnComments&&Wr.willPrintOwnComments(be,Je)||(Zi=H(be,Zi,Je,hs)),Zi}(Q,p,j0,g1);return X1&&k.set(z1,se),se}}var V0=k0;function t0(o){let p=o.length-1;for(;;){const h=o[p];if(!h||h.type!==\"Program\"&&h.type!==\"File\")break;p--}return o.slice(0,p+1)}function f0(o,p,h,y,k=[],Q){const{locStart:$0,locEnd:j0}=h,Z0=$0(o),g1=j0(o);if(!(p>g1||p<Z0||Q===\"rangeEnd\"&&p===Z0||Q===\"rangeStart\"&&p===g1)){for(const z1 of g0.getSortedChildNodes(o,h)){const X1=f0(z1,p,h,y,[o,...k],Q);if(X1)return X1}return!y||y(o,k[0])?{node:o,parentNodes:k}:void 0}}const y0=new Set([\"ObjectExpression\",\"ArrayExpression\",\"StringLiteral\",\"NumericLiteral\",\"BooleanLiteral\",\"NullLiteral\",\"UnaryExpression\",\"TemplateLiteral\"]),G0=new Set([\"OperationDefinition\",\"FragmentDefinition\",\"VariableDefinition\",\"TypeExtensionDefinition\",\"ObjectTypeDefinition\",\"FieldDefinition\",\"DirectiveDefinition\",\"EnumTypeDefinition\",\"EnumValueDefinition\",\"InputValueDefinition\",\"InputObjectTypeDefinition\",\"SchemaDefinition\",\"OperationTypeDefinition\",\"InterfaceTypeDefinition\",\"UnionTypeDefinition\",\"ScalarTypeDefinition\"]);function d1(o,p,h){if(!p)return!1;switch(o.parser){case\"flow\":case\"babel\":case\"babel-flow\":case\"babel-ts\":case\"typescript\":case\"espree\":case\"meriyah\":case\"__babel_estree\":return function(y,k){return k!==\"DeclareExportDeclaration\"&&y!==\"TypeParameterDeclaration\"&&(y===\"Directive\"||y===\"TypeAlias\"||y===\"TSExportAssignment\"||y.startsWith(\"Declare\")||y.startsWith(\"TSDeclare\")||y.endsWith(\"Statement\")||y.endsWith(\"Declaration\"))}(p.type,h&&h.type);case\"json\":case\"json5\":case\"json-stringify\":return y0.has(p.type);case\"graphql\":return G0.has(p.kind);case\"vue\":return p.tag!==\"root\"}return!1}var h1={calculateRange:function(o,p,h){let{rangeStart:y,rangeEnd:k,locStart:Q,locEnd:$0}=p;D.ok(k>y);const j0=o.slice(y,k).search(/\\S/),Z0=j0===-1;if(!Z0)for(y+=j0;k>y&&!/\\S/.test(o[k-1]);--k);const g1=f0(h,y,p,(be,Je)=>d1(p,be,Je),[],\"rangeStart\"),z1=Z0?g1:f0(h,k,p,be=>d1(p,be),[],\"rangeEnd\");if(!g1||!z1)return{rangeStart:0,rangeEnd:0};let X1,se;if((({parser:be})=>be===\"json\"||be===\"json5\"||be===\"json-stringify\")(p)){const be=function(Je,ft){const Xr=[Je.node,...Je.parentNodes],on=new Set([ft.node,...ft.parentNodes]);return Xr.find(Wr=>y0.has(Wr.type)&&on.has(Wr))}(g1,z1);X1=be,se=be}else({startNode:X1,endNode:se}=function(be,Je,{locStart:ft,locEnd:Xr}){let on=be.node,Wr=Je.node;if(on===Wr)return{startNode:on,endNode:Wr};const Zi=ft(be.node);for(const Ao of t0(Je.parentNodes)){if(!(ft(Ao)>=Zi))break;Wr=Ao}const hs=Xr(Je.node);for(const Ao of t0(be.parentNodes)){if(!(Xr(Ao)<=hs))break;on=Ao}return{startNode:on,endNode:Wr}}(g1,z1,p));return{rangeStart:Math.min(Q(X1),Q(se)),rangeEnd:Math.max($0(X1),$0(se))}},findNodeAtOffset:f0};const{printer:{printDocToString:S1},debug:{printDocToDebug:Q1}}=xp,{getAlignmentSize:Y0}=Po,{guessEndOfLine:$1,convertEndOfLineToChars:Z1,countEndOfLineChars:Q0,normalizeEndOfLine:y1}=Dr,k1=BB.normalize,I1=Symbol(\"cursor\");function K0(o,p,h){const y=p.comments;return y&&(delete p.comments,g0.attach(y,p,o,h)),h[Symbol.for(\"comments\")]=y||[],h[Symbol.for(\"tokens\")]=p.tokens||[],h.originalText=o,y}function G1(o,p,h=0){if(!o||o.trim().length===0)return{formatted:\"\",cursorOffset:-1,comments:[]};const{ast:y,text:k}=lP.parse(o,p);if(p.cursorOffset>=0){const Z0=h1.findNodeAtOffset(y,p.cursorOffset,p);Z0&&Z0.node&&(p.cursorNode=Z0.node)}const Q=K0(k,y,p),$0=V0(y,p,h),j0=S1($0,p);if(g0.ensureAllCommentsPrinted(Q),h>0){const Z0=j0.formatted.trim();j0.cursorNodeStart!==void 0&&(j0.cursorNodeStart-=j0.formatted.indexOf(Z0)),j0.formatted=Z0+Z1(p.endOfLine)}if(p.cursorOffset>=0){let Z0,g1,z1,X1,se;if(p.cursorNode&&j0.cursorNodeText?(Z0=p.locStart(p.cursorNode),g1=k.slice(Z0,p.locEnd(p.cursorNode)),z1=p.cursorOffset-Z0,X1=j0.cursorNodeStart,se=j0.cursorNodeText):(Z0=0,g1=k,z1=p.cursorOffset,X1=0,se=j0.formatted),g1===se)return{formatted:j0.formatted,cursorOffset:X1+z1,comments:Q};const be=g1.split(\"\");be.splice(z1,0,I1);const Je=se.split(\"\"),ft=Ig.diffArrays(be,Je);let Xr=X1;for(const on of ft)if(on.removed){if(on.value.includes(I1))break}else Xr+=on.count;return{formatted:j0.formatted,cursorOffset:Xr,comments:Q}}return{formatted:j0.formatted,cursorOffset:-1,comments:Q}}function Nx(o,p,h){return typeof p!=\"number\"||Number.isNaN(p)||p<0||p>o.length?h:p}function n1(o,p){let{cursorOffset:h,rangeStart:y,rangeEnd:k}=p;return h=Nx(o,h,-1),y=Nx(o,y,0),k=Nx(o,k,o.length),Object.assign(Object.assign({},p),{},{cursorOffset:h,rangeStart:y,rangeEnd:k})}function S0(o,p){let{cursorOffset:h,rangeStart:y,rangeEnd:k,endOfLine:Q}=n1(o,p);const $0=o.charAt(0)===\"\\uFEFF\";if($0&&(o=o.slice(1),h--,y--,k--),Q===\"auto\"&&(Q=$1(o)),o.includes(\"\\r\")){const j0=Z0=>Q0(o.slice(0,Math.max(Z0,0)),`\\r\n`);h-=j0(h),y-=j0(y),k-=j0(k),o=y1(o)}return{hasBOM:$0,text:o,options:n1(o,Object.assign(Object.assign({},p),{},{cursorOffset:h,rangeStart:y,rangeEnd:k,endOfLine:Q}))}}function I0(o,p){const h=lP.resolveParser(p);return!h.hasPragma||h.hasPragma(o)}function U0(o,p){let h,{hasBOM:y,text:k,options:Q}=S0(o,k1(p));return Q.rangeStart>=Q.rangeEnd&&k!==\"\"||Q.requirePragma&&!I0(k,Q)?{formatted:o,cursorOffset:p.cursorOffset,comments:[]}:(Q.rangeStart>0||Q.rangeEnd<k.length?h=function($0,j0){const{ast:Z0,text:g1}=lP.parse($0,j0),{rangeStart:z1,rangeEnd:X1}=h1.calculateRange(g1,j0,Z0),se=g1.slice(z1,X1),be=Math.min(z1,g1.lastIndexOf(`\n`,z1)+1),Je=g1.slice(be,z1).match(/^\\s*/)[0],ft=Y0(Je,j0.tabWidth),Xr=G1(se,Object.assign(Object.assign({},j0),{},{rangeStart:0,rangeEnd:Number.POSITIVE_INFINITY,cursorOffset:j0.cursorOffset>z1&&j0.cursorOffset<=X1?j0.cursorOffset-z1:-1,endOfLine:\"lf\"}),ft),on=Xr.formatted.trimEnd();let{cursorOffset:Wr}=j0;Wr>X1?Wr+=on.length-se.length:Xr.cursorOffset>=0&&(Wr=Xr.cursorOffset+z1);let Zi=g1.slice(0,z1)+on+g1.slice(X1);if(j0.endOfLine!==\"lf\"){const hs=Z1(j0.endOfLine);Wr>=0&&hs===`\\r\n`&&(Wr+=Q0(Zi.slice(0,Wr),`\n`)),Zi=Zi.replace(/\\n/g,hs)}return{formatted:Zi,cursorOffset:Wr,comments:Xr.comments}}(k,Q):(!Q.requirePragma&&Q.insertPragma&&Q.printer.insertPragma&&!I0(k,Q)&&(k=Q.printer.insertPragma(k)),h=G1(k,Q)),y&&(h.formatted=\"\\uFEFF\"+h.formatted,h.cursorOffset>=0&&h.cursorOffset++),h)}var p0={formatWithCursor:U0,parse(o,p,h){const{text:y,options:k}=S0(o,k1(p)),Q=lP.parse(y,k);return h&&(Q.ast=dC(Q.ast,k)),Q},formatAST(o,p){p=k1(p);const h=V0(o,p);return S1(h,p)},formatDoc:(o,p)=>U0(Q1(o),Object.assign(Object.assign({},p),{},{parser:\"__js_expression\"})).formatted,printToDoc(o,p){p=k1(p);const{ast:h,text:y}=lP.parse(o,p);return K0(y,h,p),V0(h,p)},printDocToString:(o,p)=>S1(o,k1(p))};const{getMaxContinuousCount:p1,getStringWidth:Y1,getAlignmentSize:N1,getIndentSize:V1,skip:Ox,skipWhitespace:$x,skipSpaces:rx,skipNewline:O0,skipToLineEnd:C1,skipEverythingButNewLine:nx,skipInlineComment:O,skipTrailingComment:b1,hasNewline:Px,hasNewlineInRange:me,hasSpaces:Re,isNextLineEmpty:gt,isNextLineEmptyAfterIndex:Vt,isPreviousLineEmpty:wr,getNextNonSpaceNonCommentCharacterIndex:gr,makeString:Nt,addLeadingComment:Ir,addDanglingComment:xr,addTrailingComment:Bt}=Po;var ar={getMaxContinuousCount:p1,getStringWidth:Y1,getAlignmentSize:N1,getIndentSize:V1,skip:Ox,skipWhitespace:$x,skipSpaces:rx,skipNewline:O0,skipToLineEnd:C1,skipEverythingButNewLine:nx,skipInlineComment:O,skipTrailingComment:b1,hasNewline:Px,hasNewlineInRange:me,hasSpaces:Re,isNextLineEmpty:gt,isNextLineEmptyAfterIndex:Vt,isPreviousLineEmpty:wr,getNextNonSpaceNonCommentCharacterIndex:gr,makeString:Nt,addLeadingComment:Ir,addDanglingComment:xr,addTrailingComment:Bt};const Ni=[\"languageId\"];var Kn=function(o,p){const{languageId:h}=o,y=c(o,Ni);return Object.assign(Object.assign({linguistLanguageId:h},y),p(o))},oi=s0(function(o){(function(){function p(y){if(y==null)return!1;switch(y.type){case\"BlockStatement\":case\"BreakStatement\":case\"ContinueStatement\":case\"DebuggerStatement\":case\"DoWhileStatement\":case\"EmptyStatement\":case\"ExpressionStatement\":case\"ForInStatement\":case\"ForStatement\":case\"IfStatement\":case\"LabeledStatement\":case\"ReturnStatement\":case\"SwitchStatement\":case\"ThrowStatement\":case\"TryStatement\":case\"VariableDeclaration\":case\"WhileStatement\":case\"WithStatement\":return!0}return!1}function h(y){switch(y.type){case\"IfStatement\":return y.alternate!=null?y.alternate:y.consequent;case\"LabeledStatement\":case\"ForStatement\":case\"ForInStatement\":case\"WhileStatement\":case\"WithStatement\":return y.body}return null}o.exports={isExpression:function(y){if(y==null)return!1;switch(y.type){case\"ArrayExpression\":case\"AssignmentExpression\":case\"BinaryExpression\":case\"CallExpression\":case\"ConditionalExpression\":case\"FunctionExpression\":case\"Identifier\":case\"Literal\":case\"LogicalExpression\":case\"MemberExpression\":case\"NewExpression\":case\"ObjectExpression\":case\"SequenceExpression\":case\"ThisExpression\":case\"UnaryExpression\":case\"UpdateExpression\":return!0}return!1},isStatement:p,isIterationStatement:function(y){if(y==null)return!1;switch(y.type){case\"DoWhileStatement\":case\"ForInStatement\":case\"ForStatement\":case\"WhileStatement\":return!0}return!1},isSourceElement:function(y){return p(y)||y!=null&&y.type===\"FunctionDeclaration\"},isProblematicIfStatement:function(y){var k;if(y.type!==\"IfStatement\"||y.alternate==null)return!1;k=y.consequent;do{if(k.type===\"IfStatement\"&&k.alternate==null)return!0;k=h(k)}while(k);return!1},trailingStatement:h}})()}),Ba=s0(function(o){(function(){var p,h,y,k,Q,$0;function j0(Z0){return Z0<=65535?String.fromCharCode(Z0):String.fromCharCode(Math.floor((Z0-65536)/1024)+55296)+String.fromCharCode((Z0-65536)%1024+56320)}for(h={NonAsciiIdentifierStart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\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-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\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\\u0AF9\\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-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\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-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\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\\u2160-\\u2188\\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-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\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]/,NonAsciiIdentifierPart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B4\\u08B6-\\u08BD\\u08D4-\\u08E1\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D54-\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\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\\u135D-\\u135F\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19D9\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFB-\\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\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u2E2F\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099\\u309A\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]/},p={NonAsciiIdentifierStart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\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-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\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\\u0AF9\\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-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\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-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\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\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\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\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309B-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\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]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDF00-\\uDF19]|\\uD806[\\uDCA0-\\uDCDF\\uDCFF\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50\\uDF93-\\uDF9F\\uDFE0]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD83A[\\uDC00-\\uDCC4\\uDD00-\\uDD43]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]/,NonAsciiIdentifierPart:/[\\xAA\\xB5\\xB7\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B4\\u08B6-\\u08BD\\u08D4-\\u08E1\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D54-\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\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\\u135D-\\u135F\\u1369-\\u1371\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFB-\\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\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDDFD\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDEE0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF7A\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCA0-\\uDCA9\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE38-\\uDE3A\\uDE3F\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE6\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC00-\\uDC46\\uDC66-\\uDC6F\\uDC7F-\\uDCBA\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9\\uDD00-\\uDD34\\uDD36-\\uDD3F\\uDD50-\\uDD73\\uDD76\\uDD80-\\uDDC4\\uDDCA-\\uDDCC\\uDDD0-\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE37\\uDE3E\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEEA\\uDEF0-\\uDEF9\\uDF00-\\uDF03\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3C-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF50\\uDF57\\uDF5D-\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDC00-\\uDC4A\\uDC50-\\uDC59\\uDC80-\\uDCC5\\uDCC7\\uDCD0-\\uDCD9\\uDD80-\\uDDB5\\uDDB8-\\uDDC0\\uDDD8-\\uDDDD\\uDE00-\\uDE40\\uDE44\\uDE50-\\uDE59\\uDE80-\\uDEB7\\uDEC0-\\uDEC9\\uDF00-\\uDF19\\uDF1D-\\uDF2B\\uDF30-\\uDF39]|\\uD806[\\uDCA0-\\uDCE9\\uDCFF\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC36\\uDC38-\\uDC40\\uDC50-\\uDC59\\uDC72-\\uDC8F\\uDC92-\\uDCA7\\uDCA9-\\uDCB6]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE60-\\uDE69\\uDED0-\\uDEED\\uDEF0-\\uDEF4\\uDF00-\\uDF36\\uDF40-\\uDF43\\uDF50-\\uDF59\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50-\\uDF7E\\uDF8F-\\uDF9F\\uDFE0]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB\\uDFCE-\\uDFFF]|\\uD836[\\uDE00-\\uDE36\\uDE3B-\\uDE6C\\uDE75\\uDE84\\uDE9B-\\uDE9F\\uDEA1-\\uDEAF]|\\uD838[\\uDC00-\\uDC06\\uDC08-\\uDC18\\uDC1B-\\uDC21\\uDC23\\uDC24\\uDC26-\\uDC2A]|\\uD83A[\\uDC00-\\uDCC4\\uDCD0-\\uDCD6\\uDD00-\\uDD4A\\uDD50-\\uDD59]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]|\\uDB40[\\uDD00-\\uDDEF]/},y=[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279],k=new Array(128),$0=0;$0<128;++$0)k[$0]=$0>=97&&$0<=122||$0>=65&&$0<=90||$0===36||$0===95;for(Q=new Array(128),$0=0;$0<128;++$0)Q[$0]=$0>=97&&$0<=122||$0>=65&&$0<=90||$0>=48&&$0<=57||$0===36||$0===95;o.exports={isDecimalDigit:function(Z0){return 48<=Z0&&Z0<=57},isHexDigit:function(Z0){return 48<=Z0&&Z0<=57||97<=Z0&&Z0<=102||65<=Z0&&Z0<=70},isOctalDigit:function(Z0){return Z0>=48&&Z0<=55},isWhiteSpace:function(Z0){return Z0===32||Z0===9||Z0===11||Z0===12||Z0===160||Z0>=5760&&y.indexOf(Z0)>=0},isLineTerminator:function(Z0){return Z0===10||Z0===13||Z0===8232||Z0===8233},isIdentifierStartES5:function(Z0){return Z0<128?k[Z0]:h.NonAsciiIdentifierStart.test(j0(Z0))},isIdentifierPartES5:function(Z0){return Z0<128?Q[Z0]:h.NonAsciiIdentifierPart.test(j0(Z0))},isIdentifierStartES6:function(Z0){return Z0<128?k[Z0]:p.NonAsciiIdentifierStart.test(j0(Z0))},isIdentifierPartES6:function(Z0){return Z0<128?Q[Z0]:p.NonAsciiIdentifierPart.test(j0(Z0))}}})()}),dt=s0(function(o){(function(){var p=Ba;function h(Z0,g1){return!(!g1&&Z0===\"yield\")&&y(Z0,g1)}function y(Z0,g1){if(g1&&function(z1){switch(z1){case\"implements\":case\"interface\":case\"package\":case\"private\":case\"protected\":case\"public\":case\"static\":case\"let\":return!0;default:return!1}}(Z0))return!0;switch(Z0.length){case 2:return Z0===\"if\"||Z0===\"in\"||Z0===\"do\";case 3:return Z0===\"var\"||Z0===\"for\"||Z0===\"new\"||Z0===\"try\";case 4:return Z0===\"this\"||Z0===\"else\"||Z0===\"case\"||Z0===\"void\"||Z0===\"with\"||Z0===\"enum\";case 5:return Z0===\"while\"||Z0===\"break\"||Z0===\"catch\"||Z0===\"throw\"||Z0===\"const\"||Z0===\"yield\"||Z0===\"class\"||Z0===\"super\";case 6:return Z0===\"return\"||Z0===\"typeof\"||Z0===\"delete\"||Z0===\"switch\"||Z0===\"export\"||Z0===\"import\";case 7:return Z0===\"default\"||Z0===\"finally\"||Z0===\"extends\";case 8:return Z0===\"function\"||Z0===\"continue\"||Z0===\"debugger\";case 10:return Z0===\"instanceof\";default:return!1}}function k(Z0,g1){return Z0===\"null\"||Z0===\"true\"||Z0===\"false\"||h(Z0,g1)}function Q(Z0,g1){return Z0===\"null\"||Z0===\"true\"||Z0===\"false\"||y(Z0,g1)}function $0(Z0){var g1,z1,X1;if(Z0.length===0||(X1=Z0.charCodeAt(0),!p.isIdentifierStartES5(X1)))return!1;for(g1=1,z1=Z0.length;g1<z1;++g1)if(X1=Z0.charCodeAt(g1),!p.isIdentifierPartES5(X1))return!1;return!0}function j0(Z0){var g1,z1,X1,se,be;if(Z0.length===0)return!1;for(be=p.isIdentifierStartES6,g1=0,z1=Z0.length;g1<z1;++g1){if(55296<=(X1=Z0.charCodeAt(g1))&&X1<=56319){if(++g1>=z1||!(56320<=(se=Z0.charCodeAt(g1))&&se<=57343))return!1;X1=1024*(X1-55296)+(se-56320)+65536}if(!be(X1))return!1;be=p.isIdentifierPartES6}return!0}o.exports={isKeywordES5:h,isKeywordES6:y,isReservedWordES5:k,isReservedWordES6:Q,isRestrictedWord:function(Z0){return Z0===\"eval\"||Z0===\"arguments\"},isIdentifierNameES5:$0,isIdentifierNameES6:j0,isIdentifierES5:function(Z0,g1){return $0(Z0)&&!k(Z0,g1)},isIdentifierES6:function(Z0,g1){return j0(Z0)&&!Q(Z0,g1)}}})()});const Gt=s0(function(o,p){p.ast=oi,p.code=Ba,p.keyword=dt}).keyword.isIdentifierNameES5,{getLast:lr,hasNewline:en,skipWhitespace:ii,isNonEmptyArray:Tt,isNextLineEmptyAfterIndex:bn}=Po,{locStart:Le,locEnd:Sa,hasSameLocStart:Yn}=s5,W1=new RegExp(\"^(?:(?=.)\\\\s)*:\"),cx=new RegExp(\"^(?:(?=.)\\\\s)*::\");function E1(o){return o.type===\"Block\"||o.type===\"CommentBlock\"||o.type===\"MultiLine\"}function qx(o){return o.type===\"Line\"||o.type===\"CommentLine\"||o.type===\"SingleLine\"||o.type===\"HashbangComment\"||o.type===\"HTMLOpen\"||o.type===\"HTMLClose\"}const xt=new Set([\"ExportDefaultDeclaration\",\"ExportDefaultSpecifier\",\"DeclareExportDeclaration\",\"ExportNamedDeclaration\",\"ExportAllDeclaration\"]);function ae(o){return o&&xt.has(o.type)}function Ut(o){return o.type===\"NumericLiteral\"||o.type===\"Literal\"&&typeof o.value==\"number\"}function or(o){return o.type===\"StringLiteral\"||o.type===\"Literal\"&&typeof o.value==\"string\"}function ut(o){return o.type===\"FunctionExpression\"||o.type===\"ArrowFunctionExpression\"}function Gr(o){return ge(o)&&o.callee.type===\"Identifier\"&&(o.callee.name===\"async\"||o.callee.name===\"inject\"||o.callee.name===\"fakeAsync\")}function B(o){return o.type===\"JSXElement\"||o.type===\"JSXFragment\"}function h0(o){return o.kind===\"get\"||o.kind===\"set\"}function M(o){return h0(o)||Yn(o,o.value)}const X0=new Set([\"BinaryExpression\",\"LogicalExpression\",\"NGPipeExpression\"]),l1=new Set([\"AnyTypeAnnotation\",\"TSAnyKeyword\",\"NullLiteralTypeAnnotation\",\"TSNullKeyword\",\"ThisTypeAnnotation\",\"TSThisType\",\"NumberTypeAnnotation\",\"TSNumberKeyword\",\"VoidTypeAnnotation\",\"TSVoidKeyword\",\"BooleanTypeAnnotation\",\"TSBooleanKeyword\",\"BigIntTypeAnnotation\",\"TSBigIntKeyword\",\"SymbolTypeAnnotation\",\"TSSymbolKeyword\",\"StringTypeAnnotation\",\"TSStringKeyword\",\"BooleanLiteralTypeAnnotation\",\"StringLiteralTypeAnnotation\",\"BigIntLiteralTypeAnnotation\",\"NumberLiteralTypeAnnotation\",\"TSLiteralType\",\"TSTemplateLiteralType\",\"EmptyTypeAnnotation\",\"MixedTypeAnnotation\",\"TSNeverKeyword\",\"TSObjectKeyword\",\"TSUndefinedKeyword\",\"TSUnknownKeyword\"]),Hx=/^(skip|[fx]?(it|describe|test))$/;function ge(o){return o&&(o.type===\"CallExpression\"||o.type===\"OptionalCallExpression\")}function Pe(o){return o&&(o.type===\"MemberExpression\"||o.type===\"OptionalMemberExpression\")}function It(o){return/^(\\d+|\\d+\\.\\d+)$/.test(o)}function Kr(o){return o.quasis.some(p=>p.value.raw.includes(`\n`))}function pn(o){return o.extra?o.extra.raw:o.raw}const rn={\"==\":!0,\"!=\":!0,\"===\":!0,\"!==\":!0},_t={\"*\":!0,\"/\":!0,\"%\":!0},Ii={\">>\":!0,\">>>\":!0,\"<<\":!0},Mn={};for(const[o,p]of[[\"|>\"],[\"??\"],[\"||\"],[\"&&\"],[\"|\"],[\"^\"],[\"&\"],[\"==\",\"===\",\"!=\",\"!==\"],[\"<\",\">\",\"<=\",\">=\",\"in\",\"instanceof\"],[\">>\",\"<<\",\">>>\"],[\"+\",\"-\"],[\"*\",\"/\",\"%\"],[\"**\"]].entries())for(const h of p)Mn[h]=o;function Ka(o){return Mn[o]}const fe=new WeakMap;function Fr(o){if(fe.has(o))return fe.get(o);const p=[];return o.this&&p.push(o.this),Array.isArray(o.parameters)?p.push(...o.parameters):Array.isArray(o.params)&&p.push(...o.params),o.rest&&p.push(o.rest),fe.set(o,p),p}const yt=new WeakMap;function Fn(o){if(yt.has(o))return yt.get(o);let p=o.arguments;return o.type===\"ImportExpression\"&&(p=[o.source],o.attributes&&p.push(o.attributes)),yt.set(o,p),p}function Ur(o){return o.value.trim()===\"prettier-ignore\"&&!o.unignore}function fa(o){return o&&(o.prettierIgnore||co(o,Kt.PrettierIgnore))}const Kt={Leading:2,Trailing:4,Dangling:8,Block:16,Line:32,PrettierIgnore:64,First:128,Last:256},Fa=(o,p)=>{if(typeof o==\"function\"&&(p=o,o=0),o||p)return(h,y,k)=>!(o&Kt.Leading&&!h.leading||o&Kt.Trailing&&!h.trailing||o&Kt.Dangling&&(h.leading||h.trailing)||o&Kt.Block&&!E1(h)||o&Kt.Line&&!qx(h)||o&Kt.First&&y!==0||o&Kt.Last&&y!==k.length-1||o&Kt.PrettierIgnore&&!Ur(h)||p&&!p(h))};function co(o,p,h){if(!o||!Tt(o.comments))return!1;const y=Fa(p,h);return!y||o.comments.some(y)}function Us(o,p,h){if(!o||!Array.isArray(o.comments))return[];const y=Fa(p,h);return y?o.comments.filter(y):o.comments}function qs(o){return ge(o)||o.type===\"NewExpression\"||o.type===\"ImportExpression\"}var vs={getFunctionParameters:Fr,iterateFunctionParametersPath:function(o,p){const h=o.getValue();let y=0;const k=Q=>p(Q,y++);h.this&&o.call(k,\"this\"),Array.isArray(h.parameters)?o.each(k,\"parameters\"):Array.isArray(h.params)&&o.each(k,\"params\"),h.rest&&o.call(k,\"rest\")},getCallArguments:Fn,iterateCallArgumentsPath:function(o,p){const h=o.getValue();h.type===\"ImportExpression\"?(o.call(y=>p(y,0),\"source\"),h.attributes&&o.call(y=>p(y,1),\"attributes\")):o.each(p,\"arguments\")},hasRestParameter:function(o){if(o.rest)return!0;const p=Fr(o);return p.length>0&&lr(p).type===\"RestElement\"},getLeftSide:function(o){return o.expressions?o.expressions[0]:o.left||o.test||o.callee||o.object||o.tag||o.argument||o.expression},getLeftSidePathName:function(o,p){if(p.expressions)return[\"expressions\",0];if(p.left)return[\"left\"];if(p.test)return[\"test\"];if(p.object)return[\"object\"];if(p.callee)return[\"callee\"];if(p.tag)return[\"tag\"];if(p.argument)return[\"argument\"];if(p.expression)return[\"expression\"];throw new Error(\"Unexpected node has no left side.\")},getParentExportDeclaration:function(o){const p=o.getParentNode();return o.getName()===\"declaration\"&&ae(p)?p:null},getTypeScriptMappedTypeModifier:function(o,p){return o===\"+\"?\"+\"+p:o===\"-\"?\"-\"+p:p},hasFlowAnnotationComment:function(o){return o&&E1(o[0])&&cx.test(o[0].value)},hasFlowShorthandAnnotationComment:function(o){return o.extra&&o.extra.parenthesized&&Tt(o.trailingComments)&&E1(o.trailingComments[0])&&W1.test(o.trailingComments[0].value)},hasLeadingOwnLineComment:function(o,p){return B(p)?fa(p):co(p,Kt.Leading,h=>en(o,Sa(h)))},hasNakedLeftSide:function(o){return o.type===\"AssignmentExpression\"||o.type===\"BinaryExpression\"||o.type===\"LogicalExpression\"||o.type===\"NGPipeExpression\"||o.type===\"ConditionalExpression\"||ge(o)||Pe(o)||o.type===\"SequenceExpression\"||o.type===\"TaggedTemplateExpression\"||o.type===\"BindExpression\"||o.type===\"UpdateExpression\"&&!o.prefix||o.type===\"TSAsExpression\"||o.type===\"TSNonNullExpression\"},hasNode:function o(p,h){if(!p||typeof p!=\"object\")return!1;if(Array.isArray(p))return p.some(k=>o(k,h));const y=h(p);return typeof y==\"boolean\"?y:Object.values(p).some(k=>o(k,h))},hasIgnoreComment:function(o){return fa(o.getValue())},hasNodeIgnoreComment:fa,identity:function(o){return o},isBinaryish:function(o){return X0.has(o.type)},isBlockComment:E1,isCallLikeExpression:qs,isLineComment:qx,isPrettierIgnoreComment:Ur,isCallExpression:ge,isMemberExpression:Pe,isExportDeclaration:ae,isFlowAnnotationComment:function(o,p){const h=Le(p),y=ii(o,Sa(p));return y!==!1&&o.slice(h,h+2)===\"/*\"&&o.slice(y,y+2)===\"*/\"},isFunctionCompositionArgs:function(o){if(o.length<=1)return!1;let p=0;for(const h of o)if(ut(h)){if(p+=1,p>1)return!0}else if(ge(h)){for(const y of h.arguments)if(ut(y))return!0}return!1},isFunctionNotation:M,isFunctionOrArrowExpression:ut,isGetterOrSetter:h0,isJestEachTemplateLiteral:function(o,p){const h=/^[fx]?(describe|it|test)$/;return p.type===\"TaggedTemplateExpression\"&&p.quasi===o&&p.tag.type===\"MemberExpression\"&&p.tag.property.type===\"Identifier\"&&p.tag.property.name===\"each\"&&(p.tag.object.type===\"Identifier\"&&h.test(p.tag.object.name)||p.tag.object.type===\"MemberExpression\"&&p.tag.object.property.type===\"Identifier\"&&(p.tag.object.property.name===\"only\"||p.tag.object.property.name===\"skip\")&&p.tag.object.object.type===\"Identifier\"&&h.test(p.tag.object.object.name))},isJsxNode:B,isLiteral:function(o){return o.type===\"BooleanLiteral\"||o.type===\"DirectiveLiteral\"||o.type===\"Literal\"||o.type===\"NullLiteral\"||o.type===\"NumericLiteral\"||o.type===\"BigIntLiteral\"||o.type===\"DecimalLiteral\"||o.type===\"RegExpLiteral\"||o.type===\"StringLiteral\"||o.type===\"TemplateLiteral\"||o.type===\"TSTypeLiteral\"||o.type===\"JSXText\"},isLongCurriedCallExpression:function(o){const p=o.getValue(),h=o.getParentNode();return ge(p)&&ge(h)&&h.callee===p&&p.arguments.length>h.arguments.length&&h.arguments.length>0},isSimpleCallArgument:function o(p,h){if(h>=2)return!1;const y=Q=>o(Q,h+1),k=p.type===\"Literal\"&&\"regex\"in p&&p.regex.pattern||p.type===\"RegExpLiteral\"&&p.pattern;return!(k&&k.length>5)&&(p.type===\"Literal\"||p.type===\"BigIntLiteral\"||p.type===\"DecimalLiteral\"||p.type===\"BooleanLiteral\"||p.type===\"NullLiteral\"||p.type===\"NumericLiteral\"||p.type===\"RegExpLiteral\"||p.type===\"StringLiteral\"||p.type===\"Identifier\"||p.type===\"ThisExpression\"||p.type===\"Super\"||p.type===\"PrivateName\"||p.type===\"PrivateIdentifier\"||p.type===\"ArgumentPlaceholder\"||p.type===\"Import\"||(p.type===\"TemplateLiteral\"?p.quasis.every(Q=>!Q.value.raw.includes(`\n`))&&p.expressions.every(y):p.type===\"ObjectExpression\"?p.properties.every(Q=>!Q.computed&&(Q.shorthand||Q.value&&y(Q.value))):p.type===\"ArrayExpression\"?p.elements.every(Q=>Q===null||y(Q)):qs(p)?(p.type===\"ImportExpression\"||o(p.callee,h))&&Fn(p).every(y):Pe(p)?o(p.object,h)&&o(p.property,h):p.type!==\"UnaryExpression\"||p.operator!==\"!\"&&p.operator!==\"-\"?p.type===\"TSNonNullExpression\"&&o(p.expression,h):o(p.argument,h)))},isMemberish:function(o){return Pe(o)||o.type===\"BindExpression\"&&Boolean(o.object)},isNumericLiteral:Ut,isSignedNumericLiteral:function(o){return o.type===\"UnaryExpression\"&&(o.operator===\"+\"||o.operator===\"-\")&&Ut(o.argument)},isObjectProperty:function(o){return o&&(o.type===\"ObjectProperty\"||o.type===\"Property\"&&!o.method&&o.kind===\"init\")},isObjectType:function(o){return o.type===\"ObjectTypeAnnotation\"||o.type===\"TSTypeLiteral\"},isObjectTypePropertyAFunction:function(o){return!(o.type!==\"ObjectTypeProperty\"&&o.type!==\"ObjectTypeInternalSlot\"||o.value.type!==\"FunctionTypeAnnotation\"||o.static||M(o))},isSimpleType:function(o){return!!o&&(!(o.type!==\"GenericTypeAnnotation\"&&o.type!==\"TSTypeReference\"||o.typeParameters)||!!l1.has(o.type))},isSimpleNumber:It,isSimpleTemplateLiteral:function(o){let p=\"expressions\";o.type===\"TSTemplateLiteralType\"&&(p=\"types\");const h=o[p];return h.length!==0&&h.every(y=>{if(co(y))return!1;if(y.type===\"Identifier\"||y.type===\"ThisExpression\")return!0;if(Pe(y)){let k=y;for(;Pe(k);)if(k.property.type!==\"Identifier\"&&k.property.type!==\"Literal\"&&k.property.type!==\"StringLiteral\"&&k.property.type!==\"NumericLiteral\"||(k=k.object,co(k)))return!1;return k.type===\"Identifier\"||k.type===\"ThisExpression\"}return!1})},isStringLiteral:or,isStringPropSafeToUnquote:function(o,p){return p.parser!==\"json\"&&or(o.key)&&pn(o.key).slice(1,-1)===o.key.value&&(Gt(o.key.value)&&!((p.parser===\"typescript\"||p.parser===\"babel-ts\")&&o.type===\"ClassProperty\")||It(o.key.value)&&String(Number(o.key.value))===o.key.value&&(p.parser===\"babel\"||p.parser===\"espree\"||p.parser===\"meriyah\"||p.parser===\"__babel_estree\"))},isTemplateOnItsOwnLine:function(o,p){return(o.type===\"TemplateLiteral\"&&Kr(o)||o.type===\"TaggedTemplateExpression\"&&Kr(o.quasi))&&!en(p,Le(o),{backwards:!0})},isTestCall:function o(p,h){if(p.type!==\"CallExpression\")return!1;if(p.arguments.length===1){if(Gr(p)&&h&&o(h))return ut(p.arguments[0]);if(function(y){return y.callee.type===\"Identifier\"&&/^(before|after)(Each|All)$/.test(y.callee.name)&&y.arguments.length===1}(p))return Gr(p.arguments[0])}else if((p.arguments.length===2||p.arguments.length===3)&&(p.callee.type===\"Identifier\"&&Hx.test(p.callee.name)||function(y){return Pe(y.callee)&&y.callee.object.type===\"Identifier\"&&y.callee.property.type===\"Identifier\"&&Hx.test(y.callee.object.name)&&(y.callee.property.name===\"only\"||y.callee.property.name===\"skip\")}(p))&&(function(y){return y.type===\"TemplateLiteral\"}(p.arguments[0])||or(p.arguments[0])))return!(p.arguments[2]&&!Ut(p.arguments[2]))&&((p.arguments.length===2?ut(p.arguments[1]):function(y){return y.type===\"FunctionExpression\"||y.type===\"ArrowFunctionExpression\"&&y.body.type===\"BlockStatement\"}(p.arguments[1])&&Fr(p.arguments[1]).length<=1)||Gr(p.arguments[1]));return!1},isTheOnlyJsxElementInMarkdown:function(o,p){if(o.parentParser!==\"markdown\"&&o.parentParser!==\"mdx\")return!1;const h=p.getNode();if(!h.expression||!B(h.expression))return!1;const y=p.getParentNode();return y.type===\"Program\"&&y.body.length===1},isTSXFile:function(o){return o.filepath&&/\\.tsx$/i.test(o.filepath)},isTypeAnnotationAFunction:function(o){return!(o.type!==\"TypeAnnotation\"&&o.type!==\"TSTypeAnnotation\"||o.typeAnnotation.type!==\"FunctionTypeAnnotation\"||o.static||Yn(o,o.typeAnnotation))},isNextLineEmpty:(o,{originalText:p})=>bn(p,Sa(o)),needsHardlineAfterDanglingComment:function(o){if(!co(o))return!1;const p=lr(Us(o,Kt.Dangling));return p&&!E1(p)},rawText:pn,shouldPrintComma:function(o,p=\"es5\"){return o.trailingComma===\"es5\"&&p===\"es5\"||o.trailingComma===\"all\"&&(p===\"all\"||p===\"es5\")},isBitwiseOperator:function(o){return Boolean(Ii[o])||o===\"|\"||o===\"^\"||o===\"&\"},shouldFlatten:function(o,p){return Ka(p)===Ka(o)&&o!==\"**\"&&(!rn[o]||!rn[p])&&!(p===\"%\"&&_t[o]||o===\"%\"&&_t[p])&&(p===o||!_t[p]||!_t[o])&&(!Ii[o]||!Ii[p])},startsWithNoLookaheadToken:function o(p,h){switch((p=function(y){for(;y.left;)y=y.left;return y}(p)).type){case\"FunctionExpression\":case\"ClassExpression\":case\"DoExpression\":return h;case\"ObjectExpression\":return!0;case\"MemberExpression\":case\"OptionalMemberExpression\":return o(p.object,h);case\"TaggedTemplateExpression\":return p.tag.type!==\"FunctionExpression\"&&o(p.tag,h);case\"CallExpression\":case\"OptionalCallExpression\":return p.callee.type!==\"FunctionExpression\"&&o(p.callee,h);case\"ConditionalExpression\":return o(p.test,h);case\"UpdateExpression\":return!p.prefix&&o(p.argument,h);case\"BindExpression\":return p.object&&o(p.object,h);case\"SequenceExpression\":return o(p.expressions[0],h);case\"TSAsExpression\":case\"TSNonNullExpression\":return o(p.expression,h);default:return!1}},getPrecedence:Ka,hasComment:co,getComments:Us,CommentCheckFlags:Kt};const{getStringWidth:sg,getIndentSize:Cf}=Po,{builders:{join:rc,hardline:K8,softline:zl,group:Xl,indent:OF,align:BF,lineSuffixBoundary:Qp,addAlignmentToDoc:kp},printer:{printDocToString:up},utils:{mapDoc:mC}}=xp,{isBinaryish:fd,isJestEachTemplateLiteral:E4,isSimpleTemplateLiteral:Yl,hasComment:fT,isMemberExpression:qE}=vs;function df(o){return o.replace(/([\\\\`]|\\${)/g,\"\\\\$1\")}var pl={printTemplateLiteral:function(o,p,h){const y=o.getValue();if(y.type===\"TemplateLiteral\"&&E4(y,o.getParentNode())){const Z0=function(g1,z1,X1){const se=g1.getNode(),be=se.quasis[0].value.raw.trim().split(/\\s*\\|\\s*/);if(be.length>1||be.some(Je=>Je.length>0)){z1.__inJestEach=!0;const Je=g1.map(X1,\"expressions\");z1.__inJestEach=!1;const ft=[],Xr=Je.map(Ao=>\"${\"+up(Ao,Object.assign(Object.assign({},z1),{},{printWidth:Number.POSITIVE_INFINITY,endOfLine:\"lf\"})).formatted+\"}\"),on=[{hasLineBreak:!1,cells:[]}];for(let Ao=1;Ao<se.quasis.length;Ao++){const Hs=l_(on),Oc=Xr[Ao-1];Hs.cells.push(Oc),Oc.includes(`\n`)&&(Hs.hasLineBreak=!0),se.quasis[Ao].value.raw.includes(`\n`)&&on.push({hasLineBreak:!1,cells:[]})}const Wr=Math.max(be.length,...on.map(Ao=>Ao.cells.length)),Zi=Array.from({length:Wr}).fill(0),hs=[{cells:be},...on.filter(Ao=>Ao.cells.length>0)];for(const{cells:Ao}of hs.filter(Hs=>!Hs.hasLineBreak))for(const[Hs,Oc]of Ao.entries())Zi[Hs]=Math.max(Zi[Hs],sg(Oc));return ft.push(Qp,\"`\",OF([K8,rc(K8,hs.map(Ao=>rc(\" | \",Ao.cells.map((Hs,Oc)=>Ao.hasLineBreak?Hs:Hs+\" \".repeat(Zi[Oc]-sg(Hs))))))]),K8,\"`\"),ft}}(o,h,p);if(Z0)return Z0}let k=\"expressions\";y.type===\"TSTemplateLiteralType\"&&(k=\"types\");const Q=[];let $0=o.map(p,k);const j0=Yl(y);return j0&&($0=$0.map(Z0=>up(Z0,Object.assign(Object.assign({},h),{},{printWidth:Number.POSITIVE_INFINITY})).formatted)),Q.push(Qp,\"`\"),o.each(Z0=>{const g1=Z0.getName();if(Q.push(p()),g1<$0.length){const{tabWidth:z1}=h,X1=Z0.getValue(),se=Cf(X1.value.raw,z1);let be=$0[g1];if(!j0){const ft=y[k][g1];(fT(ft)||qE(ft)||ft.type===\"ConditionalExpression\"||ft.type===\"SequenceExpression\"||ft.type===\"TSAsExpression\"||fd(ft))&&(be=[OF([zl,be]),zl])}const Je=se===0&&X1.value.raw.endsWith(`\n`)?BF(Number.NEGATIVE_INFINITY,be):kp(be,se,z1);Q.push(Xl([\"${\",Je,Qp,\"}\"]))}},\"quasis\"),Q.push(\"`\"),Q},printTemplateExpressions:function(o,p){return o.map(h=>function(y,k){const Q=y.getValue();let $0=k();return fT(Q)&&($0=Xl([OF([zl,$0]),zl])),[\"${\",$0,Qp,\"}\"]}(h,p),\"expressions\")},escapeTemplateCharacters:function(o,p){return mC(o,h=>typeof h==\"string\"?p?h.replace(/(\\\\*)`/g,\"$1$1\\\\`\"):df(h):h)},uncookTemplateElementValue:df};const{builders:{indent:Np,softline:rp,literalline:jp,dedentToRoot:tf}}=xp,{escapeTemplateCharacters:cp}=pl;var Nf=function(o,p,h){let y=o.getValue().quasis[0].value.raw.replace(/((?:\\\\\\\\)*)\\\\`/g,(j0,Z0)=>\"\\\\\".repeat(Z0.length/2)+\"`\");const k=function(j0){const Z0=j0.match(/^([^\\S\\n]*)\\S/m);return Z0===null?\"\":Z0[1]}(y),Q=k!==\"\";Q&&(y=y.replace(new RegExp(`^${k}`,\"gm\"),\"\"));const $0=cp(h(y,{parser:\"markdown\",__inJsTemplate:!0},{stripTrailingHardline:!0}),!0);return[\"`\",Q?Np([rp,$0]):[jp,tf($0)],rp,\"`\"]};const{isNonEmptyArray:mf}=Po,{builders:{indent:l2,hardline:pd,softline:Ju},utils:{mapDoc:vd,replaceNewlinesWithLiterallines:aw,cleanDoc:c5}}=xp,{printTemplateExpressions:Qo}=pl;var Rl=function(o,p,h){const y=o.getValue(),k=y.quasis.map($0=>$0.value.raw);let Q=0;return function($0,j0,Z0){if(j0.quasis.length===1&&!j0.quasis[0].value.raw.trim())return\"``\";const g1=function(z1,X1){if(!mf(X1))return z1;let se=0;const be=vd(c5(z1),Je=>typeof Je==\"string\"&&Je.includes(\"@prettier-placeholder\")?Je.split(/@prettier-placeholder-(\\d+)-id/).map((ft,Xr)=>Xr%2==0?aw(ft):(se++,X1[ft])):Je);return X1.length===se?be:null}($0,Z0);if(!g1)throw new Error(\"Couldn't insert all the expressions\");return[\"`\",l2([pd,g1]),Ju,\"`\"]}(h(k.reduce(($0,j0,Z0)=>Z0===0?j0:$0+\"@prettier-placeholder-\"+Q+++\"-id\"+j0,\"\"),{parser:\"scss\"},{stripTrailingHardline:!0}),y,Qo(o,p))};const{builders:{indent:gl,join:bd,hardline:Ld}}=xp,{escapeTemplateCharacters:Dp,printTemplateExpressions:Hi}=pl;function Up(o){const p=[];let h=!1;const y=o.map(k=>k.trim());for(const[k,Q]of y.entries())Q!==\"\"&&(y[k-1]===\"\"&&h?p.push([Ld,Q]):p.push(Q),h=!0);return p.length===0?null:bd(Ld,p)}var rl=function(o,p,h){const y=o.getValue(),k=y.quasis.length;if(k===1&&y.quasis[0].value.raw.trim()===\"\")return\"``\";const Q=Hi(o,p),$0=[];for(let j0=0;j0<k;j0++){const Z0=j0===0,g1=j0===k-1,z1=y.quasis[j0].value.cooked,X1=z1.split(`\n`),se=X1.length,be=Q[j0],Je=se>2&&X1[0].trim()===\"\"&&X1[1].trim()===\"\",ft=se>2&&X1[se-1].trim()===\"\"&&X1[se-2].trim()===\"\",Xr=X1.every(Wr=>/^\\s*(?:#[^\\n\\r]*)?$/.test(Wr));if(!g1&&/#[^\\n\\r]*$/.test(X1[se-1]))return null;let on=null;on=Xr?Up(X1):h(z1,{parser:\"graphql\"},{stripTrailingHardline:!0}),on?(on=Dp(on,!1),!Z0&&Je&&$0.push(\"\"),$0.push(on),!g1&&ft&&$0.push(\"\")):Z0||g1||!Je||$0.push(\"\"),be&&$0.push(be)}return[\"`\",gl([Ld,bd(Ld,$0)]),Ld,\"`\"]};const{builders:{indent:tA,line:rA,hardline:G2,group:vp},utils:{mapDoc:Zp}}=xp,{printTemplateExpressions:Ef,uncookTemplateElementValue:yr}=pl;let Jr=0;var Un=function(o,p,h,y,{parser:k}){const Q=o.getValue(),$0=Jr;Jr=Jr+1>>>0;const j0=on=>`PRETTIER_HTML_PLACEHOLDER_${on}_${$0}_IN_JS`,Z0=Q.quasis.map((on,Wr,Zi)=>Wr===Zi.length-1?on.value.cooked:on.value.cooked+j0(Wr)).join(\"\"),g1=Ef(o,p);if(g1.length===0&&Z0.trim().length===0)return\"``\";const z1=new RegExp(j0(\"(\\\\d+)\"),\"g\");let X1=0;const se=h(Z0,{parser:k,__onHtmlRoot(on){X1=on.children.length}},{stripTrailingHardline:!0}),be=Zp(se,on=>{if(typeof on!=\"string\")return on;const Wr=[],Zi=on.split(z1);for(let hs=0;hs<Zi.length;hs++){let Ao=Zi[hs];if(hs%2==0){Ao&&(Ao=yr(Ao),y.__embeddedInHtml&&(Ao=Ao.replace(/<\\/(script)\\b/gi,\"<\\\\/$1\")),Wr.push(Ao));continue}const Hs=Number(Ao);Wr.push(g1[Hs])}return Wr}),Je=/^\\s/.test(Z0)?\" \":\"\",ft=/\\s$/.test(Z0)?\" \":\"\",Xr=y.htmlWhitespaceSensitivity===\"ignore\"?G2:Je&&ft?rA:null;return vp(Xr?[\"`\",tA([Xr,vp(be)]),Xr,\"`\"]:[\"`\",Je,X1>1?tA(vp(be)):vp(be),ft,\"`\"])};const{hasComment:pa,CommentCheckFlags:za,isObjectProperty:Ls}=vs;function Mo(o){return function(p){const h=p.getValue(),y=p.getParentNode(),k=p.getParentNode(1);return k&&h.quasis&&y.type===\"JSXExpressionContainer\"&&k.type===\"JSXElement\"&&k.openingElement.name.name===\"style\"&&k.openingElement.attributes.some(Q=>Q.name.name===\"jsx\")||y&&y.type===\"TaggedTemplateExpression\"&&y.tag.type===\"Identifier\"&&y.tag.name===\"css\"||y&&y.type===\"TaggedTemplateExpression\"&&y.tag.type===\"MemberExpression\"&&y.tag.object.name===\"css\"&&(y.tag.property.name===\"global\"||y.tag.property.name===\"resolve\")}(o)||function(p){const h=p.getParentNode();if(!h||h.type!==\"TaggedTemplateExpression\")return!1;const{tag:y}=h;switch(y.type){case\"MemberExpression\":return mo(y.object)||bc(y);case\"CallExpression\":return mo(y.callee)||y.callee.type===\"MemberExpression\"&&(y.callee.object.type===\"MemberExpression\"&&(mo(y.callee.object.object)||bc(y.callee.object))||y.callee.object.type===\"CallExpression\"&&mo(y.callee.object.callee));case\"Identifier\":return y.name===\"css\";default:return!1}}(o)||function(p){const h=p.getParentNode(),y=p.getParentNode(1);return y&&h.type===\"JSXExpressionContainer\"&&y.type===\"JSXAttribute\"&&y.name.type===\"JSXIdentifier\"&&y.name.name===\"css\"}(o)||function(p){return p.match(h=>h.type===\"TemplateLiteral\",(h,y)=>h.type===\"ArrayExpression\"&&y===\"elements\",(h,y)=>Ls(h)&&h.key.type===\"Identifier\"&&h.key.name===\"styles\"&&y===\"value\",...Ps)}(o)?\"css\":function(p){const h=p.getValue(),y=p.getParentNode();return Ro(h,\"GraphQL\")||y&&(y.type===\"TaggedTemplateExpression\"&&(y.tag.type===\"MemberExpression\"&&y.tag.object.name===\"graphql\"&&y.tag.property.name===\"experimental\"||y.tag.type===\"Identifier\"&&(y.tag.name===\"gql\"||y.tag.name===\"graphql\"))||y.type===\"CallExpression\"&&y.callee.type===\"Identifier\"&&y.callee.name===\"graphql\")}(o)?\"graphql\":function(p){return Ro(p.getValue(),\"HTML\")||p.match(h=>h.type===\"TemplateLiteral\",(h,y)=>h.type===\"TaggedTemplateExpression\"&&h.tag.type===\"Identifier\"&&h.tag.name===\"html\"&&y===\"quasi\")}(o)?\"html\":function(p){return p.match(h=>h.type===\"TemplateLiteral\",(h,y)=>Ls(h)&&h.key.type===\"Identifier\"&&h.key.name===\"template\"&&y===\"value\",...Ps)}(o)?\"angular\":function(p){const h=p.getValue(),y=p.getParentNode();return y&&y.type===\"TaggedTemplateExpression\"&&h.quasis.length===1&&y.tag.type===\"Identifier\"&&(y.tag.name===\"md\"||y.tag.name===\"markdown\")}(o)?\"markdown\":void 0}const Ps=[(o,p)=>o.type===\"ObjectExpression\"&&p===\"properties\",(o,p)=>o.type===\"CallExpression\"&&o.callee.type===\"Identifier\"&&o.callee.name===\"Component\"&&p===\"arguments\",(o,p)=>o.type===\"Decorator\"&&p===\"expression\"];function mo(o){return o.type===\"Identifier\"&&o.name===\"styled\"}function bc(o){return/^[A-Z]/.test(o.object.name)&&o.property.name===\"extend\"}function Ro(o,p){return pa(o,za.Block|za.Leading,({value:h})=>h===` ${p} `)}var Vc=function(o,p,h,y){const k=o.getValue();if(k.type!==\"TemplateLiteral\"||function({quasis:$0}){return $0.some(({value:{cooked:j0}})=>j0===null)}(k))return;const Q=Mo(o);return Q?Q===\"markdown\"?Nf(o,p,h):Q===\"css\"?Rl(o,p,h):Q===\"graphql\"?rl(o,p,h):Q===\"html\"||Q===\"angular\"?Un(o,p,h,y,{parser:Q}):void 0:void 0};const{isBlockComment:ws}=vs,gc=new Set([\"range\",\"raw\",\"comments\",\"leadingComments\",\"trailingComments\",\"innerComments\",\"extra\",\"start\",\"end\",\"loc\",\"flags\",\"errors\",\"tokens\"]),Pl=o=>{for(const p of o.quasis)delete p.value};function xc(o,p,h){if(o.type===\"Program\"&&delete p.sourceType,o.type!==\"BigIntLiteral\"&&o.type!==\"BigIntLiteralTypeAnnotation\"||p.value&&(p.value=p.value.toLowerCase()),o.type!==\"BigIntLiteral\"&&o.type!==\"Literal\"||p.bigint&&(p.bigint=p.bigint.toLowerCase()),o.type===\"DecimalLiteral\"&&(p.value=Number(p.value)),o.type===\"Literal\"&&p.decimal&&(p.decimal=Number(p.decimal)),o.type===\"EmptyStatement\"||o.type===\"JSXText\"||o.type===\"JSXExpressionContainer\"&&(o.expression.type===\"Literal\"||o.expression.type===\"StringLiteral\")&&o.expression.value===\" \")return null;if(o.type!==\"Property\"&&o.type!==\"ObjectProperty\"&&o.type!==\"MethodDefinition\"&&o.type!==\"ClassProperty\"&&o.type!==\"ClassMethod\"&&o.type!==\"PropertyDefinition\"&&o.type!==\"TSDeclareMethod\"&&o.type!==\"TSPropertySignature\"&&o.type!==\"ObjectTypeProperty\"||typeof o.key!=\"object\"||!o.key||o.key.type!==\"Literal\"&&o.key.type!==\"NumericLiteral\"&&o.key.type!==\"StringLiteral\"&&o.key.type!==\"Identifier\"||delete p.key,o.type===\"JSXElement\"&&o.openingElement.name.name===\"style\"&&o.openingElement.attributes.some(k=>k.name.name===\"jsx\"))for(const{type:k,expression:Q}of p.children)k===\"JSXExpressionContainer\"&&Q.type===\"TemplateLiteral\"&&Pl(Q);o.type===\"JSXAttribute\"&&o.name.name===\"css\"&&o.value.type===\"JSXExpressionContainer\"&&o.value.expression.type===\"TemplateLiteral\"&&Pl(p.value.expression),o.type===\"JSXAttribute\"&&o.value&&o.value.type===\"Literal\"&&/[\"']|&quot;|&apos;/.test(o.value.value)&&(p.value.value=p.value.value.replace(/[\"']|&quot;|&apos;/g,'\"'));const y=o.expression||o.callee;if(o.type===\"Decorator\"&&y.type===\"CallExpression\"&&y.callee.name===\"Component\"&&y.arguments.length===1){const k=o.expression.arguments[0].properties;for(const[Q,$0]of p.expression.arguments[0].properties.entries())switch(k[Q].key.name){case\"styles\":$0.value.type===\"ArrayExpression\"&&Pl($0.value.elements[0]);break;case\"template\":$0.value.type===\"TemplateLiteral\"&&Pl($0.value)}}return o.type!==\"TaggedTemplateExpression\"||o.tag.type!==\"MemberExpression\"&&(o.tag.type!==\"Identifier\"||o.tag.name!==\"gql\"&&o.tag.name!==\"graphql\"&&o.tag.name!==\"css\"&&o.tag.name!==\"md\"&&o.tag.name!==\"markdown\"&&o.tag.name!==\"html\")&&o.tag.type!==\"CallExpression\"||Pl(p.quasi),o.type===\"TemplateLiteral\"&&(o.leadingComments&&o.leadingComments.some(k=>ws(k)&&[\"GraphQL\",\"HTML\"].some(Q=>k.value===` ${Q} `))||h.type===\"CallExpression\"&&h.callee.name===\"graphql\"||!o.leadingComments)&&Pl(p),o.type===\"InterpreterDirective\"&&(p.value=p.value.trimEnd()),o.type!==\"TSIntersectionType\"&&o.type!==\"TSUnionType\"||o.types.length!==1?void 0:p.types[0]}xc.ignoredProperties=gc;var Su=xc;const hC=o=>{if(typeof o!=\"string\")throw new TypeError(\"Expected a string\");const p=o.match(/(?:\\r?\\n)/g)||[];if(p.length===0)return;const h=p.filter(y=>y===`\\r\n`).length;return h>p.length-h?`\\r\n`:`\n`};var _o=hC;_o.graceful=o=>typeof o==\"string\"&&hC(o)||`\n`;var ol=function(o){const p=o.match(Al);return p?p[0].trimLeft():\"\"},Fc=function(o){const p=o.match(Al);return p&&p[0]?o.substring(p[0].length):o},_l=function(o){return iA(o).pragmas},uc=iA,Fl=function({comments:o=\"\",pragmas:p={}}){const h=(0,R6().default)(o)||D6().EOL,y=\" *\",k=Object.keys(p),Q=k.map(j0=>t4(j0,p[j0])).reduce((j0,Z0)=>j0.concat(Z0),[]).map(j0=>\" * \"+j0+h).join(\"\");if(!o){if(k.length===0)return\"\";if(k.length===1&&!Array.isArray(p[k[0]])){const j0=p[k[0]];return`/** ${t4(k[0],j0)[0]} */`}}const $0=o.split(h).map(j0=>` * ${j0}`).join(h)+h;return\"/**\"+h+(o?$0:\"\")+(o&&k.length?y+h:\"\")+Q+\" */\"};function D6(){const o=Uu;return D6=function(){return o},o}function R6(){const o=function(p){return p&&p.__esModule?p:{default:p}}(_o);return R6=function(){return o},o}const nA=/\\*\\/$/,x4=/^\\/\\*\\*/,Al=/^\\s*(\\/\\*\\*?(.|\\r?\\n)*?\\*\\/)/,e4=/(^|\\s+)\\/\\/([^\\r\\n]*)/g,bp=/^(\\r?\\n)+/,_c=/(?:^|\\r?\\n) *(@[^\\r\\n]*?) *\\r?\\n *(?![^@\\r\\n]*\\/\\/[^]*)([^@\\r\\n\\s][^@\\r\\n]+?) *\\r?\\n/g,Wl=/(?:^|\\r?\\n) *@(\\S+) *([^\\r\\n]*)/g,Vp=/(\\r?\\n|^) *\\* ?/g,$f=[];function iA(o){const p=(0,R6().default)(o)||D6().EOL;o=o.replace(x4,\"\").replace(nA,\"\").replace(Vp,\"$1\");let h=\"\";for(;h!==o;)h=o,o=o.replace(_c,`${p}$1 $2${p}`);o=o.replace(bp,\"\").trimRight();const y=Object.create(null),k=o.replace(Wl,\"\").replace(bp,\"\").trimRight();let Q;for(;Q=Wl.exec(o);){const $0=Q[2].replace(e4,\"\");typeof y[Q[1]]==\"string\"||Array.isArray(y[Q[1]])?y[Q[1]]=$f.concat(y[Q[1]],$0):y[Q[1]]=$0}return{comments:k,pragmas:y}}function t4(o,p){return $f.concat(p).map(h=>`@${o} ${h}`.trim())}var Om=Object.defineProperty({extract:ol,strip:Fc,parse:_l,parseWithComments:uc,print:Fl},\"__esModule\",{value:!0});const{parseWithComments:Md,strip:Dk,extract:Cd,print:tF}=Om,{getShebang:dd}=Po,{normalizeEndOfLine:Rf}=Dr;function ow(o){const p=dd(o);p&&(o=o.slice(p.length+1));const h=Cd(o),{pragmas:y,comments:k}=Md(h);return{shebang:p,text:o,pragmas:y,comments:k}}var N2={hasPragma:function(o){const p=Object.keys(ow(o).pragmas);return p.includes(\"prettier\")||p.includes(\"format\")},insertPragma:function(o){const{shebang:p,text:h,pragmas:y,comments:k}=ow(o),Q=Dk(h),$0=tF({pragmas:Object.assign({format:\"\"},y),comments:k.trimStart()});return(p?`${p}\n`:\"\")+Rf($0)+(Q.startsWith(`\n`)?`\n`:`\n\n`)+Q}};const{getLast:hm,hasNewline:Bm,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:kT,getNextNonSpaceNonCommentCharacter:Jf,hasNewlineInRange:Qd,addLeadingComment:$S,addTrailingComment:Pf,addDanglingComment:LF,getNextNonSpaceNonCommentCharacterIndex:Ku,isNonEmptyArray:Qw}=Po,{isBlockComment:Rd,getFunctionParameters:we,isPrettierIgnoreComment:it,isJsxNode:Ln,hasFlowShorthandAnnotationComment:Xn,hasFlowAnnotationComment:La,hasIgnoreComment:qa,isCallLikeExpression:Hc,getCallArguments:bx,isCallExpression:Wa,isMemberExpression:rs,isObjectProperty:ht}=vs,{locStart:Mu,locEnd:Gc}=s5;function Ab(o,p){const h=(o.body||o.properties).find(({type:y})=>y!==\"EmptyStatement\");h?$S(h,p):LF(o,p)}function jf(o,p){o.type===\"BlockStatement\"?Ab(o,p):$S(o,p)}function lp({comment:o,followingNode:p}){return!(!p||!dP(o))&&($S(p,o),!0)}function f2({comment:o,precedingNode:p,enclosingNode:h,followingNode:y,text:k}){return!h||h.type!==\"IfStatement\"||!y?!1:Jf(k,o,Gc)===\")\"?(Pf(p,o),!0):p===h.consequent&&y===h.alternate?(p.type===\"BlockStatement\"?Pf(p,o):LF(h,o),!0):y.type===\"BlockStatement\"?(Ab(y,o),!0):y.type===\"IfStatement\"?(jf(y.consequent,o),!0):h.consequent===y&&($S(y,o),!0)}function np({comment:o,precedingNode:p,enclosingNode:h,followingNode:y,text:k}){return!h||h.type!==\"WhileStatement\"||!y?!1:Jf(k,o,Gc)===\")\"?(Pf(p,o),!0):y.type===\"BlockStatement\"?(Ab(y,o),!0):h.body===y&&($S(y,o),!0)}function Cp({comment:o,precedingNode:p,enclosingNode:h,followingNode:y}){return!(!h||h.type!==\"TryStatement\"&&h.type!==\"CatchClause\"||!y)&&(h.type===\"CatchClause\"&&p?(Pf(p,o),!0):y.type===\"BlockStatement\"?(Ab(y,o),!0):y.type===\"TryStatement\"?(jf(y.finalizer,o),!0):y.type===\"CatchClause\"&&(jf(y.body,o),!0))}function ip({comment:o,enclosingNode:p,followingNode:h}){return!(!rs(p)||!h||h.type!==\"Identifier\")&&($S(p,o),!0)}function fp({comment:o,precedingNode:p,enclosingNode:h,followingNode:y,text:k}){const Q=p&&!Qd(k,Gc(p),Mu(o));return!(p&&Q||!h||h.type!==\"ConditionalExpression\"&&h.type!==\"TSConditionalType\"||!y)&&($S(y,o),!0)}function xd({comment:o,precedingNode:p,enclosingNode:h}){return!(!ht(h)||!h.shorthand||h.key!==p||h.value.type!==\"AssignmentPattern\")&&(Pf(h.value.left,o),!0)}function l5({comment:o,precedingNode:p,enclosingNode:h,followingNode:y}){if(h&&(h.type===\"ClassDeclaration\"||h.type===\"ClassExpression\"||h.type===\"DeclareClass\"||h.type===\"DeclareInterface\"||h.type===\"InterfaceDeclaration\"||h.type===\"TSInterfaceDeclaration\")){if(Qw(h.decorators)&&(!y||y.type!==\"Decorator\"))return Pf(hm(h.decorators),o),!0;if(h.body&&y===h.body)return Ab(h.body,o),!0;if(y){for(const k of[\"implements\",\"extends\",\"mixins\"])if(h[k]&&y===h[k][0])return!p||p!==h.id&&p!==h.typeParameters&&p!==h.superClass?LF(h,o,k):Pf(p,o),!0}}return!1}function pp({comment:o,precedingNode:p,enclosingNode:h,text:y}){return(h&&p&&(h.type===\"Property\"||h.type===\"TSDeclareMethod\"||h.type===\"TSAbstractMethodDefinition\")&&p.type===\"Identifier\"&&h.key===p&&Jf(y,p,Gc)!==\":\"||!(!p||!h||p.type!==\"Decorator\"||h.type!==\"ClassMethod\"&&h.type!==\"ClassProperty\"&&h.type!==\"PropertyDefinition\"&&h.type!==\"TSAbstractClassProperty\"&&h.type!==\"TSAbstractMethodDefinition\"&&h.type!==\"TSDeclareMethod\"&&h.type!==\"MethodDefinition\"))&&(Pf(p,o),!0)}function Pp({comment:o,precedingNode:p,enclosingNode:h,text:y}){return Jf(y,o,Gc)===\"(\"&&!(!p||!h||h.type!==\"FunctionDeclaration\"&&h.type!==\"FunctionExpression\"&&h.type!==\"ClassMethod\"&&h.type!==\"MethodDefinition\"&&h.type!==\"ObjectMethod\")&&(Pf(p,o),!0)}function Zo({comment:o,enclosingNode:p,text:h}){if(!p||p.type!==\"ArrowFunctionExpression\")return!1;const y=Ku(h,o,Gc);return y!==!1&&h.slice(y,y+2)===\"=>\"&&(LF(p,o),!0)}function Fo({comment:o,enclosingNode:p,text:h}){return Jf(h,o,Gc)===\")\"&&(p&&(gm(p)&&we(p).length===0||Hc(p)&&bx(p).length===0)?(LF(p,o),!0):!(!p||p.type!==\"MethodDefinition\"&&p.type!==\"TSAbstractMethodDefinition\"||we(p.value).length!==0)&&(LF(p.value,o),!0))}function pT({comment:o,precedingNode:p,enclosingNode:h,followingNode:y,text:k}){if(p&&p.type===\"FunctionTypeParam\"&&h&&h.type===\"FunctionTypeAnnotation\"&&y&&y.type!==\"FunctionTypeParam\"||p&&(p.type===\"Identifier\"||p.type===\"AssignmentPattern\")&&h&&gm(h)&&Jf(k,o,Gc)===\")\")return Pf(p,o),!0;if(h&&h.type===\"FunctionDeclaration\"&&y&&y.type===\"BlockStatement\"){const Q=(()=>{const $0=we(h);if($0.length>0)return kT(k,Gc(hm($0)));const j0=kT(k,Gc(h.id));return j0!==!1&&kT(k,j0+1)})();if(Mu(o)>Q)return Ab(y,o),!0}return!1}function ed({comment:o,enclosingNode:p}){return!(!p||p.type!==\"ImportSpecifier\")&&($S(p,o),!0)}function ah({comment:o,enclosingNode:p}){return!(!p||p.type!==\"LabeledStatement\")&&($S(p,o),!0)}function Kh({comment:o,enclosingNode:p}){return!(!p||p.type!==\"ContinueStatement\"&&p.type!==\"BreakStatement\"||p.label)&&(Pf(p,o),!0)}function j6({comment:o,precedingNode:p,enclosingNode:h}){return!!(Wa(h)&&p&&h.callee===p&&h.arguments.length>0)&&($S(h.arguments[0],o),!0)}function Jo({comment:o,precedingNode:p,enclosingNode:h,followingNode:y}){return!h||h.type!==\"UnionTypeAnnotation\"&&h.type!==\"TSUnionType\"?(y&&(y.type===\"UnionTypeAnnotation\"||y.type===\"TSUnionType\")&&it(o)&&(y.types[0].prettierIgnore=!0,o.unignore=!0),!1):(it(o)&&(y.prettierIgnore=!0,o.unignore=!0),!!p&&(Pf(p,o),!0))}function aN({comment:o,enclosingNode:p}){return!!ht(p)&&($S(p,o),!0)}function X2({comment:o,enclosingNode:p,followingNode:h,ast:y,isLastComment:k}){return y&&y.body&&y.body.length===0?(k?LF(y,o):$S(y,o),!0):p&&p.type===\"Program\"&&p.body.length===0&&!Qw(p.directives)?(k?LF(p,o):$S(p,o),!0):!(!h||h.type!==\"Program\"||h.body.length!==0||!p||p.type!==\"ModuleExpression\")&&(LF(h,o),!0)}function md({comment:o,enclosingNode:p}){return!(!p||p.type!==\"ForInStatement\"&&p.type!==\"ForOfStatement\")&&($S(p,o),!0)}function hd({comment:o,precedingNode:p,enclosingNode:h,text:y}){return!!(p&&p.type===\"ImportSpecifier\"&&h&&h.type===\"ImportDeclaration\"&&Bm(y,Gc(o)))&&(Pf(p,o),!0)}function Pk({comment:o,enclosingNode:p}){return!(!p||p.type!==\"AssignmentPattern\")&&($S(p,o),!0)}function oh({comment:o,enclosingNode:p}){return!(!p||p.type!==\"TypeAlias\")&&($S(p,o),!0)}function q5({comment:o,enclosingNode:p,followingNode:h}){return!(!p||p.type!==\"VariableDeclarator\"&&p.type!==\"AssignmentExpression\"||!h||h.type!==\"ObjectExpression\"&&h.type!==\"ArrayExpression\"&&h.type!==\"TemplateLiteral\"&&h.type!==\"TaggedTemplateExpression\"&&!Rd(o))&&($S(h,o),!0)}function M9({comment:o,enclosingNode:p,followingNode:h,text:y}){return!(h||!p||p.type!==\"TSMethodSignature\"&&p.type!==\"TSDeclareFunction\"&&p.type!==\"TSAbstractMethodDefinition\"||Jf(y,o,Gc)!==\";\")&&(Pf(p,o),!0)}function HP({comment:o,enclosingNode:p,followingNode:h}){if(it(o)&&p&&p.type===\"TSMappedType\"&&h&&h.type===\"TSTypeParameter\"&&h.constraint)return p.prettierIgnore=!0,o.unignore=!0,!0}function Hf({comment:o,precedingNode:p,enclosingNode:h,followingNode:y}){return!(!h||h.type!==\"TSMappedType\")&&(y&&y.type===\"TSTypeParameter\"&&y.name?($S(y.name,o),!0):!(!p||p.type!==\"TSTypeParameter\"||!p.constraint)&&(Pf(p.constraint,o),!0))}function gm(o){return o.type===\"ArrowFunctionExpression\"||o.type===\"FunctionExpression\"||o.type===\"FunctionDeclaration\"||o.type===\"ObjectMethod\"||o.type===\"ClassMethod\"||o.type===\"TSDeclareFunction\"||o.type===\"TSCallSignatureDeclaration\"||o.type===\"TSConstructSignatureDeclaration\"||o.type===\"TSMethodSignature\"||o.type===\"TSConstructorType\"||o.type===\"TSFunctionType\"||o.type===\"TSDeclareMethod\"}function dP(o){return Rd(o)&&o.value[0]===\"*\"&&/@type\\b/.test(o.value)}var Ik={handleOwnLineComment:function(o){return[HP,pT,ip,f2,np,Cp,l5,ed,md,Jo,X2,hd,Pk,pp,ah].some(p=>p(o))},handleEndOfLineComment:function(o){return[lp,pT,fp,ed,f2,np,Cp,l5,ah,j6,aN,X2,oh,q5].some(p=>p(o))},handleRemainingComment:function(o){return[HP,f2,np,xd,Fo,pp,X2,Zo,Pp,Hf,Kh,M9].some(p=>p(o))},isTypeCastComment:dP,getCommentChildNodes:function(o,p){if((p.parser===\"typescript\"||p.parser===\"flow\"||p.parser===\"espree\"||p.parser===\"meriyah\"||p.parser===\"__babel_estree\")&&o.type===\"MethodDefinition\"&&o.value&&o.value.type===\"FunctionExpression\"&&we(o.value).length===0&&!o.value.returnType&&!Qw(o.value.typeParameters)&&o.value.body)return[...o.decorators||[],o.key,o.value.body]},willPrintOwnComments:function(o){const p=o.getValue(),h=o.getParentNode();return(p&&(Ln(p)||Xn(p)||Wa(h)&&(La(p.leadingComments)||La(p.trailingComments)))||h&&(h.type===\"JSXSpreadAttribute\"||h.type===\"JSXSpreadChild\"||h.type===\"UnionTypeAnnotation\"||h.type===\"TSUnionType\"||(h.type===\"ClassDeclaration\"||h.type===\"ClassExpression\")&&h.superClass===p))&&(!qa(o)||h.type===\"UnionTypeAnnotation\"||h.type===\"TSUnionType\")}};const{getFunctionParameters:P,getLeftSidePathName:T1,hasFlowShorthandAnnotationComment:De,hasNakedLeftSide:rr,hasNode:ei,isBitwiseOperator:W,startsWithNoLookaheadToken:L0,shouldFlatten:J1,getPrecedence:ce,isCallExpression:ze,isMemberExpression:Zr,isObjectProperty:ui}=vs;function Ve(o,p){const h=o.getParentNode();if(!h)return!1;const y=o.getName(),k=o.getNode();if(p.__isInHtmlInterpolation&&!p.bracketSpacing&&function(Q){switch(Q.type){case\"ObjectExpression\":return!0;default:return!1}}(k)&&ks(o))return!0;if(function(Q){return Q.type===\"BlockStatement\"||Q.type===\"BreakStatement\"||Q.type===\"ClassBody\"||Q.type===\"ClassDeclaration\"||Q.type===\"ClassMethod\"||Q.type===\"ClassProperty\"||Q.type===\"PropertyDefinition\"||Q.type===\"ClassPrivateProperty\"||Q.type===\"ContinueStatement\"||Q.type===\"DebuggerStatement\"||Q.type===\"DeclareClass\"||Q.type===\"DeclareExportAllDeclaration\"||Q.type===\"DeclareExportDeclaration\"||Q.type===\"DeclareFunction\"||Q.type===\"DeclareInterface\"||Q.type===\"DeclareModule\"||Q.type===\"DeclareModuleExports\"||Q.type===\"DeclareVariable\"||Q.type===\"DoWhileStatement\"||Q.type===\"EnumDeclaration\"||Q.type===\"ExportAllDeclaration\"||Q.type===\"ExportDefaultDeclaration\"||Q.type===\"ExportNamedDeclaration\"||Q.type===\"ExpressionStatement\"||Q.type===\"ForInStatement\"||Q.type===\"ForOfStatement\"||Q.type===\"ForStatement\"||Q.type===\"FunctionDeclaration\"||Q.type===\"IfStatement\"||Q.type===\"ImportDeclaration\"||Q.type===\"InterfaceDeclaration\"||Q.type===\"LabeledStatement\"||Q.type===\"MethodDefinition\"||Q.type===\"ReturnStatement\"||Q.type===\"SwitchStatement\"||Q.type===\"ThrowStatement\"||Q.type===\"TryStatement\"||Q.type===\"TSDeclareFunction\"||Q.type===\"TSEnumDeclaration\"||Q.type===\"TSImportEqualsDeclaration\"||Q.type===\"TSInterfaceDeclaration\"||Q.type===\"TSModuleDeclaration\"||Q.type===\"TSNamespaceExportDeclaration\"||Q.type===\"TypeAlias\"||Q.type===\"VariableDeclaration\"||Q.type===\"WhileStatement\"||Q.type===\"WithStatement\"}(k))return!1;if(p.parser!==\"flow\"&&De(o.getValue()))return!0;if(k.type===\"Identifier\")return!!(k.extra&&k.extra.parenthesized&&/^PRETTIER_HTML_PLACEHOLDER_\\d+_\\d+_IN_JS$/.test(k.name))||y===\"left\"&&k.name===\"async\"&&h.type===\"ForOfStatement\"&&!h.await;switch(h.type){case\"ParenthesizedExpression\":return!1;case\"ClassDeclaration\":case\"ClassExpression\":if(y===\"superClass\"&&(k.type===\"ArrowFunctionExpression\"||k.type===\"AssignmentExpression\"||k.type===\"AwaitExpression\"||k.type===\"BinaryExpression\"||k.type===\"ConditionalExpression\"||k.type===\"LogicalExpression\"||k.type===\"NewExpression\"||k.type===\"ObjectExpression\"||k.type===\"ParenthesizedExpression\"||k.type===\"SequenceExpression\"||k.type===\"TaggedTemplateExpression\"||k.type===\"UnaryExpression\"||k.type===\"UpdateExpression\"||k.type===\"YieldExpression\"||k.type===\"TSNonNullExpression\"))return!0;break;case\"ExportDefaultDeclaration\":return Sf(o,p)||k.type===\"SequenceExpression\";case\"Decorator\":if(y===\"expression\"){let Q=!1,$0=!1,j0=k;for(;j0;)switch(j0.type){case\"MemberExpression\":$0=!0,j0=j0.object;break;case\"CallExpression\":if($0||Q)return!0;Q=!0,j0=j0.callee;break;case\"Identifier\":return!1;default:return!0}return!0}break;case\"ExpressionStatement\":if(L0(k,!0))return!0;break;case\"ArrowFunctionExpression\":if(y===\"body\"&&k.type!==\"SequenceExpression\"&&L0(k,!1))return!0}switch(k.type){case\"UpdateExpression\":if(h.type===\"UnaryExpression\")return k.prefix&&(k.operator===\"++\"&&h.operator===\"+\"||k.operator===\"--\"&&h.operator===\"-\");case\"UnaryExpression\":switch(h.type){case\"UnaryExpression\":return k.operator===h.operator&&(k.operator===\"+\"||k.operator===\"-\");case\"BindExpression\":return!0;case\"MemberExpression\":case\"OptionalMemberExpression\":return y===\"object\";case\"TaggedTemplateExpression\":return!0;case\"NewExpression\":case\"CallExpression\":case\"OptionalCallExpression\":return y===\"callee\";case\"BinaryExpression\":return y===\"left\"&&h.operator===\"**\";case\"TSNonNullExpression\":return!0;default:return!1}case\"BinaryExpression\":if(h.type===\"UpdateExpression\"||h.type===\"PipelineTopicExpression\"&&k.operator===\"|>\"||k.operator===\"in\"&&function(Q){let $0=0,j0=Q.getValue();for(;j0;){const Z0=Q.getParentNode($0++);if(Z0&&Z0.type===\"ForStatement\"&&Z0.init===j0)return!0;j0=Z0}return!1}(o))return!0;if(k.operator===\"|>\"&&k.extra&&k.extra.parenthesized){const Q=o.getParentNode(1);if(Q.type===\"BinaryExpression\"&&Q.operator===\"|>\")return!0}case\"TSTypeAssertion\":case\"TSAsExpression\":case\"LogicalExpression\":switch(h.type){case\"TSAsExpression\":return k.type!==\"TSAsExpression\";case\"ConditionalExpression\":return k.type===\"TSAsExpression\";case\"CallExpression\":case\"NewExpression\":case\"OptionalCallExpression\":return y===\"callee\";case\"ClassExpression\":case\"ClassDeclaration\":return y===\"superClass\";case\"TSTypeAssertion\":case\"TaggedTemplateExpression\":case\"UnaryExpression\":case\"JSXSpreadAttribute\":case\"SpreadElement\":case\"SpreadProperty\":case\"BindExpression\":case\"AwaitExpression\":case\"TSNonNullExpression\":case\"UpdateExpression\":return!0;case\"MemberExpression\":case\"OptionalMemberExpression\":return y===\"object\";case\"AssignmentExpression\":case\"AssignmentPattern\":return y===\"left\"&&(k.type===\"TSTypeAssertion\"||k.type===\"TSAsExpression\");case\"LogicalExpression\":if(k.type===\"LogicalExpression\")return h.operator!==k.operator;case\"BinaryExpression\":{const{operator:Q,type:$0}=k;if(!Q&&$0!==\"TSTypeAssertion\")return!0;const j0=ce(Q),Z0=h.operator,g1=ce(Z0);return g1>j0||y===\"right\"&&g1===j0||g1===j0&&!J1(Z0,Q)||(g1<j0&&Q===\"%\"?Z0===\"+\"||Z0===\"-\":!!W(Z0))}default:return!1}case\"SequenceExpression\":switch(h.type){case\"ReturnStatement\":case\"ForStatement\":return!1;case\"ExpressionStatement\":return y!==\"expression\";case\"ArrowFunctionExpression\":return y!==\"body\";default:return!0}case\"YieldExpression\":if(h.type===\"UnaryExpression\"||h.type===\"AwaitExpression\"||h.type===\"TSAsExpression\"||h.type===\"TSNonNullExpression\"||y===\"expression\"&&k.argument&&k.argument.type===\"PipelinePrimaryTopicReference\"&&h.type===\"PipelineTopicExpression\")return!0;case\"AwaitExpression\":switch(h.type){case\"TaggedTemplateExpression\":case\"UnaryExpression\":case\"LogicalExpression\":case\"SpreadElement\":case\"SpreadProperty\":case\"TSAsExpression\":case\"TSNonNullExpression\":case\"BindExpression\":return!0;case\"MemberExpression\":case\"OptionalMemberExpression\":return y===\"object\";case\"NewExpression\":case\"CallExpression\":case\"OptionalCallExpression\":return y===\"callee\";case\"ConditionalExpression\":return y===\"test\";case\"BinaryExpression\":return!(!k.argument&&h.operator===\"|>\");default:return!1}case\"TSConditionalType\":if(y===\"extendsType\"&&h.type===\"TSConditionalType\")return!0;case\"TSFunctionType\":case\"TSConstructorType\":if(y===\"checkType\"&&h.type===\"TSConditionalType\")return!0;case\"TSUnionType\":case\"TSIntersectionType\":if((h.type===\"TSUnionType\"||h.type===\"TSIntersectionType\")&&h.types.length>1&&(!k.types||k.types.length>1))return!0;case\"TSInferType\":if(k.type===\"TSInferType\"&&h.type===\"TSRestType\")return!1;case\"TSTypeOperator\":return h.type===\"TSArrayType\"||h.type===\"TSOptionalType\"||h.type===\"TSRestType\"||y===\"objectType\"&&h.type===\"TSIndexedAccessType\"||h.type===\"TSTypeOperator\"||h.type===\"TSTypeAnnotation\"&&/^TSJSDoc/.test(o.getParentNode(1).type);case\"ArrayTypeAnnotation\":return h.type===\"NullableTypeAnnotation\";case\"IntersectionTypeAnnotation\":case\"UnionTypeAnnotation\":return h.type===\"ArrayTypeAnnotation\"||h.type===\"NullableTypeAnnotation\"||h.type===\"IntersectionTypeAnnotation\"||h.type===\"UnionTypeAnnotation\"||y===\"objectType\"&&(h.type===\"IndexedAccessType\"||h.type===\"OptionalIndexedAccessType\");case\"NullableTypeAnnotation\":return h.type===\"ArrayTypeAnnotation\"||y===\"objectType\"&&(h.type===\"IndexedAccessType\"||h.type===\"OptionalIndexedAccessType\");case\"FunctionTypeAnnotation\":{const Q=h.type===\"NullableTypeAnnotation\"?o.getParentNode(1):h;return Q.type===\"UnionTypeAnnotation\"||Q.type===\"IntersectionTypeAnnotation\"||Q.type===\"ArrayTypeAnnotation\"||y===\"objectType\"&&(Q.type===\"IndexedAccessType\"||Q.type===\"OptionalIndexedAccessType\")||Q.type===\"NullableTypeAnnotation\"||h.type===\"FunctionTypeParam\"&&h.name===null&&P(k).some($0=>$0.typeAnnotation&&$0.typeAnnotation.type===\"NullableTypeAnnotation\")}case\"OptionalIndexedAccessType\":return y===\"objectType\"&&h.type===\"IndexedAccessType\";case\"TypeofTypeAnnotation\":return y===\"objectType\"&&(h.type===\"IndexedAccessType\"||h.type===\"OptionalIndexedAccessType\");case\"StringLiteral\":case\"NumericLiteral\":case\"Literal\":if(typeof k.value==\"string\"&&h.type===\"ExpressionStatement\"&&!h.directive){const Q=o.getParentNode(1);return Q.type===\"Program\"||Q.type===\"BlockStatement\"}return y===\"object\"&&h.type===\"MemberExpression\"&&typeof k.value==\"number\";case\"AssignmentExpression\":{const Q=o.getParentNode(1);return y===\"body\"&&h.type===\"ArrowFunctionExpression\"||(y!==\"key\"||h.type!==\"ClassProperty\"&&h.type!==\"PropertyDefinition\"||!h.computed)&&(y!==\"init\"&&y!==\"update\"||h.type!==\"ForStatement\")&&(h.type===\"ExpressionStatement\"?k.left.type===\"ObjectPattern\":(y!==\"key\"||h.type!==\"TSPropertySignature\")&&h.type!==\"AssignmentExpression\"&&(h.type!==\"SequenceExpression\"||!Q||Q.type!==\"ForStatement\"||Q.init!==h&&Q.update!==h)&&(y!==\"value\"||h.type!==\"Property\"||!Q||Q.type!==\"ObjectPattern\"||!Q.properties.includes(h))&&h.type!==\"NGChainedExpression\")}case\"ConditionalExpression\":switch(h.type){case\"TaggedTemplateExpression\":case\"UnaryExpression\":case\"SpreadElement\":case\"SpreadProperty\":case\"BinaryExpression\":case\"LogicalExpression\":case\"NGPipeExpression\":case\"ExportDefaultDeclaration\":case\"AwaitExpression\":case\"JSXSpreadAttribute\":case\"TSTypeAssertion\":case\"TypeCastExpression\":case\"TSAsExpression\":case\"TSNonNullExpression\":return!0;case\"NewExpression\":case\"CallExpression\":case\"OptionalCallExpression\":return y===\"callee\";case\"ConditionalExpression\":return y===\"test\";case\"MemberExpression\":case\"OptionalMemberExpression\":return y===\"object\";default:return!1}case\"FunctionExpression\":switch(h.type){case\"NewExpression\":case\"CallExpression\":case\"OptionalCallExpression\":return y===\"callee\";case\"TaggedTemplateExpression\":return!0;default:return!1}case\"ArrowFunctionExpression\":switch(h.type){case\"PipelineTopicExpression\":return Boolean(k.extra&&k.extra.parenthesized);case\"BinaryExpression\":return h.operator!==\"|>\"||k.extra&&k.extra.parenthesized;case\"NewExpression\":case\"CallExpression\":case\"OptionalCallExpression\":return y===\"callee\";case\"MemberExpression\":case\"OptionalMemberExpression\":return y===\"object\";case\"TSAsExpression\":case\"TSNonNullExpression\":case\"BindExpression\":case\"TaggedTemplateExpression\":case\"UnaryExpression\":case\"LogicalExpression\":case\"AwaitExpression\":case\"TSTypeAssertion\":return!0;case\"ConditionalExpression\":return y===\"test\";default:return!1}case\"ClassExpression\":switch(h.type){case\"NewExpression\":return y===\"callee\";default:return!1}case\"OptionalMemberExpression\":case\"OptionalCallExpression\":{const Q=o.getParentNode(1);if(y===\"object\"&&h.type===\"MemberExpression\"||y===\"callee\"&&(h.type===\"CallExpression\"||h.type===\"NewExpression\")||h.type===\"TSNonNullExpression\"&&Q.type===\"MemberExpression\"&&Q.object===h)return!0}case\"CallExpression\":case\"MemberExpression\":case\"TaggedTemplateExpression\":case\"TSNonNullExpression\":if(y===\"callee\"&&(h.type===\"BindExpression\"||h.type===\"NewExpression\")){let Q=k;for(;Q;)switch(Q.type){case\"CallExpression\":case\"OptionalCallExpression\":return!0;case\"MemberExpression\":case\"OptionalMemberExpression\":case\"BindExpression\":Q=Q.object;break;case\"TaggedTemplateExpression\":Q=Q.tag;break;case\"TSNonNullExpression\":Q=Q.expression;break;default:return!1}}return!1;case\"BindExpression\":return y===\"callee\"&&(h.type===\"BindExpression\"||h.type===\"NewExpression\")||y===\"object\"&&Zr(h);case\"NGPipeExpression\":return!(h.type===\"NGRoot\"||h.type===\"NGMicrosyntaxExpression\"||h.type===\"ObjectProperty\"&&(!k.extra||!k.extra.parenthesized)||h.type===\"ArrayExpression\"||ze(h)&&h.arguments[y]===k||y===\"right\"&&h.type===\"NGPipeExpression\"||y===\"property\"&&h.type===\"MemberExpression\"||h.type===\"AssignmentExpression\");case\"JSXFragment\":case\"JSXElement\":return y===\"callee\"||y===\"left\"&&h.type===\"BinaryExpression\"&&h.operator===\"<\"||h.type!==\"ArrayExpression\"&&h.type!==\"ArrowFunctionExpression\"&&h.type!==\"AssignmentExpression\"&&h.type!==\"AssignmentPattern\"&&h.type!==\"BinaryExpression\"&&h.type!==\"NewExpression\"&&h.type!==\"ConditionalExpression\"&&h.type!==\"ExpressionStatement\"&&h.type!==\"JsExpressionRoot\"&&h.type!==\"JSXAttribute\"&&h.type!==\"JSXElement\"&&h.type!==\"JSXExpressionContainer\"&&h.type!==\"JSXFragment\"&&h.type!==\"LogicalExpression\"&&!ze(h)&&!ui(h)&&h.type!==\"ReturnStatement\"&&h.type!==\"ThrowStatement\"&&h.type!==\"TypeCastExpression\"&&h.type!==\"VariableDeclarator\"&&h.type!==\"YieldExpression\";case\"TypeAnnotation\":return y===\"returnType\"&&h.type===\"ArrowFunctionExpression\"&&function(Q){return ei(Q,$0=>$0.type===\"ObjectTypeAnnotation\"&&ei($0,j0=>j0.type===\"FunctionTypeAnnotation\"||void 0)||void 0)}(k)}return!1}function ks(o){const p=o.getValue(),h=o.getParentNode(),y=o.getName();switch(h.type){case\"NGPipeExpression\":if(typeof y==\"number\"&&h.arguments[y]===p&&h.arguments.length-1===y)return o.callParent(ks);break;case\"ObjectProperty\":if(y===\"value\"){const k=o.getParentNode(1);return l_(k.properties)===h}break;case\"BinaryExpression\":case\"LogicalExpression\":if(y===\"right\")return o.callParent(ks);break;case\"ConditionalExpression\":if(y===\"alternate\")return o.callParent(ks);break;case\"UnaryExpression\":if(h.prefix)return o.callParent(ks)}return!1}function Sf(o,p){const h=o.getValue(),y=o.getParentNode();return h.type===\"FunctionExpression\"||h.type===\"ClassExpression\"?y.type===\"ExportDefaultDeclaration\"||!Ve(o,p):!(!rr(h)||y.type!==\"ExportDefaultDeclaration\"&&Ve(o,p))&&o.call(k=>Sf(k,p),...T1(o,h))}var X6=Ve,DS=function(o,p){switch(p.parser){case\"json\":case\"json5\":case\"json-stringify\":case\"__js_expression\":case\"__vue_expression\":return Object.assign(Object.assign({},o),{},{type:p.parser.startsWith(\"__\")?\"JsExpressionRoot\":\"JsonRoot\",node:o,comments:[],rootMarker:p.rootMarker});default:return o}};const{builders:{join:P2,line:qA,group:nl,softline:gd,indent:f5}}=xp;var p2={isVueEventBindingExpression:function o(p){switch(p.type){case\"MemberExpression\":switch(p.property.type){case\"Identifier\":case\"NumericLiteral\":case\"StringLiteral\":return o(p.object)}return!1;case\"Identifier\":return!0;default:return!1}},printHtmlBinding:function(o,p,h){const y=o.getValue();if(p.__onHtmlBindingRoot&&o.getName()===null&&p.__onHtmlBindingRoot(y,p),y.type===\"File\")return p.__isVueForBindingLeft?o.call(k=>{const Q=P2([\",\",qA],k.map(h,\"params\")),{params:$0}=k.getValue();return $0.length===1?Q:[\"(\",f5([gd,nl(Q)]),gd,\")\"]},\"program\",\"body\",0):p.__isVueBindings?o.call(k=>P2([\",\",qA],k.map(h,\"params\")),\"program\",\"body\",0):void 0}};const{printComments:D_}=g0,{getLast:GP}=Po,{builders:{join:jd,line:vh,softline:zm,group:Zw,indent:v_,align:bh,ifBreak:Sw,indentIfBreak:Wm},utils:{cleanDoc:MI,getDocParts:zh,isConcat:Xc}}=xp,{hasLeadingOwnLineComment:ms,isBinaryish:I2,isJsxNode:ug,shouldFlatten:cg,hasComment:s6,CommentCheckFlags:qm,isCallExpression:mP,isMemberExpression:b_,isObjectProperty:zD}=vs;let Ae=0;function kt(o,p,h,y,k){let Q=[];const $0=o.getValue();if(I2($0)){cg($0.operator,$0.left.operator)?Q=[...Q,...o.call(ft=>kt(ft,p,h,!0,k),\"left\")]:Q.push(Zw(p(\"left\")));const j0=br($0),Z0=($0.operator===\"|>\"||$0.type===\"NGPipeExpression\"||$0.operator===\"|\"&&h.parser===\"__vue_expression\")&&!ms(h.originalText,$0.right),g1=$0.type===\"NGPipeExpression\"?\"|\":$0.operator,z1=$0.type===\"NGPipeExpression\"&&$0.arguments.length>0?Zw(v_([zm,\": \",jd([zm,\":\",Sw(\" \")],o.map(p,\"arguments\").map(ft=>bh(2,Zw(ft))))])):\"\",X1=j0?[g1,\" \",p(\"right\"),z1]:[Z0?vh:\"\",g1,Z0?\" \":vh,p(\"right\"),z1],se=o.getParentNode(),be=s6($0.left,qm.Trailing|qm.Line),Je=be||!(k&&$0.type===\"LogicalExpression\")&&se.type!==$0.type&&$0.left.type!==$0.type&&$0.right.type!==$0.type;if(Q.push(Z0?\"\":\" \",Je?Zw(X1,{shouldBreak:be}):X1),y&&s6($0)){const ft=MI(D_(o,Q,h));Q=Xc(ft)||ft.type===\"fill\"?zh(ft):[ft]}}else Q.push(Zw(p()));return Q}function br(o){return o.type===\"LogicalExpression\"&&(o.right.type===\"ObjectExpression\"&&o.right.properties.length>0||o.right.type===\"ArrayExpression\"&&o.right.elements.length>0||!!ug(o.right))}var Cn={printBinaryishExpression:function(o,p,h){const y=o.getValue(),k=o.getParentNode(),Q=o.getParentNode(1),$0=y!==k.body&&(k.type===\"IfStatement\"||k.type===\"WhileStatement\"||k.type===\"SwitchStatement\"||k.type===\"DoWhileStatement\"),j0=kt(o,h,p,!1,$0);if($0)return j0;if(mP(k)&&k.callee===y||k.type===\"UnaryExpression\"||b_(k)&&!k.computed)return Zw([v_([zm,...j0]),zm]);const Z0=k.type===\"ReturnStatement\"||k.type===\"ThrowStatement\"||k.type===\"JSXExpressionContainer\"&&Q.type===\"JSXAttribute\"||y.operator!==\"|\"&&k.type===\"JsExpressionRoot\"||y.type!==\"NGPipeExpression\"&&(k.type===\"NGRoot\"&&p.parser===\"__ng_binding\"||k.type===\"NGMicrosyntaxExpression\"&&Q.type===\"NGMicrosyntax\"&&Q.body.length===1)||y===k.body&&k.type===\"ArrowFunctionExpression\"||y!==k.body&&k.type===\"ForStatement\"||k.type===\"ConditionalExpression\"&&Q.type!==\"ReturnStatement\"&&Q.type!==\"ThrowStatement\"&&!mP(Q)||k.type===\"TemplateLiteral\",g1=k.type===\"AssignmentExpression\"||k.type===\"VariableDeclarator\"||k.type===\"ClassProperty\"||k.type===\"PropertyDefinition\"||k.type===\"TSAbstractClassProperty\"||k.type===\"ClassPrivateProperty\"||zD(k),z1=I2(y.left)&&cg(y.operator,y.left.operator);if(Z0||br(y)&&!z1||!br(y)&&g1)return Zw(j0);if(j0.length===0)return\"\";const X1=ug(y.right),se=j0.findIndex(Wr=>typeof Wr!=\"string\"&&!Array.isArray(Wr)&&Wr.type===\"group\"),be=j0.slice(0,se===-1?1:se+1),Je=j0.slice(be.length,X1?-1:void 0),ft=Symbol(\"logicalChain-\"+ ++Ae),Xr=Zw([...be,v_(Je)],{id:ft});if(!X1)return Xr;const on=GP(j0);return Zw([Xr,Wm(on,{groupId:ft})])},shouldInlineLogicalExpression:br};const{builders:{join:Ci,line:$i,group:no}}=xp,{hasNode:lo,hasComment:Qs,getComments:yo}=vs,{printBinaryishExpression:Ou}=Cn;function oc(o,p,h){return o.type===\"NGMicrosyntaxKeyedExpression\"&&o.key.name===\"of\"&&p===1&&h.body[0].type===\"NGMicrosyntaxLet\"&&h.body[0].value===null}var xl={printAngular:function(o,p,h){const y=o.getValue();if(y.type.startsWith(\"NG\"))switch(y.type){case\"NGRoot\":return[h(\"node\"),Qs(y.node)?\" //\"+yo(y.node)[0].value.trimEnd():\"\"];case\"NGPipeExpression\":return Ou(o,p,h);case\"NGChainedExpression\":return no(Ci([\";\",$i],o.map(k=>function(Q){return lo(Q.getValue(),$0=>{switch($0.type){case void 0:return!1;case\"CallExpression\":case\"OptionalCallExpression\":case\"AssignmentExpression\":return!0}})}(k)?h():[\"(\",h(),\")\"],\"expressions\")));case\"NGEmptyExpression\":return\"\";case\"NGQuotedExpression\":return[y.prefix,\": \",y.value.trim()];case\"NGMicrosyntax\":return o.map((k,Q)=>[Q===0?\"\":oc(k.getValue(),Q,y)?\" \":[\";\",$i],h()],\"body\");case\"NGMicrosyntaxKey\":return/^[$_a-z][\\w$]*(-[$_a-z][\\w$])*$/i.test(y.name)?y.name:JSON.stringify(y.name);case\"NGMicrosyntaxExpression\":return[h(\"expression\"),y.alias===null?\"\":[\" as \",h(\"alias\")]];case\"NGMicrosyntaxKeyedExpression\":{const k=o.getName(),Q=o.getParentNode(),$0=oc(y,k,Q)||(k===1&&(y.key.name===\"then\"||y.key.name===\"else\")||k===2&&y.key.name===\"else\"&&Q.body[k-1].type===\"NGMicrosyntaxKeyedExpression\"&&Q.body[k-1].key.name===\"then\")&&Q.body[0].type===\"NGMicrosyntaxExpression\";return[h(\"key\"),$0?\" \":\": \",h(\"expression\")]}case\"NGMicrosyntaxLet\":return[\"let \",h(\"key\"),y.value===null?\"\":[\" = \",h(\"value\")]];case\"NGMicrosyntaxAs\":return[h(\"key\"),\" as \",h(\"alias\")];default:throw new Error(`Unknown Angular node type: ${JSON.stringify(y.type)}.`)}}};const{printComments:Jl,printDanglingComments:dp}=g0,{builders:{line:If,hardline:ql,softline:Ip,group:sw,indent:F5,conditionalGroup:d2,fill:td,ifBreak:qT,lineSuffixBoundary:rF,join:C_},utils:{willBreak:Is}}=xp,{getLast:O2,getPreferredQuote:ka}=Po,{isJsxNode:lg,rawText:x9,isLiteral:LN,isCallExpression:RI,isStringLiteral:My,isBinaryish:sh,hasComment:Ok,CommentCheckFlags:xk,hasNodeIgnoreComment:E_}=vs,{willPrintOwnComments:Ry}=Ik,fg=o=>o===\"\"||o===If||o===ql||o===Ip;function e9(o,p,h){const y=o.getValue();if(y.type===\"JSXElement\"&&function(Wr){if(Wr.children.length===0)return!0;if(Wr.children.length>1)return!1;const Zi=Wr.children[0];return LN(Zi)&&!Vu(Zi)}(y))return[h(\"openingElement\"),h(\"closingElement\")];const k=y.type===\"JSXElement\"?h(\"openingElement\"):h(\"openingFragment\"),Q=y.type===\"JSXElement\"?h(\"closingElement\"):h(\"closingFragment\");if(y.children.length===1&&y.children[0].type===\"JSXExpressionContainer\"&&(y.children[0].expression.type===\"TemplateLiteral\"||y.children[0].expression.type===\"TaggedTemplateExpression\"))return[k,...o.map(h,\"children\"),Q];y.children=y.children.map(Wr=>function(Zi){return Zi.type===\"JSXExpressionContainer\"&&LN(Zi.expression)&&Zi.expression.value===\" \"&&!Ok(Zi.expression)}(Wr)?{type:\"JSXText\",value:\" \",raw:\" \"}:Wr);const $0=y.children.filter(lg).length>0,j0=y.children.filter(Wr=>Wr.type===\"JSXExpressionContainer\").length>1,Z0=y.type===\"JSXElement\"&&y.openingElement.attributes.length>1;let g1=Is(k)||$0||Z0||j0;const z1=o.getParentNode().rootMarker===\"mdx\",X1=p.singleQuote?\"{' '}\":'{\" \"}',se=z1?\" \":qT([X1,Ip],\" \"),be=function(Wr,Zi,hs,Ao,Hs){const Oc=[];return Wr.each((Nd,qd,Hl)=>{const gf=Nd.getValue();if(LN(gf)){const Qh=x9(gf);if(Vu(gf)){const N8=Qh.split(bo);if(N8[0]===\"\"){if(Oc.push(\"\"),N8.shift(),/\\n/.test(N8[0])){const P5=Hl[qd+1];Oc.push(vk(Hs,N8[1],gf,P5))}else Oc.push(Ao);N8.shift()}let o8;if(O2(N8)===\"\"&&(N8.pop(),o8=N8.pop()),N8.length===0)return;for(const[P5,gN]of N8.entries())P5%2==1?Oc.push(If):Oc.push(gN);if(o8!==void 0)if(/\\n/.test(o8)){const P5=Hl[qd+1];Oc.push(vk(Hs,O2(Oc),gf,P5))}else Oc.push(Ao);else{const P5=Hl[qd+1];Oc.push(HL(Hs,O2(Oc),gf,P5))}}else/\\n/.test(Qh)?Qh.match(/\\n/g).length>1&&Oc.push(\"\",ql):Oc.push(\"\",Ao)}else{const Qh=hs();Oc.push(Qh);const N8=Hl[qd+1];if(N8&&Vu(N8)){const o8=qc(x9(N8)).split(bo)[0];Oc.push(HL(Hs,o8,gf,N8))}else Oc.push(ql)}},\"children\"),Oc}(o,0,h,se,y.openingElement&&y.openingElement.name&&y.openingElement.name.name===\"fbt\"),Je=y.children.some(Wr=>Vu(Wr));for(let Wr=be.length-2;Wr>=0;Wr--){const Zi=be[Wr]===\"\"&&be[Wr+1]===\"\",hs=be[Wr]===ql&&be[Wr+1]===\"\"&&be[Wr+2]===ql,Ao=(be[Wr]===Ip||be[Wr]===ql)&&be[Wr+1]===\"\"&&be[Wr+2]===se,Hs=be[Wr]===se&&be[Wr+1]===\"\"&&(be[Wr+2]===Ip||be[Wr+2]===ql),Oc=be[Wr]===se&&be[Wr+1]===\"\"&&be[Wr+2]===se,Nd=be[Wr]===Ip&&be[Wr+1]===\"\"&&be[Wr+2]===ql||be[Wr]===ql&&be[Wr+1]===\"\"&&be[Wr+2]===Ip;hs&&Je||Zi||Ao||Oc||Nd?be.splice(Wr,2):Hs&&be.splice(Wr+1,2)}for(;be.length>0&&fg(O2(be));)be.pop();for(;be.length>1&&fg(be[0])&&fg(be[1]);)be.shift(),be.shift();const ft=[];for(const[Wr,Zi]of be.entries()){if(Zi===se){if(Wr===1&&be[Wr-1]===\"\"){if(be.length===2){ft.push(X1);continue}ft.push([X1,ql]);continue}if(Wr===be.length-1){ft.push(X1);continue}if(be[Wr-1]===\"\"&&be[Wr-2]===ql){ft.push(X1);continue}}ft.push(Zi),Is(Zi)&&(g1=!0)}const Xr=Je?td(ft):sw(ft,{shouldBreak:!0});if(z1)return Xr;const on=sw([k,F5([ql,Xr]),ql,Q]);return g1?on:d2([sw([k,...be,Q]),on])}function HL(o,p,h,y){return o?\"\":h.type===\"JSXElement\"&&!h.closingElement||y&&y.type===\"JSXElement\"&&!y.closingElement?p.length===1?Ip:ql:Ip}function vk(o,p,h,y){return o?ql:p.length===1?h.type===\"JSXElement\"&&!h.closingElement||y&&y.type===\"JSXElement\"&&!y.closingElement?ql:Ip:ql}function Ug(o,p,h){return function(y,k,Q){const $0=y.getParentNode();if(!$0||{ArrayExpression:!0,JSXAttribute:!0,JSXElement:!0,JSXExpressionContainer:!0,JSXFragment:!0,ExpressionStatement:!0,CallExpression:!0,OptionalCallExpression:!0,ConditionalExpression:!0,JsExpressionRoot:!0}[$0.type])return k;const j0=y.match(void 0,g1=>g1.type===\"ArrowFunctionExpression\",RI,g1=>g1.type===\"JSXExpressionContainer\"),Z0=X6(y,Q);return sw([Z0?\"\":qT(\"(\"),F5([Ip,k]),Ip,Z0?\"\":qT(\")\")],{shouldBreak:j0})}(o,Jl(o,e9(o,p,h),p),p)}function uh(o,p,h){const y=o.getValue();return[\"{\",o.call(k=>{const Q=[\"...\",h()],$0=k.getValue();return Ok($0)&&Ry(k)?[F5([Ip,Jl(k,Q,p)]),Ip]:Q},y.type===\"JSXSpreadAttribute\"?\"argument\":\"expression\"),\"}\"]}const bo=new RegExp(`([ \n\\r\t]+)`),eu=new RegExp(`[^ \n\\r\t]`),qc=o=>o.replace(new RegExp(\"(?:^\"+bo.source+\"|\"+bo.source+\"$)\"),\"\");function Vu(o){return LN(o)&&(eu.test(x9(o))||!/\\n/.test(x9(o)))}var Ac={hasJsxIgnoreComment:function(o){const p=o.getValue(),h=o.getParentNode();if(!(h&&p&&lg(p)&&lg(h)))return!1;let y=null;for(let k=h.children.indexOf(p);k>0;k--){const Q=h.children[k-1];if(Q.type!==\"JSXText\"||Vu(Q)){y=Q;break}}return y&&y.type===\"JSXExpressionContainer\"&&y.expression.type===\"JSXEmptyExpression\"&&E_(y.expression)},printJsx:function(o,p,h){const y=o.getValue();if(y.type.startsWith(\"JSX\"))switch(y.type){case\"JSXAttribute\":return function(k,Q,$0){const j0=k.getValue(),Z0=[];if(Z0.push($0(\"name\")),j0.value){let g1;if(My(j0.value)){let z1=x9(j0.value).replace(/&apos;/g,\"'\").replace(/&quot;/g,'\"');const X1=ka(z1,Q.jsxSingleQuote?\"'\":'\"'),se=X1===\"'\"?\"&apos;\":\"&quot;\";z1=z1.slice(1,-1).replace(new RegExp(X1,\"g\"),se),g1=[X1,z1,X1]}else g1=$0(\"value\");Z0.push(\"=\",g1)}return Z0}(o,p,h);case\"JSXIdentifier\":return String(y.name);case\"JSXNamespacedName\":return C_(\":\",[h(\"namespace\"),h(\"name\")]);case\"JSXMemberExpression\":return C_(\".\",[h(\"object\"),h(\"property\")]);case\"JSXSpreadAttribute\":return uh(o,p,h);case\"JSXSpreadChild\":return uh(o,p,h);case\"JSXExpressionContainer\":return function(k,Q,$0){const j0=k.getValue(),Z0=k.getParentNode(0),g1=j0.expression.type===\"JSXEmptyExpression\"||!Ok(j0.expression)&&(j0.expression.type===\"ArrayExpression\"||j0.expression.type===\"ObjectExpression\"||j0.expression.type===\"ArrowFunctionExpression\"||RI(j0.expression)||j0.expression.type===\"FunctionExpression\"||j0.expression.type===\"TemplateLiteral\"||j0.expression.type===\"TaggedTemplateExpression\"||j0.expression.type===\"DoExpression\"||lg(Z0)&&(j0.expression.type===\"ConditionalExpression\"||sh(j0.expression)));return sw(g1?[\"{\",$0(\"expression\"),rF,\"}\"]:[\"{\",F5([Ip,$0(\"expression\")]),Ip,rF,\"}\"])}(o,0,h);case\"JSXFragment\":case\"JSXElement\":return Ug(o,p,h);case\"JSXOpeningElement\":return function(k,Q,$0){const j0=k.getValue(),Z0=j0.name&&Ok(j0.name)||j0.typeParameters&&Ok(j0.typeParameters);if(j0.selfClosing&&j0.attributes.length===0&&!Z0)return[\"<\",$0(\"name\"),$0(\"typeParameters\"),\" />\"];if(j0.attributes&&j0.attributes.length===1&&j0.attributes[0].value&&My(j0.attributes[0].value)&&!j0.attributes[0].value.value.includes(`\n`)&&!Z0&&!Ok(j0.attributes[0]))return sw([\"<\",$0(\"name\"),$0(\"typeParameters\"),\" \",...k.map($0,\"attributes\"),j0.selfClosing?\" />\":\">\"]);const g1=j0.attributes.length>0&&Ok(O2(j0.attributes),xk.Trailing),z1=j0.attributes.length===0&&!Z0||Q.jsxBracketSameLine&&(!Z0||j0.attributes.length>0)&&!g1,X1=j0.attributes&&j0.attributes.some(se=>se.value&&My(se.value)&&se.value.value.includes(`\n`));return sw([\"<\",$0(\"name\"),$0(\"typeParameters\"),F5(k.map(()=>[If,$0()],\"attributes\")),j0.selfClosing?If:z1?\">\":Ip,j0.selfClosing?\"/>\":z1?\"\":\">\"],{shouldBreak:X1})}(o,p,h);case\"JSXClosingElement\":return function(k,Q,$0){const j0=k.getValue(),Z0=[];Z0.push(\"</\");const g1=$0(\"name\");return Ok(j0.name,xk.Leading|xk.Line)?Z0.push(F5([ql,g1]),ql):Ok(j0.name,xk.Leading|xk.Block)?Z0.push(\" \",g1):Z0.push(g1),Z0.push(\">\"),Z0}(o,0,h);case\"JSXOpeningFragment\":case\"JSXClosingFragment\":return function(k,Q){const $0=k.getValue(),j0=Ok($0),Z0=Ok($0,xk.Line),g1=$0.type===\"JSXOpeningFragment\";return[g1?\"<\":\"</\",F5([Z0?ql:j0&&!g1?\" \":\"\",dp(k,Q,!0)]),Z0?ql:\"\",\">\"]}(o,p);case\"JSXEmptyExpression\":return function(k,Q){const $0=k.getValue(),j0=Ok($0,xk.Line);return[dp(k,Q,!j0),j0?ql:\"\"]}(o,p);case\"JSXText\":throw new Error(\"JSXTest should be handled by JSXElement\");default:throw new Error(`Unknown JSX node type: ${JSON.stringify(y.type)}.`)}}};fS({target:\"Array\",proto:!0},{flat:function(){var o=arguments.length?arguments[0]:void 0,p=Pn(this),h=mr(p.length),y=UT(p,0);return y.length=KE(y,p,p,h,0,o===void 0?1:T2(o)),y}});const{isNonEmptyArray:$p}=Po,{builders:{indent:d6,join:Pc,line:of}}=xp,{isFlowAnnotationComment:hf}=vs;function Op(o,p,h){const y=o.getValue();if(!y.typeAnnotation)return\"\";const k=o.getParentNode(),Q=y.definite||k&&k.type===\"VariableDeclarator\"&&k.definite,$0=k.type===\"DeclareFunction\"&&k.id===y;return hf(p.originalText,y.typeAnnotation)?[\" /*: \",h(\"typeAnnotation\"),\" */\"]:[$0?\"\":Q?\"!: \":\": \",h(\"typeAnnotation\")]}var Gf={printOptionalToken:function(o){const p=o.getValue();return!p.optional||p.type===\"Identifier\"&&p===o.getParentNode().key?\"\":p.type===\"OptionalCallExpression\"||p.type===\"OptionalMemberExpression\"&&p.computed?\"?.\":\"?\"},printFunctionTypeParameters:function(o,p,h){const y=o.getValue();return y.typeArguments?h(\"typeArguments\"):y.typeParameters?h(\"typeParameters\"):\"\"},printBindExpressionCallee:function(o,p,h){return[\"::\",h(\"callee\")]},printTypeScriptModifiers:function(o,p,h){const y=o.getValue();return $p(y.modifiers)?[Pc(\" \",o.map(h,\"modifiers\")),\" \"]:\"\"},printTypeAnnotation:Op,printRestSpread:function(o,p,h){return[\"...\",h(\"argument\"),Op(o,p,h)]},adjustClause:function(o,p,h){return o.type===\"EmptyStatement\"?\";\":o.type===\"BlockStatement\"||h?[\" \",p]:d6([of,p])}};const{printDanglingComments:mp}=g0,{builders:{line:A5,softline:Of,hardline:ua,group:TA,indent:MN,ifBreak:J5,fill:S_}}=xp,{getLast:NT,hasNewline:RN}=Po,{shouldPrintComma:Tb,hasComment:jI,CommentCheckFlags:ay,isNextLineEmpty:WD,isNumericLiteral:qD,isSignedNumericLiteral:JE}=vs,{locStart:yR}=s5,{printOptionalToken:oy,printTypeAnnotation:f3}=Gf;function oN(o,p){return o.elements.length>1&&o.elements.every(h=>h&&(qD(h)||JE(h)&&!jI(h.argument))&&!jI(h,ay.Trailing|ay.Line,y=>!RN(p.originalText,yR(y),{backwards:!0})))}function GL(o,p,h,y){const k=[];let Q=[];return o.each($0=>{k.push(Q,TA(y())),Q=[\",\",A5],$0.getValue()&&WD($0.getValue(),p)&&Q.push(Of)},h),k}function XL(o,p,h,y){const k=[];return o.each((Q,$0,j0)=>{const Z0=$0===j0.length-1;k.push([h(),Z0?y:\",\"]),Z0||k.push(WD(Q.getValue(),p)?[ua,ua]:jI(j0[$0+1],ay.Leading|ay.Line)?ua:A5)},\"elements\"),S_(k)}var wb={printArray:function(o,p,h){const y=o.getValue(),k=[],Q=y.type===\"TupleExpression\"?\"#[\":\"[\";if(y.elements.length===0)jI(y,ay.Dangling)?k.push(TA([Q,mp(o,p),Of,\"]\"])):k.push(Q,\"]\");else{const $0=NT(y.elements),j0=!($0&&$0.type===\"RestElement\"),Z0=$0===null,g1=Symbol(\"array\"),z1=!p.__inJestEach&&y.elements.length>1&&y.elements.every((be,Je,ft)=>{const Xr=be&&be.type;if(Xr!==\"ArrayExpression\"&&Xr!==\"ObjectExpression\")return!1;const on=ft[Je+1];if(on&&Xr!==on.type)return!1;const Wr=Xr===\"ArrayExpression\"?\"elements\":\"properties\";return be[Wr]&&be[Wr].length>1}),X1=oN(y,p),se=j0?Z0?\",\":Tb(p)?X1?J5(\",\",\"\",{groupId:g1}):J5(\",\"):\"\":\"\";k.push(TA([Q,MN([Of,X1?XL(o,p,h,se):[GL(o,p,\"elements\",h),se],mp(o,p,!0)]),Of,\"]\"],{shouldBreak:z1,id:g1}))}return k.push(oy(o),f3(o,p,h)),k},printArrayItems:GL,isConciselyPrintedArray:oN};const{printDanglingComments:p3}=g0,{getLast:F_,getPenultimate:Yj}=Po,{getFunctionParameters:Ez,hasComment:T5,CommentCheckFlags:Qj,isFunctionCompositionArgs:jt,isJsxNode:aE,isLongCurriedCallExpression:d3,shouldPrintComma:RB,getCallArguments:Sz,iterateCallArgumentsPath:Yo,isNextLineEmpty:hP,isCallExpression:wO,isStringLiteral:A_,isObjectProperty:gC}=vs,{builders:{line:pg,hardline:sy,softline:R9,group:T_,indent:YL,conditionalGroup:jy,ifBreak:kb,breakParent:JD},utils:{willBreak:Jm}}=xp,{ArgExpansionBailout:DR}=M4,{isConciselyPrintedArray:bk}=wb;function uy(o,p=!1){return o.type===\"ObjectExpression\"&&(o.properties.length>0||T5(o))||o.type===\"ArrayExpression\"&&(o.elements.length>0||T5(o))||o.type===\"TSTypeAssertion\"&&uy(o.expression)||o.type===\"TSAsExpression\"&&uy(o.expression)||o.type===\"FunctionExpression\"||o.type===\"ArrowFunctionExpression\"&&(!o.returnType||!o.returnType.typeAnnotation||o.returnType.typeAnnotation.type!==\"TSTypeReference\"||(h=o.body).type===\"BlockStatement\"&&(h.body.some(y=>y.type!==\"EmptyStatement\")||T5(h,Qj.Dangling)))&&(o.body.type===\"BlockStatement\"||o.body.type===\"ArrowFunctionExpression\"&&uy(o.body,!0)||o.body.type===\"ObjectExpression\"||o.body.type===\"ArrayExpression\"||!p&&(wO(o.body)||o.body.type===\"ConditionalExpression\")||aE(o.body))||o.type===\"DoExpression\"||o.type===\"ModuleExpression\";var h}var kO=function(o,p,h){const y=o.getValue(),k=y.type===\"ImportExpression\",Q=Sz(y);if(Q.length===0)return[\"(\",p3(o,p,!0),\")\"];if(function(ft){return ft.length===2&&ft[0].type===\"ArrowFunctionExpression\"&&Ez(ft[0]).length===0&&ft[0].body.type===\"BlockStatement\"&&ft[1].type===\"ArrayExpression\"&&!ft.some(Xr=>T5(Xr))}(Q))return[\"(\",h([\"arguments\",0]),\", \",h([\"arguments\",1]),\")\"];let $0=!1,j0=!1;const Z0=Q.length-1,g1=[];Yo(o,(ft,Xr)=>{const on=ft.getNode(),Wr=[h()];Xr===Z0||(hP(on,p)?(Xr===0&&(j0=!0),$0=!0,Wr.push(\",\",sy,sy)):Wr.push(\",\",pg)),g1.push(Wr)});const z1=k||y.callee&&y.callee.type===\"Import\"||!RB(p,\"all\")?\"\":\",\";function X1(){return T_([\"(\",YL([pg,...g1]),z1,pg,\")\"],{shouldBreak:!0})}if($0||o.getParentNode().type!==\"Decorator\"&&jt(Q))return X1();const se=function(ft){if(ft.length!==2)return!1;const[Xr,on]=ft;return Xr.type===\"ModuleExpression\"&&function(Wr){return Wr.type===\"ObjectExpression\"&&Wr.properties.length===1&&gC(Wr.properties[0])&&Wr.properties[0].key.type===\"Identifier\"&&Wr.properties[0].key.name===\"type\"&&A_(Wr.properties[0].value)&&Wr.properties[0].value.value===\"module\"}(on)?!0:!T5(Xr)&&(Xr.type===\"FunctionExpression\"||Xr.type===\"ArrowFunctionExpression\"&&Xr.body.type===\"BlockStatement\")&&on.type!==\"FunctionExpression\"&&on.type!==\"ArrowFunctionExpression\"&&on.type!==\"ConditionalExpression\"&&!uy(on)}(Q),be=function(ft,Xr){const on=F_(ft),Wr=Yj(ft);return!T5(on,Qj.Leading)&&!T5(on,Qj.Trailing)&&uy(on)&&(!Wr||Wr.type!==on.type)&&(ft.length!==2||Wr.type!==\"ArrowFunctionExpression\"||on.type!==\"ArrayExpression\")&&!(ft.length>1&&on.type===\"ArrayExpression\"&&bk(on,Xr))}(Q,p);if(se||be){if(se?g1.slice(1).some(Jm):g1.slice(0,-1).some(Jm))return X1();let ft=[];try{o.try(()=>{Yo(o,(Xr,on)=>{se&&on===0&&(ft=[[h([],{expandFirstArg:!0}),g1.length>1?\",\":\"\",j0?sy:pg,j0?sy:\"\"],...g1.slice(1)]),be&&on===Z0&&(ft=[...g1.slice(0,-1),h([],{expandLastArg:!0})])})})}catch(Xr){if(Xr instanceof DR)return X1();throw Xr}return[g1.some(Jm)?JD:\"\",jy([[\"(\",...ft,\")\"],se?[\"(\",T_(ft[0],{shouldBreak:!0}),...ft.slice(1),\")\"]:[\"(\",...g1.slice(0,-1),T_(F_(ft),{shouldBreak:!0}),\")\"],X1()])]}const Je=[\"(\",YL([R9,...g1]),kb(z1),R9,\")\"];return d3(o)?Je:T_(Je,{shouldBreak:g1.some(Jm)||$0})};const{builders:{softline:Ed,group:_C,indent:Uy,label:vR}}=xp,{isNumericLiteral:m3,isMemberExpression:Zj,isCallExpression:gP}=vs,{printOptionalToken:q$}=Gf;function XP(o,p,h){const y=h(\"property\"),k=o.getValue(),Q=q$(o);return k.computed?!k.property||m3(k.property)?[Q,\"[\",y,\"]\"]:_C([Q,\"[\",Uy([Ed,y]),Ed,\"]\"]):[Q,\".\",y]}var Il={printMemberExpression:function(o,p,h){const y=o.getValue(),k=o.getParentNode();let Q,$0=0;do Q=o.getParentNode($0),$0++;while(Q&&(Zj(Q)||Q.type===\"TSNonNullExpression\"));const j0=h(\"object\"),Z0=XP(o,p,h),g1=Q&&(Q.type===\"NewExpression\"||Q.type===\"BindExpression\"||Q.type===\"AssignmentExpression\"&&Q.left.type!==\"Identifier\")||y.computed||y.object.type===\"Identifier\"&&y.property.type===\"Identifier\"&&!Zj(k)||(k.type===\"AssignmentExpression\"||k.type===\"VariableDeclarator\")&&(gP(y.object)&&y.object.arguments.length>0||y.object.type===\"TSNonNullExpression\"&&gP(y.object.expression)&&y.object.expression.arguments.length>0||j0.label===\"member-chain\");return vR(j0.label===\"member-chain\"?\"member-chain\":\"member\",[j0,g1?Z0:_C(Uy([Ed,Z0]))])},printMemberLookup:XP};const{printComments:Vy}=g0,{getLast:Ch,isNextLineEmptyAfterIndex:h3,getNextNonSpaceNonCommentCharacterIndex:Nb}=Po,{isCallExpression:dg,isMemberExpression:g3,isFunctionOrArrowExpression:oE,isLongCurriedCallExpression:sE,isMemberish:$y,isNumericLiteral:Pt,isSimpleCallArgument:bR,hasComment:jN,CommentCheckFlags:mg,isNextLineEmpty:UI}=vs,{locEnd:_m}=s5,{builders:{join:Pb,hardline:VI,group:si,indent:Ky,conditionalGroup:Fw,breakParent:uE,label:Hm},utils:{willBreak:hg}}=xp,{printMemberLookup:Ib}=Il,{printOptionalToken:vV,printFunctionTypeParameters:HD,printBindExpressionCallee:yC}=Gf;var _3=function(o,p,h){const y=o.getParentNode(),k=!y||y.type===\"ExpressionStatement\",Q=[];function $0(Hl){const{originalText:gf}=p,Qh=Nb(gf,Hl,_m);return gf.charAt(Qh)===\")\"?Qh!==!1&&h3(gf,Qh+1):UI(Hl,p)}function j0(Hl){const gf=Hl.getValue();dg(gf)&&($y(gf.callee)||dg(gf.callee))?(Q.unshift({node:gf,printed:[Vy(Hl,[vV(Hl),HD(Hl,p,h),kO(Hl,p,h)],p),$0(gf)?VI:\"\"]}),Hl.call(Qh=>j0(Qh),\"callee\")):$y(gf)?(Q.unshift({node:gf,needsParens:X6(Hl,p),printed:Vy(Hl,g3(gf)?Ib(Hl,p,h):yC(Hl,p,h),p)}),Hl.call(Qh=>j0(Qh),\"object\")):gf.type===\"TSNonNullExpression\"?(Q.unshift({node:gf,printed:Vy(Hl,\"!\",p)}),Hl.call(Qh=>j0(Qh),\"expression\")):Q.unshift({node:gf,printed:h()})}const Z0=o.getValue();Q.unshift({node:Z0,printed:[vV(o),HD(o,p,h),kO(o,p,h)]}),Z0.callee&&o.call(Hl=>j0(Hl),\"callee\");const g1=[];let z1=[Q[0]],X1=1;for(;X1<Q.length&&(Q[X1].node.type===\"TSNonNullExpression\"||dg(Q[X1].node)||g3(Q[X1].node)&&Q[X1].node.computed&&Pt(Q[X1].node.property));++X1)z1.push(Q[X1]);if(!dg(Q[0].node))for(;X1+1<Q.length&&$y(Q[X1].node)&&$y(Q[X1+1].node);++X1)z1.push(Q[X1]);g1.push(z1),z1=[];let se=!1;for(;X1<Q.length;++X1){if(se&&$y(Q[X1].node)){if(Q[X1].node.computed&&Pt(Q[X1].node.property)){z1.push(Q[X1]);continue}g1.push(z1),z1=[],se=!1}(dg(Q[X1].node)||Q[X1].node.type===\"ImportExpression\")&&(se=!0),z1.push(Q[X1]),jN(Q[X1].node,mg.Trailing)&&(g1.push(z1),z1=[],se=!1)}function be(Hl){return/^[A-Z]|^[$_]+$/.test(Hl)}z1.length>0&&g1.push(z1);const Je=g1.length>=2&&!jN(g1[1][0].node)&&function(Hl){const gf=Hl[1].length>0&&Hl[1][0].node.computed;if(Hl[0].length===1){const N8=Hl[0][0].node;return N8.type===\"ThisExpression\"||N8.type===\"Identifier\"&&(be(N8.name)||k&&function(o8){return o8.length<=p.tabWidth}(N8.name)||gf)}const Qh=Ch(Hl[0]).node;return g3(Qh)&&Qh.property.type===\"Identifier\"&&(be(Qh.property.name)||gf)}(g1);function ft(Hl){const gf=Hl.map(Qh=>Qh.printed);return Hl.length>0&&Ch(Hl).needsParens?[\"(\",...gf,\")\"]:gf}const Xr=g1.map(ft),on=Xr,Wr=Je?3:2,Zi=g1.flat(),hs=Zi.slice(1,-1).some(Hl=>jN(Hl.node,mg.Leading))||Zi.slice(0,-1).some(Hl=>jN(Hl.node,mg.Trailing))||g1[Wr]&&jN(g1[Wr][0].node,mg.Leading);if(g1.length<=Wr&&!hs)return sE(o)?on:si(on);const Ao=Ch(g1[Je?1:0]).node,Hs=!dg(Ao)&&$0(Ao),Oc=[ft(g1[0]),Je?g1.slice(1,2).map(ft):\"\",Hs?VI:\"\",function(Hl){return Hl.length===0?\"\":Ky(si([VI,Pb(VI,Hl.map(ft))]))}(g1.slice(Je?2:1))],Nd=Q.map(({node:Hl})=>Hl).filter(dg);let qd;return qd=hs||Nd.length>2&&Nd.some(Hl=>!Hl.arguments.every(gf=>bR(gf,0)))||Xr.slice(0,-1).some(hg)||function(){const Hl=Ch(Ch(g1)).node,gf=Ch(Xr);return dg(Hl)&&hg(gf)&&Nd.slice(0,-1).some(Qh=>Qh.arguments.some(oE))}()?si(Oc):[hg(on)||Hs?uE:\"\",Fw([on,Oc])],Hm(\"member-chain\",qd)};const{builders:{join:GD,group:Ob}}=xp,{getCallArguments:xU,hasFlowAnnotationComment:Bb,isCallExpression:Lb,isMemberish:Mb,isStringLiteral:bV,isTemplateOnItsOwnLine:HE,isTestCall:Rb,iterateCallArgumentsPath:p8}=vs,{printOptionalToken:jB,printFunctionTypeParameters:DC}=Gf;var cy={printCallExpression:function(o,p,h){const y=o.getValue(),k=o.getParentNode(),Q=y.type===\"NewExpression\",$0=y.type===\"ImportExpression\",j0=jB(o),Z0=xU(y);if(Z0.length>0&&(!$0&&!Q&&function(X1,se){if(X1.callee.type!==\"Identifier\")return!1;if(X1.callee.name===\"require\")return!0;if(X1.callee.name===\"define\"){const be=xU(X1);return se.type===\"ExpressionStatement\"&&(be.length===1||be.length===2&&be[0].type===\"ArrayExpression\"||be.length===3&&bV(be[0])&&be[1].type===\"ArrayExpression\")}return!1}(y,k)||Z0.length===1&&HE(Z0[0],p.originalText)||!Q&&Rb(y,k))){const X1=[];return p8(o,()=>{X1.push(h())}),[Q?\"new \":\"\",h(\"callee\"),j0,DC(o,p,h),\"(\",GD(\", \",X1),\")\"]}const g1=(p.parser===\"babel\"||p.parser===\"babel-flow\")&&y.callee&&y.callee.type===\"Identifier\"&&Bb(y.callee.trailingComments);if(g1&&(y.callee.trailingComments[0].printed=!0),!$0&&!Q&&Mb(y.callee)&&!o.call(X1=>X6(X1,p),\"callee\"))return _3(o,p,h);const z1=[Q?\"new \":\"\",$0?\"import\":h(\"callee\"),j0,g1?`/*:: ${y.callee.trailingComments[0].value.slice(2).trim()} */`:\"\",DC(o,p,h),kO(o,p,h)];return $0||Lb(y.callee)?Ob(z1):z1}};const{isNonEmptyArray:Vg,getStringWidth:YP}=Po,{builders:{line:v2,group:Ep,indent:UN,indentIfBreak:Y2},utils:{cleanDoc:GE,willBreak:XD}}=xp,{hasLeadingOwnLineComment:VN,isBinaryish:B2,isStringLiteral:CV,isLiteral:EV,isNumericLiteral:Sd,isCallExpression:b2,isMemberExpression:Gm,getCallArguments:j9,rawText:UB,hasComment:$c,isSignedNumericLiteral:Wh,isObjectProperty:_d}=vs,{shouldInlineLogicalExpression:g9}=Cn,{printCallExpression:YD}=cy;function y3(o,p,h,y,k,Q){const $0=function(Z0,g1,z1,X1,se){const be=Z0.getValue(),Je=be[se];if(!Je)return\"only-left\";const ft=!NO(Je);if(Z0.match(NO,wA,on=>!ft||on.type!==\"ExpressionStatement\"&&on.type!==\"VariableDeclaration\"))return ft?Je.type===\"ArrowFunctionExpression\"&&Je.body.type===\"ArrowFunctionExpression\"?\"chain-tail-arrow-chain\":\"chain-tail\":\"chain\";if(!ft&&NO(Je.right)||VN(g1.originalText,Je))return\"break-after-operator\";if(Je.type===\"CallExpression\"&&Je.callee.name===\"require\"||g1.parser===\"json5\"||g1.parser===\"json\")return\"never-break-after-operator\";if(function(on){if(wA(on)){const Wr=on.left||on.id;return Wr.type===\"ObjectPattern\"&&Wr.properties.length>2&&Wr.properties.some(Zi=>_d(Zi)&&(!Zi.shorthand||Zi.value&&Zi.value.type===\"AssignmentPattern\"))}return!1}(be)||function(on){const Wr=function(Zi){return function(hs){return hs.type===\"TSTypeAliasDeclaration\"||hs.type===\"TypeAlias\"}(Zi)&&Zi.typeParameters&&Zi.typeParameters.params?Zi.typeParameters.params:null}(on);if(Vg(Wr)){const Zi=on.type===\"TSTypeAliasDeclaration\"?\"constraint\":\"bound\";if(Wr.length>1&&Wr.some(hs=>hs[Zi]||hs.default))return!0}return!1}(be)||function(on){if(on.type!==\"VariableDeclarator\")return!1;const{typeAnnotation:Wr}=on.id;if(!Wr||!Wr.typeAnnotation)return!1;const Zi=QL(Wr.typeAnnotation);return Vg(Zi)&&Zi.length>1&&Zi.some(hs=>Vg(QL(hs))||hs.type===\"TSConditionalType\")}(be))return\"break-lhs\";const Xr=function(on,Wr,Zi){if(!_d(on))return!1;Wr=GE(Wr);const hs=3;return typeof Wr==\"string\"&&YP(Wr)<Zi.tabWidth+hs}(be,X1,g1);return Z0.call(()=>function(on,Wr,Zi,hs){const Ao=on.getValue();if(B2(Ao)&&!g9(Ao))return!0;switch(Ao.type){case\"StringLiteralTypeAnnotation\":case\"SequenceExpression\":return!0;case\"ConditionalExpression\":{const{test:Nd}=Ao;return B2(Nd)&&!g9(Nd)}case\"ClassExpression\":return Vg(Ao.decorators)}if(hs)return!1;let Hs=Ao;const Oc=[];for(;;)if(Hs.type===\"UnaryExpression\")Hs=Hs.argument,Oc.push(\"argument\");else{if(Hs.type!==\"TSNonNullExpression\")break;Hs=Hs.expression,Oc.push(\"expression\")}return!!(CV(Hs)||on.call(()=>SV(on,Wr,Zi),...Oc))}(Z0,g1,z1,Xr),se)?\"break-after-operator\":Xr||Je.type===\"TemplateLiteral\"||Je.type===\"TaggedTemplateExpression\"||Je.type===\"BooleanLiteral\"||Sd(Je)||Je.type===\"ClassExpression\"?\"never-break-after-operator\":\"fluid\"}(o,p,h,y,Q),j0=h(Q,{assignmentLayout:$0});switch($0){case\"break-after-operator\":return Ep([Ep(y),k,Ep(UN([v2,j0]))]);case\"never-break-after-operator\":return Ep([Ep(y),k,\" \",j0]);case\"fluid\":{const Z0=Symbol(\"assignment\");return Ep([Ep(y),k,Ep(UN(v2),{id:Z0}),Y2(j0,{groupId:Z0})])}case\"break-lhs\":return Ep([y,k,\" \",Ep(j0)]);case\"chain\":return[Ep(y),k,v2,j0];case\"chain-tail\":return[Ep(y),k,UN([v2,j0])];case\"chain-tail-arrow-chain\":return[Ep(y),k,j0];case\"only-left\":return y}}function NO(o){return o.type===\"AssignmentExpression\"}function wA(o){return NO(o)||o.type===\"VariableDeclarator\"}function QL(o){return function(p){return p.type===\"TSTypeReference\"||p.type===\"GenericTypeAnnotation\"}(o)&&o.typeParameters&&o.typeParameters.params?o.typeParameters.params:null}function SV(o,p,h,y=!1){const k=o.getValue(),Q=()=>SV(o,p,h,!0);if(k.type===\"TSNonNullExpression\")return o.call(Q,\"expression\");if(b2(k)){if(YD(o,p,h).label===\"member-chain\")return!1;const $0=j9(k);return!!($0.length===0||$0.length===1&&function(j0,{printWidth:Z0}){if($c(j0))return!1;const g1=.25*Z0;if(j0.type===\"ThisExpression\"||j0.type===\"Identifier\"&&j0.name.length<=g1||Wh(j0)&&!$c(j0.argument))return!0;const z1=j0.type===\"Literal\"&&\"regex\"in j0&&j0.regex.pattern||j0.type===\"RegExpLiteral\"&&j0.pattern;return z1?z1.length<=g1:CV(j0)?UB(j0).length<=g1:j0.type===\"TemplateLiteral\"?j0.expressions.length===0&&j0.quasis[0].value.raw.length<=g1&&!j0.quasis[0].value.raw.includes(`\n`):EV(j0)}($0[0],p))&&!function(j0,Z0){const g1=function(z1){return z1.typeParameters&&z1.typeParameters.params||z1.typeArguments&&z1.typeArguments.params}(j0);if(Vg(g1)){if(g1.length>1)return!0;if(g1.length===1){const X1=g1[0];if(X1.type===\"TSUnionType\"||X1.type===\"UnionTypeAnnotation\"||X1.type===\"TSIntersectionType\"||X1.type===\"IntersectionTypeAnnotation\")return!0}const z1=j0.typeParameters?\"typeParameters\":\"typeArguments\";if(XD(Z0(z1)))return!0}return!1}(k,h)&&o.call(Q,\"callee\")}return Gm(k)?o.call(Q,\"object\"):y&&(k.type===\"Identifier\"||k.type===\"ThisExpression\")}var w_={printVariableDeclarator:function(o,p,h){return y3(o,p,h,h(\"id\"),\" =\",\"init\")},printAssignmentExpression:function(o,p,h){const y=o.getValue();return y3(o,p,h,h(\"left\"),[\" \",y.operator],\"right\")},printAssignment:y3};const{getNextNonSpaceNonCommentCharacter:zu}=Po,{printDanglingComments:$N}=g0,{builders:{line:XE,hardline:S4,softline:VB,group:jb,indent:FV,ifBreak:sN},utils:{removeLines:Q2,willBreak:QD}}=xp,{getFunctionParameters:zy,iterateFunctionParametersPath:Ub,isSimpleType:ZD,isTestCall:ec,isTypeAnnotationAFunction:xv,isObjectType:_u,isObjectTypePropertyAFunction:Vb,hasRestParameter:ev,shouldPrintComma:vC,hasComment:Ff,isNextLineEmpty:cE}=vs,{locEnd:$b}=s5,{ArgExpansionBailout:CR}=M4,{printFunctionTypeParameters:Bk}=Gf;function QP(o){if(!o)return!1;const p=zy(o);if(p.length!==1)return!1;const[h]=p;return!Ff(h)&&(h.type===\"ObjectPattern\"||h.type===\"ArrayPattern\"||h.type===\"Identifier\"&&h.typeAnnotation&&(h.typeAnnotation.type===\"TypeAnnotation\"||h.typeAnnotation.type===\"TSTypeAnnotation\")&&_u(h.typeAnnotation.typeAnnotation)||h.type===\"FunctionTypeParam\"&&_u(h.typeAnnotation)||h.type===\"AssignmentPattern\"&&(h.left.type===\"ObjectPattern\"||h.left.type===\"ArrayPattern\")&&(h.right.type===\"Identifier\"||h.right.type===\"ObjectExpression\"&&h.right.properties.length===0||h.right.type===\"ArrayExpression\"&&h.right.elements.length===0))}var Eh={printFunctionParameters:function(o,p,h,y,k){const Q=o.getValue(),$0=zy(Q),j0=k?Bk(o,h,p):\"\";if($0.length===0)return[j0,\"(\",$N(o,h,!0,be=>zu(h.originalText,be,$b)===\")\"),\")\"];const Z0=o.getParentNode(),g1=ec(Z0),z1=QP(Q),X1=[];if(Ub(o,(be,Je)=>{const ft=Je===$0.length-1;ft&&Q.rest&&X1.push(\"...\"),X1.push(p()),ft||(X1.push(\",\"),g1||z1?X1.push(\" \"):cE($0[Je],h)?X1.push(S4,S4):X1.push(XE))}),y){if(QD(j0)||QD(X1))throw new CR;return jb([Q2(j0),\"(\",Q2(X1),\")\"])}const se=$0.every(be=>!be.decorators);return z1&&se||g1?[j0,\"(\",...X1,\")\"]:(Vb(Z0)||xv(Z0)||Z0.type===\"TypeAlias\"||Z0.type===\"UnionTypeAnnotation\"||Z0.type===\"TSUnionType\"||Z0.type===\"IntersectionTypeAnnotation\"||Z0.type===\"FunctionTypeAnnotation\"&&Z0.returnType===Q)&&$0.length===1&&$0[0].name===null&&Q.this!==$0[0]&&$0[0].typeAnnotation&&Q.typeParameters===null&&ZD($0[0].typeAnnotation)&&!Q.rest?h.arrowParens===\"always\"?[\"(\",...X1,\")\"]:X1:[j0,\"(\",FV([VB,...X1]),sN(!ev(Q)&&vC(h,\"all\")?\",\":\"\"),VB,\")\"]},shouldHugFunctionParameters:QP,shouldGroupFunctionParameters:function(o,p){const h=function(k){let Q;return k.returnType?(Q=k.returnType,Q.typeAnnotation&&(Q=Q.typeAnnotation)):k.typeAnnotation&&(Q=k.typeAnnotation),Q}(o);if(!h)return!1;const y=o.typeParameters&&o.typeParameters.params;if(y){if(y.length>1)return!1;if(y.length===1){const k=y[0];if(k.constraint||k.default)return!1}}return zy(o).length===1&&(_u(h)||QD(p))}};const{printComments:ZL,printDanglingComments:$B}=g0,{getLast:Aw}=Po,{builders:{group:Z2,join:xm,line:$I,softline:k_,indent:L2,align:ER,ifBreak:Tw}}=xp,{locStart:kA}=s5,{isSimpleType:lE,isObjectType:yc,hasLeadingOwnLineComment:_P,isObjectTypePropertyAFunction:tv,shouldPrintComma:fE}=vs,{printAssignment:$g}=w_,{printFunctionParameters:xM,shouldGroupFunctionParameters:AV}=Eh,{printArrayItems:KI}=wb;function SR(o){if(lE(o)||yc(o))return!0;if(o.type===\"UnionTypeAnnotation\"||o.type===\"TSUnionType\"){const p=o.types.filter(y=>y.type===\"VoidTypeAnnotation\"||y.type===\"TSVoidKeyword\"||y.type===\"NullLiteralTypeAnnotation\"||y.type===\"TSNullKeyword\").length,h=o.types.some(y=>y.type===\"ObjectTypeAnnotation\"||y.type===\"TSTypeLiteral\"||y.type===\"GenericTypeAnnotation\"||y.type===\"TSTypeReference\");if(o.types.length-1===p&&h)return!0}return!1}var D3={printOpaqueType:function(o,p,h){const y=p.semi?\";\":\"\",k=o.getValue(),Q=[];return Q.push(\"opaque type \",h(\"id\"),h(\"typeParameters\")),k.supertype&&Q.push(\": \",h(\"supertype\")),k.impltype&&Q.push(\" = \",h(\"impltype\")),Q.push(y),Q},printTypeAlias:function(o,p,h){const y=p.semi?\";\":\"\",k=o.getValue(),Q=[];k.declare&&Q.push(\"declare \"),Q.push(\"type \",h(\"id\"),h(\"typeParameters\"));const $0=k.type===\"TSTypeAliasDeclaration\"?\"typeAnnotation\":\"right\";return[$g(o,p,h,Q,\" =\",$0),y]},printIntersectionType:function(o,p,h){const y=o.getValue(),k=o.map(h,\"types\"),Q=[];let $0=!1;for(let j0=0;j0<k.length;++j0)j0===0?Q.push(k[j0]):yc(y.types[j0-1])&&yc(y.types[j0])?Q.push([\" & \",$0?L2(k[j0]):k[j0]]):yc(y.types[j0-1])||yc(y.types[j0])?(j0>1&&($0=!0),Q.push(\" & \",j0>1?L2(k[j0]):k[j0])):Q.push(L2([\" &\",$I,k[j0]]));return Z2(Q)},printUnionType:function(o,p,h){const y=o.getValue(),k=o.getParentNode(),Q=!(k.type===\"TypeParameterInstantiation\"||k.type===\"TSTypeParameterInstantiation\"||k.type===\"GenericTypeAnnotation\"||k.type===\"TSTypeReference\"||k.type===\"TSTypeAssertion\"||k.type===\"TupleTypeAnnotation\"||k.type===\"TSTupleType\"||k.type===\"FunctionTypeParam\"&&!k.name&&o.getParentNode(1).this!==k||(k.type===\"TypeAlias\"||k.type===\"VariableDeclarator\"||k.type===\"TSTypeAliasDeclaration\")&&_P(p.originalText,y)),$0=SR(y),j0=o.map(z1=>{let X1=h();return $0||(X1=ER(2,X1)),ZL(z1,X1,p)},\"types\");if($0)return xm(\" | \",j0);const Z0=Q&&!_P(p.originalText,y),g1=[Tw([Z0?$I:\"\",\"| \"]),xm([$I,\"| \"],j0)];return X6(o,p)?Z2([L2(g1),k_]):k.type===\"TupleTypeAnnotation\"&&k.types.length>1||k.type===\"TSTupleType\"&&k.elementTypes.length>1?Z2([L2([Tw([\"(\",k_]),g1]),k_,Tw(\")\")]):Z2(Q?L2(g1):g1)},printFunctionType:function(o,p,h){const y=o.getValue(),k=[],Q=o.getParentNode(0),$0=o.getParentNode(1),j0=o.getParentNode(2);let Z0=y.type===\"TSFunctionType\"||!((Q.type===\"ObjectTypeProperty\"||Q.type===\"ObjectTypeInternalSlot\")&&!Q.variance&&!Q.optional&&kA(Q)===kA(y)||Q.type===\"ObjectTypeCallProperty\"||j0&&j0.type===\"DeclareFunction\"),g1=Z0&&(Q.type===\"TypeAnnotation\"||Q.type===\"TSTypeAnnotation\");const z1=g1&&Z0&&(Q.type===\"TypeAnnotation\"||Q.type===\"TSTypeAnnotation\")&&$0.type===\"ArrowFunctionExpression\";tv(Q)&&(Z0=!0,g1=!0),z1&&k.push(\"(\");const X1=xM(o,h,p,!1,!0),se=y.returnType||y.predicate||y.typeAnnotation?[Z0?\" => \":\": \",h(\"returnType\"),h(\"predicate\"),h(\"typeAnnotation\")]:\"\",be=AV(y,se);return k.push(be?Z2(X1):X1),se&&k.push(se),z1&&k.push(\")\"),Z2(k)},printTupleType:function(o,p,h){const y=o.getValue(),k=y.type===\"TSTupleType\"?\"elementTypes\":\"types\",Q=y[k].length>0&&Aw(y[k]).type===\"TSRestType\";return Z2([\"[\",L2([k_,KI(o,p,k,h)]),Tw(fE(p,\"all\")&&!Q?\",\":\"\"),$B(o,p,!0),k_,\"]\"])},printIndexedAccessType:function(o,p,h){const y=o.getValue(),k=y.type===\"OptionalIndexedAccessType\"&&y.optional?\"?.[\":\"[\";return[h(\"objectType\"),k,h(\"indexType\"),\"]\"]},shouldHugType:SR};const{printDanglingComments:yP}=g0,{builders:{join:rv,line:eM,hardline:uN,softline:FR,group:Fd,indent:tM,ifBreak:Kb}}=xp,{isTestCall:KB,hasComment:rM,CommentCheckFlags:Ud,isTSXFile:Kg,shouldPrintComma:bC,getFunctionParameters:ym}=vs,{createGroupIdMapper:zb}=Po,{shouldHugType:J$}=D3,Cc=zb(\"typeParameters\");function DP(o,p){const h=o.getValue();if(!rM(h,Ud.Dangling))return\"\";const y=!rM(h,Ud.Line),k=yP(o,p,y);return y?k:[k,uN]}var ly={printTypeParameter:function(o,p,h){const y=o.getValue(),k=[],Q=o.getParentNode();return Q.type===\"TSMappedType\"?(k.push(\"[\",h(\"name\")),y.constraint&&k.push(\" in \",h(\"constraint\")),Q.nameType&&k.push(\" as \",o.callParent(()=>h(\"nameType\"))),k.push(\"]\"),k):(y.variance&&k.push(h(\"variance\")),k.push(h(\"name\")),y.bound&&k.push(\": \",h(\"bound\")),y.constraint&&k.push(\" extends \",h(\"constraint\")),y.default&&k.push(\" = \",h(\"default\")),k)},printTypeParameters:function(o,p,h,y){const k=o.getValue();if(!k[y])return\"\";if(!Array.isArray(k[y]))return h(y);const Q=o.getNode(2);if(Q&&KB(Q)||k[y].length===0||k[y].length===1&&(J$(k[y][0])||k[y][0].type===\"NullableTypeAnnotation\"))return[\"<\",rv(\", \",o.map(h,y)),DP(o,p),\">\"];const $0=k.type===\"TSTypeParameterInstantiation\"?\"\":ym(k).length===1&&Kg(p)&&!k[y][0].constraint&&o.getParentNode().type===\"ArrowFunctionExpression\"?\",\":bC(p,\"all\")?Kb(\",\"):\"\";return Fd([\"<\",tM([FR,rv([\",\",eM],o.map(h,y))]),$0,FR,\">\"],{id:Cc(k)})},getTypeParametersGroupId:Cc};const{printComments:vP}=g0,{printString:U6,printNumber:fy}=Po,{isNumericLiteral:Wy,isSimpleNumber:qy,isStringLiteral:AR,isStringPropSafeToUnquote:nv,rawText:iv}=vs,{printAssignment:Wb}=w_,Lk=new WeakMap;function Xm(o,p,h){const y=o.getNode();if(y.computed)return[\"[\",h(\"key\"),\"]\"];const k=o.getParentNode(),{key:Q}=y;if(y.type===\"ClassPrivateProperty\"&&Q.type===\"Identifier\")return[\"#\",h(\"key\")];if(p.quoteProps===\"consistent\"&&!Lk.has(k)){const $0=(k.properties||k.body||k.members).some(j0=>!j0.computed&&j0.key&&AR(j0.key)&&!nv(j0,p));Lk.set(k,$0)}if((Q.type===\"Identifier\"||Wy(Q)&&qy(fy(iv(Q)))&&String(Q.value)===fy(iv(Q))&&p.parser!==\"typescript\"&&p.parser!==\"babel-ts\")&&(p.parser===\"json\"||p.quoteProps===\"consistent\"&&Lk.get(k))){const $0=U6(JSON.stringify(Q.type===\"Identifier\"?Q.name:Q.value.toString()),p);return o.call(j0=>vP(j0,$0,p),\"key\")}return nv(y,p)&&(p.quoteProps===\"as-needed\"||p.quoteProps===\"consistent\"&&!Lk.get(k))?o.call($0=>vP($0,/^\\d/.test(Q.value)?fy(Q.value):Q.value,p),\"key\"):h(\"key\")}var nM={printProperty:function(o,p,h){return o.getValue().shorthand?h(\"value\"):Wb(o,p,h,Xm(o,p,h),\":\",\"value\")},printPropertyKey:Xm};const{printDanglingComments:av,printCommentsSeparately:CC}=g0,{getNextNonSpaceNonCommentCharacterIndex:pE}=Po,{builders:{line:v3,softline:gg,group:t9,indent:Ym,ifBreak:Kf,hardline:zB,join:dE,indentIfBreak:TR},utils:{removeLines:EC,willBreak:qb}}=xp,{ArgExpansionBailout:mE}=M4,{getFunctionParameters:PO,hasLeadingOwnLineComment:KN,isFlowAnnotationComment:zf,isJsxNode:SC,isTemplateOnItsOwnLine:Jb,shouldPrintComma:YE,startsWithNoLookaheadToken:Fz,isBinaryish:TV,isLineComment:_9,hasComment:ek,getComments:eU,CommentCheckFlags:WB,isCallLikeExpression:Hb,isCallExpression:iM,getCallArguments:wR,hasNakedLeftSide:hE,getLeftSide:IO}=vs,{locEnd:Mk}=s5,{printFunctionParameters:zg,shouldGroupFunctionParameters:qB}=Eh,{printPropertyKey:kR}=nM,{printFunctionTypeParameters:zN}=Gf;function JB(o,p,h){const y=o.getNode(),k=zg(o,h,p),Q=Lo(o,h,p),$0=qB(y,Q),j0=[zN(o,p,h),t9([$0?t9(k):k,Q])];return y.body?j0.push(\" \",h(\"body\")):j0.push(p.semi?\";\":\"\"),j0}function Jy(o,p){return p.arrowParens===\"always\"?!1:p.arrowParens===\"avoid\"?function(h){const y=PO(h);return!(y.length!==1||h.typeParameters||ek(h,WB.Dangling)||y[0].type!==\"Identifier\"||y[0].typeAnnotation||ek(y[0])||y[0].optional||h.predicate||h.returnType)}(o.getValue()):!1}function Lo(o,p,h){const y=o.getValue(),k=p(\"returnType\");if(y.returnType&&zf(h.originalText,y.returnType))return[\" /*: \",k,\" */\"];const Q=[k];return y.returnType&&y.returnType.typeAnnotation&&Q.unshift(\": \"),y.predicate&&Q.push(y.returnType?\" \":\": \",p(\"predicate\")),Q}function HB(o,p,h){const y=o.getValue(),k=p.semi?\";\":\"\",Q=[];y.argument&&(function(g1,z1){if(KN(g1.originalText,z1))return!0;if(hE(z1)){let X1,se=z1;for(;X1=IO(se);)if(se=X1,KN(g1.originalText,se))return!0}return!1}(p,y.argument)?Q.push([\" (\",Ym([zB,h(\"argument\")]),zB,\")\"]):TV(y.argument)||y.argument.type===\"SequenceExpression\"?Q.push(t9([Kf(\" (\",\" \"),Ym([gg,h(\"argument\")]),gg,Kf(\")\")])):Q.push(\" \",h(\"argument\")));const $0=eU(y),j0=l_($0),Z0=j0&&_9(j0);return Z0&&Q.push(k),ek(y,WB.Dangling)&&Q.push(\" \",av(o,p,!0)),Z0||Q.push(k),Q}var ZP={printFunction:function(o,p,h,y){const k=o.getValue();let Q=!1;if((k.type===\"FunctionDeclaration\"||k.type===\"FunctionExpression\")&&y&&y.expandLastArg){const z1=o.getParentNode();iM(z1)&&wR(z1).length>1&&(Q=!0)}const $0=[];k.type===\"TSDeclareFunction\"&&k.declare&&$0.push(\"declare \"),k.async&&$0.push(\"async \"),k.generator?$0.push(\"function* \"):$0.push(\"function \"),k.id&&$0.push(p(\"id\"));const j0=zg(o,p,h,Q),Z0=Lo(o,p,h),g1=qB(k,Z0);return $0.push(zN(o,h,p),t9([g1?t9(j0):j0,Z0]),k.body?\" \":\"\",p(\"body\")),!h.semi||!k.declare&&k.body||$0.push(\";\"),$0},printArrowFunction:function(o,p,h,y){let k=o.getValue();const Q=[],$0=[];let j0=!1;if(function se(){const be=function(Je,ft,Xr,on){const Wr=[];if(Je.getValue().async&&Wr.push(\"async \"),Jy(Je,ft))Wr.push(Xr([\"params\",0]));else{const hs=on&&(on.expandLastArg||on.expandFirstArg);let Ao=Lo(Je,Xr,ft);if(hs){if(qb(Ao))throw new mE;Ao=t9(EC(Ao))}Wr.push(t9([zg(Je,Xr,ft,hs,!0),Ao]))}const Zi=av(Je,ft,!0,hs=>{const Ao=pE(ft.originalText,hs,Mk);return Ao!==!1&&ft.originalText.slice(Ao,Ao+2)===\"=>\"});return Zi&&Wr.push(\" \",Zi),Wr}(o,p,h,y);if(Q.length===0)Q.push(be);else{const{leading:Je,trailing:ft}=CC(o,p);Q.push([Je,be]),$0.unshift(ft)}j0=j0||k.returnType&&PO(k).length>0||k.typeParameters||PO(k).some(Je=>Je.type!==\"Identifier\"),k.body.type!==\"ArrowFunctionExpression\"||y&&y.expandLastArg?$0.unshift(h(\"body\",y)):(k=k.body,o.call(se,\"body\"))}(),Q.length>1)return function(se,be,Je,ft,Xr,on){const Wr=se.getName(),Zi=se.getParentNode(),hs=Hb(Zi)&&Wr===\"callee\",Ao=Boolean(be&&be.assignmentLayout),Hs=on.body.type!==\"BlockStatement\"&&on.body.type!==\"ObjectExpression\",Oc=hs&&Hs||be&&be.assignmentLayout===\"chain-tail-arrow-chain\",Nd=Symbol(\"arrow-chain\");return t9([t9(Ym([hs||Ao?gg:\"\",t9(dE([\" =>\",v3],Je),{shouldBreak:ft})]),{id:Nd,shouldBreak:Oc}),\" =>\",TR(Hs?Ym([v3,Xr]):[\" \",Xr],{groupId:Nd}),hs?Kf(gg,\"\",{groupId:Nd}):\"\"])}(o,y,Q,j0,$0,k);const Z0=Q;if(Z0.push(\" =>\"),!KN(p.originalText,k.body)&&(k.body.type===\"ArrayExpression\"||k.body.type===\"ObjectExpression\"||k.body.type===\"BlockStatement\"||SC(k.body)||Jb(k.body,p.originalText)||k.body.type===\"ArrowFunctionExpression\"||k.body.type===\"DoExpression\"))return t9([...Z0,\" \",$0]);if(k.body.type===\"SequenceExpression\")return t9([...Z0,t9([\" (\",Ym([gg,$0]),gg,\")\"])]);const g1=(y&&y.expandLastArg||o.getParentNode().type===\"JSXExpressionContainer\")&&!ek(k),z1=y&&y.expandLastArg&&YE(p,\"all\"),X1=k.body.type===\"ConditionalExpression\"&&!Fz(k.body,!1);return t9([...Z0,t9([Ym([v3,X1?Kf(\"\",\"(\"):\"\",$0,X1?Kf(\"\",\")\"):\"\"]),g1?[Kf(z1?\",\":\"\"),gg]:\"\"])])},printMethod:function(o,p,h){const y=o.getNode(),{kind:k}=y,Q=y.value||y,$0=[];return k&&k!==\"init\"&&k!==\"method\"&&k!==\"constructor\"?(D.ok(k===\"get\"||k===\"set\"),$0.push(k,\" \")):Q.async&&$0.push(\"async \"),Q.generator&&$0.push(\"*\"),$0.push(kR(o,p,h),y.optional||y.key.optional?\"?\":\"\"),y===Q?$0.push(JB(o,p,h)):Q.type===\"FunctionExpression\"?$0.push(o.call(j0=>JB(j0,p,h),\"value\")):$0.push(h(\"value\")),$0},printReturnStatement:function(o,p,h){return[\"return\",HB(o,p,h)]},printThrowStatement:function(o,p,h){return[\"throw\",HB(o,p,h)]},printMethodInternal:JB,shouldPrintParamsWithoutParens:Jy};const{isNonEmptyArray:Gb,hasNewline:Xb}=Po,{builders:{line:Hy,hardline:NR,join:Kc,breakParent:Yb,group:py}}=xp,{locStart:FC,locEnd:xI}=s5,{getParentExportDeclaration:aM}=vs;function Rk(o,p){return o.decorators.some(h=>Xb(p.originalText,xI(h)))}function OO(o){if(o.type!==\"ExportDefaultDeclaration\"&&o.type!==\"ExportNamedDeclaration\"&&o.type!==\"DeclareExportDeclaration\")return!1;const p=o.declaration&&o.declaration.decorators;return Gb(p)&&FC(o,{ignoreDecorators:!0})>FC(p[0])}var zI={printDecorators:function(o,p,h){const y=o.getValue(),{decorators:k}=y;if(!Gb(k)||OO(o.getParentNode()))return;const Q=y.type===\"ClassExpression\"||y.type===\"ClassDeclaration\"||Rk(y,p);return[aM(o)?NR:Q?Yb:\"\",Kc(Hy,o.map(h,\"decorators\")),Hy]},printClassMemberDecorators:function(o,p,h){const y=o.getValue();return py([Kc(Hy,o.map(h,\"decorators\")),Rk(y,p)?NR:Hy])},printDecoratorsBeforeExport:function(o,p,h){return[Kc(NR,o.map(h,\"declaration\",\"decorators\")),NR]},hasDecoratorsBeforeExport:OO};const{isNonEmptyArray:Wg,createGroupIdMapper:Ck}=Po,{printComments:Qb,printDanglingComments:qg}=g0,{builders:{join:b3,line:_g,hardline:GB,softline:AC,group:N_,indent:WI,ifBreak:cN}}=xp,{hasComment:Gy,CommentCheckFlags:ov}=vs,{getTypeParametersGroupId:Sh}=ly,{printMethod:U9}=ZP,{printOptionalToken:XB,printTypeAnnotation:Dm}=Gf,{printPropertyKey:tU}=nM,{printAssignment:gE}=w_,{printClassMemberDecorators:sv}=zI,JT=Ck(\"heritageGroup\");function rU(o){return o.typeParameters&&!Gy(o.typeParameters,ov.Trailing|ov.Line)&&!function(p){return[\"superClass\",\"extends\",\"mixins\",\"implements\"].filter(h=>Boolean(p[h])).length>1}(o)}function vm(o,p,h,y){const k=o.getValue();if(!Wg(k[y]))return\"\";const Q=qg(o,p,!0,({marker:$0})=>$0===y);return[rU(k)?cN(\" \",_g,{groupId:Sh(k.typeParameters)}):_g,Q,Q&&GB,y,N_(WI([_g,b3([\",\",_g],o.map(h,y))]))]}function Zb(o,p,h){const y=h(\"superClass\");return o.getParentNode().type===\"AssignmentExpression\"?N_(cN([\"(\",WI([AC,y]),AC,\")\"],y)):y}var y9={printClass:function(o,p,h){const y=o.getValue(),k=[];y.declare&&k.push(\"declare \"),y.abstract&&k.push(\"abstract \"),k.push(\"class\");const Q=y.id&&Gy(y.id,ov.Trailing)||y.superClass&&Gy(y.superClass)||Wg(y.extends)||Wg(y.mixins)||Wg(y.implements),$0=[],j0=[];if(y.id&&$0.push(\" \",h(\"id\")),$0.push(h(\"typeParameters\")),y.superClass){const Z0=[\"extends \",Zb(o,p,h),h(\"superTypeParameters\")],g1=o.call(z1=>Qb(z1,Z0,p),\"superClass\");Q?j0.push(_g,N_(g1)):j0.push(\" \",g1)}else j0.push(vm(o,p,h,\"extends\"));if(j0.push(vm(o,p,h,\"mixins\"),vm(o,p,h,\"implements\")),Q){let Z0;Z0=rU(y)?[...$0,WI(j0)]:WI([...$0,j0]),k.push(N_(Z0,{id:JT(y)}))}else k.push(...$0,...j0);return k.push(\" \",h(\"body\")),k},printClassMethod:function(o,p,h){const y=o.getValue(),k=[];return Wg(y.decorators)&&k.push(sv(o,p,h)),y.accessibility&&k.push(y.accessibility+\" \"),y.readonly&&k.push(\"readonly \"),y.declare&&k.push(\"declare \"),y.static&&k.push(\"static \"),(y.type===\"TSAbstractMethodDefinition\"||y.abstract)&&k.push(\"abstract \"),y.override&&k.push(\"override \"),k.push(U9(o,p,h)),k},printClassProperty:function(o,p,h){const y=o.getValue(),k=[],Q=p.semi?\";\":\"\";return Wg(y.decorators)&&k.push(sv(o,p,h)),y.accessibility&&k.push(y.accessibility+\" \"),y.declare&&k.push(\"declare \"),y.static&&k.push(\"static \"),(y.type===\"TSAbstractClassProperty\"||y.abstract)&&k.push(\"abstract \"),y.override&&k.push(\"override \"),y.readonly&&k.push(\"readonly \"),y.variance&&k.push(h(\"variance\")),k.push(tU(o,p,h),XB(o),Dm(o,p,h)),[gE(o,p,h,k,\" =\",\"value\"),Q]},printHardlineAfterHeritage:function(o){return cN(GB,\"\",{groupId:JT(o)})}};const{isNonEmptyArray:r9}=Po,{builders:{join:QE,line:x7,group:dy,indent:jk,ifBreak:V9}}=xp,{hasComment:H$,identity:_E,CommentCheckFlags:BO}=vs,{getTypeParametersGroupId:e7}=ly,{printTypeScriptModifiers:t7}=Gf;var Fh={printInterface:function(o,p,h){const y=o.getValue(),k=[];y.declare&&k.push(\"declare \"),y.type===\"TSInterfaceDeclaration\"&&k.push(y.abstract?\"abstract \":\"\",t7(o,p,h)),k.push(\"interface\");const Q=[],$0=[];y.type!==\"InterfaceTypeAnnotation\"&&Q.push(\" \",h(\"id\"),h(\"typeParameters\"));const j0=y.typeParameters&&!H$(y.typeParameters,BO.Trailing|BO.Line);return r9(y.extends)&&$0.push(j0?V9(\" \",x7,{groupId:e7(y.typeParameters)}):x7,\"extends \",(y.extends.length===1?_E:jk)(QE([\",\",x7],o.map(h,\"extends\")))),y.id&&H$(y.id,BO.Trailing)||r9(y.extends)?j0?k.push(dy([...Q,jk($0)])):k.push(dy(jk([...Q,...$0]))):k.push(...Q,...$0),k.push(\" \",h(\"body\")),dy(k)}};const{isNonEmptyArray:$9}=Po,{builders:{softline:Xy,group:uv,indent:yE,join:Qm,line:P_,ifBreak:cv,hardline:DE}}=xp,{printDanglingComments:r7}=g0,{hasComment:qh,CommentCheckFlags:Kp,shouldPrintComma:ch,needsHardlineAfterDanglingComment:sf}=vs,{locStart:nU,hasSameLoc:C3}=s5,{hasDecoratorsBeforeExport:n7,printDecoratorsBeforeExport:E3}=zI;function Dc(o,p,h){const y=o.getValue();if(!y.source)return\"\";const k=[];return YB(y,p)||k.push(\" from\"),k.push(\" \",h(\"source\")),k}function lv(o,p,h){const y=o.getValue();if(YB(y,p))return\"\";const k=[\" \"];if($9(y.specifiers)){const Q=[],$0=[];o.each(()=>{const j0=o.getValue().type;if(j0===\"ExportNamespaceSpecifier\"||j0===\"ExportDefaultSpecifier\"||j0===\"ImportNamespaceSpecifier\"||j0===\"ImportDefaultSpecifier\")Q.push(h());else{if(j0!==\"ExportSpecifier\"&&j0!==\"ImportSpecifier\")throw new Error(`Unknown specifier type ${JSON.stringify(j0)}`);$0.push(h())}},\"specifiers\"),k.push(Qm(\", \",Q)),$0.length>0&&(Q.length>0&&k.push(\", \"),$0.length>1||Q.length>0||y.specifiers.some(j0=>qh(j0))?k.push(uv([\"{\",yE([p.bracketSpacing?P_:Xy,Qm([\",\",P_],$0)]),cv(ch(p)?\",\":\"\"),p.bracketSpacing?P_:Xy,\"}\"])):k.push([\"{\",p.bracketSpacing?\" \":\"\",...$0,p.bracketSpacing?\" \":\"\",\"}\"]))}else k.push(\"{}\");return k}function YB(o,p){const{type:h,importKind:y,source:k,specifiers:Q}=o;return h===\"ImportDeclaration\"&&!$9(Q)&&y!==\"type\"&&!/{\\s*}/.test(p.originalText.slice(nU(o),nU(k)))}function em(o,p,h){const y=o.getNode();return $9(y.assertions)?[\" assert {\",p.bracketSpacing?\" \":\"\",Qm(\", \",o.map(h,\"assertions\")),p.bracketSpacing?\" \":\"\",\"}\"]:\"\"}var LO={printImportDeclaration:function(o,p,h){const y=o.getValue(),k=p.semi?\";\":\"\",Q=[],{importKind:$0}=y;return Q.push(\"import\"),$0&&$0!==\"value\"&&Q.push(\" \",$0),Q.push(lv(o,p,h),Dc(o,p,h),em(o,p,h),k),Q},printExportDeclaration:function(o,p,h){const y=o.getValue(),k=[];n7(y)&&k.push(E3(o,p,h));const{type:Q,exportKind:$0,declaration:j0}=y;return k.push(\"export\"),(y.default||Q===\"ExportDefaultDeclaration\")&&k.push(\" default\"),qh(y,Kp.Dangling)&&(k.push(\" \",r7(o,p,!0)),sf(y)&&k.push(DE)),j0?k.push(\" \",h(\"declaration\")):k.push($0===\"type\"?\" type\":\"\",lv(o,p,h),Dc(o,p,h),em(o,p,h)),function(Z0,g1){if(!g1.semi)return!1;const{type:z1,declaration:X1}=Z0,se=Z0.default||z1===\"ExportDefaultDeclaration\";if(!X1)return!0;const{type:be}=X1;return!!(se&&be!==\"ClassDeclaration\"&&be!==\"FunctionDeclaration\"&&be!==\"TSInterfaceDeclaration\"&&be!==\"DeclareClass\"&&be!==\"DeclareFunction\"&&be!==\"TSDeclareFunction\"&&be!==\"EnumDeclaration\")}(y,p)&&k.push(\";\"),k},printExportAllDeclaration:function(o,p,h){const y=o.getValue(),k=p.semi?\";\":\"\",Q=[],{exportKind:$0,exported:j0}=y;return Q.push(\"export\"),$0===\"type\"&&Q.push(\" type\"),Q.push(\" *\"),j0&&Q.push(\" as \",h(\"exported\")),Q.push(Dc(o,p,h),em(o,p,h),k),Q},printModuleSpecifier:function(o,p,h){const y=o.getNode(),{type:k,importKind:Q}=y,$0=[];k===\"ImportSpecifier\"&&Q&&$0.push(Q,\" \");const j0=k.startsWith(\"Import\"),Z0=j0?\"imported\":\"local\",g1=j0?\"local\":\"exported\";let z1=\"\",X1=\"\";return k===\"ExportNamespaceSpecifier\"||k===\"ImportNamespaceSpecifier\"?z1=\"*\":y[Z0]&&(z1=h(Z0)),!y[g1]||y[Z0]&&C3(y[Z0],y[g1])||(X1=h(g1)),$0.push(z1,z1&&X1?\" as \":\"\",X1),$0}};const{printDanglingComments:yg}=g0,{builders:{line:Lm,softline:Dg,group:Zm,indent:Yy,ifBreak:TC,hardline:Jg}}=xp,{getLast:Ah,hasNewlineInRange:eI,hasNewline:fv,isNonEmptyArray:vg}=Po,{shouldPrintComma:PR,hasComment:I_,getComments:MO,CommentCheckFlags:O_,isNextLineEmpty:pv}=vs,{locStart:B_,locEnd:iU}=s5,{printOptionalToken:oM,printTypeAnnotation:xo}=Gf,{shouldHugFunctionParameters:dv}=Eh,{shouldHugType:S3}=D3,{printHardlineAfterHeritage:Th}=y9;var RO={printObject:function(o,p,h){const y=p.semi?\";\":\"\",k=o.getValue();let Q;Q=k.type===\"TSTypeLiteral\"?\"members\":k.type===\"TSInterfaceBody\"?\"body\":\"properties\";const $0=k.type===\"ObjectTypeAnnotation\",j0=[Q];$0&&j0.push(\"indexers\",\"callProperties\",\"internalSlots\");const Z0=j0.map(Ao=>k[Ao][0]).sort((Ao,Hs)=>B_(Ao)-B_(Hs))[0],g1=o.getParentNode(0),z1=$0&&g1&&(g1.type===\"InterfaceDeclaration\"||g1.type===\"DeclareInterface\"||g1.type===\"DeclareClass\")&&o.getName()===\"body\",X1=k.type===\"TSInterfaceBody\"||z1||k.type===\"ObjectPattern\"&&g1.type!==\"FunctionDeclaration\"&&g1.type!==\"FunctionExpression\"&&g1.type!==\"ArrowFunctionExpression\"&&g1.type!==\"ObjectMethod\"&&g1.type!==\"ClassMethod\"&&g1.type!==\"ClassPrivateMethod\"&&g1.type!==\"AssignmentPattern\"&&g1.type!==\"CatchClause\"&&k.properties.some(Ao=>Ao.value&&(Ao.value.type===\"ObjectPattern\"||Ao.value.type===\"ArrayPattern\"))||k.type!==\"ObjectPattern\"&&Z0&&eI(p.originalText,B_(k),B_(Z0)),se=z1?\";\":k.type===\"TSInterfaceBody\"||k.type===\"TSTypeLiteral\"?TC(y,\";\"):\",\",be=k.type===\"RecordExpression\"?\"#{\":k.exact?\"{|\":\"{\",Je=k.exact?\"|}\":\"}\",ft=[];for(const Ao of j0)o.each(Hs=>{const Oc=Hs.getValue();ft.push({node:Oc,printed:h(),loc:B_(Oc)})},Ao);j0.length>1&&ft.sort((Ao,Hs)=>Ao.loc-Hs.loc);let Xr=[];const on=ft.map(Ao=>{const Hs=[...Xr,Zm(Ao.printed)];return Xr=[se,Lm],Ao.node.type!==\"TSPropertySignature\"&&Ao.node.type!==\"TSMethodSignature\"&&Ao.node.type!==\"TSConstructSignatureDeclaration\"||!I_(Ao.node,O_.PrettierIgnore)||Xr.shift(),pv(Ao.node,p)&&Xr.push(Jg),Hs});if(k.inexact){let Ao;if(I_(k,O_.Dangling)){const Hs=I_(k,O_.Line);Ao=[yg(o,p,!0),Hs||fv(p.originalText,iU(Ah(MO(k))))?Jg:Lm,\"...\"]}else Ao=[\"...\"];on.push([...Xr,...Ao])}const Wr=Ah(k[Q]),Zi=!(k.inexact||Wr&&Wr.type===\"RestElement\"||Wr&&(Wr.type===\"TSPropertySignature\"||Wr.type===\"TSCallSignatureDeclaration\"||Wr.type===\"TSMethodSignature\"||Wr.type===\"TSConstructSignatureDeclaration\")&&I_(Wr,O_.PrettierIgnore));let hs;if(on.length===0){if(!I_(k,O_.Dangling))return[be,Je,xo(o,p,h)];hs=Zm([be,yg(o,p),Dg,Je,oM(o),xo(o,p,h)])}else hs=[z1&&vg(k.properties)?Th(g1):\"\",be,Yy([p.bracketSpacing?Lm:Dg,...on]),TC(Zi&&(se!==\",\"||PR(p))?se:\"\"),p.bracketSpacing?Lm:Dg,Je,oM(o),xo(o,p,h)];return o.match(Ao=>Ao.type===\"ObjectPattern\"&&!Ao.decorators,(Ao,Hs,Oc)=>dv(Ao)&&(Hs===\"params\"||Hs===\"parameters\"||Hs===\"this\"||Hs===\"rest\")&&Oc===0)||o.match(S3,(Ao,Hs)=>Hs===\"typeAnnotation\",(Ao,Hs)=>Hs===\"typeAnnotation\",(Ao,Hs,Oc)=>dv(Ao)&&(Hs===\"params\"||Hs===\"parameters\"||Hs===\"this\"||Hs===\"rest\")&&Oc===0)||!X1&&o.match(Ao=>Ao.type===\"ObjectPattern\",Ao=>Ao.type===\"AssignmentExpression\"||Ao.type===\"VariableDeclarator\")?hs:Zm(hs,{shouldBreak:X1})}};const{printDanglingComments:Ek}=g0,{printString:wV,printNumber:wC}=Po,{builders:{hardline:Qy,softline:G$,group:tm,indent:L_}}=xp,{getParentExportDeclaration:X$,isFunctionNotation:aU,isGetterOrSetter:bm,rawText:cc,shouldPrintComma:sM}=vs,{locStart:Hg,locEnd:F3}=s5,{printClass:Zd}=y9,{printOpaqueType:tk,printTypeAlias:oU,printIntersectionType:vE,printUnionType:my,printFunctionType:A3,printTupleType:ZE,printIndexedAccessType:M_}=D3,{printInterface:uM}=Fh,{printTypeParameter:i7,printTypeParameters:kC}=ly,{printExportDeclaration:Ho,printExportAllDeclaration:T3}=LO,{printArrayItems:kV}=wb,{printObject:lh}=RO,{printPropertyKey:a7}=nM,{printOptionalToken:NC,printTypeAnnotation:QB,printRestSpread:IR}=Gf;function rd(o,p){const h=X$(o);return h?(D.strictEqual(h.type,\"DeclareExportDeclaration\"),p):[\"declare \",p]}var sU={printFlow:function(o,p,h){const y=o.getValue(),k=p.semi?\";\":\"\",Q=[];switch(y.type){case\"DeclareClass\":return rd(o,Zd(o,p,h));case\"DeclareFunction\":return rd(o,[\"function \",h(\"id\"),y.predicate?\" \":\"\",h(\"predicate\"),k]);case\"DeclareModule\":return rd(o,[\"module \",h(\"id\"),\" \",h(\"body\")]);case\"DeclareModuleExports\":return rd(o,[\"module.exports\",\": \",h(\"typeAnnotation\"),k]);case\"DeclareVariable\":return rd(o,[\"var \",h(\"id\"),k]);case\"DeclareOpaqueType\":return rd(o,tk(o,p,h));case\"DeclareInterface\":return rd(o,uM(o,p,h));case\"DeclareTypeAlias\":return rd(o,oU(o,p,h));case\"DeclareExportDeclaration\":return rd(o,Ho(o,p,h));case\"DeclareExportAllDeclaration\":return rd(o,T3(o,p,h));case\"OpaqueType\":return tk(o,p,h);case\"TypeAlias\":return oU(o,p,h);case\"IntersectionTypeAnnotation\":return vE(o,p,h);case\"UnionTypeAnnotation\":return my(o,p,h);case\"FunctionTypeAnnotation\":return A3(o,p,h);case\"TupleTypeAnnotation\":return ZE(o,p,h);case\"GenericTypeAnnotation\":return[h(\"id\"),kC(o,p,h,\"typeParameters\")];case\"IndexedAccessType\":case\"OptionalIndexedAccessType\":return M_(o,p,h);case\"TypeAnnotation\":return h(\"typeAnnotation\");case\"TypeParameter\":return i7(o,p,h);case\"TypeofTypeAnnotation\":return[\"typeof \",h(\"argument\")];case\"ExistsTypeAnnotation\":return\"*\";case\"EmptyTypeAnnotation\":return\"empty\";case\"MixedTypeAnnotation\":return\"mixed\";case\"ArrayTypeAnnotation\":return[h(\"elementType\"),\"[]\"];case\"BooleanLiteralTypeAnnotation\":return String(y.value);case\"EnumDeclaration\":return[\"enum \",h(\"id\"),\" \",h(\"body\")];case\"EnumBooleanBody\":case\"EnumNumberBody\":case\"EnumStringBody\":case\"EnumSymbolBody\":if(y.type===\"EnumSymbolBody\"||y.explicitType){let $0=null;switch(y.type){case\"EnumBooleanBody\":$0=\"boolean\";break;case\"EnumNumberBody\":$0=\"number\";break;case\"EnumStringBody\":$0=\"string\";break;case\"EnumSymbolBody\":$0=\"symbol\"}Q.push(\"of \",$0,\" \")}if(y.members.length!==0||y.hasUnknownMembers){const $0=y.members.length>0?[Qy,kV(o,p,\"members\",h),y.hasUnknownMembers||sM(p)?\",\":\"\"]:[];Q.push(tm([\"{\",L_([...$0,...y.hasUnknownMembers?[Qy,\"...\"]:[]]),Ek(o,p,!0),Qy,\"}\"]))}else Q.push(tm([\"{\",Ek(o,p),G$,\"}\"]));return Q;case\"EnumBooleanMember\":case\"EnumNumberMember\":case\"EnumStringMember\":return[h(\"id\"),\" = \",typeof y.init==\"object\"?h(\"init\"):String(y.init)];case\"EnumDefaultedMember\":return h(\"id\");case\"FunctionTypeParam\":{const $0=y.name?h(\"name\"):o.getParentNode().this===y?\"this\":\"\";return[$0,NC(o),$0?\": \":\"\",h(\"typeAnnotation\")]}case\"InterfaceDeclaration\":case\"InterfaceTypeAnnotation\":return uM(o,p,h);case\"ClassImplements\":case\"InterfaceExtends\":return[h(\"id\"),h(\"typeParameters\")];case\"NullableTypeAnnotation\":return[\"?\",h(\"typeAnnotation\")];case\"Variance\":{const{kind:$0}=y;return D.ok($0===\"plus\"||$0===\"minus\"),$0===\"plus\"?\"+\":\"-\"}case\"ObjectTypeCallProperty\":return y.static&&Q.push(\"static \"),Q.push(h(\"value\")),Q;case\"ObjectTypeIndexer\":return[y.variance?h(\"variance\"):\"\",\"[\",h(\"id\"),y.id?\": \":\"\",h(\"key\"),\"]: \",h(\"value\")];case\"ObjectTypeProperty\":{let $0=\"\";return y.proto?$0=\"proto \":y.static&&($0=\"static \"),[$0,bm(y)?y.kind+\" \":\"\",y.variance?h(\"variance\"):\"\",a7(o,p,h),NC(o),aU(y)?\"\":\": \",h(\"value\")]}case\"ObjectTypeAnnotation\":return lh(o,p,h);case\"ObjectTypeInternalSlot\":return[y.static?\"static \":\"\",\"[[\",h(\"id\"),\"]]\",NC(o),y.method?\"\":\": \",h(\"value\")];case\"ObjectTypeSpreadProperty\":return IR(o,p,h);case\"QualifiedTypeIdentifier\":return[h(\"qualification\"),\".\",h(\"id\")];case\"StringLiteralTypeAnnotation\":return wV(cc(y),p);case\"NumberLiteralTypeAnnotation\":D.strictEqual(typeof y.value,\"number\");case\"BigIntLiteralTypeAnnotation\":return y.extra?wC(y.extra.raw):wC(y.raw);case\"TypeCastExpression\":return[\"(\",h(\"expression\"),QB(o,p,h),\")\"];case\"TypeParameterDeclaration\":case\"TypeParameterInstantiation\":{const $0=kC(o,p,h,\"params\");if(p.parser===\"flow\"){const j0=Hg(y),Z0=F3(y),g1=p.originalText.lastIndexOf(\"/*\",j0),z1=p.originalText.indexOf(\"*/\",Z0);if(g1!==-1&&z1!==-1){const X1=p.originalText.slice(g1+2,z1).trim();if(X1.startsWith(\"::\")&&!X1.includes(\"/*\")&&!X1.includes(\"*/\"))return[\"/*:: \",$0,\" */\"]}}return $0}case\"InferredPredicate\":return\"%checks\";case\"DeclaredPredicate\":return[\"%checks(\",h(\"value\"),\")\"];case\"AnyTypeAnnotation\":return\"any\";case\"BooleanTypeAnnotation\":return\"boolean\";case\"BigIntTypeAnnotation\":return\"bigint\";case\"NullLiteralTypeAnnotation\":return\"null\";case\"NumberTypeAnnotation\":return\"number\";case\"SymbolTypeAnnotation\":return\"symbol\";case\"StringTypeAnnotation\":return\"string\";case\"VoidTypeAnnotation\":return\"void\";case\"ThisTypeAnnotation\":return\"this\";case\"Node\":case\"Printable\":case\"SourceLocation\":case\"Position\":case\"Statement\":case\"Function\":case\"Pattern\":case\"Expression\":case\"Declaration\":case\"Specifier\":case\"NamedSpecifier\":case\"Comment\":case\"MemberTypeAnnotation\":case\"Type\":throw new Error(\"unprintable type: \"+JSON.stringify(y.type))}}};const{hasNewlineInRange:PC}=Po,{isJsxNode:Ad,isBlockComment:mv,getComments:OR,isCallExpression:hv,isMemberExpression:uU}=vs,{locStart:w3,locEnd:Az}=s5,{builders:{line:gv,softline:Zy,group:bE,indent:xD,align:R_,ifBreak:fs,dedent:o7,breakParent:hy}}=xp;function cM(o,p,h){const y=o.getValue(),k=y.type===\"ConditionalExpression\",Q=k?\"alternate\":\"falseType\",$0=o.getParentNode(),j0=k?h(\"test\"):[h(\"checkType\"),\" \",\"extends\",\" \",h(\"extendsType\")];return $0.type===y.type&&$0[Q]===y?R_(2,j0):j0}const _v=new Map([[\"AssignmentExpression\",\"right\"],[\"VariableDeclarator\",\"init\"],[\"ReturnStatement\",\"argument\"],[\"ThrowStatement\",\"argument\"],[\"UnaryExpression\",\"argument\"],[\"YieldExpression\",\"argument\"]]);var j_={printTernary:function(o,p,h){const y=o.getValue(),k=y.type===\"ConditionalExpression\",Q=k?\"consequent\":\"trueType\",$0=k?\"alternate\":\"falseType\",j0=k?[\"test\"]:[\"checkType\",\"extendsType\"],Z0=y[Q],g1=y[$0],z1=[];let X1=!1;const se=o.getParentNode(),be=se.type===y.type&&j0.some(qd=>se[qd]===y);let Je,ft,Xr=se.type===y.type&&!be,on=0;do ft=Je||y,Je=o.getParentNode(on),on++;while(Je&&Je.type===y.type&&j0.every(qd=>Je[qd]!==ft));const Wr=Je||se,Zi=ft;if(k&&(Ad(y[j0[0]])||Ad(Z0)||Ad(g1)||function(qd){const Hl=[qd];for(let gf=0;gf<Hl.length;gf++){const Qh=Hl[gf];for(const N8 of[\"test\",\"consequent\",\"alternate\"]){const o8=Qh[N8];if(Ad(o8))return!0;o8.type===\"ConditionalExpression\"&&Hl.push(o8)}}return!1}(Zi))){X1=!0,Xr=!0;const qd=gf=>[fs(\"(\"),xD([Zy,gf]),Zy,fs(\")\")],Hl=gf=>gf.type===\"NullLiteral\"||gf.type===\"Literal\"&&gf.value===null||gf.type===\"Identifier\"&&gf.name===\"undefined\";z1.push(\" ? \",Hl(Z0)?h(Q):qd(h(Q)),\" : \",g1.type===y.type||Hl(g1)?h($0):qd(h($0)))}else{const qd=[gv,\"? \",Z0.type===y.type?fs(\"\",\"(\"):\"\",R_(2,h(Q)),Z0.type===y.type?fs(\"\",\")\"):\"\",gv,\": \",g1.type===y.type?h($0):R_(2,h($0))];z1.push(se.type!==y.type||se[$0]===y||be?qd:p.useTabs?o7(xD(qd)):R_(Math.max(0,p.tabWidth-2),qd))}const hs=[...j0.map(qd=>OR(y[qd])),OR(Z0),OR(g1)].flat().some(qd=>mv(qd)&&PC(p.originalText,w3(qd),Az(qd))),Ao=!X1&&(uU(se)||se.type===\"NGPipeExpression\"&&se.left===y)&&!se.computed,Hs=function(qd){const Hl=qd.getValue();if(Hl.type!==\"ConditionalExpression\")return!1;let gf,Qh=Hl;for(let N8=0;!gf;N8++){const o8=qd.getParentNode(N8);hv(o8)&&o8.callee===Qh||uU(o8)&&o8.object===Qh||o8.type===\"TSNonNullExpression\"&&o8.expression===Qh?Qh=o8:o8.type===\"NewExpression\"&&o8.callee===Qh||o8.type===\"TSAsExpression\"&&o8.expression===Qh?(gf=qd.getParentNode(N8+1),Qh=o8):gf=o8}return Qh!==Hl&&gf[_v.get(gf.type)]===Qh}(o),Oc=(Nd=[cM(o,0,h),Xr?z1:xD(z1),k&&Ao&&!Hs?Zy:\"\"],se===Wr?bE(Nd,{shouldBreak:hs}):hs?[Nd,hy]:Nd);var Nd;return be||Hs?bE([xD([Zy,Oc]),Zy]):Oc}};const{builders:{hardline:yv}}=xp,{getLeftSidePathName:IC,hasNakedLeftSide:ZB,isJsxNode:BR,isTheOnlyJsxElementInMarkdown:NA,hasComment:qI,CommentCheckFlags:jO,isNextLineEmpty:Dv}=vs,{shouldPrintParamsWithoutParens:uw}=ZP;function eD(o,p,h,y){const k=o.getValue(),Q=[],$0=k.type===\"ClassBody\",j0=function(Z0){for(let g1=Z0.length-1;g1>=0;g1--){const z1=Z0[g1];if(z1.type!==\"EmptyStatement\")return z1}}(k[y]);return o.each((Z0,g1,z1)=>{const X1=Z0.getValue();if(X1.type===\"EmptyStatement\")return;const se=h();p.semi||$0||NA(p,Z0)||!function(be,Je){return be.getNode().type!==\"ExpressionStatement\"?!1:be.call(ft=>xL(ft,Je),\"expression\")}(Z0,p)?Q.push(se):qI(X1,jO.Leading)?Q.push(h([],{needsSemi:!0})):Q.push(\";\",se),!p.semi&&$0&&Gg(X1)&&function(be,Je){const ft=be.key&&be.key.name;if(!(ft!==\"static\"&&ft!==\"get\"&&ft!==\"set\"||be.value||be.typeAnnotation))return!0;if(!Je||Je.static||Je.accessibility)return!1;if(!Je.computed){const Xr=Je.key&&Je.key.name;if(Xr===\"in\"||Xr===\"instanceof\")return!0}switch(Je.type){case\"ClassProperty\":case\"PropertyDefinition\":case\"TSAbstractClassProperty\":return Je.computed;case\"MethodDefinition\":case\"TSAbstractMethodDefinition\":case\"ClassMethod\":case\"ClassPrivateMethod\":{if((Je.value?Je.value.async:Je.async)||Je.kind===\"get\"||Je.kind===\"set\")return!1;const Xr=Je.value?Je.value.generator:Je.generator;return!(!Je.computed&&!Xr)}case\"TSIndexSignature\":return!0}return!1}(X1,z1[g1+1])&&Q.push(\";\"),X1!==j0&&(Q.push(yv),Dv(X1,p)&&Q.push(yv))},y),Q}function xL(o,p){const h=o.getValue();switch(h.type){case\"ParenthesizedExpression\":case\"TypeCastExpression\":case\"ArrayExpression\":case\"ArrayPattern\":case\"TemplateLiteral\":case\"TemplateElement\":case\"RegExpLiteral\":return!0;case\"ArrowFunctionExpression\":if(!uw(o,p))return!0;break;case\"UnaryExpression\":{const{prefix:y,operator:k}=h;if(y&&(k===\"+\"||k===\"-\"))return!0;break}case\"BindExpression\":if(!h.object)return!0;break;case\"Literal\":if(h.regex)return!0;break;default:if(BR(h))return!0}return!!X6(o,p)||!!ZB(h)&&o.call(y=>xL(y,p),...IC(o,h))}const Gg=({type:o})=>o===\"ClassProperty\"||o===\"PropertyDefinition\"||o===\"ClassPrivateProperty\";var vv={printBody:function(o,p,h){return eD(o,p,h,\"body\")},printSwitchCaseConsequent:function(o,p,h){return eD(o,p,h,\"consequent\")}};const{printDanglingComments:k3}=g0,{isNonEmptyArray:rm}=Po,{builders:{hardline:tD,indent:tI}}=xp,{hasComment:F4,CommentCheckFlags:fh,isNextLineEmpty:cU}=vs,{printHardlineAfterHeritage:Yr}=y9,{printBody:Uk}=vv;function Vd(o,p,h){const y=o.getValue(),k=rm(y.directives),Q=y.body.some(Z0=>Z0.type!==\"EmptyStatement\"),$0=F4(y,fh.Dangling);if(!k&&!Q&&!$0)return\"\";const j0=[];if(k&&o.each((Z0,g1,z1)=>{j0.push(h()),(g1<z1.length-1||Q||$0)&&(j0.push(tD),cU(Z0.getValue(),p)&&j0.push(tD))},\"directives\"),Q&&j0.push(Uk(o,p,h)),$0&&j0.push(k3(o,p,!0)),y.type===\"Program\"){const Z0=o.getParentNode();Z0&&Z0.type===\"ModuleExpression\"||j0.push(tD)}return j0}var Y6={printBlock:function(o,p,h){const y=o.getValue(),k=[];if(y.type===\"StaticBlock\"&&k.push(\"static \"),y.type===\"ClassBody\"&&rm(y.body)){const $0=o.getParentNode();k.push(Yr($0))}k.push(\"{\");const Q=Vd(o,p,h);if(Q)k.push(tI([tD,Q]),tD);else{const $0=o.getParentNode(),j0=o.getParentNode(1);$0.type===\"ArrowFunctionExpression\"||$0.type===\"FunctionExpression\"||$0.type===\"FunctionDeclaration\"||$0.type===\"ObjectMethod\"||$0.type===\"ClassMethod\"||$0.type===\"ClassPrivateMethod\"||$0.type===\"ForStatement\"||$0.type===\"WhileStatement\"||$0.type===\"DoWhileStatement\"||$0.type===\"DoExpression\"||$0.type===\"CatchClause\"&&!j0.finalizer||$0.type===\"TSModuleDeclaration\"||$0.type===\"TSDeclareFunction\"||y.type===\"StaticBlock\"||y.type===\"ClassBody\"||k.push(tD)}return k.push(\"}\"),k},printBlockBody:Vd};const{printDanglingComments:eL}=g0,{hasNewlineInRange:U_}=Po,{builders:{join:UO,line:rD,hardline:bv,softline:MF,group:rk,indent:V_,conditionalGroup:N3,ifBreak:$_}}=xp,{isLiteral:nm,getTypeScriptMappedTypeModifier:Cm,shouldPrintComma:Cv,isCallExpression:P3,isMemberExpression:tL}=vs,{locStart:K_,locEnd:Ev}=s5,{printOptionalToken:gy,printTypeScriptModifiers:ph}=Gf,{printTernary:Xg}=j_,{printFunctionParameters:Sv,shouldGroupFunctionParameters:s7}=Eh,{printTemplateLiteral:I3}=pl,{printArrayItems:Y$}=wb,{printObject:NV}=RO,{printClassProperty:Bp,printClassMethod:lM}=y9,{printTypeParameter:nD,printTypeParameters:Mm}=ly,{printPropertyKey:iD}=nM,{printFunction:Fv,printMethodInternal:Q$}=ZP,{printInterface:D9}=Fh,{printBlock:CE}=Y6,{printTypeAlias:Vk,printIntersectionType:aD,printUnionType:LR,printFunctionType:u7,printTupleType:fM,printIndexedAccessType:MR}=D3;var c7={printTypescript:function(o,p,h){const y=o.getValue();if(!y.type.startsWith(\"TS\"))return;if(y.type.endsWith(\"Keyword\"))return y.type.slice(2,-7).toLowerCase();const k=p.semi?\";\":\"\",Q=[];switch(y.type){case\"TSThisType\":return\"this\";case\"TSTypeAssertion\":{const $0=!(y.expression.type===\"ArrayExpression\"||y.expression.type===\"ObjectExpression\"),j0=rk([\"<\",V_([MF,h(\"typeAnnotation\")]),MF,\">\"]),Z0=[$_(\"(\"),V_([MF,h(\"expression\")]),MF,$_(\")\")];return $0?N3([[j0,h(\"expression\")],[j0,rk(Z0,{shouldBreak:!0})],[j0,h(\"expression\")]]):rk([j0,h(\"expression\")])}case\"TSDeclareFunction\":return Fv(o,h,p);case\"TSExportAssignment\":return[\"export = \",h(\"expression\"),k];case\"TSModuleBlock\":return CE(o,p,h);case\"TSInterfaceBody\":case\"TSTypeLiteral\":return NV(o,p,h);case\"TSTypeAliasDeclaration\":return Vk(o,p,h);case\"TSQualifiedName\":return UO(\".\",[h(\"left\"),h(\"right\")]);case\"TSAbstractMethodDefinition\":case\"TSDeclareMethod\":return lM(o,p,h);case\"TSAbstractClassProperty\":return Bp(o,p,h);case\"TSInterfaceHeritage\":case\"TSExpressionWithTypeArguments\":return Q.push(h(\"expression\")),y.typeParameters&&Q.push(h(\"typeParameters\")),Q;case\"TSTemplateLiteralType\":return I3(o,h,p);case\"TSNamedTupleMember\":return[h(\"label\"),y.optional?\"?\":\"\",\": \",h(\"elementType\")];case\"TSRestType\":return[\"...\",h(\"typeAnnotation\")];case\"TSOptionalType\":return[h(\"typeAnnotation\"),\"?\"];case\"TSInterfaceDeclaration\":return D9(o,p,h);case\"TSClassImplements\":return[h(\"expression\"),h(\"typeParameters\")];case\"TSTypeParameterDeclaration\":case\"TSTypeParameterInstantiation\":return Mm(o,p,h,\"params\");case\"TSTypeParameter\":return nD(o,p,h);case\"TSAsExpression\":{Q.push(h(\"expression\"),\" as \",h(\"typeAnnotation\"));const $0=o.getParentNode();return P3($0)&&$0.callee===y||tL($0)&&$0.object===y?rk([V_([MF,...Q]),MF]):Q}case\"TSArrayType\":return[h(\"elementType\"),\"[]\"];case\"TSPropertySignature\":return y.readonly&&Q.push(\"readonly \"),Q.push(iD(o,p,h),gy(o)),y.typeAnnotation&&Q.push(\": \",h(\"typeAnnotation\")),y.initializer&&Q.push(\" = \",h(\"initializer\")),Q;case\"TSParameterProperty\":return y.accessibility&&Q.push(y.accessibility+\" \"),y.export&&Q.push(\"export \"),y.static&&Q.push(\"static \"),y.override&&Q.push(\"override \"),y.readonly&&Q.push(\"readonly \"),Q.push(h(\"parameter\")),Q;case\"TSTypeQuery\":return[\"typeof \",h(\"exprName\")];case\"TSIndexSignature\":{const $0=o.getParentNode(),j0=y.parameters.length>1?$_(Cv(p)?\",\":\"\"):\"\",Z0=rk([V_([MF,UO([\", \",MF],o.map(h,\"parameters\"))]),j0,MF]);return[y.export?\"export \":\"\",y.accessibility?[y.accessibility,\" \"]:\"\",y.static?\"static \":\"\",y.readonly?\"readonly \":\"\",y.declare?\"declare \":\"\",\"[\",y.parameters?Z0:\"\",y.typeAnnotation?\"]: \":\"]\",y.typeAnnotation?h(\"typeAnnotation\"):\"\",$0.type===\"ClassBody\"?k:\"\"]}case\"TSTypePredicate\":return[y.asserts?\"asserts \":\"\",h(\"parameterName\"),y.typeAnnotation?[\" is \",h(\"typeAnnotation\")]:\"\"];case\"TSNonNullExpression\":return[h(\"expression\"),\"!\"];case\"TSImportType\":return[y.isTypeOf?\"typeof \":\"\",\"import(\",h(y.parameter?\"parameter\":\"argument\"),\")\",y.qualifier?[\".\",h(\"qualifier\")]:\"\",Mm(o,p,h,\"typeParameters\")];case\"TSLiteralType\":return h(\"literal\");case\"TSIndexedAccessType\":return MR(o,p,h);case\"TSConstructSignatureDeclaration\":case\"TSCallSignatureDeclaration\":case\"TSConstructorType\":if(y.type===\"TSConstructorType\"&&y.abstract&&Q.push(\"abstract \"),y.type!==\"TSCallSignatureDeclaration\"&&Q.push(\"new \"),Q.push(rk(Sv(o,h,p,!1,!0))),y.returnType||y.typeAnnotation){const $0=y.type===\"TSConstructorType\";Q.push($0?\" => \":\": \",h(\"returnType\"),h(\"typeAnnotation\"))}return Q;case\"TSTypeOperator\":return[y.operator,\" \",h(\"typeAnnotation\")];case\"TSMappedType\":{const $0=U_(p.originalText,K_(y),Ev(y));return rk([\"{\",V_([p.bracketSpacing?rD:MF,y.readonly?[Cm(y.readonly,\"readonly\"),\" \"]:\"\",ph(o,p,h),h(\"typeParameter\"),y.optional?Cm(y.optional,\"?\"):\"\",y.typeAnnotation?\": \":\"\",h(\"typeAnnotation\"),$_(k)]),eL(o,p,!0),p.bracketSpacing?rD:MF,\"}\"],{shouldBreak:$0})}case\"TSMethodSignature\":{const $0=y.kind&&y.kind!==\"method\"?`${y.kind} `:\"\";Q.push(y.accessibility?[y.accessibility,\" \"]:\"\",$0,y.export?\"export \":\"\",y.static?\"static \":\"\",y.readonly?\"readonly \":\"\",y.abstract?\"abstract \":\"\",y.declare?\"declare \":\"\",y.computed?\"[\":\"\",h(\"key\"),y.computed?\"]\":\"\",gy(o));const j0=Sv(o,h,p,!1,!0),Z0=y.returnType?\"returnType\":\"typeAnnotation\",g1=y[Z0],z1=g1?h(Z0):\"\",X1=s7(y,z1);return Q.push(X1?rk(j0):j0),g1&&Q.push(\": \",rk(z1)),rk(Q)}case\"TSNamespaceExportDeclaration\":return Q.push(\"export as namespace \",h(\"id\")),p.semi&&Q.push(\";\"),rk(Q);case\"TSEnumDeclaration\":return y.declare&&Q.push(\"declare \"),y.modifiers&&Q.push(ph(o,p,h)),y.const&&Q.push(\"const \"),Q.push(\"enum \",h(\"id\"),\" \"),y.members.length===0?Q.push(rk([\"{\",eL(o,p),MF,\"}\"])):Q.push(rk([\"{\",V_([bv,Y$(o,p,\"members\",h),Cv(p,\"es5\")?\",\":\"\"]),eL(o,p,!0),bv,\"}\"])),Q;case\"TSEnumMember\":return Q.push(h(\"id\")),y.initializer&&Q.push(\" = \",h(\"initializer\")),Q;case\"TSImportEqualsDeclaration\":return y.isExport&&Q.push(\"export \"),Q.push(\"import \"),y.importKind&&y.importKind!==\"value\"&&Q.push(y.importKind,\" \"),Q.push(h(\"id\"),\" = \",h(\"moduleReference\")),p.semi&&Q.push(\";\"),rk(Q);case\"TSExternalModuleReference\":return[\"require(\",h(\"expression\"),\")\"];case\"TSModuleDeclaration\":{const $0=o.getParentNode(),j0=nm(y.id),Z0=$0.type===\"TSModuleDeclaration\",g1=y.body&&y.body.type===\"TSModuleDeclaration\";if(Z0)Q.push(\".\");else{y.declare&&Q.push(\"declare \"),Q.push(ph(o,p,h));const z1=p.originalText.slice(K_(y),K_(y.id));y.id.type===\"Identifier\"&&y.id.name===\"global\"&&!/namespace|module/.test(z1)||Q.push(j0||/(^|\\s)module(\\s|$)/.test(z1)?\"module \":\"namespace \")}return Q.push(h(\"id\")),g1?Q.push(h(\"body\")):y.body?Q.push(\" \",rk(h(\"body\"))):Q.push(k),Q}case\"TSPrivateIdentifier\":return y.escapedText;case\"TSConditionalType\":return Xg(o,p,h);case\"TSInferType\":return[\"infer\",\" \",h(\"typeParameter\")];case\"TSIntersectionType\":return aD(o,p,h);case\"TSUnionType\":return LR(o,p,h);case\"TSFunctionType\":return u7(o,p,h);case\"TSTupleType\":return fM(o,p,h);case\"TSTypeReference\":return[h(\"typeName\"),Mm(o,p,h,\"typeParameters\")];case\"TSTypeAnnotation\":return h(\"typeAnnotation\");case\"TSEmptyBodyFunctionExpression\":return Q$(o,p,h);case\"TSJSDocAllType\":return\"*\";case\"TSJSDocUnknownType\":return\"?\";case\"TSJSDocNullableType\":return[\"?\",h(\"typeAnnotation\")];case\"TSJSDocNonNullableType\":return[\"!\",h(\"typeAnnotation\")];default:throw new Error(`Unknown TypeScript node type: ${JSON.stringify(y.type)}.`)}}};const{hasNewline:f1}=Po,{builders:{join:RR,hardline:O3},utils:{replaceNewlinesWithLiterallines:B3}}=xp,{isLineComment:jR,isBlockComment:OC}=vs,{locStart:pM,locEnd:l7}=s5;var f7={printComment:function(o,p){const h=o.getValue();if(jR(h))return p.originalText.slice(pM(h),l7(h)).trimEnd();if(OC(h)){if(function(Q){const $0=`*${Q.value}*`.split(`\n`);return $0.length>1&&$0.every(j0=>j0.trim()[0]===\"*\")}(h)){const Q=function($0){const j0=$0.value.split(`\n`);return[\"/*\",RR(O3,j0.map((Z0,g1)=>g1===0?Z0.trimEnd():\" \"+(g1<j0.length-1?Z0.trim():Z0.trimStart()))),\"*/\"]}(h);return h.trailing&&!f1(p.originalText,pM(h),{backwards:!0})?[O3,Q]:Q}const y=l7(h),k=p.originalText.slice(y-3,y)===\"*-/\";return[\"/*\",B3(h.value),k?\"*-/\":\"*/\"]}throw new Error(\"Not a comment: \"+JSON.stringify(h))}};const{printString:Av,printNumber:rL}=Po;function Tv(o){return o.toLowerCase()}function nk({pattern:o,flags:p}){return`/${o}/${p=p.split(\"\").sort().join(\"\")}`}var L3={printLiteral:function(o,p){const h=o.getNode();switch(h.type){case\"RegExpLiteral\":return nk(h);case\"BigIntLiteral\":return Tv(h.bigint||h.extra.raw);case\"NumericLiteral\":return rL(h.extra.raw);case\"StringLiteral\":return Av(h.extra.raw,p);case\"NullLiteral\":return\"null\";case\"BooleanLiteral\":return String(h.value);case\"DecimalLiteral\":return rL(h.value)+\"m\";case\"Literal\":{if(h.regex)return nk(h.regex);if(h.bigint)return Tv(h.raw);if(h.decimal)return rL(h.decimal)+\"m\";const{value:y}=h;return typeof y==\"number\"?rL(h.raw):typeof y==\"string\"?Av(h.raw,p):String(y)}}}};const{printDanglingComments:x8}=g0,{hasNewline:xh}=Po,{builders:{join:oD,line:_y,hardline:Em,softline:Td,group:dT,indent:im},utils:{replaceNewlinesWithLiterallines:p7}}=xp,{insertPragma:$k}=N2,{hasFlowShorthandAnnotationComment:rI,hasComment:WN,CommentCheckFlags:Xf,isTheOnlyJsxElementInMarkdown:dM,isBlockComment:Yg,isLineComment:d7,isNextLineEmpty:qN,needsHardlineAfterDanglingComment:wv,rawText:m7,hasIgnoreComment:nL,isCallExpression:sD,isMemberExpression:lU}=vs,{locStart:Z$,locEnd:UR}=s5,{printHtmlBinding:kv,isVueEventBindingExpression:e8}=p2,{printAngular:Nv}=xl,{printJsx:eh,hasJsxIgnoreComment:KS}=Ac,{printFlow:mM}=sU,{printTypescript:EE}=c7,{printOptionalToken:h7,printBindExpressionCallee:Qg,printTypeAnnotation:Tz,adjustClause:wh,printRestSpread:g7}=Gf,{printImportDeclaration:JI,printExportDeclaration:VR,printExportAllDeclaration:$R,printModuleSpecifier:Jh}=LO,{printTernary:xK}=j_,{printTemplateLiteral:M3}=pl,{printArray:iL}=wb,{printObject:SE}=RO,{printClass:bP,printClassMethod:HI,printClassProperty:Zg}=y9,{printProperty:Kk}=nM,{printFunction:aA,printArrowFunction:VO,printMethod:rf,printReturnStatement:FE,printThrowStatement:_7}=ZP,{printCallExpression:bg}=cy,{printVariableDeclarator:y7,printAssignmentExpression:Cg}=w_,{printBinaryishExpression:kh}=Cn,{printSwitchCaseConsequent:Eg}=vv,{printMemberExpression:hM}=Il,{printBlock:D7,printBlockBody:R3}=Y6,{printComment:uD}=f7,{printLiteral:t8}=L3,{printDecorators:fU}=zI;function gM(o,p){const h=m7(o),y=h.slice(1,-1);if(y.includes('\"')||y.includes(\"'\"))return h;const k=p.singleQuote?\"'\":'\"';return k+y+k}var yy={preprocess:DS,print:function(o,p,h,y){const k=function(g1,z1,X1,se){const be=g1.getValue(),Je=z1.semi?\";\":\"\";if(!be)return\"\";if(typeof be==\"string\")return be;for(const Xr of[t8,kv,Nv,eh,mM,EE]){const on=Xr(g1,z1,X1);if(on!==void 0)return on}let ft=[];switch(be.type){case\"JsExpressionRoot\":return X1(\"node\");case\"JsonRoot\":return[X1(\"node\"),Em];case\"File\":return be.program&&be.program.interpreter&&ft.push(X1([\"program\",\"interpreter\"])),ft.push(X1(\"program\")),ft;case\"Program\":return R3(g1,z1,X1);case\"EmptyStatement\":return\"\";case\"ExpressionStatement\":if(be.directive)return[gM(be.expression,z1),Je];if(z1.parser===\"__vue_event_binding\"){const Xr=g1.getParentNode();if(Xr.type===\"Program\"&&Xr.body.length===1&&Xr.body[0]===be)return[X1(\"expression\"),e8(be.expression)?\";\":\"\"]}return[X1(\"expression\"),dM(z1,g1)?\"\":Je];case\"ParenthesizedExpression\":return!WN(be.expression)&&(be.expression.type===\"ObjectExpression\"||be.expression.type===\"ArrayExpression\")?[\"(\",X1(\"expression\"),\")\"]:dT([\"(\",im([Td,X1(\"expression\")]),Td,\")\"]);case\"AssignmentExpression\":return Cg(g1,z1,X1);case\"VariableDeclarator\":return y7(g1,z1,X1);case\"BinaryExpression\":case\"LogicalExpression\":return kh(g1,z1,X1);case\"AssignmentPattern\":return[X1(\"left\"),\" = \",X1(\"right\")];case\"OptionalMemberExpression\":case\"MemberExpression\":return hM(g1,z1,X1);case\"MetaProperty\":return[X1(\"meta\"),\".\",X1(\"property\")];case\"BindExpression\":return be.object&&ft.push(X1(\"object\")),ft.push(dT(im([Td,Qg(g1,z1,X1)]))),ft;case\"Identifier\":return[be.name,h7(g1),Tz(g1,z1,X1)];case\"V8IntrinsicIdentifier\":return[\"%\",be.name];case\"SpreadElement\":case\"SpreadElementPattern\":case\"SpreadProperty\":case\"SpreadPropertyPattern\":case\"RestElement\":return g7(g1,z1,X1);case\"FunctionDeclaration\":case\"FunctionExpression\":return aA(g1,X1,z1,se);case\"ArrowFunctionExpression\":return VO(g1,z1,X1,se);case\"YieldExpression\":return ft.push(\"yield\"),be.delegate&&ft.push(\"*\"),be.argument&&ft.push(\" \",X1(\"argument\")),ft;case\"AwaitExpression\":if(ft.push(\"await\"),be.argument){ft.push(\" \",X1(\"argument\"));const Xr=g1.getParentNode();if(sD(Xr)&&Xr.callee===be||lU(Xr)&&Xr.object===be){ft=[im([Td,...ft]),Td];const on=g1.findAncestor(Wr=>Wr.type===\"AwaitExpression\"||Wr.type===\"BlockStatement\");if(!on||on.type!==\"AwaitExpression\")return dT(ft)}}return ft;case\"ExportDefaultDeclaration\":case\"ExportNamedDeclaration\":return VR(g1,z1,X1);case\"ExportAllDeclaration\":return $R(g1,z1,X1);case\"ImportDeclaration\":return JI(g1,z1,X1);case\"ImportSpecifier\":case\"ExportSpecifier\":case\"ImportNamespaceSpecifier\":case\"ExportNamespaceSpecifier\":case\"ImportDefaultSpecifier\":case\"ExportDefaultSpecifier\":return Jh(g1,z1,X1);case\"ImportAttribute\":return[X1(\"key\"),\": \",X1(\"value\")];case\"Import\":return\"import\";case\"BlockStatement\":case\"StaticBlock\":case\"ClassBody\":return D7(g1,z1,X1);case\"ThrowStatement\":return _7(g1,z1,X1);case\"ReturnStatement\":return FE(g1,z1,X1);case\"NewExpression\":case\"ImportExpression\":case\"OptionalCallExpression\":case\"CallExpression\":return bg(g1,z1,X1);case\"ObjectExpression\":case\"ObjectPattern\":case\"RecordExpression\":return SE(g1,z1,X1);case\"ObjectProperty\":case\"Property\":return be.method||be.kind===\"get\"||be.kind===\"set\"?rf(g1,z1,X1):Kk(g1,z1,X1);case\"ObjectMethod\":return rf(g1,z1,X1);case\"Decorator\":return[\"@\",X1(\"expression\")];case\"ArrayExpression\":case\"ArrayPattern\":case\"TupleExpression\":return iL(g1,z1,X1);case\"SequenceExpression\":{const Xr=g1.getParentNode(0);if(Xr.type===\"ExpressionStatement\"||Xr.type===\"ForStatement\"){const on=[];return g1.each((Wr,Zi)=>{Zi===0?on.push(X1()):on.push(\",\",im([_y,X1()]))},\"expressions\"),dT(on)}return dT(oD([\",\",_y],g1.map(X1,\"expressions\")))}case\"ThisExpression\":return\"this\";case\"Super\":return\"super\";case\"Directive\":return[X1(\"value\"),Je];case\"DirectiveLiteral\":return gM(be,z1);case\"UnaryExpression\":return ft.push(be.operator),/[a-z]$/.test(be.operator)&&ft.push(\" \"),WN(be.argument)?ft.push(dT([\"(\",im([Td,X1(\"argument\")]),Td,\")\"])):ft.push(X1(\"argument\")),ft;case\"UpdateExpression\":return ft.push(X1(\"argument\"),be.operator),be.prefix&&ft.reverse(),ft;case\"ConditionalExpression\":return xK(g1,z1,X1);case\"VariableDeclaration\":{const Xr=g1.map(X1,\"declarations\"),on=g1.getParentNode(),Wr=on.type===\"ForStatement\"||on.type===\"ForInStatement\"||on.type===\"ForOfStatement\",Zi=be.declarations.some(Ao=>Ao.init);let hs;return Xr.length!==1||WN(be.declarations[0])?Xr.length>0&&(hs=im(Xr[0])):hs=Xr[0],ft=[be.declare?\"declare \":\"\",be.kind,hs?[\" \",hs]:\"\",im(Xr.slice(1).map(Ao=>[\",\",Zi&&!Wr?Em:_y,Ao]))],Wr&&on.body!==be||ft.push(Je),dT(ft)}case\"WithStatement\":return dT([\"with (\",X1(\"object\"),\")\",wh(be.body,X1(\"body\"))]);case\"IfStatement\":{const Xr=wh(be.consequent,X1(\"consequent\")),on=dT([\"if (\",dT([im([Td,X1(\"test\")]),Td]),\")\",Xr]);if(ft.push(on),be.alternate){const Wr=WN(be.consequent,Xf.Trailing|Xf.Line)||wv(be),Zi=be.consequent.type===\"BlockStatement\"&&!Wr;ft.push(Zi?\" \":Em),WN(be,Xf.Dangling)&&ft.push(x8(g1,z1,!0),Wr?Em:\" \"),ft.push(\"else\",dT(wh(be.alternate,X1(\"alternate\"),be.alternate.type===\"IfStatement\")))}return ft}case\"ForStatement\":{const Xr=wh(be.body,X1(\"body\")),on=x8(g1,z1,!0),Wr=on?[on,Td]:\"\";return be.init||be.test||be.update?[Wr,dT([\"for (\",dT([im([Td,X1(\"init\"),\";\",_y,X1(\"test\"),\";\",_y,X1(\"update\")]),Td]),\")\",Xr])]:[Wr,dT([\"for (;;)\",Xr])]}case\"WhileStatement\":return dT([\"while (\",dT([im([Td,X1(\"test\")]),Td]),\")\",wh(be.body,X1(\"body\"))]);case\"ForInStatement\":return dT([\"for (\",X1(\"left\"),\" in \",X1(\"right\"),\")\",wh(be.body,X1(\"body\"))]);case\"ForOfStatement\":return dT([\"for\",be.await?\" await\":\"\",\" (\",X1(\"left\"),\" of \",X1(\"right\"),\")\",wh(be.body,X1(\"body\"))]);case\"DoWhileStatement\":{const Xr=wh(be.body,X1(\"body\"));return ft=[dT([\"do\",Xr])],be.body.type===\"BlockStatement\"?ft.push(\" \"):ft.push(Em),ft.push(\"while (\",dT([im([Td,X1(\"test\")]),Td]),\")\",Je),ft}case\"DoExpression\":return[be.async?\"async \":\"\",\"do \",X1(\"body\")];case\"BreakStatement\":return ft.push(\"break\"),be.label&&ft.push(\" \",X1(\"label\")),ft.push(Je),ft;case\"ContinueStatement\":return ft.push(\"continue\"),be.label&&ft.push(\" \",X1(\"label\")),ft.push(Je),ft;case\"LabeledStatement\":return be.body.type===\"EmptyStatement\"?[X1(\"label\"),\":;\"]:[X1(\"label\"),\": \",X1(\"body\")];case\"TryStatement\":return[\"try \",X1(\"block\"),be.handler?[\" \",X1(\"handler\")]:\"\",be.finalizer?[\" finally \",X1(\"finalizer\")]:\"\"];case\"CatchClause\":if(be.param){const Xr=WN(be.param,Wr=>!Yg(Wr)||Wr.leading&&xh(z1.originalText,UR(Wr))||Wr.trailing&&xh(z1.originalText,Z$(Wr),{backwards:!0})),on=X1(\"param\");return[\"catch \",Xr?[\"(\",im([Td,on]),Td,\") \"]:[\"(\",on,\") \"],X1(\"body\")]}return[\"catch \",X1(\"body\")];case\"SwitchStatement\":return[dT([\"switch (\",im([Td,X1(\"discriminant\")]),Td,\")\"]),\" {\",be.cases.length>0?im([Em,oD(Em,g1.map((Xr,on,Wr)=>{const Zi=Xr.getValue();return[X1(),on!==Wr.length-1&&qN(Zi,z1)?Em:\"\"]},\"cases\"))]):\"\",Em,\"}\"];case\"SwitchCase\":{be.test?ft.push(\"case \",X1(\"test\"),\":\"):ft.push(\"default:\");const Xr=be.consequent.filter(on=>on.type!==\"EmptyStatement\");if(Xr.length>0){const on=Eg(g1,z1,X1);ft.push(Xr.length===1&&Xr[0].type===\"BlockStatement\"?[\" \",on]:im([Em,on]))}return ft}case\"DebuggerStatement\":return[\"debugger\",Je];case\"ClassDeclaration\":case\"ClassExpression\":return bP(g1,z1,X1);case\"ClassMethod\":case\"ClassPrivateMethod\":case\"MethodDefinition\":return HI(g1,z1,X1);case\"ClassProperty\":case\"PropertyDefinition\":case\"ClassPrivateProperty\":return Zg(g1,z1,X1);case\"TemplateElement\":return p7(be.value.raw);case\"TemplateLiteral\":return M3(g1,X1,z1);case\"TaggedTemplateExpression\":return[X1(\"tag\"),X1(\"typeParameters\"),X1(\"quasi\")];case\"PrivateIdentifier\":return[\"#\",X1(\"name\")];case\"PrivateName\":return[\"#\",X1(\"id\")];case\"InterpreterDirective\":return ft.push(\"#!\",be.value,Em),qN(be,z1)&&ft.push(Em),ft;case\"PipelineBareFunction\":return X1(\"callee\");case\"PipelineTopicExpression\":return X1(\"expression\");case\"PipelinePrimaryTopicReference\":return\"#\";case\"ArgumentPlaceholder\":return\"?\";case\"ModuleExpression\":{ft.push(\"module {\");const Xr=X1(\"body\");return Xr&&ft.push(im([Em,Xr]),Em),ft.push(\"}\"),ft}default:throw new Error(\"unknown type: \"+JSON.stringify(be.type))}}(o,p,h,y);if(!k)return\"\";const Q=o.getValue(),{type:$0}=Q;if($0===\"ClassMethod\"||$0===\"ClassPrivateMethod\"||$0===\"ClassProperty\"||$0===\"PropertyDefinition\"||$0===\"TSAbstractClassProperty\"||$0===\"ClassPrivateProperty\"||$0===\"MethodDefinition\"||$0===\"TSAbstractMethodDefinition\"||$0===\"TSDeclareMethod\")return k;const j0=fU(o,p,h);if(j0)return dT([...j0,k]);if(!X6(o,p))return y&&y.needsSemi?[\";\",k]:k;const Z0=[y&&y.needsSemi?\";(\":\"(\",k];if(rI(Q)){const[g1]=Q.trailingComments;Z0.push(\" /*\",g1.value.trimStart(),\"*/\"),g1.printed=!0}return Z0.push(\")\"),Z0},embed:Vc,insertPragma:$k,massageAstNode:Su,hasPrettierIgnore:o=>nL(o)||KS(o),willPrintOwnComments:Ik.willPrintOwnComments,canAttachComment:function(o){return o.type&&!Yg(o)&&!d7(o)&&o.type!==\"EmptyStatement\"&&o.type!==\"TemplateElement\"&&o.type!==\"Import\"&&o.type!==\"TSEmptyBodyFunctionExpression\"},printComment:uD,isBlockComment:Yg,handleComments:{avoidAstMutation:!0,ownLine:Ik.handleOwnLineComment,endOfLine:Ik.handleEndOfLineComment,remaining:Ik.handleRemainingComment},getCommentChildNodes:Ik.getCommentChildNodes};const{builders:{hardline:GI,indent:nI,join:z_}}=xp,$O=new Set([\"start\",\"end\",\"extra\",\"loc\",\"comments\",\"leadingComments\",\"trailingComments\",\"innerComments\",\"errors\",\"range\",\"tokens\"]);function Dy(o,p){const{type:h}=o;if(h!==\"ObjectProperty\"||o.key.type!==\"Identifier\"){if(h===\"UnaryExpression\"&&o.operator===\"+\")return p.argument;if(h!==\"ArrayExpression\")return h===\"TemplateLiteral\"?{type:\"StringLiteral\",value:o.quasis[0].value.cooked}:void 0;for(const[y,k]of o.elements.entries())k===null&&p.elements.splice(y,0,{type:\"NullLiteral\"})}else p.key={type:\"StringLiteral\",value:o.key.name}}Dy.ignoredProperties=$O;var ik={preprocess:DS,print:function(o,p,h){const y=o.getValue();switch(y.type){case\"JsonRoot\":return[h(\"node\"),GI];case\"ArrayExpression\":{if(y.elements.length===0)return\"[]\";const k=o.map(()=>o.getValue()===null?\"null\":h(),\"elements\");return[\"[\",nI([GI,z_([\",\",GI],k)]),GI,\"]\"]}case\"ObjectExpression\":return y.properties.length===0?\"{}\":[\"{\",nI([GI,z_([\",\",GI],o.map(h,\"properties\"))]),GI,\"}\"];case\"ObjectProperty\":return[h(\"key\"),\": \",h(\"value\")];case\"UnaryExpression\":return[y.operator===\"+\"?\"\":y.operator,h(\"argument\")];case\"NullLiteral\":return\"null\";case\"BooleanLiteral\":return y.value?\"true\":\"false\";case\"StringLiteral\":case\"NumericLiteral\":return JSON.stringify(y.value);case\"Identifier\":{const k=o.getParentNode();return k&&k.type===\"ObjectProperty\"&&k.key===y?JSON.stringify(y.name):y.name}case\"TemplateLiteral\":return h([\"quasis\",0]);case\"TemplateElement\":return JSON.stringify(y.value.cooked);default:throw new Error(\"unknown type: \"+JSON.stringify(y.type))}},massageAstNode:Dy};const dh=\"Common\";var Sm={bracketSpacing:{since:\"0.0.0\",category:dh,type:\"boolean\",default:!0,description:\"Print spaces between brackets.\",oppositeDescription:\"Do not print spaces between brackets.\"},singleQuote:{since:\"0.0.0\",category:dh,type:\"boolean\",default:!1,description:\"Use single quotes instead of double quotes.\"},proseWrap:{since:\"1.8.2\",category:dh,type:\"choice\",default:[{since:\"1.8.2\",value:!0},{since:\"1.9.0\",value:\"preserve\"}],description:\"How to wrap prose.\",choices:[{since:\"1.9.0\",value:\"always\",description:\"Wrap prose if it exceeds the print width.\"},{since:\"1.9.0\",value:\"never\",description:\"Do not wrap prose.\"},{since:\"1.9.0\",value:\"preserve\",description:\"Wrap prose as-is.\"}]}};const Pv=\"JavaScript\";var eK={arrowParens:{since:\"1.9.0\",category:Pv,type:\"choice\",default:[{since:\"1.9.0\",value:\"avoid\"},{since:\"2.0.0\",value:\"always\"}],description:\"Include parentheses around a sole arrow function parameter.\",choices:[{value:\"always\",description:\"Always include parens. Example: `(x) => x`\"},{value:\"avoid\",description:\"Omit parens when possible. Example: `x => x`\"}]},bracketSpacing:Sm.bracketSpacing,jsxBracketSameLine:{since:\"0.17.0\",category:Pv,type:\"boolean\",default:!1,description:\"Put > on the last line instead of at a new line.\"},semi:{since:\"1.0.0\",category:Pv,type:\"boolean\",default:!0,description:\"Print semicolons.\",oppositeDescription:\"Do not print semicolons, except at the beginning of lines which may need them.\"},singleQuote:Sm.singleQuote,jsxSingleQuote:{since:\"1.15.0\",category:Pv,type:\"boolean\",default:!1,description:\"Use single quotes in JSX.\"},quoteProps:{since:\"1.17.0\",category:Pv,type:\"choice\",default:\"as-needed\",description:\"Change when properties in objects are quoted.\",choices:[{value:\"as-needed\",description:\"Only add quotes around object properties where required.\"},{value:\"consistent\",description:\"If at least one property in an object requires quotes, quote all properties.\"},{value:\"preserve\",description:\"Respect the input use of quotes in object properties.\"}]},trailingComma:{since:\"0.0.0\",category:Pv,type:\"choice\",default:[{since:\"0.0.0\",value:!1},{since:\"0.19.0\",value:\"none\"},{since:\"2.0.0\",value:\"es5\"}],description:\"Print trailing commas wherever possible when multi-line.\",choices:[{value:\"es5\",description:\"Trailing commas where valid in ES5 (objects, arrays, etc.)\"},{value:\"none\",description:\"No trailing commas.\"},{value:\"all\",description:\"Trailing commas wherever possible (including function arguments).\"}]}},aL={name:\"JavaScript\",type:\"programming\",tmScope:\"source.js\",aceMode:\"javascript\",codemirrorMode:\"javascript\",codemirrorMimeType:\"text/javascript\",color:\"#f1e05a\",aliases:[\"js\",\"node\"],extensions:[\".js\",\"._js\",\".bones\",\".cjs\",\".es\",\".es6\",\".frag\",\".gs\",\".jake\",\".jsb\",\".jscad\",\".jsfl\",\".jsm\",\".jss\",\".jsx\",\".mjs\",\".njs\",\".pac\",\".sjs\",\".ssjs\",\".xsjs\",\".xsjslib\"],filenames:[\"Jakefile\"],interpreters:[\"chakra\",\"d8\",\"gjs\",\"js\",\"node\",\"nodejs\",\"qjs\",\"rhino\",\"v8\",\"v8-shell\"],languageId:183},r8={name:\"TypeScript\",type:\"programming\",color:\"#2b7489\",aliases:[\"ts\"],interpreters:[\"deno\",\"ts-node\"],extensions:[\".ts\"],tmScope:\"source.ts\",aceMode:\"typescript\",codemirrorMode:\"javascript\",codemirrorMimeType:\"application/typescript\",languageId:378},v7={name:\"TSX\",type:\"programming\",group:\"TypeScript\",extensions:[\".tsx\"],tmScope:\"source.tsx\",aceMode:\"javascript\",codemirrorMode:\"jsx\",codemirrorMimeType:\"text/jsx\",languageId:94901924},j3={name:\"JSON\",type:\"data\",tmScope:\"source.json\",aceMode:\"json\",codemirrorMode:\"javascript\",codemirrorMimeType:\"application/json\",extensions:[\".json\",\".avsc\",\".geojson\",\".gltf\",\".har\",\".ice\",\".JSON-tmLanguage\",\".jsonl\",\".mcmeta\",\".tfstate\",\".tfstate.backup\",\".topojson\",\".webapp\",\".webmanifest\",\".yy\",\".yyp\"],filenames:[\".arcconfig\",\".htmlhintrc\",\".imgbotconfig\",\".tern-config\",\".tern-project\",\".watchmanconfig\",\"Pipfile.lock\",\"composer.lock\",\"mcmod.info\"],languageId:174},AE={name:\"JSON with Comments\",type:\"data\",group:\"JSON\",tmScope:\"source.js\",aceMode:\"javascript\",codemirrorMode:\"javascript\",codemirrorMimeType:\"text/javascript\",aliases:[\"jsonc\"],extensions:[\".jsonc\",\".sublime-build\",\".sublime-commands\",\".sublime-completions\",\".sublime-keymap\",\".sublime-macro\",\".sublime-menu\",\".sublime-mousemap\",\".sublime-project\",\".sublime-settings\",\".sublime-theme\",\".sublime-workspace\",\".sublime_metrics\",\".sublime_session\"],filenames:[\".babelrc\",\".eslintrc.json\",\".jscsrc\",\".jshintrc\",\".jslintrc\",\"api-extractor.json\",\"devcontainer.json\",\"jsconfig.json\",\"language-configuration.json\",\"tsconfig.json\",\"tslint.json\"],languageId:423},cD={name:\"JSON5\",type:\"data\",extensions:[\".json5\"],tmScope:\"source.js\",aceMode:\"javascript\",codemirrorMode:\"javascript\",codemirrorMimeType:\"application/json\",languageId:175},PV={languages:[Kn(aL,o=>({since:\"0.0.0\",parsers:[\"babel\",\"espree\",\"meriyah\",\"babel-flow\",\"babel-ts\",\"flow\",\"typescript\"],vscodeLanguageIds:[\"javascript\",\"mongo\"],extensions:[...o.extensions.filter(p=>p!==\".jsx\"),\".wxs\"]})),Kn(aL,()=>({name:\"Flow\",since:\"0.0.0\",parsers:[\"flow\",\"babel-flow\"],vscodeLanguageIds:[\"javascript\"],aliases:[],filenames:[],extensions:[\".js.flow\"]})),Kn(aL,()=>({name:\"JSX\",since:\"0.0.0\",parsers:[\"babel\",\"babel-flow\",\"babel-ts\",\"flow\",\"typescript\",\"espree\",\"meriyah\"],vscodeLanguageIds:[\"javascriptreact\"],aliases:void 0,filenames:void 0,extensions:[\".jsx\"],group:\"JavaScript\",interpreters:void 0,tmScope:\"source.js.jsx\",aceMode:\"javascript\",codemirrorMode:\"jsx\",codemirrorMimeType:\"text/jsx\",color:void 0})),Kn(r8,()=>({since:\"1.4.0\",parsers:[\"typescript\",\"babel-ts\"],vscodeLanguageIds:[\"typescript\"]})),Kn(v7,()=>({since:\"1.4.0\",parsers:[\"typescript\",\"babel-ts\"],vscodeLanguageIds:[\"typescriptreact\"]})),Kn(j3,()=>({name:\"JSON.stringify\",since:\"1.13.0\",parsers:[\"json-stringify\"],vscodeLanguageIds:[\"json\"],extensions:[],filenames:[\"package.json\",\"package-lock.json\",\"composer.json\"]})),Kn(j3,o=>({since:\"1.5.0\",parsers:[\"json\"],vscodeLanguageIds:[\"json\"],extensions:o.extensions.filter(p=>p!==\".jsonl\")})),Kn(AE,o=>({since:\"1.5.0\",parsers:[\"json\"],vscodeLanguageIds:[\"jsonc\"],filenames:[...o.filenames,\".eslintrc\"]})),Kn(cD,()=>({since:\"1.13.0\",parsers:[\"json5\"],vscodeLanguageIds:[\"json5\"]}))],options:eK,printers:{estree:yy,\"estree-json\":ik},parsers:{get babel(){return iR.exports.parsers.babel},get\"babel-flow\"(){return iR.exports.parsers[\"babel-flow\"]},get\"babel-ts\"(){return iR.exports.parsers[\"babel-ts\"]},get json(){return iR.exports.parsers.json},get json5(){return iR.exports.parsers.json5},get\"json-stringify\"(){return iR.exports.parsers[\"json-stringify\"]},get __js_expression(){return iR.exports.parsers.__js_expression},get __vue_expression(){return iR.exports.parsers.__vue_expression},get __vue_event_binding(){return iR.exports.parsers.__vue_event_binding},get flow(){return Jy0.exports.parsers.flow},get typescript(){return Hy0.exports.parsers.typescript},get __ng_action(){return aH.exports.parsers.__ng_action},get __ng_binding(){return aH.exports.parsers.__ng_binding},get __ng_interpolation(){return aH.exports.parsers.__ng_interpolation},get __ng_directive(){return aH.exports.parsers.__ng_directive},get espree(){return Gy0.exports.parsers.espree},get meriyah(){return Xy0.exports.parsers.meriyah},get __babel_estree(){return iR.exports.parsers.__babel_estree}}};const{isFrontMatterNode:oL}=Po,Iv=new Set([\"raw\",\"raws\",\"sourceIndex\",\"source\",\"before\",\"after\",\"trailingComma\"]);function KR(o,p,h){if(oL(o)&&o.lang===\"yaml\"&&delete p.value,o.type===\"css-comment\"&&h.type===\"css-root\"&&h.nodes.length>0&&((h.nodes[0]===o||oL(h.nodes[0])&&h.nodes[1]===o)&&(delete p.text,/^\\*\\s*@(format|prettier)\\s*$/.test(o.text))||h.type===\"css-root\"&&l_(h.nodes)===o))return null;if(o.type===\"value-root\"&&delete p.text,o.type!==\"media-query\"&&o.type!==\"media-query-list\"&&o.type!==\"media-feature-expression\"||delete p.value,o.type===\"css-rule\"&&delete p.params,o.type===\"selector-combinator\"&&(p.value=p.value.replace(/\\s+/g,\" \")),o.type===\"media-feature\"&&(p.value=p.value.replace(/ /g,\"\")),(o.type===\"value-word\"&&(o.isColor&&o.isHex||[\"initial\",\"inherit\",\"unset\",\"revert\"].includes(p.value.replace().toLowerCase()))||o.type===\"media-feature\"||o.type===\"selector-root-invalid\"||o.type===\"selector-pseudo\")&&(p.value=p.value.toLowerCase()),o.type===\"css-decl\"&&(p.prop=p.prop.toLowerCase()),o.type!==\"css-atrule\"&&o.type!==\"css-import\"||(p.name=p.name.toLowerCase()),o.type===\"value-number\"&&(p.unit=p.unit.toLowerCase()),o.type!==\"media-feature\"&&o.type!==\"media-keyword\"&&o.type!==\"media-type\"&&o.type!==\"media-unknown\"&&o.type!==\"media-url\"&&o.type!==\"media-value\"&&o.type!==\"selector-attribute\"&&o.type!==\"selector-string\"&&o.type!==\"selector-class\"&&o.type!==\"selector-combinator\"&&o.type!==\"value-string\"||!p.value||(p.value=p.value.replace(/'/g,'\"').replace(/\\\\([^\\dA-Fa-f])/g,\"$1\")),o.type===\"selector-attribute\"&&(p.attribute=p.attribute.trim(),p.namespace&&typeof p.namespace==\"string\"&&(p.namespace=p.namespace.trim(),p.namespace.length===0&&(p.namespace=!0)),p.value&&(p.value=p.value.trim().replace(/^[\"']|[\"']$/g,\"\"),delete p.quoted)),o.type!==\"media-value\"&&o.type!==\"media-type\"&&o.type!==\"value-number\"&&o.type!==\"selector-root-invalid\"&&o.type!==\"selector-class\"&&o.type!==\"selector-combinator\"&&o.type!==\"selector-tag\"||!p.value||(p.value=p.value.replace(/([\\d+.Ee-]+)([A-Za-z]*)/g,(y,k,Q)=>{const $0=Number(k);return Number.isNaN($0)?y:$0+Q.toLowerCase()})),o.type===\"selector-tag\"){const y=o.value.toLowerCase();[\"from\",\"to\"].includes(y)&&(p.value=y)}o.type===\"css-atrule\"&&o.name.toLowerCase()===\"supports\"&&delete p.value,o.type===\"selector-unknown\"&&delete p.value}KR.ignoredProperties=Iv;var TE=KR;const{builders:{hardline:BC,markAsRoot:b7}}=xp;var vy=function(o,p){if(o.lang===\"yaml\"){const h=o.value.trim(),y=h?p(h,{parser:\"yaml\"},{stripTrailingHardline:!0}):\"\";return b7([o.startDelimiter,BC,y,y?BC:\"\",o.endDelimiter])}};const{builders:{hardline:C7}}=xp;var LC=function(o,p,h){const y=o.getValue();if(y.type===\"front-matter\"){const k=vy(y,h);return k?[k,C7]:\"\"}};const E7=new RegExp(\"^(?<startDelimiter>-{3}|\\\\+{3})(?<language>[^\\\\n]*)\\\\n(?:|(?<value>.*?)\\\\n)(?<endDelimiter>\\\\k<startDelimiter>|\\\\.{3})[^\\\\S\\\\n]*(?:\\\\n|$)\",\"s\");var sL=function(o){const p=o.match(E7);if(!p)return{content:o};const{startDelimiter:h,language:y,value:k=\"\",endDelimiter:Q}=p.groups;let $0=y.trim()||\"yaml\";if(h===\"+++\"&&($0=\"toml\"),$0!==\"yaml\"&&h!==Q)return{content:o};const[j0]=p;return{frontMatter:{type:\"front-matter\",lang:$0,value:k,startDelimiter:h,endDelimiter:Q,raw:j0.replace(/\\n$/,\"\")},content:j0.replace(/[^\\n]/g,\" \")+o.slice(j0.length)}},wE={hasPragma:function(o){return N2.hasPragma(sL(o).content)},insertPragma:function(o){const{frontMatter:p,content:h}=sL(o);return(p?p.raw+`\n\n`:\"\")+N2.insertPragma(h)}};const{isNonEmptyArray:Ov}=Po,MC=new Set([\"red\",\"green\",\"blue\",\"alpha\",\"a\",\"rgb\",\"hue\",\"h\",\"saturation\",\"s\",\"lightness\",\"l\",\"whiteness\",\"w\",\"blackness\",\"b\",\"tint\",\"shade\",\"blend\",\"blenda\",\"contrast\",\"hsl\",\"hsla\",\"hwb\",\"hwba\"]);function lD(o,p){const h=Array.isArray(p)?p:[p];let y,k=-1;for(;y=o.getParentNode(++k);)if(h.includes(y.type))return k;return-1}function W_(o,p){const h=lD(o,p);return h===-1?null:o.getParentNode(h)}function zR(o){return o.type===\"value-operator\"&&o.value===\"*\"}function Bv(o){return o.type===\"value-operator\"&&o.value===\"/\"}function fD(o){return o.type===\"value-operator\"&&o.value===\"+\"}function tK(o){return o.type===\"value-operator\"&&o.value===\"-\"}function S7(o){return o.type===\"value-operator\"&&o.value===\"%\"}function pD(o){return o.type===\"value-comma_group\"&&o.groups&&o.groups[1]&&o.groups[1].type===\"value-colon\"}function lN(o){return o.type===\"value-paren_group\"&&o.groups&&o.groups[0]&&pD(o.groups[0])}function by(o){return o&&o.type===\"value-colon\"}var rK={getAncestorCounter:lD,getAncestorNode:W_,getPropOfDeclNode:function(o){const p=W_(o,\"css-decl\");return p&&p.prop&&p.prop.toLowerCase()},hasSCSSInterpolation:function(o){if(Ov(o)){for(let p=o.length-1;p>0;p--)if(o[p].type===\"word\"&&o[p].value===\"{\"&&o[p-1].type===\"word\"&&o[p-1].value.endsWith(\"#\"))return!0}return!1},hasStringOrFunction:function(o){if(Ov(o)){for(let p=0;p<o.length;p++)if(o[p].type===\"string\"||o[p].type===\"func\")return!0}return!1},maybeToLowerCase:function(o){return o.includes(\"$\")||o.includes(\"@\")||o.includes(\"#\")||o.startsWith(\"%\")||o.startsWith(\"--\")||o.startsWith(\":--\")||o.includes(\"(\")&&o.includes(\")\")?o:o.toLowerCase()},insideValueFunctionNode:function(o,p){const h=W_(o,\"value-func\");return h&&h.value&&h.value.toLowerCase()===p},insideICSSRuleNode:function(o){const p=W_(o,\"css-rule\");return p&&p.raws&&p.raws.selector&&(p.raws.selector.startsWith(\":import\")||p.raws.selector.startsWith(\":export\"))},insideAtRuleNode:function(o,p){const h=Array.isArray(p)?p:[p],y=W_(o,\"css-atrule\");return y&&h.includes(y.name.toLowerCase())},insideURLFunctionInImportAtRuleNode:function(o){const p=o.getValue(),h=W_(o,\"css-atrule\");return h&&h.name===\"import\"&&p.groups[0].value===\"url\"&&p.groups.length===2},isKeyframeAtRuleKeywords:function(o,p){const h=W_(o,\"css-atrule\");return h&&h.name&&h.name.toLowerCase().endsWith(\"keyframes\")&&[\"from\",\"to\"].includes(p.toLowerCase())},isWideKeywords:function(o){return[\"initial\",\"inherit\",\"unset\",\"revert\"].includes(o.toLowerCase())},isSCSS:function(o,p){return o===\"less\"||o===\"scss\"?o===\"scss\":/(\\w\\s*:\\s*[^:}]+|#){|@import[^\\n]+(?:url|,)/.test(p)},isSCSSVariable:function(o){return Boolean(o&&o.type===\"word\"&&o.value.startsWith(\"$\"))},isLastNode:function(o,p){const h=o.getParentNode();if(!h)return!1;const{nodes:y}=h;return y&&y.indexOf(p)===y.length-1},isLessParser:function(o){return o.parser===\"css\"||o.parser===\"less\"},isSCSSControlDirectiveNode:function(o){return o.type===\"css-atrule\"&&[\"if\",\"else\",\"for\",\"each\",\"while\"].includes(o.name)},isDetachedRulesetDeclarationNode:function(o){return!!o.selector&&(typeof o.selector==\"string\"&&/^@.+:.*$/.test(o.selector)||o.selector.value&&/^@.+:.*$/.test(o.selector.value))},isRelationalOperatorNode:function(o){return o.type===\"value-word\"&&[\"<\",\">\",\"<=\",\">=\"].includes(o.value)},isEqualityOperatorNode:function(o){return o.type===\"value-word\"&&[\"==\",\"!=\"].includes(o.value)},isMultiplicationNode:zR,isDivisionNode:Bv,isAdditionNode:fD,isSubtractionNode:tK,isModuloNode:S7,isMathOperatorNode:function(o){return zR(o)||Bv(o)||fD(o)||tK(o)||S7(o)},isEachKeywordNode:function(o){return o.type===\"value-word\"&&o.value===\"in\"},isForKeywordNode:function(o){return o.type===\"value-word\"&&[\"from\",\"through\",\"end\"].includes(o.value)},isURLFunctionNode:function(o){return o.type===\"value-func\"&&o.value.toLowerCase()===\"url\"},isIfElseKeywordNode:function(o){return o.type===\"value-word\"&&[\"and\",\"or\",\"not\"].includes(o.value)},hasComposesNode:function(o){return o.value&&o.value.type===\"value-root\"&&o.value.group&&o.value.group.type===\"value-value\"&&o.prop.toLowerCase()===\"composes\"},hasParensAroundNode:function(o){return o.value&&o.value.group&&o.value.group.group&&o.value.group.group.type===\"value-paren_group\"&&o.value.group.group.open!==null&&o.value.group.group.close!==null},hasEmptyRawBefore:function(o){return o.raws&&o.raws.before===\"\"},isSCSSNestedPropertyNode:function(o){return!!o.selector&&o.selector.replace(/\\/\\*.*?\\*\\//,\"\").replace(/\\/\\/.*?\\n/,\"\").trim().endsWith(\":\")},isDetachedRulesetCallNode:function(o){return o.raws&&o.raws.params&&/^\\(\\s*\\)$/.test(o.raws.params)},isTemplatePlaceholderNode:function(o){return o.name.startsWith(\"prettier-placeholder\")},isTemplatePropNode:function(o){return o.prop.startsWith(\"@prettier-placeholder\")},isPostcssSimpleVarNode:function(o,p){return o.value===\"$$\"&&o.type===\"value-func\"&&p&&p.type===\"value-word\"&&!p.raws.before},isKeyValuePairNode:pD,isKeyValuePairInParenGroupNode:lN,isKeyInValuePairNode:function(o,p){if(!pD(p))return!1;const{groups:h}=p,y=h.indexOf(o);return y!==-1&&by(h[y+1])},isSCSSMapItemNode:function(o){const p=o.getValue();if(p.groups.length===0)return!1;const h=o.getParentNode(1);if(!(lN(p)||h&&lN(h)))return!1;const y=W_(o,\"css-decl\");return!!(y&&y.prop&&y.prop.startsWith(\"$\"))||!!lN(h)||h.type===\"value-func\"},isInlineValueCommentNode:function(o){return o.type===\"value-comment\"&&o.inline},isHashNode:function(o){return o.type===\"value-word\"&&o.value===\"#\"},isLeftCurlyBraceNode:function(o){return o.type===\"value-word\"&&o.value===\"{\"},isRightCurlyBraceNode:function(o){return o.type===\"value-word\"&&o.value===\"}\"},isWordNode:function(o){return[\"value-word\",\"value-atword\"].includes(o.type)},isColonNode:by,isMediaAndSupportsKeywords:function(o){return o.value&&[\"not\",\"and\",\"or\"].includes(o.value.toLowerCase())},isColorAdjusterFuncNode:function(o){return o.type===\"value-func\"&&MC.has(o.value.toLowerCase())},lastLineHasInlineComment:function(o){return/\\/\\//.test(o.split(/[\\n\\r]/).pop())},stringifyNode:function o(p){if(p.groups)return(p.open&&p.open.value?p.open.value:\"\")+p.groups.reduce((k,Q,$0)=>k+o(Q)+(p.groups[0].type===\"comma_group\"&&$0!==p.groups.length-1?\",\":\"\"),\"\")+(p.close&&p.close.value?p.close.value:\"\");const h=p.raws&&p.raws.before?p.raws.before:\"\",y=p.raws&&p.raws.quote?p.raws.quote:\"\";return h+y+(p.type===\"atword\"?\"@\":\"\")+(p.value?p.value:\"\")+y+(p.unit?p.unit:\"\")+(p.group?o(p.group):\"\")+(p.raws&&p.raws.after?p.raws.after:\"\")},isAtWordPlaceholderNode:function(o){return o&&o.type===\"value-atword\"&&o.value.startsWith(\"prettier-placeholder-\")}},dD=function(o,p){let h=0;for(let y=0;y<o.line-1;++y)h=p.indexOf(`\n`,h)+1;return h+o.column};const{getLast:U3,skipEverythingButNewLine:F7}=Po;function Lv(o,p){return typeof o.sourceIndex==\"number\"?o.sourceIndex:o.source?dD(o.source.start,p)-1:null}function IV(o,p){if(o.type===\"css-comment\"&&o.inline)return F7(p,o.source.startOffset);const h=o.nodes&&U3(o.nodes);return h&&o.source&&!o.source.end&&(o=h),o.source&&o.source.end?dD(o.source.end,p):null}function Hh(o,p,h){o.source&&(o.source.startOffset=Lv(o,h)+p,o.source.endOffset=IV(o,h)+p);for(const y in o){const k=o[y];y!==\"source\"&&k&&typeof k==\"object\"&&Hh(k,p,h)}}function mD(o){let p=o.source.startOffset;return typeof o.prop==\"string\"&&(p+=o.prop.length),o.type===\"css-atrule\"&&typeof o.name==\"string\"&&(p+=1+o.name.length+o.raws.afterName.match(/^\\s*:?\\s*/)[0].length),o.type!==\"css-atrule\"&&o.raws&&typeof o.raws.between==\"string\"&&(p+=o.raws.between.length),p}var KO={locStart:function(o){return o.source.startOffset},locEnd:function(o){return o.source.endOffset},calculateLoc:function o(p,h){p.source&&(p.source.startOffset=Lv(p,h),p.source.endOffset=IV(p,h));for(const y in p){const k=p[y];y!==\"source\"&&k&&typeof k==\"object\"&&(k.type===\"value-root\"||k.type===\"value-unknown\"?Hh(k,mD(p),k.text||k.value):o(k,h))}},replaceQuotesInInlineComments:function(o){let p,h=\"initial\",y=\"initial\",k=!1;const Q=[];for(let $0=0;$0<o.length;$0++){const j0=o[$0];switch(h){case\"initial\":if(j0===\"'\"){h=\"single-quotes\";continue}if(j0==='\"'){h=\"double-quotes\";continue}if((j0===\"u\"||j0===\"U\")&&o.slice($0,$0+4).toLowerCase()===\"url(\"){h=\"url\",$0+=3;continue}if(j0===\"*\"&&o[$0-1]===\"/\"){h=\"comment-block\";continue}if(j0===\"/\"&&o[$0-1]===\"/\"){h=\"comment-inline\",p=$0-1;continue}continue;case\"single-quotes\":if(j0===\"'\"&&o[$0-1]!==\"\\\\\"&&(h=y,y=\"initial\"),j0===`\n`||j0===\"\\r\")return o;continue;case\"double-quotes\":if(j0==='\"'&&o[$0-1]!==\"\\\\\"&&(h=y,y=\"initial\"),j0===`\n`||j0===\"\\r\")return o;continue;case\"url\":if(j0===\")\"&&(h=\"initial\"),j0===`\n`||j0===\"\\r\")return o;if(j0===\"'\"){h=\"single-quotes\",y=\"url\";continue}if(j0==='\"'){h=\"double-quotes\",y=\"url\";continue}continue;case\"comment-block\":j0===\"/\"&&o[$0-1]===\"*\"&&(h=\"initial\");continue;case\"comment-inline\":j0!=='\"'&&j0!==\"'\"&&j0!==\"*\"||(k=!0),j0!==`\n`&&j0!==\"\\r\"||(k&&Q.push([p,$0]),h=\"initial\",k=!1);continue}}for(const[$0,j0]of Q)o=o.slice(0,$0)+o.slice($0,j0).replace(/[\"'*]/g,\" \")+o.slice(j0);return o}};const{printNumber:x2,printString:iI,hasNewline:pU,isFrontMatterNode:H5,isNextLineEmpty:V3,isNonEmptyArray:Mv}=Po,{builders:{join:Sg,line:M2,hardline:R2,softline:Fm,group:th,fill:OV,indent:Am,dedent:sS,ifBreak:nd,breakParent:Tm},utils:{removeLines:nK,getDocParts:Rv}}=xp,{insertPragma:$3}=wE,{getAncestorNode:CP,getPropOfDeclNode:dU,maybeToLowerCase:zk,insideValueFunctionNode:aI,insideICSSRuleNode:JN,insideAtRuleNode:K3,insideURLFunctionInImportAtRuleNode:z3,isKeyframeAtRuleKeywords:n9,isWideKeywords:jv,isSCSS:Uv,isLastNode:oI,isLessParser:iK,isSCSSControlDirectiveNode:Vv,isDetachedRulesetDeclarationNode:A7,isRelationalOperatorNode:T7,isEqualityOperatorNode:w7,isMultiplicationNode:$v,isDivisionNode:uL,isAdditionNode:Fg,isSubtractionNode:sI,isMathOperatorNode:zO,isEachKeywordNode:WO,isForKeywordNode:BV,isURLFunctionNode:q_,isIfElseKeywordNode:Kv,hasComposesNode:qO,hasParensAroundNode:k7,hasEmptyRawBefore:fN,isKeyValuePairNode:RC,isKeyInValuePairNode:zv,isDetachedRulesetCallNode:kE,isTemplatePlaceholderNode:N7,isTemplatePropNode:NE,isPostcssSimpleVarNode:ak,isSCSSMapItemNode:P7,isInlineValueCommentNode:jC,isHashNode:Cy,isLeftCurlyBraceNode:_M,isRightCurlyBraceNode:EP,isWordNode:uI,isColonNode:yM,isMediaAndSupportsKeywords:DM,isColorAdjusterFuncNode:I7,lastLineHasInlineComment:O7,isAtWordPlaceholderNode:hD}=rK,{locStart:Gh,locEnd:Xh}=KO;function mU(o){return o.trailingComma===\"es5\"||o.trailingComma===\"all\"}function cI(o,p,h){const y=[];return o.each((k,Q,$0)=>{const j0=$0[Q-1];if(j0&&j0.type===\"css-comment\"&&j0.text.trim()===\"prettier-ignore\"){const Z0=k.getValue();y.push(p.originalText.slice(Gh(Z0),Xh(Z0)))}else y.push(h());Q!==$0.length-1&&($0[Q+1].type===\"css-comment\"&&!pU(p.originalText,Gh($0[Q+1]),{backwards:!0})&&!H5($0[Q])||$0[Q+1].type===\"css-atrule\"&&$0[Q+1].name===\"else\"&&$0[Q].type!==\"css-comment\"?y.push(\" \"):(y.push(p.__isHTMLStyleAttribute?M2:R2),V3(p.originalText,k.getValue(),Xh)&&!H5($0[Q])&&y.push(R2)))},\"nodes\"),y}const K9=/([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*\\1/gs,ke=new RegExp(K9.source+`|(${/[$@]?[A-Z_a-z\\u0080-\\uFFFF][\\w\\u0080-\\uFFFF-]*/g.source})?(${/(?:\\d*\\.\\d+|\\d+\\.?)(?:[Ee][+-]?\\d+)?/g.source})(${/[A-Za-z]+/g.source})?`,\"g\");function z9(o,p){return o.replace(K9,h=>iI(h,p))}function aK(o,p){const h=p.singleQuote?\"'\":'\"';return o.includes('\"')||o.includes(\"'\")?o:h+o+h}function lI(o){return o.replace(ke,(p,h,y,k,Q)=>!y&&k?J_(k)+zk(Q||\"\"):p)}function J_(o){return x2(o).replace(/\\.0(?=$|e)/,\"\")}var W3={print:function(o,p,h){const y=o.getValue();if(!y)return\"\";if(typeof y==\"string\")return y;switch(y.type){case\"front-matter\":return[y.raw,R2];case\"css-root\":{const k=cI(o,p,h),Q=y.raws.after.trim();return[k,Q?` ${Q}`:\"\",Rv(k).length>0?R2:\"\"]}case\"css-comment\":{const k=y.inline||y.raws.inline,Q=p.originalText.slice(Gh(y),Xh(y));return k?Q.trimEnd():Q}case\"css-rule\":return[h(\"selector\"),y.important?\" !important\":\"\",y.nodes?[y.selector&&y.selector.type===\"selector-unknown\"&&O7(y.selector.value)?M2:\" \",\"{\",y.nodes.length>0?Am([R2,cI(o,p,h)]):\"\",R2,\"}\",A7(y)?\";\":\"\"]:\";\"];case\"css-decl\":{const k=o.getParentNode(),{between:Q}=y.raws,$0=Q.trim(),j0=$0===\":\";let Z0=qO(y)?nK(h(\"value\")):h(\"value\");return!j0&&O7($0)&&(Z0=Am([R2,sS(Z0)])),[y.raws.before.replace(/[\\s;]/g,\"\"),JN(o)?y.prop:zk(y.prop),$0.startsWith(\"//\")?\" \":\"\",$0,y.extend?\"\":\" \",iK(p)&&y.extend&&y.selector?[\"extend(\",h(\"selector\"),\")\"]:\"\",Z0,y.raws.important?y.raws.important.replace(/\\s*!\\s*important/i,\" !important\"):y.important?\" !important\":\"\",y.raws.scssDefault?y.raws.scssDefault.replace(/\\s*!default/i,\" !default\"):y.scssDefault?\" !default\":\"\",y.raws.scssGlobal?y.raws.scssGlobal.replace(/\\s*!global/i,\" !global\"):y.scssGlobal?\" !global\":\"\",y.nodes?[\" {\",Am([Fm,cI(o,p,h)]),Fm,\"}\"]:NE(y)&&!k.raws.semicolon&&p.originalText[Xh(y)-1]!==\";\"?\"\":p.__isHTMLStyleAttribute&&oI(o,y)?nd(\";\"):\";\"]}case\"css-atrule\":{const k=o.getParentNode(),Q=N7(y)&&!k.raws.semicolon&&p.originalText[Xh(y)-1]!==\";\";if(iK(p)){if(y.mixin)return[h(\"selector\"),y.important?\" !important\":\"\",Q?\"\":\";\"];if(y.function)return[y.name,h(\"params\"),Q?\"\":\";\"];if(y.variable)return[\"@\",y.name,\": \",y.value?h(\"value\"):\"\",y.raws.between.trim()?y.raws.between.trim()+\" \":\"\",y.nodes?[\"{\",Am([y.nodes.length>0?Fm:\"\",cI(o,p,h)]),Fm,\"}\"]:\"\",Q?\"\":\";\"]}return[\"@\",kE(y)||y.name.endsWith(\":\")?y.name:zk(y.name),y.params?[kE(y)?\"\":N7(y)?y.raws.afterName===\"\"?\"\":y.name.endsWith(\":\")?\" \":/^\\s*\\n\\s*\\n/.test(y.raws.afterName)?[R2,R2]:/^\\s*\\n/.test(y.raws.afterName)?R2:\" \":\" \",h(\"params\")]:\"\",y.selector?Am([\" \",h(\"selector\")]):\"\",y.value?th([\" \",h(\"value\"),Vv(y)?k7(y)?\" \":M2:\"\"]):y.name===\"else\"?\" \":\"\",y.nodes?[Vv(y)?\"\":y.selector&&!y.selector.nodes&&typeof y.selector.value==\"string\"&&O7(y.selector.value)||!y.selector&&typeof y.params==\"string\"&&O7(y.params)?M2:\" \",\"{\",Am([y.nodes.length>0?Fm:\"\",cI(o,p,h)]),Fm,\"}\"]:Q?\"\":\";\"]}case\"media-query-list\":{const k=[];return o.each(Q=>{const $0=Q.getValue();$0.type===\"media-query\"&&$0.value===\"\"||k.push(h())},\"nodes\"),th(Am(Sg(M2,k)))}case\"media-query\":return[Sg(\" \",o.map(h,\"nodes\")),oI(o,y)?\"\":\",\"];case\"media-type\":return lI(z9(y.value,p));case\"media-feature-expression\":return y.nodes?[\"(\",...o.map(h,\"nodes\"),\")\"]:y.value;case\"media-feature\":return zk(z9(y.value.replace(/ +/g,\" \"),p));case\"media-colon\":return[y.value,\" \"];case\"media-value\":return lI(z9(y.value,p));case\"media-keyword\":return z9(y.value,p);case\"media-url\":return z9(y.value.replace(/^url\\(\\s+/gi,\"url(\").replace(/\\s+\\)$/g,\")\"),p);case\"media-unknown\":return y.value;case\"selector-root\":return th([K3(o,\"custom-selector\")?[CP(o,\"css-atrule\").customSelector,M2]:\"\",Sg([\",\",K3(o,[\"extend\",\"custom-selector\",\"nest\"])?M2:R2],o.map(h,\"nodes\"))]);case\"selector-selector\":return th(Am(o.map(h,\"nodes\")));case\"selector-comment\":return y.value;case\"selector-string\":return z9(y.value,p);case\"selector-tag\":{const k=o.getParentNode(),Q=k&&k.nodes.indexOf(y),$0=Q&&k.nodes[Q-1];return[y.namespace?[y.namespace===!0?\"\":y.namespace.trim(),\"|\"]:\"\",$0.type===\"selector-nesting\"?y.value:lI(n9(o,y.value)?y.value.toLowerCase():y.value)]}case\"selector-id\":return[\"#\",y.value];case\"selector-class\":return[\".\",lI(z9(y.value,p))];case\"selector-attribute\":return[\"[\",y.namespace?[y.namespace===!0?\"\":y.namespace.trim(),\"|\"]:\"\",y.attribute.trim(),y.operator?y.operator:\"\",y.value?aK(z9(y.value.trim(),p),p):\"\",y.insensitive?\" i\":\"\",\"]\"];case\"selector-combinator\":if(y.value===\"+\"||y.value===\">\"||y.value===\"~\"||y.value===\">>>\"){const k=o.getParentNode();return[k.type===\"selector-selector\"&&k.nodes[0]===y?\"\":M2,y.value,oI(o,y)?\"\":\" \"]}return[y.value.trim().startsWith(\"(\")?M2:\"\",lI(z9(y.value.trim(),p))||M2];case\"selector-universal\":return[y.namespace?[y.namespace===!0?\"\":y.namespace.trim(),\"|\"]:\"\",y.value];case\"selector-pseudo\":return[zk(y.value),Mv(y.nodes)?[\"(\",Sg(\", \",o.map(h,\"nodes\")),\")\"]:\"\"];case\"selector-nesting\":return y.value;case\"selector-unknown\":{const k=CP(o,\"css-rule\");if(k&&k.isSCSSNesterProperty)return lI(z9(zk(y.value),p));const Q=o.getParentNode();if(Q.raws&&Q.raws.selector){const j0=Gh(Q),Z0=j0+Q.raws.selector.length;return p.originalText.slice(j0,Z0).trim()}const $0=o.getParentNode(1);if(Q.type===\"value-paren_group\"&&$0&&$0.type===\"value-func\"&&$0.value===\"selector\"){const j0=Gh(Q.open)+1,Z0=Xh(Q.close)-1,g1=p.originalText.slice(j0,Z0).trim();return O7(g1)?[Tm,g1]:g1}return y.value}case\"value-value\":case\"value-root\":return h(\"group\");case\"value-comment\":return p.originalText.slice(Gh(y),Xh(y));case\"value-comma_group\":{const k=o.getParentNode(),Q=o.getParentNode(1),$0=dU(o),j0=$0&&k.type===\"value-value\"&&($0===\"grid\"||$0.startsWith(\"grid-template\")),Z0=CP(o,\"css-atrule\"),g1=Z0&&Vv(Z0),z1=y.groups.some(Xr=>jC(Xr)),X1=o.map(h,\"groups\"),se=[],be=aI(o,\"url\");let Je=!1,ft=!1;for(let Xr=0;Xr<y.groups.length;++Xr){se.push(X1[Xr]);const on=y.groups[Xr-1],Wr=y.groups[Xr],Zi=y.groups[Xr+1],hs=y.groups[Xr+2];if(be){(Zi&&Fg(Zi)||Fg(Wr))&&se.push(\" \");continue}if(!Zi||Wr.type===\"value-word\"&&Wr.value.endsWith(\"-\")&&hD(Zi))continue;const Ao=Wr.type===\"value-string\"&&Wr.value.startsWith(\"#{\"),Hs=Je&&Zi.type===\"value-string\"&&Zi.value.endsWith(\"}\");if(Ao||Hs){Je=!Je;continue}if(Je||yM(Wr)||yM(Zi)||Wr.type===\"value-atword\"&&Wr.value===\"\"||Wr.value===\"~\"||Wr.value&&Wr.value.includes(\"\\\\\")&&Zi&&Zi.type!==\"value-comment\"||on&&on.value&&on.value.indexOf(\"\\\\\")===on.value.length-1&&Wr.type===\"value-operator\"&&Wr.value===\"/\"||Wr.value===\"\\\\\"||ak(Wr,Zi)||Cy(Wr)||_M(Wr)||EP(Zi)||_M(Zi)&&fN(Zi)||EP(Wr)&&fN(Zi)||Wr.value===\"--\"&&Cy(Zi))continue;const Oc=zO(Wr),Nd=zO(Zi);if((Oc&&Cy(Zi)||Nd&&EP(Wr))&&fN(Zi)||!on&&uL(Wr)||aI(o,\"calc\")&&(Fg(Wr)||Fg(Zi)||sI(Wr)||sI(Zi))&&fN(Zi))continue;const qd=(Fg(Wr)||sI(Wr))&&Xr===0&&(Zi.type===\"value-number\"||Zi.isHex)&&Q&&I7(Q)&&!fN(Zi),Hl=hs&&hs.type===\"value-func\"||hs&&uI(hs)||Wr.type===\"value-func\"||uI(Wr),gf=Zi.type===\"value-func\"||uI(Zi)||on&&on.type===\"value-func\"||on&&uI(on);if($v(Zi)||$v(Wr)||aI(o,\"calc\")||qd||!(uL(Zi)&&!Hl||uL(Wr)&&!gf||Fg(Zi)&&!Hl||Fg(Wr)&&!gf||sI(Zi)||sI(Wr))||!(fN(Zi)||Oc&&(!on||on&&zO(on))))if(jC(Wr)){if(k.type===\"value-paren_group\"){se.push(sS(R2));continue}se.push(R2)}else g1&&(w7(Zi)||T7(Zi)||Kv(Zi)||WO(Wr)||BV(Wr))||Z0&&Z0.name.toLowerCase()===\"namespace\"?se.push(\" \"):j0?Wr.source&&Zi.source&&Wr.source.start.line!==Zi.source.start.line?(se.push(R2),ft=!0):se.push(\" \"):Nd?se.push(\" \"):Zi&&Zi.value===\"...\"||hD(Wr)&&hD(Zi)&&Xh(Wr)===Gh(Zi)||se.push(M2)}return z1&&se.push(Tm),ft&&se.unshift(R2),g1?th(Am(se)):z3(o)?th(OV(se)):th(Am(OV(se)))}case\"value-paren_group\":{const k=o.getParentNode();if(k&&q_(k)&&(y.groups.length===1||y.groups.length>0&&y.groups[0].type===\"value-comma_group\"&&y.groups[0].groups.length>0&&y.groups[0].groups[0].type===\"value-word\"&&y.groups[0].groups[0].value.startsWith(\"data:\")))return[y.open?h(\"open\"):\"\",Sg(\",\",o.map(h,\"groups\")),y.close?h(\"close\"):\"\"];if(!y.open){const z1=o.map(h,\"groups\"),X1=[];for(let se=0;se<z1.length;se++)se!==0&&X1.push([\",\",M2]),X1.push(z1[se]);return th(Am(OV(X1)))}const Q=P7(o),$0=l_(y.groups),j0=$0&&$0.type===\"value-comment\",Z0=zv(y,k),g1=th([y.open?h(\"open\"):\"\",Am([Fm,Sg([\",\",M2],o.map(z1=>{const X1=z1.getValue(),se=h();if(RC(X1)&&X1.type===\"value-comma_group\"&&X1.groups&&X1.groups[0].type!==\"value-paren_group\"&&X1.groups[2]&&X1.groups[2].type===\"value-paren_group\"){const be=Rv(se.contents.contents);return be[1]=th(be[1]),th(sS(se))}return se},\"groups\"))]),nd(!j0&&Uv(p.parser,p.originalText)&&Q&&mU(p)?\",\":\"\"),Fm,y.close?h(\"close\"):\"\"],{shouldBreak:Q&&!Z0});return Z0?sS(g1):g1}case\"value-func\":return[y.value,K3(o,\"supports\")&&DM(y)?\" \":\"\",h(\"group\")];case\"value-paren\":return y.value;case\"value-number\":return[J_(y.value),zk(y.unit)];case\"value-operator\":return y.value;case\"value-word\":return y.isColor&&y.isHex||jv(y.value)?y.value.toLowerCase():y.value;case\"value-colon\":{const k=o.getParentNode(),Q=k&&k.groups.indexOf(y),$0=Q&&k.groups[Q-1];return[y.value,$0&&typeof $0.value==\"string\"&&l_($0.value)===\"\\\\\"||aI(o,\"url\")?\"\":M2]}case\"value-comma\":return[y.value,\" \"];case\"value-string\":return iI(y.raws.quote+y.value+y.raws.quote,p);case\"value-atword\":return[\"@\",y.value];case\"value-unicode-range\":case\"value-unknown\":return y.value;default:throw new Error(`Unknown postcss type ${JSON.stringify(y.type)}`)}},embed:LC,insertPragma:$3,massageAstNode:TE},WR={singleQuote:Sm.singleQuote},hU={name:\"PostCSS\",type:\"markup\",tmScope:\"source.postcss\",group:\"CSS\",extensions:[\".pcss\",\".postcss\"],aceMode:\"text\",languageId:262764437},oK={name:\"Less\",type:\"markup\",color:\"#1d365d\",extensions:[\".less\"],tmScope:\"source.css.less\",aceMode:\"less\",codemirrorMode:\"css\",codemirrorMimeType:\"text/css\",languageId:198},qR={name:\"SCSS\",type:\"markup\",color:\"#c6538c\",tmScope:\"source.css.scss\",aceMode:\"scss\",codemirrorMode:\"css\",codemirrorMimeType:\"text/x-scss\",extensions:[\".scss\"],languageId:329},cw={languages:[Kn({name:\"CSS\",type:\"markup\",tmScope:\"source.css\",aceMode:\"css\",codemirrorMode:\"css\",codemirrorMimeType:\"text/css\",color:\"#563d7c\",extensions:[\".css\"],languageId:50},o=>({since:\"1.4.0\",parsers:[\"css\"],vscodeLanguageIds:[\"css\"],extensions:[...o.extensions,\".wxss\"]})),Kn(hU,()=>({since:\"1.4.0\",parsers:[\"css\"],vscodeLanguageIds:[\"postcss\"]})),Kn(oK,()=>({since:\"1.4.0\",parsers:[\"less\"],vscodeLanguageIds:[\"less\"]})),Kn(qR,()=>({since:\"1.4.0\",parsers:[\"scss\"],vscodeLanguageIds:[\"scss\"]}))],options:WR,printers:{postcss:W3},parsers:{get css(){return HZ.exports.parsers.css},get less(){return HZ.exports.parsers.less},get scss(){return HZ.exports.parsers.scss}}},lw={locStart:function(o){return o.loc.start.offset},locEnd:function(o){return o.loc.end.offset}};function cL(o,p){if(o.type===\"TextNode\"){const h=o.chars.trim();if(!h)return null;p.chars=h.replace(/[\\t\\n\\f\\r ]+/g,\" \")}o.type===\"AttrNode\"&&o.name.toLowerCase()===\"class\"&&delete p.value}cL.ignoredProperties=new Set([\"loc\",\"selfClosing\"]);var vM=cL;const B7=new Set([\"area\",\"base\",\"basefont\",\"bgsound\",\"br\",\"col\",\"command\",\"embed\",\"frame\",\"hr\",\"image\",\"img\",\"input\",\"isindex\",\"keygen\",\"link\",\"menuitem\",\"meta\",\"nextid\",\"param\",\"source\",\"track\",\"wbr\"]);function gU(o){return x_(o,[\"TextNode\"])&&!/\\S/.test(o.chars)}function x_(o,p){return o&&p.includes(o.type)}function gD(o,p){return x_(o.getParentNode(0),p)}function Nh(o,p){const h=o.getValue(),y=o.getParentNode(0)||{},k=y.children||y.body||y.parts||[],Q=k.indexOf(h);return Q!==-1&&k[Q+p]}function _U(o,p=1){return Nh(o,-p)}function e_(o){return Nh(o,1)}function ww(o){return x_(o,[\"MustacheCommentStatement\"])&&typeof o.value==\"string\"&&o.value.trim()===\"prettier-ignore\"}var n8={getNextNode:e_,getPreviousNode:_U,hasPrettierIgnore:function(o){const p=o.getValue(),h=_U(o,2);return ww(p)||ww(h)},isLastNodeOfSiblings:function(o){const p=o.getValue(),h=o.getParentNode(0);return!(!gD(o,[\"ElementNode\"])||l_(h.children)!==p)||!(!gD(o,[\"Block\"])||l_(h.body)!==p)},isNextNodeOfSomeType:function(o,p){return x_(e_(o),p)},isNodeOfSomeType:x_,isParentOfSomeType:gD,isPreviousNodeOfSomeType:function(o,p){return x_(_U(o),p)},isVoid:function(o){return function(p){return x_(p,[\"ElementNode\"])&&typeof p.tag==\"string\"&&(function(h){return h.toUpperCase()===h}(p.tag[0])||p.tag.includes(\".\"))}(o)&&o.children.every(p=>gU(p))||B7.has(o.tag)},isWhitespaceNode:gU};const{builders:{dedent:q3,fill:UC,group:W9,hardline:fI,ifBreak:pI,indent:C2,join:J3,line:zp,softline:mh,literalline:JR},utils:{getDocParts:wz,replaceEndOfLineWith:JO}}=xp,{isNonEmptyArray:yU}=Po,{locStart:Ag,locEnd:bM}=lw,{getNextNode:L7,getPreviousNode:kz,hasPrettierIgnore:i8,isLastNodeOfSiblings:M7,isNextNodeOfSomeType:HN,isNodeOfSomeType:HO,isParentOfSomeType:HR,isPreviousNodeOfSomeType:lL,isVoid:Wv,isWhitespaceNode:qv}=n8;function H3(o,p){return Ag(o)-Ag(p)}function Ey(o,p,h){const y=o.getValue().children.every(k=>qv(k));return p.htmlWhitespaceSensitivity===\"ignore\"&&y?\"\":o.map((k,Q)=>{const $0=h();return Q===0&&p.htmlWhitespaceSensitivity===\"ignore\"?[mh,$0]:$0},\"children\")}function GR(o){return Wv(o)?pI([mh,\"/>\"],[\" />\",mh]):pI([mh,\">\"],\">\")}function _D(o){return[o.escaped===!1?\"{{{\":\"{{\",o.strip&&o.strip.open?\"~\":\"\"]}function Ph(o){const p=o.escaped===!1?\"}}}\":\"}}\";return[o.strip&&o.strip.close?\"~\":\"\",p]}function am(o){return[_D(o),o.closeStrip.open?\"~\":\"\",\"/\"]}function yD(o){const p=Ph(o);return[o.closeStrip.close?\"~\":\"\",p]}function R7(o){return[_D(o),o.inverseStrip.open?\"~\":\"\"]}function Sy(o){const p=Ph(o);return[o.inverseStrip.close?\"~\":\"\",p]}function j7(o,p){const h=o.getValue(),y=function(j0){return[_D(j0),j0.openStrip.open?\"~\":\"\",\"#\"]}(h),k=function(j0){const Z0=Ph(j0);return[j0.openStrip.close?\"~\":\"\",Z0]}(h),Q=[Yv(o,p)],$0=p5(o,p);if($0&&Q.push(zp,$0),yU(h.program.blockParams)){const j0=hh(h.program);Q.push(zp,j0)}return W9([y,C2(Q),mh,k])}function U7(o,p){return[p.htmlWhitespaceSensitivity===\"ignore\"?fI:\"\",R7(o),\"else\",Sy(o)]}function DU(o,p){const h=o.getParentNode(1);return[R7(h),\"else if \",p5(o,p),Sy(h)]}function XR(o,p,h){const y=o.getValue();return h.htmlWhitespaceSensitivity===\"ignore\"?[Jv(y)?mh:fI,am(y),p(\"path\"),yD(y)]:[am(y),p(\"path\"),yD(y)]}function Jv(o){return HO(o,[\"BlockStatement\"])&&o.program.body.every(p=>qv(p))}function V7(o){return HO(o,[\"BlockStatement\"])&&o.inverse}function Hv(o,p,h){if(Jv(o.getValue()))return\"\";const y=p(\"program\");return h.htmlWhitespaceSensitivity===\"ignore\"?C2([fI,y]):C2(y)}function Gv(o,p,h){const y=o.getValue(),k=p(\"inverse\"),Q=h.htmlWhitespaceSensitivity===\"ignore\"?[fI,k]:k;return function($0){return V7($0)&&$0.inverse.body.length===1&&HO($0.inverse.body[0],[\"BlockStatement\"])&&$0.inverse.body[0].path.parts[0]===\"if\"}(y)?Q:V7(y)?[U7(y,h),C2(Q)]:\"\"}function Nz(o){return wz(J3(zp,function(p){return p.split(/[\\t\\n\\f\\r ]+/)}(o)))}function dI(o){return(o=typeof o==\"string\"?o:\"\").split(`\n`).length-1}function Ih(o=0){return new Array(Math.min(o,2)).fill(fI)}function GO(o,p){const h={quote:'\"',regex:/\"/g},y={quote:\"'\",regex:/'/g},k=o.singleQuote?y:h,Q=k===y?h:y;let $0=!1;return(p.includes(k.quote)||p.includes(Q.quote))&&($0=(p.match(k.regex)||[]).length>(p.match(Q.regex)||[]).length),$0?Q:k}function mI(o,p){const h=Yv(o,p),y=p5(o,p);return y?C2([h,zp,W9(y)]):h}function Xv(o,p){const h=Yv(o,p),y=p5(o,p);return y?[C2([h,zp,y]),mh]:h}function Yv(o,p){return p(\"path\")}function p5(o,p){const h=o.getValue(),y=[];if(h.params.length>0){const k=o.map(p,\"params\");y.push(...k)}if(h.hash&&h.hash.pairs.length>0){const k=p(\"hash\");y.push(k)}return y.length===0?\"\":J3(zp,y)}function hh(o){return[\"as |\",o.blockParams.join(\" \"),\"|\"]}var DD={print:function(o,p,h){const y=o.getValue();if(!y)return\"\";if(i8(o))return p.originalText.slice(Ag(y),bM(y));switch(y.type){case\"Block\":case\"Program\":case\"Template\":return W9(o.map(h,\"body\"));case\"ElementNode\":{const k=W9(function(j0,Z0){const g1=j0.getValue(),z1=[\"attributes\",\"modifiers\",\"comments\"].filter(se=>yU(g1[se])),X1=z1.flatMap(se=>g1[se]).sort(H3);for(const se of z1)j0.each(be=>{const Je=X1.indexOf(be.getValue());X1.splice(Je,1,[zp,Z0()])},se);return yU(g1.blockParams)&&X1.push(zp,hh(g1)),[\"<\",g1.tag,C2(X1),GR(g1)]}(o,h)),Q=p.htmlWhitespaceSensitivity===\"ignore\"&&HN(o,[\"ElementNode\"])?mh:\"\";if(Wv(y))return[k,Q];const $0=[\"</\",y.tag,\">\"];return y.children.length===0?[k,C2($0),Q]:p.htmlWhitespaceSensitivity===\"ignore\"?[k,C2(Ey(o,p,h)),fI,C2($0),Q]:[k,C2(W9(Ey(o,p,h))),C2($0),Q]}case\"BlockStatement\":{const k=o.getParentNode(1);return k&&k.inverse&&k.inverse.body.length===1&&k.inverse.body[0]===y&&k.inverse.body[0].path.parts[0]===\"if\"?[DU(o,h),Hv(o,h,p),Gv(o,h,p)]:[j7(o,h),W9([Hv(o,h,p),Gv(o,h,p),XR(o,h,p)])]}case\"ElementModifierStatement\":return W9([\"{{\",Xv(o,h),\"}}\"]);case\"MustacheStatement\":return W9([_D(y),Xv(o,h),Ph(y)]);case\"SubExpression\":return W9([\"(\",mI(o,h),mh,\")\"]);case\"AttrNode\":{const k=y.value.type===\"TextNode\";if(k&&y.value.chars===\"\"&&Ag(y.value)===bM(y.value))return y.name;const Q=k?GO(p,y.value.chars).quote:y.value.type===\"ConcatStatement\"?GO(p,y.value.parts.filter(j0=>j0.type===\"TextNode\").map(j0=>j0.chars).join(\"\")).quote:\"\",$0=h(\"value\");return[y.name,\"=\",Q,y.name===\"class\"&&Q?W9(C2($0)):$0,Q]}case\"ConcatStatement\":return o.map(h,\"parts\");case\"Hash\":return J3(zp,o.map(h,\"pairs\"));case\"HashPair\":return[y.key,\"=\",h(\"value\")];case\"TextNode\":{let k=y.chars.replace(/{{/g,\"\\\\{{\");const Q=function(Je){for(let ft=0;ft<2;ft++){const Xr=Je.getParentNode(ft);if(Xr&&Xr.type===\"AttrNode\")return Xr.name.toLowerCase()}}(o);if(Q){if(Q===\"class\"){const Je=k.trim().split(/\\s+/).join(\" \");let ft=!1,Xr=!1;return HR(o,[\"ConcatStatement\"])&&(lL(o,[\"MustacheStatement\"])&&/^\\s/.test(k)&&(ft=!0),HN(o,[\"MustacheStatement\"])&&/\\s$/.test(k)&&Je!==\"\"&&(Xr=!0)),[ft?zp:\"\",Je,Xr?zp:\"\"]}return JO(k,JR)}const $0=/^[\\t\\n\\f\\r ]*$/.test(k),j0=!kz(o),Z0=!L7(o);if(p.htmlWhitespaceSensitivity!==\"ignore\"){const Je=/^[\\t\\n\\f\\r ]*/,ft=/[\\t\\n\\f\\r ]*$/,Xr=Z0&&HR(o,[\"Template\"]),on=j0&&HR(o,[\"Template\"]);if($0){if(on||Xr)return\"\";let Hs=[zp];const Oc=dI(k);return Oc&&(Hs=Ih(Oc)),M7(o)&&(Hs=Hs.map(Nd=>q3(Nd))),Hs}const[Wr]=k.match(Je),[Zi]=k.match(ft);let hs=[];if(Wr){hs=[zp];const Hs=dI(Wr);Hs&&(hs=Ih(Hs)),k=k.replace(Je,\"\")}let Ao=[];if(Zi){if(!Xr){Ao=[zp];const Hs=dI(Zi);Hs&&(Ao=Ih(Hs)),M7(o)&&(Ao=Ao.map(Oc=>q3(Oc)))}k=k.replace(ft,\"\")}return[...hs,UC(Nz(k)),...Ao]}const g1=dI(k);let z1=function(Je){return dI(((Je=typeof Je==\"string\"?Je:\"\").match(/^([^\\S\\n\\r]*[\\n\\r])+/g)||[])[0]||\"\")}(k),X1=function(Je){return dI(((Je=typeof Je==\"string\"?Je:\"\").match(/([\\n\\r][^\\S\\n\\r]*)+$/g)||[])[0]||\"\")}(k);if((j0||Z0)&&$0&&HR(o,[\"Block\",\"ElementNode\",\"Template\"]))return\"\";$0&&g1?(z1=Math.min(g1,2),X1=0):(HN(o,[\"BlockStatement\",\"ElementNode\"])&&(X1=Math.max(X1,1)),lL(o,[\"BlockStatement\",\"ElementNode\"])&&(z1=Math.max(z1,1)));let se=\"\",be=\"\";return X1===0&&HN(o,[\"MustacheStatement\"])&&(be=\" \"),z1===0&&lL(o,[\"MustacheStatement\"])&&(se=\" \"),j0&&(z1=0,se=\"\"),Z0&&(X1=0,be=\"\"),k=k.replace(/^[\\t\\n\\f\\r ]+/g,se).replace(/[\\t\\n\\f\\r ]+$/,be),[...Ih(z1),UC(Nz(k)),...Ih(X1)]}case\"MustacheCommentStatement\":{const k=Ag(y),Q=bM(y),$0=p.originalText.charAt(k+2)===\"~\",j0=p.originalText.charAt(Q-3)===\"~\",Z0=y.value.includes(\"}}\")?\"--\":\"\";return[\"{{\",$0?\"~\":\"\",\"!\",Z0,y.value,Z0,j0?\"~\":\"\",\"}}\"]}case\"PathExpression\":return y.original;case\"BooleanLiteral\":return String(y.value);case\"CommentStatement\":return[\"<!--\",y.value,\"-->\"];case\"StringLiteral\":return function(k,Q){const{quote:$0,regex:j0}=GO(Q,k);return[$0,k.replace(j0,`\\\\${$0}`),$0]}(y.value,p);case\"NumberLiteral\":return String(y.value);case\"UndefinedLiteral\":return\"undefined\";case\"NullLiteral\":return\"null\";default:throw new Error(\"unknown glimmer type: \"+JSON.stringify(y.type))}},massageAstNode:vM},wd={languages:[Kn({name:\"Handlebars\",type:\"markup\",color:\"#f7931e\",aliases:[\"hbs\",\"htmlbars\"],extensions:[\".handlebars\",\".hbs\"],tmScope:\"text.html.handlebars\",aceMode:\"handlebars\",languageId:155},()=>({since:\"2.3.0\",parsers:[\"glimmer\"],vscodeLanguageIds:[\"handlebars\"]}))],printers:{glimmer:DD},parsers:{get glimmer(){return Yy0.exports.parsers.glimmer}}},fw={hasPragma:function(o){return/^\\s*#[^\\S\\n]*@(format|prettier)\\s*(\\n|$)/.test(o)},insertPragma:function(o){return`# @format\n\n`+o}},Sk={locStart:function(o){return typeof o.start==\"number\"?o.start:o.loc&&o.loc.start},locEnd:function(o){return typeof o.end==\"number\"?o.end:o.loc&&o.loc.end}};const{builders:{join:$d,hardline:jl,line:Tg,softline:Wp,group:Wk,indent:w5,ifBreak:v9}}=xp,{isNextLineEmpty:Qv,isNonEmptyArray:vD}=Po,{insertPragma:$7}=fw,{locStart:vU,locEnd:bU}=Sk;function PT(o,p,h){if(h.directives.length===0)return\"\";const y=$d(Tg,o.map(p,\"directives\"));return h.kind===\"FragmentDefinition\"||h.kind===\"OperationDefinition\"?Wk([Tg,y]):[\" \",Wk(w5([Wp,y]))]}function Yh(o,p,h){const y=o.getValue().length;return o.map((k,Q)=>{const $0=h();return Qv(p.originalText,k.getValue(),bU)&&Q<y-1?[$0,jl]:$0})}function Zv(o,p,h){const y=o.getNode(),k=[],{interfaces:Q}=y,$0=o.map(j0=>h(j0),\"interfaces\");for(let j0=0;j0<Q.length;j0++){const Z0=Q[j0];k.push($0[j0]);const g1=Q[j0+1];if(g1){const z1=p.originalText.slice(Z0.loc.end,g1.loc.start),X1=z1.includes(\"#\"),se=z1.replace(/#.*/g,\"\").trim();k.push(se===\",\"?\",\":\" &\",X1?Tg:\" \")}}return k}function sK(){}sK.ignoredProperties=new Set([\"loc\",\"comments\"]);var K7={print:function(o,p,h){const y=o.getValue();if(!y)return\"\";if(typeof y==\"string\")return y;switch(y.kind){case\"Document\":{const k=[];return o.each((Q,$0,j0)=>{k.push(h()),$0!==j0.length-1&&(k.push(jl),Qv(p.originalText,Q.getValue(),bU)&&k.push(jl))},\"definitions\"),[...k,jl]}case\"OperationDefinition\":{const k=p.originalText[vU(y)]!==\"{\",Q=Boolean(y.name);return[k?y.operation:\"\",k&&Q?[\" \",h(\"name\")]:\"\",k&&!Q&&vD(y.variableDefinitions)?\" \":\"\",vD(y.variableDefinitions)?Wk([\"(\",w5([Wp,$d([v9(\"\",\", \"),Wp],o.map(h,\"variableDefinitions\"))]),Wp,\")\"]):\"\",PT(o,h,y),y.selectionSet&&(k||Q)?\" \":\"\",h(\"selectionSet\")]}case\"FragmentDefinition\":return[\"fragment \",h(\"name\"),vD(y.variableDefinitions)?Wk([\"(\",w5([Wp,$d([v9(\"\",\", \"),Wp],o.map(h,\"variableDefinitions\"))]),Wp,\")\"]):\"\",\" on \",h(\"typeCondition\"),PT(o,h,y),\" \",h(\"selectionSet\")];case\"SelectionSet\":return[\"{\",w5([jl,$d(jl,o.call(k=>Yh(k,p,h),\"selections\"))]),jl,\"}\"];case\"Field\":return Wk([y.alias?[h(\"alias\"),\": \"]:\"\",h(\"name\"),y.arguments.length>0?Wk([\"(\",w5([Wp,$d([v9(\"\",\", \"),Wp],o.call(k=>Yh(k,p,h),\"arguments\"))]),Wp,\")\"]):\"\",PT(o,h,y),y.selectionSet?\" \":\"\",h(\"selectionSet\")]);case\"Name\":return y.value;case\"StringValue\":return y.block?['\"\"\"',jl,$d(jl,y.value.replace(/\"\"\"/g,\"\\\\$&\").split(`\n`)),jl,'\"\"\"']:['\"',y.value.replace(/[\"\\\\]/g,\"\\\\$&\").replace(/\\n/g,\"\\\\n\"),'\"'];case\"IntValue\":case\"FloatValue\":case\"EnumValue\":return y.value;case\"BooleanValue\":return y.value?\"true\":\"false\";case\"NullValue\":return\"null\";case\"Variable\":return[\"$\",h(\"name\")];case\"ListValue\":return Wk([\"[\",w5([Wp,$d([v9(\"\",\", \"),Wp],o.map(h,\"values\"))]),Wp,\"]\"]);case\"ObjectValue\":return Wk([\"{\",p.bracketSpacing&&y.fields.length>0?\" \":\"\",w5([Wp,$d([v9(\"\",\", \"),Wp],o.map(h,\"fields\"))]),Wp,v9(\"\",p.bracketSpacing&&y.fields.length>0?\" \":\"\"),\"}\"]);case\"ObjectField\":case\"Argument\":return[h(\"name\"),\": \",h(\"value\")];case\"Directive\":return[\"@\",h(\"name\"),y.arguments.length>0?Wk([\"(\",w5([Wp,$d([v9(\"\",\", \"),Wp],o.call(k=>Yh(k,p,h),\"arguments\"))]),Wp,\")\"]):\"\"];case\"NamedType\":return h(\"name\");case\"VariableDefinition\":return[h(\"variable\"),\": \",h(\"type\"),y.defaultValue?[\" = \",h(\"defaultValue\")]:\"\",PT(o,h,y)];case\"ObjectTypeExtension\":case\"ObjectTypeDefinition\":return[h(\"description\"),y.description?jl:\"\",y.kind===\"ObjectTypeExtension\"?\"extend \":\"\",\"type \",h(\"name\"),y.interfaces.length>0?[\" implements \",...Zv(o,p,h)]:\"\",PT(o,h,y),y.fields.length>0?[\" {\",w5([jl,$d(jl,o.call(k=>Yh(k,p,h),\"fields\"))]),jl,\"}\"]:\"\"];case\"FieldDefinition\":return[h(\"description\"),y.description?jl:\"\",h(\"name\"),y.arguments.length>0?Wk([\"(\",w5([Wp,$d([v9(\"\",\", \"),Wp],o.call(k=>Yh(k,p,h),\"arguments\"))]),Wp,\")\"]):\"\",\": \",h(\"type\"),PT(o,h,y)];case\"DirectiveDefinition\":return[h(\"description\"),y.description?jl:\"\",\"directive \",\"@\",h(\"name\"),y.arguments.length>0?Wk([\"(\",w5([Wp,$d([v9(\"\",\", \"),Wp],o.call(k=>Yh(k,p,h),\"arguments\"))]),Wp,\")\"]):\"\",y.repeatable?\" repeatable\":\"\",\" on \",$d(\" | \",o.map(h,\"locations\"))];case\"EnumTypeExtension\":case\"EnumTypeDefinition\":return[h(\"description\"),y.description?jl:\"\",y.kind===\"EnumTypeExtension\"?\"extend \":\"\",\"enum \",h(\"name\"),PT(o,h,y),y.values.length>0?[\" {\",w5([jl,$d(jl,o.call(k=>Yh(k,p,h),\"values\"))]),jl,\"}\"]:\"\"];case\"EnumValueDefinition\":return[h(\"description\"),y.description?jl:\"\",h(\"name\"),PT(o,h,y)];case\"InputValueDefinition\":return[h(\"description\"),y.description?y.description.block?jl:Tg:\"\",h(\"name\"),\": \",h(\"type\"),y.defaultValue?[\" = \",h(\"defaultValue\")]:\"\",PT(o,h,y)];case\"InputObjectTypeExtension\":case\"InputObjectTypeDefinition\":return[h(\"description\"),y.description?jl:\"\",y.kind===\"InputObjectTypeExtension\"?\"extend \":\"\",\"input \",h(\"name\"),PT(o,h,y),y.fields.length>0?[\" {\",w5([jl,$d(jl,o.call(k=>Yh(k,p,h),\"fields\"))]),jl,\"}\"]:\"\"];case\"SchemaDefinition\":return[\"schema\",PT(o,h,y),\" {\",y.operationTypes.length>0?w5([jl,$d(jl,o.call(k=>Yh(k,p,h),\"operationTypes\"))]):\"\",jl,\"}\"];case\"OperationTypeDefinition\":return[h(\"operation\"),\": \",h(\"type\")];case\"InterfaceTypeExtension\":case\"InterfaceTypeDefinition\":return[h(\"description\"),y.description?jl:\"\",y.kind===\"InterfaceTypeExtension\"?\"extend \":\"\",\"interface \",h(\"name\"),y.interfaces.length>0?[\" implements \",...Zv(o,p,h)]:\"\",PT(o,h,y),y.fields.length>0?[\" {\",w5([jl,$d(jl,o.call(k=>Yh(k,p,h),\"fields\"))]),jl,\"}\"]:\"\"];case\"FragmentSpread\":return[\"...\",h(\"name\"),PT(o,h,y)];case\"InlineFragment\":return[\"...\",y.typeCondition?[\" on \",h(\"typeCondition\")]:\"\",PT(o,h,y),\" \",h(\"selectionSet\")];case\"UnionTypeExtension\":case\"UnionTypeDefinition\":return Wk([h(\"description\"),y.description?jl:\"\",Wk([y.kind===\"UnionTypeExtension\"?\"extend \":\"\",\"union \",h(\"name\"),PT(o,h,y),y.types.length>0?[\" =\",v9(\"\",\" \"),w5([v9([Tg,\"  \"]),$d([Tg,\"| \"],o.map(h,\"types\"))])]:\"\"])]);case\"ScalarTypeExtension\":case\"ScalarTypeDefinition\":return[h(\"description\"),y.description?jl:\"\",y.kind===\"ScalarTypeExtension\"?\"extend \":\"\",\"scalar \",h(\"name\"),PT(o,h,y)];case\"NonNullType\":return[h(\"type\"),\"!\"];case\"ListType\":return[\"[\",h(\"type\"),\"]\"];default:throw new Error(\"unknown graphql type: \"+JSON.stringify(y.kind))}},massageAstNode:sK,hasPrettierIgnore:function(o){const p=o.getValue();return p&&Array.isArray(p.comments)&&p.comments.some(h=>h.value.trim()===\"prettier-ignore\")},insertPragma:$7,printComment:function(o){const p=o.getValue();if(p.kind===\"Comment\")return\"#\"+p.value.trimEnd();throw new Error(\"Not a comment: \"+JSON.stringify(p))},canAttachComment:function(o){return o.kind&&o.kind!==\"Comment\"}},YR={bracketSpacing:Sm.bracketSpacing},Ja={languages:[Kn({name:\"GraphQL\",type:\"data\",color:\"#e10098\",extensions:[\".graphql\",\".gql\",\".graphqls\"],tmScope:\"source.graphql\",aceMode:\"text\",languageId:139},()=>({since:\"1.5.0\",parsers:[\"graphql\"],vscodeLanguageIds:[\"graphql\"]}))],options:YR,printers:{graphql:K7},parsers:{get graphql(){return Qy0.exports.parsers.graphql}}},z7={locStart:function(o){return o.position.start.offset},locEnd:function(o){return o.position.end.offset}};const{getLast:PE}=Po,{locStart:j2,locEnd:xb}=z7,{cjkPattern:Fy,kPattern:G3,punctuationPattern:bD}={cjkPattern:\"(?:[\\\\u02ea-\\\\u02eb\\\\u1100-\\\\u11ff\\\\u2e80-\\\\u2e99\\\\u2e9b-\\\\u2ef3\\\\u2f00-\\\\u2fd5\\\\u2ff0-\\\\u303f\\\\u3041-\\\\u3096\\\\u3099-\\\\u309f\\\\u30a1-\\\\u30fa\\\\u30fc-\\\\u30ff\\\\u3105-\\\\u312f\\\\u3131-\\\\u318e\\\\u3190-\\\\u3191\\\\u3196-\\\\u31ba\\\\u31c0-\\\\u31e3\\\\u31f0-\\\\u321e\\\\u322a-\\\\u3247\\\\u3260-\\\\u327e\\\\u328a-\\\\u32b0\\\\u32c0-\\\\u32cb\\\\u32d0-\\\\u3370\\\\u337b-\\\\u337f\\\\u33e0-\\\\u33fe\\\\u3400-\\\\u4db5\\\\u4e00-\\\\u9fef\\\\ua960-\\\\ua97c\\\\uac00-\\\\ud7a3\\\\ud7b0-\\\\ud7c6\\\\ud7cb-\\\\ud7fb\\\\uf900-\\\\ufa6d\\\\ufa70-\\\\ufad9\\\\ufe10-\\\\ufe1f\\\\ufe30-\\\\ufe6f\\\\uff00-\\\\uffef]|[\\\\ud840-\\\\ud868\\\\ud86a-\\\\ud86c\\\\ud86f-\\\\ud872\\\\ud874-\\\\ud879][\\\\udc00-\\\\udfff]|\\\\ud82c[\\\\udc00-\\\\udd1e\\\\udd50-\\\\udd52\\\\udd64-\\\\udd67]|\\\\ud83c[\\\\ude00\\\\ude50-\\\\ude51]|\\\\ud869[\\\\udc00-\\\\uded6\\\\udf00-\\\\udfff]|\\\\ud86d[\\\\udc00-\\\\udf34\\\\udf40-\\\\udfff]|\\\\ud86e[\\\\udc00-\\\\udc1d\\\\udc20-\\\\udfff]|\\\\ud873[\\\\udc00-\\\\udea1\\\\udeb0-\\\\udfff]|\\\\ud87a[\\\\udc00-\\\\udfe0]|\\\\ud87e[\\\\udc00-\\\\ude1d])(?:[\\\\ufe00-\\\\ufe0f]|\\\\udb40[\\\\udd00-\\\\uddef])?\",kPattern:\"[\\\\u1100-\\\\u11ff\\\\u3001-\\\\u3003\\\\u3008-\\\\u3011\\\\u3013-\\\\u301f\\\\u302e-\\\\u3030\\\\u3037\\\\u30fb\\\\u3131-\\\\u318e\\\\u3200-\\\\u321e\\\\u3260-\\\\u327e\\\\ua960-\\\\ua97c\\\\uac00-\\\\ud7a3\\\\ud7b0-\\\\ud7c6\\\\ud7cb-\\\\ud7fb\\\\ufe45-\\\\ufe46\\\\uff61-\\\\uff65\\\\uffa0-\\\\uffbe\\\\uffc2-\\\\uffc7\\\\uffca-\\\\uffcf\\\\uffd2-\\\\uffd7\\\\uffda-\\\\uffdc]\",punctuationPattern:\"[\\\\u0021-\\\\u002f\\\\u003a-\\\\u0040\\\\u005b-\\\\u0060\\\\u007b-\\\\u007e\\\\u00a1\\\\u00a7\\\\u00ab\\\\u00b6-\\\\u00b7\\\\u00bb\\\\u00bf\\\\u037e\\\\u0387\\\\u055a-\\\\u055f\\\\u0589-\\\\u058a\\\\u05be\\\\u05c0\\\\u05c3\\\\u05c6\\\\u05f3-\\\\u05f4\\\\u0609-\\\\u060a\\\\u060c-\\\\u060d\\\\u061b\\\\u061e-\\\\u061f\\\\u066a-\\\\u066d\\\\u06d4\\\\u0700-\\\\u070d\\\\u07f7-\\\\u07f9\\\\u0830-\\\\u083e\\\\u085e\\\\u0964-\\\\u0965\\\\u0970\\\\u09fd\\\\u0a76\\\\u0af0\\\\u0c77\\\\u0c84\\\\u0df4\\\\u0e4f\\\\u0e5a-\\\\u0e5b\\\\u0f04-\\\\u0f12\\\\u0f14\\\\u0f3a-\\\\u0f3d\\\\u0f85\\\\u0fd0-\\\\u0fd4\\\\u0fd9-\\\\u0fda\\\\u104a-\\\\u104f\\\\u10fb\\\\u1360-\\\\u1368\\\\u1400\\\\u166e\\\\u169b-\\\\u169c\\\\u16eb-\\\\u16ed\\\\u1735-\\\\u1736\\\\u17d4-\\\\u17d6\\\\u17d8-\\\\u17da\\\\u1800-\\\\u180a\\\\u1944-\\\\u1945\\\\u1a1e-\\\\u1a1f\\\\u1aa0-\\\\u1aa6\\\\u1aa8-\\\\u1aad\\\\u1b5a-\\\\u1b60\\\\u1bfc-\\\\u1bff\\\\u1c3b-\\\\u1c3f\\\\u1c7e-\\\\u1c7f\\\\u1cc0-\\\\u1cc7\\\\u1cd3\\\\u2010-\\\\u2027\\\\u2030-\\\\u2043\\\\u2045-\\\\u2051\\\\u2053-\\\\u205e\\\\u207d-\\\\u207e\\\\u208d-\\\\u208e\\\\u2308-\\\\u230b\\\\u2329-\\\\u232a\\\\u2768-\\\\u2775\\\\u27c5-\\\\u27c6\\\\u27e6-\\\\u27ef\\\\u2983-\\\\u2998\\\\u29d8-\\\\u29db\\\\u29fc-\\\\u29fd\\\\u2cf9-\\\\u2cfc\\\\u2cfe-\\\\u2cff\\\\u2d70\\\\u2e00-\\\\u2e2e\\\\u2e30-\\\\u2e4f\\\\u3001-\\\\u3003\\\\u3008-\\\\u3011\\\\u3014-\\\\u301f\\\\u3030\\\\u303d\\\\u30a0\\\\u30fb\\\\ua4fe-\\\\ua4ff\\\\ua60d-\\\\ua60f\\\\ua673\\\\ua67e\\\\ua6f2-\\\\ua6f7\\\\ua874-\\\\ua877\\\\ua8ce-\\\\ua8cf\\\\ua8f8-\\\\ua8fa\\\\ua8fc\\\\ua92e-\\\\ua92f\\\\ua95f\\\\ua9c1-\\\\ua9cd\\\\ua9de-\\\\ua9df\\\\uaa5c-\\\\uaa5f\\\\uaade-\\\\uaadf\\\\uaaf0-\\\\uaaf1\\\\uabeb\\\\ufd3e-\\\\ufd3f\\\\ufe10-\\\\ufe19\\\\ufe30-\\\\ufe52\\\\ufe54-\\\\ufe61\\\\ufe63\\\\ufe68\\\\ufe6a-\\\\ufe6b\\\\uff01-\\\\uff03\\\\uff05-\\\\uff0a\\\\uff0c-\\\\uff0f\\\\uff1a-\\\\uff1b\\\\uff1f-\\\\uff20\\\\uff3b-\\\\uff3d\\\\uff3f\\\\uff5b\\\\uff5d\\\\uff5f-\\\\uff65]|\\\\ud800[\\\\udd00-\\\\udd02\\\\udf9f\\\\udfd0]|\\\\ud801[\\\\udd6f]|\\\\ud802[\\\\udc57\\\\udd1f\\\\udd3f\\\\ude50-\\\\ude58\\\\ude7f\\\\udef0-\\\\udef6\\\\udf39-\\\\udf3f\\\\udf99-\\\\udf9c]|\\\\ud803[\\\\udf55-\\\\udf59]|\\\\ud804[\\\\udc47-\\\\udc4d\\\\udcbb-\\\\udcbc\\\\udcbe-\\\\udcc1\\\\udd40-\\\\udd43\\\\udd74-\\\\udd75\\\\uddc5-\\\\uddc8\\\\uddcd\\\\udddb\\\\udddd-\\\\udddf\\\\ude38-\\\\ude3d\\\\udea9]|\\\\ud805[\\\\udc4b-\\\\udc4f\\\\udc5b\\\\udc5d\\\\udcc6\\\\uddc1-\\\\uddd7\\\\ude41-\\\\ude43\\\\ude60-\\\\ude6c\\\\udf3c-\\\\udf3e]|\\\\ud806[\\\\udc3b\\\\udde2\\\\ude3f-\\\\ude46\\\\ude9a-\\\\ude9c\\\\ude9e-\\\\udea2]|\\\\ud807[\\\\udc41-\\\\udc45\\\\udc70-\\\\udc71\\\\udef7-\\\\udef8\\\\udfff]|\\\\ud809[\\\\udc70-\\\\udc74]|\\\\ud81a[\\\\ude6e-\\\\ude6f\\\\udef5\\\\udf37-\\\\udf3b\\\\udf44]|\\\\ud81b[\\\\ude97-\\\\ude9a\\\\udfe2]|\\\\ud82f[\\\\udc9f]|\\\\ud836[\\\\ude87-\\\\ude8b]|\\\\ud83a[\\\\udd5e-\\\\udd5f]\"},yl=[\"liquidNode\",\"inlineCode\",\"emphasis\",\"strong\",\"delete\",\"wikiLink\",\"link\",\"linkReference\",\"image\",\"imageReference\",\"footnote\",\"footnoteReference\",\"sentence\",\"whitespace\",\"word\",\"break\",\"inlineMath\"],Q6=[...yl,\"tableCell\",\"paragraph\",\"heading\"],CD=new RegExp(G3),Ay=new RegExp(bD);function eb(o,p){const[,h,y,k]=p.slice(o.position.start.offset,o.position.end.offset).match(/^\\s*(\\d+)(\\.|\\))(\\s*)/);return{numberText:h,marker:y,leadingSpaces:k}}var X3={mapAst:function(o,p){return function h(y,k,Q){const $0=Object.assign({},p(y,k,Q));return $0.children&&($0.children=$0.children.map((j0,Z0)=>h(j0,Z0,[$0,...Q]))),$0}(o,null,[])},splitText:function(o,p){const h=\"non-cjk\",y=\"cj-letter\",k=\"cjk-punctuation\",Q=[],$0=(p.proseWrap===\"preserve\"?o:o.replace(new RegExp(`(${Fy})\n(${Fy})`,\"g\"),\"$1$2\")).split(/([\\t\\n ]+)/);for(const[Z0,g1]of $0.entries()){if(Z0%2==1){Q.push({type:\"whitespace\",value:/\\n/.test(g1)?`\n`:\" \"});continue}if((Z0===0||Z0===$0.length-1)&&g1===\"\")continue;const z1=g1.split(new RegExp(`(${Fy})`));for(const[X1,se]of z1.entries())(X1!==0&&X1!==z1.length-1||se!==\"\")&&(X1%2!=0?j0(Ay.test(se)?{type:\"word\",value:se,kind:k,hasLeadingPunctuation:!0,hasTrailingPunctuation:!0}:{type:\"word\",value:se,kind:CD.test(se)?\"k-letter\":y,hasLeadingPunctuation:!1,hasTrailingPunctuation:!1}):se!==\"\"&&j0({type:\"word\",value:se,kind:h,hasLeadingPunctuation:Ay.test(se[0]),hasTrailingPunctuation:Ay.test(PE(se))}))}return Q;function j0(Z0){const g1=PE(Q);var z1,X1;g1&&g1.type===\"word\"&&(g1.kind===h&&Z0.kind===y&&!g1.hasTrailingPunctuation||g1.kind===y&&Z0.kind===h&&!Z0.hasLeadingPunctuation?Q.push({type:\"whitespace\",value:\" \"}):(z1=h,X1=k,g1.kind===z1&&Z0.kind===X1||g1.kind===X1&&Z0.kind===z1||[g1.value,Z0.value].some(se=>/\\u3000/.test(se))||Q.push({type:\"whitespace\",value:\"\"}))),Q.push(Z0)}},punctuationPattern:bD,getFencedCodeBlockValue:function(o,p){const{value:h}=o;return o.position.end.offset===p.length&&h.endsWith(`\n`)&&p.endsWith(`\n`)?h.slice(0,-1):h},getOrderedListItemInfo:eb,hasGitDiffFriendlyOrderedList:function(o,p){if(!o.ordered||o.children.length<2)return!1;const h=Number(eb(o.children[0],p.originalText).numberText),y=Number(eb(o.children[1],p.originalText).numberText);if(h===0&&o.children.length>2){const k=Number(eb(o.children[2],p.originalText).numberText);return y===1&&k===1}return y===1},INLINE_NODE_TYPES:yl,INLINE_NODE_WRAPPER_TYPES:Q6,isAutolink:function(o){if(!o||o.type!==\"link\"||o.children.length!==1)return!1;const p=o.children[0];return p&&j2(o)===j2(p)&&xb(o)===xb(p)}};const{inferParserByLanguage:W7,getMaxContinuousCount:pN}=Po,{builders:{hardline:t_,markAsRoot:tb},utils:{replaceNewlinesWithLiterallines:q7}}=xp,{getFencedCodeBlockValue:Y3}=X3;var hI=function(o,p,h,y){const k=o.getValue();if(k.type===\"code\"&&k.lang!==null){const Q=W7(k.lang,y);if(Q){const $0=y.__inJsTemplate?\"~\":\"`\",j0=$0.repeat(Math.max(3,pN(k.value,$0)+1)),Z0=h(Y3(k,y.originalText),{parser:Q},{stripTrailingHardline:!0});return tb([j0,k.lang,k.meta?\" \"+k.meta:\"\",t_,q7(Z0),t_,j0])}}switch(k.type){case\"front-matter\":return vy(k,h);case\"importExport\":return[h(k.value,{parser:\"babel\"},{stripTrailingHardline:!0}),t_];case\"jsx\":return h(`<$>${k.value}</$>`,{parser:\"__js_expression\",rootMarker:\"mdx\"},{stripTrailingHardline:!0})}return null};const VC=[\"format\",\"prettier\"];function QR(o){const p=`@(${VC.join(\"|\")})`,h=new RegExp([`<!--\\\\s*${p}\\\\s*-->`,`<!--.*\\r?\n[\\\\s\\\\S]*(^|\n)[^\\\\S\n]*${p}[^\\\\S\n]*($|\n)[\\\\s\\\\S]*\n.*-->`].join(\"|\"),\"m\"),y=o.match(h);return y&&y.index===0}var XI={startWithPragma:QR,hasPragma:o=>QR(sL(o).content.trimStart()),insertPragma:o=>{const p=sL(o),h=`<!-- @${VC[0]} -->`;return p.frontMatter?`${p.frontMatter.raw}\n\n${h}\n\n${p.content}`:`${h}\n\n${p.content}`}};const{getOrderedListItemInfo:ED,mapAst:r_,splitText:n_}=X3,XO=/^.$/us;function pw(o,p,h){return r_(o,y=>{if(!y.children)return y;const k=y.children.reduce((Q,$0)=>{const j0=l_(Q);return j0&&p(j0,$0)?Q.splice(-1,1,h(j0,$0)):Q.push($0),Q},[]);return Object.assign(Object.assign({},y),{},{children:k})})}var J7=function(o,p){return o=function(h){return pw(h,(y,k)=>y.type===\"importExport\"&&k.type===\"importExport\",(y,k)=>({type:\"importExport\",value:y.value+`\n\n`+k.value,position:{start:y.position.start,end:k.position.end}}))}(o=function(h){return r_(h,y=>y.type!==\"import\"&&y.type!==\"export\"?y:Object.assign(Object.assign({},y),{},{type:\"importExport\"}))}(o=function(h,y){return r_(h,(k,Q,[$0])=>{if(k.type!==\"text\")return k;let{value:j0}=k;return $0.type===\"paragraph\"&&(Q===0&&(j0=j0.trimStart()),Q===$0.children.length-1&&(j0=j0.trimEnd())),{type:\"sentence\",position:k.position,children:n_(j0,y)}})}(o=function(h,y){return r_(h,($0,j0,Z0)=>{if($0.type===\"list\"&&$0.children.length>0){for(let g1=0;g1<Z0.length;g1++){const z1=Z0[g1];if(z1.type===\"list\"&&!z1.isAligned)return $0.isAligned=!1,$0}$0.isAligned=Q($0)}return $0});function k($0){return $0.children.length===0?-1:$0.children[0].position.start.column-1}function Q($0){if(!$0.ordered)return!0;const[j0,Z0]=$0.children;if(ED(j0,y.originalText).leadingSpaces.length>1)return!0;const g1=k(j0);return g1===-1?!1:$0.children.length===1?g1%y.tabWidth==0:g1!==k(Z0)?!1:g1%y.tabWidth==0?!0:ED(Z0,y.originalText).leadingSpaces.length>1}}(o=function(h,y){return r_(h,(k,Q,$0)=>{if(k.type===\"code\"){const j0=/^\\n?( {4,}|\\t)/.test(y.originalText.slice(k.position.start.offset,k.position.end.offset));if(k.isIndented=j0,j0)for(let Z0=0;Z0<$0.length;Z0++){const g1=$0[Z0];if(g1.hasIndentedCodeblock)break;g1.type===\"list\"&&(g1.hasIndentedCodeblock=!0)}}return k})}(o=function(h){return r_(h,y=>y.type!==\"inlineCode\"?y:Object.assign(Object.assign({},y),{},{value:y.value.replace(/\\s+/g,\" \")}))}(o=function(h){return pw(h,(y,k)=>y.type===\"text\"&&k.type===\"text\",(y,k)=>({type:\"text\",value:y.value+k.value,position:{start:y.position.start,end:k.position.end}}))}(o=function(h,y){return r_(h,k=>k.type===\"text\"&&k.value!==\"*\"&&k.value!==\"_\"&&XO.test(k.value)&&k.position.end.offset-k.position.start.offset!==k.value.length?Object.assign(Object.assign({},k),{},{value:y.originalText.slice(k.position.start.offset,k.position.end.offset)}):k)}(o,p))),p),p),p)))};const{isFrontMatterNode:H7}=Po,{startWithPragma:G7}=XI,gI=new Set([\"position\",\"raw\"]);function Q3(o,p,h){return o.type!==\"front-matter\"&&o.type!==\"code\"&&o.type!==\"yaml\"&&o.type!==\"import\"&&o.type!==\"export\"&&o.type!==\"jsx\"||delete p.value,o.type===\"list\"&&delete p.isAligned,o.type!==\"list\"&&o.type!==\"listItem\"||(delete p.spread,delete p.loose),o.type===\"text\"?null:(o.type===\"inlineCode\"&&(p.value=o.value.replace(/[\\t\\n ]+/g,\" \")),o.type===\"wikiLink\"&&(p.value=o.value.trim().replace(/[\\t\\n]+/g,\" \")),o.type!==\"definition\"&&o.type!==\"linkReference\"||(p.label=o.label.trim().replace(/[\\t\\n ]+/g,\" \").toLowerCase()),o.type!==\"definition\"&&o.type!==\"link\"&&o.type!==\"image\"||!o.title||(p.title=o.title.replace(/\\\\([\"')])/g,\"$1\")),h&&h.type===\"root\"&&h.children.length>0&&(h.children[0]===o||H7(h.children[0])&&h.children[1]===o)&&o.type===\"html\"&&G7(o.value)?null:void 0)}Q3.ignoredProperties=gI;var LV=Q3;const{getLast:fL,getMinNotPresentContinuousCount:JA,getMaxContinuousCount:Pz,getStringWidth:ZR,isNonEmptyArray:Js}=Po,{builders:{breakParent:CM,join:rb,line:nb,literalline:SD,markAsRoot:ib,hardline:m2,softline:FD,ifBreak:xj,fill:MV,align:AD,indent:pL,group:Ty,hardlineWithoutBreakParent:dL},utils:{normalizeDoc:ab,replaceEndOfLineWith:YI},printer:{printDocToString:YO}}=xp,{insertPragma:mL}=XI,{locStart:TD,locEnd:wD}=z7,{getFencedCodeBlockValue:H_,hasGitDiffFriendlyOrderedList:QI,splitText:wy,punctuationPattern:i_,INLINE_NODE_TYPES:h2,INLINE_NODE_WRAPPER_TYPES:EM,isAutolink:CU}=X3,$C=new Set([\"importExport\"]),b9=[\"heading\",\"tableCell\",\"link\",\"wikiLink\"],ob=new Set([\"listItem\",\"definition\",\"footnoteDefinition\"]);function sb(o,p,h,y){const k=o.getValue(),Q=k.checked===null?\"\":k.checked?\"[x] \":\"[ ] \";return[Q,E2(o,p,h,{processor:($0,j0)=>{if(j0===0&&$0.getValue().type!==\"list\")return AD(\" \".repeat(Q.length),h());const Z0=\" \".repeat(function(g1,z1,X1){return g1<z1?z1:g1>X1?X1:g1}(p.tabWidth-y.length,0,3));return[Z0,AD(Z0,h())]}})]}function X7(o,p){return function(h,y,k){let Q=-1;for(const $0 of y.children)if($0.type===h.type&&k($0)?Q++:Q=-1,$0===h)return Q}(o,p,h=>h.ordered===o.ordered)}function ub(o,p){const h=Array.isArray(p)?p:[p];let y,k=-1;for(;y=o.getParentNode(++k);)if(h.includes(y.type))return k;return-1}function ZI(o,p){const h=ub(o,p);return h===-1?null:o.getParentNode(h)}function cb(o,p,h){if(h.proseWrap===\"preserve\"&&p===`\n`)return m2;const y=h.proseWrap===\"always\"&&!ZI(o,b9);return p!==\"\"?y?nb:\" \":y?FD:\"\"}function Oh(o,p,h){const y=[];let k=null;const{children:Q}=o.getValue();for(const[$0,j0]of Q.entries())switch(_I(j0)){case\"start\":k===null&&(k={index:$0,offset:j0.position.end.offset});break;case\"end\":k!==null&&(y.push({start:k,end:{index:$0,offset:j0.position.start.offset}}),k=null)}return E2(o,p,h,{processor:($0,j0)=>{if(y.length>0){const Z0=y[0];if(j0===Z0.start.index)return[Q[Z0.start.index].value,p.originalText.slice(Z0.start.offset,Z0.end.offset),Q[Z0.end.index].value];if(Z0.start.index<j0&&j0<Z0.end.index)return!1;if(j0===Z0.end.index)return y.shift(),!1}return h()}})}function E2(o,p,h,y={}){const{postprocessor:k}=y,Q=y.processor||(()=>h()),$0=o.getValue(),j0=[];let Z0;return o.each((g1,z1)=>{const X1=g1.getValue(),se=Q(g1,z1);if(se!==!1){const be={parts:j0,prevNode:Z0,parentNode:$0,options:p};(function(Je,ft){const Xr=ft.parts.length===0,on=h2.includes(Je.type),Wr=Je.type===\"html\"&&EM.includes(ft.parentNode.type);return!Xr&&!on&&!Wr})(X1,be)&&(j0.push(m2),Z0&&$C.has(Z0.type)||(function(Je,ft){const Xr=(ft.prevNode&&ft.prevNode.type)===Je.type&&ob.has(Je.type),on=ft.parentNode.type===\"listItem\"&&!ft.parentNode.loose,Wr=ft.prevNode&&ft.prevNode.type===\"listItem\"&&ft.prevNode.loose,Zi=_I(ft.prevNode)===\"next\",hs=Je.type===\"html\"&&ft.prevNode&&ft.prevNode.type===\"html\"&&ft.prevNode.position.end.line+1===Je.position.start.line,Ao=Je.type===\"html\"&&ft.parentNode.type===\"listItem\"&&ft.prevNode&&ft.prevNode.type===\"paragraph\"&&ft.prevNode.position.end.line+1===Je.position.start.line;return Wr||!(Xr||on||Zi||hs||Ao)}(X1,be)||IE(X1,be))&&j0.push(m2),IE(X1,be)&&j0.push(m2)),j0.push(se),Z0=X1}},\"children\"),k?k(j0):j0}function Y7(o){let p=o;for(;Js(p.children);)p=fL(p.children);return p}function _I(o){if(o.type!==\"html\")return!1;const p=o.value.match(/^<!--\\s*prettier-ignore(?:-(start|end))?\\s*-->$/);return p!==null&&(p[1]?p[1]:\"next\")}function IE(o,p){const h=p.prevNode&&p.prevNode.type===\"list\",y=o.type===\"code\"&&o.isIndented;return h&&y}function lb(o,p=[]){const h=[\" \",...Array.isArray(p)?p:[p]];return new RegExp(h.map(y=>`\\\\${y}`).join(\"|\")).test(o)?`<${o}>`:o}function ej(o,p,h=!0){if(!o)return\"\";if(h)return\" \"+ej(o,p,!1);if((o=o.replace(/\\\\([\"')])/g,\"$1\")).includes('\"')&&o.includes(\"'\")&&!o.includes(\")\"))return`(${o})`;const y=o.split(\"'\").length-1,k=o.split('\"').length-1,Q=y>k?'\"':k>y||p.singleQuote?\"'\":'\"';return`${Q}${o=(o=o.replace(/\\\\/,\"\\\\\\\\\")).replace(new RegExp(`(${Q})`,\"g\"),\"\\\\$1\")}${Q}`}var fb={preprocess:J7,print:function(o,p,h){const y=o.getValue();if(function(k){const Q=ZI(k,[\"linkReference\",\"imageReference\"]);return Q&&(Q.type!==\"linkReference\"||Q.referenceType!==\"full\")}(o))return wy(p.originalText.slice(y.position.start.offset,y.position.end.offset),p).map(k=>k.type===\"word\"?k.value:k.value===\"\"?\"\":cb(o,k.value,p));switch(y.type){case\"front-matter\":return p.originalText.slice(y.position.start.offset,y.position.end.offset);case\"root\":return y.children.length===0?\"\":[ab(Oh(o,p,h)),$C.has(Y7(y).type)?\"\":m2];case\"paragraph\":return E2(o,p,h,{postprocessor:MV});case\"sentence\":return E2(o,p,h);case\"word\":{let k=y.value.replace(/\\*/g,\"\\\\$&\").replace(new RegExp([`(^|${i_})(_+)`,`(_+)(${i_}|$)`].join(\"|\"),\"g\"),(j0,Z0,g1,z1,X1)=>(g1?`${Z0}${g1}`:`${z1}${X1}`).replace(/_/g,\"\\\\_\"));const Q=(j0,Z0,g1)=>j0.type===\"sentence\"&&g1===0,$0=(j0,Z0,g1)=>CU(j0.children[g1-1]);return k!==y.value&&(o.match(void 0,Q,$0)||o.match(void 0,Q,(j0,Z0,g1)=>j0.type===\"emphasis\"&&g1===0,$0))&&(k=k.replace(/^(\\\\?[*_])+/,j0=>j0.replace(/\\\\/g,\"\"))),k}case\"whitespace\":{const k=o.getParentNode(),Q=k.children.indexOf(y),$0=k.children[Q+1],j0=$0&&/^>|^([*+-]|#{1,6}|\\d+[).])$/.test($0.value)?\"never\":p.proseWrap;return cb(o,y.value,{proseWrap:j0})}case\"emphasis\":{let k;if(CU(y.children[0]))k=p.originalText[y.position.start.offset];else{const Q=o.getParentNode(),$0=Q.children.indexOf(y),j0=Q.children[$0-1],Z0=Q.children[$0+1];k=j0&&j0.type===\"sentence\"&&j0.children.length>0&&fL(j0.children).type===\"word\"&&!fL(j0.children).hasTrailingPunctuation||Z0&&Z0.type===\"sentence\"&&Z0.children.length>0&&Z0.children[0].type===\"word\"&&!Z0.children[0].hasLeadingPunctuation||ZI(o,\"emphasis\")?\"*\":\"_\"}return[k,E2(o,p,h),k]}case\"strong\":return[\"**\",E2(o,p,h),\"**\"];case\"delete\":return[\"~~\",E2(o,p,h),\"~~\"];case\"inlineCode\":{const k=JA(y.value,\"`\"),Q=\"`\".repeat(k||1),$0=k&&!/^\\s/.test(y.value)?\" \":\"\";return[Q,$0,y.value,$0,Q]}case\"wikiLink\":{let k=\"\";return k=p.proseWrap===\"preserve\"?y.value:y.value.replace(/[\\t\\n]+/g,\" \"),[\"[[\",k,\"]]\"]}case\"link\":switch(p.originalText[y.position.start.offset]){case\"<\":{const k=\"mailto:\";return[\"<\",y.url.startsWith(k)&&p.originalText.slice(y.position.start.offset+1,y.position.start.offset+1+k.length)!==k?y.url.slice(k.length):y.url,\">\"]}case\"[\":return[\"[\",E2(o,p,h),\"](\",lb(y.url,\")\"),ej(y.title,p),\")\"];default:return p.originalText.slice(y.position.start.offset,y.position.end.offset)}case\"image\":return[\"![\",y.alt||\"\",\"](\",lb(y.url,\")\"),ej(y.title,p),\")\"];case\"blockquote\":return[\"> \",AD(\"> \",E2(o,p,h))];case\"heading\":return[\"#\".repeat(y.depth)+\" \",E2(o,p,h)];case\"code\":{if(y.isIndented){const $0=\" \".repeat(4);return AD($0,[$0,...YI(y.value,m2)])}const k=p.__inJsTemplate?\"~\":\"`\",Q=k.repeat(Math.max(3,Pz(y.value,k)+1));return[Q,y.lang||\"\",y.meta?\" \"+y.meta:\"\",m2,...YI(H_(y,p.originalText),m2),m2,Q]}case\"html\":{const k=o.getParentNode(),Q=k.type===\"root\"&&fL(k.children)===y?y.value.trimEnd():y.value,$0=/^<!--.*-->$/s.test(Q);return YI(Q,$0?m2:ib(SD))}case\"list\":{const k=X7(y,o.getParentNode()),Q=QI(y,p);return E2(o,p,h,{processor:($0,j0)=>{const Z0=function(){const z1=y.ordered?(j0===0?y.start:Q?1:y.start+j0)+(k%2==0?\". \":\") \"):k%2==0?\"- \":\"* \";return y.isAligned||y.hasIndentedCodeblock?function(X1,se){const be=Je();return X1+\" \".repeat(be>=4?0:be);function Je(){const ft=X1.length%se.tabWidth;return ft===0?0:se.tabWidth-ft}}(z1,p):z1}(),g1=$0.getValue();return g1.children.length===2&&g1.children[1].type===\"html\"&&g1.children[0].position.start.column!==g1.children[1].position.start.column?[Z0,sb($0,p,h,Z0)]:[Z0,AD(\" \".repeat(Z0.length),sb($0,p,h,Z0))]}})}case\"thematicBreak\":{const k=ub(o,\"list\");return k===-1?\"---\":X7(o.getParentNode(k),o.getParentNode(k+1))%2==0?\"***\":\"---\"}case\"linkReference\":return[\"[\",E2(o,p,h),\"]\",y.referenceType===\"full\"?[\"[\",y.identifier,\"]\"]:y.referenceType===\"collapsed\"?\"[]\":\"\"];case\"imageReference\":switch(y.referenceType){case\"full\":return[\"![\",y.alt||\"\",\"][\",y.identifier,\"]\"];default:return[\"![\",y.alt,\"]\",y.referenceType===\"collapsed\"?\"[]\":\"\"]}case\"definition\":{const k=p.proseWrap===\"always\"?nb:\" \";return Ty([\"[\",y.identifier,\"]:\",pL([k,lb(y.url),y.title===null?\"\":[k,ej(y.title,p,!1)]])])}case\"footnote\":return[\"[^\",E2(o,p,h),\"]\"];case\"footnoteReference\":return[\"[^\",y.identifier,\"]\"];case\"footnoteDefinition\":{const k=o.getParentNode().children[o.getName()+1],Q=y.children.length===1&&y.children[0].type===\"paragraph\"&&(p.proseWrap===\"never\"||p.proseWrap===\"preserve\"&&y.children[0].position.start.line===y.children[0].position.end.line);return[\"[^\",y.identifier,\"]: \",Q?E2(o,p,h):Ty([AD(\" \".repeat(4),E2(o,p,h,{processor:($0,j0)=>j0===0?Ty([FD,h()]):h()})),k&&k.type===\"footnoteDefinition\"?FD:\"\"])]}case\"table\":return function(k,Q,$0){const j0=k.getValue(),Z0=[],g1=k.map(ft=>ft.map((Xr,on)=>{const Wr=YO($0(),Q).formatted,Zi=ZR(Wr);return Z0[on]=Math.max(Z0[on]||3,Zi),{text:Wr,width:Zi}},\"children\"),\"children\"),z1=se(!1);if(Q.proseWrap!==\"never\")return[CM,z1];const X1=se(!0);return[CM,Ty(xj(X1,z1))];function se(ft){const Xr=[Je(g1[0],ft),be(ft)];return g1.length>1&&Xr.push(rb(dL,g1.slice(1).map(on=>Je(on,ft)))),rb(dL,Xr)}function be(ft){return`| ${Z0.map((Xr,on)=>{const Wr=j0.align[on],Zi=Wr===\"center\"||Wr===\"right\"?\":\":\"-\";return`${Wr===\"center\"||Wr===\"left\"?\":\":\"-\"}${ft?\"-\":\"-\".repeat(Xr-2)}${Zi}`}).join(\" | \")} |`}function Je(ft,Xr){return`| ${ft.map(({text:on,width:Wr},Zi)=>{if(Xr)return on;const hs=Z0[Zi]-Wr,Ao=j0.align[Zi];let Hs=0;Ao===\"right\"?Hs=hs:Ao===\"center\"&&(Hs=Math.floor(hs/2));const Oc=hs-Hs;return`${\" \".repeat(Hs)}${on}${\" \".repeat(Oc)}`}).join(\" | \")} |`}}(o,p,h);case\"tableCell\":return E2(o,p,h);case\"break\":return/\\s/.test(p.originalText[y.position.start.offset])?[\"  \",ib(SD)]:[\"\\\\\",m2];case\"liquidNode\":return YI(y.value,m2);case\"importExport\":return[y.value,m2];case\"jsx\":return y.value;case\"math\":return[\"$$\",m2,y.value?[...YI(y.value,m2),m2]:\"\",\"$$\"];case\"inlineMath\":return p.originalText.slice(TD(y),wD(y));case\"tableRow\":case\"listItem\":default:throw new Error(`Unknown markdown type ${JSON.stringify(y.type)}`)}},embed:hI,massageAstNode:LV,hasPrettierIgnore:function(o){const p=Number(o.getName());return p!==0&&_I(o.getParentNode().children[p-1])===\"next\"},insertPragma:mL},dN={proseWrap:Sm.proseWrap,singleQuote:Sm.singleQuote},KC={name:\"Markdown\",type:\"prose\",color:\"#083fa1\",aliases:[\"pandoc\"],aceMode:\"markdown\",codemirrorMode:\"gfm\",codemirrorMimeType:\"text/x-gfm\",wrap:!0,extensions:[\".md\",\".markdown\",\".mdown\",\".mdwn\",\".mdx\",\".mkd\",\".mkdn\",\".mkdown\",\".ronn\",\".scd\",\".workbook\"],filenames:[\"contents.lr\"],tmScope:\"source.gfm\",languageId:222},Z3={languages:[Kn(KC,o=>({since:\"1.8.0\",parsers:[\"markdown\"],vscodeLanguageIds:[\"markdown\"],filenames:[...o.filenames,\"README\"],extensions:o.extensions.filter(p=>p!==\".mdx\")})),Kn(KC,()=>({name:\"MDX\",since:\"1.15.0\",parsers:[\"mdx\"],vscodeLanguageIds:[\"mdx\"],filenames:[],extensions:[\".mdx\"]}))],options:dN,printers:{mdast:fb},parsers:{get remark(){return GZ.exports.parsers.remark},get markdown(){return GZ.exports.parsers.remark},get mdx(){return GZ.exports.parsers.mdx}}};const{isFrontMatterNode:EU}=Po,Q7=new Set([\"sourceSpan\",\"startSourceSpan\",\"endSourceSpan\",\"nameSpan\",\"valueSpan\"]);function zC(o,p){return o.type===\"text\"||o.type===\"comment\"||EU(o)||o.type===\"yaml\"||o.type===\"toml\"?null:(o.type===\"attribute\"&&delete p.value,void(o.type===\"docType\"&&delete p.value))}zC.ignoredProperties=Q7;var hL=zC,mN={\"*\":[\"accesskey\",\"autocapitalize\",\"autofocus\",\"class\",\"contenteditable\",\"dir\",\"draggable\",\"enterkeyhint\",\"hidden\",\"id\",\"inputmode\",\"is\",\"itemid\",\"itemprop\",\"itemref\",\"itemscope\",\"itemtype\",\"lang\",\"nonce\",\"slot\",\"spellcheck\",\"style\",\"tabindex\",\"title\",\"translate\"],a:[\"accesskey\",\"charset\",\"coords\",\"download\",\"href\",\"hreflang\",\"name\",\"ping\",\"referrerpolicy\",\"rel\",\"rev\",\"shape\",\"tabindex\",\"target\",\"type\"],abbr:[\"title\"],applet:[\"align\",\"alt\",\"archive\",\"code\",\"codebase\",\"height\",\"hspace\",\"name\",\"object\",\"vspace\",\"width\"],area:[\"accesskey\",\"alt\",\"coords\",\"download\",\"href\",\"hreflang\",\"nohref\",\"ping\",\"referrerpolicy\",\"rel\",\"shape\",\"tabindex\",\"target\",\"type\"],audio:[\"autoplay\",\"controls\",\"crossorigin\",\"loop\",\"muted\",\"preload\",\"src\"],base:[\"href\",\"target\"],basefont:[\"color\",\"face\",\"size\"],bdo:[\"dir\"],blockquote:[\"cite\"],body:[\"alink\",\"background\",\"bgcolor\",\"link\",\"text\",\"vlink\"],br:[\"clear\"],button:[\"accesskey\",\"autofocus\",\"disabled\",\"form\",\"formaction\",\"formenctype\",\"formmethod\",\"formnovalidate\",\"formtarget\",\"name\",\"tabindex\",\"type\",\"value\"],canvas:[\"height\",\"width\"],caption:[\"align\"],col:[\"align\",\"char\",\"charoff\",\"span\",\"valign\",\"width\"],colgroup:[\"align\",\"char\",\"charoff\",\"span\",\"valign\",\"width\"],data:[\"value\"],del:[\"cite\",\"datetime\"],details:[\"open\"],dfn:[\"title\"],dialog:[\"open\"],dir:[\"compact\"],div:[\"align\"],dl:[\"compact\"],embed:[\"height\",\"src\",\"type\",\"width\"],fieldset:[\"disabled\",\"form\",\"name\"],font:[\"color\",\"face\",\"size\"],form:[\"accept\",\"accept-charset\",\"action\",\"autocomplete\",\"enctype\",\"method\",\"name\",\"novalidate\",\"target\"],frame:[\"frameborder\",\"longdesc\",\"marginheight\",\"marginwidth\",\"name\",\"noresize\",\"scrolling\",\"src\"],frameset:[\"cols\",\"rows\"],h1:[\"align\"],h2:[\"align\"],h3:[\"align\"],h4:[\"align\"],h5:[\"align\"],h6:[\"align\"],head:[\"profile\"],hr:[\"align\",\"noshade\",\"size\",\"width\"],html:[\"manifest\",\"version\"],iframe:[\"align\",\"allow\",\"allowfullscreen\",\"allowpaymentrequest\",\"allowusermedia\",\"frameborder\",\"height\",\"loading\",\"longdesc\",\"marginheight\",\"marginwidth\",\"name\",\"referrerpolicy\",\"sandbox\",\"scrolling\",\"src\",\"srcdoc\",\"width\"],img:[\"align\",\"alt\",\"border\",\"crossorigin\",\"decoding\",\"height\",\"hspace\",\"ismap\",\"loading\",\"longdesc\",\"name\",\"referrerpolicy\",\"sizes\",\"src\",\"srcset\",\"usemap\",\"vspace\",\"width\"],input:[\"accept\",\"accesskey\",\"align\",\"alt\",\"autocomplete\",\"autofocus\",\"checked\",\"dirname\",\"disabled\",\"form\",\"formaction\",\"formenctype\",\"formmethod\",\"formnovalidate\",\"formtarget\",\"height\",\"ismap\",\"list\",\"max\",\"maxlength\",\"min\",\"minlength\",\"multiple\",\"name\",\"pattern\",\"placeholder\",\"readonly\",\"required\",\"size\",\"src\",\"step\",\"tabindex\",\"title\",\"type\",\"usemap\",\"value\",\"width\"],ins:[\"cite\",\"datetime\"],isindex:[\"prompt\"],label:[\"accesskey\",\"for\",\"form\"],legend:[\"accesskey\",\"align\"],li:[\"type\",\"value\"],link:[\"as\",\"charset\",\"color\",\"crossorigin\",\"disabled\",\"href\",\"hreflang\",\"imagesizes\",\"imagesrcset\",\"integrity\",\"media\",\"nonce\",\"referrerpolicy\",\"rel\",\"rev\",\"sizes\",\"target\",\"title\",\"type\"],map:[\"name\"],menu:[\"compact\"],meta:[\"charset\",\"content\",\"http-equiv\",\"name\",\"scheme\"],meter:[\"high\",\"low\",\"max\",\"min\",\"optimum\",\"value\"],object:[\"align\",\"archive\",\"border\",\"classid\",\"codebase\",\"codetype\",\"data\",\"declare\",\"form\",\"height\",\"hspace\",\"name\",\"standby\",\"tabindex\",\"type\",\"typemustmatch\",\"usemap\",\"vspace\",\"width\"],ol:[\"compact\",\"reversed\",\"start\",\"type\"],optgroup:[\"disabled\",\"label\"],option:[\"disabled\",\"label\",\"selected\",\"value\"],output:[\"for\",\"form\",\"name\"],p:[\"align\"],param:[\"name\",\"type\",\"value\",\"valuetype\"],pre:[\"width\"],progress:[\"max\",\"value\"],q:[\"cite\"],script:[\"async\",\"charset\",\"crossorigin\",\"defer\",\"integrity\",\"language\",\"nomodule\",\"nonce\",\"referrerpolicy\",\"src\",\"type\"],select:[\"autocomplete\",\"autofocus\",\"disabled\",\"form\",\"multiple\",\"name\",\"required\",\"size\",\"tabindex\"],slot:[\"name\"],source:[\"media\",\"sizes\",\"src\",\"srcset\",\"type\"],style:[\"media\",\"nonce\",\"title\",\"type\"],table:[\"align\",\"bgcolor\",\"border\",\"cellpadding\",\"cellspacing\",\"frame\",\"rules\",\"summary\",\"width\"],tbody:[\"align\",\"char\",\"charoff\",\"valign\"],td:[\"abbr\",\"align\",\"axis\",\"bgcolor\",\"char\",\"charoff\",\"colspan\",\"headers\",\"height\",\"nowrap\",\"rowspan\",\"scope\",\"valign\",\"width\"],textarea:[\"accesskey\",\"autocomplete\",\"autofocus\",\"cols\",\"dirname\",\"disabled\",\"form\",\"maxlength\",\"minlength\",\"name\",\"placeholder\",\"readonly\",\"required\",\"rows\",\"tabindex\",\"wrap\"],tfoot:[\"align\",\"char\",\"charoff\",\"valign\"],th:[\"abbr\",\"align\",\"axis\",\"bgcolor\",\"char\",\"charoff\",\"colspan\",\"headers\",\"height\",\"nowrap\",\"rowspan\",\"scope\",\"valign\",\"width\"],thead:[\"align\",\"char\",\"charoff\",\"valign\"],time:[\"datetime\"],tr:[\"align\",\"bgcolor\",\"char\",\"charoff\",\"valign\"],track:[\"default\",\"kind\",\"label\",\"src\",\"srclang\"],ul:[\"compact\",\"type\"],video:[\"autoplay\",\"controls\",\"crossorigin\",\"height\",\"loop\",\"muted\",\"playsinline\",\"poster\",\"preload\",\"src\",\"width\"]};const{inferParserByLanguage:SU,isFrontMatterNode:uK}=Po,{CSS_DISPLAY_TAGS:xC,CSS_DISPLAY_DEFAULT:G_,CSS_WHITE_SPACE_TAGS:X_,CSS_WHITE_SPACE_DEFAULT:QO}={CSS_DISPLAY_TAGS:{area:\"none\",base:\"none\",basefont:\"none\",datalist:\"none\",head:\"none\",link:\"none\",meta:\"none\",noembed:\"none\",noframes:\"none\",param:\"block\",rp:\"none\",script:\"block\",source:\"block\",style:\"none\",template:\"inline\",track:\"block\",title:\"none\",html:\"block\",body:\"block\",address:\"block\",blockquote:\"block\",center:\"block\",div:\"block\",figure:\"block\",figcaption:\"block\",footer:\"block\",form:\"block\",header:\"block\",hr:\"block\",legend:\"block\",listing:\"block\",main:\"block\",p:\"block\",plaintext:\"block\",pre:\"block\",xmp:\"block\",slot:\"contents\",ruby:\"ruby\",rt:\"ruby-text\",article:\"block\",aside:\"block\",h1:\"block\",h2:\"block\",h3:\"block\",h4:\"block\",h5:\"block\",h6:\"block\",hgroup:\"block\",nav:\"block\",section:\"block\",dir:\"block\",dd:\"block\",dl:\"block\",dt:\"block\",ol:\"block\",ul:\"block\",li:\"list-item\",table:\"table\",caption:\"table-caption\",colgroup:\"table-column-group\",col:\"table-column\",thead:\"table-header-group\",tbody:\"table-row-group\",tfoot:\"table-footer-group\",tr:\"table-row\",td:\"table-cell\",th:\"table-cell\",fieldset:\"block\",button:\"inline-block\",details:\"block\",summary:\"block\",dialog:\"block\",meter:\"inline-block\",progress:\"inline-block\",object:\"inline-block\",video:\"inline-block\",audio:\"inline-block\",select:\"inline-block\",option:\"block\",optgroup:\"block\"},CSS_DISPLAY_DEFAULT:\"inline\",CSS_WHITE_SPACE_TAGS:{listing:\"pre\",plaintext:\"pre\",pre:\"pre\",xmp:\"pre\",nobr:\"nowrap\",table:\"initial\",textarea:\"pre-wrap\"},CSS_WHITE_SPACE_DEFAULT:\"normal\"},kD=OE([\"a\",\"abbr\",\"acronym\",\"address\",\"applet\",\"area\",\"article\",\"aside\",\"audio\",\"b\",\"base\",\"basefont\",\"bdi\",\"bdo\",\"bgsound\",\"big\",\"blink\",\"blockquote\",\"body\",\"br\",\"button\",\"canvas\",\"caption\",\"center\",\"cite\",\"code\",\"col\",\"colgroup\",\"command\",\"content\",\"data\",\"datalist\",\"dd\",\"del\",\"details\",\"dfn\",\"dialog\",\"dir\",\"div\",\"dl\",\"dt\",\"element\",\"em\",\"embed\",\"fieldset\",\"figcaption\",\"figure\",\"font\",\"footer\",\"form\",\"frame\",\"frameset\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"head\",\"header\",\"hgroup\",\"hr\",\"html\",\"i\",\"iframe\",\"image\",\"img\",\"input\",\"ins\",\"isindex\",\"kbd\",\"keygen\",\"label\",\"legend\",\"li\",\"link\",\"listing\",\"main\",\"map\",\"mark\",\"marquee\",\"math\",\"menu\",\"menuitem\",\"meta\",\"meter\",\"multicol\",\"nav\",\"nextid\",\"nobr\",\"noembed\",\"noframes\",\"noscript\",\"object\",\"ol\",\"optgroup\",\"option\",\"output\",\"p\",\"param\",\"picture\",\"plaintext\",\"pre\",\"progress\",\"q\",\"rb\",\"rbc\",\"rp\",\"rt\",\"rtc\",\"ruby\",\"s\",\"samp\",\"script\",\"section\",\"select\",\"shadow\",\"slot\",\"small\",\"source\",\"spacer\",\"span\",\"strike\",\"strong\",\"style\",\"sub\",\"summary\",\"sup\",\"svg\",\"table\",\"tbody\",\"td\",\"template\",\"textarea\",\"tfoot\",\"th\",\"thead\",\"time\",\"title\",\"tr\",\"track\",\"tt\",\"u\",\"ul\",\"var\",\"video\",\"wbr\",\"xmp\"]),tj=function(o,p){const h=Object.create(null);for(const[y,k]of Object.entries(o))h[y]=p(k,y);return h}(mN,OE),Z7=new Set([\"\t\",`\n`,\"\\f\",\"\\r\",\" \"]),SP=o=>o.replace(/[\\t\\n\\f\\r ]+$/,\"\"),cK=o=>o.match(/^[\\t\\n\\f\\r ]*/)[0];function OE(o){const p=Object.create(null);for(const h of o)p[h]=!0;return p}function Kd(o,p){return!(o.type!==\"ieConditionalComment\"||!o.lastChild||o.lastChild.isSelfClosing||o.lastChild.endSourceSpan)||o.type===\"ieConditionalComment\"&&!o.complete||!(!zd(o)||!o.children.some(h=>h.type!==\"text\"&&h.type!==\"interpolation\"))||!(!OD(o,p)||Bh(o)||o.type===\"interpolation\")}function pb(o){return o.type===\"attribute\"||!o.parent||typeof o.index!=\"number\"||o.index===0?!1:function(p){return p.type===\"comment\"&&p.value.trim()===\"prettier-ignore\"}(o.parent.children[o.index-1])}function Bh(o){return o.type===\"element\"&&(o.fullName===\"script\"||o.fullName===\"style\"||o.fullName===\"svg:style\"||kg(o)&&(o.name===\"script\"||o.name===\"style\"))}function BE(o){return PD(o).startsWith(\"pre\")}function SM(o){return o.type===\"element\"&&o.children.length>0&&([\"html\",\"head\",\"ul\",\"ol\",\"select\"].includes(o.name)||o.cssDisplay.startsWith(\"table\")&&o.cssDisplay!==\"table-cell\")}function db(o){return om(o)||o.type===\"element\"&&o.fullName===\"br\"||wm(o)}function wm(o){return ND(o)&&FM(o)}function ND(o){return o.hasLeadingSpaces&&(o.prev?o.prev.sourceSpan.end.line<o.sourceSpan.start.line:o.parent.type===\"root\"||o.parent.startSourceSpan.end.line<o.sourceSpan.start.line)}function FM(o){return o.hasTrailingSpaces&&(o.next?o.next.sourceSpan.start.line>o.sourceSpan.end.line:o.parent.type===\"root\"||o.parent.endSourceSpan&&o.parent.endSourceSpan.start.line>o.sourceSpan.end.line)}function om(o){switch(o.type){case\"ieConditionalComment\":case\"comment\":case\"directive\":return!0;case\"element\":return[\"script\",\"select\"].includes(o.name)}return!1}function mb(o){const{type:p,lang:h}=o.attrMap;return p===\"module\"||p===\"text/javascript\"||p===\"text/babel\"||p===\"application/javascript\"||h===\"jsx\"?\"babel\":p===\"application/x-typescript\"||h===\"ts\"||h===\"tsx\"?\"typescript\":p===\"text/markdown\"?\"markdown\":p===\"text/html\"?\"html\":p&&(p.endsWith(\"json\")||p.endsWith(\"importmap\"))?\"json\":p===\"text/x-handlebars-template\"?\"glimmer\":void 0}function wg(o){return o===\"block\"||o===\"list-item\"||o.startsWith(\"table\")}function zd(o){return PD(o).startsWith(\"pre\")}function kg(o){return o.type===\"element\"&&!o.hasExplicitNamespace&&![\"html\",\"svg\"].includes(o.namespace)}function PD(o){return o.type===\"element\"&&(!o.namespace||kg(o))&&X_[o.name]||QO}const xe=new Set([\"template\",\"style\",\"script\"]);function hb(o,p){return ID(o,p)&&!xe.has(o.fullName)}function ID(o,p){return p.parser===\"vue\"&&o.type===\"element\"&&o.parent.type===\"root\"&&o.fullName.toLowerCase()!==\"html\"}function OD(o,p){return ID(o,p)&&(hb(o,p)||o.attrMap.lang&&o.attrMap.lang!==\"html\")}var sc={HTML_ELEMENT_ATTRIBUTES:tj,HTML_TAGS:kD,htmlTrim:o=>(p=>p.replace(/^[\\t\\n\\f\\r ]+/,\"\"))(SP(o)),htmlTrimPreserveIndentation:o=>(p=>p.replace(/^[\\t\\f\\r ]*?\\n/g,\"\"))(SP(o)),splitByHtmlWhitespace:o=>o.split(/[\\t\\n\\f\\r ]+/),hasHtmlWhitespace:o=>/[\\t\\n\\f\\r ]/.test(o),getLeadingAndTrailingHtmlWhitespace:o=>{const[,p,h,y]=o.match(/^([\\t\\n\\f\\r ]*)(.*?)([\\t\\n\\f\\r ]*)$/s);return{leadingWhitespace:p,trailingWhitespace:y,text:h}},canHaveInterpolation:function(o){return o.children&&!Bh(o)},countChars:function(o,p){let h=0;for(let y=0;y<o.length;y++)o[y]===p&&h++;return h},countParents:function(o,p){let h=0;for(let y=o.stack.length-1;y>=0;y--){const k=o.stack[y];k&&typeof k==\"object\"&&!Array.isArray(k)&&p(k)&&h++}return h},dedentString:function(o,p=function(h){let y=Number.POSITIVE_INFINITY;for(const k of h.split(`\n`)){if(k.length===0)continue;if(!Z7.has(k[0]))return 0;const Q=cK(k).length;k.length!==Q&&Q<y&&(y=Q)}return y===Number.POSITIVE_INFINITY?0:y}(o)){return p===0?o:o.split(`\n`).map(h=>h.slice(p)).join(`\n`)},forceBreakChildren:SM,forceBreakContent:function(o){return SM(o)||o.type===\"element\"&&o.children.length>0&&([\"body\",\"script\",\"style\"].includes(o.name)||o.children.some(p=>function(h){return h.children&&h.children.some(y=>y.type!==\"text\")}(p)))||o.firstChild&&o.firstChild===o.lastChild&&o.firstChild.type!==\"text\"&&ND(o.firstChild)&&(!o.lastChild.isTrailingSpaceSensitive||FM(o.lastChild))},forceNextEmptyLine:function(o){return uK(o)||o.next&&o.sourceSpan.end&&o.sourceSpan.end.line+1<o.next.sourceSpan.start.line},getLastDescendant:function o(p){return p.lastChild?o(p.lastChild):p},getNodeCssStyleDisplay:function(o,p){if(o.prev&&o.prev.type===\"comment\"){const y=o.prev.value.match(/^\\s*display:\\s*([a-z]+)\\s*$/);if(y)return y[1]}let h=!1;if(o.type===\"element\"&&o.namespace===\"svg\"){if(!function(y,k){let Q=y;for(;Q;){if(k(Q))return!0;Q=Q.parent}return!1}(o,y=>y.fullName===\"svg:foreignObject\"))return o.name===\"svg\"?\"inline-block\":\"block\";h=!0}switch(p.htmlWhitespaceSensitivity){case\"strict\":return\"inline\";case\"ignore\":return\"block\";default:return p.parser===\"vue\"&&o.parent&&o.parent.type===\"root\"?\"block\":o.type===\"element\"&&(!o.namespace||h||kg(o))&&xC[o.name]||G_}},getNodeCssStyleWhiteSpace:PD,getPrettierIgnoreAttributeCommentData:function(o){const p=o.trim().match(/^prettier-ignore-attribute(?:\\s+(.+))?$/s);return!!p&&(!p[1]||p[1].split(/\\s+/))},hasPrettierIgnore:pb,inferScriptParser:function(o,p){return o.name!==\"script\"||o.attrMap.src?o.name===\"style\"?function(h){const{lang:y}=h.attrMap;return y&&y!==\"postcss\"&&y!==\"css\"?y===\"scss\"?\"scss\":y===\"less\"?\"less\":void 0:\"css\"}(o):p&&OD(o,p)?mb(o)||!(\"src\"in o.attrMap)&&SU(o.attrMap.lang,p):void 0:o.attrMap.lang||o.attrMap.type?mb(o):\"babel\"},isVueCustomBlock:hb,isVueNonHtmlBlock:OD,isVueSlotAttribute:function(o){const p=o.fullName;return p.charAt(0)===\"#\"||p===\"slot-scope\"||p===\"v-slot\"||p.startsWith(\"v-slot:\")},isVueSfcBindingsAttribute:function(o,p){const h=o.parent;if(!ID(h,p))return!1;const y=h.fullName,k=o.fullName;return y===\"script\"&&k===\"setup\"||y===\"style\"&&k===\"vars\"},isDanglingSpaceSensitiveNode:function(o){return p=o.cssDisplay,!(wg(p)||p===\"inline-block\"||Bh(o));var p},isIndentationSensitiveNode:BE,isLeadingSpaceSensitiveNode:function(o,p){const h=function(){if(uK(o))return!1;if((o.type===\"text\"||o.type===\"interpolation\")&&o.prev&&(o.prev.type===\"text\"||o.prev.type===\"interpolation\"))return!0;if(!o.parent||o.parent.cssDisplay===\"none\")return!1;if(zd(o.parent))return!0;if(!o.prev&&(o.parent.type===\"root\"||zd(o)&&o.parent||Bh(o.parent)||hb(o.parent,p)||(y=o.parent.cssDisplay,wg(y)||y===\"inline-block\")))return!1;var y;return!(o.prev&&!function(k){return!wg(k)}(o.prev.cssDisplay))}();return h&&!o.prev&&o.parent&&o.parent.tagDefinition&&o.parent.tagDefinition.ignoreFirstLf?o.type===\"interpolation\":h},isPreLikeNode:zd,isScriptLikeTag:Bh,isTextLikeNode:function(o){return o.type===\"text\"||o.type===\"comment\"},isTrailingSpaceSensitiveNode:function(o,p){return!uK(o)&&(!(o.type!==\"text\"&&o.type!==\"interpolation\"||!o.next||o.next.type!==\"text\"&&o.next.type!==\"interpolation\")||!(!o.parent||o.parent.cssDisplay===\"none\")&&(!!zd(o.parent)||!(!o.next&&(o.parent.type===\"root\"||zd(o)&&o.parent||Bh(o.parent)||hb(o.parent,p)||(h=o.parent.cssDisplay,wg(h)||h===\"inline-block\")))&&!(o.next&&!function(y){return!wg(y)}(o.next.cssDisplay))));var h},isWhitespaceSensitiveNode:function(o){return Bh(o)||o.type===\"interpolation\"||BE(o)},isUnknownNamespace:kg,preferHardlineAsLeadingSpaces:function(o){return om(o)||o.prev&&db(o.prev)||wm(o)},preferHardlineAsTrailingSpaces:db,shouldNotPrintClosingTag:function(o,p){return!o.isSelfClosing&&!o.endSourceSpan&&(pb(o)||Kd(o.parent,p))},shouldPreserveContent:Kd,unescapeQuoteEntities:function(o){return o.replace(/&apos;/g,\"'\").replace(/&quot;/g,'\"')}},AM=s0(function(o,p){function h(y){return p.$0<=y&&y<=p.$9}/**\n     * @license\n     * Copyright Google Inc. All Rights Reserved.\n     *\n     * Use of this source code is governed by an MIT-style license that can be\n     * found in the LICENSE file at https://angular.io/license\n     */Object.defineProperty(p,\"__esModule\",{value:!0}),p.$EOF=0,p.$BSPACE=8,p.$TAB=9,p.$LF=10,p.$VTAB=11,p.$FF=12,p.$CR=13,p.$SPACE=32,p.$BANG=33,p.$DQ=34,p.$HASH=35,p.$$=36,p.$PERCENT=37,p.$AMPERSAND=38,p.$SQ=39,p.$LPAREN=40,p.$RPAREN=41,p.$STAR=42,p.$PLUS=43,p.$COMMA=44,p.$MINUS=45,p.$PERIOD=46,p.$SLASH=47,p.$COLON=58,p.$SEMICOLON=59,p.$LT=60,p.$EQ=61,p.$GT=62,p.$QUESTION=63,p.$0=48,p.$7=55,p.$9=57,p.$A=65,p.$E=69,p.$F=70,p.$X=88,p.$Z=90,p.$LBRACKET=91,p.$BACKSLASH=92,p.$RBRACKET=93,p.$CARET=94,p.$_=95,p.$a=97,p.$b=98,p.$e=101,p.$f=102,p.$n=110,p.$r=114,p.$t=116,p.$u=117,p.$v=118,p.$x=120,p.$z=122,p.$LBRACE=123,p.$BAR=124,p.$RBRACE=125,p.$NBSP=160,p.$PIPE=124,p.$TILDA=126,p.$AT=64,p.$BT=96,p.isWhitespace=function(y){return y>=p.$TAB&&y<=p.$SPACE||y==p.$NBSP},p.isDigit=h,p.isAsciiLetter=function(y){return y>=p.$a&&y<=p.$z||y>=p.$A&&y<=p.$Z},p.isAsciiHexDigit=function(y){return y>=p.$a&&y<=p.$f||y>=p.$A&&y<=p.$F||h(y)},p.isNewLine=function(y){return y===p.$LF||y===p.$CR},p.isOctalDigit=function(y){return p.$0<=y&&y<=p.$7}});/**\n   * @license\n   * Copyright Google Inc. All Rights Reserved.\n   *\n   * Use of this source code is governed by an MIT-style license that can be\n   * found in the LICENSE file at https://angular.io/license\n   */class WC{constructor(p,h,y){this.filePath=p,this.name=h,this.members=y}assertNoMembers(){if(this.members.length)throw new Error(`Illegal state: symbol without members expected, but got ${JSON.stringify(this)}.`)}}var x3=WC,LE=class{constructor(){this.cache=new Map}get(o,p,h){const y=`\"${o}\".${p}${(h=h||[]).length?`.${h.join(\".\")}`:\"\"}`;let k=this.cache.get(y);return k||(k=new WC(o,p,h),this.cache.set(y,k)),k}},eC=Object.defineProperty({StaticSymbol:x3,StaticSymbolCache:LE},\"__esModule\",{value:!0});/**\n   * @license\n   * Copyright Google Inc. All Rights Reserved.\n   *\n   * Use of this source code is governed by an MIT-style license that can be\n   * found in the LICENSE file at https://angular.io/license\n   */const tC=/-+([a-z0-9])/g;var RV=function(o){return o.replace(tC,(...p)=>p[1].toUpperCase())},TM=function(o,p){return Y_(o,\":\",p)},e3=function(o,p){return Y_(o,\".\",p)};function Y_(o,p,h){const y=o.indexOf(p);return y==-1?h:[o.slice(0,y).trim(),o.slice(y+1).trim()]}function wM(o,p,h){return Array.isArray(o)?p.visitArray(o,h):function(y){return typeof y==\"object\"&&y!==null&&Object.getPrototypeOf(y)===aj}(o)?p.visitStringMap(o,h):o==null||typeof o==\"string\"||typeof o==\"number\"||typeof o==\"boolean\"?p.visitPrimitive(o,h):p.visitOther(o,h)}var rj=wM,BD=function(o){return o!=null},ZO=function(o){return o===void 0?null:o},rC=class{visitArray(o,p){return o.map(h=>wM(h,this,p))}visitStringMap(o,p){const h={};return Object.keys(o).forEach(y=>{h[y]=wM(o[y],this,p)}),h}visitPrimitive(o,p){return o}visitOther(o,p){return o}},nC={assertSync:o=>{if(_L(o))throw new Error(\"Illegal state: value cannot be a promise\");return o},then:(o,p)=>_L(o)?o.then(p):p(o),all:o=>o.some(_L)?Promise.all(o):o},a_=function(o){throw new Error(`Internal Error: ${o}`)},LD=function(o,p){const h=Error(o);return h[lK]=!0,p&&(h[qC]=p),h};const lK=\"ngSyntaxError\",qC=\"ngParseErrors\";var nj=function(o){return o[lK]},ij=function(o){return o[qC]||[]},GN=function(o){return o.replace(/([.*+?^=!:${}()|[\\]\\/\\\\])/g,\"\\\\$1\")};const aj=Object.getPrototypeOf({});var oj=function(o){let p=\"\";for(let h=0;h<o.length;h++){let y=o.charCodeAt(h);if(y>=55296&&y<=56319&&o.length>h+1){const k=o.charCodeAt(h+1);k>=56320&&k<=57343&&(h++,y=(y-55296<<10)+k-56320+65536)}y<=127?p+=String.fromCharCode(y):y<=2047?p+=String.fromCharCode(y>>6&31|192,63&y|128):y<=65535?p+=String.fromCharCode(y>>12|224,y>>6&63|128,63&y|128):y<=2097151&&(p+=String.fromCharCode(y>>18&7|240,y>>12&63|128,y>>6&63|128,63&y|128))}return p},iC=function o(p){if(typeof p==\"string\")return p;if(p instanceof Array)return\"[\"+p.map(o).join(\", \")+\"]\";if(p==null)return\"\"+p;if(p.overriddenName)return`${p.overriddenName}`;if(p.name)return`${p.name}`;if(!p.toString)return\"object\";const h=p.toString();if(h==null)return\"\"+h;const y=h.indexOf(`\n`);return y===-1?h:h.substring(0,y)},gL=function(o){return typeof o==\"function\"&&o.hasOwnProperty(\"__forward_ref__\")?o():o};function _L(o){return!!o&&typeof o.then==\"function\"}var gb=_L,XN=class{constructor(o){this.full=o;const p=o.split(\".\");this.major=p[0],this.minor=p[1],this.patch=p.slice(2).join(\".\")}};const aC=typeof window!=\"undefined\"&&window,sj=typeof self!=\"undefined\"&&typeof WorkerGlobalScope!=\"undefined\"&&self instanceof WorkerGlobalScope&&self;var kM=R!==void 0&&R||aC||sj,xB=Object.defineProperty({dashCaseToCamelCase:RV,splitAtColon:TM,splitAtPeriod:e3,visitValue:rj,isDefined:BD,noUndefined:ZO,ValueTransformer:rC,SyncAsync:nC,error:a_,syntaxError:LD,isSyntaxError:nj,getParseErrors:ij,escapeRegExp:GN,utf8Encode:oj,stringify:iC,resolveForwardRef:gL,isPromise:gb,Version:XN,global:kM},\"__esModule\",{value:!0}),Q_=s0(function(o,p){/**\n     * @license\n     * Copyright Google Inc. All Rights Reserved.\n     *\n     * Use of this source code is governed by an MIT-style license that can be\n     * found in the LICENSE file at https://angular.io/license\n     */Object.defineProperty(p,\"__esModule\",{value:!0});const h=/^(?:(?:\\[([^\\]]+)\\])|(?:\\(([^\\)]+)\\)))|(\\@[-\\w]+)$/;function y(X1){return X1.replace(/\\W/g,\"_\")}p.sanitizeIdentifier=y;let k=0;function Q(X1){if(!X1||!X1.reference)return null;const se=X1.reference;if(se instanceof eC.StaticSymbol)return se.name;if(se.__anonymousType)return se.__anonymousType;let be=xB.stringify(se);return be.indexOf(\"(\")>=0?(be=\"anonymous_\"+k++,se.__anonymousType=be):be=y(be),be}var $0;p.identifierName=Q,p.identifierModuleUrl=function(X1){const se=X1.reference;return se instanceof eC.StaticSymbol?se.filePath:`./${xB.stringify(se)}`},p.viewClassName=function(X1,se){return`View_${Q({reference:X1})}_${se}`},p.rendererTypeName=function(X1){return`RenderType_${Q({reference:X1})}`},p.hostViewClassName=function(X1){return`HostView_${Q({reference:X1})}`},p.componentFactoryName=function(X1){return`${Q({reference:X1})}NgFactory`},function(X1){X1[X1.Pipe=0]=\"Pipe\",X1[X1.Directive=1]=\"Directive\",X1[X1.NgModule=2]=\"NgModule\",X1[X1.Injectable=3]=\"Injectable\"}($0=p.CompileSummaryKind||(p.CompileSummaryKind={})),p.tokenName=function(X1){return X1.value!=null?y(X1.value):Q(X1.identifier)},p.tokenReference=function(X1){return X1.identifier!=null?X1.identifier.reference:X1.value},p.CompileStylesheetMetadata=class{constructor({moduleUrl:X1,styles:se,styleUrls:be}={}){this.moduleUrl=X1||null,this.styles=Z0(se),this.styleUrls=Z0(be)}},p.CompileTemplateMetadata=class{constructor({encapsulation:X1,template:se,templateUrl:be,htmlAst:Je,styles:ft,styleUrls:Xr,externalStylesheets:on,animations:Wr,ngContentSelectors:Zi,interpolation:hs,isInline:Ao,preserveWhitespaces:Hs}){if(this.encapsulation=X1,this.template=se,this.templateUrl=be,this.htmlAst=Je,this.styles=Z0(ft),this.styleUrls=Z0(Xr),this.externalStylesheets=Z0(on),this.animations=Wr?g1(Wr):[],this.ngContentSelectors=Zi||[],hs&&hs.length!=2)throw new Error(\"'interpolation' should have a start and an end symbol.\");this.interpolation=hs,this.isInline=Ao,this.preserveWhitespaces=Hs}toSummary(){return{ngContentSelectors:this.ngContentSelectors,encapsulation:this.encapsulation,styles:this.styles,animations:this.animations}}};class j0{static create({isHost:se,type:be,isComponent:Je,selector:ft,exportAs:Xr,changeDetection:on,inputs:Wr,outputs:Zi,host:hs,providers:Ao,viewProviders:Hs,queries:Oc,guards:Nd,viewQueries:qd,entryComponents:Hl,template:gf,componentViewType:Qh,rendererType:N8,componentFactory:o8}){const P5={},gN={},_N={};hs!=null&&Object.keys(hs).forEach(DI=>{const RM=hs[DI],EK=DI.match(h);EK===null?_N[DI]=RM:EK[1]!=null?gN[EK[1]]=RM:EK[2]!=null&&(P5[EK[2]]=RM)});const yN={};Wr!=null&&Wr.forEach(DI=>{const RM=xB.splitAtColon(DI,[DI,DI]);yN[RM[0]]=RM[1]});const zV={};return Zi!=null&&Zi.forEach(DI=>{const RM=xB.splitAtColon(DI,[DI,DI]);zV[RM[0]]=RM[1]}),new j0({isHost:se,type:be,isComponent:!!Je,selector:ft,exportAs:Xr,changeDetection:on,inputs:yN,outputs:zV,hostListeners:P5,hostProperties:gN,hostAttributes:_N,providers:Ao,viewProviders:Hs,queries:Oc,guards:Nd,viewQueries:qd,entryComponents:Hl,template:gf,componentViewType:Qh,rendererType:N8,componentFactory:o8})}constructor({isHost:se,type:be,isComponent:Je,selector:ft,exportAs:Xr,changeDetection:on,inputs:Wr,outputs:Zi,hostListeners:hs,hostProperties:Ao,hostAttributes:Hs,providers:Oc,viewProviders:Nd,queries:qd,guards:Hl,viewQueries:gf,entryComponents:Qh,template:N8,componentViewType:o8,rendererType:P5,componentFactory:gN}){this.isHost=!!se,this.type=be,this.isComponent=Je,this.selector=ft,this.exportAs=Xr,this.changeDetection=on,this.inputs=Wr,this.outputs=Zi,this.hostListeners=hs,this.hostProperties=Ao,this.hostAttributes=Hs,this.providers=Z0(Oc),this.viewProviders=Z0(Nd),this.queries=Z0(qd),this.guards=Hl,this.viewQueries=Z0(gf),this.entryComponents=Z0(Qh),this.template=N8,this.componentViewType=o8,this.rendererType=P5,this.componentFactory=gN}toSummary(){return{summaryKind:$0.Directive,type:this.type,isComponent:this.isComponent,selector:this.selector,exportAs:this.exportAs,inputs:this.inputs,outputs:this.outputs,hostListeners:this.hostListeners,hostProperties:this.hostProperties,hostAttributes:this.hostAttributes,providers:this.providers,viewProviders:this.viewProviders,queries:this.queries,guards:this.guards,viewQueries:this.viewQueries,entryComponents:this.entryComponents,changeDetection:this.changeDetection,template:this.template&&this.template.toSummary(),componentViewType:this.componentViewType,rendererType:this.rendererType,componentFactory:this.componentFactory}}}p.CompileDirectiveMetadata=j0,p.CompilePipeMetadata=class{constructor({type:X1,name:se,pure:be}){this.type=X1,this.name=se,this.pure=!!be}toSummary(){return{summaryKind:$0.Pipe,type:this.type,name:this.name,pure:this.pure}}},p.CompileShallowModuleMetadata=class{},p.CompileNgModuleMetadata=class{constructor({type:X1,providers:se,declaredDirectives:be,exportedDirectives:Je,declaredPipes:ft,exportedPipes:Xr,entryComponents:on,bootstrapComponents:Wr,importedModules:Zi,exportedModules:hs,schemas:Ao,transitiveModule:Hs,id:Oc}){this.type=X1||null,this.declaredDirectives=Z0(be),this.exportedDirectives=Z0(Je),this.declaredPipes=Z0(ft),this.exportedPipes=Z0(Xr),this.providers=Z0(se),this.entryComponents=Z0(on),this.bootstrapComponents=Z0(Wr),this.importedModules=Z0(Zi),this.exportedModules=Z0(hs),this.schemas=Z0(Ao),this.id=Oc||null,this.transitiveModule=Hs||null}toSummary(){const X1=this.transitiveModule;return{summaryKind:$0.NgModule,type:this.type,entryComponents:X1.entryComponents,providers:X1.providers,modules:X1.modules,exportedDirectives:X1.exportedDirectives,exportedPipes:X1.exportedPipes}}};function Z0(X1){return X1||[]}p.TransitiveCompileNgModuleMetadata=class{constructor(){this.directivesSet=new Set,this.directives=[],this.exportedDirectivesSet=new Set,this.exportedDirectives=[],this.pipesSet=new Set,this.pipes=[],this.exportedPipesSet=new Set,this.exportedPipes=[],this.modulesSet=new Set,this.modules=[],this.entryComponentsSet=new Set,this.entryComponents=[],this.providers=[]}addProvider(X1,se){this.providers.push({provider:X1,module:se})}addDirective(X1){this.directivesSet.has(X1.reference)||(this.directivesSet.add(X1.reference),this.directives.push(X1))}addExportedDirective(X1){this.exportedDirectivesSet.has(X1.reference)||(this.exportedDirectivesSet.add(X1.reference),this.exportedDirectives.push(X1))}addPipe(X1){this.pipesSet.has(X1.reference)||(this.pipesSet.add(X1.reference),this.pipes.push(X1))}addExportedPipe(X1){this.exportedPipesSet.has(X1.reference)||(this.exportedPipesSet.add(X1.reference),this.exportedPipes.push(X1))}addModule(X1){this.modulesSet.has(X1.reference)||(this.modulesSet.add(X1.reference),this.modules.push(X1))}addEntryComponent(X1){this.entryComponentsSet.has(X1.componentType)||(this.entryComponentsSet.add(X1.componentType),this.entryComponents.push(X1))}};function g1(X1){return X1.reduce((se,be)=>{const Je=Array.isArray(be)?g1(be):be;return se.concat(Je)},[])}function z1(X1){return X1.replace(/(\\w+:\\/\\/[\\w:-]+)?(\\/+)?/,\"ng:///\")}p.ProviderMeta=class{constructor(X1,{useClass:se,useValue:be,useExisting:Je,useFactory:ft,deps:Xr,multi:on}){this.token=X1,this.useClass=se||null,this.useValue=be,this.useExisting=Je,this.useFactory=ft||null,this.dependencies=Xr||null,this.multi=!!on}},p.flatten=g1,p.templateSourceUrl=function(X1,se,be){let Je;return Je=be.isInline?se.type.reference instanceof eC.StaticSymbol?`${se.type.reference.filePath}.${se.type.reference.name}.html`:`${Q(X1)}/${Q(se.type)}.html`:be.templateUrl,se.type.reference instanceof eC.StaticSymbol?Je:z1(Je)},p.sharedStylesheetJitUrl=function(X1,se){const be=X1.moduleUrl.split(/\\/\\\\/g);return z1(`css/${se}${be[be.length-1]}.ngstyle.js`)},p.ngModuleJitUrl=function(X1){return z1(`${Q(X1.type)}/module.ngfactory.js`)},p.templateJitUrl=function(X1,se){return z1(`${Q(X1)}/${Q(se.type)}.ngfactory.js`)}}),oC=s0(function(o,p){Object.defineProperty(p,\"__esModule\",{value:!0});/**\n     * @license\n     * Copyright Google Inc. All Rights Reserved.\n     *\n     * Use of this source code is governed by an MIT-style license that can be\n     * found in the LICENSE file at https://angular.io/license\n     */class h{constructor(j0,Z0,g1,z1){this.file=j0,this.offset=Z0,this.line=g1,this.col=z1}toString(){return this.offset!=null?`${this.file.url}@${this.line}:${this.col}`:this.file.url}moveBy(j0){const Z0=this.file.content,g1=Z0.length;let z1=this.offset,X1=this.line,se=this.col;for(;z1>0&&j0<0;)if(z1--,j0++,Z0.charCodeAt(z1)==AM.$LF){X1--;const be=Z0.substr(0,z1-1).lastIndexOf(String.fromCharCode(AM.$LF));se=be>0?z1-be:z1}else se--;for(;z1<g1&&j0>0;){const be=Z0.charCodeAt(z1);z1++,j0--,be==AM.$LF?(X1++,se=0):se++}return new h(this.file,z1,X1,se)}getContext(j0,Z0){const g1=this.file.content;let z1=this.offset;if(z1!=null){z1>g1.length-1&&(z1=g1.length-1);let X1=z1,se=0,be=0;for(;se<j0&&z1>0&&(z1--,se++,g1[z1]!=`\n`||++be!=Z0););for(se=0,be=0;se<j0&&X1<g1.length-1&&(X1++,se++,g1[X1]!=`\n`||++be!=Z0););return{before:g1.substring(z1,this.offset),after:g1.substring(this.offset,X1+1)}}return null}}p.ParseLocation=h;class y{constructor(j0,Z0){this.content=j0,this.url=Z0}}p.ParseSourceFile=y;class k{constructor(j0,Z0,g1=null){this.start=j0,this.end=Z0,this.details=g1}toString(){return this.start.file.content.substring(this.start.offset,this.end.offset)}}var Q;p.ParseSourceSpan=k,p.EMPTY_PARSE_LOCATION=new h(new y(\"\",\"\"),0,0,0),p.EMPTY_SOURCE_SPAN=new k(p.EMPTY_PARSE_LOCATION,p.EMPTY_PARSE_LOCATION),function($0){$0[$0.WARNING=0]=\"WARNING\",$0[$0.ERROR=1]=\"ERROR\"}(Q=p.ParseErrorLevel||(p.ParseErrorLevel={})),p.ParseError=class{constructor($0,j0,Z0=Q.ERROR){this.span=$0,this.msg=j0,this.level=Z0}contextualMessage(){const $0=this.span.start.getContext(100,3);return $0?`${this.msg} (\"${$0.before}[${Q[this.level]} ->]${$0.after}\")`:this.msg}toString(){const $0=this.span.details?`, ${this.span.details}`:\"\";return`${this.contextualMessage()}: ${this.span.start}${$0}`}},p.typeSourceSpan=function($0,j0){const Z0=Q_.identifierModuleUrl(j0),g1=Z0!=null?`in ${$0} ${Q_.identifierName(j0)} in ${Z0}`:`in ${$0} ${Q_.identifierName(j0)}`,z1=new y(\"\",g1);return new k(new h(z1,-1,-1,-1),new h(z1,-1,-1,-1))},p.r3JitTypeSourceSpan=function($0,j0,Z0){const g1=new y(\"\",`in ${$0} ${j0} in ${Z0}`);return new k(new h(g1,-1,-1,-1),new h(g1,-1,-1,-1))}});const{ParseSourceSpan:FP}=oC,{htmlTrim:ky,getLeadingAndTrailingHtmlWhitespace:sC,hasHtmlWhitespace:uC,canHaveInterpolation:a8,getNodeCssStyleDisplay:FU,isDanglingSpaceSensitiveNode:MD,isIndentationSensitiveNode:Hu,isLeadingSpaceSensitiveNode:t3,isTrailingSpaceSensitiveNode:xO,isWhitespaceSensitiveNode:AU}=sc,_b=[function(o){return o.map(p=>{if(p.type===\"element\"&&p.tagDefinition.ignoreFirstLf&&p.children.length>0&&p.children[0].type===\"text\"&&p.children[0].value[0]===`\n`){const[h,...y]=p.children;return p.clone({children:h.value.length===1?y:[h.clone({value:h.value.slice(1)}),...y]})}return p})},function(o){const p=h=>h.type===\"element\"&&h.prev&&h.prev.type===\"ieConditionalStartComment\"&&h.prev.sourceSpan.end.offset===h.startSourceSpan.start.offset&&h.firstChild&&h.firstChild.type===\"ieConditionalEndComment\"&&h.firstChild.sourceSpan.start.offset===h.startSourceSpan.end.offset;return o.map(h=>{if(h.children){const y=h.children.map(p);if(y.some(Boolean)){const k=[];for(let Q=0;Q<h.children.length;Q++){const $0=h.children[Q];if(!y[Q+1])if(y[Q]){const j0=$0.prev,Z0=$0.firstChild,g1=new FP(j0.sourceSpan.start,Z0.sourceSpan.end),z1=new FP(g1.start,$0.sourceSpan.end);k.push($0.clone({condition:j0.condition,sourceSpan:z1,startSourceSpan:g1,children:$0.children.slice(1)}))}else k.push($0)}return h.clone({children:k})}}return h})},function(o){return function(p,h,y){return p.map(k=>{if(k.children){const Q=k.children.map(h);if(Q.some(Boolean)){const $0=[];for(let j0=0;j0<k.children.length;j0++){const Z0=k.children[j0];if(Z0.type!==\"text\"&&!Q[j0]){$0.push(Z0);continue}const g1=Z0.type===\"text\"?Z0:Z0.clone({type:\"text\",value:y(Z0)});if($0.length===0||l_($0).type!==\"text\"){$0.push(g1);continue}const z1=$0.pop();$0.push(z1.clone({value:z1.value+g1.value,sourceSpan:new FP(z1.sourceSpan.start,g1.sourceSpan.end)}))}return k.clone({children:$0})}}return k})}(o,p=>p.type===\"cdata\",p=>`<![CDATA[${p.value}]]>`)},function(o,p){if(p.parser===\"html\")return o;const h=/{{(.+?)}}/gs;return o.map(y=>{if(!a8(y))return y;const k=[];for(const Q of y.children){if(Q.type!==\"text\"){k.push(Q);continue}let $0=Q.sourceSpan.start,j0=null;const Z0=Q.value.split(h);for(let g1=0;g1<Z0.length;g1++,$0=j0){const z1=Z0[g1];g1%2!=0?(j0=$0.moveBy(z1.length+4),k.push({type:\"interpolation\",sourceSpan:new FP($0,j0),children:z1.length===0?[]:[{type:\"text\",value:z1,sourceSpan:new FP($0.moveBy(2),j0.moveBy(-2))}]})):(j0=$0.moveBy(z1.length),z1.length>0&&k.push({type:\"text\",value:z1,sourceSpan:new FP($0,j0)}))}}return y.clone({children:k})})},function(o){return o.map(p=>{if(!p.children)return p;if(p.children.length===0||p.children.length===1&&p.children[0].type===\"text\"&&ky(p.children[0].value).length===0)return p.clone({children:[],hasDanglingSpaces:p.children.length>0});const h=AU(p),y=Hu(p);return p.clone({isWhitespaceSensitive:h,isIndentationSensitive:y,children:p.children.flatMap(k=>{if(k.type!==\"text\"||h)return k;const Q=[],{leadingWhitespace:$0,text:j0,trailingWhitespace:Z0}=sC(k.value);return $0&&Q.push(NM),j0&&Q.push({type:\"text\",value:j0,sourceSpan:new FP(k.sourceSpan.start.moveBy($0.length),k.sourceSpan.end.moveBy(-Z0.length))}),Z0&&Q.push(NM),Q}).map((k,Q,$0)=>{if(k!==NM)return Object.assign(Object.assign({},k),{},{hasLeadingSpaces:$0[Q-1]===NM,hasTrailingSpaces:$0[Q+1]===NM})}).filter(Boolean)})})},function(o,p){return o.map(h=>Object.assign(h,{cssDisplay:FU(h,p)}))},function(o){return o.map(p=>Object.assign(p,{isSelfClosing:!p.children||p.type===\"element\"&&(p.tagDefinition.isVoid||p.startSourceSpan===p.endSourceSpan)}))},function(o,p){return o.map(h=>h.type!==\"element\"?h:Object.assign(h,{hasHtmComponentClosingTag:h.endSourceSpan&&/^<\\s*\\/\\s*\\/\\s*>$/.test(p.originalText.slice(h.endSourceSpan.start.offset,h.endSourceSpan.end.offset))}))},function(o,p){return o.map(h=>h.children?h.children.length===0?h.clone({isDanglingSpaceSensitive:MD(h)}):h.clone({children:h.children.map(y=>Object.assign(Object.assign({},y),{},{isLeadingSpaceSensitive:t3(y,p),isTrailingSpaceSensitive:xO(y,p)})).map((y,k,Q)=>Object.assign(Object.assign({},y),{},{isLeadingSpaceSensitive:(k===0||Q[k-1].isTrailingSpaceSensitive)&&y.isLeadingSpaceSensitive,isTrailingSpaceSensitive:(k===Q.length-1||Q[k+1].isLeadingSpaceSensitive)&&y.isTrailingSpaceSensitive}))}):h)},function(o){const p=h=>h.type===\"element\"&&h.attrs.length===0&&h.children.length===1&&h.firstChild.type===\"text\"&&!uC(h.children[0].value)&&!h.firstChild.hasLeadingSpaces&&!h.firstChild.hasTrailingSpaces&&h.isLeadingSpaceSensitive&&!h.hasLeadingSpaces&&h.isTrailingSpaceSensitive&&!h.hasTrailingSpaces&&h.prev&&h.prev.type===\"text\"&&h.next&&h.next.type===\"text\";return o.map(h=>{if(h.children){const y=h.children.map(p);if(y.some(Boolean)){const k=[];for(let Q=0;Q<h.children.length;Q++){const $0=h.children[Q];if(y[Q]){const j0=k.pop(),Z0=h.children[++Q],{isTrailingSpaceSensitive:g1,hasTrailingSpaces:z1}=Z0;k.push(j0.clone({value:j0.value+`<${$0.rawName}>`+$0.firstChild.value+`</${$0.rawName}>`+Z0.value,sourceSpan:new FP(j0.sourceSpan.start,Z0.sourceSpan.end),isTrailingSpaceSensitive:g1,hasTrailingSpaces:z1}))}else k.push($0)}return h.clone({children:k})}}return h})}],NM={type:\"whitespace\"};var ME=function(o,p){for(const h of _b)o=h(o,p);return o},r3={hasPragma:function(o){return/^\\s*<!--\\s*@(format|prettier)\\s*-->/.test(o)},insertPragma:function(o){return`<!-- @format -->\n\n`+o.replace(/^\\s*\\n/,\"\")}},n3={locStart:function(o){return o.sourceSpan.start.offset},locEnd:function(o){return o.sourceSpan.end.offset}};const{builders:{group:i3}}=xp;var RE={isVueEventBindingExpression:function(o){const p=o.trim();return/^([\\w$]+|\\([^)]*?\\))\\s*=>|^function\\s*\\(/.test(p)||/^[$A-Z_a-z][\\w$]*(?:\\.[$A-Z_a-z][\\w$]*|\\['[^']*?']|\\[\"[^\"]*?\"]|\\[\\d+]|\\[[$A-Z_a-z][\\w$]*])*$/.test(p)},printVueFor:function(o,p){const{left:h,operator:y,right:k}=function(Q){const $0=/(.*?)\\s+(in|of)\\s+(.*)/s,j0=/,([^,\\]}]*)(?:,([^,\\]}]*))?$/,Z0=/^\\(|\\)$/g,g1=Q.match($0);if(!g1)return;const z1={};z1.for=g1[3].trim();const X1=g1[1].trim().replace(Z0,\"\"),se=X1.match(j0);return se?(z1.alias=X1.replace(j0,\"\"),z1.iterator1=se[1].trim(),se[2]&&(z1.iterator2=se[2].trim())):z1.alias=X1,{left:`${[z1.alias,z1.iterator1,z1.iterator2].filter(Boolean).join(\",\")}`,operator:g1[2],right:z1.for}}(o);return[i3(p(`function _(${h}) {}`,{parser:\"babel\",__isVueForBindingLeft:!0})),\" \",y,\" \",p(k,{parser:\"__js_expression\"},{stripTrailingHardline:!0})]},printVueBindings:function(o,p){return p(`function _(${o}) {}`,{parser:\"babel\",__isVueBindings:!0})}},a3=s0(function(o){var p,h;p=R,h=function(){return function(y,k){var Q=k&&k.logger||console;function $0(Nd){return Nd===\" \"||Nd===\"\t\"||Nd===`\n`||Nd===\"\\f\"||Nd===\"\\r\"}function j0(Nd){var qd,Hl=Nd.exec(y.substring(hs));if(Hl)return qd=Hl[0],hs+=qd.length,qd}for(var Z0,g1,z1,X1,se,be=y.length,Je=/^[ \\t\\n\\r\\u000c]+/,ft=/^[, \\t\\n\\r\\u000c]+/,Xr=/^[^ \\t\\n\\r\\u000c]+/,on=/[,]+$/,Wr=/^\\d+$/,Zi=/^-?(?:[0-9]+|[0-9]*\\.[0-9]+)(?:[eE][+-]?[0-9]+)?$/,hs=0,Ao=[];;){if(j0(ft),hs>=be)return Ao;Z0=j0(Xr),g1=[],Z0.slice(-1)===\",\"?(Z0=Z0.replace(on,\"\"),Oc()):Hs()}function Hs(){for(j0(Je),z1=\"\",X1=\"in descriptor\";;){if(se=y.charAt(hs),X1===\"in descriptor\")if($0(se))z1&&(g1.push(z1),z1=\"\",X1=\"after descriptor\");else{if(se===\",\")return hs+=1,z1&&g1.push(z1),void Oc();if(se===\"(\")z1+=se,X1=\"in parens\";else{if(se===\"\")return z1&&g1.push(z1),void Oc();z1+=se}}else if(X1===\"in parens\")if(se===\")\")z1+=se,X1=\"in descriptor\";else{if(se===\"\")return g1.push(z1),void Oc();z1+=se}else if(X1===\"after descriptor\"&&!$0(se)){if(se===\"\")return void Oc();X1=\"in descriptor\",hs-=1}hs+=1}}function Oc(){var Nd,qd,Hl,gf,Qh,N8,o8,P5,gN,_N=!1,yN={};for(gf=0;gf<g1.length;gf++)N8=(Qh=g1[gf])[Qh.length-1],o8=Qh.substring(0,Qh.length-1),P5=parseInt(o8,10),gN=parseFloat(o8),Wr.test(o8)&&N8===\"w\"?((Nd||qd)&&(_N=!0),P5===0?_N=!0:Nd=P5):Zi.test(o8)&&N8===\"x\"?((Nd||qd||Hl)&&(_N=!0),gN<0?_N=!0:qd=gN):Wr.test(o8)&&N8===\"h\"?((Hl||qd)&&(_N=!0),P5===0?_N=!0:Hl=P5):_N=!0;_N?Q&&Q.error&&Q.error(\"Invalid srcset descriptor found in '\"+y+\"' at '\"+Qh+\"'.\"):(yN.url=Z0,Nd&&(yN.w=Nd),qd&&(yN.d=qd),Hl&&(yN.h=Hl),Ao.push(yN))}}},o.exports?o.exports=h():p.parseSrcset=h()});const{builders:{group:uj,ifBreak:TU,indent:dw,join:Ce,line:AP,softline:yL}}=xp,eB=[\":\",\"__\",\"--\",\"_\",\"-\"];function DL(o){const p=o.search(/[^_-]/);if(p!==-1)for(const h of eB){const y=o.indexOf(h,p);if(y!==-1)return o.slice(0,y)}return o}var cj={printImgSrcset:function(o){const p=a3(o,{logger:{error(se){throw new Error(se)}}}),h=p.some(({w:se})=>se),y=p.some(({h:se})=>se);if(h+y+p.some(({d:se})=>se)>1)throw new Error(\"Mixed descriptor in srcset is not supported\");const k=h?\"w\":y?\"h\":\"d\",Q=h?\"w\":y?\"h\":\"x\",$0=se=>Math.max(...se),j0=p.map(se=>se.url),Z0=$0(j0.map(se=>se.length)),g1=p.map(se=>se[k]).map(se=>se?se.toString():\"\"),z1=g1.map(se=>{const be=se.indexOf(\".\");return be===-1?se.length:be}),X1=$0(z1);return Ce([\",\",AP],j0.map((se,be)=>{const Je=[se],ft=g1[be];if(ft){const Xr=Z0-se.length+1,on=X1-z1[be],Wr=\" \".repeat(Xr+on);Je.push(TU(Wr,\" \"),ft+Q)}return Je}))},printClassNames:function(o){const p=o.trim().split(/\\s+/),h=[];let y;for(let k=0;k<p.length;k++){const Q=DL(p[k]);Q!==y&&Q!==p[k-1]&&h.push([]),l_(h).push(p[k]),y=Q}return[dw([yL,Ce(AP,h.map(k=>uj(Ce(AP,k))))]),yL]}};const{builders:{breakParent:eO,dedentToRoot:jV,fill:UV,group:kw,hardline:ok,ifBreak:t,indentIfBreak:VV,indent:k5,join:fK,line:nF,literalline:C9,softline:PA},utils:{mapDoc:YN,cleanDoc:vL,getDocParts:A4,isConcat:tB,replaceEndOfLineWith:yI}}=xp,{isNonEmptyArray:pK}=Po,{htmlTrimPreserveIndentation:dK,splitByHtmlWhitespace:lj,countChars:fj,countParents:d8,dedentString:pj,forceBreakChildren:dj,forceBreakContent:wU,forceNextEmptyLine:kU,getLastDescendant:mK,getPrettierIgnoreAttributeCommentData:hK,hasPrettierIgnore:mj,inferScriptParser:bL,isVueCustomBlock:gK,isVueNonHtmlBlock:_K,isVueSlotAttribute:yK,isVueSfcBindingsAttribute:rB,isScriptLikeTag:tO,isTextLikeNode:q9,preferHardlineAsLeadingSpaces:v6,shouldNotPrintClosingTag:DK,shouldPreserveContent:J9,unescapeQuoteEntities:NU,isPreLikeNode:i9}=sc,{insertPragma:vK}=r3,{locStart:$V,locEnd:PM}=n3,{printVueFor:IM,printVueBindings:bK,isVueEventBindingExpression:PU}=RE,{printImgSrcset:CK,printClassNames:IU}=cj;function TP(o,p,h){const y=o.getValue();if(dj(y))return[eO,...o.map(j0=>{const Z0=j0.getValue(),g1=Z0.prev?$0(Z0.prev,Z0):\"\";return[g1?[g1,kU(Z0.prev)?ok:\"\"]:\"\",Q(j0)]},\"children\")];const k=y.children.map(()=>Symbol(\"\"));return o.map((j0,Z0)=>{const g1=j0.getValue();if(q9(g1)){if(g1.prev&&q9(g1.prev)){const Xr=$0(g1.prev,g1);if(Xr)return kU(g1.prev)?[ok,ok,Q(j0)]:[Xr,Q(j0)]}return Q(j0)}const z1=[],X1=[],se=[],be=[],Je=g1.prev?$0(g1.prev,g1):\"\",ft=g1.next?$0(g1,g1.next):\"\";return Je&&(kU(g1.prev)?z1.push(ok,ok):Je===ok?z1.push(ok):q9(g1.prev)?X1.push(Je):X1.push(t(\"\",PA,{groupId:k[Z0-1]}))),ft&&(kU(g1)?q9(g1.next)&&be.push(ok,ok):ft===ok?q9(g1.next)&&be.push(ok):se.push(ft)),[...z1,kw([...X1,kw([Q(j0),...se],{id:k[Z0]})]),...be]},\"children\");function Q(j0){const Z0=j0.getValue();return mj(Z0)?[zS(Z0,p),...yI(p.originalText.slice($V(Z0)+(Z0.prev&&LM(Z0.prev)?wP(Z0).length:0),PM(Z0)-(Z0.next&&QN(Z0.next)?_j(Z0,p).length:0)),C9),wo(Z0,p)]:h()}function $0(j0,Z0){return q9(j0)&&q9(Z0)?j0.isTrailingSpaceSensitive?j0.hasTrailingSpaces?v6(Z0)?ok:nF:\"\":v6(Z0)?ok:PA:LM(j0)&&(mj(Z0)||Z0.firstChild||Z0.isSelfClosing||Z0.type===\"element\"&&Z0.attrs.length>0)||j0.type===\"element\"&&j0.isSelfClosing&&QN(Z0)?\"\":!Z0.isLeadingSpaceSensitive||v6(Z0)||QN(Z0)&&j0.lastChild&&HA(j0.lastChild)&&j0.lastChild.lastChild&&HA(j0.lastChild.lastChild)?ok:Z0.hasLeadingSpaces?nF:PA}}function KV(o,p){let h=o.startSourceSpan.end.offset;o.firstChild&&gj(o.firstChild)&&(h-=a9(o).length);let y=o.endSourceSpan.start.offset;return o.lastChild&&HA(o.lastChild)?y+=CL(o,p).length:MM(o)&&(y-=_j(o.lastChild,p).length),p.originalText.slice(h,y)}function S2(o,p,h){const y=o.getValue();if(!pK(y.attrs))return y.isSelfClosing?\" \":\"\";const k=y.prev&&y.prev.type===\"comment\"&&hK(y.prev.value),Q=typeof k==\"boolean\"?()=>k:Array.isArray(k)?g1=>k.includes(g1.rawName):()=>!1,$0=o.map(g1=>{const z1=g1.getValue();return Q(z1)?yI(p.originalText.slice($V(z1),PM(z1)),C9):h()},\"attrs\"),j0=y.type===\"element\"&&y.fullName===\"script\"&&y.attrs.length===1&&y.attrs[0].fullName===\"src\"&&y.children.length===0,Z0=[k5([j0?\" \":nF,fK(nF,$0)])];return y.firstChild&&gj(y.firstChild)||y.isSelfClosing&&MM(y.parent)||j0?Z0.push(y.isSelfClosing?\" \":\"\"):Z0.push(y.isSelfClosing?nF:PA),Z0}function nB(o,p,h){const y=o.getValue();return[OM(y,p),S2(o,p,h),y.isSelfClosing?\"\":HT(y)]}function OM(o,p){return o.prev&&LM(o.prev)?\"\":[zS(o,p),wP(o)]}function HT(o){return o.firstChild&&gj(o.firstChild)?\"\":a9(o)}function sk(o,p){return[o.isSelfClosing?\"\":hj(o,p),BM(o,p)]}function hj(o,p){return o.lastChild&&HA(o.lastChild)?\"\":[rh(o,p),CL(o,p)]}function BM(o,p){return(o.next?QN(o.next):MM(o.parent))?\"\":[_j(o,p),wo(o,p)]}function LM(o){return o.next&&!q9(o.next)&&q9(o)&&o.isTrailingSpaceSensitive&&!o.hasTrailingSpaces}function gj(o){return!o.prev&&o.isLeadingSpaceSensitive&&!o.hasLeadingSpaces}function QN(o){return o.prev&&o.prev.type!==\"docType\"&&!q9(o.prev)&&o.isLeadingSpaceSensitive&&!o.hasLeadingSpaces}function MM(o){return o.lastChild&&o.lastChild.isTrailingSpaceSensitive&&!o.lastChild.hasTrailingSpaces&&!q9(mK(o.lastChild))&&!i9(o)}function HA(o){return!o.next&&!o.hasTrailingSpaces&&o.isTrailingSpaceSensitive&&q9(mK(o))}function zS(o,p){return gj(o)?a9(o.parent):QN(o)?_j(o.prev,p):\"\"}function rh(o,p){return MM(o)?_j(o.lastChild,p):\"\"}function wo(o,p){return HA(o)?CL(o.parent,p):LM(o)?wP(o.next):\"\"}function wP(o){switch(o.type){case\"ieConditionalComment\":case\"ieConditionalStartComment\":return`<!--[if ${o.condition}`;case\"ieConditionalEndComment\":return\"<!--<!\";case\"interpolation\":return\"{{\";case\"docType\":return\"<!DOCTYPE\";case\"element\":if(o.condition)return`<!--[if ${o.condition}]><!--><${o.rawName}`;default:return`<${o.rawName}`}}function a9(o){switch(D(!o.isSelfClosing),o.type){case\"ieConditionalComment\":return\"]>\";case\"element\":if(o.condition)return\"><!--<![endif]-->\";default:return\">\"}}function CL(o,p){if(D(!o.isSelfClosing),DK(o,p))return\"\";switch(o.type){case\"ieConditionalComment\":return\"<!\";case\"element\":if(o.hasHtmComponentClosingTag)return\"<//\";default:return`</${o.rawName}`}}function _j(o,p){if(DK(o,p))return\"\";switch(o.type){case\"ieConditionalComment\":case\"ieConditionalEndComment\":return\"[endif]-->\";case\"ieConditionalStartComment\":return\"]><!-->\";case\"interpolation\":return\"}}\";case\"element\":if(o.isSelfClosing)return\"/>\";default:return\">\"}}function r(o,p=o.value){return o.parent.isWhitespaceSensitive?o.parent.isIndentationSensitive?yI(p,C9):yI(pj(dK(p)),ok):A4(fK(nF,lj(p)))}var f={preprocess:ME,print:function(o,p,h){const y=o.getValue();switch(y.type){case\"front-matter\":return yI(y.raw,C9);case\"root\":return p.__onHtmlRoot&&p.__onHtmlRoot(y),[kw(TP(o,p,h)),ok];case\"element\":case\"ieConditionalComment\":{if(J9(y,p))return[zS(y,p),kw(nB(o,p,h)),...yI(KV(y,p),C9),...sk(y,p),wo(y,p)];const Q=y.children.length===1&&y.firstChild.type===\"interpolation\"&&y.firstChild.isLeadingSpaceSensitive&&!y.firstChild.hasLeadingSpaces&&y.lastChild.isTrailingSpaceSensitive&&!y.lastChild.hasTrailingSpaces,$0=Symbol(\"element-attr-group-id\");return[kw([kw(nB(o,p,h),{id:$0}),y.children.length===0?y.hasDanglingSpaces&&y.isDanglingSpaceSensitive?nF:\"\":[wU(y)?eO:\"\",(k=[Q?t(PA,\"\",{groupId:$0}):y.firstChild.hasLeadingSpaces&&y.firstChild.isLeadingSpaceSensitive?nF:y.firstChild.type===\"text\"&&y.isWhitespaceSensitive&&y.isIndentationSensitive?jV(PA):PA,TP(o,p,h)],Q?VV(k,{groupId:$0}):!tO(y)&&!gK(y,p)||y.parent.type!==\"root\"||p.parser!==\"vue\"||p.vueIndentScriptAndStyle?k5(k):k),(y.next?QN(y.next):MM(y.parent))?y.lastChild.hasTrailingSpaces&&y.lastChild.isTrailingSpaceSensitive?\" \":\"\":Q?t(PA,\"\",{groupId:$0}):y.lastChild.hasTrailingSpaces&&y.lastChild.isTrailingSpaceSensitive?nF:(y.lastChild.type===\"comment\"||y.lastChild.type===\"text\"&&y.isWhitespaceSensitive&&y.isIndentationSensitive)&&new RegExp(`\\\\n[\\\\t ]{${p.tabWidth*d8(o,j0=>j0.parent&&j0.parent.type!==\"root\")}}$`).test(y.lastChild.value)?\"\":PA]]),sk(y,p)]}case\"ieConditionalStartComment\":case\"ieConditionalEndComment\":return[OM(y),BM(y)];case\"interpolation\":return[OM(y,p),...o.map(h,\"children\"),BM(y,p)];case\"text\":{if(y.parent.type===\"interpolation\"){const $0=/\\n[^\\S\\n]*?$/,j0=$0.test(y.value),Z0=j0?y.value.replace($0,\"\"):y.value;return[...yI(Z0,C9),j0?ok:\"\"]}const Q=vL([zS(y,p),...r(y),wo(y,p)]);return tB(Q)||Q.type===\"fill\"?UV(A4(Q)):Q}case\"docType\":return[kw([OM(y,p),\" \",y.value.replace(/^html\\b/i,\"html\").replace(/\\s+/g,\" \")]),BM(y,p)];case\"comment\":return[zS(y,p),...yI(p.originalText.slice($V(y),PM(y)),C9),wo(y,p)];case\"attribute\":{if(y.value===null)return y.rawName;const Q=NU(y.value),$0=fj(Q,\"'\")<fj(Q,'\"')?\"'\":'\"';return[y.rawName,\"=\",$0,...yI($0==='\"'?Q.replace(/\"/g,\"&quot;\"):Q.replace(/'/g,\"&apos;\"),C9),$0]}default:throw new Error(`Unexpected node type ${y.type}`)}var k},insertPragma:vK,massageAstNode:hL,embed:function(o,p,h,y){const k=o.getValue();switch(k.type){case\"element\":if(tO(k)||k.type===\"interpolation\")return;if(!k.isSelfClosing&&_K(k,y)){const Q=bL(k,y);if(!Q)return;const $0=KV(k,y);let j0=/^\\s*$/.test($0),Z0=\"\";return j0||(Z0=h(dK($0),{parser:Q,__embeddedInHtml:!0},{stripTrailingHardline:!0}),j0=Z0===\"\"),[zS(k,y),kw(nB(o,y,p)),j0?\"\":ok,Z0,j0?\"\":ok,sk(k,y),wo(k,y)]}break;case\"text\":if(tO(k.parent)){const Q=bL(k.parent);if(Q){const $0=Q===\"markdown\"?pj(k.value.replace(/^[^\\S\\n]*?\\n/,\"\")):k.value,j0={parser:Q,__embeddedInHtml:!0};if(y.parser===\"html\"&&Q===\"babel\"){let Z0=\"script\";const{attrMap:g1}=k.parent;g1&&(g1.type===\"module\"||g1.type===\"text/babel\"&&g1[\"data-type\"]===\"module\")&&(Z0=\"module\"),j0.__babelSourceType=Z0}return[eO,zS(k,y),h($0,j0,{stripTrailingHardline:!0}),wo(k,y)]}}else if(k.parent.type===\"interpolation\"){const Q={__isInHtmlInterpolation:!0,__embeddedInHtml:!0};return y.parser===\"angular\"?(Q.parser=\"__ng_interpolation\",Q.trailingComma=\"none\"):y.parser===\"vue\"?Q.parser=\"__vue_expression\":Q.parser=\"__js_expression\",[k5([nF,h(k.value,Q,{stripTrailingHardline:!0})]),k.parent.next&&QN(k.parent.next)?\" \":nF]}break;case\"attribute\":{if(!k.value)break;if(/^PRETTIER_HTML_PLACEHOLDER_\\d+_\\d+_IN_JS$/.test(y.originalText.slice(k.valueSpan.start.offset,k.valueSpan.end.offset)))return[k.rawName,\"=\",k.value];if(y.parser===\"lwc\"&&/^{.*}$/s.test(y.originalText.slice(k.valueSpan.start.offset,k.valueSpan.end.offset)))return[k.rawName,\"=\",k.value];const Q=function($0,j0,Z0){const g1=on=>new RegExp(on.join(\"|\")).test($0.fullName),z1=()=>NU($0.value);let X1=!1;const se=(on,Wr)=>{const Zi=on.type===\"NGRoot\"?on.node.type===\"NGMicrosyntax\"&&on.node.body.length===1&&on.node.body[0].type===\"NGMicrosyntaxExpression\"?on.node.body[0].expression:on.node:on.type===\"JsExpressionRoot\"?on.node:on;!Zi||Zi.type!==\"ObjectExpression\"&&Zi.type!==\"ArrayExpression\"&&(Wr.parser!==\"__vue_expression\"||Zi.type!==\"TemplateLiteral\"&&Zi.type!==\"StringLiteral\")||(X1=!0)},be=on=>kw(on),Je=(on,Wr=!0)=>kw([k5([PA,on]),Wr?PA:\"\"]),ft=on=>X1?be(on):Je(on),Xr=(on,Wr)=>j0(on,Object.assign({__onHtmlBindingRoot:se,__embeddedInHtml:!0},Wr),{stripTrailingHardline:!0});if($0.fullName===\"srcset\"&&($0.parent.fullName===\"img\"||$0.parent.fullName===\"source\"))return Je(CK(z1()));if($0.fullName===\"class\"&&!Z0.parentParser){const on=z1();if(!on.includes(\"{{\"))return IU(on)}if($0.fullName===\"style\"&&!Z0.parentParser){const on=z1();if(!on.includes(\"{{\"))return Je(Xr(on,{parser:\"css\",__isHTMLStyleAttribute:!0}))}if(Z0.parser===\"vue\"){if($0.fullName===\"v-for\")return IM(z1(),Xr);if(yK($0)||rB($0,Z0))return bK(z1(),Xr);const on=[\"^:\",\"^v-bind:\"],Wr=[\"^v-\"];if(g1([\"^@\",\"^v-on:\"])){const Zi=z1();return ft(Xr(Zi,{parser:PU(Zi)?\"__js_expression\":\"__vue_event_binding\"}))}if(g1(on))return ft(Xr(z1(),{parser:\"__vue_expression\"}));if(g1(Wr))return ft(Xr(z1(),{parser:\"__js_expression\"}))}if(Z0.parser===\"angular\"){const on=(Oc,Nd)=>Xr(Oc,Object.assign(Object.assign({},Nd),{},{trailingComma:\"none\"})),Wr=[\"^\\\\*\"],Zi=[\"^\\\\[.+\\\\]$\",\"^bind(on)?-\",\"^ng-(if|show|hide|class|style)$\"],hs=[\"^i18n(-.+)?$\"];if(g1([\"^\\\\(.+\\\\)$\",\"^on-\"]))return ft(on(z1(),{parser:\"__ng_action\"}));if(g1(Zi))return ft(on(z1(),{parser:\"__ng_binding\"}));if(g1(hs)){const Oc=z1().trim();return Je(UV(r($0,Oc)),!Oc.includes(\"@@\"))}if(g1(Wr))return ft(on(z1(),{parser:\"__ng_directive\"}));const Ao=/{{(.+?)}}/gs,Hs=z1();if(Ao.test(Hs)){const Oc=[];for(const[Nd,qd]of Hs.split(Ao).entries())if(Nd%2==0)Oc.push(yI(qd,C9));else try{Oc.push(kw([\"{{\",k5([nF,on(qd,{parser:\"__ng_interpolation\",__isInHtmlInterpolation:!0})]),nF,\"}}\"]))}catch{Oc.push(\"{{\",yI(qd,C9),\"}}\")}return kw(Oc)}}return null}(k,($0,j0)=>h($0,Object.assign({__isInHtmlAttribute:!0,__embeddedInHtml:!0},j0),{stripTrailingHardline:!0}),y);if(Q)return[k.rawName,'=\"',kw(YN(Q,$0=>typeof $0==\"string\"?$0.replace(/\"/g,\"&quot;\"):$0)),'\"'];break}case\"front-matter\":return vy(k,h)}}};const g=\"HTML\";var E={htmlWhitespaceSensitivity:{since:\"1.15.0\",category:g,type:\"choice\",default:\"css\",description:\"How to handle whitespaces in HTML.\",choices:[{value:\"css\",description:\"Respect the default value of CSS display property.\"},{value:\"strict\",description:\"Whitespaces are considered sensitive.\"},{value:\"ignore\",description:\"Whitespaces are considered insensitive.\"}]},vueIndentScriptAndStyle:{since:\"1.19.0\",category:g,type:\"boolean\",default:!1,description:\"Indent script and style tags in Vue files.\"}},F={name:\"HTML\",type:\"markup\",tmScope:\"text.html.basic\",aceMode:\"html\",codemirrorMode:\"htmlmixed\",codemirrorMimeType:\"text/html\",color:\"#e34c26\",aliases:[\"xhtml\"],extensions:[\".html\",\".htm\",\".html.hl\",\".inc\",\".xht\",\".xhtml\"],languageId:146},q={name:\"Vue\",type:\"markup\",color:\"#41b883\",extensions:[\".vue\"],tmScope:\"text.html.vue\",aceMode:\"html\",languageId:391},T0={languages:[Kn(F,()=>({name:\"Angular\",since:\"1.15.0\",parsers:[\"angular\"],vscodeLanguageIds:[\"html\"],extensions:[\".component.html\"],filenames:[]})),Kn(F,o=>({since:\"1.15.0\",parsers:[\"html\"],vscodeLanguageIds:[\"html\"],extensions:[...o.extensions,\".mjml\"]})),Kn(F,()=>({name:\"Lightning Web Components\",since:\"1.17.0\",parsers:[\"lwc\"],vscodeLanguageIds:[\"html\"],extensions:[],filenames:[]})),Kn(q,()=>({since:\"1.10.0\",parsers:[\"vue\"],vscodeLanguageIds:[\"vue\"]}))],printers:{html:f},options:E,parsers:{get html(){return oH.exports.parsers.html},get vue(){return oH.exports.parsers.vue},get angular(){return oH.exports.parsers.angular},get lwc(){return oH.exports.parsers.lwc}}},u1={isPragma:function(o){return/^\\s*@(prettier|format)\\s*$/.test(o)},hasPragma:function(o){return/^\\s*#[^\\S\\n]*@(prettier|format)\\s*?(\\n|$)/.test(o)},insertPragma:function(o){return`# @format\n\n${o}`}},M1={locStart:function(o){return o.position.start.offset},locEnd:function(o){return o.position.end.offset}},A1=function(o,p,h,y){if(o.getValue().type===\"root\"&&y.filepath&&/(?:[/\\\\]|^)\\.prettierrc$/.test(y.filepath))return h(y.originalText,Object.assign(Object.assign({},y),{},{parser:\"json\"}))};const{getLast:lx,isNonEmptyArray:Vx}=Po;function ye(o,p){return o&&typeof o.type==\"string\"&&(!p||p.includes(o.type))}function Ue(o){return o.value.trim()===\"prettier-ignore\"}function Ge(o){return o&&Vx(o.leadingComments)}function er(o){return o&&Vx(o.middleComments)}function Ar(o){return o&&o.indicatorComment}function vr(o){return o&&o.trailingComment}function Yt(o){return o&&Vx(o.endComments)}function nn(o){const p=[];let h;for(const y of o.split(/( +)/))y!==\" \"?h===\" \"?p.push(y):p.push((p.pop()||\"\")+y):h===void 0&&p.unshift(\"\"),h=y;return h===\" \"&&p.push((p.pop()||\"\")+\" \"),p[0]===\"\"&&(p.shift(),p.unshift(\" \"+(p.shift()||\"\"))),p}var Nn={getLast:lx,getAncestorCount:function(o,p){let h=0;const y=o.stack.length-1;for(let k=0;k<y;k++){const Q=o.stack[k];ye(Q)&&p(Q)&&h++}return h},isNode:ye,isEmptyNode:function(o){return!Vx(o.children)&&!function(p){return Ge(p)||er(p)||Ar(p)||vr(p)||Yt(p)}(o)},isInlineNode:function(o){if(!o)return!0;switch(o.type){case\"plain\":case\"quoteDouble\":case\"quoteSingle\":case\"alias\":case\"flowMapping\":case\"flowSequence\":return!0;default:return!1}},mapNode:function o(p,h,y){return h(\"children\"in p?Object.assign(Object.assign({},p),{},{children:p.children.map(k=>o(k,h,p))}):p,y)},defineShortcut:function(o,p,h){Object.defineProperty(o,p,{get:h,enumerable:!1})},isNextLineEmpty:function(o,p){let h=0;const y=p.length;for(let k=o.position.end.offset-1;k<y;k++){const Q=p[k];if(Q===`\n`&&h++,h===1&&/\\S/.test(Q))return!1;if(h===2)return!0}return!1},isLastDescendantNode:function(o){switch(o.getValue().type){case\"tag\":case\"anchor\":case\"comment\":return!1}const p=o.stack.length;for(let h=1;h<p;h++){const y=o.stack[h],k=o.stack[h-1];if(Array.isArray(k)&&typeof y==\"number\"&&y!==k.length-1)return!1}return!0},getBlockValueLineContents:function(o,{parentIndent:p,isLastDescendant:h,options:y}){const k=o.position.start.line===o.position.end.line?\"\":y.originalText.slice(o.position.start.offset,o.position.end.offset).match(/^[^\\n]*?\\n(.*)$/s)[1],Q=o.indent===null?(Z0=>Z0?Z0[1].length:Number.POSITIVE_INFINITY)(k.match(/^( *)\\S/m)):o.indent-1+p,$0=k.split(`\n`).map(Z0=>Z0.slice(Q));return y.proseWrap===\"preserve\"||o.type===\"blockLiteral\"?j0($0.map(Z0=>Z0.length===0?[]:[Z0])):j0($0.map(Z0=>Z0.length===0?[]:nn(Z0)).reduce((Z0,g1,z1)=>z1!==0&&$0[z1-1].length>0&&g1.length>0&&!/^\\s/.test(g1[0])&&!/^\\s|\\s$/.test(lx(Z0))?[...Z0.slice(0,-1),[...lx(Z0),...g1]]:[...Z0,g1],[]).map(Z0=>Z0.reduce((g1,z1)=>g1.length>0&&/\\s$/.test(lx(g1))?[...g1.slice(0,-1),lx(g1)+\" \"+z1]:[...g1,z1],[])).map(Z0=>y.proseWrap===\"never\"?[Z0.join(\" \")]:Z0));function j0(Z0){if(o.chomping===\"keep\")return lx(Z0).length===0?Z0.slice(0,-1):Z0;let g1=0;for(let z1=Z0.length-1;z1>=0&&Z0[z1].length===0;z1--)g1++;return g1===0?Z0:g1>=2&&!h?Z0.slice(0,-(g1-1)):Z0.slice(0,-g1)}},getFlowScalarLineContents:function(o,p,h){const y=p.split(`\n`).map((k,Q,$0)=>Q===0&&Q===$0.length-1?k:Q!==0&&Q!==$0.length-1?k.trim():Q===0?k.trimEnd():k.trimStart());return h.proseWrap===\"preserve\"?y.map(k=>k.length===0?[]:[k]):y.map(k=>k.length===0?[]:nn(k)).reduce((k,Q,$0)=>$0!==0&&y[$0-1].length>0&&Q.length>0&&(o!==\"quoteDouble\"||!lx(lx(k)).endsWith(\"\\\\\"))?[...k.slice(0,-1),[...lx(k),...Q]]:[...k,Q],[]).map(k=>h.proseWrap===\"never\"?[k.join(\" \")]:k)},getLastDescendantNode:function o(p){return Vx(p.children)?o(lx(p.children)):p},hasPrettierIgnore:function(o){const p=o.getValue();if(p.type===\"documentBody\"){const h=o.getParentNode();return Yt(h.head)&&Ue(lx(h.head.endComments))}return Ge(p)&&Ue(lx(p.leadingComments))},hasLeadingComments:Ge,hasMiddleComments:er,hasIndicatorComment:Ar,hasTrailingComment:vr,hasEndComments:Yt};const{defineShortcut:Ei,mapNode:Ca}=Nn;function Aa(o){switch(o.type){case\"document\":Ei(o,\"head\",()=>o.children[0]),Ei(o,\"body\",()=>o.children[1]);break;case\"documentBody\":case\"sequenceItem\":case\"flowSequenceItem\":case\"mappingKey\":case\"mappingValue\":Ei(o,\"content\",()=>o.children[0]);break;case\"mappingItem\":case\"flowMappingItem\":Ei(o,\"key\",()=>o.children[0]),Ei(o,\"value\",()=>o.children[1])}return o}var Qi=function(o){return Ca(o,Aa)};const{builders:{softline:Oa,align:Ra}}=xp,{hasEndComments:yn,isNextLineEmpty:ti,isNode:Gi}=Nn,zi=new WeakMap;function Wo(o){return yn(o)&&!Gi(o,[\"documentHead\",\"documentBody\",\"flowMapping\",\"flowSequence\"])}var Ms={alignWithSpaces:function(o,p){return Ra(\" \".repeat(o),p)},shouldPrintEndComments:Wo,printNextEmptyLine:function(o,p){const h=o.getValue(),y=o.stack[0];let k;return zi.has(y)?k=zi.get(y):(k=new Set,zi.set(y,k)),k.has(h.position.end.line)||(k.add(h.position.end.line),!ti(h,p)||Wo(o.getParentNode()))?\"\":Oa}};const{builders:{ifBreak:Et,line:wt,softline:da,hardline:Ya,join:Da}}=xp,{isEmptyNode:fr,getLast:rt,hasEndComments:di}=Nn,{printNextEmptyLine:Wt,alignWithSpaces:dn}=Ms;function Si(o,p,h){const y=o.getValue(),k=y.type===\"flowMapping\",Q=k?\"{\":\"[\",$0=k?\"}\":\"]\";let j0=da;k&&y.children.length>0&&h.bracketSpacing&&(j0=wt);const Z0=rt(y.children),g1=Z0&&Z0.type===\"flowMappingItem\"&&fr(Z0.key)&&fr(Z0.value);return[Q,dn(h.tabWidth,[j0,yi(o,p,h),h.trailingComma===\"none\"?\"\":Et(\",\"),di(y)?[Ya,Da(Ya,o.map(p,\"endComments\"))]:\"\"]),g1?\"\":j0,$0]}function yi(o,p,h){const y=o.getValue();return o.map((k,Q)=>[p(),Q===y.children.length-1?\"\":[\",\",wt,y.children[Q].position.start.line!==y.children[Q+1].position.start.line?Wt(k,h.originalText):\"\"]],\"children\")}var l={printFlowMapping:Si,printFlowSequence:Si};const{builders:{conditionalGroup:z,group:zr,hardline:re,ifBreak:Oo,join:yu,line:dl}}=xp,{hasLeadingComments:lc,hasMiddleComments:qi,hasTrailingComment:eo,hasEndComments:Co,isNode:ou,isEmptyNode:Cs,isInlineNode:Pi}=Nn,{alignWithSpaces:Ia}=Ms;function nc(o,p){if(!o)return!0;switch(o.type){case\"plain\":case\"quoteSingle\":case\"quoteDouble\":break;case\"alias\":return!0;default:return!1}if(p.proseWrap===\"preserve\")return o.position.start.line===o.position.end.line;if(/\\\\$/m.test(p.originalText.slice(o.position.start.offset,o.position.end.offset)))return!1;switch(p.proseWrap){case\"never\":return!o.value.includes(`\n`);case\"always\":return!/[\\n ]/.test(o.value);default:return!1}}var g2=function(o,p,h,y,k){const{key:Q,value:$0}=o,j0=Cs(Q),Z0=Cs($0);if(j0&&Z0)return\": \";const g1=y(\"key\"),z1=function(on){return on.key.content&&on.key.content.type===\"alias\"}(o)?\" \":\"\";if(Z0)return o.type===\"flowMappingItem\"&&p.type===\"flowMapping\"?g1:o.type!==\"mappingItem\"||!nc(Q.content,k)||eo(Q.content)||p.tag&&p.tag.value===\"tag:yaml.org,2002:set\"?[\"? \",Ia(2,g1)]:[g1,z1,\":\"];const X1=y(\"value\");if(j0)return[\": \",Ia(2,X1)];if(lc($0)||!Pi(Q.content))return[\"? \",Ia(2,g1),re,yu(\"\",h.map(y,\"value\",\"leadingComments\").map(on=>[on,re])),\": \",Ia(2,X1)];if(function(on){if(!on)return!0;switch(on.type){case\"plain\":case\"quoteDouble\":case\"quoteSingle\":return on.position.start.line===on.position.end.line;case\"alias\":return!0;default:return!1}}(Q.content)&&!lc(Q.content)&&!qi(Q.content)&&!eo(Q.content)&&!Co(Q)&&!lc($0.content)&&!qi($0.content)&&!Co($0)&&nc($0.content,k))return[g1,z1,\": \",X1];const se=Symbol(\"mappingKey\"),be=zr([Oo(\"? \"),zr(Ia(2,g1),{id:se})]),Je=[re,\": \",Ia(2,X1)],ft=[z1,\":\"];lc($0.content)||Co($0)&&$0.content&&!ou($0.content,[\"mapping\",\"sequence\"])||p.type===\"mapping\"&&eo(Q.content)&&Pi($0.content)||ou($0.content,[\"mapping\",\"sequence\"])&&$0.content.tag===null&&$0.content.anchor===null?ft.push(re):$0.content&&ft.push(dl),ft.push(X1);const Xr=Ia(k.tabWidth,ft);return!nc(Q.content,k)||lc(Q.content)||qi(Q.content)||Co(Q)?z([[be,Oo(Je,Xr,{groupId:se})]]):z([[g1,Xr]])};const{builders:{dedent:yb,dedentToRoot:Ic,fill:m8,hardline:cs,join:Ul,line:hp,literalline:Jc,markAsRoot:jE},utils:{getDocParts:Wd}}=xp,{getAncestorCount:RD,getBlockValueLineContents:Ru,hasIndicatorComment:Yf,isLastDescendantNode:gh,isNode:b6}=Nn,{alignWithSpaces:RF}=Ms;var IA=function(o,p,h){const y=o.getValue(),k=RD(o,g1=>b6(g1,[\"sequence\",\"mapping\"])),Q=gh(o),$0=[y.type===\"blockFolded\"?\">\":\"|\"];y.indent!==null&&$0.push(y.indent.toString()),y.chomping!==\"clip\"&&$0.push(y.chomping===\"keep\"?\"+\":\"-\"),Yf(y)&&$0.push(\" \",p(\"indicatorComment\"));const j0=Ru(y,{parentIndent:k,isLastDescendant:Q,options:h}),Z0=[];for(const[g1,z1]of j0.entries())g1===0&&Z0.push(cs),Z0.push(m8(Wd(Ul(hp,z1)))),g1!==j0.length-1?Z0.push(z1.length===0?cs:jE(Jc)):y.chomping===\"keep\"&&Q&&Z0.push(Ic(z1.length===0?cs:Jc));return y.indent===null?$0.push(yb(RF(h.tabWidth,Z0))):$0.push(Ic(RF(y.indent-1+k,Z0))),$0};const{builders:{breakParent:kS,fill:j4,group:T4,hardline:JC,join:u6,line:kd,lineSuffix:UE,literalline:iF},utils:{getDocParts:Nw,replaceEndOfLineWith:Pw}}=xp,{isPreviousLineEmpty:uk}=Po,{insertPragma:mw,isPragma:hN}=u1,{locStart:jF}=M1,{getFlowScalarLineContents:An,getLastDescendantNode:Rs,hasLeadingComments:fc,hasMiddleComments:Vo,hasTrailingComment:sl,hasEndComments:Tl,hasPrettierIgnore:e2,isLastDescendantNode:Qf,isNode:ml,isInlineNode:nh}=Nn,{alignWithSpaces:o_,printNextEmptyLine:NS,shouldPrintEndComments:k8}=Ms,{printFlowMapping:cC,printFlowSequence:hw}=l;function mT(o,p){return sl(o)||p&&(p.head.children.length>0||Tl(p.head))}function hT(o,p,h){const y=An(o,p,h);return u6(JC,y.map(k=>j4(Nw(u6(kd,k)))))}var Z_={preprocess:Qi,embed:A1,print:function(o,p,h){const y=o.getValue(),k=[];y.type!==\"mappingValue\"&&fc(y)&&k.push([u6(JC,o.map(h,\"leadingComments\")),JC]);const{tag:Q,anchor:$0}=y;Q&&k.push(h(\"tag\")),Q&&$0&&k.push(\" \"),$0&&k.push(h(\"anchor\"));let j0=\"\";ml(y,[\"mapping\",\"sequence\",\"comment\",\"directive\",\"mappingItem\",\"sequenceItem\"])&&!Qf(o)&&(j0=NS(o,p.originalText)),(Q||$0)&&(ml(y,[\"sequence\",\"mapping\"])&&!Vo(y)?k.push(JC):k.push(\" \")),Vo(y)&&k.push([y.middleComments.length===1?\"\":JC,u6(JC,o.map(h,\"middleComments\")),JC]);const Z0=o.getParentNode();return e2(o)?k.push(Pw(p.originalText.slice(y.position.start.offset,y.position.end.offset).trimEnd(),iF)):k.push(T4(function(g1,z1,X1,se,be){switch(g1.type){case\"root\":{const{children:Je}=g1,ft=[];X1.each((on,Wr)=>{const Zi=Je[Wr],hs=Je[Wr+1];Wr!==0&&ft.push(JC),ft.push(be()),mT(Zi,hs)?(ft.push(JC,\"...\"),sl(Zi)&&ft.push(\" \",be(\"trailingComment\"))):hs&&!sl(hs.head)&&ft.push(JC,\"---\")},\"children\");const Xr=Rs(g1);return ml(Xr,[\"blockLiteral\",\"blockFolded\"])&&Xr.chomping===\"keep\"||ft.push(JC),ft}case\"document\":{const Je=[];return function(ft,Xr,on,Wr){return on.children[0]===ft&&/---(\\s|$)/.test(Wr.originalText.slice(jF(ft),jF(ft)+4))||ft.head.children.length>0||Tl(ft.head)||sl(ft.head)?\"head\":mT(ft,Xr)?!1:!!Xr&&\"root\"}(g1,z1.children[X1.getName()+1],z1,se)===\"head\"&&((g1.head.children.length>0||g1.head.endComments.length>0)&&Je.push(be(\"head\")),sl(g1.head)?Je.push([\"---\",\" \",be([\"head\",\"trailingComment\"])]):Je.push(\"---\")),function(ft){return ft.body.children.length>0||Tl(ft.body)}(g1)&&Je.push(be(\"body\")),u6(JC,Je)}case\"documentHead\":return u6(JC,[...X1.map(be,\"children\"),...X1.map(be,\"endComments\")]);case\"documentBody\":{const{children:Je,endComments:ft}=g1;let Xr=\"\";if(Je.length>0&&ft.length>0){const on=Rs(g1);ml(on,[\"blockFolded\",\"blockLiteral\"])?on.chomping!==\"keep\"&&(Xr=[JC,JC]):Xr=JC}return[u6(JC,X1.map(be,\"children\")),Xr,u6(JC,X1.map(be,\"endComments\"))]}case\"directive\":return[\"%\",u6(\" \",[g1.name,...g1.parameters])];case\"comment\":return[\"#\",g1.value];case\"alias\":return[\"*\",g1.value];case\"tag\":return se.originalText.slice(g1.position.start.offset,g1.position.end.offset);case\"anchor\":return[\"&\",g1.value];case\"plain\":return hT(g1.type,se.originalText.slice(g1.position.start.offset,g1.position.end.offset),se);case\"quoteDouble\":case\"quoteSingle\":{const Je=\"'\",ft='\"',Xr=se.originalText.slice(g1.position.start.offset+1,g1.position.end.offset-1);if(g1.type===\"quoteSingle\"&&Xr.includes(\"\\\\\")||g1.type===\"quoteDouble\"&&/\\\\[^\"]/.test(Xr)){const Wr=g1.type===\"quoteDouble\"?ft:Je;return[Wr,hT(g1.type,Xr,se),Wr]}if(Xr.includes(ft))return[Je,hT(g1.type,g1.type===\"quoteDouble\"?Xr.replace(/\\\\\"/g,ft).replace(/'/g,Je.repeat(2)):Xr,se),Je];if(Xr.includes(Je))return[ft,hT(g1.type,g1.type===\"quoteSingle\"?Xr.replace(/''/g,Je):Xr,se),ft];const on=se.singleQuote?Je:ft;return[on,hT(g1.type,Xr,se),on]}case\"blockFolded\":case\"blockLiteral\":return IA(X1,be,se);case\"mapping\":case\"sequence\":return u6(JC,X1.map(be,\"children\"));case\"sequenceItem\":return[\"- \",o_(2,g1.content?be(\"content\"):\"\")];case\"mappingKey\":case\"mappingValue\":return g1.content?be(\"content\"):\"\";case\"mappingItem\":case\"flowMappingItem\":return g2(g1,z1,X1,be,se);case\"flowMapping\":return cC(X1,be,se);case\"flowSequence\":return hw(X1,be,se);case\"flowSequenceItem\":return be(\"content\");default:throw new Error(`Unexpected node type ${g1.type}`)}}(y,Z0,o,p,h))),sl(y)&&!ml(y,[\"document\",\"documentHead\"])&&k.push(UE([y.type!==\"mappingValue\"||y.content?\" \":\"\",Z0.type===\"mappingKey\"&&o.getParentNode(2).type===\"mapping\"&&nh(y)?\"\":kS,h(\"trailingComment\")])),k8(y)&&k.push(o_(y.type===\"sequenceItem\"?2:0,[JC,u6(JC,o.map(g1=>[uk(p.originalText,g1.getValue(),jF)?JC:\"\",h()],\"endComments\"))])),k.push(j0),k},massageAstNode:function(o,p){if(ml(p))switch(delete p.position,p.type){case\"comment\":if(hN(p.value))return null;break;case\"quoteDouble\":case\"quoteSingle\":p.type=\"quote\"}},insertPragma:mw},WS={bracketSpacing:Sm.bracketSpacing,singleQuote:Sm.singleQuote,proseWrap:Sm.proseWrap},PS=[PV,cw,wd,Ja,Z3,T0,{languages:[Kn({name:\"YAML\",type:\"data\",color:\"#cb171e\",tmScope:\"source.yaml\",aliases:[\"yml\"],extensions:[\".yml\",\".mir\",\".reek\",\".rviz\",\".sublime-syntax\",\".syntax\",\".yaml\",\".yaml-tmlanguage\",\".yaml.sed\",\".yml.mysql\"],filenames:[\".clang-format\",\".clang-tidy\",\".gemrc\",\"glide.lock\",\"yarn.lock\"],aceMode:\"yaml\",codemirrorMode:\"yaml\",codemirrorMimeType:\"text/x-yaml\",languageId:407},o=>({since:\"1.14.0\",parsers:[\"yaml\"],vscodeLanguageIds:[\"yaml\",\"ansible\",\"home-assistant\"],filenames:[...o.filenames.filter(p=>p!==\"yarn.lock\"),\".prettierrc\"]}))],printers:{yaml:Z_},options:WS,parsers:{get yaml(){return Zy0.exports.parsers.yaml}}}];const GA=[\"parsers\"],{version:IT}=b,{getSupportInfo:r4}=Xe,N5=PS.map(o=>c(o,GA));function HC(o,p=1){return(...h)=>{const y=h[p]||{},k=y.plugins||[];return h[p]=Object.assign(Object.assign({},y),{},{plugins:[...N5,...Array.isArray(k)?k:Object.values(k)]}),o(...h)}}const oA=HC(p0.formatWithCursor);return{formatWithCursor:oA,format:(o,p)=>oA(o,p).formatted,check(o,p){const{formatted:h}=oA(o,p);return h===o},doc:xp,getSupportInfo:HC(r4,0),version:IT,util:ar,__debug:{parse:HC(p0.parse),formatAST:HC(p0.formatAST),formatDoc:HC(p0.formatDoc),printToDoc:HC(p0.printToDoc),printDocToString:HC(p0.printDocToString)}}})})(c7x);function XZ(a){return typeof a==\"function\"}function wi0(a){return a!==null&&typeof a==\"object\"&&!Array.isArray(a)}function YZ(a){return XZ(a.$validator)?Object.assign({},a):{$validator:a}}function xD0(a){return typeof a==\"object\"?a.$valid:a}function eD0(a){return a.$validator||a}function l7x(a,u){if(!wi0(a))throw new Error(`[@vuelidate/validators]: First parameter to \"withParams\" should be an object, provided ${typeof a}`);if(!wi0(u)&&!XZ(u))throw new Error(\"[@vuelidate/validators]: Validator must be a function or object with $validator parameter\");const c=YZ(u);return c.$params=Object.assign({},c.$params||{},a),c}function f7x(a,u){if(!XZ(a)&&typeof O8(a)!=\"string\")throw new Error(`[@vuelidate/validators]: First parameter to \"withMessage\" should be string or a function returning a string, provided ${typeof a}`);if(!wi0(u)&&!XZ(u))throw new Error(\"[@vuelidate/validators]: Validator must be a function or object with $validator parameter\");const c=YZ(u);return c.$message=a,c}function p7x(a,u=[]){const c=YZ(a);return Object.assign({},c,{$async:!0,$watchTargets:u})}function d7x(a){return{$validator(u,...c){return O8(u).reduce((b,R)=>{const K=Object.entries(R).reduce((s0,[Y,F0])=>{const J0=a[Y]||{},e1=Object.entries(J0).reduce((t1,[r1,F1])=>{const D1=eD0(F1).call(this,F0,R,...c),W0=xD0(D1);if(t1.$data[r1]=D1,t1.$data.$invalid=!W0||!!t1.$data.$invalid,t1.$data.$error=t1.$data.$invalid,!W0){let i1=F1.$message||\"\";const x1=F1.$params||{};typeof i1==\"function\"&&(i1=i1({$pending:!1,$invalid:!W0,$params:x1,$model:F0,$response:D1})),t1.$errors.push({$property:Y,$message:i1,$params:x1,$response:D1,$model:F0,$pending:!1,$validator:r1})}return{$valid:t1.$valid&&W0,$data:t1.$data,$errors:t1.$errors}},{$valid:!0,$data:{},$errors:[]});return s0.$data[Y]=e1.$data,s0.$errors[Y]=e1.$errors,{$valid:s0.$valid&&e1.$valid,$data:s0.$data,$errors:s0.$errors}},{$valid:!0,$data:{},$errors:{}});return{$valid:b.$valid&&K.$valid,$data:b.$data.concat(K.$data),$errors:b.$errors.concat(K.$errors)}},{$valid:!0,$data:[],$errors:[]})},$message:({$response:u})=>u?u.$errors.map(c=>Object.values(c).map(b=>b.map(R=>R.$message)).reduce((b,R)=>b.concat(R),[])):[]}}const I$=a=>{if(a=O8(a),Array.isArray(a))return!!a.length;if(a==null)return!1;if(a===!1)return!0;if(a instanceof Date)return!isNaN(a.getTime());if(typeof a==\"object\"){for(let u in a)return!0;return!1}return!!String(a).length},ki0=a=>(a=O8(a),Array.isArray(a)?a.length:typeof a==\"object\"?Object.keys(a).length:String(a).length);function sH(a){return u=>(u=O8(u),!I$(u)||a.test(u))}var Pwx=Object.freeze({__proto__:null,withParams:l7x,withMessage:f7x,withAsync:p7x,forEach:d7x,req:I$,len:ki0,regex:sH,unwrap:O8,unwrapNormalizedValidator:eD0,unwrapValidatorResponse:xD0,normalizeValidatorObject:YZ}),m7x=sH(/^\\d*(\\.\\d+)?$/),Iwx={$validator:m7x,$message:\"Value must be numeric\",$params:{type:\"numeric\"}};function h7x(a,u){return c=>!I$(c)||(!/\\s/.test(c)||c instanceof Date)&&+O8(a)<=+c&&+O8(u)>=+c}function Owx(a,u){return{$validator:h7x(a,u),$message:({$params:c})=>`The value must be between ${c.min} and ${c.max}`,$params:{min:a,max:u,type:\"between\"}}}const g7x=/^(?:[A-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[A-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9]{2,}(?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])$/i;var _7x=sH(g7x),Bwx={$validator:_7x,$message:\"Value is not a valid email address\",$params:{type:\"email\"}};function y7x(a){return u=>!I$(u)||ki0(u)<=O8(a)}function Lwx(a){return{$validator:y7x(a),$message:({$params:u})=>`The maximum length allowed is ${u.max}`,$params:{max:a,type:\"maxLength\"}}}function D7x(a){return u=>!I$(u)||ki0(u)>=O8(a)}function Mwx(a){return{$validator:D7x(a),$message:({$params:u})=>`This field should be at least ${u.min} long`,$params:{min:a,type:\"minLength\"}}}function v7x(a){return typeof a==\"string\"&&(a=a.trim()),I$(a)}var Rwx={$validator:v7x,$message:\"Value is required\",$params:{type:\"required\"}};const tD0=(a,u)=>a?I$(u):!0;function b7x(a){return function(u,c){if(typeof a!=\"function\")return tD0(O8(a),u);const b=a.call(this,u,c);return tD0(b,u)}}function jwx(a){return{$validator:b7x(a),$message:\"The value is required\",$params:{type:\"requiredIf\",prop:a}}}function C7x(a){return u=>O8(u)===O8(a)}function Uwx(a,u=\"other\"){return{$validator:C7x(a),$message:({$params:c})=>`The value must be equal to the ${u} value`,$params:{equalTo:a,otherName:u,type:\"sameAs\"}}}const E7x=/^(?:(?:(?:https?|ftp):)?\\/\\/)(?:\\S+(?::\\S*)?@)?(?:(?!(?:10|127)(?:\\.\\d{1,3}){3})(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z0-9\\u00a1-\\uffff][a-z0-9\\u00a1-\\uffff_-]{0,62})?[a-z0-9\\u00a1-\\uffff]\\.)+(?:[a-z\\u00a1-\\uffff]{2,}\\.?))(?::\\d{2,5})?(?:[/?#]\\S*)?$/i;var S7x=sH(E7x),Vwx={$validator:S7x,$message:\"The value is not a valid URL address\",$params:{type:\"url\"}};function F7x(a){return u=>!I$(u)||(!/\\s/.test(u)||u instanceof Date)&&+u>=+O8(a)}function $wx(a){return{$validator:F7x(a),$message:({$params:u})=>`The minimum value allowed is ${u.min}`,$params:{min:a,type:\"minValue\"}}}var A7x=sH(/^[-]?\\d*(\\.\\d+)?$/),Kwx={$validator:A7x,$message:\"Value must be decimal\",$params:{type:\"decimal\"}};//! moment.js\n//! version : 2.29.1\n//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n//! license : MIT\n//! momentjs.com\nvar rD0;function jm(){return rD0.apply(null,arguments)}function T7x(a){rD0=a}function aR(a){return a instanceof Array||Object.prototype.toString.call(a)===\"[object Array]\"}function mz(a){return a!=null&&Object.prototype.toString.call(a)===\"[object Object]\"}function CT(a,u){return Object.prototype.hasOwnProperty.call(a,u)}function Ni0(a){if(Object.getOwnPropertyNames)return Object.getOwnPropertyNames(a).length===0;var u;for(u in a)if(CT(a,u))return!1;return!0}function CO(a){return a===void 0}function lV(a){return typeof a==\"number\"||Object.prototype.toString.call(a)===\"[object Number]\"}function uH(a){return a instanceof Date||Object.prototype.toString.call(a)===\"[object Date]\"}function nD0(a,u){var c=[],b;for(b=0;b<a.length;++b)c.push(u(a[b],b));return c}function O$(a,u){for(var c in u)CT(u,c)&&(a[c]=u[c]);return CT(u,\"toString\")&&(a.toString=u.toString),CT(u,\"valueOf\")&&(a.valueOf=u.valueOf),a}function Vj(a,u,c,b){return kD0(a,u,c,b,!0).utc()}function w7x(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidEra:null,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],era:null,meridiem:null,rfc2822:!1,weekdayMismatch:!1}}function lF(a){return a._pf==null&&(a._pf=w7x()),a._pf}var Pi0;Array.prototype.some?Pi0=Array.prototype.some:Pi0=function(a){var u=Object(this),c=u.length>>>0,b;for(b=0;b<c;b++)if(b in u&&a.call(this,u[b],b,u))return!0;return!1};function Ii0(a){if(a._isValid==null){var u=lF(a),c=Pi0.call(u.parsedDateParts,function(R){return R!=null}),b=!isNaN(a._d.getTime())&&u.overflow<0&&!u.empty&&!u.invalidEra&&!u.invalidMonth&&!u.invalidWeekday&&!u.weekdayMismatch&&!u.nullInput&&!u.invalidFormat&&!u.userInvalidated&&(!u.meridiem||u.meridiem&&c);if(a._strict&&(b=b&&u.charsLeftOver===0&&u.unusedTokens.length===0&&u.bigHour===void 0),Object.isFrozen==null||!Object.isFrozen(a))a._isValid=b;else return b}return a._isValid}function QZ(a){var u=Vj(NaN);return a!=null?O$(lF(u),a):lF(u).userInvalidated=!0,u}var Oi0=jm.momentProperties=[],Bi0=!1;function Li0(a,u){var c,b,R;if(CO(u._isAMomentObject)||(a._isAMomentObject=u._isAMomentObject),CO(u._i)||(a._i=u._i),CO(u._f)||(a._f=u._f),CO(u._l)||(a._l=u._l),CO(u._strict)||(a._strict=u._strict),CO(u._tzm)||(a._tzm=u._tzm),CO(u._isUTC)||(a._isUTC=u._isUTC),CO(u._offset)||(a._offset=u._offset),CO(u._pf)||(a._pf=lF(u)),CO(u._locale)||(a._locale=u._locale),Oi0.length>0)for(c=0;c<Oi0.length;c++)b=Oi0[c],R=u[b],CO(R)||(a[b]=R);return a}function cH(a){Li0(this,a),this._d=new Date(a._d!=null?a._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),Bi0===!1&&(Bi0=!0,jm.updateOffset(this),Bi0=!1)}function oR(a){return a instanceof cH||a!=null&&a._isAMomentObject!=null}function iD0(a){jm.suppressDeprecationWarnings===!1&&typeof console!=\"undefined\"&&console.warn&&console.warn(\"Deprecation warning: \"+a)}function RL(a,u){var c=!0;return O$(function(){if(jm.deprecationHandler!=null&&jm.deprecationHandler(null,a),c){var b=[],R,K,s0;for(K=0;K<arguments.length;K++){if(R=\"\",typeof arguments[K]==\"object\"){R+=`\n[`+K+\"] \";for(s0 in arguments[0])CT(arguments[0],s0)&&(R+=s0+\": \"+arguments[0][s0]+\", \");R=R.slice(0,-2)}else R=arguments[K];b.push(R)}iD0(a+`\nArguments: `+Array.prototype.slice.call(b).join(\"\")+`\n`+new Error().stack),c=!1}return u.apply(this,arguments)},u)}var aD0={};function oD0(a,u){jm.deprecationHandler!=null&&jm.deprecationHandler(a,u),aD0[a]||(iD0(u),aD0[a]=!0)}jm.suppressDeprecationWarnings=!1;jm.deprecationHandler=null;function $j(a){return typeof Function!=\"undefined\"&&a instanceof Function||Object.prototype.toString.call(a)===\"[object Function]\"}function k7x(a){var u,c;for(c in a)CT(a,c)&&(u=a[c],$j(u)?this[c]=u:this[\"_\"+c]=u);this._config=a,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+\"|\"+/\\d{1,2}/.source)}function Mi0(a,u){var c=O$({},a),b;for(b in u)CT(u,b)&&(mz(a[b])&&mz(u[b])?(c[b]={},O$(c[b],a[b]),O$(c[b],u[b])):u[b]!=null?c[b]=u[b]:delete c[b]);for(b in a)CT(a,b)&&!CT(u,b)&&mz(a[b])&&(c[b]=O$({},c[b]));return c}function Ri0(a){a!=null&&this.set(a)}var ji0;Object.keys?ji0=Object.keys:ji0=function(a){var u,c=[];for(u in a)CT(a,u)&&c.push(u);return c};var N7x={sameDay:\"[Today at] LT\",nextDay:\"[Tomorrow at] LT\",nextWeek:\"dddd [at] LT\",lastDay:\"[Yesterday at] LT\",lastWeek:\"[Last] dddd [at] LT\",sameElse:\"L\"};function P7x(a,u,c){var b=this._calendar[a]||this._calendar.sameElse;return $j(b)?b.call(u,c):b}function Kj(a,u,c){var b=\"\"+Math.abs(a),R=u-b.length,K=a>=0;return(K?c?\"+\":\"\":\"-\")+Math.pow(10,Math.max(0,R)).toString().substr(1)+b}var Ui0=/(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,ZZ=/(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Vi0={},WW={};function y8(a,u,c,b){var R=b;typeof b==\"string\"&&(R=function(){return this[b]()}),a&&(WW[a]=R),u&&(WW[u[0]]=function(){return Kj(R.apply(this,arguments),u[1],u[2])}),c&&(WW[c]=function(){return this.localeData().ordinal(R.apply(this,arguments),a)})}function I7x(a){return a.match(/\\[[\\s\\S]/)?a.replace(/^\\[|\\]$/g,\"\"):a.replace(/\\\\/g,\"\")}function O7x(a){var u=a.match(Ui0),c,b;for(c=0,b=u.length;c<b;c++)WW[u[c]]?u[c]=WW[u[c]]:u[c]=I7x(u[c]);return function(R){var K=\"\",s0;for(s0=0;s0<b;s0++)K+=$j(u[s0])?u[s0].call(R,a):u[s0];return K}}function x00(a,u){return a.isValid()?(u=sD0(u,a.localeData()),Vi0[u]=Vi0[u]||O7x(u),Vi0[u](a)):a.localeData().invalidDate()}function sD0(a,u){var c=5;function b(R){return u.longDateFormat(R)||R}for(ZZ.lastIndex=0;c>=0&&ZZ.test(a);)a=a.replace(ZZ,b),ZZ.lastIndex=0,c-=1;return a}var B7x={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\"};function L7x(a){var u=this._longDateFormat[a],c=this._longDateFormat[a.toUpperCase()];return u||!c?u:(this._longDateFormat[a]=c.match(Ui0).map(function(b){return b===\"MMMM\"||b===\"MM\"||b===\"DD\"||b===\"dddd\"?b.slice(1):b}).join(\"\"),this._longDateFormat[a])}var M7x=\"Invalid date\";function R7x(){return this._invalidDate}var j7x=\"%d\",U7x=/\\d{1,2}/;function V7x(a){return this._ordinal.replace(\"%d\",a)}var $7x={future:\"in %s\",past:\"%s ago\",s:\"a few seconds\",ss:\"%d seconds\",m:\"a minute\",mm:\"%d minutes\",h:\"an hour\",hh:\"%d hours\",d:\"a day\",dd:\"%d days\",w:\"a week\",ww:\"%d weeks\",M:\"a month\",MM:\"%d months\",y:\"a year\",yy:\"%d years\"};function K7x(a,u,c,b){var R=this._relativeTime[c];return $j(R)?R(a,u,c,b):R.replace(/%d/i,a)}function z7x(a,u){var c=this._relativeTime[a>0?\"future\":\"past\"];return $j(c)?c(u):c.replace(/%s/i,u)}var lH={};function VP(a,u){var c=a.toLowerCase();lH[c]=lH[c+\"s\"]=lH[u]=a}function jL(a){return typeof a==\"string\"?lH[a]||lH[a.toLowerCase()]:void 0}function $i0(a){var u={},c,b;for(b in a)CT(a,b)&&(c=jL(b),c&&(u[c]=a[b]));return u}var uD0={};function $P(a,u){uD0[a]=u}function W7x(a){var u=[],c;for(c in a)CT(a,c)&&u.push({unit:c,priority:uD0[c]});return u.sort(function(b,R){return b.priority-R.priority}),u}function e00(a){return a%4==0&&a%100!=0||a%400==0}function UL(a){return a<0?Math.ceil(a)||0:Math.floor(a)}function s4(a){var u=+a,c=0;return u!==0&&isFinite(u)&&(c=UL(u)),c}function qW(a,u){return function(c){return c!=null?(cD0(this,a,c),jm.updateOffset(this,u),this):t00(this,a)}}function t00(a,u){return a.isValid()?a._d[\"get\"+(a._isUTC?\"UTC\":\"\")+u]():NaN}function cD0(a,u,c){a.isValid()&&!isNaN(c)&&(u===\"FullYear\"&&e00(a.year())&&a.month()===1&&a.date()===29?(c=s4(c),a._d[\"set\"+(a._isUTC?\"UTC\":\"\")+u](c,a.month(),u00(c,a.month()))):a._d[\"set\"+(a._isUTC?\"UTC\":\"\")+u](c))}function q7x(a){return a=jL(a),$j(this[a])?this[a]():this}function J7x(a,u){if(typeof a==\"object\"){a=$i0(a);var c=W7x(a),b;for(b=0;b<c.length;b++)this[c[b].unit](a[c[b].unit])}else if(a=jL(a),$j(this[a]))return this[a](u);return this}var lD0=/\\d/,EB=/\\d\\d/,fD0=/\\d{3}/,Ki0=/\\d{4}/,r00=/[+-]?\\d{6}/,Vw=/\\d\\d?/,pD0=/\\d\\d\\d\\d?/,dD0=/\\d\\d\\d\\d\\d\\d?/,n00=/\\d{1,3}/,zi0=/\\d{1,4}/,i00=/[+-]?\\d{1,6}/,JW=/\\d+/,a00=/[+-]?\\d+/,H7x=/Z|[+-]\\d\\d:?\\d\\d/gi,o00=/Z|[+-]\\d\\d(?::?\\d\\d)?/gi,G7x=/[+-]?\\d+(\\.\\d{1,3})?/,fH=/[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i,s00;s00={};function xg(a,u,c){s00[a]=$j(u)?u:function(b,R){return b&&c?c:u}}function X7x(a,u){return CT(s00,a)?s00[a](u._strict,u._locale):new RegExp(Y7x(a))}function Y7x(a){return SB(a.replace(\"\\\\\",\"\").replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g,function(u,c,b,R,K){return c||b||R||K}))}function SB(a){return a.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g,\"\\\\$&\")}var Wi0={};function M5(a,u){var c,b=u;for(typeof a==\"string\"&&(a=[a]),lV(u)&&(b=function(R,K){K[u]=s4(R)}),c=0;c<a.length;c++)Wi0[a[c]]=b}function pH(a,u){M5(a,function(c,b,R,K){R._w=R._w||{},u(c,R._w,R,K)})}function Q7x(a,u,c){u!=null&&CT(Wi0,a)&&Wi0[a](u,c._a,c,a)}var KP=0,fV=1,zj=2,tN=3,sR=4,pV=5,hz=6,Z7x=7,x3x=8;function e3x(a,u){return(a%u+u)%u}var p9;Array.prototype.indexOf?p9=Array.prototype.indexOf:p9=function(a){var u;for(u=0;u<this.length;++u)if(this[u]===a)return u;return-1};function u00(a,u){if(isNaN(a)||isNaN(u))return NaN;var c=e3x(u,12);return a+=(u-c)/12,c===1?e00(a)?29:28:31-c%7%2}y8(\"M\",[\"MM\",2],\"Mo\",function(){return this.month()+1});y8(\"MMM\",0,0,function(a){return this.localeData().monthsShort(this,a)});y8(\"MMMM\",0,0,function(a){return this.localeData().months(this,a)});VP(\"month\",\"M\");$P(\"month\",8);xg(\"M\",Vw);xg(\"MM\",Vw,EB);xg(\"MMM\",function(a,u){return u.monthsShortRegex(a)});xg(\"MMMM\",function(a,u){return u.monthsRegex(a)});M5([\"M\",\"MM\"],function(a,u){u[fV]=s4(a)-1});M5([\"MMM\",\"MMMM\"],function(a,u,c,b){var R=c._locale.monthsParse(a,b,c._strict);R!=null?u[fV]=R:lF(c).invalidMonth=a});var t3x=\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),mD0=\"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec\".split(\"_\"),hD0=/D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,r3x=fH,n3x=fH;function i3x(a,u){return a?aR(this._months)?this._months[a.month()]:this._months[(this._months.isFormat||hD0).test(u)?\"format\":\"standalone\"][a.month()]:aR(this._months)?this._months:this._months.standalone}function a3x(a,u){return a?aR(this._monthsShort)?this._monthsShort[a.month()]:this._monthsShort[hD0.test(u)?\"format\":\"standalone\"][a.month()]:aR(this._monthsShort)?this._monthsShort:this._monthsShort.standalone}function o3x(a,u,c){var b,R,K,s0=a.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],b=0;b<12;++b)K=Vj([2e3,b]),this._shortMonthsParse[b]=this.monthsShort(K,\"\").toLocaleLowerCase(),this._longMonthsParse[b]=this.months(K,\"\").toLocaleLowerCase();return c?u===\"MMM\"?(R=p9.call(this._shortMonthsParse,s0),R!==-1?R:null):(R=p9.call(this._longMonthsParse,s0),R!==-1?R:null):u===\"MMM\"?(R=p9.call(this._shortMonthsParse,s0),R!==-1?R:(R=p9.call(this._longMonthsParse,s0),R!==-1?R:null)):(R=p9.call(this._longMonthsParse,s0),R!==-1?R:(R=p9.call(this._shortMonthsParse,s0),R!==-1?R:null))}function s3x(a,u,c){var b,R,K;if(this._monthsParseExact)return o3x.call(this,a,u,c);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),b=0;b<12;b++){if(R=Vj([2e3,b]),c&&!this._longMonthsParse[b]&&(this._longMonthsParse[b]=new RegExp(\"^\"+this.months(R,\"\").replace(\".\",\"\")+\"$\",\"i\"),this._shortMonthsParse[b]=new RegExp(\"^\"+this.monthsShort(R,\"\").replace(\".\",\"\")+\"$\",\"i\")),!c&&!this._monthsParse[b]&&(K=\"^\"+this.months(R,\"\")+\"|^\"+this.monthsShort(R,\"\"),this._monthsParse[b]=new RegExp(K.replace(\".\",\"\"),\"i\")),c&&u===\"MMMM\"&&this._longMonthsParse[b].test(a))return b;if(c&&u===\"MMM\"&&this._shortMonthsParse[b].test(a))return b;if(!c&&this._monthsParse[b].test(a))return b}}function gD0(a,u){var c;if(!a.isValid())return a;if(typeof u==\"string\"){if(/^\\d+$/.test(u))u=s4(u);else if(u=a.localeData().monthsParse(u),!lV(u))return a}return c=Math.min(a.date(),u00(a.year(),u)),a._d[\"set\"+(a._isUTC?\"UTC\":\"\")+\"Month\"](u,c),a}function _D0(a){return a!=null?(gD0(this,a),jm.updateOffset(this,!0),this):t00(this,\"Month\")}function u3x(){return u00(this.year(),this.month())}function c3x(a){return this._monthsParseExact?(CT(this,\"_monthsRegex\")||yD0.call(this),a?this._monthsShortStrictRegex:this._monthsShortRegex):(CT(this,\"_monthsShortRegex\")||(this._monthsShortRegex=r3x),this._monthsShortStrictRegex&&a?this._monthsShortStrictRegex:this._monthsShortRegex)}function l3x(a){return this._monthsParseExact?(CT(this,\"_monthsRegex\")||yD0.call(this),a?this._monthsStrictRegex:this._monthsRegex):(CT(this,\"_monthsRegex\")||(this._monthsRegex=n3x),this._monthsStrictRegex&&a?this._monthsStrictRegex:this._monthsRegex)}function yD0(){function a(s0,Y){return Y.length-s0.length}var u=[],c=[],b=[],R,K;for(R=0;R<12;R++)K=Vj([2e3,R]),u.push(this.monthsShort(K,\"\")),c.push(this.months(K,\"\")),b.push(this.months(K,\"\")),b.push(this.monthsShort(K,\"\"));for(u.sort(a),c.sort(a),b.sort(a),R=0;R<12;R++)u[R]=SB(u[R]),c[R]=SB(c[R]);for(R=0;R<24;R++)b[R]=SB(b[R]);this._monthsRegex=new RegExp(\"^(\"+b.join(\"|\")+\")\",\"i\"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp(\"^(\"+c.join(\"|\")+\")\",\"i\"),this._monthsShortStrictRegex=new RegExp(\"^(\"+u.join(\"|\")+\")\",\"i\")}y8(\"Y\",0,0,function(){var a=this.year();return a<=9999?Kj(a,4):\"+\"+a});y8(0,[\"YY\",2],0,function(){return this.year()%100});y8(0,[\"YYYY\",4],0,\"year\");y8(0,[\"YYYYY\",5],0,\"year\");y8(0,[\"YYYYYY\",6,!0],0,\"year\");VP(\"year\",\"y\");$P(\"year\",1);xg(\"Y\",a00);xg(\"YY\",Vw,EB);xg(\"YYYY\",zi0,Ki0);xg(\"YYYYY\",i00,r00);xg(\"YYYYYY\",i00,r00);M5([\"YYYYY\",\"YYYYYY\"],KP);M5(\"YYYY\",function(a,u){u[KP]=a.length===2?jm.parseTwoDigitYear(a):s4(a)});M5(\"YY\",function(a,u){u[KP]=jm.parseTwoDigitYear(a)});M5(\"Y\",function(a,u){u[KP]=parseInt(a,10)});function dH(a){return e00(a)?366:365}jm.parseTwoDigitYear=function(a){return s4(a)+(s4(a)>68?1900:2e3)};var DD0=qW(\"FullYear\",!0);function f3x(){return e00(this.year())}function p3x(a,u,c,b,R,K,s0){var Y;return a<100&&a>=0?(Y=new Date(a+400,u,c,b,R,K,s0),isFinite(Y.getFullYear())&&Y.setFullYear(a)):Y=new Date(a,u,c,b,R,K,s0),Y}function mH(a){var u,c;return a<100&&a>=0?(c=Array.prototype.slice.call(arguments),c[0]=a+400,u=new Date(Date.UTC.apply(null,c)),isFinite(u.getUTCFullYear())&&u.setUTCFullYear(a)):u=new Date(Date.UTC.apply(null,arguments)),u}function c00(a,u,c){var b=7+u-c,R=(7+mH(a,0,b).getUTCDay()-u)%7;return-R+b-1}function vD0(a,u,c,b,R){var K=(7+c-b)%7,s0=c00(a,b,R),Y=1+7*(u-1)+K+s0,F0,J0;return Y<=0?(F0=a-1,J0=dH(F0)+Y):Y>dH(a)?(F0=a+1,J0=Y-dH(a)):(F0=a,J0=Y),{year:F0,dayOfYear:J0}}function hH(a,u,c){var b=c00(a.year(),u,c),R=Math.floor((a.dayOfYear()-b-1)/7)+1,K,s0;return R<1?(s0=a.year()-1,K=R+dV(s0,u,c)):R>dV(a.year(),u,c)?(K=R-dV(a.year(),u,c),s0=a.year()+1):(s0=a.year(),K=R),{week:K,year:s0}}function dV(a,u,c){var b=c00(a,u,c),R=c00(a+1,u,c);return(dH(a)-b+R)/7}y8(\"w\",[\"ww\",2],\"wo\",\"week\");y8(\"W\",[\"WW\",2],\"Wo\",\"isoWeek\");VP(\"week\",\"w\");VP(\"isoWeek\",\"W\");$P(\"week\",5);$P(\"isoWeek\",5);xg(\"w\",Vw);xg(\"ww\",Vw,EB);xg(\"W\",Vw);xg(\"WW\",Vw,EB);pH([\"w\",\"ww\",\"W\",\"WW\"],function(a,u,c,b){u[b.substr(0,1)]=s4(a)});function d3x(a){return hH(a,this._week.dow,this._week.doy).week}var m3x={dow:0,doy:6};function h3x(){return this._week.dow}function g3x(){return this._week.doy}function _3x(a){var u=this.localeData().week(this);return a==null?u:this.add((a-u)*7,\"d\")}function y3x(a){var u=hH(this,1,4).week;return a==null?u:this.add((a-u)*7,\"d\")}y8(\"d\",0,\"do\",\"day\");y8(\"dd\",0,0,function(a){return this.localeData().weekdaysMin(this,a)});y8(\"ddd\",0,0,function(a){return this.localeData().weekdaysShort(this,a)});y8(\"dddd\",0,0,function(a){return this.localeData().weekdays(this,a)});y8(\"e\",0,0,\"weekday\");y8(\"E\",0,0,\"isoWeekday\");VP(\"day\",\"d\");VP(\"weekday\",\"e\");VP(\"isoWeekday\",\"E\");$P(\"day\",11);$P(\"weekday\",11);$P(\"isoWeekday\",11);xg(\"d\",Vw);xg(\"e\",Vw);xg(\"E\",Vw);xg(\"dd\",function(a,u){return u.weekdaysMinRegex(a)});xg(\"ddd\",function(a,u){return u.weekdaysShortRegex(a)});xg(\"dddd\",function(a,u){return u.weekdaysRegex(a)});pH([\"dd\",\"ddd\",\"dddd\"],function(a,u,c,b){var R=c._locale.weekdaysParse(a,b,c._strict);R!=null?u.d=R:lF(c).invalidWeekday=a});pH([\"d\",\"e\",\"E\"],function(a,u,c,b){u[b]=s4(a)});function D3x(a,u){return typeof a!=\"string\"?a:isNaN(a)?(a=u.weekdaysParse(a),typeof a==\"number\"?a:null):parseInt(a,10)}function v3x(a,u){return typeof a==\"string\"?u.weekdaysParse(a)%7||7:isNaN(a)?null:a}function qi0(a,u){return a.slice(u,7).concat(a.slice(0,u))}var b3x=\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),bD0=\"Sun_Mon_Tue_Wed_Thu_Fri_Sat\".split(\"_\"),C3x=\"Su_Mo_Tu_We_Th_Fr_Sa\".split(\"_\"),E3x=fH,S3x=fH,F3x=fH;function A3x(a,u){var c=aR(this._weekdays)?this._weekdays:this._weekdays[a&&a!==!0&&this._weekdays.isFormat.test(u)?\"format\":\"standalone\"];return a===!0?qi0(c,this._week.dow):a?c[a.day()]:c}function T3x(a){return a===!0?qi0(this._weekdaysShort,this._week.dow):a?this._weekdaysShort[a.day()]:this._weekdaysShort}function w3x(a){return a===!0?qi0(this._weekdaysMin,this._week.dow):a?this._weekdaysMin[a.day()]:this._weekdaysMin}function k3x(a,u,c){var b,R,K,s0=a.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],b=0;b<7;++b)K=Vj([2e3,1]).day(b),this._minWeekdaysParse[b]=this.weekdaysMin(K,\"\").toLocaleLowerCase(),this._shortWeekdaysParse[b]=this.weekdaysShort(K,\"\").toLocaleLowerCase(),this._weekdaysParse[b]=this.weekdays(K,\"\").toLocaleLowerCase();return c?u===\"dddd\"?(R=p9.call(this._weekdaysParse,s0),R!==-1?R:null):u===\"ddd\"?(R=p9.call(this._shortWeekdaysParse,s0),R!==-1?R:null):(R=p9.call(this._minWeekdaysParse,s0),R!==-1?R:null):u===\"dddd\"?(R=p9.call(this._weekdaysParse,s0),R!==-1||(R=p9.call(this._shortWeekdaysParse,s0),R!==-1)?R:(R=p9.call(this._minWeekdaysParse,s0),R!==-1?R:null)):u===\"ddd\"?(R=p9.call(this._shortWeekdaysParse,s0),R!==-1||(R=p9.call(this._weekdaysParse,s0),R!==-1)?R:(R=p9.call(this._minWeekdaysParse,s0),R!==-1?R:null)):(R=p9.call(this._minWeekdaysParse,s0),R!==-1||(R=p9.call(this._weekdaysParse,s0),R!==-1)?R:(R=p9.call(this._shortWeekdaysParse,s0),R!==-1?R:null))}function N3x(a,u,c){var b,R,K;if(this._weekdaysParseExact)return k3x.call(this,a,u,c);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),b=0;b<7;b++){if(R=Vj([2e3,1]).day(b),c&&!this._fullWeekdaysParse[b]&&(this._fullWeekdaysParse[b]=new RegExp(\"^\"+this.weekdays(R,\"\").replace(\".\",\"\\\\.?\")+\"$\",\"i\"),this._shortWeekdaysParse[b]=new RegExp(\"^\"+this.weekdaysShort(R,\"\").replace(\".\",\"\\\\.?\")+\"$\",\"i\"),this._minWeekdaysParse[b]=new RegExp(\"^\"+this.weekdaysMin(R,\"\").replace(\".\",\"\\\\.?\")+\"$\",\"i\")),this._weekdaysParse[b]||(K=\"^\"+this.weekdays(R,\"\")+\"|^\"+this.weekdaysShort(R,\"\")+\"|^\"+this.weekdaysMin(R,\"\"),this._weekdaysParse[b]=new RegExp(K.replace(\".\",\"\"),\"i\")),c&&u===\"dddd\"&&this._fullWeekdaysParse[b].test(a))return b;if(c&&u===\"ddd\"&&this._shortWeekdaysParse[b].test(a))return b;if(c&&u===\"dd\"&&this._minWeekdaysParse[b].test(a))return b;if(!c&&this._weekdaysParse[b].test(a))return b}}function P3x(a){if(!this.isValid())return a!=null?this:NaN;var u=this._isUTC?this._d.getUTCDay():this._d.getDay();return a!=null?(a=D3x(a,this.localeData()),this.add(a-u,\"d\")):u}function I3x(a){if(!this.isValid())return a!=null?this:NaN;var u=(this.day()+7-this.localeData()._week.dow)%7;return a==null?u:this.add(a-u,\"d\")}function O3x(a){if(!this.isValid())return a!=null?this:NaN;if(a!=null){var u=v3x(a,this.localeData());return this.day(this.day()%7?u:u-7)}else return this.day()||7}function B3x(a){return this._weekdaysParseExact?(CT(this,\"_weekdaysRegex\")||Ji0.call(this),a?this._weekdaysStrictRegex:this._weekdaysRegex):(CT(this,\"_weekdaysRegex\")||(this._weekdaysRegex=E3x),this._weekdaysStrictRegex&&a?this._weekdaysStrictRegex:this._weekdaysRegex)}function L3x(a){return this._weekdaysParseExact?(CT(this,\"_weekdaysRegex\")||Ji0.call(this),a?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(CT(this,\"_weekdaysShortRegex\")||(this._weekdaysShortRegex=S3x),this._weekdaysShortStrictRegex&&a?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function M3x(a){return this._weekdaysParseExact?(CT(this,\"_weekdaysRegex\")||Ji0.call(this),a?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(CT(this,\"_weekdaysMinRegex\")||(this._weekdaysMinRegex=F3x),this._weekdaysMinStrictRegex&&a?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Ji0(){function a(e1,t1){return t1.length-e1.length}var u=[],c=[],b=[],R=[],K,s0,Y,F0,J0;for(K=0;K<7;K++)s0=Vj([2e3,1]).day(K),Y=SB(this.weekdaysMin(s0,\"\")),F0=SB(this.weekdaysShort(s0,\"\")),J0=SB(this.weekdays(s0,\"\")),u.push(Y),c.push(F0),b.push(J0),R.push(Y),R.push(F0),R.push(J0);u.sort(a),c.sort(a),b.sort(a),R.sort(a),this._weekdaysRegex=new RegExp(\"^(\"+R.join(\"|\")+\")\",\"i\"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp(\"^(\"+b.join(\"|\")+\")\",\"i\"),this._weekdaysShortStrictRegex=new RegExp(\"^(\"+c.join(\"|\")+\")\",\"i\"),this._weekdaysMinStrictRegex=new RegExp(\"^(\"+u.join(\"|\")+\")\",\"i\")}function Hi0(){return this.hours()%12||12}function R3x(){return this.hours()||24}y8(\"H\",[\"HH\",2],0,\"hour\");y8(\"h\",[\"hh\",2],0,Hi0);y8(\"k\",[\"kk\",2],0,R3x);y8(\"hmm\",0,0,function(){return\"\"+Hi0.apply(this)+Kj(this.minutes(),2)});y8(\"hmmss\",0,0,function(){return\"\"+Hi0.apply(this)+Kj(this.minutes(),2)+Kj(this.seconds(),2)});y8(\"Hmm\",0,0,function(){return\"\"+this.hours()+Kj(this.minutes(),2)});y8(\"Hmmss\",0,0,function(){return\"\"+this.hours()+Kj(this.minutes(),2)+Kj(this.seconds(),2)});function CD0(a,u){y8(a,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),u)})}CD0(\"a\",!0);CD0(\"A\",!1);VP(\"hour\",\"h\");$P(\"hour\",13);function ED0(a,u){return u._meridiemParse}xg(\"a\",ED0);xg(\"A\",ED0);xg(\"H\",Vw);xg(\"h\",Vw);xg(\"k\",Vw);xg(\"HH\",Vw,EB);xg(\"hh\",Vw,EB);xg(\"kk\",Vw,EB);xg(\"hmm\",pD0);xg(\"hmmss\",dD0);xg(\"Hmm\",pD0);xg(\"Hmmss\",dD0);M5([\"H\",\"HH\"],tN);M5([\"k\",\"kk\"],function(a,u,c){var b=s4(a);u[tN]=b===24?0:b});M5([\"a\",\"A\"],function(a,u,c){c._isPm=c._locale.isPM(a),c._meridiem=a});M5([\"h\",\"hh\"],function(a,u,c){u[tN]=s4(a),lF(c).bigHour=!0});M5(\"hmm\",function(a,u,c){var b=a.length-2;u[tN]=s4(a.substr(0,b)),u[sR]=s4(a.substr(b)),lF(c).bigHour=!0});M5(\"hmmss\",function(a,u,c){var b=a.length-4,R=a.length-2;u[tN]=s4(a.substr(0,b)),u[sR]=s4(a.substr(b,2)),u[pV]=s4(a.substr(R)),lF(c).bigHour=!0});M5(\"Hmm\",function(a,u,c){var b=a.length-2;u[tN]=s4(a.substr(0,b)),u[sR]=s4(a.substr(b))});M5(\"Hmmss\",function(a,u,c){var b=a.length-4,R=a.length-2;u[tN]=s4(a.substr(0,b)),u[sR]=s4(a.substr(b,2)),u[pV]=s4(a.substr(R))});function j3x(a){return(a+\"\").toLowerCase().charAt(0)===\"p\"}var U3x=/[ap]\\.?m?\\.?/i,V3x=qW(\"Hours\",!0);function $3x(a,u,c){return a>11?c?\"pm\":\"PM\":c?\"am\":\"AM\"}var SD0={calendar:N7x,longDateFormat:B7x,invalidDate:M7x,ordinal:j7x,dayOfMonthOrdinalParse:U7x,relativeTime:$7x,months:t3x,monthsShort:mD0,week:m3x,weekdays:b3x,weekdaysMin:C3x,weekdaysShort:bD0,meridiemParse:U3x},gk={},gH={},_H;function K3x(a,u){var c,b=Math.min(a.length,u.length);for(c=0;c<b;c+=1)if(a[c]!==u[c])return c;return b}function FD0(a){return a&&a.toLowerCase().replace(\"_\",\"-\")}function z3x(a){for(var u=0,c,b,R,K;u<a.length;){for(K=FD0(a[u]).split(\"-\"),c=K.length,b=FD0(a[u+1]),b=b?b.split(\"-\"):null;c>0;){if(R=l00(K.slice(0,c).join(\"-\")),R)return R;if(b&&b.length>=c&&K3x(K,b)>=c-1)break;c--}u++}return _H}function l00(a){var u=null,c;if(gk[a]===void 0&&typeof module!=\"undefined\"&&module&&module.exports)try{u=_H._abbr,c=require,c(\"./locale/\"+a),B$(u)}catch{gk[a]=null}return gk[a]}function B$(a,u){var c;return a&&(CO(u)?c=mV(a):c=Gi0(a,u),c?_H=c:typeof console!=\"undefined\"&&console.warn&&console.warn(\"Locale \"+a+\" not found. Did you forget to load it?\")),_H._abbr}function Gi0(a,u){if(u!==null){var c,b=SD0;if(u.abbr=a,gk[a]!=null)oD0(\"defineLocaleOverride\",\"use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info.\"),b=gk[a]._config;else if(u.parentLocale!=null)if(gk[u.parentLocale]!=null)b=gk[u.parentLocale]._config;else if(c=l00(u.parentLocale),c!=null)b=c._config;else return gH[u.parentLocale]||(gH[u.parentLocale]=[]),gH[u.parentLocale].push({name:a,config:u}),null;return gk[a]=new Ri0(Mi0(b,u)),gH[a]&&gH[a].forEach(function(R){Gi0(R.name,R.config)}),B$(a),gk[a]}else return delete gk[a],null}function W3x(a,u){if(u!=null){var c,b,R=SD0;gk[a]!=null&&gk[a].parentLocale!=null?gk[a].set(Mi0(gk[a]._config,u)):(b=l00(a),b!=null&&(R=b._config),u=Mi0(R,u),b==null&&(u.abbr=a),c=new Ri0(u),c.parentLocale=gk[a],gk[a]=c),B$(a)}else gk[a]!=null&&(gk[a].parentLocale!=null?(gk[a]=gk[a].parentLocale,a===B$()&&B$(a)):gk[a]!=null&&delete gk[a]);return gk[a]}function mV(a){var u;if(a&&a._locale&&a._locale._abbr&&(a=a._locale._abbr),!a)return _H;if(!aR(a)){if(u=l00(a),u)return u;a=[a]}return z3x(a)}function q3x(){return ji0(gk)}function Xi0(a){var u,c=a._a;return c&&lF(a).overflow===-2&&(u=c[fV]<0||c[fV]>11?fV:c[zj]<1||c[zj]>u00(c[KP],c[fV])?zj:c[tN]<0||c[tN]>24||c[tN]===24&&(c[sR]!==0||c[pV]!==0||c[hz]!==0)?tN:c[sR]<0||c[sR]>59?sR:c[pV]<0||c[pV]>59?pV:c[hz]<0||c[hz]>999?hz:-1,lF(a)._overflowDayOfYear&&(u<KP||u>zj)&&(u=zj),lF(a)._overflowWeeks&&u===-1&&(u=Z7x),lF(a)._overflowWeekday&&u===-1&&(u=x3x),lF(a).overflow=u),a}var J3x=/^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,H3x=/^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d|))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,G3x=/Z|[+-]\\d\\d(?::?\\d\\d)?/,f00=[[\"YYYYYY-MM-DD\",/[+-]\\d{6}-\\d\\d-\\d\\d/],[\"YYYY-MM-DD\",/\\d{4}-\\d\\d-\\d\\d/],[\"GGGG-[W]WW-E\",/\\d{4}-W\\d\\d-\\d/],[\"GGGG-[W]WW\",/\\d{4}-W\\d\\d/,!1],[\"YYYY-DDD\",/\\d{4}-\\d{3}/],[\"YYYY-MM\",/\\d{4}-\\d\\d/,!1],[\"YYYYYYMMDD\",/[+-]\\d{10}/],[\"YYYYMMDD\",/\\d{8}/],[\"GGGG[W]WWE\",/\\d{4}W\\d{3}/],[\"GGGG[W]WW\",/\\d{4}W\\d{2}/,!1],[\"YYYYDDD\",/\\d{7}/],[\"YYYYMM\",/\\d{6}/,!1],[\"YYYY\",/\\d{4}/,!1]],Yi0=[[\"HH:mm:ss.SSSS\",/\\d\\d:\\d\\d:\\d\\d\\.\\d+/],[\"HH:mm:ss,SSSS\",/\\d\\d:\\d\\d:\\d\\d,\\d+/],[\"HH:mm:ss\",/\\d\\d:\\d\\d:\\d\\d/],[\"HH:mm\",/\\d\\d:\\d\\d/],[\"HHmmss.SSSS\",/\\d\\d\\d\\d\\d\\d\\.\\d+/],[\"HHmmss,SSSS\",/\\d\\d\\d\\d\\d\\d,\\d+/],[\"HHmmss\",/\\d\\d\\d\\d\\d\\d/],[\"HHmm\",/\\d\\d\\d\\d/],[\"HH\",/\\d\\d/]],X3x=/^\\/?Date\\((-?\\d+)/i,Y3x=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/,Q3x={UT:0,GMT:0,EDT:-4*60,EST:-5*60,CDT:-5*60,CST:-6*60,MDT:-6*60,MST:-7*60,PDT:-7*60,PST:-8*60};function AD0(a){var u,c,b=a._i,R=J3x.exec(b)||H3x.exec(b),K,s0,Y,F0;if(R){for(lF(a).iso=!0,u=0,c=f00.length;u<c;u++)if(f00[u][1].exec(R[1])){s0=f00[u][0],K=f00[u][2]!==!1;break}if(s0==null){a._isValid=!1;return}if(R[3]){for(u=0,c=Yi0.length;u<c;u++)if(Yi0[u][1].exec(R[3])){Y=(R[2]||\" \")+Yi0[u][0];break}if(Y==null){a._isValid=!1;return}}if(!K&&Y!=null){a._isValid=!1;return}if(R[4])if(G3x.exec(R[4]))F0=\"Z\";else{a._isValid=!1;return}a._f=s0+(Y||\"\")+(F0||\"\"),Zi0(a)}else a._isValid=!1}function Z3x(a,u,c,b,R,K){var s0=[xCx(a),mD0.indexOf(u),parseInt(c,10),parseInt(b,10),parseInt(R,10)];return K&&s0.push(parseInt(K,10)),s0}function xCx(a){var u=parseInt(a,10);return u<=49?2e3+u:u<=999?1900+u:u}function eCx(a){return a.replace(/\\([^)]*\\)|[\\n\\t]/g,\" \").replace(/(\\s\\s+)/g,\" \").replace(/^\\s\\s*/,\"\").replace(/\\s\\s*$/,\"\")}function tCx(a,u,c){if(a){var b=bD0.indexOf(a),R=new Date(u[0],u[1],u[2]).getDay();if(b!==R)return lF(c).weekdayMismatch=!0,c._isValid=!1,!1}return!0}function rCx(a,u,c){if(a)return Q3x[a];if(u)return 0;var b=parseInt(c,10),R=b%100,K=(b-R)/100;return K*60+R}function TD0(a){var u=Y3x.exec(eCx(a._i)),c;if(u){if(c=Z3x(u[4],u[3],u[2],u[5],u[6],u[7]),!tCx(u[1],c,a))return;a._a=c,a._tzm=rCx(u[8],u[9],u[10]),a._d=mH.apply(null,a._a),a._d.setUTCMinutes(a._d.getUTCMinutes()-a._tzm),lF(a).rfc2822=!0}else a._isValid=!1}function nCx(a){var u=X3x.exec(a._i);if(u!==null){a._d=new Date(+u[1]);return}if(AD0(a),a._isValid===!1)delete a._isValid;else return;if(TD0(a),a._isValid===!1)delete a._isValid;else return;a._strict?a._isValid=!1:jm.createFromInputFallback(a)}jm.createFromInputFallback=RL(\"value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.\",function(a){a._d=new Date(a._i+(a._useUTC?\" UTC\":\"\"))});function HW(a,u,c){return a!=null?a:u!=null?u:c}function iCx(a){var u=new Date(jm.now());return a._useUTC?[u.getUTCFullYear(),u.getUTCMonth(),u.getUTCDate()]:[u.getFullYear(),u.getMonth(),u.getDate()]}function Qi0(a){var u,c,b=[],R,K,s0;if(!a._d){for(R=iCx(a),a._w&&a._a[zj]==null&&a._a[fV]==null&&aCx(a),a._dayOfYear!=null&&(s0=HW(a._a[KP],R[KP]),(a._dayOfYear>dH(s0)||a._dayOfYear===0)&&(lF(a)._overflowDayOfYear=!0),c=mH(s0,0,a._dayOfYear),a._a[fV]=c.getUTCMonth(),a._a[zj]=c.getUTCDate()),u=0;u<3&&a._a[u]==null;++u)a._a[u]=b[u]=R[u];for(;u<7;u++)a._a[u]=b[u]=a._a[u]==null?u===2?1:0:a._a[u];a._a[tN]===24&&a._a[sR]===0&&a._a[pV]===0&&a._a[hz]===0&&(a._nextDay=!0,a._a[tN]=0),a._d=(a._useUTC?mH:p3x).apply(null,b),K=a._useUTC?a._d.getUTCDay():a._d.getDay(),a._tzm!=null&&a._d.setUTCMinutes(a._d.getUTCMinutes()-a._tzm),a._nextDay&&(a._a[tN]=24),a._w&&typeof a._w.d!=\"undefined\"&&a._w.d!==K&&(lF(a).weekdayMismatch=!0)}}function aCx(a){var u,c,b,R,K,s0,Y,F0,J0;u=a._w,u.GG!=null||u.W!=null||u.E!=null?(K=1,s0=4,c=HW(u.GG,a._a[KP],hH($w(),1,4).year),b=HW(u.W,1),R=HW(u.E,1),(R<1||R>7)&&(F0=!0)):(K=a._locale._week.dow,s0=a._locale._week.doy,J0=hH($w(),K,s0),c=HW(u.gg,a._a[KP],J0.year),b=HW(u.w,J0.week),u.d!=null?(R=u.d,(R<0||R>6)&&(F0=!0)):u.e!=null?(R=u.e+K,(u.e<0||u.e>6)&&(F0=!0)):R=K),b<1||b>dV(c,K,s0)?lF(a)._overflowWeeks=!0:F0!=null?lF(a)._overflowWeekday=!0:(Y=vD0(c,b,R,K,s0),a._a[KP]=Y.year,a._dayOfYear=Y.dayOfYear)}jm.ISO_8601=function(){};jm.RFC_2822=function(){};function Zi0(a){if(a._f===jm.ISO_8601){AD0(a);return}if(a._f===jm.RFC_2822){TD0(a);return}a._a=[],lF(a).empty=!0;var u=\"\"+a._i,c,b,R,K,s0,Y=u.length,F0=0,J0;for(R=sD0(a._f,a._locale).match(Ui0)||[],c=0;c<R.length;c++)K=R[c],b=(u.match(X7x(K,a))||[])[0],b&&(s0=u.substr(0,u.indexOf(b)),s0.length>0&&lF(a).unusedInput.push(s0),u=u.slice(u.indexOf(b)+b.length),F0+=b.length),WW[K]?(b?lF(a).empty=!1:lF(a).unusedTokens.push(K),Q7x(K,b,a)):a._strict&&!b&&lF(a).unusedTokens.push(K);lF(a).charsLeftOver=Y-F0,u.length>0&&lF(a).unusedInput.push(u),a._a[tN]<=12&&lF(a).bigHour===!0&&a._a[tN]>0&&(lF(a).bigHour=void 0),lF(a).parsedDateParts=a._a.slice(0),lF(a).meridiem=a._meridiem,a._a[tN]=oCx(a._locale,a._a[tN],a._meridiem),J0=lF(a).era,J0!==null&&(a._a[KP]=a._locale.erasConvertYear(J0,a._a[KP])),Qi0(a),Xi0(a)}function oCx(a,u,c){var b;return c==null?u:a.meridiemHour!=null?a.meridiemHour(u,c):(a.isPM!=null&&(b=a.isPM(c),b&&u<12&&(u+=12),!b&&u===12&&(u=0)),u)}function sCx(a){var u,c,b,R,K,s0,Y=!1;if(a._f.length===0){lF(a).invalidFormat=!0,a._d=new Date(NaN);return}for(R=0;R<a._f.length;R++)K=0,s0=!1,u=Li0({},a),a._useUTC!=null&&(u._useUTC=a._useUTC),u._f=a._f[R],Zi0(u),Ii0(u)&&(s0=!0),K+=lF(u).charsLeftOver,K+=lF(u).unusedTokens.length*10,lF(u).score=K,Y?K<b&&(b=K,c=u):(b==null||K<b||s0)&&(b=K,c=u,s0&&(Y=!0));O$(a,c||u)}function uCx(a){if(!a._d){var u=$i0(a._i),c=u.day===void 0?u.date:u.day;a._a=nD0([u.year,u.month,c,u.hour,u.minute,u.second,u.millisecond],function(b){return b&&parseInt(b,10)}),Qi0(a)}}function cCx(a){var u=new cH(Xi0(wD0(a)));return u._nextDay&&(u.add(1,\"d\"),u._nextDay=void 0),u}function wD0(a){var u=a._i,c=a._f;return a._locale=a._locale||mV(a._l),u===null||c===void 0&&u===\"\"?QZ({nullInput:!0}):(typeof u==\"string\"&&(a._i=u=a._locale.preparse(u)),oR(u)?new cH(Xi0(u)):(uH(u)?a._d=u:aR(c)?sCx(a):c?Zi0(a):lCx(a),Ii0(a)||(a._d=null),a))}function lCx(a){var u=a._i;CO(u)?a._d=new Date(jm.now()):uH(u)?a._d=new Date(u.valueOf()):typeof u==\"string\"?nCx(a):aR(u)?(a._a=nD0(u.slice(0),function(c){return parseInt(c,10)}),Qi0(a)):mz(u)?uCx(a):lV(u)?a._d=new Date(u):jm.createFromInputFallback(a)}function kD0(a,u,c,b,R){var K={};return(u===!0||u===!1)&&(b=u,u=void 0),(c===!0||c===!1)&&(b=c,c=void 0),(mz(a)&&Ni0(a)||aR(a)&&a.length===0)&&(a=void 0),K._isAMomentObject=!0,K._useUTC=K._isUTC=R,K._l=c,K._i=a,K._f=u,K._strict=b,cCx(K)}function $w(a,u,c,b){return kD0(a,u,c,b,!1)}var fCx=RL(\"moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/\",function(){var a=$w.apply(null,arguments);return this.isValid()&&a.isValid()?a<this?this:a:QZ()}),pCx=RL(\"moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/\",function(){var a=$w.apply(null,arguments);return this.isValid()&&a.isValid()?a>this?this:a:QZ()});function ND0(a,u){var c,b;if(u.length===1&&aR(u[0])&&(u=u[0]),!u.length)return $w();for(c=u[0],b=1;b<u.length;++b)(!u[b].isValid()||u[b][a](c))&&(c=u[b]);return c}function dCx(){var a=[].slice.call(arguments,0);return ND0(\"isBefore\",a)}function mCx(){var a=[].slice.call(arguments,0);return ND0(\"isAfter\",a)}var hCx=function(){return Date.now?Date.now():+new Date},yH=[\"year\",\"quarter\",\"month\",\"week\",\"day\",\"hour\",\"minute\",\"second\",\"millisecond\"];function gCx(a){var u,c=!1,b;for(u in a)if(CT(a,u)&&!(p9.call(yH,u)!==-1&&(a[u]==null||!isNaN(a[u]))))return!1;for(b=0;b<yH.length;++b)if(a[yH[b]]){if(c)return!1;parseFloat(a[yH[b]])!==s4(a[yH[b]])&&(c=!0)}return!0}function _Cx(){return this._isValid}function yCx(){return uR(NaN)}function p00(a){var u=$i0(a),c=u.year||0,b=u.quarter||0,R=u.month||0,K=u.week||u.isoWeek||0,s0=u.day||0,Y=u.hour||0,F0=u.minute||0,J0=u.second||0,e1=u.millisecond||0;this._isValid=gCx(u),this._milliseconds=+e1+J0*1e3+F0*6e4+Y*1e3*60*60,this._days=+s0+K*7,this._months=+R+b*3+c*12,this._data={},this._locale=mV(),this._bubble()}function d00(a){return a instanceof p00}function xa0(a){return a<0?Math.round(-1*a)*-1:Math.round(a)}function DCx(a,u,c){var b=Math.min(a.length,u.length),R=Math.abs(a.length-u.length),K=0,s0;for(s0=0;s0<b;s0++)(c&&a[s0]!==u[s0]||!c&&s4(a[s0])!==s4(u[s0]))&&K++;return K+R}function PD0(a,u){y8(a,0,0,function(){var c=this.utcOffset(),b=\"+\";return c<0&&(c=-c,b=\"-\"),b+Kj(~~(c/60),2)+u+Kj(~~c%60,2)})}PD0(\"Z\",\":\");PD0(\"ZZ\",\"\");xg(\"Z\",o00);xg(\"ZZ\",o00);M5([\"Z\",\"ZZ\"],function(a,u,c){c._useUTC=!0,c._tzm=ea0(o00,a)});var vCx=/([\\+\\-]|\\d\\d)/gi;function ea0(a,u){var c=(u||\"\").match(a),b,R,K;return c===null?null:(b=c[c.length-1]||[],R=(b+\"\").match(vCx)||[\"-\",0,0],K=+(R[1]*60)+s4(R[2]),K===0?0:R[0]===\"+\"?K:-K)}function ta0(a,u){var c,b;return u._isUTC?(c=u.clone(),b=(oR(a)||uH(a)?a.valueOf():$w(a).valueOf())-c.valueOf(),c._d.setTime(c._d.valueOf()+b),jm.updateOffset(c,!1),c):$w(a).local()}function ra0(a){return-Math.round(a._d.getTimezoneOffset())}jm.updateOffset=function(){};function bCx(a,u,c){var b=this._offset||0,R;if(!this.isValid())return a!=null?this:NaN;if(a!=null){if(typeof a==\"string\"){if(a=ea0(o00,a),a===null)return this}else Math.abs(a)<16&&!c&&(a=a*60);return!this._isUTC&&u&&(R=ra0(this)),this._offset=a,this._isUTC=!0,R!=null&&this.add(R,\"m\"),b!==a&&(!u||this._changeInProgress?LD0(this,uR(a-b,\"m\"),1,!1):this._changeInProgress||(this._changeInProgress=!0,jm.updateOffset(this,!0),this._changeInProgress=null)),this}else return this._isUTC?b:ra0(this)}function CCx(a,u){return a!=null?(typeof a!=\"string\"&&(a=-a),this.utcOffset(a,u),this):-this.utcOffset()}function ECx(a){return this.utcOffset(0,a)}function SCx(a){return this._isUTC&&(this.utcOffset(0,a),this._isUTC=!1,a&&this.subtract(ra0(this),\"m\")),this}function FCx(){if(this._tzm!=null)this.utcOffset(this._tzm,!1,!0);else if(typeof this._i==\"string\"){var a=ea0(H7x,this._i);a!=null?this.utcOffset(a):this.utcOffset(0,!0)}return this}function ACx(a){return this.isValid()?(a=a?$w(a).utcOffset():0,(this.utcOffset()-a)%60==0):!1}function TCx(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function wCx(){if(!CO(this._isDSTShifted))return this._isDSTShifted;var a={},u;return Li0(a,this),a=wD0(a),a._a?(u=a._isUTC?Vj(a._a):$w(a._a),this._isDSTShifted=this.isValid()&&DCx(a._a,u.toArray())>0):this._isDSTShifted=!1,this._isDSTShifted}function kCx(){return this.isValid()?!this._isUTC:!1}function NCx(){return this.isValid()?this._isUTC:!1}function ID0(){return this.isValid()?this._isUTC&&this._offset===0:!1}var PCx=/^(-|\\+)?(?:(\\d*)[. ])?(\\d+):(\\d+)(?::(\\d+)(\\.\\d*)?)?$/,ICx=/^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function uR(a,u){var c=a,b=null,R,K,s0;return d00(a)?c={ms:a._milliseconds,d:a._days,M:a._months}:lV(a)||!isNaN(+a)?(c={},u?c[u]=+a:c.milliseconds=+a):(b=PCx.exec(a))?(R=b[1]===\"-\"?-1:1,c={y:0,d:s4(b[zj])*R,h:s4(b[tN])*R,m:s4(b[sR])*R,s:s4(b[pV])*R,ms:s4(xa0(b[hz]*1e3))*R}):(b=ICx.exec(a))?(R=b[1]===\"-\"?-1:1,c={y:gz(b[2],R),M:gz(b[3],R),w:gz(b[4],R),d:gz(b[5],R),h:gz(b[6],R),m:gz(b[7],R),s:gz(b[8],R)}):c==null?c={}:typeof c==\"object\"&&(\"from\"in c||\"to\"in c)&&(s0=OCx($w(c.from),$w(c.to)),c={},c.ms=s0.milliseconds,c.M=s0.months),K=new p00(c),d00(a)&&CT(a,\"_locale\")&&(K._locale=a._locale),d00(a)&&CT(a,\"_isValid\")&&(K._isValid=a._isValid),K}uR.fn=p00.prototype;uR.invalid=yCx;function gz(a,u){var c=a&&parseFloat(a.replace(\",\",\".\"));return(isNaN(c)?0:c)*u}function OD0(a,u){var c={};return c.months=u.month()-a.month()+(u.year()-a.year())*12,a.clone().add(c.months,\"M\").isAfter(u)&&--c.months,c.milliseconds=+u-+a.clone().add(c.months,\"M\"),c}function OCx(a,u){var c;return a.isValid()&&u.isValid()?(u=ta0(u,a),a.isBefore(u)?c=OD0(a,u):(c=OD0(u,a),c.milliseconds=-c.milliseconds,c.months=-c.months),c):{milliseconds:0,months:0}}function BD0(a,u){return function(c,b){var R,K;return b!==null&&!isNaN(+b)&&(oD0(u,\"moment().\"+u+\"(period, number) is deprecated. Please use moment().\"+u+\"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.\"),K=c,c=b,b=K),R=uR(c,b),LD0(this,R,a),this}}function LD0(a,u,c,b){var R=u._milliseconds,K=xa0(u._days),s0=xa0(u._months);!a.isValid()||(b=b==null?!0:b,s0&&gD0(a,t00(a,\"Month\")+s0*c),K&&cD0(a,\"Date\",t00(a,\"Date\")+K*c),R&&a._d.setTime(a._d.valueOf()+R*c),b&&jm.updateOffset(a,K||s0))}var BCx=BD0(1,\"add\"),LCx=BD0(-1,\"subtract\");function MD0(a){return typeof a==\"string\"||a instanceof String}function MCx(a){return oR(a)||uH(a)||MD0(a)||lV(a)||jCx(a)||RCx(a)||a===null||a===void 0}function RCx(a){var u=mz(a)&&!Ni0(a),c=!1,b=[\"years\",\"year\",\"y\",\"months\",\"month\",\"M\",\"days\",\"day\",\"d\",\"dates\",\"date\",\"D\",\"hours\",\"hour\",\"h\",\"minutes\",\"minute\",\"m\",\"seconds\",\"second\",\"s\",\"milliseconds\",\"millisecond\",\"ms\"],R,K;for(R=0;R<b.length;R+=1)K=b[R],c=c||CT(a,K);return u&&c}function jCx(a){var u=aR(a),c=!1;return u&&(c=a.filter(function(b){return!lV(b)&&MD0(a)}).length===0),u&&c}function UCx(a){var u=mz(a)&&!Ni0(a),c=!1,b=[\"sameDay\",\"nextDay\",\"lastDay\",\"nextWeek\",\"lastWeek\",\"sameElse\"],R,K;for(R=0;R<b.length;R+=1)K=b[R],c=c||CT(a,K);return u&&c}function VCx(a,u){var c=a.diff(u,\"days\",!0);return c<-6?\"sameElse\":c<-1?\"lastWeek\":c<0?\"lastDay\":c<1?\"sameDay\":c<2?\"nextDay\":c<7?\"nextWeek\":\"sameElse\"}function $Cx(a,u){arguments.length===1&&(arguments[0]?MCx(arguments[0])?(a=arguments[0],u=void 0):UCx(arguments[0])&&(u=arguments[0],a=void 0):(a=void 0,u=void 0));var c=a||$w(),b=ta0(c,this).startOf(\"day\"),R=jm.calendarFormat(this,b)||\"sameElse\",K=u&&($j(u[R])?u[R].call(this,c):u[R]);return this.format(K||this.localeData().calendar(R,this,$w(c)))}function KCx(){return new cH(this)}function zCx(a,u){var c=oR(a)?a:$w(a);return this.isValid()&&c.isValid()?(u=jL(u)||\"millisecond\",u===\"millisecond\"?this.valueOf()>c.valueOf():c.valueOf()<this.clone().startOf(u).valueOf()):!1}function WCx(a,u){var c=oR(a)?a:$w(a);return this.isValid()&&c.isValid()?(u=jL(u)||\"millisecond\",u===\"millisecond\"?this.valueOf()<c.valueOf():this.clone().endOf(u).valueOf()<c.valueOf()):!1}function qCx(a,u,c,b){var R=oR(a)?a:$w(a),K=oR(u)?u:$w(u);return this.isValid()&&R.isValid()&&K.isValid()?(b=b||\"()\",(b[0]===\"(\"?this.isAfter(R,c):!this.isBefore(R,c))&&(b[1]===\")\"?this.isBefore(K,c):!this.isAfter(K,c))):!1}function JCx(a,u){var c=oR(a)?a:$w(a),b;return this.isValid()&&c.isValid()?(u=jL(u)||\"millisecond\",u===\"millisecond\"?this.valueOf()===c.valueOf():(b=c.valueOf(),this.clone().startOf(u).valueOf()<=b&&b<=this.clone().endOf(u).valueOf())):!1}function HCx(a,u){return this.isSame(a,u)||this.isAfter(a,u)}function GCx(a,u){return this.isSame(a,u)||this.isBefore(a,u)}function XCx(a,u,c){var b,R,K;if(!this.isValid())return NaN;if(b=ta0(a,this),!b.isValid())return NaN;switch(R=(b.utcOffset()-this.utcOffset())*6e4,u=jL(u),u){case\"year\":K=m00(this,b)/12;break;case\"month\":K=m00(this,b);break;case\"quarter\":K=m00(this,b)/3;break;case\"second\":K=(this-b)/1e3;break;case\"minute\":K=(this-b)/6e4;break;case\"hour\":K=(this-b)/36e5;break;case\"day\":K=(this-b-R)/864e5;break;case\"week\":K=(this-b-R)/6048e5;break;default:K=this-b}return c?K:UL(K)}function m00(a,u){if(a.date()<u.date())return-m00(u,a);var c=(u.year()-a.year())*12+(u.month()-a.month()),b=a.clone().add(c,\"months\"),R,K;return u-b<0?(R=a.clone().add(c-1,\"months\"),K=(u-b)/(b-R)):(R=a.clone().add(c+1,\"months\"),K=(u-b)/(R-b)),-(c+K)||0}jm.defaultFormat=\"YYYY-MM-DDTHH:mm:ssZ\";jm.defaultFormatUtc=\"YYYY-MM-DDTHH:mm:ss[Z]\";function YCx(){return this.clone().locale(\"en\").format(\"ddd MMM DD YYYY HH:mm:ss [GMT]ZZ\")}function QCx(a){if(!this.isValid())return null;var u=a!==!0,c=u?this.clone().utc():this;return c.year()<0||c.year()>9999?x00(c,u?\"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]\":\"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ\"):$j(Date.prototype.toISOString)?u?this.toDate().toISOString():new Date(this.valueOf()+this.utcOffset()*60*1e3).toISOString().replace(\"Z\",x00(c,\"Z\")):x00(c,u?\"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]\":\"YYYY-MM-DD[T]HH:mm:ss.SSSZ\")}function ZCx(){if(!this.isValid())return\"moment.invalid(/* \"+this._i+\" */)\";var a=\"moment\",u=\"\",c,b,R,K;return this.isLocal()||(a=this.utcOffset()===0?\"moment.utc\":\"moment.parseZone\",u=\"Z\"),c=\"[\"+a+'(\"]',b=0<=this.year()&&this.year()<=9999?\"YYYY\":\"YYYYYY\",R=\"-MM-DD[T]HH:mm:ss.SSS\",K=u+'[\")]',this.format(c+b+R+K)}function xEx(a){a||(a=this.isUtc()?jm.defaultFormatUtc:jm.defaultFormat);var u=x00(this,a);return this.localeData().postformat(u)}function eEx(a,u){return this.isValid()&&(oR(a)&&a.isValid()||$w(a).isValid())?uR({to:this,from:a}).locale(this.locale()).humanize(!u):this.localeData().invalidDate()}function tEx(a){return this.from($w(),a)}function rEx(a,u){return this.isValid()&&(oR(a)&&a.isValid()||$w(a).isValid())?uR({from:this,to:a}).locale(this.locale()).humanize(!u):this.localeData().invalidDate()}function nEx(a){return this.to($w(),a)}function RD0(a){var u;return a===void 0?this._locale._abbr:(u=mV(a),u!=null&&(this._locale=u),this)}var jD0=RL(\"moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.\",function(a){return a===void 0?this.localeData():this.locale(a)});function UD0(){return this._locale}var h00=1e3,GW=60*h00,g00=60*GW,VD0=(365*400+97)*24*g00;function XW(a,u){return(a%u+u)%u}function $D0(a,u,c){return a<100&&a>=0?new Date(a+400,u,c)-VD0:new Date(a,u,c).valueOf()}function KD0(a,u,c){return a<100&&a>=0?Date.UTC(a+400,u,c)-VD0:Date.UTC(a,u,c)}function iEx(a){var u,c;if(a=jL(a),a===void 0||a===\"millisecond\"||!this.isValid())return this;switch(c=this._isUTC?KD0:$D0,a){case\"year\":u=c(this.year(),0,1);break;case\"quarter\":u=c(this.year(),this.month()-this.month()%3,1);break;case\"month\":u=c(this.year(),this.month(),1);break;case\"week\":u=c(this.year(),this.month(),this.date()-this.weekday());break;case\"isoWeek\":u=c(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case\"day\":case\"date\":u=c(this.year(),this.month(),this.date());break;case\"hour\":u=this._d.valueOf(),u-=XW(u+(this._isUTC?0:this.utcOffset()*GW),g00);break;case\"minute\":u=this._d.valueOf(),u-=XW(u,GW);break;case\"second\":u=this._d.valueOf(),u-=XW(u,h00);break}return this._d.setTime(u),jm.updateOffset(this,!0),this}function aEx(a){var u,c;if(a=jL(a),a===void 0||a===\"millisecond\"||!this.isValid())return this;switch(c=this._isUTC?KD0:$D0,a){case\"year\":u=c(this.year()+1,0,1)-1;break;case\"quarter\":u=c(this.year(),this.month()-this.month()%3+3,1)-1;break;case\"month\":u=c(this.year(),this.month()+1,1)-1;break;case\"week\":u=c(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case\"isoWeek\":u=c(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case\"day\":case\"date\":u=c(this.year(),this.month(),this.date()+1)-1;break;case\"hour\":u=this._d.valueOf(),u+=g00-XW(u+(this._isUTC?0:this.utcOffset()*GW),g00)-1;break;case\"minute\":u=this._d.valueOf(),u+=GW-XW(u,GW)-1;break;case\"second\":u=this._d.valueOf(),u+=h00-XW(u,h00)-1;break}return this._d.setTime(u),jm.updateOffset(this,!0),this}function oEx(){return this._d.valueOf()-(this._offset||0)*6e4}function sEx(){return Math.floor(this.valueOf()/1e3)}function uEx(){return new Date(this.valueOf())}function cEx(){var a=this;return[a.year(),a.month(),a.date(),a.hour(),a.minute(),a.second(),a.millisecond()]}function lEx(){var a=this;return{years:a.year(),months:a.month(),date:a.date(),hours:a.hours(),minutes:a.minutes(),seconds:a.seconds(),milliseconds:a.milliseconds()}}function fEx(){return this.isValid()?this.toISOString():null}function pEx(){return Ii0(this)}function dEx(){return O$({},lF(this))}function mEx(){return lF(this).overflow}function hEx(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}y8(\"N\",0,0,\"eraAbbr\");y8(\"NN\",0,0,\"eraAbbr\");y8(\"NNN\",0,0,\"eraAbbr\");y8(\"NNNN\",0,0,\"eraName\");y8(\"NNNNN\",0,0,\"eraNarrow\");y8(\"y\",[\"y\",1],\"yo\",\"eraYear\");y8(\"y\",[\"yy\",2],0,\"eraYear\");y8(\"y\",[\"yyy\",3],0,\"eraYear\");y8(\"y\",[\"yyyy\",4],0,\"eraYear\");xg(\"N\",na0);xg(\"NN\",na0);xg(\"NNN\",na0);xg(\"NNNN\",AEx);xg(\"NNNNN\",TEx);M5([\"N\",\"NN\",\"NNN\",\"NNNN\",\"NNNNN\"],function(a,u,c,b){var R=c._locale.erasParse(a,b,c._strict);R?lF(c).era=R:lF(c).invalidEra=a});xg(\"y\",JW);xg(\"yy\",JW);xg(\"yyy\",JW);xg(\"yyyy\",JW);xg(\"yo\",wEx);M5([\"y\",\"yy\",\"yyy\",\"yyyy\"],KP);M5([\"yo\"],function(a,u,c,b){var R;c._locale._eraYearOrdinalRegex&&(R=a.match(c._locale._eraYearOrdinalRegex)),c._locale.eraYearOrdinalParse?u[KP]=c._locale.eraYearOrdinalParse(a,R):u[KP]=parseInt(a,10)});function gEx(a,u){var c,b,R,K=this._eras||mV(\"en\")._eras;for(c=0,b=K.length;c<b;++c){switch(typeof K[c].since){case\"string\":R=jm(K[c].since).startOf(\"day\"),K[c].since=R.valueOf();break}switch(typeof K[c].until){case\"undefined\":K[c].until=1/0;break;case\"string\":R=jm(K[c].until).startOf(\"day\").valueOf(),K[c].until=R.valueOf();break}}return K}function _Ex(a,u,c){var b,R,K=this.eras(),s0,Y,F0;for(a=a.toUpperCase(),b=0,R=K.length;b<R;++b)if(s0=K[b].name.toUpperCase(),Y=K[b].abbr.toUpperCase(),F0=K[b].narrow.toUpperCase(),c)switch(u){case\"N\":case\"NN\":case\"NNN\":if(Y===a)return K[b];break;case\"NNNN\":if(s0===a)return K[b];break;case\"NNNNN\":if(F0===a)return K[b];break}else if([s0,Y,F0].indexOf(a)>=0)return K[b]}function yEx(a,u){var c=a.since<=a.until?1:-1;return u===void 0?jm(a.since).year():jm(a.since).year()+(u-a.offset)*c}function DEx(){var a,u,c,b=this.localeData().eras();for(a=0,u=b.length;a<u;++a)if(c=this.clone().startOf(\"day\").valueOf(),b[a].since<=c&&c<=b[a].until||b[a].until<=c&&c<=b[a].since)return b[a].name;return\"\"}function vEx(){var a,u,c,b=this.localeData().eras();for(a=0,u=b.length;a<u;++a)if(c=this.clone().startOf(\"day\").valueOf(),b[a].since<=c&&c<=b[a].until||b[a].until<=c&&c<=b[a].since)return b[a].narrow;return\"\"}function bEx(){var a,u,c,b=this.localeData().eras();for(a=0,u=b.length;a<u;++a)if(c=this.clone().startOf(\"day\").valueOf(),b[a].since<=c&&c<=b[a].until||b[a].until<=c&&c<=b[a].since)return b[a].abbr;return\"\"}function CEx(){var a,u,c,b,R=this.localeData().eras();for(a=0,u=R.length;a<u;++a)if(c=R[a].since<=R[a].until?1:-1,b=this.clone().startOf(\"day\").valueOf(),R[a].since<=b&&b<=R[a].until||R[a].until<=b&&b<=R[a].since)return(this.year()-jm(R[a].since).year())*c+R[a].offset;return this.year()}function EEx(a){return CT(this,\"_erasNameRegex\")||ia0.call(this),a?this._erasNameRegex:this._erasRegex}function SEx(a){return CT(this,\"_erasAbbrRegex\")||ia0.call(this),a?this._erasAbbrRegex:this._erasRegex}function FEx(a){return CT(this,\"_erasNarrowRegex\")||ia0.call(this),a?this._erasNarrowRegex:this._erasRegex}function na0(a,u){return u.erasAbbrRegex(a)}function AEx(a,u){return u.erasNameRegex(a)}function TEx(a,u){return u.erasNarrowRegex(a)}function wEx(a,u){return u._eraYearOrdinalRegex||JW}function ia0(){var a=[],u=[],c=[],b=[],R,K,s0=this.eras();for(R=0,K=s0.length;R<K;++R)u.push(SB(s0[R].name)),a.push(SB(s0[R].abbr)),c.push(SB(s0[R].narrow)),b.push(SB(s0[R].name)),b.push(SB(s0[R].abbr)),b.push(SB(s0[R].narrow));this._erasRegex=new RegExp(\"^(\"+b.join(\"|\")+\")\",\"i\"),this._erasNameRegex=new RegExp(\"^(\"+u.join(\"|\")+\")\",\"i\"),this._erasAbbrRegex=new RegExp(\"^(\"+a.join(\"|\")+\")\",\"i\"),this._erasNarrowRegex=new RegExp(\"^(\"+c.join(\"|\")+\")\",\"i\")}y8(0,[\"gg\",2],0,function(){return this.weekYear()%100});y8(0,[\"GG\",2],0,function(){return this.isoWeekYear()%100});function _00(a,u){y8(0,[a,a.length],0,u)}_00(\"gggg\",\"weekYear\");_00(\"ggggg\",\"weekYear\");_00(\"GGGG\",\"isoWeekYear\");_00(\"GGGGG\",\"isoWeekYear\");VP(\"weekYear\",\"gg\");VP(\"isoWeekYear\",\"GG\");$P(\"weekYear\",1);$P(\"isoWeekYear\",1);xg(\"G\",a00);xg(\"g\",a00);xg(\"GG\",Vw,EB);xg(\"gg\",Vw,EB);xg(\"GGGG\",zi0,Ki0);xg(\"gggg\",zi0,Ki0);xg(\"GGGGG\",i00,r00);xg(\"ggggg\",i00,r00);pH([\"gggg\",\"ggggg\",\"GGGG\",\"GGGGG\"],function(a,u,c,b){u[b.substr(0,2)]=s4(a)});pH([\"gg\",\"GG\"],function(a,u,c,b){u[b]=jm.parseTwoDigitYear(a)});function kEx(a){return zD0.call(this,a,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)}function NEx(a){return zD0.call(this,a,this.isoWeek(),this.isoWeekday(),1,4)}function PEx(){return dV(this.year(),1,4)}function IEx(){return dV(this.isoWeekYear(),1,4)}function OEx(){var a=this.localeData()._week;return dV(this.year(),a.dow,a.doy)}function BEx(){var a=this.localeData()._week;return dV(this.weekYear(),a.dow,a.doy)}function zD0(a,u,c,b,R){var K;return a==null?hH(this,b,R).year:(K=dV(a,b,R),u>K&&(u=K),LEx.call(this,a,u,c,b,R))}function LEx(a,u,c,b,R){var K=vD0(a,u,c,b,R),s0=mH(K.year,0,K.dayOfYear);return this.year(s0.getUTCFullYear()),this.month(s0.getUTCMonth()),this.date(s0.getUTCDate()),this}y8(\"Q\",0,\"Qo\",\"quarter\");VP(\"quarter\",\"Q\");$P(\"quarter\",7);xg(\"Q\",lD0);M5(\"Q\",function(a,u){u[fV]=(s4(a)-1)*3});function MEx(a){return a==null?Math.ceil((this.month()+1)/3):this.month((a-1)*3+this.month()%3)}y8(\"D\",[\"DD\",2],\"Do\",\"date\");VP(\"date\",\"D\");$P(\"date\",9);xg(\"D\",Vw);xg(\"DD\",Vw,EB);xg(\"Do\",function(a,u){return a?u._dayOfMonthOrdinalParse||u._ordinalParse:u._dayOfMonthOrdinalParseLenient});M5([\"D\",\"DD\"],zj);M5(\"Do\",function(a,u){u[zj]=s4(a.match(Vw)[0])});var WD0=qW(\"Date\",!0);y8(\"DDD\",[\"DDDD\",3],\"DDDo\",\"dayOfYear\");VP(\"dayOfYear\",\"DDD\");$P(\"dayOfYear\",4);xg(\"DDD\",n00);xg(\"DDDD\",fD0);M5([\"DDD\",\"DDDD\"],function(a,u,c){c._dayOfYear=s4(a)});function REx(a){var u=Math.round((this.clone().startOf(\"day\")-this.clone().startOf(\"year\"))/864e5)+1;return a==null?u:this.add(a-u,\"d\")}y8(\"m\",[\"mm\",2],0,\"minute\");VP(\"minute\",\"m\");$P(\"minute\",14);xg(\"m\",Vw);xg(\"mm\",Vw,EB);M5([\"m\",\"mm\"],sR);var jEx=qW(\"Minutes\",!1);y8(\"s\",[\"ss\",2],0,\"second\");VP(\"second\",\"s\");$P(\"second\",15);xg(\"s\",Vw);xg(\"ss\",Vw,EB);M5([\"s\",\"ss\"],pV);var UEx=qW(\"Seconds\",!1);y8(\"S\",0,0,function(){return~~(this.millisecond()/100)});y8(0,[\"SS\",2],0,function(){return~~(this.millisecond()/10)});y8(0,[\"SSS\",3],0,\"millisecond\");y8(0,[\"SSSS\",4],0,function(){return this.millisecond()*10});y8(0,[\"SSSSS\",5],0,function(){return this.millisecond()*100});y8(0,[\"SSSSSS\",6],0,function(){return this.millisecond()*1e3});y8(0,[\"SSSSSSS\",7],0,function(){return this.millisecond()*1e4});y8(0,[\"SSSSSSSS\",8],0,function(){return this.millisecond()*1e5});y8(0,[\"SSSSSSSSS\",9],0,function(){return this.millisecond()*1e6});VP(\"millisecond\",\"ms\");$P(\"millisecond\",16);xg(\"S\",n00,lD0);xg(\"SS\",n00,EB);xg(\"SSS\",n00,fD0);var L$,qD0;for(L$=\"SSSS\";L$.length<=9;L$+=\"S\")xg(L$,JW);function VEx(a,u){u[hz]=s4((\"0.\"+a)*1e3)}for(L$=\"S\";L$.length<=9;L$+=\"S\")M5(L$,VEx);qD0=qW(\"Milliseconds\",!1);y8(\"z\",0,0,\"zoneAbbr\");y8(\"zz\",0,0,\"zoneName\");function $Ex(){return this._isUTC?\"UTC\":\"\"}function KEx(){return this._isUTC?\"Coordinated Universal Time\":\"\"}var yf=cH.prototype;yf.add=BCx;yf.calendar=$Cx;yf.clone=KCx;yf.diff=XCx;yf.endOf=aEx;yf.format=xEx;yf.from=eEx;yf.fromNow=tEx;yf.to=rEx;yf.toNow=nEx;yf.get=q7x;yf.invalidAt=mEx;yf.isAfter=zCx;yf.isBefore=WCx;yf.isBetween=qCx;yf.isSame=JCx;yf.isSameOrAfter=HCx;yf.isSameOrBefore=GCx;yf.isValid=pEx;yf.lang=jD0;yf.locale=RD0;yf.localeData=UD0;yf.max=pCx;yf.min=fCx;yf.parsingFlags=dEx;yf.set=J7x;yf.startOf=iEx;yf.subtract=LCx;yf.toArray=cEx;yf.toObject=lEx;yf.toDate=uEx;yf.toISOString=QCx;yf.inspect=ZCx;typeof Symbol!=\"undefined\"&&Symbol.for!=null&&(yf[Symbol.for(\"nodejs.util.inspect.custom\")]=function(){return\"Moment<\"+this.format()+\">\"});yf.toJSON=fEx;yf.toString=YCx;yf.unix=sEx;yf.valueOf=oEx;yf.creationData=hEx;yf.eraName=DEx;yf.eraNarrow=vEx;yf.eraAbbr=bEx;yf.eraYear=CEx;yf.year=DD0;yf.isLeapYear=f3x;yf.weekYear=kEx;yf.isoWeekYear=NEx;yf.quarter=yf.quarters=MEx;yf.month=_D0;yf.daysInMonth=u3x;yf.week=yf.weeks=_3x;yf.isoWeek=yf.isoWeeks=y3x;yf.weeksInYear=OEx;yf.weeksInWeekYear=BEx;yf.isoWeeksInYear=PEx;yf.isoWeeksInISOWeekYear=IEx;yf.date=WD0;yf.day=yf.days=P3x;yf.weekday=I3x;yf.isoWeekday=O3x;yf.dayOfYear=REx;yf.hour=yf.hours=V3x;yf.minute=yf.minutes=jEx;yf.second=yf.seconds=UEx;yf.millisecond=yf.milliseconds=qD0;yf.utcOffset=bCx;yf.utc=ECx;yf.local=SCx;yf.parseZone=FCx;yf.hasAlignedHourOffset=ACx;yf.isDST=TCx;yf.isLocal=kCx;yf.isUtcOffset=NCx;yf.isUtc=ID0;yf.isUTC=ID0;yf.zoneAbbr=$Ex;yf.zoneName=KEx;yf.dates=RL(\"dates accessor is deprecated. Use date instead.\",WD0);yf.months=RL(\"months accessor is deprecated. Use month instead\",_D0);yf.years=RL(\"years accessor is deprecated. Use year instead\",DD0);yf.zone=RL(\"moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/\",CCx);yf.isDSTShifted=RL(\"isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information\",wCx);function zEx(a){return $w(a*1e3)}function WEx(){return $w.apply(null,arguments).parseZone()}function JD0(a){return a}var ET=Ri0.prototype;ET.calendar=P7x;ET.longDateFormat=L7x;ET.invalidDate=R7x;ET.ordinal=V7x;ET.preparse=JD0;ET.postformat=JD0;ET.relativeTime=K7x;ET.pastFuture=z7x;ET.set=k7x;ET.eras=gEx;ET.erasParse=_Ex;ET.erasConvertYear=yEx;ET.erasAbbrRegex=SEx;ET.erasNameRegex=EEx;ET.erasNarrowRegex=FEx;ET.months=i3x;ET.monthsShort=a3x;ET.monthsParse=s3x;ET.monthsRegex=l3x;ET.monthsShortRegex=c3x;ET.week=d3x;ET.firstDayOfYear=g3x;ET.firstDayOfWeek=h3x;ET.weekdays=A3x;ET.weekdaysMin=w3x;ET.weekdaysShort=T3x;ET.weekdaysParse=N3x;ET.weekdaysRegex=B3x;ET.weekdaysShortRegex=L3x;ET.weekdaysMinRegex=M3x;ET.isPM=j3x;ET.meridiem=$3x;function y00(a,u,c,b){var R=mV(),K=Vj().set(b,u);return R[c](K,a)}function HD0(a,u,c){if(lV(a)&&(u=a,a=void 0),a=a||\"\",u!=null)return y00(a,u,c,\"month\");var b,R=[];for(b=0;b<12;b++)R[b]=y00(a,b,c,\"month\");return R}function aa0(a,u,c,b){typeof a==\"boolean\"?(lV(u)&&(c=u,u=void 0),u=u||\"\"):(u=a,c=u,a=!1,lV(u)&&(c=u,u=void 0),u=u||\"\");var R=mV(),K=a?R._week.dow:0,s0,Y=[];if(c!=null)return y00(u,(c+K)%7,b,\"day\");for(s0=0;s0<7;s0++)Y[s0]=y00(u,(s0+K)%7,b,\"day\");return Y}function qEx(a,u){return HD0(a,u,\"months\")}function JEx(a,u){return HD0(a,u,\"monthsShort\")}function HEx(a,u,c){return aa0(a,u,c,\"weekdays\")}function GEx(a,u,c){return aa0(a,u,c,\"weekdaysShort\")}function XEx(a,u,c){return aa0(a,u,c,\"weekdaysMin\")}B$(\"en\",{eras:[{since:\"0001-01-01\",until:1/0,offset:1,name:\"Anno Domini\",narrow:\"AD\",abbr:\"AD\"},{since:\"0000-12-31\",until:-1/0,offset:1,name:\"Before Christ\",narrow:\"BC\",abbr:\"BC\"}],dayOfMonthOrdinalParse:/\\d{1,2}(th|st|nd|rd)/,ordinal:function(a){var u=a%10,c=s4(a%100/10)===1?\"th\":u===1?\"st\":u===2?\"nd\":u===3?\"rd\":\"th\";return a+c}});jm.lang=RL(\"moment.lang is deprecated. Use moment.locale instead.\",B$);jm.langData=RL(\"moment.langData is deprecated. Use moment.localeData instead.\",mV);var hV=Math.abs;function YEx(){var a=this._data;return this._milliseconds=hV(this._milliseconds),this._days=hV(this._days),this._months=hV(this._months),a.milliseconds=hV(a.milliseconds),a.seconds=hV(a.seconds),a.minutes=hV(a.minutes),a.hours=hV(a.hours),a.months=hV(a.months),a.years=hV(a.years),this}function GD0(a,u,c,b){var R=uR(u,c);return a._milliseconds+=b*R._milliseconds,a._days+=b*R._days,a._months+=b*R._months,a._bubble()}function QEx(a,u){return GD0(this,a,u,1)}function ZEx(a,u){return GD0(this,a,u,-1)}function XD0(a){return a<0?Math.floor(a):Math.ceil(a)}function x8x(){var a=this._milliseconds,u=this._days,c=this._months,b=this._data,R,K,s0,Y,F0;return a>=0&&u>=0&&c>=0||a<=0&&u<=0&&c<=0||(a+=XD0(oa0(c)+u)*864e5,u=0,c=0),b.milliseconds=a%1e3,R=UL(a/1e3),b.seconds=R%60,K=UL(R/60),b.minutes=K%60,s0=UL(K/60),b.hours=s0%24,u+=UL(s0/24),F0=UL(YD0(u)),c+=F0,u-=XD0(oa0(F0)),Y=UL(c/12),c%=12,b.days=u,b.months=c,b.years=Y,this}function YD0(a){return a*4800/146097}function oa0(a){return a*146097/4800}function e8x(a){if(!this.isValid())return NaN;var u,c,b=this._milliseconds;if(a=jL(a),a===\"month\"||a===\"quarter\"||a===\"year\")switch(u=this._days+b/864e5,c=this._months+YD0(u),a){case\"month\":return c;case\"quarter\":return c/3;case\"year\":return c/12}else switch(u=this._days+Math.round(oa0(this._months)),a){case\"week\":return u/7+b/6048e5;case\"day\":return u+b/864e5;case\"hour\":return u*24+b/36e5;case\"minute\":return u*1440+b/6e4;case\"second\":return u*86400+b/1e3;case\"millisecond\":return Math.floor(u*864e5)+b;default:throw new Error(\"Unknown unit \"+a)}}function t8x(){return this.isValid()?this._milliseconds+this._days*864e5+this._months%12*2592e6+s4(this._months/12)*31536e6:NaN}function gV(a){return function(){return this.as(a)}}var r8x=gV(\"ms\"),n8x=gV(\"s\"),i8x=gV(\"m\"),a8x=gV(\"h\"),o8x=gV(\"d\"),s8x=gV(\"w\"),u8x=gV(\"M\"),c8x=gV(\"Q\"),l8x=gV(\"y\");function f8x(){return uR(this)}function p8x(a){return a=jL(a),this.isValid()?this[a+\"s\"]():NaN}function _z(a){return function(){return this.isValid()?this._data[a]:NaN}}var d8x=_z(\"milliseconds\"),m8x=_z(\"seconds\"),h8x=_z(\"minutes\"),g8x=_z(\"hours\"),_8x=_z(\"days\"),y8x=_z(\"months\"),D8x=_z(\"years\");function v8x(){return UL(this.days()/7)}var _V=Math.round,YW={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function b8x(a,u,c,b,R){return R.relativeTime(u||1,!!c,a,b)}function C8x(a,u,c,b){var R=uR(a).abs(),K=_V(R.as(\"s\")),s0=_V(R.as(\"m\")),Y=_V(R.as(\"h\")),F0=_V(R.as(\"d\")),J0=_V(R.as(\"M\")),e1=_V(R.as(\"w\")),t1=_V(R.as(\"y\")),r1=K<=c.ss&&[\"s\",K]||K<c.s&&[\"ss\",K]||s0<=1&&[\"m\"]||s0<c.m&&[\"mm\",s0]||Y<=1&&[\"h\"]||Y<c.h&&[\"hh\",Y]||F0<=1&&[\"d\"]||F0<c.d&&[\"dd\",F0];return c.w!=null&&(r1=r1||e1<=1&&[\"w\"]||e1<c.w&&[\"ww\",e1]),r1=r1||J0<=1&&[\"M\"]||J0<c.M&&[\"MM\",J0]||t1<=1&&[\"y\"]||[\"yy\",t1],r1[2]=u,r1[3]=+a>0,r1[4]=b,b8x.apply(null,r1)}function E8x(a){return a===void 0?_V:typeof a==\"function\"?(_V=a,!0):!1}function S8x(a,u){return YW[a]===void 0?!1:u===void 0?YW[a]:(YW[a]=u,a===\"s\"&&(YW.ss=u-1),!0)}function F8x(a,u){if(!this.isValid())return this.localeData().invalidDate();var c=!1,b=YW,R,K;return typeof a==\"object\"&&(u=a,a=!1),typeof a==\"boolean\"&&(c=a),typeof u==\"object\"&&(b=Object.assign({},YW,u),u.s!=null&&u.ss==null&&(b.ss=u.s-1)),R=this.localeData(),K=C8x(this,!c,b,R),c&&(K=R.pastFuture(+this,K)),R.postformat(K)}var sa0=Math.abs;function QW(a){return(a>0)-(a<0)||+a}function D00(){if(!this.isValid())return this.localeData().invalidDate();var a=sa0(this._milliseconds)/1e3,u=sa0(this._days),c=sa0(this._months),b,R,K,s0,Y=this.asSeconds(),F0,J0,e1,t1;return Y?(b=UL(a/60),R=UL(b/60),a%=60,b%=60,K=UL(c/12),c%=12,s0=a?a.toFixed(3).replace(/\\.?0+$/,\"\"):\"\",F0=Y<0?\"-\":\"\",J0=QW(this._months)!==QW(Y)?\"-\":\"\",e1=QW(this._days)!==QW(Y)?\"-\":\"\",t1=QW(this._milliseconds)!==QW(Y)?\"-\":\"\",F0+\"P\"+(K?J0+K+\"Y\":\"\")+(c?J0+c+\"M\":\"\")+(u?e1+u+\"D\":\"\")+(R||b||a?\"T\":\"\")+(R?t1+R+\"H\":\"\")+(b?t1+b+\"M\":\"\")+(a?t1+s0+\"S\":\"\")):\"P0D\"}var RA=p00.prototype;RA.isValid=_Cx;RA.abs=YEx;RA.add=QEx;RA.subtract=ZEx;RA.as=e8x;RA.asMilliseconds=r8x;RA.asSeconds=n8x;RA.asMinutes=i8x;RA.asHours=a8x;RA.asDays=o8x;RA.asWeeks=s8x;RA.asMonths=u8x;RA.asQuarters=c8x;RA.asYears=l8x;RA.valueOf=t8x;RA._bubble=x8x;RA.clone=f8x;RA.get=p8x;RA.milliseconds=d8x;RA.seconds=m8x;RA.minutes=h8x;RA.hours=g8x;RA.days=_8x;RA.weeks=v8x;RA.months=y8x;RA.years=D8x;RA.humanize=F8x;RA.toISOString=D00;RA.toString=D00;RA.toJSON=D00;RA.locale=RD0;RA.localeData=UD0;RA.toIsoString=RL(\"toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)\",D00);RA.lang=jD0;y8(\"X\",0,0,\"unix\");y8(\"x\",0,0,\"valueOf\");xg(\"x\",a00);xg(\"X\",G7x);M5(\"X\",function(a,u,c){c._d=new Date(parseFloat(a)*1e3)});M5(\"x\",function(a,u,c){c._d=new Date(s4(a))});//! moment.js\njm.version=\"2.29.1\";T7x($w);jm.fn=yf;jm.min=dCx;jm.max=mCx;jm.now=hCx;jm.utc=Vj;jm.unix=zEx;jm.months=qEx;jm.isDate=uH;jm.locale=B$;jm.invalid=QZ;jm.duration=uR;jm.isMoment=oR;jm.weekdays=HEx;jm.parseZone=WEx;jm.localeData=mV;jm.isDuration=d00;jm.monthsShort=JEx;jm.weekdaysMin=XEx;jm.defineLocale=Gi0;jm.updateLocale=W3x;jm.locales=q3x;jm.weekdaysShort=GEx;jm.normalizeUnits=jL;jm.relativeTimeRounding=E8x;jm.relativeTimeThreshold=S8x;jm.calendarFormat=VCx;jm.prototype=yf;jm.HTML5_FMT={DATETIME_LOCAL:\"YYYY-MM-DDTHH:mm\",DATETIME_LOCAL_SECONDS:\"YYYY-MM-DDTHH:mm:ss\",DATETIME_LOCAL_MS:\"YYYY-MM-DDTHH:mm:ss.SSS\",DATE:\"YYYY-MM-DD\",TIME:\"HH:mm\",TIME_SECONDS:\"HH:mm:ss\",TIME_MS:\"HH:mm:ss.SSS\",WEEK:\"GGGG-[W]WW\",MONTH:\"YYYY-MM\"};var QD0={exports:{}};(function(a){(function(){var u=new RegExp(\"^[a-z0-9]{8}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{12}$\",\"i\");function c(R){for(var K=\"\",s0=0;s0<R;s0++)K+=((1+Math.random())*65536|0).toString(16).substring(1);return K}function b(R){if(!R)throw new TypeError(\"Invalid argument; `value` has no value.\");this.value=b.EMPTY,R&&R instanceof b?this.value=R.toString():R&&Object.prototype.toString.call(R)===\"[object String]\"&&b.isGuid(R)&&(this.value=R),this.equals=function(K){return b.isGuid(K)&&this.value==K},this.isEmpty=function(){return this.value===b.EMPTY},this.toString=function(){return this.value},this.toJSON=function(){return this.value}}b.EMPTY=\"00000000-0000-0000-0000-000000000000\",b.isGuid=function(R){return R&&(R instanceof b||u.test(R.toString()))},b.create=function(){return new b([c(2),c(1),c(1),c(1),c(3)].join(\"-\"))},b.raw=function(){return[c(2),c(1),c(1),c(1),c(3)].join(\"-\")},a.exports?a.exports=b:typeof window!=\"undefined\"&&(window.Guid=b)})()})(QD0);var zwx=QD0.exports;function lA(){return lA=Object.assign||function(a){for(var u=1;u<arguments.length;u++){var c=arguments[u];for(var b in c)Object.prototype.hasOwnProperty.call(c,b)&&(a[b]=c[b])}return a},lA.apply(this,arguments)}function cR(a,u){if(a==null)return{};var c={},b=Object.keys(a),R,K;for(K=0;K<b.length;K++)R=b[K],!(u.indexOf(R)>=0)&&(c[R]=a[R]);return c}function A8x(a,u){if(!!a){if(typeof a==\"string\")return ZD0(a,u);var c=Object.prototype.toString.call(a).slice(8,-1);if(c===\"Object\"&&a.constructor&&(c=a.constructor.name),c===\"Map\"||c===\"Set\")return Array.from(a);if(c===\"Arguments\"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c))return ZD0(a,u)}}function ZD0(a,u){(u==null||u>a.length)&&(u=a.length);for(var c=0,b=new Array(u);c<u;c++)b[c]=a[c];return b}function Wj(a,u){var c;if(typeof Symbol==\"undefined\"||a[Symbol.iterator]==null){if(Array.isArray(a)||(c=A8x(a))||u&&a&&typeof a.length==\"number\"){c&&(a=c);var b=0;return function(){return b>=a.length?{done:!0}:{done:!1,value:a[b++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}return c=a[Symbol.iterator](),c.next.bind(c)}function NN(a,u){if(a in u){for(var c=u[a],b=arguments.length,R=new Array(b>2?b-2:0),K=2;K<b;K++)R[K-2]=arguments[K];return typeof c==\"function\"?c.apply(void 0,R):c}var s0=new Error('Tried to handle \"'+a+'\" but there is no handler defined. Only defined handlers are: '+Object.keys(u).map(function(Y){return'\"'+Y+'\"'}).join(\", \")+\".\");throw Error.captureStackTrace&&Error.captureStackTrace(s0,NN),s0}var PN;(function(a){a[a.None=0]=\"None\",a[a.RenderStrategy=1]=\"RenderStrategy\",a[a.Static=2]=\"Static\"})(PN||(PN={}));var FB;(function(a){a[a.Unmount=0]=\"Unmount\",a[a.Hidden=1]=\"Hidden\"})(FB||(FB={}));function jA(a){var u=a.visible,c=u===void 0?!0:u,b=a.features,R=b===void 0?PN.None:b,K=cR(a,[\"visible\",\"features\"]);if(c||R&PN.Static&&K.props.static)return v00(K);if(R&PN.RenderStrategy){var s0,Y,F0=((s0=K.props.unmount)!=null?s0:!0)?FB.Unmount:FB.Hidden;return NN(F0,(Y={},Y[FB.Unmount]=function(){return null},Y[FB.Hidden]=function(){return v00(lA({},K,{props:lA({},K.props,{hidden:!0,style:{display:\"none\"}})}))},Y))}return v00(K)}function v00(a){var u=a.props,c=a.attrs,b=a.slots,R=a.slot,K=a.name,s0=ua0(u,[\"unmount\",\"static\"]),Y=s0.as,F0=cR(s0,[\"as\"]),J0=b.default==null?void 0:b.default(R);if(Y===\"template\"){if(Object.keys(F0).length>0||Object.keys(c).length>0){var e1=J0!=null?J0:[],t1=e1[0],r1=e1.slice(1);if(!T8x(t1)||r1.length>0)throw new Error(['Passing props on \"template\"!',\"\",\"The current component <\"+K+' /> is rendering a \"template\".',\"However we need to passthrough the following props:\",Object.keys(F0).concat(Object.keys(c)).map(function(F1){return\"  - \"+F1}).join(`\n`),\"\",\"You can apply a few solutions:\",['Add an `as=\"...\"` prop, to ensure that we render an actual element instead of a \"template\".',\"Render a single element as the child so that we can forward the props onto that element.\"].map(function(F1){return\"  - \"+F1}).join(`\n`)].join(`\n`));return nV(t1,F0)}return Array.isArray(J0)&&J0.length===1?J0[0]:J0}return CB(Y,F0,J0)}function ua0(a,u){u===void 0&&(u=[]);for(var c=Object.assign({},a),b=Wj(u),R;!(R=b()).done;){var K=R.value;K in c&&delete c[K]}return c}function T8x(a){return a==null?!1:typeof a.type==\"string\"||typeof a.type==\"object\"||typeof a.type==\"function\"}var xv0=Symbol(\"StackContext\"),ZW;(function(a){a[a.AddElement=0]=\"AddElement\",a[a.RemoveElement=1]=\"RemoveElement\"})(ZW||(ZW={}));function ev0(){return o4(xv0,function(){})}function w8x(a){var u=ev0();I9(function(c){var b=a==null?void 0:a.value;!b||(u(ZW.AddElement,b),c(function(){return u(ZW.RemoveElement,b)}))})}function tv0(a){var u=ev0();function c(){for(var b=arguments.length,R=new Array(b),K=0;K<b;K++)R[K]=arguments[K];a==null||a.apply(void 0,R),u.apply(void 0,R)}Dw(xv0,c)}var rv0=Symbol(\"ForcePortalRootContext\");function k8x(){return o4(rv0,!1)}var nv0=yF({name:\"ForcePortalRoot\",props:{as:{type:[Object,String],default:\"template\"},force:{type:Boolean,default:!1}},setup:function(u,c){var b=c.slots,R=c.attrs;return Dw(rv0,u.force),function(){var K=cR(u,[\"force\"]);return jA({props:K,slot:{},slots:b,attrs:R,name:\"ForcePortalRoot\"})}}});function iv0(){var a=document.getElementById(\"headlessui-portal-root\");if(a)return a;var u=document.createElement(\"div\");return u.setAttribute(\"id\",\"headlessui-portal-root\"),document.body.appendChild(u)}var N8x=yF({name:\"Portal\",props:{as:{type:[Object,String],default:\"div\"}},setup:function(u,c){var b=c.slots,R=c.attrs,K=k8x(),s0=o4(av0,null),Y=n2(K===!0||s0===null?iv0():s0.resolveTarget());I9(function(){K||s0!==null&&(Y.value=s0.resolveTarget())});var F0=n2(null);return w8x(F0),xN(function(){var J0=document.getElementById(\"headlessui-portal-root\");if(!!J0&&Y.value===J0&&Y.value.children.length<=0){var e1;(e1=Y.value.parentElement)==null||e1.removeChild(Y.value)}}),tv0(),function(){if(Y.value===null)return null;var J0={ref:F0};return CB(ig0,{to:Y.value},jA({props:lA({},u,J0),slot:{},attrs:R,slots:b,name:\"Portal\"}))}}}),av0=Symbol(\"PortalGroupContext\"),P8x=yF({name:\"PortalGroup\",props:{as:{type:[Object,String],default:\"template\"},target:{type:Object,default:null}},setup:function(u,c){var b=c.attrs,R=c.slots,K=_B({resolveTarget:function(){return u.target}});return Dw(av0,K),function(){var s0=cR(u,[\"target\"]);return jA({props:s0,slot:{},attrs:b,slots:R,name:\"PortalGroup\"})}}}),yh;(function(a){a.Space=\" \",a.Enter=\"Enter\",a.Escape=\"Escape\",a.Backspace=\"Backspace\",a.ArrowLeft=\"ArrowLeft\",a.ArrowUp=\"ArrowUp\",a.ArrowRight=\"ArrowRight\",a.ArrowDown=\"ArrowDown\",a.Home=\"Home\",a.End=\"End\",a.PageUp=\"PageUp\",a.PageDown=\"PageDown\",a.Tab=\"Tab\"})(yh||(yh={}));var I8x=0;function O8x(){return++I8x}function Qk(){return O8x()}function lR(a,u,c){typeof window!=\"undefined\"&&I9(function(b){window.addEventListener(a,u,c),b(function(){window.removeEventListener(a,u,c)})})}function ca0(a,u){for(var c=Wj(a),b;!(b=c()).done;){var R=b.value;if(R.contains(u))return!0}return!1}var la0=[\"[contentEditable=true]\",\"[tabindex]\",\"a[href]\",\"area[href]\",\"button:not([disabled])\",\"iframe\",\"input:not([disabled])\",\"select:not([disabled])\",\"textarea:not([disabled])\"].map(function(a){return a+\":not([tabindex='-1'])\"}).join(\",\"),u4;(function(a){a[a.First=1]=\"First\",a[a.Previous=2]=\"Previous\",a[a.Next=4]=\"Next\",a[a.Last=8]=\"Last\",a[a.WrapAround=16]=\"WrapAround\",a[a.NoScroll=32]=\"NoScroll\"})(u4||(u4={}));var AB;(function(a){a[a.Error=0]=\"Error\",a[a.Overflow=1]=\"Overflow\",a[a.Success=2]=\"Success\",a[a.Underflow=3]=\"Underflow\"})(AB||(AB={}));var b00;(function(a){a[a.Previous=-1]=\"Previous\",a[a.Next=1]=\"Next\"})(b00||(b00={}));function C00(a){return a===void 0&&(a=document.body),a==null?[]:Array.from(a.querySelectorAll(la0))}var xq;(function(a){a[a.Strict=0]=\"Strict\",a[a.Loose=1]=\"Loose\"})(xq||(xq={}));function B8x(a,u){var c;return u===void 0&&(u=xq.Strict),a===document.body?!1:NN(u,(c={},c[xq.Strict]=function(){return a.matches(la0)},c[xq.Loose]=function(){for(var b=a;b!==null;){if(b.matches(la0))return!0;b=b.parentElement}return!1},c))}function DH(a){a==null||a.focus({preventScroll:!0})}function sP(a,u){var c=Array.isArray(a)?a:C00(a),b=document.activeElement,R=function(){if(u&(u4.First|u4.Next))return b00.Next;if(u&(u4.Previous|u4.Last))return b00.Previous;throw new Error(\"Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last\")}(),K=function(){if(u&u4.First)return 0;if(u&u4.Previous)return Math.max(0,c.indexOf(b))-1;if(u&u4.Next)return Math.max(0,c.indexOf(b))+1;if(u&u4.Last)return c.length-1;throw new Error(\"Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last\")}(),s0=u&u4.NoScroll?{preventScroll:!0}:{},Y=0,F0=c.length,J0=void 0;do{var e1;if(Y>=F0||Y+F0<=0)return AB.Error;var t1=K+Y;if(u&u4.WrapAround)t1=(t1+F0)%F0;else{if(t1<0)return AB.Underflow;if(t1>=F0)return AB.Overflow}J0=c[t1],(e1=J0)==null||e1.focus(s0),Y+=R}while(J0!==document.activeElement);return J0.hasAttribute(\"tabindex\")||J0.setAttribute(\"tabindex\",\"0\"),AB.Success}function L8x(a,u,c){u===void 0&&(u=n2(!0)),c===void 0&&(c=n2({}));var b=n2(typeof window!=\"undefined\"?document.activeElement:null),R=n2(null);function K(){if(!!u.value&&a.value.size===1){var Y=c.value.initialFocus,F0=document.activeElement;if(Y){if(Y===F0)return}else if(ca0(a.value,F0))return;if(b.value=F0,Y)DH(Y);else{for(var J0=!1,e1=Wj(a.value),t1;!(t1=e1()).done;){var r1=t1.value,F1=sP(r1,u4.First);if(F1===AB.Success){J0=!0;break}}J0||console.warn(\"There are no focusable elements inside the <FocusTrap />\")}R.value=document.activeElement}}function s0(){DH(b.value),b.value=null,R.value=null}I9(K),AW(function(){u.value?K():s0()}),xN(s0),lR(\"keydown\",function(Y){if(!!u.value&&Y.key===yh.Tab&&!!document.activeElement&&a.value.size===1){Y.preventDefault();for(var F0=Wj(a.value),J0;!(J0=F0()).done;){var e1=J0.value,t1=sP(e1,(Y.shiftKey?u4.Previous:u4.Next)|u4.WrapAround);if(t1===AB.Success){R.value=document.activeElement;break}}}}),lR(\"focus\",function(Y){if(!!u.value&&a.value.size===1){var F0=R.value;if(!!F0){var J0=Y.target;J0&&J0 instanceof HTMLElement?ca0(a.value,J0)?(R.value=J0,DH(J0)):(Y.preventDefault(),Y.stopPropagation(),DH(F0)):DH(R.value)}}},!0)}var ov0=\"body > *\",eq=new Set,M$=new Map;function sv0(a){a.setAttribute(\"aria-hidden\",\"true\"),a.inert=!0}function uv0(a){var u=M$.get(a);!u||(u[\"aria-hidden\"]===null?a.removeAttribute(\"aria-hidden\"):a.setAttribute(\"aria-hidden\",u[\"aria-hidden\"]),a.inert=u.inert)}function M8x(a,u){u===void 0&&(u=n2(!0)),I9(function(c){if(!!u.value&&!!a.value){var b=a.value;eq.add(b);for(var R=Wj(M$.keys()),K;!(K=R()).done;){var s0=K.value;s0.contains(b)&&(uv0(s0),M$.delete(s0))}document.querySelectorAll(ov0).forEach(function(Y){if(Y instanceof HTMLElement){for(var F0=Wj(eq),J0;!(J0=F0()).done;){var e1=J0.value;if(Y.contains(e1))return}eq.size===1&&(M$.set(Y,{\"aria-hidden\":Y.getAttribute(\"aria-hidden\"),inert:Y.inert}),sv0(Y))}}),c(function(){if(eq.delete(b),eq.size>0)document.querySelectorAll(ov0).forEach(function(e1){if(e1 instanceof HTMLElement&&!M$.has(e1)){for(var t1=Wj(eq),r1;!(r1=t1()).done;){var F1=r1.value;if(e1.contains(F1))return}M$.set(e1,{\"aria-hidden\":e1.getAttribute(\"aria-hidden\"),inert:e1.inert}),sv0(e1)}});else for(var Y=Wj(M$.keys()),F0;!(F0=Y()).done;){var J0=F0.value;uv0(J0),M$.delete(J0)}})}})}var cv0=Symbol(\"DescriptionContext\");function R8x(){var a=o4(cv0,null);if(a===null)throw new Error(\"Missing parent\");return a}function E00(a){var u=a===void 0?{}:a,c=u.slot,b=c===void 0?n2({}):c,R=u.name,K=R===void 0?\"Description\":R,s0=u.props,Y=s0===void 0?{}:s0,F0=n2([]);function J0(e1){return F0.value.push(e1),function(){var t1=F0.value.indexOf(e1);t1!==-1&&F0.value.splice(t1,1)}}return Dw(cv0,{register:J0,slot:b,name:K,props:Y}),Sp(function(){return F0.value.length>0?F0.value.join(\" \"):void 0})}var lv0=yF({name:\"Description\",props:{as:{type:[Object,String],default:\"p\"}},render:function(){var u=this.context,c=u.name,b=c===void 0?\"Description\":c,R=u.slot,K=R===void 0?n2({}):R,s0=u.props,Y=s0===void 0?{}:s0,F0=this.$props,J0=lA({},Object.entries(Y).reduce(function(e1,t1){var r1,F1=t1[0],a1=t1[1];return Object.assign(e1,(r1={},r1[F1]=O8(a1),r1))},{}),{id:this.id});return jA({props:lA({},F0,J0),slot:K.value,attrs:this.$attrs,slots:this.$slots,name:b})},setup:function(){var u=R8x(),c=\"headlessui-description-\"+Qk();return Nk(function(){return xN(u.register(c))}),{id:c,context:u}}});function Jp(a){var u;return a==null||a.value==null?null:(u=a.value.$el)!=null?u:a.value}var fv0=Symbol(\"Context\"),d9;(function(a){a[a.Open=0]=\"Open\",a[a.Closed=1]=\"Closed\"})(d9||(d9={}));function j8x(){return yz()!==null}function yz(){return o4(fv0,null)}function vH(a){Dw(fv0,a)}var PI;(function(a){a[a.Open=0]=\"Open\",a[a.Closed=1]=\"Closed\"})(PI||(PI={}));var pv0=Symbol(\"DialogContext\");function bH(a){var u=o4(pv0,null);if(u===null){var c=new Error(\"<\"+a+\" /> is missing a parent <Dialog /> component.\");throw Error.captureStackTrace&&Error.captureStackTrace(c,bH),c}return u}var S00=\"DC8F892D-2EBD-447C-A4C8-A03058436FF4\",Wwx=yF({name:\"Dialog\",inheritAttrs:!1,props:{as:{type:[Object,String],default:\"div\"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},open:{type:[Boolean,String],default:S00},initialFocus:{type:Object,default:null}},emits:{close:function(u){return!0}},render:function(){var u=this,c=lA({},this.$attrs,{ref:\"el\",id:this.id,role:\"dialog\",\"aria-modal\":this.dialogState===PI.Open?!0:void 0,\"aria-labelledby\":this.titleId,\"aria-describedby\":this.describedby,onClick:this.handleClick}),b=this.$props,R=cR(b,[\"open\",\"initialFocus\"]),K={open:this.dialogState===PI.Open};return CB(nv0,{force:!0},function(){return CB(N8x,function(){return CB(P8x,{target:u.dialogRef},function(){return CB(nv0,{force:!1},function(){return jA({props:lA({},R,c),slot:K,attrs:u.$attrs,slots:u.$slots,visible:u.visible,features:PN.RenderStrategy|PN.Static,name:\"Dialog\"})})})})})},setup:function(u,c){var b=c.emit,R=n2(new Set),K=yz(),s0=Sp(function(){if(u.open===S00&&K!==null){var i1;return NN(K.value,(i1={},i1[d9.Open]=!0,i1[d9.Closed]=!1,i1))}return u.open}),Y=u.open!==S00||K!==null;if(!Y)throw new Error(\"You forgot to provide an `open` prop to the `Dialog`.\");if(typeof s0.value!=\"boolean\")throw new Error(\"You provided an `open` prop to the `Dialog`, but the value is not a boolean. Received: \"+(s0.value===S00?void 0:u.open));var F0=Sp(function(){return u.open?PI.Open:PI.Closed}),J0=Sp(function(){return K!==null?K.value===d9.Open:F0.value===PI.Open}),e1=n2(null),t1=n2(F0.value===PI.Open);AW(function(){t1.value=F0.value===PI.Open});var r1=\"headlessui-dialog-\"+Qk(),F1=Sp(function(){return{initialFocus:u.initialFocus}});L8x(R,t1,F1),M8x(e1,t1),tv0(function(i1,x1){var ux;return NN(i1,(ux={},ux[ZW.AddElement]=function(){R.value.add(x1)},ux[ZW.RemoveElement]=function(){R.value.delete(x1)},ux))});var a1=E00({name:\"DialogDescription\",slot:Sp(function(){return{open:s0.value}})}),D1=n2(null),W0={titleId:D1,dialogState:F0,setTitleId:function(x1){D1.value!==x1&&(D1.value=x1)},close:function(){b(\"close\",!1)}};return Dw(pv0,W0),lR(\"mousedown\",function(i1){var x1=i1.target;F0.value===PI.Open&&R.value.size===1&&(ca0(R.value,x1)||(W0.close(),Yk(function(){return x1==null?void 0:x1.focus()})))}),lR(\"keydown\",function(i1){i1.key===yh.Escape&&F0.value===PI.Open&&(R.value.size>1||(i1.preventDefault(),i1.stopPropagation(),W0.close()))}),I9(function(i1){if(F0.value===PI.Open){var x1=document.documentElement.style.overflow,ux=document.documentElement.style.paddingRight,K1=window.innerWidth-document.documentElement.clientWidth;document.documentElement.style.overflow=\"hidden\",document.documentElement.style.paddingRight=K1+\"px\",i1(function(){document.documentElement.style.overflow=x1,document.documentElement.style.paddingRight=ux})}}),I9(function(i1){if(F0.value===PI.Open){var x1=Jp(e1);if(!!x1){var ux=new IntersectionObserver(function(K1){for(var ee=Wj(K1),Gx;!(Gx=ee()).done;){var ve=Gx.value;ve.boundingClientRect.x===0&&ve.boundingClientRect.y===0&&ve.boundingClientRect.width===0&&ve.boundingClientRect.height===0&&W0.close()}});ux.observe(x1),i1(function(){return ux.disconnect()})}}}),{id:r1,el:e1,dialogRef:e1,containers:R,dialogState:F0,titleId:D1,describedby:a1,visible:J0,open:s0,handleClick:function(x1){x1.stopPropagation()}}}}),qwx=yF({name:\"DialogOverlay\",props:{as:{type:[Object,String],default:\"div\"}},render:function(){var u=bH(\"DialogOverlay\"),c={ref:\"el\",id:this.id,\"aria-hidden\":!0,onClick:this.handleClick},b=this.$props;return jA({props:lA({},b,c),slot:{open:u.dialogState.value===PI.Open},attrs:this.$attrs,slots:this.$slots,name:\"DialogOverlay\"})},setup:function(){var u=bH(\"DialogOverlay\"),c=\"headlessui-dialog-overlay-\"+Qk();return{id:c,handleClick:function(R){R.target===R.currentTarget&&(R.preventDefault(),R.stopPropagation(),u.close())}}}}),Jwx=yF({name:\"DialogTitle\",props:{as:{type:[Object,String],default:\"h2\"}},render:function(){var u=bH(\"DialogTitle\"),c={id:this.id},b=this.$props;return jA({props:lA({},b,c),slot:{open:u.dialogState.value===PI.Open},attrs:this.$attrs,slots:this.$slots,name:\"DialogTitle\"})},setup:function(){var u=bH(\"DialogTitle\"),c=\"headlessui-dialog-title-\"+Qk();return Nk(function(){u.setTitleId(c),xN(function(){return u.setTitleId(null)})}),{id:c}}});function dv0(a,u){if(a)return a;var c=u!=null?u:\"button\";if(typeof c==\"string\"&&c.toLowerCase()===\"button\")return\"button\"}function tq(a,u){var c=n2(dv0(a.value.type,a.value.as));return Nk(function(){c.value=dv0(a.value.type,a.value.as)}),I9(function(){var b;c.value||!Jp(u)||Jp(u)instanceof HTMLButtonElement&&!((b=Jp(u))==null?void 0:b.hasAttribute(\"type\"))&&(c.value=\"button\")}),c}var uP;(function(a){a[a.Open=0]=\"Open\",a[a.Closed=1]=\"Closed\"})(uP||(uP={}));var mv0=Symbol(\"DisclosureContext\");function CH(a){var u=o4(mv0,null);if(u===null){var c=new Error(\"<\"+a+\" /> is missing a parent <Disclosure /> component.\");throw Error.captureStackTrace&&Error.captureStackTrace(c,CH),c}return u}var hv0=Symbol(\"DisclosurePanelContext\");function U8x(){return o4(hv0,null)}var Hwx=yF({name:\"Disclosure\",props:{as:{type:[Object,String],default:\"template\"},defaultOpen:{type:[Boolean],default:!1}},setup:function(u,c){var b=c.slots,R=c.attrs,K=\"headlessui-disclosure-button-\"+Qk(),s0=\"headlessui-disclosure-panel-\"+Qk(),Y=n2(u.defaultOpen?uP.Open:uP.Closed),F0=n2(null),J0=n2(null),e1={buttonId:K,panelId:s0,disclosureState:Y,panel:F0,button:J0,toggleDisclosure:function(){var r1;Y.value=NN(Y.value,(r1={},r1[uP.Open]=uP.Closed,r1[uP.Closed]=uP.Open,r1))},closeDisclosure:function(){Y.value!==uP.Closed&&(Y.value=uP.Closed)},close:function(r1){e1.closeDisclosure();var F1=function(){return r1?r1 instanceof HTMLElement?r1:r1.value instanceof HTMLElement?Jp(r1):Jp(e1.button):Jp(e1.button)}();F1==null||F1.focus()}};return Dw(mv0,e1),vH(Sp(function(){var t1;return NN(Y.value,(t1={},t1[uP.Open]=d9.Open,t1[uP.Closed]=d9.Closed,t1))})),function(){var t1=cR(u,[\"defaultOpen\"]),r1={open:Y.value===uP.Open,close:e1.close};return jA({props:t1,slot:r1,slots:b,attrs:R,name:\"Disclosure\"})}}}),Gwx=yF({name:\"DisclosureButton\",props:{as:{type:[Object,String],default:\"button\"},disabled:{type:[Boolean],default:!1}},render:function(){var u=CH(\"DisclosureButton\"),c={open:u.disclosureState.value===uP.Open},b=this.isWithinPanel?{ref:\"el\",type:this.type,onClick:this.handleClick,onKeydown:this.handleKeyDown}:{id:this.id,ref:\"el\",type:this.type,\"aria-expanded\":this.$props.disabled?void 0:u.disclosureState.value===uP.Open,\"aria-controls\":Jp(u.panel)?u.panelId:void 0,disabled:this.$props.disabled?!0:void 0,onClick:this.handleClick,onKeydown:this.handleKeyDown,onKeyup:this.handleKeyUp};return jA({props:lA({},this.$props,b),slot:c,attrs:this.$attrs,slots:this.$slots,name:\"DisclosureButton\"})},setup:function(u,c){var b=c.attrs,R=CH(\"DisclosureButton\"),K=U8x(),s0=K===null?!1:K===R.panelId,Y=n2(null);return s0||I9(function(){R.button.value=Y.value}),{isWithinPanel:s0,id:R.buttonId,el:Y,type:tq(Sp(function(){return{as:u.as,type:b.type}}),Y),handleClick:function(){if(!u.disabled)if(s0){var J0;R.toggleDisclosure(),(J0=Jp(R.button))==null||J0.focus()}else R.toggleDisclosure()},handleKeyDown:function(J0){var e1;if(!u.disabled)if(s0)switch(J0.key){case yh.Space:case yh.Enter:J0.preventDefault(),J0.stopPropagation(),R.toggleDisclosure(),(e1=Jp(R.button))==null||e1.focus();break}else switch(J0.key){case yh.Space:case yh.Enter:J0.preventDefault(),J0.stopPropagation(),R.toggleDisclosure();break}},handleKeyUp:function(J0){switch(J0.key){case yh.Space:J0.preventDefault();break}}}}}),Xwx=yF({name:\"DisclosurePanel\",props:{as:{type:[Object,String],default:\"div\"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0}},render:function(){var u=CH(\"DisclosurePanel\"),c={open:u.disclosureState.value===uP.Open,close:u.close},b={id:this.id,ref:\"el\"};return jA({props:lA({},this.$props,b),slot:c,attrs:this.$attrs,slots:this.$slots,features:PN.RenderStrategy|PN.Static,visible:this.visible,name:\"DisclosurePanel\"})},setup:function(){var u=CH(\"DisclosurePanel\");Dw(hv0,u.panelId);var c=yz(),b=Sp(function(){return c!==null?c.value===d9.Open:u.disclosureState.value===uP.Open});return{id:u.panelId,el:u.panel,visible:b}}});function V8x(a){throw new Error(\"Unexpected object: \"+a)}var tT;(function(a){a[a.First=0]=\"First\",a[a.Previous=1]=\"Previous\",a[a.Next=2]=\"Next\",a[a.Last=3]=\"Last\",a[a.Specific=4]=\"Specific\",a[a.Nothing=5]=\"Nothing\"})(tT||(tT={}));function gv0(a,u){var c=u.resolveItems();if(c.length<=0)return null;var b=u.resolveActiveIndex(),R=b!=null?b:-1,K=function(){switch(a.focus){case tT.First:return c.findIndex(function(F0){return!u.resolveDisabled(F0)});case tT.Previous:{var s0=c.slice().reverse().findIndex(function(F0,J0,e1){return R!==-1&&e1.length-J0-1>=R?!1:!u.resolveDisabled(F0)});return s0===-1?s0:c.length-1-s0}case tT.Next:return c.findIndex(function(F0,J0){return J0<=R?!1:!u.resolveDisabled(F0)});case tT.Last:{var Y=c.slice().reverse().findIndex(function(F0){return!u.resolveDisabled(F0)});return Y===-1?Y:c.length-1-Y}case tT.Specific:return c.findIndex(function(F0){return u.resolveId(F0)===a.id});case tT.Nothing:return null;default:V8x(a)}}();return K===-1?b:K}var Zk;(function(a){a[a.Open=0]=\"Open\",a[a.Closed=1]=\"Closed\"})(Zk||(Zk={}));function $8x(a){requestAnimationFrame(function(){return requestAnimationFrame(a)})}var _v0=Symbol(\"ListboxContext\");function R$(a){var u=o4(_v0,null);if(u===null){var c=new Error(\"<\"+a+\" /> is missing a parent <Listbox /> component.\");throw Error.captureStackTrace&&Error.captureStackTrace(c,R$),c}return u}var Ywx=yF({name:\"Listbox\",emits:{\"update:modelValue\":function(u){return!0}},props:{as:{type:[Object,String],default:\"template\"},disabled:{type:[Boolean],default:!1},horizontal:{type:[Boolean],default:!1},modelValue:{type:[Object,String,Number,Boolean]}},setup:function(u,c){var b=c.slots,R=c.attrs,K=c.emit,s0=n2(Zk.Closed),Y=n2(null),F0=n2(null),J0=n2(null),e1=n2([]),t1=n2(\"\"),r1=n2(null),F1=Sp(function(){return u.modelValue}),a1={listboxState:s0,value:F1,orientation:Sp(function(){return u.horizontal?\"horizontal\":\"vertical\"}),labelRef:Y,buttonRef:F0,optionsRef:J0,disabled:Sp(function(){return u.disabled}),options:e1,searchQuery:t1,activeOptionIndex:r1,closeListbox:function(){u.disabled||s0.value!==Zk.Closed&&(s0.value=Zk.Closed,r1.value=null)},openListbox:function(){u.disabled||s0.value!==Zk.Open&&(s0.value=Zk.Open)},goToOption:function(W0,i1){if(!u.disabled&&s0.value!==Zk.Closed){var x1=gv0(W0===tT.Specific?{focus:tT.Specific,id:i1}:{focus:W0},{resolveItems:function(){return e1.value},resolveActiveIndex:function(){return r1.value},resolveId:function(K1){return K1.id},resolveDisabled:function(K1){return K1.dataRef.disabled}});t1.value===\"\"&&r1.value===x1||(t1.value=\"\",r1.value=x1)}},search:function(W0){if(!u.disabled&&s0.value!==Zk.Closed){t1.value+=W0.toLowerCase();var i1=e1.value.findIndex(function(x1){return!x1.dataRef.disabled&&x1.dataRef.textValue.startsWith(t1.value)});i1===-1||i1===r1.value||(r1.value=i1)}},clearSearch:function(){u.disabled||s0.value!==Zk.Closed&&t1.value!==\"\"&&(t1.value=\"\")},registerOption:function(W0,i1){e1.value.push({id:W0,dataRef:i1})},unregisterOption:function(W0){var i1=e1.value.slice(),x1=r1.value!==null?i1[r1.value]:null,ux=i1.findIndex(function(K1){return K1.id===W0});ux!==-1&&i1.splice(ux,1),e1.value=i1,r1.value=function(){return ux===r1.value||x1===null?null:i1.indexOf(x1)}()},select:function(W0){u.disabled||K(\"update:modelValue\",W0)}};return lR(\"mousedown\",function(D1){var W0,i1,x1,ux=D1.target,K1=document.activeElement;s0.value===Zk.Open&&(((W0=Jp(F0))==null?void 0:W0.contains(ux))||(((i1=Jp(J0))==null?void 0:i1.contains(ux))||a1.closeListbox(),!(K1!==document.body&&(K1==null?void 0:K1.contains(ux)))&&(D1.defaultPrevented||(x1=Jp(F0))==null||x1.focus({preventScroll:!0}))))}),Dw(_v0,a1),vH(Sp(function(){var D1;return NN(s0.value,(D1={},D1[Zk.Open]=d9.Open,D1[Zk.Closed]=d9.Closed,D1))})),function(){var D1={open:s0.value===Zk.Open,disabled:u.disabled};return jA({props:ua0(u,[\"modelValue\",\"onUpdate:modelValue\",\"disabled\",\"horizontal\"]),slot:D1,slots:b,attrs:R,name:\"Listbox\"})}}}),Qwx=yF({name:\"ListboxLabel\",props:{as:{type:[Object,String],default:\"label\"}},render:function(){var u=R$(\"ListboxLabel\"),c={open:u.listboxState.value===Zk.Open,disabled:u.disabled.value},b={id:this.id,ref:\"el\",onClick:this.handleClick};return jA({props:lA({},this.$props,b),slot:c,attrs:this.$attrs,slots:this.$slots,name:\"ListboxLabel\"})},setup:function(){var u=R$(\"ListboxLabel\"),c=\"headlessui-listbox-label-\"+Qk();return{id:c,el:u.labelRef,handleClick:function(){var R;(R=Jp(u.buttonRef))==null||R.focus({preventScroll:!0})}}}}),Zwx=yF({name:\"ListboxButton\",props:{as:{type:[Object,String],default:\"button\"}},render:function(){var u,c,b=R$(\"ListboxButton\"),R={open:b.listboxState.value===Zk.Open,disabled:b.disabled.value},K={ref:\"el\",id:this.id,type:this.type,\"aria-haspopup\":!0,\"aria-controls\":(u=Jp(b.optionsRef))==null?void 0:u.id,\"aria-expanded\":b.disabled.value?void 0:b.listboxState.value===Zk.Open,\"aria-labelledby\":b.labelRef.value?[(c=Jp(b.labelRef))==null?void 0:c.id,this.id].join(\" \"):void 0,disabled:b.disabled.value===!0?!0:void 0,onKeydown:this.handleKeyDown,onKeyup:this.handleKeyUp,onClick:this.handleClick};return jA({props:lA({},this.$props,K),slot:R,attrs:this.$attrs,slots:this.$slots,name:\"ListboxButton\"})},setup:function(u,c){var b=c.attrs,R=R$(\"ListboxButton\"),K=\"headlessui-listbox-button-\"+Qk();function s0(J0){switch(J0.key){case yh.Space:case yh.Enter:case yh.ArrowDown:J0.preventDefault(),R.openListbox(),Yk(function(){var e1;(e1=Jp(R.optionsRef))==null||e1.focus({preventScroll:!0}),R.value.value||R.goToOption(tT.First)});break;case yh.ArrowUp:J0.preventDefault(),R.openListbox(),Yk(function(){var e1;(e1=Jp(R.optionsRef))==null||e1.focus({preventScroll:!0}),R.value.value||R.goToOption(tT.Last)});break}}function Y(J0){switch(J0.key){case yh.Space:J0.preventDefault();break}}function F0(J0){R.disabled.value||(R.listboxState.value===Zk.Open?(R.closeListbox(),Yk(function(){var e1;return(e1=Jp(R.buttonRef))==null?void 0:e1.focus({preventScroll:!0})})):(J0.preventDefault(),R.openListbox(),$8x(function(){var e1;return(e1=Jp(R.optionsRef))==null?void 0:e1.focus({preventScroll:!0})})))}return{id:K,el:R.buttonRef,type:tq(Sp(function(){return{as:u.as,type:b.type}}),R.buttonRef),handleKeyDown:s0,handleKeyUp:Y,handleClick:F0}}}),xkx=yF({name:\"ListboxOptions\",props:{as:{type:[Object,String],default:\"ul\"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0}},render:function(){var u,c,b,R,K=R$(\"ListboxOptions\"),s0={open:K.listboxState.value===Zk.Open},Y={\"aria-activedescendant\":K.activeOptionIndex.value===null||(u=K.options.value[K.activeOptionIndex.value])==null?void 0:u.id,\"aria-labelledby\":(c=(b=Jp(K.labelRef))==null?void 0:b.id)!=null?c:(R=Jp(K.buttonRef))==null?void 0:R.id,\"aria-orientation\":K.orientation.value,id:this.id,onKeydown:this.handleKeyDown,role:\"listbox\",tabIndex:0,ref:\"el\"},F0=this.$props;return jA({props:lA({},F0,Y),slot:s0,attrs:this.$attrs,slots:this.$slots,features:PN.RenderStrategy|PN.Static,visible:this.visible,name:\"ListboxOptions\"})},setup:function(){var u=R$(\"ListboxOptions\"),c=\"headlessui-listbox-options-\"+Qk(),b=n2(null);function R(Y){switch(b.value&&clearTimeout(b.value),Y.key){case yh.Space:if(u.searchQuery.value!==\"\")return Y.preventDefault(),Y.stopPropagation(),u.search(Y.key);case yh.Enter:if(Y.preventDefault(),Y.stopPropagation(),u.activeOptionIndex.value!==null){var F0=u.options.value[u.activeOptionIndex.value].dataRef;u.select(F0.value)}u.closeListbox(),Yk(function(){var J0;return(J0=Jp(u.buttonRef))==null?void 0:J0.focus({preventScroll:!0})});break;case NN(u.orientation.value,{vertical:yh.ArrowDown,horizontal:yh.ArrowRight}):return Y.preventDefault(),Y.stopPropagation(),u.goToOption(tT.Next);case NN(u.orientation.value,{vertical:yh.ArrowUp,horizontal:yh.ArrowLeft}):return Y.preventDefault(),Y.stopPropagation(),u.goToOption(tT.Previous);case yh.Home:case yh.PageUp:return Y.preventDefault(),Y.stopPropagation(),u.goToOption(tT.First);case yh.End:case yh.PageDown:return Y.preventDefault(),Y.stopPropagation(),u.goToOption(tT.Last);case yh.Escape:Y.preventDefault(),Y.stopPropagation(),u.closeListbox(),Yk(function(){var J0;return(J0=Jp(u.buttonRef))==null?void 0:J0.focus({preventScroll:!0})});break;case yh.Tab:Y.preventDefault(),Y.stopPropagation();break;default:Y.key.length===1&&(u.search(Y.key),b.value=setTimeout(function(){return u.clearSearch()},350));break}}var K=yz(),s0=Sp(function(){return K!==null?K.value===d9.Open:u.listboxState.value===Zk.Open});return{id:c,el:u.optionsRef,handleKeyDown:R,visible:s0}}}),ekx=yF({name:\"ListboxOption\",props:{as:{type:[Object,String],default:\"li\"},value:{type:[Object,String,Number,Boolean]},disabled:{type:Boolean,default:!1}},setup:function(u,c){var b=c.slots,R=c.attrs,K=R$(\"ListboxOption\"),s0=\"headlessui-listbox-option-\"+Qk(),Y=Sp(function(){return K.activeOptionIndex.value!==null?K.options.value[K.activeOptionIndex.value].id===s0:!1}),F0=Sp(function(){return CS(K.value.value)===CS(u.value)}),J0=n2({disabled:u.disabled,value:u.value,textValue:\"\"});Nk(function(){var a1,D1,W0=(a1=document.getElementById(s0))==null||(D1=a1.textContent)==null?void 0:D1.toLowerCase().trim();W0!==void 0&&(J0.value.textValue=W0)}),Nk(function(){return K.registerOption(s0,J0)}),xN(function(){return K.unregisterOption(s0)}),Nk(function(){oP([K.listboxState,F0],function(){var a1;K.listboxState.value===Zk.Open&&(!F0.value||(K.goToOption(tT.Specific,s0),(a1=document.getElementById(s0))==null||a1.focus==null||a1.focus()))},{immediate:!0})}),I9(function(){K.listboxState.value===Zk.Open&&(!Y.value||Yk(function(){var a1;return(a1=document.getElementById(s0))==null||a1.scrollIntoView==null?void 0:a1.scrollIntoView({block:\"nearest\"})}))});function e1(a1){if(u.disabled)return a1.preventDefault();K.select(u.value),K.closeListbox(),Yk(function(){var D1;return(D1=Jp(K.buttonRef))==null?void 0:D1.focus({preventScroll:!0})})}function t1(){if(u.disabled)return K.goToOption(tT.Nothing);K.goToOption(tT.Specific,s0)}function r1(){u.disabled||Y.value||K.goToOption(tT.Specific,s0)}function F1(){u.disabled||!Y.value||K.goToOption(tT.Nothing)}return function(){var a1=u.disabled,D1={active:Y.value,selected:F0.value,disabled:a1},W0={id:s0,role:\"option\",tabIndex:a1===!0?void 0:-1,\"aria-disabled\":a1===!0?!0:void 0,\"aria-selected\":F0.value===!0?F0.value:void 0,disabled:void 0,onClick:e1,onFocus:t1,onPointermove:r1,onMousemove:r1,onPointerleave:F1,onMouseleave:F1};return jA({props:lA({},u,W0),slot:D1,attrs:R,slots:b,name:\"ListboxOption\"})}}});function yv0(a){var u=a.container,c=a.accept,b=a.walk,R=a.enabled;I9(function(){var K=u.value;if(!!K&&!(R!==void 0&&!R.value))for(var s0=Object.assign(function(F0){return c(F0)},{acceptNode:c}),Y=document.createTreeWalker(K,NodeFilter.SHOW_ELEMENT,s0,!1);Y.nextNode();)b(Y.currentNode)})}var zP;(function(a){a[a.Open=0]=\"Open\",a[a.Closed=1]=\"Closed\"})(zP||(zP={}));function K8x(a){requestAnimationFrame(function(){return requestAnimationFrame(a)})}var Dv0=Symbol(\"MenuContext\");function rq(a){var u=o4(Dv0,null);if(u===null){var c=new Error(\"<\"+a+\" /> is missing a parent <Menu /> component.\");throw Error.captureStackTrace&&Error.captureStackTrace(c,rq),c}return u}var tkx=yF({name:\"Menu\",props:{as:{type:[Object,String],default:\"template\"}},setup:function(u,c){var b=c.slots,R=c.attrs,K=n2(zP.Closed),s0=n2(null),Y=n2(null),F0=n2([]),J0=n2(\"\"),e1=n2(null),t1={menuState:K,buttonRef:s0,itemsRef:Y,items:F0,searchQuery:J0,activeItemIndex:e1,closeMenu:function(){K.value=zP.Closed,e1.value=null},openMenu:function(){return K.value=zP.Open},goToItem:function(F1,a1){var D1=gv0(F1===tT.Specific?{focus:tT.Specific,id:a1}:{focus:F1},{resolveItems:function(){return F0.value},resolveActiveIndex:function(){return e1.value},resolveId:function(i1){return i1.id},resolveDisabled:function(i1){return i1.dataRef.disabled}});J0.value===\"\"&&e1.value===D1||(J0.value=\"\",e1.value=D1)},search:function(F1){J0.value+=F1.toLowerCase();var a1=F0.value.findIndex(function(D1){return D1.dataRef.textValue.startsWith(J0.value)&&!D1.dataRef.disabled});a1===-1||a1===e1.value||(e1.value=a1)},clearSearch:function(){J0.value=\"\"},registerItem:function(F1,a1){F0.value.push({id:F1,dataRef:a1})},unregisterItem:function(F1){var a1=F0.value.slice(),D1=e1.value!==null?a1[e1.value]:null,W0=a1.findIndex(function(i1){return i1.id===F1});W0!==-1&&a1.splice(W0,1),F0.value=a1,e1.value=function(){return W0===e1.value||D1===null?null:a1.indexOf(D1)}()}};return lR(\"mousedown\",function(r1){var F1,a1,D1,W0=r1.target,i1=document.activeElement;K.value===zP.Open&&(((F1=Jp(s0))==null?void 0:F1.contains(W0))||(((a1=Jp(Y))==null?void 0:a1.contains(W0))||t1.closeMenu(),!(i1!==document.body&&(i1==null?void 0:i1.contains(W0)))&&(r1.defaultPrevented||(D1=Jp(s0))==null||D1.focus({preventScroll:!0}))))}),Dw(Dv0,t1),vH(Sp(function(){var r1;return NN(K.value,(r1={},r1[zP.Open]=d9.Open,r1[zP.Closed]=d9.Closed,r1))})),function(){var r1={open:K.value===zP.Open};return jA({props:u,slot:r1,slots:b,attrs:R,name:\"Menu\"})}}}),rkx=yF({name:\"MenuButton\",props:{disabled:{type:Boolean,default:!1},as:{type:[Object,String],default:\"button\"}},render:function(){var u,c=rq(\"MenuButton\"),b={open:c.menuState.value===zP.Open},R={ref:\"el\",id:this.id,type:this.type,\"aria-haspopup\":!0,\"aria-controls\":(u=Jp(c.itemsRef))==null?void 0:u.id,\"aria-expanded\":this.$props.disabled?void 0:c.menuState.value===zP.Open,onKeydown:this.handleKeyDown,onKeyup:this.handleKeyUp,onClick:this.handleClick};return jA({props:lA({},this.$props,R),slot:b,attrs:this.$attrs,slots:this.$slots,name:\"MenuButton\"})},setup:function(u,c){var b=c.attrs,R=rq(\"MenuButton\"),K=\"headlessui-menu-button-\"+Qk();function s0(J0){switch(J0.key){case yh.Space:case yh.Enter:case yh.ArrowDown:J0.preventDefault(),J0.stopPropagation(),R.openMenu(),Yk(function(){var e1;(e1=Jp(R.itemsRef))==null||e1.focus({preventScroll:!0}),R.goToItem(tT.First)});break;case yh.ArrowUp:J0.preventDefault(),J0.stopPropagation(),R.openMenu(),Yk(function(){var e1;(e1=Jp(R.itemsRef))==null||e1.focus({preventScroll:!0}),R.goToItem(tT.Last)});break}}function Y(J0){switch(J0.key){case yh.Space:J0.preventDefault();break}}function F0(J0){u.disabled||(R.menuState.value===zP.Open?(R.closeMenu(),Yk(function(){var e1;return(e1=Jp(R.buttonRef))==null?void 0:e1.focus({preventScroll:!0})})):(J0.preventDefault(),J0.stopPropagation(),R.openMenu(),K8x(function(){var e1;return(e1=Jp(R.itemsRef))==null?void 0:e1.focus({preventScroll:!0})})))}return{id:K,el:R.buttonRef,type:tq(Sp(function(){return{as:u.as,type:b.type}}),R.buttonRef),handleKeyDown:s0,handleKeyUp:Y,handleClick:F0}}}),nkx=yF({name:\"MenuItems\",props:{as:{type:[Object,String],default:\"div\"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0}},render:function(){var u,c,b=rq(\"MenuItems\"),R={open:b.menuState.value===zP.Open},K={\"aria-activedescendant\":b.activeItemIndex.value===null||(u=b.items.value[b.activeItemIndex.value])==null?void 0:u.id,\"aria-labelledby\":(c=Jp(b.buttonRef))==null?void 0:c.id,id:this.id,onKeydown:this.handleKeyDown,onKeyup:this.handleKeyUp,role:\"menu\",tabIndex:0,ref:\"el\"},s0=this.$props;return jA({props:lA({},s0,K),slot:R,attrs:this.$attrs,slots:this.$slots,features:PN.RenderStrategy|PN.Static,visible:this.visible,name:\"MenuItems\"})},setup:function(){var u=rq(\"MenuItems\"),c=\"headlessui-menu-items-\"+Qk(),b=n2(null);yv0({container:Sp(function(){return Jp(u.itemsRef)}),enabled:Sp(function(){return u.menuState.value===zP.Open}),accept:function(J0){return J0.getAttribute(\"role\")===\"menuitem\"?NodeFilter.FILTER_REJECT:J0.hasAttribute(\"role\")?NodeFilter.FILTER_SKIP:NodeFilter.FILTER_ACCEPT},walk:function(J0){J0.setAttribute(\"role\",\"none\")}});function R(F0){switch(b.value&&clearTimeout(b.value),F0.key){case yh.Space:if(u.searchQuery.value!==\"\")return F0.preventDefault(),F0.stopPropagation(),u.search(F0.key);case yh.Enter:if(F0.preventDefault(),F0.stopPropagation(),u.activeItemIndex.value!==null){var J0,e1=u.items.value[u.activeItemIndex.value].id;(J0=document.getElementById(e1))==null||J0.click()}u.closeMenu(),Yk(function(){var t1;return(t1=Jp(u.buttonRef))==null?void 0:t1.focus({preventScroll:!0})});break;case yh.ArrowDown:return F0.preventDefault(),F0.stopPropagation(),u.goToItem(tT.Next);case yh.ArrowUp:return F0.preventDefault(),F0.stopPropagation(),u.goToItem(tT.Previous);case yh.Home:case yh.PageUp:return F0.preventDefault(),F0.stopPropagation(),u.goToItem(tT.First);case yh.End:case yh.PageDown:return F0.preventDefault(),F0.stopPropagation(),u.goToItem(tT.Last);case yh.Escape:F0.preventDefault(),F0.stopPropagation(),u.closeMenu(),Yk(function(){var t1;return(t1=Jp(u.buttonRef))==null?void 0:t1.focus({preventScroll:!0})});break;case yh.Tab:F0.preventDefault(),F0.stopPropagation();break;default:F0.key.length===1&&(u.search(F0.key),b.value=setTimeout(function(){return u.clearSearch()},350));break}}function K(F0){switch(F0.key){case yh.Space:F0.preventDefault();break}}var s0=yz(),Y=Sp(function(){return s0!==null?s0.value===d9.Open:u.menuState.value===zP.Open});return{id:c,el:u.itemsRef,handleKeyDown:R,handleKeyUp:K,visible:Y}}}),ikx=yF({name:\"MenuItem\",props:{as:{type:[Object,String],default:\"template\"},disabled:{type:Boolean,default:!1}},setup:function(u,c){var b=c.slots,R=c.attrs,K=rq(\"MenuItem\"),s0=\"headlessui-menu-item-\"+Qk(),Y=Sp(function(){return K.activeItemIndex.value!==null?K.items.value[K.activeItemIndex.value].id===s0:!1}),F0=n2({disabled:u.disabled,textValue:\"\"});Nk(function(){var F1,a1,D1=(F1=document.getElementById(s0))==null||(a1=F1.textContent)==null?void 0:a1.toLowerCase().trim();D1!==void 0&&(F0.value.textValue=D1)}),Nk(function(){return K.registerItem(s0,F0)}),xN(function(){return K.unregisterItem(s0)}),I9(function(){K.menuState.value===zP.Open&&(!Y.value||Yk(function(){var F1;return(F1=document.getElementById(s0))==null||F1.scrollIntoView==null?void 0:F1.scrollIntoView({block:\"nearest\"})}))});function J0(F1){if(u.disabled)return F1.preventDefault();K.closeMenu(),Yk(function(){var a1;return(a1=Jp(K.buttonRef))==null?void 0:a1.focus({preventScroll:!0})})}function e1(){if(u.disabled)return K.goToItem(tT.Nothing);K.goToItem(tT.Specific,s0)}function t1(){u.disabled||Y.value||K.goToItem(tT.Specific,s0)}function r1(){u.disabled||!Y.value||K.goToItem(tT.Nothing)}return function(){var F1=u.disabled,a1={active:Y.value,disabled:F1},D1={id:s0,role:\"menuitem\",tabIndex:F1===!0?void 0:-1,\"aria-disabled\":F1===!0?!0:void 0,onClick:J0,onFocus:e1,onPointermove:t1,onMousemove:t1,onPointerleave:r1,onMouseleave:r1};return jA({props:lA({},u,D1),slot:a1,attrs:R,slots:b,name:\"MenuItem\"})}}}),R5;(function(a){a[a.Open=0]=\"Open\",a[a.Closed=1]=\"Closed\"})(R5||(R5={}));var vv0=Symbol(\"PopoverContext\");function EH(a){var u=o4(vv0,null);if(u===null){var c=new Error(\"<\"+a+\" /> is missing a parent <\"+q8x.name+\" /> component.\");throw Error.captureStackTrace&&Error.captureStackTrace(c,EH),c}return u}var z8x=Symbol(\"PopoverGroupContext\");function bv0(){return o4(z8x,null)}var Cv0=Symbol(\"PopoverPanelContext\");function W8x(){return o4(Cv0,null)}var q8x=yF({name:\"Popover\",props:{as:{type:[Object,String],default:\"div\"}},setup:function(u,c){var b=c.slots,R=c.attrs,K=\"headlessui-popover-button-\"+Qk(),s0=\"headlessui-popover-panel-\"+Qk(),Y=n2(R5.Closed),F0=n2(null),J0=n2(null),e1={popoverState:Y,buttonId:K,panelId:s0,panel:J0,button:F0,togglePopover:function(){var W0;Y.value=NN(Y.value,(W0={},W0[R5.Open]=R5.Closed,W0[R5.Closed]=R5.Open,W0))},closePopover:function(){Y.value!==R5.Closed&&(Y.value=R5.Closed)},close:function(W0){e1.closePopover();var i1=function(){return W0?W0 instanceof HTMLElement?W0:W0.value instanceof HTMLElement?Jp(W0):Jp(e1.button):Jp(e1.button)}();i1==null||i1.focus()}};Dw(vv0,e1),vH(Sp(function(){var D1;return NN(Y.value,(D1={},D1[R5.Open]=d9.Open,D1[R5.Closed]=d9.Closed,D1))}));var t1={buttonId:K,panelId:s0,close:function(){e1.closePopover()}},r1=bv0(),F1=r1==null?void 0:r1.registerPopover;function a1(){var D1,W0,i1;return(D1=r1==null?void 0:r1.isFocusWithinPopoverGroup())!=null?D1:((W0=Jp(F0))==null?void 0:W0.contains(document.activeElement))||((i1=Jp(J0))==null?void 0:i1.contains(document.activeElement))}return I9(function(){return F1==null?void 0:F1(t1)}),lR(\"focus\",function(){Y.value===R5.Open&&(a1()||!F0||!J0||e1.closePopover())},!0),lR(\"mousedown\",function(D1){var W0,i1,x1=D1.target;if(Y.value===R5.Open&&!((W0=Jp(F0))==null?void 0:W0.contains(x1))&&!((i1=Jp(J0))==null?void 0:i1.contains(x1))&&(e1.closePopover(),!B8x(x1,xq.Loose))){var ux;D1.preventDefault(),(ux=Jp(F0))==null||ux.focus()}}),function(){var D1={open:Y.value===R5.Open,close:e1.close};return jA({props:u,slot:D1,slots:b,attrs:R,name:\"Popover\"})}}}),akx=yF({name:\"PopoverButton\",props:{as:{type:[Object,String],default:\"button\"},disabled:{type:[Boolean],default:!1}},render:function(){var u=EH(\"PopoverButton\"),c={open:u.popoverState.value===R5.Open},b=this.isWithinPanel?{ref:\"el\",type:this.type,onKeydown:this.handleKeyDown,onClick:this.handleClick}:{ref:\"el\",id:u.buttonId,type:this.type,\"aria-expanded\":this.$props.disabled?void 0:u.popoverState.value===R5.Open,\"aria-controls\":Jp(u.panel)?u.panelId:void 0,disabled:this.$props.disabled?!0:void 0,onKeydown:this.handleKeyDown,onKeyup:this.handleKeyUp,onClick:this.handleClick};return jA({props:lA({},this.$props,b),slot:c,attrs:this.$attrs,slots:this.$slots,name:\"PopoverButton\"})},setup:function(u,c){var b=c.attrs,R=EH(\"PopoverButton\"),K=bv0(),s0=K==null?void 0:K.closeOthers,Y=W8x(),F0=Y===null?!1:Y===R.panelId,J0=n2(null),e1=n2(typeof window==\"undefined\"?null:document.activeElement);lR(\"focus\",function(){e1.value=J0.value,J0.value=document.activeElement},!0);var t1=n2(null);return F0||I9(function(){R.button.value=t1.value}),{isWithinPanel:F0,el:t1,type:tq(Sp(function(){return{as:u.as,type:b.type}}),t1),handleKeyDown:function(F1){var a1,D1;if(F0){if(R.popoverState.value===R5.Closed)return;switch(F1.key){case yh.Space:case yh.Enter:F1.preventDefault(),F1.stopPropagation(),R.closePopover(),(a1=Jp(R.button))==null||a1.focus();break}}else switch(F1.key){case yh.Space:case yh.Enter:F1.preventDefault(),F1.stopPropagation(),R.popoverState.value===R5.Closed&&(s0==null||s0(R.buttonId)),R.togglePopover();break;case yh.Escape:if(R.popoverState.value!==R5.Open)return s0==null?void 0:s0(R.buttonId);if(!Jp(R.button)||!((D1=Jp(R.button))==null?void 0:D1.contains(document.activeElement)))return;F1.preventDefault(),F1.stopPropagation(),R.closePopover();break;case yh.Tab:if(R.popoverState.value!==R5.Open||!R.panel||!R.button)return;if(F1.shiftKey){var W0,i1;if(!e1.value||((W0=Jp(R.button))==null?void 0:W0.contains(e1.value))||((i1=Jp(R.panel))==null?void 0:i1.contains(e1.value)))return;var x1=C00(),ux=x1.indexOf(e1.value),K1=x1.indexOf(Jp(R.button));if(K1>ux)return;F1.preventDefault(),F1.stopPropagation(),sP(Jp(R.panel),u4.Last)}else F1.preventDefault(),F1.stopPropagation(),sP(Jp(R.panel),u4.First);break}},handleKeyUp:function(F1){var a1,D1;if(!F0&&(F1.key===yh.Space&&F1.preventDefault(),R.popoverState.value===R5.Open&&!!R.panel&&!!R.button))switch(F1.key){case yh.Tab:if(!e1.value||((a1=Jp(R.button))==null?void 0:a1.contains(e1.value))||((D1=Jp(R.panel))==null?void 0:D1.contains(e1.value)))return;var W0=C00(),i1=W0.indexOf(e1.value),x1=W0.indexOf(Jp(R.button));if(x1>i1)return;F1.preventDefault(),F1.stopPropagation(),sP(Jp(R.panel),u4.Last);break}},handleClick:function(){if(!u.disabled)if(F0){var F1;R.closePopover(),(F1=Jp(R.button))==null||F1.focus()}else{var a1;R.popoverState.value===R5.Closed&&(s0==null||s0(R.buttonId)),(a1=Jp(R.button))==null||a1.focus(),R.togglePopover()}}}}}),okx=yF({name:\"PopoverPanel\",props:{as:{type:[Object,String],default:\"div\"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},focus:{type:Boolean,default:!1}},render:function(){var u=EH(\"PopoverPanel\"),c={open:u.popoverState.value===R5.Open,close:u.close},b={ref:\"el\",id:this.id,onKeydown:this.handleKeyDown};return jA({props:lA({},this.$props,b),slot:c,attrs:this.$attrs,slots:this.$slots,features:PN.RenderStrategy|PN.Static,visible:this.visible,name:\"PopoverPanel\"})},setup:function(u){var c=u.focus,b=EH(\"PopoverPanel\");Dw(Cv0,b.panelId),xN(function(){b.panel.value=null}),I9(function(){var s0;if(!!c&&b.popoverState.value===R5.Open&&!!b.panel){var Y=document.activeElement;((s0=Jp(b.panel))==null?void 0:s0.contains(Y))||sP(Jp(b.panel),u4.First)}}),lR(\"keydown\",function(s0){var Y;if(b.popoverState.value===R5.Open&&!!Jp(b.panel)&&s0.key===yh.Tab&&!!document.activeElement&&!!((Y=Jp(b.panel))==null?void 0:Y.contains(document.activeElement))){s0.preventDefault();var F0=sP(Jp(b.panel),s0.shiftKey?u4.Previous:u4.Next);if(F0===AB.Underflow){var J0;return(J0=Jp(b.button))==null?void 0:J0.focus()}else if(F0===AB.Overflow){if(!Jp(b.button))return;var e1=C00(),t1=e1.indexOf(Jp(b.button)),r1=e1.splice(t1+1).filter(function(F1){var a1;return!((a1=Jp(b.panel))==null?void 0:a1.contains(F1))});sP(r1,u4.First)===AB.Error&&sP(document.body,u4.First)}}}),lR(\"focus\",function(){var s0;!c||b.popoverState.value===R5.Open&&(!Jp(b.panel)||((s0=Jp(b.panel))==null?void 0:s0.contains(document.activeElement))||b.closePopover())},!0);var R=yz(),K=Sp(function(){return R!==null?R.value===d9.Open:b.popoverState.value===R5.Open});return{id:b.panelId,el:b.panel,handleKeyDown:function(Y){var F0,J0;switch(Y.key){case yh.Escape:if(b.popoverState.value!==R5.Open||!Jp(b.panel)||!((F0=Jp(b.panel))==null?void 0:F0.contains(document.activeElement)))return;Y.preventDefault(),Y.stopPropagation(),b.closePopover(),(J0=Jp(b.button))==null||J0.focus();break}},visible:K}}}),Ev0=Symbol(\"LabelContext\");function Sv0(){var a=o4(Ev0,null);if(a===null){var u=new Error(\"You used a <Label /> component, but it is not inside a parent.\");throw Error.captureStackTrace&&Error.captureStackTrace(u,Sv0),u}return a}function fa0(a){var u=a===void 0?{}:a,c=u.slot,b=c===void 0?{}:c,R=u.name,K=R===void 0?\"Label\":R,s0=u.props,Y=s0===void 0?{}:s0,F0=n2([]);function J0(e1){return F0.value.push(e1),function(){var t1=F0.value.indexOf(e1);t1!==-1&&F0.value.splice(t1,1)}}return Dw(Ev0,{register:J0,slot:b,name:K,props:Y}),Sp(function(){return F0.value.length>0?F0.value.join(\" \"):void 0})}var Fv0=yF({name:\"Label\",props:{as:{type:[Object,String],default:\"label\"},passive:{type:[Boolean],default:!1}},render:function(){var u=this.context,c=u.name,b=c===void 0?\"Label\":c,R=u.slot,K=R===void 0?{}:R,s0=u.props,Y=s0===void 0?{}:s0,F0=this.$props,J0=F0.passive,e1=cR(F0,[\"passive\"]),t1=lA({},Object.entries(Y).reduce(function(F1,a1){var D1,W0=a1[0],i1=a1[1];return Object.assign(F1,(D1={},D1[W0]=O8(i1),D1))},{}),{id:this.id}),r1=lA({},e1,t1);return J0&&delete r1.onClick,jA({props:r1,slot:K,attrs:this.$attrs,slots:this.$slots,name:b})},setup:function(){var u=Sv0(),c=\"headlessui-label-\"+Qk();return Nk(function(){return xN(u.register(c))}),{id:c,context:u}}}),Av0=Symbol(\"RadioGroupContext\");function Tv0(a){var u=o4(Av0,null);if(u===null){var c=new Error(\"<\"+a+\" /> is missing a parent <RadioGroup /> component.\");throw Error.captureStackTrace&&Error.captureStackTrace(c,Tv0),c}return u}var skx=yF({name:\"RadioGroup\",emits:{\"update:modelValue\":function(u){return!0}},props:{as:{type:[Object,String],default:\"div\"},disabled:{type:[Boolean],default:!1},modelValue:{type:[Object,String,Number,Boolean]}},render:function(){var u=this.$props,c=cR(u,[\"modelValue\",\"disabled\"]),b={ref:\"el\",id:this.id,role:\"radiogroup\",\"aria-labelledby\":this.labelledby,\"aria-describedby\":this.describedby,onKeydown:this.handleKeyDown};return jA({props:lA({},c,b),slot:{},attrs:this.$attrs,slots:this.$slots,name:\"RadioGroup\"})},setup:function(u,c){var b=c.emit,R=n2(null),K=n2([]),s0=fa0({name:\"RadioGroupLabel\"}),Y=E00({name:\"RadioGroupDescription\"}),F0=Sp(function(){return u.modelValue}),J0={options:K,value:F0,disabled:Sp(function(){return u.disabled}),firstOption:Sp(function(){return K.value.find(function(r1){return!r1.propsRef.disabled})}),containsCheckedOption:Sp(function(){return K.value.some(function(r1){return CS(r1.propsRef.value)===CS(u.modelValue)})}),change:function(F1){var a1;if(u.disabled||F0.value===F1)return!1;var D1=(a1=K.value.find(function(W0){return CS(W0.propsRef.value)===CS(F1)}))==null?void 0:a1.propsRef;return(D1==null?void 0:D1.disabled)?!1:(b(\"update:modelValue\",F1),!0)},registerOption:function(F1){var a1,D1=Array.from((a1=R.value)==null?void 0:a1.querySelectorAll('[id^=\"headlessui-radiogroup-option-\"]')).reduce(function(W0,i1,x1){var ux;return Object.assign(W0,(ux={},ux[i1.id]=x1,ux))},{});K.value.push(F1),K.value.sort(function(W0,i1){return D1[W0.id]-D1[i1.id]})},unregisterOption:function(F1){var a1=K.value.findIndex(function(D1){return D1.id===F1});a1!==-1&&K.value.splice(a1,1)}};Dw(Av0,J0),yv0({container:Sp(function(){return Jp(R)}),accept:function(F1){return F1.getAttribute(\"role\")===\"radio\"?NodeFilter.FILTER_REJECT:F1.hasAttribute(\"role\")?NodeFilter.FILTER_SKIP:NodeFilter.FILTER_ACCEPT},walk:function(F1){F1.setAttribute(\"role\",\"none\")}});function e1(r1){if(!!R.value&&!!R.value.contains(r1.target)){var F1=K.value.filter(function(ux){return ux.propsRef.disabled===!1}).map(function(ux){return ux.element});switch(r1.key){case yh.ArrowLeft:case yh.ArrowUp:{r1.preventDefault(),r1.stopPropagation();var a1=sP(F1,u4.Previous|u4.WrapAround);if(a1===AB.Success){var D1=K.value.find(function(ux){return ux.element===document.activeElement});D1&&J0.change(D1.propsRef.value)}}break;case yh.ArrowRight:case yh.ArrowDown:{r1.preventDefault(),r1.stopPropagation();var W0=sP(F1,u4.Next|u4.WrapAround);if(W0===AB.Success){var i1=K.value.find(function(ux){return ux.element===document.activeElement});i1&&J0.change(i1.propsRef.value)}}break;case yh.Space:{r1.preventDefault(),r1.stopPropagation();var x1=K.value.find(function(ux){return ux.element===document.activeElement});x1&&J0.change(x1.propsRef.value)}break}}}var t1=\"headlessui-radiogroup-\"+Qk();return{id:t1,labelledby:s0,describedby:Y,el:R,handleKeyDown:e1}}}),Dz;(function(a){a[a.Empty=1]=\"Empty\",a[a.Active=2]=\"Active\"})(Dz||(Dz={}));var ukx=yF({name:\"RadioGroupOption\",props:{as:{type:[Object,String],default:\"div\"},value:{type:[Object,String,Number,Boolean]},disabled:{type:Boolean,default:!1}},render:function(){var u=this.$props,c=cR(u,[\"value\",\"disabled\"]),b={checked:this.checked,disabled:this.disabled,active:Boolean(this.state&Dz.Active)},R={id:this.id,ref:\"el\",role:\"radio\",\"aria-checked\":this.checked?\"true\":\"false\",\"aria-labelledby\":this.labelledby,\"aria-describedby\":this.describedby,\"aria-disabled\":this.disabled?!0:void 0,tabIndex:this.tabIndex,onClick:this.disabled?void 0:this.handleClick,onFocus:this.disabled?void 0:this.handleFocus,onBlur:this.disabled?void 0:this.handleBlur};return jA({props:lA({},c,R),slot:b,attrs:this.$attrs,slots:this.$slots,name:\"RadioGroupOption\"})},setup:function(u){var c=Tv0(\"RadioGroupOption\"),b=\"headlessui-radiogroup-option-\"+Qk(),R=fa0({name:\"RadioGroupLabel\"}),K=E00({name:\"RadioGroupDescription\"}),s0=n2(null),Y=Sp(function(){return{value:u.value,disabled:u.disabled}}),F0=n2(Dz.Empty);Nk(function(){return c.registerOption({id:b,element:s0,propsRef:Y})}),xN(function(){return c.unregisterOption(b)});var J0=Sp(function(){var r1;return((r1=c.firstOption.value)==null?void 0:r1.id)===b}),e1=Sp(function(){return c.disabled.value||u.disabled}),t1=Sp(function(){return CS(c.value.value)===CS(u.value)});return{id:b,el:s0,labelledby:R,describedby:K,state:F0,disabled:e1,checked:t1,tabIndex:Sp(function(){return e1.value?-1:t1.value||!c.containsCheckedOption.value&&J0.value?0:-1}),handleClick:function(){var F1;!c.change(u.value)||(F0.value|=Dz.Active,(F1=s0.value)==null||F1.focus())},handleFocus:function(){F0.value|=Dz.Active},handleBlur:function(){F0.value&=~Dz.Active}}}}),ckx=Fv0,lkx=lv0,wv0=Symbol(\"GroupContext\"),fkx=yF({name:\"SwitchGroup\",props:{as:{type:[Object,String],default:\"template\"}},setup:function(u,c){var b=c.slots,R=c.attrs,K=n2(null),s0=fa0({name:\"SwitchLabel\",props:{onClick:function(){!K.value||(K.value.click(),K.value.focus({preventScroll:!0}))}}}),Y=E00({name:\"SwitchDescription\"}),F0={switchRef:K,labelledby:s0,describedby:Y};return Dw(wv0,F0),function(){return jA({props:u,slot:{},slots:b,attrs:R,name:\"SwitchGroup\"})}}}),pkx=yF({name:\"Switch\",emits:{\"update:modelValue\":function(u){return!0}},props:{as:{type:[Object,String],default:\"button\"},modelValue:{type:Boolean,default:!1}},render:function(){var u={checked:this.$props.modelValue},c={id:this.id,ref:\"el\",role:\"switch\",type:this.type,tabIndex:0,\"aria-checked\":this.$props.modelValue,\"aria-labelledby\":this.labelledby,\"aria-describedby\":this.describedby,onClick:this.handleClick,onKeyup:this.handleKeyUp,onKeypress:this.handleKeyPress};return jA({props:lA({},this.$props,c),slot:u,attrs:this.$attrs,slots:this.$slots,name:\"Switch\"})},setup:function(u,c){var b=c.emit,R=c.attrs,K=o4(wv0,null),s0=\"headlessui-switch-\"+Qk();function Y(){b(\"update:modelValue\",!u.modelValue)}var F0=n2(null),J0=K===null?F0:K.switchRef;return{id:s0,el:J0,type:tq(Sp(function(){return{as:u.as,type:R.type}}),J0),labelledby:K==null?void 0:K.labelledby,describedby:K==null?void 0:K.describedby,handleClick:function(t1){t1.preventDefault(),Y()},handleKeyUp:function(t1){t1.key!==yh.Tab&&t1.preventDefault(),t1.key===yh.Space&&Y()},handleKeyPress:function(t1){t1.preventDefault()}}}}),dkx=Fv0,mkx=lv0,kv0=Symbol(\"TabsContext\");function vz(a){var u=o4(kv0,null);if(u===null){var c=new Error(\"<\"+a+\" /> is missing a parent <TabGroup /> component.\");throw Error.captureStackTrace&&Error.captureStackTrace(c,vz),c}return u}var hkx=yF({name:\"TabGroup\",emits:{change:function(u){return!0}},props:{as:{type:[Object,String],default:\"template\"},defaultIndex:{type:[Number],default:0},vertical:{type:[Boolean],default:!1},manual:{type:[Boolean],default:!1}},setup:function(u,c){var b=c.slots,R=c.attrs,K=c.emit,s0=n2(null),Y=n2([]),F0=n2([]),J0={selectedIndex:s0,orientation:Sp(function(){return u.vertical?\"vertical\":\"horizontal\"}),activation:Sp(function(){return u.manual?\"manual\":\"auto\"}),tabs:Y,panels:F0,setSelectedIndex:function(t1){s0.value!==t1&&(s0.value=t1,K(\"change\",t1))},registerTab:function(t1){Y.value.includes(t1)||Y.value.push(t1)},unregisterTab:function(t1){var r1=Y.value.indexOf(t1);r1!==-1&&Y.value.slice(r1,1)},registerPanel:function(t1){F0.value.includes(t1)||F0.value.push(t1)},unregisterPanel:function(t1){var r1=F0.value.indexOf(t1);r1!==-1&&F0.value.slice(r1,1)}};return Dw(kv0,J0),Nk(function(){if(J0.tabs.value.length<=0)return console.log(\"bail\");if(s0.value!==null)return console.log(\"bail 2\");var e1=J0.tabs.value.map(function(D1){return Jp(D1)}).filter(Boolean),t1=e1.filter(function(D1){return!D1.hasAttribute(\"disabled\")});if(u.defaultIndex<0)s0.value=e1.indexOf(t1[0]);else if(u.defaultIndex>J0.tabs.value.length)s0.value=e1.indexOf(t1[t1.length-1]);else{var r1=e1.slice(0,u.defaultIndex),F1=e1.slice(u.defaultIndex),a1=[].concat(F1,r1).find(function(D1){return t1.includes(D1)});if(!a1)return;s0.value=e1.indexOf(a1)}}),function(){var e1={selectedIndex:s0.value};return jA({props:ua0(u,[\"defaultIndex\",\"manual\",\"vertical\"]),slot:e1,slots:b,attrs:R,name:\"TabGroup\"})}}}),gkx=yF({name:\"TabList\",props:{as:{type:[Object,String],default:\"div\"}},setup:function(u,c){var b=c.attrs,R=c.slots,K=vz(\"TabList\");return function(){var s0={selectedIndex:K.selectedIndex.value},Y={role:\"tablist\",\"aria-orientation\":K.orientation.value},F0=u;return jA({props:lA({},F0,Y),slot:s0,attrs:b,slots:R,name:\"TabList\"})}}}),_kx=yF({name:\"Tab\",props:{as:{type:[Object,String],default:\"button\"},disabled:{type:[Boolean],default:!1}},render:function(){var u,c,b=vz(\"Tab\"),R={selected:this.selected},K={ref:\"el\",onKeydown:this.handleKeyDown,onFocus:b.activation.value===\"manual\"?this.handleFocus:this.handleSelection,onClick:this.handleSelection,id:this.id,role:\"tab\",type:this.type,\"aria-controls\":(u=b.panels.value[this.myIndex])==null||(c=u.value)==null?void 0:c.id,\"aria-selected\":this.selected,tabIndex:this.selected?0:-1,disabled:this.$props.disabled?!0:void 0};return jA({props:lA({},this.$props,K),slot:R,attrs:this.$attrs,slots:this.$slots,name:\"Tab\"})},setup:function(u,c){var b=c.attrs,R=vz(\"Tab\"),K=\"headlessui-tabs-tab-\"+Qk(),s0=n2();Nk(function(){return R.registerTab(s0)}),xN(function(){return R.unregisterTab(s0)});var Y=Sp(function(){return R.tabs.value.indexOf(s0)}),F0=Sp(function(){return Y.value===R.selectedIndex.value});function J0(r1){var F1=R.tabs.value.map(function(a1){return Jp(a1)}).filter(Boolean);if(r1.key===yh.Space||r1.key===yh.Enter){r1.preventDefault(),r1.stopPropagation(),R.setSelectedIndex(Y.value);return}switch(r1.key){case yh.Home:case yh.PageUp:return r1.preventDefault(),r1.stopPropagation(),sP(F1,u4.First);case yh.End:case yh.PageDown:return r1.preventDefault(),r1.stopPropagation(),sP(F1,u4.Last)}return NN(R.orientation.value,{vertical:function(){if(r1.key===yh.ArrowUp)return sP(F1,u4.Previous|u4.WrapAround);if(r1.key===yh.ArrowDown)return sP(F1,u4.Next|u4.WrapAround)},horizontal:function(){if(r1.key===yh.ArrowLeft)return sP(F1,u4.Previous|u4.WrapAround);if(r1.key===yh.ArrowRight)return sP(F1,u4.Next|u4.WrapAround)}})}function e1(){var r1;(r1=Jp(s0))==null||r1.focus()}function t1(){var r1;u.disabled||((r1=Jp(s0))==null||r1.focus(),R.setSelectedIndex(Y.value))}return{el:s0,id:K,selected:F0,myIndex:Y,type:tq(Sp(function(){return{as:u.as,type:b.type}}),s0),handleKeyDown:J0,handleFocus:e1,handleSelection:t1}}}),ykx=yF({name:\"TabPanels\",props:{as:{type:[Object,String],default:\"div\"}},setup:function(u,c){var b=c.slots,R=c.attrs,K=vz(\"TabPanels\");return function(){var s0={selectedIndex:K.selectedIndex.value};return jA({props:u,slot:s0,attrs:R,slots:b,name:\"TabPanels\"})}}}),Dkx=yF({name:\"TabPanel\",props:{as:{type:[Object,String],default:\"div\"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0}},render:function(){var u,c,b=vz(\"TabPanel\"),R={selected:this.selected},K={ref:\"el\",id:this.id,role:\"tabpanel\",\"aria-labelledby\":(u=b.tabs.value[this.myIndex])==null||(c=u.value)==null?void 0:c.id,tabIndex:this.selected?0:-1};return jA({props:lA({},this.$props,K),slot:R,attrs:this.$attrs,slots:this.$slots,features:PN.Static|PN.RenderStrategy,visible:this.selected,name:\"TabPanel\"})},setup:function(){var u=vz(\"TabPanel\"),c=\"headlessui-tabs-panel-\"+Qk(),b=n2();Nk(function(){return u.registerPanel(b)}),xN(function(){return u.unregisterPanel(b)});var R=Sp(function(){return u.panels.value.indexOf(b)}),K=Sp(function(){return R.value===u.selectedIndex.value});return{id:c,el:b,selected:K,myIndex:R}}});function J8x(a){var u={called:!1};return function(){if(!u.called)return u.called=!0,a.apply(void 0,arguments)}}function Nv0(){var a=[],u={requestAnimationFrame:function(c){function b(){return c.apply(this,arguments)}return b.toString=function(){return c.toString()},b}(function(){var c=requestAnimationFrame.apply(void 0,arguments);u.add(function(){return cancelAnimationFrame(c)})}),nextFrame:function(){for(var b=arguments.length,R=new Array(b),K=0;K<b;K++)R[K]=arguments[K];u.requestAnimationFrame(function(){u.requestAnimationFrame.apply(u,R)})},setTimeout:function(c){function b(){return c.apply(this,arguments)}return b.toString=function(){return c.toString()},b}(function(){var c=setTimeout.apply(void 0,arguments);u.add(function(){return clearTimeout(c)})}),add:function(b){a.push(b)},dispose:function(){for(var b=Wj(a.splice(0)),R;!(R=b()).done;){var K=R.value;K()}}};return u}function pa0(a){for(var u,c=arguments.length,b=new Array(c>1?c-1:0),R=1;R<c;R++)b[R-1]=arguments[R];a&&b.length>0&&(u=a.classList).add.apply(u,b)}function F00(a){for(var u,c=arguments.length,b=new Array(c>1?c-1:0),R=1;R<c;R++)b[R-1]=arguments[R];a&&b.length>0&&(u=a.classList).remove.apply(u,b)}var j$;(function(a){a.Finished=\"finished\",a.Cancelled=\"cancelled\"})(j$||(j$={}));function H8x(a,u){var c=Nv0();if(!a)return c.dispose;var b=getComputedStyle(a),R=b.transitionDuration,K=b.transitionDelay,s0=[R,K].map(function(J0){var e1=J0.split(\",\").filter(Boolean).map(function(F1){return F1.includes(\"ms\")?parseFloat(F1):parseFloat(F1)*1e3}).sort(function(F1,a1){return a1-F1}),t1=e1[0],r1=t1===void 0?0:t1;return r1}),Y=s0[0],F0=s0[1];return Y!==0?c.setTimeout(function(){return u(j$.Finished)},Y+F0):u(j$.Finished),c.add(function(){return u(j$.Cancelled)}),c.dispose}function Pv0(a,u,c,b,R,K){var s0=Nv0(),Y=K!==void 0?J8x(K):function(){};return F00.apply(void 0,[a].concat(R)),pa0.apply(void 0,[a].concat(u,c)),s0.nextFrame(function(){F00.apply(void 0,[a].concat(c)),pa0.apply(void 0,[a].concat(b)),s0.add(H8x(a,function(F0){return F00.apply(void 0,[a].concat(b,u)),pa0.apply(void 0,[a].concat(R)),Y(F0)}))}),s0.add(function(){return F00.apply(void 0,[a].concat(u,c,b,R))}),s0.add(function(){return Y(j$.Cancelled)}),s0.dispose}function bz(a){return a===void 0&&(a=\"\"),a.split(\" \").filter(function(u){return u.trim().length>1})}var da0=Symbol(\"TransitionContext\"),_k;(function(a){a.Visible=\"visible\",a.Hidden=\"hidden\"})(_k||(_k={}));function G8x(){return o4(da0,null)!==null}function X8x(){var a=o4(da0,null);if(a===null)throw new Error(\"A <TransitionChild /> is used but it is missing a parent <TransitionRoot />.\");return a}function Y8x(){var a=o4(ma0,null);if(a===null)throw new Error(\"A <TransitionChild /> is used but it is missing a parent <TransitionRoot />.\");return a}var ma0=Symbol(\"NestingContext\");function A00(a){return\"children\"in a?A00(a.children):a.value.filter(function(u){var c=u.state;return c===_k.Visible}).length>0}function Iv0(a){var u=n2([]),c=n2(!1);Nk(function(){return c.value=!0}),xN(function(){return c.value=!1});function b(K,s0){var Y;s0===void 0&&(s0=FB.Hidden);var F0=u.value.findIndex(function(J0){var e1=J0.id;return e1===K});F0!==-1&&(NN(s0,(Y={},Y[FB.Unmount]=function(){u.value.splice(F0,1)},Y[FB.Hidden]=function(){u.value[F0].state=_k.Hidden},Y)),!A00(u)&&c.value&&(a==null||a()))}function R(K){var s0=u.value.find(function(Y){var F0=Y.id;return F0===K});return s0?s0.state!==_k.Visible&&(s0.state=_k.Visible):u.value.push({id:K,state:_k.Visible}),function(){return b(K,FB.Unmount)}}return{children:u,register:R,unregister:b}}var Ov0=PN.RenderStrategy,Q8x=yF({props:{as:{type:[Object,String],default:\"div\"},show:{type:[Boolean],default:null},unmount:{type:[Boolean],default:!0},appear:{type:[Boolean],default:!1},enter:{type:[String],default:\"\"},enterFrom:{type:[String],default:\"\"},enterTo:{type:[String],default:\"\"},entered:{type:[String],default:\"\"},leave:{type:[String],default:\"\"},leaveFrom:{type:[String],default:\"\"},leaveTo:{type:[String],default:\"\"}},emits:{beforeEnter:function(){return!0},afterEnter:function(){return!0},beforeLeave:function(){return!0},afterLeave:function(){return!0}},render:function(){var u=this;if(this.renderAsRoot)return CB(Z8x,lA({},this.$props,{onBeforeEnter:function(){return u.$emit(\"beforeEnter\")},onAfterEnter:function(){return u.$emit(\"afterEnter\")},onBeforeLeave:function(){return u.$emit(\"beforeLeave\")},onAfterLeave:function(){return u.$emit(\"afterLeave\")}}),this.$slots);var c=this.$props,b=cR(c,[\"appear\",\"show\",\"enter\",\"enterFrom\",\"enterTo\",\"entered\",\"leave\",\"leaveFrom\",\"leaveTo\"]),R={ref:\"el\"},K=b;return jA({props:lA({},K,R),slot:{},slots:this.$slots,attrs:this.$attrs,features:Ov0,visible:this.state===_k.Visible,name:\"TransitionChild\"})},setup:function(u,c){var b=c.emit;if(!G8x()&&j8x())return{renderAsRoot:!0};var R=n2(null),K=n2(_k.Visible),s0=Sp(function(){return u.unmount?FB.Unmount:FB.Hidden}),Y=X8x(),F0=Y.show,J0=Y.appear,e1=Y8x(),t1=e1.register,r1=e1.unregister,F1={value:!0},a1=Qk(),D1={value:!1},W0=Iv0(function(){D1.value||(K.value=_k.Hidden,r1(a1),b(\"afterLeave\"))});Nk(function(){var Jt=t1(a1);xN(Jt)}),I9(function(){var Jt;if(s0.value===FB.Hidden&&!!a1){if(F0&&K.value!==_k.Visible){K.value=_k.Visible;return}NN(K.value,(Jt={},Jt[_k.Hidden]=function(){return r1(a1)},Jt[_k.Visible]=function(){return t1(a1)},Jt))}});var i1=bz(u.enter),x1=bz(u.enterFrom),ux=bz(u.enterTo),K1=bz(u.entered),ee=bz(u.leave),Gx=bz(u.leaveFrom),ve=bz(u.leaveTo);Nk(function(){I9(function(){if(K.value===_k.Visible){var Jt=Jp(R),Ct=Jt instanceof Comment&&Jt.data===\"\";if(Ct)throw new Error(\"Did you forget to passthrough the `ref` to the actual DOM node?\")}})});function qe(Jt){var Ct=F1.value&&!J0.value,vn=Jp(R);!vn||!(vn instanceof HTMLElement)||Ct||(D1.value=!0,F0.value&&b(\"beforeEnter\"),F0.value||b(\"beforeLeave\"),Jt(F0.value?Pv0(vn,i1,x1,ux,K1,function(_n){D1.value=!1,_n===j$.Finished&&b(\"afterEnter\")}):Pv0(vn,ee,Gx,ve,K1,function(_n){D1.value=!1,_n===j$.Finished&&(A00(W0)||(K.value=_k.Hidden,r1(a1),b(\"afterLeave\")))})))}return Nk(function(){oP([F0,J0],function(Jt,Ct,vn){qe(vn),F1.value=!1},{immediate:!0})}),Dw(ma0,W0),vH(Sp(function(){var Jt;return NN(K.value,(Jt={},Jt[_k.Visible]=d9.Open,Jt[_k.Hidden]=d9.Closed,Jt))})),{el:R,renderAsRoot:!1,state:K}}}),Z8x=yF({inheritAttrs:!1,props:{as:{type:[Object,String],default:\"div\"},show:{type:[Boolean],default:null},unmount:{type:[Boolean],default:!0},appear:{type:[Boolean],default:!1},enter:{type:[String],default:\"\"},enterFrom:{type:[String],default:\"\"},enterTo:{type:[String],default:\"\"},entered:{type:[String],default:\"\"},leave:{type:[String],default:\"\"},leaveFrom:{type:[String],default:\"\"},leaveTo:{type:[String],default:\"\"}},emits:{beforeEnter:function(){return!0},afterEnter:function(){return!0},beforeLeave:function(){return!0},afterLeave:function(){return!0}},render:function(){var u=this,c=this.$props,b=c.unmount,R=cR(c,[\"show\",\"appear\",\"unmount\"]),K={unmount:b};return jA({props:lA({},K,{as:\"template\"}),slot:{},slots:lA({},this.$slots,{default:function(){return[CB(Q8x,lA({onBeforeEnter:function(){return u.$emit(\"beforeEnter\")},onAfterEnter:function(){return u.$emit(\"afterEnter\")},onBeforeLeave:function(){return u.$emit(\"beforeLeave\")},onAfterLeave:function(){return u.$emit(\"afterLeave\")}},u.$attrs,K,R),u.$slots.default)]}}),attrs:{},features:Ov0,visible:this.state===_k.Visible,name:\"Transition\"})},setup:function(u){var c=yz(),b=Sp(function(){if(u.show===null&&c!==null){var F0;return NN(c.value,(F0={},F0[d9.Open]=!0,F0[d9.Closed]=!1,F0))}return u.show});I9(function(){if(![!0,!1].includes(b.value))throw new Error('A <Transition /> is used but it is missing a `:show=\"true | false\"` prop.')});var R=n2(b.value?_k.Visible:_k.Hidden),K=Iv0(function(){R.value=_k.Hidden}),s0={value:!0},Y={show:b,appear:Sp(function(){return u.appear||!s0.value})};return Nk(function(){I9(function(){s0.value=!1,b.value?R.value=_k.Visible:A00(K)||(R.value=_k.Hidden)})}),Dw(ma0,K),Dw(da0,Y),{state:R,show:b}}});/*! *****************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */function Bv0(a,u){var c={};for(var b in a)Object.prototype.hasOwnProperty.call(a,b)&&u.indexOf(b)<0&&(c[b]=a[b]);if(a!=null&&typeof Object.getOwnPropertySymbols==\"function\")for(var R=0,b=Object.getOwnPropertySymbols(a);R<b.length;R++)u.indexOf(b[R])<0&&Object.prototype.propertyIsEnumerable.call(a,b[R])&&(c[b[R]]=a[b[R]]);return c}const x6x=typeof window!=\"undefined\",e6x=a=>typeof a==\"string\",ha0=()=>{};function Lv0(a,u){function c(...b){a(()=>u.apply(this,b),{fn:u,thisArg:this,args:b})}return c}const t6x=a=>a();function Mv0(a){let u;return b=>{const R=O8(a);if(u&&clearTimeout(u),R<=0)return b();u=setTimeout(b,R)}}function r6x(a,u,c={}){const{eventFilter:b=t6x}=c,R=Bv0(c,[\"eventFilter\"]);return oP(a,Lv0(b,u),R)}function vkx(a,u,c={}){const{debounce:b=0}=c,R=Bv0(c,[\"debounce\"]);return r6x(a,u,Object.assign(Object.assign({},R),{eventFilter:Mv0(b)}))}function n6x(a){return Vm0()?($m0(a),!0):!1}function bkx(a,u=200){return Lv0(Mv0(u),a)}function i6x(a){var u,c;const b=O8(a);return(c=(u=b)===null||u===void 0?void 0:u.$el)!==null&&c!==void 0?c:b}const Rv0=x6x?window:void 0;function a6x(...a){let u,c,b,R;if(e6x(a[0])?([c,b,R]=a,u=Rv0):[u,c,b,R]=a,!u)return ha0;let K=ha0;const s0=oP(()=>O8(u),F0=>{K(),!!F0&&(F0.addEventListener(c,b,R),K=()=>{F0.removeEventListener(c,b,R),K=ha0})},{immediate:!0,flush:\"post\"}),Y=()=>{s0(),K()};return n6x(Y),Y}function Ckx(a,u,c={}){const{window:b=Rv0,event:R=\"pointerdown\"}=c;return b?a6x(b,R,s0=>{const Y=i6x(a);!Y||Y===s0.target||s0.composedPath().includes(Y)||u(s0)},{passive:!0}):void 0}var jv0;(function(a){a.UP=\"UP\",a.RIGHT=\"RIGHT\",a.DOWN=\"DOWN\",a.LEFT=\"LEFT\",a.NONE=\"NONE\"})(jv0||(jv0={}));var Uv0={exports:{}};const ga0=[\"onChange\",\"onClose\",\"onDayCreate\",\"onDestroy\",\"onKeyDown\",\"onMonthChange\",\"onOpen\",\"onParseConfig\",\"onReady\",\"onValueUpdate\",\"onYearChange\",\"onPreCalendarPosition\"],nq={_disable:[],allowInput:!1,allowInvalidPreload:!1,altFormat:\"F j, Y\",altInput:!1,altInputClass:\"form-control input\",animate:typeof window==\"object\"&&window.navigator.userAgent.indexOf(\"MSIE\")===-1,ariaDateFormat:\"F j, Y\",autoFillDefaultTime:!0,clickOpens:!0,closeOnSelect:!0,conjunction:\", \",dateFormat:\"Y-m-d\",defaultHour:12,defaultMinute:0,defaultSeconds:0,disable:[],disableMobile:!1,enableSeconds:!1,enableTime:!1,errorHandler:a=>typeof console!=\"undefined\"&&console.warn(a),getWeek:a=>{const u=new Date(a.getTime());u.setHours(0,0,0,0),u.setDate(u.getDate()+3-(u.getDay()+6)%7);var c=new Date(u.getFullYear(),0,4);return 1+Math.round(((u.getTime()-c.getTime())/864e5-3+(c.getDay()+6)%7)/7)},hourIncrement:1,ignoredFocusElements:[],inline:!1,locale:\"default\",minuteIncrement:5,mode:\"single\",monthSelectorType:\"dropdown\",nextArrow:\"<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 17 17'><g></g><path d='M13.207 8.472l-7.854 7.854-0.707-0.707 7.146-7.146-7.146-7.148 0.707-0.707 7.854 7.854z' /></svg>\",noCalendar:!1,now:new Date,onChange:[],onClose:[],onDayCreate:[],onDestroy:[],onKeyDown:[],onMonthChange:[],onOpen:[],onParseConfig:[],onReady:[],onValueUpdate:[],onYearChange:[],onPreCalendarPosition:[],plugins:[],position:\"auto\",positionElement:void 0,prevArrow:\"<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 17 17'><g></g><path d='M5.207 8.471l7.146 7.147-0.707 0.707-7.853-7.854 7.854-7.853 0.707 0.707-7.147 7.146z' /></svg>\",shorthandCurrentMonth:!1,showMonths:1,static:!1,time_24hr:!1,weekNumbers:!1,wrap:!1},SH={weekdays:{shorthand:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],longhand:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"]},months:{shorthand:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],longhand:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"]},daysInMonth:[31,28,31,30,31,30,31,31,30,31,30,31],firstDayOfWeek:0,ordinal:a=>{const u=a%100;if(u>3&&u<21)return\"th\";switch(u%10){case 1:return\"st\";case 2:return\"nd\";case 3:return\"rd\";default:return\"th\"}},rangeSeparator:\" to \",weekAbbreviation:\"Wk\",scrollTitle:\"Scroll to increment\",toggleTitle:\"Click to toggle\",amPM:[\"AM\",\"PM\"],yearAriaLabel:\"Year\",monthAriaLabel:\"Month\",hourAriaLabel:\"Hour\",minuteAriaLabel:\"Minute\",time_24hr:!1},EO=(a,u=2)=>`000${a}`.slice(u*-1),VL=a=>a===!0?1:0;function Vv0(a,u){let c;return function(){clearTimeout(c),c=setTimeout(()=>a.apply(this,arguments),u)}}const _a0=a=>a instanceof Array?a:[a];function II(a,u,c){if(c===!0)return a.classList.add(u);a.classList.remove(u)}function MT(a,u,c){const b=window.document.createElement(a);return u=u||\"\",c=c||\"\",b.className=u,c!==void 0&&(b.textContent=c),b}function T00(a){for(;a.firstChild;)a.removeChild(a.firstChild)}function $v0(a,u){if(u(a))return a;if(a.parentNode)return $v0(a.parentNode,u)}function w00(a,u){const c=MT(\"div\",\"numInputWrapper\"),b=MT(\"input\",\"numInput \"+a),R=MT(\"span\",\"arrowUp\"),K=MT(\"span\",\"arrowDown\");if(navigator.userAgent.indexOf(\"MSIE 9.0\")===-1?b.type=\"number\":(b.type=\"text\",b.pattern=\"\\\\d*\"),u!==void 0)for(const s0 in u)b.setAttribute(s0,u[s0]);return c.appendChild(b),c.appendChild(R),c.appendChild(K),c}function TB(a){try{return typeof a.composedPath==\"function\"?a.composedPath()[0]:a.target}catch{return a.target}}const ya0=()=>{},k00=(a,u,c)=>c.months[u?\"shorthand\":\"longhand\"][a],o6x={D:ya0,F:function(a,u,c){a.setMonth(c.months.longhand.indexOf(u))},G:(a,u)=>{a.setHours(parseFloat(u))},H:(a,u)=>{a.setHours(parseFloat(u))},J:(a,u)=>{a.setDate(parseFloat(u))},K:(a,u,c)=>{a.setHours(a.getHours()%12+12*VL(new RegExp(c.amPM[1],\"i\").test(u)))},M:function(a,u,c){a.setMonth(c.months.shorthand.indexOf(u))},S:(a,u)=>{a.setSeconds(parseFloat(u))},U:(a,u)=>new Date(parseFloat(u)*1e3),W:function(a,u,c){const b=parseInt(u),R=new Date(a.getFullYear(),0,2+(b-1)*7,0,0,0,0);return R.setDate(R.getDate()-R.getDay()+c.firstDayOfWeek),R},Y:(a,u)=>{a.setFullYear(parseFloat(u))},Z:(a,u)=>new Date(u),d:(a,u)=>{a.setDate(parseFloat(u))},h:(a,u)=>{a.setHours(parseFloat(u))},i:(a,u)=>{a.setMinutes(parseFloat(u))},j:(a,u)=>{a.setDate(parseFloat(u))},l:ya0,m:(a,u)=>{a.setMonth(parseFloat(u)-1)},n:(a,u)=>{a.setMonth(parseFloat(u)-1)},s:(a,u)=>{a.setSeconds(parseFloat(u))},u:(a,u)=>new Date(parseFloat(u)),w:ya0,y:(a,u)=>{a.setFullYear(2e3+parseFloat(u))}},Da0={D:\"(\\\\w+)\",F:\"(\\\\w+)\",G:\"(\\\\d\\\\d|\\\\d)\",H:\"(\\\\d\\\\d|\\\\d)\",J:\"(\\\\d\\\\d|\\\\d)\\\\w+\",K:\"\",M:\"(\\\\w+)\",S:\"(\\\\d\\\\d|\\\\d)\",U:\"(.+)\",W:\"(\\\\d\\\\d|\\\\d)\",Y:\"(\\\\d{4})\",Z:\"(.+)\",d:\"(\\\\d\\\\d|\\\\d)\",h:\"(\\\\d\\\\d|\\\\d)\",i:\"(\\\\d\\\\d|\\\\d)\",j:\"(\\\\d\\\\d|\\\\d)\",l:\"(\\\\w+)\",m:\"(\\\\d\\\\d|\\\\d)\",n:\"(\\\\d\\\\d|\\\\d)\",s:\"(\\\\d\\\\d|\\\\d)\",u:\"(.+)\",w:\"(\\\\d\\\\d|\\\\d)\",y:\"(\\\\d{2})\"},FH={Z:a=>a.toISOString(),D:function(a,u,c){return u.weekdays.shorthand[FH.w(a,u,c)]},F:function(a,u,c){return k00(FH.n(a,u,c)-1,!1,u)},G:function(a,u,c){return EO(FH.h(a,u,c))},H:a=>EO(a.getHours()),J:function(a,u){return u.ordinal!==void 0?a.getDate()+u.ordinal(a.getDate()):a.getDate()},K:(a,u)=>u.amPM[VL(a.getHours()>11)],M:function(a,u){return k00(a.getMonth(),!0,u)},S:a=>EO(a.getSeconds()),U:a=>a.getTime()/1e3,W:function(a,u,c){return c.getWeek(a)},Y:a=>EO(a.getFullYear(),4),d:a=>EO(a.getDate()),h:a=>a.getHours()%12?a.getHours()%12:12,i:a=>EO(a.getMinutes()),j:a=>a.getDate(),l:function(a,u){return u.weekdays.longhand[a.getDay()]},m:a=>EO(a.getMonth()+1),n:a=>a.getMonth()+1,s:a=>a.getSeconds(),u:a=>a.getTime(),w:a=>a.getDay(),y:a=>String(a.getFullYear()).substring(2)},Kv0=({config:a=nq,l10n:u=SH,isMobile:c=!1})=>(b,R,K)=>{const s0=K||u;return a.formatDate!==void 0&&!c?a.formatDate(b,R,s0):R.split(\"\").map((Y,F0,J0)=>FH[Y]&&J0[F0-1]!==\"\\\\\"?FH[Y](b,s0,a):Y!==\"\\\\\"?Y:\"\").join(\"\")},va0=({config:a=nq,l10n:u=SH})=>(c,b,R,K)=>{if(c!==0&&!c)return;const s0=K||u;let Y;const F0=c;if(c instanceof Date)Y=new Date(c.getTime());else if(typeof c!=\"string\"&&c.toFixed!==void 0)Y=new Date(c);else if(typeof c==\"string\"){const J0=b||(a||nq).dateFormat,e1=String(c).trim();if(e1===\"today\")Y=new Date,R=!0;else if(/Z$/.test(e1)||/GMT$/.test(e1))Y=new Date(c);else if(a&&a.parseDate)Y=a.parseDate(c,J0);else{Y=!a||!a.noCalendar?new Date(new Date().getFullYear(),0,1,0,0,0,0):new Date(new Date().setHours(0,0,0,0));let t1,r1=[];for(let F1=0,a1=0,D1=\"\";F1<J0.length;F1++){const W0=J0[F1],i1=W0===\"\\\\\",x1=J0[F1-1]===\"\\\\\"||i1;if(Da0[W0]&&!x1){D1+=Da0[W0];const ux=new RegExp(D1).exec(c);ux&&(t1=!0)&&r1[W0!==\"Y\"?\"push\":\"unshift\"]({fn:o6x[W0],val:ux[++a1]})}else i1||(D1+=\".\");r1.forEach(({fn:ux,val:K1})=>Y=ux(Y,K1,s0)||Y)}Y=t1?Y:void 0}}if(!(Y instanceof Date&&!isNaN(Y.getTime()))){a.errorHandler(new Error(`Invalid date provided: ${F0}`));return}return R===!0&&Y.setHours(0,0,0,0),Y};function wB(a,u,c=!0){return c!==!1?new Date(a.getTime()).setHours(0,0,0,0)-new Date(u.getTime()).setHours(0,0,0,0):a.getTime()-u.getTime()}const s6x=(a,u,c)=>a>Math.min(u,c)&&a<Math.max(u,c),u6x={DAY:864e5};function ba0(a){let u=a.defaultHour,c=a.defaultMinute,b=a.defaultSeconds;if(a.minDate!==void 0){const R=a.minDate.getHours(),K=a.minDate.getMinutes(),s0=a.minDate.getSeconds();u<R&&(u=R),u===R&&c<K&&(c=K),u===R&&c===K&&b<s0&&(b=a.minDate.getSeconds())}if(a.maxDate!==void 0){const R=a.maxDate.getHours(),K=a.maxDate.getMinutes();u=Math.min(u,R),u===R&&(c=Math.min(K,c)),u===R&&c===K&&(b=a.maxDate.getSeconds())}return{hours:u,minutes:c,seconds:b}}typeof Object.assign!=\"function\"&&(Object.assign=function(a,...u){if(!a)throw TypeError(\"Cannot convert undefined or null to object\");for(const c of u)c&&Object.keys(c).forEach(b=>a[b]=c[b]);return a});const c6x=300;function l6x(a,u){const c={config:Object.assign(Object.assign({},nq),O9.defaultConfig),l10n:SH};c.parseDate=va0({config:c.config,l10n:c.l10n}),c._handlers=[],c.pluginElements=[],c.loadedPlugins=[],c._bind=a1,c._setHoursFromDate=t1,c._positionCalendar=as,c.changeMonth=Bu,c.changeYear=ma,c.clear=Au,c.close=Ec,c._createElement=MT,c.destroy=kn,c.isEnabled=ja,c.jumpToDate=i1,c.open=Sr,c.redraw=vi,c.set=jo,c.setDate=Ha,c.toggle=ju;function b(){c.utils={getDaysInMonth(mr=c.currentMonth,Dn=c.currentYear){return mr===1&&(Dn%4==0&&Dn%100!=0||Dn%400==0)?29:c.l10n.daysInMonth[mr]}}}function R(){c.element=c.input=a,c.isOpen=!1,jn(),wa(),es(),Ki(),b(),c.isMobile||K1(),W0(),(c.selectedDates.length||c.config.noCalendar)&&(c.config.enableTime&&t1(c.config.noCalendar?c.latestSelectedDateObj:void 0),su(!1)),s0();const mr=/^((?!chrome|android).)*safari/i.test(navigator.userAgent);!c.isMobile&&mr&&as(),Tc(\"onReady\")}function K(mr){return mr.bind(c)}function s0(){const mr=c.config;mr.weekNumbers===!1&&mr.showMonths===1||mr.noCalendar!==!0&&window.requestAnimationFrame(function(){if(c.calendarContainer!==void 0&&(c.calendarContainer.style.visibility=\"hidden\",c.calendarContainer.style.display=\"block\"),c.daysContainer!==void 0){const Dn=(c.days.offsetWidth+1)*mr.showMonths;c.daysContainer.style.width=Dn+\"px\",c.calendarContainer.style.width=Dn+(c.weekWrapper!==void 0?c.weekWrapper.offsetWidth:0)+\"px\",c.calendarContainer.style.removeProperty(\"visibility\"),c.calendarContainer.style.removeProperty(\"display\")}})}function Y(mr){if(c.selectedDates.length===0){const ki=c.config.minDate===void 0||wB(new Date,c.config.minDate)>=0?new Date:new Date(c.config.minDate.getTime()),us=ba0(c.config);ki.setHours(us.hours,us.minutes,us.seconds,ki.getMilliseconds()),c.selectedDates=[ki],c.latestSelectedDateObj=ki}mr!==void 0&&mr.type!==\"blur\"&&Cu(mr);const Dn=c._input.value;e1(),su(),c._input.value!==Dn&&c._debouncedChange()}function F0(mr,Dn){return mr%12+12*VL(Dn===c.l10n.amPM[1])}function J0(mr){switch(mr%24){case 0:case 12:return 12;default:return mr%12}}function e1(){if(c.hourElement===void 0||c.minuteElement===void 0)return;let mr=(parseInt(c.hourElement.value.slice(-2),10)||0)%24,Dn=(parseInt(c.minuteElement.value,10)||0)%60,ki=c.secondElement!==void 0?(parseInt(c.secondElement.value,10)||0)%60:0;c.amPM!==void 0&&(mr=F0(mr,c.amPM.textContent));const us=c.config.minTime!==void 0||c.config.minDate&&c.minDateHasTime&&c.latestSelectedDateObj&&wB(c.latestSelectedDateObj,c.config.minDate,!0)===0;if(c.config.maxTime!==void 0||c.config.maxDate&&c.maxDateHasTime&&c.latestSelectedDateObj&&wB(c.latestSelectedDateObj,c.config.maxDate,!0)===0){const _s=c.config.maxTime!==void 0?c.config.maxTime:c.config.maxDate;mr=Math.min(mr,_s.getHours()),mr===_s.getHours()&&(Dn=Math.min(Dn,_s.getMinutes())),Dn===_s.getMinutes()&&(ki=Math.min(ki,_s.getSeconds()))}if(us){const _s=c.config.minTime!==void 0?c.config.minTime:c.config.minDate;mr=Math.max(mr,_s.getHours()),mr===_s.getHours()&&Dn<_s.getMinutes()&&(Dn=_s.getMinutes()),Dn===_s.getMinutes()&&(ki=Math.max(ki,_s.getSeconds()))}r1(mr,Dn,ki)}function t1(mr){const Dn=mr||c.latestSelectedDateObj;Dn&&r1(Dn.getHours(),Dn.getMinutes(),Dn.getSeconds())}function r1(mr,Dn,ki){c.latestSelectedDateObj!==void 0&&c.latestSelectedDateObj.setHours(mr%24,Dn,ki||0,0),!(!c.hourElement||!c.minuteElement||c.isMobile)&&(c.hourElement.value=EO(c.config.time_24hr?mr:(12+mr)%12+12*VL(mr%12==0)),c.minuteElement.value=EO(Dn),c.amPM!==void 0&&(c.amPM.textContent=c.l10n.amPM[VL(mr>=12)]),c.secondElement!==void 0&&(c.secondElement.value=EO(ki)))}function F1(mr){const Dn=TB(mr),ki=parseInt(Dn.value)+(mr.delta||0);(ki/1e3>1||mr.key===\"Enter\"&&!/[^\\d]/.test(ki.toString()))&&ma(ki)}function a1(mr,Dn,ki,us){if(Dn instanceof Array)return Dn.forEach(ac=>a1(mr,ac,ki,us));if(mr instanceof Array)return mr.forEach(ac=>a1(ac,Dn,ki,us));mr.addEventListener(Dn,ki,us),c._handlers.push({remove:()=>mr.removeEventListener(Dn,ki)})}function D1(){Tc(\"onChange\")}function W0(){if(c.config.wrap&&[\"open\",\"close\",\"toggle\",\"clear\"].forEach(Dn=>{Array.prototype.forEach.call(c.element.querySelectorAll(`[data-${Dn}]`),ki=>a1(ki,\"click\",c[Dn]))}),c.isMobile){Ns();return}const mr=Vv0(et,50);if(c._debouncedChange=Vv0(D1,c6x),c.daysContainer&&!/iPhone|iPad|iPod/i.test(navigator.userAgent)&&a1(c.daysContainer,\"mouseover\",Dn=>{c.config.mode===\"range\"&&gn(TB(Dn))}),a1(window.document.body,\"keydown\",Os),!c.config.inline&&!c.config.static&&a1(window,\"resize\",mr),window.ontouchstart!==void 0?a1(window.document,\"touchstart\",mi):a1(window.document,\"mousedown\",mi),a1(window.document,\"focus\",mi,{capture:!0}),c.config.clickOpens===!0&&(a1(c._input,\"focus\",c.open),a1(c._input,\"click\",c.open)),c.daysContainer!==void 0&&(a1(c.monthNav,\"click\",T2),a1(c.monthNav,[\"keyup\",\"increment\"],F1),a1(c.daysContainer,\"click\",Hn)),c.timeContainer!==void 0&&c.minuteElement!==void 0&&c.hourElement!==void 0){const Dn=ki=>TB(ki).select();a1(c.timeContainer,[\"increment\"],Y),a1(c.timeContainer,\"blur\",Y,{capture:!0}),a1(c.timeContainer,\"click\",x1),a1([c.hourElement,c.minuteElement],[\"focus\",\"click\"],Dn),c.secondElement!==void 0&&a1(c.secondElement,\"focus\",()=>c.secondElement&&c.secondElement.select()),c.amPM!==void 0&&a1(c.amPM,\"click\",ki=>{Y(ki),D1()})}c.config.allowInput&&a1(c._input,\"blur\",aa)}function i1(mr,Dn){const ki=mr!==void 0?c.parseDate(mr):c.latestSelectedDateObj||(c.config.minDate&&c.config.minDate>c.now?c.config.minDate:c.config.maxDate&&c.config.maxDate<c.now?c.config.maxDate:c.now),us=c.currentYear,ac=c.currentMonth;try{ki!==void 0&&(c.currentYear=ki.getFullYear(),c.currentMonth=ki.getMonth())}catch(_s){_s.message=\"Invalid date supplied: \"+ki,c.config.errorHandler(_s)}Dn&&c.currentYear!==us&&(Tc(\"onYearChange\"),_n()),Dn&&(c.currentYear!==us||c.currentMonth!==ac)&&Tc(\"onMonthChange\"),c.redraw()}function x1(mr){const Dn=TB(mr);~Dn.className.indexOf(\"arrow\")&&ux(mr,Dn.classList.contains(\"arrowUp\")?1:-1)}function ux(mr,Dn,ki){const us=mr&&TB(mr),ac=ki||us&&us.parentNode&&us.parentNode.firstChild,_s=bu(\"increment\");_s.delta=Dn,ac&&ac.dispatchEvent(_s)}function K1(){const mr=window.document.createDocumentFragment();if(c.calendarContainer=MT(\"div\",\"flatpickr-calendar\"),c.calendarContainer.tabIndex=-1,!c.config.noCalendar){if(mr.appendChild(Pn()),c.innerContainer=MT(\"div\",\"flatpickr-innerContainer\"),c.config.weekNumbers){const{weekWrapper:ki,weekNumbers:us}=Qn();c.innerContainer.appendChild(ki),c.weekNumbers=us,c.weekWrapper=ki}c.rContainer=MT(\"div\",\"flatpickr-rContainer\"),c.rContainer.appendChild(cr()),c.daysContainer||(c.daysContainer=MT(\"div\",\"flatpickr-days\"),c.daysContainer.tabIndex=-1),vn(),c.rContainer.appendChild(c.daysContainer),c.innerContainer.appendChild(c.rContainer),mr.appendChild(c.innerContainer)}c.config.enableTime&&mr.appendChild(En()),II(c.calendarContainer,\"rangeMode\",c.config.mode===\"range\"),II(c.calendarContainer,\"animate\",c.config.animate===!0),II(c.calendarContainer,\"multiMonth\",c.config.showMonths>1),c.calendarContainer.appendChild(mr);const Dn=c.config.appendTo!==void 0&&c.config.appendTo.nodeType!==void 0;if((c.config.inline||c.config.static)&&(c.calendarContainer.classList.add(c.config.inline?\"inline\":\"static\"),c.config.inline&&(!Dn&&c.element.parentNode?c.element.parentNode.insertBefore(c.calendarContainer,c._input.nextSibling):c.config.appendTo!==void 0&&c.config.appendTo.appendChild(c.calendarContainer)),c.config.static)){const ki=MT(\"div\",\"flatpickr-wrapper\");c.element.parentNode&&c.element.parentNode.insertBefore(ki,c.element),ki.appendChild(c.element),c.altInput&&ki.appendChild(c.altInput),ki.appendChild(c.calendarContainer)}!c.config.static&&!c.config.inline&&(c.config.appendTo!==void 0?c.config.appendTo:window.document.body).appendChild(c.calendarContainer)}function ee(mr,Dn,ki,us){const ac=ja(Dn,!0),_s=MT(\"span\",\"flatpickr-day \"+mr,Dn.getDate().toString());return _s.dateObj=Dn,_s.$i=us,_s.setAttribute(\"aria-label\",c.formatDate(Dn,c.config.ariaDateFormat)),mr.indexOf(\"hidden\")===-1&&wB(Dn,c.now)===0&&(c.todayDateElem=_s,_s.classList.add(\"today\"),_s.setAttribute(\"aria-current\",\"date\")),ac?(_s.tabIndex=-1,mc(Dn)&&(_s.classList.add(\"selected\"),c.selectedDateElem=_s,c.config.mode===\"range\"&&(II(_s,\"startRange\",c.selectedDates[0]&&wB(Dn,c.selectedDates[0],!0)===0),II(_s,\"endRange\",c.selectedDates[1]&&wB(Dn,c.selectedDates[1],!0)===0),mr===\"nextMonthDay\"&&_s.classList.add(\"inRange\")))):_s.classList.add(\"flatpickr-disabled\"),c.config.mode===\"range\"&&vc(Dn)&&!mc(Dn)&&_s.classList.add(\"inRange\"),c.weekNumbers&&c.config.showMonths===1&&mr!==\"prevMonthDay\"&&ki%7==1&&c.weekNumbers.insertAdjacentHTML(\"beforeend\",\"<span class='flatpickr-day'>\"+c.config.getWeek(Dn)+\"</span>\"),Tc(\"onDayCreate\",_s),_s}function Gx(mr){mr.focus(),c.config.mode===\"range\"&&gn(mr)}function ve(mr){const Dn=mr>0?0:c.config.showMonths-1,ki=mr>0?c.config.showMonths:-1;for(let us=Dn;us!=ki;us+=mr){const ac=c.daysContainer.children[us],_s=mr>0?0:ac.children.length-1,cf=mr>0?ac.children.length:-1;for(let Df=_s;Df!=cf;Df+=mr){const gp=ac.children[Df];if(gp.className.indexOf(\"hidden\")===-1&&ja(gp.dateObj))return gp}}}function qe(mr,Dn){const ki=mr.className.indexOf(\"Month\")===-1?mr.dateObj.getMonth():c.currentMonth,us=Dn>0?c.config.showMonths:-1,ac=Dn>0?1:-1;for(let _s=ki-c.currentMonth;_s!=us;_s+=ac){const cf=c.daysContainer.children[_s],Df=ki-c.currentMonth===_s?mr.$i+Dn:Dn<0?cf.children.length-1:0,gp=cf.children.length;for(let _2=Df;_2>=0&&_2<gp&&_2!=(Dn>0?gp:-1);_2+=ac){const c_=cf.children[_2];if(c_.className.indexOf(\"hidden\")===-1&&ja(c_.dateObj)&&Math.abs(mr.$i-_2)>=Math.abs(Dn))return Gx(c_)}}c.changeMonth(ac),Jt(ve(ac),0)}function Jt(mr,Dn){const ki=Ua(document.activeElement||document.body),us=mr!==void 0?mr:ki?document.activeElement:c.selectedDateElem!==void 0&&Ua(c.selectedDateElem)?c.selectedDateElem:c.todayDateElem!==void 0&&Ua(c.todayDateElem)?c.todayDateElem:ve(Dn>0?1:-1);us===void 0?c._input.focus():ki?qe(us,Dn):Gx(us)}function Ct(mr,Dn){const ki=(new Date(mr,Dn,1).getDay()-c.l10n.firstDayOfWeek+7)%7,us=c.utils.getDaysInMonth((Dn-1+12)%12,mr),ac=c.utils.getDaysInMonth(Dn,mr),_s=window.document.createDocumentFragment(),cf=c.config.showMonths>1,Df=cf?\"prevMonthDay hidden\":\"prevMonthDay\",gp=cf?\"nextMonthDay hidden\":\"nextMonthDay\";let _2=us+1-ki,c_=0;for(;_2<=us;_2++,c_++)_s.appendChild(ee(Df,new Date(mr,Dn-1,_2),_2,c_));for(_2=1;_2<=ac;_2++,c_++)_s.appendChild(ee(\"\",new Date(mr,Dn,_2),_2,c_));for(let c8=ac+1;c8<=42-ki&&(c.config.showMonths===1||c_%7!=0);c8++,c_++)_s.appendChild(ee(gp,new Date(mr,Dn+1,c8%ac),c8,c_));const pC=MT(\"div\",\"dayContainer\");return pC.appendChild(_s),pC}function vn(){if(c.daysContainer===void 0)return;T00(c.daysContainer),c.weekNumbers&&T00(c.weekNumbers);const mr=document.createDocumentFragment();for(let Dn=0;Dn<c.config.showMonths;Dn++){const ki=new Date(c.currentYear,c.currentMonth,1);ki.setMonth(c.currentMonth+Dn),mr.appendChild(Ct(ki.getFullYear(),ki.getMonth()))}c.daysContainer.appendChild(mr),c.days=c.daysContainer.firstChild,c.config.mode===\"range\"&&c.selectedDates.length===1&&gn()}function _n(){if(c.config.showMonths>1||c.config.monthSelectorType!==\"dropdown\")return;const mr=function(Dn){return c.config.minDate!==void 0&&c.currentYear===c.config.minDate.getFullYear()&&Dn<c.config.minDate.getMonth()?!1:!(c.config.maxDate!==void 0&&c.currentYear===c.config.maxDate.getFullYear()&&Dn>c.config.maxDate.getMonth())};c.monthsDropdownContainer.tabIndex=-1,c.monthsDropdownContainer.innerHTML=\"\";for(let Dn=0;Dn<12;Dn++){if(!mr(Dn))continue;const ki=MT(\"option\",\"flatpickr-monthDropdown-month\");ki.value=new Date(c.currentYear,Dn).getMonth().toString(),ki.textContent=k00(Dn,c.config.shorthandCurrentMonth,c.l10n),ki.tabIndex=-1,c.currentMonth===Dn&&(ki.selected=!0),c.monthsDropdownContainer.appendChild(ki)}}function Tr(){const mr=MT(\"div\",\"flatpickr-month\"),Dn=window.document.createDocumentFragment();let ki;c.config.showMonths>1||c.config.monthSelectorType===\"static\"?ki=MT(\"span\",\"cur-month\"):(c.monthsDropdownContainer=MT(\"select\",\"flatpickr-monthDropdown-months\"),c.monthsDropdownContainer.setAttribute(\"aria-label\",c.l10n.monthAriaLabel),a1(c.monthsDropdownContainer,\"change\",cf=>{const Df=TB(cf),gp=parseInt(Df.value,10);c.changeMonth(gp-c.currentMonth),Tc(\"onMonthChange\")}),_n(),ki=c.monthsDropdownContainer);const us=w00(\"cur-year\",{tabindex:\"-1\"}),ac=us.getElementsByTagName(\"input\")[0];ac.setAttribute(\"aria-label\",c.l10n.yearAriaLabel),c.config.minDate&&ac.setAttribute(\"min\",c.config.minDate.getFullYear().toString()),c.config.maxDate&&(ac.setAttribute(\"max\",c.config.maxDate.getFullYear().toString()),ac.disabled=!!c.config.minDate&&c.config.minDate.getFullYear()===c.config.maxDate.getFullYear());const _s=MT(\"div\",\"flatpickr-current-month\");return _s.appendChild(ki),_s.appendChild(us),Dn.appendChild(_s),mr.appendChild(Dn),{container:mr,yearElement:ac,monthElement:ki}}function Lr(){T00(c.monthNav),c.monthNav.appendChild(c.prevMonthNav),c.config.showMonths&&(c.yearElements=[],c.monthElements=[]);for(let mr=c.config.showMonths;mr--;){const Dn=Tr();c.yearElements.push(Dn.yearElement),c.monthElements.push(Dn.monthElement),c.monthNav.appendChild(Dn.container)}c.monthNav.appendChild(c.nextMonthNav)}function Pn(){return c.monthNav=MT(\"div\",\"flatpickr-months\"),c.yearElements=[],c.monthElements=[],c.prevMonthNav=MT(\"span\",\"flatpickr-prev-month\"),c.prevMonthNav.innerHTML=c.config.prevArrow,c.nextMonthNav=MT(\"span\",\"flatpickr-next-month\"),c.nextMonthNav.innerHTML=c.config.nextArrow,Lr(),Object.defineProperty(c,\"_hidePrevMonthArrow\",{get:()=>c.__hidePrevMonthArrow,set(mr){c.__hidePrevMonthArrow!==mr&&(II(c.prevMonthNav,\"flatpickr-disabled\",mr),c.__hidePrevMonthArrow=mr)}}),Object.defineProperty(c,\"_hideNextMonthArrow\",{get:()=>c.__hideNextMonthArrow,set(mr){c.__hideNextMonthArrow!==mr&&(II(c.nextMonthNav,\"flatpickr-disabled\",mr),c.__hideNextMonthArrow=mr)}}),c.currentYearElement=c.yearElements[0],Lc(),c.monthNav}function En(){c.calendarContainer.classList.add(\"hasTime\"),c.config.noCalendar&&c.calendarContainer.classList.add(\"noCalendar\");const mr=ba0(c.config);c.timeContainer=MT(\"div\",\"flatpickr-time\"),c.timeContainer.tabIndex=-1;const Dn=MT(\"span\",\"flatpickr-time-separator\",\":\"),ki=w00(\"flatpickr-hour\",{\"aria-label\":c.l10n.hourAriaLabel});c.hourElement=ki.getElementsByTagName(\"input\")[0];const us=w00(\"flatpickr-minute\",{\"aria-label\":c.l10n.minuteAriaLabel});if(c.minuteElement=us.getElementsByTagName(\"input\")[0],c.hourElement.tabIndex=c.minuteElement.tabIndex=-1,c.hourElement.value=EO(c.latestSelectedDateObj?c.latestSelectedDateObj.getHours():c.config.time_24hr?mr.hours:J0(mr.hours)),c.minuteElement.value=EO(c.latestSelectedDateObj?c.latestSelectedDateObj.getMinutes():mr.minutes),c.hourElement.setAttribute(\"step\",c.config.hourIncrement.toString()),c.minuteElement.setAttribute(\"step\",c.config.minuteIncrement.toString()),c.hourElement.setAttribute(\"min\",c.config.time_24hr?\"0\":\"1\"),c.hourElement.setAttribute(\"max\",c.config.time_24hr?\"23\":\"12\"),c.hourElement.setAttribute(\"maxlength\",\"2\"),c.minuteElement.setAttribute(\"min\",\"0\"),c.minuteElement.setAttribute(\"max\",\"59\"),c.minuteElement.setAttribute(\"maxlength\",\"2\"),c.timeContainer.appendChild(ki),c.timeContainer.appendChild(Dn),c.timeContainer.appendChild(us),c.config.time_24hr&&c.timeContainer.classList.add(\"time24hr\"),c.config.enableSeconds){c.timeContainer.classList.add(\"hasSeconds\");const ac=w00(\"flatpickr-second\");c.secondElement=ac.getElementsByTagName(\"input\")[0],c.secondElement.value=EO(c.latestSelectedDateObj?c.latestSelectedDateObj.getSeconds():mr.seconds),c.secondElement.setAttribute(\"step\",c.minuteElement.getAttribute(\"step\")),c.secondElement.setAttribute(\"min\",\"0\"),c.secondElement.setAttribute(\"max\",\"59\"),c.secondElement.setAttribute(\"maxlength\",\"2\"),c.timeContainer.appendChild(MT(\"span\",\"flatpickr-time-separator\",\":\")),c.timeContainer.appendChild(ac)}return c.config.time_24hr||(c.amPM=MT(\"span\",\"flatpickr-am-pm\",c.l10n.amPM[VL((c.latestSelectedDateObj?c.hourElement.value:c.config.defaultHour)>11)]),c.amPM.title=c.l10n.toggleTitle,c.amPM.tabIndex=-1,c.timeContainer.appendChild(c.amPM)),c.timeContainer}function cr(){c.weekdayContainer?T00(c.weekdayContainer):c.weekdayContainer=MT(\"div\",\"flatpickr-weekdays\");for(let mr=c.config.showMonths;mr--;){const Dn=MT(\"div\",\"flatpickr-weekdaycontainer\");c.weekdayContainer.appendChild(Dn)}return Ea(),c.weekdayContainer}function Ea(){if(!c.weekdayContainer)return;const mr=c.l10n.firstDayOfWeek;let Dn=[...c.l10n.weekdays.shorthand];mr>0&&mr<Dn.length&&(Dn=[...Dn.splice(mr,Dn.length),...Dn.splice(0,mr)]);for(let ki=c.config.showMonths;ki--;)c.weekdayContainer.children[ki].innerHTML=`\n      <span class='flatpickr-weekday'>\n        ${Dn.join(\"</span><span class='flatpickr-weekday'>\")}\n      </span>\n      `}function Qn(){c.calendarContainer.classList.add(\"hasWeeks\");const mr=MT(\"div\",\"flatpickr-weekwrapper\");mr.appendChild(MT(\"span\",\"flatpickr-weekday\",c.l10n.weekAbbreviation));const Dn=MT(\"div\",\"flatpickr-weeks\");return mr.appendChild(Dn),{weekWrapper:mr,weekNumbers:Dn}}function Bu(mr,Dn=!0){const ki=Dn?mr:mr-c.currentMonth;ki<0&&c._hidePrevMonthArrow===!0||ki>0&&c._hideNextMonthArrow===!0||(c.currentMonth+=ki,(c.currentMonth<0||c.currentMonth>11)&&(c.currentYear+=c.currentMonth>11?1:-1,c.currentMonth=(c.currentMonth+12)%12,Tc(\"onYearChange\"),_n()),vn(),Tc(\"onMonthChange\"),Lc())}function Au(mr=!0,Dn=!0){if(c.input.value=\"\",c.altInput!==void 0&&(c.altInput.value=\"\"),c.mobileInput!==void 0&&(c.mobileInput.value=\"\"),c.selectedDates=[],c.latestSelectedDateObj=void 0,Dn===!0&&(c.currentYear=c._initialDate.getFullYear(),c.currentMonth=c._initialDate.getMonth()),c.config.enableTime===!0){const{hours:ki,minutes:us,seconds:ac}=ba0(c.config);r1(ki,us,ac)}c.redraw(),mr&&Tc(\"onChange\")}function Ec(){c.isOpen=!1,c.isMobile||(c.calendarContainer!==void 0&&c.calendarContainer.classList.remove(\"open\"),c._input!==void 0&&c._input.classList.remove(\"active\")),Tc(\"onClose\")}function kn(){c.config!==void 0&&Tc(\"onDestroy\");for(let mr=c._handlers.length;mr--;)c._handlers[mr].remove();if(c._handlers=[],c.mobileInput)c.mobileInput.parentNode&&c.mobileInput.parentNode.removeChild(c.mobileInput),c.mobileInput=void 0;else if(c.calendarContainer&&c.calendarContainer.parentNode)if(c.config.static&&c.calendarContainer.parentNode){const mr=c.calendarContainer.parentNode;if(mr.lastChild&&mr.removeChild(mr.lastChild),mr.parentNode){for(;mr.firstChild;)mr.parentNode.insertBefore(mr.firstChild,mr);mr.parentNode.removeChild(mr)}}else c.calendarContainer.parentNode.removeChild(c.calendarContainer);c.altInput&&(c.input.type=\"text\",c.altInput.parentNode&&c.altInput.parentNode.removeChild(c.altInput),delete c.altInput),c.input&&(c.input.type=c.input._type,c.input.classList.remove(\"flatpickr-input\"),c.input.removeAttribute(\"readonly\")),[\"_showTimeInput\",\"latestSelectedDateObj\",\"_hideNextMonthArrow\",\"_hidePrevMonthArrow\",\"__hideNextMonthArrow\",\"__hidePrevMonthArrow\",\"isMobile\",\"isOpen\",\"selectedDateElem\",\"minDateHasTime\",\"maxDateHasTime\",\"days\",\"daysContainer\",\"_input\",\"_positionElement\",\"innerContainer\",\"rContainer\",\"monthNav\",\"todayDateElem\",\"calendarContainer\",\"weekdayContainer\",\"prevMonthNav\",\"nextMonthNav\",\"monthsDropdownContainer\",\"currentMonthElement\",\"currentYearElement\",\"navigationCurrentMonth\",\"selectedDateElem\",\"config\"].forEach(mr=>{try{delete c[mr]}catch{}})}function pu(mr){return c.config.appendTo&&c.config.appendTo.contains(mr)?!0:c.calendarContainer.contains(mr)}function mi(mr){if(c.isOpen&&!c.config.inline){const Dn=TB(mr),ki=pu(Dn),us=Dn===c.input||Dn===c.altInput||c.element.contains(Dn)||mr.path&&mr.path.indexOf&&(~mr.path.indexOf(c.input)||~mr.path.indexOf(c.altInput)),ac=mr.type===\"blur\"?us&&mr.relatedTarget&&!pu(mr.relatedTarget):!us&&!ki&&!pu(mr.relatedTarget),_s=!c.config.ignoredFocusElements.some(cf=>cf.contains(Dn));ac&&_s&&(c.timeContainer!==void 0&&c.minuteElement!==void 0&&c.hourElement!==void 0&&c.input.value!==\"\"&&c.input.value!==void 0&&Y(),c.close(),c.config&&c.config.mode===\"range\"&&c.selectedDates.length===1&&(c.clear(!1),c.redraw()))}}function ma(mr){if(!mr||c.config.minDate&&mr<c.config.minDate.getFullYear()||c.config.maxDate&&mr>c.config.maxDate.getFullYear())return;const Dn=mr,ki=c.currentYear!==Dn;c.currentYear=Dn||c.currentYear,c.config.maxDate&&c.currentYear===c.config.maxDate.getFullYear()?c.currentMonth=Math.min(c.config.maxDate.getMonth(),c.currentMonth):c.config.minDate&&c.currentYear===c.config.minDate.getFullYear()&&(c.currentMonth=Math.max(c.config.minDate.getMonth(),c.currentMonth)),ki&&(c.redraw(),Tc(\"onYearChange\"),_n())}function ja(mr,Dn=!0){var ki;const us=c.parseDate(mr,void 0,Dn);if(c.config.minDate&&us&&wB(us,c.config.minDate,Dn!==void 0?Dn:!c.minDateHasTime)<0||c.config.maxDate&&us&&wB(us,c.config.maxDate,Dn!==void 0?Dn:!c.maxDateHasTime)>0)return!1;if(!c.config.enable&&c.config.disable.length===0)return!0;if(us===void 0)return!1;const ac=!!c.config.enable,_s=(ki=c.config.enable)!==null&&ki!==void 0?ki:c.config.disable;for(let cf=0,Df;cf<_s.length;cf++){if(Df=_s[cf],typeof Df==\"function\"&&Df(us))return ac;if(Df instanceof Date&&us!==void 0&&Df.getTime()===us.getTime())return ac;if(typeof Df==\"string\"){const gp=c.parseDate(Df,void 0,!0);return gp&&gp.getTime()===us.getTime()?ac:!ac}else if(typeof Df==\"object\"&&us!==void 0&&Df.from&&Df.to&&us.getTime()>=Df.from.getTime()&&us.getTime()<=Df.to.getTime())return ac}return!ac}function Ua(mr){return c.daysContainer!==void 0?mr.className.indexOf(\"hidden\")===-1&&mr.className.indexOf(\"flatpickr-disabled\")===-1&&c.daysContainer.contains(mr):!1}function aa(mr){mr.target===c._input&&(c.selectedDates.length>0||c._input.value.length>0)&&!(mr.relatedTarget&&pu(mr.relatedTarget))&&c.setDate(c._input.value,!0,mr.target===c.altInput?c.config.altFormat:c.config.dateFormat)}function Os(mr){const Dn=TB(mr),ki=c.config.wrap?a.contains(Dn):Dn===c._input,us=c.config.allowInput,ac=c.isOpen&&(!us||!ki),_s=c.config.inline&&ki&&!us;if(mr.keyCode===13&&ki){if(us)return c.setDate(c._input.value,!0,Dn===c.altInput?c.config.altFormat:c.config.dateFormat),Dn.blur();c.open()}else if(pu(Dn)||ac||_s){const cf=!!c.timeContainer&&c.timeContainer.contains(Dn);switch(mr.keyCode){case 13:cf?(mr.preventDefault(),Y(),jr()):Hn(mr);break;case 27:mr.preventDefault(),jr();break;case 8:case 46:ki&&!c.config.allowInput&&(mr.preventDefault(),c.clear());break;case 37:case 39:if(!cf&&!ki){if(mr.preventDefault(),c.daysContainer!==void 0&&(us===!1||document.activeElement&&Ua(document.activeElement))){const gp=mr.keyCode===39?1:-1;mr.ctrlKey?(mr.stopPropagation(),Bu(gp),Jt(ve(1),0)):Jt(void 0,gp)}}else c.hourElement&&c.hourElement.focus();break;case 38:case 40:mr.preventDefault();const Df=mr.keyCode===40?1:-1;c.daysContainer&&Dn.$i!==void 0||Dn===c.input||Dn===c.altInput?mr.ctrlKey?(mr.stopPropagation(),ma(c.currentYear-Df),Jt(ve(1),0)):cf||Jt(void 0,Df*7):Dn===c.currentYearElement?ma(c.currentYear-Df):c.config.enableTime&&(!cf&&c.hourElement&&c.hourElement.focus(),Y(mr),c._debouncedChange());break;case 9:if(cf){const gp=[c.hourElement,c.minuteElement,c.secondElement,c.amPM].concat(c.pluginElements).filter(c_=>c_),_2=gp.indexOf(Dn);if(_2!==-1){const c_=gp[_2+(mr.shiftKey?-1:1)];mr.preventDefault(),(c_||c._input).focus()}}else!c.config.noCalendar&&c.daysContainer&&c.daysContainer.contains(Dn)&&mr.shiftKey&&(mr.preventDefault(),c._input.focus());break}}if(c.amPM!==void 0&&Dn===c.amPM)switch(mr.key){case c.l10n.amPM[0].charAt(0):case c.l10n.amPM[0].charAt(0).toLowerCase():c.amPM.textContent=c.l10n.amPM[0],e1(),su();break;case c.l10n.amPM[1].charAt(0):case c.l10n.amPM[1].charAt(0).toLowerCase():c.amPM.textContent=c.l10n.amPM[1],e1(),su();break}(ki||pu(Dn))&&Tc(\"onKeyDown\",mr)}function gn(mr){if(c.selectedDates.length!==1||mr&&(!mr.classList.contains(\"flatpickr-day\")||mr.classList.contains(\"flatpickr-disabled\")))return;const Dn=mr?mr.dateObj.getTime():c.days.firstElementChild.dateObj.getTime(),ki=c.parseDate(c.selectedDates[0],void 0,!0).getTime(),us=Math.min(Dn,c.selectedDates[0].getTime()),ac=Math.max(Dn,c.selectedDates[0].getTime());let _s=!1,cf=0,Df=0;for(let gp=us;gp<ac;gp+=u6x.DAY)ja(new Date(gp),!0)||(_s=_s||gp>us&&gp<ac,gp<ki&&(!cf||gp>cf)?cf=gp:gp>ki&&(!Df||gp<Df)&&(Df=gp));for(let gp=0;gp<c.config.showMonths;gp++){const _2=c.daysContainer.children[gp];for(let c_=0,pC=_2.children.length;c_<pC;c_++){const c8=_2.children[c_],S8=c8.dateObj.getTime(),c4=cf>0&&S8<cf||Df>0&&S8>Df;if(c4){c8.classList.add(\"notAllowed\"),[\"inRange\",\"startRange\",\"endRange\"].forEach(BS=>{c8.classList.remove(BS)});continue}else if(_s&&!c4)continue;[\"startRange\",\"inRange\",\"endRange\",\"notAllowed\"].forEach(BS=>{c8.classList.remove(BS)}),mr!==void 0&&(mr.classList.add(Dn<=c.selectedDates[0].getTime()?\"startRange\":\"endRange\"),ki<Dn&&S8===ki?c8.classList.add(\"startRange\"):ki>Dn&&S8===ki&&c8.classList.add(\"endRange\"),S8>=cf&&(Df===0||S8<=Df)&&s6x(S8,ki,Dn)&&c8.classList.add(\"inRange\"))}}}function et(){c.isOpen&&!c.config.static&&!c.config.inline&&as()}function Sr(mr,Dn=c._positionElement){if(c.isMobile===!0){if(mr){mr.preventDefault();const us=TB(mr);us&&us.blur()}c.mobileInput!==void 0&&(c.mobileInput.focus(),c.mobileInput.click()),Tc(\"onOpen\");return}else if(c._input.disabled||c.config.inline)return;const ki=c.isOpen;c.isOpen=!0,ki||(c.calendarContainer.classList.add(\"open\"),c._input.classList.add(\"active\"),Tc(\"onOpen\"),as(Dn)),c.config.enableTime===!0&&c.config.noCalendar===!0&&c.config.allowInput===!1&&(mr===void 0||!c.timeContainer.contains(mr.relatedTarget))&&setTimeout(()=>c.hourElement.select(),50)}function un(mr){return Dn=>{const ki=c.config[`_${mr}Date`]=c.parseDate(Dn,c.config.dateFormat),us=c.config[`_${mr===\"min\"?\"max\":\"min\"}Date`];ki!==void 0&&(c[mr===\"min\"?\"minDateHasTime\":\"maxDateHasTime\"]=ki.getHours()>0||ki.getMinutes()>0||ki.getSeconds()>0),c.selectedDates&&(c.selectedDates=c.selectedDates.filter(ac=>ja(ac)),!c.selectedDates.length&&mr===\"min\"&&t1(ki),su()),c.daysContainer&&(vi(),ki!==void 0?c.currentYearElement[mr]=ki.getFullYear().toString():c.currentYearElement.removeAttribute(mr),c.currentYearElement.disabled=!!us&&ki!==void 0&&us.getFullYear()===ki.getFullYear())}}function jn(){const mr=[\"wrap\",\"weekNumbers\",\"allowInput\",\"allowInvalidPreload\",\"clickOpens\",\"time_24hr\",\"enableTime\",\"noCalendar\",\"altInput\",\"shorthandCurrentMonth\",\"inline\",\"static\",\"enableSeconds\",\"disableMobile\"],Dn=Object.assign(Object.assign({},JSON.parse(JSON.stringify(a.dataset||{}))),u),ki={};c.config.parseDate=Dn.parseDate,c.config.formatDate=Dn.formatDate,Object.defineProperty(c.config,\"enable\",{get:()=>c.config._enable,set:_s=>{c.config._enable=qn(_s)}}),Object.defineProperty(c.config,\"disable\",{get:()=>c.config._disable,set:_s=>{c.config._disable=qn(_s)}});const us=Dn.mode===\"time\";if(!Dn.dateFormat&&(Dn.enableTime||us)){const _s=O9.defaultConfig.dateFormat||nq.dateFormat;ki.dateFormat=Dn.noCalendar||us?\"H:i\"+(Dn.enableSeconds?\":S\":\"\"):_s+\" H:i\"+(Dn.enableSeconds?\":S\":\"\")}if(Dn.altInput&&(Dn.enableTime||us)&&!Dn.altFormat){const _s=O9.defaultConfig.altFormat||nq.altFormat;ki.altFormat=Dn.noCalendar||us?\"h:i\"+(Dn.enableSeconds?\":S K\":\" K\"):_s+` h:i${Dn.enableSeconds?\":S\":\"\"} K`}Object.defineProperty(c.config,\"minDate\",{get:()=>c.config._minDate,set:un(\"min\")}),Object.defineProperty(c.config,\"maxDate\",{get:()=>c.config._maxDate,set:un(\"max\")});const ac=_s=>cf=>{c.config[_s===\"min\"?\"_minTime\":\"_maxTime\"]=c.parseDate(cf,\"H:i:S\")};Object.defineProperty(c.config,\"minTime\",{get:()=>c.config._minTime,set:ac(\"min\")}),Object.defineProperty(c.config,\"maxTime\",{get:()=>c.config._maxTime,set:ac(\"max\")}),Dn.mode===\"time\"&&(c.config.noCalendar=!0,c.config.enableTime=!0),Object.assign(c.config,ki,Dn);for(let _s=0;_s<mr.length;_s++)c.config[mr[_s]]=c.config[mr[_s]]===!0||c.config[mr[_s]]===\"true\";ga0.filter(_s=>c.config[_s]!==void 0).forEach(_s=>{c.config[_s]=_a0(c.config[_s]||[]).map(K)}),c.isMobile=!c.config.disableMobile&&!c.config.inline&&c.config.mode===\"single\"&&!c.config.disable.length&&!c.config.enable&&!c.config.weekNumbers&&/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);for(let _s=0;_s<c.config.plugins.length;_s++){const cf=c.config.plugins[_s](c)||{};for(const Df in cf)ga0.indexOf(Df)>-1?c.config[Df]=_a0(cf[Df]).map(K).concat(c.config[Df]):typeof Dn[Df]==\"undefined\"&&(c.config[Df]=cf[Df])}Dn.altInputClass||(c.config.altInputClass=ea().className+\" \"+c.config.altInputClass),Tc(\"onParseConfig\")}function ea(){return c.config.wrap?a.querySelector(\"[data-input]\"):a}function wa(){typeof c.config.locale!=\"object\"&&typeof O9.l10ns[c.config.locale]==\"undefined\"&&c.config.errorHandler(new Error(`flatpickr: invalid locale ${c.config.locale}`)),c.l10n=Object.assign(Object.assign({},O9.l10ns.default),typeof c.config.locale==\"object\"?c.config.locale:c.config.locale!==\"default\"?O9.l10ns[c.config.locale]:void 0),Da0.K=`(${c.l10n.amPM[0]}|${c.l10n.amPM[1]}|${c.l10n.amPM[0].toLowerCase()}|${c.l10n.amPM[1].toLowerCase()})`,Object.assign(Object.assign({},u),JSON.parse(JSON.stringify(a.dataset||{}))).time_24hr===void 0&&O9.defaultConfig.time_24hr===void 0&&(c.config.time_24hr=c.l10n.time_24hr),c.formatDate=Kv0(c),c.parseDate=va0({config:c.config,l10n:c.l10n})}function as(mr){if(typeof c.config.position==\"function\")return void c.config.position(c,mr);if(c.calendarContainer===void 0)return;Tc(\"onPreCalendarPosition\");const Dn=mr||c._positionElement,ki=Array.prototype.reduce.call(c.calendarContainer.children,(ES,fS)=>ES+fS.offsetHeight,0),us=c.calendarContainer.offsetWidth,ac=c.config.position.split(\" \"),_s=ac[0],cf=ac.length>1?ac[1]:null,Df=Dn.getBoundingClientRect(),gp=window.innerHeight-Df.bottom,_2=_s===\"above\"||_s!==\"below\"&&gp<ki&&Df.top>ki,c_=window.pageYOffset+Df.top+(_2?-ki-2:Dn.offsetHeight+2);if(II(c.calendarContainer,\"arrowTop\",!_2),II(c.calendarContainer,\"arrowBottom\",_2),c.config.inline)return;let pC=window.pageXOffset+Df.left,c8=!1,VE=!1;cf===\"center\"?(pC-=(us-Df.width)/2,c8=!0):cf===\"right\"&&(pC-=us-Df.width,VE=!0),II(c.calendarContainer,\"arrowLeft\",!c8&&!VE),II(c.calendarContainer,\"arrowCenter\",c8),II(c.calendarContainer,\"arrowRight\",VE);const S8=window.document.body.offsetWidth-(window.pageXOffset+Df.right),c4=pC+us>window.document.body.offsetWidth,BS=S8+us>window.document.body.offsetWidth;if(II(c.calendarContainer,\"rightMost\",c4),!c.config.static)if(c.calendarContainer.style.top=`${c_}px`,!c4)c.calendarContainer.style.left=`${pC}px`,c.calendarContainer.style.right=\"auto\";else if(!BS)c.calendarContainer.style.left=\"auto\",c.calendarContainer.style.right=`${S8}px`;else{const ES=zo();if(ES===void 0)return;const fS=window.document.body.offsetWidth,DF=Math.max(0,fS/2-us/2),D8=\".flatpickr-calendar.centerMost:before\",v8=\".flatpickr-calendar.centerMost:after\",pS=ES.cssRules.length,l4=`{left:${Df.left}px;right:auto;}`;II(c.calendarContainer,\"rightMost\",!1),II(c.calendarContainer,\"centerMost\",!0),ES.insertRule(`${D8},${v8}${l4}`,pS),c.calendarContainer.style.left=`${DF}px`,c.calendarContainer.style.right=\"auto\"}}function zo(){let mr=null;for(let Dn=0;Dn<document.styleSheets.length;Dn++){const ki=document.styleSheets[Dn];try{ki.cssRules}catch{continue}mr=ki;break}return mr!=null?mr:vo()}function vo(){const mr=document.createElement(\"style\");return document.head.appendChild(mr),mr.sheet}function vi(){c.config.noCalendar||c.isMobile||(_n(),Lc(),vn())}function jr(){c._input.focus(),window.navigator.userAgent.indexOf(\"MSIE\")!==-1||navigator.msMaxTouchPoints!==void 0?setTimeout(c.close,0):c.close()}function Hn(mr){mr.preventDefault(),mr.stopPropagation();const Dn=cf=>cf.classList&&cf.classList.contains(\"flatpickr-day\")&&!cf.classList.contains(\"flatpickr-disabled\")&&!cf.classList.contains(\"notAllowed\"),ki=$v0(TB(mr),Dn);if(ki===void 0)return;const us=ki,ac=c.latestSelectedDateObj=new Date(us.dateObj.getTime()),_s=(ac.getMonth()<c.currentMonth||ac.getMonth()>c.currentMonth+c.config.showMonths-1)&&c.config.mode!==\"range\";if(c.selectedDateElem=us,c.config.mode===\"single\")c.selectedDates=[ac];else if(c.config.mode===\"multiple\"){const cf=mc(ac);cf?c.selectedDates.splice(parseInt(cf),1):c.selectedDates.push(ac)}else c.config.mode===\"range\"&&(c.selectedDates.length===2&&c.clear(!1,!1),c.latestSelectedDateObj=ac,c.selectedDates.push(ac),wB(ac,c.selectedDates[0],!0)!==0&&c.selectedDates.sort((cf,Df)=>cf.getTime()-Df.getTime()));if(e1(),_s){const cf=c.currentYear!==ac.getFullYear();c.currentYear=ac.getFullYear(),c.currentMonth=ac.getMonth(),cf&&(Tc(\"onYearChange\"),_n()),Tc(\"onMonthChange\")}if(Lc(),vn(),su(),!_s&&c.config.mode!==\"range\"&&c.config.showMonths===1?Gx(us):c.selectedDateElem!==void 0&&c.hourElement===void 0&&c.selectedDateElem&&c.selectedDateElem.focus(),c.hourElement!==void 0&&c.hourElement!==void 0&&c.hourElement.focus(),c.config.closeOnSelect){const cf=c.config.mode===\"single\"&&!c.config.enableTime,Df=c.config.mode===\"range\"&&c.selectedDates.length===2&&!c.config.enableTime;(cf||Df)&&jr()}D1()}const wi={locale:[wa,Ea],showMonths:[Lr,s0,cr],minDate:[i1],maxDate:[i1],clickOpens:[()=>{c.config.clickOpens===!0?(a1(c._input,\"focus\",c.open),a1(c._input,\"click\",c.open)):(c._input.removeEventListener(\"focus\",c.open),c._input.removeEventListener(\"click\",c.open))}]};function jo(mr,Dn){if(mr!==null&&typeof mr==\"object\"){Object.assign(c.config,mr);for(const ki in mr)wi[ki]!==void 0&&wi[ki].forEach(us=>us())}else c.config[mr]=Dn,wi[mr]!==void 0?wi[mr].forEach(ki=>ki()):ga0.indexOf(mr)>-1&&(c.config[mr]=_a0(Dn));c.redraw(),su(!0)}function bs(mr,Dn){let ki=[];if(mr instanceof Array)ki=mr.map(us=>c.parseDate(us,Dn));else if(mr instanceof Date||typeof mr==\"number\")ki=[c.parseDate(mr,Dn)];else if(typeof mr==\"string\")switch(c.config.mode){case\"single\":case\"time\":ki=[c.parseDate(mr,Dn)];break;case\"multiple\":ki=mr.split(c.config.conjunction).map(us=>c.parseDate(us,Dn));break;case\"range\":ki=mr.split(c.l10n.rangeSeparator).map(us=>c.parseDate(us,Dn));break}else c.config.errorHandler(new Error(`Invalid date supplied: ${JSON.stringify(mr)}`));c.selectedDates=c.config.allowInvalidPreload?ki:ki.filter(us=>us instanceof Date&&ja(us,!1)),c.config.mode===\"range\"&&c.selectedDates.sort((us,ac)=>us.getTime()-ac.getTime())}function Ha(mr,Dn=!1,ki=c.config.dateFormat){if(mr!==0&&!mr||mr instanceof Array&&mr.length===0)return c.clear(Dn);bs(mr,ki),c.latestSelectedDateObj=c.selectedDates[c.selectedDates.length-1],c.redraw(),i1(void 0,Dn),t1(),c.selectedDates.length===0&&c.clear(!1),su(Dn),Dn&&Tc(\"onChange\")}function qn(mr){return mr.slice().map(Dn=>typeof Dn==\"string\"||typeof Dn==\"number\"||Dn instanceof Date?c.parseDate(Dn,void 0,!0):Dn&&typeof Dn==\"object\"&&Dn.from&&Dn.to?{from:c.parseDate(Dn.from,void 0),to:c.parseDate(Dn.to,void 0)}:Dn).filter(Dn=>Dn)}function Ki(){c.selectedDates=[],c.now=c.parseDate(c.config.now)||new Date;const mr=c.config.defaultDate||((c.input.nodeName===\"INPUT\"||c.input.nodeName===\"TEXTAREA\")&&c.input.placeholder&&c.input.value===c.input.placeholder?null:c.input.value);mr&&bs(mr,c.config.dateFormat),c._initialDate=c.selectedDates.length>0?c.selectedDates[0]:c.config.minDate&&c.config.minDate.getTime()>c.now.getTime()?c.config.minDate:c.config.maxDate&&c.config.maxDate.getTime()<c.now.getTime()?c.config.maxDate:c.now,c.currentYear=c._initialDate.getFullYear(),c.currentMonth=c._initialDate.getMonth(),c.selectedDates.length>0&&(c.latestSelectedDateObj=c.selectedDates[0]),c.config.minTime!==void 0&&(c.config.minTime=c.parseDate(c.config.minTime,\"H:i\")),c.config.maxTime!==void 0&&(c.config.maxTime=c.parseDate(c.config.maxTime,\"H:i\")),c.minDateHasTime=!!c.config.minDate&&(c.config.minDate.getHours()>0||c.config.minDate.getMinutes()>0||c.config.minDate.getSeconds()>0),c.maxDateHasTime=!!c.config.maxDate&&(c.config.maxDate.getHours()>0||c.config.maxDate.getMinutes()>0||c.config.maxDate.getSeconds()>0)}function es(){if(c.input=ea(),!c.input){c.config.errorHandler(new Error(\"Invalid input element specified\"));return}c.input._type=c.input.type,c.input.type=\"text\",c.input.classList.add(\"flatpickr-input\"),c._input=c.input,c.config.altInput&&(c.altInput=MT(c.input.nodeName,c.config.altInputClass),c._input=c.altInput,c.altInput.placeholder=c.input.placeholder,c.altInput.disabled=c.input.disabled,c.altInput.required=c.input.required,c.altInput.tabIndex=c.input.tabIndex,c.altInput.type=\"text\",c.input.setAttribute(\"type\",\"hidden\"),!c.config.static&&c.input.parentNode&&c.input.parentNode.insertBefore(c.altInput,c.input.nextSibling)),c.config.allowInput||c._input.setAttribute(\"readonly\",\"readonly\"),c._positionElement=c.config.positionElement||c._input}function Ns(){const mr=c.config.enableTime?c.config.noCalendar?\"time\":\"datetime-local\":\"date\";c.mobileInput=MT(\"input\",c.input.className+\" flatpickr-mobile\"),c.mobileInput.tabIndex=1,c.mobileInput.type=mr,c.mobileInput.disabled=c.input.disabled,c.mobileInput.required=c.input.required,c.mobileInput.placeholder=c.input.placeholder,c.mobileFormatStr=mr===\"datetime-local\"?\"Y-m-d\\\\TH:i:S\":mr===\"date\"?\"Y-m-d\":\"H:i:S\",c.selectedDates.length>0&&(c.mobileInput.defaultValue=c.mobileInput.value=c.formatDate(c.selectedDates[0],c.mobileFormatStr)),c.config.minDate&&(c.mobileInput.min=c.formatDate(c.config.minDate,\"Y-m-d\")),c.config.maxDate&&(c.mobileInput.max=c.formatDate(c.config.maxDate,\"Y-m-d\")),c.input.getAttribute(\"step\")&&(c.mobileInput.step=String(c.input.getAttribute(\"step\"))),c.input.type=\"hidden\",c.altInput!==void 0&&(c.altInput.type=\"hidden\");try{c.input.parentNode&&c.input.parentNode.insertBefore(c.mobileInput,c.input.nextSibling)}catch{}a1(c.mobileInput,\"change\",Dn=>{c.setDate(TB(Dn).value,!1,c.mobileFormatStr),Tc(\"onChange\"),Tc(\"onClose\")})}function ju(mr){if(c.isOpen===!0)return c.close();c.open(mr)}function Tc(mr,Dn){if(c.config===void 0)return;const ki=c.config[mr];if(ki!==void 0&&ki.length>0)for(let us=0;ki[us]&&us<ki.length;us++)ki[us](c.selectedDates,c.input.value,c,Dn);mr===\"onChange\"&&(c.input.dispatchEvent(bu(\"change\")),c.input.dispatchEvent(bu(\"input\")))}function bu(mr){const Dn=document.createEvent(\"Event\");return Dn.initEvent(mr,!0,!0),Dn}function mc(mr){for(let Dn=0;Dn<c.selectedDates.length;Dn++)if(wB(c.selectedDates[Dn],mr)===0)return\"\"+Dn;return!1}function vc(mr){return c.config.mode!==\"range\"||c.selectedDates.length<2?!1:wB(mr,c.selectedDates[0])>=0&&wB(mr,c.selectedDates[1])<=0}function Lc(){c.config.noCalendar||c.isMobile||!c.monthNav||(c.yearElements.forEach((mr,Dn)=>{const ki=new Date(c.currentYear,c.currentMonth,1);ki.setMonth(c.currentMonth+Dn),c.config.showMonths>1||c.config.monthSelectorType===\"static\"?c.monthElements[Dn].textContent=k00(ki.getMonth(),c.config.shorthandCurrentMonth,c.l10n)+\" \":c.monthsDropdownContainer.value=ki.getMonth().toString(),mr.value=ki.getFullYear().toString()}),c._hidePrevMonthArrow=c.config.minDate!==void 0&&(c.currentYear===c.config.minDate.getFullYear()?c.currentMonth<=c.config.minDate.getMonth():c.currentYear<c.config.minDate.getFullYear()),c._hideNextMonthArrow=c.config.maxDate!==void 0&&(c.currentYear===c.config.maxDate.getFullYear()?c.currentMonth+1>c.config.maxDate.getMonth():c.currentYear>c.config.maxDate.getFullYear()))}function i2(mr){return c.selectedDates.map(Dn=>c.formatDate(Dn,mr)).filter((Dn,ki,us)=>c.config.mode!==\"range\"||c.config.enableTime||us.indexOf(Dn)===ki).join(c.config.mode!==\"range\"?c.config.conjunction:c.l10n.rangeSeparator)}function su(mr=!0){c.mobileInput!==void 0&&c.mobileFormatStr&&(c.mobileInput.value=c.latestSelectedDateObj!==void 0?c.formatDate(c.latestSelectedDateObj,c.mobileFormatStr):\"\"),c.input.value=i2(c.config.dateFormat),c.altInput!==void 0&&(c.altInput.value=i2(c.config.altFormat)),mr!==!1&&Tc(\"onValueUpdate\")}function T2(mr){const Dn=TB(mr),ki=c.prevMonthNav.contains(Dn),us=c.nextMonthNav.contains(Dn);ki||us?Bu(ki?-1:1):c.yearElements.indexOf(Dn)>=0?Dn.select():Dn.classList.contains(\"arrowUp\")?c.changeYear(c.currentYear+1):Dn.classList.contains(\"arrowDown\")&&c.changeYear(c.currentYear-1)}function Cu(mr){mr.preventDefault();const Dn=mr.type===\"keydown\",ki=TB(mr),us=ki;c.amPM!==void 0&&ki===c.amPM&&(c.amPM.textContent=c.l10n.amPM[VL(c.amPM.textContent===c.l10n.amPM[0])]);const ac=parseFloat(us.getAttribute(\"min\")),_s=parseFloat(us.getAttribute(\"max\")),cf=parseFloat(us.getAttribute(\"step\")),Df=parseInt(us.value,10),gp=mr.delta||(Dn?mr.which===38?1:-1:0);let _2=Df+cf*gp;if(typeof us.value!=\"undefined\"&&us.value.length===2){const c_=us===c.hourElement,pC=us===c.minuteElement;_2<ac?(_2=_s+_2+VL(!c_)+(VL(c_)&&VL(!c.amPM)),pC&&ux(void 0,-1,c.hourElement)):_2>_s&&(_2=us===c.hourElement?_2-_s-VL(!c.amPM):ac,pC&&ux(void 0,1,c.hourElement)),c.amPM&&c_&&(cf===1?_2+Df===23:Math.abs(_2-Df)>cf)&&(c.amPM.textContent=c.l10n.amPM[VL(c.amPM.textContent===c.l10n.amPM[0])]),us.value=EO(_2)}}return R(),c}function iq(a,u){const c=Array.prototype.slice.call(a).filter(R=>R instanceof HTMLElement),b=[];for(let R=0;R<c.length;R++){const K=c[R];try{if(K.getAttribute(\"data-fp-omit\")!==null)continue;K._flatpickr!==void 0&&(K._flatpickr.destroy(),K._flatpickr=void 0),K._flatpickr=l6x(K,u||{}),b.push(K._flatpickr)}catch(s0){console.error(s0)}}return b.length===1?b[0]:b}typeof HTMLElement!=\"undefined\"&&typeof HTMLCollection!=\"undefined\"&&typeof NodeList!=\"undefined\"&&(HTMLCollection.prototype.flatpickr=NodeList.prototype.flatpickr=function(a){return iq(this,a)},HTMLElement.prototype.flatpickr=function(a){return iq([this],a)});var O9=function(a,u){return typeof a==\"string\"?iq(window.document.querySelectorAll(a),u):a instanceof Node?iq([a],u):iq(a,u)};O9.defaultConfig={};O9.l10ns={en:Object.assign({},SH),default:Object.assign({},SH)};O9.localize=a=>{O9.l10ns.default=Object.assign(Object.assign({},O9.l10ns.default),a)};O9.setDefaults=a=>{O9.defaultConfig=Object.assign(Object.assign({},O9.defaultConfig),a)};O9.parseDate=va0({});O9.formatDate=Kv0({});O9.compareDates=wB;typeof jQuery!=\"undefined\"&&typeof jQuery.fn!=\"undefined\"&&(jQuery.fn.flatpickr=function(a){return iq(this,a)});Date.prototype.fp_incr=function(a){return new Date(this.getFullYear(),this.getMonth(),this.getDate()+(typeof a==\"string\"?parseInt(a,10):a))};typeof window!=\"undefined\"&&(window.flatpickr=O9);var f6x=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",default:O9}),p6x=BQ(f6x);(function(a,u){(function(c,b){a.exports=b(p6x,jy0)})(self,function(c,b){return(()=>{var R={69:F0=>{F0.exports=c},982:F0=>{F0.exports=b}},K={};function s0(F0){var J0=K[F0];if(J0!==void 0)return J0.exports;var e1=K[F0]={exports:{}};return R[F0](e1,e1.exports,s0),e1.exports}s0.n=F0=>{var J0=F0&&F0.__esModule?()=>F0.default:()=>F0;return s0.d(J0,{a:J0}),J0},s0.d=(F0,J0)=>{for(var e1 in J0)s0.o(J0,e1)&&!s0.o(F0,e1)&&Object.defineProperty(F0,e1,{enumerable:!0,get:J0[e1]})},s0.o=(F0,J0)=>Object.prototype.hasOwnProperty.call(F0,J0);var Y={};return(()=>{s0.d(Y,{default:()=>ux});var F0=s0(69),J0=s0.n(F0);const e1=[\"onChange\",\"onClose\",\"onDestroy\",\"onMonthChange\",\"onOpen\",\"onYearChange\"],t1=K1=>K1.replace(/([a-z])([A-Z])/g,\"$1-$2\").toLowerCase(),r1=K1=>K1 instanceof Array?K1:[K1],F1=K1=>K1&&K1.length?K1:null,a1=K1=>Object.assign({},K1);var D1=s0(982);const W0=e1.concat([\"onValueUpdate\",\"onDayCreate\",\"onParseConfig\",\"onReady\",\"onPreCalendarPosition\",\"onKeyDown\"]),i1=[\"locale\",\"showMonths\"],x1={name:\"flat-pickr\",render(){return(0,D1.h)(\"input\",{type:\"text\",\"data-input\":!0,disabled:this.disabled,onInput:this.onInput,ref:\"root\"})},emits:[\"blur\",\"update:modelValue\"].concat(W0.map(t1)),props:{modelValue:{default:null,required:!0,validator:K1=>K1===null||K1 instanceof Date||typeof K1==\"string\"||K1 instanceof String||K1 instanceof Array||typeof K1==\"number\"},config:{type:Object,default:()=>({wrap:!1,defaultDate:null})},events:{type:Array,default:()=>e1},disabled:{type:Boolean,default:!1}},data:()=>({fp:null}),mounted(){if(this.fp)return;let K1=a1(this.config);this.events.forEach(ee=>{let Gx=J0().defaultConfig[ee]||[];K1[ee]=r1(K1[ee]||[]).concat(Gx,(...ve)=>{this.$emit(t1(ee),...ve)})}),K1.onClose=r1(K1.onClose||[]).concat((...ee)=>{this.onClose(...ee)}),K1.defaultDate=this.modelValue||K1.defaultDate,this.fp=new(J0())(this.getElem(),K1),this.fpInput().addEventListener(\"blur\",this.onBlur),this.$watch(\"disabled\",this.watchDisabled,{immediate:!0})},methods:{getElem(){return this.config.wrap?this.$refs.root.parentNode:this.$refs.root},onInput(K1){const ee=K1.target;(0,D1.nextTick)().then(()=>{this.$emit(\"update:modelValue\",F1(ee.value))})},fpInput(){return this.fp.altInput||this.fp.input},onBlur(K1){this.$emit(\"blur\",F1(K1.target.value))},onClose(K1,ee){this.$emit(\"update:modelValue\",ee)},watchDisabled(K1){K1?this.fpInput().setAttribute(\"disabled\",K1):this.fpInput().removeAttribute(\"disabled\")}},watch:{config:{deep:!0,handler(K1){let ee=a1(K1);W0.forEach(Gx=>{delete ee[Gx]}),this.fp.set(ee),i1.forEach(Gx=>{ee[Gx]!==void 0&&this.fp.set(Gx,ee[Gx])})}},modelValue(K1){K1!==F1(this.$refs.root.value)&&this.fp&&this.fp.setDate(K1,!0)}},beforeUnmount(){this.fp&&(this.fpInput().removeEventListener(\"blur\",this.onBlur),this.fp.destroy(),this.fp=null)}};x1.install=(K1,ee)=>{let Gx=\"flat-pickr\";typeof ee==\"string\"&&(Gx=ee),K1.component(Gx,x1)};const ux=x1})(),Y=Y.default})()})})(Uv0);var Ekx=smx(Uv0.exports),$L=\"top\",fR=\"bottom\",pR=\"right\",KL=\"left\",Ca0=\"auto\",AH=[$L,fR,pR,KL],aq=\"start\",Ea0=\"end\",d6x=\"clippingParents\",zv0=\"viewport\",TH=\"popper\",m6x=\"reference\",Wv0=AH.reduce(function(a,u){return a.concat([u+\"-\"+aq,u+\"-\"+Ea0])},[]),qv0=[].concat(AH,[Ca0]).reduce(function(a,u){return a.concat([u,u+\"-\"+aq,u+\"-\"+Ea0])},[]),h6x=\"beforeRead\",g6x=\"read\",_6x=\"afterRead\",y6x=\"beforeMain\",D6x=\"main\",v6x=\"afterMain\",b6x=\"beforeWrite\",C6x=\"write\",E6x=\"afterWrite\",S6x=[h6x,g6x,_6x,y6x,D6x,v6x,b6x,C6x,E6x];function qj(a){return a?(a.nodeName||\"\").toLowerCase():null}function dR(a){if(a==null)return window;if(a.toString()!==\"[object Window]\"){var u=a.ownerDocument;return u&&u.defaultView||window}return a}function wH(a){var u=dR(a).Element;return a instanceof u||a instanceof Element}function kB(a){var u=dR(a).HTMLElement;return a instanceof u||a instanceof HTMLElement}function Jv0(a){if(typeof ShadowRoot==\"undefined\")return!1;var u=dR(a).ShadowRoot;return a instanceof u||a instanceof ShadowRoot}function F6x(a){var u=a.state;Object.keys(u.elements).forEach(function(c){var b=u.styles[c]||{},R=u.attributes[c]||{},K=u.elements[c];!kB(K)||!qj(K)||(Object.assign(K.style,b),Object.keys(R).forEach(function(s0){var Y=R[s0];Y===!1?K.removeAttribute(s0):K.setAttribute(s0,Y===!0?\"\":Y)}))})}function A6x(a){var u=a.state,c={popper:{position:u.options.strategy,left:\"0\",top:\"0\",margin:\"0\"},arrow:{position:\"absolute\"},reference:{}};return Object.assign(u.elements.popper.style,c.popper),u.styles=c,u.elements.arrow&&Object.assign(u.elements.arrow.style,c.arrow),function(){Object.keys(u.elements).forEach(function(b){var R=u.elements[b],K=u.attributes[b]||{},s0=Object.keys(u.styles.hasOwnProperty(b)?u.styles[b]:c[b]),Y=s0.reduce(function(F0,J0){return F0[J0]=\"\",F0},{});!kB(R)||!qj(R)||(Object.assign(R.style,Y),Object.keys(K).forEach(function(F0){R.removeAttribute(F0)}))})}}var T6x={name:\"applyStyles\",enabled:!0,phase:\"write\",fn:F6x,effect:A6x,requires:[\"computeStyles\"]};function Jj(a){return a.split(\"-\")[0]}var U$=Math.round;function oq(a,u){u===void 0&&(u=!1);var c=a.getBoundingClientRect(),b=1,R=1;return kB(a)&&u&&(b=c.width/a.offsetWidth||1,R=c.height/a.offsetHeight||1),{width:U$(c.width/b),height:U$(c.height/R),top:U$(c.top/R),right:U$(c.right/b),bottom:U$(c.bottom/R),left:U$(c.left/b),x:U$(c.left/b),y:U$(c.top/R)}}function Sa0(a){var u=oq(a),c=a.offsetWidth,b=a.offsetHeight;return Math.abs(u.width-c)<=1&&(c=u.width),Math.abs(u.height-b)<=1&&(b=u.height),{x:a.offsetLeft,y:a.offsetTop,width:c,height:b}}function Hv0(a,u){var c=u.getRootNode&&u.getRootNode();if(a.contains(u))return!0;if(c&&Jv0(c)){var b=u;do{if(b&&a.isSameNode(b))return!0;b=b.parentNode||b.host}while(b)}return!1}function yV(a){return dR(a).getComputedStyle(a)}function w6x(a){return[\"table\",\"td\",\"th\"].indexOf(qj(a))>=0}function V$(a){return((wH(a)?a.ownerDocument:a.document)||window.document).documentElement}function N00(a){return qj(a)===\"html\"?a:a.assignedSlot||a.parentNode||(Jv0(a)?a.host:null)||V$(a)}function Gv0(a){return!kB(a)||yV(a).position===\"fixed\"?null:a.offsetParent}function k6x(a){var u=navigator.userAgent.toLowerCase().indexOf(\"firefox\")!==-1,c=navigator.userAgent.indexOf(\"Trident\")!==-1;if(c&&kB(a)){var b=yV(a);if(b.position===\"fixed\")return null}for(var R=N00(a);kB(R)&&[\"html\",\"body\"].indexOf(qj(R))<0;){var K=yV(R);if(K.transform!==\"none\"||K.perspective!==\"none\"||K.contain===\"paint\"||[\"transform\",\"perspective\"].indexOf(K.willChange)!==-1||u&&K.willChange===\"filter\"||u&&K.filter&&K.filter!==\"none\")return R;R=R.parentNode}return null}function kH(a){for(var u=dR(a),c=Gv0(a);c&&w6x(c)&&yV(c).position===\"static\";)c=Gv0(c);return c&&(qj(c)===\"html\"||qj(c)===\"body\"&&yV(c).position===\"static\")?u:c||k6x(a)||u}function Fa0(a){return[\"top\",\"bottom\"].indexOf(a)>=0?\"x\":\"y\"}var $$=Math.max,NH=Math.min,P00=Math.round;function I00(a,u,c){return $$(a,NH(u,c))}function Xv0(){return{top:0,right:0,bottom:0,left:0}}function Yv0(a){return Object.assign({},Xv0(),a)}function Qv0(a,u){return u.reduce(function(c,b){return c[b]=a,c},{})}var N6x=function(u,c){return u=typeof u==\"function\"?u(Object.assign({},c.rects,{placement:c.placement})):u,Yv0(typeof u!=\"number\"?u:Qv0(u,AH))};function P6x(a){var u,c=a.state,b=a.name,R=a.options,K=c.elements.arrow,s0=c.modifiersData.popperOffsets,Y=Jj(c.placement),F0=Fa0(Y),J0=[KL,pR].indexOf(Y)>=0,e1=J0?\"height\":\"width\";if(!(!K||!s0)){var t1=N6x(R.padding,c),r1=Sa0(K),F1=F0===\"y\"?$L:KL,a1=F0===\"y\"?fR:pR,D1=c.rects.reference[e1]+c.rects.reference[F0]-s0[F0]-c.rects.popper[e1],W0=s0[F0]-c.rects.reference[F0],i1=kH(K),x1=i1?F0===\"y\"?i1.clientHeight||0:i1.clientWidth||0:0,ux=D1/2-W0/2,K1=t1[F1],ee=x1-r1[e1]-t1[a1],Gx=x1/2-r1[e1]/2+ux,ve=I00(K1,Gx,ee),qe=F0;c.modifiersData[b]=(u={},u[qe]=ve,u.centerOffset=ve-Gx,u)}}function I6x(a){var u=a.state,c=a.options,b=c.element,R=b===void 0?\"[data-popper-arrow]\":b;R!=null&&(typeof R==\"string\"&&(R=u.elements.popper.querySelector(R),!R)||!Hv0(u.elements.popper,R)||(u.elements.arrow=R))}var O6x={name:\"arrow\",enabled:!0,phase:\"main\",fn:P6x,effect:I6x,requires:[\"popperOffsets\"],requiresIfExists:[\"preventOverflow\"]},B6x={top:\"auto\",right:\"auto\",bottom:\"auto\",left:\"auto\"};function L6x(a){var u=a.x,c=a.y,b=window,R=b.devicePixelRatio||1;return{x:P00(P00(u*R)/R)||0,y:P00(P00(c*R)/R)||0}}function Zv0(a){var u,c=a.popper,b=a.popperRect,R=a.placement,K=a.offsets,s0=a.position,Y=a.gpuAcceleration,F0=a.adaptive,J0=a.roundOffsets,e1=J0===!0?L6x(K):typeof J0==\"function\"?J0(K):K,t1=e1.x,r1=t1===void 0?0:t1,F1=e1.y,a1=F1===void 0?0:F1,D1=K.hasOwnProperty(\"x\"),W0=K.hasOwnProperty(\"y\"),i1=KL,x1=$L,ux=window;if(F0){var K1=kH(c),ee=\"clientHeight\",Gx=\"clientWidth\";K1===dR(c)&&(K1=V$(c),yV(K1).position!==\"static\"&&(ee=\"scrollHeight\",Gx=\"scrollWidth\")),K1=K1,R===$L&&(x1=fR,a1-=K1[ee]-b.height,a1*=Y?1:-1),R===KL&&(i1=pR,r1-=K1[Gx]-b.width,r1*=Y?1:-1)}var ve=Object.assign({position:s0},F0&&B6x);if(Y){var qe;return Object.assign({},ve,(qe={},qe[x1]=W0?\"0\":\"\",qe[i1]=D1?\"0\":\"\",qe.transform=(ux.devicePixelRatio||1)<2?\"translate(\"+r1+\"px, \"+a1+\"px)\":\"translate3d(\"+r1+\"px, \"+a1+\"px, 0)\",qe))}return Object.assign({},ve,(u={},u[x1]=W0?a1+\"px\":\"\",u[i1]=D1?r1+\"px\":\"\",u.transform=\"\",u))}function M6x(a){var u=a.state,c=a.options,b=c.gpuAcceleration,R=b===void 0?!0:b,K=c.adaptive,s0=K===void 0?!0:K,Y=c.roundOffsets,F0=Y===void 0?!0:Y,J0={placement:Jj(u.placement),popper:u.elements.popper,popperRect:u.rects.popper,gpuAcceleration:R};u.modifiersData.popperOffsets!=null&&(u.styles.popper=Object.assign({},u.styles.popper,Zv0(Object.assign({},J0,{offsets:u.modifiersData.popperOffsets,position:u.options.strategy,adaptive:s0,roundOffsets:F0})))),u.modifiersData.arrow!=null&&(u.styles.arrow=Object.assign({},u.styles.arrow,Zv0(Object.assign({},J0,{offsets:u.modifiersData.arrow,position:\"absolute\",adaptive:!1,roundOffsets:F0})))),u.attributes.popper=Object.assign({},u.attributes.popper,{\"data-popper-placement\":u.placement})}var R6x={name:\"computeStyles\",enabled:!0,phase:\"beforeWrite\",fn:M6x,data:{}},O00={passive:!0};function j6x(a){var u=a.state,c=a.instance,b=a.options,R=b.scroll,K=R===void 0?!0:R,s0=b.resize,Y=s0===void 0?!0:s0,F0=dR(u.elements.popper),J0=[].concat(u.scrollParents.reference,u.scrollParents.popper);return K&&J0.forEach(function(e1){e1.addEventListener(\"scroll\",c.update,O00)}),Y&&F0.addEventListener(\"resize\",c.update,O00),function(){K&&J0.forEach(function(e1){e1.removeEventListener(\"scroll\",c.update,O00)}),Y&&F0.removeEventListener(\"resize\",c.update,O00)}}var U6x={name:\"eventListeners\",enabled:!0,phase:\"write\",fn:function(){},effect:j6x,data:{}},V6x={left:\"right\",right:\"left\",bottom:\"top\",top:\"bottom\"};function B00(a){return a.replace(/left|right|bottom|top/g,function(u){return V6x[u]})}var $6x={start:\"end\",end:\"start\"};function xb0(a){return a.replace(/start|end/g,function(u){return $6x[u]})}function Aa0(a){var u=dR(a),c=u.pageXOffset,b=u.pageYOffset;return{scrollLeft:c,scrollTop:b}}function Ta0(a){return oq(V$(a)).left+Aa0(a).scrollLeft}function K6x(a){var u=dR(a),c=V$(a),b=u.visualViewport,R=c.clientWidth,K=c.clientHeight,s0=0,Y=0;return b&&(R=b.width,K=b.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(s0=b.offsetLeft,Y=b.offsetTop)),{width:R,height:K,x:s0+Ta0(a),y:Y}}function z6x(a){var u,c=V$(a),b=Aa0(a),R=(u=a.ownerDocument)==null?void 0:u.body,K=$$(c.scrollWidth,c.clientWidth,R?R.scrollWidth:0,R?R.clientWidth:0),s0=$$(c.scrollHeight,c.clientHeight,R?R.scrollHeight:0,R?R.clientHeight:0),Y=-b.scrollLeft+Ta0(a),F0=-b.scrollTop;return yV(R||c).direction===\"rtl\"&&(Y+=$$(c.clientWidth,R?R.clientWidth:0)-K),{width:K,height:s0,x:Y,y:F0}}function wa0(a){var u=yV(a),c=u.overflow,b=u.overflowX,R=u.overflowY;return/auto|scroll|overlay|hidden/.test(c+R+b)}function eb0(a){return[\"html\",\"body\",\"#document\"].indexOf(qj(a))>=0?a.ownerDocument.body:kB(a)&&wa0(a)?a:eb0(N00(a))}function PH(a,u){var c;u===void 0&&(u=[]);var b=eb0(a),R=b===((c=a.ownerDocument)==null?void 0:c.body),K=dR(b),s0=R?[K].concat(K.visualViewport||[],wa0(b)?b:[]):b,Y=u.concat(s0);return R?Y:Y.concat(PH(N00(s0)))}function ka0(a){return Object.assign({},a,{left:a.x,top:a.y,right:a.x+a.width,bottom:a.y+a.height})}function W6x(a){var u=oq(a);return u.top=u.top+a.clientTop,u.left=u.left+a.clientLeft,u.bottom=u.top+a.clientHeight,u.right=u.left+a.clientWidth,u.width=a.clientWidth,u.height=a.clientHeight,u.x=u.left,u.y=u.top,u}function tb0(a,u){return u===zv0?ka0(K6x(a)):kB(u)?W6x(u):ka0(z6x(V$(a)))}function q6x(a){var u=PH(N00(a)),c=[\"absolute\",\"fixed\"].indexOf(yV(a).position)>=0,b=c&&kB(a)?kH(a):a;return wH(b)?u.filter(function(R){return wH(R)&&Hv0(R,b)&&qj(R)!==\"body\"}):[]}function J6x(a,u,c){var b=u===\"clippingParents\"?q6x(a):[].concat(u),R=[].concat(b,[c]),K=R[0],s0=R.reduce(function(Y,F0){var J0=tb0(a,F0);return Y.top=$$(J0.top,Y.top),Y.right=NH(J0.right,Y.right),Y.bottom=NH(J0.bottom,Y.bottom),Y.left=$$(J0.left,Y.left),Y},tb0(a,K));return s0.width=s0.right-s0.left,s0.height=s0.bottom-s0.top,s0.x=s0.left,s0.y=s0.top,s0}function IH(a){return a.split(\"-\")[1]}function rb0(a){var u=a.reference,c=a.element,b=a.placement,R=b?Jj(b):null,K=b?IH(b):null,s0=u.x+u.width/2-c.width/2,Y=u.y+u.height/2-c.height/2,F0;switch(R){case $L:F0={x:s0,y:u.y-c.height};break;case fR:F0={x:s0,y:u.y+u.height};break;case pR:F0={x:u.x+u.width,y:Y};break;case KL:F0={x:u.x-c.width,y:Y};break;default:F0={x:u.x,y:u.y}}var J0=R?Fa0(R):null;if(J0!=null){var e1=J0===\"y\"?\"height\":\"width\";switch(K){case aq:F0[J0]=F0[J0]-(u[e1]/2-c[e1]/2);break;case Ea0:F0[J0]=F0[J0]+(u[e1]/2-c[e1]/2);break}}return F0}function OH(a,u){u===void 0&&(u={});var c=u,b=c.placement,R=b===void 0?a.placement:b,K=c.boundary,s0=K===void 0?d6x:K,Y=c.rootBoundary,F0=Y===void 0?zv0:Y,J0=c.elementContext,e1=J0===void 0?TH:J0,t1=c.altBoundary,r1=t1===void 0?!1:t1,F1=c.padding,a1=F1===void 0?0:F1,D1=Yv0(typeof a1!=\"number\"?a1:Qv0(a1,AH)),W0=e1===TH?m6x:TH,i1=a.elements.reference,x1=a.rects.popper,ux=a.elements[r1?W0:e1],K1=J6x(wH(ux)?ux:ux.contextElement||V$(a.elements.popper),s0,F0),ee=oq(i1),Gx=rb0({reference:ee,element:x1,strategy:\"absolute\",placement:R}),ve=ka0(Object.assign({},x1,Gx)),qe=e1===TH?ve:ee,Jt={top:K1.top-qe.top+D1.top,bottom:qe.bottom-K1.bottom+D1.bottom,left:K1.left-qe.left+D1.left,right:qe.right-K1.right+D1.right},Ct=a.modifiersData.offset;if(e1===TH&&Ct){var vn=Ct[R];Object.keys(Jt).forEach(function(_n){var Tr=[pR,fR].indexOf(_n)>=0?1:-1,Lr=[$L,fR].indexOf(_n)>=0?\"y\":\"x\";Jt[_n]+=vn[Lr]*Tr})}return Jt}function H6x(a,u){u===void 0&&(u={});var c=u,b=c.placement,R=c.boundary,K=c.rootBoundary,s0=c.padding,Y=c.flipVariations,F0=c.allowedAutoPlacements,J0=F0===void 0?qv0:F0,e1=IH(b),t1=e1?Y?Wv0:Wv0.filter(function(a1){return IH(a1)===e1}):AH,r1=t1.filter(function(a1){return J0.indexOf(a1)>=0});r1.length===0&&(r1=t1);var F1=r1.reduce(function(a1,D1){return a1[D1]=OH(a,{placement:D1,boundary:R,rootBoundary:K,padding:s0})[Jj(D1)],a1},{});return Object.keys(F1).sort(function(a1,D1){return F1[a1]-F1[D1]})}function G6x(a){if(Jj(a)===Ca0)return[];var u=B00(a);return[xb0(a),u,xb0(u)]}function X6x(a){var u=a.state,c=a.options,b=a.name;if(!u.modifiersData[b]._skip){for(var R=c.mainAxis,K=R===void 0?!0:R,s0=c.altAxis,Y=s0===void 0?!0:s0,F0=c.fallbackPlacements,J0=c.padding,e1=c.boundary,t1=c.rootBoundary,r1=c.altBoundary,F1=c.flipVariations,a1=F1===void 0?!0:F1,D1=c.allowedAutoPlacements,W0=u.options.placement,i1=Jj(W0),x1=i1===W0,ux=F0||(x1||!a1?[B00(W0)]:G6x(W0)),K1=[W0].concat(ux).reduce(function(pu,mi){return pu.concat(Jj(mi)===Ca0?H6x(u,{placement:mi,boundary:e1,rootBoundary:t1,padding:J0,flipVariations:a1,allowedAutoPlacements:D1}):mi)},[]),ee=u.rects.reference,Gx=u.rects.popper,ve=new Map,qe=!0,Jt=K1[0],Ct=0;Ct<K1.length;Ct++){var vn=K1[Ct],_n=Jj(vn),Tr=IH(vn)===aq,Lr=[$L,fR].indexOf(_n)>=0,Pn=Lr?\"width\":\"height\",En=OH(u,{placement:vn,boundary:e1,rootBoundary:t1,altBoundary:r1,padding:J0}),cr=Lr?Tr?pR:KL:Tr?fR:$L;ee[Pn]>Gx[Pn]&&(cr=B00(cr));var Ea=B00(cr),Qn=[];if(K&&Qn.push(En[_n]<=0),Y&&Qn.push(En[cr]<=0,En[Ea]<=0),Qn.every(function(pu){return pu})){Jt=vn,qe=!1;break}ve.set(vn,Qn)}if(qe)for(var Bu=a1?3:1,Au=function(mi){var ma=K1.find(function(ja){var Ua=ve.get(ja);if(Ua)return Ua.slice(0,mi).every(function(aa){return aa})});if(ma)return Jt=ma,\"break\"},Ec=Bu;Ec>0;Ec--){var kn=Au(Ec);if(kn===\"break\")break}u.placement!==Jt&&(u.modifiersData[b]._skip=!0,u.placement=Jt,u.reset=!0)}}var Y6x={name:\"flip\",enabled:!0,phase:\"main\",fn:X6x,requiresIfExists:[\"offset\"],data:{_skip:!1}};function nb0(a,u,c){return c===void 0&&(c={x:0,y:0}),{top:a.top-u.height-c.y,right:a.right-u.width+c.x,bottom:a.bottom-u.height+c.y,left:a.left-u.width-c.x}}function ib0(a){return[$L,pR,fR,KL].some(function(u){return a[u]>=0})}function Q6x(a){var u=a.state,c=a.name,b=u.rects.reference,R=u.rects.popper,K=u.modifiersData.preventOverflow,s0=OH(u,{elementContext:\"reference\"}),Y=OH(u,{altBoundary:!0}),F0=nb0(s0,b),J0=nb0(Y,R,K),e1=ib0(F0),t1=ib0(J0);u.modifiersData[c]={referenceClippingOffsets:F0,popperEscapeOffsets:J0,isReferenceHidden:e1,hasPopperEscaped:t1},u.attributes.popper=Object.assign({},u.attributes.popper,{\"data-popper-reference-hidden\":e1,\"data-popper-escaped\":t1})}var Z6x={name:\"hide\",enabled:!0,phase:\"main\",requiresIfExists:[\"preventOverflow\"],fn:Q6x};function xSx(a,u,c){var b=Jj(a),R=[KL,$L].indexOf(b)>=0?-1:1,K=typeof c==\"function\"?c(Object.assign({},u,{placement:a})):c,s0=K[0],Y=K[1];return s0=s0||0,Y=(Y||0)*R,[KL,pR].indexOf(b)>=0?{x:Y,y:s0}:{x:s0,y:Y}}function eSx(a){var u=a.state,c=a.options,b=a.name,R=c.offset,K=R===void 0?[0,0]:R,s0=qv0.reduce(function(e1,t1){return e1[t1]=xSx(t1,u.rects,K),e1},{}),Y=s0[u.placement],F0=Y.x,J0=Y.y;u.modifiersData.popperOffsets!=null&&(u.modifiersData.popperOffsets.x+=F0,u.modifiersData.popperOffsets.y+=J0),u.modifiersData[b]=s0}var tSx={name:\"offset\",enabled:!0,phase:\"main\",requires:[\"popperOffsets\"],fn:eSx};function rSx(a){var u=a.state,c=a.name;u.modifiersData[c]=rb0({reference:u.rects.reference,element:u.rects.popper,strategy:\"absolute\",placement:u.placement})}var nSx={name:\"popperOffsets\",enabled:!0,phase:\"read\",fn:rSx,data:{}};function iSx(a){return a===\"x\"?\"y\":\"x\"}function aSx(a){var u=a.state,c=a.options,b=a.name,R=c.mainAxis,K=R===void 0?!0:R,s0=c.altAxis,Y=s0===void 0?!1:s0,F0=c.boundary,J0=c.rootBoundary,e1=c.altBoundary,t1=c.padding,r1=c.tether,F1=r1===void 0?!0:r1,a1=c.tetherOffset,D1=a1===void 0?0:a1,W0=OH(u,{boundary:F0,rootBoundary:J0,padding:t1,altBoundary:e1}),i1=Jj(u.placement),x1=IH(u.placement),ux=!x1,K1=Fa0(i1),ee=iSx(K1),Gx=u.modifiersData.popperOffsets,ve=u.rects.reference,qe=u.rects.popper,Jt=typeof D1==\"function\"?D1(Object.assign({},u.rects,{placement:u.placement})):D1,Ct={x:0,y:0};if(!!Gx){if(K||Y){var vn=K1===\"y\"?$L:KL,_n=K1===\"y\"?fR:pR,Tr=K1===\"y\"?\"height\":\"width\",Lr=Gx[K1],Pn=Gx[K1]+W0[vn],En=Gx[K1]-W0[_n],cr=F1?-qe[Tr]/2:0,Ea=x1===aq?ve[Tr]:qe[Tr],Qn=x1===aq?-qe[Tr]:-ve[Tr],Bu=u.elements.arrow,Au=F1&&Bu?Sa0(Bu):{width:0,height:0},Ec=u.modifiersData[\"arrow#persistent\"]?u.modifiersData[\"arrow#persistent\"].padding:Xv0(),kn=Ec[vn],pu=Ec[_n],mi=I00(0,ve[Tr],Au[Tr]),ma=ux?ve[Tr]/2-cr-mi-kn-Jt:Ea-mi-kn-Jt,ja=ux?-ve[Tr]/2+cr+mi+pu+Jt:Qn+mi+pu+Jt,Ua=u.elements.arrow&&kH(u.elements.arrow),aa=Ua?K1===\"y\"?Ua.clientTop||0:Ua.clientLeft||0:0,Os=u.modifiersData.offset?u.modifiersData.offset[u.placement][K1]:0,gn=Gx[K1]+ma-Os-aa,et=Gx[K1]+ja-Os;if(K){var Sr=I00(F1?NH(Pn,gn):Pn,Lr,F1?$$(En,et):En);Gx[K1]=Sr,Ct[K1]=Sr-Lr}if(Y){var un=K1===\"x\"?$L:KL,jn=K1===\"x\"?fR:pR,ea=Gx[ee],wa=ea+W0[un],as=ea-W0[jn],zo=I00(F1?NH(wa,gn):wa,ea,F1?$$(as,et):as);Gx[ee]=zo,Ct[ee]=zo-ea}}u.modifiersData[b]=Ct}}var oSx={name:\"preventOverflow\",enabled:!0,phase:\"main\",fn:aSx,requiresIfExists:[\"offset\"]};function sSx(a){return{scrollLeft:a.scrollLeft,scrollTop:a.scrollTop}}function uSx(a){return a===dR(a)||!kB(a)?Aa0(a):sSx(a)}function cSx(a){var u=a.getBoundingClientRect(),c=u.width/a.offsetWidth||1,b=u.height/a.offsetHeight||1;return c!==1||b!==1}function lSx(a,u,c){c===void 0&&(c=!1);var b=kB(u),R=kB(u)&&cSx(u),K=V$(u),s0=oq(a,R),Y={scrollLeft:0,scrollTop:0},F0={x:0,y:0};return(b||!b&&!c)&&((qj(u)!==\"body\"||wa0(K))&&(Y=uSx(u)),kB(u)?(F0=oq(u,!0),F0.x+=u.clientLeft,F0.y+=u.clientTop):K&&(F0.x=Ta0(K))),{x:s0.left+Y.scrollLeft-F0.x,y:s0.top+Y.scrollTop-F0.y,width:s0.width,height:s0.height}}function fSx(a){var u=new Map,c=new Set,b=[];a.forEach(function(K){u.set(K.name,K)});function R(K){c.add(K.name);var s0=[].concat(K.requires||[],K.requiresIfExists||[]);s0.forEach(function(Y){if(!c.has(Y)){var F0=u.get(Y);F0&&R(F0)}}),b.push(K)}return a.forEach(function(K){c.has(K.name)||R(K)}),b}function pSx(a){var u=fSx(a);return S6x.reduce(function(c,b){return c.concat(u.filter(function(R){return R.phase===b}))},[])}function dSx(a){var u;return function(){return u||(u=new Promise(function(c){Promise.resolve().then(function(){u=void 0,c(a())})})),u}}function mSx(a){var u=a.reduce(function(c,b){var R=c[b.name];return c[b.name]=R?Object.assign({},R,b,{options:Object.assign({},R.options,b.options),data:Object.assign({},R.data,b.data)}):b,c},{});return Object.keys(u).map(function(c){return u[c]})}var ab0={placement:\"bottom\",modifiers:[],strategy:\"absolute\"};function ob0(){for(var a=arguments.length,u=new Array(a),c=0;c<a;c++)u[c]=arguments[c];return!u.some(function(b){return!(b&&typeof b.getBoundingClientRect==\"function\")})}function hSx(a){a===void 0&&(a={});var u=a,c=u.defaultModifiers,b=c===void 0?[]:c,R=u.defaultOptions,K=R===void 0?ab0:R;return function(Y,F0,J0){J0===void 0&&(J0=K);var e1={placement:\"bottom\",orderedModifiers:[],options:Object.assign({},ab0,K),modifiersData:{},elements:{reference:Y,popper:F0},attributes:{},styles:{}},t1=[],r1=!1,F1={state:e1,setOptions:function(i1){D1(),e1.options=Object.assign({},K,e1.options,i1),e1.scrollParents={reference:wH(Y)?PH(Y):Y.contextElement?PH(Y.contextElement):[],popper:PH(F0)};var x1=pSx(mSx([].concat(b,e1.options.modifiers)));return e1.orderedModifiers=x1.filter(function(ux){return ux.enabled}),a1(),F1.update()},forceUpdate:function(){if(!r1){var i1=e1.elements,x1=i1.reference,ux=i1.popper;if(!!ob0(x1,ux)){e1.rects={reference:lSx(x1,kH(ux),e1.options.strategy===\"fixed\"),popper:Sa0(ux)},e1.reset=!1,e1.placement=e1.options.placement,e1.orderedModifiers.forEach(function(Ct){return e1.modifiersData[Ct.name]=Object.assign({},Ct.data)});for(var K1=0;K1<e1.orderedModifiers.length;K1++){if(e1.reset===!0){e1.reset=!1,K1=-1;continue}var ee=e1.orderedModifiers[K1],Gx=ee.fn,ve=ee.options,qe=ve===void 0?{}:ve,Jt=ee.name;typeof Gx==\"function\"&&(e1=Gx({state:e1,options:qe,name:Jt,instance:F1})||e1)}}}},update:dSx(function(){return new Promise(function(W0){F1.forceUpdate(),W0(e1)})}),destroy:function(){D1(),r1=!0}};if(!ob0(Y,F0))return F1;F1.setOptions(J0).then(function(W0){!r1&&J0.onFirstUpdate&&J0.onFirstUpdate(W0)});function a1(){e1.orderedModifiers.forEach(function(W0){var i1=W0.name,x1=W0.options,ux=x1===void 0?{}:x1,K1=W0.effect;if(typeof K1==\"function\"){var ee=K1({state:e1,name:i1,instance:F1,options:ux}),Gx=function(){};t1.push(ee||Gx)}})}function D1(){t1.forEach(function(W0){return W0()}),t1=[]}return F1}}var gSx=[U6x,nSx,R6x,T6x,tSx,Y6x,oSx,O6x,Z6x],Skx=hSx({defaultModifiers:gSx});function Fkx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",viewBox:\"0 0 20 20\",fill:\"currentColor\"},[pi(\"path\",{\"fill-rule\":\"evenodd\",d:\"M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z\",\"clip-rule\":\"evenodd\"})])}function _Sx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{d:\"M12 14l9-5-9-5-9 5 9 5z\"}),pi(\"path\",{d:\"M12 14l6.16-3.422a12.083 12.083 0 01.665 6.479A11.952 11.952 0 0012 20.055a11.952 11.952 0 00-6.824-2.998 12.078 12.078 0 01.665-6.479L12 14z\"}),pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M12 14l9-5-9-5-9 5 9 5zm0 0l6.16-3.422a12.083 12.083 0 01.665 6.479A11.952 11.952 0 0012 20.055a11.952 11.952 0 00-6.824-2.998 12.078 12.078 0 01.665-6.479L12 14zm-4 6v-7.5l4-2.222\"})])}function ySx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M12 6V4m0 2a2 2 0 100 4m0-4a2 2 0 110 4m-6 8a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4m6 6v10m6-2a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4\"})])}function DSx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M7 8h10M7 12h4m1 8l-4-4H5a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v8a2 2 0 01-2 2h-3l-4 4z\"})])}function vSx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M5 8h14M5 8a2 2 0 110-4h14a2 2 0 110 4M5 8v10a2 2 0 002 2h10a2 2 0 002-2V8m-9 4h4\"})])}function bSx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M15 13l-3 3m0 0l-3-3m3 3V8m0 13a9 9 0 110-18 9 9 0 010 18z\"})])}function CSx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M11 15l-3-3m0 0l3-3m-3 3h8M3 12a9 9 0 1118 0 9 9 0 01-18 0z\"})])}function ESx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M13 9l3 3m0 0l-3 3m3-3H8m13 0a9 9 0 11-18 0 9 9 0 0118 0z\"})])}function SSx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M9 11l3-3m0 0l3 3m-3-3v8m0-13a9 9 0 110 18 9 9 0 010-18z\"})])}function FSx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M19 14l-7 7m0 0l-7-7m7 7V3\"})])}function ASx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M10 19l-7-7m0 0l7-7m-7 7h18\"})])}function TSx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M16 17l-4 4m0 0l-4-4m4 4V3\"})])}function wSx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M7 16l-4-4m0 0l4-4m-4 4h18\"})])}function kSx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M17 8l4 4m0 0l-4 4m4-4H3\"})])}function NSx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M8 7l4-4m0 0l4 4m-4-4v18\"})])}function PSx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M14 5l7 7m0 0l-7 7m7-7H3\"})])}function ISx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M17 13l-5 5m0 0l-5-5m5 5V6\"})])}function OSx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M11 17l-5-5m0 0l5-5m-5 5h12\"})])}function BSx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M13 7l5 5m0 0l-5 5m5-5H6\"})])}function LSx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M7 11l5-5m0 0l5 5m-5-5v12\"})])}function MSx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M5 10l7-7m0 0l7 7m-7-7v18\"})])}function RSx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M4 8V4m0 0h4M4 4l5 5m11-1V4m0 0h-4m4 0l-5 5M4 16v4m0 0h4m-4 0l5-5m11 5l-5-5m5 5v-4m0 4h-4\"})])}function jSx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M16 12a4 4 0 10-8 0 4 4 0 008 0zm0 0v1.5a2.5 2.5 0 005 0V12a9 9 0 10-9 9m4.5-1.206a8.959 8.959 0 01-4.5 1.207\"})])}function USx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M12 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2M3 12l6.414 6.414a2 2 0 001.414.586H19a2 2 0 002-2V7a2 2 0 00-2-2h-8.172a2 2 0 00-1.414.586L3 12z\"})])}function VSx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M9 12l2 2 4-4M7.835 4.697a3.42 3.42 0 001.946-.806 3.42 3.42 0 014.438 0 3.42 3.42 0 001.946.806 3.42 3.42 0 013.138 3.138 3.42 3.42 0 00.806 1.946 3.42 3.42 0 010 4.438 3.42 3.42 0 00-.806 1.946 3.42 3.42 0 01-3.138 3.138 3.42 3.42 0 00-1.946.806 3.42 3.42 0 01-4.438 0 3.42 3.42 0 00-1.946-.806 3.42 3.42 0 01-3.138-3.138 3.42 3.42 0 00-.806-1.946 3.42 3.42 0 010-4.438 3.42 3.42 0 00.806-1.946 3.42 3.42 0 013.138-3.138z\"})])}function $Sx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M18.364 18.364A9 9 0 005.636 5.636m12.728 12.728A9 9 0 015.636 5.636m12.728 12.728L5.636 5.636\"})])}function KSx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M19.428 15.428a2 2 0 00-1.022-.547l-2.387-.477a6 6 0 00-3.86.517l-.318.158a6 6 0 01-3.86.517L6.05 15.21a2 2 0 00-1.806.547M8 4h8l-1 1v5.172a2 2 0 00.586 1.414l5 5c1.26 1.26.367 3.414-1.415 3.414H4.828c-1.782 0-2.674-2.154-1.414-3.414l5-5A2 2 0 009 10.172V5L8 4z\"})])}function zSx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9\"})])}function WSx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M12 6.253v13m0-13C10.832 5.477 9.246 5 7.5 5S4.168 5.477 3 6.253v13C4.168 18.477 5.754 18 7.5 18s3.332.477 4.5 1.253m0-13C13.168 5.477 14.754 5 16.5 5c1.747 0 3.332.477 4.5 1.253v13C19.832 18.477 18.247 18 16.5 18c-1.746 0-3.332.477-4.5 1.253\"})])}function qSx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M16 4v12l-4-2-4 2V4M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z\"})])}function JSx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M5 5a2 2 0 012-2h10a2 2 0 012 2v16l-7-3.5L5 21V5z\"})])}function HSx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M21 13.255A23.931 23.931 0 0112 15c-3.183 0-6.22-.62-9-1.745M16 6V4a2 2 0 00-2-2h-4a2 2 0 00-2 2v2m4 6h.01M5 20h14a2 2 0 002-2V8a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z\"})])}function GSx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M21 15.546c-.523 0-1.046.151-1.5.454a2.704 2.704 0 01-3 0 2.704 2.704 0 00-3 0 2.704 2.704 0 01-3 0 2.704 2.704 0 00-3 0 2.704 2.704 0 01-3 0 2.701 2.701 0 00-1.5-.454M9 6v2m3-2v2m3-2v2M9 3h.01M12 3h.01M15 3h.01M21 21v-7a2 2 0 00-2-2H5a2 2 0 00-2 2v7h18zm-3-9v-2a2 2 0 00-2-2H8a2 2 0 00-2 2v2h12z\"})])}function XSx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M9 7h6m0 10v-3m-3 3h.01M9 17h.01M9 14h.01M12 14h.01M15 11h.01M12 11h.01M9 11h.01M7 21h10a2 2 0 002-2V5a2 2 0 00-2-2H7a2 2 0 00-2 2v14a2 2 0 002 2z\"})])}function YSx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z\"})])}function QSx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M3 9a2 2 0 012-2h.93a2 2 0 001.664-.89l.812-1.22A2 2 0 0110.07 4h3.86a2 2 0 011.664.89l.812 1.22A2 2 0 0018.07 7H19a2 2 0 012 2v9a2 2 0 01-2 2H5a2 2 0 01-2-2V9z\"}),pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M15 13a3 3 0 11-6 0 3 3 0 016 0z\"})])}function ZSx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M17 9V7a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2m2 4h10a2 2 0 002-2v-6a2 2 0 00-2-2H9a2 2 0 00-2 2v6a2 2 0 002 2zm7-5a2 2 0 11-4 0 2 2 0 014 0z\"})])}function xFx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z\"})])}function eFx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M11 3.055A9.001 9.001 0 1020.945 13H11V3.055z\"}),pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M20.488 9H15V3.512A9.025 9.025 0 0120.488 9z\"})])}function tFx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M16 8v8m-4-5v5m-4-2v2m-2 4h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z\"})])}function rFx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M17 8h2a2 2 0 012 2v6a2 2 0 01-2 2h-2v4l-4-4H9a1.994 1.994 0 01-1.414-.586m0 0L11 14h4a2 2 0 002-2V6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2v4l.586-.586z\"})])}function nFx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M8 10h.01M12 10h.01M16 10h.01M9 16H5a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v8a2 2 0 01-2 2h-5l-5 5v-5z\"})])}function iFx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z\"})])}function aFx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z\"})])}function oFx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M5 13l4 4L19 7\"})])}function sFx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M19 13l-7 7-7-7m14-8l-7 7-7-7\"})])}function uFx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M11 19l-7-7 7-7m8 14l-7-7 7-7\"})])}function cFx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M13 5l7 7-7 7M5 5l7 7-7 7\"})])}function lFx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M5 11l7-7 7 7M5 19l7-7 7 7\"})])}function fFx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M19 9l-7 7-7-7\"})])}function pFx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M15 19l-7-7 7-7\"})])}function dFx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M9 5l7 7-7 7\"})])}function mFx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M5 15l7-7 7 7\"})])}function hFx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M9 3v2m6-2v2M9 19v2m6-2v2M5 9H3m2 6H3m18-6h-2m2 6h-2M7 19h10a2 2 0 002-2V7a2 2 0 00-2-2H7a2 2 0 00-2 2v10a2 2 0 002 2zM9 9h6v6H9V9z\"})])}function gFx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"})])}function _Fx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M8 5H6a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2v-1M8 5a2 2 0 002 2h2a2 2 0 002-2M8 5a2 2 0 012-2h2a2 2 0 012 2m0 0h2a2 2 0 012 2v3m2 4H10m0 0l3-3m-3 3l3 3\"})])}function yFx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01\"})])}function DFx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"})])}function vFx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z\"})])}function bFx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M7 16a4 4 0 01-.88-7.903A5 5 0 1115.9 6L16 6a5 5 0 011 9.9M9 19l3 3m0 0l3-3m-3 3V10\"})])}function CFx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M7 16a4 4 0 01-.88-7.903A5 5 0 1115.9 6L16 6a5 5 0 011 9.9M15 13l-3-3m0 0l-3 3m3-3v12\"})])}function EFx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M3 15a4 4 0 004 4h9a5 5 0 10-.1-9.999 5.002 5.002 0 10-9.78 2.096A4.001 4.001 0 003 15z\"})])}function SFx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M10 20l4-16m4 4l4 4-4 4M6 16l-4-4 4-4\"})])}function FFx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z\"}),pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M15 12a3 3 0 11-6 0 3 3 0 016 0z\"})])}function AFx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10\"})])}function TFx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M7 21a4 4 0 01-4-4V5a2 2 0 012-2h4a2 2 0 012 2v12a4 4 0 01-4 4zm0 0h12a2 2 0 002-2v-4a2 2 0 00-2-2h-2.343M11 7.343l1.657-1.657a2 2 0 012.828 0l2.829 2.829a2 2 0 010 2.828l-8.486 8.485M7 17h.01\"})])}function wFx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M3 10h18M7 15h1m4 0h1m-7 4h12a3 3 0 003-3V8a3 3 0 00-3-3H6a3 3 0 00-3 3v8a3 3 0 003 3z\"})])}function kFx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M14 10l-2 1m0 0l-2-1m2 1v2.5M20 7l-2 1m2-1l-2-1m2 1v2.5M14 4l-2-1-2 1M4 7l2-1M4 7l2 1M4 7v2.5M12 21l-2-1m2 1l2-1m-2 1v-2.5M6 18l-2-1v-2.5M18 18l2-1v-2.5\"})])}function NFx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M20 7l-8-4-8 4m16 0l-8 4m8-4v10l-8 4m0-10L4 7m8 4v10M4 7v10l8 4\"})])}function PFx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M11 11V9a2 2 0 00-2-2m2 4v4a2 2 0 104 0v-1m-4-3H9m2 0h4m6 1a9 9 0 11-18 0 9 9 0 0118 0z\"})])}function IFx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M12 8c-1.657 0-3 .895-3 2s1.343 2 3 2 3 .895 3 2-1.343 2-3 2m0-8c1.11 0 2.08.402 2.599 1M12 8V7m0 1v8m0 0v1m0-1c-1.11 0-2.08-.402-2.599-1M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"})])}function OFx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M14.121 15.536c-1.171 1.952-3.07 1.952-4.242 0-1.172-1.953-1.172-5.119 0-7.072 1.171-1.952 3.07-1.952 4.242 0M8 10.5h4m-4 3h4m9-1.5a9 9 0 11-18 0 9 9 0 0118 0z\"})])}function BFx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M15 9a2 2 0 10-4 0v5a2 2 0 01-2 2h6m-6-4h4m8 0a9 9 0 11-18 0 9 9 0 0118 0z\"})])}function LFx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M9 8h6m-5 0a3 3 0 110 6H9l3 3m-3-6h6m6 1a9 9 0 11-18 0 9 9 0 0118 0z\"})])}function MFx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M9 8l3 5m0 0l3-5m-3 5v4m-3-5h6m-6 3h6m6-3a9 9 0 11-18 0 9 9 0 0118 0z\"})])}function RFx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M15 15l-2 5L9 9l11 4-5 2zm0 0l5 5M7.188 2.239l.777 2.897M5.136 7.965l-2.898-.777M13.95 4.05l-2.122 2.122m-5.657 5.656l-2.12 2.122\"})])}function jFx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M4 7v10c0 2.21 3.582 4 8 4s8-1.79 8-4V7M4 7c0 2.21 3.582 4 8 4s8-1.79 8-4M4 7c0-2.21 3.582-4 8-4s8 1.79 8 4m0 5c0 2.21-3.582 4-8 4s-8-1.79-8-4\"})])}function UFx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M9.75 17L9 20l-1 1h8l-1-1-.75-3M3 13h18M5 17h14a2 2 0 002-2V5a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z\"})])}function VFx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M12 18h.01M8 21h8a2 2 0 002-2V5a2 2 0 00-2-2H8a2 2 0 00-2 2v14a2 2 0 002 2z\"})])}function $Fx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M12 18h.01M7 21h10a2 2 0 002-2V5a2 2 0 00-2-2H7a2 2 0 00-2 2v14a2 2 0 002 2z\"})])}function KFx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M9 13h6m-3-3v6m5 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z\"})])}function zFx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M12 10v6m0 0l-3-3m3 3l3-3m2 8H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z\"})])}function WFx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M8 7v8a2 2 0 002 2h6M8 7V5a2 2 0 012-2h4.586a1 1 0 01.707.293l4.414 4.414a1 1 0 01.293.707V15a2 2 0 01-2 2h-2M8 7H6a2 2 0 00-2 2v10a2 2 0 002 2h8a2 2 0 002-2v-2\"})])}function qFx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M9 13h6m2 8H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z\"})])}function JFx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M9 17v-2m3 2v-4m3 4v-6m2 10H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z\"})])}function HFx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M10 21h7a2 2 0 002-2V9.414a1 1 0 00-.293-.707l-5.414-5.414A1 1 0 0012.586 3H7a2 2 0 00-2 2v11m0 5l4.879-4.879m0 0a3 3 0 104.243-4.242 3 3 0 00-4.243 4.242z\"})])}function GFx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z\"})])}function XFx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M7 21h10a2 2 0 002-2V9.414a1 1 0 00-.293-.707l-5.414-5.414A1 1 0 0012.586 3H7a2 2 0 00-2 2v14a2 2 0 002 2z\"})])}function YFx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M8 12h.01M12 12h.01M16 12h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"})])}function QFx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M5 12h.01M12 12h.01M19 12h.01M6 12a1 1 0 11-2 0 1 1 0 012 0zm7 0a1 1 0 11-2 0 1 1 0 012 0zm7 0a1 1 0 11-2 0 1 1 0 012 0z\"})])}function ZFx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M12 5v.01M12 12v.01M12 19v.01M12 6a1 1 0 110-2 1 1 0 010 2zm0 7a1 1 0 110-2 1 1 0 010 2zm0 7a1 1 0 110-2 1 1 0 010 2z\"})])}function x4x(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4\"})])}function e4x(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\"})])}function t4x(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M14.828 14.828a4 4 0 01-5.656 0M9 10h.01M15 10h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"})])}function r4x(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M9.172 16.172a4 4 0 015.656 0M9 10h.01M15 10h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"})])}function n4x(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"})])}function i4x(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z\"})])}function a4x(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14\"})])}function o4x(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M13.875 18.825A10.05 10.05 0 0112 19c-4.478 0-8.268-2.943-9.543-7a9.97 9.97 0 011.563-3.029m5.858.908a3 3 0 114.243 4.243M9.878 9.878l4.242 4.242M9.88 9.88l-3.29-3.29m7.532 7.532l3.29 3.29M3 3l3.59 3.59m0 0A9.953 9.953 0 0112 5c4.478 0 8.268 2.943 9.543 7a10.025 10.025 0 01-4.132 5.411m0 0L21 21\"})])}function s4x(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M15 12a3 3 0 11-6 0 3 3 0 016 0z\"}),pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z\"})])}function u4x(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M11.933 12.8a1 1 0 000-1.6L6.6 7.2A1 1 0 005 8v8a1 1 0 001.6.8l5.333-4zM19.933 12.8a1 1 0 000-1.6l-5.333-4A1 1 0 0013 8v8a1 1 0 001.6.8l5.333-4z\"})])}function c4x(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M7 4v16M17 4v16M3 8h4m10 0h4M3 12h18M3 16h4m10 0h4M4 20h16a1 1 0 001-1V5a1 1 0 00-1-1H4a1 1 0 00-1 1v14a1 1 0 001 1z\"})])}function l4x(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M3 4a1 1 0 011-1h16a1 1 0 011 1v2.586a1 1 0 01-.293.707l-6.414 6.414a1 1 0 00-.293.707V17l-4 4v-6.586a1 1 0 00-.293-.707L3.293 7.293A1 1 0 013 6.586V4z\"})])}function f4x(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M12 11c0 3.517-1.009 6.799-2.753 9.571m-3.44-2.04l.054-.09A13.916 13.916 0 008 11a4 4 0 118 0c0 1.017-.07 2.019-.203 3m-2.118 6.844A21.88 21.88 0 0015.171 17m3.839 1.132c.645-2.266.99-4.659.99-7.132A8 8 0 008 4.07M3 15.364c.64-1.319 1-2.8 1-4.364 0-1.457.39-2.823 1.07-4\"})])}function p4x(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M17.657 18.657A8 8 0 016.343 7.343S7 9 9 10c0-2 .5-5 2.986-7C14 5 16.09 5.777 17.656 7.343A7.975 7.975 0 0120 13a7.975 7.975 0 01-2.343 5.657z\"}),pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M9.879 16.121A3 3 0 1012.015 11L11 14H9c0 .768.293 1.536.879 2.121z\"})])}function d4x(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M3 21v-4m0 0V5a2 2 0 012-2h6.5l1 1H21l-3 6 3 6h-8.5l-1-1H5a2 2 0 00-2 2zm9-13.5V9\"})])}function m4x(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M9 13h6m-3-3v6m-9 1V7a2 2 0 012-2h6l2 2h6a2 2 0 012 2v8a2 2 0 01-2 2H5a2 2 0 01-2-2z\"})])}function h4x(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M12 10v6m0 0l-3-3m3 3l3-3M3 17V7a2 2 0 012-2h6l2 2h6a2 2 0 012 2v8a2 2 0 01-2 2H5a2 2 0 01-2-2z\"})])}function g4x(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M5 19a2 2 0 01-2-2V7a2 2 0 012-2h4l2 2h4a2 2 0 012 2v1M5 19h14a2 2 0 002-2v-5a2 2 0 00-2-2H9a2 2 0 00-2 2v5a2 2 0 01-2 2z\"})])}function _4x(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M9 13h6M3 17V7a2 2 0 012-2h6l2 2h6a2 2 0 012 2v8a2 2 0 01-2 2H5a2 2 0 01-2-2z\"})])}function y4x(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M3 7v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-6l-2-2H5a2 2 0 00-2 2z\"})])}function D4x(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M12 8v13m0-13V6a2 2 0 112 2h-2zm0 0V5.5A2.5 2.5 0 109.5 8H12zm-7 4h14M5 12a2 2 0 110-4h14a2 2 0 110 4M5 12v7a2 2 0 002 2h10a2 2 0 002-2v-7\"})])}function v4x(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9a9 9 0 01-9-9m9 9c1.657 0 3-4.03 3-9s-1.343-9-3-9m0 18c-1.657 0-3-4.03-3-9s1.343-9 3-9m-9 9a9 9 0 019-9\"})])}function b4x(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M3.055 11H5a2 2 0 012 2v1a2 2 0 002 2 2 2 0 012 2v2.945M8 3.935V5.5A2.5 2.5 0 0010.5 8h.5a2 2 0 012 2 2 2 0 104 0 2 2 0 012-2h1.064M15 20.488V18a2 2 0 012-2h3.064M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"})])}function C4x(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M7 11.5V14m0-2.5v-6a1.5 1.5 0 113 0m-3 6a1.5 1.5 0 00-3 0v2a7.5 7.5 0 0015 0v-5a1.5 1.5 0 00-3 0m-6-3V11m0-5.5v-1a1.5 1.5 0 013 0v1m0 0V11m0-5.5a1.5 1.5 0 013 0v3m0 0V11\"})])}function E4x(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M7 20l4-16m2 16l4-16M6 9h14M4 15h14\"})])}function S4x(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z\"})])}function F4x(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6\"})])}function A4x(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M10 6H5a2 2 0 00-2 2v9a2 2 0 002 2h14a2 2 0 002-2V8a2 2 0 00-2-2h-5m-4 0V5a2 2 0 114 0v1m-4 0a2 2 0 104 0m-5 8a2 2 0 100-4 2 2 0 000 4zm0 0c1.306 0 2.417.835 2.83 2M9 14a3.001 3.001 0 00-2.83 2M15 11h3m-3 4h2\"})])}function T4x(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M8 4H6a2 2 0 00-2 2v12a2 2 0 002 2h12a2 2 0 002-2V6a2 2 0 00-2-2h-2m-4-1v8m0 0l3-3m-3 3L9 8m-5 5h2.586a1 1 0 01.707.293l2.414 2.414a1 1 0 00.707.293h3.172a1 1 0 00.707-.293l2.414-2.414a1 1 0 01.707-.293H20\"})])}function w4x(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M20 13V6a2 2 0 00-2-2H6a2 2 0 00-2 2v7m16 0v5a2 2 0 01-2 2H6a2 2 0 01-2-2v-5m16 0h-2.586a1 1 0 00-.707.293l-2.414 2.414a1 1 0 01-.707.293h-3.172a1 1 0 01-.707-.293l-2.414-2.414A1 1 0 006.586 13H4\"})])}function k4x(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"})])}function N4x(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M15 7a2 2 0 012 2m4 0a6 6 0 01-7.743 5.743L11 17H9v2H7v2H4a1 1 0 01-1-1v-2.586a1 1 0 01.293-.707l5.964-5.964A6 6 0 1121 9z\"})])}function P4x(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M8 14v3m4-3v3m4-3v3M3 21h18M3 10h18M3 7l9-4 9 4M4 10h16v11H4V10z\"})])}function I4x(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M9.663 17h4.673M12 3v1m6.364 1.636l-.707.707M21 12h-1M4 12H3m3.343-5.657l-.707-.707m2.828 9.9a5 5 0 117.072 0l-.548.547A3.374 3.374 0 0014 18.469V19a2 2 0 11-4 0v-.531c0-.895-.356-1.754-.988-2.386l-.548-.547z\"})])}function O4x(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M13 10V3L4 14h7v7l9-11h-7z\"})])}function B4x(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M13.828 10.172a4 4 0 00-5.656 0l-4 4a4 4 0 105.656 5.656l1.102-1.101m-.758-4.899a4 4 0 005.656 0l4-4a4 4 0 00-5.656-5.656l-1.1 1.1\"})])}function L4x(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M17.657 16.657L13.414 20.9a1.998 1.998 0 01-2.827 0l-4.244-4.243a8 8 0 1111.314 0z\"}),pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M15 11a3 3 0 11-6 0 3 3 0 016 0z\"})])}function M4x(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M12 15v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2zm10-10V7a4 4 0 00-8 0v4h8z\"})])}function R4x(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M8 11V7a4 4 0 118 0m-4 8v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2z\"})])}function j4x(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M11 16l-4-4m0 0l4-4m-4 4h14m-5 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h7a3 3 0 013 3v1\"})])}function U4x(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1\"})])}function V4x(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M3 19v-8.93a2 2 0 01.89-1.664l7-4.666a2 2 0 012.22 0l7 4.666A2 2 0 0121 10.07V19M3 19a2 2 0 002 2h14a2 2 0 002-2M3 19l6.75-4.5M21 19l-6.75-4.5M3 10l6.75 4.5M21 10l-6.75 4.5m0 0l-1.14.76a2 2 0 01-2.22 0l-1.14-.76\"})])}function $4x(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z\"})])}function K4x(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M9 20l-5.447-2.724A1 1 0 013 16.382V5.618a1 1 0 011.447-.894L9 7m0 13l6-3m-6 3V7m6 10l4.553 2.276A1 1 0 0021 18.382V7.618a1 1 0 00-.553-.894L15 4m0 13V4m0 0L9 7\"})])}function z4x(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M4 6h16M4 12h8m-8 6h16\"})])}function W4x(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M4 6h16M4 12h16M4 18h7\"})])}function q4x(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M4 6h16M4 12h16m-7 6h7\"})])}function J4x(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M4 8h16M4 16h16\"})])}function H4x(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M4 6h16M4 12h16M4 18h16\"})])}function G4x(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M19 11a7 7 0 01-7 7m0 0a7 7 0 01-7-7m7 7v4m0 0H8m4 0h4m-4-8a3 3 0 01-3-3V5a3 3 0 116 0v6a3 3 0 01-3 3z\"})])}function X4x(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M15 12H9m12 0a9 9 0 11-18 0 9 9 0 0118 0z\"})])}function Y4x(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M18 12H6\"})])}function Q4x(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M20 12H4\"})])}function Z4x(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M20.354 15.354A9 9 0 018.646 3.646 9.003 9.003 0 0012 21a9.003 9.003 0 008.354-5.646z\"})])}function xAx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M9 19V6l12-3v13M9 19c0 1.105-1.343 2-3 2s-3-.895-3-2 1.343-2 3-2 3 .895 3 2zm12-3c0 1.105-1.343 2-3 2s-3-.895-3-2 1.343-2 3-2 3 .895 3 2zM9 10l12-3\"})])}function eAx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M19 20H5a2 2 0 01-2-2V6a2 2 0 012-2h10a2 2 0 012 2v1m2 13a2 2 0 01-2-2V7m2 13a2 2 0 002-2V9a2 2 0 00-2-2h-2m-4-3H9M7 16h6M7 8h6v4H7V8z\"})])}function tAx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4\"})])}function rAx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M12 19l9 2-9-18-9 18 9-2zm0 0v-8\"})])}function nAx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M15.172 7l-6.586 6.586a2 2 0 102.828 2.828l6.414-6.586a4 4 0 00-5.656-5.656l-6.415 6.585a6 6 0 108.486 8.486L20.5 13\"})])}function iAx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M10 9v6m4-6v6m7-3a9 9 0 11-18 0 9 9 0 0118 0z\"})])}function aAx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z\"})])}function oAx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M15.232 5.232l3.536 3.536m-2.036-5.036a2.5 2.5 0 113.536 3.536L6.5 21.036H3v-3.572L16.732 3.732z\"})])}function sAx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M21 3l-6 6m0 0V4m0 5h5M5 3a2 2 0 00-2 2v1c0 8.284 6.716 15 15 15h1a2 2 0 002-2v-3.28a1 1 0 00-.684-.948l-4.493-1.498a1 1 0 00-1.21.502l-1.13 2.257a11.042 11.042 0 01-5.516-5.517l2.257-1.128a1 1 0 00.502-1.21L9.228 3.683A1 1 0 008.279 3H5z\"})])}function uAx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M16 8l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2M5 3a2 2 0 00-2 2v1c0 8.284 6.716 15 15 15h1a2 2 0 002-2v-3.28a1 1 0 00-.684-.948l-4.493-1.498a1 1 0 00-1.21.502l-1.13 2.257a11.042 11.042 0 01-5.516-5.517l2.257-1.128a1 1 0 00.502-1.21L9.228 3.683A1 1 0 008.279 3H5z\"})])}function cAx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M16 3h5m0 0v5m0-5l-6 6M5 3a2 2 0 00-2 2v1c0 8.284 6.716 15 15 15h1a2 2 0 002-2v-3.28a1 1 0 00-.684-.948l-4.493-1.498a1 1 0 00-1.21.502l-1.13 2.257a11.042 11.042 0 01-5.516-5.517l2.257-1.128a1 1 0 00.502-1.21L9.228 3.683A1 1 0 008.279 3H5z\"})])}function lAx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M3 5a2 2 0 012-2h3.28a1 1 0 01.948.684l1.498 4.493a1 1 0 01-.502 1.21l-2.257 1.13a11.042 11.042 0 005.516 5.516l1.13-2.257a1 1 0 011.21-.502l4.493 1.498a1 1 0 01.684.949V19a2 2 0 01-2 2h-1C9.716 21 3 14.284 3 6V5z\"})])}function fAx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z\"})])}function pAx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M14.752 11.168l-3.197-2.132A1 1 0 0010 9.87v4.263a1 1 0 001.555.832l3.197-2.132a1 1 0 000-1.664z\"}),pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"})])}function dAx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M12 9v3m0 0v3m0-3h3m-3 0H9m12 0a9 9 0 11-18 0 9 9 0 0118 0z\"})])}function mAx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M12 6v6m0 0v6m0-6h6m-6 0H6\"})])}function hAx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M12 4v16m8-8H4\"})])}function gAx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M8 13v-1m4 1v-3m4 3V8M8 21l4-4 4 4M3 4h18M4 4h16v12a1 1 0 01-1 1H5a1 1 0 01-1-1V4z\"})])}function _Ax(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M7 12l3-3 3 3 4-4M8 21l4-4 4 4M3 4h18M4 4h16v12a1 1 0 01-1 1H5a1 1 0 01-1-1V4z\"})])}function yAx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M17 17h2a2 2 0 002-2v-4a2 2 0 00-2-2H5a2 2 0 00-2 2v4a2 2 0 002 2h2m2 4h6a2 2 0 002-2v-4a2 2 0 00-2-2H9a2 2 0 00-2 2v4a2 2 0 002 2zm8-12V5a2 2 0 00-2-2H9a2 2 0 00-2 2v4h10z\"})])}function DAx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M11 4a2 2 0 114 0v1a1 1 0 001 1h3a1 1 0 011 1v3a1 1 0 01-1 1h-1a2 2 0 100 4h1a1 1 0 011 1v3a1 1 0 01-1 1h-3a1 1 0 01-1-1v-1a2 2 0 10-4 0v1a1 1 0 01-1 1H7a1 1 0 01-1-1v-3a1 1 0 00-1-1H4a2 2 0 110-4h1a1 1 0 001-1V7a1 1 0 011-1h3a1 1 0 001-1V4z\"})])}function vAx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M12 4v1m6 11h2m-6 0h-2v4m0-11v3m0 0h.01M12 12h4.01M16 20h4M4 12h4m12 0h.01M5 8h2a1 1 0 001-1V5a1 1 0 00-1-1H5a1 1 0 00-1 1v2a1 1 0 001 1zm12 0h2a1 1 0 001-1V5a1 1 0 00-1-1h-2a1 1 0 00-1 1v2a1 1 0 001 1zM5 20h2a1 1 0 001-1v-2a1 1 0 00-1-1H5a1 1 0 00-1 1v2a1 1 0 001 1z\"})])}function bAx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"})])}function CAx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M16 15v-1a4 4 0 00-4-4H8m0 0l3 3m-3-3l3-3m9 14V5a2 2 0 00-2-2H6a2 2 0 00-2 2v16l4-2 4 2 4-2 4 2z\"})])}function EAx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M9 14l6-6m-5.5.5h.01m4.99 5h.01M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16l3.5-2 3.5 2 3.5-2 3.5 2zM10 8.5a.5.5 0 11-1 0 .5.5 0 011 0zm5 5a.5.5 0 11-1 0 .5.5 0 011 0z\"})])}function SAx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15\"})])}function FAx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M3 10h10a8 8 0 018 8v2M3 10l6 6m-6-6l6-6\"})])}function AAx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M12.066 11.2a1 1 0 000 1.6l5.334 4A1 1 0 0019 16V8a1 1 0 00-1.6-.8l-5.333 4zM4.066 11.2a1 1 0 000 1.6l5.334 4A1 1 0 0011 16V8a1 1 0 00-1.6-.8l-5.334 4z\"})])}function TAx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M6 5c7.18 0 13 5.82 13 13M6 11a7 7 0 017 7m-6 0a1 1 0 11-2 0 1 1 0 012 0z\"})])}function wAx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M17 16v2a2 2 0 01-2 2H5a2 2 0 01-2-2v-7a2 2 0 012-2h2m3-4H9a2 2 0 00-2 2v7a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-1m-1 4l-3 3m0 0l-3-3m3 3V3\"})])}function kAx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M8 7H5a2 2 0 00-2 2v9a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-3m-1 4l-3 3m0 0l-3-3m3 3V4\"})])}function NAx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M3 6l3 1m0 0l-3 9a5.002 5.002 0 006.001 0M6 7l3 9M6 7l6-2m6 2l3-1m-3 1l-3 9a5.002 5.002 0 006.001 0M18 7l3 9m-3-9l-6-2m0-2v2m0 16V5m0 16H9m3 0h3\"})])}function PAx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M14.121 14.121L19 19m-7-7l7-7m-7 7l-2.879 2.879M12 12L9.121 9.121m0 5.758a3 3 0 10-4.243 4.243 3 3 0 004.243-4.243zm0-5.758a3 3 0 10-4.243-4.243 3 3 0 004.243 4.243z\"})])}function IAx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M8 16l2.879-2.879m0 0a3 3 0 104.243-4.242 3 3 0 00-4.243 4.242zM21 12a9 9 0 11-18 0 9 9 0 0118 0z\"})])}function OAx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z\"})])}function BAx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M8 9l4-4 4 4m0 6l-4 4-4-4\"})])}function LAx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M5 12h14M5 12a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v4a2 2 0 01-2 2M5 12a2 2 0 00-2 2v4a2 2 0 002 2h14a2 2 0 002-2v-4a2 2 0 00-2-2m-2-4h.01M17 16h.01\"})])}function MAx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M8.684 13.342C8.886 12.938 9 12.482 9 12c0-.482-.114-.938-.316-1.342m0 2.684a3 3 0 110-2.684m0 2.684l6.632 3.316m-6.632-6l6.632-3.316m0 0a3 3 0 105.367-2.684 3 3 0 00-5.367 2.684zm0 9.316a3 3 0 105.368 2.684 3 3 0 00-5.368-2.684z\"})])}function RAx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z\"})])}function jAx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M20.618 5.984A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016zM12 9v2m0 4h.01\"})])}function UAx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M16 11V7a4 4 0 00-8 0v4M5 9h14l1 12H4L5 9z\"})])}function VAx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M3 3h2l.4 2M7 13h10l4-8H5.4M7 13L5.4 5M7 13l-2.293 2.293c-.63.63-.184 1.707.707 1.707H17m0 0a2 2 0 100 4 2 2 0 000-4zm-8 2a2 2 0 11-4 0 2 2 0 014 0z\"})])}function $Ax(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M3 4h13M3 8h9m-9 4h6m4 0l4-4m0 0l4 4m-4-4v12\"})])}function KAx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M3 4h13M3 8h9m-9 4h9m5-4v12m0 0l-4-4m4 4l4-4\"})])}function zAx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M5 3v4M3 5h4M6 17v4m-2-2h4m5-16l2.286 6.857L21 12l-5.714 2.143L13 21l-2.286-6.857L5 12l5.714-2.143L13 3z\"})])}function WAx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M11 5.882V19.24a1.76 1.76 0 01-3.417.592l-2.147-6.15M18 13a3 3 0 100-6M5.436 13.683A4.001 4.001 0 017 6h1.832c4.1 0 7.625-1.234 9.168-3v14c-1.543-1.766-5.067-3-9.168-3H7a3.988 3.988 0 01-1.564-.317z\"})])}function qAx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M11.049 2.927c.3-.921 1.603-.921 1.902 0l1.519 4.674a1 1 0 00.95.69h4.915c.969 0 1.371 1.24.588 1.81l-3.976 2.888a1 1 0 00-.363 1.118l1.518 4.674c.3.922-.755 1.688-1.538 1.118l-3.976-2.888a1 1 0 00-1.176 0l-3.976 2.888c-.783.57-1.838-.197-1.538-1.118l1.518-4.674a1 1 0 00-.363-1.118l-3.976-2.888c-.784-.57-.38-1.81.588-1.81h4.914a1 1 0 00.951-.69l1.519-4.674z\"})])}function JAx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M18.364 5.636a9 9 0 010 12.728m0 0l-2.829-2.829m2.829 2.829L21 21M15.536 8.464a5 5 0 010 7.072m0 0l-2.829-2.829m-4.243 2.829a4.978 4.978 0 01-1.414-2.83m-1.414 5.658a9 9 0 01-2.167-9.238m7.824 2.167a1 1 0 111.414 1.414m-1.414-1.414L3 3m8.293 8.293l1.414 1.414\"})])}function HAx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M5.636 18.364a9 9 0 010-12.728m12.728 0a9 9 0 010 12.728m-9.9-2.829a5 5 0 010-7.07m7.072 0a5 5 0 010 7.07M13 12a1 1 0 11-2 0 1 1 0 012 0z\"})])}function GAx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"}),pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M9 10a1 1 0 011-1h4a1 1 0 011 1v4a1 1 0 01-1 1h-4a1 1 0 01-1-1v-4z\"})])}function XAx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M12 3v1m0 16v1m9-9h-1M4 12H3m15.364 6.364l-.707-.707M6.343 6.343l-.707-.707m12.728 0l-.707.707M6.343 17.657l-.707.707M16 12a4 4 0 11-8 0 4 4 0 018 0z\"})])}function YAx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M18.364 5.636l-3.536 3.536m0 5.656l3.536 3.536M9.172 9.172L5.636 5.636m3.536 9.192l-3.536 3.536M21 12a9 9 0 11-18 0 9 9 0 0118 0zm-5 0a4 4 0 11-8 0 4 4 0 018 0z\"})])}function QAx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M8 7h12m0 0l-4-4m4 4l-4 4m0 6H4m0 0l4 4m-4-4l4-4\"})])}function ZAx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M7 16V4m0 0L3 8m4-4l4 4m6 0v12m0 0l4-4m-4 4l-4-4\"})])}function xTx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M3 10h18M3 14h18m-9-4v8m-7 0h14a2 2 0 002-2V8a2 2 0 00-2-2H5a2 2 0 00-2 2v8a2 2 0 002 2z\"})])}function eTx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M7 7h.01M7 3h5c.512 0 1.024.195 1.414.586l7 7a2 2 0 010 2.828l-7 7a2 2 0 01-2.828 0l-7-7A1.994 1.994 0 013 12V7a4 4 0 014-4z\"})])}function tTx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M4 5a1 1 0 011-1h14a1 1 0 011 1v2a1 1 0 01-1 1H5a1 1 0 01-1-1V5zM4 13a1 1 0 011-1h6a1 1 0 011 1v6a1 1 0 01-1 1H5a1 1 0 01-1-1v-6zM16 13a1 1 0 011-1h2a1 1 0 011 1v6a1 1 0 01-1 1h-2a1 1 0 01-1-1v-6z\"})])}function rTx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M8 9l3 3-3 3m5 0h3M5 20h14a2 2 0 002-2V6a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z\"})])}function nTx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M10 14H5.236a2 2 0 01-1.789-2.894l3.5-7A2 2 0 018.736 3h4.018a2 2 0 01.485.06l3.76.94m-7 10v5a2 2 0 002 2h.096c.5 0 .905-.405.905-.904 0-.715.211-1.413.608-2.008L17 13V4m-7 10h2m5-10h2a2 2 0 012 2v6a2 2 0 01-2 2h-2.5\"})])}function iTx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M14 10h4.764a2 2 0 011.789 2.894l-3.5 7A2 2 0 0115.263 21h-4.017c-.163 0-.326-.02-.485-.06L7 20m7-10V5a2 2 0 00-2-2h-.095c-.5 0-.905.405-.905.905 0 .714-.211 1.412-.608 2.006L7 11v9m7-10h-2M7 20H5a2 2 0 01-2-2v-6a2 2 0 012-2h2.5\"})])}function aTx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M15 5v2m0 4v2m0 4v2M5 5a2 2 0 00-2 2v3a2 2 0 110 4v3a2 2 0 002 2h14a2 2 0 002-2v-3a2 2 0 110-4V7a2 2 0 00-2-2H5z\"})])}function oTx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M3 5h12M9 3v2m1.048 9.5A18.022 18.022 0 016.412 9m6.088 9h7M11 21l5-10 5 10M12.751 5C11.783 10.77 8.07 15.61 3 18.129\"})])}function sTx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16\"})])}function uTx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M13 17h8m0 0V9m0 8l-8-8-4 4-6-6\"})])}function cTx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M13 7h8m0 0v8m0-8l-8 8-4-4-6 6\"})])}function lTx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{d:\"M9 17a2 2 0 11-4 0 2 2 0 014 0zM19 17a2 2 0 11-4 0 2 2 0 014 0z\"}),pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M13 16V6a1 1 0 00-1-1H4a1 1 0 00-1 1v10a1 1 0 001 1h1m8-1a1 1 0 01-1 1H9m4-1V8a1 1 0 011-1h2.586a1 1 0 01.707.293l3.414 3.414a1 1 0 01.293.707V16a1 1 0 01-1 1h-1m-6-1a1 1 0 001 1h1M5 17a2 2 0 104 0m-4 0a2 2 0 114 0m6 0a2 2 0 104 0m-4 0a2 2 0 114 0\"})])}function fTx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-8l-4-4m0 0L8 8m4-4v12\"})])}function pTx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M18 9v3m0 0v3m0-3h3m-3 0h-3m-2-5a4 4 0 11-8 0 4 4 0 018 0zM3 20a6 6 0 0112 0v1H3v-1z\"})])}function dTx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M5.121 17.804A13.937 13.937 0 0112 16c2.5 0 4.847.655 6.879 1.804M15 10a3 3 0 11-6 0 3 3 0 016 0zm6 2a9 9 0 11-18 0 9 9 0 0118 0z\"})])}function mTx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z\"})])}function hTx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M13 7a4 4 0 11-8 0 4 4 0 018 0zM9 14a6 6 0 00-6 6v1h12v-1a6 6 0 00-6-6zM21 12h-6\"})])}function gTx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z\"})])}function _Tx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M12 4.354a4 4 0 110 5.292M15 21H3v-1a6 6 0 0112 0v1zm0 0h6v-1a6 6 0 00-9-5.197M13 7a4 4 0 11-8 0 4 4 0 018 0z\"})])}function yTx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M4.871 4A17.926 17.926 0 003 12c0 2.874.673 5.59 1.871 8m14.13 0a17.926 17.926 0 001.87-8c0-2.874-.673-5.59-1.87-8M9 9h1.246a1 1 0 01.961.725l1.586 5.55a1 1 0 00.961.725H15m1-7h-.08a2 2 0 00-1.519.698L9.6 15.302A2 2 0 018.08 16H8\"})])}function DTx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M15 10l4.553-2.276A1 1 0 0121 8.618v6.764a1 1 0 01-1.447.894L15 14M5 18h8a2 2 0 002-2V8a2 2 0 00-2-2H5a2 2 0 00-2 2v8a2 2 0 002 2z\"})])}function vTx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M9 17V7m0 10a2 2 0 01-2 2H5a2 2 0 01-2-2V7a2 2 0 012-2h2a2 2 0 012 2m0 10a2 2 0 002 2h2a2 2 0 002-2M9 7a2 2 0 012-2h2a2 2 0 012 2m0 10V7m0 10a2 2 0 002 2h2a2 2 0 002-2V7a2 2 0 00-2-2h-2a2 2 0 00-2 2\"})])}function bTx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M17 14v6m-3-3h6M6 10h2a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v2a2 2 0 002 2zm10 0h2a2 2 0 002-2V6a2 2 0 00-2-2h-2a2 2 0 00-2 2v2a2 2 0 002 2zM6 20h2a2 2 0 002-2v-2a2 2 0 00-2-2H6a2 2 0 00-2 2v2a2 2 0 002 2z\"})])}function CTx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M4 6a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2V6zM14 6a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2V6zM4 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2v-2zM14 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2v-2z\"})])}function ETx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M4 6h16M4 10h16M4 14h16M4 18h16\"})])}function STx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M5.586 15H4a1 1 0 01-1-1v-4a1 1 0 011-1h1.586l4.707-4.707C10.923 3.663 12 4.109 12 5v14c0 .891-1.077 1.337-1.707.707L5.586 15z\",\"clip-rule\":\"evenodd\"}),pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M17 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2\"})])}function FTx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M15.536 8.464a5 5 0 010 7.072m2.828-9.9a9 9 0 010 12.728M5.586 15H4a1 1 0 01-1-1v-4a1 1 0 011-1h1.586l4.707-4.707C10.923 3.663 12 4.109 12 5v14c0 .891-1.077 1.337-1.707.707L5.586 15z\"})])}function ATx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M8.111 16.404a5.5 5.5 0 017.778 0M12 20h.01m-7.08-7.071c3.904-3.905 10.236-3.905 14.141 0M1.394 9.393c5.857-5.857 15.355-5.857 21.213 0\"})])}function TTx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z\"})])}function wTx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M6 18L18 6M6 6l12 12\"})])}function kTx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0zM10 7v3m0 0v3m0-3h3m-3 0H7\"})])}function NTx(a,u){return Xi(),xa(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",stroke:\"currentColor\"},[pi(\"path\",{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",d:\"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0zM13 10H7\"})])}var Akx=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",AcademicCapIcon:_Sx,AdjustmentsIcon:ySx,AnnotationIcon:DSx,ArchiveIcon:vSx,ArrowCircleDownIcon:bSx,ArrowCircleLeftIcon:CSx,ArrowCircleRightIcon:ESx,ArrowCircleUpIcon:SSx,ArrowDownIcon:FSx,ArrowLeftIcon:ASx,ArrowNarrowDownIcon:TSx,ArrowNarrowLeftIcon:wSx,ArrowNarrowRightIcon:kSx,ArrowNarrowUpIcon:NSx,ArrowRightIcon:PSx,ArrowSmDownIcon:ISx,ArrowSmLeftIcon:OSx,ArrowSmRightIcon:BSx,ArrowSmUpIcon:LSx,ArrowUpIcon:MSx,ArrowsExpandIcon:RSx,AtSymbolIcon:jSx,BackspaceIcon:USx,BadgeCheckIcon:VSx,BanIcon:$Sx,BeakerIcon:KSx,BellIcon:zSx,BookOpenIcon:WSx,BookmarkAltIcon:qSx,BookmarkIcon:JSx,BriefcaseIcon:HSx,CakeIcon:GSx,CalculatorIcon:XSx,CalendarIcon:YSx,CameraIcon:QSx,CashIcon:ZSx,ChartBarIcon:xFx,ChartPieIcon:eFx,ChartSquareBarIcon:tFx,ChatAlt2Icon:rFx,ChatAltIcon:nFx,ChatIcon:iFx,CheckCircleIcon:aFx,CheckIcon:oFx,ChevronDoubleDownIcon:sFx,ChevronDoubleLeftIcon:uFx,ChevronDoubleRightIcon:cFx,ChevronDoubleUpIcon:lFx,ChevronDownIcon:fFx,ChevronLeftIcon:pFx,ChevronRightIcon:dFx,ChevronUpIcon:mFx,ChipIcon:hFx,ClipboardCheckIcon:gFx,ClipboardCopyIcon:_Fx,ClipboardListIcon:yFx,ClipboardIcon:DFx,ClockIcon:vFx,CloudDownloadIcon:bFx,CloudUploadIcon:CFx,CloudIcon:EFx,CodeIcon:SFx,CogIcon:FFx,CollectionIcon:AFx,ColorSwatchIcon:TFx,CreditCardIcon:wFx,CubeTransparentIcon:kFx,CubeIcon:NFx,CurrencyBangladeshiIcon:PFx,CurrencyDollarIcon:IFx,CurrencyEuroIcon:OFx,CurrencyPoundIcon:BFx,CurrencyRupeeIcon:LFx,CurrencyYenIcon:MFx,CursorClickIcon:RFx,DatabaseIcon:jFx,DesktopComputerIcon:UFx,DeviceMobileIcon:VFx,DeviceTabletIcon:$Fx,DocumentAddIcon:KFx,DocumentDownloadIcon:zFx,DocumentDuplicateIcon:WFx,DocumentRemoveIcon:qFx,DocumentReportIcon:JFx,DocumentSearchIcon:HFx,DocumentTextIcon:GFx,DocumentIcon:XFx,DotsCircleHorizontalIcon:YFx,DotsHorizontalIcon:QFx,DotsVerticalIcon:ZFx,DownloadIcon:x4x,DuplicateIcon:e4x,EmojiHappyIcon:t4x,EmojiSadIcon:r4x,ExclamationCircleIcon:n4x,ExclamationIcon:i4x,ExternalLinkIcon:a4x,EyeOffIcon:o4x,EyeIcon:s4x,FastForwardIcon:u4x,FilmIcon:c4x,FilterIcon:l4x,FingerPrintIcon:f4x,FireIcon:p4x,FlagIcon:d4x,FolderAddIcon:m4x,FolderDownloadIcon:h4x,FolderOpenIcon:g4x,FolderRemoveIcon:_4x,FolderIcon:y4x,GiftIcon:D4x,GlobeAltIcon:v4x,GlobeIcon:b4x,HandIcon:C4x,HashtagIcon:E4x,HeartIcon:S4x,HomeIcon:F4x,IdentificationIcon:A4x,InboxInIcon:T4x,InboxIcon:w4x,InformationCircleIcon:k4x,KeyIcon:N4x,LibraryIcon:P4x,LightBulbIcon:I4x,LightningBoltIcon:O4x,LinkIcon:B4x,LocationMarkerIcon:L4x,LockClosedIcon:M4x,LockOpenIcon:R4x,LoginIcon:j4x,LogoutIcon:U4x,MailOpenIcon:V4x,MailIcon:$4x,MapIcon:K4x,MenuAlt1Icon:z4x,MenuAlt2Icon:W4x,MenuAlt3Icon:q4x,MenuAlt4Icon:J4x,MenuIcon:H4x,MicrophoneIcon:G4x,MinusCircleIcon:X4x,MinusSmIcon:Y4x,MinusIcon:Q4x,MoonIcon:Z4x,MusicNoteIcon:xAx,NewspaperIcon:eAx,OfficeBuildingIcon:tAx,PaperAirplaneIcon:rAx,PaperClipIcon:nAx,PauseIcon:iAx,PencilAltIcon:aAx,PencilIcon:oAx,PhoneIncomingIcon:sAx,PhoneMissedCallIcon:uAx,PhoneOutgoingIcon:cAx,PhoneIcon:lAx,PhotographIcon:fAx,PlayIcon:pAx,PlusCircleIcon:dAx,PlusSmIcon:mAx,PlusIcon:hAx,PresentationChartBarIcon:gAx,PresentationChartLineIcon:_Ax,PrinterIcon:yAx,PuzzleIcon:DAx,QrcodeIcon:vAx,QuestionMarkCircleIcon:bAx,ReceiptRefundIcon:CAx,ReceiptTaxIcon:EAx,RefreshIcon:SAx,ReplyIcon:FAx,RewindIcon:AAx,RssIcon:TAx,SaveAsIcon:wAx,SaveIcon:kAx,ScaleIcon:NAx,ScissorsIcon:PAx,SearchCircleIcon:IAx,SearchIcon:OAx,SelectorIcon:BAx,ServerIcon:LAx,ShareIcon:MAx,ShieldCheckIcon:RAx,ShieldExclamationIcon:jAx,ShoppingBagIcon:UAx,ShoppingCartIcon:VAx,SortAscendingIcon:$Ax,SortDescendingIcon:KAx,SparklesIcon:zAx,SpeakerphoneIcon:WAx,StarIcon:qAx,StatusOfflineIcon:JAx,StatusOnlineIcon:HAx,StopIcon:GAx,SunIcon:XAx,SupportIcon:YAx,SwitchHorizontalIcon:QAx,SwitchVerticalIcon:ZAx,TableIcon:xTx,TagIcon:eTx,TemplateIcon:tTx,TerminalIcon:rTx,ThumbDownIcon:nTx,ThumbUpIcon:iTx,TicketIcon:aTx,TranslateIcon:oTx,TrashIcon:sTx,TrendingDownIcon:uTx,TrendingUpIcon:cTx,TruckIcon:lTx,UploadIcon:fTx,UserAddIcon:pTx,UserCircleIcon:dTx,UserGroupIcon:mTx,UserRemoveIcon:hTx,UserIcon:gTx,UsersIcon:_Tx,VariableIcon:yTx,VideoCameraIcon:DTx,ViewBoardsIcon:vTx,ViewGridAddIcon:bTx,ViewGridIcon:CTx,ViewListIcon:ETx,VolumeOffIcon:STx,VolumeUpIcon:FTx,WifiIcon:ATx,XCircleIcon:TTx,XIcon:wTx,ZoomInIcon:kTx,ZoomOutIcon:NTx}),PTx=Object.defineProperty,sb0=Object.getOwnPropertySymbols,ITx=Object.prototype.hasOwnProperty,OTx=Object.prototype.propertyIsEnumerable,ub0=(a,u,c)=>u in a?PTx(a,u,{enumerable:!0,configurable:!0,writable:!0,value:c}):a[u]=c,NB={debug:!1,masked:!1,prefix:\"\",suffix:\"\",thousands:\",\",decimal:\".\",precision:2,disableNegative:!1,disabled:!1,min:Number.MIN_SAFE_INTEGER,max:Number.MAX_SAFE_INTEGER,allowBlank:!1,minimumNumberOfCharacters:0};const BTx=[\"+\",\"-\"],LTx=[\"decimal\",\"thousands\",\"prefix\",\"suffix\"];function cb0(a){const u=Math.floor(Number(a));return u!==1/0&&String(u)===a&&u>=0}function K$(a){return u=0,c=a,b=20,Math.max(u,Math.min(c,b));var u,c,b}function L00(a,u){const c=10**u;return(parseFloat(a)/c).toFixed(K$(u))}function lb0(a){return a?a.toString():\"\"}function fb0(a){return lb0(a).replace(/\\D+/g,\"\")||\"0\"}function BH(a,u){if(BTx.includes(a))throw new Error(`v-money3 \"${u}\" property don't accept \"${a}\" as a value.`);return!0}function Na0(a,u=NB,c){u.debug&&console.log(\"utils format() - caller\",c),u.debug&&console.log(\"utils format() - input1\",a),a==null&&(a=0),u.allowBlank&&cb0(a)&&(a=L00(a,K$(u.precision))),typeof a==\"number\"?a=Number(a).toFixed(K$(u.precision)):Number.isNaN(a)||(cb0(a)?a=Number(a).toFixed(K$(u.precision)):/^-?[\\d]*(\\.[\\d]+)?$/g.test(a)&&(c&&c!==\"component setup\"&&c!==\"directive mounted\"||(a=Number(a).toFixed(K$(u.precision))))),u.debug&&console.log(\"utils format() - input2\",a);const b=u.disableNegative?\"\":a.indexOf(\"-\")>=0?\"-\":\"\",R=fb0(a.replace(u.prefix,\"\").replace(u.suffix,\"\"));let K=Number(L00(R,u.precision));if(u.debug&&console.log(\"utils format() - currency1\",K),K>u.max?K=u.max:K<u.min&&(K=u.min),u.debug&&console.log(\"utils format() - currency2\",K),K=K.toFixed(K$(u.precision)),/^0(\\.0+)?$/g.test(K)&&u.allowBlank)return\"\";const s0=lb0(K).split(\".\");if(u.minimumNumberOfCharacters>0){const e1=`${s0[0]}`.length+`${s0[1]}`.length,t1=u.minimumNumberOfCharacters-e1;if(t1>0)for(let r1=0;r1<t1;r1+=1)s0[0]=`0${s0[0]}`}let Y=s0[0];const F0=s0[1];Y=function(e1,t1){return e1.replace(/(\\d)(?=(?:\\d{3})+\\b)/gm,`$1${t1}`)}(Y,u.thousands);const J0=u.prefix+b+function(e1,t1,r1){return t1?e1+r1+t1:e1}(Y,F0,u.decimal)+u.suffix;return u.debug&&console.log(\"utils format() - output\",J0),J0}function Pa0(a,u=NB,c){u.debug&&console.log(\"utils unformat() - caller\",c),u.debug&&console.log(\"utils unformat() - input\",a);const b=u.disableNegative?1:a.indexOf(\"-\")>=0?-1:1;let R=L00(fb0(a.replace(u.prefix,\"\").replace(u.suffix,\"\")),u.precision);R=parseFloat(R)*b,R>u.max?R=u.max:a<u.min&&(R=u.min);let K=Number(R).toFixed(K$(u.precision));return u.modelModifiers&&u.modelModifiers.number&&(K=parseFloat(K)),u.debug&&console.log(\"utils unformat() - output\",K),K}function pb0(a){const u=document.createEvent(\"Event\");return u.initEvent(a,!0,!0),u}var db0=(a,u)=>(a=a||{},u=u||{},Object.keys(a).concat(Object.keys(u)).reduce((c,b)=>(c[b]=u[b]===void 0?a[b]:u[b],c),{}));let mb0=null;const Ia0=(a,u,c)=>{if(mb0===a.value)return void(u.debug&&console.log(\"directive setValue() - lastKnownValue === el.value. Stopping here...\",a.value));(function(R){for(const K of LTx)BH(R[K],K)})(u);let b=a.value.length-a.selectionEnd;a.value=Na0(a.value,u,c),mb0=a.value,b=Math.max(b,u.suffix.length),b=a.value.length-b,b=Math.max(b,u.prefix.length),function(R,K){const s0=()=>{R.setSelectionRange(K,K)};R===document.activeElement&&(s0(),setTimeout(s0,1))}(a,b),a.dispatchEvent(pb0(\"change\"))};var MTx={mounted(a,u){if(!u.value)return;const c=db0(NB,u.value);if(c.debug&&console.log(\"directive mounted() - opt\",c),a.tagName.toLocaleUpperCase()!==\"INPUT\"){const b=a.getElementsByTagName(\"input\");b.length!==1||(a=b[0])}a.onkeydown=b=>{const R=b.code===\"Backspace\"||b.code===\"Delete\",K=a.value.length-a.selectionEnd==0;if(c.allowBlank&&R&&K&&Pa0(a.value,0)===0&&(a.value=\"\",a.dispatchEvent(pb0(\"change\"))),b.key===\"+\"){const s0=Pa0(a.value,c);s0<0&&(a.value=-1*s0)}},a.oninput=()=>{/^[1-9]$/.test(a.value)&&(a.value=L00(a.value,K$(c.precision))),Ia0(a,c,\"directive oninput\")},c.debug&&console.log(\"directive mounted() - el.value\",a.value),Ia0(a,c,\"directive mounted\")},updated(a,u){if(!u.value)return;const c=db0(NB,u.value);c.debug&&console.log(\"directive updated() - el.value\",a.value),Ia0(a,c,\"directive updated\")},beforeUnmount(a){a.onkeydown=null,a.oninput=null,a.onfocus=null}};const RTx=yF({inheritAttrs:!1,name:\"Money3\",props:{debug:{required:!1,type:Boolean,default:!1},id:{required:!1,type:[Number,String],default:0},modelValue:{required:!1,type:[Number,String,void 0,null],default:null},modelModifiers:{required:!1,type:Object,default:()=>({number:!1})},masked:{type:Boolean,default:!1},precision:{type:Number,default:()=>NB.precision},decimal:{type:String,default:()=>NB.decimal,validator:a=>BH(a,\"decimal\")},thousands:{type:String,default:()=>NB.thousands,validator:a=>BH(a,\"thousands\")},prefix:{type:String,default:()=>NB.prefix,validator:a=>BH(a,\"prefix\")},suffix:{type:String,default:()=>NB.suffix,validator:a=>BH(a,\"suffix\")},disableNegative:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},max:{type:Number,default:()=>NB.max},min:{type:Number,default:()=>NB.min},allowBlank:{type:Boolean,default:()=>NB.allowBlank},minimumNumberOfCharacters:{type:Number,default:()=>NB.minimumNumberOfCharacters}},directives:{money3:MTx},setup(a,{emit:u,attrs:c}){a.debug&&console.log(\"component setup()\",a);const b=_B({formattedValue:Na0(a.modelValue,a,\"component setup\")});a.debug&&console.log(\"component setup() - data.formattedValue\",b.formattedValue),oP(()=>a.modelValue,K=>{a.debug&&console.log(\"component watch() -> val\",K);const s0=Na0(K,a,\"component watch\");s0!==b.formattedValue&&(a.debug&&console.log(\"component watch() changed -> formatted\",s0),b.formattedValue=s0)});const R=Sp(()=>{const K=((s0,Y)=>{for(var F0 in Y||(Y={}))ITx.call(Y,F0)&&ub0(s0,F0,Y[F0]);if(sb0)for(var F0 of sb0(Y))OTx.call(Y,F0)&&ub0(s0,F0,Y[F0]);return s0})({},c);return delete K[\"onUpdate:modelValue\"],K});return{data:b,listeners:R,change:function(K){a.debug&&console.log(\"component change() -> evt.target.value\",K.target.value);const s0=a.masked&&!a.modelModifiers.number?K.target.value:Pa0(K.target.value,a,\"component change\");a.debug&&console.log(\"component change() -> update:model-value\",s0),u(\"update:model-value\",s0)}}}}),jTx=[\"id\",\"value\",\"disabled\"];RTx.render=function(a,u,c,b,R,K){const s0=og0(\"money3\");return Zh0((Xi(),lg0(\"input\",KJ({type:\"tel\",id:a.id,value:a.data.formattedValue,disabled:a.disabled,onChange:u[0]||(u[0]=(...Y)=>a.change&&a.change(...Y))},a.listeners,{class:\"v-money3\"}),null,16,jTx)),[[s0,{precision:a.precision,decimal:a.decimal,thousands:a.thousands,prefix:a.prefix,suffix:a.suffix,disableNegative:a.disableNegative,min:a.min,max:a.max,allowBlank:a.allowBlank,minimumNumberOfCharacters:a.minimumNumberOfCharacters,debug:a.debug}]])};/*!\n * maska v1.4.7\n * (c) 2019-2021 Alexander Shabunevich\n * Released under the MIT License.\n */function UTx(a,u){if(!(a instanceof u))throw new TypeError(\"Cannot call a class as a function\")}function VTx(a,u){for(var c=0;c<u.length;c++){var b=u[c];b.enumerable=b.enumerable||!1,b.configurable=!0,\"value\"in b&&(b.writable=!0),Object.defineProperty(a,b.key,b)}}function $Tx(a,u,c){return u in a?Object.defineProperty(a,u,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[u]=c,a}function hb0(a,u){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var b=Object.getOwnPropertySymbols(a);u&&(b=b.filter(function(R){return Object.getOwnPropertyDescriptor(a,R).enumerable})),c.push.apply(c,b)}return c}function M00(a){for(var u=1;u<arguments.length;u++){var c=arguments[u]!=null?arguments[u]:{};u%2?hb0(Object(c),!0).forEach(function(b){$Tx(a,b,c[b])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(c)):hb0(Object(c)).forEach(function(b){Object.defineProperty(a,b,Object.getOwnPropertyDescriptor(c,b))})}return a}var gb0={\"#\":{pattern:/[0-9]/},X:{pattern:/[0-9a-zA-Z]/},S:{pattern:/[a-zA-Z]/},A:{pattern:/[a-zA-Z]/,uppercase:!0},a:{pattern:/[a-zA-Z]/,lowercase:!0},\"!\":{escape:!0},\"*\":{repeat:!0}};function _b0(a,u){var c=arguments.length>2&&arguments[2]!==void 0?arguments[2]:gb0,b=!(arguments.length>3&&arguments[3]!==void 0)||arguments[3];return yb0(u).length>1?KTx(u)(a,u,c,b):Oa0(a,u,c,b)}function yb0(a){try{return JSON.parse(a)}catch{return[a]}}function KTx(a){var u=yb0(a).sort(function(b,R){return b.length-R.length});return function(b,R,K){var s0=!(arguments.length>3&&arguments[3]!==void 0)||arguments[3],Y=u.map(function(e1){return Oa0(b,e1,K,!1)}),F0=Y.pop();for(var J0 in u)if(c(F0,u[J0],K))return Oa0(b,u[J0],K,s0);return\"\"};function c(b,R,K){for(var s0 in K)K[s0].escape&&(R=R.replace(new RegExp(s0+\".{1}\",\"g\"),\"\"));return R.split(\"\").filter(function(Y){return K[Y]&&K[Y].pattern}).length>=b.length}}function Oa0(a,u,c){for(var b=!(arguments.length>3&&arguments[3]!==void 0)||arguments[3],R=0,K=0,s0=\"\",Y=\"\";R<u.length&&K<a.length;){var F0=u[R],J0=a[K],e1=c[F0];if(e1&&e1.pattern)e1.pattern.test(J0)&&(s0+=zTx(J0,e1),R++,b&&u[R]&&(c[u[R]]?c[u[R]]&&c[u[R]].escape&&(s0+=u[R+1],R+=2):(s0+=u[R],R++))),K++;else if(e1&&e1.repeat){var t1=c[u[R-1]];t1&&!t1.pattern.test(J0)?R++:R--}else e1&&e1.escape&&(F0=u[++R]),b&&(s0+=F0),J0===F0&&K++,R++}for(;b&&R<u.length;){var r1=u[R];if(c[r1]){Y=\"\";break}Y+=r1,R++}return s0+Y}function zTx(a,u){return u.transform&&(a=u.transform(a)),u.uppercase?a.toLocaleUpperCase():u.lowercase?a.toLocaleLowerCase():a}function Db0(a){return a instanceof HTMLInputElement?a:a.querySelector(\"input\")||a}function Ba0(a){return Object.prototype.toString.call(a)===\"[object String]\"}var WTx=function(){function a(b){var R=this,K=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(UTx(this,a),!b)throw new Error(\"Maska: no element for mask\");if(K.tokens)for(var s0 in K.tokens)K.tokens[s0]=M00({},K.tokens[s0]),K.tokens[s0].pattern&&Ba0(K.tokens[s0].pattern)&&(K.tokens[s0].pattern=new RegExp(K.tokens[s0].pattern));this._opts={mask:K.mask,tokens:M00(M00({},gb0),K.tokens)},this._el=Ba0(b)?document.querySelectorAll(b):b.length?b:[b],this.inputEvent=function(Y){return R.updateValue(Y.target,Y)},this.init()}var u,c;return u=a,(c=[{key:\"init\",value:function(){for(var b=this,R=function(s0){var Y=Db0(b._el[s0]);!b._opts.mask||Y.dataset.mask&&Y.dataset.mask===b._opts.mask||(Y.dataset.mask=b._opts.mask),setTimeout(function(){return b.updateValue(Y)},0),Y.dataset.maskInited||(Y.dataset.maskInited=!0,Y.addEventListener(\"input\",b.inputEvent),Y.addEventListener(\"beforeinput\",b.beforeInput))},K=0;K<this._el.length;K++)R(K)}},{key:\"destroy\",value:function(){for(var b=0;b<this._el.length;b++){var R=Db0(this._el[b]);R.removeEventListener(\"input\",this.inputEvent),R.removeEventListener(\"beforeinput\",this.beforeInput),delete R.dataset.mask,delete R.dataset.maskInited}}},{key:\"updateValue\",value:function(b,R){if(b&&b.type){var K=b.type.match(/^number$/i)&&b.validity.badInput;if(!b.value&&!K||!b.dataset.mask)return b.dataset.maskRawValue=\"\",void this.dispatch(\"maska\",b,R);var s0=b.selectionEnd,Y=b.value,F0=Y[s0-1];b.dataset.maskRawValue=_b0(b.value,b.dataset.mask,this._opts.tokens,!1),b.value=_b0(b.value,b.dataset.mask,this._opts.tokens),R&&R.inputType===\"insertText\"&&s0===Y.length&&(s0=b.value.length),function(J0,e1,t1){for(;e1&&e1<J0.value.length&&J0.value.charAt(e1-1)!==t1;)e1++;(J0.type?J0.type.match(/^(text|search|password|tel|url)$/i):!J0.type)&&J0===document.activeElement&&(J0.setSelectionRange(e1,e1),setTimeout(function(){J0.setSelectionRange(e1,e1)},0))}(b,s0,F0),this.dispatch(\"maska\",b,R),b.value!==Y&&this.dispatch(\"input\",b,R)}}},{key:\"beforeInput\",value:function(b){b&&b.target&&b.target.type&&b.target.type.match(/^number$/i)&&b.data&&isNaN(b.target.value+b.data)&&b.preventDefault()}},{key:\"dispatch\",value:function(b,R,K){R.dispatchEvent(function(s0){var Y=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,F0=document.createEvent(\"Event\");return F0.initEvent(s0,!0,!0),Y&&(F0.inputType=Y),F0}(b,K&&K.inputType||null))}}])&&VTx(u.prototype,c),a}(),La0,qTx=(La0=new WeakMap,function(a,u){u.value&&(La0.has(a)&&!function(c){return!(Ba0(c.value)&&c.value===c.oldValue||Array.isArray(c.value)&&JSON.stringify(c.value)===JSON.stringify(c.oldValue)||c.value&&c.value.mask&&c.oldValue&&c.oldValue.mask&&c.value.mask===c.oldValue.mask)}(u)||La0.set(a,new WTx(a,function(c){var b={};return c.mask?(b.mask=Array.isArray(c.mask)?JSON.stringify(c.mask):c.mask,b.tokens=c.tokens?M00({},c.tokens):{}):b.mask=Array.isArray(c)?JSON.stringify(c):c,b}(u.value))))});function JTx(a){a.directive(\"maska\",qTx)}typeof window!=\"undefined\"&&window.Vue&&window.Vue.use&&window.Vue.use(JTx);var PB=\"top\",zL=\"bottom\",WL=\"right\",IB=\"left\",Ma0=\"auto\",LH=[PB,zL,WL,IB],sq=\"start\",MH=\"end\",HTx=\"clippingParents\",vb0=\"viewport\",RH=\"popper\",GTx=\"reference\",bb0=LH.reduce(function(a,u){return a.concat([u+\"-\"+sq,u+\"-\"+MH])},[]),R00=[].concat(LH,[Ma0]).reduce(function(a,u){return a.concat([u,u+\"-\"+sq,u+\"-\"+MH])},[]),XTx=\"beforeRead\",YTx=\"read\",QTx=\"afterRead\",ZTx=\"beforeMain\",x5x=\"main\",e5x=\"afterMain\",t5x=\"beforeWrite\",r5x=\"write\",n5x=\"afterWrite\",i5x=[XTx,YTx,QTx,ZTx,x5x,e5x,t5x,r5x,n5x];function Hj(a){return a?(a.nodeName||\"\").toLowerCase():null}function mR(a){if(a==null)return window;if(a.toString()!==\"[object Window]\"){var u=a.ownerDocument;return u&&u.defaultView||window}return a}function jH(a){var u=mR(a).Element;return a instanceof u||a instanceof Element}function qL(a){var u=mR(a).HTMLElement;return a instanceof u||a instanceof HTMLElement}function Cb0(a){if(typeof ShadowRoot==\"undefined\")return!1;var u=mR(a).ShadowRoot;return a instanceof u||a instanceof ShadowRoot}function a5x(a){var u=a.state;Object.keys(u.elements).forEach(function(c){var b=u.styles[c]||{},R=u.attributes[c]||{},K=u.elements[c];!qL(K)||!Hj(K)||(Object.assign(K.style,b),Object.keys(R).forEach(function(s0){var Y=R[s0];Y===!1?K.removeAttribute(s0):K.setAttribute(s0,Y===!0?\"\":Y)}))})}function o5x(a){var u=a.state,c={popper:{position:u.options.strategy,left:\"0\",top:\"0\",margin:\"0\"},arrow:{position:\"absolute\"},reference:{}};return Object.assign(u.elements.popper.style,c.popper),u.styles=c,u.elements.arrow&&Object.assign(u.elements.arrow.style,c.arrow),function(){Object.keys(u.elements).forEach(function(b){var R=u.elements[b],K=u.attributes[b]||{},s0=Object.keys(u.styles.hasOwnProperty(b)?u.styles[b]:c[b]),Y=s0.reduce(function(F0,J0){return F0[J0]=\"\",F0},{});!qL(R)||!Hj(R)||(Object.assign(R.style,Y),Object.keys(K).forEach(function(F0){R.removeAttribute(F0)}))})}}var s5x={name:\"applyStyles\",enabled:!0,phase:\"write\",fn:a5x,effect:o5x,requires:[\"computeStyles\"]};function Gj(a){return a.split(\"-\")[0]}function uq(a,u){var c=a.getBoundingClientRect(),b=1,R=1;return{width:c.width/b,height:c.height/R,top:c.top/R,right:c.right/b,bottom:c.bottom/R,left:c.left/b,x:c.left/b,y:c.top/R}}function Ra0(a){var u=uq(a),c=a.offsetWidth,b=a.offsetHeight;return Math.abs(u.width-c)<=1&&(c=u.width),Math.abs(u.height-b)<=1&&(b=u.height),{x:a.offsetLeft,y:a.offsetTop,width:c,height:b}}function Eb0(a,u){var c=u.getRootNode&&u.getRootNode();if(a.contains(u))return!0;if(c&&Cb0(c)){var b=u;do{if(b&&a.isSameNode(b))return!0;b=b.parentNode||b.host}while(b)}return!1}function DV(a){return mR(a).getComputedStyle(a)}function u5x(a){return[\"table\",\"td\",\"th\"].indexOf(Hj(a))>=0}function z$(a){return((jH(a)?a.ownerDocument:a.document)||window.document).documentElement}function j00(a){return Hj(a)===\"html\"?a:a.assignedSlot||a.parentNode||(Cb0(a)?a.host:null)||z$(a)}function Sb0(a){return!qL(a)||DV(a).position===\"fixed\"?null:a.offsetParent}function c5x(a){var u=navigator.userAgent.toLowerCase().indexOf(\"firefox\")!==-1,c=navigator.userAgent.indexOf(\"Trident\")!==-1;if(c&&qL(a)){var b=DV(a);if(b.position===\"fixed\")return null}for(var R=j00(a);qL(R)&&[\"html\",\"body\"].indexOf(Hj(R))<0;){var K=DV(R);if(K.transform!==\"none\"||K.perspective!==\"none\"||K.contain===\"paint\"||[\"transform\",\"perspective\"].indexOf(K.willChange)!==-1||u&&K.willChange===\"filter\"||u&&K.filter&&K.filter!==\"none\")return R;R=R.parentNode}return null}function UH(a){for(var u=mR(a),c=Sb0(a);c&&u5x(c)&&DV(c).position===\"static\";)c=Sb0(c);return c&&(Hj(c)===\"html\"||Hj(c)===\"body\"&&DV(c).position===\"static\")?u:c||c5x(a)||u}function ja0(a){return[\"top\",\"bottom\"].indexOf(a)>=0?\"x\":\"y\"}var W$=Math.max,VH=Math.min,U00=Math.round;function V00(a,u,c){return W$(a,VH(u,c))}function Fb0(){return{top:0,right:0,bottom:0,left:0}}function Ab0(a){return Object.assign({},Fb0(),a)}function Tb0(a,u){return u.reduce(function(c,b){return c[b]=a,c},{})}var l5x=function(u,c){return u=typeof u==\"function\"?u(Object.assign({},c.rects,{placement:c.placement})):u,Ab0(typeof u!=\"number\"?u:Tb0(u,LH))};function f5x(a){var u,c=a.state,b=a.name,R=a.options,K=c.elements.arrow,s0=c.modifiersData.popperOffsets,Y=Gj(c.placement),F0=ja0(Y),J0=[IB,WL].indexOf(Y)>=0,e1=J0?\"height\":\"width\";if(!(!K||!s0)){var t1=l5x(R.padding,c),r1=Ra0(K),F1=F0===\"y\"?PB:IB,a1=F0===\"y\"?zL:WL,D1=c.rects.reference[e1]+c.rects.reference[F0]-s0[F0]-c.rects.popper[e1],W0=s0[F0]-c.rects.reference[F0],i1=UH(K),x1=i1?F0===\"y\"?i1.clientHeight||0:i1.clientWidth||0:0,ux=D1/2-W0/2,K1=t1[F1],ee=x1-r1[e1]-t1[a1],Gx=x1/2-r1[e1]/2+ux,ve=V00(K1,Gx,ee),qe=F0;c.modifiersData[b]=(u={},u[qe]=ve,u.centerOffset=ve-Gx,u)}}function p5x(a){var u=a.state,c=a.options,b=c.element,R=b===void 0?\"[data-popper-arrow]\":b;R!=null&&(typeof R==\"string\"&&(R=u.elements.popper.querySelector(R),!R)||!Eb0(u.elements.popper,R)||(u.elements.arrow=R))}var d5x={name:\"arrow\",enabled:!0,phase:\"main\",fn:f5x,effect:p5x,requires:[\"popperOffsets\"],requiresIfExists:[\"preventOverflow\"]};function cq(a){return a.split(\"-\")[1]}var m5x={top:\"auto\",right:\"auto\",bottom:\"auto\",left:\"auto\"};function h5x(a){var u=a.x,c=a.y,b=window,R=b.devicePixelRatio||1;return{x:U00(U00(u*R)/R)||0,y:U00(U00(c*R)/R)||0}}function wb0(a){var u,c=a.popper,b=a.popperRect,R=a.placement,K=a.variation,s0=a.offsets,Y=a.position,F0=a.gpuAcceleration,J0=a.adaptive,e1=a.roundOffsets,t1=e1===!0?h5x(s0):typeof e1==\"function\"?e1(s0):s0,r1=t1.x,F1=r1===void 0?0:r1,a1=t1.y,D1=a1===void 0?0:a1,W0=s0.hasOwnProperty(\"x\"),i1=s0.hasOwnProperty(\"y\"),x1=IB,ux=PB,K1=window;if(J0){var ee=UH(c),Gx=\"clientHeight\",ve=\"clientWidth\";ee===mR(c)&&(ee=z$(c),DV(ee).position!==\"static\"&&Y===\"absolute\"&&(Gx=\"scrollHeight\",ve=\"scrollWidth\")),ee=ee,(R===PB||(R===IB||R===WL)&&K===MH)&&(ux=zL,D1-=ee[Gx]-b.height,D1*=F0?1:-1),(R===IB||(R===PB||R===zL)&&K===MH)&&(x1=WL,F1-=ee[ve]-b.width,F1*=F0?1:-1)}var qe=Object.assign({position:Y},J0&&m5x);if(F0){var Jt;return Object.assign({},qe,(Jt={},Jt[ux]=i1?\"0\":\"\",Jt[x1]=W0?\"0\":\"\",Jt.transform=(K1.devicePixelRatio||1)<=1?\"translate(\"+F1+\"px, \"+D1+\"px)\":\"translate3d(\"+F1+\"px, \"+D1+\"px, 0)\",Jt))}return Object.assign({},qe,(u={},u[ux]=i1?D1+\"px\":\"\",u[x1]=W0?F1+\"px\":\"\",u.transform=\"\",u))}function g5x(a){var u=a.state,c=a.options,b=c.gpuAcceleration,R=b===void 0?!0:b,K=c.adaptive,s0=K===void 0?!0:K,Y=c.roundOffsets,F0=Y===void 0?!0:Y,J0={placement:Gj(u.placement),variation:cq(u.placement),popper:u.elements.popper,popperRect:u.rects.popper,gpuAcceleration:R};u.modifiersData.popperOffsets!=null&&(u.styles.popper=Object.assign({},u.styles.popper,wb0(Object.assign({},J0,{offsets:u.modifiersData.popperOffsets,position:u.options.strategy,adaptive:s0,roundOffsets:F0})))),u.modifiersData.arrow!=null&&(u.styles.arrow=Object.assign({},u.styles.arrow,wb0(Object.assign({},J0,{offsets:u.modifiersData.arrow,position:\"absolute\",adaptive:!1,roundOffsets:F0})))),u.attributes.popper=Object.assign({},u.attributes.popper,{\"data-popper-placement\":u.placement})}var _5x={name:\"computeStyles\",enabled:!0,phase:\"beforeWrite\",fn:g5x,data:{}},$00={passive:!0};function y5x(a){var u=a.state,c=a.instance,b=a.options,R=b.scroll,K=R===void 0?!0:R,s0=b.resize,Y=s0===void 0?!0:s0,F0=mR(u.elements.popper),J0=[].concat(u.scrollParents.reference,u.scrollParents.popper);return K&&J0.forEach(function(e1){e1.addEventListener(\"scroll\",c.update,$00)}),Y&&F0.addEventListener(\"resize\",c.update,$00),function(){K&&J0.forEach(function(e1){e1.removeEventListener(\"scroll\",c.update,$00)}),Y&&F0.removeEventListener(\"resize\",c.update,$00)}}var D5x={name:\"eventListeners\",enabled:!0,phase:\"write\",fn:function(){},effect:y5x,data:{}},v5x={left:\"right\",right:\"left\",bottom:\"top\",top:\"bottom\"};function K00(a){return a.replace(/left|right|bottom|top/g,function(u){return v5x[u]})}var b5x={start:\"end\",end:\"start\"};function kb0(a){return a.replace(/start|end/g,function(u){return b5x[u]})}function Ua0(a){var u=mR(a),c=u.pageXOffset,b=u.pageYOffset;return{scrollLeft:c,scrollTop:b}}function Va0(a){return uq(z$(a)).left+Ua0(a).scrollLeft}function C5x(a){var u=mR(a),c=z$(a),b=u.visualViewport,R=c.clientWidth,K=c.clientHeight,s0=0,Y=0;return b&&(R=b.width,K=b.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(s0=b.offsetLeft,Y=b.offsetTop)),{width:R,height:K,x:s0+Va0(a),y:Y}}function E5x(a){var u,c=z$(a),b=Ua0(a),R=(u=a.ownerDocument)==null?void 0:u.body,K=W$(c.scrollWidth,c.clientWidth,R?R.scrollWidth:0,R?R.clientWidth:0),s0=W$(c.scrollHeight,c.clientHeight,R?R.scrollHeight:0,R?R.clientHeight:0),Y=-b.scrollLeft+Va0(a),F0=-b.scrollTop;return DV(R||c).direction===\"rtl\"&&(Y+=W$(c.clientWidth,R?R.clientWidth:0)-K),{width:K,height:s0,x:Y,y:F0}}function $a0(a){var u=DV(a),c=u.overflow,b=u.overflowX,R=u.overflowY;return/auto|scroll|overlay|hidden/.test(c+R+b)}function Nb0(a){return[\"html\",\"body\",\"#document\"].indexOf(Hj(a))>=0?a.ownerDocument.body:qL(a)&&$a0(a)?a:Nb0(j00(a))}function $H(a,u){var c;u===void 0&&(u=[]);var b=Nb0(a),R=b===((c=a.ownerDocument)==null?void 0:c.body),K=mR(b),s0=R?[K].concat(K.visualViewport||[],$a0(b)?b:[]):b,Y=u.concat(s0);return R?Y:Y.concat($H(j00(s0)))}function Ka0(a){return Object.assign({},a,{left:a.x,top:a.y,right:a.x+a.width,bottom:a.y+a.height})}function S5x(a){var u=uq(a);return u.top=u.top+a.clientTop,u.left=u.left+a.clientLeft,u.bottom=u.top+a.clientHeight,u.right=u.left+a.clientWidth,u.width=a.clientWidth,u.height=a.clientHeight,u.x=u.left,u.y=u.top,u}function Pb0(a,u){return u===vb0?Ka0(C5x(a)):qL(u)?S5x(u):Ka0(E5x(z$(a)))}function F5x(a){var u=$H(j00(a)),c=[\"absolute\",\"fixed\"].indexOf(DV(a).position)>=0,b=c&&qL(a)?UH(a):a;return jH(b)?u.filter(function(R){return jH(R)&&Eb0(R,b)&&Hj(R)!==\"body\"}):[]}function A5x(a,u,c){var b=u===\"clippingParents\"?F5x(a):[].concat(u),R=[].concat(b,[c]),K=R[0],s0=R.reduce(function(Y,F0){var J0=Pb0(a,F0);return Y.top=W$(J0.top,Y.top),Y.right=VH(J0.right,Y.right),Y.bottom=VH(J0.bottom,Y.bottom),Y.left=W$(J0.left,Y.left),Y},Pb0(a,K));return s0.width=s0.right-s0.left,s0.height=s0.bottom-s0.top,s0.x=s0.left,s0.y=s0.top,s0}function Ib0(a){var u=a.reference,c=a.element,b=a.placement,R=b?Gj(b):null,K=b?cq(b):null,s0=u.x+u.width/2-c.width/2,Y=u.y+u.height/2-c.height/2,F0;switch(R){case PB:F0={x:s0,y:u.y-c.height};break;case zL:F0={x:s0,y:u.y+u.height};break;case WL:F0={x:u.x+u.width,y:Y};break;case IB:F0={x:u.x-c.width,y:Y};break;default:F0={x:u.x,y:u.y}}var J0=R?ja0(R):null;if(J0!=null){var e1=J0===\"y\"?\"height\":\"width\";switch(K){case sq:F0[J0]=F0[J0]-(u[e1]/2-c[e1]/2);break;case MH:F0[J0]=F0[J0]+(u[e1]/2-c[e1]/2);break}}return F0}function KH(a,u){u===void 0&&(u={});var c=u,b=c.placement,R=b===void 0?a.placement:b,K=c.boundary,s0=K===void 0?HTx:K,Y=c.rootBoundary,F0=Y===void 0?vb0:Y,J0=c.elementContext,e1=J0===void 0?RH:J0,t1=c.altBoundary,r1=t1===void 0?!1:t1,F1=c.padding,a1=F1===void 0?0:F1,D1=Ab0(typeof a1!=\"number\"?a1:Tb0(a1,LH)),W0=e1===RH?GTx:RH,i1=a.rects.popper,x1=a.elements[r1?W0:e1],ux=A5x(jH(x1)?x1:x1.contextElement||z$(a.elements.popper),s0,F0),K1=uq(a.elements.reference),ee=Ib0({reference:K1,element:i1,strategy:\"absolute\",placement:R}),Gx=Ka0(Object.assign({},i1,ee)),ve=e1===RH?Gx:K1,qe={top:ux.top-ve.top+D1.top,bottom:ve.bottom-ux.bottom+D1.bottom,left:ux.left-ve.left+D1.left,right:ve.right-ux.right+D1.right},Jt=a.modifiersData.offset;if(e1===RH&&Jt){var Ct=Jt[R];Object.keys(qe).forEach(function(vn){var _n=[WL,zL].indexOf(vn)>=0?1:-1,Tr=[PB,zL].indexOf(vn)>=0?\"y\":\"x\";qe[vn]+=Ct[Tr]*_n})}return qe}function T5x(a,u){u===void 0&&(u={});var c=u,b=c.placement,R=c.boundary,K=c.rootBoundary,s0=c.padding,Y=c.flipVariations,F0=c.allowedAutoPlacements,J0=F0===void 0?R00:F0,e1=cq(b),t1=e1?Y?bb0:bb0.filter(function(a1){return cq(a1)===e1}):LH,r1=t1.filter(function(a1){return J0.indexOf(a1)>=0});r1.length===0&&(r1=t1);var F1=r1.reduce(function(a1,D1){return a1[D1]=KH(a,{placement:D1,boundary:R,rootBoundary:K,padding:s0})[Gj(D1)],a1},{});return Object.keys(F1).sort(function(a1,D1){return F1[a1]-F1[D1]})}function w5x(a){if(Gj(a)===Ma0)return[];var u=K00(a);return[kb0(a),u,kb0(u)]}function k5x(a){var u=a.state,c=a.options,b=a.name;if(!u.modifiersData[b]._skip){for(var R=c.mainAxis,K=R===void 0?!0:R,s0=c.altAxis,Y=s0===void 0?!0:s0,F0=c.fallbackPlacements,J0=c.padding,e1=c.boundary,t1=c.rootBoundary,r1=c.altBoundary,F1=c.flipVariations,a1=F1===void 0?!0:F1,D1=c.allowedAutoPlacements,W0=u.options.placement,i1=Gj(W0),x1=i1===W0,ux=F0||(x1||!a1?[K00(W0)]:w5x(W0)),K1=[W0].concat(ux).reduce(function(pu,mi){return pu.concat(Gj(mi)===Ma0?T5x(u,{placement:mi,boundary:e1,rootBoundary:t1,padding:J0,flipVariations:a1,allowedAutoPlacements:D1}):mi)},[]),ee=u.rects.reference,Gx=u.rects.popper,ve=new Map,qe=!0,Jt=K1[0],Ct=0;Ct<K1.length;Ct++){var vn=K1[Ct],_n=Gj(vn),Tr=cq(vn)===sq,Lr=[PB,zL].indexOf(_n)>=0,Pn=Lr?\"width\":\"height\",En=KH(u,{placement:vn,boundary:e1,rootBoundary:t1,altBoundary:r1,padding:J0}),cr=Lr?Tr?WL:IB:Tr?zL:PB;ee[Pn]>Gx[Pn]&&(cr=K00(cr));var Ea=K00(cr),Qn=[];if(K&&Qn.push(En[_n]<=0),Y&&Qn.push(En[cr]<=0,En[Ea]<=0),Qn.every(function(pu){return pu})){Jt=vn,qe=!1;break}ve.set(vn,Qn)}if(qe)for(var Bu=a1?3:1,Au=function(mi){var ma=K1.find(function(ja){var Ua=ve.get(ja);if(Ua)return Ua.slice(0,mi).every(function(aa){return aa})});if(ma)return Jt=ma,\"break\"},Ec=Bu;Ec>0;Ec--){var kn=Au(Ec);if(kn===\"break\")break}u.placement!==Jt&&(u.modifiersData[b]._skip=!0,u.placement=Jt,u.reset=!0)}}var N5x={name:\"flip\",enabled:!0,phase:\"main\",fn:k5x,requiresIfExists:[\"offset\"],data:{_skip:!1}};function Ob0(a,u,c){return c===void 0&&(c={x:0,y:0}),{top:a.top-u.height-c.y,right:a.right-u.width+c.x,bottom:a.bottom-u.height+c.y,left:a.left-u.width-c.x}}function Bb0(a){return[PB,WL,zL,IB].some(function(u){return a[u]>=0})}function P5x(a){var u=a.state,c=a.name,b=u.rects.reference,R=u.rects.popper,K=u.modifiersData.preventOverflow,s0=KH(u,{elementContext:\"reference\"}),Y=KH(u,{altBoundary:!0}),F0=Ob0(s0,b),J0=Ob0(Y,R,K),e1=Bb0(F0),t1=Bb0(J0);u.modifiersData[c]={referenceClippingOffsets:F0,popperEscapeOffsets:J0,isReferenceHidden:e1,hasPopperEscaped:t1},u.attributes.popper=Object.assign({},u.attributes.popper,{\"data-popper-reference-hidden\":e1,\"data-popper-escaped\":t1})}var I5x={name:\"hide\",enabled:!0,phase:\"main\",requiresIfExists:[\"preventOverflow\"],fn:P5x};function O5x(a,u,c){var b=Gj(a),R=[IB,PB].indexOf(b)>=0?-1:1,K=typeof c==\"function\"?c(Object.assign({},u,{placement:a})):c,s0=K[0],Y=K[1];return s0=s0||0,Y=(Y||0)*R,[IB,WL].indexOf(b)>=0?{x:Y,y:s0}:{x:s0,y:Y}}function B5x(a){var u=a.state,c=a.options,b=a.name,R=c.offset,K=R===void 0?[0,0]:R,s0=R00.reduce(function(e1,t1){return e1[t1]=O5x(t1,u.rects,K),e1},{}),Y=s0[u.placement],F0=Y.x,J0=Y.y;u.modifiersData.popperOffsets!=null&&(u.modifiersData.popperOffsets.x+=F0,u.modifiersData.popperOffsets.y+=J0),u.modifiersData[b]=s0}var L5x={name:\"offset\",enabled:!0,phase:\"main\",requires:[\"popperOffsets\"],fn:B5x};function M5x(a){var u=a.state,c=a.name;u.modifiersData[c]=Ib0({reference:u.rects.reference,element:u.rects.popper,strategy:\"absolute\",placement:u.placement})}var R5x={name:\"popperOffsets\",enabled:!0,phase:\"read\",fn:M5x,data:{}};function j5x(a){return a===\"x\"?\"y\":\"x\"}function U5x(a){var u=a.state,c=a.options,b=a.name,R=c.mainAxis,K=R===void 0?!0:R,s0=c.altAxis,Y=s0===void 0?!1:s0,F0=c.boundary,J0=c.rootBoundary,e1=c.altBoundary,t1=c.padding,r1=c.tether,F1=r1===void 0?!0:r1,a1=c.tetherOffset,D1=a1===void 0?0:a1,W0=KH(u,{boundary:F0,rootBoundary:J0,padding:t1,altBoundary:e1}),i1=Gj(u.placement),x1=cq(u.placement),ux=!x1,K1=ja0(i1),ee=j5x(K1),Gx=u.modifiersData.popperOffsets,ve=u.rects.reference,qe=u.rects.popper,Jt=typeof D1==\"function\"?D1(Object.assign({},u.rects,{placement:u.placement})):D1,Ct={x:0,y:0};if(!!Gx){if(K||Y){var vn=K1===\"y\"?PB:IB,_n=K1===\"y\"?zL:WL,Tr=K1===\"y\"?\"height\":\"width\",Lr=Gx[K1],Pn=Gx[K1]+W0[vn],En=Gx[K1]-W0[_n],cr=F1?-qe[Tr]/2:0,Ea=x1===sq?ve[Tr]:qe[Tr],Qn=x1===sq?-qe[Tr]:-ve[Tr],Bu=u.elements.arrow,Au=F1&&Bu?Ra0(Bu):{width:0,height:0},Ec=u.modifiersData[\"arrow#persistent\"]?u.modifiersData[\"arrow#persistent\"].padding:Fb0(),kn=Ec[vn],pu=Ec[_n],mi=V00(0,ve[Tr],Au[Tr]),ma=ux?ve[Tr]/2-cr-mi-kn-Jt:Ea-mi-kn-Jt,ja=ux?-ve[Tr]/2+cr+mi+pu+Jt:Qn+mi+pu+Jt,Ua=u.elements.arrow&&UH(u.elements.arrow),aa=Ua?K1===\"y\"?Ua.clientTop||0:Ua.clientLeft||0:0,Os=u.modifiersData.offset?u.modifiersData.offset[u.placement][K1]:0,gn=Gx[K1]+ma-Os-aa,et=Gx[K1]+ja-Os;if(K){var Sr=V00(F1?VH(Pn,gn):Pn,Lr,F1?W$(En,et):En);Gx[K1]=Sr,Ct[K1]=Sr-Lr}if(Y){var un=K1===\"x\"?PB:IB,jn=K1===\"x\"?zL:WL,ea=Gx[ee],wa=ea+W0[un],as=ea-W0[jn],zo=V00(F1?VH(wa,gn):wa,ea,F1?W$(as,et):as);Gx[ee]=zo,Ct[ee]=zo-ea}}u.modifiersData[b]=Ct}}var V5x={name:\"preventOverflow\",enabled:!0,phase:\"main\",fn:U5x,requiresIfExists:[\"offset\"]};function $5x(a){return{scrollLeft:a.scrollLeft,scrollTop:a.scrollTop}}function K5x(a){return a===mR(a)||!qL(a)?Ua0(a):$5x(a)}function z5x(a){var u=a.getBoundingClientRect(),c=u.width/a.offsetWidth||1,b=u.height/a.offsetHeight||1;return c!==1||b!==1}function W5x(a,u,c){c===void 0&&(c=!1);var b=qL(u);qL(u)&&z5x(u);var R=z$(u),K=uq(a),s0={scrollLeft:0,scrollTop:0},Y={x:0,y:0};return(b||!b&&!c)&&((Hj(u)!==\"body\"||$a0(R))&&(s0=K5x(u)),qL(u)?(Y=uq(u),Y.x+=u.clientLeft,Y.y+=u.clientTop):R&&(Y.x=Va0(R))),{x:K.left+s0.scrollLeft-Y.x,y:K.top+s0.scrollTop-Y.y,width:K.width,height:K.height}}function q5x(a){var u=new Map,c=new Set,b=[];a.forEach(function(K){u.set(K.name,K)});function R(K){c.add(K.name);var s0=[].concat(K.requires||[],K.requiresIfExists||[]);s0.forEach(function(Y){if(!c.has(Y)){var F0=u.get(Y);F0&&R(F0)}}),b.push(K)}return a.forEach(function(K){c.has(K.name)||R(K)}),b}function J5x(a){var u=q5x(a);return i5x.reduce(function(c,b){return c.concat(u.filter(function(R){return R.phase===b}))},[])}function H5x(a){var u;return function(){return u||(u=new Promise(function(c){Promise.resolve().then(function(){u=void 0,c(a())})})),u}}function G5x(a){var u=a.reduce(function(c,b){var R=c[b.name];return c[b.name]=R?Object.assign({},R,b,{options:Object.assign({},R.options,b.options),data:Object.assign({},R.data,b.data)}):b,c},{});return Object.keys(u).map(function(c){return u[c]})}var Lb0={placement:\"bottom\",modifiers:[],strategy:\"absolute\"};function Mb0(){for(var a=arguments.length,u=new Array(a),c=0;c<a;c++)u[c]=arguments[c];return!u.some(function(b){return!(b&&typeof b.getBoundingClientRect==\"function\")})}function X5x(a){a===void 0&&(a={});var u=a,c=u.defaultModifiers,b=c===void 0?[]:c,R=u.defaultOptions,K=R===void 0?Lb0:R;return function(Y,F0,J0){J0===void 0&&(J0=K);var e1={placement:\"bottom\",orderedModifiers:[],options:Object.assign({},Lb0,K),modifiersData:{},elements:{reference:Y,popper:F0},attributes:{},styles:{}},t1=[],r1=!1,F1={state:e1,setOptions:function(i1){var x1=typeof i1==\"function\"?i1(e1.options):i1;D1(),e1.options=Object.assign({},K,e1.options,x1),e1.scrollParents={reference:jH(Y)?$H(Y):Y.contextElement?$H(Y.contextElement):[],popper:$H(F0)};var ux=J5x(G5x([].concat(b,e1.options.modifiers)));return e1.orderedModifiers=ux.filter(function(K1){return K1.enabled}),a1(),F1.update()},forceUpdate:function(){if(!r1){var i1=e1.elements,x1=i1.reference,ux=i1.popper;if(!!Mb0(x1,ux)){e1.rects={reference:W5x(x1,UH(ux),e1.options.strategy===\"fixed\"),popper:Ra0(ux)},e1.reset=!1,e1.placement=e1.options.placement,e1.orderedModifiers.forEach(function(Ct){return e1.modifiersData[Ct.name]=Object.assign({},Ct.data)});for(var K1=0;K1<e1.orderedModifiers.length;K1++){if(e1.reset===!0){e1.reset=!1,K1=-1;continue}var ee=e1.orderedModifiers[K1],Gx=ee.fn,ve=ee.options,qe=ve===void 0?{}:ve,Jt=ee.name;typeof Gx==\"function\"&&(e1=Gx({state:e1,options:qe,name:Jt,instance:F1})||e1)}}}},update:H5x(function(){return new Promise(function(W0){F1.forceUpdate(),W0(e1)})}),destroy:function(){D1(),r1=!0}};if(!Mb0(Y,F0))return F1;F1.setOptions(J0).then(function(W0){!r1&&J0.onFirstUpdate&&J0.onFirstUpdate(W0)});function a1(){e1.orderedModifiers.forEach(function(W0){var i1=W0.name,x1=W0.options,ux=x1===void 0?{}:x1,K1=W0.effect;if(typeof K1==\"function\"){var ee=K1({state:e1,name:i1,instance:F1,options:ux}),Gx=function(){};t1.push(ee||Gx)}})}function D1(){t1.forEach(function(W0){return W0()}),t1=[]}return F1}}var Y5x=[D5x,R5x,_5x,s5x,L5x,N5x,V5x,d5x,I5x],Q5x=X5x({defaultModifiers:Y5x});function Z5x(){var a=window.navigator.userAgent,u=a.indexOf(\"MSIE \");if(u>0)return parseInt(a.substring(u+5,a.indexOf(\".\",u)),10);var c=a.indexOf(\"Trident/\");if(c>0){var b=a.indexOf(\"rv:\");return parseInt(a.substring(b+3,a.indexOf(\".\",b)),10)}var R=a.indexOf(\"Edge/\");return R>0?parseInt(a.substring(R+5,a.indexOf(\".\",R)),10):-1}let z00;function za0(){za0.init||(za0.init=!0,z00=Z5x()!==-1)}var W00={name:\"ResizeObserver\",props:{emitOnMount:{type:Boolean,default:!1},ignoreWidth:{type:Boolean,default:!1},ignoreHeight:{type:Boolean,default:!1}},emits:[\"notify\"],mounted(){za0(),Yk(()=>{this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.emitOnMount&&this.emitSize()});const a=document.createElement(\"object\");this._resizeObject=a,a.setAttribute(\"aria-hidden\",\"true\"),a.setAttribute(\"tabindex\",-1),a.onload=this.addResizeHandlers,a.type=\"text/html\",z00&&this.$el.appendChild(a),a.data=\"about:blank\",z00||this.$el.appendChild(a)},beforeUnmount(){this.removeResizeHandlers()},methods:{compareAndNotify(){(!this.ignoreWidth&&this._w!==this.$el.offsetWidth||!this.ignoreHeight&&this._h!==this.$el.offsetHeight)&&(this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.emitSize())},emitSize(){this.$emit(\"notify\",{width:this._w,height:this._h})},addResizeHandlers(){this._resizeObject.contentDocument.defaultView.addEventListener(\"resize\",this.compareAndNotify),this.compareAndNotify()},removeResizeHandlers(){this._resizeObject&&this._resizeObject.onload&&(!z00&&this._resizeObject.contentDocument&&this._resizeObject.contentDocument.defaultView.removeEventListener(\"resize\",this.compareAndNotify),this.$el.removeChild(this._resizeObject),this._resizeObject.onload=null,this._resizeObject=null)}}};const xwx=Th0(\"data-v-b329ee4c\");Fh0(\"data-v-b329ee4c\");const ewx={class:\"resize-observer\",tabindex:\"-1\"};Ah0();const twx=xwx((a,u,c,b,R,K)=>(Xi(),xa(\"div\",ewx)));W00.render=twx;W00.__scopeId=\"data-v-b329ee4c\";W00.__file=\"src/components/ResizeObserver.vue\";function q00(a){return typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?q00=function(u){return typeof u}:q00=function(u){return u&&typeof Symbol==\"function\"&&u.constructor===Symbol&&u!==Symbol.prototype?\"symbol\":typeof u},q00(a)}function Rb0(a,u,c,b,R,K,s0){try{var Y=a[K](s0),F0=Y.value}catch(J0){c(J0);return}Y.done?u(F0):Promise.resolve(F0).then(b,R)}function Cz(a){return function(){var u=this,c=arguments;return new Promise(function(b,R){var K=a.apply(u,c);function s0(F0){Rb0(K,b,R,s0,Y,\"next\",F0)}function Y(F0){Rb0(K,b,R,s0,Y,\"throw\",F0)}s0(void 0)})}}function rwx(a,u,c){return u in a?Object.defineProperty(a,u,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[u]=c,a}function jb0(a,u){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var b=Object.getOwnPropertySymbols(a);u&&(b=b.filter(function(R){return Object.getOwnPropertyDescriptor(a,R).enumerable})),c.push.apply(c,b)}return c}function hR(a){for(var u=1;u<arguments.length;u++){var c=arguments[u]!=null?arguments[u]:{};u%2?jb0(Object(c),!0).forEach(function(b){rwx(a,b,c[b])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(c)):jb0(Object(c)).forEach(function(b){Object.defineProperty(a,b,Object.getOwnPropertyDescriptor(c,b))})}return a}function Ub0(a){return nwx(a)||iwx(a)||Vb0(a)||awx()}function nwx(a){if(Array.isArray(a))return Wa0(a)}function iwx(a){if(typeof Symbol!=\"undefined\"&&Symbol.iterator in Object(a))return Array.from(a)}function Vb0(a,u){if(!!a){if(typeof a==\"string\")return Wa0(a,u);var c=Object.prototype.toString.call(a).slice(8,-1);if(c===\"Object\"&&a.constructor&&(c=a.constructor.name),c===\"Map\"||c===\"Set\")return Array.from(a);if(c===\"Arguments\"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c))return Wa0(a,u)}}function Wa0(a,u){(u==null||u>a.length)&&(u=a.length);for(var c=0,b=new Array(u);c<u;c++)b[c]=a[c];return b}function awx(){throw new TypeError(`Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function qa0(a,u){var c;if(typeof Symbol==\"undefined\"||a[Symbol.iterator]==null){if(Array.isArray(a)||(c=Vb0(a))||u&&a&&typeof a.length==\"number\"){c&&(a=c);var b=0,R=function(){};return{s:R,n:function(){return b>=a.length?{done:!0}:{done:!1,value:a[b++]}},e:function(F0){throw F0},f:R}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var K=!0,s0=!1,Y;return{s:function(){c=a[Symbol.iterator]()},n:function(){var F0=c.next();return K=F0.done,F0},e:function(F0){s0=!0,Y=F0},f:function(){try{!K&&c.return!=null&&c.return()}finally{if(s0)throw Y}}}}var zH={disabled:!1,offset:[0,5],container:\"body\",boundary:void 0,instantMove:!1,disposeTimeout:5e3,popperTriggers:[],strategy:\"absolute\",modifiers:[],popperOptions:{},themes:{tooltip:{placement:\"top\",triggers:[\"hover\",\"focus\",\"touch\"],hideTriggers:function(u){return[].concat(Ub0(u),[\"click\"])},delay:{show:200,hide:0},handleResize:!1,html:!1,loadingContent:\"...\"},dropdown:{placement:\"bottom\",triggers:[\"click\"],delay:0,handleResize:!0,autoHide:!0},menu:{$extend:\"dropdown\",triggers:[\"hover\",\"focus\"],popperTriggers:[\"hover\",\"focus\"],delay:{show:0,hide:400}}}};function yk(a,u){var c=zH.themes[a]||{},b;do b=c[u],typeof b==\"undefined\"?c.$extend?c=zH.themes[c.$extend]||{}:(c=null,b=zH[u]):c=null;while(c);return b}function owx(a){var u=[a],c=zH.themes[a]||{};do c.$extend&&!c.$resetCss?(u.push(c.$extend),c=zH.themes[c.$extend]||{}):c=null;while(c);return u.map(function(b){return\"v-popper--theme-\".concat(b)})}var Ja0=!1;if(typeof window!=\"undefined\"){Ja0=!1;try{var swx=Object.defineProperty({},\"passive\",{get:function(){Ja0=!0}});window.addEventListener(\"test\",null,swx)}catch{}}var $b0=!1;typeof window!=\"undefined\"&&typeof navigator!=\"undefined\"&&($b0=/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream);function J00(a,u,c){var b=a.find(function(R){return R.name===u});b||(b={name:u,options:{}},a.push(b)),Object.assign(b.options,c)}var Kb0={hover:\"mouseenter\",focus:\"focus\",click:\"click\",touch:\"touchstart\"},zb0={hover:\"mouseleave\",focus:\"blur\",click:\"click\",touch:\"touchend\"};function uwx(a,u){var c=a.indexOf(u);c!==-1&&a.splice(c,1)}var lq=[],fq=null,Ha0=function(){};typeof window!=\"undefined\"&&(Ha0=window.Element);var Wb0=function(){return{name:\"VPopper\",props:{theme:{type:String,required:!0},targetNodes:{type:Function,required:!0},referenceNode:{type:Function,required:!0},popperNode:{type:Function,required:!0},arrowNode:{type:Function,default:null},shown:{type:Boolean,default:!1},showGroup:{type:String,default:null},ariaId:{default:null},disabled:{type:Boolean,default:function(u){return yk(u.theme,\"disabled\")}},placement:{type:String,default:function(u){return yk(u.theme,\"placement\")},validator:function(u){return R00.includes(u)}},delay:{type:[String,Number,Object],default:function(u){return yk(u.theme,\"delay\")}},offset:{type:[Array,Function],default:function(u){return yk(u.theme,\"offset\")}},triggers:{type:Array,default:function(u){return yk(u.theme,\"triggers\")}},showTriggers:{type:[Array,Function],default:function(u){return yk(u.theme,\"showTriggers\")}},hideTriggers:{type:[Array,Function],default:function(u){return yk(u.theme,\"hideTriggers\")}},popperTriggers:{type:Array,default:function(u){return yk(u.theme,\"popperTriggers\")}},popperShowTriggers:{type:[Array,Function],default:function(u){return yk(u.theme,\"popperShowTriggers\")}},popperHideTriggers:{type:[Array,Function],default:function(u){return yk(u.theme,\"popperHideTriggers\")}},container:{type:[String,Object,Ha0,Boolean],default:function(u){return yk(u.theme,\"container\")}},boundary:{type:[String,Ha0],default:function(u){return yk(u.theme,\"boundary\")}},strategy:{type:String,validator:function(u){return[\"absolute\",\"fixed\"].includes(u)},default:function(u){return yk(u.theme,\"strategy\")}},modifiers:{type:Array,default:function(u){return yk(u.theme,\"modifiers\")}},popperOptions:{type:Object,default:function(u){return yk(u.theme,\"popperOptions\")}},autoHide:{type:Boolean,default:function(u){return yk(u.theme,\"autoHide\")}},handleResize:{type:Boolean,default:function(u){return yk(u.theme,\"handleResize\")}},instantMove:{type:Boolean,default:function(u){return yk(u.theme,\"instantMove\")}},eagerMount:{type:Boolean,default:function(u){return yk(u.theme,\"eagerMount\")}}},emits:[\"show\",\"hide\",\"update:shown\",\"apply-show\",\"apply-hide\",\"close-group\",\"close-directive\",\"auto-hide\",\"resize\",\"dispose\"],data:function(){return{isShown:!1,isMounted:!1,skipTransition:!1,classes:{showFrom:!1,showTo:!1,hideFrom:!1,hideTo:!0}}},computed:{popperId:function(){return this.ariaId!=null?this.ariaId:this.randomId},shouldMountContent:function(){return this.eagerMount||this.isMounted},slotData:function(){return{popperId:this.popperId,isShown:this.isShown,shouldMountContent:this.shouldMountContent,skipTransition:this.skipTransition,autoHide:this.autoHide,hide:this.hide,handleResize:this.handleResize,onResize:this.onResize,classes:hR({},this.classes)}}},watch:{shown:\"$_autoShowHide\",disabled:function(u){u?this.dispose():this.init()},container:function(){var u=this;return Cz(function*(){u.isShown&&u.popperInstance&&(u.$_ensureContainer(),yield u.popperInstance.update())})()},triggers:function(){this.$_removeEventListeners(),this.$_addEventListeners()},placement:\"$_refreshPopperOptions\",offset:\"$_refreshPopperOptions\",boundary:\"$_refreshPopperOptions\",strategy:\"$_refreshPopperOptions\",modifiers:\"$_refreshPopperOptions\",popperOptions:{handler:\"$_refreshPopperOptions\",deep:!0}},created:function(){this.randomId=\"popper_\".concat([Math.random(),Date.now()].map(function(u){return u.toString(36).substr(2,10)}).join(\"_\"))},mounted:function(){this.init()},activated:function(){this.$_autoShowHide()},deactivated:function(){this.hide()},beforeUnmount:function(){this.dispose()},methods:{show:function(){var u=this,c=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},b=c.event,R=c.skipDelay,K=R===void 0?!1:R,s0=c.force,Y=s0===void 0?!1:s0;(Y||!this.disabled)&&(this.$_scheduleShow(b,K),this.$emit(\"show\"),this.$_showFrameLocked=!0,requestAnimationFrame(function(){u.$_showFrameLocked=!1})),this.$emit(\"update:shown\",!0)},hide:function(){var u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},c=u.event,b=u.skipDelay,R=b===void 0?!1:b;this.$_scheduleHide(c,R),this.$emit(\"hide\"),this.$emit(\"update:shown\",!1)},init:function(){this.$_isDisposed=!1,this.isMounted=!1,this.$_events=[],this.$_preventShow=!1,this.$_targetNodes=this.targetNodes().filter(function(u){return u.nodeType===u.ELEMENT_NODE}),this.$_popperNode=this.popperNode(),this.$_swapTargetAttrs(\"title\",\"data-original-title\"),this.$_detachPopperNode(),this.triggers.length&&this.$_addEventListeners(),this.shown&&this.show()},dispose:function(){this.$_isDisposed=!0,this.$_removeEventListeners(),this.hide({skipDelay:!0}),this.popperInstance&&(this.popperInstance.destroy(),this.$_detachPopperNode()),this.isMounted=!1,this.popperInstance=null,this.isShown=!1,this.$_swapTargetAttrs(\"data-original-title\",\"title\"),this.$emit(\"dispose\")},onResize:function(){var u=this;return Cz(function*(){u.isShown&&u.popperInstance&&(yield u.popperInstance.update(),u.$emit(\"resize\"))})()},$_getPopperOptions:function(){var u=this,c=hR(hR({},this.popperOptions),{},{placement:this.placement,strategy:this.strategy,modifiers:this.modifiers,onFirstUpdate:function(){var b=Cz(function*(K){u.popperOptions.onFirstUpdate&&u.popperOptions.onFirstUpdate(K),yield u.$_applyShowEffect()});function R(K){return b.apply(this,arguments)}return R}()});return c.modifiers||(c.modifiers=[]),J00(c.modifiers,\"arrow\",{element:this.arrowNode&&this.arrowNode()||\"[data-popper-arrow]\"}),this.offset&&J00(c.modifiers,\"offset\",{offset:this.offset}),this.boundary&&J00(c.modifiers,\"preventOverflow\",{boundary:this.boundary}),this.isShown||J00(c.modifiers,\"eventListeners\",{enabled:!1}),c},$_refreshPopperOptions:function(){var u=this;return Cz(function*(){u.popperInstance&&(yield u.popperInstance.setOptions(u.$_getPopperOptions()))})()},$_scheduleShow:function(){var u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(this.$_hideInProgress=!1,clearTimeout(this.$_scheduleTimer),fq&&this.instantMove&&fq.instantMove){fq.$_applyHide(!0),this.$_applyShow(!0);return}u?this.$_applyShow():this.$_scheduleTimer=setTimeout(this.$_applyShow.bind(this),this.$_computeDelay(\"show\"))},$_scheduleHide:function(){var u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;this.$_hideInProgress=!0,clearTimeout(this.$_scheduleTimer),this.isShown&&(fq=this),u?this.$_applyHide():this.$_scheduleTimer=setTimeout(this.$_applyHide.bind(this),this.$_computeDelay(\"hide\"))},$_computeDelay:function(u){var c=this.delay;return parseInt(c&&c[u]||c||0)},$_applyShow:function(){var u=arguments,c=this;return Cz(function*(){var b=u.length>0&&u[0]!==void 0?u[0]:!1;clearTimeout(c.$_disposeTimer),clearTimeout(c.$_scheduleTimer),c.skipTransition=b,!c.isShown&&(c.isMounted||(c.$_ensureContainer(),c.isMounted=!0),c.popperInstance?(yield c.popperInstance.update(),yield c.$_refreshPopperOptions(),yield c.$_applyShowEffect()):c.popperInstance=Q5x(c.referenceNode(),c.$_popperNode,c.$_getPopperOptions()))})()},$_applyShowEffect:function(){var u=this;return Cz(function*(){if(!u.$_hideInProgress){u.isShown=!0,u.$_applyAttrsToTarget({\"aria-describedby\":u.popperId,\"data-popper-shown\":\"\"});var c=u.showGroup;if(c)for(var b,R=0;R<lq.length;R++)b=lq[R],b.showGroup!==c&&(b.hide(),b.$emit(\"close-group\"));lq.push(u),u.$emit(\"apply-show\"),u.$_popperNode.setAttribute(\"data-popper-placement\",u.popperInstance.state.placement),u.classes.showFrom=!0,u.classes.showTo=!1,u.classes.hideFrom=!1,u.classes.hideTo=!1,yield Jb0(),u.classes.showFrom=!1,u.classes.showTo=!0}})()},$_applyHide:function(){var u=arguments,c=this;return Cz(function*(){var b=u.length>0&&u[0]!==void 0?u[0]:!1;if(clearTimeout(c.$_scheduleTimer),!!c.isShown){c.skipTransition=b,uwx(lq,c),fq===c&&(fq=null),c.isShown=!1,c.popperInstance&&(yield c.$_refreshPopperOptions()),c.$_applyAttrsToTarget({\"aria-describedby\":void 0,\"data-popper-shown\":void 0}),clearTimeout(c.$_disposeTimer);var R=yk(c.theme,\"disposeTimeout\");R!==null&&(c.$_disposeTimer=setTimeout(function(){c.$_popperNode&&(c.$_detachPopperNode(),c.isMounted=!1)},R)),c.$emit(\"apply-hide\"),c.classes.showFrom=!1,c.classes.showTo=!1,c.classes.hideFrom=!0,c.classes.hideTo=!1,yield Jb0(),c.classes.hideFrom=!1,c.classes.hideTo=!0}})()},$_autoShowHide:function(){this.shown?this.show():this.hide()},$_ensureContainer:function(){var u=this.container;if(typeof u==\"string\"?u=window.document.querySelector(u):u===!1&&(u=this.$_targetNodes[0].parentNode),!u)throw new Error(\"No container for popover: \"+this.container);u.appendChild(this.$_popperNode)},$_addEventListeners:function(){var u=this,c=function(s0,Y,F0,J0,e1){var t1=F0;J0!=null&&(t1=typeof J0==\"function\"?J0(t1):J0),t1.forEach(function(r1){var F1=Y[r1];F1&&(u.$_events.push({targetNodes:s0,eventType:F1,handler:e1}),s0.forEach(function(a1){return a1.addEventListener(F1,e1)}))})},b=function(s0){u.isShown&&!u.$_hideInProgress||(s0.usedByTooltip=!0,!u.$_preventShow&&u.show({event:s0}))};c(this.$_targetNodes,Kb0,this.triggers,this.showTriggers,b),c([this.$_popperNode],Kb0,this.popperTriggers,this.popperShowTriggers,b);var R=function(s0){s0.usedByTooltip||u.hide({event:s0})};c(this.$_targetNodes,zb0,this.triggers,this.hideTriggers,R),c([this.$_popperNode],zb0,this.popperTriggers,this.popperHideTriggers,R)},$_removeEventListeners:function(){this.$_events.forEach(function(u){var c=u.targetNodes,b=u.eventType,R=u.handler;c.forEach(function(K){return K.removeEventListener(b,R)})}),this.$_events=[]},$_handleGlobalClose:function(u){var c=this,b=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;this.$_showFrameLocked||(this.hide({event:u}),u.closePopover?this.$emit(\"close-directive\"):this.$emit(\"auto-hide\"),b&&(this.$_preventShow=!0,setTimeout(function(){c.$_preventShow=!1},300)))},$_detachPopperNode:function(){this.$_popperNode.parentNode&&this.$_popperNode.parentNode.removeChild(this.$_popperNode)},$_swapTargetAttrs:function(u,c){var b=qa0(this.$_targetNodes),R;try{for(b.s();!(R=b.n()).done;){var K=R.value,s0=K.getAttribute(u);s0&&(K.removeAttribute(u),K.setAttribute(c,s0))}}catch(Y){b.e(Y)}finally{b.f()}},$_applyAttrsToTarget:function(u){var c=qa0(this.$_targetNodes),b;try{for(c.s();!(b=c.n()).done;){var R=b.value;for(var K in u){var s0=u[K];s0==null?R.removeAttribute(K):R.setAttribute(K,s0)}}}catch(Y){c.e(Y)}finally{c.f()}}},render:function(){return this.$slots.default(this.slotData)}}};typeof document!=\"undefined\"&&typeof window!=\"undefined\"&&($b0?document.addEventListener(\"touchend\",lwx,Ja0?{passive:!0,capture:!0}:!0):window.addEventListener(\"click\",cwx,!0));function cwx(a){qb0(a)}function lwx(a){qb0(a,!0)}function qb0(a){for(var u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,c=function(K){var s0=lq[K],Y=s0.popperNode(),F0=Y.contains(a.target);requestAnimationFrame(function(){(a.closeAllPopover||a.closePopover&&F0||s0.autoHide&&!F0)&&s0.$_handleGlobalClose(a,u)})},b=0;b<lq.length;b++)c(b)}function Jb0(){return new Promise(function(a){return requestAnimationFrame(a)})}var Hb0={computed:{themeClass:function(){return owx(this.theme)}}},H00={name:\"VPopperContent\",components:{ResizeObserver:W00},mixins:[Hb0],props:{popperId:String,theme:String,shown:Boolean,mounted:Boolean,skipTransition:Boolean,autoHide:Boolean,handleResize:Boolean,classes:Object},emits:[\"hide\",\"resize\"]},fwx={class:\"v-popper__wrapper\"},pwx={ref:\"inner\",class:\"v-popper__inner\"},dwx={ref:\"arrow\",class:\"v-popper__arrow-container\"},mwx=pi(\"div\",{class:\"v-popper__arrow\"},null,-1);function hwx(a,u,c,b,R,K){var s0=TW(\"ResizeObserver\");return Xi(),xa(\"div\",{id:c.popperId,ref:\"popover\",class:[\"v-popper__popper\",[a.themeClass,{\"v-popper__popper--shown\":c.shown,\"v-popper__popper--hidden\":!c.shown,\"v-popper__popper--show-from\":c.classes.showFrom,\"v-popper__popper--show-to\":c.classes.showTo,\"v-popper__popper--hide-from\":c.classes.hideFrom,\"v-popper__popper--hide-to\":c.classes.hideTo,\"v-popper__popper--skip-transition\":c.skipTransition}]],\"aria-hidden\":c.shown?\"false\":\"true\",tabindex:c.autoHide?0:void 0,onKeyup:u[2]||(u[2]=p_0(function(Y){return c.autoHide&&a.$emit(\"hide\")},[\"esc\"]))},[pi(\"div\",fwx,[pi(\"div\",pwx,[c.mounted?(Xi(),xa(kN,{key:0},[pi(\"div\",null,[yZ(a.$slots,\"default\")]),c.handleResize?(Xi(),xa(s0,{key:0,onNotify:u[1]||(u[1]=function(Y){return a.$emit(\"resize\",Y)})})):bn0(\"v-if\",!0)],64)):bn0(\"v-if\",!0)],512),pi(\"div\",dwx,[mwx],512)])],42,[\"id\",\"aria-hidden\",\"tabindex\"])}H00.render=hwx;H00.__file=\"src/components/PopperContent.vue\";var Gb0={methods:{show:function(){var u;return(u=this.$refs.popper).show.apply(u,arguments)},hide:function(){var u;return(u=this.$refs.popper).hide.apply(u,arguments)},dispose:function(){var u;return(u=this.$refs.popper).dispose.apply(u,arguments)},onResize:function(){var u;return(u=this.$refs.popper).onResize.apply(u,arguments)}}},WH={name:\"VPopperWrapper\",components:{Popper:Wb0(),PopperContent:H00},mixins:[Gb0,Hb0],inheritAttrs:!1,props:{theme:{type:String,default:null}},computed:{finalTheme:function(){var u;return(u=this.theme)!==null&&u!==void 0?u:this.$options.vPopperTheme}},methods:{getTargetNodes:function(){var u=Ub0(this.$refs.reference.children);return u.slice(0,u.length-1).filter(Boolean)}}};function gwx(a,u,c,b,R,K){var s0=TW(\"PopperContent\"),Y=TW(\"Popper\");return Xi(),xa(Y,KJ({ref:\"popper\"},a.$attrs,{theme:K.finalTheme,\"target-nodes\":K.getTargetNodes,\"reference-node\":function(){return a.$refs.reference},\"popper-node\":function(){return a.$refs.popperContent.$el},\"arrow-node\":function(){return a.$refs.popperContent.$refs.arrow}}),{default:nz(function(F0){var J0=F0.popperId,e1=F0.isShown,t1=F0.shouldMountContent,r1=F0.skipTransition,F1=F0.autoHide,a1=F0.hide,D1=F0.handleResize,W0=F0.onResize,i1=F0.classes;return[pi(\"div\",{ref:\"reference\",class:[\"v-popper\",[a.themeClass,{\"v-popper--shown\":e1}]]},[yZ(a.$slots,\"default\"),pi(s0,{ref:\"popperContent\",\"popper-id\":J0,theme:K.finalTheme,shown:e1,mounted:t1,\"skip-transition\":r1,\"auto-hide\":F1,\"handle-resize\":D1,classes:i1,onHide:a1,onResize:W0},{default:nz(function(){return[yZ(a.$slots,\"popper\",{shown:e1})]}),_:2},1032,[\"popper-id\",\"theme\",\"shown\",\"mounted\",\"skip-transition\",\"auto-hide\",\"handle-resize\",\"classes\",\"onHide\",\"onResize\"])],2)]}),_:3},16,[\"theme\",\"target-nodes\",\"reference-node\",\"popper-node\",\"arrow-node\"])}WH.render=gwx;WH.__file=\"src/components/PopperWrapper.vue\";var _wx=hR(hR({},WH),{},{name:\"VDropdown\",vPopperTheme:\"dropdown\"});_wx.__file=\"src/components/Dropdown.vue\";var ywx=hR(hR({},WH),{},{name:\"VMenu\",vPopperTheme:\"menu\"});ywx.__file=\"src/components/Menu.vue\";var Dwx=hR(hR({},WH),{},{name:\"VTooltip\",vPopperTheme:\"tooltip\"});Dwx.__file=\"src/components/Tooltip.vue\";var Ga0={name:\"VTooltipDirective\",components:{Popper:Wb0(),PopperContent:H00},mixins:[Gb0],inheritAttrs:!1,props:{theme:{type:String,default:\"tooltip\"},html:{type:Boolean,default:function(u){return yk(u.theme,\"html\")}},content:{type:[String,Number,Function],default:null},loadingContent:{type:String,default:function(u){return yk(u.theme,\"loadingContent\")}}},data:function(){return{asyncContent:null}},computed:{isContentAsync:function(){return typeof this.content==\"function\"},loading:function(){return this.isContentAsync&&this.asyncContent==null},finalContent:function(){return this.isContentAsync?this.loading?this.loadingContent:this.asyncContent:this.content}},watch:{content:{handler:function(){this.fetchContent(!0)},immediate:!0},finalContent:function(u){var c=this;this.$nextTick(function(){c.$refs.popper.onResize()})}},created:function(){this.$_fetchId=0},methods:{fetchContent:function(u){var c=this;if(typeof this.content==\"function\"&&this.$_isShown&&(u||!this.$_loading&&this.asyncContent==null)){this.asyncContent=null,this.$_loading=!0;var b=++this.$_fetchId,R=this.content(this);R.then?R.then(function(K){return c.onResult(b,K)}):this.onResult(b,R)}},onResult:function(u,c){u===this.$_fetchId&&(this.$_loading=!1,this.asyncContent=c)},onShow:function(){this.$_isShown=!0,this.fetchContent()},onHide:function(){this.$_isShown=!1}}};function vwx(a,u,c,b,R,K){var s0=TW(\"PopperContent\"),Y=TW(\"Popper\");return Xi(),xa(Y,KJ({ref:\"popper\"},a.$attrs,{theme:c.theme,\"popper-node\":function(){return a.$refs.popperContent.$el},\"arrow-node\":function(){return a.$refs.popperContent.$refs.arrow},onApplyShow:K.onShow,onApplyHide:K.onHide}),{default:nz(function(F0){var J0=F0.popperId,e1=F0.isShown,t1=F0.shouldMountContent,r1=F0.skipTransition,F1=F0.autoHide,a1=F0.hide,D1=F0.handleResize,W0=F0.onResize,i1=F0.classes;return[pi(s0,{ref:\"popperContent\",class:{\"v-popper--tooltip-loading\":K.loading},\"popper-id\":J0,theme:c.theme,shown:e1,mounted:t1,\"skip-transition\":r1,\"auto-hide\":F1,\"handle-resize\":D1,classes:i1,onHide:a1,onResize:W0},{default:nz(function(){return[c.html?(Xi(),xa(\"div\",{key:0,innerHTML:K.finalContent},null,8,[\"innerHTML\"])):(Xi(),xa(\"div\",{key:1,textContent:ph0(K.finalContent)},null,8,[\"textContent\"]))]}),_:2},1032,[\"class\",\"popper-id\",\"theme\",\"shown\",\"mounted\",\"skip-transition\",\"auto-hide\",\"handle-resize\",\"classes\",\"onHide\",\"onResize\"])]}),_:1},16,[\"theme\",\"popper-node\",\"arrow-node\",\"onApplyShow\",\"onApplyHide\"])}Ga0.render=vwx;Ga0.__file=\"src/components/TooltipDirective.vue\";var Xb0=\"v-popper--has-tooltip\";function bwx(a,u){var c=a.placement;if(!c&&u){var b=qa0(R00),R;try{for(b.s();!(R=b.n()).done;){var K=R.value;u[K]&&(c=K)}}catch(s0){b.e(s0)}finally{b.f()}}return c||(c=yk(a.theme||\"tooltip\",\"placement\")),c}function Yb0(a,u,c){var b,R=q00(u);return R===\"string\"?b={content:u}:u&&R===\"object\"?b=u:b={content:!1},b.placement=bwx(b,c),b.targetNodes=function(){return[a]},b.referenceNode=function(){return a},b}function Cwx(a,u,c){var b=Yb0(a,u,c),R=a.$_popper=y_0({name:\"VTooltipDirective\",data:function(){return{options:b}},render:function(){return CB(Ga0,hR(hR({},this.options),{},{ref:\"tooltip\"}))}}),K=document.createElement(\"div\");return document.body.appendChild(K),R.mount(K),a.classList&&a.classList.add(Xb0),R}function Qb0(a){a.$_popper&&(a.$_popper.unmount(),delete a.$_popper,delete a.$_popperOldShown),a.classList&&a.classList.remove(Xb0)}function Zb0(a,u){var c=u.value,b=u.modifiers,R=Yb0(a,c,b);if(!R.content||yk(R.theme||\"tooltip\",\"disabled\"))Qb0(a);else{var K;a.$_popper?(K=a.$_popper,K.options=R):K=Cwx(a,c,b),typeof c.shown!=\"undefined\"&&c.shown!==a.$_popperOldShown&&(a.$_popperOldShown=c.shown,c.shown?K.$refs.tooltip.show():K.$refs.tooltip.hide())}}var Ewx={beforeMount:Zb0,updated:Zb0,beforeUnmount:function(u){Qb0(u)}},Tkx=Ewx;export{bkx as $,oi0 as A,n2 as B,oP as C,Nk as D,CB as E,kN as F,$Dx as G,zwx as H,jm as I,Nwx as J,og0 as K,Pwx as L,Rwx as M,Mwx as N,jwx as O,Uwx as P,Bwx as Q,Vwx as R,Lwx as S,sy0 as T,Oyx as U,Xgx as V,akx as W,okx as X,Kn0 as Y,q8x as Z,Twx as _,Swx as a,oAx as a$,_B as a0,Ekx as a1,Q8x as a2,qwx as a3,Jwx as a4,Wwx as a5,Z8x as a6,I9 as a7,Skx as a8,rkx as a9,gkx as aA,_kx as aB,ykx as aC,hkx as aD,Cgx as aE,y_0 as aF,JTx as aG,Tkx as aH,Awx as aI,wwx as aJ,jyx as aK,Fwx as aL,Eyx as aM,VDx as aN,Ckx as aO,Kwx as aP,$F as aQ,vkx as aR,xN as aS,Iwx as aT,BQ as aU,jy0 as aV,smx as aW,Owx as aX,p_0 as aY,hAx as aZ,QFx as a_,nkx as aa,tkx as ab,rgx as ac,pg0 as ad,ikx as ae,Fkx as af,Lyx as ag,o4 as ah,Hgx as ai,Wgx as aj,Akx as ak,ig0 as al,RTx as am,ckx as an,ukx as ao,skx as ap,Qwx as aq,Zwx as ar,xkx as as,ekx as at,Ywx as au,dkx as av,pkx as aw,fkx as ax,mkx as ay,Dkx as az,w_0 as b,sTx as b0,jJ as b1,$wx as b2,lkx as b3,FFx as b4,U4x as b5,H4x as b6,wTx as b7,Gwx as b8,Xwx as b9,Hwx as ba,gTx as bb,tAx as bc,lh0 as bd,Yk as be,T6x as bf,yF as bg,BL as bh,Ghx as bi,tz as bj,ZFx as bk,W4x as bl,q4x as bm,jDx as c,ZDx as d,lg0 as e,pi as f,yZ as g,Dn0 as h,vn0 as i,bn0 as j,Sp as k,xa as l,kJ as m,wJ as n,Xi as o,E_x as p,Zh0 as q,TW as r,KJ as s,ph0 as t,O8 as u,o_0 as v,nz as w,jw as x,Ggx as y,kwx as z};\n"
  },
  {
    "path": "public/build/manifest.json",
    "content": "{\n  \"resources/scripts/main.js\": {\n    \"file\": \"assets/main.465728e1.js\",\n    \"src\": \"resources/scripts/main.js\",\n    \"isEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\"\n    ],\n    \"dynamicImports\": [\n      \"resources/scripts/admin/layouts/LayoutInstallation.vue\",\n      \"resources/scripts/admin/views/auth/Login.vue\",\n      \"resources/scripts/admin/layouts/LayoutBasic.vue\",\n      \"resources/scripts/admin/layouts/LayoutLogin.vue\",\n      \"resources/scripts/admin/views/auth/ResetPassword.vue\",\n      \"resources/scripts/admin/views/auth/ForgotPassword.vue\",\n      \"resources/scripts/admin/views/dashboard/Dashboard.vue\",\n      \"resources/scripts/admin/views/customers/Index.vue\",\n      \"resources/scripts/admin/views/customers/Create.vue\",\n      \"resources/scripts/admin/views/customers/View.vue\",\n      \"resources/scripts/admin/views/settings/SettingsIndex.vue\",\n      \"resources/scripts/admin/views/settings/AccountSetting.vue\",\n      \"resources/scripts/admin/views/settings/CompanyInfoSettings.vue\",\n      \"resources/scripts/admin/views/settings/PreferencesSetting.vue\",\n      \"resources/scripts/admin/views/settings/customization/CustomizationSetting.vue\",\n      \"resources/scripts/admin/views/settings/NotificationsSetting.vue\",\n      \"resources/scripts/admin/views/settings/TaxTypesSetting.vue\",\n      \"resources/scripts/admin/views/settings/PaymentsModeSetting.vue\",\n      \"resources/scripts/admin/views/settings/CustomFieldsSetting.vue\",\n      \"resources/scripts/admin/views/settings/NotesSetting.vue\",\n      \"resources/scripts/admin/views/settings/ExpenseCategorySetting.vue\",\n      \"resources/scripts/admin/views/settings/ExchangeRateProviderSetting.vue\",\n      \"resources/scripts/admin/views/settings/MailConfigSetting.vue\",\n      \"resources/scripts/admin/views/settings/FileDiskSetting.vue\",\n      \"resources/scripts/admin/views/settings/BackupSetting.vue\",\n      \"resources/scripts/admin/views/settings/UpdateAppSetting.vue\",\n      \"resources/scripts/admin/views/settings/RolesSettings.vue\",\n      \"resources/scripts/admin/views/items/Index.vue\",\n      \"resources/scripts/admin/views/items/Create.vue\",\n      \"resources/scripts/admin/views/expenses/Index.vue\",\n      \"resources/scripts/admin/views/expenses/Create.vue\",\n      \"resources/scripts/admin/views/users/Index.vue\",\n      \"resources/scripts/admin/views/users/Create.vue\",\n      \"resources/scripts/admin/views/estimates/Index.vue\",\n      \"resources/scripts/admin/views/estimates/create/EstimateCreate.vue\",\n      \"resources/scripts/admin/views/estimates/View.vue\",\n      \"resources/scripts/admin/views/payments/Index.vue\",\n      \"resources/scripts/admin/views/payments/Create.vue\",\n      \"resources/scripts/admin/views/payments/View.vue\",\n      \"resources/scripts/admin/views/errors/404.vue\",\n      \"resources/scripts/admin/views/invoices/Index.vue\",\n      \"resources/scripts/admin/views/invoices/create/InvoiceCreate.vue\",\n      \"resources/scripts/admin/views/invoices/View.vue\",\n      \"resources/scripts/admin/views/recurring-invoices/Index.vue\",\n      \"resources/scripts/admin/views/recurring-invoices/create/RecurringInvoiceCreate.vue\",\n      \"resources/scripts/admin/views/recurring-invoices/View.vue\",\n      \"resources/scripts/admin/views/reports/layout/Index.vue\",\n      \"resources/scripts/admin/views/installation/Installation.vue\",\n      \"resources/scripts/admin/views/modules/Index.vue\",\n      \"resources/scripts/admin/views/modules/View.vue\",\n      \"resources/scripts/components/InvoicePublicPage.vue\",\n      \"resources/scripts/customer/layouts/LayoutBasic.vue\",\n      \"resources/scripts/customer/layouts/LayoutLogin.vue\",\n      \"resources/scripts/customer/views/auth/Login.vue\",\n      \"resources/scripts/customer/views/auth/ForgotPassword.vue\",\n      \"resources/scripts/customer/views/auth/ResetPassword.vue\",\n      \"resources/scripts/customer/views/dashboard/Dashboard.vue\",\n      \"resources/scripts/customer/views/invoices/Index.vue\",\n      \"resources/scripts/customer/views/invoices/View.vue\",\n      \"resources/scripts/customer/views/estimates/Index.vue\",\n      \"resources/scripts/customer/views/estimates/View.vue\",\n      \"resources/scripts/customer/views/payments/Index.vue\",\n      \"resources/scripts/customer/views/payments/View.vue\",\n      \"resources/scripts/customer/views/settings/SettingsIndex.vue\",\n      \"resources/scripts/customer/views/settings/CustomerSettings.vue\",\n      \"resources/scripts/customer/views/settings/AddressInformation.vue\",\n      \"resources/scripts/components/base/base-table/BaseTable.vue\",\n      \"resources/scripts/components/base-select/BaseMultiselect.vue\",\n      \"resources/scripts/components/base/base-editor/BaseEditor.vue\"\n    ],\n    \"css\": [\n      \"assets/main.40833226.css\"\n    ]\n  },\n  \"_vendor.d12b5734.js\": {\n    \"file\": \"assets/vendor.d12b5734.js\"\n  },\n  \"resources/scripts/admin/layouts/LayoutInstallation.vue\": {\n    \"file\": \"assets/LayoutInstallation.356e17fb.js\",\n    \"src\": \"resources/scripts/admin/layouts/LayoutInstallation.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_NotificationRoot.5fd2c2c8.js\",\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/main.js\"\n    ]\n  },\n  \"_NotificationRoot.5fd2c2c8.js\": {\n    \"file\": \"assets/NotificationRoot.5fd2c2c8.js\",\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/main.js\"\n    ]\n  },\n  \"resources/scripts/admin/views/auth/Login.vue\": {\n    \"file\": \"assets/Login.30b20f3a.js\",\n    \"src\": \"resources/scripts/admin/views/auth/Login.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/main.js\"\n    ]\n  },\n  \"resources/scripts/admin/layouts/LayoutBasic.vue\": {\n    \"file\": \"assets/LayoutBasic.c6db5172.js\",\n    \"src\": \"resources/scripts/admin/layouts/LayoutBasic.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/main.js\",\n      \"_exchange-rate.85b564e2.js\",\n      \"_users.27a53e97.js\",\n      \"_NotificationRoot.5fd2c2c8.js\",\n      \"_index.esm.85b4999a.js\"\n    ]\n  },\n  \"_exchange-rate.85b564e2.js\": {\n    \"file\": \"assets/exchange-rate.85b564e2.js\",\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/main.js\"\n    ]\n  },\n  \"_users.27a53e97.js\": {\n    \"file\": \"assets/users.27a53e97.js\",\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/main.js\"\n    ]\n  },\n  \"_index.esm.85b4999a.js\": {\n    \"file\": \"assets/index.esm.85b4999a.js\",\n    \"imports\": [\n      \"_vendor.d12b5734.js\"\n    ]\n  },\n  \"resources/scripts/admin/layouts/LayoutLogin.vue\": {\n    \"file\": \"assets/LayoutLogin.b71420b8.js\",\n    \"src\": \"resources/scripts/admin/layouts/LayoutLogin.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_NotificationRoot.5fd2c2c8.js\",\n      \"resources/scripts/main.js\",\n      \"_vendor.d12b5734.js\"\n    ]\n  },\n  \"resources/scripts/admin/views/auth/ResetPassword.vue\": {\n    \"file\": \"assets/ResetPassword.b82bdbf4.js\",\n    \"src\": \"resources/scripts/admin/views/auth/ResetPassword.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/main.js\"\n    ]\n  },\n  \"resources/scripts/admin/views/auth/ForgotPassword.vue\": {\n    \"file\": \"assets/ForgotPassword.cb7a698c.js\",\n    \"src\": \"resources/scripts/admin/views/auth/ForgotPassword.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/main.js\"\n    ]\n  },\n  \"resources/scripts/admin/views/dashboard/Dashboard.vue\": {\n    \"file\": \"assets/Dashboard.f55bd37e.js\",\n    \"src\": \"resources/scripts/admin/views/dashboard/Dashboard.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_EstimateIcon.7f89fb19.js\",\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/main.js\",\n      \"_LineChart.8ef63104.js\",\n      \"_InvoiceIndexDropdown.c4bcaa08.js\",\n      \"_EstimateIndexDropdown.8917d9cc.js\"\n    ]\n  },\n  \"_EstimateIcon.7f89fb19.js\": {\n    \"file\": \"assets/EstimateIcon.7f89fb19.js\",\n    \"imports\": [\n      \"resources/scripts/main.js\",\n      \"_vendor.d12b5734.js\"\n    ]\n  },\n  \"_LineChart.8ef63104.js\": {\n    \"file\": \"assets/LineChart.8ef63104.js\",\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/main.js\"\n    ]\n  },\n  \"_InvoiceIndexDropdown.c4bcaa08.js\": {\n    \"file\": \"assets/InvoiceIndexDropdown.c4bcaa08.js\",\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/main.js\"\n    ]\n  },\n  \"_EstimateIndexDropdown.8917d9cc.js\": {\n    \"file\": \"assets/EstimateIndexDropdown.8917d9cc.js\",\n    \"imports\": [\n      \"resources/scripts/main.js\",\n      \"_vendor.d12b5734.js\"\n    ]\n  },\n  \"resources/scripts/admin/views/customers/Index.vue\": {\n    \"file\": \"assets/Index.622e547e.js\",\n    \"src\": \"resources/scripts/admin/views/customers/Index.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/main.js\",\n      \"_CustomerIndexDropdown.bf4b48d6.js\",\n      \"_AstronautIcon.82b952e2.js\"\n    ]\n  },\n  \"_CustomerIndexDropdown.bf4b48d6.js\": {\n    \"file\": \"assets/CustomerIndexDropdown.bf4b48d6.js\",\n    \"imports\": [\n      \"resources/scripts/main.js\",\n      \"_vendor.d12b5734.js\"\n    ]\n  },\n  \"_AstronautIcon.82b952e2.js\": {\n    \"file\": \"assets/AstronautIcon.82b952e2.js\",\n    \"imports\": [\n      \"_vendor.d12b5734.js\"\n    ]\n  },\n  \"resources/scripts/admin/views/customers/Create.vue\": {\n    \"file\": \"assets/Create.ddeb574a.js\",\n    \"src\": \"resources/scripts/admin/views/customers/Create.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/main.js\",\n      \"_CreateCustomFields.c1c460e4.js\"\n    ]\n  },\n  \"_CreateCustomFields.c1c460e4.js\": {\n    \"file\": \"assets/CreateCustomFields.c1c460e4.js\",\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/main.js\"\n    ],\n    \"dynamicImports\": [\n      \"resources/scripts/admin/components/custom-fields/types/DateTimeType.vue\",\n      \"resources/scripts/admin/components/custom-fields/types/DateType.vue\",\n      \"resources/scripts/admin/components/custom-fields/types/DropdownType.vue\",\n      \"resources/scripts/admin/components/custom-fields/types/InputType.vue\",\n      \"resources/scripts/admin/components/custom-fields/types/NumberType.vue\",\n      \"resources/scripts/admin/components/custom-fields/types/PhoneType.vue\",\n      \"resources/scripts/admin/components/custom-fields/types/SwitchType.vue\",\n      \"resources/scripts/admin/components/custom-fields/types/TextAreaType.vue\",\n      \"resources/scripts/admin/components/custom-fields/types/TimeType.vue\",\n      \"resources/scripts/admin/components/custom-fields/types/UrlType.vue\"\n    ]\n  },\n  \"resources/scripts/admin/views/customers/View.vue\": {\n    \"file\": \"assets/View.0b4de6cf.js\",\n    \"src\": \"resources/scripts/admin/views/customers/View.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/main.js\",\n      \"_LoadingIcon.b704202b.js\",\n      \"_LineChart.8ef63104.js\",\n      \"_CustomerIndexDropdown.bf4b48d6.js\"\n    ]\n  },\n  \"_LoadingIcon.b704202b.js\": {\n    \"file\": \"assets/LoadingIcon.b704202b.js\",\n    \"imports\": [\n      \"resources/scripts/main.js\",\n      \"_vendor.d12b5734.js\"\n    ]\n  },\n  \"resources/scripts/admin/views/settings/SettingsIndex.vue\": {\n    \"file\": \"assets/SettingsIndex.47aad06d.js\",\n    \"src\": \"resources/scripts/admin/views/settings/SettingsIndex.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/main.js\",\n      \"_BaseListItem.3b6ffe7a.js\"\n    ]\n  },\n  \"_BaseListItem.3b6ffe7a.js\": {\n    \"file\": \"assets/BaseListItem.3b6ffe7a.js\",\n    \"imports\": [\n      \"resources/scripts/main.js\",\n      \"_vendor.d12b5734.js\"\n    ]\n  },\n  \"resources/scripts/admin/views/settings/AccountSetting.vue\": {\n    \"file\": \"assets/AccountSetting.7f3b69b7.js\",\n    \"src\": \"resources/scripts/admin/views/settings/AccountSetting.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/main.js\"\n    ]\n  },\n  \"resources/scripts/admin/views/settings/CompanyInfoSettings.vue\": {\n    \"file\": \"assets/CompanyInfoSettings.23b88ef4.js\",\n    \"src\": \"resources/scripts/admin/views/settings/CompanyInfoSettings.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/main.js\"\n    ]\n  },\n  \"resources/scripts/admin/views/settings/PreferencesSetting.vue\": {\n    \"file\": \"assets/PreferencesSetting.1dc581b2.js\",\n    \"src\": \"resources/scripts/admin/views/settings/PreferencesSetting.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/main.js\"\n    ]\n  },\n  \"resources/scripts/admin/views/settings/customization/CustomizationSetting.vue\": {\n    \"file\": \"assets/CustomizationSetting.31d8c655.js\",\n    \"src\": \"resources/scripts/admin/views/settings/customization/CustomizationSetting.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"resources/scripts/main.js\",\n      \"_vendor.d12b5734.js\",\n      \"_DragIcon.2da3872a.js\",\n      \"_payment.93619753.js\",\n      \"_ItemUnitModal.031bb625.js\"\n    ]\n  },\n  \"_ItemUnitModal.031bb625.js\": {\n    \"file\": \"assets/ItemUnitModal.031bb625.js\",\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/main.js\"\n    ]\n  },\n  \"_payment.93619753.js\": {\n    \"file\": \"assets/payment.93619753.js\",\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/main.js\"\n    ]\n  },\n  \"_DragIcon.2da3872a.js\": {\n    \"file\": \"assets/DragIcon.2da3872a.js\",\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/main.js\"\n    ]\n  },\n  \"resources/scripts/admin/views/settings/NotificationsSetting.vue\": {\n    \"file\": \"assets/NotificationsSetting.20e5fa7f.js\",\n    \"src\": \"resources/scripts/admin/views/settings/NotificationsSetting.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/main.js\"\n    ]\n  },\n  \"resources/scripts/admin/views/settings/TaxTypesSetting.vue\": {\n    \"file\": \"assets/TaxTypesSetting.320c1628.js\",\n    \"src\": \"resources/scripts/admin/views/settings/TaxTypesSetting.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"resources/scripts/main.js\",\n      \"_vendor.d12b5734.js\",\n      \"_TaxTypeModal.d37d74ed.js\"\n    ]\n  },\n  \"_TaxTypeModal.d37d74ed.js\": {\n    \"file\": \"assets/TaxTypeModal.d37d74ed.js\",\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/main.js\"\n    ]\n  },\n  \"resources/scripts/admin/views/settings/PaymentsModeSetting.vue\": {\n    \"file\": \"assets/PaymentsModeSetting.c898ec15.js\",\n    \"src\": \"resources/scripts/admin/views/settings/PaymentsModeSetting.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"_payment.93619753.js\",\n      \"resources/scripts/main.js\",\n      \"_PaymentModeModal.a0b58785.js\"\n    ]\n  },\n  \"_PaymentModeModal.a0b58785.js\": {\n    \"file\": \"assets/PaymentModeModal.a0b58785.js\",\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"_payment.93619753.js\",\n      \"resources/scripts/main.js\"\n    ]\n  },\n  \"resources/scripts/admin/views/settings/CustomFieldsSetting.vue\": {\n    \"file\": \"assets/CustomFieldsSetting.feceee26.js\",\n    \"src\": \"resources/scripts/admin/views/settings/CustomFieldsSetting.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/main.js\"\n    ],\n    \"dynamicImports\": [\n      \"resources/scripts/admin/components/custom-fields/types/DateTimeType.vue\",\n      \"resources/scripts/admin/components/custom-fields/types/DateType.vue\",\n      \"resources/scripts/admin/components/custom-fields/types/DropdownType.vue\",\n      \"resources/scripts/admin/components/custom-fields/types/InputType.vue\",\n      \"resources/scripts/admin/components/custom-fields/types/NumberType.vue\",\n      \"resources/scripts/admin/components/custom-fields/types/PhoneType.vue\",\n      \"resources/scripts/admin/components/custom-fields/types/SwitchType.vue\",\n      \"resources/scripts/admin/components/custom-fields/types/TextAreaType.vue\",\n      \"resources/scripts/admin/components/custom-fields/types/TimeType.vue\",\n      \"resources/scripts/admin/components/custom-fields/types/UrlType.vue\"\n    ]\n  },\n  \"resources/scripts/admin/views/settings/NotesSetting.vue\": {\n    \"file\": \"assets/NotesSetting.b0c00c6b.js\",\n    \"src\": \"resources/scripts/admin/views/settings/NotesSetting.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/main.js\",\n      \"_NoteModal.ebe10cf0.js\",\n      \"_payment.93619753.js\"\n    ]\n  },\n  \"_NoteModal.ebe10cf0.js\": {\n    \"file\": \"assets/NoteModal.ebe10cf0.js\",\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/main.js\",\n      \"_payment.93619753.js\"\n    ],\n    \"css\": [\n      \"assets/NoteModal.3245b7d3.css\"\n    ]\n  },\n  \"resources/scripts/admin/views/settings/ExpenseCategorySetting.vue\": {\n    \"file\": \"assets/ExpenseCategorySetting.424a740a.js\",\n    \"src\": \"resources/scripts/admin/views/settings/ExpenseCategorySetting.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"resources/scripts/main.js\",\n      \"_category.c88b90cd.js\",\n      \"_vendor.d12b5734.js\",\n      \"_CategoryModal.6fabb0b3.js\"\n    ]\n  },\n  \"_category.c88b90cd.js\": {\n    \"file\": \"assets/category.c88b90cd.js\",\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/main.js\"\n    ]\n  },\n  \"_CategoryModal.6fabb0b3.js\": {\n    \"file\": \"assets/CategoryModal.6fabb0b3.js\",\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"_category.c88b90cd.js\",\n      \"resources/scripts/main.js\"\n    ]\n  },\n  \"resources/scripts/admin/views/settings/ExchangeRateProviderSetting.vue\": {\n    \"file\": \"assets/ExchangeRateProviderSetting.3f82b267.js\",\n    \"src\": \"resources/scripts/admin/views/settings/ExchangeRateProviderSetting.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_exchange-rate.85b564e2.js\",\n      \"resources/scripts/main.js\",\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/components/base/base-table/BaseTable.vue\"\n    ]\n  },\n  \"resources/scripts/components/base/base-table/BaseTable.vue\": {\n    \"file\": \"assets/BaseTable.ec8995dc.js\",\n    \"src\": \"resources/scripts/components/base/base-table/BaseTable.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/main.js\"\n    ]\n  },\n  \"resources/scripts/admin/views/settings/MailConfigSetting.vue\": {\n    \"file\": \"assets/MailConfigSetting.cd95a416.js\",\n    \"src\": \"resources/scripts/admin/views/settings/MailConfigSetting.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"_mail-driver.0a974f6a.js\",\n      \"resources/scripts/main.js\"\n    ]\n  },\n  \"_mail-driver.0a974f6a.js\": {\n    \"file\": \"assets/mail-driver.0a974f6a.js\",\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/main.js\"\n    ]\n  },\n  \"resources/scripts/admin/views/settings/FileDiskSetting.vue\": {\n    \"file\": \"assets/FileDiskSetting.9303276f.js\",\n    \"src\": \"resources/scripts/admin/views/settings/FileDiskSetting.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_disk.0ffde448.js\",\n      \"resources/scripts/main.js\",\n      \"_vendor.d12b5734.js\"\n    ]\n  },\n  \"_disk.0ffde448.js\": {\n    \"file\": \"assets/disk.0ffde448.js\",\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/main.js\"\n    ]\n  },\n  \"resources/scripts/admin/views/settings/BackupSetting.vue\": {\n    \"file\": \"assets/BackupSetting.135768cd.js\",\n    \"src\": \"resources/scripts/admin/views/settings/BackupSetting.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/main.js\",\n      \"_disk.0ffde448.js\"\n    ]\n  },\n  \"resources/scripts/admin/views/settings/UpdateAppSetting.vue\": {\n    \"file\": \"assets/UpdateAppSetting.428e199e.js\",\n    \"src\": \"resources/scripts/admin/views/settings/UpdateAppSetting.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/main.js\",\n      \"_LoadingIcon.b704202b.js\",\n      \"_exchange-rate.85b564e2.js\"\n    ],\n    \"css\": [\n      \"assets/UpdateAppSetting.7d8b987a.css\"\n    ]\n  },\n  \"resources/scripts/admin/views/settings/RolesSettings.vue\": {\n    \"file\": \"assets/RolesSettings.72f183c6.js\",\n    \"src\": \"resources/scripts/admin/views/settings/RolesSettings.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"resources/scripts/main.js\",\n      \"_vendor.d12b5734.js\"\n    ]\n  },\n  \"resources/scripts/admin/views/items/Index.vue\": {\n    \"file\": \"assets/Index.0d95203a.js\",\n    \"src\": \"resources/scripts/admin/views/items/Index.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/main.js\"\n    ]\n  },\n  \"resources/scripts/admin/views/items/Create.vue\": {\n    \"file\": \"assets/Create.f0feda6b.js\",\n    \"src\": \"resources/scripts/admin/views/items/Create.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/main.js\",\n      \"_ItemUnitModal.031bb625.js\"\n    ]\n  },\n  \"resources/scripts/admin/views/expenses/Index.vue\": {\n    \"file\": \"assets/Index.5bf16119.js\",\n    \"src\": \"resources/scripts/admin/views/expenses/Index.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"_expense.ea1e799e.js\",\n      \"_category.c88b90cd.js\",\n      \"resources/scripts/main.js\"\n    ]\n  },\n  \"_expense.ea1e799e.js\": {\n    \"file\": \"assets/expense.ea1e799e.js\",\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/main.js\"\n    ]\n  },\n  \"resources/scripts/admin/views/expenses/Create.vue\": {\n    \"file\": \"assets/Create.68c99c93.js\",\n    \"src\": \"resources/scripts/admin/views/expenses/Create.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"_expense.ea1e799e.js\",\n      \"_category.c88b90cd.js\",\n      \"resources/scripts/main.js\",\n      \"_CreateCustomFields.c1c460e4.js\",\n      \"_CategoryModal.6fabb0b3.js\",\n      \"_ExchangeRateConverter.d865db6a.js\",\n      \"_exchange-rate.85b564e2.js\"\n    ]\n  },\n  \"_ExchangeRateConverter.d865db6a.js\": {\n    \"file\": \"assets/ExchangeRateConverter.d865db6a.js\",\n    \"imports\": [\n      \"resources/scripts/main.js\",\n      \"_exchange-rate.85b564e2.js\",\n      \"_vendor.d12b5734.js\"\n    ]\n  },\n  \"resources/scripts/admin/views/users/Index.vue\": {\n    \"file\": \"assets/Index.91b66939.js\",\n    \"src\": \"resources/scripts/admin/views/users/Index.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"_users.27a53e97.js\",\n      \"resources/scripts/main.js\",\n      \"_AstronautIcon.82b952e2.js\"\n    ]\n  },\n  \"resources/scripts/admin/views/users/Create.vue\": {\n    \"file\": \"assets/Create.c666337c.js\",\n    \"src\": \"resources/scripts/admin/views/users/Create.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/main.js\",\n      \"_index.esm.85b4999a.js\",\n      \"_users.27a53e97.js\"\n    ]\n  },\n  \"resources/scripts/admin/views/estimates/Index.vue\": {\n    \"file\": \"assets/Index.edd0a47c.js\",\n    \"src\": \"resources/scripts/admin/views/estimates/Index.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/main.js\",\n      \"_ObservatoryIcon.528a64ab.js\",\n      \"_EstimateIndexDropdown.8917d9cc.js\",\n      \"_SendEstimateModal.01516700.js\",\n      \"_mail-driver.0a974f6a.js\"\n    ]\n  },\n  \"_ObservatoryIcon.528a64ab.js\": {\n    \"file\": \"assets/ObservatoryIcon.528a64ab.js\",\n    \"imports\": [\n      \"_vendor.d12b5734.js\"\n    ]\n  },\n  \"_SendEstimateModal.01516700.js\": {\n    \"file\": \"assets/SendEstimateModal.01516700.js\",\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/main.js\",\n      \"_mail-driver.0a974f6a.js\"\n    ]\n  },\n  \"resources/scripts/admin/views/estimates/create/EstimateCreate.vue\": {\n    \"file\": \"assets/EstimateCreate.82c0b5df.js\",\n    \"src\": \"resources/scripts/admin/views/estimates/create/EstimateCreate.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/main.js\",\n      \"_SalesTax.75d66dd0.js\",\n      \"_CreateCustomFields.c1c460e4.js\",\n      \"_ExchangeRateConverter.d865db6a.js\",\n      \"_TaxTypeModal.d37d74ed.js\",\n      \"_DragIcon.2da3872a.js\",\n      \"_SelectNotePopup.2e678c03.js\",\n      \"_NoteModal.ebe10cf0.js\",\n      \"_payment.93619753.js\",\n      \"_exchange-rate.85b564e2.js\"\n    ]\n  },\n  \"_SalesTax.75d66dd0.js\": {\n    \"file\": \"assets/SalesTax.75d66dd0.js\",\n    \"imports\": [\n      \"resources/scripts/main.js\",\n      \"_DragIcon.2da3872a.js\",\n      \"_vendor.d12b5734.js\",\n      \"_SelectNotePopup.2e678c03.js\"\n    ]\n  },\n  \"_SelectNotePopup.2e678c03.js\": {\n    \"file\": \"assets/SelectNotePopup.2e678c03.js\",\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"_NoteModal.ebe10cf0.js\",\n      \"resources/scripts/main.js\"\n    ]\n  },\n  \"resources/scripts/admin/views/estimates/View.vue\": {\n    \"file\": \"assets/View.ae81e386.js\",\n    \"src\": \"resources/scripts/admin/views/estimates/View.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/main.js\",\n      \"_EstimateIndexDropdown.8917d9cc.js\",\n      \"_SendEstimateModal.01516700.js\",\n      \"_LoadingIcon.b704202b.js\",\n      \"_mail-driver.0a974f6a.js\"\n    ]\n  },\n  \"resources/scripts/admin/views/payments/Index.vue\": {\n    \"file\": \"assets/Index.d826dbf4.js\",\n    \"src\": \"resources/scripts/admin/views/payments/Index.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/main.js\",\n      \"_payment.93619753.js\",\n      \"_CapsuleIcon.37dfa933.js\",\n      \"_SendPaymentModal.26ce23d7.js\",\n      \"_mail-driver.0a974f6a.js\"\n    ]\n  },\n  \"_CapsuleIcon.37dfa933.js\": {\n    \"file\": \"assets/CapsuleIcon.37dfa933.js\",\n    \"imports\": [\n      \"_vendor.d12b5734.js\"\n    ]\n  },\n  \"_SendPaymentModal.26ce23d7.js\": {\n    \"file\": \"assets/SendPaymentModal.26ce23d7.js\",\n    \"imports\": [\n      \"resources/scripts/main.js\",\n      \"_vendor.d12b5734.js\",\n      \"_payment.93619753.js\",\n      \"_mail-driver.0a974f6a.js\"\n    ]\n  },\n  \"resources/scripts/admin/views/payments/Create.vue\": {\n    \"file\": \"assets/Create.1d6bd807.js\",\n    \"src\": \"resources/scripts/admin/views/payments/Create.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"_ExchangeRateConverter.d865db6a.js\",\n      \"resources/scripts/main.js\",\n      \"_payment.93619753.js\",\n      \"_SelectNotePopup.2e678c03.js\",\n      \"_CreateCustomFields.c1c460e4.js\",\n      \"_PaymentModeModal.a0b58785.js\",\n      \"_exchange-rate.85b564e2.js\",\n      \"_NoteModal.ebe10cf0.js\"\n    ]\n  },\n  \"resources/scripts/admin/views/payments/View.vue\": {\n    \"file\": \"assets/View.7e060296.js\",\n    \"src\": \"resources/scripts/admin/views/payments/View.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/main.js\",\n      \"_payment.93619753.js\",\n      \"_SendPaymentModal.26ce23d7.js\",\n      \"_LoadingIcon.b704202b.js\",\n      \"_mail-driver.0a974f6a.js\"\n    ]\n  },\n  \"resources/scripts/admin/views/errors/404.vue\": {\n    \"file\": \"assets/404.e81599b7.js\",\n    \"src\": \"resources/scripts/admin/views/errors/404.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\"\n    ]\n  },\n  \"resources/scripts/admin/views/invoices/Index.vue\": {\n    \"file\": \"assets/Index.6424247c.js\",\n    \"src\": \"resources/scripts/admin/views/invoices/Index.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/main.js\",\n      \"_MoonwalkerIcon.b55d3604.js\",\n      \"_InvoiceIndexDropdown.c4bcaa08.js\",\n      \"_SendInvoiceModal.f818e383.js\",\n      \"_mail-driver.0a974f6a.js\"\n    ]\n  },\n  \"_MoonwalkerIcon.b55d3604.js\": {\n    \"file\": \"assets/MoonwalkerIcon.b55d3604.js\",\n    \"imports\": [\n      \"_vendor.d12b5734.js\"\n    ]\n  },\n  \"_SendInvoiceModal.f818e383.js\": {\n    \"file\": \"assets/SendInvoiceModal.f818e383.js\",\n    \"imports\": [\n      \"resources/scripts/main.js\",\n      \"_vendor.d12b5734.js\",\n      \"_mail-driver.0a974f6a.js\"\n    ]\n  },\n  \"resources/scripts/admin/views/invoices/create/InvoiceCreate.vue\": {\n    \"file\": \"assets/InvoiceCreate.2736eea6.js\",\n    \"src\": \"resources/scripts/admin/views/invoices/create/InvoiceCreate.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/main.js\",\n      \"_SalesTax.75d66dd0.js\",\n      \"_ExchangeRateConverter.d865db6a.js\",\n      \"_CreateCustomFields.c1c460e4.js\",\n      \"_TaxTypeModal.d37d74ed.js\",\n      \"_DragIcon.2da3872a.js\",\n      \"_SelectNotePopup.2e678c03.js\",\n      \"_NoteModal.ebe10cf0.js\",\n      \"_payment.93619753.js\",\n      \"_exchange-rate.85b564e2.js\"\n    ]\n  },\n  \"resources/scripts/admin/views/invoices/View.vue\": {\n    \"file\": \"assets/View.f92113cb.js\",\n    \"src\": \"resources/scripts/admin/views/invoices/View.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/main.js\",\n      \"_SendInvoiceModal.f818e383.js\",\n      \"_InvoiceIndexDropdown.c4bcaa08.js\",\n      \"_LoadingIcon.b704202b.js\",\n      \"_mail-driver.0a974f6a.js\"\n    ]\n  },\n  \"resources/scripts/admin/views/recurring-invoices/Index.vue\": {\n    \"file\": \"assets/Index.f458eba6.js\",\n    \"src\": \"resources/scripts/admin/views/recurring-invoices/Index.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/main.js\",\n      \"_SendInvoiceModal.f818e383.js\",\n      \"_RecurringInvoiceIndexDropdown.5e1ae0da.js\",\n      \"_MoonwalkerIcon.b55d3604.js\",\n      \"_mail-driver.0a974f6a.js\"\n    ]\n  },\n  \"_RecurringInvoiceIndexDropdown.5e1ae0da.js\": {\n    \"file\": \"assets/RecurringInvoiceIndexDropdown.5e1ae0da.js\",\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/main.js\"\n    ]\n  },\n  \"resources/scripts/admin/views/recurring-invoices/create/RecurringInvoiceCreate.vue\": {\n    \"file\": \"assets/RecurringInvoiceCreate.30ae0989.js\",\n    \"src\": \"resources/scripts/admin/views/recurring-invoices/create/RecurringInvoiceCreate.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/main.js\",\n      \"_SalesTax.75d66dd0.js\",\n      \"_ExchangeRateConverter.d865db6a.js\",\n      \"_CreateCustomFields.c1c460e4.js\",\n      \"_TaxTypeModal.d37d74ed.js\",\n      \"_DragIcon.2da3872a.js\",\n      \"_SelectNotePopup.2e678c03.js\",\n      \"_NoteModal.ebe10cf0.js\",\n      \"_payment.93619753.js\",\n      \"_exchange-rate.85b564e2.js\"\n    ]\n  },\n  \"resources/scripts/admin/views/recurring-invoices/View.vue\": {\n    \"file\": \"assets/View.44f27c50.js\",\n    \"src\": \"resources/scripts/admin/views/recurring-invoices/View.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/main.js\",\n      \"_LoadingIcon.b704202b.js\",\n      \"_InvoiceIndexDropdown.c4bcaa08.js\",\n      \"_SendInvoiceModal.f818e383.js\",\n      \"_RecurringInvoiceIndexDropdown.5e1ae0da.js\",\n      \"_mail-driver.0a974f6a.js\"\n    ]\n  },\n  \"resources/scripts/admin/views/reports/layout/Index.vue\": {\n    \"file\": \"assets/Index.ff30d2b8.js\",\n    \"src\": \"resources/scripts/admin/views/reports/layout/Index.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/main.js\"\n    ]\n  },\n  \"resources/scripts/admin/views/installation/Installation.vue\": {\n    \"file\": \"assets/Installation.f2c5c029.js\",\n    \"src\": \"resources/scripts/admin/views/installation/Installation.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/main.js\",\n      \"_mail-driver.0a974f6a.js\"\n    ]\n  },\n  \"resources/scripts/admin/views/modules/Index.vue\": {\n    \"file\": \"assets/Index.113c6776.js\",\n    \"src\": \"resources/scripts/admin/views/modules/Index.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/main.js\"\n    ]\n  },\n  \"resources/scripts/admin/views/modules/View.vue\": {\n    \"file\": \"assets/View.b91609b3.js\",\n    \"src\": \"resources/scripts/admin/views/modules/View.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"resources/scripts/main.js\",\n      \"_vendor.d12b5734.js\"\n    ]\n  },\n  \"resources/scripts/components/InvoicePublicPage.vue\": {\n    \"file\": \"assets/InvoicePublicPage.57c1fc66.js\",\n    \"src\": \"resources/scripts/components/InvoicePublicPage.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\"\n    ]\n  },\n  \"resources/scripts/customer/layouts/LayoutBasic.vue\": {\n    \"file\": \"assets/LayoutBasic.7c57f411.js\",\n    \"src\": \"resources/scripts/customer/layouts/LayoutBasic.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_auth.c88ceb4c.js\",\n      \"_vendor.d12b5734.js\",\n      \"_global.dc565c4e.js\",\n      \"resources/scripts/main.js\",\n      \"_NotificationRoot.5fd2c2c8.js\"\n    ]\n  },\n  \"_global.dc565c4e.js\": {\n    \"file\": \"assets/global.dc565c4e.js\",\n    \"imports\": [\n      \"_auth.c88ceb4c.js\",\n      \"resources/scripts/main.js\",\n      \"_vendor.d12b5734.js\"\n    ]\n  },\n  \"_auth.c88ceb4c.js\": {\n    \"file\": \"assets/auth.c88ceb4c.js\",\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/main.js\"\n    ]\n  },\n  \"resources/scripts/customer/layouts/LayoutLogin.vue\": {\n    \"file\": \"assets/LayoutLogin.4f8baaf6.js\",\n    \"src\": \"resources/scripts/customer/layouts/LayoutLogin.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_NotificationRoot.5fd2c2c8.js\",\n      \"resources/scripts/main.js\",\n      \"_vendor.d12b5734.js\"\n    ]\n  },\n  \"resources/scripts/customer/views/auth/Login.vue\": {\n    \"file\": \"assets/Login.4db30a10.js\",\n    \"src\": \"resources/scripts/customer/views/auth/Login.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"_auth.c88ceb4c.js\",\n      \"resources/scripts/main.js\"\n    ]\n  },\n  \"resources/scripts/customer/views/auth/ForgotPassword.vue\": {\n    \"file\": \"assets/ForgotPassword.5c338168.js\",\n    \"src\": \"resources/scripts/customer/views/auth/ForgotPassword.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"_auth.c88ceb4c.js\",\n      \"resources/scripts/main.js\"\n    ]\n  },\n  \"resources/scripts/customer/views/auth/ResetPassword.vue\": {\n    \"file\": \"assets/ResetPassword.92fe39b8.js\",\n    \"src\": \"resources/scripts/customer/views/auth/ResetPassword.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"_global.dc565c4e.js\",\n      \"_auth.c88ceb4c.js\",\n      \"resources/scripts/main.js\"\n    ]\n  },\n  \"resources/scripts/customer/views/dashboard/Dashboard.vue\": {\n    \"file\": \"assets/Dashboard.db3b8908.js\",\n    \"src\": \"resources/scripts/customer/views/dashboard/Dashboard.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_EstimateIcon.7f89fb19.js\",\n      \"_vendor.d12b5734.js\",\n      \"_global.dc565c4e.js\",\n      \"_auth.c88ceb4c.js\",\n      \"resources/scripts/main.js\",\n      \"resources/scripts/components/base/base-table/BaseTable.vue\"\n    ]\n  },\n  \"resources/scripts/customer/views/invoices/Index.vue\": {\n    \"file\": \"assets/Index.9afe39cc.js\",\n    \"src\": \"resources/scripts/customer/views/invoices/Index.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"_invoice.735a98ac.js\",\n      \"resources/scripts/components/base/base-table/BaseTable.vue\",\n      \"_global.dc565c4e.js\",\n      \"_MoonwalkerIcon.b55d3604.js\",\n      \"_auth.c88ceb4c.js\",\n      \"resources/scripts/main.js\"\n    ]\n  },\n  \"_invoice.735a98ac.js\": {\n    \"file\": \"assets/invoice.735a98ac.js\",\n    \"imports\": [\n      \"_auth.c88ceb4c.js\",\n      \"_vendor.d12b5734.js\"\n    ]\n  },\n  \"resources/scripts/customer/views/invoices/View.vue\": {\n    \"file\": \"assets/View.ca01e745.js\",\n    \"src\": \"resources/scripts/customer/views/invoices/View.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/main.js\",\n      \"_invoice.735a98ac.js\",\n      \"_global.dc565c4e.js\",\n      \"_auth.c88ceb4c.js\"\n    ]\n  },\n  \"resources/scripts/customer/views/estimates/Index.vue\": {\n    \"file\": \"assets/Index.7f1d6a8c.js\",\n    \"src\": \"resources/scripts/customer/views/estimates/Index.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/components/base/base-table/BaseTable.vue\",\n      \"_global.dc565c4e.js\",\n      \"_estimate.f77ffc39.js\",\n      \"_ObservatoryIcon.528a64ab.js\",\n      \"resources/scripts/main.js\",\n      \"_auth.c88ceb4c.js\"\n    ]\n  },\n  \"_estimate.f77ffc39.js\": {\n    \"file\": \"assets/estimate.f77ffc39.js\",\n    \"imports\": [\n      \"resources/scripts/main.js\",\n      \"_vendor.d12b5734.js\",\n      \"_auth.c88ceb4c.js\"\n    ]\n  },\n  \"resources/scripts/customer/views/estimates/View.vue\": {\n    \"file\": \"assets/View.2505fbc0.js\",\n    \"src\": \"resources/scripts/customer/views/estimates/View.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/main.js\",\n      \"_estimate.f77ffc39.js\",\n      \"_global.dc565c4e.js\",\n      \"_auth.c88ceb4c.js\"\n    ]\n  },\n  \"resources/scripts/customer/views/payments/Index.vue\": {\n    \"file\": \"assets/Index.17f3f1bc.js\",\n    \"src\": \"resources/scripts/customer/views/payments/Index.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/components/base/base-table/BaseTable.vue\",\n      \"_CapsuleIcon.37dfa933.js\",\n      \"resources/scripts/main.js\",\n      \"_payment.e5b74251.js\",\n      \"_global.dc565c4e.js\",\n      \"_auth.c88ceb4c.js\"\n    ]\n  },\n  \"_payment.e5b74251.js\": {\n    \"file\": \"assets/payment.e5b74251.js\",\n    \"imports\": [\n      \"_auth.c88ceb4c.js\",\n      \"_vendor.d12b5734.js\"\n    ]\n  },\n  \"resources/scripts/customer/views/payments/View.vue\": {\n    \"file\": \"assets/View.1c478abb.js\",\n    \"src\": \"resources/scripts/customer/views/payments/View.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/main.js\",\n      \"_payment.e5b74251.js\",\n      \"_global.dc565c4e.js\",\n      \"_auth.c88ceb4c.js\"\n    ]\n  },\n  \"resources/scripts/customer/views/settings/SettingsIndex.vue\": {\n    \"file\": \"assets/SettingsIndex.f5b34c1b.js\",\n    \"src\": \"resources/scripts/customer/views/settings/SettingsIndex.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_BaseListItem.3b6ffe7a.js\",\n      \"_vendor.d12b5734.js\",\n      \"_global.dc565c4e.js\",\n      \"resources/scripts/main.js\",\n      \"_auth.c88ceb4c.js\"\n    ]\n  },\n  \"resources/scripts/customer/views/settings/CustomerSettings.vue\": {\n    \"file\": \"assets/CustomerSettings.295ae76d.js\",\n    \"src\": \"resources/scripts/customer/views/settings/CustomerSettings.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"_global.dc565c4e.js\",\n      \"_auth.c88ceb4c.js\",\n      \"resources/scripts/main.js\"\n    ]\n  },\n  \"resources/scripts/customer/views/settings/AddressInformation.vue\": {\n    \"file\": \"assets/AddressInformation.7455dbc9.js\",\n    \"src\": \"resources/scripts/customer/views/settings/AddressInformation.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"_global.dc565c4e.js\",\n      \"_auth.c88ceb4c.js\",\n      \"resources/scripts/main.js\"\n    ]\n  },\n  \"resources/scripts/components/base-select/BaseMultiselect.vue\": {\n    \"file\": \"assets/BaseMultiselect.2950bd7a.js\",\n    \"src\": \"resources/scripts/components/base-select/BaseMultiselect.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/main.js\"\n    ]\n  },\n  \"resources/scripts/components/base/base-editor/BaseEditor.vue\": {\n    \"file\": \"assets/BaseEditor.c76beb41.js\",\n    \"src\": \"resources/scripts/components/base/base-editor/BaseEditor.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\",\n      \"resources/scripts/main.js\"\n    ],\n    \"css\": [\n      \"assets/BaseEditor.bacb9608.css\"\n    ]\n  },\n  \"resources/scripts/admin/components/custom-fields/types/DateTimeType.vue\": {\n    \"file\": \"assets/DateTimeType.6886ff98.js\",\n    \"src\": \"resources/scripts/admin/components/custom-fields/types/DateTimeType.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\"\n    ]\n  },\n  \"resources/scripts/admin/components/custom-fields/types/DateType.vue\": {\n    \"file\": \"assets/DateType.12fc8765.js\",\n    \"src\": \"resources/scripts/admin/components/custom-fields/types/DateType.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\"\n    ]\n  },\n  \"resources/scripts/admin/components/custom-fields/types/DropdownType.vue\": {\n    \"file\": \"assets/DropdownType.2d01b840.js\",\n    \"src\": \"resources/scripts/admin/components/custom-fields/types/DropdownType.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\"\n    ]\n  },\n  \"resources/scripts/admin/components/custom-fields/types/InputType.vue\": {\n    \"file\": \"assets/InputType.cf0dfc7c.js\",\n    \"src\": \"resources/scripts/admin/components/custom-fields/types/InputType.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\"\n    ]\n  },\n  \"resources/scripts/admin/components/custom-fields/types/NumberType.vue\": {\n    \"file\": \"assets/NumberType.7b73360f.js\",\n    \"src\": \"resources/scripts/admin/components/custom-fields/types/NumberType.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\"\n    ]\n  },\n  \"resources/scripts/admin/components/custom-fields/types/PhoneType.vue\": {\n    \"file\": \"assets/PhoneType.29ae66c8.js\",\n    \"src\": \"resources/scripts/admin/components/custom-fields/types/PhoneType.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\"\n    ]\n  },\n  \"resources/scripts/admin/components/custom-fields/types/SwitchType.vue\": {\n    \"file\": \"assets/SwitchType.591a8b07.js\",\n    \"src\": \"resources/scripts/admin/components/custom-fields/types/SwitchType.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\"\n    ]\n  },\n  \"resources/scripts/admin/components/custom-fields/types/TextAreaType.vue\": {\n    \"file\": \"assets/TextAreaType.27565abe.js\",\n    \"src\": \"resources/scripts/admin/components/custom-fields/types/TextAreaType.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\"\n    ]\n  },\n  \"resources/scripts/admin/components/custom-fields/types/TimeType.vue\": {\n    \"file\": \"assets/TimeType.8ac8afd1.js\",\n    \"src\": \"resources/scripts/admin/components/custom-fields/types/TimeType.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\"\n    ]\n  },\n  \"resources/scripts/admin/components/custom-fields/types/UrlType.vue\": {\n    \"file\": \"assets/UrlType.d123ab64.js\",\n    \"src\": \"resources/scripts/admin/components/custom-fields/types/UrlType.vue\",\n    \"isDynamicEntry\": true,\n    \"imports\": [\n      \"_vendor.d12b5734.js\"\n    ]\n  }\n}"
  },
  {
    "path": "public/favicons/browserconfig.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<browserconfig>\n    <msapplication>\n        <tile>\n            <square150x150logo src=\"/favicons/mstile-150x150.png\"/>\n            <TileColor>#ffffff</TileColor>\n        </tile>\n    </msapplication>\n</browserconfig>\n"
  },
  {
    "path": "public/favicons/site.webmanifest",
    "content": "{\n    \"name\": \"\",\n    \"short_name\": \"\",\n    \"icons\": [\n        {\n            \"src\": \"/favicons/android-chrome-192x192.png\",\n            \"sizes\": \"192x192\",\n            \"type\": \"image/png\"\n        },\n        {\n            \"src\": \"/favicons/android-chrome-256x256.png\",\n            \"sizes\": \"256x256\",\n            \"type\": \"image/png\"\n        }\n    ],\n    \"theme_color\": \"#ffffff\",\n    \"background_color\": \"#ffffff\",\n    \"display\": \"standalone\"\n}\n"
  },
  {
    "path": "public/index.php",
    "content": "<?php\n\n/**\n * Laravel - A PHP Framework For Web Artisans\n *\n * @package  Laravel\n * @author   Taylor Otwell <taylor@laravel.com>\n */\n\ndefine('LARAVEL_START', microtime(true));\n\nif (file_exists(__DIR__.'/../storage/framework/maintenance.php')) {\n    require __DIR__.'/../storage/framework/maintenance.php';\n}\n\n/*\n|--------------------------------------------------------------------------\n| Register The Auto Loader\n|--------------------------------------------------------------------------\n|\n| Composer provides a convenient, automatically generated class loader for\n| our application. We just need to utilize it! We'll simply require it\n| into the script here so that we don't have to worry about manual\n| loading any of our classes later on. It feels great to relax.\n|\n*/\n\nrequire __DIR__.'/../vendor/autoload.php';\n\n/*\n|--------------------------------------------------------------------------\n| Turn On The Lights\n|--------------------------------------------------------------------------\n|\n| We need to illuminate PHP development, so let us turn on the lights.\n| This bootstraps the framework and gets it ready for use, then it\n| will load up this application so that we can run it and send\n| the responses back to the browser and delight our users.\n|\n*/\n\n$app = require_once __DIR__.'/../bootstrap/app.php';\n\n/*\n|--------------------------------------------------------------------------\n| Run The Application\n|--------------------------------------------------------------------------\n|\n| Once we have the application, we can handle the incoming request\n| through the kernel, and send the associated response back to\n| the client's browser allowing them to enjoy the creative\n| and wonderful application we have prepared for them.\n|\n*/\n\n$kernel = $app->make(Illuminate\\Contracts\\Http\\Kernel::class);\n\n$response = $kernel->handle(\n    $request = Illuminate\\Http\\Request::capture()\n);\n\n$response->send();\n\n$kernel->terminate($request, $response);\n"
  },
  {
    "path": "public/robots.txt",
    "content": "User-agent: *\nDisallow:\n"
  },
  {
    "path": "public/web.config",
    "content": "<configuration>\n  <system.webServer>\n    <rewrite>\n      <rules>\n        <rule name=\"Imported Rule 1\" stopProcessing=\"true\">\n          <match url=\"^(.*)/$\" ignoreCase=\"false\" />\n          <conditions>\n            <add input=\"{REQUEST_FILENAME}\" matchType=\"IsDirectory\" ignoreCase=\"false\" negate=\"true\" />\n          </conditions>\n          <action type=\"Redirect\" redirectType=\"Permanent\" url=\"/{R:1}\" />\n        </rule>\n        <rule name=\"Imported Rule 2\" stopProcessing=\"true\">\n          <match url=\"^\" ignoreCase=\"false\" />\n          <conditions>\n            <add input=\"{REQUEST_FILENAME}\" matchType=\"IsDirectory\" ignoreCase=\"false\" negate=\"true\" />\n            <add input=\"{REQUEST_FILENAME}\" matchType=\"IsFile\" ignoreCase=\"false\" negate=\"true\" />\n          </conditions>\n          <action type=\"Rewrite\" url=\"index.php\" />\n        </rule>\n      </rules>\n    </rewrite>\n  </system.webServer>\n</configuration>\n"
  },
  {
    "path": "readme.md",
    "content": "<img src=\"https://res.cloudinary.com/bytefury/image/upload/v1574149856/Crater/craterframe.png\">\n\n## Introduction\n\nCrater is an open-source web & mobile app that helps you track expenses, payments & create professional invoices & estimates.\n\nWeb Application is made using Laravel & VueJS while the Mobile Apps are built using React Native.\n\n# Table of Contents\n\n1. [Documentation](#documentation)\n2. [Download](#download)\n3. [Mobile Apps](#mobile-apps)\n4. [Discord](#discord)\n5. [Roadmap](#roadmap)\n6. [Credits](#credits)\n7. [Help us translate](#translate)\n8. [License](#license)\n\n## Documentation\n\n- [Installation Steps](https://docs.craterapp.com/installation.html)\n- [User Guide](https://docs.craterapp.com/)\n- [Developer Guide](https://docs.craterapp.com/developer-guide.html)\n- [API Documentation](https://api-docs.craterapp.com)\n\n## Download\n\n- [Download Link](https://craterapp.com/downloads)\n\n## Mobile Apps\n\n- [Android](https://play.google.com/store/apps/details?id=com.craterapp.app)\n- [IOS](https://apps.apple.com/app/id1489169767)\n- [Source](https://github.com/bytefury/crater-mobile)\n\n## Discord\n\nJoin the Crater discord server to discuss:\n[Invite Link](https://discord.gg/nyTstm6)\n\n## Roadmap\n\n~~Here's a rough roadmap of things to come (not in any specific order):\n\n- [x] Automatic Update\n- [x] Email Configuration\n- [x] Installation Wizard\n- [x] Address Customisation & Default notes\n- [x] Edit Email before Sending Invoice\n- [x] Available as a docker image\n- [x] Performance Improvements\n- [x] Customer View page\n- [x] Add and Use Custom Fields on Invoices & Estimates.\n- [x] Multiple Companies\n- [x] Recurring Invoices\n- [x] Customer Portal\n- [x] Accept Payments (Stripe Integration)\n- [x] White Labeling (Easy Invoice, Email & Consumer Portal Theme customisation)\n- [ ] Modules API\n- [ ] Blockchain Integration\n- [ ] Web 3.0 Accounting\n- [ ] Vendors & Bills\n- [ ] Inventory Management \n- [ ] Payment Reminders\n- [ ] Improve Accessibility\n- [ ] Debit & Credit Notes\n- [ ] Time Tracking\n- [ ] Full service Payroll\n\n\n## Copyright\n\n© 2022 Crater Invoice, Inc.\n\n**Special thanks to:**\n\n- [Birkhoff Lee](https://github.com/BirkhoffLee)\n- [Akaunting](https://github.com/akaunting/akaunting)\n- [MakerLab](https://github.com/MakerLab-Dev)\n- [Sebastian Cretu](https://github.com/sebastiancretu)\n- [Florian Gareis](https://github.com/TheZoker)\n\n## Translate\n\nHelp us translate on https://crowdin.com/project/crater-invoice\n\n**Thanks to Translation Contributors:**\n\n- [Hassan A. Ba Abdullah (Arabic)](https://github.com/hsnapps)\n- [Clément de Louvencourt (French)](https://github.com/PHClement)\n- [Robin Delattre (French)](https://github.com/RobinDev)\n- [René Loos (Dutch)](https://github.com/Loosie94)\n- [Stefan Azarić (Serbian)](https://github.com/azaricstefan)\n- [Emmanuel Lampe (German)](https://github.com/rexlManu)\n- [edevrob (Latvian)](https://github.com/edevrob)\n\n## License\n\nCrater is released under the GNU AFFERO GENERAL PUBLIC LICENSE Version 3.\nSee [LICENSE](LICENSE) for details.\n"
  },
  {
    "path": "resources/lang/en/auth.php",
    "content": "<?php\n\nreturn [\n\n    /*\n    |--------------------------------------------------------------------------\n    | Authentication Language Lines\n    |--------------------------------------------------------------------------\n    |\n    | The following language lines are used during authentication for various\n    | messages that we need to display to the user. You are free to modify\n    | these language lines according to your application's requirements.\n    |\n    */\n\n    'failed' => 'These credentials do not match our records.',\n    'throttle' => 'Too many login attempts. Please try again in :seconds seconds.',\n\n];\n"
  },
  {
    "path": "resources/lang/en/pagination.php",
    "content": "<?php\n\nreturn [\n\n    /*\n    |--------------------------------------------------------------------------\n    | Pagination Language Lines\n    |--------------------------------------------------------------------------\n    |\n    | The following language lines are used by the paginator library to build\n    | the simple pagination links. You are free to change them to anything\n    | you want to customize your views to better match your application.\n    |\n    */\n\n    'previous' => '&laquo; Previous',\n    'next' => 'Next &raquo;',\n\n];\n"
  },
  {
    "path": "resources/lang/en/passwords.php",
    "content": "<?php\n\nreturn [\n\n    /*\n    |--------------------------------------------------------------------------\n    | Password Reset Language Lines\n    |--------------------------------------------------------------------------\n    |\n    | The following language lines are the default lines which match reasons\n    | that are given by the password broker for a password update attempt\n    | has failed, such as for an invalid token or invalid new password.\n    |\n    */\n\n    'password' => 'Passwords must be at least six characters and match the confirmation.',\n    'reset' => 'Your password has been reset!',\n    'sent' => 'We have e-mailed your password reset link!',\n    'token' => 'This password reset token is invalid.',\n    'user' => \"We can't find a user with that e-mail address.\",\n\n];\n"
  },
  {
    "path": "resources/lang/en/validation.php",
    "content": "<?php\n\nreturn [\n\n    /*\n    |--------------------------------------------------------------------------\n    | Validation Language Lines\n    |--------------------------------------------------------------------------\n    |\n    | The following language lines contain the default error messages used by\n    | the validator class. Some of these rules have multiple versions such\n    | as the size rules. Feel free to tweak each of these messages here.\n    |\n    */\n\n    'accepted' => 'The :attribute must be accepted.',\n    'active_url' => 'The :attribute is not a valid URL.',\n    'after' => 'The :attribute must be a date after :date.',\n    'alpha' => 'The :attribute may only contain letters.',\n    'alpha_dash' => 'The :attribute may only contain letters, numbers, and dashes.',\n    'alpha_num' => 'The :attribute may only contain letters and numbers.',\n    'array' => 'The :attribute must be an array.',\n    'before' => 'The :attribute must be a date before :date.',\n    'between' => [\n        'numeric' => 'The :attribute must be between :min and :max.',\n        'file' => 'The :attribute must be between :min and :max kilobytes.',\n        'string' => 'The :attribute must be between :min and :max characters.',\n        'array' => 'The :attribute must have between :min and :max items.',\n    ],\n    'boolean' => 'The :attribute field must be true or false.',\n    'confirmed' => 'The :attribute confirmation does not match.',\n    'date' => 'The :attribute is not a valid date.',\n    'carbon_date_format' => 'The :attribute does not match the format :format.',\n    'moment_date_format' => 'The :attribute does not match the format :format.',\n    'different' => 'The :attribute and :other must be different.',\n    'digits' => 'The :attribute must be :digits digits.',\n    'digits_between' => 'The :attribute must be between :min and :max digits.',\n    'dimensions' => 'The :attribute has invalid image dimensions.',\n    'distinct' => 'The :attribute field has a duplicate value.',\n    'email' => 'The :attribute must be a valid email address.',\n    'exists' => 'The selected :attribute is invalid.',\n    'file' => 'The :attribute must be a file.',\n    'filled' => 'The :attribute field is required.',\n    'image' => 'The :attribute must be an image.',\n    'in' => 'The selected :attribute is invalid.',\n    'in_array' => 'The :attribute field does not exist in :other.',\n    'integer' => 'The :attribute must be an integer.',\n    'ip' => 'The :attribute must be a valid IP address.',\n    'json' => 'The :attribute must be a valid JSON string.',\n    'max' => [\n        'numeric' => 'The :attribute may not be greater than :max.',\n        'file' => 'The :attribute may not be greater than :max kilobytes.',\n        'string' => 'The :attribute may not be greater than :max characters.',\n        'array' => 'The :attribute may not have more than :max items.',\n    ],\n    'mimes' => 'The :attribute must be a file of type: :values.',\n    'mimetypes' => 'The :attribute must be a file of type: :values.',\n    'min' => [\n        'numeric' => 'The :attribute must be at least :min.',\n        'file' => 'The :attribute must be at least :min kilobytes.',\n        'string' => 'The :attribute must be at least :min characters.',\n        'array' => 'The :attribute must have at least :min items.',\n    ],\n    'not_in' => 'The selected :attribute is invalid.',\n    'numeric' => 'The :attribute must be a number.',\n    'present' => 'The :attribute field must be present.',\n    'regex' => 'The :attribute format is invalid.',\n    'required' => 'The :attribute field is required.',\n    'required_if' => 'The :attribute field is required when :other is :value.',\n    'required_unless' => 'The :attribute field is required unless :other is in :values.',\n    'required_with' => 'The :attribute field is required when :values is present.',\n    'required_with_all' => 'The :attribute field is required when :values is present.',\n    'required_without' => 'The :attribute field is required when :values is not present.',\n    'required_without_all' => 'The :attribute field is required when none of :values are present.',\n    'same' => 'The :attribute and :other must match.',\n    'size' => [\n        'numeric' => 'The :attribute must be :size.',\n        'file' => 'The :attribute must be :size kilobytes.',\n        'string' => 'The :attribute must be :size characters.',\n        'array' => 'The :attribute must contain :size items.',\n    ],\n    'string' => 'The :attribute must be a string.',\n    'timezone' => 'The :attribute must be a valid zone.',\n    'unique' => 'The :attribute has already been taken.',\n    'uploaded' => 'The :attribute failed to upload.',\n    'url' => 'The :attribute format is invalid.',\n\n    /*\n    |--------------------------------------------------------------------------\n    | Custom Validation Language Lines\n    |--------------------------------------------------------------------------\n    |\n    | Here you may specify custom validation messages for attributes using the\n    | convention \"attribute.rule\" to name the lines. This makes it quick to\n    | specify a specific custom language line for a given attribute rule.\n    |\n    */\n\n    'custom' => [\n        'attribute-name' => [\n            'rule-name' => 'custom-message',\n        ],\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Custom Validation Attributes\n    |--------------------------------------------------------------------------\n    |\n    | The following language lines are used to swap attribute place-holders\n    | with something more reader friendly such as E-Mail Address instead\n    | of \"email\". This simply helps us make messages a little cleaner.\n    |\n    */\n\n    'attributes' => [],\n\n];\n"
  },
  {
    "path": "resources/lang/vendor/backup/ar/notifications.php",
    "content": "<?php\n\nreturn [\n    'exception_message' => 'رسالة استثناء: :message',\n    'exception_trace' => 'تتبع الإستثناء: :trace',\n    'exception_message_title' => 'رسالة استثناء',\n    'exception_trace_title' => 'تتبع الإستثناء',\n\n    'backup_failed_subject' => 'أخفق النسخ الاحتياطي لل :application_name',\n    'backup_failed_body' => 'مهم: حدث خطأ أثناء النسخ الاحتياطي :application_name',\n\n    'backup_successful_subject' => 'نسخ احتياطي جديد ناجح ل :application_name',\n    'backup_successful_subject_title' => 'نجاح النسخ الاحتياطي الجديد!',\n    'backup_successful_body' => 'أخبار عظيمة، نسخة احتياطية جديدة ل :application_name تم إنشاؤها بنجاح على القرص المسمى :disk_name.',\n\n    'cleanup_failed_subject' => 'فشل تنظيف النسخ الاحتياطي للتطبيق :application_name .',\n    'cleanup_failed_body' => 'حدث خطأ أثناء تنظيف النسخ الاحتياطية ل :application_name',\n\n    'cleanup_successful_subject' => 'تنظيف النسخ الاحتياطية ل :application_name تمت بنجاح',\n    'cleanup_successful_subject_title' => 'تنظيف النسخ الاحتياطية تم بنجاح!',\n    'cleanup_successful_body' => 'تنظيف النسخ الاحتياطية ل :application_name على القرص المسمى :disk_name تم بنجاح.',\n\n    'healthy_backup_found_subject' => 'النسخ الاحتياطية ل :application_name على القرص :disk_name صحية',\n    'healthy_backup_found_subject_title' => 'النسخ الاحتياطية ل :application_name صحية',\n    'healthy_backup_found_body' => 'تعتبر النسخ الاحتياطية ل :application_name صحية. عمل جيد!',\n\n    'unhealthy_backup_found_subject' => 'مهم: النسخ الاحتياطية ل :application_name غير صحية',\n    'unhealthy_backup_found_subject_title' => 'مهم: النسخ الاحتياطية ل :application_name غير صحية. :problem',\n    'unhealthy_backup_found_body' => 'النسخ الاحتياطية ل :application_name على القرص :disk_name غير صحية.',\n    'unhealthy_backup_found_not_reachable' => 'لا يمكن الوصول إلى وجهة النسخ الاحتياطي. :error',\n    'unhealthy_backup_found_empty' => 'لا توجد نسخ احتياطية لهذا التطبيق على الإطلاق.',\n    'unhealthy_backup_found_old' => 'تم إنشاء أحدث النسخ الاحتياطية في :date وتعتبر قديمة جدا.',\n    'unhealthy_backup_found_unknown' => 'عذرا، لا يمكن تحديد سبب دقيق.',\n    'unhealthy_backup_found_full' => 'النسخ الاحتياطية تستخدم الكثير من التخزين. الاستخدام الحالي هو :disk_usage وهو أعلى من الحد المسموح به من :disk_limit.',\n];\n"
  },
  {
    "path": "resources/lang/vendor/backup/cs/notifications.php",
    "content": "<?php\n\nreturn [\n    'exception_message' => 'Zpráva výjimky: :message',\n    'exception_trace' => 'Stopa výjimky: :trace',\n    'exception_message_title' => 'Zpráva výjimky',\n    'exception_trace_title' => 'Stopa výjimky',\n\n    'backup_failed_subject' => 'Záloha :application_name neuspěla',\n    'backup_failed_body' => 'Důležité: Při záloze :application_name se vyskytla chyba',\n\n    'backup_successful_subject' => 'Úspěšná nová záloha :application_name',\n    'backup_successful_subject_title' => 'Úspěšná nová záloha!',\n    'backup_successful_body' => 'Dobrá zpráva, na disku jménem :disk_name byla úspěšně vytvořena nová záloha :application_name.',\n\n    'cleanup_failed_subject' => 'Vyčištění záloh :application_name neuspělo.',\n    'cleanup_failed_body' => 'Při vyčištění záloh :application_name se vyskytla chyba',\n\n    'cleanup_successful_subject' => 'Vyčištění záloh :application_name úspěšné',\n    'cleanup_successful_subject_title' => 'Vyčištění záloh bylo úspěšné!',\n    'cleanup_successful_body' => 'Vyčištění záloh :application_name na disku jménem :disk_name bylo úspěšné.',\n\n    'healthy_backup_found_subject' => 'Zálohy pro :application_name na disku :disk_name jsou zdravé',\n    'healthy_backup_found_subject_title' => 'Zálohy pro :application_name jsou zdravé',\n    'healthy_backup_found_body' => 'Zálohy pro :application_name jsou považovány za zdravé. Dobrá práce!',\n\n    'unhealthy_backup_found_subject' => 'Důležité: Zálohy pro :application_name jsou nezdravé',\n    'unhealthy_backup_found_subject_title' => 'Důležité: Zálohy pro :application_name jsou nezdravé. :problem',\n    'unhealthy_backup_found_body' => 'Zálohy pro :application_name na disku :disk_name Jsou nezdravé.',\n    'unhealthy_backup_found_not_reachable' => 'Nelze se dostat k cíli zálohy. :error',\n    'unhealthy_backup_found_empty' => 'Tato aplikace nemá vůbec žádné zálohy.',\n    'unhealthy_backup_found_old' => 'Poslední záloha vytvořená dne :date je považována za příliš starou.',\n    'unhealthy_backup_found_unknown' => 'Omlouváme se, nemůžeme určit přesný důvod.',\n    'unhealthy_backup_found_full' => 'Zálohy zabírají příliš mnoho místa na disku. Aktuální využití disku je :disk_usage, což je vyšší než povolený limit :disk_limit.',\n];\n"
  },
  {
    "path": "resources/lang/vendor/backup/da/notifications.php",
    "content": "<?php\n\nreturn [\n    'exception_message' => 'Fejlbesked: :message',\n    'exception_trace' => 'Fejl trace: :trace',\n    'exception_message_title' => 'Fejlbesked',\n    'exception_trace_title' => 'Fejl trace',\n\n    'backup_failed_subject' => 'Backup af :application_name fejlede',\n    'backup_failed_body' => 'Vigtigt: Der skete en fejl under backup af :application_name',\n\n    'backup_successful_subject' => 'Ny backup af :application_name oprettet',\n    'backup_successful_subject_title' => 'Ny backup!',\n    'backup_successful_body' => 'Gode nyheder - der blev oprettet en ny backup af :application_name på disken :disk_name.',\n\n    'cleanup_failed_subject' => 'Oprydning af backups for :application_name fejlede.',\n    'cleanup_failed_body' => 'Der skete en fejl under oprydning af backups for :application_name',\n\n    'cleanup_successful_subject' => 'Oprydning af backups for :application_name gennemført',\n    'cleanup_successful_subject_title' => 'Backup oprydning gennemført!',\n    'cleanup_successful_body' => 'Oprydningen af backups for :application_name på disken :disk_name er gennemført.',\n\n    'healthy_backup_found_subject' => 'Alle backups for :application_name på disken :disk_name er OK',\n    'healthy_backup_found_subject_title' => 'Alle backups for :application_name er OK',\n    'healthy_backup_found_body' => 'Alle backups for :application_name er ok. Godt gået!',\n\n    'unhealthy_backup_found_subject' => 'Vigtigt: Backups for :application_name fejlbehæftede',\n    'unhealthy_backup_found_subject_title' => 'Vigtigt: Backups for :application_name er fejlbehæftede. :problem',\n    'unhealthy_backup_found_body' => 'Backups for :application_name på disken :disk_name er fejlbehæftede.',\n    'unhealthy_backup_found_not_reachable' => 'Backup destinationen kunne ikke findes. :error',\n    'unhealthy_backup_found_empty' => 'Denne applikation har ingen backups overhovedet.',\n    'unhealthy_backup_found_old' => 'Den seneste backup fra :date er for gammel.',\n    'unhealthy_backup_found_unknown' => 'Beklager, en præcis årsag kunne ikke findes.',\n    'unhealthy_backup_found_full' => 'Backups bruger for meget plads. Nuværende disk forbrug er :disk_usage, hvilket er mere end den tilladte grænse på :disk_limit.',\n];\n"
  },
  {
    "path": "resources/lang/vendor/backup/de/notifications.php",
    "content": "<?php\n\nreturn [\n    'exception_message' => 'Fehlermeldung: :message',\n    'exception_trace' => 'Fehlerverfolgung: :trace',\n    'exception_message_title' => 'Fehlermeldung',\n    'exception_trace_title' => 'Fehlerverfolgung',\n\n    'backup_failed_subject' => 'Backup von :application_name konnte nicht erstellt werden',\n    'backup_failed_body' => 'Wichtig: Beim Backup von :application_name ist ein Fehler aufgetreten',\n\n    'backup_successful_subject' => 'Erfolgreiches neues Backup von :application_name',\n    'backup_successful_subject_title' => 'Erfolgreiches neues Backup!',\n    'backup_successful_body' => 'Gute Nachrichten, ein neues Backup von :application_name wurde erfolgreich erstellt und in :disk_name gepeichert.',\n\n    'cleanup_failed_subject' => 'Aufräumen der Backups von :application_name schlug fehl.',\n    'cleanup_failed_body' => 'Beim aufräumen der Backups von :application_name ist ein Fehler aufgetreten',\n\n    'cleanup_successful_subject' => 'Aufräumen der Backups von :application_name backups erfolgreich',\n    'cleanup_successful_subject_title' => 'Aufräumen der Backups erfolgreich!',\n    'cleanup_successful_body' => 'Aufräumen der Backups von :application_name in :disk_name war erfolgreich.',\n\n    'healthy_backup_found_subject' => 'Die Backups von :application_name in :disk_name sind gesund',\n    'healthy_backup_found_subject_title' => 'Die Backups von :application_name sind Gesund',\n    'healthy_backup_found_body' => 'Die Backups von :application_name wurden als gesund eingestuft. Gute Arbeit!',\n\n    'unhealthy_backup_found_subject' => 'Wichtig: Die Backups für :application_name sind nicht gesund',\n    'unhealthy_backup_found_subject_title' => 'Wichtig: Die Backups für :application_name sind ungesund. :problem',\n    'unhealthy_backup_found_body' => 'Die Backups für :application_name in :disk_name sind ungesund.',\n    'unhealthy_backup_found_not_reachable' => 'Das Backup Ziel konnte nicht erreicht werden. :error',\n    'unhealthy_backup_found_empty' => 'Es gibt für die Anwendung noch gar keine Backups.',\n    'unhealthy_backup_found_old' => 'Das letzte Backup am :date ist zu lange her.',\n    'unhealthy_backup_found_unknown' => 'Sorry, ein genauer Grund konnte nicht gefunden werden.',\n    'unhealthy_backup_found_full' => 'Die Backups verbrauchen zu viel Platz. Aktuell wird :disk_usage belegt, dass ist höher als das erlaubte Limit von :disk_limit.',\n];\n"
  },
  {
    "path": "resources/lang/vendor/backup/en/notifications.php",
    "content": "<?php\n\nreturn [\n    'exception_message' => 'Exception message: :message',\n    'exception_trace' => 'Exception trace: :trace',\n    'exception_message_title' => 'Exception message',\n    'exception_trace_title' => 'Exception trace',\n\n    'backup_failed_subject' => 'Failed backup of :application_name',\n    'backup_failed_body' => 'Important: An error occurred while backing up :application_name',\n\n    'backup_successful_subject' => 'Successful new backup of :application_name',\n    'backup_successful_subject_title' => 'Successful new backup!',\n    'backup_successful_body' => 'Great news, a new backup of :application_name was successfully created on the disk named :disk_name.',\n\n    'cleanup_failed_subject' => 'Cleaning up the backups of :application_name failed.',\n    'cleanup_failed_body' => 'An error occurred while cleaning up the backups of :application_name',\n\n    'cleanup_successful_subject' => 'Clean up of :application_name backups successful',\n    'cleanup_successful_subject_title' => 'Clean up of backups successful!',\n    'cleanup_successful_body' => 'The clean up of the :application_name backups on the disk named :disk_name was successful.',\n\n    'healthy_backup_found_subject' => 'The backups for :application_name on disk :disk_name are healthy',\n    'healthy_backup_found_subject_title' => 'The backups for :application_name are healthy',\n    'healthy_backup_found_body' => 'The backups for :application_name are considered healthy. Good job!',\n\n    'unhealthy_backup_found_subject' => 'Important: The backups for :application_name are unhealthy',\n    'unhealthy_backup_found_subject_title' => 'Important: The backups for :application_name are unhealthy. :problem',\n    'unhealthy_backup_found_body' => 'The backups for :application_name on disk :disk_name are unhealthy.',\n    'unhealthy_backup_found_not_reachable' => 'The backup destination cannot be reached. :error',\n    'unhealthy_backup_found_empty' => 'There are no backups of this application at all.',\n    'unhealthy_backup_found_old' => 'The latest backup made on :date is considered too old.',\n    'unhealthy_backup_found_unknown' => 'Sorry, an exact reason cannot be determined.',\n    'unhealthy_backup_found_full' => 'The backups are using too much storage. Current usage is :disk_usage which is higher than the allowed limit of :disk_limit.',\n];\n"
  },
  {
    "path": "resources/lang/vendor/backup/es/notifications.php",
    "content": "<?php\n\nreturn [\n    'exception_message' => 'Mensaje de la excepción: :message',\n    'exception_trace' => 'Traza de la excepción: :trace',\n    'exception_message_title' => 'Mensaje de la excepción',\n    'exception_trace_title' => 'Traza de la excepción',\n\n    'backup_failed_subject' => 'Copia de seguridad de :application_name fallida',\n    'backup_failed_body' => 'Importante: Ocurrió un error al realizar la copia de seguridad de :application_name',\n\n    'backup_successful_subject' => 'Se completó con éxito la copia de seguridad de :application_name',\n    'backup_successful_subject_title' => '¡Nueva copia de seguridad creada con éxito!',\n    'backup_successful_body' => 'Buenas noticias, una nueva copia de seguridad de :application_name fue creada con éxito en el disco llamado :disk_name.',\n\n    'cleanup_failed_subject' => 'La limpieza de copias de seguridad de :application_name falló.',\n    'cleanup_failed_body' => 'Ocurrió un error mientras se realizaba la limpieza de copias de seguridad de :application_name',\n\n    'cleanup_successful_subject' => 'La limpieza de copias de seguridad de :application_name se completó con éxito',\n    'cleanup_successful_subject_title' => '!Limpieza de copias de seguridad completada con éxito!',\n    'cleanup_successful_body' => 'La limpieza de copias de seguridad de :application_name en el disco llamado :disk_name se completo con éxito.',\n\n    'healthy_backup_found_subject' => 'Las copias de seguridad de :application_name en el disco :disk_name están en buen estado',\n    'healthy_backup_found_subject_title' => 'Las copias de seguridad de :application_name están en buen estado',\n    'healthy_backup_found_body' => 'Las copias de seguridad de :application_name se consideran en buen estado. ¡Buen trabajo!',\n\n    'unhealthy_backup_found_subject' => 'Importante: Las copias de seguridad de :application_name están en mal estado',\n    'unhealthy_backup_found_subject_title' => 'Importante: Las copias de seguridad de :application_name están en mal estado. :problem',\n    'unhealthy_backup_found_body' => 'Las copias de seguridad de :application_name en el disco :disk_name están en mal estado.',\n    'unhealthy_backup_found_not_reachable' => 'No se puede acceder al destino de la copia de seguridad. :error',\n    'unhealthy_backup_found_empty' => 'No existe ninguna copia de seguridad de esta aplicación.',\n    'unhealthy_backup_found_old' => 'La última copia de seguriad hecha en :date es demasiado antigua.',\n    'unhealthy_backup_found_unknown' => 'Lo siento, no es posible determinar la razón exacta.',\n    'unhealthy_backup_found_full' => 'Las copias de seguridad  están ocupando demasiado espacio. El espacio utilizado actualmente es :disk_usage el cual es mayor que el límite permitido de :disk_limit.',\n];\n"
  },
  {
    "path": "resources/lang/vendor/backup/fa/notifications.php",
    "content": "<?php\n\nreturn [\n    'exception_message' => 'پیغام خطا: :message',\n    'exception_trace' => 'جزییات خطا: :trace',\n    'exception_message_title' => 'پیغام خطا',\n    'exception_trace_title' => 'جزییات خطا',\n\n    'backup_failed_subject' => 'پشتیبان‌گیری :application_name با خطا مواجه شد.',\n    'backup_failed_body' => 'پیغام مهم: هنگام پشتیبان‌گیری از :application_name خطایی رخ داده است. ',\n\n    'backup_successful_subject' => 'نسخه پشتیبان جدید :application_name با موفقیت ساخته شد.',\n    'backup_successful_subject_title' => 'پشتیبان‌گیری موفق!',\n    'backup_successful_body' => 'خبر خوب, به تازگی نسخه پشتیبان :application_name بر روی دیسک :disk_name با موفقیت ساخته شد. ',\n\n    'cleanup_failed_subject' => 'پاک‌‌سازی نسخه پشتیبان :application_name انجام نشد.',\n    'cleanup_failed_body' => 'هنگام پاک‌سازی نسخه پشتیبان :application_name خطایی رخ داده است.',\n\n    'cleanup_successful_subject' => 'پاک‌سازی نسخه پشتیبان :application_name با موفقیت انجام شد.',\n    'cleanup_successful_subject_title' => 'پاک‌سازی نسخه پشتیبان!',\n    'cleanup_successful_body' => 'پاک‌سازی نسخه پشتیبان :application_name بر روی دیسک :disk_name با موفقیت انجام شد.',\n\n    'healthy_backup_found_subject' => 'نسخه پشتیبان :application_name بر روی دیسک :disk_name سالم بود.',\n    'healthy_backup_found_subject_title' => 'نسخه پشتیبان :application_name سالم بود.',\n    'healthy_backup_found_body' => 'نسخه پشتیبان :application_name به نظر سالم میاد. دمت گرم!',\n\n    'unhealthy_backup_found_subject' => 'خبر مهم: نسخه پشتیبان :application_name سالم نبود.',\n    'unhealthy_backup_found_subject_title' => 'خبر مهم: نسخه پشتیبان :application_name سالم نبود. :problem',\n    'unhealthy_backup_found_body' => 'نسخه پشتیبان :application_name بر روی دیسک :disk_name سالم نبود.',\n    'unhealthy_backup_found_not_reachable' => 'مقصد پشتیبان‌گیری در دسترس نبود. :error',\n    'unhealthy_backup_found_empty' => 'برای این برنامه هیچ نسخه پشتیبانی وجود ندارد.',\n    'unhealthy_backup_found_old' => 'آخرین نسخه پشتیبان برای تاریخ :date است. که به نظر خیلی قدیمی میاد. ',\n    'unhealthy_backup_found_unknown' => 'متاسفانه دلیل دقیق مشخص نشده است.',\n    'unhealthy_backup_found_full' => 'نسخه‌های پشتیبانی که تهیه کرده اید حجم زیادی اشغال کرده اند. میزان دیسک استفاده شده :disk_usage است که از میزان مجاز :disk_limit فراتر رفته است. ',\n];\n"
  },
  {
    "path": "resources/lang/vendor/backup/fi/notifications.php",
    "content": "<?php\n\nreturn [\n    'exception_message' => 'Virheilmoitus: :message',\n    'exception_trace' => 'Virhe, jäljitys: :trace',\n    'exception_message_title' => 'Virheilmoitus',\n    'exception_trace_title' => 'Virheen jäljitys',\n\n    'backup_failed_subject' => ':application_name varmuuskopiointi epäonnistui',\n    'backup_failed_body' => 'HUOM!: :application_name varmuuskoipionnissa tapahtui virhe',\n\n    'backup_successful_subject' => ':application_name varmuuskopioitu onnistuneesti',\n    'backup_successful_subject_title' => 'Uusi varmuuskopio!',\n    'backup_successful_body' => 'Hyviä uutisia! :application_name on varmuuskopioitu levylle :disk_name.',\n\n    'cleanup_failed_subject' => ':application_name varmuuskopioiden poistaminen epäonnistui.',\n    'cleanup_failed_body' => ':application_name varmuuskopioiden poistamisessa tapahtui virhe.',\n\n    'cleanup_successful_subject' => ':application_name varmuuskopiot poistettu onnistuneesti',\n    'cleanup_successful_subject_title' => 'Varmuuskopiot poistettu onnistuneesti!',\n    'cleanup_successful_body' => ':application_name varmuuskopiot poistettu onnistuneesti levyltä :disk_name.',\n\n    'healthy_backup_found_subject' => ':application_name varmuuskopiot levyllä :disk_name ovat kunnossa',\n    'healthy_backup_found_subject_title' => ':application_name varmuuskopiot ovat kunnossa',\n    'healthy_backup_found_body' => ':application_name varmuuskopiot ovat kunnossa. Hieno homma!',\n\n    'unhealthy_backup_found_subject' => 'HUOM!: :application_name varmuuskopiot ovat vialliset',\n    'unhealthy_backup_found_subject_title' => 'HUOM!: :application_name varmuuskopiot ovat vialliset. :problem',\n    'unhealthy_backup_found_body' => ':application_name varmuuskopiot levyllä :disk_name ovat vialliset.',\n    'unhealthy_backup_found_not_reachable' => 'Varmuuskopioiden kohdekansio ei ole saatavilla. :error',\n    'unhealthy_backup_found_empty' => 'Tästä sovelluksesta ei ole varmuuskopioita.',\n    'unhealthy_backup_found_old' => 'Viimeisin varmuuskopio, luotu :date, on liian vanha.',\n    'unhealthy_backup_found_unknown' => 'Virhe, tarkempaa tietoa syystä ei valitettavasti ole saatavilla.',\n    'unhealthy_backup_found_full' => 'Varmuuskopiot vievät liikaa levytilaa. Tällä hetkellä käytössä :disk_usage, mikä on suurempi kuin sallittu tilavuus (:disk_limit).',\n];\n"
  },
  {
    "path": "resources/lang/vendor/backup/fr/notifications.php",
    "content": "<?php\n\nreturn [\n    'exception_message' => 'Message de l\\'exception : :message',\n    'exception_trace' => 'Trace de l\\'exception : :trace',\n    'exception_message_title' => 'Message de l\\'exception',\n    'exception_trace_title' => 'Trace de l\\'exception',\n\n    'backup_failed_subject' => 'Échec de la sauvegarde de :application_name',\n    'backup_failed_body' => 'Important : Une erreur est survenue lors de la sauvegarde de :application_name',\n\n    'backup_successful_subject' => 'Succès de la sauvegarde de :application_name',\n    'backup_successful_subject_title' => 'Sauvegarde créée avec succès !',\n    'backup_successful_body' => 'Bonne nouvelle, une nouvelle sauvegarde de :application_name a été créée avec succès sur le disque nommé :disk_name.',\n\n    'cleanup_failed_subject' => 'Le nettoyage des sauvegardes de :application_name a echoué.',\n    'cleanup_failed_body' => 'Une erreur est survenue lors du nettoyage des sauvegardes de :application_name',\n\n    'cleanup_successful_subject' => 'Succès du nettoyage des sauvegardes de :application_name',\n    'cleanup_successful_subject_title' => 'Sauvegardes nettoyées avec succès !',\n    'cleanup_successful_body' => 'Le nettoyage des sauvegardes de :application_name sur le disque nommé :disk_name a été effectué avec succès.',\n\n    'healthy_backup_found_subject' => 'Les sauvegardes pour :application_name sur le disque :disk_name sont saines',\n    'healthy_backup_found_subject_title' => 'Les sauvegardes pour :application_name sont saines',\n    'healthy_backup_found_body' => 'Les sauvegardes pour :application_name sont considérées saines. Bon travail !',\n\n    'unhealthy_backup_found_subject' => 'Important : Les sauvegardes pour :application_name sont corrompues',\n    'unhealthy_backup_found_subject_title' => 'Important : Les sauvegardes pour :application_name sont corrompues. :problem',\n    'unhealthy_backup_found_body' => 'Les sauvegardes pour :application_name sur le disque :disk_name sont corrompues.',\n    'unhealthy_backup_found_not_reachable' => 'La destination de la sauvegarde n\\'est pas accessible. :error',\n    'unhealthy_backup_found_empty' => 'Il n\\'y a aucune sauvegarde pour cette application.',\n    'unhealthy_backup_found_old' => 'La dernière sauvegarde du :date est considérée trop vieille.',\n    'unhealthy_backup_found_unknown' => 'Désolé, une raison exacte ne peut être déterminée.',\n    'unhealthy_backup_found_full' => 'Les sauvegardes utilisent trop d\\'espace disque. L\\'utilisation actuelle est de :disk_usage alors que la limite autorisée est de :disk_limit.',\n];\n"
  },
  {
    "path": "resources/lang/vendor/backup/hi/notifications.php",
    "content": "<?php\n\nreturn [\n    'exception_message' => 'गलती संदेश: :message',\n    'exception_trace' => 'गलती निशान: :trace',\n    'exception_message_title' => 'गलती संदेश',\n    'exception_trace_title' => 'गलती निशान',\n\n    'backup_failed_subject' => ':application_name का बैकअप असफल रहा',\n    'backup_failed_body' => 'जरूरी सुचना: :application_name का बैकअप लेते समय असफल रहे',\n\n    'backup_successful_subject' => ':application_name का बैकअप सफल रहा',\n    'backup_successful_subject_title' => 'बैकअप सफल रहा!',\n    'backup_successful_body' => 'खुशखबरी, :application_name का बैकअप :disk_name पर संग्रहित करने मे सफल रहे.',\n\n    'cleanup_failed_subject' => ':application_name के बैकअप की सफाई असफल रही.',\n    'cleanup_failed_body' => ':application_name के बैकअप की सफाई करते समय कुछ बाधा आयी है.',\n\n    'cleanup_successful_subject' => ':application_name के बैकअप की सफाई सफल रही',\n    'cleanup_successful_subject_title' => 'बैकअप की सफाई सफल रही!',\n    'cleanup_successful_body' => ':application_name का बैकअप जो :disk_name नाम की डिस्क पर संग्रहित है, उसकी सफाई सफल रही.',\n\n    'healthy_backup_found_subject' => ':disk_name नाम की डिस्क पर संग्रहित :application_name के बैकअप स्वस्थ है',\n    'healthy_backup_found_subject_title' => ':application_name के सभी बैकअप स्वस्थ है',\n    'healthy_backup_found_body' => 'बहुत बढ़िया! :application_name के सभी बैकअप स्वस्थ है.',\n\n    'unhealthy_backup_found_subject' => 'जरूरी सुचना :  :application_name के बैकअप अस्वस्थ है',\n    'unhealthy_backup_found_subject_title' => 'जरूरी सुचना : :application_name के बैकअप :problem के बजेसे अस्वस्थ है',\n    'unhealthy_backup_found_body' => ':disk_name नाम की डिस्क पर संग्रहित :application_name के बैकअप अस्वस्थ है',\n    'unhealthy_backup_found_not_reachable' => ':error के बजेसे बैकअप की मंजिल तक पोहोच नहीं सकते.',\n    'unhealthy_backup_found_empty' => 'इस एप्लीकेशन का कोई भी बैकअप नहीं है.',\n    'unhealthy_backup_found_old' => 'हालहीमें :date को लिया हुआ बैकअप बहुत पुराना है.',\n    'unhealthy_backup_found_unknown' => 'माफ़ कीजिये, सही कारण निर्धारित नहीं कर सकते.',\n    'unhealthy_backup_found_full' => 'सभी बैकअप बहुत ज्यादा जगह का उपयोग कर रहे है. फ़िलहाल सभी बैकअप :disk_usage जगह का उपयोग कर रहे है, जो की :disk_limit अनुमति सीमा से अधिक का है.',\n];\n"
  },
  {
    "path": "resources/lang/vendor/backup/id/notifications.php",
    "content": "<?php\n\nreturn [\n    'exception_message' => 'Pesan pengecualian: :message',\n    'exception_trace' => 'Jejak pengecualian: :trace',\n    'exception_message_title' => 'Pesan pengecualian',\n    'exception_trace_title' => 'Jejak pengecualian',\n\n    'backup_failed_subject' => 'Gagal backup :application_name',\n    'backup_failed_body' => 'Penting: Sebuah error terjadi ketika membackup :application_name',\n\n    'backup_successful_subject' => 'Backup baru sukses dari :application_name',\n    'backup_successful_subject_title' => 'Backup baru sukses!',\n    'backup_successful_body' => 'Kabar baik, sebuah backup baru dari :application_name sukses dibuat pada disk bernama :disk_name.',\n\n    'cleanup_failed_subject' => 'Membersihkan backup dari :application_name yang gagal.',\n    'cleanup_failed_body' => 'Sebuah error teradi ketika membersihkan backup dari :application_name',\n\n    'cleanup_successful_subject' => 'Sukses membersihkan backup :application_name',\n    'cleanup_successful_subject_title' => 'Sukses membersihkan backup!',\n    'cleanup_successful_body' => 'Pembersihan backup :application_name pada disk bernama :disk_name telah sukses.',\n\n    'healthy_backup_found_subject' => 'Backup untuk :application_name pada disk :disk_name sehat',\n    'healthy_backup_found_subject_title' => 'Backup untuk :application_name sehat',\n    'healthy_backup_found_body' => 'Backup untuk :application_name dipertimbangkan sehat. Kerja bagus!',\n\n    'unhealthy_backup_found_subject' => 'Penting: Backup untuk :application_name tidak sehat',\n    'unhealthy_backup_found_subject_title' => 'Penting: Backup untuk :application_name tidak sehat. :problem',\n    'unhealthy_backup_found_body' => 'Backup untuk :application_name pada disk :disk_name tidak sehat.',\n    'unhealthy_backup_found_not_reachable' => 'Tujuan backup tidak dapat terjangkau. :error',\n    'unhealthy_backup_found_empty' => 'Tidak ada backup pada aplikasi ini sama sekali.',\n    'unhealthy_backup_found_old' => 'Backup terakhir dibuat pada :date dimana dipertimbahkan sudah sangat lama.',\n    'unhealthy_backup_found_unknown' => 'Maaf, sebuah alasan persisnya tidak dapat ditentukan.',\n    'unhealthy_backup_found_full' => 'Backup menggunakan terlalu banyak kapasitas penyimpanan. Penggunaan terkini adalah :disk_usage dimana lebih besar dari batas yang diperbolehkan yaitu :disk_limit.',\n];\n"
  },
  {
    "path": "resources/lang/vendor/backup/it/notifications.php",
    "content": "<?php\n\nreturn [\n    'exception_message' => 'Messaggio dell\\'eccezione: :message',\n    'exception_trace' => 'Traccia dell\\'eccezione: :trace',\n    'exception_message_title' => 'Messaggio dell\\'eccezione',\n    'exception_trace_title' => 'Traccia dell\\'eccezione',\n\n    'backup_failed_subject' => 'Fallito il backup di :application_name',\n    'backup_failed_body' => 'Importante: Si è verificato un errore durante il backup di :application_name',\n\n    'backup_successful_subject' => 'Creato nuovo backup di :application_name',\n    'backup_successful_subject_title' => 'Nuovo backup creato!',\n    'backup_successful_body' => 'Grande notizia, un nuovo backup di :application_name è stato creato con successo sul disco :disk_name.',\n\n    'cleanup_failed_subject' => 'Pulizia dei backup di :application_name fallita.',\n    'cleanup_failed_body' => 'Si è verificato un errore durante la pulizia dei backup di :application_name',\n\n    'cleanup_successful_subject' => 'Pulizia dei backup di :application_name avvenuta con successo',\n    'cleanup_successful_subject_title' => 'Pulizia dei backup avvenuta con successo!',\n    'cleanup_successful_body' => 'La pulizia dei backup di :application_name sul disco :disk_name è avvenuta con successo.',\n\n    'healthy_backup_found_subject' => 'I backup per :application_name sul disco :disk_name sono sani',\n    'healthy_backup_found_subject_title' => 'I backup per :application_name sono sani',\n    'healthy_backup_found_body' => 'I backup per :application_name sono considerati sani. Bel Lavoro!',\n\n    'unhealthy_backup_found_subject' => 'Importante: i backup per :application_name sono corrotti',\n    'unhealthy_backup_found_subject_title' => 'Importante: i backup per :application_name sono corrotti. :problem',\n    'unhealthy_backup_found_body' => 'I backup per :application_name sul disco :disk_name sono corrotti.',\n    'unhealthy_backup_found_not_reachable' => 'Impossibile raggiungere la destinazione di backup. :error',\n    'unhealthy_backup_found_empty' => 'Non esiste alcun backup di questa applicazione.',\n    'unhealthy_backup_found_old' => 'L\\'ultimo backup fatto il :date è considerato troppo vecchio.',\n    'unhealthy_backup_found_unknown' => 'Spiacenti, non è possibile determinare una ragione esatta.',\n    'unhealthy_backup_found_full' => 'I backup utilizzano troppa memoria. L\\'utilizzo corrente è :disk_usage che è superiore al limite consentito di :disk_limit.',\n];\n"
  },
  {
    "path": "resources/lang/vendor/backup/nl/notifications.php",
    "content": "<?php\n\nreturn [\n    'exception_message' => 'Fout bericht: :message',\n    'exception_trace' => 'Fout trace: :trace',\n    'exception_message_title' => 'Fout bericht',\n    'exception_trace_title' => 'Fout trace',\n\n    'backup_failed_subject' => 'Back-up van :application_name mislukt',\n    'backup_failed_body' => 'Belangrijk: Er ging iets fout tijdens het maken van een back-up van :application_name',\n\n    'backup_successful_subject' => 'Succesvolle nieuwe back-up van :application_name',\n    'backup_successful_subject_title' => 'Succesvolle nieuwe back-up!',\n    'backup_successful_body' => 'Goed nieuws, een nieuwe back-up van :application_name was succesvol aangemaakt op de schijf genaamd :disk_name.',\n\n    'cleanup_failed_subject' => 'Het opschonen van de back-ups van :application_name is mislukt.',\n    'cleanup_failed_body' => 'Er ging iets fout tijdens het opschonen van de back-ups van :application_name',\n\n    'cleanup_successful_subject' => 'Opschonen van :application_name back-ups was succesvol.',\n    'cleanup_successful_subject_title' => 'Opschonen van back-ups was succesvol!',\n    'cleanup_successful_body' => 'Het opschonen van de :application_name back-ups op de schijf genaamd :disk_name was succesvol.',\n\n    'healthy_backup_found_subject' => 'De back-ups voor :application_name op schijf :disk_name zijn gezond',\n    'healthy_backup_found_subject_title' => 'De back-ups voor :application_name zijn gezond',\n    'healthy_backup_found_body' => 'De back-ups voor :application_name worden als gezond beschouwd. Goed gedaan!',\n\n    'unhealthy_backup_found_subject' => 'Belangrijk: De back-ups voor :application_name zijn niet meer gezond',\n    'unhealthy_backup_found_subject_title' => 'Belangrijk: De back-ups voor :application_name zijn niet gezond. :problem',\n    'unhealthy_backup_found_body' => 'De back-ups voor :application_name op schijf :disk_name zijn niet gezond.',\n    'unhealthy_backup_found_not_reachable' => 'De back-upbestemming kon niet worden bereikt. :error',\n    'unhealthy_backup_found_empty' => 'Er zijn geen back-ups van deze applicatie beschikbaar.',\n    'unhealthy_backup_found_old' => 'De laatste back-up gemaakt op :date is te oud.',\n    'unhealthy_backup_found_unknown' => 'Sorry, een exacte reden kon niet worden bepaald.',\n    'unhealthy_backup_found_full' => 'De back-ups gebruiken te veel opslagruimte. Momenteel wordt er :disk_usage gebruikt wat hoger is dan de toegestane limiet van :disk_limit.',\n];\n"
  },
  {
    "path": "resources/lang/vendor/backup/pl/notifications.php",
    "content": "<?php\n\nreturn [\n    'exception_message' => 'Błąd: :message',\n    'exception_trace' => 'Zrzut błędu: :trace',\n    'exception_message_title' => 'Błąd',\n    'exception_trace_title' => 'Zrzut błędu',\n\n    'backup_failed_subject' => 'Tworzenie kopii zapasowej aplikacji :application_name nie powiodło się',\n    'backup_failed_body' => 'Ważne: Wystąpił błąd podczas tworzenia kopii zapasowej aplikacji :application_name',\n\n    'backup_successful_subject' => 'Pomyślnie utworzono kopię zapasową aplikacji :application_name',\n    'backup_successful_subject_title' => 'Nowa kopia zapasowa!',\n    'backup_successful_body' => 'Wspaniała wiadomość, nowa kopia zapasowa aplikacji :application_name została pomyślnie utworzona na dysku o nazwie :disk_name.',\n\n    'cleanup_failed_subject' => 'Czyszczenie kopii zapasowych aplikacji :application_name nie powiodło się.',\n    'cleanup_failed_body' => 'Wystąpił błąd podczas czyszczenia kopii zapasowej aplikacji :application_name',\n\n    'cleanup_successful_subject' => 'Kopie zapasowe aplikacji :application_name zostały pomyślnie wyczyszczone',\n    'cleanup_successful_subject_title' => 'Kopie zapasowe zostały pomyślnie wyczyszczone!',\n    'cleanup_successful_body' => 'Czyszczenie kopii zapasowych aplikacji :application_name na dysku :disk_name zakończone sukcesem.',\n\n    'healthy_backup_found_subject' => 'Kopie zapasowe aplikacji :application_name na dysku :disk_name są poprawne',\n    'healthy_backup_found_subject_title' => 'Kopie zapasowe aplikacji :application_name są poprawne',\n    'healthy_backup_found_body' => 'Kopie zapasowe aplikacji :application_name są poprawne. Dobra robota!',\n\n    'unhealthy_backup_found_subject' => 'Ważne: Kopie zapasowe aplikacji :application_name są niepoprawne',\n    'unhealthy_backup_found_subject_title' => 'Ważne: Kopie zapasowe aplikacji :application_name są niepoprawne. :problem',\n    'unhealthy_backup_found_body' => 'Kopie zapasowe aplikacji :application_name na dysku :disk_name są niepoprawne.',\n    'unhealthy_backup_found_not_reachable' => 'Miejsce docelowe kopii zapasowej nie jest osiągalne. :error',\n    'unhealthy_backup_found_empty' => 'W aplikacji nie ma żadnej kopii zapasowych tej aplikacji.',\n    'unhealthy_backup_found_old' => 'Ostatnia kopia zapasowa wykonania dnia :date jest zbyt stara.',\n    'unhealthy_backup_found_unknown' => 'Niestety, nie można ustalić dokładnego błędu.',\n    'unhealthy_backup_found_full' => 'Kopie zapasowe zajmują zbyt dużo miejsca. Obecne użycie dysku :disk_usage jest większe od ustalonego limitu :disk_limit.',\n];\n"
  },
  {
    "path": "resources/lang/vendor/backup/pt-BR/notifications.php",
    "content": "<?php\n\nreturn [\n    'exception_message' => 'Exception message: :message',\n    'exception_trace' => 'Exception trace: :trace',\n    'exception_message_title' => 'Exception message',\n    'exception_trace_title' => 'Exception trace',\n\n    'backup_failed_subject' => 'Falha no backup da aplicação :application_name',\n    'backup_failed_body' => 'Importante: Ocorreu um erro ao fazer o backup da aplicação :application_name',\n\n    'backup_successful_subject' => 'Backup realizado com sucesso: :application_name',\n    'backup_successful_subject_title' => 'Backup Realizado com sucesso!',\n    'backup_successful_body' => 'Boas notícias, um novo backup da aplicação :application_name foi criado no disco :disk_name.',\n\n    'cleanup_failed_subject' => 'Falha na limpeza dos backups da aplicação :application_name.',\n    'cleanup_failed_body' => 'Um erro ocorreu ao fazer a limpeza dos backups da aplicação :application_name',\n\n    'cleanup_successful_subject' => 'Limpeza dos backups da aplicação :application_name concluída!',\n    'cleanup_successful_subject_title' => 'Limpeza dos backups concluída!',\n    'cleanup_successful_body' => 'A limpeza dos backups da aplicação :application_name no disco :disk_name foi concluída.',\n\n    'healthy_backup_found_subject' => 'Os backups da aplicação :application_name no disco :disk_name estão em dia',\n    'healthy_backup_found_subject_title' => 'Os backups da aplicação :application_name estão em dia',\n    'healthy_backup_found_body' => 'Os backups da aplicação :application_name estão em dia. Bom trabalho!',\n\n    'unhealthy_backup_found_subject' => 'Importante: Os backups da aplicação :application_name não estão em dia',\n    'unhealthy_backup_found_subject_title' => 'Importante: Os backups da aplicação :application_name não estão em dia. :problem',\n    'unhealthy_backup_found_body' => 'Os backups da aplicação :application_name no disco :disk_name não estão em dia.',\n    'unhealthy_backup_found_not_reachable' => 'O destino dos backups não pode ser alcançado. :error',\n    'unhealthy_backup_found_empty' => 'Não existem backups para essa aplicação.',\n    'unhealthy_backup_found_old' => 'O último backup realizado em :date é considerado muito antigo.',\n    'unhealthy_backup_found_unknown' => 'Desculpe, a exata razão não pode ser encontrada.',\n    'unhealthy_backup_found_full' => 'Os backups estão usando muito espaço de armazenamento. A utilização atual é de :disk_usage, o que é maior que o limite permitido de :disk_limit.',\n];\n"
  },
  {
    "path": "resources/lang/vendor/backup/ro/notifications.php",
    "content": "<?php\n\nreturn [\n    'exception_message' => 'Cu excepția mesajului: :message',\n    'exception_trace' => 'Urmă excepţie: :trace',\n    'exception_message_title' => 'Mesaj de excepție',\n    'exception_trace_title' => 'Urmă excepţie',\n\n    'backup_failed_subject' => 'Nu s-a putut face copie de rezervă pentru :application_name',\n    'backup_failed_body' => 'Important: A apărut o eroare în timpul generării copiei de rezervă pentru :application_name',\n\n    'backup_successful_subject' => 'Copie de rezervă efectuată cu succes pentru :application_name',\n    'backup_successful_subject_title' => 'O nouă copie de rezervă a fost efectuată cu succes!',\n    'backup_successful_body' => 'Vești bune, o nouă copie de rezervă pentru :application_name a fost creată cu succes pe discul cu numele :disk_name.',\n\n    'cleanup_failed_subject' => 'Curățarea copiilor de rezervă pentru :application_name nu a reușit.',\n    'cleanup_failed_body' => 'A apărut o eroare în timpul curățirii copiilor de rezervă pentru :application_name',\n\n    'cleanup_successful_subject' => 'Curățarea copiilor de rezervă pentru :application_name a fost făcută cu succes',\n    'cleanup_successful_subject_title' => 'Curățarea copiilor de rezervă a fost făcută cu succes!',\n    'cleanup_successful_body' => 'Curățarea copiilor de rezervă pentru :application_name de pe discul cu numele :disk_name a fost făcută cu succes.',\n\n    'healthy_backup_found_subject' => 'Copiile de rezervă pentru :application_name de pe discul :disk_name sunt în regulă',\n    'healthy_backup_found_subject_title' => 'Copiile de rezervă pentru :application_name sunt în regulă',\n    'healthy_backup_found_body' => 'Copiile de rezervă pentru :application_name sunt considerate în regulă. Bună treabă!',\n\n    'unhealthy_backup_found_subject' => 'Important: Copiile de rezervă pentru :application_name nu sunt în regulă',\n    'unhealthy_backup_found_subject_title' => 'Important: Copiile de rezervă pentru :application_name nu sunt în regulă. :problem',\n    'unhealthy_backup_found_body' => 'Copiile de rezervă pentru :application_name de pe discul :disk_name nu sunt în regulă.',\n    'unhealthy_backup_found_not_reachable' => 'Nu se poate ajunge la destinația copiilor de rezervă. :error',\n    'unhealthy_backup_found_empty' => 'Nu există copii de rezervă ale acestei aplicații.',\n    'unhealthy_backup_found_old' => 'Cea mai recentă copie de rezervă făcută la :date este considerată prea veche.',\n    'unhealthy_backup_found_unknown' => 'Ne pare rău, un motiv exact nu poate fi determinat.',\n    'unhealthy_backup_found_full' => 'Copiile de rezervă folosesc prea mult spațiu de stocare. Utilizarea curentă este de :disk_usage care este mai mare decât limita permisă de :disk_limit.',\n];\n"
  },
  {
    "path": "resources/lang/vendor/backup/ru/notifications.php",
    "content": "<?php\n\nreturn [\n    'exception_message' => 'Сообщение об ошибке: :message',\n    'exception_trace' => 'Сведения об ошибке: :trace',\n    'exception_message_title' => 'Сообщение об ошибке',\n    'exception_trace_title' => 'Сведения об ошибке',\n\n    'backup_failed_subject' => 'Не удалось сделать резервную копию :application_name',\n    'backup_failed_body' => 'Внимание: Произошла ошибка во время резервного копирования :application_name',\n\n    'backup_successful_subject' => 'Успешно создана новая резервная копия :application_name',\n    'backup_successful_subject_title' => 'Успешно создана новая резервная копия!',\n    'backup_successful_body' => 'Отличная новость, новая резервная копия :application_name успешно создана и сохранена на диск :disk_name.',\n\n    'cleanup_failed_subject' => 'Не удалось очистить резервные копии :application_name',\n    'cleanup_failed_body' => 'Произошла ошибка при очистке резервных копий :application_name',\n\n    'cleanup_successful_subject' => 'Очистка от резервных копий :application_name прошла успешно',\n    'cleanup_successful_subject_title' => 'Очистка резервных копий прошла удачно!',\n    'cleanup_successful_body' => 'Очистка от старых резервных копий :application_name на диске :disk_name прошла удачно.',\n\n    'healthy_backup_found_subject' => 'Резервная копия :application_name с диска :disk_name установлена',\n    'healthy_backup_found_subject_title' => 'Резервная копия :application_name установлена',\n    'healthy_backup_found_body' => 'Резервная копия :application_name успешно установлена. Хорошая работа!',\n\n    'unhealthy_backup_found_subject' => 'Внимание: резервная копия :application_name не установилась',\n    'unhealthy_backup_found_subject_title' => 'Внимание: резервная копия для :application_name не установилась. :problem',\n    'unhealthy_backup_found_body' => 'Резервная копия для :application_name на диске :disk_name не установилась.',\n    'unhealthy_backup_found_not_reachable' => 'Резервная копия не смогла установиться. :error',\n    'unhealthy_backup_found_empty' => 'Резервные копии для этого приложения отсутствуют.',\n    'unhealthy_backup_found_old' => 'Последнее резервное копирование создано :date является устаревшим.',\n    'unhealthy_backup_found_unknown' => 'Извините, точная причина не может быть определена.',\n    'unhealthy_backup_found_full' => 'Резервные копии используют слишком много памяти. Используется :disk_usage что выше допустимого предела: :disk_limit.',\n];\n"
  },
  {
    "path": "resources/lang/vendor/backup/tr/notifications.php",
    "content": "<?php\n\nreturn [\n    'exception_message' => 'Hata mesajı: :message',\n    'exception_trace' => 'Hata izleri: :trace',\n    'exception_message_title' => 'Hata mesajı',\n    'exception_trace_title' => 'Hata izleri',\n\n    'backup_failed_subject' => 'Yedeklenemedi :application_name',\n    'backup_failed_body' => 'Önemli: Yedeklenirken bir hata oluştu :application_name',\n\n    'backup_successful_subject' => 'Başarılı :application_name yeni yedeklemesi',\n    'backup_successful_subject_title' => 'Başarılı bir yeni yedekleme!',\n    'backup_successful_body' => 'Harika bir haber, :application_name âit yeni bir yedekleme :disk_name adlı diskte başarıyla oluşturuldu.',\n\n    'cleanup_failed_subject' => ':application_name yedeklemeleri temizlenmesi başarısız.',\n    'cleanup_failed_body' => ':application_name yedeklerini temizlerken bir hata oluştu ',\n\n    'cleanup_successful_subject' => ':application_name yedeklemeleri temizlenmesi başarılı.',\n    'cleanup_successful_subject_title' => 'Yedeklerin temizlenmesi başarılı!',\n    'cleanup_successful_body' => ':application_name yedeklemeleri temizlenmesi ,:disk_name diskinden silindi',\n\n    'healthy_backup_found_subject' => ':application_name yedeklenmesi ,:disk_name adlı diskte sağlıklı',\n    'healthy_backup_found_subject_title' => ':application_name yedeklenmesi sağlıklı',\n    'healthy_backup_found_body' => ':application_name için yapılan yedeklemeler sağlıklı sayılır. Aferin!',\n\n    'unhealthy_backup_found_subject' => 'Önemli: :application_name için yedeklemeler sağlıksız',\n    'unhealthy_backup_found_subject_title' => 'Önemli: :application_name için yedeklemeler sağlıksız. :problem',\n    'unhealthy_backup_found_body' => 'Yedeklemeler: :application_name disk: :disk_name sağlıksız.',\n    'unhealthy_backup_found_not_reachable' => 'Yedekleme hedefine ulaşılamıyor. :error',\n    'unhealthy_backup_found_empty' => 'Bu uygulamanın yedekleri yok.',\n    'unhealthy_backup_found_old' => ':date tarihinde yapılan en son yedekleme çok eski kabul ediliyor.',\n    'unhealthy_backup_found_unknown' => 'Üzgünüm, kesin bir sebep belirlenemiyor.',\n    'unhealthy_backup_found_full' => 'Yedeklemeler çok fazla depolama alanı kullanıyor. Şu anki kullanım: :disk_usage, izin verilen sınırdan yüksek: :disk_limit.',\n];\n"
  },
  {
    "path": "resources/lang/vendor/backup/uk/notifications.php",
    "content": "<?php\n\nreturn [\n    'exception_message' => 'Повідомлення про помилку: :message',\n    'exception_trace' => 'Деталі помилки: :trace',\n    'exception_message_title' => 'Повідомлення помилки',\n    'exception_trace_title' => 'Деталі помилки',\n\n    'backup_failed_subject' => 'Не вдалось зробити резервну копію :application_name',\n    'backup_failed_body' => 'Увага: Трапилась помилка під час резервного копіювання :application_name',\n\n    'backup_successful_subject' => 'Успішне резервне копіювання :application_name',\n    'backup_successful_subject_title' => 'Успішно створена резервна копія!',\n    'backup_successful_body' => 'Чудова новина, нова резервна копія :application_name успішно створена і збережена на диск :disk_name.',\n\n    'cleanup_failed_subject' => 'Не вдалось очистити резервні копії :application_name',\n    'cleanup_failed_body' => 'Сталася помилка під час очищення резервних копій :application_name',\n\n    'cleanup_successful_subject' => 'Успішне очищення від резервних копій :application_name',\n    'cleanup_successful_subject_title' => 'Очищення резервних копій пройшло вдало!',\n    'cleanup_successful_body' => 'Очищенно від старих резервних копій :application_name на диску :disk_name пойшло успішно.',\n\n    'healthy_backup_found_subject' => 'Резервна копія :application_name з диску :disk_name установлена',\n    'healthy_backup_found_subject_title' => 'Резервна копія :application_name установлена',\n    'healthy_backup_found_body' => 'Резервна копія :application_name успішно установлена. Хороша робота!',\n\n    'unhealthy_backup_found_subject' => 'Увага: резервна копія :application_name не установилась',\n    'unhealthy_backup_found_subject_title' => 'Увага: резервна копія для :application_name не установилась. :problem',\n    'unhealthy_backup_found_body' => 'Резервна копія для :application_name на диску :disk_name не установилась.',\n    'unhealthy_backup_found_not_reachable' => 'Резервна копія не змогла установитись. :error',\n    'unhealthy_backup_found_empty' => 'Резервні копії для цього додатку відсутні.',\n    'unhealthy_backup_found_old' => 'Останнє резервне копіювання створено :date є застарілим.',\n    'unhealthy_backup_found_unknown' => 'Вибачте, але ми не змогли визначити точну причину.',\n    'unhealthy_backup_found_full' => 'Резервні копії використовують занадто багато пам`яті. Використовується :disk_usage що вище за допустиму межу :disk_limit.',\n];\n"
  },
  {
    "path": "resources/lang/vendor/backup/vi/notifications.php",
    "content": "<?php\n\nreturn [\n    \"exception_message\" => \"Thông báo ngoại lệ: :message\",\n    \"exception_trace\" => \"Dấu vết ngoại lệ: :trace\",\n    \"exception_message_title\" => \"Thông báo ngoại lệ\",\n    \"exception_trace_title\" => \"Dấu vết ngoại lệ\",\n\n    \"backup_failed_subject\" => \"Sao lưu không thành công của :application_name\",\n    \"backup_failed_body\" => \"Quan trọng: Đã xảy ra lỗi khi sao lưu :application_name\",\n\n    \"backup_successful_subject\" => \"Sao lưu mới thành công :application_name\",\n    \"backup_successful_subject_title\" => \"Sao lưu mới thành công!\",\n    \"backup_successful_body\" => \"Tin vui, một bản sao lưu mới của :application_name đã được tạo thành công trên đĩa có tên :disk_name.\",\n\n    \"cleanup_failed_subject\" => \"Dọn dẹp các bản sao lưu của :application_name không thành công.\",\n    \"cleanup_failed_body\" => \"Đã xảy ra lỗi khi dọn dẹp các bản sao lưu của :application_name\",\n\n    \"cleanup_successful_subject\" => \"Dọn dẹp các bản sao lưu :application_name thành công\",\n    \"cleanup_successful_subject_title\" => \"Dọn dẹp các bản sao lưu thành công!\",\n    \"cleanup_successful_body\" => \"Dọn dẹp các bản sao lưu :application_name trên đĩa có tên :disk_name đã thành công.\",\n\n    \"healthy_backup_found_subject\" => \"Các bản sao lưu cho :application_name trên disk :disk_name đều tốt\",\n    \"healthy_backup_found_subject_title\" => \"Các bản sao lưu cho :application_name là tốt\",\n    \"healthy_backup_found_body\" => \"Các bản sao lưu cho :application_name được coi là tốt. Làm tốt lắm!\",\n\n    \"unhealthy_backup_found_subject\" => \"Quan trọng: Các bản sao lưu cho :application_name không lành mạnh\",\n    \"unhealthy_backup_found_subject_title\" => \"Quan trọng: Các bản sao lưu cho :application_name không lành mạnh. :problem\",\n    \"unhealthy_backup_found_body\" => \"Các bản sao lưu cho :application_name trên disk :disk_name không lành mạnh.\",\n    \"unhealthy_backup_found_not_reachable\" => \"Không thể đạt được đích dự phòng. :error\",\n    \"unhealthy_backup_found_empty\" => \"Không có bản sao lưu của ứng dụng này.\",\n    \"unhealthy_backup_found_old\" => \"Bản sao lưu mới nhất được thực hiện vào: ngày được coi là quá cũ.\",\n    \"unhealthy_backup_found_unknown\" => \"Xin lỗi, không thể xác định lý do chính xác.\",\n    \"unhealthy_backup_found_full\" => \"Các bản sao lưu đang sử dụng quá nhiều dung lượng lưu trữ. Mức sử dụng hiện tại là :disk_usage cao hơn giới hạn cho phép của :disk_limit.\"\n];\n"
  },
  {
    "path": "resources/lang/vendor/backup/zh-CN/notifications.php",
    "content": "<?php\n\nreturn [\n    'exception_message' => '异常信息: :message',\n    'exception_trace' => '异常跟踪: :trace',\n    'exception_message_title' => '异常信息',\n    'exception_trace_title' => '异常跟踪',\n\n    'backup_failed_subject' => ':application_name 备份失败',\n    'backup_failed_body' => '重要说明：备份 :application_name 时发生错误',\n\n    'backup_successful_subject' => ':application_name 备份成功',\n    'backup_successful_subject_title' => '备份成功！',\n    'backup_successful_body' => '好消息, :application_name 备份成功，位于磁盘 :disk_name 中。',\n\n    'cleanup_failed_subject' => '清除 :application_name 的备份失败。',\n    'cleanup_failed_body' => '清除备份 :application_name 时发生错误',\n\n    'cleanup_successful_subject' => '成功清除 :application_name 的备份',\n    'cleanup_successful_subject_title' => '成功清除备份！',\n    'cleanup_successful_body' => '成功清除 :disk_name 磁盘上 :application_name 的备份。',\n\n    'healthy_backup_found_subject' => ':disk_name 磁盘上 :application_name 的备份是健康的',\n    'healthy_backup_found_subject_title' => ':application_name 的备份是健康的',\n    'healthy_backup_found_body' => ':application_name 的备份是健康的。干的好！',\n\n    'unhealthy_backup_found_subject' => '重要说明：:application_name 的备份不健康',\n    'unhealthy_backup_found_subject_title' => '重要说明：:application_name 备份不健康。 :problem',\n    'unhealthy_backup_found_body' => ':disk_name 磁盘上 :application_name 的备份不健康。',\n    'unhealthy_backup_found_not_reachable' => '无法访问备份目标。 :error',\n    'unhealthy_backup_found_empty' => '根本没有此应用程序的备份。',\n    'unhealthy_backup_found_old' => '最近的备份创建于 :date ，太旧了。',\n    'unhealthy_backup_found_unknown' => '对不起，确切原因无法确定。',\n    'unhealthy_backup_found_full' => '备份占用了太多存储空间。当前占用了 :disk_usage ，高于允许的限制 :disk_limit。',\n];\n"
  },
  {
    "path": "resources/lang/vendor/backup/zh-TW/notifications.php",
    "content": "<?php\n\nreturn [\n    'exception_message' => '異常訊息: :message',\n    'exception_trace' => '異常追蹤: :trace',\n    'exception_message_title' => '異常訊息',\n    'exception_trace_title' => '異常追蹤',\n\n    'backup_failed_subject' => ':application_name 備份失敗',\n    'backup_failed_body' => '重要說明：備份 :application_name 時發生錯誤',\n\n    'backup_successful_subject' => ':application_name 備份成功',\n    'backup_successful_subject_title' => '備份成功！',\n    'backup_successful_body' => '好消息, :application_name 備份成功，位於磁盤 :disk_name 中。',\n\n    'cleanup_failed_subject' => '清除 :application_name 的備份失敗。',\n    'cleanup_failed_body' => '清除備份 :application_name 時發生錯誤',\n\n    'cleanup_successful_subject' => '成功清除 :application_name 的備份',\n    'cleanup_successful_subject_title' => '成功清除備份！',\n    'cleanup_successful_body' => '成功清除 :disk_name 磁盤上 :application_name 的備份。',\n\n    'healthy_backup_found_subject' => ':disk_name 磁盤上 :application_name 的備份是健康的',\n    'healthy_backup_found_subject_title' => ':application_name 的備份是健康的',\n    'healthy_backup_found_body' => ':application_name 的備份是健康的。幹的好！',\n\n    'unhealthy_backup_found_subject' => '重要說明：:application_name 的備份不健康',\n    'unhealthy_backup_found_subject_title' => '重要說明：:application_name 備份不健康。 :problem',\n    'unhealthy_backup_found_body' => ':disk_name 磁盤上 :application_name 的備份不健康。',\n    'unhealthy_backup_found_not_reachable' => '無法訪問備份目標。 :error',\n    'unhealthy_backup_found_empty' => '根本沒有此應用程序的備份。',\n    'unhealthy_backup_found_old' => '最近的備份創建於 :date ，太舊了。',\n    'unhealthy_backup_found_unknown' => '對不起，確切原因無法確定。',\n    'unhealthy_backup_found_full' => '備份佔用了太多存儲空間。當前佔用了 :disk_usage ，高於允許的限制 :disk_limit。',\n];\n"
  },
  {
    "path": "resources/sass/components/animation.scss",
    "content": ".shake {\n  animation: shake 0.82s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;\n  transform: translate3d(0, 0, 0);\n  backface-visibility: hidden;\n  perspective: 1000px;\n}\n\n@keyframes shake {\n  10%,\n  90% {\n    transform: translate3d(-1px, 0, 0);\n  }\n\n  20%,\n  80% {\n    transform: translate3d(2px, 0, 0);\n  }\n\n  30%,\n  50%,\n  70% {\n    transform: translate3d(-4px, 0, 0);\n  }\n\n  40%,\n  60% {\n    transform: translate3d(4px, 0, 0);\n  }\n}\n"
  },
  {
    "path": "resources/sass/components/pace-loader.scss",
    "content": "$pace-loader-color: #5851d8;\n\n.pace {\n  -webkit-pointer-events: none;\n  pointer-events: none;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  user-select: none;\n}\n\n.pace-inactive {\n  display: none;\n}\n\n.pace .pace-progress {\n  background: darken($pace-loader-color, 10%);\n  position: fixed;\n  z-index: 2000;\n  top: 0;\n  right: 100%;\n  width: 100%;\n  height: 2px;\n}\n\n.pace .pace-progress-inner {\n  display: block;\n  position: absolute;\n  right: 0px;\n  width: 100px;\n  height: 100%;\n  box-shadow: 0 0 10px $pace-loader-color, 0 0 5px $pace-loader-color;\n  opacity: 1;\n  -webkit-transform: rotate(3deg) translate(0px, -4px);\n  -moz-transform: rotate(3deg) translate(0px, -4px);\n  -ms-transform: rotate(3deg) translate(0px, -4px);\n  -o-transform: rotate(3deg) translate(0px, -4px);\n  transform: rotate(3deg) translate(0px, -4px);\n}\n\n.pace .pace-activity {\n  display: block;\n  position: fixed;\n  z-index: 2000;\n  top: 15px;\n  right: 15px;\n  width: 14px;\n  height: 14px;\n  border: solid 2px transparent;\n  border-top-color: $pace-loader-color;\n  border-left-color: $pace-loader-color;\n  border-radius: 10px;\n  -webkit-animation: pace-spinner 400ms linear infinite;\n  -moz-animation: pace-spinner 400ms linear infinite;\n  -ms-animation: pace-spinner 400ms linear infinite;\n  -o-animation: pace-spinner 400ms linear infinite;\n  animation: pace-spinner 400ms linear infinite;\n}\n\n@-webkit-keyframes pace-spinner {\n  0% {\n    -webkit-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n  100% {\n    -webkit-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n\n@-moz-keyframes pace-spinner {\n  0% {\n    -moz-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n  100% {\n    -moz-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n\n@-o-keyframes pace-spinner {\n  0% {\n    -o-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n  100% {\n    -o-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n\n@-ms-keyframes pace-spinner {\n  0% {\n    -ms-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n  100% {\n    -ms-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n\n@keyframes pace-spinner {\n  0% {\n    transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n  100% {\n    transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n"
  },
  {
    "path": "resources/sass/components/v-tooltips.scss",
    "content": ".tooltip {\n    display: block !important;\n    z-index: 10000;\n\n    .tooltip-inner {\n      background: black;\n      color: white;\n      border-radius: 16px;\n      padding: 5px 10px 4px;\n    }\n\n    .tooltip-arrow {\n      width: 0;\n      height: 0;\n      border-style: solid;\n      position: absolute;\n      margin: 5px;\n      border-color: black;\n      z-index: 1;\n    }\n\n    &[x-placement^=\"top\"] {\n      margin-bottom: 5px;\n\n      .tooltip-arrow {\n        border-width: 5px 5px 0 5px;\n        border-left-color: transparent !important;\n        border-right-color: transparent !important;\n        border-bottom-color: transparent !important;\n        bottom: -5px;\n        left: calc(50% - 5px);\n        margin-top: 0;\n        margin-bottom: 0;\n      }\n    }\n\n    &[x-placement^=\"bottom\"] {\n      margin-top: 5px;\n\n      .tooltip-arrow {\n        border-width: 0 5px 5px 5px;\n        border-left-color: transparent !important;\n        border-right-color: transparent !important;\n        border-top-color: transparent !important;\n        top: -5px;\n        left: calc(50% - 5px);\n        margin-top: 0;\n        margin-bottom: 0;\n      }\n    }\n\n    &[x-placement^=\"right\"] {\n      margin-left: 5px;\n\n      .tooltip-arrow {\n        border-width: 5px 5px 5px 0;\n        border-left-color: transparent !important;\n        border-top-color: transparent !important;\n        border-bottom-color: transparent !important;\n        left: -5px;\n        top: calc(50% - 5px);\n        margin-left: 0;\n        margin-right: 0;\n      }\n    }\n\n    &[x-placement^=\"left\"] {\n      margin-right: 5px;\n\n      .tooltip-arrow {\n        border-width: 5px 0 5px 5px;\n        border-top-color: transparent !important;\n        border-right-color: transparent !important;\n        border-bottom-color: transparent !important;\n        right: -5px;\n        top: calc(50% - 5px);\n        margin-left: 0;\n        margin-right: 0;\n      }\n    }\n\n    &.popover {\n      $color: #f9f9f9;\n\n      .popover-inner {\n        background: $color;\n        color: black;\n        padding: 24px;\n        border-radius: 5px;\n        box-shadow: 0 5px 30px rgba(black, .1);\n      }\n\n      .popover-arrow {\n        border-color: $color;\n      }\n    }\n\n    &[aria-hidden='true'] {\n      visibility: hidden;\n      opacity: 0;\n      transition: opacity .15s, visibility .15s;\n    }\n\n    &[aria-hidden='false'] {\n      visibility: visible;\n      opacity: 1;\n      transition: opacity .15s;\n    }\n  }\n"
  },
  {
    "path": "resources/sass/crater.scss",
    "content": "@tailwind base;\n\n@tailwind components;\n\n@tailwind utilities;\n\n@font-face {\n    font-family: \"Poppins\";\n    font-style: normal;\n    font-weight: 400;\n    font-display: swap;\n    src: url(\"/fonts/Poppins-Black.ttf\") format(\"truetype\");\n}\n\n@font-face {\n    font-family: \"Poppins\";\n    font-style: normal;\n    font-weight: 300;\n    font-display: swap;\n    src: url(\"/fonts/Poppins-Light.ttf\") format(\"truetype\");\n}\n\n@font-face {\n    font-family: \"Poppins\";\n    font-style: normal;\n    font-weight: 500;\n    font-display: swap;\n    src: url(\"/fonts/Poppins-Medium.ttf\") format(\"truetype\");\n}\n\n@font-face {\n    font-family: \"Poppins\";\n    font-style: normal;\n    font-weight: 400;\n    font-display: swap;\n    src: url(\"/fonts/Poppins-Regular.ttf\") format(\"truetype\");\n}\n\n@font-face {\n    font-family: \"Poppins\";\n    font-style: normal;\n    font-weight: 600;\n    font-display: swap;\n    src: url(\"/fonts/Poppins-SemiBold.ttf\") format(\"truetype\");\n}\n\n// Default Theme\n//----------------------------------\n\n@import \"themes.scss\";\n\n// Base Components\n//----------------------------------\n\n@import \"components/animation.scss\";\n\nbody {\n    min-height: 100vh;\n    min-height: -webkit-fill-available;\n}\n\nhtml {\n    height: -webkit-fill-available;\n}\n\n.h-screen-ios {\n    height: -webkit-fill-available;\n}\n"
  },
  {
    "path": "resources/sass/themes.scss",
    "content": ":root {\n    --color-primary-50: 247, 246, 253;\n    --color-primary-100: 238, 238, 251;\n    --color-primary-200: 213, 212, 245;\n    --color-primary-300: 188, 185, 239;\n    --color-primary-400: 138, 133, 228;\n    --color-primary-500: 88, 81, 216;\n    --color-primary-600: 79, 73, 194;\n    --color-primary-700: 53, 49, 130;\n    --color-primary-800: 40, 36, 97;\n    --color-primary-900: 26, 24, 65;\n}\n"
  },
  {
    "path": "resources/scripts/App.vue",
    "content": "<template>\n  <router-view />\n\n  <BaseDialog />\n</template>\n"
  },
  {
    "path": "resources/scripts/Crater.js",
    "content": "import { createApp } from 'vue'\nimport App from '@/scripts/App.vue'\nimport { createI18n } from 'vue-i18n'\nimport messages from '@/scripts/locales/locales'\nimport router from '@/scripts/router/index'\nimport { defineGlobalComponents } from './global-components'\nimport utils from '@/scripts/helpers/utilities.js'\nimport _ from 'lodash'\nimport Maska from 'maska'\nimport { VTooltip } from 'v-tooltip'\n\nconst app = createApp(App)\n\nexport default class Crater {\n  constructor() {\n    this.bootingCallbacks = []\n    this.messages = messages\n  }\n\n  booting(callback) {\n    this.bootingCallbacks.push(callback)\n  }\n\n  executeCallbacks() {\n    this.bootingCallbacks.forEach((callback) => {\n      callback(app, router)\n    })\n  }\n\n  addMessages(moduleMessages = []) {\n    _.merge(this.messages, moduleMessages)\n  }\n\n  start() {\n    this.executeCallbacks()\n\n    defineGlobalComponents(app)\n\n    app.provide('$utils', utils)\n\n    const i18n = createI18n({\n      locale: 'en',\n      fallbackLocale: 'en',\n      globalInjection: true,\n      messages: this.messages,\n    })\n\n    window.i18n = i18n\n\n    const { createPinia } = window.pinia\n\n    app.use(router)\n    app.use(Maska)\n    app.use(i18n)\n    app.use(createPinia())\n    app.provide('utils', utils)\n    app.directive('tooltip', VTooltip)\n\n    app.mount('body')\n  }\n}\n"
  },
  {
    "path": "resources/scripts/admin/admin-router.js",
    "content": "import abilities from '@/scripts/admin/stub/abilities'\n\nconst LayoutInstallation = () =>\n  import('@/scripts/admin/layouts/LayoutInstallation.vue')\n\nconst Login = () => import('@/scripts/admin/views/auth/Login.vue')\nconst LayoutBasic = () => import('@/scripts/admin/layouts/LayoutBasic.vue')\nconst LayoutLogin = () => import('@/scripts/admin/layouts/LayoutLogin.vue')\nconst ResetPassword = () =>\n  import('@/scripts/admin/views/auth/ResetPassword.vue')\nconst ForgotPassword = () =>\n  import('@/scripts/admin/views/auth/ForgotPassword.vue')\n\n// Dashboard\nconst Dashboard = () => import('@/scripts/admin/views/dashboard/Dashboard.vue')\n\n// Customers\nconst CustomerIndex = () => import('@/scripts/admin/views/customers/Index.vue')\nconst CustomerCreate = () =>\n  import('@/scripts/admin/views/customers/Create.vue')\nconst CustomerView = () => import('@/scripts/admin/views/customers/View.vue')\n\n//Settings\nconst SettingsIndex = () =>\n  import('@/scripts/admin/views/settings/SettingsIndex.vue')\nconst AccountSetting = () =>\n  import('@/scripts/admin/views/settings/AccountSetting.vue')\nconst CompanyInfo = () =>\n  import('@/scripts/admin/views/settings/CompanyInfoSettings.vue')\nconst Preferences = () =>\n  import('@/scripts/admin/views/settings/PreferencesSetting.vue')\nconst Customization = () =>\n  import(\n    '@/scripts/admin/views/settings/customization/CustomizationSetting.vue'\n  )\nconst Notifications = () =>\n  import('@/scripts/admin/views/settings/NotificationsSetting.vue')\nconst TaxTypes = () =>\n  import('@/scripts/admin/views/settings/TaxTypesSetting.vue')\nconst PaymentMode = () =>\n  import('@/scripts/admin/views/settings/PaymentsModeSetting.vue')\nconst CustomFieldsIndex = () =>\n  import('@/scripts/admin/views/settings/CustomFieldsSetting.vue')\nconst NotesSetting = () =>\n  import('@/scripts/admin/views/settings/NotesSetting.vue')\nconst ExpenseCategory = () =>\n  import('@/scripts/admin/views/settings/ExpenseCategorySetting.vue')\nconst ExchangeRateSetting = () =>\n  import('@/scripts/admin/views/settings/ExchangeRateProviderSetting.vue')\nconst MailConfig = () =>\n  import('@/scripts/admin/views/settings/MailConfigSetting.vue')\nconst FileDisk = () =>\n  import('@/scripts/admin/views/settings/FileDiskSetting.vue')\nconst Backup = () => import('@/scripts/admin/views/settings/BackupSetting.vue')\nconst UpdateApp = () =>\n  import('@/scripts/admin/views/settings/UpdateAppSetting.vue')\nconst RolesSettings = () =>\n  import('@/scripts/admin/views/settings/RolesSettings.vue')\n\n// Items\nconst ItemsIndex = () => import('@/scripts/admin/views/items/Index.vue')\nconst ItemCreate = () => import('@/scripts/admin/views/items/Create.vue')\n\n// Expenses\nconst ExpensesIndex = () => import('@/scripts/admin/views/expenses/Index.vue')\nconst ExpenseCreate = () => import('@/scripts/admin/views/expenses/Create.vue')\n\n// Users\nconst UserIndex = () => import('@/scripts/admin/views/users/Index.vue')\nconst UserCreate = () => import('@/scripts/admin/views/users/Create.vue')\n\n// Estimates\nconst EstimateIndex = () => import('@/scripts/admin/views/estimates/Index.vue')\nconst EstimateCreate = () =>\n  import('@/scripts/admin/views/estimates/create/EstimateCreate.vue')\nconst EstimateView = () => import('@/scripts/admin/views/estimates/View.vue')\n\n// Payments\nconst PaymentsIndex = () => import('@/scripts/admin/views/payments/Index.vue')\nconst PaymentCreate = () => import('@/scripts/admin/views/payments/Create.vue')\nconst PaymentView = () => import('@/scripts/admin/views/payments/View.vue')\n\nconst NotFoundPage = () => import('@/scripts/admin/views/errors/404.vue')\n\n// Invoice\nconst InvoiceIndex = () => import('@/scripts/admin/views/invoices/Index.vue')\nconst InvoiceCreate = () =>\n  import('@/scripts/admin/views/invoices/create/InvoiceCreate.vue')\nconst InvoiceView = () => import('@/scripts/admin/views/invoices/View.vue')\n\n// Recurring Invoice\nconst RecurringInvoiceIndex = () =>\n  import('@/scripts/admin/views/recurring-invoices/Index.vue')\nconst RecurringInvoiceCreate = () =>\n  import(\n    '@/scripts/admin/views/recurring-invoices/create/RecurringInvoiceCreate.vue'\n  )\nconst RecurringInvoiceView = () =>\n  import('@/scripts/admin/views/recurring-invoices/View.vue')\n\n// Reports\nconst ReportsIndex = () =>\n  import('@/scripts/admin/views/reports/layout/Index.vue')\n\n// Installation\nconst Installation = () =>\n  import('@/scripts/admin/views/installation/Installation.vue')\n\n// Modules\nconst ModuleIndex = () => import('@/scripts/admin/views/modules/Index.vue')\n\nconst ModuleView = () => import('@/scripts/admin/views/modules/View.vue')\nconst InvoicePublicPage = () =>\n  import('@/scripts/components/InvoicePublicPage.vue')\n\nexport default [\n  {\n    path: '/installation',\n    component: LayoutInstallation,\n    meta: { requiresAuth: false },\n    children: [\n      {\n        path: '/installation',\n        component: Installation,\n        name: 'installation',\n      },\n    ],\n  },\n\n  {\n    path: '/customer/invoices/view/:hash',\n    component: InvoicePublicPage,\n    name: 'invoice.public',\n  },\n\n  {\n    path: '/',\n    component: LayoutLogin,\n    meta: { requiresAuth: false, redirectIfAuthenticated: true },\n    children: [\n      {\n        path: '',\n        component: Login,\n      },\n      {\n        path: 'login',\n        name: 'login',\n        component: Login,\n      },\n      {\n        path: 'forgot-password',\n        component: ForgotPassword,\n        name: 'forgot-password',\n      },\n      {\n        path: '/reset-password/:token',\n        component: ResetPassword,\n        name: 'reset-password',\n      },\n    ],\n  },\n  {\n    path: '/admin',\n    component: LayoutBasic,\n    meta: { requiresAuth: true },\n    children: [\n      {\n        path: 'dashboard',\n        name: 'dashboard',\n        meta: { ability: abilities.DASHBOARD },\n        component: Dashboard,\n      },\n\n      // Customers\n      {\n        path: 'customers',\n        meta: { ability: abilities.VIEW_CUSTOMER },\n        component: CustomerIndex,\n      },\n      {\n        path: 'customers/create',\n        name: 'customers.create',\n        meta: { ability: abilities.CREATE_CUSTOMER },\n        component: CustomerCreate,\n      },\n      {\n        path: 'customers/:id/edit',\n        name: 'customers.edit',\n        meta: { ability: abilities.EDIT_CUSTOMER },\n        component: CustomerCreate,\n      },\n      {\n        path: 'customers/:id/view',\n        name: 'customers.view',\n        meta: { ability: abilities.VIEW_CUSTOMER },\n        component: CustomerView,\n      },\n      // Payments\n      {\n        path: 'payments',\n        meta: { ability: abilities.VIEW_PAYMENT },\n        component: PaymentsIndex,\n      },\n      {\n        path: 'payments/create',\n        name: 'payments.create',\n        meta: { ability: abilities.CREATE_PAYMENT },\n        component: PaymentCreate,\n      },\n      {\n        path: 'payments/:id/create',\n        name: 'invoice.payments.create',\n        meta: { ability: abilities.CREATE_PAYMENT },\n        component: PaymentCreate,\n      },\n      {\n        path: 'payments/:id/edit',\n        name: 'payments.edit',\n        meta: { ability: abilities.EDIT_PAYMENT },\n        component: PaymentCreate,\n      },\n      {\n        path: 'payments/:id/view',\n        name: 'payments.view',\n        meta: { ability: abilities.VIEW_PAYMENT },\n        component: PaymentView,\n      },\n\n      //settings\n      {\n        path: 'settings',\n        name: 'settings',\n        component: SettingsIndex,\n        children: [\n          {\n            path: 'account-settings',\n            name: 'account.settings',\n            component: AccountSetting,\n          },\n          {\n            path: 'company-info',\n            name: 'company.info',\n            meta: { isOwner: true },\n            component: CompanyInfo,\n          },\n          {\n            path: 'preferences',\n            name: 'preferences',\n            meta: { isOwner: true },\n            component: Preferences,\n          },\n          {\n            path: 'customization',\n            name: 'customization',\n            meta: { isOwner: true },\n            component: Customization,\n          },\n          {\n            path: 'notifications',\n            name: 'notifications',\n            meta: { isOwner: true },\n            component: Notifications,\n          },\n          {\n            path: 'roles-settings',\n            name: 'roles.settings',\n            meta: { isOwner: true },\n            component: RolesSettings,\n          },\n          {\n            path: 'exchange-rate-provider',\n            name: 'exchange.rate.provider',\n            meta: { ability: abilities.VIEW_EXCHANGE_RATE },\n            component: ExchangeRateSetting,\n          },\n          {\n            path: 'tax-types',\n            name: 'tax.types',\n            meta: { ability: abilities.VIEW_TAX_TYPE },\n            component: TaxTypes,\n          },\n          {\n            path: 'notes',\n            name: 'notes',\n            meta: { ability: abilities.VIEW_ALL_NOTES },\n            component: NotesSetting,\n          },\n          {\n            path: 'payment-mode',\n            name: 'payment.mode',\n            component: PaymentMode,\n          },\n          {\n            path: 'custom-fields',\n            name: 'custom.fields',\n            meta: { ability: abilities.VIEW_CUSTOM_FIELDS },\n            component: CustomFieldsIndex,\n          },\n          {\n            path: 'expense-category',\n            name: 'expense.category',\n            meta: { ability: abilities.VIEW_EXPENSE },\n            component: ExpenseCategory,\n          },\n\n          {\n            path: 'mail-configuration',\n            name: 'mailconfig',\n            meta: { isOwner: true },\n            component: MailConfig,\n          },\n          {\n            path: 'file-disk',\n            name: 'file-disk',\n            meta: { isOwner: true },\n            component: FileDisk,\n          },\n          {\n            path: 'backup',\n            name: 'backup',\n            meta: { isOwner: true },\n            component: Backup,\n          },\n          {\n            path: 'update-app',\n            name: 'updateapp',\n            meta: { isOwner: true },\n            component: UpdateApp,\n          },\n        ],\n      },\n\n      // Items\n      {\n        path: 'items',\n        meta: { ability: abilities.VIEW_ITEM },\n        component: ItemsIndex,\n      },\n      {\n        path: 'items/create',\n        name: 'items.create',\n        meta: { ability: abilities.CREATE_ITEM },\n        component: ItemCreate,\n      },\n      {\n        path: 'items/:id/edit',\n        name: 'items.edit',\n        meta: { ability: abilities.EDIT_ITEM },\n        component: ItemCreate,\n      },\n\n      // Expenses\n      {\n        path: 'expenses',\n        meta: { ability: abilities.VIEW_EXPENSE },\n        component: ExpensesIndex,\n      },\n      {\n        path: 'expenses/create',\n        name: 'expenses.create',\n        meta: { ability: abilities.CREATE_EXPENSE },\n        component: ExpenseCreate,\n      },\n      {\n        path: 'expenses/:id/edit',\n        name: 'expenses.edit',\n        meta: { ability: abilities.EDIT_EXPENSE },\n        component: ExpenseCreate,\n      },\n\n      // Users\n      {\n        path: 'users',\n        name: 'users.index',\n        meta: { isOwner: true },\n        component: UserIndex,\n      },\n      {\n        path: 'users/create',\n        meta: { isOwner: true },\n        name: 'users.create',\n        component: UserCreate,\n      },\n      {\n        path: 'users/:id/edit',\n        name: 'users.edit',\n        meta: { isOwner: true },\n        component: UserCreate,\n      },\n\n      // Estimates\n      {\n        path: 'estimates',\n        name: 'estimates.index',\n        meta: { ability: abilities.VIEW_ESTIMATE },\n        component: EstimateIndex,\n      },\n      {\n        path: 'estimates/create',\n        name: 'estimates.create',\n        meta: { ability: abilities.CREATE_ESTIMATE },\n        component: EstimateCreate,\n      },\n      {\n        path: 'estimates/:id/view',\n        name: 'estimates.view',\n        meta: { ability: abilities.VIEW_ESTIMATE },\n        component: EstimateView,\n      },\n      {\n        path: 'estimates/:id/edit',\n        name: 'estimates.edit',\n        meta: { ability: abilities.EDIT_ESTIMATE },\n        component: EstimateCreate,\n      },\n\n      // Invoices\n      {\n        path: 'invoices',\n        name: 'invoices.index',\n        meta: { ability: abilities.VIEW_INVOICE },\n        component: InvoiceIndex,\n      },\n      {\n        path: 'invoices/create',\n        name: 'invoices.create',\n        meta: { ability: abilities.CREATE_INVOICE },\n        component: InvoiceCreate,\n      },\n      {\n        path: 'invoices/:id/view',\n        name: 'invoices.view',\n        meta: { ability: abilities.VIEW_INVOICE },\n        component: InvoiceView,\n      },\n      {\n        path: 'invoices/:id/edit',\n        name: 'invoices.edit',\n        meta: { ability: abilities.EDIT_INVOICE },\n        component: InvoiceCreate,\n      },\n\n      // Recurring Invoices\n      {\n        path: 'recurring-invoices',\n        name: 'recurring-invoices.index',\n        meta: { ability: abilities.VIEW_RECURRING_INVOICE },\n        component: RecurringInvoiceIndex,\n      },\n      {\n        path: 'recurring-invoices/create',\n        name: 'recurring-invoices.create',\n        meta: { ability: abilities.CREATE_RECURRING_INVOICE },\n        component: RecurringInvoiceCreate,\n      },\n      {\n        path: 'recurring-invoices/:id/view',\n        name: 'recurring-invoices.view',\n        meta: { ability: abilities.VIEW_RECURRING_INVOICE },\n        component: RecurringInvoiceView,\n      },\n      {\n        path: 'recurring-invoices/:id/edit',\n        name: 'recurring-invoices.edit',\n        meta: { ability: abilities.EDIT_RECURRING_INVOICE },\n        component: RecurringInvoiceCreate,\n      },\n\n      // Modules\n      {\n        path: 'modules',\n        name: 'modules.index',\n        meta: { isOwner: true },\n        component: ModuleIndex,\n      },\n\n      {\n        path: 'modules/:slug',\n        name: 'modules.view',\n        meta: { isOwner: true },\n        component: ModuleView,\n      },\n\n      // Reports\n      {\n        path: 'reports',\n        meta: { ability: abilities.VIEW_FINANCIAL_REPORT },\n        component: ReportsIndex,\n      },\n    ],\n  },\n  { path: '/:catchAll(.*)', component: NotFoundPage },\n]\n"
  },
  {
    "path": "resources/scripts/admin/components/CopyInputField.vue",
    "content": "<template>\n  <div\n    class=\"\n      relative\n      flex\n      px-4\n      py-2\n      rounded-lg\n      bg-opacity-40 bg-gray-300\n      whitespace-nowrap\n      flex-col\n      mt-1\n    \"\n  >\n    <span\n      ref=\"publicUrl\"\n      class=\"\n        pr-10\n        text-sm\n        font-medium\n        text-black\n        truncate\n        select-all select-color\n      \"\n    >\n      {{ token }}\n    </span>\n    <svg\n      v-tooltip=\"{ content: 'Copy to Clipboard' }\"\n      class=\"\n        absolute\n        right-0\n        h-full\n        inset-y-0\n        cursor-pointer\n        focus:outline-none\n        text-primary-500\n      \"\n      width=\"37\"\n      viewBox=\"0 0 37 37\"\n      fill=\"none\"\n      xmlns=\"http://www.w3.org/2000/svg\"\n      @click=\"copyUrl\"\n    >\n      <rect width=\"37\" height=\"37\" rx=\"10\" fill=\"currentColor\" />\n      <path\n        d=\"M16 10C15.7348 10 15.4804 10.1054 15.2929 10.2929C15.1054 10.4804 15 10.7348 15 11C15 11.2652 15.1054 11.5196 15.2929 11.7071C15.4804 11.8946 15.7348 12 16 12H18C18.2652 12 18.5196 11.8946 18.7071 11.7071C18.8946 11.5196 19 11.2652 19 11C19 10.7348 18.8946 10.4804 18.7071 10.2929C18.5196 10.1054 18.2652 10 18 10H16Z\"\n        fill=\"white\"\n      />\n      <path\n        d=\"M11 13C11 12.4696 11.2107 11.9609 11.5858 11.5858C11.9609 11.2107 12.4696 11 13 11C13 11.7956 13.3161 12.5587 13.8787 13.1213C14.4413 13.6839 15.2044 14 16 14H18C18.7956 14 19.5587 13.6839 20.1213 13.1213C20.6839 12.5587 21 11.7956 21 11C21.5304 11 22.0391 11.2107 22.4142 11.5858C22.7893 11.9609 23 12.4696 23 13V19H18.414L19.707 17.707C19.8892 17.5184 19.99 17.2658 19.9877 17.0036C19.9854 16.7414 19.8802 16.4906 19.6948 16.3052C19.5094 16.1198 19.2586 16.0146 18.9964 16.0123C18.7342 16.01 18.4816 16.1108 18.293 16.293L15.293 19.293C15.1055 19.4805 15.0002 19.7348 15.0002 20C15.0002 20.2652 15.1055 20.5195 15.293 20.707L18.293 23.707C18.4816 23.8892 18.7342 23.99 18.9964 23.9877C19.2586 23.9854 19.5094 23.8802 19.6948 23.6948C19.8802 23.5094 19.9854 23.2586 19.9877 22.9964C19.99 22.7342 19.8892 22.4816 19.707 22.293L18.414 21H23V24C23 24.5304 22.7893 25.0391 22.4142 25.4142C22.0391 25.7893 21.5304 26 21 26H13C12.4696 26 11.9609 25.7893 11.5858 25.4142C11.2107 25.0391 11 24.5304 11 24V13ZM23 19H25C25.2652 19 25.5196 19.1054 25.7071 19.2929C25.8946 19.4804 26 19.7348 26 20C26 20.2652 25.8946 20.5196 25.7071 20.7071C25.5196 20.8946 25.2652 21 25 21H23V19Z\"\n        fill=\"white\"\n      />\n    </svg>\n  </div>\n</template>\n\n<script setup>\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport { ref } from 'vue'\nconst notificationStore = useNotificationStore()\nimport { useI18n } from 'vue-i18n'\nconst publicUrl = ref('')\nconst { t } = useI18n()\n\nconst props = defineProps({\n  token: {\n    type: String,\n    default: null,\n    required: true,\n  },\n})\n\nfunction selectText(element) {\n  let range\n  if (document.selection) {\n    // IE\n    range = document.body.createTextRange()\n    range.moveToElementText(element)\n    range.select()\n  } else if (window.getSelection) {\n    range = document.createRange()\n    range.selectNode(element)\n    window.getSelection().removeAllRanges()\n    window.getSelection().addRange(range)\n  }\n}\n\nfunction copyUrl() {\n  selectText(publicUrl.value)\n  document.execCommand('copy')\n\n  notificationStore.showNotification({\n    type: 'success',\n    message: t('general.copied_url_clipboard'),\n  })\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/SelectNotePopup.vue",
    "content": "<template>\n  <NoteModal />\n  <div class=\"w-full\">\n    <Popover v-slot=\"{ isOpen }\">\n      <PopoverButton\n        v-if=\"userStore.hasAbilities(abilities.VIEW_NOTE)\"\n        :class=\"isOpen ? '' : 'text-opacity-90'\"\n        class=\"\n          flex\n          items-center\n          z-10\n          font-medium\n          text-primary-400\n          focus:outline-none focus:border-none\n        \"\n        @click=\"fetchInitialData\"\n      >\n        <BaseIcon\n          name=\"PlusIcon\"\n          class=\"w-4 h-4 font-medium text-primary-400\"\n        />\n        {{ $t('general.insert_note') }}\n      </PopoverButton>\n\n      <!-- Note Select Popup -->\n      <transition\n        enter-active-class=\"transition duration-200 ease-out\"\n        enter-from-class=\"translate-y-1 opacity-0\"\n        enter-to-class=\"translate-y-0 opacity-100\"\n        leave-active-class=\"transition duration-150 ease-in\"\n        leave-from-class=\"translate-y-0 opacity-100\"\n        leave-to-class=\"translate-y-1 opacity-0\"\n      >\n        <PopoverPanel\n          v-slot=\"{ close }\"\n          class=\"\n            absolute\n            z-20\n            px-4\n            mt-3\n            sm:px-0\n            w-screen\n            max-w-full\n            left-0\n            top-3\n          \"\n        >\n          <div\n            class=\"\n              overflow-hidden\n              rounded-md\n              shadow-lg\n              ring-1 ring-black ring-opacity-5\n            \"\n          >\n            <div class=\"relative grid bg-white\">\n              <div class=\"relative p-4\">\n                <BaseInput\n                  v-model=\"textSearch\"\n                  :placeholder=\"$t('general.search')\"\n                  type=\"text\"\n                  class=\"text-black\"\n                >\n                </BaseInput>\n              </div>\n\n              <div\n                v-if=\"filteredNotes.length > 0\"\n                class=\"relative flex flex-col overflow-auto list max-h-36\"\n              >\n                <div\n                  v-for=\"(note, index) in filteredNotes\"\n                  :key=\"index\"\n                  tabindex=\"2\"\n                  class=\"\n                    px-6\n                    py-4\n                    border-b border-gray-200 border-solid\n                    cursor-pointer\n                    hover:bg-gray-100 hover:cursor-pointer\n                    last:border-b-0\n                  \"\n                  @click=\"selectNote(index, close)\"\n                >\n                  <div class=\"flex justify-between px-2\">\n                    <label\n                      class=\"\n                        m-0\n                        text-base\n                        font-semibold\n                        leading-tight\n                        text-gray-700\n                        cursor-pointer\n                      \"\n                    >\n                      {{ note.name }}\n                    </label>\n                  </div>\n                </div>\n              </div>\n              <div v-else class=\"flex justify-center p-5 text-gray-400\">\n                <label class=\"text-base text-gray-500\">\n                  {{ $t('general.no_note_found') }}\n                </label>\n              </div>\n            </div>\n            <button\n              v-if=\"userStore.hasAbilities(abilities.MANAGE_NOTE)\"\n              type=\"button\"\n              class=\"\n                h-10\n                flex\n                items-center\n                justify-center\n                w-full\n                px-2\n                py-3\n                bg-gray-200\n                border-none\n                outline-none\n              \"\n              @click=\"openNoteModal\"\n            >\n              <BaseIcon name=\"CheckCircleIcon\" class=\"text-primary-400\" />\n              <label\n                class=\"\n                  m-0\n                  ml-3\n                  text-sm\n                  leading-none\n                  cursor-pointer\n                  font-base\n                  text-primary-400\n                \"\n              >\n                {{ $t('settings.customization.notes.add_new_note') }}\n              </label>\n            </button>\n          </div>\n        </PopoverPanel>\n      </transition>\n    </Popover>\n  </div>\n</template>\n\n<script setup>\nimport { Popover, PopoverButton, PopoverPanel } from '@headlessui/vue'\nimport { computed, ref, inject } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { useNotesStore } from '@/scripts/admin/stores/note'\nimport { useModalStore } from '@/scripts/stores/modal'\nimport NoteModal from '@/scripts/admin/components/modal-components/NoteModal.vue'\nimport { useUserStore } from '@/scripts/admin/stores/user'\nimport abilities from '@/scripts/admin/stub/abilities'\n\nconst props = defineProps({\n  type: {\n    type: String,\n    default: null,\n  },\n})\n\nconst emit = defineEmits(['select'])\n\nconst table = ref(null)\nconst { t } = useI18n()\nconst textSearch = ref(null)\n\nconst modalStore = useModalStore()\nconst noteStore = useNotesStore()\nconst userStore = useUserStore()\n\nconst filteredNotes = computed(() => {\n  if (textSearch.value) {\n    return noteStore.notes.filter(function (el) {\n      return (\n        el.name.toLowerCase().indexOf(textSearch.value.toLowerCase()) !== -1\n      )\n    })\n  } else {\n    return noteStore.notes\n  }\n})\n\nasync function fetchInitialData() {\n  await noteStore.fetchNotes({\n    filter: {},\n    orderByField: '',\n    orderBy: '',\n    type: props.type ? props.type : '',\n  })\n}\n\nfunction selectNote(data, close) {\n  emit('select', { ...noteStore.notes[data] })\n\n  textSearch.value = null\n  close()\n}\n\nfunction openNoteModal() {\n  modalStore.openModal({\n    title: t('settings.customization.notes.add_note'),\n    componentName: 'NoteModal',\n    size: 'lg',\n    data: props.type,\n  })\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/charts/LineChart.vue",
    "content": "<template>\n  <div class=\"graph-container h-[300px]\">\n    <canvas id=\"graph\" ref=\"graph\" />\n  </div>\n</template>\n\n<script setup>\nimport Chart from 'chart.js'\nimport { ref, reactive, computed, onMounted, watchEffect, inject } from 'vue'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\n\nconst utils = inject('utils')\n\nconst props = defineProps({\n  labels: {\n    type: Array,\n    require: true,\n    default: Array,\n  },\n  values: {\n    type: Array,\n    require: true,\n    default: Array,\n  },\n  invoices: {\n    type: Array,\n    require: true,\n    default: Array,\n  },\n  expenses: {\n    type: Array,\n    require: true,\n    default: Array,\n  },\n  receipts: {\n    type: Array,\n    require: true,\n    default: Array,\n  },\n  income: {\n    type: Array,\n    require: true,\n    default: Array,\n  },\n})\n\nlet myLineChart = null\nconst graph = ref(null)\nconst companyStore = useCompanyStore()\nconst defaultCurrency = computed(() => {\n  return companyStore.selectedCompanyCurrency\n})\n\nwatchEffect(() => {\n  if (props.labels) {\n    if (myLineChart) {\n      myLineChart.reset()\n      update()\n    }\n  }\n})\n\nonMounted(() => {\n  let context = graph.value.getContext('2d')\n  let options = reactive({\n    responsive: true,\n    maintainAspectRatio: false,\n    tooltips: {\n      enabled: true,\n      callbacks: {\n        label: function (tooltipItem, data) {\n          return utils.formatMoney(\n            Math.round(tooltipItem.value * 100),\n            defaultCurrency.value\n          )\n        },\n      },\n    },\n    legend: {\n      display: false,\n    },\n  })\n\n  let data = reactive({\n    labels: props.labels,\n    datasets: [\n      {\n        label: 'Sales',\n        fill: false,\n        lineTension: 0.3,\n        backgroundColor: 'rgba(230, 254, 249)',\n        borderColor: '#040405',\n        borderCapStyle: 'butt',\n        borderDash: [],\n        borderDashOffset: 0.0,\n        borderJoinStyle: 'miter',\n        pointBorderColor: '#040405',\n        pointBackgroundColor: '#fff',\n        pointBorderWidth: 1,\n        pointHoverRadius: 5,\n        pointHoverBackgroundColor: '#040405',\n        pointHoverBorderColor: 'rgba(220,220,220,1)',\n        pointHoverBorderWidth: 2,\n        pointRadius: 4,\n        pointHitRadius: 10,\n        data: props.invoices.map((invoice) => invoice / 100),\n      },\n      {\n        label: 'Receipts',\n        fill: false,\n        lineTension: 0.3,\n        backgroundColor: 'rgba(230, 254, 249)',\n        borderColor: 'rgb(2, 201, 156)',\n        borderCapStyle: 'butt',\n        borderDash: [],\n        borderDashOffset: 0.0,\n        borderJoinStyle: 'miter',\n        pointBorderColor: 'rgb(2, 201, 156)',\n        pointBackgroundColor: '#fff',\n        pointBorderWidth: 1,\n        pointHoverRadius: 5,\n        pointHoverBackgroundColor: 'rgb(2, 201, 156)',\n        pointHoverBorderColor: 'rgba(220,220,220,1)',\n        pointHoverBorderWidth: 2,\n        pointRadius: 4,\n        pointHitRadius: 10,\n        data: props.receipts.map((receipt) => receipt / 100),\n      },\n      {\n        label: 'Expenses',\n        fill: false,\n        lineTension: 0.3,\n        backgroundColor: 'rgba(245, 235, 242)',\n        borderColor: 'rgb(255,0,0)',\n        borderCapStyle: 'butt',\n        borderDash: [],\n        borderDashOffset: 0.0,\n        borderJoinStyle: 'miter',\n        pointBorderColor: 'rgb(255,0,0)',\n        pointBackgroundColor: '#fff',\n        pointBorderWidth: 1,\n        pointHoverRadius: 5,\n        pointHoverBackgroundColor: 'rgb(255,0,0)',\n        pointHoverBorderColor: 'rgba(220,220,220,1)',\n        pointHoverBorderWidth: 2,\n        pointRadius: 4,\n        pointHitRadius: 10,\n        data: props.expenses.map((expense) => expense / 100),\n      },\n      {\n        label: 'Net Income',\n        fill: false,\n        lineTension: 0.3,\n        backgroundColor: 'rgba(236, 235, 249)',\n        borderColor: 'rgba(88, 81, 216, 1)',\n        borderCapStyle: 'butt',\n        borderDash: [],\n        borderDashOffset: 0.0,\n        borderJoinStyle: 'miter',\n        pointBorderColor: 'rgba(88, 81, 216, 1)',\n        pointBackgroundColor: '#fff',\n        pointBorderWidth: 1,\n        pointHoverRadius: 5,\n        pointHoverBackgroundColor: 'rgba(88, 81, 216, 1)',\n        pointHoverBorderColor: 'rgba(220,220,220,1)',\n        pointHoverBorderWidth: 2,\n        pointRadius: 4,\n        pointHitRadius: 10,\n        data: props.income.map((_i) => _i / 100),\n      },\n    ],\n  })\n\n  myLineChart = new Chart(context, {\n    type: 'line',\n    data: data,\n    options: options,\n  })\n})\n\nfunction update() {\n  myLineChart.data.labels = props.labels\n  myLineChart.data.datasets[0].data = props.invoices.map(\n    (invoice) => invoice / 100\n  )\n  myLineChart.data.datasets[1].data = props.receipts.map(\n    (receipt) => receipt / 100\n  )\n  myLineChart.data.datasets[2].data = props.expenses.map(\n    (expense) => expense / 100\n  )\n  myLineChart.data.datasets[3].data = props.income.map((_i) => _i / 100)\n  myLineChart.update({\n    lazy: true,\n  })\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/currency-exchange-rate/ExchangeRateBulkUpdate.vue",
    "content": "<template>\n  <BaseCard>\n    <h6 class=\"font-medium text-lg text-left\">\n      {{ $t('settings.exchange_rate.title') }}\n    </h6>\n    <p class=\"mt-2 text-sm leading-snug text-gray-500\" style=\"max-width: 680px\">\n      {{\n        $t('settings.exchange_rate.description', {\n          currency: companyStore.selectedCompanyCurrency.name,\n        })\n      }}\n    </p>\n\n    <form action=\"\" @submit.prevent=\"submitBulkUpdate\">\n      <ValidateEach\n        v-for=\"(c, i) in exchangeRateStore.bulkCurrencies\"\n        :key=\"i\"\n        :state=\"c\"\n        :rules=\"currencyArrayRules\"\n      >\n        <template #default=\"{ v }\">\n          <BaseInputGroup\n            class=\"my-5\"\n            :label=\"`${c.code} to ${companyStore.selectedCompanyCurrency.code}`\"\n            :error=\"\n              v.exchange_rate.$error && v.exchange_rate.$errors[0].$message\n            \"\n            required\n          >\n            <BaseInput\n              v-model=\"c.exchange_rate\"\n              :addon=\"`1 ${c.code} =`\"\n              :invalid=\"v.exchange_rate.$error\"\n              @input=\"v.exchange_rate.$touch()\"\n            >\n              <template #right>\n                <span class=\"text-gray-500 sm:text-sm\">\n                  {{ companyStore.selectedCompanyCurrency.code }}\n                </span>\n              </template>\n            </BaseInput>\n            <span class=\"text-gray-400 text-xs mt-2 font-light\">\n              {{\n                $t('settings.exchange_rate.exchange_help_text', {\n                  currency: c.code,\n                  baseCurrency: companyStore.selectedCompanyCurrency.code,\n                })\n              }}\n            </span>\n          </BaseInputGroup>\n        </template>\n      </ValidateEach>\n      <div\n        slot=\"footer\"\n        class=\"\n          z-0\n          flex\n          justify-end\n          mt-4\n          pt-4\n          border-t border-gray-200 border-solid border-modal-bg\n        \"\n      >\n        <BaseButton :loading=\"isSaving\" variant=\"primary\" type=\"submit\">\n          {{ $t('general.save') }}\n        </BaseButton>\n      </div>\n    </form>\n  </BaseCard>\n</template>\n\n<script setup>\nimport { useExchangeRateStore } from '@/scripts/admin/stores/exchange-rate'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\nimport { useRoute } from 'vue-router'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport { computed, ref } from '@vue/runtime-core'\nimport { useI18n } from 'vue-i18n'\nimport useVuelidate from '@vuelidate/core'\nimport { required, helpers, numeric, decimal } from '@vuelidate/validators'\nimport { ValidateEach } from '@vuelidate/components'\n\nconst exchangeRateStore = useExchangeRateStore()\nconst notificationStore = useNotificationStore()\nconst companyStore = useCompanyStore()\n\nconst { t, tm } = useI18n()\nlet isSaving = ref(false)\nlet isLoading = ref(false)\n\nconst currencyArrayRules = {\n  exchange_rate: {\n    required: helpers.withMessage(t('validation.required'), required),\n    decimal: helpers.withMessage(t('validation.valid_exchange_rate'), decimal),\n  },\n}\nconst v = useVuelidate()\n\nconst emit = defineEmits(['update'])\n\nasync function submitBulkUpdate() {\n  v.value.$touch()\n  if (v.value.$invalid) {\n    return true\n  }\n  isSaving.value = true\n  let data = exchangeRateStore.bulkCurrencies.map((_c) => {\n    return {\n      id: _c.id,\n      exchange_rate: _c.exchange_rate,\n    }\n  })\n  let res = await exchangeRateStore.updateBulkExchangeRate({ currencies: data })\n  if (res.data.success) {\n    emit('update', res.data.success)\n  }\n  isSaving.value = false\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/custom-fields/CreateCustomFields.vue",
    "content": "<template>\n  <div\n    v-if=\"\n      store[storeProp] && store[storeProp].customFields.length > 0 && !isLoading\n    \"\n  >\n    <BaseInputGrid :layout=\"gridLayout\">\n      <SingleField\n        v-for=\"(field, index) in store[storeProp].customFields\"\n        :key=\"field.id\"\n        :custom-field-scope=\"customFieldScope\"\n        :store=\"store\"\n        :store-prop=\"storeProp\"\n        :index=\"index\"\n        :field=\"field\"\n      />\n    </BaseInputGrid>\n  </div>\n</template>\n\n<script setup>\nimport moment from 'moment'\nimport lodash from 'lodash'\nimport { useCustomFieldStore } from '@/scripts/admin/stores/custom-field'\nimport { watch } from 'vue'\nimport SingleField from './CreateCustomFieldsSingle.vue'\n\nconst customFieldStore = useCustomFieldStore()\n\nconst props = defineProps({\n  store: {\n    type: Object,\n    required: true,\n  },\n  storeProp: {\n    type: String,\n    required: true,\n  },\n  isEdit: {\n    type: Boolean,\n    default: false,\n  },\n  type: {\n    type: String,\n    default: null,\n  },\n  gridLayout: {\n    type: String,\n    default: 'two-column',\n  },\n  isLoading: {\n    type: Boolean,\n    default: null,\n  },\n  customFieldScope: {\n    type: String,\n    required: true,\n  },\n})\n\ngetInitialCustomFields()\n\nfunction mergeExistingValues() {\n  if (props.isEdit) {\n    props.store[props.storeProp].fields.forEach((field) => {\n      const existingIndex = props.store[props.storeProp].customFields.findIndex(\n        (f) => f.id === field.custom_field_id\n      )\n\n      if (existingIndex > -1) {\n        let value = field.default_answer\n\n        if (value && field.custom_field.type === 'DateTime') {\n          value = moment(field.default_answer, 'YYYY-MM-DD HH:mm:ss').format(\n            'YYYY-MM-DD HH:mm'\n          )\n        }\n\n        props.store[props.storeProp].customFields[existingIndex] = {\n          ...field,\n          id: field.custom_field_id,\n          value: value,\n          label: field.custom_field.label,\n          options: field.custom_field.options,\n          is_required: field.custom_field.is_required,\n          placeholder: field.custom_field.placeholder,\n          order: field.custom_field.order,\n        }\n      }\n    })\n  }\n}\n\nasync function getInitialCustomFields() {\n  const res = await customFieldStore.fetchCustomFields({\n    type: props.type,\n    limit: 'all',\n  })\n\n  let data = res.data.data\n\n  data.map((d) => (d.value = d.default_answer))\n\n  props.store[props.storeProp].customFields = lodash.sortBy(\n    data,\n    (_cf) => _cf.order\n  )\n\n  mergeExistingValues()\n}\n\nwatch(\n  () => props.store[props.storeProp].fields,\n  (val) => {\n    mergeExistingValues()\n  }\n)\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/custom-fields/CreateCustomFieldsSingle.vue",
    "content": "<template>\n  <BaseInputGroup\n    :label=\"field.label\"\n    :required=\"field.is_required ? true : false\"\n    :error=\"v$.value.$error && v$.value.$errors[0].$message\"\n  >\n    <component\n      :is=\"getTypeComponent\"\n      v-model=\"field.value\"\n      :options=\"field.options\"\n      :invalid=\"v$.value.$error\"\n      :placeholder=\"field.placeholder\"\n    />\n  </BaseInputGroup>\n</template>\n\n<script setup>\nimport { defineAsyncComponent, computed } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { helpers, requiredIf } from '@vuelidate/validators'\nimport useVuelidate from '@vuelidate/core'\n\nconst props = defineProps({\n  field: {\n    type: Object,\n    required: true,\n  },\n  customFieldScope: {\n    type: String,\n    required: true,\n  },\n  index: {\n    type: Number,\n    required: true,\n  },\n  store: {\n    type: Object,\n    required: true,\n  },\n  storeProp: {\n    type: String,\n    required: true,\n  },\n})\n\nconst { t } = useI18n()\n\nconst rules = {\n  value: {\n    required: helpers.withMessage(\n      t('validation.required'),\n      requiredIf(props.field.is_required)\n    ),\n  },\n}\n\nconst v$ = useVuelidate(\n  rules,\n  computed(() => props.field),\n  { $scope: props.customFieldScope }\n)\n\nconst getTypeComponent = computed(() => {\n  if (props.field.type) {\n    return defineAsyncComponent(() =>\n      import(`./types/${props.field.type}Type.vue`)\n    )\n  }\n\n  return false\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/custom-fields/types/DateTimeType.vue",
    "content": "<template>\n  <BaseDatePicker v-model=\"date\" enable-time />\n</template>\n\n<script setup>\nimport moment from 'moment'\nimport { computed } from 'vue'\n\nconst props = defineProps({\n  modelValue: {\n    type: String,\n    default: moment().format('YYYY-MM-DD hh:MM'),\n  },\n})\n\nconst emit = defineEmits(['update:modelValue'])\n\nconst date = computed({\n  get: () => props.modelValue,\n  set: (value) => {\n    emit('update:modelValue', value)\n  },\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/custom-fields/types/DateType.vue",
    "content": "<template>\n  <BaseDatePicker v-model=\"date\" />\n</template>\n\n<script setup>\nimport { computed } from 'vue'\nimport moment from 'moment'\n\nconst props = defineProps({\n  modelValue: {\n    type: [String, Date],\n    default: moment().format('YYYY-MM-DD'),\n  },\n})\n\nconst emit = defineEmits(['update:modelValue'])\n\nconst date = computed({\n  get: () => props.modelValue,\n  set: (value) => {\n    emit('update:modelValue', value)\n  },\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/custom-fields/types/DropdownType.vue",
    "content": "<template>\n  <BaseMultiselect\n    v-model=\"inputValue\"\n    :options=\"options\"\n    :label=\"label\"\n    :value-prop=\"valueProp\"\n    :object=\"object\"\n  />\n</template>\n\n<script setup>\nimport { computed } from 'vue'\n\nconst props = defineProps({\n  modelValue: {\n    type: [String, Object, Number],\n    default: null,\n  },\n  options: {\n    type: Array,\n    default: () => [],\n  },\n  valueProp: {\n    type: String,\n    default: 'name',\n  },\n  label: {\n    type: String,\n    default: 'name',\n  },\n  object: {\n    type: Boolean,\n    default: false,\n  },\n})\n\nconst emit = defineEmits(['update:modelValue'])\n\nconst inputValue = computed({\n  get: () => props.modelValue,\n  set: (value) => {\n    emit('update:modelValue', value)\n  },\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/custom-fields/types/InputType.vue",
    "content": "<template>\n  <BaseInput v-model=\"inputValue\" type=\"text\" />\n</template>\n\n<script setup>\nimport { computed } from 'vue'\n\nconst props = defineProps({\n  modelValue: {\n    type: String,\n    default: null,\n  },\n})\n\nconst emit = defineEmits(['update:modelValue'])\n\nconst inputValue = computed({\n  get: () => props.modelValue,\n  set: (value) => {\n    emit('update:modelValue', value)\n  },\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/custom-fields/types/NumberType.vue",
    "content": "<template>\n  <BaseInput v-model=\"inputValue\" type=\"number\" />\n</template>\n\n<script setup>\nimport { computed } from 'vue'\n\nconst props = defineProps({\n  modelValue: {\n    type: [String, Number],\n    default: null,\n  },\n})\n\nconst emit = defineEmits(['update:modelValue'])\n\nconst inputValue = computed({\n  get: () => props.modelValue,\n  set: (value) => {\n    emit('update:modelValue', value)\n  },\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/custom-fields/types/PhoneType.vue",
    "content": "<template>\n  <BaseInput v-model=\"inputValue\" type=\"tel\" />\n</template>\n\n<script setup>\nimport { computed } from 'vue'\n\nconst props = defineProps({\n  modelValue: {\n    type: [String, Number],\n    default: null,\n  },\n})\n\nconst emit = defineEmits(['update:modelValue'])\n\nconst inputValue = computed({\n  get: () => props.modelValue,\n  set: (value) => {\n    emit('update:modelValue', value)\n  },\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/custom-fields/types/SwitchType.vue",
    "content": "<template>\n  <BaseSwitch v-model=\"inputValue\" />\n</template>\n\n<script setup>\nimport { computed } from 'vue'\n\nconst props = defineProps({\n  modelValue: {\n    type: [String, Number, Boolean],\n    default: null,\n  },\n})\n\nconst emit = defineEmits(['update:modelValue'])\n\nconst inputValue = computed({\n  get: () => props.modelValue === 1,\n  set: (value) => {\n    const intVal = value ? 1 : 0\n\n    emit('update:modelValue', intVal)\n  },\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/custom-fields/types/TextAreaType.vue",
    "content": "<template>\n  <BaseTextarea v-model=\"inputValue\" :rows=\"rows\" :name=\"inputName\" />\n</template>\n\n<script setup>\nimport { computed } from 'vue'\n\nconst props = defineProps({\n  modelValue: {\n    type: String,\n    default: null,\n  },\n  rows: {\n    type: String,\n    default: '2',\n  },\n  inputName: {\n    type: String,\n    default: 'description',\n  },\n})\n\nconst emit = defineEmits(['update:modelValue'])\n\nconst inputValue = computed({\n  get: () => props.modelValue,\n  set: (value) => {\n    emit('update:modelValue', value)\n  },\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/custom-fields/types/TimeType.vue",
    "content": "<template>\n  <BaseTimePicker v-model=\"date\" />\n</template>\n\n<script setup>\nimport { computed } from 'vue'\nimport moment from 'moment'\n\nconst props = defineProps({\n  modelValue: {\n    type: [String, Date, Object],\n    default: moment().format('YYYY-MM-DD'),\n  },\n})\n\nconst emit = defineEmits(['update:modelValue'])\n\nconst date = computed({\n  get: () => props.modelValue,\n  set: (value) => {\n    emit('update:modelValue', value)\n  },\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/custom-fields/types/UrlType.vue",
    "content": "<template>\n  <BaseInput v-model=\"inputValue\" type=\"url\" />\n</template>\n\n<script setup>\nimport { computed } from 'vue'\n\nconst props = defineProps({\n  modelValue: {\n    type: String,\n    default: null,\n  },\n})\n\nconst emit = defineEmits(['update:modelValue'])\n\nconst inputValue = computed({\n  get: () => props.modelValue,\n  set: (value) => {\n    emit('update:modelValue', value)\n  },\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/dropdowns/CustomFieldIndexDropdown.vue",
    "content": "<template>\n  <BaseDropdown>\n    <template #activator>\n      <BaseIcon name=\"DotsHorizontalIcon\" class=\"h-5 text-gray-500\" />\n    </template>\n\n    <!-- edit customField  -->\n    <BaseDropdownItem\n      v-if=\"userStore.hasAbilities(abilities.EDIT_CUSTOM_FIELDS)\"\n      @click=\"editCustomField(row.id)\"\n    >\n      <BaseIcon\n        name=\"PencilIcon\"\n        class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n      />\n      {{ $t('general.edit') }}\n    </BaseDropdownItem>\n\n    <!-- delete customField  -->\n    <BaseDropdownItem\n      v-if=\"userStore.hasAbilities(abilities.DELETE_CUSTOM_FIELDS)\"\n      @click=\"removeCustomField(row.id)\"\n    >\n      <BaseIcon\n        name=\"TrashIcon\"\n        class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n      />\n      {{ $t('general.delete') }}\n    </BaseDropdownItem>\n  </BaseDropdown>\n</template>\n\n<script setup>\nimport { useDialogStore } from '@/scripts/stores/dialog'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport { useI18n } from 'vue-i18n'\nimport { useCustomFieldStore } from '@/scripts/admin/stores/custom-field'\nimport { useRoute, useRouter } from 'vue-router'\nimport { inject } from 'vue'\nimport { useUserStore } from '@/scripts/admin/stores/user'\nimport { useModalStore } from '@/scripts/stores/modal'\nimport abilities from '@/scripts/admin/stub/abilities'\n\nconst props = defineProps({\n  row: {\n    type: Object,\n    default: null,\n  },\n  table: {\n    type: Object,\n    default: null,\n  },\n  loadData: {\n    type: Function,\n    default: null,\n  },\n})\n\nconst dialogStore = useDialogStore()\nconst notificationStore = useNotificationStore()\nconst { t } = useI18n()\nconst customFieldStore = useCustomFieldStore()\nconst route = useRoute()\nconst userStore = useUserStore()\nconst modalStore = useModalStore()\n\nconst $utils = inject('utils')\n\nasync function editCustomField(id) {\n  await customFieldStore.fetchCustomField(id)\n\n  modalStore.openModal({\n    title: t('settings.custom_fields.edit_custom_field'),\n    componentName: 'CustomFieldModal',\n    size: 'sm',\n    data: id,\n    refreshData: props.loadData,\n  })\n}\n\nasync function removeCustomField(id) {\n  dialogStore\n    .openDialog({\n      title: t('general.are_you_sure'),\n      message: t('settings.custom_fields.custom_field_confirm_delete'),\n      yesLabel: t('general.ok'),\n      noLabel: t('general.cancel'),\n      variant: 'danger',\n      hideNoButton: false,\n      size: 'lg',\n    })\n    .then(async (res) => {\n      if (res) {\n        await customFieldStore.deleteCustomFields(id)\n        props.loadData && props.loadData()\n      }\n    })\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/dropdowns/CustomerIndexDropdown.vue",
    "content": "<template>\n  <BaseDropdown :content-loading=\"customerStore.isFetchingViewData\">\n    <template #activator>\n      <BaseButton v-if=\"route.name === 'customers.view'\" variant=\"primary\">\n        <BaseIcon name=\"DotsHorizontalIcon\" class=\"h-5 text-white\" />\n      </BaseButton>\n      <BaseIcon v-else name=\"DotsHorizontalIcon\" class=\"h-5 text-gray-500\" />\n    </template>\n\n    <!-- Edit Customer  -->\n    <router-link\n      v-if=\"userStore.hasAbilities(abilities.EDIT_CUSTOMER)\"\n      :to=\"`/admin/customers/${row.id}/edit`\"\n    >\n      <BaseDropdownItem>\n        <BaseIcon\n          name=\"PencilIcon\"\n          class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n        />\n        {{ $t('general.edit') }}\n      </BaseDropdownItem>\n    </router-link>\n\n    <!-- View Customer -->\n    <router-link\n      v-if=\"\n        route.name !== 'customers.view' &&\n        userStore.hasAbilities(abilities.VIEW_CUSTOMER)\n      \"\n      :to=\"`customers/${row.id}/view`\"\n    >\n      <BaseDropdownItem>\n        <BaseIcon\n          name=\"EyeIcon\"\n          class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n        />\n        {{ $t('general.view') }}\n      </BaseDropdownItem>\n    </router-link>\n\n    <!-- Delete Customer  -->\n    <BaseDropdownItem\n      v-if=\"userStore.hasAbilities(abilities.DELETE_CUSTOMER)\"\n      @click=\"removeCustomer(row.id)\"\n    >\n      <BaseIcon\n        name=\"TrashIcon\"\n        class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n      />\n      {{ $t('general.delete') }}\n    </BaseDropdownItem>\n  </BaseDropdown>\n</template>\n\n<script setup>\nimport { useCustomerStore } from '@/scripts/admin/stores/customer'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport { useDialogStore } from '@/scripts/stores/dialog'\nimport { useModalStore } from '@/scripts/stores/modal'\nimport { useI18n } from 'vue-i18n'\nimport { useRoute, useRouter } from 'vue-router'\nimport { useUserStore } from '@/scripts/admin/stores/user'\nimport { inject } from 'vue'\nimport abilities from '@/scripts/admin/stub/abilities'\n\nconst props = defineProps({\n  row: {\n    type: Object,\n    default: null,\n  },\n  table: {\n    type: Object,\n    default: null,\n  },\n  loadData: {\n    type: Function,\n    default: () => {},\n  },\n})\n\nconst customerStore = useCustomerStore()\nconst notificationStore = useNotificationStore()\nconst dialogStore = useDialogStore()\nconst userStore = useUserStore()\n\nconst { t } = useI18n()\nconst route = useRoute()\nconst router = useRouter()\nconst utils = inject('utils')\n\nfunction removeCustomer(id) {\n  dialogStore\n    .openDialog({\n      title: t('general.are_you_sure'),\n      message: t('customers.confirm_delete', 1),\n      yesLabel: t('general.ok'),\n      noLabel: t('general.cancel'),\n      variant: 'danger',\n      hideNoButton: false,\n      size: 'lg',\n    })\n    .then((res) => {\n      if (res) {\n        customerStore.deleteCustomer({ ids: [id] }).then((response) => {\n          if (response.data.success) {\n            props.loadData && props.loadData()\n            return true\n          }\n        })\n      }\n    })\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/dropdowns/EstimateIndexDropdown.vue",
    "content": "<template>\n  <BaseDropdown>\n    <template #activator>\n      <BaseButton v-if=\"route.name === 'estimates.view'\" variant=\"primary\">\n        <BaseIcon name=\"DotsHorizontalIcon\" class=\"text-white\" />\n      </BaseButton>\n      <BaseIcon v-else class=\"text-gray-500\" name=\"DotsHorizontalIcon\" />\n    </template>\n\n    <!-- Copy PDF url  -->\n    <BaseDropdownItem\n      v-if=\"route.name === 'estimates.view'\"\n      @click=\"copyPdfUrl\"\n    >\n      <BaseIcon\n        name=\"LinkIcon\"\n        class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n      />\n      {{ $t('general.copy_pdf_url') }}\n    </BaseDropdownItem>\n\n    <!-- Edit Estimate -->\n    <router-link\n      v-if=\"userStore.hasAbilities(abilities.EDIT_ESTIMATE)\"\n      :to=\"`/admin/estimates/${row.id}/edit`\"\n    >\n      <BaseDropdownItem>\n        <BaseIcon\n          name=\"PencilIcon\"\n          class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n        />\n        {{ $t('general.edit') }}\n      </BaseDropdownItem>\n    </router-link>\n\n    <!-- Delete Estimate  -->\n    <BaseDropdownItem\n      v-if=\"userStore.hasAbilities(abilities.DELETE_ESTIMATE)\"\n      @click=\"removeEstimate(row.id)\"\n    >\n      <BaseIcon\n        name=\"TrashIcon\"\n        class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n      />\n      {{ $t('general.delete') }}\n    </BaseDropdownItem>\n\n    <!-- View Estimate -->\n    <router-link\n      v-if=\"\n        route.name !== 'estimates.view' &&\n        userStore.hasAbilities(abilities.VIEW_ESTIMATE)\n      \"\n      :to=\"`estimates/${row.id}/view`\"\n    >\n      <BaseDropdownItem>\n        <BaseIcon\n          name=\"EyeIcon\"\n          class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n        />\n        {{ $t('general.view') }}\n      </BaseDropdownItem>\n    </router-link>\n\n    <!-- Convert into Invoice  -->\n    <BaseDropdownItem\n      v-if=\"userStore.hasAbilities(abilities.CREATE_INVOICE)\"\n      @click=\"convertInToinvoice(row.id)\"\n    >\n      <BaseIcon\n        name=\"DocumentTextIcon\"\n        class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n      />\n      {{ $t('estimates.convert_to_invoice') }}\n    </BaseDropdownItem>\n\n    <!-- Mark as sent  -->\n    <BaseDropdownItem\n      v-if=\"\n        row.status !== 'SENT' &&\n        route.name !== 'estimates.view' &&\n        userStore.hasAbilities(abilities.SEND_ESTIMATE)\n      \"\n      @click=\"onMarkAsSent(row.id)\"\n    >\n      <BaseIcon\n        name=\"CheckCircleIcon\"\n        class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n      />\n      {{ $t('estimates.mark_as_sent') }}\n    </BaseDropdownItem>\n\n    <!-- Send Estimate  -->\n    <BaseDropdownItem\n      v-if=\"\n        row.status !== 'SENT' &&\n        route.name !== 'estimates.view' &&\n        userStore.hasAbilities(abilities.SEND_ESTIMATE)\n      \"\n      @click=\"sendEstimate(row)\"\n    >\n      <BaseIcon\n        name=\"PaperAirplaneIcon\"\n        class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n      />\n      {{ $t('estimates.send_estimate') }}\n    </BaseDropdownItem>\n\n    <!-- Resend Estimate -->\n    <BaseDropdownItem v-if=\"canResendEstimate(row)\" @click=\"sendEstimate(row)\">\n      <BaseIcon\n        name=\"PaperAirplaneIcon\"\n        class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n      />\n      {{ $t('estimates.resend_estimate') }}\n    </BaseDropdownItem>\n\n    <!-- Mark as Accepted -->\n    <BaseDropdownItem\n      v-if=\"\n        row.status !== 'ACCEPTED' &&\n        userStore.hasAbilities(abilities.EDIT_ESTIMATE)\n      \"\n      @click=\"onMarkAsAccepted(row.id)\"\n    >\n      <BaseIcon\n        name=\"CheckCircleIcon\"\n        class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n      />\n      {{ $t('estimates.mark_as_accepted') }}\n    </BaseDropdownItem>\n\n    <!-- Mark as Rejected  -->\n    <BaseDropdownItem\n      v-if=\"\n        row.status !== 'REJECTED' &&\n        userStore.hasAbilities(abilities.EDIT_ESTIMATE)\n      \"\n      @click=\"onMarkAsRejected(row.id)\"\n    >\n      <BaseIcon\n        name=\"XCircleIcon\"\n        class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n      />\n      {{ $t('estimates.mark_as_rejected') }}\n    </BaseDropdownItem>\n  </BaseDropdown>\n</template>\n\n<script setup>\nimport { useEstimateStore } from '@/scripts/admin/stores/estimate'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport { useModalStore } from '@/scripts/stores/modal'\nimport { useI18n } from 'vue-i18n'\nimport { useRoute, useRouter } from 'vue-router'\nimport { useDialogStore } from '@/scripts/stores/dialog'\nimport { inject } from 'vue'\nimport { useUserStore } from '@/scripts/admin/stores/user'\nimport abilities from '@/scripts/admin/stub/abilities'\n\nconst props = defineProps({\n  row: {\n    type: Object,\n    default: null,\n  },\n\n  table: {\n    type: Object,\n    default: null,\n  },\n})\n\nconst utils = inject('utils')\n\nconst estimateStore = useEstimateStore()\nconst modalStore = useModalStore()\nconst notificationStore = useNotificationStore()\nconst dialogStore = useDialogStore()\nconst userStore = useUserStore()\n\nconst { t } = useI18n()\nconst route = useRoute()\nconst router = useRouter()\n\nasync function removeEstimate(id) {\n  dialogStore\n    .openDialog({\n      title: t('general.are_you_sure'),\n      message: t('estimates.confirm_delete'),\n      yesLabel: t('general.ok'),\n      noLabel: t('general.cancel'),\n      variant: 'danger',\n      hideNoButton: false,\n      size: 'lg',\n    })\n    .then((res) => {\n      id = id\n      if (res) {\n        estimateStore.deleteEstimate({ ids: [id] }).then((res) => {\n          if (res) {\n            props.table && props.table.refresh()\n\n            if (res.data) {\n              router.push('/admin/estimates')\n            }\n            estimateStore.$patch((state) => {\n              state.selectedEstimates = []\n              state.selectAllField = false\n            })\n          }\n        })\n      }\n    })\n}\n\nfunction convertInToinvoice(id) {\n  dialogStore\n    .openDialog({\n      title: t('general.are_you_sure'),\n      message: t('estimates.confirm_conversion'),\n      yesLabel: t('general.ok'),\n      noLabel: t('general.cancel'),\n      variant: 'primary',\n      hideNoButton: false,\n      size: 'lg',\n    })\n    .then((res) => {\n      if (res) {\n        estimateStore.convertToInvoice(id).then((res) => {\n          if (res.data) {\n            router.push(`/admin/invoices/${res.data.data.id}/edit`)\n          }\n        })\n      }\n    })\n}\n\nasync function onMarkAsSent(id) {\n  dialogStore\n    .openDialog({\n      title: t('general.are_you_sure'),\n      message: t('estimates.confirm_mark_as_sent'),\n      yesLabel: t('general.ok'),\n      noLabel: t('general.cancel'),\n      variant: 'primary',\n      hideNoButton: false,\n      size: 'lg',\n    })\n    .then((response) => {\n      const data = {\n        id: id,\n        status: 'SENT',\n      }\n      if (response) {\n        estimateStore.markAsSent(data).then((response) => {\n          props.table && props.table.refresh()\n        })\n      }\n    })\n}\n\nfunction canResendEstimate(row) {\n  return (\n    (row.status == 'SENT' || row.status == 'VIEWED') &&\n    route.name !== 'estimates.view' &&\n    userStore.hasAbilities(abilities.SEND_ESTIMATE)\n  )\n}\n\nasync function sendEstimate(estimate) {\n  modalStore.openModal({\n    title: t('estimates.send_estimate'),\n    componentName: 'SendEstimateModal',\n    id: estimate.id,\n    data: estimate,\n    variant: 'lg',\n  })\n}\n\nasync function onMarkAsAccepted(id) {\n  dialogStore\n    .openDialog({\n      title: t('general.are_you_sure'),\n      message: t('estimates.confirm_mark_as_accepted'),\n      yesLabel: t('general.ok'),\n      noLabel: t('general.cancel'),\n      variant: 'primary',\n      hideNoButton: false,\n      size: 'lg',\n    })\n    .then((response) => {\n      const data = {\n        id: id,\n        status: 'ACCEPTED',\n      }\n      if (response) {\n        estimateStore.markAsAccepted(data).then((response) => {\n          props.table && props.table.refresh()\n        })\n      }\n    })\n}\n\nasync function onMarkAsRejected(id) {\n  dialogStore\n    .openDialog({\n      title: t('general.are_you_sure'),\n      message: t('estimates.confirm_mark_as_rejected'),\n      yesLabel: t('general.ok'),\n      noLabel: t('general.cancel'),\n      variant: 'primary',\n      hideNoButton: false,\n      size: 'lg',\n    })\n    .then((response) => {\n      const data = {\n        id: id,\n        status: 'REJECTED',\n      }\n      if (response) {\n        estimateStore.markAsRejected(data).then((response) => {\n          props.table && props.table.refresh()\n        })\n      }\n    })\n}\n\nfunction copyPdfUrl() {\n  let pdfUrl = `${window.location.origin}/estimates/pdf/${props.row.unique_hash}`\n\n  let response = utils.copyTextToClipboard(pdfUrl)\n  notificationStore.showNotification({\n    type: 'success',\n    message: t('general.copied_pdf_url_clipboard'),\n  })\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/dropdowns/ExpenseCategoryIndexDropdown.vue",
    "content": "<template>\n  <BaseDropdown>\n    <template #activator>\n      <BaseButton\n        v-if=\"route.name === 'expenseCategorys.view'\"\n        variant=\"primary\"\n      >\n        <BaseIcon name=\"DotsHorizontalIcon\" class=\"h-5 text-white\" />\n      </BaseButton>\n      <BaseIcon v-else name=\"DotsHorizontalIcon\" class=\"h-5 text-gray-500\" />\n    </template>\n\n    <!-- edit expenseCategory  -->\n    <BaseDropdownItem\n      v-if=\"userStore.hasAbilities(abilities.EDIT_EXPENSE)\"\n      @click=\"editExpenseCategory(row.id)\"\n    >\n      <BaseIcon\n        name=\"PencilIcon\"\n        class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n      />\n      {{ $t('general.edit') }}\n    </BaseDropdownItem>\n\n    <!-- delete expenseCategory  -->\n    <BaseDropdownItem\n      v-if=\"userStore.hasAbilities(abilities.DELETE_EXPENSE)\"\n      @click=\"removeExpenseCategory(row.id)\"\n    >\n      <BaseIcon\n        name=\"TrashIcon\"\n        class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n      />\n      {{ $t('general.delete') }}\n    </BaseDropdownItem>\n  </BaseDropdown>\n</template>\n\n<script setup>\nimport { useDialogStore } from '@/scripts/stores/dialog'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport { useI18n } from 'vue-i18n'\nimport { useCategoryStore } from '@/scripts/admin/stores/category'\nimport { useRoute, useRouter } from 'vue-router'\nimport { inject } from 'vue'\nimport { useUserStore } from '@/scripts/admin/stores/user'\nimport { useModalStore } from '@/scripts/stores/modal'\nimport abilities from '@/scripts/admin/stub/abilities'\n\nconst props = defineProps({\n  row: {\n    type: Object,\n    default: null,\n  },\n  table: {\n    type: Object,\n    default: null,\n  },\n  loadData: {\n    type: Function,\n    default: null,\n  },\n})\n\nconst dialogStore = useDialogStore()\nconst notificationStore = useNotificationStore()\nconst { t } = useI18n()\nconst expenseCategoryStore = useCategoryStore()\nconst route = useRoute()\nconst userStore = useUserStore()\nconst modalStore = useModalStore()\n\nconst $utils = inject('utils')\n\nfunction editExpenseCategory(data) {\n  expenseCategoryStore.fetchCategory(data)\n  modalStore.openModal({\n    title: t('settings.expense_category.edit_category'),\n    componentName: 'CategoryModal',\n    refreshData: props.loadData,\n    size: 'sm',\n  })\n}\n\nfunction removeExpenseCategory(id) {\n  dialogStore\n    .openDialog({\n      title: t('general.are_you_sure'),\n      message: t('settings.expense_category.confirm_delete'),\n      yesLabel: t('general.ok'),\n      noLabel: t('general.cancel'),\n      variant: 'danger',\n      hideNoButton: false,\n      size: 'lg',\n    })\n    .then(async () => {\n      let response = await expenseCategoryStore.deleteCategory(id)\n      if (response.data.success) {\n        props.loadData && props.loadData()\n        return true\n      }\n      props.loadData && props.loadData()\n    })\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/dropdowns/ExpenseIndexDropdown.vue",
    "content": "<template>\n  <BaseDropdown>\n    <template #activator>\n      <BaseButton v-if=\"route.name === 'expenses.view'\" variant=\"primary\">\n        <BaseIcon name=\"DotsHorizontalIcon\" class=\"h-5 text-white\" />\n      </BaseButton>\n      <BaseIcon v-else name=\"DotsHorizontalIcon\" class=\"h-5 text-gray-500\" />\n    </template>\n\n    <!-- edit expense  -->\n    <router-link\n      v-if=\"userStore.hasAbilities(abilities.EDIT_EXPENSE)\"\n      :to=\"`/admin/expenses/${row.id}/edit`\"\n    >\n      <BaseDropdownItem>\n        <BaseIcon\n          name=\"PencilIcon\"\n          class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n        />\n        {{ $t('general.edit') }}\n      </BaseDropdownItem>\n    </router-link>\n\n    <!-- delete expense  -->\n    <BaseDropdownItem\n      v-if=\"userStore.hasAbilities(abilities.DELETE_EXPENSE)\"\n      @click=\"removeExpense(row.id)\"\n    >\n      <BaseIcon\n        name=\"TrashIcon\"\n        class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n      />\n      {{ $t('general.delete') }}\n    </BaseDropdownItem>\n  </BaseDropdown>\n</template>\n\n<script setup>\nimport { useDialogStore } from '@/scripts/stores/dialog'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport { useI18n } from 'vue-i18n'\nimport { useExpenseStore } from '@/scripts/admin/stores/expense'\nimport { useRoute, useRouter } from 'vue-router'\nimport { inject } from 'vue'\nimport { useUserStore } from '@/scripts/admin/stores/user'\nimport abilities from '@/scripts/admin/stub/abilities'\n\nconst props = defineProps({\n  row: {\n    type: Object,\n    default: null,\n  },\n  table: {\n    type: Object,\n    default: null,\n  },\n  loadData: {\n    type: Function,\n    default: null,\n  },\n})\n\nconst dialogStore = useDialogStore()\nconst notificationStore = useNotificationStore()\nconst { t } = useI18n()\nconst expenseStore = useExpenseStore()\nconst route = useRoute()\nconst router = useRouter()\nconst userStore = useUserStore()\n\nconst $utils = inject('utils')\n\nfunction removeExpense(id) {\n  dialogStore\n    .openDialog({\n      title: t('general.are_you_sure'),\n      message: t('expenses.confirm_delete', 1),\n      yesLabel: t('general.ok'),\n      noLabel: t('general.cancel'),\n      variant: 'danger',\n      size: 'lg',\n      hideNoButton: false,\n    })\n    .then((res) => {\n      if (res) {\n        expenseStore.deleteExpense({ ids: [id] }).then((res) => {\n          if (res) {\n            props.loadData && props.loadData()\n          }\n        })\n      }\n    })\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/dropdowns/InvoiceIndexDropdown.vue",
    "content": "<template>\n  <BaseDropdown>\n    <template #activator>\n      <BaseButton v-if=\"route.name === 'invoices.view'\" variant=\"primary\">\n        <BaseIcon name=\"DotsHorizontalIcon\" class=\"h-5 text-white\" />\n      </BaseButton>\n      <BaseIcon v-else name=\"DotsHorizontalIcon\" class=\"h-5 text-gray-500\" />\n    </template>\n\n    <!-- Edit Invoice  -->\n    <router-link\n      v-if=\"userStore.hasAbilities(abilities.EDIT_INVOICE)\"\n      :to=\"`/admin/invoices/${row.id}/edit`\"\n    >\n      <BaseDropdownItem v-show=\"row.allow_edit\">\n        <BaseIcon\n          name=\"PencilIcon\"\n          class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n        />\n        {{ $t('general.edit') }}\n      </BaseDropdownItem>\n    </router-link>\n\n    <!-- Copy PDF url  -->\n    <BaseDropdownItem v-if=\"route.name === 'invoices.view'\" @click=\"copyPdfUrl\">\n      <BaseIcon\n        name=\"LinkIcon\"\n        class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n      />\n      {{ $t('general.copy_pdf_url') }}\n    </BaseDropdownItem>\n\n    <!-- View Invoice  -->\n    <router-link\n      v-if=\"\n        route.name !== 'invoices.view' &&\n        userStore.hasAbilities(abilities.VIEW_INVOICE)\n      \"\n      :to=\"`/admin/invoices/${row.id}/view`\"\n    >\n      <BaseDropdownItem>\n        <BaseIcon\n          name=\"EyeIcon\"\n          class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n        />\n        {{ $t('general.view') }}\n      </BaseDropdownItem>\n    </router-link>\n\n    <!-- Send Invoice Mail  -->\n    <BaseDropdownItem v-if=\"canSendInvoice(row)\" @click=\"sendInvoice(row)\">\n      <BaseIcon\n        name=\"PaperAirplaneIcon\"\n        class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n      />\n      {{ $t('invoices.send_invoice') }}\n    </BaseDropdownItem>\n\n    <!-- Resend Invoice -->\n    <BaseDropdownItem v-if=\"canReSendInvoice(row)\" @click=\"sendInvoice(row)\">\n      <BaseIcon\n        name=\"PaperAirplaneIcon\"\n        class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n      />\n      {{ $t('invoices.resend_invoice') }}\n    </BaseDropdownItem>\n\n    <!-- Record payment  -->\n    <router-link :to=\"`/admin/payments/${row.id}/create`\">\n      <BaseDropdownItem\n        v-if=\"row.status == 'SENT' && route.name !== 'invoices.view'\"\n      >\n        <BaseIcon\n          name=\"CreditCardIcon\"\n          class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n        />\n        {{ $t('invoices.record_payment') }}\n      </BaseDropdownItem>\n    </router-link>\n\n    <!-- Mark as sent Invoice -->\n    <BaseDropdownItem v-if=\"canSendInvoice(row)\" @click=\"onMarkAsSent(row.id)\">\n      <BaseIcon\n        name=\"CheckCircleIcon\"\n        class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n      />\n      {{ $t('invoices.mark_as_sent') }}\n    </BaseDropdownItem>\n\n    <!-- Clone Invoice into new invoice  -->\n    <BaseDropdownItem\n      v-if=\"userStore.hasAbilities(abilities.CREATE_INVOICE)\"\n      @click=\"cloneInvoiceData(row)\"\n    >\n      <BaseIcon\n        name=\"DocumentTextIcon\"\n        class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n      />\n      {{ $t('invoices.clone_invoice') }}\n    </BaseDropdownItem>\n\n    <!--  Delete Invoice  -->\n    <BaseDropdownItem\n      v-if=\"userStore.hasAbilities(abilities.DELETE_INVOICE)\"\n      @click=\"removeInvoice(row.id)\"\n    >\n      <BaseIcon\n        name=\"TrashIcon\"\n        class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n      />\n      {{ $t('general.delete') }}\n    </BaseDropdownItem>\n  </BaseDropdown>\n</template>\n\n<script setup>\nimport { useInvoiceStore } from '@/scripts/admin/stores/invoice'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport { useDialogStore } from '@/scripts/stores/dialog'\nimport { useModalStore } from '@/scripts/stores/modal'\nimport { useI18n } from 'vue-i18n'\nimport { useRoute, useRouter } from 'vue-router'\nimport { useUserStore } from '@/scripts/admin/stores/user'\nimport { inject } from 'vue'\nimport abilities from '@/scripts/admin/stub/abilities'\n\nconst props = defineProps({\n  row: {\n    type: Object,\n    default: null,\n  },\n  table: {\n    type: Object,\n    default: null,\n  },\n  loadData: {\n    type: Function,\n    default: () => {},\n  },\n})\n\nconst invoiceStore = useInvoiceStore()\nconst modalStore = useModalStore()\nconst notificationStore = useNotificationStore()\nconst dialogStore = useDialogStore()\nconst userStore = useUserStore()\n\nconst { t } = useI18n()\nconst route = useRoute()\nconst router = useRouter()\nconst utils = inject('utils')\n\nfunction canReSendInvoice(row) {\n  return (\n    (row.status == 'SENT' || row.status == 'VIEWED') &&\n    userStore.hasAbilities(abilities.SEND_INVOICE)\n  )\n}\n\nfunction canSendInvoice(row) {\n  return (\n    row.status == 'DRAFT' &&\n    route.name !== 'invoices.view' &&\n    userStore.hasAbilities(abilities.SEND_INVOICE)\n  )\n}\n\nasync function removeInvoice(id) {\n  dialogStore\n    .openDialog({\n      title: t('general.are_you_sure'),\n      message: t('invoices.confirm_delete'),\n      yesLabel: t('general.ok'),\n      noLabel: t('general.cancel'),\n      variant: 'danger',\n      hideNoButton: false,\n      size: 'lg',\n    })\n    .then((res) => {\n      id = id\n      if (res) {\n        invoiceStore.deleteInvoice({ ids: [id] }).then((res) => {\n          if (res.data.success) {\n            router.push('/admin/invoices')\n            props.table && props.table.refresh()\n\n            invoiceStore.$patch((state) => {\n              state.selectedInvoices = []\n              state.selectAllField = false\n            })\n          }\n        })\n      }\n    })\n}\n\nasync function cloneInvoiceData(data) {\n  dialogStore\n    .openDialog({\n      title: t('general.are_you_sure'),\n      message: t('invoices.confirm_clone'),\n      yesLabel: t('general.ok'),\n      noLabel: t('general.cancel'),\n      variant: 'primary',\n      hideNoButton: false,\n      size: 'lg',\n    })\n    .then((res) => {\n      if (res) {\n        invoiceStore.cloneInvoice(data).then((res) => {\n          router.push(`/admin/invoices/${res.data.data.id}/edit`)\n        })\n      }\n    })\n}\n\nasync function onMarkAsSent(id) {\n  dialogStore\n    .openDialog({\n      title: t('general.are_you_sure'),\n      message: t('invoices.invoice_mark_as_sent'),\n      yesLabel: t('general.ok'),\n      noLabel: t('general.cancel'),\n      variant: 'primary',\n      hideNoButton: false,\n      size: 'lg',\n    })\n    .then((response) => {\n      const data = {\n        id: id,\n        status: 'SENT',\n      }\n      if (response) {\n        invoiceStore.markAsSent(data).then((response) => {\n          props.table && props.table.refresh()\n        })\n      }\n    })\n}\n\nasync function sendInvoice(invoice) {\n  modalStore.openModal({\n    title: t('invoices.send_invoice'),\n    componentName: 'SendInvoiceModal',\n    id: invoice.id,\n    data: invoice,\n    variant: 'sm',\n  })\n}\n\nfunction copyPdfUrl() {\n  let pdfUrl = `${window.location.origin}/invoices/pdf/${props.row.unique_hash}`\n\n  utils.copyTextToClipboard(pdfUrl)\n\n  notificationStore.showNotification({\n    type: 'success',\n    message: t('general.copied_pdf_url_clipboard'),\n  })\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/dropdowns/ItemIndexDropdown.vue",
    "content": "<template>\n  <BaseDropdown>\n    <template #activator>\n      <BaseButton v-if=\"route.name === 'items.view'\" variant=\"primary\">\n        <BaseIcon name=\"DotsHorizontalIcon\" class=\"h-5 text-white\" />\n      </BaseButton>\n      <BaseIcon v-else name=\"DotsHorizontalIcon\" class=\"h-5 text-gray-500\" />\n    </template>\n\n    <!-- edit item  -->\n    <router-link\n      v-if=\"userStore.hasAbilities(abilities.EDIT_ITEM)\"\n      :to=\"`/admin/items/${row.id}/edit`\"\n    >\n      <BaseDropdownItem>\n        <BaseIcon\n          name=\"PencilIcon\"\n          class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n        />\n        {{ $t('general.edit') }}\n      </BaseDropdownItem>\n    </router-link>\n\n    <!-- delete item  -->\n    <BaseDropdownItem\n      v-if=\"userStore.hasAbilities(abilities.DELETE_ITEM)\"\n      @click=\"removeItem(row.id)\"\n    >\n      <BaseIcon\n        name=\"TrashIcon\"\n        class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n      />\n      {{ $t('general.delete') }}\n    </BaseDropdownItem>\n  </BaseDropdown>\n</template>\n\n<script setup>\nimport { useDialogStore } from '@/scripts/stores/dialog'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport { useI18n } from 'vue-i18n'\nimport { useItemStore } from '@/scripts/admin/stores/item'\nimport { useRoute, useRouter } from 'vue-router'\nimport { inject } from 'vue'\nimport { useUserStore } from '@/scripts/admin/stores/user'\nimport abilities from '@/scripts/admin/stub/abilities'\n\nconst props = defineProps({\n  row: {\n    type: Object,\n    default: null,\n  },\n  table: {\n    type: Object,\n    default: null,\n  },\n  loadData: {\n    type: Function,\n    default: null,\n  },\n})\n\nconst dialogStore = useDialogStore()\nconst notificationStore = useNotificationStore()\nconst { t } = useI18n()\nconst itemStore = useItemStore()\nconst route = useRoute()\nconst router = useRouter()\nconst userStore = useUserStore()\n\nconst $utils = inject('utils')\n\nfunction removeItem(id) {\n  dialogStore\n    .openDialog({\n      title: t('general.are_you_sure'),\n      message: t('items.confirm_delete'),\n      yesLabel: t('general.ok'),\n      noLabel: t('general.cancel'),\n      variant: 'danger',\n      hideNoButton: false,\n      size: 'lg',\n    })\n    .then((res) => {\n      if (res) {\n        itemStore.deleteItem({ ids: [id] }).then((response) => {\n          if (response.data.success) {\n            props.loadData && props.loadData()\n            return true\n          }\n          return true\n        })\n      }\n    })\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/dropdowns/NoteIndexDropdown.vue",
    "content": "<template>\n  <BaseDropdown>\n    <template #activator>\n      <BaseButton v-if=\"route.name === 'notes.view'\" variant=\"primary\">\n        <BaseIcon name=\"DotsHorizontalIcon\" class=\"h-5 text-white\" />\n      </BaseButton>\n      <BaseIcon v-else name=\"DotsHorizontalIcon\" class=\"h-5 text-gray-500\" />\n    </template>\n\n    <!-- edit note  -->\n    <BaseDropdownItem\n      v-if=\"userStore.hasAbilities(abilities.MANAGE_NOTE)\"\n      @click=\"editNote(row.id)\"\n    >\n      <BaseIcon\n        name=\"PencilIcon\"\n        class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n      />\n      {{ $t('general.edit') }}\n    </BaseDropdownItem>\n\n    <!-- delete note  -->\n    <BaseDropdownItem\n      v-if=\"userStore.hasAbilities(abilities.MANAGE_NOTE)\"\n      @click=\"removeNote(row.id)\"\n    >\n      <BaseIcon\n        name=\"TrashIcon\"\n        class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n      />\n      {{ $t('general.delete') }}\n    </BaseDropdownItem>\n  </BaseDropdown>\n</template>\n\n<script setup>\nimport { useDialogStore } from '@/scripts/stores/dialog'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport { useI18n } from 'vue-i18n'\nimport { useNotesStore } from '@/scripts/admin/stores/note'\nimport { useRoute } from 'vue-router'\nimport { inject } from 'vue'\nimport { useUserStore } from '@/scripts/admin/stores/user'\nimport { useModalStore } from '@/scripts/stores/modal'\nimport abilities from '@/scripts/admin/stub/abilities'\n\nconst props = defineProps({\n  row: {\n    type: Object,\n    default: null,\n  },\n  table: {\n    type: Object,\n    default: null,\n  },\n  loadData: {\n    type: Function,\n    default: null,\n  },\n})\n\nconst dialogStore = useDialogStore()\nconst notificationStore = useNotificationStore()\nconst { t } = useI18n()\nconst noteStore = useNotesStore()\nconst route = useRoute()\nconst userStore = useUserStore()\nconst modalStore = useModalStore()\n\nconst $utils = inject('utils')\n\nfunction editNote(data) {\n  noteStore.fetchNote(data)\n  modalStore.openModal({\n    title: t('settings.customization.notes.edit_note'),\n    componentName: 'NoteModal',\n    size: 'md',\n    refreshData: props.loadData,\n  })\n}\n\nfunction removeNote(id) {\n  dialogStore\n    .openDialog({\n      title: t('general.are_you_sure'),\n      message: t('settings.customization.notes.note_confirm_delete'),\n      yesLabel: t('general.yes'),\n      noLabel: t('general.no'),\n      variant: 'danger',\n      hideNoButton: false,\n      size: 'lg',\n    })\n    .then(async () => {\n      let response = await noteStore.deleteNote(id)\n      if (response.data.success) {\n        notificationStore.showNotification({\n          type: 'success',\n          message: t('settings.customization.notes.deleted_message'),\n        })\n      } else {\n        notificationStore.showNotification({\n          type: 'error',\n          message: t('settings.customization.notes.already_in_use'),\n        })\n      }\n      props.loadData && props.loadData()\n    })\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/dropdowns/PaymentIndexDropdown.vue",
    "content": "<template>\n  <BaseDropdown :content-loading=\"contentLoading\">\n    <template #activator>\n      <BaseButton v-if=\"route.name === 'payments.view'\" variant=\"primary\">\n        <BaseIcon name=\"DotsHorizontalIcon\" class=\"h-5 text-white\" />\n      </BaseButton>\n      <BaseIcon v-else name=\"DotsHorizontalIcon\" class=\"h-5 text-gray-500\" />\n    </template>\n\n    <!-- Copy pdf url  -->\n    <BaseDropdown-item\n      v-if=\"\n        route.name === 'payments.view' &&\n        userStore.hasAbilities(abilities.VIEW_PAYMENT)\n      \"\n      class=\"rounded-md\"\n      @click=\"copyPdfUrl\"\n    >\n      <BaseIcon\n        name=\"LinkIcon\"\n        class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n      />\n      {{ $t('general.copy_pdf_url') }}\n    </BaseDropdown-item>\n\n    <!-- edit payment  -->\n    <router-link\n      v-if=\"userStore.hasAbilities(abilities.EDIT_PAYMENT)\"\n      :to=\"`/admin/payments/${row.id}/edit`\"\n    >\n      <BaseDropdownItem>\n        <BaseIcon\n          name=\"PencilIcon\"\n          class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n        />\n        {{ $t('general.edit') }}\n      </BaseDropdownItem>\n    </router-link>\n\n    <!-- view payment  -->\n    <router-link\n      v-if=\"\n        route.name !== 'payments.view' &&\n        userStore.hasAbilities(abilities.VIEW_PAYMENT)\n      \"\n      :to=\"`/admin/payments/${row.id}/view`\"\n    >\n      <BaseDropdownItem>\n        <BaseIcon\n          name=\"EyeIcon\"\n          class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n        />\n        {{ $t('general.view') }}\n      </BaseDropdownItem>\n    </router-link>\n\n    <!-- Send Estimate  -->\n    <BaseDropdownItem\n      v-if=\"\n        row.status !== 'SENT' &&\n        route.name !== 'payments.view' &&\n        userStore.hasAbilities(abilities.SEND_PAYMENT)\n      \"\n      @click=\"sendPayment(row)\"\n    >\n      <BaseIcon\n        name=\"PaperAirplaneIcon\"\n        class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n      />\n      {{ $t('payments.send_payment') }}\n    </BaseDropdownItem>\n\n    <!-- delete payment  -->\n    <BaseDropdownItem\n      v-if=\"userStore.hasAbilities(abilities.DELETE_PAYMENT)\"\n      @click=\"removePayment(row.id)\"\n    >\n      <BaseIcon\n        name=\"TrashIcon\"\n        class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n      />\n      {{ $t('general.delete') }}\n    </BaseDropdownItem>\n  </BaseDropdown>\n</template>\n\n<script setup>\nimport { useDialogStore } from '@/scripts/stores/dialog'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport { useModalStore } from '@/scripts/stores/modal'\nimport { useI18n } from 'vue-i18n'\nimport { usePaymentStore } from '@/scripts/admin/stores/payment'\nimport { useRoute, useRouter } from 'vue-router'\nimport { inject } from 'vue'\nimport { useUserStore } from '@/scripts/admin/stores/user'\nimport abilities from '@/scripts/admin/stub/abilities'\n\nconst props = defineProps({\n  row: {\n    type: Object,\n    default: null,\n  },\n  table: {\n    type: Object,\n    default: null,\n  },\n  contentLoading: {\n    type: Boolean,\n    default: false,\n  },\n})\n\nconst dialogStore = useDialogStore()\nconst notificationStore = useNotificationStore()\nconst { t } = useI18n()\nconst paymentStore = usePaymentStore()\nconst route = useRoute()\nconst router = useRouter()\nconst userStore = useUserStore()\nconst modalStore = useModalStore()\n\nconst $utils = inject('utils')\n\nfunction removePayment(id) {\n  dialogStore\n    .openDialog({\n      title: t('general.are_you_sure'),\n      message: t('payments.confirm_delete', 1),\n      yesLabel: t('general.ok'),\n      noLabel: t('general.cancel'),\n      variant: 'danger',\n      size: 'lg',\n      hideNoButton: false,\n    })\n    .then(async (res) => {\n      if (res) {\n        await paymentStore.deletePayment({ ids: [id] })\n        router.push(`/admin/payments`)\n        props.table && props.table.refresh()\n\n        return true\n      }\n    })\n}\n\nfunction copyPdfUrl() {\n  let pdfUrl = `${window.location.origin}/payments/pdf/${props.row?.unique_hash}`\n\n  $utils.copyTextToClipboard(pdfUrl)\n\n  notificationStore.showNotification({\n    type: 'success',\n    message: t('general.copied_pdf_url_clipboard'),\n  })\n}\n\nasync function sendPayment(payment) {\n  modalStore.openModal({\n    title: t('payments.send_payment'),\n    componentName: 'SendPaymentModal',\n    id: payment.id,\n    data: payment,\n    variant: 'lg',\n  })\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/dropdowns/PaymentModeIndexDropdown.vue",
    "content": "<template>\n  <BaseDropdown>\n    <template #activator>\n      <BaseButton v-if=\"route.name === 'paymentModes.view'\" variant=\"primary\">\n        <BaseIcon name=\"DotsHorizontalIcon\" class=\"h-5 text-white\" />\n      </BaseButton>\n      <BaseIcon v-else name=\"DotsHorizontalIcon\" class=\"h-5 text-gray-500\" />\n    </template>\n\n    <!-- edit paymentMode  -->\n    <BaseDropdownItem @click=\"editPaymentMode(row.id)\">\n      <BaseIcon\n        name=\"PencilIcon\"\n        class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n      />\n      {{ $t('general.edit') }}\n    </BaseDropdownItem>\n\n    <!-- delete paymentMode  -->\n    <BaseDropdownItem @click=\"removePaymentMode(row.id)\">\n      <BaseIcon\n        name=\"TrashIcon\"\n        class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n      />\n      {{ $t('general.delete') }}\n    </BaseDropdownItem>\n  </BaseDropdown>\n</template>\n\n<script setup>\nimport { useDialogStore } from '@/scripts/stores/dialog'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport { useI18n } from 'vue-i18n'\nimport { usePaymentStore } from '@/scripts/admin/stores/payment'\nimport { useRoute, useRouter } from 'vue-router'\nimport { inject } from 'vue'\nimport { useUserStore } from '@/scripts/admin/stores/user'\nimport { useModalStore } from '@/scripts/stores/modal'\n\nconst props = defineProps({\n  row: {\n    type: Object,\n    default: null,\n  },\n  table: {\n    type: Object,\n    default: null,\n  },\n  loadData: {\n    type: Function,\n    default: null,\n  },\n})\n\nconst dialogStore = useDialogStore()\nconst notificationStore = useNotificationStore()\nconst { t } = useI18n()\nconst paymentStore = usePaymentStore()\nconst route = useRoute()\nconst userStore = useUserStore()\nconst modalStore = useModalStore()\n\nconst $utils = inject('utils')\n\nfunction editPaymentMode(id) {\n  paymentStore.fetchPaymentMode(id)\n  modalStore.openModal({\n    title: t('settings.payment_modes.edit_payment_mode'),\n    componentName: 'PaymentModeModal',\n    refreshData: props.loadData && props.loadData,\n    size: 'sm',\n  })\n}\n\nfunction removePaymentMode(id) {\n  dialogStore\n    .openDialog({\n      title: t('general.are_you_sure'),\n      message: t('settings.payment_modes.payment_mode_confirm_delete'),\n      yesLabel: t('general.ok'),\n      noLabel: t('general.cancel'),\n      variant: 'danger',\n      hideNoButton: false,\n      size: 'lg',\n    })\n    .then(async (res) => {\n      if (res) {\n        await paymentStore.deletePaymentMode(id)\n        props.loadData && props.loadData()\n      }\n    })\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/dropdowns/RecurringInvoiceIndexDropdown.vue",
    "content": "<template>\n  <BaseDropdown :content-loading=\"recurringInvoiceStore.isFetchingViewData\">\n    <template #activator>\n      <BaseButton\n        v-if=\"route.name === 'recurring-invoices.view'\"\n        variant=\"primary\"\n      >\n        <BaseIcon name=\"DotsHorizontalIcon\" class=\"h-5 text-white\" />\n      </BaseButton>\n      <BaseIcon v-else name=\"DotsHorizontalIcon\" class=\"h-5 text-gray-500\" />\n    </template>\n\n    <!-- Edit Recurring Invoice  -->\n    <router-link\n      v-if=\"userStore.hasAbilities(abilities.EDIT_RECURRING_INVOICE)\"\n      :to=\"`/admin/recurring-invoices/${row.id}/edit`\"\n    >\n      <BaseDropdownItem>\n        <BaseIcon\n          name=\"PencilIcon\"\n          class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n        />\n        {{ $t('general.edit') }}\n      </BaseDropdownItem>\n    </router-link>\n\n    <!-- View Recurring Invoice -->\n    <router-link\n      v-if=\"\n        route.name !== 'recurring-invoices.view' &&\n        userStore.hasAbilities(abilities.VIEW_RECURRING_INVOICE)\n      \"\n      :to=\"`recurring-invoices/${row.id}/view`\"\n    >\n      <BaseDropdownItem>\n        <BaseIcon\n          name=\"EyeIcon\"\n          class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n        />\n        {{ $t('general.view') }}\n      </BaseDropdownItem>\n    </router-link>\n\n    <!-- Delete Recurring Invoice  -->\n    <BaseDropdownItem\n      v-if=\"userStore.hasAbilities(abilities.DELETE_RECURRING_INVOICE)\"\n      @click=\"removeMultipleRecurringInvoices(row.id)\"\n    >\n      <BaseIcon\n        name=\"TrashIcon\"\n        class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n      />\n      {{ $t('general.delete') }}\n    </BaseDropdownItem>\n  </BaseDropdown>\n</template>\n\n<script setup>\nimport { useInvoiceStore } from '@/scripts/admin/stores/invoice'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport { useDialogStore } from '@/scripts/stores/dialog'\nimport { useModalStore } from '@/scripts/stores/modal'\nimport { useI18n } from 'vue-i18n'\nimport { useRoute, useRouter } from 'vue-router'\nimport { useUserStore } from '@/scripts/admin/stores/user'\nimport { inject } from 'vue'\nimport { useRecurringInvoiceStore } from '@/scripts/admin/stores/recurring-invoice'\nimport abilities from '@/scripts/admin/stub/abilities'\n\nconst props = defineProps({\n  row: {\n    type: Object,\n    default: null,\n  },\n  table: {\n    type: Object,\n    default: null,\n  },\n  loadData: {\n    type: Function,\n    default: () => {},\n  },\n})\n\nconst recurringInvoiceStore = useRecurringInvoiceStore()\nconst notificationStore = useNotificationStore()\nconst dialogStore = useDialogStore()\nconst userStore = useUserStore()\n\nconst { t } = useI18n()\nconst route = useRoute()\nconst router = useRouter()\nconst utils = inject('utils')\n\nasync function removeMultipleRecurringInvoices(id = null) {\n  dialogStore\n    .openDialog({\n      title: t('general.are_you_sure'),\n      message: t('invoices.confirm_delete'),\n      yesLabel: t('general.ok'),\n      noLabel: t('general.cancel'),\n      variant: 'danger',\n      hideNoButton: false,\n      size: 'lg',\n    })\n    .then(async (res) => {\n      if (res) {\n        await recurringInvoiceStore\n          .deleteMultipleRecurringInvoices(id)\n          .then((res) => {\n            if (res.data.success) {\n              props.table && props.table.refresh()\n              recurringInvoiceStore.$patch((state) => {\n                state.selectedRecurringInvoices = []\n                state.selectAllField = false\n              })\n              notificationStore.showNotification({\n                type: 'success',\n                message: t('recurring_invoices.deleted_message', 2),\n              })\n            } else if (res.data.error) {\n              notificationStore.showNotification({\n                type: 'error',\n                message: res.data.message,\n              })\n            }\n          })\n      }\n    })\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/dropdowns/RoleIndexDropdown.vue",
    "content": "<template>\n  <BaseDropdown>\n    <template #activator>\n      <BaseButton v-if=\"route.name === 'roles.view'\" variant=\"primary\">\n        <BaseIcon name=\"DotsHorizontalIcon\" class=\"h-5 text-white\" />\n      </BaseButton>\n      <BaseIcon v-else name=\"DotsHorizontalIcon\" class=\"h-5 text-gray-500\" />\n    </template>\n\n    <!-- edit role  -->\n    <BaseDropdownItem\n      v-if=\"userStore.currentUser.is_owner\"\n      @click=\"editRole(row.id)\"\n    >\n      <BaseIcon\n        name=\"PencilIcon\"\n        class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n      />\n      {{ $t('general.edit') }}\n    </BaseDropdownItem>\n\n    <!-- delete role  -->\n    <BaseDropdownItem\n      v-if=\"userStore.currentUser.is_owner\"\n      @click=\"removeRole(row.id)\"\n    >\n      <BaseIcon\n        name=\"TrashIcon\"\n        class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n      />\n      {{ $t('general.delete') }}\n    </BaseDropdownItem>\n  </BaseDropdown>\n</template>\n\n<script setup>\nimport { useDialogStore } from '@/scripts/stores/dialog'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport { useI18n } from 'vue-i18n'\nimport { useRoleStore } from '@/scripts/admin/stores/role'\nimport { useRoute, useRouter } from 'vue-router'\nimport { inject } from 'vue'\nimport { useUserStore } from '@/scripts/admin/stores/user'\nimport { useModalStore } from '@/scripts/stores/modal'\n\nconst props = defineProps({\n  row: {\n    type: Object,\n    default: null,\n  },\n  table: {\n    type: Object,\n    default: null,\n  },\n  loadData: {\n    type: Function,\n    default: null,\n  },\n})\n\nconst dialogStore = useDialogStore()\nconst notificationStore = useNotificationStore()\nconst { t } = useI18n()\nconst roleStore = useRoleStore()\nconst route = useRoute()\nconst userStore = useUserStore()\nconst modalStore = useModalStore()\n\nconst $utils = inject('utils')\n\nasync function editRole(id) {\n  Promise.all([\n    await roleStore.fetchAbilities(),\n    await roleStore.fetchRole(id),\n  ]).then(() => {\n    modalStore.openModal({\n      title: t('settings.roles.edit_role'),\n      componentName: 'RolesModal',\n      size: 'lg',\n      refreshData: props.loadData,\n    })\n  })\n}\n\nasync function removeRole(id) {\n  dialogStore\n    .openDialog({\n      title: t('general.are_you_sure'),\n      message: t('settings.roles.confirm_delete'),\n      yesLabel: t('general.ok'),\n      noLabel: t('general.cancel'),\n      variant: 'danger',\n      hideNoButton: false,\n      size: 'lg',\n    })\n    .then(async (res) => {\n      if (res) {\n        await roleStore.deleteRole(id).then((response) => {\n          if (response.data) {\n            props.loadData && props.loadData()\n          }\n        })\n      }\n    })\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/dropdowns/TaxTypeIndexDropdown.vue",
    "content": "<template>\n  <BaseDropdown>\n    <template #activator>\n      <BaseButton v-if=\"route.name === 'tax-types.view'\" variant=\"primary\">\n        <BaseIcon name=\"DotsHorizontalIcon\" class=\"h-5 text-white\" />\n      </BaseButton>\n      <BaseIcon v-else name=\"DotsHorizontalIcon\" class=\"h-5 text-gray-500\" />\n    </template>\n\n    <!-- edit tax-type  -->\n    <BaseDropdownItem\n      v-if=\"userStore.hasAbilities(abilities.EDIT_TAX_TYPE)\"\n      @click=\"editTaxType(row.id)\"\n    >\n      <BaseIcon\n        name=\"PencilIcon\"\n        class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n      />\n      {{ $t('general.edit') }}\n    </BaseDropdownItem>\n\n    <!-- delete tax-type  -->\n    <BaseDropdownItem\n      v-if=\"userStore.hasAbilities(abilities.DELETE_TAX_TYPE)\"\n      @click=\"removeTaxType(row.id)\"\n    >\n      <BaseIcon\n        name=\"TrashIcon\"\n        class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n      />\n      {{ $t('general.delete') }}\n    </BaseDropdownItem>\n  </BaseDropdown>\n</template>\n\n<script setup>\nimport { useDialogStore } from '@/scripts/stores/dialog'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport { useI18n } from 'vue-i18n'\nimport { useTaxTypeStore } from '@/scripts/admin/stores/tax-type'\nimport { useRoute, useRouter } from 'vue-router'\nimport { inject } from 'vue'\nimport { useUserStore } from '@/scripts/admin/stores/user'\nimport { useModalStore } from '@/scripts/stores/modal'\nimport abilities from '@/scripts/admin/stub/abilities'\n\nconst props = defineProps({\n  row: {\n    type: Object,\n    default: null,\n  },\n  table: {\n    type: Object,\n    default: null,\n  },\n  loadData: {\n    type: Function,\n    default: null,\n  },\n})\n\nconst dialogStore = useDialogStore()\nconst notificationStore = useNotificationStore()\nconst { t } = useI18n()\nconst taxTypeStore = useTaxTypeStore()\nconst route = useRoute()\nconst userStore = useUserStore()\nconst modalStore = useModalStore()\n\nconst $utils = inject('utils')\n\nasync function editTaxType(id) {\n  await taxTypeStore.fetchTaxType(id)\n  modalStore.openModal({\n    title: t('settings.tax_types.edit_tax'),\n    componentName: 'TaxTypeModal',\n    size: 'sm',\n    refreshData: props.loadData && props.loadData,\n  })\n}\n\nfunction removeTaxType(id) {\n  dialogStore\n    .openDialog({\n      title: t('general.are_you_sure'),\n      message: t('settings.tax_types.confirm_delete'),\n      yesLabel: t('general.ok'),\n      noLabel: t('general.cancel'),\n      variant: 'danger',\n      hideNoButton: false,\n      size: 'lg',\n    })\n    .then(async (res) => {\n      if (res) {\n        let response = await taxTypeStore.deleteTaxType(id)\n        if (response.data.success) {\n          props.loadData && props.loadData()\n          return true\n        }\n        props.loadData && props.loadData()\n      }\n    })\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/dropdowns/UserIndexDropdown.vue",
    "content": "<template>\n  <BaseDropdown>\n    <template #activator>\n      <BaseButton v-if=\"route.name === 'users.view'\" variant=\"primary\">\n        <BaseIcon name=\"DotsHorizontalIcon\" class=\"h-5 text-white\" />\n      </BaseButton>\n      <BaseIcon v-else name=\"DotsHorizontalIcon\" class=\"h-5 text-gray-500\" />\n    </template>\n\n    <!-- edit user  -->\n    <router-link :to=\"`/admin/users/${row.id}/edit`\">\n      <BaseDropdownItem>\n        <BaseIcon\n          name=\"PencilIcon\"\n          class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n        />\n        {{ $t('general.edit') }}\n      </BaseDropdownItem>\n    </router-link>\n\n    <!-- delete user  -->\n    <BaseDropdownItem @click=\"removeUser(row.id)\">\n      <BaseIcon\n        name=\"TrashIcon\"\n        class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n      />\n      {{ $t('general.delete') }}\n    </BaseDropdownItem>\n  </BaseDropdown>\n</template>\n\n<script setup>\nimport { useDialogStore } from '@/scripts/stores/dialog'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport { useI18n } from 'vue-i18n'\nimport { useUserStore } from '@/scripts/admin/stores/user'\nimport { useRoute, useRouter } from 'vue-router'\nimport { inject } from 'vue'\nimport { useUsersStore } from '@/scripts/admin/stores/users'\n\nconst props = defineProps({\n  row: {\n    type: Object,\n    default: null,\n  },\n  table: {\n    type: Object,\n    default: null,\n  },\n  loadData: {\n    type: Function,\n    default: null,\n  },\n})\n\nconst dialogStore = useDialogStore()\nconst notificationStore = useNotificationStore()\nconst { t } = useI18n()\nconst userStore = useUserStore()\nconst route = useRoute()\nconst router = useRouter()\nconst usersStore = useUsersStore()\n\nconst $utils = inject('utils')\n\nfunction removeUser(id) {\n  dialogStore\n    .openDialog({\n      title: t('general.are_you_sure'),\n      message: t('users.confirm_delete', 1),\n      yesLabel: t('general.ok'),\n      noLabel: t('general.cancel'),\n      variant: 'danger',\n      size: 'lg',\n      hideNoButton: false,\n    })\n    .then((res) => {\n      if (res) {\n        usersStore.deleteUser({ ids: [id] }).then((res) => {\n          if (res) {\n            props.loadData && props.loadData()\n          }\n        })\n      }\n    })\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/estimate-invoice-common/CreateItemRow.vue",
    "content": "<template>\n  <tr class=\"box-border bg-white border border-gray-200 border-solid rounded-b\">\n    <td colspan=\"5\" class=\"p-0 text-left align-top\">\n      <table class=\"w-full\">\n        <colgroup>\n          <col style=\"width: 40%; min-width: 280px\" />\n          <col style=\"width: 10%; min-width: 120px\" />\n          <col style=\"width: 15%; min-width: 120px\" />\n          <col\n            v-if=\"store[storeProp].discount_per_item === 'YES'\"\n            style=\"width: 15%; min-width: 160px\"\n          />\n          <col style=\"width: 15%; min-width: 120px\" />\n        </colgroup>\n        <tbody>\n          <tr>\n            <td class=\"px-5 py-4 text-left align-top\">\n              <div class=\"flex justify-start\">\n                <div\n                  class=\"flex items-center justify-center w-5 h-5 mt-2 mr-2 text-gray-300 cursor-move  handle\"\n                >\n                  <DragIcon />\n                </div>\n                <BaseItemSelect\n                  type=\"Invoice\"\n                  :item=\"itemData\"\n                  :invalid=\"v$.name.$error\"\n                  :invalid-description=\"v$.description.$error\"\n                  :taxes=\"itemData.taxes\"\n                  :index=\"index\"\n                  :store-prop=\"storeProp\"\n                  :store=\"store\"\n                  @search=\"searchVal\"\n                  @select=\"onSelectItem\"\n                />\n              </div>\n            </td>\n            <td class=\"px-5 py-4 text-right align-top\">\n              <BaseInput\n                v-model=\"quantity\"\n                :invalid=\"v$.quantity.$error\"\n                :content-loading=\"loading\"\n                type=\"number\"\n                small\n                min=\"0\"\n                step=\"any\"\n                @change=\"syncItemToStore()\"\n                @input=\"v$.quantity.$touch()\"\n              />\n            </td>\n            <td class=\"px-5 py-4 text-left align-top\">\n              <div class=\"flex flex-col\">\n                <div class=\"flex-auto flex-fill bd-highlight\">\n                  <div class=\"relative w-full\">\n                    <BaseMoney\n                      :key=\"selectedCurrency\"\n                      v-model=\"price\"\n                      :invalid=\"v$.price.$error\"\n                      :content-loading=\"loading\"\n                      :currency=\"selectedCurrency\"\n                    />\n                  </div>\n                </div>\n              </div>\n            </td>\n            <td\n              v-if=\"store[storeProp].discount_per_item === 'YES'\"\n              class=\"px-5 py-4 text-left align-top\"\n            >\n              <div class=\"flex flex-col\">\n                <div class=\"flex\" style=\"width: 120px\" role=\"group\">\n                  <BaseInput\n                    v-model=\"discount\"\n                    :invalid=\"v$.discount_val.$error\"\n                    :content-loading=\"loading\"\n                    class=\"\n                      border-r-0\n                      focus:border-r-2\n                      rounded-tr-sm rounded-br-sm\n                      h-[38px]\n                    \"\n                  />\n                  <BaseDropdown position=\"bottom-end\">\n                    <template #activator>\n                      <BaseButton\n                        :content-loading=\"loading\"\n                        class=\"rounded-tr-md rounded-br-md !p-2 rounded-none\"\n                        type=\"button\"\n                        variant=\"white\"\n                      >\n                        <span class=\"flex items-center\">\n                          {{\n                            itemData.discount_type == 'fixed'\n                              ? currency.symbol\n                              : '%'\n                          }}\n\n                          <BaseIcon\n                            name=\"ChevronDownIcon\"\n                            class=\"w-4 h-4 ml-1 text-gray-500\"\n                          />\n                        </span>\n                      </BaseButton>\n                    </template>\n\n                    <BaseDropdownItem @click=\"selectFixed\">\n                      {{ $t('general.fixed') }}\n                    </BaseDropdownItem>\n\n                    <BaseDropdownItem @click=\"selectPercentage\">\n                      {{ $t('general.percentage') }}\n                    </BaseDropdownItem>\n                  </BaseDropdown>\n                </div>\n              </div>\n            </td>\n            <td class=\"px-5 py-4 text-right align-top\">\n              <div class=\"flex items-center justify-end text-sm\">\n                <span>\n                  <BaseContentPlaceholders v-if=\"loading\">\n                    <BaseContentPlaceholdersText :lines=\"1\" class=\"w-16 h-5\" />\n                  </BaseContentPlaceholders>\n\n                  <BaseFormatMoney\n                    v-else\n                    :amount=\"total\"\n                    :currency=\"selectedCurrency\"\n                  />\n                </span>\n                <div class=\"flex items-center justify-center w-6 h-10 mx-2\">\n                  <BaseIcon\n                    v-if=\"showRemoveButton\"\n                    class=\"h-5 text-gray-700 cursor-pointer\"\n                    name=\"TrashIcon\"\n                    @click=\"store.removeItem(index)\"\n                  />\n                </div>\n              </div>\n            </td>\n          </tr>\n          <tr v-if=\"store[storeProp].tax_per_item === 'YES'\">\n            <td class=\"px-5 py-4 text-left align-top\" />\n            <td colspan=\"4\" class=\"px-5 py-4 text-left align-top\">\n              <BaseContentPlaceholders v-if=\"loading\">\n                <BaseContentPlaceholdersText\n                  :lines=\"1\"\n                  class=\"w-24 h-8 border rounded-md\"\n                />\n              </BaseContentPlaceholders>\n\n              <ItemTax\n                v-for=\"(tax, index1) in itemData.taxes\"\n                v-else\n                :key=\"tax.id\"\n                :index=\"index1\"\n                :item-index=\"index\"\n                :tax-data=\"tax\"\n                :taxes=\"itemData.taxes\"\n                :discounted-total=\"total\"\n                :total-tax=\"totalSimpleTax\"\n                :total=\"subtotal\"\n                :currency=\"currency\"\n                :update-items=\"syncItemToStore\"\n                :ability=\"abilities.CREATE_INVOICE\"\n                :store=\"store\"\n                :store-prop=\"storeProp\"\n                :discount=\"discount\"\n                @update=\"updateTax\"\n              />\n            </td>\n          </tr>\n        </tbody>\n      </table>\n    </td>\n  </tr>\n</template>\n\n<script setup>\nimport { computed, ref, inject } from 'vue'\nimport { useRoute } from 'vue-router'\nimport { useI18n } from 'vue-i18n'\nimport Guid from 'guid'\nimport TaxStub from '@/scripts/admin/stub/tax'\nimport ItemTax from './CreateItemRowTax.vue'\nimport { sumBy } from 'lodash'\nimport abilities from '@/scripts/admin/stub/abilities'\nimport {\n  required,\n  between,\n  maxLength,\n  helpers,\n  minValue,\n} from '@vuelidate/validators'\nimport useVuelidate from '@vuelidate/core'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\nimport { useItemStore } from '@/scripts/admin/stores/item'\nimport DragIcon from '@/scripts/components/icons/DragIcon.vue'\n\nconst props = defineProps({\n  store: {\n    type: Object,\n    default: null,\n  },\n  storeProp: {\n    type: String,\n    default: '',\n  },\n  itemData: {\n    type: Object,\n    default: null,\n  },\n  index: {\n    type: Number,\n    default: null,\n  },\n  type: {\n    type: String,\n    default: '',\n  },\n  loading: {\n    type: Boolean,\n    default: false,\n  },\n  currency: {\n    type: [Object, String],\n    required: true,\n  },\n  invoiceItems: {\n    type: Array,\n    required: true,\n  },\n  itemValidationScope: {\n    type: String,\n    default: '',\n  },\n})\n\nconst emit = defineEmits(['update', 'remove', 'itemValidate'])\n\nconst companyStore = useCompanyStore()\nconst itemStore = useItemStore()\n\nlet route = useRoute()\nconst { t } = useI18n()\n\nconst quantity = computed({\n  get: () => {\n    return props.itemData.quantity\n  },\n  set: (newValue) => {\n    updateItemAttribute('quantity', parseFloat(newValue))\n  },\n})\n\nconst price = computed({\n  get: () => {\n    const price = props.itemData.price\n\n    if (parseFloat(price) > 0) {\n      return price / 100\n    }\n\n    return price\n  },\n\n  set: (newValue) => {\n    if (parseFloat(newValue) > 0) {\n      let price = Math.round(newValue * 100)\n\n      updateItemAttribute('price', price)\n    } else {\n      updateItemAttribute('price', newValue)\n    }\n  },\n})\n\nconst subtotal = computed(() => props.itemData.price * props.itemData.quantity)\n\nconst discount = computed({\n  get: () => {\n    return props.itemData.discount\n  },\n  set: (newValue) => {\n    if (props.itemData.discount_type === 'percentage') {\n      updateItemAttribute('discount_val', (subtotal.value * newValue) / 100)\n    } else {\n      updateItemAttribute('discount_val', Math.round(newValue * 100))\n    }\n\n    updateItemAttribute('discount', newValue)\n  },\n})\n\nconst total = computed(() => {\n  return subtotal.value - props.itemData.discount_val\n})\n\nconst selectedCurrency = computed(() => {\n  if (props.currency) {\n    return props.currency\n  } else {\n    return companyStore.selectedCompanyCurrency\n  }\n})\n\nconst showRemoveButton = computed(() => {\n  if (props.store[props.storeProp].items.length == 1) {\n    return false\n  }\n  return true\n})\n\nconst totalSimpleTax = computed(() => {\n  return Math.round(\n    sumBy(props.itemData.taxes, function (tax) {\n      if (!tax.compound_tax) {\n        return tax.amount\n      }\n      return 0\n    })\n  )\n})\n\nconst totalCompoundTax = computed(() => {\n  return Math.round(\n    sumBy(props.itemData.taxes, function (tax) {\n      if (tax.compound_tax) {\n        return tax.amount\n      }\n      return 0\n    })\n  )\n})\n\nconst totalTax = computed(() => totalSimpleTax.value + totalCompoundTax.value)\n\nconst rules = {\n  name: {\n    required: helpers.withMessage(t('validation.required'), required),\n  },\n  quantity: {\n    required: helpers.withMessage(t('validation.required'), required),\n    minValue: helpers.withMessage(\n      t('validation.qty_must_greater_than_zero'),\n      minValue(0)\n    ),\n    maxLength: helpers.withMessage(\n      t('validation.amount_maxlength'),\n      maxLength(20)\n    ),\n  },\n  price: {\n    required: helpers.withMessage(t('validation.required'), required),\n    minValue: helpers.withMessage(\n      t('validation.number_length_minvalue'),\n      minValue(1)\n    ),\n    maxLength: helpers.withMessage(\n      t('validation.price_maxlength'),\n      maxLength(20)\n    ),\n  },\n  discount_val: {\n    between: helpers.withMessage(\n      t('validation.discount_maxlength'),\n      between(\n        0,\n        computed(() => subtotal.value)\n      )\n    ),\n  },\n  description: {\n    maxLength: helpers.withMessage(\n      t('validation.notes_maxlength'),\n      maxLength(65000)\n    ),\n  },\n}\n\nconst v$ = useVuelidate(\n  rules,\n  computed(() => props.store[props.storeProp].items[props.index]),\n  { $scope: props.itemValidationScope }\n)\n\n//\n// if (\n//   route.params.id &&\n//   (props.store[props.storeProp].tax_per_item === 'YES' || 'NO')\n// ) {\n//   if (props.store[props.storeProp].items[props.index].taxes === undefined) {\n//     props.store.$patch((state) => {\n//       state[props.storeProp].items[props.index].taxes = [\n//         { ...TaxStub, id: Guid.raw() },\n//       ]\n//     })\n//   }\n// }\n\nfunction updateTax(data) {\n  props.store.$patch((state) => {\n    state[props.storeProp].items[props.index]['taxes'][data.index] = data.item\n  })\n\n  let lastTax = props.itemData.taxes[props.itemData.taxes.length - 1]\n\n  if (lastTax?.tax_type_id !== 0) {\n    props.store.$patch((state) => {\n      state[props.storeProp].items[props.index].taxes.push({\n        ...TaxStub,\n        id: Guid.raw(),\n      })\n    })\n  }\n\n  syncItemToStore()\n}\n\nfunction searchVal(val) {\n  updateItemAttribute('name', val)\n}\n\nfunction onSelectItem(itm) {\n  props.store.$patch((state) => {\n    state[props.storeProp].items[props.index].name = itm.name\n    state[props.storeProp].items[props.index].price = itm.price\n    state[props.storeProp].items[props.index].item_id = itm.id\n    state[props.storeProp].items[props.index].description = itm.description\n\n    if (itm.unit) {\n      state[props.storeProp].items[props.index].unit_name = itm.unit.name\n    }\n\n    if (props.store[props.storeProp].tax_per_item === 'YES' && itm.taxes) {\n      let index = 0\n\n      itm.taxes.forEach((tax) => {\n        updateTax({ index, item: { ...tax } })\n        index++\n      })\n    }\n\n    if (state[props.storeProp].exchange_rate) {\n      state[props.storeProp].items[props.index].price /=\n        state[props.storeProp].exchange_rate\n    }\n  })\n\n  itemStore.fetchItems()\n  syncItemToStore()\n}\n\nfunction selectFixed() {\n  if (props.itemData.discount_type === 'fixed') {\n    return\n  }\n\n  updateItemAttribute('discount_val', Math.round(props.itemData.discount * 100))\n  updateItemAttribute('discount_type', 'fixed')\n}\n\nfunction selectPercentage() {\n  if (props.itemData.discount_type === 'percentage') {\n    return\n  }\n\n  updateItemAttribute(\n    'discount_val',\n    (subtotal.value * props.itemData.discount) / 100\n  )\n\n  updateItemAttribute('discount_type', 'percentage')\n}\n\nfunction syncItemToStore() {\n  let itemTaxes = props.store[props.storeProp]?.items[props.index]?.taxes\n\n  if (!itemTaxes) {\n    itemTaxes = []\n  }\n\n  let data = {\n    ...props.store[props.storeProp].items[props.index],\n    index: props.index,\n    total: total.value,\n    sub_total: subtotal.value,\n    totalSimpleTax: totalSimpleTax.value,\n    totalCompoundTax: totalCompoundTax.value,\n    totalTax: totalTax.value,\n    tax: totalTax.value,\n    taxes: [...itemTaxes],\n  }\n\n  props.store.updateItem(data)\n}\n\nfunction updateItemAttribute(attribute, value) {\n  props.store.$patch((state) => {\n    state[props.storeProp].items[props.index][attribute] = value\n  })\n\n  syncItemToStore()\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/estimate-invoice-common/CreateItemRowTax.vue",
    "content": "<template>\n  <div class=\"flex items-center justify-between mb-3\">\n    <div class=\"flex items-center text-base\" style=\"flex: 4\">\n      <label class=\"pr-2 mb-0\" align=\"right\">\n        {{ $t('invoices.item.tax') }}\n      </label>\n\n      <BaseMultiselect\n        v-model=\"selectedTax\"\n        value-prop=\"id\"\n        :options=\"filteredTypes\"\n        :placeholder=\"$t('general.select_a_tax')\"\n        open-direction=\"top\"\n        track-by=\"name\"\n        searchable\n        object\n        label=\"name\"\n        @update:modelValue=\"(val) => onSelectTax(val)\"\n      >\n        <template #singlelabel=\"{ value }\">\n          <div class=\"absolute left-3.5\">\n            {{ value.name }} - {{ value.percent }} %\n          </div>\n        </template>\n\n        <template #option=\"{ option }\">\n          {{ option.name }} - {{ option.percent }} %\n        </template>\n\n        <template v-if=\"userStore.hasAbilities(ability)\" #action>\n          <button\n            type=\"button\"\n            class=\"flex items-center justify-center w-full px-2 py-2 bg-gray-200 border-none outline-none cursor-pointer \"\n            @click=\"openTaxModal\"\n          >\n            <BaseIcon name=\"CheckCircleIcon\" class=\"h-5 text-primary-400\" />\n\n            <label\n              class=\"ml-2 text-sm leading-none cursor-pointer text-primary-400\"\n              >{{ $t('invoices.add_new_tax') }}</label\n            >\n          </button>\n        </template>\n      </BaseMultiselect>\n      <br />\n    </div>\n\n    <div class=\"text-sm text-right\" style=\"flex: 3\">\n      <BaseFormatMoney :amount=\"taxAmount\" :currency=\"currency\" />\n    </div>\n\n    <div class=\"flex items-center justify-center w-6 h-10 mx-2 cursor-pointer\">\n      <BaseIcon\n        v-if=\"taxes.length && index !== taxes.length - 1\"\n        name=\"TrashIcon\"\n        class=\"h-5 text-gray-700 cursor-pointer\"\n        @click=\"removeTax(index)\"\n      />\n    </div>\n  </div>\n</template>\n\n<script setup>\nimport { computed, ref, inject, reactive, watch } from 'vue'\nimport { useTaxTypeStore } from '@/scripts/admin/stores/tax-type'\nimport { useModalStore } from '@/scripts/stores/modal'\nimport { useI18n } from 'vue-i18n'\nimport { useUserStore } from '@/scripts/admin/stores/user'\n\nconst props = defineProps({\n  ability: {\n    type: String,\n    default: '',\n  },\n  store: {\n    type: Object,\n    default: null,\n  },\n  storeProp: {\n    type: String,\n    default: '',\n  },\n  itemIndex: {\n    type: Number,\n    required: true,\n  },\n  index: {\n    type: Number,\n    required: true,\n  },\n  taxData: {\n    type: Object,\n    required: true,\n  },\n  taxes: {\n    type: Array,\n    default: [],\n  },\n  total: {\n    type: Number,\n    default: 0,\n  },\n  totalTax: {\n    type: Number,\n    default: 0,\n  },\n  discountedTotal: {\n    type: Number,\n    default: 0,\n  },\n  currency: {\n    type: [Object, String],\n    required: true,\n  },\n  updateItems: {\n    type: Function,\n    default: () => {},\n  },\n})\n\nconst emit = defineEmits(['remove', 'update'])\n\nconst taxTypeStore = useTaxTypeStore()\nconst modalStore = useModalStore()\nconst userStore = useUserStore()\n\nconst selectedTax = ref(null)\nconst localTax = reactive({ ...props.taxData })\nconst utils = inject('utils')\nconst { t } = useI18n()\n\nconst filteredTypes = computed(() => {\n  const clonedTypes = taxTypeStore.taxTypes.map((a) => ({ ...a }))\n\n  return clonedTypes.map((taxType) => {\n    let found = props.taxes.find((tax) => tax.tax_type_id === taxType.id)\n\n    if (found) {\n      taxType.disabled = true\n    } else {\n      taxType.disabled = false\n    }\n\n    return taxType\n  })\n})\n\nconst taxAmount = computed(() => {\n  if (localTax.compound_tax && props.discountedTotal) {\n    return ((props.discountedTotal + props.totalTax) * localTax.percent) / 100\n  }\n\n  if (props.discountedTotal && localTax.percent) {\n    return (props.discountedTotal * localTax.percent) / 100\n  }\n\n  return 0\n})\n\nwatch(\n  () => props.discountedTotal,\n  () => {\n    updateRowTax()\n  }\n)\n\nwatch(\n  () => props.totalTax,\n  () => {\n    updateRowTax()\n  }\n)\n\n// Set SelectedTax\nif (props.taxData.tax_type_id > 0) {\n  selectedTax.value = taxTypeStore.taxTypes.find(\n    (_type) => _type.id === props.taxData.tax_type_id\n  )\n}\n\nupdateRowTax()\n\nfunction onSelectTax(val) {\n  localTax.percent = val.percent\n  localTax.tax_type_id = val.id\n  localTax.compound_tax = val.compound_tax\n  localTax.name = val.name\n\n  updateRowTax()\n}\n\nfunction updateRowTax() {\n  if (localTax.tax_type_id === 0) {\n    return\n  }\n\n  emit('update', {\n    index: props.index,\n    item: {\n      ...localTax,\n      amount: taxAmount.value,\n    },\n  })\n}\n\nfunction openTaxModal() {\n  let data = {\n    itemIndex: props.itemIndex,\n    taxIndex: props.index,\n  }\n\n  modalStore.openModal({\n    title: t('settings.tax_types.add_tax'),\n    componentName: 'TaxTypeModal',\n    data: data,\n    size: 'sm',\n  })\n}\n\nfunction removeTax(index) {\n  props.store.$patch((state) => {\n    state[props.storeProp].items[props.itemIndex].taxes.splice(index, 1)\n  })\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/estimate-invoice-common/CreateItems.vue",
    "content": "<template>\n  <table class=\"text-center item-table min-w-full\">\n    <colgroup>\n      <col style=\"width: 40%; min-width: 280px\" />\n      <col style=\"width: 10%; min-width: 120px\" />\n      <col style=\"width: 15%; min-width: 120px\" />\n      <col\n        v-if=\"store[storeProp].discount_per_item === 'YES'\"\n        style=\"width: 15%; min-width: 160px\"\n      />\n      <col style=\"width: 15%; min-width: 120px\" />\n    </colgroup>\n    <thead class=\"bg-white border border-gray-200 border-solid\">\n      <tr>\n        <th\n          class=\"\n            px-5\n            py-3\n            text-sm\n            not-italic\n            font-medium\n            leading-5\n            text-left text-gray-700\n            border-t border-b border-gray-200 border-solid\n          \"\n        >\n          <BaseContentPlaceholders v-if=\"isLoading\">\n            <BaseContentPlaceholdersText :lines=\"1\" class=\"w-16 h-5\" />\n          </BaseContentPlaceholders>\n          <span v-else class=\"pl-7\">\n            {{ $tc('items.item', 2) }}\n          </span>\n        </th>\n        <th\n          class=\"\n            px-5\n            py-3\n            text-sm\n            not-italic\n            font-medium\n            leading-5\n            text-right text-gray-700\n            border-t border-b border-gray-200 border-solid\n          \"\n        >\n          <BaseContentPlaceholders v-if=\"isLoading\">\n            <BaseContentPlaceholdersText :lines=\"1\" class=\"w-16 h-5\" />\n          </BaseContentPlaceholders>\n          <span v-else>\n            {{ $t('invoices.item.quantity') }}\n          </span>\n        </th>\n        <th\n          class=\"\n            px-5\n            py-3\n            text-sm\n            not-italic\n            font-medium\n            leading-5\n            text-left text-gray-700\n            border-t border-b border-gray-200 border-solid\n          \"\n        >\n          <BaseContentPlaceholders v-if=\"isLoading\">\n            <BaseContentPlaceholdersText :lines=\"1\" class=\"w-16 h-5\" />\n          </BaseContentPlaceholders>\n          <span v-else>\n            {{ $t('invoices.item.price') }}\n          </span>\n        </th>\n        <th\n          v-if=\"store[storeProp].discount_per_item === 'YES'\"\n          class=\"\n            px-5\n            py-3\n            text-sm\n            not-italic\n            font-medium\n            leading-5\n            text-left text-gray-700\n            border-t border-b border-gray-200 border-solid\n          \"\n        >\n          <BaseContentPlaceholders v-if=\"isLoading\">\n            <BaseContentPlaceholdersText :lines=\"1\" class=\"w-16 h-5\" />\n          </BaseContentPlaceholders>\n          <span v-else>\n            {{ $t('invoices.item.discount') }}\n          </span>\n        </th>\n        <th\n          class=\"\n            px-5\n            py-3\n            text-sm\n            not-italic\n            font-medium\n            leading-5\n            text-right text-gray-700\n            border-t border-b border-gray-200 border-solid\n          \"\n        >\n          <BaseContentPlaceholders v-if=\"isLoading\">\n            <BaseContentPlaceholdersText :lines=\"1\" class=\"w-16 h-5\" />\n          </BaseContentPlaceholders>\n          <span v-else class=\"pr-10 column-heading\">\n            {{ $t('invoices.item.amount') }}\n          </span>\n        </th>\n      </tr>\n    </thead>\n    <draggable\n      v-model=\"store[storeProp].items\"\n      item-key=\"id\"\n      tag=\"tbody\"\n      handle=\".handle\"\n    >\n      <template #item=\"{ element, index }\">\n        <Item\n          :key=\"element.id\"\n          :index=\"index\"\n          :item-data=\"element\"\n          :loading=\"isLoading\"\n          :currency=\"defaultCurrency\"\n          :item-validation-scope=\"itemValidationScope\"\n          :invoice-items=\"store[storeProp].items\"\n          :store=\"store\"\n          :store-prop=\"storeProp\"\n        />\n      </template>\n    </draggable>\n  </table>\n\n  <div\n    class=\"\n      flex\n      items-center\n      justify-center\n      w-full\n      px-6\n      py-3\n      text-base\n      border border-t-0 border-gray-200 border-solid\n      cursor-pointer\n      text-primary-400\n      hover:bg-primary-100\n    \"\n    @click=\"store.addItem\"\n  >\n    <BaseIcon name=\"PlusCircleIcon\" class=\"mr-2\" />\n    {{ $t('general.add_new_item') }}\n  </div>\n</template>\n\n<script setup>\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\nimport { computed } from 'vue'\nimport draggable from 'vuedraggable'\nimport Item from './CreateItemRow.vue'\n\nconst props = defineProps({\n  store: {\n    type: Object,\n    default: null,\n  },\n  storeProp: {\n    type: String,\n    default: '',\n  },\n  currency: {\n    type: [Object, String, null],\n    required: true,\n  },\n  isLoading: {\n    type: Boolean,\n    default: false,\n  },\n  itemValidationScope: {\n    type: String,\n    default: '',\n  },\n})\n\nconst companyStore = useCompanyStore()\n\nconst defaultCurrency = computed(() => {\n  if (props.currency) {\n    return props.currency\n  } else {\n    return companyStore.selectedCompanyCurrency\n  }\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/estimate-invoice-common/CreateNotesField.vue",
    "content": "<template>\n  <div class=\"mb-6\">\n    <div\n      class=\"z-20 text-sm font-semibold leading-5 text-primary-400 float-right\"\n    >\n      <SelectNotePopup :type=\"type\" @select=\"onSelectNote\" />\n    </div>\n    <label class=\"text-gray-800 font-medium mb-4 text-sm\">\n      {{ $t('invoices.notes') }}\n    </label>\n    <BaseCustomInput\n      v-model=\"store[storeProp].notes\"\n      :content-loading=\"store.isFetchingInitialSettings\"\n      :fields=\"fields\"\n      class=\"mt-1\"\n    />\n  </div>\n</template>\n\n<script setup>\nimport { ref } from 'vue'\nimport SelectNotePopup from '../SelectNotePopup.vue'\n\nconst props = defineProps({\n  store: {\n    type: Object,\n    default: null,\n  },\n  storeProp: {\n    type: String,\n    default: '',\n  },\n  fields: {\n    type: Object,\n    default: null,\n  },\n  type: {\n    type: String,\n    default: null,\n  },\n})\n\nfunction onSelectNote(data) {\n  props.store[props.storeProp].notes = '' + data.notes\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/estimate-invoice-common/CreateTotal.vue",
    "content": "<template>\n  <div\n    class=\"\n      px-5\n      py-4\n      mt-6\n      bg-white\n      border border-gray-200 border-solid\n      rounded\n      md:min-w-[390px]\n      min-w-[300px]\n      lg:mt-7\n    \"\n  >\n    <div class=\"flex items-center justify-between w-full\">\n      <BaseContentPlaceholders v-if=\"isLoading\">\n        <BaseContentPlaceholdersText :lines=\"1\" class=\"w-16 h-5\" />\n      </BaseContentPlaceholders>\n      <label\n        v-else\n        class=\"text-sm font-semibold leading-5 text-gray-400 uppercase\"\n      >\n        {{ $t('estimates.sub_total') }}\n      </label>\n\n      <BaseContentPlaceholders v-if=\"isLoading\">\n        <BaseContentPlaceholdersText :lines=\"1\" class=\"w-16 h-5\" />\n      </BaseContentPlaceholders>\n\n      <label\n        v-else\n        class=\"flex items-center justify-center m-0 text-lg text-black uppercase \"\n      >\n        <BaseFormatMoney\n          :amount=\"store.getSubTotal\"\n          :currency=\"defaultCurrency\"\n        />\n      </label>\n    </div>\n\n    <div\n      v-for=\"tax in itemWiseTaxes\"\n      :key=\"tax.tax_type_id\"\n      class=\"flex items-center justify-between w-full\"\n    >\n      <BaseContentPlaceholders v-if=\"isLoading\">\n        <BaseContentPlaceholdersText :lines=\"1\" class=\"w-16 h-5\" />\n      </BaseContentPlaceholders>\n      <label\n        v-else-if=\"store[storeProp].tax_per_item === 'YES'\"\n        class=\"m-0 text-sm font-semibold leading-5 text-gray-500 uppercase\"\n      >\n        {{ tax.name }} - {{ tax.percent }}%\n      </label>\n\n      <BaseContentPlaceholders v-if=\"isLoading\">\n        <BaseContentPlaceholdersText :lines=\"1\" class=\"w-16 h-5\" />\n      </BaseContentPlaceholders>\n\n      <label\n        v-else-if=\"store[storeProp].tax_per_item === 'YES'\"\n        class=\"flex items-center justify-center m-0 text-lg text-black uppercase \"\n      >\n        <BaseFormatMoney :amount=\"tax.amount\" :currency=\"defaultCurrency\" />\n      </label>\n    </div>\n\n    <div\n      v-if=\"\n        store[storeProp].discount_per_item === 'NO' ||\n        store[storeProp].discount_per_item === null\n      \"\n      class=\"flex items-center justify-between w-full mt-2\"\n    >\n      <BaseContentPlaceholders v-if=\"isLoading\">\n        <BaseContentPlaceholdersText :lines=\"1\" class=\"w-16 h-5\" />\n      </BaseContentPlaceholders>\n      <label\n        v-else\n        class=\"text-sm font-semibold leading-5 text-gray-400 uppercase\"\n      >\n        {{ $t('estimates.discount') }}\n      </label>\n      <BaseContentPlaceholders v-if=\"isLoading\">\n        <BaseContentPlaceholdersText\n          :lines=\"1\"\n          class=\"w-24 h-8 border rounded-md\"\n        />\n      </BaseContentPlaceholders>\n      <div v-else class=\"flex\" style=\"width: 140px\" role=\"group\">\n        <BaseInput\n          v-model=\"totalDiscount\"\n          class=\"\n            border-r-0\n            focus:border-r-2\n            rounded-tr-sm rounded-br-sm\n            h-[38px]\n          \"\n        />\n        <BaseDropdown position=\"bottom-end\">\n          <template #activator>\n            <BaseButton\n              class=\"p-2 rounded-none rounded-tr-md rounded-br-md\"\n              type=\"button\"\n              variant=\"white\"\n            >\n              <span class=\"flex items-center\">\n                {{\n                  store[storeProp].discount_type == 'fixed'\n                    ? defaultCurrency.symbol\n                    : '%'\n                }}\n\n                <BaseIcon\n                  name=\"ChevronDownIcon\"\n                  class=\"w-4 h-4 ml-1 text-gray-500\"\n                />\n              </span>\n            </BaseButton>\n          </template>\n\n          <BaseDropdownItem @click=\"selectFixed\">\n            {{ $t('general.fixed') }}\n          </BaseDropdownItem>\n\n          <BaseDropdownItem @click=\"selectPercentage\">\n            {{ $t('general.percentage') }}\n          </BaseDropdownItem>\n        </BaseDropdown>\n      </div>\n    </div>\n\n    <div\n      v-if=\"\n        store[storeProp].tax_per_item === 'NO' ||\n        store[storeProp].tax_per_item === null\n      \"\n    >\n      <Tax\n        v-for=\"(tax, index) in taxes\"\n        :key=\"tax.id\"\n        :index=\"index\"\n        :tax=\"tax\"\n        :taxes=\"taxes\"\n        :currency=\"currency\"\n        :store=\"store\"\n        @remove=\"removeTax\"\n        @update=\"updateTax\"\n      />\n    </div>\n\n    <div\n      v-if=\"\n        store[storeProp].tax_per_item === 'NO' ||\n        store[storeProp].tax_per_item === null\n      \"\n      ref=\"taxModal\"\n      class=\"float-right pt-2 pb-4\"\n    >\n      <SelectTaxPopup\n        :store-prop=\"storeProp\"\n        :store=\"store\"\n        :type=\"taxPopupType\"\n        @select:taxType=\"onSelectTax\"\n      />\n    </div>\n\n    <div\n      class=\"flex items-center justify-between w-full pt-2 mt-5 border-t border-gray-200 border-solid \"\n    >\n      <BaseContentPlaceholders v-if=\"isLoading\">\n        <BaseContentPlaceholdersText :lines=\"1\" class=\"w-16 h-5\" />\n      </BaseContentPlaceholders>\n      <label\n        v-else\n        class=\"m-0 text-sm font-semibold leading-5 text-gray-400 uppercase\"\n        >{{ $t('estimates.total') }} {{ $t('estimates.amount') }}:</label\n      >\n\n      <BaseContentPlaceholders v-if=\"isLoading\">\n        <BaseContentPlaceholdersText :lines=\"1\" class=\"w-16 h-5\" />\n      </BaseContentPlaceholders>\n      <label\n        v-else\n        class=\"flex items-center justify-center text-lg uppercase  text-primary-400\"\n      >\n        <BaseFormatMoney :amount=\"store.getTotal\" :currency=\"defaultCurrency\" />\n      </label>\n    </div>\n  </div>\n</template>\n\n<script setup>\nimport { computed, inject, ref } from 'vue'\nimport Guid from 'guid'\nimport Tax from './CreateTotalTaxes.vue'\nimport TaxStub from '@/scripts/admin/stub/abilities'\nimport SelectTaxPopup from './SelectTaxPopup.vue'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\n\nconst taxModal = ref(null)\n\nconst props = defineProps({\n  store: {\n    type: Object,\n    default: null,\n  },\n  storeProp: {\n    type: String,\n    default: '',\n  },\n  taxPopupType: {\n    type: String,\n    default: '',\n  },\n  currency: {\n    type: [Object, String],\n    default: '',\n  },\n  isLoading: {\n    type: Boolean,\n    default: false,\n  },\n})\n\nconst utils = inject('$utils')\n\nconst companyStore = useCompanyStore()\n\nconst totalDiscount = computed({\n  get: () => {\n    return props.store[props.storeProp].discount\n  },\n  set: (newValue) => {\n    if (props.store[props.storeProp].discount_type === 'percentage') {\n      props.store[props.storeProp].discount_val = Math.round(\n        (props.store.getSubTotal * newValue) / 100\n      )\n    } else {\n      props.store[props.storeProp].discount_val = Math.round(newValue * 100)\n    }\n    props.store[props.storeProp].discount = newValue\n  },\n})\n\nconst taxes = computed({\n  get: () => props.store[props.storeProp].taxes,\n  set: (value) => {\n    props.store.$patch((state) => {\n      state[props.storeProp].taxes = value\n    })\n  },\n})\n\nconst itemWiseTaxes = computed(() => {\n  let taxes = []\n  props.store[props.storeProp].items.forEach((item) => {\n    if (item.taxes) {\n      item.taxes.forEach((tax) => {\n        let found = taxes.find((_tax) => {\n          return _tax.tax_type_id === tax.tax_type_id\n        })\n        if (found) {\n          found.amount += tax.amount\n        } else if (tax.tax_type_id) {\n          taxes.push({\n            tax_type_id: tax.tax_type_id,\n            amount: tax.amount,\n            percent: tax.percent,\n            name: tax.name,\n          })\n        }\n      })\n    }\n  })\n  return taxes\n})\n\nconst defaultCurrency = computed(() => {\n  if (props.currency) {\n    return props.currency\n  } else {\n    return companyStore.selectedCompanyCurrency\n  }\n})\n\nfunction selectFixed() {\n  if (props.store[props.storeProp].discount_type === 'fixed') {\n    return\n  }\n  props.store[props.storeProp].discount_val = Math.round(\n    props.store[props.storeProp].discount * 100\n  )\n  props.store[props.storeProp].discount_type = 'fixed'\n}\n\nfunction selectPercentage() {\n  if (props.store[props.storeProp].discount_type === 'percentage') {\n    return\n  }\n  props.store[props.storeProp].discount_val =\n    (props.store.getSubTotal * props.store[props.storeProp].discount) / 100\n  props.store[props.storeProp].discount_type = 'percentage'\n}\n\nfunction onSelectTax(selectedTax) {\n  let amount = 0\n\n  if (selectedTax.compound_tax && props.store.getSubtotalWithDiscount) {\n    amount = Math.round(\n      ((props.store.getSubtotalWithDiscount + props.store.getTotalSimpleTax) *\n        selectedTax.percent) /\n        100\n    )\n  } else if (props.store.getSubtotalWithDiscount && selectedTax.percent) {\n    amount = Math.round(\n      (props.store.getSubtotalWithDiscount * selectedTax.percent) / 100\n    )\n  }\n\n  let data = {\n    ...TaxStub,\n    id: Guid.raw(),\n    name: selectedTax.name,\n    percent: selectedTax.percent,\n    compound_tax: selectedTax.compound_tax,\n    tax_type_id: selectedTax.id,\n    amount,\n  }\n  props.store.$patch((state) => {\n    state[props.storeProp].taxes.push({ ...data })\n  })\n}\n\nfunction updateTax(data) {\n  const tax = props.store[props.storeProp].taxes.find(\n    (tax) => tax.id === data.id\n  )\n  if (tax) {\n    Object.assign(tax, { ...data })\n  }\n}\n\nfunction removeTax(id) {\n  const index = props.store[props.storeProp].taxes.findIndex(\n    (tax) => tax.id === id\n  )\n\n  props.store.$patch((state) => {\n    state[props.storeProp].taxes.splice(index, 1)\n  })\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/estimate-invoice-common/CreateTotalTaxes.vue",
    "content": "<template>\n  <div class=\"flex items-center justify-between w-full mt-2 text-sm\">\n    <label class=\"font-semibold leading-5 text-gray-500 uppercase\">\n      {{ tax.name }} ({{ tax.percent }} %)\n    </label>\n    <label class=\"flex items-center justify-center text-lg text-black\">\n      <BaseFormatMoney :amount=\"tax.amount\" :currency=\"currency\" />\n\n      <BaseIcon\n        name=\"TrashIcon\"\n        class=\"h-5 ml-2 cursor-pointer\"\n        @click=\"$emit('remove', tax.id)\"\n      />\n    </label>\n  </div>\n</template>\n\n<script setup>\nimport { computed, watch, inject, watchEffect } from 'vue'\n\nconst props = defineProps({\n  index: {\n    type: Number,\n    required: true,\n  },\n  tax: {\n    type: Object,\n    required: true,\n  },\n  taxes: {\n    type: Array,\n    required: true,\n  },\n  currency: {\n    type: [Object, String],\n    required: true,\n  },\n  store: {\n    type: Object,\n    default: null,\n  },\n  data: {\n    type: String,\n    default: '',\n  },\n})\n\nconst emit = defineEmits(['update', 'remove'])\n\nconst utils = inject('$utils')\n\nconst taxAmount = computed(() => {\n  if (props.tax.compound_tax && props.store.getSubtotalWithDiscount) {\n    return Math.round(\n      ((props.store.getSubtotalWithDiscount + props.store.getTotalSimpleTax) *\n        props.tax.percent) /\n        100\n    )\n  }\n  if (props.store.getSubtotalWithDiscount && props.tax.percent) {\n    return Math.round(\n      (props.store.getSubtotalWithDiscount * props.tax.percent) / 100\n    )\n  }\n  return 0\n})\n\nwatchEffect(() => {\n  if (props.store.getSubtotalWithDiscount) {\n    updateTax()\n  }\n  if (props.store.getTotalSimpleTax) {\n    updateTax()\n  }\n})\n\nfunction updateTax() {\n  emit('update', {\n    ...props.tax,\n    amount: taxAmount.value,\n  })\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/estimate-invoice-common/ExchangeRateConverter.vue",
    "content": "<template>\n  <BaseInputGroup\n    v-if=\"store.showExchangeRate && selectedCurrency\"\n    :content-loading=\"isFetching && !isEdit\"\n    :label=\"$t('settings.exchange_rate.exchange_rate')\"\n    :error=\"v.exchange_rate.$error && v.exchange_rate.$errors[0].$message\"\n    required\n  >\n    <template #labelRight>\n      <div v-if=\"hasActiveProvider && isEdit\">\n        <BaseIcon\n          v-tooltip=\"{ content: 'Fetch Latest Exchange rate' }\"\n          name=\"RefreshIcon\"\n          :class=\"`h-4 w-4 text-primary-500 cursor-pointer outline-none ${\n            isFetching\n              ? ' animate-spin rotate-180 cursor-not-allowed pointer-events-none '\n              : ''\n          }`\"\n          @click=\"getCurrenctExchangeRate(customerCurrency)\"\n        />\n      </div>\n    </template>\n    <BaseInput\n      v-model=\"store[storeProp].exchange_rate\"\n      :content-loading=\"isFetching && !isEdit\"\n      :addon=\"`1 ${selectedCurrency.code} =`\"\n      :disabled=\"isFetching\"\n      @input=\"v.exchange_rate.$touch()\"\n    >\n      <template #right>\n        <span class=\"text-gray-500 sm:text-sm\">\n          {{ companyCurrency.code }}\n        </span>\n      </template>\n    </BaseInput>\n    <span class=\"text-gray-400 text-xs mt-2 font-light\">\n      {{\n        $t('settings.exchange_rate.exchange_help_text', {\n          currency: selectedCurrency.code,\n          baseCurrency: companyCurrency.code,\n        })\n      }}\n    </span>\n  </BaseInputGroup>\n</template>\n\n<script setup>\nimport { watch, computed, ref, onBeforeUnmount } from 'vue'\nimport { useGlobalStore } from '@/scripts/admin/stores/global'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\nimport { useExchangeRateStore } from '@/scripts/admin/stores/exchange-rate'\n\nconst props = defineProps({\n  v: {\n    type: Object,\n    default: null,\n  },\n  isLoading: {\n    type: Boolean,\n    default: false,\n  },\n  store: {\n    type: Object,\n    default: null,\n  },\n  storeProp: {\n    type: String,\n    default: '',\n  },\n  isEdit: {\n    type: Boolean,\n    default: false,\n  },\n  customerCurrency: {\n    type: [String, Number],\n    default: null,\n  },\n})\nconst globalStore = useGlobalStore()\nconst companyStore = useCompanyStore()\nconst exchangeRateStore = useExchangeRateStore()\nconst hasActiveProvider = ref(false)\nlet isFetching = ref(false)\n\nglobalStore.fetchCurrencies()\n\nconst companyCurrency = computed(() => {\n  return companyStore.selectedCompanyCurrency\n})\n\nconst selectedCurrency = computed(() => {\n  return globalStore.currencies.find(\n    (c) => c.id === props.store[props.storeProp].currency_id\n  )\n})\n\nconst isCurrencyDiffrent = computed(() => {\n  return companyCurrency.value.id !== props.customerCurrency\n})\n\nwatch(\n  () => props.store[props.storeProp].customer,\n  (v) => {\n    setCustomerCurrency(v)\n  },\n  { deep: true }\n)\n\nwatch(\n  () => props.store[props.storeProp].currency_id,\n  (v) => {\n    onChangeCurrency(v)\n  },\n  { immediate: true }\n)\nwatch(\n  () => props.customerCurrency,\n  (v) => {\n    if (v && props.isEdit) {\n      checkForActiveProvider(v)\n    }\n  },\n  { immediate: true }\n)\n\nfunction checkForActiveProvider() {\n  if (isCurrencyDiffrent.value) {\n    exchangeRateStore\n      .checkForActiveProvider(props.customerCurrency)\n      .then((res) => {\n        if (res.data.success) {\n          hasActiveProvider.value = true\n        }\n      })\n  }\n}\n\nfunction setCustomerCurrency(v) {\n  if (v) {\n    props.store[props.storeProp].currency_id = v.currency.id\n  } else {\n    props.store[props.storeProp].currency_id = companyCurrency.value.id\n  }\n}\n\nasync function onChangeCurrency(v) {\n  if (v !== companyCurrency.value.id) {\n    if (!props.isEdit && v) {\n      await getCurrenctExchangeRate(v)\n    }\n\n    props.store.showExchangeRate = true\n  } else {\n    props.store.showExchangeRate = false\n  }\n}\n\nfunction getCurrenctExchangeRate(v) {\n  isFetching.value = true\n  exchangeRateStore\n    .getCurrentExchangeRate(v)\n    .then((res) => {\n      if (res.data && !res.data.error) {\n        props.store[props.storeProp].exchange_rate = res.data.exchangeRate[0]\n      } else {\n        props.store[props.storeProp].exchange_rate = ''\n      }\n      isFetching.value = false\n    })\n    .catch((err) => {\n      isFetching.value = false\n    })\n}\n\nonBeforeUnmount(() => {\n  props.store.showExchangeRate = false\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/estimate-invoice-common/SalesTax.vue",
    "content": "<template>\n  <TaxationAddressModal @addTax=\"addSalesTax\" />\n</template>\n\n<script setup>\nimport {} from '@/scripts/admin/stores/recurring-invoice'\nimport { useModalStore } from '@/scripts/stores/modal'\nimport { computed, watch, onMounted, ref, reactive } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\nimport { useTaxTypeStore } from '@/scripts/admin/stores/tax-type'\nimport TaxationAddressModal from '@/scripts/admin/components/modal-components/TaxationAddressModal.vue'\nconst SALES_TAX_US = 'Sales Tax'\nconst SALES_TAX_MODULE = 'MODULE'\nconst modalStore = useModalStore()\nconst companyStore = useCompanyStore()\nconst taxTypeStore = useTaxTypeStore()\nconst { t } = useI18n()\nimport { isEqual, pick } from 'lodash'\n\nconst fetchingTax = ref(false)\n\nconst props = defineProps({\n  isEdit: {\n    type: Boolean,\n    default: null,\n  },\n  type: {\n    type: String,\n    default: null,\n  },\n  customer: {\n    type: [Object],\n    default: null,\n  },\n  store: {\n    type: Object,\n    default: null,\n  },\n  storeProp: {\n    type: String,\n    default: null,\n  },\n})\n\nconst isSalesTaxTypeBilling = computed(() => {\n  return props.isEdit\n    ? props.store[props.storeProp].sales_tax_address_type === 'billing'\n    : companyStore.selectedCompanySettings.sales_tax_address_type === 'billing'\n})\n\nconst salesTaxEnabled = computed(() => {\n  return companyStore.selectedCompanySettings.sales_tax_us_enabled === 'YES'\n})\n\nconst salesTaxCustomerLevel = computed(() => {\n  return props.isEdit\n    ? props.store[props.storeProp].sales_tax_type === 'customer_level'\n    : companyStore.selectedCompanySettings.sales_tax_type === 'customer_level'\n})\n\nconst salesTaxCompanyLevel = computed(() => {\n  return props.isEdit\n    ? props.store[props.storeProp].sales_tax_type === 'company_level'\n    : companyStore.selectedCompanySettings.sales_tax_type === 'company_level'\n})\n\nconst addressData = computed(() => {\n  if (salesTaxCustomerLevel.value && isAddressAvailable.value) {\n    let address = isSalesTaxTypeBilling.value\n      ? props.customer.billing\n      : props.customer.shipping\n    return {\n      address: pick(address, ['address_street_1', 'city', 'state', 'zip']),\n      customer_id: props.customer.id,\n    }\n  } else if (salesTaxCompanyLevel.value && isAddressAvailable.value) {\n    return {\n      address: pick(address, ['address_street_1', 'city', 'state', 'zip']),\n    }\n  }\n})\n\nconst isAddressAvailable = computed(() => {\n  if (salesTaxCustomerLevel.value) {\n    let address = isSalesTaxTypeBilling.value\n      ? props.customer?.billing\n      : props.customer?.shipping\n\n    return hasAddress(address)\n  } else if (salesTaxCompanyLevel.value) {\n    return hasAddress(companyStore.selectedCompany.address)\n  }\n  return false\n})\n\nwatch(\n  () => props.customer,\n  (v, o) => {\n    if (v && o && salesTaxCustomerLevel.value) {\n      // call if customer changed address\n      isCustomerAddressChanged(v, o)\n      return\n    }\n    if (!isAddressAvailable.value && salesTaxCustomerLevel.value && v) {\n      setTimeout(() => {\n        openAddressModal()\n      }, 500)\n    } else if (salesTaxCustomerLevel.value && v) {\n      fetchSalesTax()\n    } else if (salesTaxCustomerLevel.value && !v) {\n      removeSalesTax()\n    }\n  }\n)\n\n// Open modal for company address\nonMounted(() => {\n  if (salesTaxCompanyLevel.value) {\n    isAddressAvailable.value ? fetchSalesTax() : openAddressModal()\n  }\n})\n\nfunction hasAddress(address) {\n  if (!address) return false\n\n  return (\n    address.address_street_1 && address.city && address.state && address.zip\n  )\n}\n\nfunction isCustomerAddressChanged(newV, oldV) {\n  const newData = isSalesTaxTypeBilling.value ? newV.billing : newV.shipping\n  const oldData = isSalesTaxTypeBilling.value ? oldV.billing : oldV.shipping\n\n  const newAdd = pick(newData, ['address_street_1', 'city', 'state', 'zip'])\n  const oldAdd = pick(oldData, ['address_street_1', 'city', 'state', 'zip'])\n  !isEqual(newAdd, oldAdd) ? fetchSalesTax() : ''\n}\n\nfunction openAddressModal() {\n  if (!salesTaxEnabled.value) return\n  let modalData = null\n  let title = ''\n  if (salesTaxCustomerLevel.value) {\n    if (isSalesTaxTypeBilling.value) {\n      modalData = props.customer?.billing\n      title = t('settings.taxations.add_billing_address')\n    } else {\n      modalData = props.customer?.shipping\n      title = t('settings.taxations.add_shipping_address')\n    }\n  } else {\n    modalData = companyStore.selectedCompany.address\n    title = t('settings.taxations.add_company_address')\n  }\n\n  modalStore.openModal({\n    title: title,\n    content: t('settings.taxations.modal_description'),\n    componentName: 'TaxationAddressModal',\n    data: modalData,\n    id: salesTaxCustomerLevel.value ? props.customer.id : '',\n  })\n}\n\nasync function fetchSalesTax() {\n  if (!salesTaxEnabled.value) return\n\n  fetchingTax.value = true\n  await taxTypeStore\n    .fetchSalesTax(addressData.value)\n    .then((res) => {\n      addSalesTax(res.data.data)\n      fetchingTax.value = false\n    })\n    .catch((err) => {\n      if (err.response.data.error) {\n        setTimeout(() => {\n          openAddressModal()\n        }, 500)\n      }\n      fetchingTax.value = false\n    })\n}\n\nfunction addSalesTax(tax) {\n  tax.tax_type_id = tax.id\n\n  const i = props.store[props.storeProp].taxes.findIndex(\n    (_t) => _t.name === SALES_TAX_US && _t.type === SALES_TAX_MODULE\n  )\n\n  if (i > -1) {\n    Object.assign(props.store[props.storeProp].taxes[i], tax)\n  } else {\n    props.store[props.storeProp].taxes.push(tax)\n  }\n}\n\nfunction removeSalesTax() {\n  // remove from total taxes\n  const i = props.store[props.storeProp].taxes.findIndex(\n    (_t) => _t.name === SALES_TAX_US && _t.type === SALES_TAX_MODULE\n  )\n  i > -1 ? props.store[props.storeProp].taxes.splice(i, 1) : ''\n\n  //  remove from tax-type list\n  let pos = taxTypeStore.taxTypes.findIndex(\n    (_t) => _t.name === SALES_TAX_US && _t.type === SALES_TAX_MODULE\n  )\n\n  pos > -1 ? taxTypeStore.taxTypes.splice(pos, 1) : ''\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/estimate-invoice-common/SelectTaxPopup.vue",
    "content": "<template>\n  <div class=\"w-full mt-4 tax-select\">\n    <Popover v-slot=\"{ isOpen }\" class=\"relative\">\n      <PopoverButton\n        :class=\"isOpen ? '' : 'text-opacity-90'\"\n        class=\"\n          flex\n          items-center\n          text-sm\n          font-medium\n          text-primary-400\n          focus:outline-none focus:border-none\n        \"\n      >\n        <BaseIcon\n          name=\"PlusIcon\"\n          class=\"w-4 h-4 font-medium text-primary-400\"\n        />\n        {{ $t('settings.tax_types.add_tax') }}\n      </PopoverButton>\n\n      <!-- Tax Select Popup -->\n      <div class=\"relative w-full max-w-md px-4\">\n        <transition\n          enter-active-class=\"transition duration-200 ease-out\"\n          enter-from-class=\"translate-y-1 opacity-0\"\n          enter-to-class=\"translate-y-0 opacity-100\"\n          leave-active-class=\"transition duration-150 ease-in\"\n          leave-from-class=\"translate-y-0 opacity-100\"\n          leave-to-class=\"translate-y-1 opacity-0\"\n        >\n          <PopoverPanel\n            v-slot=\"{ close }\"\n            style=\"min-width: 350px; margin-left: 62px; top: -28px\"\n            class=\"absolute z-10 px-4 py-2 -translate-x-full sm:px-0\"\n          >\n            <div\n              class=\"\n                overflow-hidden\n                rounded-md\n                shadow-lg\n                ring-1 ring-black ring-opacity-5\n              \"\n            >\n              <!-- Tax Search Input  -->\n\n              <div class=\"relative bg-white\">\n                <div class=\"relative p-4\">\n                  <BaseInput\n                    v-model=\"textSearch\"\n                    :placeholder=\"$t('general.search')\"\n                    type=\"text\"\n                    class=\"text-black\"\n                  >\n                  </BaseInput>\n                </div>\n\n                <!-- List of Taxes  -->\n                <div\n                  v-if=\"filteredTaxType.length > 0\"\n                  class=\"\n                    relative\n                    flex flex-col\n                    overflow-auto\n                    list\n                    max-h-36\n                    border-t border-gray-200\n                  \"\n                >\n                  <div\n                    v-for=\"(taxType, index) in filteredTaxType\"\n                    :key=\"index\"\n                    :class=\"{\n                      'bg-gray-100 cursor-not-allowed opacity-50 pointer-events-none':\n                        taxes.find((val) => {\n                          return val.tax_type_id === taxType.id\n                        }),\n                    }\"\n                    tabindex=\"2\"\n                    class=\"\n                      px-6\n                      py-4\n                      border-b border-gray-200 border-solid\n                      cursor-pointer\n                      hover:bg-gray-100 hover:cursor-pointer\n                      last:border-b-0\n                    \"\n                    @click=\"selectTaxType(taxType, close)\"\n                  >\n                    <div class=\"flex justify-between px-2\">\n                      <label\n                        class=\"\n                          m-0\n                          text-base\n                          font-semibold\n                          leading-tight\n                          text-gray-700\n                          cursor-pointer\n                        \"\n                      >\n                        {{ taxType.name }}\n                      </label>\n\n                      <label\n                        class=\"\n                          m-0\n                          text-base\n                          font-semibold\n                          text-gray-700\n                          cursor-pointer\n                        \"\n                      >\n                        {{ taxType.percent }} %\n                      </label>\n                    </div>\n                  </div>\n                </div>\n\n                <div v-else class=\"flex justify-center p-5 text-gray-400\">\n                  <label class=\"text-base text-gray-500 cursor-pointer\">\n                    {{ $t('general.no_tax_found') }}\n                  </label>\n                </div>\n              </div>\n\n              <!-- Add new Tax action -->\n              <button\n                v-if=\"userStore.hasAbilities(abilities.CREATE_TAX_TYPE)\"\n                type=\"button\"\n                class=\"\n                  flex\n                  items-center\n                  justify-center\n                  w-full\n                  h-10\n                  px-2\n                  py-3\n                  bg-gray-200\n                  border-none\n                  outline-none\n                \"\n                @click=\"openTaxTypeModal\"\n              >\n                <BaseIcon name=\"CheckCircleIcon\" class=\"text-primary-400\" />\n                <label\n                  class=\"\n                    m-0\n                    ml-3\n                    text-sm\n                    leading-none\n                    cursor-pointer\n                    font-base\n                    text-primary-400\n                  \"\n                >\n                  {{ $t('estimates.add_new_tax') }}\n                </label>\n              </button>\n            </div>\n          </PopoverPanel>\n        </transition>\n      </div>\n    </Popover>\n  </div>\n</template>\n\n<script setup>\nimport { Popover, PopoverButton, PopoverPanel } from '@headlessui/vue'\nimport { computed, ref, inject, onMounted } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { useEstimateStore } from '@/scripts/admin/stores/estimate'\nimport { useInvoiceStore } from '@/scripts/admin/stores/invoice'\nimport { useModalStore } from '@/scripts/stores/modal'\nimport { useTaxTypeStore } from '@/scripts/admin/stores/tax-type'\nimport { useUserStore } from '@/scripts/admin/stores/user'\nimport abilities from '@/scripts/admin/stub/abilities'\n\nconst props = defineProps({\n  type: {\n    type: String,\n    default: null,\n  },\n  store: {\n    type: Object,\n    default: null,\n  },\n  storeProp: {\n    type: String,\n    default: '',\n  },\n})\n\nconst emit = defineEmits(['select:taxType'])\n\nconst modalStore = useModalStore()\nconst taxTypeStore = useTaxTypeStore()\nconst userStore = useUserStore()\n\nconst { t } = useI18n()\nconst textSearch = ref(null)\n\nconst filteredTaxType = computed(() => {\n  if (textSearch.value) {\n    return taxTypeStore.taxTypes.filter(function (el) {\n      return (\n        el.name.toLowerCase().indexOf(textSearch.value.toLowerCase()) !== -1\n      )\n    })\n  } else {\n    return taxTypeStore.taxTypes\n  }\n})\n\nconst taxes = computed(() => {\n  return props.store[props.storeProp].taxes\n})\n\nfunction selectTaxType(data, close) {\n  emit('select:taxType', { ...data })\n  close()\n}\n\nfunction openTaxTypeModal() {\n  modalStore.openModal({\n    title: t('settings.tax_types.add_tax'),\n    componentName: 'TaxTypeModal',\n    size: 'sm',\n    refreshData: (data) => emit('select:taxType', data),\n  })\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/estimate-invoice-common/SelectTemplateButton.vue",
    "content": "<template>\n  <div>\n    <label class=\"flex text-gray-800 font-medium text-sm mb-2\">\n      {{ $t('general.select_template') }}\n      <span class=\"text-sm text-red-500\"> *</span>\n    </label>\n    <BaseButton\n      type=\"button\"\n      class=\"flex justify-center w-full text-sm lg:w-auto hover:bg-gray-200\"\n      variant=\"gray\"\n      @click=\"openTemplateModal\"\n    >\n      <template #right=\"slotProps\">\n        <BaseIcon name=\"PencilIcon\" :class=\"slotProps.class\" />\n      </template>\n      {{ store[storeProp].template_name }}\n    </BaseButton>\n  </div>\n</template>\n\n<script setup>\nimport { useModalStore } from '@/scripts/stores/modal'\nimport { useI18n } from 'vue-i18n'\n\nconst props = defineProps({\n  store: {\n    type: Object,\n    default: null,\n  },\n  storeProp: {\n    type: String,\n    default: '',\n  },\n  isMarkAsDefault: {\n    type: Boolean,\n    default: false,\n  },\n})\n\nconst modalStore = useModalStore()\n\nconst { t } = useI18n()\n\nfunction openTemplateModal() {\n  let markAsDefaultDescription = ''\n  if (props.storeProp == 'newEstimate') {\n    markAsDefaultDescription = t(\n      'estimates.mark_as_default_estimate_template_description'\n    )\n  } else if (props.storeProp == 'newInvoice') {\n    markAsDefaultDescription = t(\n      'invoices.mark_as_default_invoice_template_description'\n    )\n  }\n\n  modalStore.openModal({\n    title: t('general.choose_template'),\n    componentName: 'SelectTemplate',\n    data: {\n      templates: props.store.templates,\n      store: props.store,\n      storeProp: props.storeProp,\n      isMarkAsDefault: props.isMarkAsDefault,\n      markAsDefaultDescription,\n    },\n  })\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/modal-components/BackupModal.vue",
    "content": "<template>\n  <BaseModal :show=\"modalActive\" @close=\"onCancel\" @open=\"loadData\">\n    <template #header>\n      <div class=\"flex justify-between w-full\">\n        {{ modalStore.title }}\n        <BaseIcon\n          name=\"XIcon\"\n          class=\"w-6 h-6 text-gray-500 cursor-pointer\"\n          @click=\"onCancel\"\n        />\n      </div>\n    </template>\n\n    <form @submit.prevent=\"createNewBackup\">\n      <div class=\"p-6\">\n        <BaseInputGrid layout=\"one-column\">\n          <BaseInputGroup\n            :label=\"$t('settings.backup.select_backup_type')\"\n            :error=\"\n              v$.currentBackupData.option.$error &&\n              v$.currentBackupData.option.$errors[0].$message\n            \"\n            horizontal\n            required\n            class=\"py-2\"\n          >\n            <BaseMultiselect\n              v-model=\"backupStore.currentBackupData.option\"\n              :options=\"options\"\n              :can-deselect=\"false\"\n              :placeholder=\"$t('settings.backup.select_backup_type')\"\n              searchable\n            />\n          </BaseInputGroup>\n          <BaseInputGroup\n            :label=\"$t('settings.disk.select_disk')\"\n            :error=\"\n              v$.currentBackupData.selected_disk.$error &&\n              v$.currentBackupData.selected_disk.$errors[0].$message\n            \"\n            horizontal\n            required\n            class=\"py-2\"\n          >\n            <BaseMultiselect\n              v-model=\"backupStore.currentBackupData.selected_disk\"\n              :content-loading=\"isFetchingInitialData\"\n              :options=\"getDisksOptions\"\n              :searchable=\"true\"\n              :allow-empty=\"false\"\n              label=\"name\"\n              value-prop=\"id\"\n              :placeholder=\"$t('settings.disk.select_disk')\"\n              track-by=\"name\"\n              object\n            />\n          </BaseInputGroup>\n        </BaseInputGrid>\n      </div>\n      <div\n        class=\"z-0 flex justify-end p-4 border-t border-gray-200 border-solid\"\n      >\n        <BaseButton\n          class=\"mr-3\"\n          variant=\"primary-outline\"\n          type=\"button\"\n          @click=\"onCancel\"\n        >\n          {{ $t('general.cancel') }}\n        </BaseButton>\n\n        <BaseButton\n          :loading=\"isCreateLoading\"\n          :disabled=\"isCreateLoading\"\n          variant=\"primary\"\n          type=\"submit\"\n        >\n          <template #left=\"slotProps\">\n            <BaseIcon\n              v-if=\"!isCreateLoading\"\n              name=\"SaveIcon\"\n              :class=\"slotProps.class\"\n            />\n          </template>\n          {{ $t('general.create') }}\n        </BaseButton>\n      </div>\n    </form>\n  </BaseModal>\n</template>\n\n<script setup>\nimport { useBackupStore } from '@/scripts/admin/stores/backup'\nimport { useI18n } from 'vue-i18n'\nimport { computed, reactive, ref } from 'vue'\nimport { useModalStore } from '@/scripts/stores/modal'\nimport { useDiskStore } from '@/scripts/admin/stores/disk'\nimport { required, helpers } from '@vuelidate/validators'\nimport { useVuelidate } from '@vuelidate/core'\n\nlet table = ref(null)\nlet isSaving = ref(false)\nlet isCreateLoading = ref(false)\nlet isFetchingInitialData = ref(false)\nconst options = reactive(['full', 'only-db', 'only-files'])\n\nconst backupStore = useBackupStore()\nconst modalStore = useModalStore()\nconst diskStore = useDiskStore()\nconst { t } = useI18n()\n\nconst modalActive = computed(() => {\n  return modalStore.active && modalStore.componentName === 'BackupModal'\n})\n\nconst getDisksOptions = computed(() => {\n  return diskStore.disks.map((disk) => {\n    return {\n      ...disk,\n      name: disk.name + ' — ' + '[' + disk.driver + ']',\n    }\n  })\n})\n\nconst rules = computed(() => {\n  return {\n    currentBackupData: {\n      option: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n      selected_disk: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n    },\n  }\n})\n\nconst v$ = useVuelidate(\n  rules,\n  computed(() => backupStore)\n)\n\nasync function createNewBackup() {\n  v$.value.currentBackupData.$touch()\n  if (v$.value.currentBackupData.$invalid) {\n    return true\n  }\n\n  let data = {\n    option: backupStore.currentBackupData.option,\n    file_disk_id: backupStore.currentBackupData.selected_disk.id,\n  }\n  try {\n    isCreateLoading.value = true\n    let res = await backupStore.createBackup(data)\n    if (res.data) {\n      isCreateLoading.value = false\n      modalStore.refreshData ? modalStore.refreshData() : ''\n      modalStore.closeModal()\n    }\n  } catch (e) {\n    isCreateLoading.value = false\n  }\n}\n\nasync function loadData() {\n  isFetchingInitialData.value = true\n  let res = await diskStore.fetchDisks({ limit: 'all' })\n  backupStore.currentBackupData.selected_disk = res.data.data[0]\n  isFetchingInitialData.value = false\n}\n\nfunction onCancel() {\n  modalStore.closeModal()\n\n  setTimeout(() => {\n    v$.value.$reset()\n    backupStore.$reset()\n  })\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/modal-components/CategoryModal.vue",
    "content": "<template>\n  <BaseModal :show=\"modalActive\" @close=\"closeCategoryModal\">\n    <template #header>\n      <div class=\"flex justify-between w-full\">\n        {{ modalStore.title }}\n        <BaseIcon\n          name=\"XIcon\"\n          class=\"w-6 h-6 text-gray-500 cursor-pointer\"\n          @click=\"closeCategoryModal\"\n        />\n      </div>\n    </template>\n\n    <form action=\"\" @submit.prevent=\"submitCategoryData\">\n      <div class=\"p-8 sm:p-6\">\n        <BaseInputGrid layout=\"one-column\">\n          <BaseInputGroup\n            :label=\"$t('expenses.category')\"\n            :error=\"\n              v$.currentCategory.name.$error &&\n              v$.currentCategory.name.$errors[0].$message\n            \"\n            required\n          >\n            <BaseInput\n              v-model=\"categoryStore.currentCategory.name\"\n              :invalid=\"v$.currentCategory.name.$error\"\n              type=\"text\"\n              @input=\"v$.currentCategory.name.$touch()\"\n            />\n          </BaseInputGroup>\n\n          <BaseInputGroup\n            :label=\"$t('expenses.description')\"\n            :error=\"\n              v$.currentCategory.description.$error &&\n              v$.currentCategory.description.$errors[0].$message\n            \"\n          >\n            <BaseTextarea\n              v-model=\"categoryStore.currentCategory.description\"\n              rows=\"4\"\n              cols=\"50\"\n              @input=\"v$.currentCategory.description.$touch()\"\n            />\n          </BaseInputGroup>\n        </BaseInputGrid>\n      </div>\n\n      <div\n        class=\"\n          z-0\n          flex\n          justify-end\n          p-4\n          border-t border-gray-200 border-solid border-modal-bg\n        \"\n      >\n        <BaseButton\n          type=\"button\"\n          variant=\"primary-outline\"\n          class=\"mr-3 text-sm\"\n          @click=\"closeCategoryModal\"\n        >\n          {{ $t('general.cancel') }}\n        </BaseButton>\n\n        <BaseButton\n          :loading=\"isSaving\"\n          :disabled=\"isSaving\"\n          variant=\"primary\"\n          type=\"submit\"\n        >\n          <template #left=\"slotProps\">\n            <BaseIcon\n              v-if=\"!isSaving\"\n              name=\"SaveIcon\"\n              :class=\"slotProps.class\"\n            />\n          </template>\n          {{ categoryStore.isEdit ? $t('general.update') : $t('general.save') }}\n        </BaseButton>\n      </div>\n    </form>\n  </BaseModal>\n</template>\n\n<script setup>\nimport { useCategoryStore } from '@/scripts/admin/stores/category'\nimport { useModalStore } from '@/scripts/stores/modal'\nimport { computed, ref } from 'vue'\nimport { required, minLength, maxLength, helpers } from '@vuelidate/validators'\nimport { useVuelidate } from '@vuelidate/core'\nimport { useI18n } from 'vue-i18n'\n\nconst categoryStore = useCategoryStore()\nconst modalStore = useModalStore()\nconst { t } = useI18n()\n\nlet isSaving = ref(false)\n\nconst rules = computed(() => {\n  return {\n    currentCategory: {\n      name: {\n        required: helpers.withMessage(t('validation.required'), required),\n        minLength: helpers.withMessage(\n          t('validation.name_min_length', { count: 3 }),\n          minLength(3)\n        ),\n      },\n      description: {\n        maxLength: helpers.withMessage(\n          t('validation.description_maxlength', { count: 255 }),\n          maxLength(255)\n        ),\n      },\n    },\n  }\n})\n\nconst v$ = useVuelidate(\n  rules,\n  computed(() => categoryStore)\n)\n\nconst modalActive = computed(() => {\n  return modalStore.active && modalStore.componentName === 'CategoryModal'\n})\n\nasync function submitCategoryData() {\n  v$.value.currentCategory.$touch()\n\n  if (v$.value.currentCategory.$invalid) {\n    return true\n  }\n\n  const action = categoryStore.isEdit\n    ? categoryStore.updateCategory\n    : categoryStore.addCategory\n\n  isSaving.value = true\n\n  await action(categoryStore.currentCategory)\n\n  isSaving.value = false\n\n  modalStore.refreshData ? modalStore.refreshData() : ''\n\n  closeCategoryModal()\n}\n\nfunction closeCategoryModal() {\n  modalStore.closeModal()\n\n  setTimeout(() => {\n    categoryStore.$reset()\n    v$.value.$reset()\n  }, 300)\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/modal-components/CompanyModal.vue",
    "content": "<template>\n  <BaseModal :show=\"modalActive\" @close=\"closeCompanyModal\" @open=\"getInitials\">\n    <template #header>\n      <div class=\"flex justify-between w-full\">\n        {{ modalStore.title }}\n\n        <BaseIcon\n          name=\"XIcon\"\n          class=\"w-6 h-6 text-gray-500 cursor-pointer\"\n          @click=\"closeCompanyModal\"\n        />\n      </div>\n    </template>\n    <form action=\"\" @submit.prevent=\"submitCompanyData\">\n      <div class=\"p-4 mb-16 sm:p-6 space-y-4\">\n        <BaseInputGrid layout=\"one-column\">\n          <BaseInputGroup\n            :content-loading=\"isFetchingInitialData\"\n            :label=\"$tc('settings.company_info.company_logo')\"\n          >\n            <BaseContentPlaceholders v-if=\"isFetchingInitialData\">\n              <BaseContentPlaceholdersBox :rounded=\"true\" class=\"w-full h-24\" />\n            </BaseContentPlaceholders>\n            <div v-else class=\"flex flex-col items-center\">\n              <BaseFileUploader\n                :preview-image=\"previewLogo\"\n                base64\n                @remove=\"onFileInputRemove\"\n                @change=\"onFileInputChange\"\n              />\n            </div>\n          </BaseInputGroup>\n\n          <BaseInputGroup\n            :label=\"$tc('settings.company_info.company_name')\"\n            :error=\"\n              v$.newCompanyForm.name.$error &&\n              v$.newCompanyForm.name.$errors[0].$message\n            \"\n            :content-loading=\"isFetchingInitialData\"\n            required\n          >\n            <BaseInput\n              v-model=\"newCompanyForm.name\"\n              :invalid=\"v$.newCompanyForm.name.$error\"\n              :content-loading=\"isFetchingInitialData\"\n              @input=\"v$.newCompanyForm.name.$touch()\"\n            />\n          </BaseInputGroup>\n\n          <BaseInputGroup\n            :content-loading=\"isFetchingInitialData\"\n            :label=\"$tc('settings.company_info.country')\"\n            :error=\"\n              v$.newCompanyForm.address.country_id.$error &&\n              v$.newCompanyForm.address.country_id.$errors[0].$message\n            \"\n            required\n          >\n            <BaseMultiselect\n              v-model=\"newCompanyForm.address.country_id\"\n              :content-loading=\"isFetchingInitialData\"\n              label=\"name\"\n              :invalid=\"v$.newCompanyForm.address.country_id.$error\"\n              :options=\"globalStore.countries\"\n              value-prop=\"id\"\n              :can-deselect=\"true\"\n              :can-clear=\"false\"\n              searchable\n              track-by=\"name\"\n            />\n          </BaseInputGroup>\n\n          <BaseInputGroup\n            :label=\"$t('wizard.currency')\"\n            :error=\"\n              v$.newCompanyForm.currency.$error &&\n              v$.newCompanyForm.currency.$errors[0].$message\n            \"\n            :content-loading=\"isFetchingInitialData\"\n            :help-text=\"$t('wizard.currency_set_alert')\"\n            required\n          >\n            <BaseMultiselect\n              v-model=\"newCompanyForm.currency\"\n              :content-loading=\"isFetchingInitialData\"\n              :options=\"globalStore.currencies\"\n              label=\"name\"\n              value-prop=\"id\"\n              :searchable=\"true\"\n              track-by=\"name\"\n              :placeholder=\"$tc('settings.currencies.select_currency')\"\n              :invalid=\"v$.newCompanyForm.currency.$error\"\n              class=\"w-full\"\n            >\n            </BaseMultiselect>\n          </BaseInputGroup>\n        </BaseInputGrid>\n      </div>\n\n      <div class=\"z-0 flex justify-end p-4 bg-gray-50 border-modal-bg\">\n        <BaseButton\n          class=\"mr-3 text-sm\"\n          variant=\"primary-outline\"\n          outline\n          type=\"button\"\n          @click=\"closeCompanyModal\"\n        >\n          {{ $t('general.cancel') }}\n        </BaseButton>\n        <BaseButton\n          :loading=\"isSaving\"\n          :disabled=\"isSaving\"\n          variant=\"primary\"\n          type=\"submit\"\n        >\n          <template #left=\"slotProps\">\n            <BaseIcon\n              v-if=\"!isSaving\"\n              name=\"SaveIcon\"\n              :class=\"slotProps.class\"\n            />\n          </template>\n          {{ $t('general.save') }}\n        </BaseButton>\n      </div>\n    </form>\n  </BaseModal>\n</template>\n\n<script setup>\nimport { useModalStore } from '@/scripts/stores/modal'\nimport { computed, onMounted, ref, reactive } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { required, minLength, helpers } from '@vuelidate/validators'\nimport { useVuelidate } from '@vuelidate/core'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\nimport { useGlobalStore } from '@/scripts/admin/stores/global'\nimport { useRouter } from 'vue-router'\n\nconst router = useRouter()\nconst companyStore = useCompanyStore()\nconst modalStore = useModalStore()\nconst globalStore = useGlobalStore()\n\nconst { t } = useI18n()\nlet isSaving = ref(false)\nlet previewLogo = ref(null)\nlet isFetchingInitialData = ref(false)\nlet companyLogoFileBlob = ref(null)\nlet companyLogoName = ref(null)\n\nconst newCompanyForm = reactive({\n  name: null,\n  currency: '',\n  address: {\n    country_id: null,\n  },\n})\n\nconst modalActive = computed(() => {\n  return modalStore.active && modalStore.componentName === 'CompanyModal'\n})\n\nconst rules = {\n  newCompanyForm: {\n    name: {\n      required: helpers.withMessage(t('validation.required'), required),\n      minLength: helpers.withMessage(\n        t('validation.name_min_length', { count: 3 }),\n        minLength(3)\n      ),\n    },\n    address: {\n      country_id: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n    },\n    currency: {\n      required: helpers.withMessage(t('validation.required'), required),\n    },\n  },\n}\n\nconst v$ = useVuelidate(rules, { newCompanyForm })\n\nasync function getInitials() {\n  isFetchingInitialData.value = true\n  await globalStore.fetchCurrencies()\n  await globalStore.fetchCountries()\n\n  newCompanyForm.currency = companyStore.selectedCompanyCurrency.id\n  newCompanyForm.address.country_id =\n    companyStore.selectedCompany.address.country_id\n\n  isFetchingInitialData.value = false\n}\n\nfunction onFileInputChange(fileName, file) {\n  companyLogoName.value = fileName\n  companyLogoFileBlob.value = file\n}\n\nfunction onFileInputRemove() {\n  companyLogoName.value = null\n  companyLogoFileBlob.value = null\n}\n\nasync function submitCompanyData() {\n  v$.value.newCompanyForm.$touch()\n  if (v$.value.$invalid) {\n    return true\n  }\n\n  isSaving.value = true\n  try {\n    const res = await companyStore.addNewCompany(newCompanyForm)\n    if (res.data.data) {\n      await companyStore.setSelectedCompany(res.data.data)\n      if (companyLogoFileBlob && companyLogoFileBlob.value) {\n        let logoData = new FormData()\n\n        logoData.append(\n          'company_logo',\n          JSON.stringify({\n            name: companyLogoName.value,\n            data: companyLogoFileBlob.value,\n          })\n        )\n\n        await companyStore.updateCompanyLogo(logoData)\n        router.push('/admin/dashboard')\n      }\n      await globalStore.setIsAppLoaded(false)\n      await globalStore.bootstrap()\n      closeCompanyModal()\n    }\n    isSaving.value = false\n  } catch {\n    isSaving.value = false\n  }\n}\n\nfunction resetNewCompanyForm() {\n  newCompanyForm.name = ''\n  newCompanyForm.currency = ''\n  newCompanyForm.address.country_id = ''\n\n  v$.value.$reset()\n}\n\nfunction closeCompanyModal() {\n  modalStore.closeModal()\n\n  setTimeout(() => {\n    resetNewCompanyForm()\n    v$.value.$reset()\n  }, 300)\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/modal-components/CustomerModal.vue",
    "content": "<template>\n  <BaseModal\n    :show=\"modalActive\"\n    @close=\"closeCustomerModal\"\n    @open=\"setInitialData\"\n  >\n    <template #header>\n      <div class=\"flex justify-between w-full\">\n        {{ modalStore.title }}\n\n        <BaseIcon\n          name=\"XIcon\"\n          class=\"h-6 w-6 text-gray-500 cursor-pointer\"\n          @click=\"closeCustomerModal\"\n        />\n      </div>\n    </template>\n    <form action=\"\" @submit.prevent=\"submitCustomerData\">\n      <div class=\"px-6 pb-3\">\n        <BaseTabGroup>\n          <BaseTab :title=\"$t('customers.basic_info')\" class=\"!mt-2\">\n            <BaseInputGrid layout=\"one-column\">\n              <BaseInputGroup\n                :label=\"$t('customers.display_name')\"\n                required\n                :error=\"v$.name.$error && v$.name.$errors[0].$message\"\n              >\n                <BaseInput\n                  v-model.trim=\"customerStore.currentCustomer.name\"\n                  type=\"text\"\n                  name=\"name\"\n                  class=\"mt-1 md:mt-0\"\n                  :invalid=\"v$.name.$error\"\n                  @input=\"v$.name.$touch()\"\n                />\n              </BaseInputGroup>\n\n              <BaseInputGroup\n                :label=\"$tc('settings.currencies.currency')\"\n                required\n                :error=\"\n                  v$.currency_id.$error && v$.currency_id.$errors[0].$message\n                \"\n              >\n                <BaseMultiselect\n                  v-model=\"customerStore.currentCustomer.currency_id\"\n                  :options=\"globalStore.currencies\"\n                  value-prop=\"id\"\n                  searchable\n                  :placeholder=\"$t('customers.select_currency')\"\n                  :max-height=\"200\"\n                  class=\"mt-1 md:mt-0\"\n                  track-by=\"name\"\n                  :invalid=\"v$.currency_id.$error\"\n                  label=\"name\"\n                />\n              </BaseInputGroup>\n\n              <BaseInputGroup :label=\"$t('customers.primary_contact_name')\">\n                <BaseInput\n                  v-model=\"customerStore.currentCustomer.contact_name\"\n                  type=\"text\"\n                  class=\"mt-1 md:mt-0\"\n                />\n              </BaseInputGroup>\n              <BaseInputGroup\n                :label=\"$t('login.email')\"\n                :error=\"v$.email.$error && v$.email.$errors[0].$message\"\n              >\n                <BaseInput\n                  v-model.trim=\"customerStore.currentCustomer.email\"\n                  type=\"text\"\n                  name=\"email\"\n                  class=\"mt-1 md:mt-0\"\n                  :invalid=\"v$.email.$error\"\n                  @input=\"v$.email.$touch()\"\n                />\n              </BaseInputGroup>\n\n              <BaseInputGroup\n                :label=\"$t('customers.prefix')\"\n                :error=\"v$.prefix.$error && v$.prefix.$errors[0].$message\"\n                :content-loading=\"isFetchingInitialData\"\n              >\n                <BaseInput\n                  v-model=\"customerStore.currentCustomer.prefix\"\n                  :content-loading=\"isFetchingInitialData\"\n                  type=\"text\"\n                  name=\"name\"\n                  class=\"\"\n                  :invalid=\"v$.prefix.$error\"\n                  @input=\"v$.prefix.$touch()\"\n                />\n              </BaseInputGroup>\n\n              <BaseInputGrid>\n                <BaseInputGroup :label=\"$t('customers.phone')\">\n                  <BaseInput\n                    v-model.trim=\"customerStore.currentCustomer.phone\"\n                    type=\"text\"\n                    name=\"phone\"\n                    class=\"mt-1 md:mt-0\"\n                  />\n                </BaseInputGroup>\n\n                <BaseInputGroup\n                  :label=\"$t('customers.website')\"\n                  :error=\"v$.website.$error && v$.website.$errors[0].$message\"\n                >\n                  <BaseInput\n                    v-model=\"customerStore.currentCustomer.website\"\n                    type=\"url\"\n                    class=\"mt-1 md:mt-0\"\n                    :invalid=\"v$.website.$error\"\n                    @input=\"v$.website.$touch()\"\n                  />\n                </BaseInputGroup>\n              </BaseInputGrid>\n            </BaseInputGrid>\n          </BaseTab>\n\n          <BaseTab :title=\"$t('customers.portal_access')\">\n            <BaseInputGrid class=\"col-span-5 lg:col-span-4\">\n              <div class=\"md:col-span-2\">\n                <p class=\"text-sm text-gray-500\">\n                  {{ $t('customers.portal_access_text') }}\n                </p>\n\n                <BaseSwitch\n                  v-model=\"customerStore.currentCustomer.enable_portal\"\n                  class=\"mt-1 flex\"\n                />\n              </div>\n\n              <BaseInputGroup\n                v-if=\"customerStore.currentCustomer.enable_portal\"\n                :content-loading=\"isFetchingInitialData\"\n                :label=\"$t('customers.portal_access_url')\"\n                class=\"md:col-span-2\"\n                :help-text=\"$t('customers.portal_access_url_help')\"\n              >\n                <CopyInputField :token=\"getCustomerPortalUrl\" />\n              </BaseInputGroup>\n\n              <BaseInputGroup\n                v-if=\"customerStore.currentCustomer.enable_portal\"\n                :content-loading=\"isFetchingInitialData\"\n                :error=\"v$.password.$error && v$.password.$errors[0].$message\"\n                :label=\"$t('customers.password')\"\n              >\n                <BaseInput\n                  v-model.trim=\"customerStore.currentCustomer.password\"\n                  :content-loading=\"isFetchingInitialData\"\n                  :type=\"isShowPassword ? 'text' : 'password'\"\n                  name=\"password\"\n                  :invalid=\"v$.password.$error\"\n                  @input=\"v$.password.$touch()\"\n                >\n                  <template #right>\n                    <BaseIcon\n                      v-if=\"isShowPassword\"\n                      name=\"EyeOffIcon\"\n                      class=\"w-5 h-5 mr-1 text-gray-500 cursor-pointer\"\n                      @click=\"isShowPassword = !isShowPassword\"\n                    />\n                    <BaseIcon\n                      v-else\n                      name=\"EyeIcon\"\n                      class=\"w-5 h-5 mr-1 text-gray-500 cursor-pointer\"\n                      @click=\"isShowPassword = !isShowPassword\"\n                    /> </template\n                ></BaseInput>\n              </BaseInputGroup>\n              <BaseInputGroup\n                v-if=\"customerStore.currentCustomer.enable_portal\"\n                :error=\"\n                  v$.confirm_password.$error &&\n                  v$.confirm_password.$errors[0].$message\n                \"\n                :content-loading=\"isFetchingInitialData\"\n                label=\"Confirm Password\"\n              >\n                <BaseInput\n                  v-model.trim=\"customerStore.currentCustomer.confirm_password\"\n                  :content-loading=\"isFetchingInitialData\"\n                  :type=\"isShowConfirmPassword ? 'text' : 'password'\"\n                  name=\"confirm_password\"\n                  :invalid=\"v$.confirm_password.$error\"\n                  @input=\"v$.confirm_password.$touch()\"\n                >\n                  <template #right>\n                    <BaseIcon\n                      v-if=\"isShowConfirmPassword\"\n                      name=\"EyeOffIcon\"\n                      class=\"w-5 h-5 mr-1 text-gray-500 cursor-pointer\"\n                      @click=\"isShowConfirmPassword = !isShowConfirmPassword\"\n                    />\n                    <BaseIcon\n                      v-else\n                      name=\"EyeIcon\"\n                      class=\"w-5 h-5 mr-1 text-gray-500 cursor-pointer\"\n                      @click=\"isShowConfirmPassword = !isShowConfirmPassword\"\n                    /> </template\n                ></BaseInput>\n              </BaseInputGroup>\n            </BaseInputGrid>\n          </BaseTab>\n\n          <BaseTab :title=\"$t('customers.billing_address')\" class=\"!mt-2\">\n            <BaseInputGrid layout=\"one-column\">\n              <BaseInputGroup :label=\"$t('customers.name')\">\n                <BaseInput\n                  v-model=\"customerStore.currentCustomer.billing.name\"\n                  type=\"text\"\n                  class=\"mt-1 md:mt-0\"\n                />\n              </BaseInputGroup>\n\n              <BaseInputGroup :label=\"$t('customers.country')\">\n                <BaseMultiselect\n                  v-model=\"customerStore.currentCustomer.billing.country_id\"\n                  :options=\"globalStore.countries\"\n                  searchable\n                  :show-labels=\"false\"\n                  :placeholder=\"$t('general.select_country')\"\n                  :allow-empty=\"false\"\n                  track-by=\"name\"\n                  class=\"mt-1 md:mt-0\"\n                  label=\"name\"\n                  value-prop=\"id\"\n                />\n              </BaseInputGroup>\n\n              <BaseInputGroup :label=\"$t('customers.state')\">\n                <BaseInput\n                  v-model=\"customerStore.currentCustomer.billing.state\"\n                  type=\"text\"\n                  name=\"billingState\"\n                  class=\"mt-1 md:mt-0\"\n                />\n              </BaseInputGroup>\n\n              <BaseInputGroup :label=\"$t('customers.city')\">\n                <BaseInput\n                  v-model=\"customerStore.currentCustomer.billing.city\"\n                  type=\"text\"\n                  name=\"billingCity\"\n                  class=\"mt-1 md:mt-0\"\n                />\n              </BaseInputGroup>\n\n              <BaseInputGroup\n                :label=\"$t('customers.address')\"\n                :error=\"\n                  v$.billing.address_street_1.$error &&\n                  v$.billing.address_street_1.$errors[0].$message\n                \"\n              >\n                <BaseTextarea\n                  v-model=\"\n                    customerStore.currentCustomer.billing.address_street_1\n                  \"\n                  :placeholder=\"$t('general.street_1')\"\n                  rows=\"2\"\n                  cols=\"50\"\n                  class=\"mt-1 md:mt-0\"\n                  :invalid=\"v$.billing.address_street_1.$error\"\n                  @input=\"v$.billing.address_street_1.$touch()\"\n                />\n              </BaseInputGroup>\n            </BaseInputGrid>\n\n            <BaseInputGrid layout=\"one-column\">\n              <BaseInputGroup\n                :error=\"\n                  v$.billing.address_street_2.$error &&\n                  v$.billing.address_street_2.$errors[0].$message\n                \"\n              >\n                <BaseTextarea\n                  v-model=\"\n                    customerStore.currentCustomer.billing.address_street_2\n                  \"\n                  :placeholder=\"$t('general.street_2')\"\n                  rows=\"2\"\n                  cols=\"50\"\n                  :invalid=\"v$.billing.address_street_2.$error\"\n                  @input=\"v$.billing.address_street_2.$touch()\"\n                />\n              </BaseInputGroup>\n\n              <BaseInputGroup :label=\"$t('customers.phone')\">\n                <BaseInput\n                  v-model.trim=\"customerStore.currentCustomer.billing.phone\"\n                  type=\"text\"\n                  name=\"phone\"\n                  class=\"mt-1 md:mt-0\"\n                />\n              </BaseInputGroup>\n\n              <BaseInputGroup :label=\"$t('customers.zip_code')\">\n                <BaseInput\n                  v-model=\"customerStore.currentCustomer.billing.zip\"\n                  type=\"text\"\n                  class=\"mt-1 md:mt-0\"\n                />\n              </BaseInputGroup>\n            </BaseInputGrid>\n          </BaseTab>\n\n          <BaseTab :title=\"$t('customers.shipping_address')\" class=\"!mt-2\">\n            <div class=\"grid md:grid-cols-12\">\n              <div class=\"flex justify-end col-span-12\">\n                <BaseButton\n                  variant=\"primary\"\n                  type=\"button\"\n                  size=\"xs\"\n                  @click=\"copyAddress(true)\"\n                >\n                  {{ $t('customers.copy_billing_address') }}\n                </BaseButton>\n              </div>\n            </div>\n\n            <BaseInputGrid layout=\"one-column\">\n              <BaseInputGroup :label=\"$t('customers.name')\">\n                <BaseInput\n                  v-model=\"customerStore.currentCustomer.shipping.name\"\n                  type=\"text\"\n                  class=\"mt-1 md:mt-0\"\n                />\n              </BaseInputGroup>\n\n              <BaseInputGroup :label=\"$t('customers.country')\">\n                <BaseMultiselect\n                  v-model=\"customerStore.currentCustomer.shipping.country_id\"\n                  :options=\"globalStore.countries\"\n                  :searchable=\"true\"\n                  :show-labels=\"false\"\n                  :allow-empty=\"false\"\n                  :placeholder=\"$t('general.select_country')\"\n                  track-by=\"name\"\n                  class=\"mt-1 md:mt-0\"\n                  label=\"name\"\n                  value-prop=\"id\"\n                />\n              </BaseInputGroup>\n\n              <BaseInputGroup :label=\"$t('customers.state')\">\n                <BaseInput\n                  v-model=\"customerStore.currentCustomer.shipping.state\"\n                  type=\"text\"\n                  name=\"shippingState\"\n                  class=\"mt-1 md:mt-0\"\n                />\n              </BaseInputGroup>\n\n              <BaseInputGroup :label=\"$t('customers.city')\">\n                <BaseInput\n                  v-model=\"customerStore.currentCustomer.shipping.city\"\n                  type=\"text\"\n                  name=\"shippingCity\"\n                  class=\"mt-1 md:mt-0\"\n                />\n              </BaseInputGroup>\n\n              <BaseInputGroup\n                :label=\"$t('customers.address')\"\n                :error=\"\n                  v$.shipping.address_street_1.$error &&\n                  v$.shipping.address_street_1.$errors[0].$message\n                \"\n              >\n                <BaseTextarea\n                  v-model=\"\n                    customerStore.currentCustomer.shipping.address_street_1\n                  \"\n                  :placeholder=\"$t('general.street_1')\"\n                  rows=\"2\"\n                  cols=\"50\"\n                  class=\"mt-1 md:mt-0\"\n                  :invalid=\"v$.shipping.address_street_1.$error\"\n                  @input=\"v$.shipping.address_street_1.$touch()\"\n                />\n              </BaseInputGroup>\n            </BaseInputGrid>\n\n            <BaseInputGrid layout=\"one-column\">\n              <BaseInputGroup\n                :error=\"\n                  v$.shipping.address_street_2.$error &&\n                  v$.shipping.address_street_2.$errors[0].$message\n                \"\n              >\n                <BaseTextarea\n                  v-model=\"\n                    customerStore.currentCustomer.shipping.address_street_2\n                  \"\n                  :placeholder=\"$t('general.street_2')\"\n                  rows=\"2\"\n                  cols=\"50\"\n                  :invalid=\"v$.shipping.address_street_1.$error\"\n                  @input=\"v$.shipping.address_street_2.$touch()\"\n                />\n              </BaseInputGroup>\n\n              <BaseInputGroup :label=\"$t('customers.phone')\">\n                <BaseInput\n                  v-model.trim=\"customerStore.currentCustomer.shipping.phone\"\n                  type=\"text\"\n                  name=\"phone\"\n                  class=\"mt-1 md:mt-0\"\n                />\n              </BaseInputGroup>\n\n              <BaseInputGroup :label=\"$t('customers.zip_code')\">\n                <BaseInput\n                  v-model=\"customerStore.currentCustomer.shipping.zip\"\n                  type=\"text\"\n                  class=\"mt-1 md:mt-0\"\n                />\n              </BaseInputGroup>\n            </BaseInputGrid>\n          </BaseTab>\n        </BaseTabGroup>\n      </div>\n\n      <div\n        class=\"z-0 flex justify-end p-4 border-t border-gray-200 border-solid\"\n      >\n        <BaseButton\n          class=\"mr-3 text-sm\"\n          type=\"button\"\n          variant=\"primary-outline\"\n          @click=\"closeCustomerModal\"\n        >\n          {{ $t('general.cancel') }}\n        </BaseButton>\n\n        <BaseButton :loading=\"isLoading\" variant=\"primary\" type=\"submit\">\n          <template #left=\"slotProps\">\n            <BaseIcon\n              v-if=\"!isLoading\"\n              name=\"SaveIcon\"\n              :class=\"slotProps.class\"\n            />\n          </template>\n          {{ $t('general.save') }}\n        </BaseButton>\n      </div>\n    </form>\n  </BaseModal>\n</template>\n\n<script setup>\nimport { computed, onMounted, ref } from 'vue'\nimport { useRoute } from 'vue-router'\nimport { useI18n } from 'vue-i18n'\n\nimport {\n  required,\n  minLength,\n  maxLength,\n  email,\n  alpha,\n  url,\n  helpers,\n  requiredIf,\n  sameAs,\n} from '@vuelidate/validators'\nimport useVuelidate from '@vuelidate/core'\n\nimport { useModalStore } from '@/scripts/stores/modal'\nimport { useEstimateStore } from '@/scripts/admin/stores/estimate'\nimport { useCustomerStore } from '@/scripts/admin/stores/customer'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\nimport { useGlobalStore } from '@/scripts/admin/stores/global'\nimport { useInvoiceStore } from '@/scripts/admin/stores/invoice'\nimport CopyInputField from '@/scripts/admin/components/CopyInputField.vue'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport { useRecurringInvoiceStore } from '@/scripts/admin/stores/recurring-invoice'\n\nconst recurringInvoiceStore = useRecurringInvoiceStore()\nconst modalStore = useModalStore()\nconst estimateStore = useEstimateStore()\nconst customerStore = useCustomerStore()\nconst companyStore = useCompanyStore()\nconst globalStore = useGlobalStore()\nconst invoiceStore = useInvoiceStore()\nconst notificationStore = useNotificationStore()\n\nlet isFetchingInitialData = ref(false)\n\nconst { t } = useI18n()\nconst route = useRoute()\nconst isEdit = ref(false)\nconst isLoading = ref(false)\nlet isShowPassword = ref(false)\nlet isShowConfirmPassword = ref(false)\n\nconst modalActive = computed(\n  () => modalStore.active && modalStore.componentName === 'CustomerModal'\n)\n\nconst rules = computed(() => {\n  return {\n    name: {\n      required: helpers.withMessage(t('validation.required'), required),\n      minLength: helpers.withMessage(\n        t('validation.name_min_length', { count: 3 }),\n        minLength(3)\n      ),\n    },\n    currency_id: {\n      required: helpers.withMessage(t('validation.required'), required),\n    },\n    password: {\n      required: helpers.withMessage(\n        t('validation.required'),\n        requiredIf(\n          customerStore.currentCustomer.enable_portal == true &&\n            !customerStore.currentCustomer.password_added\n        )\n      ),\n      minLength: helpers.withMessage(\n        t('validation.password_min_length', { count: 8 }),\n        minLength(8)\n      ),\n    },\n    confirm_password: {\n      sameAsPassword: helpers.withMessage(\n        t('validation.password_incorrect'),\n        sameAs(customerStore.currentCustomer.password)\n      ),\n    },\n    email: {\n      required: helpers.withMessage(\n        t('validation.required'),\n        requiredIf(customerStore.currentCustomer.enable_portal == true)\n      ),\n      email: helpers.withMessage(t('validation.email_incorrect'), email),\n    },\n    prefix: {\n      minLength: helpers.withMessage(\n        t('validation.name_min_length', { count: 3 }),\n        minLength(3)\n      ),\n    },\n    website: {\n      url: helpers.withMessage(t('validation.invalid_url'), url),\n    },\n\n    billing: {\n      address_street_1: {\n        maxLength: helpers.withMessage(\n          t('validation.address_maxlength', { count: 255 }),\n          maxLength(255)\n        ),\n      },\n      address_street_2: {\n        maxLength: helpers.withMessage(\n          t('validation.address_maxlength', { count: 255 }),\n          maxLength(255)\n        ),\n      },\n    },\n\n    shipping: {\n      address_street_1: {\n        maxLength: helpers.withMessage(\n          t('validation.address_maxlength', { count: 255 }),\n          maxLength(255)\n        ),\n      },\n      address_street_2: {\n        maxLength: helpers.withMessage(\n          t('validation.address_maxlength', { count: 255 }),\n          maxLength(255)\n        ),\n      },\n    },\n  }\n})\n\nconst v$ = useVuelidate(\n  rules,\n  computed(() => customerStore.currentCustomer)\n)\n\nconst getCustomerPortalUrl = computed(() => {\n  return `${window.location.origin}/${companyStore.selectedCompany.slug}/customer/login`\n})\n\nfunction copyAddress() {\n  customerStore.copyAddress()\n}\n\nasync function setInitialData() {\n  if (!customerStore.isEdit) {\n    customerStore.currentCustomer.currency_id =\n      companyStore.selectedCompanyCurrency.id\n  }\n}\n\nasync function submitCustomerData() {\n  v$.value.$touch()\n\n  if (v$.value.$invalid && customerStore.currentCustomer.email === '') {\n    notificationStore.showNotification({\n      type: 'error',\n      message: t('settings.notification.please_enter_email'),\n    })\n  }\n\n  if (v$.value.$invalid) {\n    return true\n  }\n\n  isLoading.value = true\n\n  let data = {\n    ...customerStore.currentCustomer,\n  }\n\n  try {\n    let response = null\n    if (customerStore.isEdit) {\n      response = await customerStore.updateCustomer(data)\n    } else {\n      response = await customerStore.addCustomer(data)\n    }\n\n    if (response.data) {\n      isLoading.value = false\n      // Automatically create newly created customer\n      if (route.name === 'invoices.create' || route.name === 'invoices.edit') {\n        invoiceStore.selectCustomer(response.data.data.id)\n      }\n      if (\n        route.name === 'estimates.create' ||\n        route.name === 'estimates.edit'\n      ) {\n        estimateStore.selectCustomer(response.data.data.id)\n      }\n      if (\n        route.name === 'recurring-invoices.create' ||\n        route.name === 'recurring-invoices.edit'\n      ) {\n        recurringInvoiceStore.selectCustomer(response.data.data.id)\n      }\n      closeCustomerModal()\n    }\n  } catch (err) {\n    console.error(err)\n    isLoading.value = false\n  }\n}\n\nfunction closeCustomerModal() {\n  modalStore.closeModal()\n  setTimeout(() => {\n    customerStore.resetCurrentCustomer()\n    v$.value.$reset()\n  }, 300)\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/modal-components/DeleteCompanyModal.vue",
    "content": "<template>\n  <BaseModal :show=\"modalActive\" @close=\"closeCompanyModal\">\n    <div class=\"flex justify-between w-full\">\n      <div class=\"px-6 pt-6\">\n        <h6 class=\"font-medium text-lg text-left\">\n          {{ modalStore.title }}\n        </h6>\n        <p\n          class=\"mt-2 text-sm leading-snug text-gray-500\"\n          style=\"max-width: 680px\"\n        >\n          {{\n            $t('settings.company_info.delete_company_modal_desc', {\n              company: companyStore.selectedCompany.name,\n            })\n          }}\n        </p>\n      </div>\n    </div>\n    <form action=\"\" @submit.prevent=\"submitCompanyData\">\n      <div class=\"p-4 sm:p-6 space-y-4\">\n        <BaseInputGroup\n          :label=\"\n            $t('settings.company_info.delete_company_modal_label', {\n              company: companyStore.selectedCompany.name,\n            })\n          \"\n          :error=\"\n            v$.formData.name.$error && v$.formData.name.$errors[0].$message\n          \"\n          required\n        >\n          <BaseInput\n            v-model=\"formData.name\"\n            :invalid=\"v$.formData.name.$error\"\n            @input=\"v$.formData.name.$touch()\"\n          />\n        </BaseInputGroup>\n      </div>\n\n      <div class=\"z-0 flex justify-end p-4 bg-gray-50 border-modal-bg\">\n        <BaseButton\n          class=\"mr-3 text-sm\"\n          variant=\"primary-outline\"\n          outline\n          type=\"button\"\n          @click=\"closeCompanyModal\"\n        >\n          {{ $t('general.cancel') }}\n        </BaseButton>\n        <BaseButton\n          :loading=\"isDeleting\"\n          :disabled=\"isDeleting\"\n          variant=\"danger\"\n          type=\"submit\"\n        >\n          <template #left=\"slotProps\">\n            <BaseIcon\n              v-if=\"!isDeleting\"\n              name=\"TrashIcon\"\n              :class=\"slotProps.class\"\n            />\n          </template>\n          {{ $t('general.delete') }}\n        </BaseButton>\n      </div>\n    </form>\n  </BaseModal>\n</template>\n\n<script setup>\nimport { useRouter } from 'vue-router'\nimport { useModalStore } from '@/scripts/stores/modal'\nimport { computed, onMounted, ref, reactive } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { required, minLength, helpers, sameAs } from '@vuelidate/validators'\nimport { useVuelidate } from '@vuelidate/core'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\nimport { useGlobalStore } from '@/scripts/admin/stores/global'\n\nconst companyStore = useCompanyStore()\nconst modalStore = useModalStore()\nconst globalStore = useGlobalStore()\nconst router = useRouter()\nconst { t } = useI18n()\nlet isDeleting = ref(false)\n\nconst formData = reactive({\n  id: companyStore.selectedCompany.id,\n  name: null,\n})\n\nconst modalActive = computed(() => {\n  return modalStore.active && modalStore.componentName === 'DeleteCompanyModal'\n})\n\nconst rules = {\n  formData: {\n    name: {\n      required: helpers.withMessage(t('validation.required'), required),\n      sameAsName: helpers.withMessage(\n        t('validation.company_name_not_same'),\n        sameAs(companyStore.selectedCompany.name)\n      ),\n    },\n  },\n}\n\nconst v$ = useVuelidate(\n  rules,\n  { formData },\n  {\n    $scope: false,\n  }\n)\n\nasync function submitCompanyData() {\n  v$.value.$touch()\n  if (v$.value.$invalid) {\n    return true\n  }\n\n  const company = companyStore.companies[0]\n\n  isDeleting.value = true\n  try {\n    const res = await companyStore.deleteCompany(formData)\n    console.log(res.data.success)\n    if (res.data.success) {\n      closeCompanyModal()\n      await companyStore.setSelectedCompany(company)\n      router.push('/admin/dashboard')\n      await globalStore.setIsAppLoaded(false)\n      await globalStore.bootstrap()\n    }\n    isDeleting.value = false\n  } catch {\n    isDeleting.value = false\n  }\n}\n\nfunction resetNewCompanyForm() {\n  formData.id = null\n  formData.name = ''\n\n  v$.value.$reset()\n}\n\nfunction closeCompanyModal() {\n  modalStore.closeModal()\n\n  setTimeout(() => {\n    resetNewCompanyForm()\n    v$.value.$reset()\n  }, 300)\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/modal-components/ExchangeRateBulkUpdateModal.vue",
    "content": "<template>\n  <BaseModal :show=\"modalActive\">\n    <ExchangeRateBulkUpdate @update=\"closeModal()\" />\n  </BaseModal>\n</template>\n\n<script setup>\nimport { computed, ref, watch } from 'vue'\nimport ExchangeRateBulkUpdate from '@/scripts/admin/components/currency-exchange-rate/ExchangeRateBulkUpdate.vue'\nimport { useModalStore } from '@/scripts/stores/modal'\n\nconst modalStore = useModalStore()\n\nconst modalActive = computed(() => {\n  return (\n    modalStore.active &&\n    modalStore.componentName === 'ExchangeRateBulkUpdateModal'\n  )\n})\n\nfunction closeModal() {\n  modalStore.closeModal()\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/modal-components/ExchangeRateProviderModal.vue",
    "content": "<template>\n  <BaseModal\n    :show=\"modalActive\"\n    @close=\"closeExchangeRateModal\"\n    @open=\"fetchInitialData\"\n  >\n    <template #header>\n      <div class=\"flex justify-between w-full\">\n        {{ modalStore.title }}\n\n        <BaseIcon\n          name=\"XIcon\"\n          class=\"w-6 h-6 text-gray-500 cursor-pointer\"\n          @click=\"closeExchangeRateModal\"\n        />\n      </div>\n    </template>\n\n    <form @submit.prevent=\"submitExchangeRate\">\n      <div class=\"px-4 md:px-8 py-8 overflow-y-auto sm:p-6\">\n        <BaseInputGrid layout=\"one-column\">\n          <BaseInputGroup\n            :label=\"$tc('settings.exchange_rate.driver')\"\n            :content-loading=\"isFetchingInitialData\"\n            required\n            :error=\"\n              v$.currentExchangeRate.driver.$error &&\n              v$.currentExchangeRate.driver.$errors[0].$message\n            \"\n            :help-text=\"driverSite\"\n          >\n            <BaseMultiselect\n              v-model=\"exchangeRateStore.currentExchangeRate.driver\"\n              :options=\"driversLists\"\n              :content-loading=\"isFetchingInitialData\"\n              value-prop=\"value\"\n              :can-deselect=\"true\"\n              label=\"key\"\n              :searchable=\"true\"\n              :invalid=\"v$.currentExchangeRate.driver.$error\"\n              track-by=\"key\"\n              @update:modelValue=\"resetCurrency\"\n              @input=\"v$.currentExchangeRate.driver.$touch()\"\n            />\n          </BaseInputGroup>\n          <BaseInputGroup\n            v-if=\"isCurrencyConverter\"\n            required\n            :label=\"$t('settings.exchange_rate.server')\"\n            :content-loading=\"isFetchingInitialData\"\n            :error=\"\n              v$.currencyConverter.type.$error &&\n              v$.currencyConverter.type.$errors[0].$message\n            \"\n          >\n            <BaseMultiselect\n              v-model=\"exchangeRateStore.currencyConverter.type\"\n              :content-loading=\"isFetchingInitialData\"\n              value-prop=\"value\"\n              searchable\n              :options=\"serverOptions\"\n              :invalid=\"v$.currencyConverter.type.$error\"\n              label=\"value\"\n              track-by=\"value\"\n              @update:modelValue=\"resetCurrency\"\n            />\n          </BaseInputGroup>\n\n          <BaseInputGroup\n            :label=\"$t('settings.exchange_rate.key')\"\n            required\n            :content-loading=\"isFetchingInitialData\"\n            :error=\"\n              v$.currentExchangeRate.key.$error &&\n              v$.currentExchangeRate.key.$errors[0].$message\n            \"\n          >\n            <BaseInput\n              v-model=\"exchangeRateStore.currentExchangeRate.key\"\n              :content-loading=\"isFetchingInitialData\"\n              type=\"text\"\n              name=\"key\"\n              :loading=\"isFetchingCurrencies\"\n              loading-position=\"right\"\n              :invalid=\"v$.currentExchangeRate.key.$error\"\n            />\n          </BaseInputGroup>\n\n          <BaseInputGroup\n            v-if=\"exchangeRateStore.supportedCurrencies.length\"\n            :label=\"$t('settings.exchange_rate.currency')\"\n            :content-loading=\"isFetchingInitialData\"\n            :error=\"\n              v$.currentExchangeRate.currencies.$error &&\n              v$.currentExchangeRate.currencies.$errors[0].$message\n            \"\n            :help-text=\"$t('settings.exchange_rate.currency_help_text')\"\n          >\n            <BaseMultiselect\n              v-model=\"exchangeRateStore.currentExchangeRate.currencies\"\n              :content-loading=\"isFetchingInitialData\"\n              value-prop=\"code\"\n              mode=\"tags\"\n              searchable\n              :options=\"exchangeRateStore.supportedCurrencies\"\n              :invalid=\"v$.currentExchangeRate.currencies.$error\"\n              label=\"code\"\n              track-by=\"code\"\n              open-direction=\"top\"\n              @input=\"v$.currentExchangeRate.currencies.$touch()\"\n            />\n          </BaseInputGroup>\n          <!--  For Currency Converter  -->\n\n          <BaseInputGroup\n            v-if=\"isDedicatedServer\"\n            :label=\"$t('settings.exchange_rate.url')\"\n            :content-loading=\"isFetchingInitialData\"\n            :error=\"\n              v$.currencyConverter.url.$error &&\n              v$.currencyConverter.url.$errors[0].$message\n            \"\n          >\n            <BaseInput\n              v-model=\"exchangeRateStore.currencyConverter.url\"\n              :content-loading=\"isFetchingInitialData\"\n              type=\"url\"\n              :invalid=\"v$.currencyConverter.url.$error\"\n              @input=\"v$.currencyConverter.url.$touch()\"\n            />\n          </BaseInputGroup>\n\n          <BaseSwitch\n            v-model=\"exchangeRateStore.currentExchangeRate.active\"\n            class=\"flex\"\n            :label-right=\"$t('settings.exchange_rate.active')\"\n          />\n        </BaseInputGrid>\n\n        <BaseInfoAlert\n          v-if=\"\n            currenciesAlredayInUsed.length &&\n            exchangeRateStore.currentExchangeRate.active\n          \"\n          class=\"mt-5\"\n          :title=\"$t('settings.exchange_rate.currency_in_used')\"\n          :lists=\"[currenciesAlredayInUsed.toString()]\"\n          :actions=\"['Remove']\"\n          @hide=\"dismiss\"\n          @Remove=\"removeUsedSelectedCurrencies\"\n        />\n      </div>\n      <div\n        class=\"z-0 flex justify-end p-4 border-t border-gray-200 border-solid\"\n      >\n        <BaseButton\n          class=\"mr-3\"\n          variant=\"primary-outline\"\n          type=\"button\"\n          :disabled=\"isSaving\"\n          @click=\"closeExchangeRateModal\"\n        >\n          {{ $t('general.cancel') }}\n        </BaseButton>\n        <BaseButton\n          :loading=\"isSaving\"\n          :disabled=\"isSaving || isFetchingCurrencies\"\n          variant=\"primary\"\n          type=\"submit\"\n        >\n          <template #left=\"slotProps\">\n            <BaseIcon\n              v-if=\"!isSaving\"\n              name=\"SaveIcon\"\n              :class=\"slotProps.class\"\n            />\n          </template>\n          {{\n            exchangeRateStore.isEdit ? $t('general.update') : $t('general.save')\n          }}\n        </BaseButton>\n      </div>\n    </form>\n  </BaseModal>\n</template>\n\n<script setup>\nimport { computed, ref, watch } from 'vue'\nimport { useExchangeRateStore } from '@/scripts/admin/stores/exchange-rate'\nimport { useModalStore } from '@/scripts/stores/modal'\nimport useVuelidate from '@vuelidate/core'\nimport { debounce } from 'lodash'\n\nimport { useI18n } from 'vue-i18n'\nimport {\n  required,\n  minLength,\n  helpers,\n  requiredIf,\n  url,\n} from '@vuelidate/validators'\n\nconst { t } = useI18n()\n\nlet isSaving = ref(false)\nlet isFetchingInitialData = ref(false)\nlet isFetchingCurrencies = ref(false)\nlet currenciesAlredayInUsed = ref([])\nlet currenctPorivderOldCurrencies = ref([])\nconst modalStore = useModalStore()\nconst exchangeRateStore = useExchangeRateStore()\n\nlet serverOptions = ref([])\n\nconst rules = computed(() => {\n  return {\n    currentExchangeRate: {\n      key: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n      driver: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n      currencies: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n    },\n    currencyConverter: {\n      type: {\n        required: helpers.withMessage(\n          t('validation.required'),\n          requiredIf(isCurrencyConverter)\n        ),\n      },\n      url: {\n        required: helpers.withMessage(\n          t('validation.required'),\n          requiredIf(isDedicatedServer)\n        ),\n        url: helpers.withMessage(t('validation.invalid_url'), url),\n      },\n    },\n  }\n})\nconst driversLists = computed(() => {\n  return exchangeRateStore.drivers.map((item) => {\n    return Object.assign({}, item, {\n      key: t(item.key),\n    })\n  })\n})\n\nconst modalActive = computed(() => {\n  return (\n    modalStore.active &&\n    modalStore.componentName === 'ExchangeRateProviderModal'\n  )\n})\n\nconst modalTitle = computed(() => {\n  return modalStore.title\n})\n\nconst isCurrencyConverter = computed(() => {\n  return exchangeRateStore.currentExchangeRate.driver === 'currency_converter'\n})\n\nconst isDedicatedServer = computed(() => {\n  return (\n    exchangeRateStore.currencyConverter &&\n    exchangeRateStore.currencyConverter.type === 'DEDICATED'\n  )\n})\n\nconst driverSite = computed(() => {\n  switch (exchangeRateStore.currentExchangeRate.driver) {\n    case 'currency_converter':\n      return `https://www.currencyconverterapi.com`\n\n    case 'currency_freak':\n      return 'https://currencyfreaks.com'\n\n    case 'currency_layer':\n      return 'https://currencylayer.com'\n\n    case 'open_exchange_rate':\n      return 'https://openexchangerates.org'\n\n    default:\n      return ''\n  }\n})\nconst v$ = useVuelidate(\n  rules,\n  computed(() => exchangeRateStore)\n)\n\nfunction dismiss() {\n  currenciesAlredayInUsed.value = []\n}\nfunction removeUsedSelectedCurrencies() {\n  const { currencies } = exchangeRateStore.currentExchangeRate\n  currenciesAlredayInUsed.value.forEach((uc) => {\n    currencies.forEach((c, i) => {\n      if (c === uc) {\n        currencies.splice(i, 1)\n      }\n    })\n  })\n  currenciesAlredayInUsed.value = []\n}\n\nfunction resetCurrency() {\n  exchangeRateStore.currentExchangeRate.key = null\n  exchangeRateStore.currentExchangeRate.currencies = []\n  exchangeRateStore.supportedCurrencies = []\n}\n\nfunction resetModalData() {\n  exchangeRateStore.supportedCurrencies = []\n  currenctPorivderOldCurrencies.value = []\n  exchangeRateStore.currentExchangeRate = {\n    id: null,\n    name: '',\n    driver: '',\n    key: '',\n    active: true,\n    currencies: [],\n  }\n\n  exchangeRateStore.currencyConverter = {\n    type: '',\n    url: '',\n  }\n  currenciesAlredayInUsed.value = []\n}\n\nasync function fetchInitialData() {\n  exchangeRateStore.currentExchangeRate.driver = 'currency_converter'\n  let params = {}\n  if (exchangeRateStore.isEdit) {\n    params.provider_id = exchangeRateStore.currentExchangeRate.id\n  }\n  isFetchingInitialData.value = true\n  await exchangeRateStore.fetchDefaultProviders()\n  await exchangeRateStore.fetchActiveCurrency(params)\n\n  currenctPorivderOldCurrencies.value =\n    exchangeRateStore.currentExchangeRate.currencies\n\n  isFetchingInitialData.value = false\n}\n\nwatch(\n  () => isCurrencyConverter.value,\n  (newVal, oldValue) => {\n    if (newVal) {\n      fetchServers()\n    }\n  },\n  { immediate: true }\n)\n\nwatch(\n  () => exchangeRateStore.currentExchangeRate.key,\n  (newVal, oldValue) => {\n    if (newVal) {\n      fetchCurrencies()\n    }\n  }\n)\n\nwatch(\n  () => exchangeRateStore?.currencyConverter?.type,\n  (newVal, oldValue) => {\n    if (newVal) {\n      fetchCurrencies()\n    }\n  }\n)\n\nfetchCurrencies = debounce(fetchCurrencies, 500)\n\nfunction validate() {\n  v$.value.$touch()\n  checkingIsActiveCurrencies()\n  if (\n    v$.value.$invalid ||\n    (currenciesAlredayInUsed.value.length &&\n      exchangeRateStore.currentExchangeRate.active)\n  ) {\n    return true\n  }\n  return false\n}\n\nasync function submitExchangeRate() {\n  if (validate()) {\n    return true\n  }\n  let data = {\n    ...exchangeRateStore.currentExchangeRate,\n  }\n  if (isCurrencyConverter.value) {\n    data.driver_config = {\n      ...exchangeRateStore.currencyConverter,\n    }\n    if (!isDedicatedServer.value) {\n      data.driver_config.url = ''\n    }\n  }\n  const action = exchangeRateStore.isEdit\n    ? exchangeRateStore.updateProvider\n    : exchangeRateStore.addProvider\n  isSaving.value = true\n\n  await action(data)\n    .then((res) => {\n      isSaving.value = false\n      modalStore.refreshData ? modalStore.refreshData() : ''\n      closeExchangeRateModal()\n    })\n    .catch((err) => {\n      isSaving.value = false\n    })\n}\n\nasync function fetchServers() {\n  let res = await exchangeRateStore.getCurrencyConverterServers()\n  serverOptions.value = res.data.currency_converter_servers\n  exchangeRateStore.currencyConverter.type = 'FREE'\n}\n\nfunction fetchCurrencies() {\n  const { driver, key } = exchangeRateStore.currentExchangeRate\n  if (driver && key) {\n    isFetchingCurrencies.value = true\n    let data = {\n      driver: driver,\n      key: key,\n    }\n    if (\n      isCurrencyConverter.value &&\n      !exchangeRateStore.currencyConverter.type\n    ) {\n      isFetchingCurrencies.value = false\n      return\n    }\n    if (exchangeRateStore?.currencyConverter?.type) {\n      data.type = exchangeRateStore.currencyConverter.type\n    }\n\n    exchangeRateStore\n      .fetchCurrencies(data)\n      .then((res) => {\n        isFetchingCurrencies.value = false\n      })\n      .catch((err) => {\n        isFetchingCurrencies.value = false\n      })\n  }\n}\n\nfunction checkingIsActiveCurrencies(showError = true) {\n  currenciesAlredayInUsed.value = []\n  const { currencies } = exchangeRateStore.currentExchangeRate\n\n  if (currencies.length && exchangeRateStore.activeUsedCurrencies?.length) {\n    currencies.forEach((curr) => {\n      if (exchangeRateStore.activeUsedCurrencies.includes(curr)) {\n        currenciesAlredayInUsed.value.push(curr)\n      }\n    })\n  }\n}\n\nfunction closeExchangeRateModal() {\n  modalStore.closeModal()\n  setTimeout(() => {\n    resetModalData()\n    v$.value.$reset()\n  }, 300)\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/modal-components/FileDiskModal.vue",
    "content": "<template>\n  <BaseModal :show=\"modalActive\" @close=\"closeDiskModal\" @open=\"loadData\">\n    <template #header>\n      <div class=\"flex justify-between w-full\">\n        {{ modalStore.title }}\n        <BaseIcon\n          name=\"XIcon\"\n          class=\"h-6 w-6 text-gray-500 cursor-pointer\"\n          @click=\"closeDiskModal\"\n        />\n      </div>\n    </template>\n    <div class=\"file-disk-modal\">\n      <component\n        :is=\"diskStore.selected_driver\"\n        :loading=\"isLoading\"\n        :disks=\"diskStore.getDiskDrivers\"\n        :is-edit=\"isEdit\"\n        @onChangeDisk=\"(val) => diskChange(val)\"\n        @submit=\"createNewDisk\"\n      >\n        <template #default=\"slotProps\">\n          <div\n            class=\"\n              z-0\n              flex\n              justify-end\n              p-4\n              border-t border-solid border-gray-light\n            \"\n          >\n            <BaseButton\n              class=\"mr-3 text-sm\"\n              variant=\"primary-outline\"\n              type=\"button\"\n              @click=\"closeDiskModal\"\n            >\n              {{ $t('general.cancel') }}\n            </BaseButton>\n\n            <BaseButton\n              :loading=\"isRequestFire(slotProps)\"\n              :disabled=\"isRequestFire(slotProps)\"\n              variant=\"primary\"\n              type=\"submit\"\n            >\n              <BaseIcon\n                v-if=\"!isRequestFire(slotProps)\"\n                name=\"SaveIcon\"\n                class=\"w-6 mr-2\"\n              />\n\n              {{ $t('general.save') }}\n            </BaseButton>\n          </div>\n        </template>\n      </component>\n    </div>\n  </BaseModal>\n</template>\n\n<script>\nimport { useDiskStore } from '@/scripts/admin/stores/disk'\nimport { useModalStore } from '@/scripts/stores/modal'\nimport { computed, ref, watchEffect } from 'vue'\nimport Dropbox from '@/scripts/admin/components/modal-components/disks/DropboxDisk.vue'\nimport Local from '@/scripts/admin/components/modal-components/disks/LocalDisk.vue'\nimport S3 from '@/scripts/admin/components/modal-components/disks/S3Disk.vue'\nimport DoSpaces from '@/scripts/admin/components/modal-components/disks/DoSpacesDisk.vue'\nexport default {\n  components: {\n    Dropbox,\n    Local,\n    S3,\n    DoSpaces,\n  },\n  setup() {\n    const diskStore = useDiskStore()\n    const modalStore = useModalStore()\n\n    let isLoading = ref(false)\n    let isEdit = ref(false)\n\n    watchEffect(() => {\n      if (modalStore.id) {\n        isEdit.value = true\n      }\n    })\n\n    const modalActive = computed(() => {\n      return modalStore.active && modalStore.componentName === 'FileDiskModal'\n    })\n\n    function isRequestFire(slotProps) {\n      return (\n        slotProps && (slotProps.diskData.isLoading.value || isLoading.value)\n      )\n    }\n\n    async function loadData() {\n      isLoading.value = true\n      let res = await diskStore.fetchDiskDrivers()\n      if (isEdit.value) {\n        diskStore.selected_driver = modalStore.data.driver\n      } else {\n        diskStore.selected_driver = res.data.drivers[0].value\n      }\n      isLoading.value = false\n    }\n\n    async function createNewDisk(data) {\n      Object.assign(diskStore.diskConfigData, data)\n      isLoading.value = true\n\n      let formData = {\n        id: modalStore.id,\n        ...data,\n      }\n\n      let response = null\n      const action = isEdit.value ? diskStore.updateDisk : diskStore.createDisk\n      response = await action(formData)\n      isLoading.value = false\n      modalStore.refreshData()\n      closeDiskModal()\n    }\n\n    function closeDiskModal() {\n      modalStore.closeModal()\n    }\n\n    function diskChange(value) {\n      diskStore.selected_driver = value\n      diskStore.diskConfigData.selected_driver = value\n    }\n\n    return {\n      isEdit,\n      createNewDisk,\n      isRequestFire,\n      diskStore,\n      closeDiskModal,\n      loadData,\n      diskChange,\n      modalStore,\n      isLoading,\n      modalActive,\n    }\n  },\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/modal-components/ItemModal.vue",
    "content": "<template>\n  <BaseModal :show=\"modalActive\" @close=\"closeItemModal\">\n    <template #header>\n      <div class=\"flex justify-between w-full\">\n        {{ modalStore.title }}\n        <BaseIcon\n          name=\"XIcon\"\n          class=\"h-6 w-6 text-gray-500 cursor-pointer\"\n          @click=\"closeItemModal\"\n        />\n      </div>\n    </template>\n    <div class=\"item-modal\">\n      <form action=\"\" @submit.prevent=\"submitItemData\">\n        <div class=\"px-8 py-8 sm:p-6\">\n          <BaseInputGrid layout=\"one-column\">\n            <BaseInputGroup\n              :label=\"$t('items.name')\"\n              required\n              :error=\"v$.name.$error && v$.name.$errors[0].$message\"\n            >\n              <BaseInput\n                v-model=\"itemStore.currentItem.name\"\n                type=\"text\"\n                :invalid=\"v$.name.$error\"\n                @input=\"v$.name.$touch()\"\n              />\n            </BaseInputGroup>\n\n            <BaseInputGroup :label=\"$t('items.price')\">\n              <BaseMoney\n                :key=\"companyStore.selectedCompanyCurrency\"\n                v-model=\"price\"\n                :currency=\"companyStore.selectedCompanyCurrency\"\n                class=\"\n                  relative\n                  w-full\n                  focus:border focus:border-solid focus:border-primary\n                \"\n              />\n            </BaseInputGroup>\n\n            <BaseInputGroup :label=\"$t('items.unit')\">\n              <BaseMultiselect\n                v-model=\"itemStore.currentItem.unit_id\"\n                label=\"name\"\n                :options=\"itemStore.itemUnits\"\n                value-prop=\"id\"\n                :can-deselect=\"false\"\n                :can-clear=\"false\"\n                :placeholder=\"$t('items.select_a_unit')\"\n                searchable\n                track-by=\"name\"\n              />\n            </BaseInputGroup>\n\n            <BaseInputGroup\n              v-if=\"isTaxPerItemEnabled\"\n              :label=\"$t('items.taxes')\"\n            >\n              <BaseMultiselect\n                v-model=\"taxes\"\n                :options=\"getTaxTypes\"\n                mode=\"tags\"\n                label=\"tax_name\"\n                value-prop=\"id\"\n                class=\"w-full\"\n                :can-deselect=\"false\"\n                :can-clear=\"false\"\n                searchable\n                track-by=\"tax_name\"\n                object\n              />\n            </BaseInputGroup>\n\n            <BaseInputGroup\n              :label=\"$t('items.description')\"\n              :error=\"\n                v$.description.$error && v$.description.$errors[0].$message\n              \"\n            >\n              <BaseTextarea\n                v-model=\"itemStore.currentItem.description\"\n                rows=\"4\"\n                cols=\"50\"\n                :invalid=\"v$.description.$error\"\n                @input=\"v$.description.$touch()\"\n              />\n            </BaseInputGroup>\n          </BaseInputGrid>\n        </div>\n        <div\n          class=\"z-0 flex justify-end p-4 border-t border-gray-200 border-solid\"\n        >\n          <BaseButton\n            class=\"mr-3\"\n            variant=\"primary-outline\"\n            type=\"button\"\n            @click=\"closeItemModal\"\n          >\n            {{ $t('general.cancel') }}\n          </BaseButton>\n          <BaseButton\n            :loading=\"isLoading\"\n            :disabled=\"isLoading\"\n            variant=\"primary\"\n            type=\"submit\"\n          >\n            <template #left=\"slotProps\">\n              <BaseIcon name=\"SaveIcon\" :class=\"slotProps.class\" />\n            </template>\n            {{ itemStore.isEdit ? $t('general.update') : $t('general.save') }}\n          </BaseButton>\n        </div>\n      </form>\n    </div>\n  </BaseModal>\n</template>\n\n<script setup>\nimport { computed, onMounted, reactive, ref, watch } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { useRoute } from 'vue-router'\nimport {\n  required,\n  minLength,\n  maxLength,\n  minValue,\n  helpers,\n  alpha,\n} from '@vuelidate/validators'\nimport useVuelidate from '@vuelidate/core'\nimport { useModalStore } from '@/scripts/stores/modal'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\nimport { useItemStore } from '@/scripts/admin/stores/item'\nimport { useTaxTypeStore } from '@/scripts/admin/stores/tax-type'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport { useEstimateStore } from '@/scripts/admin/stores/estimate'\nimport { useInvoiceStore } from '@/scripts/admin/stores/invoice'\n\nconst emit = defineEmits(['newItem'])\n\nconst modalStore = useModalStore()\nconst itemStore = useItemStore()\nconst companyStore = useCompanyStore()\nconst taxTypeStore = useTaxTypeStore()\nconst estimateStore = useEstimateStore()\nconst notificationStore = useNotificationStore()\n\nconst { t } = useI18n()\nconst isLoading = ref(false)\nconst taxPerItemSetting = ref(companyStore.selectedCompanySettings.tax_per_item)\n\nconst modalActive = computed(\n  () => modalStore.active && modalStore.componentName === 'ItemModal'\n)\n\nconst price = computed({\n  get: () => itemStore.currentItem.price / 100,\n  set: (value) => {\n    itemStore.currentItem.price = Math.round(value * 100)\n  },\n})\n\nconst taxes = computed({\n  get: () =>\n    itemStore.currentItem.taxes.map((tax) => {\n      if (tax) {\n        return {\n          ...tax,\n          tax_type_id: tax.id,\n          tax_name: tax.name + ' (' + tax.percent + '%)',\n        }\n      }\n    }),\n  set: (value) => {\n    itemStore.$patch((state) => {\n      state.currentItem.taxes = value\n    })\n  },\n})\n\nconst isTaxPerItemEnabled = computed(() => {\n  return taxPerItemSetting.value === 'YES'\n})\n\nconst rules = {\n  name: {\n    required: helpers.withMessage(t('validation.required'), required),\n    minLength: helpers.withMessage(\n      t('validation.name_min_length', { count: 3 }),\n      minLength(3)\n    ),\n  },\n\n  description: {\n    maxLength: helpers.withMessage(\n      t('validation.description_maxlength', { count: 255 }),\n      maxLength(255)\n    ),\n  },\n}\n\nconst v$ = useVuelidate(\n  rules,\n  computed(() => itemStore.currentItem)\n)\n\nconst getTaxTypes = computed(() => {\n  return taxTypeStore.taxTypes.map((tax) => {\n    return { ...tax, tax_name: tax.name + ' (' + tax.percent + '%)' }\n  })\n})\n\nonMounted(() => {\n  v$.value.$reset()\n  itemStore.fetchItemUnits({ limit: 'all' })\n})\n\nasync function submitItemData() {\n  v$.value.$touch()\n\n  if (v$.value.$invalid) {\n    return true\n  }\n\n  let data = {\n    ...itemStore.currentItem,\n    taxes: itemStore.currentItem.taxes.map((tax) => {\n      return {\n        tax_type_id: tax.id,\n        amount: (price.value * tax.percent) / 100,\n        percent: tax.percent,\n        name: tax.name,\n        collective_tax: 0,\n      }\n    }),\n  }\n\n  isLoading.value = true\n\n  const action = itemStore.isEdit ? itemStore.updateItem : itemStore.addItem\n\n  await action(data).then((res) => {\n    isLoading.value = false\n    if (res.data.data) {\n      if (modalStore.data) {\n        modalStore.refreshData(res.data.data)\n      }\n    }\n    closeItemModal()\n  })\n}\n\nfunction closeItemModal() {\n  modalStore.closeModal()\n  setTimeout(() => {\n    itemStore.resetCurrentItem()\n    modalStore.$reset()\n    v$.value.$reset()\n  }, 300)\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/modal-components/ItemUnitModal.vue",
    "content": "<template>\n  <BaseModal\n    :show=\"modalStore.active && modalStore.componentName === 'ItemUnitModal'\"\n    @close=\"closeItemUnitModal\"\n  >\n    <template #header>\n      <div class=\"flex justify-between w-full\">\n        {{ modalStore.title }}\n        <BaseIcon\n          name=\"XIcon\"\n          class=\"w-6 h-6 text-gray-500 cursor-pointer\"\n          @click=\"closeItemUnitModal\"\n        />\n      </div>\n    </template>\n\n    <form action=\"\" @submit.prevent=\"submitItemUnit\">\n      <div class=\"p-8 sm:p-6\">\n        <BaseInputGroup\n          :label=\"$t('settings.customization.items.unit_name')\"\n          :error=\"v$.name.$error && v$.name.$errors[0].$message\"\n          variant=\"horizontal\"\n          required\n        >\n          <BaseInput\n            v-model=\"itemStore.currentItemUnit.name\"\n            :invalid=\"v$.name.$error\"\n            type=\"text\"\n            @input=\"v$.name.$touch()\"\n          />\n        </BaseInputGroup>\n      </div>\n\n      <div\n        class=\"\n          z-0\n          flex\n          justify-end\n          p-4\n          border-t border-gray-200 border-solid border-modal-bg\n        \"\n      >\n        <BaseButton\n          type=\"button\"\n          variant=\"primary-outline\"\n          class=\"mr-3 text-sm\"\n          @click=\"closeItemUnitModal\"\n        >\n          {{ $t('general.cancel') }}\n        </BaseButton>\n\n        <BaseButton\n          :loading=\"isSaving\"\n          :disabled=\"isSaving\"\n          variant=\"primary\"\n          type=\"submit\"\n        >\n          <template #left=\"slotProps\">\n            <BaseIcon\n              v-if=\"!isSaving\"\n              name=\"SaveIcon\"\n              :class=\"slotProps.class\"\n            />\n          </template>\n          {{\n            itemStore.isItemUnitEdit ? $t('general.update') : $t('general.save')\n          }}\n        </BaseButton>\n      </div>\n    </form>\n  </BaseModal>\n</template>\n\n<script setup>\nimport { useItemStore } from '@/scripts/admin/stores/item'\nimport { useModalStore } from '@/scripts/stores/modal'\nimport { computed, ref, watch } from 'vue'\nimport { required, minLength, maxLength, helpers } from '@vuelidate/validators'\nimport { useVuelidate } from '@vuelidate/core'\nimport { useI18n } from 'vue-i18n'\n\nconst itemStore = useItemStore()\nconst modalStore = useModalStore()\n\nconst { t } = useI18n()\nlet isSaving = ref(false)\n\nconst rules = computed(() => {\n  return {\n    name: {\n      required: helpers.withMessage(t('validation.required'), required),\n      minLength: helpers.withMessage(\n        t('validation.name_min_length', { count: 3 }),\n        minLength(3)\n      ),\n    },\n  }\n})\n\nconst v$ = useVuelidate(\n  rules,\n  computed(() => itemStore.currentItemUnit)\n)\n\nasync function submitItemUnit() {\n  v$.value.$touch()\n\n  if (v$.value.$invalid) {\n    return true\n  }\n  try {\n    const action = itemStore.isItemUnitEdit\n      ? itemStore.updateItemUnit\n      : itemStore.addItemUnit\n\n    isSaving.value = true\n\n    await action(itemStore.currentItemUnit)\n\n    modalStore.refreshData ? modalStore.refreshData() : ''\n\n    closeItemUnitModal()\n    isSaving.value = false\n  } catch (err) {\n    isSaving.value = false\n    return true\n  }\n}\n\nfunction closeItemUnitModal() {\n  modalStore.closeModal()\n\n  setTimeout(() => {\n    itemStore.currentItemUnit = {\n      id: null,\n      name: '',\n    }\n\n    modalStore.$reset()\n    v$.value.$reset()\n  }, 300)\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/modal-components/MailTestModal.vue",
    "content": "<template>\n  <BaseModal :show=\"modalActive\" @close=\"closeTestModal\">\n    <template #header>\n      <div class=\"flex justify-between w-full\">\n        {{ modalStore.title }}\n        <BaseIcon\n          name=\"XIcon\"\n          class=\"w-6 h-6 text-gray-500 cursor-pointer\"\n          @click=\"closeTestModal\"\n        />\n      </div>\n    </template>\n    <form action=\"\" @submit.prevent=\"onTestMailSend\">\n      <div class=\"p-4 md:p-8\">\n        <BaseInputGrid layout=\"one-column\">\n          <BaseInputGroup\n            :label=\"$t('general.to')\"\n            :error=\"v$.formData.to.$error && v$.formData.to.$errors[0].$message\"\n            variant=\"horizontal\"\n            required\n          >\n            <BaseInput\n              ref=\"to\"\n              v-model=\"formData.to\"\n              type=\"text\"\n              :invalid=\"v$.formData.to.$error\"\n              @input=\"v$.formData.to.$touch()\"\n            />\n          </BaseInputGroup>\n          <BaseInputGroup\n            :label=\"$t('general.subject')\"\n            :error=\"\n              v$.formData.subject.$error &&\n              v$.formData.subject.$errors[0].$message\n            \"\n            variant=\"horizontal\"\n            required\n          >\n            <BaseInput\n              v-model=\"formData.subject\"\n              type=\"text\"\n              :invalid=\"v$.formData.subject.$error\"\n              @input=\"v$.formData.subject.$touch()\"\n            />\n          </BaseInputGroup>\n          <BaseInputGroup\n            :label=\"$t('general.message')\"\n            :error=\"\n              v$.formData.message.$error &&\n              v$.formData.message.$errors[0].$message\n            \"\n            variant=\"horizontal\"\n            required\n          >\n            <BaseTextarea\n              v-model=\"formData.message\"\n              rows=\"4\"\n              cols=\"50\"\n              :invalid=\"v$.formData.message.$error\"\n              @input=\"v$.formData.message.$touch()\"\n            />\n          </BaseInputGroup>\n        </BaseInputGrid>\n      </div>\n      <div\n        class=\"z-0 flex justify-end p-4 border-t border-gray-200 border-solid\"\n      >\n        <BaseButton\n          variant=\"primary-outline\"\n          type=\"button\"\n          class=\"mr-3\"\n          @click=\"closeTestModal()\"\n        >\n          {{ $t('general.cancel') }}\n        </BaseButton>\n\n        <BaseButton :loading=\"isSaving\" variant=\"primary\" type=\"submit\">\n          <template #left=\"slotProps\">\n            <BaseIcon\n              v-if=\"!isSaving\"\n              name=\"PaperAirplaneIcon\"\n              :class=\"slotProps.class\"\n            />\n          </template>\n          {{ $t('general.send') }}\n        </BaseButton>\n      </div>\n    </form>\n  </BaseModal>\n</template>\n\n<script setup>\nimport { reactive, ref, computed } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { required, email, maxLength, helpers } from '@vuelidate/validators'\nimport useVuelidate from '@vuelidate/core'\nimport { useModalStore } from '@/scripts/stores/modal'\nimport { useMailDriverStore } from '@/scripts/admin/stores/mail-driver'\n\nlet isSaving = ref(false)\nlet formData = reactive({\n  to: '',\n  subject: '',\n  message: '',\n})\n\nconst modalStore = useModalStore()\nconst mailDriverStore = useMailDriverStore()\nconst { t } = useI18n()\n\nconst modalActive = computed(() => {\n  return modalStore.active && modalStore.componentName === 'MailTestModal'\n})\n\nconst rules = {\n  formData: {\n    to: {\n      required: helpers.withMessage(t('validation.required'), required),\n      email: helpers.withMessage(t('validation.email_incorrect'), email),\n    },\n    subject: {\n      required: helpers.withMessage(t('validation.required'), required),\n      maxLength: helpers.withMessage(\n        t('validation.subject_maxlength'),\n        maxLength(100)\n      ),\n    },\n    message: {\n      required: helpers.withMessage(t('validation.required'), required),\n      maxLength: helpers.withMessage(\n        t('validation.message_maxlength'),\n        maxLength(255)\n      ),\n    },\n  },\n}\n\nconst v$ = useVuelidate(rules, { formData })\n\nfunction resetFormData() {\n  formData.id = ''\n  formData.to = ''\n  formData.subject = ''\n  formData.message = ''\n\n  v$.value.$reset()\n}\n\nasync function onTestMailSend() {\n  v$.value.formData.$touch()\n  if (v$.value.$invalid) {\n    return true\n  }\n\n  isSaving.value = true\n  let response = await mailDriverStore.sendTestMail(formData)\n  if (response.data) {\n    closeTestModal()\n    isSaving.value = false\n  }\n}\nfunction closeTestModal() {\n  modalStore.closeModal()\n  setTimeout(() => {\n    modalStore.resetModalData()\n    resetFormData()\n  }, 300)\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/modal-components/NoteModal.vue",
    "content": "<template>\n  <BaseModal :show=\"modalActive\" @close=\"closeNoteModal\" @open=\"setFields\">\n    <template #header>\n      <div class=\"flex justify-between w-full\">\n        {{ modalStore.title }}\n        <BaseIcon\n          name=\"XIcon\"\n          class=\"h-6 w-6 text-gray-500 cursor-pointer\"\n          @click=\"closeNoteModal\"\n        />\n      </div>\n    </template>\n    <form action=\"\" @submit.prevent=\"submitNote\">\n      <div class=\"px-8 py-8 sm:p-6\">\n        <BaseInputGrid layout=\"one-column\">\n          <BaseInputGroup\n            :label=\"$t('settings.customization.notes.name')\"\n            variant=\"vertical\"\n            :error=\"\n              v$.currentNote.name.$error &&\n              v$.currentNote.name.$errors[0].$message\n            \"\n            required\n          >\n            <BaseInput\n              v-model=\"noteStore.currentNote.name\"\n              :invalid=\"v$.currentNote.name.$error\"\n              type=\"text\"\n              @input=\"v$.currentNote.name.$touch()\"\n            />\n          </BaseInputGroup>\n\n          <BaseInputGroup\n            :label=\"$t('settings.customization.notes.type')\"\n            :error=\"\n              v$.currentNote.type.$error &&\n              v$.currentNote.type.$errors[0].$message\n            \"\n            required\n          >\n            <BaseMultiselect\n              v-model=\"noteStore.currentNote.type\"\n              :options=\"types\"\n              value-prop=\"type\"\n              class=\"mt-2\"\n            />\n          </BaseInputGroup>\n\n          <BaseInputGroup\n            :label=\"$t('settings.customization.notes.notes')\"\n            :error=\"\n              v$.currentNote.notes.$error &&\n              v$.currentNote.notes.$errors[0].$message\n            \"\n            required\n          >\n            <BaseCustomInput\n              v-model=\"noteStore.currentNote.notes\"\n              :invalid=\"v$.currentNote.notes.$error\"\n              :fields=\"fields\"\n              @input=\"v$.currentNote.notes.$touch()\"\n            />\n          </BaseInputGroup>\n        </BaseInputGrid>\n      </div>\n      <div\n        class=\"\n          z-0\n          flex\n          justify-end\n          px-4\n          py-4\n          border-t border-solid border-gray-light\n        \"\n      >\n        <BaseButton\n          class=\"mr-2\"\n          variant=\"primary-outline\"\n          type=\"button\"\n          @click=\"closeNoteModal\"\n        >\n          {{ $t('general.cancel') }}\n        </BaseButton>\n\n        <BaseButton\n          :loading=\"isSaving\"\n          :disabled=\"isSaving\"\n          variant=\"primary\"\n          type=\"submit\"\n        >\n          <template #left=\"slotProps\">\n            <BaseIcon name=\"SaveIcon\" :class=\"slotProps.class\" />\n          </template>\n          {{ noteStore.isEdit ? $t('general.update') : $t('general.save') }}\n        </BaseButton>\n      </div>\n    </form>\n  </BaseModal>\n</template>\n\n<script setup>\nimport { ref, reactive, computed, watch, onMounted } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { useRoute } from 'vue-router'\nimport { required, minLength, helpers } from '@vuelidate/validators'\nimport { useVuelidate } from '@vuelidate/core'\nimport { useModalStore } from '@/scripts/stores/modal'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport { useNotesStore } from '@/scripts/admin/stores/note'\nimport { useInvoiceStore } from '@/scripts/admin/stores/invoice'\nimport { usePaymentStore } from '@/scripts/admin/stores/payment'\nimport { useEstimateStore } from '@/scripts/admin/stores/estimate'\n\nconst modalStore = useModalStore()\nconst notificationStore = useNotificationStore()\nconst noteStore = useNotesStore()\nconst invoiceStore = useInvoiceStore()\nconst paymentStore = usePaymentStore()\nconst estimateStore = useEstimateStore()\n\nconst route = useRoute()\nconst { t } = useI18n()\n\nlet isSaving = ref(false)\nconst types = reactive(['Invoice', 'Estimate', 'Payment'])\nlet fields = ref(['customer', 'customerCustom'])\n\nconst modalActive = computed(() => {\n  return modalStore.active && modalStore.componentName === 'NoteModal'\n})\n\nconst rules = computed(() => {\n  return {\n    currentNote: {\n      name: {\n        required: helpers.withMessage(t('validation.required'), required),\n        minLength: helpers.withMessage(\n          t('validation.name_min_length', { count: 3 }),\n          minLength(3)\n        ),\n      },\n      notes: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n      type: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n    },\n  }\n})\n\nconst v$ = useVuelidate(\n  rules,\n  computed(() => noteStore)\n)\n\nwatch(\n  () => noteStore.currentNote.type,\n  (val) => {\n    setFields()\n  }\n)\n\nonMounted(() => {\n  if (route.name === 'estimates.create') {\n    noteStore.currentNote.type = 'Estimate'\n  } else if (route.name === 'invoices.create') {\n    noteStore.currentNote.type = 'Invoice'\n  } else {\n    noteStore.currentNote.type = 'Payment'\n  }\n})\n\nfunction setFields() {\n  fields.value = ['customer', 'customerCustom']\n\n  if (noteStore.currentNote.type == 'Invoice') {\n    fields.value.push('invoice', 'invoiceCustom')\n  }\n\n  if (noteStore.currentNote.type == 'Estimate') {\n    fields.value.push('estimate', 'estimateCustom')\n  }\n\n  if (noteStore.currentNote.type == 'Payment') {\n    fields.value.push('payment', 'paymentCustom')\n  }\n}\n\nasync function submitNote() {\n  v$.value.currentNote.$touch()\n  if (v$.value.currentNote.$invalid) {\n    return true\n  }\n\n  isSaving.value = true\n  if (noteStore.isEdit) {\n    let data = {\n      id: noteStore.currentNote.id,\n      ...noteStore.currentNote,\n    }\n    await noteStore\n      .updateNote(data)\n      .then((res) => {\n        isSaving.value = false\n        if (res.data) {\n          notificationStore.showNotification({\n            type: 'success',\n            message: t('settings.customization.notes.note_updated'),\n          })\n          modalStore.refreshData ? modalStore.refreshData() : ''\n          closeNoteModal()\n        }\n      })\n      .catch((err) => {\n        isSaving.value = false\n      })\n  } else {\n    await noteStore\n      .addNote(noteStore.currentNote)\n      .then((res) => {\n        isSaving.value = false\n        if (res.data) {\n          notificationStore.showNotification({\n            type: 'success',\n            message: t('settings.customization.notes.note_added'),\n          })\n\n          if (\n            (route.name === 'invoices.create' &&\n              res.data.data.type === 'Invoice') ||\n            (route.name === 'invoices.edit' && res.data.data.type === 'Invoice')\n          ) {\n            invoiceStore.selectNote(res.data.data)\n          }\n\n          if (\n            (route.name === 'estimates.create' &&\n              res.data.data.type === 'Estimate') ||\n            (route.name === 'estimates.edit' &&\n              res.data.data.type === 'Estimate')\n          ) {\n            estimateStore.selectNote(res.data.data)\n          }\n\n          if (\n            (route.name === 'payments.create' &&\n              res.data.data.type === 'Payment') ||\n            (route.name === 'payments.edit' && res.data.data.type === 'Payment')\n          ) {\n            paymentStore.selectNote(res.data.data)\n          }\n        }\n\n        modalStore.refreshData ? modalStore.refreshData() : ''\n        closeNoteModal()\n      })\n      .catch((err) => {\n        isSaving.value = false\n      })\n  }\n}\n\nfunction closeNoteModal() {\n  modalStore.closeModal()\n\n  setTimeout(() => {\n    noteStore.resetCurrentNote()\n    v$.value.$reset()\n  }, 300)\n}\n</script>\n\n<style lang=\"scss\">\n.note-modal {\n  .header-editior .editor-menu-bar {\n    margin-left: 0.5px;\n    margin-right: 0px;\n  }\n}\n</style>\n"
  },
  {
    "path": "resources/scripts/admin/components/modal-components/PaymentModeModal.vue",
    "content": "<template>\n  <BaseModal :show=\"modalActive\" @close=\"closePaymentModeModal\">\n    <template #header>\n      <div class=\"flex justify-between w-full\">\n        {{ modalStore.title }}\n        <BaseIcon\n          name=\"XIcon\"\n          class=\"w-6 h-6 text-gray-500 cursor-pointer\"\n          @click=\"closePaymentModeModal\"\n        />\n      </div>\n    </template>\n\n    <form action=\"\" @submit.prevent=\"submitPaymentMode\">\n      <div class=\"p-4 sm:p-6\">\n        <BaseInputGroup\n          :label=\"$t('settings.payment_modes.mode_name')\"\n          :error=\"\n            v$.currentPaymentMode.name.$error &&\n            v$.currentPaymentMode.name.$errors[0].$message\n          \"\n          required\n        >\n          <BaseInput\n            v-model=\"paymentStore.currentPaymentMode.name\"\n            :invalid=\"v$.currentPaymentMode.name.$error\"\n            @input=\"v$.currentPaymentMode.name.$touch()\"\n          />\n        </BaseInputGroup>\n      </div>\n\n      <div\n        class=\"z-0 flex justify-end p-4 border-t border-gray-200 border-solid\"\n      >\n        <BaseButton\n          variant=\"primary-outline\"\n          class=\"mr-3\"\n          type=\"button\"\n          @click=\"closePaymentModeModal\"\n        >\n          {{ $t('general.cancel') }}\n        </BaseButton>\n\n        <BaseButton\n          :loading=\"isSaving\"\n          :disabled=\"isSaving\"\n          variant=\"primary\"\n          type=\"submit\"\n        >\n          <template #left=\"slotProps\">\n            <BaseIcon name=\"SaveIcon\" :class=\"slotProps.class\" />\n          </template>\n          {{\n            paymentStore.currentPaymentMode.id\n              ? $t('general.update')\n              : $t('general.save')\n          }}\n        </BaseButton>\n      </div>\n    </form>\n  </BaseModal>\n</template>\n\n<script setup>\nimport { usePaymentStore } from '@/scripts/admin/stores/payment'\nimport { ref, computed } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { required, minLength, helpers } from '@vuelidate/validators'\nimport { useVuelidate } from '@vuelidate/core'\nimport { useModalStore } from '@/scripts/stores/modal'\n\nconst modalStore = useModalStore()\nconst paymentStore = usePaymentStore()\n\nconst { t } = useI18n()\nconst isSaving = ref(false)\n\nconst rules = computed(() => {\n  return {\n    currentPaymentMode: {\n      name: {\n        required: helpers.withMessage(t('validation.required'), required),\n        minLength: helpers.withMessage(\n          t('validation.name_min_length', { count: 3 }),\n          minLength(3)\n        ),\n      },\n    },\n  }\n})\n\nconst v$ = useVuelidate(\n  rules,\n  computed(() => paymentStore)\n)\n\nconst modalActive = computed(() => {\n  return modalStore.active && modalStore.componentName === 'PaymentModeModal'\n})\n\nasync function submitPaymentMode() {\n  v$.value.currentPaymentMode.$touch()\n\n  if (v$.value.currentPaymentMode.$invalid) {\n    return true\n  }\n  try {\n    const action = paymentStore.currentPaymentMode.id\n      ? paymentStore.updatePaymentMode\n      : paymentStore.addPaymentMode\n    isSaving.value = true\n    await action(paymentStore.currentPaymentMode)\n    isSaving.value = false\n    modalStore.refreshData ? modalStore.refreshData() : ''\n    closePaymentModeModal()\n  } catch (err) {\n    isSaving.value = false\n    return true\n  }\n}\n\nfunction closePaymentModeModal() {\n  modalStore.closeModal()\n\n  setTimeout(() => {\n    v$.value.$reset()\n    paymentStore.currentPaymentMode = {\n      id: '',\n      name: null,\n    }\n  })\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/modal-components/RolesModal.vue",
    "content": "<template>\n  <BaseModal :show=\"modalActive\" @close=\"closeRolesModal\">\n    <template #header>\n      <div class=\"flex justify-between w-full\">\n        {{ modalStore.title }}\n\n        <BaseIcon\n          name=\"XIcon\"\n          class=\"w-6 h-6 text-gray-500 cursor-pointer\"\n          @click=\"closeRolesModal\"\n        />\n      </div>\n    </template>\n\n    <form @submit.prevent=\"submitRoleData\">\n      <div class=\"px-4 md:px-8 py-4 md:py-6\">\n        <BaseInputGroup\n          :label=\"$t('settings.roles.name')\"\n          class=\"mt-3\"\n          :error=\"v$.name.$error && v$.name.$errors[0].$message\"\n          required\n          :content-loading=\"isFetchingInitialData\"\n        >\n          <BaseInput\n            v-model=\"roleStore.currentRole.name\"\n            :invalid=\"v$.name.$error\"\n            type=\"text\"\n            :content-loading=\"isFetchingInitialData\"\n            @input=\"v$.name.$touch()\"\n          />\n        </BaseInputGroup>\n      </div>\n      <div class=\"flex justify-between\">\n        <h6\n          class=\"\n            text-sm\n            not-italic\n            font-medium\n            text-gray-800\n            px-4\n            md:px-8\n            py-1.5\n          \"\n        >\n          {{ $tc('settings.roles.permission', 2) }}\n          <span class=\"text-sm text-red-500\"> *</span>\n        </h6>\n        <div\n          class=\"\n            text-sm\n            not-italic\n            font-medium\n            text-gray-300\n            px-4\n            md:px-8\n            py-1.5\n          \"\n        >\n          <a\n            class=\"cursor-pointer text-primary-400\"\n            @click=\"setSelectAll(true)\"\n          >\n            {{ $t('settings.roles.select_all') }}\n          </a>\n          /\n          <a\n            class=\"cursor-pointer text-primary-400\"\n            @click=\"setSelectAll(false)\"\n          >\n            {{ $t('settings.roles.none') }}\n          </a>\n        </div>\n      </div>\n\n      <div class=\"border-t border-gray-200 py-3\">\n        <div\n          class=\"\n            grid grid-cols-1\n            sm:grid-cols-2\n            md:grid-cols-3\n            lg:grid-cols-4\n            gap-4\n            px-8\n            sm:px-8\n          \"\n        >\n          <div\n            v-for=\"(abilityGroup, gIndex) in roleStore.abilitiesList\"\n            :key=\"gIndex\"\n            class=\"flex flex-col space-y-1\"\n          >\n            <p class=\"text-sm text-gray-500 border-b border-gray-200 pb-1 mb-2\">\n              {{ gIndex }}\n            </p>\n            <div\n              v-for=\"(ability, index) in abilityGroup\"\n              :key=\"index\"\n              class=\"flex\"\n            >\n              <BaseCheckbox\n                v-model=\"roleStore.currentRole.abilities\"\n                :set-initial-value=\"true\"\n                variant=\"primary\"\n                :disabled=\"ability.disabled\"\n                :label=\"ability.name\"\n                :value=\"ability\"\n                @update:modelValue=\"onUpdateAbility(ability)\"\n              />\n            </div>\n          </div>\n          <span\n            v-if=\"v$.abilities.$error\"\n            class=\"block mt-0.5 text-sm text-red-500\"\n          >\n            {{ v$.abilities.$errors[0].$message }}\n          </span>\n        </div>\n      </div>\n      <div\n        class=\"\n          z-0\n          flex\n          justify-end\n          p-4\n          border-t border-solid border--200 border-modal-bg\n        \"\n      >\n        <BaseButton\n          class=\"mr-3 text-sm\"\n          variant=\"primary-outline\"\n          type=\"button\"\n          @click=\"closeRolesModal\"\n        >\n          {{ $t('general.cancel') }}\n        </BaseButton>\n        <BaseButton\n          :loading=\"isSaving\"\n          :disabled=\"isSaving\"\n          variant=\"primary\"\n          type=\"submit\"\n        >\n          <template #left=\"slotProps\">\n            <BaseIcon name=\"SaveIcon\" :class=\"slotProps.class\" />\n          </template>\n          {{ !roleStore.isEdit ? $t('general.save') : $t('general.update') }}\n        </BaseButton>\n      </div>\n    </form>\n  </BaseModal>\n</template>\n\n<script setup>\nimport { computed, ref } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { required, minLength, helpers } from '@vuelidate/validators'\nimport { useVuelidate } from '@vuelidate/core'\nimport { useRoleStore } from '@/scripts/admin/stores/role'\nimport { useModalStore } from '@/scripts/stores/modal'\n\nconst modalStore = useModalStore()\nconst roleStore = useRoleStore()\nconst { t } = useI18n()\n\nlet isSaving = ref(false)\nlet isFetchingInitialData = ref(false)\n\nconst modalActive = computed(() => {\n  return modalStore.active && modalStore.componentName === 'RolesModal'\n})\n\nconst rules = computed(() => {\n  return {\n    name: {\n      required: helpers.withMessage(t('validation.required'), required),\n      minLength: helpers.withMessage(\n        t('validation.name_min_length', { count: 3 }),\n        minLength(3)\n      ),\n    },\n    abilities: {\n      required: helpers.withMessage(\n        t('validation.at_least_one_ability'),\n        required\n      ),\n    },\n  }\n})\n\nconst v$ = useVuelidate(\n  rules,\n  computed(() => roleStore.currentRole)\n)\n\nasync function submitRoleData() {\n  v$.value.$touch()\n\n  if (v$.value.$invalid) {\n    return true\n  }\n  try {\n    const action = roleStore.isEdit ? roleStore.updateRole : roleStore.addRole\n    isSaving.value = true\n    await action(roleStore.currentRole)\n    isSaving.value = false\n    modalStore.refreshData ? modalStore.refreshData() : ''\n    closeRolesModal()\n  } catch (error) {\n    isSaving.value = false\n    return true\n  }\n}\n\nfunction onUpdateAbility(currentAbility) {\n  const fd = roleStore.currentRole.abilities.find(\n    (_abl) => _abl.ability === currentAbility.ability\n  )\n\n  if (!fd && currentAbility?.depends_on?.length) {\n    enableAbilities(currentAbility)\n    return\n  }\n\n  currentAbility?.depends_on?.forEach((_d) => {\n    Object.keys(roleStore.abilitiesList).forEach((group) => {\n      roleStore.abilitiesList[group].forEach((_a) => {\n        if (_d === _a.ability) {\n          _a.disabled = true\n\n          let found = roleStore.currentRole.abilities.find(\n            (_af) => _af.ability === _d\n          )\n\n          if (!found) {\n            roleStore.currentRole.abilities.push(_a)\n          }\n        }\n      })\n    })\n  })\n}\n\nfunction setSelectAll(checked) {\n  let dependList = []\n  Object.keys(roleStore.abilitiesList).forEach((group) => {\n    roleStore.abilitiesList[group].forEach((_a) => {\n      _a?.depends_on && (dependList = [...dependList, ..._a.depends_on])\n    })\n  })\n\n  Object.keys(roleStore.abilitiesList).forEach((group) => {\n    roleStore.abilitiesList[group].forEach((_a) => {\n      if (dependList.includes(_a.ability)) {\n        checked ? (_a.disabled = true) : (_a.disabled = false)\n      }\n      roleStore.currentRole.abilities.push(_a)\n    })\n  })\n\n  if (!checked) roleStore.currentRole.abilities = []\n}\n\nfunction enableAbilities(ability) {\n  ability.depends_on.forEach((_d) => {\n    Object.keys(roleStore.abilitiesList).forEach((group) => {\n      roleStore.abilitiesList[group].forEach((_a) => {\n        // CHECK IF EXISTS IN CURRENT ROLE ABILITIES\n        let found = roleStore.currentRole.abilities.find((_r) =>\n          _r.depends_on?.includes(_a.ability)\n        )\n\n        if (_d === _a.ability && !found) {\n          _a.disabled = false\n        }\n      })\n    })\n  })\n}\n\nfunction closeRolesModal() {\n  modalStore.closeModal()\n\n  setTimeout(() => {\n    roleStore.currentRole = {\n      id: null,\n      name: '',\n      abilities: [],\n    }\n\n    // Enable all disabled ability\n    Object.keys(roleStore.abilitiesList).forEach((group) => {\n      roleStore.abilitiesList[group].forEach((_a) => {\n        _a.disabled = false\n      })\n    })\n\n    v$.value.$reset()\n  }, 300)\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/modal-components/SelectTemplateModal.vue",
    "content": "<template>\n  <BaseModal :show=\"modalActive\" @close=\"closeModal\" @open=\"setData\">\n    <template #header>\n      <div class=\"flex justify-between w-full\">\n        {{ modalTitle }}\n        <BaseIcon\n          name=\"XIcon\"\n          class=\"h-6 w-6 text-gray-500 cursor-pointer\"\n          @click=\"closeModal\"\n        />\n      </div>\n    </template>\n    <div class=\"px-8 py-8 sm:p-6\">\n      <div\n        v-if=\"modalStore.data\"\n        class=\"grid grid-cols-3 gap-2 p-1 overflow-x-auto\"\n      >\n        <div\n          v-for=\"(template, index) in modalStore.data.templates\"\n          :key=\"index\"\n          :class=\"{\n            'border border-solid border-primary-500':\n              selectedTemplate === template.name,\n          }\"\n          class=\"\n            relative\n            flex flex-col\n            m-2\n            border border-gray-200 border-solid\n            cursor-pointer\n            hover:border-primary-300\n          \"\n          @click=\"selectedTemplate = template.name\"\n        >\n          <img\n            :src=\"template.path\"\n            :alt=\"template.name\"\n            class=\"w-full min-h-[100px]\"\n          />\n          <img\n            v-if=\"selectedTemplate === template.name\"\n            :alt=\"template.name\"\n            class=\"absolute z-10 w-5 h-5 text-primary-500\"\n            style=\"top: -6px; right: -5px\"\n            :src=\"getTickImage()\"\n          />\n          <span\n            :class=\"[\n              'w-full p-1 bg-gray-200 text-sm text-center absolute bottom-0 left-0',\n              {\n                'text-primary-500 bg-primary-100':\n                  selectedTemplate === template.name,\n                'text-gray-600': selectedTemplate != template.name,\n              },\n            ]\"\n          >\n            {{ template.name }}\n          </span>\n        </div>\n      </div>\n\n      <div v-if=\"!modalStore.data.store.isEdit\" class=\"z-0 flex ml-3 pt-5\">\n        <BaseCheckbox\n          v-model=\"modalStore.data.isMarkAsDefault\"\n          :set-initial-value=\"false\"\n          variant=\"primary\"\n          :label=\"$t('general.mark_as_default')\"\n          :description=\"modalStore.data.markAsDefaultDescription\"\n        />\n      </div>\n    </div>\n\n    <div class=\"z-0 flex justify-end p-4 border-t border-gray-200 border-solid\">\n      <BaseButton class=\"mr-3\" variant=\"primary-outline\" @click=\"closeModal\">\n        {{ $t('general.cancel') }}\n      </BaseButton>\n      <BaseButton variant=\"primary\" @click=\"chooseTemplate()\">\n        <template #left=\"slotProps\">\n          <BaseIcon name=\"SaveIcon\" :class=\"slotProps.class\" />\n        </template>\n        {{ $t('general.choose') }}\n      </BaseButton>\n    </div>\n  </BaseModal>\n</template>\n\n<script setup>\nimport { ref, computed } from 'vue'\nimport { useModalStore } from '@/scripts/stores/modal'\nimport { useUserStore } from '@/scripts/admin/stores/user'\n\nconst modalStore = useModalStore()\nconst userStore = useUserStore()\n\nconst selectedTemplate = ref('')\n\nconst modalActive = computed(() => {\n  return modalStore.active && modalStore.componentName === 'SelectTemplate'\n})\n\nconst modalTitle = computed(() => {\n  return modalStore.title\n})\n\nfunction setData() {\n  if (modalStore.data.store[modalStore.data.storeProp].template_name) {\n    selectedTemplate.value =\n      modalStore.data.store[modalStore.data.storeProp].template_name\n  } else {\n    selectedTemplate.value = modalStore.data.templates[0]\n  }\n}\n\nasync function chooseTemplate() {\n  await modalStore.data.store.setTemplate(selectedTemplate.value)\n  // update default estimate or invoice template\n  if (!modalStore.data.store.isEdit && modalStore.data.isMarkAsDefault) {\n    if (modalStore.data.storeProp == 'newEstimate') {\n      await userStore.updateUserSettings({\n        settings: {\n          default_estimate_template: selectedTemplate.value,\n        },\n      })\n    } else if (modalStore.data.storeProp == 'newInvoice') {\n      await userStore.updateUserSettings({\n        settings: {\n          default_invoice_template: selectedTemplate.value,\n        },\n      })\n    }\n  }\n  closeModal()\n}\n\nfunction getTickImage() {\n  const imgUrl = new URL('/img/tick.png', import.meta.url)\n  return imgUrl\n}\n\nfunction closeModal() {\n  modalStore.closeModal()\n\n  setTimeout(() => {\n    modalStore.$reset()\n  }, 300)\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/modal-components/SendEstimateModal.vue",
    "content": "<template>\n  <BaseModal\n    :show=\"modalActive\"\n    @close=\"closeSendEstimateModal\"\n    @open=\"setInitialData\"\n  >\n    <template #header>\n      <div class=\"flex justify-between w-full\">\n        {{ modalStore.title }}\n        <BaseIcon\n          name=\"XIcon\"\n          class=\"h-6 w-6 text-gray-500 cursor-pointer\"\n          @click=\"closeSendEstimateModal\"\n        />\n      </div>\n    </template>\n\n    <form v-if=\"!isPreview\" action=\"\">\n      <div class=\"px-8 py-8 sm:p-6\">\n        <BaseInputGrid layout=\"one-column\">\n          <BaseInputGroup\n            :label=\"$t('general.from')\"\n            required\n            :error=\"v$.from.$error && v$.from.$errors[0].$message\"\n          >\n            <BaseInput\n              v-model=\"estimateMailForm.from\"\n              type=\"text\"\n              :invalid=\"v$.from.$error\"\n              @input=\"v$.from.$touch()\"\n            />\n          </BaseInputGroup>\n          <BaseInputGroup\n            :label=\"$t('general.to')\"\n            required\n            :error=\"v$.to.$error && v$.to.$errors[0].$message\"\n          >\n            <BaseInput\n              v-model=\"estimateMailForm.to\"\n              type=\"text\"\n              :invalid=\"v$.to.$error\"\n              @input=\"v$.to.$touch()\"\n            />\n          </BaseInputGroup>\n          <BaseInputGroup\n            :label=\"$t('general.subject')\"\n            required\n            :error=\"v$.subject.$error && v$.subject.$errors[0].$message\"\n          >\n            <BaseInput\n              v-model=\"estimateMailForm.subject\"\n              type=\"text\"\n              :invalid=\"v$.subject.$error\"\n              @input=\"v$.subject.$touch()\"\n            />\n          </BaseInputGroup>\n          <BaseInputGroup :label=\"$t('general.body')\" required>\n            <BaseCustomInput\n              v-model=\"estimateMailForm.body\"\n              :fields=\"estimateMailFields\"\n            />\n          </BaseInputGroup>\n        </BaseInputGrid>\n      </div>\n      <div\n        class=\"z-0 flex justify-end p-4 border-t border-gray-200 border-solid\"\n      >\n        <BaseButton\n          class=\"mr-3\"\n          variant=\"primary-outline\"\n          type=\"button\"\n          @click=\"closeSendEstimateModal\"\n        >\n          {{ $t('general.cancel') }}\n        </BaseButton>\n\n        <BaseButton\n          :loading=\"isLoading\"\n          :disabled=\"isLoading\"\n          variant=\"primary\"\n          type=\"button\"\n          class=\"mr-3\"\n          @click=\"submitForm\"\n        >\n          <BaseIcon v-if=\"!isLoading\" name=\"PhotographIcon\" class=\"h-5 mr-2\" />\n          {{ $t('general.preview') }}\n        </BaseButton>\n      </div>\n    </form>\n    <div v-else>\n      <div class=\"my-6 mx-4 border border-gray-200 relative\">\n        <BaseButton\n          class=\"absolute top-4 right-4\"\n          :disabled=\"isLoading\"\n          variant=\"primary-outline\"\n          @click=\"cancelPreview\"\n        >\n          <BaseIcon name=\"PencilIcon\" class=\"h-5 mr-2\" />\n          Edit\n        </BaseButton>\n        <iframe\n          :src=\"templateUrl\"\n          frameborder=\"0\"\n          class=\"w-full\"\n          style=\"min-height: 500px\"\n        ></iframe>\n      </div>\n\n      <div\n        class=\"z-0 flex justify-end p-4 border-t border-gray-200 border-solid\"\n      >\n        <BaseButton\n          class=\"mr-3\"\n          variant=\"primary-outline\"\n          type=\"button\"\n          @click=\"closeSendEstimateModal\"\n        >\n          {{ $t('general.cancel') }}\n        </BaseButton>\n        <BaseButton\n          :loading=\"isLoading\"\n          :disabled=\"isLoading\"\n          variant=\"primary\"\n          type=\"button\"\n          @click=\"submitForm\"\n        >\n          <BaseIcon v-if=\"!isLoading\" name=\"PaperAirplaneIcon\" class=\"mr-2\" />\n          {{ $t('general.send') }}\n        </BaseButton>\n      </div>\n    </div>\n  </BaseModal>\n</template>\n\n<script setup>\nimport { computed, onMounted, ref, watchEffect, reactive } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { required, email, helpers } from '@vuelidate/validators'\nimport useVuelidate from '@vuelidate/core'\nimport { useModalStore } from '@/scripts/stores/modal'\nimport { useEstimateStore } from '@/scripts/admin/stores/estimate'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\nimport { useMailDriverStore } from '@/scripts/admin/stores/mail-driver'\n\nconst modalStore = useModalStore()\nconst estimateStore = useEstimateStore()\nconst notificationStore = useNotificationStore()\nconst companyStore = useCompanyStore()\nconst mailDriverStore = useMailDriverStore()\n\nconst { t } = useI18n()\nconst isLoading = ref(false)\nconst templateUrl = ref('')\nconst isPreview = ref(false)\n\nconst estimateMailFields = ref([\n  'customer',\n  'customerCustom',\n  'estimate',\n  'estimateCustom',\n  'company',\n])\n\nlet estimateMailForm = reactive({\n  id: null,\n  from: null,\n  to: null,\n  subject: 'New Estimate',\n  body: null,\n})\n\nconst emit = defineEmits(['update'])\n\nconst modalActive = computed(() => {\n  return modalStore.active && modalStore.componentName === 'SendEstimateModal'\n})\n\nconst modalData = computed(() => {\n  return modalStore.data\n})\n\nconst rules = {\n  from: {\n    required: helpers.withMessage(t('validation.required'), required),\n    email: helpers.withMessage(t('validation.email_incorrect'), email),\n  },\n  to: {\n    required: helpers.withMessage(t('validation.required'), required),\n    email: helpers.withMessage(t('validation.email_incorrect'), email),\n  },\n  subject: {\n    required: helpers.withMessage(t('validation.required'), required),\n  },\n  body: {\n    required: helpers.withMessage(t('validation.required'), required),\n  },\n}\n\nconst v$ = useVuelidate(\n  rules,\n  computed(() => estimateMailForm)\n)\n\nfunction cancelPreview() {\n  isPreview.value = false\n}\n\nasync function setInitialData() {\n  let admin = await companyStore.fetchBasicMailConfig()\n\n  estimateMailForm.id = modalStore.id\n\n  if (admin.data) {\n    estimateMailForm.from = admin.data.from_mail\n  }\n\n  if (modalData.value) {\n    estimateMailForm.to = modalData.value.customer.email\n  }\n\n  estimateMailForm.body =\n    companyStore.selectedCompanySettings.estimate_mail_body\n}\n\nasync function submitForm() {\n  v$.value.$touch()\n\n  if (v$.value.$invalid) {\n    return true\n  }\n\n  try {\n    isLoading.value = true\n\n    if (!isPreview.value) {\n      const previewResponse = await estimateStore.previewEstimate(\n        estimateMailForm\n      )\n      isLoading.value = false\n\n      isPreview.value = true\n      var blob = new Blob([previewResponse.data], { type: 'text/html' })\n      templateUrl.value = URL.createObjectURL(blob)\n\n      return\n    }\n\n    const response = await estimateStore.sendEstimate(estimateMailForm)\n\n    isLoading.value = false\n\n    if (response.data.success) {\n      emit('update')\n      closeSendEstimateModal()\n      return true\n    }\n  } catch (error) {\n    console.error(error)\n    isLoading.value = false\n    notificationStore.showNotification({\n      type: 'error',\n      message: t('estimates.something_went_wrong'),\n    })\n  }\n}\n\nfunction closeSendEstimateModal() {\n  modalStore.closeModal()\n\n  setTimeout(() => {\n    v$.value.$reset()\n    isPreview.value = false\n    templateUrl.value = null\n  }, 300)\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/modal-components/SendInvoiceModal.vue",
    "content": "<template>\n  <BaseModal\n    :show=\"modalActive\"\n    @close=\"closeSendInvoiceModal\"\n    @open=\"setInitialData\"\n  >\n    <template #header>\n      <div class=\"flex justify-between w-full\">\n        {{ modalTitle }}\n        <BaseIcon\n          name=\"XIcon\"\n          class=\"w-6 h-6 text-gray-500 cursor-pointer\"\n          @click=\"closeSendInvoiceModal\"\n        />\n      </div>\n    </template>\n    <form v-if=\"!isPreview\" action=\"\">\n      <div class=\"px-8 py-8 sm:p-6\">\n        <BaseInputGrid layout=\"one-column\" class=\"col-span-7\">\n          <BaseInputGroup\n            :label=\"$t('general.from')\"\n            required\n            :error=\"v$.from.$error && v$.from.$errors[0].$message\"\n          >\n            <BaseInput\n              v-model=\"invoiceMailForm.from\"\n              type=\"text\"\n              :invalid=\"v$.from.$error\"\n              @input=\"v$.from.$touch()\"\n            />\n          </BaseInputGroup>\n          <BaseInputGroup\n            :label=\"$t('general.to')\"\n            required\n            :error=\"v$.to.$error && v$.to.$errors[0].$message\"\n          >\n            <BaseInput\n              v-model=\"invoiceMailForm.to\"\n              type=\"text\"\n              :invalid=\"v$.to.$error\"\n              @input=\"v$.to.$touch()\"\n            />\n          </BaseInputGroup>\n          <BaseInputGroup\n            :error=\"v$.subject.$error && v$.subject.$errors[0].$message\"\n            :label=\"$t('general.subject')\"\n            required\n          >\n            <BaseInput\n              v-model=\"invoiceMailForm.subject\"\n              type=\"text\"\n              :invalid=\"v$.subject.$error\"\n              @input=\"v$.subject.$touch()\"\n            />\n          </BaseInputGroup>\n          <BaseInputGroup\n            :label=\"$t('general.body')\"\n            :error=\"v$.body.$error && v$.body.$errors[0].$message\"\n            required\n          >\n            <BaseCustomInput\n              v-model=\"invoiceMailForm.body\"\n              :fields=\"invoiceMailFields\"\n            />\n          </BaseInputGroup>\n        </BaseInputGrid>\n      </div>\n      <div\n        class=\"z-0 flex justify-end p-4 border-t border-gray-200 border-solid\"\n      >\n        <BaseButton\n          class=\"mr-3\"\n          variant=\"primary-outline\"\n          type=\"button\"\n          @click=\"closeSendInvoiceModal\"\n        >\n          {{ $t('general.cancel') }}\n        </BaseButton>\n        <BaseButton\n          :loading=\"isLoading\"\n          :disabled=\"isLoading\"\n          variant=\"primary\"\n          type=\"button\"\n          class=\"mr-3\"\n          @click=\"submitForm\"\n        >\n          <template #left=\"slotProps\">\n            <BaseIcon\n              v-if=\"!isLoading\"\n              :class=\"slotProps.class\"\n              name=\"PhotographIcon\"\n            />\n          </template>\n          {{ $t('general.preview') }}\n        </BaseButton>\n      </div>\n    </form>\n    <div v-else>\n      <div class=\"my-6 mx-4 border border-gray-200 relative\">\n        <BaseButton\n          class=\"absolute top-4 right-4\"\n          :disabled=\"isLoading\"\n          variant=\"primary-outline\"\n          @click=\"cancelPreview\"\n        >\n          <BaseIcon name=\"PencilIcon\" class=\"h-5 mr-2\" />\n          Edit\n        </BaseButton>\n\n        <iframe\n          :src=\"templateUrl\"\n          frameborder=\"0\"\n          class=\"w-full\"\n          style=\"min-height: 500px\"\n        ></iframe>\n      </div>\n      <div\n        class=\"z-0 flex justify-end p-4 border-t border-gray-200 border-solid\"\n      >\n        <BaseButton\n          class=\"mr-3\"\n          variant=\"primary-outline\"\n          type=\"button\"\n          @click=\"closeSendInvoiceModal\"\n        >\n          {{ $t('general.cancel') }}\n        </BaseButton>\n\n        <BaseButton\n          :loading=\"isLoading\"\n          :disabled=\"isLoading\"\n          variant=\"primary\"\n          type=\"button\"\n          @click=\"submitForm()\"\n        >\n          <BaseIcon\n            v-if=\"!isLoading\"\n            name=\"PaperAirplaneIcon\"\n            class=\"h-5 mr-2\"\n          />\n          {{ $t('general.send') }}\n        </BaseButton>\n      </div>\n    </div>\n  </BaseModal>\n</template>\n\n<script setup>\nimport { ref, computed, reactive, onMounted } from 'vue'\nimport { useModalStore } from '@/scripts/stores/modal'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport { useI18n } from 'vue-i18n'\nimport { useInvoiceStore } from '@/scripts/admin/stores/invoice'\nimport { useVuelidate } from '@vuelidate/core'\nimport { required, email, helpers } from '@vuelidate/validators'\nimport { useMailDriverStore } from '@/scripts/admin/stores/mail-driver'\n\nconst modalStore = useModalStore()\nconst companyStore = useCompanyStore()\nconst notificationStore = useNotificationStore()\nconst invoiceStore = useInvoiceStore()\nconst mailDriverStore = useMailDriverStore()\n\nconst { t } = useI18n()\nlet isLoading = ref(false)\nconst templateUrl = ref('')\nconst isPreview = ref(false)\n\nconst emit = defineEmits(['update'])\n\nconst invoiceMailFields = ref([\n  'customer',\n  'customerCustom',\n  'invoice',\n  'invoiceCustom',\n  'company',\n])\n\nconst invoiceMailForm = reactive({\n  id: null,\n  from: null,\n  to: null,\n  subject: 'New Invoice',\n  body: null,\n})\n\nconst modalActive = computed(() => {\n  return modalStore.active && modalStore.componentName === 'SendInvoiceModal'\n})\n\nconst modalTitle = computed(() => {\n  return modalStore.title\n})\n\nconst modalData = computed(() => {\n  return modalStore.data\n})\n\nconst rules = {\n  from: {\n    required: helpers.withMessage(t('validation.required'), required),\n    email: helpers.withMessage(t('validation.email_incorrect'), email),\n  },\n  to: {\n    required: helpers.withMessage(t('validation.required'), required),\n    email: helpers.withMessage(t('validation.email_incorrect'), email),\n  },\n  subject: {\n    required: helpers.withMessage(t('validation.required'), required),\n  },\n  body: {\n    required: helpers.withMessage(t('validation.required'), required),\n  },\n}\n\nconst v$ = useVuelidate(\n  rules,\n  computed(() => invoiceMailForm)\n)\n\nfunction cancelPreview() {\n  isPreview.value = false\n}\n\nasync function setInitialData() {\n  let admin = await companyStore.fetchBasicMailConfig()\n\n  invoiceMailForm.id = modalStore.id\n\n  if (admin.data) {\n    invoiceMailForm.from = admin.data.from_mail\n  }\n\n  if (modalData.value) {\n    invoiceMailForm.to = modalData.value.customer.email\n  }\n\n  invoiceMailForm.body = companyStore.selectedCompanySettings.invoice_mail_body\n}\n\nasync function submitForm() {\n  v$.value.$touch()\n\n  if (v$.value.$invalid) {\n    return true\n  }\n\n  try {\n    isLoading.value = true\n\n    if (!isPreview.value) {\n      const previewResponse = await invoiceStore.previewInvoice(invoiceMailForm)\n      isLoading.value = false\n\n      isPreview.value = true\n      var blob = new Blob([previewResponse.data], { type: 'text/html' })\n      templateUrl.value = URL.createObjectURL(blob)\n\n      return\n    }\n\n    const response = await invoiceStore.sendInvoice(invoiceMailForm)\n\n    isLoading.value = false\n\n    if (response.data.success) {\n      emit('update', modalStore.id)\n      closeSendInvoiceModal()\n      return true\n    }\n  } catch (error) {\n    console.error(error)\n    isLoading.value = false\n    notificationStore.showNotification({\n      type: 'error',\n      message: t('invoices.something_went_wrong'),\n    })\n  }\n}\n\nfunction closeSendInvoiceModal() {\n  modalStore.closeModal()\n  setTimeout(() => {\n    v$.value.$reset()\n    isPreview.value = false\n    templateUrl.value = null\n  }, 300)\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/modal-components/SendPaymentModal.vue",
    "content": "<template>\n  <BaseModal\n    :show=\"modalActive\"\n    @close=\"closeSendPaymentModal\"\n    @open=\"setInitialData\"\n  >\n    <template #header>\n      <div class=\"flex justify-between w-full\">\n        {{ modalTitle }}\n        <BaseIcon\n          name=\"XIcon\"\n          class=\"w-6 h-6 text-gray-500 cursor-pointer\"\n          @click=\"closeSendPaymentModal\"\n        />\n      </div>\n    </template>\n    <form v-if=\"!isPreview\" action=\"\">\n      <div class=\"px-8 py-8 sm:p-6\">\n        <BaseInputGrid layout=\"one-column\" class=\"col-span-7\">\n          <BaseInputGroup\n            :label=\"$t('general.from')\"\n            required\n            :error=\"v$.from.$error && v$.from.$errors[0].$message\"\n          >\n            <BaseInput\n              v-model=\"paymentMailForm.from\"\n              type=\"text\"\n              :invalid=\"v$.from.$error\"\n              @input=\"v$.from.$touch()\"\n            />\n          </BaseInputGroup>\n          <BaseInputGroup\n            :label=\"$t('general.to')\"\n            required\n            :error=\"v$.to.$error && v$.to.$errors[0].$message\"\n          >\n            <BaseInput\n              v-model=\"paymentMailForm.to\"\n              type=\"text\"\n              :invalid=\"v$.to.$error\"\n              @input=\"v$.to.$touch()\"\n            />\n          </BaseInputGroup>\n          <BaseInputGroup\n            :error=\"v$.subject.$error && v$.subject.$errors[0].$message\"\n            :label=\"$t('general.subject')\"\n            required\n          >\n            <BaseInput\n              v-model=\"paymentMailForm.subject\"\n              type=\"text\"\n              :invalid=\"v$.subject.$error\"\n              @input=\"v$.subject.$touch()\"\n            />\n          </BaseInputGroup>\n          <BaseInputGroup\n            :label=\"$t('general.body')\"\n            :error=\"v$.body.$error && v$.body.$errors[0].$message\"\n            required\n          >\n            <BaseCustomInput\n              v-model=\"paymentMailForm.body\"\n              :fields=\"paymentMailFields\"\n            />\n          </BaseInputGroup>\n        </BaseInputGrid>\n      </div>\n      <div\n        class=\"z-0 flex justify-end p-4 border-t border-gray-200 border-solid\"\n      >\n        <BaseButton\n          class=\"mr-3\"\n          variant=\"primary-outline\"\n          type=\"button\"\n          @click=\"closeSendPaymentModal\"\n        >\n          {{ $t('general.cancel') }}\n        </BaseButton>\n        <BaseButton\n          :loading=\"isLoading\"\n          :disabled=\"isLoading\"\n          variant=\"primary\"\n          type=\"button\"\n          class=\"mr-3\"\n          @click=\"sendPaymentData\"\n        >\n          <template #left=\"slotProps\">\n            <BaseIcon\n              v-if=\"!isLoading\"\n              :class=\"slotProps.class\"\n              name=\"PhotographIcon\"\n            />\n          </template>\n          {{ $t('general.preview') }}\n        </BaseButton>\n      </div>\n    </form>\n    <div v-else>\n      <div class=\"my-6 mx-4 border border-gray-200 relative\">\n        <BaseButton\n          class=\"absolute top-4 right-4\"\n          :disabled=\"isLoading\"\n          variant=\"primary-outline\"\n          @click=\"cancelPreview\"\n        >\n          <BaseIcon name=\"PencilIcon\" class=\"h-5 mr-2\" />\n          Edit\n        </BaseButton>\n\n        <iframe\n          :src=\"templateUrl\"\n          frameborder=\"0\"\n          class=\"w-full\"\n          style=\"min-height: 500px\"\n        ></iframe>\n      </div>\n      <div\n        class=\"z-0 flex justify-end p-4 border-t border-gray-200 border-solid\"\n      >\n        <BaseButton\n          class=\"mr-3\"\n          variant=\"primary-outline\"\n          type=\"button\"\n          @click=\"closeSendPaymentModal\"\n        >\n          {{ $t('general.cancel') }}\n        </BaseButton>\n\n        <BaseButton\n          :loading=\"isLoading\"\n          :disabled=\"isLoading\"\n          variant=\"primary\"\n          type=\"button\"\n          @click=\"sendPaymentData()\"\n        >\n          <BaseIcon\n            v-if=\"!isLoading\"\n            name=\"PaperAirplaneIcon\"\n            class=\"h-5 mr-2\"\n          />\n          {{ $t('general.send') }}\n        </BaseButton>\n      </div>\n    </div>\n  </BaseModal>\n</template>\n\n<script setup>\nimport { useI18n } from 'vue-i18n'\nimport { required, email, helpers } from '@vuelidate/validators'\nimport { useVuelidate } from '@vuelidate/core'\nimport { ref, reactive, computed, watch, watchEffect } from 'vue'\nimport { usePaymentStore } from '@/scripts/admin/stores/payment'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport { useModalStore } from '@/scripts/stores/modal'\nimport { useMailDriverStore } from '@/scripts/admin/stores/mail-driver'\nimport { useDialogStore } from '@/scripts/stores/dialog'\n\nconst paymentStore = usePaymentStore()\nconst companyStore = useCompanyStore()\nconst modalStore = useModalStore()\nconst notificationStore = useNotificationStore()\nconst mailDriversStore = useMailDriverStore()\nconst dialogStore = useDialogStore()\n\nconst { t } = useI18n()\nlet isLoading = ref(false)\nconst templateUrl = ref('')\nconst isPreview = ref(false)\n\nconst paymentMailFields = ref([\n  'customer',\n  'customerCustom',\n  'payments',\n  'paymentsCustom',\n  'company',\n])\n\nconst paymentMailForm = reactive({\n  id: null,\n  from: null,\n  to: null,\n  subject: 'New Payment',\n  body: null,\n})\n\nconst modalActive = computed(() => {\n  return modalStore.active && modalStore.componentName === 'SendPaymentModal'\n})\n\nconst modalTitle = computed(() => {\n  return modalStore.title\n})\n\nconst modalData = computed(() => {\n  return modalStore.data\n})\n\nconst rules = {\n  from: {\n    required: helpers.withMessage(t('validation.required'), required),\n    email: helpers.withMessage(t('validation.email_incorrect'), email),\n  },\n  to: {\n    required: helpers.withMessage(t('validation.required'), required),\n    email: helpers.withMessage(t('validation.email_incorrect'), email),\n  },\n  subject: {\n    required: helpers.withMessage(t('validation.required'), required),\n  },\n  body: {\n    required: helpers.withMessage(t('validation.required'), required),\n  },\n}\n\nconst v$ = useVuelidate(rules, paymentMailForm)\n\nfunction cancelPreview() {\n  isPreview.value = false\n}\n\nasync function setInitialData() {\n  let admin = await companyStore.fetchBasicMailConfig()\n  paymentMailForm.id = modalStore.id\n\n  if (admin.data) {\n    paymentMailForm.from = admin.data.from_mail\n  }\n\n  if (modalData.value) {\n    paymentMailForm.to = modalData.value.customer.email\n  }\n\n  paymentMailForm.body = companyStore.selectedCompanySettings.payment_mail_body\n}\n\nasync function sendPaymentData() {\n  v$.value.$touch()\n  if (v$.value.$invalid) {\n    return true\n  }\n\n  try {\n    isLoading.value = true\n\n    if (!isPreview.value) {\n      const previewResponse = await paymentStore.previewPayment(paymentMailForm)\n      isLoading.value = false\n\n      isPreview.value = true\n      var blob = new Blob([previewResponse.data], { type: 'text/html' })\n      templateUrl.value = URL.createObjectURL(blob)\n\n      return\n    }\n\n    const response = await paymentStore.sendEmail(paymentMailForm)\n\n    isLoading.value = false\n\n    if (response.data.success) {\n      closeSendPaymentModal()\n      return true\n    }\n  } catch (error) {\n    isLoading.value = false\n    notificationStore.showNotification({\n      type: 'error',\n      message: t('payments.something_went_wrong'),\n    })\n  }\n}\n\nfunction closeSendPaymentModal() {\n  setTimeout(() => {\n    v$.value.$reset()\n    isPreview.value = false\n    templateUrl.value = null\n    modalStore.resetModalData()\n  }, 300)\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/modal-components/TaxTypeModal.vue",
    "content": "<template>\n  <BaseModal\n    :show=\"modalStore.active && modalStore.componentName === 'TaxTypeModal'\"\n    @close=\"closeTaxTypeModal\"\n  >\n    <template #header>\n      <div class=\"flex justify-between w-full\">\n        {{ modalStore.title }}\n        <BaseIcon\n          name=\"XIcon\"\n          class=\"h-6 w-6 text-gray-500 cursor-pointer\"\n          @click=\"closeTaxTypeModal\"\n        />\n      </div>\n    </template>\n    <form action=\"\" @submit.prevent=\"submitTaxTypeData\">\n      <div class=\"p-4 sm:p-6\">\n        <BaseInputGrid layout=\"one-column\">\n          <BaseInputGroup\n            :label=\"$t('tax_types.name')\"\n            variant=\"horizontal\"\n            :error=\"\n              v$.currentTaxType.name.$error &&\n              v$.currentTaxType.name.$errors[0].$message\n            \"\n            required\n          >\n            <BaseInput\n              v-model=\"taxTypeStore.currentTaxType.name\"\n              :invalid=\"v$.currentTaxType.name.$error\"\n              type=\"text\"\n              @input=\"v$.currentTaxType.name.$touch()\"\n            />\n          </BaseInputGroup>\n\n          <BaseInputGroup\n            :label=\"$t('tax_types.percent')\"\n            variant=\"horizontal\"\n            :error=\"\n              v$.currentTaxType.percent.$error &&\n              v$.currentTaxType.percent.$errors[0].$message\n            \"\n            required\n          >\n            <BaseMoney\n              v-model=\"taxTypeStore.currentTaxType.percent\"\n              :currency=\"{\n                decimal: '.',\n                thousands: ',',\n                symbol: '% ',\n                precision: 2,\n                masked: false,\n              }\"\n              :invalid=\"v$.currentTaxType.percent.$error\"\n              class=\"\n                relative\n                w-full\n                focus:border focus:border-solid focus:border-primary\n              \"\n              @input=\"v$.currentTaxType.percent.$touch()\"\n            />\n          </BaseInputGroup>\n\n          <BaseInputGroup\n            :label=\"$t('tax_types.description')\"\n            :error=\"\n              v$.currentTaxType.description.$error &&\n              v$.currentTaxType.description.$errors[0].$message\n            \"\n            variant=\"horizontal\"\n          >\n            <BaseTextarea\n              v-model=\"taxTypeStore.currentTaxType.description\"\n              :invalid=\"v$.currentTaxType.description.$error\"\n              rows=\"4\"\n              cols=\"50\"\n              @input=\"v$.currentTaxType.description.$touch()\"\n            />\n          </BaseInputGroup>\n\n          <BaseInputGroup\n            :label=\"$t('tax_types.compound_tax')\"\n            variant=\"horizontal\"\n            class=\"flex flex-row-reverse\"\n          >\n            <BaseSwitch\n              v-model=\"taxTypeStore.currentTaxType.compound_tax\"\n              class=\"flex items-center\"\n            />\n          </BaseInputGroup>\n        </BaseInputGrid>\n      </div>\n      <div\n        class=\"\n          z-0\n          flex\n          justify-end\n          p-4\n          border-t border-solid border--200 border-modal-bg\n        \"\n      >\n        <BaseButton\n          class=\"mr-3 text-sm\"\n          variant=\"primary-outline\"\n          type=\"button\"\n          @click=\"closeTaxTypeModal\"\n        >\n          {{ $t('general.cancel') }}\n        </BaseButton>\n        <BaseButton\n          :loading=\"isSaving\"\n          :disabled=\"isSaving\"\n          variant=\"primary\"\n          type=\"submit\"\n        >\n          <template #left=\"slotProps\">\n            <BaseIcon\n              v-if=\"!isSaving\"\n              name=\"SaveIcon\"\n              :class=\"slotProps.class\"\n            />\n          </template>\n          {{ taxTypeStore.isEdit ? $t('general.update') : $t('general.save') }}\n        </BaseButton>\n      </div>\n    </form>\n  </BaseModal>\n</template>\n\n<script setup>\nimport { useTaxTypeStore } from '@/scripts/admin/stores/tax-type'\nimport { useModalStore } from '@/scripts/stores/modal'\nimport { useRoute } from 'vue-router'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport { useEstimateStore } from '@/scripts/admin/stores/estimate'\nimport { useInvoiceStore } from '@/scripts/admin/stores/invoice'\nimport { computed, ref } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport Guid from 'guid'\nimport TaxStub from '@/scripts/admin/stub/abilities'\nimport {\n  required,\n  minLength,\n  maxLength,\n  between,\n  helpers,\n} from '@vuelidate/validators'\nimport { useVuelidate } from '@vuelidate/core'\n\nconst taxTypeStore = useTaxTypeStore()\nconst modalStore = useModalStore()\nconst notificationStore = useNotificationStore()\nconst estimateStore = useEstimateStore()\n\nconst { t, tm } = useI18n()\nlet isSaving = ref(false)\n\nconst rules = computed(() => {\n  return {\n    currentTaxType: {\n      name: {\n        required: helpers.withMessage(t('validation.required'), required),\n        minLength: helpers.withMessage(\n          t('validation.name_min_length', { count: 3 }),\n          minLength(3)\n        ),\n      },\n      percent: {\n        required: helpers.withMessage(t('validation.required'), required),\n        between: helpers.withMessage(\n          t('validation.enter_valid_tax_rate'),\n          between(0, 100)\n        ),\n      },\n      description: {\n        maxLength: helpers.withMessage(\n          t('validation.description_maxlength', { count: 255 }),\n          maxLength(255)\n        ),\n      },\n    },\n  }\n})\n\nconst v$ = useVuelidate(\n  rules,\n  computed(() => taxTypeStore)\n)\n\nasync function submitTaxTypeData() {\n  v$.value.currentTaxType.$touch()\n  if (v$.value.currentTaxType.$invalid) {\n    return true\n  }\n  try {\n    const action = taxTypeStore.isEdit\n      ? taxTypeStore.updateTaxType\n      : taxTypeStore.addTaxType\n    isSaving.value = true\n    let res = await action(taxTypeStore.currentTaxType)\n    isSaving.value = false\n    modalStore.refreshData ? modalStore.refreshData(res.data.data) : ''\n    closeTaxTypeModal()\n  } catch (err) {\n    isSaving.value = false\n    return true\n  }\n}\n\nfunction SelectTax(taxData) {\n  let amount = 0\n  if (taxData.compound_tax && estimateStore.getSubtotalWithDiscount) {\n    amount = Math.round(\n      ((estimateStore.getSubtotalWithDiscount +\n        estimateStore.getTotalSimpleTax) *\n        taxData.percent) /\n        100\n    )\n  } else if (estimateStore.getSubtotalWithDiscount && taxData.percent) {\n    amount = Math.round(\n      (estimateStore.getSubtotalWithDiscount * taxData.percent) / 100\n    )\n  }\n  let data = {\n    ...TaxStub,\n    id: Guid.raw(),\n    name: taxData.name,\n    percent: taxData.percent,\n    compound_tax: taxData.compound_tax,\n    tax_type_id: taxData.id,\n    amount,\n  }\n  estimateStore.$patch((state) => {\n    state.newEstimate.taxes.push({ ...data })\n  })\n}\n\nfunction selectItemTax(taxData) {\n  if (modalStore.data) {\n    let data = {\n      ...TaxStub,\n      id: Guid.raw(),\n      name: taxData.name,\n      percent: taxData.percent,\n      compound_tax: taxData.compound_tax,\n      tax_type_id: taxData.id,\n    }\n    modalStore.refreshData(data)\n  }\n}\n\nfunction closeTaxTypeModal() {\n  modalStore.closeModal()\n  setTimeout(() => {\n    taxTypeStore.resetCurrentTaxType()\n    v$.value.$reset()\n  }, 300)\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/modal-components/TaxationAddressModal.vue",
    "content": "<template>\n  <BaseModal :show=\"modalActive\" @close=\"closeModal\" @open=\"setAddress\">\n    <template #header>\n      <div class=\"flex justify-between w-full\">\n        <div class=\"flex flex-col\">\n          {{ modalStore.title }}\n\n          <p class=\"text-sm text-gray-500 mt-1\">\n            {{ modalStore.content }}\n          </p>\n        </div>\n        <BaseIcon\n          name=\"XIcon\"\n          class=\"h-6 w-6 text-gray-500 cursor-pointer\"\n          @click=\"closeModal\"\n        />\n      </div>\n    </template>\n    <form @submit.prevent=\"saveCustomerAddress\">\n      <div class=\"p-4 sm:p-6\">\n        <BaseInputGrid layout=\"one-column\">\n          <BaseInputGroup\n            required\n            :error=\"v$.state.$error && v$.state.$errors[0].$message\"\n            :label=\"$t('customers.state')\"\n          >\n            <BaseInput\n              v-model=\"address.state\"\n              type=\"text\"\n              name=\"shippingState\"\n              class=\"mt-1 md:mt-0\"\n              :invalid=\"v$.state.$error\"\n              @input=\"v$.state.$touch()\"\n              :placeholder=\"$t('settings.taxations.state_placeholder')\"\n            />\n          </BaseInputGroup>\n\n          <BaseInputGroup\n            required\n            :error=\"v$.city.$error && v$.city.$errors[0].$message\"\n            :label=\"$t('customers.city')\"\n          >\n            <BaseInput\n              v-model=\"address.city\"\n              type=\"text\"\n              name=\"shippingCity\"\n              class=\"mt-1 md:mt-0\"\n              :invalid=\"v$.city.$error\"\n              @input=\"v$.city.$touch()\"\n              :placeholder=\"$t('settings.taxations.city_placeholder')\"\n            />\n          </BaseInputGroup>\n\n          <BaseInputGroup\n            required\n            :error=\"\n              v$.address_street_1.$error &&\n              v$.address_street_1.$errors[0].$message\n            \"\n            :label=\"$t('customers.address')\"\n          >\n            <BaseTextarea\n              v-model=\"address.address_street_1\"\n              rows=\"2\"\n              cols=\"50\"\n              class=\"mt-1 md:mt-0\"\n              :invalid=\"v$.address_street_1.$error\"\n              @input=\"v$.address_street_1.$touch()\"\n              :placeholder=\"$t('settings.taxations.address_placeholder')\"\n            />\n          </BaseInputGroup>\n\n          <BaseInputGroup\n            required\n            :error=\"v$.zip.$error && v$.zip.$errors[0].$message\"\n            :label=\"$t('customers.zip_code')\"\n          >\n            <BaseInput\n              v-model=\"address.zip\"\n              :invalid=\"v$.zip.$error\"\n              @input=\"v$.zip.$touch()\"\n              type=\"text\"\n              class=\"mt-1 md:mt-0\"\n              :placeholder=\"$t('settings.taxations.zip_placeholder')\"\n            />\n          </BaseInputGroup>\n        </BaseInputGrid>\n      </div>\n\n      <div\n        class=\"z-0 flex justify-end p-4 border-t border-gray-200 border-solid\"\n      >\n        <BaseButton\n          class=\"mr-3 text-sm\"\n          type=\"button\"\n          variant=\"primary-outline\"\n          @click=\"closeModal\"\n        >\n          {{ $t('general.cancel') }}\n        </BaseButton>\n\n        <BaseButton :loading=\"isLoading\" variant=\"primary\" type=\"submit\">\n          <template #left=\"slotProps\">\n            <BaseIcon\n              v-if=\"!isLoading\"\n              name=\"SaveIcon\"\n              :class=\"slotProps.class\"\n            />\n          </template>\n          {{ $t('general.save') }}\n        </BaseButton>\n      </div>\n    </form>\n  </BaseModal>\n</template>\n\n<script setup>\nimport { computed, onMounted, reactive, ref } from 'vue'\nimport axios from 'axios'\nimport { useModalStore } from '@/scripts/stores/modal'\nimport { useTaxTypeStore } from '@/scripts/admin/stores/tax-type'\nimport { useGlobalStore } from '@/scripts/admin/stores/global'\nimport { useI18n } from 'vue-i18n'\nimport { helpers, required } from '@vuelidate/validators'\nimport { useVuelidate } from '@vuelidate/core'\n\nconst modalStore = useModalStore()\nconst globalStore = useGlobalStore()\n\nconst address = reactive({\n  state: '',\n  city: '',\n  address_street_1: '',\n  zip: '',\n})\n\nconst isLoading = ref(false)\nconst taxTypeStore = useTaxTypeStore()\nconst { t } = useI18n()\n\nconst modalActive = computed(\n  () => modalStore.active && modalStore.componentName === 'TaxationAddressModal'\n)\n\nconst rules = computed(() => {\n  return {\n    state: {\n      required: helpers.withMessage(t('validation.required'), required),\n    },\n    city: {\n      required: helpers.withMessage(t('validation.required'), required),\n    },\n    address_street_1: {\n      required: helpers.withMessage(t('validation.required'), required),\n    },\n    zip: {\n      required: helpers.withMessage(t('validation.required'), required),\n    },\n  }\n})\n\nconst v$ = useVuelidate(\n  rules,\n  computed(() => address)\n)\n\nasync function saveCustomerAddress() {\n  v$.value.$touch()\n\n  if (v$.value.$invalid) {\n    return true\n  }\n\n  let data = {\n    address,\n  }\n  if (modalStore.id) {\n    data.customer_id = modalStore.id\n  }\n  // replace '/n' with empty string\n  address.address_street_1 = address.address_street_1.replace(\n    /(\\r\\n|\\n|\\r)/gm,\n    ''\n  )\n\n  isLoading.value = true\n  await taxTypeStore\n    .fetchSalesTax(data)\n    .then((res) => {\n      isLoading.value = false\n      emit('addTax', res.data.data)\n      closeModal()\n    })\n    .catch((e) => {\n      isLoading.value = false\n    })\n}\nconst emit = defineEmits(['addTax'])\n\nfunction setAddress() {\n  address.state = modalStore?.data?.state\n  address.city = modalStore?.data?.city\n  address.address_street_1 = modalStore?.data?.address_street_1\n  address.zip = modalStore?.data?.zip\n}\n\nfunction closeModal() {\n  modalStore.closeModal()\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/modal-components/custom-fields/CustomFieldModal.vue",
    "content": "<template>\n  <BaseModal :show=\"modalActive\" @open=\"setData\">\n    <template #header>\n      <div class=\"flex justify-between w-full\">\n        {{ modalStore.title }}\n\n        <BaseIcon\n          name=\"XIcon\"\n          class=\"w-6 h-6 text-gray-500 cursor-pointer\"\n          @click=\"closeCustomFieldModal\"\n        />\n      </div>\n    </template>\n\n    <form action=\"\" @submit.prevent=\"submitCustomFieldData\">\n      <div class=\"overflow-y-auto max-h-[550px]\">\n        <div class=\"px-4 md:px-8 py-8 overflow-y-auto sm:p-6\">\n          <BaseInputGrid layout=\"one-column\">\n            <BaseInputGroup\n              :label=\"$t('settings.custom_fields.name')\"\n              required\n              :error=\"\n                v$.currentCustomField.name.$error &&\n                v$.currentCustomField.name.$errors[0].$message\n              \"\n            >\n              <BaseInput\n                ref=\"name\"\n                v-model=\"customFieldStore.currentCustomField.name\"\n                :invalid=\"v$.currentCustomField.name.$error\"\n                @input=\"v$.currentCustomField.name.$touch()\"\n              />\n            </BaseInputGroup>\n\n            <BaseInputGroup\n              :label=\"$t('settings.custom_fields.model')\"\n              :error=\"\n                v$.currentCustomField.model_type.$error &&\n                v$.currentCustomField.model_type.$errors[0].$message\n              \"\n              :help-text=\"\n                customFieldStore.currentCustomField.in_use\n                  ? $t('settings.custom_fields.model_in_use')\n                  : ''\n              \"\n              required\n            >\n              <BaseMultiselect\n                v-model=\"customFieldStore.currentCustomField.model_type\"\n                :options=\"modelTypes\"\n                :can-deselect=\"false\"\n                :invalid=\"v$.currentCustomField.model_type.$error\"\n                :searchable=\"true\"\n                :disabled=\"customFieldStore.currentCustomField.in_use\"\n                @input=\"v$.currentCustomField.model_type.$touch()\"\n              />\n            </BaseInputGroup>\n\n            <BaseInputGroup\n              class=\"flex items-center space-x-4\"\n              :label=\"$t('settings.custom_fields.required')\"\n            >\n              <BaseSwitch v-model=\"isRequiredField\" />\n            </BaseInputGroup>\n\n            <BaseInputGroup\n              :label=\"$t('settings.custom_fields.type')\"\n              :error=\"\n                v$.currentCustomField.type.$error &&\n                v$.currentCustomField.type.$errors[0].$message\n              \"\n              :help-text=\"\n                customFieldStore.currentCustomField.in_use\n                  ? $t('settings.custom_fields.type_in_use')\n                  : ''\n              \"\n              required\n            >\n              <BaseMultiselect\n                v-model=\"selectedType\"\n                :options=\"dataTypes\"\n                :invalid=\"v$.currentCustomField.type.$error\"\n                :disabled=\"customFieldStore.currentCustomField.in_use\"\n                :searchable=\"true\"\n                :can-deselect=\"false\"\n                object\n                @update:modelValue=\"onSelectedTypeChange\"\n              />\n            </BaseInputGroup>\n\n            <BaseInputGroup\n              :label=\"$t('settings.custom_fields.label')\"\n              required\n              :error=\"\n                v$.currentCustomField.label.$error &&\n                v$.currentCustomField.label.$errors[0].$message\n              \"\n            >\n              <BaseInput\n                v-model=\"customFieldStore.currentCustomField.label\"\n                :invalid=\"v$.currentCustomField.label.$error\"\n                @input=\"v$.currentCustomField.label.$touch()\"\n              />\n            </BaseInputGroup>\n\n            <BaseInputGroup\n              v-if=\"isDropdownSelected\"\n              :label=\"$t('settings.custom_fields.options')\"\n            >\n              <OptionCreate @onAdd=\"addNewOption\" />\n\n              <div\n                v-for=\"(option, index) in customFieldStore.currentCustomField\n                  .options\"\n                :key=\"index\"\n                class=\"flex items-center mt-5\"\n              >\n                <BaseInput v-model=\"option.name\" class=\"w-64\" />\n\n                <BaseIcon\n                  name=\"MinusCircleIcon\"\n                  class=\"ml-1 cursor-pointer\"\n                  :class=\"\n                    customFieldStore.currentCustomField.in_use\n                      ? 'text-gray-300'\n                      : 'text-red-300'\n                  \"\n                  @click=\"removeOption(index)\"\n                />\n              </div>\n            </BaseInputGroup>\n\n            <BaseInputGroup\n              :label=\"$t('settings.custom_fields.default_value')\"\n              class=\"relative\"\n            >\n              <component\n                :is=\"defaultValueComponent\"\n                v-model=\"customFieldStore.currentCustomField.default_answer\"\n                :options=\"customFieldStore.currentCustomField.options\"\n                :default-date-time=\"\n                  customFieldStore.currentCustomField.dateTimeValue\n                \"\n              />\n            </BaseInputGroup>\n\n            <BaseInputGroup\n              v-if=\"!isSwitchTypeSelected\"\n              :label=\"$t('settings.custom_fields.placeholder')\"\n            >\n              <BaseInput\n                v-model=\"customFieldStore.currentCustomField.placeholder\"\n              />\n            </BaseInputGroup>\n\n            <BaseInputGroup\n              :label=\"$t('settings.custom_fields.order')\"\n              :error=\"\n                v$.currentCustomField.order.$error &&\n                v$.currentCustomField.order.$errors[0].$message\n              \"\n              required\n            >\n              <BaseInput\n                v-model=\"customFieldStore.currentCustomField.order\"\n                type=\"number\"\n                :invalid=\"v$.currentCustomField.order.$error\"\n                @input=\"v$.currentCustomField.order.$touch()\"\n              />\n            </BaseInputGroup>\n          </BaseInputGrid>\n        </div>\n      </div>\n\n      <div\n        class=\"\n          z-0\n          flex\n          justify-end\n          p-4\n          border-t border-solid border-gray-light border-modal-bg\n        \"\n      >\n        <BaseButton\n          class=\"mr-3\"\n          type=\"button\"\n          variant=\"primary-outline\"\n          @click=\"closeCustomFieldModal\"\n        >\n          {{ $t('general.cancel') }}\n        </BaseButton>\n\n        <BaseButton\n          variant=\"primary\"\n          :loading=\"isSaving\"\n          :disabled=\"isSaving\"\n          type=\"submit\"\n        >\n          <template #left=\"slotProps\">\n            <BaseIcon\n              v-if=\"!isSaving\"\n              :class=\"slotProps.class\"\n              name=\"SaveIcon\"\n            />\n          </template>\n          {{\n            !customFieldStore.isEdit ? $t('general.save') : $t('general.update')\n          }}\n        </BaseButton>\n      </div>\n    </form>\n  </BaseModal>\n</template>\n\n<script setup>\nimport { reactive, ref, computed, defineAsyncComponent } from 'vue'\nimport OptionCreate from './OptionsCreate.vue'\nimport moment from 'moment'\nimport useVuelidate from '@vuelidate/core'\nimport { required, numeric, helpers } from '@vuelidate/validators'\nimport { useModalStore } from '@/scripts/stores/modal'\nimport { useCustomFieldStore } from '@/scripts/admin/stores/custom-field'\nimport { useI18n } from 'vue-i18n'\n\nconst modalStore = useModalStore()\nconst customFieldStore = useCustomFieldStore()\nconst { t } = useI18n()\n\nlet isSaving = ref(false)\n\nconst modelTypes = reactive([\n  'Customer',\n  'Invoice',\n  'Estimate',\n  'Expense',\n  'Payment',\n])\n\nconst dataTypes = reactive([\n  { label: 'Text', value: 'Input' },\n  { label: 'Textarea', value: 'TextArea' },\n  { label: 'Phone', value: 'Phone' },\n  { label: 'URL', value: 'Url' },\n  { label: 'Number', value: 'Number' },\n  { label: 'Select Field', value: 'Dropdown' },\n  { label: 'Switch Toggle', value: 'Switch' },\n  { label: 'Date', value: 'Date' },\n  { label: 'Time', value: 'Time' },\n  { label: 'Date & Time', value: 'DateTime' },\n])\n\nlet selectedType = ref(dataTypes[0])\n\nconst modalActive = computed(() => {\n  return modalStore.active && modalStore.componentName === 'CustomFieldModal'\n})\n\nconst isSwitchTypeSelected = computed(\n  () => selectedType.value && selectedType.value.label === 'Switch Toggle'\n)\n\nconst isDropdownSelected = computed(\n  () => selectedType.value && selectedType.value.label === 'Select Field'\n)\n\nconst defaultValueComponent = computed(() => {\n  if (customFieldStore.currentCustomField.type) {\n    return defineAsyncComponent(() =>\n      import(\n        `../../custom-fields/types/${customFieldStore.currentCustomField.type}Type.vue`\n      )\n    )\n  }\n\n  return false\n})\n\nconst isRequiredField = computed({\n  get: () => customFieldStore.currentCustomField.is_required === 1,\n  set: (value) => {\n    const intVal = value ? 1 : 0\n    customFieldStore.currentCustomField.is_required = intVal\n  },\n})\n\nconst rules = computed(() => {\n  return {\n    currentCustomField: {\n      type: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n      name: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n      label: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n      model_type: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n      order: {\n        required: helpers.withMessage(t('validation.required'), required),\n        numeric: helpers.withMessage(t('validation.numbers_only'), numeric),\n      },\n      type: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n    },\n  }\n})\n\nconst v$ = useVuelidate(\n  rules,\n  computed(() => customFieldStore)\n)\n\nfunction setData() {\n  if (customFieldStore.isEdit) {\n    selectedType.value = dataTypes.find(\n      (type) => type.value == customFieldStore.currentCustomField.type\n    )\n  } else {\n    customFieldStore.currentCustomField.model_type = modelTypes[0]\n\n    customFieldStore.currentCustomField.type = dataTypes[0].value\n    selectedType.value = dataTypes[0]\n  }\n}\n\nasync function submitCustomFieldData() {\n  v$.value.currentCustomField.$touch()\n\n  if (v$.value.currentCustomField.$invalid) {\n    return true\n  }\n\n  isSaving.value = true\n\n  let data = {\n    ...customFieldStore.currentCustomField,\n  }\n\n  if (customFieldStore.currentCustomField.options) {\n    data.options = customFieldStore.currentCustomField.options.map(\n      (option) => option.name\n    )\n  }\n\n  if (data.type == 'Time' && typeof data.default_answer == 'object') {\n    let HH =\n      data && data.default_answer && data.default_answer.HH\n        ? data.default_answer.HH\n        : null\n    let mm =\n      data && data.default_answer && data.default_answer.mm\n        ? data.default_answer.mm\n        : null\n    let ss =\n      data && data.default_answer && data.default_answer.ss\n        ? data.default_answer.ss\n        : null\n\n    data.default_answer = `${HH}:${mm}`\n  }\n\n  const action = customFieldStore.isEdit\n    ? customFieldStore.updateCustomField\n    : customFieldStore.addCustomField\n\n  await action(data)\n\n  isSaving.value = false\n\n  modalStore.refreshData ? modalStore.refreshData() : ''\n\n  closeCustomFieldModal()\n}\n\nfunction addNewOption(option) {\n  customFieldStore.currentCustomField.options = [\n    { name: option },\n    ...customFieldStore.currentCustomField.options,\n  ]\n}\n\nfunction removeOption(index) {\n  if (customFieldStore.isEdit && customFieldStore.currentCustomField.in_use) {\n    return\n  }\n\n  const option = customFieldStore.currentCustomField.options[index]\n\n  if (option.name === customFieldStore.currentCustomField.default_answer) {\n    customFieldStore.currentCustomField.default_answer = null\n  }\n\n  customFieldStore.currentCustomField.options.splice(index, 1)\n}\n\nfunction onChangeReset() {\n  customFieldStore.$patch((state) => {\n    state.currentCustomField.default_answer = null\n    state.currentCustomField.is_required = false\n    state.currentCustomField.placeholder = null\n    state.currentCustomField.options = []\n  })\n\n  v$.value.$reset()\n}\n\nfunction onSelectedTypeChange(data) {\n  customFieldStore.currentCustomField.type = data.value\n}\n\nfunction closeCustomFieldModal() {\n  modalStore.closeModal()\n\n  setTimeout(() => {\n    customFieldStore.resetCurrentCustomField()\n    v$.value.$reset()\n  }, 300)\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/modal-components/custom-fields/OptionsCreate.vue",
    "content": "<template>\n  <div class=\"flex items-center mt-1\">\n    <BaseInput\n      v-model=\"option\"\n      type=\"text\"\n      class=\"w-full md:w-96\"\n      :placeholder=\"$t('settings.custom_fields.press_enter_to_add')\"\n      @click=\"onAddOption\"\n      @keydown.enter.prevent.stop=\"onAddOption\"\n    />\n\n    <BaseIcon\n      name=\"PlusCircleIcon\"\n      class=\"ml-1 text-primary-500 cursor-pointer\"\n      @click=\"onAddOption\"\n    />\n  </div>\n</template>\n\n<script setup>\nimport { ref } from 'vue'\n\nconst emit = defineEmits(['onAdd'])\n\nconst option = ref(null)\n\nfunction onAddOption() {\n  if (option.value == null || option.value == '' || option.value == undefined) {\n    return true\n  }\n\n  emit('onAdd', option.value)\n\n  option.value = null\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/modal-components/disks/DoSpacesDisk.vue",
    "content": "<template>\n  <form @submit.prevent=\"submitData\">\n    <div class=\"px-8 py-6\">\n      <BaseInputGrid>\n        <BaseInputGroup\n          :label=\"$t('settings.disk.name')\"\n          :error=\"\n            v$.doSpaceDiskConfig.name.$error &&\n            v$.doSpaceDiskConfig.name.$errors[0].$message\n          \"\n          required\n        >\n          <BaseInput\n            v-model=\"diskStore.doSpaceDiskConfig.name\"\n            type=\"text\"\n            name=\"name\"\n            :invalid=\"v$.doSpaceDiskConfig.name.$error\"\n            @input=\"v$.doSpaceDiskConfig.name.$touch()\"\n          />\n        </BaseInputGroup>\n\n        <BaseInputGroup\n          :label=\"$tc('settings.disk.driver')\"\n          :error=\"\n            v$.doSpaceDiskConfig.selected_driver.$error &&\n            v$.doSpaceDiskConfig.selected_driver.$errors[0].$message\n          \"\n          required\n        >\n          <BaseMultiselect\n            v-model=\"selected_driver\"\n            :invalid=\"v$.doSpaceDiskConfig.selected_driver.$error\"\n            value-prop=\"value\"\n            :options=\"disks\"\n            searchable\n            label=\"name\"\n            :can-deselect=\"false\"\n            track-by=\"name\"\n            @update:modelValue=\"onChangeDriver(data)\"\n          />\n        </BaseInputGroup>\n\n        <BaseInputGroup\n          :label=\"$t('settings.disk.do_spaces_root')\"\n          :error=\"\n            v$.doSpaceDiskConfig.root.$error &&\n            v$.doSpaceDiskConfig.root.$errors[0].$message\n          \"\n          required\n        >\n          <BaseInput\n            v-model.trim=\"diskStore.doSpaceDiskConfig.root\"\n            type=\"text\"\n            name=\"name\"\n            placeholder=\"Ex. /user/root/\"\n            :invalid=\"v$.doSpaceDiskConfig.root.$error\"\n            @input=\"v$.doSpaceDiskConfig.root.$touch()\"\n          />\n        </BaseInputGroup>\n\n        <BaseInputGroup\n          :label=\"$t('settings.disk.do_spaces_key')\"\n          :error=\"\n            v$.doSpaceDiskConfig.key.$error &&\n            v$.doSpaceDiskConfig.key.$errors[0].$message\n          \"\n          required\n        >\n          <BaseInput\n            v-model.trim=\"diskStore.doSpaceDiskConfig.key\"\n            type=\"text\"\n            name=\"name\"\n            placeholder=\"Ex. KEIS4S39SERSDS\"\n            :invalid=\"v$.doSpaceDiskConfig.key.$error\"\n            @input=\"v$.doSpaceDiskConfig.key.$touch()\"\n          />\n        </BaseInputGroup>\n\n        <BaseInputGroup\n          :label=\"$t('settings.disk.do_spaces_secret')\"\n          :error=\"\n            v$.doSpaceDiskConfig.secret.$error &&\n            v$.doSpaceDiskConfig.secret.$errors[0].$message\n          \"\n          required\n        >\n          <BaseInput\n            v-model.trim=\"diskStore.doSpaceDiskConfig.secret\"\n            type=\"text\"\n            name=\"name\"\n            placeholder=\"Ex. ********\"\n            :invalid=\"v$.doSpaceDiskConfig.secret.$error\"\n            @input=\"v$.doSpaceDiskConfig.secret.$touch()\"\n          />\n        </BaseInputGroup>\n\n        <BaseInputGroup\n          :label=\"$t('settings.disk.do_spaces_region')\"\n          :error=\"\n            v$.doSpaceDiskConfig.region.$error &&\n            v$.doSpaceDiskConfig.region.$errors[0].$message\n          \"\n          required\n        >\n          <BaseInput\n            v-model.trim=\"diskStore.doSpaceDiskConfig.region\"\n            type=\"text\"\n            name=\"name\"\n            placeholder=\"Ex. nyc3\"\n            :invalid=\"v$.doSpaceDiskConfig.region.$error\"\n            @input=\"v$.doSpaceDiskConfig.region.$touch()\"\n          />\n        </BaseInputGroup>\n\n        <BaseInputGroup\n          :label=\"$t('settings.disk.do_spaces_endpoint')\"\n          :error=\"\n            v$.doSpaceDiskConfig.endpoint.$error &&\n            v$.doSpaceDiskConfig.endpoint.$errors[0].$message\n          \"\n          required\n        >\n          <BaseInput\n            v-model.trim=\"diskStore.doSpaceDiskConfig.endpoint\"\n            type=\"text\"\n            name=\"name\"\n            placeholder=\"Ex. https://nyc3.digitaloceanspaces.com\"\n            :invalid=\"v$.doSpaceDiskConfig.endpoint.$error\"\n            @input=\"v$.doSpaceDiskConfig.endpoint.$touch()\"\n          />\n        </BaseInputGroup>\n\n        <BaseInputGroup\n          :label=\"$t('settings.disk.do_spaces_bucket')\"\n          :error=\"\n            v$.doSpaceDiskConfig.bucket.$error &&\n            v$.doSpaceDiskConfig.bucket.$errors[0].$message\n          \"\n          required\n        >\n          <BaseInput\n            v-model.trim=\"diskStore.doSpaceDiskConfig.bucket\"\n            type=\"text\"\n            name=\"name\"\n            placeholder=\"Ex. my-new-space\"\n            :invalid=\"v$.doSpaceDiskConfig.bucket.$error\"\n            @input=\"v$.doSpaceDiskConfig.bucket.$touch()\"\n          />\n        </BaseInputGroup>\n      </BaseInputGrid>\n      <div v-if=\"!isDisabled\" class=\"flex items-center mt-6\">\n        <div class=\"relative flex items-center w-12\">\n          <BaseSwitch v-model=\"set_as_default\" class=\"flex\" />\n        </div>\n        <div class=\"ml-4 right\">\n          <p class=\"p-0 mb-1 text-base leading-snug text-black box-title\">\n            {{ $t('settings.disk.is_default') }}\n          </p>\n        </div>\n      </div>\n    </div>\n    <slot :disk-data=\"{ isLoading, submitData }\" />\n  </form>\n</template>\n\n<script>\nimport { useDiskStore } from '@/scripts/admin/stores/disk'\nimport { useModalStore } from '@/scripts/stores/modal'\nimport { computed, onBeforeUnmount, reactive, ref } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport useVuelidate from '@vuelidate/core'\nimport { required, url, helpers } from '@vuelidate/validators'\nexport default {\n  props: {\n    isEdit: {\n      type: Boolean,\n      require: true,\n      default: false,\n    },\n    loading: {\n      type: Boolean,\n      require: true,\n      default: false,\n    },\n    disks: {\n      type: Array,\n      require: true,\n      default: Array,\n    },\n  },\n\n  emits: ['submit', 'onChangeDisk'],\n\n  setup(props, { emit }) {\n    const diskStore = useDiskStore()\n    const modalStore = useModalStore()\n    const { t } = useI18n()\n\n    let isLoading = ref(false)\n    let set_as_default = ref(false)\n    let selected_disk = ref('')\n    let is_current_disk = ref(null)\n\n    const selected_driver = computed({\n      get: () => diskStore.selected_driver,\n      set: (value) => {\n        diskStore.selected_driver = value\n        diskStore.doSpaceDiskConfig.selected_driver = value\n      },\n    })\n\n    const rules = computed(() => {\n      return {\n        doSpaceDiskConfig: {\n          root: {\n            required: helpers.withMessage(t('validation.required'), required),\n          },\n          key: {\n            required: helpers.withMessage(t('validation.required'), required),\n          },\n          secret: {\n            required: helpers.withMessage(t('validation.required'), required),\n          },\n          region: {\n            required: helpers.withMessage(t('validation.required'), required),\n          },\n          endpoint: {\n            required: helpers.withMessage(t('validation.required'), required),\n            url: helpers.withMessage(t('validation.invalid_url'), url),\n          },\n          bucket: {\n            required: helpers.withMessage(t('validation.required'), required),\n          },\n          selected_driver: {\n            required: helpers.withMessage(t('validation.required'), required),\n          },\n\n          name: {\n            required: helpers.withMessage(t('validation.required'), required),\n          },\n        },\n      }\n    })\n\n    const v$ = useVuelidate(\n      rules,\n      computed(() => diskStore)\n    )\n\n    onBeforeUnmount(() => {\n      diskStore.doSpaceDiskConfig = {\n        name: null,\n        selected_driver: 'doSpaces',\n        key: null,\n        secret: null,\n        region: null,\n        bucket: null,\n        endpoint: null,\n        root: null,\n      }\n    })\n\n    loadData()\n\n    async function loadData() {\n      isLoading.value = true\n      let data = reactive({\n        disk: 'doSpaces',\n      })\n\n      if (props.isEdit) {\n        Object.assign(\n          diskStore.doSpaceDiskConfig,\n          JSON.parse(modalStore.data.credentials)\n        )\n        set_as_default.value = modalStore.data.set_as_default\n\n        if (set_as_default.value) {\n          is_current_disk.value = true\n        }\n      } else {\n        let diskData = await diskStore.fetchDiskEnv(data)\n        Object.assign(diskStore.doSpaceDiskConfig, diskData.data)\n      }\n      selected_disk.value = props.disks.find((v) => v.value == 'doSpaces')\n      isLoading.value = false\n    }\n\n    const isDisabled = computed(() => {\n      return props.isEdit && set_as_default.value && is_current_disk.value\n        ? true\n        : false\n    })\n\n    async function submitData() {\n      v$.value.doSpaceDiskConfig.$touch()\n      if (v$.value.doSpaceDiskConfig.$invalid) {\n        return true\n      }\n\n      let data = {\n        credentials: diskStore.doSpaceDiskConfig,\n        name: diskStore.doSpaceDiskConfig.name,\n        driver: selected_disk.value.value,\n        set_as_default: set_as_default.value,\n      }\n      emit('submit', data)\n      return false\n    }\n\n    function onChangeDriver() {\n      emit('onChangeDisk', diskStore.doSpaceDiskConfig.selected_driver)\n    }\n\n    return {\n      v$,\n      diskStore,\n      selected_driver,\n      isLoading,\n      set_as_default,\n      selected_disk,\n      is_current_disk,\n      loadData,\n      submitData,\n      onChangeDriver,\n      isDisabled,\n    }\n  },\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/modal-components/disks/DropboxDisk.vue",
    "content": "<template>\n  <form @submit.prevent=\"submitData\">\n    <div class=\"px-8 py-6\">\n      <BaseInputGrid>\n        <BaseInputGroup\n          :label=\"$t('settings.disk.name')\"\n          :error=\"\n            v$.dropBoxDiskConfig.name.$error &&\n            v$.dropBoxDiskConfig.name.$errors[0].$message\n          \"\n          required\n        >\n          <BaseInput\n            v-model=\"diskStore.dropBoxDiskConfig.name\"\n            type=\"text\"\n            name=\"name\"\n            :invalid=\"v$.dropBoxDiskConfig.name.$error\"\n            @input=\"v$.dropBoxDiskConfig.name.$touch()\"\n          />\n        </BaseInputGroup>\n\n        <BaseInputGroup\n          :label=\"$t('settings.disk.driver')\"\n          :error=\"\n            v$.dropBoxDiskConfig.selected_driver.$error &&\n            v$.dropBoxDiskConfig.selected_driver.$errors[0].$message\n          \"\n          required\n        >\n          <BaseMultiselect\n            v-model=\"selected_driver\"\n            :invalid=\"v$.dropBoxDiskConfig.selected_driver.$error\"\n            value-prop=\"value\"\n            :options=\"disks\"\n            searchable\n            label=\"name\"\n            :can-deselect=\"false\"\n            @update:modelValue=\"onChangeDriver(data)\"\n          />\n        </BaseInputGroup>\n\n        <BaseInputGroup\n          :label=\"$t('settings.disk.dropbox_root')\"\n          :error=\"\n            v$.dropBoxDiskConfig.root.$error &&\n            v$.dropBoxDiskConfig.root.$errors[0].$message\n          \"\n          required\n        >\n          <BaseInput\n            v-model.trim=\"diskStore.dropBoxDiskConfig.root\"\n            type=\"text\"\n            name=\"name\"\n            placeholder=\"Ex. /user/root/\"\n            :invalid=\"v$.dropBoxDiskConfig.root.$error\"\n            @input=\"v$.dropBoxDiskConfig.root.$touch()\"\n          />\n        </BaseInputGroup>\n\n        <BaseInputGroup\n          :label=\"$t('settings.disk.dropbox_token')\"\n          :error=\"\n            v$.dropBoxDiskConfig.token.$error &&\n            v$.dropBoxDiskConfig.token.$errors[0].$message\n          \"\n          required\n        >\n          <BaseInput\n            v-model.trim=\"diskStore.dropBoxDiskConfig.token\"\n            type=\"text\"\n            name=\"name\"\n            :invalid=\"v$.dropBoxDiskConfig.token.$error\"\n            @input=\"v$.dropBoxDiskConfig.token.$touch()\"\n          />\n        </BaseInputGroup>\n\n        <BaseInputGroup\n          :label=\"$t('settings.disk.dropbox_key')\"\n          :error=\"\n            v$.dropBoxDiskConfig.key.$error &&\n            v$.dropBoxDiskConfig.key.$errors[0].$message\n          \"\n          required\n        >\n          <BaseInput\n            v-model.trim=\"diskStore.dropBoxDiskConfig.key\"\n            type=\"text\"\n            name=\"name\"\n            placeholder=\"Ex. KEIS4S39SERSDS\"\n            :invalid=\"v$.dropBoxDiskConfig.key.$error\"\n            @input=\"v$.dropBoxDiskConfig.key.$touch()\"\n          />\n        </BaseInputGroup>\n\n        <BaseInputGroup\n          :label=\"$t('settings.disk.dropbox_secret')\"\n          :error=\"\n            v$.dropBoxDiskConfig.secret.$error &&\n            v$.dropBoxDiskConfig.secret.$errors[0].$message\n          \"\n          required\n        >\n          <BaseInput\n            v-model.trim=\"diskStore.dropBoxDiskConfig.secret\"\n            type=\"text\"\n            name=\"name\"\n            placeholder=\"Ex. ********\"\n            :invalid=\"v$.dropBoxDiskConfig.secret.$error\"\n            @input=\"v$.dropBoxDiskConfig.secret.$touch()\"\n          />\n        </BaseInputGroup>\n\n        <BaseInputGroup\n          :label=\"$t('settings.disk.dropbox_app')\"\n          :error=\"\n            v$.dropBoxDiskConfig.app.$error &&\n            v$.dropBoxDiskConfig.app.$errors[0].$message\n          \"\n          required\n        >\n          <BaseInput\n            v-model.trim=\"diskStore.dropBoxDiskConfig.app\"\n            type=\"text\"\n            name=\"name\"\n            :invalid=\"v$.dropBoxDiskConfig.app.$error\"\n            @input=\"v$.dropBoxDiskConfig.app.$touch()\"\n          />\n        </BaseInputGroup>\n      </BaseInputGrid>\n      <div v-if=\"!isDisabled\" class=\"flex items-center mt-6\">\n        <div class=\"relative flex items-center w-12\">\n          <BaseSwitch v-model=\"set_as_default\" class=\"flex\" />\n        </div>\n        <div class=\"ml-4 right\">\n          <p class=\"p-0 mb-1 text-base leading-snug text-black box-title\">\n            {{ $t('settings.disk.is_default') }}\n          </p>\n        </div>\n      </div>\n    </div>\n    <slot :disk-data=\"{ isLoading, submitData }\" />\n  </form>\n</template>\n\n<script>\nimport { useDiskStore } from '@/scripts/admin/stores/disk'\nimport { useModalStore } from '@/scripts/stores/modal'\nimport { reactive, ref, computed, onBeforeUnmount } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport useVuelidate from '@vuelidate/core'\nimport { required, helpers } from '@vuelidate/validators'\nexport default {\n  props: {\n    isEdit: {\n      type: Boolean,\n      require: true,\n      default: false,\n    },\n    loading: {\n      type: Boolean,\n      require: true,\n      default: false,\n    },\n    disks: {\n      type: Array,\n      require: true,\n      default: Array,\n    },\n  },\n\n  emits: ['submit', 'onChangeDisk'],\n\n  setup(props, { emit }) {\n    const diskStore = useDiskStore()\n    const modalStore = useModalStore()\n    const { t } = useI18n()\n\n    let set_as_default = ref(false)\n    let isLoading = ref(false)\n    let is_current_disk = ref(null)\n    let selected_disk = ref(null)\n\n    const selected_driver = computed({\n      get: () => diskStore.selected_driver,\n      set: (value) => {\n        diskStore.selected_driver = value\n        diskStore.dropBoxDiskConfig.selected_driver = value\n      },\n    })\n\n    const rules = computed(() => {\n      return {\n        dropBoxDiskConfig: {\n          root: {\n            required: helpers.withMessage(t('validation.required'), required),\n          },\n          key: {\n            required: helpers.withMessage(t('validation.required'), required),\n          },\n          secret: {\n            required: helpers.withMessage(t('validation.required'), required),\n          },\n          token: {\n            required: helpers.withMessage(t('validation.required'), required),\n          },\n          app: {\n            required: helpers.withMessage(t('validation.required'), required),\n          },\n          selected_driver: {\n            required: helpers.withMessage(t('validation.required'), required),\n          },\n          name: {\n            required: helpers.withMessage(t('validation.required'), required),\n          },\n        },\n      }\n    })\n\n    const v$ = useVuelidate(\n      rules,\n      computed(() => diskStore)\n    )\n\n    onBeforeUnmount(() => {\n      diskStore.dropBoxDiskConfig = {\n        name: null,\n        selected_driver: 'dropbox',\n        token: null,\n        key: null,\n        secret: null,\n        app: null,\n      }\n    })\n\n    loadData()\n\n    async function loadData() {\n      isLoading.value = true\n      let data = reactive({\n        disk: 'dropbox',\n      })\n\n      if (props.isEdit) {\n        Object.assign(diskStore.dropBoxDiskConfig, modalStore.data)\n        set_as_default.value = modalStore.data.set_as_default\n\n        if (set_as_default.value) {\n          is_current_disk.value = true\n        }\n      } else {\n        let diskData = await diskStore.fetchDiskEnv(data)\n        Object.assign(diskStore.dropBoxDiskConfig, diskData.data)\n      }\n      selected_disk.value = props.disks.find((v) => v.value == 'dropbox')\n      isLoading.value = false\n    }\n\n    const isDisabled = computed(() => {\n      return props.isEdit && set_as_default.value && is_current_disk.value\n        ? true\n        : false\n    })\n\n    async function submitData() {\n      v$.value.dropBoxDiskConfig.$touch()\n      if (v$.value.dropBoxDiskConfig.$invalid) {\n        return true\n      }\n      let data = {\n        credentials: diskStore.dropBoxDiskConfig,\n        name: diskStore.dropBoxDiskConfig.name,\n        driver: selected_disk.value.value,\n        set_as_default: set_as_default.value,\n      }\n\n      emit('submit', data)\n      return false\n    }\n\n    function onChangeDriver() {\n      emit('onChangeDisk', diskStore.dropBoxDiskConfig.selected_driver)\n    }\n\n    return {\n      v$,\n      diskStore,\n      selected_driver,\n      set_as_default,\n      isLoading,\n      is_current_disk,\n      selected_disk,\n      isDisabled,\n      loadData,\n      submitData,\n      onChangeDriver,\n    }\n  },\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/modal-components/disks/LocalDisk.vue",
    "content": "<template>\n  <form action=\"\" @submit.prevent=\"submitData\">\n    <div class=\"px-4 sm:px-8 py-6\">\n      <BaseInputGrid>\n        <BaseInputGroup\n          :label=\"$t('settings.disk.name')\"\n          :error=\"\n            v$.localDiskConfig.name.$error &&\n            v$.localDiskConfig.name.$errors[0].$message\n          \"\n          required\n        >\n          <BaseInput\n            v-model=\"diskStore.localDiskConfig.name\"\n            type=\"text\"\n            name=\"name\"\n            :invalid=\"v$.localDiskConfig.name.$error\"\n            @input=\"v$.localDiskConfig.name.$touch()\"\n          />\n        </BaseInputGroup>\n\n        <BaseInputGroup\n          :label=\"$tc('settings.disk.driver')\"\n          :error=\"\n            v$.localDiskConfig.selected_driver.$error &&\n            v$.localDiskConfig.selected_driver.$errors[0].$message\n          \"\n          required\n        >\n          <BaseMultiselect\n            v-model=\"selected_driver\"\n            value-prop=\"value\"\n            :invalid=\"v$.localDiskConfig.selected_driver.$error\"\n            :options=\"disks\"\n            searchable\n            label=\"name\"\n            :can-deselect=\"false\"\n            @update:modelValue=\"onChangeDriver(data)\"\n          />\n        </BaseInputGroup>\n\n        <BaseInputGroup\n          :label=\"$t('settings.disk.local_root')\"\n          :error=\"\n            v$.localDiskConfig.root.$error &&\n            v$.localDiskConfig.root.$errors[0].$message\n          \"\n          required\n        >\n          <BaseInput\n            v-model.trim=\"diskStore.localDiskConfig.root\"\n            type=\"text\"\n            name=\"name\"\n            :invalid=\"v$.localDiskConfig.root.$error\"\n            placeholder=\"Ex./user/root/\"\n            @input=\"v$.localDiskConfig.root.$touch()\"\n          />\n        </BaseInputGroup>\n      </BaseInputGrid>\n      <div v-if=\"!isDisabled\" class=\"flex items-center mt-6\">\n        <div class=\"relative flex items-center w-12\">\n          <BaseSwitch v-model=\"set_as_default\" class=\"flex\" />\n        </div>\n\n        <div class=\"ml-4 right\">\n          <p class=\"p-0 mb-1 text-base leading-snug text-black box-title\">\n            {{ $t('settings.disk.is_default') }}\n          </p>\n        </div>\n      </div>\n    </div>\n    <slot :disk-data=\"{ isLoading, submitData }\" />\n  </form>\n</template>\n\n<script>\nimport { useDiskStore } from '@/scripts/admin/stores/disk'\nimport { useModalStore } from '@/scripts/stores/modal'\nimport { computed, onBeforeUnmount, reactive, ref } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport useVuelidate from '@vuelidate/core'\nimport { required, helpers } from '@vuelidate/validators'\n\nexport default {\n  props: {\n    isEdit: {\n      type: Boolean,\n      require: true,\n      default: false,\n    },\n    loading: {\n      type: Boolean,\n      require: true,\n      default: false,\n    },\n    disks: {\n      type: Array,\n      require: true,\n      default: Array,\n    },\n  },\n\n  emits: ['submit', 'onChangeDisk'],\n\n  setup(props, { emit }) {\n    const diskStore = useDiskStore()\n    const modalStore = useModalStore()\n    const { t } = useI18n()\n\n    let isLoading = ref(false)\n    let set_as_default = ref(false)\n    let selected_disk = ref('')\n    let is_current_disk = ref(null)\n\n    const selected_driver = computed({\n      get: () => diskStore.selected_driver,\n      set: (value) => {\n        diskStore.selected_driver = value\n        diskStore.localDiskConfig.selected_driver = value\n      },\n    })\n\n    const rules = computed(() => {\n      return {\n        localDiskConfig: {\n          name: {\n            required: helpers.withMessage(t('validation.required'), required),\n          },\n          selected_driver: {\n            required: helpers.withMessage(t('validation.required'), required),\n          },\n          root: {\n            required: helpers.withMessage(t('validation.required'), required),\n          },\n        },\n      }\n    })\n\n    const v$ = useVuelidate(\n      rules,\n      computed(() => diskStore)\n    )\n\n    onBeforeUnmount(() => {\n      diskStore.localDiskConfig = {\n        name: null,\n        selected_driver: 'local',\n        root: null,\n      }\n    })\n\n    loadData()\n\n    async function loadData() {\n      isLoading.value = true\n\n      let data = reactive({\n        disk: 'local',\n      })\n\n      if (props.isEdit) {\n        Object.assign(diskStore.localDiskConfig, modalStore.data)\n        diskStore.localDiskConfig.root = modalStore.data.credentials\n        set_as_default.value = modalStore.data.set_as_default\n\n        if (set_as_default.value) {\n          is_current_disk.value = true\n        }\n      } else {\n        let diskData = await diskStore.fetchDiskEnv(data)\n        Object.assign(diskStore.localDiskConfig, diskData.data)\n      }\n\n      selected_disk.value = props.disks.find((v) => v.value == 'local')\n      isLoading.value = false\n    }\n\n    const isDisabled = computed(() => {\n      return props.isEdit && set_as_default.value && is_current_disk.value\n        ? true\n        : false\n    })\n\n    async function submitData() {\n      v$.value.localDiskConfig.$touch()\n\n      if (v$.value.localDiskConfig.$invalid) {\n        return true\n      }\n\n      let data = reactive({\n        credentials: diskStore.localDiskConfig.root,\n        name: diskStore.localDiskConfig.name,\n        driver: diskStore.localDiskConfig.selected_driver,\n        set_as_default: set_as_default.value,\n      })\n\n      emit('submit', data)\n      return false\n    }\n\n    function onChangeDriver() {\n      emit('onChangeDisk', diskStore.localDiskConfig.selected_driver)\n    }\n\n    return {\n      v$,\n      diskStore,\n      modalStore,\n      selected_driver,\n      selected_disk,\n      isLoading,\n      set_as_default,\n      is_current_disk,\n      submitData,\n      onChangeDriver,\n      isDisabled,\n    }\n  },\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/components/modal-components/disks/S3Disk.vue",
    "content": "<template>\n  <form @submit.prevent=\"submitData\">\n    <div class=\"px-8 py-6\">\n      <BaseInputGrid>\n        <BaseInputGroup\n          :label=\"$t('settings.disk.name')\"\n          :error=\"\n            v$.s3DiskConfigData.name.$error &&\n            v$.s3DiskConfigData.name.$errors[0].$message\n          \"\n          required\n        >\n          <BaseInput\n            v-model=\"diskStore.s3DiskConfigData.name\"\n            type=\"text\"\n            name=\"name\"\n            :invalid=\"v$.s3DiskConfigData.name.$error\"\n            @input=\"v$.s3DiskConfigData.name.$touch()\"\n          />\n        </BaseInputGroup>\n\n        <BaseInputGroup\n          :label=\"$tc('settings.disk.driver')\"\n          :error=\"\n            v$.s3DiskConfigData.selected_driver.$error &&\n            v$.s3DiskConfigData.selected_driver.$errors[0].$message\n          \"\n          required\n        >\n          <BaseMultiselect\n            v-model=\"selected_driver\"\n            :invalid=\"v$.s3DiskConfigData.selected_driver.$error\"\n            value-prop=\"value\"\n            :options=\"disks\"\n            searchable\n            label=\"name\"\n            :can-deselect=\"false\"\n            @update:modelValue=\"onChangeDriver(data)\"\n          />\n        </BaseInputGroup>\n\n        <BaseInputGroup\n          :label=\"$t('settings.disk.aws_root')\"\n          :error=\"\n            v$.s3DiskConfigData.root.$error &&\n            v$.s3DiskConfigData.root.$errors[0].$message\n          \"\n          required\n        >\n          <BaseInput\n            v-model.trim=\"diskStore.s3DiskConfigData.root\"\n            type=\"text\"\n            name=\"name\"\n            placeholder=\"Ex. /user/root/\"\n            :invalid=\"v$.s3DiskConfigData.root.$error\"\n            @input=\"v$.s3DiskConfigData.root.$touch()\"\n          />\n        </BaseInputGroup>\n\n        <BaseInputGroup\n          :label=\"$t('settings.disk.aws_key')\"\n          :error=\"\n            v$.s3DiskConfigData.key.$error &&\n            v$.s3DiskConfigData.key.$errors[0].$message\n          \"\n          required\n        >\n          <BaseInput\n            v-model.trim=\"diskStore.s3DiskConfigData.key\"\n            type=\"text\"\n            name=\"name\"\n            placeholder=\"Ex. KEIS4S39SERSDS\"\n            :invalid=\"v$.s3DiskConfigData.key.$error\"\n            @input=\"v$.s3DiskConfigData.key.$touch()\"\n          />\n        </BaseInputGroup>\n\n        <BaseInputGroup\n          :label=\"$t('settings.disk.aws_secret')\"\n          :error=\"\n            v$.s3DiskConfigData.secret.$error &&\n            v$.s3DiskConfigData.secret.$errors[0].$message\n          \"\n          required\n        >\n          <BaseInput\n            v-model.trim=\"diskStore.s3DiskConfigData.secret\"\n            type=\"text\"\n            name=\"name\"\n            placeholder=\"Ex. ********\"\n            :invalid=\"v$.s3DiskConfigData.secret.$error\"\n            @input=\"v$.s3DiskConfigData.secret.$touch()\"\n          />\n        </BaseInputGroup>\n\n        <BaseInputGroup\n          :label=\"$t('settings.disk.aws_region')\"\n          :error=\"\n            v$.s3DiskConfigData.region.$error &&\n            v$.s3DiskConfigData.region.$errors[0].$message\n          \"\n          required\n        >\n          <BaseInput\n            v-model.trim=\"diskStore.s3DiskConfigData.region\"\n            type=\"text\"\n            name=\"name\"\n            placeholder=\"Ex. us-west\"\n            :invalid=\"v$.s3DiskConfigData.region.$error\"\n            @input=\"v$.s3DiskConfigData.region.$touch()\"\n          />\n        </BaseInputGroup>\n\n        <BaseInputGroup\n          :label=\"$t('settings.disk.aws_bucket')\"\n          :error=\"\n            v$.s3DiskConfigData.bucket.$error &&\n            v$.s3DiskConfigData.bucket.$errors[0].$message\n          \"\n          required\n        >\n          <BaseInput\n            v-model.trim=\"diskStore.s3DiskConfigData.bucket\"\n            type=\"text\"\n            name=\"name\"\n            placeholder=\"Ex. AppName\"\n            :invalid=\"v$.s3DiskConfigData.bucket.$error\"\n            @input=\"v$.s3DiskConfigData.bucket.$touch()\"\n          />\n        </BaseInputGroup>\n      </BaseInputGrid>\n      <div v-if=\"!isDisabled\" class=\"flex items-center mt-6\">\n        <div class=\"relative flex items-center w-12\">\n          <BaseSwitch v-model=\"set_as_default\" class=\"flex\" />\n        </div>\n        <div class=\"ml-4 right\">\n          <p class=\"p-0 mb-1 text-base leading-snug text-black box-title\">\n            {{ $t('settings.disk.is_default') }}\n          </p>\n        </div>\n      </div>\n    </div>\n    <slot :disk-data=\"{ isLoading, submitData }\" />\n  </form>\n</template>\n\n<script>\nimport { useDiskStore } from '@/scripts/admin/stores/disk'\nimport { useModalStore } from '@/scripts/stores/modal'\nimport { computed, onBeforeUnmount, reactive, ref } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport useVuelidate from '@vuelidate/core'\nimport { required, helpers } from '@vuelidate/validators'\nexport default {\n  props: {\n    isEdit: {\n      type: Boolean,\n      require: true,\n      default: false,\n    },\n    loading: {\n      type: Boolean,\n      require: true,\n      default: false,\n    },\n    disks: {\n      type: Array,\n      require: true,\n      default: Array,\n    },\n  },\n\n  emits: ['submit', 'onChangeDisk'],\n\n  setup(props, { emit }) {\n    const diskStore = useDiskStore()\n    const modalStore = useModalStore()\n    const { t } = useI18n()\n\n    let set_as_default = ref(false)\n    let isLoading = ref(false)\n    let selected_disk = ref(null)\n    let is_current_disk = ref(null)\n\n    const selected_driver = computed({\n      get: () => diskStore.selected_driver,\n      set: (value) => {\n        diskStore.selected_driver = value\n        diskStore.s3DiskConfigData.selected_driver = value\n      },\n    })\n\n    const rules = computed(() => {\n      return {\n        s3DiskConfigData: {\n          name: {\n            required: helpers.withMessage(t('validation.required'), required),\n          },\n          root: {\n            required: helpers.withMessage(t('validation.required'), required),\n          },\n          key: {\n            required: helpers.withMessage(t('validation.required'), required),\n          },\n          secret: {\n            required: helpers.withMessage(t('validation.required'), required),\n          },\n          region: {\n            required: helpers.withMessage(t('validation.required'), required),\n          },\n          bucket: {\n            required: helpers.withMessage(t('validation.required'), required),\n          },\n          selected_driver: {\n            required: helpers.withMessage(t('validation.required'), required),\n          },\n        },\n      }\n    })\n\n    const v$ = useVuelidate(\n      rules,\n      computed(() => diskStore)\n    )\n\n    onBeforeUnmount(() => {\n      diskStore.s3DiskConfigData = {\n        name: null,\n        selected_driver: 's3',\n        key: null,\n        secret: null,\n        region: null,\n        bucket: null,\n        root: null,\n      }\n    })\n\n    loadData()\n\n    async function loadData() {\n      isLoading.value = true\n      let data = reactive({\n        disk: 's3',\n      })\n\n      if (props.isEdit) {\n        Object.assign(diskStore.s3DiskConfigData, modalStore.data)\n        set_as_default.value = modalStore.data.set_as_default\n\n        if (set_as_default.value) {\n          is_current_disk.value = true\n        }\n      } else {\n        let diskData = await diskStore.fetchDiskEnv(data)\n        Object.assign(diskStore.s3DiskConfigData, diskData.data)\n      }\n      selected_disk.value = props.disks.find((v) => v.value == 's3')\n      isLoading.value = false\n    }\n\n    const isDisabled = computed(() => {\n      return props.isEdit && set_as_default.value && is_current_disk.value\n        ? true\n        : false\n    })\n\n    async function submitData() {\n      v$.value.s3DiskConfigData.$touch()\n      if (v$.value.s3DiskConfigData.$invalid) {\n        return true\n      }\n\n      let data = {\n        credentials: diskStore.s3DiskConfigData,\n        name: diskStore.s3DiskConfigData.name,\n        driver: selected_disk.value.value,\n        set_as_default: set_as_default.value,\n      }\n\n      emit('submit', data)\n      return false\n    }\n\n    function onChangeDriver() {\n      emit('onChangeDisk', diskStore.s3DiskConfigData.selected_driver)\n    }\n\n    return {\n      v$,\n      diskStore,\n      modalStore,\n      set_as_default,\n      isLoading,\n      selected_disk,\n      selected_driver,\n      is_current_disk,\n      loadData,\n      submitData,\n      onChangeDriver,\n      isDisabled,\n    }\n  },\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/layouts/LayoutBasic.vue",
    "content": "<template>\n  <div v-if=\"isAppLoaded\" class=\"h-full\">\n    <NotificationRoot />\n\n    <SiteHeader />\n\n    <SiteSidebar />\n\n    <ExchangeRateBulkUpdateModal />\n\n    <main\n      class=\"h-screen h-screen-ios overflow-y-auto md:pl-56 xl:pl-64 min-h-0\"\n    >\n      <div class=\"pt-16 pb-16\">\n        <router-view />\n      </div>\n    </main>\n  </div>\n\n  <BaseGlobalLoader v-else />\n</template>\n\n<script setup>\nimport { useI18n } from 'vue-i18n'\nimport { useGlobalStore } from '@/scripts/admin/stores/global'\nimport { onMounted, computed } from 'vue'\nimport { useRoute, useRouter } from 'vue-router'\nimport { useUserStore } from '@/scripts/admin/stores/user'\nimport { useModalStore } from '@/scripts/stores/modal'\nimport { useExchangeRateStore } from '@/scripts/admin/stores/exchange-rate'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\n\nimport SiteHeader from '@/scripts/admin/layouts/partials/TheSiteHeader.vue'\nimport SiteSidebar from '@/scripts/admin/layouts/partials/TheSiteSidebar.vue'\nimport NotificationRoot from '@/scripts/components/notifications/NotificationRoot.vue'\nimport ExchangeRateBulkUpdateModal from '@/scripts/admin/components/modal-components/ExchangeRateBulkUpdateModal.vue'\n\nconst globalStore = useGlobalStore()\nconst route = useRoute()\nconst userStore = useUserStore()\nconst router = useRouter()\nconst modalStore = useModalStore()\nconst { t } = useI18n()\nconst exchangeRateStore = useExchangeRateStore()\nconst companyStore = useCompanyStore()\n\nconst isAppLoaded = computed(() => {\n  return globalStore.isAppLoaded\n})\n\nonMounted(() => {\n  globalStore.bootstrap().then((res) => {\n    if (route.meta.ability && !userStore.hasAbilities(route.meta.ability)) {\n      router.push({ name: 'account.settings' })\n    } else if (route.meta.isOwner && !userStore.currentUser.is_owner) {\n      router.push({ name: 'account.settings' })\n    }\n\n    if (\n      res.data.current_company_settings.bulk_exchange_rate_configured === 'NO'\n    ) {\n      exchangeRateStore.fetchBulkCurrencies().then((res) => {\n        if (res.data.currencies.length) {\n          modalStore.openModal({\n            componentName: 'ExchangeRateBulkUpdateModal',\n            size: 'sm',\n          })\n        } else {\n          let data = {\n            settings: {\n              bulk_exchange_rate_configured: 'YES',\n            },\n          }\n          companyStore.updateCompanySettings({\n            data,\n          })\n        }\n      })\n    }\n  })\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/layouts/LayoutInstallation.vue",
    "content": "<template>\n  <div class=\"h-screen overflow-y-auto text-base\">\n    <NotificationRoot />\n\n    <div class=\"container mx-auto px-4\">\n      <router-view />\n    </div>\n  </div>\n</template>\n\n<script setup>\nimport NotificationRoot from '@/scripts/components/notifications/NotificationRoot.vue'\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/layouts/LayoutLogin.vue",
    "content": "<template>\n  <div class=\"grid h-screen grid-cols-12 overflow-y-hidden bg-gray-100\">\n    <NotificationRoot />\n\n    <div\n      class=\"\n        flex\n        items-center\n        justify-center\n        w-full\n        max-w-sm\n        col-span-12\n        p-4\n        mx-auto\n        text-gray-900\n        md:p-8 md:col-span-6\n        lg:col-span-4\n        flex-2\n        md:pb-48 md:pt-40\n      \"\n    >\n      <div class=\"w-full\">\n        <MainLogo\n          v-if=\"!loginPageLogo\"\n          class=\"block w-48 h-auto max-w-full mb-32 text-primary-500\"\n        />\n\n        <img\n          v-else\n          :src=\"loginPageLogo\"\n          class=\"block w-48 h-auto max-w-full mb-32 text-primary-500\"\n        />\n\n        <router-view />\n\n        <div\n          class=\"\n            pt-24\n            mt-0\n            text-sm\n            not-italic\n            font-medium\n            leading-relaxed\n            text-left text-gray-400\n            md:pt-40\n          \"\n        >\n          <p class=\"mb-3\">\n            {{ copyrightText }}\n            {{ new Date().getFullYear() }}\n          </p>\n        </div>\n      </div>\n    </div>\n    <div\n      class=\"\n        relative\n        flex-col\n        items-center\n        justify-center\n        hidden\n        w-full\n        h-full\n        pl-10\n        bg-no-repeat bg-cover\n        md:col-span-6\n        lg:col-span-8\n        md:flex\n        content-box\n        overflow-hidden\n      \"\n    >\n      <LoginBackground class=\"absolute h-full w-full\" />\n\n      <LoginPlanetCrater\n        class=\"absolute z-10 top-0 right-0 h-[300px] w-[420px]\"\n      />\n\n      <LoginBackgroundOverlay class=\"absolute h-full w-full right-[7.5%]\" />\n\n      <div class=\"md:pl-10 xl:pl-0 relative z-50 w-7/12 xl:w-5/12 xl:w-5/12\">\n        <h1\n          class=\"\n            hidden\n            mb-3\n            text-3xl\n            leading-normal\n            text-left text-white\n            xl:text-5xl xl:leading-tight\n            md:none\n            lg:block\n          \"\n        >\n          {{ pageHeading }}\n        </h1>\n        <p\n          class=\"\n            hidden\n            text-sm\n            not-italic\n            font-normal\n            leading-normal\n            text-left text-gray-100\n            xl:text-base xl:leading-6\n            md:none\n            lg:block\n          \"\n        >\n          {{ pageDescription }}\n        </p>\n      </div>\n\n      <LoginBottomVector\n        class=\"\n          absolute\n          z-50\n          w-full\n          bg-no-repeat\n          content-bottom\n          h-[15vw]\n          lg:h-[22vw]\n          right-[32%]\n          bottom-0\n        \"\n      />\n    </div>\n  </div>\n</template>\n\n<script setup>\nimport NotificationRoot from '@/scripts/components/notifications/NotificationRoot.vue'\nimport MainLogo from '@/scripts/components/icons/MainLogo.vue'\nimport LoginBackground from '@/scripts/components/svg/LoginBackground.vue'\nimport LoginPlanetCrater from '@/scripts/components/svg/LoginPlanetCrater.vue'\nimport LoginBottomVector from '@/scripts/components/svg/LoginBottomVector.vue'\nimport LoginBackgroundOverlay from '@/scripts/components/svg/LoginBackgroundOverlay.vue'\nimport { computed, ref } from 'vue'\n\nconst pageHeading = computed(() => {\n  if (window.login_page_heading) {\n    return window.login_page_heading\n  }\n\n  return 'Simple Invoicing for Individuals Small Businesses'\n})\n\nconst pageDescription = computed(() => {\n  if (window.login_page_description) {\n    return window.login_page_description\n  }\n\n  return 'Crater helps you track expenses, record payments & generate beautiful invoices & estimates.'\n})\n\nconst copyrightText = computed(() => {\n  if (window.copyright_text) {\n    return window.copyright_text\n  }\n  return 'Copyright @ Crater Invoice, Inc.'\n})\n\nconst loginPageLogo = computed(() => {\n  if (window.login_page_logo) {\n    return window.login_page_logo\n  }\n\n  return false\n})\n</script>\n\n<style lang=\"scss\" scoped>\n</style>\n"
  },
  {
    "path": "resources/scripts/admin/layouts/partials/TheSiteHeader.vue",
    "content": "<template>\n  <header\n    class=\"\n      fixed\n      top-0\n      left-0\n      z-20\n      flex\n      items-center\n      justify-between\n      w-full\n      px-4\n      py-3\n      md:h-16 md:px-8\n      bg-gradient-to-r\n      from-primary-500\n      to-primary-400\n    \"\n  >\n    <router-link\n      to=\"/admin/dashboard\"\n      class=\"\n        float-none\n        text-lg\n        not-italic\n        font-black\n        tracking-wider\n        text-white\n        brand-main\n        md:float-left\n        font-base\n        hidden\n        md:block\n      \"\n    >\n      <img v-if=\"adminLogo\" :src=\"adminLogo\" class=\"h-6\" />\n      <MainLogo v-else class=\"h-6\" light-color=\"white\" dark-color=\"white\" />\n    </router-link>\n\n    <!-- toggle button-->\n    <div\n      :class=\"{ 'is-active': globalStore.isSidebarOpen }\"\n      class=\"\n        flex\n        float-left\n        p-1\n        overflow-visible\n        text-sm\n        ease-linear\n        bg-white\n        border-0\n        rounded\n        cursor-pointer\n        md:hidden md:ml-0\n        hover:bg-gray-100\n      \"\n      @click.prevent=\"onToggle\"\n    >\n      <BaseIcon name=\"MenuIcon\" class=\"!w-6 !h-6 text-gray-500\" />\n    </div>\n\n    <ul class=\"flex float-right h-8 m-0 list-none md:h-9\">\n      <li\n        v-if=\"hasCreateAbilities\"\n        class=\"relative hidden float-left m-0 md:block\"\n      >\n        <BaseDropdown width-class=\"w-48\">\n          <template #activator>\n            <div\n              class=\"\n                flex\n                items-center\n                justify-center\n                w-8\n                h-8\n                ml-2\n                text-sm text-black\n                bg-white\n                rounded\n                md:h-9 md:w-9\n              \"\n            >\n              <BaseIcon name=\"PlusIcon\" class=\"w-5 h-5 text-gray-600\" />\n            </div>\n          </template>\n\n          <router-link to=\"/admin/invoices/create\">\n            <BaseDropdownItem\n              v-if=\"userStore.hasAbilities(abilities.CREATE_INVOICE)\"\n            >\n              <BaseIcon\n                name=\"DocumentTextIcon\"\n                class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n                aria-hidden=\"true\"\n              />\n              {{ $t('invoices.new_invoice') }}\n            </BaseDropdownItem>\n          </router-link>\n          <router-link to=\"/admin/estimates/create\">\n            <BaseDropdownItem\n              v-if=\"userStore.hasAbilities(abilities.CREATE_ESTIMATE)\"\n            >\n              <BaseIcon\n                name=\"DocumentIcon\"\n                class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n                aria-hidden=\"true\"\n              />\n              {{ $t('estimates.new_estimate') }}\n            </BaseDropdownItem>\n          </router-link>\n\n          <router-link to=\"/admin/customers/create\">\n            <BaseDropdownItem\n              v-if=\"userStore.hasAbilities(abilities.CREATE_CUSTOMER)\"\n            >\n              <BaseIcon\n                name=\"UserIcon\"\n                class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n                aria-hidden=\"true\"\n              />\n              {{ $t('customers.new_customer') }}\n            </BaseDropdownItem>\n          </router-link>\n        </BaseDropdown>\n      </li>\n\n      <li class=\"ml-2\">\n        <GlobalSearchBar\n          v-if=\"\n            userStore.currentUser.is_owner ||\n            userStore.hasAbilities(abilities.VIEW_CUSTOMER)\n          \"\n        />\n      </li>\n\n      <li>\n        <CompanySwitcher />\n      </li>\n\n      <!-- User Dropdown-->\n      <li class=\"relative block float-left ml-2\">\n        <BaseDropdown width-class=\"w-48\">\n          <template #activator>\n            <img\n              :src=\"previewAvatar\"\n              class=\"block w-8 h-8 rounded md:h-9 md:w-9 object-cover\"\n            />\n          </template>\n\n          <router-link to=\"/admin/settings/account-settings\">\n            <BaseDropdownItem>\n              <BaseIcon\n                name=\"CogIcon\"\n                class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n                aria-hidden=\"true\"\n              />\n              {{ $t('navigation.settings') }}\n            </BaseDropdownItem>\n          </router-link>\n\n          <BaseDropdownItem @click=\"logout\">\n            <BaseIcon\n              name=\"LogoutIcon\"\n              class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n              aria-hidden=\"true\"\n            />\n            {{ $t('navigation.logout') }}\n          </BaseDropdownItem>\n        </BaseDropdown>\n      </li>\n    </ul>\n  </header>\n</template>\n\n<script setup>\nimport { useAuthStore } from '@/scripts/admin/stores/auth'\nimport { useRouter } from 'vue-router'\nimport { computed } from 'vue'\nimport { useUserStore } from '@/scripts/admin/stores/user'\nimport { useGlobalStore } from '@/scripts/admin/stores/global'\n\nimport CompanySwitcher from '@/scripts/components/CompanySwitcher.vue'\nimport GlobalSearchBar from '@/scripts/components/GlobalSearchBar.vue'\nimport MainLogo from '@/scripts/components/icons/MainLogo.vue'\n\nimport abilities from '@/scripts/admin/stub/abilities'\n\nconst authStore = useAuthStore()\nconst userStore = useUserStore()\nconst globalStore = useGlobalStore()\nconst router = useRouter()\n\nconst previewAvatar = computed(() => {\n  return userStore.currentUser && userStore.currentUser.avatar !== 0\n    ? userStore.currentUser.avatar\n    : getDefaultAvatar()\n})\n\nconst adminLogo = computed(() => {\n  if (globalStore.globalSettings.admin_portal_logo) {\n    return '/storage/' + globalStore.globalSettings.admin_portal_logo\n  }\n\n  return false\n})\n\nfunction getDefaultAvatar() {\n  const imgUrl = new URL('/img/default-avatar.jpg', import.meta.url)\n  return imgUrl\n}\n\nfunction hasCreateAbilities() {\n  return userStore.hasAbilities([\n    abilities.CREATE_INVOICE,\n    abilities.CREATE_ESTIMATE,\n    abilities.CREATE_CUSTOMER,\n  ])\n}\n\nasync function logout() {\n  await authStore.logout()\n  router.push('/login')\n}\n\nfunction onToggle() {\n  globalStore.setSidebarVisibility(true)\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/layouts/partials/TheSiteSidebar.vue",
    "content": "<template>\n  <!-- MOBILE MENU -->\n  <TransitionRoot as=\"template\" :show=\"globalStore.isSidebarOpen\">\n    <Dialog\n      as=\"div\"\n      class=\"fixed inset-0 z-40 flex md:hidden\"\n      @close=\"globalStore.setSidebarVisibility(false)\"\n    >\n      <TransitionChild\n        as=\"template\"\n        enter=\"transition-opacity ease-linear duration-300\"\n        enter-from=\"opacity-0\"\n        enter-to=\"opacity-100\"\n        leave=\"transition-opacity ease-linear duration-300\"\n        leave-from=\"opacity-100\"\n        leave-to=\"opacity-0\"\n      >\n        <DialogOverlay class=\"fixed inset-0 bg-gray-600 bg-opacity-75\" />\n      </TransitionChild>\n\n      <TransitionChild\n        as=\"template\"\n        enter=\"transition ease-in-out duration-300\"\n        enter-from=\"-translate-x-full\"\n        enter-to=\"translate-x-0\"\n        leave=\"transition ease-in-out duration-300\"\n        leave-from=\"translate-x-0\"\n        leave-to=\"-translate-x-full\"\n      >\n        <div class=\"relative flex flex-col flex-1 w-full max-w-xs bg-white\">\n          <TransitionChild\n            as=\"template\"\n            enter=\"ease-in-out duration-300\"\n            enter-from=\"opacity-0\"\n            enter-to=\"opacity-100\"\n            leave=\"ease-in-out duration-300\"\n            leave-from=\"opacity-100\"\n            leave-to=\"opacity-0\"\n          >\n            <div class=\"absolute top-0 right-0 pt-2 -mr-12\">\n              <button\n                class=\"\n                  flex\n                  items-center\n                  justify-center\n                  w-10\n                  h-10\n                  ml-1\n                  rounded-full\n                  focus:outline-none\n                  focus:ring-2\n                  focus:ring-inset\n                  focus:ring-white\n                \"\n                @click=\"globalStore.setSidebarVisibility(false)\"\n              >\n                <span class=\"sr-only\">Close sidebar</span>\n                <BaseIcon\n                  name=\"XIcon\"\n                  class=\"w-6 h-6 text-white\"\n                  aria-hidden=\"true\"\n                />\n              </button>\n            </div>\n          </TransitionChild>\n          <div class=\"flex-1 h-0 pt-5 pb-4 overflow-y-auto\">\n            <div class=\"flex items-center shrink-0 px-4 mb-10\">\n              <MainLogo\n                class=\"block h-auto max-w-full w-36 text-primary-400\"\n                alt=\"Crater Logo\"\n              />\n            </div>\n\n            <nav\n              v-for=\"menu in globalStore.menuGroups\"\n              :key=\"menu\"\n              class=\"mt-5 space-y-1\"\n            >\n              <router-link\n                v-for=\"item in menu\"\n                :key=\"item.name\"\n                :to=\"item.link\"\n                :class=\"[\n                  hasActiveUrl(item.link)\n                    ? 'text-primary-500 border-primary-500 bg-gray-100 '\n                    : 'text-black',\n                  'cursor-pointer px-0 pl-4 py-3 border-transparent flex items-center border-l-4 border-solid text-sm not-italic font-medium',\n                ]\"\n                @click=\"globalStore.setSidebarVisibility(false)\"\n              >\n                <BaseIcon\n                  :name=\"item.icon\"\n                  :class=\"[\n                    hasActiveUrl(item.link)\n                      ? 'text-primary-500 '\n                      : 'text-gray-400',\n                    'mr-4 shrink-0 h-5 w-5',\n                  ]\"\n                  @click=\"globalStore.setSidebarVisibility(false)\"\n                />\n                {{ $t(item.title) }}\n              </router-link>\n            </nav>\n          </div>\n        </div>\n      </TransitionChild>\n      <div class=\"shrink-0 w-14\">\n        <!-- Force sidebar to shrink to fit close icon -->\n      </div>\n    </Dialog>\n  </TransitionRoot>\n\n  <!-- DESKTOP MENU -->\n  <div\n    class=\"\n      hidden\n      w-56\n      h-screen\n      pb-32\n      overflow-y-auto\n      bg-white\n      border-r border-gray-200 border-solid\n      xl:w-64\n      md:fixed md:flex md:flex-col md:inset-y-0\n      pt-16\n    \"\n  >\n    <div\n      v-for=\"menu in globalStore.menuGroups\"\n      :key=\"menu\"\n      class=\"p-0 m-0 mt-6 list-none\"\n    >\n      <router-link\n        v-for=\"item in menu\"\n        :key=\"item\"\n        :to=\"item.link\"\n        :class=\"[\n          hasActiveUrl(item.link)\n            ? 'text-primary-500 border-primary-500 bg-gray-100 '\n            : 'text-black',\n          'cursor-pointer px-0 pl-6 hover:bg-gray-50 py-3 group flex items-center border-l-4 border-solid border-transparent text-sm not-italic font-medium',\n        ]\"\n      >\n        <BaseIcon\n          :name=\"item.icon\"\n          :class=\"[\n            hasActiveUrl(item.link)\n              ? 'text-primary-500 group-hover:text-primary-500 '\n              : 'text-gray-400 group-hover:text-black',\n            'mr-4 shrink-0 h-5 w-5 ',\n          ]\"\n        />\n\n        {{ $t(item.title) }}\n      </router-link>\n    </div>\n  </div>\n</template>\n\n<script setup>\nimport MainLogo from '@/scripts/components/icons/MainLogo.vue'\n\nimport {\n  Dialog,\n  DialogOverlay,\n  TransitionChild,\n  TransitionRoot,\n} from '@headlessui/vue'\n\nimport { useRoute } from 'vue-router'\nimport { useGlobalStore } from '@/scripts/admin/stores/global'\n\nconst route = useRoute()\nconst globalStore = useGlobalStore()\n\nfunction hasActiveUrl(url) {\n  return route.path.indexOf(url) > -1\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/stores/auth.js",
    "content": "import axios from 'axios'\nimport { defineStore } from 'pinia'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport { handleError } from '@/scripts/helpers/error-handling'\n\nexport const useAuthStore = (useWindow = false) => {\n  const defineStoreFunc = useWindow ? window.pinia.defineStore : defineStore\n  const { global } = window.i18n\n\n  return defineStoreFunc({\n    id: 'auth',\n    state: () => ({\n      status: '',\n\n      loginData: {\n        email: '',\n        password: '',\n        remember: '',\n      },\n    }),\n\n    actions: {\n      login(data) {\n        return new Promise((resolve, reject) => {\n          axios.get('/sanctum/csrf-cookie').then((response) => {\n            if (response) {\n              axios\n                .post('/login', data)\n                .then((response) => {\n                  resolve(response)\n\n                  setTimeout(() => {\n                    this.loginData.email = ''\n                    this.loginData.password = ''\n                  }, 1000)\n                })\n                .catch((err) => {\n                  handleError(err)\n                  reject(err)\n                })\n            }\n          })\n        })\n      },\n\n      logout() {\n        return new Promise((resolve, reject) => {\n          axios\n            .post('/auth/logout')\n            .then((response) => {\n              const notificationStore = useNotificationStore()\n              notificationStore.showNotification({\n                type: 'success',\n                message: 'Logged out successfully.',\n              })\n\n              window.router.push('/login')\n                // resetStore.clearPinia()\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              window.router.push('/')\n              reject(err)\n            })\n        })\n      },\n    },\n  })()\n}"
  },
  {
    "path": "resources/scripts/admin/stores/backup.js",
    "content": "import axios from 'axios'\nimport { defineStore } from 'pinia'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport { handleError } from '@/scripts/helpers/error-handling'\n\nexport const useBackupStore = (useWindow = false) => {\n  const defineStoreFunc = useWindow ? window.pinia.defineStore : defineStore\n  const { global } = window.i18n\n\n  return defineStoreFunc({\n    id: 'backup',\n\n    state: () => ({\n      backups: [],\n      currentBackupData: {\n        option: 'full',\n        selected_disk: null,\n      },\n    }),\n\n    actions: {\n      fetchBackups(params) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/backups`, { params })\n            .then((response) => {\n              this.backups = response.data.data\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      createBackup(data) {\n        return new Promise((resolve, reject) => {\n          axios\n            .post(`/api/v1/backups`, data)\n            .then((response) => {\n              const notificationStore = useNotificationStore()\n              notificationStore.showNotification({\n                type: 'success',\n                message: global.t('settings.backup.created_message'),\n              })\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      removeBackup(params) {\n        return new Promise((resolve, reject) => {\n          axios\n            .delete(`/api/v1/backups/${params.disk}`, { params })\n            .then((response) => {\n              const notificationStore = useNotificationStore()\n              notificationStore.showNotification({\n                type: 'success',\n                message: global.t('settings.backup.deleted_message'),\n              })\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n    },\n  })()\n}\n"
  },
  {
    "path": "resources/scripts/admin/stores/category.js",
    "content": "import axios from 'axios'\nimport { defineStore } from 'pinia'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport { handleError } from '@/scripts/helpers/error-handling'\n\nexport const useCategoryStore = (useWindow = false) => {\n  const defineStoreFunc = useWindow ? window.pinia.defineStore : defineStore\n  const { global } = window.i18n\n\n  return defineStoreFunc({\n    id: 'category',\n\n    state: () => ({\n      categories: [],\n      currentCategory: {\n        id: null,\n        name: '',\n        description: '',\n      },\n      editCategory: null\n    }),\n\n    getters: {\n      isEdit: (state) => (state.currentCategory.id ? true : false),\n    },\n\n    actions: {\n      fetchCategories(params) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/categories`, { params })\n            .then((response) => {\n              this.categories = response.data.data\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      fetchCategory(id) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/categories/${id}`)\n            .then((response) => {\n              this.currentCategory = response.data.data\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      addCategory(data) {\n        return new Promise((resolve, reject) => {\n          axios\n            .post('/api/v1/categories', data)\n            .then((response) => {\n              this.categories.push(response.data.data)\n              const notificationStore = useNotificationStore()\n              notificationStore.showNotification({\n                type: 'success',\n                message: global.t('settings.expense_category.created_message'),\n              })\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      updateCategory(data) {\n        return new Promise((resolve, reject) => {\n          axios\n            .put(`/api/v1/categories/${data.id}`, data)\n            .then((response) => {\n              if (response.data) {\n                let pos = this.categories.findIndex(\n                  (category) => category.id === response.data.data.id\n                )\n                this.categories[pos] = data.categories\n                const notificationStore = useNotificationStore()\n                notificationStore.showNotification({\n                  type: 'success',\n                  message: global.t(\n                    'settings.expense_category.updated_message'\n                  ),\n                })\n              }\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      deleteCategory(id) {\n        return new Promise((resolve) => {\n          axios\n            .delete(`/api/v1/categories/${id}`)\n            .then((response) => {\n              let index = this.categories.findIndex(\n                (category) => category.id === id\n              )\n              this.categories.splice(index, 1)\n              const notificationStore = useNotificationStore()\n              notificationStore.showNotification({\n                type: 'success',\n                message: global.t('settings.expense_category.deleted_message'),\n              })\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              console.error(err)\n            })\n        })\n      },\n    },\n  })()\n}\n"
  },
  {
    "path": "resources/scripts/admin/stores/company.js",
    "content": "import axios from 'axios'\nimport { defineStore } from 'pinia'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport { handleError } from '@/scripts/helpers/error-handling'\nimport Ls from '@/scripts/services/ls'\n\nexport const useCompanyStore = (useWindow = false) => {\n  const defineStoreFunc = useWindow ? window.pinia.defineStore : defineStore\n  const { global } = window.i18n\n\n  return defineStoreFunc({\n    id: 'company',\n\n    state: () => ({\n      companies: [],\n      selectedCompany: null,\n      selectedCompanySettings: {},\n      selectedCompanyCurrency: null,\n    }),\n\n    actions: {\n      setSelectedCompany(data) {\n        window.Ls.set('selectedCompany', data.id)\n        this.selectedCompany = data\n      },\n\n      fetchBasicMailConfig() {\n        return new Promise((resolve, reject) => {\n          axios\n            .get('/api/v1/company/mail/config')\n            .then((response) => {\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      updateCompany(data) {\n        return new Promise((resolve, reject) => {\n          axios\n            .put('/api/v1/company', data)\n            .then((response) => {\n              const notificationStore = useNotificationStore()\n\n              notificationStore.showNotification({\n                type: 'success',\n                message: global.t('settings.company_info.updated_message'),\n              })\n\n              this.selectedCompany = response.data.data\n\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      updateCompanyLogo(data) {\n        return new Promise((resolve, reject) => {\n          axios\n            .post('/api/v1/company/upload-logo', data)\n            .then((response) => {\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      addNewCompany(data) {\n        return new Promise((resolve, reject) => {\n          axios\n            .post('/api/v1/companies', data)\n            .then((response) => {\n              const notificationStore = useNotificationStore()\n              notificationStore.showNotification({\n                type: 'success',\n                message: global.t('company_switcher.created_message'),\n              })\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      fetchCompany(params) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get('/api/v1/current-company', params)\n            .then((response) => {\n              Object.assign(this.companyForm, response.data.data.address)\n              this.companyForm.name = response.data.data.name\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      fetchUserCompanies() {\n        return new Promise((resolve, reject) => {\n          axios\n            .get('/api/v1/companies')\n            .then((response) => {\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      fetchCompanySettings(settings) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get('/api/v1/company/settings', {\n              params: {\n                settings,\n              },\n            })\n            .then((response) => {\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      updateCompanySettings({ data, message }) {\n        return new Promise((resolve, reject) => {\n          axios\n            .post('/api/v1/company/settings', data)\n            .then((response) => {\n              Object.assign(this.selectedCompanySettings, data.settings)\n\n              if (message) {\n                const notificationStore = useNotificationStore()\n\n                notificationStore.showNotification({\n                  type: 'success',\n                  message: global.t(message),\n                })\n              }\n\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      deleteCompany(data) {\n        return new Promise((resolve, reject) => {\n          axios\n            .post(`/api/v1/companies/delete`, data)\n            .then((response) => {\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      setDefaultCurrency(data) {\n        this.defaultCurrency = data.currency\n      },\n    },\n  })()\n}\n"
  },
  {
    "path": "resources/scripts/admin/stores/custom-field.js",
    "content": "import axios from 'axios'\nimport { defineStore } from 'pinia'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport customFieldStub from '@/scripts/admin/stub/custom-field'\nimport utilities from '@/scripts/helpers/utilities'\nimport { util } from 'prettier'\nimport { handleError } from '@/scripts/helpers/error-handling'\n\nexport const useCustomFieldStore = (useWindow = false) => {\n  const defineStoreFunc = useWindow ? window.pinia.defineStore : defineStore\n  const { global } = window.i18n\n\n  return defineStoreFunc({\n    id: 'custom-field',\n\n    state: () => ({\n      customFields: [],\n      isRequestOngoing: false,\n\n      currentCustomField: {\n        ...customFieldStub,\n      },\n    }),\n\n    getters: {\n      isEdit() {\n        return this.currentCustomField.id ? true : false\n      },\n    },\n\n    actions: {\n      resetCustomFields() {\n        this.customFields = []\n      },\n\n      resetCurrentCustomField() {\n        this.currentCustomField = {\n          ...customFieldStub,\n        }\n      },\n\n      fetchCustomFields(params) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/custom-fields`, { params })\n            .then((response) => {\n              this.customFields = response.data.data\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      fetchNoteCustomFields(params) {\n        return new Promise((resolve, reject) => {\n          if (this.isRequestOngoing) {\n            resolve({ requestOnGoing: true })\n            return true\n          }\n\n          this.isRequestOngoing = true\n\n          axios\n            .get(`/api/v1/custom-fields`, { params })\n            .then((response) => {\n              this.customFields = response.data.data\n              this.isRequestOngoing = false\n              resolve(response)\n            })\n            .catch((err) => {\n              this.isRequestOngoing = false\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      fetchCustomField(id) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/custom-fields/${id}`)\n            .then((response) => {\n              this.currentCustomField = response.data.data\n\n              if (\n                this.currentCustomField.options &&\n                this.currentCustomField.options.length\n              ) {\n                this.currentCustomField.options =\n                  this.currentCustomField.options.map((option) => {\n                    return (option = { name: option })\n                  })\n              }\n\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      addCustomField(params) {\n        const notificationStore = useNotificationStore()\n        return new Promise((resolve, reject) => {\n          axios\n            .post(`/api/v1/custom-fields`, params)\n            .then((response) => {\n              let data = {\n                ...response.data.data,\n              }\n\n              if (data.options) {\n                data.options = data.options.map((option) => {\n                  return { name: option ? option : '' }\n                })\n              }\n\n              this.customFields.push(data)\n\n              notificationStore.showNotification({\n                type: 'success',\n                message: global.t('settings.custom_fields.added_message'),\n              })\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      updateCustomField(params) {\n        const notificationStore = useNotificationStore()\n\n        return new Promise((resolve, reject) => {\n          axios\n            .put(`/api/v1/custom-fields/${params.id}`, params)\n            .then((response) => {\n              let data = {\n                ...response.data.data,\n              }\n\n              if (data.options) {\n                data.options = data.options.map((option) => {\n                  return { name: option ? option : '' }\n                })\n              }\n\n              let pos = this.customFields.findIndex((_f) => _f.id === data.id)\n\n              if (this.customFields[pos]) {\n                this.customFields[pos] = data\n              }\n\n              notificationStore.showNotification({\n                type: 'success',\n                message: global.t('settings.custom_fields.updated_message'),\n              })\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      deleteCustomFields(id) {\n        const notificationStore = useNotificationStore()\n        return new Promise((resolve, reject) => {\n          axios\n            .delete(`/api/v1/custom-fields/${id}`)\n            .then((response) => {\n              let index = this.customFields.findIndex(\n                (field) => field.id === id\n              )\n\n              this.customFields.splice(index, 1)\n\n              if (response.data.error) {\n                notificationStore.showNotification({\n                  type: 'error',\n                  message: global.t('settings.custom_fields.already_in_use'),\n                })\n              } else {\n                notificationStore.showNotification({\n                  type: 'success',\n                  message: global.t('settings.custom_fields.deleted_message'),\n                })\n              }\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              // notificationStore.showNotification({\n              //   type: 'error',\n              //   message: global.t('settings.custom_fields.already_in_use'),\n              // })\n              reject(err)\n            })\n        })\n      },\n    },\n  })()\n}\n"
  },
  {
    "path": "resources/scripts/admin/stores/customer.js",
    "content": "import axios from 'axios'\nimport { defineStore } from 'pinia'\nimport { useRoute } from 'vue-router'\nimport { handleError } from '@/scripts/helpers/error-handling'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport { useGlobalStore } from '@/scripts/admin/stores/global'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\nimport addressStub from '@/scripts/admin/stub/address.js'\nimport customerStub from '@/scripts/admin/stub/customer'\n\nexport const useCustomerStore = (useWindow = false) => {\n  const defineStoreFunc = useWindow ? window.pinia.defineStore : defineStore\n  const { global } = window.i18n\n\n  return defineStoreFunc({\n    id: 'customer',\n    state: () => ({\n      customers: [],\n      totalCustomers: 0,\n      selectAllField: false,\n      selectedCustomers: [],\n      selectedViewCustomer: {},\n      isFetchingInitialSettings: false,\n      isFetchingViewData: false,\n      currentCustomer: {\n        ...customerStub(),\n      },\n      editCustomer: null\n    }),\n\n    getters: {\n      isEdit: (state) => (state.currentCustomer.id ? true : false),\n    },\n\n    actions: {\n      resetCurrentCustomer() {\n        this.currentCustomer = {\n          ...customerStub(),\n        }\n      },\n\n      copyAddress() {\n        this.currentCustomer.shipping = {\n          ...this.currentCustomer.billing,\n          type: 'shipping',\n        }\n      },\n\n      fetchCustomerInitialSettings(isEdit) {\n        const route = useRoute()\n        const globalStore = useGlobalStore()\n        const companyStore = useCompanyStore()\n\n        this.isFetchingInitialSettings = true\n        let editActions = []\n        if (isEdit) {\n          editActions = [this.fetchCustomer(route.params.id)]\n        } else {\n          this.currentCustomer.currency_id =\n            companyStore.selectedCompanyCurrency.id\n        }\n\n        Promise.all([\n          globalStore.fetchCurrencies(),\n          globalStore.fetchCountries(),\n          ...editActions,\n        ])\n          .then(async ([res1, res2, res3]) => {\n            this.isFetchingInitialSettings = false\n          })\n          .catch((error) => {\n            handleError(error)\n          })\n      },\n\n      fetchCustomers(params) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/customers`, { params })\n            .then((response) => {\n              this.customers = response.data.data\n              this.totalCustomers = response.data.meta.customer_total_count\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      fetchViewCustomer(params) {\n        return new Promise((resolve, reject) => {\n          this.isFetchingViewData = true\n          axios\n            .get(`/api/v1/customers/${params.id}/stats`, { params })\n\n            .then((response) => {\n              this.selectedViewCustomer = {}\n              Object.assign(this.selectedViewCustomer, response.data.data)\n              this.setAddressStub(response.data.data)\n              this.isFetchingViewData = false\n              resolve(response)\n            })\n            .catch((err) => {\n              this.isFetchingViewData = false\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      fetchCustomer(id) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/customers/${id}`)\n            .then((response) => {\n              Object.assign(this.currentCustomer, response.data.data)\n\n              this.setAddressStub(response.data.data)\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      addCustomer(data) {\n        return new Promise((resolve, reject) => {\n          axios\n            .post('/api/v1/customers', data)\n            .then((response) => {\n              this.customers.push(response.data.data)\n\n              const notificationStore = useNotificationStore()\n              notificationStore.showNotification({\n                type: 'success',\n                message: global.t('customers.created_message'),\n              })\n              resolve(response)\n            })\n\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      updateCustomer(data) {\n        return new Promise((resolve, reject) => {\n          axios\n            .put(`/api/v1/customers/${data.id}`, data)\n            .then((response) => {\n              if (response.data) {\n                let pos = this.customers.findIndex(\n                  (customer) => customer.id === response.data.data.id\n                )\n                this.customers[pos] = data\n                const notificationStore = useNotificationStore()\n                notificationStore.showNotification({\n                  type: 'success',\n                  message: global.t('customers.updated_message'),\n                })\n              }\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      deleteCustomer(id) {\n        const notificationStore = useNotificationStore()\n        return new Promise((resolve, reject) => {\n          axios\n            .post(`/api/v1/customers/delete`, id)\n            .then((response) => {\n              let index = this.customers.findIndex(\n                (customer) => customer.id === id\n              )\n              this.customers.splice(index, 1)\n              notificationStore.showNotification({\n                type: 'success',\n                message: global.tc('customers.deleted_message', 1),\n              })\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      deleteMultipleCustomers() {\n        const notificationStore = useNotificationStore()\n\n        return new Promise((resolve, reject) => {\n          axios\n            .post(`/api/v1/customers/delete`, { ids: this.selectedCustomers })\n            .then((response) => {\n              this.selectedCustomers.forEach((customer) => {\n                let index = this.customers.findIndex(\n                  (_customer) => _customer.id === customer.id\n                )\n                this.customers.splice(index, 1)\n              })\n\n              notificationStore.showNotification({\n                type: 'success',\n                message: global.tc('customers.deleted_message', 2),\n              })\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      setSelectAllState(data) {\n        this.selectAllField = data\n      },\n\n      selectCustomer(data) {\n        this.selectedCustomers = data\n        if (this.selectedCustomers.length === this.customers.length) {\n          this.selectAllField = true\n        } else {\n          this.selectAllField = false\n        }\n      },\n\n      selectAllCustomers() {\n        if (this.selectedCustomers.length === this.customers.length) {\n          this.selectedCustomers = []\n          this.selectAllField = false\n        } else {\n          let allCustomerIds = this.customers.map((customer) => customer.id)\n          this.selectedCustomers = allCustomerIds\n          this.selectAllField = true\n        }\n      },\n\n      setAddressStub(data) {\n        if (!data.billing) this.currentCustomer.billing = { ...addressStub }\n        if (!data.shipping) this.currentCustomer.shipping = { ...addressStub }\n      },\n    },\n  })()\n}\n"
  },
  {
    "path": "resources/scripts/admin/stores/dashboard.js",
    "content": "import axios from 'axios'\nimport { defineStore } from 'pinia'\nimport { useGlobalStore } from '@/scripts/admin/stores/global'\nimport { handleError } from '@/scripts/helpers/error-handling'\n\nexport const useDashboardStore = (useWindow = false) => {\n  const defineStoreFunc = useWindow ? window.pinia.defineStore : defineStore\n  const { global } = window.i18n\n\n  return defineStoreFunc({\n    id: 'dashboard',\n\n    state: () => ({\n      stats: {\n        totalAmountDue: 0,\n        totalCustomerCount: 0,\n        totalInvoiceCount: 0,\n        totalEstimateCount: 0,\n      },\n\n      chartData: {\n        months: [],\n        invoiceTotals: [],\n        expenseTotals: [],\n        receiptTotals: [],\n        netIncomeTotals: [],\n      },\n\n      totalSales: null,\n      totalReceipts: null,\n      totalExpenses: null,\n      totalNetIncome: null,\n\n      recentDueInvoices: [],\n      recentEstimates: [],\n\n      isDashboardDataLoaded: false,\n    }),\n\n    actions: {\n      loadData(params) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/dashboard`, { params })\n            .then((response) => {\n              // Stats\n              this.stats.totalAmountDue = response.data.total_amount_due\n              this.stats.totalCustomerCount = response.data.total_customer_count\n              this.stats.totalInvoiceCount = response.data.total_invoice_count\n              this.stats.totalEstimateCount = response.data.total_estimate_count\n\n              // Dashboard Chart\n              if (this.chartData && response.data.chart_data) {\n                this.chartData.months = response.data.chart_data.months\n                this.chartData.invoiceTotals =\n                  response.data.chart_data.invoice_totals\n                this.chartData.expenseTotals =\n                  response.data.chart_data.expense_totals\n                this.chartData.receiptTotals =\n                  response.data.chart_data.receipt_totals\n                this.chartData.netIncomeTotals =\n                  response.data.chart_data.net_income_totals\n              }\n\n              // Dashboard Chart Labels\n              this.totalSales = response.data.total_sales\n              this.totalReceipts = response.data.total_receipts\n              this.totalExpenses = response.data.total_expenses\n              this.totalNetIncome = response.data.total_net_income\n\n              // Dashboard Table Data\n              this.recentDueInvoices = response.data.recent_due_invoices\n              this.recentEstimates = response.data.recent_estimates\n\n              this.isDashboardDataLoaded = true\n\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n    },\n  })()\n}\n"
  },
  {
    "path": "resources/scripts/admin/stores/disk.js",
    "content": "import axios from 'axios'\nimport { defineStore } from 'pinia'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport { handleError } from '@/scripts/helpers/error-handling'\n\nexport const useDiskStore = (useWindow = false) => {\n  const defineStoreFunc = useWindow ? window.pinia.defineStore : defineStore\n  const { global } = window.i18n\n\n  return defineStoreFunc({\n    id: 'disk',\n\n    state: () => ({\n      disks: [],\n      diskDrivers: [],\n      diskConfigData: null,\n      selected_driver: 'local',\n\n      doSpaceDiskConfig: {\n        name: '',\n        selected_driver: 'doSpaces',\n        key: '',\n        secret: '',\n        region: '',\n        bucket: '',\n        endpoint: '',\n        root: '',\n      },\n\n      dropBoxDiskConfig: {\n        name: '',\n        selected_driver: 'dropbox',\n        token: '',\n        key: '',\n        secret: '',\n        app: '',\n      },\n\n      localDiskConfig: {\n        name: '',\n        selected_driver: 'local',\n        root: '',\n      },\n\n      s3DiskConfigData: {\n        name: '',\n        selected_driver: 's3',\n        key: '',\n        secret: '',\n        region: '',\n        bucket: '',\n        root: '',\n      },\n    }),\n\n    getters: {\n      getDiskDrivers: (state) => state.diskDrivers,\n    },\n\n    actions: {\n      fetchDiskEnv(data) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/disks/${data.disk}`)\n            .then((response) => {\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      fetchDisks(params) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/disks`, { params })\n            .then((response) => {\n              this.disks = response.data.data\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      fetchDiskDrivers() {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/disk/drivers`)\n            .then((response) => {\n              this.diskConfigData = response.data\n              this.diskDrivers = response.data.drivers\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      deleteFileDisk(id) {\n        return new Promise((resolve, reject) => {\n          axios\n            .delete(`/api/v1/disks/${id}`)\n            .then((response) => {\n              if (response.data.success) {\n                let index = this.disks.findIndex(\n                  (category) => category.id === id\n                )\n                this.disks.splice(index, 1)\n                const notificationStore = useNotificationStore()\n                notificationStore.showNotification({\n                  type: 'success',\n                  message: global.t('settings.disk.deleted_message'),\n                })\n              }\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      updateDisk(data) {\n        return new Promise((resolve, reject) => {\n          axios\n            .put(`/api/v1/disks/${data.id}`, data)\n            .then((response) => {\n              if (response.data) {\n                let pos = this.disks.findIndex(\n                  (disk) => disk.id === response.data.data\n                )\n                this.disks[pos] = data.disks\n                const notificationStore = useNotificationStore()\n                notificationStore.showNotification({\n                  type: 'success',\n                  message: global.t('settings.disk.success_set_default_disk'),\n                })\n              }\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      createDisk(data) {\n        return new Promise((resolve, reject) => {\n          axios\n            .post(`/api/v1/disks`, data)\n            .then((response) => {\n              if (response.data) {\n                const notificationStore = useNotificationStore()\n                notificationStore.showNotification({\n                  type: 'success',\n                  message: global.t('settings.disk.success_create'),\n                })\n              }\n              this.disks.push(response.data)\n              resolve(response)\n            })\n            .catch((err) => {\n              /*   notificationStore.showNotification({\n                type: 'error',\n                message: global.t('settings.disk.invalid_disk_credentials'),\n              }) */\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n    },\n  })()\n}\n"
  },
  {
    "path": "resources/scripts/admin/stores/estimate.js",
    "content": "import axios from 'axios'\nimport moment from 'moment'\nimport Guid from 'guid'\nimport _ from 'lodash'\nimport { defineStore } from 'pinia'\nimport { useRoute } from 'vue-router'\nimport { useCompanyStore } from './company'\nimport { useCustomerStore } from './customer'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport { useItemStore } from './item'\nimport { useTaxTypeStore } from './tax-type'\nimport { handleError } from '@/scripts/helpers/error-handling'\nimport estimateStub from '../stub/estimate'\nimport estimateItemStub from '../stub/estimate-item'\nimport taxStub from '../stub/tax'\nimport { useUserStore } from './user'\n\nexport const useEstimateStore = (useWindow = false) => {\n  const defineStoreFunc = useWindow ? window.pinia.defineStore : defineStore\n  const { global } = window.i18n\n\n  return defineStoreFunc({\n    id: 'estimate',\n\n    state: () => ({\n      templates: [],\n\n      estimates: [],\n      selectAllField: false,\n      selectedEstimates: [],\n      totalEstimateCount: 0,\n      isFetchingInitialSettings: false,\n      showExchangeRate: false,\n\n      newEstimate: {\n        ...estimateStub(),\n      },\n    }),\n\n    getters: {\n      getSubTotal() {\n        return this.newEstimate.items.reduce(function (a, b) {\n          return a + b['total']\n        }, 0)\n      },\n      getTotalSimpleTax() {\n        return _.sumBy(this.newEstimate.taxes, function (tax) {\n          if (!tax.compound_tax) {\n            return tax.amount\n          }\n          return 0\n        })\n      },\n\n      getTotalCompoundTax() {\n        return _.sumBy(this.newEstimate.taxes, function (tax) {\n          if (tax.compound_tax) {\n            return tax.amount\n          }\n          return 0\n        })\n      },\n\n      getTotalTax() {\n        if (\n          this.newEstimate.tax_per_item === 'NO' ||\n          this.newEstimate.tax_per_item === null\n        ) {\n          return this.getTotalSimpleTax + this.getTotalCompoundTax\n        }\n        return _.sumBy(this.newEstimate.items, function (tax) {\n          return tax.tax\n        })\n      },\n\n      getSubtotalWithDiscount() {\n        return this.getSubTotal - this.newEstimate.discount_val\n      },\n\n      getTotal() {\n        return this.getSubtotalWithDiscount + this.getTotalTax\n      },\n\n      isEdit: (state) => (state.newEstimate.id ? true : false),\n    },\n\n    actions: {\n      resetCurrentEstimate() {\n        this.newEstimate = {\n          ...estimateStub(),\n        }\n      },\n\n      previewEstimate(params) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/estimates/${params.id}/send/preview`, { params })\n            .then((response) => {\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      fetchEstimates(params) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/estimates`, { params })\n            .then((response) => {\n              this.estimates = response.data.data\n              this.totalEstimateCount = response.data.meta.estimate_total_count\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      getNextNumber(params, setState = false) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/next-number?key=estimate`, { params })\n            .then((response) => {\n              if (setState) {\n                this.newEstimate.estimate_number = response.data.nextNumber\n              }\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      fetchEstimate(id) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/estimates/${id}`)\n            .then((response) => {\n              Object.assign(this.newEstimate, response.data.data)\n              resolve(response)\n            })\n            .catch((err) => {\n              console.log(err);\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      addSalesTaxUs() {\n        const taxTypeStore = useTaxTypeStore()\n        let salesTax = { ...taxStub }\n        let found = this.newEstimate.taxes.find((_t) => _t.name === 'Sales Tax' && _t.type === 'MODULE')\n        if (found) {\n          for (const key in found) {\n            if (Object.prototype.hasOwnProperty.call(salesTax, key)) {\n              salesTax[key] = found[key]\n            }\n          }\n          salesTax.id = found.tax_type_id\n          console.log(salesTax, 'salesTax');\n\n          taxTypeStore.taxTypes.push(salesTax)\n          console.log(taxTypeStore.taxTypes);\n        }\n      },\n\n      sendEstimate(data) {\n        const notificationStore = useNotificationStore()\n\n        return new Promise((resolve, reject) => {\n          axios\n            .post(`/api/v1/estimates/${data.id}/send`, data)\n            .then((response) => {\n              if (!data.is_preview) {\n                notificationStore.showNotification({\n                  type: 'success',\n                  message: global.t('estimates.send_estimate_successfully'),\n                })\n              }\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      addEstimate(data) {\n        return new Promise((resolve, reject) => {\n          axios\n            .post('/api/v1/estimates', data)\n            .then((response) => {\n              this.estimates = [...this.estimates, response.data.estimate]\n              const notificationStore = useNotificationStore()\n\n              notificationStore.showNotification({\n                type: 'success',\n                message: global.t('estimates.created_message'),\n              })\n\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      deleteEstimate(id) {\n        const notificationStore = useNotificationStore()\n\n        return new Promise((resolve, reject) => {\n          axios\n            .post(`/api/v1/estimates/delete`, id)\n            .then((response) => {\n              let index = this.estimates.findIndex(\n                (estimate) => estimate.id === id\n              )\n\n              this.estimates.splice(index, 1)\n\n              notificationStore.showNotification({\n                type: 'success',\n                message: global.t('estimates.deleted_message', 1),\n              })\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      deleteMultipleEstimates(id) {\n        const notificationStore = useNotificationStore()\n\n        return new Promise((resolve, reject) => {\n          axios\n            .post(`/api/v1/estimates/delete`, { ids: this.selectedEstimates })\n            .then((response) => {\n              this.selectedEstimates.forEach((estimate) => {\n                let index = this.estimates.findIndex(\n                  (_est) => _est.id === estimate.id\n                )\n                this.estimates.splice(index, 1)\n              })\n              this.selectedEstimates = []\n\n              notificationStore.showNotification({\n                type: 'success',\n                message: global.tc('estimates.deleted_message', 2),\n              })\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      updateEstimate(data) {\n        return new Promise((resolve, reject) => {\n          axios\n            .put(`/api/v1/estimates/${data.id}`, data)\n            .then((response) => {\n              let pos = this.estimates.findIndex(\n                (estimate) => estimate.id === response.data.data.id\n              )\n              this.estimates[pos] = response.data.data\n              const notificationStore = useNotificationStore()\n              notificationStore.showNotification({\n                type: 'success',\n                message: global.t('estimates.updated_message'),\n              })\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      markAsAccepted(data) {\n        return new Promise((resolve, reject) => {\n          axios\n            .post(`/api/v1/estimates/${data.id}/status`, data)\n            .then((response) => {\n              let pos = this.estimates.findIndex(\n                (estimate) => estimate.id === data.id\n              )\n              if (this.estimates[pos]) {\n                this.estimates[pos].status = 'ACCEPTED'\n\n                const notificationStore = useNotificationStore()\n\n                notificationStore.showNotification({\n                  type: 'success',\n                  message: global.t('estimates.marked_as_accepted_message'),\n                })\n              }\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      markAsRejected(data) {\n        return new Promise((resolve, reject) => {\n          axios\n            .post(`/api/v1/estimates/${data.id}/status`, data)\n            .then((response) => {\n              const notificationStore = useNotificationStore()\n\n              notificationStore.showNotification({\n                type: 'success',\n                message: global.t('estimates.marked_as_rejected_message'),\n              })\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      markAsSent(data) {\n        return new Promise((resolve, reject) => {\n          axios\n            .post(`/api/v1/estimates/${data.id}/status`, data)\n            .then((response) => {\n              let pos = this.estimates.findIndex(\n                (estimate) => estimate.id === data.id\n              )\n              if (this.estimates[pos]) {\n                this.estimates[pos].status = 'SENT'\n\n                const notificationStore = useNotificationStore()\n                notificationStore.showNotification({\n                  type: 'success',\n                  message: global.t('estimates.mark_as_sent_successfully'),\n                })\n              }\n\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      convertToInvoice(id) {\n        const notificationStore = useNotificationStore()\n        return new Promise((resolve, reject) => {\n          axios\n            .post(`/api/v1/estimates/${id}/convert-to-invoice`)\n            .then((response) => {\n              notificationStore.showNotification({\n                type: 'success',\n                message: global.t('estimates.conversion_message'),\n              })\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      searchEstimate(data) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/estimates?${data}`)\n            .then((response) => {\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      selectEstimate(data) {\n        this.selectedEstimates = data\n        if (this.selectedEstimates.length === this.estimates.length) {\n          this.selectAllField = true\n        } else {\n          this.selectAllField = false\n        }\n      },\n\n      selectAllEstimates() {\n        if (this.selectedEstimates.length === this.estimates.length) {\n          this.selectedEstimates = []\n          this.selectAllField = false\n        } else {\n          let allEstimateIds = this.estimates.map((estimate) => estimate.id)\n          this.selectedEstimates = allEstimateIds\n          this.selectAllField = true\n        }\n      },\n\n      selectCustomer(id) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/customers/${id}`)\n            .then((response) => {\n              this.newEstimate.customer = response.data.data\n              this.newEstimate.customer_id = response.data.data.id\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n      fetchEstimateTemplates(params) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/estimates/templates`, { params })\n            .then((response) => {\n              this.templates = response.data.estimateTemplates\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      setTemplate(data) {\n        this.newEstimate.template_name = data\n      },\n\n      resetSelectedCustomer() {\n        this.newEstimate.customer = null\n        this.newEstimate.customer_id = ''\n      },\n\n      selectNote(data) {\n        this.newEstimate.selectedNote = null\n        this.newEstimate.selectedNote = data\n      },\n\n      resetSelectedNote() {\n        this.newEstimate.selectedNote = null\n      },\n\n      addItem() {\n        this.newEstimate.items.push({\n          ...estimateItemStub,\n          id: Guid.raw(),\n          taxes: [{ ...taxStub, id: Guid.raw() }],\n        })\n      },\n\n      updateItem(data) {\n        Object.assign(this.newEstimate.items[data.index], { ...data })\n      },\n\n      removeItem(index) {\n        this.newEstimate.items.splice(index, 1)\n      },\n\n      deselectItem(index) {\n        this.newEstimate.items[index] = {\n          ...estimateItemStub,\n          id: Guid.raw(),\n          taxes: [{ ...taxStub, id: Guid.raw() }],\n        }\n      },\n\n      async fetchEstimateInitialSettings(isEdit) {\n        const companyStore = useCompanyStore()\n        const customerStore = useCustomerStore()\n        const itemStore = useItemStore()\n        const taxTypeStore = useTaxTypeStore()\n        const route = useRoute()\n        const userStore = useUserStore()\n\n        this.isFetchingInitialSettings = true\n        this.newEstimate.selectedCurrency = companyStore.selectedCompanyCurrency\n\n        if (route.query.customer) {\n          let response = await customerStore.fetchCustomer(route.query.customer)\n          this.newEstimate.customer = response.data.data\n          this.newEstimate.customer_id = response.data.data.id\n        }\n\n        let editActions = []\n\n        if (!isEdit) {\n          this.newEstimate.tax_per_item =\n            companyStore.selectedCompanySettings.tax_per_item\n          this.newEstimate.sales_tax_type = companyStore.selectedCompanySettings.sales_tax_type\n          this.newEstimate.sales_tax_address_type = companyStore.selectedCompanySettings.sales_tax_address_type\n          this.newEstimate.discount_per_item =\n            companyStore.selectedCompanySettings.discount_per_item\n          this.newEstimate.estimate_date = moment().format('YYYY-MM-DD')\n          if (companyStore.selectedCompanySettings.estimate_set_expiry_date_automatically === 'YES') {\n            this.newEstimate.expiry_date = moment()\n              .add(companyStore.selectedCompanySettings.estimate_expiry_date_days, 'days')\n              .format('YYYY-MM-DD')\n          }\n        } else {\n          editActions = [this.fetchEstimate(route.params.id)]\n        }\n\n        Promise.all([\n          itemStore.fetchItems({\n            filter: {},\n            orderByField: '',\n            orderBy: '',\n          }),\n          this.resetSelectedNote(),\n          this.fetchEstimateTemplates(),\n          this.getNextNumber(),\n          taxTypeStore.fetchTaxTypes({ limit: 'all' }),\n          ...editActions,\n        ])\n          .then(async ([res1, res2, res3, res4, res5, res6, res7]) => {\n            // Create\n            if (!isEdit) {\n              if (res4.data) {\n                this.newEstimate.estimate_number = res4.data.nextNumber\n              }\n\n              this.setTemplate(this.templates[0].name)\n              this.newEstimate.template_name =\n                userStore.currentUserSettings.default_estimate_template ?\n                userStore.currentUserSettings.default_estimate_template : this.newEstimate.template_name\n            }\n\n            if (isEdit) {\n              this.addSalesTaxUs()\n            }\n            this.isFetchingInitialSettings = false\n          })\n          .catch((err) => {\n            handleError(err)\n            this.isFetchingInitialSettings = false\n          })\n      },\n    },\n  })()\n}\n"
  },
  {
    "path": "resources/scripts/admin/stores/exchange-rate.js",
    "content": "import axios from 'axios'\nimport { defineStore } from 'pinia'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport { handleError } from '@/scripts/helpers/error-handling'\n\nexport const useExchangeRateStore = (useWindow = false) => {\n  const defineStoreFunc = useWindow ? window.pinia.defineStore : defineStore\n  const { global } = window.i18n\n  const notificationStore = useNotificationStore()\n\n  return defineStoreFunc({\n    id: 'exchange-rate',\n\n    state: () => ({\n      supportedCurrencies: [],\n      drivers: [],\n      activeUsedCurrencies: [],\n      providers: [],\n      currencies: null,\n      currentExchangeRate: {\n        id: null,\n        driver: '',\n        key: '',\n        active: true,\n        currencies: [],\n      },\n      currencyConverter: {\n        type: '',\n        url: '',\n      },\n      bulkCurrencies: [],\n    }),\n    getters: {\n      isEdit: (state) => (state.currentExchangeRate.id ? true : false),\n    },\n\n    actions: {\n      fetchProviders(params) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get('/api/v1/exchange-rate-providers', { params })\n            .then((response) => {\n              this.providers = response.data.data\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      fetchDefaultProviders() {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/config?key=exchange_rate_drivers`)\n            .then((response) => {\n              this.drivers = response.data.exchange_rate_drivers\n\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      fetchProvider(id) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/exchange-rate-providers/${id}`)\n            .then((response) => {\n              this.currentExchangeRate = response.data.data\n              this.currencyConverter = response.data.data.driver_config\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      addProvider(data) {\n        return new Promise((resolve, reject) => {\n          axios\n            .post('/api/v1/exchange-rate-providers', data)\n            .then((response) => {\n              notificationStore.showNotification({\n                type: 'success',\n                message: global.t('settings.exchange_rate.created_message'),\n              })\n\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n\n              reject(err)\n            })\n        })\n      },\n\n      updateProvider(data) {\n        return new Promise((resolve, reject) => {\n          axios\n            .put(`/api/v1/exchange-rate-providers/${data.id}`, data)\n            .then((response) => {\n              notificationStore.showNotification({\n                type: 'success',\n                message: global.t('settings.exchange_rate.updated_message'),\n              })\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      deleteExchangeRate(id) {\n        return new Promise((resolve, reject) => {\n          axios\n            .delete(`/api/v1/exchange-rate-providers/${id}`)\n            .then((response) => {\n              let index = this.drivers.findIndex((driver) => driver.id === id)\n              this.drivers.splice(index, 1)\n              if (response.data.success) {\n                notificationStore.showNotification({\n                  type: 'success',\n                  message: global.t('settings.exchange_rate.deleted_message'),\n                })\n              } else {\n                notificationStore.showNotification({\n                  type: 'error',\n                  message: global.t('settings.exchange_rate.error'),\n                })\n              }\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n      fetchCurrencies(params) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/supported-currencies`, { params })\n            .then((response) => {\n              this.supportedCurrencies = response.data.supportedCurrencies\n\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n      fetchActiveCurrency(params) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get('/api/v1/used-currencies', { params })\n            .then((response) => {\n              this.activeUsedCurrencies = response.data.activeUsedCurrencies\n\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n      fetchBulkCurrencies() {\n        return new Promise((resolve, reject) => {\n          axios\n            .get('/api/v1/currencies/used')\n            .then((response) => {\n              this.bulkCurrencies = response.data.currencies.map((_m) => {\n                _m.exchange_rate = null\n                return _m\n              })\n\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n      updateBulkExchangeRate(data) {\n        return new Promise((resolve, reject) => {\n          axios\n            .post('/api/v1/currencies/bulk-update-exchange-rate', data)\n            .then((response) => {\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n      getCurrentExchangeRate(currencyId) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/currencies/${currencyId}/exchange-rate`)\n            .then((response) => {\n              resolve(response)\n            })\n            .catch((err) => {\n              reject(err)\n            })\n        })\n      },\n      getCurrencyConverterServers() {\n        return new Promise((resolve, reject) => {\n          axios\n            .get('/api/v1/config?key=currency_converter_servers')\n            .then((response) => {\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n      checkForActiveProvider(currency_id) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/currencies/${currency_id}/active-provider`)\n            .then((response) => {\n              resolve(response)\n            })\n            .catch((err) => {\n              reject(err)\n            })\n        })\n      },\n    },\n  })()\n}\n"
  },
  {
    "path": "resources/scripts/admin/stores/expense.js",
    "content": "import axios from 'axios'\nimport { defineStore } from 'pinia'\nimport { handleError } from '@/scripts/helpers/error-handling'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport expenseStub from '@/scripts/admin/stub/expense'\nimport utils from '@/scripts/helpers/utilities'\n\nexport const useExpenseStore = (useWindow = false) => {\n  const defineStoreFunc = useWindow ? window.pinia.defineStore : defineStore\n  const { global } = window.i18n\n\n  return defineStoreFunc({\n    id: 'expense',\n\n    state: () => ({\n      expenses: [],\n      totalExpenses: 0,\n      selectAllField: false,\n      selectedExpenses: [],\n      paymentModes: [],\n      showExchangeRate: false,\n      currentExpense: {\n        ...expenseStub,\n      },\n    }),\n\n    getters: {\n      getCurrentExpense: (state) => state.currentExpense,\n      getSelectedExpenses: (state) => state.selectedExpenses,\n    },\n\n    actions: {\n      resetCurrentExpenseData() {\n        this.currentExpense = {\n          ...expenseStub,\n        }\n      },\n\n      fetchExpenses(params) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/expenses`, { params })\n            .then((response) => {\n              this.expenses = response.data.data\n              this.totalExpenses = response.data.meta.expense_total_count\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      fetchExpense(id) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/expenses/${id}`)\n            .then((response) => {\n              if (response.data) {\n                Object.assign(this.currentExpense, response.data.data)\n                this.currentExpense.selectedCurrency =\n                  response.data.data.currency\n                this.currentExpense.attachment_receipt = null\n                if (response.data.data.attachment_receipt_url) {\n                  if (\n                    utils.isImageFile(\n                      response.data.data.attachment_receipt_meta.mime_type\n                    )\n                  ) {\n                    this.currentExpense.receiptFiles = [\n                      { image: `/reports/expenses/${id}/receipt?${response.data.data.attachment_receipt_meta.uuid}` },\n                    ]\n                  } else {\n                    this.currentExpense.receiptFiles = [\n                      {\n                        type: 'document',\n                        name: response.data.data.attachment_receipt_meta\n                          .file_name,\n                      },\n                    ]\n                  }\n                } else {\n                  this.currentExpense.receiptFiles = []\n                }\n              }\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      addExpense(data) {\n        const formData = utils.toFormData(data)\n\n        return new Promise((resolve, reject) => {\n          axios\n            .post('/api/v1/expenses', formData)\n            .then((response) => {\n              this.expenses.push(response.data)\n\n              const notificationStore = useNotificationStore()\n\n              notificationStore.showNotification({\n                type: 'success',\n                message: global.t('expenses.created_message'),\n              })\n\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      updateExpense({ id, data, isAttachmentReceiptRemoved }) {\n        const notificationStore = useNotificationStore()\n\n        const formData = utils.toFormData(data)\n\n        formData.append('_method', 'PUT')\n        formData.append('is_attachment_receipt_removed', isAttachmentReceiptRemoved)\n\n        return new Promise((resolve) => {\n          axios.post(`/api/v1/expenses/${id}`, formData).then((response) => {\n            let pos = this.expenses.findIndex(\n              (expense) => expense.id === response.data.id\n            )\n\n            this.expenses[pos] = data.expense\n\n            notificationStore.showNotification({\n              type: 'success',\n              message: global.t('expenses.updated_message'),\n            })\n\n            resolve(response)\n          })\n        }).catch((err) => {\n          handleError(err)\n          reject(err)\n        })\n      },\n\n      setSelectAllState(data) {\n        this.selectAllField = data\n      },\n\n      selectExpense(data) {\n        this.selectedExpenses = data\n        if (this.selectedExpenses.length === this.expenses.length) {\n          this.selectAllField = true\n        } else {\n          this.selectAllField = false\n        }\n      },\n\n      selectAllExpenses(data) {\n        if (this.selectedExpenses.length === this.expenses.length) {\n          this.selectedExpenses = []\n          this.selectAllField = false\n        } else {\n          let allExpenseIds = this.expenses.map((expense) => expense.id)\n          this.selectedExpenses = allExpenseIds\n          this.selectAllField = true\n        }\n      },\n\n      deleteExpense(id) {\n        const notificationStore = useNotificationStore()\n\n        return new Promise((resolve, reject) => {\n          axios\n            .post(`/api/v1/expenses/delete`, id)\n            .then((response) => {\n              let index = this.expenses.findIndex(\n                (expense) => expense.id === id\n              )\n              this.expenses.splice(index, 1)\n\n              notificationStore.showNotification({\n                type: 'success',\n                message: global.tc('expenses.deleted_message', 1),\n              })\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      deleteMultipleExpenses() {\n        const notificationStore = useNotificationStore()\n\n        return new Promise((resolve, reject) => {\n          axios\n            .post(`/api/v1/expenses/delete`, { ids: this.selectedExpenses })\n            .then((response) => {\n              this.selectedExpenses.forEach((expense) => {\n                let index = this.expenses.findIndex(\n                  (_expense) => _expense.id === expense.id\n                )\n                this.expenses.splice(index, 1)\n              })\n              notificationStore.showNotification({\n                type: 'success',\n                message: global.tc('expenses.deleted_message', 2),\n              })\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n      fetchPaymentModes(params) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/payment-methods`, { params })\n            .then((response) => {\n              this.paymentModes = response.data.data\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n    },\n  })()\n}\n"
  },
  {
    "path": "resources/scripts/admin/stores/global.js",
    "content": "import axios from 'axios'\nimport { defineStore } from 'pinia'\nimport { useCompanyStore } from './company'\nimport { useUserStore } from './user'\nimport { useModuleStore } from './module'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport { handleError } from '@/scripts/helpers/error-handling'\nimport _ from 'lodash'\n\nexport const useGlobalStore = (useWindow = false) => {\n  const defineStoreFunc = useWindow ? window.pinia.defineStore : defineStore\n  const { global } = window.i18n\n\n  return defineStoreFunc({\n    id: 'global',\n    state: () => ({\n      // Global Configuration\n      config: null,\n      globalSettings: null,\n\n      // Global Lists\n      timeZones: [],\n      dateFormats: [],\n      currencies: [],\n      countries: [],\n      languages: [],\n      fiscalYears: [],\n\n      // Menus\n      mainMenu: [],\n      settingMenu: [],\n\n      // Boolean Flags\n      isAppLoaded: false,\n      isSidebarOpen: false,\n      areCurrenciesLoading: false,\n\n      downloadReport: null,\n    }),\n\n    getters: {\n      menuGroups: (state) => {\n        return Object.values(_.groupBy(state.mainMenu, 'group'))\n      },\n    },\n\n    actions: {\n      bootstrap() {\n        return new Promise((resolve, reject) => {\n          axios\n            .get('/api/v1/bootstrap')\n            .then((response) => {\n              const companyStore = useCompanyStore()\n              const userStore = useUserStore()\n              const moduleStore = useModuleStore()\n\n              this.mainMenu = response.data.main_menu\n              this.settingMenu = response.data.setting_menu\n\n              this.config = response.data.config\n              this.globalSettings = response.data.global_settings\n\n              // user store\n              userStore.currentUser = response.data.current_user\n              userStore.currentUserSettings =\n                response.data.current_user_settings\n              userStore.currentAbilities = response.data.current_user_abilities\n\n              // Module store\n              moduleStore.apiToken = response.data.global_settings.api_token\n              moduleStore.enableModules = response.data.modules\n\n                // company store\n                companyStore.companies = response.data.companies\n              companyStore.selectedCompany = response.data.current_company\n              companyStore.setSelectedCompany(response.data.current_company)\n              companyStore.selectedCompanySettings =\n                response.data.current_company_settings\n              companyStore.selectedCompanyCurrency =\n                response.data.current_company_currency\n\n              global.locale =\n                response.data.current_user_settings.language || 'en'\n\n              this.isAppLoaded = true\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      fetchCurrencies() {\n        return new Promise((resolve, reject) => {\n          if (this.currencies.length || this.areCurrenciesLoading) {\n            resolve(this.currencies)\n          } else {\n            this.areCurrenciesLoading = true\n            axios\n              .get('/api/v1/currencies')\n              .then((response) => {\n                this.currencies = response.data.data.filter((currency) => {\n                  return (currency.name = `${currency.code} - ${currency.name}`)\n                })\n                this.areCurrenciesLoading = false\n                resolve(response)\n              })\n              .catch((err) => {\n                handleError(err)\n                this.areCurrenciesLoading = false\n                reject(err)\n              })\n          }\n        })\n      },\n\n      fetchConfig(params) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/config`, { params })\n            .then((response) => {\n              if (response.data.languages) {\n                this.languages = response.data.languages\n              } else {\n                this.fiscalYears = response.data.fiscal_years\n              }\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      fetchDateFormats() {\n        return new Promise((resolve, reject) => {\n          if (this.dateFormats.length) {\n            resolve(this.dateFormats)\n          } else {\n            axios\n              .get('/api/v1/date/formats')\n              .then((response) => {\n                this.dateFormats = response.data.date_formats\n                resolve(response)\n              })\n              .catch((err) => {\n                handleError(err)\n                reject(err)\n              })\n          }\n        })\n      },\n\n      fetchTimeZones() {\n        return new Promise((resolve, reject) => {\n          if (this.timeZones.length) {\n            resolve(this.timeZones)\n          } else {\n            axios\n              .get('/api/v1/timezones')\n              .then((response) => {\n                this.timeZones = response.data.time_zones\n                resolve(response)\n              })\n              .catch((err) => {\n                handleError(err)\n                reject(err)\n              })\n          }\n        })\n      },\n\n      fetchCountries() {\n        return new Promise((resolve, reject) => {\n          if (this.countries.length) {\n            resolve(this.countries)\n          } else {\n            axios\n              .get('/api/v1/countries')\n              .then((response) => {\n                this.countries = response.data.data\n                resolve(response)\n              })\n              .catch((err) => {\n                handleError(err)\n                reject(err)\n              })\n          }\n        })\n      },\n\n      fetchPlaceholders(params) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/number-placeholders`, { params })\n            .then((response) => {\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      setSidebarVisibility(val) {\n        this.isSidebarOpen = val\n      },\n\n      setIsAppLoaded(isAppLoaded) {\n        this.isAppLoaded = isAppLoaded\n      },\n\n      updateGlobalSettings({ data, message }) {\n        return new Promise((resolve, reject) => {\n          axios\n            .post('/api/v1/settings', data)\n            .then((response) => {\n              Object.assign(this.globalSettings, data.settings)\n\n              if (message) {\n                const notificationStore = useNotificationStore()\n\n                notificationStore.showNotification({\n                  type: 'success',\n                  message: global.t(message),\n                })\n              }\n\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n    },\n  })()\n}\n"
  },
  {
    "path": "resources/scripts/admin/stores/installation.js",
    "content": "import axios from 'axios'\nimport { defineStore } from 'pinia'\nimport { useCompanyStore } from './company'\nimport { handleError } from '@/scripts/helpers/error-handling'\n\nexport const useInstallationStore = (useWindow = false) => {\n  const defineStoreFunc = useWindow ? window.pinia.defineStore : defineStore\n  const { global } = window.i18n\n  const companyStore = useCompanyStore()\n\n  return defineStoreFunc({\n    id: 'installation',\n\n    state: () => ({\n      currentDataBaseData: {\n        database_connection: 'mysql',\n        database_hostname: '127.0.0.1',\n        database_port: '3306',\n        database_name: null,\n        database_username: null,\n        database_password: null,\n        app_url: window.location.origin,\n      },\n    }),\n\n    actions: {\n      fetchInstallationRequirements() {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/installation/requirements`)\n            .then((response) => {\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      fetchInstallationStep() {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/installation/wizard-step`)\n            .then((response) => {\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      addInstallationStep(data) {\n        return new Promise((resolve, reject) => {\n          axios\n            .post(`/api/v1/installation/wizard-step`, data)\n            .then((response) => {\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      fetchInstallationPermissions() {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/installation/permissions`)\n            .then((response) => {\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      fetchInstallationDatabase(params) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/installation/database/config`, { params })\n            .then((response) => {\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      addInstallationDatabase(data) {\n        return new Promise((resolve, reject) => {\n          axios\n            .post(`/api/v1/installation/database/config`, data)\n            .then((response) => {\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      addInstallationFinish() {\n        return new Promise((resolve, reject) => {\n          axios\n            .post(`/api/v1/installation/finish`)\n            .then((response) => {\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      setInstallationDomain(data) {\n        return new Promise((resolve, reject) => {\n          axios\n            .put(`/api/v1/installation/set-domain`, data)\n            .then((response) => {\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      installationLogin() {\n        return new Promise((resolve, reject) => {\n          axios.get('/sanctum/csrf-cookie').then((response) => {\n            if (response) {\n              axios\n                .post('/api/v1/installation/login')\n                .then((response) => {\n                  companyStore.setSelectedCompany(response.data.company)\n                  resolve(response)\n                })\n                .catch((err) => {\n                  handleError(err)\n                  reject(err)\n                })\n            }\n          })\n        })\n      },\n\n      checkAutheticated() {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/auth/check`)\n            .then((response) => {\n              resolve(response)\n            })\n            .catch((err) => {\n              reject(err)\n            })\n        })\n      },\n    },\n  })()\n}\n"
  },
  {
    "path": "resources/scripts/admin/stores/invoice.js",
    "content": "import axios from 'axios'\nimport moment from 'moment'\nimport Guid from 'guid'\nimport _ from 'lodash'\nimport { defineStore } from 'pinia'\nimport { useRoute } from 'vue-router'\nimport { handleError } from '@/scripts/helpers/error-handling'\nimport invoiceItemStub from '../stub/invoice-item'\nimport taxStub from '../stub/tax'\nimport invoiceStub from '../stub/invoice'\n\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport { useCustomerStore } from './customer'\nimport { useTaxTypeStore } from './tax-type'\nimport { useCompanyStore } from './company'\nimport { useItemStore } from './item'\nimport { useUserStore } from './user'\n\nexport const useInvoiceStore = (useWindow = false) => {\n  const defineStoreFunc = useWindow ? window.pinia.defineStore : defineStore\n  const { global } = window.i18n\n  const notificationStore = useNotificationStore()\n\n  return defineStoreFunc({\n    id: 'invoice',\n    state: () => ({\n      templates: [],\n      invoices: [],\n      selectedInvoices: [],\n      selectAllField: false,\n      invoiceTotalCount: 0,\n      showExchangeRate: false,\n      isFetchingInitialSettings: false,\n      isFetchingInvoice: false,\n\n      newInvoice: {\n        ...invoiceStub(),\n      },\n    }),\n\n    getters: {\n      getInvoice: (state) => (id) => {\n        let invId = parseInt(id)\n        return state.invoices.find((invoice) => invoice.id === invId)\n      },\n\n      getSubTotal() {\n        return this.newInvoice.items.reduce(function (a, b) {\n          return a + b['total']\n        }, 0)\n      },\n\n      getTotalSimpleTax() {\n        return _.sumBy(this.newInvoice.taxes, function (tax) {\n          if (!tax.compound_tax) {\n            return tax.amount\n          }\n          return 0\n        })\n      },\n\n      getTotalCompoundTax() {\n        return _.sumBy(this.newInvoice.taxes, function (tax) {\n          if (tax.compound_tax) {\n            return tax.amount\n          }\n          return 0\n        })\n      },\n\n      getTotalTax() {\n        if (\n          this.newInvoice.tax_per_item === 'NO' ||\n          this.newInvoice.tax_per_item === null\n        ) {\n          return this.getTotalSimpleTax + this.getTotalCompoundTax\n        }\n        return _.sumBy(this.newInvoice.items, function (tax) {\n          return tax.tax\n        })\n      },\n\n      getSubtotalWithDiscount() {\n        return this.getSubTotal - this.newInvoice.discount_val\n      },\n\n      getTotal() {\n        return this.getSubtotalWithDiscount + this.getTotalTax\n      },\n\n      isEdit: (state) => (state.newInvoice.id ? true : false),\n    },\n\n    actions: {\n      resetCurrentInvoice() {\n        this.newInvoice = {\n          ...invoiceStub(),\n        }\n      },\n\n      previewInvoice(params) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/invoices/${params.id}/send/preview`, { params })\n            .then((response) => {\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      fetchInvoices(params) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/invoices`, { params })\n            .then((response) => {\n              this.invoices = response.data.data\n              this.invoiceTotalCount = response.data.meta.invoice_total_count\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      fetchInvoice(id) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/invoices/${id}`)\n            .then((response) => {\n              Object.assign(this.newInvoice, response.data.data)\n              this.newInvoice.customer = response.data.data.customer\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      addSalesTaxUs() {\n        const taxTypeStore = useTaxTypeStore()\n        let salesTax = { ...taxStub }\n        let found = this.newInvoice.taxes.find((_t) => _t.name === 'Sales Tax' && _t.type === 'MODULE')\n        if (found) {\n          for (const key in found) {\n            if (Object.prototype.hasOwnProperty.call(salesTax, key)) {\n              salesTax[key] = found[key]\n            }\n          }\n          salesTax.id = found.tax_type_id\n          taxTypeStore.taxTypes.push(salesTax)\n        }\n      },\n\n      sendInvoice(data) {\n        return new Promise((resolve, reject) => {\n          axios\n            .post(`/api/v1/invoices/${data.id}/send`, data)\n            .then((response) => {\n              notificationStore.showNotification({\n                type: 'success',\n                message: global.t('invoices.invoice_sent_successfully'),\n              })\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      addInvoice(data) {\n        return new Promise((resolve, reject) => {\n          axios\n            .post('/api/v1/invoices', data)\n            .then((response) => {\n              this.invoices = [...this.invoices, response.data.invoice]\n\n              notificationStore.showNotification({\n                type: 'success',\n                message: global.t('invoices.created_message'),\n              })\n\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      deleteInvoice(id) {\n        return new Promise((resolve, reject) => {\n          axios\n            .post(`/api/v1/invoices/delete`, id)\n            .then((response) => {\n              let index = this.invoices.findIndex(\n                (invoice) => invoice.id === id\n              )\n              this.invoices.splice(index, 1)\n\n              notificationStore.showNotification({\n                type: 'success',\n                message: global.t('invoices.deleted_message', 1),\n              })\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      deleteMultipleInvoices(id) {\n        return new Promise((resolve, reject) => {\n          axios\n            .post(`/api/v1/invoices/delete`, { ids: this.selectedInvoices })\n            .then((response) => {\n              this.selectedInvoices.forEach((invoice) => {\n                let index = this.invoices.findIndex(\n                  (_inv) => _inv.id === invoice.id\n                )\n                this.invoices.splice(index, 1)\n              })\n              this.selectedInvoices = []\n\n              notificationStore.showNotification({\n                type: 'success',\n                message: global.tc('invoices.deleted_message', 2),\n              })\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      updateInvoice(data) {\n        return new Promise((resolve, reject) => {\n          axios\n            .put(`/api/v1/invoices/${data.id}`, data)\n            .then((response) => {\n              let pos = this.invoices.findIndex(\n                (invoice) => invoice.id === response.data.data.id\n              )\n              this.invoices[pos] = response.data.data\n\n              notificationStore.showNotification({\n                type: 'success',\n                message: global.t('invoices.updated_message'),\n              })\n\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      cloneInvoice(data) {\n        return new Promise((resolve, reject) => {\n          axios\n            .post(`/api/v1/invoices/${data.id}/clone`, data)\n            .then((response) => {\n              notificationStore.showNotification({\n                type: 'success',\n                message: global.t('invoices.cloned_successfully'),\n              })\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      markAsSent(data) {\n        return new Promise((resolve, reject) => {\n          axios\n            .post(`/api/v1/invoices/${data.id}/status`, data)\n            .then((response) => {\n              let pos = this.invoices.findIndex(\n                (invoices) => invoices.id === data.id\n              )\n\n              if (this.invoices[pos]) {\n                this.invoices[pos].status = 'SENT'\n              }\n\n              notificationStore.showNotification({\n                type: 'success',\n                message: global.t('invoices.mark_as_sent_successfully'),\n              })\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      getNextNumber(params, setState = false) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/next-number?key=invoice`, { params })\n            .then((response) => {\n              if (setState) {\n                this.newInvoice.invoice_number = response.data.nextNumber\n              }\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      searchInvoice(data) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/invoices?${data}`)\n            .then((response) => {\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      selectInvoice(data) {\n        this.selectedInvoices = data\n        if (this.selectedInvoices.length === this.invoices.length) {\n          this.selectAllField = true\n        } else {\n          this.selectAllField = false\n        }\n      },\n\n      selectAllInvoices() {\n        if (this.selectedInvoices.length === this.invoices.length) {\n          this.selectedInvoices = []\n          this.selectAllField = false\n        } else {\n          let allInvoiceIds = this.invoices.map((invoice) => invoice.id)\n          this.selectedInvoices = allInvoiceIds\n          this.selectAllField = true\n        }\n      },\n\n      selectCustomer(id) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/customers/${id}`)\n            .then((response) => {\n              this.newInvoice.customer = response.data.data\n              this.newInvoice.customer_id = response.data.data.id\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      fetchInvoiceTemplates(params) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/invoices/templates`, { params })\n            .then((response) => {\n              this.templates = response.data.invoiceTemplates\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      selectNote(data) {\n        this.newInvoice.selectedNote = null\n        this.newInvoice.selectedNote = data\n      },\n\n      setTemplate(data) {\n        this.newInvoice.template_name = data\n      },\n\n      resetSelectedCustomer() {\n        this.newInvoice.customer = null\n        this.newInvoice.customer_id = null\n      },\n\n      addItem() {\n        this.newInvoice.items.push({\n          ...invoiceItemStub,\n          id: Guid.raw(),\n          taxes: [{ ...taxStub, id: Guid.raw() }],\n        })\n      },\n\n      updateItem(data) {\n        Object.assign(this.newInvoice.items[data.index], { ...data })\n      },\n\n      removeItem(index) {\n        this.newInvoice.items.splice(index, 1)\n      },\n\n      deselectItem(index) {\n        this.newInvoice.items[index] = {\n          ...invoiceItemStub,\n          id: Guid.raw(),\n          taxes: [{ ...taxStub, id: Guid.raw() }],\n        }\n      },\n\n      resetSelectedNote() {\n        this.newInvoice.selectedNote = null\n      },\n\n      // On Load actions\n      async fetchInvoiceInitialSettings(isEdit) {\n        const companyStore = useCompanyStore()\n        const customerStore = useCustomerStore()\n        const itemStore = useItemStore()\n        const taxTypeStore = useTaxTypeStore()\n        const route = useRoute()\n        const userStore = useUserStore()\n\n        this.isFetchingInitialSettings = true\n\n        this.newInvoice.selectedCurrency = companyStore.selectedCompanyCurrency\n\n        if (route.query.customer) {\n          let response = await customerStore.fetchCustomer(route.query.customer)\n          this.newInvoice.customer = response.data.data\n          this.newInvoice.customer_id = response.data.data.id\n        }\n\n        let editActions = []\n\n        if (!isEdit) {\n          this.newInvoice.tax_per_item =\n            companyStore.selectedCompanySettings.tax_per_item\n          this.newInvoice.sales_tax_type = companyStore.selectedCompanySettings.sales_tax_type\n          this.newInvoice.sales_tax_address_type = companyStore.selectedCompanySettings.sales_tax_address_type\n          this.newInvoice.discount_per_item =\n            companyStore.selectedCompanySettings.discount_per_item\n          this.newInvoice.invoice_date = moment().format('YYYY-MM-DD')\n          if (companyStore.selectedCompanySettings.invoice_set_due_date_automatically === 'YES') {\n            this.newInvoice.due_date = moment()\n              .add(companyStore.selectedCompanySettings.invoice_due_date_days, 'days')\n              .format('YYYY-MM-DD')\n          }\n        } else {\n          editActions = [this.fetchInvoice(route.params.id)]\n        }\n\n        Promise.all([\n          itemStore.fetchItems({\n            filter: {},\n            orderByField: '',\n            orderBy: '',\n          }),\n          this.resetSelectedNote(),\n          this.fetchInvoiceTemplates(),\n          this.getNextNumber(),\n          taxTypeStore.fetchTaxTypes({ limit: 'all' }),\n          ...editActions,\n        ])\n          .then(async ([res1, res2, res3, res4, res5, res6]) => {\n            if (!isEdit) {\n              if (res4.data) {\n                this.newInvoice.invoice_number = res4.data.nextNumber\n              }\n\n              if (res3.data) {\n                this.setTemplate(this.templates[0].name)\n                this.newInvoice.template_name =\n                userStore.currentUserSettings.default_invoice_template ?\n                userStore.currentUserSettings.default_invoice_template : this.newInvoice.template_name\n              }\n            }\n            if (isEdit) {\n              this.addSalesTaxUs()\n            }\n\n            this.isFetchingInitialSettings = false\n          })\n          .catch((err) => {\n            handleError(err)\n            reject(err)\n          })\n      },\n    },\n  })()\n}\n"
  },
  {
    "path": "resources/scripts/admin/stores/item.js",
    "content": "import axios from 'axios'\nimport { defineStore } from 'pinia'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport { handleError } from '@/scripts/helpers/error-handling'\n\nexport const useItemStore = (useWindow = false) => {\n  const defineStoreFunc = useWindow ? window.pinia.defineStore : defineStore\n  const { global } = window.i18n\n\n  return defineStoreFunc({\n    id: 'item',\n    state: () => ({\n      items: [],\n      totalItems: 0,\n      selectAllField: false,\n      selectedItems: [],\n      itemUnits: [],\n      currentItemUnit: {\n        id: null,\n        name: '',\n      },\n      currentItem: {\n        name: '',\n        description: '',\n        price: 0,\n        unit_id: '',\n        unit: null,\n        taxes: [],\n        tax_per_item: false,\n      },\n    }),\n    getters: {\n      isItemUnitEdit: (state) => (state.currentItemUnit.id ? true : false),\n    },\n    actions: {\n      resetCurrentItem() {\n        this.currentItem = {\n          name: '',\n          description: '',\n          price: 0,\n          unit_id: '',\n          unit: null,\n          taxes: [],\n        }\n      },\n      fetchItems(params) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/items`, { params })\n            .then((response) => {\n              this.items = response.data.data\n              this.totalItems = response.data.meta.item_total_count\n\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      fetchItem(id) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/items/${id}`)\n            .then((response) => {\n              if (response.data) {\n                Object.assign(this.currentItem, response.data.data)\n              }\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      addItem(data) {\n        return new Promise((resolve, reject) => {\n          axios\n            .post('/api/v1/items', data)\n            .then((response) => {\n              const notificationStore = useNotificationStore()\n\n              this.items.push(response.data.data)\n\n              notificationStore.showNotification({\n                type: 'success',\n                message: global.t('items.created_message'),\n              })\n\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      updateItem(data) {\n        return new Promise((resolve, reject) => {\n          axios\n            .put(`/api/v1/items/${data.id}`, data)\n            .then((response) => {\n              if (response.data) {\n                const notificationStore = useNotificationStore()\n\n                let pos = this.items.findIndex(\n                  (item) => item.id === response.data.data.id\n                )\n\n                this.items[pos] = data.item\n\n                notificationStore.showNotification({\n                  type: 'success',\n                  message: global.t('items.updated_message'),\n                })\n              }\n\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      deleteItem(id) {\n        const notificationStore = useNotificationStore()\n\n        return new Promise((resolve, reject) => {\n          axios\n            .post(`/api/v1/items/delete`, id)\n            .then((response) => {\n              let index = this.items.findIndex((item) => item.id === id)\n              this.items.splice(index, 1)\n\n              notificationStore.showNotification({\n                type: 'success',\n                message: global.tc('items.deleted_message', 1),\n              })\n\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      deleteMultipleItems() {\n        const notificationStore = useNotificationStore()\n\n        return new Promise((resolve, reject) => {\n          axios\n            .post(`/api/v1/items/delete`, { ids: this.selectedItems })\n            .then((response) => {\n              this.selectedItems.forEach((item) => {\n                let index = this.items.findIndex(\n                  (_item) => _item.id === item.id\n                )\n                this.items.splice(index, 1)\n              })\n\n              notificationStore.showNotification({\n                type: 'success',\n                message: global.tc('items.deleted_message', 2),\n              })\n\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      selectItem(data) {\n        this.selectedItems = data\n        if (this.selectedItems.length === this.items.length) {\n          this.selectAllField = true\n        } else {\n          this.selectAllField = false\n        }\n      },\n\n      selectAllItems(data) {\n        if (this.selectedItems.length === this.items.length) {\n          this.selectedItems = []\n          this.selectAllField = false\n        } else {\n          let allItemIds = this.items.map((item) => item.id)\n          this.selectedItems = allItemIds\n          this.selectAllField = true\n        }\n      },\n\n      addItemUnit(data) {\n        const notificationStore = useNotificationStore()\n\n        return new Promise((resolve, reject) => {\n          axios\n            .post(`/api/v1/units`, data)\n            .then((response) => {\n              this.itemUnits.push(response.data.data)\n\n              if (response.data.data) {\n                notificationStore.showNotification({\n                  type: 'success',\n                  message: global.t(\n                    'settings.customization.items.item_unit_added'\n                  ),\n                })\n              }\n\n              if (response.data.errors) {\n                notificationStore.showNotification({\n                  type: 'error',\n                  message: err.response.data.errors[0],\n                })\n              }\n\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      updateItemUnit(data) {\n        const notificationStore = useNotificationStore()\n\n        return new Promise((resolve, reject) => {\n          axios\n            .put(`/api/v1/units/${data.id}`, data)\n            .then((response) => {\n              let pos = this.itemUnits.findIndex(\n                (unit) => unit.id === response.data.data.id\n              )\n\n              this.itemUnits[pos] = data\n\n              if (response.data.data) {\n                notificationStore.showNotification({\n                  type: 'success',\n                  message: global.t(\n                    'settings.customization.items.item_unit_updated'\n                  ),\n                })\n              }\n\n              if (response.data.errors) {\n                notificationStore.showNotification({\n                  type: 'error',\n                  message: err.response.data.errors[0],\n                })\n              }\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      fetchItemUnits(params) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/units`, { params })\n            .then((response) => {\n              this.itemUnits = response.data.data\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      fetchItemUnit(id) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/units/${id}`)\n            .then((response) => {\n              this.currentItemUnit = response.data.data\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      deleteItemUnit(id) {\n        const notificationStore = useNotificationStore()\n\n        return new Promise((resolve, reject) => {\n          axios\n            .delete(`/api/v1/units/${id}`)\n            .then((response) => {\n              if (!response.data.error) {\n                let index = this.itemUnits.findIndex((unit) => unit.id === id)\n                this.itemUnits.splice(index, 1)\n              }\n\n              if (response.data.success) {\n                notificationStore.showNotification({\n                  type: 'success',\n                  message: global.t(\n                    'settings.customization.items.deleted_message'\n                  ),\n                })\n              }\n\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n    },\n  })()\n}\n"
  },
  {
    "path": "resources/scripts/admin/stores/mail-driver.js",
    "content": "import axios from 'axios'\nimport { defineStore } from 'pinia'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport { handleError } from '@/scripts/helpers/error-handling'\n\nexport const useMailDriverStore = (useWindow = false) => {\n  const defineStoreFunc = useWindow ? window.pinia.defineStore : defineStore\n  const { global } = window.i18n\n\n  return defineStoreFunc({\n    id: 'mail-driver',\n\n    state: () => ({\n      mailConfigData: null,\n      mail_driver: 'smtp',\n      mail_drivers: [],\n\n      basicMailConfig: {\n        mail_driver: '',\n        mail_host: '',\n        from_mail: '',\n        from_name: '',\n      },\n\n      mailgunConfig: {\n        mail_driver: '',\n        mail_mailgun_domain: '',\n        mail_mailgun_secret: '',\n        mail_mailgun_endpoint: '',\n        from_mail: '',\n        from_name: '',\n      },\n\n      sesConfig: {\n        mail_driver: '',\n        mail_host: '',\n        mail_port: null,\n        mail_ses_key: '',\n        mail_ses_secret: '',\n        mail_encryption: 'tls',\n        from_mail: '',\n        from_name: '',\n      },\n\n      smtpConfig: {\n        mail_driver: '',\n        mail_host: '',\n        mail_port: null,\n        mail_username: '',\n        mail_password: '',\n        mail_encryption: 'tls',\n        from_mail: '',\n        from_name: '',\n      },\n    }),\n\n    actions: {\n      fetchMailDrivers() {\n        return new Promise((resolve, reject) => {\n          axios\n            .get('/api/v1/mail/drivers')\n            .then((response) => {\n              if (response.data) {\n                this.mail_drivers = response.data\n              }\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      fetchMailConfig() {\n        return new Promise((resolve, reject) => {\n          axios\n            .get('/api/v1/mail/config')\n            .then((response) => {\n              if (response.data) {\n                this.mailConfigData = response.data\n                this.mail_driver = response.data.mail_driver\n              }\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      updateMailConfig(data) {\n        return new Promise((resolve, reject) => {\n          axios\n            .post('/api/v1/mail/config', data)\n            .then((response) => {\n              const notificationStore = useNotificationStore()\n              if (response.data.success) {\n                notificationStore.showNotification({\n                  type: 'success',\n                  message: global.t('wizard.success.' + response.data.success),\n                })\n              } else {\n                notificationStore.showNotification({\n                  type: 'error',\n                  message: global.t('wizard.errors.' + response.data.error),\n                })\n              }\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      sendTestMail(data) {\n        return new Promise((resolve, reject) => {\n          axios\n            .post('/api/v1/mail/test', data)\n            .then((response) => {\n              const notificationStore = useNotificationStore()\n              if (response.data.success) {\n                notificationStore.showNotification({\n                  type: 'success',\n                  message: global.t('general.send_mail_successfully'),\n                })\n              } else {\n                notificationStore.showNotification({\n                  type: 'error',\n                  message: global.t('validation.something_went_wrong'),\n                })\n              }\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n    },\n  })()\n}\n"
  },
  {
    "path": "resources/scripts/admin/stores/module.js",
    "content": "import axios from 'axios'\nimport { defineStore } from 'pinia'\nimport { handleError } from '@/scripts/helpers/error-handling'\nimport { useNotificationStore } from '@/scripts/stores/notification'\n\nexport const useModuleStore = (useWindow = false) => {\n  const defineStoreFunc = useWindow ? window.pinia.defineStore : defineStore\n  const { global } = window.i18n\n\n  return defineStoreFunc({\n    id: 'modules',\n\n    state: () => ({\n      currentModule: {},\n      modules: [],\n      apiToken: null,\n      currentUser: {\n        api_token: null,\n      },\n      enableModules: []\n    }),\n\n    getters: {\n      salesTaxUSEnabled: (state) => (state.enableModules.includes('SalesTaxUS')),\n    },\n\n    actions: {\n      fetchModules(params) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/modules`)\n            .then((response) => {\n              this.modules = response.data.data\n\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      fetchModule(id) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/modules/${id}`)\n            .then((response) => {\n              if (response.data.error === 'invalid_token') {\n                this.currentModule = {},\n                this.modules = [],\n                this.apiToken = null,\n                this.currentUser.api_token = null,\n                window.router.push('/admin/modules')\n              } else { \n                this.currentModule = response.data\n              }\n\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      checkApiToken(token) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/modules/check?api_token=${token}`)\n            .then((response) => {\n              const notificationStore = useNotificationStore()\n              if (response.data.error === 'invalid_token') {\n                notificationStore.showNotification({\n                  type: 'error',\n                  message: global.t('modules.invalid_api_token'),\n                })\n              }\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      disableModule(module) {\n        return new Promise((resolve, reject) => {\n          axios\n            .post(`/api/v1/modules/${module}/disable`)\n            .then((response) => {\n              const notificationStore = useNotificationStore()\n              if (response.data.success) {\n                notificationStore.showNotification({\n                  type: 'success',\n                  message: global.t('modules.module_disabled'),\n                })\n              }\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      enableModule(module) {\n        return new Promise((resolve, reject) => {\n          axios\n            .post(`/api/v1/modules/${module}/enable`)\n            .then((response) => {\n              const notificationStore = useNotificationStore()\n              if (response.data.success) {\n                notificationStore.showNotification({\n                  type: 'success',\n                  message: global.t('modules.module_enabled'),\n                })\n              }\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n    },\n  })()\n}\n"
  },
  {
    "path": "resources/scripts/admin/stores/note.js",
    "content": "import axios from 'axios'\nimport { defineStore } from 'pinia'\nimport { handleError } from '@/scripts/helpers/error-handling'\n\nexport const useNotesStore = (useWindow = false) => {\n  const defineStoreFunc = useWindow ? window.pinia.defineStore : defineStore\n  const { global } = window.i18n\n\n  return defineStoreFunc({\n    id: 'notes',\n\n    state: () => ({\n      notes: [],\n      currentNote: {\n        id: null,\n        type: '',\n        name: '',\n        notes: '',\n      },\n    }),\n\n    getters: {\n      isEdit: (state) => (state.currentNote.id ? true : false),\n    },\n\n    actions: {\n      resetCurrentNote() {\n        this.currentNote = {\n          type: '',\n          name: '',\n          notes: '',\n        }\n      },\n\n      fetchNotes(params) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/notes`, { params })\n            .then((response) => {\n              this.notes = response.data.data\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      fetchNote(id) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/notes/${id}`)\n            .then((response) => {\n              this.currentNote = response.data.data\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      addNote(data) {\n        return new Promise((resolve, reject) => {\n          axios\n            .post('/api/v1/notes', data)\n            .then((response) => {\n              this.notes.push(response.data)\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      updateNote(data) {\n        return new Promise((resolve, reject) => {\n          axios\n            .put(`/api/v1/notes/${data.id}`, data)\n            .then((response) => {\n              if (response.data) {\n                let pos = this.notes.findIndex(\n                  (notes) => notes.id === response.data.data.id\n                )\n                this.notes[pos] = data.notes\n              }\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      deleteNote(id) {\n        return new Promise((resolve, reject) => {\n          axios\n            .delete(`/api/v1/notes/${id}`)\n            .then((response) => {\n              let index = this.notes.findIndex((note) => note.id === id)\n              this.notes.splice(index, 1)\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n    },\n  })()\n}\n"
  },
  {
    "path": "resources/scripts/admin/stores/payment.js",
    "content": "import axios from 'axios'\nimport moment from 'moment'\nimport { defineStore } from 'pinia'\nimport { useRoute } from 'vue-router'\nimport { useCompanyStore } from './company'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport paymentStub from '../stub/payment'\nimport { handleError } from '@/scripts/helpers/error-handling'\n\nexport const usePaymentStore = (useWindow = false) => {\n  const defineStoreFunc = useWindow ? window.pinia.defineStore : defineStore\n  const { global } = window.i18n\n\n  return defineStoreFunc({\n    id: 'payment',\n\n    state: () => ({\n      payments: [],\n      paymentTotalCount: 0,\n\n      selectAllField: false,\n      selectedPayments: [],\n      selectedNote: null,\n      showExchangeRate: false,\n      drivers: [],\n      providers: [],\n\n      paymentProviders: {\n        id: null,\n        name: '',\n        driver: '',\n        active: false,\n        settings: {\n          key: '',\n          secret: '',\n        },\n      },\n\n      currentPayment: {\n        ...paymentStub,\n      },\n\n      paymentModes: [],\n      currentPaymentMode: {\n        id: '',\n        name: null,\n      },\n\n      isFetchingInitialData: false,\n    }),\n\n    getters: {\n      isEdit: (state) => (state.paymentProviders.id ? true : false),\n    },\n\n    actions: {\n      fetchPaymentInitialData(isEdit) {\n        const companyStore = useCompanyStore()\n        const route = useRoute()\n\n        this.isFetchingInitialData = true\n\n        let actions = []\n        if (isEdit) {\n          actions = [this.fetchPayment(route.params.id)]\n        }\n        Promise.all([\n          this.fetchPaymentModes({ limit: 'all' }),\n          this.getNextNumber(),\n          ...actions,\n        ])\n          .then(async ([res1, res2, res3]) => {\n            if (isEdit) {\n              if (res3.data.data.invoice) {\n                this.currentPayment.maxPayableAmount = parseInt(\n                  res3.data.data.invoice.due_amount\n                )\n              }\n            }\n\n            // On Create\n            else if (!isEdit && res2.data) {\n              this.currentPayment.payment_date = moment().format('YYYY-MM-DD')\n              this.currentPayment.payment_number = res2.data.nextNumber\n              this.currentPayment.currency =\n                companyStore.selectedCompanyCurrency\n            }\n\n            this.isFetchingInitialData = false\n          })\n          .catch((err) => {\n            handleError(err)\n          })\n      },\n\n      fetchPayments(params) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/payments`, { params })\n            .then((response) => {\n              this.payments = response.data.data\n              this.paymentTotalCount = response.data.meta.payment_total_count\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      fetchPayment(id) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/payments/${id}`)\n            .then((response) => {\n              Object.assign(this.currentPayment, response.data.data)\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      addPayment(data) {\n        return new Promise((resolve, reject) => {\n          axios\n            .post('/api/v1/payments', data)\n            .then((response) => {\n              this.payments.push(response.data)\n              const notificationStore = useNotificationStore()\n              notificationStore.showNotification({\n                type: 'success',\n                message: global.t('payments.created_message'),\n              })\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      updatePayment(data) {\n        return new Promise((resolve, reject) => {\n          axios\n            .put(`/api/v1/payments/${data.id}`, data)\n            .then((response) => {\n              if (response.data) {\n                let pos = this.payments.findIndex(\n                  (payment) => payment.id === response.data.data.id\n                )\n\n                this.payments[pos] = data.payment\n\n                const notificationStore = useNotificationStore()\n                notificationStore.showNotification({\n                  type: 'success',\n                  message: global.t('payments.updated_message'),\n                })\n              }\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      deletePayment(id) {\n        const notificationStore = useNotificationStore()\n\n        return new Promise((resolve, reject) => {\n          axios\n            .post(`/api/v1/payments/delete`, id)\n            .then((response) => {\n              let index = this.payments.findIndex(\n                (payment) => payment.id === id\n              )\n              this.payments.splice(index, 1)\n\n              notificationStore.showNotification({\n                type: 'success',\n                message: global.t('payments.deleted_message', 1),\n              })\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      deleteMultiplePayments() {\n        const notificationStore = useNotificationStore()\n        return new Promise((resolve, reject) => {\n          axios\n            .post(`/api/v1/payments/delete`, { ids: this.selectedPayments })\n            .then((response) => {\n              this.selectedPayments.forEach((payment) => {\n                let index = this.payments.findIndex(\n                  (_payment) => _payment.id === payment.id\n                )\n                this.payments.splice(index, 1)\n              })\n              notificationStore.showNotification({\n                type: 'success',\n                message: global.tc('payments.deleted_message', 2),\n              })\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      setSelectAllState(data) {\n        this.selectAllField = data\n      },\n\n      selectPayment(data) {\n        this.selectedPayments = data\n        if (this.selectedPayments.length === this.payments.length) {\n          this.selectAllField = true\n        } else {\n          this.selectAllField = false\n        }\n      },\n\n      selectAllPayments() {\n        if (this.selectedPayments.length === this.payments.length) {\n          this.selectedPayments = []\n          this.selectAllField = false\n        } else {\n          let allPaymentIds = this.payments.map((payment) => payment.id)\n          this.selectedPayments = allPaymentIds\n          this.selectAllField = true\n        }\n      },\n\n      selectNote(data) {\n        this.selectedNote = null\n        this.selectedNote = data\n      },\n\n      resetSelectedNote(data) {\n        this.selectedNote = null\n      },\n\n      searchPayment(params) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/payments`, { params })\n            .then((response) => {\n              this.payments = response.data\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      previewPayment(params) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/payments/${params.id}/send/preview`, { params })\n            .then((response) => {\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      sendEmail(data) {\n        return new Promise((resolve, reject) => {\n          axios\n            .post(`/api/v1/payments/${data.id}/send`, data)\n            .then((response) => {\n              const notificationStore = useNotificationStore()\n              notificationStore.showNotification({\n                type: 'success',\n                message: global.t('payments.send_payment_successfully'),\n              })\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      getNextNumber(params, setState = false) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/next-number?key=payment`, { params })\n            .then((response) => {\n              if (setState) {\n                this.currentPayment.payment_number = response.data.nextNumber\n              }\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      resetCurrentPayment() {\n        this.currentPayment = {\n          ...paymentStub,\n        }\n      },\n\n      fetchPaymentModes(params) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/payment-methods`, { params })\n            .then((response) => {\n              this.paymentModes = response.data.data\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      fetchPaymentMode(id) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/payment-methods/${id}`)\n            .then((response) => {\n              this.currentPaymentMode = response.data.data\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      addPaymentMode(data) {\n        const notificationStore = useNotificationStore()\n        return new Promise((resolve, reject) => {\n          axios\n            .post(`/api/v1/payment-methods`, data)\n            .then((response) => {\n              this.paymentModes.push(response.data.data)\n              notificationStore.showNotification({\n                type: 'success',\n                message: global.t('settings.payment_modes.payment_mode_added'),\n              })\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      updatePaymentMode(data) {\n        const notificationStore = useNotificationStore()\n        return new Promise((resolve, reject) => {\n          axios\n            .put(`/api/v1/payment-methods/${data.id}`, data)\n            .then((response) => {\n              if (response.data) {\n                let pos = this.paymentModes.findIndex(\n                  (paymentMode) => paymentMode.id === response.data.data.id\n                )\n                this.paymentModes[pos] = data.paymentModes\n                notificationStore.showNotification({\n                  type: 'success',\n                  message: global.t(\n                    'settings.payment_modes.payment_mode_updated'\n                  ),\n                })\n              }\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      deletePaymentMode(id) {\n        const notificationStore = useNotificationStore()\n\n        return new Promise((resolve, reject) => {\n          axios\n            .delete(`/api/v1/payment-methods/${id}`)\n            .then((response) => {\n              let index = this.paymentModes.findIndex(\n                (paymentMode) => paymentMode.id === id\n              )\n              this.paymentModes.splice(index, 1)\n              if (response.data.success) {\n                notificationStore.showNotification({\n                  type: 'success',\n                  message: global.t('settings.payment_modes.deleted_message'),\n                })\n              }\n\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n    },\n  })()\n}\n"
  },
  {
    "path": "resources/scripts/admin/stores/recurring-invoice.js",
    "content": "import { defineStore } from 'pinia'\nimport axios from 'axios'\nimport recurringInvoiceStub from '@/scripts/admin/stub/recurring-invoice'\nimport recurringInvoiceItemStub from '@/scripts/admin/stub/recurring-invoice-item'\nimport TaxStub from '../stub/tax'\nimport { useRoute } from 'vue-router'\nimport { useCompanyStore } from './company'\nimport { useItemStore } from './item'\nimport { useTaxTypeStore } from './tax-type'\nimport { useCustomerStore } from './customer'\nimport Guid from 'guid'\nimport { handleError } from '@/scripts/helpers/error-handling'\nimport moment from 'moment'\nimport _ from 'lodash'\nimport { useInvoiceStore } from './invoice'\nimport { useNotificationStore } from '@/scripts/stores/notification'\n\nexport const useRecurringInvoiceStore = (useWindow = false) => {\n  const defineStoreFunc = useWindow ? window.pinia.defineStore : defineStore\n  const { global } = window.i18n\n\n  return defineStoreFunc({\n    id: 'recurring-invoice',\n\n    state: () => ({\n      templates: [],\n      recurringInvoices: [],\n      selectedRecurringInvoices: [],\n      totalRecurringInvoices: 0,\n      isFetchingInitialSettings: false,\n      isFetchingViewData: false,\n      showExchangeRate: false,\n      selectAllField: false,\n      newRecurringInvoice: {\n        ...recurringInvoiceStub(),\n      },\n\n      frequencies: [\n        { label: 'Every Minute', value: '* * * * *' },\n        { label: 'Every 30 Minute', value: '*/30 * * * *' },\n        { label: 'Every Hour', value: '0 * * * *' },\n        { label: 'Every 2 Hour', value: '0 */2 * * *' },\n        { label: 'Every day at midnight ', value: '0 0 * * *' },\n        { label: 'Every Week', value: '0 0 * * 0' },\n        { label: 'Every 15 days at midnight', value: '0 5 */15 * *' },\n        { label: 'On the first day of every month at 00:00', value: '0 0 1 * *' },\n        { label: 'Every 6 Month', value: '0 0 1 */6 *' },\n        { label: 'Every year on the first day of january at 00:00', value: '0 0 1 1 *' },\n        { label: 'Custom', value: 'CUSTOM' },\n      ],\n    }),\n\n    getters: {\n      getSubTotal() {\n        return (\n          this.newRecurringInvoice?.items.reduce(function (a, b) {\n            return a + b['total']\n          }, 0) || 0\n        )\n      },\n\n      getTotalSimpleTax() {\n        return _.sumBy(this.newRecurringInvoice.taxes, function (tax) {\n          if (!tax.compound_tax) {\n            return tax.amount\n          }\n          return 0\n        })\n      },\n\n      getTotalCompoundTax() {\n        return _.sumBy(this.newRecurringInvoice.taxes, function (tax) {\n          if (tax.compound_tax) {\n            return tax.amount\n          }\n          return 0\n        })\n      },\n\n      getTotalTax() {\n        if (\n          this.newRecurringInvoice.tax_per_item === 'NO' ||\n          this.newRecurringInvoice.tax_per_item === null\n        ) {\n          return this.getTotalSimpleTax + this.getTotalCompoundTax\n        }\n        return _.sumBy(this.newRecurringInvoice.items, function (tax) {\n          return tax.tax\n        })\n      },\n\n      getSubtotalWithDiscount() {\n        return this.getSubTotal - this.newRecurringInvoice.discount_val\n      },\n\n      getTotal() {\n        return this.getSubtotalWithDiscount + this.getTotalTax\n      },\n    },\n\n    actions: {\n      resetCurrentRecurringInvoice() {\n        this.newRecurringInvoice = {\n          ...recurringInvoiceStub(),\n        }\n      },\n\n      deselectItem(index) {\n        this.newRecurringInvoice.items[index] = {\n          ...recurringInvoiceItemStub,\n          id: Guid.raw(),\n          taxes: [{ ...TaxStub, id: Guid.raw() }],\n        }\n      },\n\n      addRecurringInvoice(data) {\n        return new Promise((resolve, reject) => {\n          axios\n            .post('/api/v1/recurring-invoices', data)\n            .then((response) => {\n              this.recurringInvoices = [\n                ...this.recurringInvoices,\n                response.data.recurringInvoice,\n              ]\n              const notificationStore = useNotificationStore()\n\n              notificationStore.showNotification({\n                type: 'success',\n                message: global.t('recurring_invoices.created_message'),\n              })\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      fetchRecurringInvoice(id) {\n        return new Promise((resolve, reject) => {\n          this.isFetchingViewData = true\n          axios\n            .get(`/api/v1/recurring-invoices/${id}`)\n            .then((response) => {\n              Object.assign(this.newRecurringInvoice, response.data.data)\n              this.newRecurringInvoice.invoices =\n                response.data.data.invoices || []\n              this.setSelectedFrequency()\n              this.isFetchingViewData = false\n              resolve(response)\n            })\n            .catch((err) => {\n              this.isFetchingViewData = false\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      updateRecurringInvoice(data) {\n        return new Promise((resolve, reject) => {\n          axios\n            .put(`/api/v1/recurring-invoices/${data.id}`, data)\n            .then((response) => {\n              resolve(response)\n\n              const notificationStore = useNotificationStore()\n\n              notificationStore.showNotification({\n                type: 'success',\n                message: global.t('recurring_invoices.updated_message'),\n              })\n\n              let pos = this.recurringInvoices.findIndex(\n                (invoice) => invoice.id === response.data.data.id\n              )\n\n              this.recurringInvoices[pos] = response.data.data\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      selectCustomer(id) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/customers/${id}`)\n            .then((response) => {\n              this.newRecurringInvoice.customer = response.data.data\n              this.newRecurringInvoice.customer_id = response.data.data.id\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      searchRecurringInvoice(data) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/recurring-invoices?${data}`)\n            .then((response) => {\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      fetchRecurringInvoices(params) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/recurring-invoices`, { params })\n            .then((response) => {\n              this.recurringInvoices = response.data.data\n              this.totalRecurringInvoices =\n                response.data.meta.recurring_invoice_total_count\n\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      deleteRecurringInvoice(id) {\n        return new Promise((resolve, reject) => {\n          axios\n            .post(`/api/v1/recurring-invoices/delete`, id)\n            .then((response) => {\n              let index = this.recurringInvoices.findIndex(\n                (invoice) => invoice.id === id\n              )\n              this.recurringInvoices.splice(index, 1)\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      deleteMultipleRecurringInvoices(id) {\n        return new Promise((resolve, reject) => {\n          let ids = this.selectedRecurringInvoices\n          if (id) {\n            ids = [id]\n          }\n          axios\n            .post(`/api/v1/recurring-invoices/delete`, {\n              ids: ids,\n            })\n            .then((response) => {\n              this.selectedRecurringInvoices.forEach((invoice) => {\n                let index = this.recurringInvoices.findIndex(\n                  (_inv) => _inv.id === invoice.id\n                )\n                this.recurringInvoices.splice(index, 1)\n              })\n              this.selectedRecurringInvoices = []\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      resetSelectedCustomer() {\n        this.newRecurringInvoice.customer = null\n        this.newRecurringInvoice.customer_id = ''\n      },\n\n      selectRecurringInvoice(data) {\n        this.selectedRecurringInvoices = data\n        if (\n          this.selectedRecurringInvoices.length ===\n          this.recurringInvoices.length\n        ) {\n          this.selectAllField = true\n        } else {\n          this.selectAllField = false\n        }\n      },\n\n      selectAllRecurringInvoices() {\n        if (\n          this.selectedRecurringInvoices.length ===\n          this.recurringInvoices.length\n        ) {\n          this.selectedRecurringInvoices = []\n          this.selectAllField = false\n        } else {\n          let allInvoiceIds = this.recurringInvoices.map(\n            (invoice) => invoice.id\n          )\n          this.selectedRecurringInvoices = allInvoiceIds\n          this.selectAllField = true\n        }\n      },\n\n      addItem() {\n        this.newRecurringInvoice.items.push({\n          ...recurringInvoiceItemStub,\n          id: Guid.raw(),\n          taxes: [{ ...TaxStub, id: Guid.raw() }],\n        })\n      },\n\n      removeItem(index) {\n        this.newRecurringInvoice.items.splice(index, 1)\n      },\n\n      updateItem(data) {\n        Object.assign(this.newRecurringInvoice.items[data.index], { ...data })\n      },\n\n      async fetchRecurringInvoiceInitialSettings(isEdit) {\n        const companyStore = useCompanyStore()\n        const customerStore = useCustomerStore()\n        const itemStore = useItemStore()\n        const invoiceStore = useInvoiceStore()\n        const taxTypeStore = useTaxTypeStore()\n        const route = useRoute()\n\n        this.isFetchingInitialSettings = true\n        this.newRecurringInvoice.currency = companyStore.selectedCompanyCurrency\n\n        if (route.query.customer) {\n          let response = await customerStore.fetchCustomer(route.query.customer)\n          this.newRecurringInvoice.customer = response.data.data\n          this.selectCustomer(response.data.data.id)\n        }\n\n        let editActions = []\n\n        // on create\n        if (!isEdit) {\n          this.newRecurringInvoice.tax_per_item =\n            companyStore.selectedCompanySettings.tax_per_item\n          this.newRecurringInvoice.discount_per_item =\n            companyStore.selectedCompanySettings.discount_per_item\n          this.newRecurringInvoice.sales_tax_type = companyStore.selectedCompanySettings.sales_tax_type\n          this.newRecurringInvoice.sales_tax_address_type = companyStore.selectedCompanySettings.sales_tax_address_type\n          this.newRecurringInvoice.starts_at = moment().format('YYYY-MM-DD')\n          this.newRecurringInvoice.next_invoice_date = moment()\n            .add(7, 'days')\n            .format('YYYY-MM-DD')\n        } else {\n          editActions = [this.fetchRecurringInvoice(route.params.id)]\n        }\n\n        Promise.all([\n          itemStore.fetchItems({\n            filter: {},\n            orderByField: '',\n            orderBy: '',\n          }),\n          this.resetSelectedNote(),\n          invoiceStore.fetchInvoiceTemplates(),\n          taxTypeStore.fetchTaxTypes({ limit: 'all' }),\n          ...editActions,\n        ])\n          .then(async ([res1, res2, res3, res4, res5]) => {\n            if (res3.data) {\n              this.templates = invoiceStore.templates\n            }\n\n            if (!isEdit) {\n              this.setTemplate(this.templates[0].name)\n            }\n\n            if (isEdit && res5?.data) {\n              let data = {\n                ...res5.data.data,\n              }\n\n              this.setTemplate(res5?.data?.data?.template_name)\n            }\n            if (isEdit) {\n              this.addSalesTaxUs()\n            }\n            this.isFetchingInitialSettings = false\n          })\n          .catch((err) => {\n            console.log(err);\n            handleError(err)\n          })\n      },\n\n      addSalesTaxUs() {\n        const taxTypeStore = useTaxTypeStore()\n        let salesTax = { ...TaxStub }\n        let found = this.newRecurringInvoice.taxes.find((_t) => _t.name === 'Sales Tax' && _t.type === 'MODULE')\n        if (found) {\n          for (const key in found) {\n            if (Object.prototype.hasOwnProperty.call(salesTax, key)) {\n              salesTax[key] = found[key]\n            }\n          }\n          salesTax.id = found.tax_type_id\n          taxTypeStore.taxTypes.push(salesTax)\n        }\n      },\n\n      setTemplate(data) {\n        this.newRecurringInvoice.template_name = data\n      },\n\n      setSelectedFrequency() {\n        let data = this.frequencies.find(\n          (frequency) => {\n            return frequency.value === this.newRecurringInvoice.frequency\n          }\n        )\n        data ? this.newRecurringInvoice.selectedFrequency = data\n          : this.newRecurringInvoice.selectedFrequency = { label: 'Custom', value: 'CUSTOM' }\n\n      },\n\n      resetSelectedNote() {\n        this.newRecurringInvoice.selectedNote = null\n      },\n\n      fetchRecurringInvoiceFrequencyDate(params) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get('/api/v1/recurring-invoice-frequency', { params })\n            .then((response) => {\n              this.newRecurringInvoice.next_invoice_at =\n                response.data.next_invoice_at\n\n              resolve(response)\n            })\n            .catch((err) => {\n              const notificationStore = useNotificationStore()\n\n              notificationStore.showNotification({\n                type: 'error',\n                message: global.t('errors.enter_valid_cron_format'),\n              })\n              reject(err)\n            })\n        })\n      },\n    },\n  })()\n}\n"
  },
  {
    "path": "resources/scripts/admin/stores/reset.js",
    "content": "import axios from 'axios'\nimport { defineStore } from 'pinia'\nimport { useBackupStore } from './backup'\nimport { useCategoryStore } from './category'\nimport { useCompanyStore } from './company'\nimport { useCustomFieldStore } from './custom-field'\nimport { useCustomerStore } from './customer'\nimport { useDashboardStore } from './dashboard'\nimport { useDialogStore } from '@/scripts/stores/dialog'\nimport { useDiskStore } from './disk'\nimport { useEstimateStore } from './estimate'\nimport { useExchangeRateStore } from './exchange-rate'\nimport { useExpenseStore } from './expense'\nimport { useGlobalStore } from './global'\nimport { useInstallationStore } from './installation'\nimport { useInvoiceStore } from './invoice'\nimport { useItemStore } from './item'\nimport { useMailDriverStore } from './mail-driver'\nimport { useModalStore } from '@/scripts/stores/modal'\nimport { useNotesStore } from './note'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport { usePaymentStore } from './payment'\nimport { useRecurringInvoiceStore } from './recurring-invoice'\nimport { useRoleStore } from './role'\nimport { useTaxTypeStore } from './tax-type'\nimport { useUserStore } from './user'\nimport { useUsersStore } from './users'\n\nexport const useResetStore = (useWindow = false) => {\n  const defineStoreFunc = useWindow ? window.pinia.defineStore : defineStore\n  const { global } = window.i18n\n\n  return defineStoreFunc({\n    id: 'reset',\n    actions: {\n      clearPinia() {\n        const backupStore = useBackupStore()\n        const categoryStore = useCategoryStore()\n        const companyStore = useCompanyStore()\n        const customFieldStore = useCustomFieldStore()\n        const customerStore = useCustomerStore()\n        const dashboardStore = useDashboardStore()\n        const dialogStore = useDialogStore()\n        const diskStore = useDiskStore()\n        const estimateStore = useEstimateStore()\n        const exchangeRateStore = useExchangeRateStore()\n        const expenseStore = useExpenseStore()\n        const globalStore = useGlobalStore()\n        const installationStore = useInstallationStore()\n        const invoiceStore = useInvoiceStore()\n        const itemStore = useItemStore()\n        const mailDriverStore = useMailDriverStore()\n        const modalStore = useModalStore()\n        const noteStore = useNotesStore()\n        const notificationStore = useNotificationStore()\n        const paymentStore = usePaymentStore()\n        const recurringInvoiceStore = useRecurringInvoiceStore()\n        const roleStore = useRoleStore()\n        const taxTypeStore = useTaxTypeStore()\n        const userStore = useUserStore()\n        const usersStore = useUsersStore()\n\n        backupStore.$reset()\n        categoryStore.$reset()\n        companyStore.$reset()\n        customFieldStore.$reset()\n        customerStore.$reset()\n        dashboardStore.$reset()\n        dialogStore.$reset()\n        diskStore.$reset()\n        estimateStore.$reset()\n        exchangeRateStore.$reset()\n        expenseStore.$reset()\n        globalStore.$reset()\n        installationStore.$reset()\n        invoiceStore.$reset()\n        itemStore.$reset()\n        mailDriverStore.$reset()\n        modalStore.$reset()\n        noteStore.$reset()\n        notificationStore.$reset()\n        paymentStore.$reset()\n        recurringInvoiceStore.$reset()\n        roleStore.$reset()\n        taxTypeStore.$reset()\n        userStore.$reset()\n        usersStore.$reset()\n      },\n    },\n  })()\n}\n"
  },
  {
    "path": "resources/scripts/admin/stores/role.js",
    "content": "import axios from 'axios'\nimport { defineStore } from 'pinia'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport _ from 'lodash'\nimport { handleError } from '@/scripts/helpers/error-handling'\n\nexport const useRoleStore = (useWindow = false) => {\n  const defineStoreFunc = useWindow ? window.pinia.defineStore : defineStore\n  const { global } = window.i18n\n\n  return defineStoreFunc({\n    id: 'role',\n    state: () => ({\n      roles: [],\n      allAbilities: [],\n      selectedRoles: [],\n      currentRole: {\n        id: null,\n        name: '',\n        abilities: [],\n      },\n    }),\n\n    getters: {\n      isEdit: (state) => (state.currentRole.id ? true : false),\n      abilitiesList: (state) => {\n        let abilities = state.allAbilities.map((a) => ({\n          modelName: a.model\n            ? a.model.substring(a.model.lastIndexOf('\\\\') + 1)\n            : 'Common',\n          disabled: false,\n          ...a,\n        }))\n        return _.groupBy(abilities, 'modelName')\n      },\n    },\n\n    actions: {\n      fetchRoles(params) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/roles`, { params })\n            .then((response) => {\n              this.roles = response.data.data\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      fetchRole(id) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/roles/${id}`)\n            .then((response) => {\n              this.currentRole.name = response.data.data.name\n              this.currentRole.id = response.data.data.id\n\n              response.data.data.abilities.forEach((_ra) => {\n                for (const property in this.abilitiesList) {\n                  this.abilitiesList[property].forEach((_p) => {\n                    if (_p.ability === _ra.name) {\n                      this.currentRole.abilities.push(_p)\n                    }\n                  })\n                }\n              })\n\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      addRole(data) {\n        const notificationStore = useNotificationStore()\n        return new Promise((resolve, reject) => {\n          axios\n            .post('/api/v1/roles', data)\n            .then((response) => {\n              this.roles.push(response.data.role)\n              notificationStore.showNotification({\n                type: 'success',\n                message: global.t('settings.roles.created_message'),\n              })\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      updateRole(data) {\n        const notificationStore = useNotificationStore()\n        return new Promise((resolve, reject) => {\n          axios\n            .put(`/api/v1/roles/${data.id}`, data)\n            .then((response) => {\n              if (response.data) {\n                let pos = this.roles.findIndex(\n                  (role) => role.id === response.data.data.id\n                )\n                this.roles[pos] = data.role\n                notificationStore.showNotification({\n                  type: 'success',\n                  message: global.t('settings.roles.updated_message'),\n                })\n              }\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      fetchAbilities(params) {\n        return new Promise((resolve, reject) => {\n          if (this.allAbilities.length) {\n            resolve(this.allAbilities)\n          } else {\n            axios\n              .get(`/api/v1/abilities`, { params })\n              .then((response) => {\n                this.allAbilities = response.data.abilities\n\n                resolve(response)\n              })\n              .catch((err) => {\n                handleError(err)\n                reject(err)\n              })\n          }\n        })\n      },\n\n      deleteRole(id) {\n        const notificationStore = useNotificationStore()\n        return new Promise((resolve, reject) => {\n          axios\n            .delete(`/api/v1/roles/${id}`)\n            .then((response) => {\n              let index = this.roles.findIndex((role) => role.id === id)\n              this.roles.splice(index, 1)\n\n              notificationStore.showNotification({\n                type: 'success',\n                message: global.t('settings.roles.deleted_message'),\n              })\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n    },\n  })()\n}\n"
  },
  {
    "path": "resources/scripts/admin/stores/tax-type.js",
    "content": "import axios from 'axios'\nimport { defineStore } from 'pinia'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport { handleError } from '@/scripts/helpers/error-handling'\n\nexport const useTaxTypeStore = (useWindow = false) => {\n  const defineStoreFunc = useWindow ? window.pinia.defineStore : defineStore\n  const { global } = window.i18n\n\n  return defineStoreFunc({\n    id: 'taxType',\n\n    state: () => ({\n      taxTypes: [],\n      currentTaxType: {\n        id: null,\n        name: '',\n        percent: 0,\n        description: '',\n        compound_tax: false,\n        collective_tax: 0,\n      },\n    }),\n\n    getters: {\n      isEdit: (state) => (state.currentTaxType.id ? true : false),\n    },\n\n    actions: {\n      resetCurrentTaxType() {\n        this.currentTaxType = {\n          id: null,\n          name: '',\n          percent: 0,\n          description: '',\n          compound_tax: false,\n          collective_tax: 0,\n        }\n      },\n\n      fetchTaxTypes(params) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/tax-types`, { params })\n            .then((response) => {\n              this.taxTypes = response.data.data\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      fetchTaxType(id) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/tax-types/${id}`)\n            .then((response) => {\n              this.currentTaxType = response.data.data\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      addTaxType(data) {\n        const notificationStore = useNotificationStore()\n        return new Promise((resolve, reject) => {\n          axios\n            .post('/api/v1/tax-types', data)\n            .then((response) => {\n              this.taxTypes.push(response.data.data)\n              notificationStore.showNotification({\n                type: 'success',\n                message: global.t('settings.tax_types.created_message'),\n              })\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      updateTaxType(data) {\n        const notificationStore = useNotificationStore()\n        return new Promise((resolve, reject) => {\n          axios\n            .put(`/api/v1/tax-types/${data.id}`, data)\n            .then((response) => {\n              if (response.data) {\n                let pos = this.taxTypes.findIndex(\n                  (taxTypes) => taxTypes.id === response.data.data.id\n                )\n                this.taxTypes[pos] = data.taxTypes\n                notificationStore.showNotification({\n                  type: 'success',\n                  message: global.t('settings.tax_types.updated_message'),\n                })\n              }\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      fetchSalesTax(data) {\n        return new Promise((resolve, reject) => {\n          axios\n            .post('/api/m/sales-tax-us/current-tax', data)\n            .then((response) => {\n              if (response.data) {\n                let pos = this.taxTypes.findIndex(\n                  (_t) => _t.name === 'SalesTaxUs'\n                )\n                pos > -1 ? this.taxTypes.splice(pos, 1) : ''\n                this.taxTypes.push({ ...response.data.data, tax_type_id: response.data.data.id })\n              }\n\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      deleteTaxType(id) {\n        return new Promise((resolve, reject) => {\n          axios\n            .delete(`/api/v1/tax-types/${id}`)\n            .then((response) => {\n              if (response.data.success) {\n                let index = this.taxTypes.findIndex(\n                  (taxType) => taxType.id === id\n                )\n                this.taxTypes.splice(index, 1)\n                const notificationStore = useNotificationStore()\n                notificationStore.showNotification({\n                  type: 'success',\n                  message: global.t('settings.tax_types.deleted_message'),\n                })\n              }\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n    },\n  })()\n}\n"
  },
  {
    "path": "resources/scripts/admin/stores/user.js",
    "content": "import axios from 'axios'\nimport { defineStore } from 'pinia'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport { handleError } from '@/scripts/helpers/error-handling'\n\nexport const useUserStore = (useWindow = false) => {\n  const defineStoreFunc = useWindow ? window.pinia.defineStore : defineStore\n  const { global } = window.i18n\n\n  return defineStoreFunc({\n    id: 'user',\n\n    state: () => ({\n      currentUser: null,\n      currentAbilities: [],\n      currentUserSettings: {},\n\n      userForm: {\n        name: '',\n        email: '',\n        password: '',\n        confirm_password: '',\n        language: '',\n      },\n    }),\n\n    getters: {\n      currentAbilitiesCount: (state) => state.currentAbilities.length,\n    },\n\n    actions: {\n      updateCurrentUser(data) {\n        return new Promise((resolve, reject) => {\n          axios\n            .put('/api/v1/me', data)\n            .then((response) => {\n              this.currentUser = response.data.data\n              Object.assign(this.userForm, response.data.data)\n              const notificationStore = useNotificationStore()\n              notificationStore.showNotification({\n                type: 'success',\n                message: global.t('settings.account_settings.updated_message'),\n              })\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      fetchCurrentUser(params) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/me`, params)\n            .then((response) => {\n              this.currentUser = response.data.data\n              this.userForm = response.data.data\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      uploadAvatar(data) {\n        return new Promise((resolve, reject) => {\n          axios\n            .post('/api/v1/me/upload-avatar', data)\n            .then((response) => {\n              this.currentUser.avatar = response.data.data.avatar\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      fetchUserSettings(settings) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get('/api/v1/me/settings', {\n              params: {\n                settings,\n              },\n            })\n            .then((response) => {\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      updateUserSettings(data) {\n        return new Promise((resolve, reject) => {\n          axios\n            .put('/api/v1/me/settings', data)\n            .then((response) => {\n              if (data.settings.language) {\n                this.currentUserSettings.language = data.settings.language\n                global.locale = data.settings.language\n              }\n              if (data.settings.default_estimate_template) {\n                this.currentUserSettings.default_estimate_template =\n                  data.settings.default_estimate_template\n              }\n              if (data.settings.default_invoice_template) {\n                this.currentUserSettings.default_invoice_template =\n                  data.settings.default_invoice_template\n              }\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      hasAbilities(abilities) {\n        return !!this.currentAbilities.find((ab) => {\n          if (ab.name === '*') return true\n          if (typeof abilities === 'string') {\n            return ab.name === abilities\n          }\n          return !!abilities.find((p) => {\n            return ab.name === p\n          })\n        })\n      },\n\n      hasAllAbilities(abilities) {\n        let isAvailable = true\n        this.currentAbilities.filter((ab) => {\n          let hasContain = !!abilities.find((p) => {\n            return ab.name === p\n          })\n          if (!hasContain) {\n            isAvailable = false\n          }\n        })\n\n        return isAvailable\n      },\n    },\n  })()\n}\n"
  },
  {
    "path": "resources/scripts/admin/stores/users.js",
    "content": "import axios from 'axios'\nimport { defineStore } from 'pinia'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport { handleError } from '@/scripts/helpers/error-handling'\n\nexport const useUsersStore = (useWindow = false) => {\n  const defineStoreFunc = useWindow ? window.pinia.defineStore : defineStore\n  const { global } = window.i18n\n\n  return defineStoreFunc({\n    id: 'users',\n    state: () => ({\n      roles: [],\n      users: [],\n      totalUsers: 0,\n      currentUser: null,\n      selectAllField: false,\n      selectedUsers: [],\n      customerList: [],\n      userList: [],\n\n      userData: {\n        name: '',\n        email: '',\n        password: null,\n        phone: null,\n        companies: [],\n      },\n    }),\n\n    actions: {\n      resetUserData() {\n        this.userData = {\n          name: '',\n          email: '',\n          password: null,\n          phone: null,\n          role: null,\n          companies: [],\n        }\n      },\n\n      fetchUsers(params) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/users`, { params })\n            .then((response) => {\n              this.users = response.data.data\n              this.totalUsers = response.data.meta.total\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      fetchUser(id) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/users/${id}`)\n            .then((response) => {\n              this.userData = response.data.data\n              if (this.userData?.companies?.length) {\n                this.userData.companies.forEach((c, i) => {\n                  this.userData.roles.forEach((r) => {\n                    if (r.scope === c.id)\n                      this.userData.companies[i].role = r.name\n                  })\n                })\n              }\n              resolve(response)\n            })\n            .catch((err) => {\n              console.log(err)\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      fetchRoles(state) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/roles`)\n            .then((response) => {\n              this.roles = response.data.data\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      addUser(data) {\n        return new Promise((resolve, reject) => {\n          axios\n            .post('/api/v1/users', data)\n            .then((response) => {\n              this.users.push(response.data)\n              const notificationStore = useNotificationStore()\n\n              notificationStore.showNotification({\n                type: 'success',\n                message: global.t('users.created_message'),\n              })\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      updateUser(data) {\n        return new Promise((resolve, reject) => {\n          axios\n            .put(`/api/v1/users/${data.id}`, data)\n            .then((response) => {\n              if (response) {\n                let pos = this.users.findIndex(\n                  (user) => user.id === response.data.data.id\n                )\n                this.users[pos] = response.data.data\n              }\n              const notificationStore = useNotificationStore()\n              notificationStore.showNotification({\n                type: 'success',\n                message: global.t('users.updated_message'),\n              })\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      deleteUser(id) {\n        const notificationStore = useNotificationStore()\n\n        return new Promise((resolve, reject) => {\n          axios\n            .post(`/api/v1/users/delete`, { users: id.ids })\n            .then((response) => {\n              let index = this.users.findIndex((user) => user.id === id)\n              this.users.splice(index, 1)\n              notificationStore.showNotification({\n                type: 'success',\n                message: global.tc('users.deleted_message', 1),\n              })\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      deleteMultipleUsers() {\n        return new Promise((resolve, reject) => {\n          axios\n            .post(`/api/v1/users/delete`, { users: this.selectedUsers })\n            .then((response) => {\n              this.selectedUsers.forEach((user) => {\n                let index = this.users.findIndex(\n                  (_user) => _user.id === user.id\n                )\n                this.users.splice(index, 1)\n              })\n              const notificationStore = useNotificationStore()\n              notificationStore.showNotification({\n                type: 'success',\n                message: global.tc('users.deleted_message', 2),\n              })\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      searchUsers(params) {\n        return new Promise((resolve, reject) => {\n          axios\n            .get(`/api/v1/search`, { params })\n            .then((response) => {\n              this.userList = response.data.users.data\n              this.customerList = response.data.customers.data\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        })\n      },\n\n      setSelectAllState(data) {\n        this.selectAllField = data\n      },\n\n      selectUser(data) {\n        this.selectedUsers = data\n        if (this.selectedUsers.length === this.users.length) {\n          this.selectAllField = true\n        } else {\n          this.selectAllField = false\n        }\n      },\n\n      selectAllUsers() {\n        if (this.selectedUsers.length === this.users.length) {\n          this.selectedUsers = []\n          this.selectAllField = false\n        } else {\n          let allUserIds = this.users.map((user) => user.id)\n          this.selectedUsers = allUserIds\n          this.selectAllField = true\n        }\n      },\n    },\n  })()\n}\n"
  },
  {
    "path": "resources/scripts/admin/stub/abilities.js",
    "content": "export default {\n  DASHBOARD: 'dashboard',\n\n  // customers\n  CREATE_CUSTOMER: 'create-customer',\n  DELETE_CUSTOMER: 'delete-customer',\n  EDIT_CUSTOMER: 'edit-customer',\n  VIEW_CUSTOMER: 'view-customer',\n\n  // Items\n  CREATE_ITEM: 'create-item',\n  DELETE_ITEM: 'delete-item',\n  EDIT_ITEM: 'edit-item',\n  VIEW_ITEM: 'view-item',\n\n  // Tax Types\n  CREATE_TAX_TYPE: 'create-tax-type',\n  DELETE_TAX_TYPE: 'delete-tax-type',\n  EDIT_TAX_TYPE: 'edit-tax-type',\n  VIEW_TAX_TYPE: 'view-tax-type',\n\n  // Estimates\n  CREATE_ESTIMATE: 'create-estimate',\n  DELETE_ESTIMATE: 'delete-estimate',\n  EDIT_ESTIMATE: 'edit-estimate',\n  VIEW_ESTIMATE: 'view-estimate',\n  SEND_ESTIMATE: 'send-estimate',\n\n  // Invoices\n  CREATE_INVOICE: 'create-invoice',\n  DELETE_INVOICE: 'delete-invoice',\n  EDIT_INVOICE: 'edit-invoice',\n  VIEW_INVOICE: 'view-invoice',\n  SEND_INVOICE: 'send-invoice',\n\n  // Recurring Invoices\n  CREATE_RECURRING_INVOICE: 'create-recurring-invoice',\n  DELETE_RECURRING_INVOICE: 'delete-recurring-invoice',\n  EDIT_RECURRING_INVOICE: 'edit-recurring-invoice',\n  VIEW_RECURRING_INVOICE: 'view-recurring-invoice',\n\n  // Payment\n  CREATE_PAYMENT: 'create-payment',\n  DELETE_PAYMENT: 'delete-payment',\n  EDIT_PAYMENT: 'edit-payment',\n  VIEW_PAYMENT: 'view-payment',\n  SEND_PAYMENT: 'send-payment',\n\n  // Payment\n  CREATE_EXPENSE: 'create-expense',\n  DELETE_EXPENSE: 'delete-expense',\n  EDIT_EXPENSE: 'edit-expense',\n  VIEW_EXPENSE: 'view-expense',\n\n  // Custom fields\n  CREATE_CUSTOM_FIELDS: 'create-custom-field',\n  DELETE_CUSTOM_FIELDS: 'delete-custom-field',\n  EDIT_CUSTOM_FIELDS: 'edit-custom-field',\n  VIEW_CUSTOM_FIELDS: 'view-custom-field',\n\n  // Roles\n  CREATE_ROLE: 'create-role',\n  DELETE_ROLE: 'delete-role',\n  EDIT_ROLE: 'edit-role',\n  VIEW_ROLE: 'view-role',\n\n  // exchange rates\n  VIEW_EXCHANGE_RATE: 'view-exchange-rate-provider',\n  CREATE_EXCHANGE_RATE: 'create-exchange-rate-provider',\n  EDIT_EXCHANGE_RATE: 'edit-exchange-rate-provider',\n  DELETE_EXCHANGE_RATE: 'delete-exchange-rate-provider',\n\n  // Reports\n  VIEW_FINANCIAL_REPORT: 'view-financial-reports',\n\n  // settings\n  MANAGE_NOTE: 'manage-all-notes',\n  VIEW_NOTE: 'view-all-notes',\n}\n"
  },
  {
    "path": "resources/scripts/admin/stub/address.js",
    "content": "export default {\n  name: null,\n  phone: null,\n  address_street_1: null,\n  address_street_2: null,\n  city: null,\n  state: null,\n  country_id: null,\n  zip: null,\n  type: null,\n}\n"
  },
  {
    "path": "resources/scripts/admin/stub/custom-field.js",
    "content": "export default {\n  id: null,\n  label: null,\n  type: null,\n  name: null,\n  default_answer: null,\n  is_required: false,\n  placeholder: null,\n  model_type: null,\n  order: 1,\n  options: [],\n}\n"
  },
  {
    "path": "resources/scripts/admin/stub/customer.js",
    "content": "import addressStub from '@/scripts/admin/stub/address.js'\n\nexport default function () {\n  return {\n    name: '',\n    contact_name: '',\n    email: '',\n    phone: null,\n    password: '',\n    confirm_password:'',\n    currency_id: null,\n    website: null,\n    billing: { ...addressStub },\n    shipping: { ...addressStub },\n    customFields: [],\n    fields: [],\n    enable_portal: false,\n  }\n}\n"
  },
  {
    "path": "resources/scripts/admin/stub/estimate-item.js",
    "content": "export default {\n  estimate_id: null,\n  item_id: null,\n  name: '',\n  title: '',\n  description: null,\n  quantity: 1,\n  price: 0,\n  discount_type: 'fixed',\n  discount_val: 0,\n  discount: 0,\n  total: 0,\n  sub_total: 0,\n  totalTax: 0,\n  totalSimpleTax: 0,\n  totalCompoundTax: 0,\n  tax: 0,\n  taxes: [],\n}\n"
  },
  {
    "path": "resources/scripts/admin/stub/estimate.js",
    "content": "import Guid from 'guid'\nimport estimateItemStub from './estimate-item'\nimport taxStub from './tax'\n\nexport default function () {\n  return {\n    id: null,\n    customer: null,\n    template_name: '',\n    tax_per_item: null,\n    sales_tax_type: null,\n    sales_tax_address_type: null,\n    discount_per_item: null,\n    estimate_date: '',\n    expiry_date: '',\n    estimate_number: '',\n    customer_id: null,\n    sub_total: 0,\n    total: 0,\n    tax: 0,\n    notes: '',\n    discount_type: 'fixed',\n    discount_val: 0,\n    reference_number: null,\n    discount: 0,\n    items: [\n      {\n        ...estimateItemStub,\n        id: Guid.raw(),\n        taxes: [{ ...taxStub, id: Guid.raw() }],\n      },\n    ],\n    taxes: [],\n    customFields: [],\n    fields: [],\n    selectedNote: null,\n    selectedCurrency: '',\n  }\n}\n"
  },
  {
    "path": "resources/scripts/admin/stub/expense.js",
    "content": "import moment from 'moment'\n\nexport default {\n  expense_category_id: null,\n  expense_date: moment().format('YYYY-MM-DD'),\n  amount: 100,\n  notes: '',\n  attachment_receipt: null,\n  customer_id: '',\n  currency_id: '',\n  payment_method_id: '',\n  receiptFiles: [],\n  customFields: [],\n  fields: [],\n  in_use: false,\n  selectedCurrency: null\n}\n"
  },
  {
    "path": "resources/scripts/admin/stub/invoice-item.js",
    "content": "export default {\n  invoice_id: null,\n  item_id: null,\n  name: '',\n  title: '',\n  description: null,\n  quantity: 1,\n  price: 0,\n  discount_type: 'fixed',\n  discount_val: 0,\n  discount: 0,\n  total: 0,\n  totalTax: 0,\n  totalSimpleTax: 0,\n  totalCompoundTax: 0,\n  tax: 0,\n  taxes: [],\n}\n"
  },
  {
    "path": "resources/scripts/admin/stub/invoice.js",
    "content": "import Guid from 'guid'\nimport invoiceItemStub from './invoice-item'\nimport taxStub from './tax'\n\nexport default function () {\n  return {\n    id: null,\n    invoice_number: '',\n    customer: null,\n    customer_id: null,\n    template_name: null,\n    invoice_date: '',\n    due_date: '',\n    notes: '',\n    discount: 0,\n    discount_type: 'fixed',\n    discount_val: 0,\n    reference_number: null,\n    tax: 0,\n    sub_total: 0,\n    total: 0,\n    tax_per_item: null,\n    sales_tax_type: null,\n    sales_tax_address_type: null,\n    discount_per_item: null,\n    taxes: [],\n    items: [\n      {\n        ...invoiceItemStub,\n        id: Guid.raw(),\n        taxes: [{ ...taxStub, id: Guid.raw() }],\n      },\n    ],\n    customFields: [],\n    fields: [],\n    selectedNote: null,\n    selectedCurrency: '',\n  }\n}\n"
  },
  {
    "path": "resources/scripts/admin/stub/payment.js",
    "content": "export default {\n  maxPayableAmount: Number.MAX_SAFE_INTEGER,\n  selectedCustomer: '',\n  currency: null,\n  currency_id: '',\n  customer_id: '',\n  payment_number: '',\n  payment_date: '',\n  amount: 0,\n  invoice_id: '',\n  notes: '',\n  payment_method_id: '',\n  customFields: [],\n  fields: []\n}\n"
  },
  {
    "path": "resources/scripts/admin/stub/recurring-invoice-item.js",
    "content": "export default {\n  recurring_invoice_id: null,\n  item_id: null,\n  name: '',\n  title: '',\n  sales_tax_type: null,\n  sales_tax_address_type: null,\n  description: null,\n  quantity: 1,\n  price: 0,\n  discount_type: 'fixed',\n  discount_val: 0,\n  discount: 0,\n  total: 0,\n  totalTax: 0,\n  totalSimpleTax: 0,\n  totalCompoundTax: 0,\n  tax: 0,\n  taxes: [],\n}\n"
  },
  {
    "path": "resources/scripts/admin/stub/recurring-invoice.js",
    "content": "import Guid from 'guid'\nimport recurringInvoiceItemStub from './recurring-invoice-item'\nimport taxStub from './tax'\n\nexport default function () {\n  return {\n    currency: null,\n    customer: null,\n\n    customer_id: null,\n    invoice_template_id: 1,\n    sub_total: 0,\n    total: 0,\n    tax: 0,\n    notes: '',\n    discount_type: 'fixed',\n    discount_val: 0,\n    discount: 0,\n    starts_at: null,\n    send_automatically: true,\n    status: 'ACTIVE',\n    company_id: null,\n    next_invoice_at: null,\n    next_invoice_date: null,\n    frequency: '0 0 * * 0',\n    limit_count: null,\n    limit_by: 'NONE',\n    limit_date: null,\n    exchange_rate: null,\n    tax_per_item: null,\n    discount_per_item: null,\n    template_name: null,\n    items: [\n      {\n        ...recurringInvoiceItemStub,\n        id: Guid.raw(),\n        taxes: [{ ...taxStub, id: Guid.raw() }],\n      },\n    ],\n    taxes: [],\n    customFields: [],\n    fields: [],\n    invoices: [],\n    selectedNote: null,\n    selectedFrequency: { label: 'Every Week', value: '0 0 * * 0' },\n    selectedInvoice: null,\n  }\n}\n"
  },
  {
    "path": "resources/scripts/admin/stub/tax.js",
    "content": "export default {\n  name: '',\n  tax_type_id: 0,\n  type: 'GENERAL',\n  amount: null,\n  percent: null,\n  compound_tax: false,\n}\n"
  },
  {
    "path": "resources/scripts/admin/views/SampleTable.vue",
    "content": "<template>\n  <BasePage>\n    <h1 class=\"mb-2\">Sample Table Local</h1>\n\n    <BaseTable :data=\"data\" :columns=\"columns\">\n      <template #cell-status=\"{ row }\">\n        <span\n          v-if=\"row.data.status === 'Active'\"\n          class=\"\n            inline-flex\n            px-2\n            text-xs\n            font-semibold\n            leading-5\n            text-green-800\n            bg-green-100\n            rounded-full\n          \"\n        >\n          {{ row.data.status }}\n        </span>\n\n        <span\n          v-else\n          class=\"\n            inline-flex\n            px-2\n            text-xs\n            font-semibold\n            leading-5\n            text-red-800\n            bg-red-100\n            rounded-full\n          \"\n        >\n          {{ row.data.status }}\n        </span>\n      </template>\n\n      <template #cell-actions=\"{ row }\">\n        <base-dropdown width-class=\"w-48\" margin-class=\"mt-1\">\n          <template #activator>\n            <div class=\"flex items-center justify-center\">\n              <DotsHorizontalIcon class=\"w-6 h-6 text-gray-600\" />\n            </div>\n          </template>\n\n          <base-dropdown-item>\n            <document-text-icon\n              class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n              aria-hidden=\"true\"\n            />\n            New Invoice\n          </base-dropdown-item>\n\n          <base-dropdown-item>\n            <document-icon\n              class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n              aria-hidden=\"true\"\n            />\n            New Estimate\n          </base-dropdown-item>\n\n          <base-dropdown-item>\n            <user-icon\n              class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n              aria-hidden=\"true\"\n            />\n            New Customer\n          </base-dropdown-item>\n        </base-dropdown>\n      </template>\n    </BaseTable>\n\n    <h1 class=\"mt-8 mb-2\">Sample Table Remote</h1>\n\n    <BaseTable :data=\"fetchData\" :columns=\"columns2\"> </BaseTable>\n  </BasePage>\n</template>\n\n<script>\nimport { computed, reactive } from 'vue'\nimport { useItemStore } from '@/scripts/admin/stores/item'\nimport {\n  UserIcon,\n  DocumentIcon,\n  DocumentTextIcon,\n  DotsHorizontalIcon,\n} from '@heroicons/vue/solid'\n\nexport default {\n  components: {\n    BaseTable,\n    DotsHorizontalIcon,\n    UserIcon,\n    DocumentIcon,\n    DocumentTextIcon,\n  },\n\n  setup() {\n    const itemStore = useItemStore()\n    const data = reactive([\n      { name: 'Tom', age: 3, image: 'tom.jpg', status: 'Active' },\n      { name: 'Felix', age: 5, image: 'felix.jpg', status: 'Disabled' },\n      { name: 'Sylvester', age: 7, image: 'sylvester.jpg', status: 'Active' },\n    ])\n\n    const columns = computed(() => {\n      return [\n        {\n          key: 'name',\n          label: 'Name',\n          thClass: 'extra',\n          tdClass: 'font-medium text-gray-900',\n        },\n        { key: 'age', label: 'Age' },\n        { key: 'image', label: 'Image' },\n        { key: 'status', label: 'Status' },\n        {\n          key: 'actions',\n          label: '',\n          tdClass: 'text-right text-sm font-medium',\n          sortable: false,\n        },\n      ]\n    })\n\n    const columns2 = computed(() => {\n      return [\n        {\n          key: 'name',\n          label: 'Name',\n          thClass: 'extra',\n          tdClass: 'font-medium text-gray-900',\n        },\n        { key: 'price', label: 'Price' },\n        { key: 'created_at', label: 'Created At' },\n        {\n          key: 'actions',\n          label: '',\n          tdClass: 'text-right text-sm font-medium',\n          sortable: false,\n        },\n      ]\n    })\n\n    async function fetchData({ page, sort }) {\n      let data = {\n        orderByField: sort.fieldName || 'created_at',\n        orderBy: sort.order || 'desc',\n        page,\n      }\n\n      let response = await itemStore.fetchItems(data)\n\n      return {\n        data: response.data.items.data,\n        pagination: {\n          totalPages: response.data.items.last_page,\n          currentPage: page,\n          totalCount: response.data.itemTotalCount,\n          limit: 10,\n        },\n      }\n    }\n\n    return {\n      data,\n      columns,\n      fetchData,\n      columns2,\n    }\n  },\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/auth/ForgotPassword.vue",
    "content": "<template>\n  <form id=\"loginForm\" @submit.prevent=\"onSubmit\">\n    <BaseInputGroup\n      :error=\"v$.email.$error && v$.email.$errors[0].$message\"\n      :label=\"$t('login.enter_email')\"\n      class=\"mb-4\"\n      required\n    >\n      <BaseInput\n        v-model=\"formData.email\"\n        :invalid=\"v$.email.$error\"\n        focus\n        type=\"email\"\n        name=\"email\"\n        @input=\"v$.email.$touch()\"\n      />\n    </BaseInputGroup>\n    <BaseButton\n      :loading=\"isLoading\"\n      :disabled=\"isLoading\"\n      type=\"submit\"\n      variant=\"primary\"\n    >\n      <div v-if=\"!isSent\">\n        {{ $t('validation.send_reset_link') }}\n      </div>\n      <div v-else>\n        {{ $t('validation.not_yet') }}\n      </div>\n    </BaseButton>\n\n    <div class=\"mt-4 mb-4 text-sm\">\n      <router-link\n        to=\"/login\"\n        class=\"text-sm text-primary-400 hover:text-gray-700\"\n      >\n        {{ $t('general.back_to_login') }}\n      </router-link>\n    </div>\n  </form>\n</template>\n\n<script type=\"text/babel\" setup>\nimport axios from 'axios'\nimport { reactive, ref, computed } from 'vue'\nimport { required, email, helpers } from '@vuelidate/validators'\nimport { useVuelidate } from '@vuelidate/core'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport { useI18n } from 'vue-i18n'\nimport { handleError } from '@/scripts/helpers/error-handling'\n\nconst notificationStore = useNotificationStore()\nconst { t } = useI18n()\n\nconst formData = reactive({\n  email: '',\n})\n\nconst isSent = ref(false)\nconst isLoading = ref(false)\n\nconst rules = {\n  email: {\n    required: helpers.withMessage(t('validation.required'), required),\n    email: helpers.withMessage(t('validation.email_incorrect'), email),\n  },\n}\n\nconst v$ = useVuelidate(rules, formData)\n\nasync function onSubmit(e) {\n  v$.value.$touch()\n\n  if (!v$.value.$invalid) {\n    try {\n      isLoading.value = true\n      let res = await axios.post('/api/v1/auth/password/email', formData)\n      if (res.data) {\n        notificationStore.showNotification({\n          type: 'success',\n          message: 'Mail sent successfully',\n        })\n      }\n      isSent.value = true\n      isLoading.value = false\n    } catch (err) {\n      handleError(err)\n      isLoading.value = false\n    }\n  }\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/auth/Login.vue",
    "content": "<template>\n  <form id=\"loginForm\" class=\"mt-12 text-left\" @submit.prevent=\"onSubmit\">\n    <BaseInputGroup\n      :error=\"v$.email.$error && v$.email.$errors[0].$message\"\n      :label=\"$t('login.email')\"\n      class=\"mb-4\"\n      required\n    >\n      <BaseInput\n        v-model=\"authStore.loginData.email\"\n        :invalid=\"v$.email.$error\"\n        focus\n        type=\"email\"\n        name=\"email\"\n        @input=\"v$.email.$touch()\"\n      />\n    </BaseInputGroup>\n\n    <BaseInputGroup\n      :error=\"v$.password.$error && v$.password.$errors[0].$message\"\n      :label=\"$t('login.password')\"\n      class=\"mb-4\"\n      required\n    >\n      <BaseInput\n        v-model=\"authStore.loginData.password\"\n        :invalid=\"v$.password.$error\"\n        :type=\"getInputType\"\n        name=\"password\"\n        @input=\"v$.password.$touch()\"\n      >\n        <template #right>\n          <BaseIcon\n            v-if=\"isShowPassword\"\n            name=\"EyeOffIcon\"\n            class=\"w-5 h-5 mr-1 text-gray-500 cursor-pointer\"\n            @click=\"isShowPassword = !isShowPassword\"\n          />\n          <BaseIcon\n            v-else\n            name=\"EyeIcon\"\n            class=\"w-5 h-5 mr-1 text-gray-500 cursor-pointer\"\n            @click=\"isShowPassword = !isShowPassword\"\n          /> </template\n      ></BaseInput>\n    </BaseInputGroup>\n\n    <div class=\"mt-5 mb-8\">\n      <div class=\"mb-4\">\n        <router-link\n          to=\"forgot-password\"\n          class=\"text-sm text-primary-400 hover:text-gray-700\"\n        >\n          {{ $t('login.forgot_password') }}\n        </router-link>\n      </div>\n    </div>\n    <BaseButton :loading=\"isLoading\" type=\"submit\">\n      {{ $t('login.login') }}\n    </BaseButton>\n  </form>\n</template>\n\n<script setup>\nimport axios from 'axios'\nimport { ref, computed } from 'vue'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport { useRouter } from 'vue-router'\nimport { required, email, helpers } from '@vuelidate/validators'\nimport { useVuelidate } from '@vuelidate/core'\nimport { useI18n } from 'vue-i18n'\nimport { useAuthStore } from '@/scripts/admin/stores/auth'\nimport { handleError } from '@/scripts/helpers/error-handling'\n\nconst notificationStore = useNotificationStore()\nconst authStore = useAuthStore()\nconst { t } = useI18n()\nconst router = useRouter()\nconst isLoading = ref(false)\nlet isShowPassword = ref(false)\n\nconst rules = {\n  email: {\n    required: helpers.withMessage(t('validation.required'), required),\n    email: helpers.withMessage(t('validation.email_incorrect'), email),\n  },\n  password: {\n    required: helpers.withMessage(t('validation.required'), required),\n  },\n}\n\nconst v$ = useVuelidate(\n  rules,\n  computed(() => authStore.loginData)\n)\n\nconst getInputType = computed(() => {\n  if (isShowPassword.value) {\n    return 'text'\n  }\n  return 'password'\n})\n\nasync function onSubmit() {\n  axios.defaults.withCredentials = true\n\n  v$.value.$touch()\n\n  if (v$.value.$invalid) {\n    return true\n  }\n\n  isLoading.value = true\n\n  try {\n    isLoading.value = true\n    await authStore.login(authStore.loginData)\n\n    router.push('/admin/dashboard')\n\n    notificationStore.showNotification({\n      type: 'success',\n      message: 'Logged in successfully.',\n    })\n  } catch (error) {\n    isLoading.value = false\n  }\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/auth/ResetPassword.vue",
    "content": "<template>\n  <form id=\"loginForm\" @submit.prevent=\"onSubmit\">\n    <BaseInputGroup\n      :error=\"errorEmail\"\n      :label=\"$t('login.email')\"\n      class=\"mb-4\"\n      required\n    >\n      <BaseInput\n        v-model=\"formData.email\"\n        :invalid=\"v$.email.$error\"\n        focus\n        type=\"email\"\n        name=\"email\"\n        @input=\"v$.email.$touch()\"\n      />\n    </BaseInputGroup>\n\n    <BaseInputGroup\n      :error=\"errorPassword\"\n      :label=\"$t('login.password')\"\n      class=\"mb-4\"\n      required\n    >\n      <BaseInput\n        v-model=\"formData.password\"\n        :invalid=\"v$.password.$error\"\n        type=\"password\"\n        name=\"password\"\n        @input=\"v$.password.$touch()\"\n      />\n    </BaseInputGroup>\n\n    <BaseInputGroup\n      :error=\"errorConfirmPassword\"\n      :label=\"$t('login.retype_password')\"\n      class=\"mb-4\"\n      required\n    >\n      <BaseInput\n        v-model=\"formData.password_confirmation\"\n        :invalid=\"v$.password_confirmation.$error\"\n        type=\"password\"\n        name=\"password\"\n        @input=\"v$.password_confirmation.$touch()\"\n      />\n    </BaseInputGroup>\n\n    <BaseButton :loading=\"isLoading\" type=\"submit\" variant=\"primary\">\n      {{ $t('login.reset_password') }}\n    </BaseButton>\n  </form>\n</template>\n\n<script type=\"text/babel\" setup>\nimport { ref, computed, reactive } from 'vue'\nimport useVuelidate from '@vuelidate/core'\nimport { required, email, minLength, sameAs } from '@vuelidate/validators'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport { useRoute, useRouter } from 'vue-router'\nimport axios from 'axios'\nimport { useI18n } from 'vue-i18n'\nimport { handleError } from '@/scripts/helpers/error-handling'\n\nconst notificationStore = useNotificationStore()\nconst { t } = useI18n()\nconst route = useRoute()\nconst router = useRouter()\n\nconst formData = reactive({\n  email: '',\n  password: '',\n  password_confirmation: '',\n})\n\nconst isLoading = ref(false)\n\nconst rules = computed(() => {\n  return {\n    email: { required, email },\n    password: {\n      required,\n      minLength: minLength(8),\n    },\n    password_confirmation: {\n      sameAsPassword: sameAs(formData.password),\n    },\n  }\n})\n\nconst v$ = useVuelidate(rules, formData)\n\nconst errorEmail = computed(() => {\n  if (!v$.value.email.$error) {\n    return ''\n  }\n  if (v$.value.email.required.$invalid) {\n    return t('validation.required')\n  }\n  if (v$.value.email.email) {\n    return t('validation.email_incorrect')\n  }\n  return false\n})\n\nconst errorPassword = computed(() => {\n  if (!v$.value.password.$error) {\n    return ''\n  }\n\n  if (v$.value.password.required.$invalid) {\n    return t('validation.required')\n  }\n  if (v$.value.password.minLength) {\n    return t('validation.password_min_length', {\n      count: v$.value.password.minLength.$params.min,\n    })\n  }\n  return false\n})\n\nconst errorConfirmPassword = computed(() => {\n  if (!v$.value.password_confirmation.$error) {\n    return ''\n  }\n  if (v$.value.password_confirmation.sameAsPassword.$invalid) {\n    return t('validation.password_incorrect')\n  }\n  return false\n})\n\nasync function onSubmit(e) {\n  v$.value.$touch()\n\n  if (!v$.value.$invalid) {\n    try {\n      let data = {\n        email: formData.email,\n        password: formData.password,\n        password_confirmation: formData.password_confirmation,\n        token: route.params.token,\n      }\n      isLoading.value = true\n      let res = await axios.post('/api/v1/auth/reset/password', data)\n      isLoading.value = false\n      if (res.data) {\n        notificationStore.showNotification({\n          type: 'success',\n          message: t('login.password_reset_successfully'),\n        })\n        router.push('/login')\n      }\n    } catch (err) {\n      handleError(err)\n        isLoading.value = false\n      if (err.response && err.response.status === 403) {\n        // notificationStore.showNotification({\n        //   type: 'error',\n        //   message: t('validation.email_incorrect'),\n        // })\n      }\n    }\n  }\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/customers/Create.vue",
    "content": "<template>\n  <BasePage>\n    <form @submit.prevent=\"submitCustomerData\">\n      <BasePageHeader :title=\"pageTitle\">\n        <BaseBreadcrumb>\n          <BaseBreadcrumbItem :title=\"$t('general.home')\" to=\"dashboard\" />\n\n          <BaseBreadcrumbItem\n            :title=\"$tc('customers.customer', 2)\"\n            to=\"/admin/customers\"\n          />\n\n          <BaseBreadcrumb-item :title=\"pageTitle\" to=\"#\" active />\n        </BaseBreadcrumb>\n\n        <template #actions>\n          <div class=\"flex items-center justify-end\">\n            <BaseButton type=\"submit\" :loading=\"isSaving\" :disabled=\"isSaving\">\n              <template #left=\"slotProps\">\n                <BaseIcon name=\"SaveIcon\" :class=\"slotProps.class\" />\n              </template>\n              {{\n                isEdit\n                  ? $t('customers.update_customer')\n                  : $t('customers.save_customer')\n              }}\n            </BaseButton>\n          </div>\n        </template>\n      </BasePageHeader>\n\n      <BaseCard class=\"mt-5\">\n        <!-- Basic Info -->\n        <div class=\"grid grid-cols-5 gap-4 mb-8\">\n          <h6 class=\"col-span-5 text-lg font-semibold text-left lg:col-span-1\">\n            {{ $t('customers.basic_info') }}\n          </h6>\n\n          <BaseInputGrid class=\"col-span-5 lg:col-span-4\">\n            <BaseInputGroup\n              :label=\"$t('customers.display_name')\"\n              required\n              :error=\"\n                v$.currentCustomer.name.$error &&\n                v$.currentCustomer.name.$errors[0].$message\n              \"\n              :content-loading=\"isFetchingInitialData\"\n            >\n              <BaseInput\n                v-model=\"customerStore.currentCustomer.name\"\n                :content-loading=\"isFetchingInitialData\"\n                type=\"text\"\n                name=\"name\"\n                class=\"\"\n                :invalid=\"v$.currentCustomer.name.$error\"\n                @input=\"v$.currentCustomer.name.$touch()\"\n              />\n            </BaseInputGroup>\n\n            <BaseInputGroup\n              :label=\"$t('customers.primary_contact_name')\"\n              :content-loading=\"isFetchingInitialData\"\n            >\n              <BaseInput\n                v-model.trim=\"customerStore.currentCustomer.contact_name\"\n                :content-loading=\"isFetchingInitialData\"\n                type=\"text\"\n              />\n            </BaseInputGroup>\n\n            <BaseInputGroup\n              :error=\"\n                v$.currentCustomer.email.$error &&\n                v$.currentCustomer.email.$errors[0].$message\n              \"\n              :content-loading=\"isFetchingInitialData\"\n              :label=\"$t('customers.email')\"\n            >\n              <BaseInput\n                v-model.trim=\"customerStore.currentCustomer.email\"\n                :content-loading=\"isFetchingInitialData\"\n                type=\"text\"\n                name=\"email\"\n                :invalid=\"v$.currentCustomer.email.$error\"\n                @input=\"v$.currentCustomer.email.$touch()\"\n              />\n            </BaseInputGroup>\n\n            <BaseInputGroup\n              :label=\"$t('customers.phone')\"\n              :content-loading=\"isFetchingInitialData\"\n            >\n              <BaseInput\n                v-model.trim=\"customerStore.currentCustomer.phone\"\n                :content-loading=\"isFetchingInitialData\"\n                type=\"text\"\n                name=\"phone\"\n              />\n            </BaseInputGroup>\n\n            <BaseInputGroup\n              :label=\"$t('customers.primary_currency')\"\n              :content-loading=\"isFetchingInitialData\"\n              :error=\"\n                v$.currentCustomer.currency_id.$error &&\n                v$.currentCustomer.currency_id.$errors[0].$message\n              \"\n              required\n            >\n              <BaseMultiselect\n                v-model=\"customerStore.currentCustomer.currency_id\"\n                value-prop=\"id\"\n                label=\"name\"\n                track-by=\"name\"\n                :content-loading=\"isFetchingInitialData\"\n                :options=\"globalStore.currencies\"\n                searchable\n                :can-deselect=\"false\"\n                :placeholder=\"$t('customers.select_currency')\"\n                :invalid=\"v$.currentCustomer.currency_id.$error\"\n                class=\"w-full\"\n              >\n              </BaseMultiselect>\n            </BaseInputGroup>\n\n            <BaseInputGroup\n              :error=\"\n                v$.currentCustomer.website.$error &&\n                v$.currentCustomer.website.$errors[0].$message\n              \"\n              :label=\"$t('customers.website')\"\n              :content-loading=\"isFetchingInitialData\"\n            >\n              <BaseInput\n                v-model=\"customerStore.currentCustomer.website\"\n                :content-loading=\"isFetchingInitialData\"\n                type=\"url\"\n                @input=\"v$.currentCustomer.website.$touch()\"\n              />\n            </BaseInputGroup>\n\n            <BaseInputGroup\n              :label=\"$t('customers.prefix')\"\n              :error=\"\n                v$.currentCustomer.prefix.$error &&\n                v$.currentCustomer.prefix.$errors[0].$message\n              \"\n              :content-loading=\"isFetchingInitialData\"\n            >\n              <BaseInput\n                v-model=\"customerStore.currentCustomer.prefix\"\n                :content-loading=\"isFetchingInitialData\"\n                type=\"text\"\n                name=\"name\"\n                class=\"\"\n                :invalid=\"v$.currentCustomer.prefix.$error\"\n                @input=\"v$.currentCustomer.prefix.$touch()\"\n              />\n            </BaseInputGroup>\n          </BaseInputGrid>\n        </div>\n\n        <BaseDivider class=\"mb-5 md:mb-8\" />\n\n        <!-- Portal Access-->\n\n        <div class=\"grid grid-cols-5 gap-4 mb-8\">\n          <h6 class=\"col-span-5 text-lg font-semibold text-left lg:col-span-1\">\n            {{ $t('customers.portal_access') }}\n          </h6>\n\n          <BaseInputGrid class=\"col-span-5 lg:col-span-4\">\n            <div class=\"md:col-span-2\">\n              <p class=\"text-sm text-gray-500\">\n                {{ $t('customers.portal_access_text') }}\n              </p>\n\n              <BaseSwitch\n                v-model=\"customerStore.currentCustomer.enable_portal\"\n                class=\"mt-1 flex\"\n              />\n            </div>\n\n            <BaseInputGroup\n              v-if=\"customerStore.currentCustomer.enable_portal\"\n              :content-loading=\"isFetchingInitialData\"\n              :label=\"$t('customers.portal_access_url')\"\n              class=\"md:col-span-2\"\n              :help-text=\"$t('customers.portal_access_url_help')\"\n            >\n              <CopyInputField :token=\"getCustomerPortalUrl\" />\n            </BaseInputGroup>\n\n            <BaseInputGroup\n              v-if=\"customerStore.currentCustomer.enable_portal\"\n              :content-loading=\"isFetchingInitialData\"\n              :error=\"\n                v$.currentCustomer.password.$error &&\n                v$.currentCustomer.password.$errors[0].$message\n              \"\n              :label=\"$t('customers.password')\"\n            >\n              <BaseInput\n                v-model.trim=\"customerStore.currentCustomer.password\"\n                :content-loading=\"isFetchingInitialData\"\n                :type=\"isShowPassword ? 'text' : 'password'\"\n                name=\"password\"\n                :invalid=\"v$.currentCustomer.password.$error\"\n                @input=\"v$.currentCustomer.password.$touch()\"\n              >\n                <template #right>\n                  <BaseIcon\n                    v-if=\"isShowPassword\"\n                    name=\"EyeOffIcon\"\n                    class=\"w-5 h-5 mr-1 text-gray-500 cursor-pointer\"\n                    @click=\"isShowPassword = !isShowPassword\"\n                  />\n                  <BaseIcon\n                    v-else\n                    name=\"EyeIcon\"\n                    class=\"w-5 h-5 mr-1 text-gray-500 cursor-pointer\"\n                    @click=\"isShowPassword = !isShowPassword\"\n                  /> </template\n              ></BaseInput>\n            </BaseInputGroup>\n\n            <BaseInputGroup\n              v-if=\"customerStore.currentCustomer.enable_portal\"\n              :error=\"\n                v$.currentCustomer.confirm_password.$error &&\n                v$.currentCustomer.confirm_password.$errors[0].$message\n              \"\n              :content-loading=\"isFetchingInitialData\"\n              label=\"Confirm Password\"\n            >\n              <BaseInput\n                v-model.trim=\"customerStore.currentCustomer.confirm_password\"\n                :content-loading=\"isFetchingInitialData\"\n                :type=\"isShowConfirmPassword ? 'text' : 'password'\"\n                name=\"confirm_password\"\n                :invalid=\"v$.currentCustomer.confirm_password.$error\"\n                @input=\"v$.currentCustomer.confirm_password.$touch()\"\n              >\n                <template #right>\n                  <BaseIcon\n                    v-if=\"isShowConfirmPassword\"\n                    name=\"EyeOffIcon\"\n                    class=\"w-5 h-5 mr-1 text-gray-500 cursor-pointer\"\n                    @click=\"isShowConfirmPassword = !isShowConfirmPassword\"\n                  />\n                  <BaseIcon\n                    v-else\n                    name=\"EyeIcon\"\n                    class=\"w-5 h-5 mr-1 text-gray-500 cursor-pointer\"\n                    @click=\"isShowConfirmPassword = !isShowConfirmPassword\"\n                  /> </template\n              ></BaseInput>\n            </BaseInputGroup>\n          </BaseInputGrid>\n        </div>\n\n        <BaseDivider class=\"mb-5 md:mb-8\" />\n\n        <!-- Billing Address   -->\n        <div class=\"grid grid-cols-5 gap-4 mb-8\">\n          <h6 class=\"col-span-5 text-lg font-semibold text-left lg:col-span-1\">\n            {{ $t('customers.billing_address') }}\n          </h6>\n\n          <BaseInputGrid\n            v-if=\"customerStore.currentCustomer.billing\"\n            class=\"col-span-5 lg:col-span-4\"\n          >\n            <BaseInputGroup\n              :label=\"$t('customers.name')\"\n              :content-loading=\"isFetchingInitialData\"\n            >\n              <BaseInput\n                v-model.trim=\"customerStore.currentCustomer.billing.name\"\n                :content-loading=\"isFetchingInitialData\"\n                type=\"text\"\n                class=\"w-full\"\n                name=\"address_name\"\n              />\n            </BaseInputGroup>\n\n            <BaseInputGroup\n              :label=\"$t('customers.country')\"\n              :content-loading=\"isFetchingInitialData\"\n            >\n              <BaseMultiselect\n                v-model=\"customerStore.currentCustomer.billing.country_id\"\n                value-prop=\"id\"\n                label=\"name\"\n                track-by=\"name\"\n                resolve-on-load\n                searchable\n                :content-loading=\"isFetchingInitialData\"\n                :options=\"globalStore.countries\"\n                :placeholder=\"$t('general.select_country')\"\n                class=\"w-full\"\n              />\n            </BaseInputGroup>\n\n            <BaseInputGroup\n              :label=\"$t('customers.state')\"\n              :content-loading=\"isFetchingInitialData\"\n            >\n              <BaseInput\n                v-model=\"customerStore.currentCustomer.billing.state\"\n                :content-loading=\"isFetchingInitialData\"\n                name=\"billing.state\"\n                type=\"text\"\n              />\n            </BaseInputGroup>\n\n            <BaseInputGroup\n              :content-loading=\"isFetchingInitialData\"\n              :label=\"$t('customers.city')\"\n            >\n              <BaseInput\n                v-model=\"customerStore.currentCustomer.billing.city\"\n                :content-loading=\"isFetchingInitialData\"\n                name=\"billing.city\"\n                type=\"text\"\n              />\n            </BaseInputGroup>\n\n            <BaseInputGroup\n              :label=\"$t('customers.address')\"\n              :error=\"\n                (v$.currentCustomer.billing.address_street_1.$error &&\n                  v$.currentCustomer.billing.address_street_1.$errors[0]\n                    .$message) ||\n                (v$.currentCustomer.billing.address_street_2.$error &&\n                  v$.currentCustomer.billing.address_street_2.$errors[0]\n                    .$message)\n              \"\n              :content-loading=\"isFetchingInitialData\"\n            >\n              <BaseTextarea\n                v-model.trim=\"\n                  customerStore.currentCustomer.billing.address_street_1\n                \"\n                :content-loading=\"isFetchingInitialData\"\n                :placeholder=\"$t('general.street_1')\"\n                type=\"text\"\n                name=\"billing_street1\"\n                :container-class=\"`mt-3`\"\n                @input=\"v$.currentCustomer.billing.address_street_1.$touch()\"\n              />\n\n              <BaseTextarea\n                v-model.trim=\"\n                  customerStore.currentCustomer.billing.address_street_2\n                \"\n                :content-loading=\"isFetchingInitialData\"\n                :placeholder=\"$t('general.street_2')\"\n                type=\"text\"\n                class=\"mt-3\"\n                name=\"billing_street2\"\n                :container-class=\"`mt-3`\"\n                @input=\"v$.currentCustomer.billing.address_street_2.$touch()\"\n              />\n            </BaseInputGroup>\n\n            <div class=\"space-y-6\">\n              <BaseInputGroup\n                :content-loading=\"isFetchingInitialData\"\n                :label=\"$t('customers.phone')\"\n                class=\"text-left\"\n              >\n                <BaseInput\n                  v-model.trim=\"customerStore.currentCustomer.billing.phone\"\n                  :content-loading=\"isFetchingInitialData\"\n                  type=\"text\"\n                  name=\"phone\"\n                />\n              </BaseInputGroup>\n\n              <BaseInputGroup\n                :label=\"$t('customers.zip_code')\"\n                :content-loading=\"isFetchingInitialData\"\n                class=\"mt-2 text-left\"\n              >\n                <BaseInput\n                  v-model.trim=\"customerStore.currentCustomer.billing.zip\"\n                  :content-loading=\"isFetchingInitialData\"\n                  type=\"text\"\n                  name=\"zip\"\n                />\n              </BaseInputGroup>\n            </div>\n          </BaseInputGrid>\n        </div>\n\n        <BaseDivider class=\"mb-5 md:mb-8\" />\n\n        <!-- Billing Address Copy Button  -->\n        <div\n          class=\"flex items-center justify-start mb-6 md:justify-end md:mb-0\"\n        >\n          <div class=\"p-1\">\n            <BaseButton\n              type=\"button\"\n              :content-loading=\"isFetchingInitialData\"\n              size=\"sm\"\n              variant=\"primary-outline\"\n              @click=\"customerStore.copyAddress(true)\"\n            >\n              <template #left=\"slotProps\">\n                <BaseIcon\n                  name=\"DocumentDuplicateIcon\"\n                  :class=\"slotProps.class\"\n                />\n              </template>\n              {{ $t('customers.copy_billing_address') }}\n            </BaseButton>\n          </div>\n        </div>\n\n        <!-- Shipping Address  -->\n        <div\n          v-if=\"customerStore.currentCustomer.shipping\"\n          class=\"grid grid-cols-5 gap-4 mb-8\"\n        >\n          <h6 class=\"col-span-5 text-lg font-semibold text-left lg:col-span-1\">\n            {{ $t('customers.shipping_address') }}\n          </h6>\n\n          <BaseInputGrid class=\"col-span-5 lg:col-span-4\">\n            <BaseInputGroup\n              :content-loading=\"isFetchingInitialData\"\n              :label=\"$t('customers.name')\"\n            >\n              <BaseInput\n                v-model.trim=\"customerStore.currentCustomer.shipping.name\"\n                :content-loading=\"isFetchingInitialData\"\n                type=\"text\"\n                name=\"address_name\"\n              />\n            </BaseInputGroup>\n\n            <BaseInputGroup\n              :label=\"$t('customers.country')\"\n              :content-loading=\"isFetchingInitialData\"\n            >\n              <BaseMultiselect\n                v-model=\"customerStore.currentCustomer.shipping.country_id\"\n                value-prop=\"id\"\n                label=\"name\"\n                track-by=\"name\"\n                resolve-on-load\n                searchable\n                :content-loading=\"isFetchingInitialData\"\n                :options=\"globalStore.countries\"\n                :placeholder=\"$t('general.select_country')\"\n                class=\"w-full\"\n              />\n            </BaseInputGroup>\n\n            <BaseInputGroup\n              :label=\"$t('customers.state')\"\n              :content-loading=\"isFetchingInitialData\"\n            >\n              <BaseInput\n                v-model=\"customerStore.currentCustomer.shipping.state\"\n                :content-loading=\"isFetchingInitialData\"\n                name=\"shipping.state\"\n                type=\"text\"\n              />\n            </BaseInputGroup>\n\n            <BaseInputGroup\n              :content-loading=\"isFetchingInitialData\"\n              :label=\"$t('customers.city')\"\n            >\n              <BaseInput\n                v-model=\"customerStore.currentCustomer.shipping.city\"\n                :content-loading=\"isFetchingInitialData\"\n                name=\"shipping.city\"\n                type=\"text\"\n              />\n            </BaseInputGroup>\n\n            <BaseInputGroup\n              :label=\"$t('customers.address')\"\n              :content-loading=\"isFetchingInitialData\"\n              :error=\"\n                (v$.currentCustomer.shipping.address_street_1.$error &&\n                  v$.currentCustomer.shipping.address_street_1.$errors[0]\n                    .$message) ||\n                (v$.currentCustomer.shipping.address_street_2.$error &&\n                  v$.currentCustomer.shipping.address_street_2.$errors[0]\n                    .$message)\n              \"\n            >\n              <BaseTextarea\n                v-model.trim=\"\n                  customerStore.currentCustomer.shipping.address_street_1\n                \"\n                :content-loading=\"isFetchingInitialData\"\n                type=\"text\"\n                :placeholder=\"$t('general.street_1')\"\n                name=\"shipping_street1\"\n                @input=\"v$.currentCustomer.shipping.address_street_1.$touch()\"\n              />\n\n              <BaseTextarea\n                v-model.trim=\"\n                  customerStore.currentCustomer.shipping.address_street_2\n                \"\n                :content-loading=\"isFetchingInitialData\"\n                type=\"text\"\n                :placeholder=\"$t('general.street_2')\"\n                name=\"shipping_street2\"\n                class=\"mt-3\"\n                :container-class=\"`mt-3`\"\n                @input=\"v$.currentCustomer.shipping.address_street_2.$touch()\"\n              />\n            </BaseInputGroup>\n\n            <div class=\"space-y-6\">\n              <BaseInputGroup\n                :content-loading=\"isFetchingInitialData\"\n                :label=\"$t('customers.phone')\"\n                class=\"text-left\"\n              >\n                <BaseInput\n                  v-model.trim=\"customerStore.currentCustomer.shipping.phone\"\n                  :content-loading=\"isFetchingInitialData\"\n                  type=\"text\"\n                  name=\"phone\"\n                />\n              </BaseInputGroup>\n\n              <BaseInputGroup\n                :label=\"$t('customers.zip_code')\"\n                :content-loading=\"isFetchingInitialData\"\n                class=\"mt-2 text-left\"\n              >\n                <BaseInput\n                  v-model.trim=\"customerStore.currentCustomer.shipping.zip\"\n                  :content-loading=\"isFetchingInitialData\"\n                  type=\"text\"\n                  name=\"zip\"\n                />\n              </BaseInputGroup>\n            </div>\n          </BaseInputGrid>\n        </div>\n\n        <BaseDivider\n          v-if=\"customFieldStore.customFields.length > 0\"\n          class=\"mb-5 md:mb-8\"\n        />\n\n        <!-- Customer Custom Fields -->\n        <div class=\"grid grid-cols-5 gap-2 mb-8\">\n          <h6\n            v-if=\"customFieldStore.customFields.length > 0\"\n            class=\"col-span-5 text-lg font-semibold text-left lg:col-span-1\"\n          >\n            {{ $t('settings.custom_fields.title') }}\n          </h6>\n\n          <div class=\"col-span-5 lg:col-span-4\">\n            <CustomerCustomFields\n              type=\"Customer\"\n              :store=\"customerStore\"\n              store-prop=\"currentCustomer\"\n              :is-edit=\"isEdit\"\n              :is-loading=\"isLoadingContent\"\n              :custom-field-scope=\"customFieldValidationScope\"\n            />\n          </div>\n        </div>\n      </BaseCard>\n    </form>\n  </BasePage>\n</template>\n\n<script setup>\nimport { computed, onMounted, ref } from 'vue'\nimport { useRoute, useRouter } from 'vue-router'\nimport { useI18n } from 'vue-i18n'\nimport {\n  required,\n  minLength,\n  url,\n  maxLength,\n  helpers,\n  email,\n  sameAs,\n  requiredIf,\n} from '@vuelidate/validators'\nimport useVuelidate from '@vuelidate/core'\nimport { useCustomerStore } from '@/scripts/admin/stores/customer'\nimport { useCustomFieldStore } from '@/scripts/admin/stores/custom-field'\nimport CustomerCustomFields from '@/scripts/admin/components/custom-fields/CreateCustomFields.vue'\nimport { useGlobalStore } from '@/scripts/admin/stores/global'\nimport CopyInputField from '@/scripts/admin/components/CopyInputField.vue'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\n\nconst customerStore = useCustomerStore()\nconst customFieldStore = useCustomFieldStore()\nconst globalStore = useGlobalStore()\nconst companyStore = useCompanyStore()\n\nconst customFieldValidationScope = 'customFields'\n\nconst { t } = useI18n()\n\nconst router = useRouter()\nconst route = useRoute()\n\nlet isFetchingInitialData = ref(false)\nlet isShowPassword = ref(false)\nlet isShowConfirmPassword = ref(false)\n\nlet active = ref(false)\nconst isSaving = ref(false)\n\nconst isEdit = computed(() => route.name === 'customers.edit')\n\nlet isLoadingContent = computed(() => customerStore.isFetchingInitialSettings)\n\nconst pageTitle = computed(() =>\n  isEdit.value ? t('customers.edit_customer') : t('customers.new_customer')\n)\n\nconst rules = computed(() => {\n  return {\n    currentCustomer: {\n      name: {\n        required: helpers.withMessage(t('validation.required'), required),\n        minLength: helpers.withMessage(\n          t('validation.name_min_length', { count: 3 }),\n          minLength(3)\n        ),\n      },\n      prefix: {\n        minLength: helpers.withMessage(\n          t('validation.name_min_length', { count: 3 }),\n          minLength(3)\n        ),\n      },\n      currency_id: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n\n      email: {\n        required: helpers.withMessage(\n          t('validation.required'),\n          requiredIf(customerStore.currentCustomer.enable_portal == true)\n        ),\n        email: helpers.withMessage(t('validation.email_incorrect'), email),\n      },\n      password: {\n        required: helpers.withMessage(\n          t('validation.required'),\n          requiredIf(\n            customerStore.currentCustomer.enable_portal == true &&\n              !customerStore.currentCustomer.password_added\n          )\n        ),\n        minLength: helpers.withMessage(\n          t('validation.password_min_length', { count: 8 }),\n          minLength(8)\n        ),\n      },\n      confirm_password: {\n        sameAsPassword: helpers.withMessage(\n          t('validation.password_incorrect'),\n          sameAs(customerStore.currentCustomer.password)\n        ),\n      },\n\n      website: {\n        url: helpers.withMessage(t('validation.invalid_url'), url),\n      },\n      billing: {\n        address_street_1: {\n          maxLength: helpers.withMessage(\n            t('validation.address_maxlength', { count: 255 }),\n            maxLength(255)\n          ),\n        },\n\n        address_street_2: {\n          maxLength: helpers.withMessage(\n            t('validation.address_maxlength', { count: 255 }),\n            maxLength(255)\n          ),\n        },\n      },\n\n      shipping: {\n        address_street_1: {\n          maxLength: helpers.withMessage(\n            t('validation.address_maxlength', { count: 255 }),\n            maxLength(255)\n          ),\n        },\n\n        address_street_2: {\n          maxLength: helpers.withMessage(\n            t('validation.address_maxlength', { count: 255 }),\n            maxLength(255)\n          ),\n        },\n      },\n    },\n  }\n})\n\nconst getCustomerPortalUrl = computed(() => {\n  return `${window.location.origin}/${companyStore.selectedCompany.slug}/customer/login`\n})\n\nconst v$ = useVuelidate(rules, customerStore, {\n  $scope: customFieldValidationScope,\n})\n\ncustomerStore.resetCurrentCustomer()\n\ncustomerStore.fetchCustomerInitialSettings(isEdit.value)\n\nasync function submitCustomerData() {\n  v$.value.$touch()\n\n  if (v$.value.$invalid) {\n    return true\n  }\n\n  isSaving.value = true\n\n  let data = {\n    ...customerStore.currentCustomer,\n  }\n\n  let response = null\n\n  try {\n    const action = isEdit.value\n      ? customerStore.updateCustomer\n      : customerStore.addCustomer\n    response = await action(data)\n  } catch (err) {\n    isSaving.value = false\n    return\n  }\n\n  router.push(`/admin/customers/${response.data.data.id}/view`)\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/customers/Index.vue",
    "content": "<template>\n  <BasePage>\n    <!-- Page Header Section -->\n    <BasePageHeader :title=\"$t('customers.title')\">\n      <BaseBreadcrumb>\n        <BaseBreadcrumbItem :title=\"$t('general.home')\" to=\"dashboard\" />\n        <BaseBreadcrumbItem\n          :title=\"$tc('customers.customer', 2)\"\n          to=\"#\"\n          active\n        />\n      </BaseBreadcrumb>\n\n      <template #actions>\n        <div class=\"flex items-center justify-end space-x-5\">\n          <BaseButton\n            v-show=\"customerStore.totalCustomers\"\n            variant=\"primary-outline\"\n            @click=\"toggleFilter\"\n          >\n            {{ $t('general.filter') }}\n            <template #right=\"slotProps\">\n              <BaseIcon\n                v-if=\"!showFilters\"\n                name=\"FilterIcon\"\n                :class=\"slotProps.class\"\n              />\n              <BaseIcon v-else name=\"XIcon\" :class=\"slotProps.class\" />\n            </template>\n          </BaseButton>\n\n          <BaseButton\n            v-if=\"userStore.hasAbilities(abilities.CREATE_CUSTOMER)\"\n            @click=\"$router.push('customers/create')\"\n          >\n            <template #left=\"slotProps\">\n              <BaseIcon name=\"PlusIcon\" :class=\"slotProps.class\" />\n            </template>\n            {{ $t('customers.new_customer') }}\n          </BaseButton>\n        </div>\n      </template>\n    </BasePageHeader>\n\n    <BaseFilterWrapper :show=\"showFilters\" class=\"mt-5\" @clear=\"clearFilter\">\n      <BaseInputGroup :label=\"$t('customers.display_name')\" class=\"text-left\">\n        <BaseInput\n          v-model=\"filters.display_name\"\n          type=\"text\"\n          name=\"name\"\n          autocomplete=\"off\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup :label=\"$t('customers.contact_name')\" class=\"text-left\">\n        <BaseInput\n          v-model=\"filters.contact_name\"\n          type=\"text\"\n          name=\"address_name\"\n          autocomplete=\"off\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup :label=\"$t('customers.phone')\" class=\"text-left\">\n        <BaseInput\n          v-model=\"filters.phone\"\n          type=\"text\"\n          name=\"phone\"\n          autocomplete=\"off\"\n        />\n      </BaseInputGroup>\n    </BaseFilterWrapper>\n\n    <BaseEmptyPlaceholder\n      v-show=\"showEmptyScreen\"\n      :title=\"$t('customers.no_customers')\"\n      :description=\"$t('customers.list_of_customers')\"\n    >\n      <AstronautIcon class=\"mt-5 mb-4\" />\n\n      <template #actions>\n        <BaseButton\n          v-if=\"userStore.hasAbilities(abilities.CREATE_CUSTOMER)\"\n          variant=\"primary-outline\"\n          @click=\"$router.push('/admin/customers/create')\"\n        >\n          <template #left=\"slotProps\">\n            <BaseIcon name=\"PlusIcon\" :class=\"slotProps.class\" />\n          </template>\n          {{ $t('customers.add_new_customer') }}\n        </BaseButton>\n      </template>\n    </BaseEmptyPlaceholder>\n\n    <!-- Total no of Customers in Table -->\n    <div v-show=\"!showEmptyScreen\" class=\"relative table-container\">\n      <div class=\"relative flex items-center justify-end h-5\">\n        <BaseDropdown v-if=\"customerStore.selectedCustomers.length\">\n          <template #activator>\n            <span\n              class=\"\n                flex\n                text-sm\n                font-medium\n                cursor-pointer\n                select-none\n                text-primary-400\n              \"\n            >\n              {{ $t('general.actions') }}\n\n              <BaseIcon name=\"ChevronDownIcon\" />\n            </span>\n          </template>\n          <BaseDropdownItem @click=\"removeMultipleCustomers\">\n            <BaseIcon name=\"TrashIcon\" class=\"mr-3 text-gray-600\" />\n            {{ $t('general.delete') }}\n          </BaseDropdownItem>\n        </BaseDropdown>\n      </div>\n\n      <!-- Table Section -->\n      <BaseTable\n        ref=\"tableComponent\"\n        class=\"mt-3\"\n        :data=\"fetchData\"\n        :columns=\"customerColumns\"\n      >\n        <!-- Select All Checkbox -->\n        <template #header>\n          <div class=\"absolute z-10 items-center left-6 top-2.5 select-none\">\n            <BaseCheckbox\n              v-model=\"selectAllFieldStatus\"\n              variant=\"primary\"\n              @change=\"customerStore.selectAllCustomers\"\n            />\n          </div>\n        </template>\n\n        <template #cell-status=\"{ row }\">\n          <div class=\"relative block\">\n            <BaseCheckbox\n              :id=\"row.data.id\"\n              v-model=\"selectField\"\n              :value=\"row.data.id\"\n              variant=\"primary\"\n            />\n          </div>\n        </template>\n\n        <template #cell-name=\"{ row }\">\n          <router-link :to=\"{ path: `customers/${row.data.id}/view` }\">\n            <BaseText\n              :text=\"row.data.name\"\n              :length=\"30\"\n              tag=\"span\"\n              class=\"font-medium text-primary-500 flex flex-col\"\n            />\n            <BaseText\n              :text=\"row.data.contact_name ? row.data.contact_name : ''\"\n              :length=\"30\"\n              tag=\"span\"\n              class=\"text-xs text-gray-400\"\n            />\n          </router-link>\n        </template>\n\n        <template #cell-phone=\"{ row }\">\n          <span>\n            {{ row.data.phone ? row.data.phone : '-' }}\n          </span>\n        </template>\n\n        <template #cell-due_amount=\"{ row }\">\n          <BaseFormatMoney\n            :amount=\"row.data.due_amount || 0\"\n            :currency=\"row.data.currency\"\n          />\n        </template>\n\n        <template #cell-created_at=\"{ row }\">\n          <span>{{ row.data.formatted_created_at }}</span>\n        </template>\n\n        <template v-if=\"hasAtleastOneAbility()\" #cell-actions=\"{ row }\">\n          <CustomerDropdown\n            :row=\"row.data\"\n            :table=\"tableComponent\"\n            :load-data=\"refreshTable\"\n          />\n        </template>\n      </BaseTable>\n    </div>\n  </BasePage>\n</template>\n\n<script setup>\nimport { debouncedWatch } from '@vueuse/core'\nimport moment from 'moment'\nimport { reactive, ref, inject, computed, onUnmounted } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { useCustomerStore } from '@/scripts/admin/stores/customer'\nimport { useDialogStore } from '@/scripts/stores/dialog'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\nimport { useUserStore } from '@/scripts/admin/stores/user'\n\nimport abilities from '@/scripts/admin/stub/abilities'\n\nimport CustomerDropdown from '@/scripts/admin/components/dropdowns/CustomerIndexDropdown.vue'\nimport AstronautIcon from '@/scripts/components/icons/empty/AstronautIcon.vue'\n\nconst companyStore = useCompanyStore()\nconst dialogStore = useDialogStore()\nconst customerStore = useCustomerStore()\nconst userStore = useUserStore()\n\nlet tableComponent = ref(null)\nlet showFilters = ref(false)\nlet isFetchingInitialData = ref(true)\nconst { t } = useI18n()\n\nlet filters = reactive({\n  display_name: '',\n  contact_name: '',\n  phone: '',\n})\n\nconst showEmptyScreen = computed(\n  () => !customerStore.totalCustomers && !isFetchingInitialData.value\n)\n\nconst selectField = computed({\n  get: () => customerStore.selectedCustomers,\n  set: (value) => {\n    return customerStore.selectCustomer(value)\n  },\n})\n\nconst selectAllFieldStatus = computed({\n  get: () => customerStore.selectAllField,\n  set: (value) => {\n    return customerStore.setSelectAllState(value)\n  },\n})\n\nconst customerColumns = computed(() => {\n  return [\n    {\n      key: 'status',\n      thClass: 'extra w-10 pr-0',\n      sortable: false,\n      tdClass: 'font-medium text-gray-900 pr-0',\n    },\n    {\n      key: 'name',\n      label: t('customers.name'),\n      thClass: 'extra',\n      tdClass: 'font-medium text-gray-900',\n    },\n    { key: 'phone', label: t('customers.phone') },\n    { key: 'due_amount', label: t('customers.amount_due') },\n    {\n      key: 'created_at',\n      label: t('items.added_on'),\n    },\n    {\n      key: 'actions',\n      tdClass: 'text-right text-sm font-medium pl-0',\n      thClass: 'pl-0',\n      sortable: false,\n    },\n  ]\n})\n\ndebouncedWatch(\n  filters,\n  () => {\n    setFilters()\n  },\n  { debounce: 500 }\n)\n\nonUnmounted(() => {\n  if (customerStore.selectAllField) {\n    customerStore.selectAllCustomers()\n  }\n})\n\nfunction refreshTable() {\n  tableComponent.value.refresh()\n}\n\nfunction setFilters() {\n  refreshTable()\n}\n\nfunction hasAtleastOneAbility() {\n  return userStore.hasAbilities([\n    abilities.DELETE_CUSTOMER,\n    abilities.EDIT_CUSTOMER,\n    abilities.VIEW_CUSTOMER,\n  ])\n}\n\nasync function fetchData({ page, filter, sort }) {\n  let data = {\n    display_name: filters.display_name,\n    contact_name: filters.contact_name,\n    phone: filters.phone,\n    orderByField: sort.fieldName || 'created_at',\n    orderBy: sort.order || 'desc',\n    page,\n  }\n\n  isFetchingInitialData.value = true\n  let response = await customerStore.fetchCustomers(data)\n  isFetchingInitialData.value = false\n  return {\n    data: response.data.data,\n    pagination: {\n      totalPages: response.data.meta.last_page,\n      currentPage: page,\n      totalCount: response.data.meta.total,\n      limit: 10,\n    },\n  }\n}\n\nfunction clearFilter() {\n  filters.display_name = ''\n  filters.contact_name = ''\n  filters.phone = ''\n}\n\nfunction toggleFilter() {\n  if (showFilters.value) {\n    clearFilter()\n  }\n\n  showFilters.value = !showFilters.value\n}\n\nlet date = ref(new Date())\n\ndate.value = moment(date).format('YYYY-MM-DD')\n\nfunction removeMultipleCustomers() {\n  dialogStore\n    .openDialog({\n      title: t('general.are_you_sure'),\n      message: t('customers.confirm_delete', 2),\n      yesLabel: t('general.ok'),\n      noLabel: t('general.cancel'),\n      variant: 'danger',\n      hideNoButton: false,\n      size: 'lg',\n    })\n    .then((res) => {\n      if (res) {\n        customerStore.deleteMultipleCustomers().then((response) => {\n          if (response.data) {\n            refreshTable()\n          }\n        })\n      }\n    })\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/customers/View.vue",
    "content": "<template>\n  <BasePage class=\"xl:pl-96\">\n    <BasePageHeader :title=\"pageTitle\">\n      <template #actions>\n        <router-link\n          v-if=\"userStore.hasAbilities(abilities.EDIT_CUSTOMER)\"\n          :to=\"`/admin/customers/${route.params.id}/edit`\"\n        >\n          <BaseButton\n            class=\"mr-3\"\n            variant=\"primary-outline\"\n            :content-loading=\"isLoading\"\n          >\n            {{ $t('general.edit') }}\n          </BaseButton>\n        </router-link>\n\n        <BaseDropdown\n          v-if=\"canCreateTransaction()\"\n          position=\"bottom-end\"\n          :content-loading=\"isLoading\"\n        >\n          <template #activator>\n            <BaseButton\n              class=\"mr-3\"\n              variant=\"primary\"\n              :content-loading=\"isLoading\"\n            >\n              {{ $t('customers.new_transaction') }}\n            </BaseButton>\n          </template>\n\n          <router-link\n            v-if=\"userStore.hasAbilities(abilities.CREATE_ESTIMATE)\"\n            :to=\"`/admin/estimates/create?customer=${$route.params.id}`\"\n          >\n            <BaseDropdownItem class=\"\">\n              <BaseIcon name=\"DocumentIcon\" class=\"mr-3 text-gray-600\" />\n              {{ $t('estimates.new_estimate') }}\n            </BaseDropdownItem>\n          </router-link>\n\n          <router-link\n            v-if=\"userStore.hasAbilities(abilities.CREATE_INVOICE)\"\n            :to=\"`/admin/invoices/create?customer=${$route.params.id}`\"\n          >\n            <BaseDropdownItem>\n              <BaseIcon name=\"DocumentTextIcon\" class=\"mr-3 text-gray-600\" />\n              {{ $t('invoices.new_invoice') }}\n            </BaseDropdownItem>\n          </router-link>\n\n          <router-link\n            v-if=\"userStore.hasAbilities(abilities.CREATE_PAYMENT)\"\n            :to=\"`/admin/payments/create?customer=${$route.params.id}`\"\n          >\n            <BaseDropdownItem>\n              <BaseIcon name=\"CreditCardIcon\" class=\"mr-3 text-gray-600\" />\n              {{ $t('payments.new_payment') }}\n            </BaseDropdownItem>\n          </router-link>\n\n          <router-link\n            v-if=\"userStore.hasAbilities(abilities.CREATE_EXPENSE)\"\n            :to=\"`/admin/expenses/create?customer=${$route.params.id}`\"\n          >\n            <BaseDropdownItem>\n              <BaseIcon name=\"CalculatorIcon\" class=\"mr-3 text-gray-600\" />\n              {{ $t('expenses.new_expense') }}\n            </BaseDropdownItem>\n          </router-link>\n        </BaseDropdown>\n\n        <CustomerDropdown\n          v-if=\"hasAtleastOneAbility()\"\n          :class=\"{\n            'ml-3': isLoading,\n          }\"\n          :row=\"customerStore.selectedViewCustomer\"\n          :load-data=\"refreshData\"\n        />\n      </template>\n    </BasePageHeader>\n\n    <!-- Customer View Sidebar -->\n    <CustomerViewSidebar />\n\n    <!-- Chart -->\n    <CustomerChart />\n  </BasePage>\n</template>\n\n<script setup>\nimport CustomerViewSidebar from './partials/CustomerViewSidebar.vue'\nimport CustomerChart from './partials/CustomerChart.vue'\nimport { ref, computed, inject } from 'vue'\nimport { useRouter, useRoute } from 'vue-router'\nimport { useI18n } from 'vue-i18n'\nimport { useCustomerStore } from '@/scripts/admin/stores/customer'\nimport { useDialogStore } from '@/scripts/stores/dialog'\nimport { useUserStore } from '@/scripts/admin/stores/user'\nimport CustomerDropdown from '@/scripts/admin/components/dropdowns/CustomerIndexDropdown.vue'\nimport abilities from '@/scripts/admin/stub/abilities'\n\nconst utils = inject('utils')\nconst dialogStore = useDialogStore()\nconst customerStore = useCustomerStore()\nconst userStore = useUserStore()\nconst { t } = useI18n()\n\nconst router = useRouter()\nconst route = useRoute()\nconst customer = ref(null)\n\nconst pageTitle = computed(() => {\n  return customerStore.selectedViewCustomer.customer\n    ? customerStore.selectedViewCustomer.customer.name\n    : ''\n})\n\nlet isLoading = computed(() => {\n  return customerStore.isFetchingViewData\n})\n\nfunction canCreateTransaction() {\n  return userStore.hasAbilities([\n    abilities.CREATE_ESTIMATE,\n    abilities.CREATE_INVOICE,\n    abilities.CREATE_PAYMENT,\n    abilities.CREATE_EXPENSE,\n  ])\n}\n\nfunction hasAtleastOneAbility() {\n  return userStore.hasAbilities([\n    abilities.DELETE_CUSTOMER,\n    abilities.EDIT_CUSTOMER,\n  ])\n}\n\nfunction refreshData() {\n  router.push('/admin/customers')\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/customers/partials/CustomerChart.vue",
    "content": "<template>\n  <BaseCard class=\"flex flex-col mt-6\">\n    <ChartPlaceholder v-if=\"customerStore.isFetchingViewData\" />\n\n    <div v-else class=\"grid grid-cols-12\">\n      <div class=\"col-span-12 xl:col-span-9 xxl:col-span-10\">\n        <div class=\"flex justify-between mt-1 mb-6\">\n          <h6 class=\"flex items-center\">\n            <BaseIcon name=\"ChartSquareBarIcon\" class=\"h-5 text-primary-400\" />\n            {{ $t('dashboard.monthly_chart.title') }}\n          </h6>\n\n          <div class=\"w-40 h-10\">\n            <BaseMultiselect\n              v-model=\"selectedYear\"\n              :options=\"years\"\n              :allow-empty=\"false\"\n              :show-labels=\"false\"\n              :placeholder=\"$t('dashboard.select_year')\"\n              :can-deselect=\"false\"\n              @select=\"onChangeYear\"\n            />\n          </div>\n        </div>\n\n        <LineChart\n          v-if=\"isLoading\"\n          :invoices=\"getChartInvoices\"\n          :expenses=\"getChartExpenses\"\n          :receipts=\"getReceiptTotals\"\n          :income=\"getNetProfits\"\n          :labels=\"getChartMonths\"\n          class=\"sm:w-full\"\n        />\n      </div>\n\n      <div\n        class=\"\n          grid\n          col-span-12\n          mt-6\n          text-center\n          xl:mt-0\n          sm:grid-cols-4\n          xl:text-right xl:col-span-3 xl:grid-cols-1\n          xxl:col-span-2\n        \"\n      >\n        <div class=\"px-6 py-2\">\n          <span class=\"text-xs leading-5 lg:text-sm\">\n            {{ $t('dashboard.chart_info.total_sales') }}\n          </span>\n          <br />\n          <span\n            v-if=\"isLoading\"\n            class=\"block mt-1 text-xl font-semibold leading-8\"\n          >\n            <BaseFormatMoney\n              :amount=\"chartData.salesTotal\"\n              :currency=\"data.currency\"\n            />\n          </span>\n        </div>\n\n        <div class=\"px-6 py-2\">\n          <span class=\"text-xs leading-5 lg:text-sm\">\n            {{ $t('dashboard.chart_info.total_receipts') }}\n          </span>\n          <br />\n\n          <span\n            v-if=\"isLoading\"\n            class=\"block mt-1 text-xl font-semibold leading-8\"\n            style=\"color: #00c99c\"\n          >\n            <BaseFormatMoney\n              :amount=\"chartData.totalExpenses\"\n              :currency=\"data.currency\"\n            />\n          </span>\n        </div>\n\n        <div class=\"px-6 py-2\">\n          <span class=\"text-xs leading-5 lg:text-sm\">\n            {{ $t('dashboard.chart_info.total_expense') }}\n          </span>\n          <br />\n          <span\n            v-if=\"isLoading\"\n            class=\"block mt-1 text-xl font-semibold leading-8\"\n            style=\"color: #fb7178\"\n          >\n            <BaseFormatMoney\n              :amount=\"chartData.totalExpenses\"\n              :currency=\"data.currency\"\n            />\n          </span>\n        </div>\n\n        <div class=\"px-6 py-2\">\n          <span class=\"text-xs leading-5 lg:text-sm\">\n            {{ $t('dashboard.chart_info.net_income') }}\n          </span>\n          <br />\n          <span\n            v-if=\"isLoading\"\n            class=\"block mt-1 text-xl font-semibold leading-8\"\n            style=\"color: #5851d8\"\n          >\n            <BaseFormatMoney\n              :amount=\"chartData.netProfit\"\n              :currency=\"data.currency\"\n            />\n          </span>\n        </div>\n      </div>\n    </div>\n\n    <CustomerInfo />\n  </BaseCard>\n</template>\n\n<script setup>\nimport CustomerInfo from './CustomerInfo.vue'\nimport LineChart from '@/scripts/admin/components/charts/LineChart.vue'\nimport { ref, computed, watch, reactive, inject } from 'vue'\nimport { useCustomerStore } from '@/scripts/admin/stores/customer'\nimport { useRoute } from 'vue-router'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\nimport ChartPlaceholder from './CustomerChartPlaceholder.vue'\n\nconst companyStore = useCompanyStore()\nconst customerStore = useCustomerStore()\nconst utils = inject('utils')\n\nconst route = useRoute()\n\nlet isLoading = ref(false)\nlet chartData = reactive({})\nlet data = reactive({})\nlet years = reactive(['This year', 'Previous year'])\nlet selectedYear = ref('This year')\n\nconst getChartExpenses = computed(() => {\n  if (chartData.expenseTotals) {\n    return chartData.expenseTotals\n  }\n  return []\n})\n\nconst getNetProfits = computed(() => {\n  if (chartData.netProfits) {\n    return chartData.netProfits\n  }\n  return []\n})\n\nconst getChartMonths = computed(() => {\n  if (chartData && chartData.months) {\n    return chartData.months\n  }\n  return []\n})\n\nconst getReceiptTotals = computed(() => {\n  if (chartData.receiptTotals) {\n    return chartData.receiptTotals\n  }\n  return []\n})\n\nconst getChartInvoices = computed(() => {\n  if (chartData.invoiceTotals) {\n    return chartData.invoiceTotals\n  }\n\n  return []\n})\n\nwatch(\n  route,\n  () => {\n    if (route.params.id) {\n      loadCustomer()\n    }\n    selectedYear.value = 'This year'\n  },\n  { immediate: true }\n)\n\nasync function loadCustomer() {\n  isLoading.value = false\n  let response = await customerStore.fetchViewCustomer({\n    id: route.params.id,\n  })\n\n  if (response.data) {\n    Object.assign(chartData, response.data.meta.chartData)\n    Object.assign(data, response.data.data)\n  }\n\n  isLoading.value = true\n}\n\nasync function onChangeYear(data) {\n  let params = {\n    id: route.params.id,\n  }\n\n  data === 'Previous year'\n    ? (params.previous_year = true)\n    : (params.this_year = true)\n\n  let response = await customerStore.fetchViewCustomer(params)\n\n  if (response.data.meta.chartData) {\n    Object.assign(chartData, response.data.meta.chartData)\n  }\n\n  return true\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/customers/partials/CustomerChartPlaceholder.vue",
    "content": "<template>\n  <BaseContentPlaceholders class=\"grid grid-cols-12\">\n    <div class=\"col-span-12 xl:col-span-9 xxl:col-span-10\">\n      <div class=\"flex justify-between mt-1 mb-6\">\n        <BaseContentPlaceholdersText class=\"h-10 w-36\" :lines=\"1\" />\n        <BaseContentPlaceholdersText class=\"h-10 w-40 !mt-0\" :lines=\"1\" />\n      </div>\n      <BaseContentPlaceholdersBox class=\"h-80 xl:h-72 sm:w-full\" />\n    </div>\n\n    <div\n      class=\"\n        grid\n        col-span-12\n        mt-6\n        text-center\n        xl:mt-0\n        sm:grid-cols-4\n        xl:text-right xl:col-span-3 xl:grid-cols-1\n        xxl:col-span-2\n      \"\n    >\n      <div\n        class=\"\n          flex flex-col\n          items-center\n          justify-center\n          px-6\n          py-2\n          lg:justify-end lg:items-end\n        \"\n      >\n        <BaseContentPlaceholdersText class=\"h-3 w-14 xl:h-4\" :lines=\"1\" />\n        <BaseContentPlaceholdersText class=\"w-20 h-5 xl:h-6\" :lines=\"1\" />\n      </div>\n      <div\n        class=\"\n          flex flex-col\n          items-center\n          justify-center\n          px-6\n          py-2\n          lg:justify-end lg:items-end\n        \"\n      >\n        <BaseContentPlaceholdersText class=\"h-3 w-14 xl:h-4\" :lines=\"1\" />\n        <BaseContentPlaceholdersText class=\"w-20 h-5 xl:h-6\" :lines=\"1\" />\n      </div>\n\n      <div\n        class=\"\n          flex flex-col\n          items-center\n          justify-center\n          px-6\n          py-2\n          lg:justify-end lg:items-end\n        \"\n      >\n        <BaseContentPlaceholdersText class=\"h-3 w-14 xl:h-4\" :lines=\"1\" />\n        <BaseContentPlaceholdersText class=\"w-20 h-5 xl:h-6\" :lines=\"1\" />\n      </div>\n\n      <div\n        class=\"\n          flex flex-col\n          items-center\n          justify-center\n          px-6\n          py-2\n          lg:justify-end lg:items-end\n        \"\n      >\n        <BaseContentPlaceholdersText class=\"h-3 w-14 xl:h-4\" :lines=\"1\" />\n        <BaseContentPlaceholdersText class=\"w-20 h-5 xl:h-6\" :lines=\"1\" />\n      </div>\n    </div>\n  </BaseContentPlaceholders>\n</template>\n"
  },
  {
    "path": "resources/scripts/admin/views/customers/partials/CustomerInfo.vue",
    "content": "<template>\n  <div class=\"pt-6 mt-5 border-t border-solid lg:pt-8 md:pt-4 border-gray-200\">\n    <!-- Basic Info -->\n    <BaseHeading>\n      {{ $t('customers.basic_info') }}\n    </BaseHeading>\n\n    <BaseDescriptionList>\n      <BaseDescriptionListItem\n        :content-loading=\"contentLoading\"\n        :label=\"$t('customers.display_name')\"\n        :value=\"selectedViewCustomer?.name\"\n      />\n\n      <BaseDescriptionListItem\n        :content-loading=\"contentLoading\"\n        :label=\"$t('customers.primary_contact_name')\"\n        :value=\"selectedViewCustomer?.contact_name\"\n      />\n      <BaseDescriptionListItem\n        :content-loading=\"contentLoading\"\n        :label=\"$t('customers.email')\"\n        :value=\"selectedViewCustomer?.email\"\n      />\n    </BaseDescriptionList>\n\n    <BaseDescriptionList class=\"mt-5\">\n      <BaseDescriptionListItem\n        :content-loading=\"contentLoading\"\n        :label=\"$t('wizard.currency')\"\n        :value=\"\n          selectedViewCustomer?.currency\n            ? `${selectedViewCustomer?.currency?.code} (${selectedViewCustomer?.currency?.symbol})`\n            : ''\n        \"\n      />\n\n      <BaseDescriptionListItem\n        :content-loading=\"contentLoading\"\n        :label=\"$t('customers.phone_number')\"\n        :value=\"selectedViewCustomer?.phone\"\n      />\n      <BaseDescriptionListItem\n        :content-loading=\"contentLoading\"\n        :label=\"$t('customers.website')\"\n        :value=\"selectedViewCustomer?.website\"\n      />\n    </BaseDescriptionList>\n\n    <!-- Address -->\n    <BaseHeading\n      v-if=\"selectedViewCustomer.billing || selectedViewCustomer.shipping\"\n      class=\"mt-8\"\n    >\n      {{ $t('customers.address') }}\n    </BaseHeading>\n\n    <BaseDescriptionList class=\"mt-5\">\n      <BaseDescriptionListItem\n        v-if=\"selectedViewCustomer.billing\"\n        :content-loading=\"contentLoading\"\n        :label=\"$t('customers.billing_address')\"\n      >\n        <BaseCustomerAddressDisplay :address=\"selectedViewCustomer.billing\" />\n      </BaseDescriptionListItem>\n\n      <BaseDescriptionListItem\n        v-if=\"selectedViewCustomer.shipping\"\n        :content-loading=\"contentLoading\"\n        :label=\"$t('customers.shipping_address')\"\n      >\n        <BaseCustomerAddressDisplay :address=\"selectedViewCustomer.shipping\" />\n      </BaseDescriptionListItem>\n    </BaseDescriptionList>\n\n    <!-- Custom Fields -->\n    <BaseHeading v-if=\"customerCustomFields.length > 0\" class=\"mt-8\">\n      {{ $t('settings.custom_fields.title') }}\n    </BaseHeading>\n\n    <BaseDescriptionList class=\"mt-5\">\n      <BaseDescriptionListItem\n        v-for=\"(field, index) in customerCustomFields\"\n        :key=\"index\"\n        :content-loading=\"contentLoading\"\n        :label=\"field.custom_field.label\"\n      >\n        <p\n          v-if=\"field.type === 'Switch'\"\n          class=\"text-sm font-bold leading-5 text-black non-italic\"\n        >\n          <span v-if=\"field.default_answer === 1\"> Yes </span>\n          <span v-else> No </span>\n        </p>\n        <p v-else class=\"text-sm font-bold leading-5 text-black non-italic\">\n          {{ field.default_answer }}\n        </p>\n      </BaseDescriptionListItem>\n    </BaseDescriptionList>\n  </div>\n</template>\n\n<script setup>\nimport { computed } from 'vue'\nimport { useCustomerStore } from '@/scripts/admin/stores/customer'\n\nconst customerStore = useCustomerStore()\n\nconst selectedViewCustomer = computed(() => customerStore.selectedViewCustomer)\n\nconst contentLoading = computed(() => customerStore.isFetchingViewData)\n\nconst customerCustomFields = computed(() => {\n  if (selectedViewCustomer?.value?.fields) {\n    return selectedViewCustomer?.value?.fields\n  }\n  return []\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/customers/partials/CustomerViewSidebar.vue",
    "content": "<template>\n  <div\n    class=\"\n      fixed\n      top-0\n      left-0\n      hidden\n      h-full\n      pt-16\n      pb-[6.6rem]\n      ml-56\n      bg-white\n      xl:ml-64\n      w-88\n      xl:block\n    \"\n  >\n    <div\n      class=\"\n        flex\n        items-center\n        justify-between\n        px-4\n        pt-8\n        pb-2\n        border border-gray-200 border-solid\n        height-full\n      \"\n    >\n      <BaseInput\n        v-model=\"searchData.searchText\"\n        :placeholder=\"$t('general.search')\"\n        container-class=\"mb-6\"\n        type=\"text\"\n        variant=\"gray\"\n        @input=\"onSearch()\"\n      >\n        <BaseIcon name=\"SearchIcon\" class=\"text-gray-500\" />\n      </BaseInput>\n\n      <div class=\"flex mb-6 ml-3\" role=\"group\" aria-label=\"First group\">\n        <BaseDropdown\n          :close-on-select=\"false\"\n          position=\"bottom-start\"\n          width-class=\"w-40\"\n          position-class=\"left-0\"\n        >\n          <template #activator>\n            <BaseButton variant=\"gray\">\n              <BaseIcon name=\"FilterIcon\" />\n            </BaseButton>\n          </template>\n\n          <div\n            class=\"\n              px-4\n              py-3\n              pb-2\n              mb-2\n              text-sm\n              border-b border-gray-200 border-solid\n            \"\n          >\n            {{ $t('general.sort_by') }}\n          </div>\n\n          <div class=\"px-2\">\n            <BaseDropdownItem\n              class=\"flex px-1 py-2 mt-1 cursor-pointer hover:rounded-md\"\n            >\n              <BaseInputGroup class=\"pt-2 -mt-4\">\n                <BaseRadio\n                  id=\"filter_create_date\"\n                  v-model=\"searchData.orderByField\"\n                  :label=\"$t('customers.create_date')\"\n                  size=\"sm\"\n                  name=\"filter\"\n                  value=\"invoices.created_at\"\n                  @update:modelValue=\"onSearch\"\n                />\n              </BaseInputGroup>\n            </BaseDropdownItem>\n          </div>\n\n          <div class=\"px-2\">\n            <BaseDropdownItem class=\"flex px-1 cursor-pointer hover:rounded-md\">\n              <BaseInputGroup class=\"pt-2 -mt-4\">\n                <BaseRadio\n                  id=\"filter_display_name\"\n                  v-model=\"searchData.orderByField\"\n                  :label=\"$t('customers.display_name')\"\n                  size=\"sm\"\n                  name=\"filter\"\n                  value=\"name\"\n                  @update:modelValue=\"onSearch\"\n                />\n              </BaseInputGroup>\n            </BaseDropdownItem>\n          </div>\n        </BaseDropdown>\n\n        <BaseButton class=\"ml-1\" size=\"md\" variant=\"gray\" @click=\"sortData\">\n          <BaseIcon v-if=\"getOrderBy\" name=\"SortAscendingIcon\" />\n          <BaseIcon v-else name=\"SortDescendingIcon\" />\n        </BaseButton>\n      </div>\n    </div>\n\n    <div\n      ref=\"customerListSection\"\n      class=\"\n        h-full\n        overflow-y-scroll\n        border-l border-gray-200 border-solid\n        sidebar\n        base-scroll\n      \"\n    >\n      <div v-for=\"(customer, index) in customerList\" :key=\"index\">\n        <router-link\n          v-if=\"customer\"\n          :id=\"'customer-' + customer.id\"\n          :to=\"`/admin/customers/${customer.id}/view`\"\n          :class=\"[\n            'flex justify-between p-4 items-center cursor-pointer hover:bg-gray-100 border-l-4 border-transparent',\n            {\n              'bg-gray-100 border-l-4 border-primary-500 border-solid':\n                hasActiveUrl(customer.id),\n            },\n          ]\"\n          style=\"border-top: 1px solid rgba(185, 193, 209, 0.41)\"\n        >\n          <div>\n            <BaseText\n              :text=\"customer.name\"\n              :length=\"30\"\n              class=\"\n                pr-2\n                text-sm\n                not-italic\n                font-normal\n                leading-5\n                text-black\n                capitalize\n                truncate\n              \"\n            />\n\n            <BaseText\n              v-if=\"customer.contact_name\"\n              :text=\"customer.contact_name\"\n              :length=\"30\"\n              class=\"\n                mt-1\n                text-xs\n                not-italic\n                font-medium\n                leading-5\n                text-gray-600\n              \"\n            />\n          </div>\n          <div class=\"flex-1 font-bold text-right whitespace-nowrap\">\n            <BaseFormatMoney\n              :amount=\"customer.due_amount!==null ? customer.due_amount : 0\"\n              :currency=\"customer.currency\"\n            />\n          </div>\n        </router-link>\n      </div>\n      <div v-if=\"isFetching\" class=\"flex justify-center p-4 items-center\">\n        <LoadingIcon\n          class=\"h-6 m-1 animate-spin text-primary-400\"\n        />\n      </div>\n      <p\n        v-if=\"!customerList?.length && !isFetching\"\n        class=\"flex justify-center px-4 mt-5 text-sm text-gray-600\"\n      >\n        {{ $t('customers.no_matching_customers') }}\n      </p>\n    </div>\n  </div>\n</template>\n\n<script setup>\nimport { computed, ref, reactive } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { useRoute } from 'vue-router'\nimport { useCustomerStore } from '@/scripts/admin/stores/customer'\nimport LoadingIcon from '@/scripts/components/icons/LoadingIcon.vue'\nimport { debounce } from 'lodash'\n\nconst customerStore = useCustomerStore()\nconst route = useRoute()\nconst { t } = useI18n()\n\nlet isFetching = ref(false)\n\nlet searchData = reactive({\n  orderBy: null,\n  orderByField: null,\n  searchText: null,\n})\n\nconst customerList = ref(null)\nconst currentPageNumber = ref(1)\nconst lastPageNumber = ref(1)\nconst customerListSection = ref(null)\n\nonSearch = debounce(onSearch, 500)\n\nconst getOrderBy = computed(() => {\n  if (searchData.orderBy === 'asc' || searchData.orderBy == null) {\n    return true\n  }\n  return false\n})\n\nconst getOrderName = computed(() =>\n  getOrderBy.value ? t('general.ascending') : t('general.descending')\n)\n\nfunction hasActiveUrl(id) {\n  return route.params.id == id\n}\n\nasync function loadCustomers(pageNumber, fromScrollListener = false) {\n  if (isFetching.value) {\n    return\n  }\n\n  let params = {}\n  if (\n    searchData.searchText !== '' &&\n    searchData.searchText !== null &&\n    searchData.searchText !== undefined\n  ) {\n    params.display_name = searchData.searchText\n  }\n\n  if (searchData.orderBy !== null && searchData.orderBy !== undefined) {\n    params.orderBy = searchData.orderBy\n  }\n\n  if (\n    searchData.orderByField !== null &&\n    searchData.orderByField !== undefined\n  ) {\n    params.orderByField = searchData.orderByField\n  }\n\n  isFetching.value = true\n  let response = await customerStore.fetchCustomers({\n    page: pageNumber,\n    ...params,\n    limit: 15\n  })\n  isFetching.value = false\n\n  customerList.value = customerList.value ? customerList.value : []\n  customerList.value = [...customerList.value, ...response.data.data]\n\n  currentPageNumber.value = pageNumber ? pageNumber : 1\n  lastPageNumber.value = response.data.meta.last_page\n  let customerFound = customerList.value.find(\n    (cust) => cust.id == route.params.id\n  )\n\n  if (\n    fromScrollListener == false &&\n    !customerFound &&\n    currentPageNumber.value < lastPageNumber.value &&\n    Object.keys(params).length === 0\n  ) {\n    loadCustomers(++currentPageNumber.value)\n  }\n\n  if (customerFound) {\n    setTimeout(() => {\n      if (fromScrollListener == false) {\n        scrollToCustomer()\n      }\n    }, 500)\n  }\n}\n\nfunction scrollToCustomer() {\n  const el = document.getElementById(`customer-${route.params.id}`)\n\n  if (el) {\n    el.scrollIntoView({ behavior: 'smooth' })\n    el.classList.add('shake')\n    addScrollListener()\n  }\n}\n\nfunction addScrollListener() {\n  customerListSection.value.addEventListener('scroll', (ev) => {\n    if (\n      ev.target.scrollTop > 0 &&\n      ev.target.scrollTop + ev.target.clientHeight >\n        ev.target.scrollHeight - 200\n    ) {\n      if (currentPageNumber.value < lastPageNumber.value) {\n        loadCustomers(++currentPageNumber.value, true)\n      }\n    }\n  })\n}\n\nasync function onSearch() {\n  customerList.value = []\n  loadCustomers()\n}\n\nfunction sortData() {\n  if (searchData.orderBy === 'asc') {\n    searchData.orderBy = 'desc'\n    onSearch()\n    return true\n  }\n  searchData.orderBy = 'asc'\n  onSearch()\n  return true\n}\n\nloadCustomers()\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/dashboard/Dashboard.vue",
    "content": "<script setup>\nimport DashboardStats from '../dashboard/DashboardStats.vue'\nimport DashboardChart from '../dashboard/DashboardChart.vue'\nimport DashboardTable from '../dashboard/DashboardTable.vue'\nimport { useUserStore } from '@/scripts/admin/stores/user'\nimport { onMounted } from 'vue'\nimport { useRoute, useRouter } from 'vue-router'\n\nconst route = useRoute()\nconst userStore = useUserStore()\nconst router = useRouter()\n\nonMounted(() => {\n  if (route.meta.ability && !userStore.hasAbilities(route.meta.ability)) {\n    router.push({ name: 'account.settings' })\n  } else if (route.meta.isOwner && !userStore.currentUser.is_owner) {\n    router.push({ name: 'account.settings' })\n  }\n})\n</script>\n\n<template>\n  <BasePage>\n    <DashboardStats />\n    <DashboardChart />\n    <DashboardTable />\n  </BasePage>\n</template>\n"
  },
  {
    "path": "resources/scripts/admin/views/dashboard/DashboardChart.vue",
    "content": "<template>\n  <div>\n    <div\n      v-if=\"dashboardStore.isDashboardDataLoaded\"\n      class=\"grid grid-cols-10 mt-8 bg-white rounded shadow\"\n    >\n      <!-- Chart -->\n      <div\n        class=\"\n          grid grid-cols-1\n          col-span-10\n          px-4\n          py-5\n          lg:col-span-7\n          xl:col-span-8\n          sm:p-6\n        \"\n      >\n        <div class=\"flex justify-between mt-1 mb-4 flex-col md:flex-row\">\n          <h6 class=\"flex items-center sw-section-title h-10\">\n            <BaseIcon name=\"ChartSquareBarIcon\" class=\"text-primary-400 mr-1\" />\n            {{ $t('dashboard.monthly_chart.title') }}\n          </h6>\n\n          <div class=\"w-full my-2 md:m-0 md:w-40 h-10\">\n            <BaseMultiselect\n              v-model=\"selectedYear\"\n              :options=\"years\"\n              :allow-empty=\"false\"\n              :show-labels=\"false\"\n              :placeholder=\"$t('dashboard.select_year')\"\n              :can-deselect=\"false\"\n            />\n          </div>\n        </div>\n\n        <LineChart\n          :invoices=\"dashboardStore.chartData.invoiceTotals\"\n          :expenses=\"dashboardStore.chartData.expenseTotals\"\n          :receipts=\"dashboardStore.chartData.receiptTotals\"\n          :income=\"dashboardStore.chartData.netIncomeTotals\"\n          :labels=\"dashboardStore.chartData.months\"\n          class=\"sm:w-full\"\n        />\n      </div>\n\n      <!-- Chart Labels -->\n      <div\n        class=\"\n          grid grid-cols-3\n          col-span-10\n          text-center\n          border-t border-l border-gray-200 border-solid\n          lg:border-t-0 lg:text-right lg:col-span-3\n          xl:col-span-2\n          lg:grid-cols-1\n        \"\n      >\n        <div class=\"p-6\">\n          <span class=\"text-xs leading-5 lg:text-sm\">\n            {{ $t('dashboard.chart_info.total_sales') }}\n          </span>\n          <br />\n          <span class=\"block mt-1 text-xl font-semibold leading-8 lg:text-2xl\">\n            <BaseFormatMoney\n              :amount=\"dashboardStore.totalSales\"\n              :currency=\"companyStore.selectedCompanyCurrency\"\n            />\n          </span>\n        </div>\n        <div class=\"p-6\">\n          <span class=\"text-xs leading-5 lg:text-sm\">\n            {{ $t('dashboard.chart_info.total_receipts') }}\n          </span>\n          <br />\n          <span\n            class=\"\n              block\n              mt-1\n              text-xl\n              font-semibold\n              leading-8\n              lg:text-2xl\n              text-green-400\n            \"\n          >\n            <BaseFormatMoney\n              :amount=\"dashboardStore.totalReceipts\"\n              :currency=\"companyStore.selectedCompanyCurrency\"\n            />\n          </span>\n        </div>\n        <div class=\"p-6\">\n          <span class=\"text-xs leading-5 lg:text-sm\">\n            {{ $t('dashboard.chart_info.total_expense') }}\n          </span>\n          <br />\n          <span\n            class=\"\n              block\n              mt-1\n              text-xl\n              font-semibold\n              leading-8\n              lg:text-2xl\n              text-red-400\n            \"\n          >\n            <BaseFormatMoney\n              :amount=\"dashboardStore.totalExpenses\"\n              :currency=\"companyStore.selectedCompanyCurrency\"\n            />\n          </span>\n        </div>\n        <div\n          class=\"\n            col-span-3\n            p-6\n            border-t border-gray-200 border-solid\n            lg:col-span-1\n          \"\n        >\n          <span class=\"text-xs leading-5 lg:text-sm\">\n            {{ $t('dashboard.chart_info.net_income') }}\n          </span>\n          <br />\n          <span\n            class=\"\n              block\n              mt-1\n              text-xl\n              font-semibold\n              leading-8\n              lg:text-2xl\n              text-primary-500\n            \"\n          >\n            <BaseFormatMoney\n              :amount=\"dashboardStore.totalNetIncome\"\n              :currency=\"companyStore.selectedCompanyCurrency\"\n            />\n          </span>\n        </div>\n      </div>\n    </div>\n\n    <ChartPlaceholder v-else />\n  </div>\n</template>\n\n<script setup>\nimport { ref, watch, inject } from 'vue'\nimport { useDashboardStore } from '@/scripts/admin/stores/dashboard'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\nimport LineChart from '@/scripts/admin/components/charts/LineChart.vue'\nimport ChartPlaceholder from './DashboardChartPlaceholder.vue'\nimport abilities from '@/scripts/admin/stub/abilities'\nimport { useUserStore } from '@/scripts/admin/stores/user'\n\nconst dashboardStore = useDashboardStore()\nconst companyStore = useCompanyStore()\n\nconst utils = inject('utils')\nconst userStore = useUserStore()\nconst years = ref(['This year', 'Previous year'])\nconst selectedYear = ref('This year')\n\nwatch(\n  selectedYear,\n  (val) => {\n    if (val === 'Previous year') {\n      let params = { previous_year: true }\n      loadData(params)\n    } else {\n      loadData()\n    }\n  },\n  { immediate: true }\n)\n\nasync function loadData(params) {\n  if (userStore.hasAbilities(abilities.DASHBOARD)) {\n    await dashboardStore.loadData(params)\n  }\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/dashboard/DashboardChartPlaceholder.vue",
    "content": "<template>\n  <BaseContentPlaceholders\n    class=\"grid grid-cols-10 mt-8 bg-white rounded shadow\"\n  >\n    <!-- Chart -->\n    <div\n      class=\"\n        grid grid-cols-1\n        col-span-10\n        px-4\n        py-5\n        lg:col-span-7\n        xl:col-span-8\n        sm:p-8\n      \"\n    >\n      <div class=\"flex items-center justify-between mb-2 xl:mb-4\">\n        <BaseContentPlaceholdersText class=\"h-10 w-36\" :lines=\"1\" />\n        <BaseContentPlaceholdersText class=\"h-10 w-36 !mt-0\" :lines=\"1\" />\n      </div>\n      <BaseContentPlaceholdersBox class=\"h-80 xl:h-72 sm:w-full\" />\n    </div>\n\n    <!-- Chart Labels -->\n    <div\n      class=\"\n        grid grid-cols-3\n        col-span-10\n        text-center\n        border-t border-l border-gray-200 border-solid\n        lg:border-t-0 lg:text-right lg:col-span-3\n        xl:col-span-2\n        lg:grid-cols-1\n      \"\n    >\n      <div\n        class=\"\n          flex flex-col\n          items-center\n          justify-center\n          p-6\n          lg:justify-end lg:items-end\n        \"\n      >\n        <BaseContentPlaceholdersText class=\"h-3 w-14 xl:h-4\" :lines=\"1\" />\n        <BaseContentPlaceholdersText class=\"w-20 h-5 xl:h-6\" :lines=\"1\" />\n      </div>\n      <div\n        class=\"\n          flex flex-col\n          items-center\n          justify-center\n          p-6\n          lg:justify-end lg:items-end\n        \"\n      >\n        <BaseContentPlaceholdersText class=\"h-3 w-14 xl:h-4\" :lines=\"1\" />\n        <BaseContentPlaceholdersText class=\"w-20 h-5 xl:h-6\" :lines=\"1\" />\n      </div>\n      <div\n        class=\"\n          flex flex-col\n          items-center\n          justify-center\n          p-6\n          lg:justify-end lg:items-end\n        \"\n      >\n        <BaseContentPlaceholdersText class=\"h-3 w-14 xl:h-4\" :lines=\"1\" />\n        <BaseContentPlaceholdersText class=\"w-20 h-5 xl:h-6\" :lines=\"1\" />\n      </div>\n      <div\n        class=\"\n          flex flex-col\n          items-center\n          justify-center\n          col-span-3\n          p-6\n          border-t border-gray-200 border-solid\n          lg:justify-end lg:items-end lg:col-span-1\n        \"\n      >\n        <BaseContentPlaceholdersText class=\"h-3 w-14 xl:h-4\" :lines=\"1\" />\n        <BaseContentPlaceholdersText class=\"w-20 h-5 xl:h-6\" :lines=\"1\" />\n      </div>\n    </div>\n  </BaseContentPlaceholders>\n</template>\n"
  },
  {
    "path": "resources/scripts/admin/views/dashboard/DashboardStats.vue",
    "content": "<template>\n  <div class=\"grid gap-6 sm:grid-cols-2 lg:grid-cols-9 xl:gap-8\">\n    <!-- Amount Due -->\n    <DashboardStatsItem\n      v-if=\"userStore.hasAbilities(abilities.VIEW_INVOICE)\"\n      :icon-component=\"DollarIcon\"\n      :loading=\"!dashboardStore.isDashboardDataLoaded\"\n      route=\"/admin/invoices\"\n      :large=\"true\"\n      :label=\"$t('dashboard.cards.due_amount')\"\n    >\n      <BaseFormatMoney\n        :amount=\"dashboardStore.stats.totalAmountDue\"\n        :currency=\"companyStore.selectedCompanyCurrency\"\n      />\n    </DashboardStatsItem>\n\n    <!-- Customers -->\n    <DashboardStatsItem\n      v-if=\"userStore.hasAbilities(abilities.VIEW_CUSTOMER)\"\n      :icon-component=\"CustomerIcon\"\n      :loading=\"!dashboardStore.isDashboardDataLoaded\"\n      route=\"/admin/customers\"\n      :label=\"$t('dashboard.cards.customers')\"\n    >\n      {{ dashboardStore.stats.totalCustomerCount }}\n    </DashboardStatsItem>\n\n    <!-- Invoices -->\n    <DashboardStatsItem\n      v-if=\"userStore.hasAbilities(abilities.VIEW_INVOICE)\"\n      :icon-component=\"InvoiceIcon\"\n      :loading=\"!dashboardStore.isDashboardDataLoaded\"\n      route=\"/admin/invoices\"\n      :label=\"$t('dashboard.cards.invoices')\"\n    >\n      {{ dashboardStore.stats.totalInvoiceCount }}\n    </DashboardStatsItem>\n\n    <!-- Estimates -->\n    <DashboardStatsItem\n      v-if=\"userStore.hasAbilities(abilities.VIEW_ESTIMATE)\"\n      :icon-component=\"EstimateIcon\"\n      :loading=\"!dashboardStore.isDashboardDataLoaded\"\n      route=\"/admin/estimates\"\n      :label=\"$t('dashboard.cards.estimates')\"\n    >\n      {{ dashboardStore.stats.totalEstimateCount }}\n    </DashboardStatsItem>\n  </div>\n</template>\n\n<script setup>\nimport DollarIcon from '@/scripts/components/icons/dashboard/DollarIcon.vue'\nimport CustomerIcon from '@/scripts/components/icons/dashboard/CustomerIcon.vue'\nimport InvoiceIcon from '@/scripts/components/icons/dashboard/InvoiceIcon.vue'\nimport EstimateIcon from '@/scripts/components/icons/dashboard/EstimateIcon.vue'\nimport abilities from '@/scripts/admin/stub/abilities'\nimport DashboardStatsItem from './DashboardStatsItem.vue'\n\nimport { inject } from 'vue'\nimport { useDashboardStore } from '@/scripts/admin/stores/dashboard'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\nimport { useUserStore } from '@/scripts/admin/stores/user'\n\nconst utils = inject('utils')\n\nconst dashboardStore = useDashboardStore()\nconst companyStore = useCompanyStore()\nconst userStore = useUserStore()\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/dashboard/DashboardStatsItem.vue",
    "content": "<template>\n  <router-link\n    v-if=\"!loading\"\n    class=\"\n      relative\n      flex\n      justify-between\n      p-3\n      bg-white\n      rounded\n      shadow\n      hover:bg-gray-50\n      xl:p-4\n      lg:col-span-2\n    \"\n    :class=\"{ 'lg:!col-span-3': large }\"\n    :to=\"route\"\n  >\n    <div>\n      <span class=\"text-xl font-semibold leading-tight text-black xl:text-3xl\">\n        <slot />\n      </span>\n      <span class=\"block mt-1 text-sm leading-tight text-gray-500 xl:text-lg\">\n        {{ label }}\n      </span>\n    </div>\n    <div class=\"flex items-center\">\n      <component :is=\"iconComponent\" class=\"w-10 h-10 xl:w-12 xl:h-12\" />\n    </div>\n  </router-link>\n\n  <StatsCardPlaceholder v-else-if=\"large\" />\n\n  <StatsCardSmPlaceholder v-else />\n</template>\n\n\n<script setup>\nimport StatsCardPlaceholder from './DashboardStatsPlaceholder.vue'\nimport StatsCardSmPlaceholder from './DashboardStatsSmPlaceholder.vue'\n\ndefineProps({\n  iconComponent: {\n    type: Object,\n    required: true,\n  },\n  loading: {\n    type: Boolean,\n    default: false,\n  },\n  route: {\n    type: String,\n    required: true,\n  },\n  label: {\n    type: String,\n    required: true,\n  },\n  large: {\n    type: Boolean,\n    default: false,\n  },\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/dashboard/DashboardStatsPlaceholder.vue",
    "content": "<template>\n  <BaseContentPlaceholders\n    :rounded=\"true\"\n    class=\"relative flex justify-between w-full p-3 bg-white rounded shadow lg:col-span-3 xl:p-4\"\n  >\n    <div>\n      <BaseContentPlaceholdersText\n        class=\"h-5 -mb-1 w-14 xl:mb-6 xl:h-7\"\n        :lines=\"1\"\n      />\n      <BaseContentPlaceholdersText class=\"h-3 w-28 xl:h-4\" :lines=\"1\" />\n    </div>\n    <div class=\"flex items-center\">\n      <BaseContentPlaceholdersBox\n        :circle=\"true\"\n        class=\"w-10 h-10 xl:w-12 xl:h-12\"\n      />\n    </div>\n  </BaseContentPlaceholders>\n</template>\n"
  },
  {
    "path": "resources/scripts/admin/views/dashboard/DashboardStatsSmPlaceholder.vue",
    "content": "<template>\n  <BaseContentPlaceholders\n    :rounded=\"true\"\n    class=\"\n      relative\n      flex\n      justify-between\n      w-full\n      p-3\n      bg-white\n      rounded\n      shadow\n      lg:col-span-2\n      xl:p-4\n    \"\n  >\n    <div>\n      <BaseContentPlaceholdersText\n        class=\"w-12 h-5 -mb-1 xl:mb-6 xl:h-7\"\n        :lines=\"1\"\n      />\n      <BaseContentPlaceholdersText class=\"w-20 h-3 xl:h-4\" :lines=\"1\" />\n    </div>\n    <div class=\"flex items-center\">\n      <BaseContentPlaceholdersBox\n        :circle=\"true\"\n        class=\"w-10 h-10 xl:w-12 xl:h-12\"\n      />\n    </div>\n  </BaseContentPlaceholders>\n</template>\n"
  },
  {
    "path": "resources/scripts/admin/views/dashboard/DashboardTable.vue",
    "content": "<template>\n  <div>\n    <div class=\"grid grid-cols-1 gap-6 mt-10 xl:grid-cols-2\">\n      <!-- Due Invoices -->\n      <div\n        v-if=\"userStore.hasAbilities(abilities.VIEW_INVOICE)\"\n        class=\"due-invoices\"\n      >\n        <div class=\"relative z-10 flex items-center justify-between mb-3\">\n          <h6 class=\"mb-0 text-xl font-semibold leading-normal\">\n            {{ $t('dashboard.recent_invoices_card.title') }}\n          </h6>\n\n          <BaseButton\n            size=\"sm\"\n            variant=\"primary-outline\"\n            @click=\"$router.push('/admin/invoices')\"\n          >\n            {{ $t('dashboard.recent_invoices_card.view_all') }}\n          </BaseButton>\n        </div>\n\n        <BaseTable\n          :data=\"dashboardStore.recentDueInvoices\"\n          :columns=\"dueInvoiceColumns\"\n          :loading=\"!dashboardStore.isDashboardDataLoaded\"\n        >\n          <template #cell-user=\"{ row }\">\n            <router-link\n              :to=\"{ path: `invoices/${row.data.id}/view` }\"\n              class=\"font-medium text-primary-500\"\n            >\n              {{ row.data.customer.name }}\n            </router-link>\n          </template>\n\n          <template #cell-due_amount=\"{ row }\">\n            <BaseFormatMoney\n              :amount=\"row.data.due_amount\"\n              :currency=\"row.data.customer.currency\"\n            />\n          </template>\n\n          <!-- Actions -->\n          <template\n            v-if=\"hasAtleastOneInvoiceAbility()\"\n            #cell-actions=\"{ row }\"\n          >\n            <InvoiceDropdown :row=\"row.data\" :table=\"invoiceTableComponent\" />\n          </template>\n        </BaseTable>\n      </div>\n\n      <!-- Recent Estimates -->\n      <div\n        v-if=\"userStore.hasAbilities(abilities.VIEW_ESTIMATE)\"\n        class=\"recent-estimates\"\n      >\n        <div class=\"relative z-10 flex items-center justify-between mb-3\">\n          <h6 class=\"mb-0 text-xl font-semibold leading-normal\">\n            {{ $t('dashboard.recent_estimate_card.title') }}\n          </h6>\n\n          <BaseButton\n            variant=\"primary-outline\"\n            size=\"sm\"\n            @click=\"$router.push('/admin/estimates')\"\n          >\n            {{ $t('dashboard.recent_estimate_card.view_all') }}\n          </BaseButton>\n        </div>\n\n        <BaseTable\n          :data=\"dashboardStore.recentEstimates\"\n          :columns=\"recentEstimateColumns\"\n          :loading=\"!dashboardStore.isDashboardDataLoaded\"\n        >\n          <template #cell-user=\"{ row }\">\n            <router-link\n              :to=\"{ path: `estimates/${row.data.id}/view` }\"\n              class=\"font-medium text-primary-500\"\n            >\n              {{ row.data.customer.name }}\n            </router-link>\n          </template>\n\n          <template #cell-total=\"{ row }\">\n            <BaseFormatMoney\n              :amount=\"row.data.total\"\n              :currency=\"row.data.customer.currency\"\n            />\n          </template>\n\n          <template\n            v-if=\"hasAtleastOneEstimateAbility()\"\n            #cell-actions=\"{ row }\"\n          >\n            <EstimateDropdown :row=\"row\" :table=\"estimateTableComponent\" />\n          </template>\n        </BaseTable>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script setup>\nimport { computed, ref } from 'vue'\nimport { useDashboardStore } from '@/scripts/admin/stores/dashboard'\nimport { useI18n } from 'vue-i18n'\nimport { useUserStore } from '@/scripts/admin/stores/user'\nimport abilities from '@/scripts/admin/stub/abilities'\nimport InvoiceDropdown from '@/scripts/admin/components/dropdowns/InvoiceIndexDropdown.vue'\nimport EstimateDropdown from '@/scripts/admin/components/dropdowns/EstimateIndexDropdown.vue'\n\nconst dashboardStore = useDashboardStore()\n\nconst { t } = useI18n()\nconst userStore = useUserStore()\n\nconst invoiceTableComponent = ref(null)\nconst estimateTableComponent = ref(null)\n\nconst dueInvoiceColumns = computed(() => {\n  return [\n    {\n      key: 'formattedDueDate',\n      label: t('dashboard.recent_invoices_card.due_on'),\n    },\n    {\n      key: 'user',\n      label: t('dashboard.recent_invoices_card.customer'),\n    },\n    {\n      key: 'due_amount',\n      label: t('dashboard.recent_invoices_card.amount_due'),\n    },\n    {\n      key: 'actions',\n      tdClass: 'text-right text-sm font-medium pl-0',\n      thClass: 'text-right pl-0',\n      sortable: false,\n    },\n  ]\n})\n\nconst recentEstimateColumns = computed(() => {\n  return [\n    {\n      key: 'formattedEstimateDate',\n      label: t('dashboard.recent_estimate_card.date'),\n    },\n    {\n      key: 'user',\n      label: t('dashboard.recent_estimate_card.customer'),\n    },\n    {\n      key: 'total',\n      label: t('dashboard.recent_estimate_card.amount_due'),\n    },\n    {\n      key: 'actions',\n      tdClass: 'text-right text-sm font-medium pl-0',\n      thClass: 'text-right pl-0',\n      sortable: false,\n    },\n  ]\n})\n\nfunction hasAtleastOneInvoiceAbility() {\n  return userStore.hasAbilities([\n    abilities.DELETE_INVOICE,\n    abilities.EDIT_INVOICE,\n    abilities.VIEW_INVOICE,\n    abilities.SEND_INVOICE,\n  ])\n}\n\nfunction hasAtleastOneEstimateAbility() {\n  return userStore.hasAbilities([\n    abilities.CREATE_ESTIMATE,\n    abilities.EDIT_ESTIMATE,\n    abilities.VIEW_ESTIMATE,\n    abilities.SEND_ESTIMATE,\n  ])\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/errors/404.vue",
    "content": "<template>\n  <div class=\"w-full h-screen\">\n    <div class=\"flex items-center justify-center w-full h-full\">\n      <div class=\"flex flex-col items-center justify-center\">\n        <h1 class=\"text-primary-500\" style=\"font-size: 10rem\">\n          {{ $t('general.four_zero_four') }}\n        </h1>\n        <h5 class=\"mb-10 text-3xl text-primary-500\">\n          {{ $t('general.you_got_lost') }}\n        </h5>\n        <router-link\n          class=\"\n            flex\n            items-center\n            w-32\n            h-12\n            px-3\n            py-1\n            text-base\n            font-medium\n            leading-none\n            text-center text-white\n            rounded\n            whitespace-nowrap\n            bg-primary-500\n            btn-lg\n            hover:text-white\n          \"\n          :to=\"path\"\n        >\n          <BaseIcon name=\"ArrowLeftIcon\" class=\"mr-2 text-white icon\" />\n\n          {{ $t('general.go_home') }}\n        </router-link>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script setup>\nimport { computed } from 'vue'\nimport { useRoute, useRouter } from 'vue-router'\n\nconst route = useRoute()\nconst router = useRouter()\n\nconst path = computed(() => {\n  let data = route.path.indexOf('customer')\n\n  if (data > -1 && route.params.company) {\n    return `/${route.params.company}/customer/dashboard`\n  } else if (route.params.catchAll) {\n    let index = route.params.catchAll.indexOf('/')\n    if (index > -1) {\n      let slug = route.params.catchAll.substring(index, 0)\n      return `/${slug}/customer/dashboard`\n    } else {\n      return '/'\n    }\n  } else {\n    return `/admin/dashboard`\n  }\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/estimates/Index.vue",
    "content": "<template>\n  <BasePage>\n    <SendEstimateModal />\n\n    <BasePageHeader :title=\"$t('estimates.title')\">\n      <BaseBreadcrumb>\n        <BaseBreadcrumbItem :title=\"$t('general.home')\" to=\"dashboard\" />\n\n        <BaseBreadcrumbItem\n          :title=\"$tc('estimates.estimate', 2)\"\n          to=\"#\"\n          active\n        />\n      </BaseBreadcrumb>\n\n      <template #actions>\n        <BaseButton\n          v-show=\"estimateStore.totalEstimateCount\"\n          variant=\"primary-outline\"\n          @click=\"toggleFilter\"\n        >\n          {{ $t('general.filter') }}\n          <template #right=\"slotProps\">\n            <BaseIcon\n              v-if=\"!showFilters\"\n              :class=\"slotProps.class\"\n              name=\"FilterIcon\"\n            />\n            <BaseIcon v-else name=\"XIcon\" :class=\"slotProps.class\" />\n          </template>\n        </BaseButton>\n\n        <router-link\n          v-if=\"userStore.hasAbilities(abilities.CREATE_ESTIMATE)\"\n          to=\"estimates/create\"\n        >\n          <BaseButton variant=\"primary\" class=\"ml-4\">\n            <template #left=\"slotProps\">\n              <BaseIcon name=\"PlusIcon\" :class=\"slotProps.class\" />\n            </template>\n            {{ $t('estimates.new_estimate') }}\n          </BaseButton>\n        </router-link>\n      </template>\n    </BasePageHeader>\n\n    <BaseFilterWrapper\n      v-show=\"showFilters\"\n      :row-on-xl=\"true\"\n      @clear=\"clearFilter\"\n    >\n      <BaseInputGroup :label=\"$tc('customers.customer', 1)\">\n        <BaseCustomerSelectInput\n          v-model=\"filters.customer_id\"\n          :placeholder=\"$t('customers.type_or_click')\"\n          value-prop=\"id\"\n          label=\"name\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup :label=\"$t('estimates.status')\">\n        <BaseMultiselect\n          v-model=\"filters.status\"\n          :options=\"status\"\n          searchable\n          :placeholder=\"$t('general.select_a_status')\"\n          @update:modelValue=\"setActiveTab\"\n          @remove=\"clearStatusSearch()\"\n        />\n      </BaseInputGroup>\n      <BaseInputGroup :label=\"$t('general.from')\">\n        <BaseDatePicker\n          v-model=\"filters.from_date\"\n          :calendar-button=\"true\"\n          calendar-button-icon=\"calendar\"\n        />\n      </BaseInputGroup>\n\n      <div\n        class=\"hidden w-8 h-0 mx-4 border border-gray-400 border-solid xl:block\"\n        style=\"margin-top: 1.5rem\"\n      />\n\n      <BaseInputGroup :label=\"$t('general.to')\">\n        <BaseDatePicker\n          v-model=\"filters.to_date\"\n          :calendar-button=\"true\"\n          calendar-button-icon=\"calendar\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup :label=\"$t('estimates.estimate_number')\">\n        <BaseInput v-model=\"filters.estimate_number\">\n          <template #left=\"slotProps\">\n            <BaseIcon name=\"HashtagIcon\" :class=\"slotProps.class\" />\n          </template>\n        </BaseInput>\n      </BaseInputGroup>\n    </BaseFilterWrapper>\n\n    <BaseEmptyPlaceholder\n      v-show=\"showEmptyScreen\"\n      :title=\"$t('estimates.no_estimates')\"\n      :description=\"$t('estimates.list_of_estimates')\"\n    >\n      <ObservatoryIcon class=\"mt-5 mb-4\" />\n\n      <template #actions>\n        <BaseButton\n          v-if=\"userStore.hasAbilities(abilities.CREATE_ESTIMATE)\"\n          variant=\"primary-outline\"\n          @click=\"$router.push('/admin/estimates/create')\"\n        >\n          <template #left=\"slotProps\">\n            <BaseIcon name=\"PlusIcon\" :class=\"slotProps.class\" />\n          </template>\n          {{ $t('estimates.add_new_estimate') }}\n        </BaseButton>\n      </template>\n    </BaseEmptyPlaceholder>\n\n    <div v-show=\"!showEmptyScreen\" class=\"relative table-container\">\n      <div\n        class=\"\n          relative\n          flex\n          items-center\n          justify-between\n          h-10\n          mt-5\n          list-none\n          border-b-2 border-gray-200 border-solid\n        \"\n      >\n        <!-- Tabs -->\n        <BaseTabGroup class=\"-mb-5\" @change=\"setStatusFilter\">\n          <BaseTab :title=\"$t('general.all')\" filter=\"\" />\n          <BaseTab :title=\"$t('general.draft')\" filter=\"DRAFT\" />\n          <BaseTab :title=\"$t('general.sent')\" filter=\"SENT\" />\n        </BaseTabGroup>\n\n        <BaseDropdown\n          v-if=\"\n            estimateStore.selectedEstimates.length &&\n            userStore.hasAbilities(abilities.DELETE_ESTIMATE)\n          \"\n          class=\"absolute float-right\"\n        >\n          <template #activator>\n            <span\n              class=\"\n                flex\n                text-sm\n                font-medium\n                cursor-pointer\n                select-none\n                text-primary-400\n              \"\n            >\n              {{ $t('general.actions') }}\n              <BaseIcon name=\"ChevronDownIcon\" />\n            </span>\n          </template>\n\n          <BaseDropdownItem @click=\"removeMultipleEstimates\">\n            <BaseIcon name=\"TrashIcon\" class=\"mr-3 text-gray-600\" />\n            {{ $t('general.delete') }}\n          </BaseDropdownItem>\n        </BaseDropdown>\n      </div>\n\n      <BaseTable\n        ref=\"tableComponent\"\n        :data=\"fetchData\"\n        :columns=\"estimateColumns\"\n        :placeholder-count=\"estimateStore.totalEstimateCount >= 20 ? 10 : 5\"\n        class=\"mt-10\"\n      >\n        <template #header>\n          <div class=\"absolute items-center left-6 top-2.5 select-none\">\n            <BaseCheckbox\n              v-model=\"estimateStore.selectAllField\"\n              variant=\"primary\"\n              @change=\"estimateStore.selectAllEstimates\"\n            />\n          </div>\n        </template>\n\n        <template #cell-checkbox=\"{ row }\">\n          <div class=\"relative block\">\n            <BaseCheckbox\n              :id=\"row.id\"\n              v-model=\"selectField\"\n              :value=\"row.data.id\"\n            />\n          </div>\n        </template>\n\n        <!-- Estimate date  -->\n        <template #cell-estimate_date=\"{ row }\">\n          {{ row.data.formatted_estimate_date }}\n        </template>\n\n        <template #cell-estimate_number=\"{ row }\">\n          <router-link\n            :to=\"{ path: `estimates/${row.data.id}/view` }\"\n            class=\"font-medium text-primary-500\"\n          >\n            {{ row.data.estimate_number }}\n          </router-link>\n        </template>\n\n        <template #cell-name=\"{ row }\">\n          <BaseText :text=\"row.data.customer.name\" :length=\"30\" />\n        </template>\n\n        <template #cell-status=\"{ row }\">\n          <BaseEstimateStatusBadge :status=\"row.data.status\" class=\"px-3 py-1\">\n            {{ row.data.status }}\n          </BaseEstimateStatusBadge>\n        </template>\n\n        <template #cell-total=\"{ row }\">\n          <BaseFormatMoney\n            :amount=\"row.data.total\"\n            :currency=\"row.data.customer.currency\"\n          />\n        </template>\n\n        <!-- Actions -->\n        <template v-if=\"hasAtleastOneAbility()\" #cell-actions=\"{ row }\">\n          <EstimateDropDown :row=\"row.data\" :table=\"tableComponent\" />\n        </template>\n      </BaseTable>\n    </div>\n  </BasePage>\n</template>\n\n<script setup>\nimport { computed, onUnmounted, reactive, ref, watch, inject } from 'vue'\nimport { useRouter } from 'vue-router'\nimport { useI18n } from 'vue-i18n'\nimport { useEstimateStore } from '@/scripts/admin/stores/estimate'\nimport { useDialogStore } from '@/scripts/stores/dialog'\nimport { useUserStore } from '@/scripts/admin/stores/user'\nimport { debouncedWatch } from '@vueuse/core'\nimport abilities from '@/scripts/admin/stub/abilities'\n\nimport ObservatoryIcon from '@/scripts/components/icons/empty/ObservatoryIcon.vue'\nimport EstimateDropDown from '@/scripts/admin/components/dropdowns/EstimateIndexDropdown.vue'\nimport SendEstimateModal from '@/scripts/admin/components/modal-components/SendEstimateModal.vue'\n\nconst estimateStore = useEstimateStore()\nconst dialogStore = useDialogStore()\nconst userStore = useUserStore()\n\nconst tableComponent = ref(null)\nconst { t } = useI18n()\nconst showFilters = ref(false)\nconst status = ref([\n  'DRAFT',\n  'SENT',\n  'VIEWED',\n  'EXPIRED',\n  'ACCEPTED',\n  'REJECTED',\n])\n\nconst isRequestOngoing = ref(true)\nconst activeTab = ref('general.draft')\nconst router = useRouter()\n\nlet filters = reactive({\n  customer_id: '',\n  status: '',\n  from_date: '',\n  to_date: '',\n  estimate_number: '',\n})\n\nconst showEmptyScreen = computed(\n  () => !estimateStore.totalEstimateCount && !isRequestOngoing.value\n)\n\nconst selectField = computed({\n  get: () => estimateStore.selectedEstimates,\n  set: (val) => {\n    estimateStore.selectEstimate(val)\n  },\n})\n\nconst estimateColumns = computed(() => {\n  return [\n    {\n      key: 'checkbox',\n      thClass: 'extra w-10 pr-0',\n      sortable: false,\n      tdClass: 'font-medium text-gray-900 pr-0',\n    },\n    {\n      key: 'estimate_date',\n      label: t('estimates.date'),\n      thClass: 'extra',\n      tdClass: 'font-medium text-gray-500',\n    },\n    { key: 'estimate_number', label: t('estimates.number', 2) },\n    { key: 'name', label: t('estimates.customer') },\n    { key: 'status', label: t('estimates.status') },\n    {\n      key: 'total',\n      label: t('estimates.total'),\n      tdClass: 'font-medium text-gray-900',\n    },\n    {\n      key: 'actions',\n      tdClass: 'text-right text-sm font-medium pl-0',\n      thClass: 'text-right pl-0',\n      sortable: false,\n    },\n  ]\n})\n\ndebouncedWatch(\n  filters,\n  () => {\n    setFilters()\n  },\n  { debounce: 500 }\n)\n\nonUnmounted(() => {\n  if (estimateStore.selectAllField) {\n    estimateStore.selectAllEstimates()\n  }\n})\n\nfunction hasAtleastOneAbility() {\n  return userStore.hasAbilities([\n    abilities.CREATE_ESTIMATE,\n    abilities.EDIT_ESTIMATE,\n    abilities.VIEW_ESTIMATE,\n    abilities.SEND_ESTIMATE,\n  ])\n}\n\nasync function clearStatusSearch(removedOption, id) {\n  filters.status = ''\n  refreshTable()\n}\n\nfunction refreshTable() {\n  tableComponent.value && tableComponent.value.refresh()\n}\n\nasync function fetchData({ page, filter, sort }) {\n  let data = {\n    customer_id: filters.customer_id,\n    status: filters.status,\n    from_date: filters.from_date,\n    to_date: filters.to_date,\n    estimate_number: filters.estimate_number,\n    orderByField: sort.fieldName || 'created_at',\n    orderBy: sort.order || 'desc',\n    page,\n  }\n\n  isRequestOngoing.value = true\n\n  let response = await estimateStore.fetchEstimates(data)\n\n  isRequestOngoing.value = false\n\n  return {\n    data: response.data.data,\n    pagination: {\n      totalPages: response.data.meta.last_page,\n      currentPage: page,\n      totalCount: response.data.meta.total,\n      limit: 10,\n    },\n  }\n}\n\nfunction setStatusFilter(val) {\n  if (activeTab.value == val.title) {\n    return true\n  }\n\n  activeTab.value = val.title\n\n  switch (val.title) {\n    case t('general.draft'):\n      filters.status = 'DRAFT'\n      break\n    case t('general.sent'):\n      filters.status = 'SENT'\n      break\n    default:\n      filters.status = ''\n      break\n  }\n}\n\nfunction setFilters() {\n  estimateStore.$patch((state) => {\n    state.selectedEstimates = []\n    state.selectAllField = false\n  })\n\n  refreshTable()\n}\n\nfunction clearFilter() {\n  filters.customer_id = ''\n  filters.status = ''\n  filters.from_date = ''\n  filters.to_date = ''\n  filters.estimate_number = ''\n\n  activeTab.value = t('general.all')\n}\n\nfunction toggleFilter() {\n  if (showFilters.value) {\n    clearFilter()\n  }\n\n  showFilters.value = !showFilters.value\n}\n\nasync function removeMultipleEstimates() {\n  dialogStore\n    .openDialog({\n      title: t('general.are_you_sure'),\n      message: t('estimates.confirm_delete'),\n      yesLabel: t('general.ok'),\n      noLabel: t('general.cancel'),\n      variant: 'danger',\n      hideNoButton: false,\n      size: 'lg',\n    })\n    .then((res) => {\n      if (res) {\n        estimateStore.deleteMultipleEstimates().then((res) => {\n          refreshTable()\n          if (res.data) {\n            estimateStore.$patch((state) => {\n              state.selectedEstimates = []\n              state.selectAllField = false\n            })\n          }\n        })\n      }\n    })\n}\n\nfunction setActiveTab(val) {\n  switch (val) {\n    case 'DRAFT':\n      activeTab.value = t('general.draft')\n      break\n    case 'SENT':\n      activeTab.value = t('general.sent')\n      break\n\n    case 'VIEWED':\n      activeTab.value = t('estimates.viewed')\n      break\n\n    case 'EXPIRED':\n      activeTab.value = t('estimates.expired')\n      break\n\n    case 'ACCEPTED':\n      activeTab.value = t('estimates.accepted')\n      break\n\n    case 'REJECTED':\n      activeTab.value = t('estimates.rejected')\n      break\n\n    default:\n      activeTab.value = t('general.all')\n      break\n  }\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/estimates/View.vue",
    "content": "<template>\n  <SendEstimateModal @update=\"updateSentEstimate\" />\n  <BasePage v-if=\"estimateData\" class=\"xl:pl-96 xl:ml-8\">\n    <BasePageHeader :title=\"pageTitle\">\n      <template #actions>\n        <div class=\"mr-3 text-sm\">\n          <BaseButton\n            v-if=\"\n              estimateData.status === 'DRAFT' &&\n              userStore.hasAbilities(abilities.EDIT_ESTIMATE)\n            \"\n            :disabled=\"isMarkAsSent\"\n            :content-loading=\"isLoadingEstimate\"\n            variant=\"primary-outline\"\n            @click=\"onMarkAsSent\"\n          >\n            {{ $t('estimates.mark_as_sent') }}\n          </BaseButton>\n        </div>\n\n        <BaseButton\n          v-if=\"\n            estimateData.status === 'DRAFT' &&\n            userStore.hasAbilities(abilities.SEND_ESTIMATE)\n          \"\n          :content-loading=\"isLoadingEstimate\"\n          variant=\"primary\"\n          class=\"text-sm\"\n          @click=\"onSendEstimate\"\n        >\n          {{ $t('estimates.send_estimate') }}\n        </BaseButton>\n\n        <EstimateDropDown class=\"ml-3\" :row=\"estimateData\" />\n      </template>\n    </BasePageHeader>\n\n    <!-- Sidebar -->\n    <div\n      class=\"\n        fixed\n        top-0\n        left-0\n        hidden\n        h-full\n        pt-16\n        pb-[6.4rem]\n        ml-56\n        bg-white\n        xl:ml-64\n        w-88\n        xl:block\n      \"\n    >\n      <div\n        class=\"\n          flex\n          items-center\n          justify-between\n          px-4\n          pt-8\n          pb-2\n          border border-gray-200 border-solid\n          height-full\n        \"\n      >\n        <div class=\"mb-6\">\n          <BaseInput\n            v-model=\"searchData.searchText\"\n            :placeholder=\"$t('general.search')\"\n            type=\"text\"\n            variant=\"gray\"\n            @input=\"onSearched()\"\n          >\n            <template #right>\n              <BaseIcon name=\"SearchIcon\" class=\"text-gray-400\" />\n            </template>\n          </BaseInput>\n        </div>\n\n        <div class=\"flex mb-6 ml-3\" role=\"group\" aria-label=\"First group\">\n          <BaseDropdown\n            class=\"ml-3\"\n            position=\"bottom-start\"\n            width-class=\"w-45\"\n            position-class=\"left-0\"\n          >\n            <template #activator>\n              <BaseButton size=\"md\" variant=\"gray\">\n                <BaseIcon name=\"FilterIcon\" />\n              </BaseButton>\n            </template>\n\n            <div\n              class=\"\n                px-4\n                py-1\n                pb-2\n                mb-1 mb-2\n                text-sm\n                border-b border-gray-200 border-solid\n              \"\n            >\n              {{ $t('general.sort_by') }}\n            </div>\n\n            <BaseDropdownItem class=\"flex px-4 py-2 cursor-pointer\">\n              <BaseInputGroup class=\"-mt-3 font-normal\">\n                <BaseRadio\n                  id=\"filter_estimate_date\"\n                  v-model=\"searchData.orderByField\"\n                  :label=\"$t('reports.estimates.estimate_date')\"\n                  size=\"sm\"\n                  name=\"filter\"\n                  value=\"estimate_date\"\n                  @update:modelValue=\"onSearched\"\n                />\n              </BaseInputGroup>\n            </BaseDropdownItem>\n\n            <BaseDropdownItem class=\"flex px-4 py-2 cursor-pointer\">\n              <BaseInputGroup class=\"-mt-3 font-normal\">\n                <BaseRadio\n                  id=\"filter_due_date\"\n                  v-model=\"searchData.orderByField\"\n                  :label=\"$t('estimates.due_date')\"\n                  value=\"expiry_date\"\n                  size=\"sm\"\n                  name=\"filter\"\n                  @update:modelValue=\"onSearched\"\n                />\n              </BaseInputGroup>\n            </BaseDropdownItem>\n\n            <BaseDropdownItem class=\"flex px-4 py-2 cursor-pointer\">\n              <BaseInputGroup class=\"-mt-3 font-normal\">\n                <BaseRadio\n                  id=\"filter_estimate_number\"\n                  v-model=\"searchData.orderByField\"\n                  :label=\"$t('estimates.estimate_number')\"\n                  value=\"estimate_number\"\n                  size=\"sm\"\n                  name=\"filter\"\n                  @update:modelValue=\"onSearched\"\n                />\n              </BaseInputGroup>\n            </BaseDropdownItem>\n          </BaseDropdown>\n\n          <BaseButton class=\"ml-1\" size=\"md\" variant=\"gray\" @click=\"sortData\">\n            <BaseIcon v-if=\"getOrderBy\" name=\"SortAscendingIcon\" />\n            <BaseIcon v-else name=\"SortDescendingIcon\" />\n          </BaseButton>\n        </div>\n      </div>\n\n      <div\n        ref=\"estimateListSection\"\n        class=\"\n          h-full\n          overflow-y-scroll\n          border-l border-gray-200 border-solid\n          base-scroll\n        \"\n      >\n        <div v-for=\"(estimate, index) in estimateList\" :key=\"index\">\n          <router-link\n            v-if=\"estimate\"\n            :id=\"'estimate-' + estimate.id\"\n            :to=\"`/admin/estimates/${estimate.id}/view`\"\n            :class=\"[\n              'flex justify-between side-estimate p-4 cursor-pointer hover:bg-gray-100 items-center border-l-4 border-transparent',\n              {\n                'bg-gray-100 border-l-4 border-primary-500 border-solid':\n                  hasActiveUrl(estimate.id),\n              },\n            ]\"\n            style=\"border-bottom: 1px solid rgba(185, 193, 209, 0.41)\"\n          >\n            <div class=\"flex-2\">\n              <BaseText\n                :text=\"estimate.customer.name\"\n                :length=\"30\"\n                class=\"\n                  pr-2\n                  mb-2\n                  text-sm\n                  not-italic\n                  font-normal\n                  leading-5\n                  text-black\n                  capitalize\n                  truncate\n                \"\n              />\n\n              <div\n                class=\"\n                  mt-1\n                  mb-2\n                  text-xs\n                  not-italic\n                  font-medium\n                  leading-5\n                  text-gray-600\n                \"\n              >\n                {{ estimate.estimate_number }}\n              </div>\n\n              <BaseEstimateStatusBadge\n                :status=\"estimate.status\"\n                class=\"px-1 text-xs\"\n              >\n                {{ estimate.status }}\n              </BaseEstimateStatusBadge>\n            </div>\n\n            <div class=\"flex-1 whitespace-nowrap right\">\n              <BaseFormatMoney\n                :amount=\"estimate.total\"\n                :currency=\"estimate.customer.currency\"\n                class=\"\n                  block\n                  mb-2\n                  text-xl\n                  not-italic\n                  font-semibold\n                  leading-8\n                  text-right text-gray-900\n                \"\n              />\n\n              <div\n                class=\"\n                  text-sm\n                  not-italic\n                  font-normal\n                  leading-5\n                  text-right text-gray-600\n                  est-date\n                \"\n              >\n                {{ estimate.formatted_estimate_date }}\n              </div>\n            </div>\n          </router-link>\n        </div>\n        <div v-if=\"isLoading\" class=\"flex justify-center p-4 items-center\">\n          <LoadingIcon class=\"h-6 m-1 animate-spin text-primary-400\" />\n        </div>\n        <p\n          v-if=\"!estimateList?.length && !isLoading\"\n          class=\"flex justify-center px-4 mt-5 text-sm text-gray-600\"\n        >\n          {{ $t('estimates.no_matching_estimates') }}\n        </p>\n      </div>\n    </div>\n\n    <div\n      class=\"flex flex-col min-h-0 mt-8 overflow-hidden\"\n      style=\"height: 75vh\"\n    >\n      <iframe\n        :src=\"`${shareableLink}`\"\n        class=\"\n          flex-1\n          border border-gray-400 border-solid\n          rounded-md\n          bg-white\n          frame-style\n        \"\n      />\n    </div>\n  </BasePage>\n</template>\n\n<script setup>\nimport { useI18n } from 'vue-i18n'\nimport { computed, reactive, ref, watch } from 'vue'\nimport { useRoute, useRouter } from 'vue-router'\nimport { debounce } from 'lodash'\n\nimport { useEstimateStore } from '@/scripts/admin/stores/estimate'\nimport { useModalStore } from '@/scripts/stores/modal'\nimport { useDialogStore } from '@/scripts/stores/dialog'\nimport { useUserStore } from '@/scripts/admin/stores/user'\n\nimport EstimateDropDown from '@/scripts/admin/components/dropdowns/EstimateIndexDropdown.vue'\nimport SendEstimateModal from '@/scripts/admin/components/modal-components/SendEstimateModal.vue'\nimport LoadingIcon from '@/scripts/components/icons/LoadingIcon.vue'\n\nimport abilities from '@/scripts/admin/stub/abilities'\n\nconst modalStore = useModalStore()\nconst estimateStore = useEstimateStore()\nconst dialogStore = useDialogStore()\nconst userStore = useUserStore()\n\nconst { t } = useI18n()\nconst estimateData = ref(null)\nconst route = useRoute()\nconst router = useRouter()\n\nconst isMarkAsSent = ref(false)\nconst isLoading = ref(false)\nconst isLoadingEstimate = ref(false)\n\nconst estimateList = ref(null)\nconst currentPageNumber = ref(1)\nconst lastPageNumber = ref(1)\nconst estimateListSection = ref(null)\n\nconst searchData = reactive({\n  orderBy: null,\n  orderByField: null,\n  searchText: null,\n})\n\nconst pageTitle = computed(() => estimateData.value.estimate_number)\n\nconst getOrderBy = computed(() => {\n  if (searchData.orderBy === 'asc' || searchData.orderBy == null) {\n    return true\n  }\n  return false\n})\n\nconst getOrderName = computed(() => {\n  if (getOrderBy.value) {\n    return t('general.ascending')\n  }\n  return t('general.descending')\n})\n\nconst shareableLink = computed(() => {\n  return `/estimates/pdf/${estimateData.value.unique_hash}`\n})\n\nconst getCurrentEstimateId = computed(() => {\n  if (estimateData.value && estimateData.value.id) {\n    return estimate.value.id\n  }\n  return null\n})\n\nwatch(route, (to, from) => {\n  if (to.name === 'estimates.view') {\n    loadEstimate()\n  }\n})\n\nloadEstimates()\nloadEstimate()\n\nonSearched = debounce(onSearched, 500)\n\nfunction hasActiveUrl(id) {\n  return route.params.id == id\n}\n\nasync function loadEstimates(pageNumber, fromScrollListener = false) {\n  if (isLoading.value) {\n    return\n  }\n\n  let params = {}\n  if (\n    searchData.searchText !== '' &&\n    searchData.searchText !== null &&\n    searchData.searchText !== undefined\n  ) {\n    params.search = searchData.searchText\n  }\n\n  if (searchData.orderBy !== null && searchData.orderBy !== undefined) {\n    params.orderBy = searchData.orderBy\n  }\n\n  if (\n    searchData.orderByField !== null &&\n    searchData.orderByField !== undefined\n  ) {\n    params.orderByField = searchData.orderByField\n  }\n\n  isLoading.value = true\n  let response = await estimateStore.fetchEstimates({\n    page: pageNumber,\n    ...params,\n  })\n  isLoading.value = false\n\n  estimateList.value = estimateList.value ? estimateList.value : []\n  estimateList.value = [...estimateList.value, ...response.data.data]\n\n  currentPageNumber.value = pageNumber ? pageNumber : 1\n  lastPageNumber.value = response.data.meta.last_page\n  let estimateFound = estimateList.value.find(\n    (est) => est.id == route.params.id\n  )\n\n  if (\n    fromScrollListener == false &&\n    !estimateFound &&\n    currentPageNumber.value < lastPageNumber.value &&\n    Object.keys(params).length === 0\n  ) {\n    loadEstimates(++currentPageNumber.value)\n  }\n\n  if (estimateFound) {\n    setTimeout(() => {\n      if (fromScrollListener == false) {\n        scrollToEstimate()\n      }\n    }, 500)\n  }\n}\n\nfunction scrollToEstimate() {\n  const el = document.getElementById(`estimate-${route.params.id}`)\n  if (el) {\n    el.scrollIntoView({ behavior: 'smooth' })\n    el.classList.add('shake')\n    addScrollListener()\n  }\n}\n\nfunction addScrollListener() {\n  estimateListSection.value.addEventListener('scroll', (ev) => {\n    if (\n      ev.target.scrollTop > 0 &&\n      ev.target.scrollTop + ev.target.clientHeight >\n        ev.target.scrollHeight - 200\n    ) {\n      if (currentPageNumber.value < lastPageNumber.value) {\n        loadEstimates(++currentPageNumber.value, true)\n      }\n    }\n  })\n}\n\nasync function loadEstimate() {\n  isLoadingEstimate.value = true\n  let response = await estimateStore.fetchEstimate(route.params.id)\n\n  if (response.data) {\n    isLoadingEstimate.value = false\n    estimateData.value = { ...response.data.data }\n  }\n}\n\nasync function onSearched() {\n  estimateList.value = []\n  loadEstimates()\n}\n\nfunction sortData() {\n  if (searchData.orderBy === 'asc') {\n    searchData.orderBy = 'desc'\n    onSearched()\n    return true\n  }\n  searchData.orderBy = 'asc'\n  onSearched()\n  return true\n}\n\nasync function onMarkAsSent() {\n  dialogStore\n    .openDialog({\n      title: t('general.are_you_sure'),\n      message: t('estimates.confirm_mark_as_sent'),\n      yesLabel: t('general.ok'),\n      noLabel: t('general.cancel'),\n      variant: 'primary',\n      hideNoButton: false,\n      size: 'lg',\n    })\n    .then((response) => {\n      isMarkAsSent.value = false\n      if (response) {\n        estimateStore.markAsSent({\n          id: estimateData.value.id,\n          status: 'SENT',\n        })\n        estimateData.value.status = 'SENT'\n        isMarkAsSent.value = true\n      }\n      isMarkAsSent.value = false\n    })\n}\n\nasync function onSendEstimate(id) {\n  modalStore.openModal({\n    title: t('estimates.send_estimate'),\n    componentName: 'SendEstimateModal',\n    id: estimateData.value.id,\n    data: estimateData.value,\n  })\n}\n\nasync function removeEstimate(id) {\n  dialogStore\n    .openDialog({\n      title: t('general.are_you_sure'),\n      message: t('estimates.confirm_delete'),\n      yesLabel: t('general.ok'),\n      noLabel: t('general.cancel'),\n      variant: 'danger',\n      hideNoButton: false,\n      size: 'lg',\n    })\n    .then((res) => {\n      if (res) {\n        estimateStore\n          .deleteEstimate({ ids: [id] })\n          .then(() => {\n            router.push('/admin/estimates')\n          })\n          .catch((err) => {\n            console.error(err)\n          })\n      }\n    })\n}\n\nfunction updateSentEstimate() {\n  let pos = estimateList.value.findIndex(\n    (estimate) => estimate.id === estimateData.value.id\n  )\n\n  if (estimateList.value[pos]) {\n    estimateList.value[pos].status = 'SENT'\n    estimateData.value.status = 'SENT'\n  }\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/estimates/create/EstimateCreate.vue",
    "content": "<template>\n  <SelectTemplateModal />\n  <ItemModal />\n  <TaxTypeModal />\n  <SalesTax\n    v-if=\"salesTaxEnabled && (!isLoadingContent || route.query.customer)\"\n    :store=\"estimateStore\"\n    store-prop=\"newEstimate\"\n    :is-edit=\"isEdit\"\n    :customer=\"estimateStore.newEstimate.customer\"\n  />\n\n  <BasePage class=\"relative estimate-create-page\">\n    <form @submit.prevent=\"submitForm\">\n      <BasePageHeader :title=\"pageTitle\">\n        <BaseBreadcrumb>\n          <BaseBreadcrumbItem\n            :title=\"$t('general.home')\"\n            to=\"/admin/dashboard\"\n          />\n          <BaseBreadcrumbItem\n            :title=\"$tc('estimates.estimate', 2)\"\n            to=\"/admin/estimates\"\n          />\n          <BaseBreadcrumbItem\n            v-if=\"$route.name === 'estimates.edit'\"\n            :title=\"$t('estimates.edit_estimate')\"\n            to=\"#\"\n            active\n          />\n          <BaseBreadcrumbItem\n            v-else\n            :title=\"$t('estimates.new_estimate')\"\n            to=\"#\"\n            active\n          />\n        </BaseBreadcrumb>\n\n        <template #actions>\n          <router-link\n            v-if=\"$route.name === 'estimates.edit'\"\n            :to=\"`/estimates/pdf/${estimateStore.newEstimate.unique_hash}`\"\n            target=\"_blank\"\n          >\n            <BaseButton class=\"mr-3\" variant=\"primary-outline\" type=\"button\">\n              <span class=\"flex\">\n                {{ $t('general.view_pdf') }}\n              </span>\n            </BaseButton>\n          </router-link>\n\n          <BaseButton\n            :loading=\"isSaving\"\n            :disabled=\"isSaving\"\n            :content-loading=\"isLoadingContent\"\n            variant=\"primary\"\n            type=\"submit\"\n          >\n            <template #left=\"slotProps\">\n              <BaseIcon\n                v-if=\"!isSaving\"\n                :class=\"slotProps.class\"\n                name=\"SaveIcon\"\n              />\n            </template>\n            {{ $t('estimates.save_estimate') }}\n          </BaseButton>\n        </template>\n      </BasePageHeader>\n\n      <!-- Select Customer & Basic Fields  -->\n      <EstimateBasicFields\n        :v=\"v$\"\n        :is-loading=\"isLoadingContent\"\n        :is-edit=\"isEdit\"\n      />\n\n      <BaseScrollPane>\n        <!-- Estimate Items -->\n        <Items\n          :currency=\"estimateStore.newEstimate.selectedCurrency\"\n          :is-loading=\"isLoadingContent\"\n          :item-validation-scope=\"estimateValidationScope\"\n          :store=\"estimateStore\"\n          store-prop=\"newEstimate\"\n        />\n\n        <!-- Estimate Footer Section -->\n        <div\n          class=\"\n            block\n            mt-10\n            estimate-foot\n            lg:flex lg:justify-between lg:items-start\n          \"\n        >\n          <div class=\"relative w-full lg:w-1/2\">\n            <!-- Estimate Custom Notes -->\n            <NoteFields\n              :store=\"estimateStore\"\n              store-prop=\"newEstimate\"\n              :fields=\"estimateNoteFieldList\"\n              type=\"Estimate\"\n            />\n\n            <!-- Estimate Custom Fields -->\n            <EstimateCustomFields\n              type=\"Estimate\"\n              :is-edit=\"isEdit\"\n              :is-loading=\"isLoadingContent\"\n              :store=\"estimateStore\"\n              store-prop=\"newEstimate\"\n              :custom-field-scope=\"estimateValidationScope\"\n              class=\"mb-6\"\n            />\n\n            <!-- Estimate Template Button-->\n            <SelectTemplate\n              :store=\"estimateStore\"\n              component-name=\"EstimateTemplate\"\n              store-prop=\"newEstimate\"\n              :is-mark-as-default=\"isMarkAsDefault\"\n            />\n          </div>\n\n          <Total\n            :currency=\"estimateStore.newEstimate.selectedCurrency\"\n            :is-loading=\"isLoadingContent\"\n            :store=\"estimateStore\"\n            store-prop=\"newEstimate\"\n            tax-popup-type=\"estimate\"\n          />\n        </div>\n      </BaseScrollPane>\n    </form>\n  </BasePage>\n</template>\n\n<script setup>\nimport { computed, ref, watch, onMounted } from 'vue'\nimport { useRoute, useRouter } from 'vue-router'\nimport { useI18n } from 'vue-i18n'\nimport {\n  required,\n  maxLength,\n  helpers,\n  requiredIf,\n  decimal,\n} from '@vuelidate/validators'\nimport useVuelidate from '@vuelidate/core'\nimport { useModuleStore } from '@/scripts/admin/stores/module'\nimport { useEstimateStore } from '@/scripts/admin/stores/estimate'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\nimport { useCustomFieldStore } from '@/scripts/admin/stores/custom-field'\n\nimport Items from '@/scripts/admin/components/estimate-invoice-common/CreateItems.vue'\nimport Total from '@/scripts/admin/components/estimate-invoice-common/CreateTotal.vue'\nimport SelectTemplate from '@/scripts/admin/components/estimate-invoice-common/SelectTemplateButton.vue'\nimport EstimateCustomFields from '@/scripts/admin/components/custom-fields/CreateCustomFields.vue'\nimport NoteFields from '@/scripts/admin/components/estimate-invoice-common/CreateNotesField.vue'\nimport EstimateBasicFields from './EstimateCreateBasicFields.vue'\nimport SelectTemplateModal from '@/scripts/admin/components/modal-components/SelectTemplateModal.vue'\nimport TaxTypeModal from '@/scripts/admin/components/modal-components/TaxTypeModal.vue'\nimport ItemModal from '@/scripts/admin/components/modal-components/ItemModal.vue'\nimport SalesTax from '@/scripts/admin/components/estimate-invoice-common/SalesTax.vue'\n\nconst estimateStore = useEstimateStore()\nconst moduleStore = useModuleStore()\nconst companyStore = useCompanyStore()\nconst customFieldStore = useCustomFieldStore()\nconst { t } = useI18n()\n\nconst estimateValidationScope = 'newEstimate'\nlet isSaving = ref(false)\nconst isMarkAsDefault = ref(false)\n\nconst estimateNoteFieldList = ref([\n  'customer',\n  'company',\n  'customerCustom',\n  'estimate',\n  'estimateCustom',\n])\n\nlet route = useRoute()\nlet router = useRouter()\n\nlet isLoadingContent = computed(() => estimateStore.isFetchingInitialSettings)\n\nlet pageTitle = computed(() =>\n  isEdit.value ? t('estimates.edit_estimate') : t('estimates.new_estimate')\n)\n\nlet isEdit = computed(() => route.name === 'estimates.edit')\n\nconst salesTaxEnabled = computed(() => {\n  return (\n    companyStore.selectedCompanySettings.sales_tax_us_enabled === 'YES' &&\n    moduleStore.salesTaxUSEnabled\n  )\n})\n\nconst rules = {\n  estimate_date: {\n    required: helpers.withMessage(t('validation.required'), required),\n  },\n  estimate_number: {\n    required: helpers.withMessage(t('validation.required'), required),\n  },\n  reference_number: {\n    maxLength: helpers.withMessage(\n      t('validation.price_maxlength'),\n      maxLength(255)\n    ),\n  },\n  customer_id: {\n    required: helpers.withMessage(t('validation.required'), required),\n  },\n  exchange_rate: {\n    required: requiredIf(function () {\n      helpers.withMessage(t('validation.required'), required)\n      return estimateStore.showExchangeRate\n    }),\n    decimal: helpers.withMessage(t('validation.valid_exchange_rate'), decimal),\n  },\n}\n\nconst v$ = useVuelidate(\n  rules,\n  computed(() => estimateStore.newEstimate),\n  { $scope: estimateValidationScope }\n)\n\nwatch(\n  () => estimateStore.newEstimate.customer,\n  (newVal) => {\n    if (newVal && newVal.currency) {\n      estimateStore.newEstimate.selectedCurrency = newVal.currency\n    } else {\n      estimateStore.newEstimate.selectedCurrency =\n        companyStore.selectedCompanyCurrency\n    }\n  }\n)\n\nestimateStore.resetCurrentEstimate()\ncustomFieldStore.resetCustomFields()\nv$.value.$reset\nestimateStore.fetchEstimateInitialSettings(isEdit.value)\n\nasync function submitForm() {\n  v$.value.$touch()\n\n  if (v$.value.$invalid) {\n    return false\n  }\n\n  isSaving.value = true\n\n  let data = {\n    ...estimateStore.newEstimate,\n    sub_total: estimateStore.getSubTotal,\n    total: estimateStore.getTotal,\n    tax: estimateStore.getTotalTax,\n  }\n\n  const action = isEdit.value\n    ? estimateStore.updateEstimate\n    : estimateStore.addEstimate\n\n  try {\n    let res = await action(data)\n\n    if (res.data.data) {\n      router.push(`/admin/estimates/${res.data.data.id}/view`)\n    }\n  } catch (err) {\n    console.error(err)\n  }\n\n  isSaving.value = false\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/estimates/create/EstimateCreateBasicFields.vue",
    "content": "<template>\n  <div class=\"md:grid-cols-12 grid-cols-1 md:gap-x-6 mt-6 mb-8 grid gap-y-5\">\n    <BaseCustomerSelectPopup\n      v-model=\"estimateStore.newEstimate.customer\"\n      :valid=\"v.customer_id\"\n      :content-loading=\"isLoading\"\n      type=\"estimate\"\n      class=\"col-span-5 pr-0\"\n    />\n\n    <BaseInputGrid class=\"col-span-7\">\n      <BaseInputGroup\n        :label=\"$t('reports.estimates.estimate_date')\"\n        :content-loading=\"isLoading\"\n        required\n        :error=\"v.estimate_date.$error && v.estimate_date.$errors[0].$message\"\n      >\n        <BaseDatePicker\n          v-model=\"estimateStore.newEstimate.estimate_date\"\n          :content-loading=\"isLoading\"\n          :calendar-button=\"true\"\n          calendar-button-icon=\"calendar\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup\n        :label=\"$t('estimates.expiry_date')\"\n        :content-loading=\"isLoading\"\n      >\n        <BaseDatePicker\n          v-model=\"estimateStore.newEstimate.expiry_date\"\n          :content-loading=\"isLoading\"\n          :calendar-button=\"true\"\n          calendar-button-icon=\"calendar\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup\n        :label=\"$t('estimates.estimate_number')\"\n        :content-loading=\"isLoading\"\n        required\n        :error=\"\n          v.estimate_number.$error && v.estimate_number.$errors[0].$message\n        \"\n      >\n        <BaseInput\n          v-model=\"estimateStore.newEstimate.estimate_number\"\n          :content-loading=\"isLoading\"\n        >\n        </BaseInput>\n      </BaseInputGroup>\n\n      <!-- <BaseInputGroup\n        :label=\"$t('estimates.ref_number')\"\n        :content-loading=\"isLoading\"\n        :error=\"\n          v.reference_number.$error && v.reference_number.$errors[0].$message\n        \"\n      >\n        <BaseInput\n          v-model=\"estimateStore.newEstimate.reference_number\"\n          :content-loading=\"isLoading\"\n          @input=\"v.reference_number.$touch()\"\n        >\n          <template #left=\"slotProps\">\n            <BaseIcon name=\"HashtagIcon\" :class=\"slotProps.class\" />\n          </template>\n        </BaseInput>\n      </BaseInputGroup> -->\n      <ExchangeRateConverter\n        :store=\"estimateStore\"\n        store-prop=\"newEstimate\"\n        :v=\"v\"\n        :is-loading=\"isLoading\"\n        :is-edit=\"isEdit\"\n        :customer-currency=\"estimateStore.newEstimate.currency_id\"\n      />\n    </BaseInputGrid>\n  </div>\n</template>\n\n<script setup>\nimport { useEstimateStore } from '@/scripts/admin/stores/estimate'\nimport ExchangeRateConverter from '@/scripts/admin/components/estimate-invoice-common/ExchangeRateConverter.vue'\n\nconst props = defineProps({\n  v: {\n    type: Object,\n    default: null,\n  },\n  isLoading: {\n    type: Boolean,\n    default: false,\n  },\n  isEdit: {\n    type: Boolean,\n    default: false,\n  },\n})\n\nconst estimateStore = useEstimateStore()\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/expenses/Create.vue",
    "content": "<template>\n  <CategoryModal />\n\n  <BasePage class=\"relative\">\n    <form action=\"\" @submit.prevent=\"submitForm\">\n      <!-- Page Header -->\n      <BasePageHeader :title=\"pageTitle\" class=\"mb-5\">\n        <BaseBreadcrumb>\n          <BaseBreadcrumbItem\n            :title=\"$t('general.home')\"\n            to=\"/admin/dashboard\"\n          />\n\n          <BaseBreadcrumbItem\n            :title=\"$tc('expenses.expense', 2)\"\n            to=\"/admin/expenses\"\n          />\n\n          <BaseBreadcrumbItem :title=\"pageTitle\" to=\"#\" active />\n        </BaseBreadcrumb>\n\n        <template #actions>\n          <BaseButton\n            v-if=\"isEdit && expenseStore.currentExpense.attachment_receipt_url\"\n            :href=\"receiptDownloadUrl\"\n            tag=\"a\"\n            variant=\"primary-outline\"\n            type=\"button\"\n            class=\"mr-2\"\n          >\n            <template #left=\"slotProps\">\n              <BaseIcon name=\"DownloadIcon\" :class=\"slotProps.class\" />\n            </template>\n            {{ $t('expenses.download_receipt') }}\n          </BaseButton>\n\n          <div class=\"hidden md:block\">\n            <BaseButton\n              :loading=\"isSaving\"\n              :content-loading=\"isFetchingInitialData\"\n              :disabled=\"isSaving\"\n              variant=\"primary\"\n              type=\"submit\"\n            >\n              <template #left=\"slotProps\">\n                <BaseIcon\n                  v-if=\"!isSaving\"\n                  name=\"SaveIcon\"\n                  :class=\"slotProps.class\"\n                />\n              </template>\n              {{\n                isEdit\n                  ? $t('expenses.update_expense')\n                  : $t('expenses.save_expense')\n              }}\n            </BaseButton>\n          </div>\n        </template>\n      </BasePageHeader>\n\n      <BaseCard>\n        <BaseInputGrid>\n          <BaseInputGroup\n            :label=\"$t('expenses.category')\"\n            :error=\"\n              v$.currentExpense.expense_category_id.$error &&\n              v$.currentExpense.expense_category_id.$errors[0].$message\n            \"\n            :content-loading=\"isFetchingInitialData\"\n            required\n          >\n            <BaseMultiselect\n              v-model=\"expenseStore.currentExpense.expense_category_id\"\n              :content-loading=\"isFetchingInitialData\"\n              value-prop=\"id\"\n              label=\"name\"\n              track-by=\"id\"\n              :options=\"searchCategory\"\n              v-if=\"!isFetchingInitialData\"\n              :filter-results=\"false\"\n              resolve-on-load\n              :delay=\"500\"\n              searchable\n              :invalid=\"v$.currentExpense.expense_category_id.$error\"\n              :placeholder=\"$t('expenses.categories.select_a_category')\"\n              @input=\"v$.currentExpense.expense_category_id.$touch()\"\n            >\n              <template #action>\n                <BaseSelectAction @click=\"openCategoryModal\">\n                  <BaseIcon\n                    name=\"PlusIcon\"\n                    class=\"h-4 mr-2 -ml-2 text-center text-primary-400\"\n                  />\n                  {{ $t('settings.expense_category.add_new_category') }}\n                </BaseSelectAction>\n              </template>\n            </BaseMultiselect>\n          </BaseInputGroup>\n\n          <BaseInputGroup\n            :label=\"$t('expenses.expense_date')\"\n            :error=\"\n              v$.currentExpense.expense_date.$error &&\n              v$.currentExpense.expense_date.$errors[0].$message\n            \"\n            :content-loading=\"isFetchingInitialData\"\n            required\n          >\n            <BaseDatePicker\n              v-model=\"expenseStore.currentExpense.expense_date\"\n              :content-loading=\"isFetchingInitialData\"\n              :calendar-button=\"true\"\n              :invalid=\"v$.currentExpense.expense_date.$error\"\n              @input=\"v$.currentExpense.expense_date.$touch()\"\n            />\n          </BaseInputGroup>\n\n          <BaseInputGroup\n            :label=\"$t('expenses.amount')\"\n            :error=\"\n              v$.currentExpense.amount.$error &&\n              v$.currentExpense.amount.$errors[0].$message\n            \"\n            :content-loading=\"isFetchingInitialData\"\n            required\n          >\n            <BaseMoney\n              :key=\"expenseStore.currentExpense.selectedCurrency\"\n              v-model=\"amountData\"\n              class=\"focus:border focus:border-solid focus:border-primary-500\"\n              :invalid=\"v$.currentExpense.amount.$error\"\n              :currency=\"expenseStore.currentExpense.selectedCurrency\"\n              @input=\"v$.currentExpense.amount.$touch()\"\n            />\n          </BaseInputGroup>\n          <BaseInputGroup\n            :label=\"$t('expenses.currency')\"\n            :content-loading=\"isFetchingInitialData\"\n            :error=\"\n              v$.currentExpense.currency_id.$error &&\n              v$.currentExpense.currency_id.$errors[0].$message\n            \"\n            required\n          >\n            <BaseMultiselect\n              v-model=\"expenseStore.currentExpense.currency_id\"\n              value-prop=\"id\"\n              label=\"name\"\n              track-by=\"name\"\n              :content-loading=\"isFetchingInitialData\"\n              :options=\"globalStore.currencies\"\n              searchable\n              :can-deselect=\"false\"\n              :placeholder=\"$t('customers.select_currency')\"\n              :invalid=\"v$.currentExpense.currency_id.$error\"\n              class=\"w-full\"\n              @update:modelValue=\"onCurrencyChange\"\n            >\n            </BaseMultiselect>\n          </BaseInputGroup>\n\n          <!-- Exchange rate converter -->\n          <ExchangeRateConverter\n            :store=\"expenseStore\"\n            store-prop=\"currentExpense\"\n            :v=\"v$.currentExpense\"\n            :is-loading=\"isFetchingInitialData\"\n            :is-edit=\"isEdit\"\n            :customer-currency=\"expenseStore.currentExpense.currency_id\"\n          />\n\n          <BaseInputGroup\n            :content-loading=\"isFetchingInitialData\"\n            :label=\"$t('expenses.customer')\"\n          >\n            <BaseMultiselect\n              v-model=\"expenseStore.currentExpense.customer_id\"\n              :content-loading=\"isFetchingInitialData\"\n              value-prop=\"id\"\n              label=\"name\"\n              track-by=\"id\"\n              :options=\"searchCustomer\"\n              v-if=\"!isFetchingInitialData\"\n              :filter-results=\"false\"\n              resolve-on-load\n              :delay=\"500\"\n              searchable\n              :placeholder=\"$t('customers.select_a_customer')\"\n            />\n          </BaseInputGroup>\n\n          <BaseInputGroup\n            :content-loading=\"isFetchingInitialData\"\n            :label=\"$t('payments.payment_mode')\"\n          >\n            <BaseMultiselect\n              v-model=\"expenseStore.currentExpense.payment_method_id\"\n              :content-loading=\"isFetchingInitialData\"\n              label=\"name\"\n              value-prop=\"id\"\n              track-by=\"name\"\n              :options=\"expenseStore.paymentModes\"\n              :placeholder=\"$t('payments.select_payment_mode')\"\n              searchable\n            >\n              <!-- <template #action>\n                <BaseSelectAction @click=\"addPaymentMode\">\n                  <BaseIcon\n                    name=\"PlusIcon\"\n                    class=\"h-4 mr-2 -ml-2 text-center text-primary-400\"\n                  />\n                  {{ $t('settings.payment_modes.add_payment_mode') }}\n                </BaseSelectAction>\n              </template> -->\n            </BaseMultiselect>\n          </BaseInputGroup>\n\n          <BaseInputGroup\n            :content-loading=\"isFetchingInitialData\"\n            :label=\"$t('expenses.note')\"\n            :error=\"\n              v$.currentExpense.notes.$error &&\n              v$.currentExpense.notes.$errors[0].$message\n            \"\n          >\n            <BaseTextarea\n              v-model=\"expenseStore.currentExpense.notes\"\n              :content-loading=\"isFetchingInitialData\"\n              :row=\"4\"\n              rows=\"4\"\n              @input=\"v$.currentExpense.notes.$touch()\"\n            />\n          </BaseInputGroup>\n\n          <BaseInputGroup :label=\"$t('expenses.receipt')\">\n            <BaseFileUploader\n              v-model=\"expenseStore.currentExpense.receiptFiles\"\n              accept=\"image/*,.doc,.docx,.pdf,.csv,.xlsx,.xls\"\n              @change=\"onFileInputChange\"\n              @remove=\"onFileInputRemove\"\n            />\n          </BaseInputGroup>\n\n          <!-- Expense Custom Fields -->\n          <ExpenseCustomFields\n            :is-edit=\"isEdit\"\n            class=\"col-span-2\"\n            :is-loading=\"isFetchingInitialData\"\n            type=\"Expense\"\n            :store=\"expenseStore\"\n            store-prop=\"currentExpense\"\n            :custom-field-scope=\"expenseValidationScope\"\n          />\n\n          <div class=\"block md:hidden\">\n            <BaseButton\n              :loading=\"isSaving\"\n              :tabindex=\"6\"\n              variant=\"primary\"\n              type=\"submit\"\n              class=\"flex justify-center w-full\"\n            >\n              <template #left=\"slotProps\">\n                <BaseIcon\n                  v-if=\"!isSaving\"\n                  name=\"SaveIcon\"\n                  :class=\"slotProps.class\"\n                />\n              </template>\n              {{\n                isEdit\n                  ? $t('expenses.update_expense')\n                  : $t('expenses.save_expense')\n              }}\n            </BaseButton>\n          </div>\n        </BaseInputGrid>\n      </BaseCard>\n    </form>\n  </BasePage>\n</template>\n\n<script setup>\nimport { ref, computed, onMounted, onBeforeUnmount } from 'vue'\nimport { useRoute, useRouter } from 'vue-router'\nimport { useI18n } from 'vue-i18n'\nimport {\n  required,\n  minValue,\n  maxLength,\n  helpers,\n  requiredIf,\n  decimal,\n} from '@vuelidate/validators'\nimport useVuelidate from '@vuelidate/core'\nimport { useExpenseStore } from '@/scripts/admin/stores/expense'\nimport { useCategoryStore } from '@/scripts/admin/stores/category'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\nimport { useCustomerStore } from '@/scripts/admin/stores/customer'\nimport { useCustomFieldStore } from '@/scripts/admin/stores/custom-field'\nimport { useModalStore } from '@/scripts/stores/modal'\nimport ExpenseCustomFields from '@/scripts/admin/components/custom-fields/CreateCustomFields.vue'\nimport CategoryModal from '@/scripts/admin/components/modal-components/CategoryModal.vue'\nimport ExchangeRateConverter from '@/scripts/admin/components/estimate-invoice-common/ExchangeRateConverter.vue'\nimport { useGlobalStore } from '@/scripts/admin/stores/global'\n\nconst customerStore = useCustomerStore()\nconst companyStore = useCompanyStore()\nconst expenseStore = useExpenseStore()\nconst categoryStore = useCategoryStore()\nconst customFieldStore = useCustomFieldStore()\nconst modalStore = useModalStore()\nconst route = useRoute()\nconst router = useRouter()\nconst { t } = useI18n()\nconst globalStore = useGlobalStore()\n\nlet isSaving = ref(false)\nlet isFetchingInitialData = ref(false)\nconst expenseValidationScope = 'newExpense'\nconst isAttachmentReceiptRemoved = ref(false)\n\nconst rules = computed(() => {\n  return {\n    currentExpense: {\n      expense_category_id: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n      expense_date: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n\n      amount: {\n        required: helpers.withMessage(t('validation.required'), required),\n        minValue: helpers.withMessage(\n          t('validation.price_minvalue'),\n          minValue(0.1)\n        ),\n        maxLength: helpers.withMessage(\n          t('validation.price_maxlength'),\n          maxLength(20)\n        ),\n      },\n\n      notes: {\n        maxLength: helpers.withMessage(\n          t('validation.description_maxlength'),\n          maxLength(65000)\n        ),\n      },\n      currency_id: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n      exchange_rate: {\n        required: requiredIf(function () {\n          helpers.withMessage(t('validation.required'), required)\n          return expenseStore.showExchangeRate\n        }),\n        decimal: helpers.withMessage(\n          t('validation.valid_exchange_rate'),\n          decimal\n        ),\n      },\n    },\n  }\n})\n\nconst v$ = useVuelidate(rules, expenseStore, {\n  $scope: expenseValidationScope,\n})\n\nconst amountData = computed({\n  get: () => expenseStore.currentExpense.amount / 100,\n  set: (value) => {\n    expenseStore.currentExpense.amount = Math.round(value * 100)\n  },\n})\n\nconst isEdit = computed(() => route.name === 'expenses.edit')\n\nconst pageTitle = computed(() =>\n  isEdit.value ? t('expenses.edit_expense') : t('expenses.new_expense')\n)\n\nconst receiptDownloadUrl = computed(() =>\n  isEdit.value ? `/reports/expenses/${route.params.id}/download-receipt` : ''\n)\n\nexpenseStore.resetCurrentExpenseData()\ncustomFieldStore.resetCustomFields()\n\nloadData()\n\nfunction onFileInputChange(fileName, file) {\n  expenseStore.currentExpense.attachment_receipt = file\n}\n\nfunction onFileInputRemove() {\n  expenseStore.currentExpense.attachment_receipt = null\n  isAttachmentReceiptRemoved.value = true\n}\n\nfunction openCategoryModal() {\n  modalStore.openModal({\n    title: t('settings.expense_category.add_category'),\n    componentName: 'CategoryModal',\n    size: 'sm',\n  })\n}\n\nfunction onCurrencyChange(v) {\n  expenseStore.currentExpense.selectedCurrency = globalStore.currencies.find(\n    (c) => c.id === v\n  )\n}\n\nasync function searchCategory(search) {\n  let res = await categoryStore.fetchCategories({ search })\n  if(res.data.data.length>0 && categoryStore.editCategory) {\n    let categoryFound = res.data.data.find((c) => c.id==categoryStore.editCategory.id)\n    if(!categoryFound) {\n      let edit_category = Object.assign({}, categoryStore.editCategory)\n      res.data.data.unshift(edit_category)\n    }\n  }\n  return res.data.data\n}\n\nasync function searchCustomer(search) {\n  let res = await customerStore.fetchCustomers({ search })\n  if(res.data.data.length>0 && customerStore.editCustomer) {\n    let customerFound = res.data.data.find((c) => c.id==customerStore.editCustomer.id)\n    if(!customerFound) {\n      let edit_customer = Object.assign({}, customerStore.editCustomer)\n      res.data.data.unshift(edit_customer)\n    }\n  }\n  return res.data.data\n}\n\nasync function loadData() {\n  if (!isEdit.value) {\n    expenseStore.currentExpense.currency_id =\n      companyStore.selectedCompanyCurrency.id\n    expenseStore.currentExpense.selectedCurrency =\n      companyStore.selectedCompanyCurrency\n  }\n\n  isFetchingInitialData.value = true\n  await expenseStore.fetchPaymentModes({ limit: 'all' })\n\n  if (isEdit.value) {\n    const expenseData = await expenseStore.fetchExpense(route.params.id)\n\n    expenseStore.currentExpense.currency_id =\n      expenseStore.currentExpense.selectedCurrency.id\n\n    if(expenseData.data) {\n      if(!categoryStore.editCategory && expenseData.data.data.expense_category) {\n        categoryStore.editCategory = expenseData.data.data.expense_category\n      }\n\n      if(!customerStore.editCustomer && expenseData.data.data.customer) {\n        customerStore.editCustomer = expenseData.data.data.customer\n      }\n    }\n\n  } else if (route.query.customer) {\n    expenseStore.currentExpense.customer_id = route.query.customer\n  }\n\n  isFetchingInitialData.value = false\n}\n\nasync function submitForm() {\n  v$.value.$touch()\n\n  if (v$.value.$invalid) {\n    return\n  }\n\n  isSaving.value = true\n\n  let formData = expenseStore.currentExpense\n\n  try {\n    if (isEdit.value) {\n      await expenseStore.updateExpense({\n        id: route.params.id,\n        data: formData,\n        isAttachmentReceiptRemoved: isAttachmentReceiptRemoved.value\n      })\n    } else {\n      await expenseStore.addExpense(formData)\n    }\n    isSaving.value = false\n    expenseStore.currentExpense.attachment_receipt = null\n    isAttachmentReceiptRemoved.value = false\n    router.push('/admin/expenses')\n  } catch (err) {\n    console.error(err)\n    isSaving.value = false\n    return\n  }\n}\n\nonBeforeUnmount(() => {\n  expenseStore.resetCurrentExpenseData()\n  customerStore.editCustomer = null\n  categoryStore.editCategory = null\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/expenses/Index.vue",
    "content": "<template>\n  <BasePage>\n    <!-- Page Header -->\n    <BasePageHeader :title=\"$t('expenses.title')\">\n      <BaseBreadcrumb>\n        <BaseBreadcrumbItem :title=\"$t('general.home')\" to=\"dashboard\" />\n        <BaseBreadcrumbItem :title=\"$tc('expenses.expense', 2)\" to=\"#\" active />\n      </BaseBreadcrumb>\n\n      <template #actions>\n        <BaseButton\n          v-show=\"expenseStore.totalExpenses\"\n          variant=\"primary-outline\"\n          @click=\"toggleFilter\"\n        >\n          {{ $t('general.filter') }}\n          <template #right=\"slotProps\">\n            <BaseIcon\n              v-if=\"!showFilters\"\n              name=\"FilterIcon\"\n              :class=\"slotProps.class\"\n            />\n            <BaseIcon v-else name=\"XIcon\" :class=\"slotProps.class\" />\n          </template>\n        </BaseButton>\n\n        <BaseButton\n          v-if=\"userStore.hasAbilities(abilities.CREATE_EXPENSE)\"\n          class=\"ml-4\"\n          variant=\"primary\"\n          @click=\"$router.push('expenses/create')\"\n        >\n          <template #left=\"slotProps\">\n            <BaseIcon name=\"PlusIcon\" :class=\"slotProps.class\" />\n          </template>\n          {{ $t('expenses.add_expense') }}\n        </BaseButton>\n      </template>\n    </BasePageHeader>\n\n    <BaseFilterWrapper :show=\"showFilters\" class=\"mt-5\" @clear=\"clearFilter\">\n      <BaseInputGroup :label=\"$t('expenses.customer')\">\n        <BaseCustomerSelectInput\n          v-model=\"filters.customer_id\"\n          :placeholder=\"$t('customers.type_or_click')\"\n          value-prop=\"id\"\n          label=\"name\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup :label=\"$t('expenses.category')\">\n        <BaseMultiselect\n          v-model=\"filters.expense_category_id\"\n          value-prop=\"id\"\n          label=\"name\"\n          track-by=\"name\"\n          :filter-results=\"false\"\n          resolve-on-load\n          :delay=\"500\"\n          :options=\"searchCategory\"\n          searchable\n          :placeholder=\"$t('expenses.categories.select_a_category')\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup :label=\"$t('expenses.from_date')\">\n        <BaseDatePicker\n          v-model=\"filters.from_date\"\n          :calendar-button=\"true\"\n          calendar-button-icon=\"calendar\"\n        />\n      </BaseInputGroup>\n      <div\n        class=\"hidden w-8 h-0 mx-4 border border-gray-400 border-solid xl:block\"\n        style=\"margin-top: 1.5rem\"\n      />\n\n      <BaseInputGroup :label=\"$t('expenses.to_date')\">\n        <BaseDatePicker\n          v-model=\"filters.to_date\"\n          :calendar-button=\"true\"\n          calendar-button-icon=\"calendar\"\n        />\n      </BaseInputGroup>\n    </BaseFilterWrapper>\n\n    <!-- Empty Table Placeholder -->\n    <BaseEmptyPlaceholder\n      v-show=\"showEmptyScreen\"\n      :title=\"$t('expenses.no_expenses')\"\n      :description=\"$t('expenses.list_of_expenses')\"\n    >\n      <UFOIcon class=\"mt-5 mb-4\" />\n\n      <template\n        v-if=\"userStore.hasAbilities(abilities.CREATE_EXPENSE)\"\n        #actions\n      >\n        <BaseButton\n          variant=\"primary-outline\"\n          @click=\"$router.push('/admin/expenses/create')\"\n        >\n          <template #left=\"slotProps\">\n            <BaseIcon name=\"PlusIcon\" :class=\"slotProps.class\" />\n          </template>\n          {{ $t('expenses.add_new_expense') }}\n        </BaseButton>\n      </template>\n    </BaseEmptyPlaceholder>\n    <div v-show=\"!showEmptyScreen\" class=\"relative table-container\">\n      <div class=\"relative flex items-center justify-end h-5\">\n        <BaseDropdown\n          v-if=\"\n            expenseStore.selectedExpenses.length &&\n            userStore.hasAbilities(abilities.DELETE_EXPENSE)\n          \"\n        >\n          <template #activator>\n            <span\n              class=\"\n                flex\n                text-sm\n                font-medium\n                cursor-pointer\n                select-none\n                text-primary-400\n              \"\n            >\n              {{ $t('general.actions') }}\n              <BaseIcon name=\"ChevronDownIcon\" />\n            </span>\n          </template>\n\n          <BaseDropdownItem\n            v-if=\"userStore.hasAbilities(abilities.DELETE_EXPENSE)\"\n            @click=\"removeMultipleExpenses\"\n          >\n            <BaseIcon name=\"TrashIcon\" class=\"h-5 mr-3 text-gray-600\" />\n            {{ $t('general.delete') }}\n          </BaseDropdownItem>\n        </BaseDropdown>\n      </div>\n\n      <BaseTable\n        ref=\"tableComponent\"\n        :data=\"fetchData\"\n        :columns=\"expenseColumns\"\n        class=\"mt-3\"\n      >\n        <!-- Select All Checkbox -->\n        <template #header>\n          <div class=\"absolute items-center left-6 top-2.5 select-none\">\n            <BaseCheckbox\n              v-model=\"selectAllFieldStatus\"\n              variant=\"primary\"\n              @change=\"expenseStore.selectAllExpenses\"\n            />\n          </div>\n        </template>\n        <template #cell-status=\"{ row }\">\n          <div class=\"relative block\">\n            <BaseCheckbox\n              :id=\"row.id\"\n              v-model=\"selectField\"\n              :value=\"row.data.id\"\n              variant=\"primary\"\n            />\n          </div>\n        </template>\n\n        <template #cell-name=\"{ row }\">\n          <router-link\n            :to=\"{ path: `expenses/${row.data.id}/edit` }\"\n            class=\"font-medium text-primary-500\"\n          >\n            {{ row.data.expense_category.name }}\n          </router-link>\n        </template>\n\n        <template #cell-amount=\"{ row }\">\n          <BaseFormatMoney\n            :amount=\"row.data.amount\"\n            :currency=\"row.data.currency\"\n          />\n        </template>\n\n        <template #cell-expense_date=\"{ row }\">\n          {{ row.data.formatted_expense_date }}\n        </template>\n\n        <template #cell-user_name=\"{ row }\">\n          <BaseText\n            :text=\"row.data.customer ? row.data.customer.name : '-'\"\n            :length=\"30\"\n          />\n        </template>\n\n        <template #cell-notes=\"{ row }\">\n          <div class=\"notes\">\n            <div class=\"truncate note w-60\">\n              {{ row.data.notes ? row.data.notes : '-' }}\n            </div>\n          </div>\n        </template>\n\n        <template v-if=\"hasAbilities()\" #cell-actions=\"{ row }\">\n          <ExpenseDropdown\n            :row=\"row.data\"\n            :table=\"tableComponent\"\n            :load-data=\"refreshTable\"\n          />\n        </template>\n      </BaseTable>\n    </div>\n  </BasePage>\n</template>\n\n<script setup>\nimport { ref, onMounted, computed, reactive, onUnmounted } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { useExpenseStore } from '@/scripts/admin/stores/expense'\nimport { useCategoryStore } from '@/scripts/admin/stores/category'\nimport { useDialogStore } from '@/scripts/stores/dialog'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\nimport { debouncedWatch } from '@vueuse/core'\nimport { useUserStore } from '@/scripts/admin/stores/user'\n\nimport abilities from '@/scripts/admin/stub/abilities'\n\nimport UFOIcon from '@/scripts/components/icons/empty/UFOIcon.vue'\nimport ExpenseDropdown from '@/scripts/admin/components/dropdowns/ExpenseIndexDropdown.vue'\n\nconst companyStore = useCompanyStore()\nconst expenseStore = useExpenseStore()\nconst dialogStore = useDialogStore()\nconst categoryStore = useCategoryStore()\nconst userStore = useUserStore()\n\nlet isFetchingInitialData = ref(true)\nlet showFilters = ref(null)\n\nconst filters = reactive({\n  expense_category_id: '',\n  from_date: '',\n  to_date: '',\n  customer_id: '',\n})\n\nconst { t } = useI18n()\nlet tableComponent = ref(null)\n\nconst showEmptyScreen = computed(() => {\n  return !expenseStore.totalExpenses && !isFetchingInitialData.value\n})\n\nconst selectField = computed({\n  get: () => expenseStore.selectedExpenses,\n  set: (value) => {\n    return expenseStore.selectExpense(value)\n  },\n})\n\nconst selectAllFieldStatus = computed({\n  get: () => expenseStore.selectAllField,\n  set: (value) => {\n    return expenseStore.setSelectAllState(value)\n  },\n})\n\nconst expenseColumns = computed(() => {\n  return [\n    {\n      key: 'status',\n      thClass: 'extra w-10',\n      tdClass: 'font-medium text-gray-900',\n      placeholderClass: 'w-10',\n      sortable: false,\n    },\n    {\n      key: 'expense_date',\n      label: 'Date',\n      thClass: 'extra',\n      tdClass: 'font-medium text-gray-900',\n    },\n    {\n      key: 'name',\n      label: 'Category',\n      thClass: 'extra',\n      tdClass: 'cursor-pointer font-medium text-primary-500',\n    },\n    { key: 'user_name', label: 'Customer' },\n    { key: 'notes', label: 'Note' },\n    { key: 'amount', label: 'Amount' },\n    {\n      key: 'actions',\n      sortable: false,\n      tdClass: 'text-right text-sm font-medium',\n    },\n  ]\n})\n\ndebouncedWatch(\n  filters,\n  () => {\n    setFilters()\n  },\n  { debounce: 500 }\n)\n\nonUnmounted(() => {\n  if (expenseStore.selectAllField) {\n    expenseStore.selectAllExpenses()\n  }\n})\n\nonMounted(() => {\n  categoryStore.fetchCategories({ limit: 'all' })\n})\n\nasync function searchCategory(search) {\n  let res = await categoryStore.fetchCategories({ search })\n  return res.data.data\n}\n\nasync function fetchData({ page, filter, sort }) {\n  let data = {\n    ...filters,\n\n    orderByField: sort.fieldName || 'created_at',\n\n    orderBy: sort.order || 'desc',\n\n    page,\n  }\n\n  isFetchingInitialData.value = true\n\n  let response = await expenseStore.fetchExpenses(data)\n  isFetchingInitialData.value = false\n\n  return {\n    data: response.data.data,\n\n    pagination: {\n      data: response.data.data,\n      totalPages: response.data.meta.last_page,\n      currentPage: page,\n      totalCount: response.data.meta.total,\n      limit: 10,\n    },\n  }\n}\n\nfunction refreshTable() {\n  tableComponent.value && tableComponent.value.refresh()\n}\n\nfunction setFilters() {\n  refreshTable()\n}\n\nfunction clearFilter() {\n  filters.expense_category_id = ''\n  filters.from_date = ''\n  filters.to_date = ''\n  filters.customer_id = ''\n}\n\nfunction toggleFilter() {\n  if (showFilters.value) {\n    clearFilter()\n  }\n\n  showFilters.value = !showFilters.value\n}\n\nfunction hasAbilities() {\n  return userStore.hasAbilities([\n    abilities.DELETE_EXPENSE,\n    abilities.EDIT_EXPENSE,\n  ])\n}\n\nfunction removeMultipleExpenses() {\n  dialogStore\n    .openDialog({\n      title: t('general.are_you_sure'),\n      message: t('expenses.confirm_delete', 2),\n      yesLabel: t('general.ok'),\n      noLabel: t('general.cancel'),\n      variant: 'danger',\n      size: 'lg',\n      hideNoButton: false,\n    })\n    .then((res) => {\n      if (res) {\n        expenseStore.deleteMultipleExpenses().then((response) => {\n          if (response.data) {\n            refreshTable()\n          }\n        })\n      }\n    })\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/installation/Installation.vue",
    "content": "<template>\n  <div class=\"flex flex-col items-center justify-between w-full pt-10\">\n    <img\n      id=\"logo-crater\"\n      src=\"/img/crater-logo.png\"\n      alt=\"Crater Logo\"\n      class=\"h-12 mb-5 md:mb-10\"\n    />\n\n    <BaseWizard\n      :steps=\"7\"\n      :current-step=\"currentStepNumber\"\n      @click=\"onNavClick\"\n    >\n      <component :is=\"stepComponent\" @next=\"onStepChange\" />\n    </BaseWizard>\n  </div>\n</template>\n\n<script>\nimport { ref } from 'vue'\nimport Step1RequirementsCheck from './Step1RequirementsCheck.vue'\nimport Step2PermissionCheck from './Step2PermissionCheck.vue'\nimport Step3DatabaseConfig from './Step3DatabaseConfig.vue'\nimport Step4VerifyDomain from './Step4VerifyDomain.vue'\nimport Step5EmailConfig from './Step5EmailConfig.vue'\nimport Step6AccountSettings from './Step6AccountSettings.vue'\nimport Step7CompanyInfo from './Step7CompanyInfo.vue'\nimport Step8CompanyPreferences from './Step8CompanyPreferences.vue'\nimport { useInstallationStore } from '@/scripts/admin/stores/installation'\nimport { useRouter } from 'vue-router'\n\nexport default {\n  components: {\n    step_1: Step1RequirementsCheck,\n    step_2: Step2PermissionCheck,\n    step_3: Step3DatabaseConfig,\n    step_4: Step4VerifyDomain,\n    step_5: Step5EmailConfig,\n    step_6: Step6AccountSettings,\n    step_7: Step7CompanyInfo,\n    step_8: Step8CompanyPreferences,\n  },\n\n  setup() {\n    let stepComponent = ref('step_1')\n    let currentStepNumber = ref(1)\n\n    const router = useRouter()\n    const installationStore = useInstallationStore()\n\n    checkCurrentProgress()\n\n    async function checkCurrentProgress() {\n      let res = await installationStore.fetchInstallationStep()\n\n      if (res.data.profile_complete === 'COMPLETED') {\n        router.push('/admin/dashboard')\n        return\n      }\n\n      let dbstep = parseInt(res.data.profile_complete)\n\n      if (dbstep) {\n        currentStepNumber.value = dbstep + 1\n        stepComponent.value = `step_${dbstep + 1}`\n      }\n    }\n\n    async function saveStepProgress(data) {\n      let status = {\n        profile_complete: data,\n      }\n\n      try {\n        await installationStore.addInstallationStep(status)\n        return true\n      } catch (e) {\n        if (e?.response?.data?.message === 'The MAC is invalid.') {\n          window.location.reload()\n        }\n        return false\n      }\n    }\n\n    async function onStepChange(data) {\n      if (data) {\n        let res = await saveStepProgress(data)\n        if (!res) return false\n      }\n\n      currentStepNumber.value++\n\n      if (currentStepNumber.value <= 8) {\n        stepComponent.value = 'step_' + currentStepNumber.value\n      }\n    }\n\n    function onNavClick(e) {}\n\n    return {\n      stepComponent,\n      currentStepNumber,\n      onStepChange,\n      saveStepProgress,\n      onNavClick,\n    }\n  },\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/installation/Step1RequirementsCheck.vue",
    "content": "<template>\n  <BaseWizardStep\n    :title=\"$t('wizard.req.system_req')\"\n    :description=\"$t('wizard.req.system_req_desc')\"\n  >\n    <div class=\"w-full md:w-2/3\">\n      <div class=\"mb-6\">\n        <div\n          v-if=\"phpSupportInfo\"\n          class=\"grid grid-flow-row grid-cols-3 p-3 border border-gray-200  lg:gap-24 sm:gap-4\"\n        >\n          <div class=\"col-span-2 text-sm\">\n            {{\n              $t('wizard.req.php_req_version', {\n                version: phpSupportInfo.minimum,\n              })\n            }}\n          </div>\n          <div class=\"text-right\">\n            {{ phpSupportInfo.current }}\n            <span\n              v-if=\"phpSupportInfo.supported\"\n              class=\"inline-block w-4 h-4 ml-3 mr-2 bg-green-500 rounded-full\"\n            />\n            <span\n              v-else\n              class=\"inline-block w-4 h-4 ml-3 mr-2 bg-red-500 rounded-full\"\n            />\n          </div>\n        </div>\n        <div v-if=\"requirements\">\n          <div\n            v-for=\"(requirement, index) in requirements\"\n            :key=\"index\"\n            class=\"grid grid-flow-row grid-cols-3 p-3 border border-gray-200  lg:gap-24 sm:gap-4\"\n          >\n            <div class=\"col-span-2 text-sm\">\n              {{ index }}\n            </div>\n            <div class=\"text-right\">\n              <span\n                v-if=\"requirement\"\n                class=\"inline-block w-4 h-4 ml-3 mr-2 bg-green-500 rounded-full\"\n              />\n              <span\n                v-else\n                class=\"inline-block w-4 h-4 ml-3 mr-2 bg-red-500 rounded-full\"\n              />\n            </div>\n          </div>\n        </div>\n      </div>\n\n      <BaseButton v-if=\"hasNext\" @click=\"next\">\n        {{ $t('wizard.continue') }}\n        <template #left=\"slotProps\">\n          <BaseIcon name=\"ArrowRightIcon\" :class=\"slotProps.class\" />\n        </template>\n      </BaseButton>\n\n      <BaseButton\n        v-if=\"!requirements\"\n        :loading=\"isSaving\"\n        :disabled=\"isSaving\"\n        @click=\"getRequirements\"\n      >\n        {{ $t('wizard.req.check_req') }}\n      </BaseButton>\n    </div>\n  </BaseWizardStep>\n</template>\n\n<script setup>\nimport { ref, computed } from 'vue'\nimport { useInstallationStore } from '@/scripts/admin/stores/installation.js'\n\nconst emit = defineEmits(['next'])\n\nconst requirements = ref('')\nconst phpSupportInfo = ref('')\nconst isSaving = ref(false)\nconst isShow = ref(true)\n\nconst installationStore = useInstallationStore()\n\nconst hasNext = computed(() => {\n  if (requirements.value) {\n    let isRequired = true\n    for (const key in requirements.value) {\n      if (!requirements.value[key]) {\n        isRequired = false\n      }\n      return requirements.value && phpSupportInfo.value.supported && isRequired\n    }\n  }\n  return false\n})\n\nasync function getRequirements() {\n  isSaving.value = true\n  const response = await installationStore.fetchInstallationRequirements()\n\n  if (response.data) {\n    requirements.value = response?.data?.requirements?.requirements?.php\n    phpSupportInfo.value = response?.data?.phpSupportInfo\n  }\n}\n\nfunction next() {\n  isSaving.value = true\n  emit('next')\n  isSaving.value = false\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/installation/Step2PermissionCheck.vue",
    "content": "<template>\n  <BaseWizardStep\n    :title=\"$t('wizard.permissions.permissions')\"\n    :description=\"$t('wizard.permissions.permission_desc')\"\n  >\n    <!-- Content Placeholders -->\n    <BaseContentPlaceholders v-if=\"isFetchingInitialData\">\n      <div\n        v-for=\"(permission, index) in 3\"\n        :key=\"index\"\n        class=\"\n          grid grid-flow-row grid-cols-3\n          lg:gap-24\n          sm:gap-4\n          border border-gray-200\n        \"\n      >\n        <BaseContentPlaceholdersText :lines=\"1\" class=\"col-span-4 p-3\" />\n      </div>\n      <BaseContentPlaceholdersBox\n        :rounded=\"true\"\n        class=\"mt-10\"\n        style=\"width: 96px; height: 42px\"\n      />\n    </BaseContentPlaceholders>\n    <!-- End of Content Placeholder -->\n\n    <div v-else class=\"relative\">\n      <div\n        v-for=\"(permission, index) in permissions\"\n        :key=\"index\"\n        class=\"border border-gray-200\"\n      >\n        <div class=\"grid grid-flow-row grid-cols-3 lg:gap-24 sm:gap-4\">\n          <div class=\"col-span-2 p-3\">\n            {{ permission.folder }}\n          </div>\n          <div class=\"p-3 text-right\">\n            <span\n              v-if=\"permission.isSet\"\n              class=\"inline-block w-4 h-4 ml-3 mr-2 rounded-full bg-green-500\"\n            />\n            <span\n              v-else\n              class=\"inline-block w-4 h-4 ml-3 mr-2 rounded-full bg-red-500\"\n            />\n            <span>{{ permission.permission }}</span>\n          </div>\n        </div>\n      </div>\n\n      <BaseButton\n        v-show=\"!isFetchingInitialData\"\n        class=\"mt-10\"\n        :loading=\"isSaving\"\n        :disabled=\"isSaving\"\n        @click=\"next\"\n      >\n        <template #left=\"slotProps\">\n          <BaseIcon name=\"ArrowRightIcon\" :class=\"slotProps.class\" />\n        </template>\n        {{ $t('wizard.continue') }}\n      </BaseButton>\n    </div>\n  </BaseWizardStep>\n</template>\n\n<script setup>\nimport { ref, onMounted } from 'vue'\nimport { useInstallationStore } from '@/scripts/admin/stores/installation'\nimport { useDialogStore } from '@/scripts/stores/dialog'\nimport { useI18n } from 'vue-i18n'\n\nconst emit = defineEmits(['next'])\n\nlet isFetchingInitialData = ref(false)\nlet isSaving = ref(false)\nlet permissions = ref([])\nconst { tm, t } = useI18n()\n\nconst installationStore = useInstallationStore()\nconst dialogStore = useDialogStore()\n\nonMounted(() => {\n  getPermissions()\n})\n\nasync function getPermissions() {\n  isFetchingInitialData.value = true\n\n  const res = await installationStore.fetchInstallationPermissions()\n\n  permissions.value = res.data.permissions.permissions\n\n  if (res.data && res.data.permissions.errors) {\n    setTimeout(() => {\n      dialogStore\n        .openDialog({\n          title: tm('wizard.permissions.permission_confirm_title'),\n          message: t('wizard.permissions.permission_confirm_desc'),\n          yesLabel: 'OK',\n          noLabel: 'Cancel',\n          variant: 'danger',\n          hideNoButton: false,\n          size: 'lg',\n        })\n        .then((res) => {\n          if (res.data) {\n            isFetchingInitialData.value = false\n          }\n        })\n    }, 500)\n  }\n\n  isFetchingInitialData.value = false\n}\n\nfunction next() {\n  isSaving.value = true\n  emit('next')\n  isSaving.value = false\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/installation/Step3DatabaseConfig.vue",
    "content": "<template>\n  <BaseWizardStep\n    :title=\"$t('wizard.database.database')\"\n    :description=\"$t('wizard.database.desc')\"\n    step-container=\"w-full p-8 mb-8 bg-white border border-gray-200 border-solid rounded md:w-full\"\n  >\n    <component\n      :is=\"databaseData.database_connection\"\n      :config-data=\"databaseData\"\n      :is-saving=\"isSaving\"\n      @on-change-driver=\"getDatabaseConfig\"\n      @submit-data=\"next\"\n    />\n  </BaseWizardStep>\n</template>\n\n<script>\nimport { ref, computed } from 'vue'\nimport Mysql from './database/MysqlDatabase.vue'\nimport Pgsql from './database/PgsqlDatabase.vue'\nimport Sqlite from './database/SqliteDatabase.vue'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport { useInstallationStore } from '@/scripts/admin/stores/installation'\nimport { useI18n } from 'vue-i18n'\n\nexport default {\n  components: {\n    Mysql,\n    Pgsql,\n    Sqlite,\n  },\n\n  emits: ['next'],\n\n  setup(props, { emit }) {\n    const database_connection = ref('mysql')\n    const isSaving = ref(false)\n    const { t } = useI18n()\n\n    const notificationStore = useNotificationStore()\n    const installationStore = useInstallationStore()\n\n    const databaseData = computed(() => {\n      return installationStore.currentDataBaseData\n    })\n\n    async function getDatabaseConfig(connection) {\n      let params = {\n        connection,\n      }\n\n      const res = await installationStore.fetchInstallationDatabase(params)\n\n      if (res.data.success) {\n        databaseData.value.database_connection =\n          res.data.config.database_connection\n      }\n\n      if (connection === 'sqlite') {\n        databaseData.value.database_name = res.data.config.database_name\n      } else {\n        databaseData.value.database_name = null\n      }\n    }\n\n    async function next(databaseData) {\n      isSaving.value = true\n\n      try {\n        let res = await installationStore.addInstallationDatabase(databaseData)\n        isSaving.value = false\n\n        if (res.data.success) {\n          await installationStore.addInstallationFinish()\n\n          emit('next', 3)\n\n          notificationStore.showNotification({\n            type: 'success',\n            message: t('wizard.success.' + res.data.success),\n          })\n\n          return\n        } else if (res.data.error) {\n          if (res.data.requirement) {\n            notificationStore.showNotification({\n              type: 'error',\n              message: t('wizard.errors.' + res.data.error, {\n                version: res.data.requirement.minimum,\n                name: databaseData.value.database_connection,\n              }),\n            })\n            return\n          }\n\n          notificationStore.showNotification({\n            type: 'error',\n            message: t('wizard.errors.' + res.data.error),\n          })\n        } else if (res.data.errors) {\n          notificationStore.showNotification({\n            type: 'error',\n            message: res.data.errors[0],\n          })\n        } else if (res.data.error_message) {\n          notificationStore.showNotification({\n            type: 'error',\n            message: res.data.error_message,\n          })\n        }\n      } catch (e) {\n        notificationStore.showNotification({\n          type: 'error',\n          message: t('validation.something_went_wrong'),\n        })\n        isSaving.value = false\n      } finally {\n        isSaving.value = false\n      }\n    }\n\n    return {\n      databaseData,\n      database_connection,\n      isSaving,\n      getDatabaseConfig,\n      next,\n    }\n  },\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/installation/Step4VerifyDomain.vue",
    "content": "<template>\n  <BaseWizardStep\n    :title=\"$t('wizard.verify_domain.title')\"\n    :description=\"$t('wizard.verify_domain.desc')\"\n  >\n    <div class=\"w-full md:w-2/3\">\n      <BaseInputGroup\n        :label=\"$t('wizard.verify_domain.app_domain')\"\n        :error=\"v$.app_domain.$error && v$.app_domain.$errors[0].$message\"\n        required\n      >\n        <BaseInput\n          v-model=\"formData.app_domain\"\n          :invalid=\"v$.app_domain.$error\"\n          type=\"text\"\n          @input=\"v$.app_domain.$touch()\"\n        />\n      </BaseInputGroup>\n    </div>\n\n    <p class=\"mt-4 mb-0 text-sm text-gray-600\">Notes:</p>\n    <ul class=\"w-full text-gray-600 list-disc list-inside\">\n      <li class=\"text-sm leading-8\">\n        App domain should not contain\n        <b class=\"inline-block px-1 bg-gray-100 rounded-sm\">https://</b> or\n        <b class=\"inline-block px-1 bg-gray-100 rounded-sm\">http</b> in front of\n        the domain.\n      </li>\n      <li class=\"text-sm leading-8\">\n        If you're accessing the website on a different port, please mention the\n        port. For example:\n        <b class=\"inline-block px-1 bg-gray-100\">localhost:8080</b>\n      </li>\n    </ul>\n\n    <BaseButton\n      :loading=\"isSaving\"\n      :disabled=\"isSaving\"\n      class=\"mt-8\"\n      @click=\"verifyDomain\"\n    >\n      {{ $t('wizard.verify_domain.verify_now') }}\n    </BaseButton>\n  </BaseWizardStep>\n</template>\n\n<script setup>\nimport { required, helpers } from '@vuelidate/validators'\nimport useVuelidate from '@vuelidate/core'\nimport { ref, inject, computed, reactive } from 'vue'\nimport { useInstallationStore } from '@/scripts/admin/stores/installation'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport { useI18n } from 'vue-i18n'\n\nconst emit = defineEmits(['next'])\n\nconst formData = reactive({\n  app_domain: window.location.origin.replace(/(^\\w+:|^)\\/\\//, ''),\n})\nconst isSaving = ref(false)\nconst { t } = useI18n()\nconst utils = inject('utils')\nconst isUrl = (value) => utils.checkValidDomainUrl(value)\n\nconst installationStore = useInstallationStore()\nconst notificationStore = useNotificationStore()\n\nconst rules = {\n  app_domain: {\n    required: helpers.withMessage(t('validation.required'), required),\n    isUrl: helpers.withMessage(t('validation.invalid_domain_url'), isUrl),\n  },\n}\n\nconst v$ = useVuelidate(\n  rules,\n  computed(() => formData)\n)\n\nasync function verifyDomain() {\n  v$.value.$touch()\n\n  if (v$.value.$invalid) {\n    return true\n  }\n\n  isSaving.value = true\n\n  try {\n    await installationStore.setInstallationDomain(formData)\n    await installationStore.installationLogin()\n    let driverRes = await installationStore.checkAutheticated()\n\n    if (driverRes.data) {\n      emit('next', 4)\n    }\n\n    isSaving.value = false\n  } catch (e) {\n    notificationStore.showNotification({\n      type: 'error',\n      message: t('wizard.verify_domain.failed'),\n    })\n\n    isSaving.value = false\n  }\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/installation/Step5EmailConfig.vue",
    "content": "<template>\n  <BaseWizardStep\n    :title=\"$t('wizard.mail.mail_config')\"\n    :description=\"$t('wizard.mail.mail_config_desc')\"\n  >\n    <form action=\"\" @submit.prevent=\"next\">\n      <component\n        :is=\"mailDriverStore.mail_driver\"\n        :config-data=\"mailDriverStore.mailConfigData\"\n        :is-saving=\"isSaving\"\n        :is-fetching-initial-data=\"isFetchingInitialData\"\n        @on-change-driver=\"(val) => changeDriver(val)\"\n        @submit-data=\"next\"\n      />\n    </form>\n  </BaseWizardStep>\n</template>\n\n<script>\nimport Smtp from './mail-driver/SmtpMailDriver.vue'\nimport Mailgun from './mail-driver/MailgunMailDriver.vue'\nimport Ses from './mail-driver/SesMailDriver.vue'\nimport Basic from './mail-driver/BasicMailDriver.vue'\nimport { useMailDriverStore } from '@/scripts/admin/stores/mail-driver'\nimport { ref } from 'vue'\n\nexport default {\n  components: {\n    Smtp,\n    Mailgun,\n    Ses,\n    sendmail: Basic,\n    Mail: Basic,\n  },\n\n  emits: ['next'],\n\n  setup(props, { emit }) {\n    const isSaving = ref(false)\n    const isFetchingInitialData = ref(false)\n\n    const mailDriverStore = useMailDriverStore()\n\n    mailDriverStore.mail_driver = 'mail'\n\n    loadData()\n\n    function changeDriver(value) {\n      mailDriverStore.mail_driver = value\n    }\n\n    async function loadData() {\n      isFetchingInitialData.value = true\n      await mailDriverStore.fetchMailDrivers()\n      isFetchingInitialData.value = false\n    }\n\n    async function next(mailConfigData) {\n      isSaving.value = true\n      let res = await mailDriverStore.updateMailConfig(mailConfigData)\n      isSaving.value = false\n\n      if (res.data.success) {\n        await emit('next', 5)\n      }\n    }\n\n    return {\n      mailDriverStore,\n      isSaving,\n      isFetchingInitialData,\n      changeDriver,\n      next,\n    }\n  },\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/installation/Step6AccountSettings.vue",
    "content": "<template>\n  <BaseWizardStep\n    :title=\"$t('wizard.account_info')\"\n    :description=\"$t('wizard.account_info_desc')\"\n  >\n    <form action=\"\" @submit.prevent=\"next\">\n      <div class=\"grid grid-cols-1 mb-4 md:grid-cols-2 md:mb-6\">\n        <BaseInputGroup\n          :label=\"$tc('settings.account_settings.profile_picture')\"\n        >\n          <BaseFileUploader\n            :avatar=\"true\"\n            :preview-image=\"avatarUrl\"\n            @change=\"onFileInputChange\"\n            @remove=\"onFileInputRemove\"\n          />\n        </BaseInputGroup>\n      </div>\n\n      <div class=\"grid grid-cols-1 gap-4 mb-4 md:grid-cols-2 md:mb-6\">\n        <BaseInputGroup\n          :label=\"$t('wizard.name')\"\n          :error=\"\n            v$.userForm.name.$error && v$.userForm.name.$errors[0].$message\n          \"\n          required\n        >\n          <BaseInput\n            v-model.trim=\"userForm.name\"\n            :invalid=\"v$.userForm.name.$error\"\n            type=\"text\"\n            name=\"name\"\n            @input=\"v$.userForm.name.$touch()\"\n          />\n        </BaseInputGroup>\n\n        <BaseInputGroup\n          :label=\"$t('wizard.email')\"\n          :error=\"\n            v$.userForm.email.$error && v$.userForm.email.$errors[0].$message\n          \"\n          required\n        >\n          <BaseInput\n            v-model.trim=\"userForm.email\"\n            :invalid=\"v$.userForm.email.$error\"\n            type=\"text\"\n            name=\"email\"\n            @input=\"v$.userForm.email.$touch()\"\n          />\n        </BaseInputGroup>\n      </div>\n\n      <div class=\"grid grid-cols-1 gap-4 mb-6 md:grid-cols-2\">\n        <BaseInputGroup\n          :label=\"$t('wizard.password')\"\n          :error=\"\n            v$.userForm.password.$error &&\n            v$.userForm.password.$errors[0].$message\n          \"\n          required\n        >\n          <BaseInput\n            v-model.trim=\"userForm.password\"\n            :invalid=\"v$.userForm.password.$error\"\n            :type=\"isShowPassword ? 'text' : 'password'\"\n            name=\"password\"\n            @input=\"v$.userForm.password.$touch()\"\n          >\n            <template #right>\n              <EyeOffIcon\n                v-if=\"isShowPassword\"\n                class=\"w-5 h-5 mr-1 text-gray-500 cursor-pointer\"\n                @click=\"isShowPassword = !isShowPassword\"\n              />\n              <EyeIcon\n                v-else\n                class=\"w-5 h-5 mr-1 text-gray-500 cursor-pointer\"\n                @click=\"isShowPassword = !isShowPassword\"\n              />\n            </template>\n          </BaseInput>\n        </BaseInputGroup>\n\n        <BaseInputGroup\n          :label=\"$t('wizard.confirm_password')\"\n          :error=\"\n            v$.userForm.confirm_password.$error &&\n            v$.userForm.confirm_password.$errors[0].$message\n          \"\n          required\n        >\n          <BaseInput\n            v-model.trim=\"userForm.confirm_password\"\n            :invalid=\"v$.userForm.confirm_password.$error\"\n            :type=\"isShowConfirmPassword ? 'text' : 'password'\"\n            name=\"confirm_password\"\n            @input=\"v$.userForm.confirm_password.$touch()\"\n          >\n            <template #right>\n              <BaseIcon\n                v-if=\"isShowConfirmPassword\"\n                name=\"EyeOffIcon\"\n                class=\"w-5 h-5 mr-1 text-gray-500 cursor-pointer\"\n                @click=\"isShowConfirmPassword = !isShowConfirmPassword\"\n              />\n              <BaseIcon\n                v-else\n                name=\"EyeIcon\"\n                class=\"w-5 h-5 mr-1 text-gray-500 cursor-pointer\"\n                @click=\"isShowConfirmPassword = !isShowConfirmPassword\"\n              />\n            </template>\n          </BaseInput>\n        </BaseInputGroup>\n      </div>\n\n      <BaseButton :loading=\"isSaving\" :disabled=\"isSaving\" class=\"mt-4\">\n        <template #left=\"slotProps\">\n          <BaseIcon v-if=\"!isSaving\" name=\"SaveIcon\" :class=\"slotProps.class\" />\n        </template>\n        {{ $t('wizard.save_cont') }}\n      </BaseButton>\n    </form>\n  </BaseWizardStep>\n</template>\n\n<script setup>\nimport {\n  helpers,\n  required,\n  requiredIf,\n  sameAs,\n  minLength,\n  email,\n} from '@vuelidate/validators'\nimport { computed, ref } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { useVuelidate } from '@vuelidate/core'\nimport { useUserStore } from '@/scripts/admin/stores/user'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\n\nconst emit = defineEmits(['next'])\n\nlet isSaving = ref(false)\nconst isShowPassword = ref(false)\nconst isShowConfirmPassword = ref(false)\nlet avatarUrl = ref('')\nlet avatarFileBlob = ref(null)\n\nconst userStore = useUserStore()\nconst companyStore = useCompanyStore()\n\nconst { t } = useI18n()\n\nconst userForm = computed(() => {\n  return userStore.userForm\n})\n\nconst rules = computed(() => {\n  return {\n    userForm: {\n      name: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n      email: {\n        required: helpers.withMessage(t('validation.required'), required),\n        email: helpers.withMessage(t('validation.email_incorrect'), email),\n      },\n      password: {\n        required: helpers.withMessage(t('validation.required'), required),\n        minLength: helpers.withMessage(\n          t('validation.password_min_length', { count: 8 }),\n          minLength(8)\n        ),\n      },\n      confirm_password: {\n        required: helpers.withMessage(\n          t('validation.required'),\n          requiredIf(userStore.userForm.password)\n        ),\n        sameAsPassword: helpers.withMessage(\n          t('validation.password_incorrect'),\n          sameAs(userStore.userForm.password)\n        ),\n      },\n    },\n  }\n})\n\nconst v$ = useVuelidate(\n  rules,\n  computed(() => userStore)\n)\n\nfunction onFileInputChange(fileName, file) {\n  avatarFileBlob.value = file\n}\n\nfunction onFileInputRemove() {\n  avatarFileBlob.value = null\n}\n\nasync function next() {\n  v$.value.userForm.$touch()\n  if (v$.value.userForm.$invalid) {\n    return true\n  }\n\n  isSaving.value = true\n  let res = await userStore.updateCurrentUser(userForm.value)\n  isSaving.value = false\n\n  if (res.data.data) {\n    if (avatarFileBlob.value) {\n      let avatarData = new FormData()\n\n      avatarData.append('admin_avatar', avatarFileBlob.value)\n\n      await userStore.uploadAvatar(avatarData)\n    }\n\n    const company = res.data.data.companies[0]\n\n    await companyStore.setSelectedCompany(company)\n    emit('next', 6)\n  }\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/installation/Step7CompanyInfo.vue",
    "content": "<template>\n  <BaseWizardStep\n    :title=\"$t('wizard.company_info')\"\n    :description=\"$t('wizard.company_info_desc')\"\n    step-container=\"bg-white border border-gray-200 border-solid mb-8 md:w-full p-8 rounded w-full\"\n  >\n    <form action=\"\" @submit.prevent=\"next\">\n      <div class=\"grid grid-cols-1 mb-4 md:grid-cols-2 md:mb-6\">\n        <BaseInputGroup :label=\"$tc('settings.company_info.company_logo')\">\n          <BaseFileUploader\n            base64\n            :preview-image=\"previewLogo\"\n            @change=\"onFileInputChange\"\n            @remove=\"onFileInputRemove\"\n          />\n        </BaseInputGroup>\n      </div>\n\n      <div class=\"grid grid-cols-1 gap-4 mb-4 md:grid-cols-2 md:mb-6\">\n        <BaseInputGroup\n          :label=\"$t('wizard.company_name')\"\n          :error=\"\n            v$.companyForm.name.$error &&\n            v$.companyForm.name.$errors[0].$message\n          \"\n          required\n        >\n          <BaseInput\n            v-model.trim=\"companyForm.name\"\n            :invalid=\"v$.companyForm.name.$error\"\n            type=\"text\"\n            name=\"name\"\n            @input=\"v$.companyForm.name.$touch()\"\n          />\n        </BaseInputGroup>\n\n        <BaseInputGroup\n          :label=\"$t('wizard.country')\"\n          :error=\"\n            v$.companyForm.address.country_id.$error &&\n            v$.companyForm.address.country_id.$errors[0].$message\n          \"\n          :content-loading=\"isFetchingInitialData\"\n          required\n        >\n          <BaseMultiselect\n            v-model=\"companyForm.address.country_id\"\n            label=\"name\"\n            :invalid=\"v$.companyForm.address.country_id.$error\"\n            :options=\"globalStore.countries\"\n            value-prop=\"id\"\n            :can-deselect=\"false\"\n            :can-clear=\"false\"\n            :content-loading=\"isFetchingInitialData\"\n            :placeholder=\"$t('general.select_country')\"\n            searchable\n            track-by=\"name\"\n          />\n        </BaseInputGroup>\n      </div>\n\n      <div class=\"grid grid-cols-1 gap-4 mb-4 md:grid-cols-2 md:mb-6\">\n        <BaseInputGroup :label=\"$t('wizard.state')\">\n          <BaseInput\n            v-model=\"companyForm.address.state\"\n            name=\"state\"\n            type=\"text\"\n          />\n        </BaseInputGroup>\n\n        <BaseInputGroup :label=\"$t('wizard.city')\">\n          <BaseInput\n            v-model=\"companyForm.address.city\"\n            name=\"city\"\n            type=\"text\"\n          />\n        </BaseInputGroup>\n      </div>\n\n      <div class=\"grid grid-cols-1 gap-4 mb-6 md:grid-cols-2\">\n        <div>\n          <BaseInputGroup\n            :label=\"$t('wizard.address')\"\n            :error=\"\n              v$.companyForm.address.address_street_1.$error &&\n              v$.companyForm.address.address_street_1.$errors[0].$message\n            \"\n          >\n            <BaseTextarea\n              v-model.trim=\"companyForm.address.address_street_1\"\n              :invalid=\"v$.companyForm.address.address_street_1.$error\"\n              :placeholder=\"$t('general.street_1')\"\n              name=\"billing_street1\"\n              rows=\"2\"\n              @input=\"v$.companyForm.address.address_street_1.$touch()\"\n            />\n          </BaseInputGroup>\n\n          <BaseInputGroup\n            :error=\"\n              v$.companyForm.address.address_street_2.$error &&\n              v$.companyForm.address.address_street_2.$errors[0].$message\n            \"\n            class=\"mt-1 lg:mt-2 md:mt-2\"\n          >\n            <BaseTextarea\n              v-model=\"companyForm.address.address_street_2\"\n              :invalid=\"v$.companyForm.address.address_street_2.$error\"\n              :placeholder=\"$t('general.street_2')\"\n              name=\"billing_street2\"\n              rows=\"2\"\n              @input=\"v$.companyForm.address.address_street_2.$touch()\"\n            />\n          </BaseInputGroup>\n        </div>\n\n        <div>\n          <BaseInputGroup :label=\"$t('wizard.zip_code')\">\n            <BaseInput\n              v-model.trim=\"companyForm.address.zip\"\n              type=\"text\"\n              name=\"zip\"\n            />\n          </BaseInputGroup>\n\n          <BaseInputGroup :label=\"$t('wizard.phone')\" class=\"mt-4\">\n            <BaseInput\n              v-model.trim=\"companyForm.address.phone\"\n              type=\"text\"\n              name=\"phone\"\n            />\n          </BaseInputGroup>\n        </div>\n      </div>\n\n      <BaseButton :loading=\"isSaving\" :disabled=\"isSaving\" class=\"mt-4\">\n        <template #left=\"slotProps\">\n          <BaseIcon v-if=\"!isSaving\" name=\"SaveIcon\" :class=\"slotProps.class\" />\n        </template>\n        {{ $t('wizard.save_cont') }}\n      </BaseButton>\n    </form>\n  </BaseWizardStep>\n</template>\n\n<script setup>\nimport { ref, computed, onMounted, reactive } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { required, maxLength, helpers } from '@vuelidate/validators'\nimport { useVuelidate } from '@vuelidate/core'\nimport { useGlobalStore } from '@/scripts/admin/stores/global'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\n\nconst emit = defineEmits(['next'])\n\nlet isFetchingInitialData = ref(false)\nlet isSaving = ref(false)\nconst { t } = useI18n()\nlet previewLogo = ref(null)\nlet logoFileBlob = ref(null)\nlet logoFileName = ref(null)\n\nconst companyForm = reactive({\n  name: null,\n  address: {\n    address_street_1: '',\n    address_street_2: '',\n    website: '',\n    country_id: null,\n    state: '',\n    city: '',\n    phone: '',\n    zip: '',\n  },\n})\n\nconst companyStore = useCompanyStore()\nconst globalStore = useGlobalStore()\n\nonMounted(async () => {\n  isFetchingInitialData.value = true\n  await globalStore.fetchCountries()\n  isFetchingInitialData.value = false\n\n  // set default country\n  companyForm.address.country_id = globalStore.countries.find((country) => {\n    return country.code == 'US'\n  })?.id\n})\n\nconst rules = {\n  companyForm: {\n    name: {\n      required: helpers.withMessage(t('validation.required'), required),\n    },\n    address: {\n      country_id: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n      address_street_1: {\n        maxLength: helpers.withMessage(\n          t('validation.address_maxlength', { count: 255 }),\n          maxLength(255)\n        ),\n      },\n      address_street_2: {\n        maxLength: helpers.withMessage(\n          t('validation.address_maxlength', { count: 255 }),\n          maxLength(255)\n        ),\n      },\n    },\n  },\n}\n\nconst v$ = useVuelidate(rules, { companyForm })\n\nfunction onFileInputChange(fileName, file, fileCount, fileList) {\n  logoFileName.value = fileList.name\n  logoFileBlob.value = file\n}\n\nfunction onFileInputRemove() {\n  logoFileBlob.value = null\n}\n\nasync function next() {\n  v$.value.companyForm.$touch()\n  if (v$.value.$invalid) {\n    return true\n  }\n\n  isSaving.value = true\n  let res = companyStore.updateCompany(companyForm)\n  if (res) {\n    if (logoFileBlob.value) {\n      let logoData = new FormData()\n\n      logoData.append(\n        'company_logo',\n        JSON.stringify({\n          name: logoFileName.value,\n          data: logoFileBlob.value,\n        })\n      )\n      await companyStore.updateCompanyLogo(logoData)\n    }\n    isSaving.value = false\n    emit('next', 7)\n  }\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/installation/Step8CompanyPreferences.vue",
    "content": "<template>\n  <BaseWizardStep\n    :title=\"$t('wizard.preferences')\"\n    :description=\"$t('wizard.preferences_desc')\"\n    step-container=\"bg-white border border-gray-200 border-solid mb-8 md:w-full p-8 rounded w-full\"\n  >\n    <form action=\"\" @submit.prevent=\"next\">\n      <div>\n        <div class=\"grid grid-cols-1 gap-4 mb-4 md:grid-cols-2 md:mb-6\">\n          <BaseInputGroup\n            :label=\"$t('wizard.currency')\"\n            :error=\"\n              v$.currentPreferences.currency.$error &&\n              v$.currentPreferences.currency.$errors[0].$message\n            \"\n            :content-loading=\"isFetchingInitialData\"\n            required\n          >\n            <BaseMultiselect\n              v-model=\"currentPreferences.currency\"\n              :content-loading=\"isFetchingInitialData\"\n              :options=\"globalStore.currencies\"\n              label=\"name\"\n              value-prop=\"id\"\n              :searchable=\"true\"\n              track-by=\"name\"\n              :placeholder=\"$tc('settings.currencies.select_currency')\"\n              :invalid=\"v$.currentPreferences.currency.$error\"\n              class=\"w-full\"\n            >\n            </BaseMultiselect>\n          </BaseInputGroup>\n\n          <BaseInputGroup\n            :label=\"$t('settings.preferences.default_language')\"\n            :error=\"\n              v$.currentPreferences.language.$error &&\n              v$.currentPreferences.language.$errors[0].$message\n            \"\n            :content-loading=\"isFetchingInitialData\"\n            required\n          >\n            <BaseMultiselect\n              v-model=\"currentPreferences.language\"\n              :content-loading=\"isFetchingInitialData\"\n              :options=\"globalStore.languages\"\n              label=\"name\"\n              value-prop=\"code\"\n              :placeholder=\"$tc('settings.preferences.select_language')\"\n              class=\"w-full\"\n              track-by=\"name\"\n              :searchable=\"true\"\n              :invalid=\"v$.currentPreferences.language.$error\"\n            />\n          </BaseInputGroup>\n        </div>\n\n        <div class=\"grid grid-cols-1 gap-4 mb-4 md:grid-cols-2 md:mb-6\">\n          <BaseInputGroup\n            :label=\"$t('wizard.date_format')\"\n            :error=\"\n              v$.currentPreferences.carbon_date_format.$error &&\n              v$.currentPreferences.carbon_date_format.$errors[0].$message\n            \"\n            :content-loading=\"isFetchingInitialData\"\n            required\n          >\n            <BaseMultiselect\n              v-model=\"currentPreferences.carbon_date_format\"\n              :content-loading=\"isFetchingInitialData\"\n              :options=\"globalStore.dateFormats\"\n              label=\"display_date\"\n              value-prop=\"carbon_format_value\"\n              :placeholder=\"$tc('settings.preferences.select_date_format')\"\n              track-by=\"display_date\"\n              searchable\n              :invalid=\"v$.currentPreferences.carbon_date_format.$error\"\n              class=\"w-full\"\n            />\n          </BaseInputGroup>\n\n          <BaseInputGroup\n            :label=\"$t('wizard.time_zone')\"\n            :error=\"\n              v$.currentPreferences.time_zone.$error &&\n              v$.currentPreferences.time_zone.$errors[0].$message\n            \"\n            :content-loading=\"isFetchingInitialData\"\n            required\n          >\n            <BaseMultiselect\n              v-model=\"currentPreferences.time_zone\"\n              :content-loading=\"isFetchingInitialData\"\n              :options=\"globalStore.timeZones\"\n              label=\"key\"\n              value-prop=\"value\"\n              :placeholder=\"$tc('settings.preferences.select_time_zone')\"\n              track-by=\"key\"\n              :searchable=\"true\"\n              :invalid=\"v$.currentPreferences.time_zone.$error\"\n            />\n          </BaseInputGroup>\n        </div>\n\n        <div class=\"grid grid-cols-1 gap-4 mb-6 md:grid-cols-2\">\n          <BaseInputGroup\n            :label=\"$t('wizard.fiscal_year')\"\n            :error=\"\n              v$.currentPreferences.fiscal_year.$error &&\n              v$.currentPreferences.fiscal_year.$errors[0].$message\n            \"\n            :content-loading=\"isFetchingInitialData\"\n            required\n          >\n            <BaseMultiselect\n              v-model=\"currentPreferences.fiscal_year\"\n              :content-loading=\"isFetchingInitialData\"\n              :options=\"globalStore.fiscalYears\"\n              label=\"key\"\n              value-prop=\"value\"\n              :placeholder=\"$tc('settings.preferences.select_financial_year')\"\n              :invalid=\"v$.currentPreferences.fiscal_year.$error\"\n              track-by=\"key\"\n              :searchable=\"true\"\n              class=\"w-full\"\n            />\n          </BaseInputGroup>\n        </div>\n\n        <BaseButton\n          :loading=\"isSaving\"\n          :disabled=\"isSaving\"\n          :content-loading=\"isFetchingInitialData\"\n          class=\"mt-4\"\n        >\n          <template #left=\"slotProps\">\n            <BaseIcon name=\"SaveIcon\" :class=\"slotProps.class\" />\n          </template>\n          {{ $t('wizard.save_cont') }}\n        </BaseButton>\n      </div>\n    </form>\n  </BaseWizardStep>\n</template>\n\n<script setup>\nimport { useI18n } from 'vue-i18n'\nimport { ref, computed, onMounted, reactive } from 'vue'\nimport { required, helpers } from '@vuelidate/validators'\nimport useVuelidate from '@vuelidate/core'\nimport Ls from '@/scripts/services/ls.js'\nimport { useGlobalStore } from '@/scripts/admin/stores/global'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\nimport { useUserStore } from '@/scripts/admin/stores/user'\nimport { useDialogStore } from '@/scripts/stores/dialog'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport { useRouter } from 'vue-router'\n\nconst emit = defineEmits(['next'])\n\nconst isSaving = ref(false)\nlet isFetchingInitialData = ref(false)\n\nlet currentPreferences = reactive({\n  currency: 1,\n  language: 'en',\n  carbon_date_format: 'd M Y',\n  time_zone: 'UTC',\n  fiscal_year: '1-12',\n})\n\nconst { tm, t } = useI18n()\nconst router = useRouter()\n\nisFetchingInitialData.value = true\n\nconst options = reactive([\n  {\n    title: tm('settings.customization.invoices.allow'),\n    value: 'allow',\n  },\n  {\n    title: tm(\n      'settings.customization.invoices.disable_on_invoice_partial_paid'\n    ),\n    value: 'disable_on_invoice_partial_paid',\n  },\n  {\n    title: tm('settings.customization.invoices.disable_on_invoice_paid'),\n    value: 'disable_on_invoice_paid',\n  },\n  {\n    title: tm('settings.customization.invoices.disable_on_invoice_sent'),\n    value: 'disable_on_invoice_sent',\n  },\n])\n\nconst dialogStore = useDialogStore()\nconst globalStore = useGlobalStore()\nconst companyStore = useCompanyStore()\nconst userStore = useUserStore()\nconst notificationStore = useNotificationStore()\n\nlet fiscalYears = {\n  key: 'fiscal_years',\n}\nlet data = {\n  key: 'languages',\n}\n\nisFetchingInitialData.value = true\nPromise.all([\n  globalStore.fetchCurrencies(),\n  globalStore.fetchDateFormats(),\n  globalStore.fetchTimeZones(),\n  globalStore.fetchCountries(),\n  globalStore.fetchConfig(fiscalYears),\n  globalStore.fetchConfig(data),\n]).then(([res1]) => {\n  isFetchingInitialData.value = false\n})\n\nconst rules = computed(() => {\n  return {\n    currentPreferences: {\n      currency: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n      language: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n      carbon_date_format: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n      time_zone: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n      fiscal_year: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n    },\n  }\n})\n\nconst v$ = useVuelidate(rules, { currentPreferences })\n\nasync function next() {\n  v$.value.currentPreferences.$touch()\n  if (v$.value.$invalid) {\n    return true\n  }\n\n  dialogStore\n    .openDialog({\n      title: t('general.do_you_wish_to_continue'),\n      message: t('wizard.currency_set_alert'),\n      yesLabel: t('general.ok'),\n      noLabel: t('general.cancel'),\n      variant: 'danger',\n      size: 'lg',\n      hideNoButton: false,\n    })\n    .then(async (res) => {\n      if (res) {\n        let data = {\n          settings: {\n            ...currentPreferences,\n          },\n        }\n\n        isSaving.value = true\n\n        delete data.settings.discount_per_item\n\n        let res = await companyStore.updateCompanySettings({\n          data,\n        })\n\n        if (res.data) {\n          isSaving.value = false\n\n          let data = {\n            settings: {\n              language: currentPreferences.language,\n            },\n          }\n\n          let res1 = await userStore.updateUserSettings(data)\n\n          if (res1.data) {\n            emit('next', 'COMPLETED')\n            notificationStore.showNotification({\n              type: 'success',\n              message: 'Login Successful',\n            })\n            router.push('/admin/dashboard')\n          }\n\n          Ls.set('auth.token', res.data.token)\n        }\n\n        return true\n      }\n\n      isSaving.value = false\n      return true\n    })\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/installation/database/MysqlDatabase.vue",
    "content": "<template>\n  <form action=\"\" @submit.prevent=\"next\">\n    <div class=\"grid grid-cols-1 gap-5 md:grid-cols-2 lg:mb-6 md:mb-6\">\n      <BaseInputGroup\n        :label=\"$t('wizard.database.app_url')\"\n        :error=\"v$.app_url.$error && v$.app_url.$errors[0].$message\"\n        required\n      >\n        <BaseInput\n          v-model=\"databaseData.app_url\"\n          :invalid=\"v$.app_url.$error\"\n          type=\"text\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup\n        :label=\"$t('wizard.database.connection')\"\n        :error=\"\n          v$.database_connection.$error &&\n          v$.database_connection.$errors[0].$message\n        \"\n        required\n      >\n        <BaseMultiselect\n          v-model=\"databaseData.database_connection\"\n          :invalid=\"v$.database_connection.$error\"\n          :options=\"connections\"\n          :can-deselect=\"false\"\n          :can-clear=\"false\"\n          @update:modelValue=\"onChangeConnection\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup\n        :label=\"$t('wizard.database.port')\"\n        :error=\"v$.database_port.$error && v$.database_port.$errors[0].$message\"\n        required\n      >\n        <BaseInput\n          v-model=\"databaseData.database_port\"\n          :invalid=\"v$.database_port.$error\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup\n        :label=\"$t('wizard.database.db_name')\"\n        :error=\"v$.database_name.$error && v$.database_name.$errors[0].$message\"\n        required\n      >\n        <BaseInput\n          v-model=\"databaseData.database_name\"\n          :invalid=\"v$.database_name.$error\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup\n        :label=\"$t('wizard.database.username')\"\n        :error=\"\n          v$.database_username.$error &&\n          v$.database_username.$errors[0].$message\n        \"\n        required\n      >\n        <BaseInput\n          v-model=\"databaseData.database_username\"\n          :invalid=\"v$.database_username.$error\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup :label=\"$t('wizard.database.password')\">\n        <BaseInput v-model=\"databaseData.database_password\" type=\"password\" />\n      </BaseInputGroup>\n\n      <BaseInputGroup\n        :label=\"$t('wizard.database.host')\"\n        :error=\"\n          v$.database_hostname.$error &&\n          v$.database_hostname.$errors[0].$message\n        \"\n        required\n      >\n        <BaseInput\n          v-model=\"databaseData.database_hostname\"\n          :invalid=\"v$.database_hostname.$error\"\n        />\n      </BaseInputGroup>\n    </div>\n\n    <BaseButton\n      type=\"submit\"\n      class=\"mt-4\"\n      :loading=\"isSaving\"\n      :disabled=\"isSaving\"\n    >\n      <template #left=\"slotProps\">\n        <BaseIcon v-if=\"!isSaving\" name=\"SaveIcon\" :class=\"slotProps.class\" />\n      </template>\n      {{ $t('wizard.save_cont') }}\n    </BaseButton>\n  </form>\n</template>\n\n<script setup>\nimport { computed, onMounted, reactive, inject } from 'vue'\nimport { useInstallationStore } from '@/scripts/admin/stores/installation'\nimport { helpers, required, numeric } from '@vuelidate/validators'\nimport useVuelidate from '@vuelidate/core'\nimport { useI18n } from 'vue-i18n'\n\nconst props = defineProps({\n  configData: {\n    type: Object,\n    require: true,\n    default: Object,\n  },\n  isSaving: {\n    type: Boolean,\n    require: true,\n    default: false,\n  },\n  isFetchingInitialData: {\n    type: Boolean,\n    default: false,\n  },\n})\n\nconst emit = defineEmits(['submit-data', 'on-change-driver'])\n\nconst connections = reactive(['sqlite', 'mysql', 'pgsql'])\nconst { t } = useI18n()\nconst utils = inject('utils')\n\nconst installationStore = useInstallationStore()\n\nonMounted(() => {\n  for (const key in databaseData.value) {\n    if (props.configData.hasOwnProperty(key)) {\n      databaseData.value[key] = props.configData[key]\n    }\n  }\n})\n\nconst databaseData = computed(() => {\n  return installationStore.currentDataBaseData\n})\n\nconst isUrl = (value) => utils.checkValidUrl(value)\n\nconst rules = {\n  database_connection: {\n    required: helpers.withMessage(t('validation.required'), required),\n  },\n  database_hostname: {\n    required: helpers.withMessage(t('validation.required'), required),\n  },\n  database_port: {\n    required: helpers.withMessage(t('validation.required'), required),\n    numeric: numeric,\n  },\n  database_name: {\n    required: helpers.withMessage(t('validation.required'), required),\n  },\n  database_username: {\n    required: helpers.withMessage(t('validation.required'), required),\n  },\n  app_url: {\n    required: helpers.withMessage(t('validation.required'), required),\n    isUrl: helpers.withMessage(t('validation.invalid_url'), isUrl),\n  },\n}\n\nconst v$ = useVuelidate(rules, databaseData.value)\n\nfunction next() {\n  v$.value.$touch()\n\n  if (v$.value.$invalid) {\n    return true\n  }\n  emit('submit-data', databaseData.value)\n}\n\nfunction onChangeConnection() {\n  v$.value.database_connection.$touch()\n\n  emit('on-change-driver', databaseData.value.database_connection)\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/installation/database/PgsqlDatabase.vue",
    "content": "<template>\n  <form action=\"\" @submit.prevent=\"next\">\n    <div class=\"grid grid-cols-1 gap-5 md:grid-cols-2 lg:mb-6 md:mb-6\">\n      <BaseInputGroup\n        :label=\"$t('wizard.database.app_url')\"\n        :content-loading=\"isFetchingInitialData\"\n        :error=\"v$.app_url.$error && v$.app_url.$errors[0].$message\"\n        required\n      >\n        <BaseInput\n          v-model=\"databaseData.app_url\"\n          :content-loading=\"isFetchingInitialData\"\n          :invalid=\"v$.app_url.$error\"\n          type=\"text\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup\n        :label=\"$t('wizard.database.connection')\"\n        :content-loading=\"isFetchingInitialData\"\n        :error=\"\n          v$.database_connection.$error &&\n          v$.database_connection.$errors[0].$message\n        \"\n        required\n      >\n        <BaseMultiselect\n          v-model=\"databaseData.database_connection\"\n          :content-loading=\"isFetchingInitialData\"\n          :invalid=\"v$.database_connection.$error\"\n          :options=\"connections\"\n          :can-deselect=\"false\"\n          :can-clear=\"false\"\n          @update:modelValue=\"onChangeConnection\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup\n        :label=\"$t('wizard.database.port')\"\n        :content-loading=\"isFetchingInitialData\"\n        :error=\"v$.database_port.$error && v$.database_port.$errors[0].$message\"\n        required\n      >\n        <BaseInput\n          v-model=\"databaseData.database_port\"\n          :content-loading=\"isFetchingInitialData\"\n          :invalid=\"v$.database_port.$error\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup\n        :label=\"$t('wizard.database.db_name')\"\n        :content-loading=\"isFetchingInitialData\"\n        :error=\"v$.database_name.$error && v$.database_name.$errors[0].$message\"\n        required\n      >\n        <BaseInput\n          v-model=\"databaseData.database_name\"\n          :content-loading=\"isFetchingInitialData\"\n          :invalid=\"v$.database_name.$error\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup\n        :label=\"$t('wizard.database.username')\"\n        :content-loading=\"isFetchingInitialData\"\n        :error=\"\n          v$.database_username.$error &&\n          v$.database_username.$errors[0].$message\n        \"\n        required\n      >\n        <BaseInput\n          v-model=\"databaseData.database_username\"\n          :content-loading=\"isFetchingInitialData\"\n          :invalid=\"v$.database_username.$error\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup\n        :content-loading=\"isFetchingInitialData\"\n        :label=\"$t('wizard.database.password')\"\n      >\n        <BaseInput\n          v-model=\"databaseData.database_password\"\n          :content-loading=\"isFetchingInitialData\"\n          type=\"password\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup\n        :label=\"$t('wizard.database.host')\"\n        :content-loading=\"isFetchingInitialData\"\n        :error=\"\n          v$.database_hostname.$error &&\n          v$.database_hostname.$errors[0].$message\n        \"\n        required\n      >\n        <BaseInput\n          v-model=\"databaseData.database_hostname\"\n          :content-loading=\"isFetchingInitialData\"\n          :invalid=\"v$.database_hostname.$error\"\n        />\n      </BaseInputGroup>\n    </div>\n\n    <BaseButton\n      v-show=\"!isFetchingInitialData\"\n      :content-loading=\"isFetchingInitialData\"\n      type=\"submit\"\n      class=\"mt-4\"\n      :loading=\"isSaving\"\n      :disabled=\"isSaving\"\n    >\n      <template #left=\"slotProps\">\n        <BaseIcon v-if=\"!isSaving\" name=\"SaveIcon\" :class=\"slotProps.class\" />\n      </template>\n      {{ $t('wizard.save_cont') }}\n    </BaseButton>\n  </form>\n</template>\n\n<script setup>\nimport { computed, onMounted, reactive, inject } from 'vue'\nimport { useInstallationStore } from '@/scripts/admin/stores/installation'\nimport { helpers, required, numeric } from '@vuelidate/validators'\nimport useVuelidate from '@vuelidate/core'\nimport { useI18n } from 'vue-i18n'\n\nconst props = defineProps({\n  configData: {\n    type: Object,\n    require: true,\n    default: Object,\n  },\n  isSaving: {\n    type: Boolean,\n    require: true,\n    default: false,\n  },\n  isFetchingInitialData: {\n    type: Boolean,\n    require: true,\n    default: false,\n  },\n})\n\nconst emit = defineEmits(['submit-data', 'on-change-driver'])\n\nconst connections = reactive(['sqlite', 'mysql', 'pgsql'])\nconst { t } = useI18n()\nconst utils = inject('utils')\n\nconst installationStore = useInstallationStore()\n\nconst databaseData = computed(() => {\n  return installationStore.currentDataBaseData\n})\n\nonMounted(() => {\n  for (const key in databaseData.value) {\n    if (props.configData.hasOwnProperty(key)) {\n      databaseData.value[key] = props.configData[key]\n    }\n  }\n})\n\nconst isUrl = (value) => utils.checkValidUrl(value)\n\nconst rules = {\n  database_connection: {\n    required: helpers.withMessage(t('validation.required'), required),\n  },\n  database_hostname: {\n    required: helpers.withMessage(t('validation.required'), required),\n  },\n  database_port: {\n    required: helpers.withMessage(t('validation.required'), required),\n    numeric: numeric,\n  },\n  database_name: {\n    required: helpers.withMessage(t('validation.required'), required),\n  },\n  database_username: {\n    required: helpers.withMessage(t('validation.required'), required),\n  },\n  app_url: {\n    required: helpers.withMessage(t('validation.required'), required),\n    isUrl: helpers.withMessage(t('validation.invalid_url'), isUrl),\n  },\n}\n\nconst v$ = useVuelidate(rules, databaseData.value)\n\nfunction next() {\n  v$.value.$touch()\n\n  if (v$.value.$invalid) {\n    return true\n  }\n\n  emit('submit-data', databaseData.value)\n}\n\nfunction onChangeConnection() {\n  v$.value.database_connection.$touch()\n  emit('on-change-driver', databaseData.value.database_connection)\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/installation/database/SqliteDatabase.vue",
    "content": "<template>\n  <form action=\"\" @submit.prevent=\"next\">\n    <div class=\"grid grid-cols-1 gap-5 md:grid-cols-2 lg:mb-6 md:mb-6\">\n      <BaseInputGroup\n        :label=\"$t('wizard.database.app_url')\"\n        :content-loading=\"isFetchingInitialData\"\n        :error=\"v$.app_url.$error && v$.app_url.$errors[0].$message\"\n        required\n      >\n        <BaseInput\n          v-model=\"databaseData.app_url\"\n          :content-loading=\"isFetchingInitialData\"\n          :invalid=\"v$.app_url.$error\"\n          type=\"text\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup\n        :label=\"$t('wizard.database.connection')\"\n        :content-loading=\"isFetchingInitialData\"\n        :error=\"\n          v$.database_connection.$error &&\n          v$.database_connection.$errors[0].$message\n        \"\n        required\n      >\n        <BaseMultiselect\n          v-model=\"databaseData.database_connection\"\n          :content-loading=\"isFetchingInitialData\"\n          :invalid=\"v$.database_connection.$error\"\n          :options=\"connections\"\n          :can-deselect=\"false\"\n          :can-clear=\"false\"\n          @update:modelValue=\"onChangeConnection\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup\n        :label=\"$t('wizard.database.db_path')\"\n        :error=\"v$.database_name.$error && v$.database_name.$errors[0].$message\"\n        :content-loading=\"isFetchingInitialData\"\n        required\n      >\n        <BaseInput\n          v-model=\"databaseData.database_name\"\n          :content-loading=\"isFetchingInitialData\"\n          :invalid=\"v$.database_name.$error\"\n        />\n      </BaseInputGroup>\n    </div>\n\n    <BaseButton\n      v-show=\"!isFetchingInitialData\"\n      :content-loading=\"isFetchingInitialData\"\n      type=\"submit\"\n      class=\"mt-4\"\n      :loading=\"isSaving\"\n      :disabled=\"isSaving\"\n    >\n      <template #left=\"slotProps\">\n        <BaseIcon v-if=\"!isSaving\" name=\"SaveIcon\" :class=\"slotProps.class\" />\n      </template>\n      {{ $t('wizard.save_cont') }}\n    </BaseButton>\n  </form>\n</template>\n\n<script setup>\nimport { computed, onMounted, reactive, inject } from 'vue'\nimport { useInstallationStore } from '@/scripts/admin/stores/installation'\nimport { helpers, required } from '@vuelidate/validators'\nimport useVuelidate from '@vuelidate/core'\nimport { useI18n } from 'vue-i18n'\n\nconst props = defineProps({\n  configData: {\n    type: Object,\n    require: true,\n    default: Object,\n  },\n  isSaving: {\n    type: Boolean,\n    require: true,\n    default: false,\n  },\n  isFetchingInitialData: {\n    type: Boolean,\n    require: true,\n    default: false,\n  },\n})\n\nconst emit = defineEmits(['submit-data', 'on-change-driver'])\n\nconst connections = reactive(['sqlite', 'mysql', 'pgsql'])\nconst { t } = useI18n()\nconst utils = inject('utils')\n\nconst installationStore = useInstallationStore()\n\nconst databaseData = computed(() => {\n  return installationStore.currentDataBaseData\n})\n\nonMounted(() => {\n  for (const key in databaseData.value) {\n    if (props.configData.hasOwnProperty(key)) {\n      databaseData.value[key] = props.configData[key]\n    }\n  }\n})\n\nconst isUrl = (value) => utils.checkValidUrl(value)\n\nconst rules = {\n  database_connection: {\n    required: helpers.withMessage(t('validation.required'), required),\n  },\n\n  database_name: {\n    required: helpers.withMessage(t('validation.required'), required),\n  },\n\n  app_url: {\n    required: helpers.withMessage(t('validation.required'), required),\n    isUrl: helpers.withMessage(t('validation.invalid_url'), isUrl),\n  },\n}\n\nconst v$ = useVuelidate(rules, databaseData.value)\n\nfunction next() {\n  v$.value.$touch()\n\n  if (v$.value.$invalid) {\n    return true\n  }\n\n  emit('submit-data', databaseData.value)\n}\n\nfunction onChangeConnection() {\n  v$.value.database_connection.$touch()\n  emit('on-change-driver', databaseData.value.database_connection)\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/installation/mail-driver/BasicMailDriver.vue",
    "content": "<template>\n  <form @submit.prevent=\"saveEmailConfig\">\n    <div class=\"grid grid-cols-1 gap-4 mb-4 md:grid-cols-2 md:mb-6\">\n      <BaseInputGroup\n        :label=\"$t('wizard.mail.driver')\"\n        :content-loading=\"isFetchingInitialData\"\n        :error=\"\n          v$.basicMailConfig.mail_driver.$error &&\n          v$.basicMailConfig.mail_driver.$errors[0].$message\n        \"\n        required\n      >\n        <BaseMultiselect\n          v-model=\"basicMailConfig.mail_driver\"\n          :invalid=\"v$.basicMailConfig.mail_driver.$error\"\n          :options=\"mailDriverStore.mail_drivers\"\n          :can-deselect=\"false\"\n          :content-loading=\"isFetchingInitialData\"\n          @update:modelValue=\"onChangeDriver\"\n        />\n      </BaseInputGroup>\n    </div>\n\n    <div class=\"grid grid-cols-1 gap-4 mb-6 md:grid-cols-2\">\n      <BaseInputGroup\n        :label=\"$t('wizard.mail.from_name')\"\n        :content-loading=\"isFetchingInitialData\"\n        :error=\"\n          v$.basicMailConfig.from_name.$error &&\n          v$.basicMailConfig.from_name.$errors[0].$message\n        \"\n        required\n      >\n        <BaseInput\n          v-model.trim=\"basicMailConfig.from_name\"\n          :invalid=\"v$.basicMailConfig.from_name.$error\"\n          :content-loading=\"isFetchingInitialData\"\n          type=\"text\"\n          name=\"name\"\n          @input=\"v$.basicMailConfig.from_name.$touch()\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup\n        :label=\"$t('wizard.mail.from_mail')\"\n        :content-loading=\"isFetchingInitialData\"\n        :error=\"\n          v$.basicMailConfig.from_mail.$error &&\n          v$.basicMailConfig.from_mail.$errors[0].$message\n        \"\n        required\n      >\n        <BaseInput\n          v-model.trim=\"basicMailConfig.from_mail\"\n          :invalid=\"v$.basicMailConfig.from_mail.$error\"\n          :content-loading=\"isFetchingInitialData\"\n          type=\"text\"\n          @input=\"v$.basicMailConfig.from_mail.$touch()\"\n        />\n      </BaseInputGroup>\n    </div>\n\n    <BaseButton\n      :loading=\"isSaving\"\n      :disabled=\"isSaving\"\n      :content-loading=\"isFetchingInitialData\"\n      class=\"mt-4\"\n    >\n      <template #left=\"slotProps\">\n        <BaseIcon v-if=\"!isSaving\" name=\"SaveIcon\" :class=\"slotProps.class\" />\n      </template>\n      {{ $t('general.save') }}\n    </BaseButton>\n  </form>\n</template>\n\n<script setup>\nimport { required, email, helpers } from '@vuelidate/validators'\nimport useVuelidate from '@vuelidate/core'\nimport { useI18n } from 'vue-i18n'\nimport { useMailDriverStore } from '@/scripts/admin/stores/mail-driver'\nimport { computed } from 'vue'\n\nconst props = defineProps({\n  isSaving: {\n    type: Boolean,\n    require: true,\n    default: false,\n  },\n  isFetchingInitialData: {\n    type: Boolean,\n    require: true,\n    default: false,\n  },\n})\n\nconst emit = defineEmits(['submit-data', 'on-change-driver'])\n\nconst { t } = useI18n()\n\nconst mailDriverStore = useMailDriverStore()\n\nconst basicMailConfig = computed(() => {\n  return mailDriverStore.basicMailConfig\n})\n\nconst mailDrivers = computed(() => {\n  return mailDriverStore.mail_drivers\n})\n\nbasicMailConfig.value.mail_driver = 'mail'\n\nconst rules = computed(() => {\n  return {\n    basicMailConfig: {\n      mail_driver: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n      from_mail: {\n        required: helpers.withMessage(t('validation.required'), required),\n        email: helpers.withMessage(t('validation.email_incorrect'), email),\n      },\n      from_name: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n    },\n  }\n})\n\nconst v$ = useVuelidate(\n  rules,\n  computed(() => mailDriverStore)\n)\n\nfunction saveEmailConfig() {\n  v$.value.$touch()\n  if (!v$.value.$invalid) {\n    emit('submit-data', mailDriverStore.basicMailConfig)\n  }\n  return false\n}\n\nfunction onChangeDriver() {\n  v$.value.basicMailConfig.mail_driver.$touch()\n  emit('on-change-driver', mailDriverStore?.basicMailConfig?.mail_driver)\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/installation/mail-driver/MailgunMailDriver.vue",
    "content": "<template>\n  <form @submit.prevent=\"saveEmailConfig\">\n    <div class=\"grid grid-cols-1 gap-4 mb-4 md:grid-cols-2 lg:mb-6 md:mb-6\">\n      <BaseInputGroup\n        :label=\"$t('wizard.mail.driver')\"\n        :content-loading=\"isFetchingInitialData\"\n        :error=\"\n          v$.mailgunConfig.mail_driver.$error &&\n          v$.mailgunConfig.mail_driver.$errors[0].$message\n        \"\n        required\n      >\n        <BaseMultiselect\n          v-model=\"mailgunConfig.mail_driver\"\n          :options=\"mailDriverStore.mail_drivers\"\n          :can-deselect=\"false\"\n          :invalid=\"v$.mailgunConfig.mail_driver.$error\"\n          :content-loading=\"isFetchingInitialData\"\n          @update:modelValue=\"onChangeDriver\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup\n        :label=\"$t('wizard.mail.mailgun_domain')\"\n        :content-loading=\"isFetchingInitialData\"\n        :error=\"\n          v$.mailgunConfig.mail_mailgun_domain.$error &&\n          v$.mailgunConfig.mail_mailgun_domain.$errors[0].$message\n        \"\n        required\n      >\n        <BaseInput\n          v-model.trim=\"mailgunConfig.mail_mailgun_domain\"\n          :invalid=\"v$.mailgunConfig.mail_mailgun_domain.$error\"\n          :content-loading=\"isFetchingInitialData\"\n          type=\"text\"\n          name=\"mailgun_domain\"\n          @input=\"v$.mailgunConfig.mail_mailgun_domain.$touch()\"\n        />\n      </BaseInputGroup>\n    </div>\n\n    <div class=\"grid grid-cols-1 gap-4 mb-4 md:grid-cols-2 lg:mb-6 md:mb-6\">\n      <BaseInputGroup\n        :label=\"$t('wizard.mail.mailgun_secret')\"\n        :content-loading=\"isFetchingInitialData\"\n        :error=\"\n          v$.mailgunConfig.mail_mailgun_secret.$error &&\n          v$.mailgunConfig.mail_mailgun_secret.$errors[0].$message\n        \"\n        required\n      >\n        <BaseInput\n          v-model.trim=\"mailgunConfig.mail_mailgun_secret\"\n          :invalid=\"v$.mailgunConfig.mail_mailgun_secret.$error\"\n          :type=\"getInputType\"\n          :content-loading=\"isFetchingInitialData\"\n          name=\"mailgun_secret\"\n          autocomplete=\"off\"\n          data-lpignore=\"true\"\n          @input=\"v$.mailgunConfig.mail_mailgun_secret.$touch()\"\n        >\n          <template #right>\n            <BaseIcon\n              v-if=\"isShowPassword\"\n              name=\"EyeOffIcon\"\n              class=\"w-5 h-5 mr-1 text-gray-500 cursor-pointer\"\n              @click=\"isShowPassword = !isShowPassword\"\n            />\n            <BaseIcon\n              v-else\n              name=\"EyeIcon\"\n              class=\"w-5 h-5 mr-1 text-gray-500 cursor-pointer\"\n              @click=\"isShowPassword = !isShowPassword\"\n            />\n          </template>\n        </BaseInput>\n      </BaseInputGroup>\n\n      <BaseInputGroup\n        :label=\"$t('wizard.mail.mailgun_endpoint')\"\n        :content-loading=\"isFetchingInitialData\"\n        :error=\"\n          v$.mailgunConfig.mail_mailgun_endpoint.$error &&\n          v$.mailgunConfig.mail_mailgun_endpoint.$errors[0].$message\n        \"\n        required\n      >\n        <BaseInput\n          v-model.trim=\"mailgunConfig.mail_mailgun_endpoint\"\n          :invalid=\"v$.mailgunConfig.mail_mailgun_endpoint.$error\"\n          :content-loading=\"isFetchingInitialData\"\n          type=\"text\"\n          name=\"mailgun_endpoint\"\n          @input=\"v$.mailgunConfig.mail_mailgun_endpoint.$touch()\"\n        />\n      </BaseInputGroup>\n    </div>\n\n    <div class=\"grid grid-cols-1 gap-4 mb-6 md:grid-cols-2\">\n      <BaseInputGroup\n        :label=\"$t('wizard.mail.from_mail')\"\n        :content-loading=\"isFetchingInitialData\"\n        :error=\"\n          v$.mailgunConfig.from_mail.$error &&\n          v$.mailgunConfig.from_mail.$errors[0].$message\n        \"\n        required\n      >\n        <BaseInput\n          v-model.trim=\"mailgunConfig.from_mail\"\n          name=\"from_mail\"\n          type=\"text\"\n          :invalid=\"v$.mailgunConfig.from_mail.$error\"\n          :content-loading=\"isFetchingInitialData\"\n          @input=\"v$.mailgunConfig.from_mail.$touch()\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup\n        :label=\"$t('wizard.mail.from_name')\"\n        :content-loading=\"isFetchingInitialData\"\n        :error=\"\n          v$.mailgunConfig.from_name.$error &&\n          v$.mailgunConfig.from_name.$errors[0].$message\n        \"\n        required\n      >\n        <BaseInput\n          v-model.trim=\"mailgunConfig.from_name\"\n          :invalid=\"v$.mailgunConfig.from_name.$error\"\n          :content-loading=\"isFetchingInitialData\"\n          type=\"text\"\n          name=\"from_name\"\n          @input=\"v$.mailgunConfig.from_name.$touch()\"\n        />\n      </BaseInputGroup>\n    </div>\n\n    <BaseButton\n      :loading=\"loading\"\n      :disabled=\"isSaving\"\n      :content-loading=\"isFetchingInitialData\"\n      class=\"mt-4\"\n    >\n      <template #left=\"slotProps\">\n        <BaseIcon v-if=\"!isSaving\" name=\"SaveIcon\" :class=\"slotProps.class\" />\n      </template>\n      {{ $t('general.save') }}\n    </BaseButton>\n  </form>\n</template>\n\n<script setup>\nimport { required, email, helpers } from '@vuelidate/validators'\nimport { useI18n } from 'vue-i18n'\nimport useVuelidate from '@vuelidate/core'\nimport { useMailDriverStore } from '@/scripts/admin/stores/mail-driver'\nimport { computed, onMounted, ref } from 'vue'\n\nconst props = defineProps({\n  isSaving: {\n    type: Boolean,\n    require: true,\n    default: false,\n  },\n  isFetchingInitialData: {\n    type: Boolean,\n    require: true,\n    default: false,\n  },\n})\n\nconst emit = defineEmits(['submit-data', 'on-change-driver'])\n\nlet isShowPassword = ref(false)\n\nconst mailDriverStore = useMailDriverStore()\nconst { t } = useI18n()\n\nconst mailgunConfig = computed(() => {\n  return mailDriverStore.mailgunConfig\n})\n\nconst getInputType = computed(() => {\n  if (isShowPassword.value) {\n    return 'text'\n  }\n  return 'password'\n})\n\nmailgunConfig.value.mail_driver = 'mailgun'\n\nconst rules = computed(() => {\n  return {\n    mailgunConfig: {\n      mail_driver: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n      mail_mailgun_domain: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n      mail_mailgun_endpoint: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n      mail_mailgun_secret: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n      from_mail: {\n        required: helpers.withMessage(t('validation.required'), required),\n        email,\n      },\n      from_name: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n    },\n  }\n})\n\nconst v$ = useVuelidate(\n  rules,\n  computed(() => mailDriverStore)\n)\n\nfunction saveEmailConfig() {\n  v$.value.$touch()\n  if (!v$.value.$invalid) {\n    emit('submit-data', mailDriverStore.mailgunConfig)\n  }\n  return false\n}\n\nfunction onChangeDriver() {\n  v$.value.mailgunConfig.mail_driver.$touch()\n  emit('on-change-driver', mailDriverStore.mailgunConfig.mail_driver)\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/installation/mail-driver/SesMailDriver.vue",
    "content": "<template>\n  <form @submit.prevent=\"saveEmailConfig\">\n    <div class=\"grid grid-cols-1 gap-4 mb-4 md:grid-cols-2 md:mb-6\">\n      <BaseInputGroup\n        :label=\"$t('wizard.mail.driver')\"\n        :content-loading=\"isFetchingInitialData\"\n        :error=\"\n          v$.sesConfig.mail_driver.$error &&\n          v$.sesConfig.mail_driver.$errors[0].$message\n        \"\n        required\n      >\n        <BaseMultiselect\n          v-model=\"sesConfig.mail_driver\"\n          :options=\"mailDriverStore.mail_drivers\"\n          :can-deselect=\"false\"\n          :content-loading=\"isFetchingInitialData\"\n          :invalid=\"v$.sesConfig.mail_driver.$error\"\n          @update:modelValue=\"onChangeDriver\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup\n        :label=\"$t('wizard.mail.host')\"\n        :content-loading=\"isFetchingInitialData\"\n        :error=\"\n          v$.sesConfig.mail_host.$error &&\n          v$.sesConfig.mail_host.$errors[0].$message\n        \"\n        required\n      >\n        <BaseInput\n          v-model.trim=\"sesConfig.mail_host\"\n          :invalid=\"v$.sesConfig.mail_host.$error\"\n          :content-loading=\"isFetchingInitialData\"\n          type=\"text\"\n          name=\"mail_host\"\n          @input=\"v$.sesConfig.mail_host.$touch()\"\n        />\n      </BaseInputGroup>\n    </div>\n\n    <div class=\"grid grid-cols-1 gap-4 mb-4 md:grid-cols-2 md:mb-6\">\n      <BaseInputGroup\n        :label=\"$t('wizard.mail.port')\"\n        :content-loading=\"isFetchingInitialData\"\n        :error=\"\n          v$.sesConfig.mail_port.$error &&\n          v$.sesConfig.mail_port.$errors[0].$message\n        \"\n        required\n      >\n        <BaseInput\n          v-model.trim=\"sesConfig.mail_port\"\n          :invalid=\"v$.sesConfig.mail_port.$error\"\n          :content-loading=\"isFetchingInitialData\"\n          type=\"text\"\n          name=\"mail_port\"\n          @input=\"v$.sesConfig.mail_port.$touch()\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup\n        :label=\"$t('wizard.mail.encryption')\"\n        :content-loading=\"isFetchingInitialData\"\n        :error=\"\n          v$.sesConfig.mail_encryption.$error &&\n          v$.sesConfig.mail_encryption.$errors[0].$message\n        \"\n        required\n      >\n        <BaseMultiselect\n          v-model.trim=\"sesConfig.mail_encryption\"\n          :invalid=\"v$.sesConfig.mail_encryption.$error\"\n          :options=\"encryptions\"\n          :content-loading=\"isFetchingInitialData\"\n          @input=\"v$.sesConfig.mail_encryption.$touch()\"\n        />\n      </BaseInputGroup>\n    </div>\n\n    <div class=\"grid grid-cols-1 gap-4 mb-4 md:grid-cols-2 md:mb-6\">\n      <BaseInputGroup\n        :label=\"$t('wizard.mail.from_mail')\"\n        :content-loading=\"isFetchingInitialData\"\n        :error=\"\n          v$.sesConfig.from_mail.$error &&\n          v$.sesConfig.from_mail.$errors[0].$message\n        \"\n        required\n      >\n        <BaseInput\n          v-model.trim=\"sesConfig.from_mail\"\n          :invalid=\"v$.sesConfig.from_mail.$error\"\n          :content-loading=\"isFetchingInitialData\"\n          type=\"text\"\n          name=\"from_mail\"\n          @input=\"v$.sesConfig.from_mail.$touch()\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup\n        :label=\"$t('wizard.mail.from_name')\"\n        :content-loading=\"isFetchingInitialData\"\n        :error=\"\n          v$.sesConfig.from_name.$error &&\n          v$.sesConfig.from_name.$errors[0].$message\n        \"\n        required\n      >\n        <BaseInput\n          v-model.trim=\"sesConfig.from_name\"\n          :invalid=\"v$.sesConfig.from_name.$error\"\n          :content-loading=\"isFetchingInitialData\"\n          type=\"text\"\n          name=\"name\"\n          @input=\"v$.sesConfig.from_name.$touch()\"\n        />\n      </BaseInputGroup>\n    </div>\n\n    <div class=\"grid grid-cols-1 gap-4 mb-6 md:grid-cols-2\">\n      <BaseInputGroup\n        :label=\"$t('wizard.mail.ses_key')\"\n        :content-loading=\"isFetchingInitialData\"\n        :error=\"\n          v$.sesConfig.mail_ses_key.$error &&\n          v$.sesConfig.mail_ses_key.$errors[0].$message\n        \"\n        required\n      >\n        <BaseInput\n          v-model.trim=\"sesConfig.mail_ses_key\"\n          :invalid=\"v$.sesConfig.mail_ses_key.$error\"\n          :content-loading=\"isFetchingInitialData\"\n          type=\"text\"\n          name=\"mail_ses_key\"\n          @input=\"v$.sesConfig.mail_ses_key.$touch()\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup\n        :label=\"$t('wizard.mail.ses_secret')\"\n        :content-loading=\"isFetchingInitialData\"\n        :error=\"\n          v$.sesConfig.mail_ses_secret.$error &&\n          v$.sesConfig.mail_ses_secret.$errors[0].$message\n        \"\n        required\n      >\n        <BaseInput\n          v-model.trim=\"sesConfig.mail_ses_secret\"\n          :invalid=\"v$.sesConfig.mail_ses_secret.$error\"\n          :type=\"getInputType\"\n          :content-loading=\"isFetchingInitialData\"\n          name=\"mail_ses_secret\"\n          autocomplete=\"off\"\n          data-lpignore=\"true\"\n          @input=\"v$.sesConfig.mail_ses_secret.$touch()\"\n        >\n          <template #right>\n            <BaseIcon\n              v-if=\"isShowPassword\"\n              name=\"EyeOffIcon\"\n              class=\"w-5 h-5 mr-1 text-gray-500 cursor-pointer\"\n              @click=\"isShowPassword = !isShowPassword\"\n            />\n            <BaseIcon\n              v-else\n              name=\"EyeIcon\"\n              class=\"w-5 h-5 mr-1 text-gray-500 cursor-pointer\"\n              @click=\"isShowPassword = !isShowPassword\"\n            />\n          </template>\n        </BaseInput>\n      </BaseInputGroup>\n    </div>\n\n    <BaseButton\n      :loading=\"isSaving\"\n      :disabled=\"isSaving\"\n      :content-loading=\"isFetchingInitialData\"\n      class=\"mt-4\"\n    >\n      <template #left=\"slotProps\">\n        <BaseIcon v-if=\"!isSaving\" name=\"SaveIcon\" :class=\"slotProps.class\" />\n      </template>\n\n      {{ $t('general.save') }}\n    </BaseButton>\n  </form>\n</template>\n\n<script setup>\nimport { computed, reactive, ref } from 'vue'\nimport { required, email, numeric, helpers } from '@vuelidate/validators'\nimport useVuelidate from '@vuelidate/core'\nimport { useI18n } from 'vue-i18n'\nimport { useMailDriverStore } from '@/scripts/admin/stores/mail-driver'\n\nconst props = defineProps({\n  isSaving: {\n    type: Boolean,\n    require: true,\n    default: false,\n  },\n  isFetchingInitialData: {\n    type: Boolean,\n    require: true,\n    default: false,\n  },\n})\n\nconst emit = defineEmits(['submit-data', 'on-change-driver'])\n\nconst { t } = useI18n()\nconst encryptions = reactive(['tls', 'ssl', 'starttls'])\nlet isShowPassword = ref(false)\n\nconst mailDriverStore = useMailDriverStore()\n\nconst sesConfig = computed(() => {\n  return mailDriverStore.sesConfig\n})\n\nsesConfig.value.mail_driver = 'ses'\n\nconst rules = computed(() => {\n  return {\n    sesConfig: {\n      mail_driver: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n      mail_host: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n      mail_port: {\n        required: helpers.withMessage(t('validation.required'), required),\n        numeric,\n      },\n      mail_ses_key: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n      mail_ses_secret: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n      mail_encryption: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n      from_mail: {\n        required: helpers.withMessage(t('validation.required'), required),\n        email: helpers.withMessage(t('validation.email_incorrect'), email),\n      },\n      from_name: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n    },\n  }\n})\n\nconst v$ = useVuelidate(\n  rules,\n  computed(() => mailDriverStore)\n)\n\nasync function saveEmailConfig() {\n  v$.value.$touch()\n  if (!v$.value.$invalid) {\n    emit('submit-data', mailDriverStore.sesConfig)\n  }\n  return false\n}\n\nfunction onChangeDriver() {\n  v$.value.sesConfig.mail_driver.$touch()\n  emit('on-change-driver', mailDriverStore.sesConfig.mail_driver)\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/installation/mail-driver/SmtpMailDriver.vue",
    "content": "<template>\n  <form @submit.prevent=\"saveEmailConfig\">\n    <div class=\"grid grid-cols-1 gap-4 mb-4 md:grid-cols-2 md:mb-6\">\n      <BaseInputGroup\n        :label=\"$t('wizard.mail.driver')\"\n        :content-loading=\"isFetchingInitialData\"\n        :error=\"\n          v$.smtpConfig.mail_driver.$error &&\n          v$.smtpConfig.mail_driver.$errors[0].$message\n        \"\n        required\n      >\n        <BaseMultiselect\n          v-model=\"smtpConfig.mail_driver\"\n          :options=\"mailDriverStore.mail_drivers\"\n          :can-deselect=\"false\"\n          :content-loading=\"isFetchingInitialData\"\n          :invalid=\"v$.smtpConfig.mail_driver.$error\"\n          @update:modelValue=\"onChangeDriver\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup\n        :label=\"$t('wizard.mail.host')\"\n        :content-loading=\"isFetchingInitialData\"\n        :error=\"\n          v$.smtpConfig.mail_host.$error &&\n          v$.smtpConfig.mail_host.$errors[0].$message\n        \"\n        required\n      >\n        <BaseInput\n          v-model.trim=\"smtpConfig.mail_host\"\n          :invalid=\"v$.smtpConfig.mail_host.$error\"\n          :content-loading=\"isFetchingInitialData\"\n          type=\"text\"\n          name=\"mail_host\"\n          @input=\"v$.smtpConfig.mail_host.$touch()\"\n        />\n      </BaseInputGroup>\n    </div>\n\n    <div class=\"grid grid-cols-1 gap-4 mb-4 md:grid-cols-2 md:mb-6\">\n      <BaseInputGroup\n        :label=\"$t('wizard.mail.username')\"\n        :content-loading=\"isFetchingInitialData\"\n      >\n        <BaseInput\n          v-model.trim=\"smtpConfig.mail_username\"\n          :content-loading=\"isFetchingInitialData\"\n          type=\"text\"\n          name=\"db_name\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup\n        :label=\"$t('wizard.mail.password')\"\n        :content-loading=\"isFetchingInitialData\"\n      >\n        <BaseInput\n          v-model.trim=\"smtpConfig.mail_password\"\n          :type=\"getInputType\"\n          :content-loading=\"isFetchingInitialData\"\n          autocomplete=\"off\"\n          data-lpignore=\"true\"\n          name=\"password\"\n        >\n          <template #right>\n            <BaseIcon\n              v-if=\"isShowPassword\"\n              name=\"EyeOffIcon\"\n              class=\"w-5 h-5 mr-1 text-gray-500 cursor-pointer\"\n              @click=\"isShowPassword = !isShowPassword\"\n            />\n            <BaseIcon\n              v-else\n              name=\"EyeIcon\"\n              class=\"w-5 h-5 mr-1 text-gray-500 cursor-pointer\"\n              @click=\"isShowPassword = !isShowPassword\"\n            />\n          </template>\n        </BaseInput>\n      </BaseInputGroup>\n    </div>\n\n    <div class=\"grid grid-cols-1 gap-4 mb-4 md:grid-cols-2 md:mb-6\">\n      <BaseInputGroup\n        :label=\"$t('wizard.mail.port')\"\n        :error=\"\n          v$.smtpConfig.mail_port.$error &&\n          v$.smtpConfig.mail_port.$errors[0].$message\n        \"\n        :content-loading=\"isFetchingInitialData\"\n        required\n      >\n        <BaseInput\n          v-model.trim=\"smtpConfig.mail_port\"\n          :invalid=\"v$.smtpConfig.mail_port.$error\"\n          :content-loading=\"isFetchingInitialData\"\n          type=\"text\"\n          name=\"mail_port\"\n          @input=\"v$.smtpConfig.mail_port.$touch()\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup\n        :label=\"$t('wizard.mail.encryption')\"\n        :error=\"\n          v$.smtpConfig.mail_encryption.$error &&\n          v$.smtpConfig.mail_encryption.$errors[0].$message\n        \"\n        :content-loading=\"isFetchingInitialData\"\n        required\n      >\n        <BaseMultiselect\n          v-model.trim=\"smtpConfig.mail_encryption\"\n          :options=\"encryptions\"\n          :can-deselect=\"false\"\n          :invalid=\"v$.smtpConfig.mail_encryption.$error\"\n          :content-loading=\"isFetchingInitialData\"\n          @input=\"v$.smtpConfig.mail_encryption.$touch()\"\n        />\n      </BaseInputGroup>\n    </div>\n\n    <div class=\"grid grid-cols-1 gap-4 mb-6 md:grid-cols-2\">\n      <BaseInputGroup\n        :label=\"$t('wizard.mail.from_mail')\"\n        :error=\"\n          v$.smtpConfig.from_mail.$error &&\n          v$.smtpConfig.from_mail.$errors[0].$message\n        \"\n        :content-loading=\"isFetchingInitialData\"\n        required\n      >\n        <BaseInput\n          v-model.trim=\"smtpConfig.from_mail\"\n          :invalid=\"v$.smtpConfig.from_mail.$error\"\n          :content-loading=\"isFetchingInitialData\"\n          type=\"text\"\n          name=\"from_mail\"\n          @input=\"v$.smtpConfig.from_mail.$touch()\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup\n        :label=\"$t('wizard.mail.from_name')\"\n        :error=\"\n          v$.smtpConfig.from_name.$error &&\n          v$.smtpConfig.from_name.$errors[0].$message\n        \"\n        :content-loading=\"isFetchingInitialData\"\n        required\n      >\n        <BaseInput\n          v-model.trim=\"smtpConfig.from_name\"\n          :invalid=\"v$.smtpConfig.from_name.$error\"\n          :content-loading=\"isFetchingInitialData\"\n          type=\"text\"\n          name=\"from_name\"\n          @input=\"v$.smtpConfig.from_name.$touch()\"\n        />\n      </BaseInputGroup>\n    </div>\n\n    <BaseButton\n      :loading=\"isSaving\"\n      :disabled=\"isSaving\"\n      :content-loading=\"isFetchingInitialData\"\n      class=\"mt-4\"\n    >\n      <template #left=\"slotProps\">\n        <BaseIcon v-if=\"!isSaving\" name=\"SaveIcon\" :class=\"slotProps.class\" />\n      </template>\n      {{ $t('general.save') }}\n    </BaseButton>\n  </form>\n</template>\n\n<script setup>\nimport { reactive, ref, computed } from 'vue'\nimport { required, email, numeric, helpers } from '@vuelidate/validators'\nimport useVuelidate from '@vuelidate/core'\nimport { useI18n } from 'vue-i18n'\nimport { useMailDriverStore } from '@/scripts/admin/stores/mail-driver'\n\nconst props = defineProps({\n  isSaving: {\n    type: Boolean,\n    require: true,\n    default: false,\n  },\n  isFetchingInitialData: {\n    type: Boolean,\n    require: true,\n    default: false,\n  },\n})\n\nconst emit = defineEmits(['submit-data', 'on-change-driver'])\n\nlet isShowPassword = ref(false)\nconst encryptions = reactive(['tls', 'ssl', 'starttls'])\nconst { t } = useI18n()\n\nconst mailDriverStore = useMailDriverStore()\n\nconst smtpConfig = computed(() => {\n  return mailDriverStore.smtpConfig\n})\n\nconst getInputType = computed(() => {\n  if (isShowPassword.value) {\n    return 'text'\n  }\n  return 'password'\n})\n\nsmtpConfig.value.mail_driver = 'smtp'\n\nconst rules = computed(() => {\n  return {\n    smtpConfig: {\n      mail_driver: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n      mail_host: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n      mail_port: {\n        required: helpers.withMessage(t('validation.required'), required),\n        numeric: helpers.withMessage(t('validation.numbers_only'), numeric),\n      },\n      mail_encryption: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n      from_mail: {\n        required: helpers.withMessage(t('validation.required'), required),\n        email: helpers.withMessage(t('validation.email_incorrect'), email),\n      },\n      from_name: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n    },\n  }\n})\n\nconst v$ = useVuelidate(\n  rules,\n  computed(() => mailDriverStore)\n)\n\nasync function saveEmailConfig() {\n  v$.value.$touch()\n  if (!v$.value.$invalid) {\n    emit('submit-data', mailDriverStore.smtpConfig)\n  }\n  return false\n}\n\nfunction onChangeDriver() {\n  v$.value.smtpConfig.mail_driver.$touch()\n  emit('on-change-driver', mailDriverStore.smtpConfig.mail_driver)\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/invoices/Index.vue",
    "content": "<template>\n  <BasePage>\n    <SendInvoiceModal />\n    <BasePageHeader :title=\"$t('invoices.title')\">\n      <BaseBreadcrumb>\n        <BaseBreadcrumbItem :title=\"$t('general.home')\" to=\"dashboard\" />\n        <BaseBreadcrumbItem :title=\"$tc('invoices.invoice', 2)\" to=\"#\" active />\n      </BaseBreadcrumb>\n\n      <template #actions>\n        <BaseButton\n          v-show=\"invoiceStore.invoiceTotalCount\"\n          variant=\"primary-outline\"\n          @click=\"toggleFilter\"\n        >\n          {{ $t('general.filter') }}\n          <template #right=\"slotProps\">\n            <BaseIcon\n              v-if=\"!showFilters\"\n              name=\"FilterIcon\"\n              :class=\"slotProps.class\"\n            />\n            <BaseIcon v-else name=\"XIcon\" :class=\"slotProps.class\" />\n          </template>\n        </BaseButton>\n\n        <router-link\n          v-if=\"userStore.hasAbilities(abilities.CREATE_INVOICE)\"\n          to=\"invoices/create\"\n        >\n          <BaseButton variant=\"primary\" class=\"ml-4\">\n            <template #left=\"slotProps\">\n              <BaseIcon name=\"PlusIcon\" :class=\"slotProps.class\" />\n            </template>\n            {{ $t('invoices.new_invoice') }}\n          </BaseButton>\n        </router-link>\n      </template>\n    </BasePageHeader>\n\n    <BaseFilterWrapper\n      v-show=\"showFilters\"\n      :row-on-xl=\"true\"\n      @clear=\"clearFilter\"\n    >\n      <BaseInputGroup :label=\"$tc('customers.customer', 1)\">\n        <BaseCustomerSelectInput\n          v-model=\"filters.customer_id\"\n          :placeholder=\"$t('customers.type_or_click')\"\n          value-prop=\"id\"\n          label=\"name\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup :label=\"$t('invoices.status')\">\n        <BaseMultiselect\n          v-model=\"filters.status\"\n          :groups=\"true\"\n          :options=\"status\"\n          searchable\n          :placeholder=\"$t('general.select_a_status')\"\n          @update:modelValue=\"setActiveTab\"\n          @remove=\"clearStatusSearch()\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup :label=\"$t('general.from')\">\n        <BaseDatePicker\n          v-model=\"filters.from_date\"\n          :calendar-button=\"true\"\n          calendar-button-icon=\"calendar\"\n        />\n      </BaseInputGroup>\n\n      <div\n        class=\"hidden w-8 h-0 mx-4 border border-gray-400 border-solid xl:block\"\n        style=\"margin-top: 1.5rem\"\n      />\n\n      <BaseInputGroup :label=\"$t('general.to')\" class=\"mt-2\">\n        <BaseDatePicker\n          v-model=\"filters.to_date\"\n          :calendar-button=\"true\"\n          calendar-button-icon=\"calendar\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup :label=\"$t('invoices.invoice_number')\">\n        <BaseInput v-model=\"filters.invoice_number\">\n          <template #left=\"slotProps\">\n            <BaseIcon name=\"HashtagIcon\" :class=\"slotProps.class\" />\n          </template>\n        </BaseInput>\n      </BaseInputGroup>\n    </BaseFilterWrapper>\n\n    <BaseEmptyPlaceholder\n      v-show=\"showEmptyScreen\"\n      :title=\"$t('invoices.no_invoices')\"\n      :description=\"$t('invoices.list_of_invoices')\"\n    >\n      <MoonwalkerIcon class=\"mt-5 mb-4\" />\n      <template\n        v-if=\"userStore.hasAbilities(abilities.CREATE_INVOICE)\"\n        #actions\n      >\n        <BaseButton\n          variant=\"primary-outline\"\n          @click=\"$router.push('/admin/invoices/create')\"\n        >\n          <template #left=\"slotProps\">\n            <BaseIcon name=\"PlusIcon\" :class=\"slotProps.class\" />\n          </template>\n          {{ $t('invoices.add_new_invoice') }}\n        </BaseButton>\n      </template>\n    </BaseEmptyPlaceholder>\n\n    <div v-show=\"!showEmptyScreen\" class=\"relative table-container\">\n      <div\n        class=\"\n          relative\n          flex\n          items-center\n          justify-between\n          h-10\n          mt-5\n          list-none\n          border-b-2 border-gray-200 border-solid\n        \"\n      >\n        <!-- Tabs -->\n        <BaseTabGroup class=\"-mb-5\" @change=\"setStatusFilter\">\n          <BaseTab :title=\"$t('general.all')\" filter=\"\" />\n          <BaseTab :title=\"$t('general.draft')\" filter=\"DRAFT\" />\n          <BaseTab :title=\"$t('general.sent')\" filter=\"SENT\" />\n          <BaseTab :title=\"$t('general.due')\" filter=\"DUE\" />\n        </BaseTabGroup>\n\n        <BaseDropdown\n          v-if=\"\n            invoiceStore.selectedInvoices.length &&\n            userStore.hasAbilities(abilities.DELETE_INVOICE)\n          \"\n          class=\"absolute float-right\"\n        >\n          <template #activator>\n            <span\n              class=\"\n                flex\n                text-sm\n                font-medium\n                cursor-pointer\n                select-none\n                text-primary-400\n              \"\n            >\n              {{ $t('general.actions') }}\n              <BaseIcon name=\"ChevronDownIcon\" />\n            </span>\n          </template>\n\n          <BaseDropdownItem @click=\"removeMultipleInvoices\">\n            <BaseIcon name=\"TrashIcon\" class=\"mr-3 text-gray-600\" />\n            {{ $t('general.delete') }}\n          </BaseDropdownItem>\n        </BaseDropdown>\n      </div>\n\n      <BaseTable\n        ref=\"table\"\n        :data=\"fetchData\"\n        :columns=\"invoiceColumns\"\n        :placeholder-count=\"invoiceStore.invoiceTotalCount >= 20 ? 10 : 5\"\n        class=\"mt-10\"\n      >\n        <!-- Select All Checkbox -->\n        <template #header>\n          <div class=\"absolute items-center left-6 top-2.5 select-none\">\n            <BaseCheckbox\n              v-model=\"invoiceStore.selectAllField\"\n              variant=\"primary\"\n              @change=\"invoiceStore.selectAllInvoices\"\n            />\n          </div>\n        </template>\n\n        <template #cell-checkbox=\"{ row }\">\n          <div class=\"relative block\">\n            <BaseCheckbox\n              :id=\"row.id\"\n              v-model=\"selectField\"\n              :value=\"row.data.id\"\n            />\n          </div>\n        </template>\n\n        <template #cell-name=\"{ row }\">\n          <BaseText :text=\"row.data.customer.name\" :length=\"30\" />\n        </template>\n\n        <!-- Invoice Number  -->\n        <template #cell-invoice_number=\"{ row }\">\n          <router-link\n            :to=\"{ path: `invoices/${row.data.id}/view` }\"\n            class=\"font-medium text-primary-500\"\n          >\n            {{ row.data.invoice_number }}\n          </router-link>\n        </template>\n\n        <!-- Invoice date  -->\n        <template #cell-invoice_date=\"{ row }\">\n          {{ row.data.formatted_invoice_date }}\n        </template>\n\n        <!-- Invoice Total  -->\n        <template #cell-total=\"{ row }\">\n          <BaseFormatMoney\n            :amount=\"row.data.total\"\n            :currency=\"row.data.customer.currency\"\n          />\n        </template>\n\n        <!-- Invoice status  -->\n        <template #cell-status=\"{ row }\">\n          <BaseInvoiceStatusBadge :status=\"row.data.status\" class=\"px-3 py-1\">\n            {{ row.data.status }}\n          </BaseInvoiceStatusBadge>\n        </template>\n\n        <!-- Due Amount + Paid Status  -->\n        <template #cell-due_amount=\"{ row }\">\n          <div class=\"flex justify-between\">\n            <BaseFormatMoney\n              :amount=\"row.data.due_amount\"\n              :currency=\"row.data.currency\"\n            />\n\n            <BasePaidStatusBadge\n              v-if=\"row.data.overdue\"\n              status=\"OVERDUE\"\n              class=\"px-1 py-0.5 ml-2\"\n            >\n              {{ $t('invoices.overdue') }}\n            </BasePaidStatusBadge>\n\n            <BasePaidStatusBadge\n              :status=\"row.data.paid_status\"\n              class=\"px-1 py-0.5 ml-2\"\n            >\n              {{ row.data.paid_status }}\n            </BasePaidStatusBadge>\n          </div>\n        </template>\n\n        <!-- Actions -->\n        <template v-if=\"hasAtleastOneAbility()\" #cell-actions=\"{ row }\">\n          <InvoiceDropdown :row=\"row.data\" :table=\"table\" />\n        </template>\n      </BaseTable>\n    </div>\n  </BasePage>\n</template>\n\n<script setup>\nimport { computed, onUnmounted, reactive, ref, watch, inject } from 'vue'\nimport { useRouter } from 'vue-router'\nimport { useI18n } from 'vue-i18n'\nimport { useInvoiceStore } from '@/scripts/admin/stores/invoice'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport { useDialogStore } from '@/scripts/stores/dialog'\nimport { useUserStore } from '@/scripts/admin/stores/user'\nimport abilities from '@/scripts/admin/stub/abilities'\nimport { debouncedWatch } from '@vueuse/core'\n\nimport MoonwalkerIcon from '@/scripts/components/icons/empty/MoonwalkerIcon.vue'\nimport InvoiceDropdown from '@/scripts/admin/components/dropdowns/InvoiceIndexDropdown.vue'\nimport SendInvoiceModal from '@/scripts/admin/components/modal-components/SendInvoiceModal.vue'\n// Stores\nconst invoiceStore = useInvoiceStore()\nconst dialogStore = useDialogStore()\nconst notificationStore = useNotificationStore()\n\nconst { t } = useI18n()\n\n// Local State\nconst utils = inject('$utils')\nconst table = ref(null)\nconst showFilters = ref(false)\n\nconst status = ref([\n  {\n    label: 'Status',\n    options: ['DRAFT', 'DUE', 'SENT', 'VIEWED', 'COMPLETED'],\n  },\n  {\n    label: 'Paid Status',\n    options: ['UNPAID', 'PAID', 'PARTIALLY_PAID'],\n  },\n  ,\n])\nconst isRequestOngoing = ref(true)\nconst activeTab = ref('general.draft')\nconst router = useRouter()\nconst userStore = useUserStore()\n\nlet filters = reactive({\n  customer_id: '',\n  status: '',\n  from_date: '',\n  to_date: '',\n  invoice_number: '',\n})\n\nconst showEmptyScreen = computed(\n  () => !invoiceStore.invoiceTotalCount && !isRequestOngoing.value\n)\n\nconst selectField = computed({\n  get: () => invoiceStore.selectedInvoices,\n  set: (value) => {\n    return invoiceStore.selectInvoice(value)\n  },\n})\n\nconst invoiceColumns = computed(() => {\n  return [\n    {\n      key: 'checkbox',\n      thClass: 'extra w-10',\n      tdClass: 'font-medium text-gray-900',\n      placeholderClass: 'w-10',\n      sortable: false,\n    },\n    {\n      key: 'invoice_date',\n      label: t('invoices.date'),\n      thClass: 'extra',\n      tdClass: 'font-medium',\n    },\n    { key: 'invoice_number', label: t('invoices.number') },\n    { key: 'name', label: t('invoices.customer') },\n    { key: 'status', label: t('invoices.status') },\n    {\n      key: 'due_amount',\n      label: t('dashboard.recent_invoices_card.amount_due'),\n    },\n    {\n      key: 'total',\n      label: t('invoices.total'),\n      tdClass: 'font-medium text-gray-900',\n    },\n\n    {\n      key: 'actions',\n      label: t('invoices.action'),\n      tdClass: 'text-right text-sm font-medium',\n      thClass: 'text-right',\n      sortable: false,\n    },\n  ]\n})\n\ndebouncedWatch(\n  filters,\n  () => {\n    setFilters()\n  },\n  { debounce: 500 }\n)\n\nonUnmounted(() => {\n  if (invoiceStore.selectAllField) {\n    invoiceStore.selectAllInvoices()\n  }\n})\n\nfunction hasAtleastOneAbility() {\n  return userStore.hasAbilities([\n    abilities.DELETE_INVOICE,\n    abilities.EDIT_INVOICE,\n    abilities.VIEW_INVOICE,\n    abilities.SEND_INVOICE,\n  ])\n}\n\nasync function clearStatusSearch(removedOption, id) {\n  filters.status = ''\n  refreshTable()\n}\n\nfunction refreshTable() {\n  table.value && table.value.refresh()\n}\n\nasync function fetchData({ page, filter, sort }) {\n  let data = {\n    customer_id: filters.customer_id,\n    status: filters.status,\n    from_date: filters.from_date,\n    to_date: filters.to_date,\n    invoice_number: filters.invoice_number,\n    orderByField: sort.fieldName || 'created_at',\n    orderBy: sort.order || 'desc',\n    page,\n  }\n\n  isRequestOngoing.value = true\n\n  let response = await invoiceStore.fetchInvoices(data)\n\n  isRequestOngoing.value = false\n\n  return {\n    data: response.data.data,\n    pagination: {\n      totalPages: response.data.meta.last_page,\n      currentPage: page,\n      totalCount: response.data.meta.total,\n      limit: 10,\n    },\n  }\n}\n\nfunction setStatusFilter(val) {\n  if (activeTab.value == val.title) {\n    return true\n  }\n\n  activeTab.value = val.title\n\n  switch (val.title) {\n    case t('general.draft'):\n      filters.status = 'DRAFT'\n      break\n    case t('general.sent'):\n      filters.status = 'SENT'\n      break\n\n    case t('general.due'):\n      filters.status = 'DUE'\n      break\n\n    default:\n      filters.status = ''\n      break\n  }\n}\n\nfunction setFilters() {\n  invoiceStore.$patch((state) => {\n    state.selectedInvoices = []\n    state.selectAllField = false\n  })\n\n  refreshTable()\n}\n\nfunction clearFilter() {\n  filters.customer_id = ''\n  filters.status = ''\n  filters.from_date = ''\n  filters.to_date = ''\n  filters.invoice_number = ''\n\n  activeTab.value = t('general.all')\n}\n\nasync function removeMultipleInvoices() {\n  dialogStore\n    .openDialog({\n      title: t('general.are_you_sure'),\n      message: t('invoices.confirm_delete'),\n      yesLabel: t('general.ok'),\n      noLabel: t('general.cancel'),\n      variant: 'danger',\n      hideNoButton: false,\n      size: 'lg',\n    })\n    .then(async (res) => {\n      if (res) {\n        await invoiceStore.deleteMultipleInvoices().then((res) => {\n          if (res.data.success) {\n            refreshTable()\n\n            invoiceStore.$patch((state) => {\n              state.selectedInvoices = []\n              state.selectAllField = false\n            })\n          }\n        })\n      }\n    })\n}\n\nfunction toggleFilter() {\n  if (showFilters.value) {\n    clearFilter()\n  }\n\n  showFilters.value = !showFilters.value\n}\n\nfunction setActiveTab(val) {\n  switch (val) {\n    case 'DRAFT':\n      activeTab.value = t('general.draft')\n      break\n    case 'SENT':\n      activeTab.value = t('general.sent')\n      break\n\n    case 'DUE':\n      activeTab.value = t('general.due')\n      break\n\n    case 'COMPLETED':\n      activeTab.value = t('invoices.completed')\n      break\n\n    case 'PAID':\n      activeTab.value = t('invoices.paid')\n      break\n\n    case 'UNPAID':\n      activeTab.value = t('invoices.unpaid')\n      break\n\n    case 'PARTIALLY_PAID':\n      activeTab.value = t('invoices.partially_paid')\n      break\n\n    case 'VIEWED':\n      activeTab.value = t('invoices.viewed')\n      break\n\n    default:\n      activeTab.value = t('general.all')\n      break\n  }\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/invoices/View.vue",
    "content": "<script setup>\nimport { useI18n } from 'vue-i18n'\nimport { computed, reactive, ref, watch } from 'vue'\nimport { useRoute } from 'vue-router'\nimport { debounce } from 'lodash'\n\nimport { useInvoiceStore } from '@/scripts/admin/stores/invoice'\nimport { useModalStore } from '@/scripts/stores/modal'\nimport { useUserStore } from '@/scripts/admin/stores/user'\nimport { useDialogStore } from '@/scripts/stores/dialog'\n\nimport SendInvoiceModal from '@/scripts/admin/components/modal-components/SendInvoiceModal.vue'\nimport InvoiceDropdown from '@/scripts/admin/components/dropdowns/InvoiceIndexDropdown.vue'\nimport LoadingIcon from '@/scripts/components/icons/LoadingIcon.vue'\n\nimport abilities from '@/scripts/admin/stub/abilities'\n\nconst modalStore = useModalStore()\nconst invoiceStore = useInvoiceStore()\nconst userStore = useUserStore()\nconst dialogStore = useDialogStore()\n\nconst { t } = useI18n()\nconst invoiceData = ref(null)\nconst route = useRoute()\n\nconst isMarkAsSent = ref(false)\nconst isLoading = ref(false)\n\nconst invoiceList = ref(null)\nconst currentPageNumber = ref(1)\nconst lastPageNumber = ref(1)\nconst invoiceListSection = ref(null)\n\nconst searchData = reactive({\n  orderBy: null,\n  orderByField: null,\n  searchText: null,\n})\n\nconst pageTitle = computed(() => invoiceData.value.invoice_number)\n\nconst getOrderBy = computed(() => {\n  if (searchData.orderBy === 'asc' || searchData.orderBy == null) {\n    return true\n  }\n  return false\n})\n\nconst getOrderName = computed(() => {\n  if (getOrderBy.value) {\n    return t('general.ascending')\n  }\n  return t('general.descending')\n})\n\nconst shareableLink = computed(() => {\n  return `/invoices/pdf/${invoiceData.value.unique_hash}`\n})\n\nconst getCurrentInvoiceId = computed(() => {\n  if (invoiceData.value && invoiceData.value.id) {\n    return invoice.value.id\n  }\n  return null\n})\n\nwatch(route, (to, from) => {\n  if (to.name === 'invoices.view') {\n    loadInvoice()\n  }\n})\n\nasync function onMarkAsSent() {\n  dialogStore\n    .openDialog({\n      title: t('general.are_you_sure'),\n      message: t('invoices.invoice_mark_as_sent'),\n      yesLabel: t('general.ok'),\n      noLabel: t('general.cancel'),\n      variant: 'primary',\n      hideNoButton: false,\n      size: 'lg',\n    })\n    .then(async (response) => {\n      isMarkAsSent.value = false\n      if (response) {\n        await invoiceStore.markAsSent({\n          id: invoiceData.value.id,\n          status: 'SENT',\n        })\n        invoiceData.value.status = 'SENT'\n        isMarkAsSent.value = true\n      }\n      isMarkAsSent.value = false\n    })\n}\n\nasync function onSendInvoice(id) {\n  modalStore.openModal({\n    title: t('invoices.send_invoice'),\n    componentName: 'SendInvoiceModal',\n    id: invoiceData.value.id,\n    data: invoiceData.value,\n  })\n}\n\nfunction hasActiveUrl(id) {\n  return route.params.id == id\n}\n\nasync function loadInvoices(pageNumber, fromScrollListener = false) {\n  if (isLoading.value) {\n    return\n  }\n\n  let params = {}\n  if (\n    searchData.searchText !== '' &&\n    searchData.searchText !== null &&\n    searchData.searchText !== undefined\n  ) {\n    params.search = searchData.searchText\n  }\n\n  if (searchData.orderBy !== null && searchData.orderBy !== undefined) {\n    params.orderBy = searchData.orderBy\n  }\n\n  if (\n    searchData.orderByField !== null &&\n    searchData.orderByField !== undefined\n  ) {\n    params.orderByField = searchData.orderByField\n  }\n\n  isLoading.value = true\n  let response = await invoiceStore.fetchInvoices({\n    page: pageNumber,\n    ...params,\n  })\n  isLoading.value = false\n\n  invoiceList.value = invoiceList.value ? invoiceList.value : []\n  invoiceList.value = [...invoiceList.value, ...response.data.data]\n\n  currentPageNumber.value = pageNumber ? pageNumber : 1\n  lastPageNumber.value = response.data.meta.last_page\n  let invoiceFound = invoiceList.value.find((inv) => inv.id == route.params.id)\n\n  if (\n    fromScrollListener == false &&\n    !invoiceFound &&\n    currentPageNumber.value < lastPageNumber.value &&\n    Object.keys(params).length === 0\n  ) {\n    loadInvoices(++currentPageNumber.value)\n  }\n\n  if (invoiceFound) {\n    setTimeout(() => {\n      if (fromScrollListener == false) {\n        scrollToInvoice()\n      }\n    }, 500)\n  }\n}\n\nfunction scrollToInvoice() {\n  const el = document.getElementById(`invoice-${route.params.id}`)\n  if (el) {\n    el.scrollIntoView({ behavior: 'smooth' })\n    el.classList.add('shake')\n    addScrollListener()\n  }\n}\n\nfunction addScrollListener() {\n  invoiceListSection.value.addEventListener('scroll', (ev) => {\n    if (\n      ev.target.scrollTop > 0 &&\n      ev.target.scrollTop + ev.target.clientHeight >\n        ev.target.scrollHeight - 200\n    ) {\n      if (currentPageNumber.value < lastPageNumber.value) {\n        loadInvoices(++currentPageNumber.value, true)\n      }\n    }\n  })\n}\n\nasync function loadInvoice() {\n  let response = await invoiceStore.fetchInvoice(route.params.id)\n  if (response.data) {\n    invoiceData.value = { ...response.data.data }\n  }\n}\n\nasync function onSearched() {\n  invoiceList.value = []\n  loadInvoices()\n}\n\nfunction sortData() {\n  if (searchData.orderBy === 'asc') {\n    searchData.orderBy = 'desc'\n    onSearched()\n    return true\n  }\n  searchData.orderBy = 'asc'\n  onSearched()\n  return true\n}\n\nfunction updateSentInvoice() {\n  let pos = invoiceList.value.findIndex(\n    (invoice) => invoice.id === invoiceData.value.id\n  )\n\n  if (invoiceList.value[pos]) {\n    invoiceList.value[pos].status = 'SENT'\n    invoiceData.value.status = 'SENT'\n  }\n}\n\nloadInvoices()\nloadInvoice()\nonSearched = debounce(onSearched, 500)\n</script>\n\n<template>\n  <SendInvoiceModal @update=\"updateSentInvoice\" />\n\n  <BasePage v-if=\"invoiceData\" class=\"xl:pl-96 xl:ml-8\">\n    <BasePageHeader :title=\"pageTitle\">\n      <template #actions>\n        <div class=\"text-sm mr-3\">\n          <BaseButton\n            v-if=\"\n              invoiceData.status === 'DRAFT' &&\n              userStore.hasAbilities(abilities.EDIT_INVOICE)\n            \"\n            :disabled=\"isMarkAsSent\"\n            variant=\"primary-outline\"\n            @click=\"onMarkAsSent\"\n          >\n            {{ $t('invoices.mark_as_sent') }}\n          </BaseButton>\n        </div>\n\n        <BaseButton\n          v-if=\"\n            invoiceData.status === 'DRAFT' &&\n            userStore.hasAbilities(abilities.SEND_INVOICE)\n          \"\n          variant=\"primary\"\n          class=\"text-sm\"\n          @click=\"onSendInvoice\"\n        >\n          {{ $t('invoices.send_invoice') }}\n        </BaseButton>\n\n        <!-- Record Payment  -->\n        <router-link\n          v-if=\"userStore.hasAbilities(abilities.CREATE_PAYMENT)\"\n          :to=\"`/admin/payments/${$route.params.id}/create`\"\n        >\n          <BaseButton\n            v-if=\"\n              invoiceData.status === 'SENT' || invoiceData.status === 'VIEWED'\n            \"\n            variant=\"primary\"\n          >\n            {{ $t('invoices.record_payment') }}\n          </BaseButton>\n        </router-link>\n\n        <!-- Invoice Dropdown  -->\n        <InvoiceDropdown\n          class=\"ml-3\"\n          :row=\"invoiceData\"\n          :load-data=\"loadInvoices\"\n        />\n      </template>\n    </BasePageHeader>\n\n    <!-- sidebar -->\n    <div\n      class=\"\n        fixed\n        top-0\n        left-0\n        hidden\n        h-full\n        pt-16\n        pb-[6.4rem]\n        ml-56\n        bg-white\n        xl:ml-64\n        w-88\n        xl:block\n      \"\n    >\n      <div\n        class=\"\n          flex\n          items-center\n          justify-between\n          px-4\n          pt-8\n          pb-2\n          border border-gray-200 border-solid\n          height-full\n        \"\n      >\n        <div class=\"mb-6\">\n          <BaseInput\n            v-model=\"searchData.searchText\"\n            :placeholder=\"$t('general.search')\"\n            type=\"text\"\n            variant=\"gray\"\n            @input=\"onSearched()\"\n          >\n            <template #right>\n              <BaseIcon name=\"SearchIcon\" class=\"h-5 text-gray-400\" />\n            </template>\n          </BaseInput>\n        </div>\n\n        <div class=\"flex mb-6 ml-3\" role=\"group\" aria-label=\"First group\">\n          <BaseDropdown class=\"ml-3\" position=\"bottom-start\">\n            <template #activator>\n              <BaseButton size=\"md\" variant=\"gray\">\n                <BaseIcon name=\"FilterIcon\" />\n              </BaseButton>\n            </template>\n            <div\n              class=\"\n                px-2\n                py-1\n                pb-2\n                mb-1 mb-2\n                text-sm\n                border-b border-gray-200 border-solid\n              \"\n            >\n              {{ $t('general.sort_by') }}\n            </div>\n\n            <BaseDropdownItem class=\"flex px-1 py-2 cursor-pointer\">\n              <BaseInputGroup class=\"-mt-3 font-normal\">\n                <BaseRadio\n                  id=\"filter_invoice_date\"\n                  v-model=\"searchData.orderByField\"\n                  :label=\"$t('reports.invoices.invoice_date')\"\n                  size=\"sm\"\n                  name=\"filter\"\n                  value=\"invoice_date\"\n                  @update:modelValue=\"onSearched\"\n                />\n              </BaseInputGroup>\n            </BaseDropdownItem>\n\n            <BaseDropdownItem class=\"flex px-1 py-2 cursor-pointer\">\n              <BaseInputGroup class=\"-mt-3 font-normal\">\n                <BaseRadio\n                  id=\"filter_due_date\"\n                  v-model=\"searchData.orderByField\"\n                  :label=\"$t('invoices.due_date')\"\n                  value=\"due_date\"\n                  size=\"sm\"\n                  name=\"filter\"\n                  @update:modelValue=\"onSearched\"\n                />\n              </BaseInputGroup>\n            </BaseDropdownItem>\n\n            <BaseDropdownItem class=\"flex px-1 py-2 cursor-pointer\">\n              <BaseInputGroup class=\"-mt-3 font-normal\">\n                <BaseRadio\n                  id=\"filter_invoice_number\"\n                  v-model=\"searchData.orderByField\"\n                  :label=\"$t('invoices.invoice_number')\"\n                  value=\"invoice_number\"\n                  size=\"sm\"\n                  name=\"filter\"\n                  @update:modelValue=\"onSearched\"\n                />\n              </BaseInputGroup>\n            </BaseDropdownItem>\n          </BaseDropdown>\n\n          <BaseButton class=\"ml-1\" size=\"md\" variant=\"gray\" @click=\"sortData\">\n            <BaseIcon v-if=\"getOrderBy\" name=\"SortAscendingIcon\" />\n            <BaseIcon v-else name=\"SortDescendingIcon\" />\n          </BaseButton>\n        </div>\n      </div>\n\n      <div\n        ref=\"invoiceListSection\"\n        class=\"\n          h-full\n          overflow-y-scroll\n          border-l border-gray-200 border-solid\n          base-scroll\n        \"\n      >\n        <div v-for=\"(invoice, index) in invoiceList\" :key=\"index\">\n          <router-link\n            v-if=\"invoice\"\n            :id=\"'invoice-' + invoice.id\"\n            :to=\"`/admin/invoices/${invoice.id}/view`\"\n            :class=\"[\n              'flex justify-between side-invoice p-4 cursor-pointer hover:bg-gray-100 items-center border-l-4 border-transparent',\n              {\n                'bg-gray-100 border-l-4 border-primary-500 border-solid':\n                  hasActiveUrl(invoice.id),\n              },\n            ]\"\n            style=\"border-bottom: 1px solid rgba(185, 193, 209, 0.41)\"\n          >\n            <div class=\"flex-2\">\n              <BaseText\n                :text=\"invoice.customer.name\"\n                :length=\"30\"\n                class=\"\n                  pr-2\n                  mb-2\n                  text-sm\n                  not-italic\n                  font-normal\n                  leading-5\n                  text-black\n                  capitalize\n                  truncate\n                \"\n              />\n\n              <div\n                class=\"\n                  mt-1\n                  mb-2\n                  text-xs\n                  not-italic\n                  font-medium\n                  leading-5\n                  text-gray-600\n                \"\n              >\n                {{ invoice.invoice_number }}\n              </div>\n              <BaseEstimateStatusBadge\n                :status=\"invoice.status\"\n                class=\"px-1 text-xs\"\n              >\n                {{ invoice.status }}\n              </BaseEstimateStatusBadge>\n            </div>\n\n            <div class=\"flex-1 whitespace-nowrap right\">\n              <BaseFormatMoney\n                class=\"\n                  mb-2\n                  text-xl\n                  not-italic\n                  font-semibold\n                  leading-8\n                  text-right text-gray-900\n                  block\n                \"\n                :amount=\"invoice.total\"\n                :currency=\"invoice.customer.currency\"\n              />\n              <div\n                class=\"\n                  text-sm\n                  not-italic\n                  font-normal\n                  leading-5\n                  text-right text-gray-600\n                  est-date\n                \"\n              >\n                {{ invoice.formatted_invoice_date }}\n              </div>\n            </div>\n          </router-link>\n        </div>\n        <div v-if=\"isLoading\" class=\"flex justify-center p-4 items-center\">\n          <LoadingIcon class=\"h-6 m-1 animate-spin text-primary-400\" />\n        </div>\n        <p\n          v-if=\"!invoiceList?.length && !isLoading\"\n          class=\"flex justify-center px-4 mt-5 text-sm text-gray-600\"\n        >\n          {{ $t('invoices.no_matching_invoices') }}\n        </p>\n      </div>\n    </div>\n\n    <div\n      class=\"flex flex-col min-h-0 mt-8 overflow-hidden\"\n      style=\"height: 75vh\"\n    >\n      <iframe\n        :src=\"`${shareableLink}`\"\n        class=\"\n          flex-1\n          border border-gray-400 border-solid\n          bg-white\n          rounded-md\n          frame-style\n        \"\n      />\n    </div>\n  </BasePage>\n</template>\n"
  },
  {
    "path": "resources/scripts/admin/views/invoices/create/InvoiceCreate.vue",
    "content": "<template>\n  <SelectTemplateModal />\n  <ItemModal />\n  <TaxTypeModal />\n  <SalesTax\n    v-if=\"salesTaxEnabled && (!isLoadingContent || route.query.customer)\"\n    :store=\"invoiceStore\"\n    :is-edit=\"isEdit\"\n    store-prop=\"newInvoice\"\n    :customer=\"invoiceStore.newInvoice.customer\"\n  />\n\n  <BasePage class=\"relative invoice-create-page\">\n    <form @submit.prevent=\"submitForm\">\n      <BasePageHeader :title=\"pageTitle\">\n        <BaseBreadcrumb>\n          <BaseBreadcrumbItem\n            :title=\"$t('general.home')\"\n            to=\"/admin/dashboard\"\n          />\n          <BaseBreadcrumbItem\n            :title=\"$tc('invoices.invoice', 2)\"\n            to=\"/admin/invoices\"\n          />\n          <BaseBreadcrumbItem\n            v-if=\"$route.name === 'invoices.edit'\"\n            :title=\"$t('invoices.edit_invoice')\"\n            to=\"#\"\n            active\n          />\n          <BaseBreadcrumbItem\n            v-else\n            :title=\"$t('invoices.new_invoice')\"\n            to=\"#\"\n            active\n          />\n        </BaseBreadcrumb>\n\n        <template #actions>\n          <router-link\n            v-if=\"$route.name === 'invoices.edit'\"\n            :to=\"`/invoices/pdf/${invoiceStore.newInvoice.unique_hash}`\"\n            target=\"_blank\"\n          >\n            <BaseButton class=\"mr-3\" variant=\"primary-outline\" type=\"button\">\n              <span class=\"flex\">\n                {{ $t('general.view_pdf') }}\n              </span>\n            </BaseButton>\n          </router-link>\n\n          <BaseButton\n            :loading=\"isSaving\"\n            :disabled=\"isSaving\"\n            variant=\"primary\"\n            type=\"submit\"\n          >\n            <template #left=\"slotProps\">\n              <BaseIcon\n                v-if=\"!isSaving\"\n                name=\"SaveIcon\"\n                :class=\"slotProps.class\"\n              />\n            </template>\n            {{ $t('invoices.save_invoice') }}\n          </BaseButton>\n        </template>\n      </BasePageHeader>\n\n      <!-- Select Customer & Basic Fields  -->\n      <InvoiceBasicFields\n        :v=\"v$\"\n        :is-loading=\"isLoadingContent\"\n        :is-edit=\"isEdit\"\n      />\n\n      <BaseScrollPane>\n        <!-- Invoice Items -->\n        <InvoiceItems\n          :currency=\"invoiceStore.newInvoice.selectedCurrency\"\n          :is-loading=\"isLoadingContent\"\n          :item-validation-scope=\"invoiceValidationScope\"\n          :store=\"invoiceStore\"\n          store-prop=\"newInvoice\"\n        />\n\n        <!-- Invoice Footer Section -->\n        <div\n          class=\"\n            block\n            mt-10\n            invoice-foot\n            lg:flex lg:justify-between lg:items-start\n          \"\n        >\n          <div class=\"relative w-full lg:w-1/2 lg:mr-4\">\n            <!-- Invoice Custom Notes -->\n            <NoteFields\n              :store=\"invoiceStore\"\n              store-prop=\"newInvoice\"\n              :fields=\"invoiceNoteFieldList\"\n              type=\"Invoice\"\n            />\n\n            <!-- Invoice Custom Fields -->\n            <InvoiceCustomFields\n              type=\"Invoice\"\n              :is-edit=\"isEdit\"\n              :is-loading=\"isLoadingContent\"\n              :store=\"invoiceStore\"\n              store-prop=\"newInvoice\"\n              :custom-field-scope=\"invoiceValidationScope\"\n              class=\"mb-6\"\n            />\n\n            <!-- Invoice Template Button-->\n            <SelectTemplate\n              :store=\"invoiceStore\"\n              store-prop=\"newInvoice\"\n              component-name=\"InvoiceTemplate\"\n              :is-mark-as-default=\"isMarkAsDefault\"\n            />\n          </div>\n\n          <InvoiceTotal\n            :currency=\"invoiceStore.newInvoice.selectedCurrency\"\n            :is-loading=\"isLoadingContent\"\n            :store=\"invoiceStore\"\n            store-prop=\"newInvoice\"\n            tax-popup-type=\"invoice\"\n          />\n        </div>\n      </BaseScrollPane>\n    </form>\n  </BasePage>\n</template>\n\n<script setup>\nimport { computed, onMounted, ref, watch } from 'vue'\nimport { useRoute, useRouter } from 'vue-router'\nimport { useI18n } from 'vue-i18n'\nimport {\n  required,\n  maxLength,\n  helpers,\n  requiredIf,\n  decimal,\n} from '@vuelidate/validators'\nimport useVuelidate from '@vuelidate/core'\n\nimport { useInvoiceStore } from '@/scripts/admin/stores/invoice'\nimport { useModuleStore } from '@/scripts/admin/stores/module'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\nimport { useCustomFieldStore } from '@/scripts/admin/stores/custom-field'\n\nimport InvoiceItems from '@/scripts/admin/components/estimate-invoice-common/CreateItems.vue'\nimport InvoiceTotal from '@/scripts/admin/components/estimate-invoice-common/CreateTotal.vue'\nimport SelectTemplate from '@/scripts/admin/components/estimate-invoice-common/SelectTemplateButton.vue'\nimport InvoiceBasicFields from './InvoiceCreateBasicFields.vue'\nimport InvoiceCustomFields from '@/scripts/admin/components/custom-fields/CreateCustomFields.vue'\nimport NoteFields from '@/scripts/admin/components/estimate-invoice-common/CreateNotesField.vue'\nimport SelectTemplateModal from '@/scripts/admin/components/modal-components/SelectTemplateModal.vue'\nimport TaxTypeModal from '@/scripts/admin/components/modal-components/TaxTypeModal.vue'\nimport ItemModal from '@/scripts/admin/components/modal-components/ItemModal.vue'\nimport SalesTax from '@/scripts/admin/components/estimate-invoice-common/SalesTax.vue'\n\nconst invoiceStore = useInvoiceStore()\nconst companyStore = useCompanyStore()\nconst customFieldStore = useCustomFieldStore()\nconst moduleStore = useModuleStore()\nconst { t } = useI18n()\nlet route = useRoute()\nlet router = useRouter()\n\nconst invoiceValidationScope = 'newInvoice'\nlet isSaving = ref(false)\nconst isMarkAsDefault = ref(false)\n\nconst invoiceNoteFieldList = ref([\n  'customer',\n  'company',\n  'customerCustom',\n  'invoice',\n  'invoiceCustom',\n])\n\nlet isLoadingContent = computed(\n  () => invoiceStore.isFetchingInvoice || invoiceStore.isFetchingInitialSettings\n)\n\nlet pageTitle = computed(() =>\n  isEdit.value ? t('invoices.edit_invoice') : t('invoices.new_invoice')\n)\n\nconst salesTaxEnabled = computed(() => {\n  return (\n    companyStore.selectedCompanySettings.sales_tax_us_enabled === 'YES' &&\n    moduleStore.salesTaxUSEnabled\n  )\n})\n\nlet isEdit = computed(() => route.name === 'invoices.edit')\n\nconst rules = {\n  invoice_date: {\n    required: helpers.withMessage(t('validation.required'), required),\n  },\n  reference_number: {\n    maxLength: helpers.withMessage(\n      t('validation.price_maxlength'),\n      maxLength(255)\n    ),\n  },\n  customer_id: {\n    required: helpers.withMessage(t('validation.required'), required),\n  },\n  invoice_number: {\n    required: helpers.withMessage(t('validation.required'), required),\n  },\n  exchange_rate: {\n    required: requiredIf(function () {\n      helpers.withMessage(t('validation.required'), required)\n      return invoiceStore.showExchangeRate\n    }),\n    decimal: helpers.withMessage(t('validation.valid_exchange_rate'), decimal),\n  },\n}\n\nconst v$ = useVuelidate(\n  rules,\n  computed(() => invoiceStore.newInvoice),\n  { $scope: invoiceValidationScope }\n)\n\ncustomFieldStore.resetCustomFields()\nv$.value.$reset\ninvoiceStore.resetCurrentInvoice()\ninvoiceStore.fetchInvoiceInitialSettings(isEdit.value)\n\nwatch(\n  () => invoiceStore.newInvoice.customer,\n  (newVal) => {\n    if (newVal && newVal.currency) {\n      invoiceStore.newInvoice.selectedCurrency = newVal.currency\n    } else {\n      invoiceStore.newInvoice.selectedCurrency =\n        companyStore.selectedCompanyCurrency\n    }\n  }\n)\n\nasync function submitForm() {\n  v$.value.$touch()\n\n  if (v$.value.$invalid) {\n    return false\n  }\n\n  isSaving.value = true\n\n  let data = {\n    ...invoiceStore.newInvoice,\n    sub_total: invoiceStore.getSubTotal,\n    total: invoiceStore.getTotal,\n    tax: invoiceStore.getTotalTax,\n  }\n\n  try {\n    const action = isEdit.value\n      ? invoiceStore.updateInvoice\n      : invoiceStore.addInvoice\n\n    const response = await action(data)\n\n    router.push(`/admin/invoices/${response.data.data.id}/view`)\n  } catch (err) {\n    console.error(err)\n  }\n\n  isSaving.value = false\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/invoices/create/InvoiceCreateBasicFields.vue",
    "content": "<template>\n  <div class=\"grid grid-cols-12 gap-8 mt-6 mb-8\">\n    <BaseCustomerSelectPopup\n      v-model=\"invoiceStore.newInvoice.customer\"\n      :valid=\"v.customer_id\"\n      :content-loading=\"isLoading\"\n      type=\"invoice\"\n      class=\"col-span-12 lg:col-span-5 pr-0\"\n    />\n\n    <BaseInputGrid class=\"col-span-12 lg:col-span-7\">\n      <BaseInputGroup\n        :label=\"$t('invoices.invoice_date')\"\n        :content-loading=\"isLoading\"\n        required\n        :error=\"v.invoice_date.$error && v.invoice_date.$errors[0].$message\"\n      >\n        <BaseDatePicker\n          v-model=\"invoiceStore.newInvoice.invoice_date\"\n          :content-loading=\"isLoading\"\n          :calendar-button=\"true\"\n          calendar-button-icon=\"calendar\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup\n        :label=\"$t('invoices.due_date')\"\n        :content-loading=\"isLoading\"\n      >\n        <BaseDatePicker\n          v-model=\"invoiceStore.newInvoice.due_date\"\n          :content-loading=\"isLoading\"\n          :calendar-button=\"true\"\n          calendar-button-icon=\"calendar\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup\n        :label=\"$t('invoices.invoice_number')\"\n        :content-loading=\"isLoading\"\n        :error=\"v.invoice_number.$error && v.invoice_number.$errors[0].$message\"\n        required\n      >\n        <BaseInput\n          v-model=\"invoiceStore.newInvoice.invoice_number\"\n          :content-loading=\"isLoading\"\n          @input=\"v.invoice_number.$touch()\"\n        />\n      </BaseInputGroup>\n\n      <ExchangeRateConverter\n        :store=\"invoiceStore\"\n        store-prop=\"newInvoice\"\n        :v=\"v\"\n        :is-loading=\"isLoading\"\n        :is-edit=\"isEdit\"\n        :customer-currency=\"invoiceStore.newInvoice.currency_id\"\n      />\n    </BaseInputGrid>\n  </div>\n</template>\n\n<script setup>\nimport ExchangeRateConverter from '@/scripts/admin/components/estimate-invoice-common/ExchangeRateConverter.vue'\nimport { useInvoiceStore } from '@/scripts/admin/stores/invoice'\n\nconst props = defineProps({\n  v: {\n    type: Object,\n    default: null,\n  },\n  isLoading: {\n    type: Boolean,\n    default: false,\n  },\n  isEdit: {\n    type: Boolean,\n    default: false,\n  },\n})\n\nconst invoiceStore = useInvoiceStore()\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/items/Create.vue",
    "content": "<template>\n  <BasePage>\n    <BasePageHeader :title=\"pageTitle\">\n      <BaseBreadcrumb>\n        <BaseBreadcrumbItem :title=\"$t('general.home')\" to=\"dashboard\" />\n        <BaseBreadcrumbItem :title=\"$tc('items.item', 2)\" to=\"/admin/items\" />\n        <BaseBreadcrumbItem :title=\"pageTitle\" to=\"#\" active />\n      </BaseBreadcrumb>\n    </BasePageHeader>\n\n    <ItemUnitModal />\n\n    <form\n      class=\"grid lg:grid-cols-2 mt-6\"\n      action=\"submit\"\n      @submit.prevent=\"submitItem\"\n    >\n      <BaseCard class=\"w-full\">\n        <BaseInputGrid layout=\"one-column\">\n          <BaseInputGroup\n            :label=\"$t('items.name')\"\n            :content-loading=\"isFetchingInitialData\"\n            required\n            :error=\"\n              v$.currentItem.name.$error &&\n              v$.currentItem.name.$errors[0].$message\n            \"\n          >\n            <BaseInput\n              v-model=\"itemStore.currentItem.name\"\n              :content-loading=\"isFetchingInitialData\"\n              :invalid=\"v$.currentItem.name.$error\"\n              @input=\"v$.currentItem.name.$touch()\"\n            />\n          </BaseInputGroup>\n\n          <BaseInputGroup\n            :label=\"$t('items.price')\"\n            :content-loading=\"isFetchingInitialData\"\n          >\n            <BaseMoney\n              v-model=\"price\"\n              :content-loading=\"isFetchingInitialData\"\n            />\n          </BaseInputGroup>\n\n          <BaseInputGroup\n            :content-loading=\"isFetchingInitialData\"\n            :label=\"$t('items.unit')\"\n          >\n            <BaseMultiselect\n              v-model=\"itemStore.currentItem.unit_id\"\n              :content-loading=\"isFetchingInitialData\"\n              label=\"name\"\n              :options=\"itemStore.itemUnits\"\n              value-prop=\"id\"\n              :placeholder=\"$t('items.select_a_unit')\"\n              searchable\n              track-by=\"name\"\n            >\n              <template #action>\n                <BaseSelectAction @click=\"addItemUnit\">\n                  <BaseIcon\n                    name=\"PlusIcon\"\n                    class=\"h-4 mr-2 -ml-2 text-center text-primary-400\"\n                  />\n                  {{ $t('settings.customization.items.add_item_unit') }}\n                </BaseSelectAction>\n              </template>\n            </BaseMultiselect>\n          </BaseInputGroup>\n\n          <BaseInputGroup\n            v-if=\"isTaxPerItem\"\n            :label=\"$t('items.taxes')\"\n            :content-loading=\"isFetchingInitialData\"\n          >\n            <BaseMultiselect\n              v-model=\"taxes\"\n              :content-loading=\"isFetchingInitialData\"\n              :options=\"getTaxTypes\"\n              mode=\"tags\"\n              label=\"tax_name\"\n              class=\"w-full\"\n              value-prop=\"id\"\n              :can-deselect=\"false\"\n              :can-clear=\"false\"\n              searchable\n              track-by=\"tax_name\"\n              object\n            />\n          </BaseInputGroup>\n\n          <BaseInputGroup\n            :label=\"$t('items.description')\"\n            :content-loading=\"isFetchingInitialData\"\n            :error=\"\n              v$.currentItem.description.$error &&\n              v$.currentItem.description.$errors[0].$message\n            \"\n          >\n            <BaseTextarea\n              v-model=\"itemStore.currentItem.description\"\n              :content-loading=\"isFetchingInitialData\"\n              name=\"description\"\n              :row=\"2\"\n              rows=\"2\"\n              @input=\"v$.currentItem.description.$touch()\"\n            />\n          </BaseInputGroup>\n\n          <div>\n            <BaseButton\n              :content-loading=\"isFetchingInitialData\"\n              type=\"submit\"\n              :loading=\"isSaving\"\n            >\n              <template #left=\"slotProps\">\n                <BaseIcon\n                  v-if=\"!isSaving\"\n                  name=\"SaveIcon\"\n                  :class=\"slotProps.class\"\n                />\n              </template>\n\n              {{ isEdit ? $t('items.update_item') : $t('items.save_item') }}\n            </BaseButton>\n          </div>\n        </BaseInputGrid>\n      </BaseCard>\n    </form>\n  </BasePage>\n</template>\n\n<script setup>\nimport { computed, ref } from 'vue'\nimport { useRouter, useRoute } from 'vue-router'\nimport { useI18n } from 'vue-i18n'\nimport {\n  required,\n  minLength,\n  numeric,\n  minValue,\n  maxLength,\n  helpers,\n} from '@vuelidate/validators'\nimport useVuelidate from '@vuelidate/core'\nimport { useItemStore } from '@/scripts/admin/stores/item'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\nimport { useTaxTypeStore } from '@/scripts/admin/stores/tax-type'\nimport { useModalStore } from '@/scripts/stores/modal'\nimport ItemUnitModal from '@/scripts/admin/components/modal-components/ItemUnitModal.vue'\nimport { useUserStore } from '@/scripts/admin/stores/user'\nimport abilities from '@/scripts/admin/stub/abilities'\n\nconst itemStore = useItemStore()\nconst taxTypeStore = useTaxTypeStore()\nconst modalStore = useModalStore()\nconst companyStore = useCompanyStore()\nconst { t } = useI18n()\nconst route = useRoute()\nconst router = useRouter()\nconst userStore = useUserStore()\n\nconst isSaving = ref(false)\nconst taxPerItem = ref(companyStore.selectedCompanySettings.tax_per_item)\n\nlet isFetchingInitialData = ref(false)\n\nitemStore.$reset()\nloadData()\n\nconst price = computed({\n  get: () => itemStore.currentItem.price / 100,\n  set: (value) => {\n    itemStore.currentItem.price = Math.round(value * 100)\n  },\n})\n\nconst taxes = computed({\n  get: () =>\n    itemStore?.currentItem?.taxes?.map((tax) => {\n      if (tax) {\n        return {\n          ...tax,\n          tax_type_id: tax.id,\n          tax_name: tax.name + ' (' + tax.percent + '%)',\n        }\n      }\n    }),\n  set: (value) => {\n    itemStore.currentItem.taxes = value\n  },\n})\n\nconst isEdit = computed(() => route.name === 'items.edit')\n\nconst pageTitle = computed(() =>\n  isEdit.value ? t('items.edit_item') : t('items.new_item')\n)\n\nconst getTaxTypes = computed(() => {\n  return taxTypeStore.taxTypes.map((tax) => {\n    return {\n      ...tax,\n      tax_type_id: tax.id,\n      tax_name: tax.name + ' (' + tax.percent + '%)',\n    }\n  })\n})\n\nconst isTaxPerItem = computed(() => taxPerItem.value === 'YES')\n\nconst rules = computed(() => {\n  return {\n    currentItem: {\n      name: {\n        required: helpers.withMessage(t('validation.required'), required),\n        minLength: helpers.withMessage(\n          t('validation.name_min_length', { count: 3 }),\n          minLength(3)\n        ),\n      },\n\n      description: {\n        maxLength: helpers.withMessage(\n          t('validation.description_maxlength'),\n          maxLength(65000)\n        ),\n      },\n    },\n  }\n})\n\nconst v$ = useVuelidate(rules, itemStore)\n\nasync function addItemUnit() {\n  modalStore.openModal({\n    title: t('settings.customization.items.add_item_unit'),\n    componentName: 'ItemUnitModal',\n    size: 'sm',\n  })\n}\n\nasync function loadData() {\n  isFetchingInitialData.value = true\n\n  await itemStore.fetchItemUnits({ limit: 'all' })\n  if (userStore.hasAbilities(abilities.VIEW_TAX_TYPE)) {\n    await taxTypeStore.fetchTaxTypes({ limit: 'all' })\n  }\n\n  if (isEdit.value) {\n    let id = route.params.id\n    await itemStore.fetchItem(id)\n    itemStore.currentItem.tax_per_item === 1\n      ? (taxPerItem.value = 'YES')\n      : (taxPerItem.value = 'NO')\n  }\n\n  isFetchingInitialData.value = false\n}\n\nasync function submitItem() {\n  v$.value.currentItem.$touch()\n\n  if (v$.value.currentItem.$invalid) {\n    return false\n  }\n\n  isSaving.value = true\n\n  try {\n    let data = {\n      id: route.params.id,\n      ...itemStore.currentItem,\n    }\n\n    if (itemStore.currentItem && itemStore.currentItem.taxes) {\n      data.taxes = itemStore.currentItem.taxes.map((tax) => {\n        return {\n          tax_type_id: tax.tax_type_id,\n          amount: price.value * tax.percent,\n          percent: tax.percent,\n          name: tax.name,\n          collective_tax: 0,\n        }\n      })\n    }\n\n    const action = isEdit.value ? itemStore.updateItem : itemStore.addItem\n\n    await action(data)\n    isSaving.value = false\n    router.push('/admin/items')\n    closeItemModal()\n  } catch (err) {\n    isSaving.value = false\n    return\n  }\n  function closeItemModal() {\n    modalStore.closeModal()\n    setTimeout(() => {\n      itemStore.resetCurrentItem()\n      modalStore.$reset()\n      v$.value.$reset()\n    }, 300)\n  }\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/items/Index.vue",
    "content": "<template>\n  <BasePage>\n    <BasePageHeader :title=\"$t('items.title')\">\n      <BaseBreadcrumb>\n        <BaseBreadcrumbItem :title=\"$t('general.home')\" to=\"dashboard\" />\n        <BaseBreadcrumbItem :title=\"$tc('items.item', 2)\" to=\"#\" active />\n      </BaseBreadcrumb>\n\n      <template #actions>\n        <div class=\"flex items-center justify-end space-x-5\">\n          <BaseButton\n            v-show=\"itemStore.totalItems\"\n            variant=\"primary-outline\"\n            @click=\"toggleFilter\"\n          >\n            {{ $t('general.filter') }}\n            <template #right=\"slotProps\">\n              <BaseIcon\n                v-if=\"!showFilters\"\n                :class=\"slotProps.class\"\n                name=\"FilterIcon\"\n              />\n              <BaseIcon v-else name=\"XIcon\" :class=\"slotProps.class\" />\n            </template>\n          </BaseButton>\n\n          <BaseButton\n            v-if=\"userStore.hasAbilities(abilities.CREATE_ITEM)\"\n            @click=\"$router.push('/admin/items/create')\"\n          >\n            <template #left=\"slotProps\">\n              <BaseIcon name=\"PlusIcon\" :class=\"slotProps.class\" />\n            </template>\n            {{ $t('items.add_item') }}\n          </BaseButton>\n        </div>\n      </template>\n    </BasePageHeader>\n\n    <BaseFilterWrapper :show=\"showFilters\" class=\"mt-5\" @clear=\"clearFilter\">\n      <BaseInputGroup :label=\"$tc('items.name')\" class=\"text-left\">\n        <BaseInput\n          v-model=\"filters.name\"\n          type=\"text\"\n          name=\"name\"\n          autocomplete=\"off\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup :label=\"$tc('items.unit')\" class=\"text-left\">\n        <BaseMultiselect\n          v-model=\"filters.unit_id\"\n          :placeholder=\"$t('items.select_a_unit')\"\n          value-prop=\"id\"\n          track-by=\"name\"\n          :filter-results=\"false\"\n          label=\"name\"\n          resolve-on-load\n          :delay=\"500\"\n          searchable\n          class=\"w-full\"\n          :options=\"searchUnits\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup class=\"text-left\" :label=\"$tc('items.price')\">\n        <BaseMoney v-model=\"filters.price\" />\n      </BaseInputGroup>\n    </BaseFilterWrapper>\n\n    <BaseEmptyPlaceholder\n      v-show=\"showEmptyScreen\"\n      :title=\"$t('items.no_items')\"\n      :description=\"$t('items.list_of_items')\"\n    >\n      <SatelliteIcon class=\"mt-5 mb-4\" />\n\n      <template #actions>\n        <BaseButton\n          v-if=\"userStore.hasAbilities(abilities.CREATE_ITEM)\"\n          variant=\"primary-outline\"\n          @click=\"$router.push('/admin/items/create')\"\n        >\n          <template #left=\"slotProps\">\n            <BaseIcon name=\"PlusIcon\" :class=\"slotProps.class\" />\n          </template>\n          {{ $t('items.add_new_item') }}\n        </BaseButton>\n      </template>\n    </BaseEmptyPlaceholder>\n\n    <div v-show=\"!showEmptyScreen\" class=\"relative table-container\">\n      <div\n        class=\"\n          relative\n          flex\n          items-center\n          justify-end\n          h-5\n          border-gray-200 border-solid\n        \"\n      >\n        <BaseDropdown v-if=\"itemStore.selectedItems.length\">\n          <template #activator>\n            <span\n              class=\"\n                flex\n                text-sm\n                font-medium\n                cursor-pointer\n                select-none\n                text-primary-400\n              \"\n            >\n              {{ $t('general.actions') }}\n              <BaseIcon name=\"ChevronDownIcon\" />\n            </span>\n          </template>\n          <BaseDropdownItem @click=\"removeMultipleItems\">\n            <BaseIcon name=\"TrashIcon\" class=\"mr-3 text-gray-600\" />\n            {{ $t('general.delete') }}\n          </BaseDropdownItem>\n        </BaseDropdown>\n      </div>\n\n      <BaseTable\n        ref=\"table\"\n        :data=\"fetchData\"\n        :columns=\"itemColumns\"\n        :placeholder-count=\"itemStore.totalItems >= 20 ? 10 : 5\"\n        class=\"mt-3\"\n      >\n        <template #header>\n          <div class=\"absolute items-center left-6 top-2.5 select-none\">\n            <BaseCheckbox\n              v-model=\"itemStore.selectAllField\"\n              variant=\"primary\"\n              @change=\"itemStore.selectAllItems\"\n            />\n          </div>\n        </template>\n\n        <template #cell-status=\"{ row }\">\n          <div class=\"relative block\">\n            <BaseCheckbox\n              :id=\"row.id\"\n              v-model=\"selectField\"\n              :value=\"row.data.id\"\n            />\n          </div>\n        </template>\n\n        <template #cell-name=\"{ row }\">\n          <router-link\n            :to=\"{ path: `items/${row.data.id}/edit` }\"\n            class=\"font-medium text-primary-500\"\n          >\n            {{ row.data.name }}\n          </router-link>\n        </template>\n\n        <template #cell-unit_name=\"{ row }\">\n          <span>\n            {{ row.data.unit ? row.data.unit.name : '-' }}\n          </span>\n        </template>\n\n        <template #cell-price=\"{ row }\">\n          <BaseFormatMoney\n            :amount=\"row.data.price\"\n            :currency=\"companyStore.selectedCompanyCurrency\"\n          />\n        </template>\n\n        <template #cell-created_at=\"{ row }\">\n          <span>{{ row.data.formatted_created_at }}</span>\n        </template>\n\n        <template v-if=\"hasAbilities()\" #cell-actions=\"{ row }\">\n          <ItemDropdown\n            :row=\"row.data\"\n            :table=\"table\"\n            :load-data=\"refreshTable\"\n          />\n        </template>\n      </BaseTable>\n    </div>\n  </BasePage>\n</template>\n\n<script setup>\nimport { ref, computed, inject, onMounted, reactive, onUnmounted } from 'vue'\nimport { debouncedWatch } from '@vueuse/core'\nimport { useI18n } from 'vue-i18n'\nimport { useItemStore } from '@/scripts/admin/stores/item'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport { useDialogStore } from '@/scripts/stores/dialog'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\nimport { useUserStore } from '@/scripts/admin/stores/user'\nimport ItemDropdown from '@/scripts/admin/components/dropdowns/ItemIndexDropdown.vue'\nimport SatelliteIcon from '@/scripts/components/icons/empty/SatelliteIcon.vue'\nimport abilities from '@/scripts/admin/stub/abilities'\n\nconst utils = inject('utils')\n\nconst itemStore = useItemStore()\nconst companyStore = useCompanyStore()\nconst notificationStore = useNotificationStore()\nconst dialogStore = useDialogStore()\nconst userStore = useUserStore()\n\nconst { t } = useI18n()\nlet showFilters = ref(false)\nlet isFetchingInitialData = ref(true)\n\nconst filters = reactive({\n  name: '',\n  unit_id: '',\n  price: '',\n})\n\nconst table = ref(null)\n\nconst showEmptyScreen = computed(\n  () => !itemStore.totalItems && !isFetchingInitialData.value\n)\n\nconst selectField = computed({\n  get: () => itemStore.selectedItems,\n  set: (value) => {\n    return itemStore.selectItem(value)\n  },\n})\n\nconst itemColumns = computed(() => {\n  return [\n    {\n      key: 'status',\n      thClass: 'extra w-10',\n      tdClass: 'font-medium text-gray-900',\n      placeholderClass: 'w-10',\n      sortable: false,\n    },\n    {\n      key: 'name',\n      label: t('items.name'),\n      thClass: 'extra',\n      tdClass: 'font-medium text-gray-900',\n    },\n    { key: 'unit_name', label: t('items.unit') },\n    { key: 'price', label: t('items.price') },\n    { key: 'created_at', label: t('items.added_on') },\n\n    {\n      key: 'actions',\n      thClass: 'text-right',\n      tdClass: 'text-right text-sm font-medium',\n      sortable: false,\n    },\n  ]\n})\n\ndebouncedWatch(\n  filters,\n  () => {\n    setFilters()\n  },\n  { debounce: 500 }\n)\n\nitemStore.fetchItemUnits({ limit: 'all' })\n\nonUnmounted(() => {\n  if (itemStore.selectAllField) {\n    itemStore.selectAllItems()\n  }\n})\n\nfunction clearFilter() {\n  filters.name = ''\n  filters.unit_id = ''\n  filters.price = ''\n}\n\nfunction hasAbilities() {\n  return userStore.hasAbilities([abilities.DELETE_ITEM, abilities.EDIT_ITEM])\n}\n\nfunction toggleFilter() {\n  if (showFilters.value) {\n    clearFilter()\n  }\n\n  showFilters.value = !showFilters.value\n}\n\nfunction refreshTable() {\n  table.value && table.value.refresh()\n}\n\nfunction setFilters() {\n  refreshTable()\n}\n\nasync function searchUnits(search) {\n  let res = await itemStore.fetchItemUnits({ search })\n\n  return res.data.data\n}\n\nasync function fetchData({ page, filter, sort }) {\n  let data = {\n    search: filters.name,\n    unit_id: filters.unit_id !== null ? filters.unit_id : '',\n    price: Math.round(filters.price * 100),\n    orderByField: sort.fieldName || 'created_at',\n    orderBy: sort.order || 'desc',\n    page,\n  }\n\n  isFetchingInitialData.value = true\n\n  let response = await itemStore.fetchItems(data)\n\n  isFetchingInitialData.value = false\n\n  return {\n    data: response.data.data,\n    pagination: {\n      totalPages: response.data.meta.last_page,\n      currentPage: page,\n      totalCount: response.data.meta.total,\n      limit: 10,\n    },\n  }\n}\n\nfunction removeMultipleItems() {\n  dialogStore\n    .openDialog({\n      title: t('general.are_you_sure'),\n      message: t('items.confirm_delete', 2),\n      yesLabel: t('general.ok'),\n      noLabel: t('general.cancel'),\n      variant: 'danger',\n      hideNoButton: false,\n      size: 'lg',\n    })\n    .then((res) => {\n      if (res) {\n        itemStore.deleteMultipleItems().then((response) => {\n          if (response.data.success) {\n            table.value && table.value.refresh()\n          }\n        })\n      }\n    })\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/modules/Index.vue",
    "content": "<template>\n  <BasePage>\n    <BasePageHeader :title=\"$t('modules.title')\">\n      <BaseBreadcrumb>\n        <BaseBreadcrumbItem :title=\"$t('general.home')\" to=\"dashboard\" />\n        <BaseBreadcrumbItem :title=\"$tc('modules.module', 2)\" to=\"#\" active />\n      </BaseBreadcrumb>\n    </BasePageHeader>\n\n    <!-- Modules Section  -->\n    <div v-if=\"hasApiToken && moduleStore.modules\">\n      <BaseTabGroup class=\"-mb-5\" @change=\"setStatusFilter\">\n        <BaseTab :title=\"$t('general.all')\" filter=\"\" />\n        <BaseTab :title=\"$t('modules.installed')\" filter=\"INSTALLED\" />\n      </BaseTabGroup>\n\n      <!-- Modules Card Placeholder  -->\n      <div\n        v-if=\"isFetchingModule\"\n        class=\"\n          grid\n          mt-6\n          w-full\n          grid-cols-1\n          items-start\n          gap-6\n          lg:grid-cols-2\n          xl:grid-cols-3\n        \"\n      >\n        <ModuleCardPlaceholder />\n        <ModuleCardPlaceholder />\n        <ModuleCardPlaceholder />\n      </div>\n\n      <!-- Modules Card  -->\n      <div v-else>\n        <div\n          v-if=\"modules && modules.length\"\n          class=\"\n            grid\n            mt-6\n            w-full\n            grid-cols-1\n            items-start\n            gap-6\n            lg:grid-cols-2\n            xl:grid-cols-3\n          \"\n        >\n          <div v-for=\"(moduleData, idx) in modules\" :key=\"idx\">\n            <ModuleCard :data=\"moduleData\" />\n          </div>\n        </div>\n        <div v-else class=\"mt-24\">\n          <label class=\"flex items-center justify-center text-gray-500\">\n            {{ $t('modules.no_modules_installed') }}\n          </label>\n        </div>\n      </div>\n    </div>\n\n    <BaseCard v-else class=\"mt-6\">\n      <h6 class=\"text-gray-900 text-lg font-medium\">\n        {{ $t('modules.connect_installation') }}\n      </h6>\n      <p class=\"mt-1 text-sm text-gray-500\">\n        {{\n          $t('modules.api_token_description', {\n            url: globalStore.config.base_url.replace(/^http:\\/\\//, ''),\n          })\n        }}\n      </p>\n\n      <!-- Api Token Form  -->\n      <div class=\"grid lg:grid-cols-2 mt-6\">\n        <form action=\"\" class=\"mt-6\" @submit.prevent=\"submitApiToken\">\n          <BaseInputGroup\n            :label=\"$t('modules.api_token')\"\n            required\n            :error=\"v$.api_token.$error && v$.api_token.$errors[0].$message\"\n          >\n            <BaseInput\n              v-model=\"moduleStore.currentUser.api_token\"\n              :invalid=\"v$.api_token.$error\"\n              @input=\"v$.api_token.$touch()\"\n            />\n          </BaseInputGroup>\n\n          <div class=\"flex space-x-2\">\n            <BaseButton class=\"mt-6\" :loading=\"isSaving\" type=\"submit\">\n              <template #left=\"slotProps\">\n                <BaseIcon name=\"SaveIcon\" :class=\"slotProps.class\" />\n              </template>\n              {{ $t('general.save') }}\n            </BaseButton>\n\n            <a\n              :href=\"`${globalStore.config.base_url}/auth/customer/register`\"\n              class=\"mt-6 block\"\n              target=\"_blank\"\n            >\n              <BaseButton variant=\"primary-outline\" type=\"button\">\n                Sign up & Get Token\n              </BaseButton>\n            </a>\n          </div>\n        </form>\n      </div>\n    </BaseCard>\n  </BasePage>\n</template>\n\n<script setup>\nimport { useModuleStore } from '@/scripts/admin/stores/module'\nimport { useGlobalStore } from '@/scripts/admin/stores/global'\nimport { computed, onMounted, reactive, ref, watchEffect } from 'vue'\nimport {\n  required,\n  minLength,\n  maxLength,\n  helpers,\n  requiredUnless,\n} from '@vuelidate/validators'\nimport ModuleCard from './partials/ModuleCard.vue'\nimport ModuleCardPlaceholder from './partials/ModuleCardPlaceholder.vue'\nimport { useVuelidate } from '@vuelidate/core'\nimport { useI18n } from 'vue-i18n'\n\nconst moduleStore = useModuleStore()\nconst globalStore = useGlobalStore()\nconst activeTab = ref('')\n\nconst { t } = useI18n()\nlet isSaving = ref(false)\nlet isFetchingModule = ref(false)\n\nconst rules = computed(() => {\n  return {\n    api_token: {\n      required: helpers.withMessage(t('validation.required'), required),\n      minLength: helpers.withMessage(\n        t('validation.name_min_length', { count: 3 }),\n        minLength(3)\n      ),\n    },\n  }\n})\n\nconst hasApiToken = computed(() => {\n  if (moduleStore.apiToken) {\n    fetchModulesData()\n    return true\n  }\n\n  return false\n})\n\nconst v$ = useVuelidate(\n  rules,\n  computed(() => moduleStore.currentUser)\n)\n\nconst modules = computed(() => {\n  if (activeTab.value === 'INSTALLED') {\n    return moduleStore.modules.filter((_m) => _m.installed)\n  }\n\n  return moduleStore.modules\n})\n\nasync function fetchModulesData() {\n  isFetchingModule.value = true\n\n  await moduleStore.fetchModules().then(() => {\n    isFetchingModule.value = false\n  })\n}\n\nasync function submitApiToken() {\n  v$.value.$touch()\n\n  if (v$.value.$invalid) {\n    return true\n  }\n\n  isSaving.value = true\n\n  moduleStore\n    .checkApiToken(moduleStore.currentUser.api_token)\n    .then((response) => {\n      if (response.data.success) {\n        saveApiTokenToSettings()\n        return\n      }\n      isSaving.value = false\n      return\n    })\n}\n\nasync function saveApiTokenToSettings() {\n  try {\n    await globalStore\n      .updateGlobalSettings({\n        data: {\n          settings: {\n            api_token: moduleStore.currentUser.api_token,\n          },\n        },\n        message: 'settings.preferences.updated_message',\n      })\n      .then((response) => {\n        if (response.data.success) {\n          moduleStore.apiToken = moduleStore.currentUser.api_token\n          return\n        }\n      })\n\n    isSaving.value = false\n  } catch (err) {\n    isSaving.value = false\n    console.error(err)\n    return\n  }\n}\n\nfunction setStatusFilter(data) {\n  activeTab.value = data.filter\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/modules/View.vue",
    "content": "<template>\n  <ModulePlaceholder v-if=\"isFetchingInitialData\" />\n  <BasePage v-else class=\"bg-white\">\n    <BasePageHeader :title=\"moduleData.name\">\n      <BaseBreadcrumb>\n        <BaseBreadcrumbItem :title=\"$t('general.home')\" to=\"dashboard\" />\n        <BaseBreadcrumbItem :title=\"$t('modules.title')\" to=\"/admin/modules\" />\n        <BaseBreadcrumbItem :title=\"moduleData.name\" to=\"#\" active />\n      </BaseBreadcrumb>\n    </BasePageHeader>\n    <!-- Main Content -->\n    <div\n      class=\"\n        lg:grid lg:grid-rows-1 lg:grid-cols-7 lg:gap-x-8 lg:gap-y-10\n        xl:gap-x-16\n        mt-6\n      \"\n    >\n      <!-- Product image -->\n      <div class=\"lg:row-end-1 lg:col-span-4\">\n        <div class=\"flex flex-col-reverse\">\n          <div\n            class=\"hidden mt-6 w-full max-w-2xl mx-auto sm:block lg:max-w-none\"\n          >\n            <div\n              class=\"grid grid-cols-3 xl:grid-cols-4 gap-6\"\n              aria-orientation=\"horizontal\"\n              role=\"tablist\"\n            >\n              <button\n                v-if=\"thumbnail && videoUrl\"\n                :class=\"[\n                  'relative  md:h-24 lg:h-36 rounded hover:bg-gray-50',\n                  {\n                    'outline-none ring ring-offset-1 ring-primary-500':\n                      displayVideo,\n                  },\n                ]\"\n                type=\"button\"\n                @click=\"setDisplayVideo\"\n              >\n                <span class=\"absolute inset-0 rounded-md overflow-hidden\">\n                  <img\n                    :src=\"thumbnail\"\n                    alt=\"\"\n                    class=\"w-full h-full object-center object-cover\"\n                  />\n                </span>\n                <span\n                  class=\"\n                    ring-transparent\n                    absolute\n                    inset-0\n                    rounded-md\n                    ring-2 ring-offset-2\n                    pointer-events-none\n                  \"\n                  aria-hidden=\"true\"\n                ></span>\n              </button>\n\n              <button\n                v-for=\"(screenshot, ssIndx) in displayImages\"\n                id=\"tabs-1-tab-1\"\n                :key=\"ssIndx\"\n                :class=\"[\n                  'relative  md:h-24 lg:h-36 rounded hover:bg-gray-50',\n                  {\n                    'outline-none ring ring-offset-1 ring-primary-500':\n                      displayImage === screenshot.url,\n                  },\n                ]\"\n                type=\"button\"\n                @click=\"setDisplayImage(screenshot.url)\"\n              >\n                <span class=\"absolute inset-0 rounded-md overflow-hidden\">\n                  <img\n                    :src=\"screenshot.url\"\n                    alt=\"\"\n                    class=\"w-full h-full object-center object-cover\"\n                  />\n                </span>\n                <span\n                  class=\"\n                    ring-transparent\n                    absolute\n                    inset-0\n                    rounded-md\n                    ring-2 ring-offset-2\n                    pointer-events-none\n                  \"\n                  aria-hidden=\"true\"\n                ></span>\n              </button>\n            </div>\n          </div>\n\n          <div v-if=\"displayVideo\" class=\"aspect-w-4 aspect-h-3\">\n            <iframe\n              :src=\"videoUrl\"\n              class=\"sm:rounded-lg\"\n              frameborder=\"0\"\n              allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\"\n              allowfullscreen\n            >\n            </iframe>\n          </div>\n\n          <div\n            v-else\n            class=\"aspect-w-4 aspect-h-3 rounded-lg bg-gray-100 overflow-hidden\"\n          >\n            <img\n              :src=\"displayImage\"\n              alt=\"Module Images\"\n              class=\"w-full h-full object-center object-cover sm:rounded-lg\"\n            />\n          </div>\n        </div>\n      </div>\n\n      <!-- Product details -->\n      <div\n        class=\"\n          max-w-2xl\n          mx-auto\n          mt-10\n          lg:max-w-none lg:mt-0 lg:row-end-2 lg:row-span-2 lg:col-span-3\n          w-full\n        \"\n      >\n        <!-- Average Rating -->\n\n        <h3 class=\"sr-only\">Reviews</h3>\n\n        <div class=\"flex items-center\">\n          <BaseRating :rating=\"averageRating\" />\n        </div>\n        <p class=\"sr-only\">4 out of 5 stars</p>\n\n        <!-- Module Name and Version -->\n        <div class=\"flex flex-col-reverse\">\n          <div class=\"mt-4\">\n            <h1\n              class=\"\n                text-2xl\n                font-extrabold\n                tracking-tight\n                text-gray-900\n                sm:text-3xl\n              \"\n            >\n              {{ moduleData.name }}\n            </h1>\n\n            <h2 id=\"information-heading\" class=\"sr-only\">\n              Product information\n            </h2>\n\n            <p\n              v-if=\"moduleData.latest_module_version\"\n              class=\"text-sm text-gray-500 mt-2\"\n            >\n              {{ $t('modules.version') }}\n              {{ moduleVersion }} ({{ $t('modules.last_updated') }}\n              {{ updatedAt }})\n            </p>\n          </div>\n        </div>\n\n        <!-- Module Description  -->\n        <div\n          class=\"prose prose-sm max-w-none text-gray-500 text-sm my-10\"\n          v-html=\"moduleData.long_description\"\n        />\n\n        <!-- Module Pricing -->\n        <div v-if=\"!moduleData.purchased\">\n          <RadioGroup v-model=\"selectedPlan\">\n            <RadioGroupLabel class=\"sr-only\"> Pricing plans </RadioGroupLabel>\n            <div class=\"relative bg-white rounded-md -space-y-px\">\n              <RadioGroupOption\n                v-for=\"(size, sizeIdx) in modulePrice\"\n                :key=\"size.name\"\n                v-slot=\"{ checked, active }\"\n                as=\"template\"\n                :value=\"size\"\n              >\n                <div\n                  :class=\"[\n                    sizeIdx === 0 ? 'rounded-tl-md rounded-tr-md' : '',\n                    sizeIdx === modulePrice.length - 1\n                      ? 'rounded-bl-md rounded-br-md'\n                      : '',\n                    checked\n                      ? 'bg-primary-50 border-primary-200 z-10'\n                      : 'border-gray-200',\n                    'relative border p-4 flex flex-col cursor-pointer md:pl-4 md:pr-6 md:grid md:grid-cols-2 focus:outline-none',\n                  ]\"\n                >\n                  <div class=\"flex items-center text-sm\">\n                    <span\n                      :class=\"[\n                        checked\n                          ? 'bg-primary-600 border-transparent'\n                          : 'bg-white border-gray-300',\n                        active ? 'ring-2 ring-offset-2 ring-primary-500' : '',\n                        'h-4 w-4 rounded-full border flex items-center justify-center',\n                      ]\"\n                      aria-hidden=\"true\"\n                    >\n                      <span class=\"rounded-full bg-white w-1.5 h-1.5\" />\n                    </span>\n                    <RadioGroupLabel\n                      as=\"span\"\n                      :class=\"[\n                        checked ? 'text-primary-900' : 'text-gray-900',\n                        'ml-3 font-medium',\n                      ]\"\n                    >\n                      {{ size.name }}\n                    </RadioGroupLabel>\n                  </div>\n                  <RadioGroupDescription\n                    class=\"ml-6 pl-1 text-base md:ml-0 md:pl-0 md:text-center\"\n                  >\n                    <span\n                      :class=\"[\n                        checked ? 'text-primary-900' : 'text-gray-900',\n                        'font-medium',\n                      ]\"\n                    >\n                      $ {{ size.price }}\n                    </span>\n                  </RadioGroupDescription>\n                </div>\n              </RadioGroupOption>\n            </div>\n          </RadioGroup>\n        </div>\n\n        <!-- Button Section  -->\n\n        <!-- If Module is not purchased -->\n        <a\n          v-if=\"!moduleData.purchased\"\n          :href=\"`${globalStore.config.base_url}/modules/${moduleData.slug}`\"\n          target=\"_blank\"\n          class=\"grid grid-cols-1 gap-x-6 gap-y-4 sm:grid-cols-2\"\n        >\n          <BaseButton\n            size=\"xl\"\n            class=\"items-center flex justify-center text-base mt-10\"\n          >\n            <BaseIcon name=\"ShoppingCartIcon\" class=\"mr-2\" />\n            {{ $t('modules.buy_now') }}\n          </BaseButton>\n        </a>\n\n        <!-- When module is Purchased -->\n        <div v-else>\n          <!-- Module not installed -->\n          <div\n            v-if=\"!moduleData.installed\"\n            class=\"grid grid-cols-1 gap-x-6 gap-y-4 sm:grid-cols-2\"\n          >\n            <BaseButton\n              v-if=\"moduleData.latest_module_version\"\n              size=\"xl\"\n              variant=\"primary-outline\"\n              outline\n              :loading=\"isInstalling\"\n              :disabled=\"isInstalling\"\n              class=\"mr-4 flex items-center justify-center text-base\"\n              @click=\"installModule()\"\n            >\n              <BaseIcon v-if=\"!isInstalling\" name=\"DownloadIcon\" class=\"mr-2\" />\n              {{ $t('modules.install') }}\n            </BaseButton>\n          </div>\n\n          <!-- Module already installed -->\n          <div v-else-if=\"isModuleInstalled\">\n            <!-- When new module version is available -->\n\n            <div class=\"grid grid-cols-1 gap-x-6 gap-y-4 sm:grid-cols-2\">\n              <BaseButton\n                v-if=\"moduleData.update_available\"\n                variant=\"primary\"\n                size=\"xl\"\n                :loading=\"isInstalling\"\n                :disabled=\"isInstalling\"\n                class=\"mr-4 flex items-center justify-center text-base\"\n                @click=\"installModule()\"\n              >\n                {{ $t('modules.update_to') }}\n                <span class=\"ml-2\">{{ moduleData.latest_module_version }}</span>\n              </BaseButton>\n\n              <BaseButton\n                v-if=\"moduleData.enabled\"\n                variant=\"danger\"\n                size=\"xl\"\n                :loading=\"isDisabling\"\n                :disabled=\"isDisabling\"\n                class=\"mr-4 flex items-center justify-center text-base\"\n                @click=\"disableModule\"\n              >\n                <BaseIcon v-if=\"!isDisabling\" name=\"BanIcon\" class=\"mr-2\" />\n                {{ $t('modules.disable') }}\n              </BaseButton>\n              <BaseButton\n                v-else\n                variant=\"primary-outline\"\n                size=\"xl\"\n                :loading=\"isEnabling\"\n                :disabled=\"isEnabling\"\n                class=\"mr-4 flex items-center justify-center text-base\"\n                @click=\"enableModule\"\n              >\n                <BaseIcon v-if=\"!isEnabling\" name=\"CheckIcon\" class=\"mr-2\" />\n                {{ $t('modules.enable') }}\n              </BaseButton>\n            </div>\n          </div>\n        </div>\n\n        <div class=\"mt-10\"></div>\n\n        <!-- HighLights  -->\n        <div class=\"border-t border-gray-200 mt-10 pt-10\">\n          <h3 class=\"text-sm font-medium text-gray-900\">\n            {{ $t('modules.what_you_get') }}\n          </h3>\n          <div class=\"mt-4 prose prose-sm max-w-none text-gray-500\">\n            <div\n              class=\"prose prose-sm max-w-none text-gray-500 text-sm\"\n              v-html=\"moduleData.highlights\"\n            />\n          </div>\n        </div>\n        <div class=\"border-t border-gray-200 mt-10 pt-10\">\n          <div\n            v-for=\"(link, key) in moduleData.links\"\n            :key=\"key\"\n            class=\"mb-4 last:mb-0 flex\"\n          >\n            <BaseIcon :name=\"link.icon\" class=\"mr-4\" />\n            <a :href=\"link.link\" class=\"text-primary-500\" target=\"_blank\">\n              {{ link.label }}\n            </a>\n          </div>\n        </div>\n        <!-- Installation Steps  -->\n        <div v-if=\"isInstalling\" class=\"border-t border-gray-200 mt-10 pt-10\">\n          <ul class=\"w-full p-0 list-none\">\n            <li\n              v-for=\"step in installationSteps\"\n              :key=\"step.stepUrl\"\n              class=\"\n                flex\n                justify-between\n                w-full\n                py-3\n                border-b border-gray-200 border-solid\n                last:border-b-0\n              \"\n            >\n              <p class=\"m-0 text-sm leading-8\">\n                {{ $t(step.translationKey) }}\n              </p>\n              <div class=\"flex flex-row items-center\">\n                <span v-if=\"step.time\" class=\"mr-3 text-xs text-gray-500\">\n                  {{ step.time }}\n                </span>\n                <span\n                  :class=\"statusClass(step)\"\n                  class=\"block py-1 text-sm text-center uppercase rounded-full\"\n                  style=\"width: 88px\"\n                >\n                  {{ getStatus(step) }}\n                </span>\n              </div>\n            </li>\n          </ul>\n        </div>\n\n        <!-- Social Share  -->\n        <!-- <div class=\"border-t border-gray-200 mt-10 pt-10\">\n          <h3 class=\"text-sm font-medium text-gray-900\">Share</h3>\n          <ul role=\"list\" class=\"flex items-center space-x-6 mt-4\">\n            <li>\n              <a\n                href=\"#\"\n                class=\"\n                  flex\n                  items-center\n                  justify-center\n                  w-6\n                  h-6\n                  text-gray-400\n                  hover:text-gray-500\n                \"\n              >\n                <span class=\"sr-only\">Share on Facebook</span>\n                <svg\n                  class=\"w-5 h-5\"\n                  fill=\"currentColor\"\n                  viewBox=\"0 0 20 20\"\n                  aria-hidden=\"true\"\n                >\n                  <path\n                    fill-rule=\"evenodd\"\n                    d=\"M20 10c0-5.523-4.477-10-10-10S0 4.477 0 10c0 4.991 3.657 9.128 8.438 9.878v-6.987h-2.54V10h2.54V7.797c0-2.506 1.492-3.89 3.777-3.89 1.094 0 2.238.195 2.238.195v2.46h-1.26c-1.243 0-1.63.771-1.63 1.562V10h2.773l-.443 2.89h-2.33v6.988C16.343 19.128 20 14.991 20 10z\"\n                    clip-rule=\"evenodd\"\n                  />\n                </svg>\n              </a>\n            </li>\n            <li>\n              <a\n                href=\"#\"\n                class=\"\n                  flex\n                  items-center\n                  justify-center\n                  w-6\n                  h-6\n                  text-gray-400\n                  hover:text-gray-500\n                \"\n              >\n                <span class=\"sr-only\">Share on Instagram</span>\n                <svg\n                  class=\"w-6 h-6\"\n                  fill=\"currentColor\"\n                  viewBox=\"0 0 24 24\"\n                  aria-hidden=\"true\"\n                >\n                  <path\n                    fill-rule=\"evenodd\"\n                    d=\"M12.315 2c2.43 0 2.784.013 3.808.06 1.064.049 1.791.218 2.427.465a4.902 4.902 0 011.772 1.153 4.902 4.902 0 011.153 1.772c.247.636.416 1.363.465 2.427.048 1.067.06 1.407.06 4.123v.08c0 2.643-.012 2.987-.06 4.043-.049 1.064-.218 1.791-.465 2.427a4.902 4.902 0 01-1.153 1.772 4.902 4.902 0 01-1.772 1.153c-.636.247-1.363.416-2.427.465-1.067.048-1.407.06-4.123.06h-.08c-2.643 0-2.987-.012-4.043-.06-1.064-.049-1.791-.218-2.427-.465a4.902 4.902 0 01-1.772-1.153 4.902 4.902 0 01-1.153-1.772c-.247-.636-.416-1.363-.465-2.427-.047-1.024-.06-1.379-.06-3.808v-.63c0-2.43.013-2.784.06-3.808.049-1.064.218-1.791.465-2.427a4.902 4.902 0 011.153-1.772A4.902 4.902 0 015.45 2.525c.636-.247 1.363-.416 2.427-.465C8.901 2.013 9.256 2 11.685 2h.63zm-.081 1.802h-.468c-2.456 0-2.784.011-3.807.058-.975.045-1.504.207-1.857.344-.467.182-.8.398-1.15.748-.35.35-.566.683-.748 1.15-.137.353-.3.882-.344 1.857-.047 1.023-.058 1.351-.058 3.807v.468c0 2.456.011 2.784.058 3.807.045.975.207 1.504.344 1.857.182.466.399.8.748 1.15.35.35.683.566 1.15.748.353.137.882.3 1.857.344 1.054.048 1.37.058 4.041.058h.08c2.597 0 2.917-.01 3.96-.058.976-.045 1.505-.207 1.858-.344.466-.182.8-.398 1.15-.748.35-.35.566-.683.748-1.15.137-.353.3-.882.344-1.857.048-1.055.058-1.37.058-4.041v-.08c0-2.597-.01-2.917-.058-3.96-.045-.976-.207-1.505-.344-1.858a3.097 3.097 0 00-.748-1.15 3.098 3.098 0 00-1.15-.748c-.353-.137-.882-.3-1.857-.344-1.023-.047-1.351-.058-3.807-.058zM12 6.865a5.135 5.135 0 110 10.27 5.135 5.135 0 010-10.27zm0 1.802a3.333 3.333 0 100 6.666 3.333 3.333 0 000-6.666zm5.338-3.205a1.2 1.2 0 110 2.4 1.2 1.2 0 010-2.4z\"\n                    clip-rule=\"evenodd\"\n                  />\n                </svg>\n              </a>\n            </li>\n            <li>\n              <a\n                href=\"#\"\n                class=\"\n                  flex\n                  items-center\n                  justify-center\n                  w-6\n                  h-6\n                  text-gray-400\n                  hover:text-gray-500\n                \"\n              >\n                <span class=\"sr-only\">Share on Twitter</span>\n                <svg\n                  class=\"w-5 h-5\"\n                  fill=\"currentColor\"\n                  viewBox=\"0 0 20 20\"\n                  aria-hidden=\"true\"\n                >\n                  <path\n                    d=\"M6.29 18.251c7.547 0 11.675-6.253 11.675-11.675 0-.178 0-.355-.012-.53A8.348 8.348 0 0020 3.92a8.19 8.19 0 01-2.357.646 4.118 4.118 0 001.804-2.27 8.224 8.224 0 01-2.605.996 4.107 4.107 0 00-6.993 3.743 11.65 11.65 0 01-8.457-4.287 4.106 4.106 0 001.27 5.477A4.073 4.073 0 01.8 7.713v.052a4.105 4.105 0 003.292 4.022 4.095 4.095 0 01-1.853.07 4.108 4.108 0 003.834 2.85A8.233 8.233 0 010 16.407a11.616 11.616 0 006.29 1.84\"\n                  />\n                </svg>\n              </a>\n            </li>\n          </ul>\n        </div> -->\n      </div>\n\n      <div\n        class=\"\n          w-full\n          max-w-2xl\n          mx-auto\n          mt-16\n          lg:max-w-none lg:mt-0 lg:col-span-4\n        \"\n      >\n        <TabGroup as=\"div\">\n          <TabList class=\"-mb-px flex space-x-8 border-b border-gray-200\">\n            <Tab v-slot=\"{ selected }\" as=\"template\">\n              <button\n                :class=\"[\n                  selected\n                    ? 'border-primary-600 text-primary-600'\n                    : 'border-transparent text-gray-700 hover:text-gray-800 hover:border-gray-300',\n                  'whitespace-nowrap py-6 border-b-2 font-medium text-sm',\n                ]\"\n              >\n                {{ $t('modules.customer_reviews') }}\n              </button>\n            </Tab>\n            <Tab v-slot=\"{ selected }\" as=\"template\">\n              <button\n                :class=\"[\n                  selected\n                    ? 'border-primary-600 text-primary-600'\n                    : 'border-transparent text-gray-700 hover:text-gray-800 hover:border-gray-300',\n                  'whitespace-nowrap py-6 border-b-2 font-medium text-sm',\n                ]\"\n              >\n                {{ $t('modules.faq') }}\n              </button>\n            </Tab>\n            <Tab v-slot=\"{ selected }\" as=\"template\">\n              <button\n                :class=\"[\n                  selected\n                    ? 'border-primary-600 text-primary-600'\n                    : 'border-transparent text-gray-700 hover:text-gray-800 hover:border-gray-300',\n                  'whitespace-nowrap py-6 border-b-2 font-medium text-sm',\n                ]\"\n              >\n                {{ $t('modules.license') }}\n              </button>\n            </Tab>\n          </TabList>\n          <TabPanels as=\"template\">\n            <!-- Customer Reviews  -->\n            <TabPanel class=\"-mb-10\">\n              <h3 class=\"sr-only\">Customer Reviews</h3>\n              <div v-if=\"moduleData.reviews.length\">\n                <div\n                  v-for=\"(review, reviewIdx) in moduleData.reviews\"\n                  :key=\"reviewIdx\"\n                  class=\"flex text-sm text-gray-500 space-x-4\"\n                >\n                  <div class=\"flex-none py-10\">\n                    <span\n                      class=\"\n                        inline-flex\n                        items-center\n                        justify-center\n                        h-12\n                        w-12\n                        rounded-full\n                        bg-gray-500\n                      \"\n                    >\n                      <span\n                        class=\"\n                          text-lg\n                          font-medium\n                          leading-none\n                          text-white\n                          uppercase\n                        \"\n                        >{{ review.customer.name[0] }}</span\n                      >\n                    </span>\n                  </div>\n                  <div\n                    :class=\"[\n                      reviewIdx === 0 ? '' : 'border-t border-gray-200',\n                      'py-10',\n                    ]\"\n                  >\n                    <h3 class=\"font-medium text-gray-900\">\n                      {{ review.customer.name }}\n                    </h3>\n                    <p>\n                      {{ moment(review.created_at).format('MMMM Do YYYY') }}\n                    </p>\n\n                    <div class=\"flex items-center mt-4\">\n                      <BaseRating :rating=\"review.rating\" />\n                    </div>\n\n                    <div\n                      class=\"mt-4 prose prose-sm max-w-none text-gray-500\"\n                      v-html=\"review.feedback\"\n                    />\n                  </div>\n                </div>\n              </div>\n              <div v-else class=\"flex w-full items-center justify-center\">\n                <p class=\"text-gray-500 mt-10 text-sm\">\n                  {{ $t('modules.no_reviews_found') }}\n                </p>\n              </div>\n            </TabPanel>\n\n            <!-- FAQs  -->\n            <TabPanel as=\"dl\" class=\"text-sm text-gray-500\">\n              <h3 class=\"sr-only\">Frequently Asked Questions</h3>\n\n              <template v-for=\"faq in moduleData.faq\" :key=\"faq.question\">\n                <dt class=\"mt-10 font-medium text-gray-900\">\n                  {{ faq.question }}\n                </dt>\n                <dd class=\"mt-2 prose prose-sm max-w-none text-gray-500\">\n                  <p>{{ faq.answer }}</p>\n                </dd>\n              </template>\n            </TabPanel>\n\n            <!-- License  -->\n            <TabPanel class=\"pt-10\">\n              <h3 class=\"sr-only\">License</h3>\n\n              <div\n                class=\"prose prose-sm max-w-none text-gray-500\"\n                v-html=\"moduleData.license\"\n              />\n            </TabPanel>\n          </TabPanels>\n        </TabGroup>\n      </div>\n    </div>\n\n    <!-- Other Modules -->\n    <div\n      v-if=\"otherModules && otherModules.length\"\n      class=\"mt-24 sm:mt-32 lg:max-w-none\"\n    >\n      <div class=\"flex items-center justify-between space-x-4\">\n        <h2 class=\"text-lg font-medium text-gray-900\">\n          {{ $t('modules.other_modules') }}\n        </h2>\n        <a\n          href=\"/admin/modules\"\n          class=\"\n            whitespace-nowrap\n            text-sm\n            font-medium\n            text-primary-600\n            hover:text-primary-500\n          \"\n          >{{ $t('modules.view_all')\n          }}<span aria-hidden=\"true\"> &rarr;</span></a\n        >\n      </div>\n      <div\n        class=\"\n          mt-6\n          grid grid-cols-1\n          gap-x-8 gap-y-8\n          sm:grid-cols-2 sm:gap-y-10\n          lg:grid-cols-4\n        \"\n      >\n        <div v-for=\"(other, moduleIdx) in otherModules\" :key=\"moduleIdx\">\n          <RecentModuleCard :data=\"other\" />\n        </div>\n      </div>\n    </div>\n\n    <div class=\"p-6\"></div>\n  </BasePage>\n</template>\n\n<script setup>\nimport { Tab, TabGroup, TabList, TabPanel, TabPanels } from '@headlessui/vue'\nimport {\n  RadioGroup,\n  RadioGroupDescription,\n  RadioGroupLabel,\n  RadioGroupOption,\n} from '@headlessui/vue'\nimport { useModuleStore } from '@/scripts/admin/stores/module'\nimport { computed, onMounted, ref, watch, reactive } from 'vue'\nimport { required, minLength, maxLength, helpers } from '@vuelidate/validators'\nimport { useVuelidate } from '@vuelidate/core'\nimport { useRoute } from 'vue-router'\nimport { useDialogStore } from '@/scripts/stores/dialog'\nimport { useI18n } from 'vue-i18n'\nimport moment from 'moment'\nimport axios from 'axios'\nimport ModulePlaceholder from './partials/ModulePlaceholder.vue'\nimport RecentModuleCard from './partials/RecentModuleCard.vue'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport { useGlobalStore } from '@/scripts/admin/stores/global'\nconst globalStore = useGlobalStore()\n\nconst moduleStore = useModuleStore()\nconst notificationStore = useNotificationStore()\nconst dialogStore = useDialogStore()\n\nconst route = useRoute()\nconst { t } = useI18n()\nlet isInstalling = ref(false)\nlet isFetchingInitialData = ref(true)\nlet displayImage = ref('')\nlet isEnabling = ref(false)\nlet isDisabling = ref(false)\nlet isUpdating = ref(false)\n\nloadData()\n\nwatch(\n  () => route.params.slug,\n  async (newSlug) => {\n    loadData()\n  }\n)\n\nconst moduleData = computed(() => {\n  return moduleStore.currentModule.data\n})\n\nconst modulePrice = computed(() => {\n  let priceList = []\n\n  let monthlyPrice = reactive({\n    name: t('modules.monthly'),\n    price: moduleData?.value?.monthly_price / 100,\n  })\n\n  let yearlyPrice = reactive({\n    name: t('modules.yearly'),\n    price: moduleData?.value?.yearly_price / 100,\n  })\n\n  if (typeYearly.value) {\n    priceList.push(yearlyPrice)\n  } else if (typeMonthly.value) {\n    priceList.push(monthlyPrice)\n  } else {\n    priceList.push(monthlyPrice)\n    priceList.push(yearlyPrice)\n  }\n\n  return priceList\n})\n\nconst typeYearly = computed(() => {\n  if (moduleData.value) {\n    return moduleData.value.type === 'YEARLY'\n  }\n\n  return false\n})\n\nconst typeMonthly = computed(() => {\n  if (moduleData.value) {\n    return moduleData.value.type === 'MONTHLY'\n  }\n\n  return false\n})\n\nconst isModuleInstalled = computed(() => {\n  if (moduleData.value.installed && moduleData.value.latest_module_version) {\n    return true\n  }\n  return false\n})\n\nconst otherModules = computed(() => {\n  return moduleStore.currentModule.meta.modules\n})\n\nlet updatedAt = computed(() => {\n  let latest = ref(moduleData.value.latest_module_version_updated_at)\n  let installed = ref(moduleData.value.installed_module_version_updated_at)\n\n  const date = installed.value ? installed.value : latest.value\n\n  return moment(date).format('MMMM Do YYYY')\n})\n\nlet moduleVersion = computed(() => {\n  let latest = ref(moduleData.value.latest_module_version)\n  let installed = ref(moduleData.value.installed_module_version)\n\n  let data = installed.value ? installed.value : latest.value\n\n  return data\n})\n\nlet averageRating = computed(() => {\n  return parseInt(moduleData.value.average_rating)\n})\n\nconst displayImages = computed(() => {\n  let images = reactive([])\n\n  let cover = reactive({\n    id: null,\n    url: moduleData.value.cover,\n  })\n\n  images.push(cover)\n\n  if (moduleData.value.screenshots) {\n    moduleData.value.screenshots.forEach((image) => {\n      images.push(image)\n    })\n  }\n\n  return images\n})\n\nconst displayVideo = ref(false)\n\nconst thumbnail = ref(null)\n\nconst videoUrl = ref(null)\n\nconst selectedPlan = ref(modulePrice.value[0])\n\nconst installationSteps = reactive([\n  {\n    translationKey: 'modules.download_zip_file',\n    stepUrl: '/api/v1/modules/download',\n    time: null,\n    started: false,\n    completed: false,\n  },\n  {\n    translationKey: 'modules.unzipping_package',\n    stepUrl: '/api/v1/modules/unzip',\n    time: null,\n    started: false,\n    completed: false,\n  },\n  {\n    translationKey: 'modules.copying_files',\n    stepUrl: '/api/v1/modules/copy',\n    time: null,\n    started: false,\n    completed: false,\n  },\n  {\n    translationKey: 'modules.completing_installation',\n    stepUrl: '/api/v1/modules/complete',\n    time: null,\n    started: false,\n    completed: false,\n  },\n])\n\nasync function installModule() {\n  let path = null\n\n  for (let index = 0; index < installationSteps.length; index++) {\n    let currentStep = installationSteps[index]\n\n    try {\n      isInstalling.value = true\n      currentStep.started = true\n      let updateParams = {\n        version: moduleData.value.latest_module_version,\n        path: path || null,\n        module: moduleData.value.module_name,\n      }\n\n      let requestResponse = await axios.post(currentStep.stepUrl, updateParams)\n\n      currentStep.completed = true\n      if (requestResponse.data) {\n        path = requestResponse.data.path\n      }\n\n      if (!requestResponse.data.success) {\n        let displayMsg = ref('')\n\n        if (\n          requestResponse.data.message === 'crater_version_is_not_supported'\n        ) {\n          displayMsg.value = t('modules.version_not_supported', {\n            version: requestResponse.data.min_crater_version,\n          })\n        } else {\n          displayMsg.value = getErrorMessage(requestResponse.data.message)\n        }\n\n        notificationStore.showNotification({\n          type: 'error',\n          message: displayMsg.value,\n        })\n\n        isInstalling.value = false\n        currentStep.started = false\n        currentStep.completed = true\n        return false\n      }\n      if (currentStep.translationKey == 'modules.completing_installation') {\n        isInstalling.value = false\n        notificationStore.showNotification({\n          type: 'success',\n          message: t('modules.install_success'),\n        })\n\n        setTimeout(() => {\n          location.reload()\n        }, 1500)\n      }\n    } catch (error) {\n      isInstalling.value = false\n      currentStep.started = false\n      currentStep.completed = true\n      return false\n    }\n  }\n}\n\nfunction getErrorMessage(message) {\n  let msg = ref('')\n\n  switch (message) {\n    case 'module_not_found':\n      msg = t('modules.module_not_found')\n      break\n\n    case 'module_not_purchased':\n      msg = t('modules.module_not_purchased')\n      break\n\n    case 'version_not_supported':\n      msg = t('modules.version_not_supported')\n      break\n\n    default:\n      msg = message\n      break\n  }\n\n  return msg\n}\n\nasync function loadData() {\n  if (!route.params.slug) {\n    return\n  }\n\n  isFetchingInitialData.value = true\n  await moduleStore.fetchModule(route.params.slug).then((response) => {\n    selectedPlan.value = modulePrice.value[0]\n\n    videoUrl.value = moduleData.value.video_link\n    thumbnail.value = moduleData.value.video_thumbnail\n\n    if (videoUrl.value) {\n      setDisplayVideo()\n      isFetchingInitialData.value = false\n      return\n    }\n    displayImage.value = moduleData.value.cover\n    isFetchingInitialData.value = false\n    return\n  })\n}\n\nfunction statusClass(step) {\n  const status = getStatus(step)\n\n  switch (status) {\n    case 'pending':\n      return 'text-primary-800 bg-gray-200'\n    case 'finished':\n      return 'text-teal-500 bg-teal-100'\n    case 'running':\n      return 'text-blue-400 bg-blue-100'\n    case 'error':\n      return 'text-danger bg-red-200'\n    default:\n      return ''\n  }\n}\n\nfunction disableModule() {\n  dialogStore\n    .openDialog({\n      title: t('general.are_you_sure'),\n      message: t('modules.disable_warning'),\n      yesLabel: t('general.ok'),\n      noLabel: t('general.cancel'),\n      variant: 'danger',\n      hideNoButton: false,\n      size: 'lg',\n    })\n    .then(async (res) => {\n      if (res) {\n        isDisabling.value = true\n        await moduleStore\n          .disableModule(moduleData.value.module_name)\n          .then((res) => {\n            if (res.data.success) {\n              moduleData.value.enabled = 0\n              isDisabling.value = false\n\n              setTimeout(() => {\n                location.reload()\n              }, 1500)\n              return\n            }\n          })\n        isDisabling.value = false\n        return\n      }\n    })\n}\n\nasync function enableModule() {\n  isEnabling.value = true\n\n  await moduleStore.enableModule(moduleData.value.module_name).then((res) => {\n    if (res.data.success) {\n      moduleData.value.enabled = 1\n\n      setTimeout(() => {\n        location.reload()\n      }, 1500)\n    }\n    isEnabling.value = false\n    return\n  })\n  isEnabling.value = false\n  return\n}\n\nfunction getStatus(step) {\n  if (step.started && step.completed) {\n    return 'finished'\n  } else if (step.started && !step.completed) {\n    return 'running'\n  } else if (!step.started && !step.completed) {\n    return 'pending'\n  } else {\n    return 'error'\n  }\n}\n\nfunction setDisplayImage(url) {\n  displayVideo.value = false\n  displayImage.value = url\n}\n\nfunction setDisplayVideo() {\n  displayVideo.value = true\n  displayImage.value = null\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/modules/partials/ModuleCard.vue",
    "content": "<template>\n  <div\n    class=\"\n      relative\n      shadow-md\n      border-2 border-gray-200 border-opacity-60\n      rounded-lg\n      cursor-pointer\n      overflow-hidden\n      h-100\n    \"\n    @click=\"$router.push(`/admin/modules/${data.slug}`)\"\n  >\n    <div\n      v-if=\"data.purchased\"\n      class=\"absolute mt-5 px-6 w-full flex justify-end\"\n    >\n      <label\n        v-if=\"data.purchased\"\n        class=\"\n          bg-white bg-opacity-75\n          text-xs\n          px-3\n          py-1\n          font-semibold\n          tracking-wide\n          rounded\n        \"\n      >\n        {{ $t('modules.purchased') }}\n      </label>\n      <label\n        v-if=\"data.installed\"\n        class=\"\n          ml-2\n          bg-white bg-opacity-75\n          text-xs\n          px-3\n          py-1\n          font-semibold\n          tracking-wide\n          rounded\n        \"\n      >\n        <span v-if=\"data.update_available\">\n          {{ $t('modules.update_available') }}\n        </span>\n        <span v-else>\n          {{ $t('modules.installed') }}\n        </span>\n      </label>\n    </div>\n    <img\n      class=\"lg:h-64 md:h-48 w-full object-cover object-center\"\n      :src=\"data.cover\"\n      alt=\"cover\"\n    />\n    <div class=\"px-6 py-5 flex flex-col bg-gray-50 flex-1 justify-between\">\n      <span\n        class=\"\n          text-lg\n          sm:text-2xl\n          font-medium\n          whitespace-nowrap\n          truncate\n          text-primary-500\n        \"\n      >\n        {{ data.name }}\n      </span>\n      <div v-if=\"data.author_avatar\" class=\"flex items-center mt-2\">\n        <img\n          class=\"hidden h-10 w-10 rounded-full sm:inline-block mr-2\"\n          :src=\"\n            data.author_avatar\n              ? data.author_avatar\n              : 'http://localhost:3000/img/default-avatar.jpg'\n          \"\n          alt=\"\"\n        />\n        <span>by</span>\n        <span class=\"ml-2 text-base font-semibold truncate\"\n          >{{ data.author_name }}\n        </span>\n      </div>\n      <base-text\n        :text=\"data.short_description\"\n        class=\"pt-4 text-gray-500 h-16 line-clamp-2\"\n        :length=\"110\"\n      >\n      </base-text>\n      <div\n        class=\"\n          flex\n          justify-between\n          mt-4\n          flex-col\n          space-y-2\n          sm:space-y-0 sm:flex-row\n        \"\n      >\n        <div><BaseRating :rating=\"averageRating\" /></div>\n        <div\n          class=\"\n            text-xl\n            md:text-2xl\n            font-semibold\n            whitespace-nowrap\n            text-primary-500\n          \"\n        >\n          $\n          {{\n            data.monthly_price\n              ? data.monthly_price / 100\n              : data.yearly_price / 100\n          }}\n        </div>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script setup>\nimport { useI18n } from 'vue-i18n'\nimport { computed, onMounted, ref, watch, reactive } from 'vue'\n\nconst { t } = useI18n()\nconst props = defineProps({\n  data: {\n    type: Object,\n    default: null,\n    required: true,\n  },\n})\n\nlet averageRating = computed(() => {\n  return parseInt(props.data.average_rating)\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/modules/partials/ModuleCardPlaceholder.vue",
    "content": "<template>\n  <BaseContentPlaceholders>\n    <div\n      class=\"\n        shadow-md\n        border-2 border-gray-200 border-opacity-60\n        rounded-lg\n        cursor-pointer\n        overflow-hidden\n        h-100\n      \"\n    >\n      <BaseContentPlaceholdersBox class=\"h-48 lg:h-64 md:h-48 w-full\" rounded />\n      <div class=\"px-6 py-5 flex flex-col bg-gray-50 flex-1 justify-between\">\n        <BaseContentPlaceholdersText class=\"w-32 h-8\" :lines=\"1\" rounded />\n        <div class=\"flex items-center mt-2\">\n          <BaseContentPlaceholdersBox\n            class=\"h-10 w-10 rounded-full sm:inline-block mr-2\"\n          />\n          <div>\n            <BaseContentPlaceholdersText\n              class=\"w-32 h-8 ml-2\"\n              :lines=\"1\"\n              rounded\n            />\n          </div>\n        </div>\n        <BaseContentPlaceholdersText\n          class=\"pt-4 w-full h-16\"\n          :lines=\"1\"\n          rounded\n        />\n        <div\n          class=\"\n            flex\n            justify-between\n            mt-4\n            flex-col\n            space-y-2\n            sm:space-y-0 sm:flex-row\n          \"\n        >\n          <BaseContentPlaceholdersText class=\"w-32 h-8\" :lines=\"1\" rounded />\n          <BaseContentPlaceholdersText class=\"w-32 h-8\" :lines=\"1\" rounded />\n        </div>\n      </div>\n    </div>\n  </BaseContentPlaceholders>\n</template>"
  },
  {
    "path": "resources/scripts/admin/views/modules/partials/ModulePlaceholder.vue",
    "content": "<template>\n  <BaseContentPlaceholders rounded>\n    <BasePage class=\"bg-white\">\n\n      <!-- Breadcrumb-->\n      <BaseContentPlaceholdersText class=\"mt-4 h-8 w-40\" :lines=\"1\"/>\n      <BaseContentPlaceholdersText class=\"mt-4 h-8 w-56 mb-4\" :lines=\"1\"/>\n\n      <!-- Product -->\n      <div class=\"lg:grid lg:grid-rows-1 lg:grid-cols-7 lg:gap-x-8 lg:gap-y-10 xl:gap-x-16 mt-6\">\n      \n        <!-- Product image -->\n        <div class=\"lg:row-end-1 lg:col-span-4\">\n          <BaseContentPlaceholdersBox class=\"h-96 sm:w-full\" rounded />\n        </div>\n\n        <!-- Product details -->\n        <div\n          class=\"\n            max-w-2xl\n            mx-auto\n            mt-10\n            lg:max-w-none lg:mt-0 lg:row-end-2 lg:row-span-2 lg:col-span-3\n            w-full\n          \"\n        >\n          <!-- Average Rating -->\n          <div>\n            <h3 class=\"sr-only\">Reviews</h3>\n            <BaseContentPlaceholdersText class=\"w-32 h-8\" :lines=\"1\" />\n\n            <p class=\"sr-only\">4 out of 5 stars</p>\n          </div>\n\n          <!-- Module Name and Version -->\n          <div class=\"flex flex-col-reverse\">\n            <div class=\"mt-4\">\n              <BaseContentPlaceholdersText\n                class=\"w-48 xl:w-80 h-12\"\n                :lines=\"1\"\n              />\n              <BaseContentPlaceholdersText\n                class=\"w-64 xl:w-80 h-8 mt-2\"\n                :lines=\"1\"\n              />\n            </div>\n          </div>\n\n          <!-- Module Description  -->\n          <div>\n            <BaseContentPlaceholdersText\n              class=\"w-full h-24 my-10\"\n              :lines=\"1\"\n            />\n          </div>\n\n          <!-- Module Pricing -->\n          <div>\n            <BaseContentPlaceholdersText\n              class=\"w-full h-24 mt-6 mb-6\"\n              :lines=\"1\"\n            />\n          </div>\n\n          <!-- Button Section  -->\n          <div class=\"mt-10 grid grid-cols-1 gap-x-6 gap-y-4 sm:grid-cols-2\">\n            <BaseContentPlaceholdersText class=\"w-full h-14\" :lines=\"1\" />\n          </div>\n\n          <div class=\"mt-10\"></div>\n\n          <!-- HightLight  -->\n          <div class=\"border-t border-gray-200 mt-10 pt-10\">\n            <div>\n              <BaseContentPlaceholdersText class=\"w-24 h-6\" :lines=\"1\" />\n              <BaseContentPlaceholdersText\n                class=\"mt-4 w-full h-20\"\n                :lines=\"1\"\n              />\n            </div>\n          </div>\n\n          <!-- Social Share  -->\n          <div class=\"border-t border-gray-200 mt-10 pt-10\">\n            <BaseContentPlaceholdersText class=\"h-6 w-24\" :lines=\"1\" />\n            <BaseContentPlaceholdersText class=\"h-10 w-32 mt-4\" :lines=\"1\" />\n          </div>\n        </div>\n\n        <div\n          class=\"\n            w-full\n            max-w-2xl\n            mx-auto\n            mt-16\n            lg:max-w-none lg:mt-0 lg:col-span-4\n          \"\n        >\n          <BaseContentPlaceholdersBox class=\"h-96 sm:w-full\" rounded />\n        </div>\n      </div>\n    </BasePage>\n  </BaseContentPlaceholders>\n</template>\n"
  },
  {
    "path": "resources/scripts/admin/views/modules/partials/RecentModuleCard.vue",
    "content": "<template>\n  <router-link class=\"relative group\" :to=\"`/admin/modules/${data.slug}`\">\n    <div class=\"relative group\">\n      <div class=\"aspect-w-4 aspect-h-3 rounded-lg overflow-hidden bg-gray-100\">\n        <img :src=\"data.cover\" class=\"object-center object-cover\" />\n        <div\n          class=\"flex items-end opacity-0 p-4 group-hover:opacity-100\"\n          aria-hidden=\"true\"\n        >\n          <div\n            class=\"\n              w-full\n              bg-white bg-opacity-75\n              backdrop-filter backdrop-blur\n              py-2\n              px-4\n              rounded-md\n              text-sm\n              font-medium\n              text-primary-500 text-center\n            \"\n          >\n            {{ $t('modules.view_module') }}\n          </div>\n        </div>\n      </div>\n      <div\n        class=\"\n          mt-4\n          flex\n          items-center\n          justify-between\n          text-base\n          font-medium\n          text-gray-900\n          space-x-8\n          cursor-pointer\n        \"\n      >\n        <h3 class=\"text-primary-500 font-bold\">\n          <span aria-hidden=\"true\" class=\"absolute inset-0\"></span>\n          {{ data.name }}\n        </h3>\n        <p class=\"text-primary-500 font-bold\">\n          $ {{ data.monthly_price / 100 }}\n        </p>\n      </div>\n    </div>\n  </router-link>\n</template>\n\n<script setup>\nimport { useI18n } from 'vue-i18n'\n\nconst { t } = useI18n()\nconst props = defineProps({\n  data: {\n    type: Object,\n    default: null,\n    required: true,\n  },\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/payments/Create.vue",
    "content": "<template>\n  <PaymentModeModal />\n\n  <BasePage class=\"relative payment-create\">\n    <form action=\"\" @submit.prevent=\"submitPaymentData\">\n      <BasePageHeader :title=\"pageTitle\" class=\"mb-5\">\n        <BaseBreadcrumb>\n          <BaseBreadcrumbItem\n            :title=\"$t('general.home')\"\n            to=\"/admin/dashboard\"\n          />\n          <BaseBreadcrumbItem\n            :title=\"$tc('payments.payment', 2)\"\n            to=\"/admin/payments\"\n          />\n          <BaseBreadcrumbItem :title=\"pageTitle\" to=\"#\" active />\n        </BaseBreadcrumb>\n\n        <template #actions>\n          <BaseButton\n            :loading=\"isSaving\"\n            :disabled=\"isSaving\"\n            variant=\"primary\"\n            type=\"submit\"\n            class=\"hidden sm:flex\"\n          >\n            <template #left=\"slotProps\">\n              <BaseIcon\n                v-if=\"!isSaving\"\n                name=\"SaveIcon\"\n                :class=\"slotProps.class\"\n              />\n            </template>\n            {{\n              isEdit\n                ? $t('payments.update_payment')\n                : $t('payments.save_payment')\n            }}\n          </BaseButton>\n        </template>\n      </BasePageHeader>\n\n      <BaseCard>\n        <BaseInputGrid>\n          <BaseInputGroup\n            :label=\"$t('payments.date')\"\n            :content-loading=\"isLoadingContent\"\n            required\n            :error=\"\n              v$.currentPayment.payment_date.$error &&\n              v$.currentPayment.payment_date.$errors[0].$message\n            \"\n          >\n            <BaseDatePicker\n              v-model=\"paymentStore.currentPayment.payment_date\"\n              :content-loading=\"isLoadingContent\"\n              :calendar-button=\"true\"\n              calendar-button-icon=\"calendar\"\n              :invalid=\"v$.currentPayment.payment_date.$error\"\n              @update:modelValue=\"v$.currentPayment.payment_date.$touch()\"\n            />\n          </BaseInputGroup>\n\n          <BaseInputGroup\n            :label=\"$t('payments.payment_number')\"\n            :content-loading=\"isLoadingContent\"\n            required\n          >\n            <BaseInput\n              v-model=\"paymentStore.currentPayment.payment_number\"\n              :content-loading=\"isLoadingContent\"\n            />\n          </BaseInputGroup>\n\n          <BaseInputGroup\n            :label=\"$t('payments.customer')\"\n            :error=\"\n              v$.currentPayment.customer_id.$error &&\n              v$.currentPayment.customer_id.$errors[0].$message\n            \"\n            :content-loading=\"isLoadingContent\"\n            required\n          >\n            <BaseCustomerSelectInput\n              v-model=\"paymentStore.currentPayment.customer_id\"\n              :content-loading=\"isLoadingContent\"\n              v-if=\"!isLoadingContent\"\n              :invalid=\"v$.currentPayment.customer_id.$error\"\n              :placeholder=\"$t('customers.select_a_customer')\"\n              show-action\n              @update:modelValue=\"\n                selectNewCustomer(paymentStore.currentPayment.customer_id)\n              \"\n            />\n          </BaseInputGroup>\n\n          <BaseInputGroup\n            :content-loading=\"isLoadingContent\"\n            :label=\"$t('payments.invoice')\"\n            :help-text=\"\n              selectedInvoice\n                ? `Due Amount: ${\n                    paymentStore.currentPayment.maxPayableAmount / 100\n                  }`\n                : ''\n            \"\n          >\n            <BaseMultiselect\n              v-model=\"paymentStore.currentPayment.invoice_id\"\n              :content-loading=\"isLoadingContent\"\n              value-prop=\"id\"\n              track-by=\"invoice_number\"\n              label=\"invoice_number\"\n              :options=\"invoiceList\"\n              :loading=\"isLoadingInvoices\"\n              :placeholder=\"$t('invoices.select_invoice')\"\n              @select=\"onSelectInvoice\"\n            >\n              <template #singlelabel=\"{ value }\">\n                <div class=\"absolute left-3.5\">\n                  {{ value.invoice_number }} ({{\n                    utils.formatMoney(value.total, value.customer.currency)\n                  }})\n                </div>\n              </template>\n\n              <template #option=\"{ option }\">\n                {{ option.invoice_number }} ({{\n                  utils.formatMoney(option.total, option.customer.currency)\n                }})\n              </template>\n            </BaseMultiselect>\n          </BaseInputGroup>\n\n          <BaseInputGroup\n            :label=\"$t('payments.amount')\"\n            :content-loading=\"isLoadingContent\"\n            :error=\"\n              v$.currentPayment.amount.$error &&\n              v$.currentPayment.amount.$errors[0].$message\n            \"\n            required\n          >\n            <div class=\"relative w-full\">\n              <BaseMoney\n                :key=\"paymentStore.currentPayment.currency\"\n                v-model=\"amount\"\n                :currency=\"paymentStore.currentPayment.currency\"\n                :content-loading=\"isLoadingContent\"\n                :invalid=\"v$.currentPayment.amount.$error\"\n                @update:modelValue=\"v$.currentPayment.amount.$touch()\"\n              />\n            </div>\n          </BaseInputGroup>\n\n          <BaseInputGroup\n            :content-loading=\"isLoadingContent\"\n            :label=\"$t('payments.payment_mode')\"\n          >\n            <BaseMultiselect\n              v-model=\"paymentStore.currentPayment.payment_method_id\"\n              :content-loading=\"isLoadingContent\"\n              label=\"name\"\n              value-prop=\"id\"\n              track-by=\"name\"\n              :options=\"paymentStore.paymentModes\"\n              :placeholder=\"$t('payments.select_payment_mode')\"\n              searchable\n            >\n              <template #action>\n                <BaseSelectAction @click=\"addPaymentMode\">\n                  <BaseIcon\n                    name=\"PlusIcon\"\n                    class=\"h-4 mr-2 -ml-2 text-center text-primary-400\"\n                  />\n                  {{ $t('settings.payment_modes.add_payment_mode') }}\n                </BaseSelectAction>\n              </template>\n            </BaseMultiselect>\n          </BaseInputGroup>\n\n          <ExchangeRateConverter\n            :store=\"paymentStore\"\n            store-prop=\"currentPayment\"\n            :v=\"v$.currentPayment\"\n            :is-loading=\"isLoadingContent\"\n            :is-edit=\"isEdit\"\n            :customer-currency=\"paymentStore.currentPayment.currency_id\"\n          />\n        </BaseInputGrid>\n\n        <!-- Payment Custom Fields -->\n        <PaymentCustomFields\n          type=\"Payment\"\n          :is-edit=\"isEdit\"\n          :is-loading=\"isLoadingContent\"\n          :store=\"paymentStore\"\n          store-prop=\"currentPayment\"\n          :custom-field-scope=\"paymentValidationScope\"\n          class=\"mt-6\"\n        />\n\n        <!-- Payment Note field -->\n        <div class=\"relative mt-6\">\n          <div\n            class=\"\n              z-20\n              float-right\n              text-sm\n              font-semibold\n              leading-5\n              text-primary-400\n            \"\n          >\n            <SelectNotePopup type=\"Payment\" @select=\"onSelectNote\" />\n          </div>\n\n          <label class=\"mb-4 text-sm font-medium text-gray-800\">\n            {{ $t('estimates.notes') }}\n          </label>\n\n          <BaseCustomInput\n            v-model=\"paymentStore.currentPayment.notes\"\n            :content-loading=\"isLoadingContent\"\n            :fields=\"PaymentFields\"\n            class=\"mt-1\"\n          />\n        </div>\n\n        <BaseButton\n          :loading=\"isSaving\"\n          :content-loading=\"isLoadingContent\"\n          variant=\"primary\"\n          type=\"submit\"\n          class=\"flex justify-center w-full mt-4 sm:hidden md:hidden\"\n        >\n          <template #left=\"slotProps\">\n            <BaseIcon\n              v-if=\"!isSaving\"\n              name=\"SaveIcon\"\n              :class=\"slotProps.class\"\n            />\n          </template>\n          {{\n            isEdit ? $t('payments.update_payment') : $t('payments.save_payment')\n          }}\n        </BaseButton>\n      </BaseCard>\n    </form>\n  </BasePage>\n</template>\n\n<script setup>\nimport ExchangeRateConverter from '@/scripts/admin/components/estimate-invoice-common/ExchangeRateConverter.vue'\n\nimport {\n  ref,\n  reactive,\n  computed,\n  inject,\n  watchEffect,\n  onBeforeUnmount,\n} from 'vue'\nimport { useRoute, useRouter } from 'vue-router'\nimport { useI18n } from 'vue-i18n'\nimport {\n  required,\n  numeric,\n  helpers,\n  between,\n  requiredIf,\n  decimal,\n} from '@vuelidate/validators'\n\nimport useVuelidate from '@vuelidate/core'\nimport { useCustomerStore } from '@/scripts/admin/stores/customer'\nimport { usePaymentStore } from '@/scripts/admin/stores/payment'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport { useCustomFieldStore } from '@/scripts/admin/stores/custom-field'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\nimport { useModalStore } from '@/scripts/stores/modal'\nimport { useInvoiceStore } from '@/scripts/admin/stores/invoice'\nimport { useGlobalStore } from '@/scripts/admin/stores/global'\n\nimport SelectNotePopup from '@/scripts/admin/components/SelectNotePopup.vue'\nimport PaymentCustomFields from '@/scripts/admin/components/custom-fields/CreateCustomFields.vue'\nimport PaymentModeModal from '@/scripts/admin/components/modal-components/PaymentModeModal.vue'\n\nconst route = useRoute()\nconst router = useRouter()\n\nconst paymentStore = usePaymentStore()\nconst notificationStore = useNotificationStore()\nconst customerStore = useCustomerStore()\nconst customFieldStore = useCustomFieldStore()\nconst companyStore = useCompanyStore()\nconst modalStore = useModalStore()\nconst invoiceStore = useInvoiceStore()\nconst globalStore = useGlobalStore()\n\nconst utils = inject('utils')\nconst { t } = useI18n()\n\nlet isSaving = ref(false)\nlet isLoadingInvoices = ref(false)\nlet invoiceList = ref([])\nconst selectedInvoice = ref(null)\n\nconst paymentValidationScope = 'newEstimate'\n\nconst PaymentFields = reactive([\n  'customer',\n  'company',\n  'customerCustom',\n  'payment',\n  'paymentCustom',\n])\n\nconst amount = computed({\n  get: () => paymentStore.currentPayment.amount / 100,\n  set: (value) => {\n    paymentStore.currentPayment.amount = Math.round(value * 100)\n  },\n})\n\nconst isLoadingContent = computed(() => paymentStore.isFetchingInitialData)\n\nconst isEdit = computed(() => route.name === 'payments.edit')\n\nconst pageTitle = computed(() => {\n  if (isEdit.value) {\n    return t('payments.edit_payment')\n  }\n  return t('payments.new_payment')\n})\n\nconst rules = computed(() => {\n  return {\n    currentPayment: {\n      customer_id: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n      payment_date: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n      amount: {\n        required: helpers.withMessage(t('validation.required'), required),\n        between: helpers.withMessage(\n          t('validation.payment_greater_than_due_amount'),\n          between(0, paymentStore.currentPayment.maxPayableAmount)\n        ),\n      },\n      exchange_rate: {\n        required: requiredIf(function () {\n          helpers.withMessage(t('validation.required'), required)\n          return paymentStore.showExchangeRate\n        }),\n        decimal: helpers.withMessage(\n          t('validation.valid_exchange_rate'),\n          decimal\n        ),\n      },\n    },\n  }\n})\n\nconst v$ = useVuelidate(rules, paymentStore, {\n  $scope: paymentValidationScope,\n})\n\nwatchEffect(() => {\n  // fetch customer and its invoices\n  paymentStore.currentPayment.customer_id\n    ? onCustomerChange(paymentStore.currentPayment.customer_id)\n    : ''\n  if (route.query.customer) {\n    paymentStore.currentPayment.customer_id = route.query.customer\n  }\n})\n\n// Reset State on Create\npaymentStore.resetCurrentPayment()\n\nif (route.query.customer) {\n  paymentStore.currentPayment.customer_id = route.query.customer\n}\n\npaymentStore.fetchPaymentInitialData(isEdit.value)\n\nif (route.params.id && !isEdit.value) {\n  setInvoiceFromUrl()\n}\n\nasync function addPaymentMode() {\n  modalStore.openModal({\n    title: t('settings.payment_modes.add_payment_mode'),\n    componentName: 'PaymentModeModal',\n  })\n}\n\nfunction onSelectNote(data) {\n  paymentStore.currentPayment.notes = '' + data.notes\n}\n\nasync function setInvoiceFromUrl() {\n  let res = await invoiceStore.fetchInvoice(route?.params?.id)\n\n  paymentStore.currentPayment.customer_id = res.data.data.customer.id\n  paymentStore.currentPayment.invoice_id = res.data.data.id\n}\n\nasync function onSelectInvoice(id) {\n  if (id) {\n    selectedInvoice.value = invoiceList.value.find((inv) => inv.id === id)\n\n    amount.value = selectedInvoice.value.due_amount / 100\n    paymentStore.currentPayment.maxPayableAmount =\n      selectedInvoice.value.due_amount\n  }\n}\n\nfunction onCustomerChange(customer_id) {\n  if (customer_id) {\n    let data = {\n      customer_id: customer_id,\n      status: 'DUE',\n      limit: 'all',\n    }\n\n    if (isEdit.value) {\n      data.status = ''\n    }\n\n    isLoadingInvoices.value = true\n\n    Promise.all([\n      invoiceStore.fetchInvoices(data),\n      customerStore.fetchCustomer(customer_id),\n    ])\n      .then(async ([res1, res2]) => {\n        if (res1) {\n          invoiceList.value = [...res1.data.data]\n        }\n\n        if (res2 && res2.data) {\n          paymentStore.currentPayment.selectedCustomer = res2.data.data\n          paymentStore.currentPayment.customer = res2.data.data\n          paymentStore.currentPayment.currency = res2.data.data.currency\n          if(isEdit.value && !customerStore.editCustomer && paymentStore.currentPayment.customer_id) {\n            customerStore.editCustomer = res2.data.data\n          }\n        }\n\n        if (paymentStore.currentPayment.invoice_id) {\n          selectedInvoice.value = invoiceList.value.find(\n            (inv) => inv.id === paymentStore.currentPayment.invoice_id\n          )\n\n          paymentStore.currentPayment.maxPayableAmount =\n            selectedInvoice.value.due_amount +\n            paymentStore.currentPayment.amount\n\n          if (amount.value === 0) {\n            amount.value = selectedInvoice.value.due_amount / 100\n          }\n        }\n\n        if (isEdit.value) {\n          // remove all invoices that are paid except currently selected invoice\n          invoiceList.value = invoiceList.value.filter((v) => {\n            return (\n              v.due_amount > 0 || v.id == paymentStore.currentPayment.invoice_id\n            )\n          })\n        }\n\n        isLoadingInvoices.value = false\n      })\n      .catch((error) => {\n        isLoadingInvoices.value = false\n        console.error(error, 'error')\n      })\n  }\n}\nonBeforeUnmount(() => {\n  paymentStore.resetCurrentPayment()\n  invoiceList.value = []\n  customerStore.editCustomer = null\n})\n\nasync function submitPaymentData() {\n  v$.value.$touch()\n\n  if (v$.value.$invalid) {\n    return false\n  }\n\n  isSaving.value = true\n\n  let data = {\n    ...paymentStore.currentPayment,\n  }\n\n  let response = null\n\n  try {\n    const action = isEdit.value\n      ? paymentStore.updatePayment\n      : paymentStore.addPayment\n\n    response = await action(data)\n\n    router.push(`/admin/payments/${response.data.data.id}/view`)\n  } catch (err) {\n    isSaving.value = false\n  }\n}\n\nfunction selectNewCustomer(id) {\n  let params = {\n    userId: id,\n  }\n\n  if (route.params.id) params.model_id = route.params.id\n\n  paymentStore.currentPayment.invoice_id = selectedInvoice.value = null\n  paymentStore.currentPayment.amount = 0\n  invoiceList.value = []\n  paymentStore.getNextNumber(params, true)\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/payments/Index.vue",
    "content": "<template>\n  <BasePage class=\"payments\">\n    <SendPaymentModal />\n    <BasePageHeader :title=\"$t('payments.title')\">\n      <BaseBreadcrumb>\n        <BaseBreadcrumbItem :title=\"$t('general.home')\" to=\"dashboard\" />\n        <BaseBreadcrumbItem :title=\"$tc('payments.payment', 2)\" to=\"#\" active />\n      </BaseBreadcrumb>\n\n      <template #actions>\n        <BaseButton\n          v-show=\"paymentStore.paymentTotalCount\"\n          variant=\"primary-outline\"\n          @click=\"toggleFilter\"\n        >\n          {{ $t('general.filter') }}\n\n          <template #right=\"slotProps\">\n            <BaseIcon\n              v-if=\"!showFilters\"\n              :class=\"slotProps.class\"\n              name=\"FilterIcon\"\n            />\n            <BaseIcon v-else name=\"XIcon\" :class=\"slotProps.class\" />\n          </template>\n        </BaseButton>\n\n        <BaseButton\n          v-if=\"userStore.hasAbilities(abilities.CREATE_PAYMENT)\"\n          variant=\"primary\"\n          class=\"ml-4\"\n          @click=\"$router.push('/admin/payments/create')\"\n        >\n          <template #left=\"slotProps\">\n            <BaseIcon name=\"PlusIcon\" :class=\"slotProps.class\" />\n          </template>\n\n          {{ $t('payments.add_payment') }}\n        </BaseButton>\n      </template>\n    </BasePageHeader>\n\n    <BaseFilterWrapper :show=\"showFilters\" class=\"mt-3\" @clear=\"clearFilter\">\n      <BaseInputGroup :label=\"$t('payments.customer')\">\n        <BaseCustomerSelectInput\n          v-model=\"filters.customer_id\"\n          :placeholder=\"$t('customers.type_or_click')\"\n          value-prop=\"id\"\n          label=\"name\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup :label=\"$t('payments.payment_number')\">\n        <BaseInput v-model=\"filters.payment_number\">\n          <template #left=\"slotProps\">\n            <BaseIcon name=\"HashtagIcon\" :class=\"slotProps.class\" />\n          </template>\n        </BaseInput>\n      </BaseInputGroup>\n\n      <BaseInputGroup :label=\"$t('payments.payment_mode')\">\n        <BaseMultiselect\n          v-model=\"filters.payment_mode\"\n          value-prop=\"id\"\n          track-by=\"name\"\n          :filter-results=\"false\"\n          label=\"name\"\n          resolve-on-load\n          :delay=\"500\"\n          searchable\n          :options=\"searchPayment\"\n        />\n      </BaseInputGroup>\n    </BaseFilterWrapper>\n\n    <BaseEmptyPlaceholder\n      v-if=\"showEmptyScreen\"\n      :title=\"$t('payments.no_payments')\"\n      :description=\"$t('payments.list_of_payments')\"\n    >\n      <CapsuleIcon class=\"mt-5 mb-4\" />\n\n      <template\n        v-if=\"userStore.hasAbilities(abilities.CREATE_PAYMENT)\"\n        #actions\n      >\n        <BaseButton\n          variant=\"primary-outline\"\n          @click=\"$router.push('/admin/payments/create')\"\n        >\n          <template #left=\"slotProps\">\n            <BaseIcon name=\"PlusIcon\" :class=\"slotProps.class\" />\n          </template>\n          {{ $t('payments.add_new_payment') }}\n        </BaseButton>\n      </template>\n    </BaseEmptyPlaceholder>\n\n    <div v-show=\"!showEmptyScreen\" class=\"relative table-container\">\n      <!-- Multiple Select Actions -->\n      <div class=\"relative flex items-center justify-end h-5\">\n        <BaseDropdown v-if=\"paymentStore.selectedPayments.length\">\n          <template #activator>\n            <span\n              class=\"\n                flex\n                text-sm\n                font-medium\n                cursor-pointer\n                select-none\n                text-primary-400\n              \"\n            >\n              {{ $t('general.actions') }}\n              <BaseIcon name=\"ChevronDownIcon\" />\n            </span>\n          </template>\n          <BaseDropdownItem @click=\"removeMultiplePayments\">\n            <BaseIcon name=\"TrashIcon\" class=\"mr-3 text-gray-600\" />\n            {{ $t('general.delete') }}\n          </BaseDropdownItem>\n        </BaseDropdown>\n      </div>\n\n      <BaseTable\n        ref=\"tableComponent\"\n        :data=\"fetchData\"\n        :columns=\"paymentColumns\"\n        :placeholder-count=\"paymentStore.paymentTotalCount >= 20 ? 10 : 5\"\n        class=\"mt-3\"\n      >\n        <!-- Select All Checkbox -->\n        <template #header>\n          <div class=\"absolute items-center left-6 top-2.5 select-none\">\n            <BaseCheckbox\n              v-model=\"selectAllFieldStatus\"\n              variant=\"primary\"\n              @change=\"paymentStore.selectAllPayments\"\n            />\n          </div>\n        </template>\n\n        <template #cell-status=\"{ row }\">\n          <div class=\"relative block\">\n            <BaseCheckbox\n              :id=\"row.id\"\n              v-model=\"selectField\"\n              :value=\"row.data.id\"\n              variant=\"primary\"\n            />\n          </div>\n        </template>\n\n        <template #cell-payment_date=\"{ row }\">\n          {{ row.data.formatted_payment_date }}\n        </template>\n\n        <template #cell-payment_number=\"{ row }\">\n          <router-link\n            :to=\"{ path: `payments/${row.data.id}/view` }\"\n            class=\"font-medium text-primary-500\"\n          >\n            {{ row.data.payment_number }}\n          </router-link>\n        </template>\n\n        <template #cell-name=\"{ row }\">\n          <BaseText :text=\"row.data.customer.name\" :length=\"30\" tag=\"span\" />\n        </template>\n\n        <template #cell-payment_mode=\"{ row }\">\n          <span>\n            {{ row.data.payment_method ? row.data.payment_method.name : '-' }}\n          </span>\n        </template>\n\n        <template #cell-invoice_number=\"{ row }\">\n          <span>\n            {{\n              row?.data?.invoice?.invoice_number\n                ? row?.data?.invoice?.invoice_number\n                : '-'\n            }}\n          </span>\n        </template>\n\n        <template #cell-amount=\"{ row }\">\n          <BaseFormatMoney\n            :amount=\"row.data.amount\"\n            :currency=\"row.data.customer.currency\"\n          />\n        </template>\n\n        <template v-if=\"hasAtleastOneAbility()\" #cell-actions=\"{ row }\">\n          <PaymentDropdown :row=\"row.data\" :table=\"tableComponent\" />\n        </template>\n      </BaseTable>\n    </div>\n  </BasePage>\n</template>\n\n<script setup>\nimport { debouncedWatch } from '@vueuse/core'\n\nimport { ref, reactive, computed, onUnmounted } from 'vue'\n\nimport { useI18n } from 'vue-i18n'\nimport { useDialogStore } from '@/scripts/stores/dialog'\nimport { usePaymentStore } from '@/scripts/admin/stores/payment'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\nimport { useUserStore } from '@/scripts/admin/stores/user'\nimport abilities from '@/scripts/admin/stub/abilities'\nimport CapsuleIcon from '@/scripts/components/icons/empty/CapsuleIcon.vue'\nimport PaymentDropdown from '@/scripts/admin/components/dropdowns/PaymentIndexDropdown.vue'\nimport SendPaymentModal from '@/scripts/admin/components/modal-components/SendPaymentModal.vue'\n\nconst { t } = useI18n()\nlet showFilters = ref(false)\nlet isFetchingInitialData = ref(true)\nlet tableComponent = ref(null)\n\nconst filters = reactive({\n  customer: '',\n  payment_mode: '',\n  payment_number: '',\n})\n\nconst paymentStore = usePaymentStore()\nconst companyStore = useCompanyStore()\nconst dialogStore = useDialogStore()\nconst userStore = useUserStore()\n\nconst showEmptyScreen = computed(() => {\n  return !paymentStore.paymentTotalCount && !isFetchingInitialData.value\n})\n\nconst paymentColumns = computed(() => {\n  return [\n    {\n      key: 'status',\n      sortable: false,\n      thClass: 'extra w-10',\n      tdClass: 'text-left text-sm font-medium extra',\n    },\n    {\n      key: 'payment_date',\n      label: t('payments.date'),\n      thClass: 'extra',\n      tdClass: 'font-medium text-gray-900',\n    },\n    { key: 'payment_number', label: t('payments.payment_number') },\n    { key: 'name', label: t('payments.customer') },\n    { key: 'payment_mode', label: t('payments.payment_mode') },\n    { key: 'invoice_number', label: t('invoices.invoice_number') },\n    { key: 'amount', label: t('payments.amount') },\n    {\n      key: 'actions',\n      label: '',\n      tdClass: 'text-right text-sm font-medium',\n      sortable: false,\n    },\n  ]\n})\n\nconst selectField = computed({\n  get: () => paymentStore.selectedPayments,\n  set: (value) => {\n    return paymentStore.selectPayment(value)\n  },\n})\n\nconst selectAllFieldStatus = computed({\n  get: () => paymentStore.selectAllField,\n  set: (value) => {\n    return paymentStore.setSelectAllState(value)\n  },\n})\n\ndebouncedWatch(\n  filters,\n  () => {\n    setFilters()\n  },\n  { debounce: 500 }\n)\n\nonUnmounted(() => {\n  if (paymentStore.selectAllField) {\n    paymentStore.selectAllPayments()\n  }\n})\n\npaymentStore.fetchPaymentModes({ limit: 'all' })\n\nasync function searchPayment(search) {\n  let res = await paymentStore.fetchPaymentModes({ search })\n  return res.data.data\n}\n\nfunction hasAtleastOneAbility() {\n  return userStore.hasAbilities([\n    abilities.DELETE_PAYMENT,\n    abilities.EDIT_PAYMENT,\n    abilities.VIEW_PAYMENT,\n    abilities.SEND_PAYMENT,\n  ])\n}\n\nasync function fetchData({ page, filter, sort }) {\n  let data = {\n    customer_id: filters.customer_id,\n    payment_method_id:\n      filters.payment_mode !== null ? filters.payment_mode : '',\n    payment_number: filters.payment_number,\n    orderByField: sort.fieldName || 'created_at',\n    orderBy: sort.order || 'desc',\n    page,\n  }\n\n  isFetchingInitialData.value = true\n\n  let response = await paymentStore.fetchPayments(data)\n\n  isFetchingInitialData.value = false\n\n  return {\n    data: response.data.data,\n    pagination: {\n      totalPages: response.data.meta.last_page,\n      currentPage: page,\n      totalCount: response.data.meta.total,\n      limit: 10,\n    },\n  }\n}\n\nfunction refreshTable() {\n  tableComponent.value && tableComponent.value.refresh()\n}\n\nfunction setFilters() {\n  refreshTable()\n}\n\nfunction clearFilter() {\n  filters.customer_id = ''\n  filters.payment_mode = ''\n  filters.payment_number = ''\n}\n\nfunction toggleFilter() {\n  if (showFilters.value) {\n    clearFilter()\n  }\n\n  showFilters.value = !showFilters.value\n}\n\nfunction removeMultiplePayments() {\n  dialogStore\n    .openDialog({\n      title: t('general.are_you_sure'),\n      message: t('payments.confirm_delete', 2),\n      yesLabel: t('general.ok'),\n      noLabel: t('general.cancel'),\n      variant: 'danger',\n      hideNoButton: false,\n      size: 'lg',\n    })\n    .then((res) => {\n      if (res) {\n        paymentStore.deleteMultiplePayments().then((response) => {\n          if (response.data.success) {\n            refreshTable()\n          }\n        })\n      }\n    })\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/payments/View.vue",
    "content": "<template>\n  <SendPaymentModal />\n  <BasePage class=\"xl:pl-96\">\n    <BasePageHeader :title=\"pageTitle\">\n      <template #actions>\n        <BaseButton\n          v-if=\"userStore.hasAbilities(abilities.SEND_PAYMENT)\"\n          :content-loading=\"isFetching\"\n          variant=\"primary\"\n          @click=\"onPaymentSend\"\n        >\n          {{ $t('payments.send_payment_receipt') }}\n        </BaseButton>\n\n        <PaymentDropdown\n          :content-loading=\"isFetching\"\n          class=\"ml-3\"\n          :row=\"payment\"\n        />\n      </template>\n    </BasePageHeader>\n\n    <!-- Sidebar -->\n    <div\n      class=\"\n        fixed\n        top-0\n        left-0\n        hidden\n        h-full\n        pt-16\n        pb-[6rem]\n        ml-56\n        bg-white\n        xl:ml-64\n        w-88\n        xl:block\n      \"\n    >\n      <div\n        class=\"\n          flex\n          items-center\n          justify-between\n          px-4\n          pt-8\n          pb-6\n          border border-gray-200 border-solid\n        \"\n      >\n        <BaseInput\n          v-model=\"searchData.searchText\"\n          :placeholder=\"$t('general.search')\"\n          type=\"text\"\n          @input=\"onSearch\"\n        >\n          <BaseIcon name=\"SearchIcon\" class=\"h-5\" />\n        </BaseInput>\n\n        <div class=\"flex ml-3\" role=\"group\" aria-label=\"First group\">\n          <BaseDropdown\n            position=\"bottom-start\"\n            width-class=\"w-50\"\n            position-class=\"left-0\"\n          >\n            <template #activator>\n              <BaseButton variant=\"gray\">\n                <BaseIcon name=\"FilterIcon\" />\n              </BaseButton>\n            </template>\n\n            <div\n              class=\"\n                px-4\n                py-1\n                pb-2\n                mb-2\n                text-sm\n                border-b border-gray-200 border-solid\n              \"\n            >\n              {{ $t('general.sort_by') }}\n            </div>\n\n            <div class=\"px-2\">\n              <BaseDropdownItem class=\"pt-3 rounded-md hover:rounded-md\">\n                <BaseInputGroup class=\"-mt-3 font-normal\">\n                  <BaseRadio\n                    id=\"filter_invoice_number\"\n                    v-model=\"searchData.orderByField\"\n                    :label=\"$t('invoices.title')\"\n                    size=\"sm\"\n                    name=\"filter\"\n                    value=\"invoice_number\"\n                    @update:modelValue=\"onSearch\"\n                  />\n                </BaseInputGroup>\n              </BaseDropdownItem>\n            </div>\n\n            <div class=\"px-2\">\n              <BaseDropdownItem class=\"pt-3 rounded-md hover:rounded-md\">\n                <BaseInputGroup class=\"-mt-3 font-normal\">\n                  <BaseRadio\n                    v-model=\"searchData.orderByField\"\n                    :label=\"$t('payments.date')\"\n                    size=\"sm\"\n                    name=\"filter\"\n                    value=\"payment_date\"\n                    @update:modelValue=\"onSearch\"\n                  />\n                </BaseInputGroup>\n              </BaseDropdownItem>\n            </div>\n\n            <div class=\"px-2\">\n              <BaseDropdownItem class=\"pt-3 rounded-md hover:rounded-md\">\n                <BaseInputGroup class=\"-mt-3 font-normal\">\n                  <BaseRadio\n                    id=\"filter_payment_number\"\n                    v-model=\"searchData.orderByField\"\n                    :label=\"$t('payments.payment_number')\"\n                    size=\"sm\"\n                    name=\"filter\"\n                    value=\"payment_number\"\n                    @update:modelValue=\"onSearch\"\n                  />\n                </BaseInputGroup>\n              </BaseDropdownItem>\n            </div>\n          </BaseDropdown>\n\n          <BaseButton class=\"ml-1\" size=\"md\" variant=\"gray\" @click=\"sortData\">\n            <BaseIcon v-if=\"getOrderBy\" name=\"SortAscendingIcon\" />\n            <BaseIcon v-else name=\"SortDescendingIcon\" />\n          </BaseButton>\n        </div>\n      </div>\n\n      <div\n        ref=\"paymentListSection\"\n        class=\"h-full overflow-y-scroll border-l border-gray-200 border-solid\"\n      >\n        <div v-for=\"(payment, index) in paymentList\" :key=\"index\">\n          <router-link\n            v-if=\"payment\"\n            :id=\"'payment-' + payment.id\"\n            :to=\"`/admin/payments/${payment.id}/view`\"\n            :class=\"[\n              'flex justify-between p-4 items-center cursor-pointer hover:bg-gray-100 border-l-4 border-transparent',\n              {\n                'bg-gray-100 border-l-4 border-primary-500 border-solid':\n                  hasActiveUrl(payment.id),\n              },\n            ]\"\n            style=\"border-bottom: 1px solid rgba(185, 193, 209, 0.41)\"\n          >\n            <div class=\"flex-2\">\n              <BaseText\n                :text=\"payment?.customer?.name\"\n                :length=\"30\"\n                class=\"\n                  pr-2\n                  mb-2\n                  text-sm\n                  not-italic\n                  font-normal\n                  leading-5\n                  text-black\n                  capitalize\n                  truncate\n                \"\n              />\n\n              <div\n                class=\"\n                  mb-1\n                  text-xs\n                  not-italic\n                  font-medium\n                  leading-5\n                  text-gray-500\n                  capitalize\n                \"\n              >\n                {{ payment?.payment_number }}\n              </div>\n\n              <div\n                class=\"\n                  mb-1\n                  text-xs\n                  not-italic\n                  font-medium\n                  leading-5\n                  text-gray-500\n                  capitalize\n                \"\n              >\n                {{ payment?.invoice_number }}\n              </div>\n            </div>\n\n            <div class=\"flex-1 whitespace-nowrap right\">\n              <BaseFormatMoney\n                class=\"\n                  block\n                  mb-2\n                  text-xl\n                  not-italic\n                  font-semibold\n                  leading-8\n                  text-right text-gray-900\n                \"\n                :amount=\"payment?.amount\"\n                :currency=\"payment.customer?.currency\"\n              />\n\n              <div class=\"text-sm text-right text-gray-500 non-italic\">\n                {{ payment.formatted_payment_date }}\n              </div>\n            </div>\n          </router-link>\n        </div>\n        <div v-if=\"isLoading\" class=\"flex justify-center p-4 items-center\">\n          <LoadingIcon class=\"h-6 m-1 animate-spin text-primary-400\" />\n        </div>\n        <p\n          v-if=\"!paymentList?.length && !isLoading\"\n          class=\"flex justify-center px-4 mt-5 text-sm text-gray-600\"\n        >\n          {{ $t('payments.no_matching_payments') }}\n        </p>\n      </div>\n    </div>\n\n    <!-- pdf -->\n    <div\n      class=\"flex flex-col min-h-0 mt-8 overflow-hidden\"\n      style=\"height: 75vh\"\n    >\n      <iframe\n        v-if=\"shareableLink\"\n        :src=\"shareableLink\"\n        class=\"flex-1 border border-gray-400 border-solid rounded-md\"\n      />\n    </div>\n  </BasePage>\n</template>\n\n<script setup>\nimport { useI18n } from 'vue-i18n'\nimport { debounce } from 'lodash'\nimport { ref, reactive, computed, watch } from 'vue'\nimport { useRoute } from 'vue-router'\nimport moment from 'moment'\n\nimport { useDialogStore } from '@/scripts/stores/dialog'\nimport { usePaymentStore } from '@/scripts/admin/stores/payment'\nimport { useModalStore } from '@/scripts/stores/modal'\nimport { useUserStore } from '@/scripts/admin/stores/user'\n\nimport PaymentDropdown from '@/scripts/admin/components/dropdowns/PaymentIndexDropdown.vue'\nimport SendPaymentModal from '@/scripts/admin/components/modal-components/SendPaymentModal.vue'\nimport LoadingIcon from '@/scripts/components/icons/LoadingIcon.vue'\n\nimport abilities from '@/scripts/admin/stub/abilities'\n\nconst route = useRoute()\n\nconst { t } = useI18n()\nlet payment = reactive({})\nlet searchData = reactive({\n  orderBy: null,\n  orderByField: null,\n  searchText: null,\n})\n\nlet isLoading = ref(false)\nlet isFetching = ref(false)\n\nconst paymentStore = usePaymentStore()\nconst modalStore = useModalStore()\nconst userStore = useUserStore()\n\nconst paymentList = ref(null)\nconst currentPageNumber = ref(1)\nconst lastPageNumber = ref(1)\nconst paymentListSection = ref(null)\n\nconst pageTitle = computed(() => {\n  return payment.payment_number || ''\n})\n\nconst getOrderBy = computed(() => {\n  if (searchData.orderBy === 'asc' || searchData.orderBy == null) {\n    return true\n  }\n  return false\n})\n\nconst getOrderName = computed(() =>\n  getOrderBy.value ? t('general.ascending') : t('general.descending')\n)\n\nconst shareableLink = computed(() => {\n  return payment.unique_hash ? `/payments/pdf/${payment.unique_hash}` : false\n})\n\nconst paymentDate = computed(() => {\n  return moment(paymentStore?.selectedPayment?.payment_date).format(\n    'YYYY/MM/DD'\n  )\n})\n\nwatch(route, () => {\n  loadPayment()\n})\n\nloadPayments()\nloadPayment()\n\nonSearch = debounce(onSearch, 500)\n\nfunction hasActiveUrl(id) {\n  return route.params.id == id\n}\n\nfunction hasAbilities() {\n  return userStore.hasAbilities([\n    abilities.DELETE_PAYMENT,\n    abilities.EDIT_PAYMENT,\n    abilities.VIEW_PAYMENT,\n  ])\n}\n\nconst dialogStore = useDialogStore()\n\nasync function loadPayments(pageNumber, fromScrollListener = false) {\n  if (isLoading.value) {\n    return\n  }\n\n  let params = {}\n  if (\n    searchData.searchText !== '' &&\n    searchData.searchText !== null &&\n    searchData.searchText !== undefined\n  ) {\n    params.search = searchData.searchText\n  }\n\n  if (searchData.orderBy !== null && searchData.orderBy !== undefined) {\n    params.orderBy = searchData.orderBy\n  }\n\n  if (\n    searchData.orderByField !== null &&\n    searchData.orderByField !== undefined\n  ) {\n    params.orderByField = searchData.orderByField\n  }\n\n  isLoading.value = true\n  let response = await paymentStore.fetchPayments({\n    page: pageNumber,\n    ...params,\n  })\n  isLoading.value = false\n\n  paymentList.value = paymentList.value ? paymentList.value : []\n  paymentList.value = [...paymentList.value, ...response.data.data]\n\n  currentPageNumber.value = pageNumber ? pageNumber : 1\n  lastPageNumber.value = response.data.meta.last_page\n  let paymentFound = paymentList.value.find(\n    (paym) => paym.id == route.params.id\n  )\n\n  if (\n    fromScrollListener == false &&\n    !paymentFound &&\n    currentPageNumber.value < lastPageNumber.value &&\n    Object.keys(params).length === 0\n  ) {\n    loadPayments(++currentPageNumber.value)\n  }\n\n  if (paymentFound) {\n    setTimeout(() => {\n      if (fromScrollListener == false) {\n        scrollToPayment()\n      }\n    }, 500)\n  }\n}\n\nasync function loadPayment() {\n  if (!route.params.id) return\n\n  isFetching.value = true\n\n  let response = await paymentStore.fetchPayment(route.params.id)\n\n  if (response.data) {\n    isFetching.value = false\n    Object.assign(payment, response.data.data)\n  }\n}\n\nfunction scrollToPayment() {\n  const el = document.getElementById(`payment-${route.params.id}`)\n\n  if (el) {\n    el.scrollIntoView({ behavior: 'smooth' })\n    el.classList.add('shake')\n    addScrollListener()\n  }\n}\n\nfunction addScrollListener() {\n  paymentListSection.value.addEventListener('scroll', (ev) => {\n    if (\n      ev.target.scrollTop > 0 &&\n      ev.target.scrollTop + ev.target.clientHeight >\n        ev.target.scrollHeight - 200\n    ) {\n      if (currentPageNumber.value < lastPageNumber.value) {\n        loadPayments(++currentPageNumber.value, true)\n      }\n    }\n  })\n}\n\nasync function onSearch() {\n  paymentList.value = []\n  loadPayments()\n}\n\nfunction sortData() {\n  if (searchData.orderBy === 'asc') {\n    searchData.orderBy = 'desc'\n    onSearch()\n    return true\n  }\n  searchData.orderBy = 'asc'\n  onSearch()\n  return true\n}\n\nasync function onPaymentSend() {\n  modalStore.openModal({\n    title: t('payments.send_payment'),\n    componentName: 'SendPaymentModal',\n    id: payment.id,\n    data: payment,\n    variant: 'lg',\n  })\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/recurring-invoices/Index.vue",
    "content": "<template>\n  <BasePage>\n    <SendInvoiceModal />\n\n    <BasePageHeader :title=\"$t('recurring_invoices.title')\">\n      <BaseBreadcrumb>\n        <BaseBreadcrumbItem :title=\"$t('general.home')\" to=\"dashboard\" />\n\n        <BaseBreadcrumbItem\n          :title=\"$tc('recurring_invoices.invoice', 2)\"\n          to=\"#\"\n          active\n        />\n      </BaseBreadcrumb>\n\n      <template #actions>\n        <BaseButton\n          v-show=\"recurringInvoiceStore.totalRecurringInvoices\"\n          variant=\"primary-outline\"\n          @click=\"toggleFilter\"\n        >\n          {{ $t('general.filter') }}\n          <template #right=\"slotProps\">\n            <BaseIcon\n              v-if=\"!showFilters\"\n              name=\"FilterIcon\"\n              :class=\"slotProps.class\"\n            />\n            <BaseIcon v-else name=\"XIcon\" :class=\"slotProps.class\" />\n          </template>\n        </BaseButton>\n\n        <router-link\n          v-if=\"userStore.hasAbilities(abilities.CREATE_RECURRING_INVOICE)\"\n          to=\"recurring-invoices/create\"\n        >\n          <BaseButton variant=\"primary\" class=\"ml-4\">\n            <template #left=\"slotProps\">\n              <BaseIcon name=\"PlusIcon\" :class=\"slotProps.class\" />\n            </template>\n            {{ $t('recurring_invoices.new_invoice') }}\n          </BaseButton>\n        </router-link>\n      </template>\n    </BasePageHeader>\n\n    <BaseFilterWrapper v-show=\"showFilters\" @clear=\"clearFilter\">\n      <BaseInputGroup :label=\"$tc('customers.customer', 1)\">\n        <BaseCustomerSelectInput\n          v-model=\"filters.customer_id\"\n          :placeholder=\"$t('customers.type_or_click')\"\n          value-prop=\"id\"\n          label=\"name\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup :label=\"$t('recurring_invoices.status')\">\n        <BaseMultiselect\n          v-model=\"filters.status\"\n          :options=\"statusList\"\n          searchable\n          :placeholder=\"$t('general.select_a_status')\"\n          @update:modelValue=\"setActiveTab\"\n          @remove=\"clearStatusSearch()\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup :label=\"$t('general.from')\">\n        <BaseDatePicker\n          v-model=\"filters.from_date\"\n          :calendar-button=\"true\"\n          calendar-button-icon=\"calendar\"\n        />\n      </BaseInputGroup>\n\n      <div\n        class=\"hidden w-8 h-0 mx-4 border border-gray-400 border-solid xl:block\"\n        style=\"margin-top: 1.5rem\"\n      />\n\n      <BaseInputGroup :label=\"$t('general.to')\">\n        <BaseDatePicker\n          v-model=\"filters.to_date\"\n          :calendar-button=\"true\"\n          calendar-button-icon=\"calendar\"\n        />\n      </BaseInputGroup>\n    </BaseFilterWrapper>\n\n    <BaseEmptyPlaceholder\n      v-show=\"showEmptyScreen\"\n      :title=\"$t('recurring_invoices.no_invoices')\"\n      :description=\"$t('recurring_invoices.list_of_invoices')\"\n    >\n      <MoonwalkerIcon class=\"mt-5 mb-4\" />\n\n      <template\n        v-if=\"userStore.hasAbilities(abilities.CREATE_RECURRING_INVOICE)\"\n        #actions\n      >\n        <BaseButton\n          variant=\"primary-outline\"\n          @click=\"$router.push('/admin/recurring-invoices/create')\"\n        >\n          <template #left=\"slotProps\">\n            <BaseIcon name=\"PlusIcon\" :class=\"slotProps.class\" />\n          </template>\n          {{ $t('recurring_invoices.add_new_invoice') }}\n        </BaseButton>\n      </template>\n    </BaseEmptyPlaceholder>\n\n    <div v-show=\"!showEmptyScreen\" class=\"relative table-container\">\n      <div\n        class=\"\n          relative\n          flex\n          items-center\n          justify-between\n          h-10\n          mt-5\n          list-none\n          border-b-2 border-gray-200 border-solid\n        \"\n      >\n        <!-- Tabs -->\n        <BaseTabGroup\n          class=\"-mb-5\"\n          :default-index=\"currentStatusIndex\"\n          @change=\"setStatusFilter\"\n        >\n          <BaseTab :title=\"$t('recurring_invoices.all')\" filter=\"ALL\" />\n          <BaseTab :title=\"$t('recurring_invoices.active')\" filter=\"ACTIVE\" />\n          <BaseTab :title=\"$t('recurring_invoices.on_hold')\" filter=\"ON_HOLD\" />\n        </BaseTabGroup>\n\n        <BaseDropdown\n          v-if=\"recurringInvoiceStore.selectedRecurringInvoices.length\"\n          class=\"absolute float-right\"\n        >\n          <template #activator>\n            <span\n              class=\"\n                flex\n                text-sm\n                font-medium\n                cursor-pointer\n                select-none\n                text-primary-400\n              \"\n            >\n              {{ $t('general.actions') }}\n              <BaseIcon name=\"ChevronDownIcon\" class=\"h-5\" />\n            </span>\n          </template>\n\n          <BaseDropdownItem @click=\"removeMultipleRecurringInvoices()\">\n            <BaseIcon name=\"TrashIcon\" class=\"mr-3 text-gray-600\" />\n            {{ $t('general.delete') }}\n          </BaseDropdownItem>\n        </BaseDropdown>\n      </div>\n\n      <BaseTable\n        ref=\"table\"\n        :data=\"fetchData\"\n        :columns=\"invoiceColumns\"\n        :placeholder-count=\"\n          recurringInvoiceStore.totalRecurringInvoices >= 20 ? 10 : 5\n        \"\n        class=\"mt-10\"\n      >\n        <!-- Select All Checkbox -->\n        <template #header>\n          <div class=\"absolute items-center left-6 top-2.5 select-none\">\n            <BaseCheckbox\n              v-model=\"recurringInvoiceStore.selectAllField\"\n              variant=\"primary\"\n              @change=\"recurringInvoiceStore.selectAllRecurringInvoices\"\n            />\n          </div>\n        </template>\n\n        <template #cell-checkbox=\"{ row }\">\n          <div class=\"relative block\">\n            <BaseCheckbox\n              :id=\"row.id\"\n              v-model=\"selectField\"\n              :value=\"row.data.id\"\n            />\n          </div>\n        </template>\n\n        <!-- Starts at  -->\n        <template #cell-starts_at=\"{ row }\">\n          {{ row.data.formatted_starts_at }}\n        </template>\n\n        <!-- Customer  -->\n        <template #cell-customer=\"{ row }\">\n          <router-link :to=\"{ path: `recurring-invoices/${row.data.id}/view` }\">\n            <BaseText\n              :text=\"row.data.customer.name\"\n              :length=\"30\"\n              tag=\"span\"\n              class=\"font-medium text-primary-500 flex flex-col\"\n            />\n\n            <BaseText\n              :text=\"\n                row.data.customer.contact_name\n                  ? row.data.customer.contact_name\n                  : ''\n              \"\n              :length=\"30\"\n              tag=\"span\"\n              class=\"text-xs text-gray-400\"\n            />\n          </router-link>\n        </template>\n\n        <!-- Frequency  -->\n        <template #cell-frequency=\"{ row }\">\n          {{ getFrequencyLabel(row.data.frequency) }}\n        </template>\n\n        <!-- Status  -->\n        <template #cell-status=\"{ row }\">\n          <BaseRecurringInvoiceStatusBadge\n            :status=\"row.data.status\"\n            class=\"px-3 py-1\"\n          >\n            {{ row.data.status }}\n          </BaseRecurringInvoiceStatusBadge>\n        </template>\n\n        <!-- Amount  -->\n        <template #cell-total=\"{ row }\">\n          <BaseFormatMoney\n            :amount=\"row.data.total\"\n            :currency=\"row.data.customer.currency\"\n          />\n        </template>\n\n        <!-- Actions -->\n        <template v-if=\"canViewActions\" #cell-actions=\"{ row }\">\n          <RecurringInvoiceIndexDropdown :row=\"row.data\" :table=\"table\" />\n        </template>\n      </BaseTable>\n    </div>\n  </BasePage>\n</template>\n\n<script setup>\nimport { computed, onUnmounted, reactive, ref, watch, inject } from 'vue'\nimport { useRouter } from 'vue-router'\nimport { useI18n } from 'vue-i18n'\nimport { useCustomerStore } from '@/scripts/admin/stores/customer'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport { useDialogStore } from '@/scripts/stores/dialog'\nimport { useRecurringInvoiceStore } from '@/scripts/admin/stores/recurring-invoice'\nimport { useUserStore } from '@/scripts/admin/stores/user'\nimport { debouncedWatch } from '@vueuse/core'\n\nimport SendInvoiceModal from '@/scripts/admin/components/modal-components/SendInvoiceModal.vue'\nimport RecurringInvoiceIndexDropdown from '@/scripts/admin/components/dropdowns/RecurringInvoiceIndexDropdown.vue'\nimport MoonwalkerIcon from '@/scripts/components/icons/empty/MoonwalkerIcon.vue'\nimport abilities from '@/scripts/admin/stub/abilities'\n\nconst recurringInvoiceStore = useRecurringInvoiceStore()\nconst customerStore = useCustomerStore()\nconst dialogStore = useDialogStore()\nconst notificationStore = useNotificationStore()\nconst userStore = useUserStore()\n\nconst table = ref(null)\nconst { t } = useI18n()\nconst showFilters = ref(false)\nconst statusList = ref(['ACTIVE', 'ON_HOLD', 'ALL'])\nconst isRequestOngoing = ref(true)\nconst activeTab = ref('recurring-invoices.all')\nconst router = useRouter()\n\nlet filters = reactive({\n  customer_id: '',\n  status: '',\n  from_date: '',\n  to_date: '',\n})\n\nconst showEmptyScreen = computed(\n  () => !recurringInvoiceStore.totalRecurringInvoices && !isRequestOngoing.value\n)\n\nconst selectField = computed({\n  get: () => recurringInvoiceStore.selectedRecurringInvoices,\n  set: (value) => {\n    return recurringInvoiceStore.selectRecurringInvoice(value)\n  },\n})\n\nconst invoiceColumns = computed(() => {\n  return [\n    {\n      key: 'checkbox',\n      thClass: 'extra',\n      tdClass: 'font-medium text-gray-900',\n    },\n    {\n      key: 'starts_at',\n      label: t('recurring_invoices.starts_at'),\n      thClass: 'extra',\n      tdClass: 'font-medium',\n    },\n    { key: 'customer', label: t('invoices.customer') },\n    { key: 'frequency', label: t('recurring_invoices.frequency.title') },\n    { key: 'status', label: t('invoices.status') },\n    { key: 'total', label: t('invoices.total') },\n    {\n      key: 'actions',\n      label: t('recurring_invoices.action'),\n      tdClass: 'text-right text-sm font-medium',\n      thClass: 'text-right',\n      sortable: false,\n    },\n  ]\n})\n\ndebouncedWatch(\n  filters,\n  () => {\n    setFilters()\n  },\n  { debounce: 500 }\n)\n\nonUnmounted(() => {\n  if (recurringInvoiceStore.selectAllField) {\n    recurringInvoiceStore.selectAllRecurringInvoices()\n  }\n})\n\nconst currentStatusIndex = computed(() => {\n  return statusList.value.findIndex((status) => status === filters.status)\n})\n\nfunction canViewActions() {\n  return userStore.hasAbilities([\n    abilities.DELETE_RECURRING_INVOICE,\n    abilities.EDIT_RECURRING_INVOICE,\n    abilities.VIEW_RECURRING_INVOICE,\n  ])\n}\n\nfunction getFrequencyLabel(frequencyFormat) {\n  const frequencyObj = recurringInvoiceStore.frequencies.find((frequency) => {\n    return frequency.value === frequencyFormat\n  })\n\n  return frequencyObj ? frequencyObj.label : `CUSTOM: ${frequencyFormat}`\n}\n\nfunction refreshTable() {\n  table.value && table.value.refresh()\n}\n\nasync function fetchData({ page, filter, sort }) {\n  let data = {\n    customer_id: filters.customer_id,\n    status: filters.status,\n    from_date: filters.from_date,\n    to_date: filters.to_date,\n    orderByField: sort.fieldName || 'created_at',\n    orderBy: sort.order || 'desc',\n    page,\n  }\n\n  isRequestOngoing.value = true\n\n  let response = await recurringInvoiceStore.fetchRecurringInvoices(data)\n\n  isRequestOngoing.value = false\n\n  return {\n    data: response.data.data,\n    pagination: {\n      totalPages: response.data.meta.last_page,\n      currentPage: page,\n      totalCount: response.data.meta.total,\n      limit: 10,\n    },\n  }\n}\n\nfunction setStatusFilter(val) {\n  if (activeTab.value == val.title) {\n    return true\n  }\n\n  activeTab.value = val.title\n\n  switch (val.title) {\n    case t('recurring_invoices.active'):\n      filters.status = 'ACTIVE'\n      break\n    case t('recurring_invoices.on_hold'):\n      filters.status = 'ON_HOLD'\n      break\n    case t('recurring_invoices.all'):\n      filters.status = 'ALL'\n      break\n  }\n}\n\nfunction setFilters() {\n  recurringInvoiceStore.$patch((state) => {\n    state.selectedRecurringInvoices = []\n    state.selectAllField = false\n  })\n\n  refreshTable()\n}\n\nfunction clearFilter() {\n  filters.customer_id = ''\n  filters.status = ''\n  filters.from_date = ''\n  filters.to_date = ''\n  filters.invoice_number = ''\n  activeTab.value = t('general.all')\n}\n\nasync function removeMultipleRecurringInvoices(id = null) {\n  dialogStore\n    .openDialog({\n      title: t('general.are_you_sure'),\n      message: t('invoices.confirm_delete'),\n      yesLabel: t('general.ok'),\n      noLabel: t('general.cancel'),\n      variant: 'danger',\n      hideNoButton: false,\n      size: 'lg',\n    })\n    .then(async (res) => {\n      if (res) {\n        await recurringInvoiceStore\n          .deleteMultipleRecurringInvoices(id)\n          .then((res) => {\n            if (res.data.success) {\n              refreshTable()\n              recurringInvoiceStore.$patch((state) => {\n                state.selectedRecurringInvoices = []\n                state.selectAllField = false\n              })\n              notificationStore.showNotification({\n                type: 'success',\n                message: t('recurring_invoices.deleted_message', 2),\n              })\n            } else if (res.data.error) {\n              notificationStore.showNotification({\n                type: 'error',\n                message: res.data.message,\n              })\n            }\n          })\n      }\n    })\n}\n\nfunction toggleFilter() {\n  if (showFilters.value) {\n    clearFilter()\n  }\n\n  showFilters.value = !showFilters.value\n}\n\nasync function clearStatusSearch(removedOption, id) {\n  filters.status = ''\n  refreshTable()\n}\n\nfunction setActiveTab(val) {\n  switch (val) {\n    case 'ACTIVE':\n      activeTab.value = t('recurring_invoices.active')\n      break\n    case 'ON_HOLD':\n      activeTab.value = t('recurring_invoices.on_hold')\n      break\n    case 'ALL':\n      activeTab.value = t('recurring_invoices.all')\n      break\n  }\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/recurring-invoices/View.vue",
    "content": "<template>\n  <BasePage class=\"xl:pl-96\">\n    <BasePageHeader :title=\"pageTitle\">\n      <template #actions>\n        <RecurringInvoiceIndexDropdown\n          v-if=\"hasAtleastOneAbility()\"\n          :row=\"recurringInvoiceStore.newRecurringInvoice\"\n        />\n      </template>\n    </BasePageHeader>\n\n    <RecurringInvoiceViewSidebar />\n\n    <RecurringInvoiceInfo />\n  </BasePage>\n</template>\n\n<script setup>\nimport { ref, computed, inject } from 'vue'\nimport { useRouter, useRoute } from 'vue-router'\nimport { useI18n } from 'vue-i18n'\nimport { useDialogStore } from '@/scripts/stores/dialog'\nimport { useUserStore } from '@/scripts/admin/stores/user'\nimport { useRecurringInvoiceStore } from '@/scripts/admin/stores/recurring-invoice'\nimport abilities from '@/scripts/admin/stub/abilities'\n\nimport RecurringInvoiceViewSidebar from '@/scripts/admin/views/recurring-invoices/partials/RecurringInvoiceViewSidebar.vue'\nimport RecurringInvoiceInfo from '@/scripts/admin/views/recurring-invoices/partials/RecurringInvoiceInfo.vue'\nimport RecurringInvoiceIndexDropdown from '@/scripts/admin/components/dropdowns/RecurringInvoiceIndexDropdown.vue'\n\nconst dialogStore = useDialogStore()\nconst recurringInvoiceStore = useRecurringInvoiceStore()\nconst userStore = useUserStore()\nconst { t } = useI18n()\n\nconst router = useRouter()\n\nconst pageTitle = computed(() => {\n  return recurringInvoiceStore.newRecurringInvoice\n    ? recurringInvoiceStore.newRecurringInvoice?.customer?.name\n    : ''\n})\n\nfunction hasAtleastOneAbility() {\n  return userStore.hasAbilities([\n    abilities.DELETE_RECURRING_INVOICE,\n    abilities.EDIT_RECURRING_INVOICE,\n  ])\n}\n\nfunction removeRecurringInvoice(id) {\n  dialogStore\n    .openDialog({\n      title: t('general.are_you_sure'),\n      message: t('recurring_invoices.confirm_delete', 1),\n      yesLabel: t('general.ok'),\n      noLabel: t('general.cancel'),\n      variant: 'danger',\n      size: 'lg',\n      hideNoButton: false,\n    })\n    .then((res) => {\n      if (res) {\n        let data = { ids: [id] }\n        let response = recurringInvoiceStore\n          .deleteRecurringInvoice(data)\n          .then((res) => {\n            if (response) {\n              router.push('/admin/recurring-invoices')\n              return true\n            }\n          })\n      }\n    })\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/recurring-invoices/create/RecurringInvoiceCreate.vue",
    "content": "<template>\n  <SelectTemplateModal />\n  <ItemModal />\n  <TaxTypeModal />\n  <SalesTax\n    v-if=\"salesTaxEnabled && !isLoadingContent\"\n    :store=\"recurringInvoiceStore\"\n    store-prop=\"newRecurringInvoice\"\n    :is-edit=\"isEdit\"\n    :customer=\"recurringInvoiceStore.newRecurringInvoice.customer\"\n  />\n  <BasePage class=\"relative invoice-create-page\">\n    <form @submit.prevent=\"submitForm\">\n      <BasePageHeader :title=\"pageTitle\">\n        <BaseBreadcrumb>\n          <BaseBreadcrumbItem\n            :title=\"$t('general.home')\"\n            to=\"/admin/dashboard\"\n          />\n          <BaseBreadcrumbItem\n            :title=\"$t('recurring_invoices.title', 2)\"\n            to=\"/admin/recurring-invoices\"\n          />\n          <BaseBreadcrumbItem\n            v-if=\"$route.name === 'invoices.edit'\"\n            :title=\"$t('recurring_invoices.edit_invoice')\"\n            to=\"#\"\n            active\n          />\n          <BaseBreadcrumbItem v-else :title=\"pageTitle\" to=\"#\" active />\n        </BaseBreadcrumb>\n\n        <template #actions>\n          <router-link\n            :to=\"`/invoices/pdf/${recurringInvoiceStore.newRecurringInvoice.unique_hash}`\"\n          >\n            <BaseButton\n              v-if=\"$route.name === 'invoices.edit'\"\n              target=\"_blank\"\n              class=\"mr-3\"\n              variant=\"primary-outline\"\n              type=\"button\"\n            >\n              <span class=\"flex\">\n                {{ $t('general.view_pdf') }}\n              </span>\n            </BaseButton>\n          </router-link>\n\n          <BaseButton\n            :loading=\"isSaving\"\n            :disabled=\"isSaving\"\n            variant=\"primary\"\n            type=\"submit\"\n          >\n            <template #left=\"slotProps\">\n              <BaseIcon\n                v-if=\"!isSaving\"\n                name=\"SaveIcon\"\n                :class=\"slotProps.class\"\n              />\n            </template>\n            {{ $t('recurring_invoices.save_invoice') }}\n          </BaseButton>\n        </template>\n      </BasePageHeader>\n\n      <!-- Select Customer & Basic Fields  -->\n      <div class=\"grid-cols-12 gap-8 mt-6 mb-8 lg:grid\">\n        <InvoiceBasicFields\n          :v=\"v$\"\n          :is-loading=\"isLoadingContent\"\n          :is-edit=\"isEdit\"\n        />\n      </div>\n\n      <BaseScrollPane>\n        <!-- Invoice Items -->\n        <CreateItems\n          :currency=\"recurringInvoiceStore.newRecurringInvoice.currency\"\n          :is-loading=\"isLoadingContent\"\n          :item-validation-scope=\"recurringInvoiceValidationScope\"\n          :store=\"recurringInvoiceStore\"\n          store-prop=\"newRecurringInvoice\"\n        />\n\n        <!-- Invoice Templates -->\n        <div\n          class=\"\n            block\n            mt-10\n            invoice-foot\n            lg:flex lg:justify-between lg:items-start\n          \"\n        >\n          <div class=\"w-full relative lg:w-1/2\">\n            <!-- Invoice Custom Notes -->\n            <NoteFields\n              :store=\"recurringInvoiceStore\"\n              store-prop=\"newRecurringInvoice\"\n              :fields=\"recurringInvoiceFields\"\n              type=\"Invoice\"\n            />\n\n            <!-- Invoice Custom Fields -->\n            <InvoiceCustomFields\n              type=\"Invoice\"\n              :is-edit=\"isEdit\"\n              :is-loading=\"isLoadingContent\"\n              :store=\"recurringInvoiceStore\"\n              store-prop=\"newRecurringInvoice\"\n              :custom-field-scope=\"recurringInvoiceValidationScope\"\n              class=\"mb-6\"\n            />\n\n            <!-- Invoice Template Button-->\n            <SelectTemplateButton\n              :store=\"recurringInvoiceStore\"\n              store-prop=\"newRecurringInvoice\"\n            />\n          </div>\n\n          <!-- Invoice Total Card -->\n          <CreateTotal\n            :currency=\"recurringInvoiceStore.newRecurringInvoice.currency\"\n            :is-loading=\"isLoadingContent\"\n            :store=\"recurringInvoiceStore\"\n            store-prop=\"newRecurringInvoice\"\n            tax-popup-type=\"invoice\"\n          />\n        </div>\n      </BaseScrollPane>\n    </form>\n  </BasePage>\n</template>\n\n<script setup>\nimport { computed, ref, watch } from 'vue'\nimport { useRoute, useRouter } from 'vue-router'\nimport { useI18n } from 'vue-i18n'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport { useModalStore } from '@/scripts/stores/modal'\nimport CreateItems from '@/scripts/admin/components/estimate-invoice-common/CreateItems.vue'\nimport CreateTotal from '@/scripts/admin/components/estimate-invoice-common/CreateTotal.vue'\nimport SelectTemplateButton from '@/scripts/admin/components/estimate-invoice-common/SelectTemplateButton.vue'\nimport InvoiceBasicFields from './RecurringInvoiceCreateBasicFields.vue'\nimport InvoiceCustomFields from '@/scripts/admin/components/custom-fields/CreateCustomFields.vue'\nimport NoteFields from '@/scripts/admin/components/estimate-invoice-common/CreateNotesField.vue'\nimport SalesTax from '@/scripts/admin/components/estimate-invoice-common/SalesTax.vue'\n\nimport {\n  required,\n  maxLength,\n  numeric,\n  helpers,\n  requiredIf,\n  decimal,\n} from '@vuelidate/validators'\n\nimport useVuelidate from '@vuelidate/core'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\nimport { useCustomFieldStore } from '@/scripts/admin/stores/custom-field'\nimport { useRecurringInvoiceStore } from '@/scripts/admin/stores/recurring-invoice'\nimport { useModuleStore } from '@/scripts/admin/stores/module'\nimport { useCustomerStore } from '@/scripts/admin/stores/customer'\nimport SelectTemplateModal from '@/scripts/admin/components/modal-components/SelectTemplateModal.vue'\nimport TaxTypeModal from '@/scripts/admin/components/modal-components/TaxTypeModal.vue'\nimport ItemModal from '@/scripts/admin/components/modal-components/ItemModal.vue'\n\nconst recurringInvoiceStore = useRecurringInvoiceStore()\nconst companyStore = useCompanyStore()\nconst customFieldStore = useCustomFieldStore()\nconst moduleStore = useModuleStore()\nconst modalStore = useModalStore()\nconst customerStore = useCustomerStore()\nconst recurringInvoiceValidationScope = 'newRecurringInvoice'\nconst notificationStore = useNotificationStore()\nconst { t } = useI18n()\nlet isSaving = ref(false)\n\nconst recurringInvoiceFields = ref([\n  'customer',\n  'company',\n  'customerCustom',\n  'invoice',\n  'invoiceCustom',\n])\n\nlet route = useRoute()\nlet router = useRouter()\n\nlet isLoadingContent = computed(\n  () =>\n    recurringInvoiceStore.isFetchingInvoice ||\n    recurringInvoiceStore.isFetchingInitialSettings\n)\n\nlet pageTitle = computed(() =>\n  isEdit.value\n    ? t('recurring_invoices.edit_invoice')\n    : t('recurring_invoices.new_invoice')\n)\n\nlet isEdit = computed(() => route.name === 'recurring-invoices.edit')\n\nconst salesTaxEnabled = computed(() => {\n  return (\n    companyStore.selectedCompanySettings.sales_tax_us_enabled === 'YES' &&\n    moduleStore.salesTaxUSEnabled\n  )\n})\n\nconst rules = {\n  starts_at: {\n    required: helpers.withMessage(t('validation.required'), required),\n  },\n  status: {\n    required: helpers.withMessage(t('validation.required'), required),\n  },\n  frequency: {\n    required: helpers.withMessage(t('validation.required'), required),\n  },\n  limit_by: {\n    required: helpers.withMessage(t('validation.required'), required),\n  },\n  limit_date: {\n    required: helpers.withMessage(\n      t('validation.required'),\n      requiredIf(function () {\n        return recurringInvoiceStore.newRecurringInvoice.limit_by === 'DATE'\n      })\n    ),\n  },\n  limit_count: {\n    required: helpers.withMessage(\n      t('validation.required'),\n      requiredIf(function () {\n        return recurringInvoiceStore.newRecurringInvoice.limit_by === 'COUNT'\n      })\n    ),\n  },\n  selectedFrequency: {\n    required: helpers.withMessage(t('validation.required'), required),\n  },\n  customer_id: {\n    required: helpers.withMessage(t('validation.required'), required),\n  },\n  exchange_rate: {\n    required: requiredIf(function () {\n      helpers.withMessage(t('validation.required'), required)\n      return recurringInvoiceStore.showExchangeRate\n    }),\n    decimal: helpers.withMessage(t('validation.valid_exchange_rate'), decimal),\n  },\n}\n\nconst v$ = useVuelidate(\n  rules,\n  computed(() => recurringInvoiceStore.newRecurringInvoice),\n  { $scope: recurringInvoiceValidationScope }\n)\n\nrecurringInvoiceStore.resetCurrentRecurringInvoice()\nrecurringInvoiceStore.fetchRecurringInvoiceInitialSettings(isEdit.value)\ncustomFieldStore.resetCustomFields()\nv$.value.$reset\n\nwatch(\n  () => recurringInvoiceStore.newRecurringInvoice.customer,\n  (newVal) => {\n    if (newVal && newVal.currency) {\n      recurringInvoiceStore.newRecurringInvoice.currency = newVal.currency\n    } else {\n      recurringInvoiceStore.newRecurringInvoice.currency =\n        companyStore.selectedCompanyCurrency\n    }\n  }\n)\n\nasync function submitForm() {\n  v$.value.$touch()\n\n  if (v$.value.$invalid) {\n    return false\n  }\n\n  isSaving.value = true\n\n  let data = {\n    ...recurringInvoiceStore.newRecurringInvoice,\n    sub_total: recurringInvoiceStore.getSubTotal,\n    total: recurringInvoiceStore.getTotal,\n    tax: recurringInvoiceStore.getTotalTax,\n  }\n\n  if (data.customer && !data.customer.email && data.send_automatically) {\n    notificationStore.showNotification({\n      type: 'error',\n      message: t('recurring_invoices.add_customer_email'),\n    })\n    editCustomer()\n    isSaving.value = false\n    return\n  }\n\n  if (route.params.id) {\n    recurringInvoiceStore\n      .updateRecurringInvoice(data)\n      .then((res) => {\n        if (res.data.data) {\n          router.push(`/admin/recurring-invoices/${res.data.data.id}/view`)\n        }\n        isSaving.value = false\n      })\n      .catch((err) => {\n        isSaving.value = false\n      })\n  } else {\n    submitCreate(data)\n  }\n}\n\nasync function editCustomer() {\n  let selectedCustomer = recurringInvoiceStore.newRecurringInvoice.customer.id\n\n  await customerStore.fetchCustomer(selectedCustomer)\n  modalStore.openModal({\n    title: t('customers.edit_customer'),\n    componentName: 'CustomerModal',\n  })\n}\n\nfunction submitCreate(data) {\n  recurringInvoiceStore\n    .addRecurringInvoice(data)\n    .then((res) => {\n      if (res.data.data) {\n        router.push(`/admin/recurring-invoices/${res.data.data.id}/view`)\n      }\n      isSaving.value = false\n    })\n    .catch((err) => {\n      isSaving.value = false\n    })\n}\n\nfunction checkValid() {\n  return false\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/recurring-invoices/create/RecurringInvoiceCreateBasicFields.vue",
    "content": "<template>\n  <div class=\"col-span-5 pr-0\">\n    <BaseCustomerSelectPopup\n      v-model=\"recurringInvoiceStore.newRecurringInvoice.customer\"\n      :valid=\"v.customer_id\"\n      :content-loading=\"isLoading\"\n      type=\"recurring-invoice\"\n    />\n\n    <div class=\"flex mt-7\">\n      <div class=\"relative w-20 mt-8\">\n        <BaseSwitch\n          v-model=\"recurringInvoiceStore.newRecurringInvoice.send_automatically\"\n          class=\"absolute -top-4\"\n        />\n      </div>\n\n      <div class=\"ml-2\">\n        <p class=\"p-0 mb-1 leading-snug text-left text-black\">\n          {{ $t('recurring_invoices.send_automatically') }}\n        </p>\n        <p\n          class=\"p-0 m-0 text-xs leading-tight text-left text-gray-500\"\n          style=\"max-width: 480px\"\n        >\n          {{ $t('recurring_invoices.send_automatically_desc') }}\n        </p>\n      </div>\n    </div>\n  </div>\n\n  <div\n    class=\"\n      grid grid-cols-1\n      col-span-7\n      gap-4\n      mt-8\n      lg:gap-6 lg:mt-0 lg:grid-cols-2\n    \"\n  >\n    <BaseInputGroup\n      :label=\"$t('recurring_invoices.starts_at')\"\n      :content-loading=\"isLoading\"\n      required\n      :error=\"v.starts_at.$error && v.starts_at.$errors[0].$message\"\n    >\n      <BaseDatePicker\n        v-model=\"recurringInvoiceStore.newRecurringInvoice.starts_at\"\n        :content-loading=\"isLoading\"\n        :calendar-button=\"true\"\n        calendar-button-icon=\"calendar\"\n        :invalid=\"v.starts_at.$error\"\n        @change=\"getNextInvoiceDate()\"\n      />\n    </BaseInputGroup>\n\n    <BaseInputGroup\n      :label=\"$t('recurring_invoices.next_invoice_date')\"\n      :content-loading=\"isLoading\"\n      required\n    >\n      <BaseDatePicker\n        v-model=\"recurringInvoiceStore.newRecurringInvoice.next_invoice_at\"\n        :content-loading=\"isLoading\"\n        :calendar-button=\"true\"\n        :disabled=\"true\"\n        :loading=\"isLoadingNextDate\"\n        calendar-button-icon=\"calendar\"\n      />\n    </BaseInputGroup>\n\n    <BaseInputGroup\n      :label=\"$t('recurring_invoices.limit_by')\"\n      :content-loading=\"isLoading\"\n      class=\"lg:mt-0\"\n      required\n      :error=\"v.limit_by.$error && v.limit_by.$errors[0].$message\"\n    >\n      <BaseMultiselect\n        v-model=\"recurringInvoiceStore.newRecurringInvoice.limit_by\"\n        :content-loading=\"isLoading\"\n        :options=\"limits\"\n        label=\"label\"\n        :invalid=\"v.limit_by.$error\"\n        value-prop=\"value\"\n      />\n    </BaseInputGroup>\n\n    <BaseInputGroup\n      v-if=\"hasLimitBy('DATE')\"\n      :label=\"$t('recurring_invoices.limit_date')\"\n      :content-loading=\"isLoading\"\n      :required=\"hasLimitBy('DATE')\"\n      :error=\"v.limit_date.$error && v.limit_date.$errors[0].$message\"\n    >\n      <BaseDatePicker\n        v-model=\"recurringInvoiceStore.newRecurringInvoice.limit_date\"\n        :content-loading=\"isLoading\"\n        :invalid=\"v.limit_date.$error\"\n        calendar-button-icon=\"calendar\"\n      />\n    </BaseInputGroup>\n\n    <BaseInputGroup\n      v-if=\"hasLimitBy('COUNT')\"\n      :label=\"$t('recurring_invoices.count')\"\n      :content-loading=\"isLoading\"\n      :required=\"hasLimitBy('COUNT')\"\n      :error=\"v.limit_count.$error && v.limit_count.$errors[0].$message\"\n    >\n      <BaseInput\n        v-model=\"recurringInvoiceStore.newRecurringInvoice.limit_count\"\n        :content-loading=\"isLoading\"\n        :invalid=\"v.limit_count.$error\"\n        type=\"number\"\n      />\n    </BaseInputGroup>\n\n    <BaseInputGroup\n      :label=\"$t('recurring_invoices.status')\"\n      required\n      :content-loading=\"isLoading\"\n      :error=\"v.status.$error && v.status.$errors[0].$message\"\n    >\n      <BaseMultiselect\n        v-model=\"recurringInvoiceStore.newRecurringInvoice.status\"\n        :options=\"getStatusOptions\"\n        :content-loading=\"isLoading\"\n        :invalid=\"v.status.$error\"\n        :placeholder=\"$t('recurring_invoices.select_a_status')\"\n        value-prop=\"value\"\n        label=\"value\"\n      />\n    </BaseInputGroup>\n\n    <BaseInputGroup\n      :label=\"$t('recurring_invoices.frequency.select_frequency')\"\n      required\n      :content-loading=\"isLoading\"\n      :error=\"\n        v.selectedFrequency.$error && v.selectedFrequency.$errors[0].$message\n      \"\n    >\n      <BaseMultiselect\n        v-model=\"recurringInvoiceStore.newRecurringInvoice.selectedFrequency\"\n        :content-loading=\"isLoading\"\n        :options=\"recurringInvoiceStore.frequencies\"\n        label=\"label\"\n        :invalid=\"v.selectedFrequency.$error\"\n        object\n        @change=\"getNextInvoiceDate\"\n      />\n    </BaseInputGroup>\n\n    <BaseInputGroup\n      v-if=\"isCustomFrequency\"\n      :label=\"$t('recurring_invoices.frequency.title')\"\n      :content-loading=\"isLoading\"\n      required\n      :error=\"v.frequency.$error && v.frequency.$errors[0].$message\"\n    >\n      <BaseInput\n        v-model=\"recurringInvoiceStore.newRecurringInvoice.frequency\"\n        :content-loading=\"isLoading\"\n        :disabled=\"!isCustomFrequency\"\n        :invalid=\"v.frequency.$error\"\n        :loading=\"isLoadingNextDate\"\n        @update:modelValue=\"debounceNextDate\"\n      />\n    </BaseInputGroup>\n\n    <ExchangeRateConverter\n      :store=\"recurringInvoiceStore\"\n      store-prop=\"newRecurringInvoice\"\n      :v=\"v\"\n      :is-loading=\"isLoading\"\n      :is-edit=\"isEdit\"\n      :customer-currency=\"recurringInvoiceStore.newRecurringInvoice.currency_id\"\n    />\n  </div>\n</template>\n\n<script setup>\nimport { useGlobalStore } from '@/scripts/admin/stores/global'\nimport { useDebounceFn } from '@vueuse/core'\nimport { useRecurringInvoiceStore } from '@/scripts/admin/stores/recurring-invoice'\nimport { computed, onMounted, reactive, ref, watch } from 'vue'\nimport { useRoute } from 'vue-router'\n\nimport ExchangeRateConverter from '@/scripts/admin/components/estimate-invoice-common/ExchangeRateConverter.vue'\n\nconst props = defineProps({\n  v: {\n    type: Object,\n    default: null,\n  },\n  isLoading: {\n    type: Boolean,\n    default: false,\n  },\n  isEdit: {\n    type: Boolean,\n    default: false,\n  },\n})\n\nconst route = useRoute()\nconst recurringInvoiceStore = useRecurringInvoiceStore()\nconst globalStore = useGlobalStore()\n\nconst isLoadingNextDate = ref(false)\n\nconst limits = reactive([\n  { label: 'None', value: 'NONE' },\n  { label: 'Date', value: 'DATE' },\n  { label: 'Count', value: 'COUNT' },\n])\n\nconst isCustomFrequency = computed(() => {\n  return (\n    recurringInvoiceStore.newRecurringInvoice.selectedFrequency &&\n    recurringInvoiceStore.newRecurringInvoice.selectedFrequency.value ===\n      'CUSTOM'\n  )\n})\n\nconst getStatusOptions = computed(() => {\n  if (props.isEdit) {\n    return globalStore.config.recurring_invoice_status.update_status\n  }\n  return globalStore.config.recurring_invoice_status.create_status\n})\n\nwatch(\n  () => recurringInvoiceStore.newRecurringInvoice.selectedFrequency,\n  (newValue) => {\n    if (!recurringInvoiceStore.isFetchingInitialSettings) {\n      if (newValue && newValue.value !== 'CUSTOM') {\n        recurringInvoiceStore.newRecurringInvoice.frequency = newValue.value\n      } else {\n        recurringInvoiceStore.newRecurringInvoice.frequency = null\n      }\n    }\n  }\n)\n\nonMounted(() => {\n  // on create\n  if (!route.params.id) {\n    getNextInvoiceDate()\n  }\n})\n\nfunction hasLimitBy(LimitBy) {\n  return recurringInvoiceStore.newRecurringInvoice.limit_by === LimitBy\n}\n\nconst debounceNextDate = useDebounceFn(() => {\n  getNextInvoiceDate()\n}, 500)\n\nasync function getNextInvoiceDate() {\n  const val = recurringInvoiceStore.newRecurringInvoice.frequency\n\n  if (!val) {\n    return\n  }\n\n  isLoadingNextDate.value = true\n\n  let data = {\n    starts_at: recurringInvoiceStore.newRecurringInvoice.starts_at,\n    frequency: val,\n  }\n\n  try {\n    await recurringInvoiceStore.fetchRecurringInvoiceFrequencyDate(data)\n  } catch (error) {\n    console.error(error)\n    isLoadingNextDate.value = false\n  }\n\n  isLoadingNextDate.value = false\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/recurring-invoices/partials/Invoices.vue",
    "content": "<template>\n  <SendInvoiceModal @update=\"updateSentInvoiceStatus\" />\n  <div class=\"relative table-container\">\n    <BaseTable\n      ref=\"table\"\n      :data=\"recurringInvoiceStore.newRecurringInvoice.invoices\"\n      :columns=\"invoiceColumns\"\n      :loading=\"recurringInvoiceStore.isFetchingViewData\"\n      :placeholder-count=\"5\"\n      class=\"mt-5\"\n    >\n      <!-- Invoice Number  -->\n      <template #cell-invoice_number=\"{ row }\">\n        <router-link\n          :to=\"{ path: `/admin/invoices/${row.data.id}/view` }\"\n          class=\"font-medium text-primary-500\"\n        >\n          {{ row.data.invoice_number }}\n        </router-link>\n      </template>\n\n      <!-- Invoice Due amount  -->\n      <template #cell-total=\"{ row }\">\n        <BaseFormatMoney\n          :amount=\"row.data.due_amount\"\n          :currency=\"row.data.currency\"\n        />\n      </template>\n\n      <!-- Invoice status  -->\n      <template #cell-status=\"{ row }\">\n        <BaseInvoiceStatusBadge :status=\"row.data.status\" class=\"px-3 py-1\">\n          {{ row.data.status }}\n        </BaseInvoiceStatusBadge>\n      </template>\n\n      <!-- Actions -->\n      <template v-if=\"hasAtleastOneAbility()\" #cell-actions=\"{ row }\">\n        <InvoiceDropdown :row=\"row.data\" :table=\"table\" />\n      </template>\n    </BaseTable>\n  </div>\n</template>\n\n<script setup>\nimport { computed, ref, inject } from 'vue'\nimport { useRouter } from 'vue-router'\nimport { useI18n } from 'vue-i18n'\nimport { useUserStore } from '@/scripts/admin/stores/user'\nimport { useRecurringInvoiceStore } from '@/scripts/admin/stores/recurring-invoice'\nimport abilities from '@/scripts/admin/stub/abilities'\nimport InvoiceDropdown from '@/scripts/admin/components/dropdowns/InvoiceIndexDropdown.vue'\nimport SendInvoiceModal from '@/scripts/admin/components/modal-components/SendInvoiceModal.vue'\n\nconst recurringInvoiceStore = useRecurringInvoiceStore()\n\nconst table = ref(null)\nconst baseSelect = ref(null)\nconst utils = inject('$utils')\nconst { t } = useI18n()\nconst currency = ref(null)\nconst router = useRouter()\nconst userStore = useUserStore()\n\nconst invoiceColumns = computed(() => {\n  return [\n    {\n      key: 'invoice_date',\n      label: t('invoices.date'),\n      thClass: 'extra',\n      tdClass: 'font-medium text-gray-900',\n    },\n    { key: 'invoice_number', label: t('invoices.invoice') },\n    { key: 'customer.name', label: t('invoices.customer') },\n    { key: 'status', label: t('invoices.status') },\n    { key: 'total', label: t('invoices.total') },\n\n    {\n      key: 'actions',\n      label: t('invoices.action'),\n      tdClass: 'text-right text-sm font-medium',\n      thClass: 'text-right',\n      sortable: false,\n    },\n  ]\n})\n\nfunction hasAtleastOneAbility() {\n  return userStore.hasAbilities([\n    abilities.DELETE_INVOICE,\n    abilities.EDIT_INVOICE,\n    abilities.VIEW_INVOICE,\n    abilities.SEND_INVOICE,\n  ])\n}\n\nfunction refreshTable() {\n  table.value && table.value.refresh()\n}\n\nfunction updateSentInvoiceStatus(id) {\n  let pos = recurringInvoiceStore.newRecurringInvoice.invoices.findIndex(\n    (invoice) => invoice.id === id\n  )\n\n  if (recurringInvoiceStore.newRecurringInvoice.invoices[pos]) {\n    recurringInvoiceStore.newRecurringInvoice.invoices[pos].status = 'SENT'\n  }\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/recurring-invoices/partials/RecurringInvoiceInfo.vue",
    "content": "<template>\n  <BaseCard class=\"mt-10\">\n    <BaseHeading>\n      {{ $t('customers.basic_info') }}\n    </BaseHeading>\n\n    <BaseDescriptionList class=\"mt-5\">\n      <BaseDescriptionListItem\n        :label=\"$t('recurring_invoices.starts_at')\"\n        :content-loading=\"isLoading\"\n        :value=\"recurringInvoiceStore.newRecurringInvoice?.formatted_starts_at\"\n      />\n\n      <BaseDescriptionListItem\n        :label=\"$t('recurring_invoices.next_invoice_date')\"\n        :content-loading=\"isLoading\"\n        :value=\"\n          recurringInvoiceStore.newRecurringInvoice?.formatted_next_invoice_at\n        \"\n      />\n\n      <BaseDescriptionListItem\n        v-if=\"\n          recurringInvoiceStore.newRecurringInvoice?.limit_date &&\n          recurringInvoiceStore.newRecurringInvoice?.limit_by !== 'NONE'\n        \"\n        :label=\"$t('recurring_invoices.limit_date')\"\n        :content-loading=\"isLoading\"\n        :value=\"recurringInvoiceStore.newRecurringInvoice?.limit_date\"\n      />\n\n      <BaseDescriptionListItem\n        v-if=\"\n          recurringInvoiceStore.newRecurringInvoice?.limit_date &&\n          recurringInvoiceStore.newRecurringInvoice?.limit_by !== 'NONE'\n        \"\n        :label=\"$t('recurring_invoices.limit_by')\"\n        :content-loading=\"isLoading\"\n        :value=\"recurringInvoiceStore.newRecurringInvoice?.limit_by\"\n      />\n\n      <BaseDescriptionListItem\n        v-if=\"recurringInvoiceStore.newRecurringInvoice?.limit_count\"\n        :label=\"$t('recurring_invoices.limit_count')\"\n        :value=\"recurringInvoiceStore.newRecurringInvoice?.limit_count\"\n        :content-loading=\"isLoading\"\n      />\n\n      <BaseDescriptionListItem\n        v-if=\"recurringInvoiceStore.newRecurringInvoice?.selectedFrequency\"\n        :label=\"$t('recurring_invoices.frequency.title')\"\n        :value=\"\n          recurringInvoiceStore.newRecurringInvoice?.selectedFrequency?.label\n        \"\n        :content-loading=\"isLoading\"\n      />\n    </BaseDescriptionList>\n\n    <BaseHeading class=\"mt-8\">\n      {{ $t('invoices.title', 2) }}\n    </BaseHeading>\n\n    <Invoices />\n  </BaseCard>\n</template>\n\n<script setup>\nimport { ref, computed, watch, reactive, inject } from 'vue'\nimport { useRoute } from 'vue-router'\nimport { useRecurringInvoiceStore } from '@/scripts/admin/stores/recurring-invoice'\nimport Invoices from './Invoices.vue'\n\nconst recurringInvoiceStore = useRecurringInvoiceStore()\n\nconst route = useRoute()\n\nlet isLoading = computed(() => {\n  return recurringInvoiceStore.isFetchingViewData\n})\n\nwatch(\n  route,\n  () => {\n    if (route.params.id && route.name === 'recurring-invoices.view') {\n      loadRecurringInvoice()\n    }\n  },\n  { immediate: true }\n)\n\nasync function loadRecurringInvoice() {\n  await recurringInvoiceStore.fetchRecurringInvoice(route.params.id)\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/recurring-invoices/partials/RecurringInvoiceViewSidebar.vue",
    "content": "<script setup>\nimport { useI18n } from 'vue-i18n'\nimport { computed, reactive, ref } from 'vue'\nimport { useRoute } from 'vue-router'\nimport { debounce } from 'lodash'\n\nimport { useRecurringInvoiceStore } from '@/scripts/admin/stores/recurring-invoice'\n\nimport LoadingIcon from '@/scripts/components/icons/LoadingIcon.vue'\n\nconst recurringInvoiceStore = useRecurringInvoiceStore()\n\nconst { t } = useI18n()\nconst route = useRoute()\nconst isLoading = ref(false)\n\nconst invoiceList = ref(null)\nconst currentPageNumber = ref(1)\nconst lastPageNumber = ref(1)\nconst invoiceListSection = ref(null)\n\nconst searchData = reactive({\n  orderBy: null,\n  orderByField: null,\n  searchText: null,\n})\n\nconst getOrderBy = computed(() => {\n  if (searchData.orderBy === 'asc' || searchData.orderBy == null) {\n    return true\n  }\n  return false\n})\n\nfunction hasActiveUrl(id) {\n  return route.params.id == id\n}\n\nasync function loadRecurringInvoices(pageNumber, fromScrollListener = false) {\n  if (isLoading.value) {\n    return\n  }\n\n  let params = {}\n  if (\n    searchData.searchText !== '' &&\n    searchData.searchText !== null &&\n    searchData.searchText !== undefined\n  ) {\n    params.search = searchData.searchText\n  }\n\n  if (searchData.orderBy !== null && searchData.orderBy !== undefined) {\n    params.orderBy = searchData.orderBy\n  }\n\n  if (\n    searchData.orderByField !== null &&\n    searchData.orderByField !== undefined\n  ) {\n    params.orderByField = searchData.orderByField\n  }\n\n  isLoading.value = true\n  let response = await recurringInvoiceStore.fetchRecurringInvoices({\n    page: pageNumber,\n    ...params,\n  })\n  isLoading.value = false\n\n  invoiceList.value = invoiceList.value ? invoiceList.value : []\n  invoiceList.value = [...invoiceList.value, ...response.data.data]\n\n  currentPageNumber.value = pageNumber ? pageNumber : 1\n  lastPageNumber.value = response.data.meta.last_page\n  let invoiceFound = invoiceList.value.find((inv) => inv.id == route.params.id)\n\n  if (\n    fromScrollListener == false &&\n    !invoiceFound &&\n    currentPageNumber.value < lastPageNumber.value &&\n    Object.keys(params).length === 0\n  ) {\n    loadRecurringInvoices(++currentPageNumber.value)\n  }\n\n  if (invoiceFound) {\n    setTimeout(() => {\n      if (fromScrollListener == false) {\n        scrollToRecurringInvoice()\n      }\n    }, 500)\n  }\n}\n\nfunction scrollToRecurringInvoice() {\n  const el = document.getElementById(`recurring-invoice-${route.params.id}`)\n  if (el) {\n    el.scrollIntoView({ behavior: 'smooth' })\n    el.classList.add('shake')\n    addScrollListener()\n  }\n}\n\nfunction addScrollListener() {\n  invoiceListSection.value.addEventListener('scroll', (ev) => {\n    if (\n      ev.target.scrollTop > 0 &&\n      ev.target.scrollTop + ev.target.clientHeight >\n        ev.target.scrollHeight - 200\n    ) {\n      if (currentPageNumber.value < lastPageNumber.value) {\n        loadRecurringInvoices(++currentPageNumber.value, true)\n      }\n    }\n  })\n}\n\nasync function onSearched() {\n  invoiceList.value = []\n  loadRecurringInvoices()\n}\n\nfunction sortData() {\n  if (searchData.orderBy === 'asc') {\n    searchData.orderBy = 'desc'\n    onSearched()\n    return true\n  }\n  searchData.orderBy = 'asc'\n  onSearched()\n  return true\n}\n\nloadRecurringInvoices()\nonSearched = debounce(onSearched, 500)\n</script>\n\n<template>\n  <!-- sidebar -->\n  <div\n    class=\"\n      fixed\n      top-0\n      left-0\n      hidden\n      h-full\n      pt-16\n      pb-[6.4rem]\n      ml-56\n      bg-white\n      xl:ml-64\n      w-88\n      xl:block\n    \"\n  >\n    <div\n      class=\"\n        flex\n        items-center\n        justify-between\n        px-4\n        pt-8\n        pb-2\n        border border-gray-200 border-solid\n        height-full\n      \"\n    >\n      <div class=\"mb-6\">\n        <BaseInput\n          v-model=\"searchData.searchText\"\n          :placeholder=\"$t('general.search')\"\n          type=\"text\"\n          variant=\"gray\"\n          @input=\"onSearched()\"\n        >\n          <template #right>\n            <BaseIcon name=\"SearchIcon\" class=\"h-5 text-gray-400\" />\n          </template>\n        </BaseInput>\n      </div>\n\n      <div class=\"flex mb-6 ml-3\" role=\"group\" aria-label=\"First group\">\n        <BaseDropdown class=\"ml-3\" position=\"bottom-start\">\n          <template #activator>\n            <BaseButton size=\"md\" variant=\"gray\">\n              <BaseIcon name=\"FilterIcon\" class=\"h-5\" />\n            </BaseButton>\n          </template>\n          <div\n            class=\"\n              px-2\n              py-1\n              pb-2\n              mb-1 mb-2\n              text-sm\n              border-b border-gray-200 border-solid\n            \"\n          >\n            {{ $t('general.sort_by') }}\n          </div>\n\n          <BaseDropdownItem class=\"flex px-1 py-2 cursor-pointer\">\n            <BaseInputGroup class=\"-mt-3 font-normal\">\n              <BaseRadio\n                id=\"filter_next_invoice_date\"\n                v-model=\"searchData.orderByField\"\n                :label=\"$t('recurring_invoices.next_invoice_date')\"\n                size=\"sm\"\n                name=\"filter\"\n                value=\"next_invoice_at\"\n                @update:modelValue=\"onSearched\"\n              />\n            </BaseInputGroup>\n          </BaseDropdownItem>\n\n          <BaseDropdownItem class=\"flex px-1 py-2 cursor-pointer\">\n            <BaseInputGroup class=\"-mt-3 font-normal\">\n              <BaseRadio\n                id=\"filter_start_date\"\n                v-model=\"searchData.orderByField\"\n                :label=\"$t('recurring_invoices.starts_at')\"\n                value=\"starts_at\"\n                size=\"sm\"\n                name=\"filter\"\n                @update:modelValue=\"onSearched\"\n              />\n            </BaseInputGroup>\n          </BaseDropdownItem>\n        </BaseDropdown>\n\n        <BaseButton class=\"ml-1\" size=\"md\" variant=\"gray\" @click=\"sortData\">\n          <BaseIcon v-if=\"getOrderBy\" name=\"SortAscendingIcon\" class=\"h-5\" />\n          <BaseIcon v-else name=\"SortDescendingIcon\" class=\"h-5\" />\n        </BaseButton>\n      </div>\n    </div>\n\n    <div\n      ref=\"invoiceListSection\"\n      class=\"\n        h-full\n        overflow-y-scroll\n        border-l border-gray-200 border-solid\n        base-scroll\n      \"\n    >\n      <div v-for=\"(invoice, index) in invoiceList\" :key=\"index\">\n        <router-link\n          v-if=\"invoice\"\n          :id=\"'recurring-invoice-' + invoice.id\"\n          :to=\"`/admin/recurring-invoices/${invoice.id}/view`\"\n          :class=\"[\n            'flex justify-between side-invoice p-4 cursor-pointer hover:bg-gray-100 items-center border-l-4 border-transparent',\n            {\n              'bg-gray-100 border-l-4 border-primary-500 border-solid':\n                hasActiveUrl(invoice.id),\n            },\n          ]\"\n          style=\"border-bottom: 1px solid rgba(185, 193, 209, 0.41)\"\n        >\n          <div class=\"flex-2\">\n            <BaseText\n              :text=\"invoice.customer.name\"\n              :length=\"30\"\n              class=\"\n                pr-2\n                mb-2\n                text-sm\n                not-italic\n                font-normal\n                leading-5\n                text-black\n                capitalize\n                truncate\n              \"\n            />\n\n            <div\n              class=\"\n                mt-1\n                mb-2\n                text-xs\n                not-italic\n                font-medium\n                leading-5\n                text-gray-600\n              \"\n            >\n              {{ invoice.invoice_number }}\n            </div>\n            <BaseRecurringInvoiceStatusBadge\n              :status=\"invoice.status\"\n              class=\"px-1 text-xs\"\n            >\n              {{ invoice.status }}\n            </BaseRecurringInvoiceStatusBadge>\n          </div>\n\n          <div class=\"flex-1 whitespace-nowrap right\">\n            <BaseFormatMoney\n              class=\"\n                block\n                mb-2\n                text-xl\n                not-italic\n                font-semibold\n                leading-8\n                text-right text-gray-900\n              \"\n              :amount=\"invoice.total\"\n              :currency=\"invoice.customer.currency\"\n            />\n\n            <div\n              class=\"\n                text-sm\n                not-italic\n                font-normal\n                leading-5\n                text-right text-gray-600\n                est-date\n              \"\n            >\n              {{ invoice.formatted_starts_at }}\n            </div>\n          </div>\n        </router-link>\n      </div>\n      <div v-if=\"isLoading\" class=\"flex justify-center p-4 items-center\">\n        <LoadingIcon class=\"h-6 m-1 animate-spin text-primary-400\" />\n      </div>\n      <p\n        v-if=\"!invoiceList?.length && !isLoading\"\n        class=\"flex justify-center px-4 mt-5 text-sm text-gray-600\"\n      >\n        {{ $t('invoices.no_matching_invoices') }}\n      </p>\n    </div>\n  </div>\n</template>\n"
  },
  {
    "path": "resources/scripts/admin/views/reports/ExpensesReport.vue",
    "content": "<template>\n  <div class=\"grid gap-8 md:grid-cols-12 pt-10\">\n    <div class=\"col-span-8 md:col-span-4\">\n      <BaseInputGroup\n        :label=\"$t('reports.sales.date_range')\"\n        class=\"col-span-12 md:col-span-8\"\n      >\n        <BaseMultiselect\n          v-model=\"selectedRange\"\n          :options=\"dateRange\"\n          value-prop=\"key\"\n          track-by=\"key\"\n          label=\"label\"\n          object\n          @update:modelValue=\"onChangeDateRange\"\n        />\n      </BaseInputGroup>\n\n      <div class=\"flex flex-col mt-6 lg:space-x-3 lg:flex-row\">\n        <BaseInputGroup :label=\"$t('reports.expenses.from_date')\">\n          <BaseDatePicker v-model=\"formData.from_date\" />\n        </BaseInputGroup>\n\n        <div\n          class=\"\n            hidden\n            w-5\n            h-0\n            mx-4\n            border border-gray-400 border-solid\n            xl:block\n          \"\n          style=\"margin-top: 2.5rem\"\n        />\n\n        <BaseInputGroup :label=\"$t('reports.expenses.to_date')\">\n          <BaseDatePicker v-model=\"formData.to_date\" />\n        </BaseInputGroup>\n      </div>\n\n      <BaseButton\n        variant=\"primary-outline\"\n        class=\"content-center hidden mt-0 w-md md:flex md:mt-8\"\n        type=\"submit\"\n        @click.prevent=\"getReports\"\n      >\n        {{ $t('reports.update_report') }}\n      </BaseButton>\n    </div>\n\n    <div class=\"col-span-8\">\n      <iframe\n        :src=\"getReportUrl\"\n        class=\"\n          hidden\n          w-full\n          h-screen\n          border-gray-100 border-solid\n          rounded\n          md:flex\n        \"\n      />\n\n      <a\n        class=\"\n          flex\n          items-center\n          justify-center\n          h-10\n          px-5\n          py-1\n          text-sm\n          font-medium\n          leading-none\n          text-center text-white\n          rounded\n          whitespace-nowrap\n          md:hidden\n          bg-primary-500\n          cursor-pointer\n        \"\n        @click=\"viewReportsPDF\"\n      >\n        <BaseIcon name=\"DocumentTextIcon\" class=\"h-5 mr-2\" />\n        <span>{{ $t('reports.view_pdf') }}</span>\n      </a>\n    </div>\n  </div>\n</template>\n\n<script setup>\nimport { ref, computed, onMounted, watch, reactive } from 'vue'\nimport moment from 'moment'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\nimport { useI18n } from 'vue-i18n'\nimport { useGlobalStore } from '@/scripts/admin/stores/global'\nconst globalStore = useGlobalStore()\nconst companyStore = useCompanyStore()\nconst { t } = useI18n()\n\nglobalStore.downloadReport = downloadReport\n\nconst dateRange = reactive([\n  {\n    label: t('dateRange.today'),\n    key: 'Today',\n  },\n  {\n    label: t('dateRange.this_week'),\n    key: 'This Week',\n  },\n  {\n    label: t('dateRange.this_month'),\n    key: 'This Month',\n  },\n  {\n    label: t('dateRange.this_quarter'),\n    key: 'This Quarter',\n  },\n  {\n    label: t('dateRange.this_year'),\n    key: 'This Year',\n  },\n  {\n    label: t('dateRange.previous_week'),\n    key: 'Previous Week',\n  },\n  {\n    label: t('dateRange.previous_month'),\n    key: 'Previous Month',\n  },\n  {\n    label: t('dateRange.previous_quarter'),\n    key: 'Previous Quarter',\n  },\n  {\n    label: t('dateRange.previous_year'),\n    key: 'Previous Year',\n  },\n  {\n    label: t('dateRange.custom'),\n    key: 'Custom',\n  },\n])\n\nconst selectedRange = ref(dateRange[2])\nlet range = ref(new Date())\nlet url = ref(null)\nlet siteURL = ref(null)\n\nconst formData = reactive({\n  from_date: moment().startOf('month').toString(),\n  to_date: moment().endOf('month').toString(),\n})\n\nconst getReportUrl = computed(() => {\n  return url.value\n})\n\nconst getSelectedCompany = computed(() => {\n  return companyStore.selectedCompany\n})\n\nconst dateRangeUrl = computed(() => {\n  return `${siteURL.value}?from_date=${moment(formData.from_date).format(\n    'YYYY-MM-DD'\n  )}&to_date=${moment(formData.to_date).format('YYYY-MM-DD')}`\n})\n\nonMounted(() => {\n  siteURL.value = `/reports/expenses/${getSelectedCompany.value.unique_hash}`\n  url.value = dateRangeUrl.value\n})\n\nwatch(\n  () => range,\n  (newRange) => {\n    formData.from_date = moment(newRange).startOf('year').toString()\n    formData.to_date = moment(newRange).endOf('year').toString()\n  }\n)\n\nfunction getThisDate(type, time) {\n  return moment()[type](time).format('YYYY-MM-DD')\n}\n\nfunction getPreDate(type, time) {\n  return moment().subtract(1, time)[type](time).format('YYYY-MM-DD')\n}\n\nfunction onChangeDateRange() {\n  let key = selectedRange.value.key\n\n  switch (key) {\n    case 'Today':\n      formData.from_date = moment().format('YYYY-MM-DD')\n      formData.to_date = moment().format('YYYY-MM-DD')\n      break\n\n    case 'This Week':\n      formData.from_date = getThisDate('startOf', 'isoWeek')\n      formData.to_date = getThisDate('endOf', 'isoWeek')\n      break\n\n    case 'This Month':\n      formData.from_date = getThisDate('startOf', 'month')\n      formData.to_date = getThisDate('endOf', 'month')\n      break\n\n    case 'This Quarter':\n      formData.from_date = getThisDate('startOf', 'quarter')\n      formData.to_date = getThisDate('endOf', 'quarter')\n      break\n\n    case 'This Year':\n      formData.from_date = getThisDate('startOf', 'year')\n      formData.to_date = getThisDate('endOf', 'year')\n      break\n\n    case 'Previous Week':\n      formData.from_date = getPreDate('startOf', 'isoWeek')\n      formData.to_date = getPreDate('endOf', 'isoWeek')\n      break\n\n    case 'Previous Month':\n      formData.from_date = getPreDate('startOf', 'month')\n      formData.to_date = getPreDate('endOf', 'month')\n      break\n\n    case 'Previous Quarter':\n      formData.from_date = getPreDate('startOf', 'quarter')\n      formData.to_date = getPreDate('endOf', 'quarter')\n      break\n\n    case 'Previous Year':\n      formData.from_date = getPreDate('startOf', 'year')\n      formData.to_date = getPreDate('endOf', 'year')\n      break\n\n    default:\n      break\n  }\n}\n\nasync function viewReportsPDF() {\n  let data = await getReports()\n  window.open(getReportUrl.value, '_blank')\n  return data\n}\n\nfunction getReports() {\n  url.value = dateRangeUrl.value\n  return true\n}\n\nfunction downloadReport() {\n  if (!getReports()) {\n    return false\n  }\n\n  window.open(getReportUrl.value + '&download=true')\n  setTimeout(() => {\n    url.value = dateRangeUrl.value\n  }, 200)\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/reports/ProfitLossReport.vue",
    "content": "<template>\n  <div class=\"grid gap-8 md:grid-cols-12 pt-10\">\n    <div class=\"col-span-8 md:col-span-4\">\n      <BaseInputGroup\n        :label=\"$t('reports.profit_loss.date_range')\"\n        class=\"col-span-12 md:col-span-8\"\n      >\n        <BaseMultiselect\n          v-model=\"selectedRange\"\n          :options=\"dateRange\"\n          value-prop=\"key\"\n          track-by=\"key\"\n          label=\"label\"\n          object\n          @update:modelValue=\"onChangeDateRange\"\n        />\n      </BaseInputGroup>\n\n      <div class=\"flex flex-col mt-6 lg:space-x-3 lg:flex-row\">\n        <BaseInputGroup :label=\"$t('reports.profit_loss.from_date')\">\n          <BaseDatePicker v-model=\"formData.from_date\" />\n        </BaseInputGroup>\n\n        <div\n          class=\"\n            hidden\n            w-5\n            h-0\n            mx-4\n            border border-gray-400 border-solid\n            xl:block\n          \"\n          style=\"margin-top: 2.5rem\"\n        />\n\n        <BaseInputGroup :label=\"$t('reports.profit_loss.to_date')\">\n          <BaseDatePicker v-model=\"formData.to_date\" />\n        </BaseInputGroup>\n      </div>\n\n      <BaseButton\n        variant=\"primary-outline\"\n        class=\"content-center hidden mt-0 w-md md:flex md:mt-8\"\n        type=\"submit\"\n        @click.prevent=\"getReports\"\n      >\n        {{ $t('reports.update_report') }}\n      </BaseButton>\n    </div>\n\n    <div class=\"col-span-8\">\n      <iframe\n        :src=\"getReportUrl\"\n        class=\"\n          hidden\n          w-full\n          h-screen\n          border-gray-100 border-solid\n          rounded\n          md:flex\n        \"\n      />\n      <a\n        class=\"\n          flex\n          items-center\n          justify-center\n          h-10\n          px-5\n          py-1\n          text-sm\n          font-medium\n          leading-none\n          text-center text-white\n          rounded\n          whitespace-nowrap\n          md:hidden\n          bg-primary-500\n        \"\n        @click=\"viewReportsPDF\"\n      >\n        <BaseIcon name=\"DocumentTextIcon\" class=\"h-5 mr-2\" />\n        <span>{{ $t('reports.view_pdf') }}</span>\n      </a>\n    </div>\n  </div>\n</template>\n\n<script setup>\nimport { ref, computed, onMounted, watch, reactive } from 'vue'\nimport moment from 'moment'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\nimport { useI18n } from 'vue-i18n'\nimport { useGlobalStore } from '@/scripts/admin/stores/global'\nconst globalStore = useGlobalStore()\nconst companyStore = useCompanyStore()\nconst { t } = useI18n()\n\nglobalStore.downloadReport = downloadReport\n\nconst dateRange = reactive([\n  {\n    label: t('dateRange.today'),\n    key: 'Today',\n  },\n  {\n    label: t('dateRange.this_week'),\n    key: 'This Week',\n  },\n  {\n    label: t('dateRange.this_month'),\n    key: 'This Month',\n  },\n  {\n    label: t('dateRange.this_quarter'),\n    key: 'This Quarter',\n  },\n  {\n    label: t('dateRange.this_year'),\n    key: 'This Year',\n  },\n  {\n    label: t('dateRange.previous_week'),\n    key: 'Previous Week',\n  },\n  {\n    label: t('dateRange.previous_month'),\n    key: 'Previous Month',\n  },\n  {\n    label: t('dateRange.previous_quarter'),\n    key: 'Previous Quarter',\n  },\n  {\n    label: t('dateRange.previous_year'),\n    key: 'Previous Year',\n  },\n  {\n    label: t('dateRange.custom'),\n    key: 'Custom',\n  },\n])\n\nconst selectedRange = ref(dateRange[2])\nlet url = ref(null)\nlet siteURL = ref(null)\nlet range = ref(new Date())\n\nconst formData = reactive({\n  from_date: moment().startOf('month').toString(),\n  to_date: moment().endOf('month').toString(),\n})\n\nconst getReportUrl = computed(() => {\n  return url.value\n})\n\nconst getSelectedCompany = computed(() => {\n  return companyStore.selectedCompany\n})\n\nconst dateRangeUrl = computed(() => {\n  return `${siteURL.value}?from_date=${moment(formData.from_date).format(\n    'YYYY-MM-DD'\n  )}&to_date=${moment(formData.to_date).format('YYYY-MM-DD')}`\n})\n\nwatch(range, (newRange) => {\n  formData.from_date = moment(newRange).startOf('year').toString()\n  formData.to_date = moment(newRange).endOf('year').toString()\n})\n\nonMounted(() => {\n  siteURL.value = `/reports/profit-loss/${getSelectedCompany.value.unique_hash}`\n  url.value = dateRangeUrl.value\n})\n\nfunction getThisDate(type, time) {\n  return moment()[type](time).format('YYYY-MM-DD')\n}\n\nfunction getPreDate(type, time) {\n  return moment().subtract(1, time)[type](time).format('YYYY-MM-DD')\n}\n\nfunction onChangeDateRange() {\n  let key = selectedRange.value.key\n\n  switch (key) {\n    case 'Today':\n      formData.from_date = moment().format('YYYY-MM-DD')\n      formData.to_date = moment().format('YYYY-MM-DD')\n      break\n\n    case 'This Week':\n      formData.from_date = getThisDate('startOf', 'isoWeek')\n      formData.to_date = getThisDate('endOf', 'isoWeek')\n      break\n\n    case 'This Month':\n      formData.from_date = getThisDate('startOf', 'month')\n      formData.to_date = getThisDate('endOf', 'month')\n      break\n\n    case 'This Quarter':\n      formData.from_date = getThisDate('startOf', 'quarter')\n      formData.to_date = getThisDate('endOf', 'quarter')\n      break\n\n    case 'This Year':\n      formData.from_date = getThisDate('startOf', 'year')\n      formData.to_date = getThisDate('endOf', 'year')\n      break\n\n    case 'Previous Week':\n      formData.from_date = getPreDate('startOf', 'isoWeek')\n      formData.to_date = getPreDate('endOf', 'isoWeek')\n      break\n\n    case 'Previous Month':\n      formData.from_date = getPreDate('startOf', 'month')\n      formData.to_date = getPreDate('endOf', 'month')\n      break\n\n    case 'Previous Quarter':\n      formData.from_date = getPreDate('startOf', 'quarter')\n      formData.to_date = getPreDate('endOf', 'quarter')\n      break\n\n    case 'Previous Year':\n      formData.from_date = getPreDate('startOf', 'year')\n      formData.to_date = getPreDate('endOf', 'year')\n      break\n\n    default:\n      break\n  }\n}\n\nasync function viewReportsPDF() {\n  let data = await getReports()\n  window.open(getReportUrl.value, '_blank')\n  return data\n}\n\nfunction getReports() {\n  url.value = dateRangeUrl.value\n  return true\n}\n\nfunction downloadReport() {\n  if (!getReports()) {\n    return false\n  }\n\n  window.open(getReportUrl.value + '&download=true')\n  setTimeout(() => {\n    url.value = dateRangeUrl.value\n  }, 200)\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/reports/SalesReports.vue",
    "content": "<template>\n  <div class=\"grid gap-8 md:grid-cols-12 pt-10\">\n    <div class=\"col-span-8 md:col-span-4\">\n      <BaseInputGroup\n        :label=\"$t('reports.sales.date_range')\"\n        class=\"col-span-12 md:col-span-8\"\n      >\n        <BaseMultiselect\n          v-model=\"selectedRange\"\n          :options=\"dateRange\"\n          value-prop=\"key\"\n          track-by=\"key\"\n          label=\"label\"\n          object\n          @update:modelValue=\"onChangeDateRange\"\n        />\n      </BaseInputGroup>\n\n      <div class=\"flex flex-col my-6 lg:space-x-3 lg:flex-row\">\n        <BaseInputGroup :label=\"$t('reports.sales.from_date')\">\n          <BaseDatePicker v-model=\"formData.from_date\" />\n        </BaseInputGroup>\n\n        <div\n          class=\"\n            hidden\n            w-5\n            h-0\n            mx-4\n            border border-gray-400 border-solid\n            xl:block\n          \"\n          style=\"margin-top: 2.5rem\"\n        />\n\n        <BaseInputGroup :label=\"$t('reports.sales.to_date')\">\n          <BaseDatePicker v-model=\"formData.to_date\" />\n        </BaseInputGroup>\n      </div>\n\n      <BaseInputGroup\n        :label=\"$t('reports.sales.report_type')\"\n        class=\"col-span-12 md:col-span-8\"\n      >\n        <BaseMultiselect\n          v-model=\"selectedType\"\n          :options=\"reportTypes\"\n          :placeholder=\"$t('reports.sales.report_type')\"\n          class=\"mt-1\"\n          @update:modelValue=\"getInitialReport\"\n        />\n      </BaseInputGroup>\n\n      <BaseButton\n        variant=\"primary-outline\"\n        class=\"content-center hidden mt-0 w-md md:flex md:mt-8\"\n        type=\"submit\"\n        @click.prevent=\"getReports\"\n      >\n        {{ $t('reports.update_report') }}\n      </BaseButton>\n    </div>\n\n    <div class=\"col-span-8\">\n      <iframe\n        :src=\"getReportUrl\"\n        class=\"\n          hidden\n          w-full\n          h-screen\n          border-gray-100 border-solid\n          rounded\n          md:flex\n        \"\n      />\n\n      <a\n        class=\"\n          flex\n          items-center\n          justify-center\n          h-10\n          px-5\n          py-1\n          text-sm\n          font-medium\n          leading-none\n          text-center text-white\n          rounded\n          whitespace-nowrap\n          md:hidden\n          bg-primary-500\n        \"\n        @click=\"viewReportsPDF\"\n      >\n        <BaseIcon name=\"DocumentTextIcon\" class=\"h-5 mr-2\" />\n        <span>{{ $t('reports.view_pdf') }}</span>\n      </a>\n    </div>\n  </div>\n</template>\n\n<script setup>\nimport { ref, computed, onMounted, watch, reactive } from 'vue'\nimport moment from 'moment'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\nimport { useI18n } from 'vue-i18n'\nimport { useGlobalStore } from '@/scripts/admin/stores/global'\n\nconst { t } = useI18n()\nconst globalStore = useGlobalStore()\n\nglobalStore.downloadReport = downloadReport\n\nconst dateRange = reactive([\n  {\n    label: t('dateRange.today'),\n    key: 'Today',\n  },\n  {\n    label: t('dateRange.this_week'),\n    key: 'This Week',\n  },\n  {\n    label: t('dateRange.this_month'),\n    key: 'This Month',\n  },\n  {\n    label: t('dateRange.this_quarter'),\n    key: 'This Quarter',\n  },\n  {\n    label: t('dateRange.this_year'),\n    key: 'This Year',\n  },\n  {\n    label: t('dateRange.previous_week'),\n    key: 'Previous Week',\n  },\n  {\n    label: t('dateRange.previous_month'),\n    key: 'Previous Month',\n  },\n  {\n    label: t('dateRange.previous_quarter'),\n    key: 'Previous Quarter',\n  },\n  {\n    label: t('dateRange.previous_year'),\n    key: 'Previous Year',\n  },\n  {\n    label: t('dateRange.custom'),\n    key: 'Custom',\n  },\n])\n\nconst selectedRange = ref(dateRange[2])\nconst reportTypes = ref(['By Customer', 'By Item'])\nconst selectedType = ref('By Customer')\nlet range = ref(new Date())\nlet url = ref(null)\nlet customerSiteURL = ref(null)\nlet itemsSiteURL = ref(null)\n\nlet formData = reactive({\n  from_date: moment().startOf('month').format('YYYY-MM-DD').toString(),\n  to_date: moment().endOf('month').format('YYYY-MM-DD').toString(),\n})\n\nconst companyStore = useCompanyStore()\n\nconst getReportUrl = computed(() => {\n  return url.value\n})\n\nconst getSelectedCompany = computed(() => {\n  return companyStore.selectedCompany\n})\n\nconst customerDateRangeUrl = computed(() => {\n  return `${customerSiteURL.value}?from_date=${moment(\n    formData.from_date\n  ).format('YYYY-MM-DD')}&to_date=${moment(formData.to_date).format(\n    'YYYY-MM-DD'\n  )}`\n})\n\nconst itemDaterangeUrl = computed(() => {\n  return `${itemsSiteURL.value}?from_date=${moment(formData.from_date).format(\n    'YYYY-MM-DD'\n  )}&to_date=${moment(formData.to_date).format('YYYY-MM-DD')}`\n})\n\nwatch(range, (newRange) => {\n  formData.from_date = moment(newRange).startOf('year').toString()\n  formData.to_date = moment(newRange).endOf('year').toString()\n})\n\nonMounted(() => {\n  customerSiteURL.value = `/reports/sales/customers/${getSelectedCompany.value.unique_hash}`\n  itemsSiteURL.value = `/reports/sales/items/${getSelectedCompany.value.unique_hash}`\n  getInitialReport()\n})\n\nfunction getThisDate(type, time) {\n  return moment()[type](time).format('YYYY-MM-DD')\n}\n\nfunction getPreDate(type, time) {\n  return moment().subtract(1, time)[type](time).format('YYYY-MM-DD')\n}\n\nfunction onChangeDateRange() {\n  let key = selectedRange.value.key\n\n  switch (key) {\n    case 'Today':\n      formData.from_date = moment().format('YYYY-MM-DD')\n      formData.to_date = moment().format('YYYY-MM-DD')\n      break\n    case 'This Week':\n      formData.from_date = getThisDate('startOf', 'isoWeek')\n      formData.to_date = getThisDate('endOf', 'isoWeek')\n      break\n    case 'This Month':\n      formData.from_date = getThisDate('startOf', 'month')\n      formData.to_date = getThisDate('endOf', 'month')\n      break\n    case 'This Quarter':\n      formData.from_date = getThisDate('startOf', 'quarter')\n      formData.to_date = getThisDate('endOf', 'quarter')\n      break\n    case 'This Year':\n      formData.from_date = getThisDate('startOf', 'year')\n      formData.to_date = getThisDate('endOf', 'year')\n      break\n    case 'Previous Week':\n      formData.from_date = getPreDate('startOf', 'isoWeek')\n      formData.to_date = getPreDate('endOf', 'isoWeek')\n      break\n    case 'Previous Month':\n      formData.from_date = getPreDate('startOf', 'month')\n      formData.to_date = getPreDate('endOf', 'month')\n      break\n    case 'Previous Quarter':\n      formData.from_date = getPreDate('startOf', 'quarter')\n      formData.to_date = getPreDate('endOf', 'quarter')\n      break\n    case 'Previous Year':\n      formData.from_date = getPreDate('startOf', 'year')\n      formData.to_date = getPreDate('endOf', 'year')\n      break\n    default:\n      break\n  }\n}\n\nasync function getInitialReport() {\n  if (selectedType.value === 'By Customer') {\n    url.value = customerDateRangeUrl.value\n    return true\n  }\n  url.value = itemDaterangeUrl.value\n  return true\n}\n\nasync function viewReportsPDF() {\n  let data = await getReports()\n  window.open(getReportUrl.value, '_blank')\n  return data\n}\n\nfunction getReports() {\n  if (selectedType.value === 'By Customer') {\n    url.value = customerDateRangeUrl.value\n    return true\n  }\n  url.value = itemDaterangeUrl.value\n  return true\n}\n\nfunction downloadReport() {\n  if (!getReports()) {\n    return false\n  }\n\n  window.open(getReportUrl.value + '&download=true')\n\n  setTimeout(() => {\n    if (selectedType.value === 'By Customer') {\n      url.value = customerDateRangeUrl.value\n      return true\n    }\n    url.value = itemDaterangeUrl.value\n    return true\n  }, 200)\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/reports/TaxReport.vue",
    "content": "<template>\n  <div class=\"grid gap-8 md:grid-cols-12 pt-10\">\n    <div class=\"col-span-8 md:col-span-4\">\n      <BaseInputGroup\n        :label=\"$t('reports.taxes.date_range')\"\n        class=\"col-span-12 md:col-span-8\"\n      >\n        <BaseMultiselect\n          v-model=\"selectedRange\"\n          :options=\"dateRange\"\n          value-prop=\"key\"\n          track-by=\"key\"\n          label=\"label\"\n          object\n          @update:modelValue=\"onChangeDateRange\"\n        />\n      </BaseInputGroup>\n\n      <div class=\"flex flex-col mt-6 lg:space-x-3 lg:flex-row\">\n        <BaseInputGroup :label=\"$t('reports.taxes.from_date')\">\n          <BaseDatePicker v-model=\"formData.from_date\" />\n        </BaseInputGroup>\n\n        <div\n          class=\"\n            hidden\n            w-5\n            h-0\n            mx-4\n            border border-gray-400 border-solid\n            xl:block\n          \"\n          style=\"margin-top: 2.5rem\"\n        />\n\n        <BaseInputGroup :label=\"$t('reports.taxes.to_date')\">\n          <BaseDatePicker v-model=\"formData.to_date\" />\n        </BaseInputGroup>\n      </div>\n\n      <BaseButton\n        variant=\"primary-outline\"\n        class=\"content-center hidden mt-0 w-md md:flex md:mt-8\"\n        type=\"submit\"\n        @click.prevent=\"getReports\"\n      >\n        {{ $t('reports.update_report') }}\n      </BaseButton>\n    </div>\n    <div class=\"col-span-8\">\n      <iframe\n        :src=\"getReportUrl\"\n        class=\"\n          hidden\n          w-full\n          h-screen\n          border-gray-100 border-solid\n          rounded\n          md:flex\n        \"\n      />\n      <a\n        class=\"\n          flex\n          items-center\n          justify-center\n          h-10\n          px-5\n          py-1\n          text-sm\n          font-medium\n          leading-none\n          text-center text-white\n          rounded\n          whitespace-nowrap\n          md:hidden\n          bg-primary-500\n        \"\n        @click=\"viewReportsPDF\"\n      >\n        <BaseIcon name=\"DocumentTextIcon\" class=\"h-5 mr-2\" />\n        <span>{{ $t('reports.view_pdf') }}</span>\n      </a>\n    </div>\n  </div>\n</template>\n\n<script setup>\nimport { ref, computed, onMounted, watch, reactive } from 'vue'\nimport moment from 'moment'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\nimport { useI18n } from 'vue-i18n'\nimport { useGlobalStore } from '@/scripts/admin/stores/global'\nconst globalStore = useGlobalStore()\n\nglobalStore.downloadReport = downloadReport\n\nconst { t } = useI18n()\n\nconst dateRange = reactive([\n  {\n    label: t('dateRange.today'),\n    key: 'Today',\n  },\n  {\n    label: t('dateRange.this_week'),\n    key: 'This Week',\n  },\n  {\n    label: t('dateRange.this_month'),\n    key: 'This Month',\n  },\n  {\n    label: t('dateRange.this_quarter'),\n    key: 'This Quarter',\n  },\n  {\n    label: t('dateRange.this_year'),\n    key: 'This Year',\n  },\n  {\n    label: t('dateRange.previous_week'),\n    key: 'Previous Week',\n  },\n  {\n    label: t('dateRange.previous_month'),\n    key: 'Previous Month',\n  },\n  {\n    label: t('dateRange.previous_quarter'),\n    key: 'Previous Quarter',\n  },\n  {\n    label: t('dateRange.previous_year'),\n    key: 'Previous Year',\n  },\n  {\n    label: t('dateRange.custom'),\n    key: 'Custom',\n  },\n])\n\nconst selectedRange = ref(dateRange[2])\n\nconst formData = reactive({\n  from_date: moment().startOf('month').format('YYYY-MM-DD').toString(),\n  to_date: moment().endOf('month').format('YYYY-MM-DD').toString(),\n})\n\nlet url = ref(null)\n\nconst getReportUrl = computed(() => {\n  return url.value\n})\nconst companyStore = useCompanyStore()\n\nconst getSelectedCompany = computed(() => {\n  return companyStore.selectedCompany\n})\n\nlet siteURL = ref(null)\n\nonMounted(() => {\n  siteURL.value = `/reports/tax-summary/${getSelectedCompany.value.unique_hash}`\n  url.value = dateRangeUrl.value\n})\n\nconst dateRangeUrl = computed(() => {\n  return `${siteURL.value}?from_date=${moment(formData.from_date).format(\n    'YYYY-MM-DD'\n  )}&to_date=${moment(formData.to_date).format('YYYY-MM-DD')}`\n})\n\nlet range = ref(new Date())\n\nwatch(range.value, (newRange) => {\n  formData.from_date = moment(newRange).startOf('year').toString()\n  formData.to_date = moment(newRange).endOf('year').toString()\n})\n\nfunction getThisDate(type, time) {\n  return moment()[type](time).format('YYYY-MM-DD')\n}\n\nfunction getPreDate(type, time) {\n  return moment().subtract(1, time)[type](time).format('YYYY-MM-DD')\n}\n\nfunction onChangeDateRange() {\n  let key = selectedRange.value.key\n\n  switch (key) {\n    case 'Today':\n      formData.from_date = moment().format('YYYY-MM-DD')\n      formData.to_date = moment().format('YYYY-MM-DD')\n      break\n\n    case 'This Week':\n      formData.from_date = getThisDate('startOf', 'isoWeek')\n      formData.to_date = getThisDate('endOf', 'isoWeek')\n      break\n\n    case 'This Month':\n      formData.from_date = getThisDate('startOf', 'month')\n      formData.to_date = getThisDate('endOf', 'month')\n      break\n\n    case 'This Quarter':\n      formData.from_date = getThisDate('startOf', 'quarter')\n      formData.to_date = getThisDate('endOf', 'quarter')\n      break\n\n    case 'This Year':\n      formData.from_date = getThisDate('startOf', 'year')\n      formData.to_date = getThisDate('endOf', 'year')\n      break\n\n    case 'Previous Week':\n      formData.from_date = getPreDate('startOf', 'isoWeek')\n      formData.to_date = getPreDate('endOf', 'isoWeek')\n      break\n\n    case 'Previous Month':\n      formData.from_date = getPreDate('startOf', 'month')\n      formData.to_date = getPreDate('endOf', 'month')\n      break\n\n    case 'Previous Quarter':\n      formData.from_date = getPreDate('startOf', 'quarter')\n      formData.to_date = getPreDate('endOf', 'quarter')\n      break\n\n    case 'Previous Year':\n      formData.from_date = getPreDate('startOf', 'year')\n      formData.to_date = getPreDate('endOf', 'year')\n      break\n\n    default:\n      break\n  }\n}\n\nasync function viewReportsPDF() {\n  let data = await getReports()\n  window.open(getReportUrl.value, '_blank')\n  return data\n}\n\nfunction getReports() {\n  url.value = dateRangeUrl.value\n  return true\n}\n\nfunction downloadReport() {\n  if (!getReports()) {\n    return false\n  }\n\n  window.open(getReportUrl.value + '&download=true')\n  setTimeout(() => {\n    url.value = dateRangeUrl.value\n  }, 200)\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/reports/layout/Index.vue",
    "content": "<template>\n  <BasePage>\n    <BasePageHeader :title=\"$tc('reports.report', 2)\">\n      <BaseBreadcrumb>\n        <BaseBreadcrumbItem :title=\"$t('general.home')\" to=\"/admin/dashboard\" />\n        <BaseBreadcrumbItem\n          :title=\"$tc('reports.report', 2)\"\n          to=\"/admin/reports\"\n          active\n        />\n      </BaseBreadcrumb>\n      <template #actions>\n        <BaseButton variant=\"primary\" class=\"ml-4\" @click=\"onDownload\">\n          <template #left=\"slotProps\">\n            <BaseIcon name=\"DownloadIcon\" :class=\"slotProps.class\" />\n          </template>\n          {{ $t('reports.download_pdf') }}\n        </BaseButton>\n      </template>\n    </BasePageHeader>\n\n    <!-- Tabs -->\n    <BaseTabGroup class=\"p-2\">\n      <BaseTab\n        :title=\"$t('reports.sales.sales')\"\n        tab-panel-container=\"px-0 py-0\"\n      >\n        <SalesReport ref=\"report\" />\n      </BaseTab>\n      <BaseTab\n        :title=\"$t('reports.profit_loss.profit_loss')\"\n        tab-panel-container=\"px-0 py-0\"\n      >\n        <ProfitLossReport ref=\"report\" />\n      </BaseTab>\n      <BaseTab\n        :title=\"$t('reports.expenses.expenses')\"\n        tab-panel-container=\"px-0 py-0\"\n      >\n        <ExpenseReport ref=\"report\" />\n      </BaseTab>\n      <BaseTab\n        :title=\"$t('reports.taxes.taxes')\"\n        tab-panel-container=\"px-0 py-0\"\n      >\n        <TaxReport ref=\"report\" />\n      </BaseTab>\n    </BaseTabGroup>\n  </BasePage>\n</template>\n\n<script setup>\nimport { ref } from 'vue'\nimport SalesReport from '../SalesReports.vue'\nimport ExpenseReport from '../ExpensesReport.vue'\nimport ProfitLossReport from '../ProfitLossReport.vue'\nimport TaxReport from '../TaxReport.vue'\nimport { useGlobalStore } from '@/scripts/admin/stores/global'\n\nconst globalStore = useGlobalStore()\n\nfunction onDownload() {\n  globalStore.downloadReport()\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/settings/AccountSetting.vue",
    "content": "<template>\n  <form class=\"relative\" @submit.prevent=\"updateUserData\">\n    <BaseSettingCard\n      :title=\"$t('settings.account_settings.account_settings')\"\n      :description=\"$t('settings.account_settings.section_description')\"\n    >\n      <BaseInputGrid>\n        <BaseInputGroup\n          :label=\"$tc('settings.account_settings.profile_picture')\"\n        >\n          <BaseFileUploader\n            v-model=\"imgFiles\"\n            :avatar=\"true\"\n            accept=\"image/*\"\n            @change=\"onFileInputChange\"\n            @remove=\"onFileInputRemove\"\n          />\n        </BaseInputGroup>\n\n        <!-- Empty Column -->\n        <span></span>\n\n        <BaseInputGroup\n          :label=\"$tc('settings.account_settings.name')\"\n          :error=\"v$.name.$error && v$.name.$errors[0].$message\"\n          required\n        >\n          <BaseInput\n            v-model=\"userForm.name\"\n            :invalid=\"v$.name.$error\"\n            @input=\"v$.name.$touch()\"\n          />\n        </BaseInputGroup>\n\n        <BaseInputGroup\n          :label=\"$tc('settings.account_settings.email')\"\n          :error=\"v$.email.$error && v$.email.$errors[0].$message\"\n          required\n        >\n          <BaseInput\n            v-model=\"userForm.email\"\n            :invalid=\"v$.email.$error\"\n            @input=\"v$.email.$touch()\"\n          />\n        </BaseInputGroup>\n\n        <BaseInputGroup\n          :error=\"v$.password.$error && v$.password.$errors[0].$message\"\n          :label=\"$tc('settings.account_settings.password')\"\n        >\n          <BaseInput\n            v-model=\"userForm.password\"\n            type=\"password\"\n            @input=\"v$.password.$touch()\"\n          />\n        </BaseInputGroup>\n\n        <BaseInputGroup\n          :label=\"$tc('settings.account_settings.confirm_password')\"\n          :error=\"\n            v$.confirm_password.$error &&\n            v$.confirm_password.$errors[0].$message\n          \"\n        >\n          <BaseInput\n            v-model=\"userForm.confirm_password\"\n            type=\"password\"\n            @input=\"v$.confirm_password.$touch()\"\n          />\n        </BaseInputGroup>\n\n        <BaseInputGroup :label=\"$tc('settings.language')\">\n          <BaseMultiselect\n            v-model=\"userForm.language\"\n            :options=\"globalStore.config.languages\"\n            label=\"name\"\n            value-prop=\"code\"\n            track-by=\"name\"\n            open-direction=\"top\"\n          />\n        </BaseInputGroup>\n      </BaseInputGrid>\n\n      <BaseButton :loading=\"isSaving\" :disabled=\"isSaving\" class=\"mt-6\">\n        <template #left=\"slotProps\">\n          <BaseIcon\n            v-if=\"!isSaving\"\n            name=\"SaveIcon\"\n            :class=\"slotProps.class\"\n          ></BaseIcon>\n        </template>\n        {{ $tc('settings.company_info.save') }}\n      </BaseButton>\n    </BaseSettingCard>\n  </form>\n</template>\n\n<script setup>\nimport { ref, computed, reactive } from 'vue'\nimport { useGlobalStore } from '@/scripts/admin/stores/global'\nimport { useUserStore } from '@/scripts/admin/stores/user'\nimport { useI18n } from 'vue-i18n'\nimport {\n  helpers,\n  sameAs,\n  email,\n  required,\n  minLength,\n} from '@vuelidate/validators'\nimport { useVuelidate } from '@vuelidate/core'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\n\nconst userStore = useUserStore()\nconst globalStore = useGlobalStore()\nconst companyStore = useCompanyStore()\nconst { t } = useI18n()\n\nlet isSaving = ref(false)\nlet avatarFileBlob = ref(null)\nlet imgFiles = ref([])\nconst isAdminAvatarRemoved = ref(false)\n\nif (userStore.currentUser.avatar) {\n  imgFiles.value.push({\n    image: userStore.currentUser.avatar,\n  })\n}\n\nconst rules = computed(() => {\n  return {\n    name: {\n      required: helpers.withMessage(t('validation.required'), required),\n    },\n    email: {\n      required: helpers.withMessage(t('validation.required'), required),\n      email: helpers.withMessage(t('validation.email_incorrect'), email),\n    },\n    password: {\n      minLength: helpers.withMessage(\n        t('validation.password_length', { count: 8 }),\n        minLength(8)\n      ),\n    },\n    confirm_password: {\n      sameAsPassword: helpers.withMessage(\n        t('validation.password_incorrect'),\n        sameAs(userForm.password)\n      ),\n    },\n  }\n})\n\nconst userForm = reactive({\n  name: userStore.currentUser.name,\n  email: userStore.currentUser.email,\n  language:\n    userStore.currentUserSettings.language ||\n    companyStore.selectedCompanySettings.language,\n  password: '',\n  confirm_password: '',\n})\n\nconst v$ = useVuelidate(\n  rules,\n  computed(() => userForm)\n)\n\nfunction onFileInputChange(fileName, file) {\n  avatarFileBlob.value = file\n}\n\nfunction onFileInputRemove() {\n  avatarFileBlob.value = null\n  isAdminAvatarRemoved.value = true\n}\n\nasync function updateUserData() {\n  v$.value.$touch()\n\n  if (v$.value.$invalid) {\n    return true\n  }\n\n  isSaving.value = true\n\n  let data = {\n    name: userForm.name,\n    email: userForm.email,\n  }\n\n  try {\n    if (\n      userForm.password != null &&\n      userForm.password !== undefined &&\n      userForm.password !== ''\n    ) {\n      data = { ...data, password: userForm.password }\n    }\n    // Update Language if changed\n\n    if (userStore.currentUserSettings.language !== userForm.language) {\n      await userStore.updateUserSettings({\n        settings: {\n          language: userForm.language,\n        },\n      })\n    }\n\n    let response = await userStore.updateCurrentUser(data)\n\n    if (response.data.data) {\n      isSaving.value = false\n\n      if (avatarFileBlob.value || isAdminAvatarRemoved.value) {\n        let avatarData = new FormData()\n\n        if (avatarFileBlob.value) {\n          avatarData.append('admin_avatar', avatarFileBlob.value)\n        }\n        avatarData.append('is_admin_avatar_removed', isAdminAvatarRemoved.value)\n\n        await userStore.uploadAvatar(avatarData)\n        avatarFileBlob.value = null\n        isAdminAvatarRemoved.value = false\n      }\n\n      userForm.password = ''\n      userForm.confirm_password = ''\n    }\n  } catch (error) {\n    isSaving.value = false\n    return true\n  }\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/settings/BackupSetting.vue",
    "content": "<template>\n  <BackupModal />\n\n  <BaseSettingCard\n    :title=\"$tc('settings.backup.title', 1)\"\n    :description=\"$t('settings.backup.description')\"\n  >\n    <template #action>\n      <BaseButton variant=\"primary-outline\" @click=\"onCreateNewBackup\">\n        <template #left=\"slotProps\">\n          <BaseIcon :class=\"slotProps.class\" name=\"PlusIcon\" />\n        </template>\n        {{ $t('settings.backup.new_backup') }}\n      </BaseButton>\n    </template>\n\n    <div class=\"grid my-14 md:grid-cols-3\">\n      <BaseInputGroup\n        :label=\"$t('settings.disk.select_disk')\"\n        :content-loading=\"isFetchingInitialData\"\n      >\n        <BaseMultiselect\n          v-model=\"filters.selected_disk\"\n          :content-loading=\"isFetchingInitialData\"\n          :options=\"getDisksOptions\"\n          track-by=\"name\"\n          :placeholder=\"$t('settings.disk.select_disk')\"\n          label=\"name\"\n          :searchable=\"true\"\n          object\n          class=\"w-full\"\n          value-prop=\"id\"\n          @select=\"refreshTable\"\n        >\n        </BaseMultiselect>\n      </BaseInputGroup>\n    </div>\n\n    <BaseTable\n      ref=\"table\"\n      class=\"mt-10\"\n      :show-filter=\"false\"\n      :data=\"fetchBackupsData\"\n      :columns=\"backupColumns\"\n    >\n      <template #cell-actions=\"{ row }\">\n        <BaseDropdown>\n          <template #activator>\n            <div class=\"inline-block\">\n              <BaseIcon name=\"DotsHorizontalIcon\" class=\"text-gray-500\" />\n            </div>\n          </template>\n\n          <BaseDropdownItem @click=\"onDownloadBckup(row.data)\">\n            <BaseIcon name=\"CloudDownloadIcon\" class=\"mr-3 text-gray-600\" />\n\n            {{ $t('general.download') }}\n          </BaseDropdownItem>\n\n          <BaseDropdownItem @click=\"onRemoveBackup(row.data)\">\n            <BaseIcon name=\"TrashIcon\" class=\"mr-3 text-gray-600\" />\n            {{ $t('general.delete') }}\n          </BaseDropdownItem>\n        </BaseDropdown>\n      </template>\n    </BaseTable>\n  </BaseSettingCard>\n</template>\n\n<script setup>\nimport { useBackupStore } from '@/scripts/admin/stores/backup'\nimport { computed, ref, reactive, onMounted } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { useDiskStore } from '@/scripts/admin/stores/disk'\nimport { useDialogStore } from '@/scripts/stores/dialog'\nimport { useModalStore } from '@/scripts/stores/modal'\nimport BackupModal from '@/scripts/admin/components/modal-components/BackupModal.vue'\n\nconst dialogStore = useDialogStore()\nconst backupStore = useBackupStore()\nconst modalStore = useModalStore()\nconst diskStore = useDiskStore()\nconst { t } = useI18n()\n\nconst filters = reactive({\n  selected_disk: { driver: 'local' },\n})\n\nconst table = ref('')\nlet isFetchingInitialData = ref(true)\n\nconst backupColumns = computed(() => {\n  return [\n    {\n      key: 'path',\n      label: t('settings.backup.path'),\n      thClass: 'extra',\n      tdClass: 'font-medium text-gray-900',\n    },\n    {\n      key: 'created_at',\n      label: t('settings.backup.created_at'),\n      tdClass: 'font-medium text-gray-900',\n    },\n    {\n      key: 'size',\n      label: t('settings.backup.size'),\n      tdClass: 'font-medium text-gray-900',\n    },\n    {\n      key: 'actions',\n      label: '',\n      tdClass: 'text-right text-sm font-medium',\n      sortable: false,\n    },\n  ]\n})\n\nconst getDisksOptions = computed(() => {\n  return diskStore.disks.map((disk) => {\n    return {\n      ...disk,\n      name: disk.name + ' — ' + '[' + disk.driver + ']',\n    }\n  })\n})\n\nloadDisksData()\n\nfunction onRemoveBackup(backup) {\n  dialogStore\n    .openDialog({\n      title: t('general.are_you_sure'),\n      message: t('settings.backup.backup_confirm_delete'),\n      yesLabel: t('general.ok'),\n      noLabel: t('general.cancel'),\n      variant: 'danger',\n      hideNoButton: false,\n      size: 'lg',\n    })\n    .then(async (res) => {\n      if (res) {\n        let data = {\n          disk: filters.selected_disk.driver,\n          file_disk_id: filters.selected_disk.id,\n          path: backup.path,\n        }\n\n        let response = await backupStore.removeBackup(data)\n\n        if (response.data.success || response.data.backup) {\n          table.value && table.value.refresh()\n          return true\n        }\n      }\n    })\n}\n\nfunction refreshTable() {\n  setTimeout(() => {\n    table.value.refresh()\n  }, 100)\n}\n\nasync function loadDisksData() {\n  isFetchingInitialData.value = true\n  let res = await diskStore.fetchDisks({ limit: 'all' })\n  if (res.data.error) {\n  }\n  filters.selected_disk = res.data.data.find((disk) => disk.set_as_default == 0)\n  isFetchingInitialData.value = false\n}\n\nasync function fetchBackupsData({ page, filter, sort }) {\n  let data = {\n    disk: filters.selected_disk.driver,\n    filed_disk_id: filters.selected_disk.id,\n  }\n\n  isFetchingInitialData.value = true\n\n  let response = await backupStore.fetchBackups(data)\n\n  isFetchingInitialData.value = false\n\n  return {\n    data: response.data.backups,\n    pagination: {\n      totalPages: 1,\n      currentPage: 1,\n    },\n  }\n}\n\nasync function onCreateNewBackup() {\n  modalStore.openModal({\n    title: t('settings.backup.create_backup'),\n    componentName: 'BackupModal',\n    refreshData: table.value && table.value.refresh,\n    size: 'sm',\n  })\n}\n\nasync function onDownloadBckup(backup) {\n  isFetchingInitialData.value = true\n  window\n    .axios({\n      method: 'GET',\n      url: '/api/v1/download-backup',\n      responseType: 'blob',\n      params: {\n        disk: filters.selected_disk.driver,\n        file_disk_id: filters.selected_disk.id,\n        path: backup.path,\n      },\n    })\n    .then((response) => {\n      const url = window.URL.createObjectURL(new Blob([response.data]))\n      const link = document.createElement('a')\n      link.href = url\n      link.setAttribute('download', backup.path.split('/')[1])\n      document.body.appendChild(link)\n      link.click()\n      isFetchingInitialData.value = false\n    })\n    .catch((e) => {\n      isFetchingInitialData.value = false\n    })\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/settings/CompanyInfoSettings.vue",
    "content": "<template>\n  <form @submit.prevent=\"updateCompanyData\">\n    <BaseSettingCard\n      :title=\"$t('settings.company_info.company_info')\"\n      :description=\"$t('settings.company_info.section_description')\"\n    >\n      <BaseInputGrid class=\"mt-5\">\n        <BaseInputGroup :label=\"$tc('settings.company_info.company_logo')\">\n          <BaseFileUploader\n            v-model=\"previewLogo\"\n            base64\n            @change=\"onFileInputChange\"\n            @remove=\"onFileInputRemove\"\n          />\n        </BaseInputGroup>\n      </BaseInputGrid>\n\n      <BaseInputGrid class=\"mt-5\">\n        <BaseInputGroup\n          :label=\"$tc('settings.company_info.company_name')\"\n          :error=\"v$.name.$error && v$.name.$errors[0].$message\"\n          required\n        >\n          <BaseInput\n            v-model=\"companyForm.name\"\n            :invalid=\"v$.name.$error\"\n            @blur=\"v$.name.$touch()\"\n          />\n        </BaseInputGroup>\n\n        <BaseInputGroup :label=\"$tc('settings.company_info.phone')\">\n          <BaseInput v-model=\"companyForm.address.phone\" />\n        </BaseInputGroup>\n\n        <BaseInputGroup\n          :label=\"$tc('settings.company_info.country')\"\n          :error=\"\n            v$.address.country_id.$error &&\n            v$.address.country_id.$errors[0].$message\n          \"\n          required\n        >\n          <BaseMultiselect\n            v-model=\"companyForm.address.country_id\"\n            label=\"name\"\n            :invalid=\"v$.address.country_id.$error\"\n            :options=\"globalStore.countries\"\n            value-prop=\"id\"\n            :can-deselect=\"true\"\n            :can-clear=\"false\"\n            searchable\n            track-by=\"name\"\n          />\n        </BaseInputGroup>\n\n        <BaseInputGroup :label=\"$tc('settings.company_info.state')\">\n          <BaseInput\n            v-model=\"companyForm.address.state\"\n            name=\"state\"\n            type=\"text\"\n          />\n        </BaseInputGroup>\n\n        <BaseInputGroup :label=\"$tc('settings.company_info.city')\">\n          <BaseInput v-model=\"companyForm.address.city\" type=\"text\" />\n        </BaseInputGroup>\n\n        <BaseInputGroup :label=\"$tc('settings.company_info.zip')\">\n          <BaseInput v-model=\"companyForm.address.zip\" />\n        </BaseInputGroup>\n\n        <div>\n          <BaseInputGroup :label=\"$tc('settings.company_info.address')\">\n            <BaseTextarea\n              v-model=\"companyForm.address.address_street_1\"\n              rows=\"2\"\n            />\n          </BaseInputGroup>\n\n          <BaseTextarea\n            v-model=\"companyForm.address.address_street_2\"\n            rows=\"2\"\n            :row=\"2\"\n            class=\"mt-2\"\n          />\n        </div>\n      </BaseInputGrid>\n\n      <BaseButton\n        :loading=\"isSaving\"\n        :disabled=\"isSaving\"\n        type=\"submit\"\n        class=\"mt-6\"\n      >\n        <template #left=\"slotProps\">\n          <BaseIcon v-if=\"!isSaving\" :class=\"slotProps.class\" name=\"SaveIcon\" />\n        </template>\n        {{ $tc('settings.company_info.save') }}\n      </BaseButton>\n\n      <div v-if=\"companyStore.companies.length !== 1\" class=\"py-5\">\n        <BaseDivider class=\"my-4\" />\n        <h3 class=\"text-lg leading-6 font-medium text-gray-900\">\n          {{ $tc('settings.company_info.delete_company') }}\n        </h3>\n        <div class=\"mt-2 max-w-xl text-sm text-gray-500\">\n          <p>\n            {{ $tc('settings.company_info.delete_company_description') }}\n          </p>\n        </div>\n        <div class=\"mt-5\">\n          <button\n            type=\"button\"\n            class=\"\n              inline-flex\n              items-center\n              justify-center\n              px-4\n              py-2\n              border border-transparent\n              font-medium\n              rounded-md\n              text-red-700\n              bg-red-100\n              hover:bg-red-200\n              focus:outline-none\n              focus:ring-2\n              focus:ring-offset-2\n              focus:ring-red-500\n              sm:text-sm\n            \"\n            @click=\"removeCompany\"\n          >\n            {{ $tc('general.delete') }}\n          </button>\n        </div>\n      </div>\n    </BaseSettingCard>\n  </form>\n  <DeleteCompanyModal />\n</template>\n\n<script setup>\nimport { reactive, ref, inject, computed } from 'vue'\nimport { useGlobalStore } from '@/scripts/admin/stores/global'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\nimport { useI18n } from 'vue-i18n'\nimport { required, minLength, helpers } from '@vuelidate/validators'\nimport { useVuelidate } from '@vuelidate/core'\nimport { useModalStore } from '@/scripts/stores/modal'\nimport DeleteCompanyModal from '@/scripts/admin/components/modal-components/DeleteCompanyModal.vue'\n\nconst companyStore = useCompanyStore()\nconst globalStore = useGlobalStore()\nconst modalStore = useModalStore()\nconst { t } = useI18n()\nconst utils = inject('utils')\n\nlet isSaving = ref(false)\n\nconst companyForm = reactive({\n  name: null,\n  logo: null,\n  address: {\n    address_street_1: '',\n    address_street_2: '',\n    website: '',\n    country_id: null,\n    state: '',\n    city: '',\n    phone: '',\n    zip: '',\n  },\n})\n\nutils.mergeSettings(companyForm, {\n  ...companyStore.selectedCompany,\n})\n\nlet previewLogo = ref([])\nlet logoFileBlob = ref(null)\nlet logoFileName = ref(null)\nconst isCompanyLogoRemoved = ref(false)\n\nif (companyForm.logo) {\n  previewLogo.value.push({\n    image: companyForm.logo,\n  })\n}\n\nconst rules = computed(() => {\n  return {\n    name: {\n      required: helpers.withMessage(t('validation.required'), required),\n      minLength: helpers.withMessage(\n        t('validation.name_min_length'),\n        minLength(3)\n      ),\n    },\n    address: {\n      country_id: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n    },\n  }\n})\n\nconst v$ = useVuelidate(\n  rules,\n  computed(() => companyForm)\n)\n\nglobalStore.fetchCountries()\n\nfunction onFileInputChange(fileName, file, fileCount, fileList) {\n  logoFileName.value = fileList.name\n  logoFileBlob.value = file\n}\n\nfunction onFileInputRemove() {\n  logoFileBlob.value = null\n  isCompanyLogoRemoved.value = true\n}\n\nasync function updateCompanyData() {\n  v$.value.$touch()\n\n  if (v$.value.$invalid) {\n    return true\n  }\n\n  isSaving.value = true\n\n  const res = await companyStore.updateCompany(companyForm)\n\n  if (res.data.data) {\n    if (logoFileBlob.value || isCompanyLogoRemoved.value) {\n      let logoData = new FormData()\n\n      if (logoFileBlob.value) {\n        logoData.append(\n          'company_logo',\n          JSON.stringify({\n            name: logoFileName.value,\n            data: logoFileBlob.value,\n          })\n        )\n      }\n      logoData.append('is_company_logo_removed', isCompanyLogoRemoved.value)\n\n      await companyStore.updateCompanyLogo(logoData)\n      logoFileBlob.value = null\n      isCompanyLogoRemoved.value = false\n    }\n\n    isSaving.value = false\n  }\n  isSaving.value = false\n}\nfunction removeCompany(id) {\n  modalStore.openModal({\n    title: t('settings.company_info.are_you_absolutely_sure'),\n    componentName: 'DeleteCompanyModal',\n    size: 'sm',\n  })\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/settings/CustomFieldsSetting.vue",
    "content": "<template>\n  <BaseSettingCard\n    :title=\"$t('settings.menu_title.custom_fields')\"\n    :description=\"$t('settings.custom_fields.section_description')\"\n  >\n    <template #action>\n      <BaseButton\n        v-if=\"userStore.hasAbilities(abilities.CREATE_CUSTOM_FIELDS)\"\n        variant=\"primary-outline\"\n        @click=\"addCustomField\"\n      >\n        <template #left=\"slotProps\">\n          <BaseIcon :class=\"slotProps.class\" name=\"PlusIcon\" />\n\n          {{ $t('settings.custom_fields.add_custom_field') }}\n        </template>\n      </BaseButton>\n    </template>\n\n    <CustomFieldModal />\n\n    <BaseTable\n      ref=\"table\"\n      :data=\"fetchData\"\n      :columns=\"customFieldsColumns\"\n      class=\"mt-16\"\n    >\n      <template #cell-name=\"{ row }\">\n        {{ row.data.name }}\n        <span class=\"text-xs text-gray-500\"> ({{ row.data.slug }})</span>\n      </template>\n\n      <template #cell-is_required=\"{ row }\">\n        <BaseBadge\n          :bg-color=\"\n            utils.getBadgeStatusColor(row.data.is_required ? 'YES' : 'NO')\n              .bgColor\n          \"\n          :color=\"\n            utils.getBadgeStatusColor(row.data.is_required ? 'YES' : 'NO').color\n          \"\n        >\n          {{\n            row.data.is_required\n              ? $t('settings.custom_fields.yes')\n              : $t('settings.custom_fields.no').replace('_', ' ')\n          }}\n        </BaseBadge>\n      </template>\n\n      <template\n        v-if=\"\n          userStore.hasAbilities([\n            abilities.DELETE_CUSTOM_FIELDS,\n            abilities.EDIT_CUSTOM_FIELDS,\n          ])\n        \"\n        #cell-actions=\"{ row }\"\n      >\n        <CustomFieldDropdown\n          :row=\"row.data\"\n          :table=\"table\"\n          :load-data=\"refreshTable\"\n        />\n      </template>\n    </BaseTable>\n  </BaseSettingCard>\n</template>\n\n<script setup>\nimport { computed, ref, inject } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { useModalStore } from '@/scripts/stores/modal'\nimport { useCustomFieldStore } from '@/scripts/admin/stores/custom-field'\nimport { useUserStore } from '@/scripts/admin/stores/user'\nimport CustomFieldDropdown from '@/scripts/admin/components/dropdowns/CustomFieldIndexDropdown.vue'\nimport CustomFieldModal from '@/scripts/admin/components/modal-components/custom-fields/CustomFieldModal.vue'\nimport abilities from '@/scripts/admin/stub/abilities'\n\nconst modalStore = useModalStore()\nconst customFieldStore = useCustomFieldStore()\nconst userStore = useUserStore()\n\nconst utils = inject('utils')\nconst { t } = useI18n()\n\nconst table = ref(null)\n\nconst customFieldsColumns = computed(() => {\n  return [\n    {\n      key: 'name',\n      label: t('settings.custom_fields.name'),\n      thClass: 'extra',\n      tdClass: 'font-medium text-gray-900',\n    },\n    {\n      key: 'model_type',\n      label: t('settings.custom_fields.model'),\n    },\n    {\n      key: 'type',\n      label: t('settings.custom_fields.type'),\n    },\n    {\n      key: 'is_required',\n      label: t('settings.custom_fields.required'),\n    },\n    {\n      key: 'actions',\n      label: '',\n      tdClass: 'text-right text-sm font-medium',\n      sortable: false,\n    },\n  ]\n})\n\nasync function fetchData({ page, filter, sort }) {\n  let data = {\n    orderByField: sort.fieldName || 'created_at',\n    orderBy: sort.order || 'desc',\n    page,\n  }\n\n  let response = await customFieldStore.fetchCustomFields(data)\n\n  return {\n    data: response.data.data,\n    pagination: {\n      totalPages: response.data.meta.last_page,\n      currentPage: page,\n      limit: 5,\n      totalCount: response.data.meta.total,\n    },\n  }\n}\n\nfunction addCustomField() {\n  modalStore.openModal({\n    title: t('settings.custom_fields.add_custom_field'),\n    componentName: 'CustomFieldModal',\n    size: 'sm',\n    refreshData: table.value && table.value.refresh,\n  })\n}\n\nasync function refreshTable() {\n  table.value && table.value.refresh()\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/settings/ExchangeRateProviderSetting.vue",
    "content": "<template>\n  <ExchangeRateProviderModal />\n  <BaseCard>\n    <div slot=\"header\" class=\"flex flex-wrap justify-between lg:flex-nowrap\">\n      <div>\n        <h6 class=\"text-lg font-medium text-left\">\n          {{ $t('settings.menu_title.exchange_rate') }}\n        </h6>\n        <p\n          class=\"mt-2 text-sm leading-snug text-left text-gray-500\"\n          style=\"max-width: 680px\"\n        >\n          {{ $t('settings.exchange_rate.providers_description') }}\n        </p>\n      </div>\n      <div class=\"mt-4 lg:mt-0 lg:ml-2\">\n        <BaseButton\n          variant=\"primary-outline\"\n          size=\"lg\"\n          @click=\"addExchangeRate\"\n        >\n          <template #left=\"slotProps\">\n            <PlusIcon :class=\"slotProps.class\" />\n          </template>\n          {{ $t('settings.exchange_rate.new_driver') }}\n        </BaseButton>\n      </div>\n    </div>\n\n    <BaseTable ref=\"table\" class=\"mt-16\" :data=\"fetchData\" :columns=\"drivers\">\n      <template #cell-driver=\"{ row }\">\n        <span class=\"capitalize\">{{ row.data.driver.replace('_', ' ') }}</span>\n      </template>\n      <template #cell-active=\"{ row }\">\n        <BaseBadge\n          :bg-color=\"\n            utils.getBadgeStatusColor(row.data.active ? 'YES' : 'NO').bgColor\n          \"\n          :color=\"\n            utils.getBadgeStatusColor(row.data.active ? 'YES' : 'NO').color\n          \"\n        >\n          {{ row.data.active ? 'YES' : 'NO' }}\n        </BaseBadge>\n      </template>\n      <template #cell-actions=\"{ row }\">\n        <BaseDropdown>\n          <template #activator>\n            <div class=\"inline-block\">\n              <DotsHorizontalIcon class=\"w-5 text-gray-500\" />\n            </div>\n          </template>\n\n          <BaseDropdownItem @click=\"editExchangeRate(row.data.id)\">\n            <PencilIcon class=\"h-5 mr-3 text-gray-600\" />\n            {{ $t('general.edit') }}\n          </BaseDropdownItem>\n\n          <BaseDropdownItem @click=\"removeExchangeRate(row.data.id)\">\n            <TrashIcon class=\"h-5 mr-3 text-gray-600\" />\n            {{ $t('general.delete') }}\n          </BaseDropdownItem>\n        </BaseDropdown>\n      </template>\n    </BaseTable>\n  </BaseCard>\n</template>\n\n<script setup>\nimport { useExchangeRateStore } from '@/scripts/admin/stores/exchange-rate'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\nimport { useModalStore } from '@/scripts/stores/modal'\nimport { useDialogStore } from '@/scripts/stores/dialog'\nimport { SaveIcon } from '@heroicons/vue/outline'\nimport { ref, computed, inject, reactive } from 'vue'\nimport ExchangeRateProviderModal from '@/scripts/admin/components/modal-components/ExchangeRateProviderModal.vue'\nimport { useI18n } from 'vue-i18n'\nimport {\n  PlusIcon,\n  DotsHorizontalIcon,\n  PencilIcon,\n  TrashIcon,\n} from '@heroicons/vue/outline'\nimport BaseTable from '@/scripts/components/base/base-table/BaseTable.vue'\n\n// store\n\nconst { tm, t } = useI18n()\nconst companyStore = useCompanyStore()\nconst exchangeRateStore = useExchangeRateStore()\nconst modalStore = useModalStore()\nconst dialogStore = useDialogStore()\n//created\n\n// local state\n\nlet table = ref('')\nconst utils = inject('utils')\nconst drivers = computed(() => {\n  return [\n    {\n      key: 'driver',\n      label: t('settings.exchange_rate.driver'),\n      thClass: 'extra',\n      tdClass: 'font-medium text-gray-900',\n    },\n    {\n      key: 'key',\n      label: t('settings.exchange_rate.key'),\n      thClass: 'extra',\n      tdClass: 'font-medium text-gray-900',\n    },\n    {\n      key: 'active',\n      label: t('settings.exchange_rate.active'),\n      thClass: 'extra',\n      tdClass: 'font-medium text-gray-900',\n    },\n    {\n      key: 'actions',\n      label: '',\n      tdClass: 'text-right text-sm font-medium',\n      sortable: false,\n    },\n  ]\n})\n\nasync function fetchData({ page, sort }) {\n  let data = reactive({\n    orderByField: sort.fieldName || 'created_at',\n    orderBy: sort.order || 'desc',\n    page,\n  })\n\n  let response = await exchangeRateStore.fetchProviders(data)\n\n  return {\n    data: response.data.data,\n    pagination: {\n      totalPages: response.data.meta.last_page,\n      currentPage: page,\n      totalCount: response.data.meta.total,\n      limit: 5,\n    },\n  }\n}\nasync function updateRate() {\n  await exchangeRateStore.updateExchangeRate(\n    exchangeRateStore.currentExchangeRate.rate\n  )\n}\n\nfunction addExchangeRate() {\n  modalStore.openModal({\n    title: t('settings.exchange_rate.new_driver'),\n    componentName: 'ExchangeRateProviderModal',\n    size: 'md',\n    refreshData: table.value && table.value.refresh,\n  })\n}\n\nfunction editExchangeRate(data) {\n  exchangeRateStore.fetchProvider(data)\n  modalStore.openModal({\n    title: t('settings.exchange_rate.edit_driver'),\n    componentName: 'ExchangeRateProviderModal',\n    size: 'md',\n    data: data,\n    refreshData: table.value && table.value.refresh,\n  })\n}\n\nfunction removeExchangeRate(id) {\n  dialogStore\n    .openDialog({\n      title: t('general.are_you_sure'),\n      message: t('settings.exchange_rate.exchange_rate_confirm_delete'),\n      yesLabel: t('general.ok'),\n      noLabel: t('general.cancel'),\n      variant: 'danger',\n      hideNoButton: false,\n      size: 'lg',\n    })\n    .then(async (res) => {\n      if (res) {\n        await exchangeRateStore.deleteExchangeRate(id)\n        table.value && table.value.refresh()\n      }\n    })\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/settings/ExpenseCategorySetting.vue",
    "content": "<template>\n  <CategoryModal />\n\n  <BaseSettingCard\n    :title=\"$t('settings.expense_category.title')\"\n    :description=\"$t('settings.expense_category.description')\"\n  >\n    <template #action>\n      <BaseButton\n        variant=\"primary-outline\"\n        type=\"button\"\n        @click=\"openCategoryModal\"\n      >\n        <template #left=\"slotProps\">\n          <BaseIcon :class=\"slotProps.class\" name=\"PlusIcon\" />\n        </template>\n\n        {{ $t('settings.expense_category.add_new_category') }}\n      </BaseButton>\n    </template>\n\n    <BaseTable\n      ref=\"table\"\n      :data=\"fetchData\"\n      :columns=\"ExpenseCategoryColumns\"\n      class=\"mt-16\"\n    >\n      <template #cell-description=\"{ row }\">\n        <div class=\"w-64\">\n          <p class=\"truncate\">{{ row.data.description }}</p>\n        </div>\n      </template>\n\n      <template #cell-actions=\"{ row }\">\n        <ExpenseCategoryDropdown\n          :row=\"row.data\"\n          :table=\"table\"\n          :load-data=\"refreshTable\"\n        />\n      </template>\n    </BaseTable>\n  </BaseSettingCard>\n</template>\n\n<script setup>\nimport { useDialogStore } from '@/scripts/stores/dialog'\nimport { useCategoryStore } from '@/scripts/admin/stores/category'\nimport { useModalStore } from '@/scripts/stores/modal'\nimport { ref, computed } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport ExpenseCategoryDropdown from '@/scripts/admin/components/dropdowns/ExpenseCategoryIndexDropdown.vue'\nimport CategoryModal from '@/scripts/admin/components/modal-components/CategoryModal.vue'\n\nconst categoryStore = useCategoryStore()\nconst dialogStore = useDialogStore()\nconst modalStore = useModalStore()\n\nconst { t } = useI18n()\n\nconst table = ref(null)\n\nconst ExpenseCategoryColumns = computed(() => {\n  return [\n    {\n      key: 'name',\n      label: t('settings.expense_category.category_name'),\n      thClass: 'extra',\n      tdClass: 'font-medium text-gray-900',\n    },\n    {\n      key: 'description',\n      label: t('settings.expense_category.category_description'),\n      thClass: 'extra',\n      tdClass: 'font-medium text-gray-900',\n    },\n\n    {\n      key: 'actions',\n      label: '',\n      tdClass: 'text-right text-sm font-medium',\n      sortable: false,\n    },\n  ]\n})\n\nasync function fetchData({ page, filter, sort }) {\n  let data = {\n    orderByField: sort.fieldName || 'created_at',\n    orderBy: sort.order || 'desc',\n    page,\n  }\n\n  let response = await categoryStore.fetchCategories(data)\n  return {\n    data: response.data.data,\n    pagination: {\n      totalPages: response.data.meta.last_page,\n      currentPage: page,\n      totalCount: response.data.meta.total,\n      limit: 5,\n    },\n  }\n}\n\nfunction openCategoryModal() {\n  modalStore.openModal({\n    title: t('settings.expense_category.add_category'),\n    componentName: 'CategoryModal',\n    size: 'sm',\n    refreshData: table.value && table.value.refresh,\n  })\n}\n\nasync function refreshTable() {\n  table.value && table.value.refresh()\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/settings/FileDiskSetting.vue",
    "content": "<template>\n  <FileDiskModal />\n\n  <BaseSettingCard\n    :title=\"$tc('settings.disk.title', 1)\"\n    :description=\"$t('settings.disk.description')\"\n  >\n    <template #action>\n      <BaseButton variant=\"primary-outline\" @click=\"openCreateDiskModal\">\n        <template #left=\"slotProps\">\n          <BaseIcon :class=\"slotProps.class\" name=\"PlusIcon\" />\n        </template>\n        {{ $t('settings.disk.new_disk') }}\n      </BaseButton>\n    </template>\n\n    <BaseTable\n      ref=\"table\"\n      class=\"mt-16\"\n      :data=\"fetchData\"\n      :columns=\"fileDiskColumns\"\n    >\n      <template #cell-set_as_default=\"{ row }\">\n        <BaseBadge\n          :bg-color=\"\n            utils.getBadgeStatusColor(row.data.set_as_default ? 'YES' : 'NO')\n              .bgColor\n          \"\n          :color=\"\n            utils.getBadgeStatusColor(row.data.set_as_default ? 'YES' : 'NO')\n              .color\n          \"\n        >\n          {{ row.data.set_as_default ? 'Yes' : 'No'.replace('_', ' ') }}\n        </BaseBadge>\n      </template>\n\n      <template #cell-actions=\"{ row }\">\n        <BaseDropdown v-if=\"isNotSystemDisk(row.data)\">\n          <template #activator>\n            <div class=\"inline-block\">\n              <BaseIcon name=\"DotsHorizontalIcon\" class=\"text-gray-500\" />\n            </div>\n          </template>\n\n          <BaseDropdownItem\n            v-if=\"!row.data.set_as_default\"\n            @click=\"setDefaultDiskData(row.data.id)\"\n          >\n            <BaseIcon class=\"mr-3 tetx-gray-600\" name=\"CheckCircleIcon\" />\n\n            {{ $t('settings.disk.set_default_disk') }}\n          </BaseDropdownItem>\n\n          <BaseDropdownItem\n            v-if=\"row.data.type !== 'SYSTEM'\"\n            @click=\"openEditDiskModal(row.data)\"\n          >\n            <BaseIcon name=\"PencilIcon\" class=\"mr-3 text-gray-600\" />\n\n            {{ $t('general.edit') }}\n          </BaseDropdownItem>\n\n          <BaseDropdownItem\n            v-if=\"row.data.type !== 'SYSTEM' && !row.data.set_as_default\"\n            @click=\"removeDisk(row.data.id)\"\n          >\n            <BaseIcon name=\"TrashIcon\" class=\"mr-3 text-gray-600\" />\n            {{ $t('general.delete') }}\n          </BaseDropdownItem>\n        </BaseDropdown>\n      </template>\n    </BaseTable>\n\n    <BaseDivider class=\"mt-8 mb-2\" />\n\n    <BaseSwitchSection\n      v-model=\"savePdfToDiskField\"\n      :title=\"$t('settings.disk.save_pdf_to_disk')\"\n      :description=\"$t('settings.disk.disk_setting_description')\"\n    />\n  </BaseSettingCard>\n</template>\n\n<script setup>\nimport { useDiskStore } from '@/scripts/admin/stores/disk'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\nimport { useDialogStore } from '@/scripts/stores/dialog'\nimport { useModalStore } from '@/scripts/stores/modal'\nimport { ref, computed, reactive, onMounted, inject } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport FileDiskModal from '@/scripts/admin/components/modal-components/FileDiskModal.vue'\n\nconst utils = inject('utils')\n\nconst modelStore = useModalStore()\nconst diskStore = useDiskStore()\nconst companyStore = useCompanyStore()\nconst dialogStore = useDialogStore()\nconst { t } = useI18n()\n\nlet disk = 'local'\nlet loading = ref(false)\nlet table = ref('')\n\nconst fileDiskColumns = computed(() => {\n  return [\n    {\n      key: 'name',\n      label: t('settings.disk.disk_name'),\n      thClass: 'extra',\n      tdClass: 'font-medium text-gray-900',\n    },\n    {\n      key: 'driver',\n      label: t('settings.disk.filesystem_driver'),\n      thClass: 'extra',\n      tdClass: 'font-medium text-gray-900',\n    },\n    {\n      key: 'type',\n      label: t('settings.disk.disk_type'),\n      thClass: 'extra',\n      tdClass: 'font-medium text-gray-900',\n    },\n\n    {\n      key: 'set_as_default',\n      label: t('settings.disk.is_default'),\n      thClass: 'extra',\n      tdClass: 'font-medium text-gray-900',\n    },\n    {\n      key: 'actions',\n      label: '',\n      tdClass: 'text-right text-sm font-medium',\n      sortable: false,\n    },\n  ]\n})\n\nconst savePdfToDisk = ref(companyStore.selectedCompanySettings.save_pdf_to_disk)\n\nconst savePdfToDiskField = computed({\n  get: () => {\n    return savePdfToDisk.value === 'YES'\n  },\n  set: async (newValue) => {\n    const value = newValue ? 'YES' : 'NO'\n\n    let data = {\n      settings: {\n        save_pdf_to_disk: value,\n      },\n    }\n\n    savePdfToDisk.value = value\n\n    await companyStore.updateCompanySettings({\n      data,\n      message: 'general.setting_updated',\n    })\n  },\n})\n\nasync function fetchData({ page, filter, sort }) {\n  let data = reactive({\n    orderByField: sort.fieldName || 'created_at',\n    orderBy: sort.order || 'desc',\n    page,\n  })\n\n  let response = await diskStore.fetchDisks(data)\n\n  return {\n    data: response.data.data,\n    pagination: {\n      totalPages: response.data.meta.last_page,\n      currentPage: page,\n      totalCount: response.data.meta.total,\n    },\n  }\n}\n\nfunction isNotSystemDisk(disk) {\n  if (!disk.set_as_default) return true\n  if (disk.type == 'SYSTEM' && disk.set_as_default) return false\n  return true\n}\n\nfunction openCreateDiskModal() {\n  modelStore.openModal({\n    title: t('settings.disk.new_disk'),\n    componentName: 'FileDiskModal',\n    variant: 'lg',\n    refreshData: table.value && table.value.refresh,\n  })\n}\n\nfunction openEditDiskModal(data) {\n  modelStore.openModal({\n    title: t('settings.disk.edit_file_disk'),\n    componentName: 'FileDiskModal',\n    variant: 'lg',\n    id: data.id,\n    data: data,\n    refreshData: table.value && table.value.refresh,\n  })\n}\n\nfunction setDefaultDiskData(id) {\n  dialogStore\n    .openDialog({\n      title: t('general.are_you_sure'),\n      message: t('settings.disk.set_default_disk_confirm'),\n      yesLabel: t('general.ok'),\n      noLabel: t('general.cancel'),\n      variant: 'primary',\n      hideNoButton: false,\n      size: 'lg',\n    })\n    .then(async (res) => {\n      if (res) {\n        loading.value = true\n        let data = reactive({\n          set_as_default: true,\n          id,\n        })\n        await diskStore.updateDisk(data).then(() => {\n          table.value && table.value.refresh()\n        })\n      }\n    })\n}\n\nfunction removeDisk(id) {\n  dialogStore\n    .openDialog({\n      title: t('general.are_you_sure'),\n      message: t('settings.disk.confirm_delete'),\n      yesLabel: t('general.ok'),\n      noLabel: t('general.cancel'),\n      variant: 'danger',\n      hideNoButton: false,\n      size: 'lg',\n    })\n    .then(async (res) => {\n      if (res) {\n        let response = await diskStore.deleteFileDisk(id)\n        if (response.data.success) {\n          table.value && table.value.refresh()\n          return true\n        }\n      }\n    })\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/settings/MailConfigSetting.vue",
    "content": "<template>\n  <MailTestModal />\n\n  <BaseSettingCard\n    :title=\"$t('settings.mail.mail_config')\"\n    :description=\"$t('settings.mail.mail_config_desc')\"\n  >\n    <div v-if=\"mailDriverStore && mailDriverStore.mailConfigData\" class=\"mt-14\">\n      <component\n        :is=\"mailDriver\"\n        :config-data=\"mailDriverStore.mailConfigData\"\n        :is-saving=\"isSaving\"\n        :mail-drivers=\"mailDriverStore.mail_drivers\"\n        :is-fetching-initial-data=\"isFetchingInitialData\"\n        @on-change-driver=\"(val) => changeDriver(val)\"\n        @submit-data=\"saveEmailConfig\"\n      >\n        <BaseButton\n          variant=\"primary-outline\"\n          type=\"button\"\n          class=\"ml-2\"\n          :content-loading=\"isFetchingInitialData\"\n          @click=\"openMailTestModal\"\n        >\n          {{ $t('general.test_mail_conf') }}\n        </BaseButton>\n      </component>\n    </div>\n  </BaseSettingCard>\n</template>\n\n<script setup>\nimport Smtp from '@/scripts/admin/views/settings/mail-driver/SmtpMailDriver.vue'\nimport Mailgun from '@/scripts/admin/views/settings/mail-driver/MailgunMailDriver.vue'\nimport Ses from '@/scripts/admin/views/settings/mail-driver/SesMailDriver.vue'\nimport Basic from '@/scripts/admin/views/settings/mail-driver/BasicMailDriver.vue'\nimport { ref, computed } from 'vue'\nimport { useMailDriverStore } from '@/scripts/admin/stores/mail-driver'\nimport { useModalStore } from '@/scripts/stores/modal'\nimport MailTestModal from '@/scripts/admin/components/modal-components/MailTestModal.vue'\nimport { useI18n } from 'vue-i18n'\n\nlet isSaving = ref(false)\nlet isFetchingInitialData = ref(false)\n\nconst mailDriverStore = useMailDriverStore()\nconst modalStore = useModalStore()\nconst { t } = useI18n()\n\nloadData()\nfunction changeDriver(value) {\n  mailDriverStore.mail_driver = value\n  mailDriverStore.mailConfigData.mail_driver = value\n}\n\nasync function loadData() {\n  isFetchingInitialData.value = true\n  Promise.all([\n    await mailDriverStore.fetchMailDrivers(),\n    await mailDriverStore.fetchMailConfig(),\n  ]).then(([res1]) => {\n    isFetchingInitialData.value = false\n  })\n}\n\nconst mailDriver = computed(() => {\n  if (mailDriverStore.mail_driver == 'smtp') return Smtp\n  if (mailDriverStore.mail_driver == 'mailgun') return Mailgun\n  if (mailDriverStore.mail_driver == 'sendmail') return Basic\n  if (mailDriverStore.mail_driver == 'ses') return Ses\n  if (mailDriverStore.mail_driver == 'mail') return Basic\n  return Smtp\n})\n\nasync function saveEmailConfig(value) {\n  try {\n    isSaving.value = true\n    await mailDriverStore.updateMailConfig(value)\n    isSaving.value = false\n    return true\n  } catch (e) {\n    console.error(e)\n  }\n}\n\nfunction openMailTestModal() {\n  modalStore.openModal({\n    title: t('general.test_mail_conf'),\n    componentName: 'MailTestModal',\n    size: 'sm',\n  })\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/settings/NotesSetting.vue",
    "content": "<template>\n  <NoteModal />\n\n  <BaseSettingCard\n    :title=\"$t('settings.customization.notes.title')\"\n    :description=\"$t('settings.customization.notes.description')\"\n  >\n    <template #action>\n      <BaseButton\n        v-if=\"userStore.hasAbilities(abilities.MANAGE_NOTE)\"\n        variant=\"primary-outline\"\n        @click=\"openNoteSelectModal\"\n      >\n        <template #left=\"slotProps\">\n          <BaseIcon :class=\"slotProps.class\" name=\"PlusIcon\" />\n        </template>\n        {{ $t('settings.customization.notes.add_note') }}\n      </BaseButton>\n    </template>\n\n    <BaseTable\n      ref=\"table\"\n      :data=\"fetchData\"\n      :columns=\"notesColumns\"\n      class=\"mt-14\"\n    >\n      <template #cell-actions=\"{ row }\">\n        <NoteDropdown\n          :row=\"row.data\"\n          :table=\"table\"\n          :load-data=\"refreshTable\"\n        />\n      </template>\n    </BaseTable>\n  </BaseSettingCard>\n</template>\n\n<script setup>\nimport { computed, reactive, ref } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { useModalStore } from '@/scripts/stores/modal'\nimport { useDialogStore } from '@/scripts/stores/dialog'\nimport { useNotesStore } from '@/scripts/admin/stores/note'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport NoteDropdown from '@/scripts/admin/components/dropdowns/NoteIndexDropdown.vue'\nimport NoteModal from '@/scripts/admin/components/modal-components/NoteModal.vue'\nimport { useUserStore } from '@/scripts/admin/stores/user'\nimport abilities from '@/scripts/admin/stub/abilities'\n\nconst { t } = useI18n()\n\nconst modalStore = useModalStore()\nconst dialogStore = useDialogStore()\nconst noteStore = useNotesStore()\nconst notificationStore = useNotificationStore()\nconst userStore = useUserStore()\n\nconst table = ref('')\n\nconst notesColumns = computed(() => {\n  return [\n    {\n      key: 'name',\n      label: t('settings.customization.notes.name'),\n      thClass: 'extra',\n      tdClass: 'font-medium text-gray-900',\n    },\n    {\n      key: 'type',\n      label: t('settings.customization.notes.type'),\n      thClass: 'extra',\n      tdClass: 'font-medium text-gray-900',\n    },\n\n    {\n      key: 'actions',\n      label: '',\n      tdClass: 'text-right text-sm font-medium',\n      sortable: false,\n    },\n  ]\n})\n\nasync function fetchData({ page, filter, sort }) {\n  let data = reactive({\n    orderByField: sort.fieldName || 'created_at',\n    orderBy: sort.order || 'desc',\n    page,\n  })\n\n  let response = await noteStore.fetchNotes(data)\n\n  return {\n    data: response.data.data,\n    pagination: {\n      totalPages: response.data.meta.last_page,\n      currentPage: page,\n      totalCount: response.data.meta.total,\n      limit: 5,\n    },\n  }\n}\n\nasync function openNoteSelectModal() {\n  await modalStore.openModal({\n    title: t('settings.customization.notes.add_note'),\n    componentName: 'NoteModal',\n    size: 'md',\n    refreshData: table.value && table.value.refresh,\n  })\n}\n\nasync function refreshTable() {\n  table.value && table.value.refresh()\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/settings/NotificationsSetting.vue",
    "content": "<template>\n  <BaseSettingCard\n    :title=\"$t('settings.notification.title')\"\n    :description=\"$t('settings.notification.description')\"\n  >\n    <form action=\"\" @submit.prevent=\"submitForm\">\n      <div class=\"grid-cols-2 col-span-1 mt-14\">\n        <BaseInputGroup\n          :error=\"\n            v$.notification_email.$error &&\n            v$.notification_email.$errors[0].$message\n          \"\n          :label=\"$t('settings.notification.email')\"\n          class=\"my-2\"\n          required\n        >\n          <BaseInput\n            v-model.trim=\"settingsForm.notification_email\"\n            :invalid=\"v$.notification_email.$error\"\n            type=\"email\"\n            @input=\"v$.notification_email.$touch()\"\n          />\n        </BaseInputGroup>\n\n        <BaseButton\n          :disabled=\"isSaving\"\n          :loading=\"isSaving\"\n          variant=\"primary\"\n          type=\"submit\"\n          class=\"mt-6\"\n        >\n          <template #left=\"slotProps\">\n            <BaseIcon\n              v-if=\"!isSaving\"\n              :class=\"slotProps.class\"\n              name=\"SaveIcon\"\n            />\n          </template>\n\n          {{ $tc('settings.notification.save') }}\n        </BaseButton>\n      </div>\n    </form>\n\n    <BaseDivider class=\"mt-6 mb-2\" />\n\n    <ul class=\"divide-y divide-gray-200\">\n      <BaseSwitchSection\n        v-model=\"invoiceViewedField\"\n        :title=\"$t('settings.notification.invoice_viewed')\"\n        :description=\"$t('settings.notification.invoice_viewed_desc')\"\n      />\n\n      <BaseSwitchSection\n        v-model=\"estimateViewedField\"\n        :title=\"$t('settings.notification.estimate_viewed')\"\n        :description=\"$t('settings.notification.estimate_viewed_desc')\"\n      />\n    </ul>\n  </BaseSettingCard>\n</template>\n\n<script setup>\nimport { ref, onMounted, computed, reactive } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { required, email, helpers } from '@vuelidate/validators'\nimport useVuelidate from '@vuelidate/core'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\n\nconst companyStore = useCompanyStore()\n\nlet isSaving = ref(false)\nconst { t } = useI18n()\n\nconst settingsForm = reactive({\n  notify_invoice_viewed:\n    companyStore.selectedCompanySettings.notify_invoice_viewed,\n  notify_estimate_viewed:\n    companyStore.selectedCompanySettings.notify_estimate_viewed,\n  notification_email: companyStore.selectedCompanySettings.notification_email,\n})\n\nconst rules = computed(() => {\n  return {\n    notification_email: {\n      required: helpers.withMessage(t('validation.required'), required),\n      email: helpers.withMessage(t('validation.email_incorrect'), email),\n    },\n  }\n})\n\nconst v$ = useVuelidate(\n  rules,\n  computed(() => settingsForm)\n)\n\nconst invoiceViewedField = computed({\n  get: () => {\n    return settingsForm.notify_invoice_viewed === 'YES'\n  },\n  set: async (newValue) => {\n    const value = newValue ? 'YES' : 'NO'\n\n    let data = {\n      settings: {\n        notify_invoice_viewed: value,\n      },\n    }\n\n    settingsForm.notify_invoice_viewed = value\n\n    await companyStore.updateCompanySettings({\n      data,\n      message: 'general.setting_updated',\n    })\n  },\n})\n\nconst estimateViewedField = computed({\n  get: () => {\n    return settingsForm.notify_estimate_viewed === 'YES'\n  },\n  set: async (newValue) => {\n    const value = newValue ? 'YES' : 'NO'\n\n    let data = {\n      settings: {\n        notify_estimate_viewed: value,\n      },\n    }\n\n    settingsForm.notify_estimate_viewed = value\n\n    await companyStore.updateCompanySettings({\n      data,\n      message: 'general.setting_updated',\n    })\n  },\n})\n\nasync function submitForm() {\n  v$.value.$touch()\n  if (v$.value.$invalid) {\n    return true\n  }\n\n  isSaving.value = true\n\n  const data = {\n    settings: {\n      notification_email: settingsForm.notification_email,\n    },\n  }\n\n  await companyStore.updateCompanySettings({\n    data,\n    message: 'settings.notification.email_save_message',\n  })\n\n  isSaving.value = false\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/settings/PaymentsModeSetting.vue",
    "content": "<template>\n  <PaymentModeModal />\n\n  <BaseSettingCard\n    :title=\"$t('settings.payment_modes.title')\"\n    :description=\"$t('settings.payment_modes.description')\"\n  >\n    <template #action>\n      <BaseButton\n        type=\"submit\"\n        variant=\"primary-outline\"\n        @click=\"addPaymentMode\"\n      >\n        <template #left=\"slotProps\">\n          <BaseIcon :class=\"slotProps.class\" name=\"PlusIcon\" />\n        </template>\n        {{ $t('settings.payment_modes.add_payment_mode') }}\n      </BaseButton>\n    </template>\n\n    <BaseTable\n      ref=\"table\"\n      :data=\"fetchData\"\n      :columns=\"paymentColumns\"\n      class=\"mt-16\"\n    >\n      <template #cell-actions=\"{ row }\">\n        <PaymentModeDropdown\n          :row=\"row.data\"\n          :table=\"table\"\n          :load-data=\"refreshTable\"\n        />\n      </template>\n    </BaseTable>\n  </BaseSettingCard>\n</template>\n\n<script setup>\nimport { computed, ref } from 'vue'\nimport { useI18n } from 'vue-i18n'\n\nimport { usePaymentStore } from '@/scripts/admin/stores/payment'\nimport { useDialogStore } from '@/scripts/stores/dialog'\nimport { useModalStore } from '@/scripts/stores/modal'\nimport PaymentModeModal from '@/scripts/admin/components/modal-components/PaymentModeModal.vue'\nimport PaymentModeDropdown from '@/scripts/admin/components/dropdowns/PaymentModeIndexDropdown.vue'\n\nconst modalStore = useModalStore()\nconst dialogStore = useDialogStore()\nconst paymentStore = usePaymentStore()\nconst { t } = useI18n()\n\nconst table = ref(null)\n\nconst paymentColumns = computed(() => {\n  return [\n    {\n      key: 'name',\n      label: t('settings.payment_modes.mode_name'),\n      thClass: 'extra',\n      tdClass: 'font-medium text-gray-900',\n    },\n    {\n      key: 'actions',\n      label: '',\n      tdClass: 'text-right text-sm font-medium',\n      sortable: false,\n    },\n  ]\n})\n\nasync function refreshTable() {\n  table.value && table.value.refresh()\n}\n\nasync function fetchData({ page, filter, sort }) {\n  let data = {\n    orderByField: sort.fieldName || 'created_at',\n    orderBy: sort.order || 'desc',\n    page,\n  }\n\n  let response = await paymentStore.fetchPaymentModes(data)\n\n  return {\n    data: response.data.data,\n    pagination: {\n      totalPages: response.data.meta.last_page,\n      currentPage: page,\n      totalCount: response.data.meta.total,\n      limit: 5,\n    },\n  }\n}\n\nfunction addPaymentMode() {\n  modalStore.openModal({\n    title: t('settings.payment_modes.add_payment_mode'),\n    componentName: 'PaymentModeModal',\n    refreshData: table.value && table.value.refresh,\n    size: 'sm',\n  })\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/settings/PreferencesSetting.vue",
    "content": "<template>\n  <form action=\"\" class=\"relative\" @submit.prevent=\"updatePreferencesData\">\n    <BaseSettingCard\n      :title=\"$t('settings.menu_title.preferences')\"\n      :description=\"$t('settings.preferences.general_settings')\"\n    >\n      <BaseInputGrid class=\"mt-5\">\n        <BaseInputGroup\n          :content-loading=\"isFetchingInitialData\"\n          :label=\"$tc('settings.preferences.currency')\"\n          :help-text=\"$t('settings.preferences.company_currency_unchangeable')\"\n          :error=\"v$.currency.$error && v$.currency.$errors[0].$message\"\n          required\n        >\n          <BaseMultiselect\n            v-model=\"settingsForm.currency\"\n            :content-loading=\"isFetchingInitialData\"\n            :options=\"globalStore.currencies\"\n            label=\"name\"\n            value-prop=\"id\"\n            :searchable=\"true\"\n            track-by=\"name\"\n            :invalid=\"v$.currency.$error\"\n            disabled\n            class=\"w-full\"\n          >\n          </BaseMultiselect>\n        </BaseInputGroup>\n\n        <BaseInputGroup\n          :label=\"$tc('settings.preferences.default_language')\"\n          :content-loading=\"isFetchingInitialData\"\n          :error=\"v$.language.$error && v$.language.$errors[0].$message\"\n          required\n        >\n          <BaseMultiselect\n            v-model=\"settingsForm.language\"\n            :content-loading=\"isFetchingInitialData\"\n            :options=\"globalStore.config.languages\"\n            label=\"name\"\n            value-prop=\"code\"\n            class=\"w-full\"\n            track-by=\"name\"\n            :searchable=\"true\"\n            :invalid=\"v$.language.$error\"\n          />\n        </BaseInputGroup>\n\n        <BaseInputGroup\n          :label=\"$tc('settings.preferences.time_zone')\"\n          :content-loading=\"isFetchingInitialData\"\n          :error=\"v$.time_zone.$error && v$.time_zone.$errors[0].$message\"\n          required\n        >\n          <BaseMultiselect\n            v-model=\"settingsForm.time_zone\"\n            :content-loading=\"isFetchingInitialData\"\n            :options=\"globalStore.timeZones\"\n            label=\"key\"\n            value-prop=\"value\"\n            track-by=\"key\"\n            :searchable=\"true\"\n            :invalid=\"v$.time_zone.$error\"\n          />\n        </BaseInputGroup>\n\n        <BaseInputGroup\n          :label=\"$tc('settings.preferences.date_format')\"\n          :content-loading=\"isFetchingInitialData\"\n          :error=\"\n            v$.carbon_date_format.$error &&\n            v$.carbon_date_format.$errors[0].$message\n          \"\n          required\n        >\n          <BaseMultiselect\n            v-model=\"settingsForm.carbon_date_format\"\n            :content-loading=\"isFetchingInitialData\"\n            :options=\"globalStore.dateFormats\"\n            label=\"display_date\"\n            value-prop=\"carbon_format_value\"\n            track-by=\"display_date\"\n            searchable\n            :invalid=\"v$.carbon_date_format.$error\"\n            class=\"w-full\"\n          />\n        </BaseInputGroup>\n\n        <BaseInputGroup\n          :content-loading=\"isFetchingInitialData\"\n          :error=\"v$.fiscal_year.$error && v$.fiscal_year.$errors[0].$message\"\n          :label=\"$tc('settings.preferences.fiscal_year')\"\n          required\n        >\n          <BaseMultiselect\n            v-model=\"settingsForm.fiscal_year\"\n            :content-loading=\"isFetchingInitialData\"\n            :options=\"globalStore.config.fiscal_years\"\n            label=\"key\"\n            value-prop=\"value\"\n            :invalid=\"v$.fiscal_year.$error\"\n            track-by=\"key\"\n            :searchable=\"true\"\n            class=\"w-full\"\n          />\n        </BaseInputGroup>\n      </BaseInputGrid>\n\n      <BaseButton\n        :content-loading=\"isFetchingInitialData\"\n        :disabled=\"isSaving\"\n        :loading=\"isSaving\"\n        type=\"submit\"\n        class=\"mt-6\"\n      >\n        <template #left=\"slotProps\">\n          <BaseIcon name=\"SaveIcon\" :class=\"slotProps.class\" />\n        </template>\n        {{ $tc('settings.company_info.save') }}\n      </BaseButton>\n\n      <BaseDivider class=\"mt-6 mb-2\" />\n\n      <ul>\n        <form @submit.prevent=\"submitData\">\n          <BaseSwitchSection\n            v-model=\"expirePdfField\"\n            :title=\"$t('settings.preferences.expire_public_links')\"\n            :description=\"$t('settings.preferences.expire_setting_description')\"\n          />\n\n          <!--pdf_link_expiry_days -->\n          <BaseInputGroup\n            v-if=\"expirePdfField\"\n            :content-loading=\"isFetchingInitialData\"\n            :label=\"$t('settings.preferences.expire_public_links')\"\n            class=\"mt-2 mb-4\"\n          >\n            <BaseInput\n              v-model=\"settingsForm.link_expiry_days\"\n              :disabled=\"\n                settingsForm.automatically_expire_public_links === 'NO'\n              \"\n              :content-loading=\"isFetchingInitialData\"\n              type=\"number\"\n            />\n          </BaseInputGroup>\n\n          <BaseButton\n            :content-loading=\"isFetchingInitialData\"\n            :disabled=\"isDataSaving\"\n            :loading=\"isDataSaving\"\n            type=\"submit\"\n            class=\"mt-6\"\n          >\n            <template #left=\"slotProps\">\n              <BaseIcon name=\"SaveIcon\" :class=\"slotProps.class\" />\n            </template>\n            {{ $tc('general.save') }}\n          </BaseButton>\n        </form>\n\n        <BaseDivider class=\"mt-6 mb-2\" />\n\n        <BaseSwitchSection\n          v-model=\"discountPerItemField\"\n          :title=\"$t('settings.preferences.discount_per_item')\"\n          :description=\"$t('settings.preferences.discount_setting_description')\"\n        />\n      </ul>\n    </BaseSettingCard>\n  </form>\n</template>\n\n<script setup>\nimport { ref, computed, watch, reactive } from 'vue'\nimport { useGlobalStore } from '@/scripts/admin/stores/global'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\nimport { useI18n } from 'vue-i18n'\nimport { required, helpers } from '@vuelidate/validators'\nimport useVuelidate from '@vuelidate/core'\n\nconst companyStore = useCompanyStore()\nconst globalStore = useGlobalStore()\nconst { t, tm } = useI18n()\n\nlet isSaving = ref(false)\nlet isDataSaving = ref(false)\nlet isFetchingInitialData = ref(false)\n\nconst settingsForm = reactive({ ...companyStore.selectedCompanySettings })\n\nconst retrospectiveEditOptions = computed(() => {\n  return globalStore.config.retrospective_edits.map((option) => {\n    option.title = t(option.key)\n    return option\n  })\n})\n\nwatch(\n  () => settingsForm.carbon_date_format,\n  (val) => {\n    if (val) {\n      const dateFormatObject = globalStore.dateFormats.find((d) => {\n        return d.carbon_format_value === val\n      })\n\n      settingsForm.moment_date_format = dateFormatObject.moment_format_value\n    }\n  }\n)\n\nconst discountPerItemField = computed({\n  get: () => {\n    return settingsForm.discount_per_item === 'YES'\n  },\n  set: async (newValue) => {\n    const value = newValue ? 'YES' : 'NO'\n\n    let data = {\n      settings: {\n        discount_per_item: value,\n      },\n    }\n\n    settingsForm.discount_per_item = value\n\n    await companyStore.updateCompanySettings({\n      data,\n      message: 'general.setting_updated',\n    })\n  },\n})\n\nconst expirePdfField = computed({\n  get: () => {\n    return settingsForm.automatically_expire_public_links === 'YES'\n  },\n  set: async (newValue) => {\n    const value = newValue ? 'YES' : 'NO'\n\n    let data = {\n      settings: {\n        automatically_expire_public_links: value,\n      },\n    }\n\n    settingsForm.automatically_expire_public_links = value\n  },\n})\n\nconst rules = computed(() => {\n  return {\n    currency: {\n      required: helpers.withMessage(t('validation.required'), required),\n    },\n    language: {\n      required: helpers.withMessage(t('validation.required'), required),\n    },\n    carbon_date_format: {\n      required: helpers.withMessage(t('validation.required'), required),\n    },\n    moment_date_format: {\n      required: helpers.withMessage(t('validation.required'), required),\n    },\n    time_zone: {\n      required: helpers.withMessage(t('validation.required'), required),\n    },\n    fiscal_year: {\n      required: helpers.withMessage(t('validation.required'), required),\n    },\n  }\n})\n\nconst v$ = useVuelidate(\n  rules,\n  computed(() => settingsForm)\n)\n\nsetInitialData()\n\nasync function setInitialData() {\n  isFetchingInitialData.value = true\n  Promise.all([\n    globalStore.fetchCurrencies(),\n    globalStore.fetchDateFormats(),\n    globalStore.fetchTimeZones(),\n  ]).then(([res1]) => {\n    isFetchingInitialData.value = false\n  })\n}\n\nasync function updatePreferencesData() {\n  v$.value.$touch()\n  if (v$.value.$invalid) {\n    return\n  }\n\n  let data = {\n    settings: {\n      ...settingsForm,\n    },\n  }\n\n  isSaving.value = true\n  delete data.settings.link_expiry_days\n  let res = await companyStore.updateCompanySettings({\n    data: data,\n    message: 'settings.preferences.updated_message',\n  })\n\n  isSaving.value = false\n}\n\nasync function submitData() {\n  isDataSaving.value = true\n\n  let res = await companyStore.updateCompanySettings({\n    data: {\n      settings: {\n        link_expiry_days: settingsForm.link_expiry_days,\n        automatically_expire_public_links:\n          settingsForm.automatically_expire_public_links,\n      },\n    },\n    message: 'settings.preferences.updated_message',\n  })\n\n  isDataSaving.value = false\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/settings/RolesSettings.vue",
    "content": "<template>\n  <RolesModal />\n\n  <BaseSettingCard\n    :title=\"$t('settings.roles.title')\"\n    :description=\"$t('settings.roles.description')\"\n  >\n    <template v-if=\"userStore.currentUser.is_owner\" #action>\n      <BaseButton variant=\"primary-outline\" @click=\"openRoleModal\">\n        <template #left=\"slotProps\">\n          <BaseIcon name=\"PlusIcon\" :class=\"slotProps.class\" />\n        </template>\n        {{ $t('settings.roles.add_new_role') }}\n      </BaseButton>\n    </template>\n\n    <BaseTable\n      ref=\"table\"\n      :data=\"fetchData\"\n      :columns=\"roleColumns\"\n      class=\"mt-14\"\n    >\n      <!-- Added on  -->\n      <template #cell-created_at=\"{ row }\">\n        {{ row.data.formatted_created_at }}\n      </template>\n\n      <template #cell-actions=\"{ row }\">\n        <RoleDropdown\n          v-if=\"\n            userStore.currentUser.is_owner && row.data.name !== 'super admin'\n          \"\n          :row=\"row.data\"\n          :table=\"table\"\n          :load-data=\"refreshTable\"\n        />\n      </template>\n    </BaseTable>\n  </BaseSettingCard>\n</template>\n\n<script setup>\nimport RoleDropdown from '@/scripts/admin/components/dropdowns/RoleIndexDropdown.vue'\nimport { computed, ref } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { useRoleStore } from '@/scripts/admin/stores/role'\nimport { useModalStore } from '@/scripts/stores/modal'\nimport { useUserStore } from '@/scripts/admin/stores/user'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\nimport RolesModal from '@/scripts/admin/components/modal-components/RolesModal.vue'\nimport abilities from '@/scripts/admin/stub/abilities'\n\nconst modalStore = useModalStore()\nconst roleStore = useRoleStore()\nconst userStore = useUserStore()\nconst companyStore = useCompanyStore()\n\nconst { t } = useI18n()\nconst table = ref(null)\n\nconst roleColumns = computed(() => {\n  return [\n    {\n      key: 'name',\n      label: t('settings.roles.role_name'),\n      thClass: 'extra',\n      tdClass: 'font-medium text-gray-900',\n    },\n    {\n      key: 'created_at',\n      label: t('settings.roles.added_on'),\n      tdClass: 'font-medium text-gray-900',\n    },\n\n    {\n      key: 'actions',\n      label: '',\n      tdClass: 'text-right text-sm font-medium',\n      sortable: false,\n    },\n  ]\n})\n\nasync function fetchData({ page, filter, sort }) {\n  let data = {\n    orderByField: sort.fieldName || 'created_at',\n    orderBy: sort.order || 'desc',\n    company_id: companyStore.selectedCompany.id,\n  }\n\n  let response = await roleStore.fetchRoles(data)\n\n  return {\n    data: response.data.data,\n  }\n}\n\nasync function refreshTable() {\n  table.value && table.value.refresh()\n}\n\nasync function openRoleModal() {\n  await roleStore.fetchAbilities()\n\n  modalStore.openModal({\n    title: t('settings.roles.add_role'),\n    componentName: 'RolesModal',\n    size: 'lg',\n    refreshData: table.value && table.value.refresh,\n  })\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/settings/SettingsIndex.vue",
    "content": "<template>\n  <BasePage>\n    <BasePageHeader :title=\"$tc('settings.setting', 1)\" class=\"mb-6\">\n      <BaseBreadcrumb>\n        <BaseBreadcrumbItem :title=\"$t('general.home')\" to=\"/admin/dashboard\" />\n        <BaseBreadcrumbItem\n          :title=\"$tc('settings.setting', 2)\"\n          to=\"/admin/settings/account-settings\"\n          active\n        />\n      </BaseBreadcrumb>\n    </BasePageHeader>\n\n    <div class=\"w-full mb-6 select-wrapper xl:hidden\">\n      <BaseMultiselect\n        v-model=\"currentSetting\"\n        :options=\"dropdownMenuItems\"\n        :can-deselect=\"false\"\n        value-prop=\"title\"\n        track-by=\"title\"\n        label=\"title\"\n        object\n        @update:modelValue=\"navigateToSetting\"\n      />\n    </div>\n\n    <div class=\"flex\">\n      <div class=\"hidden mt-1 xl:block min-w-[240px]\">\n        <BaseList>\n          <BaseListItem\n            v-for=\"(menuItem, index) in globalStore.settingMenu\"\n            :key=\"index\"\n            :title=\"$t(menuItem.title)\"\n            :to=\"menuItem.link\"\n            :active=\"hasActiveUrl(menuItem.link)\"\n            :index=\"index\"\n            class=\"py-3\"\n          >\n            <template #icon>\n              <BaseIcon :name=\"menuItem.icon\"></BaseIcon>\n            </template>\n          </BaseListItem>\n        </BaseList>\n      </div>\n\n      <div class=\"w-full overflow-hidden\">\n        <RouterView />\n      </div>\n    </div>\n  </BasePage>\n</template>\n\n<script setup>\nimport { ref, reactive, watchEffect, computed } from 'vue'\nimport { useRoute, useRouter } from 'vue-router'\nimport { useGlobalStore } from '@/scripts/admin/stores/global'\nimport BaseList from '@/scripts/components/list/BaseList.vue'\nimport BaseListItem from '@/scripts/components/list/BaseListItem.vue'\nimport { useI18n } from 'vue-i18n'\nconst { t } = useI18n()\n\nlet currentSetting = ref({})\n\nconst globalStore = useGlobalStore()\nconst route = useRoute()\nconst router = useRouter()\n\nconst dropdownMenuItems = computed(() => {\n  return globalStore.settingMenu.map((item) => {\n    return Object.assign({}, item, {\n      title: t(item.title),\n    })\n  })\n})\n\nwatchEffect(() => {\n  if (route.path === '/admin/settings') {\n    router.push('/admin/settings/account-settings')\n  }\n\n  const item = dropdownMenuItems.value.find((item) => {\n    return item.link === route.path\n  })\n\n  currentSetting.value = item\n})\n\nfunction hasActiveUrl(url) {\n  return route.path.indexOf(url) > -1\n}\n\nfunction navigateToSetting(setting) {\n  return router.push(setting.link)\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/settings/TaxTypesSetting.vue",
    "content": "<template>\n  <BaseSettingCard\n    :title=\"$t('settings.tax_types.title')\"\n    :description=\"$t('settings.tax_types.description')\"\n  >\n    <TaxTypeModal />\n\n    <template v-if=\"userStore.hasAbilities(abilities.CREATE_TAX_TYPE)\" #action>\n      <BaseButton type=\"submit\" variant=\"primary-outline\" @click=\"openTaxModal\">\n        <template #left=\"slotProps\">\n          <BaseIcon :class=\"slotProps.class\" name=\"PlusIcon\" />\n        </template>\n        {{ $t('settings.tax_types.add_new_tax') }}\n      </BaseButton>\n    </template>\n\n    <BaseTable\n      ref=\"table\"\n      class=\"mt-16\"\n      :data=\"fetchData\"\n      :columns=\"taxTypeColumns\"\n    >\n      <template #cell-compound_tax=\"{ row }\">\n        <BaseBadge\n          :bg-color=\"\n            utils.getBadgeStatusColor(row.data.compound_tax ? 'YES' : 'NO')\n              .bgColor\n          \"\n          :color=\"\n            utils.getBadgeStatusColor(row.data.compound_tax ? 'YES' : 'NO')\n              .color\n          \"\n        >\n          {{ row.data.compound_tax ? 'Yes' : 'No'.replace('_', ' ') }}\n        </BaseBadge>\n      </template>\n\n      <template #cell-percent=\"{ row }\"> {{ row.data.percent }} % </template>\n\n      <template v-if=\"hasAtleastOneAbility()\" #cell-actions=\"{ row }\">\n        <TaxTypeDropdown\n          :row=\"row.data\"\n          :table=\"table\"\n          :load-data=\"refreshTable\"\n        />\n      </template>\n    </BaseTable>\n    <div v-if=\"userStore.currentUser.is_owner\">\n      <BaseDivider class=\"mt-8 mb-2\" />\n\n      <BaseSwitchSection\n        v-model=\"taxPerItemField\"\n        :disabled=\"salesTaxEnabled\"\n        :title=\"$t('settings.tax_types.tax_per_item')\"\n        :description=\"$t('settings.tax_types.tax_setting_description')\"\n      />\n    </div>\n  </BaseSettingCard>\n</template>\n\n<script setup>\nimport { useTaxTypeStore } from '@/scripts/admin/stores/tax-type'\nimport { useModalStore } from '@/scripts/stores/modal'\nimport { computed, reactive, ref, inject } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\nimport { useUserStore } from '@/scripts/admin/stores/user'\nimport { useModuleStore } from '@/scripts/admin/stores/module'\n\nimport TaxTypeDropdown from '@/scripts/admin/components/dropdowns/TaxTypeIndexDropdown.vue'\nimport TaxTypeModal from '@/scripts/admin/components/modal-components/TaxTypeModal.vue'\nimport abilities from '@/scripts/admin/stub/abilities'\n\nconst { t } = useI18n()\nconst utils = inject('utils')\n\nconst companyStore = useCompanyStore()\nconst taxTypeStore = useTaxTypeStore()\nconst modalStore = useModalStore()\nconst userStore = useUserStore()\nconst moduleStore = useModuleStore()\n\nconst table = ref(null)\nconst taxPerItemSetting = ref(companyStore.selectedCompanySettings.tax_per_item)\n\nconst taxTypeColumns = computed(() => {\n  return [\n    {\n      key: 'name',\n      label: t('settings.tax_types.tax_name'),\n      thClass: 'extra',\n      tdClass: 'font-medium text-gray-900',\n    },\n    {\n      key: 'compound_tax',\n      label: t('settings.tax_types.compound_tax'),\n      tdClass: 'font-medium text-gray-900',\n    },\n    {\n      key: 'percent',\n      label: t('settings.tax_types.percent'),\n      thClass: 'extra',\n      tdClass: 'font-medium text-gray-900',\n    },\n    {\n      key: 'actions',\n      label: '',\n      tdClass: 'text-right text-sm font-medium',\n      sortable: false,\n    },\n  ]\n})\n\nconst salesTaxEnabled = computed(() => {\n  return (\n    companyStore.selectedCompanySettings.sales_tax_us_enabled === 'YES' &&\n    moduleStore.salesTaxUSEnabled\n  )\n})\n\nconst taxPerItemField = computed({\n  get: () => {\n    return taxPerItemSetting.value === 'YES'\n  },\n  set: async (newValue) => {\n    const value = newValue ? 'YES' : 'NO'\n\n    let data = {\n      settings: {\n        tax_per_item: value,\n      },\n    }\n\n    taxPerItemSetting.value = value\n\n    await companyStore.updateCompanySettings({\n      data,\n      message: 'general.setting_updated',\n    })\n  },\n})\n\nfunction hasAtleastOneAbility() {\n  return userStore.hasAbilities([\n    abilities.DELETE_TAX_TYPE,\n    abilities.EDIT_TAX_TYPE,\n  ])\n}\n\nasync function fetchData({ page, filter, sort }) {\n  let data = {\n    orderByField: sort.fieldName || 'created_at',\n    orderBy: sort.order || 'desc',\n    page,\n  }\n\n  let response = await taxTypeStore.fetchTaxTypes(data)\n\n  return {\n    data: response.data.data,\n    pagination: {\n      totalPages: response.data.meta.last_page,\n      currentPage: page,\n      totalCount: response.data.meta.total,\n      limit: 5,\n    },\n  }\n}\n\nasync function refreshTable() {\n  table.value && table.value.refresh()\n}\n\nfunction openTaxModal() {\n  modalStore.openModal({\n    title: t('settings.tax_types.add_tax'),\n    componentName: 'TaxTypeModal',\n    size: 'sm',\n    refreshData: table.value && table.value.refresh,\n  })\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/settings/UpdateAppSetting.vue",
    "content": "<template>\n  <BaseSettingCard\n    :title=\"$t('settings.update_app.title')\"\n    :description=\"$t('settings.update_app.description')\"\n  >\n    <div class=\"pb-8 ml-0\">\n      <label class=\"text-sm not-italic font-medium input-label\">\n        {{ $t('settings.update_app.current_version') }}\n      </label>\n\n      <div\n        class=\"\n          box-border\n          flex\n          w-16\n          p-3\n          my-2\n          text-sm text-gray-600\n          bg-gray-200\n          border border-gray-200 border-solid\n          rounded-md\n          version\n        \"\n      >\n        {{ currentVersion }}\n      </div>\n\n      <BaseButton\n        :loading=\"isCheckingforUpdate\"\n        :disabled=\"isCheckingforUpdate || isUpdating\"\n        variant=\"primary-outline\"\n        class=\"mt-6\"\n        @click=\"checkUpdate\"\n      >\n        {{ $t('settings.update_app.check_update') }}\n      </BaseButton>\n\n      <BaseDivider v-if=\"isUpdateAvailable\" class=\"mt-6 mb-4\" />\n\n      <div v-show=\"!isUpdating\" v-if=\"isUpdateAvailable\" class=\"mt-4 content\">\n        <BaseHeading type=\"heading-title\" class=\"mb-2\">\n          {{ $t('settings.update_app.avail_update') }}\n        </BaseHeading>\n\n        <div class=\"rounded-md bg-primary-50 p-4 mb-3\">\n          <div class=\"flex\">\n            <div class=\"shrink-0\">\n              <BaseIcon\n                name=\"InformationCircleIcon\"\n                class=\"h-5 w-5 text-primary-400\"\n                aria-hidden=\"true\"\n              />\n            </div>\n            <div class=\"ml-3\">\n              <h3 class=\"text-sm font-medium text-primary-800\">\n                {{ $t('general.note') }}\n              </h3>\n              <div class=\"mt-2 text-sm text-primary-700\">\n                <p>\n                  {{ $t('settings.update_app.update_warning') }}\n                </p>\n              </div>\n            </div>\n          </div>\n        </div>\n\n        <label class=\"text-sm not-italic font-medium input-label\">\n          {{ $t('settings.update_app.next_version') }}\n        </label>\n        <br />\n        <div\n          class=\"\n            box-border\n            flex\n            w-16\n            p-3\n            my-2\n            text-sm text-gray-600\n            bg-gray-200\n            border border-gray-200 border-solid\n            rounded-md\n            version\n          \"\n        >\n          {{ updateData.version }}\n        </div>\n\n        <div\n          class=\"\n            pl-5\n            mt-4\n            mb-8\n            text-sm\n            leading-snug\n            text-gray-500\n            update-description\n          \"\n          style=\"white-space: pre-wrap; max-width: 480px\"\n          v-html=\"description\"\n        ></div>\n\n        <label class=\"text-sm not-italic font-medium input-label\">\n          {{ $t('settings.update_app.requirements') }}\n        </label>\n\n        <table class=\"w-1/2 mt-2 border-2 border-gray-200 BaseTable-fixed\">\n          <tr\n            v-for=\"(ext, i) in requiredExtentions\"\n            :key=\"i\"\n            class=\"p-2 border-2 border-gray-200\"\n          >\n            <td width=\"70%\" class=\"p-2 text-sm truncate\">\n              {{ i }}\n            </td>\n            <td width=\"30%\" class=\"p-2 text-sm text-right\">\n              <span\n                v-if=\"ext\"\n                class=\"inline-block w-4 h-4 ml-3 mr-2 bg-green-500 rounded-full\"\n              />\n              <span\n                v-else\n                class=\"inline-block w-4 h-4 ml-3 mr-2 bg-red-500 rounded-full\"\n              />\n            </td>\n          </tr>\n        </table>\n\n        <BaseButton class=\"mt-10\" variant=\"primary\" @click=\"onUpdateApp\">\n          {{ $t('settings.update_app.update') }}\n        </BaseButton>\n      </div>\n\n      <div v-if=\"isUpdating\" class=\"relative flex justify-between mt-4 content\">\n        <div>\n          <h6 class=\"m-0 mb-3 font-medium sw-section-title\">\n            {{ $t('settings.update_app.update_progress') }}\n          </h6>\n          <p\n            class=\"mb-8 text-sm leading-snug text-gray-500\"\n            style=\"max-width: 480px\"\n          >\n            {{ $t('settings.update_app.progress_text') }}\n          </p>\n        </div>\n        <LoadingIcon\n          class=\"absolute right-0 h-6 m-1 animate-spin text-primary-400\"\n        />\n      </div>\n      <ul v-if=\"isUpdating\" class=\"w-full p-0 list-none\">\n        <li\n          v-for=\"step in updateSteps\"\n          :key=\"step.stepUrl\"\n          class=\"\n            flex\n            justify-between\n            w-full\n            py-3\n            border-b border-gray-200 border-solid\n            last:border-b-0\n          \"\n        >\n          <p class=\"m-0 text-sm leading-8\">{{ $t(step.translationKey) }}</p>\n          <div class=\"flex flex-row items-center\">\n            <span v-if=\"step.time\" class=\"mr-3 text-xs text-gray-500\">\n              {{ step.time }}\n            </span>\n            <span\n              :class=\"statusClass(step)\"\n              class=\"block py-1 text-sm text-center uppercase rounded-full\"\n              style=\"width: 88px\"\n            >\n              {{ getStatus(step) }}\n            </span>\n          </div>\n        </li>\n      </ul>\n    </div>\n  </BaseSettingCard>\n</template>\n\n<script setup>\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport axios from 'axios'\nimport LoadingIcon from '@/scripts/components/icons/LoadingIcon.vue'\nimport { reactive, ref, onMounted, computed } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { handleError } from '@/scripts/helpers/error-handling'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\nimport { useExchangeRateStore } from '@/scripts/admin/stores/exchange-rate'\nimport { useDialogStore } from '@/scripts/stores/dialog'\n\nconst notificationStore = useNotificationStore()\nconst dialogStore = useDialogStore()\nconst { t, tm } = useI18n()\nconst comapnyStore = useCompanyStore()\nconst exchangeRateStore = useExchangeRateStore()\n\nlet isUpdateAvailable = ref(false)\nlet isCheckingforUpdate = ref(false)\nlet description = ref('')\nlet currentVersion = ref('')\nlet requiredExtentions = ref(null)\nlet deletedFiles = ref(null)\nlet isUpdating = ref(false)\n\nconst updateSteps = reactive([\n  {\n    translationKey: 'settings.update_app.download_zip_file',\n    stepUrl: '/api/v1/update/download',\n    time: null,\n    started: false,\n    completed: false,\n  },\n  {\n    translationKey: 'settings.update_app.unzipping_package',\n    stepUrl: '/api/v1/update/unzip',\n    time: null,\n    started: false,\n    completed: false,\n  },\n  {\n    translationKey: 'settings.update_app.copying_files',\n    stepUrl: '/api/v1/update/copy',\n    time: null,\n    started: false,\n    completed: false,\n  },\n  {\n    translationKey: 'settings.update_app.deleting_files',\n    stepUrl: '/api/v1/update/delete',\n    time: null,\n    started: false,\n    completed: false,\n  },\n  {\n    translationKey: 'settings.update_app.running_migrations',\n    stepUrl: '/api/v1/update/migrate',\n    time: null,\n    started: false,\n    completed: false,\n  },\n  {\n    translationKey: 'settings.update_app.finishing_update',\n    stepUrl: '/api/v1/update/finish',\n    time: null,\n    started: false,\n    completed: false,\n  },\n])\n\nconst updateData = reactive({\n  isMinor: Boolean,\n  installed: '',\n  version: '',\n})\n\nlet minPhpVesrion = ref(null)\n\nwindow.addEventListener('beforeunload', (event) => {\n  if (isUpdating.value) {\n    event.returnValue = 'Update is in progress!'\n  }\n})\n\n// Created\n\naxios.get('/api/v1/app/version').then((res) => {\n  currentVersion.value = res.data.version\n})\n\n// comapnyStore\n//   .fetchCompanySettings(['bulk_exchange_rate_configured'])\n//   .then((res) => {\n//     isExchangeRateUpdated.value =\n//       res.data.bulk_exchange_rate_configured === 'YES'\n//   })\n\n// Comuted props\n\nconst allowToUpdate = computed(() => {\n  if (requiredExtentions.value !== null) {\n    return Object.keys(requiredExtentions.value).every((k) => {\n      return requiredExtentions.value[k]\n    })\n  }\n  return true\n})\n\nfunction statusClass(step) {\n  const status = getStatus(step)\n\n  switch (status) {\n    case 'pending':\n      return 'text-primary-800 bg-gray-200'\n    case 'finished':\n      return 'text-teal-500 bg-teal-100'\n    case 'running':\n      return 'text-blue-400 bg-blue-100'\n    case 'error':\n      return 'text-danger bg-red-200'\n    default:\n      return ''\n  }\n}\n\nasync function checkUpdate() {\n  try {\n    isCheckingforUpdate.value = true\n    let response = await axios.get('/api/v1/check/update')\n    isCheckingforUpdate.value = false\n    if (!response.data.version) {\n      notificationStore.showNotification({\n        title: 'Info!',\n        type: 'info',\n        message: t('settings.update_app.latest_message'),\n      })\n      return\n    }\n\n    if (response.data) {\n      updateData.isMinor = response.data.is_minor\n      updateData.version = response.data.version.version\n      description.value = response.data.version.description\n      requiredExtentions.value = response.data.version.extensions\n      isUpdateAvailable.value = true\n      minPhpVesrion.value = response.data.version.minimum_php_version\n      deletedFiles.value = response.data.version.deleted_files\n    }\n  } catch (e) {\n    isUpdateAvailable.value = false\n    isCheckingforUpdate.value = false\n    handleError(e)\n  }\n}\n\nfunction onUpdateApp() {\n  dialogStore\n    .openDialog({\n      title: t('general.are_you_sure'),\n      message: t('settings.update_app.update_warning'),\n      yesLabel: t('general.ok'),\n      noLabel: t('general.cancel'),\n      variant: 'danger',\n      hideNoButton: false,\n      size: 'lg',\n    })\n    .then(async (res) => {\n      if (res) {\n        let path = null\n        if (!allowToUpdate.value) {\n          notificationStore.showNotification({\n            type: 'error',\n            message:\n              'Your current configuration does not match the update requirements. Please try again after all the requirements are fulfilled.',\n          })\n          return true\n        }\n        for (let index = 0; index < updateSteps.length; index++) {\n          let currentStep = updateSteps[index]\n          try {\n            isUpdating.value = true\n            currentStep.started = true\n            let updateParams = {\n              version: updateData.version,\n              installed: currentVersion.value,\n              deleted_files: deletedFiles.value,\n              path: path || null,\n            }\n\n            let requestResponse = await axios.post(\n              currentStep.stepUrl,\n              updateParams\n            )\n            currentStep.completed = true\n            if (requestResponse.data && requestResponse.data.path) {\n              path = requestResponse.data.path\n            }\n            // on finish\n\n            if (\n              currentStep.translationKey ==\n              'settings.update_app.finishing_update'\n            ) {\n              isUpdating.value = false\n              notificationStore.showNotification({\n                type: 'success',\n                message: t('settings.update_app.update_success'),\n              })\n\n              setTimeout(() => {\n                location.reload()\n              }, 3000)\n            }\n          } catch (error) {\n            currentStep.started = false\n            currentStep.completed = true\n            handleError(error)\n            onUpdateFailed(currentStep.translationKey)\n            return false\n          }\n        }\n      }\n    })\n}\n\nfunction onUpdateFailed(translationKey) {\n  let stepName = t(translationKey)\n  if (stepName.value) {\n    onUpdateApp()\n    return\n  }\n  isUpdating.value = false\n}\n\nfunction getStatus(step) {\n  if (step.started && step.completed) {\n    return 'finished'\n  } else if (step.started && !step.completed) {\n    return 'running'\n  } else if (!step.started && !step.completed) {\n    return 'pending'\n  } else {\n    return 'error'\n  }\n}\n</script>\n\n<style>\n.update-description ul {\n  list-style: disc !important;\n}\n\n.update-description li {\n  margin-bottom: 4px;\n}\n</style>\n"
  },
  {
    "path": "resources/scripts/admin/views/settings/customization/CustomizationSetting.vue",
    "content": "<template>\n  <div class=\"relative\">\n    <BaseCard container-class=\"px-4 py-5 sm:px-8 sm:py-2\">\n      <BaseTabGroup>\n        <BaseTab\n          tab-panel-container=\"py-4 mt-px\"\n          :title=\"$t('settings.customization.invoices.title')\"\n        >\n          <InvoicesTab />\n        </BaseTab>\n\n        <BaseTab\n          tab-panel-container=\"py-4 mt-px\"\n          :title=\"$t('settings.customization.estimates.title')\"\n        >\n          <EstimatesTab />\n        </BaseTab>\n\n        <BaseTab\n          tab-panel-container=\"py-4 mt-px\"\n          :title=\"$t('settings.customization.payments.title')\"\n        >\n          <PaymentsTab />\n        </BaseTab>\n\n        <BaseTab\n          tab-panel-container=\"py-4 mt-px\"\n          :title=\"$t('settings.customization.items.title')\"\n        >\n          <ItemsTab />\n        </BaseTab>\n      </BaseTabGroup>\n    </BaseCard>\n  </div>\n</template>\n\n<script setup>\nimport InvoicesTab from '@/scripts/admin/views/settings/customization/invoices/InvoicesTab.vue'\nimport EstimatesTab from '@/scripts/admin/views/settings/customization/estimates/EstimatesTab.vue'\nimport PaymentsTab from '@/scripts/admin/views/settings/customization/payments/PaymentsTab.vue'\nimport ItemsTab from '@/scripts/admin/views/settings/customization/items/ItemsTab.vue'\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/settings/customization/NumberCustomizer.vue",
    "content": "<template>\n  <h6 class=\"text-gray-900 text-lg font-medium\">\n    {{ $t(`settings.customization.${type}s.${type}_number_format`) }}\n  </h6>\n  <p class=\"mt-1 text-sm text-gray-500\">\n    {{\n      $t(`settings.customization.${type}s.${type}_number_format_description`)\n    }}\n  </p>\n\n  <div class=\"overflow-x-auto\">\n    <table class=\"w-full mt-6 table-fixed\">\n      <colgroup>\n        <col style=\"width: 4%\" />\n        <col style=\"width: 45%\" />\n        <col style=\"width: 27%\" />\n        <col style=\"width: 24%\" />\n      </colgroup>\n\n      <thead>\n        <tr>\n          <th\n            class=\"\n              px-5\n              py-3\n              text-sm\n              not-italic\n              font-medium\n              leading-5\n              text-left text-gray-700\n              border-t border-b border-gray-200 border-solid\n            \"\n          ></th>\n          <th\n            class=\"\n              px-5\n              py-3\n              text-sm\n              not-italic\n              font-medium\n              leading-5\n              text-left text-gray-700\n              border-t border-b border-gray-200 border-solid\n            \"\n          >\n            Component\n          </th>\n          <th\n            class=\"\n              px-5\n              py-3\n              text-sm\n              not-italic\n              font-medium\n              leading-5\n              text-left text-gray-700\n              border-t border-b border-gray-200 border-solid\n            \"\n          >\n            Parameter\n          </th>\n          <th\n            class=\"\n              px-5\n              py-3\n              text-sm\n              not-italic\n              font-medium\n              leading-5\n              text-left text-gray-700\n              border-t border-b border-gray-200 border-solid\n            \"\n          ></th>\n        </tr>\n      </thead>\n      <draggable\n        v-model=\"selectedFields\"\n        class=\"divide-y divide-gray-200\"\n        item-key=\"id\"\n        tag=\"tbody\"\n        handle=\".handle\"\n        filter=\".ignore-element\"\n      >\n        <template #item=\"{ element }\">\n          <tr class=\"relative\">\n            <td class=\"text-gray-300 cursor-move handle align-middle\">\n              <DragIcon />\n            </td>\n            <td class=\"px-5 py-4\">\n              <label\n                class=\"\n                  block\n                  text-sm\n                  not-italic\n                  font-medium\n                  text-primary-800\n                  whitespace-nowrap\n                  mr-2\n                  min-w-[200px]\n                \"\n              >\n                {{ element.label }}\n              </label>\n\n              <p class=\"text-xs text-gray-500 mt-1\">\n                {{ element.description }}\n              </p>\n            </td>\n            <td class=\"px-5 py-4 text-left align-middle\">\n              <BaseInputGroup\n                :label=\"element.paramLabel\"\n                class=\"lg:col-span-3\"\n                required\n              >\n                <BaseInput\n                  v-model=\"element.value\"\n                  :disabled=\"element.inputDisabled\"\n                  :type=\"element.inputType\"\n                  @update:modelValue=\"onUpdate($event, element)\"\n                />\n              </BaseInputGroup>\n            </td>\n\n            <td class=\"px-5 py-4 text-right align-middle pt-10\">\n              <BaseButton\n                variant=\"white\"\n                @click.prevent=\"removeComponent(element)\"\n              >\n                Remove\n                <template #left=\"slotProps\">\n                  <BaseIcon\n                    name=\"XIcon\"\n                    class=\"!sm:m-0\"\n                    :class=\"slotProps.class\"\n                  />\n                </template>\n              </BaseButton>\n            </td>\n          </tr>\n        </template>\n        <template #footer>\n          <tr>\n            <td colspan=\"2\" class=\"px-5 py-4\">\n              <BaseInputGroup\n                :label=\"\n                  $t(`settings.customization.${type}s.preview_${type}_number`)\n                \"\n              >\n                <BaseInput\n                  v-model=\"nextNumber\"\n                  disabled\n                  :loading=\"isFetchingNextNumber\"\n                />\n              </BaseInputGroup>\n            </td>\n            <td class=\"px-5 py-4 text-right align-middle\" colspan=\"2\">\n              <BaseDropdown wrapper-class=\"flex items-center justify-end mt-5\">\n                <template #activator>\n                  <BaseButton variant=\"primary-outline\">\n                    <template #left=\"slotProps\">\n                      <BaseIcon :class=\"slotProps.class\" name=\"PlusIcon\" />\n                    </template>\n\n                    {{ $t('settings.customization.add_new_component') }}\n                  </BaseButton>\n                </template>\n\n                <BaseDropdownItem\n                  v-for=\"field in computedFields\"\n                  :key=\"field.label\"\n                  @click.prevent=\"onSelectField(field)\"\n                >\n                  {{ field.label }}\n                </BaseDropdownItem>\n              </BaseDropdown>\n            </td>\n          </tr>\n        </template>\n      </draggable>\n    </table>\n  </div>\n\n  <BaseButton\n    :loading=\"isSaving\"\n    :disabled=\"isSaving\"\n    variant=\"primary\"\n    type=\"submit\"\n    class=\"mt-4\"\n    @click=\"submitForm\"\n  >\n    <template #left=\"slotProps\">\n      <BaseIcon v-if=\"!isSaving\" :class=\"slotProps.class\" name=\"SaveIcon\" />\n    </template>\n    {{ $t('settings.customization.save') }}\n  </BaseButton>\n</template>\n\n<script setup>\nimport { ref, computed, reactive, watch } from 'vue'\nimport { useDebounceFn } from '@vueuse/core'\nimport { useI18n } from 'vue-i18n'\nimport draggable from 'vuedraggable'\nimport Guid from 'guid'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\nimport { useGlobalStore } from '@/scripts/admin/stores/global'\n\nimport DragIcon from '@/scripts/components/icons/DragIcon.vue'\n\nconst props = defineProps({\n  type: {\n    type: String,\n    required: true,\n  },\n  typeStore: {\n    type: Object,\n    required: true,\n  },\n  defaultSeries: {\n    type: String,\n    default: 'INV',\n  },\n})\n\nconst { t } = useI18n()\nconst companyStore = useCompanyStore()\nconst globalStore = useGlobalStore()\n\nconst selectedFields = ref([])\nconst isSaving = ref(false)\n\nconst allFields = ref([\n  {\n    label: t('settings.customization.series'),\n    description: t('settings.customization.series_description'),\n    name: 'SERIES',\n    paramLabel: t('settings.customization.series_param_label'),\n    value: props.defaultSeries,\n    inputDisabled: false,\n    inputType: 'text',\n    allowMultiple: false,\n  },\n  {\n    label: t('settings.customization.sequence'),\n    description: t('settings.customization.sequence_description'),\n    name: 'SEQUENCE',\n    paramLabel: t('settings.customization.sequence_param_label'),\n    value: '6',\n    inputDisabled: false,\n    inputType: 'number',\n    allowMultiple: false,\n  },\n  {\n    label: t('settings.customization.delimiter'),\n    description: t('settings.customization.delimiter_description'),\n    name: 'DELIMITER',\n    paramLabel: t('settings.customization.delimiter_param_label'),\n    value: '-',\n    inputDisabled: false,\n    inputType: 'text',\n    allowMultiple: true,\n  },\n  {\n    label: t('settings.customization.customer_series'),\n    description: t('settings.customization.customer_series_description'),\n    name: 'CUSTOMER_SERIES',\n    paramLabel: '',\n    value: '',\n    inputDisabled: true,\n    inputType: 'text',\n    allowMultiple: false,\n  },\n  {\n    label: t('settings.customization.customer_sequence'),\n    description: t('settings.customization.customer_sequence_description'),\n    name: 'CUSTOMER_SEQUENCE',\n    paramLabel: t('settings.customization.customer_sequence_param_label'),\n    value: '6',\n    inputDisabled: false,\n    inputType: 'number',\n    allowMultiple: false,\n  },\n  {\n    label: t('settings.customization.date_format'),\n    description: t('settings.customization.date_format_description'),\n    name: 'DATE_FORMAT',\n    paramLabel: t('settings.customization.date_format_param_label'),\n    value: 'Y',\n    inputDisabled: false,\n    inputType: 'text',\n    allowMultiple: true,\n  },\n  {\n    label: t('settings.customization.random_sequence'),\n    description: t('settings.customization.random_sequence_description'),\n    name: 'RANDOM_SEQUENCE',\n    paramLabel: t('settings.customization.random_sequence_param_label'),\n    value: '6',\n    inputDisabled: false,\n    inputType: 'number',\n    allowMultiple: false,\n  },\n])\n\nconst computedFields = computed(() => {\n  return allFields.value.filter(function (obj) {\n    return !selectedFields.value.some(function (obj2) {\n      if (obj.allowMultiple) {\n        return false\n      }\n\n      return obj.name == obj2.name\n    })\n  })\n})\n\nconst nextNumber = ref('')\nconst isFetchingNextNumber = ref(false)\nconst isLoadingPlaceholders = ref(false)\n\nconst getNumberFormat = computed(() => {\n  let format = ''\n\n  selectedFields.value.forEach((field) => {\n    let fieldString = `{{${field.name}`\n\n    if (field.value) {\n      fieldString += `:${field.value}`\n    }\n\n    format += `${fieldString}}}`\n  })\n\n  return format\n})\n\nwatch(selectedFields, (val) => {\n  fetchNextNumber()\n})\n\nsetInitialFields()\n\nasync function setInitialFields() {\n  let data = {\n    format: companyStore.selectedCompanySettings[`${props.type}_number_format`],\n  }\n\n  isLoadingPlaceholders.value = true\n\n  let res = await globalStore.fetchPlaceholders(data)\n\n  res.data.placeholders.forEach((placeholder) => {\n    let found = allFields.value.find((field) => {\n      return field.name === placeholder.name\n    })\n\n    const value = placeholder.value ?? ''\n\n    selectedFields.value.push({ ...found, value, id: Guid.raw() })\n  })\n\n  isLoadingPlaceholders.value = false\n\n  fetchNextNumber()\n}\n\nfunction isFieldAdded(field) {\n  return selectedFields.value.find((v) => v.name === field.name)\n}\n\nfunction onSelectField(field) {\n  if (isFieldAdded(field) && !field.allowMultiple) {\n    return\n  }\n\n  selectedFields.value.push({ ...field, id: Guid.raw() })\n\n  fetchNextNumber()\n}\n\nfunction removeComponent(component) {\n  selectedFields.value = selectedFields.value.filter(function (el) {\n    return component.id !== el.id\n  })\n}\n\nfunction onUpdate(val, element) {\n  switch (element.name) {\n    case 'SERIES':\n      if (val.length >= 6) {\n        val = val.substring(0, 6)\n      }\n      break\n    case 'DELIMITER':\n      if (val.length >= 1) {\n        val = val.substring(0, 1)\n      }\n      break\n  }\n\n  setTimeout(() => {\n    element.value = val\n\n    fetchNextNumber()\n  }, 100)\n}\n\nconst fetchNextNumber = useDebounceFn(() => {\n  getNextNumber()\n}, 500)\n\nasync function getNextNumber() {\n  if (!getNumberFormat.value) {\n    nextNumber.value = ''\n    return\n  }\n\n  let data = {\n    key: props.type,\n    format: getNumberFormat.value,\n  }\n\n  isFetchingNextNumber.value = true\n\n  let res = await props.typeStore.getNextNumber(data)\n\n  isFetchingNextNumber.value = false\n\n  if (res.data) {\n    nextNumber.value = res.data.nextNumber\n  }\n}\n\nasync function submitForm() {\n  if (isFetchingNextNumber.value || isLoadingPlaceholders.value) {\n    return\n  }\n\n  isSaving.value = true\n\n  let data = { settings: {} }\n\n  data.settings[props.type + '_number_format'] = getNumberFormat.value\n\n  await companyStore.updateCompanySettings({\n    data,\n    message: `settings.customization.${props.type}s.${props.type}_settings_updated`,\n  })\n\n  isSaving.value = false\n\n  return true\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/settings/customization/estimates/EstimatesTab.vue",
    "content": "<template>\n  <EstimatesTabEstimateNumber />\n\n  <BaseDivider class=\"my-8\" />\n\n  <EstimatesTabExpiryDate />\n\n  <BaseDivider class=\"my-8\" />\n\n  <EstimatesTabConvertEstimate />\n\n  <BaseDivider class=\"my-8\" />\n\n  <EstimatesTabDefaultFormats />\n\n  <BaseDivider class=\"mt-6 mb-2\" />\n\n  <ul class=\"divide-y divide-gray-200\">\n    <BaseSwitchSection\n      v-model=\"sendAsAttachmentField\"\n      :title=\"$t('settings.customization.estimates.estimate_email_attachment')\"\n      :description=\"\n        $t(\n          'settings.customization.estimates.estimate_email_attachment_setting_description'\n        )\n      \"\n    />\n  </ul>\n</template>\n\n<script setup>\nimport { computed, reactive, inject } from 'vue'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\n\nimport EstimatesTabEstimateNumber from './EstimatesTabEstimateNumber.vue'\nimport EstimatesTabExpiryDate from './EstimatesTabExpiryDate.vue'\nimport EstimatesTabDefaultFormats from './EstimatesTabDefaultFormats.vue'\nimport EstimatesTabConvertEstimate from './EstimatesTabConvertEstimate.vue'\n\nconst utils = inject('utils')\n\nconst companyStore = useCompanyStore()\n\nconst estimateSettings = reactive({\n  estimate_email_attachment: null,\n})\n\nutils.mergeSettings(estimateSettings, {\n  ...companyStore.selectedCompanySettings,\n})\n\nconst sendAsAttachmentField = computed({\n  get: () => {\n    return estimateSettings.estimate_email_attachment === 'YES'\n  },\n  set: async (newValue) => {\n    const value = newValue ? 'YES' : 'NO'\n\n    let data = {\n      settings: {\n        estimate_email_attachment: value,\n      },\n    }\n\n    estimateSettings.estimate_email_attachment = value\n\n    await companyStore.updateCompanySettings({\n      data,\n      message: 'general.setting_updated',\n    })\n  },\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/settings/customization/estimates/EstimatesTabConvertEstimate.vue",
    "content": "<template>\n  <h6 class=\"text-gray-900 text-lg font-medium\">\n    {{ $tc('settings.customization.estimates.convert_estimate_options') }}\n  </h6>\n  <p class=\"mt-1 text-sm text-gray-500\">\n    {{ $t('settings.customization.estimates.convert_estimate_description') }}\n  </p>\n\n  <BaseInputGroup required>\n    <BaseRadio\n      id=\"no_action\"\n      v-model=\"settingsForm.estimate_convert_action\"\n      :label=\"$t('settings.customization.estimates.no_action')\"\n      size=\"sm\"\n      name=\"filter\"\n      value=\"no_action\"\n      class=\"mt-2\"\n      @update:modelValue=\"submitForm\"\n    />\n    <BaseRadio\n      id=\"delete_estimate\"\n      v-model=\"settingsForm.estimate_convert_action\"\n      :label=\"$t('settings.customization.estimates.delete_estimate')\"\n      size=\"sm\"\n      name=\"filter\"\n      value=\"delete_estimate\"\n      class=\"my-2\"\n      @update:modelValue=\"submitForm\"\n    />\n    <BaseRadio\n      id=\"mark_estimate_as_accepted\"\n      v-model=\"settingsForm.estimate_convert_action\"\n      :label=\"$t('settings.customization.estimates.mark_estimate_as_accepted')\"\n      size=\"sm\"\n      name=\"filter\"\n      value=\"mark_estimate_as_accepted\"\n      @update:modelValue=\"submitForm\"\n    />\n  </BaseInputGroup>\n</template>\n\n<script setup>\nimport { reactive, computed, ref, inject } from 'vue'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\nimport { required, helpers } from '@vuelidate/validators'\nimport { useI18n } from 'vue-i18n'\nimport { useGlobalStore } from '@/scripts/admin/stores/global'\n\nconst { t, tm } = useI18n()\nconst companyStore = useCompanyStore()\nconst globalStore = useGlobalStore()\n\nconst utils = inject('utils')\n\nconst settingsForm = reactive({ estimate_convert_action: null })\n\nutils.mergeSettings(settingsForm, {\n  ...companyStore.selectedCompanySettings,\n})\n\nconst retrospectiveEditOptions = computed(() => {\n  return globalStore.config.estimate_convert_action.map((option) => {\n    option.title = t(option.key)\n    return option\n  })\n})\n\nasync function submitForm() {\n  let data = {\n    settings: {\n      ...settingsForm,\n    },\n  }\n\n  await companyStore.updateCompanySettings({\n    data,\n    message: 'settings.customization.estimates.estimate_settings_updated',\n  })\n\n  return true\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/settings/customization/estimates/EstimatesTabDefaultFormats.vue",
    "content": "<template>\n  <form @submit.prevent=\"submitForm\">\n    <h6 class=\"text-gray-900 text-lg font-medium\">\n      {{ $t('settings.customization.estimates.default_formats') }}\n    </h6>\n    <p class=\"mt-1 text-sm text-gray-500 mb-2\">\n      {{ $t('settings.customization.estimates.default_formats_description') }}\n    </p>\n\n    <BaseInputGroup\n      :label=\"\n        $t('settings.customization.estimates.default_estimate_email_body')\n      \"\n      class=\"mt-6 mb-4\"\n    >\n      <BaseCustomInput\n        v-model=\"formatSettings.estimate_mail_body\"\n        :fields=\"estimateMailFields\"\n      />\n    </BaseInputGroup>\n\n    <BaseInputGroup\n      :label=\"$t('settings.customization.estimates.company_address_format')\"\n      class=\"mt-6 mb-4\"\n    >\n      <BaseCustomInput\n        v-model=\"formatSettings.estimate_company_address_format\"\n        :fields=\"companyFields\"\n      />\n    </BaseInputGroup>\n\n    <BaseInputGroup\n      :label=\"$t('settings.customization.estimates.shipping_address_format')\"\n      class=\"mt-6 mb-4\"\n    >\n      <BaseCustomInput\n        v-model=\"formatSettings.estimate_shipping_address_format\"\n        :fields=\"shippingFields\"\n      />\n    </BaseInputGroup>\n\n    <BaseInputGroup\n      :label=\"$t('settings.customization.estimates.billing_address_format')\"\n      class=\"mt-6 mb-4\"\n    >\n      <BaseCustomInput\n        v-model=\"formatSettings.estimate_billing_address_format\"\n        :fields=\"billingFields\"\n      />\n    </BaseInputGroup>\n\n    <BaseButton\n      :loading=\"isSaving\"\n      :disabled=\"isSaving\"\n      variant=\"primary\"\n      type=\"submit\"\n      class=\"mt-4\"\n    >\n      <template #left=\"slotProps\">\n        <BaseIcon v-if=\"!isSaving\" :class=\"slotProps.class\" name=\"SaveIcon\" />\n      </template>\n      {{ $t('settings.customization.save') }}\n    </BaseButton>\n  </form>\n</template>\n\n<script setup>\nimport { ref, reactive, inject } from 'vue'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\n\nconst companyStore = useCompanyStore()\nconst utils = inject('utils')\n\nconst estimateMailFields = ref([\n  'customer',\n  'customerCustom',\n  'estimate',\n  'estimateCustom',\n  'company',\n])\n\nconst billingFields = ref([\n  'billing',\n  'customer',\n  'customerCustom',\n  'estimateCustom',\n])\n\nconst shippingFields = ref([\n  'shipping',\n  'customer',\n  'customerCustom',\n  'estimateCustom',\n])\n\nconst companyFields = ref(['company', 'estimateCustom'])\n\nlet isSaving = ref(false)\n\nconst formatSettings = reactive({\n  estimate_mail_body: null,\n  estimate_company_address_format: null,\n  estimate_shipping_address_format: null,\n  estimate_billing_address_format: null,\n})\n\nutils.mergeSettings(formatSettings, {\n  ...companyStore.selectedCompanySettings,\n})\n\nasync function submitForm() {\n  isSaving.value = true\n\n  let data = {\n    settings: {\n      ...formatSettings,\n    },\n  }\n\n  await companyStore.updateCompanySettings({\n    data,\n    message: 'settings.customization.estimates.estimate_settings_updated',\n  })\n\n  isSaving.value = false\n\n  return true\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/settings/customization/estimates/EstimatesTabEstimateNumber.vue",
    "content": "<template>\n  <NumberCustomizer\n    type=\"estimate\"\n    :type-store=\"estimateStore\"\n    default-series=\"EST\"\n  />\n</template>\n\n<script setup>\nimport { useEstimateStore } from '@/scripts/admin/stores/estimate'\nimport NumberCustomizer from '../NumberCustomizer.vue'\n\nconst estimateStore = useEstimateStore()\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/settings/customization/estimates/EstimatesTabExpiryDate.vue",
    "content": "<template>\n  <form @submit.prevent=\"submitForm\">\n    <h6 class=\"text-gray-900 text-lg font-medium\">\n      {{ $t('settings.customization.estimates.expiry_date') }}\n    </h6>\n    <p class=\"mt-1 text-sm text-gray-500 mb-2\">\n      {{ $t('settings.customization.estimates.expiry_date_description') }}\n    </p>\n\n    <BaseSwitchSection\n      v-model=\"expiryDateAutoField\"\n      :title=\"\n        $t('settings.customization.estimates.set_expiry_date_automatically')\n      \"\n      :description=\"\n        $t(\n          'settings.customization.estimates.set_expiry_date_automatically_description'\n        )\n      \"\n    />\n\n    <BaseInputGroup\n      v-if=\"expiryDateAutoField\"\n      :label=\"$t('settings.customization.estimates.expiry_date_days')\"\n      :error=\"\n        v$.expiryDateSettings.estimate_expiry_date_days.$error &&\n        v$.expiryDateSettings.estimate_expiry_date_days.$errors[0].$message\n      \"\n      class=\"mt-2 mb-4\"\n    >\n      <div class=\"w-full sm:w-1/2 md:w-1/4 lg:w-1/5\">\n        <BaseInput\n          v-model=\"expiryDateSettings.estimate_expiry_date_days\"\n          :invalid=\"v$.expiryDateSettings.estimate_expiry_date_days.$error\"\n          type=\"number\"\n          @input=\"v$.expiryDateSettings.estimate_expiry_date_days.$touch()\"\n        />\n      </div>\n    </BaseInputGroup>\n\n    <BaseButton\n      :loading=\"isSaving\"\n      :disabled=\"isSaving\"\n      variant=\"primary\"\n      type=\"submit\"\n      class=\"mt-4\"\n    >\n      <template #left=\"slotProps\">\n        <BaseIcon v-if=\"!isSaving\" :class=\"slotProps.class\" name=\"SaveIcon\" />\n      </template>\n      {{ $t('settings.customization.save') }}\n    </BaseButton>\n  </form>\n</template>\n\n<script setup>\nimport { ref, computed, onMounted, reactive, inject } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\nimport { numeric, helpers, requiredIf } from '@vuelidate/validators'\n\nimport useVuelidate from '@vuelidate/core'\n\nconst { t } = useI18n()\nconst companyStore = useCompanyStore()\n\nconst utils = inject('utils')\n\nlet isSaving = ref(false)\n\nconst expiryDateSettings = reactive({\n  estimate_set_expiry_date_automatically: null,\n  estimate_expiry_date_days: null,\n})\n\nutils.mergeSettings(expiryDateSettings, {\n  ...companyStore.selectedCompanySettings,\n})\n\nconst expiryDateAutoField = computed({\n  get: () => {\n    return expiryDateSettings.estimate_set_expiry_date_automatically === 'YES'\n  },\n  set: async (newValue) => {\n    const value = newValue ? 'YES' : 'NO'\n\n    expiryDateSettings.estimate_set_expiry_date_automatically = value\n  },\n})\n\nconst rules = computed(() => {\n  return {\n    expiryDateSettings: {\n      estimate_expiry_date_days: {\n        required: helpers.withMessage(\n          t('validation.required'),\n          requiredIf(expiryDateAutoField.value)\n        ),\n        numeric: helpers.withMessage(t('validation.numbers_only'), numeric),\n      },\n    },\n  }\n})\n\nconst v$ = useVuelidate(rules, { expiryDateSettings })\n\nasync function submitForm() {\n  v$.value.expiryDateSettings.$touch()\n\n  if (v$.value.expiryDateSettings.$invalid) {\n    return false\n  }\n\n  isSaving.value = true\n\n  let data = {\n    settings: {\n      ...expiryDateSettings,\n    },\n  }\n  // Don't pass expiry_date_days if setting is not enabled\n\n  if (!expiryDateAutoField.value) {\n    delete data.settings.estimate_expiry_date_days\n  }\n\n  await companyStore.updateCompanySettings({\n    data,\n    message: 'settings.customization.estimates.estimate_settings_updated',\n  })\n\n  isSaving.value = false\n\n  return true\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/settings/customization/invoices/InvoicesTab.vue",
    "content": "<template>\n  <InvoicesTabInvoiceNumber />\n\n  <BaseDivider class=\"my-8\" />\n\n  <InvoicesTabDueDate />\n\n  <BaseDivider class=\"my-8\" />\n\n  <InvoicesTabRetrospective />\n\n  <BaseDivider class=\"my-8\" />\n\n  <InvoicesTabDefaultFormats />\n\n  <BaseDivider class=\"mt-6 mb-2\" />\n\n  <ul class=\"divide-y divide-gray-200\">\n    <BaseSwitchSection\n      v-model=\"sendAsAttachmentField\"\n      :title=\"$t('settings.customization.invoices.invoice_email_attachment')\"\n      :description=\"\n        $t(\n          'settings.customization.invoices.invoice_email_attachment_setting_description'\n        )\n      \"\n    />\n  </ul>\n</template>\n\n<script setup>\nimport { computed, reactive, inject } from 'vue'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\nimport InvoicesTabInvoiceNumber from './InvoicesTabInvoiceNumber.vue'\nimport InvoicesTabRetrospective from './InvoicesTabRetrospective.vue'\nimport InvoicesTabDueDate from './InvoicesTabDueDate.vue'\nimport InvoicesTabDefaultFormats from './InvoicesTabDefaultFormats.vue'\n\nconst utils = inject('utils')\nconst companyStore = useCompanyStore()\n\nconst invoiceSettings = reactive({\n  invoice_email_attachment: null,\n})\n\nutils.mergeSettings(invoiceSettings, {\n  ...companyStore.selectedCompanySettings,\n})\n\nconst sendAsAttachmentField = computed({\n  get: () => {\n    return invoiceSettings.invoice_email_attachment === 'YES'\n  },\n  set: async (newValue) => {\n    const value = newValue ? 'YES' : 'NO'\n\n    let data = {\n      settings: {\n        invoice_email_attachment: value,\n      },\n    }\n\n    invoiceSettings.invoice_email_attachment = value\n\n    await companyStore.updateCompanySettings({\n      data,\n      message: 'general.setting_updated',\n    })\n  },\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/settings/customization/invoices/InvoicesTabDefaultFormats.vue",
    "content": "<template>\n  <form @submit.prevent=\"submitForm\">\n    <h6 class=\"text-gray-900 text-lg font-medium\">\n      {{ $t('settings.customization.invoices.default_formats') }}\n    </h6>\n    <p class=\"mt-1 text-sm text-gray-500 mb-2\">\n      {{ $t('settings.customization.invoices.default_formats_description') }}\n    </p>\n\n    <BaseInputGroup\n      :label=\"$t('settings.customization.invoices.default_invoice_email_body')\"\n      class=\"mt-6 mb-4\"\n    >\n      <BaseCustomInput\n        v-model=\"formatSettings.invoice_mail_body\"\n        :fields=\"invoiceMailFields\"\n      />\n    </BaseInputGroup>\n\n    <BaseInputGroup\n      :label=\"$t('settings.customization.invoices.company_address_format')\"\n      class=\"mt-6 mb-4\"\n    >\n      <BaseCustomInput\n        v-model=\"formatSettings.invoice_company_address_format\"\n        :fields=\"companyFields\"\n      />\n    </BaseInputGroup>\n\n    <BaseInputGroup\n      :label=\"$t('settings.customization.invoices.shipping_address_format')\"\n      class=\"mt-6 mb-4\"\n    >\n      <BaseCustomInput\n        v-model=\"formatSettings.invoice_shipping_address_format\"\n        :fields=\"shippingFields\"\n      />\n    </BaseInputGroup>\n\n    <BaseInputGroup\n      :label=\"$t('settings.customization.invoices.billing_address_format')\"\n      class=\"mt-6 mb-4\"\n    >\n      <BaseCustomInput\n        v-model=\"formatSettings.invoice_billing_address_format\"\n        :fields=\"billingFields\"\n      />\n    </BaseInputGroup>\n\n    <BaseButton\n      :loading=\"isSaving\"\n      :disabled=\"isSaving\"\n      variant=\"primary\"\n      type=\"submit\"\n      class=\"mt-4\"\n    >\n      <template #left=\"slotProps\">\n        <BaseIcon v-if=\"!isSaving\" :class=\"slotProps.class\" name=\"SaveIcon\" />\n      </template>\n      {{ $t('settings.customization.save') }}\n    </BaseButton>\n  </form>\n</template>\n\n<script setup>\nimport { ref, reactive, inject } from 'vue'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\n\nconst companyStore = useCompanyStore()\nconst utils = inject('utils')\n\nconst invoiceMailFields = ref([\n  'customer',\n  'customerCustom',\n  'invoice',\n  'invoiceCustom',\n  'company',\n])\n\nconst billingFields = ref([\n  'billing',\n  'customer',\n  'customerCustom',\n  'invoiceCustom',\n])\n\nconst shippingFields = ref([\n  'shipping',\n  'customer',\n  'customerCustom',\n  'invoiceCustom',\n])\n\nconst companyFields = ref(['company', 'invoiceCustom'])\n\nlet isSaving = ref(false)\n\nconst formatSettings = reactive({\n  invoice_mail_body: null,\n  invoice_company_address_format: null,\n  invoice_shipping_address_format: null,\n  invoice_billing_address_format: null,\n})\n\nutils.mergeSettings(formatSettings, {\n  ...companyStore.selectedCompanySettings,\n})\n\nasync function submitForm() {\n  isSaving.value = true\n\n  let data = {\n    settings: {\n      ...formatSettings,\n    },\n  }\n\n  await companyStore.updateCompanySettings({\n    data,\n    message: 'settings.customization.invoices.invoice_settings_updated',\n  })\n\n  isSaving.value = false\n\n  return true\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/settings/customization/invoices/InvoicesTabDueDate.vue",
    "content": "<template>\n  <form @submit.prevent=\"submitForm\">\n    <h6 class=\"text-gray-900 text-lg font-medium\">\n      {{ $t('settings.customization.invoices.due_date') }}\n    </h6>\n    <p class=\"mt-1 text-sm text-gray-500 mb-2\">\n      {{ $t('settings.customization.invoices.due_date_description') }}\n    </p>\n\n    <BaseSwitchSection\n      v-model=\"dueDateAutoField\"\n      :title=\"$t('settings.customization.invoices.set_due_date_automatically')\"\n      :description=\"\n        $t(\n          'settings.customization.invoices.set_due_date_automatically_description'\n        )\n      \"\n    />\n\n    <BaseInputGroup\n      v-if=\"dueDateAutoField\"\n      :label=\"$t('settings.customization.invoices.due_date_days')\"\n      :error=\"\n        v$.dueDateSettings.invoice_due_date_days.$error &&\n        v$.dueDateSettings.invoice_due_date_days.$errors[0].$message\n      \"\n      class=\"mt-2 mb-4\"\n    >\n      <div class=\"w-full sm:w-1/2 md:w-1/4 lg:w-1/5\">\n        <BaseInput\n          v-model=\"dueDateSettings.invoice_due_date_days\"\n          :invalid=\"v$.dueDateSettings.invoice_due_date_days.$error\"\n          type=\"number\"\n          @input=\"v$.dueDateSettings.invoice_due_date_days.$touch()\"\n        />\n      </div>\n    </BaseInputGroup>\n\n    <BaseButton\n      :loading=\"isSaving\"\n      :disabled=\"isSaving\"\n      variant=\"primary\"\n      type=\"submit\"\n      class=\"mt-4\"\n    >\n      <template #left=\"slotProps\">\n        <BaseIcon v-if=\"!isSaving\" :class=\"slotProps.class\" name=\"SaveIcon\" />\n      </template>\n      {{ $t('settings.customization.save') }}\n    </BaseButton>\n  </form>\n</template>\n\n<script setup>\nimport { ref, computed, onMounted, reactive, inject } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\nimport { numeric, helpers, requiredIf } from '@vuelidate/validators'\n\nimport useVuelidate from '@vuelidate/core'\n\nconst { t } = useI18n()\nconst companyStore = useCompanyStore()\n\nconst utils = inject('utils')\n\nlet isSaving = ref(false)\n\nconst dueDateSettings = reactive({\n  invoice_set_due_date_automatically: null,\n  invoice_due_date_days: null,\n})\n\nutils.mergeSettings(dueDateSettings, {\n  ...companyStore.selectedCompanySettings,\n})\n\nconst dueDateAutoField = computed({\n  get: () => {\n    return dueDateSettings.invoice_set_due_date_automatically === 'YES'\n  },\n  set: async (newValue) => {\n    const value = newValue ? 'YES' : 'NO'\n\n    dueDateSettings.invoice_set_due_date_automatically = value\n  },\n})\n\nconst rules = computed(() => {\n  return {\n    dueDateSettings: {\n      invoice_due_date_days: {\n        required: helpers.withMessage(\n          t('validation.required'),\n          requiredIf(dueDateAutoField.value)\n        ),\n        numeric: helpers.withMessage(t('validation.numbers_only'), numeric),\n      },\n    },\n  }\n})\n\nconst v$ = useVuelidate(rules, { dueDateSettings })\n\nasync function submitForm() {\n  v$.value.dueDateSettings.$touch()\n\n  if (v$.value.dueDateSettings.$invalid) {\n    return false\n  }\n\n  isSaving.value = true\n\n  let data = {\n    settings: {\n      ...dueDateSettings,\n    },\n  }\n  // Don't pass due_date_days if setting is not enabled\n\n  if (!dueDateAutoField.value) {\n    delete data.settings.invoice_due_date_days\n  }\n\n  await companyStore.updateCompanySettings({\n    data,\n    message: 'settings.customization.invoices.invoice_settings_updated',\n  })\n\n  isSaving.value = false\n\n  return true\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/settings/customization/invoices/InvoicesTabInvoiceNumber.vue",
    "content": "<template>\n  <NumberCustomizer\n    type=\"invoice\"\n    :type-store=\"invoiceStore\"\n    default-series=\"INV\"\n  />\n</template>\n\n<script setup>\nimport { useInvoiceStore } from '@/scripts/admin/stores/invoice'\nimport NumberCustomizer from '../NumberCustomizer.vue'\n\nconst invoiceStore = useInvoiceStore()\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/settings/customization/invoices/InvoicesTabRetrospective.vue",
    "content": "<template>\n  <h6 class=\"text-gray-900 text-lg font-medium\">\n    {{ $tc('settings.customization.invoices.retrospective_edits') }}\n  </h6>\n  <p class=\"mt-1 text-sm text-gray-500\">\n    {{ $t('settings.customization.invoices.retrospective_edits_description') }}\n  </p>\n\n  <BaseInputGroup required>\n    <BaseRadio\n      id=\"allow\"\n      v-model=\"settingsForm.retrospective_edits\"\n      :label=\"$t('settings.customization.invoices.allow')\"\n      size=\"sm\"\n      name=\"filter\"\n      value=\"allow\"\n      class=\"mt-2\"\n      @update:modelValue=\"submitForm\"\n    />\n\n    <BaseRadio\n      id=\"disable_on_invoice_partial_paid\"\n      v-model=\"settingsForm.retrospective_edits\"\n      :label=\"\n        $t('settings.customization.invoices.disable_on_invoice_partial_paid')\n      \"\n      size=\"sm\"\n      name=\"filter\"\n      value=\"disable_on_invoice_partial_paid\"\n      class=\"mt-2\"\n      @update:modelValue=\"submitForm\"\n    />\n    <BaseRadio\n      id=\"disable_on_invoice_paid\"\n      v-model=\"settingsForm.retrospective_edits\"\n      :label=\"$t('settings.customization.invoices.disable_on_invoice_paid')\"\n      size=\"sm\"\n      name=\"filter\"\n      value=\"disable_on_invoice_paid\"\n      class=\"my-2\"\n      @update:modelValue=\"submitForm\"\n    />\n    <BaseRadio\n      id=\"disable_on_invoice_sent\"\n      v-model=\"settingsForm.retrospective_edits\"\n      :label=\"$t('settings.customization.invoices.disable_on_invoice_sent')\"\n      size=\"sm\"\n      name=\"filter\"\n      value=\"disable_on_invoice_sent\"\n      @update:modelValue=\"submitForm\"\n    />\n  </BaseInputGroup>\n</template>\n\n<script setup>\nimport { reactive, computed, ref, inject } from 'vue'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\nimport { useI18n } from 'vue-i18n'\nimport { useGlobalStore } from '@/scripts/admin/stores/global'\n\nconst { t, tm } = useI18n()\nconst companyStore = useCompanyStore()\nconst globalStore = useGlobalStore()\nconst utils = inject('utils')\n\nconst settingsForm = reactive({ retrospective_edits: null })\n\nutils.mergeSettings(settingsForm, {\n  ...companyStore.selectedCompanySettings,\n})\n\nconst retrospectiveEditOptions = computed(() => {\n  return globalStore.config.retrospective_edits.map((option) => {\n    option.title = t(option.key)\n    return option\n  })\n})\n\nasync function submitForm() {\n  let data = {\n    settings: {\n      ...settingsForm,\n    },\n  }\n\n  await companyStore.updateCompanySettings({\n    data,\n    message: 'settings.customization.invoices.invoice_settings_updated',\n  })\n\n  return true\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/settings/customization/items/ItemsTab.vue",
    "content": "<template>\n  <ItemUnitModal />\n\n  <div class=\"flex flex-wrap justify-end mt-2 lg:flex-nowrap\">\n    <BaseButton variant=\"primary-outline\" @click=\"addItemUnit\">\n      <template #left=\"slotProps\">\n        <BaseIcon :class=\"slotProps.class\" name=\"PlusIcon\" />\n      </template>\n      {{ $t('settings.customization.items.add_item_unit') }}\n    </BaseButton>\n  </div>\n\n  <BaseTable ref=\"table\" class=\"mt-10\" :data=\"fetchData\" :columns=\"columns\">\n    <template #cell-actions=\"{ row }\">\n      <BaseDropdown>\n        <template #activator>\n          <div class=\"inline-block\">\n            <BaseIcon name=\"DotsHorizontalIcon\" class=\"text-gray-500\" />\n          </div>\n        </template>\n\n        <BaseDropdownItem @click=\"editItemUnit(row)\">\n          <BaseIcon\n            name=\"PencilIcon\"\n            class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n          />\n\n          {{ $t('general.edit') }}\n        </BaseDropdownItem>\n        <BaseDropdownItem @click=\"removeItemUnit(row)\">\n          <BaseIcon\n            name=\"TrashIcon\"\n            class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n          />\n          {{ $t('general.delete') }}\n        </BaseDropdownItem>\n      </BaseDropdown>\n    </template>\n  </BaseTable>\n</template>\n\n<script setup>\nimport { computed, ref } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { useItemStore } from '@/scripts/admin/stores/item'\nimport { useModalStore } from '@/scripts/stores/modal'\nimport { useDialogStore } from '@/scripts/stores/dialog'\nimport ItemUnitModal from '@/scripts/admin/components/modal-components/ItemUnitModal.vue'\n\nconst { t } = useI18n()\nconst table = ref(null)\n\nconst itemStore = useItemStore()\nconst modalStore = useModalStore()\nconst dialogStore = useDialogStore()\n\nconst columns = computed(() => {\n  return [\n    {\n      key: 'name',\n      label: t('settings.customization.items.unit_name'),\n      thClass: 'extra',\n      tdClass: 'font-medium text-gray-900',\n    },\n    {\n      key: 'actions',\n      label: '',\n      tdClass: 'text-right text-sm font-medium',\n      sortable: false,\n    },\n  ]\n})\n\nasync function fetchData({ page, filter, sort }) {\n  let data = {\n    orderByField: sort.fieldName || 'created_at',\n    orderBy: sort.order || 'desc',\n    page,\n  }\n  let response = await itemStore.fetchItemUnits(data)\n\n  return {\n    data: response.data.data,\n    pagination: {\n      totalPages: response.data.meta.last_page,\n      currentPage: page,\n      totalCount: response.data.meta.total,\n      limit: 5,\n    },\n  }\n}\n\nasync function addItemUnit() {\n  modalStore.openModal({\n    title: t('settings.customization.items.add_item_unit'),\n    componentName: 'ItemUnitModal',\n    refreshData: table.value.refresh,\n    size: 'sm',\n  })\n}\n\nasync function editItemUnit(row) {\n  itemStore.fetchItemUnit(row.data.id)\n  modalStore.openModal({\n    title: t('settings.customization.items.edit_item_unit'),\n    componentName: 'ItemUnitModal',\n    id: row.data.id,\n    data: row.data,\n    refreshData: table.value && table.value.refresh,\n  })\n}\n\nfunction removeItemUnit(row) {\n  dialogStore\n    .openDialog({\n      title: t('general.are_you_sure'),\n      message: t('settings.customization.items.item_unit_confirm_delete'),\n      yesLabel: t('general.yes'),\n      noLabel: t('general.no'),\n      variant: 'danger',\n      hideNoButton: false,\n      size: 'lg',\n    })\n    .then(async (res) => {\n      if (res) {\n        await itemStore.deleteItemUnit(row.data.id)\n        table.value && table.value.refresh()\n      }\n    })\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/settings/customization/payments/PaymentsTab.vue",
    "content": "<template>\n  <PaymentsTabPaymentNumber />\n\n  <BaseDivider class=\"my-8\" />\n\n  <PaymentsTabDefaultFormats />\n\n  <BaseDivider class=\"mt-6 mb-2\" />\n\n  <ul class=\"divide-y divide-gray-200\">\n    <BaseSwitchSection\n      v-model=\"sendAsAttachmentField\"\n      :title=\"$t('settings.customization.payments.payment_email_attachment')\"\n      :description=\"\n        $t(\n          'settings.customization.payments.payment_email_attachment_setting_description'\n        )\n      \"\n    />\n  </ul>\n</template>\n\n<script setup>\nimport { computed, reactive, inject } from 'vue'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\nimport PaymentsTabPaymentNumber from './PaymentsTabPaymentNumber.vue'\nimport PaymentsTabDefaultFormats from './PaymentsTabDefaultFormats.vue'\n\nconst utils = inject('utils')\nconst companyStore = useCompanyStore()\n\nconst paymentSettings = reactive({\n  payment_email_attachment: null,\n})\n\nutils.mergeSettings(paymentSettings, {\n  ...companyStore.selectedCompanySettings,\n})\n\nconst sendAsAttachmentField = computed({\n  get: () => {\n    return paymentSettings.payment_email_attachment === 'YES'\n  },\n  set: async (newValue) => {\n    const value = newValue ? 'YES' : 'NO'\n\n    let data = {\n      settings: {\n        payment_email_attachment: value,\n      },\n    }\n\n    paymentSettings.payment_email_attachment = value\n\n    await companyStore.updateCompanySettings({\n      data,\n      message: 'general.setting_updated',\n    })\n  },\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/settings/customization/payments/PaymentsTabDefaultFormats.vue",
    "content": "<template>\n  <form @submit.prevent=\"submitForm\">\n    <h6 class=\"text-gray-900 text-lg font-medium\">\n      {{ $t('settings.customization.payments.default_formats') }}\n    </h6>\n    <p class=\"mt-1 text-sm text-gray-500 mb-2\">\n      {{ $t('settings.customization.payments.default_formats_description') }}\n    </p>\n\n    <BaseInputGroup\n      :label=\"$t('settings.customization.payments.default_payment_email_body')\"\n      class=\"mt-6 mb-4\"\n    >\n      <BaseCustomInput\n        v-model=\"formatSettings.payment_mail_body\"\n        :fields=\"mailFields\"\n      />\n    </BaseInputGroup>\n\n    <BaseInputGroup\n      :label=\"$t('settings.customization.payments.company_address_format')\"\n      class=\"mt-6 mb-4\"\n    >\n      <BaseCustomInput\n        v-model=\"formatSettings.payment_company_address_format\"\n        :fields=\"companyFields\"\n      />\n    </BaseInputGroup>\n\n    <BaseInputGroup\n      :label=\"\n        $t('settings.customization.payments.from_customer_address_format')\n      \"\n      class=\"mt-6 mb-4\"\n    >\n      <BaseCustomInput\n        v-model=\"formatSettings.payment_from_customer_address_format\"\n        :fields=\"customerAddressFields\"\n      />\n    </BaseInputGroup>\n\n    <BaseButton\n      :loading=\"isSaving\"\n      :disabled=\"isSaving\"\n      variant=\"primary\"\n      type=\"submit\"\n      class=\"mt-4\"\n    >\n      <template #left=\"slotProps\">\n        <BaseIcon v-if=\"!isSaving\" :class=\"slotProps.class\" name=\"SaveIcon\" />\n      </template>\n      {{ $t('settings.customization.save') }}\n    </BaseButton>\n  </form>\n</template>\n\n<script setup>\nimport { ref, reactive, inject } from 'vue'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\n\nconst companyStore = useCompanyStore()\nconst utils = inject('utils')\n\nconst mailFields = ref([\n  'customer',\n  'customerCustom',\n  'company',\n  'payment',\n  'paymentCustom',\n])\n\nconst customerAddressFields = ref([\n  'billing',\n  'customer',\n  'customerCustom',\n  'paymentCustom',\n])\n\nconst companyFields = ref(['company', 'paymentCustom'])\n\nlet isSaving = ref(false)\n\nconst formatSettings = reactive({\n  payment_mail_body: null,\n  payment_company_address_format: null,\n  payment_from_customer_address_format: null,\n})\n\nutils.mergeSettings(formatSettings, {\n  ...companyStore.selectedCompanySettings,\n})\n\nasync function submitForm() {\n  isSaving.value = true\n\n  let data = {\n    settings: {\n      ...formatSettings,\n    },\n  }\n\n  await companyStore.updateCompanySettings({\n    data,\n    message: 'settings.customization.payments.payment_settings_updated',\n  })\n\n  isSaving.value = false\n\n  return true\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/settings/customization/payments/PaymentsTabPaymentNumber.vue",
    "content": "<template>\n  <NumberCustomizer\n    type=\"payment\"\n    :type-store=\"paymentStore\"\n    default-series=\"PAY\"\n  />\n</template>\n\n<script setup>\nimport { usePaymentStore } from '@/scripts/admin/stores/payment'\nimport NumberCustomizer from '../NumberCustomizer.vue'\n\nconst paymentStore = usePaymentStore()\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/settings/mail-driver/BasicMailDriver.vue",
    "content": "<template>\n  <form @submit.prevent=\"saveEmailConfig\">\n    <BaseInputGrid>\n      <BaseInputGroup\n        :label=\"$t('settings.mail.driver')\"\n        :content-loading=\"isFetchingInitialData\"\n        :error=\"\n          v$.basicMailConfig.mail_driver.$error &&\n          v$.basicMailConfig.mail_driver.$errors[0].$message\n        \"\n        required\n      >\n        <BaseMultiselect\n          v-model=\"mailDriverStore.basicMailConfig.mail_driver\"\n          :content-loading=\"isFetchingInitialData\"\n          :options=\"mailDrivers\"\n          :can-deselect=\"false\"\n          :invalid=\"v$.basicMailConfig.mail_driver.$error\"\n          @update:modelValue=\"onChangeDriver\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup\n        :label=\"$t('settings.mail.from_mail')\"\n        :content-loading=\"isFetchingInitialData\"\n        :error=\"\n          v$.basicMailConfig.from_mail.$error &&\n          v$.basicMailConfig.from_mail.$errors[0].$message\n        \"\n        required\n      >\n        <BaseInput\n          v-model.trim=\"mailDriverStore.basicMailConfig.from_mail\"\n          :content-loading=\"isFetchingInitialData\"\n          type=\"text\"\n          name=\"from_mail\"\n          :invalid=\"v$.basicMailConfig.from_mail.$error\"\n          @input=\"v$.basicMailConfig.from_mail.$touch()\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup\n        :label=\"$t('settings.mail.from_name')\"\n        :content-loading=\"isFetchingInitialData\"\n        :error=\"\n          v$.basicMailConfig.from_name.$error &&\n          v$.basicMailConfig.from_name.$errors[0].$message\n        \"\n        required\n      >\n        <BaseInput\n          v-model.trim=\"mailDriverStore.basicMailConfig.from_name\"\n          :content-loading=\"isFetchingInitialData\"\n          type=\"text\"\n          name=\"name\"\n          :invalid=\"v$.basicMailConfig.from_name.$error\"\n          @input=\"v$.basicMailConfig.from_name.$touch()\"\n        />\n      </BaseInputGroup>\n    </BaseInputGrid>\n    <div class=\"flex mt-8\">\n      <BaseButton\n        :content-loading=\"isFetchingInitialData\"\n        :disabled=\"isSaving\"\n        :loading=\"isSaving\"\n        variant=\"primary\"\n        type=\"submit\"\n      >\n        <template #left=\"slotProps\">\n          <BaseIcon v-if=\"!isSaving\" :class=\"slotProps.class\" name=\"SaveIcon\" />\n        </template>\n        {{ $t('general.save') }}\n      </BaseButton>\n      <slot />\n    </div>\n  </form>\n</template>\n\n<script setup>\nimport { onMounted, computed } from 'vue'\nimport { required, email, helpers } from '@vuelidate/validators'\nimport useVuelidate from '@vuelidate/core'\nimport { useI18n } from 'vue-i18n'\nimport { useMailDriverStore } from '@/scripts/admin/stores/mail-driver'\n\nconst props = defineProps({\n  configData: {\n    type: Object,\n    require: true,\n    default: Object,\n  },\n  isSaving: {\n    type: Boolean,\n    require: true,\n    default: false,\n  },\n  isFetchingInitialData: {\n    type: Boolean,\n    require: true,\n    default: false,\n  },\n  mailDrivers: {\n    type: Array,\n    require: true,\n    default: Array,\n  },\n})\n\nconst emit = defineEmits(['submit-data', 'on-change-driver'])\n\nconst mailDriverStore = useMailDriverStore()\nconst { t } = useI18n()\n\nconst rules = computed(() => {\n  return {\n    basicMailConfig: {\n      mail_driver: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n      from_mail: {\n        required: helpers.withMessage(t('validation.required'), required),\n        email: helpers.withMessage(t('validation.email_incorrect'), email),\n      },\n      from_name: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n    },\n  }\n})\n\nconst v$ = useVuelidate(\n  rules,\n  computed(() => mailDriverStore)\n)\n\nonMounted(() => {\n  for (const key in mailDriverStore.basicMailConfig) {\n    if (props.configData.hasOwnProperty(key)) {\n      mailDriverStore.$patch((state) => {\n        state.basicMailConfig[key] = props.configData[key]\n      })\n    }\n  }\n})\n\nasync function saveEmailConfig() {\n  v$.value.basicMailConfig.$touch()\n  if (!v$.value.basicMailConfig.$invalid) {\n    emit('submit-data', mailDriverStore.basicMailConfig)\n  }\n  return false\n}\n\nfunction onChangeDriver() {\n  v$.value.basicMailConfig.mail_driver.$touch()\n  emit('on-change-driver', mailDriverStore.basicMailConfig.mail_driver)\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/settings/mail-driver/MailgunMailDriver.vue",
    "content": "<template>\n  <form @submit.prevent=\"saveEmailConfig\">\n    <BaseInputGrid>\n      <BaseInputGroup\n        :label=\"$t('settings.mail.driver')\"\n        :content-loading=\"isFetchingInitialData\"\n        :error=\"\n          v$.mailgunConfig.mail_driver.$error &&\n          v$.mailgunConfig.mail_driver.$errors[0].$message\n        \"\n        required\n      >\n        <BaseMultiselect\n          v-model=\"mailDriverStore.mailgunConfig.mail_driver\"\n          :content-loading=\"isFetchingInitialData\"\n          :options=\"mailDrivers\"\n          :can-deselect=\"false\"\n          :invalid=\"v$.mailgunConfig.mail_driver.$error\"\n          @update:modelValue=\"onChangeDriver\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup\n        :label=\"$t('settings.mail.mailgun_domain')\"\n        :content-loading=\"isFetchingInitialData\"\n        :error=\"\n          v$.mailgunConfig.mail_mailgun_domain.$error &&\n          v$.mailgunConfig.mail_mailgun_domain.$errors[0].$message\n        \"\n        required\n      >\n        <BaseInput\n          v-model.trim=\"mailDriverStore.mailgunConfig.mail_mailgun_domain\"\n          :content-loading=\"isFetchingInitialData\"\n          type=\"text\"\n          name=\"mailgun_domain\"\n          :invalid=\"v$.mailgunConfig.mail_mailgun_domain.$error\"\n          @input=\"v$.mailgunConfig.mail_mailgun_domain.$touch()\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup\n        :label=\"$t('settings.mail.mailgun_secret')\"\n        :content-loading=\"isFetchingInitialData\"\n        :error=\"\n          v$.mailgunConfig.mail_mailgun_secret.$error &&\n          v$.mailgunConfig.mail_mailgun_secret.$errors[0].$message\n        \"\n        required\n      >\n        <BaseInput\n          v-model.trim=\"mailDriverStore.mailgunConfig.mail_mailgun_secret\"\n          :content-loading=\"isFetchingInitialData\"\n          :type=\"getInputType\"\n          name=\"mailgun_secret\"\n          autocomplete=\"off\"\n          :invalid=\"v$.mailgunConfig.mail_mailgun_secret.$error\"\n          @input=\"v$.mailgunConfig.mail_mailgun_secret.$touch()\"\n        >\n          <template #right>\n            <BaseIcon\n              v-if=\"isShowPassword\"\n              class=\"mr-1 text-gray-500 cursor-pointer\"\n              name=\"EyeOffIcon\"\n              @click=\"isShowPassword = !isShowPassword\"\n            />\n            <BaseIcon\n              v-else\n              class=\"mr-1 text-gray-500 cursor-pointer\"\n              name=\"EyeIcon\"\n              @click=\"isShowPassword = !isShowPassword\"\n            />\n          </template>\n        </BaseInput>\n      </BaseInputGroup>\n\n      <BaseInputGroup\n        :label=\"$t('settings.mail.mailgun_endpoint')\"\n        :content-loading=\"isFetchingInitialData\"\n        :error=\"\n          v$.mailgunConfig.mail_mailgun_endpoint.$error &&\n          v$.mailgunConfig.mail_mailgun_endpoint.$errors[0].$message\n        \"\n        required\n      >\n        <BaseInput\n          v-model.trim=\"mailDriverStore.mailgunConfig.mail_mailgun_endpoint\"\n          :content-loading=\"isFetchingInitialData\"\n          type=\"text\"\n          name=\"mailgun_endpoint\"\n          :invalid=\"v$.mailgunConfig.mail_mailgun_endpoint.$error\"\n          @input=\"v$.mailgunConfig.mail_mailgun_endpoint.$touch()\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup\n        :label=\"$t('settings.mail.from_mail')\"\n        :content-loading=\"isFetchingInitialData\"\n        :error=\"\n          v$.mailgunConfig.from_mail.$error &&\n          v$.mailgunConfig.from_mail.$errors[0].$message\n        \"\n        required\n      >\n        <BaseInput\n          v-model.trim=\"mailDriverStore.mailgunConfig.from_mail\"\n          :content-loading=\"isFetchingInitialData\"\n          type=\"text\"\n          name=\"from_mail\"\n          :invalid=\"v$.mailgunConfig.from_mail.$error\"\n          @input=\"v$.mailgunConfig.from_mail.$touch()\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup\n        :label=\"$t('settings.mail.from_name')\"\n        :content-loading=\"isFetchingInitialData\"\n        :error=\"\n          v$.mailgunConfig.from_name.$error &&\n          v$.mailgunConfig.from_name.$errors[0].$message\n        \"\n        required\n      >\n        <BaseInput\n          v-model.trim=\"mailDriverStore.mailgunConfig.from_name\"\n          :content-loading=\"isFetchingInitialData\"\n          type=\"text\"\n          name=\"from_name\"\n          :invalid=\"v$.mailgunConfig.from_name.$error\"\n          @input=\"v$.mailgunConfig.from_name.$touch()\"\n        />\n      </BaseInputGroup>\n    </BaseInputGrid>\n    <div class=\"flex my-10\">\n      <BaseButton\n        :disabled=\"isSaving\"\n        :content-loading=\"isFetchingInitialData\"\n        :loading=\"isSaving\"\n        variant=\"primary\"\n        type=\"submit\"\n      >\n        <template #left=\"slotProps\">\n          <BaseIcon v-if=\"!isSaving\" name=\"SaveIcon\" :class=\"slotProps.class\" />\n        </template>\n        {{ $t('general.save') }}\n      </BaseButton>\n      <slot />\n    </div>\n  </form>\n</template>\n\n<script setup>\nimport { onMounted, ref, computed } from 'vue'\nimport { required, email, helpers } from '@vuelidate/validators'\nimport useVuelidate from '@vuelidate/core'\nimport { useI18n } from 'vue-i18n'\nimport { useMailDriverStore } from '@/scripts/admin/stores/mail-driver'\n\nconst props = defineProps({\n  configData: {\n    type: Object,\n    require: true,\n    default: Object,\n  },\n  isSaving: {\n    type: Boolean,\n    require: true,\n    default: false,\n  },\n  isFetchingInitialData: {\n    type: Boolean,\n    require: true,\n    default: false,\n  },\n  mailDrivers: {\n    type: Array,\n    require: true,\n    default: Array,\n  },\n})\n\nconst emit = defineEmits(['submit-data', 'on-change-driver'])\n\nconst mailDriverStore = useMailDriverStore()\nconst { t } = useI18n()\n\nlet isShowPassword = ref(false)\n\nconst getInputType = computed(() => {\n  if (isShowPassword.value) {\n    return 'text'\n  }\n  return 'password'\n})\n\nconst rules = computed(() => {\n  return {\n    mailgunConfig: {\n      mail_driver: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n      mail_mailgun_domain: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n      mail_mailgun_endpoint: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n      mail_mailgun_secret: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n      from_mail: {\n        required: helpers.withMessage(t('validation.required'), required),\n        email,\n      },\n      from_name: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n    },\n  }\n})\n\nconst v$ = useVuelidate(\n  rules,\n  computed(() => mailDriverStore)\n)\n\nonMounted(() => {\n  for (const key in mailDriverStore.mailgunConfig) {\n    if (props.configData.hasOwnProperty(key)) {\n      mailDriverStore.mailgunConfig[key] = props.configData[key]\n    }\n  }\n})\n\nasync function saveEmailConfig() {\n  v$.value.mailgunConfig.$touch()\n  if (!v$.value.mailgunConfig.$invalid) {\n    emit('submit-data', mailDriverStore.mailgunConfig)\n  }\n  return false\n}\n\nfunction onChangeDriver() {\n  v$.value.mailgunConfig.mail_driver.$touch()\n  emit('on-change-driver', mailDriverStore.mailgunConfig.mail_driver)\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/settings/mail-driver/SesMailDriver.vue",
    "content": "<template>\n  <form @submit.prevent=\"saveEmailConfig\">\n    <BaseInputGrid>\n      <BaseInputGroup\n        :label=\"$t('settings.mail.driver')\"\n        :content-loading=\"isFetchingInitialData\"\n        :error=\"\n          v$.sesConfig.mail_driver.$error &&\n          v$.sesConfig.mail_driver.$errors[0].$message\n        \"\n        required\n      >\n        <BaseMultiselect\n          v-model=\"mailDriverStore.sesConfig.mail_driver\"\n          :content-loading=\"isFetchingInitialData\"\n          :options=\"mailDrivers\"\n          :can-deselect=\"false\"\n          :invalid=\"v$.sesConfig.mail_driver.$error\"\n          @update:modelValue=\"onChangeDriver\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup\n        :label=\"$t('settings.mail.host')\"\n        :content-loading=\"isFetchingInitialData\"\n        :error=\"\n          v$.sesConfig.mail_host.$error &&\n          v$.sesConfig.mail_host.$errors[0].$message\n        \"\n        required\n      >\n        <BaseInput\n          v-model.trim=\"mailDriverStore.sesConfig.mail_host\"\n          :content-loading=\"isFetchingInitialData\"\n          type=\"text\"\n          name=\"mail_host\"\n          :invalid=\"v$.sesConfig.mail_host.$error\"\n          @input=\"v$.sesConfig.mail_host.$touch()\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup\n        :label=\"$t('settings.mail.port')\"\n        :content-loading=\"isFetchingInitialData\"\n        :error=\"\n          v$.sesConfig.mail_port.$error &&\n          v$.sesConfig.mail_port.$errors[0].$message\n        \"\n        required\n      >\n        <BaseInput\n          v-model.trim=\"mailDriverStore.sesConfig.mail_port\"\n          :content-loading=\"isFetchingInitialData\"\n          type=\"text\"\n          name=\"mail_port\"\n          :invalid=\"v$.sesConfig.mail_port.$error\"\n          @input=\"v$.sesConfig.mail_port.$touch()\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup\n        :label=\"$t('settings.mail.encryption')\"\n        :content-loading=\"isFetchingInitialData\"\n        :error=\"\n          v$.sesConfig.mail_encryption.$error &&\n          v$.sesConfig.mail_encryption.$errors[0].$message\n        \"\n        required\n      >\n        <BaseMultiselect\n          v-model.trim=\"mailDriverStore.sesConfig.mail_encryption\"\n          :content-loading=\"isFetchingInitialData\"\n          :options=\"encryptions\"\n          :invalid=\"v$.sesConfig.mail_encryption.$error\"\n          placeholder=\"Select option\"\n          @input=\"v$.sesConfig.mail_encryption.$touch()\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup\n        :label=\"$t('settings.mail.from_mail')\"\n        :content-loading=\"isFetchingInitialData\"\n        :error=\"\n          v$.sesConfig.from_mail.$error &&\n          v$.sesConfig.from_mail.$errors[0].$message\n        \"\n        required\n      >\n        <BaseInput\n          v-model.trim=\"mailDriverStore.sesConfig.from_mail\"\n          :content-loading=\"isFetchingInitialData\"\n          type=\"text\"\n          name=\"from_mail\"\n          :invalid=\"v$.sesConfig.from_mail.$error\"\n          @input=\"v$.sesConfig.from_mail.$touch()\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup\n        :label=\"$t('settings.mail.from_name')\"\n        :content-loading=\"isFetchingInitialData\"\n        :error=\"\n          v$.sesConfig.from_name.$error &&\n          v$.sesConfig.from_name.$errors[0].$message\n        \"\n        required\n      >\n        <BaseInput\n          v-model.trim=\"mailDriverStore.sesConfig.from_name\"\n          :content-loading=\"isFetchingInitialData\"\n          type=\"text\"\n          name=\"name\"\n          :invalid=\"v$.sesConfig.from_name.$error\"\n          @input=\"v$.sesConfig.from_name.$touch()\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup\n        :label=\"$t('settings.mail.ses_key')\"\n        :content-loading=\"isFetchingInitialData\"\n        :error=\"\n          v$.sesConfig.mail_ses_key.$error &&\n          v$.sesConfig.mail_ses_key.$errors[0].$message\n        \"\n        required\n      >\n        <BaseInput\n          v-model.trim=\"mailDriverStore.sesConfig.mail_ses_key\"\n          :content-loading=\"isFetchingInitialData\"\n          type=\"text\"\n          name=\"mail_ses_key\"\n          :invalid=\"v$.sesConfig.mail_ses_key.$error\"\n          @input=\"v$.sesConfig.mail_ses_key.$touch()\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup\n        :label=\"$t('settings.mail.ses_secret')\"\n        :content-loading=\"isFetchingInitialData\"\n        :error=\"\n          v$.sesConfig.mail_ses_secret.$error &&\n          v$.mail_ses_secret.$errors[0].$message\n        \"\n        required\n      >\n        <BaseInput\n          v-model.trim=\"mailDriverStore.sesConfig.mail_ses_secret\"\n          :content-loading=\"isFetchingInitialData\"\n          :type=\"getInputType\"\n          name=\"mail_ses_secret\"\n          autocomplete=\"off\"\n          :invalid=\"v$.sesConfig.mail_ses_secret.$error\"\n          @input=\"v$.sesConfig.mail_ses_secret.$touch()\"\n        >\n          <template #right>\n            <BaseIcon\n              v-if=\"isShowPassword\"\n              class=\"mr-1 text-gray-500 cursor-pointer\"\n              name=\"EyeOffIcon\"\n              @click=\"isShowPassword = !isShowPassword\"\n            />\n            <BaseIcon\n              v-else\n              class=\"mr-1 text-gray-500 cursor-pointer\"\n              name=\"EyeIcon\"\n              @click=\"isShowPassword = !isShowPassword\"\n            />\n          </template>\n        </BaseInput>\n      </BaseInputGroup>\n    </BaseInputGrid>\n\n    <div class=\"flex my-10\">\n      <BaseButton\n        :disabled=\"isSaving\"\n        :content-loading=\"isFetchingInitialData\"\n        :loading=\"isSaving\"\n        variant=\"primary\"\n        type=\"submit\"\n      >\n        <template #left=\"slotProps\">\n          <BaseIcon v-if=\"!isSaving\" name=\"SaveIcon\" :class=\"slotProps.class\" />\n        </template>\n        {{ $t('general.save') }}\n      </BaseButton>\n      <slot />\n    </div>\n  </form>\n</template>\n\n<script setup>\nimport { computed, onMounted, reactive, ref } from 'vue'\nimport { required, email, numeric, helpers } from '@vuelidate/validators'\nimport useVuelidate from '@vuelidate/core'\nimport { useI18n } from 'vue-i18n'\nimport { useMailDriverStore } from '@/scripts/admin/stores/mail-driver'\n\nconst props = defineProps({\n  configData: {\n    type: Object,\n    require: true,\n    default: Object,\n  },\n  isSaving: {\n    type: Boolean,\n    require: true,\n    default: false,\n  },\n  isFetchingInitialData: {\n    type: Boolean,\n    require: true,\n    default: false,\n  },\n  mailDrivers: {\n    type: Array,\n    require: true,\n    default: Array,\n  },\n})\n\nconst emit = defineEmits(['submit-data', 'on-change-driver'])\n\nconst mailDriverStore = useMailDriverStore()\nconst { t } = useI18n()\n\nlet isShowPassword = ref(false)\nconst encryptions = reactive(['tls', 'ssl', 'starttls'])\n\nconst rules = computed(() => {\n  return {\n    sesConfig: {\n      mail_driver: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n      mail_host: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n      mail_port: {\n        required: helpers.withMessage(t('validation.required'), required),\n        numeric,\n      },\n      mail_ses_key: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n      mail_ses_secret: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n      mail_encryption: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n      from_mail: {\n        required: helpers.withMessage(t('validation.required'), required),\n        email: helpers.withMessage(t('validation.email_incorrect'), email),\n      },\n      from_name: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n    },\n  }\n})\n\nconst v$ = useVuelidate(\n  rules,\n  computed(() => mailDriverStore)\n)\n\nconst getInputType = computed(() => {\n  if (isShowPassword.value) {\n    return 'text'\n  }\n  return 'password'\n})\n\nonMounted(() => {\n  for (const key in mailDriverStore.sesConfig) {\n    if (props.configData.hasOwnProperty(key)) {\n      mailDriverStore.sesConfig[key] = props.configData[key]\n    }\n  }\n})\n\nasync function saveEmailConfig() {\n  v$.value.sesConfig.$touch()\n  if (!v$.value.sesConfig.$invalid) {\n    emit('submit-data', mailDriverStore.sesConfig)\n  }\n  return false\n}\n\nfunction onChangeDriver() {\n  v$.value.sesConfig.mail_driver.$touch()\n  emit('on-change-driver', mailDriverStore.sesConfig.mail_driver)\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/settings/mail-driver/SmtpMailDriver.vue",
    "content": "<template>\n  <form @submit.prevent=\"saveEmailConfig\">\n    <BaseInputGrid>\n      <BaseInputGroup\n        :label=\"$t('settings.mail.driver')\"\n        :content-loading=\"isFetchingInitialData\"\n        :error=\"\n          v$.smtpConfig.mail_driver.$error &&\n          v$.smtpConfig.mail_driver.$errors[0].$message\n        \"\n        required\n      >\n        <BaseMultiselect\n          v-model=\"mailDriverStore.smtpConfig.mail_driver\"\n          :content-loading=\"isFetchingInitialData\"\n          :options=\"mailDrivers\"\n          :can-deselect=\"false\"\n          :invalid=\"v$.smtpConfig.mail_driver.$error\"\n          @update:modelValue=\"onChangeDriver\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup\n        :label=\"$t('settings.mail.host')\"\n        :content-loading=\"isFetchingInitialData\"\n        :error=\"\n          v$.smtpConfig.mail_host.$error &&\n          v$.smtpConfig.mail_host.$errors[0].$message\n        \"\n        required\n      >\n        <BaseInput\n          v-model.trim=\"mailDriverStore.smtpConfig.mail_host\"\n          :content-loading=\"isFetchingInitialData\"\n          type=\"text\"\n          name=\"mail_host\"\n          :invalid=\"v$.smtpConfig.mail_host.$error\"\n          @input=\"v$.smtpConfig.mail_host.$touch()\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup\n        :content-loading=\"isFetchingInitialData\"\n        :label=\"$t('settings.mail.username')\"\n      >\n        <BaseInput\n          v-model.trim=\"mailDriverStore.smtpConfig.mail_username\"\n          :content-loading=\"isFetchingInitialData\"\n          type=\"text\"\n          name=\"db_name\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup\n        :content-loading=\"isFetchingInitialData\"\n        :label=\"$t('settings.mail.password')\"\n      >\n        <BaseInput\n          v-model.trim=\"mailDriverStore.smtpConfig.mail_password\"\n          :content-loading=\"isFetchingInitialData\"\n          :type=\"getInputType\"\n          name=\"password\"\n        >\n          <template #right>\n            <BaseIcon\n              v-if=\"isShowPassword\"\n              class=\"mr-1 text-gray-500 cursor-pointer\"\n              name=\"EyeOffIcon\"\n              @click=\"isShowPassword = !isShowPassword\"\n            />\n            <BaseIcon\n              v-else\n              class=\"mr-1 text-gray-500 cursor-pointer\"\n              name=\"EyeIcon\"\n              @click=\"isShowPassword = !isShowPassword\"\n            />\n          </template>\n        </BaseInput>\n      </BaseInputGroup>\n\n      <BaseInputGroup\n        :label=\"$t('settings.mail.port')\"\n        :content-loading=\"isFetchingInitialData\"\n        :error=\"\n          v$.smtpConfig.mail_port.$error &&\n          v$.smtpConfig.mail_port.$errors[0].$message\n        \"\n        required\n      >\n        <BaseInput\n          v-model.trim=\"mailDriverStore.smtpConfig.mail_port\"\n          :content-loading=\"isFetchingInitialData\"\n          type=\"text\"\n          name=\"mail_port\"\n          :invalid=\"v$.smtpConfig.mail_port.$error\"\n          @input=\"v$.smtpConfig.mail_port.$touch()\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup\n        :label=\"$t('settings.mail.encryption')\"\n        :content-loading=\"isFetchingInitialData\"\n        :error=\"\n          v$.smtpConfig.mail_encryption.$error &&\n          v$.smtpConfig.mail_encryption.$errors[0].$message\n        \"\n        required\n      >\n        <BaseMultiselect\n          v-model.trim=\"mailDriverStore.smtpConfig.mail_encryption\"\n          :content-loading=\"isFetchingInitialData\"\n          :options=\"encryptions\"\n          :searchable=\"true\"\n          :show-labels=\"false\"\n          placeholder=\"Select option\"\n          :invalid=\"v$.smtpConfig.mail_encryption.$error\"\n          @input=\"v$.smtpConfig.mail_encryption.$touch()\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup\n        :label=\"$t('settings.mail.from_mail')\"\n        :content-loading=\"isFetchingInitialData\"\n        :error=\"\n          v$.smtpConfig.from_mail.$error &&\n          v$.smtpConfig.from_mail.$errors[0].$message\n        \"\n        required\n      >\n        <BaseInput\n          v-model.trim=\"mailDriverStore.smtpConfig.from_mail\"\n          :content-loading=\"isFetchingInitialData\"\n          type=\"text\"\n          name=\"from_mail\"\n          :invalid=\"v$.smtpConfig.from_mail.$error\"\n          @input=\"v$.smtpConfig.from_mail.$touch()\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup\n        :label=\"$t('settings.mail.from_name')\"\n        :content-loading=\"isFetchingInitialData\"\n        :error=\"\n          v$.smtpConfig.from_name.$error &&\n          v$.smtpConfig.from_name.$errors[0].$message\n        \"\n        required\n      >\n        <BaseInput\n          v-model.trim=\"mailDriverStore.smtpConfig.from_name\"\n          :content-loading=\"isFetchingInitialData\"\n          type=\"text\"\n          name=\"from_name\"\n          :invalid=\"v$.smtpConfig.from_name.$error\"\n          @input=\"v$.smtpConfig.from_name.$touch()\"\n        />\n      </BaseInputGroup>\n    </BaseInputGrid>\n\n    <div class=\"flex my-10\">\n      <BaseButton\n        :disabled=\"isSaving\"\n        :content-loading=\"isFetchingInitialData\"\n        :loading=\"isSaving\"\n        type=\"submit\"\n        variant=\"primary\"\n      >\n        <template #left=\"slotProps\">\n          <BaseIcon v-if=\"!isSaving\" name=\"SaveIcon\" :class=\"slotProps.class\" />\n        </template>\n        {{ $t('general.save') }}\n      </BaseButton>\n      <slot />\n    </div>\n  </form>\n</template>\n\n<script setup>\nimport { reactive, onMounted, ref, computed } from 'vue'\nimport { required, email, numeric, helpers } from '@vuelidate/validators'\nimport useVuelidate from '@vuelidate/core'\nimport { useI18n } from 'vue-i18n'\nimport { useMailDriverStore } from '@/scripts/admin/stores/mail-driver'\n\nconst props = defineProps({\n  configData: {\n    type: Object,\n    require: true,\n    default: Object,\n  },\n  isSaving: {\n    type: Boolean,\n    require: true,\n    default: false,\n  },\n  isFetchingInitialData: {\n    type: Boolean,\n    require: true,\n    default: false,\n  },\n  mailDrivers: {\n    type: Array,\n    require: true,\n    default: Array,\n  },\n})\n\nconst emit = defineEmits(['submit-data', 'on-change-driver'])\n\nconst mailDriverStore = useMailDriverStore()\nconst { t } = useI18n()\n\nlet isShowPassword = ref(false)\nconst encryptions = reactive(['tls', 'ssl', 'starttls'])\n\nconst getInputType = computed(() => {\n  if (isShowPassword.value) {\n    return 'text'\n  }\n  return 'password'\n})\n\nconst rules = computed(() => {\n  return {\n    smtpConfig: {\n      mail_driver: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n      mail_host: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n      mail_port: {\n        required: helpers.withMessage(t('validation.required'), required),\n        numeric: helpers.withMessage(t('validation.numbers_only'), numeric),\n      },\n      mail_encryption: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n      from_mail: {\n        required: helpers.withMessage(t('validation.required'), required),\n        email: helpers.withMessage(t('validation.email_incorrect'), email),\n      },\n      from_name: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n    },\n  }\n})\n\nconst v$ = useVuelidate(\n  rules,\n  computed(() => mailDriverStore)\n)\n\nonMounted(() => {\n  for (const key in mailDriverStore.smtpConfig) {\n    if (props.configData.hasOwnProperty(key)) {\n      mailDriverStore.smtpConfig[key] = props.configData[key]\n    }\n  }\n})\n\nasync function saveEmailConfig() {\n  v$.value.smtpConfig.$touch()\n  if (!v$.value.smtpConfig.$invalid) {\n    emit('submit-data', mailDriverStore.smtpConfig)\n  }\n  return false\n}\n\nfunction onChangeDriver() {\n  v$.value.smtpConfig.mail_driver.$touch()\n  emit('on-change-driver', mailDriverStore.smtpConfig.mail_driver)\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/users/Create.vue",
    "content": "<template>\n  <BasePage>\n    <BasePageHeader :title=\"pageTitle\">\n      <BaseBreadcrumb>\n        <BaseBreadcrumbItem :title=\"$t('general.home')\" to=\"dashboard\" />\n        <BaseBreadcrumbItem :title=\"$tc('users.user', 2)\" to=\"/admin/users\" />\n        <BaseBreadcrumbItem :title=\"pageTitle\" to=\"#\" active />\n      </BaseBreadcrumb>\n    </BasePageHeader>\n\n    <form action=\"\" autocomplete=\"off\" @submit.prevent=\"submitUser\">\n      <div class=\"grid grid-cols-12\">\n        <BaseCard class=\"mt-6 col-span-12 md:col-span-8\">\n          <BaseInputGrid layout=\"one-column\">\n            <BaseInputGroup\n              :content-loading=\"isFetchingInitialData\"\n              :label=\"$t('users.name')\"\n              :error=\"\n                v$.userData.name.$error && v$.userData.name.$errors[0].$message\n              \"\n              required\n            >\n              <BaseInput\n                v-model.trim=\"userStore.userData.name\"\n                :content-loading=\"isFetchingInitialData\"\n                :invalid=\"v$.userData.name.$error\"\n                @input=\"v$.userData.name.$touch()\"\n              >\n              </BaseInput>\n            </BaseInputGroup>\n\n            <BaseInputGroup\n              :content-loading=\"isFetchingInitialData\"\n              :label=\"$t('users.email')\"\n              :error=\"\n                v$.userData.email.$error &&\n                v$.userData.email.$errors[0].$message\n              \"\n              required\n            >\n              <BaseInput\n                v-model.trim=\"userStore.userData.email\"\n                type=\"email\"\n                :content-loading=\"isFetchingInitialData\"\n                :invalid=\"v$.userData.email.$error\"\n                @input=\"v$.userData.email.$touch()\"\n              >\n              </BaseInput>\n            </BaseInputGroup>\n\n            <BaseInputGroup\n              :content-loading=\"isFetchingInitialData\"\n              :label=\"$t('users.companies')\"\n              :error=\"\n                v$.userData.companies.$error &&\n                v$.userData.companies.$errors[0].$message\n              \"\n              required\n            >\n              <BaseMultiselect\n                v-model=\"userStore.userData.companies\"\n                mode=\"tags\"\n                :object=\"true\"\n                autocomplete=\"new-password\"\n                label=\"name\"\n                :options=\"companies\"\n                value-prop=\"id\"\n                :invalid=\"v$.userData.companies.$error\"\n                :content-loading=\"isFetchingInitialData\"\n                searchable\n                :can-deselect=\"false\"\n                class=\"w-full\"\n                track-by=\"name\"\n              />\n            </BaseInputGroup>\n\n            <ValidateEach\n              v-for=\"(company, i) in userStore.userData.companies\"\n              :key=\"i\"\n              :state=\"company\"\n              :rules=\"companyArrayRules\"\n            >\n              <template #default=\"{ v }\">\n                <div class=\"space-y-6\">\n                  <BaseInputGroup\n                    :content-loading=\"isFetchingInitialData\"\n                    :label=\"\n                      $t('users.select_company_role', { company: company.name })\n                    \"\n                    :error=\"v.role.$error && v.role.$errors[0].$message\"\n                    required\n                  >\n                    <BaseMultiselect\n                      v-model=\"userStore.userData.companies[i].role\"\n                      value-prop=\"name\"\n                      track-by=\"id\"\n                      autocomplete=\"off\"\n                      :content-loading=\"isFetchingInitialData\"\n                      label=\"name\"\n                      :options=\"userStore.userData.companies[i].roles\"\n                      :can-deselect=\"false\"\n                      :invalid=\"v.role.$invalid\"\n                      @change=\"v.role.$touch()\"\n                    />\n                  </BaseInputGroup>\n                </div>\n              </template>\n            </ValidateEach>\n\n            <BaseInputGroup\n              :content-loading=\"isFetchingInitialData\"\n              :label=\"$tc('users.password')\"\n              :error=\"\n                v$.userData.password.$error &&\n                v$.userData.password.$errors[0].$message\n              \"\n              :required=\"!isEdit\"\n            >\n              <BaseInput\n                v-model=\"userStore.userData.password\"\n                name=\"new-password\"\n                autocomplete=\"new-password\"\n                :content-loading=\"isFetchingInitialData\"\n                type=\"password\"\n                :invalid=\"v$.userData.password.$error\"\n                @input=\"v$.userData.password.$touch()\"\n              >\n              </BaseInput>\n            </BaseInputGroup>\n\n            <BaseInputGroup\n              :content-loading=\"isFetchingInitialData\"\n              :label=\"$t('users.phone')\"\n            >\n              <BaseInput\n                v-model.trim=\"userStore.userData.phone\"\n                :content-loading=\"isFetchingInitialData\"\n              ></BaseInput>\n            </BaseInputGroup>\n          </BaseInputGrid>\n\n          <BaseButton\n            :content-loading=\"isFetchingInitialData\"\n            type=\"submit\"\n            :loading=\"isSaving\"\n            :disabled=\"isSaving\"\n            class=\"mt-6\"\n          >\n            <template #left=\"slotProps\">\n              <BaseIcon\n                v-if=\"!isSaving\"\n                name=\"SaveIcon\"\n                :class=\"slotProps.class\"\n              />\n            </template>\n            {{ isEdit ? $t('users.update_user') : $t('users.save_user') }}\n          </BaseButton>\n        </BaseCard>\n      </div>\n    </form>\n  </BasePage>\n</template>\n\n<script setup>\nimport { ref, computed, reactive } from 'vue'\nimport { useRouter, useRoute } from 'vue-router'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\nimport {\n  required,\n  minLength,\n  email,\n  requiredIf,\n  helpers,\n} from '@vuelidate/validators'\nimport useVuelidate from '@vuelidate/core'\nimport { ValidateEach } from '@vuelidate/components'\nimport { useI18n } from 'vue-i18n'\nimport { useUsersStore } from '@/scripts/admin/stores/users'\n\nconst userStore = useUsersStore()\n\nconst { t } = useI18n()\nconst route = useRoute()\nconst router = useRouter()\nconst companyStore = useCompanyStore()\n\nlet isSaving = ref(false)\nlet isFetchingInitialData = ref(false)\nlet selectedCompanies = ref([])\nlet companies = ref([])\n\nconst isEdit = computed(() => route.name === 'users.edit')\n\nconst pageTitle = computed(() =>\n  isEdit.value ? t('users.edit_user') : t('users.new_user')\n)\n\nconst rules = computed(() => {\n  return {\n    userData: {\n      name: {\n        required: helpers.withMessage(t('validation.required'), required),\n        minLength: helpers.withMessage(\n          t('validation.name_min_length', { count: 3 }),\n          minLength(3)\n        ),\n      },\n      email: {\n        required: helpers.withMessage(t('validation.required'), required),\n        email: helpers.withMessage(t('validation.email_incorrect'), email),\n      },\n      password: {\n        required: requiredIf(function () {\n          helpers.withMessage(t('validation.required'), required)\n          return !isEdit.value\n        }),\n        minLength: helpers.withMessage(\n          t('validation.password_min_length', { count: 8 }),\n          minLength(8)\n        ),\n      },\n      companies: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n    },\n  }\n})\n\nconst companyArrayRules = {\n  role: {\n    required: helpers.withMessage(t('validation.required'), required),\n  },\n}\n\nconst v$ = useVuelidate(rules, userStore, {\n  $scope: true,\n})\n\nloadInitialData()\n\nuserStore.resetUserData()\n\nasync function loadInitialData() {\n  isFetchingInitialData.value = true\n  try {\n    if (isEdit.value) {\n      await userStore.fetchUser(route.params.id)\n    }\n\n    let res = await companyStore.fetchUserCompanies()\n\n    if (res?.data?.data) {\n      companies.value = res.data.data.map((r) => {\n        r.role = null\n\n        return r\n      })\n    }\n  } catch {\n    isFetchingInitialData.value = false\n  }\n\n  isFetchingInitialData.value = false\n}\n\nasync function submitUser() {\n  v$.value.$touch()\n\n  if (v$.value.$invalid) {\n    return true\n  }\n\n  try {\n    isSaving.value = true\n    let data = {\n      ...userStore.userData,\n      companies: userStore.userData.companies.map((c) => {\n        return {\n          role: c.role,\n          id: c.id,\n        }\n      }),\n    }\n\n    const action = isEdit.value ? userStore.updateUser : userStore.addUser\n    await action(data)\n\n    router.push('/admin/users')\n    isSaving.value = false\n  } catch (error) {\n    isSaving.value = false\n  }\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/admin/views/users/Index.vue",
    "content": "<template>\n  <BasePage>\n    <!-- Page Header Section -->\n    <BasePageHeader :title=\"$t('users.title')\">\n      <BaseBreadcrumb>\n        <BaseBreadcrumbItem :title=\"$t('general.home')\" to=\"dashboard\" />\n        <BaseBreadcrumbItem :title=\"$tc('users.title', 2)\" to=\"#\" active />\n      </BaseBreadcrumb>\n\n      <template #actions>\n        <div class=\"flex items-center justify-end space-x-5\">\n          <BaseButton\n            v-show=\"usersStore.totalUsers\"\n            variant=\"primary-outline\"\n            @click=\"toggleFilter\"\n          >\n            {{ $t('general.filter') }}\n            <template #right=\"slotProps\">\n              <BaseIcon\n                v-if=\"!showFilters\"\n                name=\"FilterIcon\"\n                :class=\"slotProps.class\"\n              />\n              <BaseIcon v-else name=\"XIcon\" :class=\"slotProps.class\" />\n            </template>\n          </BaseButton>\n\n          <BaseButton\n            v-if=\"userStore.currentUser.is_owner\"\n            @click=\"$router.push('users/create')\"\n          >\n            <template #left=\"slotProps\">\n              <BaseIcon\n                name=\"PlusIcon\"\n                :class=\"slotProps.class\"\n                aria-hidden=\"true\"\n              />\n            </template>\n            {{ $t('users.add_user') }}\n          </BaseButton>\n        </div>\n      </template>\n    </BasePageHeader>\n\n    <BaseFilterWrapper :show=\"showFilters\" class=\"mt-3\" @clear=\"clearFilter\">\n      <BaseInputGroup :label=\"$tc('users.name')\" class=\"flex-1 mt-2 mr-4\">\n        <BaseInput\n          v-model=\"filters.name\"\n          type=\"text\"\n          name=\"name\"\n          autocomplete=\"off\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup :label=\"$tc('users.email')\" class=\"flex-1 mt-2 mr-4\">\n        <BaseInput\n          v-model=\"filters.email\"\n          type=\"text\"\n          name=\"email\"\n          autocomplete=\"off\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup class=\"flex-1 mt-2\" :label=\"$tc('users.phone')\">\n        <BaseInput\n          v-model=\"filters.phone\"\n          type=\"text\"\n          name=\"phone\"\n          autocomplete=\"off\"\n        />\n      </BaseInputGroup>\n    </BaseFilterWrapper>\n\n    <!-- User Empty Placeholder -->\n\n    <BaseEmptyPlaceholder\n      v-show=\"showEmptyScreen\"\n      :title=\"$t('users.no_users')\"\n      :description=\"$t('users.list_of_users')\"\n    >\n      <AstronautIcon class=\"mt-5 mb-4\" />\n\n      <template #actions>\n        <BaseButton\n          v-if=\"userStore.currentUser.is_owner\"\n          variant=\"primary-outline\"\n          @click=\"$router.push('/admin/users/create')\"\n        >\n          <template #left=\"slotProps\">\n            <BaseIcon name=\"PlusIcon\" :class=\"slotProps.class\" />\n          </template>\n          {{ $t('users.add_user') }}\n        </BaseButton>\n      </template>\n    </BaseEmptyPlaceholder>\n\n    <div v-show=\"!showEmptyScreen\" class=\"relative table-container\">\n      <div\n        class=\"\n          relative\n          flex\n          items-center\n          justify-end\n          h-5\n          border-gray-200 border-solid\n        \"\n      >\n        <BaseDropdown v-if=\"usersStore.selectedUsers.length\">\n          <template #activator>\n            <span\n              class=\"\n                flex\n                text-sm\n                font-medium\n                cursor-pointer\n                select-none\n                text-primary-400\n              \"\n            >\n              {{ $t('general.actions') }}\n              <BaseIcon name=\"ChevronDownIcon\" class=\"h-5\" />\n            </span>\n          </template>\n          <BaseDropdownItem @click=\"removeMultipleUsers\">\n            <BaseIcon name=\"TrashIcon\" class=\"h-5 mr-3 text-gray-600\" />\n            {{ $t('general.delete') }}\n          </BaseDropdownItem>\n        </BaseDropdown>\n      </div>\n\n      <BaseTable\n        ref=\"table\"\n        :data=\"fetchData\"\n        :columns=\"userTableColumns\"\n        class=\"mt-3\"\n      >\n        <!-- Select All Checkbox -->\n        <template #header>\n          <div class=\"absolute z-10 items-center left-6 top-2.5 select-none\">\n            <BaseCheckbox\n              v-model=\"selectAllFieldStatus\"\n              variant=\"primary\"\n              @change=\"usersStore.selectAllUsers\"\n            />\n          </div>\n        </template>\n        <template #cell-status=\"{ row }\">\n          <div class=\"custom-control custom-checkbox\">\n            <BaseCheckbox\n              :id=\"row.data.id\"\n              v-model=\"selectField\"\n              :value=\"row.data.id\"\n              variant=\"primary\"\n            />\n          </div>\n        </template>\n\n        <template #cell-name=\"{ row }\">\n          <router-link\n            :to=\"{ path: `users/${row.data.id}/edit` }\"\n            class=\"font-medium text-primary-500\"\n          >\n            {{ row.data.name }}\n          </router-link>\n        </template>\n\n        <template #cell-phone=\"{ row }\">\n          <span>{{ row.data.phone ? row.data.phone : '-' }} </span>\n        </template>\n\n        <template #cell-created_at=\"{ row }\">\n          <span>{{ row.data.formatted_created_at }}</span>\n        </template>\n\n        <template v-if=\"userStore.currentUser.is_owner\" #cell-actions=\"{ row }\">\n          <UserDropdown\n            :row=\"row.data\"\n            :table=\"table\"\n            :load-data=\"refreshTable\"\n          />\n        </template>\n      </BaseTable>\n    </div>\n  </BasePage>\n</template>\n\n<script setup>\nimport { computed, onUnmounted, ref, reactive, onMounted, watch } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { useRouter } from 'vue-router'\nimport { useUsersStore } from '@/scripts/admin/stores/users'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport { useDialogStore } from '@/scripts/stores/dialog'\nimport { useUserStore } from '@/scripts/admin/stores/user'\nimport AstronautIcon from '@/scripts/components/icons/empty/AstronautIcon.vue'\nimport UserDropdown from '@/scripts/admin/components/dropdowns/UserIndexDropdown.vue'\nimport abilities from '@/scripts/admin/stub/abilities'\n\nconst notificationStore = useNotificationStore()\nconst dialogStore = useDialogStore()\nconst usersStore = useUsersStore()\nconst userStore = useUserStore()\n\nconst router = useRouter()\n\nlet showFilters = ref(false)\nlet isFetchingInitialData = ref(true)\nlet id = ref(null)\nlet sortedBy = ref('created_at')\nlet isLoading = ref(false)\nconst { t } = useI18n()\nlet table = ref(null)\n\nlet filters = reactive({\n  name: '',\n  email: '',\n  phone: '',\n})\n\nconst userTableColumns = computed(() => {\n  return [\n    {\n      key: 'status',\n      thClass: 'extra',\n      tdClass: 'font-medium text-gray-900',\n      sortable: false,\n    },\n    {\n      key: 'name',\n      label: t('users.name'),\n      thClass: 'extra',\n      tdClass: 'font-medium text-gray-900',\n    },\n    { key: 'email', label: 'Email' },\n    {\n      key: 'phone',\n      label: t('users.phone'),\n    },\n    {\n      key: 'created_at',\n      label: t('users.added_on'),\n    },\n    {\n      key: 'actions',\n      tdClass: 'text-right text-sm font-medium',\n      sortable: false,\n    },\n  ]\n})\n\nconst showEmptyScreen = computed(() => {\n  return !usersStore.totalUsers && !isFetchingInitialData.value\n})\n\nconst selectField = computed({\n  get: () => usersStore.selectedUsers,\n  set: (value) => {\n    return usersStore.selectUser(value)\n  },\n})\n\nconst selectAllFieldStatus = computed({\n  get: () => usersStore.selectAllField,\n  set: (value) => {\n    return usersStore.setSelectAllState(value)\n  },\n})\n\nwatch(\n  filters,\n  () => {\n    setFilters()\n  },\n  { deep: true }\n)\n\nonMounted(() => {\n  usersStore.fetchUsers()\n  usersStore.fetchRoles()\n})\n\nonUnmounted(() => {\n  if (usersStore.selectAllField) {\n    usersStore.selectAllUsers()\n  }\n})\n\nfunction selectAllUser(params) {\n  usersStore.selectAllUsers()\n}\n\nfunction setFilters() {\n  refreshTable()\n}\n\nfunction refreshTable() {\n  table.value && table.value.refresh()\n}\n\nasync function fetchData({ page, filter, sort }) {\n  let data = {\n    display_name: filters.name !== null ? filters.name : '',\n    phone: filters.phone !== null ? filters.phone : '',\n    email: filters.email !== null ? filters.email : '',\n    orderByField: sort.fieldName || 'created_at',\n    orderBy: sort.order || 'desc',\n    page,\n  }\n\n  isFetchingInitialData.value = true\n\n  let response = await usersStore.fetchUsers(data)\n\n  isFetchingInitialData.value = false\n\n  return {\n    data: response.data.data,\n    pagination: {\n      totalPages: response.data.meta.last_page,\n      currentPage: page,\n      totalCount: response.data.meta.total,\n      limit: 10,\n    },\n  }\n}\n\nfunction clearFilter() {\n  filters.name = ''\n  filters.email = ''\n  filters.phone = null\n}\n\nfunction toggleFilter() {\n  if (showFilters.value) {\n    clearFilter()\n  }\n\n  showFilters.value = !showFilters.value\n}\n\nfunction removeUser(id) {\n  dialogStore\n    .openDialog({\n      title: t('general.are_you_sure'),\n      message: t('users.confirm_delete', 1),\n      yesLabel: t('general.ok'),\n      noLabel: t('general.cancel'),\n      variant: 'danger',\n      size: 'lg',\n      hideNoButton: false,\n    })\n    .then((res) => {\n      if (res) {\n        let user = [id]\n        usersStore.deleteUser(user).then((response) => {\n          if (response.data.success) {\n            table.value && table.value.refresh()\n            return true\n          }\n\n          if (response.data.error === 'user_attached') {\n            notificationStore.showNotification({\n              type: 'error',\n              message: t('users.user_attached_message'),\n            })\n            return true\n          }\n        })\n      }\n    })\n}\n\nfunction removeMultipleUsers() {\n  dialogStore\n    .openDialog({\n      title: t('general.are_you_sure'),\n      message: t('users.confirm_delete', 2),\n      yesLabel: t('general.ok'),\n      noLabel: t('general.cancel'),\n      variant: 'danger',\n      size: 'lg',\n      hideNoButton: false,\n    })\n    .then((res) => {\n      if (res) {\n        usersStore.deleteMultipleUsers().then((res) => {\n          if (res.data.success) {\n            table.value && table.value.refresh()\n          }\n        })\n      }\n    })\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/components/CompanySwitcher.vue",
    "content": "<template>\n  <div ref=\"companySwitchBar\" class=\"relative rounded\">\n    <CompanyModal />\n\n    <div\n      class=\"\n        flex\n        items-center\n        justify-center\n        px-3\n        h-8\n        md:h-9\n        ml-2\n        text-sm text-white\n        bg-white\n        rounded\n        cursor-pointer\n        bg-opacity-20\n      \"\n      @click=\"isShow = !isShow\"\n    >\n      <span\n        v-if=\"companyStore.selectedCompany\"\n        class=\"w-16 text-sm font-medium truncate sm:w-auto\"\n      >\n        {{ companyStore.selectedCompany.name }}\n      </span>\n      <BaseIcon name=\"ChevronDownIcon\" class=\"h-5 ml-1 text-white\" />\n    </div>\n\n    <transition\n      enter-active-class=\"transition duration-200 ease-out\"\n      enter-from-class=\"translate-y-1 opacity-0\"\n      enter-to-class=\"translate-y-0 opacity-100\"\n      leave-active-class=\"transition duration-150 ease-in\"\n      leave-from-class=\"translate-y-0 opacity-100\"\n      leave-to-class=\"translate-y-1 opacity-0\"\n    >\n      <div\n        v-if=\"isShow\"\n        class=\"absolute right-0 mt-2 bg-white rounded-md shadow-lg\"\n      >\n        <div\n          class=\"\n            overflow-y-auto\n            scrollbar-thin scrollbar-thumb-rounded-full\n            w-[250px]\n            max-h-[350px]\n            scrollbar-thumb-gray-300 scrollbar-track-gray-10\n            pb-4\n          \"\n        >\n          <label\n            class=\"\n              px-3\n              py-2\n              text-xs\n              font-semibold\n              text-gray-400\n              mb-0.5\n              block\n              uppercase\n            \"\n          >\n            {{ $t('company_switcher.label') }}\n          </label>\n\n          <div\n            v-if=\"companyStore.companies.length < 1\"\n            class=\"\n              flex flex-col\n              items-center\n              justify-center\n              p-2\n              px-3\n              mt-4\n              text-base text-gray-400\n            \"\n          >\n            <BaseIcon name=\"ExclamationCircleIcon\" class=\"h-5 text-gray-400\" />\n            {{ $t('company_switcher.no_results_found') }}\n          </div>\n          <div v-else>\n            <div v-if=\"companyStore.companies.length > 0\">\n              <div\n                v-for=\"(company, index) in companyStore.companies\"\n                :key=\"index\"\n                class=\"\n                  p-2\n                  px-3\n                  rounded-md\n                  cursor-pointer\n                  hover:bg-gray-100 hover:text-primary-500\n                \"\n                :class=\"{\n                  'bg-gray-100 text-primary-500':\n                    companyStore.selectedCompany.id === company.id,\n                }\"\n                @click=\"changeCompany(company)\"\n              >\n                <div class=\"flex items-center\">\n                  <span\n                    class=\"\n                      flex\n                      items-center\n                      justify-center\n                      mr-3\n                      overflow-hidden\n                      text-base\n                      font-semibold\n                      bg-gray-200\n                      rounded-md\n                      w-9\n                      h-9\n                      text-primary-500\n                    \"\n                  >\n                    <span v-if=\"!company.logo\">\n                      {{ initGenerator(company.name) }}\n                    </span>\n                    <img\n                      v-else\n                      :src=\"company.logo\"\n                      alt=\"Company logo\"\n                      class=\"w-full h-full object-contain\"\n                    />\n                  </span>\n                  <div class=\"flex flex-col\">\n                    <span class=\"text-sm\">{{ company.name }}</span>\n                  </div>\n                </div>\n              </div>\n            </div>\n          </div>\n        </div>\n        <div\n          v-if=\"userStore.currentUser.is_owner\"\n          class=\"\n            flex\n            items-center\n            justify-center\n            p-4\n            pl-3\n            border-t-2 border-gray-100\n            cursor-pointer\n            text-primary-400\n            hover:text-primary-500\n          \"\n          @click=\"addNewCompany\"\n        >\n          <BaseIcon name=\"PlusIcon\" class=\"h-5 mr-2\" />\n\n          <span class=\"font-medium\">\n            {{ $t('company_switcher.add_new_company') }}\n          </span>\n        </div>\n      </div>\n    </transition>\n  </div>\n</template>\n\n<script setup>\nimport { ref, watch } from 'vue'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\nimport { onClickOutside } from '@vueuse/core'\nimport { useRoute, useRouter } from 'vue-router'\nimport { useModalStore } from '../stores/modal'\nimport { useI18n } from 'vue-i18n'\nimport { useGlobalStore } from '@/scripts/admin//stores/global'\nimport { useUserStore } from '@/scripts/admin/stores/user'\n\nimport CompanyModal from '@/scripts/admin/components/modal-components/CompanyModal.vue'\nimport abilities from '@/scripts/admin/stub/abilities'\n\nconst companyStore = useCompanyStore()\nconst modalStore = useModalStore()\nconst route = useRoute()\nconst router = useRouter()\nconst globalStore = useGlobalStore()\nconst { t } = useI18n()\nconst userStore = useUserStore()\nconst isShow = ref(false)\nconst name = ref('')\nconst companySwitchBar = ref(null)\n\nwatch(route, () => {\n  isShow.value = false\n  name.value = ''\n})\n\nonClickOutside(companySwitchBar, () => {\n  isShow.value = false\n})\n\nfunction initGenerator(name) {\n  if (name) {\n    const nameSplit = name.split(' ')\n    const initials = nameSplit[0].charAt(0).toUpperCase()\n    return initials\n  }\n}\n\nfunction addNewCompany() {\n  modalStore.openModal({\n    title: t('company_switcher.new_company'),\n    componentName: 'CompanyModal',\n    size: 'sm',\n  })\n}\n\nasync function changeCompany(company) {\n  await companyStore.setSelectedCompany(company)\n  router.push('/admin/dashboard')\n  await globalStore.setIsAppLoaded(false)\n  await globalStore.bootstrap()\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/components/GlobalSearchBar.vue",
    "content": "<template>\n  <div ref=\"searchBar\" class=\"hidden rounded md:block relative\">\n    <div>\n      <BaseInput\n        v-model=\"name\"\n        placeholder=\"Search...\"\n        container-class=\"!rounded\"\n        class=\"h-8 md:h-9 !rounded\"\n        @input=\"onSearch\"\n      >\n        <template #left>\n          <BaseIcon name=\"SearchIcon\" class=\"text-gray-400\" />\n        </template>\n        <template #right>\n          <SpinnerIcon v-if=\"isSearching\" class=\"h-5 text-primary-500\" />\n        </template>\n      </BaseInput>\n    </div>\n    <transition\n      enter-active-class=\"transition duration-200 ease-out\"\n      enter-from-class=\"translate-y-1 opacity-0\"\n      enter-to-class=\"translate-y-0 opacity-100\"\n      leave-active-class=\"transition duration-150 ease-in\"\n      leave-from-class=\"translate-y-0 opacity-100\"\n      leave-to-class=\"translate-y-1 opacity-0\"\n    >\n      <div\n        v-if=\"isShow\"\n        class=\"\n          scrollbar-thin\n          scrollbar-thumb-rounded-full\n          scrollbar-thumb-gray-300\n          scrollbar-track-gray-100\n          overflow-y-auto\n          bg-white\n          rounded-md\n          mt-2\n          shadow-lg\n          p-3\n          absolute\n          w-[300px]\n          h-[200px]\n          right-0\n        \"\n      >\n        <div\n          v-if=\"\n            usersStore.userList.length < 1 && usersStore.customerList.length < 1\n          \"\n          class=\"\n            flex\n            items-center\n            justify-center\n            text-gray-400 text-base\n            flex-col\n            mt-4\n          \"\n        >\n          <BaseIcon name=\"ExclamationCircleIcon\" class=\"text-gray-400\" />\n\n          {{ $t('global_search.no_results_found') }}\n        </div>\n        <div v-else>\n          <div v-if=\"usersStore.customerList.length > 0\">\n            <label class=\"text-sm text-gray-400 mb-0.5 block px-2 uppercase\">\n              {{ $t('global_search.customers') }}\n            </label>\n            <div\n              v-for=\"(customer, index) in usersStore.customerList\"\n              :key=\"index\"\n              class=\"p-2 hover:bg-gray-100 cursor-pointer rounded-md\"\n            >\n              <router-link\n                :to=\"{ path: `/admin/customers/${customer.id}/view` }\"\n                class=\"flex items-center\"\n              >\n                <span\n                  class=\"\n                    flex\n                    items-center\n                    justify-center\n                    w-9\n                    h-9\n                    mr-3\n                    text-base\n                    font-semibold\n                    bg-gray-200\n                    rounded-full\n                    text-primary-500\n                  \"\n                >\n                  {{ initGenerator(customer.name) }}\n                </span>\n                <div class=\"flex flex-col\">\n                  <span class=\"text-sm\">{{ customer.name }}</span>\n                  <span\n                    v-if=\"customer.contact_name\"\n                    class=\"text-xs text-gray-400\"\n                  >\n                    {{ customer.contact_name }}\n                  </span>\n                  <span v-else class=\"text-xs text-gray-400\">{{\n                    customer.email\n                  }}</span>\n                </div>\n              </router-link>\n            </div>\n          </div>\n\n          <div v-if=\"usersStore.userList.length > 0\" class=\"mt-2\">\n            <label\n              class=\"text-sm text-gray-400 mb-2 block px-2 mb-0.5 uppercase\"\n            >\n              {{ $t('global_search.users') }}\n            </label>\n            <div\n              v-for=\"(user, index) in usersStore.userList\"\n              :key=\"index\"\n              class=\"p-2 hover:bg-gray-100 cursor-pointer rounded-md\"\n            >\n              <router-link\n                :to=\"{ path: `/admin/users/${user.id}/edit` }\"\n                class=\"flex items-center\"\n              >\n                <span\n                  class=\"\n                    flex\n                    items-center\n                    justify-center\n                    w-9\n                    h-9\n                    mr-3\n                    text-base\n                    font-semibold\n                    bg-gray-200\n                    rounded-full\n                    text-primary-500\n                  \"\n                >\n                  {{ initGenerator(user.name) }}\n                </span>\n                <div class=\"flex flex-col\">\n                  <span class=\"text-sm\">{{ user.name }}</span>\n                  <span class=\"text-xs text-gray-400\">{{ user.email }}</span>\n                </div>\n              </router-link>\n            </div>\n          </div>\n        </div>\n      </div>\n    </transition>\n  </div>\n</template>\n\n<script setup>\nimport { ref, watch } from 'vue'\nimport { useUsersStore } from '@/scripts/admin/stores/users'\nimport { onClickOutside } from '@vueuse/core'\nimport { useRoute } from 'vue-router'\nimport SpinnerIcon from '@/scripts/components/icons/SpinnerIcon.vue'\nimport { debounce } from 'lodash'\n\nconst usersStore = useUsersStore()\n\nconst isShow = ref(false)\nconst name = ref('')\nconst searchBar = ref(null)\nconst isSearching = ref(false)\nconst route = useRoute()\n\nwatch(route, () => {\n  isShow.value = false\n  name.value = ''\n})\n\nonSearch = debounce(onSearch, 500)\n\nonClickOutside(searchBar, () => {\n  isShow.value = false\n  name.value = ''\n})\n\nfunction onSearch() {\n  let data = {\n    search: name.value,\n  }\n\n  if (name.value) {\n    isSearching.value = true\n    usersStore.searchUsers(data).then(() => {\n      isShow.value = true\n    })\n    isSearching.value = false\n  }\n  if (name.value === '') {\n    isShow.value = false\n  }\n}\n\nfunction initGenerator(name) {\n  if (name) {\n    const nameSplit = name.split(' ')\n    const initials = nameSplit[0].charAt(0).toUpperCase()\n    return initials\n  }\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/components/InvoiceInformationCard.vue",
    "content": "<template>\n  <div class=\"bg-white shadow overflow-hidden rounded-lg mt-6\">\n    <div class=\"px-4 py-5 sm:px-6\">\n      <h3 class=\"text-lg leading-6 font-medium text-gray-900\">\n        {{ $t('invoices.invoice_information') }}\n      </h3>\n    </div>\n    <div v-if=\"invoice\" class=\"border-t border-gray-200 px-4 py-5 sm:p-0\">\n      <dl class=\"sm:divide-y sm:divide-gray-200\">\n        <div class=\"py-4 sm:py-5 sm:grid sm:grid-cols-3 sm:gap-4 sm:px-6\">\n          <dt class=\"text-sm font-medium text-gray-500\">\n            {{ $t('general.from') }}\n          </dt>\n          <dd class=\"mt-1 text-sm text-gray-900 sm:mt-0 sm:col-span-2\">\n            {{ invoice.company.name }}\n          </dd>\n        </div>\n        <div class=\"py-4 sm:py-5 sm:grid sm:grid-cols-3 sm:gap-4 sm:px-6\">\n          <dt class=\"text-sm font-medium text-gray-500\">\n            {{ $t('general.to') }}\n          </dt>\n          <dd class=\"mt-1 text-sm text-gray-900 sm:mt-0 sm:col-span-2\">\n            {{ invoice.customer.name }}\n          </dd>\n        </div>\n        <div class=\"py-4 sm:py-5 sm:grid sm:grid-cols-3 sm:gap-4 sm:px-6\">\n          <dt class=\"text-sm font-medium text-gray-500 capitalize\">\n            {{ $t('invoices.paid_status').toLowerCase() }}\n          </dt>\n          <dd class=\"mt-1 text-sm text-gray-900 sm:mt-0 sm:col-span-2\">\n            <BaseInvoiceStatusBadge\n              :status=\"invoice.paid_status\"\n              class=\"px-3 py-1\"\n            >\n              {{ invoice.paid_status }}\n            </BaseInvoiceStatusBadge>\n          </dd>\n        </div>\n        <div class=\"py-4 sm:py-5 sm:grid sm:grid-cols-3 sm:gap-4 sm:px-6\">\n          <dt class=\"text-sm font-medium text-gray-500\">\n            {{ $t('invoices.total') }}\n          </dt>\n          <dd class=\"mt-1 text-sm text-gray-900 sm:mt-0 sm:col-span-2\">\n            <BaseFormatMoney\n              :currency=\"invoice.currency\"\n              :amount=\"invoice.total\"\n            />\n          </dd>\n        </div>\n        <div\n          v-if=\"invoice.formatted_notes\"\n          class=\"py-4 sm:py-5 sm:grid sm:grid-cols-3 sm:gap-4 sm:px-6\"\n        >\n          <dt class=\"text-sm font-medium text-gray-500\">\n            {{ $t('invoices.notes') }}\n          </dt>\n          <dd class=\"mt-1 text-sm text-gray-900 sm:mt-0 sm:col-span-2\">\n            <span v-html=\"invoice.formatted_notes\"></span>\n          </dd>\n        </div>\n      </dl>\n    </div>\n    <div v-else class=\"w-full flex items-center justify-center p-5\">\n      <BaseSpinner class=\"text-primary-500 h-10 w-10\" />\n    </div>\n  </div>\n</template>\n\n<script setup>\nconst props = defineProps({\n  invoice: {\n    type: [Object, null],\n    required: true,\n  },\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/components/InvoicePublicPage.vue",
    "content": "I\n<template>\n  <div class=\"h-screen overflow-y-auto min-h-0\">\n    <div class=\"bg-gradient-to-r from-primary-500 to-primary-400 h-5\"></div>\n\n    <div\n      class=\"\n        relative\n        p-6\n        pb-28\n        px-4\n        md:px-6\n        w-full\n        md:w-auto md:max-w-xl\n        mx-auto\n      \"\n    >\n      <BasePageHeader :title=\"pageTitle || ''\">\n        <template #actions>\n          <div\n            class=\"\n              flex flex-col\n              md:flex-row\n              absolute\n              md:relative\n              bottom-2\n              left-0\n              px-4\n              md:px-0\n              w-full\n              md:space-x-4 md:space-y-0\n              space-y-2\n            \"\n          >\n            <a :href=\"shareableLink\" target=\"_blank\" class=\"block w-full\">\n              <BaseButton\n                variant=\"primary-outline\"\n                class=\"justify-center w-full\"\n              >\n                {{ $t('general.download_pdf') }}\n              </BaseButton>\n            </a>\n\n            <BaseButton\n              v-if=\"\n                invoiceData &&\n                invoiceData.paid_status !== 'PAID' &&\n                invoiceData.payment_module_enabled\n              \"\n              variant=\"primary\"\n              class=\"justify-center\"\n              @click=\"payInvoice\"\n            >\n              {{ $t('general.pay_invoice') }}\n            </BaseButton>\n          </div>\n        </template>\n      </BasePageHeader>\n\n      <InvoiceInformationCard :invoice=\"invoiceData\" />\n\n      <div\n        v-if=\"!customerLogo\"\n        class=\"flex items-center justify-center mt-4 text-gray-500 font-normal\"\n      >\n        Powered by\n        <a href=\"https://craterapp.com\" target=\"_blank\">\n          <img :src=\"getLogo()\" class=\"h-4 ml-1 mb-1\" />\n        </a>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script setup>\nimport axios from 'axios'\nimport { ref, reactive, computed, onMounted } from 'vue'\nimport { useRoute, useRouter } from 'vue-router'\nimport InvoiceInformationCard from '@/scripts/components/InvoiceInformationCard.vue'\n\nlet invoiceData = ref(null)\nconst route = useRoute()\nconst router = useRouter()\n\nloadInvoice()\n\nasync function loadInvoice() {\n  let res = await axios.get(`/customer/invoices/${route.params.hash}`)\n  invoiceData.value = res.data.data\n}\n\nconst shareableLink = computed(() => {\n  return route.path + '?pdf'\n})\n\nfunction getLogo() {\n  const imgUrl = new URL('/img/crater-logo-gray.png', import.meta.url)\n  return imgUrl\n}\n\nconst customerLogo = computed(() => {\n  if (window.customer_logo) {\n    return window.customer_logo\n  }\n\n  return false\n})\n\nconst pageTitle = computed(() => invoiceData.value?.invoice_number)\n\nfunction payInvoice() {\n  router.push({\n    name: 'invoice.pay',\n    params: {\n      hash: route.params.hash,\n      company: invoiceData.value.company.slug,\n    },\n  })\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/components/base/BaseBadge.vue",
    "content": "<template>\n  <span\n    class=\"\n      px-2\n      py-1\n      text-sm\n      font-normal\n      text-center text-green-800\n      uppercase\n      bg-success\n    \"\n    :style=\"{ backgroundColor: bgColor, color }\"\n  >\n    <slot />\n  </span>\n</template>\n\n<script setup>\nconst props = defineProps({\n  bgColor: {\n    type: String,\n    default: null,\n  },\n  color: {\n    type: String,\n    default: null,\n  },\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/components/base/BaseBreadcrumb.vue",
    "content": "<template>\n  <nav>\n    <ol class=\"flex flex-wrap py-4 text-gray-900 rounded list-reset\">\n      <slot />\n    </ol>\n  </nav>\n</template>\n\n<script>\nexport default {\n  name: 'BaseBreadcrumb',\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/components/base/BaseBreadcrumbItem.vue",
    "content": "<template>\n  <li class=\"pr-2 text-sm\">\n    <router-link\n      class=\"\n        m-0\n        mr-2\n        text-sm\n        font-medium\n        leading-5\n        text-gray-900\n        outline-none\n        focus:ring-2 focus:ring-offset-2 focus:ring-primary-400\n      \"\n      :to=\"to\"\n    >\n      {{ title }}\n    </router-link>\n\n    <span v-if=\"!active\" class=\"px-1\">/</span>\n  </li>\n</template>\n\n<script setup>\nlet name = 'BaseBreadcrumItem'\n\nconst props = defineProps({\n  title: {\n    type: String,\n    default: String,\n  },\n  to: {\n    type: String,\n    default: '#',\n  },\n  active: {\n    type: Boolean,\n    default: false,\n    required: false,\n  },\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/components/base/BaseButton.vue",
    "content": "<script setup>\nimport { computed, ref } from 'vue'\nimport SpinnerIcon from '@/scripts/components/icons/SpinnerIcon.vue'\nconst props = defineProps({\n  contentLoading: {\n    type: Boolean,\n    default: false,\n  },\n  defaultClass: {\n    type: String,\n    default:\n      'inline-flex whitespace-nowrap items-center border font-medium focus:outline-none focus:ring-2 focus:ring-offset-2',\n  },\n  tag: {\n    type: String,\n    default: 'button',\n  },\n  disabled: {\n    type: Boolean,\n    default: false,\n  },\n  rounded: {\n    type: Boolean,\n    default: false,\n  },\n  loading: {\n    type: Boolean,\n    default: false,\n  },\n  size: {\n    type: String,\n    default: 'md',\n    validator: function (value) {\n      return ['xs', 'sm', 'md', 'lg', 'xl'].indexOf(value) !== -1\n    },\n  },\n  variant: {\n    type: String,\n    default: 'primary',\n    validator: function (value) {\n      return (\n        [\n          'primary',\n          'secondary',\n          'primary-outline',\n          'white',\n          'danger',\n          'gray',\n        ].indexOf(value) !== -1\n      )\n    },\n  },\n})\n\nconst sizeClass = computed(() => {\n  return {\n    'px-2.5 py-1.5 text-xs leading-4 rounded': props.size === 'xs',\n    'px-3 py-2 text-sm leading-4 rounded-md': props.size == 'sm',\n    'px-4 py-2 text-sm leading-5 rounded-md': props.size === 'md',\n    'px-4 py-2 text-base leading-6 rounded-md': props.size === 'lg',\n    'px-6 py-3 text-base leading-6 rounded-md': props.size === 'xl',\n  }\n})\n\nconst placeHolderSize = computed(() => {\n  switch (props.size) {\n    case 'xs':\n      return '32'\n    case 'sm':\n      return '38'\n    case 'md':\n      return '42'\n    case 'lg':\n      return '42'\n    case 'xl':\n      return '46'\n    default:\n      return ''\n  }\n})\n\nconst variantClass = computed(() => {\n  return {\n    'border-transparent shadow-sm text-white bg-primary-600 hover:bg-primary-700 focus:ring-primary-500':\n      props.variant === 'primary',\n    'border-transparent text-primary-700 bg-primary-100 hover:bg-primary-200 focus:ring-primary-500':\n      props.variant === 'secondary',\n    'border-transparent  border-solid border-primary-500 font-normal transition ease-in-out duration-150 text-primary-500 hover:bg-primary-200 shadow-inner focus:ring-primary-500':\n      props.variant == 'primary-outline',\n    'border-gray-200 text-gray-700 bg-white hover:bg-gray-50 focus:ring-primary-500 focus:ring-offset-0':\n      props.variant == 'white',\n    'border-transparent shadow-sm text-white bg-red-600 hover:bg-red-700 focus:ring-red-500':\n      props.variant === 'danger',\n    'border-transparent bg-gray-200 border hover:bg-opacity-60 focus:ring-gray-500 focus:ring-offset-0':\n      props.variant === 'gray',\n  }\n})\n\nconst roundedClass = computed(() => {\n  return props.rounded ? '!rounded-full' : ''\n})\n\nconst iconLeftClass = computed(() => {\n  return {\n    '-ml-0.5 mr-2 h-4 w-4': props.size == 'sm',\n    '-ml-1 mr-2 h-5 w-5': props.size === 'md',\n    '-ml-1 mr-3 h-5 w-5': props.size === 'lg' || props.size === 'xl',\n  }\n})\n\nconst iconVariantClass = computed(() => {\n  return {\n    'text-white': props.variant === 'primary',\n    'text-primary-700': props.variant === 'secondary',\n    'text-gray-700': props.variant === 'white',\n    'text-gray-400': props.variant === 'gray',\n  }\n})\n\nconst iconRightClass = computed(() => {\n  return {\n    'ml-2 -mr-0.5 h-4 w-4': props.size == 'sm',\n    'ml-2 -mr-1 h-5 w-5': props.size === 'md',\n    'ml-3 -mr-1 h-5 w-5': props.size === 'lg' || props.size === 'xl',\n  }\n})\n</script>\n\n<template>\n  <BaseContentPlaceholders\n    v-if=\"contentLoading\"\n    class=\"disabled cursor-normal pointer-events-none\"\n  >\n    <BaseContentPlaceholdersBox\n      :rounded=\"true\"\n      style=\"width: 96px\"\n      :style=\"`height: ${placeHolderSize}px;`\"\n    />\n  </BaseContentPlaceholders>\n\n  <BaseCustomTag\n    v-else\n    :tag=\"tag\"\n    :disabled=\"disabled\"\n    :class=\"[defaultClass, sizeClass, variantClass, roundedClass]\"\n  >\n    <SpinnerIcon v-if=\"loading\" :class=\"[iconLeftClass, iconVariantClass]\" />\n\n    <slot v-else name=\"left\" :class=\"iconLeftClass\"></slot>\n\n    <slot />\n\n    <slot name=\"right\" :class=\"[iconRightClass, iconVariantClass]\"></slot>\n  </BaseCustomTag>\n</template>\n"
  },
  {
    "path": "resources/scripts/components/base/BaseCard.vue",
    "content": "<template>\n  <div class=\"bg-white rounded-lg shadow\">\n    <div\n      v-if=\"hasHeaderSlot\"\n      class=\"px-5 py-4 text-black border-b border-gray-100 border-solid\"\n    >\n      <slot name=\"header\" />\n    </div>\n    <div :class=\"containerClass\">\n      <slot />\n    </div>\n    <div\n      v-if=\"hasFooterSlot\"\n      class=\"px-5 py-4 border-t border-gray-100 border-solid sm:px-6\"\n    >\n      <slot name=\"footer\" />\n    </div>\n  </div>\n</template>\n\n<script setup>\nimport { computed, useSlots } from 'vue'\n\nconst props = defineProps({\n  containerClass: {\n    type: String,\n    default: 'px-4 py-5 sm:px-8 sm:py-8',\n  },\n})\n\nconst slots = useSlots()\n\nconst hasHeaderSlot = computed(() => {\n  return !!slots.header\n})\nconst hasFooterSlot = computed(() => {\n  return !!slots.footer\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/components/base/BaseCheckbox.vue",
    "content": "<template>\n  <div class=\"relative flex items-start\">\n    <div class=\"flex items-center h-5\">\n      <input\n        :id=\"id\"\n        v-model=\"checked\"\n        v-bind=\"$attrs\"\n        :disabled=\"disabled\"\n        type=\"checkbox\"\n        :class=\"[checkboxClass, disabledClass]\"\n      />\n    </div>\n    <div class=\"ml-3 text-sm\">\n      <label\n        v-if=\"label\"\n        :for=\"id\"\n        :class=\"`font-medium ${\n          disabled ? 'text-gray-400 cursor-not-allowed' : 'text-gray-600'\n        } cursor-pointer `\"\n      >\n        {{ label }}\n      </label>\n      <p v-if=\"description\" class=\"text-gray-500\">{{ description }}</p>\n    </div>\n  </div>\n</template>\n\n<script setup>\nimport { computed } from 'vue'\n\nconst props = defineProps({\n  label: {\n    type: String,\n    default: '',\n  },\n  description: {\n    type: String,\n    default: '',\n  },\n  modelValue: {\n    type: [Boolean, Array],\n    default: false,\n  },\n  id: {\n    type: [Number, String],\n    default: () => `check_${Math.random().toString(36).substr(2, 9)}`,\n  },\n  disabled: {\n    type: Boolean,\n    default: false,\n  },\n  checkboxClass: {\n    type: String,\n    default: 'w-4 h-4 border-gray-300 rounded cursor-pointer',\n  },\n  setInitialValue: {\n    type: Boolean,\n    default: false,\n  },\n})\n\nconst emit = defineEmits(['update:modelValue', 'change'])\n\nif (props.setInitialValue) {\n  emit('update:modelValue', props.modelValue)\n}\n\nconst checked = computed({\n  get: () => props.modelValue,\n  set: (value) => {\n    emit('update:modelValue', value)\n    emit('change', value)\n  },\n})\n\nconst disabledClass = computed(() => {\n  if (props.disabled) {\n    return 'text-gray-300 cursor-not-allowed'\n  }\n\n  return 'text-primary-600 focus:ring-primary-500'\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/components/base/BaseContentPlaceholders.vue",
    "content": "<template>\n  <div :class=\"classObject\">\n    <slot />\n  </div>\n</template>\n\n<script setup>\nimport { computed } from 'vue'\n\nconst props = defineProps({\n  rounded: {\n    type: Boolean,\n    default: false,\n  },\n  centered: {\n    type: Boolean,\n    default: false,\n  },\n  animated: {\n    type: Boolean,\n    default: true,\n  },\n})\n\nconst classObject = computed(() => {\n  return {\n    'base-content-placeholders': true,\n    'base-content-placeholders-is-rounded': props.rounded,\n    'base-content-placeholders-is-centered': props.centered,\n    'base-content-placeholders-is-animated': props.animated,\n  }\n})\n</script>\n\n<style lang=\"scss\">\n$base-content-placeholders-primary-color: #ccc !default;\n$base-content-placeholders-secondary-color: #eee !default;\n$base-content-placeholders-border-radius: 6px !default;\n$base-content-placeholders-line-height: 15px !default;\n$base-content-placeholders-spacing: 10px !default;\n\n// Animations\n@keyframes vueContentPlaceholdersAnimation {\n  0% {\n    transform: translate3d(-30%, 0, 0);\n  }\n\n  100% {\n    transform: translate3d(100%, 0, 0);\n  }\n}\n\n// Mixins\n@mixin base-content-placeholders {\n  position: relative;\n  overflow: hidden;\n  min-height: $base-content-placeholders-line-height;\n  background: $base-content-placeholders-secondary-color;\n\n  .base-content-placeholders-is-rounded & {\n    border-radius: $base-content-placeholders-border-radius;\n  }\n\n  .base-content-placeholders-is-centered & {\n    margin-left: auto;\n    margin-right: auto;\n  }\n\n  .base-content-placeholders-is-animated &::before {\n    content: '';\n    position: absolute;\n    top: 0;\n    left: 0;\n    width: 100vw;\n    max-width: 1000px;\n    height: 100%;\n    background: linear-gradient(\n      to right,\n      transparent 0%,\n      darken($base-content-placeholders-secondary-color, 5%) 15%,\n      transparent 30%\n    );\n    animation-duration: 1.5s;\n    animation-fill-mode: forwards;\n    animation-iteration-count: infinite;\n    animation-name: vueContentPlaceholdersAnimation;\n    animation-timing-function: linear;\n  }\n}\n\n@mixin base-content-placeholders-spacing {\n  [class^='base-content-placeholders-'] + & {\n    margin-top: 2 * $base-content-placeholders-spacing;\n  }\n}\n\n// Styles\n.base-content-placeholders-heading {\n  @include base-content-placeholders-spacing;\n  display: flex;\n\n  &__img {\n    @include base-content-placeholders;\n    margin-right: 1.5 * $base-content-placeholders-spacing;\n  }\n\n  &__content {\n    display: flex;\n    flex: 1;\n    flex-direction: column;\n    justify-content: center;\n  }\n\n  &__title {\n    @include base-content-placeholders;\n    width: 85%;\n    margin-bottom: $base-content-placeholders-spacing;\n    background: $base-content-placeholders-primary-color;\n  }\n\n  &__subtitle {\n    @include base-content-placeholders;\n    width: 90%;\n  }\n}\n\n.base-content-placeholders-text {\n  @include base-content-placeholders-spacing;\n\n  &__line {\n    @include base-content-placeholders;\n    width: 100%;\n    margin-bottom: $base-content-placeholders-spacing;\n\n    &:first-child {\n      width: 100%;\n    }\n\n    &:nth-child(2) {\n      width: 90%;\n    }\n\n    &:nth-child(3) {\n      width: 80%;\n    }\n\n    &:nth-child(4) {\n      width: 70%;\n    }\n  }\n}\n\n.base-content-placeholders-box {\n  position: relative;\n  overflow: hidden;\n  min-height: $base-content-placeholders-line-height;\n  background: $base-content-placeholders-secondary-color;\n\n  .base-content-placeholders-is-animated &::before {\n    content: '';\n    position: absolute;\n    top: 0;\n    left: 0;\n    width: 100vw;\n    max-width: 1000px;\n    height: 100%;\n    background: linear-gradient(\n      to right,\n      transparent 0%,\n      darken($base-content-placeholders-secondary-color, 5%) 15%,\n      transparent 30%\n    );\n    animation-duration: 1.5s;\n    animation-fill-mode: forwards;\n    animation-iteration-count: infinite;\n    animation-name: vueContentPlaceholdersAnimation;\n    animation-timing-function: linear;\n  }\n\n  // @include base-content-placeholders-spacing;\n}\n\n.base-content-circle {\n  border-radius: 100%;\n}\n\n.base-content-placeholders-is-rounded {\n  border-radius: $base-content-placeholders-border-radius;\n}\n</style>\n"
  },
  {
    "path": "resources/scripts/components/base/BaseContentPlaceholdersBox.vue",
    "content": "<template>\n  <div class=\"base-content-placeholders-box\" :class=\"circleClass\" />\n</template>\n\n<script setup>\nimport { computed } from 'vue'\n\nconst props = defineProps({\n  circle: {\n    type: Boolean,\n    default: false,\n  },\n  rounded: {\n    type: Boolean,\n    default: false,\n  },\n})\n\nconst circleClass = computed(() => {\n  return {\n    'base-content-circle': props.circle,\n    'base-content-placeholders-is-rounded': props.rounded,\n  }\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/components/base/BaseContentPlaceholdersHeading.vue",
    "content": "<template>\n  <div class=\"base-content-placeholders-heading\">\n    <div v-if=\"box\" class=\"base-content-placeholders-heading__box\" />\n    <div class=\"base-content-placeholders-heading__content\">\n      <div\n        class=\"base-content-placeholders-heading__title\"\n        style=\"background: #eee\"\n      />\n      <div class=\"base-content-placeholders-heading__subtitle\" />\n    </div>\n  </div>\n</template>\n\n<script setup>\nconst props = defineProps({\n  box: {\n    type: Boolean,\n    default: false,\n  },\n  rounded: {\n    type: Boolean,\n    default: false,\n  },\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/components/base/BaseContentPlaceholdersText.vue",
    "content": "<template>\n  <div class=\"base-content-placeholders-text\">\n    <div\n      v-for=\"n in lines\"\n      :key=\"n\"\n      :class=\"lineClass\"\n      class=\"w-full h-full base-content-placeholders-text__line\"\n    />\n  </div>\n</template>\n\n<script setup>\nimport { computed } from 'vue'\n\nconst props = defineProps({\n  lines: {\n    type: Number,\n    default: 4,\n  },\n  rounded: {\n    type: Boolean,\n    default: false,\n  },\n})\n\nconst lineClass = computed(() => {\n  return {\n    'base-content-placeholders-is-rounded': props.rounded,\n  }\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/components/base/BaseCustomInput.vue",
    "content": "<template>\n  <BaseContentPlaceholders v-if=\"contentLoading\">\n    <BaseContentPlaceholdersBox\n      :rounded=\"true\"\n      class=\"w-full\"\n      style=\"height: 200px\"\n    />\n  </BaseContentPlaceholders>\n\n  <div v-else class=\"relative\">\n    <div class=\"absolute bottom-0 right-0 z-10\">\n      <BaseDropdown\n        :close-on-select=\"true\"\n        max-height=\"220\"\n        position=\"top-end\"\n        width-class=\"w-92\"\n        class=\"mb-2\"\n      >\n        <template #activator>\n          <BaseButton type=\"button\" variant=\"primary-outline\" class=\"mr-4\">\n            {{ $t('settings.customization.insert_fields') }}\n            <template #left=\"slotProps\">\n              <BaseIcon name=\"PlusSmIcon\" :class=\"slotProps.class\" />\n            </template>\n          </BaseButton>\n        </template>\n\n        <div class=\"flex p-2\">\n          <ul v-for=\"(type, index) in fieldList\" :key=\"index\" class=\"list-none\">\n            <li class=\"mb-1 ml-2 text-xs font-semibold text-gray-500 uppercase\">\n              {{ type.label }}\n            </li>\n\n            <li\n              v-for=\"(field, fieldIndex) in type.fields\"\n              :key=\"fieldIndex\"\n              class=\"\n                w-48\n                text-sm\n                font-normal\n                cursor-pointer\n                hover:bg-gray-100\n                rounded\n                ml-1\n                py-0.5\n              \"\n              @click=\"value += `{${field.value}}`\"\n            >\n              <div class=\"flex pl-1\">\n                <BaseIcon\n                  name=\"ChevronDoubleRightIcon\"\n                  class=\"h-3 mt-1 mr-2 text-gray-400\"\n                />\n\n                {{ field.label }}\n              </div>\n            </li>\n          </ul>\n        </div>\n      </BaseDropdown>\n    </div>\n    <BaseEditor v-model=\"value\" />\n  </div>\n</template>\n\n<script setup>\nimport { computed, ref, watch, onMounted } from 'vue'\nimport { useCustomFieldStore } from '@/scripts/admin/stores/custom-field'\n\nconst props = defineProps({\n  contentLoading: {\n    type: Boolean,\n    default: false,\n  },\n  modelValue: {\n    type: String,\n    default: '',\n  },\n  fields: {\n    type: Array,\n    default: null,\n  },\n})\n\nconst emit = defineEmits(['update:modelValue'])\n\nconst customFieldsStore = useCustomFieldStore()\n\nlet fieldList = ref([])\nlet invoiceFields = ref([])\nlet estimateFields = ref([])\nlet paymentFields = ref([])\nlet customerFields = ref([])\nconst position = null\n\nwatch(\n  () => props.fields,\n  (val) => {\n    if (props.fields && props.fields.length > 0) {\n      getFields()\n    }\n  }\n)\n\nwatch(\n  () => customFieldsStore.customFields,\n  (newValue) => {\n    invoiceFields.value = newValue\n      ? newValue.filter((field) => field.model_type === 'Invoice')\n      : []\n    customerFields.value = newValue\n      ? newValue.filter((field) => field.model_type === 'Customer')\n      : []\n    paymentFields.value = newValue\n      ? newValue.filter((field) => field.model_type === 'Payment')\n      : []\n    estimateFields.value = newValue.filter(\n      (field) => field.model_type === 'Estimate'\n    )\n    getFields()\n  }\n)\n\nonMounted(() => {\n  fetchFields()\n})\n\nconst value = computed({\n  get: () => props.modelValue,\n  set: (value) => {\n    emit('update:modelValue', value)\n  },\n})\n\nasync function fetchFields() {\n  await customFieldsStore.fetchCustomFields()\n}\n\nasync function getFields() {\n  fieldList.value = []\n  if (props.fields && props.fields.length > 0) {\n    if (props.fields.find((field) => field == 'shipping')) {\n      fieldList.value.push({\n        label: 'Shipping Address',\n        fields: [\n          { label: 'Address name', value: 'SHIPPING_ADDRESS_NAME' },\n          { label: 'Country', value: 'SHIPPING_COUNTRY' },\n          { label: 'State', value: 'SHIPPING_STATE' },\n          { label: 'City', value: 'SHIPPING_CITY' },\n          { label: 'Address Street 1', value: 'SHIPPING_ADDRESS_STREET_1' },\n          { label: 'Address Street 2', value: 'SHIPPING_ADDRESS_STREET_2' },\n          { label: 'Phone', value: 'SHIPPING_PHONE' },\n          { label: 'Zip Code', value: 'SHIPPING_ZIP_CODE' },\n        ],\n      })\n    }\n\n    if (props.fields.find((field) => field == 'billing')) {\n      fieldList.value.push({\n        label: 'Billing Address',\n        fields: [\n          { label: 'Address name', value: 'BILLING_ADDRESS_NAME' },\n          { label: 'Country', value: 'BILLING_COUNTRY' },\n          { label: 'State', value: 'BILLING_STATE' },\n          { label: 'City', value: 'BILLING_CITY' },\n          { label: 'Address Street 1', value: 'BILLING_ADDRESS_STREET_1' },\n          { label: 'Address Street 2', value: 'BILLING_ADDRESS_STREET_2' },\n          { label: 'Phone', value: 'BILLING_PHONE' },\n          { label: 'Zip Code', value: 'BILLING_ZIP_CODE' },\n        ],\n      })\n    }\n\n    if (props.fields.find((field) => field == 'customer')) {\n      fieldList.value.push({\n        label: 'Customer',\n        fields: [\n          { label: 'Display Name', value: 'CONTACT_DISPLAY_NAME' },\n          { label: 'Contact Name', value: 'PRIMARY_CONTACT_NAME' },\n          { label: 'Email', value: 'CONTACT_EMAIL' },\n          { label: 'Phone', value: 'CONTACT_PHONE' },\n          { label: 'Website', value: 'CONTACT_WEBSITE' },\n          ...customerFields.value.map((i) => ({\n            label: i.label,\n            value: i.slug,\n          })),\n        ],\n      })\n    }\n\n    if (props.fields.find((field) => field == 'invoice')) {\n      fieldList.value.push({\n        label: 'Invoice',\n        fields: [\n          { label: 'Date', value: 'INVOICE_DATE' },\n          { label: 'Due Date', value: 'INVOICE_DUE_DATE' },\n          { label: 'Number', value: 'INVOICE_NUMBER' },\n          { label: 'Ref Number', value: 'INVOICE_REF_NUMBER' },\n          ...invoiceFields.value.map((i) => ({\n            label: i.label,\n            value: i.slug,\n          })),\n        ],\n      })\n    }\n\n    if (props.fields.find((field) => field == 'estimate')) {\n      fieldList.value.push({\n        label: 'Estimate',\n        fields: [\n          { label: 'Date', value: 'ESTIMATE_DATE' },\n          { label: 'Expiry Date', value: 'ESTIMATE_EXPIRY_DATE' },\n          { label: 'Number', value: 'ESTIMATE_NUMBER' },\n          { label: 'Ref Number', value: 'ESTIMATE_REF_NUMBER' },\n          ...estimateFields.value.map((i) => ({\n            label: i.label,\n            value: i.slug,\n          })),\n        ],\n      })\n    }\n\n    if (props.fields.find((field) => field == 'payment')) {\n      fieldList.value.push({\n        label: 'Payment',\n        fields: [\n          { label: 'Date', value: 'PAYMENT_DATE' },\n          { label: 'Number', value: 'PAYMENT_NUMBER' },\n          { label: 'Mode', value: 'PAYMENT_MODE' },\n          { label: 'Amount', value: 'PAYMENT_AMOUNT' },\n          ...paymentFields.value.map((i) => ({\n            label: i.label,\n            value: i.slug,\n          })),\n        ],\n      })\n    }\n\n    if (props.fields.find((field) => field == 'company')) {\n      fieldList.value.push({\n        label: 'Company',\n        fields: [\n          { label: 'Company Name', value: 'COMPANY_NAME' },\n          { label: 'Country', value: 'COMPANY_COUNTRY' },\n          { label: 'State', value: 'COMPANY_STATE' },\n          { label: 'City', value: 'COMPANY_CITY' },\n          { label: 'Address Street 1', value: 'COMPANY_ADDRESS_STREET_1' },\n          { label: 'Address Street 2', value: 'COMPANY_ADDRESS_STREET_2' },\n          { label: 'Phone', value: 'COMPANY_PHONE' },\n          { label: 'Zip Code', value: 'COMPANY_ZIP_CODE' },\n        ],\n      })\n    }\n  }\n}\n\ngetFields()\n</script>\n"
  },
  {
    "path": "resources/scripts/components/base/BaseCustomTag.vue",
    "content": "<script>\nimport { h } from 'vue'\n\nexport default {\n  props: {\n    tag: {\n      type: String,\n      default: 'button',\n    },\n  },\n  setup(props, { slots, attrs, emit }) {\n    // return the render function\n    return () => h(`${props.tag}`, attrs, slots)\n  },\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/components/base/BaseCustomerAddressDisplay.vue",
    "content": "<template>\n  <div\n    v-if=\"address\"\n    class=\"text-sm font-bold leading-5 text-black non-italic space-y-1\"\n  >\n    <p v-if=\"address?.address_street_1\">{{ address?.address_street_1 }},</p>\n\n    <p v-if=\"address?.address_street_2\">{{ address?.address_street_2 }},</p>\n\n    <p v-if=\"address?.city\">{{ address?.city }},</p>\n\n    <p v-if=\"address?.state\">{{ address?.state }},</p>\n\n    <p v-if=\"address?.country?.name\">{{ address?.country?.name }},</p>\n\n    <p v-if=\"address?.zip\">{{ address?.zip }}.</p>\n  </div>\n</template>\n\n<script setup>\nconst props = defineProps({\n  address: {\n    type: Object,\n    required: true,\n  },\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/components/base/BaseCustomerSelectInput.vue",
    "content": "<template>\n  <BaseMultiselect\n    v-model=\"selectedCustomer\"\n    v-bind=\"$attrs\"\n    track-by=\"name\"\n    value-prop=\"id\"\n    label=\"name\"\n    :filter-results=\"false\"\n    resolve-on-load\n    :delay=\"500\"\n    :searchable=\"true\"\n    :options=\"searchCustomers\"\n    label-value=\"name\"\n    :placeholder=\"$t('customers.type_or_click')\"\n    :can-deselect=\"false\"\n    class=\"w-full\"\n  >\n    <template v-if=\"showAction\" #action>\n      <BaseSelectAction\n        v-if=\"userStore.hasAbilities(abilities.CREATE_CUSTOMER)\"\n        @click=\"addCustomer\"\n      >\n        <BaseIcon\n          name=\"UserAddIcon\"\n          class=\"h-4 mr-2 -ml-2 text-center text-primary-400\"\n        />\n\n        {{ $t('customers.add_new_customer') }}\n      </BaseSelectAction>\n    </template>\n  </BaseMultiselect>\n\n  <CustomerModal />\n</template>\n\n<script setup>\nimport { useCustomerStore } from '@/scripts/admin/stores/customer'\nimport { computed, watch } from 'vue'\nimport { useModalStore } from '@/scripts/stores/modal'\nimport { useI18n } from 'vue-i18n'\nimport CustomerModal from '@/scripts/admin/components/modal-components/CustomerModal.vue'\nimport { useUserStore } from '@/scripts/admin/stores/user'\nimport abilities from '@/scripts/admin/stub/abilities'\n\nconst props = defineProps({\n  modelValue: {\n    type: [String, Number, Object],\n    default: '',\n  },\n  fetchAll: {\n    type: Boolean,\n    default: false,\n  },\n  showAction: {\n    type: Boolean,\n    default: false,\n  },\n})\n\nconst { t } = useI18n()\n\nconst emit = defineEmits(['update:modelValue'])\n\nconst modalStore = useModalStore()\nconst customerStore = useCustomerStore()\nconst userStore = useUserStore()\n\nconst selectedCustomer = computed({\n  get: () => props.modelValue,\n  set: (value) => {\n    emit('update:modelValue', value)\n  },\n})\n\nasync function searchCustomers(search) {\n  let data = {\n    search,\n  }\n\n  if (props.fetchAll) {\n    data.limit = 'all'\n  }\n\n  let res = await customerStore.fetchCustomers(data)\n  if(res.data.data.length>0 && customerStore.editCustomer) {\n    let customerFound = res.data.data.find((c) => c.id==customerStore.editCustomer.id)\n    if(!customerFound) {\n      let edit_customer = Object.assign({}, customerStore.editCustomer)\n      res.data.data.unshift(edit_customer)\n    }\n  }\n\n  return res.data.data\n}\n\nasync function addCustomer() {\n  customerStore.resetCurrentCustomer()\n\n  modalStore.openModal({\n    title: t('customers.add_new_customer'),\n    componentName: 'CustomerModal',\n  })\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/components/base/BaseCustomerSelectPopup.vue",
    "content": "<template>\n  <BaseContentPlaceholders v-if=\"contentLoading\">\n    <BaseContentPlaceholdersBox\n      :rounded=\"true\"\n      class=\"w-full\"\n      style=\"min-height: 170px\"\n    />\n  </BaseContentPlaceholders>\n\n  <div v-else class=\"max-h-[173px]\">\n    <CustomerModal />\n    <!-- <SalesTax :type=\"type\" /> -->\n\n    <div\n      v-if=\"selectedCustomer\"\n      class=\"\n        flex flex-col\n        p-4\n        bg-white\n        border border-gray-200 border-solid\n        min-h-[170px]\n        rounded-md\n      \"\n      @click.stop\n    >\n      <div class=\"flex relative justify-between mb-2\">\n        <BaseText\n          :text=\"selectedCustomer.name\"\n          :length=\"30\"\n          class=\"flex-1 text-base font-medium text-left text-gray-900\"\n        />\n        <div class=\"flex\">\n          <a\n            class=\"\n              relative\n              my-0\n              ml-6\n              text-sm\n              font-medium\n              cursor-pointer\n              text-primary-500\n              items-center\n              flex\n            \"\n            @click.stop=\"editCustomer\"\n          >\n            <BaseIcon name=\"PencilIcon\" class=\"text-gray-500 h-4 w-4 mr-1\" />\n\n            {{ $t('general.edit') }}\n          </a>\n          <a\n            class=\"\n              relative\n              my-0\n              ml-6\n              text-sm\n              flex\n              items-center\n              font-medium\n              cursor-pointer\n              text-primary-500\n            \"\n            @click=\"resetSelectedCustomer\"\n          >\n            <BaseIcon name=\"XCircleIcon\" class=\"text-gray-500 h-4 w-4 mr-1\" />\n            {{ $t('general.deselect') }}\n          </a>\n        </div>\n      </div>\n      <div class=\"grid grid-cols-2 gap-8 mt-2\">\n        <div v-if=\"selectedCustomer.billing\" class=\"flex flex-col\">\n          <label\n            class=\"\n              mb-1\n              text-sm\n              font-medium\n              text-left text-gray-400\n              uppercase\n              whitespace-nowrap\n            \"\n          >\n            {{ $t('general.bill_to') }}\n          </label>\n\n          <div\n            v-if=\"selectedCustomer.billing\"\n            class=\"flex flex-col flex-1 p-0 text-left\"\n          >\n            <label\n              v-if=\"selectedCustomer.billing.name\"\n              class=\"relative w-11/12 text-sm truncate\"\n            >\n              {{ selectedCustomer.billing.name }}\n            </label>\n\n            <label class=\"relative w-11/12 text-sm truncate\">\n              <span v-if=\"selectedCustomer.billing.city\">\n                {{ selectedCustomer.billing.city }}\n              </span>\n              <span\n                v-if=\"\n                  selectedCustomer.billing.city &&\n                  selectedCustomer.billing.state\n                \"\n              >\n                ,\n              </span>\n              <span v-if=\"selectedCustomer.billing.state\">\n                {{ selectedCustomer.billing.state }}\n              </span>\n            </label>\n            <label\n              v-if=\"selectedCustomer.billing.zip\"\n              class=\"relative w-11/12 text-sm truncate\"\n            >\n              {{ selectedCustomer.billing.zip }}\n            </label>\n          </div>\n        </div>\n\n        <div v-if=\"selectedCustomer.shipping\" class=\"flex flex-col\">\n          <label\n            class=\"\n              mb-1\n              text-sm\n              font-medium\n              text-left text-gray-400\n              uppercase\n              whitespace-nowrap\n            \"\n          >\n            {{ $t('general.ship_to') }}\n          </label>\n\n          <div\n            v-if=\"selectedCustomer.shipping\"\n            class=\"flex flex-col flex-1 p-0 text-left\"\n          >\n            <label\n              v-if=\"selectedCustomer.shipping.name\"\n              class=\"relative w-11/12 text-sm truncate\"\n            >\n              {{ selectedCustomer.shipping.name }}\n            </label>\n\n            <label class=\"relative w-11/12 text-sm truncate\">\n              <span v-if=\"selectedCustomer.shipping.city\">\n                {{ selectedCustomer.shipping.city }}\n              </span>\n              <span\n                v-if=\"\n                  selectedCustomer.shipping.city &&\n                  selectedCustomer.shipping.state\n                \"\n              >\n                ,\n              </span>\n              <span v-if=\"selectedCustomer.shipping.state\">\n                {{ selectedCustomer.shipping.state }}\n              </span>\n            </label>\n            <label\n              v-if=\"selectedCustomer.shipping.zip\"\n              class=\"relative w-11/12 text-sm truncate\"\n            >\n              {{ selectedCustomer.shipping.zip }}\n            </label>\n          </div>\n        </div>\n      </div>\n    </div>\n\n    <Popover v-else v-slot=\"{ open }\" class=\"relative flex flex-col rounded-md\">\n      <PopoverButton\n        :class=\"{\n          'text-opacity-90': open,\n          'border border-solid border-red-500 focus:ring-red-500 rounded':\n            valid.$error,\n          'focus:ring-2 focus:ring-primary-400': !valid.$error,\n        }\"\n        class=\"w-full outline-none rounded-md\"\n      >\n        <div\n          class=\"\n            relative\n            flex\n            justify-center\n            px-0\n            p-0\n            py-16\n            bg-white\n            border border-gray-200 border-solid\n            rounded-md\n            min-h-[170px]\n          \"\n        >\n          <BaseIcon\n            name=\"UserIcon\"\n            class=\"\n              flex\n              justify-center\n              !w-10\n              !h-10\n              p-2\n              mr-5\n              text-sm text-white\n              bg-gray-200\n              rounded-full\n              font-base\n            \"\n          />\n\n          <div class=\"mt-1\">\n            <label class=\"text-lg font-medium text-gray-900\">\n              {{ $t('customers.new_customer') }}\n              <span class=\"text-red-500\"> * </span>\n            </label>\n\n            <p\n              v-if=\"valid.$error && valid.$errors[0].$message\"\n              class=\"text-red-500 text-sm absolute right-3 bottom-3\"\n            >\n              {{ $t('estimates.errors.required') }}\n            </p>\n          </div>\n        </div>\n      </PopoverButton>\n\n      <!-- Customer Select Popup -->\n      <transition\n        enter-active-class=\"transition duration-200 ease-out\"\n        enter-from-class=\"translate-y-1 opacity-0\"\n        enter-to-class=\"translate-y-0 opacity-100\"\n        leave-active-class=\"transition duration-150 ease-in\"\n        leave-from-class=\"translate-y-0 opacity-100\"\n        leave-to-class=\"translate-y-1 opacity-0\"\n      >\n        <div v-if=\"open\" class=\"absolute min-w-full z-10\">\n          <PopoverPanel\n            v-slot=\"{ close }\"\n            focus\n            static\n            class=\"\n              overflow-hidden\n              rounded-md\n              shadow-lg\n              ring-1 ring-black ring-opacity-5\n              bg-white\n            \"\n          >\n            <div class=\"relative\">\n              <BaseInput\n                v-model=\"search\"\n                container-class=\"m-4\"\n                :placeholder=\"$t('general.search')\"\n                type=\"text\"\n                icon=\"search\"\n                @update:modelValue=\"(val) => debounceSearchCustomer(val)\"\n              />\n\n              <ul\n                class=\"\n                  max-h-80\n                  flex flex-col\n                  overflow-auto\n                  list\n                  border-t border-gray-200\n                \"\n              >\n                <li\n                  v-for=\"(customer, index) in customerStore.customers\"\n                  :key=\"index\"\n                  href=\"#\"\n                  class=\"\n                    flex\n                    px-6\n                    py-2\n                    border-b border-gray-200 border-solid\n                    cursor-pointer\n                    hover:cursor-pointer hover:bg-gray-100\n                    focus:outline-none focus:bg-gray-100\n                    last:border-b-0\n                  \"\n                  @click=\"selectNewCustomer(customer.id, close)\"\n                >\n                  <span\n                    class=\"\n                      flex\n                      items-center\n                      content-center\n                      justify-center\n                      w-10\n                      h-10\n                      mr-4\n                      text-xl\n                      font-semibold\n                      leading-9\n                      text-white\n                      bg-gray-300\n                      rounded-full\n                      avatar\n                    \"\n                  >\n                    {{ initGenerator(customer.name) }}\n                  </span>\n\n                  <div class=\"flex flex-col justify-center text-left\">\n                    <BaseText\n                      v-if=\"customer.name\"\n                      :text=\"customer.name\"\n                      :length=\"30\"\n                      class=\"\n                        m-0\n                        text-base\n                        font-normal\n                        leading-tight\n                        cursor-pointer\n                      \"\n                    />\n                    <BaseText\n                      v-if=\"customer.contact_name\"\n                      :text=\"customer.contact_name\"\n                      :length=\"30\"\n                      class=\"\n                        m-0\n                        text-sm\n                        font-medium\n                        text-gray-400\n                        cursor-pointer\n                      \"\n                    />\n                  </div>\n                </li>\n                <div\n                  v-if=\"customerStore.customers.length === 0\"\n                  class=\"flex justify-center p-5 text-gray-400\"\n                >\n                  <label class=\"text-base text-gray-500 cursor-pointer\">\n                    {{ $t('customers.no_customers_found') }}\n                  </label>\n                </div>\n              </ul>\n            </div>\n\n            <button\n              v-if=\"userStore.hasAbilities(abilities.CREATE_CUSTOMER)\"\n              type=\"button\"\n              class=\"\n                h-10\n                flex\n                items-center\n                justify-center\n                w-full\n                px-2\n                py-3\n                bg-gray-200\n                border-none\n                outline-none\n                focus:bg-gray-300\n              \"\n              @click=\"openCustomerModal\"\n            >\n              <BaseIcon name=\"UserAddIcon\" class=\"text-primary-400\" />\n\n              <label\n                class=\"\n                  m-0\n                  ml-3\n                  text-sm\n                  leading-none\n                  cursor-pointer\n                  font-base\n                  text-primary-400\n                \"\n              >\n                {{ $t('customers.add_new_customer') }}\n              </label>\n            </button>\n          </PopoverPanel>\n        </div>\n      </transition>\n    </Popover>\n  </div>\n</template>\n\n<script setup>\nimport { Popover, PopoverButton, PopoverPanel } from '@headlessui/vue'\nimport { useEstimateStore } from '@/scripts/admin/stores/estimate'\nimport { useInvoiceStore } from '@/scripts/admin/stores/invoice'\nimport { useRecurringInvoiceStore } from '@/scripts/admin/stores/recurring-invoice'\nimport { useModalStore } from '@/scripts/stores/modal'\nimport { useGlobalStore } from '@/scripts/admin/stores/global'\nimport { useCustomerStore } from '@/scripts/admin/stores/customer'\nimport { computed, ref } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { useDebounceFn } from '@vueuse/core'\nimport { useUserStore } from '@/scripts/admin/stores/user'\nimport abilities from '@/scripts/admin/stub/abilities'\nimport { useRoute } from 'vue-router'\nimport CustomerModal from '@/scripts/admin/components/modal-components/CustomerModal.vue'\n\nconst props = defineProps({\n  valid: {\n    type: Object,\n    default: () => {},\n  },\n  customerId: {\n    type: Number,\n    default: null,\n  },\n  type: {\n    type: String,\n    default: null,\n  },\n  contentLoading: {\n    type: Boolean,\n    default: false,\n  },\n})\n\nconst modalStore = useModalStore()\nconst estimateStore = useEstimateStore()\nconst customerStore = useCustomerStore()\nconst globalStore = useGlobalStore()\nconst invoiceStore = useInvoiceStore()\nconst recurringInvoiceStore = useRecurringInvoiceStore()\nconst userStore = useUserStore()\nconst routes = useRoute()\nconst { t } = useI18n()\nconst search = ref(null)\nconst isSearchingCustomer = ref(false)\n\nconst selectedCustomer = computed(() => {\n  switch (props.type) {\n    case 'estimate':\n      return estimateStore.newEstimate.customer\n    case 'invoice':\n      return invoiceStore.newInvoice.customer\n    case 'recurring-invoice':\n      return recurringInvoiceStore.newRecurringInvoice.customer\n    default:\n      return ''\n  }\n})\n\nfunction resetSelectedCustomer() {\n  if (props.type === 'estimate') {\n    estimateStore.resetSelectedCustomer()\n  } else if (props.type === 'invoice') {\n    invoiceStore.resetSelectedCustomer()\n  } else {\n    recurringInvoiceStore.resetSelectedCustomer()\n  }\n}\n\nif (props.customerId && props.type === 'estimate') {\n  estimateStore.selectCustomer(props.customerId)\n} else if (props.customerId && props.type === 'invoice') {\n  invoiceStore.selectCustomer(props.customerId)\n} else {\n  if (props.customerId) recurringInvoiceStore.selectCustomer(props.customerId)\n}\n\nasync function editCustomer() {\n  await customerStore.fetchCustomer(selectedCustomer.value.id)\n  modalStore.openModal({\n    title: t('customers.edit_customer'),\n    componentName: 'CustomerModal',\n  })\n}\n\nasync function fetchInitialCustomers() {\n  await customerStore.fetchCustomers({\n    filter: {},\n    orderByField: '',\n    orderBy: '',\n    customer_id: props.customerId,\n  })\n}\n\nconst debounceSearchCustomer = useDebounceFn(() => {\n  isSearchingCustomer.value = true\n\n  searchCustomer()\n}, 500)\n\nasync function searchCustomer() {\n  let data = {\n    display_name: search.value,\n    page: 1,\n  }\n\n  await customerStore.fetchCustomers(data)\n  isSearchingCustomer.value = false\n}\n\nfunction openCustomerModal() {\n  modalStore.openModal({\n    title: t('customers.add_customer'),\n    componentName: 'CustomerModal',\n    variant: 'md',\n  })\n}\n\nfunction initGenerator(name) {\n  if (name) {\n    let nameSplit = name.split(' ')\n    let initials = nameSplit[0].charAt(0).toUpperCase()\n    return initials\n  }\n}\n\nfunction selectNewCustomer(id, close) {\n  let params = {\n    userId: id,\n  }\n  if (routes.params.id) params.model_id = routes.params.id\n\n  if (props.type === 'estimate') {\n    estimateStore.getNextNumber(params, true)\n    estimateStore.selectCustomer(id)\n  } else if (props.type === 'invoice') {\n    invoiceStore.getNextNumber(params, true)\n    invoiceStore.selectCustomer(id)\n  } else {\n    recurringInvoiceStore.selectCustomer(id)\n  }\n  close()\n  search.value = null\n}\n\nglobalStore.fetchCurrencies()\nglobalStore.fetchCountries()\nfetchInitialCustomers()\n</script>\n"
  },
  {
    "path": "resources/scripts/components/base/BaseDatePicker.vue",
    "content": "<template>\n  <BaseContentPlaceholders v-if=\"contentLoading\">\n    <BaseContentPlaceholdersBox\n      :rounded=\"true\"\n      :class=\"`w-full ${computedContainerClass}`\"\n      style=\"height: 38px\"\n    />\n  </BaseContentPlaceholders>\n\n  <div v-else :class=\"computedContainerClass\" class=\"relative flex flex-row\">\n    <svg\n      v-if=\"showCalendarIcon && !hasIconSlot\"\n      viewBox=\"0 0 20 20\"\n      fill=\"currentColor\"\n      class=\"\n        absolute\n        w-4\n        h-4\n        mx-2\n        my-2.5\n        text-sm\n        not-italic\n        font-black\n        text-gray-400\n        cursor-pointer\n      \"\n      @click=\"onClickDp\"\n    >\n      <path\n        fill-rule=\"evenodd\"\n        d=\"M6 2a1 1 0 00-1 1v1H4a2 2 0 00-2 2v10a2 2 0 002 2h12a2 2 0 002-2V6a2 2 0 00-2-2h-1V3a1 1 0 10-2 0v1H7V3a1 1 0 00-1-1zm0 5a1 1 0 000 2h8a1 1 0 100-2H6z\"\n        clip-rule=\"evenodd\"\n      ></path>\n    </svg>\n\n    <slot v-if=\"showCalendarIcon && hasIconSlot\" name=\"icon\" />\n\n    <FlatPickr\n      ref=\"dp\"\n      v-model=\"date\"\n      v-bind=\"$attrs\"\n      :disabled=\"disabled\"\n      :config=\"config\"\n      :class=\"[defaultInputClass, inputInvalidClass, inputDisabledClass]\"\n    />\n  </div>\n</template>\n\n<script type=\"text/babel\" setup>\nimport FlatPickr from 'vue-flatpickr-component'\nimport 'flatpickr/dist/flatpickr.css'\nimport { computed, reactive, watch, ref, useSlots } from 'vue'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\n\nconst dp = ref(null)\n\nconst props = defineProps({\n  modelValue: {\n    type: [String, Date],\n    default: () => new Date(),\n  },\n  contentLoading: {\n    type: Boolean,\n    default: false,\n  },\n  placeholder: {\n    type: String,\n    default: null,\n  },\n  invalid: {\n    type: Boolean,\n    default: false,\n  },\n  enableTime: {\n    type: Boolean,\n    default: false,\n  },\n  disabled: {\n    type: Boolean,\n    default: false,\n  },\n  showCalendarIcon: {\n    type: Boolean,\n    default: true,\n  },\n  containerClass: {\n    type: String,\n    default: '',\n  },\n  defaultInputClass: {\n    type: String,\n    default:\n      'font-base pl-8 py-2 outline-none focus:ring-primary-400 focus:outline-none focus:border-primary-400 block w-full sm:text-sm border-gray-200 rounded-md text-black',\n  },\n  time24hr: {\n    type: Boolean,\n    default: false,\n  },\n})\n\nconst emit = defineEmits(['update:modelValue'])\n\nconst slots = useSlots()\n\nconst companyStore = useCompanyStore()\n\nlet config = reactive({\n  altInput: true,\n  enableTime: props.enableTime,\n  time_24hr: props.time24hr,\n})\n\nconst date = computed({\n  get: () => props.modelValue,\n  set: (value) => {\n    emit('update:modelValue', value)\n  },\n})\n\nconst carbonFormat = computed(() => {\n  return companyStore.selectedCompanySettings?.carbon_date_format\n})\n\nconst hasIconSlot = computed(() => {\n  return !!slots.icon\n})\n\nconst computedContainerClass = computed(() => {\n  let containerClass = `${props.containerClass} `\n\n  return containerClass\n})\n\nconst inputInvalidClass = computed(() => {\n  if (props.invalid) {\n    return 'border-red-400 ring-red-400 focus:ring-red-400 focus:border-red-400'\n  }\n\n  return ''\n})\n\nconst inputDisabledClass = computed(() => {\n  if (props.disabled) {\n    return 'border border-solid rounded-md outline-none input-field box-border-2 base-date-picker-input placeholder-gray-400 bg-gray-200 text-gray-600 border-gray-200'\n  }\n\n  return ''\n})\n\nfunction onClickDp(params) {\n  dp.value.fp.open()\n}\n\nwatch(\n  () => props.enableTime,\n  (val) => {\n    if (props.enableTime) {\n      config.enableTime = props.enableTime\n    }\n  },\n  { immediate: true }\n)\n\nwatch(\n  () => carbonFormat,\n  () => {\n    if (!props.enableTime) {\n      config.altFormat = carbonFormat.value ? carbonFormat.value : 'd M Y'\n    } else {\n      config.altFormat = carbonFormat.value\n        ? `${carbonFormat.value} H:i `\n        : 'd M Y H:i'\n    }\n  },\n  { immediate: true }\n)\n</script>\n"
  },
  {
    "path": "resources/scripts/components/base/BaseDescriptionList.vue",
    "content": "<template>\n  <div class=\"grid gap-4 mt-5 md:grid-cols-2 lg:grid-cols-3\">\n    <slot />\n  </div>\n</template>\n"
  },
  {
    "path": "resources/scripts/components/base/BaseDescriptionListItem.vue",
    "content": "<template>\n  <div>\n    <BaseContentPlaceholders v-if=\"contentLoading\">\n      <BaseContentPlaceholdersBox class=\"w-20 h-5 mb-1\" />\n      <BaseContentPlaceholdersBox class=\"w-40 h-5\" />\n    </BaseContentPlaceholders>\n\n    <div v-else>\n      <BaseLabel class=\"font-normal mb-1\">\n        {{ label }}\n      </BaseLabel>\n\n      <p class=\"text-sm font-bold leading-5 text-black non-italic\">\n        {{ value }}\n\n        <slot />\n      </p>\n    </div>\n  </div>\n</template>\n\n<script setup>\nconst props = defineProps({\n  label: {\n    type: String,\n    required: true,\n  },\n  value: {\n    type: [String, Number],\n    default: '',\n  },\n  contentLoading: {\n    type: Boolean,\n    default: false,\n  },\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/components/base/BaseDialog.vue",
    "content": "<template>\n  <TransitionRoot as=\"template\" :show=\"dialogStore.active\">\n    <Dialog\n      as=\"div\"\n      static\n      class=\"fixed inset-0 z-20 overflow-y-auto\"\n      :open=\"dialogStore.active\"\n      @close=\"dialogStore.closeDialog\"\n    >\n      <div\n        class=\"\n          flex\n          items-end\n          justify-center\n          min-h-screen\n          px-4\n          pt-4\n          pb-20\n          text-center\n          sm:block sm:p-0\n        \"\n      >\n        <TransitionChild\n          as=\"template\"\n          enter=\"ease-out duration-300\"\n          enter-from=\"opacity-0\"\n          enter-to=\"opacity-100\"\n          leave=\"ease-in duration-200\"\n          leave-from=\"opacity-100\"\n          leave-to=\"opacity-0\"\n        >\n          <DialogOverlay\n            class=\"fixed inset-0 transition-opacity bg-gray-500 bg-opacity-75\"\n          />\n        </TransitionChild>\n\n        <!-- This element is to trick the browser into centering the modal contents. -->\n        <span\n          class=\"hidden sm:inline-block sm:align-middle sm:h-screen\"\n          aria-hidden=\"true\"\n          >&#8203;</span\n        >\n        <TransitionChild\n          as=\"template\"\n          enter=\"ease-out duration-300\"\n          enter-from=\"opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95\"\n          enter-to=\"opacity-100 translate-y-0 sm:scale-100\"\n          leave=\"ease-in duration-200\"\n          leave-from=\"opacity-100 translate-y-0 sm:scale-100\"\n          leave-to=\"opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95\"\n        >\n          <div\n            class=\"\n              inline-block\n              px-4\n              pt-5\n              pb-4\n              overflow-hidden\n              text-left\n              align-bottom\n              transition-all\n              bg-white\n              rounded-lg\n              shadow-xl\n              sm:my-8 sm:align-middle sm:w-full sm:p-6\n              relative\n            \"\n            :class=\"dialogSizeClasses\"\n          >\n            <div>\n              <div\n                class=\"\n                  flex\n                  items-center\n                  justify-center\n                  w-12\n                  h-12\n                  mx-auto\n                  bg-green-100\n                  rounded-full\n                \"\n                :class=\"{\n                  'bg-green-100': dialogStore.variant === 'primary',\n                  'bg-red-100': dialogStore.variant === 'danger',\n                }\"\n              >\n                <BaseIcon\n                  v-if=\"dialogStore.variant === 'primary'\"\n                  name=\"CheckIcon\"\n                  class=\"w-6 h-6 text-green-600\"\n                />\n                <BaseIcon\n                  v-else\n                  name=\"ExclamationIcon\"\n                  class=\"w-6 h-6 text-red-600\"\n                  aria-hidden=\"true\"\n                />\n              </div>\n              <div class=\"mt-3 text-center sm:mt-5\">\n                <DialogTitle\n                  as=\"h3\"\n                  class=\"text-lg font-medium leading-6 text-gray-900\"\n                >\n                  {{ dialogStore.title }}\n                </DialogTitle>\n                <div class=\"mt-2\">\n                  <p class=\"text-sm text-gray-500\">\n                    {{ dialogStore.message }}\n                  </p>\n                </div>\n              </div>\n            </div>\n            <div\n              class=\"mt-5 sm:mt-6 grid gap-3\"\n              :class=\"{\n                'sm:grid-cols-2 sm:grid-flow-row-dense':\n                  !dialogStore.hideNoButton,\n              }\"\n            >\n              <base-button\n                class=\"justify-center\"\n                :variant=\"dialogStore.variant\"\n                :class=\"{ 'w-full': dialogStore.hideNoButton }\"\n                @click=\"resolveDialog(true)\"\n              >\n                {{ dialogStore.yesLabel }}\n              </base-button>\n\n              <base-button\n                v-if=\"!dialogStore.hideNoButton\"\n                class=\"justify-center\"\n                variant=\"white\"\n                @click=\"resolveDialog(false)\"\n              >\n                {{ dialogStore.noLabel }}\n              </base-button>\n            </div>\n          </div>\n        </TransitionChild>\n      </div>\n    </Dialog>\n  </TransitionRoot>\n</template>\n\n<script setup>\nimport { computed } from 'vue'\nimport { useDialogStore } from '@/scripts/stores/dialog'\nimport {\n  Dialog,\n  DialogOverlay,\n  DialogTitle,\n  TransitionChild,\n  TransitionRoot,\n} from '@headlessui/vue'\n\nconst dialogStore = useDialogStore()\n\nfunction resolveDialog(resValue) {\n  dialogStore.resolve(resValue)\n  dialogStore.closeDialog()\n}\n\nconst dialogSizeClasses = computed(() => {\n  const size = dialogStore.size\n\n  switch (size) {\n    case 'sm':\n      return 'sm:max-w-sm'\n    case 'md':\n      return 'sm:max-w-md'\n    case 'lg':\n      return 'sm:max-w-lg'\n\n    default:\n      return 'sm:max-w-md'\n  }\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/components/base/BaseDivider.vue",
    "content": "<template>\n  <hr class=\"w-full text-gray-300\" />\n</template>\n"
  },
  {
    "path": "resources/scripts/components/base/BaseDropdown.vue",
    "content": "<template>\n  <div class=\"relative\" :class=\"wrapperClass\">\n    <BaseContentPlaceholders\n      v-if=\"contentLoading\"\n      class=\"disabled cursor-normal pointer-events-none\"\n    >\n      <BaseContentPlaceholdersBox\n        :rounded=\"true\"\n        class=\"w-14\"\n        style=\"height: 42px\"\n      />\n    </BaseContentPlaceholders>\n    <Menu v-else>\n      <MenuButton ref=\"trigger\" class=\"focus:outline-none\" @click=\"onClick\">\n        <slot name=\"activator\" />\n      </MenuButton>\n\n      <div ref=\"container\" class=\"z-10\" :class=\"widthClass\">\n        <transition\n          enter-active-class=\"transition duration-100 ease-out\"\n          enter-from-class=\"scale-95 opacity-0\"\n          enter-to-class=\"scale-100 opacity-100\"\n          leave-active-class=\"transition duration-75 ease-in\"\n          leave-from-class=\"scale-100 opacity-100\"\n          leave-to-class=\"scale-95 opacity-0\"\n        >\n          <MenuItems :class=\"containerClasses\">\n            <div class=\"py-1\">\n              <slot />\n            </div>\n          </MenuItems>\n        </transition>\n      </div>\n    </Menu>\n  </div>\n</template>\n\n<script setup>\nimport { Menu, MenuButton, MenuItems } from '@headlessui/vue'\nimport { computed, onMounted, ref, onUpdated } from 'vue'\nimport { usePopper } from '@/scripts/helpers/use-popper'\n\nconst props = defineProps({\n  containerClass: {\n    type: String,\n    required: false,\n    default: '',\n  },\n  widthClass: {\n    type: String,\n    default: 'w-56',\n  },\n  positionClass: {\n    type: String,\n    default: 'absolute z-10 right-0',\n  },\n  position: {\n    type: String,\n    default: 'bottom-end',\n  },\n  wrapperClass: {\n    type: String,\n    default: 'inline-block h-full text-left',\n  },\n  contentLoading: {\n    type: Boolean,\n    default: false,\n  },\n})\n\nconst containerClasses = computed(() => {\n  const baseClass = `origin-top-right rounded-md shadow-lg bg-white ring-1 ring-black ring-opacity-5 divide-y divide-gray-100 focus:outline-none`\n  return `${baseClass} ${props.containerClass}`\n})\n\nlet [trigger, container, popper] = usePopper({\n  placement: 'bottom-end',\n  strategy: 'fixed',\n  modifiers: [{ name: 'offset', options: { offset: [0, 10] } }],\n})\n\nfunction onClick() {\n  popper.value.update()\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/components/base/BaseDropdownItem.vue",
    "content": "<template>\n  <MenuItem v-slot=\"{ active }\" v-bind=\"$attrs\">\n    <a\n      href=\"#\"\n      :class=\"[\n        active ? 'bg-gray-100 text-gray-900' : 'text-gray-700',\n        'group flex items-center px-4 py-2 text-sm font-normal',\n      ]\"\n    >\n      <slot :active=\"active\" />\n    </a>\n  </MenuItem>\n</template>\n\n<script setup>\nimport { MenuItem } from '@headlessui/vue'\n</script>\n"
  },
  {
    "path": "resources/scripts/components/base/BaseEmptyPlaceholder.vue",
    "content": "<template>\n  <div class=\"flex flex-col items-center justify-center mt-16\">\n    <div class=\"flex flex-col items-center justify-center\">\n      <slot></slot>\n    </div>\n    <div class=\"mt-2\">\n      <label class=\"font-medium\">{{ title }}</label>\n    </div>\n    <div class=\"mt-2\">\n      <label class=\"text-gray-500\">\n        {{ description }}\n      </label>\n    </div>\n    <div class=\"mt-6\">\n      <slot name=\"actions\" />\n    </div>\n  </div>\n</template>\n\n<script setup>\nconst props = defineProps({\n  title: {\n    type: String,\n    default: String,\n  },\n  description: {\n    type: String,\n    default: String,\n  },\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/components/base/BaseErrorAlert.vue",
    "content": "<template>\n  <div class=\"rounded-md bg-red-50 p-4\">\n    <div class=\"flex\">\n      <div class=\"shrink-0\">\n        <XCircleIcon class=\"h-5 w-5 text-red-400\" aria-hidden=\"true\" />\n      </div>\n      <div class=\"ml-3\">\n        <h3 class=\"text-sm font-medium text-red-800\">\n          {{ errorTitle }}\n        </h3>\n        <div class=\"mt-2 text-sm text-red-700\">\n          <ul role=\"list\" class=\"list-disc pl-5 space-y-1\">\n            <li v-for=\"(error, key) in errors\" :key=\"key\">\n              {{ error }}\n            </li>\n          </ul>\n        </div>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script setup>\nimport { XCircleIcon } from '@heroicons/vue/solid'\n\nconst props = defineProps({\n  errorTitle: {\n    type: String,\n    default: 'There were some errors with your submission',\n  },\n  errors: {\n    type: Array,\n    default: null,\n  },\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/components/base/BaseEstimateStatusBadge.vue",
    "content": "<template>\n  <span :class=\"badgeColorClasses\">\n    <slot />\n  </span>\n</template>\n\n<script setup>\nimport { computed } from 'vue'\n\nconst props = defineProps({\n  status: {\n    type: String,\n    required: false,\n    default: '',\n  },\n})\n\nconst badgeColorClasses = computed(() => {\n  switch (props.status) {\n    case 'DRAFT':\n      return 'bg-yellow-300 bg-opacity-25 px-2  py-1 text-sm  text-yellow-800 uppercase font-normal text-center '\n    case 'SENT':\n      return ' bg-yellow-500 bg-opacity-25 px-2 py-1 text-sm  text-yellow-900 uppercase font-normal text-center '\n    case 'VIEWED':\n      return 'bg-blue-400 bg-opacity-25 px-2  py-1 text-sm  text-blue-900 uppercase font-normal text-center'\n    case 'EXPIRED':\n      return 'bg-red-300 bg-opacity-25 px-2 py-1 text-sm  text-red-800 uppercase font-normal text-center'\n    case 'ACCEPTED':\n      return 'bg-green-400 bg-opacity-25 px-2 py-1 text-sm  text-green-800 uppercase font-normal text-center'\n    case 'REJECTED':\n      return 'bg-purple-300 bg-opacity-25 px-2 py-1 text-sm  text-purple-800 uppercase font-normal text-center'\n    default:\n      return 'bg-gray-500 bg-opacity-25 px-2 py-1 text-sm  text-gray-900 uppercase font-normal text-center'\n  }\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/components/base/BaseFileUploader.vue",
    "content": "<template>\n  <form\n    enctype=\"multipart/form-data\"\n    class=\"\n      relative\n      flex\n      items-center\n      justify-center\n      p-2\n      border-2 border-dashed\n      rounded-md\n      cursor-pointer\n      avatar-upload\n      border-gray-200\n      transition-all\n      duration-300\n      ease-in-out\n      isolate\n      w-full\n      hover:border-gray-300\n      group\n      min-h-[100px]\n      bg-gray-50\n    \"\n    :class=\"avatar ? 'w-32 h-32' : 'w-full'\"\n  >\n    <input\n      id=\"file-upload\"\n      ref=\"inputRef\"\n      type=\"file\"\n      tabindex=\"-1\"\n      :multiple=\"multiple\"\n      :name=\"inputFieldName\"\n      :accept=\"accept\"\n      class=\"absolute z-10 w-full h-full opacity-0 cursor-pointer\"\n      @click=\"$event.target.value=null\"\n      @change=\"\n        onChange(\n          $event.target.name,\n          $event.target.files,\n          $event.target.files.length\n        )\n      \"\n    />\n\n    <!-- Avatar Not Selected -->\n    <div v-if=\"!localFiles.length && avatar\" class=\"\">\n      <img :src=\"getDefaultAvatar()\" class=\"rounded\" alt=\"Default Avatar\" />\n\n      <a\n        href=\"#\"\n        class=\"absolute z-30 bg-white rounded-full -bottom-3 -right-3 group\"\n        @click.prevent.stop=\"onBrowse\"\n      >\n        <BaseIcon\n          name=\"PlusCircleIcon\"\n          class=\"\n            h-8\n            text-xl\n            leading-6\n            text-primary-500\n            group-hover:text-primary-600\n          \"\n        />\n      </a>\n    </div>\n\n    <!-- Not Selected -->\n    <div v-else-if=\"!localFiles.length\" class=\"flex flex-col items-center\">\n      <BaseIcon\n        name=\"CloudUploadIcon\"\n        class=\"h-6 mb-2 text-xl leading-6 text-gray-400\"\n      />\n      <p class=\"text-xs leading-4 text-center text-gray-400\">\n        Drag a file here or\n        <a\n          class=\"\n            cursor-pointer\n            text-primary-500\n            hover:text-primary-600 hover:font-medium\n            relative\n            z-20\n          \"\n          href=\"#\"\n          @click.prevent.stop=\"onBrowse\"\n        >\n          browse\n        </a>\n        to choose a file\n      </p>\n      <p class=\"text-xs leading-4 text-center text-gray-400 mt-2\">\n        {{ recommendedText }}\n      </p>\n    </div>\n\n    <div\n      v-else-if=\"localFiles.length && avatar && !multiple\"\n      class=\"flex w-full h-full border border-gray-200 rounded\"\n    >\n      <img\n        v-if=\"localFiles[0].image\"\n        for=\"file-upload\"\n        :src=\"localFiles[0].image\"\n        class=\"block object-cover w-full h-full rounded opacity-100\"\n        style=\"animation: fadeIn 2s ease\"\n      />\n\n      <div\n        v-else\n        class=\"\n          flex\n          justify-center\n          items-center\n          text-gray-400\n          flex-col\n          space-y-2\n          px-2\n          py-4\n          w-full\n        \"\n      >\n        <!-- DocumentText Icon -->\n        <svg\n          xmlns=\"http://www.w3.org/2000/svg\"\n          class=\"h-8 w-8\"\n          fill=\"none\"\n          viewBox=\"0 0 24 24\"\n          stroke=\"currentColor\"\n        >\n          <path\n            stroke-linecap=\"round\"\n            stroke-linejoin=\"round\"\n            stroke-width=\"1.25\"\n            d=\"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z\"\n          />\n        </svg>\n\n        <p\n          v-if=\"localFiles[0].name\"\n          class=\"\n            text-gray-600\n            font-medium\n            text-sm\n            truncate\n            overflow-hidden\n            w-full\n          \"\n        >\n          {{ localFiles[0].name }}\n        </p>\n      </div>\n\n      <a\n        href=\"#\"\n        class=\"\n          box-border\n          absolute\n          z-30\n          flex\n          items-center\n          justify-center\n          w-8\n          h-8\n          bg-white\n          border border-gray-200\n          rounded-full\n          shadow-md\n          -bottom-3\n          -right-3\n          group\n          hover:border-gray-300\n        \"\n        @click.prevent.stop=\"onAvatarRemove(localFiles[0])\"\n      >\n        <BaseIcon name=\"XIcon\" class=\"h-4 text-xl leading-6 text-black\" />\n      </a>\n    </div>\n\n    <!-- Preview Files Multiple -->\n    <div\n      v-else-if=\"localFiles.length && multiple\"\n      class=\"flex flex-wrap w-full\"\n    >\n      <a\n        v-for=\"(localFile, index) in localFiles\"\n        :key=\"localFile\"\n        href=\"#\"\n        class=\"\n          block\n          p-2\n          m-2\n          bg-white\n          border border-gray-200\n          rounded\n          hover:border-gray-500\n          relative\n          max-w-md\n        \"\n        @click.prevent\n      >\n        <img\n          v-if=\"localFile.image\"\n          for=\"file-upload\"\n          :src=\"localFile.image\"\n          class=\"block object-cover w-20 h-20 opacity-100\"\n          style=\"animation: fadeIn 2s ease\"\n        />\n\n        <div\n          v-else\n          class=\"\n            flex\n            justify-center\n            items-center\n            text-gray-400\n            flex-col\n            space-y-2\n            px-2\n            py-4\n            w-full\n          \"\n        >\n          <!-- DocumentText Icon -->\n          <svg\n            xmlns=\"http://www.w3.org/2000/svg\"\n            class=\"h-8 w-8\"\n            fill=\"none\"\n            viewBox=\"0 0 24 24\"\n            stroke=\"currentColor\"\n          >\n            <path\n              stroke-linecap=\"round\"\n              stroke-linejoin=\"round\"\n              stroke-width=\"1.25\"\n              d=\"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z\"\n            />\n          </svg>\n\n          <p\n            v-if=\"localFile.name\"\n            class=\"\n              text-gray-600\n              font-medium\n              text-sm\n              truncate\n              overflow-hidden\n              w-full\n            \"\n          >\n            {{ localFile.name }}\n          </p>\n        </div>\n\n        <a\n          href=\"#\"\n          class=\"\n            box-border\n            absolute\n            z-30\n            flex\n            items-center\n            justify-center\n            w-8\n            h-8\n            bg-white\n            border border-gray-200\n            rounded-full\n            shadow-md\n            -bottom-3\n            -right-3\n            group\n            hover:border-gray-300\n          \"\n          @click.prevent.stop=\"onFileRemove(index)\"\n        >\n          <BaseIcon name=\"XIcon\" class=\"h-4 text-xl leading-6 text-black\" />\n        </a>\n      </a>\n    </div>\n\n    <div v-else class=\"flex w-full items-center justify-center\">\n      <a\n        v-for=\"(localFile, index) in localFiles\"\n        :key=\"localFile\"\n        href=\"#\"\n        class=\"\n          block\n          p-2\n          m-2\n          bg-white\n          border border-gray-200\n          rounded\n          hover:border-gray-500\n          relative\n          max-w-md\n        \"\n        @click.prevent\n      >\n        <img\n          v-if=\"localFile.image\"\n          for=\"file-upload\"\n          :src=\"localFile.image\"\n          class=\"block object-contain h-20 opacity-100 min-w-[5rem]\"\n          style=\"animation: fadeIn 2s ease\"\n        />\n\n        <div\n          v-else\n          class=\"\n            flex\n            justify-center\n            items-center\n            text-gray-400\n            flex-col\n            space-y-2\n            px-2\n            py-4\n            w-full\n          \"\n        >\n          <!-- DocumentText Icon -->\n          <svg\n            xmlns=\"http://www.w3.org/2000/svg\"\n            class=\"h-8 w-8\"\n            fill=\"none\"\n            viewBox=\"0 0 24 24\"\n            stroke=\"currentColor\"\n          >\n            <path\n              stroke-linecap=\"round\"\n              stroke-linejoin=\"round\"\n              stroke-width=\"1.25\"\n              d=\"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z\"\n            />\n          </svg>\n\n          <p\n            v-if=\"localFile.name\"\n            class=\"\n              text-gray-600\n              font-medium\n              text-sm\n              truncate\n              overflow-hidden\n              w-full\n            \"\n          >\n            {{ localFile.name }}\n          </p>\n        </div>\n\n        <a\n          href=\"#\"\n          class=\"\n            box-border\n            absolute\n            z-30\n            flex\n            items-center\n            justify-center\n            w-8\n            h-8\n            bg-white\n            border border-gray-200\n            rounded-full\n            shadow-md\n            -bottom-3\n            -right-3\n            group\n            hover:border-gray-300\n          \"\n          @click.prevent.stop=\"onFileRemove(index)\"\n        >\n          <BaseIcon name=\"XIcon\" class=\"h-4 text-xl leading-6 text-black\" />\n        </a>\n      </a>\n    </div>\n  </form>\n</template>\n\n<script setup>\nimport { ref, onMounted, watch } from 'vue'\nimport axios from 'axios'\nimport utils from '@/scripts/helpers/utilities'\n\nconst props = defineProps({\n  multiple: {\n    type: Boolean,\n    default: false,\n  },\n  avatar: {\n    type: Boolean,\n    default: false,\n  },\n  autoProcess: {\n    type: Boolean,\n    default: false,\n  },\n  uploadUrl: {\n    type: String,\n    default: '',\n  },\n  preserveLocalFiles: {\n    type: Boolean,\n    default: false,\n  },\n  accept: {\n    type: String,\n    default: 'image/*',\n  },\n  inputFieldName: {\n    type: String,\n    default: 'photos',\n  },\n  base64: {\n    type: Boolean,\n    default: false,\n  },\n  modelValue: {\n    type: Array,\n    default: () => [],\n  },\n  recommendedText: {\n    type: String,\n    default: '',\n  },\n})\n\nconst emit = defineEmits(['change', 'remove', 'update:modelValue'])\n\n// status\nconst STATUS_INITIAL = 0\nconst STATUS_SAVING = 1\nconst STATUS_SUCCESS = 2\nconst STATUS_FAILED = 3\n\nlet uploadedFiles = ref([])\nconst localFiles = ref([])\nconst inputRef = ref(null)\nlet uploadError = ref(null)\nlet currentStatus = ref(null)\n\nfunction reset() {\n  // reset form to initial state\n  currentStatus = STATUS_INITIAL\n\n  uploadedFiles.value = []\n\n  if (props.modelValue && props.modelValue.length) {\n    localFiles.value = [...props.modelValue]\n  } else {\n    localFiles.value = []\n  }\n\n  uploadError = null\n}\n\nfunction upload(formData) {\n  return (\n    axios\n      .post(props.uploadUrl, formData)\n      // get data\n      .then((x) => x.data)\n      // add url field\n      .then((x) => x.map((img) => ({ ...img, url: `/images/${img.id}` })))\n  )\n}\n\n// upload data to the server\nfunction save(formData) {\n  currentStatus = STATUS_SAVING\n\n  upload(formData)\n    .then((x) => {\n      uploadedFiles = [].concat(x)\n      currentStatus = STATUS_SUCCESS\n    })\n    .catch((err) => {\n      uploadError = err.response\n      currentStatus = STATUS_FAILED\n    })\n}\n\nfunction getBase64(file) {\n  return new Promise((resolve, reject) => {\n    const reader = new FileReader()\n    reader.readAsDataURL(file)\n    reader.onload = () => resolve(reader.result)\n    reader.onerror = (error) => reject(error)\n  })\n}\n\nfunction onChange(fieldName, fileList, fileCount) {\n  if (!fileList.length) return\n\n  if (props.multiple) {\n    emit('change', fieldName, fileList, fileCount)\n  } else {\n    if (props.base64) {\n      getBase64(fileList[0]).then((res) => {\n        emit('change', fieldName, res, fileCount, fileList[0])\n      })\n    } else {\n      emit('change', fieldName, fileList[0], fileCount)\n    }\n  }\n\n  if (!props.preserveLocalFiles) {\n    localFiles.value = []\n  }\n\n  Array.from(Array(fileList.length).keys()).forEach((x) => {\n    const file = fileList[x]\n\n    if (utils.isImageFile(file.type)) {\n      getBase64(file).then((image) => {\n        localFiles.value.push({\n          fileObject: file,\n          type: file.type,\n          name: file.name,\n          image,\n        })\n      })\n    } else {\n      localFiles.value.push({\n        fileObject: file,\n        type: file.type,\n        name: file.name,\n      })\n    }\n  })\n\n  emit('update:modelValue', localFiles.value)\n\n  if (!props.autoProcess) return\n\n  // append the files to FormData\n  const formData = new FormData()\n\n  Array.from(Array(fileList.length).keys()).forEach((x) => {\n    formData.append(fieldName, fileList[x], fileList[x].name)\n  })\n\n  // save it\n  save(formData)\n}\n\nfunction onBrowse() {\n  if (inputRef.value) {\n    inputRef.value.click()\n  }\n}\n\nfunction onAvatarRemove(image) {\n  localFiles.value = []\n  emit('remove', image)\n}\n\nfunction onFileRemove(index) {\n  localFiles.value.splice(index, 1)\n  emit('remove', index)\n}\n\nfunction getDefaultAvatar() {\n  const imgUrl = new URL('/img/default-avatar.jpg', import.meta.url)\n  return imgUrl\n}\n\nonMounted(() => {\n  reset()\n})\n\nwatch(\n  () => props.modelValue,\n  (v) => {\n    localFiles.value = [...v]\n  }\n)\n</script>\n"
  },
  {
    "path": "resources/scripts/components/base/BaseFilterWrapper.vue",
    "content": "<template>\n  <transition\n    enter-active-class=\"transition duration-500 ease-in-out\"\n    enter-from-class=\"opacity-0\"\n    enter-to-class=\"opacity-100\"\n    leave-active-class=\"transition ease-in-out\"\n    leave-from-class=\"opacity-100\"\n    leave-to-class=\"opacity-0\"\n  >\n    <div v-show=\"show\" class=\"relative z-10 p-4 md:p-8 bg-gray-200 rounded\">\n      <slot name=\"filter-header\" />\n\n      <label\n        class=\"\n          absolute\n          text-sm\n          leading-snug\n          text-gray-900\n          cursor-pointer\n          hover:text-gray-700\n          top-2.5\n          right-3.5\n        \"\n        @click=\"$emit('clear')\"\n      >\n        {{ $t('general.clear_all') }}\n      </label>\n\n      <div\n        class=\"flex flex-col space-y-3\"\n        :class=\"\n          rowOnXl\n            ? 'xl:flex-row xl:space-x-4 xl:space-y-0 xl:items-center'\n            : 'lg:flex-row lg:space-x-4 lg:space-y-0 lg:items-center'\n        \"\n      >\n        <slot />\n      </div>\n    </div>\n  </transition>\n</template>\n\n<script setup>\ndefineProps({\n  show: {\n    type: Boolean,\n    default: false,\n  },\n  rowOnXl: {\n    type: Boolean,\n    default: false,\n  },\n})\n\ndefineEmits(['clear'])\n</script>\n"
  },
  {
    "path": "resources/scripts/components/base/BaseFormatMoney.vue",
    "content": "<template>\n  <span style=\"font-family: sans-serif\">{{ formattedAmount }}</span>\n</template>\n\n<script setup>\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\nimport { inject, computed } from 'vue'\n\nconst props = defineProps({\n  amount: {\n    type: [Number, String],\n    required: true,\n  },\n  currency: {\n    type: Object,\n    default: () => {\n      return null\n    },\n  },\n})\n\nconst utils = inject('utils')\n\nconst companyStore = useCompanyStore()\n\nconst formattedAmount = computed(() => {\n  return utils.formatMoney(\n    props.amount,\n    props.currency || companyStore.selectedCompanyCurrency\n  )\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/components/base/BaseGlobalLoader.vue",
    "content": "<template>\n  <div class=\"flex flex-col items-center justify-center h-screen\">\n    <div class=\"loader loader-white\">\n      <div class=\"loader-spined\">\n        <div class=\"loader--icon\">\n          <svg\n            class=\"offset-45deg text-primary-500\"\n            width=\"27\"\n            height=\"27\"\n            viewBox=\"0 0 27 27\"\n            fill=\"none\"\n            xmlns=\"http://www.w3.org/2000/svg\"\n          >\n            <path\n              d=\"M25.9053 1.75122C25.8037 1.44653 25.5498 1.19263 25.2451 1.09106C23.6201 0.735596 22.3506 0.735596 21.0811 0.735596C15.8506 0.735596 12.7021 3.57935 10.3662 7.2356L5.03418 7.2356C4.22168 7.28638 3.25684 7.84497 2.85059 8.60669L0.362305 13.634C0.311523 13.7864 0.260742 13.9895 0.260742 14.1418C0.260742 14.8528 0.768555 15.3606 1.47949 15.3606H6.70996L5.59277 16.5286C4.9834 17.0872 4.93262 18.1536 5.59277 18.8137L8.18262 21.4036C8.74121 21.9622 9.80762 22.0637 10.4678 21.4036L11.585 20.2864V25.5168C11.6357 26.2278 12.1436 26.7356 12.8545 26.7356C13.0068 26.7356 13.21 26.6848 13.3623 26.634L18.3896 24.1458C19.1514 23.7395 19.71 22.7747 19.71 21.9622V16.6301C23.417 14.2942 26.21 11.1458 26.21 5.91528C26.2607 4.64575 26.2607 3.37622 25.9053 1.75122ZM19.7607 9.26685C18.5928 9.26685 17.7295 8.40356 17.7295 7.2356C17.7295 6.11841 18.5928 5.20435 19.7607 5.20435C20.8779 5.20435 21.792 6.11841 21.792 7.2356C21.792 8.40356 20.8779 9.26685 19.7607 9.26685Z\"\n              fill=\"currentColor\"\n            />\n          </svg>\n        </div>\n      </div>\n\n      <div class=\"pufs text-primary-500\">\n        <i class=\"text-primary-500\"></i><i></i><i></i> <i></i><i></i><i></i>\n        <i></i><i></i><i></i> <i></i><i></i><i></i> <i></i><i></i><i></i> <i></i\n        ><i></i><i></i> <i></i><i></i><i></i> <i></i><i></i><i></i> <i></i\n        ><i></i><i></i> <i></i><i></i><i></i> <i></i><i></i><i></i> <i></i\n        ><i></i><i></i> <i></i><i></i><i></i> <i></i><i></i><i></i> <i></i\n        ><i></i><i></i>\n      </div>\n      <div class=\"particles text-primary-500\">\n        <i></i><i></i><i></i> <i></i><i></i><i></i> <i></i><i></i><i></i> <i></i\n        ><i></i><i></i> <i></i><i></i><i></i> <i></i><i></i><i></i> <i></i\n        ><i></i><i></i> <i></i><i></i><i></i> <i></i><i></i><i></i> <i></i\n        ><i></i><i></i> <i></i><i></i><i></i> <i></i><i></i><i></i> <i></i\n        ><i></i><i></i> <i></i><i></i><i></i> <i></i><i></i><i></i>\n      </div>\n      <MainLogo\n        class=\"\n          absolute\n          block\n          h-auto\n          max-w-full\n          transform\n          -translate-x-1/2 -translate-y-1/2\n          w-28\n          text-primary-400\n          top-1/2\n          left-1/2\n        \"\n        alt=\"Crater Logo\"\n      />\n    </div>\n  </div>\n</template>\n\n<script setup>\nimport MainLogo from '@/scripts/components/icons/MainLogo.vue'\n\nconst props = defineProps({\n  showBgOverlay: {\n    default: false,\n    type: Boolean,\n  },\n})\n\nfunction getCraterLogo() {\n  const imgUrl = new URL('/img/crater-logo.png', import.meta.url)\n  return imgUrl\n}\n</script>\n\n<style>\n/*-------------------------------------------------------------------------------*/\n/*--  Rocket Loader Inspired By David (https://codepen.io/dlepaux/pen/pZmVoP)  --*/\n/*-------------------------------------------------------------------------------*/\n\n.offset-45deg {\n  transform: rotate(45deg);\n}\n\n.loader {\n  width: 240px;\n  height: 240px;\n  position: relative;\n  display: block;\n  margin: 0 auto;\n  transition: all 2s ease-out;\n  transform: scale(1);\n}\n.loader:hover {\n  transition: all 1s ease-in;\n  transform: scale(1.5);\n}\n\n.loader-white .loader--icon {\n  color: white;\n}\n.loader-white .pufs > i:after {\n  animation-name: puf-white;\n}\n\n.loader-spined {\n  top: 0;\n  right: 0;\n  left: 0;\n  bottom: 0;\n  z-index: 100;\n  position: absolute;\n  display: block;\n  animation: orbit 3s linear infinite;\n}\n\n@-webkit-keyframes orbit {\n  0% {\n    transform: rotate(0deg);\n  }\n  100% {\n    transform: rotate(360deg);\n  }\n}\n@-moz-keyframes orbit {\n  0% {\n    transform: rotate(0deg);\n  }\n  100% {\n    transform: rotate(360deg);\n  }\n}\n@-ms-keyframes orbit {\n  0% {\n    transform: rotate(0deg);\n  }\n  100% {\n    transform: rotate(360deg);\n  }\n}\n@keyframes orbit {\n  0% {\n    transform: rotate(0deg);\n  }\n  100% {\n    transform: rotate(360deg);\n  }\n}\n.loader--icon {\n  text-align: center;\n  width: 25px;\n  height: 25px;\n  line-height: 25px;\n  margin: 0 auto;\n  font-size: 26px;\n  color: #0a2639;\n}\n\n.pufs {\n  top: 0;\n  right: 0;\n  left: 0;\n  bottom: 0;\n  display: block;\n  position: absolute;\n}\n.pufs > i {\n  display: block;\n  top: 0;\n  right: 0;\n  left: 0;\n  bottom: 0;\n  position: absolute;\n}\n.pufs > i:after {\n  content: url('data:image/svg+xml; utf8, <svg width=\"8\" height=\"8\" viewBox=\"0 0 8 8\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M3.6875 0.6875C1.75403 0.6875 0.1875 2.25403 0.1875 4.1875C0.1875 6.12097 1.75403 7.6875 3.6875 7.6875C5.62097 7.6875 7.1875 6.12097 7.1875 4.1875C7.1875 2.25403 5.62097 0.6875 3.6875 0.6875Z\" fill=\"%239EA9C4\"/></svg>');\n  height: 7px;\n  width: 7px;\n  position: relative;\n  border-radius: 100%;\n  display: block;\n  margin: 0 auto;\n  top: 7px;\n  font-size: 9px;\n  opacity: 0;\n  animation-name: puf;\n  animation-iteration-count: infinite;\n  animation-timing-function: ease-out;\n  animation-duration: 3s;\n}\n.pufs > i:nth-child(1) {\n  transform: rotate(8deg);\n}\n.pufs > i:nth-child(1):after {\n  animation-delay: 0.0666666667s;\n  margin-top: -1px;\n}\n.pufs > i:nth-child(2) {\n  transform: rotate(16deg);\n}\n.pufs > i:nth-child(2):after {\n  animation-delay: 0.1333333333s;\n  margin-top: 1px;\n}\n.pufs > i:nth-child(3) {\n  transform: rotate(24deg);\n}\n.pufs > i:nth-child(3):after {\n  animation-delay: 0.2s;\n  margin-top: -1px;\n}\n.pufs > i:nth-child(4) {\n  transform: rotate(32deg);\n}\n.pufs > i:nth-child(4):after {\n  animation-delay: 0.2666666667s;\n  margin-top: 1px;\n}\n.pufs > i:nth-child(5) {\n  transform: rotate(40deg);\n}\n.pufs > i:nth-child(5):after {\n  animation-delay: 0.3333333333s;\n  margin-top: -1px;\n}\n.pufs > i:nth-child(6) {\n  transform: rotate(48deg);\n}\n.pufs > i:nth-child(6):after {\n  animation-delay: 0.4s;\n  margin-top: 1px;\n}\n.pufs > i:nth-child(7) {\n  transform: rotate(56deg);\n}\n.pufs > i:nth-child(7):after {\n  animation-delay: 0.4666666667s;\n  margin-top: -1px;\n}\n.pufs > i:nth-child(8) {\n  transform: rotate(64deg);\n}\n.pufs > i:nth-child(8):after {\n  animation-delay: 0.5333333333s;\n  margin-top: 1px;\n}\n.pufs > i:nth-child(9) {\n  transform: rotate(72deg);\n}\n.pufs > i:nth-child(9):after {\n  animation-delay: 0.6s;\n  margin-top: -1px;\n}\n.pufs > i:nth-child(10) {\n  transform: rotate(80deg);\n}\n.pufs > i:nth-child(10):after {\n  animation-delay: 0.6666666667s;\n  margin-top: 1px;\n}\n.pufs > i:nth-child(11) {\n  transform: rotate(88deg);\n}\n.pufs > i:nth-child(11):after {\n  animation-delay: 0.7333333333s;\n  margin-top: -1px;\n}\n.pufs > i:nth-child(12) {\n  transform: rotate(96deg);\n}\n.pufs > i:nth-child(12):after {\n  animation-delay: 0.8s;\n  margin-top: 1px;\n}\n.pufs > i:nth-child(13) {\n  transform: rotate(104deg);\n}\n.pufs > i:nth-child(13):after {\n  animation-delay: 0.8666666667s;\n  margin-top: -1px;\n}\n.pufs > i:nth-child(14) {\n  transform: rotate(112deg);\n}\n.pufs > i:nth-child(14):after {\n  animation-delay: 0.9333333333s;\n  margin-top: 1px;\n}\n.pufs > i:nth-child(15) {\n  transform: rotate(120deg);\n}\n.pufs > i:nth-child(15):after {\n  animation-delay: 1s;\n  margin-top: -1px;\n}\n.pufs > i:nth-child(16) {\n  transform: rotate(128deg);\n}\n.pufs > i:nth-child(16):after {\n  animation-delay: 1.0666666667s;\n  margin-top: 1px;\n}\n.pufs > i:nth-child(17) {\n  transform: rotate(136deg);\n}\n.pufs > i:nth-child(17):after {\n  animation-delay: 1.1333333333s;\n  margin-top: -1px;\n}\n.pufs > i:nth-child(18) {\n  transform: rotate(144deg);\n}\n.pufs > i:nth-child(18):after {\n  animation-delay: 1.2s;\n  margin-top: 1px;\n}\n.pufs > i:nth-child(19) {\n  transform: rotate(152deg);\n}\n.pufs > i:nth-child(19):after {\n  animation-delay: 1.2666666667s;\n  margin-top: -1px;\n}\n.pufs > i:nth-child(20) {\n  transform: rotate(160deg);\n}\n.pufs > i:nth-child(20):after {\n  animation-delay: 1.3333333333s;\n  margin-top: 1px;\n}\n.pufs > i:nth-child(21) {\n  transform: rotate(168deg);\n}\n.pufs > i:nth-child(21):after {\n  animation-delay: 1.4s;\n  margin-top: -1px;\n}\n.pufs > i:nth-child(22) {\n  transform: rotate(176deg);\n}\n.pufs > i:nth-child(22):after {\n  animation-delay: 1.4666666667s;\n  margin-top: 1px;\n}\n.pufs > i:nth-child(23) {\n  transform: rotate(184deg);\n}\n.pufs > i:nth-child(23):after {\n  animation-delay: 1.5333333333s;\n  margin-top: -1px;\n}\n.pufs > i:nth-child(24) {\n  transform: rotate(192deg);\n}\n.pufs > i:nth-child(24):after {\n  animation-delay: 1.6s;\n  margin-top: 1px;\n}\n.pufs > i:nth-child(25) {\n  transform: rotate(200deg);\n}\n.pufs > i:nth-child(25):after {\n  animation-delay: 1.6666666667s;\n  margin-top: -1px;\n}\n.pufs > i:nth-child(26) {\n  transform: rotate(208deg);\n}\n.pufs > i:nth-child(26):after {\n  animation-delay: 1.7333333333s;\n  margin-top: 1px;\n}\n.pufs > i:nth-child(27) {\n  transform: rotate(216deg);\n}\n.pufs > i:nth-child(27):after {\n  animation-delay: 1.8s;\n  margin-top: -1px;\n}\n.pufs > i:nth-child(28) {\n  transform: rotate(224deg);\n}\n.pufs > i:nth-child(28):after {\n  animation-delay: 1.8666666667s;\n  margin-top: 1px;\n}\n.pufs > i:nth-child(29) {\n  transform: rotate(232deg);\n}\n.pufs > i:nth-child(29):after {\n  animation-delay: 1.9333333333s;\n  margin-top: -1px;\n}\n.pufs > i:nth-child(30) {\n  transform: rotate(240deg);\n}\n.pufs > i:nth-child(30):after {\n  animation-delay: 2s;\n  margin-top: 1px;\n}\n.pufs > i:nth-child(31) {\n  transform: rotate(248deg);\n}\n.pufs > i:nth-child(31):after {\n  animation-delay: 2.0666666667s;\n  margin-top: -1px;\n}\n.pufs > i:nth-child(32) {\n  transform: rotate(256deg);\n}\n.pufs > i:nth-child(32):after {\n  animation-delay: 2.1333333333s;\n  margin-top: 1px;\n}\n.pufs > i:nth-child(33) {\n  transform: rotate(264deg);\n}\n.pufs > i:nth-child(33):after {\n  animation-delay: 2.2s;\n  margin-top: -1px;\n}\n.pufs > i:nth-child(34) {\n  transform: rotate(272deg);\n}\n.pufs > i:nth-child(34):after {\n  animation-delay: 2.2666666667s;\n  margin-top: 1px;\n}\n.pufs > i:nth-child(35) {\n  transform: rotate(280deg);\n}\n.pufs > i:nth-child(35):after {\n  animation-delay: 2.3333333333s;\n  margin-top: -1px;\n}\n.pufs > i:nth-child(36) {\n  transform: rotate(288deg);\n}\n.pufs > i:nth-child(36):after {\n  animation-delay: 2.4s;\n  margin-top: 1px;\n}\n.pufs > i:nth-child(37) {\n  transform: rotate(296deg);\n}\n.pufs > i:nth-child(37):after {\n  animation-delay: 2.4666666667s;\n  margin-top: -1px;\n}\n.pufs > i:nth-child(38) {\n  transform: rotate(304deg);\n}\n.pufs > i:nth-child(38):after {\n  animation-delay: 2.5333333333s;\n  margin-top: 1px;\n}\n.pufs > i:nth-child(39) {\n  transform: rotate(312deg);\n}\n.pufs > i:nth-child(39):after {\n  animation-delay: 2.6s;\n  margin-top: -1px;\n}\n.pufs > i:nth-child(40) {\n  transform: rotate(320deg);\n}\n.pufs > i:nth-child(40):after {\n  animation-delay: 2.6666666667s;\n  margin-top: 1px;\n}\n.pufs > i:nth-child(41) {\n  transform: rotate(328deg);\n}\n.pufs > i:nth-child(41):after {\n  animation-delay: 2.7333333333s;\n  margin-top: -1px;\n}\n.pufs > i:nth-child(42) {\n  transform: rotate(336deg);\n}\n.pufs > i:nth-child(42):after {\n  animation-delay: 2.8s;\n  margin-top: 1px;\n}\n.pufs > i:nth-child(43) {\n  transform: rotate(344deg);\n}\n.pufs > i:nth-child(43):after {\n  animation-delay: 2.8666666667s;\n  margin-top: -1px;\n}\n.pufs > i:nth-child(44) {\n  transform: rotate(352deg);\n}\n.pufs > i:nth-child(44):after {\n  animation-delay: 2.9333333333s;\n  margin-top: 1px;\n}\n.pufs > i:nth-child(45) {\n  transform: rotate(360deg);\n}\n.pufs > i:nth-child(45):after {\n  animation-delay: 3s;\n  margin-top: -1px;\n}\n\n.particles {\n  position: absolute;\n  display: block;\n  top: 0;\n  right: 0;\n  left: 0;\n  bottom: 0;\n}\n.particles > i {\n  display: block;\n  top: 0;\n  right: 0;\n  left: 0;\n  bottom: 0;\n  position: absolute;\n}\n.particles > i:after {\n  content: url('data:image/svg+xml; utf8, <svg width=\"3\" height=\"3\" viewBox=\"0 0 3 3\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M1.1875 0.6875C0.635081 0.6875 0.1875 1.13508 0.1875 1.6875C0.1875 2.23992 0.635081 2.6875 1.1875 2.6875C1.73992 2.6875 2.1875 2.23992 2.1875 1.6875C2.1875 1.13508 1.73992 0.6875 1.1875 0.6875Z\" fill=\"%239EA9C4\"/></svg>');\n  height: 7px;\n  width: 7px;\n  position: relative;\n  border-radius: 100%;\n  display: block;\n  margin: 0 auto;\n  top: 7px;\n  font-size: 2px;\n  opacity: 0;\n  margin-top: 0;\n  animation-iteration-count: infinite;\n  animation-timing-function: ease-out;\n  animation-duration: 3s;\n}\n.particles > i:nth-child(1) {\n  transform: rotate(8deg);\n}\n.particles > i:nth-child(1):after {\n  animation-delay: 0.0666666667s;\n  animation-name: particle-o;\n}\n.particles > i:nth-child(2) {\n  transform: rotate(16deg);\n}\n.particles > i:nth-child(2):after {\n  animation-delay: 0.1333333333s;\n  animation-name: particle-o;\n}\n.particles > i:nth-child(3) {\n  transform: rotate(24deg);\n}\n.particles > i:nth-child(3):after {\n  animation-delay: 0.2s;\n  animation-name: particle;\n}\n.particles > i:nth-child(4) {\n  transform: rotate(32deg);\n}\n.particles > i:nth-child(4):after {\n  animation-delay: 0.2666666667s;\n  animation-name: particle-o;\n}\n.particles > i:nth-child(5) {\n  transform: rotate(40deg);\n}\n.particles > i:nth-child(5):after {\n  animation-delay: 0.3333333333s;\n  animation-name: particle-o;\n}\n.particles > i:nth-child(6) {\n  transform: rotate(48deg);\n}\n.particles > i:nth-child(6):after {\n  animation-delay: 0.4s;\n  animation-name: particle;\n}\n.particles > i:nth-child(7) {\n  transform: rotate(56deg);\n}\n.particles > i:nth-child(7):after {\n  animation-delay: 0.4666666667s;\n  animation-name: particle-o;\n}\n.particles > i:nth-child(8) {\n  transform: rotate(64deg);\n}\n.particles > i:nth-child(8):after {\n  animation-delay: 0.5333333333s;\n  animation-name: particle-o;\n}\n.particles > i:nth-child(9) {\n  transform: rotate(72deg);\n}\n.particles > i:nth-child(9):after {\n  animation-delay: 0.6s;\n  animation-name: particle;\n}\n.particles > i:nth-child(10) {\n  transform: rotate(80deg);\n}\n.particles > i:nth-child(10):after {\n  animation-delay: 0.6666666667s;\n  animation-name: particle-o;\n}\n.particles > i:nth-child(11) {\n  transform: rotate(88deg);\n}\n.particles > i:nth-child(11):after {\n  animation-delay: 0.7333333333s;\n  animation-name: particle-o;\n}\n.particles > i:nth-child(12) {\n  transform: rotate(96deg);\n}\n.particles > i:nth-child(12):after {\n  animation-delay: 0.8s;\n  animation-name: particle;\n}\n.particles > i:nth-child(13) {\n  transform: rotate(104deg);\n}\n.particles > i:nth-child(13):after {\n  animation-delay: 0.8666666667s;\n  animation-name: particle-o;\n}\n.particles > i:nth-child(14) {\n  transform: rotate(112deg);\n}\n.particles > i:nth-child(14):after {\n  animation-delay: 0.9333333333s;\n  animation-name: particle-o;\n}\n.particles > i:nth-child(15) {\n  transform: rotate(120deg);\n}\n.particles > i:nth-child(15):after {\n  animation-delay: 1s;\n  animation-name: particle;\n}\n.particles > i:nth-child(16) {\n  transform: rotate(128deg);\n}\n.particles > i:nth-child(16):after {\n  animation-delay: 1.0666666667s;\n  animation-name: particle-o;\n}\n.particles > i:nth-child(17) {\n  transform: rotate(136deg);\n}\n.particles > i:nth-child(17):after {\n  animation-delay: 1.1333333333s;\n  animation-name: particle-o;\n}\n.particles > i:nth-child(18) {\n  transform: rotate(144deg);\n}\n.particles > i:nth-child(18):after {\n  animation-delay: 1.2s;\n  animation-name: particle;\n}\n.particles > i:nth-child(19) {\n  transform: rotate(152deg);\n}\n.particles > i:nth-child(19):after {\n  animation-delay: 1.2666666667s;\n  animation-name: particle-o;\n}\n.particles > i:nth-child(20) {\n  transform: rotate(160deg);\n}\n.particles > i:nth-child(20):after {\n  animation-delay: 1.3333333333s;\n  animation-name: particle-o;\n}\n.particles > i:nth-child(21) {\n  transform: rotate(168deg);\n}\n.particles > i:nth-child(21):after {\n  animation-delay: 1.4s;\n  animation-name: particle;\n}\n.particles > i:nth-child(22) {\n  transform: rotate(176deg);\n}\n.particles > i:nth-child(22):after {\n  animation-delay: 1.4666666667s;\n  animation-name: particle-o;\n}\n.particles > i:nth-child(23) {\n  transform: rotate(184deg);\n}\n.particles > i:nth-child(23):after {\n  animation-delay: 1.5333333333s;\n  animation-name: particle-o;\n}\n.particles > i:nth-child(24) {\n  transform: rotate(192deg);\n}\n.particles > i:nth-child(24):after {\n  animation-delay: 1.6s;\n  animation-name: particle;\n}\n.particles > i:nth-child(25) {\n  transform: rotate(200deg);\n}\n.particles > i:nth-child(25):after {\n  animation-delay: 1.6666666667s;\n  animation-name: particle-o;\n}\n.particles > i:nth-child(26) {\n  transform: rotate(208deg);\n}\n.particles > i:nth-child(26):after {\n  animation-delay: 1.7333333333s;\n  animation-name: particle-o;\n}\n.particles > i:nth-child(27) {\n  transform: rotate(216deg);\n}\n.particles > i:nth-child(27):after {\n  animation-delay: 1.8s;\n  animation-name: particle;\n}\n.particles > i:nth-child(28) {\n  transform: rotate(224deg);\n}\n.particles > i:nth-child(28):after {\n  animation-delay: 1.8666666667s;\n  animation-name: particle-o;\n}\n.particles > i:nth-child(29) {\n  transform: rotate(232deg);\n}\n.particles > i:nth-child(29):after {\n  animation-delay: 1.9333333333s;\n  animation-name: particle-o;\n}\n.particles > i:nth-child(30) {\n  transform: rotate(240deg);\n}\n.particles > i:nth-child(30):after {\n  animation-delay: 2s;\n  animation-name: particle;\n}\n.particles > i:nth-child(31) {\n  transform: rotate(248deg);\n}\n.particles > i:nth-child(31):after {\n  animation-delay: 2.0666666667s;\n  animation-name: particle-o;\n}\n.particles > i:nth-child(32) {\n  transform: rotate(256deg);\n}\n.particles > i:nth-child(32):after {\n  animation-delay: 2.1333333333s;\n  animation-name: particle-o;\n}\n.particles > i:nth-child(33) {\n  transform: rotate(264deg);\n}\n.particles > i:nth-child(33):after {\n  animation-delay: 2.2s;\n  animation-name: particle;\n}\n.particles > i:nth-child(34) {\n  transform: rotate(272deg);\n}\n.particles > i:nth-child(34):after {\n  animation-delay: 2.2666666667s;\n  animation-name: particle-o;\n}\n.particles > i:nth-child(35) {\n  transform: rotate(280deg);\n}\n.particles > i:nth-child(35):after {\n  animation-delay: 2.3333333333s;\n  animation-name: particle-o;\n}\n.particles > i:nth-child(36) {\n  transform: rotate(288deg);\n}\n.particles > i:nth-child(36):after {\n  animation-delay: 2.4s;\n  animation-name: particle;\n}\n.particles > i:nth-child(37) {\n  transform: rotate(296deg);\n}\n.particles > i:nth-child(37):after {\n  animation-delay: 2.4666666667s;\n  animation-name: particle-o;\n}\n.particles > i:nth-child(38) {\n  transform: rotate(304deg);\n}\n.particles > i:nth-child(38):after {\n  animation-delay: 2.5333333333s;\n  animation-name: particle-o;\n}\n.particles > i:nth-child(39) {\n  transform: rotate(312deg);\n}\n.particles > i:nth-child(39):after {\n  animation-delay: 2.6s;\n  animation-name: particle;\n}\n.particles > i:nth-child(40) {\n  transform: rotate(320deg);\n}\n.particles > i:nth-child(40):after {\n  animation-delay: 2.6666666667s;\n  animation-name: particle-o;\n}\n.particles > i:nth-child(41) {\n  transform: rotate(328deg);\n}\n.particles > i:nth-child(41):after {\n  animation-delay: 2.7333333333s;\n  animation-name: particle-o;\n}\n.particles > i:nth-child(42) {\n  transform: rotate(336deg);\n}\n.particles > i:nth-child(42):after {\n  animation-delay: 2.8s;\n  animation-name: particle;\n}\n.particles > i:nth-child(43) {\n  transform: rotate(344deg);\n}\n.particles > i:nth-child(43):after {\n  animation-delay: 2.8666666667s;\n  animation-name: particle-o;\n}\n.particles > i:nth-child(44) {\n  transform: rotate(352deg);\n}\n.particles > i:nth-child(44):after {\n  animation-delay: 2.9333333333s;\n  animation-name: particle-o;\n}\n.particles > i:nth-child(45) {\n  transform: rotate(360deg);\n}\n.particles > i:nth-child(45):after {\n  animation-delay: 3s;\n  animation-name: particle;\n}\n\n@-webkit-keyframes puf {\n  0% {\n    opacity: 1;\n    color: black;\n    transform: scale(1);\n  }\n  10% {\n    color: #3498db;\n    transform: scale(1.5);\n  }\n  60%,\n  100% {\n    opacity: 0;\n    color: grey;\n    transform: scale(0.4);\n  }\n}\n@-moz-keyframes puf {\n  0% {\n    opacity: 1;\n    color: black;\n    transform: scale(1);\n  }\n  10% {\n    color: #3498db;\n    transform: scale(1.5);\n  }\n  60%,\n  100% {\n    opacity: 0;\n    color: grey;\n    transform: scale(0.4);\n  }\n}\n@-ms-keyframes puf {\n  0% {\n    opacity: 1;\n    color: black;\n    transform: scale(1);\n  }\n  10% {\n    color: #3498db;\n    transform: scale(1.5);\n  }\n  60%,\n  100% {\n    opacity: 0;\n    color: grey;\n    transform: scale(0.4);\n  }\n}\n@keyframes puf {\n  0% {\n    opacity: 1;\n    color: black;\n    transform: scale(1);\n  }\n  10% {\n    color: #3498db;\n    transform: scale(1.5);\n  }\n  60%,\n  100% {\n    opacity: 0;\n    color: grey;\n    transform: scale(0.4);\n  }\n}\n@-webkit-keyframes puf-white {\n  0% {\n    opacity: 1;\n    color: rgba(0, 0, 0, 0.75);\n    transform: scale(1);\n  }\n  10% {\n    color: rgba(255, 255, 255, 0.9);\n    transform: scale(1.5);\n  }\n  60%,\n  100% {\n    opacity: 0;\n    color: rgba(0, 0, 0, 0.3);\n    transform: scale(0.4);\n  }\n}\n@-moz-keyframes puf-white {\n  0% {\n    opacity: 1;\n    color: rgba(0, 0, 0, 0.75);\n    transform: scale(1);\n  }\n  10% {\n    color: rgba(255, 255, 255, 0.9);\n    transform: scale(1.5);\n  }\n  60%,\n  100% {\n    opacity: 0;\n    color: rgba(0, 0, 0, 0.3);\n    transform: scale(0.4);\n  }\n}\n@-ms-keyframes puf-white {\n  0% {\n    opacity: 1;\n    color: rgba(0, 0, 0, 0.75);\n    transform: scale(1);\n  }\n  10% {\n    color: rgba(255, 255, 255, 0.9);\n    transform: scale(1.5);\n  }\n  60%,\n  100% {\n    opacity: 0;\n    color: rgba(0, 0, 0, 0.3);\n    transform: scale(0.4);\n  }\n}\n@keyframes puf-white {\n  0% {\n    opacity: 1;\n    color: rgba(0, 0, 0, 0.75);\n    transform: scale(1);\n  }\n  10% {\n    color: rgba(255, 255, 255, 0.9);\n    transform: scale(1.5);\n  }\n  60%,\n  100% {\n    opacity: 0;\n    color: rgba(0, 0, 0, 0.3);\n    transform: scale(0.4);\n  }\n}\n@-webkit-keyframes particle {\n  0% {\n    opacity: 1;\n    color: white;\n    margin-top: 0px;\n  }\n  10% {\n    margin-top: 15px;\n  }\n  75% {\n    opacity: 0.5;\n    margin-top: 5px;\n  }\n  100% {\n    opacity: 0;\n    margin-top: 0px;\n  }\n}\n@-moz-keyframes particle {\n  0% {\n    opacity: 1;\n    color: white;\n    margin-top: 0px;\n  }\n  10% {\n    margin-top: 15px;\n  }\n  75% {\n    opacity: 0.5;\n    margin-top: 5px;\n  }\n  100% {\n    opacity: 0;\n    margin-top: 0px;\n  }\n}\n@-ms-keyframes particle {\n  0% {\n    opacity: 1;\n    color: white;\n    margin-top: 0px;\n  }\n  10% {\n    margin-top: 15px;\n  }\n  75% {\n    opacity: 0.5;\n    margin-top: 5px;\n  }\n  100% {\n    opacity: 0;\n    margin-top: 0px;\n  }\n}\n@keyframes particle {\n  0% {\n    opacity: 1;\n    color: white;\n    margin-top: 0px;\n  }\n  10% {\n    margin-top: 15px;\n  }\n  75% {\n    opacity: 0.5;\n    margin-top: 5px;\n  }\n  100% {\n    opacity: 0;\n    margin-top: 0px;\n  }\n}\n@-webkit-keyframes particle-o {\n  0% {\n    opacity: 1;\n    color: white;\n    margin-top: 0px;\n  }\n  10% {\n    margin-top: -7px;\n  }\n  75% {\n    opacity: 0.5;\n    margin-top: 0px;\n  }\n  100% {\n    opacity: 0;\n    margin-top: 0px;\n  }\n}\n@-moz-keyframes particle-o {\n  0% {\n    opacity: 1;\n    color: white;\n    margin-top: 0px;\n  }\n  10% {\n    margin-top: -7px;\n  }\n  75% {\n    opacity: 0.5;\n    margin-top: 0px;\n  }\n  100% {\n    opacity: 0;\n    margin-top: 0px;\n  }\n}\n@-ms-keyframes particle-o {\n  0% {\n    opacity: 1;\n    color: white;\n    margin-top: 0px;\n  }\n  10% {\n    margin-top: -7px;\n  }\n  75% {\n    opacity: 0.5;\n    margin-top: 0px;\n  }\n  100% {\n    opacity: 0;\n    margin-top: 0px;\n  }\n}\n@keyframes particle-o {\n  0% {\n    opacity: 1;\n    color: white;\n    margin-top: 0px;\n  }\n  10% {\n    margin-top: -7px;\n  }\n  75% {\n    opacity: 0.5;\n    margin-top: 0px;\n  }\n  100% {\n    opacity: 0;\n    margin-top: 0px;\n  }\n}\n</style>\n"
  },
  {
    "path": "resources/scripts/components/base/BaseHeading.vue",
    "content": "<template>\n  <h6 :class=\"typeClass\">\n    <slot />\n  </h6>\n</template>\n\n<script setup>\nimport { computed } from 'vue'\nconst props = defineProps({\n  type: {\n    type: String,\n    default: 'section-title',\n    validator: function (value) {\n      return ['section-title', 'heading-title'].indexOf(value) !== -1\n    },\n  },\n})\n\nconst typeClass = computed(() => {\n  return {\n    'text-gray-900 text-lg font-medium': props.type === 'heading-title',\n    'text-gray-500 uppercase text-base': props.type === 'section-title',\n  }\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/components/base/BaseIcon.vue",
    "content": "<template>\n  <component :is=\"heroIcons[name]\" v-if=\"isLoaded\" class=\"h-5 w-5\" />\n</template>\n\n<script setup>\nimport { ref, onMounted } from 'vue'\nimport * as heroIcons from '@heroicons/vue/outline'\n\nconst isLoaded = ref(false)\n\nconst props = defineProps({\n  name: {\n    type: String,\n    required: true,\n  },\n})\n\nonMounted(() => {\n  isLoaded.value = true\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/components/base/BaseInfoAlert.vue",
    "content": "<template>\n  <div class=\"rounded-md bg-yellow-50 p-4 relative\">\n    <BaseIcon\n      name=\"XIcon\"\n      class=\"h-5 w-5 text-yellow-500 absolute right-4 cursor-pointer\"\n      @click=\"$emit('hide')\"\n    />\n    <div class=\"flex flex-col\">\n      <div class=\"flex\">\n        <div class=\"shrink-0\">\n          <BaseIcon\n            name=\"ExclamationIcon\"\n            class=\"h-5 w-5 text-yellow-400\"\n            aria-hidden=\"true\"\n          />\n        </div>\n        <div class=\"ml-3\">\n          <h3 class=\"text-sm font-medium text-yellow-800\">\n            {{ title }}\n          </h3>\n          <div class=\"mt-2 text-sm text-yellow-700\">\n            <ul role=\"list\" class=\"list-disc pl-5 space-y-1\">\n              <li v-for=\"(list, key) in lists\" :key=\"key\">\n                {{ list }}\n              </li>\n            </ul>\n          </div>\n        </div>\n      </div>\n      <div v-if=\"actions.length\" class=\"mt-4 ml-3\">\n        <div class=\"-mx-2 -my-1.5 flex flex-row-reverse\">\n          <button\n            v-for=\"(action, i) in actions\"\n            :key=\"i\"\n            type=\"button\"\n            class=\"\n              bg-yellow-50\n              px-2\n              py-1.5\n              rounded-md\n              text-sm\n              font-medium\n              text-yellow-800\n              hover:bg-yellow-100\n              focus:outline-none\n              focus:ring-2\n              focus:ring-offset-2\n              focus:ring-offset-yellow-50\n              focus:ring-yellow-600\n              mr-3\n            \"\n            @click=\"$emit(`${action}`)\"\n          >\n            {{ action }}\n          </button>\n          <!-- <button\n            v-if=\"actions[1]\"\n            type=\"button\"\n            class=\"\n              ml-3\n              bg-yellow-50\n              px-2\n              py-1.5\n              rounded-md\n              text-sm\n              font-medium\n              text-yellow-800\n              hover:bg-yellow-100\n              focus:outline-none\n              focus:ring-2\n              focus:ring-offset-2\n              focus:ring-offset-yellow-50\n              focus:ring-yellow-600\n            \"\n            @click=\"$emit('action2')\"\n          >\n            {{ actions[1] }}\n          </button> -->\n        </div>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script setup>\nimport { XCircleIcon } from '@heroicons/vue/solid'\n\nconst emits = defineEmits(['hide'])\nconst props = defineProps({\n  title: {\n    type: String,\n    default: 'There were some errors with your submission',\n  },\n  lists: {\n    type: Array,\n    default: null,\n  },\n  actions: {\n    type: Array,\n    default: () => ['Dismiss'],\n  },\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/components/base/BaseInput.vue",
    "content": "<template>\n  <BaseContentPlaceholders v-if=\"contentLoading\">\n    <BaseContentPlaceholdersBox\n      :rounded=\"true\"\n      :class=\"`w-full ${contentLoadClass}`\"\n      style=\"height: 38px\"\n    />\n  </BaseContentPlaceholders>\n\n  <div\n    v-else\n    :class=\"[containerClass, computedContainerClass]\"\n    class=\"relative rounded-md shadow-sm font-base\"\n  >\n    <div\n      v-if=\"loading && loadingPosition === 'left'\"\n      class=\"\n        absolute\n        inset-y-0\n        left-0\n        flex\n        items-center\n        pl-3\n        pointer-events-none\n      \"\n    >\n      <svg\n        class=\"animate-spin !text-primary-500\"\n        :class=\"[iconLeftClass]\"\n        xmlns=\"http://www.w3.org/2000/svg\"\n        fill=\"none\"\n        viewBox=\"0 0 24 24\"\n      >\n        <circle\n          class=\"opacity-25\"\n          cx=\"12\"\n          cy=\"12\"\n          r=\"10\"\n          stroke=\"currentColor\"\n          stroke-width=\"4\"\n        ></circle>\n        <path\n          class=\"opacity-75\"\n          fill=\"currentColor\"\n          d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"\n        ></path>\n      </svg>\n    </div>\n\n    <div\n      v-else-if=\"hasLeftIconSlot\"\n      class=\"absolute inset-y-0 left-0 flex items-center pl-3\"\n    >\n      <slot name=\"left\" :class=\"iconLeftClass\" />\n    </div>\n\n    <span\n      v-if=\"addon\"\n      class=\"\n        inline-flex\n        items-center\n        px-3\n        text-gray-500\n        border border-r-0 border-gray-200\n        rounded-l-md\n        bg-gray-50\n        sm:text-sm\n      \"\n    >\n      {{ addon }}\n    </span>\n\n    <div\n      v-if=\"inlineAddon\"\n      class=\"\n        absolute\n        inset-y-0\n        left-0\n        flex\n        items-center\n        pl-3\n        pointer-events-none\n      \"\n    >\n      <span class=\"text-gray-500 sm:text-sm\">\n        {{ inlineAddon }}\n      </span>\n    </div>\n\n    <input\n      v-bind=\"$attrs\"\n      :type=\"type\"\n      :value=\"modelValue\"\n      :disabled=\"disabled\"\n      :class=\"[\n        defaultInputClass,\n        inputPaddingClass,\n        inputAddonClass,\n        inputInvalidClass,\n        inputDisabledClass,\n      ]\"\n      @input=\"emitValue\"\n    />\n\n    <div\n      v-if=\"loading && loadingPosition === 'right'\"\n      class=\"\n        absolute\n        inset-y-0\n        right-0\n        flex\n        items-center\n        pr-3\n        pointer-events-none\n      \"\n    >\n      <svg\n        class=\"animate-spin !text-primary-500\"\n        :class=\"[iconRightClass]\"\n        xmlns=\"http://www.w3.org/2000/svg\"\n        fill=\"none\"\n        viewBox=\"0 0 24 24\"\n      >\n        <circle\n          class=\"opacity-25\"\n          cx=\"12\"\n          cy=\"12\"\n          r=\"10\"\n          stroke=\"currentColor\"\n          stroke-width=\"4\"\n        ></circle>\n        <path\n          class=\"opacity-75\"\n          fill=\"currentColor\"\n          d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"\n        ></path>\n      </svg>\n    </div>\n\n    <div\n      v-if=\"hasRightIconSlot\"\n      class=\"absolute inset-y-0 right-0 flex items-center pr-3\"\n    >\n      <slot name=\"right\" :class=\"iconRightClass\" />\n    </div>\n  </div>\n</template>\n\n<script setup>\nimport { computed, ref, useSlots } from 'vue'\n\nlet inheritAttrs = ref(false)\n\nconst props = defineProps({\n  contentLoading: {\n    type: Boolean,\n    default: false,\n  },\n  type: {\n    type: [Number, String],\n    default: 'text',\n  },\n  modelValue: {\n    type: [String, Number],\n    default: '',\n  },\n  loading: {\n    type: Boolean,\n    default: false,\n  },\n  loadingPosition: {\n    type: String,\n    default: 'left',\n  },\n  addon: {\n    type: String,\n    default: null,\n  },\n  inlineAddon: {\n    type: String,\n    default: '',\n  },\n  invalid: {\n    type: Boolean,\n    default: false,\n  },\n  disabled: {\n    type: Boolean,\n    default: false,\n  },\n  containerClass: {\n    type: String,\n    default: '',\n  },\n  contentLoadClass: {\n    type: String,\n    default: '',\n  },\n  defaultInputClass: {\n    type: String,\n    default:\n      'font-base block w-full sm:text-sm border-gray-200 rounded-md text-black',\n  },\n  iconLeftClass: {\n    type: String,\n    default: 'h-5 w-5 text-gray-400',\n  },\n  iconRightClass: {\n    type: String,\n    default: 'h-5 w-5 text-gray-400',\n  },\n  modelModifiers: {\n    default: () => ({}),\n  },\n})\n\nconst slots = useSlots()\n\nconst emit = defineEmits(['update:modelValue'])\n\nconst hasLeftIconSlot = computed(() => {\n  return !!slots.left || (props.loading && props.loadingPosition === 'left')\n})\n\nconst hasRightIconSlot = computed(() => {\n  return !!slots.right || (props.loading && props.loadingPosition === 'right')\n})\n\nconst inputPaddingClass = computed(() => {\n  if (hasLeftIconSlot.value && hasRightIconSlot.value) {\n    return 'px-10'\n  } else if (hasLeftIconSlot.value) {\n    return 'pl-10'\n  } else if (hasRightIconSlot.value) {\n    return 'pr-10'\n  }\n\n  return ''\n})\n\nconst inputAddonClass = computed(() => {\n  if (props.addon) {\n    return 'flex-1 min-w-0 block w-full px-3 py-2 !rounded-none !rounded-r-md'\n  } else if (props.inlineAddon) {\n    return 'pl-7'\n  }\n\n  return ''\n})\n\nconst inputInvalidClass = computed(() => {\n  if (props.invalid) {\n    return 'border-red-500 ring-red-500 focus:ring-red-500 focus:border-red-500'\n  }\n\n  return 'focus:ring-primary-400 focus:border-primary-400'\n})\n\nconst inputDisabledClass = computed(() => {\n  if (props.disabled) {\n    return `border-gray-100 bg-gray-100 !text-gray-400 ring-gray-200 focus:ring-gray-200 focus:border-gray-100`\n  }\n\n  return ''\n})\n\nconst computedContainerClass = computed(() => {\n  let containerClass = `${props.containerClass} `\n\n  if (props.addon) {\n    return `${props.containerClass} flex`\n  }\n\n  return containerClass\n})\n\nfunction emitValue(e) {\n  let val = e.target.value\n  if (props.modelModifiers.uppercase) {\n    val = val.toUpperCase()\n  }\n\n  emit('update:modelValue', val)\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/components/base/BaseInputGrid.vue",
    "content": "<script setup>\nimport { computed } from 'vue'\n\nconst props = defineProps({\n  layout: {\n    type: String,\n    default: 'two-column',\n  },\n})\n\nconst formLayout = computed(() => {\n  if (props.layout === 'two-column') {\n    return 'grid gap-y-6 gap-x-4 grid-cols-1 md:grid-cols-2'\n  }\n\n  return 'grid gap-y-6 gap-x-4 grid-cols-1'\n})\n</script>\n\n<template>\n  <div :class=\"formLayout\">\n    <slot />\n  </div>\n</template>\n"
  },
  {
    "path": "resources/scripts/components/base/BaseInputGroup.vue",
    "content": "<template>\n  <div :class=\"containerClasses\" class=\"relative w-full text-left\">\n    <BaseContentPlaceholders v-if=\"contentLoading\">\n      <BaseContentPlaceholdersText :lines=\"1\" :class=\"contentLoadClass\" />\n    </BaseContentPlaceholders>\n    <label\n      v-else-if=\"label\"\n      :class=\"labelClasses\"\n      class=\"\n        flex\n        text-sm\n        not-italic\n        items-center\n        font-medium\n        text-gray-800\n        whitespace-nowrap\n        justify-between\n      \"\n    >\n      <div>\n        {{ label }}\n        <span v-show=\"required\" class=\"text-sm text-red-500\"> * </span>\n      </div>\n      <slot v-if=\"hasRightLabelSlot\" name=\"labelRight\" />\n      <BaseIcon\n        v-if=\"tooltip\"\n        v-tooltip=\"{ content: tooltip }\"\n        name=\"InformationCircleIcon\"\n        class=\"h-4 text-gray-400 cursor-pointer hover:text-gray-600\"\n      />\n    </label>\n    <div :class=\"inputContainerClasses\">\n      <slot></slot>\n      <span v-if=\"helpText\" class=\"text-gray-500 text-xs mt-1 font-light\">\n        {{ helpText }}\n      </span>\n      <span v-if=\"error\" class=\"block mt-0.5 text-sm text-red-500\">\n        {{ error }}\n      </span>\n    </div>\n  </div>\n</template>\n\n<script setup>\nimport { computed, useSlots } from 'vue'\n\nconst props = defineProps({\n  contentLoading: {\n    type: Boolean,\n    default: false,\n  },\n  contentLoadClass: {\n    type: String,\n    default: 'w-16 h-5',\n  },\n  label: {\n    type: String,\n    default: '',\n  },\n  variant: {\n    type: String,\n    default: 'vertical',\n  },\n  error: {\n    type: [String, Boolean],\n    default: null,\n  },\n  required: {\n    type: Boolean,\n    default: false,\n  },\n  tooltip: {\n    type: String,\n    default: null,\n    required: false,\n  },\n  helpText: {\n    type: String,\n    default: null,\n    required: false,\n  },\n})\n\nconst containerClasses = computed(() => {\n  if (props.variant === 'horizontal') {\n    return 'grid md:grid-cols-12 items-center'\n  }\n\n  return ''\n})\n\nconst labelClasses = computed(() => {\n  if (props.variant === 'horizontal') {\n    return 'relative pr-0 pt-1 mr-3 text-sm md:col-span-4 md:text-right mb-1  md:mb-0'\n  }\n\n  return ''\n})\n\nconst inputContainerClasses = computed(() => {\n  if (props.variant === 'horizontal') {\n    return 'md:col-span-8 md:col-start-5 md:col-ends-12'\n  }\n\n  return 'flex flex-col mt-1'\n})\n\nconst slots = useSlots()\n\nconst hasRightLabelSlot = computed(() => {\n  return !!slots.labelRight\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/components/base/BaseInvoiceStatusBadge.vue",
    "content": "<template>\n  <span :class=\"badgeColorClasses\">\n    <slot />\n  </span>\n</template>\n\n<script>\nimport { computed } from 'vue'\n\nexport default {\n  props: {\n    status: {\n      type: String,\n      required: false,\n      default: '',\n    },\n  },\n\n  setup(props) {\n    const badgeColorClasses = computed(() => {\n      switch (props.status) {\n        case 'DRAFT':\n          return 'bg-yellow-300 bg-opacity-25 px-2  py-1 text-sm  text-yellow-800 uppercase font-normal text-center'\n        case 'SENT':\n          return ' bg-yellow-500 bg-opacity-25 px-2 py-1 text-sm  text-yellow-900 uppercase font-normal text-center '\n        case 'VIEWED':\n          return 'bg-blue-400 bg-opacity-25 px-2  py-1 text-sm  text-blue-900 uppercase font-normal text-center'\n        case 'COMPLETED':\n          return 'bg-green-500 bg-opacity-25 px-2  py-1 text-sm  text-green-900 uppercase font-normal text-center'\n        case 'DUE':\n          return 'bg-yellow-500 bg-opacity-25 px-2  py-1 text-sm  text-yellow-900 uppercase font-normal text-center'\n        case 'OVERDUE':\n          return 'bg-red-300 bg-opacity-50 px-2  py-1 text-sm  text-red-900 uppercase font-normal text-center'\n        case 'UNPAID':\n          return 'bg-yellow-500 bg-opacity-25 px-2 py-1 text-sm  text-yellow-900 uppercase font-normal text-center'\n        case 'PARTIALLY_PAID':\n          return 'bg-blue-400 bg-opacity-25 px-2  py-1 text-sm  text-blue-900 uppercase font-normal text-center'\n        case 'PAID':\n          return 'bg-green-500 bg-opacity-25 px-2 py-1 text-sm  text-green-900 uppercase font-normal text-center'\n        default:\n          return 'bg-gray-500 bg-opacity-25 px-2 py-1 text-sm  text-gray-900 uppercase font-normal text-center'\n      }\n    })\n    return { badgeColorClasses }\n  },\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/components/base/BaseItemSelect.vue",
    "content": "<template>\n  <div class=\"flex-1 text-sm\">\n    <!-- Selected Item Field  -->\n    <div\n      v-if=\"item.item_id\"\n      class=\"\n        relative\n        flex\n        items-center\n        h-10\n        pl-2\n        bg-gray-200\n        border border-gray-200 border-solid\n        rounded\n      \"\n    >\n      {{ item.name }}\n\n      <span\n        class=\"absolute text-gray-400 cursor-pointer top-[8px] right-[10px]\"\n        @click=\"deselectItem(index)\"\n      >\n        <BaseIcon name=\"XCircleIcon\" />\n      </span>\n    </div>\n\n    <!-- Select Item Field -->\n    <BaseMultiselect\n      v-else\n      v-model=\"itemSelect\"\n      :content-loading=\"contentLoading\"\n      value-prop=\"id\"\n      track-by=\"name\"\n      :invalid=\"invalid\"\n      preserve-search\n      :initial-search=\"itemData.name\"\n      label=\"name\"\n      :filterResults=\"false\"\n      resolve-on-load\n      :delay=\"500\"\n      searchable\n      :options=\"searchItems\"\n      object\n      @update:modelValue=\"(val) => $emit('select', val)\"\n      @searchChange=\"(val) => $emit('search', val)\"\n    >\n      <!-- Add Item Action  -->\n      <template #action>\n        <BaseSelectAction\n          v-if=\"userStore.hasAbilities(abilities.CREATE_ITEM)\"\n          @click=\"openItemModal\"\n        >\n          <BaseIcon\n            name=\"PlusCircleIcon\"\n            class=\"h-4 mr-2 -ml-2 text-center text-primary-400\"\n          />\n          {{ $t('general.add_new_item') }}\n        </BaseSelectAction>\n      </template>\n    </BaseMultiselect>\n\n    <!-- Item Description  -->\n    <div class=\"w-full pt-1 text-xs text-light\">\n      <BaseTextarea\n        v-model=\"description\"\n        :content-loading=\"contentLoading\"\n        :autosize=\"true\"\n        class=\"text-xs\"\n        :borderless=\"true\"\n        :placeholder=\"$t('estimates.item.type_item_description')\"\n        :invalid=\"invalidDescription\"\n      />\n      <div v-if=\"invalidDescription\">\n        <span class=\"text-red-600\">\n          {{ $tc('validation.description_maxlength') }}\n        </span>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script setup>\nimport { computed, reactive, ref } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { useRoute } from 'vue-router'\nimport { useEstimateStore } from '@/scripts/admin/stores/estimate'\nimport { useInvoiceStore } from '@/scripts/admin/stores/invoice'\nimport { useItemStore } from '@/scripts/admin/stores/item'\nimport { useModalStore } from '@/scripts/stores/modal'\nimport { useUserStore } from '@/scripts/admin/stores/user'\nimport abilities from '@/scripts/admin/stub/abilities'\n\nconst props = defineProps({\n  contentLoading: {\n    type: Boolean,\n    default: false,\n  },\n  type: {\n    type: String,\n    default: null,\n  },\n  item: {\n    type: Object,\n    required: true,\n  },\n  index: {\n    type: Number,\n    default: 0,\n  },\n  invalid: {\n    type: Boolean,\n    required: false,\n    default: false,\n  },\n  invalidDescription: {\n    type: Boolean,\n    required: false,\n    default: false,\n  },\n  taxPerItem: {\n    type: String,\n    default: '',\n  },\n  taxes: {\n    type: Array,\n    default: null,\n  },\n  store: {\n    type: Object,\n    default: null,\n  },\n  storeProp: {\n    type: String,\n    default: '',\n  },\n})\n\nconst emit = defineEmits(['search', 'select'])\n\nconst itemStore = useItemStore()\nconst estimateStore = useEstimateStore()\nconst invoiceStore = useInvoiceStore()\nconst modalStore = useModalStore()\nconst userStore = useUserStore()\n\nlet route = useRoute()\nconst { t } = useI18n()\n\nconst itemSelect = ref(null)\nconst loading = ref(false)\nlet itemData = reactive({ ...props.item })\nObject.assign(itemData, props.item)\n\nconst taxAmount = computed(() => {\n  return 0\n})\n\nconst description = computed({\n  get: () => props.item.description,\n  set: (value) => {\n    props.store[props.storeProp].items[props.index].description = value\n  },\n})\n\nasync function searchItems(search) {\n  let res = await itemStore.fetchItems({ search })\n  return res.data.data\n}\n\nfunction onTextChange(val) {\n  searchItems(val)\n  emit('search', val)\n}\n\nfunction openItemModal() {\n  modalStore.openModal({\n    title: t('items.add_item'),\n    componentName: 'ItemModal',\n    refreshData: (val) => emit('select', val),\n    data: {\n      taxPerItem: props.taxPerItem,\n      taxes: props.taxes,\n      itemIndex: props.index,\n      store: props.store,\n      storeProps: props.storeProp,\n    },\n  })\n}\n\nfunction deselectItem(index) {\n  props.store.deselectItem(index)\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/components/base/BaseLabel.vue",
    "content": "<template>\n  <label class=\"text-sm not-italic font-medium leading-5 text-primary-800\">\n    <slot />\n  </label>\n</template>\n"
  },
  {
    "path": "resources/scripts/components/base/BaseModal.vue",
    "content": "<template>\n  <Teleport to=\"body\">\n    <TransitionRoot appear as=\"template\" :show=\"show\">\n      <Dialog\n        as=\"div\"\n        static\n        class=\"fixed inset-0 z-20 overflow-y-auto\"\n        :open=\"show\"\n        @close=\"$emit('close')\"\n      >\n        <div\n          class=\"\n            flex\n            items-end\n            justify-center\n            min-h-screen\n            px-4\n            text-center\n            sm:block sm:px-2\n          \"\n        >\n          <TransitionChild\n            as=\"template\"\n            enter=\"ease-out duration-300\"\n            enter-from=\"opacity-0\"\n            enter-to=\"opacity-100\"\n            leave=\"ease-in duration-200\"\n            leave-from=\"opacity-100\"\n            leave-to=\"opacity-0\"\n          >\n            <DialogOverlay\n              class=\"fixed inset-0 transition-opacity bg-gray-700 bg-opacity-25\"\n            />\n          </TransitionChild>\n\n          <!-- This element is to trick the browser into centering the modal contents. -->\n          <span\n            class=\"hidden sm:inline-block sm:align-middle sm:h-screen\"\n            aria-hidden=\"true\"\n            >&#8203;</span\n          >\n          <TransitionChild\n            as=\"template\"\n            enter=\"ease-out duration-300\"\n            enter-from=\"opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95\"\n            enter-to=\"opacity-100 translate-y-0 sm:scale-100\"\n            leave=\"ease-in duration-200\"\n            leave-from=\"opacity-100 translate-y-0 sm:scale-100\"\n            leave-to=\"opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95\"\n          >\n            <div\n              :class=\"`inline-block\n              align-middle\n              bg-white\n              rounded-lg\n              text-left\n              overflow-hidden\n              relative\n              shadow-xl\n              transition-all\n              my-4\n              ${modalSize}\n              sm:w-full\n              border-t-8 border-solid rounded shadow-xl  border-primary-500`\"\n            >\n              <div\n                v-if=\"hasHeaderSlot\"\n                class=\"\n                  flex\n                  items-center\n                  justify-between\n                  px-6\n                  py-4\n                  text-lg\n                  font-medium\n                  text-black\n                  border-b border-gray-200 border-solid\n                \"\n              >\n                <slot name=\"header\" />\n              </div>\n\n              <slot />\n\n              <slot name=\"footer\" />\n            </div>\n          </TransitionChild>\n        </div>\n      </Dialog>\n    </TransitionRoot>\n  </Teleport>\n</template>\n\n<script setup>\nimport { useModalStore } from '@/scripts/stores/modal'\nimport { computed, watchEffect, useSlots } from 'vue'\nimport {\n  Dialog,\n  DialogOverlay,\n  TransitionChild,\n  TransitionRoot,\n} from '@headlessui/vue'\n\nconst props = defineProps({\n  show: {\n    type: Boolean,\n    default: false,\n  },\n})\nconst slots = useSlots()\n\nconst emit = defineEmits(['close', 'open'])\n\nconst modalStore = useModalStore()\n\nwatchEffect(() => {\n  if (props.show) {\n    emit('open', props.show)\n  }\n})\n\nconst modalSize = computed(() => {\n  const size = modalStore.size\n  switch (size) {\n    case 'sm':\n      return 'sm:max-w-2xl w-full'\n    case 'md':\n      return 'sm:max-w-4xl w-full'\n    case 'lg':\n      return 'sm:max-w-6xl w-full'\n\n    default:\n      return 'sm:max-w-2xl w-full'\n  }\n})\n\nconst hasHeaderSlot = computed(() => {\n  return !!slots.header\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/components/base/BaseMoney.vue",
    "content": "<template>\n  <BaseContentPlaceholders v-if=\"contentLoading\">\n    <BaseContentPlaceholdersBox\n      :rounded=\"true\"\n      class=\"w-full\"\n      style=\"height: 38px\"\n    />\n  </BaseContentPlaceholders>\n  <money3\n    v-else\n    v-model=\"money\"\n    v-bind=\"currencyBindings\"\n    :class=\"[inputClass, invalidClass]\"\n    :disabled=\"disabled\"\n  />\n</template>\n\n<script setup>\nimport { computed, ref } from 'vue'\nimport { Money3Component } from 'v-money3'\nimport { useCompanyStore } from '@/scripts/admin/stores/company'\n\nlet money3 = Money3Component\n\nconst props = defineProps({\n  contentLoading: {\n    type: Boolean,\n    default: false,\n  },\n  modelValue: {\n    type: [String, Number],\n    required: true,\n    default: '',\n  },\n  invalid: {\n    type: Boolean,\n    default: false,\n  },\n  inputClass: {\n    type: String,\n    default:\n      'font-base block w-full sm:text-sm border-gray-200 rounded-md text-black',\n  },\n  disabled: {\n    type: Boolean,\n    default: false,\n  },\n  percent: {\n    type: Boolean,\n    default: false,\n  },\n  currency: {\n    type: Object,\n    default: null,\n  },\n})\nconst emit = defineEmits(['update:modelValue'])\nconst companyStore = useCompanyStore()\nlet hasInitialValueSet = false\n\nconst money = computed({\n  get: () => props.modelValue,\n  set: (value) => {\n    if (!hasInitialValueSet) {\n      hasInitialValueSet = true\n      return\n    }\n\n    emit('update:modelValue', value)\n  },\n})\n\nconst currencyBindings = computed(() => {\n  const currency = props.currency\n    ? props.currency\n    : companyStore.selectedCompanyCurrency\n\n  return {\n    decimal: currency.decimal_separator,\n    thousands: currency.thousand_separator,\n    prefix: currency.symbol + ' ',\n    precision: currency.precision,\n    masked: false,\n  }\n})\n\nconst invalidClass = computed(() => {\n  if (props.invalid) {\n    return 'border-red-500 ring-red-500 focus:ring-red-500 focus:border-red-500'\n  }\n  return 'focus:ring-primary-400 focus:border-primary-400'\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/components/base/BaseNewBadge.vue",
    "content": "<template>\n  <span\n    :class=\"[\n      sucess ? 'bg-green-100 text-green-700 ' : 'bg-red-100 text-red-700',\n      'px-2 py-1 text-sm font-normal text-center uppercase',\n    ]\"\n  >\n    <slot />\n  </span>\n</template>\n\n<script setup>\nconst props = defineProps({\n  sucess: {\n    type: Boolean,\n    default: false,\n  },\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/components/base/BasePage.vue",
    "content": "<template>\n  <div class=\"flex-1 p-4 md:p-8 flex flex-col\">\n    <slot />\n  </div>\n</template>\n"
  },
  {
    "path": "resources/scripts/components/base/BasePageHeader.vue",
    "content": "<template>\n  <div class=\"flex flex-wrap justify-between\">\n    <div>\n      <h3 class=\"text-2xl font-bold text-left text-black\">\n        {{ title }}\n      </h3>\n      <slot />\n    </div>\n    <div class=\"flex items-center\">\n      <slot name=\"actions\" />\n    </div>\n  </div>\n</template>\n\n<script setup>\nconst props = defineProps({\n  title: {\n    type: [String],\n    default: '',\n    required: true,\n  },\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/components/base/BasePaidStatusBadge.vue",
    "content": "<template>\n  <span :class=\"[badgeColorClasses, defaultClass]\" class=\"\">\n    <slot />\n  </span>\n</template>\n\n<script>\nimport { computed } from 'vue'\n\nexport default {\n  props: {\n    status: {\n      type: String,\n      required: false,\n      default: '',\n    },\n    defaultClass: {\n      type: String,\n      default: 'px-1 py-0.5 text-xs',\n    },\n  },\n\n  setup(props) {\n    const badgeColorClasses = computed(() => {\n      switch (props.status) {\n        case 'PAID':\n          return 'bg-primary-300 bg-opacity-25 text-primary-800 uppercase font-normal text-center'\n        case 'UNPAID':\n          return ' bg-yellow-500 bg-opacity-25 text-yellow-900 uppercase font-normal text-center '\n        case 'PARTIALLY_PAID':\n          return 'bg-blue-400 bg-opacity-25 text-blue-900 uppercase font-normal text-center'\n        case 'OVERDUE':\n          return 'bg-red-300 bg-opacity-50 px-2  py-1 text-sm  text-red-900 uppercase font-normal text-center'\n        default:\n          return 'bg-gray-500 bg-opacity-25 text-gray-900 uppercase font-normal text-center'\n      }\n    })\n    return { badgeColorClasses }\n  },\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/components/base/BaseRadio.vue",
    "content": "<template>\n  <RadioGroup v-model=\"selected\">\n    <RadioGroupLabel class=\"sr-only\"> Privacy setting </RadioGroupLabel>\n    <div class=\"-space-y-px rounded-md\">\n      <RadioGroupOption\n        :id=\"id\"\n        v-slot=\"{ checked, active }\"\n        as=\"template\"\n        :value=\"value\"\n        :name=\"name\"\n        v-bind=\"$attrs\"\n      >\n        <div class=\"relative flex cursor-pointer focus:outline-none\">\n          <span\n            :class=\"[\n              checked ? checkedStateClass : unCheckedStateClass,\n              active ? optionGroupActiveStateClass : '',\n              optionGroupClass,\n            ]\"\n            aria-hidden=\"true\"\n          >\n            <span class=\"rounded-full bg-white w-1.5 h-1.5\" />\n          </span>\n          <div class=\"flex flex-col ml-3\">\n            <RadioGroupLabel\n              as=\"span\"\n              :class=\"[\n                checked ? checkedStateLabelClass : unCheckedStateLabelClass,\n                optionGroupLabelClass,\n              ]\"\n            >\n              {{ label }}\n            </RadioGroupLabel>\n          </div>\n        </div>\n      </RadioGroupOption>\n    </div>\n  </RadioGroup>\n</template>\n\n<script setup>\nimport { computed } from 'vue'\nimport { RadioGroup, RadioGroupLabel, RadioGroupOption } from '@headlessui/vue'\n\nconst props = defineProps({\n  id: {\n    type: [String, Number],\n    required: false,\n    default: () => `radio_${Math.random().toString(36).substr(2, 9)}`,\n  },\n  label: {\n    type: String,\n    default: '',\n  },\n  modelValue: {\n    type: [String, Number],\n    default: '',\n  },\n  value: {\n    type: [String, Number],\n    default: '',\n  },\n  name: {\n    type: [String, Number],\n    default: '',\n  },\n  checkedStateClass: {\n    type: String,\n    default: 'bg-primary-600',\n  },\n  unCheckedStateClass: {\n    type: String,\n    default: 'bg-white ',\n  },\n  optionGroupActiveStateClass: {\n    type: String,\n    default: 'ring-2 ring-offset-2 ring-primary-500',\n  },\n  checkedStateLabelClass: {\n    type: String,\n    default: 'text-primary-900 ',\n  },\n  unCheckedStateLabelClass: {\n    type: String,\n    default: 'text-gray-900',\n  },\n  optionGroupClass: {\n    type: String,\n    default:\n      'h-4 w-4 mt-0.5 cursor-pointer rounded-full border flex items-center justify-center',\n  },\n  optionGroupLabelClass: {\n    type: String,\n    default: 'block text-sm font-light',\n  },\n})\n\nconst emit = defineEmits(['update:modelValue'])\n\nconst selected = computed({\n  get: () => props.modelValue,\n  set: (modelValue) => emit('update:modelValue', modelValue),\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/components/base/BaseRating.vue",
    "content": "<template>\n  <div class=\"star-rating\">\n    <div\n      v-for=\"(star, index) in stars\"\n      :key=\"index\"\n      :title=\"rating\"\n      class=\"star-container\"\n    >\n      <svg\n        :style=\"[\n          { fill: `url(#gradient${star.raw})` },\n          { width: style.starWidth },\n          { height: style.starHeight },\n        ]\"\n        class=\"star-svg\"\n      >\n        <polygon :points=\"getStarPoints\" style=\"fill-rule: nonzero\" />\n        <defs>\n          <!--\n            id has to be unique to each star fullness(dynamic offset) - it indicates fullness above\n          -->\n          <linearGradient :id=\"`gradient${star.raw}`\">\n            <stop\n              id=\"stop1\"\n              :offset=\"star.percent\"\n              :stop-color=\"getFullFillColor(star)\"\n              stop-opacity=\"1\"\n            ></stop>\n            <stop\n              id=\"stop2\"\n              :offset=\"star.percent\"\n              :stop-color=\"getFullFillColor(star)\"\n              stop-opacity=\"0\"\n            ></stop>\n            <stop\n              id=\"stop3\"\n              :offset=\"star.percent\"\n              :stop-color=\"style.emptyStarColor\"\n              stop-opacity=\"1\"\n            ></stop>\n            <stop\n              id=\"stop4\"\n              :stop-color=\"style.emptyStarColor\"\n              offset=\"100%\"\n              stop-opacity=\"1\"\n            ></stop>\n          </linearGradient>\n        </defs>\n      </svg>\n    </div>\n    <div v-if=\"isIndicatorActive\" class=\"indicator\">{{ rating }}</div>\n  </div>\n</template>\n\n<script>\nexport default {\n  name: 'StarsRating',\n  components: {},\n  directives: {},\n  props: {\n    config: {\n      type: Object,\n      default: null,\n    },\n    rating: {\n      type: [Number],\n      default: 0,\n    },\n  },\n  data: function () {\n    return {\n      stars: [],\n      emptyStar: 0,\n      fullStar: 1,\n      totalStars: 5,\n      isIndicatorActive: false,\n      style: {\n        fullStarColor: '#F1C644',\n        emptyStarColor: '#D4D4D4',\n        starWidth: 20,\n        starHeight: 20,\n      },\n    }\n  },\n  computed: {\n    getStarPoints: function () {\n      let centerX = this.style.starWidth / 2\n      let centerY = this.style.starHeight / 2\n\n      let innerCircleArms = 5 // a 5 arms star\n\n      let innerRadius = this.style.starWidth / innerCircleArms\n      let innerOuterRadiusRatio = 2.5 // Unique value - determines fatness/sharpness of star\n      let outerRadius = innerRadius * innerOuterRadiusRatio\n\n      return this.calcStarPoints(\n        centerX,\n        centerY,\n        innerCircleArms,\n        innerRadius,\n        outerRadius\n      )\n    },\n  },\n  created() {\n    this.initStars()\n    this.setStars()\n    this.setConfigData()\n  },\n  methods: {\n    calcStarPoints(\n      centerX,\n      centerY,\n      innerCircleArms,\n      innerRadius,\n      outerRadius\n    ) {\n      let angle = Math.PI / innerCircleArms\n      let angleOffsetToCenterStar = 60\n\n      let totalArms = innerCircleArms * 2\n      let points = ''\n      for (let i = 0; i < totalArms; i++) {\n        let isEvenIndex = i % 2 == 0\n        let r = isEvenIndex ? outerRadius : innerRadius\n        let currX = centerX + Math.cos(i * angle + angleOffsetToCenterStar) * r\n        let currY = centerY + Math.sin(i * angle + angleOffsetToCenterStar) * r\n        points += currX + ',' + currY + ' '\n      }\n      return points\n    },\n    initStars() {\n      for (let i = 0; i < this.totalStars; i++) {\n        this.stars.push({\n          raw: this.emptyStar,\n          percent: this.emptyStar + '%',\n        })\n      }\n    },\n    setStars() {\n      let fullStarsCounter = Math.floor(this.rating)\n      for (let i = 0; i < this.stars.length; i++) {\n        if (fullStarsCounter !== 0) {\n          this.stars[i].raw = this.fullStar\n          this.stars[i].percent = this.calcStarFullness(this.stars[i])\n          fullStarsCounter--\n        } else {\n          let surplus = Math.round((this.rating % 1) * 10) / 10 // Support just one decimal\n          let roundedOneDecimalPoint = Math.round(surplus * 10) / 10\n          this.stars[i].raw = roundedOneDecimalPoint\n          return (this.stars[i].percent = this.calcStarFullness(this.stars[i]))\n        }\n      }\n    },\n    setConfigData() {\n      if (this.config) {\n        this.setBindedProp(this.style, this.config.style, 'fullStarColor')\n        this.setBindedProp(this.style, this.config.style, 'emptyStarColor')\n        this.setBindedProp(this.style, this.config.style, 'starWidth')\n        this.setBindedProp(this.style, this.config.style, 'starHeight')\n        if (this.config.isIndicatorActive) {\n          this.isIndicatorActive = this.config.isIndicatorActive\n        }\n        console.log('isIndicatorActive: ', this.isIndicatorActive)\n      }\n    },\n    getFullFillColor(starData) {\n      return starData.raw !== this.emptyStar\n        ? this.style.fullStarColor\n        : this.style.emptyStarColor\n    },\n    calcStarFullness(starData) {\n      let starFullnessPercent = starData.raw * 100 + '%'\n      return starFullnessPercent\n    },\n    setBindedProp(localProp, propParent, propToBind) {\n      if (propParent[propToBind]) {\n        localProp[propToBind] = propParent[propToBind]\n      }\n    },\n  },\n}\n</script>\n\n<style scoped lang=\"scss\">\n.star-rating {\n  display: flex;\n  align-items: center;\n  .star-container {\n    display: flex;\n    .star-svg {\n    }\n  }\n  .indicator {\n  }\n  .star-container:not(:last-child) {\n    margin-right: 5px;\n  }\n}\n</style>\n"
  },
  {
    "path": "resources/scripts/components/base/BaseRecurringInvoiceStatusBadge.vue",
    "content": "<template>\n  <span :class=\"badgeColorClasses\">\n    <slot />\n  </span>\n</template>\n\n<script>\nimport { computed } from 'vue'\n\nexport default {\n  props: {\n    status: {\n      type: String,\n      required: false,\n      default: '',\n    },\n  },\n\n  setup(props) {\n    const badgeColorClasses = computed(() => {\n      switch (props.status) {\n        case 'COMPLETED':\n          return 'bg-green-500 bg-opacity-25 px-2  py-1 text-sm  text-green-900 uppercase font-normal text-center'\n        case 'ON_HOLD':\n          return 'bg-yellow-500 bg-opacity-25 px-2  py-1 text-sm  text-yellow-900 uppercase font-normal text-center'\n        case 'ACTIVE':\n          return 'bg-blue-400 bg-opacity-25 px-2  py-1 text-sm  text-blue-900 uppercase font-normal text-center'\n        default:\n          return 'bg-gray-500 bg-opacity-25 px-2 py-1 text-sm  text-gray-900 uppercase font-normal text-center'\n      }\n    })\n    return { badgeColorClasses }\n  },\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/components/base/BaseScrollPane.vue",
    "content": "<template>\n  <div class=\"flex flex-col\">\n    <div class=\"-my-2 overflow-x-auto lg:overflow-visible sm:-mx-6 lg:-mx-8\">\n      <div class=\"py-2 align-middle inline-block min-w-full sm:px-4 lg:px-6\">\n        <div class=\"overflow-hidden lg:overflow-visible sm:px-2 lg:p-2\">\n          <slot />\n        </div>\n      </div>\n    </div>\n  </div>\n</template>\n\n"
  },
  {
    "path": "resources/scripts/components/base/BaseSelectAction.vue",
    "content": "<template>\n  <div\n    class=\"\n      flex\n      items-center\n      justify-center\n      w-full\n      px-6\n      py-2\n      text-sm\n      bg-gray-200\n      cursor-pointer\n      text-primary-400\n    \"\n  >\n    <slot />\n  </div>\n</template>\n"
  },
  {
    "path": "resources/scripts/components/base/BaseSelectInput.vue",
    "content": "<template>\n  <BaseContentPlaceholders v-if=\"contentLoading\">\n    <BaseContentPlaceholdersBox :rounded=\"true\" class=\"w-full h-10\" />\n  </BaseContentPlaceholders>\n  <Listbox\n    v-else\n    v-model=\"selectedValue\"\n    as=\"div\"\n    v-bind=\"{\n      ...$attrs,\n    }\"\n  >\n    <ListboxLabel\n      v-if=\"label\"\n      class=\"block text-sm not-italic font-medium text-gray-800 mb-0.5\"\n    >\n      {{ label }}\n    </ListboxLabel>\n\n    <div class=\"relative\">\n      <!-- Select Input button -->\n      <ListboxButton\n        class=\"\n          relative\n          w-full\n          py-2\n          pl-3\n          pr-10\n          text-left\n          bg-white\n          border border-gray-200\n          rounded-md\n          shadow-sm\n          cursor-default\n          focus:outline-none\n          focus:ring-1\n          focus:ring-primary-500\n          focus:border-primary-500\n          sm:text-sm\n        \"\n      >\n        <span v-if=\"getValue(selectedValue)\" class=\"block truncate\">\n          {{ getValue(selectedValue) }}\n        </span>\n        <span v-else-if=\"placeholder\" class=\"block text-gray-400 truncate\">\n          {{ placeholder }}\n        </span>\n        <span v-else class=\"block text-gray-400 truncate\">\n          Please select an option\n        </span>\n\n        <span\n          class=\"\n            absolute\n            inset-y-0\n            right-0\n            flex\n            items-center\n            pr-2\n            pointer-events-none\n          \"\n        >\n          <BaseIcon\n            name=\"SelectorIcon\"\n            class=\"text-gray-400\"\n            aria-hidden=\"true\"\n          />\n        </span>\n      </ListboxButton>\n\n      <transition\n        leave-active-class=\"transition duration-100 ease-in\"\n        leave-from-class=\"opacity-100\"\n        leave-to-class=\"opacity-0\"\n      >\n        <ListboxOptions\n          class=\"\n            absolute\n            z-10\n            w-full\n            py-1\n            mt-1\n            overflow-auto\n            text-base\n            bg-white\n            rounded-md\n            shadow-lg\n            max-h-60\n            ring-1 ring-black ring-opacity-5\n            focus:outline-none\n            sm:text-sm\n          \"\n        >\n          <ListboxOption\n            v-for=\"option in options\"\n            v-slot=\"{ active, selected }\"\n            :key=\"option.id\"\n            :value=\"option\"\n            as=\"template\"\n          >\n            <li\n              :class=\"[\n                active ? 'text-white bg-primary-600' : 'text-gray-900',\n                'cursor-default select-none relative py-2 pl-3 pr-9',\n              ]\"\n            >\n              <span\n                :class=\"[\n                  selected ? 'font-semibold' : 'font-normal',\n                  'block truncate',\n                ]\"\n              >\n                {{ getValue(option) }}\n              </span>\n\n              <span\n                v-if=\"selected\"\n                :class=\"[\n                  active ? 'text-white' : 'text-primary-600',\n                  'absolute inset-y-0 right-0 flex items-center pr-4',\n                ]\"\n              >\n                <BaseIcon name=\"CheckIcon\" aria-hidden=\"true\" />\n              </span>\n            </li>\n          </ListboxOption>\n          <slot />\n        </ListboxOptions>\n      </transition>\n    </div>\n  </Listbox>\n</template>\n\n<script setup>\nimport { ref, watch } from 'vue'\nimport {\n  Listbox,\n  ListboxButton,\n  ListboxLabel,\n  ListboxOption,\n  ListboxOptions,\n} from '@headlessui/vue'\n\nconst props = defineProps({\n  contentLoading: {\n    type: Boolean,\n    default: false,\n  },\n  modelValue: {\n    type: [String, Number, Boolean, Object, Array],\n    default: '',\n  },\n  options: {\n    type: Array,\n    required: true,\n  },\n  label: {\n    type: String,\n    default: '',\n  },\n  placeholder: {\n    type: String,\n    default: '',\n  },\n  labelKey: {\n    type: [String],\n    default: 'label',\n  },\n  valueProp: {\n    type: String,\n    default: null,\n  },\n  multiple: {\n    type: Boolean,\n    default: false,\n  },\n})\n\nconst emit = defineEmits(['update:modelValue'])\n\nlet selectedValue = ref(props.modelValue)\n\nfunction isObject(val) {\n  return typeof val === 'object' && val !== null\n}\n\nfunction getValue(val) {\n  if (isObject(val)) {\n    return val[props.labelKey]\n  }\n  return val\n}\n\nwatch(\n  () => props.modelValue,\n  () => {\n    if (props.valueProp && props.options.length) {\n      selectedValue.value = props.options.find((val) => {\n        if (val[props.valueProp]) {\n          return val[props.valueProp] === props.modelValue\n        }\n      })\n    } else {\n      selectedValue.value = props.modelValue\n    }\n  }\n)\n\nwatch(selectedValue, (val) => {\n  if (props.valueProp) {\n    emit('update:modelValue', val[props.valueProp])\n  } else {\n    emit('update:modelValue', val)\n  }\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/components/base/BaseSettingCard.vue",
    "content": "<template>\n  <BaseCard>\n    <div class=\"flex flex-wrap justify-between lg:flex-nowrap mb-5\">\n      <div>\n        <h6 class=\"font-medium text-lg text-left\">\n          {{ title }}\n        </h6>\n\n        <p\n          class=\"\n            mt-2\n            text-sm\n            leading-snug\n            text-left text-gray-500\n            max-w-[680px]\n          \"\n        >\n          {{ description }}\n        </p>\n      </div>\n\n      <div class=\"mt-4 lg:mt-0 lg:ml-2\">\n        <slot name=\"action\" />\n      </div>\n    </div>\n\n    <slot />\n  </BaseCard>\n</template>\n\n<script setup>\ndefineProps({\n  title: {\n    type: String,\n    required: true,\n  },\n  description: {\n    type: String,\n    required: true,\n  },\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/components/base/BaseSpinner.vue",
    "content": "<template>\n  <svg\n    class=\"animate-spin\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n    fill=\"none\"\n    viewBox=\"0 0 24 24\"\n  >\n    <circle\n      class=\"opacity-25\"\n      cx=\"12\"\n      cy=\"12\"\n      r=\"10\"\n      stroke=\"currentColor\"\n      stroke-width=\"4\"\n    ></circle>\n    <path\n      class=\"opacity-75\"\n      fill=\"currentColor\"\n      d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"\n    ></path>\n  </svg>\n</template>\n\n"
  },
  {
    "path": "resources/scripts/components/base/BaseSwitch.vue",
    "content": "<template>\n  <SwitchGroup>\n    <div class=\"flex flex-row items-start\">\n      <SwitchLabel v-if=\"labelLeft\" class=\"mr-4 cursor-pointer\">{{\n        labelLeft\n      }}</SwitchLabel>\n\n      <Switch\n        v-model=\"enabled\"\n        :class=\"enabled ? 'bg-primary-500' : 'bg-gray-300'\"\n        class=\"\n          relative\n          inline-flex\n          items-center\n          h-6\n          transition-colors\n          rounded-full\n          w-11\n          focus:outline-none focus:ring-primary-500\n        \"\n        v-bind=\"$attrs\"\n      >\n        <span\n          :class=\"enabled ? 'translate-x-6' : 'translate-x-1'\"\n          class=\"\n            inline-block\n            w-4\n            h-4\n            transition-transform\n            bg-white\n            rounded-full\n          \"\n        />\n      </Switch>\n\n      <SwitchLabel v-if=\"labelRight\" class=\"ml-4 cursor-pointer\">{{\n        labelRight\n      }}</SwitchLabel>\n    </div>\n  </SwitchGroup>\n</template>\n\n<script setup>\nimport { computed } from 'vue'\nimport { Switch, SwitchGroup, SwitchLabel } from '@headlessui/vue'\n\nconst props = defineProps({\n  labelLeft: {\n    type: String,\n    default: '',\n  },\n  labelRight: {\n    type: String,\n    default: '',\n  },\n  modelValue: {\n    type: Boolean,\n    default: false,\n  },\n})\n\nconst emit = defineEmits(['update:modelValue'])\n\nconst enabled = computed({\n  get: () => props.modelValue,\n  set: (value) => emit('update:modelValue', value),\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/components/base/BaseSwitchSection.vue",
    "content": "\n\n<template>\n  <SwitchGroup as=\"li\" class=\"py-4 flex items-center justify-between\">\n    <div class=\"flex flex-col\">\n      <SwitchLabel\n        as=\"p\"\n        class=\"p-0 mb-1 text-sm leading-snug text-black font-medium\"\n        passive\n      >\n        {{ title }}\n      </SwitchLabel>\n      <SwitchDescription class=\"text-sm text-gray-500\">\n        {{ description }}\n      </SwitchDescription>\n    </div>\n    <Switch\n      :disabled=\"disabled\"\n      :model-value=\"modelValue\"\n      :class=\"[\n        modelValue ? 'bg-primary-500' : 'bg-gray-200',\n        'ml-4 relative inline-flex shrink-0 h-6 w-11 border-2 border-transparent rounded-full cursor-pointer transition-colors ease-in-out duration-200 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-primary-500',\n      ]\"\n      @update:modelValue=\"onUpdate\"\n    >\n      <span\n        aria-hidden=\"true\"\n        :class=\"[\n          modelValue ? 'translate-x-5' : 'translate-x-0',\n          'inline-block h-5 w-5 rounded-full bg-white shadow ring-0 transition ease-in-out duration-200',\n        ]\"\n      />\n    </Switch>\n  </SwitchGroup>\n</template>\n\n<script setup>\nimport {\n  Switch,\n  SwitchDescription,\n  SwitchGroup,\n  SwitchLabel,\n} from '@headlessui/vue'\n\ndefineProps({\n  title: {\n    type: String,\n    required: true,\n  },\n  description: {\n    type: String,\n    default: '',\n  },\n  modelValue: {\n    type: Boolean,\n    default: false,\n  },\n  disabled: {\n    type: Boolean,\n    default: false,\n  },\n})\n\nconst emit = defineEmits(['update:modelValue'])\n\nfunction onUpdate(value) {\n  emit('update:modelValue', value)\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/components/base/BaseTab.vue",
    "content": "<template>\n  <TabPanel :class=\"[tabPanelContainer, 'focus:outline-none']\">\n    <!-- focus:ring-1 focus:ring-jet focus:ring-opacity-60 -->\n    <slot />\n  </TabPanel>\n</template>\n\n<script setup>\nimport { TabPanel } from '@headlessui/vue'\n\nconst props = defineProps({\n  title: {\n    type: [String, Number],\n    default: 'Tab',\n  },\n  count: {\n    type: [String, Number],\n    default: '',\n  },\n  countVariant: {\n    type: [String, Number],\n    default: '',\n  },\n  tabPanelContainer: {\n    type: String,\n    default: 'py-4 mt-px',\n  },\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/components/base/BaseTabGroup.vue",
    "content": "<template>\n  <div>\n    <TabGroup :default-index=\"defaultIndex\" @change=\"onChange\">\n      <TabList\n        :class=\"[\n          'flex border-b border-grey-light',\n          'relative overflow-x-auto overflow-y-hidden',\n          'lg:pb-0 lg:ml-0',\n        ]\"\n      >\n        <Tab\n          v-for=\"(tab, index) in tabs\"\n          v-slot=\"{ selected }\"\n          :key=\"index\"\n          as=\"template\"\n        >\n          <button\n            :class=\"[\n              'px-8 py-2 text-sm leading-5 font-medium flex items-center relative border-b-2 mt-4 focus:outline-none whitespace-nowrap',\n              selected\n                ? ' border-primary-400 text-black font-medium'\n                : 'border-transparent text-gray-500 hover:text-gray-700 hover:border-gray-300',\n            ]\"\n          >\n            {{ tab.title }}\n\n            <BaseBadge\n              v-if=\"tab.count\"\n              class=\"!rounded-full overflow-hidden ml-2\"\n              :variant=\"tab['count-variant']\"\n              default-class=\"flex items-center justify-center w-5 h-5 p-1 rounded-full text-medium\"\n            >\n              {{ tab.count }}\n            </BaseBadge>\n          </button>\n        </Tab>\n      </TabList>\n\n      <slot name=\"before-tabs\" />\n\n      <TabPanels>\n        <slot />\n      </TabPanels>\n    </TabGroup>\n  </div>\n</template>\n\n<script setup>\nimport { computed, useSlots } from 'vue'\nimport { TabGroup, TabList, Tab, TabPanels } from '@headlessui/vue'\n\nconst props = defineProps({\n  defaultIndex: {\n    type: Number,\n    default: 0,\n  },\n  filter: {\n    type: String,\n    default: null,\n  },\n})\n\nconst emit = defineEmits(['change'])\n\nconst slots = useSlots()\n\nconst tabs = computed(() => slots.default().map((tab) => tab.props))\n\nfunction onChange(d) {\n  emit('change', tabs.value[d])\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/components/base/BaseText.vue",
    "content": "<template>\n  <BaseCustomTag :tag=\"tag\" :title=\"text\">\n    {{ displayText }}\n  </BaseCustomTag>\n</template>\n\n<script setup>\nimport { computed } from \"vue\"\n\nconst props = defineProps({\n  tag: {\n    type: String,\n    default: 'div',\n  },\n\n  text: {\n    type: String,\n    default: '',\n  },\n\n  length: {\n    type: Number,\n    default: 0,\n  }\n})\n\nconst displayText = computed(() => {\n\n  return props.text.length < props.length ?  props.text : `${props.text.substring(0 , props.length)}...`\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/components/base/BaseTextarea.vue",
    "content": "<template>\n  <BaseContentPlaceholders v-if=\"contentLoading\">\n    <BaseContentPlaceholdersBox\n      :rounded=\"true\"\n      class=\"w-full\"\n      :style=\"`height: ${loadingPlaceholderSize}px`\"\n    />\n  </BaseContentPlaceholders>\n\n  <textarea\n    v-else\n    v-bind=\"$attrs\"\n    ref=\"textarea\"\n    :value=\"modelValue\"\n    :class=\"[defaultInputClass, inputBorderClass]\"\n    :disabled=\"disabled\"\n    @input=\"onInput\"\n  />\n</template>\n\n<script setup>\nimport { computed, onMounted, ref } from 'vue'\n\nconst props = defineProps({\n  contentLoading: {\n    type: Boolean,\n    default: false,\n  },\n  row: {\n    type: Number,\n    default: null,\n  },\n  invalid: {\n    type: Boolean,\n    default: false,\n  },\n  disabled: {\n    type: Boolean,\n    default: false,\n  },\n  modelValue: {\n    type: [String, Number],\n    default: '',\n  },\n  defaultInputClass: {\n    type: String,\n    default:\n      'box-border w-full px-3 py-2 text-sm not-italic font-normal leading-snug text-left text-black placeholder-gray-400 bg-white border border-gray-200 border-solid rounded outline-none',\n  },\n  autosize: {\n    type: Boolean,\n    default: false,\n  },\n  borderless: {\n    type: Boolean,\n    default: false,\n  },\n})\n\nconst textarea = ref(null)\n\nconst inputBorderClass = computed(() => {\n  if (props.invalid && !props.borderless) {\n    return 'border-red-400 ring-red-400 focus:ring-red-400 focus:border-red-400'\n  } else if (!props.borderless) {\n    return 'focus:ring-primary-400 focus:border-primary-400'\n  }\n\n  return 'border-none outline-none focus:ring-primary-400 focus:border focus:border-primary-400'\n})\n\nconst loadingPlaceholderSize = computed(() => {\n  switch (props.row) {\n    case 2:\n      return '56'\n    case 4:\n      return '94'\n    default:\n      return '56'\n  }\n})\n\nconst emit = defineEmits(['update:modelValue'])\n\nfunction onInput(e) {\n  emit('update:modelValue', e.target.value)\n\n  if (props.autosize) {\n    e.target.style.height = 'auto'\n    e.target.style.height = `${e.target.scrollHeight}px`\n  }\n}\n\nonMounted(() => {\n  if (textarea.value && props.autosize) {\n    textarea.value.style.height = textarea.value.scrollHeight + 'px'\n\n    if (textarea.value.style.overflow && textarea.value.style.overflow.y) {\n      textarea.value.style.overflow.y = 'hidden'\n    }\n\n    textarea.value.style.resize = 'none'\n  }\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/components/base/BaseTimePicker.vue",
    "content": "<template>\n  <BaseContentPlaceholders v-if=\"contentLoading\">\n    <BaseContentPlaceholdersBox\n      :rounded=\"true\"\n      :class=\"`w-full ${computedContainerClass}`\"\n      style=\"height: 38px\"\n    />\n  </BaseContentPlaceholders>\n\n  <div v-else :class=\"computedContainerClass\" class=\"relative flex flex-row\">\n    <svg\n      v-if=\"clockIcon && !hasIconSlot\"\n      xmlns=\"http://www.w3.org/2000/svg\"\n      class=\"\n        absolute\n        top-px\n        w-4\n        h-4\n        mx-2\n        my-2.5\n        text-sm\n        not-italic\n        font-black\n        text-gray-400\n        cursor-pointer\n      \"\n      viewBox=\"0 0 20 20\"\n      fill=\"currentColor\"\n      @click=\"onClickPicker\"\n    >\n      <path\n        fill-rule=\"evenodd\"\n        d=\"M10 18a8 8 0 100-16 8 8 0 000 16zm1-12a1 1 0 10-2 0v4a1 1 0 00.293.707l2.828 2.829a1 1 0 101.415-1.415L11 9.586V6z\"\n        clip-rule=\"evenodd\"\n      />\n    </svg>\n\n    <slot v-if=\"clockIcon && hasIconSlot\" name=\"icon\" />\n\n    <FlatPickr\n      ref=\"dpt\"\n      v-model=\"time\"\n      v-bind=\"$attrs\"\n      :disabled=\"disabled\"\n      :config=\"config\"\n      :class=\"[defaultInputClass, inputInvalidClass, inputDisabledClass]\"\n    />\n  </div>\n</template>\n\n<script setup>\nimport FlatPickr from 'vue-flatpickr-component'\nimport 'flatpickr/dist/flatpickr.css'\nimport { computed, reactive, useSlots, ref } from 'vue'\nconst dpt = ref(null)\n\nconst props = defineProps({\n  modelValue: {\n    type: [String, Date],\n    default: () => moment(new Date()),\n  },\n  contentLoading: {\n    type: Boolean,\n    default: false,\n  },\n  placeholder: {\n    type: String,\n    default: null,\n  },\n  invalid: {\n    type: Boolean,\n    default: false,\n  },\n  disabled: {\n    type: Boolean,\n    default: false,\n  },\n  containerClass: {\n    type: String,\n    default: '',\n  },\n  clockIcon: {\n    type: Boolean,\n    default: true,\n  },\n  defaultInputClass: {\n    type: String,\n    default:\n      'font-base pl-8 py-2 outline-none focus:ring-primary-400 focus:outline-none focus:border-primary-400 block w-full sm:text-sm border-gray-300 rounded-md text-black',\n  },\n})\n\nconst emit = defineEmits(['update:modelValue'])\n\nconst slots = useSlots()\n\nlet config = reactive({\n  enableTime: true,\n  noCalendar: true,\n  dateFormat: 'H:i',\n  time_24hr: true,\n})\n\nconst time = computed({\n  get: () => props.modelValue,\n  set: (value) => emit('update:modelValue', value),\n})\n\nconst hasIconSlot = computed(() => {\n  return !!slots.icon\n})\n\nfunction onClickPicker(params) {\n  dpt.value.fp.open()\n}\n\nconst computedContainerClass = computed(() => {\n  let containerClass = `${props.containerClass} `\n\n  return containerClass\n})\n\nconst inputInvalidClass = computed(() => {\n  if (props.invalid) {\n    return 'border-red-400 ring-red-400 focus:ring-red-400 focus:border-red-400'\n  }\n\n  return ''\n})\n\nconst inputDisabledClass = computed(() => {\n  if (props.disabled) {\n    return 'border border-solid rounded-md outline-none input-field box-border-2 base-date-picker-input placeholder-gray-400 bg-gray-300 text-gray-600 border-gray-300'\n  }\n\n  return ''\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/components/base/BaseWizard.vue",
    "content": "<template>\n  <div class=\"w-full\">\n    <slot name=\"nav\">\n      <WizardNavigation\n        :current-step=\"currentStep\"\n        :steps=\"steps\"\n        @click=\"(stepIndex) => $emit('click', stepIndex)\"\n      />\n    </slot>\n\n    <div :class=\"wizardStepsContainerClass\">\n      <slot />\n    </div>\n  </div>\n</template>\n\n<script setup>\nimport WizardNavigation from './BaseWizardNavigation.vue'\n\nconst props = defineProps({\n  wizardStepsContainerClass: {\n    type: String,\n    default: 'relative flex items-center justify-center',\n  },\n  currentStep: {\n    type: Number,\n    default: 0,\n  },\n  steps: {\n    type: Number,\n    default: 0,\n  },\n})\n\nconst emit = defineEmits(['click'])\n</script>\n"
  },
  {
    "path": "resources/scripts/components/base/BaseWizardNavigation.vue",
    "content": "<template>\n  <div\n    :class=\"containerClass\"\n    class=\"\n      relative\n      after:bg-gray-200\n      after:absolute\n      after:transform\n      after:top-1/2\n      after:-translate-y-1/2\n      after:h-2\n      after:w-full\n    \"\n  >\n    <a\n      v-for=\"(number, index) in steps\"\n      :key=\"index\"\n      :class=\"stepStyle(number)\"\n      class=\"z-10\"\n      href=\"#\"\n      @click.prevent=\"$emit('click', index)\"\n    >\n      <svg\n        v-if=\"currentStep > number\"\n        :class=\"iconClass\"\n        fill=\"currentColor\"\n        viewBox=\"0 0 20 20\"\n        @click=\"$emit('click', index)\"\n      >\n        <path\n          fill-rule=\"evenodd\"\n          d=\"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z\"\n          clip-rule=\"evenodd\"\n        ></path>\n      </svg>\n    </a>\n  </div>\n</template>\n\n<script>\nexport default {\n  props: {\n    currentStep: {\n      type: Number,\n      default: null,\n    },\n    steps: {\n      type: Number,\n      default: null,\n    },\n    containerClass: {\n      type: String,\n      default: 'flex justify-between w-full my-10 max-w-xl mx-auto',\n    },\n    progress: {\n      type: String,\n      default: 'rounded-full float-left w-6 h-6 border-4 cursor-pointer',\n    },\n    currentStepClass: {\n      type: String,\n      default: 'bg-white border-primary-500',\n    },\n    nextStepClass: {\n      type: String,\n      default: 'border-gray-200 bg-white',\n    },\n    previousStepClass: {\n      type: String,\n      default:\n        'bg-primary-500 border-primary-500 flex justify-center items-center',\n    },\n    iconClass: {\n      type: String,\n      default:\n        'flex items-center justify-center w-full h-full text-sm font-black text-center text-white',\n    },\n  },\n\n  emits: ['click'],\n\n  setup(props) {\n    function stepStyle(number) {\n      if (props.currentStep === number) {\n        return [props.currentStepClass, props.progress]\n      }\n      if (props.currentStep > number) {\n        return [props.previousStepClass, props.progress]\n      }\n      if (props.currentStep < number) {\n        return [props.nextStepClass, props.progress]\n      }\n      return [props.progress]\n    }\n\n    return {\n      stepStyle,\n    }\n  },\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/components/base/BaseWizardStep.vue",
    "content": "<template>\n  <div :class=\"stepContainerClass\">\n    <div v-if=\"title || description\">\n      <p v-if=\"title\" :class=\"stepTitleClass\">\n        {{ title }}\n      </p>\n      <p v-if=\"description\" :class=\"stepDescriptionClass\">\n        {{ description }}\n      </p>\n    </div>\n    <slot />\n  </div>\n</template>\n\n<script setup>\nconst props = defineProps({\n  title: {\n    type: String,\n    default: null,\n  },\n  description: {\n    type: String,\n    default: null,\n  },\n  stepContainerClass: {\n    type: String,\n    default:\n      'w-full p-8 mb-8 bg-white border border-gray-200 border-solid rounded',\n  },\n  stepTitleClass: {\n    type: String,\n    default: 'text-2xl not-italic font-semibold leading-7 text-black',\n  },\n  stepDescriptionClass: {\n    type: String,\n    default:\n      'w-full mt-2.5 mb-8 text-sm not-italic leading-snug text-gray-500 lg:w-7/12 md:w-7/12 sm:w-7/12',\n  },\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/components/base/base-editor/BaseEditor.vue",
    "content": "<template>\n  <BaseContentPlaceholders v-if=\"contentLoading\">\n    <BaseContentPlaceholdersBox\n      :rounded=\"true\"\n      class=\"w-full\"\n      style=\"height: 200px\"\n    />\n  </BaseContentPlaceholders>\n  <div\n    v-else\n    class=\"\n      box-border\n      w-full\n      text-sm\n      leading-8\n      text-left\n      bg-white\n      border border-gray-200\n      rounded-md\n      min-h-[200px]\n      overflow-hidden\n    \"\n  >\n    <div v-if=\"editor\" class=\"editor-content\">\n      <div class=\"flex justify-end p-2 border-b border-gray-200 md:hidden\">\n        <BaseDropdown width-class=\"w-48\">\n          <template #activator>\n            <div\n              class=\"\n                flex\n                items-center\n                justify-center\n                w-6\n                h-6\n                ml-2\n                text-sm text-black\n                bg-white\n                rounded-sm\n                md:h-9 md:w-9\n              \"\n            >\n              <dots-vertical-icon class=\"w-6 h-6 text-gray-600\" />\n            </div>\n          </template>\n          <div class=\"flex flex-wrap space-x-1\">\n            <span\n              class=\"\n                flex\n                items-center\n                justify-center\n                w-6\n                h-6\n                rounded-sm\n                cursor-pointer\n                hover:bg-gray-100\n              \"\n              :class=\"{ 'bg-gray-200': editor.isActive('bold') }\"\n              @click=\"editor.chain().focus().toggleBold().run()\"\n            >\n              <bold-icon class=\"h-3 cursor-pointer fill-current\" />\n            </span>\n            <span\n              class=\"\n                flex\n                items-center\n                justify-center\n                w-6\n                h-6\n                rounded-sm\n                cursor-pointer\n                hover:bg-gray-100\n              \"\n              :class=\"{ 'bg-gray-200': editor.isActive('italic') }\"\n              @click=\"editor.chain().focus().toggleItalic().run()\"\n            >\n              <italic-icon class=\"h-3 cursor-pointer fill-current\" />\n            </span>\n            <span\n              class=\"\n                flex\n                items-center\n                justify-center\n                w-6\n                h-6\n                rounded-sm\n                cursor-pointer\n                hover:bg-gray-100\n              \"\n              :class=\"{ 'bg-gray-200': editor.isActive('strike') }\"\n              @click=\"editor.chain().focus().toggleStrike().run()\"\n            >\n              <strikethrough-icon class=\"h-3 cursor-pointer fill-current\" />\n            </span>\n            <span\n              class=\"\n                flex\n                items-center\n                justify-center\n                w-6\n                h-6\n                rounded-sm\n                cursor-pointer\n                hover:bg-gray-100\n              \"\n              :class=\"{ 'bg-gray-200': editor.isActive('code') }\"\n              @click=\"editor.chain().focus().toggleCode().run()\"\n            >\n              <coding-icon class=\"h-3 cursor-pointer fill-current\" />\n            </span>\n            <span\n              class=\"\n                flex\n                items-center\n                justify-center\n                w-6\n                h-6\n                rounded-sm\n                cursor-pointer\n                hover:bg-gray-100\n              \"\n              :class=\"{ 'bg-gray-200': editor.isActive('paragraph') }\"\n              @click=\"editor.chain().focus().setParagraph().run()\"\n            >\n              <paragraph-icon class=\"h-3 cursor-pointer fill-current\" />\n            </span>\n            <span\n              class=\"\n                flex\n                items-center\n                justify-center\n                w-6\n                h-6\n                rounded-sm\n                cursor-pointer\n                hover:bg-gray-100\n              \"\n              :class=\"{\n                'bg-gray-200': editor.isActive('heading', { level: 1 }),\n              }\"\n              @click=\"editor.chain().focus().toggleHeading({ level: 1 }).run()\"\n            >\n              H1\n            </span>\n            <span\n              class=\"\n                flex\n                items-center\n                justify-center\n                w-6\n                h-6\n                rounded-sm\n                cursor-pointer\n                hover:bg-gray-100\n              \"\n              :class=\"{\n                'bg-gray-200': editor.isActive('heading', { level: 2 }),\n              }\"\n              @click=\"editor.chain().focus().toggleHeading({ level: 2 }).run()\"\n            >\n              H2\n            </span>\n            <span\n              class=\"\n                flex\n                items-center\n                justify-center\n                w-6\n                h-6\n                rounded-sm\n                cursor-pointer\n                hover:bg-gray-100\n              \"\n              :class=\"{\n                'bg-gray-200': editor.isActive('heading', { level: 3 }),\n              }\"\n              @click=\"editor.chain().focus().toggleHeading({ level: 3 }).run()\"\n            >\n              H3\n            </span>\n\n            <span\n              class=\"\n                flex\n                items-center\n                justify-center\n                w-6\n                h-6\n                rounded-sm\n                cursor-pointer\n                hover:bg-gray-100\n              \"\n              :class=\"{ 'bg-gray-200': editor.isActive('bulletList') }\"\n              @click=\"editor.chain().focus().toggleBulletList().run()\"\n            >\n              <list-ul-icon class=\"h-3 cursor-pointer fill-current\" />\n            </span>\n            <span\n              class=\"\n                flex\n                items-center\n                justify-center\n                w-6\n                h-6\n                rounded-sm\n                cursor-pointer\n                hover:bg-gray-100\n              \"\n              :class=\"{ 'bg-gray-200': editor.isActive('orderedList') }\"\n              @click=\"editor.chain().focus().toggleOrderedList().run()\"\n            >\n              <list-icon class=\"h-3 cursor-pointer fill-current\" />\n            </span>\n            <span\n              class=\"\n                flex\n                items-center\n                justify-center\n                w-6\n                h-6\n                rounded-sm\n                cursor-pointer\n                hover:bg-gray-100\n              \"\n              :class=\"{ 'bg-gray-200': editor.isActive('blockquote') }\"\n              @click=\"editor.chain().focus().toggleBlockquote().run()\"\n            >\n              <quote-icon class=\"h-3 cursor-pointer fill-current\" />\n            </span>\n            <span\n              class=\"\n                flex\n                items-center\n                justify-center\n                w-6\n                h-6\n                rounded-sm\n                cursor-pointer\n                hover:bg-gray-100\n              \"\n              :class=\"{ 'bg-gray-200': editor.isActive('codeBlock') }\"\n              @click=\"editor.chain().focus().toggleCodeBlock().run()\"\n            >\n              <code-block-icon class=\"h-3 cursor-pointer fill-current\" />\n            </span>\n            <span\n              class=\"\n                flex\n                items-center\n                justify-center\n                w-6\n                h-6\n                rounded-sm\n                cursor-pointer\n                hover:bg-gray-100\n              \"\n              :class=\"{ 'bg-gray-200': editor.isActive('undo') }\"\n              @click=\"editor.chain().focus().undo().run()\"\n            >\n              <undo-icon class=\"h-3 cursor-pointer fill-current\" />\n            </span>\n            <span\n              class=\"\n                flex\n                items-center\n                justify-center\n                w-6\n                h-6\n                rounded-sm\n                cursor-pointer\n                hover:bg-gray-100\n              \"\n              :class=\"{ 'bg-gray-200': editor.isActive('redo') }\"\n              @click=\"editor.chain().focus().redo().run()\"\n            >\n              <redo-icon class=\"h-3 cursor-pointer fill-current\" />\n            </span>\n          </div>\n        </BaseDropdown>\n      </div>\n      <div class=\"hidden p-2 border-b border-gray-200 md:flex\">\n        <div class=\"flex flex-wrap space-x-1\">\n          <span\n            class=\"\n              flex\n              items-center\n              justify-center\n              w-6\n              h-6\n              rounded-sm\n              cursor-pointer\n              hover:bg-gray-100\n            \"\n            :class=\"{ 'bg-gray-200': editor.isActive('bold') }\"\n            @click=\"editor.chain().focus().toggleBold().run()\"\n          >\n            <bold-icon class=\"h-3 cursor-pointer fill-current\" />\n          </span>\n          <span\n            class=\"\n              flex\n              items-center\n              justify-center\n              w-6\n              h-6\n              rounded-sm\n              cursor-pointer\n              hover:bg-gray-100\n            \"\n            :class=\"{ 'bg-gray-200': editor.isActive('italic') }\"\n            @click=\"editor.chain().focus().toggleItalic().run()\"\n          >\n            <italic-icon class=\"h-3 cursor-pointer fill-current\" />\n          </span>\n          <span\n            class=\"\n              flex\n              items-center\n              justify-center\n              w-6\n              h-6\n              rounded-sm\n              cursor-pointer\n              hover:bg-gray-100\n            \"\n            :class=\"{ 'bg-gray-200': editor.isActive('strike') }\"\n            @click=\"editor.chain().focus().toggleStrike().run()\"\n          >\n            <strikethrough-icon class=\"h-3 cursor-pointer fill-current\" />\n          </span>\n          <span\n            class=\"\n              flex\n              items-center\n              justify-center\n              w-6\n              h-6\n              rounded-sm\n              cursor-pointer\n              hover:bg-gray-100\n            \"\n            :class=\"{ 'bg-gray-200': editor.isActive('code') }\"\n            @click=\"editor.chain().focus().toggleCode().run()\"\n          >\n            <coding-icon class=\"h-3 cursor-pointer fill-current\" />\n          </span>\n          <span\n            class=\"\n              flex\n              items-center\n              justify-center\n              w-6\n              h-6\n              rounded-sm\n              cursor-pointer\n              hover:bg-gray-100\n            \"\n            :class=\"{ 'bg-gray-200': editor.isActive('paragraph') }\"\n            @click=\"editor.chain().focus().setParagraph().run()\"\n          >\n            <paragraph-icon class=\"h-3 cursor-pointer fill-current\" />\n          </span>\n          <span\n            class=\"\n              flex\n              items-center\n              justify-center\n              w-6\n              h-6\n              rounded-sm\n              cursor-pointer\n              hover:bg-gray-100\n            \"\n            :class=\"{ 'bg-gray-200': editor.isActive('heading', { level: 1 }) }\"\n            @click=\"editor.chain().focus().toggleHeading({ level: 1 }).run()\"\n          >\n            H1\n          </span>\n          <span\n            class=\"\n              flex\n              items-center\n              justify-center\n              w-6\n              h-6\n              rounded-sm\n              cursor-pointer\n              hover:bg-gray-100\n            \"\n            :class=\"{ 'bg-gray-200': editor.isActive('heading', { level: 2 }) }\"\n            @click=\"editor.chain().focus().toggleHeading({ level: 2 }).run()\"\n          >\n            H2\n          </span>\n          <span\n            class=\"\n              flex\n              items-center\n              justify-center\n              w-6\n              h-6\n              rounded-sm\n              cursor-pointer\n              hover:bg-gray-100\n            \"\n            :class=\"{ 'bg-gray-200': editor.isActive('heading', { level: 3 }) }\"\n            @click=\"editor.chain().focus().toggleHeading({ level: 3 }).run()\"\n          >\n            H3\n          </span>\n\n          <span\n            class=\"\n              flex\n              items-center\n              justify-center\n              w-6\n              h-6\n              rounded-sm\n              cursor-pointer\n              hover:bg-gray-100\n            \"\n            :class=\"{ 'bg-gray-200': editor.isActive('bulletList') }\"\n            @click=\"editor.chain().focus().toggleBulletList().run()\"\n          >\n            <list-ul-icon class=\"h-3 cursor-pointer fill-current\" />\n          </span>\n          <span\n            class=\"\n              flex\n              items-center\n              justify-center\n              w-6\n              h-6\n              rounded-sm\n              cursor-pointer\n              hover:bg-gray-100\n            \"\n            :class=\"{ 'bg-gray-200': editor.isActive('orderedList') }\"\n            @click=\"editor.chain().focus().toggleOrderedList().run()\"\n          >\n            <list-icon class=\"h-3 cursor-pointer fill-current\" />\n          </span>\n          <span\n            class=\"\n              flex\n              items-center\n              justify-center\n              w-6\n              h-6\n              rounded-sm\n              cursor-pointer\n              hover:bg-gray-100\n            \"\n            :class=\"{ 'bg-gray-200': editor.isActive('blockquote') }\"\n            @click=\"editor.chain().focus().toggleBlockquote().run()\"\n          >\n            <quote-icon class=\"h-3 cursor-pointer fill-current\" />\n          </span>\n          <span\n            class=\"\n              flex\n              items-center\n              justify-center\n              w-6\n              h-6\n              rounded-sm\n              cursor-pointer\n              hover:bg-gray-100\n            \"\n            :class=\"{ 'bg-gray-200': editor.isActive('codeBlock') }\"\n            @click=\"editor.chain().focus().toggleCodeBlock().run()\"\n          >\n            <code-block-icon class=\"h-3 cursor-pointer fill-current\" />\n          </span>\n          <span\n            class=\"\n              flex\n              items-center\n              justify-center\n              w-6\n              h-6\n              rounded-sm\n              cursor-pointer\n              hover:bg-gray-100\n            \"\n            :class=\"{ 'bg-gray-200': editor.isActive('undo') }\"\n            @click=\"editor.chain().focus().undo().run()\"\n          >\n            <undo-icon class=\"h-3 cursor-pointer fill-current\" />\n          </span>\n          <span\n            class=\"\n              flex\n              items-center\n              justify-center\n              w-6\n              h-6\n              rounded-sm\n              cursor-pointer\n              hover:bg-gray-100\n            \"\n            :class=\"{ 'bg-gray-200': editor.isActive('redo') }\"\n            @click=\"editor.chain().focus().redo().run()\"\n          >\n            <redo-icon class=\"h-3 cursor-pointer fill-current\" />\n          </span>\n          <span\n            class=\"\n              flex\n              items-center\n              justify-center\n              w-6\n              h-6\n              rounded-sm\n              cursor-pointer\n              hover:bg-gray-100\n            \"\n            :class=\"{ 'bg-gray-200': editor.isActive({ textAlign: 'left' }) }\"\n            @click=\"editor.chain().focus().setTextAlign('left').run()\"\n          >\n            <menu-alt2-icon class=\"h-5 cursor-pointer fill-current\" />\n          </span>\n          <span\n            class=\"\n              flex\n              items-center\n              justify-center\n              w-6\n              h-6\n              rounded-sm\n              cursor-pointer\n              hover:bg-gray-100\n            \"\n            :class=\"{ 'bg-gray-200': editor.isActive({ textAlign: 'right' }) }\"\n            @click=\"editor.chain().focus().setTextAlign('right').run()\"\n          >\n            <menu-alt3-icon class=\"h-5 cursor-pointer fill-current\" />\n          </span>\n          <span\n            class=\"\n              flex\n              items-center\n              justify-center\n              w-6\n              h-6\n              rounded-sm\n              cursor-pointer\n              hover:bg-gray-100\n            \"\n            :class=\"{\n              'bg-gray-200': editor.isActive({ textAlign: 'justify' }),\n            }\"\n            @click=\"editor.chain().focus().setTextAlign('justify').run()\"\n          >\n            <menu-icon class=\"h-5 cursor-pointer fill-current\" />\n          </span>\n          <span\n            class=\"\n              flex\n              items-center\n              justify-center\n              w-6\n              h-6\n              rounded-sm\n              cursor-pointer\n              hover:bg-gray-100\n            \"\n            :class=\"{ 'bg-gray-200': editor.isActive({ textAlign: 'center' }) }\"\n            @click=\"editor.chain().focus().setTextAlign('center').run()\"\n          >\n            <menu-center-icon class=\"h-5 cursor-pointer fill-current\" />\n          </span>\n        </div>\n      </div>\n      <editor-content\n        :editor=\"editor\"\n        class=\"\n          box-border\n          relative\n          w-full\n          text-sm\n          leading-8\n          text-left\n          editor__content\n        \"\n      />\n    </div>\n  </div>\n</template>\n\n<script>\nimport { onUnmounted, watch } from 'vue'\nimport { useEditor, EditorContent } from '@tiptap/vue-3'\nimport StarterKit from '@tiptap/starter-kit'\nimport {\n  DotsVerticalIcon,\n  MenuAlt2Icon,\n  MenuAlt3Icon,\n  MenuIcon,\n} from '@heroicons/vue/outline'\nimport TextAlign from '@tiptap/extension-text-align'\n\nimport {\n  BoldIcon,\n  CodingIcon,\n  ItalicIcon,\n  ListIcon,\n  ListUlIcon,\n  ParagraphIcon,\n  QuoteIcon,\n  StrikethroughIcon,\n  UndoIcon,\n  RedoIcon,\n  CodeBlockIcon,\n  MenuCenterIcon,\n} from './icons/index.js'\n\nexport default {\n  components: {\n    EditorContent,\n    BoldIcon,\n    CodingIcon,\n    ItalicIcon,\n    ListIcon,\n    ListUlIcon,\n    ParagraphIcon,\n    QuoteIcon,\n    StrikethroughIcon,\n    UndoIcon,\n    RedoIcon,\n    CodeBlockIcon,\n    DotsVerticalIcon,\n    MenuCenterIcon,\n    MenuAlt2Icon,\n    MenuAlt3Icon,\n    MenuIcon,\n  },\n\n  props: {\n    modelValue: {\n      type: String,\n      default: '',\n    },\n    contentLoading: {\n      type: Boolean,\n      default: false,\n    },\n  },\n  emits: ['update:modelValue'],\n  setup(props, { emit }) {\n    const editor = useEditor({\n      content: props.modelValue,\n      extensions: [\n        StarterKit,\n        TextAlign.configure({\n          types: ['heading', 'paragraph'],\n          alignments: ['left', 'right', 'center', 'justify'],\n        }),\n      ],\n\n      onUpdate: () => {\n        emit('update:modelValue', editor.value.getHTML())\n      },\n    })\n\n    watch(\n      () => props.modelValue,\n      (value) => {\n        const isSame = editor.value.getHTML() === value\n\n        if (isSame) {\n          return\n        }\n\n        editor.value.commands.setContent(props.modelValue, false)\n      }\n    )\n\n    onUnmounted(() => {\n      setTimeout(() => {\n        editor.value.destroy()\n      }, 500)\n    })\n\n    return {\n      editor,\n    }\n  },\n}\n</script>\n<style lang=\"scss\">\n.ProseMirror {\n  min-height: 200px;\n  padding: 8px 12px;\n  outline: none;\n  @apply rounded-md rounded-tl-none rounded-tr-none border border-transparent;\n\n  h1 {\n    font-size: 2em;\n    font-weight: bold;\n  }\n\n  h2 {\n    font-size: 1.5em;\n    font-weight: bold;\n  }\n\n  h3 {\n    font-size: 1.17em;\n    font-weight: bold;\n  }\n\n  ul {\n    padding: 0 1rem;\n    list-style: disc !important;\n  }\n\n  ol {\n    padding: 0 1rem;\n    list-style: auto !important;\n  }\n\n  blockquote {\n    padding-left: 1rem;\n    border-left: 2px solid rgba(#0d0d0d, 0.1);\n  }\n\n  code {\n    background-color: rgba(97, 97, 97, 0.1);\n    color: #616161;\n    border-radius: 0.4rem;\n    font-size: 0.9rem;\n    padding: 0.1rem 0.3rem;\n  }\n\n  pre {\n    background: #0d0d0d;\n    color: #fff;\n    font-family: 'JetBrainsMono', monospace;\n    padding: 0.75rem 1rem;\n    border-radius: 0.5rem;\n\n    code {\n      color: inherit;\n      padding: 0;\n      background: none;\n      font-size: 0.8rem;\n    }\n  }\n}\n\n.ProseMirror:focus {\n  @apply border border-primary-400 ring-primary-400;\n}\n</style>\n"
  },
  {
    "path": "resources/scripts/components/base/base-editor/icons/BoldIcon.vue",
    "content": "<template>\n  <svg viewBox=\"0 0 24 24\">\n    <path\n      d=\"M17.194 10.962A6.271 6.271 0 0012.844.248H4.3a1.25 1.25 0 000 2.5h1.013a.25.25 0 01.25.25V21a.25.25 0 01-.25.25H4.3a1.25 1.25 0 100 2.5h9.963a6.742 6.742 0 002.93-12.786zm-4.35-8.214a3.762 3.762 0 010 7.523H8.313a.25.25 0 01-.25-.25V3a.25.25 0 01.25-.25zm1.42 18.5H8.313a.25.25 0 01-.25-.25v-7.977a.25.25 0 01.25-.25h5.951a4.239 4.239 0 010 8.477z\"\n    ></path>\n  </svg>\n</template>\n"
  },
  {
    "path": "resources/scripts/components/base/base-editor/icons/CodeBlockIcon.vue",
    "content": "<template>\n  <svg viewBox=\"0 0 24 24\">\n    <path\n      d=\"M9.147 21.552a1.244 1.244 0 01-.895-.378L.84 13.561a2.257 2.257 0 010-3.125l7.412-7.613a1.25 1.25 0 011.791 1.744l-6.9 7.083a.5.5 0 000 .7l6.9 7.082a1.25 1.25 0 01-.9 2.122zm5.707 0a1.25 1.25 0 01-.9-2.122l6.9-7.083a.5.5 0 000-.7l-6.9-7.082a1.25 1.25 0 011.791-1.744l7.411 7.612a2.257 2.257 0 010 3.125l-7.412 7.614a1.244 1.244 0 01-.89.38zm6.514-9.373z\"\n    ></path>\n  </svg>\n</template>\n"
  },
  {
    "path": "resources/scripts/components/base/base-editor/icons/CodingIcon.vue",
    "content": "<template>\n  <svg viewBox=\"0 0 24 24\">\n    <path\n      d=\"M9.147 21.552a1.244 1.244 0 01-.895-.378L.84 13.561a2.257 2.257 0 010-3.125l7.412-7.613a1.25 1.25 0 011.791 1.744l-6.9 7.083a.5.5 0 000 .7l6.9 7.082a1.25 1.25 0 01-.9 2.122zm5.707 0a1.25 1.25 0 01-.9-2.122l6.9-7.083a.5.5 0 000-.7l-6.9-7.082a1.25 1.25 0 011.791-1.744l7.411 7.612a2.257 2.257 0 010 3.125l-7.412 7.614a1.244 1.244 0 01-.89.38zm6.514-9.373z\"\n    ></path>\n  </svg>\n</template>\n"
  },
  {
    "path": "resources/scripts/components/base/base-editor/icons/ItalicIcon.vue",
    "content": "<template>\n  <svg viewBox=\"0 0 24 24\">\n    <path\n      d=\"M22.5.248h-7.637a1.25 1.25 0 000 2.5h1.086a.25.25 0 01.211.384L4.78 21.017a.5.5 0 01-.422.231H1.5a1.25 1.25 0 000 2.5h7.637a1.25 1.25 0 000-2.5H8.051a.25.25 0 01-.211-.384L19.22 2.98a.5.5 0 01.422-.232H22.5a1.25 1.25 0 000-2.5z\"\n    ></path>\n  </svg>\n</template>\n"
  },
  {
    "path": "resources/scripts/components/base/base-editor/icons/ListIcon.vue",
    "content": "<template>\n  <svg viewBox=\"0 0 24 24\">\n    <path\n      d=\"M7.75 4.5h15a1 1 0 000-2h-15a1 1 0 000 2zm15 6.5h-15a1 1 0 100 2h15a1 1 0 000-2zm0 8.5h-15a1 1 0 000 2h15a1 1 0 000-2zM2.212 17.248a2 2 0 00-1.933 1.484.75.75 0 101.45.386.5.5 0 11.483.63.75.75 0 100 1.5.5.5 0 11-.482.635.75.75 0 10-1.445.4 2 2 0 103.589-1.648.251.251 0 010-.278 2 2 0 00-1.662-3.111zm2.038-6.5a2 2 0 00-4 0 .75.75 0 001.5 0 .5.5 0 011 0 1.031 1.031 0 01-.227.645L.414 14.029A.75.75 0 001 15.248h2.5a.75.75 0 000-1.5h-.419a.249.249 0 01-.195-.406L3.7 12.33a2.544 2.544 0 00.55-1.582zM4 5.248h-.25A.25.25 0 013.5 5V1.623A1.377 1.377 0 002.125.248H1.5a.75.75 0 000 1.5h.25A.25.25 0 012 2v3a.25.25 0 01-.25.25H1.5a.75.75 0 000 1.5H4a.75.75 0 000-1.5z\"\n    ></path>\n  </svg>\n</template>\n"
  },
  {
    "path": "resources/scripts/components/base/base-editor/icons/ListUlIcon.vue",
    "content": "<template>\n  <svg viewBox=\"0 0 24 24\">\n    <circle cx=\"2.5\" cy=\"3.998\" r=\"2.5\"></circle>\n    <path d=\"M8.5 5H23a1 1 0 000-2H8.5a1 1 0 000 2z\"></path>\n    <circle cx=\"2.5\" cy=\"11.998\" r=\"2.5\"></circle>\n    <path d=\"M23 11H8.5a1 1 0 000 2H23a1 1 0 000-2z\"></path>\n    <circle cx=\"2.5\" cy=\"19.998\" r=\"2.5\"></circle>\n    <path d=\"M23 19H8.5a1 1 0 000 2H23a1 1 0 000-2z\"></path>\n  </svg>\n</template>\n"
  },
  {
    "path": "resources/scripts/components/base/base-editor/icons/MenuCenterIcon.vue",
    "content": "<template>\n  <svg viewBox=\"0 0 24 24\">\n    <path\n      fill=\"currentColor\"\n      fill-rule=\"evenodd\"\n      d=\"M3.75 5.25h16.5a.75.75 0 1 1 0 1.5H3.75a.75.75 0 0 1 0-1.5zm4 4h8.5a.75.75 0 1 1 0 1.5h-8.5a.75.75 0 1 1 0-1.5zm-4 4h16.5a.75.75 0 1 1 0 1.5H3.75a.75.75 0 1 1 0-1.5zm4 4h8.5a.75.75 0 1 1 0 1.5h-8.5a.75.75 0 1 1 0-1.5z\"\n    ></path>\n  </svg>\n</template>\n\n\n"
  },
  {
    "path": "resources/scripts/components/base/base-editor/icons/ParagraphIcon.vue",
    "content": "<template>\n  <svg viewBox=\"0 0 24 24\">\n    <path\n      d=\"M22.5.248H7.228a6.977 6.977 0 100 13.954h2.318a.25.25 0 01.25.25V22.5a1.25 1.25 0 002.5 0V3a.25.25 0 01.25-.25h3.682a.25.25 0 01.25.25v19.5a1.25 1.25 0 002.5 0V3a.249.249 0 01.25-.25H22.5a1.25 1.25 0 000-2.5zM9.8 11.452a.25.25 0 01-.25.25H7.228a4.477 4.477 0 110-8.954h2.318A.25.25 0 019.8 3z\"\n    ></path>\n  </svg>\n</template>\n"
  },
  {
    "path": "resources/scripts/components/base/base-editor/icons/QuoteIcon.vue",
    "content": "<template>\n  <svg viewBox=\"0 0 24 24\">\n    <path\n      d=\"M18.559 3.932a4.942 4.942 0 100 9.883 4.609 4.609 0 001.115-.141.25.25 0 01.276.368 6.83 6.83 0 01-5.878 3.523 1.25 1.25 0 000 2.5 9.71 9.71 0 009.428-9.95V8.873a4.947 4.947 0 00-4.941-4.941zm-12.323 0a4.942 4.942 0 000 9.883 4.6 4.6 0 001.115-.141.25.25 0 01.277.368 6.83 6.83 0 01-5.878 3.523 1.25 1.25 0 000 2.5 9.711 9.711 0 009.428-9.95V8.873a4.947 4.947 0 00-4.942-4.941z\"\n    ></path>\n  </svg>\n</template>\n"
  },
  {
    "path": "resources/scripts/components/base/base-editor/icons/RedoIcon.vue",
    "content": "<template>\n  <svg viewBox=\"0 0 24 24\">\n    <path\n      d=\"M22.608.161a.5.5 0 00-.545.108L19.472 2.86a.25.25 0 01-.292.045 12.537 12.537 0 00-12.966.865A12.259 12.259 0 006.1 23.632a1.25 1.25 0 001.476-2.018 9.759 9.759 0 01.091-15.809 10 10 0 019.466-1.1.25.25 0 01.084.409l-1.85 1.85a.5.5 0 00.354.853h6.7a.5.5 0 00.5-.5V.623a.5.5 0 00-.313-.462z\"\n    ></path>\n  </svg>\n</template>\n"
  },
  {
    "path": "resources/scripts/components/base/base-editor/icons/StrikethroughIcon.vue",
    "content": "<template>\n  <svg viewBox=\"0 0 24 24\">\n    <path\n      d=\"M23.75 12.952A1.25 1.25 0 0022.5 11.7h-8.936a.492.492 0 01-.282-.09c-.722-.513-1.482-.981-2.218-1.432-2.8-1.715-4.5-2.9-4.5-4.863 0-2.235 2.207-2.569 3.523-2.569a4.54 4.54 0 013.081.764 2.662 2.662 0 01.447 1.99v.3a1.25 1.25 0 102.5 0v-.268a4.887 4.887 0 00-1.165-3.777C13.949.741 12.359.248 10.091.248c-3.658 0-6.023 1.989-6.023 5.069 0 2.773 1.892 4.512 4 5.927a.25.25 0 01-.139.458H1.5a1.25 1.25 0 000 2.5h10.977a.251.251 0 01.159.058 4.339 4.339 0 011.932 3.466c0 3.268-3.426 3.522-4.477 3.522-1.814 0-3.139-.405-3.834-1.173a3.394 3.394 0 01-.65-2.7 1.25 1.25 0 00-2.488-.246A5.76 5.76 0 004.4 21.753c1.2 1.324 3.114 2 5.688 2 4.174 0 6.977-2.42 6.977-6.022a6.059 6.059 0 00-.849-3.147.25.25 0 01.216-.377H22.5a1.25 1.25 0 001.25-1.255z\"\n    ></path>\n  </svg>\n</template>\n"
  },
  {
    "path": "resources/scripts/components/base/base-editor/icons/UnderlineIcon.vue",
    "content": "<template>\n  <svg viewBox=\"0 0 24 24\">\n    <path\n      d=\"M22.5 21.248h-21a1.25 1.25 0 000 2.5h21a1.25 1.25 0 000-2.5zM1.978 2.748h1.363a.25.25 0 01.25.25v8.523a8.409 8.409 0 0016.818 0V3a.25.25 0 01.25-.25h1.363a1.25 1.25 0 000-2.5H16.3a1.25 1.25 0 000 2.5h1.363a.25.25 0 01.25.25v8.523a5.909 5.909 0 01-11.818 0V3a.25.25 0 01.25-.25H7.7a1.25 1.25 0 100-2.5H1.978a1.25 1.25 0 000 2.5z\"\n    ></path>\n  </svg>\n</template>\n"
  },
  {
    "path": "resources/scripts/components/base/base-editor/icons/UndoIcon.vue",
    "content": "<template>\n  <svg viewBox=\"0 0 24 24\">\n    <path\n      d=\"M17.786 3.77a12.542 12.542 0 00-12.965-.865.249.249 0 01-.292-.045L1.937.269A.507.507 0 001.392.16a.5.5 0 00-.308.462v6.7a.5.5 0 00.5.5h6.7a.5.5 0 00.354-.854L6.783 5.115a.253.253 0 01-.068-.228.249.249 0 01.152-.181 10 10 0 019.466 1.1 9.759 9.759 0 01.094 15.809 1.25 1.25 0 001.473 2.016 12.122 12.122 0 005.013-9.961 12.125 12.125 0 00-5.127-9.9z\"\n    ></path>\n  </svg>\n</template>\n"
  },
  {
    "path": "resources/scripts/components/base/base-editor/icons/index.js",
    "content": "import UnderlineIcon from './UnderlineIcon.vue'\nimport BoldIcon from './BoldIcon.vue'\nimport CodingIcon from './CodingIcon.vue'\nimport ItalicIcon from './ItalicIcon.vue'\nimport ListIcon from './ListIcon.vue'\nimport ListUlIcon from './ListUlIcon.vue'\nimport ParagraphIcon from './ParagraphIcon.vue'\nimport QuoteIcon from './QuoteIcon.vue'\nimport StrikethroughIcon from './StrikethroughIcon.vue'\nimport UndoIcon from './UndoIcon.vue'\nimport RedoIcon from './RedoIcon.vue'\nimport CodeBlockIcon from './CodeBlockIcon.vue'\nimport MenuCenterIcon from './MenuCenterIcon.vue'\n\nexport {\n  UnderlineIcon,\n  BoldIcon,\n  CodingIcon,\n  ItalicIcon,\n  ListIcon,\n  ListUlIcon,\n  ParagraphIcon,\n  QuoteIcon,\n  StrikethroughIcon,\n  UndoIcon,\n  RedoIcon,\n  CodeBlockIcon,\n  MenuCenterIcon\n}\n"
  },
  {
    "path": "resources/scripts/components/base/base-table/BaseTable.vue",
    "content": "<template>\n  <div class=\"flex flex-col\">\n    <div class=\"-my-2 overflow-x-auto sm:-mx-6 lg:-mx-8 pb-4 lg:pb-0\">\n      <div class=\"inline-block min-w-full py-2 align-middle sm:px-6 lg:px-8\">\n        <div\n          class=\"\n            relative\n            overflow-hidden\n            bg-white\n            border-b border-gray-200\n            shadow\n            sm:rounded-lg\n          \"\n        >\n          <slot name=\"header\" />\n          <table :class=\"tableClass\">\n            <thead :class=\"theadClass\">\n              <tr>\n                <th\n                  v-for=\"column in tableColumns\"\n                  :key=\"column.key\"\n                  :class=\"[\n                    getThClass(column),\n                    {\n                      'text-bold text-black': sort.fieldName === column.key,\n                    },\n                  ]\"\n                  @click=\"changeSorting(column)\"\n                >\n                  {{ column.label }}\n                  <span\n                    v-if=\"sort.fieldName === column.key && sort.order === 'asc'\"\n                    class=\"asc-direction\"\n                  >\n                    ↑\n                  </span>\n                  <span\n                    v-if=\"\n                      sort.fieldName === column.key && sort.order === 'desc'\n                    \"\n                    class=\"desc-direction\"\n                  >\n                    ↓\n                  </span>\n                </th>\n              </tr>\n            </thead>\n            <tbody\n              v-if=\"loadingType === 'placeholder' && (loading || isLoading)\"\n            >\n              <tr\n                v-for=\"placeRow in placeholderCount\"\n                :key=\"placeRow\"\n                :class=\"placeRow % 2 === 0 ? 'bg-white' : 'bg-gray-50'\"\n              >\n                <td\n                  v-for=\"column in columns\"\n                  :key=\"column.key\"\n                  class=\"\"\n                  :class=\"getTdClass(column)\"\n                >\n                  <base-content-placeholders\n                    :class=\"getPlaceholderClass(column)\"\n                    :rounded=\"true\"\n                  >\n                    <base-content-placeholders-text\n                      class=\"w-full h-6\"\n                      :lines=\"1\"\n                    />\n                  </base-content-placeholders>\n                </td>\n              </tr>\n            </tbody>\n            <tbody v-else>\n              <tr\n                v-for=\"(row, index) in sortedRows\"\n                :key=\"index\"\n                :class=\"index % 2 === 0 ? 'bg-white' : 'bg-gray-50'\"\n              >\n                <td\n                  v-for=\"column in columns\"\n                  :key=\"column.key\"\n                  class=\"\"\n                  :class=\"getTdClass(column)\"\n                >\n                  <slot :name=\"'cell-' + column.key\" :row=\"row\">\n                    {{ lodashGet(row.data, column.key) }}\n                  </slot>\n                </td>\n              </tr>\n            </tbody>\n          </table>\n\n          <div\n            v-if=\"loadingType === 'spinner' && (loading || isLoading)\"\n            class=\"\n              absolute\n              top-0\n              left-0\n              z-10\n              flex\n              items-center\n              justify-center\n              w-full\n              h-full\n              bg-white bg-opacity-60\n            \"\n          >\n            <SpinnerIcon class=\"w-10 h-10 text-primary-500\" />\n          </div>\n\n          <div\n            v-else-if=\"\n              !loading && !isLoading && sortedRows && sortedRows.length === 0\n            \"\n            class=\"\n              text-center text-gray-500\n              pb-2\n              flex\n              h-[160px]\n              justify-center\n              items-center\n              flex-col\n            \"\n          >\n            <BaseIcon\n              name=\"ExclamationCircleIcon\"\n              class=\"w-6 h-6 text-gray-400\"\n            />\n\n            <span class=\"block mt-1\">{{ noResultsMessage }}</span>\n          </div>\n\n          <BaseTablePagination\n            v-if=\"pagination\"\n            :pagination=\"pagination\"\n            @pageChange=\"pageChange\"\n          />\n        </div>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script setup>\nimport { computed, onMounted, watch, ref, reactive } from 'vue'\nimport { get } from 'lodash'\nimport Row from './Row'\nimport Column from './Column'\nimport BaseTablePagination from './BaseTablePagination.vue'\nimport SpinnerIcon from '@/scripts/components/icons/SpinnerIcon.vue'\n\nconst props = defineProps({\n  columns: {\n    type: Array,\n    required: true,\n  },\n  data: {\n    type: [Array, Function],\n    required: true,\n  },\n  sortBy: { type: String, default: '' },\n  sortOrder: { type: String, default: '' },\n  tableClass: {\n    type: String,\n    default: 'min-w-full divide-y divide-gray-200',\n  },\n  theadClass: { type: String, default: 'bg-gray-50' },\n  tbodyClass: { type: String, default: '' },\n  noResultsMessage: {\n    type: String,\n    default: 'No Results Found',\n  },\n  loading: {\n    type: Boolean,\n    default: false,\n  },\n  loadingType: {\n    type: String,\n    default: 'placeholder',\n    validator: function (value) {\n      return ['placeholder', 'spinner'].indexOf(value) !== -1\n    },\n  },\n  placeholderCount: {\n    type: Number,\n    default: 3,\n  },\n})\n\nlet rows = reactive([])\nlet isLoading = ref(false)\n\nlet tableColumns = reactive(props.columns.map((column) => new Column(column)))\n\nlet sort = reactive({\n  fieldName: '',\n  order: '',\n})\n\nlet pagination = ref('')\n\nconst usesLocalData = computed(() => {\n  return Array.isArray(props.data)\n})\n\nconst sortedRows = computed(() => {\n  if (!usesLocalData.value) {\n    return rows.value\n  }\n\n  if (sort.fieldName === '') {\n    return rows.value\n  }\n\n  if (tableColumns.length === 0) {\n    return rows.value\n  }\n\n  const sortColumn = getColumn(sort.fieldName)\n\n  if (!sortColumn) {\n    return rows.value\n  }\n\n  let sorted = [...rows.value].sort(\n    sortColumn.getSortPredicate(sort.order, tableColumns)\n  )\n\n  return sorted\n})\n\nfunction getColumn(columnName) {\n  return tableColumns.find((column) => column.key === columnName)\n}\n\nfunction getThClass(column) {\n  let classes =\n    'whitespace-nowrap px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider'\n\n  if (column.defaultThClass) {\n    classes = column.defaultThClass\n  }\n\n  if (column.sortable) {\n    classes = `${classes} cursor-pointer`\n  } else {\n    classes = `${classes} pointer-events-none`\n  }\n\n  if (column.thClass) {\n    classes = `${classes} ${column.thClass}`\n  }\n\n  return classes\n}\n\nfunction getTdClass(column) {\n  let classes = 'px-6 py-4 text-sm text-gray-500 whitespace-nowrap'\n\n  if (column.defaultTdClass) {\n    classes = column.defaultTdClass\n  }\n\n  if (column.tdClass) {\n    classes = `${classes} ${column.tdClass}`\n  }\n\n  return classes\n}\n\nfunction getPlaceholderClass(column) {\n  let classes = 'w-full'\n\n  if (column.placeholderClass) {\n    classes = `${classes} ${column.placeholderClass}`\n  }\n\n  return classes\n}\n\nfunction prepareLocalData() {\n  pagination.value = null\n  return props.data\n}\n\nasync function fetchServerData() {\n  const page = (pagination.value && pagination.value.currentPage) || 1\n\n  isLoading.value = true\n\n  const response = await props.data({\n    sort,\n    page,\n  })\n\n  isLoading.value = false\n\n  pagination.value = response.pagination\n  return response.data\n}\n\nfunction changeSorting(column) {\n  if (sort.fieldName !== column.key) {\n    sort.fieldName = column.key\n    sort.order = 'asc'\n  } else {\n    sort.order = sort.order === 'asc' ? 'desc' : 'asc'\n  }\n\n  if (!usesLocalData.value) {\n    mapDataToRows()\n  }\n}\n\nasync function mapDataToRows() {\n  const data = usesLocalData.value\n    ? prepareLocalData()\n    : await fetchServerData()\n\n  rows.value = data.map((rowData) => new Row(rowData, tableColumns))\n}\n\nasync function pageChange(page) {\n  pagination.value.currentPage = page\n  await mapDataToRows()\n}\n\nasync function refresh() {\n  await mapDataToRows()\n}\n\nfunction lodashGet(array, key) {\n  return get(array, key)\n}\n\nif (usesLocalData.value) {\n  watch(\n    () => props.data,\n    () => {\n      mapDataToRows()\n    }\n  )\n}\n\nonMounted(async () => {\n  await mapDataToRows()\n})\n\ndefineExpose({ refresh })\n</script>\n"
  },
  {
    "path": "resources/scripts/components/base/base-table/BaseTablePagination.vue",
    "content": "<template>\n  <div\n    v-if=\"shouldShowPagination\"\n    class=\"\n      flex\n      items-center\n      justify-between\n      px-4\n      py-3\n      bg-white\n      border-t border-gray-200\n      sm:px-6\n    \"\n  >\n    <div class=\"flex justify-between flex-1 sm:hidden\">\n      <a\n        href=\"#\"\n        :class=\"{\n          'disabled cursor-normal pointer-events-none !bg-gray-100 !text-gray-400':\n            pagination.currentPage === 1,\n        }\"\n        class=\"\n          relative\n          inline-flex\n          items-center\n          px-4\n          py-2\n          text-sm\n          font-medium\n          text-gray-700\n          bg-white\n          border border-gray-300\n          rounded-md\n          hover:bg-gray-50\n        \"\n        @click=\"pageClicked(pagination.currentPage - 1)\"\n      >\n        Previous\n      </a>\n      <a\n        href=\"#\"\n        :class=\"{\n          'disabled cursor-default pointer-events-none !bg-gray-100 !text-gray-400':\n            pagination.currentPage === pagination.totalPages,\n        }\"\n        class=\"\n          relative\n          inline-flex\n          items-center\n          px-4\n          py-2\n          ml-3\n          text-sm\n          font-medium\n          text-gray-700\n          bg-white\n          border border-gray-300\n          rounded-md\n          hover:bg-gray-50\n        \"\n        @click=\"pageClicked(pagination.currentPage + 1)\"\n      >\n        Next\n      </a>\n    </div>\n    <div class=\"hidden sm:flex-1 sm:flex sm:items-center sm:justify-between\">\n      <div>\n        <p class=\"text-sm text-gray-700\">\n          Showing\n          {{ ' ' }}\n          <span\n            v-if=\"pagination.limit && pagination.currentPage\"\n            class=\"font-medium\"\n          >\n            {{\n              pagination.currentPage * pagination.limit - (pagination.limit - 1)\n            }}\n          </span>\n          {{ ' ' }}\n          to\n          {{ ' ' }}\n          <span\n            v-if=\"pagination.limit && pagination.currentPage\"\n            class=\"font-medium\"\n          >\n            <span\n              v-if=\"\n                pagination.currentPage * pagination.limit <=\n                pagination.totalCount\n              \"\n            >\n              {{ pagination.currentPage * pagination.limit }}\n            </span>\n            <span v-else>\n              {{ pagination.totalCount }}\n            </span>\n          </span>\n          {{ ' ' }}\n          of\n          {{ ' ' }}\n          <span v-if=\"pagination.totalCount\" class=\"font-medium\">\n            {{ pagination.totalCount }}\n          </span>\n          {{ ' ' }}\n          results\n        </p>\n      </div>\n      <div>\n        <nav\n          class=\"relative z-0 inline-flex -space-x-px rounded-md shadow-sm\"\n          aria-label=\"Pagination\"\n        >\n          <a\n            href=\"#\"\n            :class=\"{\n              'disabled cursor-normal pointer-events-none !bg-gray-100 !text-gray-400':\n                pagination.currentPage === 1,\n            }\"\n            class=\"\n              relative\n              inline-flex\n              items-center\n              px-2\n              py-2\n              text-sm\n              font-medium\n              text-gray-500\n              bg-white\n              border border-gray-300\n              rounded-l-md\n              hover:bg-gray-50\n            \"\n            @click=\"pageClicked(pagination.currentPage - 1)\"\n          >\n            <span class=\"sr-only\">Previous</span>\n            <BaseIcon name=\"ChevronLeftIcon\" />\n          </a>\n          <a\n            v-if=\"hasFirst\"\n            href=\"#\"\n            aria-current=\"page\"\n            :class=\"{\n              'z-10 bg-primary-50 border-primary-500 text-primary-600':\n                isActive(1),\n              'bg-white border-gray-300 text-gray-500 hover:bg-gray-50':\n                !isActive(1),\n            }\"\n            class=\"\n              relative\n              inline-flex\n              items-center\n              px-4\n              py-2\n              text-sm\n              font-medium\n              border\n            \"\n            @click=\"pageClicked(1)\"\n          >\n            1\n          </a>\n\n          <span\n            v-if=\"hasFirstEllipsis\"\n            class=\"\n              relative\n              inline-flex\n              items-center\n              px-4\n              py-2\n              text-sm\n              font-medium\n              text-gray-700\n              bg-white\n              border border-gray-300\n            \"\n          >\n            ...\n          </span>\n          <a\n            v-for=\"page in pages\"\n            :key=\"page\"\n            href=\"#\"\n            :class=\"{\n              'z-10 bg-primary-50 border-primary-500 text-primary-600':\n                isActive(page),\n              'bg-white border-gray-300 text-gray-500 hover:bg-gray-50':\n                !isActive(page),\n              disabled: page === '...',\n            }\"\n            class=\"\n              relative\n              items-center\n              hidden\n              px-4\n              py-2\n              text-sm\n              font-medium\n              text-gray-500\n              bg-white\n              border border-gray-300\n              hover:bg-gray-50\n              md:inline-flex\n            \"\n            @click=\"pageClicked(page)\"\n          >\n            {{ page }}\n          </a>\n\n          <span\n            v-if=\"hasLastEllipsis\"\n            class=\"\n              relative\n              inline-flex\n              items-center\n              px-4\n              py-2\n              text-sm\n              font-medium\n              text-gray-700\n              bg-white\n              border border-gray-300\n            \"\n          >\n            ...\n          </span>\n          <a\n            v-if=\"hasLast\"\n            href=\"#\"\n            aria-current=\"page\"\n            :class=\"{\n              'z-10 bg-primary-50 border-primary-500 text-primary-600':\n                isActive(pagination.totalPages),\n              'bg-white border-gray-300 text-gray-500 hover:bg-gray-50':\n                !isActive(pagination.totalPages),\n            }\"\n            class=\"\n              relative\n              inline-flex\n              items-center\n              px-4\n              py-2\n              text-sm\n              font-medium\n              border\n            \"\n            @click=\"pageClicked(pagination.totalPages)\"\n          >\n            {{ pagination.totalPages }}\n          </a>\n          <a\n            href=\"#\"\n            class=\"\n              relative\n              inline-flex\n              items-center\n              px-2\n              py-2\n              text-sm\n              font-medium\n              text-gray-500\n              bg-white\n              border border-gray-300\n              rounded-r-md\n              hover:bg-gray-50\n            \"\n            :class=\"{\n              'disabled cursor-default pointer-events-none !bg-gray-100 !text-gray-400':\n                pagination.currentPage === pagination.totalPages,\n            }\"\n            @click=\"pageClicked(pagination.currentPage + 1)\"\n          >\n            <span class=\"sr-only\">Next</span>\n            <BaseIcon name=\"ChevronRightIcon\" />\n          </a>\n        </nav>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script>\n// Todo: Need to convert this to Composition API\n\nexport default {\n  props: {\n    pagination: {\n      type: Object,\n      default: () => ({}),\n    },\n  },\n  computed: {\n    pages() {\n      return this.pagination.totalPages === undefined ? [] : this.pageLinks()\n    },\n    hasFirst() {\n      return this.pagination.currentPage >= 4 || this.pagination.totalPages < 10\n    },\n    hasLast() {\n      return (\n        this.pagination.currentPage <= this.pagination.totalPages - 3 ||\n        this.pagination.totalPages < 10\n      )\n    },\n    hasFirstEllipsis() {\n      return (\n        this.pagination.currentPage >= 4 && this.pagination.totalPages >= 10\n      )\n    },\n    hasLastEllipsis() {\n      return (\n        this.pagination.currentPage <= this.pagination.totalPages - 3 &&\n        this.pagination.totalPages >= 10\n      )\n    },\n    shouldShowPagination() {\n      if (this.pagination.totalPages === undefined) {\n        return false\n      }\n      if (this.pagination.count === 0) {\n        return false\n      }\n      return this.pagination.totalPages > 1\n    },\n  },\n  methods: {\n    isActive(page) {\n      const currentPage = this.pagination.currentPage || 1\n      return currentPage === page\n    },\n    pageClicked(page) {\n      if (\n        page === '...' ||\n        page === this.pagination.currentPage ||\n        page > this.pagination.totalPages ||\n        page < 1\n      ) {\n        return\n      }\n\n      this.$emit('pageChange', page)\n    },\n    pageLinks() {\n      const pages = []\n      let left = 2\n      let right = this.pagination.totalPages - 1\n      if (this.pagination.totalPages >= 10) {\n        left = Math.max(1, this.pagination.currentPage - 2)\n        right = Math.min(\n          this.pagination.currentPage + 2,\n          this.pagination.totalPages\n        )\n      }\n      for (let i = left; i <= right; i++) {\n        pages.push(i)\n      }\n      return pages\n    },\n  },\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/components/base/base-table/Column.js",
    "content": "import { pick } from './helpers';\n\nexport default class Column {\n  constructor(columnObject) {\n    const properties = pick(columnObject, [\n      'key', 'label', 'thClass', 'tdClass', 'sortBy', 'sortable', 'hidden', 'dataType'\n    ]);\n\n    for (const property in properties) {\n      this[property] = columnObject[property];\n    }\n\n    if (!properties['dataType']) {\n      this['dataType'] = 'string'\n    }\n\n    if (properties['sortable'] === undefined) {\n      this['sortable'] = true\n    }\n  }\n\n  getFilterFieldName() {\n    return this.filterOn || this.key;\n  }\n\n  isSortable() {\n    return this.sortable;\n  }\n\n  getSortPredicate(sortOrder, allColumns) {\n    const sortFieldName = this.getSortFieldName();\n\n    const sortColumn = allColumns.find(column => column.key === sortFieldName);\n\n    const dataType = sortColumn.dataType;\n\n    if (dataType.startsWith('date') || dataType === 'numeric') {\n\n      return (row1, row2) => {\n        const value1 = row1.getSortableValue(sortFieldName);\n        const value2 = row2.getSortableValue(sortFieldName);\n\n        if (sortOrder === 'desc') {\n          return value2 < value1 ? -1 : 1;\n        }\n\n        return value1 < value2 ? -1 : 1;\n      };\n    }\n\n    return (row1, row2) => {\n      const value1 = row1.getSortableValue(sortFieldName);\n      const value2 = row2.getSortableValue(sortFieldName);\n\n      if (sortOrder === 'desc') {\n        return value2.localeCompare(value1);\n      }\n\n      return value1.localeCompare(value2);\n    };\n  }\n\n  getSortFieldName() {\n    return this.sortBy || this.key;\n  }\n}\n"
  },
  {
    "path": "resources/scripts/components/base/base-table/Row.js",
    "content": "import moment from 'moment';\nimport { get } from './helpers';\n\nexport default class Row {\n  constructor(data, columns) {\n    this.data = data;\n    this.columns = columns;\n  }\n\n  getValue(columnName) {\n    return get(this.data, columnName);\n  }\n\n  getColumn(columnName) {\n    return this.columns.find(column => column.key === columnName);\n  }\n\n  getSortableValue(columnName) {\n    const dataType = this.getColumn(columnName).dataType;\n\n    let value = this.getValue(columnName);\n\n    if (value === undefined || value === null) {\n      return '';\n    }\n\n    if (value instanceof String) {\n      value = value.toLowerCase();\n    }\n\n    if (dataType.startsWith('date')) {\n      const format = dataType.replace('date:', '');\n\n      return moment(value, format).format('YYYYMMDDHHmmss');\n    }\n\n    if (dataType === 'numeric') {\n      return value;\n    }\n\n    return value.toString();\n  }\n}\n"
  },
  {
    "path": "resources/scripts/components/base/base-table/helpers.js",
    "content": "export function classList(...classes) {\n  return classes\n    .map(c => Array.isArray(c) ? c : [c])\n    .reduce((classes, c) => classes.concat(c), []);\n}\n\nexport function get(object, path) {\n  if (!path) {\n    return object;\n  }\n\n  if (object === null || typeof object !== 'object') {\n    return object;\n  }\n\n  const [pathHead, pathTail] = path.split(/\\.(.+)/);\n\n  return get(object[pathHead], pathTail);\n}\n\nexport function pick(object, properties) {\n  return properties.reduce((pickedObject, property) => {\n    pickedObject[property] = object[property];\n    return pickedObject;\n  }, {});\n}\n\nexport function range(from, to) {\n  return [...Array(to - from)].map((_, i) => i + from);\n}\n"
  },
  {
    "path": "resources/scripts/components/base-select/BaseMultiselect.d.ts",
    "content": "import Vue, { VNode } from 'vue';\n\ndeclare class BaseMultiselect extends Vue {\n    modelValue?: any;\n    value?: any;\n    mode: 'single' | 'multiple' | 'tags';\n    options?: any[];\n    searchable?: boolean;\n    valueProp?: string;\n    trackBy?: string;\n    label?: string;\n    placeholder?: string | null;\n    multipleLabel?: any; // Function\n    disabled?: boolean;\n    max?: number;\n    limit?: number;\n    loading?: boolean;\n    id?: string;\n    caret?: boolean;\n    maxHeight?: string | number;\n    noOptionsText?: string;\n    noResultsText?: string;\n    canDeselect?: boolean;\n    canClear?: boolean;\n    clearOnSearch?: boolean;\n    clearOnSelect?: boolean;\n    delay?: number;\n    filterResults?: boolean;\n    minChars?: number;\n    resolveOnLoad?: boolean;\n    appendNewTag?: boolean;\n    createTag?: boolean;\n    addTagOn?: string[];\n    hideSelected?: boolean;\n    showOptions?: boolean;\n    object?: boolean;\n    required?: boolean;\n    openDirection?: 'top' | 'bottom';\n    nativeSupport?: boolean;\n    classes?: object;\n    strict?: boolean;\n    closeOnSelect?: boolean;\n    autocomplete?: string;\n    groups: boolean;\n    groupLabel: string;\n    groupOptions: string;\n    groupHideEmpty: boolean;\n    groupSelect: boolean;\n    inputType: string;\n\n    $emit(eventName: 'change', e: { originalEvent: Event, value: any }): this;\n    $emit(eventName: 'select', e: { originalEvent: Event, value: any, option: any }): this;\n    $emit(eventName: 'deselect', e: { originalEvent: Event, value: any, option: any }): this;\n    $emit(eventName: 'remove', e: { originalEvent: Event, value: any, option: any }): this;\n    $emit(eventName: 'search-change', e: { originalEvent: Event, query: string }): this;\n    $emit(eventName: 'tag', e: { originalEvent: Event, query: string }): this;\n    $emit(eventName: 'paste', e: { originalEvent: Event }): this;\n    $emit(eventName: 'open'): this;\n    $emit(eventName: 'close'): this;\n    $emit(eventName: 'clear'): this;\n\n    $slots: {\n        placeholder: VNode[];\n        afterlist: VNode[];\n        beforelist: VNode[];\n        list: VNode[];\n        multiplelabel: VNode[];\n        singlelabel: VNode[];\n        option: VNode[];\n        groupLabel: VNode[];\n        tag: VNode[];\n    };\n}\n\nexport default BaseMultiselect;\n"
  },
  {
    "path": "resources/scripts/components/base-select/BaseMultiselect.vue",
    "content": "<template>\n  <BaseContentPlaceholders v-if=\"contentLoading\">\n    <BaseContentPlaceholdersBox\n      :rounded=\"true\"\n      class=\"w-full\"\n      style=\"height: 40px\"\n    />\n  </BaseContentPlaceholders>\n  <div\n    v-else\n    :id=\"id\"\n    ref=\"multiselect\"\n    :tabindex=\"tabindex\"\n    :class=\"classList.container\"\n    @focusin=\"activate\"\n    @focusout=\"deactivate\"\n    @keydown=\"handleKeydown\"\n    @focus=\"handleFocus\"\n  >\n    <!-- Search -->\n    <template v-if=\"mode !== 'tags' && searchable && !disabled\">\n      <input\n        ref=\"input\"\n        :type=\"inputType\"\n        :modelValue=\"search\"\n        :value=\"search\"\n        :class=\"classList.search\"\n        :autocomplete=\"autocomplete\"\n        @input=\"handleSearchInput\"\n        @paste.stop=\"handlePaste\"\n      />\n    </template>\n\n    <!-- Tags (with search) -->\n    <template v-if=\"mode == 'tags'\">\n      <div :class=\"classList.tags\">\n        <slot\n          v-for=\"(option, i, key) in iv\"\n          name=\"tag\"\n          :option=\"option\"\n          :handleTagRemove=\"handleTagRemove\"\n          :disabled=\"disabled\"\n        >\n          <span :key=\"key\" :class=\"classList.tag\">\n            {{ option[label] }}\n            <span\n              v-if=\"!disabled\"\n              :class=\"classList.tagRemove\"\n              @mousedown.stop=\"handleTagRemove(option, $event)\"\n            >\n              <span :class=\"classList.tagRemoveIcon\"></span>\n            </span>\n          </span>\n        </slot>\n\n        <div :class=\"classList.tagsSearchWrapper\">\n          <!-- Used for measuring search width -->\n          <span :class=\"classList.tagsSearchCopy\">{{ search }}</span>\n\n          <!-- Actual search input -->\n          <input\n            v-if=\"searchable && !disabled\"\n            ref=\"input\"\n            :type=\"inputType\"\n            :modelValue=\"search\"\n            :value=\"search\"\n            :class=\"classList.tagsSearch\"\n            :autocomplete=\"autocomplete\"\n            style=\"box-shadow: none !important\"\n            @input=\"handleSearchInput\"\n            @paste.stop=\"handlePaste\"\n          />\n        </div>\n      </div>\n    </template>\n\n    <!-- Single label -->\n    <template v-if=\"mode == 'single' && hasSelected && !search && iv\">\n      <slot name=\"singlelabel\" :value=\"iv\">\n        <div :class=\"classList.singleLabel\">\n          {{ iv[label] }}\n        </div>\n      </slot>\n    </template>\n\n    <!-- Multiple label -->\n    <template v-if=\"mode == 'multiple' && hasSelected && !search\">\n      <slot name=\"multiplelabel\" :values=\"iv\">\n        <div :class=\"classList.multipleLabel\">\n          {{ multipleLabelText }}\n        </div>\n      </slot>\n    </template>\n\n    <!-- Placeholder -->\n    <template v-if=\"placeholder && !hasSelected && !search\">\n      <slot name=\"placeholder\">\n        <div :class=\"classList.placeholder\">\n          {{ placeholder }}\n        </div>\n      </slot>\n    </template>\n\n    <!-- Spinner -->\n    <slot v-if=\"busy\" name=\"spinner\">\n      <span :class=\"classList.spinner\"></span>\n    </slot>\n\n    <!-- Clear -->\n    <slot\n      v-if=\"hasSelected && !disabled && canClear && !busy\"\n      name=\"clear\"\n      :clear=\"clear\"\n    >\n      <span :class=\"classList.clear\" @mousedown=\"clear\"\n        ><span :class=\"classList.clearIcon\"></span\n      ></span>\n    </slot>\n\n    <!-- Caret -->\n    <slot v-if=\"caret\" name=\"caret\">\n      <span\n        :class=\"classList.caret\"\n        @mousedown.prevent.stop=\"handleCaretClick\"\n      ></span>\n    </slot>\n\n    <!-- Options -->\n    <div :class=\"classList.dropdown\" tabindex=\"-1\">\n      <div class=\"w-full overflow-y-auto\">\n        <slot name=\"beforelist\" :options=\"fo\"></slot>\n\n        <ul :class=\"classList.options\">\n          <template v-if=\"groups\">\n            <li\n              v-for=\"(group, i, key) in fg\"\n              :key=\"key\"\n              :class=\"classList.group\"\n            >\n              <div\n                :class=\"classList.groupLabel(group)\"\n                :data-pointed=\"isPointed(group)\"\n                @mouseenter=\"setPointer(group)\"\n                @click=\"handleGroupClick(group)\"\n              >\n                <slot name=\"grouplabel\" :group=\"group\">\n                  <span>{{ group[groupLabel] }}</span>\n                </slot>\n              </div>\n\n              <ul :class=\"classList.groupOptions\">\n                <li\n                  v-for=\"(option, i, key) in group.__VISIBLE__\"\n                  :key=\"key\"\n                  :class=\"classList.option(option, group)\"\n                  :data-pointed=\"isPointed(option)\"\n                  @mouseenter=\"setPointer(option)\"\n                  @click=\"handleOptionClick(option)\"\n                >\n                  <slot name=\"option\" :option=\"option\" :search=\"search\">\n                    <span>{{ option[label] }}</span>\n                  </slot>\n                </li>\n              </ul>\n            </li>\n          </template>\n          <template v-else>\n            <li\n              v-for=\"(option, i, key) in fo\"\n              :key=\"key\"\n              :class=\"classList.option(option)\"\n              :data-pointed=\"isPointed(option)\"\n              @mouseenter=\"setPointer(option)\"\n              @click=\"handleOptionClick(option)\"\n            >\n              <slot name=\"option\" :option=\"option\" :search=\"search\">\n                <span>{{ option[label] }}</span>\n              </slot>\n            </li>\n          </template>\n        </ul>\n\n        <slot v-if=\"noOptions\" name=\"nooptions\">\n          <div :class=\"classList.noOptions\" v-html=\"noOptionsText\"></div>\n        </slot>\n\n        <slot v-if=\"noResults\" name=\"noresults\">\n          <div :class=\"classList.noResults\" v-html=\"noResultsText\"></div>\n        </slot>\n\n        <slot name=\"afterlist\" :options=\"fo\"> </slot>\n      </div>\n      <slot name=\"action\"></slot>\n    </div>\n\n    <!-- Hacky input element to show HTML5 required warning -->\n    <input\n      v-if=\"required\"\n      :class=\"classList.fakeInput\"\n      tabindex=\"-1\"\n      :value=\"textValue\"\n      required\n    />\n\n    <!-- Native input support -->\n    <template v-if=\"nativeSupport\">\n      <input\n        v-if=\"mode == 'single'\"\n        type=\"hidden\"\n        :name=\"name\"\n        :value=\"plainValue !== undefined ? plainValue : ''\"\n      />\n      <template v-else>\n        <input\n          v-for=\"(v, i) in plainValue\"\n          :key=\"i\"\n          type=\"hidden\"\n          :name=\"`${name}[]`\"\n          :value=\"v\"\n        />\n      </template>\n    </template>\n\n    <!-- Create height for empty input -->\n    <div :class=\"classList.spacer\"></div>\n  </div>\n</template>\n\n<script>\nimport useData from './composables/useData'\nimport useValue from './composables/useValue'\nimport useSearch from './composables/useSearch'\nimport usePointer from './composables/usePointer'\nimport useOptions from './composables/useOptions'\nimport usePointerAction from './composables/usePointerAction'\nimport useDropdown from './composables/useDropdown'\nimport useMultiselect from './composables/useMultiselect'\nimport useKeyboard from './composables/useKeyboard'\nimport useClasses from './composables/useClasses'\n\nexport default {\n  name: 'BaseMultiselect',\n  props: {\n    preserveSearch: {\n      type: Boolean,\n      default: false,\n    },\n    initialSearch: {\n      type: String,\n      default: null,\n    },\n    contentLoading: {\n      type: Boolean,\n      default: false,\n    },\n    value: {\n      required: false,\n    },\n    modelValue: {\n      required: false,\n    },\n    options: {\n      type: [Array, Object, Function],\n      required: false,\n      default: () => [],\n    },\n    id: {\n      type: [String, Number],\n      required: false,\n    },\n    name: {\n      type: [String, Number],\n      required: false,\n      default: 'multiselect',\n    },\n    disabled: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    label: {\n      type: String,\n      required: false,\n      default: 'label',\n    },\n    trackBy: {\n      type: String,\n      required: false,\n      default: 'label',\n    },\n    valueProp: {\n      type: String,\n      required: false,\n      default: 'value',\n    },\n    placeholder: {\n      type: String,\n      required: false,\n      default: null,\n    },\n    mode: {\n      type: String,\n      required: false,\n      default: 'single', // single|multiple|tags\n    },\n    searchable: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    limit: {\n      type: Number,\n      required: false,\n      default: -1,\n    },\n    hideSelected: {\n      type: Boolean,\n      required: false,\n      default: true,\n    },\n    createTag: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    appendNewTag: {\n      type: Boolean,\n      required: false,\n      default: true,\n    },\n    caret: {\n      type: Boolean,\n      required: false,\n      default: true,\n    },\n    loading: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    noOptionsText: {\n      type: String,\n      required: false,\n      default: 'The list is empty',\n    },\n    noResultsText: {\n      type: String,\n      required: false,\n      default: 'No results found',\n    },\n    multipleLabel: {\n      type: Function,\n      required: false,\n    },\n    object: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    delay: {\n      type: Number,\n      required: false,\n      default: -1,\n    },\n    minChars: {\n      type: Number,\n      required: false,\n      default: 0,\n    },\n    resolveOnLoad: {\n      type: Boolean,\n      required: false,\n      default: true,\n    },\n    filterResults: {\n      type: Boolean,\n      required: false,\n      default: true,\n    },\n    clearOnSearch: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    clearOnSelect: {\n      type: Boolean,\n      required: false,\n      default: true,\n    },\n    canDeselect: {\n      type: Boolean,\n      required: false,\n      default: true,\n    },\n    canClear: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    max: {\n      type: Number,\n      required: false,\n      default: -1,\n    },\n    showOptions: {\n      type: Boolean,\n      required: false,\n      default: true,\n    },\n    addTagOn: {\n      type: Array,\n      required: false,\n      default: () => ['enter'],\n    },\n    required: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    openDirection: {\n      type: String,\n      required: false,\n      default: 'bottom',\n    },\n    nativeSupport: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    invalid: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    classes: {\n      type: Object,\n      required: false,\n      default: () => ({\n        container:\n          'p-0 relative mx-auto w-full flex items-center justify-end box-border cursor-pointer border border-gray-200 rounded-md bg-white text-sm leading-snug outline-none max-h-10',\n        containerDisabled:\n          'cursor-default bg-gray-200 bg-opacity-50 !text-gray-400',\n        containerOpen: '',\n        containerOpenTop: '',\n        containerActive: 'ring-1 ring-primary-400 border-primary-400',\n        containerInvalid:\n          'border-red-400 ring-red-400 focus:ring-red-400 focus:border-red-400',\n        containerInvalidActive: 'ring-1 border-red-400 ring-red-400',\n        singleLabel:\n          'flex items-center h-full absolute left-0 top-0 pointer-events-none bg-transparent leading-snug pl-3.5',\n        multipleLabel:\n          'flex items-center h-full absolute left-0 top-0 pointer-events-none bg-transparent leading-snug pl-3.5',\n        search:\n          'w-full absolute inset-0 outline-none appearance-none box-border border-0 text-sm font-sans bg-white rounded-md pl-3.5',\n        tags: 'grow shrink flex flex-wrap mt-1 pl-2',\n        tag: 'bg-primary-500 text-white text-sm font-semibold py-0.5 pl-2 rounded mr-1 mb-1 flex items-center whitespace-nowrap',\n        tagDisabled: 'pr-2 !bg-gray-400 text-white',\n        tagRemove:\n          'flex items-center justify-center p-1 mx-0.5 rounded-sm hover:bg-black hover:bg-opacity-10 group',\n        tagRemoveIcon:\n          'bg-multiselect-remove text-white bg-center bg-no-repeat opacity-30 inline-block w-3 h-3 group-hover:opacity-60',\n        tagsSearchWrapper: 'inline-block relative mx-1 mb-1 grow shrink h-full',\n        tagsSearch:\n          'absolute inset-0 border-0 focus:outline-none !shadow-none !focus:shadow-none appearance-none p-0 text-sm font-sans box-border w-full',\n        tagsSearchCopy: 'invisible whitespace-pre-wrap inline-block h-px',\n        placeholder:\n          'flex items-center h-full absolute left-0 top-0 pointer-events-none bg-transparent leading-snug pl-3.5 text-gray-400 text-sm',\n        caret:\n          'bg-multiselect-caret bg-center bg-no-repeat w-5 h-5 py-px box-content z-5 relative mr-1 opacity-40 shrink-0 grow-0 transition-transform',\n        caretOpen: 'rotate-180 pointer-events-auto',\n        clear:\n          'pr-3.5 relative z-10 opacity-40 transition duration-300 shrink-0 grow-0 flex hover:opacity-80',\n        clearIcon:\n          'bg-multiselect-remove bg-center bg-no-repeat w-2.5 h-4 py-px box-content inline-block',\n        spinner:\n          'bg-multiselect-spinner bg-center bg-no-repeat w-4 h-4 z-10 mr-3.5 animate-spin shrink-0 grow-0',\n        dropdown:\n          'max-h-60 shadow-lg absolute -left-px -right-px -bottom-1 translate-y-full border border-gray-300 mt-1 overflow-y-auto z-50 bg-white flex flex-col rounded-md',\n        dropdownTop:\n          '-translate-y-full -top-2 bottom-auto flex-col-reverse rounded-md',\n        dropdownHidden: 'hidden',\n        options: 'flex flex-col p-0 m-0 list-none',\n        optionsTop: 'flex-col-reverse',\n        group: 'p-0 m-0',\n        groupLabel:\n          'flex text-sm box-border items-center justify-start text-left py-1 px-3 font-semibold bg-gray-200 cursor-default leading-normal',\n        groupLabelPointable: 'cursor-pointer',\n        groupLabelPointed: 'bg-gray-300 text-gray-700',\n        groupLabelSelected: 'bg-primary-600 text-white',\n        groupLabelDisabled: 'bg-gray-100 text-gray-300 cursor-not-allowed',\n        groupLabelSelectedPointed: 'bg-primary-600 text-white opacity-90',\n        groupLabelSelectedDisabled:\n          'text-primary-100 bg-primary-600 bg-opacity-50 cursor-not-allowed',\n        groupOptions: 'p-0 m-0',\n        option:\n          'flex items-center justify-start box-border text-left cursor-pointer text-sm leading-snug py-2 px-3',\n        optionPointed: 'text-gray-800 bg-gray-100',\n        optionSelected: 'text-white bg-primary-500',\n        optionDisabled: 'text-gray-300 cursor-not-allowed',\n        optionSelectedPointed: 'text-white bg-primary-500 opacity-90',\n        optionSelectedDisabled:\n          'text-primary-100 bg-primary-500 bg-opacity-50 cursor-not-allowed',\n        noOptions: 'py-2 px-3 text-gray-600 bg-white',\n        noResults: 'py-2 px-3 text-gray-600 bg-white',\n        fakeInput:\n          'bg-transparent absolute left-0 right-0 -bottom-px w-full h-px border-0 p-0 appearance-none outline-none text-transparent',\n        spacer: 'h-9 py-px box-content',\n      }),\n    },\n    strict: {\n      type: Boolean,\n      required: false,\n      default: true,\n    },\n    closeOnSelect: {\n      type: Boolean,\n      required: false,\n      default: true,\n    },\n    autocomplete: {\n      type: String,\n      required: false,\n    },\n    groups: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    groupLabel: {\n      type: String,\n      required: false,\n      default: 'label',\n    },\n    groupOptions: {\n      type: String,\n      required: false,\n      default: 'options',\n    },\n    groupHideEmpty: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    groupSelect: {\n      type: Boolean,\n      required: false,\n      default: true,\n    },\n    inputType: {\n      type: String,\n      required: false,\n      default: 'text',\n    },\n  },\n  emits: [\n    'open',\n    'close',\n    'select',\n    'deselect',\n    'input',\n    'search-change',\n    'tag',\n    'update:modelValue',\n    'change',\n    'clear',\n  ],\n  setup(props, context) {\n    const value = useValue(props, context)\n    const pointer = usePointer(props, context)\n    const dropdown = useDropdown(props, context)\n    const search = useSearch(props, context)\n\n    const data = useData(props, context, {\n      iv: value.iv,\n    })\n\n    const multiselect = useMultiselect(props, context, {\n      input: search.input,\n      open: dropdown.open,\n      close: dropdown.close,\n      clearSearch: search.clearSearch,\n    })\n\n    const options = useOptions(props, context, {\n      ev: value.ev,\n      iv: value.iv,\n      search: search.search,\n      clearSearch: search.clearSearch,\n      update: data.update,\n      pointer: pointer.pointer,\n      clearPointer: pointer.clearPointer,\n      blur: multiselect.blur,\n      deactivate: multiselect.deactivate,\n    })\n\n    const pointerAction = usePointerAction(props, context, {\n      fo: options.fo,\n      fg: options.fg,\n      handleOptionClick: options.handleOptionClick,\n      handleGroupClick: options.handleGroupClick,\n      search: search.search,\n      pointer: pointer.pointer,\n      setPointer: pointer.setPointer,\n      clearPointer: pointer.clearPointer,\n      multiselect: multiselect.multiselect,\n    })\n\n    const keyboard = useKeyboard(props, context, {\n      iv: value.iv,\n      update: data.update,\n      search: search.search,\n      setPointer: pointer.setPointer,\n      selectPointer: pointerAction.selectPointer,\n      backwardPointer: pointerAction.backwardPointer,\n      forwardPointer: pointerAction.forwardPointer,\n      blur: multiselect.blur,\n      fo: options.fo,\n    })\n\n    const classes = useClasses(props, context, {\n      isOpen: dropdown.isOpen,\n      isPointed: pointerAction.isPointed,\n      canPointGroups: pointerAction.canPointGroups,\n      isSelected: options.isSelected,\n      isDisabled: options.isDisabled,\n      isActive: multiselect.isActive,\n      resolving: options.resolving,\n      fo: options.fo,\n    })\n\n    return {\n      ...value,\n      ...dropdown,\n      ...multiselect,\n      ...pointer,\n      ...data,\n      ...search,\n      ...options,\n      ...pointerAction,\n      ...keyboard,\n      ...classes,\n    }\n  },\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/components/base-select/composables/useClasses.js",
    "content": "import { computed, toRefs } from 'vue'\n\nexport default function useClasses(props, context, dependencies) {\n  const refs = toRefs(props)\n  const { disabled, openDirection, showOptions, invalid } = refs\n\n  // ============ DEPENDENCIES ============\n\n  const isOpen = dependencies.isOpen\n  const isPointed = dependencies.isPointed\n  const isSelected = dependencies.isSelected\n  const isDisabled = dependencies.isDisabled\n  const isActive = dependencies.isActive\n  const canPointGroups = dependencies.canPointGroups\n  const resolving = dependencies.resolving\n  const fo = dependencies.fo\n  const isInvalid = invalid\n\n  const classes = {\n    container: 'multiselect',\n    containerDisabled: 'is-disabled',\n    containerOpen: 'is-open',\n    containerOpenTop: 'is-open-top',\n    containerActive: 'is-active',\n    containerInvalid: 'is-invalid',\n    containerInvalidActive: 'is-invalid-active',\n    singleLabel: 'multiselect-single-label',\n    multipleLabel: 'multiselect-multiple-label',\n    search: 'multiselect-search',\n    tags: 'multiselect-tags',\n    tag: 'multiselect-tag',\n    tagDisabled: 'is-disabled',\n    tagRemove: 'multiselect-tag-remove',\n    tagRemoveIcon: 'multiselect-tag-remove-icon',\n    tagsSearchWrapper: 'multiselect-tags-search-wrapper',\n    tagsSearch: 'multiselect-tags-search',\n    tagsSearchCopy: 'multiselect-tags-search-copy',\n    placeholder: 'multiselect-placeholder',\n    caret: 'multiselect-caret',\n    caretOpen: 'is-open',\n    clear: 'multiselect-clear',\n    clearIcon: 'multiselect-clear-icon',\n    spinner: 'multiselect-spinner',\n    dropdown: 'multiselect-dropdown',\n    dropdownTop: 'is-top',\n    dropdownHidden: 'is-hidden',\n    options: 'multiselect-options',\n    optionsTop: 'is-top',\n    group: 'multiselect-group',\n    groupLabel: 'multiselect-group-label',\n    groupLabelPointable: 'is-pointable',\n    groupLabelPointed: 'is-pointed',\n    groupLabelSelected: 'is-selected',\n    groupLabelDisabled: 'is-disabled',\n    groupLabelSelectedPointed: 'is-selected is-pointed',\n    groupLabelSelectedDisabled: 'is-selected is-disabled',\n    groupOptions: 'multiselect-group-options',\n    option: 'multiselect-option',\n    optionPointed: 'is-pointed',\n    optionSelected: 'is-selected',\n    optionDisabled: 'is-disabled',\n    optionSelectedPointed: 'is-selected is-pointed',\n    optionSelectedDisabled: 'is-selected is-disabled',\n    noOptions: 'multiselect-no-options',\n    noResults: 'multiselect-no-results',\n    fakeInput: 'multiselect-fake-input',\n    spacer: 'multiselect-spacer',\n    ...refs.classes.value,\n  }\n\n  // ============== COMPUTED ==============\n\n  const showDropdown = computed(() => {\n    return !!(\n      isOpen.value &&\n      showOptions.value &&\n      (!resolving.value || (resolving.value && fo.value.length))\n    )\n  })\n\n  const classList = computed(() => {\n    return {\n      container: [classes.container]\n        .concat(disabled.value ? classes.containerDisabled : [])\n        .concat(\n          showDropdown.value && openDirection.value === 'top'\n            ? classes.containerOpenTop\n            : []\n        )\n        .concat(\n          showDropdown.value && openDirection.value !== 'top'\n            ? classes.containerOpen\n            : []\n        )\n        .concat(isActive.value ? classes.containerActive : [])\n        .concat(invalid.value ? classes.containerInvalid : []),\n      spacer: classes.spacer,\n      singleLabel: classes.singleLabel,\n      multipleLabel: classes.multipleLabel,\n      search: classes.search,\n      tags: classes.tags,\n      tag: [classes.tag].concat(disabled.value ? classes.tagDisabled : []),\n      tagRemove: classes.tagRemove,\n      tagRemoveIcon: classes.tagRemoveIcon,\n      tagsSearchWrapper: classes.tagsSearchWrapper,\n      tagsSearch: classes.tagsSearch,\n      tagsSearchCopy: classes.tagsSearchCopy,\n      placeholder: classes.placeholder,\n      caret: [classes.caret].concat(isOpen.value ? classes.caretOpen : []),\n      clear: classes.clear,\n      clearIcon: classes.clearIcon,\n      spinner: classes.spinner,\n      dropdown: [classes.dropdown]\n        .concat(openDirection.value === 'top' ? classes.dropdownTop : [])\n        .concat(\n          !isOpen.value || !showOptions.value || !showDropdown.value\n            ? classes.dropdownHidden\n            : []\n        ),\n      options: [classes.options].concat(\n        openDirection.value === 'top' ? classes.optionsTop : []\n      ),\n      group: classes.group,\n      groupLabel: (g) => {\n        let groupLabel = [classes.groupLabel]\n\n        if (isPointed(g)) {\n          groupLabel.push(\n            isSelected(g)\n              ? classes.groupLabelSelectedPointed\n              : classes.groupLabelPointed\n          )\n        } else if (isSelected(g) && canPointGroups.value) {\n          groupLabel.push(\n            isDisabled(g)\n              ? classes.groupLabelSelectedDisabled\n              : classes.groupLabelSelected\n          )\n        } else if (isDisabled(g)) {\n          groupLabel.push(classes.groupLabelDisabled)\n        }\n\n        if (canPointGroups.value) {\n          groupLabel.push(classes.groupLabelPointable)\n        }\n\n        return groupLabel\n      },\n      groupOptions: classes.groupOptions,\n      option: (o, g) => {\n        let option = [classes.option]\n\n        if (isPointed(o)) {\n          option.push(\n            isSelected(o)\n              ? classes.optionSelectedPointed\n              : classes.optionPointed\n          )\n        } else if (isSelected(o)) {\n          option.push(\n            isDisabled(o)\n              ? classes.optionSelectedDisabled\n              : classes.optionSelected\n          )\n        } else if (isDisabled(o) || (g && isDisabled(g))) {\n          option.push(classes.optionDisabled)\n        }\n\n        return option\n      },\n      noOptions: classes.noOptions,\n      noResults: classes.noResults,\n      fakeInput: classes.fakeInput,\n    }\n  })\n\n  return {\n    classList,\n    showDropdown,\n  }\n}\n"
  },
  {
    "path": "resources/scripts/components/base-select/composables/useData.js",
    "content": "import { toRefs } from 'vue'\nimport isNullish from './../utils/isNullish'\n\nexport default function useData(props, context, dep) {\n  const { object, valueProp, mode } = toRefs(props)\n\n  // ============ DEPENDENCIES ============\n\n  const iv = dep.iv\n\n  // =============== METHODS ==============\n\n  const update = (val) => {\n    // Setting object(s) as internal value\n    iv.value = makeInternal(val)\n\n    // Setting object(s) or plain value as external\n    // value based on `option` setting\n    const externalVal = makeExternal(val)\n\n    context.emit('change', externalVal)\n    context.emit('input', externalVal)\n    context.emit('update:modelValue', externalVal)\n  }\n\n  // no export\n  const makeExternal = (val) => {\n    // If external value should be object\n    // no transformation is required\n    if (object.value) {\n      return val\n    }\n\n    // No need to transform if empty value\n    if (isNullish(val)) {\n      return val\n    }\n\n    // If external should be plain transform\n    // value object to plain values\n    return !Array.isArray(val) ? val[valueProp.value] : val.map(v => v[valueProp.value])\n  }\n\n  // no export\n  const makeInternal = (val) => {\n    if (isNullish(val)) {\n      return mode.value === 'single' ? {} : []\n    }\n\n    return val\n  }\n\n  return {\n    update,\n  }\n}\n"
  },
  {
    "path": "resources/scripts/components/base-select/composables/useDropdown.js",
    "content": "import { ref, toRefs } from 'vue'\n\nexport default function useDropdown(props, context, dep) {\n  const { disabled } = toRefs(props)\n\n  // ================ DATA ================\n\n  const isOpen = ref(false)\n\n  // =============== METHODS ==============\n\n  const open = () => {\n    if (isOpen.value || disabled.value) {\n      return\n    }\n\n    isOpen.value = true\n    context.emit('open')\n  }\n\n  const close = () => {\n    if (!isOpen.value) {\n      return\n    }\n\n    isOpen.value = false\n    context.emit('close')\n  }\n\n  return {\n    isOpen,\n    open,\n    close,\n  }\n}\n"
  },
  {
    "path": "resources/scripts/components/base-select/composables/useKeyboard.js",
    "content": "import { toRefs } from 'vue'\n\nexport default function useKeyboard(props, context, dep) {\n  const {\n    mode, addTagOn, createTag, openDirection, searchable,\n    showOptions, valueProp, groups: groupped,\n  } = toRefs(props)\n\n  // ============ DEPENDENCIES ============\n\n  const iv = dep.iv\n  const update = dep.update\n  const search = dep.search\n  const setPointer = dep.setPointer\n  const selectPointer = dep.selectPointer\n  const backwardPointer = dep.backwardPointer\n  const forwardPointer = dep.forwardPointer\n  const blur = dep.blur\n  const fo = dep.fo\n\n  // =============== METHODS ==============\n\n  // no export\n  const preparePointer = () => {\n    // When options are hidden and creating tags is allowed\n    // no pointer will be set (because options are hidden).\n    // In such case we need to set the pointer manually to the\n    // first option, which equals to the option created from\n    // the search value.\n    if (mode.value === 'tags' && !showOptions.value && createTag.value && searchable.value && !groupped.value) {\n      setPointer(fo.value[fo.value.map(o => o[valueProp.value]).indexOf(search.value)])\n    }\n  }\n\n  const handleKeydown = (e) => {\n    switch (e.keyCode) {\n      // backspace\n      case 8:\n        if (mode.value === 'single') {\n          return\n        }\n\n        if (searchable.value && [null, ''].indexOf(search.value) === -1) {\n          return\n        }\n\n        if (iv.value.length === 0) {\n          return\n        }\n\n        update([...iv.value].slice(0, -1))\n        break\n\n      // enter\n      case 13:\n        e.preventDefault()\n\n        if (mode.value === 'tags' && addTagOn.value.indexOf('enter') === -1 && createTag.value) {\n          return\n        }\n\n        preparePointer()\n        selectPointer()\n        break\n\n      // space\n      case 32:\n        if (searchable.value && mode.value !== 'tags' && !createTag.value) {\n          return\n        }\n\n        if (mode.value === 'tags' && ((addTagOn.value.indexOf('space') === -1 && createTag.value) || !createTag.value)) {\n          return\n        }\n\n        e.preventDefault()\n\n        preparePointer()\n        selectPointer()\n        break\n\n      // tab\n      // semicolon\n      // comma\n      case 9:\n      case 186:\n      case 188:\n        if (mode.value !== 'tags') {\n          return\n        }\n\n        const charMap = {\n          9: 'tab',\n          186: ';',\n          188: ','\n        }\n\n        if (addTagOn.value.indexOf(charMap[e.keyCode]) === -1 || !createTag.value) {\n          return\n        }\n\n        preparePointer()\n        selectPointer()\n        e.preventDefault()\n        break\n\n      // escape\n      case 27:\n        blur()\n        break\n\n      // up\n      case 38:\n        e.preventDefault()\n\n        if (!showOptions.value) {\n          return\n        }\n\n        openDirection.value === 'top' ? forwardPointer() : backwardPointer()\n        break\n\n      // down\n      case 40:\n        e.preventDefault()\n\n        if (!showOptions.value) {\n          return\n        }\n\n        openDirection.value === 'top' ? backwardPointer() : forwardPointer()\n        break\n    }\n  }\n\n  return {\n    handleKeydown,\n    preparePointer,\n  }\n}\n"
  },
  {
    "path": "resources/scripts/components/base-select/composables/useMultiselect.js",
    "content": "import { ref, toRefs, computed } from 'vue'\n\nexport default function useMultiselect(props, context, dep) {\n  const { searchable, disabled } = toRefs(props)\n\n  // ============ DEPENDENCIES ============\n\n  const input = dep.input\n  const open = dep.open\n  const close = dep.close\n  const clearSearch = dep.clearSearch\n\n  // ================ DATA ================\n\n  const multiselect = ref(null)\n\n  const isActive = ref(false)\n\n  // ============== COMPUTED ==============\n\n  const tabindex = computed(() => {\n    return searchable.value || disabled.value ? -1 : 0\n  })\n\n  // =============== METHODS ==============\n\n  const blur = () => {\n    if (searchable.value) {\n      input.value.blur()\n    }\n\n    multiselect.value.blur()\n  }\n\n  const handleFocus = () => {\n    if (searchable.value && !disabled.value) {\n      input.value.focus()\n    }\n  }\n\n  const activate = () => {\n\n    if (disabled.value) {\n      return\n    }\n\n    isActive.value = true\n\n    open()\n  }\n\n  const deactivate = () => {\n    isActive.value = false\n\n    setTimeout(() => {\n      if (!isActive.value) {\n        close()\n        clearSearch()\n      }\n    }, 1)\n  }\n\n  const handleCaretClick = () => {\n    if (isActive.value) {\n      deactivate()\n      blur()\n    } else {\n      activate()\n    }\n  }\n\n  return {\n    multiselect,\n    tabindex,\n    isActive,\n    blur,\n    handleFocus,\n    activate,\n    deactivate,\n    handleCaretClick,\n  }\n}\n"
  },
  {
    "path": "resources/scripts/components/base-select/composables/useOptions.js",
    "content": "import { ref, toRefs, computed, watch, nextTick } from 'vue'\nimport normalize from './../utils/normalize'\nimport isObject from './../utils/isObject'\nimport isNullish from './../utils/isNullish'\nimport arraysEqual from './../utils/arraysEqual'\n\nexport default function useOptions(props, context, dep) {\n  const {\n    options, mode, trackBy, limit, hideSelected, createTag, label,\n    appendNewTag, multipleLabel, object, loading, delay, resolveOnLoad,\n    minChars, filterResults, clearOnSearch, clearOnSelect, valueProp,\n    canDeselect, max, strict, closeOnSelect, groups: groupped, groupLabel,\n    groupOptions, groupHideEmpty, groupSelect,\n  } = toRefs(props)\n\n  // ============ DEPENDENCIES ============\n\n  const iv = dep.iv\n  const ev = dep.ev\n  const search = dep.search\n  const clearSearch = dep.clearSearch\n  const update = dep.update\n  const pointer = dep.pointer\n  const clearPointer = dep.clearPointer\n  const blur = dep.blur\n  const deactivate = dep.deactivate\n\n  // ================ DATA ================\n\n  // no export\n  // appendedOptions\n  const ap = ref([])\n\n  // no export\n  // resolvedOptions\n  const ro = ref([])\n\n  const resolving = ref(false)\n\n  // ============== COMPUTED ==============\n\n  // no export\n  // extendedOptions\n  const eo = computed(() => {\n    if (groupped.value) {\n      let groups = ro.value || /* istanbul ignore next */[]\n\n      let eo = []\n\n      groups.forEach((group) => {\n        optionsToArray(group[groupOptions.value]).forEach((option) => {\n          eo.push(Object.assign({}, option, group.disabled ? { disabled: true } : {}))\n        })\n      })\n\n      return eo\n    } else {\n      let eo = optionsToArray(ro.value || [])\n\n      if (ap.value.length) {\n        eo = eo.concat(ap.value)\n      }\n\n      return eo\n    }\n  })\n\n  const fg = computed(() => {\n    if (!groupped.value) {\n      return []\n    }\n\n    return filterGroups((ro.value || /* istanbul ignore next */[]).map((group) => {\n      const arrayOptions = optionsToArray(group[groupOptions.value])\n\n      return {\n        ...group,\n        group: true,\n        [groupOptions.value]: filterOptions(arrayOptions, false).map(o => Object.assign({}, o, group.disabled ? { disabled: true } : {})),\n        __VISIBLE__: filterOptions(arrayOptions).map(o => Object.assign({}, o, group.disabled ? { disabled: true } : {})),\n      }\n      // Difference between __VISIBLE__ and {groupOptions}: visible does not contain selected options when hideSelected=true\n    }))\n  })\n\n  // filteredOptions\n  const fo = computed(() => {\n    let options = eo.value\n\n    if (createdTag.value.length) {\n      options = createdTag.value.concat(options)\n    }\n\n    options = filterOptions(options)\n\n    if (limit.value > 0) {\n      options = options.slice(0, limit.value)\n    }\n\n    return options\n  })\n\n  const hasSelected = computed(() => {\n    switch (mode.value) {\n      case 'single':\n        return !isNullish(iv.value[valueProp.value])\n\n      case 'multiple':\n      case 'tags':\n        return !isNullish(iv.value) && iv.value.length > 0\n    }\n  })\n\n  const multipleLabelText = computed(() => {\n    return multipleLabel !== undefined && multipleLabel.value !== undefined\n      ? multipleLabel.value(iv.value)\n      : (iv.value && iv.value.length > 1 ? `${iv.value.length} options selected` : `1 option selected`)\n  })\n\n  const noOptions = computed(() => {\n    return !eo.value.length && !resolving.value && !createdTag.value.length\n  })\n\n\n  const noResults = computed(() => {\n    return eo.value.length > 0 && fo.value.length == 0 && ((search.value && groupped.value) || !groupped.value)\n  })\n\n  // no export\n  const createdTag = computed(() => {\n    if (createTag.value === false || !search.value) {\n      return []\n    }\n\n    return getOptionByTrackBy(search.value) !== -1 ? [] : [{\n      [valueProp.value]: search.value,\n      [label.value]: search.value,\n      [trackBy.value]: search.value,\n    }]\n  })\n\n  // no export\n  const nullValue = computed(() => {\n    switch (mode.value) {\n      case 'single':\n        return null\n\n      case 'multiple':\n      case 'tags':\n        return []\n    }\n  })\n\n  const busy = computed(() => {\n    return loading.value || resolving.value\n  })\n\n  // =============== METHODS ==============\n\n  /**\n   * @param {array|object|string|number} option\n   */\n  const select = (option) => {\n    if (typeof option !== 'object') {\n      option = getOption(option)\n    }\n\n    switch (mode.value) {\n      case 'single':\n        update(option)\n        break\n\n      case 'multiple':\n      case 'tags':\n        update((iv.value).concat(option))\n        break\n    }\n\n    context.emit('select', finalValue(option), option)\n  }\n\n  const deselect = (option) => {\n    if (typeof option !== 'object') {\n      option = getOption(option)\n    }\n\n    switch (mode.value) {\n      case 'single':\n        clear()\n        break\n\n      case 'tags':\n      case 'multiple':\n        update(Array.isArray(option)\n          ? iv.value.filter(v => option.map(o => o[valueProp.value]).indexOf(v[valueProp.value]) === -1)\n          : iv.value.filter(v => v[valueProp.value] != option[valueProp.value]))\n        break\n    }\n\n    context.emit('deselect', finalValue(option), option)\n  }\n\n  // no export\n  const finalValue = (option) => {\n    return object.value ? option : option[valueProp.value]\n  }\n\n  const remove = (option) => {\n    deselect(option)\n  }\n\n  const handleTagRemove = (option, e) => {\n    if (e.button !== 0) {\n      e.preventDefault()\n      return\n    }\n\n    remove(option)\n  }\n\n  const clear = () => {\n    context.emit('clear')\n    update(nullValue.value)\n  }\n\n  const isSelected = (option) => {\n    if (option.group !== undefined) {\n      return mode.value === 'single' ? false : areAllSelected(option[groupOptions.value]) && option[groupOptions.value].length\n    }\n\n    switch (mode.value) {\n      case 'single':\n        return !isNullish(iv.value) && iv.value[valueProp.value] == option[valueProp.value]\n\n      case 'tags':\n      case 'multiple':\n        return !isNullish(iv.value) && iv.value.map(o => o[valueProp.value]).indexOf(option[valueProp.value]) !== -1\n    }\n  }\n\n  const isDisabled = (option) => {\n    return option.disabled === true\n  }\n\n  const isMax = () => {\n    if (max === undefined || max.value === -1 || (!hasSelected.value && max.value > 0)) {\n      return false\n    }\n\n    return iv.value.length >= max.value\n  }\n\n  const handleOptionClick = (option) => {\n    if (isDisabled(option)) {\n      return\n    }\n\n    switch (mode.value) {\n      case 'single':\n        if (isSelected(option)) {\n          if (canDeselect.value) {\n            deselect(option)\n          }\n          return\n        }\n\n        blur()\n        select(option)\n        break\n\n      case 'multiple':\n        if (isSelected(option)) {\n          deselect(option)\n          return\n        }\n\n        if (isMax()) {\n          return\n        }\n\n        select(option)\n\n        if (clearOnSelect.value) {\n          clearSearch()\n        }\n\n        if (hideSelected.value) {\n          clearPointer()\n        }\n\n        // If we need to close the dropdown on select we also need\n        // to blur the input, otherwise further searches will not\n        // display any options\n        if (closeOnSelect.value) {\n          blur()\n        }\n        break\n\n      case 'tags':\n        if (isSelected(option)) {\n          deselect(option)\n          return\n        }\n\n        if (isMax()) {\n          return\n        }\n\n        if (getOption(option[valueProp.value]) === undefined && createTag.value) {\n          context.emit('tag', option[valueProp.value])\n\n          if (appendNewTag.value) {\n            appendOption(option)\n          }\n\n          clearSearch()\n        }\n\n        if (clearOnSelect.value) {\n          clearSearch()\n        }\n\n        select(option)\n\n        if (hideSelected.value) {\n          clearPointer()\n        }\n\n        // If we need to close the dropdown on select we also need\n        // to blur the input, otherwise further searches will not\n        // display any options\n        if (closeOnSelect.value) {\n          blur()\n        }\n        break\n    }\n\n    if (closeOnSelect.value) {\n      deactivate()\n    }\n  }\n\n  const handleGroupClick = (group) => {\n    if (isDisabled(group) || mode.value === 'single' || !groupSelect.value) {\n      return\n    }\n\n    switch (mode.value) {\n      case 'multiple':\n      case 'tags':\n        if (areAllEnabledSelected(group[groupOptions.value])) {\n          deselect(group[groupOptions.value])\n        } else {\n          select(group[groupOptions.value]\n            .filter(o => iv.value.map(v => v[valueProp.value]).indexOf(o[valueProp.value]) === -1)\n            .filter(o => !o.disabled)\n            .filter((o, k) => iv.value.length + 1 + k <= max.value || max.value === -1)\n          )\n        }\n        break\n    }\n\n    if (closeOnSelect.value) {\n      deactivate()\n    }\n  }\n\n  // no export\n  const areAllEnabledSelected = (options) => {\n    return options.find(o => !isSelected(o) && !o.disabled) === undefined\n  }\n\n  // no export\n  const areAllSelected = (options) => {\n    return options.find(o => !isSelected(o)) === undefined\n  }\n\n  const getOption = (val) => {\n    return eo.value[eo.value.map(o => String(o[valueProp.value])).indexOf(String(val))]\n  }\n\n  // no export\n  const getOptionByTrackBy = (val, norm = true) => {\n    return eo.value.map(o => o[trackBy.value]).indexOf(val)\n  }\n\n  // no export\n  const shouldHideOption = (option) => {\n    return ['tags', 'multiple'].indexOf(mode.value) !== -1 && hideSelected.value && isSelected(option)\n  }\n\n  // no export\n  const appendOption = (option) => {\n    ap.value.push(option)\n  }\n\n  // no export\n  const filterGroups = (groups) => {\n    // If the search has value we need to filter among\n    // he ones that are visible to the user to avoid\n    // displaying groups which technically have options\n    // based on search but that option is already selected.\n    return groupHideEmpty.value\n      ? groups.filter(g => search.value\n        ? g.__VISIBLE__.length\n        : g[groupOptions.value].length\n      )\n      : groups.filter(g => search.value ? g.__VISIBLE__.length : true)\n  }\n\n  // no export\n  const filterOptions = (options, excludeHideSelected = true) => {\n    let fo = options\n\n    if (search.value && filterResults.value) {\n      fo = fo.filter((option) => {\n        return normalize(option[trackBy.value], strict.value).indexOf(normalize(search.value, strict.value)) !== -1\n      })\n    }\n\n    if (hideSelected.value && excludeHideSelected) {\n      fo = fo.filter((option) => !shouldHideOption(option))\n    }\n\n    return fo\n  }\n\n  // no export\n  const optionsToArray = (options) => {\n    let uo = options\n\n    // Transforming an object to an array of objects\n    if (isObject(uo)) {\n      uo = Object.keys(uo).map((key) => {\n        let val = uo[key]\n\n        return { [valueProp.value]: key, [trackBy.value]: val, [label.value]: val }\n      })\n    }\n\n    // Transforming an plain arrays to an array of objects\n    uo = uo.map((val) => {\n      return typeof val === 'object' ? val : { [valueProp.value]: val, [trackBy.value]: val, [label.value]: val }\n    })\n\n    return uo\n  }\n\n  // no export\n  const initInternalValue = () => {\n    if (!isNullish(ev.value)) {\n      iv.value = makeInternal(ev.value)\n    }\n  }\n\n  const resolveOptions = (callback) => {\n    resolving.value = true\n\n    options.value(search.value).then((response) => {\n      ro.value = response\n\n      if (typeof callback == 'function') {\n        callback(response)\n      }\n\n      resolving.value = false\n    })\n  }\n\n  // no export\n  const refreshLabels = () => {\n    if (!hasSelected.value) {\n      return\n    }\n\n    if (mode.value === 'single') {\n      let newLabel = getOption(iv.value[valueProp.value])[label.value]\n\n      iv.value[label.value] = newLabel\n\n      if (object.value) {\n        ev.value[label.value] = newLabel\n      }\n    } else {\n      iv.value.forEach((val, i) => {\n        let newLabel = getOption(iv.value[i][valueProp.value])[label.value]\n\n        iv.value[i][label.value] = newLabel\n\n        if (object.value) {\n          ev.value[i][label.value] = newLabel\n        }\n      })\n    }\n  }\n\n  const refreshOptions = (callback) => {\n    resolveOptions(callback)\n  }\n\n  // no export\n  const makeInternal = (val) => {\n    if (isNullish(val)) {\n      return mode.value === 'single' ? {} : []\n    }\n\n    if (object.value) {\n      return val\n    }\n\n    // If external should be plain transform\n    // value object to plain values\n    return mode.value === 'single' ? getOption(val) || {} : val.filter(v => !!getOption(v)).map(v => getOption(v))\n  }\n\n  // ================ HOOKS ===============\n\n  if (mode.value !== 'single' && !isNullish(ev.value) && !Array.isArray(ev.value)) {\n    throw new Error(`v-model must be an array when using \"${mode.value}\" mode`)\n  }\n\n  if (options && typeof options.value == 'function') {\n    if (resolveOnLoad.value) {\n      resolveOptions(initInternalValue)\n    } else if (object.value == true) {\n      initInternalValue()\n    }\n  }\n  else {\n    ro.value = options.value\n\n    initInternalValue()\n  }\n\n  // ============== WATCHERS ==============\n\n  if (delay.value > -1) {\n    watch(search, (query) => {\n      if (query.length < minChars.value) {\n        return\n      }\n\n      resolving.value = true\n\n      if (clearOnSearch.value) {\n        ro.value = []\n      }\n      setTimeout(() => {\n        if (query != search.value) {\n          return\n        }\n\n        options.value(search.value).then((response) => {\n          if (query == search.value) {\n            ro.value = response\n            pointer.value = fo.value.filter(o => o.disabled !== true)[0] || null\n            resolving.value = false\n          }\n        })\n      }, delay.value)\n\n    }, { flush: 'sync' })\n  }\n\n  watch(ev, (newValue) => {\n    if (isNullish(newValue)) {\n      iv.value = makeInternal(newValue)\n      return\n    }\n\n    switch (mode.value) {\n      case 'single':\n        if (object.value ? newValue[valueProp.value] != iv.value[valueProp.value] : newValue != iv.value[valueProp.value]) {\n          iv.value = makeInternal(newValue)\n        }\n        break\n\n      case 'multiple':\n      case 'tags':\n        if (!arraysEqual(object.value ? newValue.map(o => o[valueProp.value]) : newValue, iv.value.map(o => o[valueProp.value]))) {\n          iv.value = makeInternal(newValue)\n        }\n        break\n    }\n  }, { deep: true })\n\n  if (typeof props.options !== 'function') {\n    watch(options, (n, o) => {\n      ro.value = props.options\n\n      if (!Object.keys(iv.value).length) {\n        initInternalValue()\n      }\n\n      refreshLabels()\n    })\n  }\n\n  return {\n    fo,\n    filteredOptions: fo,\n    hasSelected,\n    multipleLabelText,\n    eo,\n    extendedOptions: eo,\n    fg,\n    filteredGroups: fg,\n    noOptions,\n    noResults,\n    resolving,\n    busy,\n    select,\n    deselect,\n    remove,\n    clear,\n    isSelected,\n    isDisabled,\n    isMax,\n    getOption,\n    handleOptionClick,\n    handleGroupClick,\n    handleTagRemove,\n    refreshOptions,\n    resolveOptions,\n  }\n}\n"
  },
  {
    "path": "resources/scripts/components/base-select/composables/usePointer.js",
    "content": "import { ref, toRefs } from 'vue'\n\nexport default function usePointer(props, context, dep) {\n  const { groupSelect, mode, groups } = toRefs(props)\n\n  // ================ DATA ================\n\n  const pointer = ref(null)\n\n  // =============== METHODS ==============\n\n  const setPointer = (option) => {\n    if (option === undefined || (option !== null && option.disabled)) {\n      return\n    }\n\n    if (groups.value && option && option.group && (mode.value === 'single' || !groupSelect.value)) {\n      return\n    }\n\n    pointer.value = option\n  }\n\n  const clearPointer = () => {\n    setPointer(null)\n  }\n\n  return {\n    pointer,\n    setPointer,\n    clearPointer,\n  }\n}\n"
  },
  {
    "path": "resources/scripts/components/base-select/composables/usePointerAction.js",
    "content": "import { toRefs, watch, nextTick, computed } from 'vue'\n\nexport default function usePointer(props, context, dep) {\n  const {\n    valueProp, showOptions, searchable, groupLabel,\n    groups: groupped, mode, groupSelect,\n  } = toRefs(props)\n\n  // ============ DEPENDENCIES ============\n\n  const fo = dep.fo\n  const fg = dep.fg\n  const handleOptionClick = dep.handleOptionClick\n  const handleGroupClick = dep.handleGroupClick\n  const search = dep.search\n  const pointer = dep.pointer\n  const setPointer = dep.setPointer\n  const clearPointer = dep.clearPointer\n  const multiselect = dep.multiselect\n\n  // ============== COMPUTED ==============\n\n  // no export\n  const options = computed(() => {\n    return fo.value.filter(o => !o.disabled)\n  })\n\n  const groups = computed(() => {\n    return fg.value.filter(o => !o.disabled)\n  })\n\n  const canPointGroups = computed(() => {\n    return mode.value !== 'single' && groupSelect.value\n  })\n\n  const isPointerGroup = computed(() => {\n    return pointer.value && pointer.value.group\n  })\n\n  const currentGroup = computed(() => {\n    return getParentGroup(pointer.value)\n  })\n\n  const prevGroup = computed(() => {\n    const group = isPointerGroup.value ? pointer.value : /* istanbul ignore next */ getParentGroup(pointer.value)\n    const groupIndex = groups.value.map(g => g[groupLabel.value]).indexOf(group[groupLabel.value])\n    let prevGroup = groups.value[groupIndex - 1]\n\n    if (prevGroup === undefined) {\n      prevGroup = lastGroup.value\n    }\n\n    return prevGroup\n  })\n\n  const nextGroup = computed(() => {\n    let nextIndex = groups.value.map(g => g.label).indexOf(isPointerGroup.value\n      ? pointer.value[groupLabel.value]\n      : getParentGroup(pointer.value)[groupLabel.value]) + 1\n\n    if (groups.value.length <= nextIndex) {\n      nextIndex = 0\n    }\n\n    return groups.value[nextIndex]\n  })\n\n  const lastGroup = computed(() => {\n    return [...groups.value].slice(-1)[0]\n  })\n\n  const currentGroupFirstEnabledOption = computed(() => {\n    return pointer.value.__VISIBLE__.filter(o => !o.disabled)[0]\n  })\n\n  const currentGroupPrevEnabledOption = computed(() => {\n    const options = currentGroup.value.__VISIBLE__.filter(o => !o.disabled)\n    return options[options.map(o => o[valueProp.value]).indexOf(pointer.value[valueProp.value]) - 1]\n  })\n\n  const currentGroupNextEnabledOption = computed(() => {\n    const options = getParentGroup(pointer.value).__VISIBLE__.filter(o => !o.disabled)\n    return options[options.map(o => o[valueProp.value]).indexOf(pointer.value[valueProp.value]) + 1]\n  })\n\n  const prevGroupLastEnabledOption = computed(() => {\n    return [...prevGroup.value.__VISIBLE__.filter(o => !o.disabled)].slice(-1)[0]\n  })\n\n  const lastGroupLastEnabledOption = computed(() => {\n    return [...lastGroup.value.__VISIBLE__.filter(o => !o.disabled)].slice(-1)[0]\n  })\n\n  // =============== METHODS ==============\n\n  const isPointed = (option) => {\n    if (!pointer.value) {\n      return\n    }\n\n    if (option.group) {\n      return pointer.value[groupLabel.value] == option[groupLabel.value]\n    } else {\n      return pointer.value[valueProp.value] == option[valueProp.value]\n    }\n  }\n\n  const setPointerFirst = () => {\n    setPointer(options.value[0] || null)\n  }\n\n  const selectPointer = () => {\n    if (!pointer.value || pointer.value.disabled === true) {\n      return\n    }\n\n    if (isPointerGroup.value) {\n      handleGroupClick(pointer.value)\n    } else {\n      handleOptionClick(pointer.value)\n    }\n  }\n\n  const forwardPointer = () => {\n    if (pointer.value === null) {\n      setPointer((groupped.value && canPointGroups.value ? groups.value[0] : options.value[0]) || null)\n    }\n    else if (groupped.value && canPointGroups.value) {\n      let nextPointer = isPointerGroup.value ? currentGroupFirstEnabledOption.value : currentGroupNextEnabledOption.value\n\n      if (nextPointer === undefined) {\n        nextPointer = nextGroup.value\n      }\n\n      setPointer(nextPointer || /* istanbul ignore next */ null)\n    } else {\n      let next = options.value.map(o => o[valueProp.value]).indexOf(pointer.value[valueProp.value]) + 1\n\n      if (options.value.length <= next) {\n        next = 0\n      }\n\n      setPointer(options.value[next] || null)\n    }\n\n    nextTick(() => {\n      adjustWrapperScrollToPointer()\n    })\n  }\n\n  const backwardPointer = () => {\n    if (pointer.value === null) {\n      let prevPointer = options.value[options.value.length - 1]\n\n      if (groupped.value && canPointGroups.value) {\n        prevPointer = lastGroupLastEnabledOption.value\n\n        if (prevPointer === undefined) {\n          prevPointer = lastGroup.value\n        }\n      }\n\n      setPointer(prevPointer || null)\n    }\n    else if (groupped.value && canPointGroups.value) {\n      let prevPointer = isPointerGroup.value ? prevGroupLastEnabledOption.value : currentGroupPrevEnabledOption.value\n\n      if (prevPointer === undefined) {\n        prevPointer = isPointerGroup.value ? prevGroup.value : currentGroup.value\n      }\n\n      setPointer(prevPointer || /* istanbul ignore next */ null)\n    } else {\n      let prevIndex = options.value.map(o => o[valueProp.value]).indexOf(pointer.value[valueProp.value]) - 1\n\n      if (prevIndex < 0) {\n        prevIndex = options.value.length - 1\n      }\n\n      setPointer(options.value[prevIndex] || null)\n    }\n\n    nextTick(() => {\n      adjustWrapperScrollToPointer()\n    })\n  }\n\n  const getParentGroup = (option) => {\n    return groups.value.find((group) => {\n      return group.__VISIBLE__.map(o => o[valueProp.value]).indexOf(option[valueProp.value]) !== -1\n    })\n  }\n\n  // no export\n  /* istanbul ignore next */\n  const adjustWrapperScrollToPointer = () => {\n    let pointedOption = multiselect.value.querySelector(`[data-pointed]`)\n\n    if (!pointedOption) {\n      return\n    }\n\n    let wrapper = pointedOption.parentElement.parentElement\n\n    if (groupped.value) {\n      wrapper = isPointerGroup.value\n        ? pointedOption.parentElement.parentElement.parentElement\n        : pointedOption.parentElement.parentElement.parentElement.parentElement\n    }\n\n    if (pointedOption.offsetTop + pointedOption.offsetHeight > wrapper.clientHeight + wrapper.scrollTop) {\n      wrapper.scrollTop = pointedOption.offsetTop + pointedOption.offsetHeight - wrapper.clientHeight\n    }\n\n    if (pointedOption.offsetTop < wrapper.scrollTop) {\n      wrapper.scrollTop = pointedOption.offsetTop\n    }\n  }\n\n  // ============== WATCHERS ==============\n\n  watch(search, (val) => {\n    if (searchable.value) {\n      if (val.length && showOptions.value) {\n        setPointerFirst()\n      } else {\n        clearPointer()\n      }\n    }\n  })\n\n  return {\n    pointer,\n    canPointGroups,\n    isPointed,\n    setPointerFirst,\n    selectPointer,\n    forwardPointer,\n    backwardPointer,\n  }\n}\n"
  },
  {
    "path": "resources/scripts/components/base-select/composables/useSearch.js",
    "content": "import { ref, toRefs, computed, watch } from 'vue'\n\nexport default function useSearch (props, context, dep)\n{\n  const { preserveSearch } = toRefs(props)\n\n  // ================ DATA ================\n\n  const search = ref(props.initialSearch) || ref(null)\n\n  const input = ref(null)\n\n\n  // =============== METHODS ==============\n\n  const clearSearch = () => {\n    if (!preserveSearch.value) search.value = ''\n  }\n\n  const handleSearchInput = (e) => {\n    search.value = e.target.value\n  }\n\n  const handlePaste = (e) => {\n    context.emit('paste', e)\n  }\n\n  // ============== WATCHERS ==============\n\n  watch(search, (val) => {\n    context.emit('search-change', val)\n  })\n\n  return {\n    search,\n    input,\n    clearSearch,\n    handleSearchInput,\n    handlePaste,\n  }\n}"
  },
  {
    "path": "resources/scripts/components/base-select/composables/useValue.js",
    "content": "import { computed, toRefs, ref } from 'vue'\n\nexport default function useValue(props, context) {\n  const { value, modelValue, mode, valueProp } = toRefs(props)\n\n  // ================ DATA ================\n\n  // internalValue\n  const iv = ref(mode.value !== 'single' ? [] : {})\n\n  // ============== COMPUTED ==============\n\n  /* istanbul ignore next */\n  // externalValue\n  const ev = context.expose !== undefined ? modelValue : value\n\n  const plainValue = computed(() => {\n    return mode.value === 'single' ? iv.value[valueProp.value] : iv.value.map(v => v[valueProp.value])\n  })\n\n  const textValue = computed(() => {\n    return mode.value !== 'single' ? iv.value.map(v => v[valueProp.value]).join(',') : iv.value[valueProp.value]\n  })\n\n  return {\n    iv,\n    internalValue: iv,\n    ev,\n    externalValue: ev,\n    textValue,\n    plainValue,\n  }\n}\n"
  },
  {
    "path": "resources/scripts/components/base-select/index.d.ts",
    "content": "export * from './BaseMultiselect';\n"
  },
  {
    "path": "resources/scripts/components/base-select/utils/arraysEqual.js",
    "content": "export default function arraysEqual (array1, array2) {\n  const array2Sorted = array2.slice().sort()\n\n  return array1.length === array2.length && array1.slice().sort().every(function(value, index) {\n      return value === array2Sorted[index];\n  })\n}"
  },
  {
    "path": "resources/scripts/components/base-select/utils/isNullish.js",
    "content": "export default function isNullish (val) {\n  return [null, undefined, false].indexOf(val) !== -1\n}"
  },
  {
    "path": "resources/scripts/components/base-select/utils/isObject.js",
    "content": "export default function isObject (variable) {\n  return Object.prototype.toString.call(variable) === '[object Object]'\n}"
  },
  {
    "path": "resources/scripts/components/base-select/utils/normalize.js",
    "content": "export default function normalize (str, strict = true) {\n  return strict\n    ? String(str).toLowerCase().trim()\n    : String(str).normalize('NFD').replace(/\\p{Diacritic}/gu, '').toLowerCase().trim()\n}"
  },
  {
    "path": "resources/scripts/components/icons/DragIcon.vue",
    "content": "<template>\n  <svg\n    aria-hidden=\"true\"\n    focusable=\"false\"\n    data-prefix=\"fas\"\n    data-icon=\"grip-vertical\"\n    class=\"svg-inline--fa fa-grip-vertical fa-w-10\"\n    role=\"img\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n    viewBox=\"0 0 320 512\"\n    width=\"15\"\n    height=\"15\"\n  >\n    <path\n      fill=\"currentColor\"\n      d=\"M96 32H32C14.33 32 0 46.33 0 64v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32zm0 160H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm0 160H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zM288 32h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32zm0 160h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm0 160h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32z\"\n    ></path>\n  </svg>\n</template>\n"
  },
  {
    "path": "resources/scripts/components/icons/LoadingIcon.vue",
    "content": "<template>\n  <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\">\n    <circle\n      class=\"opacity-25\"\n      cx=\"12\"\n      cy=\"12\"\n      r=\"10\"\n      stroke=\"currentColor\"\n      stroke-width=\"4\"\n    ></circle>\n    <path\n      class=\"opacity-75\"\n      fill=\"currentColor\"\n      d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"\n    ></path>\n  </svg>\n</template>\n"
  },
  {
    "path": "resources/scripts/components/icons/MainLogo.vue",
    "content": "<template>\n  <svg viewBox=\"0 0 225 50\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n    <path\n      d=\"M211.738 32.1659V27.7768C214.619 24.947 218.409 23.3831 224.397 23.1597V11.6916C218.939 11.6916 214.998 13.4043 211.738 16.1597V12.2873H199.576C199.507 12.9433 199.472 13.609 199.472 14.2828C199.472 22.3755 204.546 29.3041 211.738 32.1659Z\"\n      fill=\"url(#paint0_linear_499_29)\"\n    />\n    <path\n      d=\"M211.738 36.1165C206.645 34.4592 202.327 31.1297 199.459 26.7902V48.4045H211.738V36.1165Z\"\n      fill=\"url(#paint1_linear_499_29)\"\n    />\n    <path\n      d=\"M16.0297 48.8865C19.2962 46.1641 21.7924 42.5768 23.1519 38.4848C25.3401 37.6506 26.8605 35.8956 27.2881 33.5853H38.8855C38.0517 42.8939 30.2443 49.2237 20.087 49.2237C18.6861 49.2237 17.3305 49.1085 16.0297 48.8865Z\"\n      fill=\"url(#paint2_linear_499_29)\"\n    />\n    <path\n      d=\"M20.087 11.4682C17.9247 11.4682 15.8704 11.7426 13.9591 12.26C17.5644 14.6466 20.4567 17.9932 22.2562 21.9269C24.9219 22.5899 26.8043 24.4928 27.2881 27.1065H38.8855C38.0517 17.798 30.2443 11.4682 20.087 11.4682Z\"\n      fill=\"url(#paint3_linear_499_29)\"\n    />\n    <path\n      d=\"M0 30.3087C0 38.354 4.52386 44.7328 11.4781 47.5909C14.7638 45.5212 17.3803 42.5159 18.9382 38.9578C14.3944 38.4418 11.6732 34.8526 11.6732 30.3087C11.6732 26.0841 14.0253 22.7398 18.0075 21.8837C16.0622 18.4948 13.104 15.7418 9.53648 14.0211C3.69365 17.1959 0 23.0881 0 30.3087Z\"\n      fill=\"url(#paint4_linear_499_29)\"\n    />\n    <path\n      d=\"M69.9096 23.1597V11.6916C64.452 11.6916 60.5104 13.4043 57.251 16.1597V12.2873H44.9714V48.4045H57.251V27.7768C60.1314 24.947 63.9214 23.3831 69.9096 23.1597Z\"\n      fill=\"url(#paint5_linear_499_29)\"\n    />\n    <path\n      fill-rule=\"evenodd\"\n      clip-rule=\"evenodd\"\n      d=\"M113.912 48.4045V12.2873H101.633V14.2235C98.9038 12.5107 95.5686 11.4682 91.5512 11.4682C81.6214 11.4682 73.2833 19.5108 73.2833 30.3087C73.2833 41.0322 81.6214 49.1492 91.5512 49.1492C95.5686 49.1492 98.9038 48.1067 101.633 46.3939V48.4045H113.912ZM93.9768 39.2449C88.974 39.2449 85.3356 35.2981 85.3356 30.3087C85.3356 25.3193 88.974 21.298 93.9768 21.298C96.7056 21.298 99.3586 22.1172 101.633 24.7236V35.8938C99.3586 38.5002 96.7056 39.2449 93.9768 39.2449Z\"\n      fill=\"url(#paint6_linear_499_29)\"\n    />\n    <path\n      d=\"M151.738 47.7343L150.374 37.5321C147.645 38.0534 145.598 38.4258 143.855 38.4258C140.217 38.4258 138.094 36.6385 138.094 32.9896V22.6384H150.601V12.2873H138.094V0H125.815V12.2873H118.614V22.6384H125.815V33.3619C125.815 43.1173 131.727 49.5216 140.596 49.5216C144.234 49.5216 146.963 49.2237 151.738 47.7343Z\"\n      fill=\"url(#paint7_linear_499_29)\"\n    />\n    <path\n      fill-rule=\"evenodd\"\n      clip-rule=\"evenodd\"\n      d=\"M193.36 29.564C193.36 18.6916 185.25 11.4682 174.562 11.4682C162.813 11.4682 155.005 19.3618 155.005 30.3087C155.005 41.33 163.04 49.2237 175.092 49.2237C184.188 49.2237 191.238 44.5322 192.981 37.0853H180.853C179.792 38.7236 177.821 39.6917 175.244 39.6917C170.544 39.6917 167.967 37.1598 166.982 33.8832H193.209L193.133 33.6598C193.36 32.3193 193.36 30.9044 193.36 29.564ZM174.562 20.7767C178.503 20.7767 181.156 22.8618 181.839 26.8087H166.83C167.74 23.1597 170.393 20.7767 174.562 20.7767Z\"\n      fill=\"url(#paint8_linear_499_29)\"\n    />\n    <defs>\n      <linearGradient\n        id=\"paint0_linear_499_29\"\n        x1=\"-2.72961e-07\"\n        y1=\"22.9922\"\n        x2=\"224.397\"\n        y2=\"22.9922\"\n        gradientUnits=\"userSpaceOnUse\"\n      >\n        <stop :stop-color=\"darkColor\" />\n        <stop offset=\"1\" :stop-color=\"lightColor\" />\n      </linearGradient>\n      <linearGradient\n        id=\"paint1_linear_499_29\"\n        x1=\"-2.72961e-07\"\n        y1=\"22.9922\"\n        x2=\"224.397\"\n        y2=\"22.9922\"\n        gradientUnits=\"userSpaceOnUse\"\n      >\n        <stop :stop-color=\"darkColor\" />\n        <stop offset=\"1\" :stop-color=\"lightColor\" />\n      </linearGradient>\n      <linearGradient\n        id=\"paint2_linear_499_29\"\n        x1=\"-2.72961e-07\"\n        y1=\"22.9922\"\n        x2=\"224.397\"\n        y2=\"22.9922\"\n        gradientUnits=\"userSpaceOnUse\"\n      >\n        <stop :stop-color=\"darkColor\" />\n        <stop offset=\"1\" :stop-color=\"lightColor\" />\n      </linearGradient>\n      <linearGradient\n        id=\"paint3_linear_499_29\"\n        x1=\"-2.72961e-07\"\n        y1=\"22.9922\"\n        x2=\"224.397\"\n        y2=\"22.9922\"\n        gradientUnits=\"userSpaceOnUse\"\n      >\n        <stop :stop-color=\"darkColor\" />\n        <stop offset=\"1\" :stop-color=\"lightColor\" />\n      </linearGradient>\n      <linearGradient\n        id=\"paint4_linear_499_29\"\n        x1=\"-2.72961e-07\"\n        y1=\"22.9922\"\n        x2=\"224.397\"\n        y2=\"22.9922\"\n        gradientUnits=\"userSpaceOnUse\"\n      >\n        <stop :stop-color=\"darkColor\" />\n        <stop offset=\"1\" :stop-color=\"lightColor\" />\n      </linearGradient>\n      <linearGradient\n        id=\"paint5_linear_499_29\"\n        x1=\"-2.72961e-07\"\n        y1=\"22.9922\"\n        x2=\"224.397\"\n        y2=\"22.9922\"\n        gradientUnits=\"userSpaceOnUse\"\n      >\n        <stop :stop-color=\"darkColor\" />\n        <stop offset=\"1\" :stop-color=\"lightColor\" />\n      </linearGradient>\n      <linearGradient\n        id=\"paint6_linear_499_29\"\n        x1=\"-2.72961e-07\"\n        y1=\"22.9922\"\n        x2=\"224.397\"\n        y2=\"22.9922\"\n        gradientUnits=\"userSpaceOnUse\"\n      >\n        <stop :stop-color=\"darkColor\" />\n        <stop offset=\"1\" :stop-color=\"lightColor\" />\n      </linearGradient>\n      <linearGradient\n        id=\"paint7_linear_499_29\"\n        x1=\"-2.72961e-07\"\n        y1=\"22.9922\"\n        x2=\"224.397\"\n        y2=\"22.9922\"\n        gradientUnits=\"userSpaceOnUse\"\n      >\n        <stop :stop-color=\"darkColor\" />\n        <stop offset=\"1\" :stop-color=\"lightColor\" />\n      </linearGradient>\n      <linearGradient\n        id=\"paint8_linear_499_29\"\n        x1=\"-2.72961e-07\"\n        y1=\"22.9922\"\n        x2=\"224.397\"\n        y2=\"22.9922\"\n        gradientUnits=\"userSpaceOnUse\"\n      >\n        <stop :stop-color=\"darkColor\" />\n        <stop offset=\"1\" :stop-color=\"lightColor\" />\n      </linearGradient>\n    </defs>\n  </svg>\n</template>\n\n<script setup>\ndefineProps({\n  darkColor: {\n    type: String,\n    default: 'rgba(var(--color-primary-500), var(--tw-text-opacity))',\n  },\n  lightColor: {\n    type: String,\n    default: 'rgba(var(--color-primary-400), var(--tw-text-opacity))',\n  },\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/components/icons/SaveIcon.vue",
    "content": "<template>\n  <svg\n    width=\"20\"\n    height=\"15\"\n    aria-hidden=\"true\"\n    focusable=\"false\"\n    data-prefix=\"fas\"\n    data-icon=\"save\"\n    class=\"svg-inline--fa fa-save fa-w-14\"\n    role=\"img\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n    viewBox=\"0 0 448 512\"\n  >\n    <path\n      fill=\"currentColor\"\n      d=\"M433.941 129.941l-83.882-83.882A48 48 0 0 0 316.118 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V163.882a48 48 0 0 0-14.059-33.941zM224 416c-35.346 0-64-28.654-64-64 0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64zm96-304.52V212c0 6.627-5.373 12-12 12H76c-6.627 0-12-5.373-12-12V108c0-6.627 5.373-12 12-12h228.52c3.183 0 6.235 1.264 8.485 3.515l3.48 3.48A11.996 11.996 0 0 1 320 111.48z\"\n    ></path>\n  </svg>\n</template>\n"
  },
  {
    "path": "resources/scripts/components/icons/SpinnerIcon.vue",
    "content": "<template>\n  <svg\n    class=\"animate-spin\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n    fill=\"none\"\n    viewBox=\"0 0 24 24\"\n  >\n    <circle\n      class=\"opacity-25\"\n      cx=\"12\"\n      cy=\"12\"\n      r=\"10\"\n      stroke=\"currentColor\"\n      stroke-width=\"4\"\n    ></circle>\n    <path\n      class=\"opacity-75\"\n      fill=\"currentColor\"\n      d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"\n    ></path>\n  </svg>\n</template>\n\n"
  },
  {
    "path": "resources/scripts/components/icons/dashboard/CustomerIcon.vue",
    "content": "<template>\n  <svg\n    width=\"50\"\n    height=\"50\"\n    viewBox=\"0 0 50 50\"\n    :class=\"colorClass\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <circle cx=\"25\" cy=\"25\" r=\"25\" fill=\"#EAF1FB\" />\n    <path\n      d=\"M28.2656 23.0547C27.3021 24.0182 26.1302 24.5 24.75 24.5C23.3698 24.5 22.1849 24.0182 21.1953 23.0547C20.2318 22.0651 19.75 20.8802 19.75 19.5C19.75 18.1198 20.2318 16.9479 21.1953 15.9844C22.1849 14.9948 23.3698 14.5 24.75 14.5C26.1302 14.5 27.3021 14.9948 28.2656 15.9844C29.2552 16.9479 29.75 18.1198 29.75 19.5C29.75 20.8802 29.2552 22.0651 28.2656 23.0547ZM28.2656 25.75C29.6979 25.75 30.9219 26.2708 31.9375 27.3125C32.9792 28.3281 33.5 29.5521 33.5 30.9844V32.625C33.5 33.1458 33.3177 33.5885 32.9531 33.9531C32.5885 34.3177 32.1458 34.5 31.625 34.5H17.875C17.3542 34.5 16.9115 34.3177 16.5469 33.9531C16.1823 33.5885 16 33.1458 16 32.625V30.9844C16 29.5521 16.5078 28.3281 17.5234 27.3125C18.5651 26.2708 19.8021 25.75 21.2344 25.75H21.8984C22.8099 26.1667 23.7604 26.375 24.75 26.375C25.7396 26.375 26.6901 26.1667 27.6016 25.75H28.2656Z\"\n      fill=\"currentColor\"\n    />\n  </svg>\n</template>\n\n<script setup>\nconst props = defineProps({\n  colorClass: {\n    type: String,\n    default: 'text-primary-500',\n  },\n})\n</script>\n\n"
  },
  {
    "path": "resources/scripts/components/icons/dashboard/DollarIcon.vue",
    "content": "<template>\n  <svg\n    width=\"50\"\n    height=\"50\"\n    viewBox=\"0 0 50 50\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <circle cx=\"25\" cy=\"25\" r=\"25\" fill=\"#FDE4E5\" />\n    <path\n      d=\"M27.2031 23.6016C28.349 23.9401 29.2083 24.6562 29.7812 25.75C30.3802 26.8438 30.4714 27.9766 30.0547 29.1484C29.7422 30.0078 29.2083 30.6979 28.4531 31.2188C27.6979 31.7135 26.8516 31.974 25.9141 32V33.875C25.9141 34.0573 25.849 34.2005 25.7188 34.3047C25.6146 34.4349 25.4714 34.5 25.2891 34.5H24.0391C23.8568 34.5 23.7005 34.4349 23.5703 34.3047C23.4661 34.2005 23.4141 34.0573 23.4141 33.875V32C22.1641 32 21.0443 31.6094 20.0547 30.8281C19.8984 30.6979 19.8073 30.5417 19.7812 30.3594C19.7552 30.1771 19.8203 30.0208 19.9766 29.8906L21.3047 28.5625C21.5651 28.3281 21.8255 28.3021 22.0859 28.4844C22.4766 28.7448 22.9193 28.875 23.4141 28.875H25.9922C26.3307 28.875 26.6042 28.7708 26.8125 28.5625C27.0469 28.3281 27.1641 28.0417 27.1641 27.7031C27.1641 27.1302 26.8906 26.7656 26.3438 26.6094L22.3203 25.4375C21.4349 25.1771 20.6927 24.7083 20.0938 24.0312C19.4948 23.3542 19.1432 22.5729 19.0391 21.6875C18.9349 20.4115 19.2995 19.3177 20.1328 18.4062C20.9922 17.4688 22.0599 17 23.3359 17H23.4141V15.125C23.4141 14.9427 23.4661 14.7995 23.5703 14.6953C23.7005 14.5651 23.8568 14.5 24.0391 14.5H25.2891C25.4714 14.5 25.6146 14.5651 25.7188 14.6953C25.849 14.7995 25.9141 14.9427 25.9141 15.125V17C27.1641 17 28.2839 17.3906 29.2734 18.1719C29.4297 18.3021 29.5208 18.4583 29.5469 18.6406C29.5729 18.8229 29.5078 18.9792 29.3516 19.1094L28.0234 20.4375C27.763 20.6719 27.5026 20.6979 27.2422 20.5156C26.8516 20.2552 26.4089 20.125 25.9141 20.125H23.3359C22.9974 20.125 22.7109 20.2422 22.4766 20.4766C22.2682 20.6849 22.1641 20.9583 22.1641 21.2969C22.1641 21.5312 22.2422 21.7526 22.3984 21.9609C22.5547 22.1693 22.75 22.3125 22.9844 22.3906L27.2031 23.6016Z\"\n      fill=\"#FB7178\"\n    />\n  </svg>\n</template>\n"
  },
  {
    "path": "resources/scripts/components/icons/dashboard/EstimateIcon.vue",
    "content": "<template>\n  <svg\n    width=\"50\"\n    height=\"50\"\n    viewBox=\"0 0 50 50\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n    :class=\"colorClass\"\n  >\n    <circle cx=\"25\" cy=\"25\" r=\"25\" fill=\"#EAF1FB\" />\n    <path\n      d=\"M26.75 19.8125C26.75 20.0729 26.8411 20.2943 27.0234 20.4766C27.2057 20.6589 27.4271 20.75 27.6875 20.75H33V33.5625C33 33.8229 32.9089 34.0443 32.7266 34.2266C32.5443 34.4089 32.3229 34.5 32.0625 34.5H18.9375C18.6771 34.5 18.4557 34.4089 18.2734 34.2266C18.0911 34.0443 18 33.8229 18 33.5625V15.4375C18 15.1771 18.0911 14.9557 18.2734 14.7734C18.4557 14.5911 18.6771 14.5 18.9375 14.5H26.75V19.8125ZM33 19.2656V19.5H28V14.5H28.2344C28.4948 14.5 28.7161 14.5911 28.8984 14.7734L32.7266 18.6016C32.9089 18.7839 33 19.0052 33 19.2656Z\"\n      fill=\"currentColor\"\n    />\n  </svg>\n</template>\n\n<script setup>\nconst props = defineProps({\n  colorClass: {\n    type: String,\n    default: 'text-primary-500',\n  },\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/components/icons/dashboard/InvoiceIcon.vue",
    "content": "<template>\n  <svg\n    width=\"50\"\n    height=\"50\"\n    viewBox=\"0 0 50 50\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n    :class=\"colorClass\"\n  >\n    <circle cx=\"25\" cy=\"25\" r=\"25\" fill=\"#EAF1FB\" />\n    <path\n      d=\"M28.25 24.5V27H20.75V24.5H28.25ZM31.7266 18.6016C31.9089 18.7839 32 19.0052 32 19.2656V19.5H27V14.5H27.2344C27.4948 14.5 27.7161 14.5911 27.8984 14.7734L31.7266 18.6016ZM25.75 19.8125C25.75 20.0729 25.8411 20.2943 26.0234 20.4766C26.2057 20.6589 26.4271 20.75 26.6875 20.75H32V33.5625C32 33.8229 31.9089 34.0443 31.7266 34.2266C31.5443 34.4089 31.3229 34.5 31.0625 34.5H17.9375C17.6771 34.5 17.4557 34.4089 17.2734 34.2266C17.0911 34.0443 17 33.8229 17 33.5625V15.4375C17 15.1771 17.0911 14.9557 17.2734 14.7734C17.4557 14.5911 17.6771 14.5 17.9375 14.5H25.75V19.8125ZM19.5 17.3125V17.9375C19.5 18.1458 19.6042 18.25 19.8125 18.25H22.9375C23.1458 18.25 23.25 18.1458 23.25 17.9375V17.3125C23.25 17.1042 23.1458 17 22.9375 17H19.8125C19.6042 17 19.5 17.1042 19.5 17.3125ZM19.5 19.8125V20.4375C19.5 20.6458 19.6042 20.75 19.8125 20.75H22.9375C23.1458 20.75 23.25 20.6458 23.25 20.4375V19.8125C23.25 19.6042 23.1458 19.5 22.9375 19.5H19.8125C19.6042 19.5 19.5 19.6042 19.5 19.8125ZM29.5 31.6875V31.0625C29.5 30.8542 29.3958 30.75 29.1875 30.75H26.0625C25.8542 30.75 25.75 30.8542 25.75 31.0625V31.6875C25.75 31.8958 25.8542 32 26.0625 32H29.1875C29.3958 32 29.5 31.8958 29.5 31.6875ZM29.5 23.875C29.5 23.6927 29.4349 23.5495 29.3047 23.4453C29.2005 23.3151 29.0573 23.25 28.875 23.25H20.125C19.9427 23.25 19.7865 23.3151 19.6562 23.4453C19.5521 23.5495 19.5 23.6927 19.5 23.875V27.625C19.5 27.8073 19.5521 27.9635 19.6562 28.0938C19.7865 28.1979 19.9427 28.25 20.125 28.25H28.875C29.0573 28.25 29.2005 28.1979 29.3047 28.0938C29.4349 27.9635 29.5 27.8073 29.5 27.625V23.875Z\"\n      fill=\"currentColor\"\n    />\n  </svg>\n</template>\n\n<script setup>\nconst props = defineProps({\n  colorClass: {\n    type: String,\n    default: 'text-primary-500',\n  },\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/components/icons/dashboard/PaymentIcon.vue",
    "content": "<template>\n  <svg\n    width=\"50\"\n    height=\"50\"\n    viewBox=\"0 0 50 50\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n    :class=\"colorClass\"\n  >\n    <circle cx=\"25\" cy=\"25\" r=\"25\" fill=\"#EAF1FB\" />\n    <path\n      d=\"M17.8 17.8C17.1635 17.8 16.5531 18.0529 16.103 18.503C15.6529 18.9531 15.4 19.5635 15.4 20.2V21.4H34.6V20.2C34.6 19.5635 34.3472 18.9531 33.8971 18.503C33.447 18.0529 32.8365 17.8 32.2 17.8H17.8Z\"\n      fill=\"currentColor\"\n    />\n    <path\n      fill-rule=\"evenodd\"\n      clip-rule=\"evenodd\"\n      d=\"M34.6 23.8H15.4V29.8C15.4 30.4366 15.6529 31.047 16.103 31.4971C16.5531 31.9472 17.1635 32.2 17.8 32.2H32.2C32.8365 32.2 33.447 31.9472 33.8971 31.4971C34.3472 31.047 34.6 30.4366 34.6 29.8V23.8ZM17.8 28.6C17.8 28.2818 17.9265 27.9766 18.1515 27.7515C18.3765 27.5265 18.6818 27.4 19 27.4H20.2C20.5183 27.4 20.8235 27.5265 21.0486 27.7515C21.2736 27.9766 21.4 28.2818 21.4 28.6C21.4 28.9183 21.2736 29.2235 21.0486 29.4486C20.8235 29.6736 20.5183 29.8 20.2 29.8H19C18.6818 29.8 18.3765 29.6736 18.1515 29.4486C17.9265 29.2235 17.8 28.9183 17.8 28.6ZM23.8 27.4C23.4818 27.4 23.1765 27.5265 22.9515 27.7515C22.7265 27.9766 22.6 28.2818 22.6 28.6C22.6 28.9183 22.7265 29.2235 22.9515 29.4486C23.1765 29.6736 23.4818 29.8 23.8 29.8H25C25.3183 29.8 25.6235 29.6736 25.8486 29.4486C26.0736 29.2235 26.2 28.9183 26.2 28.6C26.2 28.2818 26.0736 27.9766 25.8486 27.7515C25.6235 27.5265 25.3183 27.4 25 27.4H23.8Z\"\n      fill=\"currentColor\"\n    />\n  </svg>\n</template>\n\n<script setup>\nconst props = defineProps({\n  colorClass: {\n    type: String,\n    default: 'text-primary-500',\n  },\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/components/icons/empty/AstronautIcon.vue",
    "content": "<template>\n  <svg\n    width=\"125\"\n    height=\"110\"\n    viewBox=\"0 0 125 110\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0)\">\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M46.8031 84.4643C46.8031 88.8034 43.3104 92.3215 39.0026 92.3215C34.6948 92.3215 31.2021 88.8034 31.2021 84.4643C31.2021 80.1252 34.6948 76.6072 39.0026 76.6072C43.3104 76.6072 46.8031 80.1252 46.8031 84.4643Z\"\n        :class=\"primaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M60.4536 110H64.3539V72.6785H60.4536V110Z\"\n        :class=\"secondaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M85.8055 76.6072H70.2045C69.1319 76.6072 68.2544 77.4911 68.2544 78.5715V82.5C68.2544 83.5804 69.1319 84.4643 70.2045 84.4643H85.8055C86.878 84.4643 87.7556 83.5804 87.7556 82.5V78.5715C87.7556 77.4911 86.878 76.6072 85.8055 76.6072ZM70.2045 82.5H85.8055V78.5715H70.2045V82.5Z\"\n        :class=\"primaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M91.6556 1.96429C94.8811 1.96429 97.506 4.60821 97.506 7.85714V19.6429H83.8181L85.308 21.6071H99.4561V7.85714C99.4561 3.53571 95.9459 0 91.6556 0H33.152C28.8618 0 25.3516 3.53571 25.3516 7.85714V21.6071H39.3203L40.8745 19.6429H27.3017V7.85714C27.3017 4.60821 29.9265 1.96429 33.152 1.96429H91.6556Z\"\n        :class=\"secondaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M122.858 92.3213H117.007C115.935 92.3213 115.057 93.2052 115.057 94.2856V102.143C115.057 103.223 115.935 104.107 117.007 104.107H122.858C123.93 104.107 124.808 103.223 124.808 102.143V94.2856C124.808 93.2052 123.93 92.3213 122.858 92.3213ZM117.007 102.143H122.858V94.2856H117.007V102.143Z\"\n        :class=\"primaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M103.356 43.2142V70.7142H21.4511V43.2142H26.1821V41.2498H19.501V72.6783H105.306V41.2498H98.3541L98.2839 43.2142H103.356Z\"\n        :class=\"secondaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M101.406 21.6071C104.632 21.6071 107.257 24.251 107.257 27.5V41.25H98.2257L98.0853 43.2142H109.207V27.5C109.207 23.1609 105.714 19.6428 101.406 19.6428H83.8182L85.0878 21.6071H101.406ZM40.8746 19.6428H23.4016C19.0937 19.6428 15.6011 23.1609 15.6011 27.5V43.2142H26.1961L26.3365 41.25H17.5512V27.5C17.5512 24.251 20.1761 21.6071 23.4016 21.6071H39.3204L40.8746 19.6428Z\"\n        :class=\"secondaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M62.4041 9.82153C45.1709 9.82153 31.2021 23.8917 31.2021 41.2501C31.2021 58.6085 45.1709 72.6787 62.4041 72.6787C79.6373 72.6787 93.606 58.6085 93.606 41.2501C93.606 23.8917 79.6373 9.82153 62.4041 9.82153ZM62.4041 11.7858C78.5335 11.7858 91.6559 25.0035 91.6559 41.2501C91.6559 57.4967 78.5335 70.7144 62.4041 70.7144C46.2746 70.7144 33.1523 57.4967 33.1523 41.2501C33.1523 25.0035 46.2746 11.7858 62.4041 11.7858Z\"\n        :class=\"secondaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M62.4041 19.6428C45.1709 19.6428 31.2021 23.8916 31.2021 41.25C31.2021 58.6084 45.1709 66.7857 62.4041 66.7857C79.6373 66.7857 93.606 58.6084 93.606 41.25C93.606 23.8916 79.6373 19.6428 62.4041 19.6428ZM62.4041 21.6071C82.6346 21.6071 91.6559 27.665 91.6559 41.25C91.6559 56.0096 80.7216 64.8214 62.4041 64.8214C44.0866 64.8214 33.1523 56.0096 33.1523 41.25C33.1523 27.665 42.1735 21.6071 62.4041 21.6071Z\"\n        :class=\"secondaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M101.406 70.7144H23.4014C10.478 70.7144 0 81.2685 0 94.2858V110H124.808V94.2858C124.808 81.2685 114.33 70.7144 101.406 70.7144ZM101.406 72.6786C113.234 72.6786 122.858 82.3724 122.858 94.2858V108.036H1.95012V94.2858C1.95012 82.3724 11.574 72.6786 23.4014 72.6786H101.406Z\"\n        :class=\"secondaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M33.152 33.3928H29.2518C27.0969 33.3928 25.3516 35.1509 25.3516 37.3214V45.1785C25.3516 47.3491 27.0969 49.1071 29.2518 49.1071H33.152V33.3928ZM31.2019 35.3571V47.1428H29.2518C28.1773 47.1428 27.3017 46.2609 27.3017 45.1785V37.3214C27.3017 36.2391 28.1773 35.3571 29.2518 35.3571H31.2019Z\"\n        :class=\"secondaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M95.556 33.3928H91.6558V49.1071H95.556C97.7109 49.1071 99.4562 47.3491 99.4562 45.1785V37.3214C99.4562 35.1509 97.7109 33.3928 95.556 33.3928ZM95.556 35.3571C96.6305 35.3571 97.5061 36.2391 97.5061 37.3214V45.1785C97.5061 46.2609 96.6305 47.1428 95.556 47.1428H93.6059V35.3571H95.556Z\"\n        :class=\"secondaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M94.581 15.7144C94.0447 15.7144 93.606 16.1563 93.606 16.6965V34.3751C93.606 34.9152 94.0447 35.3572 94.581 35.3572C95.1173 35.3572 95.5561 34.9152 95.5561 34.3751V16.6965C95.5561 16.1563 95.1173 15.7144 94.581 15.7144Z\"\n        :class=\"secondaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M38.0273 41.2499C37.4891 41.2499 37.0522 40.8099 37.0522 40.2678C37.0522 33.3142 44.1409 25.5356 53.6283 25.5356C54.1665 25.5356 54.6033 25.9756 54.6033 26.5178C54.6033 27.0599 54.1665 27.4999 53.6283 27.4999C45.2564 27.4999 39.0024 34.2414 39.0024 40.2678C39.0024 40.8099 38.5655 41.2499 38.0273 41.2499Z\"\n        :class=\"primaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M97.5059 110H99.456V72.6785H97.5059V110Z\"\n        :class=\"secondaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M25.3516 110H27.3017V72.6785H25.3516V110Z\"\n        :class=\"secondaryFillColor\"\n      />\n    </g>\n    <defs>\n      <clipPath id=\"clip0\">\n        <rect width=\"124.808\" height=\"110\" fill=\"white\" />\n      </clipPath>\n    </defs>\n  </svg>\n</template>\n\n<script setup>\nconst props = defineProps({\n  primaryFillColor: {\n    type: String,\n    default: 'fill-primary-500',\n  },\n  secondaryFillColor: {\n    type: String,\n    default: 'fill-gray-600',\n  },\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/components/icons/empty/CapsuleIcon.vue",
    "content": "<template>\n  <svg\n    width=\"118\"\n    height=\"110\"\n    viewBox=\"0 0 118 110\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0)\">\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M58.6672 32.9999C42.1415 32.9999 32.973 28.5119 32.5898 28.3194L33.4093 26.6804C33.4992 26.7244 42.6127 31.1666 58.6672 31.1666C74.542 31.1666 83.8388 26.7208 83.9323 26.6768L84.7354 28.3231C84.3449 28.5156 74.9618 32.9999 58.6672 32.9999Z\"\n        :class=\"primaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M25.2438 39.0117L28.4191 40.8451C28.839 41.0871 29.1415 41.4831 29.2698 41.9597C29.3963 42.4346 29.3321 42.9296 29.0901 43.3494L14.4235 68.7521C14.099 69.3167 13.4866 69.6669 12.8248 69.6669C12.504 69.6669 12.1978 69.5844 11.9191 69.4231L8.74382 67.5897L7.82715 69.1774L11.0025 71.0107C11.5763 71.3426 12.2051 71.5002 12.8248 71.5002C14.0953 71.5002 15.3346 70.8421 16.0111 69.6687L30.6778 44.2661C31.6861 42.5189 31.083 40.2657 29.3358 39.2574L26.1605 37.4241L25.2438 39.0117Z\"\n        :class=\"primaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M91.1729 37.4241L87.9976 39.2574C86.2504 40.2657 85.6472 42.5189 86.6556 44.2661L101.322 69.6687C101.999 70.8421 103.238 71.5002 104.509 71.5002C105.128 71.5002 105.757 71.3426 106.331 71.0107L109.506 69.1774L108.59 67.5897L105.414 69.4231C105.139 69.5826 104.826 69.6669 104.509 69.6669C103.847 69.6669 103.234 69.3167 102.91 68.7521L88.2432 43.3494C88.0012 42.9296 87.9371 42.4346 88.0636 41.9597C88.1919 41.4831 88.4944 41.0871 88.9142 40.8451L92.0896 39.0117L91.1729 37.4241Z\"\n        :class=\"primaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M115.5 84.3333V87.6993C115.5 89.2797 114.424 90.6308 112.88 90.9883C112.013 91.19 111.049 91.4393 109.96 91.7198C102.573 93.6228 88.8268 97.1667 58.6667 97.1667C28.292 97.1667 14.6942 93.6338 7.38833 91.7345C6.29383 91.4503 5.324 91.1992 4.44767 90.9938C2.90767 90.6363 1.83333 89.2833 1.83333 87.7067V84.3333L0 82.5V87.7067C0 90.134 1.66833 92.2295 4.0315 92.7795C10.9322 94.3873 23.6812 99 58.6667 99C93.3478 99 106.372 94.3818 113.296 92.7758C115.661 92.2258 117.333 90.1285 117.333 87.6993V82.5\"\n        :class=\"primaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M79.6139 20.1666L115.245 81.7354C115.841 82.7566 115.344 84.0656 114.214 84.4102C107.345 86.4966 89.3159 89.8333 58.6662 89.8333C27.9744 89.8333 9.97652 86.3371 3.12535 84.2526C1.99602 83.9079 1.49919 82.5989 2.09502 81.5778L37.7204 20.1666L36.6662 18.3333L0.503686 80.6666C-0.686148 82.7071 0.322186 85.3251 2.58085 86.0163C9.60985 88.1704 27.7104 91.6666 58.6662 91.6666C89.4625 91.6666 107.664 88.3189 114.742 86.1666C117.008 85.4772 118.022 82.8574 116.829 80.8133L80.6662 18.3333\"\n        :class=\"secondaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M110.814 92.4116L115.245 100.069C115.841 101.089 115.344 102.4 114.214 102.742C107.345 104.831 89.3159 108.167 58.6662 108.167C27.9744 108.167 9.97469 104.671 3.12535 102.585C1.99602 102.242 1.49919 100.931 2.09502 99.9117L6.41985 92.4556L4.75885 91.6672L0.503686 99.0006C-0.686148 101.041 0.322185 103.657 2.58085 104.35C9.60985 106.504 27.7104 110.001 58.6662 110.001C89.4625 110.001 107.664 106.653 114.742 104.501C117.007 103.811 118.022 101.191 116.829 99.1472L112.682 91.9789L110.814 92.4116Z\"\n        :class=\"secondaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M58.667 0C47.238 0 36.667 7.1335 36.667 18.3407V20.1667C36.667 20.1667 42.6052 23.8333 58.667 23.8333C74.6665 23.8333 80.667 20.1667 80.667 20.1667V18.3333C80.667 7.24167 70.767 0 58.667 0ZM58.667 1.83333C70.3527 1.83333 78.8337 8.7725 78.8337 18.3333V19.0172C76.6887 19.9302 70.5103 22 58.667 22C46.7705 22 40.6197 19.9283 38.5003 19.0227V18.3407C38.5003 12.3658 41.7692 8.55617 44.51 6.41117C48.2317 3.50167 53.3907 1.83333 58.667 1.83333Z\"\n        :class=\"secondaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M69.6667 53.1666C70.6768 53.1666 71.5 53.9898 71.5 54.9999V89.8333H73.3333V54.9999C73.3333 52.9741 71.6925 51.3333 69.6667 51.3333H47.6667C45.6408 51.3333 44 52.9741 44 54.9999V89.8333H45.8333V54.9999C45.8333 53.9898 46.6565 53.1666 47.6667 53.1666H69.6667Z\"\n        :class=\"secondaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M58.6667 56.8333C53.6048 56.8333 49.5 60.9381 49.5 65.9999C49.5 71.0618 53.6048 75.1666 58.6667 75.1666C63.7285 75.1666 67.8333 71.0618 67.8333 65.9999C67.8333 60.9381 63.7285 56.8333 58.6667 56.8333ZM58.6667 58.6666C62.711 58.6666 66 61.9556 66 65.9999C66 70.0443 62.711 73.3333 58.6667 73.3333C54.6223 73.3333 51.3333 70.0443 51.3333 65.9999C51.3333 61.9556 54.6223 58.6666 58.6667 58.6666Z\"\n        :class=\"secondaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M63.2503 66C62.7443 66 62.3337 65.5893 62.3337 65.0833C62.3337 63.5672 61.0998 62.3333 59.5837 62.3333C59.0777 62.3333 58.667 61.9227 58.667 61.4167C58.667 60.9107 59.0777 60.5 59.5837 60.5C62.11 60.5 64.167 62.5552 64.167 65.0833C64.167 65.5893 63.7563 66 63.2503 66Z\"\n        :class=\"primaryFillColor\"\n      />\n    </g>\n    <defs>\n      <clipPath id=\"clip0\">\n        <rect width=\"117.333\" height=\"110\" fill=\"white\" />\n      </clipPath>\n    </defs>\n  </svg>\n</template>\n\n<script setup>\nconst props = defineProps({\n  primaryFillColor: {\n    type: String,\n    default: 'fill-primary-500',\n  },\n  secondaryFillColor: {\n    type: String,\n    default: 'fill-gray-600',\n  },\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/components/icons/empty/MoonwalkerIcon.vue",
    "content": "<template>\n  <svg\n    width=\"154\"\n    height=\"110\"\n    viewBox=\"0 0 154 110\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0)\">\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M33.4784 93.2609C33.4784 94.5809 32.4071 95.6522 31.0871 95.6522C29.7671 95.6522 28.6958 94.5809 28.6958 93.2609C28.6958 91.9409 29.7671 90.8696 31.0871 90.8696C32.4071 90.8696 33.4784 91.9409 33.4784 93.2609Z\"\n        :class=\"primaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M78.913 93.2609C78.913 94.5809 77.8417 95.6522 76.5217 95.6522C75.2017 95.6522 74.1304 94.5809 74.1304 93.2609C74.1304 91.9409 75.2017 90.8696 76.5217 90.8696C77.8417 90.8696 78.913 91.9409 78.913 93.2609Z\"\n        :class=\"primaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M124.348 93.2609C124.348 94.5809 123.277 95.6522 121.957 95.6522C120.637 95.6522 119.565 94.5809 119.565 93.2609C119.565 91.9409 120.637 90.8696 121.957 90.8696C123.277 90.8696 124.348 91.9409 124.348 93.2609Z\"\n        :class=\"primaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M148.261 54.9999C149.578 54.9999 150.652 56.0736 150.652 57.3913V83.6956C150.652 87.658 147.441 90.8695 143.478 90.8695H137.352V93.2608H143.478C148.761 93.2608 153.043 88.978 153.043 83.6956V57.3913C153.043 54.7489 150.903 52.6086 148.261 52.6086H4.78261C2.14022 52.6086 0 54.7489 0 57.3913V83.6956C0 88.978 4.28283 93.2608 9.56522 93.2608H15.4478V90.8695H9.56522C5.60283 90.8695 2.3913 87.658 2.3913 83.6956V57.3913C2.3913 56.0713 3.46261 54.9999 4.78261 54.9999H148.261ZM106.243 90.8695H91.7113L92.1011 93.2608H106.145L106.243 90.8695ZM60.8946 90.8695H46.5587L46.4607 93.2608H60.6985L60.8946 90.8695Z\"\n        :class=\"secondaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M38.2611 45.4348H23.9133C22.5933 45.4348 21.522 46.5061 21.522 47.8261V52.6087C21.522 53.9287 22.5933 55 23.9133 55H38.2611C39.5811 55 40.6524 53.9287 40.6524 52.6087V47.8261C40.6524 46.5061 39.5811 45.4348 38.2611 45.4348ZM23.9133 52.6087H38.2611V47.8261H23.9133V52.6087Z\"\n        :class=\"secondaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M28.6957 62.174C28.6957 63.494 27.6244 64.5653 26.3044 64.5653C24.9844 64.5653 23.9131 63.494 23.9131 62.174C23.9131 60.854 24.9844 59.7827 26.3044 59.7827C27.6244 59.7827 28.6957 60.854 28.6957 62.174Z\"\n        :class=\"primaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M38.2606 62.174C38.2606 63.494 37.1893 64.5653 35.8693 64.5653C34.5493 64.5653 33.478 63.494 33.478 62.174C33.478 60.854 34.5493 59.7827 35.8693 59.7827C37.1893 59.7827 38.2606 60.854 38.2606 62.174Z\"\n        :class=\"primaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M59.7826 64.5653H45.4348C44.1195 64.5653 43.0435 63.4892 43.0435 62.174C43.0435 60.8588 44.1195 59.7827 45.4348 59.7827H59.7826C61.0978 59.7827 62.1739 60.8588 62.1739 62.174C62.1739 63.4892 61.0978 64.5653 59.7826 64.5653Z\"\n        :class=\"primaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M101.793 40.0497L118.533 11.354L119.982 13.6162L104.754 39.722L101.793 40.0497Z\"\n        :class=\"primaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M110.163 40.0496L124.556 15.3761L127.383 15.2781L112.973 39.9826L110.163 40.0496Z\"\n        :class=\"primaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M74.1304 7.17402H119.565V4.78271H74.1304V7.17402Z\"\n        :class=\"primaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M74.1304 14.3478H119.565V11.9565H74.1304V14.3478Z\"\n        :class=\"primaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M71.7389 2.3913V16.7391H50.2172C48.8996 16.7391 47.8259 15.6654 47.8259 14.3478V11.9565H45.4346V14.3478C45.4346 16.9902 47.5748 19.1304 50.2172 19.1304H74.1302V0H50.2172C47.5748 0 45.4346 2.14022 45.4346 4.78261V7.17391H47.8259V4.78261C47.8259 3.465 48.8996 2.3913 50.2172 2.3913H71.7389Z\"\n        :class=\"secondaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M124.348 2.39136C120.385 2.39136 117.174 5.60288 117.174 9.56527C117.174 13.5277 120.385 16.7392 124.348 16.7392C128.31 16.7392 131.522 13.5277 131.522 9.56527C131.522 5.60288 128.31 2.39136 124.348 2.39136ZM124.348 4.78266C126.985 4.78266 129.13 6.92766 129.13 9.56527C129.13 12.2029 126.985 14.3479 124.348 14.3479C121.71 14.3479 119.565 12.2029 119.565 9.56527C119.565 6.92766 121.71 4.78266 124.348 4.78266Z\"\n        :class=\"secondaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M108.902 38.261C98.1965 38.261 89.1358 45.2986 86.0869 55.0001H131.718C128.669 45.2986 119.608 38.261 108.902 38.261ZM108.902 40.6523C117.219 40.6523 124.608 45.3416 128.191 52.6088H89.6141C93.1963 45.3416 100.585 40.6523 108.902 40.6523Z\"\n        :class=\"secondaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M31.0868 76.5217C21.842 76.5217 14.3477 84.0161 14.3477 93.2609C14.3477 102.506 21.842 110 31.0868 110C40.3316 110 47.8259 102.506 47.8259 93.2609C47.8259 84.0161 40.3316 76.5217 31.0868 76.5217ZM31.0868 78.913C38.9972 78.913 45.4346 85.3504 45.4346 93.2609C45.4346 101.171 38.9972 107.609 31.0868 107.609C23.1764 107.609 16.739 101.171 16.739 93.2609C16.739 85.3504 23.1764 78.913 31.0868 78.913Z\"\n        :class=\"secondaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M121.956 76.5217C112.712 76.5217 105.217 84.0161 105.217 93.2609C105.217 102.506 112.712 110 121.956 110C131.201 110 138.696 102.506 138.696 93.2609C138.696 84.0161 131.201 76.5217 121.956 76.5217ZM121.956 78.913C129.867 78.913 136.304 85.3504 136.304 93.2609C136.304 101.171 129.867 107.609 121.956 107.609C114.046 107.609 107.609 101.171 107.609 93.2609C107.609 85.3504 114.046 78.913 121.956 78.913Z\"\n        :class=\"secondaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M76.5218 76.5217C67.2771 76.5217 59.7827 84.0161 59.7827 93.2609C59.7827 102.506 67.2771 110 76.5218 110C85.7666 110 93.261 102.506 93.261 93.2609C93.261 84.0161 85.7666 76.5217 76.5218 76.5217ZM76.5218 78.913C84.4323 78.913 90.8697 85.3504 90.8697 93.2609C90.8697 101.171 84.4323 107.609 76.5218 107.609C68.6114 107.609 62.174 101.171 62.174 93.2609C62.174 85.3504 68.6114 78.913 76.5218 78.913Z\"\n        :class=\"secondaryFillColor\"\n      />\n    </g>\n    <defs>\n      <clipPath id=\"clip0\">\n        <rect width=\"153.043\" height=\"110\" fill=\"white\" />\n      </clipPath>\n    </defs>\n  </svg>\n</template>\n\n<script setup>\nconst props = defineProps({\n  primaryFillColor: {\n    type: String,\n    default: 'fill-primary-500',\n  },\n  secondaryFillColor: {\n    type: String,\n    default: 'fill-gray-600',\n  },\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/components/icons/empty/ObservatoryIcon.vue",
    "content": "<template>\n  <svg\n    width=\"97\"\n    height=\"110\"\n    viewBox=\"0 0 97 110\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0)\">\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M41.25 104.844H55V84.2188H41.25V104.844ZM42.9688 103.125H53.2813V85.9375H42.9688V103.125Z\"\n        :class=\"secondaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M0 110H96.25V103.125H0V110ZM1.71875 108.281H94.5312V104.844H1.71875V108.281Z\"\n        :class=\"primaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M34.375 8.59375H61.875V6.875H34.375V8.59375Z\"\n        :class=\"secondaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M48.125 15.4688C42.4291 15.4688 37.8125 20.0853 37.8125 25.7812C37.8125 31.4772 42.4291 36.0938 48.125 36.0938C53.8209 36.0938 58.4375 31.4772 58.4375 25.7812C58.4375 20.0853 53.8209 15.4688 48.125 15.4688ZM48.125 17.1875C52.8636 17.1875 56.7188 21.0427 56.7188 25.7812C56.7188 30.5198 52.8636 34.375 48.125 34.375C43.3864 34.375 39.5312 30.5198 39.5312 25.7812C39.5312 21.0427 43.3864 17.1875 48.125 17.1875Z\"\n        :class=\"secondaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M12.8906 63.5938C12.418 63.5938 12.0312 63.207 12.0312 62.7344V55.8594C12.0312 55.3867 12.418 55 12.8906 55C13.3633 55 13.75 55.3867 13.75 55.8594V62.7344C13.75 63.207 13.3633 63.5938 12.8906 63.5938Z\"\n        :class=\"secondaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M21.4844 63.5938C21.0117 63.5938 20.625 63.207 20.625 62.7344V55.8594C20.625 55.3867 21.0117 55 21.4844 55C21.957 55 22.3438 55.3867 22.3438 55.8594V62.7344C22.3438 63.207 21.957 63.5938 21.4844 63.5938Z\"\n        :class=\"secondaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M30.0781 63.5938C29.6055 63.5938 29.2188 63.207 29.2188 62.7344V55.8594C29.2188 55.3867 29.6055 55 30.0781 55C30.5508 55 30.9375 55.3867 30.9375 55.8594V62.7344C30.9375 63.207 30.5508 63.5938 30.0781 63.5938Z\"\n        :class=\"secondaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M38.6719 63.5938C38.1992 63.5938 37.8125 63.207 37.8125 62.7344V55.8594C37.8125 55.3867 38.1992 55 38.6719 55C39.1445 55 39.5312 55.3867 39.5312 55.8594V62.7344C39.5312 63.207 39.1445 63.5938 38.6719 63.5938Z\"\n        :class=\"secondaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M47.2656 63.5938C46.793 63.5938 46.4062 63.207 46.4062 62.7344V55.8594C46.4062 55.3867 46.793 55 47.2656 55C47.7383 55 48.125 55.3867 48.125 55.8594V62.7344C48.125 63.207 47.7383 63.5938 47.2656 63.5938Z\"\n        :class=\"secondaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M55.8594 63.5938C55.3867 63.5938 55 63.207 55 62.7344V55.8594C55 55.3867 55.3867 55 55.8594 55C56.332 55 56.7187 55.3867 56.7187 55.8594V62.7344C56.7187 63.207 56.332 63.5938 55.8594 63.5938Z\"\n        :class=\"secondaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M64.4531 63.5938C63.9805 63.5938 63.5938 63.207 63.5938 62.7344V55.8594C63.5938 55.3867 63.9805 55 64.4531 55C64.9258 55 65.3125 55.3867 65.3125 55.8594V62.7344C65.3125 63.207 64.9258 63.5938 64.4531 63.5938Z\"\n        :class=\"secondaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M73.0469 63.5938C72.5742 63.5938 72.1875 63.207 72.1875 62.7344V55.8594C72.1875 55.3867 72.5742 55 73.0469 55C73.5195 55 73.9062 55.3867 73.9062 55.8594V62.7344C73.9062 63.207 73.5195 63.5938 73.0469 63.5938Z\"\n        :class=\"secondaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M81.6406 63.5938C81.168 63.5938 80.7812 63.207 80.7812 62.7344V55.8594C80.7812 55.3867 81.168 55 81.6406 55C82.1133 55 82.5 55.3867 82.5 55.8594V62.7344C82.5 63.207 82.1133 63.5938 81.6406 63.5938Z\"\n        :class=\"secondaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M3.4375 103.125H5.15625V56.7188H3.4375V103.125Z\"\n        :class=\"secondaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M91.0938 103.125H92.8125V56.7188H91.0938V103.125Z\"\n        :class=\"secondaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M34.375 0C17.2098 0.9075 3.4375 15.2745 3.4375 32.6562V51.5625H34.375V0ZM32.6562 1.86484V49.8438H5.15625V32.6562C5.15625 16.7853 17.0947 3.59391 32.6562 1.86484Z\"\n        :class=\"secondaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M61.875 0V51.5625H92.8125V32.6562C92.8125 15.2745 79.0402 0.9075 61.875 0ZM63.5938 1.86484C79.1553 3.59391 91.0938 16.7853 91.0938 32.6562V49.8438H63.5938V1.86484Z\"\n        :class=\"secondaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M9.45312 34.375C8.97875 34.375 8.59375 33.99 8.59375 33.5157C8.59375 22.9316 13.6262 14.1247 22.7648 8.71238C23.1756 8.47347 23.7033 8.60925 23.9422 9.01488C24.1845 9.42222 24.0487 9.9516 23.6414 10.1939C14.9222 15.3553 10.3125 23.4197 10.3125 33.5157C10.3125 33.99 9.9275 34.375 9.45312 34.375Z\"\n        :class=\"primaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M54.1406 25.7812C53.6663 25.7812 53.2813 25.3962 53.2813 24.9219C53.2813 22.8748 51.0314 20.625 48.9844 20.625C48.51 20.625 48.125 20.24 48.125 19.7656C48.125 19.2913 48.51 18.9062 48.9844 18.9062C51.963 18.9062 55 21.9433 55 24.9219C55 25.3962 54.615 25.7812 54.1406 25.7812Z\"\n        :class=\"primaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M0 56.7188H96.25V49.8438H0V56.7188ZM1.71875 55H94.5312V51.5625H1.71875V55Z\"\n        :class=\"primaryFillColor\"\n      />\n    </g>\n    <defs>\n      <clipPath id=\"clip0\">\n        <rect width=\"96.25\" height=\"110\" fill=\"white\" />\n      </clipPath>\n    </defs>\n  </svg>\n</template>\n\n<script setup>\nconst props = defineProps({\n  primaryFillColor: {\n    type: String,\n    default: 'fill-primary-500',\n  },\n  secondaryFillColor: {\n    type: String,\n    default: 'fill-gray-600',\n  },\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/components/icons/empty/SatelliteIcon.vue",
    "content": "<template>\n  <svg\n    width=\"110\"\n    height=\"110\"\n    viewBox=\"0 0 110 110\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0)\">\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M5.76398 22.9512L4.54883 21.7361L21.7363 4.54858L22.9515 5.76374L5.76398 22.9512Z\"\n        :class=\"secondaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M88.264 105.451L87.0488 104.236L104.236 87.0486L105.451 88.2637L88.264 105.451Z\"\n        :class=\"secondaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M29.8265 81.3887L28.6113 80.1736L38.9238 69.8611L40.139 71.0762L29.8265 81.3887Z\"\n        :class=\"primaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M30.9375 81.6406C30.9375 83.0637 29.7825 84.2188 28.3594 84.2188C26.9362 84.2188 25.7812 83.0637 25.7812 81.6406C25.7812 80.2175 26.9362 79.0625 28.3594 79.0625C29.7825 79.0625 30.9375 80.2175 30.9375 81.6406Z\"\n        :class=\"primaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M77.3435 61.5801C76.4635 61.5801 75.5835 61.9152 74.9132 62.5873L62.5863 74.9124C61.244 76.2548 61.244 78.4324 62.5863 79.7748L92.8123 110.001L110 92.8132L79.7738 62.5873C79.1035 61.9152 78.2235 61.5801 77.3435 61.5801ZM77.3435 63.2988C77.8024 63.2988 78.2338 63.4776 78.5587 63.8024L107.569 92.8132L92.8123 107.569L63.8015 78.5596C63.4767 78.2348 63.2979 77.8034 63.2979 77.3445C63.2979 76.8838 63.4767 76.4524 63.8015 76.1276L76.1284 63.8024C76.4532 63.4776 76.8846 63.2988 77.3435 63.2988Z\"\n        :class=\"secondaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M17.1875 0L0 17.1875L30.2259 47.4134C30.8963 48.0838 31.7763 48.4206 32.6562 48.4206C33.5363 48.4206 34.4162 48.0838 35.0866 47.4134L47.4134 35.0866C48.7558 33.7442 48.7558 31.5683 47.4134 30.2259L17.1875 0ZM17.1875 2.43031L46.1983 31.4411C46.5231 31.7659 46.7019 32.1973 46.7019 32.6562C46.7019 33.1152 46.5231 33.5466 46.1983 33.8714L33.8714 46.1983C33.5466 46.5231 33.1152 46.7019 32.6562 46.7019C32.1973 46.7019 31.7659 46.5231 31.4411 46.1983L2.43031 17.1875L17.1875 2.43031Z\"\n        :class=\"secondaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M60.156 28.9238C59.276 28.9238 58.396 29.259 57.7257 29.931L29.9301 57.7249C28.5878 59.0673 28.5878 61.2449 29.9301 62.5873L47.4132 80.0687C48.0835 80.7407 48.9635 81.0759 49.8435 81.0759C50.7235 81.0759 51.6035 80.7407 52.2738 80.0687L80.0695 52.2748C81.4118 50.9324 81.4118 48.7548 80.0695 47.4124L62.5863 29.931C61.916 29.259 61.036 28.9238 60.156 28.9238ZM60.156 30.6426C60.6149 30.6426 61.0463 30.8213 61.3712 31.1462L78.8543 48.6276C79.1792 48.9524 79.3579 49.3838 79.3579 49.8445C79.3579 50.3034 79.1792 50.7348 78.8543 51.0596L51.0587 78.8535C50.7338 79.1784 50.3024 79.3571 49.8435 79.3571C49.3846 79.3571 48.9532 79.1784 48.6284 78.8535L31.1453 61.3721C30.8204 61.0473 30.6417 60.6159 30.6417 60.157C30.6417 59.6963 30.8204 59.2649 31.1453 58.9401L58.9409 31.1462C59.2657 30.8213 59.6971 30.6426 60.156 30.6426Z\"\n        :class=\"secondaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M71.0765 40.1387L69.8613 38.9236L72.4395 36.3455L73.6546 37.5606L71.0765 40.1387Z\"\n        :class=\"secondaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M72.9858 24.8608C69.6291 28.2176 69.6291 33.6574 72.9858 37.0141C74.6633 38.6916 76.8633 39.5321 79.0633 39.5321C81.2616 39.5321 83.4616 38.6916 85.1391 37.0141L72.9858 24.8608ZM73.1388 27.4441L82.5558 36.8612C81.5091 37.4816 80.3111 37.8133 79.0633 37.8133C77.226 37.8133 75.5003 37.0966 74.201 35.799C72.9033 34.4996 72.1883 32.774 72.1883 30.9383C72.1883 29.6888 72.5183 28.4908 73.1388 27.4441Z\"\n        :class=\"secondaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M86.1459 32.0051C85.9259 32.0051 85.7059 31.9209 85.5374 31.7542C85.2023 31.4173 85.2023 30.8742 85.5374 30.5373C86.3504 29.7261 86.7973 28.6467 86.7973 27.5003C86.7973 26.3522 86.3504 25.2728 85.5374 24.4615C83.9149 22.839 81.0859 22.839 79.4616 24.4615C79.1265 24.7984 78.5834 24.7984 78.2465 24.4615C77.9113 24.1264 77.9113 23.5833 78.2465 23.2464C80.5187 20.9742 84.4821 20.9742 86.7543 23.2464C87.8904 24.3825 88.516 25.8933 88.516 27.5003C88.516 29.1073 87.8904 30.6181 86.7543 31.7542C86.5859 31.9209 86.3659 32.0051 86.1459 32.0051Z\"\n        :class=\"primaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M89.792 35.6514C89.572 35.6514 89.352 35.5672 89.1836 35.4004C88.8484 35.0636 88.8484 34.5204 89.1836 34.1836C90.9711 32.3978 91.9525 30.0259 91.9525 27.4994C91.9525 24.9745 90.9711 22.6009 89.1836 20.8151C87.3978 19.0294 85.0259 18.0462 82.4994 18.0462C79.9745 18.0462 77.6009 19.0294 75.8152 20.8151C75.48 21.1503 74.9352 21.1503 74.6 20.8151C74.2648 20.48 74.2648 19.9351 74.6 19.6C78.9553 15.2447 86.0434 15.2447 90.4005 19.6C94.7558 23.9553 94.7558 31.0434 90.4005 35.4004C90.232 35.5672 90.012 35.6514 89.792 35.6514Z\"\n        :class=\"primaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M93.4379 39.297C93.2179 39.297 92.9979 39.2128 92.8295 39.0461C92.4944 38.7092 92.4944 38.1661 92.8295 37.8292C95.5898 35.0706 97.1092 31.4028 97.1092 27.4995C97.1092 23.5979 95.5898 19.9284 92.8295 17.1698C90.0709 14.4112 86.4031 12.8901 82.4998 12.8901C78.5983 12.8901 74.9287 14.4112 72.1701 17.1698C71.835 17.505 71.2901 17.505 70.955 17.1698C70.6198 16.8347 70.6198 16.2898 70.955 15.9547C74.0384 12.8712 78.1394 11.1714 82.4998 11.1714C86.862 11.1714 90.9612 12.8712 94.0464 15.9547C97.1298 19.0381 98.8279 23.139 98.8279 27.4995C98.8279 31.8617 97.1298 35.9609 94.0464 39.0461C93.8779 39.2128 93.6579 39.297 93.4379 39.297Z\"\n        :class=\"primaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M39.7832 40.9981L8.8457 10.0606L10.0609 8.84546L40.9984 39.783L39.7832 40.9981Z\"\n        :class=\"primaryFillColor\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M99.9395 101.154L69.002 70.2169L70.2171 69.0017L101.155 99.9392L99.9395 101.154Z\"\n        :class=\"primaryFillColor\"\n      />\n    </g>\n    <defs>\n      <clipPath id=\"clip0\">\n        <rect width=\"110\" height=\"110\" fill=\"white\" />\n      </clipPath>\n    </defs>\n  </svg>\n</template>\n\n<script setup>\nconst props = defineProps({\n  primaryFillColor: {\n    type: String,\n    default: 'fill-primary-500',\n  },\n  secondaryFillColor: {\n    type: String,\n    default: 'fill-gray-600',\n  },\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/components/icons/empty/UFOIcon.vue",
    "content": "<template>\n  <svg\n    width=\"110\"\n    height=\"110\"\n    viewBox=\"0 0 110 110\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <path\n      fill-rule=\"evenodd\"\n      clip-rule=\"evenodd\"\n      d=\"M55 13.75C24.6245 13.75 0 22.9848 0 34.375C0 45.7652 24.6245 55 55 55C85.3755 55 110 45.7652 110 34.375C110 22.9848 85.3755 13.75 55 13.75ZM55 15.4688C86.8708 15.4688 108.281 25.245 108.281 34.375C108.281 43.505 86.8708 53.2812 55 53.2812C23.1292 53.2812 1.71875 43.505 1.71875 34.375C1.71875 25.245 23.1292 15.4688 55 15.4688Z\"\n      :class=\"secondaryFillColor\"\n    />\n    <path\n      fill-rule=\"evenodd\"\n      clip-rule=\"evenodd\"\n      d=\"M54.9999 1.71875C66.0842 1.71875 75.7452 7.92172 80.697 17.038L82.732 17.2081C77.6737 7.01078 67.1549 0 54.9999 0C42.7985 0 32.2454 7.06406 27.2095 17.3267L29.2479 17.1411C34.1824 7.96812 43.8745 1.71875 54.9999 1.71875Z\"\n      :class=\"primaryFillColor\"\n    />\n    <path\n      fill-rule=\"evenodd\"\n      clip-rule=\"evenodd\"\n      d=\"M55 96.25C40.7619 96.25 25.7812 99.3283 25.7812 103.125C25.7812 106.922 40.7619 110 55 110C69.2381 110 84.2188 106.922 84.2188 103.125C84.2188 99.3283 69.2381 96.25 55 96.25ZM55 97.9688C70.4602 97.9688 81.5959 101.317 82.4811 103.125C81.5959 104.933 70.4602 108.281 55 108.281C39.5398 108.281 28.4041 104.933 27.5189 103.125C28.4041 101.317 39.5398 97.9688 55 97.9688Z\"\n      :class=\"primaryFillColor\"\n    />\n    <path\n      fill-rule=\"evenodd\"\n      clip-rule=\"evenodd\"\n      d=\"M27.4756 103.328L25.8049 102.922L41.2737 39.3286L42.9443 39.7342L27.4756 103.328Z\"\n      :class=\"primaryFillColor\"\n    />\n    <path\n      fill-rule=\"evenodd\"\n      clip-rule=\"evenodd\"\n      d=\"M82.5247 103.328L67.0559 39.7342L68.7265 39.3286L84.1953 102.922L82.5247 103.328Z\"\n      :class=\"primaryFillColor\"\n    />\n    <path\n      fill-rule=\"evenodd\"\n      clip-rule=\"evenodd\"\n      d=\"M68.75 39.5312C68.75 42.3792 62.5934 44.6875 55 44.6875C47.4066 44.6875 41.25 42.3792 41.25 39.5312C41.25 36.6833 47.4066 34.375 55 34.375C62.5934 34.375 68.75 36.6833 68.75 39.5312Z\"\n      :class=\"secondaryFillColor\"\n    />\n  </svg>\n</template>\n\n<script setup>\nconst props = defineProps({\n  primaryFillColor: {\n    type: String,\n    default: 'fill-primary-500',\n  },\n  secondaryFillColor: {\n    type: String,\n    default: 'fill-gray-600',\n  },\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/components/list/BaseList.vue",
    "content": "<template>\n  <div class=\"list-none\">\n    <slot />\n  </div>\n</template>\n<script>\nexport default {\n  name: 'List',\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/components/list/BaseListItem.vue",
    "content": "<template>\n  <router-link v-bind=\"$attrs\" :class=\"containerClass\">\n    <span v-if=\"hasIconSlot\" class=\"mr-3\">\n      <slot name=\"icon\" />\n    </span>\n    <span>{{ title }}</span>\n  </router-link>\n</template>\n\n<script>\nimport { ref, computed } from 'vue'\n\nexport default {\n  name: 'ListItem',\n  props: {\n    title: {\n      type: String,\n      required: false,\n      default: '',\n    },\n    active: {\n      type: Boolean,\n      required: true,\n    },\n    index: {\n      type: Number,\n      default: null,\n    },\n  },\n  setup(props, { slots }) {\n    const defaultClass = `cursor-pointer pb-2 pr-0 text-sm font-medium leading-5  flex items-center`\n    let hasIconSlot = computed(() => {\n      return !!slots.icon\n    })\n    let containerClass = computed(() => {\n      if (props.active) return `${defaultClass} text-primary-500`\n      else return `${defaultClass} text-gray-500`\n    })\n    return {\n      hasIconSlot,\n      containerClass,\n    }\n  },\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/components/notifications/NotificationItem.vue",
    "content": "<template>\n  <div\n    :class=\"success || info ? 'bg-white' : 'bg-red-50'\"\n    class=\"\n      max-w-sm\n      mb-3\n      rounded-lg\n      shadow-lg\n      cursor-pointer\n      pointer-events-auto\n      w-full\n      md:w-96\n    \"\n    @click.stop=\"hideNotificationAction\"\n    @mouseenter=\"clearNotificationTimeOut\"\n    @mouseleave=\"setNotificationTimeOut\"\n  >\n    <div class=\"overflow-hidden rounded-lg shadow-xs\">\n      <div class=\"p-4\">\n        <div class=\"flex items-start\">\n          <div class=\"shrink-0\">\n            <svg\n              v-if=\"success\"\n              class=\"w-6 h-6 text-green-400\"\n              fill=\"none\"\n              viewBox=\"0 0 24 24\"\n              stroke=\"currentColor\"\n            >\n              <path\n                stroke-linecap=\"round\"\n                stroke-linejoin=\"round\"\n                stroke-width=\"2\"\n                d=\"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z\"\n              />\n            </svg>\n            <svg\n              v-if=\"info\"\n              class=\"w-6 h-6 text-blue-400\"\n              fill=\"currentColor\"\n              viewBox=\"0 0 20 20\"\n              xmlns=\"http://www.w3.org/2000/svg\"\n            >\n              <path\n                fill-rule=\"evenodd\"\n                d=\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7 4a1 1 0 11-2 0 1 1 0 012 0zm-1-9a1 1 0 00-1 1v4a1 1 0 102 0V6a1 1 0 00-1-1z\"\n                clip-rule=\"evenodd\"\n              ></path>\n            </svg>\n            <svg\n              v-if=\"error\"\n              class=\"w-6 h-6 text-red-400\"\n              fill=\"currentColor\"\n              viewBox=\"0 0 24 24\"\n            >\n              <path\n                fill-rule=\"evenodd\"\n                d=\"M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z\"\n                clip-rule=\"evenodd\"\n              />\n            </svg>\n          </div>\n          <div class=\"flex-1 w-0 ml-3 text-left\">\n            <p\n              :class=\"`text-sm leading-5 font-medium ${\n                success || info ? 'text-gray-900' : 'text-red-800'\n              }`\"\n            >\n              {{\n                notification.title\n                  ? notification.title\n                  : success\n                  ? 'Success!'\n                  : 'Error'\n              }}\n            </p>\n            <p\n              :class=\"`mt-1 text-sm leading-5 ${\n                success || info ? 'text-gray-500' : 'text-red-700'\n              }`\"\n            >\n              {{\n                notification.message\n                  ? notification.message\n                  : success\n                  ? 'Successful'\n                  : 'Something went wrong'\n              }}\n            </p>\n          </div>\n          <div class=\"flex shrink-0\">\n            <button\n              :class=\"\n                success || info\n                  ? ' text-gray-400 focus:text-gray-500'\n                  : 'text-red-400 focus:text-red-500'\n              \"\n              class=\"\n                inline-flex\n                w-5\n                h-5\n                transition\n                duration-150\n                ease-in-out\n                focus:outline-none\n              \"\n              @click=\"hideNotificationAction\"\n            >\n              <svg\n                class=\"w-6 h-6\"\n                fill=\"currentColor\"\n                viewBox=\"0 0 20 20\"\n                xmlns=\"http://www.w3.org/2000/svg\"\n              >\n                <path\n                  fill-rule=\"evenodd\"\n                  d=\"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z\"\n                  clip-rule=\"evenodd\"\n                ></path>\n              </svg>\n            </button>\n          </div>\n        </div>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script setup>\nimport { onMounted, computed, ref } from 'vue'\nimport { useNotificationStore } from '@/scripts/stores/notification'\n\nconst props = defineProps({\n  notification: {\n    type: Object,\n    default: null,\n  },\n})\n\nconst notificationStore = useNotificationStore()\n\nlet notiTimeOut = ref('')\n\nconst success = computed(() => {\n  return props.notification.type == 'success'\n})\n\nconst error = computed(() => {\n  return props.notification.type == 'error'\n})\n\nconst info = computed(() => {\n  return props.notification.type == 'info'\n})\n\nfunction hideNotificationAction() {\n  notificationStore.hideNotification(props.notification)\n}\n\nfunction clearNotificationTimeOut() {\n  clearTimeout(notiTimeOut)\n}\n\nfunction setNotificationTimeOut() {\n  notiTimeOut = setTimeout(() => {\n    notificationStore.hideNotification(props.notification)\n  }, props.notification.time || 5000)\n}\n\nonMounted(() => {\n  setNotificationTimeOut()\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/components/notifications/NotificationRoot.vue",
    "content": "<template>\n  <div\n    class=\"\n      fixed\n      inset-0\n      z-50\n      flex flex-col\n      items-end\n      justify-start\n      w-full\n      px-4\n      py-6\n      pointer-events-none\n      sm:p-6\n    \"\n  >\n    <transition-group\n      enter-active-class=\"transition duration-300 ease-out\"\n      enter-from-class=\"translate-y-2 opacity-0 sm:translate-y-0 sm:translate-x-2\"\n      enter-to-class=\"translate-y-0 opacity-100 sm:translate-x-0\"\n      leave-active-class=\"transition duration-100 ease-in\"\n      leave-from-class=\"opacity-100\"\n      leave-to-class=\"opacity-0\"\n    >\n      <NotificationItem\n        v-for=\"notification in notifications\"\n        :key=\"notification.id\"\n        :notification=\"notification\"\n      />\n    </transition-group>\n  </div>\n</template>\n\n<script>\nimport NotificationItem from './NotificationItem.vue'\nimport { computed } from 'vue'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nexport default {\n  components: {\n    NotificationItem,\n  },\n  setup() {\n    const notificationStore = useNotificationStore()\n\n    const notifications = computed(() => {\n      return notificationStore.notifications\n    })\n\n    return {\n      notifications,\n    }\n  },\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/components/svg/LoginBackground.vue",
    "content": "<template>\n  <svg\n    viewBox=\"0 0 1012 1023\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n    preserveAspectRatio=\"none\"\n    class=\"text-primary-500\"\n  >\n    <path\n      d=\"M116.21 472.5C55.1239 693.5 78.5219 837.5 114.349 1023H1030.5V-1L0 -106C147.5 21.5 172.311 269.536 116.21 472.5Z\"\n      fill=\"url(#paint0_linear)\"\n    />\n    <defs>\n      <linearGradient\n        id=\"paint0_linear\"\n        x1=\"515.25\"\n        y1=\"-106\"\n        x2=\"515.25\"\n        y2=\"1023\"\n        gradientUnits=\"userSpaceOnUse\"\n      >\n        <stop\n          stop-color=\"rgba(var(--color-primary-500), var(--tw-text-opacity))\"\n        />\n        <stop\n          offset=\"1\"\n          stop-color=\"rgba(var(--color-primary-400), var(--tw-text-opacity))\"\n        />\n      </linearGradient>\n    </defs>\n  </svg>\n</template>\n\n<script setup>\n</script>\n"
  },
  {
    "path": "resources/scripts/components/svg/LoginBackgroundOverlay.vue",
    "content": "<template>\n  <svg\n    width=\"1122\"\n    height=\"1017\"\n    viewBox=\"0 0 1122 1017\"\n    preserveAspectRatio=\"none\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <path\n      d=\"M226.002 466.5C164.935 687.5 188.326 831.5 224.141 1017H1140V-7L0 -109.5C142.5 -7.5 282.085 263.536 226.002 466.5Z\"\n      fill=\"url(#paint0_linear)\"\n      fill-opacity=\"0.1\"\n    />\n    <defs>\n      <linearGradient\n        id=\"paint0_linear\"\n        x1=\"649.5\"\n        y1=\"-7\"\n        x2=\"649.5\"\n        y2=\"1017\"\n        gradientUnits=\"userSpaceOnUse\"\n      >\n        <stop\n          stop-color=\"rgba(var(--color-primary-500), var(--tw-text-opacity))\"\n        />\n        <stop\n          offset=\"1\"\n          stop-color=\"rgba(var(--color-primary-400), var(--tw-text-opacity))\"\n        />\n      </linearGradient>\n    </defs>\n  </svg>\n</template>\n"
  },
  {
    "path": "resources/scripts/components/svg/LoginBottomVector.vue",
    "content": "<template>\n  <svg viewBox=\"0 0 1170 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n    <path\n      d=\"M690 4.08004C518 -9.91998 231 4.08004 -6 176.361L231 197.08L1170 219.08C1113.33 175.747 909.275 21.928 690 4.08004Z\"\n      fill=\"white\"\n      fill-opacity=\"0.1\"\n    />\n  </svg>\n</template>\n"
  },
  {
    "path": "resources/scripts/components/svg/LoginPlanetCrater.vue",
    "content": "<template>\n  <svg\n    width=\"422\"\n    height=\"290\"\n    viewBox=\"0 0 422 290\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <g clip-path=\"url(#clip0)\">\n      <path\n        opacity=\"0.3\"\n        d=\"M220.111 290.223C341.676 290.223 440.223 191.676 440.223 70.1115C440.223 -51.4527 341.676 -150 220.111 -150C98.5473 -150 0 -51.4527 0 70.1115C0 191.676 98.5473 290.223 220.111 290.223Z\"\n        fill=\"white\"\n        fill-opacity=\"0.1\"\n      />\n      <path\n        opacity=\"0.3\"\n        d=\"M220.111 246.513C317.535 246.513 396.513 167.535 396.513 70.1114C396.513 -27.3124 317.535 -106.29 220.111 -106.29C122.688 -106.29 43.71 -27.3124 43.71 70.1114C43.71 167.535 122.688 246.513 220.111 246.513Z\"\n        fill=\"white\"\n        fill-opacity=\"0.1\"\n      />\n      <path\n        d=\"M97.0093 35.322C96.7863 35.991 96.5633 36.66 96.5633 37.3291C94.1101 46.4725 92.7721 55.6159 92.3261 64.5364C91.88 74.5718 92.7721 84.6073 94.5562 94.1968C103.477 140.137 137.374 179.387 185.545 192.991C224.794 204.141 265.159 195.444 295.712 173.143C309.538 163.107 321.358 150.172 330.278 135.231C335.854 125.864 340.314 115.606 343.436 104.678C346.335 94.6428 347.896 84.6073 348.119 74.7949C348.788 56.954 345.666 39.3362 339.422 23.2794C325.372 -12.6253 295.043 -41.8397 255.124 -52.9902C211.637 -65.2558 167.481 -53.6593 136.036 -26.452C117.749 -10.6182 103.923 10.3448 97.0093 35.322Z\"\n        fill=\"white\"\n        fill-opacity=\"0.1\"\n      />\n      <path\n        d=\"M97.0095 35.3223C96.7865 35.9913 96.5635 36.6603 96.5635 37.3294L347.896 74.7952C348.565 56.9543 345.443 39.3365 339.199 23.2797L136.036 -26.4517C117.749 -10.6179 103.923 10.3451 97.0095 35.3223Z\"\n        fill=\"white\"\n        fill-opacity=\"0.05\"\n      />\n      <path\n        d=\"M92.3261 64.7598C91.88 74.7952 92.7721 84.8307 94.5562 94.4202L295.489 173.366C309.315 163.33 321.135 150.396 330.055 135.454L92.3261 64.7598Z\"\n        fill=\"white\"\n        fill-opacity=\"0.05\"\n      />\n      <path\n        d=\"M153.431 11.9056C151.424 19.265 152.316 26.8473 155.661 33.0916C159.229 39.7819 165.473 45.1342 173.279 47.3643C188.443 51.6015 204.5 42.6811 208.737 27.5163C209.853 23.9482 210.076 20.157 209.629 16.5888C208.514 5.21529 200.486 -4.82018 188.889 -7.94233C173.502 -12.1795 157.668 -3.25911 153.431 11.9056Z\"\n        class=\"fill-primary-700\"\n        fill-opacity=\"0.8\"\n      />\n      <path\n        d=\"M156.553 22.3869C155.438 25.9551 155.215 29.7462 155.661 33.3144C159.229 40.0047 165.473 45.357 173.279 47.5871C188.443 51.8243 204.5 42.9039 208.737 27.7391C209.852 24.171 210.075 20.3798 209.629 16.8116C206.061 10.1213 199.817 4.76908 192.011 2.53897C176.624 -1.92124 160.79 6.99919 156.553 22.3869Z\"\n        class=\"fill-primary-500\"\n        fill-opacity=\"0.5\"\n      />\n      <path\n        d=\"M270.735 95.5343C267.613 100.887 266.944 106.685 268.282 112.26C269.62 118.058 273.411 123.411 278.986 126.533C289.914 132.777 303.74 128.986 309.985 118.281C311.546 115.605 312.438 112.929 312.884 110.03C314.222 101.11 309.985 91.9661 301.733 87.0599C290.806 81.0386 276.979 84.8298 270.735 95.5343Z\"\n        class=\"fill-primary-700\"\n        fill-opacity=\"0.8\"\n      />\n      <path\n        d=\"M270.958 104.232C269.397 106.908 268.505 109.584 268.059 112.483C269.397 118.281 273.188 123.634 278.764 126.756C289.691 133 303.518 129.209 309.762 118.504C311.323 115.828 312.215 113.152 312.661 110.253C311.323 104.455 307.532 99.1025 301.957 95.9804C291.252 89.5131 277.426 93.3043 270.958 104.232Z\"\n        class=\"fill-primary-500\"\n        fill-opacity=\"0.5\"\n      />\n      <path\n        d=\"M250.663 130.771C247.54 133.001 245.533 136.123 244.864 139.468C243.972 143.036 244.641 147.051 247.094 150.396C251.555 156.863 260.252 158.647 266.942 154.187C268.503 153.072 269.842 151.734 270.734 150.396C273.856 145.712 274.079 139.468 270.734 134.562C265.827 127.872 257.13 126.311 250.663 130.771Z\"\n        class=\"fill-primary-700\"\n        fill-opacity=\"0.8\"\n      />\n      <path\n        d=\"M248.433 135.677C246.872 136.792 245.534 138.13 244.642 139.468C243.75 143.036 244.419 147.051 246.872 150.396C251.332 156.863 260.03 158.647 266.72 154.187C268.281 153.072 269.619 151.734 270.511 150.396C271.403 146.828 270.734 142.813 268.281 139.468C263.821 132.778 254.901 131.217 248.433 135.677Z\"\n        class=\"fill-primary-500\"\n        fill-opacity=\"0.5\"\n      />\n      <path\n        d=\"M215.651 14.8049C214.759 18.15 215.205 21.4952 216.543 24.1713C218.104 27.0704 220.78 29.5236 224.348 30.4156C231.038 32.4227 238.175 28.4085 240.182 21.4952C240.628 19.9341 240.851 18.15 240.628 16.5889C240.182 11.4597 236.614 6.99951 231.484 5.66145C224.571 4.10037 217.435 8.11456 215.651 14.8049Z\"\n        class=\"fill-primary-700\"\n        fill-opacity=\"0.8\"\n      />\n      <path\n        d=\"M216.989 19.4876C216.543 21.0487 216.32 22.8328 216.543 24.3939C218.104 27.293 220.78 29.7461 224.348 30.6382C231.039 32.6453 238.175 28.6311 240.182 21.7177C240.628 20.1567 240.851 18.3726 240.628 16.8115C239.067 13.9124 236.391 11.4593 232.823 10.5672C225.91 8.78313 218.773 12.5743 216.989 19.4876Z\"\n        class=\"fill-primary-500\"\n      />\n      <path\n        d=\"M122.209 124.526C121.763 125.864 121.986 127.202 122.655 128.54C123.324 129.878 124.439 130.77 126.001 131.216C128.9 132.108 131.799 130.324 132.468 127.648C132.691 126.979 132.691 126.31 132.691 125.641C132.468 123.634 130.907 121.627 128.9 121.181C126.001 120.066 123.101 121.85 122.209 124.526Z\"\n        class=\"fill-primary-700\"\n        fill-opacity=\"0.8\"\n      />\n      <path\n        d=\"M122.878 126.533C122.655 127.202 122.655 127.871 122.655 128.54C123.324 129.878 124.439 130.77 126 131.216C128.899 132.108 131.798 130.324 132.468 127.648C132.691 126.979 132.691 126.31 132.691 125.641C132.021 124.303 130.906 123.411 129.345 122.965C126.446 122.073 123.547 123.634 122.878 126.533Z\"\n        class=\"fill-primary-500\"\n        fill-opacity=\"0.5\"\n      />\n      <path\n        d=\"M169.487 123.188C168.149 123.411 166.811 124.08 166.142 125.195C165.25 126.31 164.804 127.648 165.027 129.209C165.473 132.108 168.149 134.116 171.048 133.67C171.717 133.67 172.386 133.224 172.832 133C174.617 131.885 175.732 129.878 175.286 127.648C175.063 124.749 172.386 122.742 169.487 123.188Z\"\n        class=\"fill-primary-700\"\n        fill-opacity=\"0.8\"\n      />\n      <path\n        d=\"M167.926 124.526C167.257 124.526 166.588 124.972 166.142 125.195C165.25 126.31 164.804 127.648 165.027 129.209C165.473 132.108 168.149 134.115 171.048 133.669C171.717 133.669 172.386 133.223 172.832 133C173.724 131.885 174.17 130.547 173.947 128.986C173.501 126.087 170.825 124.08 167.926 124.526Z\"\n        class=\"fill-primary-500\"\n        fill-opacity=\"0.5\"\n      />\n    </g>\n    <defs>\n      <clipPath id=\"clip0\">\n        <rect\n          width=\"440\"\n          height=\"440\"\n          fill=\"white\"\n          transform=\"translate(0 -150)\"\n        />\n      </clipPath>\n    </defs>\n  </svg>\n</template>\n\n"
  },
  {
    "path": "resources/scripts/customer/customer-router.js",
    "content": "const LayoutBasic = () => import('@/scripts/customer/layouts/LayoutBasic.vue')\nconst LayoutLogin = () => import('@/scripts/customer/layouts/LayoutLogin.vue')\nconst Login = () => import('@/scripts/customer/views/auth/Login.vue')\nconst ForgotPassword = () => import('@/scripts/customer/views/auth/ForgotPassword.vue')\nconst ResetPassword = () => import('@/scripts/customer/views/auth/ResetPassword.vue')\nconst Dashboard = () => import('@/scripts/customer/views/dashboard/Dashboard.vue')\nconst Invoice = () => import('@/scripts/customer/views/invoices/Index.vue')\nconst InvoiceView = () => import('@/scripts/customer/views/invoices/View.vue')\nconst Estimate = () => import('@/scripts/customer/views/estimates/Index.vue')\nconst EstimateView = () => import('@/scripts/customer/views/estimates/View.vue')\nconst Payment = () => import('@/scripts/customer/views/payments/Index.vue')\nconst PaymentView = () => import('@/scripts/customer/views/payments/View.vue')\nconst SettingIndex = () => import('@/scripts/customer/views/settings/SettingsIndex.vue')\nconst CustomerProfile = () => import('@/scripts/customer/views/settings/CustomerSettings.vue')\nconst AddressInfo = () => import('@/scripts/customer/views/settings/AddressInformation.vue')\n\nexport default [\n  {\n    path: '/:company/customer',\n    component: LayoutLogin,\n    meta: { redirectIfAuthenticated: true },\n    children: [\n      {\n        path: '',\n        component: Login,\n      },\n      {\n        path: 'login',\n        component: Login,\n        name: 'customer.login',\n      },\n      {\n        path: 'forgot-password',\n        component: ForgotPassword,\n        name: 'customer.forgot-password',\n      },\n      {\n        path: 'reset/password/:token',\n        component: ResetPassword,\n        name: 'customer.reset-password',\n      },\n    ],\n  },\n  {\n    path: '/:company/customer',\n    component: LayoutBasic,\n    meta: { requiresAuth: true },\n    children: [\n      {\n        path: 'dashboard',\n        component: Dashboard,\n        name: 'customer.dashboard',\n      },\n      {\n        path: 'invoices',\n        component: Invoice,\n        name: 'invoices.dashboard',\n      },\n      {\n        path: 'invoices/:id/view',\n        component: InvoiceView,\n        name: 'customer.invoices.view',\n      },\n      {\n        path: 'estimates',\n        component: Estimate,\n        name: 'estimates.dashboard',\n      },\n      {\n        path: 'estimates/:id/view',\n        component: EstimateView,\n        name: 'customer.estimates.view',\n      },\n      {\n        path: 'payments',\n        component: Payment,\n        name: 'payments.dashboard',\n      },\n      {\n        path: 'payments/:id/view',\n        component: PaymentView,\n        name: 'customer.payments.view',\n      },\n      {\n        path: 'settings',\n        component: SettingIndex,\n        name: 'customer',\n        children: [\n          {\n            path: 'customer-profile',\n            component: CustomerProfile,\n            name: 'customer.profile',\n          },\n          {\n            path: 'address-info',\n            component: AddressInfo,\n            name: 'customer.address.info',\n          },\n        ],\n      },\n    ],\n  },\n]\n"
  },
  {
    "path": "resources/scripts/customer/helpers/error-handling.js",
    "content": "import { useAuthStore } from '@/scripts/customer/stores/auth'\nimport { useNotificationStore } from '@/scripts/stores/notification'\n\nexport const handleError = (err) => {\n  const authStore = useAuthStore()\n  const notificationStore = useNotificationStore()\n\n  if (!err.response) {\n    notificationStore.showNotification({\n      type: 'error',\n      message:\n        'Please check your internet connection or wait until servers are back online.',\n    })\n  } else {\n    if (\n      err.response.data &&\n      (err.response.statusText === 'Unauthorized' ||\n        err.response.data === ' Unauthorized.')\n    ) {\n      // Unauthorized and log out\n      const msg = err.response.data.message\n        ? err.response.data.message\n        : 'Unauthorized'\n\n      showToaster(msg)\n\n      authStore.logout()\n    } else if (err.response.data.errors) {\n      // Show a notification per error\n      const errors = JSON.parse(JSON.stringify(err.response.data.errors))\n      for (const i in errors) {\n        showError(errors[i][0])\n      }\n    } else if (err.response.data.error) {\n      showError(err.response.data.error)\n    } else {\n      showError(err.response.data.message)\n    }\n  }\n}\n\nexport const showError = (error) => {\n  switch (error) {\n    case 'These credentials do not match our records.':\n      showToaster('errors.login_invalid_credentials')\n      break\n\n    case 'The email has already been taken.':\n      showToaster('validation.email_already_taken')\n      break\n\n    case 'invalid_credentials':\n      showToaster('errors.invalid_credentials')\n      break\n\n    case 'Email could not be sent to this email address.':\n      showToaster('errors.email_could_not_be_sent')\n      break\n\n    case 'not_allowed':\n      showToaster('errors.not_allowed')\n      break\n\n    default:\n      showToaster(error, false)\n      break\n  }\n}\n\nexport const showToaster = (msg, t = true) => {\n  const { global } = window.i18n\n  const notificationStore = useNotificationStore()\n\n  notificationStore.showNotification({\n    type: 'error',\n    message: t ? global.t(msg) : msg,\n  })\n}\n"
  },
  {
    "path": "resources/scripts/customer/layouts/LayoutBasic.vue",
    "content": "<template>\n  <div v-if=\"isAppLoaded\" class=\"h-full\">\n    <NotificationRoot />\n\n    <SiteHeader />\n\n    <!-- <SiteSidebar /> -->\n\n    <main class=\"mt-16 pb-16 h-screen overflow-y-auto min-h-0\">\n      <router-view />\n    </main>\n  </div>\n\n  <!-- <BaseGlobalLoader v-else /> -->\n</template>\n\n<script setup>\nimport { ref, onMounted, computed } from 'vue'\nimport SiteHeader from '@/scripts/customer/layouts/partials/TheSiteHeader.vue'\nimport NotificationRoot from '@/scripts/components/notifications/NotificationRoot.vue'\nimport { useGlobalStore } from '@/scripts/customer/stores/global'\nimport { useRoute } from 'vue-router'\n\nconst globalStore = useGlobalStore()\nconst route = useRoute()\n\nconst isAppLoaded = computed(() => {\n  return globalStore.isAppLoaded\n})\n\nloadData()\n\nasync function loadData() {\n  await globalStore.bootstrap(route.params.company)\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/customer/layouts/LayoutLogin.vue",
    "content": "<template>\n  <div\n    class=\"\n      min-h-screen\n      bg-gray-200\n      flex flex-col\n      justify-center\n      py-12\n      sm:px-6\n      lg:px-8\n    \"\n  >\n    <NotificationRoot />\n\n    <div class=\"sm:mx-auto sm:w-full sm:max-w-md px-4 sm:px-0\">\n      <MainLogo\n        v-if=\"!customerLogo\"\n        class=\"block w-48 h-auto max-w-full text-primary-400 mx-auto\"\n      />\n      <img\n        v-else\n        :src=\"customerLogo\"\n        class=\"block w-48 h-auto max-w-full text-primary-400 mx-auto\"\n      />\n    </div>\n\n    <div class=\"mt-8 sm:mx-auto sm:w-full sm:max-w-md px-4 sm:px-0\">\n      <div class=\"bg-white py-8 px-4 shadow rounded-lg sm:px-10\">\n        <router-view />\n      </div>\n    </div>\n  </div>\n</template>\n\n<script setup>\nimport { computed } from 'vue'\nimport NotificationRoot from '@/scripts/components/notifications/NotificationRoot.vue'\nimport MainLogo from '@/scripts/components/icons/MainLogo.vue'\n\nconst customerLogo = computed(() => {\n  if (window.customer_logo) {\n    return window.customer_logo\n  }\n\n  return false\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/customer/layouts/partials/TheSiteFooter.vue",
    "content": "<template>\n  <footer\n    class=\"\n      fixed\n      bottom-0\n      flex\n      items-center\n      justify-end\n      w-full\n      h-10\n      py-2\n      pr-8\n      text-sm\n      font-normal\n      text-gray-700\n      bg-white\n    \"\n  >\n    Powered by\n    <a\n      href=\"http://bytefury.com/\"\n      target=\"_blank\"\n      class=\"pl-1 font-normal text-gray-900\"\n      >Bytefury\n    </a>\n  </footer>\n</template>\n"
  },
  {
    "path": "resources/scripts/customer/layouts/partials/TheSiteHeader.vue",
    "content": "<template>\n  <Disclosure\n    v-slot=\"{ open }\"\n    as=\"nav\"\n    class=\"bg-white shadow-sm fixed top-0 left-0 z-20 w-full\"\n  >\n    <div class=\"mx-auto px-8\">\n      <div class=\"flex justify-between h-16 w-full\">\n        <div class=\"flex\">\n          <div class=\"shrink-0 flex items-center\">\n            <a\n              :href=\"`/${globalStore.companySlug}/customer/dashboard`\"\n              class=\"\n                float-none\n                text-lg\n                not-italic\n                font-black\n                tracking-wider\n                text-white\n                brand-main\n                md:float-left\n                font-base\n              \"\n            >\n              <MainLogo v-if=\"!customerLogo\" class=\"h-6\" />\n              <img v-else :src=\"customerLogo\" class=\"h-6\" />\n            </a>\n          </div>\n          <div class=\"hidden sm:-my-px sm:ml-6 sm:flex sm:space-x-8\">\n            <router-link\n              v-for=\"item in globalStore.mainMenu\"\n              :key=\"item.title\"\n              :to=\"`/${globalStore.companySlug}${item.link}`\"\n              :class=\"[\n                hasActiveUrl(item.link)\n                  ? 'border-primary-500 text-primary-600'\n                  : 'border-transparent text-gray-500 hover:text-gray-700 hover:border-gray-300',\n                'inline-flex items-center px-1 pt-1 border-b-2 text-sm font-medium',\n              ]\"\n            >\n              {{ item.title }}\n            </router-link>\n          </div>\n        </div>\n        <div class=\"hidden sm:ml-6 sm:flex sm:items-center\">\n          <button\n            type=\"button\"\n            class=\"\n              bg-white\n              p-1\n              rounded-full\n              text-gray-400\n              hover:text-gray-500\n              focus:outline-none\n              focus:ring-2\n              focus:ring-offset-2\n              focus:ring-primary-500\n            \"\n          ></button>\n\n          <!-- Profile dropdown -->\n\n          <Menu as=\"div\" class=\"ml-3 relative\">\n            <BaseDropdown width-class=\"w-48\">\n              <template #activator>\n                <MenuButton\n                  class=\"\n                    bg-white\n                    flex\n                    text-sm\n                    rounded-full\n                    focus:outline-none\n                    focus:ring-2\n                    focus:ring-offset-2\n                    focus:ring-primary-500\n                  \"\n                >\n                  <img\n                    class=\"h-8 w-8 rounded-full\"\n                    :src=\"previewAvatar\"\n                    alt=\"\"\n                  />\n                </MenuButton>\n              </template>\n              <router-link :to=\"{ name: 'customer.profile' }\">\n                <BaseDropdownItem>\n                  <CogIcon\n                    class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n                    aria-hidden=\"true\"\n                  />\n                  {{ $t('navigation.settings') }}\n                </BaseDropdownItem>\n              </router-link>\n\n              <BaseDropdownItem @click=\"logout\">\n                <LogoutIcon\n                  class=\"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500\"\n                  aria-hidden=\"true\"\n                />\n                {{ $t('navigation.logout') }}\n              </BaseDropdownItem>\n            </BaseDropdown>\n          </Menu>\n        </div>\n        <div class=\"-mr-2 flex items-center sm:hidden\">\n          <!-- Mobile menu button -->\n          <DisclosureButton\n            class=\"\n              bg-white\n              inline-flex\n              items-center\n              justify-center\n              p-2\n              rounded-md\n              text-gray-400\n              hover:text-gray-500 hover:bg-gray-100\n              focus:outline-none\n              focus:ring-2\n              focus:ring-offset-2\n              focus:ring-primary-500\n            \"\n          >\n            <span class=\"sr-only\">Open main menu</span>\n            <MenuIcon v-if=\"!open\" class=\"block h-6 w-6\" aria-hidden=\"true\" />\n            <XIcon v-else class=\"block h-6 w-6\" aria-hidden=\"true\" />\n          </DisclosureButton>\n        </div>\n      </div>\n    </div>\n\n    <DisclosurePanel class=\"sm:hidden\">\n      <div class=\"pt-2 pb-3 space-y-1\">\n        <router-link\n          v-for=\"item in globalStore.mainMenu\"\n          :key=\"item.title\"\n          :to=\"`/${globalStore.companySlug}${item.link}`\"\n          :class=\"[\n            hasActiveUrl(item.link)\n              ? 'bg-primary-50 border-primary-500 text-primary-700'\n              : 'border-transparent text-gray-600 hover:bg-gray-50 hover:border-gray-300 hover:text-gray-800',\n            'block pl-3 pr-4 py-2 border-l-4 text-base font-medium',\n          ]\"\n          :aria-current=\"item.current ? 'page' : undefined\"\n          >{{ item.title }}\n        </router-link>\n      </div>\n      <div class=\"pt-4 pb-3 border-t border-gray-200\">\n        <div class=\"flex items-center px-4\">\n          <div class=\"shrink-0\">\n            <img class=\"h-10 w-10 rounded-full\" :src=\"previewAvatar\" alt=\"\" />\n          </div>\n          <div class=\"ml-3\">\n            <div class=\"text-base font-medium text-gray-800\">\n              {{ globalStore.currentUser.title }}\n            </div>\n            <div class=\"text-sm font-medium text-gray-500\">\n              {{ globalStore.currentUser.email }}\n            </div>\n          </div>\n          <button\n            type=\"button\"\n            class=\"\n              ml-auto\n              bg-white\n              shrink-0\n              p-1\n              rounded-full\n              text-gray-400\n              hover:text-gray-500\n              focus:outline-none\n              focus:ring-2\n              focus:ring-offset-2\n              focus:ring-primary-500\n            \"\n          ></button>\n        </div>\n        <div class=\"mt-3 space-y-1\">\n          <router-link\n            v-for=\"item in userNavigation\"\n            :key=\"item.title\"\n            :to=\"item.link\"\n            :class=\"[\n              hasActiveUrl(item.link)\n                ? 'bg-primary-50 border-primary-500 text-primary-700'\n                : 'border-transparent text-gray-600 hover:bg-gray-50 hover:border-gray-300 hover:text-gray-800',\n              'block pl-3 pr-4 py-2 border-l-4 text-base font-medium',\n            ]\"\n            >{{ item.title }}</router-link\n          >\n        </div>\n      </div>\n    </DisclosurePanel>\n  </Disclosure>\n</template>\n\n<script setup>\nimport { useAuthStore } from '@/scripts/customer/stores/auth'\nimport { useRoute, useRouter } from 'vue-router'\nimport { ref, watch, computed } from 'vue'\nimport { useGlobalStore } from '@/scripts/customer/stores/global'\nimport MainLogo from '@/scripts/components/icons/MainLogo.vue'\nimport {\n  Disclosure,\n  DisclosureButton,\n  DisclosurePanel,\n  Menu,\n  MenuButton,\n} from '@headlessui/vue'\nimport { MenuIcon, XIcon, LogoutIcon, CogIcon } from '@heroicons/vue/outline'\nimport { useI18n } from 'vue-i18n'\n\nconst { t } = useI18n()\n\nconst route = useRoute()\nconst globalStore = useGlobalStore()\n\nconst userNavigation = [\n  {\n    title: t('navigation.logout'),\n    link: `/${globalStore.companySlug}/customer/login`,\n  },\n]\n\nconst authStore = useAuthStore()\nconst router = useRouter()\nconst activeRoute = ref('')\n\nconst previewAvatar = computed(() => {\n  return globalStore.currentUser && globalStore.currentUser.avatar !== 0\n    ? globalStore.currentUser.avatar\n    : getDefaultAvatar()\n})\n\nfunction getDefaultAvatar() {\n  const imgUrl = new URL('/img/default-avatar.jpg', import.meta.url)\n  return imgUrl\n}\n\nwatch(\n  route,\n  (val) => {\n    activeRoute.value = val.path\n  },\n  { immediate: true }\n)\n\nconst customerLogo = computed(() => {\n  if (window.customer_logo) {\n    return window.customer_logo\n  }\n\n  return false\n})\n\nfunction hasActiveUrl(url) {\n  return route.path.indexOf(url) > -1\n}\n\nfunction logout() {\n  authStore.logout(globalStore.companySlug).then((res) => {\n    if (res) {\n      router.push({ name: 'customer.login' })\n    }\n  })\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/customer/layouts/partials/TheSiteSidebar.vue",
    "content": "\n"
  },
  {
    "path": "resources/scripts/customer/stores/auth.js",
    "content": "const { defineStore } = window.pinia\nimport axios from 'axios'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport router from '@/scripts/customer/customer-router'\nimport { handleError } from '@/scripts/customer/helpers/error-handling'\nconst { global } = window.i18n\n\nexport const useAuthStore = defineStore({\n  id: 'customerAuth',\n  state: () => ({\n    loginData: {\n      email: '',\n      password: '',\n      device_name: 'xyz',\n      company: '',\n    },\n  }),\n\n  actions: {\n    login(data) {\n      const notificationStore = useNotificationStore(true)\n      return new Promise((resolve, reject) => {\n        axios.get('/sanctum/csrf-cookie').then((response) => {\n          if (response) {\n            axios\n              .post(`/${data.company}/customer/login`, data)\n              .then((response) => {\n                notificationStore.showNotification({\n                  type: 'success',\n                  message: global.tm('general.login_successfully'),\n                })\n                resolve(response)\n                setTimeout(() => {\n                  this.loginData.email = ''\n                  this.loginData.password = ''\n                }, 1000)\n              })\n              .catch((err) => {\n                handleError(err)\n                reject(err)\n              })\n          }\n        })\n      })\n    },\n\n    forgotPassword(data) {\n      const notificationStore = useNotificationStore(true)\n      return new Promise((resolve, reject) => {\n        axios\n          .post(`/api/v1/${data.company}/customer/auth/password/email`, data)\n\n          .then((response) => {\n            if (response.data) {\n              notificationStore.showNotification({\n                type: 'success',\n                message: global.tm('general.send_mail_successfully'),\n              })\n            }\n            resolve(response)\n          })\n          .catch((err) => {\n            if (err.response && err.response.status === 403) {\n              notificationStore.showNotification({\n                type: 'error',\n                message: global.tm('errors.email_could_not_be_sent'),\n              })\n            } else {\n              handleError(err)\n            }\n            reject(err)\n          })\n      })\n    },\n\n    resetPassword(data, company) {\n      return new Promise((resolve, reject) => {\n        axios\n          .post(`/api/v1/${company}/customer/auth/reset/password`, data)\n\n          .then((response) => {\n            if (response.data) {\n              const notificationStore = useNotificationStore(true)\n              notificationStore.showNotification({\n                type: 'success',\n                message: global.tm('login.password_reset_successfully'),\n              })\n            }\n            resolve(response)\n          })\n          .catch((err) => {\n            if (err.response && err.response.status === 403) {\n              notificationStore.showNotification({\n                type: 'error',\n                message: global.tm('validation.email_incorrect'),\n              })\n            }\n            reject(err)\n          })\n      })\n    },\n\n    logout(data) {\n      return new Promise((resolve, reject) => {\n        axios\n          .post(`/${data}/customer/logout`)\n          .then((response) => {\n            const notificationStore = useNotificationStore()\n            notificationStore.showNotification({\n              type: 'success',\n              message: global.tm('general.logged_out_successfully'),\n            })\n            router.push({ name: 'customer.login' })\n            resolve(response)\n          })\n          .catch((err) => {\n            handleError(err)\n            reject(err)\n          })\n      })\n    },\n  },\n})\n"
  },
  {
    "path": "resources/scripts/customer/stores/customer.js",
    "content": "const { defineStore } = window.pinia\n\nexport const useCustomerStore = defineStore({\n  id: 'customers',\n  state: () => ({\n    customers: 'okay',\n  }),\n\n  actions: {\n    resetCustomers() {\n      this.customers = 'okay'\n    },\n  }\n})\n"
  },
  {
    "path": "resources/scripts/customer/stores/dashboard.js",
    "content": "const { defineStore } = window.pinia\nimport { useGlobalStore } from '@/scripts/customer/stores/global'\nimport axios from 'axios'\nimport { handleError } from '@/scripts/customer/helpers/error-handling'\n\nexport const useDashboardStore = defineStore({\n  id: 'dashboard',\n  state: () => ({\n    recentInvoices: [],\n    recentEstimates: [],\n    invoiceCount: 0,\n    estimateCount: 0,\n    paymentCount: 0,\n    totalDueAmount: [],\n    isDashboardDataLoaded: false,\n  }),\n\n  actions: {\n    loadData(data) {\n      const globalStore = useGlobalStore()\n      return new Promise((resolve, reject) => {\n        axios\n          .get(`/api/v1/${globalStore.companySlug}/customer/dashboard`, {\n            data,\n          })\n          .then((response) => {\n            this.totalDueAmount = response.data.due_amount\n            this.estimateCount = response.data.estimate_count\n            this.invoiceCount = response.data.invoice_count\n            this.paymentCount = response.data.payment_count\n            this.recentInvoices = response.data.recentInvoices\n            this.recentEstimates = response.data.recentEstimates\n            globalStore.getDashboardDataLoaded = true\n            resolve(response)\n          })\n          .catch((err) => {\n            handleError(err)\n            reject(err)\n          })\n      })\n    },\n  },\n})\n"
  },
  {
    "path": "resources/scripts/customer/stores/estimate.js",
    "content": "const { defineStore } = window.pinia\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport axios from 'axios'\nimport { handleError } from '@/scripts/customer/helpers/error-handling'\n\nexport const useEstimateStore = defineStore({\n  id: 'customerEstimateStore',\n  state: () => ({\n    estimates: [],\n    totalEstimates: 0,\n    selectedViewEstimate: [],\n  }),\n  actions: {\n    fetchEstimate(params, slug) {\n      return new Promise((resolve, reject) => {\n        axios\n          .get(`/api/v1/${slug}/customer/estimates`, { params })\n          .then((response) => {\n            this.estimates = response.data.data\n            this.totalEstimates = response.data.meta.estimateTotalCount\n            resolve(response)\n          })\n          .catch((err) => {\n            handleError(err)\n            reject(err)\n          })\n      })\n    },\n\n    fetchViewEstimate(params, slug) {\n      return new Promise((resolve, reject) => {\n        axios\n          .get(`/api/v1/${slug}/customer/estimates/${params.id}`, {\n            params,\n          })\n\n          .then((response) => {\n            this.selectedViewEstimate = response.data.data\n            resolve(response)\n          })\n          .catch((err) => {\n            handleError(err)\n            reject(err)\n          })\n      })\n    },\n\n    searchEstimate(params, slug) {\n      return new Promise((resolve, reject) => {\n        axios\n          .get(`/api/v1/${slug}/customer/estimates`, { params })\n          .then((response) => {\n            this.estimates = response.data\n            resolve(response)\n          })\n          .catch((err) => {\n            handleError(err)\n            reject(err)\n          })\n      })\n    },\n    acceptEstimate({ slug, id, status }) {\n\n      return new Promise((resolve, reject) => {\n        axios\n          .post(`/api/v1/${slug}/customer/estimate/${id}/status`, { status })\n          .then((response) => {\n            let pos = this.estimates.findIndex(\n              (estimate) => estimate.id === id\n            )\n            if (this.estimates[pos]) {\n              this.estimates[pos].status = 'ACCEPTED'\n\n              const notificationStore = useNotificationStore(true)\n              notificationStore.showNotification({\n                type: 'success',\n                message: global.t('estimates.marked_as_accepted_message'),\n              })\n            }\n            resolve(response)\n          })\n          .catch((err) => {\n            handleError(err)\n            reject(err)\n          })\n      })\n    },\n\n    rejectEstimate({ slug, id, status }) {\n\n      return new Promise((resolve, reject) => {\n        axios\n          .post(`/api/v1/${slug}/customer/estimate/${id}/status`, { status })\n          .then((response) => {\n            let pos = this.estimates.findIndex(\n              (estimate) => estimate.id === id\n            )\n            if (this.estimates[pos]) {\n              this.estimates[pos].status = 'REJECTED'\n\n              const notificationStore = useNotificationStore(true)\n              notificationStore.showNotification({\n                type: 'success',\n                message: global.t('estimates.marked_as_rejected_message'),\n              })\n            }\n            resolve(response)\n          })\n          .catch((err) => {\n            handleError(err)\n            reject(err)\n          })\n      })\n    },\n  },\n})\n"
  },
  {
    "path": "resources/scripts/customer/stores/global.js",
    "content": "import { handleError } from '@/scripts/customer/helpers/error-handling'\nimport { useUserStore } from './user'\nconst { defineStore } = window.pinia\nimport axios from 'axios'\nexport const useGlobalStore = defineStore({\n  id: 'CustomerPortalGlobalStore',\n  state: () => ({\n    languages: [],\n    currency: null,\n    isAppLoaded: false,\n    countries: [],\n    getDashboardDataLoaded: false,\n    currentUser: null,\n    companySlug: '',\n    mainMenu: null,\n    enabledModules: []\n  }),\n\n  actions: {\n    bootstrap(data) {\n      this.companySlug = data\n      const userStore = useUserStore()\n      return new Promise((resolve, reject) => {\n        axios\n          .get(`/api/v1/${data}/customer/bootstrap`)\n          .then((response) => {\n            this.currentUser = response.data.data\n            this.mainMenu = response.data.meta.menu\n            this.currency = response.data.data.currency\n            this.enabledModules = response.data.meta.modules\n            Object.assign(userStore.userForm, response.data.data)\n            window.i18n.locale = response.data.default_language\n            this.isAppLoaded = true\n            resolve(response)\n          })\n          .catch((err) => {\n            handleError(err)\n            reject(err)\n          })\n      })\n    },\n\n    fetchCountries() {\n      return new Promise((resolve, reject) => {\n        if (this.countries.length) {\n          resolve(this.countries)\n        } else {\n          axios\n            .get(`/api/v1/${this.companySlug}/customer/countries`)\n            .then((response) => {\n              this.countries = response.data.data\n              resolve(response)\n            })\n            .catch((err) => {\n              handleError(err)\n              reject(err)\n            })\n        }\n      })\n    },\n  },\n})\n"
  },
  {
    "path": "resources/scripts/customer/stores/invoice.js",
    "content": "import { handleError } from '@/scripts/customer/helpers/error-handling'\nconst { defineStore } = window.pinia\nimport axios from 'axios'\nexport const useInvoiceStore = defineStore({\n  id: 'customerInvoiceStore',\n  state: () => ({\n    totalInvoices: 0,\n    invoices: [],\n    selectedViewInvoice: [],\n  }),\n\n  actions: {\n    fetchInvoices(params, slug) {\n      return new Promise((resolve, reject) => {\n        axios\n          .get(`/api/v1/${slug}/customer/invoices`, { params })\n          .then((response) => {\n            this.invoices = response.data.data\n            this.totalInvoices = response.data.meta.invoiceTotalCount\n            resolve(response)\n          })\n          .catch((err) => {\n            handleError(err)\n            reject(err)\n          })\n      })\n    },\n\n    fetchViewInvoice(params, slug) {\n      return new Promise((resolve, reject) => {\n        axios\n          .get(`/api/v1/${slug}/customer/invoices/${params.id}`, {\n            params,\n          })\n\n          .then((response) => {\n            this.selectedViewInvoice = response.data.data\n            resolve(response)\n          })\n          .catch((err) => {\n            handleError(err)\n            reject(err)\n          })\n      })\n    },\n\n    searchInvoice(params, slug) {\n      return new Promise((resolve, reject) => {\n        axios\n          .get(`/api/v1/${slug}/customer/invoices`, { params })\n          .then((response) => {\n            this.invoices = response.data\n            resolve(response)\n          })\n          .catch((err) => {\n            handleError(err)\n            reject(err)\n          })\n      })\n    },\n  },\n})\n"
  },
  {
    "path": "resources/scripts/customer/stores/payment.js",
    "content": "import { handleError } from '@/scripts/customer/helpers/error-handling'\nconst { defineStore } = window.pinia\nimport axios from 'axios'\n\nexport const usePaymentStore = defineStore({\n  id: 'customerPaymentStore',\n  state: () => ({\n    payments: [],\n    selectedViewPayment: [],\n    totalPayments: 0,\n  }),\n\n  actions: {\n    fetchPayments(params, slug) {\n      return new Promise((resolve, reject) => {\n        axios\n          .get(`/api/v1/${slug}/customer/payments`, { params })\n          .then((response) => {\n            this.payments = response.data.data\n            this.totalPayments = response.data.meta.paymentTotalCount\n            resolve(response)\n          })\n          .catch((err) => {\n            handleError(err)\n            reject(err)\n          })\n      })\n    },\n\n    fetchViewPayment(params, slug) {\n      return new Promise((resolve, reject) => {\n        axios\n          .get(`/api/v1/${slug}/customer/payments/${params.id}`)\n\n          .then((response) => {\n            this.selectedViewPayment = response.data.data\n            resolve(response)\n          })\n          .catch((err) => {\n            handleError(err)\n            reject(err)\n          })\n      })\n    },\n\n    searchPayment(params, slug) {\n      return new Promise((resolve, reject) => {\n        axios\n          .get(`/api/v1/${slug}/customer/payments`, { params })\n          .then((response) => {\n            this.payments = response.data\n            resolve(response)\n          })\n          .catch((err) => {\n            handleError(err)\n            reject(err)\n          })\n      })\n    },\n\n    fetchPaymentModes(params, slug) {\n      return new Promise((resolve, reject) => {\n        axios\n          .get(`/api/v1/${slug}/customer/payment-method`, { params })\n          .then((response) => {\n            resolve(response)\n          })\n          .catch((err) => {\n            handleError(err)\n            reject(err)\n          })\n      })\n    },\n  },\n})\n"
  },
  {
    "path": "resources/scripts/customer/stores/user.js",
    "content": "import { handleError } from '@/scripts/customer/helpers/error-handling'\nconst { defineStore } = window.pinia\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport stubs from '@/scripts/customer/stubs/address'\nimport axios from 'axios'\nimport { useGlobalStore } from '@/scripts/customer/stores/global'\n\nexport const useUserStore = defineStore({\n  id: 'customerUserStore',\n\n  state: () => ({\n    customers: [],\n    userForm: {\n      avatar: null,\n      name: '',\n      email: '',\n      password: '',\n      company: '',\n      confirm_password: '',\n      billing: {\n        ...stubs,\n      },\n      shipping: {\n        ...stubs,\n      },\n    },\n  }),\n\n  actions: {\n    copyAddress() {\n      this.userForm.shipping = {\n        ...this.userForm.billing,\n        type: 'shipping',\n      }\n    },\n\n    fetchCurrentUser() {\n      const globalStore = useGlobalStore()\n      return new Promise((resolve, reject) => {\n        axios\n          .get(`/api/v1/${globalStore.companySlug}/customer/me`)\n          .then((response) => {\n            Object.assign(this.userForm, response.data.data)\n            resolve(response)\n          })\n          .catch((err) => {\n            handleError(err)\n            reject(err)\n          })\n      })\n    },\n\n    updateCurrentUser({ data, message }) {\n      const globalStore = useGlobalStore()\n      return new Promise((resolve, reject) => {\n        axios\n          .post(`/api/v1/${globalStore.companySlug}/customer/profile`, data)\n          .then((response) => {\n            this.userForm = response.data.data\n            globalStore.currentUser = response.data.data\n            resolve(response)\n\n            if (message) {\n              const notificationStore = useNotificationStore(true)\n              notificationStore.showNotification({\n                type: 'success',\n                message: message,\n              })\n            }\n          })\n          .catch((err) => {\n            handleError(err)\n            reject(err)\n          })\n      })\n    },\n  },\n})\n"
  },
  {
    "path": "resources/scripts/customer/stubs/address.js",
    "content": "export default {\n  name: null,\n  phone: null,\n  address_street_1: null,\n  address_street_2: null,\n  city: null,\n  state: null,\n  country_id: null,\n  zip: null,\n  type: null,\n}\n"
  },
  {
    "path": "resources/scripts/customer/views/BaseCheckon.vue",
    "content": "<template>\n  <div class=\"h-10 w-20 bg-gray-100\">\n    <slot></slot>\n  </div>\n</template>\n\n<script>\nexport default {}\n</script>\n\n<style lang=\"scss\" scoped>\n</style>\n"
  },
  {
    "path": "resources/scripts/customer/views/SamplePage.vue",
    "content": "<template>\n  <div class=\"bg-blue-100 h-screen container mx-auto px-6\">\n    <h1 class=\"text-xl font-bold\">Samplez Pages</h1>\n    <BaseButton>Hello </BaseButton>\n    <BaseCheckon>{{ customerStore.customers }} </BaseCheckon>\n  </div>\n</template>\n\n\n<script setup>\nimport BaseCheckon from '@/scripts/customer/BaseCheckon.vue'\nimport { useCustomerStore } from '@/scripts/customer/stores/customer'\n\nconst customerStore = useCustomerStore()\n</script>\n"
  },
  {
    "path": "resources/scripts/customer/views/auth/ForgotPassword.vue",
    "content": "<template>\n  <form id=\"loginForm\" @submit.prevent=\"validateBeforeSubmit\">\n    <BaseInputGroup\n      :error=\"v$.email.$error && v$.email.$errors[0].$message\"\n      :label=\"$t('login.enter_email')\"\n      class=\"mb-4\"\n      required\n    >\n      <BaseInput\n        v-model=\"formData.email\"\n        type=\"email\"\n        name=\"email\"\n        :invalid=\"v$.email.$error\"\n        @input=\"v$.email.$touch()\"\n      />\n    </BaseInputGroup>\n    <BaseButton\n      :loading=\"isLoading\"\n      :disabled=\"isLoading\"\n      type=\"submit\"\n      variant=\"primary\"\n    >\n      <div v-if=\"!isSent\">\n        {{ $t('validation.send_reset_link') }}\n      </div>\n      <div v-else>\n        {{ $t('validation.not_yet') }}\n      </div>\n    </BaseButton>\n\n    <div class=\"mt-4 mb-4 text-sm\">\n      <router-link\n        to=\"login\"\n        class=\"text-sm text-primary-400 hover:text-gray-700\"\n      >\n        {{ $t('general.back_to_login') }}\n      </router-link>\n    </div>\n  </form>\n</template>\n\n<script setup>\nimport { reactive, ref, computed } from 'vue'\nimport { required, email, helpers } from '@vuelidate/validators'\nimport { useVuelidate } from '@vuelidate/core'\nimport { useI18n } from 'vue-i18n'\nimport { useAuthStore } from '@/scripts/customer/stores/auth'\nimport { useRouter, useRoute } from 'vue-router'\n\n// // store\nconst authStore = useAuthStore()\nconst { t } = useI18n()\nconst route = useRoute()\n\n// local state\n\nconst formData = reactive({\n  email: '',\n  company: '',\n})\nconst isSent = ref(false)\nconst isLoading = ref(false)\n\n// validation\n\nconst rules = computed(() => {\n  return {\n    email: {\n      required: helpers.withMessage(t('validation.required'), required),\n      email: helpers.withMessage(t('validation.email_incorrect'), email),\n    },\n  }\n})\n\nconst v$ = useVuelidate(rules, formData)\n\n// methods\n\nfunction validateBeforeSubmit(e) {\n  v$.value.$touch()\n  if (v$.value.$invalid) {\n    return true\n  }\n  isLoading.value = true\n  let data = {\n    ...formData,\n    company: route.params.company,\n  }\n\n  authStore\n    .forgotPassword(data)\n    .then((res) => {\n      isLoading.value = false\n    })\n    .catch((err) => {\n      isLoading.value = false\n    })\n  isSent.value = true\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/customer/views/auth/Login.vue",
    "content": "<template>\n  <form\n    id=\"loginForm\"\n    class=\"space-y-6\"\n    action=\"#\"\n    method=\"POST\"\n    @submit.prevent=\"validateBeforeSubmit\"\n  >\n    <BaseInputGroup\n      :error=\"\n        v$.loginData.email.$error && v$.loginData.email.$errors[0].$message\n      \"\n      :label=\"$t('login.email')\"\n      class=\"mb-4\"\n      required\n    >\n      <BaseInput\n        v-model=\"authStore.loginData.email\"\n        type=\"email\"\n        :invalid=\"v$.loginData.email.$error\"\n        @input=\"v$.loginData.email.$touch()\"\n      />\n    </BaseInputGroup>\n    <BaseInputGroup\n      :error=\"\n        v$.loginData.password.$error &&\n        v$.loginData.password.$errors[0].$message\n      \"\n      :label=\"$t('login.password')\"\n      class=\"mb-4\"\n      required\n    >\n      <BaseInput\n        v-model=\"authStore.loginData.password\"\n        :type=\"getInputType\"\n        :invalid=\"v$.loginData.password.$error\"\n        @input=\"v$.loginData.password.$touch()\"\n      >\n        <template #right>\n          <BaseIcon\n            v-if=\"isShowPassword\"\n            name=\"EyeOffIcon\"\n            class=\"w-5 h-5 mr-1 text-gray-500 cursor-pointer\"\n            @click=\"isShowPassword = !isShowPassword\"\n          />\n          <BaseIcon\n            v-else\n            name=\"EyeIcon\"\n            class=\"w-5 h-5 mr-1 text-gray-500 cursor-pointer\"\n            @click=\"isShowPassword = !isShowPassword\"\n          />\n        </template>\n      </BaseInput>\n    </BaseInputGroup>\n    <div class=\"flex items-center justify-between\">\n      <router-link\n        :to=\"{ name: 'customer.forgot-password' }\"\n        class=\"text-sm text-primary-600 hover:text-gray-500\"\n      >\n        {{ $t('login.forgot_password') }}\n      </router-link>\n    </div>\n\n    <div>\n      <BaseButton\n        :loading=\"isLoading\"\n        :disabled=\"isLoading\"\n        type=\"submit\"\n        class=\"w-full justify-center\"\n      >\n        <template #left=\"slotProps\">\n          <BaseIcon name=\"LockClosedIcon\" :class=\"slotProps.class\" />\n        </template>\n        {{ $t('login.login') }}\n      </BaseButton>\n    </div>\n  </form>\n</template>\n\n<script setup>\nimport { computed, ref } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { useVuelidate } from '@vuelidate/core'\nimport { required, email, helpers } from '@vuelidate/validators'\nimport { useAuthStore } from '@/scripts/customer/stores/auth'\nimport { useRouter, useRoute } from 'vue-router'\n\nconst router = useRouter()\nconst route = useRoute()\nconst authStore = useAuthStore()\nconst { t } = useI18n()\n\nlet isLoading = ref(false)\nconst isShowPassword = ref(false)\n\nconst getInputType = computed(() => {\n  if (isShowPassword.value) {\n    return 'text'\n  }\n  return 'password'\n})\n\nconst rules = computed(() => {\n  return {\n    loginData: {\n      email: {\n        required: helpers.withMessage(t('validation.required'), required),\n        email: helpers.withMessage(t('validation.email_incorrect'), email),\n      },\n      password: {\n        required: helpers.withMessage(t('validation.required'), required),\n      },\n    },\n  }\n})\n\nconst v$ = useVuelidate(rules, authStore)\n\nasync function validateBeforeSubmit() {\n  v$.value.loginData.$touch()\n  if (v$.value.loginData.$invalid) {\n    return true\n  }\n  isLoading.value = true\n  let data = {\n    ...authStore.loginData,\n    company: route.params.company,\n  }\n\n  try {\n    await authStore.login(data)\n    isLoading.value = false\n    return router.push({ name: 'customer.dashboard' })\n    authStore.$reset()\n  } catch (error) {\n    isLoading.value = false\n  }\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/customer/views/auth/ResetPassword.vue",
    "content": "<template>\n  <form id=\"loginForm\" @submit.prevent=\"onSubmit\">\n    <BaseInputGroup\n      :error=\"v$.email.$error && v$.email.$errors[0].$message\"\n      :label=\"$t('login.email')\"\n      class=\"mb-4\"\n      required\n    >\n      <BaseInput\n        v-model=\"loginData.email\"\n        type=\"email\"\n        name=\"email\"\n        :invalid=\"v$.email.$error\"\n        @input=\"v$.email.$touch()\"\n      />\n    </BaseInputGroup>\n\n    <BaseInputGroup\n      :error=\"v$.password.$error && v$.password.$errors[0].$message\"\n      :label=\"$t('login.password')\"\n      class=\"mb-4\"\n      required\n    >\n      <BaseInput\n        v-model=\"loginData.password\"\n        :type=\"isShowPassword ? 'text' : 'password'\"\n        name=\"password\"\n        :invalid=\"v$.password.$error\"\n        @input=\"v$.password.$touch()\"\n      >\n        <template #right>\n          <EyeOffIcon\n            v-if=\"isShowPassword\"\n            class=\"w-5 h-5 mr-1 text-gray-500 cursor-pointer\"\n            @click=\"isShowPassword = !isShowPassword\"\n          />\n          <EyeIcon\n            v-else\n            class=\"w-5 h-5 mr-1 text-gray-500 cursor-pointer\"\n            @click=\"isShowPassword = !isShowPassword\"\n          /> </template\n      ></BaseInput>\n    </BaseInputGroup>\n\n    <BaseInputGroup\n      :error=\"\n        v$.password_confirmation.$error &&\n        v$.password_confirmation.$errors[0].$message\n      \"\n      :label=\"$t('login.retype_password')\"\n      class=\"mb-4\"\n      required\n    >\n      <BaseInput\n        v-model=\"loginData.password_confirmation\"\n        type=\"password\"\n        name=\"password\"\n        :invalid=\"v$.password_confirmation.$error\"\n        @input=\"v$.password_confirmation.$touch()\"\n      />\n    </BaseInputGroup>\n\n    <BaseButton type=\"submit\" variant=\"primary\">\n      {{ $t('login.reset_password') }}\n    </BaseButton>\n  </form>\n</template>\n\n<script setup>\nimport { reactive, ref, computed } from 'vue'\nimport useVuelidate from '@vuelidate/core'\nimport { useGlobalStore } from '@/scripts/customer/stores/global'\nimport {\n  required,\n  helpers,\n  minLength,\n  sameAs,\n  email,\n} from '@vuelidate/validators'\nimport { useI18n } from 'vue-i18n'\nimport { useRoute, useRouter } from 'vue-router'\nimport { useAuthStore } from '@/scripts/customer/stores/auth'\n\nconst route = useRoute()\nconst router = useRouter()\nconst authStore = useAuthStore()\nconst { t } = useI18n()\nconst loginData = reactive({\n  email: '',\n  password: '',\n  password_confirmation: '',\n})\n\nconst globalStore = useGlobalStore()\n\nlet isShowPassword = ref(false)\nlet isLoading = ref(false)\n\nconst rules = computed(() => {\n  return {\n    email: {\n      required: helpers.withMessage(t('validation.required'), required),\n      email: helpers.withMessage(t('validation.email_incorrect'), email),\n    },\n    password: {\n      required: helpers.withMessage(t('validation.required'), required),\n      minLength: helpers.withMessage(\n        t('validation.password_min_length', { count: 8 }),\n        minLength(8)\n      ),\n    },\n    password_confirmation: {\n      sameAsPassword: helpers.withMessage(\n        t('validation.password_incorrect'),\n        sameAs(loginData.password)\n      ),\n    },\n  }\n})\n\nconst v$ = useVuelidate(rules, loginData)\n\nasync function onSubmit(e) {\n  v$.value.$touch()\n\n  if (!v$.value.$invalid) {\n    let data = {\n      email: loginData.email,\n      password: loginData.password,\n      password_confirmation: loginData.password_confirmation,\n      token: route.params.token,\n    }\n    isLoading.value = true\n    let res = authStore.resetPassword(data, route.params.company)\n    isLoading.value = false\n    if (res.data) {\n      router.push({ name: 'customer.login' })\n    }\n  }\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/customer/views/dashboard/Dashboard.vue",
    "content": "<template>\n  <BasePage>\n    <DashboardStats />\n    <DashboardTable />\n  </BasePage>\n</template>\n\n<script setup>\nimport DashboardStats from '@/scripts/customer/views/dashboard/DashboardStats.vue'\nimport DashboardTable from '@/scripts/customer/views/dashboard/DashboardTable.vue'\n</script>\n"
  },
  {
    "path": "resources/scripts/customer/views/dashboard/DashboardStats.vue",
    "content": "<template>\n  <div class=\"grid gap-6 sm:grid-cols-2 lg:grid-cols-9 xl:gap-8\">\n    <!-- Amount Due -->\n    <DashboardStatsItem\n      :icon-component=\"DollarIcon\"\n      :loading=\"!globalStore.getDashboardDataLoaded\"\n      :route=\"{ name: 'invoices.dashboard' }\"\n      :large=\"true\"\n      :label=\"$t('dashboard.cards.due_amount')\"\n    >\n      <BaseFormatMoney\n        :amount=\"dashboardStore.totalDueAmount\"\n        :currency=\"globalStore.currency\"\n      />\n    </DashboardStatsItem>\n\n    <!-- Invoices -->\n    <DashboardStatsItem\n      :icon-component=\"InvoiceIcon\"\n      :loading=\"!globalStore.getDashboardDataLoaded\"\n      :route=\"{ name: 'invoices.dashboard' }\"\n      :label=\"$t('dashboard.cards.invoices')\"\n    >\n      {{ dashboardStore.invoiceCount }}\n    </DashboardStatsItem>\n\n    <!-- Estimates -->\n    <DashboardStatsItem\n      :icon-component=\"EstimateIcon\"\n      :loading=\"!globalStore.getDashboardDataLoaded\"\n      :route=\"{ name: 'estimates.dashboard' }\"\n      :label=\"$t('dashboard.cards.estimates')\"\n    >\n      {{ dashboardStore.estimateCount }}\n    </DashboardStatsItem>\n\n    <!-- Payments -->\n\n    <DashboardStatsItem\n      :icon-component=\"PaymentIcon\"\n      :loading=\"!globalStore.getDashboardDataLoaded\"\n      :route=\"{ name: 'payments.dashboard' }\"\n      :label=\"$t('dashboard.cards.payments')\"\n    >\n      {{ dashboardStore.paymentCount }}\n    </DashboardStatsItem>\n  </div>\n</template>\n\n<script setup>\nimport { inject } from 'vue'\nimport DollarIcon from '@/scripts/components/icons/dashboard/DollarIcon.vue'\nimport InvoiceIcon from '@/scripts/components/icons/dashboard/InvoiceIcon.vue'\nimport PaymentIcon from '@/scripts/components/icons/dashboard/PaymentIcon.vue'\nimport EstimateIcon from '@/scripts/components/icons/dashboard/EstimateIcon.vue'\n\nimport { useGlobalStore } from '@/scripts/customer/stores/global'\nimport { useDashboardStore } from '@/scripts/customer/stores/dashboard'\nimport DashboardStatsItem from '@/scripts/customer/views/dashboard/DashboardStatsItem.vue'\n//store\n\nconst utils = inject('utils')\nconst globalStore = useGlobalStore()\nconst dashboardStore = useDashboardStore()\ndashboardStore.loadData()\n</script>\n"
  },
  {
    "path": "resources/scripts/customer/views/dashboard/DashboardStatsItem.vue",
    "content": "<template>\n  <router-link\n    v-if=\"!loading\"\n    class=\"\n      relative\n      flex\n      justify-between\n      p-3\n      bg-white\n      rounded\n      shadow\n      hover:bg-gray-50\n      xl:p-4\n      lg:col-span-2\n    \"\n    :class=\"{ 'lg:!col-span-3': large }\"\n    :to=\"route\"\n  >\n    <div>\n      <span class=\"text-xl font-semibold leading-tight text-black xl:text-3xl\">\n        <slot />\n      </span>\n      <span class=\"block mt-1 text-sm leading-tight text-gray-500 xl:text-lg\">\n        {{ label }}\n      </span>\n    </div>\n    <div class=\"flex items-center\">\n      <component :is=\"iconComponent\" class=\"w-10 h-10 xl:w-12 xl:h-12\" />\n    </div>\n  </router-link>\n\n  <StatsCardPlaceholder v-else-if=\"large\" />\n\n  <StatsCardSmPlaceholder v-else />\n</template>\n\n\n<script setup>\nimport StatsCardPlaceholder from '@/scripts/customer/views/dashboard/DashboardStatsPlaceholder.vue'\nimport StatsCardSmPlaceholder from '@/scripts/customer/views/dashboard/DashboardStatsSmPlaceholder.vue'\n\ndefineProps({\n  iconComponent: {\n    type: Object,\n    required: true,\n  },\n  loading: {\n    type: Boolean,\n    default: false,\n  },\n  route: {\n    type: Object,\n    required: true,\n  },\n  label: {\n    type: String,\n    required: true,\n  },\n  large: {\n    type: Boolean,\n    default: false,\n  },\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/customer/views/dashboard/DashboardStatsPlaceholder.vue",
    "content": "<template>\n  <BaseContentPlaceholders\n    :rounded=\"true\"\n    class=\"relative flex justify-between w-full p-3 bg-white rounded shadow lg:col-span-3 xl:p-4\"\n  >\n    <div>\n      <BaseContentPlaceholdersText\n        class=\"h-5 -mb-1 w-14 xl:mb-6 xl:h-7\"\n        :lines=\"1\"\n      />\n      <BaseContentPlaceholdersText class=\"h-3 w-28 xl:h-4\" :lines=\"1\" />\n    </div>\n    <div class=\"flex items-center\">\n      <BaseContentPlaceholdersBox\n        :circle=\"true\"\n        class=\"w-10 h-10 xl:w-12 xl:h-12\"\n      />\n    </div>\n  </BaseContentPlaceholders>\n</template>\n"
  },
  {
    "path": "resources/scripts/customer/views/dashboard/DashboardStatsSmPlaceholder.vue",
    "content": "<template>\n  <BaseContentPlaceholders\n    :rounded=\"true\"\n    class=\"\n      relative\n      flex\n      justify-between\n      w-full\n      p-3\n      bg-white\n      rounded\n      shadow\n      lg:col-span-2\n      xl:p-4\n    \"\n  >\n    <div>\n      <BaseContentPlaceholdersText\n        class=\"w-12 h-5 -mb-1 xl:mb-6 xl:h-7\"\n        :lines=\"1\"\n      />\n      <BaseContentPlaceholdersText class=\"w-20 h-3 xl:h-4\" :lines=\"1\" />\n    </div>\n    <div class=\"flex items-center\">\n      <BaseContentPlaceholdersBox\n        :circle=\"true\"\n        class=\"w-10 h-10 xl:w-12 xl:h-12\"\n      />\n    </div>\n  </BaseContentPlaceholders>\n</template>\n"
  },
  {
    "path": "resources/scripts/customer/views/dashboard/DashboardTable.vue",
    "content": "<template>\n  <div class=\"grid grid-cols-1 gap-6 mt-10 xl:grid-cols-2\">\n    <!-- Due Invoices -->\n    <div class=\"due-invoices\">\n      <div class=\"relative z-10 flex items-center justify-between mb-3\">\n        <h6 class=\"mb-0 text-xl font-semibold leading-normal\">\n          {{ $t('dashboard.recent_invoices_card.title') }}\n        </h6>\n\n        <BaseButton\n          size=\"sm\"\n          variant=\"primary-outline\"\n          @click=\"$router.push({ name: 'invoices.dashboard' })\"\n        >\n          {{ $t('dashboard.recent_invoices_card.view_all') }}\n        </BaseButton>\n      </div>\n      <!-- Recent Invoice-->\n      <BaseTable\n        :data=\"dashboardStore.recentInvoices\"\n        :columns=\"dueInvoiceColumns\"\n        :loading=\"!globalStore.getDashboardDataLoaded\"\n      >\n        <template #cell-invoice_number=\"{ row }\">\n          <router-link\n            :to=\"{\n              path: `/${globalStore.companySlug}/customer/invoices/${row.data.id}/view`,\n            }\"\n            class=\"font-medium text-primary-500\"\n          >\n            {{ row.data.invoice_number }}\n          </router-link>\n        </template>\n\n        <template #cell-paid_status=\"{ row }\">\n          <BasePaidStatusBadge :status=\"row.data.paid_status\">\n            {{ row.data.paid_status }}\n          </BasePaidStatusBadge>\n        </template>\n\n        <template #cell-due_amount=\"{ row }\">\n          <BaseFormatMoney\n            :amount=\"row.data.due_amount\"\n            :currency=\"globalStore.currency\"\n          />\n        </template>\n      </BaseTable>\n    </div>\n\n    <!-- Recent Estimates -->\n    <div class=\"recent-estimates\">\n      <div class=\"relative z-10 flex items-center justify-between mb-3\">\n        <h6 class=\"mb-0 text-xl font-semibold leading-normal\">\n          {{ $t('dashboard.recent_estimate_card.title') }}\n        </h6>\n\n        <BaseButton\n          variant=\"primary-outline\"\n          size=\"sm\"\n          @click=\"$router.push({ name: 'estimates.dashboard' })\"\n        >\n          {{ $t('dashboard.recent_estimate_card.view_all') }}\n        </BaseButton>\n      </div>\n\n      <BaseTable\n        :data=\"dashboardStore.recentEstimates\"\n        :columns=\"recentEstimateColumns\"\n        :loading=\"!globalStore.getDashboardDataLoaded\"\n      >\n        <template #cell-estimate_number=\"{ row }\">\n          <router-link\n            :to=\"{\n              path: `/${globalStore.companySlug}/customer/estimates/${row.data.id}/view`,\n            }\"\n            class=\"font-medium text-primary-500\"\n          >\n            {{ row.data.estimate_number }}\n          </router-link>\n        </template>\n        <template #cell-status=\"{ row }\">\n          <BaseEstimateStatusBadge :status=\"row.data.status\" class=\"px-3 py-1\">\n            {{ row.data.status }}\n          </BaseEstimateStatusBadge>\n        </template>\n        <template #cell-total=\"{ row }\">\n          <BaseFormatMoney\n            :amount=\"row.data.total\"\n            :currency=\"globalStore.currency\"\n          />\n        </template>\n      </BaseTable>\n    </div>\n  </div>\n</template>\n\n<script setup>\nimport { computed, inject } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { useRoute } from 'vue-router'\nimport { useGlobalStore } from '@/scripts/customer/stores/global'\nimport { useDashboardStore } from '@/scripts/customer/stores/dashboard'\nimport BaseTable from '@/scripts/components/base/base-table/BaseTable.vue'\n\n// store\n\nconst globalStore = useGlobalStore()\nconst dashboardStore = useDashboardStore()\nconst { tm, t } = useI18n()\nconst utils = inject('utils')\nconst route = useRoute()\n\n//computed prop\n\nconst dueInvoiceColumns = computed(() => {\n  return [\n    {\n      key: 'formattedDueDate',\n      label: t('dashboard.recent_invoices_card.due_on'),\n    },\n    {\n      key: 'invoice_number',\n      label: t('invoices.number'),\n    },\n    { key: 'paid_status', label: t('invoices.status') },\n    {\n      key: 'due_amount',\n      label: t('dashboard.recent_invoices_card.amount_due'),\n    },\n  ]\n})\nconst recentEstimateColumns = computed(() => {\n  return [\n    {\n      key: 'formattedEstimateDate',\n      label: t('dashboard.recent_estimate_card.date'),\n    },\n    {\n      key: 'estimate_number',\n      label: t('estimates.number'),\n    },\n    { key: 'status', label: t('estimates.status') },\n    {\n      key: 'total',\n      label: t('dashboard.recent_estimate_card.amount_due'),\n    },\n  ]\n})\n</script>\n"
  },
  {
    "path": "resources/scripts/customer/views/estimates/Index.vue",
    "content": "<template>\n  <BasePage>\n    <!-- Page Header -->\n    <BasePageHeader :title=\"$t('estimates.title')\">\n      <BaseBreadcrumb>\n        <BaseBreadcrumbItem\n          :title=\"$t('general.home')\"\n          :to=\"`/${globalStore.companySlug}/customer/dashboard`\"\n        />\n        <BaseBreadcrumbItem\n          :title=\"$tc('estimates.estimate', 2)\"\n          to=\"#\"\n          active\n        />\n      </BaseBreadcrumb>\n      <template #actions>\n        <BaseButton\n          v-if=\"estimateStore.totalEstimates\"\n          variant=\"primary-outline\"\n          @click=\"toggleFilter\"\n        >\n          {{ $t('general.filter') }}\n          <template #right=\"slotProps\">\n            <BaseIcon\n              v-if=\"!showFilters\"\n              name=\"FilterIcon\"\n              :class=\"slotProps.class\"\n            />\n            <BaseIcon v-else name=\"XIcon\" :class=\"slotProps.class\" />\n          </template>\n        </BaseButton>\n      </template>\n    </BasePageHeader>\n\n    <BaseFilterWrapper v-show=\"showFilters\" @clear=\"clearFilter\">\n      <BaseInputGroup :label=\"$t('estimates.status')\" class=\"px-3\">\n        <BaseSelectInput\n          v-model=\"filters.status\"\n          :options=\"status\"\n          searchable\n          :show-labels=\"false\"\n          :allow-empty=\"false\"\n          :placeholder=\"$t('general.select_a_status')\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup\n        :label=\"$t('estimates.estimate_number')\"\n        color=\"black-light\"\n        class=\"px-3 mt-2\"\n      >\n        <BaseInput v-model=\"filters.estimate_number\">\n          <BaseIcon name=\"DotsHorizontalIcon\" class=\"h-5 text-gray-500\" />\n          <BaseIcon name=\"HashtagIcon\" class=\"h-5 mr-3 text-gray-600\" />\n        </BaseInput>\n      </BaseInputGroup>\n\n      <BaseInputGroup :label=\"$t('general.from')\" class=\"px-3\">\n        <BaseDatePicker\n          v-model=\"filters.from_date\"\n          :calendar-button=\"true\"\n          calendar-button-icon=\"calendar\"\n        />\n      </BaseInputGroup>\n\n      <div\n        class=\"hidden w-8 h-0 mx-4 border border-gray-400 border-solid xl:block\"\n        style=\"margin-top: 1.5rem\"\n      />\n\n      <BaseInputGroup :label=\"$t('general.to')\" class=\"px-3\">\n        <BaseDatePicker\n          v-model=\"filters.to_date\"\n          :calendar-button=\"true\"\n          calendar-button-icon=\"calendar\"\n        />\n      </BaseInputGroup>\n    </BaseFilterWrapper>\n\n    <BaseEmptyPlaceholder\n      v-if=\"showEmptyScreen\"\n      :title=\"$t('estimates.no_estimates')\"\n      :description=\"$t('estimates.list_of_estimates')\"\n    >\n      <ObservatoryIcon class=\"mt-5 mb-4\" />\n    </BaseEmptyPlaceholder>\n\n    <div v-show=\"!showEmptyScreen\" class=\"relative table-container\">\n      <BaseTable\n        ref=\"table\"\n        :data=\"fetchData\"\n        :columns=\"estimateColumns\"\n        :placeholder-count=\"estimateStore.totalEstimates >= 20 ? 10 : 5\"\n        class=\"mt-10\"\n      >\n        <template #cell-estimate_date=\"{ row }\">\n          {{ row.data.formatted_estimate_date }}\n        </template>\n\n        <template #cell-estimate_number=\"{ row }\">\n          <router-link\n            :to=\"{ path: `estimates/${row.data.id}/view` }\"\n            class=\"font-medium text-primary-500\"\n          >\n            {{ row.data.estimate_number }}\n          </router-link>\n        </template>\n\n        <template #cell-status=\"{ row }\">\n          <BaseEstimateStatusBadge :status=\"row.data.status\" class=\"px-3 py-1\">\n            {{ row.data.status }}\n          </BaseEstimateStatusBadge>\n        </template>\n\n        <template #cell-total=\"{ row }\">\n          <BaseFormatMoney :amount=\"row.data.total\" />\n        </template>\n\n        <template #cell-actions=\"{ row }\">\n          <BaseDropdown>\n            <template #activator>\n              <BaseIcon name=\"DotsHorizontalIcon\" class=\"h-5 text-gray-500\" />\n            </template>\n            <router-link :to=\"`estimates/${row.data.id}/view`\">\n              <BaseDropdownItem>\n                <BaseIcon name=\"EyeIcon\" class=\"h-5 mr-3 text-gray-600\" />\n                {{ $t('general.view') }}\n              </BaseDropdownItem>\n            </router-link>\n          </BaseDropdown>\n        </template>\n      </BaseTable>\n    </div>\n  </BasePage>\n</template>\n\n<script setup>\nimport { debouncedWatch } from '@vueuse/core'\nimport BaseTable from '@/scripts/components/base/base-table/BaseTable.vue'\nimport { ref, computed, reactive, inject } from 'vue'\nimport { useGlobalStore } from '@/scripts/customer/stores/global'\nimport { useEstimateStore } from '@/scripts/customer/stores/estimate'\nimport { useRoute } from 'vue-router'\nimport ObservatoryIcon from '@/scripts/components/icons/empty/ObservatoryIcon.vue'\nimport { useI18n } from 'vue-i18n'\n\nconst { t } = useI18n()\n\n// utils\n\nconst utils = inject('utils')\nconst route = useRoute()\n//  Local state\nconst table = ref(null)\nlet showFilters = ref(false)\nlet isFetchingInitialData = ref(true)\n\nconst status = ref([\n  'DRAFT',\n  'SENT',\n  'VIEWED',\n  'EXPIRED',\n  'ACCEPTED',\n  'REJECTED',\n])\nconst filters = reactive({\n  status: '',\n  from_date: '',\n  to_date: '',\n  estimate_number: '',\n})\n\n// store\nconst globalStore = useGlobalStore()\nconst estimateStore = useEstimateStore()\n\n// computed\n\nconst estimateColumns = computed(() => {\n  return [\n    {\n      key: 'estimate_date',\n      label: t('estimates.date'),\n      thClass: 'extra',\n      tdClass: 'font-medium text-gray-900',\n    },\n    { key: 'estimate_number', label: t('estimates.number', 2) },\n    { key: 'status', label: t('estimates.status') },\n    { key: 'total', label: t('estimates.total') },\n    {\n      key: 'actions',\n      thClass: 'text-right',\n      tdClass: 'text-right text-sm font-medium',\n      sortable: false,\n    },\n  ]\n})\n\nconst showEmptyScreen = computed(() => {\n  return !estimateStore.totalEstimates && !isFetchingInitialData.value\n})\n\nconst currency = computed(() => {\n  return globalStore.currency\n})\n// watch\n\ndebouncedWatch(\n  filters,\n  () => {\n    setFilters()\n  },\n  { debounce: 500 }\n)\n\n// methods\n\nfunction refreshTable() {\n  table.value.refresh()\n}\n\nfunction setFilters() {\n  refreshTable()\n}\n\nfunction clearFilter() {\n  filters.status = ''\n  filters.from_date = ''\n  filters.to_date = ''\n  filters.estimate_number = ''\n}\n\nfunction toggleFilter() {\n  if (showFilters.value) {\n    clearFilter()\n  }\n\n  showFilters.value = !showFilters.value\n}\n\nasync function fetchData({ page, sort }) {\n  let data = {\n    status: filters.status,\n    estimate_number: filters.estimate_number,\n    from_date: filters.from_date,\n    to_date: filters.to_date,\n    orderByField: sort.fieldName || 'created_at',\n    orderBy: sort.order || 'desc',\n    page,\n  }\n\n  isFetchingInitialData.value = true\n\n  let response = await estimateStore.fetchEstimate(\n    data,\n    globalStore.companySlug\n  )\n\n  isFetchingInitialData.value = false\n  return {\n    data: response.data.data,\n    pagination: {\n      totalPages: response.data.meta.last_page,\n      currentPage: page,\n      totalCount: response.data.meta.total,\n      limit: 10,\n    },\n  }\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/customer/views/estimates/View.vue",
    "content": "<template>\n  <BasePage class=\"xl:pl-96\">\n    <BasePageHeader :title=\"pageTitle.estimate_number\">\n      <template #actions>\n        <div class=\"mr-3 text-sm\">\n          <BaseButton\n            v-if=\"estimateStore.selectedViewEstimate.status === 'DRAFT'\"\n            variant=\"primary\"\n            @click=\"AcceptEstimate\"\n          >\n            {{ $t('estimates.accept_estimate') }}\n          </BaseButton>\n        </div>\n        <div class=\"mr-3 text-sm\">\n          <BaseButton\n            v-if=\"estimateStore.selectedViewEstimate.status === 'DRAFT'\"\n            variant=\"primary-outline\"\n            @click=\"RejectEstimate\"\n          >\n            {{ $t('estimates.reject_estimate') }}\n          </BaseButton>\n        </div>\n      </template>\n    </BasePageHeader>\n\n    <!-- Sidebar -->\n    <div\n      class=\"fixed top-0 left-0 hidden h-full pt-16 pb-4 bg-white w-88 xl:block\"\n    >\n      <div\n        class=\"\n          flex\n          items-center\n          justify-between\n          px-4\n          pt-8\n          pb-6\n          border border-gray-200 border-solid\n        \"\n      >\n        <BaseInput\n          v-model=\"searchData.estimate_number\"\n          :placeholder=\"$t('general.search')\"\n          type=\"text\"\n          variant=\"gray\"\n          @input=\"onSearch\"\n        >\n          <template #right>\n            <BaseIcon name=\"SearchIcon\" class=\"h-5 text-gray-400\" />\n          </template>\n        </BaseInput>\n\n        <div class=\"flex ml-3\" role=\"group\" aria-label=\"First group\">\n          <BaseDropdown\n            position=\"bottom-start\"\n            width-class=\"w-50\"\n            position-class=\"left-0\"\n          >\n            <template #activator>\n              <BaseButton variant=\"gray\">\n                <BaseIcon name=\"FilterIcon\" class=\"h-5\" />\n              </BaseButton>\n            </template>\n\n            <div\n              class=\"\n                px-4\n                py-1\n                pb-2\n                mb-2\n                text-sm\n                border-b border-gray-200 border-solid\n              \"\n            >\n              {{ $t('general.sort_by') }}\n            </div>\n\n            <div class=\"px-2\">\n              <BaseDropdownItem class=\"rounded-md pt-3 hover:rounded-md\">\n                <BaseInputGroup class=\"-mt-3 font-normal\">\n                  <BaseRadio\n                    id=\"filter_estimate_date\"\n                    v-model=\"searchData.orderByField\"\n                    :label=\"$t('reports.estimates.estimate_date')\"\n                    size=\"sm\"\n                    name=\"filter\"\n                    value=\"estimate_date\"\n                    @change=\"onSearch\"\n                  />\n                </BaseInputGroup>\n              </BaseDropdownItem>\n            </div>\n\n            <div class=\"px-2\">\n              <BaseDropdownItem class=\"rounded-md pt-3 hover:rounded-md\">\n                <BaseInputGroup class=\"-mt-3 font-normal\">\n                  <BaseRadio\n                    id=\"filter_due_date\"\n                    v-model=\"searchData.orderByField\"\n                    :label=\"$t('estimates.due_date')\"\n                    value=\"expiry_date\"\n                    size=\"sm\"\n                    name=\"filter\"\n                    @update:modelValue=\"onSearch\"\n                  />\n                </BaseInputGroup>\n              </BaseDropdownItem>\n            </div>\n\n            <div class=\"px-2\">\n              <BaseDropdownItem class=\"rounded-md pt-3 hover:rounded-md\">\n                <BaseInputGroup class=\"-mt-3 font-normal\">\n                  <BaseRadio\n                    id=\"filter_estimate_number\"\n                    v-model=\"searchData.orderByField\"\n                    :label=\"$t('estimates.estimate_number')\"\n                    value=\"estimate_number\"\n                    size=\"sm\"\n                    name=\"filter\"\n                    @update:modelValue=\"onSearch\"\n                  />\n                </BaseInputGroup>\n              </BaseDropdownItem>\n            </div>\n          </BaseDropdown>\n\n          <BaseButton class=\"ml-1\" variant=\"white\" @click=\"sortData\">\n            <BaseIcon v-if=\"getOrderBy\" name=\"SortAscendingIcon\" class=\"h-5\" />\n            <BaseIcon v-else name=\"SortDescendingIcon\" class=\"h-5\" />\n          </BaseButton>\n        </div>\n      </div>\n\n      <div\n        class=\"\n          h-full\n          pb-32\n          overflow-y-scroll\n          border-l border-gray-200 border-solid\n          sw-scroll\n        \"\n      >\n        <router-link\n          v-for=\"(estimate, index) in estimateStore.estimates\"\n          :id=\"'estimate-' + estimate.id\"\n          :key=\"index\"\n          :to=\"`/${globalStore.companySlug}/customer/estimates/${estimate.id}/view`\"\n          :class=\"[\n            'flex justify-between p-4 items-center cursor-pointer hover:bg-gray-100 border-l-4 border-transparent',\n            {\n              'bg-gray-100 border-l-4 border-primary-500 border-solid':\n                hasActiveUrl(estimate.id),\n            },\n          ]\"\n          style=\"border-bottom: 1px solid rgba(185, 193, 209, 0.41)\"\n        >\n          <div class=\"flex-2\">\n            <div\n              class=\"\n                mb-1\n                text-md\n                not-italic\n                font-medium\n                leading-5\n                text-gray-500\n                capitalize\n              \"\n            >\n              {{ estimate.estimate_number }}\n            </div>\n\n            <BaseEstimateStatusBadge :status=\"estimate.status\">\n              {{ estimate.status }}\n            </BaseEstimateStatusBadge>\n          </div>\n\n          <div class=\"flex-1 whitespace-nowrap right\">\n            <BaseFormatMoney\n              class=\"\n                mb-2\n                text-xl\n                not-italic\n                font-semibold\n                leading-8\n                text-right text-gray-900\n                block\n              \"\n              :amount=\"estimate.total\"\n              :currency=\"estimate.currency\"\n            />\n            <div class=\"text-sm text-right text-gray-500 non-italic\">\n              {{ estimate.formatted_estimate_date }}\n            </div>\n          </div>\n        </router-link>\n\n        <p\n          v-if=\"!estimateStore.estimates.length\"\n          class=\"flex justify-center px-4 mt-5 text-sm text-gray-600\"\n        >\n          {{ $t('estimates.no_matching_estimates') }}\n        </p>\n      </div>\n    </div>\n\n    <!-- pdf -->\n    <div\n      class=\"flex flex-col min-h-0 mt-8 overflow-hidden\"\n      style=\"height: 75vh\"\n    >\n      <iframe\n        v-if=\"shareableLink\"\n        :src=\"shareableLink\"\n        class=\"flex-1 border border-gray-400 border-solid rounded-md\"\n      />\n    </div>\n  </BasePage>\n</template>\n\n<script setup>\nimport { useI18n } from 'vue-i18n'\nimport BaseDropdown from '@/scripts/components/base/BaseDropdown.vue'\nimport BaseDropdownItem from '@/scripts/components/base/BaseDropdownItem.vue'\nimport { debounce } from 'lodash'\nimport { ref, reactive, computed, inject, watch } from 'vue'\nimport { useRoute, useRouter } from 'vue-router'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport moment from 'moment'\nimport { useEstimateStore } from '@/scripts/customer/stores/estimate'\nimport { useGlobalStore } from '@/scripts/customer/stores/global'\nimport { useDialogStore } from '@/scripts/stores/dialog'\n\n// Router\nconst route = useRoute()\nconst router = useRouter()\n\n// store\nconst estimateStore = useEstimateStore()\nconst globalStore = useGlobalStore()\nconst dialogStore = useDialogStore()\nconst { tm, t } = useI18n()\n\n// local state\nlet estimate = reactive({})\nlet searchData = reactive({\n  orderBy: '',\n  orderByField: '',\n  estimate_number: '',\n})\n\nlet isSearching = ref(false)\n\n//Utils\n\nconst utils = inject('utils')\n//Store\n\nconst notificationStore = useNotificationStore()\n\n// Computed Props\n\nconst pageTitle = computed(() => {\n  return estimateStore.selectedViewEstimate\n})\n\nconst getOrderBy = computed(() => {\n  if (searchData.orderBy === 'asc' || searchData.orderBy == null) {\n    return true\n  }\n  return false\n})\n\nconst getOrderName = computed(() =>\n  getOrderBy.value ? tm('general.ascending') : tm('general.descending')\n)\n\nconst shareableLink = computed(() => {\n  return estimate.unique_hash ? `/estimates/pdf/${estimate.unique_hash}` : false\n})\n\n// Watcher\n\nwatch(route, () => {\n  loadEstimate()\n})\n\n// Created\n\nloadEstimates()\nloadEstimate()\n\nonSearch = debounce(onSearch, 500)\n\n// Methods\n\nfunction hasActiveUrl(id) {\n  return route.params.id == id\n}\n\nasync function loadEstimates() {\n  await estimateStore.fetchEstimate({ limit: 'all' }, globalStore.companySlug)\n\n  setTimeout(() => {\n    scrollToEstimate()\n  }, 500)\n}\n\nasync function loadEstimate() {\n  if (route && route.params.id) {\n    let response = await estimateStore.fetchViewEstimate(\n      {\n        id: route.params.id,\n      },\n      globalStore.companySlug\n    )\n\n    if (response.data) {\n      Object.assign(estimate, response.data.data)\n    }\n  }\n}\n\nfunction scrollToEstimate() {\n  const el = document.getElementById(`estimate-${route.params.id}`)\n\n  if (el) {\n    el.scrollIntoView({ behavior: 'smooth' })\n    el.classList.add('shake')\n  }\n}\n\nasync function onSearch() {\n  let data = {}\n\n  if (\n    searchData.estimate_number !== '' &&\n    searchData.estimate_number !== null &&\n    searchData.estimate_number !== undefined\n  ) {\n    data.estimate_number = searchData.estimate_number\n  }\n\n  if (searchData.orderBy !== null && searchData.orderBy !== undefined) {\n    data.orderBy = searchData.orderBy\n  }\n\n  if (\n    searchData.orderByField !== null &&\n    searchData.orderByField !== undefined\n  ) {\n    data.orderByField = searchData.orderByField\n  }\n\n  isSearching.value = true\n  try {\n    let response = await estimateStore.searchEstimate(\n      data,\n      globalStore.companySlug\n    )\n    isSearching.value = false\n\n    if (response.data.data) {\n      estimateStore.estimates = response.data.data\n    }\n  } catch (error) {\n    isSearching.value = false\n  }\n}\n\nfunction sortData() {\n  if (searchData.orderBy === 'asc') {\n    searchData.orderBy = 'desc'\n    onSearch()\n    return true\n  }\n  searchData.orderBy = 'asc'\n  onSearch()\n  return true\n}\n\nasync function AcceptEstimate() {\n  dialogStore\n    .openDialog({\n      title: t('general.are_you_sure'),\n      message: t('estimates.confirm_mark_as_accepted', 1),\n      yesLabel: t('general.ok'),\n      noLabel: t('general.cancel'),\n      variant: 'primary',\n      size: 'lg',\n      hideNoButton: false,\n    })\n    .then(async (res) => {\n      let data = {\n        slug: globalStore.companySlug,\n        id: route.params.id,\n        status: 'ACCEPTED',\n      }\n      if (res) {\n        estimateStore.acceptEstimate(data)\n        router.push({ name: 'estimates.dashboard' })\n      }\n    })\n}\n\nasync function RejectEstimate() {\n  dialogStore\n    .openDialog({\n      title: t('general.are_you_sure'),\n      message: t('estimates.confirm_mark_as_rejected', 1),\n      yesLabel: t('general.ok'),\n      noLabel: t('general.cancel'),\n      variant: 'primary',\n      size: 'lg',\n      hideNoButton: false,\n    })\n    .then(async (res) => {\n      let data = {\n        slug: globalStore.companySlug,\n        id: route.params.id,\n        status: 'REJECTED',\n      }\n      if (res) {\n        estimateStore.rejectEstimate(data)\n        router.push({ name: 'estimates.dashboard' })\n      }\n    })\n}\n\nfunction copyPdfUrl() {\n  let pdfUrl = `${window.location.origin}/estimates/pdf/${estimate?.unique_hash}`\n  utils.copyTextToClipboard(pdfUrl)\n  notificationStore.showNotification({\n    type: 'success',\n    message: tm('general.copied_pdf_url_clipboard'),\n  })\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/customer/views/invoices/Index.vue",
    "content": "<template>\n  <BasePage>\n    <!-- Page Header -->\n    <BasePageHeader :title=\"$t('invoices.title')\">\n      <BaseBreadcrumb>\n        <BaseBreadcrumbItem\n          :title=\"$t('general.home')\"\n          :to=\"`/${globalStore.companySlug}/customer/dashboard`\"\n        />\n        <BaseBreadcrumbItem :title=\"$tc('invoices.invoice', 2)\" to=\"#\" active />\n      </BaseBreadcrumb>\n      <template #actions>\n        <BaseButton\n          v-show=\"invoiceStore.totalInvoices\"\n          variant=\"primary-outline\"\n          @click=\"toggleFilter\"\n        >\n          {{ $t('general.filter') }}\n          <template #right=\"slotProps\">\n            <BaseIcon\n              v-if=\"!showFilters\"\n              name=\"FilterIcon\"\n              :class=\"slotProps.class\"\n            />\n            <BaseIcon v-else name=\"XIcon\" :class=\"slotProps.class\" />\n          </template>\n        </BaseButton>\n      </template>\n    </BasePageHeader>\n\n    <BaseFilterWrapper v-show=\"showFilters\" @clear=\"clearFilter\">\n      <BaseInputGroup :label=\"$t('invoices.status')\" class=\"px-3\">\n        <BaseSelectInput\n          v-model=\"filters.status\"\n          :options=\"status\"\n          searchable\n          :allow-empty=\"false\"\n          :placeholder=\"$t('general.select_a_status')\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup\n        :label=\"$t('invoices.invoice_number')\"\n        color=\"black-light\"\n        class=\"px-3 mt-2\"\n      >\n        <BaseInput v-model=\"filters.invoice_number\">\n          <BaseIcon name=\"DotsHorizontalIcon\" class=\"h-5 text-gray-500\" />\n          <BaseIcon name=\"HashtagIcon\" class=\"h-5 ml-3 text-gray-600\" />\n        </BaseInput>\n      </BaseInputGroup>\n\n      <BaseInputGroup :label=\"$t('general.from')\" class=\"px-3\">\n        <BaseDatePicker\n          v-model=\"filters.from_date\"\n          :calendar-button=\"true\"\n          calendar-button-icon=\"calendar\"\n        />\n      </BaseInputGroup>\n\n      <div\n        class=\"hidden w-8 h-0 mx-4 border border-gray-400 border-solid xl:block\"\n        style=\"margin-top: 1.5rem\"\n      />\n\n      <BaseInputGroup :label=\"$t('general.to')\" class=\"px-3\">\n        <BaseDatePicker\n          v-model=\"filters.to_date\"\n          :calendar-button=\"true\"\n          calendar-button-icon=\"calendar\"\n        />\n      </BaseInputGroup>\n    </BaseFilterWrapper>\n\n    <BaseEmptyPlaceholder\n      v-if=\"showEmptyScreen\"\n      :title=\"$t('invoices.no_invoices')\"\n      :description=\"$t('invoices.list_of_invoices')\"\n    >\n      <MoonwalkerIcon class=\"mt-5 mb-4\" />\n    </BaseEmptyPlaceholder>\n\n    <div v-show=\"!showEmptyScreen\" class=\"relative table-container\">\n      <BaseTable\n        ref=\"table\"\n        :data=\"fetchData\"\n        :columns=\"itemColumns\"\n        :placeholder-count=\"invoiceStore.totalInvoices >= 20 ? 10 : 5\"\n        class=\"mt-10\"\n      >\n        <template #cell-invoice_date=\"{ row }\">\n          {{ row.data.formatted_invoice_date }}\n        </template>\n\n        <template #cell-invoice_number=\"{ row }\">\n          <router-link\n            :to=\"{ path: `invoices/${row.data.id}/view` }\"\n            class=\"font-medium text-primary-500\"\n          >\n            {{ row.data.invoice_number }}\n          </router-link>\n        </template>\n\n        <template #cell-due_amount=\"{ row }\">\n          <BaseFormatMoney\n            :amount=\"row.data.total\"\n            :currency=\"row.data.customer.currency\"\n          />\n        </template>\n\n        <template #cell-status=\"{ row }\">\n          <BaseInvoiceStatusBadge :status=\"row.data.status\" class=\"px-3 py-1\">\n            {{ row.data.status }}\n          </BaseInvoiceStatusBadge>\n        </template>\n\n        <template #cell-paid_status=\"{ row }\">\n          <BaseInvoiceStatusBadge\n            :status=\"row.data.paid_status\"\n            class=\"px-3 py-1\"\n          >\n            {{ row.data.paid_status }}\n          </BaseInvoiceStatusBadge>\n        </template>\n\n        <template #cell-actions=\"{ row }\">\n          <BaseDropdown>\n            <template #activator>\n              <BaseIcon name=\"DotsHorizontalIcon\" class=\"h-5 text-gray-500\" />\n            </template>\n            <router-link :to=\"`invoices/${row.data.id}/view`\">\n              <BaseDropdownItem>\n                <BaseIcon name=\"EyeIcon\" class=\"h-5 mr-3 text-gray-600\" />\n                {{ $t('general.view') }}\n              </BaseDropdownItem>\n            </router-link>\n          </BaseDropdown>\n        </template>\n      </BaseTable>\n    </div>\n  </BasePage>\n</template>\n\n<script setup>\nimport { useInvoiceStore } from '@/scripts/customer/stores/invoice'\nimport { debouncedWatch } from '@vueuse/core'\nimport BaseTable from '@/scripts/components/base/base-table/BaseTable.vue'\nimport { ref, computed, reactive, inject, onMounted } from 'vue'\nimport { useGlobalStore } from '@/scripts/customer/stores/global'\nimport { useRoute } from 'vue-router'\nimport MoonwalkerIcon from '@/scripts/components/icons/empty/MoonwalkerIcon.vue'\nimport { useI18n } from 'vue-i18n'\n\nconst { t } = useI18n()\n\n//Utils\nconst utils = inject('utils')\nconst route = useRoute()\n// local state\nconst table = ref(null)\nlet isFetchingInitialData = ref(true)\nlet showFilters = ref(false)\nconst status = ref(['DRAFT', 'DUE', 'SENT', 'VIEWED', 'COMPLETED'])\nconst filters = reactive({\n  status: '',\n  from_date: '',\n  to_date: '',\n  invoice_number: '',\n})\n\n// store\n\nconst invoiceStore = useInvoiceStore()\nconst globalStore = useGlobalStore()\n\n// Invoice Table columns Data\n\nconst currency = computed(() => {\n  return globalStore.currency\n})\n\nconst itemColumns = computed(() => {\n  return [\n    {\n      key: 'invoice_date',\n      label: t('invoices.date'),\n      thClass: 'extra',\n      tdClass: 'font-medium text-gray-900',\n    },\n    { key: 'invoice_number', label: t('invoices.number') },\n\n    { key: 'status', label: t('invoices.status') },\n    { key: 'paid_status', label: t('invoices.paid_status') },\n    {\n      key: 'due_amount',\n      label: t('dashboard.recent_invoices_card.amount_due'),\n    },\n    {\n      key: 'actions',\n      thClass: 'text-right',\n      tdClass: 'text-right text-sm font-medium',\n      sortable: false,\n    },\n  ]\n})\n\n// computed props\n\nconst showEmptyScreen = computed(() => {\n  return !invoiceStore.totalInvoices && !isFetchingInitialData.value\n})\n\n//watch\n\ndebouncedWatch(\n  filters,\n  () => {\n    setFilters()\n  },\n  { debounce: 500 }\n)\n\n//methods\n\nfunction refreshTable() {\n  table.value.refresh()\n}\n\nfunction setFilters() {\n  refreshTable()\n}\n\nfunction clearFilter() {\n  filters.status = ''\n  filters.from_date = ''\n  filters.to_date = ''\n  filters.invoice_number = ''\n}\n\nfunction toggleFilter() {\n  if (showFilters.value) {\n    clearFilter()\n  }\n\n  showFilters.value = !showFilters.value\n}\n\nasync function fetchData({ page, sort }) {\n  let data = {\n    status: filters.status,\n    invoice_number: filters.invoice_number,\n    from_date: filters.from_date,\n    to_date: filters.to_date,\n    orderByField: sort.fieldName || 'created_at',\n    orderBy: sort.order || 'desc',\n    page,\n  }\n\n  isFetchingInitialData.value = true\n\n  let response = await invoiceStore.fetchInvoices(data, globalStore.companySlug)\n\n  isFetchingInitialData.value = false\n\n  return {\n    data: response.data.data,\n    pagination: {\n      totalPages: response.data.meta.last_page,\n      currentPage: page,\n      totalCount: response.data.meta.total,\n      limit: 10,\n    },\n  }\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/customer/views/invoices/View.vue",
    "content": "<template>\n  <BasePage class=\"xl:pl-96\">\n    <BasePageHeader :title=\"pageTitle.invoice_number\">\n      <template #actions>\n        <BaseButton\n          :disabled=\"isSendingEmail\"\n          variant=\"primary-outline\"\n          class=\"mr-2\"\n          tag=\"a\"\n          :href=\"`/invoices/pdf/${invoice.unique_hash}`\"\n          download\n        >\n          <template #left=\"slotProps\">\n            <BaseIcon name=\"DownloadIcon\" :class=\"slotProps.class\" />\n            {{ $t('invoices.download') }}\n          </template>\n        </BaseButton>\n\n        <BaseButton\n          v-if=\"\n            invoiceStore?.selectedViewInvoice?.paid_status !== 'PAID' &&\n            globalStore.enabledModules.includes('Payments')\n          \"\n          variant=\"primary\"\n          @click=\"payInvoice\"\n        >\n          {{ $t('invoices.pay_invoice') }}\n        </BaseButton>\n      </template>\n    </BasePageHeader>\n\n    <!-- Sidebar -->\n    <div\n      class=\"fixed top-0 left-0 hidden h-full pt-16 pb-4 bg-white w-88 xl:block\"\n    >\n      <div\n        class=\"\n          flex\n          items-center\n          justify-between\n          px-4\n          pt-8\n          pb-6\n          border border-gray-200 border-solid\n        \"\n      >\n        <BaseInput\n          v-model=\"searchData.invoice_number\"\n          :placeholder=\"$t('general.search')\"\n          type=\"text\"\n          variant=\"gray\"\n          @input=\"onSearch\"\n        >\n          <template #right>\n            <BaseIcon name=\"SearchIcon\" class=\"h-5 text-gray-400\" />\n          </template>\n        </BaseInput>\n\n        <div class=\"flex ml-3\" role=\"group\" aria-label=\"First group\">\n          <BaseDropdown\n            position=\"bottom-start\"\n            width-class=\"w-50\"\n            position-class=\"left-0\"\n          >\n            <template #activator>\n              <BaseButton variant=\"gray\">\n                <BaseIcon name=\"FilterIcon\" class=\"h-5\" />\n              </BaseButton>\n            </template>\n\n            <div\n              class=\"\n                px-4\n                py-1\n                pb-2\n                mb-2\n                text-sm\n                border-b border-gray-200 border-solid\n              \"\n            >\n              {{ $t('general.sort_by') }}\n            </div>\n\n            <div class=\"px-2\">\n              <BaseDropdownItem class=\"pt-3 rounded-md hover:rounded-md\">\n                <BaseInputGroup class=\"-mt-3 font-normal\">\n                  <BaseRadio\n                    id=\"filter_invoice_date\"\n                    v-model=\"searchData.orderByField\"\n                    :label=\"$t('invoices.invoice_date')\"\n                    name=\"filter\"\n                    size=\"sm\"\n                    value=\"invoice_date\"\n                    @update:modelValue=\"onSearch\"\n                  />\n                </BaseInputGroup>\n              </BaseDropdownItem>\n            </div>\n\n            <div class=\"px-2\">\n              <BaseDropdownItem class=\"pt-3 rounded-md hover:rounded-md\">\n                <BaseInputGroup class=\"-mt-3 font-normal\">\n                  <BaseRadio\n                    id=\"filter_due_date\"\n                    v-model=\"searchData.orderByField\"\n                    :label=\"$t('invoices.due_date')\"\n                    name=\"filter\"\n                    size=\"sm\"\n                    value=\"due_date\"\n                    @update:modelValue=\"onSearch\"\n                  />\n                </BaseInputGroup>\n              </BaseDropdownItem>\n            </div>\n\n            <div class=\"px-2\">\n              <BaseDropdownItem class=\"pt-3 rounded-md hover:rounded-md\">\n                <BaseInputGroup class=\"-mt-3 font-normal\">\n                  <BaseRadio\n                    id=\"filter_invoice_number\"\n                    v-model=\"searchData.orderByField\"\n                    :label=\"$t('invoices.invoice_number')\"\n                    size=\"sm\"\n                    name=\"filter\"\n                    value=\"invoice_number\"\n                    @update:modelValue=\"onSearch\"\n                  />\n                </BaseInputGroup>\n              </BaseDropdownItem>\n            </div>\n          </BaseDropdown>\n\n          <BaseButton class=\"ml-1\" variant=\"white\" @click=\"sortData\">\n            <BaseIcon v-if=\"getOrderBy\" name=\"SortAscendingIcon\" class=\"h-5\" />\n            <BaseIcon v-else name=\"SortDescendingIcon\" class=\"h-5\" />\n          </BaseButton>\n        </div>\n      </div>\n\n      <div\n        class=\"\n          h-full\n          pb-32\n          overflow-y-scroll\n          border-l border-gray-200 border-solid\n          sw-scroll\n        \"\n      >\n        <router-link\n          v-for=\"(invoice, index) in invoiceStore.invoices\"\n          :id=\"'invoice-' + invoice.id\"\n          :key=\"index\"\n          :to=\"`/${globalStore.companySlug}/customer/invoices/${invoice.id}/view`\"\n          :class=\"[\n            'flex justify-between p-4 items-center cursor-pointer hover:bg-gray-100 border-l-4 border-transparent',\n            {\n              'bg-gray-100 border-l-4 border-primary-500 border-solid':\n                hasActiveUrl(invoice.id),\n            },\n          ]\"\n          style=\"border-bottom: 1px solid rgba(185, 193, 209, 0.41)\"\n        >\n          <div class=\"flex-2\">\n            <div\n              class=\"\n                mb-1\n                not-italic\n                font-medium\n                leading-5\n                text-gray-500\n                capitalize\n                text-md\n              \"\n            >\n              {{ invoice.invoice_number }}\n            </div>\n            <BaseInvoiceStatusBadge :status=\"invoice.status\">\n              {{ invoice.status }}\n            </BaseInvoiceStatusBadge>\n          </div>\n\n          <div class=\"flex-1 whitespace-nowrap right\">\n            <BaseFormatMoney\n              class=\"\n                mb-2\n                text-xl\n                not-italic\n                font-semibold\n                leading-8\n                text-right text-gray-900\n                block\n              \"\n              :amount=\"invoice.total\"\n              :currency=\"invoice.currency\"\n            />\n\n            <div class=\"text-sm text-right text-gray-500 non-italic\">\n              {{ invoice.formatted_invoice_date }}\n            </div>\n          </div>\n        </router-link>\n\n        <p\n          v-if=\"!invoiceStore.invoices.length\"\n          class=\"flex justify-center px-4 mt-5 text-sm text-gray-600\"\n        >\n          {{ $t('invoices.no_matching_invoices') }}\n        </p>\n      </div>\n    </div>\n\n    <!-- pdf -->\n    <div\n      class=\"flex flex-col min-h-0 mt-8 overflow-hidden\"\n      style=\"height: 75vh\"\n    >\n      <iframe\n        v-if=\"shareableLink\"\n        ref=\"report\"\n        :src=\"shareableLink\"\n        class=\"flex-1 border border-gray-400 border-solid rounded-md\"\n        @click=\"ViewReportsPDF\"\n      />\n    </div>\n  </BasePage>\n</template>\n\n<script setup>\nimport { useI18n } from 'vue-i18n'\nimport BaseDropdown from '@/scripts/components/base/BaseDropdown.vue'\nimport BaseDropdownItem from '@/scripts/components/base/BaseDropdownItem.vue'\nimport { debounce } from 'lodash'\nimport { ref, reactive, computed, inject, watch, onMounted } from 'vue'\nimport { useRoute } from 'vue-router'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport moment from 'moment'\nimport { useInvoiceStore } from '@/scripts/customer/stores/invoice'\nimport { useGlobalStore } from '@/scripts/customer/stores/global'\n\n// Router\nconst route = useRoute()\n//store\n\nconst invoiceStore = useInvoiceStore()\nconst globalStore = useGlobalStore()\nconst { tm } = useI18n()\n\n//local state\nlet invoice = reactive({})\nlet searchData = reactive({\n  orderBy: '',\n  orderByField: '',\n  invoice_number: '',\n  // searchText: '',\n})\n\nlet url = ref(null)\nlet siteURL = ref(null)\nlet isSearching = ref(false)\nlet isSendingEmail = ref(false)\nlet isMarkingAsSent = ref(false)\n\n//Utils\nconst utils = inject('utils')\n\n//Store\n\nconst notificationStore = useNotificationStore()\n\n// Computed Props\n\nconst pageTitle = computed(() => {\n  return invoiceStore.selectedViewInvoice\n})\n\nconst getOrderBy = computed(() => {\n  if (searchData.orderBy === 'asc' || searchData.orderBy == null) {\n    return true\n  }\n  return false\n})\n\nconst getOrderName = computed(() =>\n  getOrderBy.value ? tm('general.ascending') : tm('general.descending')\n)\n\nconst shareableLink = computed(() => {\n  return invoice.unique_hash ? `/invoices/pdf/${invoice.unique_hash}` : false\n})\n\n// Watcher\n\nwatch(route, () => {\n  loadInvoice()\n})\n\n// Created\n\nloadInvoices()\nloadInvoice()\n\nonSearch = debounce(onSearch, 500)\n\n// Methods\n\nfunction hasActiveUrl(id) {\n  return route.params.id == id\n}\n\nasync function loadInvoices() {\n  await invoiceStore.fetchInvoices(\n    {\n      limit: 'all',\n    },\n    globalStore.companySlug\n  )\n\n  setTimeout(() => {\n    scrollToInvoice()\n  }, 500)\n}\n\nasync function loadInvoice() {\n  if (route && route.params.id) {\n    let response = await invoiceStore.fetchViewInvoice(\n      {\n        id: route.params.id,\n      },\n      globalStore.companySlug\n    )\n\n    if (response.data) {\n      Object.assign(invoice, response.data.data)\n    }\n  }\n}\n\nfunction scrollToInvoice() {\n  const el = document.getElementById(`invoice-${route.params.id}`)\n\n  if (el) {\n    el.scrollIntoView({ behavior: 'smooth' })\n    el.classList.add('shake')\n  }\n}\n\nasync function onSearch() {\n  let data = {}\n\n  if (\n    searchData.invoice_number !== '' &&\n    searchData.invoice_number !== null &&\n    searchData.invoice_number !== undefined\n  ) {\n    data.invoice_number = searchData.invoice_number\n  }\n\n  if (searchData.orderBy !== null && searchData.orderBy !== undefined) {\n    data.orderBy = searchData.orderBy\n  }\n\n  if (\n    searchData.orderByField !== null &&\n    searchData.orderByField !== undefined\n  ) {\n    data.orderByField = searchData.orderByField\n  }\n\n  isSearching.value = true\n  try {\n    let response = await invoiceStore.searchInvoice(\n      data,\n      globalStore.companySlug\n    )\n    isSearching.value = false\n\n    if (response.data.data) {\n      invoiceStore.invoices = response.data.data\n    }\n  } catch (error) {\n    isSearching.value = false\n  }\n}\n\nfunction sortData() {\n  if (searchData.orderBy === 'asc') {\n    searchData.orderBy = 'desc'\n    onSearch()\n    return true\n  }\n  searchData.orderBy = 'asc'\n  onSearch()\n  return true\n}\n\nfunction payInvoice() {\n  router.push({\n    name: 'invoice.portal.payment',\n    params: {\n      id: invoiceStore.selectedViewInvoice.id,\n      company: invoiceStore.selectedViewInvoice.company.slug,\n    },\n  })\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/customer/views/payments/Index.vue",
    "content": "<template>\n  <BasePage>\n    <BasePageHeader :title=\"$t('payments.title')\">\n      <BaseBreadcrumb slot=\"breadcrumbs\">\n        <BaseBreadcrumbItem\n          :title=\"$t('general.home')\"\n          :to=\"`/${globalStore.companySlug}/customer/dashboard`\"\n        />\n\n        <BaseBreadcrumbItem :title=\"$tc('payments.payment', 2)\" to=\"#\" active />\n      </BaseBreadcrumb>\n\n      <template #actions>\n        <BaseButton\n          v-show=\"paymentStore.totalPayments\"\n          variant=\"primary-outline\"\n          @click=\"toggleFilter\"\n        >\n          {{ $t('general.filter') }}\n          <template #right=\"slotProps\">\n            <BaseIcon\n              v-if=\"!showFilters\"\n              :class=\"slotProps.class\"\n              name=\"FilterIcon\"\n            />\n            <BaseIcon v-else :class=\"slotProps.class\" name=\"XIcon\" />\n          </template>\n        </BaseButton>\n      </template>\n    </BasePageHeader>\n\n    <BaseFilterWrapper v-show=\"showFilters\" @clear=\"clearFilter\">\n      <BaseInputGroup :label=\"$t('payments.payment_number')\" class=\"px-3\">\n        <BaseInput\n          v-model=\"filters.payment_number\"\n          :placeholder=\"$t('payments.payment_number')\"\n        />\n      </BaseInputGroup>\n\n      <BaseInputGroup :label=\"$t('payments.payment_mode')\" class=\"px-3\">\n        <BaseMultiselect\n          v-model=\"filters.payment_mode\"\n          value-prop=\"id\"\n          track-by=\"name\"\n          :filter-results=\"false\"\n          label=\"name\"\n          resolve-on-load\n          :delay=\"100\"\n          searchable\n          :options=\"searchPayment\"\n          :placeholder=\"$t('payments.payment_mode')\"\n        />\n      </BaseInputGroup>\n    </BaseFilterWrapper>\n\n    <BaseEmptyPlaceholder\n      v-if=\"showEmptyScreen\"\n      :title=\"$t('payments.no_payments')\"\n      :description=\"$t('payments.list_of_payments')\"\n    >\n      <CapsuleIcon class=\"mt-5 mb-4\" />\n    </BaseEmptyPlaceholder>\n\n    <div v-show=\"!showEmptyScreen\" class=\"relative table-container\">\n      <BaseTable\n        ref=\"table\"\n        :data=\"fetchData\"\n        :columns=\"paymentColumns\"\n        :placeholder-count=\"paymentStore.totalPayments >= 20 ? 10 : 5\"\n        class=\"mt-10\"\n      >\n        <template #cell-payment_date=\"{ row }\">\n          {{ row.data.formatted_payment_date }}\n        </template>\n\n        <template #cell-payment_number=\"{ row }\">\n          <router-link\n            :to=\"{\n              path: `payments/${row.data.id}/view`,\n            }\"\n            class=\"font-medium text-primary-500\"\n          >\n            {{ row.data.payment_number }}\n          </router-link>\n        </template>\n\n        <template #cell-payment_mode=\"{ row }\">\n          <span>\n            {{\n              row.data.payment_method\n                ? row.data.payment_method.name\n                : $t('payments.not_selected')\n            }}\n          </span>\n        </template>\n\n        <template #cell-invoice_number=\"{ row }\">\n          <span>\n            {{\n              row.data.invoice?.invoice_number\n                ? row.data.invoice?.invoice_number\n                : $t('payments.no_invoice')\n            }}\n          </span>\n        </template>\n\n        <template #cell-amount=\"{ row }\">\n          <div v-html=\"utils.formatMoney(row.data.amount, currency)\" />\n        </template>\n\n        <template #cell-actions=\"{ row }\">\n          <BaseDropdown>\n            <template #activator>\n              <BaseIcon name=\"DotsHorizontalIcon\" class=\"w-5 text-gray-500\" />\n            </template>\n            <router-link :to=\"`payments/${row.data.id}/view`\">\n              <BaseDropdownItem>\n                <BaseIcon name=\"EyeIcon\" class=\"h-5 mr-3 text-gray-600\" />\n                {{ $t('general.view') }}\n              </BaseDropdownItem>\n            </router-link>\n          </BaseDropdown>\n        </template>\n      </BaseTable>\n    </div>\n  </BasePage>\n</template>\n\n<script setup>\nimport { debouncedWatch } from '@vueuse/core'\nimport BaseTable from '@/scripts/components/base/base-table/BaseTable.vue'\nimport CapsuleIcon from '@/scripts/components/icons/empty/CapsuleIcon.vue'\nimport { ref, reactive, inject, computed } from 'vue'\nimport BaseDropdownItem from '@/scripts/components/base/BaseDropdownItem.vue'\nimport BaseDropdown from '@/scripts/components/base/BaseDropdown.vue'\nimport { useI18n } from 'vue-i18n'\nimport { usePaymentStore } from '@/scripts/customer/stores/payment'\nimport { useGlobalStore } from '@/scripts/customer/stores/global'\nimport { useRoute } from 'vue-router'\n\nconst { tm, t } = useI18n()\nlet showFilters = ref(false)\nlet sortedBy = ref('created_at')\nlet isFetchingInitialData = ref(true)\nlet table = ref(null)\nconst filters = reactive({\n  payment_mode: '',\n  payment_number: '',\n})\n\n//Utils\nconst utils = inject('utils')\n\n//Store\nconst route = useRoute()\nconst paymentStore = usePaymentStore()\nconst globalStore = useGlobalStore()\n\n// Computed Props\n\nconst showEmptyScreen = computed(() => {\n  return !paymentStore.totalPayments && !isFetchingInitialData.value\n})\n\nconst currency = computed(() => {\n  return globalStore.currency\n})\n\n// Payment Table columns Data\n\nconst paymentColumns = computed(() => {\n  return [\n    {\n      key: 'payment_date',\n      label: t('payments.date'),\n      thClass: 'extra',\n      tdClass: 'font-medium text-gray-900',\n    },\n    { key: 'payment_number', label: t('payments.payment_number') },\n    { key: 'payment_mode', label: t('payments.payment_mode') },\n    { key: 'invoice_number', label: t('invoices.invoice_number') },\n    { key: 'amount', label: t('payments.amount') },\n    {\n      key: 'actions',\n      label: '',\n      tdClass: 'text-right text-sm font-medium',\n      sortable: false,\n    },\n  ]\n})\n\n// Created\n\ndebouncedWatch(\n  filters,\n  () => {\n    setFilters()\n  },\n  { debounce: 500 }\n)\n\n// Methods\n\nasync function searchPayment(search) {\n  let res = await paymentStore.fetchPaymentModes(\n    search,\n    globalStore.companySlug\n  )\n  return res.data.data\n}\n\nasync function fetchData({ page, filter, sort }) {\n  let data = {\n    payment_method_id:\n      filters.payment_mode !== null ? filters.payment_mode : '',\n    payment_number: filters.payment_number,\n    orderByField: sort.fieldName || 'created_at',\n    orderBy: sort.order || 'desc',\n    page,\n  }\n\n  isFetchingInitialData.value = true\n  let response = await paymentStore.fetchPayments(data, globalStore.companySlug)\n\n  isFetchingInitialData.value = false\n\n  return {\n    data: response.data.data,\n    pagination: {\n      totalPages: response.data.meta.last_page,\n      currentPage: page,\n      totalCount: response.data.meta.total,\n      limit: 10,\n    },\n  }\n}\n\nfunction refreshTable() {\n  table.value.refresh()\n}\n\nfunction setFilters() {\n  refreshTable()\n}\n\nfunction clearFilter() {\n  filters.customer = ''\n  filters.payment_mode = ''\n  filters.payment_number = ''\n}\n\nfunction toggleFilter() {\n  if (showFilters.value) {\n    clearFilter()\n  }\n\n  showFilters.value = !showFilters.value\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/customer/views/payments/View.vue",
    "content": "<template>\n  <BasePage class=\"xl:pl-96\">\n    <BasePageHeader :title=\"pageTitle.payment_number\">\n      <template #actions>\n        <BaseButton\n          :disabled=\"isSendingEmail\"\n          variant=\"primary-outline\"\n          tag=\"a\"\n          download\n          :href=\"`/payments/pdf/${payment.unique_hash}`\"\n        >\n          <template #left=\"slotProps\">\n            <BaseIcon name=\"DownloadIcon\" :class=\"slotProps.class\" />\n            {{ $t('general.download') }}\n          </template>\n        </BaseButton>\n      </template>\n    </BasePageHeader>\n\n    <!-- Sidebar -->\n    <div\n      class=\"fixed top-0 left-0 hidden h-full pt-16 pb-4 bg-white w-88 xl:block\"\n    >\n      <div\n        class=\"\n          flex\n          items-center\n          justify-between\n          px-4\n          pt-8\n          pb-6\n          border border-gray-200 border-solid\n        \"\n      >\n        <BaseInput\n          v-model=\"searchData.payment_number\"\n          :placeholder=\"$t('general.search')\"\n          type=\"text\"\n          variant=\"gray\"\n          @input=\"onSearch\"\n        >\n          <template #right>\n            <BaseIcon name=\"SearchIcon\" class=\"h-5 text-gray-400\" />\n          </template>\n        </BaseInput>\n\n        <div class=\"flex ml-3\" role=\"group\" aria-label=\"First group\">\n          <BaseDropdown\n            position=\"bottom-start\"\n            width-class=\"w-50\"\n            position-class=\"left-0\"\n          >\n            <template #activator>\n              <BaseButton variant=\"gray\">\n                <BaseIcon name=\"FilterIcon\" class=\"h-5\" />\n              </BaseButton>\n            </template>\n\n            <div\n              class=\"\n                px-4\n                py-1\n                pb-2\n                mb-2\n                text-sm\n                border-b border-gray-200 border-solid\n              \"\n            >\n              {{ $t('general.sort_by') }}\n            </div>\n\n            <div class=\"px-2\">\n              <BaseDropdownItem class=\"rounded-md pt-3 hover:rounded-md\">\n                <BaseInputGroup class=\"-mt-3 font-normal\">\n                  <BaseRadio\n                    id=\"filter_invoice_number\"\n                    v-model=\"searchData.orderByField\"\n                    :label=\"$t('invoices.title')\"\n                    size=\"sm\"\n                    name=\"filter\"\n                    value=\"invoice_number\"\n                    @update:modelValue=\"onSearch\"\n                  />\n                </BaseInputGroup>\n              </BaseDropdownItem>\n            </div>\n\n            <div class=\"px-2\">\n              <BaseDropdownItem class=\"rounded-md pt-3 hover:rounded-md\">\n                <BaseInputGroup class=\"-mt-3 font-normal\">\n                  <BaseRadio\n                    id=\"filter_payment_date\"\n                    v-model=\"searchData.orderByField\"\n                    :label=\"$t('payments.date')\"\n                    size=\"sm\"\n                    name=\"filter\"\n                    value=\"payment_date\"\n                    @update:modelValue=\"onSearch\"\n                  />\n                </BaseInputGroup>\n              </BaseDropdownItem>\n            </div>\n\n            <div class=\"px-2\">\n              <BaseDropdownItem class=\"rounded-md pt-3 hover:rounded-md\">\n                <BaseInputGroup class=\"-mt-3 font-normal\">\n                  <BaseRadio\n                    id=\"filter_payment_number\"\n                    v-model=\"searchData.orderByField\"\n                    :label=\"$t('payments.payment_number')\"\n                    size=\"sm\"\n                    name=\"filter\"\n                    value=\"payment_number\"\n                    @update:modelValue=\"onSearch\"\n                  />\n                </BaseInputGroup>\n              </BaseDropdownItem>\n            </div>\n          </BaseDropdown>\n\n          <BaseButton class=\"ml-1\" variant=\"white\" @click=\"sortData\">\n            <BaseIcon v-if=\"getOrderBy\" name=\"SortAscendingIcon\" class=\"h-5\" />\n            <BaseIcon v-else name=\"SortDescendingIcon\" class=\"h-5\" />\n          </BaseButton>\n        </div>\n      </div>\n\n      <div\n        class=\"\n          h-full\n          pb-32\n          overflow-y-scroll\n          border-l border-gray-200 border-solid\n          sw-scroll\n        \"\n      >\n        <router-link\n          v-for=\"(payment, index) in paymentStore.payments\"\n          :id=\"'payment-' + payment.id\"\n          :key=\"index\"\n          :to=\"`/${globalStore.companySlug}/customer/payments/${payment.id}/view`\"\n          :class=\"[\n            'flex justify-between p-4 items-center cursor-pointer hover:bg-gray-100 border-l-4 border-transparent',\n            {\n              'bg-gray-100 border-l-4 border-primary-500 border-solid':\n                hasActiveUrl(payment.id),\n            },\n          ]\"\n          style=\"border-bottom: 1px solid rgba(185, 193, 209, 0.41)\"\n        >\n          <div class=\"flex-2\">\n            <div\n              class=\"\n                mb-1\n                text-md\n                not-italic\n                font-medium\n                leading-5\n                text-gray-500\n                capitalize\n              \"\n            >\n              {{ payment.payment_number }}\n            </div>\n          </div>\n\n          <div class=\"flex-1 whitespace-nowrap right\">\n            <BaseFormatMoney\n              class=\"\n                mb-2\n                text-xl\n                not-italic\n                font-semibold\n                leading-8\n                text-right text-gray-900\n                block\n              \"\n              :amount=\"payment.amount\"\n              :currency=\"payment.currency\"\n            />\n\n            <div class=\"text-sm text-right text-gray-500 non-italic\">\n              {{ payment.formatted_payment_date }}\n            </div>\n          </div>\n        </router-link>\n\n        <p\n          v-if=\"!paymentStore.payments.length\"\n          class=\"flex justify-center px-4 mt-5 text-sm text-gray-600\"\n        >\n          {{ $t('payments.no_matching_payments') }}\n        </p>\n      </div>\n    </div>\n\n    <!-- pdf -->\n    <div\n      class=\"flex flex-col min-h-0 mt-8 overflow-hidden\"\n      style=\"height: 75vh\"\n    >\n      <iframe\n        v-if=\"shareableLink\"\n        :src=\"shareableLink\"\n        class=\"flex-1 border border-gray-400 border-solid rounded-md\"\n      />\n    </div>\n  </BasePage>\n</template>\n\n<script setup>\nimport { useI18n } from 'vue-i18n'\nimport BaseDropdown from '@/scripts/components/base/BaseDropdown.vue'\nimport BaseDropdownItem from '@/scripts/components/base/BaseDropdownItem.vue'\nimport { debounce } from 'lodash'\nimport { ref, reactive, computed, inject, watch } from 'vue'\nimport { useRoute } from 'vue-router'\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport moment from 'moment'\nimport { usePaymentStore } from '@/scripts/customer/stores/payment'\nimport { useGlobalStore } from '@/scripts/customer/stores/global'\n\n// Router\nconst route = useRoute()\nconst paymentStore = usePaymentStore()\nconst globalStore = useGlobalStore()\n\nconst { tm, t } = useI18n()\n// let id = ref(null)\n\nlet payment = reactive({})\nlet searchData = reactive({\n  orderBy: '',\n  orderByField: '',\n  payment_number: '',\n})\n\nlet isSearching = ref(false)\nlet isSendingEmail = ref(false)\nlet isMarkingAsSent = ref(false)\n\n//Utils\n\nconst $utils = inject('utils')\n\n//Store\n\nconst notificationStore = useNotificationStore()\n\n// Computed Props\nconst pageTitle = computed(() => {\n  return paymentStore.selectedViewPayment\n})\n\nconst getOrderBy = computed(() => {\n  if (searchData.orderBy === 'asc' || searchData.orderBy == null) {\n    return true\n  }\n  return false\n})\n\nconst getOrderName = computed(() =>\n  getOrderBy.value ? tm('general.ascending') : tm('general.descending')\n)\n\nconst shareableLink = computed(() => {\n  return payment.unique_hash ? `/payments/pdf/${payment.unique_hash}` : false\n})\n\n// Watcher\n\nwatch(route, () => {\n  loadPayment()\n})\n\n// Created\n\nloadPayments()\nloadPayment()\n\nonSearch = debounce(onSearch, 500)\n\n// Methods\n\nfunction hasActiveUrl(id) {\n  return route.params.id == id\n}\n\nasync function loadPayments() {\n  await paymentStore.fetchPayments(\n    {\n      limit: 'all',\n    },\n    globalStore.companySlug\n  )\n\n  setTimeout(() => {\n    scrollToPayment()\n  }, 500)\n}\n\nasync function loadPayment() {\n  if (route && route.params.id) {\n    let response = await paymentStore.fetchViewPayment(\n      {\n        id: route.params.id,\n      },\n      globalStore.companySlug\n    )\n\n    if (response.data) {\n      Object.assign(payment, response.data.data)\n    }\n  }\n}\n\nfunction scrollToPayment() {\n  const el = document.getElementById(`payment-${route.params.id}`)\n\n  if (el) {\n    el.scrollIntoView({ behavior: 'smooth' })\n    el.classList.add('shake')\n  }\n}\n\nasync function onSearch() {\n  let data = {}\n\n  if (\n    searchData.payment_number !== '' &&\n    searchData.payment_number !== null &&\n    searchData.payment_number !== undefined\n  ) {\n    data.payment_number = searchData.payment_number\n  }\n\n  if (searchData.orderBy !== null && searchData.orderBy !== undefined) {\n    data.orderBy = searchData.orderBy\n  }\n\n  if (\n    searchData.orderByField !== null &&\n    searchData.orderByField !== undefined\n  ) {\n    data.orderByField = searchData.orderByField\n  }\n\n  isSearching.value = true\n  try {\n    let response = await paymentStore.searchPayment(\n      data,\n      globalStore.companySlug\n    )\n    isSearching.value = false\n\n    if (response.data.data) {\n      paymentStore.payments = response.data.data\n    }\n  } catch (error) {\n    isSearching.value = false\n  }\n}\n\nfunction sortData() {\n  if (searchData.orderBy === 'asc') {\n    searchData.orderBy = 'desc'\n    onSearch()\n    return true\n  }\n  searchData.orderBy = 'asc'\n  onSearch()\n  return true\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/customer/views/settings/AddressInformation.vue",
    "content": "<template>\n  <form class=\"relative h-full mt-4\" @submit.prevent=\"UpdateCustomerAddress\">\n    <BaseCard>\n      <div class=\"mb-6\">\n        <h6 class=\"font-bold text-left\">\n          {{ $t('settings.menu_title.address_information') }}\n        </h6>\n        <p\n          class=\"mt-2 text-sm leading-snug text-left text-gray-500\"\n          style=\"max-width: 680px\"\n        >\n          {{ $t('settings.address_information.section_description') }}\n        </p>\n      </div>\n\n      <!-- Billing Address   -->\n\n      <div class=\"grid grid-cols-5 gap-4 mb-8\">\n        <h6 class=\"col-span-5 text-lg font-semibold text-left lg:col-span-1\">\n          {{ $t('customers.billing_address') }}\n        </h6>\n\n        <div\n          class=\"grid col-span-5 lg:col-span-4 gap-y-6 gap-x-4 md:grid-cols-6\"\n        >\n          <BaseInputGroup\n            :label=\"$t('customers.name')\"\n            class=\"w-full md:col-span-3\"\n          >\n            <BaseInput\n              v-model.trim=\"userStore.userForm.billing.name\"\n              type=\"text\"\n              class=\"w-full\"\n              name=\"address_name\"\n            />\n          </BaseInputGroup>\n\n          <BaseInputGroup\n            :label=\"$t('customers.country')\"\n            class=\"md:col-span-3\"\n          >\n            <BaseMultiselect\n              v-model=\"userStore.userForm.billing.country_id\"\n              value-prop=\"id\"\n              label=\"name\"\n              track-by=\"name\"\n              resolve-on-load\n              searchable\n              :options=\"globalStore.countries\"\n              :placeholder=\"$t('general.select_country')\"\n              class=\"w-full\"\n            />\n          </BaseInputGroup>\n\n          <BaseInputGroup :label=\"$t('customers.state')\" class=\"md:col-span-3\">\n            <BaseInput\n              v-model=\"userStore.userForm.billing.state\"\n              name=\"billing.state\"\n              type=\"text\"\n            />\n          </BaseInputGroup>\n\n          <BaseInputGroup :label=\"$t('customers.city')\" class=\"md:col-span-3\">\n            <BaseInput\n              v-model=\"userStore.userForm.billing.city\"\n              name=\"billing.city\"\n              type=\"text\"\n            />\n          </BaseInputGroup>\n\n          <BaseInputGroup\n            :label=\"$t('customers.address')\"\n            class=\"md:col-span-3\"\n          >\n            <BaseTextarea\n              v-model.trim=\"userStore.userForm.billing.address_street_1\"\n              :placeholder=\"$t('general.street_1')\"\n              type=\"text\"\n              name=\"billing_street1\"\n              :container-class=\"`mt-3`\"\n            />\n\n            <BaseTextarea\n              v-model.trim=\"userStore.userForm.billing.address_street_2\"\n              :placeholder=\"$t('general.street_2')\"\n              type=\"text\"\n              class=\"mt-3\"\n              name=\"billing_street2\"\n              :container-class=\"`mt-3`\"\n            />\n          </BaseInputGroup>\n\n          <div class=\"md:col-span-3\">\n            <BaseInputGroup :label=\"$t('customers.phone')\" class=\"text-left\">\n              <BaseInput\n                v-model.trim=\"userStore.userForm.billing.phone\"\n                type=\"text\"\n                name=\"phone\"\n              />\n            </BaseInputGroup>\n\n            <BaseInputGroup\n              :label=\"$t('customers.zip_code')\"\n              class=\"mt-2 text-left\"\n            >\n              <BaseInput\n                v-model.trim=\"userStore.userForm.billing.zip\"\n                type=\"text\"\n                name=\"zip\"\n              />\n            </BaseInputGroup>\n          </div>\n        </div>\n      </div>\n\n      <BaseDivider class=\"mb-5 md:mb-8\" />\n\n      <!-- Billing Address Copy Button  -->\n      <div class=\"flex items-center justify-start mb-6 md:justify-end md:mb-0\">\n        <div class=\"p-1\">\n          <BaseButton\n            ref=\"sameAddress\"\n            type=\"button\"\n            @click=\"userStore.copyAddress(true)\"\n          >\n            <template #left=\"slotProps\">\n              <BaseIcon name=\"DocumentDuplicateIcon\" :class=\"slotProps.class\" />\n            </template>\n            {{ $t('customers.copy_billing_address') }}\n          </BaseButton>\n        </div>\n      </div>\n\n      <!-- Shipping Address  -->\n\n      <div class=\"grid grid-cols-5 gap-4 mb-8\">\n        <h6 class=\"col-span-5 text-lg font-semibold text-left lg:col-span-1\">\n          {{ $t('customers.shipping_address') }}\n        </h6>\n\n        <div\n          v-if=\"userStore.userForm.shipping\"\n          class=\"grid col-span-5 lg:col-span-4 gap-y-6 gap-x-4 md:grid-cols-6\"\n        >\n          <BaseInputGroup :label=\"$t('customers.name')\" class=\"md:col-span-3\">\n            <BaseInput\n              v-model.trim=\"userStore.userForm.shipping.name\"\n              type=\"text\"\n              name=\"address_name\"\n            />\n          </BaseInputGroup>\n\n          <BaseInputGroup\n            :label=\"$t('customers.country')\"\n            class=\"md:col-span-3\"\n          >\n            <BaseMultiselect\n              v-model=\"userStore.userForm.shipping.country_id\"\n              value-prop=\"id\"\n              label=\"name\"\n              track-by=\"name\"\n              resolve-on-load\n              searchable\n              :options=\"globalStore.countries\"\n              :placeholder=\"$t('general.select_country')\"\n              class=\"w-full\"\n            />\n          </BaseInputGroup>\n\n          <BaseInputGroup :label=\"$t('customers.state')\" class=\"md:col-span-3\">\n            <BaseInput\n              v-model=\"userStore.userForm.shipping.state\"\n              name=\"shipping.state\"\n              type=\"text\"\n            />\n          </BaseInputGroup>\n\n          <BaseInputGroup :label=\"$t('customers.city')\" class=\"md:col-span-3\">\n            <BaseInput\n              v-model=\"userStore.userForm.shipping.city\"\n              name=\"shipping.city\"\n              type=\"text\"\n            />\n          </BaseInputGroup>\n\n          <BaseInputGroup\n            :label=\"$t('customers.address')\"\n            class=\"md:col-span-3\"\n          >\n            <BaseTextarea\n              v-model.trim=\"userStore.userForm.shipping.address_street_1\"\n              type=\"text\"\n              :placeholder=\"$t('general.street_1')\"\n              name=\"shipping_street1\"\n            />\n\n            <BaseTextarea\n              v-model.trim=\"userStore.userForm.shipping.address_street_2\"\n              type=\"text\"\n              :placeholder=\"$t('general.street_2')\"\n              name=\"shipping_street2\"\n              class=\"mt-3\"\n            />\n          </BaseInputGroup>\n\n          <div class=\"md:col-span-3\">\n            <BaseInputGroup :label=\"$t('customers.phone')\" class=\"text-left\">\n              <BaseInput\n                v-model.trim=\"userStore.userForm.shipping.phone\"\n                type=\"text\"\n                name=\"phone\"\n              />\n            </BaseInputGroup>\n\n            <BaseInputGroup\n              :label=\"$t('customers.zip_code')\"\n              class=\"mt-2 text-left\"\n            >\n              <BaseInput\n                v-model.trim=\"userStore.userForm.shipping.zip\"\n                type=\"text\"\n                name=\"zip\"\n              />\n            </BaseInputGroup>\n          </div>\n        </div>\n      </div>\n      <div class=\"flex items-center justify-end\">\n        <BaseButton :loading=\"isSaving\" :disabled=\"isSaving\">\n          <template #left=\"slotProps\">\n            <BaseIcon\n              v-if=\"!isSaving\"\n              name=\"SaveIcon\"\n              :class=\"slotProps.class\"\n            />\n          </template>\n          {{ $t('general.save') }}\n        </BaseButton>\n      </div>\n    </BaseCard>\n  </form>\n</template>\n\n<script setup>\nimport { useUserStore } from '@/scripts/customer/stores/user'\nimport { useGlobalStore } from '@/scripts/customer/stores/global'\nimport { useI18n } from 'vue-i18n'\nimport { useRoute } from 'vue-router'\nimport { ref } from 'vue'\n\n//store\n\nconst userStore = useUserStore()\nconst route = useRoute()\nconst { tm, t } = useI18n()\nconst globalStore = useGlobalStore()\n\n// local state\nlet isSaving = ref(false)\n\n// created\n\nglobalStore.fetchCountries()\n\n// methods\n\nfunction UpdateCustomerAddress() {\n  isSaving.value = true\n  let data = userStore.userForm\n  userStore\n    .updateCurrentUser({\n      data,\n      message: tm('customers.address_updated_message'),\n    })\n    .then((res) => {\n      isSaving.value = false\n    })\n    .catch((err) => {\n      isSaving.value = false\n    })\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/customer/views/settings/CustomerSettings.vue",
    "content": "<template>\n  <form class=\"relative h-full mt-4\" @submit.prevent=\"updateCustomerData\">\n    <BaseCard>\n      <div>\n        <h6 class=\"font-bold text-left\">\n          {{ $t('settings.account_settings.account_settings') }}\n        </h6>\n        <p\n          class=\"mt-2 text-sm leading-snug text-left text-gray-500\"\n          style=\"max-width: 680px\"\n        >\n          {{ $t('settings.account_settings.section_description') }}\n        </p>\n      </div>\n\n      <div class=\"grid gap-6 sm:grid-col-1 md:grid-cols-2 mt-6\">\n        <BaseInputGroup\n          :label=\"$tc('settings.account_settings.profile_picture')\"\n        >\n          <BaseFileUploader\n            v-model=\"imgFiles\"\n            :avatar=\"true\"\n            accept=\"image/*\"\n            @change=\"onFileInputChange\"\n            @remove=\"onFileInputRemove\"\n          />\n        </BaseInputGroup>\n\n        <!-- Empty Column -->\n        <span></span>\n\n        <BaseInputGroup\n          :label=\"$tc('settings.account_settings.name')\"\n          :error=\"\n            v$.userForm.name.$error && v$.userForm.name.$errors[0].$message\n          \"\n          required\n        >\n          <BaseInput\n            v-model=\"userStore.userForm.name\"\n            :invalid=\"v$.userForm.name.$error\"\n            @input=\"v$.userForm.name.$touch()\"\n          />\n        </BaseInputGroup>\n\n        <BaseInputGroup\n          :label=\"$tc('settings.account_settings.email')\"\n          :error=\"\n            v$.userForm.email.$error && v$.userForm.email.$errors[0].$message\n          \"\n          required\n        >\n          <BaseInput\n            v-model=\"userStore.userForm.email\"\n            :invalid=\"v$.userForm.email.$error\"\n            @input=\"v$.userForm.email.$touch()\"\n          />\n        </BaseInputGroup>\n\n        <BaseInputGroup\n          :error=\"\n            v$.userForm.password.$error &&\n            v$.userForm.password.$errors[0].$message\n          \"\n          :label=\"$tc('settings.account_settings.password')\"\n        >\n          <BaseInput\n            v-model=\"userStore.userForm.password\"\n            :type=\"isShowPassword ? 'text' : 'password'\"\n            :invalid=\"v$.userForm.password.$error\"\n            @input=\"v$.userForm.password.$touch()\"\n          >\n            <template #right>\n              <BaseIcon\n                v-if=\"isShowPassword\"\n                name=\"EyeOffIcon\"\n                class=\"w-5 h-5 mr-1 text-gray-500 cursor-pointer\"\n                @click=\"isShowPassword = !isShowPassword\"\n              />\n              <BaseIcon\n                v-else\n                name=\"EyeIcon\"\n                class=\"w-5 h-5 mr-1 text-gray-500 cursor-pointer\"\n                @click=\"isShowPassword = !isShowPassword\"\n              /> </template\n          ></BaseInput>\n        </BaseInputGroup>\n\n        <BaseInputGroup\n          :label=\"$tc('settings.account_settings.confirm_password')\"\n          :error=\"\n            v$.userForm.confirm_password.$error &&\n            v$.userForm.confirm_password.$errors[0].$message\n          \"\n        >\n          <BaseInput\n            v-model=\"userStore.userForm.confirm_password\"\n            :type=\"isShowConfirmPassword ? 'text' : 'password'\"\n            :invalid=\"v$.userForm.confirm_password.$error\"\n            @input=\"v$.userForm.confirm_password.$touch()\"\n          >\n            <template #right>\n              <BaseIcon\n                v-if=\"isShowConfirmPassword\"\n                name=\"EyeOffIcon\"\n                class=\"w-5 h-5 mr-1 text-gray-500 cursor-pointer\"\n                @click=\"isShowConfirmPassword = !isShowConfirmPassword\"\n              />\n              <BaseIcon\n                v-else\n                name=\"EyeIcon\"\n                class=\"w-5 h-5 mr-1 text-gray-500 cursor-pointer\"\n                @click=\"isShowConfirmPassword = !isShowConfirmPassword\"\n              /> </template\n          ></BaseInput>\n        </BaseInputGroup>\n      </div>\n\n      <BaseButton :loading=\"isSaving\" :disabled=\"isSaving\" class=\"mt-6\">\n        <template #left=\"slotProps\">\n          <BaseIcon v-if=\"!isSaving\" name=\"SaveIcon\" :class=\"slotProps.class\" />\n        </template>\n        {{ $t('general.save') }}\n      </BaseButton>\n    </BaseCard>\n  </form>\n</template>\n\n<script setup>\nimport { SaveIcon } from '@heroicons/vue/solid'\nimport { ref, computed } from 'vue'\nimport { useGlobalStore } from '@/scripts/customer/stores/global'\nimport { useUserStore } from '@/scripts/customer/stores/user'\nimport { useI18n } from 'vue-i18n'\nimport {\n  helpers,\n  sameAs,\n  email,\n  required,\n  minLength,\n} from '@vuelidate/validators'\nimport { useVuelidate } from '@vuelidate/core'\nimport { useRoute } from 'vue-router'\n\nconst userStore = useUserStore()\nconst globalStore = useGlobalStore()\nconst route = useRoute()\nconst { t, tm } = useI18n()\n\n// Local State\nlet imgFiles = ref([])\nlet isSaving = ref(false)\nlet avatarFileBlob = ref(null)\nlet isShowPassword = ref(false)\nlet isShowConfirmPassword = ref(false)\nconst isCustomerAvatarRemoved = ref(false)\n\nif (userStore.userForm.avatar) {\n  imgFiles.value.push({\n    image: userStore.userForm.avatar,\n  })\n}\n\n// Validation\nconst rules = computed(() => {\n  return {\n    userForm: {\n      name: {\n        required: helpers.withMessage(t('validation.required'), required),\n        minLength: helpers.withMessage(\n          t('validation.name_min_length', { count: 3 }),\n          minLength(3)\n        ),\n      },\n      email: {\n        required: helpers.withMessage(t('validation.required'), required),\n        email: helpers.withMessage(t('validation.email_incorrect'), email),\n      },\n      password: {\n        minLength: helpers.withMessage(\n          t('validation.password_min_length', { count: 8 }),\n          minLength(8)\n        ),\n      },\n      confirm_password: {\n        sameAsPassword: helpers.withMessage(\n          t('validation.password_incorrect'),\n          sameAs(userStore.userForm.password)\n        ),\n      },\n    },\n  }\n})\n\nconst v$ = useVuelidate(\n  rules,\n  computed(() => userStore)\n)\n\n// created\n\n// methods\n\nfunction onFileInputChange(fileName, file) {\n  avatarFileBlob.value = file\n}\n\nfunction onFileInputRemove() {\n  avatarFileBlob.value = null\n  isCustomerAvatarRemoved.value = true\n}\n\nfunction updateCustomerData() {\n  v$.value.userForm.$touch()\n\n  if (v$.value.userForm.$invalid) {\n    return true\n  }\n  isSaving.value = true\n\n  let data = new FormData()\n  data.append('name', userStore.userForm.name)\n  data.append('email', userStore.userForm.email)\n\n  if (\n    userStore.userForm.password != null &&\n    userStore.userForm.password !== undefined &&\n    userStore.userForm.password !== ''\n  ) {\n    data.append('password', userStore.userForm.password)\n  }\n  if (avatarFileBlob.value) {\n    data.append('customer_avatar', avatarFileBlob.value)\n  }\n  data.append('is_customer_avatar_removed', isCustomerAvatarRemoved.value)\n\n  userStore\n    .updateCurrentUser({\n      data,\n      message: tm('settings.account_settings.updated_message'),\n    })\n    .then((res) => {\n      if (res.data.data) {\n        isSaving.value = false\n        userStore.$patch((state) => {\n          state.userForm.password = ''\n          state.userForm.confirm_password = ''\n        })\n        avatarFileBlob.value = null\n        isCustomerAvatarRemoved.value = false\n      }\n    })\n    .catch((error) => {\n      isSaving.value = false\n    })\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/customer/views/settings/SettingsIndex.vue",
    "content": "<template>\n  <BasePage>\n    <BasePageHeader :title=\"$tc('settings.setting', 2)\" class=\"pb-6\">\n      <BaseBreadcrumb>\n        <BaseBreadcrumbItem\n          :title=\"$t('general.home')\"\n          :to=\"`/${companySlug}/customer/dashboard`\"\n        />\n        <BaseBreadcrumbItem\n          :title=\"$tc('settings.setting', 2)\"\n          :to=\"`/${companySlug}/customer/settings/customer-profile`\"\n          active\n        />\n      </BaseBreadcrumb>\n    </BasePageHeader>\n\n    <div class=\"w-full mb-6 select-wrapper xl:hidden\">\n      <aside class=\"pb-3 lg:col-span-3\">\n        <nav class=\"space-y-1\">\n          <BaseList>\n            <BaseListItem\n              v-for=\"(menuItem, index) in menuItems\"\n              :key=\"index\"\n              :title=\"menuItem.title\"\n              :to=\"menuItem.link\"\n              :active=\"hasActiveUrl(menuItem.link)\"\n              :index=\"index\"\n              class=\"py-3\"\n            >\n              <template #icon>\n                <component :is=\"menuItem.icon\" class=\"h-5 w-6\" />\n              </template>\n            </BaseListItem>\n          </BaseList>\n        </nav>\n      </aside>\n    </div>\n\n    <div class=\"flex\">\n      <div class=\"hidden mt-1 xl:block min-w-[240px]\">\n        <BaseList>\n          <BaseListItem\n            v-for=\"(menuItem, index) in menuItems\"\n            :key=\"index\"\n            :title=\"menuItem.title\"\n            :to=\"menuItem.link\"\n            :active=\"hasActiveUrl(menuItem.link)\"\n            :index=\"index\"\n            class=\"py-3\"\n          >\n            <template #icon>\n              <component :is=\"menuItem.icon\" class=\"h-5 w-6\" />\n            </template>\n          </BaseListItem>\n        </BaseList>\n      </div>\n      <div class=\"w-full overflow-hidden\">\n        <RouterView />\n      </div>\n    </div>\n  </BasePage>\n</template>\n\n<script setup>\nimport { ref, reactive, watchEffect, computed } from 'vue'\nimport BaseList from '@/scripts/components/list/BaseList.vue'\nimport BaseListItem from '@/scripts/components/list/BaseListItem.vue'\nimport { OfficeBuildingIcon, UserIcon } from '@heroicons/vue/outline'\nimport { useGlobalStore } from '@/scripts/customer/stores/global'\nimport { useI18n } from 'vue-i18n'\nconst { t } = useI18n()\n\n//route\nconst { useRoute, useRouter } = window.VueRouter\n\nconst route = useRoute()\nconst router = useRouter()\nconst globalStore = useGlobalStore()\n\nconst companySlug = computed(() => {\n  return globalStore.companySlug\n})\n\n// local state\nconst { global } = window.i18n\nlet currentSetting = ref({})\nlet activeIndex = ref()\nconst menuItems = reactive([\n  {\n    link: `/${globalStore.companySlug}/customer/settings/customer-profile`,\n    title: t('settings.account_settings.account_settings'),\n    icon: UserIcon,\n  },\n  {\n    link: `/${globalStore.companySlug}/customer/settings/address-info`,\n    title: t('settings.menu_title.address_information'),\n    icon: OfficeBuildingIcon,\n  },\n])\n\n// watch\n\nwatchEffect(() => {\n  if (route.path === `/${globalStore.companySlug}/customer/settings`) {\n    router.push({ name: 'customer.profile' })\n  }\n\n  const menu = menuItems.find((item) => {\n    return item.link === route.path\n  })\n\n  currentSetting.value = { ...menu }\n})\n\n// computed props\n\nconst dropdownMenuItems = computed(() => {\n  return menuItems\n})\n\n// methods\n\nfunction hasActiveUrl(url) {\n  return route.path.indexOf(url) > -1\n}\n\nfunction navigateToSetting(setting) {\n  return router.push(setting.link)\n}\n</script>\n"
  },
  {
    "path": "resources/scripts/global-components.js",
    "content": "import { defineAsyncComponent } from 'vue'\n\nexport const defineGlobalComponents = (app) => {\n  const components = import.meta.globEager('./components/base/*.vue')\n\n  Object.entries(components).forEach(([path, definition]) => {\n    // Get name of component, based on filename\n    // \"./components/Fruits.vue\" will become \"Fruits\"\n    const componentName = path\n      .split('/')\n      .pop()\n      .replace(/\\.\\w+$/, '')\n\n    // Register component on this Vue instance\n    app.component(componentName, definition.default)\n  })\n\n  const BaseTable = defineAsyncComponent(() =>\n    import('./components/base/base-table/BaseTable.vue')\n  )\n\n  const BaseMultiselect = defineAsyncComponent(() =>\n    import('./components/base-select/BaseMultiselect.vue')\n  )\n\n  const BaseEditor = defineAsyncComponent(() =>\n    import('./components/base/base-editor/BaseEditor.vue')\n  )\n\n  app.component('BaseTable', BaseTable)\n  app.component('BaseMultiselect', BaseMultiselect)\n  app.component('BaseEditor', BaseEditor)\n}\n"
  },
  {
    "path": "resources/scripts/helpers/error-handling.js",
    "content": "import { useAuthStore } from '@/scripts/admin/stores/auth'\nimport { useNotificationStore } from '@/scripts/stores/notification'\n\nexport const handleError = (err) => {\n  const authStore = useAuthStore()\n  const notificationStore = useNotificationStore()\n\n  if (!err.response) {\n    notificationStore.showNotification({\n      type: 'error',\n      message:\n        'Please check your internet connection or wait until servers are back online.',\n    })\n  } else {\n    if (\n      err.response.data &&\n      (err.response.statusText === 'Unauthorized' ||\n        err.response.data === ' Unauthorized.')\n    ) {\n      // Unauthorized and log out\n      const msg = err.response.data.message\n        ? err.response.data.message\n        : 'Unauthorized'\n\n      showToaster(msg)\n\n      authStore.logout()\n    } else if (err.response.data.errors) {\n      // Show a notification per error\n      const errors = JSON.parse(JSON.stringify(err.response.data.errors))\n      for (const i in errors) {\n        showError(errors[i][0])\n      }\n    } else if (err.response.data.error) {\n      if (typeof err.response.data.error == 'boolean') showError(err.response.data?.message)\n      else showError(err.response.data.error)\n    } else {\n      showError(err.response.data.message)\n    }\n  }\n}\n\nexport const showError = (error) => {\n  switch (error) {\n    case 'These credentials do not match our records.':\n      showToaster('errors.login_invalid_credentials')\n      break\n    case 'invalid_key':\n      showToaster('errors.invalid_provider_key')\n      break\n\n    case 'This feature is available on Starter plan and onwards!':\n      showToaster('errors.starter_plan')\n      break\n\n    case 'taxes_attached':\n      showToaster('settings.tax_types.already_in_use')\n      break\n\n    case 'expense_attached':\n      showToaster('settings.expense_category.already_in_use')\n      break\n\n    case 'payments_attached':\n      showToaster('settings.payment_modes.payments_attached')\n      break\n    \n    case 'expenses_attached':\n      showToaster('settings.payment_modes.expenses_attached')\n      break\n\n    case 'role_attached_to_users':\n      showToaster('settings.roles.already_in_use')\n      break\n\n    case 'items_attached':\n      showToaster('settings.customization.items.already_in_use')\n      break\n\n    case 'payment_attached_message':\n      showToaster('invoices.payment_attached_message')\n      break\n\n    case 'The email has already been taken.':\n      showToaster('validation.email_already_taken')\n      break\n\n    case 'Relation estimateItems exists.':\n      showToaster('items.item_attached_message')\n      break\n\n    case 'Relation invoiceItems exists.':\n      showToaster('items.item_attached_message')\n      break\n\n    case 'Relation taxes exists.':\n      showToaster('settings.tax_types.already_in_use')\n      break\n\n    case 'Relation taxes exists.':\n      showToaster('settings.tax_types.already_in_use')\n      break\n\n    case 'Relation payments exists.':\n      showToaster('errors.payment_attached')\n      break\n\n    case 'The estimate number has already been taken.':\n      showToaster('errors.estimate_number_used')\n      break\n\n    case 'The payment number has already been taken.':\n      showToaster('errors.estimate_number_used')\n      break\n\n    case 'The invoice number has already been taken.':\n      showToaster('errors.invoice_number_used')\n      break\n\n    case 'The name has already been taken.':\n      showToaster('errors.name_already_taken')\n      break\n\n    case 'total_invoice_amount_must_be_more_than_paid_amount':\n      showToaster('invoices.invalid_due_amount_message')\n      break\n\n    case 'you_cannot_edit_currency':\n      showToaster('customers.edit_currency_not_allowed')\n      break\n\n    case 'receipt_does_not_exist':\n      showToaster('errors.receipt_does_not_exist')\n      break\n\n    case 'customer_cannot_be_changed_after_payment_is_added':\n      showToaster('errors.customer_cannot_be_changed_after_payment_is_added')\n      break\n\n    case 'invalid_credentials':\n      showToaster('errors.invalid_credentials')\n      break\n\n    case 'not_allowed':\n      showToaster('errors.not_allowed')\n      break\n\n    case 'invalid_key':\n      showToaster('errors.invalid_key')\n      break\n\n    case 'invalid_state':\n      showToaster('errors.invalid_state')\n      break\n\n    case 'invalid_city':\n      showToaster('errors.invalid_city')\n      break\n\n    case 'invalid_postal_code':\n      showToaster('errors.invalid_postal_code')\n      break\n\n    case 'invalid_format':\n      showToaster('errors.invalid_format')\n      break\n\n    case 'api_error':\n      showToaster('errors.api_error')\n      break\n\n    case 'feature_not_enabled':\n      showToaster('errors.feature_not_enabled')\n      break\n\n    case 'request_limit_met':\n      showToaster('errors.request_limit_met')\n      break\n\n    case 'address_incomplete':\n      showToaster('errors.address_incomplete')\n      break\n\n    case 'invalid_address':\n      showToaster('errors.invalid_address')\n      break\n\n    case 'Email could not be sent to this email address.':\n      showToaster('errors.email_could_not_be_sent')\n      break\n\n    default:\n      showToaster(error, false)\n      break\n  }\n}\n\nexport const showToaster = (msg, t = true) => {\n  const { global } = window.i18n\n  const notificationStore = useNotificationStore()\n\n  notificationStore.showNotification({\n    type: 'error',\n    message: t ? global.t(msg) : msg,\n  })\n}\n"
  },
  {
    "path": "resources/scripts/helpers/use-popper.js",
    "content": "import { ref, onMounted, watchEffect } from 'vue'\nimport { createPopper } from '@popperjs/core'\n\nexport function usePopper(options) {\n  let activator = ref(null)\n  let container = ref(null)\n  let popper = ref(null)\n\n  onMounted(() => {\n    watchEffect(onInvalidate => {\n      if (!container.value) return\n      if (!activator.value) return\n\n      let containerEl = container.value.el || container.value\n      let activatorEl = activator.value.el || activator.value\n\n      if (!(activatorEl instanceof HTMLElement)) return\n      if (!(containerEl instanceof HTMLElement)) return\n\n      popper.value = createPopper(activatorEl, containerEl, options)\n\n      onInvalidate(popper.value.destroy)\n    })\n  })\n\n  return [activator, container, popper]\n}\n"
  },
  {
    "path": "resources/scripts/helpers/utilities.js",
    "content": "import i18n from '../plugins/i18n'\nconst { global } = i18n\nimport { useNotificationStore } from '@/scripts/stores/notification'\nimport { isArray } from 'lodash'\n\nexport default {\n  isImageFile(fileType) {\n    const validImageTypes = ['image/gif', 'image/jpeg', 'image/png']\n\n    return validImageTypes.includes(fileType)\n  },\n  addClass(el, className) {\n    if (el.classList) el.classList.add(className)\n    else el.className += ' ' + className\n  },\n  hasClass(el, className) {\n    const hasClass = el.classList\n      ? el.classList.contains(className)\n      : new RegExp('(^| )' + className + '( |$)', 'gi').test(el.className)\n\n    return hasClass\n  },\n\n  formatMoney(amount, currency = 0) {\n    if (!currency) {\n      currency = {\n        precision: 2,\n        thousand_separator: ',',\n        decimal_separator: '.',\n        symbol: '$',\n      }\n    }\n\n    amount = amount / 100\n\n    let {\n      precision,\n      decimal_separator,\n      thousand_separator,\n      symbol,\n      swap_currency_symbol,\n    } = currency\n\n    try {\n      precision = Math.abs(precision)\n      precision = isNaN(precision) ? 2 : precision\n\n      const negativeSign = amount < 0 ? '-' : ''\n\n      let i = parseInt(\n        (amount = Math.abs(Number(amount) || 0).toFixed(precision))\n      ).toString()\n      let j = i.length > 3 ? i.length % 3 : 0\n\n      let moneySymbol = `${symbol}`\n      let thousandText = j ? i.substr(0, j) + thousand_separator : ''\n      let amountText = i\n        .substr(j)\n        .replace(/(\\d{3})(?=\\d)/g, '$1' + thousand_separator)\n      let precisionText = precision\n        ? decimal_separator +\n        Math.abs(amount - i)\n          .toFixed(precision)\n          .slice(2)\n        : ''\n      let combinedAmountText =\n        negativeSign + thousandText + amountText + precisionText\n\n      return swap_currency_symbol\n        ? combinedAmountText + ' ' + moneySymbol\n        : moneySymbol + ' ' + combinedAmountText\n    } catch (e) {\n      console.error(e)\n    }\n  },\n\n  // Merge two objects but only existing properties\n  mergeSettings(target, source) {\n    Object.keys(source).forEach(function (key) {\n      if (key in target) {\n        // or target.hasOwnProperty(key)\n        target[key] = source[key]\n      }\n    })\n  },\n\n  checkValidUrl(url) {\n    if (\n      url.includes('http://localhost') ||\n      url.includes('http://127.0.0.1') ||\n      url.includes('https://localhost') ||\n      url.includes('https://127.0.0.1')\n    ) {\n      return true\n    }\n    let pattern = new RegExp(\n      '^(https?:\\\\/\\\\/)?' + // protocol\n      '((([a-z\\\\d]([a-z\\\\d-]*[a-z\\\\d])*)\\\\.)+[a-z]{2,}|' + // domain name\n      '((\\\\d{1,3}\\\\.){3}\\\\d{1,3}))' + // OR ip (v4) address\n      '(\\\\:\\\\d+)?(\\\\/[-a-z\\\\d%_.~+]*)*' + // port and path\n      '(\\\\?[;&a-z\\\\d%_.~+=-]*)?' + // query string\n      '(\\\\#[-a-z\\\\d_]*)?$',\n      'i'\n    ) // fragment locator\n\n    return !!pattern.test(url)\n  },\n\n  checkValidDomainUrl(url) {\n    if (url.includes('localhost') || url.includes('127.0.0.1')) {\n      return true\n    }\n\n    let pattern = new RegExp(\n      '^(https?:\\\\/\\\\/)?' + // protocol\n      '((([a-z\\\\d]([a-z\\\\d-]*[a-z\\\\d])*)\\\\.)+[a-z]{2,}|' + // domain name\n      '((\\\\d{1,3}\\\\.){3}\\\\d{1,3}))' + // OR ip (v4) address\n      '(\\\\:\\\\d+)?(\\\\/[-a-z\\\\d%_.~+]*)*' + // port and path\n      '(\\\\?[;&a-z\\\\d%_.~+=-]*)?' + // query string\n      '(\\\\#[-a-z\\\\d_]*)?$',\n      'i'\n    ) // fragment locator\n\n    return !!pattern.test(url)\n  },\n\n  fallbackCopyTextToClipboard(text) {\n    var textArea = document.createElement('textarea')\n    textArea.value = text\n    // Avoid scrolling to bottom\n    textArea.style.top = '0'\n    textArea.style.left = '0'\n    textArea.style.position = 'fixed'\n    document.body.appendChild(textArea)\n    textArea.focus()\n    textArea.select()\n    try {\n      var successful = document.execCommand('copy')\n      var msg = successful ? 'successful' : 'unsuccessful'\n      console.log('Fallback: Copying text command was ' + msg)\n    } catch (err) {\n      console.error('Fallback: Oops, unable to copy', err)\n    }\n    document.body.removeChild(textArea)\n  },\n  copyTextToClipboard(text) {\n    if (!navigator.clipboard) {\n      this.fallbackCopyTextToClipboard(text)\n      return\n    }\n    navigator.clipboard.writeText(text).then(\n      function () {\n        return true\n      },\n      function (err) {\n        return false\n      }\n    )\n  },\n  arrayDifference(array1, array2) {\n    return array1?.filter((i) => {\n      return array2?.indexOf(i) < 0\n    })\n  },\n  getBadgeStatusColor(status) {\n    switch (status) {\n      case 'DRAFT':\n        return {\n          bgColor: '#F8EDCB',\n          color: '#744210',\n        }\n      case 'PAID':\n        return {\n          bgColor: '#D5EED0',\n          color: '#276749',\n        }\n      case 'UNPAID':\n        return {\n          bgColor: '#F8EDC',\n          color: '#744210',\n        }\n      case 'SENT':\n        return {\n          bgColor: 'rgba(246, 208, 154, 0.4)',\n          color: '#975a16',\n        }\n      case 'REJECTED':\n        return {\n          bgColor: '#E1E0EA',\n          color: '#1A1841',\n        }\n      case 'ACCEPTED':\n        return {\n          bgColor: '#D5EED0',\n          color: '#276749',\n        }\n      case 'VIEWED':\n        return {\n          bgColor: '#C9E3EC',\n          color: '#2c5282',\n        }\n      case 'EXPIRED':\n        return {\n          bgColor: '#FED7D7',\n          color: '#c53030',\n        }\n      case 'PARTIALLY PAID':\n        return {\n          bgColor: '#C9E3EC',\n          color: '#2c5282',\n        }\n      case 'COMPLETED':\n        return {\n          bgColor: '#D5EED0',\n          color: '#276749',\n        }\n      case 'DUE':\n        return {\n          bgColor: '#F8EDCB',\n          color: '#744210',\n        }\n      case 'YES':\n        return {\n          bgColor: '#D5EED0',\n          color: '#276749',\n        }\n      case 'NO':\n        return {\n          bgColor: '#FED7D7',\n          color: '#c53030',\n        }\n    }\n  },\n  getStatusTranslation(status) {\n    switch (status) {\n      case 'DRAFT':\n        return global.t('general.draft')\n      case 'PAID':\n        return global.t('invoices.paid')\n      case 'UNPAID':\n        return global.t('invoices.unpaid')\n      case 'SENT':\n        return global.t('general.sent')\n      case 'REJECTED':\n        return global.t('estimates.rejected')\n      case 'ACCEPTED':\n        return global.t('estimates.accepted')\n      case 'VIEWED':\n        return global.t('invoices.viewed')\n      case 'EXPIRED':\n        return global.t('estimates.expired')\n      case 'PARTIALLY PAID':\n        return global.t('estimates.partially_paid')\n      case 'COMPLETED':\n        return global.t('invoices.completed')\n      case 'DUE':\n        return global.t('general.due')\n      default:\n        return status\n    }\n  },\n  toFormData(object) {\n    const formData = new FormData()\n\n    Object.keys(object).forEach((key) => {\n      if (isArray(object[key])) {\n        formData.append(key, JSON.stringify(object[key]))\n      } else {\n        // Convert null to empty strings (because formData does not support null values and converts it to string)\n        if (object[key] === null) {\n          object[key] = ''\n        }\n\n        formData.append(key, object[key])\n      }\n    })\n\n    return formData\n  },\n\n}\n"
  },
  {
    "path": "resources/scripts/locales/ar.json",
    "content": "{\n  \"navigation\": {\n    \"dashboard\": \"لوحة التحكم\",\n    \"customers\": \"العملاء\",\n    \"items\": \"بضائع/خدمات\",\n    \"invoices\": \"الفواتير\",\n    \"recurring-invoices\": \"Recurring Invoices\",\n    \"expenses\": \"النفقات\",\n    \"estimates\": \"التقديرات\",\n    \"payments\": \"الدفوعات\",\n    \"reports\": \"التقارير\",\n    \"settings\": \"الإعدادات\",\n    \"logout\": \"تسجيل الخروج\",\n    \"users\": \"المستخدمون\",\n    \"modules\": \"Modules\"\n  },\n  \"general\": {\n    \"add_company\": \"أضف شركة\",\n    \"view_pdf\": \"عرض PDF\",\n    \"copy_pdf_url\": \"نسخ رابط PDF\",\n    \"download_pdf\": \"تنزيل PDF\",\n    \"save\": \"حفظ\",\n    \"create\": \"إنشاء\",\n    \"cancel\": \"تراجع\",\n    \"update\": \"تحديث\",\n    \"deselect\": \"إلغاء الإختيار\",\n    \"download\": \"تحميل\",\n    \"from_date\": \"من تاريخ\",\n    \"to_date\": \"إلى تاريخ\",\n    \"from\": \"من\",\n    \"to\": \"إلى\",\n    \"ok\": \"Ok\",\n    \"yes\": \"Yes\",\n    \"no\": \"No\",\n    \"sort_by\": \"ترتيب حسب\",\n    \"ascending\": \"تصاعدي\",\n    \"descending\": \"تنازلي\",\n    \"subject\": \"موضوع\",\n    \"body\": \"الجسم\",\n    \"message\": \"رسالة\",\n    \"send\": \"إرسال\",\n    \"preview\": \"Preview\",\n    \"go_back\": \"إلى الخلف\",\n    \"back_to_login\": \"العودة إلى تسجيل الدخول؟\",\n    \"home\": \"الرئيسية\",\n    \"filter\": \"تصفية\",\n    \"delete\": \"حذف\",\n    \"edit\": \"تعديل\",\n    \"view\": \"عرض\",\n    \"add_new_item\": \"إضافة صنف جديد\",\n    \"clear_all\": \"مسح الكل\",\n    \"showing\": \"عرض\",\n    \"of\": \"من\",\n    \"actions\": \"العمليات\",\n    \"subtotal\": \"المجموع الفرعي\",\n    \"discount\": \"خصم\",\n    \"fixed\": \"ثابت\",\n    \"percentage\": \"نسبة\",\n    \"tax\": \"اداء\",\n    \"total_amount\": \"المبلغ الإجمالي\",\n    \"bill_to\": \"الفاتورة لـ\",\n    \"ship_to\": \"يشحن إلى\",\n    \"due\": \"المتبقي\",\n    \"draft\": \"مسودة\",\n    \"sent\": \"ارسلت\",\n    \"all\": \"الكل\",\n    \"select_all\": \"تحديد الكل\",\n    \"select_template\": \"Select Template\",\n    \"choose_file\": \"اضغط هنا لاختيار ملف\",\n    \"choose_template\": \"اختيار القالب\",\n    \"choose\": \"اختر\",\n    \"remove\": \"حذف\",\n    \"select_a_status\": \"اختر الحالة\",\n    \"select_a_tax\": \"اختر الاداء\",\n    \"search\": \"بحث\",\n    \"are_you_sure\": \"هل أنت متأكد؟\",\n    \"list_is_empty\": \"القائمة فارغة.\",\n    \"no_tax_found\": \"لا يوجد ضريبة!\",\n    \"four_zero_four\": \"404\",\n    \"you_got_lost\": \"عفواً! يبدو أنك قد تهت!\",\n    \"go_home\": \"الذهاب الى الصفحة الرئيسية\",\n    \"test_mail_conf\": \"اختبار اعدادات البريد\",\n    \"send_mail_successfully\": \"تم إرسال البريد بنجاح\",\n    \"setting_updated\": \"تم تحديث الإعدادات بنجاح\",\n    \"select_state\": \"اختر الولاية/المنطقة\",\n    \"select_country\": \"اختر الدولة\",\n    \"select_city\": \"اختر المدينة\",\n    \"street_1\": \"عنوان الشارع 1\",\n    \"street_2\": \"الشارع 2\",\n    \"action_failed\": \"فشلت العملية\",\n    \"retry\": \"أعد المحاولة\",\n    \"choose_note\": \"اختر ملاحظة\",\n    \"no_note_found\": \"لم يتم العثور على الملاحظة\",\n    \"insert_note\": \"أدخل ملاحظة\",\n    \"copied_pdf_url_clipboard\": \"تم نسخ رابط PDF إلى الحافظة!\",\n    \"copied_url_clipboard\": \"Copied url to clipboard!\",\n    \"docs\": \"Docs\",\n    \"do_you_wish_to_continue\": \"Do you wish to continue?\",\n    \"note\": \"Note\",\n    \"pay_invoice\": \"Pay Invoice\",\n    \"login_successfully\": \"Logged in successfully!\",\n    \"logged_out_successfully\": \"Logged out successfully\",\n    \"mark_as_default\": \"Mark as default\"\n  },\n  \"dashboard\": {\n    \"select_year\": \"اختر السنة\",\n    \"cards\": {\n      \"due_amount\": \"المبلغ المطلوب\",\n      \"customers\": \"العملاء\",\n      \"invoices\": \"الفواتير\",\n      \"estimates\": \"التقديرات\",\n      \"payments\": \"Payments\"\n    },\n    \"chart_info\": {\n      \"total_sales\": \"المبيعات\",\n      \"total_receipts\": \"إجمالي الدخل\",\n      \"total_expense\": \"النفقات\",\n      \"net_income\": \"صافي الدخل\",\n      \"year\": \"اختر السنة\"\n    },\n    \"monthly_chart\": {\n      \"title\": \"المبيعات والنفقات\"\n    },\n    \"recent_invoices_card\": {\n      \"title\": \"فواتير مستحقة\",\n      \"due_on\": \"مستحقة في\",\n      \"customer\": \"العميل\",\n      \"amount_due\": \"المبلغ المطلوب\",\n      \"actions\": \"العمليات\",\n      \"view_all\": \"عرض الكل\"\n    },\n    \"recent_estimate_card\": {\n      \"title\": \"أحدث التقديرات\",\n      \"date\": \"التاريخ\",\n      \"customer\": \"العميل\",\n      \"amount_due\": \"المبلغ المطلوب\",\n      \"actions\": \"العمليات\",\n      \"view_all\": \"عرض الكل\"\n    }\n  },\n  \"tax_types\": {\n    \"name\": \"الاسم\",\n    \"description\": \"الوصف\",\n    \"percent\": \"نسبه مئويه\",\n    \"compound_tax\": \"الضريبة المركبة\"\n  },\n  \"global_search\": {\n    \"search\": \"بحث...\",\n    \"customers\": \"العملاء\",\n    \"users\": \"المستخدمون\",\n    \"no_results_found\": \"لم يتم العثور على نتائج\"\n  },\n  \"company_switcher\": {\n    \"label\": \"SWITCH COMPANY\",\n    \"no_results_found\": \"No Results Found\",\n    \"add_new_company\": \"Add new company\",\n    \"new_company\": \"New company\",\n    \"created_message\": \"Company created successfully\"\n  },\n  \"dateRange\": {\n    \"today\": \"Today\",\n    \"this_week\": \"This Week\",\n    \"this_month\": \"This Month\",\n    \"this_quarter\": \"This Quarter\",\n    \"this_year\": \"This Year\",\n    \"previous_week\": \"Previous Week\",\n    \"previous_month\": \"Previous Month\",\n    \"previous_quarter\": \"Previous Quarter\",\n    \"previous_year\": \"Previous Year\",\n    \"custom\": \"Custom\"\n  },\n  \"customers\": {\n    \"title\": \"العملاء\",\n    \"prefix\": \"Prefix\",\n    \"add_customer\": \"إضافة عميل\",\n    \"contacts_list\": \"قائمة العملاء\",\n    \"name\": \"الاسم\",\n    \"mail\": \"البريد\",\n    \"statement\": \"البيان\",\n    \"display_name\": \"اسم العرض\",\n    \"primary_contact_name\": \"اسم التواصل الرئيسي\",\n    \"contact_name\": \"اسم تواصل آخر\",\n    \"amount_due\": \"المبلغ المطلوب\",\n    \"email\": \"البريد الإلكتروني\",\n    \"address\": \"العنوان\",\n    \"phone\": \"الهاتف\",\n    \"website\": \"موقع الإنترنت\",\n    \"overview\": \"استعراض\",\n    \"invoice_prefix\": \"Invoice Prefix\",\n    \"estimate_prefix\": \"Estimate Prefix\",\n    \"payment_prefix\": \"Payment Prefix\",\n    \"enable_portal\": \"تفعيل البوابة\",\n    \"country\": \"الدولة\",\n    \"state\": \"الولاية/المنطقة\",\n    \"city\": \"المدينة\",\n    \"zip_code\": \"الرمز البريدي\",\n    \"added_on\": \"أضيف في\",\n    \"action\": \"إجراء\",\n    \"password\": \"كلمة المرور\",\n    \"confirm_password\": \"Confirm Password\",\n    \"street_number\": \"رقم الشارع\",\n    \"primary_currency\": \"العملة الرئيسية\",\n    \"description\": \"الوصف\",\n    \"add_new_customer\": \"إضافة عميل جديد\",\n    \"save_customer\": \"حفظ العميل\",\n    \"update_customer\": \"تحديث بيانات العميل\",\n    \"customer\": \"عميل | عملاء\",\n    \"new_customer\": \"عميل جديد\",\n    \"edit_customer\": \"تعديل عميل\",\n    \"basic_info\": \"معلوات أساسية\",\n    \"portal_access\": \"Portal Access\",\n    \"portal_access_text\": \"Would you like to allow this customer to login to the Customer Portal?\",\n    \"portal_access_url\": \"Customer Portal Login URL\",\n    \"portal_access_url_help\": \"Please copy & forward the above given URL to your customer for providing access.\",\n    \"billing_address\": \"عنوان الفوترة\",\n    \"shipping_address\": \"عنوان الشحن\",\n    \"copy_billing_address\": \"نسخ من عنوان الفوترة\",\n    \"no_customers\": \"لا يوجد عملاء حتى الآن!\",\n    \"no_customers_found\": \"لم يتم الحصول على عملاء!\",\n    \"no_contact\": \"ليست هناك جهات اتصال\",\n    \"no_contact_name\": \"اسم جهة الاتصال غير موجود\",\n    \"list_of_customers\": \"سوف يحتوي هذا القسم على قائمة العملاء.\",\n    \"primary_display_name\": \"اسم العرض الرئيسي\",\n    \"select_currency\": \"اختر العملة\",\n    \"select_a_customer\": \"اختر العميل\",\n    \"type_or_click\": \"اكتب أو اضغط للاختيار\",\n    \"new_transaction\": \"معاملة جديدة\",\n    \"no_matching_customers\": \"لا يوجد عملاء مطابقين!\",\n    \"phone_number\": \"رقم الهاتف\",\n    \"create_date\": \"تاريخ الإنشاء\",\n    \"confirm_delete\": \"لن تتمكن من استرداد هذا العميل وجميع الفواتير والتقديرات والمدفوعات ذات الصلة. | لن تتمكن من استرداد هؤلاء العملاء وجميع الفواتير والتقديرات والمدفوعات ذات الصلة.\",\n    \"created_message\": \"تم إنشاء العملاء بنجاح\",\n    \"updated_message\": \"تم تحديث العملاء بنجاح\",\n    \"address_updated_message\": \"Address Information Updated succesfully\",\n    \"deleted_message\": \"تم حذف العملاء بنجاح | تم حذف العميل بنجاح\",\n    \"edit_currency_not_allowed\": \"Cannot change currency once transactions created.\"\n  },\n  \"items\": {\n    \"title\": \"الأصناف\",\n    \"items_list\": \"قائمة الأصناف\",\n    \"name\": \"الاسم\",\n    \"unit\": \"الوحدة\",\n    \"description\": \"الوصف\",\n    \"added_on\": \"أضيف في\",\n    \"price\": \"السعر\",\n    \"date_of_creation\": \"تاريخ الإنشاء\",\n    \"not_selected\": \"لم يتم إختيار أي عنصر\",\n    \"action\": \"إجراء\",\n    \"add_item\": \"إضافة صنف\",\n    \"save_item\": \"حفظ الصنف\",\n    \"update_item\": \"تحديث الصنف\",\n    \"item\": \"صنف | أصناف\",\n    \"add_new_item\": \"إضافة صنف جديد\",\n    \"new_item\": \"جديد صنف\",\n    \"edit_item\": \"تحديث صنف\",\n    \"no_items\": \"لا يوجد أصناف حتى الآن!\",\n    \"list_of_items\": \"هذا القسم سوف يحتوي على قائمة الأصناف.\",\n    \"select_a_unit\": \"اختر الوحدة\",\n    \"taxes\": \"الضرائب\",\n    \"item_attached_message\": \"لا يمكن حذف الصنف قيد الاستخدام\",\n    \"confirm_delete\": \"لن تتمكن من استرجاع هذا الصنف | لن تتمكن من استرجاع هذه الأصناف\",\n    \"created_message\": \"تم إنشاء الصنف بنجاح\",\n    \"updated_message\": \"تم تحديث الصنف بنجاح\",\n    \"deleted_message\": \"تم حذف الصنف بنجاح | تم حذف الأصناف بنجاح\"\n  },\n  \"estimates\": {\n    \"title\": \"التقديرات\",\n    \"accept_estimate\": \"Accept Estimate\",\n    \"reject_estimate\": \"Reject Estimate\",\n    \"estimate\": \"تقدير | تقديرات\",\n    \"estimates_list\": \"قائمة التقديرات\",\n    \"days\": \"{days} أيام\",\n    \"months\": \"{months} أشهر\",\n    \"years\": \"{years} سنوات\",\n    \"all\": \"الكل\",\n    \"paid\": \"مدفوع\",\n    \"unpaid\": \"غير مدفوع\",\n    \"customer\": \"العميل\",\n    \"ref_no\": \"رقم المرجع.\",\n    \"number\": \"الرقم\",\n    \"amount_due\": \"المبلغ المطلوب\",\n    \"partially_paid\": \"مدفوع جزئيا\",\n    \"total\": \"الإجمالي\",\n    \"discount\": \"الخصم\",\n    \"sub_total\": \"حاصل الجمع\",\n    \"estimate_number\": \"رقم تقدير\",\n    \"ref_number\": \"رقم المرجع\",\n    \"contact\": \"تواصل\",\n    \"add_item\": \"إضافة صنف\",\n    \"date\": \"تاريخ\",\n    \"due_date\": \"تاريخ الاستحقاق\",\n    \"expiry_date\": \"تاريخ الصلاحية\",\n    \"status\": \"الحالة\",\n    \"add_tax\": \"إضافة ضرية\",\n    \"amount\": \"المبلغ المطلوب\",\n    \"action\": \"إجراء\",\n    \"notes\": \"ملاحظات\",\n    \"tax\": \"ضريبة\",\n    \"estimate_template\": \"قالب\",\n    \"convert_to_invoice\": \"تحويل إلى فاتورة\",\n    \"mark_as_sent\": \"تحديد كمرسل\",\n    \"send_estimate\": \"إرسال التقدير\",\n    \"resend_estimate\": \"إعادة إرسال التقدير\",\n    \"record_payment\": \"تسجيل مدفوات\",\n    \"add_estimate\": \"إضافة تقدير\",\n    \"save_estimate\": \"حفظ التقدير\",\n    \"confirm_conversion\": \"هل تريد تحويل هذا التقدير إلى فاتورة؟\",\n    \"conversion_message\": \"تم إنشاء الفاتورة بنجاح\",\n    \"confirm_send_estimate\": \"سيتم إرسال هذا التقدير بالبريد الإلكتروني إلى العميل\",\n    \"confirm_mark_as_sent\": \"سيتم التحديد كمرسل على هذا التقدير\",\n    \"confirm_mark_as_accepted\": \"سيتم التحديد كمقبول على هذا التقدير\",\n    \"confirm_mark_as_rejected\": \"سيتم التحديد كمرفوض على هذا التقدير\",\n    \"no_matching_estimates\": \"لا يوجد تقديرات مطابقة!\",\n    \"mark_as_sent_successfully\": \"تم التحديد كمرسل بنجاح\",\n    \"send_estimate_successfully\": \"تم إرسال التقدير بنجاح\",\n    \"errors\": {\n      \"required\": \"حقل مطلوب\"\n    },\n    \"accepted\": \"مقبول\",\n    \"rejected\": \"مرفوض\",\n    \"expired\": \"Expired\",\n    \"sent\": \"مرسل\",\n    \"draft\": \"مسودة\",\n    \"viewed\": \"Viewed\",\n    \"declined\": \"مرفوض\",\n    \"new_estimate\": \"تقدير جديد\",\n    \"add_new_estimate\": \"إضافة تقدير جديد\",\n    \"update_Estimate\": \"تحديث تقدير\",\n    \"edit_estimate\": \"تعديل التقدير\",\n    \"items\": \"الأصناف\",\n    \"Estimate\": \"تقدير | تقديرات\",\n    \"add_new_tax\": \"إضافة ضريبة جديدة\",\n    \"no_estimates\": \"لا يوجد تقديرات حالياً!\",\n    \"list_of_estimates\": \"هذا القسم سوف يحتوي على التقديرات.\",\n    \"mark_as_rejected\": \"تحديد كمرفوض\",\n    \"mark_as_accepted\": \"تحديد كمقروء\",\n    \"marked_as_accepted_message\": \"تحديد التقدير كمقبول\",\n    \"marked_as_rejected_message\": \"تحديد التقدير كمرفوض\",\n    \"confirm_delete\": \"لن تستطيع استرجاع هذا التقدير | لن تستطيع إستعادة هذه التقديرات\",\n    \"created_message\": \"تم إنشاء التقدير بنجاح\",\n    \"updated_message\": \"تم تحديث التقدير بنجاح\",\n    \"deleted_message\": \"تم حذف التقدير بنجاح | تم حذف التقديرات بنجاح\",\n    \"something_went_wrong\": \"خطأ غير معروف!\",\n    \"item\": {\n      \"title\": \"اسم الصنف\",\n      \"description\": \"الوصف\",\n      \"quantity\": \"الكمية\",\n      \"price\": \"السعر\",\n      \"discount\": \"الخصم\",\n      \"total\": \"الإجمالي\",\n      \"total_discount\": \"مجموع الخصم\",\n      \"sub_total\": \"حاصل الجمع\",\n      \"tax\": \"الضرية\",\n      \"amount\": \"المبلغ المطلوب\",\n      \"select_an_item\": \"اكتب أو اختر الصنف\",\n      \"type_item_description\": \"اكتب وصف الصنف (اختياري)\"\n    },\n    \"mark_as_default_estimate_template_description\": \"If enabled, the selected template will be automatically selected for new estimates.\"\n  },\n  \"invoices\": {\n    \"title\": \"الفواتير\",\n    \"download\": \"Download\",\n    \"pay_invoice\": \"Pay Invoice\",\n    \"invoices_list\": \"قائمة الفواتير\",\n    \"invoice_information\": \"Invoice Information\",\n    \"days\": \"{days} أيام\",\n    \"months\": \"{months} أشهر\",\n    \"years\": \"{years} سنوات\",\n    \"all\": \"الكل\",\n    \"paid\": \"مدفوع\",\n    \"unpaid\": \"غير مدفوع\",\n    \"viewed\": \"شوهد\",\n    \"overdue\": \"متأخر\",\n    \"completed\": \"اكتمل\",\n    \"customer\": \"العميل\",\n    \"paid_status\": \"حالة الدفع\",\n    \"ref_no\": \"رقم المرجع.\",\n    \"number\": \"الرقم\",\n    \"amount_due\": \"المبلغ المطلوب\",\n    \"partially_paid\": \"مدفوع جزئياً\",\n    \"total\": \"الإجمالي\",\n    \"discount\": \"الخصم\",\n    \"sub_total\": \"حاصل الجمع\",\n    \"invoice\": \"فاتورة | فواتير\",\n    \"invoice_number\": \"رقم الفاتورة\",\n    \"ref_number\": \"رقم المرجع\",\n    \"contact\": \"تواصل\",\n    \"add_item\": \"إضافة صنف\",\n    \"date\": \"التاريخ\",\n    \"due_date\": \"تاريخ الاستحقاق\",\n    \"status\": \"الحالة\",\n    \"add_tax\": \"إضافة ضريبة\",\n    \"amount\": \"المبلغ المطلوب\",\n    \"action\": \"إجراء\",\n    \"notes\": \"ملاحظات\",\n    \"view\": \"عرض\",\n    \"send_invoice\": \"إرسال الفاتورة\",\n    \"resend_invoice\": \"إعادة إرسال الفاتورة\",\n    \"invoice_template\": \"قالب الفاتورة\",\n    \"conversion_message\": \"Invoice cloned successful\",\n    \"template\": \"قالب\",\n    \"mark_as_sent\": \"تحديد كمرسل\",\n    \"confirm_send_invoice\": \"سيتم إرسال هذه الفاتورة بالبريد الألكتروني إلى العميل\",\n    \"invoice_mark_as_sent\": \"سيتم تحديد هذه الفاتورة كمرسلة\",\n    \"confirm_mark_as_accepted\": \"This invoice will be marked as Accepted\",\n    \"confirm_mark_as_rejected\": \"This invoice will be marked as Rejected\",\n    \"confirm_send\": \"سيتم إرسال هذه الفاتورة بالبريد الألكتروني إلى العميل\",\n    \"invoice_date\": \"تاريخ الفاتورة\",\n    \"record_payment\": \"تسجيل مدفوعات\",\n    \"add_new_invoice\": \"إضافة فاتورة جديدة\",\n    \"update_expense\": \"تحديث المصروفات\",\n    \"edit_invoice\": \"تعديل الفاتورة\",\n    \"new_invoice\": \"فاتورة جديدة\",\n    \"save_invoice\": \"حفظ الفاتورة\",\n    \"update_invoice\": \"تحديث الفاتورة\",\n    \"add_new_tax\": \"إضافة ضريبة جديدة\",\n    \"no_invoices\": \"لا يوجد فواتير حتى الآن!\",\n    \"mark_as_rejected\": \"Mark as rejected\",\n    \"mark_as_accepted\": \"Mark as accepted\",\n    \"list_of_invoices\": \"قائمة الفواتير .\",\n    \"select_invoice\": \"اختر الفاتورة\",\n    \"no_matching_invoices\": \"لا يوجد فواتير مطابقة!\",\n    \"mark_as_sent_successfully\": \"تم تحديد الفاتورة كمرسلة بنجاح\",\n    \"invoice_sent_successfully\": \"Invoice sent successfully\",\n    \"cloned_successfully\": \"تم استنساخ الفاتورة بنجاح\",\n    \"clone_invoice\": \"استنساخ الفاتورة\",\n    \"confirm_clone\": \"سيتم استنساخ هذه الفاتورة في فاتورة جديدة\",\n    \"item\": {\n      \"title\": \"اسم الصنف\",\n      \"description\": \"الوصف\",\n      \"quantity\": \"الكمية\",\n      \"price\": \"السعر\",\n      \"discount\": \"الخصم\",\n      \"total\": \"الإجمالي\",\n      \"total_discount\": \"إجمالي الخصم\",\n      \"sub_total\": \"حاصل الجمع\",\n      \"tax\": \"الضريبة\",\n      \"amount\": \"المبلغ المطلوب\",\n      \"select_an_item\": \"اكتب أو انقر لاختيار صنف\",\n      \"type_item_description\": \"وصف الصنف (اختياري)\"\n    },\n    \"payment_attached_message\": \"هناك مدفوعات مرتبطة بالفعل بإحدى الفواتير المحددة. تأكد من حذف المدفوعات المرتبطة أولاً قبل حذف الفاتورة.\",\n    \"confirm_delete\": \"لن تتمكن من استرجاع الفاتورة بعد هذه الإجراء | لن تتمكن من استرجاع الفواتير بعد هذا الإجراء\",\n    \"created_message\": \"تم إنشاء الفاتورة بنجاح\",\n    \"updated_message\": \"تم تحديث الفاتورة بنجاح\",\n    \"deleted_message\": \"تم حذف الفاتورة بنجاح | تم حذف الفواتير بنجاح\",\n    \"marked_as_sent_message\": \"تم إرسال الفاتورة بنجاح\",\n    \"something_went_wrong\": \"خطأ غير معروف!\",\n    \"invalid_due_amount_message\": \"المبلغ النهائي للفاتورة لا يمكن أن يكون أقل من المبلغ المطلوب لها. رجاءاً حدث الفاتورة أو قم بحذف المدفوعات المرتبطة بها للاستمرار.\",\n    \"mark_as_default_invoice_template_description\": \"If enabled, the selected template will be automatically selected for new invoices.\"\n  },\n  \"recurring_invoices\": {\n    \"title\": \"Recurring Invoices\",\n    \"invoices_list\": \"Recurring Invoices List\",\n    \"days\": \"{days} Days\",\n    \"months\": \"{months} Month\",\n    \"years\": \"{years} Year\",\n    \"all\": \"All\",\n    \"paid\": \"Paid\",\n    \"unpaid\": \"Unpaid\",\n    \"viewed\": \"Viewed\",\n    \"overdue\": \"Overdue\",\n    \"active\": \"Active\",\n    \"completed\": \"Completed\",\n    \"customer\": \"CUSTOMER\",\n    \"paid_status\": \"PAID STATUS\",\n    \"ref_no\": \"REF NO.\",\n    \"number\": \"NUMBER\",\n    \"amount_due\": \"AMOUNT DUE\",\n    \"partially_paid\": \"Partially Paid\",\n    \"total\": \"Total\",\n    \"discount\": \"Discount\",\n    \"sub_total\": \"Sub Total\",\n    \"invoice\": \"Recurring Invoice | Recurring Invoices\",\n    \"invoice_number\": \"Recurring Invoice Number\",\n    \"next_invoice_date\": \"Next Invoice Date\",\n    \"ref_number\": \"Ref Number\",\n    \"contact\": \"Contact\",\n    \"add_item\": \"Add an Item\",\n    \"date\": \"Date\",\n    \"limit_by\": \"Limit by\",\n    \"limit_date\": \"Limit Date\",\n    \"limit_count\": \"Limit Count\",\n    \"count\": \"Count\",\n    \"status\": \"Status\",\n    \"select_a_status\": \"Select a status\",\n    \"working\": \"Working\",\n    \"on_hold\": \"On Hold\",\n    \"complete\": \"Completed\",\n    \"add_tax\": \"Add Tax\",\n    \"amount\": \"Amount\",\n    \"action\": \"Action\",\n    \"notes\": \"Notes\",\n    \"view\": \"View\",\n    \"basic_info\": \"Basic Info\",\n    \"send_invoice\": \"Send Recurring Invoice\",\n    \"auto_send\": \"Auto Send\",\n    \"resend_invoice\": \"Resend Recurring Invoice\",\n    \"invoice_template\": \"Recurring Invoice Template\",\n    \"conversion_message\": \"Recurring Invoice cloned successful\",\n    \"template\": \"Template\",\n    \"mark_as_sent\": \"Mark as sent\",\n    \"confirm_send_invoice\": \"This recurring invoice will be sent via email to the customer\",\n    \"invoice_mark_as_sent\": \"This recurring invoice will be marked as sent\",\n    \"confirm_send\": \"This recurring invoice will be sent via email to the customer\",\n    \"starts_at\": \"Start Date\",\n    \"due_date\": \"Invoice Due Date\",\n    \"record_payment\": \"Record Payment\",\n    \"add_new_invoice\": \"Add New Recurring Invoice\",\n    \"update_expense\": \"Update Expense\",\n    \"edit_invoice\": \"Edit Recurring Invoice\",\n    \"new_invoice\": \"New Recurring Invoice\",\n    \"send_automatically\": \"Send Automatically\",\n    \"send_automatically_desc\": \"Enable this, if you would like to send the invoice automatically to the customer when its created.\",\n    \"save_invoice\": \"Save Recurring Invoice\",\n    \"update_invoice\": \"Update Recurring Invoice\",\n    \"add_new_tax\": \"Add New Tax\",\n    \"no_invoices\": \"No Recurring Invoices yet!\",\n    \"mark_as_rejected\": \"Mark as rejected\",\n    \"mark_as_accepted\": \"Mark as accepted\",\n    \"list_of_invoices\": \"This section will contain the list of recurring invoices.\",\n    \"select_invoice\": \"Select Invoice\",\n    \"no_matching_invoices\": \"There are no matching recurring invoices!\",\n    \"mark_as_sent_successfully\": \"Recurring Invoice marked as sent successfully\",\n    \"invoice_sent_successfully\": \"Recurring Invoice sent successfully\",\n    \"cloned_successfully\": \"Recurring Invoice cloned successfully\",\n    \"clone_invoice\": \"Clone Recurring Invoice\",\n    \"confirm_clone\": \"This recurring invoice will be cloned into a new Recurring Invoice\",\n    \"add_customer_email\": \"Please add an email address for this customer to send invoices automatically.\",\n    \"item\": {\n      \"title\": \"Item Title\",\n      \"description\": \"Description\",\n      \"quantity\": \"Quantity\",\n      \"price\": \"Price\",\n      \"discount\": \"Discount\",\n      \"total\": \"Total\",\n      \"total_discount\": \"Total Discount\",\n      \"sub_total\": \"Sub Total\",\n      \"tax\": \"Tax\",\n      \"amount\": \"Amount\",\n      \"select_an_item\": \"Type or click to select an item\",\n      \"type_item_description\": \"Type Item Description (optional)\"\n    },\n    \"frequency\": {\n      \"title\": \"Frequency\",\n      \"select_frequency\": \"Select Frequency\",\n      \"minute\": \"Minute\",\n      \"hour\": \"Hour\",\n      \"day_month\": \"Day of month\",\n      \"month\": \"Month\",\n      \"day_week\": \"Day of week\"\n    },\n    \"confirm_delete\": \"You will not be able to recover this Invoice | You will not be able to recover these Invoices\",\n    \"created_message\": \"Recurring Invoice created successfully\",\n    \"updated_message\": \"Recurring Invoice updated successfully\",\n    \"deleted_message\": \"Recurring Invoice deleted successfully | Recurring Invoices deleted successfully\",\n    \"marked_as_sent_message\": \"Recurring Invoice marked as sent successfully\",\n    \"user_email_does_not_exist\": \"User email does not exist\",\n    \"something_went_wrong\": \"something went wrong\",\n    \"invalid_due_amount_message\": \"Total Recurring Invoice amount cannot be less than total paid amount for this Recurring Invoice. Please update the invoice or delete the associated payments to continue.\"\n  },\n  \"payments\": {\n    \"title\": \"المدفوعات\",\n    \"payments_list\": \"قائمة المدفوعات\",\n    \"record_payment\": \"تسجيل دفعة\",\n    \"customer\": \"العميل\",\n    \"date\": \"التاريخ\",\n    \"amount\": \"المبلغ المطلوب\",\n    \"action\": \"إجراء\",\n    \"payment_number\": \"رقم الدفعة\",\n    \"payment_mode\": \"نوع الدفعة\",\n    \"invoice\": \"الفاتورة\",\n    \"note\": \"ملاحظة\",\n    \"add_payment\": \"إضافة دفعة\",\n    \"new_payment\": \"دفعة جديدة\",\n    \"edit_payment\": \"تعديل الدفعة\",\n    \"view_payment\": \"عرض الدفعة\",\n    \"add_new_payment\": \"إضافة دفعة جديدة\",\n    \"send_payment_receipt\": \"إرسال إيصال الدفع\",\n    \"send_payment\": \"إرسال الدفعة\",\n    \"save_payment\": \"حفظ الدفعة\",\n    \"update_payment\": \"تحديث الدفعة\",\n    \"payment\": \"دفعة | مدفوعات\",\n    \"no_payments\": \"لا يوجد مدفوعات حتى الآن!\",\n    \"not_selected\": \"لم يتم تحديد\",\n    \"no_invoice\": \"لا توجد فاتورة\",\n    \"no_matching_payments\": \"لا توجد مدفوعات مطابقة!\",\n    \"list_of_payments\": \"سوف تحتوي هذه القائمة على مدفوعات الفواتير.\",\n    \"select_payment_mode\": \"اختر طريقة الدفع\",\n    \"confirm_mark_as_sent\": \"سيتم التحديد كمرسل على هذا التقدير\",\n    \"confirm_send_payment\": \"سيتم إرسال هذه الدفعة عبر البريد الإلكتروني إلى العميل\",\n    \"send_payment_successfully\": \"تم إرسال الدفعة بنجاح\",\n    \"something_went_wrong\": \"خطأ غير معروف!\",\n    \"confirm_delete\": \"لن تكون قادر على استرجاع هذه الدفعة | لن تكون قادراً على استرجاع هذه المدفوعات\",\n    \"created_message\": \"تم إنشاء الدفعة بنجاح\",\n    \"updated_message\": \"تم تحديث الدفعة بنجاح\",\n    \"deleted_message\": \"تم حذف الدفعة بنجاح | تم حذف المدفوعات بنجاح\",\n    \"invalid_amount_message\": \"قيمة الدفعة غير صحيحة!\"\n  },\n  \"expenses\": {\n    \"title\": \"النفقات\",\n    \"expenses_list\": \"قائمة النفقات\",\n    \"select_a_customer\": \"حدد عميلاً\",\n    \"expense_title\": \"العنوان\",\n    \"customer\": \"العميل\",\n    \"currency\": \"Currency\",\n    \"contact\": \"تواصل\",\n    \"category\": \"الفئة\",\n    \"from_date\": \"من تاريخ\",\n    \"to_date\": \"حتى تاريخ\",\n    \"expense_date\": \"التاريخ\",\n    \"description\": \"الوصف\",\n    \"receipt\": \"سند القبض\",\n    \"amount\": \"المبلغ المطلوب\",\n    \"action\": \"إجراء\",\n    \"not_selected\": \"لم يتم تحديد\",\n    \"note\": \"ملاحظة\",\n    \"category_id\": \"رمز الفئة\",\n    \"date\": \"تاريخ النفقات\",\n    \"add_expense\": \"أضف نفقات\",\n    \"add_new_expense\": \"أضف نفقات جديدة\",\n    \"save_expense\": \"حفظ النفقات\",\n    \"update_expense\": \"تحديث النفقات\",\n    \"download_receipt\": \"تنزيل السند\",\n    \"edit_expense\": \"تعديل النفقات\",\n    \"new_expense\": \"نفقات جديدة\",\n    \"expense\": \"إنفاق | نفقات\",\n    \"no_expenses\": \"لا يوجد نفقات حتى الآن!\",\n    \"list_of_expenses\": \"هذه القائمة ستحتوي النفقات الخاصة بك\",\n    \"confirm_delete\": \"لن تتمكن من استرجاع هذا الإنفاق | لن تتمكن من استرجاع هذه النفقات\",\n    \"created_message\": \"تم إنشاء النفقات بنجاح\",\n    \"updated_message\": \"تم تحديث النفقات بنجاح\",\n    \"deleted_message\": \"تم حذف النفقات بنجاح\",\n    \"categories\": {\n      \"categories_list\": \"قائمة الفئات\",\n      \"title\": \"العنوان\",\n      \"name\": \"الاسم\",\n      \"description\": \"الوصف\",\n      \"amount\": \"المبلغ المطلوب\",\n      \"actions\": \"العمليات\",\n      \"add_category\": \"إضافة فئمة\",\n      \"new_category\": \"فئة جديدة\",\n      \"category\": \"فئة | فئات\",\n      \"select_a_category\": \"اختر الفئة\"\n    }\n  },\n  \"login\": {\n    \"email\": \"البريد الإلكتروني\",\n    \"password\": \"كلمة المرور\",\n    \"forgot_password\": \"نسيت كلمة المرور؟\",\n    \"or_signIn_with\": \"أو سجل الدخول بواسطة\",\n    \"login\": \"دخول\",\n    \"register\": \"تسجيل\",\n    \"reset_password\": \"إعادة تعيين كلمة المرور\",\n    \"password_reset_successfully\": \"تم إعادة تعيين كلمة المرور بنجاح\",\n    \"enter_email\": \"أدخل البريد الالكتروني\",\n    \"enter_password\": \"أكتب كلمة المرور\",\n    \"retype_password\": \"أعد كتابة كلمة المرور\"\n  },\n  \"modules\": {\n    \"buy_now\": \"Buy Now\",\n    \"install\": \"Install\",\n    \"price\": \"Price\",\n    \"download_zip_file\": \"Download ZIP file\",\n    \"unzipping_package\": \"Unzipping Package\",\n    \"copying_files\": \"Copying Files\",\n    \"deleting_files\": \"Deleting Unused files\",\n    \"completing_installation\": \"Completing Installation\",\n    \"update_failed\": \"Update Failed\",\n    \"install_success\": \"Module has been installed successfully!\",\n    \"customer_reviews\": \"Reviews\",\n    \"license\": \"License\",\n    \"faq\": \"FAQ\",\n    \"monthly\": \"Monthly\",\n    \"yearly\": \"Yearly\",\n    \"updated\": \"Updated\",\n    \"version\": \"Version\",\n    \"disable\": \"Disable\",\n    \"module_disabled\": \"Module Disabled\",\n    \"enable\": \"Enable\",\n    \"module_enabled\": \"Module Enabled\",\n    \"update_to\": \"Update To\",\n    \"module_updated\": \"Module Updated Successfully!\",\n    \"title\": \"Modules\",\n    \"module\": \"Module | Modules\",\n    \"api_token\": \"API token\",\n    \"invalid_api_token\": \"Invalid API Token.\",\n    \"other_modules\": \"Other Modules\",\n    \"view_all\": \"View All\",\n    \"no_reviews_found\": \"There are no reviews for this module yet!\",\n    \"module_not_purchased\": \"Module Not Purchased\",\n    \"module_not_found\": \"Module Not Found\",\n    \"version_not_supported\": \"This module version doesn't support the current version of Crater\",\n    \"last_updated\": \"Last Updated On\",\n    \"connect_installation\": \"Connect your installation\",\n    \"api_token_description\": \"Login to {url} and connect this installation by entering the API Token. Your purchased modules will show up here after the connection is established.\",\n    \"view_module\": \"View Module\",\n    \"update_available\": \"Update Available\",\n    \"purchased\": \"Purchased\",\n    \"installed\": \"Installed\",\n    \"no_modules_installed\": \"No Modules Installed Yet!\",\n    \"disable_warning\": \"All the settings for this particular will be reverted.\",\n    \"what_you_get\": \"What you get\"\n  },\n  \"users\": {\n    \"title\": \"المستخدمون\",\n    \"users_list\": \"قائمة المستخدمين\",\n    \"name\": \"اسم\",\n    \"description\": \"وصف\",\n    \"added_on\": \"وأضاف في\",\n    \"date_of_creation\": \"تاريخ الخلق\",\n    \"action\": \"عمل\",\n    \"add_user\": \"إضافة مستخدم\",\n    \"save_user\": \"حفظ المستخدم\",\n    \"update_user\": \"تحديث المستخدم\",\n    \"user\": \"تحديث المستخدم\",\n    \"add_new_user\": \"إضافة مستخدم جديد\",\n    \"new_user\": \"مستخدم جديد\",\n    \"edit_user\": \"تحرير العضو\",\n    \"no_users\": \"لا مستخدمين حتى الآن!\",\n    \"list_of_users\": \"سيحتوي هذا القسم على قائمة المستخدمين.\",\n    \"email\": \"البريد الإلكتروني\",\n    \"phone\": \"هاتف\",\n    \"password\": \"كلمه السر\",\n    \"user_attached_message\": \"لا يمكن حذف عنصر قيد الاستخدام بالفعل\",\n    \"confirm_delete\": \"لن تتمكن من استرداد هذا العنصر | لن تتمكن من استرداد هؤلاء المستخدمين\",\n    \"created_message\": \"تم إنشاء المستخدم بنجاح\",\n    \"updated_message\": \"تم تحديث المستخدم بنجاح\",\n    \"deleted_message\": \"تم حذف المستخدم بنجاح | تم حذف المستخدم بنجاح\",\n    \"select_company_role\": \"Select Role for {company}\",\n    \"companies\": \"Companies\"\n  },\n  \"reports\": {\n    \"title\": \"تقرير\",\n    \"from_date\": \"من تاريخ\",\n    \"to_date\": \"حتى تاريخ\",\n    \"status\": \"الحالة\",\n    \"paid\": \"مدفوع\",\n    \"unpaid\": \"غير مدفوع\",\n    \"download_pdf\": \"تنزيل PDF\",\n    \"view_pdf\": \"عرض PDF\",\n    \"update_report\": \"تحديث التقرير\",\n    \"report\": \"تقرير | تقارير\",\n    \"profit_loss\": {\n      \"profit_loss\": \"الخسائر والأرباح\",\n      \"to_date\": \"حتى تاريخ\",\n      \"from_date\": \"من تاريخ\",\n      \"date_range\": \"اختر مدى التاريخ\"\n    },\n    \"sales\": {\n      \"sales\": \"المبيعات\",\n      \"date_range\": \"اختر مدى التاريخ\",\n      \"to_date\": \"حتى تاريخ\",\n      \"from_date\": \"من تاريخ\",\n      \"report_type\": \"نوع التقرير\"\n    },\n    \"taxes\": {\n      \"taxes\": \"الضرائب\",\n      \"to_date\": \"حتى تاريخ\",\n      \"from_date\": \"من تاريخ\",\n      \"date_range\": \"اختر مدى التاريخ\"\n    },\n    \"errors\": {\n      \"required\": \"حقل مطلوب\"\n    },\n    \"invoices\": {\n      \"invoice\": \"الفاتورة\",\n      \"invoice_date\": \"تاريخ الفاتورة\",\n      \"due_date\": \"تاريخ الاستحقاق\",\n      \"amount\": \"المبلغ المطلوب\",\n      \"contact_name\": \"اسم التواصل\",\n      \"status\": \"الحالة\"\n    },\n    \"estimates\": {\n      \"estimate\": \"تقدير\",\n      \"estimate_date\": \"تاريخ التقدير\",\n      \"due_date\": \"مستحق بتاريخ\",\n      \"estimate_number\": \"رقم مستحق\",\n      \"ref_number\": \"رقم المرجع\",\n      \"amount\": \"المبلغ المطلوب\",\n      \"contact_name\": \"اسم التواصل\",\n      \"status\": \"الحالة\"\n    },\n    \"expenses\": {\n      \"expenses\": \"النفقات\",\n      \"category\": \"الفئة\",\n      \"date\": \"التاريخ\",\n      \"amount\": \"المبلغ المطلوب\",\n      \"to_date\": \"حتى تاريخ\",\n      \"from_date\": \"من تاريخ\",\n      \"date_range\": \"اختر مدى التاريخ\"\n    }\n  },\n  \"settings\": {\n    \"menu_title\": {\n      \"account_settings\": \"إعدادات الحساب\",\n      \"company_information\": \"معلومات المنشأة\",\n      \"customization\": \"تخصيص\",\n      \"preferences\": \"تفضيلات\",\n      \"notifications\": \"تنبيهات\",\n      \"tax_types\": \"نوع الضريبة\",\n      \"expense_category\": \"فئات النفقات\",\n      \"update_app\": \"تحديث النظام\",\n      \"backup\": \"دعم\",\n      \"file_disk\": \"قرص الملف\",\n      \"custom_fields\": \"الحقول المخصصة\",\n      \"payment_modes\": \"طرق الدفع\",\n      \"notes\": \"ملاحظات\",\n      \"exchange_rate\": \"Exchange Rate\",\n      \"address_information\": \"Address Information\"\n    },\n    \"address_information\": {\n      \"section_description\": \"  You can update Your Address information using form below.\"\n    },\n    \"title\": \"إعدادات\",\n    \"setting\": \"إعدادات | إعدادات\",\n    \"general\": \"عام\",\n    \"language\": \"اللغة\",\n    \"primary_currency\": \"العملة الرئيسية\",\n    \"timezone\": \"المنطقة الزمنية\",\n    \"date_format\": \"صيغة التاريخ\",\n    \"currencies\": {\n      \"title\": \"العملات\",\n      \"currency\": \"العملة | العملات\",\n      \"currencies_list\": \"قائمة العملات\",\n      \"select_currency\": \"اختر العملة\",\n      \"name\": \"الاسم\",\n      \"code\": \"المرجع\",\n      \"symbol\": \"الرمز\",\n      \"precision\": \"الدقة\",\n      \"thousand_separator\": \"فاصل الآلاف\",\n      \"decimal_separator\": \"الفاصلة العشرية\",\n      \"position\": \"الموقع\",\n      \"position_of_symbol\": \"موقع رمز العملة\",\n      \"right\": \"يمين\",\n      \"left\": \"يسار\",\n      \"action\": \"إجراء\",\n      \"add_currency\": \"أضف عملة\"\n    },\n    \"mail\": {\n      \"host\": \"خادم البريد\",\n      \"port\": \"منفذ البريد\",\n      \"driver\": \"مشغل البريد\",\n      \"secret\": \"سري\",\n      \"mailgun_secret\": \"الرمز السري لـ Mailgun\",\n      \"mailgun_domain\": \"المجال\",\n      \"mailgun_endpoint\": \"النهاية الطرفية لـ Mailgun\",\n      \"ses_secret\": \"SES الرمز السري\",\n      \"ses_key\": \"SES مفتاح\",\n      \"password\": \"كلمة مرور البريد الالكتروني\",\n      \"username\": \"اسم المستخدم للبريد الإلكتروني\",\n      \"mail_config\": \"إعدادات البريد الالكتروني\",\n      \"from_name\": \"اسم المرسل\",\n      \"from_mail\": \"عنوان البريد الالكتروني للمرسل\",\n      \"encryption\": \"صيغة ا لتشفير\",\n      \"mail_config_desc\": \"أدناه هو نموذج لتكوين برنامج تشغيل البريد الإلكتروني لإرسال رسائل البريد الإلكتروني من التطبيق. يمكنك أيضًا تهيئة موفري الجهات الخارجية مثل Sendgrid و SES إلخ.\"\n    },\n    \"pdf\": {\n      \"title\": \"PDF إعدادات\",\n      \"footer_text\": \"نص التذييل\",\n      \"pdf_layout\": \"اتجاه صفحة PDF\"\n    },\n    \"company_info\": {\n      \"company_info\": \"معلومات الشركة\",\n      \"company_name\": \"اسم الشركة\",\n      \"company_logo\": \"شعار الشركة\",\n      \"section_description\": \"معلومات عن شركتك سيتم عرضها على الفواتير والتقديرات والمستندات الأخرى.\",\n      \"phone\": \"الهاتف\",\n      \"country\": \"الدولة\",\n      \"state\": \"الولاية/المنطقة\",\n      \"city\": \"المدينة\",\n      \"address\": \"العنوان\",\n      \"zip\": \"الرمز البريدي\",\n      \"save\": \"حفظ\",\n      \"delete\": \"Delete\",\n      \"updated_message\": \"تم تحديث معلومات الشركة بنجاح\",\n      \"delete_company\": \"Delete Company\",\n      \"delete_company_description\": \"Once you delete your company, you will lose all the data and files associated with it permanently.\",\n      \"are_you_absolutely_sure\": \"Are you absolutely sure?\",\n      \"delete_company_modal_desc\": \"This action cannot be undone. This will permanently delete {company} and all of its associated data.\",\n      \"delete_company_modal_label\": \"Please type {company} to confirm\"\n    },\n    \"custom_fields\": {\n      \"title\": \"الحقول المخصصة\",\n      \"section_description\": \"قم بتخصيص فواتيرك وتقديراتك وإيصالات الدفع باستخدام الحقول الخاصة بك. تأكد من استخدام الحقول المضافة أدناه في تنسيقات العناوين في صفحة إعدادات التخصيص.\",\n      \"add_custom_field\": \"إضافة حقل مخصص\",\n      \"edit_custom_field\": \"تحرير الحقل المخصص\",\n      \"field_name\": \"اسم الحقل\",\n      \"label\": \"ضع الكلمة المناسبة\",\n      \"type\": \"نوع\",\n      \"name\": \"اسم\",\n      \"slug\": \"Slug\",\n      \"required\": \"مطلوب\",\n      \"placeholder\": \"عنصر نائب\",\n      \"help_text\": \"نص المساعدة\",\n      \"default_value\": \"القيمة الافتراضية\",\n      \"prefix\": \"اختصار\",\n      \"starting_number\": \"رقم البداية\",\n      \"model\": \"نموذج\",\n      \"help_text_description\": \"أدخل بعض النص لمساعدة المستخدمين على فهم الغرض من هذا الحقل المخصص.\",\n      \"suffix\": \"لاحقة\",\n      \"yes\": \"نعم\",\n      \"no\": \"لا\",\n      \"order\": \"طلب\",\n      \"custom_field_confirm_delete\": \"لن تتمكن من استعادة هذا الحقل المخصص\",\n      \"already_in_use\": \"الحقل المخصص قيد الاستخدام بالفعل\",\n      \"deleted_message\": \"تم حذف الحقل المخصص بنجاح\",\n      \"options\": \"خيارات\",\n      \"add_option\": \"أضف خيارات\",\n      \"add_another_option\": \"أضف خيارًا آخر\",\n      \"sort_in_alphabetical_order\": \"فرز حسب الترتيب الأبجدي\",\n      \"add_options_in_bulk\": \"أضف الخيارات بشكل مجمّع\",\n      \"use_predefined_options\": \"استخدم الخيارات المحددة مسبقًا\",\n      \"select_custom_date\": \"حدد التاريخ المخصص\",\n      \"select_relative_date\": \"حدد التاريخ النسبي\",\n      \"ticked_by_default\": \"يتم تحديده بشكل افتراضي\",\n      \"updated_message\": \"تم تحديث الحقل المخصص بنجاح\",\n      \"added_message\": \"تمت إضافة الحقل المخصص بنجاح\",\n      \"press_enter_to_add\": \"Press enter to add new option\",\n      \"model_in_use\": \"Cannot update model for fields which are already in use.\",\n      \"type_in_use\": \"Cannot update type for fields which are already in use.\"\n    },\n    \"customization\": {\n      \"customization\": \"التخصيص\",\n      \"updated_message\": \"تم تحديث معلومات الشركة بنجاح\",\n      \"save\": \"حفظ\",\n      \"insert_fields\": \"Insert Fields\",\n      \"learn_custom_format\": \"Learn how to use custom format\",\n      \"add_new_component\": \"Add New Component\",\n      \"component\": \"Component\",\n      \"Parameter\": \"Parameter\",\n      \"series\": \"Series\",\n      \"series_description\": \"To set a static prefix/postfix like 'INV' across your company. It supports character length of up to 6 chars.\",\n      \"series_param_label\": \"Series Value\",\n      \"delimiter\": \"Delimiter\",\n      \"delimiter_description\": \"Single character for specifying the boundary between 2 separate components. By default its set to -\",\n      \"delimiter_param_label\": \"Delimiter Value\",\n      \"date_format\": \"Date Format\",\n      \"date_format_description\": \"A local date and time field which accepts a format parameter. The default format: 'Y' renders the current year.\",\n      \"date_format_param_label\": \"Format\",\n      \"sequence\": \"Sequence\",\n      \"sequence_description\": \"Consecutive sequence of numbers across your company. You can specify the length on the given parameter.\",\n      \"sequence_param_label\": \"Sequence Length\",\n      \"customer_series\": \"Customer Series\",\n      \"customer_series_description\": \"To set a different prefix/postfix for each customer.\",\n      \"customer_sequence\": \"Customer Sequence\",\n      \"customer_sequence_description\": \"Consecutive sequence of numbers for each of your customer.\",\n      \"customer_sequence_param_label\": \"Sequence Length\",\n      \"random_sequence\": \"Random Sequence\",\n      \"random_sequence_description\": \"Random alphanumeric string. You can specify the length on the given parameter.\",\n      \"random_sequence_param_label\": \"Sequence Length\",\n      \"invoices\": {\n        \"title\": \"الفواتير\",\n        \"invoice_number_format\": \"Invoice Number Format\",\n        \"invoice_number_format_description\": \"Customize how your invoice number gets generated automatically when you create a new invoice.\",\n        \"preview_invoice_number\": \"Preview Invoice Number\",\n        \"due_date\": \"Due Date\",\n        \"due_date_description\": \"Specify how due date is automatically set when you create an invoice.\",\n        \"due_date_days\": \"Invoice Due after days\",\n        \"set_due_date_automatically\": \"Set Due Date Automatically\",\n        \"set_due_date_automatically_description\": \"Enable this if you wish to set due date automatically when you create a new invoice.\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on invoice creation.\",\n        \"default_invoice_email_body\": \"نص الفاتورة الافتراضي للبريد الإلكتروني\",\n        \"company_address_format\": \"تنسيق عنوان الشركة\",\n        \"shipping_address_format\": \"تنسيق عنوان الشحن\",\n        \"billing_address_format\": \"تنسيق عنوان الفواتير\",\n        \"invoice_email_attachment\": \"إرسال الفواتير كمرفقات\",\n        \"invoice_email_attachment_setting_description\": \"تفعيل هذا إذا كنت ترغب في إرسال الفواتير كمرفق بريد إلكتروني. يرجى ملاحظة أن زر \\\"عرض الفواتير\\\" في رسائل البريد الإلكتروني لن يتم عرضه بعد الآن عند التفعيل.\",\n        \"invoice_settings_updated\": \"Invoice Settings updated successfully\",\n        \"retrospective_edits\": \"Retrospective Edits\",\n        \"allow\": \"Allow\",\n        \"disable_on_invoice_partial_paid\": \"Disable after partial payment is recorded\",\n        \"disable_on_invoice_paid\": \"Disable after full payment is recorded\",\n        \"disable_on_invoice_sent\": \"Disable after invoice is sent\",\n        \"retrospective_edits_description\": \" Based on your country's laws or your preference, you can restrict users from editing finalised invoices.\"\n      },\n      \"estimates\": {\n        \"title\": \"التقديرات\",\n        \"estimate_number_format\": \"Estimate Number Format\",\n        \"estimate_number_format_description\": \"Customize how your estimate number gets generated automatically when you create a new estimate.\",\n        \"preview_estimate_number\": \"Preview Estimate Number\",\n        \"expiry_date\": \"Expiry Date\",\n        \"expiry_date_description\": \"Specify how expiry date is automatically set when you create an estimate.\",\n        \"expiry_date_days\": \"Estimate Expires after days\",\n        \"set_expiry_date_automatically\": \"Set Expiry Date Automatically\",\n        \"set_expiry_date_automatically_description\": \"Enable this if you wish to set expiry date automatically when you create a new estimate.\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on estimate creation.\",\n        \"default_estimate_email_body\": \"تقدير نص البريد الإلكتروني الافتراضي\",\n        \"company_address_format\": \"تنسيق عنوان الشركة\",\n        \"shipping_address_format\": \"تنسيق عنوان الشحن\",\n        \"billing_address_format\": \"تنسيق عنوان الفواتير\",\n        \"estimate_email_attachment\": \"إرسال التقديرات كمرفقات\",\n        \"estimate_email_attachment_setting_description\": \"تفعيل هذا إذا كنت ترغب في إرسال الفواتير كمرفق بريد إلكتروني. يرجى ملاحظة أن زر \\\"عرض التقديرات\\\" في رسائل البريد الإلكتروني لن يتم عرضه بعد الآن عند التفعيل.\",\n        \"estimate_settings_updated\": \"Estimate Settings updated successfully\",\n        \"convert_estimate_options\": \"Estimate Convert Action\",\n        \"convert_estimate_description\": \"Specify what happens to the estimate after it gets converted to an invoice.\",\n        \"no_action\": \"No action\",\n        \"delete_estimate\": \"Delete estimate\",\n        \"mark_estimate_as_accepted\": \"Mark estimate as accepted\"\n      },\n      \"payments\": {\n        \"title\": \"المدفوعات\",\n        \"payment_number_format\": \"Payment Number Format\",\n        \"payment_number_format_description\": \"Customize how your payment number gets generated automatically when you create a new payment.\",\n        \"preview_payment_number\": \"Preview Payment Number\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on payment creation.\",\n        \"default_payment_email_body\": \"نص البريد الإلكتروني للدفع الافتراضي\",\n        \"company_address_format\": \"تنسيق عنوان الشركة\",\n        \"from_customer_address_format\": \"من تنسيق عنوان العميل\",\n        \"payment_email_attachment\": \"إرسال المدفوعات كمرفقات\",\n        \"payment_email_attachment_setting_description\": \"تفعيل هذا إذا كنت ترغب في إرسال الفواتير كمرفق بريد إلكتروني. يرجى ملاحظة أن زر \\\"عرض المدفوعات\\\" في رسائل البريد الإلكتروني لن يتم عرضه بعد الآن عند التفعيل.\",\n        \"payment_settings_updated\": \"Payment Settings updated successfully\"\n      },\n      \"items\": {\n        \"title\": \"العناصر\",\n        \"units\": \"الوحدات\",\n        \"add_item_unit\": \"إضافة وحدة عنصر\",\n        \"edit_item_unit\": \"تحرير وحدة العناصر\",\n        \"unit_name\": \"إسم الوحدة\",\n        \"item_unit_added\": \"تمت إضافة وحدة العنصر\",\n        \"item_unit_updated\": \"تم تحديث وحدة العنصر\",\n        \"item_unit_confirm_delete\": \"لن تتمكن من استرداد وحدة العنصر هذه\",\n        \"already_in_use\": \"وحدة العنصر قيد الاستخدام بالفعل\",\n        \"deleted_message\": \"تم حذف وحدة العنصر بنجاح\"\n      },\n      \"notes\": {\n        \"title\": \"ملاحظات\",\n        \"description\": \"توفير الوقت عن طريق إنشاء الملاحظات وإعادة استخدامها على الفواتير والتقديرات والمدفوعات.\",\n        \"notes\": \"ملاحظات\",\n        \"type\": \"نوع\",\n        \"add_note\": \"اضف ملاحظة\",\n        \"add_new_note\": \"أضف ملاحظة جديدة\",\n        \"name\": \"اسم\",\n        \"edit_note\": \"تحرير مذكرة\",\n        \"note_added\": \"تمت إضافة الملاحظة\",\n        \"note_updated\": \"تم تحديث الملاحظة\",\n        \"note_confirm_delete\": \"لن تتمكن من استعادة هذه الملاحظة\",\n        \"already_in_use\": \"الملاحظة قيد الاستخدام بالفعل\",\n        \"deleted_message\": \"تم حذف الملاحظة بنجاح\"\n      }\n    },\n    \"account_settings\": {\n      \"profile_picture\": \"صورة الملف الشخصي\",\n      \"name\": \"الاسم\",\n      \"email\": \"البريد الإلكتروني\",\n      \"password\": \"كلمة المرور\",\n      \"confirm_password\": \"أعد كتابة كلمة المرور\",\n      \"account_settings\": \"إعدادات الجساب\",\n      \"save\": \"حفظ\",\n      \"section_description\": \"يمكنك تحديث اسمك والبريد الإلكتروني وكلمة المرور باستخدام النموذج أدناه.\",\n      \"updated_message\": \"تم تحديث إعدادات الحساب بنجاح\"\n    },\n    \"user_profile\": {\n      \"name\": \"الاسم\",\n      \"email\": \"البريد الإلكتروني\",\n      \"password\": \"كلمة المرور\",\n      \"confirm_password\": \"أعد كتابة كلمة المرور\"\n    },\n    \"notification\": {\n      \"title\": \"الإشعارات\",\n      \"email\": \"إرسال الإشعارات إلى\",\n      \"description\": \"ما هي إشعارات البريد الإلكتروني التي ترغب في تلقيها عندما يتغير شيء ما؟\",\n      \"invoice_viewed\": \"تم عرض الفاتورة\",\n      \"invoice_viewed_desc\": \"عندما يستعرض عميلك الفاتورة المرسلة عبر الشاشة الرئيسية.\",\n      \"estimate_viewed\": \"تم عرض التقدير\",\n      \"estimate_viewed_desc\": \"عندما يستعرض عميلك التقدير المرسلة عبر الشاشة الرئيسية.\",\n      \"save\": \"حفظ\",\n      \"email_save_message\": \"تم حفظ البريد الإلكتروني بنجاح\",\n      \"please_enter_email\": \"فضلاً أدخل البريد الإلكتروني\"\n    },\n    \"roles\": {\n      \"title\": \"Roles\",\n      \"description\": \"Manage the roles & permissions of this company\",\n      \"save\": \"Save\",\n      \"add_new_role\": \"Add New Role\",\n      \"role_name\": \"Role Name\",\n      \"added_on\": \"Added on\",\n      \"add_role\": \"Add Role\",\n      \"edit_role\": \"Edit Role\",\n      \"name\": \"Name\",\n      \"permission\": \"Permission | Permissions\",\n      \"select_all\": \"Select All\",\n      \"none\": \"None\",\n      \"confirm_delete\": \"You will not be able to recover this Role\",\n      \"created_message\": \"Role created successfully\",\n      \"updated_message\": \"Role updated successfully\",\n      \"deleted_message\": \"Role deleted successfully\",\n      \"already_in_use\": \"Role is already in use\"\n    },\n    \"exchange_rate\": {\n      \"exchange_rate\": \"Exchange Rate\",\n      \"title\": \"Fix Currency Exchange issues\",\n      \"description\": \"Please enter exchange rate of all the currencies mentioned below to help Crater properly calculate the amounts in {currency}.\",\n      \"drivers\": \"Drivers\",\n      \"new_driver\": \"Add New Provider\",\n      \"edit_driver\": \"Edit Provider\",\n      \"select_driver\": \"Select Driver\",\n      \"update\": \"select exchange rate \",\n      \"providers_description\": \"Configure your exchange rate providers here to automatically fetch the latest exchange rate on transactions.\",\n      \"key\": \"API Key\",\n      \"name\": \"Name\",\n      \"driver\": \"Driver\",\n      \"is_default\": \"IS DEFAULT\",\n      \"currency\": \"Currencies\",\n      \"exchange_rate_confirm_delete\": \"You will not be able to recover this driver\",\n      \"created_message\": \"Provider Created successfully\",\n      \"updated_message\": \"Provider Updated Successfully\",\n      \"deleted_message\": \"Provider Deleted Successfully\",\n      \"error\": \" You cannot Delete Active Driver\",\n      \"default_currency_error\": \"This currency is already used in one of the Active Provider\",\n      \"exchange_help_text\": \"Enter exchange rate to convert from {currency} to {baseCurrency}\",\n      \"currency_freak\": \"Currency Freak\",\n      \"currency_layer\": \"Currency Layer\",\n      \"open_exchange_rate\": \"Open Exchange Rate\",\n      \"currency_converter\": \"Currency Converter\",\n      \"server\": \"Server\",\n      \"url\": \"URL\",\n      \"active\": \"Active\",\n      \"currency_help_text\": \"This provider will only be used on above selected currencies\",\n      \"currency_in_used\": \"The following currencies are already active on another provider. Please remove these currencies from selection to activate this provider again.\"\n    },\n    \"tax_types\": {\n      \"title\": \"أنواع الضرائب\",\n      \"add_tax\": \"أضف ضريبة\",\n      \"edit_tax\": \"تحرير الضريبة\",\n      \"description\": \"يمكنك إضافة أو إزالة الضرائب كما يحلو لك. النظام يدعم الضرائب على العناصر الفردية وكذلك على الفاتورة.\",\n      \"add_new_tax\": \"إضافة ضريبة جديدة\",\n      \"tax_settings\": \"إعدادات الضريبة\",\n      \"tax_per_item\": \"ضريبة على الصنف\",\n      \"tax_name\": \"اسم الضريبة\",\n      \"compound_tax\": \"ضريبة مجمعة\",\n      \"percent\": \"نسبة مؤوية\",\n      \"action\": \"إجراء\",\n      \"tax_setting_description\": \"قم بتمكين هذا إذا كنت تريد إضافة ضرائب لعناصر الفاتورة الفردية. بشكل افتراضي ، تضاف الضرائب مباشرة إلى الفاتورة.\",\n      \"created_message\": \"تم إنشاء نوع الضريبة بنجاح\",\n      \"updated_message\": \"تم تحديث نوع الضريبة بنجاح\",\n      \"deleted_message\": \"تم حذف نوع الضريبة بنجاح\",\n      \"confirm_delete\": \"لن تتمكن من استرجاع نوع الضرية هذا\",\n      \"already_in_use\": \"ضريبة قيد الاستخدام\"\n    },\n    \"payment_modes\": {\n      \"title\": \"Payment Modes\",\n      \"description\": \"Modes of transaction for payments\",\n      \"add_payment_mode\": \"Add Payment Mode\",\n      \"edit_payment_mode\": \"Edit Payment Mode\",\n      \"mode_name\": \"Mode Name\",\n      \"payment_mode_added\": \"Payment Mode Added\",\n      \"payment_mode_updated\": \"Payment Mode Updated\",\n      \"payment_mode_confirm_delete\": \"You will not be able to recover this Payment Mode\",\n      \"payments_attached\": \"This payment method is already attached to payments. Please delete the attached payments to proceed with deletion.\",\n      \"expenses_attached\": \"This payment method is already attached to expenses. Please delete the attached expenses to proceed with deletion.\",\n      \"deleted_message\": \"Payment Mode deleted successfully\"\n    },\n    \"expense_category\": {\n      \"title\": \"فئات النفقات\",\n      \"action\": \"إجراء\",\n      \"description\": \"الفئات مطلوبة لإضافة إدخالات النفقات. يمكنك إضافة أو إزالة هذه الفئات وفقًا لتفضيلاتك.\",\n      \"add_new_category\": \"إضافة فئة جديدة\",\n      \"add_category\": \"إضافة فئة\",\n      \"edit_category\": \"تحرير الفئة\",\n      \"category_name\": \"اسم الفئة\",\n      \"category_description\": \"الوصف\",\n      \"created_message\": \"تم إنشاء نوع النفقات بنجاح\",\n      \"deleted_message\": \"تم حذف نوع النفقات بنجاح\",\n      \"updated_message\": \"تم تحديث نوع النفقات بنجاح\",\n      \"confirm_delete\": \"لن تتمكن من استرجاع نوع النفقات هذا\",\n      \"already_in_use\": \"نوع قيد الاستخدام\"\n    },\n    \"preferences\": {\n      \"currency\": \"العملة\",\n      \"default_language\": \"اللغة الافتراضية\",\n      \"time_zone\": \"المنطة الزمنية\",\n      \"fiscal_year\": \"السنة المالية\",\n      \"date_format\": \"صيغة التاريخ\",\n      \"discount_setting\": \"إعدادات الخصم\",\n      \"discount_per_item\": \"خصم على الصنف \",\n      \"discount_setting_description\": \"قم بتمكين هذا إذا كنت تريد إضافة خصم إلى عناصر الفاتورة الفردية. بشكل افتراضي ، يتم إضافة الخصم مباشرة إلى الفاتورة.\",\n      \"expire_public_links\": \"Automatically Expire Public Links\",\n      \"expire_setting_description\": \"Specify whether you would like to expire all the links sent by application to view invoices, estimates & payments, etc after a specified duration.\",\n      \"save\": \"حفظ\",\n      \"preference\": \"تفضيل | تفضيلات\",\n      \"general_settings\": \"التفضيلات الافتراضية للنظام.\",\n      \"updated_message\": \"تم تحديث التفضيلات بنجاح\",\n      \"select_language\": \"اختر اللغة\",\n      \"select_time_zone\": \"اختر المنطة الزمنية\",\n      \"select_date_format\": \"اختر صيغة التاريخ\",\n      \"select_financial_year\": \"اختر السنة المالية\",\n      \"recurring_invoice_status\": \"Recurring Invoice Status\",\n      \"create_status\": \"Create Status\",\n      \"active\": \"Active\",\n      \"on_hold\": \"On Hold\",\n      \"update_status\": \"Update Status\",\n      \"completed\": \"Completed\",\n      \"company_currency_unchangeable\": \"Company currency cannot be changed\"\n    },\n    \"update_app\": {\n      \"title\": \"تحديث النظام\",\n      \"description\": \"يمكنك تحديث النظام بسهولة عن طريق البحث عن تحديث جديد بالنقر فوق الزر أدناه\",\n      \"check_update\": \"تحقق من التحديثات\",\n      \"avail_update\": \"تحديث جديد متوفر\",\n      \"next_version\": \"النسخة الجديدة\",\n      \"requirements\": \"المتطلبات\",\n      \"update\": \"حدث الآن\",\n      \"update_progress\": \"قيد التحديث...\",\n      \"progress_text\": \"سوف يستغرق التحديث بضع دقائق. يرجى عدم تحديث الشاشة أو إغلاق النافذة قبل انتهاء التحديث\",\n      \"update_success\": \"تم تحديث النظام! يرجى الانتظار حتى يتم إعادة تحميل نافذة المتصفح تلقائيًا.\",\n      \"latest_message\": \"لا يوجد تحديثات متوفرة! لديك حالياً أحدث نسخة.\",\n      \"current_version\": \"النسخة الحالية\",\n      \"download_zip_file\": \"تنزيل ملف ZIP\",\n      \"unzipping_package\": \"حزمة فك الضغط\",\n      \"copying_files\": \"نسخ الملفات\",\n      \"deleting_files\": \"حذف الملفات الغير مستخدمة\",\n      \"running_migrations\": \"إدارة عمليات الترحيل\",\n      \"finishing_update\": \"تحديث التشطيب\",\n      \"update_failed\": \"فشل التحديث\",\n      \"update_failed_text\": \"آسف! فشل التحديث الخاص بك في: {step} خطوة\",\n      \"update_warning\": \"All of the application files and default template files will be overwritten when you update the application using this utility. Please take a backup of your templates & database before updating.\"\n    },\n    \"backup\": {\n      \"title\": \"النسخ الاحتياطي | النسخ الاحتياطية\",\n      \"description\": \"النسخة الاحتياطية هي ملف مضغوط يحتوي على جميع الملفات في الدلائل التي تحددها مع تفريغ قاعدة البيانات الخاصة بك\",\n      \"new_backup\": \"إضافة نسخة احتياطية جديدة\",\n      \"create_backup\": \"انشئ نسخة احتياطية\",\n      \"select_backup_type\": \"حدد نوع النسخ الاحتياطي\",\n      \"backup_confirm_delete\": \"لن تتمكن من استعادة هذه النسخة الاحتياطية\",\n      \"path\": \"مسار\",\n      \"new_disk\": \"قرص جديد\",\n      \"created_at\": \"أنشئت في\",\n      \"size\": \"حجم الملف\",\n      \"dropbox\": \"بصندوق الإسقاط\",\n      \"local\": \"محلي\",\n      \"healthy\": \"صحي\",\n      \"amount_of_backups\": \"كمية النسخ الاحتياطية\",\n      \"newest_backups\": \"أحدث النسخ الاحتياطية\",\n      \"used_storage\": \"التخزين المستخدم\",\n      \"select_disk\": \"حدد القرص\",\n      \"action\": \"عمل\",\n      \"deleted_message\": \"تم حذف النسخة الاحتياطية بنجاح\",\n      \"created_message\": \"تم إنشاء النسخة الاحتياطية بنجاح\",\n      \"invalid_disk_credentials\": \"بيانات اعتماد غير صالحة للقرص المحدد\"\n    },\n    \"disk\": {\n      \"title\": \"قرص الملفات | أقراص الملفات\",\n      \"description\": \"بشكل افتراضي ، ستستخدم Crater القرص المحلي لحفظ النسخ الاحتياطية والأفاتار وملفات الصور الأخرى. يمكنك تكوين أكثر من برامج تشغيل قرص مثل DigitalOcean و S3 و Dropbox وفقًا لتفضيلاتك.\",\n      \"created_at\": \"أنشئت في\",\n      \"dropbox\": \"بصندوق الإسقاط\",\n      \"name\": \"اسم\",\n      \"driver\": \"سائق\",\n      \"disk_type\": \"نوع\",\n      \"disk_name\": \"اسم القرص\",\n      \"new_disk\": \"إضافة قرص جديد\",\n      \"filesystem_driver\": \"برنامج تشغيل نظام الملفات\",\n      \"local_driver\": \"سائق محلي\",\n      \"local_root\": \"الجذر المحلي\",\n      \"public_driver\": \"سائق عام\",\n      \"public_root\": \"الجذر العام\",\n      \"public_url\": \"URL العام\",\n      \"public_visibility\": \"الرؤية العامة\",\n      \"media_driver\": \"سائق وسائط\",\n      \"media_root\": \"جذر الوسائط\",\n      \"aws_driver\": \"برنامج تشغيل AWS\",\n      \"aws_key\": \"مفتاح AWS\",\n      \"aws_secret\": \"AWS Secret\",\n      \"aws_region\": \"منطقة AWS\",\n      \"aws_bucket\": \"حاوية AWS\",\n      \"aws_root\": \"AWS الجذر\",\n      \"do_spaces_type\": \"هل نوع المساحات\",\n      \"do_spaces_key\": \"مفتاح Do Spaces\",\n      \"do_spaces_secret\": \"هل المساحات سرية\",\n      \"do_spaces_region\": \"هل منطقة المساحات\",\n      \"do_spaces_bucket\": \"هل دلو المساحات\",\n      \"do_spaces_endpoint\": \"قم بعمل نقطة نهاية للمسافات\",\n      \"do_spaces_root\": \"عمل الجذر للمسافات\",\n      \"dropbox_type\": \"نوع Dropbox\",\n      \"dropbox_token\": \"رمز Dropbox\",\n      \"dropbox_key\": \"مفتاح Dropbox\",\n      \"dropbox_secret\": \"Dropbox Secret\",\n      \"dropbox_app\": \"تطبيق Dropbox\",\n      \"dropbox_root\": \"جذر Dropbox\",\n      \"default_driver\": \"برنامج التشغيل الافتراضي\",\n      \"is_default\": \"أمر افتراضي\",\n      \"set_default_disk\": \"تعيين القرص الافتراضي\",\n      \"set_default_disk_confirm\": \"سيتم تعيين هذا القرص كالافتراضي وسيتم حفظ جميع ملفات PDF الجديدة على هذا القرص\",\n      \"success_set_default_disk\": \"تم تعيين القرص كالافتراضي بنجاح\",\n      \"save_pdf_to_disk\": \"حفظ ملفات PDF على القرص\",\n      \"disk_setting_description\": \"قم بتمكين هذا ، إذا كنت ترغب في حفظ نسخة من كل فاتورة ، تقدير وإيصال دفع PDF على القرص الافتراضي الخاص بك تلقائيًا. سيؤدي تشغيل هذا الخيار إلى تقليل وقت التحميل عند عرض ملفات PDF.\",\n      \"select_disk\": \"حدد القرص\",\n      \"disk_settings\": \"إعدادات القرص\",\n      \"confirm_delete\": \"لن تتأثر الملفات والمجلدات الموجودة في القرص المحدد ولكن سيتم حذف اعدادات القرص الخاص بك من Crater\",\n      \"action\": \"عمل\",\n      \"edit_file_disk\": \"تعديل قرص الملف\",\n      \"success_create\": \"تمت إضافة القرص بنجاح\",\n      \"success_update\": \"تم تحديث القرص بنجاح\",\n      \"error\": \"فشل إضافة القرص\",\n      \"deleted_message\": \"تم حذف ملف القرص بنجاح\",\n      \"disk_variables_save_successfully\": \"تم تكوين القرص بنجاح\",\n      \"disk_variables_save_error\": \"فشل تكوين القرص.\",\n      \"invalid_disk_credentials\": \"بيانات اعتماد غير صالحة للقرص المحدد\"\n    },\n    \"taxations\": {\n      \"add_billing_address\": \"Enter Billing Address\",\n      \"add_shipping_address\": \"Enter Shipping Address\",\n      \"add_company_address\": \"Enter Company Address\",\n      \"modal_description\": \"The information below is required in order to fetch sales tax.\",\n      \"add_address\": \"Add Address for fetching sales tax.\",\n      \"address_placeholder\": \"Example: 123, My Street\",\n      \"city_placeholder\": \"Example: Los Angeles\",\n      \"state_placeholder\": \"Example: CA\",\n      \"zip_placeholder\": \"Example: 90024\",\n      \"invalid_address\": \"Please provide valid address details.\"\n    }\n  },\n  \"wizard\": {\n    \"account_info\": \"معلومات الحساب\",\n    \"account_info_desc\": \"سيتم استخدام التفاصيل أدناه لإنشاء حساب المسؤول الرئيسي. كما يمكنك تغيير التفاصيل في أي وقت بعد تسجيل الدخول.\",\n    \"name\": \"الاسم\",\n    \"email\": \"البريد الإلكتروني\",\n    \"password\": \"كلمة المرور\",\n    \"confirm_password\": \"أعد كتابة كلمة المرور\",\n    \"save_cont\": \"حفظ واستمرار\",\n    \"company_info\": \"معلومات الشركة\",\n    \"company_info_desc\": \"سيتم عرض هذه المعلومات على الفواتير. لاحظ أنه يمكنك تعديل هذا لاحقًا في صفحة الإعدادات.\",\n    \"company_name\": \"اسم الشركة\",\n    \"company_logo\": \"شعار الشركة\",\n    \"logo_preview\": \"استعراض الشعار\",\n    \"preferences\": \"التفضيلات\",\n    \"preferences_desc\": \"التفضيلات الافتراضية للنظام\",\n    \"currency_set_alert\": \"The company's currency cannot be changed later.\",\n    \"country\": \"الدولة\",\n    \"state\": \"الولاية/المنطقة\",\n    \"city\": \"المدينة\",\n    \"address\": \"العنوان\",\n    \"street\": \"العنوان 1 | العنوان 2\",\n    \"phone\": \"الهاتف\",\n    \"zip_code\": \"الرمز البريدي\",\n    \"go_back\": \"للخلف\",\n    \"currency\": \"العملة\",\n    \"language\": \"اللغة\",\n    \"time_zone\": \"المنطة الزمنية\",\n    \"fiscal_year\": \"السنة المالية\",\n    \"date_format\": \"صيغة التاريخ\",\n    \"from_address\": \"من العنوان\",\n    \"username\": \"اسم المستخدم\",\n    \"next\": \"التالي\",\n    \"continue\": \"استمرار\",\n    \"skip\": \"تخطي\",\n    \"database\": {\n      \"database\": \"عنوان قاعدة البيانات\",\n      \"connection\": \"اتصال قاعدة البيانات\",\n      \"host\": \"خادم قاعدة البيانات\",\n      \"port\": \"منفذ قاعدة البيانات\",\n      \"password\": \"كلمة مرور قاعدة البيانات\",\n      \"app_url\": \"عنوان الإنترنت للنظام\",\n      \"app_domain\": \"رابط التطبيق\",\n      \"username\": \"اسم المستخدم لقاعدة البيانات\",\n      \"db_name\": \"سم قاعدة البيانات\",\n      \"db_path\": \"مسار قاعدة البيانات\",\n      \"desc\": \"قم بإنشاء قاعدة بيانات على الخادم الخاص بك وتعيين بيانات الاعتماد باستخدام النموذج أدناه.\"\n    },\n    \"permissions\": {\n      \"permissions\": \"الأذونات\",\n      \"permission_confirm_title\": \"هل أنت متأكد من الاستمرار؟\",\n      \"permission_confirm_desc\": \"فشل فحص أذونات المجلد\",\n      \"permission_desc\": \"فيما يلي قائمة أذونات المجلد المطلوبة حتى يعمل التطبيق. في حالة فشل فحص الإذن ، تأكد من تحديث أذونات المجلد.\"\n    },\n    \"verify_domain\": {\n      \"title\": \"التحقق من النطاق\",\n      \"desc\": \"Crater uses Session based authentication which requires domain verification for security purposes. Please enter the domain on which you will be accessing your web application.\",\n      \"app_domain\": \"نطاق التطبيق\",\n      \"verify_now\": \"تحقق الآن\",\n      \"success\": \"تم التحقق من النطاق بنجاح.\",\n      \"failed\": \"Domain verification failed. Please enter valid domain name.\",\n      \"verify_and_continue\": \"التحقق والمتابعة\"\n    },\n    \"mail\": {\n      \"host\": \"خادم البريد\",\n      \"port\": \"منفذ البريد\",\n      \"driver\": \"مشغل البريد\",\n      \"secret\": \"سري\",\n      \"mailgun_secret\": \"الرمز السري لـ Mailgun\",\n      \"mailgun_domain\": \"المجال\",\n      \"mailgun_endpoint\": \"النهاية الطرفية لـ Mailgun\",\n      \"ses_secret\": \"SES الرمز السري\",\n      \"ses_key\": \"SES مفتاح\",\n      \"password\": \"كلمة مرور البريد الالكتروني\",\n      \"username\": \"اسم المستخدم للبريد الإلكتروني\",\n      \"mail_config\": \"إعدادات البريد الالكتروني\",\n      \"from_name\": \"اسم المرسل\",\n      \"from_mail\": \"عنوان البريد الالكتروني للمرسل\",\n      \"encryption\": \"صيغة ا لتشفير\",\n      \"mail_config_desc\": \"أدناه هو نموذج لتكوين برنامج تشغيل البريد الإلكتروني لإرسال رسائل البريد الإلكتروني من التطبيق. يمكنك أيضًا تهيئة موفري الجهات الخارجية مثل Sendgrid و SES إلخ.\"\n    },\n    \"req\": {\n      \"system_req\": \"متطلبات النظام\",\n      \"php_req_version\": \"Php (النسخة المطلوبة {version} بحد أدنى)\",\n      \"check_req\": \"فحص متطلبات النظام\",\n      \"system_req_desc\": \"يحتوي النظام على بعض متطلبات الخادم. تأكد من أن خادمك لديه نسخة php المطلوبة وجميع الامتدادات المذكورة أدناه.\"\n    },\n    \"errors\": {\n      \"migrate_failed\": \"فشل إنشاء الجداول\",\n      \"database_variables_save_error\": \"غير قادر على الاتصال بقاعدة البيانات باستخدام القيم المقدمة.\",\n      \"mail_variables_save_error\": \"فشل تكوين البريد الإلكتروني.\",\n      \"connection_failed\": \"فشل اتصال قاعدة البيانات\",\n      \"database_should_be_empty\": \"يجب أن تكون قاعدة البيانات فارغة\"\n    },\n    \"success\": {\n      \"mail_variables_save_successfully\": \"تم تكوين البريد الإلكتروني بنجاح\",\n      \"database_variables_save_successfully\": \"تم تكوين قاعدة البيانات بنجاح.\"\n    }\n  },\n  \"validation\": {\n    \"invalid_phone\": \"رقم الهاتف غير صحيح\",\n    \"invalid_url\": \"عنوان انترنت غير صحيح (مثال: http://www.crater.com)\",\n    \"invalid_domain_url\": \"عنوان انترنت غير صحيح (مثال: crater.com)\",\n    \"required\": \"حقل مطلوب\",\n    \"email_incorrect\": \"بريد الكتروني غير صحيح.\",\n    \"email_already_taken\": \"هذا البريد الالكتروني مستخدم مسبقاً\",\n    \"email_does_not_exist\": \"لا يوجد كستخدم بهذا البريد الالكتروني\",\n    \"item_unit_already_taken\": \"وحدة البند قد اتخذت بالفعل\",\n    \"payment_mode_already_taken\": \"لقد تم بالفعل أخذ طريقة الدفع\",\n    \"send_reset_link\": \"أرسال رابط استعادة كلمة المرور\",\n    \"not_yet\": \"ليس بعد؟ أعد الإرسال الآن..\",\n    \"password_min_length\": \"كلمة المرور يجب أن تتكون من {count} أحرف على الأقل\",\n    \"name_min_length\": \"الاسم يجب أن يتكون من {count} أحرف على الأقل\",\n    \"prefix_min_length\": \"Prefix must have at least {count} letters.\",\n    \"enter_valid_tax_rate\": \"أدخل معدل الضريبة بشكل صحيح\",\n    \"numbers_only\": \"أرقام فقط.\",\n    \"characters_only\": \"حروف فقط.\",\n    \"password_incorrect\": \"يجب أن تكون كلمات المرور متطابقة\",\n    \"password_length\": \"يجب أن تكون كلمة المرور بطول {count} حرف.\",\n    \"qty_must_greater_than_zero\": \"الكمية يجب أن تكون أكبر من صفر.\",\n    \"price_greater_than_zero\": \"السعر يجب أن يكون أكبر من صفر.\",\n    \"payment_greater_than_zero\": \"الدفعة يجب أن تكون أكبر من صفر.\",\n    \"payment_greater_than_due_amount\": \"مبلغ الدفعة أكثر من المبلغ المستحق لهذه الفاتورة.\",\n    \"quantity_maxlength\": \"يجب ألا تزيد الكمية عن 20 رقماً.\",\n    \"price_maxlength\": \"يجب ألا يزيد السعر عن 20 رقماً.\",\n    \"price_minvalue\": \"يجب أن يكون السعر أكبر من صفر.\",\n    \"amount_maxlength\": \"يجب ألا يزيد المبلغ عن 20 رقماً.\",\n    \"amount_minvalue\": \"يجب أن يكون المبلغ أكبر من صفر.\",\n    \"discount_maxlength\": \"Discount should not be greater than max discount\",\n    \"description_maxlength\": \"يجب ألا يزيد الوصف عن 255 حرفاً.\",\n    \"subject_maxlength\": \"يجب الا يزيد العنوان عن 100 حرف.\",\n    \"message_maxlength\": \"يجب ألا يزيد حجم النص عن 255 حرف.\",\n    \"maximum_options_error\": \"الحد الأعلى هو {max} خيارات. قم بإزالة أحد الخيارات لتحديد خيار آخر.\",\n    \"notes_maxlength\": \"يجب ألا يزيد حجم الملاحظات عن 255 حرفاً.\",\n    \"address_maxlength\": \"يجب ألا يزيد العنوان عن 255 حرفاً.\",\n    \"ref_number_maxlength\": \"يجب ألا يزيد الرقم المرجعي عن 255 حرفاً.\",\n    \"prefix_maxlength\": \"يجب ألا تزيد البادئة عن 5 أحرف.\",\n    \"something_went_wrong\": \"خطأ غير معروف!\",\n    \"number_length_minvalue\": \"يجب أن تكون قيمة الرقم أكبر من الصفر\",\n    \"at_least_one_ability\": \"Please select atleast one Permission.\",\n    \"valid_driver_key\": \"Please enter a valid {driver} key.\",\n    \"valid_exchange_rate\": \"Please enter a valid exchange rate.\",\n    \"company_name_not_same\": \"Company name must match with given name.\"\n  },\n  \"errors\": {\n    \"starter_plan\": \"This feature is available on Starter plan and onwards!\",\n    \"invalid_provider_key\": \"Please Enter Valid Provider API Key.\",\n    \"estimate_number_used\": \"The estimate number has already been taken.\",\n    \"invoice_number_used\": \"The invoice number has already been taken.\",\n    \"payment_attached\": \"This invoice already has a payment attached to it. Make sure to delete the attached payments first in order to go ahead with the removal.\",\n    \"payment_number_used\": \"The payment number has already been taken.\",\n    \"name_already_taken\": \"The name has already been taken.\",\n    \"receipt_does_not_exist\": \"Receipt does not exist.\",\n    \"customer_cannot_be_changed_after_payment_is_added\": \"Customer cannot be change after payment is added\",\n    \"invalid_credentials\": \"Invalid  Credentials.\",\n    \"not_allowed\": \"Not Allowed\",\n    \"login_invalid_credentials\": \"These credentials do not match our records.\",\n    \"enter_valid_cron_format\": \"Please enter a valid cron format\",\n    \"email_could_not_be_sent\": \"Email could not be sent to this email address.\",\n    \"invalid_address\": \"Please enter a valid address.\",\n    \"invalid_key\": \"Please enter valid key.\",\n    \"invalid_state\": \"Please enter a valid state.\",\n    \"invalid_city\": \"Please enter a valid city.\",\n    \"invalid_postal_code\": \"Please enter a valid zip.\",\n    \"invalid_format\": \"Please enter valid query string format.\",\n    \"api_error\": \"Server not responding.\",\n    \"feature_not_enabled\": \"Feature not enabled.\",\n    \"request_limit_met\": \"Api request limit exceeded.\",\n    \"address_incomplete\": \"Incomplete Address\"\n  },\n  \"pdf_estimate_label\": \"تقدير\",\n  \"pdf_estimate_number\": \"رقم تقدير\",\n  \"pdf_estimate_date\": \"تاريخ التقدير\",\n  \"pdf_estimate_expire_date\": \"تاريخ انتهاء الصلاحية\",\n  \"pdf_invoice_label\": \"الفاتورة\",\n  \"pdf_invoice_number\": \"رقم الفاتورة\",\n  \"pdf_invoice_date\": \"تاريخ الفاتورة\",\n  \"pdf_invoice_due_date\": \"تاريخ الاستحقاق\",\n  \"pdf_notes\": \"ملاحظات\",\n  \"pdf_items_label\": \"الأصناف\",\n  \"pdf_quantity_label\": \"الكمية\",\n  \"pdf_price_label\": \"السعر\",\n  \"pdf_discount_label\": \"الخصم\",\n  \"pdf_amount_label\": \"المبلغ المطلوب\",\n  \"pdf_subtotal\": \"المجموع الفرعي\",\n  \"pdf_total\": \"الإجمالي\",\n  \"pdf_payment_label\": \"الدفع\",\n  \"pdf_payment_receipt_label\": \"ايصال الدفع\",\n  \"pdf_payment_date\": \"تاريخ الدفع\",\n  \"pdf_payment_number\": \"رقم الدفعة\",\n  \"pdf_payment_mode\": \"نوع الدفعة\",\n  \"pdf_payment_amount_received_label\": \"المبلغ المستلم\",\n  \"pdf_expense_report_label\": \"تقرير المصاريف\",\n  \"pdf_total_expenses_label\": \"مجموع المصاريف\",\n  \"pdf_profit_loss_label\": \"تقرير الارباح و الخسائر\",\n  \"pdf_sales_customers_label\": \"تقرير عملاء المبيعات\",\n  \"pdf_sales_items_label\": \"تقرير عناصر المبيعات\",\n  \"pdf_tax_summery_label\": \"تقرير ملخص الضرائب\",\n  \"pdf_income_label\": \"الايرادات\",\n  \"pdf_net_profit_label\": \"صافي الأرباح\",\n  \"pdf_customer_sales_report\": \"تقرير المبيعات: حسب العميل\",\n  \"pdf_total_sales_label\": \"مجموع المبيعات\",\n  \"pdf_item_sales_label\": \"تقرير المبيعات: حسب البضاعة او الخدمة\",\n  \"pdf_tax_report_label\": \"تقرير الاداءات\",\n  \"pdf_total_tax_label\": \"اجمالي الاداءات\",\n  \"pdf_tax_types_label\": \"أنواع الضرائب\",\n  \"pdf_expenses_label\": \"النفقات\",\n  \"pdf_bill_to\": \"مطلوب من,\",\n  \"pdf_ship_to\": \"يشحن إلى,\",\n  \"pdf_received_from\": \"تم الاستلام من:\",\n  \"pdf_tax_label\": \"Tax\"\n}\n"
  },
  {
    "path": "resources/scripts/locales/cs.json",
    "content": "{\n  \"navigation\": {\n    \"dashboard\": \"Nástěnka\",\n    \"customers\": \"Zákazníci\",\n    \"items\": \"Položky\",\n    \"invoices\": \"Faktury\",\n    \"recurring-invoices\": \"Opakující se faktury\",\n    \"expenses\": \"Výdaje\",\n    \"estimates\": \"Nabídky\",\n    \"payments\": \"Platby\",\n    \"reports\": \"Hlášení\",\n    \"settings\": \"Nastavení\",\n    \"logout\": \"Odhlásit se\",\n    \"users\": \"Uživatelé\",\n    \"modules\": \"Moduly\"\n  },\n  \"general\": {\n    \"add_company\": \"Přidat firmu\",\n    \"view_pdf\": \"Zobrazit PDF\",\n    \"copy_pdf_url\": \"Kopírovat adresu PDF\",\n    \"download_pdf\": \"Stáhnout PDF\",\n    \"save\": \"Uložit\",\n    \"create\": \"Vytvořit\",\n    \"cancel\": \"Zrušit\",\n    \"update\": \"Aktualizovat\",\n    \"deselect\": \"Odznačit\",\n    \"download\": \"Stáhnout\",\n    \"from_date\": \"Od data\",\n    \"to_date\": \"Do data\",\n    \"from\": \"Od\",\n    \"to\": \"Do\",\n    \"ok\": \"OK\",\n    \"yes\": \"Ano\",\n    \"no\": \"Ne\",\n    \"sort_by\": \"Seřadit podle\",\n    \"ascending\": \"Vzestupně\",\n    \"descending\": \"Sestupně\",\n    \"subject\": \"Předmět\",\n    \"body\": \"Tělo\",\n    \"message\": \"Zpráva\",\n    \"send\": \"Odeslat\",\n    \"preview\": \"Náhled\",\n    \"go_back\": \"Vrátit se\",\n    \"back_to_login\": \"Zpět na přihlášení?\",\n    \"home\": \"Domů\",\n    \"filter\": \"Filtr\",\n    \"delete\": \"Smazat\",\n    \"edit\": \"Upravit\",\n    \"view\": \"Zobrazit\",\n    \"add_new_item\": \"Přidat novou položku\",\n    \"clear_all\": \"Vymazat vše\",\n    \"showing\": \"Zobrazuji\",\n    \"of\": \"z\",\n    \"actions\": \"Akce\",\n    \"subtotal\": \"MEZISOUČET\",\n    \"discount\": \"SLEVA\",\n    \"fixed\": \"Fixní\",\n    \"percentage\": \"Procentuálně\",\n    \"tax\": \"DANĚ\",\n    \"total_amount\": \"CELKOVÉ MNOŽSTVÍ\",\n    \"bill_to\": \"Příjemce faktury\",\n    \"ship_to\": \"Doručovací adresa\",\n    \"due\": \"Datum platnosti\",\n    \"draft\": \"Koncept\",\n    \"sent\": \"Odesláno\",\n    \"all\": \"Vše\",\n    \"select_all\": \"Vybrat vše\",\n    \"select_template\": \"Vybrat šablonu\",\n    \"choose_file\": \"Klikněte zde pro výběr souboru\",\n    \"choose_template\": \"Zvolit šablonu\",\n    \"choose\": \"Vybrat\",\n    \"remove\": \"Odebrat\",\n    \"select_a_status\": \"Vybrat stav\",\n    \"select_a_tax\": \"Vybrat daň\",\n    \"search\": \"Hledat\",\n    \"are_you_sure\": \"Opravdu?\",\n    \"list_is_empty\": \"Seznam je prázdný.\",\n    \"no_tax_found\": \"Žádná daň nebyla nalezena!\",\n    \"four_zero_four\": \"404\",\n    \"you_got_lost\": \"Jejda! Ztratili jste se!\",\n    \"go_home\": \"Návrat domů\",\n    \"test_mail_conf\": \"Otestovat konfiguraci mailů\",\n    \"send_mail_successfully\": \"Mail byl úspěšně odeslán\",\n    \"setting_updated\": \"Nastavení úspěšně aktualizováno\",\n    \"select_state\": \"Zvolte stát\",\n    \"select_country\": \"Zvolte zemi\",\n    \"select_city\": \"Zvolte město\",\n    \"street_1\": \"Ulice 1\",\n    \"street_2\": \"Ulice 2\",\n    \"action_failed\": \"Akce se nezdařila\",\n    \"retry\": \"Zkusit znovu\",\n    \"choose_note\": \"Zvolit poznámku\",\n    \"no_note_found\": \"Nebyly nalezeny žádné poznámky\",\n    \"insert_note\": \"Vložit poznámku\",\n    \"copied_pdf_url_clipboard\": \"Adresa PDF zkopírována do schránky!\",\n    \"copied_url_clipboard\": \"Zkopírováno do schránky!\",\n    \"docs\": \"Dokumentace\",\n    \"do_you_wish_to_continue\": \"Přejete si pokračovat?\",\n    \"note\": \"Poznámka\",\n    \"pay_invoice\": \"Zaplatit fakturu\",\n    \"login_successfully\": \"Přihlášení proběhlo úspěšně!\",\n    \"logged_out_successfully\": \"Odhlášení proběhlo úspěšně\",\n    \"mark_as_default\": \"Označit jako výchozí\"\n  },\n  \"dashboard\": {\n    \"select_year\": \"Vybrat rok\",\n    \"cards\": {\n      \"due_amount\": \"Částka k zaplacení\",\n      \"customers\": \"Zákazníci\",\n      \"invoices\": \"Faktury\",\n      \"estimates\": \"Nabídky\",\n      \"payments\": \"Platby\"\n    },\n    \"chart_info\": {\n      \"total_sales\": \"Slevy\",\n      \"total_receipts\": \"Doklady\",\n      \"total_expense\": \"Výdaje\",\n      \"net_income\": \"Čistý příjem\",\n      \"year\": \"Vybrat rok\"\n    },\n    \"monthly_chart\": {\n      \"title\": \"Prodeje a výdaje\"\n    },\n    \"recent_invoices_card\": {\n      \"title\": \"Splatné faktury\",\n      \"due_on\": \"Splatnost\",\n      \"customer\": \"Zákazník\",\n      \"amount_due\": \"Splatná částka\",\n      \"actions\": \"Akce\",\n      \"view_all\": \"Zobrazit vše\"\n    },\n    \"recent_estimate_card\": {\n      \"title\": \"Nedávné nabídky\",\n      \"date\": \"Datum\",\n      \"customer\": \"Zákazník\",\n      \"amount_due\": \"Částka k zaplacení\",\n      \"actions\": \"Akce\",\n      \"view_all\": \"Zobrazit vše\"\n    }\n  },\n  \"tax_types\": {\n    \"name\": \"Jméno\",\n    \"description\": \"Popis\",\n    \"percent\": \"Procento\",\n    \"compound_tax\": \"Kombinovaná daň\"\n  },\n  \"global_search\": {\n    \"search\": \"Hledat...\",\n    \"customers\": \"Zákazníci\",\n    \"users\": \"Uživatelé\",\n    \"no_results_found\": \"Nebyly nalezeny žádné výsledky\"\n  },\n  \"company_switcher\": {\n    \"label\": \"Přepnout firmy\",\n    \"no_results_found\": \"Nebyly nalezeny žádné výsledky\",\n    \"add_new_company\": \"Přidat firmu\",\n    \"new_company\": \"Nová firma\",\n    \"created_message\": \"Firma úspěšně vytvořena\"\n  },\n  \"dateRange\": {\n    \"today\": \"Dnes\",\n    \"this_week\": \"Tento týden\",\n    \"this_month\": \"Tento měsíc\",\n    \"this_quarter\": \"Toto čtvrtletí\",\n    \"this_year\": \"Tento rok\",\n    \"previous_week\": \"Předchozí týden\",\n    \"previous_month\": \"Předchozí měsíc\",\n    \"previous_quarter\": \"Předchozí čtvrtletí\",\n    \"previous_year\": \"Předchozí rok\",\n    \"custom\": \"Vlastní\"\n  },\n  \"customers\": {\n    \"title\": \"Zákazníci\",\n    \"prefix\": \"Prefix\",\n    \"add_customer\": \"Přidat zákazníka\",\n    \"contacts_list\": \"Seznam zákazníků\",\n    \"name\": \"Jméno\",\n    \"mail\": \"E-mail | E-maily\",\n    \"statement\": \"Výpis\",\n    \"display_name\": \"Zobrazené jméno\",\n    \"primary_contact_name\": \"Jméno primárního kontaktu\",\n    \"contact_name\": \"Jméno kontaktu\",\n    \"amount_due\": \"Částka k zaplacení\",\n    \"email\": \"Email\",\n    \"address\": \"Adresa\",\n    \"phone\": \"Telefon\",\n    \"website\": \"Webová stránka\",\n    \"overview\": \"Přehled\",\n    \"invoice_prefix\": \"Prefix pro faktury\",\n    \"estimate_prefix\": \"Prefix pro nabídky\",\n    \"payment_prefix\": \"Prefix pro platby\",\n    \"enable_portal\": \"Povolit portál\",\n    \"country\": \"Země\",\n    \"state\": \"Stát\",\n    \"city\": \"Město\",\n    \"zip_code\": \"PSČ\",\n    \"added_on\": \"Přidáno dne\",\n    \"action\": \"Akce\",\n    \"password\": \"Heslo\",\n    \"confirm_password\": \"Potvrdit heslo\",\n    \"street_number\": \"Číslo ulice\",\n    \"primary_currency\": \"Primární měna\",\n    \"description\": \"Popis\",\n    \"add_new_customer\": \"Přidat nového zákazníka\",\n    \"save_customer\": \"Uložit zákazníka\",\n    \"update_customer\": \"Aktualizovat zákazníka\",\n    \"customer\": \"Zákazník | Zákazníci\",\n    \"new_customer\": \"Nový zákazník\",\n    \"edit_customer\": \"Upravit zákazníka\",\n    \"basic_info\": \"Základní informace\",\n    \"portal_access\": \"Přístup do portálu\",\n    \"portal_access_text\": \"Chcete povolit tomuto zákazníkovi možnost přihlásit se na zákaznický portál?\",\n    \"portal_access_url\": \"URL pro přihlášení do zákaznického portálu\",\n    \"portal_access_url_help\": \"Zkopírujte a pošlete výše uvedenou adresu URL vašemu zákazníkovi pro poskytnutí přístupu.\",\n    \"billing_address\": \"Fakturační adresa\",\n    \"shipping_address\": \"Doručovací adresa\",\n    \"copy_billing_address\": \"Zkopírovat z fakturace\",\n    \"no_customers\": \"Dosud žádní zákazníci!\",\n    \"no_customers_found\": \"Nebyli nalezeni žádní zákazníci!\",\n    \"no_contact\": \"Žádný kontakt\",\n    \"no_contact_name\": \"Bez jména kontaktu\",\n    \"list_of_customers\": \"Tato sekce bude obsahovat seznam zákazníků.\",\n    \"primary_display_name\": \"Primární zobrazované jméno\",\n    \"select_currency\": \"Vybrat měnu\",\n    \"select_a_customer\": \"Vybrat zákazníka\",\n    \"type_or_click\": \"Zadejte nebo klikněte pro výběr\",\n    \"new_transaction\": \"Nová transakce\",\n    \"no_matching_customers\": \"Neexistují žádní odpovídající zákazníci!\",\n    \"phone_number\": \"Telefonní číslo\",\n    \"create_date\": \"Datum vytvoření\",\n    \"confirm_delete\": \"Nebudete moci obnovit tohoto zákazníka a všechny jeho faktury, odhady a platby. | Nebudete moci obnovit tyto zákazníky a všechny jejich faktury, odhady a platby.\",\n    \"created_message\": \"Zákazník úspěšně vytvořen\",\n    \"updated_message\": \"Zákazník úspěšně upraven\",\n    \"address_updated_message\": \"Adresa úspěšně aktualizována\",\n    \"deleted_message\": \"Zákazník úspěšně smazán | Zákazníci úspěšně smazáni\",\n    \"edit_currency_not_allowed\": \"Po vytvoření transakce nelze změnit měnu.\"\n  },\n  \"items\": {\n    \"title\": \"Položky\",\n    \"items_list\": \"Seznam položek\",\n    \"name\": \"Název\",\n    \"unit\": \"Jednotka\",\n    \"description\": \"Popis\",\n    \"added_on\": \"Přidáno\",\n    \"price\": \"Cena\",\n    \"date_of_creation\": \"Datum vytvoření\",\n    \"not_selected\": \"Není vybrána žádná položka\",\n    \"action\": \"Akce\",\n    \"add_item\": \"Přidat položku\",\n    \"save_item\": \"Uložit položku\",\n    \"update_item\": \"Aktualizovat položku\",\n    \"item\": \"Položka | Položky\",\n    \"add_new_item\": \"Přidat novou položku\",\n    \"new_item\": \"Nová položka\",\n    \"edit_item\": \"Upravit položku\",\n    \"no_items\": \"Zatím žádné položky!\",\n    \"list_of_items\": \"Tato sekce bude obsahovat seznam položek.\",\n    \"select_a_unit\": \"vyberte jednotku\",\n    \"taxes\": \"Daně\",\n    \"item_attached_message\": \"Nelze odstranit položku, která se již používá\",\n    \"confirm_delete\": \"Nebudete moci obnovit tuto položku | Nebudete moci obnovit tyto položky\",\n    \"created_message\": \"Položka byla úspěšně vytvořena\",\n    \"updated_message\": \"Položka úspěšně upravena\",\n    \"deleted_message\": \"Položka byla úspěšně odstraněna | Položky byly úspěšně odstraněny\"\n  },\n  \"estimates\": {\n    \"title\": \"Nabídky\",\n    \"accept_estimate\": \"Přijmout nabídku\",\n    \"reject_estimate\": \"Odmítnout nabídku\",\n    \"estimate\": \"Nabídka | Nabídky\",\n    \"estimates_list\": \"Seznam nabídek\",\n    \"days\": \"{days} dní\",\n    \"months\": \"{months} měsíc\",\n    \"years\": \"{years} rok\",\n    \"all\": \"Vše\",\n    \"paid\": \"Zaplacené\",\n    \"unpaid\": \"Neplacené\",\n    \"customer\": \"ZÁKAZNÍK\",\n    \"ref_no\": \"REFERENČNÍ ČÍSLO\",\n    \"number\": \"ČÍSLO\",\n    \"amount_due\": \"ČÁSTKA K ZAPLACENÍ\",\n    \"partially_paid\": \"Částečně zaplaceno\",\n    \"total\": \"Celkem\",\n    \"discount\": \"Sleva\",\n    \"sub_total\": \"Mezisoučet\",\n    \"estimate_number\": \"Číslo nabídky\",\n    \"ref_number\": \"Referenční číslo\",\n    \"contact\": \"Kontakt\",\n    \"add_item\": \"Přidat položku\",\n    \"date\": \"Datum\",\n    \"due_date\": \"Datum splatnosti\",\n    \"expiry_date\": \"Datum expirace\",\n    \"status\": \"Stav\",\n    \"add_tax\": \"Přidat daň\",\n    \"amount\": \"Částka\",\n    \"action\": \"Akce\",\n    \"notes\": \"Poznámky\",\n    \"tax\": \"Daň\",\n    \"estimate_template\": \"Šablona\",\n    \"convert_to_invoice\": \"Převést na fakturu\",\n    \"mark_as_sent\": \"Označit jako odeslané\",\n    \"send_estimate\": \"Odeslat nabídku\",\n    \"resend_estimate\": \"Znovu odeslat nabídku\",\n    \"record_payment\": \"Zaznamenat platbu\",\n    \"add_estimate\": \"Přidat nabídku\",\n    \"save_estimate\": \"Uložit nabídku\",\n    \"confirm_conversion\": \"Tento odhad bude použit k vytvoření nové faktury.\",\n    \"conversion_message\": \"Faktura byla úspěšně vytvořena\",\n    \"confirm_send_estimate\": \"Tento odhad bude zaslán e-mailem zákazníkovi\",\n    \"confirm_mark_as_sent\": \"Tento odhad bude označen jako odeslaný\",\n    \"confirm_mark_as_accepted\": \"Tento odhad bude označen jako Přijatý\",\n    \"confirm_mark_as_rejected\": \"Tento odhad bude označen jako Odmítnutý\",\n    \"no_matching_estimates\": \"Neexistují žádné odpovídající odhady!\",\n    \"mark_as_sent_successfully\": \"Odhad byl označen jako úspěšně odeslán\",\n    \"send_estimate_successfully\": \"Odhad byl úspěšně odeslán\",\n    \"errors\": {\n      \"required\": \"Pole je povinné\"\n    },\n    \"accepted\": \"Přijato\",\n    \"rejected\": \"Odmítnuto\",\n    \"expired\": \"Vypršela platnost\",\n    \"sent\": \"Odesláno\",\n    \"draft\": \"Koncept\",\n    \"viewed\": \"Zobrazené\",\n    \"declined\": \"Odmítnuto\",\n    \"new_estimate\": \"Nový odhad\",\n    \"add_new_estimate\": \"Přidat nový odhad\",\n    \"update_Estimate\": \"Aktualizovat odhad\",\n    \"edit_estimate\": \"Upravit odhad\",\n    \"items\": \"položky\",\n    \"Estimate\": \"Odhad | Odhady\",\n    \"add_new_tax\": \"Přidat novou daň\",\n    \"no_estimates\": \"Zatím žádné odhady!\",\n    \"list_of_estimates\": \"Tato sekce bude obsahovat seznam odhadů.\",\n    \"mark_as_rejected\": \"Označit jako odmítnuté\",\n    \"mark_as_accepted\": \"Označit jako přijaté\",\n    \"marked_as_accepted_message\": \"Odhad označen jako přijatý\",\n    \"marked_as_rejected_message\": \"Odhad označen jako odmítnutý\",\n    \"confirm_delete\": \"Nebudete moci obnovit tento odhad | Nebudete moci obnovit tyto odhady\",\n    \"created_message\": \"Odhad úspěšně vytvořen\",\n    \"updated_message\": \"Odhad úspěšně upraven\",\n    \"deleted_message\": \"Odhad úspěšně odstraněn | Odhady úspěšně odstraněny\",\n    \"something_went_wrong\": \"něco se nezdařilo\",\n    \"item\": {\n      \"title\": \"Název položky\",\n      \"description\": \"Popis\",\n      \"quantity\": \"Množství\",\n      \"price\": \"Cena\",\n      \"discount\": \"Sleva\",\n      \"total\": \"Celkem\",\n      \"total_discount\": \"Celková sleva\",\n      \"sub_total\": \"Mezisoučet\",\n      \"tax\": \"Daň\",\n      \"amount\": \"Množství\",\n      \"select_an_item\": \"Pište nebo klikněte pro výběr položky\",\n      \"type_item_description\": \"Zadejte popis položky (volitelné)\"\n    },\n    \"mark_as_default_estimate_template_description\": \"Je-li povoleno, bude vybraná šablona automaticky vybrána pro nové nabídky.\"\n  },\n  \"invoices\": {\n    \"title\": \"Faktury\",\n    \"download\": \"Stáhnout\",\n    \"pay_invoice\": \"Zaplatit fakturu\",\n    \"invoices_list\": \"Seznam faktur\",\n    \"invoice_information\": \"Informace o faktuře\",\n    \"days\": \"{days} dní\",\n    \"months\": \"{months} měsíc\",\n    \"years\": \"{years} rok\",\n    \"all\": \"Vše\",\n    \"paid\": \"Zaplacené\",\n    \"unpaid\": \"Neplacené\",\n    \"viewed\": \"Zobrazené\",\n    \"overdue\": \"Po splatnosti\",\n    \"completed\": \"Dokončené\",\n    \"customer\": \"ZÁKAZNÍK\",\n    \"paid_status\": \"STAV PLATBY\",\n    \"ref_no\": \"REFERENČNÍ ČÍSLO\",\n    \"number\": \"ČÍSLO\",\n    \"amount_due\": \"ČÁSTKA K ZAPLACENÍ\",\n    \"partially_paid\": \"Částečně zaplaceno\",\n    \"total\": \"Celkem\",\n    \"discount\": \"Sleva\",\n    \"sub_total\": \"Mezisoučet\",\n    \"invoice\": \"Faktura | Faktury\",\n    \"invoice_number\": \"Číslo faktury\",\n    \"ref_number\": \"Referenční číslo\",\n    \"contact\": \"Kontakt\",\n    \"add_item\": \"Přidat položku\",\n    \"date\": \"Datum\",\n    \"due_date\": \"Datum splatnosti\",\n    \"status\": \"Stav\",\n    \"add_tax\": \"Přidat daň\",\n    \"amount\": \"Částka\",\n    \"action\": \"Akce\",\n    \"notes\": \"Poznámky\",\n    \"view\": \"Zobrazit\",\n    \"send_invoice\": \"Odeslat fakturu\",\n    \"resend_invoice\": \"Znovu odeslat fakturu\",\n    \"invoice_template\": \"Šablona faktury\",\n    \"conversion_message\": \"Faktura byla úspěšně naklonována\",\n    \"template\": \"Vybrat šablonu\",\n    \"mark_as_sent\": \"Označit jako odeslané\",\n    \"confirm_send_invoice\": \"Tato faktura bude zaslána e-mailem zákazníkovi\",\n    \"invoice_mark_as_sent\": \"Tato faktura bude označena jako odeslaná\",\n    \"confirm_mark_as_accepted\": \"Tato faktura bude označena jako přijatá\",\n    \"confirm_mark_as_rejected\": \"Tato faktura bude označena jako odmítnutá\",\n    \"confirm_send\": \"Tato faktura bude zaslána e-mailem zákazníkovi\",\n    \"invoice_date\": \"Datum fakturace\",\n    \"record_payment\": \"Zaznamenat platbu\",\n    \"add_new_invoice\": \"Přidat novou fakturu\",\n    \"update_expense\": \"Aktualizovat výdaj\",\n    \"edit_invoice\": \"Upravit fakturu\",\n    \"new_invoice\": \"Nová faktura\",\n    \"save_invoice\": \"Uložit fakturu\",\n    \"update_invoice\": \"Upravit fakturu\",\n    \"add_new_tax\": \"Přidat novou daň\",\n    \"no_invoices\": \"Zatím žádné faktury!\",\n    \"mark_as_rejected\": \"Označit jako odmítnuté\",\n    \"mark_as_accepted\": \"Označit jako přijaté\",\n    \"list_of_invoices\": \"Tato sekce bude obsahovat seznam faktur.\",\n    \"select_invoice\": \"Vybrat fakturu\",\n    \"no_matching_invoices\": \"Neexistují žádné odpovídající faktury!\",\n    \"mark_as_sent_successfully\": \"Faktura označena jako úspěšně odeslaná\",\n    \"invoice_sent_successfully\": \"Faktura byla úspěšně odeslána\",\n    \"cloned_successfully\": \"Faktura úspěšně naklonována\",\n    \"clone_invoice\": \"Naklonovat fakturu\",\n    \"confirm_clone\": \"Tato faktura bude naklonována do nové faktury\",\n    \"item\": {\n      \"title\": \"Název položky\",\n      \"description\": \"Popis\",\n      \"quantity\": \"Množství\",\n      \"price\": \"Cena\",\n      \"discount\": \"Sleva\",\n      \"total\": \"Celkem\",\n      \"total_discount\": \"Celková sleva\",\n      \"sub_total\": \"Mezisoučet\",\n      \"tax\": \"Daň\",\n      \"amount\": \"Množství\",\n      \"select_an_item\": \"Pište nebo klikněte pro výběr položky\",\n      \"type_item_description\": \"Zadejte popis položky (volitelné)\"\n    },\n    \"payment_attached_message\": \"Na jedné z vybraných faktur je již přiložena platba. Nezapomeňte nejprve odstranit připojené platby, abyste mohli pokračovat s odstraněním\",\n    \"confirm_delete\": \"Nebudete moci obnovit tuto fakturu | Nebudete moci obnovit tyto faktury\",\n    \"created_message\": \"Faktura byla úspěšně vytvořena\",\n    \"updated_message\": \"Faktura byla úspěšně upravena\",\n    \"deleted_message\": \"Faktura byla úspěšně odstraněna | Faktury byly úspěšně odstraněny\",\n    \"marked_as_sent_message\": \"Faktura označena jako úspěšně odeslaná\",\n    \"something_went_wrong\": \"něco se nezdařilo\",\n    \"invalid_due_amount_message\": \"Celková částka faktury nemůže být nižší než celková částka zaplacená za tuto fakturu. Chcete-li pokračovat, upravte fakturu nebo smažte související platby.\",\n    \"mark_as_default_invoice_template_description\": \"Je-li povoleno, bude vybraná šablona automaticky vybrána pro nové faktury.\"\n  },\n  \"recurring_invoices\": {\n    \"title\": \"Opakující se faktury\",\n    \"invoices_list\": \"Seznam opakujících se faktur\",\n    \"days\": \"{days} dní\",\n    \"months\": \"{months} měsíc\",\n    \"years\": \"{years} rok\",\n    \"all\": \"Všechny\",\n    \"paid\": \"Zaplacené\",\n    \"unpaid\": \"Neplacené\",\n    \"viewed\": \"Zobrazené\",\n    \"overdue\": \"Po splatnosti\",\n    \"active\": \"Aktivní\",\n    \"completed\": \"Dokončené\",\n    \"customer\": \"ZÁKAZNÍK\",\n    \"paid_status\": \"STAV PLATBY\",\n    \"ref_no\": \"REFERENČNÍ ČÍSLO\",\n    \"number\": \"ČÍSLO\",\n    \"amount_due\": \"ČÁSTKA K ZAPLACENÍ\",\n    \"partially_paid\": \"Částečně zaplaceno\",\n    \"total\": \"Celkem\",\n    \"discount\": \"Sleva\",\n    \"sub_total\": \"Mezisoučet\",\n    \"invoice\": \"Opakující se faktura | Opakující se faktury\",\n    \"invoice_number\": \"Číslo opakující se faktury\",\n    \"next_invoice_date\": \"Datum další fakturace\",\n    \"ref_number\": \"Referenční číslo\",\n    \"contact\": \"Kontakt\",\n    \"add_item\": \"Přidat položku\",\n    \"date\": \"Datum\",\n    \"limit_by\": \"Omezit podle\",\n    \"limit_date\": \"Omezit datum\",\n    \"limit_count\": \"Omezit počet\",\n    \"count\": \"Počet\",\n    \"status\": \"Stav\",\n    \"select_a_status\": \"Vyberte stav\",\n    \"working\": \"Pracuje\",\n    \"on_hold\": \"Čekající\",\n    \"complete\": \"Dokončeno\",\n    \"add_tax\": \"Přidat daň\",\n    \"amount\": \"Množství\",\n    \"action\": \"Akce\",\n    \"notes\": \"Poznámky\",\n    \"view\": \"Zobrazit\",\n    \"basic_info\": \"Základní informace\",\n    \"send_invoice\": \"Odeslat opakující se fakturu\",\n    \"auto_send\": \"Automaticky odeslat\",\n    \"resend_invoice\": \"Znovu odeslat opakující se fakturu\",\n    \"invoice_template\": \"Šablona opakující se faktury\",\n    \"conversion_message\": \"Opakující se faktura byla úspěšně naklonována\",\n    \"template\": \"Šablona\",\n    \"mark_as_sent\": \"Označit jako odeslané\",\n    \"confirm_send_invoice\": \"Tato opakující se faktura bude odeslána e-mailem zákazníkovi\",\n    \"invoice_mark_as_sent\": \"Tato opakující se faktura bude označena jako odeslaná\",\n    \"confirm_send\": \"Tato opakující se faktura bude odeslána e-mailem zákazníkovi\",\n    \"starts_at\": \"Počáteční datum\",\n    \"due_date\": \"Splatnost faktury\",\n    \"record_payment\": \"Zaznamenat platbu\",\n    \"add_new_invoice\": \"Přidat novou opakující se fakturu\",\n    \"update_expense\": \"Aktualizovat výdaje\",\n    \"edit_invoice\": \"Upravit opakující se fakturu\",\n    \"new_invoice\": \"Přidat novou opakující se fakturu\",\n    \"send_automatically\": \"Odeslat automaticky\",\n    \"send_automatically_desc\": \"Povolte, pokud chcete automaticky odeslat fakturu zákazníkovi po jejím vytvoření.\",\n    \"save_invoice\": \"Uložit opakující se fakturu\",\n    \"update_invoice\": \"Upravit opakující se fakturu\",\n    \"add_new_tax\": \"Přidat novou daň\",\n    \"no_invoices\": \"Zatím žádné opakující se faktury!\",\n    \"mark_as_rejected\": \"Označit jako odmítnuté\",\n    \"mark_as_accepted\": \"Označit jako přijaté\",\n    \"list_of_invoices\": \"Tato sekce bude obsahovat seznam opakujících se faktur.\",\n    \"select_invoice\": \"Vybrat fakturu\",\n    \"no_matching_invoices\": \"Neexistují žádné odpovídající opakující se faktury!\",\n    \"mark_as_sent_successfully\": \"Opakující se faktura označena jako úspěšně odeslaná\",\n    \"invoice_sent_successfully\": \"Opakující se faktura byla úspěšně odeslána\",\n    \"cloned_successfully\": \"Opakující se faktura úspěšně naklonována\",\n    \"clone_invoice\": \"Naklonovat opakující se fakturu\",\n    \"confirm_clone\": \"Tato opakující se faktura bude naklonována do nové opakující se faktury\",\n    \"add_customer_email\": \"Pro automatické odesílání faktur prosím přidejte e-mailovou adresu tohoto zákazníka.\",\n    \"item\": {\n      \"title\": \"Název položky\",\n      \"description\": \"Popis\",\n      \"quantity\": \"Množství\",\n      \"price\": \"Cena\",\n      \"discount\": \"Sleva\",\n      \"total\": \"Celkem\",\n      \"total_discount\": \"Celková sleva\",\n      \"sub_total\": \"Mezisoučet\",\n      \"tax\": \"Daň\",\n      \"amount\": \"Množství\",\n      \"select_an_item\": \"Pište nebo klikněte pro výběr položky\",\n      \"type_item_description\": \"Zadejte popis položky (volitelné)\"\n    },\n    \"frequency\": {\n      \"title\": \"Četnost\",\n      \"select_frequency\": \"Vybrat četnost\",\n      \"minute\": \"Minuta\",\n      \"hour\": \"Hodina\",\n      \"day_month\": \"Den v měsíci\",\n      \"month\": \"Měsíc\",\n      \"day_week\": \"Den v týdnu\"\n    },\n    \"confirm_delete\": \"Nebudete moci obnovit tuto fakturu | Nebudete moci obnovit tyto faktury\",\n    \"created_message\": \"Opakující se faktura byla úspěšně vytvořena\",\n    \"updated_message\": \"Opakující se faktura úspěšně upravena\",\n    \"deleted_message\": \"Opakující se faktura úspěšně smazána | Opakující se faktury úspěšně odstraněny\",\n    \"marked_as_sent_message\": \"Opakující se faktura označena jako úspěšně odeslána\",\n    \"user_email_does_not_exist\": \"E-mail uživatele neexistuje\",\n    \"something_went_wrong\": \"něco se nezdařilo\",\n    \"invalid_due_amount_message\": \"Celková částka opakované faktury nemůže být nižší než celková částka zaplacená za tuto opakující se fakturu. Pro pokračování aktualizujte fakturu nebo odstraňte související platby.\"\n  },\n  \"payments\": {\n    \"title\": \"Platby\",\n    \"payments_list\": \"Seznam plateb\",\n    \"record_payment\": \"Zaznamenat platbu\",\n    \"customer\": \"Zákazník\",\n    \"date\": \"Datum\",\n    \"amount\": \"Množství\",\n    \"action\": \"Akce\",\n    \"payment_number\": \"Číslo platby\",\n    \"payment_mode\": \"Platební metoda\",\n    \"invoice\": \"Faktura\",\n    \"note\": \"Poznámka\",\n    \"add_payment\": \"Přidat platbu\",\n    \"new_payment\": \"Nová platba\",\n    \"edit_payment\": \"Upravit platbu\",\n    \"view_payment\": \"Zobrazit platbu\",\n    \"add_new_payment\": \"Přidat novou platbu\",\n    \"send_payment_receipt\": \"Odeslat potvrzení o platbě\",\n    \"send_payment\": \"Odeslat platbu\",\n    \"save_payment\": \"Uložit platbu\",\n    \"update_payment\": \"Upravit platbu\",\n    \"payment\": \"Platba | Platby\",\n    \"no_payments\": \"Zatím žádné platby!\",\n    \"not_selected\": \"Nevybráno\",\n    \"no_invoice\": \"Žádná faktura\",\n    \"no_matching_payments\": \"Neexistují žádné odpovídající platby!\",\n    \"list_of_payments\": \"Tato sekce bude obsahovat seznam plateb.\",\n    \"select_payment_mode\": \"Vyberte platební metodu\",\n    \"confirm_mark_as_sent\": \"Tento odhad bude označen jako odeslaný\",\n    \"confirm_send_payment\": \"Tato platba bude odeslána e-mailem zákazníkovi\",\n    \"send_payment_successfully\": \"Platba byla úspěšně odeslána\",\n    \"something_went_wrong\": \"něco se nezdařilo\",\n    \"confirm_delete\": \"Tuto platbu nebudete moci obnovit | Tyto platby nebudete moci obnovit\",\n    \"created_message\": \"Platba úspěšně vytvořena\",\n    \"updated_message\": \"Platba úspěšně upravena\",\n    \"deleted_message\": \"Platba úspěšně odstraněna | Platby úspěšně odstraněny\",\n    \"invalid_amount_message\": \"Částka platby je neplatná\"\n  },\n  \"expenses\": {\n    \"title\": \"Výdaje\",\n    \"expenses_list\": \"Seznam výdajů\",\n    \"select_a_customer\": \"Vyberte zákazníka\",\n    \"expense_title\": \"Nadpis\",\n    \"customer\": \"Zákazník\",\n    \"currency\": \"Měna\",\n    \"contact\": \"Kontakt\",\n    \"category\": \"Kategorie\",\n    \"from_date\": \"Od data\",\n    \"to_date\": \"Do data\",\n    \"expense_date\": \"Datum\",\n    \"description\": \"Popis\",\n    \"receipt\": \"Doklad\",\n    \"amount\": \"Částka\",\n    \"action\": \"Akce\",\n    \"not_selected\": \"Nevybráno\",\n    \"note\": \"Poznámka\",\n    \"category_id\": \"ID kategorie\",\n    \"date\": \"Datum\",\n    \"add_expense\": \"Přidat výdaj\",\n    \"add_new_expense\": \"Přidat nový výdaj\",\n    \"save_expense\": \"Uložit výdaj\",\n    \"update_expense\": \"Upravit výdaj\",\n    \"download_receipt\": \"Stáhnout doklad\",\n    \"edit_expense\": \"Upravit výdaj\",\n    \"new_expense\": \"Nový výdaj\",\n    \"expense\": \"Výdaj | Výdaje\",\n    \"no_expenses\": \"Zatím žádné výdaje!\",\n    \"list_of_expenses\": \"Tato sekce bude obsahovat seznam výdajů.\",\n    \"confirm_delete\": \"Nebudete moci obnovit tento výdaj | Nebudete moci obnovit tyto výdaje\",\n    \"created_message\": \"Výdaj úspěšně vytvořen\",\n    \"updated_message\": \"Výdaj úspěšně aktualizován\",\n    \"deleted_message\": \"Výdaj byl úspěšně odstraněn | Výdaje byly úspěšně odstraněny\",\n    \"categories\": {\n      \"categories_list\": \"Seznam kategorií\",\n      \"title\": \"Nadpis\",\n      \"name\": \"Název\",\n      \"description\": \"Popis\",\n      \"amount\": \"Množství\",\n      \"actions\": \"Akce\",\n      \"add_category\": \"Přidat kategorii\",\n      \"new_category\": \"Nová kategorie\",\n      \"category\": \"Kategorie | Kategorie\",\n      \"select_a_category\": \"Vyberte kategorii\"\n    }\n  },\n  \"login\": {\n    \"email\": \"E-mail\",\n    \"password\": \"Heslo\",\n    \"forgot_password\": \"Zapomněli jste heslo?\",\n    \"or_signIn_with\": \"nebo se přihlašte pomocí\",\n    \"login\": \"Přihlášení\",\n    \"register\": \"Registrace\",\n    \"reset_password\": \"Obnovit heslo\",\n    \"password_reset_successfully\": \"Obnovení hesla proběhlo úspěšně\",\n    \"enter_email\": \"Zadejte e-mail\",\n    \"enter_password\": \"Zadejte heslo\",\n    \"retype_password\": \"Zadejte heslo znovu\"\n  },\n  \"modules\": {\n    \"buy_now\": \"Koupit\",\n    \"install\": \"Instalovat\",\n    \"price\": \"Cena\",\n    \"download_zip_file\": \"Stáhnout soubor ZIP\",\n    \"unzipping_package\": \"Rozbalování balíku\",\n    \"copying_files\": \"Kopírování souborů\",\n    \"deleting_files\": \"Odstraňování nepoužitých souborů\",\n    \"completing_installation\": \"Dokončování instalace\",\n    \"update_failed\": \"Aktualizace se nezdařila\",\n    \"install_success\": \"Modul byl úspěšně nainstalován!\",\n    \"customer_reviews\": \"Recenze\",\n    \"license\": \"Licence\",\n    \"faq\": \"Často kladené dotazy (FAQ)\",\n    \"monthly\": \"Měsíčně\",\n    \"yearly\": \"Ročně\",\n    \"updated\": \"Aktualizováno\",\n    \"version\": \"Verze\",\n    \"disable\": \"Zakázat\",\n    \"module_disabled\": \"Modul zakázán\",\n    \"enable\": \"Povolit\",\n    \"module_enabled\": \"Modul povolen\",\n    \"update_to\": \"Aktualizovat na\",\n    \"module_updated\": \"Modul byl úspěšně aktualizován!\",\n    \"title\": \"Moduly\",\n    \"module\": \"Modul | Moduly\",\n    \"api_token\": \"API token\",\n    \"invalid_api_token\": \"Neplatný API token.\",\n    \"other_modules\": \"Další moduly\",\n    \"view_all\": \"Zobrazit vše\",\n    \"no_reviews_found\": \"Pro tento modul zatím neexistují žádné recenze!\",\n    \"module_not_purchased\": \"Modul není zakoupený\",\n    \"module_not_found\": \"Modul nebyl nalezen\",\n    \"version_not_supported\": \"This module version doesn't support the current version of Crater\",\n    \"last_updated\": \"Naposledy aktualizováno\",\n    \"connect_installation\": \"Připojte vaši instalaci\",\n    \"api_token_description\": \"Přihlaste se k {url} a připojte tuto instalaci zadáním API tokenu. Vaše zakoupené moduly se zde zobrazí po navázání připojení.\",\n    \"view_module\": \"Zobrazit modul\",\n    \"update_available\": \"Je k dispozici aktualizace\",\n    \"purchased\": \"Zakoupeno\",\n    \"installed\": \"Nainstalováno\",\n    \"no_modules_installed\": \"Nejsou nainstalovány žádné moduly!\",\n    \"disable_warning\": \"Všechna nastavení pro tuto konkrétní položku budou vrácena zpět.\",\n    \"what_you_get\": \"Co získáte\"\n  },\n  \"users\": {\n    \"title\": \"Uživatelé\",\n    \"users_list\": \"Seznam uživatelů\",\n    \"name\": \"Jméno\",\n    \"description\": \"Popis\",\n    \"added_on\": \"Přidáno dne\",\n    \"date_of_creation\": \"Datum vytvoření\",\n    \"action\": \"Akce\",\n    \"add_user\": \"Přidat uživatele\",\n    \"save_user\": \"Uložit uživatele\",\n    \"update_user\": \"Upravit uživatele\",\n    \"user\": \"Uživatel | Uživatelé\",\n    \"add_new_user\": \"Přidat nového uživatele\",\n    \"new_user\": \"Nový uživatel\",\n    \"edit_user\": \"Upravit uživatele\",\n    \"no_users\": \"Zatím žádní uživatelé!\",\n    \"list_of_users\": \"Tato sekce bude obsahovat seznam uživatelů.\",\n    \"email\": \"E-mail\",\n    \"phone\": \"Telefon\",\n    \"password\": \"Heslo\",\n    \"user_attached_message\": \"Nelze odstranit položku, která se již používá\",\n    \"confirm_delete\": \"Nebudete moci obnovit tohoto uživatele | Nebudete schopni obnovit tyto uživatele\",\n    \"created_message\": \"Uživatel byl úspěšně vytvořen\",\n    \"updated_message\": \"Uživatel byl úspěšně upraven\",\n    \"deleted_message\": \"Uživatel byl úspěšně odstraněn | Uživatelé byli úspěšně odstraněni\",\n    \"select_company_role\": \"Vyberte roli pro {company}\",\n    \"companies\": \"Společnosti\"\n  },\n  \"reports\": {\n    \"title\": \"Hlášení\",\n    \"from_date\": \"Datum od\",\n    \"to_date\": \"Do data\",\n    \"status\": \"Stav\",\n    \"paid\": \"Zaplaceno\",\n    \"unpaid\": \"Nezaplaceno\",\n    \"download_pdf\": \"Stáhnout PDF\",\n    \"view_pdf\": \"Zobrazit PDF\",\n    \"update_report\": \"Upravit hlášení\",\n    \"report\": \"Hlášení | Hlášení\",\n    \"profit_loss\": {\n      \"profit_loss\": \"Zisk a ztráta\",\n      \"to_date\": \"Do data\",\n      \"from_date\": \"Od data\",\n      \"date_range\": \"Vybrat časový rozsah\"\n    },\n    \"sales\": {\n      \"sales\": \"Prodeje\",\n      \"date_range\": \"Vybrat časový rozsah\",\n      \"to_date\": \"Do data\",\n      \"from_date\": \"Od data\",\n      \"report_type\": \"Typ hlášení\"\n    },\n    \"taxes\": {\n      \"taxes\": \"Daně\",\n      \"to_date\": \"Do data\",\n      \"from_date\": \"Od data\",\n      \"date_range\": \"Vybrat časový rozsah\"\n    },\n    \"errors\": {\n      \"required\": \"Pole je povinné\"\n    },\n    \"invoices\": {\n      \"invoice\": \"Faktura\",\n      \"invoice_date\": \"Datum fakturace\",\n      \"due_date\": \"Datum splatnosti\",\n      \"amount\": \"Množství\",\n      \"contact_name\": \"Jméno kontaktu\",\n      \"status\": \"Stav\"\n    },\n    \"estimates\": {\n      \"estimate\": \"Odhad\",\n      \"estimate_date\": \"Datum odhadu\",\n      \"due_date\": \"Datum splatnosti\",\n      \"estimate_number\": \"Číslo odhadu\",\n      \"ref_number\": \"Referenční číslo\",\n      \"amount\": \"Množství\",\n      \"contact_name\": \"Jméno kontaktu\",\n      \"status\": \"Stav\"\n    },\n    \"expenses\": {\n      \"expenses\": \"Výdaje\",\n      \"category\": \"Kategorie\",\n      \"date\": \"Datum\",\n      \"amount\": \"Množství\",\n      \"to_date\": \"Do data\",\n      \"from_date\": \"Od data\",\n      \"date_range\": \"Vyberte rozsah data\"\n    }\n  },\n  \"settings\": {\n    \"menu_title\": {\n      \"account_settings\": \"Nastavení účtu\",\n      \"company_information\": \"Informace o společnosti\",\n      \"customization\": \"Přizpůsobení\",\n      \"preferences\": \"Preference\",\n      \"notifications\": \"Oznámení\",\n      \"tax_types\": \"Typy daní\",\n      \"expense_category\": \"Kategorie výdajů\",\n      \"update_app\": \"Aktualizace aplikace\",\n      \"backup\": \"Zálohování\",\n      \"file_disk\": \"Souborový disk\",\n      \"custom_fields\": \"Vlastní pole\",\n      \"payment_modes\": \"Způsoby plateb\",\n      \"notes\": \"Poznámky\",\n      \"exchange_rate\": \"Směnný kurz\",\n      \"address_information\": \"Adresa\"\n    },\n    \"address_information\": {\n      \"section_description\": \"  Adresu můžete aktualizovat pomocí formuláře níže.\"\n    },\n    \"title\": \"Nastavení\",\n    \"setting\": \"Nastavení | Nastavení\",\n    \"general\": \"Obecné\",\n    \"language\": \"Jazyk\",\n    \"primary_currency\": \"Primární měna\",\n    \"timezone\": \"Časová zóna\",\n    \"date_format\": \"Formát data\",\n    \"currencies\": {\n      \"title\": \"Měny\",\n      \"currency\": \"Měna | Měny\",\n      \"currencies_list\": \"Seznam měn\",\n      \"select_currency\": \"Vyberte měnu\",\n      \"name\": \"Název\",\n      \"code\": \"Kód\",\n      \"symbol\": \"Symbol\",\n      \"precision\": \"Přesnost\",\n      \"thousand_separator\": \"Oddělovač tisíců\",\n      \"decimal_separator\": \"Oddělovač desetinných míst\",\n      \"position\": \"Umístění\",\n      \"position_of_symbol\": \"Umístění symbolu\",\n      \"right\": \"Vpravo\",\n      \"left\": \"Vlevo\",\n      \"action\": \"Akce\",\n      \"add_currency\": \"Přidat měnu\"\n    },\n    \"mail\": {\n      \"host\": \"Hostitel e-mailu\",\n      \"port\": \"Port e-mailu\",\n      \"driver\": \"Ovladač e-mailů\",\n      \"secret\": \"Tajný klíč\",\n      \"mailgun_secret\": \"Mailgun Secret\",\n      \"mailgun_domain\": \"Doména\",\n      \"mailgun_endpoint\": \"Mailgun Endpoint\",\n      \"ses_secret\": \"SES Secret\",\n      \"ses_key\": \"SES Key\",\n      \"password\": \"E-mailové heslo\",\n      \"username\": \"Uživatelské jméno pro e-mail\",\n      \"mail_config\": \"Konfigurace e-mailu\",\n      \"from_name\": \"Jméno odesílatele\",\n      \"from_mail\": \"Z e-mailové adresy\",\n      \"encryption\": \"Šifrování e-mailu\",\n      \"mail_config_desc\": \"Níže je uveden formulář pro konfiguraci e-mailového ovladače pro odesílání e-mailů z aplikace. Můžete také nakonfigurovat poskytovatele třetích stran, jako je Sendgrid, SES atd.\"\n    },\n    \"pdf\": {\n      \"title\": \"Nastavení PDF\",\n      \"footer_text\": \"Text zápatí\",\n      \"pdf_layout\": \"Rozvržení PDF\"\n    },\n    \"company_info\": {\n      \"company_info\": \"Údaje o společnosti\",\n      \"company_name\": \"Název společnosti\",\n      \"company_logo\": \"Logo společnosti\",\n      \"section_description\": \"Informace o vaší společnosti, která bude zobrazena na fakturách, odhadech a dalších dokladech vytvořených v Crateru.\",\n      \"phone\": \"Telefon\",\n      \"country\": \"Země\",\n      \"state\": \"Stát\",\n      \"city\": \"Město\",\n      \"address\": \"Adresa\",\n      \"zip\": \"PSČ\",\n      \"save\": \"Uložit\",\n      \"delete\": \"Smazat\",\n      \"updated_message\": \"Informace o společnosti byly úspěšně aktualizovány\",\n      \"delete_company\": \"Odstranit společnost\",\n      \"delete_company_description\": \"Jakmile svou společnost odstraníte, trvale přijdete o všechna data a soubory s ní spojené.\",\n      \"are_you_absolutely_sure\": \"Jste si opravdu jisti?\",\n      \"delete_company_modal_desc\": \"Tuto akci nelze vrátit zpět. Tato akce trvale odstraní {company} a všechna související data.\",\n      \"delete_company_modal_label\": \"Zadejte prosím {company} pro potvrzení\"\n    },\n    \"custom_fields\": {\n      \"title\": \"Vlastní pole\",\n      \"section_description\": \"Přizpůsobte si své faktury, odhady a potvrzení o platbě podle vlastních polí. Ujistěte se, že používáte níže přidaná pole ve formátu adresy na stránce pro přizpůsobení.\",\n      \"add_custom_field\": \"Přidat vlastní pole\",\n      \"edit_custom_field\": \"Upravit vlastní pole\",\n      \"field_name\": \"Název pole\",\n      \"label\": \"Popis\",\n      \"type\": \"Typ\",\n      \"name\": \"Jméno\",\n      \"slug\": \"Pahýl\",\n      \"required\": \"Povinné\",\n      \"placeholder\": \"Zástupný text\",\n      \"help_text\": \"Text nápovědy\",\n      \"default_value\": \"Výchozí hodnota\",\n      \"prefix\": \"Prefix\",\n      \"starting_number\": \"Počáteční číslo\",\n      \"model\": \"Model\",\n      \"help_text_description\": \"Zadejte nějaký text, který pomůže uživatelům pochopit účel tohoto vlastního pole.\",\n      \"suffix\": \"Sufix\",\n      \"yes\": \"Ano\",\n      \"no\": \"Ne\",\n      \"order\": \"Pořadí\",\n      \"custom_field_confirm_delete\": \"Nebudete moci obnovit toto vlastní pole\",\n      \"already_in_use\": \"Vlastní pole je již používáno\",\n      \"deleted_message\": \"Vlastní pole bylo úspěšně odstraněno\",\n      \"options\": \"možnosti\",\n      \"add_option\": \"Přidat možnosti\",\n      \"add_another_option\": \"Přidat další možnost\",\n      \"sort_in_alphabetical_order\": \"Řadit v abecedním pořadí\",\n      \"add_options_in_bulk\": \"Přidat možnosti hromadně\",\n      \"use_predefined_options\": \"Použít předdefinované možnosti\",\n      \"select_custom_date\": \"Vyberte vlastní datum\",\n      \"select_relative_date\": \"Vyberte relativní datum\",\n      \"ticked_by_default\": \"Ve výchozím nastavení zaškrtnuto\",\n      \"updated_message\": \"Vlastní pole bylo úspěšně upraveno\",\n      \"added_message\": \"Vlastní pole bylo úspěšně přidáno\",\n      \"press_enter_to_add\": \"Stiskněte Enter pro přidání nové možnosti\",\n      \"model_in_use\": \"Nelze aktualizovat model pro pole, která jsou již používána.\",\n      \"type_in_use\": \"Nelze aktualizovat typ pro pole, která jsou již používána.\"\n    },\n    \"customization\": {\n      \"customization\": \"přizpůsobení\",\n      \"updated_message\": \"Informace o společnosti byly úspěšně aktualizovány\",\n      \"save\": \"Uložit\",\n      \"insert_fields\": \"Vložit pole\",\n      \"learn_custom_format\": \"Zjistěte, jak používat vlastní formát\",\n      \"add_new_component\": \"Přidat novou komponentu\",\n      \"component\": \"Komponenty\",\n      \"Parameter\": \"Parametr\",\n      \"series\": \"Řada\",\n      \"series_description\": \"Pro nastavení statického prefixu/postfixu jako 'INV' napříč vaší společností. Podporuje délku až 4 znaky.\",\n      \"series_param_label\": \"Hodnota řady\",\n      \"delimiter\": \"Oddělovač\",\n      \"delimiter_description\": \"Jeden znak pro určení hranice mezi 2 samostatnými komponentami. Ve výchozím nastavení je nastaveno na -\",\n      \"delimiter_param_label\": \"Hodnota oddělovače\",\n      \"date_format\": \"Formát data\",\n      \"date_format_description\": \"Pole pro formát místní data a času. Výchozí formát: 'Y' vykresluje aktuální rok.\",\n      \"date_format_param_label\": \"Formát\",\n      \"sequence\": \"Sekvence\",\n      \"sequence_description\": \"Po sobě jdoucí posloupnost čísel ve vaší společnosti. Můžete určit délku daného parametru.\",\n      \"sequence_param_label\": \"Délka sekvence\",\n      \"customer_series\": \"Řada zákazníků\",\n      \"customer_series_description\": \"Možnost nastavit jiný prefix/postfix pro každého zákazníka.\",\n      \"customer_sequence\": \"Sekvence zákazníků\",\n      \"customer_sequence_description\": \"Po sobě jdoucí posloupnost čísel pro každého zákazníka.\",\n      \"customer_sequence_param_label\": \"Délka sekvence\",\n      \"random_sequence\": \"Náhodná sekvence\",\n      \"random_sequence_description\": \"Náhodný alfanumerický řetězec. Můžete určit délku daného parametru.\",\n      \"random_sequence_param_label\": \"Délka sekvence\",\n      \"invoices\": {\n        \"title\": \"Faktury\",\n        \"invoice_number_format\": \"Formát čísla faktury\",\n        \"invoice_number_format_description\": \"Přizpůsobte si, jak bude vaše číslo faktury automaticky generováno při vytváření nové faktury.\",\n        \"preview_invoice_number\": \"Náhled čísla faktury\",\n        \"due_date\": \"Datum splatnosti\",\n        \"due_date_description\": \"Určete, jak se automaticky nastavuje datum splatnosti vytváření faktury.\",\n        \"due_date_days\": \"Splatnost faktury po dnech\",\n        \"set_due_date_automatically\": \"Automaticky nastavit datum splatnosti\",\n        \"set_due_date_automatically_description\": \"Povolte, pokud chcete nastavit datum splatnosti automaticky při vytvoření nové faktury.\",\n        \"default_formats\": \"Výchozí formáty\",\n        \"default_formats_description\": \"Níže uvedené formáty se používají k automatickému vyplnění polí při vytváření faktury.\",\n        \"default_invoice_email_body\": \"Výchozí text e-mailu pro faktury\",\n        \"company_address_format\": \"Formát adresy společnosti\",\n        \"shipping_address_format\": \"Formát doručovací adresy\",\n        \"billing_address_format\": \"Formát fakturační adresy\",\n        \"invoice_email_attachment\": \"Odesílat faktury jako přílohy\",\n        \"invoice_email_attachment_setting_description\": \"Povolte, pokud chcete odesílat faktury jako přílohy e-mailu. Vezměte prosím na vědomí, že tlačítko 'Zobrazit fakturu' v e-mailech se již nezobrazí, pokud je povoleno.\",\n        \"invoice_settings_updated\": \"Nastavení faktur bylo úspěšně upraveno\",\n        \"retrospective_edits\": \"Zpětné úpravy\",\n        \"allow\": \"Povolit\",\n        \"disable_on_invoice_partial_paid\": \"Zakázat po zaznamenání částečné platby\",\n        \"disable_on_invoice_paid\": \"Vypnout po zaplacení plné platby\",\n        \"disable_on_invoice_sent\": \"Vypnout po odeslání faktury\",\n        \"retrospective_edits_description\": \" Na základě zákonů vaší země nebo vašich preferencí můžete uživatelům bránit v úpravě dokončených faktur.\"\n      },\n      \"estimates\": {\n        \"title\": \"Odhady\",\n        \"estimate_number_format\": \"Formát čísla odhadu\",\n        \"estimate_number_format_description\": \"Přizpůsobte si, jak bude vaše číslo odhadu automaticky generováno, při vytváření nového odhadu.\",\n        \"preview_estimate_number\": \"Náhled čísla odhadu\",\n        \"expiry_date\": \"Datum expirace\",\n        \"expiry_date_description\": \"Určete, jak se automaticky nastavuje datum expirace při vytváření odhadu.\",\n        \"expiry_date_days\": \"Platnost odhadu vyprší za dny\",\n        \"set_expiry_date_automatically\": \"Automaticky nastavit datum expirace\",\n        \"set_expiry_date_automatically_description\": \"Povolte, pokud chcete nastavit datum expirace automaticky při vytvoření nového odhadu.\",\n        \"default_formats\": \"Výchozí formáty\",\n        \"default_formats_description\": \"Níže uvedené formáty se používají k automatickému vyplnění polí při vytváření odhadu.\",\n        \"default_estimate_email_body\": \"Výchozí text e-mailu pro odhady\",\n        \"company_address_format\": \"Formát adresy společnosti\",\n        \"shipping_address_format\": \"Formát doručovací adresy\",\n        \"billing_address_format\": \"Formát fakturační adresy\",\n        \"estimate_email_attachment\": \"Odeslat odhady jako přílohy\",\n        \"estimate_email_attachment_setting_description\": \"Povolte, pokud chcete odesílat odhady jako přílohy e-mailu. Vezměte prosím na vědomí, že tlačítko 'Zobrazit odhad' v e-mailech se již nezobrazí, pokud je povoleno.\",\n        \"estimate_settings_updated\": \"Nastavení odhadů úspěšně upraveno\",\n        \"convert_estimate_options\": \"Akce konverze odhadu\",\n        \"convert_estimate_description\": \"Určete, co se stane s odhadem poté, co se převede na fakturu.\",\n        \"no_action\": \"Žádná akce\",\n        \"delete_estimate\": \"Odstranit odhad\",\n        \"mark_estimate_as_accepted\": \"Označit odhad za přijatý\"\n      },\n      \"payments\": {\n        \"title\": \"Platby\",\n        \"payment_number_format\": \"Formát čísel plateb\",\n        \"payment_number_format_description\": \"Přizpůsobte si, jak se bude číslo platby automaticky generovat, když vytvoříte novou platbu.\",\n        \"preview_payment_number\": \"Náhled čísla platby\",\n        \"default_formats\": \"Výchozí formáty\",\n        \"default_formats_description\": \"Níže uvedené formáty se používají k automatickému vyplnění polí při vytváření plateb.\",\n        \"default_payment_email_body\": \"Výchozí text e-mailu platby\",\n        \"company_address_format\": \"Formát adresy společnosti\",\n        \"from_customer_address_format\": \"Z formátu adresy zákazníka\",\n        \"payment_email_attachment\": \"Odesílat platby jako přílohy\",\n        \"payment_email_attachment_setting_description\": \"Povolte, pokud chcete odeslat potvrzení o platbě jako přílohu e-mailu. Vezměte prosím na vědomí, že tlačítko 'Zobrazit platbu' v e-mailech se již nebude zobrazovat, pokud je povoleno.\",\n        \"payment_settings_updated\": \"Nastavení plateb bylo úspěšně upraveno\"\n      },\n      \"items\": {\n        \"title\": \"Položky\",\n        \"units\": \"Jednotky\",\n        \"add_item_unit\": \"Přidat jednotku položky\",\n        \"edit_item_unit\": \"Upravit jednotku položky\",\n        \"unit_name\": \"Název jednotky\",\n        \"item_unit_added\": \"Jednotka položky přidána\",\n        \"item_unit_updated\": \"Jednotka položky upravena\",\n        \"item_unit_confirm_delete\": \"Nebudete moci obnovit tuto jednotku položky\",\n        \"already_in_use\": \"Jednotka položky se již používá\",\n        \"deleted_message\": \"Jednotka položky byla úspěšně odstraněna\"\n      },\n      \"notes\": {\n        \"title\": \"Poznámky\",\n        \"description\": \"Ušetřete čas vytvořením poznámek a jejich opětovným použitím na fakturách, odhadech a platbách.\",\n        \"notes\": \"Poznámky\",\n        \"type\": \"Typ\",\n        \"add_note\": \"Přidat poznámku\",\n        \"add_new_note\": \"Přidat novou poznámku\",\n        \"name\": \"Jméno\",\n        \"edit_note\": \"Upravit poznámku\",\n        \"note_added\": \"Poznámka úspěšně přidána\",\n        \"note_updated\": \"Poznámka úspěšně upravena\",\n        \"note_confirm_delete\": \"Nebudete moci obnovit tuto poznámku\",\n        \"already_in_use\": \"Poznámka je již používána\",\n        \"deleted_message\": \"Poznámka byla úspěšně smazána\"\n      }\n    },\n    \"account_settings\": {\n      \"profile_picture\": \"Profilový obrázek\",\n      \"name\": \"Jméno\",\n      \"email\": \"E-mail\",\n      \"password\": \"Heslo\",\n      \"confirm_password\": \"Potvrdit heslo\",\n      \"account_settings\": \"Nastavení účtu\",\n      \"save\": \"Uložit\",\n      \"section_description\": \"Své jméno, e-mail a heslo můžete aktualizovat pomocí formuláře níže.\",\n      \"updated_message\": \"Nastavení účtu bylo úspěšně aktualizováno\"\n    },\n    \"user_profile\": {\n      \"name\": \"Jméno\",\n      \"email\": \"E-mail\",\n      \"password\": \"Heslo\",\n      \"confirm_password\": \"Potvrzení hesla\"\n    },\n    \"notification\": {\n      \"title\": \"Oznámení\",\n      \"email\": \"Posílat oznámení na\",\n      \"description\": \"Která e-mailová oznámení chcete dostávat, když se něco změní?\",\n      \"invoice_viewed\": \"Faktura zobrazena\",\n      \"invoice_viewed_desc\": \"Když si váš zákazník zobrazí fakturu odeslánou přes hlavní panel Crateru.\",\n      \"estimate_viewed\": \"Odhad zobrazen\",\n      \"estimate_viewed_desc\": \"Když si váš zákazník zobrazí odhad odeslaný přes hlavní panel Crateru.\",\n      \"save\": \"Uložit\",\n      \"email_save_message\": \"E-mail úspěšně uložen\",\n      \"please_enter_email\": \"Prosím, zadejte e-mail\"\n    },\n    \"roles\": {\n      \"title\": \"Role\",\n      \"description\": \"Správa rolí a oprávnění této společnosti\",\n      \"save\": \"Uložit\",\n      \"add_new_role\": \"Přidat novou roli\",\n      \"role_name\": \"Název role\",\n      \"added_on\": \"Přidáno dne\",\n      \"add_role\": \"Přidat roli\",\n      \"edit_role\": \"Upravit roli\",\n      \"name\": \"Název\",\n      \"permission\": \"Oprávnění | Oprávnění\",\n      \"select_all\": \"Vybrat vše\",\n      \"none\": \"Žádné\",\n      \"confirm_delete\": \"Nebudete moci obnovit tuto roli\",\n      \"created_message\": \"Role byla úspěšně vytvořena\",\n      \"updated_message\": \"Role úspěšně změněna\",\n      \"deleted_message\": \"Role úspěšně odstraněna\",\n      \"already_in_use\": \"Role je již používána\"\n    },\n    \"exchange_rate\": {\n      \"exchange_rate\": \"Směnný kurz\",\n      \"title\": \"Opravit problémy se směnným kurzem\",\n      \"description\": \"Zadejte prosím směnný kurz všech níže uvedených měn, abyste pomohli Crateru správně vypočítat částky v {currency}.\",\n      \"drivers\": \"Ovladače\",\n      \"new_driver\": \"Přidat nového poskytovatele\",\n      \"edit_driver\": \"Upravit poskytovatele\",\n      \"select_driver\": \"Vybrat ovladač\",\n      \"update\": \"vybrat směnný kurz \",\n      \"providers_description\": \"Nakonfigurujte zde poskytovatele směnných kurzů, aby automaticky načítali nejnovější směnný kurz u transakcí.\",\n      \"key\": \"API klíč\",\n      \"name\": \"Název\",\n      \"driver\": \"Ovladač\",\n      \"is_default\": \"JE VÝCHOZÍ\",\n      \"currency\": \"Měny\",\n      \"exchange_rate_confirm_delete\": \"Nebudete moci obnovit tento ovladač\",\n      \"created_message\": \"Poskytovatel úspěšně vytvořen\",\n      \"updated_message\": \"Poskytovatel úspěšně upraven\",\n      \"deleted_message\": \"Poskytovatel úspěšně odstraněn\",\n      \"error\": \" Aktivní ovladač nelze odstranit\",\n      \"default_currency_error\": \"Tato měna je již používána v jednom z aktivních poskytovatelů\",\n      \"exchange_help_text\": \"Zadejte směnný kurz pro převod z {currency} do {baseCurrency}\",\n      \"currency_freak\": \"Currency Freak\",\n      \"currency_layer\": \"Currency Layer\",\n      \"open_exchange_rate\": \"Otevřít směnný kurz\",\n      \"currency_converter\": \"Převodník měn\",\n      \"server\": \"Server\",\n      \"url\": \"URL\",\n      \"active\": \"Aktivní\",\n      \"currency_help_text\": \"Tento poskytovatel bude použit pouze na výše vybraných měnách\",\n      \"currency_in_used\": \"Následující měny jsou již aktivní u jiného poskytovatele. Odstraňte tyto měny z výběru a znovu aktivujte tohoto poskytovatele.\"\n    },\n    \"tax_types\": {\n      \"title\": \"Typy daní\",\n      \"add_tax\": \"Přidat daň\",\n      \"edit_tax\": \"Upravit daň\",\n      \"description\": \"Můžete přidat nebo odebrat daně, jak chcete. Crater podporuje daně z jednotlivých položek i z celé faktury.\",\n      \"add_new_tax\": \"Přidat novou daň\",\n      \"tax_settings\": \"Nastavení daně\",\n      \"tax_per_item\": \"Daň za položku\",\n      \"tax_name\": \"Název daně\",\n      \"compound_tax\": \"Složená daň\",\n      \"percent\": \"Procento\",\n      \"action\": \"Akce\",\n      \"tax_setting_description\": \"Povolte, pokud chcete přidat daně k jednotlivým položkám faktury. Ve výchozím nastavení jsou daně přidány přímo na fakturu.\",\n      \"created_message\": \"Typ daně úspěšně vytvořen\",\n      \"updated_message\": \"Typ daně úspěšně upraven\",\n      \"deleted_message\": \"Typ daně úspěšně odstraněn\",\n      \"confirm_delete\": \"Tento typ daně nebudete moci obnovit\",\n      \"already_in_use\": \"Daň se již používá\"\n    },\n    \"payment_modes\": {\n      \"title\": \"Platební metody\",\n      \"description\": \"Platební metody transakcí pro platby\",\n      \"add_payment_mode\": \"Přidat platební metodu\",\n      \"edit_payment_mode\": \"Upravit platební metodu\",\n      \"mode_name\": \"Název metody\",\n      \"payment_mode_added\": \"Platební metoda přidána\",\n      \"payment_mode_updated\": \"Platební metoda upravena\",\n      \"payment_mode_confirm_delete\": \"Nebudete moci obnovit tuto platební metodu\",\n      \"payments_attached\": \"Tento způsob platby je již připojen k platbám. Chcete-li pokračovat v odstranění, odstraňte připojené platby.\",\n      \"expenses_attached\": \"Tento způsob platby je již připojen k výdajům. Chcete-li pokračovat v odstranění, odstraňte připojené výdaje.\",\n      \"deleted_message\": \"Platební metoda byla úspěšně odstraněna\"\n    },\n    \"expense_category\": {\n      \"title\": \"Kategorie výdajů\",\n      \"action\": \"Akce\",\n      \"description\": \"Kategorie jsou vyžadovány pro přidání výdajových položek. Můžete přidat nebo odebrat tyto kategorie podle vašich preferencí.\",\n      \"add_new_category\": \"Přidat novou kategorii\",\n      \"add_category\": \"Přidat kategorii\",\n      \"edit_category\": \"Upravit Kategorii\",\n      \"category_name\": \"Název kategorie\",\n      \"category_description\": \"Popis\",\n      \"created_message\": \"Kategorie výdajů úspěšně vytvořena\",\n      \"deleted_message\": \"Kategorie výdajů úspěšně odstraněna\",\n      \"updated_message\": \"Kategorie výdajů úspěšně upravena\",\n      \"confirm_delete\": \"Nebudete moci obnovit tuto kategorii výdajů\",\n      \"already_in_use\": \"Kategorie se již používá\"\n    },\n    \"preferences\": {\n      \"currency\": \"Měna\",\n      \"default_language\": \"Výchozí jazyk\",\n      \"time_zone\": \"Časové pásmo\",\n      \"fiscal_year\": \"Fiskální rok\",\n      \"date_format\": \"Formát data\",\n      \"discount_setting\": \"Nastavení slev\",\n      \"discount_per_item\": \"Sleva za položku \",\n      \"discount_setting_description\": \"Povolte tuto možnost, pokud chcete přidat slevu do jednotlivých položek faktury. Ve výchozím nastavení je sleva přidána přímo na fakturu.\",\n      \"expire_public_links\": \"Automaticky zrušit platnost veřejných odkazů\",\n      \"expire_setting_description\": \"Určete, zda chcete zrušit všechny odkazy odeslané aplikací k zobrazení faktur, odhadů, plateb atd. po stanovené době trvání.\",\n      \"save\": \"Uložit\",\n      \"preference\": \"Předvolba | Předvolby\",\n      \"general_settings\": \"Výchozí předvolby systému.\",\n      \"updated_message\": \"Předvolby úspěšně upraveny\",\n      \"select_language\": \"Vyberte jazyk\",\n      \"select_time_zone\": \"Vyberte časové pásmo\",\n      \"select_date_format\": \"Vyberte formát data\",\n      \"select_financial_year\": \"Vyberte fiskální rok\",\n      \"recurring_invoice_status\": \"Stav opakující se faktury\",\n      \"create_status\": \"Vytvořit stav\",\n      \"active\": \"Aktivní\",\n      \"on_hold\": \"Čekající\",\n      \"update_status\": \"Upravit stav\",\n      \"completed\": \"Dokončeno\",\n      \"company_currency_unchangeable\": \"Měnu společnosti nelze měnit\"\n    },\n    \"update_app\": {\n      \"title\": \"Aktualizace aplikace\",\n      \"description\": \"Kliknutím na tlačítko níže můžete jednoduše aktualizovat Crater\",\n      \"check_update\": \"Zkontrolovat aktualizace\",\n      \"avail_update\": \"K dispozici je nová aktualizace\",\n      \"next_version\": \"Další verze\",\n      \"requirements\": \"Požadavky\",\n      \"update\": \"Aktualizovat teď\",\n      \"update_progress\": \"Probíhá aktualizace...\",\n      \"progress_text\": \"Bude to trvat jen několik minut. Neobnovujte obrazovku ani nezavírejte okno před dokončením aktualizace\",\n      \"update_success\": \"Aplikace byla aktualizována! Počkejte prosím, než se okno prohlížeče automaticky znovu načte.\",\n      \"latest_message\": \"Žádná aktualizace není k dispozici! Jste na nejnovější verzi.\",\n      \"current_version\": \"Aktuální verze\",\n      \"download_zip_file\": \"Stáhnout soubor ZIP\",\n      \"unzipping_package\": \"Rozbalování balíku\",\n      \"copying_files\": \"Kopírování souborů\",\n      \"deleting_files\": \"Odstraňování nepoužitých souborů\",\n      \"running_migrations\": \"Spouštění migrací\",\n      \"finishing_update\": \"Dokončování aktualizace\",\n      \"update_failed\": \"Aktualizace se nezdařila\",\n      \"update_failed_text\": \"Omlouváme se! Aktualizace se nezdařila v {step}. kroku\",\n      \"update_warning\": \"Všechny soubory aplikace a výchozí soubory šablon budou přepsány při aktualizaci aplikace pomocí tohoto nástroje. Před aktualizací si prosím zálohujte šablony a databázi.\"\n    },\n    \"backup\": {\n      \"title\": \"Záloha | Zálohy\",\n      \"description\": \"Záloha je soubor ZIP, který obsahuje všechny soubory ve složkách, které zadáte spolu s kopií vaší databáze\",\n      \"new_backup\": \"Přidat novou zálohu\",\n      \"create_backup\": \"Vytvořit zálohu\",\n      \"select_backup_type\": \"Vyberte typ zálohy\",\n      \"backup_confirm_delete\": \"Tuto zálohu nebudete moci obnovit\",\n      \"path\": \"cesta\",\n      \"new_disk\": \"Nový disk\",\n      \"created_at\": \"vytvořeno v\",\n      \"size\": \"velikost\",\n      \"dropbox\": \"dropbox\",\n      \"local\": \"místní\",\n      \"healthy\": \"zdravý\",\n      \"amount_of_backups\": \"počet záloh\",\n      \"newest_backups\": \"nejnovější zálohy\",\n      \"used_storage\": \"využité úložiště\",\n      \"select_disk\": \"Vyberte disk\",\n      \"action\": \"Akce\",\n      \"deleted_message\": \"Záloha úspěšně odstraněna\",\n      \"created_message\": \"Záloha byla úspěšně vytvořena\",\n      \"invalid_disk_credentials\": \"Nesprávné přihlašovací údaje pro vybraný disk\"\n    },\n    \"disk\": {\n      \"title\": \"Souborový disk | Souborové disky\",\n      \"description\": \"Ve výchozím nastavení bude Crater používat váš lokální disk pro ukládání záloh, avataru a dalších obrázků. Podle vašich preferencí můžete nakonfigurovat více než jeden ovladač disku, jako je DigitalOcean, S3 nebo Dropbox.\",\n      \"created_at\": \"vytvořeno v\",\n      \"dropbox\": \"dropbox\",\n      \"name\": \"Název\",\n      \"driver\": \"Ovladač\",\n      \"disk_type\": \"Typ\",\n      \"disk_name\": \"Název disku\",\n      \"new_disk\": \"Přidat nový disk\",\n      \"filesystem_driver\": \"Ovladač souborového systému\",\n      \"local_driver\": \"místní ovladač\",\n      \"local_root\": \"místní kořenový adresář\",\n      \"public_driver\": \"Veřejný ovladač\",\n      \"public_root\": \"Veřejný kořenový adresář\",\n      \"public_url\": \"Veřejná adresa URL\",\n      \"public_visibility\": \"Veřejná viditelnost\",\n      \"media_driver\": \"Ovladač médií\",\n      \"media_root\": \"Kořenový adresář medií\",\n      \"aws_driver\": \"AWS ovladač\",\n      \"aws_key\": \"AWS Key\",\n      \"aws_secret\": \"AWS Secret\",\n      \"aws_region\": \"AWS Region\",\n      \"aws_bucket\": \"AWS Bucket\",\n      \"aws_root\": \"AWS Root\",\n      \"do_spaces_type\": \"Do Spaces type\",\n      \"do_spaces_key\": \"Do Spaces key\",\n      \"do_spaces_secret\": \"Do Spaces Secret\",\n      \"do_spaces_region\": \"Do Spaces Region\",\n      \"do_spaces_bucket\": \"Do Spaces Bucket\",\n      \"do_spaces_endpoint\": \"Do Spaces Endpoint\",\n      \"do_spaces_root\": \"Do Spaces Root\",\n      \"dropbox_type\": \"Dropbox Type\",\n      \"dropbox_token\": \"Dropbox Token\",\n      \"dropbox_key\": \"Dropbox Key\",\n      \"dropbox_secret\": \"Dropbox Secret\",\n      \"dropbox_app\": \"Dropbox App\",\n      \"dropbox_root\": \"Dropbox Root\",\n      \"default_driver\": \"Výchozí ovladač\",\n      \"is_default\": \"JE VÝCHOZÍ\",\n      \"set_default_disk\": \"Nastavit výchozí disk\",\n      \"set_default_disk_confirm\": \"Tento disk bude nastaven jako výchozí a všechny nové PDF budou uloženy na tomto disku\",\n      \"success_set_default_disk\": \"Disk úspěšně nastaven jako výchozí\",\n      \"save_pdf_to_disk\": \"Ukládat PDF na disk\",\n      \"disk_setting_description\": \" Povolte, pokud chcete automaticky uložit kopii PDF každé faktury, odhadu a potvrzení o platbě. Zapnutí této možnosti sníží dobu načítání při prohlížení PDF.\",\n      \"select_disk\": \"Vyberte disk\",\n      \"disk_settings\": \"Nastavení disku\",\n      \"confirm_delete\": \"Vaše existující soubory a složky na určeném disku nebudou ovlivněny, ale konfigurace disku bude odstraněna z Crateru\",\n      \"action\": \"Akce\",\n      \"edit_file_disk\": \"Upravit souborový disk\",\n      \"success_create\": \"Disk byl úspěšně přidán\",\n      \"success_update\": \"Disk úspěšně upraven\",\n      \"error\": \"Přidání disku se nezdařilo\",\n      \"deleted_message\": \"Souborový disk úspěšně smazán\",\n      \"disk_variables_save_successfully\": \"Disk úspěšně nakonfigurován\",\n      \"disk_variables_save_error\": \"Konfigurace disku selhala.\",\n      \"invalid_disk_credentials\": \"Nesprávné přihlašovací údaje pro vybraný disk\"\n    },\n    \"taxations\": {\n      \"add_billing_address\": \"Zadejte fakturační adresu\",\n      \"add_shipping_address\": \"Zadejte doručovací adresu\",\n      \"add_company_address\": \"Zadejte adresu firmy\",\n      \"modal_description\": \"Níže uvedené informace jsou vyžadovány pro načtení daně z prodeje.\",\n      \"add_address\": \"Přidat adresu pro načtení daně z prodeje.\",\n      \"address_placeholder\": \"Například: Moje Ulice 123\",\n      \"city_placeholder\": \"Například: Praha\",\n      \"state_placeholder\": \"Například: CZ\",\n      \"zip_placeholder\": \"Například: 90024\",\n      \"invalid_address\": \"Zadejte prosím platnou adresu.\"\n    }\n  },\n  \"wizard\": {\n    \"account_info\": \"Informace o účtu\",\n    \"account_info_desc\": \"Níže uvedené údaje budou použity k vytvoření hlavního účtu správce. Také můžete změnit podrobnosti kdykoliv po přihlášení.\",\n    \"name\": \"Jméno\",\n    \"email\": \"E-mail\",\n    \"password\": \"Heslo\",\n    \"confirm_password\": \"Potvrdit heslo\",\n    \"save_cont\": \"Uložit a pokračovat\",\n    \"company_info\": \"Informace o společnosti\",\n    \"company_info_desc\": \"Tyto informace budou zobrazeny na fakturách. Později je můžete upravit na stránce s nastavením.\",\n    \"company_name\": \"Název společnosti\",\n    \"company_logo\": \"Logo společnosti\",\n    \"logo_preview\": \"Náhled loga\",\n    \"preferences\": \"Předvolby společnosti\",\n    \"preferences_desc\": \"Zadejte výchozí předvolby pro tuto společnost.\",\n    \"currency_set_alert\": \"Měnu společnosti nelze později změnit.\",\n    \"country\": \"Země\",\n    \"state\": \"Stát\",\n    \"city\": \"Město\",\n    \"address\": \"Adresa\",\n    \"street\": \"Ulice1 | Ulice2\",\n    \"phone\": \"Telefon\",\n    \"zip_code\": \"PSČ\",\n    \"go_back\": \"Jít zpět\",\n    \"currency\": \"Měna\",\n    \"language\": \"Jazyk\",\n    \"time_zone\": \"Časové pásmo\",\n    \"fiscal_year\": \"Fiskální rok\",\n    \"date_format\": \"Formát data\",\n    \"from_address\": \"Z adresy\",\n    \"username\": \"Uživatelské jméno\",\n    \"next\": \"Další\",\n    \"continue\": \"Pokračovat\",\n    \"skip\": \"Přeskočit\",\n    \"database\": {\n      \"database\": \"URL webu a databáze\",\n      \"connection\": \"Připojení k databázi\",\n      \"host\": \"Host databáze\",\n      \"port\": \"Port databáze\",\n      \"password\": \"Heslo do databáze\",\n      \"app_url\": \"URL aplikace\",\n      \"app_domain\": \"Doména aplikace\",\n      \"username\": \"Uživatelské jméno k databázi\",\n      \"db_name\": \"Název databáze\",\n      \"db_path\": \"Cesta k databázi\",\n      \"desc\": \"Vytvořte databázi na svém serveru a nastavte přihlašovací údaje pomocí níže uvedeného formuláře.\"\n    },\n    \"permissions\": {\n      \"permissions\": \"Oprávnění\",\n      \"permission_confirm_title\": \"Opravdu chcete pokračovat?\",\n      \"permission_confirm_desc\": \"Kontrola oprávnění složky selhala\",\n      \"permission_desc\": \"Níže je seznam oprávnění složek, která jsou vyžadována, aby aplikace pracovala. Pokud kontrola oprávnění selže, aktualizujte oprávnění daných složek.\"\n    },\n    \"verify_domain\": {\n      \"title\": \"Ověření domény\",\n      \"desc\": \"Crater používá ověření na základě relace, které vyžaduje ověření domény pro účely zabezpečení. Zadejte prosím doménu, na které budete přistupovat ke své webové aplikaci.\",\n      \"app_domain\": \"Doména aplikace\",\n      \"verify_now\": \"Ověřit teď\",\n      \"success\": \"Ověření domény bylo úspěšné.\",\n      \"failed\": \"Ověření domény se nezdařilo. Zadejte prosím platný název domény.\",\n      \"verify_and_continue\": \"Ověřit a pokračovat\"\n    },\n    \"mail\": {\n      \"host\": \"Hostitel e-mailu\",\n      \"port\": \"Port e-mailu\",\n      \"driver\": \"Ovladač e-mailů\",\n      \"secret\": \"Secret\",\n      \"mailgun_secret\": \"Mailgun Secret\",\n      \"mailgun_domain\": \"Doména\",\n      \"mailgun_endpoint\": \"Mailgun Endpoint\",\n      \"ses_secret\": \"SES Secret\",\n      \"ses_key\": \"SES Key\",\n      \"password\": \"E-mailové heslo\",\n      \"username\": \"Uživatelské jméno e-mailu\",\n      \"mail_config\": \"Konfigurace e-mailu\",\n      \"from_name\": \"Jméno odesílatele\",\n      \"from_mail\": \"Z e-mailové adresy\",\n      \"encryption\": \"Šifrování e-mailu\",\n      \"mail_config_desc\": \"Níže je uveden formulář pro konfiguraci e-mailového ovladače pro odesílání e-mailů z aplikace. Můžete také nakonfigurovat poskytovatele třetích stran, jako je Sendgrid, SES atd.\"\n    },\n    \"req\": {\n      \"system_req\": \"Systémové požadavky\",\n      \"php_req_version\": \"Php (požadovaná verze {version})\",\n      \"check_req\": \"Zkontrolujte požadavky\",\n      \"system_req_desc\": \"Crater má několik požadavků na server. Ujistěte se, že váš server má požadovanou php verzi a všechna níže uvedená rozšíření.\"\n    },\n    \"errors\": {\n      \"migrate_failed\": \"Migrace se nezdařila\",\n      \"database_variables_save_error\": \"Nelze zapsat konfiguraci do souboru .env. Zkontrolujte prosím jeho oprávnění\",\n      \"mail_variables_save_error\": \"Nastavení e-mailu se nezdařilo.\",\n      \"connection_failed\": \"Spojení s databází se nezdařilo\",\n      \"database_should_be_empty\": \"Databáze by měla být prázdná\"\n    },\n    \"success\": {\n      \"mail_variables_save_successfully\": \"E-mail byl úspěšně nastaven\",\n      \"database_variables_save_successfully\": \"Databáze byla úspěšně nastavena.\"\n    }\n  },\n  \"validation\": {\n    \"invalid_phone\": \"Neplatné telefonní číslo\",\n    \"invalid_url\": \"Neplatná URL (např. http://www.craterapp.com)\",\n    \"invalid_domain_url\": \"Neplatná URL (např. craterapp.com)\",\n    \"required\": \"Pole je povinné\",\n    \"email_incorrect\": \"Nesprávný e-mail.\",\n    \"email_already_taken\": \"Tento e-mail již byl použit.\",\n    \"email_does_not_exist\": \"Uživatel s daným e-mailem neexistuje\",\n    \"item_unit_already_taken\": \"Tento název jednotky je již obsazen\",\n    \"payment_mode_already_taken\": \"Tento název platební metody již byl použit\",\n    \"send_reset_link\": \"Zaslat odkaz na obnovení hesla\",\n    \"not_yet\": \"Ještě ne? Poslat znovu\",\n    \"password_min_length\": \"Heslo musí obsahovat {count} znaků\",\n    \"name_min_length\": \"Jméno musí mít alespoň {count} písmen.\",\n    \"prefix_min_length\": \"Prefix musí mít alespoň {count} písmen.\",\n    \"enter_valid_tax_rate\": \"Zadejte platnou daňovou sazbu\",\n    \"numbers_only\": \"Pouze čísla.\",\n    \"characters_only\": \"Pouze písmena.\",\n    \"password_incorrect\": \"Hesla musí být stejná\",\n    \"password_length\": \"Heslo musí být dlouhé {count} znaků.\",\n    \"qty_must_greater_than_zero\": \"Množství musí být větší než nula.\",\n    \"price_greater_than_zero\": \"Cena musí být vyšší než nula.\",\n    \"payment_greater_than_zero\": \"Platba musí být vyšší než nula.\",\n    \"payment_greater_than_due_amount\": \"Zadaná platba je vyšší než splatná částka této faktury.\",\n    \"quantity_maxlength\": \"Množství by nemělo být delší než 20 číslic.\",\n    \"price_maxlength\": \"Cena by neměla být delší než 20 číslic.\",\n    \"price_minvalue\": \"Cena by měla být větší než 0.\",\n    \"amount_maxlength\": \"Množství by nemělo být delší než 20 číslic.\",\n    \"amount_minvalue\": \"Množství by mělo být větší než 0.\",\n    \"discount_maxlength\": \"Sleva by neměla být vyšší než maximální sleva\",\n    \"description_maxlength\": \"Popis by neměl být delší než 255 znaků.\",\n    \"subject_maxlength\": \"Předmět by neměl být delší než 100 znaků.\",\n    \"message_maxlength\": \"Zpráva by neměla být delší než 255 znaků.\",\n    \"maximum_options_error\": \"Vybráno maximum z {max} možností. Nejprve odeberte vybranou možnost pro další výběr.\",\n    \"notes_maxlength\": \"Poznámky by neměly být delší než 65 000 znaků.\",\n    \"address_maxlength\": \"Adresa by neměla být delší než 255 znaků.\",\n    \"ref_number_maxlength\": \"Referenční číslo by nemělo být delší než 255 znaků.\",\n    \"prefix_maxlength\": \"Prefix by neměl být delší než 5 znaků.\",\n    \"something_went_wrong\": \"něco se nezdařilo\",\n    \"number_length_minvalue\": \"Délka čísla by měla být větší než 0\",\n    \"at_least_one_ability\": \"Vyberte prosím alespoň jedno oprávnění.\",\n    \"valid_driver_key\": \"Zadejte prosím platný {driver} klíč.\",\n    \"valid_exchange_rate\": \"Zadejte prosím platný směnný kurz.\",\n    \"company_name_not_same\": \"Název společnosti se musí shodovat se zadaným názvem.\"\n  },\n  \"errors\": {\n    \"starter_plan\": \"Tato funkce je k dispozici na Starter Plánu a dále!\",\n    \"invalid_provider_key\": \"Zadejte prosím platný API klíč poskytovatele.\",\n    \"estimate_number_used\": \"Číslo odhadu již bylo použito.\",\n    \"invoice_number_used\": \"Číslo faktury již bylo použito.\",\n    \"payment_attached\": \"Na této faktuře je již přiložena platba. Abyste mohli pokračovat v odstranění, odstraňtě nejdříve přiložené platby.\",\n    \"payment_number_used\": \"Číslo platby již bylo použito.\",\n    \"name_already_taken\": \"Název již byl použit.\",\n    \"receipt_does_not_exist\": \"Doklad neexistuje.\",\n    \"customer_cannot_be_changed_after_payment_is_added\": \"Zákazníka nelze měnit po přidání platby\",\n    \"invalid_credentials\": \"Neplatné přihlašovací údaje.\",\n    \"not_allowed\": \"Není povoleno\",\n    \"login_invalid_credentials\": \"Tyto údaje neodpovídají našim záznamům.\",\n    \"enter_valid_cron_format\": \"Zadejte platný formát cronu\",\n    \"email_could_not_be_sent\": \"E-mail nemohl být odeslán na tuto e-mailovou adresu.\",\n    \"invalid_address\": \"Zadejte prosím platnou adresu.\",\n    \"invalid_key\": \"Zadejte prosím platný klíč.\",\n    \"invalid_state\": \"Zadejte prosím platný název státu.\",\n    \"invalid_city\": \"Zadejte prosím platný název města.\",\n    \"invalid_postal_code\": \"Zadejte prosím platné PSČ.\",\n    \"invalid_format\": \"Zadejte prosím data v platném formátu.\",\n    \"api_error\": \"Server neodpovídá.\",\n    \"feature_not_enabled\": \"Funkce není zapnuta.\",\n    \"request_limit_met\": \"Limit požadavků API překročen.\",\n    \"address_incomplete\": \"Neúplná adresa\"\n  },\n  \"pdf_estimate_label\": \"Odhad\",\n  \"pdf_estimate_number\": \"Číslo odhadu\",\n  \"pdf_estimate_date\": \"Datum odhadu\",\n  \"pdf_estimate_expire_date\": \"Doba platnosti\",\n  \"pdf_invoice_label\": \"Faktura\",\n  \"pdf_invoice_number\": \"Číslo faktury\",\n  \"pdf_invoice_date\": \"Datum fakturace\",\n  \"pdf_invoice_due_date\": \"Datum splatnosti\",\n  \"pdf_notes\": \"Poznámky\",\n  \"pdf_items_label\": \"Položky\",\n  \"pdf_quantity_label\": \"Množství\",\n  \"pdf_price_label\": \"Cena\",\n  \"pdf_discount_label\": \"Sleva\",\n  \"pdf_amount_label\": \"Množství\",\n  \"pdf_subtotal\": \"Mezisoučet\",\n  \"pdf_total\": \"Celkem\",\n  \"pdf_payment_label\": \"Platba\",\n  \"pdf_payment_receipt_label\": \"DOKLAD O PLATBĚ\",\n  \"pdf_payment_date\": \"Datum platby\",\n  \"pdf_payment_number\": \"Číslo platby\",\n  \"pdf_payment_mode\": \"Platební metoda\",\n  \"pdf_payment_amount_received_label\": \"Obdržená částka\",\n  \"pdf_expense_report_label\": \"HLÁŠENÍ VÝDAJŮ\",\n  \"pdf_total_expenses_label\": \"VÝDAJE CELKEM\",\n  \"pdf_profit_loss_label\": \"HLÁŠENÍ ZISKU A ZTRÁT\",\n  \"pdf_sales_customers_label\": \"Hlášení o zákaznících prodeje\",\n  \"pdf_sales_items_label\": \"Hlášení o položkách prodeje\",\n  \"pdf_tax_summery_label\": \"Hlášení o daních\",\n  \"pdf_income_label\": \"PŘÍJEM\",\n  \"pdf_net_profit_label\": \"ČISTÝ ZISK\",\n  \"pdf_customer_sales_report\": \"Hlášení o prodeji: Podle zákazníka\",\n  \"pdf_total_sales_label\": \"PRODEJE CELKEM\",\n  \"pdf_item_sales_label\": \"Hlášení o prodeji: Podle položky\",\n  \"pdf_tax_report_label\": \"DAŇOVÉ HLÁŠENÍ\",\n  \"pdf_total_tax_label\": \"DANĚ CELKEM\",\n  \"pdf_tax_types_label\": \"Typy daní\",\n  \"pdf_expenses_label\": \"Výdaje\",\n  \"pdf_bill_to\": \"Odběratel\",\n  \"pdf_ship_to\": \"Příjemce\",\n  \"pdf_received_from\": \"Přijato od:\",\n  \"pdf_tax_label\": \"Daň\"\n}\n"
  },
  {
    "path": "resources/scripts/locales/de.json",
    "content": "{\n  \"navigation\": {\n    \"dashboard\": \"Übersicht\",\n    \"customers\": \"Kunden\",\n    \"items\": \"Artikel\",\n    \"invoices\": \"Rechnungen\",\n    \"recurring-invoices\": \"Serienrechnungen\",\n    \"expenses\": \"Ausgaben\",\n    \"estimates\": \"Angebote\",\n    \"payments\": \"Zahlungen\",\n    \"reports\": \"Berichte\",\n    \"settings\": \"Einstellungen\",\n    \"logout\": \"Abmelden\",\n    \"users\": \"Benutzer\",\n    \"modules\": \"Module\"\n  },\n  \"general\": {\n    \"add_company\": \"Unternehmen hinzufügen\",\n    \"view_pdf\": \"PDF anzeigen\",\n    \"copy_pdf_url\": \"PDF-Link kopieren\",\n    \"download_pdf\": \"PDF herunterladen\",\n    \"save\": \"Speichern\",\n    \"create\": \"Erstellen\",\n    \"cancel\": \"Abbrechen\",\n    \"update\": \"Aktualisieren\",\n    \"deselect\": \"Abwählen\",\n    \"download\": \"Herunterladen\",\n    \"from_date\": \"Von Datum\",\n    \"to_date\": \"bis Datum\",\n    \"from\": \"Von\",\n    \"to\": \"An\",\n    \"ok\": \"Okay\",\n    \"yes\": \"Ja\",\n    \"no\": \"Nein\",\n    \"sort_by\": \"Sortieren nach\",\n    \"ascending\": \"Aufsteigend\",\n    \"descending\": \"Absteigend\",\n    \"subject\": \"Betreff\",\n    \"body\": \"Inhalt\",\n    \"message\": \"Nachricht\",\n    \"send\": \"Absenden\",\n    \"preview\": \"Vorschau\",\n    \"go_back\": \"zurück\",\n    \"back_to_login\": \"Zurück zum Login?\",\n    \"home\": \"Startseite\",\n    \"filter\": \"Filter\",\n    \"delete\": \"Löschen\",\n    \"edit\": \"Bearbeiten\",\n    \"view\": \"Anzeigen\",\n    \"add_new_item\": \"Artikel hinzufügen\",\n    \"clear_all\": \"Alle entfernen\",\n    \"showing\": \"Anzeigen\",\n    \"of\": \"von\",\n    \"actions\": \"Aktionen\",\n    \"subtotal\": \"ZWISCHENSUMME\",\n    \"discount\": \"RABATT\",\n    \"fixed\": \"Festsatz\",\n    \"percentage\": \"Prozentsatz\",\n    \"tax\": \"Steuer\",\n    \"total_amount\": \"GESAMTSUMME\",\n    \"bill_to\": \"Rechnungsempfänger\",\n    \"ship_to\": \"Versand an\",\n    \"due\": \"Fällig\",\n    \"draft\": \"Entwurf\",\n    \"sent\": \"Gesendet\",\n    \"all\": \"Alle\",\n    \"select_all\": \"Alle auswählen\",\n    \"select_template\": \"Vorlage auswählen\",\n    \"choose_file\": \"Klicken Sie hier, um eine Datei auszuwählen\",\n    \"choose_template\": \"Wählen Sie eine Vorlage\",\n    \"choose\": \"Wählen\",\n    \"remove\": \"Entfernen\",\n    \"select_a_status\": \"Status wählen\",\n    \"select_a_tax\": \"Steuersatz wählen\",\n    \"search\": \"Suchen\",\n    \"are_you_sure\": \"Sind Sie sicher?\",\n    \"list_is_empty\": \"Liste ist leer.\",\n    \"no_tax_found\": \"Kein Steuersatz gefunden!\",\n    \"four_zero_four\": \"Vier hundert vier\",\n    \"you_got_lost\": \"Hoppla! Du hast dich verirrt!\",\n    \"go_home\": \"Geh zurück\",\n    \"test_mail_conf\": \"E-Mail Konfiguration testen\",\n    \"send_mail_successfully\": \"E-Mail erfolgreich versendet\",\n    \"setting_updated\": \"Einstellungen erfolgreich aktualisiert\",\n    \"select_state\": \"Bundesland wählen\",\n    \"select_country\": \"Land wählen\",\n    \"select_city\": \"Stadt wählen\",\n    \"street_1\": \"Straße und Hausnummer\",\n    \"street_2\": \"Adresszusatz\",\n    \"action_failed\": \"Aktion fehlgeschlagen\",\n    \"retry\": \"Wiederholen\",\n    \"choose_note\": \"Notiz auswählen\",\n    \"no_note_found\": \"Keine Notizen gefunden\",\n    \"insert_note\": \"Notiz einfügen\",\n    \"copied_pdf_url_clipboard\": \"PDF-URL in Zwischenablage kopiert!\",\n    \"copied_url_clipboard\": \"URL wurde in die Zwischenablage kopiert!\",\n    \"docs\": \"Dokumentation\",\n    \"do_you_wish_to_continue\": \"Möchten Sie fortfahren?\",\n    \"note\": \"Notiz\",\n    \"pay_invoice\": \"Rechnung bezahlen\",\n    \"login_successfully\": \"Erfolgreich angemeldet!\",\n    \"logged_out_successfully\": \"Erfolgreich abgemeldet\",\n    \"mark_as_default\": \"Als Standard festlegen\"\n  },\n  \"dashboard\": {\n    \"select_year\": \"Jahr wählen\",\n    \"cards\": {\n      \"due_amount\": \"Offene Beträge\",\n      \"customers\": \"Kunden\",\n      \"invoices\": \"Rechnungen\",\n      \"estimates\": \"Angebote\",\n      \"payments\": \"Zahlungen\"\n    },\n    \"chart_info\": {\n      \"total_sales\": \"Aufträge gesamt\",\n      \"total_receipts\": \"Zahlungen gesamt\",\n      \"total_expense\": \"Ausgaben\",\n      \"net_income\": \"Einnahmen Netto\",\n      \"year\": \"Jahr\"\n    },\n    \"monthly_chart\": {\n      \"title\": \"Umsatz & Ausgaben\"\n    },\n    \"recent_invoices_card\": {\n      \"title\": \"Fällige Rechnungen\",\n      \"due_on\": \"Fällig am\",\n      \"customer\": \"Kunde\",\n      \"amount_due\": \"Offener Betrag\",\n      \"actions\": \"Aktionen\",\n      \"view_all\": \"Alle Anzeigen\"\n    },\n    \"recent_estimate_card\": {\n      \"title\": \"Aktuelle Angebote\",\n      \"date\": \"Datum\",\n      \"customer\": \"Kunde\",\n      \"amount_due\": \"Betrag\",\n      \"actions\": \"Aktionen\",\n      \"view_all\": \"Alle Anzeigen\"\n    }\n  },\n  \"tax_types\": {\n    \"name\": \"Name\",\n    \"description\": \"Beschreibung\",\n    \"percent\": \"Prozent\",\n    \"compound_tax\": \"zusammengesetzte Steuer\"\n  },\n  \"global_search\": {\n    \"search\": \"Suchen...\",\n    \"customers\": \"Kunden\",\n    \"users\": \"Benutzer\",\n    \"no_results_found\": \"Keine Ergebnisse gefunden\"\n  },\n  \"company_switcher\": {\n    \"label\": \"UNTERNEHMEN WECHSELN\",\n    \"no_results_found\": \"Keine Ergebnisse gefunden\",\n    \"add_new_company\": \"Neues Unternehmen hinzufügen\",\n    \"new_company\": \"Neues Unternehmen\",\n    \"created_message\": \"Unternehmen erfolgreich angelegt\"\n  },\n  \"dateRange\": {\n    \"today\": \"Heute\",\n    \"this_week\": \"Diese Woche\",\n    \"this_month\": \"Dieser Monat\",\n    \"this_quarter\": \"Dieses Quartal\",\n    \"this_year\": \"Dieses Jahr\",\n    \"previous_week\": \"Vorherige Woche\",\n    \"previous_month\": \"Vorheriger Monat\",\n    \"previous_quarter\": \"Vorheriges Quartal\",\n    \"previous_year\": \"Vorheriges Jahr\",\n    \"custom\": \"Benutzerdefiniert\"\n  },\n  \"customers\": {\n    \"title\": \"Kunden\",\n    \"prefix\": \"Präfix\",\n    \"add_customer\": \"Kunde hinzufügen\",\n    \"contacts_list\": \"Kunden-Liste\",\n    \"name\": \"Name\",\n    \"mail\": \"E-Mail| E-Mails\",\n    \"statement\": \"Stellungnahme\",\n    \"display_name\": \"Anzeige Name\",\n    \"primary_contact_name\": \"Ansprechpartner\",\n    \"contact_name\": \"Kontakt Name\",\n    \"amount_due\": \"Offener Betrag\",\n    \"email\": \"E-Mail\",\n    \"address\": \"Adresse\",\n    \"phone\": \"Telefon\",\n    \"website\": \"Webseite\",\n    \"overview\": \"Übersicht\",\n    \"invoice_prefix\": \"Rechnungspräfix\",\n    \"estimate_prefix\": \"Angebotspräfix\",\n    \"payment_prefix\": \"Zahlungspräfix\",\n    \"enable_portal\": \"Kunden-Portal aktivieren\",\n    \"country\": \"Land\",\n    \"state\": \"Bundesland\",\n    \"city\": \"Stadt\",\n    \"zip_code\": \"PLZ\",\n    \"added_on\": \"Hinzugefügt am\",\n    \"action\": \"Aktion\",\n    \"password\": \"Passwort\",\n    \"confirm_password\": \"Passwort bestätigen\",\n    \"street_number\": \"Hausnummer\",\n    \"primary_currency\": \"Primäre Währung\",\n    \"description\": \"Beschreibung\",\n    \"add_new_customer\": \"Neuen Kunden hinzufügen\",\n    \"save_customer\": \"Kunde speichern\",\n    \"update_customer\": \"Kunden ändern\",\n    \"customer\": \"Kunde | Kunden\",\n    \"new_customer\": \"Neuer Kunde\",\n    \"edit_customer\": \"Kunde bearbeiten\",\n    \"basic_info\": \"Basisinformation\",\n    \"portal_access\": \"Portalzugang\",\n    \"portal_access_text\": \"Darf der Kunde sich im Kundenportal anmelden?\",\n    \"portal_access_url\": \"Login URL zum Kundenportal\",\n    \"portal_access_url_help\": \"Bitte kopieren und leiten Sie die oben angegebene URL an Ihren Kunden weiter, um Ihm Zugang zu gewähren.\",\n    \"billing_address\": \"Rechnungsadresse\",\n    \"shipping_address\": \"Versand-Adresse\",\n    \"copy_billing_address\": \"Rechnungsadresse kopieren\",\n    \"no_customers\": \"Noch keine Kunden!\",\n    \"no_customers_found\": \"Keine Kunden gefunden!\",\n    \"no_contact\": \"Kein Kontakt\",\n    \"no_contact_name\": \"Kein Kontaktname\",\n    \"list_of_customers\": \"Dieser Bereich zeigt alle Kunden.\",\n    \"primary_display_name\": \"Primärer Anzeige Name\",\n    \"select_currency\": \"Währung wählen\",\n    \"select_a_customer\": \"Wählen Sie einen Kunden\",\n    \"type_or_click\": \"Eingeben oder anklicken zum auswählen\",\n    \"new_transaction\": \"Neue Transaktion\",\n    \"no_matching_customers\": \"Es gibt keine passenden Kunden!\",\n    \"phone_number\": \"Telefonnummer\",\n    \"create_date\": \"Erstellungsdatum\",\n    \"confirm_delete\": \"Sie werden diesen Kunden und alle zugehörigen Rechnungen, Angebote und Zahlungen nicht wiederherstellen können. | Sie werden diese Kunden und alle zugehörigen Rechnungen, Angebote und Zahlungen nicht wiederherstellen können.\",\n    \"created_message\": \"Benutzer erfolgreich erstellt\",\n    \"updated_message\": \"Kunde erfolgreich aktualisiert\",\n    \"address_updated_message\": \"Adressinformationen erfolgreich aktualisiert\",\n    \"deleted_message\": \"Kunden erfolgreich gelöscht | Kunden erfolgreich gelöscht\",\n    \"edit_currency_not_allowed\": \"Währung kann nicht geändert werden, wenn Transaktionen erstellt wurden.\"\n  },\n  \"items\": {\n    \"title\": \"Artikel\",\n    \"items_list\": \"Artikel-Liste\",\n    \"name\": \"Name\",\n    \"unit\": \"Einheit\",\n    \"description\": \"Beschreibung\",\n    \"added_on\": \"Hinzugefügt am\",\n    \"price\": \"Preis\",\n    \"date_of_creation\": \"Erstellt am\",\n    \"not_selected\": \"Keine ausgewählt\",\n    \"action\": \"Aktion\",\n    \"add_item\": \"Artikel hinzufügen\",\n    \"save_item\": \"Artikel speichern\",\n    \"update_item\": \"Artikel ändern\",\n    \"item\": \"Artikel | Artikel\",\n    \"add_new_item\": \"Neuen Artikel hinzufügen\",\n    \"new_item\": \"Neuer Artikel\",\n    \"edit_item\": \"Artikel bearbeiten\",\n    \"no_items\": \"Keine Artikel vorhanden!\",\n    \"list_of_items\": \"Dieser Bereich zeigt alle Artikel.\",\n    \"select_a_unit\": \"Einheit auswählen\",\n    \"taxes\": \"Steuern\",\n    \"item_attached_message\": \"Ein Artikel der bereits verwendet wird kann nicht gelöscht werden\",\n    \"confirm_delete\": \"Sie können diesen Artikel nicht wiederherstellen | Sie können diese Artikel nicht wiederherstellen\",\n    \"created_message\": \"Artikel erfolgreich erstellt\",\n    \"updated_message\": \"Artikel erfolgreich aktualisiert\",\n    \"deleted_message\": \"Artikel erfolgreich gelöscht | Artikel erfolgreich gelöscht\"\n  },\n  \"estimates\": {\n    \"title\": \"Angebote\",\n    \"accept_estimate\": \"Angebot akzeptieren\",\n    \"reject_estimate\": \"Angebot ablehnen\",\n    \"estimate\": \"Angebot | Angebote\",\n    \"estimates_list\": \"Angebotsübersicht\",\n    \"days\": \"{days} Tage\",\n    \"months\": \"{months} Monat\",\n    \"years\": \"{years} Jahre\",\n    \"all\": \"Alle\",\n    \"paid\": \"Bezahlt\",\n    \"unpaid\": \"Unbezahlt\",\n    \"customer\": \"KUNDE\",\n    \"ref_no\": \"REF. - NR.\",\n    \"number\": \"NUMMER\",\n    \"amount_due\": \"OFFENER BETRAG\",\n    \"partially_paid\": \"Teilweise bezahlt\",\n    \"total\": \"Gesamt\",\n    \"discount\": \"Rabatt\",\n    \"sub_total\": \"Zwischensumme\",\n    \"estimate_number\": \"Angebotsnummer\",\n    \"ref_number\": \"Ref-Nummer\",\n    \"contact\": \"Kontakt\",\n    \"add_item\": \"Fügen Sie ein Artikel hinzu\",\n    \"date\": \"Datum\",\n    \"due_date\": \"Fälligkeit\",\n    \"expiry_date\": \"Zahlungsziel\",\n    \"status\": \"Status\",\n    \"add_tax\": \"Steuer hinzufügen\",\n    \"amount\": \"Summe\",\n    \"action\": \"Aktion\",\n    \"notes\": \"Notizen\",\n    \"tax\": \"Steuer\",\n    \"estimate_template\": \"Vorlage\",\n    \"convert_to_invoice\": \"Konvertieren in Rechnung\",\n    \"mark_as_sent\": \"Als gesendet markieren\",\n    \"send_estimate\": \"Angebot senden\",\n    \"resend_estimate\": \"Angebot erneut senden\",\n    \"record_payment\": \"Zahlung erfassen\",\n    \"add_estimate\": \"Angebote hinzufügen\",\n    \"save_estimate\": \"Angebot speichern\",\n    \"confirm_conversion\": \"Dieses Angebot wird verwendet, um eine neue Rechnung zu erstellen.\",\n    \"conversion_message\": \"Rechnung erfolgreich erstellt\",\n    \"confirm_send_estimate\": \"Das Angebot wird per E-Mail an den Kunden gesendet\",\n    \"confirm_mark_as_sent\": \"Dieses Angebot wird als gesendet markiert\",\n    \"confirm_mark_as_accepted\": \"Dieses Angebot wird als angenommen markiert\",\n    \"confirm_mark_as_rejected\": \"Dieses Angebot wird als abgelehnt markiert\",\n    \"no_matching_estimates\": \"Es gibt keine übereinstimmenden Angebote!\",\n    \"mark_as_sent_successfully\": \"Angebot als gesendet markiert\",\n    \"send_estimate_successfully\": \"Angebot erfolgreich gesendet\",\n    \"errors\": {\n      \"required\": \"Feld ist erforderlich\"\n    },\n    \"accepted\": \"Angenommen\",\n    \"rejected\": \"Abgelehnt\",\n    \"expired\": \"Abgelaufen\",\n    \"sent\": \"Gesendet\",\n    \"draft\": \"Entwurf\",\n    \"viewed\": \"Angesehen\",\n    \"declined\": \"Abgelehnt\",\n    \"new_estimate\": \"Neues Angebot\",\n    \"add_new_estimate\": \"Neues Angebot hinzufügen\",\n    \"update_Estimate\": \"Angebot aktualisieren\",\n    \"edit_estimate\": \"Angebot ändern\",\n    \"items\": \"Artikel\",\n    \"Estimate\": \"Angebot | Angebote\",\n    \"add_new_tax\": \"neuen Steuersatz hinzufügen\",\n    \"no_estimates\": \"Keine Angebote vorhanden!\",\n    \"list_of_estimates\": \"Dieser Bereich zeigt alle Angebote.\",\n    \"mark_as_rejected\": \"Markiert als abgelehnt\",\n    \"mark_as_accepted\": \"Markiert als angenommen\",\n    \"marked_as_accepted_message\": \"Angebot als angenommen markiert\",\n    \"marked_as_rejected_message\": \"Angebot als abgelehnt markiert\",\n    \"confirm_delete\": \"Das Angebot kann nicht wiederhergestellt werden | Die Angebote können nicht wiederhergestellt werden\",\n    \"created_message\": \"Angebot erfolgreich erstellt\",\n    \"updated_message\": \"Angebot erfolgreich aktualisiert\",\n    \"deleted_message\": \"Angebot erfolgreich gelöscht | Angebote erfolgreich gelöscht\",\n    \"something_went_wrong\": \"Da ging etwas schief\",\n    \"item\": {\n      \"title\": \"Titel des Artikels\",\n      \"description\": \"Beschreibung\",\n      \"quantity\": \"Menge\",\n      \"price\": \"Preis\",\n      \"discount\": \"Rabatt\",\n      \"total\": \"Gesamt\",\n      \"total_discount\": \"Rabatt Gesamt\",\n      \"sub_total\": \"Zwischensumme\",\n      \"tax\": \"Steuer\",\n      \"amount\": \"Summe\",\n      \"select_an_item\": \"Wählen Sie einen Artikel\",\n      \"type_item_description\": \"Artikel Beschreibung (optional)\"\n    },\n    \"mark_as_default_estimate_template_description\": \"Wenn aktiviert, wird die ausgewählte Vorlage automatisch für neue Angebote ausgewählt.\"\n  },\n  \"invoices\": {\n    \"title\": \"Rechnungen\",\n    \"download\": \"Herunterladen\",\n    \"pay_invoice\": \"Rechnung bezahlen\",\n    \"invoices_list\": \"Liste der Rechnungen\",\n    \"invoice_information\": \"Rechnungsdaten\",\n    \"days\": \"{days} Tage\",\n    \"months\": \"{months} Monat\",\n    \"years\": \"{years} Jahre\",\n    \"all\": \"Alle\",\n    \"paid\": \"Bezahlt\",\n    \"unpaid\": \"Unbezahlt\",\n    \"viewed\": \"Gesehen\",\n    \"overdue\": \"Überfällig\",\n    \"completed\": \"Abgeschlossen\",\n    \"customer\": \"KUNDE\",\n    \"paid_status\": \"ZAHLUNGSSTATUS\",\n    \"ref_no\": \"REF. - NR.\",\n    \"number\": \"NUMMER\",\n    \"amount_due\": \"OFFENER BETRAG\",\n    \"partially_paid\": \"Teilzahlung\",\n    \"total\": \"Gesamt\",\n    \"discount\": \"Rabatt\",\n    \"sub_total\": \"Zwischensumme\",\n    \"invoice\": \"Rechnung | Rechnungen\",\n    \"invoice_number\": \"Rechnungsnummer\",\n    \"ref_number\": \"Ref-Nummer\",\n    \"contact\": \"Kontakt\",\n    \"add_item\": \"Fügen Sie ein Artikel hinzu\",\n    \"date\": \"Datum\",\n    \"due_date\": \"Fälligkeit\",\n    \"status\": \"Status\",\n    \"add_tax\": \"Steuersatz hinzufügen\",\n    \"amount\": \"Summe\",\n    \"action\": \"Aktion\",\n    \"notes\": \"Notizen\",\n    \"view\": \"Anzeigen\",\n    \"send_invoice\": \"Rechnung senden\",\n    \"resend_invoice\": \"Rechnung erneut senden\",\n    \"invoice_template\": \"Rechnungsvorlage\",\n    \"conversion_message\": \"Rechnung erfolgreich kopiert\",\n    \"template\": \"Vorlage auswählen\",\n    \"mark_as_sent\": \"Als gesendet markieren\",\n    \"confirm_send_invoice\": \"Diese Rechnung wird per E-Mail an den Kunden gesendet\",\n    \"invoice_mark_as_sent\": \"Diese Rechnung wird als gesendet markiert\",\n    \"confirm_mark_as_accepted\": \"Diese Rechnung wird als akzeptiert markiert\",\n    \"confirm_mark_as_rejected\": \"Diese Rechnung wird als abgelehnt markiert\",\n    \"confirm_send\": \"Diese Rechnung wird per E-Mail an den Kunden gesendet\",\n    \"invoice_date\": \"Rechnungsdatum\",\n    \"record_payment\": \"Zahlung erfassen\",\n    \"add_new_invoice\": \"Neue Rechnung hinzufügen\",\n    \"update_expense\": \"Ausgabe aktualisieren\",\n    \"edit_invoice\": \"Rechnung bearbeiten\",\n    \"new_invoice\": \"Neue Rechnung\",\n    \"save_invoice\": \"Rechnung speichern\",\n    \"update_invoice\": \"Rechnung ändern\",\n    \"add_new_tax\": \"Neuen Steuersatz hinzufügen\",\n    \"no_invoices\": \"Keine Rechnungen vorhanden!\",\n    \"mark_as_rejected\": \"Als abgelehnt markieren\",\n    \"mark_as_accepted\": \"Als akzeptiert markieren\",\n    \"list_of_invoices\": \"Dieser Bereich zeigt alle Rechnungen.\",\n    \"select_invoice\": \"Wählen Sie eine Rechnung\",\n    \"no_matching_invoices\": \"Es gibt keine entsprechenden Rechnungen!\",\n    \"mark_as_sent_successfully\": \"Rechnung gekennzeichnet als erfolgreich gesendet\",\n    \"invoice_sent_successfully\": \"Rechnung erfolgreich versendet\",\n    \"cloned_successfully\": \"Rechnung erfolgreich kopiert\",\n    \"clone_invoice\": \"Rechnung kopieren\",\n    \"confirm_clone\": \"Diese Rechnung wird kopiert\",\n    \"item\": {\n      \"title\": \"Titel des Artikels\",\n      \"description\": \"Beschreibung\",\n      \"quantity\": \"Menge\",\n      \"price\": \"Preis\",\n      \"discount\": \"Rabatt\",\n      \"total\": \"Gesamt\",\n      \"total_discount\": \"Rabatt Gesamt\",\n      \"sub_total\": \"Zwischensumme\",\n      \"tax\": \"Steuer\",\n      \"amount\": \"Summe\",\n      \"select_an_item\": \"Geben Sie oder wählen Sie ein Artikel\",\n      \"type_item_description\": \"Artikel Beschreibung (optional)\"\n    },\n    \"payment_attached_message\": \"Einer der ausgewählten Rechnungen ist bereits eine Zahlung zugeordnet. Stellen Sie sicher, dass Sie zuerst die angehängten Zahlungen löschen, um mit dem Entfernen fortzufahren\",\n    \"confirm_delete\": \"Sie können diese Rechnung nicht wiederherstellen. | Sie können diese Rechnungen nicht wiederherstellen.\",\n    \"created_message\": \"Rechnung erfolgreich erstellt\",\n    \"updated_message\": \"Rechnung erfolgreich aktualisiert\",\n    \"deleted_message\": \"Rechnung erfolgreich gelöscht | Rechnungen erfolgreich gelöscht\",\n    \"marked_as_sent_message\": \"Rechnung als erfolgreich gesendet markiert\",\n    \"something_went_wrong\": \"Da ist etwas schief gelaufen\",\n    \"invalid_due_amount_message\": \"Der Gesamtrechnungsbetrag darf nicht kleiner sein als der für diese Rechnung bezahlte Gesamtbetrag. Bitte aktualisieren Sie die Rechnung oder löschen Sie die zugehörigen Zahlungen um fortzufahren.\",\n    \"mark_as_default_invoice_template_description\": \"Wenn aktiviert, wird die ausgewählte Vorlage automatisch für neue Rechnungen ausgewählt.\"\n  },\n  \"recurring_invoices\": {\n    \"title\": \"Serienrechnungen\",\n    \"invoices_list\": \"Liste aller Serienrechnungen\",\n    \"days\": \"{days} Tage\",\n    \"months\": \"{months} Monat\",\n    \"years\": \"{years} Jahr\",\n    \"all\": \"Alle\",\n    \"paid\": \"Bezahlt\",\n    \"unpaid\": \"Unbezahlt\",\n    \"viewed\": \"Gesehen\",\n    \"overdue\": \"Überfällig\",\n    \"active\": \"Aktiv\",\n    \"completed\": \"Abgeschlossen\",\n    \"customer\": \"KUNDE\",\n    \"paid_status\": \"ZAHLUNGSSTATUS\",\n    \"ref_no\": \"REF. - NR.\",\n    \"number\": \"NUMMER\",\n    \"amount_due\": \"OFFENER BETRAG\",\n    \"partially_paid\": \"Teilweise bezahlt\",\n    \"total\": \"Gesamt\",\n    \"discount\": \"Rabatt\",\n    \"sub_total\": \"Zwischensumme\",\n    \"invoice\": \"Wiederkehrende Rechnung | Wiederkehrende Rechnungen\",\n    \"invoice_number\": \"Serienrechnungsnummer\",\n    \"next_invoice_date\": \"Nächstes Rechnungsdatum\",\n    \"ref_number\": \"Ref. Nummer\",\n    \"contact\": \"Kontakt\",\n    \"add_item\": \"Artikel hinzufügen\",\n    \"date\": \"Datum\",\n    \"limit_by\": \"Eingrenzen nach\",\n    \"limit_date\": \"Datum eingrenzen\",\n    \"limit_count\": \"Anzahl eingrenzen\",\n    \"count\": \"Anzahl\",\n    \"status\": \"Status\",\n    \"select_a_status\": \"Status auswählen\",\n    \"working\": \"Verarbeitung läuft\",\n    \"on_hold\": \"Pausiert\",\n    \"complete\": \"Abgeschlossen\",\n    \"add_tax\": \"Steuer hinzufügen\",\n    \"amount\": \"Summe\",\n    \"action\": \"Aktion\",\n    \"notes\": \"Notizen\",\n    \"view\": \"Anzeigen\",\n    \"basic_info\": \"Allgemeine Daten\",\n    \"send_invoice\": \"Serienrechnung senden\",\n    \"auto_send\": \"Automatisch senden\",\n    \"resend_invoice\": \"Serienrechnung erneut senden\",\n    \"invoice_template\": \"Serienrechnungsvorlage\",\n    \"conversion_message\": \"Serienrechnung erfolgreich kopiert\",\n    \"template\": \"Vorlage\",\n    \"mark_as_sent\": \"Als gesendet markieren\",\n    \"confirm_send_invoice\": \"Diese Serienrechnung wird per E-Mail an den Kunden gesendet\",\n    \"invoice_mark_as_sent\": \"Diese Serienrechnung wird als gesendet markiert\",\n    \"confirm_send\": \"Diese Serienrechnung wird per E-Mail an den Kunden gesendet\",\n    \"starts_at\": \"Anfangsdatum\",\n    \"due_date\": \"Fälligkeitsdatum der Rechnung\",\n    \"record_payment\": \"Zahlung aufzeichnen\",\n    \"add_new_invoice\": \"Neue Serienrechnung hinzufügen\",\n    \"update_expense\": \"Ausgabe aktualisieren\",\n    \"edit_invoice\": \"Serienrechnung bearbeiten\",\n    \"new_invoice\": \"Neue Serienrechnung\",\n    \"send_automatically\": \"Automatisch senden\",\n    \"send_automatically_desc\": \"Aktivieren Sie dies, wenn Sie die Rechnung bei der Erstellung automatisch an den Kunden senden möchten.\",\n    \"save_invoice\": \"Serienrechnung speichern\",\n    \"update_invoice\": \"Serienrechnung aktualisieren\",\n    \"add_new_tax\": \"Neuen Steuersatz hinzufügen\",\n    \"no_invoices\": \"Noch keine Serienrechnungen!\",\n    \"mark_as_rejected\": \"Als abgelehnt markieren\",\n    \"mark_as_accepted\": \"Als akzeptiert markieren\",\n    \"list_of_invoices\": \"Dieser Abschnitt wird die Liste aller Serienrechnungen enthalten.\",\n    \"select_invoice\": \"Rechnung auswählen\",\n    \"no_matching_invoices\": \"Es gibt keine passenden Serienrechnungen!\",\n    \"mark_as_sent_successfully\": \"Serienrechnung als erfolgreich gesendet markiert\",\n    \"invoice_sent_successfully\": \"Serienrechnung erfolgreich gesendet\",\n    \"cloned_successfully\": \"Serienrechnung erfolgreich kopiert\",\n    \"clone_invoice\": \"Serienrechnung kopieren\",\n    \"confirm_clone\": \"Diese Serienrechnung wird in eine neue Serienrechnung kopiert\",\n    \"add_customer_email\": \"Bitte fügen Sie eine E-Mail-Adresse für diesen Kunden hinzu, um Rechnungen automatisch zu senden.\",\n    \"item\": {\n      \"title\": \"Titel des Artikels\",\n      \"description\": \"Beschreibung\",\n      \"quantity\": \"Menge\",\n      \"price\": \"Preis\",\n      \"discount\": \"Rabatt\",\n      \"total\": \"Gesamt\",\n      \"total_discount\": \"Gesamtrabatt\",\n      \"sub_total\": \"Zwischensumme\",\n      \"tax\": \"Steuer\",\n      \"amount\": \"Menge\",\n      \"select_an_item\": \"Geben Sie den Artikel ein, oder wählen Sie ihn aus\",\n      \"type_item_description\": \"Artikel-Beschreibung (optional)\"\n    },\n    \"frequency\": {\n      \"title\": \"Intervall\",\n      \"select_frequency\": \"Intervall auswählen\",\n      \"minute\": \"Minute\",\n      \"hour\": \"Stunde\",\n      \"day_month\": \"Tag des Monats\",\n      \"month\": \"Monat\",\n      \"day_week\": \"Tag der Woche\"\n    },\n    \"confirm_delete\": \"Sie werden diese Rechnung nicht wiederherstellen können | Sie werden nicht in der Lage sein, diese Rechnungen wiederherzustellen\",\n    \"created_message\": \"Serienrechnung erfolgreich erstellt\",\n    \"updated_message\": \"Serienrechnung erfolgreich aktualisiert\",\n    \"deleted_message\": \"Serienrechnung erfolgreich gelöscht | Serienrechnungen erfolgreich gelöscht\",\n    \"marked_as_sent_message\": \"Serienrechnung als erfolgreich gesendet markiert\",\n    \"user_email_does_not_exist\": \"E-Mail des Benutzers existiert nicht\",\n    \"something_went_wrong\": \"etwas ist schief gelaufen\",\n    \"invalid_due_amount_message\": \"Der Gesamtbetrag der Serienrechnung darf nicht kleiner als der bezahlte Gesamtbetrag für diese Serienrechnung sein. Bitte aktualisieren Sie die Rechnung oder löschen Sie die zugehörigen Zahlungen, um fortzufahren.\"\n  },\n  \"payments\": {\n    \"title\": \"Zahlungen\",\n    \"payments_list\": \"Liste der Zahlungen\",\n    \"record_payment\": \"Zahlung eintragen\",\n    \"customer\": \"Kunde\",\n    \"date\": \"Datum\",\n    \"amount\": \"Summe\",\n    \"action\": \"Aktion\",\n    \"payment_number\": \"Zahlungsnummer\",\n    \"payment_mode\": \"Zahlungsart\",\n    \"invoice\": \"Rechnung\",\n    \"note\": \"Hinweis\",\n    \"add_payment\": \"Zahlung hinzufügen\",\n    \"new_payment\": \"Neue Zahlung\",\n    \"edit_payment\": \"Zahlung bearbeiten\",\n    \"view_payment\": \"Zahlung anzeigen\",\n    \"add_new_payment\": \"Neue Zahlung hinzufügen\",\n    \"send_payment_receipt\": \"Zahlungsbeleg senden\",\n    \"send_payment\": \"Senden Sie die Zahlung\",\n    \"save_payment\": \"Zahlung speichern\",\n    \"update_payment\": \"Zahlung ändern\",\n    \"payment\": \"Zahlung | Zahlungen\",\n    \"no_payments\": \"Keine Zahlungen vorhanden!\",\n    \"not_selected\": \"Nicht ausgewählt\",\n    \"no_invoice\": \"Keine Rechnung\",\n    \"no_matching_payments\": \"Es gibt keine passenden Zahlungen!\",\n    \"list_of_payments\": \"Dieser Bereich zeigt alle Zahlungen.\",\n    \"select_payment_mode\": \"Wählen Sie den Zahlungsmodus\",\n    \"confirm_mark_as_sent\": \"Dieses Angebot wird als gesendet markiert\",\n    \"confirm_send_payment\": \"Diese Zahlung wird per E-Mail an den Kunden gesendet\",\n    \"send_payment_successfully\": \"Zahlung erfolgreich gesendet\",\n    \"something_went_wrong\": \"Da ist etwas schief gelaufen\",\n    \"confirm_delete\": \"Sie können diese Zahlung nicht wiederherstellen. | Sie können diese Zahlungen nicht wiederherstellen.\",\n    \"created_message\": \"Zahlung erfolgreich erstellt\",\n    \"updated_message\": \"Zahlung erfolgreich aktualisiert\",\n    \"deleted_message\": \"Zahlung erfolgreich gelöscht | Zahlungen erfolgreich gelöscht\",\n    \"invalid_amount_message\": \"Zahlungsbetrag ist ungültig\"\n  },\n  \"expenses\": {\n    \"title\": \"Ausgaben\",\n    \"expenses_list\": \"Ausgabenübersicht\",\n    \"select_a_customer\": \"Wählen Sie einen Kunden\",\n    \"expense_title\": \"Titel\",\n    \"customer\": \"Kunde\",\n    \"currency\": \"Währung\",\n    \"contact\": \"Kontakt\",\n    \"category\": \"Kategorie\",\n    \"from_date\": \"Von Datum\",\n    \"to_date\": \"bis Datum\",\n    \"expense_date\": \"Datum\",\n    \"description\": \"Beschreibung\",\n    \"receipt\": \"Rechnung\",\n    \"amount\": \"Summe\",\n    \"action\": \"Aktion\",\n    \"not_selected\": \"Nicht ausgewählt\",\n    \"note\": \"Hinweis\",\n    \"category_id\": \"Kategorie-Id\",\n    \"date\": \"Ausgabedatum\",\n    \"add_expense\": \"Ausgabe hinzufügen\",\n    \"add_new_expense\": \"Neue Ausgabe hinzufügen\",\n    \"save_expense\": \"Ausgabe speichern\",\n    \"update_expense\": \"Ausgabe aktualisieren\",\n    \"download_receipt\": \"Quittung herunterladen\",\n    \"edit_expense\": \"Ausgabe bearbeiten\",\n    \"new_expense\": \"Neue Ausgabe\",\n    \"expense\": \"Ausgabe | Ausgaben\",\n    \"no_expenses\": \"Noch keine Ausgaben!\",\n    \"list_of_expenses\": \"Dieser Bereich enthält alle Ausgaben.\",\n    \"confirm_delete\": \"Sie können diese Ausgabe nicht wiederherstellen. | Sie können diese Ausgaben nicht wiederherstellen.\",\n    \"created_message\": \"Ausgabe erfolgreich erstellt\",\n    \"updated_message\": \"Ausgabe erfolgreich aktualisiert\",\n    \"deleted_message\": \"Ausgabe erfolgreich gelöscht | Ausgaben erfolgreich gelöscht\",\n    \"categories\": {\n      \"categories_list\": \"Liste der Kategorien\",\n      \"title\": \"Titel\",\n      \"name\": \"Name\",\n      \"description\": \"Beschreibung\",\n      \"amount\": \"Summe\",\n      \"actions\": \"Aktionen\",\n      \"add_category\": \"Kategorie hinzufügen\",\n      \"new_category\": \"Neue Kategorie\",\n      \"category\": \"Kategorie | Kategorien\",\n      \"select_a_category\": \"Wählen Sie eine Kategorie\"\n    }\n  },\n  \"login\": {\n    \"email\": \"E-Mail\",\n    \"password\": \"Passwort\",\n    \"forgot_password\": \"Passwort vergessen?\",\n    \"or_signIn_with\": \"oder Anmelden mit\",\n    \"login\": \"Anmelden\",\n    \"register\": \"Registrieren\",\n    \"reset_password\": \"Passwort zurücksetzen\",\n    \"password_reset_successfully\": \"Passwort erfolgreich zurückgesetzt\",\n    \"enter_email\": \"Geben Sie Ihre E-Mail ein\",\n    \"enter_password\": \"Geben Sie das Passwort ein\",\n    \"retype_password\": \"Passwort bestätigen\"\n  },\n  \"modules\": {\n    \"buy_now\": \"Kaufen\",\n    \"install\": \"Installieren\",\n    \"price\": \"Preis\",\n    \"download_zip_file\": \"ZIP Datei herunterladen\",\n    \"unzipping_package\": \"Entpacke Paket\",\n    \"copying_files\": \"Kopiere Dateien\",\n    \"deleting_files\": \"Unbenutzte Dateien werden gelöscht\",\n    \"completing_installation\": \"Installation wird abgeschlossen\",\n    \"update_failed\": \"Update fehlgeschlagen\",\n    \"install_success\": \"Modul erfolgreich installiert!\",\n    \"customer_reviews\": \"Bewertungen\",\n    \"license\": \"Lizenz\",\n    \"faq\": \"FAQ\",\n    \"monthly\": \"Monatlich\",\n    \"yearly\": \"Jährlich\",\n    \"updated\": \"Aktualisiert\",\n    \"version\": \"Version\",\n    \"disable\": \"Deaktivieren\",\n    \"module_disabled\": \"Modul deaktiviert\",\n    \"enable\": \"Aktivieren\",\n    \"module_enabled\": \"Modul aktiviert\",\n    \"update_to\": \"Update auf\",\n    \"module_updated\": \"Modul erfolgreich aktualisiert!\",\n    \"title\": \"Module\",\n    \"module\": \"Modul | Module\",\n    \"api_token\": \"API Schlüssel\",\n    \"invalid_api_token\": \"Ungültiger API-Schlüssel.\",\n    \"other_modules\": \"Weitere Module\",\n    \"view_all\": \"Alle Anzeigen\",\n    \"no_reviews_found\": \"Für dieses Modul gibt es noch keine Bewertungen!\",\n    \"module_not_purchased\": \"Module Not Purchased\",\n    \"module_not_found\": \"Modul nicht gefunden\",\n    \"version_not_supported\": \"This module version doesn't support the current version of Crater\",\n    \"last_updated\": \"Zuletzt aktualisiert am\",\n    \"connect_installation\": \"Installation verbinden\",\n    \"api_token_description\": \"Melden Sie sich bei {url} an und verbinden Sie diese Installation durch Eingabe des API-Token. Ihre gekauften Module werden hier angezeigt, nachdem die Verbindung hergestellt wurde.\",\n    \"view_module\": \"Modul anzeigen\",\n    \"update_available\": \"Aktualisierung verfügbar\",\n    \"purchased\": \"Gekauft\",\n    \"installed\": \"Installiert\",\n    \"no_modules_installed\": \"Noch keine Module installiert!\",\n    \"disable_warning\": \"Alle Einstellungen für diesen speziellen Wert werden zurückgesetzt.\",\n    \"what_you_get\": \"Was Sie erhalten\"\n  },\n  \"users\": {\n    \"title\": \"Benutzer\",\n    \"users_list\": \"Benutzerliste\",\n    \"name\": \"Name\",\n    \"description\": \"Beschreibung\",\n    \"added_on\": \"Hinzugefügt am\",\n    \"date_of_creation\": \"Erstellt am\",\n    \"action\": \"Aktion\",\n    \"add_user\": \"Benutzer hinzufügen\",\n    \"save_user\": \"Benutzer speichern\",\n    \"update_user\": \"Benutzer aktualisieren\",\n    \"user\": \"Benutzer\",\n    \"add_new_user\": \"Neuen Benutzer hinzufügen\",\n    \"new_user\": \"Neuer Benutzer\",\n    \"edit_user\": \"Benutzer bearbeiten\",\n    \"no_users\": \"Noch keine Benutzer!\",\n    \"list_of_users\": \"Dieser Bereich zeigt alle Benutzer.\",\n    \"email\": \"E-Mail\",\n    \"phone\": \"Telefon\",\n    \"password\": \"Passwort\",\n    \"user_attached_message\": \"Ein Artikel der bereits verwendet wird kann nicht gelöscht werden\",\n    \"confirm_delete\": \"Sie werden diesen Benutzer nicht wiederherstellen können | Sie werden nicht in der Lage sein, diese Benutzer wiederherzustellen\",\n    \"created_message\": \"Benutzer erfolgreich erstellt\",\n    \"updated_message\": \"Benutzer wurde erfolgreich aktualisiert\",\n    \"deleted_message\": \"Benutzer erfolgreich gelöscht | Benutzer erfolgreich gelöscht\",\n    \"select_company_role\": \"Wähle Rolle für {company}\",\n    \"companies\": \"Unternehmen\"\n  },\n  \"reports\": {\n    \"title\": \"Bericht\",\n    \"from_date\": \"Ab Datum\",\n    \"to_date\": \"bis Datum\",\n    \"status\": \"Status\",\n    \"paid\": \"Bezahlt\",\n    \"unpaid\": \"Unbezahlt\",\n    \"download_pdf\": \"PDF herunterladen\",\n    \"view_pdf\": \"PDF anzeigen\",\n    \"update_report\": \"Bericht aktualisieren\",\n    \"report\": \"Bericht | Berichte\",\n    \"profit_loss\": {\n      \"profit_loss\": \"Gewinn & Verlust\",\n      \"to_date\": \"bis Datum\",\n      \"from_date\": \"Ab Datum\",\n      \"date_range\": \"Datumsbereich auswählen\"\n    },\n    \"sales\": {\n      \"sales\": \"Umsatz\",\n      \"date_range\": \"Datumsbereich auswählen\",\n      \"to_date\": \"bis Datum\",\n      \"from_date\": \"Ab Datum\",\n      \"report_type\": \"Berichtstyp\"\n    },\n    \"taxes\": {\n      \"taxes\": \"Steuern\",\n      \"to_date\": \"bis Datum\",\n      \"from_date\": \"Ab Datum\",\n      \"date_range\": \"Datumsbereich auswählen\"\n    },\n    \"errors\": {\n      \"required\": \"Feld ist erforderlich\"\n    },\n    \"invoices\": {\n      \"invoice\": \"Rechnung\",\n      \"invoice_date\": \"Rechnungsdatum\",\n      \"due_date\": \"Fälligkeit\",\n      \"amount\": \"Summe\",\n      \"contact_name\": \"Ansprechpartner\",\n      \"status\": \"Status\"\n    },\n    \"estimates\": {\n      \"estimate\": \"Angebot\",\n      \"estimate_date\": \"Angebotsdatum\",\n      \"due_date\": \"Fälligkeit\",\n      \"estimate_number\": \"Angebotsnummer\",\n      \"ref_number\": \"Ref-Nummer\",\n      \"amount\": \"Summe\",\n      \"contact_name\": \"Ansprechpartner\",\n      \"status\": \"Status\"\n    },\n    \"expenses\": {\n      \"expenses\": \"Ausgaben\",\n      \"category\": \"Kategorie\",\n      \"date\": \"Datum\",\n      \"amount\": \"Summe\",\n      \"to_date\": \"bis Datum\",\n      \"from_date\": \"Ab Datum\",\n      \"date_range\": \"Datumsbereich auswählen\"\n    }\n  },\n  \"settings\": {\n    \"menu_title\": {\n      \"account_settings\": \"Konto-Einstellungen\",\n      \"company_information\": \"Informationen zum Unternehmen\",\n      \"customization\": \"Personalisierung\",\n      \"preferences\": \"Einstellungen\",\n      \"notifications\": \"Benachrichtigungen\",\n      \"tax_types\": \"Steuersätze\",\n      \"expense_category\": \"Ausgabenkategorien\",\n      \"update_app\": \"Applikation aktualisieren\",\n      \"backup\": \"Sicherung\",\n      \"file_disk\": \"Dateispeicher\",\n      \"custom_fields\": \"Benutzerdefinierte Felder\",\n      \"payment_modes\": \"Zahlungsarten\",\n      \"notes\": \"Notizen\",\n      \"exchange_rate\": \"Wechselkurs\",\n      \"address_information\": \"Adressinformationen\"\n    },\n    \"address_information\": {\n      \"section_description\": \"  Sie können Ihre Adressinformationen über das untenstehende Formular aktualisieren.\"\n    },\n    \"title\": \"Einstellungen\",\n    \"setting\": \"Einstellung | Einstellungen\",\n    \"general\": \"Allgemeine\",\n    \"language\": \"Sprache\",\n    \"primary_currency\": \"Primäre Währung\",\n    \"timezone\": \"Zeitzone\",\n    \"date_format\": \"Datum-Format\",\n    \"currencies\": {\n      \"title\": \"Währungen\",\n      \"currency\": \"Währung | Währungen\",\n      \"currencies_list\": \"Währungen Liste\",\n      \"select_currency\": \"Währung wählen\",\n      \"name\": \"Name\",\n      \"code\": \"Abkürzung\",\n      \"symbol\": \"Symbol\",\n      \"precision\": \"Präzision\",\n      \"thousand_separator\": \"Tausendertrennzeichen\",\n      \"decimal_separator\": \"Dezimal-Trennzeichen\",\n      \"position\": \"Position\",\n      \"position_of_symbol\": \"Position des Währungssymbol\",\n      \"right\": \"Rechts\",\n      \"left\": \"Links\",\n      \"action\": \"Aktion\",\n      \"add_currency\": \"Währung einfügen\"\n    },\n    \"mail\": {\n      \"host\": \"E-Mail Mailserver\",\n      \"port\": \"E-Mail Port\",\n      \"driver\": \"E-Mail Treiber\",\n      \"secret\": \"Verschlüsselung\",\n      \"mailgun_secret\": \"Mailgun Verschlüsselung\",\n      \"mailgun_domain\": \"Mailgun Adresse\",\n      \"mailgun_endpoint\": \"Mailgun-Endpunkt\",\n      \"ses_secret\": \"SES Verschlüsselung\",\n      \"ses_key\": \"SES-Taste\",\n      \"password\": \"E-Mail-Kennwort\",\n      \"username\": \"E-Mail-Benutzername\",\n      \"mail_config\": \"E-Mail-Konfiguration\",\n      \"from_name\": \"Von E-Mail-Namen\",\n      \"from_mail\": \"Von E-Mail-Adresse\",\n      \"encryption\": \"E-Mail-Verschlüsselung\",\n      \"mail_config_desc\": \"Unten finden Sie das Formular zum Konfigurieren des E-Mail-Treibers zum Senden von E-Mails über die App. Sie können auch Drittanbieter wie Sendgrid, SES usw. konfigurieren.\"\n    },\n    \"pdf\": {\n      \"title\": \"PDF-Einstellung\",\n      \"footer_text\": \"Fußzeile Text\",\n      \"pdf_layout\": \"PDF-Layout\"\n    },\n    \"company_info\": {\n      \"company_info\": \"Firmeninfo\",\n      \"company_name\": \"Name des Unternehmens\",\n      \"company_logo\": \"Firmenlogo\",\n      \"section_description\": \"Informationen zu Ihrem Unternehmen, die auf Rechnungen, Angeboten und anderen von Crater erstellten Dokumenten angezeigt werden.\",\n      \"phone\": \"Telefon\",\n      \"country\": \"Land\",\n      \"state\": \"Bundesland\",\n      \"city\": \"Stadt\",\n      \"address\": \"Adresse\",\n      \"zip\": \"PLZ\",\n      \"save\": \"Speichern\",\n      \"delete\": \"Löschen\",\n      \"updated_message\": \"Unternehmensinformationen wurden erfolgreich aktualisiert\",\n      \"delete_company\": \"Unternehmen löschen\",\n      \"delete_company_description\": \"Sobald Sie Ihr Unternehmen löschen, verlieren Sie alle damit verbundenen Daten und Dateien.\",\n      \"are_you_absolutely_sure\": \"Sind Sie wirklich sicher?\",\n      \"delete_company_modal_desc\": \"Diese Aktion kann nicht rückgängig gemacht werden. Dies wird {company} und alle damit verbundenen Daten dauerhaft löschen.\",\n      \"delete_company_modal_label\": \"Bitte geben Sie {company} zur Bestätigung ein\"\n    },\n    \"custom_fields\": {\n      \"title\": \"Benutzerdefinierte Felder\",\n      \"section_description\": \"Passen Sie Ihre Rechnungen, Angebote und Zahlungsbelege mit Ihren eigenen Feldern an. Stellen Sie sicher, dass Sie die unten hinzugefügten Felder in den Adressformaten auf der Seite mit den Anpassungseinstellungen verwenden.\",\n      \"add_custom_field\": \"Benutzerdefiniertes Feld hinzufügen\",\n      \"edit_custom_field\": \"Benutzerdefiniertes Feld bearbeiten\",\n      \"field_name\": \"Feldname\",\n      \"label\": \"Bezeichnung\",\n      \"type\": \"Art\",\n      \"name\": \"Name\",\n      \"slug\": \"Kürzel\",\n      \"required\": \"Erforderlich\",\n      \"placeholder\": \"Platzhalter\",\n      \"help_text\": \"Hilfstext\",\n      \"default_value\": \"Standardwert\",\n      \"prefix\": \"Präfix\",\n      \"starting_number\": \"Startnummer\",\n      \"model\": \"Modell\",\n      \"help_text_description\": \"Geben Sie einen Text ein, damit Benutzer den Zweck dieses benutzerdefinierten Felds verstehen.\",\n      \"suffix\": \"Vorzeichen\",\n      \"yes\": \"Ja\",\n      \"no\": \"Nein\",\n      \"order\": \"Reihenfolge\",\n      \"custom_field_confirm_delete\": \"Sie können dieses benutzerdefinierte Feld nicht wiederherstellen\",\n      \"already_in_use\": \"Benutzerdefiniertes Feld wird bereits verwendet\",\n      \"deleted_message\": \"Benutzerdefiniertes Feld erfolgreich gelöscht\",\n      \"options\": \"Optionen\",\n      \"add_option\": \"Optionen hinzufügen\",\n      \"add_another_option\": \"Fügen Sie eine weitere Option hinzu\",\n      \"sort_in_alphabetical_order\": \"In alphabetischer Reihenfolge sortieren\",\n      \"add_options_in_bulk\": \"Fügen Sie Optionen in großen Mengen hinzu\",\n      \"use_predefined_options\": \"Verwenden Sie vordefinierte Optionen\",\n      \"select_custom_date\": \"Wählen Sie Benutzerdefiniertes Datum\",\n      \"select_relative_date\": \"Wählen Sie Relatives Datum\",\n      \"ticked_by_default\": \"Standardmäßig aktiviert\",\n      \"updated_message\": \"Benutzerdefiniertes Feld erfolgreich aktualisiert\",\n      \"added_message\": \"Benutzerdefiniertes Feld erfolgreich hinzugefügt\",\n      \"press_enter_to_add\": \"Eingabetaste drücken, um neue Option hinzuzufügen\",\n      \"model_in_use\": \"Das Modell kann für bereits verwendete Felder nicht aktualisiert werden.\",\n      \"type_in_use\": \"Der Typ von bereits verwendeten Feldern kann nicht aktualisiert werden.\"\n    },\n    \"customization\": {\n      \"customization\": \"Personalisierung\",\n      \"updated_message\": \"Unternehmensinformationen wurden erfolgreich aktualisiert\",\n      \"save\": \"Speichern\",\n      \"insert_fields\": \"Felder einfügen\",\n      \"learn_custom_format\": \"Erfahren Sie, wie Sie benutzerdefiniertes Format verwenden\",\n      \"add_new_component\": \"Neue Komponente hinzufügen\",\n      \"component\": \"Komponente\",\n      \"Parameter\": \"Parameter\",\n      \"series\": \"Nummernfolge\",\n      \"series_description\": \"Um ein statisches Präfix/Postfix wie 'INV' in Ihrem Unternehmen zu setzen. Es unterstützt eine Zeichenlänge von bis zu 4 Zeichen.\",\n      \"series_param_label\": \"Nummernfolge\",\n      \"delimiter\": \"Trennzeichen\",\n      \"delimiter_description\": \"Einzelnes Zeichen für die Verwendung zwischen zwei separaten Komponenten. Standardmäßig ist dies -\",\n      \"delimiter_param_label\": \"Trennzeichen\",\n      \"date_format\": \"Datumsformat\",\n      \"date_format_description\": \"Ein lokales Datums- und Zeitfeld, das einen Format-Parameter akzeptiert. Das Standardformat: 'Y' stellt das aktuelle Jahr dar.\",\n      \"date_format_param_label\": \"Format\",\n      \"sequence\": \"Fortlaufende Nummer\",\n      \"sequence_description\": \"Fortlaufende Nummernabfolge in Ihrem Unternehmen. Sie können die Länge des angegebenen Parameters angeben.\",\n      \"sequence_param_label\": \"Länge der fortlaufenden Nummer\",\n      \"customer_series\": \"Kundenspez. Nummernfolge\",\n      \"customer_series_description\": \"Ein anderes Präfix/Postfix für jeden Kunden festlegen.\",\n      \"customer_sequence\": \"Fortlaufende Kundennummer\",\n      \"customer_sequence_description\": \"Fortlaufende Nummernabfolge für jeden ihrer Kunden.\",\n      \"customer_sequence_param_label\": \"Länge der laufenden Nummer\",\n      \"random_sequence\": \"Zufällige Zeichenkette\",\n      \"random_sequence_description\": \"Zufällige alphanumerische Zeichenkette. Sie können die Länge als Parameter angeben.\",\n      \"random_sequence_param_label\": \"Länge der Zeichenkette\",\n      \"invoices\": {\n        \"title\": \"Rechnungen\",\n        \"invoice_number_format\": \"Rechnungsnummernformat\",\n        \"invoice_number_format_description\": \"Passen Sie an, wie Ihre Rechnungsnummer automatisch generiert wird, wenn Sie eine neue Rechnung erstellen.\",\n        \"preview_invoice_number\": \"Vorschau Rechnungsnummer\",\n        \"due_date\": \"Fälligkeitsdatum\",\n        \"due_date_description\": \"Legen Sie fest, wie das Fälligkeitsdatum automatisch gesetzt wird, wenn Sie eine Rechnung erstellen.\",\n        \"due_date_days\": \"Rechnung fällig nach Tagen\",\n        \"set_due_date_automatically\": \"Fälligkeitsdatum automatisch setzen\",\n        \"set_due_date_automatically_description\": \"Aktivieren Sie dies, wenn Sie das Fälligkeitsdatum automatisch setzen möchten, wenn Sie eine neue Rechnung erstellen.\",\n        \"default_formats\": \"Standardformate\",\n        \"default_formats_description\": \"Die unten angegebenen Formate werden verwendet, um die Felder bei der Erstellung einer Rechnung automatisch auszufüllen.\",\n        \"default_invoice_email_body\": \"Standard Rechnung E-Mail Inhalt\",\n        \"company_address_format\": \"Firmenadressformat\",\n        \"shipping_address_format\": \"Versandadressen Format\",\n        \"billing_address_format\": \"Rechnungsadressen Format\",\n        \"invoice_email_attachment\": \"Rechnungen als Anhänge verschicken\",\n        \"invoice_email_attachment_setting_description\": \"Aktivieren Sie dies, wenn Sie Rechnungen als E-Mail-Anhang versenden möchten. Bitte beachten Sie, dass die Schaltfläche \\\"Rechnung anzeigen\\\" in E-Mails dann nicht mehr angezeigt wird.\",\n        \"invoice_settings_updated\": \"Rechnungseinstellungen erfolgreich aktualisiert\",\n        \"retrospective_edits\": \"Rückwirkende Änderungen\",\n        \"allow\": \"Erlauben\",\n        \"disable_on_invoice_partial_paid\": \"Deaktivieren, nachdem Teilzahlung erfasst wurde\",\n        \"disable_on_invoice_paid\": \"Deaktivieren, nachdem vollständige Zahlung erfasst wurde\",\n        \"disable_on_invoice_sent\": \"Deaktivieren, nachdem Rechnung gesendet wurde\",\n        \"retrospective_edits_description\": \" Basierend auf den Gesetzen Ihres Landes oder Ihrer Präferenz, können Sie Benutzer daran hindern, fertige Rechnungen zu bearbeiten.\"\n      },\n      \"estimates\": {\n        \"title\": \"Angebote\",\n        \"estimate_number_format\": \"Angebotsnummernformat\",\n        \"estimate_number_format_description\": \"Passen Sie an, wie Ihre Angebotsnummer automatisch generiert wird, wenn Sie ein neues Angebot erstellen.\",\n        \"preview_estimate_number\": \"Vorschau Angebotsnummer\",\n        \"expiry_date\": \"Ablaufdatum\",\n        \"expiry_date_description\": \"Legen Sie fest, wie das Ablaufdatum automatisch gesetzt wird, wenn Sie ein Angebot erstellen.\",\n        \"expiry_date_days\": \"Angebot läuft ab nach Tagen\",\n        \"set_expiry_date_automatically\": \"Ablaufdatum automatisch setzen\",\n        \"set_expiry_date_automatically_description\": \"Aktivieren Sie dies, wenn Sie das Ablaufdatum automatisch setzen möchten sobald Sie ein neues Angebot erstellen.\",\n        \"default_formats\": \"Standardformate\",\n        \"default_formats_description\": \"Die unten angegebenen Formate werden verwendet, um die Felder bei der Erstellung eines Angebots automatisch auszufüllen.\",\n        \"default_estimate_email_body\": \"Angebot - E-Mail Text\",\n        \"company_address_format\": \"Firmenadresse Format\",\n        \"shipping_address_format\": \"Versandadressen Format\",\n        \"billing_address_format\": \"Rechnungsadressen Format\",\n        \"estimate_email_attachment\": \"Angebote als Anhänge verschicken\",\n        \"estimate_email_attachment_setting_description\": \"Aktivieren Sie dies, wenn Sie Angebote als E-Mail-Anhang versenden möchten. Bitte beachten Sie, dass die Schaltfläche \\\"Angebot anzeigen\\\" in E-Mails dann nicht mehr angezeigt wird.\",\n        \"estimate_settings_updated\": \"Angebotseinstellungen erfolgreich aktualisiert\",\n        \"convert_estimate_options\": \"Aktion nach Angebotsumwandlung\",\n        \"convert_estimate_description\": \"Legen Sie fest, was mit dem Angebot geschieht, nachdem es in eine Rechnung umgewandelt wurde.\",\n        \"no_action\": \"Keine Aktion\",\n        \"delete_estimate\": \"Angebot löschen\",\n        \"mark_estimate_as_accepted\": \"Angebot als angenommen markieren\"\n      },\n      \"payments\": {\n        \"title\": \"Zahlungen\",\n        \"payment_number_format\": \"Zahlungsnummernformat\",\n        \"payment_number_format_description\": \"Passen Sie an, wie Ihre Zahlungsnummer automatisch generiert wird, wenn Sie eine neue Zahlung erstellen.\",\n        \"preview_payment_number\": \"Vorschau Zahlungsnummer\",\n        \"default_formats\": \"Standardformate\",\n        \"default_formats_description\": \"Die unten angegebenen Formate werden verwendet, um die Felder bei der Buchung einer Zahlung automatisch auszufüllen.\",\n        \"default_payment_email_body\": \"Zahlung - E-Mail Text\",\n        \"company_address_format\": \"Firmenadressformat\",\n        \"from_customer_address_format\": \"Rechnungsadressen Format\",\n        \"payment_email_attachment\": \"Zahlungen als Anhänge verschicken\",\n        \"payment_email_attachment_setting_description\": \"Aktivieren Sie dies, wenn Sie Zahlungen als E-Mail-Anhang versenden möchten. Bitte beachten Sie, dass die Schaltfläche \\\"Zahlung anzeigen\\\" in E-Mails dann nicht mehr angezeigt wird.\",\n        \"payment_settings_updated\": \"Zahlungseinstellung erfolgreich aktualisiert\"\n      },\n      \"items\": {\n        \"title\": \"Artikel\",\n        \"units\": \"Einheiten\",\n        \"add_item_unit\": \"Artikeleinheit hinzufügen\",\n        \"edit_item_unit\": \"Elementeinheit bearbeiten\",\n        \"unit_name\": \"Einheitname\",\n        \"item_unit_added\": \"Artikeleinheit hinzugefügt\",\n        \"item_unit_updated\": \"Artikeleinheit aktualisiert\",\n        \"item_unit_confirm_delete\": \"Du kannst diese Artikeleinheit nicht wiederherstellen\",\n        \"already_in_use\": \"Diese Artikeleinheit ist bereits in Verwendung\",\n        \"deleted_message\": \"Artikeleinheit erfolgreich gelöscht\"\n      },\n      \"notes\": {\n        \"title\": \"Notizen\",\n        \"description\": \"Sparen Sie Zeit, indem Sie Notizen erstellen und diese auf Ihren Rechnungen, Angeboten und Zahlungen wiederverwenden.\",\n        \"notes\": \"Hinweise\",\n        \"type\": \"Art\",\n        \"add_note\": \"Notiz hinzufügen\",\n        \"add_new_note\": \"Neue Notiz hinzufügen\",\n        \"name\": \"Name\",\n        \"edit_note\": \"Notiz bearbeiten\",\n        \"note_added\": \"Notiz erfolgreich hinzugefügt\",\n        \"note_updated\": \"Notiz erfolgreich aktualisiert\",\n        \"note_confirm_delete\": \"Dieser Hinweis wird unwiderruflich gelöscht\",\n        \"already_in_use\": \"Hinweis bereits in verwendet\",\n        \"deleted_message\": \"Notiz erfolgreich gelöscht\"\n      }\n    },\n    \"account_settings\": {\n      \"profile_picture\": \"Profil Bild\",\n      \"name\": \"Name\",\n      \"email\": \"E-Mail\",\n      \"password\": \"Passwort\",\n      \"confirm_password\": \"Kennwort Bestätigen\",\n      \"account_settings\": \"Konto-Einstellungen\",\n      \"save\": \"Speichern\",\n      \"section_description\": \"Sie können Ihren Namen, Ihre E-Mail-Adresse und Ihr Passwort mit dem folgenden Formular aktualisieren.\",\n      \"updated_message\": \"Kontoeinstellungen erfolgreich aktualisiert\"\n    },\n    \"user_profile\": {\n      \"name\": \"Name\",\n      \"email\": \"E-Mail\",\n      \"password\": \"Passwort\",\n      \"confirm_password\": \"Kennwort bestätigen\"\n    },\n    \"notification\": {\n      \"title\": \"Benachrichtigung\",\n      \"email\": \"Benachrichtigungen senden an\",\n      \"description\": \"Welche E-Mail-Benachrichtigungen möchten Sie erhalten wenn sich etwas ändert?\",\n      \"invoice_viewed\": \"Rechnung angezeigt\",\n      \"invoice_viewed_desc\": \"Wenn Ihr Kunde die gesendete Rechnung anzeigt bekommt.\",\n      \"estimate_viewed\": \"Angebot angesehen\",\n      \"estimate_viewed_desc\": \"Wenn Ihr Kunde das gesendete Angebot anzeigt bekommt.\",\n      \"save\": \"Speichern\",\n      \"email_save_message\": \"Email erfolgreich gespeichert\",\n      \"please_enter_email\": \"Bitte E-Mail eingeben\"\n    },\n    \"roles\": {\n      \"title\": \"Rollen\",\n      \"description\": \"Rollen & Berechtigungen dieses Unternehmens verwalten\",\n      \"save\": \"Speichern\",\n      \"add_new_role\": \"Neue Rolle hinzufügen\",\n      \"role_name\": \"Name der Rolle\",\n      \"added_on\": \"Hinzugefügt am\",\n      \"add_role\": \"Rolle hinzufügen\",\n      \"edit_role\": \"Rolle bearbeiten\",\n      \"name\": \"Name\",\n      \"permission\": \"Berechtigung | Berechtigungen\",\n      \"select_all\": \"Alle auswählen\",\n      \"none\": \"Keine\",\n      \"confirm_delete\": \"Sie werden diese Rolle nicht wiederherstellen können\",\n      \"created_message\": \"Rolle erfolgreich erstellt\",\n      \"updated_message\": \"Rolle erfolgreich aktualisiert\",\n      \"deleted_message\": \"Rolle erfolgreich gelöscht\",\n      \"already_in_use\": \"Rolle wird bereits benutzt\"\n    },\n    \"exchange_rate\": {\n      \"exchange_rate\": \"Wechselkurs\",\n      \"title\": \"Wechselkursprobleme korrigieren\",\n      \"description\": \"Bitte geben Sie den Wechselkurs aller unten genannten Währungen ein, um Crater bei der korrekten Berechnung der Beträge in {currency} zu unterstützen.\",\n      \"drivers\": \"Treiber\",\n      \"new_driver\": \"Neuen Anbieter hinzufügen\",\n      \"edit_driver\": \"Anbieter bearbeiten\",\n      \"select_driver\": \"Treiber auswählen\",\n      \"update\": \"wähle Wechselkurs \",\n      \"providers_description\": \"Konfigurieren Sie hier Ihre Wechselkursanbieter, um automatisch den aktuellen Wechselkurs für Transaktionen abzurufen.\",\n      \"key\": \"API-Schlüssel\",\n      \"name\": \"Name\",\n      \"driver\": \"Treiber\",\n      \"is_default\": \"STANDARD\",\n      \"currency\": \"Währungen\",\n      \"exchange_rate_confirm_delete\": \"Sie werden diesen Treiber nicht wiederherstellen können\",\n      \"created_message\": \"Artikel erfolgreich erstellt\",\n      \"updated_message\": \"Anbieter erfolgreich aktualisiert\",\n      \"deleted_message\": \"Anbieter erfolgreich gelöscht\",\n      \"error\": \" Aktive Treiber können nicht gelöscht werden\",\n      \"default_currency_error\": \"Diese Währung wird bereits in einem der aktiven Anbieter verwendet\",\n      \"exchange_help_text\": \"Wechselkurs eingeben um von {currency} nach {baseCurrency} zu konvertieren\",\n      \"currency_freak\": \"CurrencyFreaks\",\n      \"currency_layer\": \"Currency Layer\",\n      \"open_exchange_rate\": \"Open Exchange Rate\",\n      \"currency_converter\": \"Währungsumrechner\",\n      \"server\": \"Server\",\n      \"url\": \"URL\",\n      \"active\": \"Aktiv\",\n      \"currency_help_text\": \"Dieser Anbieter wird nur in oben ausgewählten Währungen verwendet\",\n      \"currency_in_used\": \"Die folgenden Währungen sind bereits bei einem anderen Anbieter aktiv. Bitte entfernen Sie diese Währungen aus der Auswahl, um diesen Anbieter erneut zu aktivieren.\"\n    },\n    \"tax_types\": {\n      \"title\": \"Steuersätze\",\n      \"add_tax\": \"Steuersätze hinzufügen\",\n      \"edit_tax\": \"Steuer bearbeiten\",\n      \"description\": \"Sie können Steuern nach Belieben hinzufügen oder entfernen. Crater unterstützt Steuern auf einzelne Artikel sowie auf die Rechnung.\",\n      \"add_new_tax\": \"Neuen Steuersatz hinzufügen\",\n      \"tax_settings\": \"Einstellungen Steuersatz\",\n      \"tax_per_item\": \"Steuersatz pro Artikel\",\n      \"tax_name\": \"Name des Steuersatzes\",\n      \"compound_tax\": \"zusammengesetzte Steuer\",\n      \"percent\": \"Prozent\",\n      \"action\": \"Aktion\",\n      \"tax_setting_description\": \"Aktivieren Sie diese Option, wenn Sie den Steuersatz zu einzelnen Rechnungspositionen hinzufügen möchten. Standardmäßig wird der Steuersatz direkt zur Rechnung hinzugefügt.\",\n      \"created_message\": \"Steuersatz erfolgreich erstellt\",\n      \"updated_message\": \"Steuersatz erfolgreich aktualisiert\",\n      \"deleted_message\": \"Steuersatz erfolgreich gelöscht\",\n      \"confirm_delete\": \"Sie können diesen Steuersatz nicht wiederherstellen\",\n      \"already_in_use\": \"Steuersatz wird bereits verwendet\"\n    },\n    \"payment_modes\": {\n      \"title\": \"Zahlungsarten\",\n      \"description\": \"Transaktionsmodi für Zahlungen\",\n      \"add_payment_mode\": \"Zahlungsart hinzufügen\",\n      \"edit_payment_mode\": \"Zahlungsart bearbeiten\",\n      \"mode_name\": \"Name\",\n      \"payment_mode_added\": \"Zahlungsart hinzugefügt\",\n      \"payment_mode_updated\": \"Zahlungsart aktualisiert\",\n      \"payment_mode_confirm_delete\": \"Sie werden diese Zahlungsart nicht wiederherstellen können\",\n      \"payments_attached\": \"This payment method is already attached to payments. Please delete the attached payments to proceed with deletion.\",\n      \"expenses_attached\": \"This payment method is already attached to expenses. Please delete the attached expenses to proceed with deletion.\",\n      \"deleted_message\": \"Zahlungsart erfolgreich gelöscht\"\n    },\n    \"expense_category\": {\n      \"title\": \"Ausgabenkategorien\",\n      \"action\": \"Aktion\",\n      \"description\": \"Für das Hinzufügen von Ausgabeneinträgen sind Kategorien erforderlich. Sie können diese Kategorien nach Ihren Wünschen hinzufügen oder entfernen.\",\n      \"add_new_category\": \"Neue Kategorie hinzufügen\",\n      \"add_category\": \"Kategorie hinzufügen\",\n      \"edit_category\": \"Kategorie bearbeiten\",\n      \"category_name\": \"Kategorie Name\",\n      \"category_description\": \"Beschreibung\",\n      \"created_message\": \"Ausgabenkategorie erfolgreich erstellt\",\n      \"deleted_message\": \"Ausgabenkategorie erfolgreich gelöscht\",\n      \"updated_message\": \"Ausgabenkategorie erfolgreich aktualisiert\",\n      \"confirm_delete\": \"Sie können diese Ausgabenkategorie nicht wiederherstellen\",\n      \"already_in_use\": \"Kategorie wird bereits verwendet\"\n    },\n    \"preferences\": {\n      \"currency\": \"Währung\",\n      \"default_language\": \"Standardsprache\",\n      \"time_zone\": \"Zeitzone\",\n      \"fiscal_year\": \"Geschäftsjahr\",\n      \"date_format\": \"Datum-Format\",\n      \"discount_setting\": \"Einstellung Rabatt\",\n      \"discount_per_item\": \"Rabatt pro Artikel \",\n      \"discount_setting_description\": \"Aktivieren Sie diese Option, wenn Sie einzelnen Rechnungspositionen einen Rabatt hinzufügen möchten. Standardmäßig wird der Rabatt direkt zur Rechnung hinzugefügt.\",\n      \"expire_public_links\": \"Öffentliche Links automatisch ablaufen lassen\",\n      \"expire_setting_description\": \"Specify whether you would like to expire all the links sent by application to view invoices, estimates & payments, etc after a specified duration.\",\n      \"save\": \"Speichern\",\n      \"preference\": \"Präferenz | Präferenzen\",\n      \"general_settings\": \"Standardeinstellungen für das System.\",\n      \"updated_message\": \"Einstellungen erfolgreich aktualisiert\",\n      \"select_language\": \"Sprache auswählen\",\n      \"select_time_zone\": \"Zeitzone auswählen\",\n      \"select_date_format\": \"Wähle das Datumsformat\",\n      \"select_financial_year\": \"Geschäftsjahr auswählen\",\n      \"recurring_invoice_status\": \"Status der Serienrechnung\",\n      \"create_status\": \"Status erstellen\",\n      \"active\": \"Aktiv\",\n      \"on_hold\": \"Pausiert\",\n      \"update_status\": \"Status aktualisieren\",\n      \"completed\": \"Abgeschlossen\",\n      \"company_currency_unchangeable\": \"Die Währung des Unternehmens kann nicht geändert werden\"\n    },\n    \"update_app\": {\n      \"title\": \"Applikation aktualisieren\",\n      \"description\": \"Sie können Crater ganz einfach aktualisieren, indem Sie auf die Schaltfläche unten klicken, um nach einem neuen Update zu suchen.\",\n      \"check_update\": \"Nach Updates suchen\",\n      \"avail_update\": \"Neues Update verfügbar\",\n      \"next_version\": \"Nächste Version\",\n      \"requirements\": \"Voraussetzungen\",\n      \"update\": \"Jetzt aktualisieren\",\n      \"update_progress\": \"Update läuft ...\",\n      \"progress_text\": \"Es dauert nur ein paar Minuten. Bitte aktualisieren Sie den Bildschirm nicht und schließen Sie das Fenster nicht, bevor das Update abgeschlossen ist.\",\n      \"update_success\": \"App wurde aktualisiert! Bitte warten Sie, während Ihr Browserfenster automatisch neu geladen wird.\",\n      \"latest_message\": \"Kein Update verfügbar! Du bist auf der neuesten Version.\",\n      \"current_version\": \"Aktuelle Version\",\n      \"download_zip_file\": \"Laden Sie die ZIP-Datei herunter\",\n      \"unzipping_package\": \"Paket entpacken\",\n      \"copying_files\": \"Dateien kopieren\",\n      \"deleting_files\": \"Ungenutzte Dateien löschen\",\n      \"running_migrations\": \"Ausführen von Migrationen\",\n      \"finishing_update\": \"Update beenden\",\n      \"update_failed\": \"Update fehlgeschlagen\",\n      \"update_failed_text\": \"Es tut uns leid! Ihr Update ist am folgenden Schritt fehlgeschlagen: {step}\",\n      \"update_warning\": \"Alle Anwendungsdateien und Standardvorlagen werden überschrieben, wenn Sie die Anwendung mit diesem Hilfsprogramm aktualisieren. Bitte machen Sie vor dem Update ein Backup Ihrer Vorlagen & Datenbank.\"\n    },\n    \"backup\": {\n      \"title\": \"Sicherung | Sicherungen\",\n      \"description\": \"Die Sicherung ist eine ZIP-Datei, die alle Dateien der ausgewählten Pfade und eine Kopie der Datenbank enthält\",\n      \"new_backup\": \"Neues Backup\",\n      \"create_backup\": \"Datensicherung erstellen\",\n      \"select_backup_type\": \"Wählen Sie den Sicherungs-Typ\",\n      \"backup_confirm_delete\": \"Dieses Backup wird unwiderruflich gelöscht\",\n      \"path\": \"Pfad\",\n      \"new_disk\": \"Speicher hinzufügen\",\n      \"created_at\": \"erstellt am\",\n      \"size\": \"Größe\",\n      \"dropbox\": \"Dropbox\",\n      \"local\": \"Lokal\",\n      \"healthy\": \"intakt\",\n      \"amount_of_backups\": \"Menge an Sicherungen\",\n      \"newest_backups\": \"Neuste Sicherung\",\n      \"used_storage\": \"Verwendeter Speicher\",\n      \"select_disk\": \"Speicher auswählen\",\n      \"action\": \"Aktion\",\n      \"deleted_message\": \"Sicherung erfolgreich gelöscht\",\n      \"created_message\": \"Backup erfolgreich erstellt\",\n      \"invalid_disk_credentials\": \"Ungültige Anmeldeinformationen für ausgewählten Speicher\"\n    },\n    \"disk\": {\n      \"title\": \"Dateispeicher | Dateispeicher\",\n      \"description\": \"Standardmäßig verwendet Crater Ihre lokale Festplatte zum Speichern von Sicherungen, Avatar und anderen Bilddateien. Sie können mehr als einen Speicherort wie DigitalOcean, S3 und Dropbox nach Ihren Wünschen konfigurieren.\",\n      \"created_at\": \"erstellt am\",\n      \"dropbox\": \"Dropbox\",\n      \"name\": \"Name\",\n      \"driver\": \"Treiber\",\n      \"disk_type\": \"Art\",\n      \"disk_name\": \"Speicher Bezeichnung\",\n      \"new_disk\": \"Speicher hinzufügen\",\n      \"filesystem_driver\": \"Dateisystem-Treiber\",\n      \"local_driver\": \"Lokaler Treiber\",\n      \"local_root\": \"Lokaler Pfad\",\n      \"public_driver\": \"Öffentlicher Treiber\",\n      \"public_root\": \"Öffentlicher Pfad\",\n      \"public_url\": \"Öffentliche URL\",\n      \"public_visibility\": \"Öffentliche Sichtbarkeit\",\n      \"media_driver\": \"Medientreiber\",\n      \"media_root\": \"Medienpfad\",\n      \"aws_driver\": \"AWS-Treiber\",\n      \"aws_key\": \"AWS-Schlüssel\",\n      \"aws_secret\": \"AWS-Geheimnis\",\n      \"aws_region\": \"AWS-Region\",\n      \"aws_bucket\": \"AWS Bucket\",\n      \"aws_root\": \"AWS-Pfad\",\n      \"do_spaces_type\": \"Do Spaces-Typ\",\n      \"do_spaces_key\": \"Do Spaces Key\",\n      \"do_spaces_secret\": \"Do Spaces Secret\",\n      \"do_spaces_region\": \"Do Spaced Region\",\n      \"do_spaces_bucket\": \"Do Spaces Bucket\",\n      \"do_spaces_endpoint\": \"Do Spaces Endpoint\",\n      \"do_spaces_root\": \"Do Spaced Root\",\n      \"dropbox_type\": \"Dropbox Typ\",\n      \"dropbox_token\": \"Dropbox Token\",\n      \"dropbox_key\": \"Dropbox Schlüssel\",\n      \"dropbox_secret\": \"Dropbox Secret\",\n      \"dropbox_app\": \"Dropbox App\",\n      \"dropbox_root\": \"Dropbox Root\",\n      \"default_driver\": \"Standard-Treiber\",\n      \"is_default\": \"Standard\",\n      \"set_default_disk\": \"Als Standard festlegen\",\n      \"set_default_disk_confirm\": \"Dieser Speicherort wird als Standard gesetzt und alle neuen PDFs werden auf diesem gespeichert\",\n      \"success_set_default_disk\": \"Speicher wurde als Standard festgelegt\",\n      \"save_pdf_to_disk\": \"PDFs auf Festplatte speichern\",\n      \"disk_setting_description\": \" Aktivieren Sie dies, um eine Kopie von jeder Rechnung, jedem Angebot & jedem Zahlungsbeleg als PDF automatisch auf ihrem Standard-Speicher abzulegen. Wenn Sie diese Option aktivieren, verringert sich die Ladezeit beim Betrachten der PDFs.\",\n      \"select_disk\": \"Speicherort auswählen\",\n      \"disk_settings\": \"Speichermedienkonfiguration\",\n      \"confirm_delete\": \"Ihre existierenden Dateien und Ordner auf der angegebenen Festplatte werden nicht beeinflusst, aber Dieser Speicherort wird aus Crater gelöscht\",\n      \"action\": \"Aktion\",\n      \"edit_file_disk\": \"Speicherort editieren\",\n      \"success_create\": \"Speicher erfolgreich hinzugefügt\",\n      \"success_update\": \"Speicher erfolgreich bearbeitet\",\n      \"error\": \"Hinzufügen des Speichers gescheitert\",\n      \"deleted_message\": \"Speicher erfolgreich gelöscht\",\n      \"disk_variables_save_successfully\": \"Speicher erfolgreich konfiguriert\",\n      \"disk_variables_save_error\": \"Konfiguration des Speicher gescheitert\",\n      \"invalid_disk_credentials\": \"Ungültige Anmeldeinformationen für ausgewählten Speicher\"\n    },\n    \"taxations\": {\n      \"add_billing_address\": \"Rechnungsadresse eingeben\",\n      \"add_shipping_address\": \"Lieferadresse eingeben\",\n      \"add_company_address\": \"Firmenadresse eingeben\",\n      \"modal_description\": \"Die untenstehenden Informationen sind erforderlich, um die Steuer berücksichtigen zu können.\",\n      \"add_address\": \"Fügen Sie eine Adresse hinzu, um die Steuer abrufen zu können.\",\n      \"address_placeholder\": \"Beispiel: 123, meine Straße\",\n      \"city_placeholder\": \"Beispiel: Los Angeles\",\n      \"state_placeholder\": \"Beispiel: CA\",\n      \"zip_placeholder\": \"Beispiel: 90024\",\n      \"invalid_address\": \"Bitte geben Sie gültige Adressdaten an.\"\n    }\n  },\n  \"wizard\": {\n    \"account_info\": \"Account-Informationen\",\n    \"account_info_desc\": \"Die folgenden Details werden zum Erstellen des Hauptadministratorkontos verwendet. Sie können die Details auch jederzeit nach dem Anmelden ändern.\",\n    \"name\": \"Name\",\n    \"email\": \"E-Mail\",\n    \"password\": \"Passwort\",\n    \"confirm_password\": \"Passwort bestätigen\",\n    \"save_cont\": \"Speichern und weiter\",\n    \"company_info\": \"Unternehmensinformationen\",\n    \"company_info_desc\": \"Diese Informationen werden auf Rechnungen angezeigt. Beachten Sie, dass Sie diese später auf der Einstellungsseite bearbeiten können.\",\n    \"company_name\": \"Firmenname\",\n    \"company_logo\": \"Firmenlogo\",\n    \"logo_preview\": \"Vorschau Logo\",\n    \"preferences\": \"Einstellungen\",\n    \"preferences_desc\": \"Standardeinstellungen für das System.\",\n    \"currency_set_alert\": \"Die Währung des Unternehmens kann später nicht mehr geändert werden.\",\n    \"country\": \"Land\",\n    \"state\": \"Bundesland\",\n    \"city\": \"Stadt\",\n    \"address\": \"Adresse\",\n    \"street\": \"Straße1 | Straße2\",\n    \"phone\": \"Telefon\",\n    \"zip_code\": \"Postleitzahl\",\n    \"go_back\": \"Zurück\",\n    \"currency\": \"Währung\",\n    \"language\": \"Sprache\",\n    \"time_zone\": \"Zeitzone\",\n    \"fiscal_year\": \"Geschäftsjahr\",\n    \"date_format\": \"Datumsformat\",\n    \"from_address\": \"Absender\",\n    \"username\": \"Benutzername\",\n    \"next\": \"Weiter\",\n    \"continue\": \"Weiter\",\n    \"skip\": \"Überspringen\",\n    \"database\": {\n      \"database\": \"URL der Seite & Datenbank\",\n      \"connection\": \"Datenbank Verbindung\",\n      \"host\": \"Datenbank Host\",\n      \"port\": \"Datenbank Port\",\n      \"password\": \"Datenbank Passwort\",\n      \"app_url\": \"App-URL\",\n      \"app_domain\": \"Domain der App\",\n      \"username\": \"Datenbank Benutzername\",\n      \"db_name\": \"Datenbank Name\",\n      \"db_path\": \"Datenbankpfad\",\n      \"desc\": \"Erstellen Sie eine Datenbank auf Ihrem Server und legen Sie die Anmeldeinformationen mithilfe des folgenden Formulars fest.\"\n    },\n    \"permissions\": {\n      \"permissions\": \"Berechtigungen\",\n      \"permission_confirm_title\": \"Sind Sie sicher, dass Sie fortfahren möchten?\",\n      \"permission_confirm_desc\": \"Prüfung der Berechtigung der Ordner fehlgeschlagen.\",\n      \"permission_desc\": \"Unten finden Sie eine Liste der Ordnerberechtigungen, die erforderlich sind, damit die App funktioniert. Wenn die Berechtigungsprüfung fehlschlägt, müssen Sie Ihre Ordnerberechtigungen aktualisieren.\"\n    },\n    \"verify_domain\": {\n      \"title\": \"Domain-Verifizierung\",\n      \"desc\": \"Crater verwendet Session-basierte Authentifizierung, die aus Sicherheitsgründen eine Domain-Verifizierung erfordert. Bitte geben Sie die Domain ein, auf der Sie auf Ihre Webanwendung zugreifen werden.\",\n      \"app_domain\": \"Domain der App\",\n      \"verify_now\": \"Jetzt verifizieren\",\n      \"success\": \"Domain erfolgreich verifiziert.\",\n      \"failed\": \"Domainüberprüfung fehlgeschlagen. Bitte geben Sie einen gültigen Domainnamen ein.\",\n      \"verify_and_continue\": \"Verifizieren und fortfahren\"\n    },\n    \"mail\": {\n      \"host\": \"E-Mail-Host\",\n      \"port\": \"E-Mail-Port\",\n      \"driver\": \"E-Mail-Treiber\",\n      \"secret\": \"Verschlüsselung\",\n      \"mailgun_secret\": \"Mailgun Verschlüsselung\",\n      \"mailgun_domain\": \"Domain\",\n      \"mailgun_endpoint\": \"Mailgun-Endpunkt\",\n      \"ses_secret\": \"SES Verschlüsselung\",\n      \"ses_key\": \"SES-Taste\",\n      \"password\": \"E-Mail-Passwort\",\n      \"username\": \"E-Mail-Benutzername\",\n      \"mail_config\": \"E-Mail-Konfiguration\",\n      \"from_name\": \"Von E-Mail-Absendername\",\n      \"from_mail\": \"Von E-Mail-Absenderadresse\",\n      \"encryption\": \"E-Mail-Verschlüsselung\",\n      \"mail_config_desc\": \"Unten finden Sie das Formular zum Konfigurieren des E-Mail-Treibers zum Senden von E-Mails über die App. Sie können auch Drittanbieter wie Sendgrid, SES usw. konfigurieren.\"\n    },\n    \"req\": {\n      \"system_req\": \"System Anforderungen\",\n      \"php_req_version\": \"Php (version {version} erforderlich)\",\n      \"check_req\": \"Anforderungen prüfen\",\n      \"system_req_desc\": \"Crater hat einige Serveranforderungen. Stellen Sie sicher, dass Ihr Server die erforderliche PHP-Version und alle unten genannten Erweiterungen hat.\"\n    },\n    \"errors\": {\n      \"migrate_failed\": \"Migration ist Fehlgeschlagen\",\n      \"database_variables_save_error\": \"Konfiguration kann nicht in EN.env-Datei geschrieben werden. Bitte überprüfen Sie die Dateiberechtigungen.\",\n      \"mail_variables_save_error\": \"E-Mail-Konfiguration fehlgeschlagen.\",\n      \"connection_failed\": \"Datenbankverbindung fehlgeschlagen\",\n      \"database_should_be_empty\": \"Datenbank sollte leer sein\"\n    },\n    \"success\": {\n      \"mail_variables_save_successfully\": \"E-Mail erfolgreich konfiguriert\",\n      \"database_variables_save_successfully\": \"Datenbank erfolgreich konfiguriert.\"\n    }\n  },\n  \"validation\": {\n    \"invalid_phone\": \"Ungültige Telefonnummer\",\n    \"invalid_url\": \"Ungültige URL (Bsp.: http://www.crater.com)\",\n    \"invalid_domain_url\": \"Ungültige URL (Bsp.: crater.com)\",\n    \"required\": \"Feld ist erforderlich\",\n    \"email_incorrect\": \"Ungültige E-Mail.\",\n    \"email_already_taken\": \"Die E-Mail ist bereits vergeben.\",\n    \"email_does_not_exist\": \"Benutzer mit der angegebenen E-Mail existiert nicht\",\n    \"item_unit_already_taken\": \"Die Artikeleinheit wurde bereits vergeben\",\n    \"payment_mode_already_taken\": \"Der Zahlungsmodus wurde bereits verwendet\",\n    \"send_reset_link\": \"Link zum Zurücksetzen senden\",\n    \"not_yet\": \"Noch erhalten? Erneut senden\",\n    \"password_min_length\": \"Password muß {count} Zeichen enthalten\",\n    \"name_min_length\": \"Name muss mindestens {count} Zeichen enthalten.\",\n    \"prefix_min_length\": \"Präfix muss mindestens {count} Buchstaben enthalten.\",\n    \"enter_valid_tax_rate\": \"Geben Sie einen gültige Steuersatz ein\",\n    \"numbers_only\": \"Nur Zahlen.\",\n    \"characters_only\": \"Nur Zeichen.\",\n    \"password_incorrect\": \"Passwörter müssen identisch sein\",\n    \"password_length\": \"Passwort muss {count} Zeichen lang sein.\",\n    \"qty_must_greater_than_zero\": \"Die Menge muss größer als 0 sein.\",\n    \"price_greater_than_zero\": \"Preis muss größer als 0 sein.\",\n    \"payment_greater_than_zero\": \"Die Zahlung muss größer als 0 sein.\",\n    \"payment_greater_than_due_amount\": \"Die eingegebene Zahlung ist mehr als der fällige Betrag dieser Rechnung.\",\n    \"quantity_maxlength\": \"Die Menge sollte nicht größer als 20 Ziffern sein.\",\n    \"price_maxlength\": \"Der Preis sollte nicht größer als 20 Ziffern sein.\",\n    \"price_minvalue\": \"Der Preis sollte größer als 0 sein.\",\n    \"amount_maxlength\": \"Der Betrag sollte nicht größer als 20 Ziffern sein.\",\n    \"amount_minvalue\": \"Betrag sollte größer als 0 sein.\",\n    \"discount_maxlength\": \"Rabatt sollte nicht größer als der maximale Rabatt sein\",\n    \"description_maxlength\": \"Die Beschreibung sollte nicht länger als 255 Zeichen sein.\",\n    \"subject_maxlength\": \"Der Betreff sollte nicht länger als 100 Zeichen sein.\",\n    \"message_maxlength\": \"Die Nachricht sollte nicht länger als 255 Zeichen sein.\",\n    \"maximum_options_error\": \"Maximal {max} Optionen ausgewählt. Entfernen Sie zuerst eine ausgewählte Option, um eine andere auszuwählen.\",\n    \"notes_maxlength\": \"Notizen sollten nicht länger als 255 Zeichen sein.\",\n    \"address_maxlength\": \"Die Adresse sollte nicht länger als 255 Zeichen sein.\",\n    \"ref_number_maxlength\": \"Ref Number sollte nicht länger als 255 Zeichen sein.\",\n    \"prefix_maxlength\": \"Das Präfix sollte nicht länger als 5 Zeichen sein.\",\n    \"something_went_wrong\": \"Da ist etwas schief gelaufen\",\n    \"number_length_minvalue\": \"Nummernlänge sollte größer als 0 sein\",\n    \"at_least_one_ability\": \"Bitte wählen Sie mindestens eine Berechtigung aus.\",\n    \"valid_driver_key\": \"Bitte geben Sie einen gültigen {driver} Schlüssel ein.\",\n    \"valid_exchange_rate\": \"Bitte geben Sie einen gültigen Wechselkurs ein.\",\n    \"company_name_not_same\": \"Name des Unternehmens muss mit dem angegebenen Namen übereinstimmen.\"\n  },\n  \"errors\": {\n    \"starter_plan\": \"Diese Funktion ist erst ab dem Starterplan verfügbar!\",\n    \"invalid_provider_key\": \"Bitte geben Sie einen gültigen API-Schlüssel für den Anbieter ein.\",\n    \"estimate_number_used\": \"Die Angebotsnummer ist bereits vergeben.\",\n    \"invoice_number_used\": \"Die Rechnungsnummer ist bereits vergeben.\",\n    \"payment_attached\": \"Dieser Rechnung ist bereits eine Zahlung zugewiesen. Bitte zuerst die zugewiesenen Zahlungen löschen, um mit der Entfernung fortzufahren.\",\n    \"payment_number_used\": \"Die Zahlungsnummer ist bereits vergeben.\",\n    \"name_already_taken\": \"Der Name ist bereits vergeben.\",\n    \"receipt_does_not_exist\": \"Beleg existiert nicht.\",\n    \"customer_cannot_be_changed_after_payment_is_added\": \"Kunde kann nach dem Hinzufügen der Zahlung nicht geändert werden\",\n    \"invalid_credentials\": \"Ungültige Anmeldeinformationen.\",\n    \"not_allowed\": \"Nicht erlaubt\",\n    \"login_invalid_credentials\": \"Diese Anmeldeinformationen stimmen nicht mit unseren Aufzeichnungen überein.\",\n    \"enter_valid_cron_format\": \"Bitte geben Sie ein gültiges Cron-Format ein\",\n    \"email_could_not_be_sent\": \"Die E-Mail konnte nicht an diese Adresse gesendet werden.\",\n    \"invalid_address\": \"Bitte geben Sie eine gültige Adresse ein.\",\n    \"invalid_key\": \"Bitte geben Sie einen gültigen Schlüssel ein.\",\n    \"invalid_state\": \"Bitte geben Sie ein gültiges Bundesland ein.\",\n    \"invalid_city\": \"Bitte geben Sie eine gültige Stadt an.\",\n    \"invalid_postal_code\": \"Bitte geben Sie eine gültige PLZ an.\",\n    \"invalid_format\": \"Bitte geben Sie ein gültiges Abfrageformat ein.\",\n    \"api_error\": \"Der Server antwortet nicht.\",\n    \"feature_not_enabled\": \"Funktion nicht aktiviert.\",\n    \"request_limit_met\": \"Api Anfragelimit überschritten.\",\n    \"address_incomplete\": \"Unvollständige Adresse\"\n  },\n  \"pdf_estimate_label\": \"Angebot\",\n  \"pdf_estimate_number\": \"Angebotsnummer\",\n  \"pdf_estimate_date\": \"Angebotsdatum\",\n  \"pdf_estimate_expire_date\": \"Gültig bis\",\n  \"pdf_invoice_label\": \"Rechnung\",\n  \"pdf_invoice_number\": \"Rechnungsnummer\",\n  \"pdf_invoice_date\": \"Rechnungsdatum\",\n  \"pdf_invoice_due_date\": \"Fälligkeitsdatum\",\n  \"pdf_notes\": \"Hinweise\",\n  \"pdf_items_label\": \"Artikel\",\n  \"pdf_quantity_label\": \"Menge\",\n  \"pdf_price_label\": \"Preis\",\n  \"pdf_discount_label\": \"Rabatt\",\n  \"pdf_amount_label\": \"Summe\",\n  \"pdf_subtotal\": \"Zwischensumme\",\n  \"pdf_total\": \"Gesamt\",\n  \"pdf_payment_label\": \"Zahlung\",\n  \"pdf_payment_receipt_label\": \"Zahlungsbeleg\",\n  \"pdf_payment_date\": \"Zahlungsdatum\",\n  \"pdf_payment_number\": \"Zahlungsnummer\",\n  \"pdf_payment_mode\": \"Zahlungsart\",\n  \"pdf_payment_amount_received_label\": \"Betrag erhalten\",\n  \"pdf_expense_report_label\": \"Ausgaben Bericht\",\n  \"pdf_total_expenses_label\": \"Gesamtausgaben\",\n  \"pdf_profit_loss_label\": \"Gewinn & Verlust Bericht\",\n  \"pdf_sales_customers_label\": \"Kundenverkaufs Bericht\",\n  \"pdf_sales_items_label\": \"Artikelverkaufs Bericht\",\n  \"pdf_tax_summery_label\": \"Steuer Bericht\",\n  \"pdf_income_label\": \"Einkommen\",\n  \"pdf_net_profit_label\": \"Nettogewinn\",\n  \"pdf_customer_sales_report\": \"Umsatzbericht: Nach Kunde\",\n  \"pdf_total_sales_label\": \"GESAMTUMSATZ\",\n  \"pdf_item_sales_label\": \"Umsatzbericht: Nach Artikel\",\n  \"pdf_tax_report_label\": \"Umsatzsteuer BERICHT\",\n  \"pdf_total_tax_label\": \"Gesamte Umsatzsteuer\",\n  \"pdf_tax_types_label\": \"Steuersätze\",\n  \"pdf_expenses_label\": \"Ausgaben\",\n  \"pdf_bill_to\": \"Rechnungsanschrift\",\n  \"pdf_ship_to\": \"Lieferanschrift\",\n  \"pdf_received_from\": \"Erhalten von:\",\n  \"pdf_tax_label\": \"Steuer\"\n}\n"
  },
  {
    "path": "resources/scripts/locales/el.json",
    "content": "{\n  \"navigation\": {\n    \"dashboard\": \"Ταμπλό\",\n    \"customers\": \"Πελάτες\",\n    \"items\": \"Προϊόντα\",\n    \"invoices\": \"Τιμολόγια\",\n    \"recurring-invoices\": \"Επαναλαμβανόμενα τιμολόγια\",\n    \"expenses\": \"Έξοδα\",\n    \"estimates\": \"Προσφορές\",\n    \"payments\": \"Πληρωμές\",\n    \"reports\": \"Αναφορές\",\n    \"settings\": \"Ρυθμίσεις\",\n    \"logout\": \"Αποσύνδεση\",\n    \"users\": \"Χρήστες\",\n    \"modules\": \"Πρόσθετα\"\n  },\n  \"general\": {\n    \"add_company\": \"Προσθήκη Εταιρείας\",\n    \"view_pdf\": \"Προβολή PDF\",\n    \"copy_pdf_url\": \"Αντιγραφή συνδέσμου PDF\",\n    \"download_pdf\": \"Λήψη PDF\",\n    \"save\": \"Αποθήκευση\",\n    \"create\": \"Δημιουργία\",\n    \"cancel\": \"Ακύρωση\",\n    \"update\": \"Ενημέρωση\",\n    \"deselect\": \"Αποεπιλογή\",\n    \"download\": \"Κατεβάστε το\",\n    \"from_date\": \"Από Ημερομηνία\",\n    \"to_date\": \"Έως ημερομηνία\",\n    \"from\": \"Aπό\",\n    \"to\": \"Προς\",\n    \"ok\": \"Οκ\",\n    \"yes\": \"Ναι\",\n    \"no\": \"Όχι\",\n    \"sort_by\": \"Ταξινόμηση κατά\",\n    \"ascending\": \"Αύξουσα\",\n    \"descending\": \"Φθίνουσα\",\n    \"subject\": \"Θέμα\",\n    \"body\": \"Σώμα\",\n    \"message\": \"Μήνυμα\",\n    \"send\": \"Αποστολή\",\n    \"preview\": \"Προεπισκόπηση\",\n    \"go_back\": \"Επιστροφή\",\n    \"back_to_login\": \"Πίσω στην σελίδα Σύνδεσης;\",\n    \"home\": \"Αρχική\",\n    \"filter\": \"Φίλτρα\",\n    \"delete\": \"Διαγραφή\",\n    \"edit\": \"Επεξεργασία\",\n    \"view\": \"Προβολή\",\n    \"add_new_item\": \"Προσθήκη Νέου Στοιχείου\",\n    \"clear_all\": \"Εκκαθάριση όλων\",\n    \"showing\": \"Εμφανίζονται\",\n    \"of\": \"του\",\n    \"actions\": \"Ενέργειες\",\n    \"subtotal\": \"Μερικό Σύνολο\",\n    \"discount\": \"ΈΚΠΤΩΣΗ\",\n    \"fixed\": \"Σταθερό\",\n    \"percentage\": \"Ποσοστό\",\n    \"tax\": \"ΦΟΡΟΣ\",\n    \"total_amount\": \"ΣΥΝΟΛΙΚΟ ΠΟΣΟ\",\n    \"bill_to\": \"Χρέωση σε\",\n    \"ship_to\": \"Αποστολή σε\",\n    \"due\": \"Οφειλόμενο\",\n    \"draft\": \"Πρόχειρο\",\n    \"sent\": \"Απεσταλμένα\",\n    \"all\": \"Όλα\",\n    \"select_all\": \"Επιλογή Όλων\",\n    \"select_template\": \"Επιλογή Προτύπου\",\n    \"choose_file\": \"Κάντε κλικ εδώ για να επιλέξετε αρχείο\",\n    \"choose_template\": \"Επιλέξτε ένα πρότυπο\",\n    \"choose\": \"Επιλέξτε\",\n    \"remove\": \"Κατάργηση\",\n    \"select_a_status\": \"Επιλέξτε κατάσταση\",\n    \"select_a_tax\": \"Επιλέξτε φόρο\",\n    \"search\": \"Αναζήτηση\",\n    \"are_you_sure\": \"Είστε σίγουρος/η;\",\n    \"list_is_empty\": \"Η λίστα είναι κενή.\",\n    \"no_tax_found\": \"Δεν βρέθηκε φόρος!\",\n    \"four_zero_four\": \"404\",\n    \"you_got_lost\": \"Ουπς! Έχετε Χαθεί!\",\n    \"go_home\": \"Μετάβαση στην Αρχική\",\n    \"test_mail_conf\": \"Δοκιμή Ρύθμισης Αλληλογραφίας\",\n    \"send_mail_successfully\": \"Το Μήνυμα εστάλη επιτυχώς\",\n    \"setting_updated\": \"Οι Ρυθμίσεις ενημερώθηκαν επιτυχώς\",\n    \"select_state\": \"Επιλογή νομού\",\n    \"select_country\": \"Επιλογή Χώρας\",\n    \"select_city\": \"Επιλογή Πόλης\",\n    \"street_1\": \"Οδός 1\",\n    \"street_2\": \"Οδός 2\",\n    \"action_failed\": \"Αποτυχία Ενέργειας\",\n    \"retry\": \"Επανάληψη\",\n    \"choose_note\": \"Επιλογή Σημείωσης\",\n    \"no_note_found\": \"Δεν Βρέθηκε Σημείωση\",\n    \"insert_note\": \"Εισαγωγή Σημείωσης\",\n    \"copied_pdf_url_clipboard\": \"Αντιγράφηκε το url του PDF στo πρόχειρο!\",\n    \"copied_url_clipboard\": \"Ο σύνδεσμος αντιγράφηκε στο πρόχειρο!\",\n    \"docs\": \"Έγγραφα\",\n    \"do_you_wish_to_continue\": \"Θέλετε να συνεχίσετε;\",\n    \"note\": \"Σημείωση\",\n    \"pay_invoice\": \"Πληρωμή τιμολογίου\",\n    \"login_successfully\": \"Η είσοδος ήταν επιτυχής!\",\n    \"logged_out_successfully\": \"Η έξοδος ήταν επιτυχής\",\n    \"mark_as_default\": \"Σημείωση ως προεπιλογή\"\n  },\n  \"dashboard\": {\n    \"select_year\": \"Επιλογή έτους\",\n    \"cards\": {\n      \"due_amount\": \"Οφειλόμενο Ποσό\",\n      \"customers\": \"Πελάτες\",\n      \"invoices\": \"Τιμολόγια\",\n      \"estimates\": \"Προσφορές\",\n      \"payments\": \"Πληρωμές\"\n    },\n    \"chart_info\": {\n      \"total_sales\": \"Πωλήσεις\",\n      \"total_receipts\": \"Αποδείξεις\",\n      \"total_expense\": \"Έξοδα\",\n      \"net_income\": \"Καθαρό Εισόδημα\",\n      \"year\": \"Επιλογή έτους\"\n    },\n    \"monthly_chart\": {\n      \"title\": \"Πωλήσεις & Έξοδα\"\n    },\n    \"recent_invoices_card\": {\n      \"title\": \"Ανεξόφλητα Τιμολόγια\",\n      \"due_on\": \"Εξόφληση Έως\",\n      \"customer\": \"Πελάτης\",\n      \"amount_due\": \"Οφειλόμενο ποσό\",\n      \"actions\": \"Ενέργειες\",\n      \"view_all\": \"Προβολή Όλων\"\n    },\n    \"recent_estimate_card\": {\n      \"title\": \"Πρόσφατες προσφορές\",\n      \"date\": \"Ημερομηνία\",\n      \"customer\": \"Πελάτης\",\n      \"amount_due\": \"Οφειλόμενο Ποσό\",\n      \"actions\": \"Ενέργειες\",\n      \"view_all\": \"Προβολή Όλων\"\n    }\n  },\n  \"tax_types\": {\n    \"name\": \"Όνομα\",\n    \"description\": \"Περιγραφή\",\n    \"percent\": \"Ποσοστό\",\n    \"compound_tax\": \"Σύνθετος Φόρος\"\n  },\n  \"global_search\": {\n    \"search\": \"Αναζήτηση...\",\n    \"customers\": \"Πελάτες\",\n    \"users\": \"Χρήστες\",\n    \"no_results_found\": \"Δεν Βρέθηκαν Αποτελέσματα\"\n  },\n  \"company_switcher\": {\n    \"label\": \"ΑΛΛΑΓΗ ΕΤΑΙΡΕΙΑΣ\",\n    \"no_results_found\": \"Δεν Βρέθηκαν Αποτελέσματα\",\n    \"add_new_company\": \"Προσθήκη νέας εταιρείας\",\n    \"new_company\": \"Νέα εταιρεία\",\n    \"created_message\": \"Η εταιρεία δημιουργήθηκε επιτυχώς\"\n  },\n  \"dateRange\": {\n    \"today\": \"Σήμερα\",\n    \"this_week\": \"Τρέχουσα Εβδομάδα\",\n    \"this_month\": \"Τρέχων Μήνας\",\n    \"this_quarter\": \"Τρέχον Τρίμηνο\",\n    \"this_year\": \"Τρέχον Έτος\",\n    \"previous_week\": \"Προηγούμενη Εβδομάδα\",\n    \"previous_month\": \"Προηγούμενος Μήνας\",\n    \"previous_quarter\": \"Προηγούμενο Τρίμηνο\",\n    \"previous_year\": \"Προηγούμενο Έτος\",\n    \"custom\": \"Προσαρμοσμένο\"\n  },\n  \"customers\": {\n    \"title\": \"Πελάτες\",\n    \"prefix\": \"Πρόθεμα\",\n    \"add_customer\": \"Προσθήκη Πελάτη\",\n    \"contacts_list\": \"Λίστα Πελατών\",\n    \"name\": \"Όνομα\",\n    \"mail\": \"Μήνυμα ηλεκτρονικού ταχυδρομείου\",\n    \"statement\": \"Κατάσταση\",\n    \"display_name\": \"Εμφανιζόμενο Όνομα\",\n    \"primary_contact_name\": \"Κύρια επαφή\",\n    \"contact_name\": \"Όνομα Επαφής\",\n    \"amount_due\": \"Οφειλόμενο Ποσό\",\n    \"email\": \"Ηλεκτρονική διεύθυνση\",\n    \"address\": \"Διεύθυνση\",\n    \"phone\": \"Τηλέφωνο\",\n    \"website\": \"Ιστοσελίδα\",\n    \"overview\": \"Επισκόπηση\",\n    \"invoice_prefix\": \"Πρόθεμα παραστατικού\",\n    \"estimate_prefix\": \"Εκτίμηση Προθέματος\",\n    \"payment_prefix\": \"Πρόθεμα Πληρωμής\",\n    \"enable_portal\": \"Ενεργοποιήση Πύλης\",\n    \"country\": \"Χώρα\",\n    \"state\": \"Νομός\",\n    \"city\": \"Πόλη\",\n    \"zip_code\": \"Ταχυδρομικός κώδικας\",\n    \"added_on\": \"Προστέθηκε Στις\",\n    \"action\": \"Ενέργεια\",\n    \"password\": \"Κωδικός\",\n    \"confirm_password\": \"Επιβεβαίωση Κωδικού\",\n    \"street_number\": \"Αριθμός οδού\",\n    \"primary_currency\": \"Κύριο Νόμισμα\",\n    \"description\": \"Περιγραφή\",\n    \"add_new_customer\": \"Προσθήκη Νέου Πελάτη\",\n    \"save_customer\": \"Αποθήκευση πελάτη\",\n    \"update_customer\": \"Ενημέρωση πελατών\",\n    \"customer\": \"Πελάτες - Πελάτες\",\n    \"new_customer\": \"Νέος πελάτης\",\n    \"edit_customer\": \"Επεξεργασία Πελάτη\\n\",\n    \"basic_info\": \"Βασικές Πληροφορίες\",\n    \"portal_access\": \"Portal Access\",\n    \"portal_access_text\": \"Would you like to allow this customer to login to the Customer Portal?\",\n    \"portal_access_url\": \"Customer Portal Login URL\",\n    \"portal_access_url_help\": \"Please copy & forward the above given URL to your customer for providing access.\",\n    \"billing_address\": \"Διεύθυνση Χρέωσης\",\n    \"shipping_address\": \"Διεύθυνση Αποστολής\",\n    \"copy_billing_address\": \"Αντιγραφή από τιμολόγηση\",\n    \"no_customers\": \"Δεν υπάρχουν πελάτες ακόμα!\",\n    \"no_customers_found\": \"Δεν βρέθηκαν πελάτες\",\n    \"no_contact\": \"Καμμία επαφή\",\n    \"no_contact_name\": \"Δεν υπάρχει όνομα επαφής\",\n    \"list_of_customers\": \"Αυτή η ενότητα θα περιέχει τη λίστα πελατών.\",\n    \"primary_display_name\": \"Κύριο Εμφανιζόμενο Όνομα\",\n    \"select_currency\": \"Επιλογή νομίσματος\",\n    \"select_a_customer\": \"Επιλέξτε έναν πελάτη\",\n    \"type_or_click\": \"Πληκτρολογήστε ή κάντε κλικ για να επιλέξετε ένα στοιχείο\",\n    \"new_transaction\": \"Νέα συναλλαγή\",\n    \"no_matching_customers\": \"Δεν υπάρχουν πελάτες που να ταιριάζουν!\",\n    \"phone_number\": \"Αριθμός Τηλεφώνου\",\n    \"create_date\": \"Ημερομηνία Δημιουργίας\",\n    \"confirm_delete\": \"Δεν θα είστε σε θέση να ανακτήσει αυτόν τον πελάτη και όλα τα σχετικά Τιμολόγια, Εκτιμήσεις και Πληρωμές. √ Δεν θα είστε σε θέση να ανακτήσει αυτούς τους πελάτες και όλα τα σχετικά Τιμολόγια, Εκτιμήσεις και Πληρωμές.\",\n    \"created_message\": \"Ο πελάτης δημιουργήθηκε με επιτυχία\",\n    \"updated_message\": \"Ο πελάτης ενημερώθηκε με επιτυχία\",\n    \"address_updated_message\": \"Address Information Updated succesfully\",\n    \"deleted_message\": \"Πελάτης διαγράφηκε επιτυχώς |  Οι πελάτες διαγράφηκαν με επιτυχία\",\n    \"edit_currency_not_allowed\": \"Δεν είναι δυνατή η αλλαγή νομίσματος μόλις δημιουργηθούν συναλλαγές.\"\n  },\n  \"items\": {\n    \"title\": \"Στοιχεία\",\n    \"items_list\": \"Λίστα Στοιχείων\",\n    \"name\": \"Όνομα\",\n    \"unit\": \"Μονάδα\",\n    \"description\": \"Περιγραφή\",\n    \"added_on\": \"Προστέθηκε Στις\",\n    \"price\": \"Τιμή\",\n    \"date_of_creation\": \"Ημερομηνία Δημιουργίας\",\n    \"not_selected\": \"Δεν έχει επιλεχθεί στοιχείο\",\n    \"action\": \"Ενέργεια\",\n    \"add_item\": \"Προσθήκη Στοιχείου\",\n    \"save_item\": \"Αποθήκευση Στοιχείου\",\n    \"update_item\": \"Ενημέρωση Στοιχείου\",\n    \"item\": \"Στοιχείο | Στοιχεία\",\n    \"add_new_item\": \"Προσθήκη Νέου Στοιχείου\",\n    \"new_item\": \"Νέο Στοιχείο\",\n    \"edit_item\": \"Επεξεργασία Στοιχείου\",\n    \"no_items\": \"Δεν υπάρχουν Στοιχεία ακόμα!\",\n    \"list_of_items\": \"Αυτή η ενότητα θα περιέχει τη λίστα των στοιχείων.\",\n    \"select_a_unit\": \"επιλέξτε μονάδα\",\n    \"taxes\": \"Φόροι\",\n    \"item_attached_message\": \"Δεν είναι δυνατή η διαγραφή ενός στοιχείου που χρησιμοποιείται ήδη\",\n    \"confirm_delete\": \"Δεν θα είστε σε θέση να ανακτήσει αυτή την εκτίμηση ’, δεν θα είστε σε θέση να ανακτήσει αυτές τις εκτιμήσεις\",\n    \"created_message\": \"Το αντικείμενο δημιουργήθηκε επιτυχώς\",\n    \"updated_message\": \"Το αντικείμενο ενημερώθηκε επιτυχώς\",\n    \"deleted_message\": \"Ο υπολογισμός διαγράφηκε επιτυχώς\"\n  },\n  \"estimates\": {\n    \"title\": \"Προσφορές\",\n    \"accept_estimate\": \"Accept Estimate\",\n    \"reject_estimate\": \"Reject Estimate\",\n    \"estimate\": \"Προσφορά | Προσφορές\",\n    \"estimates_list\": \"Λίστα προσφορών\",\n    \"days\": \"{days} Ημέρες\",\n    \"months\": \"{months} Μήνας\",\n    \"years\": \"{years} Έτος\",\n    \"all\": \"Όλα\",\n    \"paid\": \"Εξοφλημένο\",\n    \"unpaid\": \"Ανεξόφλητο\",\n    \"customer\": \"Πελάτης\",\n    \"ref_no\": \"REF NO.\",\n    \"number\": \"ΑΡΙΘΜΟΣ\",\n    \"amount_due\": \"ΠΟΣΟ ΠΡΟΣ ΠΛΗΡΩΜΗ\",\n    \"partially_paid\": \"Μερικώς Εξοφλημένο\",\n    \"total\": \"Σύνολο \",\n    \"discount\": \"Έκπτωση\",\n    \"sub_total\": \"Μερικό Σύνολο\",\n    \"estimate_number\": \"Εκτίμηση Αριθμού\",\n    \"ref_number\": \"Αριθμός Αναφοράς\",\n    \"contact\": \"Επικοινωνία\",\n    \"add_item\": \"Προσθήκη στοιχείου\",\n    \"date\": \"Ημερομηνία\",\n    \"due_date\": \"Ημερομηνία λήξης\",\n    \"expiry_date\": \"Ημερομηνία λήξης\",\n    \"status\": \"Κατάσταση\",\n    \"add_tax\": \"Προσθήκη Φόρου\",\n    \"amount\": \"Ποσό\",\n    \"action\": \"Ενέργεια\",\n    \"notes\": \"Σημειώσεις\",\n    \"tax\": \"Φόρος\",\n    \"estimate_template\": \"Πρότυπο\",\n    \"convert_to_invoice\": \"Μετατράπηκε σε Τιμολόγιο\",\n    \"mark_as_sent\": \"Σήμανση ως απεσταλμένου\",\n    \"send_estimate\": \"Νέα Εκτίμηση\",\n    \"resend_estimate\": \"Πρόσφατες προσφορές\",\n    \"record_payment\": \"Καταγραφή Πληρωμής\",\n    \"add_estimate\": \"Νέα Εκτίμηση\",\n    \"save_estimate\": \"Νέα Εκτίμηση\",\n    \"confirm_conversion\": \"Αυτή η εκτίμηση θα χρησιμοποιηθεί για τη δημιουργία ενός νέου τιμολογίου.\",\n    \"conversion_message\": \"Το τιμολόγιο κλωνοποιήθηκε επιτυχώς\",\n    \"confirm_send_estimate\": \"Αυτό το τιμολόγιο θα αποσταλεί μέσω email στον πελάτη\",\n    \"confirm_mark_as_sent\": \"Η εκτίμηση αυτή θα επισημανθεί ως εστάλη\",\n    \"confirm_mark_as_accepted\": \"Αυτό το τιμολόγιο θα επισημανθεί ως Απορριπτόμενο\",\n    \"confirm_mark_as_rejected\": \"Αυτό το τιμολόγιο θα επισημανθεί ως Απορριπτόμενο\",\n    \"no_matching_estimates\": \"Δεν υπάρχουν αντίστοιχες προσφορές!\",\n    \"mark_as_sent_successfully\": \"Το τιμολόγιο επισημάνθηκε ως απεσταλμένο επιτυχώς\",\n    \"send_estimate_successfully\": \"Το τιμολόγιο εστάλη επιτυχώς\",\n    \"errors\": {\n      \"required\": \"Το πεδίο είναι υποχρεωτικό\"\n    },\n    \"accepted\": \"Αποδεκτή\",\n    \"rejected\": \"Απορρίφθηκε\",\n    \"expired\": \"Expired\",\n    \"sent\": \"Αποστολή\",\n    \"draft\": \"Πρόχειρο\",\n    \"viewed\": \"Viewed\",\n    \"declined\": \"Απορρίφθηκε\",\n    \"new_estimate\": \"Νέα Εκτίμηση\",\n    \"add_new_estimate\": \"Προσθήκη Νέας Εκτίμησης\",\n    \"update_Estimate\": \"Ενημέρωση εκτίμησης\",\n    \"edit_estimate\": \"Επεξεργασία Εκτίμησης\",\n    \"items\": \"στοιχεία\",\n    \"Estimate\": \"Προσφορά | Προσφορές\",\n    \"add_new_tax\": \"Προσθήκη Νέου Φόρου\",\n    \"no_estimates\": \"Δεν υπάρχουν προσφορές ακόμα!\",\n    \"list_of_estimates\": \"Αυτή η ενότητα θα περιέχει τη λίστα των στοιχείων.\",\n    \"mark_as_rejected\": \"Σήμανση ως απορρίφθηκε\",\n    \"mark_as_accepted\": \"Σήμανση ως αποδεκτό\",\n    \"marked_as_accepted_message\": \"Εκτίμηση που έχει επισημανθεί ως αποδεκτή\",\n    \"marked_as_rejected_message\": \"Εκτίμηση που σημειώνεται ως απορριφθείσα\",\n    \"confirm_delete\": \"Δεν θα είστε σε θέση να ανακτήσει αυτή την εκτίμηση ’, δεν θα είστε σε θέση να ανακτήσει αυτές τις εκτιμήσεις\",\n    \"created_message\": \"Το τιμολόγιο εστάλη επιτυχώς\",\n    \"updated_message\": \"Το τιμολόγιο εστάλη επιτυχώς\",\n    \"deleted_message\": \"Ο υπολογισμός διαγράφηκε επιτυχώς\",\n    \"something_went_wrong\": \"Κάτι πήγε στραβά\",\n    \"item\": {\n      \"title\": \"Τίτλος Προϊόντος\",\n      \"description\": \"Περιγραφή\",\n      \"quantity\": \"Ποσότητα\",\n      \"price\": \"Τιμή\",\n      \"discount\": \"Έκπτωση\",\n      \"total\": \"Σύνολο \",\n      \"total_discount\": \"Συνολική Έκπτωση\",\n      \"sub_total\": \"Μερικό Σύνολο\",\n      \"tax\": \"Φόρος\",\n      \"amount\": \"Ποσό\",\n      \"select_an_item\": \"Πληκτρολογήστε ή κάντε κλικ για να επιλέξετε ένα στοιχείο\",\n      \"type_item_description\": \"Πληκτρολογήστε Περιγραφή Στοιχείου (προαιρετικό)\"\n    },\n    \"mark_as_default_estimate_template_description\": \"If enabled, the selected template will be automatically selected for new estimates.\"\n  },\n  \"invoices\": {\n    \"title\": \"Τιμολόγια\",\n    \"download\": \"Download\",\n    \"pay_invoice\": \"Pay Invoice\",\n    \"invoices_list\": \"Λίστα Τιμολογίων\",\n    \"invoice_information\": \"Invoice Information\",\n    \"days\": \"{days} Ημέρες\",\n    \"months\": \"{months} Μήνας\",\n    \"years\": \"{years} Έτος\",\n    \"all\": \"Όλα\",\n    \"paid\": \"Εξοφλημένο\",\n    \"unpaid\": \"Ανεξόφλητο\",\n    \"viewed\": \"Προβλήθηκαν\",\n    \"overdue\": \"Εκπρόθεσμα\",\n    \"completed\": \"Ολοκληρώθηκε\",\n    \"customer\": \"Πελάτης\",\n    \"paid_status\": \"ΚΑΤΑΣΤΑΣΗ ΠΛΗΡΩΜΗΣ\",\n    \"ref_no\": \"REF NO.\",\n    \"number\": \"ΑΡΙΘΜΟΣ\",\n    \"amount_due\": \"ΠΟΣΟ ΠΡΟΣ ΠΛΗΡΩΜΗ\",\n    \"partially_paid\": \"Μερικώς Εξοφλημένο\",\n    \"total\": \"Σύνολο \",\n    \"discount\": \"Έκπτωση\",\n    \"sub_total\": \"Μερικό Σύνολο\",\n    \"invoice\": \"Τιμολόγια (Τιμολόγια)\",\n    \"invoice_number\": \"Αριθμός τιμολογίου\",\n    \"ref_number\": \"Αριθμός Αναφοράς\",\n    \"contact\": \"Επικοινωνία\",\n    \"add_item\": \"Προσθήκη στοιχείου\",\n    \"date\": \"Ημερομηνία\",\n    \"due_date\": \"Ημερομηνία λήξης\",\n    \"status\": \"Κατάσταση\",\n    \"add_tax\": \"Προσθήκη Φόρου\",\n    \"amount\": \"Ποσό\",\n    \"action\": \"Ενέργεια\",\n    \"notes\": \"Σημειώσεις\",\n    \"view\": \"Προβολή\",\n    \"send_invoice\": \"Αποστολή Παραστατικών\",\n    \"resend_invoice\": \"Αποστολή Παραστατικών\",\n    \"invoice_template\": \"Πρότυπο Τιμολογίου \",\n    \"conversion_message\": \"Το τιμολόγιο κλωνοποιήθηκε επιτυχώς\",\n    \"template\": \"Επιλογή Προτύπου\",\n    \"mark_as_sent\": \"Σήμανση ως απεσταλμένου\",\n    \"confirm_send_invoice\": \"Αυτό το τιμολόγιο θα αποσταλεί μέσω email στον πελάτη\",\n    \"invoice_mark_as_sent\": \"Αυτό το τιμολόγιο θα επισημανθεί ως απεσταλμένο\",\n    \"confirm_mark_as_accepted\": \"Αυτό το τιμολόγιο θα επισημανθεί ως Αποδεκτό\",\n    \"confirm_mark_as_rejected\": \"Αυτό το τιμολόγιο θα επισημανθεί ως Απορριπτόμενο\",\n    \"confirm_send\": \"Αυτό το τιμολόγιο θα αποσταλεί μέσω email στον πελάτη\",\n    \"invoice_date\": \"Ημερομηνία Τιμολογίου\",\n    \"record_payment\": \"Καταγραφή Πληρωμής\",\n    \"add_new_invoice\": \"Προσθήκη Νέου Τιμολογίου\",\n    \"update_expense\": \"Ενημέρωση Δαπάνης\",\n    \"edit_invoice\": \"Επεξεργασία Τιμολογίου\",\n    \"new_invoice\": \"Νέο Τιμολόγιο\",\n    \"save_invoice\": \"Αποθήκευση Τιμολογίου\",\n    \"update_invoice\": \"Ενημέρωση Τιμολογίου\",\n    \"add_new_tax\": \"Προσθήκη Νέου Φόρου\",\n    \"no_invoices\": \"Κανένα Τιμολόγιο ακόμα!\",\n    \"mark_as_rejected\": \"Σήμανση ως απορρίφθηκε\",\n    \"mark_as_accepted\": \"Σήμανση ως αποδεκτό\",\n    \"list_of_invoices\": \"Αυτή η ενότητα θα περιέχει τη λίστα τιμολογίων.\",\n    \"select_invoice\": \"Επιλογή Τιμολογίου\",\n    \"no_matching_invoices\": \"Δεν υπάρχει κανένα αντίστοιχο τιμολόγιο!\",\n    \"mark_as_sent_successfully\": \"Το τιμολόγιο επισημάνθηκε ως απεσταλμένο επιτυχώς\",\n    \"invoice_sent_successfully\": \"Το τιμολόγιο εστάλη επιτυχώς\",\n    \"cloned_successfully\": \"Το τιμολόγιο κλωνοποιήθηκε επιτυχώς\",\n    \"clone_invoice\": \"Κλωνοποίηση Τιμολογίου\",\n    \"confirm_clone\": \"Αυτό το τιμολόγιο θα κλωνοποιηθεί σε ένα νέο Τιμολόγιο\",\n    \"item\": {\n      \"title\": \"Τίτλος Προϊόντος\",\n      \"description\": \"Περιγραφή\",\n      \"quantity\": \"Ποσότητα\",\n      \"price\": \"Τιμή\",\n      \"discount\": \"Έκπτωση\",\n      \"total\": \"Ολικό\",\n      \"total_discount\": \"Συνολική Έκπτωση\",\n      \"sub_total\": \"Μερικό Σύνολο\",\n      \"tax\": \"Φόρος\",\n      \"amount\": \"Ποσό\",\n      \"select_an_item\": \"Πληκτρολογήστε ή κάντε κλικ για να επιλέξετε ένα στοιχείο\",\n      \"type_item_description\": \"Πληκτρολογήστε Περιγραφή Στοιχείου (προαιρετικό)\"\n    },\n    \"payment_attached_message\": \"Αυτό το τιμολόγιο έχει ήδη μια πληρωμή που επισυνάπτεται σε αυτό. Βεβαιωθείτε ότι έχετε διαγράψει πρώτα τις συνημμένες πληρωμές για να προχωρήσετε με την αφαίρεση\",\n    \"confirm_delete\": \"Δεν θα είστε σε θέση να ανακτήσει αυτή την εκτίμηση ’, δεν θα είστε σε θέση να ανακτήσει αυτές τις εκτιμήσεις\",\n    \"created_message\": \"Το τιμολόγιο κλωνοποιήθηκε επιτυχώς\",\n    \"updated_message\": \"Το τιμολόγιο ενημερώθηκε επιτυχώς\",\n    \"deleted_message\": \"Ο υπολογισμός διαγράφηκε επιτυχώς\",\n    \"marked_as_sent_message\": \"Το τιμολόγιο επισημάνθηκε ως απεσταλμένο επιτυχώς\",\n    \"something_went_wrong\": \"Κάτι πήγε στραβά\",\n    \"invalid_due_amount_message\": \"Συνολικό επαναλαμβανόμενο ποσό Τιμολογίου δεν μπορεί να είναι μικρότερο από το συνολικό καταβληθέν ποσό για αυτό το επαναλαμβανόμενο τιμολόγιο. Παρακαλούμε ενημερώστε το τιμολόγιο ή διαγράψτε τις σχετικές πληρωμές για να συνεχίσετε.\",\n    \"mark_as_default_invoice_template_description\": \"If enabled, the selected template will be automatically selected for new invoices.\"\n  },\n  \"recurring_invoices\": {\n    \"title\": \"Επαναλαμβανόμενα τιμολόγια\",\n    \"invoices_list\": \"Επαναλαμβανόμενα τιμολόγια\",\n    \"days\": \"{days} Ημέρες\",\n    \"months\": \"{months} Μήνας\",\n    \"years\": \"{years} Έτος\",\n    \"all\": \"Όλα\",\n    \"paid\": \"Εξοφλημένο\",\n    \"unpaid\": \"Ανεξόφλητο\",\n    \"viewed\": \"Προβλήθηκαν\",\n    \"overdue\": \"Εκπρόθεσμα\",\n    \"active\": \"Ενεργή\",\n    \"completed\": \"Ολοκληρώθηκε\",\n    \"customer\": \"Πελάτης\",\n    \"paid_status\": \"ΚΑΤΑΣΤΑΣΗ ΠΛΗΡΩΜΗΣ\",\n    \"ref_no\": \"REF NO.\",\n    \"number\": \"ΑΡΙΘΜΟΣ\",\n    \"amount_due\": \"ΠΟΣΟ ΠΡΟΣ ΠΛΗΡΩΜΗ\",\n    \"partially_paid\": \"Μερικώς Εξοφλημένο\",\n    \"total\": \"Σύνολο \",\n    \"discount\": \"Έκπτωση\",\n    \"sub_total\": \"Μερικό Σύνολο\",\n    \"invoice\": \"Επαναλαμβανόμενο Τιμολόγιο |  Επαναλαμβανόμενα Τιμολόγια\",\n    \"invoice_number\": \"Αριθμός επαναλαμβανόμενου τιμολογίου\",\n    \"next_invoice_date\": \"Επόμενη Ημερομηνία Τιμολογίου\",\n    \"ref_number\": \"Αριθμός Αναφοράς\",\n    \"contact\": \"Επικοινωνία\",\n    \"add_item\": \"Προσθήκη στοιχείου\",\n    \"date\": \"Ημερομηνία\",\n    \"limit_by\": \"Περιορισμός Ανά:\",\n    \"limit_date\": \"Περιορισμός Ημερομηνίας\",\n    \"limit_count\": \"Όριο Καταμέτρησης\",\n    \"count\": \"Αρίθμηση\",\n    \"status\": \"Κατάσταση\",\n    \"select_a_status\": \"Επιλέξτε κατάσταση\",\n    \"working\": \"Λειτουργεί\",\n    \"on_hold\": \"Σε αναμονή\",\n    \"complete\": \"Ολοκληρώθηκε\",\n    \"add_tax\": \"Προσθήκη Φόρου\",\n    \"amount\": \"Ποσό\",\n    \"action\": \"Ενέργεια\",\n    \"notes\": \"Σημειώσεις\",\n    \"view\": \"Προβολή\",\n    \"basic_info\": \"Βασικές Πληροφορίες\",\n    \"send_invoice\": \"Δημιουργία Επαναλαμβανόμενου Τιμολογίου\",\n    \"auto_send\": \"Αυτόματη Αποστολή\",\n    \"resend_invoice\": \"Δημιουργία Επαναλαμβανόμενου Τιμολογίου\",\n    \"invoice_template\": \"Αριθμός επαναλαμβανόμενου τιμολογίου\",\n    \"conversion_message\": \"Επαναλαμβανόμενο τιμολόγιο κλωνοποιήθηκε επιτυχής\",\n    \"template\": \"Πρότυπο\",\n    \"mark_as_sent\": \"Σήμανση ως απεσταλμένου\",\n    \"confirm_send_invoice\": \"Αυτό το τιμολόγιο θα αποσταλεί μέσω email στον πελάτη\",\n    \"invoice_mark_as_sent\": \"Αυτό το τιμολόγιο θα επισημανθεί ως απεσταλμένο\",\n    \"confirm_send\": \"Αυτό το τιμολόγιο θα αποσταλεί μέσω email στον πελάτη\",\n    \"starts_at\": \"Ημερομηνία έναρξης\",\n    \"due_date\": \"Ημ/νία τιμολόγησης\",\n    \"record_payment\": \"Καταγραφή Πληρωμής\",\n    \"add_new_invoice\": \"Δημιουργία Επαναλαμβανόμενου Τιμολογίου\",\n    \"update_expense\": \"Ενημέρωση Δαπάνης\",\n    \"edit_invoice\": \"Επαναλαμβανόμενα τιμολόγια\",\n    \"new_invoice\": \"Επαναλαμβανόμενα τιμολόγια\",\n    \"send_automatically\": \"Αυτόματη Αποστολή\",\n    \"send_automatically_desc\": \"Ενεργοποιήστε αυτό, αν θέλετε να στείλετε το τιμολόγιο αυτόματα στον πελάτη όταν δημιουργηθεί.\",\n    \"save_invoice\": \"Αποθήκευση Επαναλαμβανόμενου Τιμολογίου\",\n    \"update_invoice\": \"Δημιουργία Επαναλαμβανόμενου Τιμολογίου\",\n    \"add_new_tax\": \"Προσθήκη Νέου Φόρου\",\n    \"no_invoices\": \"Επαναλαμβανόμενα τιμολόγια!\",\n    \"mark_as_rejected\": \"Σήμανση ως απορρίφθηκε\",\n    \"mark_as_accepted\": \"Σήμανση ως αποδεκτό\",\n    \"list_of_invoices\": \"Αυτή η ενότητα θα περιέχει τη λίστα τιμολογίων.\",\n    \"select_invoice\": \"Επιλογή Τιμολογίου\",\n    \"no_matching_invoices\": \"Δεν υπάρχει κανένα αντίστοιχο τιμολόγιο!\",\n    \"mark_as_sent_successfully\": \"Το τιμολόγιο επισημάνθηκε ως απεσταλμένο επιτυχώς\",\n    \"invoice_sent_successfully\": \"Επαναλαμβανόμενο τιμολόγιο κλωνοποιήθηκε επιτυχής\",\n    \"cloned_successfully\": \"Επαναλαμβανόμενο τιμολόγιο κλωνοποιήθηκε επιτυχής\",\n    \"clone_invoice\": \"Δημιουργία Επαναλαμβανόμενου Τιμολογίου\",\n    \"confirm_clone\": \"Αυτό το επαναλαμβανόμενο τιμολόγιο θα κλωνοποιηθεί σε ένα νέο επαναλαμβανόμενο τιμολόγιο\",\n    \"add_customer_email\": \"Please add an email address for this customer to send invoices automatically.\",\n    \"item\": {\n      \"title\": \"Τίτλος Προϊόντος\",\n      \"description\": \"Περιγραφή\",\n      \"quantity\": \"Ποσότητα\",\n      \"price\": \"Τιμή\",\n      \"discount\": \"Έκπτωση\",\n      \"total\": \"Σύνολο \",\n      \"total_discount\": \"Συνολική Έκπτωση\",\n      \"sub_total\": \"Μερικό Σύνολο\",\n      \"tax\": \"Φόρος\",\n      \"amount\": \"Ποσό\",\n      \"select_an_item\": \"Πληκτρολογήστε ή κάντε κλικ για να επιλέξετε ένα στοιχείο\",\n      \"type_item_description\": \"Πληκτρολογήστε Περιγραφή Στοιχείου (προαιρετικό)\"\n    },\n    \"frequency\": {\n      \"title\": \"Συχνότητα\",\n      \"select_frequency\": \"Επιλογή συχνοτήτων\",\n      \"minute\": \"Λεπτό\",\n      \"hour\": \"Ώρα\",\n      \"day_month\": \"Ημέρα του μήνα\",\n      \"month\": \"Μήνας\",\n      \"day_week\": \"Ημέρα της εβδομάδας\"\n    },\n    \"confirm_delete\": \"Δεν θα είστε σε θέση να ανακτήσει αυτή την εκτίμηση ’, δεν θα είστε σε θέση να ανακτήσει αυτές τις εκτιμήσεις\",\n    \"created_message\": \"Επαναλαμβανόμενο τιμολόγιο κλωνοποιήθηκε επιτυχής\",\n    \"updated_message\": \"Επαναλαμβανόμενο τιμολόγιο κλωνοποιήθηκε επιτυχής\",\n    \"deleted_message\": \"Επαναλαμβανόμενο Τιμολόγιο διαγράφηκε επιτυχώς ‘ Επαναλαμβανόμενα Τιμολόγια διαγράφηκαν με επιτυχία\",\n    \"marked_as_sent_message\": \"Το τιμολόγιο επισημάνθηκε ως απεσταλμένο επιτυχώς\",\n    \"user_email_does_not_exist\": \"Αυτό το e-mail δεν υπάρχει\",\n    \"something_went_wrong\": \"Κάτι πήγε στραβά\",\n    \"invalid_due_amount_message\": \"Συνολικό επαναλαμβανόμενο ποσό Τιμολογίου δεν μπορεί να είναι μικρότερο από το συνολικό καταβληθέν ποσό για αυτό το επαναλαμβανόμενο τιμολόγιο. Παρακαλούμε ενημερώστε το τιμολόγιο ή διαγράψτε τις σχετικές πληρωμές για να συνεχίσετε.\"\n  },\n  \"payments\": {\n    \"title\": \"Πληρωμές\",\n    \"payments_list\": \"Λίστα πληρωμών\",\n    \"record_payment\": \"Καταγραφή Πληρωμής\",\n    \"customer\": \"Πελάτης\",\n    \"date\": \"Ημερομηνία\",\n    \"amount\": \"Ποσό\",\n    \"action\": \"Ενέργεια\",\n    \"payment_number\": \"Αριθμός Πληρωμής\",\n    \"payment_mode\": \"Τρόπος πληρωμής\",\n    \"invoice\": \"Τιμολόγιο\",\n    \"note\": \"Σημείωση\",\n    \"add_payment\": \"Προσθήκη Πληρωμής\",\n    \"new_payment\": \"Νέα Πληρωμή\",\n    \"edit_payment\": \"Επεξεργασία Πληρωμής\",\n    \"view_payment\": \"Προβολή Πληρωμής\",\n    \"add_new_payment\": \"Προσθήκη Νέας Πληρωμής\",\n    \"send_payment_receipt\": \"Αποστολή Απόδειξης Πληρωμής\",\n    \"send_payment\": \"Αποστολή Πληρωμής\",\n    \"save_payment\": \"Αποθήκευση Πληρωμής\",\n    \"update_payment\": \"Ενημέρωση Πληρωμής\",\n    \"payment\": \"Πληρωμές Πληρωμών\",\n    \"no_payments\": \"Καμία πληρωμή ακόμα!\",\n    \"not_selected\": \"Δεν έχει επιλεγεί\",\n    \"no_invoice\": \"Χωρίς τιμολόγιο\",\n    \"no_matching_payments\": \"Δεν υπάρχουν πληρωμές που να ταιριάζουν!\",\n    \"list_of_payments\": \"Αυτή η ενότητα θα περιέχει τον κατάλογο πληρωμών.\",\n    \"select_payment_mode\": \"Επιλέξτε τρόπο πληρωμής\",\n    \"confirm_mark_as_sent\": \"Η εκτίμηση αυτή θα επισημανθεί ως εστάλη\",\n    \"confirm_send_payment\": \"Αυτή η πληρωμή θα σταλεί μέσω email στον πελάτη\",\n    \"send_payment_successfully\": \"Η πληρωμή εστάλη επιτυχώς\",\n    \"something_went_wrong\": \"Κάτι πήγε στραβά\",\n    \"confirm_delete\": \"Δεν θα είστε σε θέση να ανακτήσει αυτή την εκτίμηση ’, δεν θα είστε σε θέση να ανακτήσει αυτές τις εκτιμήσεις\",\n    \"created_message\": \"Η πληρωμή εστάλη επιτυχώς\",\n    \"updated_message\": \"Η πληρωμή εστάλη επιτυχώς\",\n    \"deleted_message\": \"Ο υπολογισμός διαγράφηκε επιτυχώς\",\n    \"invalid_amount_message\": \"Το ποσό δεν είναι έγκυρο\"\n  },\n  \"expenses\": {\n    \"title\": \"Έξοδα\",\n    \"expenses_list\": \"Λίστα Εξόδων\",\n    \"select_a_customer\": \"Επιλέξτε έναν πελάτη\",\n    \"expense_title\": \"Τίτλος\",\n    \"customer\": \"Πελάτης\",\n    \"currency\": \"Νόμισμα\",\n    \"contact\": \"Επικοινωνία\",\n    \"category\": \"Κατηγορία\",\n    \"from_date\": \"Από Ημερομηνία\",\n    \"to_date\": \"Έως ημερομηνία\",\n    \"expense_date\": \"Ημερομηνία\",\n    \"description\": \"Περιγραφή\",\n    \"receipt\": \"Απόδειξη\",\n    \"amount\": \"Ποσό\",\n    \"action\": \"Ενέργεια\",\n    \"not_selected\": \"Δεν έχει επιλεγεί\",\n    \"note\": \"Σημείωση\",\n    \"category_id\": \"ID Κατηγορίας\",\n    \"date\": \"Ημερομηνία\",\n    \"add_expense\": \"Προσθήκη δαπάνης\",\n    \"add_new_expense\": \"Προσθήκη δαπάνης\",\n    \"save_expense\": \"Ενημέρωση Δαπάνης\",\n    \"update_expense\": \"Ενημέρωση Δαπάνης\",\n    \"download_receipt\": \"Λήψη Απόδειξης\",\n    \"edit_expense\": \"Προσθήκη δαπάνης\",\n    \"new_expense\": \"Προσθήκη δαπάνης\",\n    \"expense\": \"Έξοδα - Έξοδα\",\n    \"no_expenses\": \"Δεν υπάρχουν έξοδα ακόμα!\",\n    \"list_of_expenses\": \"Αυτή η ενότητα θα περιέχει τη λίστα των στοιχείων.\",\n    \"confirm_delete\": \"Δεν θα είστε σε θέση να ανακτήσει αυτή την εκτίμηση ’, δεν θα είστε σε θέση να ανακτήσει αυτές τις εκτιμήσεις\",\n    \"created_message\": \"Το τιμολόγιο εστάλη επιτυχώς\",\n    \"updated_message\": \"Το τιμολόγιο εστάλη επιτυχώς\",\n    \"deleted_message\": \"Ο υπολογισμός διαγράφηκε επιτυχώς\",\n    \"categories\": {\n      \"categories_list\": \"Λίστα Κατηγορίων\",\n      \"title\": \"Τίτλος\",\n      \"name\": \"Όνομα\",\n      \"description\": \"Περιγραφή\",\n      \"amount\": \"Ποσό\",\n      \"actions\": \"Ενέργειες\",\n      \"add_category\": \"Προσθήκη Κατηγορίας\",\n      \"new_category\": \"Νέα κατηγορία\",\n      \"category\": \"Κατηγορία \\\"Κατηγορίες\",\n      \"select_a_category\": \"Επιλέξτε μια κατηγορία\"\n    }\n  },\n  \"login\": {\n    \"email\": \"Ηλεκτρονική διεύθυνση\",\n    \"password\": \"Κωδικός\",\n    \"forgot_password\": \"Ξεχάσατε τον κωδικό;\",\n    \"or_signIn_with\": \"or sign in with\",\n    \"login\": \"Σύνδεση\",\n    \"register\": \"Εγγραφείτε\",\n    \"reset_password\": \"Επαναφορά κωδικού πρόσβασης\",\n    \"password_reset_successfully\": \"Επαναφορά του κωδικού πρόσβασης με επιτυχία\",\n    \"enter_email\": \"Εισάγετε email\",\n    \"enter_password\": \"Εισαγωγή κωδικού πρόσβασης\",\n    \"retype_password\": \"Πληκτρολόγησε και πάλι τον κωδικό\"\n  },\n  \"modules\": {\n    \"buy_now\": \"Buy Now\",\n    \"install\": \"Install\",\n    \"price\": \"Price\",\n    \"download_zip_file\": \"Download ZIP file\",\n    \"unzipping_package\": \"Unzipping Package\",\n    \"copying_files\": \"Copying Files\",\n    \"deleting_files\": \"Deleting Unused files\",\n    \"completing_installation\": \"Completing Installation\",\n    \"update_failed\": \"Update Failed\",\n    \"install_success\": \"Module has been installed successfully!\",\n    \"customer_reviews\": \"Reviews\",\n    \"license\": \"License\",\n    \"faq\": \"FAQ\",\n    \"monthly\": \"Monthly\",\n    \"yearly\": \"Yearly\",\n    \"updated\": \"Updated\",\n    \"version\": \"Version\",\n    \"disable\": \"Disable\",\n    \"module_disabled\": \"Module Disabled\",\n    \"enable\": \"Enable\",\n    \"module_enabled\": \"Module Enabled\",\n    \"update_to\": \"Update To\",\n    \"module_updated\": \"Module Updated Successfully!\",\n    \"title\": \"Πρόσθετα\",\n    \"module\": \"Module | Modules\",\n    \"api_token\": \"API token\",\n    \"invalid_api_token\": \"Invalid API Token.\",\n    \"other_modules\": \"Other Modules\",\n    \"view_all\": \"View All\",\n    \"no_reviews_found\": \"There are no reviews for this module yet!\",\n    \"module_not_purchased\": \"Module Not Purchased\",\n    \"module_not_found\": \"Module Not Found\",\n    \"version_not_supported\": \"This module version doesn't support the current version of Crater\",\n    \"last_updated\": \"Last Updated On\",\n    \"connect_installation\": \"Σύνδεση της εγκατάστασης σας\",\n    \"api_token_description\": \"Συνδεθείτε στο {url} και συνδέστε αυτήν την εγκατάσταση εισάγοντας το API Token. Τα πρόσθετα που αγοράσατε θα εμφανιστούν εδώ μετά την ολοκλήρωση της σύνδεσης.\",\n    \"view_module\": \"Δείτε το πρόσθετο\",\n    \"update_available\": \"Διαθέσιμη ανανέωση\",\n    \"purchased\": \"Purchased\",\n    \"installed\": \"Εγκαταστάθηκε\",\n    \"no_modules_installed\": \"Δεν υπάρχουν ακόμα εγκατεστημένα πρόσθετα!\",\n    \"disable_warning\": \"All the settings for this particular will be reverted.\",\n    \"what_you_get\": \"What you get\"\n  },\n  \"users\": {\n    \"title\": \"Χρήστες\",\n    \"users_list\": \"Λίστα Χρηστών\",\n    \"name\": \"Όνομα\",\n    \"description\": \"Περιγραφή\",\n    \"added_on\": \"Προστέθηκε Στις\",\n    \"date_of_creation\": \"Ημερομηνία Δημιουργίας\",\n    \"action\": \"Ενέργεια\",\n    \"add_user\": \"Προσθήκη Χρήστη\",\n    \"save_user\": \"Αποθήκευση Χρήστη\",\n    \"update_user\": \"Ενημέρωση χρήστη\",\n    \"user\": \"Χρήστης | Χρήστες\",\n    \"add_new_user\": \"Προσθήκη νέου Χρήστη\",\n    \"new_user\": \"Νέος χρήστης\",\n    \"edit_user\": \"Επεξεργασία Χρήστη\",\n    \"no_users\": \"Δεν υπάρχουν Στοιχεία ακόμα!\",\n    \"list_of_users\": \"Αυτή η ενότητα θα περιέχει τη λίστα των στοιχείων.\",\n    \"email\": \"Ηλεκτρονική διεύθυνση\",\n    \"phone\": \"Τηλέφωνο\",\n    \"password\": \"Κωδικός\",\n    \"user_attached_message\": \"Δεν είναι δυνατή η διαγραφή ενός στοιχείου που χρησιμοποιείται ήδη\",\n    \"confirm_delete\": \"Δεν θα είστε σε θέση να ανακτήσει αυτή την εκτίμηση ’, δεν θα είστε σε θέση να ανακτήσει αυτές τις εκτιμήσεις\",\n    \"created_message\": \"Ο χρήστης δημιουργήθηκε με επιτυχία\",\n    \"updated_message\": \"Ο χρήστης ενημερώθηκε με επιτυχία\",\n    \"deleted_message\": \"Ο υπολογισμός διαγράφηκε επιτυχώς\",\n    \"select_company_role\": \"Επιλέξτε ρόλο για {company}\",\n    \"companies\": \"Εταιρείες\"\n  },\n  \"reports\": {\n    \"title\": \"Αναφορά\",\n    \"from_date\": \"Από Ημερομηνία\",\n    \"to_date\": \"Έως ημερομηνία\",\n    \"status\": \"Κατάσταση\",\n    \"paid\": \"Εξοφλημένο\",\n    \"unpaid\": \"Ανεξόφλητο\",\n    \"download_pdf\": \"Λήψη PDF\",\n    \"view_pdf\": \"Προβολή PDF\",\n    \"update_report\": \"Ενημέρωση Αναφοράς\",\n    \"report\": \"Αναφορά | Αναφορές\",\n    \"profit_loss\": {\n      \"profit_loss\": \"Κέρδη & Απώλεια\",\n      \"to_date\": \"Έως ημερομηνία\",\n      \"from_date\": \"Από Ημερομηνία\",\n      \"date_range\": \"Επιλέξτε εύρος ημερομηνίας\"\n    },\n    \"sales\": {\n      \"sales\": \"Πωλήσεις\",\n      \"date_range\": \"Επιλέξτε εύρος ημερομηνίας\",\n      \"to_date\": \"Έως ημερομηνία\",\n      \"from_date\": \"Από Ημερομηνία\",\n      \"report_type\": \"Τύπος Αναφοράς\"\n    },\n    \"taxes\": {\n      \"taxes\": \"Φόροι\",\n      \"to_date\": \"Έως ημερομηνία\",\n      \"from_date\": \"Από Ημερομηνία\",\n      \"date_range\": \"Επιλέξτε εύρος ημερομηνίας\"\n    },\n    \"errors\": {\n      \"required\": \"Το πεδίο είναι υποχρεωτικό\"\n    },\n    \"invoices\": {\n      \"invoice\": \"Τιμολόγιο\",\n      \"invoice_date\": \"Ημερομηνία Τιμολογίου\",\n      \"due_date\": \"Ημερομηνία λήξης\",\n      \"amount\": \"Ποσό\",\n      \"contact_name\": \"Όνομα Επαφής\",\n      \"status\": \"Κατάσταση\"\n    },\n    \"estimates\": {\n      \"estimate\": \"Εκτιμώμενο\",\n      \"estimate_date\": \"Εκτιμώμενη ημ. επισκευής\",\n      \"due_date\": \"Ημερομηνία λήξης\",\n      \"estimate_number\": \"Εκτίμηση Αριθμού\",\n      \"ref_number\": \"Αριθμός Αναφοράς\",\n      \"amount\": \"Ποσό\",\n      \"contact_name\": \"Όνομα Επαφής\",\n      \"status\": \"Κατάσταση\"\n    },\n    \"expenses\": {\n      \"expenses\": \"Έξοδα\",\n      \"category\": \"Κατηγορία\",\n      \"date\": \"Ημερομηνία\",\n      \"amount\": \"Ποσό\",\n      \"to_date\": \"Έως ημερομηνία\",\n      \"from_date\": \"Από Ημερομηνία\",\n      \"date_range\": \"Επιλέξτε εύρος ημερομηνίας\"\n    }\n  },\n  \"settings\": {\n    \"menu_title\": {\n      \"account_settings\": \"Ρυθμίσεις Λογαριασμού\",\n      \"company_information\": \"Πληροφορίες Εταιρίας\",\n      \"customization\": \"Προσαρμογή\",\n      \"preferences\": \"Ρυθμίσεις\",\n      \"notifications\": \"Ειδοποιήσεις\",\n      \"tax_types\": \"Φορολογική κλάση\",\n      \"expense_category\": \"Κατηγορίες Εξόδων\",\n      \"update_app\": \"Ενημέρωση εφαρμογής\",\n      \"backup\": \"Αντίγραφα ασφαλείας\",\n      \"file_disk\": \"Δίσκος Αρχείου\",\n      \"custom_fields\": \"Προσαρμοσμένα πεδία\",\n      \"payment_modes\": \"Τρόπος πληρωμής\",\n      \"notes\": \"Σημειώσεις\",\n      \"exchange_rate\": \"Συναλλαγματική ισοτιμία\",\n      \"address_information\": \"Address Information\"\n    },\n    \"address_information\": {\n      \"section_description\": \"  You can update Your Address information using form below.\"\n    },\n    \"title\": \"Ρυθμίσεις\",\n    \"setting\": \"Ρύθμιση Ρυθμίσεων\",\n    \"general\": \"General\",\n    \"language\": \"Γλώσσα\",\n    \"primary_currency\": \"Κύριο Νόμισμα\",\n    \"timezone\": \"Ζώνη Ώρας\",\n    \"date_format\": \"Μορφή Ημερομηνίας\",\n    \"currencies\": {\n      \"title\": \"Συνάλλαγμα\",\n      \"currency\": \"Νόμισμα\",\n      \"currencies_list\": \"Λίστα συναλλαγμάτων\",\n      \"select_currency\": \"Επιλογή νομίσματος\",\n      \"name\": \"Όνομα\",\n      \"code\": \"Κώδικας\",\n      \"symbol\": \"Σύμβολο\",\n      \"precision\": \"Ακρίβεια\",\n      \"thousand_separator\": \"Διαχωριστικό χιλιάδων\",\n      \"decimal_separator\": \"Διαχωριστής δεκαδικών\",\n      \"position\": \"Θέση\",\n      \"position_of_symbol\": \"Θέση Συμβόλου\",\n      \"right\": \"Δεξιά\",\n      \"left\": \"Αριστερά\",\n      \"action\": \"Ενέργεια\",\n      \"add_currency\": \"Προσθέστε νόμισμα\"\n    },\n    \"mail\": {\n      \"host\": \"Διακομιστής Αλληλογραφίας\",\n      \"port\": \"Διακομιστής Αλληλογραφίας\",\n      \"driver\": \"Οδηγός Αλληλογραφίας\",\n      \"secret\": \"Μυστικό\",\n      \"mailgun_secret\": \"Μυστικό Mailgun\",\n      \"mailgun_domain\": \"Τομέας\",\n      \"mailgun_endpoint\": \"Mailgun Endpoint\",\n      \"ses_secret\": \"SES Μυστικό\",\n      \"ses_key\": \"Κλειδί SES\",\n      \"password\": \"Κωδικός Πρόσβασης Ταχυδρομείου\",\n      \"username\": \"Όνομα Ταχυδρομείου\",\n      \"mail_config\": \"Διαμόρφωση Mail\",\n      \"from_name\": \"Όνομα Αποστολέα\",\n      \"from_mail\": \"Διεύθυνση Αποστολής\",\n      \"encryption\": \"Κρυπτογράφηση Email\",\n      \"mail_config_desc\": \"Παρακάτω είναι η φόρμα για τη ρύθμιση παραμέτρων του προγράμματος οδήγησης ηλεκτρονικού ταχυδρομείου για την αποστολή μηνυμάτων ηλεκτρονικού ταχυδρομείου από την εφαρμογή. Μπορείτε επίσης να ρυθμίσετε τις παραμέτρους τρίτων παρόχων όπως το Sendgrid, το SES κλπ.\"\n    },\n    \"pdf\": {\n      \"title\": \"Ρυθμίσεις PDF\",\n      \"footer_text\": \"Κείμενο Υποσέλιδου\",\n      \"pdf_layout\": \"Διάταξη PDF\"\n    },\n    \"company_info\": {\n      \"company_info\": \"Πληροφορίες Εταιρίας\",\n      \"company_name\": \"Όνομα Εταιρείας\",\n      \"company_logo\": \"Λογότυπο Εταιρείας\",\n      \"section_description\": \"Πληροφορίες σχετικά με την εταιρεία σας που θα εμφανίζονται σε τιμολόγια, εκτιμήσεις και άλλα έγγραφα που δημιουργούνται από την Crater.\",\n      \"phone\": \"Τηλέφωνο\",\n      \"country\": \"Χώρα\",\n      \"state\": \"Νομός\",\n      \"city\": \"Πόλη\",\n      \"address\": \"Διεύθυνση\",\n      \"zip\": \"Ταχυδρομικός Κώδικας\",\n      \"save\": \"Αποθήκευση\",\n      \"delete\": \"Διαγραφή\",\n      \"updated_message\": \"Οι πληροφορίες για τον πύργο εμφιάλωσης ενημερώθηκαν επιτυχώς.\",\n      \"delete_company\": \"Διαγραφή Εταιρείας\",\n      \"delete_company_description\": \"Μόλις διαγράψετε την εταιρεία σας, θα χάσετε όλα τα δεδομένα και τα αρχεία που σχετίζονται με αυτή μόνιμα.\",\n      \"are_you_absolutely_sure\": \"Είσαι σίγουρος/η;\",\n      \"delete_company_modal_desc\": \"Αυτή η ενέργεια δεν μπορεί να αναιρεθεί. Αυτό θα διαγράψει μόνιμα {company} και όλα τα συσχετισμένα δεδομένα.\",\n      \"delete_company_modal_label\": \"Παρακαλώ πληκτρολογήστε {company} για επιβεβαίωση\"\n    },\n    \"custom_fields\": {\n      \"title\": \"Προσαρμοσμένα πεδία\",\n      \"section_description\": \"Προσαρμόστε τα Τιμολόγια σας, Εκτιμήσεις & Αποδείξεις Πληρωμής με τα δικά σας πεδία. Σιγουρευτείτε ότι χρησιμοποιείτε τα παρακάτω πεδία στις μορφές διευθύνσεων στη σελίδα Ρυθμίσεις προσαρμογής.\",\n      \"add_custom_field\": \"Προσθήκη προσαρμοσμένου πεδίου\",\n      \"edit_custom_field\": \"Επεξεργασία Προσαρμοσμένου Πεδίου\",\n      \"field_name\": \"Όνομα πεδίου\",\n      \"label\": \"Επιγραφή\",\n      \"type\": \"Type\",\n      \"name\": \"Όνομα\",\n      \"slug\": \"Δυνατό χτύπημα\",\n      \"required\": \"Απαιτείται\",\n      \"placeholder\": \"Σύμβολο υποκατάστασης\",\n      \"help_text\": \"Κείμενο βοήθειας\",\n      \"default_value\": \"Προεπιλεγμένη τιμή\",\n      \"prefix\": \"Πρόθεμα\",\n      \"starting_number\": \"Αρχή αρίθμησης από\",\n      \"model\": \"Μοντέλο\",\n      \"help_text_description\": \"Εισάγετε κάποιο κείμενο για να βοηθήσετε τους χρήστες να κατανοήσουν τον σκοπό αυτού του προσαρμοσμένου πεδίου.\",\n      \"suffix\": \"Επίθεμα\",\n      \"yes\": \"Ναι\",\n      \"no\": \"Όχι\",\n      \"order\": \"Σειρά\",\n      \"custom_field_confirm_delete\": \"Δεν θα μπορείτε να ανακτήσετε αυτό το Προσαρμοσμένο Πεδίο\",\n      \"already_in_use\": \"Η διεύθυνση email χρησιμοποιείται ήδη\",\n      \"deleted_message\": \"Επιτυχής διαγραφή προσαρμοσμένου κλειδιού\",\n      \"options\": \"ρυθμίσεις\",\n      \"add_option\": \"Προσθήκη επιλογής\",\n      \"add_another_option\": \"Προσθήκη άλλης επιλογής\",\n      \"sort_in_alphabetical_order\": \"Ταξινόμηση σε αλφαβητική σειρά\",\n      \"add_options_in_bulk\": \"Προσθήκη επιλογών μαζικά\",\n      \"use_predefined_options\": \"Χρήση Προκαθορισμένων Επιλογών\",\n      \"select_custom_date\": \"Επιλέξτε Προσαρμοσμένη Ημερομηνία\",\n      \"select_relative_date\": \"Επιλέξτε ημερομηνία επιστροφής\",\n      \"ticked_by_default\": \"Ενεργοποιημένη από προεπιλογή\",\n      \"updated_message\": \"Επιτυχής διαγραφή προσαρμοσμένου κλειδιού\",\n      \"added_message\": \"Επιτυχής διαγραφή προσαρμοσμένου κλειδιού\",\n      \"press_enter_to_add\": \"Πατήστε enter για να προσθέσετε νέα επιλογή\",\n      \"model_in_use\": \"Δεν είναι δυνατή η ενημέρωση μοντέλου για πεδία που είναι ήδη σε χρήση.\",\n      \"type_in_use\": \"Δεν είναι δυνατή η ενημέρωση μοντέλου για πεδία που είναι ήδη σε χρήση.\"\n    },\n    \"customization\": {\n      \"customization\": \"προσαρμογή\",\n      \"updated_message\": \"Οι πληροφορίες για τον πύργο εμφιάλωσης ενημερώθηκαν επιτυχώς.\",\n      \"save\": \"Αποθήκευση\",\n      \"insert_fields\": \"Πεδίο ετικέτας\",\n      \"learn_custom_format\": \"Μάθετε πώς να χρησιμοποιείτε προσαρμοσμένη μορφή\",\n      \"add_new_component\": \"Προσθήκη στοιχείου\",\n      \"component\": \"Συστατικό\",\n      \"Parameter\": \"Παράμετρος\",\n      \"series\": \"Σειρά\",\n      \"series_description\": \"Για να ορίσετε ένα στατικό πρόθεμα/επίθεμα όπως 'INV' σε όλη την εταιρεία σας. Υποστηρίζει μήκος χαρακτήρα έως και 4 χαρακτήρες.\",\n      \"series_param_label\": \"Όνομα σειράς\",\n      \"delimiter\": \"Διαχωριστικό\",\n      \"delimiter_description\": \"Ενιαίος χαρακτήρας για τον καθορισμό του ορίου μεταξύ 2 ξεχωριστών στοιχείων. Από προεπιλογή το σετ του -\",\n      \"delimiter_param_label\": \"Τιμή Οριοθέτη\",\n      \"date_format\": \"Μορφή Ημερομηνίας\",\n      \"date_format_description\": \"Ένα τοπικό πεδίο ημερομηνίας και ώρας που δέχεται μια παράμετρο μορφής. Η προεπιλεγμένη μορφή: 'Y' εμφανίζει το τρέχον έτος.\",\n      \"date_format_param_label\": \"Μορφή\",\n      \"sequence\": \"Αλληλουχία\",\n      \"sequence_description\": \"Συνεχής ακολουθία αριθμών σε όλη την εταιρεία σας. Μπορείτε να καθορίσετε το μήκος του δοσμένου παραμέτρου.\",\n      \"sequence_param_label\": \"Μήκος Ακολουθίας\",\n      \"customer_series\": \"Σειρά Πελατών\",\n      \"customer_series_description\": \"Για να ορίσετε ένα διαφορετικό πρόθεμα/επίθεμα για κάθε πελάτη.\",\n      \"customer_sequence\": \"Προσαρμόστε την αριθμοδότηση\",\n      \"customer_sequence_description\": \"Συνεχής ακολουθία αριθμών για κάθε πελάτη σας.\",\n      \"customer_sequence_param_label\": \"Μήκος Ακολουθίας\",\n      \"random_sequence\": \"Τυχαία Ακολουθία\",\n      \"random_sequence_description\": \"Τυχαία αλφαριθμητική συμβολοσειρά. Μπορείτε να καθορίσετε το μήκος του δοσμένου παραμέτρου.\",\n      \"random_sequence_param_label\": \"Μήκος Ακολουθίας\",\n      \"invoices\": {\n        \"title\": \"Τιμολόγια\",\n        \"invoice_number_format\": \"Μορφή Αριθμού Τιμολογίου\",\n        \"invoice_number_format_description\": \"Προσαρμόστε τον τρόπο με τον οποίο δημιουργείται αυτόματα ο υπολογισμός σας όταν δημιουργείτε μια νέα εκτίμηση.\",\n        \"preview_invoice_number\": \"Προεπισκόπηση Αριθμού Τιμολογίου\",\n        \"due_date\": \"Ημερομηνία λήξης\",\n        \"due_date_description\": \"Καθορίστε πώς ορίζεται αυτόματα η ημερομηνία λήξης όταν δημιουργείτε μια εκτίμηση.\",\n        \"due_date_days\": \"Τιμολόγια ληξιπρόθεσμα μετά από (ημέρες)\",\n        \"set_due_date_automatically\": \"Ορισμός Ημερομηνίας Λήξης Αυτόματα\",\n        \"set_due_date_automatically_description\": \"Ενεργοποιήστε το αν επιθυμείτε να ορίσετε την ημερομηνία λήξης αυτόματα όταν δημιουργείτε μια νέα εκτίμηση.\",\n        \"default_formats\": \"Προεπιλεγμένες επεκτάσεις\",\n        \"default_formats_description\": \"Παρακάτω οι παρακάτω μορφές χρησιμοποιούνται για να γεμίσουν αυτόματα τα πεδία στη δημιουργία τιμολογίων.\",\n        \"default_invoice_email_body\": \"Προκαθορισμένο Σώμα Email Τιμολογίου\",\n        \"company_address_format\": \"Μορφή Διεύθυνσης Εταιρείας\",\n        \"shipping_address_format\": \"Μορφή Διεύθυνσης Αποστολής\",\n        \"billing_address_format\": \"Μορφή Διεύθυνσης Χρέωσης\",\n        \"invoice_email_attachment\": \"Αποστολή τιμολογίων ως συνημμένων\",\n        \"invoice_email_attachment_setting_description\": \"Ενεργοποιήστε αυτό αν θέλετε να στείλετε τιμολόγια ως συνημμένο email. Παρακαλώ σημειώστε ότι το κουμπί 'Προβολή Τιμολογίου' στα μηνύματα ηλεκτρονικού ταχυδρομείου δεν θα εμφανίζεται πλέον όταν είναι ενεργοποιημένο.\",\n        \"invoice_settings_updated\": \"Οι Ρυθμίσεις ενημερώθηκαν επιτυχώς\",\n        \"retrospective_edits\": \"Αναδρομικές Διεργασίες\",\n        \"allow\": \"Αποδοχή\",\n        \"disable_on_invoice_partial_paid\": \"Απενεργοποίηση μετά την εγγραφή μερικής πληρωμής\",\n        \"disable_on_invoice_paid\": \"Απενεργοποίηση μετά την εγγραφή μερικής πληρωμής\",\n        \"disable_on_invoice_sent\": \"Απενεργοποίηση μετά την αποστολή τιμολογίου\",\n        \"retrospective_edits_description\": \" Με βάση τους νόμους της χώρας σας ή τις προτιμήσεις σας, μπορείτε να περιορίσετε τους χρήστες από την επεξεργασία οριστικοποιημένων τιμολογίων.\"\n      },\n      \"estimates\": {\n        \"title\": \"Εκτιμήσεις\",\n        \"estimate_number_format\": \"Εκτίμηση Μορφής Αριθμού\",\n        \"estimate_number_format_description\": \"Προσαρμόστε τον τρόπο με τον οποίο δημιουργείται αυτόματα ο υπολογισμός σας όταν δημιουργείτε μια νέα εκτίμηση.\",\n        \"preview_estimate_number\": \"Εκτίμηση Αριθμού Προεπισκόπησης\",\n        \"expiry_date\": \"Ημερομηνία λήξης\",\n        \"expiry_date_description\": \"Καθορίστε πώς ορίζεται αυτόματα η ημερομηνία λήξης όταν δημιουργείτε μια εκτίμηση.\",\n        \"expiry_date_days\": \"Ο υπολογισμός λήγει μετά από ημέρες\",\n        \"set_expiry_date_automatically\": \"Ορισμός Ημερομηνίας Λήξης Αυτόματα\",\n        \"set_expiry_date_automatically_description\": \"Ενεργοποιήστε το αν επιθυμείτε να ορίσετε την ημερομηνία λήξης αυτόματα όταν δημιουργείτε μια νέα εκτίμηση.\",\n        \"default_formats\": \"Προεπιλεγμένες επεκτάσεις\",\n        \"default_formats_description\": \"Παρακάτω οι παρακάτω μορφές χρησιμοποιούνται για να γεμίσουν αυτόματα τα πεδία στη δημιουργία τιμολογίων.\",\n        \"default_estimate_email_body\": \"Προκαθορισμένο Σώμα Email Τιμολογίου\",\n        \"company_address_format\": \"Μορφή Διεύθυνσης Εταιρείας\",\n        \"shipping_address_format\": \"Μορφή Διεύθυνσης Αποστολής\",\n        \"billing_address_format\": \"Μορφή Διεύθυνσης Χρέωσης\",\n        \"estimate_email_attachment\": \"Αποστολή τιμολογίων ως συνημμένων\",\n        \"estimate_email_attachment_setting_description\": \"Ενεργοποιήστε αυτό αν θέλετε να στείλετε τιμολόγια ως συνημμένο email. Παρακαλώ σημειώστε ότι το κουμπί 'Προβολή Τιμολογίου' στα μηνύματα ηλεκτρονικού ταχυδρομείου δεν θα εμφανίζεται πλέον όταν είναι ενεργοποιημένο.\",\n        \"estimate_settings_updated\": \"Οι Ρυθμίσεις ενημερώθηκαν επιτυχώς\",\n        \"convert_estimate_options\": \"Εκτίμηση Μετατροπής Ενέργειας\",\n        \"convert_estimate_description\": \"Καθορίστε τι συμβαίνει στην εκτίμηση αφού μετατραπεί σε τιμολόγιο.\",\n        \"no_action\": \"Καμία ενέργεια\",\n        \"delete_estimate\": \"Διαγραφή εκτίμησης\",\n        \"mark_estimate_as_accepted\": \"Σημειώστε την εκτίμηση ως αποδεκτή\"\n      },\n      \"payments\": {\n        \"title\": \"Πληρωμές\",\n        \"payment_number_format\": \"Μορφή Αριθμού Πληρωμής\",\n        \"payment_number_format_description\": \"Προσαρμόστε τον τρόπο με τον οποίο δημιουργείται αυτόματα ο υπολογισμός σας όταν δημιουργείτε μια νέα εκτίμηση.\",\n        \"preview_payment_number\": \"Προεπισκόπηση Αριθμού Πληρωμής\",\n        \"default_formats\": \"Προεπιλεγμένες επεκτάσεις\",\n        \"default_formats_description\": \"Παρακάτω οι παρακάτω μορφές χρησιμοποιούνται για να γεμίσουν αυτόματα τα πεδία στη δημιουργία τιμολογίων.\",\n        \"default_payment_email_body\": \"Προκαθορισμένο Σώμα Email Τιμολογίου\",\n        \"company_address_format\": \"Μορφή Διεύθυνσης Εταιρείας\",\n        \"from_customer_address_format\": \"Από Τη Μορφή Διεύθυνσης Πελάτη\",\n        \"payment_email_attachment\": \"Αποστολή τιμολογίων ως συνημμένων\",\n        \"payment_email_attachment_setting_description\": \"Ενεργοποιήστε αυτό αν θέλετε να στείλετε τιμολόγια ως συνημμένο email. Παρακαλώ σημειώστε ότι το κουμπί 'Προβολή Τιμολογίου' στα μηνύματα ηλεκτρονικού ταχυδρομείου δεν θα εμφανίζεται πλέον όταν είναι ενεργοποιημένο.\",\n        \"payment_settings_updated\": \"Οι Ρυθμίσεις ενημερώθηκαν επιτυχώς\"\n      },\n      \"items\": {\n        \"title\": \"Προϊόντα\",\n        \"units\": \"Μονάδες\",\n        \"add_item_unit\": \"Προσθήκη Μονάδας Αντικειμένου\",\n        \"edit_item_unit\": \"Προσθήκη Μονάδας Αντικειμένου\",\n        \"unit_name\": \"Όνομα μονάδας\",\n        \"item_unit_added\": \"Το Αντικείμενο Δεν Προσθέθηκε\",\n        \"item_unit_updated\": \"Το Αντικείμενο Δεν Προσθέθηκε\",\n        \"item_unit_confirm_delete\": \"Δεν θα μπορείτε να ανακτήσετε αυτό το Προσαρμοσμένο Πεδίο\",\n        \"already_in_use\": \"Η διεύθυνση email χρησιμοποιείται ήδη\",\n        \"deleted_message\": \"Τα στοιχεία έχουν διαγραφεί με επιτυχία\"\n      },\n      \"notes\": {\n        \"title\": \"Σημειώσεις\",\n        \"description\": \"Εξοικονομήστε χρόνο δημιουργώντας σημειώσεις και επαναχρησιμοποίησή τους στα τιμολόγια σας, εκτιμήσεις και πληρωμές.\",\n        \"notes\": \"Σημειώσεις\",\n        \"type\": \"Type\",\n        \"add_note\": \"Προσθήκη σημείωσης\",\n        \"add_new_note\": \"Προσθήκη Νέας Σημείωσης\",\n        \"name\": \"Όνομα\",\n        \"edit_note\": \"Επεξεργασία σημείωσης\",\n        \"note_added\": \"προστέθηκε με επιτυχία\",\n        \"note_updated\": \"Ο ρόλος ενημερώθηκε με επιτυχία.\",\n        \"note_confirm_delete\": \"Δεν θα μπορείτε να ανακτήσετε αυτό το Προσαρμοσμένο Πεδίο\",\n        \"already_in_use\": \"Το όνομα είναι ήδη σε χρήση\",\n        \"deleted_message\": \"Ο ρόλος διαγράφηκε με επιτυχία\"\n      }\n    },\n    \"account_settings\": {\n      \"profile_picture\": \"Εικόνα Προφίλ\",\n      \"name\": \"Όνομα\",\n      \"email\": \"Ηλεκτρονική διεύθυνση\",\n      \"password\": \"Κωδικός\",\n      \"confirm_password\": \"Επιβεβαίωση Κωδικού\",\n      \"account_settings\": \"Ρυθμίσεις Λογαριασμού\",\n      \"save\": \"Αποθήκευση\",\n      \"section_description\": \"Μπορείτε να ενημερώσετε το όνομά σας, email & κωδικό πρόσβασης χρησιμοποιώντας την παρακάτω φόρμα.\",\n      \"updated_message\": \"Οι ρυθμίσεις του λογαριασμού ενημερώθηκαν επιτυχώς!\"\n    },\n    \"user_profile\": {\n      \"name\": \"Όνομα\",\n      \"email\": \"Ηλεκτρονική διεύθυνση\",\n      \"password\": \"Κωδικός\",\n      \"confirm_password\": \"Επιβεβαίωση Κωδικού\"\n    },\n    \"notification\": {\n      \"title\": \"Ειδοποιήσεις\",\n      \"email\": \"Αποστολή ειδοποιήσεων\",\n      \"description\": \"Ποιες ειδοποιήσεις ηλεκτρονικού ταχυδρομείου θα θέλατε να λαμβάνετε όταν κάτι αλλάζει?\",\n      \"invoice_viewed\": \"Τιμολόγιο προβλήθηκε\",\n      \"invoice_viewed_desc\": \"Όταν ο πελάτης σας βλέπει το τιμολόγιο που αποστέλλεται μέσω του πίνακα ελέγχου.\",\n      \"estimate_viewed\": \"Εκτίμηση προβεβλημένων\",\n      \"estimate_viewed_desc\": \"Όταν ο πελάτης σας βλέπει την εκτίμηση που αποστέλλεται μέσω του πίνακα ελέγχου κρατήσεων.\",\n      \"save\": \"Αποθήκευση\",\n      \"email_save_message\": \"Το Μήνυμα εστάλη επιτυχώς\",\n      \"please_enter_email\": \"Εισαγάγετε e-mail\"\n    },\n    \"roles\": {\n      \"title\": \"Ρόλοι\",\n      \"description\": \"Διαχειριστείτε τους ρόλους και τα δικαιώματα αυτής της εταιρείας\",\n      \"save\": \"Αποθήκευση\",\n      \"add_new_role\": \"Προσθήκη Νέου Ρόλου\",\n      \"role_name\": \"Όνομα ρόλου\",\n      \"added_on\": \"Προστέθηκε στις\",\n      \"add_role\": \"Προσθήκη ρόλου\",\n      \"edit_role\": \"Επεξεργασία Ρόλου\",\n      \"name\": \"Όνομα\",\n      \"permission\": \"Δικαιώματα Δικαιωμάτων\",\n      \"select_all\": \"Επιλογή Όλων\",\n      \"none\": \"Κανείς\",\n      \"confirm_delete\": \"Δεν θα μπορείτε να ανακτήσετε αυτό το Προσαρμοσμένο Πεδίο\",\n      \"created_message\": \"Ο χρήστης δημιουργήθηκε με επιτυχία\",\n      \"updated_message\": \"Ο ρόλος ενημερώθηκε με επιτυχία.\",\n      \"deleted_message\": \"Ο ρόλος διαγράφηκε με επιτυχία\",\n      \"already_in_use\": \"Το όνομα είναι ήδη σε χρήση\"\n    },\n    \"exchange_rate\": {\n      \"exchange_rate\": \"Συναλλαγματική ισοτιμία\",\n      \"title\": \"Διόρθωση ζητημάτων συναλλάγματος\",\n      \"description\": \"Παρακαλούμε εισάγετε τη συναλλαγματική ισοτιμία όλων των νομισμάτων που αναφέρονται παρακάτω για να βοηθήσετε τον Κρατήρα να υπολογίσει σωστά τα ποσά σε {currency}.\",\n      \"drivers\": \"Οδηγοί\",\n      \"new_driver\": \"Προσθήκη νέας υπηρεσίας παροχής\",\n      \"edit_driver\": \"Επεξεργασία παρόχου\",\n      \"select_driver\": \"Επιλέξτε έναν Οδηγό\",\n      \"update\": \"επιλογή συναλλαγματικής ισοτιμίας \",\n      \"providers_description\": \"Ρυθμίστε τους παρόχους συναλλαγματικών ισοτιμιών σας εδώ για να συγκεντρώσετε αυτόματα την τελευταία συναλλαγματική ισοτιμία στις συναλλαγές.\",\n      \"key\": \"Κλειδί API\",\n      \"name\": \"Όνομα\",\n      \"driver\": \"Οδηγός\",\n      \"is_default\": \"IS ΠΡΟΦΥΛΑΞΗ\",\n      \"currency\": \"Συνάλλαγμα\",\n      \"exchange_rate_confirm_delete\": \"Δεν θα μπορείτε να ανακτήσετε αυτό το Προσαρμοσμένο Πεδίο\",\n      \"created_message\": \"Ο πελάτης δημιουργήθηκε με επιτυχία\",\n      \"updated_message\": \"Ο πελάτης δημιουργήθηκε με επιτυχία\",\n      \"deleted_message\": \"Ο πελάτης δημιουργήθηκε με επιτυχία\",\n      \"error\": \" Δεν μπορείτε να Διαγράψετε το Ενεργό Οδηγό\",\n      \"default_currency_error\": \"Αυτό το νόμισμα χρησιμοποιείται ήδη σε έναν από τους Active Provider\",\n      \"exchange_help_text\": \"Εισάγετε συναλλαγματική ισοτιμία για μετατροπή από {currency} σε {baseCurrency}\",\n      \"currency_freak\": \"Νόμισμα Freak\",\n      \"currency_layer\": \"Στρώμα Νομίσματος\",\n      \"open_exchange_rate\": \"Open Exchange Rates\",\n      \"currency_converter\": \"Μετατροπέας νομίσματος (Automatic Translation)\",\n      \"server\": \"Σέρβερ\",\n      \"url\": \"Διεύθυνση URL\",\n      \"active\": \"Ενεργή\",\n      \"currency_help_text\": \"Αυτός ο πάροχος θα χρησιμοποιηθεί μόνο πάνω από τα επιλεγμένα νομίσματα\",\n      \"currency_in_used\": \"Τα ακόλουθα νομίσματα είναι ήδη ενεργά σε άλλο πάροχο. Παρακαλώ αφαιρέστε αυτά τα νομίσματα από την επιλογή για να ενεργοποιήσετε ξανά αυτόν τον πάροχο.\"\n    },\n    \"tax_types\": {\n      \"title\": \"Φορολογική κλάση\",\n      \"add_tax\": \"Προσθήκη Φόρου\",\n      \"edit_tax\": \"Επεξεργασία φόρου\",\n      \"description\": \"Μπορείτε να προσθέσετε ή να αφαιρέσετε φόρους όπως σας παρακαλώ. Κρατήρα υποστηρίζει φόρους επί μεμονωμένων προϊόντων καθώς και στο τιμολόγιο.\",\n      \"add_new_tax\": \"Προσθήκη Νέου Φόρου\",\n      \"tax_settings\": \"Φορολογικές ρυθμίσεις\",\n      \"tax_per_item\": \"Στοιχείο Φόντου Υπομενού\",\n      \"tax_name\": \"Όνομα Φόρου\",\n      \"compound_tax\": \"Σύνθετος Φόρος\",\n      \"percent\": \"Ποσοστό\",\n      \"action\": \"Ενέργεια\",\n      \"tax_setting_description\": \"Ενεργοποιήστε το αν θέλετε να προσθέσετε έκπτωση σε μεμονωμένα στοιχεία τιμολογίου. Από προεπιλογή, η έκπτωση προστίθεται απευθείας στο τιμολόγιο.\",\n      \"created_message\": \"Το τιμολόγιο εστάλη επιτυχώς\",\n      \"updated_message\": \"Το τιμολόγιο εστάλη επιτυχώς\",\n      \"deleted_message\": \"Το τιμολόγιο εστάλη επιτυχώς\",\n      \"confirm_delete\": \"Δεν θα μπορείτε να ανακτήσετε αυτό το Προσαρμοσμένο Πεδίο\",\n      \"already_in_use\": \"Το όνομα είναι ήδη σε χρήση\"\n    },\n    \"payment_modes\": {\n      \"title\": \"Τρόπος πληρωμής\",\n      \"description\": \"Τρόποι συναλλαγής για πληρωμές\",\n      \"add_payment_mode\": \"Τρόπος πληρωμής\",\n      \"edit_payment_mode\": \"Τρόπος πληρωμής\",\n      \"mode_name\": \"Όνομα λειτουργίας\",\n      \"payment_mode_added\": \"Προστέθηκε Λειτουργία Πληρωμής\",\n      \"payment_mode_updated\": \"Προστέθηκε Λειτουργία Πληρωμής\",\n      \"payment_mode_confirm_delete\": \"Δεν θα μπορείτε να ανακτήσετε αυτό το Προσαρμοσμένο Πεδίο\",\n      \"payments_attached\": \"This payment method is already attached to payments. Please delete the attached payments to proceed with deletion.\",\n      \"expenses_attached\": \"This payment method is already attached to expenses. Please delete the attached expenses to proceed with deletion.\",\n      \"deleted_message\": \"Η πληρωμή εστάλη επιτυχώς\"\n    },\n    \"expense_category\": {\n      \"title\": \"Κατηγορίες Εξόδων\",\n      \"action\": \"Ενέργεια\",\n      \"description\": \"Απαιτούνται κατηγορίες για την προσθήκη καταχωρήσεων εξόδων. Μπορείτε να προσθέσετε ή να αφαιρέσετε αυτές τις κατηγορίες σύμφωνα με τις προτιμήσεις σας.\",\n      \"add_new_category\": \"Προσθήκη Νέας Κατηγορίας\",\n      \"add_category\": \"Προσθήκη Κατηγορίας\",\n      \"edit_category\": \"Προσθήκη Κατηγορίας\",\n      \"category_name\": \"Όνομα Κατηγορίας\",\n      \"category_description\": \"Περιγραφή\",\n      \"created_message\": \"Το τιμολόγιο εστάλη επιτυχώς\",\n      \"deleted_message\": \"Το τιμολόγιο εστάλη επιτυχώς\",\n      \"updated_message\": \"Το τιμολόγιο εστάλη επιτυχώς\",\n      \"confirm_delete\": \"Δεν θα μπορείτε να ανακτήσετε αυτό το Προσαρμοσμένο Πεδίο\",\n      \"already_in_use\": \"Το όνομα είναι ήδη σε χρήση\"\n    },\n    \"preferences\": {\n      \"currency\": \"Νόμισμα\",\n      \"default_language\": \"Προεπιλεγμένη γλώσσα\",\n      \"time_zone\": \"Ζώνη Ώρας\",\n      \"fiscal_year\": \"Οικονομικό έτος\",\n      \"date_format\": \"Μορφή Ημερομηνίας\",\n      \"discount_setting\": \"Ρυθμίσεις Λογαριασμού\",\n      \"discount_per_item\": \"Έκπτωση Ανά Στοιχείο \",\n      \"discount_setting_description\": \"Ενεργοποιήστε το αν θέλετε να προσθέσετε έκπτωση σε μεμονωμένα στοιχεία τιμολογίου. Από προεπιλογή, η έκπτωση προστίθεται απευθείας στο τιμολόγιο.\",\n      \"expire_public_links\": \"Automatically Expire Public Links\",\n      \"expire_setting_description\": \"Specify whether you would like to expire all the links sent by application to view invoices, estimates & payments, etc after a specified duration.\",\n      \"save\": \"Αποθήκευση\",\n      \"preference\": \"Προτίμηση - Προτιμήσεις\",\n      \"general_settings\": \"Προεπιλεγμένες προτιμήσεις για το σύστημα.\",\n      \"updated_message\": \"Η πληρωμή εστάλη επιτυχώς\",\n      \"select_language\": \"Επιλογή Γλώσσας\",\n      \"select_time_zone\": \"Επιλέξτε ζώνη ώρας\",\n      \"select_date_format\": \"Μορφή σύντομης ημερομηνίας\",\n      \"select_financial_year\": \"Επιλογή Οικονομικού Έτους\",\n      \"recurring_invoice_status\": \"Επαναλαμβανόμενα τιμολόγια\",\n      \"create_status\": \"Δημιουργία κατάστασης\",\n      \"active\": \"Ενεργή\",\n      \"on_hold\": \"Σε αναμονή\",\n      \"update_status\": \"Ενημέρωση Κατάστασης\",\n      \"completed\": \"Ολοκληρώθηκε\",\n      \"company_currency_unchangeable\": \"Το νόμισμα της εταιρείας δεν μπορεί να αλλάξει\"\n    },\n    \"update_app\": {\n      \"title\": \"Ενημέρωση εφαρμογής\",\n      \"description\": \"Μπορείτε εύκολα να ενημερώσετε τον Κρατήρα ελέγχοντας για μια νέα ενημέρωση κάνοντας κλικ στο παρακάτω κουμπί\",\n      \"check_update\": \"Έλεγχος Ενημερώσεων\",\n      \"avail_update\": \"Υπάρχει διαθέσιμη νέα ενημέρωση\",\n      \"next_version\": \"Επόμενη Έκδοση\",\n      \"requirements\": \"Απαιτήσεις\",\n      \"update\": \"Ενημέρωση τώρα\",\n      \"update_progress\": \"Ενημέρωση σε εξέλιξη\",\n      \"progress_text\": \"Θα χρειαστούν μόνο λίγα λεπτά. Παρακαλώ μην ανανεώσετε την οθόνη ή να κλείσετε το παράθυρο πριν τελειώσει η ενημέρωση.\",\n      \"update_success\": \"Η εφαρμογή έχει ενημερωθεί! Παρακαλώ περιμένετε όσο το παράθυρο του περιηγητή σας φορτώνεται αυτόματα.\",\n      \"latest_message\": \"Δεν υπάρχουν προς το παρόν διαθέσιμες ενημερώσεις. Χρησιμοποιείτε την τελευταία έκδοση.\",\n      \"current_version\": \"Τρέχουσα έκδοση\",\n      \"download_zip_file\": \"Κατεβάστε σε ZIP\",\n      \"unzipping_package\": \"Αποσυμπίεση Πακέτου\",\n      \"copying_files\": \"Αντιγραφή Αρχείων\",\n      \"deleting_files\": \"Διαγραφή αχρησιμοποίητων αρχείων\",\n      \"running_migrations\": \"Εκτέλεση Μεταναστών\",\n      \"finishing_update\": \"Ολοκλήρωση Ενημέρωσης\",\n      \"update_failed\": \"Αποτυχία ενημέρωσης\",\n      \"update_failed_text\": \"Συγνώμη! Η ενημέρωσή σας απέτυχε σε: {step} βήμα\",\n      \"update_warning\": \"Όλα τα αρχεία εφαρμογών και τα προεπιλεγμένα αρχεία προτύπων θα αντικατασταθούν όταν ενημερώνετε την εφαρμογή χρησιμοποιώντας αυτό το βοηθητικό πρόγραμμα. Παρακαλώ πάρτε ένα αντίγραφο ασφαλείας των προτύπων και της βάσης δεδομένων σας πριν από την ενημέρωση.\"\n    },\n    \"backup\": {\n      \"title\": \"Αντίγραφο Ασφαλείας \\\"Αντίγραφα Ασφαλείας\",\n      \"description\": \"Το αντίγραφο ασφαλείας είναι ένα zipfile που περιέχει όλα τα αρχεία στους καταλόγους που καθορίζετε μαζί με μια χωματερή της βάσης δεδομένων σας\",\n      \"new_backup\": \"Νέο αντίγραφο ασφαλείας\",\n      \"create_backup\": \"Δημιουργία αντιγράφου ασφαλείας\",\n      \"select_backup_type\": \"Επιλογή Τύπου(ων) Αντιγράφου Ασφαλείας\",\n      \"backup_confirm_delete\": \"Δεν θα μπορείτε να ανακτήσετε αυτό το Προσαρμοσμένο Πεδίο\",\n      \"path\": \"Path\",\n      \"new_disk\": \"Νέος Δίσκος\",\n      \"created_at\": \"Δημιουργήθηκε στις\",\n      \"size\": \"μέγεθος\",\n      \"dropbox\": \"Dropbox\",\n      \"local\": \"Τοπικές ρυθμίσεις\",\n      \"healthy\": \"υγιές\",\n      \"amount_of_backups\": \"ποσό αντιγράφων ασφαλείας\",\n      \"newest_backups\": \"νέα αντίγραφα ασφαλείας\",\n      \"used_storage\": \"Χώρος αποθήκευσης σε χρήση\",\n      \"select_disk\": \"Επιλέξτε δίσκο\",\n      \"action\": \"Ενέργεια\",\n      \"deleted_message\": \"Η διαγραφή των αντιγράφων ασφαλείας ολοκληρώθηκε επιτυχώς\",\n      \"created_message\": \"Η δημιουργία αντιγράφου ασφαλείας ολοκληρώθηκε με επιτυχία\",\n      \"invalid_disk_credentials\": \"Μη έγκυρο διαπιστευτήριο του επιλεγμένου δίσκου\"\n    },\n    \"disk\": {\n      \"title\": \"Δίσκος Αρχείου.Δίσκοι Αρχείου\",\n      \"description\": \"Από προεπιλογή, ο Κρατήρας θα χρησιμοποιήσει τον τοπικό σας δίσκο για την αποθήκευση αντιγράφων ασφαλείας, avatar και άλλων αρχείων εικόνας. Μπορείτε να ρυθμίσετε περισσότερους από έναν οδηγούς δίσκων όπως DigitalOcean, S3 και Dropbox σύμφωνα με τις προτιμήσεις σας.\",\n      \"created_at\": \"Δημιουργήθηκε στις\",\n      \"dropbox\": \"Dropbox\",\n      \"name\": \"Όνομα\",\n      \"driver\": \"Οδηγός\",\n      \"disk_type\": \"Type\",\n      \"disk_name\": \"Χρήση δίσκου\",\n      \"new_disk\": \"Φόρτωση Νέου Δίσκου\",\n      \"filesystem_driver\": \"Οδηγός Συστήματος Αρχείων\",\n      \"local_driver\": \"τοπικός οδηγός\",\n      \"local_root\": \"τοπική ρίζα\",\n      \"public_driver\": \"Πρόκριση Οδηγού\",\n      \"public_root\": \"Δημόσια Ρίζα\",\n      \"public_url\": \"Δημόσια διεύθυνση URL\",\n      \"public_visibility\": \"Δημόσια Ορατότητα\",\n      \"media_driver\": \"Οδηγός Αλληλογραφίας\",\n      \"media_root\": \"Ρίζα Πολυμέσων\",\n      \"aws_driver\": \"Οδηγός AWS\",\n      \"aws_key\": \"Κλειδί SES\",\n      \"aws_secret\": \"SES Μυστικό\",\n      \"aws_region\": \"Περιοχή AWS\",\n      \"aws_bucket\": \"SES Μυστικό\",\n      \"aws_root\": \"Ρίζα AWS\",\n      \"do_spaces_type\": \"Τύπος κενών\",\n      \"do_spaces_key\": \"Τύπος κενών\",\n      \"do_spaces_secret\": \"Μυστικό Όριο Χώρων\",\n      \"do_spaces_region\": \"Περιοχή \\\"Χώρων\\\"\",\n      \"do_spaces_bucket\": \"Μυστικό Όριο Χώρων\",\n      \"do_spaces_endpoint\": \"Εκτέλεση Χώρων Τελικού Σημείου\",\n      \"do_spaces_root\": \"Περιοχή \\\"Χώρων\\\"\",\n      \"dropbox_type\": \"Συγχρονισμός Dropbox\",\n      \"dropbox_token\": \"Συγχρονισμός Dropbox\",\n      \"dropbox_key\": \"Κλειδί Dropbox\",\n      \"dropbox_secret\": \"Μυστικό Dropbox\",\n      \"dropbox_app\": \"Συγχρονισμός Dropbox\",\n      \"dropbox_root\": \"Ρίζα Dropbox\",\n      \"default_driver\": \"Προεπιλεγμένος Οδηγός\",\n      \"is_default\": \"IS ΠΡΟΦΥΛΑΞΗ\",\n      \"set_default_disk\": \"Ορισμός Προεπιλεγμένου Δίσκου\",\n      \"set_default_disk_confirm\": \"Αυτός ο δίσκος θα οριστεί ως προεπιλεγμένος και όλα τα νέα αρχεία PDF θα αποθηκευτούν σε αυτόν τον δίσκο\",\n      \"success_set_default_disk\": \"Ο δίσκος ορίστηκε ως προκαθορισμένος επιτυχώς\",\n      \"save_pdf_to_disk\": \"Αποθήκευση κλειδιού στο δίσκο\",\n      \"disk_setting_description\": \" Ενεργοποιήστε αυτό, αν θέλετε να αποθηκεύσετε ένα αντίγραφο του κάθε τιμολογίου, Εκτίμηση & παραλαβή πληρωμής PDF στον προεπιλεγμένο δίσκο σας αυτόματα. Η ενεργοποίηση αυτής της επιλογής θα μειώσει το χρόνο φόρτωσης κατά την προβολή των PDF.\",\n      \"select_disk\": \"Επιλέξτε δίσκο\",\n      \"disk_settings\": \"Ρυθμίσεις Δίσκου\",\n      \"confirm_delete\": \"Τα υπάρχοντα αρχεία και οι φάκελοι σας στον καθορισμένο δίσκο δεν θα επηρεαστούν αλλά η διαμόρφωση του δίσκου σας θα διαγραφεί από τον Κρατήρα\",\n      \"action\": \"Ενέργεια\",\n      \"edit_file_disk\": \"Επεξεργασία Δίσκου Αρχείου\",\n      \"success_create\": \"Η δεξαμενή προστέθηκε επιτυχώς.\",\n      \"success_update\": \"Η δεξαμενή προστέθηκε επιτυχώς.\",\n      \"error\": \"Η προσθήκη δίσκου απέτυχε\",\n      \"deleted_message\": \"Ο δίσκος αρχείου διαγράφηκε επιτυχώς\",\n      \"disk_variables_save_successfully\": \"Η Ρύθμιση Του Δίσκου Επιτυχής\",\n      \"disk_variables_save_error\": \"Αποτυχία ρύθμισης του δίσκου.\",\n      \"invalid_disk_credentials\": \"Μη έγκυρο διαπιστευτήριο του επιλεγμένου δίσκου\"\n    },\n    \"taxations\": {\n      \"add_billing_address\": \"Enter Billing Address\",\n      \"add_shipping_address\": \"Enter Shipping Address\",\n      \"add_company_address\": \"Enter Company Address\",\n      \"modal_description\": \"The information below is required in order to fetch sales tax.\",\n      \"add_address\": \"Add Address for fetching sales tax.\",\n      \"address_placeholder\": \"Example: 123, My Street\",\n      \"city_placeholder\": \"Example: Los Angeles\",\n      \"state_placeholder\": \"Example: CA\",\n      \"zip_placeholder\": \"Example: 90024\",\n      \"invalid_address\": \"Please provide valid address details.\"\n    }\n  },\n  \"wizard\": {\n    \"account_info\": \"Πληροφορίες Λογαριασμού\",\n    \"account_info_desc\": \"Παρακάτω θα χρησιμοποιηθούν οι λεπτομέρειες για τη δημιουργία του κύριου λογαριασμού διαχειριστή. Επίσης, μπορείτε να αλλάξετε τα στοιχεία ανά πάσα στιγμή μετά τη σύνδεση.\",\n    \"name\": \"Όνομα\",\n    \"email\": \"Ηλεκτρονική διεύθυνση\",\n    \"password\": \"Κωδικός\",\n    \"confirm_password\": \"Επιβεβαίωση Κωδικού\",\n    \"save_cont\": \"Αποθήκευση & συνεχεία\",\n    \"company_info\": \"Πληροφορίες Εταιρίας\",\n    \"company_info_desc\": \"Αυτές οι πληροφορίες θα εμφανίζονται στα τιμολόγια. Σημειώστε ότι μπορείτε να το επεξεργαστείτε αργότερα στη σελίδα ρυθμίσεων.\",\n    \"company_name\": \"Όνομα Εταιρείας\",\n    \"company_logo\": \"Λογότυπο Εταιρείας\",\n    \"logo_preview\": \"Προεπισκόπηση Λογότυπου\",\n    \"preferences\": \"Προτιμήσεις Εταιρείας\",\n    \"preferences_desc\": \"Καθορίστε τις προεπιλεγμένες προτιμήσεις για αυτήν την εταιρεία.\",\n    \"currency_set_alert\": \"Το νόμισμα της εταιρείας δεν μπορεί να αλλάξει.\",\n    \"country\": \"Χώρα\",\n    \"state\": \"Νομός\",\n    \"city\": \"Πόλη\",\n    \"address\": \"Διεύθυνση\",\n    \"street\": \"Οδός 1 - Οδός 2\",\n    \"phone\": \"Τηλέφωνο\",\n    \"zip_code\": \"Ταχυδρομικός κώδικας\",\n    \"go_back\": \"Επιστροφή\",\n    \"currency\": \"Νόμισμα\",\n    \"language\": \"Language\",\n    \"time_zone\": \"Ζώνη Ώρας\",\n    \"fiscal_year\": \"Οικονομικό έτος\",\n    \"date_format\": \"Μορφή Ημερομηνίας\",\n    \"from_address\": \"Διεύθυνση Αποστολής\",\n    \"username\": \"Όνομα Χρήστη\",\n    \"next\": \"Επόμενο\",\n    \"continue\": \"Συνέχεια\",\n    \"skip\": \"Salta\",\n    \"database\": {\n      \"database\": \"Url & Βάση Δεδομένων Ιστοτόπου\",\n      \"connection\": \"Σύνδεση με Βάση Δεδομένων\",\n      \"host\": \"Διακομιστής Βάσης Δεδομένων\",\n      \"port\": \"Θύρα Βάσης Δεδομένων\",\n      \"password\": \"Κωδικός Βάσης Δεδομένων\",\n      \"app_url\": \"URL Εφαρμογής\",\n      \"app_domain\": \"Τομέας Εφαρμογής\",\n      \"username\": \"Όνομα Χρήστη Βάσης Δεδομένων\",\n      \"db_name\": \"Όνομα βάσης δεδομένων\",\n      \"db_path\": \"Διαδρομή Βάσης Δεδομένων\",\n      \"desc\": \"Δημιουργήστε μια βάση δεδομένων στο διακομιστή σας και ορίστε τα διαπιστευτήρια χρησιμοποιώντας την παρακάτω φόρμα.\"\n    },\n    \"permissions\": {\n      \"permissions\": \"Δικαιώματα\",\n      \"permission_confirm_title\": \"Είστε βέβαιοι ότι θέλετε να συνεχίσετε;\",\n      \"permission_confirm_desc\": \"Ο έλεγχος δικαιωμάτων φακέλου απέτυχε\",\n      \"permission_desc\": \"Παρακάτω είναι η λίστα των δικαιωμάτων φακέλων που απαιτούνται για να λειτουργήσει η εφαρμογή. Εάν ο έλεγχος της άδειας αποτύχει, φροντίστε να ενημερώσετε τα δικαιώματα του φακέλου σας.\"\n    },\n    \"verify_domain\": {\n      \"title\": \"Ανθρώπινη Επαλήθευση\",\n      \"desc\": \"Ο Κρατήρας χρησιμοποιεί έλεγχο ταυτότητας που βασίζεται σε συνεδρία και απαιτεί επαλήθευση τομέα για λόγους ασφαλείας. Παρακαλώ εισάγετε τον τομέα στον οποίο θα έχετε πρόσβαση στην εφαρμογή ιστού σας.\",\n      \"app_domain\": \"Τομέας Εφαρμογής\",\n      \"verify_now\": \"Επαληθεύστε Τώρα\",\n      \"success\": \"Η διεύθυνση του ηλεκτρονικού ταχυδρομείου σας επαληθεύτηκε\",\n      \"failed\": \"Η επαλήθευση τομέα απέτυχε. Παρακαλώ εισάγετε έγκυρο όνομα τομέα.\",\n      \"verify_and_continue\": \"Επαλήθευση Και Συνέχεια\"\n    },\n    \"mail\": {\n      \"host\": \"Διακομιστής Αλληλογραφίας\",\n      \"port\": \"Διακομιστής Αλληλογραφίας\",\n      \"driver\": \"Οδηγός Αλληλογραφίας\",\n      \"secret\": \"Μυστικό\",\n      \"mailgun_secret\": \"Μυστικό Mailgun\",\n      \"mailgun_domain\": \"Τομέας\",\n      \"mailgun_endpoint\": \"Mailgun Endpoint\",\n      \"ses_secret\": \"SES Μυστικό\",\n      \"ses_key\": \"Κλειδί SES\",\n      \"password\": \"Κωδικός Πρόσβασης Ταχυδρομείου\",\n      \"username\": \"Όνομα Ταχυδρομείου\",\n      \"mail_config\": \"Διαμόρφωση Mail\",\n      \"from_name\": \"Όνομα Αποστολέα\",\n      \"from_mail\": \"Διεύθυνση Αποστολής\",\n      \"encryption\": \"Κρυπτογράφηση Email\",\n      \"mail_config_desc\": \"Παρακάτω είναι η φόρμα για τη ρύθμιση παραμέτρων του προγράμματος οδήγησης ηλεκτρονικού ταχυδρομείου για την αποστολή μηνυμάτων ηλεκτρονικού ταχυδρομείου από την εφαρμογή. Μπορείτε επίσης να ρυθμίσετε τις παραμέτρους τρίτων παρόχων όπως το Sendgrid, το SES κλπ.\"\n    },\n    \"req\": {\n      \"system_req\": \"Απαιτήσεις Συστήματος\",\n      \"php_req_version\": \"PHP (απαιτείται έκδοση {version})\",\n      \"check_req\": \"Έλεγχος Απαιτήσεων\",\n      \"system_req_desc\": \"Ο κρατήρας έχει μερικές απαιτήσεις διακομιστή. Βεβαιωθείτε ότι ο διακομιστής σας έχει την απαιτούμενη έκδοση php και όλες τις επεκτάσεις που αναφέρονται παρακάτω.\"\n    },\n    \"errors\": {\n      \"migrate_failed\": \"Αποτυχία Μετεγκατάστασης\",\n      \"database_variables_save_error\": \"Δεν είναι δυνατή η εγγραφή ρύθμισης παραμέτρων στο αρχείο .env. Παρακαλώ ελέγξτε τα δικαιώματα αρχείου\",\n      \"mail_variables_save_error\": \"Αποτυχία ρύθμισης του δίσκου.\",\n      \"connection_failed\": \"Σύνδεση βάσης δεδομένων\",\n      \"database_should_be_empty\": \"Η βάση δεδομένων πρέπει να είναι κενή\"\n    },\n    \"success\": {\n      \"mail_variables_save_successfully\": \"Η Ρύθμιση Του Δίσκου Επιτυχής\",\n      \"database_variables_save_successfully\": \"Η Ρύθμιση Του Δίσκου Επιτυχής.\"\n    }\n  },\n  \"validation\": {\n    \"invalid_phone\": \"Μη έγκυρος αριθμός τηλεφώνου\",\n    \"invalid_url\": \"Μη έγκυρη διεύθυνση url (π.χ. http://www.craterapp.com)\",\n    \"invalid_domain_url\": \"Μη έγκυρη διεύθυνση url (π.χ. craterapp.com)\",\n    \"required\": \"Το πεδίο είναι υποχρεωτικό\",\n    \"email_incorrect\": \"Λάθος μορφή e-mail;\",\n    \"email_already_taken\": \"Το όνομα έχει ήδη ληφθεί.\",\n    \"email_does_not_exist\": \"Το συγκεκριμένο email χρησιμοποιείται ήδη από άλλον χρήστη\",\n    \"item_unit_already_taken\": \"Αυτό το όνομα χρήστη έχει ήδη ληφθεί.\",\n    \"payment_mode_already_taken\": \"Αυτό το όνομα χρήστη έχει ήδη ληφθεί.\",\n    \"send_reset_link\": \"Αποστολή συνδέσμου επαναφοράς\",\n    \"not_yet\": \"Όχι ακόμα? Στείλε το ξανά\",\n    \"password_min_length\": \"Ο κωδικός πρόσβασης πρέπει να περιέχει τουλάχιστον 6 χαρακτήρες\",\n    \"name_min_length\": \"Το όνομα πρέπει να έχει τουλάχιστον {count} γράμματα.\",\n    \"prefix_min_length\": \"Το όνομα πρέπει να έχει τουλάχιστον {count} γράμματα.\",\n    \"enter_valid_tax_rate\": \"Εισάγετε έγκυρο φορολογικό συντελεστή\",\n    \"numbers_only\": \"Αριθμοί Μόνο.\",\n    \"characters_only\": \"Χαρακτήρες Μόνο.\",\n    \"password_incorrect\": \"Οι κωδικοί πρόσβασης πρέπει να είναι ίδιοι\",\n    \"password_length\": \"Ο κωδικός πρόσβασης πρέπει να είναι {count} χαρακτήρας.\",\n    \"qty_must_greater_than_zero\": \"Η ποσότητα πρέπει να είναι μεγαλύτερη του μηδενός.\",\n    \"price_greater_than_zero\": \"Η τιμή πρέπει να είναι μεγαλύτερη του μηδενός.\",\n    \"payment_greater_than_zero\": \"Η πληρωμή πρέπει να είναι μεγαλύτερη του μηδενός.\",\n    \"payment_greater_than_due_amount\": \"Η πληρωμή που εισήχθη είναι περισσότερο από το οφειλόμενο ποσό αυτού του τιμολογίου.\",\n    \"quantity_maxlength\": \"Η ποσότητα δεν πρέπει να υπερβαίνει τα 20 ψηφία.\",\n    \"price_maxlength\": \"Η τιμή δεν πρέπει να είναι μεγαλύτερη από 20 ψηφία.\",\n    \"price_minvalue\": \"Η τιμή θα πρέπει να είναι μεγαλύτερη από 0.\",\n    \"amount_maxlength\": \"Το ποσό δεν πρέπει να υπερβαίνει τα 20 ψηφία.\",\n    \"amount_minvalue\": \"Το ποσό πρέπει να είναι μεγαλύτερο από 0.\",\n    \"discount_maxlength\": \"Η έκπτωση δεν πρέπει να είναι μεγαλύτερη από τη μέγιστη έκπτωση\",\n    \"description_maxlength\": \"Η περιγραφή δεν πρέπει να είναι μεγαλύτερη από 255 χαρακτήρες.\",\n    \"subject_maxlength\": \"Η περιγραφή δεν πρέπει να είναι μεγαλύτερη από 100 χαρακτήρες.\",\n    \"message_maxlength\": \"Το μήνυμα δεν πρέπει να είναι μεγαλύτερο από 255 χαρακτήρες.\",\n    \"maximum_options_error\": \"Μέγιστο {max} επιλογές επιλεγμένες. Αφαιρέστε πρώτα μια επιλεγμένη επιλογή για να επιλέξετε μια άλλη.\",\n    \"notes_maxlength\": \"Η περιγραφή δεν πρέπει να είναι μεγαλύτερη από 65,000 χαρακτήρες.\",\n    \"address_maxlength\": \"Η διεύθυνση δεν πρέπει να είναι μεγαλύτερη από 255 χαρακτήρες.\",\n    \"ref_number_maxlength\": \"Η διεύθυνση δεν πρέπει να είναι μεγαλύτερη από 255 χαρακτήρες.\",\n    \"prefix_maxlength\": \"Η περιγραφή δεν πρέπει να είναι μεγαλύτερη από 5 χαρακτήρες.\",\n    \"something_went_wrong\": \"Κάτι δεν πήγε καλά\",\n    \"number_length_minvalue\": \"Το μήκος του αριθμού πρέπει να είναι μεγαλύτερο από 0\",\n    \"at_least_one_ability\": \"Παρακαλώ επιλέξτε τουλάχιστον ένα δικαίωμα.\",\n    \"valid_driver_key\": \"Παρακαλώ εισάγετε ένα έγκυρο κλειδί {driver}.\",\n    \"valid_exchange_rate\": \"Παρακαλώ εισάγετε μια έγκυρη συναλλαγματική ισοτιμία.\",\n    \"company_name_not_same\": \"Το όνομα της εταιρείας πρέπει να ταιριάζει με το συγκεκριμένο όνομα.\"\n  },\n  \"errors\": {\n    \"starter_plan\": \"Αυτή η λειτουργία είναι διαθέσιμη στο Starter plan και μετά!\",\n    \"invalid_provider_key\": \"Εισαγάγετε Έγκυρο Κλειδί Api Πάροχου.\",\n    \"estimate_number_used\": \"Ο αριθμός της εκτίμησης έχει ήδη ληφθεί.\",\n    \"invoice_number_used\": \"Ο αριθμός τιμολογίου έχει ήδη ληφθεί.\",\n    \"payment_attached\": \"Αυτό το τιμολόγιο έχει ήδη μια πληρωμή που επισυνάπτεται σε αυτό. Βεβαιωθείτε ότι έχετε διαγράψει πρώτα τις συνημμένες πληρωμές για να προχωρήσετε με την αφαίρεση.\",\n    \"payment_number_used\": \"Ο αριθμός πληρωμής έχει ήδη ληφθεί.\",\n    \"name_already_taken\": \"Το όνομα έχει ήδη ληφθεί.\",\n    \"receipt_does_not_exist\": \"Δεν υπάρχει απόδειξη.\",\n    \"customer_cannot_be_changed_after_payment_is_added\": \"Ο πελάτης δεν μπορεί να αλλάξει μετά την πληρωμή προστίθεται\",\n    \"invalid_credentials\": \"Μη Έγκυρα Πιστοποιητικά.\",\n    \"not_allowed\": \"Δεν Επιτρέπεται\",\n    \"login_invalid_credentials\": \"Αυτά τα διαπιστευτήρια δεν ταιριάζουν με τα αρχεία μας.\",\n    \"enter_valid_cron_format\": \"Παρακαλώ εισάγετε μια έγκυρη μορφή cron\",\n    \"email_could_not_be_sent\": \"Email could not be sent to this email address.\",\n    \"invalid_address\": \"Please enter a valid address.\",\n    \"invalid_key\": \"Please enter valid key.\",\n    \"invalid_state\": \"Please enter a valid state.\",\n    \"invalid_city\": \"Please enter a valid city.\",\n    \"invalid_postal_code\": \"Please enter a valid zip.\",\n    \"invalid_format\": \"Please enter valid query string format.\",\n    \"api_error\": \"Server not responding.\",\n    \"feature_not_enabled\": \"Feature not enabled.\",\n    \"request_limit_met\": \"Api request limit exceeded.\",\n    \"address_incomplete\": \"Incomplete Address\"\n  },\n  \"pdf_estimate_label\": \"Εκτίμηση\",\n  \"pdf_estimate_number\": \"Εκτίμηση Αριθμού\",\n  \"pdf_estimate_date\": \"Εκτιμώμενη ημ. επισκευής\",\n  \"pdf_estimate_expire_date\": \"Ημερομηνία λήξης\",\n  \"pdf_invoice_label\": \"Τιμολόγιο\",\n  \"pdf_invoice_number\": \"Αριθμός τιμολογίου\",\n  \"pdf_invoice_date\": \"Ημ/νία Τιμολόγησης\",\n  \"pdf_invoice_due_date\": \"Echéance\",\n  \"pdf_notes\": \"Σημειώσεις\",\n  \"pdf_items_label\": \"Προϊόντα\",\n  \"pdf_quantity_label\": \"Ποσότητα\",\n  \"pdf_price_label\": \"Τιμή\",\n  \"pdf_discount_label\": \"Έκπτωση\",\n  \"pdf_amount_label\": \"Ποσό\",\n  \"pdf_subtotal\": \"Υποσύνολο\",\n  \"pdf_total\": \"Σύνολο \",\n  \"pdf_payment_label\": \"Πληρωμή\",\n  \"pdf_payment_receipt_label\": \"ΠΡΟΣΑΡΜΟΓΗ ΠΛΗΡΩΜΗΣ\",\n  \"pdf_payment_date\": \"Ημ/νία εξόφλησης\",\n  \"pdf_payment_number\": \"Αριθμός Πληρωμής\",\n  \"pdf_payment_mode\": \"Τρόπος πληρωμής\",\n  \"pdf_payment_amount_received_label\": \"Ποσοστό Ληφθέντων\",\n  \"pdf_expense_report_label\": \"ΕΚΘΕΣΗ ΕΞΑΓΩΓΩΝ\",\n  \"pdf_total_expenses_label\": \"ΣΥΝΟΛΟ ΔΑΠΑΝΗΣ\",\n  \"pdf_profit_loss_label\": \"ΕΚΘΕΣΗ ΕΠΑΦΗΣ & LOSS\",\n  \"pdf_sales_customers_label\": \"Αναφορά Πελάτη Πωλήσεων\",\n  \"pdf_sales_items_label\": \"Αναφορά Πελάτη Πωλήσεων\",\n  \"pdf_tax_summery_label\": \"Αναφορά Περίληψης Φόρου\",\n  \"pdf_income_label\": \"ΕΙΣΟΔΗΜΑΤΑ\\n\",\n  \"pdf_net_profit_label\": \"NET PROFIT\",\n  \"pdf_customer_sales_report\": \"Έκθεση Πωλήσεων: Από Τον Πελάτη\",\n  \"pdf_total_sales_label\": \"ΣΥΝΟΛΟ ΠΩΛΗΣΗΣ\",\n  \"pdf_item_sales_label\": \"Έκθεση Πωλήσεων: Από Τον Πελάτη\",\n  \"pdf_tax_report_label\": \"ΦΟΡΟΛΟΓΙΚΗ ΕΚΘΕΣΗ\",\n  \"pdf_total_tax_label\": \"ΣΥΝΟΛΟ ΦΟΡΟΥ\",\n  \"pdf_tax_types_label\": \"Φορολογική κλάση\",\n  \"pdf_expenses_label\": \"Έξοδα\",\n  \"pdf_bill_to\": \"Χρέωση σε,\",\n  \"pdf_ship_to\": \"Αποστολή σε,\",\n  \"pdf_received_from\": \"Λήψη από\",\n  \"pdf_tax_label\": \"Φόρος\"\n}\n"
  },
  {
    "path": "resources/scripts/locales/en.json",
    "content": "{\n  \"navigation\": {\n    \"dashboard\": \"Dashboard\",\n    \"customers\": \"Customers\",\n    \"items\": \"Items\",\n    \"invoices\": \"Invoices\",\n    \"recurring-invoices\": \"Recurring Invoices\",\n    \"expenses\": \"Expenses\",\n    \"estimates\": \"Estimates\",\n    \"payments\": \"Payments\",\n    \"reports\": \"Reports\",\n    \"settings\": \"Settings\",\n    \"logout\": \"Logout\",\n    \"users\": \"Users\",\n    \"modules\": \"Modules\"\n  },\n  \"general\": {\n    \"add_company\": \"Add Company\",\n    \"view_pdf\": \"View PDF\",\n    \"copy_pdf_url\": \"Copy PDF Url\",\n    \"download_pdf\": \"Download PDF\",\n    \"save\": \"Save\",\n    \"create\": \"Create\",\n    \"cancel\": \"Cancel\",\n    \"update\": \"Update\",\n    \"deselect\": \"Deselect\",\n    \"download\": \"Download\",\n    \"from_date\": \"From Date\",\n    \"to_date\": \"To Date\",\n    \"from\": \"From\",\n    \"to\": \"To\",\n    \"ok\": \"Ok\",\n    \"yes\": \"Yes\",\n    \"no\": \"No\",\n    \"sort_by\": \"Sort By\",\n    \"ascending\": \"Ascending\",\n    \"descending\": \"Descending\",\n    \"subject\": \"Subject\",\n    \"body\": \"Body\",\n    \"message\": \"Message\",\n    \"send\": \"Send\",\n    \"preview\": \"Preview\",\n    \"go_back\": \"Go Back\",\n    \"back_to_login\": \"Back to Login?\",\n    \"home\": \"Home\",\n    \"filter\": \"Filter\",\n    \"delete\": \"Delete\",\n    \"edit\": \"Edit\",\n    \"view\": \"View\",\n    \"add_new_item\": \"Add New Item\",\n    \"clear_all\": \"Clear All\",\n    \"showing\": \"Showing\",\n    \"of\": \"of\",\n    \"actions\": \"Actions\",\n    \"subtotal\": \"SUBTOTAL\",\n    \"discount\": \"DISCOUNT\",\n    \"fixed\": \"Fixed\",\n    \"percentage\": \"Percentage\",\n    \"tax\": \"TAX\",\n    \"total_amount\": \"TOTAL AMOUNT\",\n    \"bill_to\": \"Bill to\",\n    \"ship_to\": \"Ship to\",\n    \"due\": \"Due\",\n    \"draft\": \"Draft\",\n    \"sent\": \"Sent\",\n    \"all\": \"All\",\n    \"select_all\": \"Select All\",\n    \"select_template\": \"Select Template\",\n    \"choose_file\": \"Click here to choose a file\",\n    \"choose_template\": \"Choose a template\",\n    \"choose\": \"Choose\",\n    \"remove\": \"Remove\",\n    \"select_a_status\": \"Select a status\",\n    \"select_a_tax\": \"Select a tax\",\n    \"search\": \"Search\",\n    \"are_you_sure\": \"Are you sure?\",\n    \"list_is_empty\": \"List is empty.\",\n    \"no_tax_found\": \"No tax found!\",\n    \"four_zero_four\": \"404\",\n    \"you_got_lost\": \"Whoops! You got Lost!\",\n    \"go_home\": \"Go Home\",\n    \"test_mail_conf\": \"Test Mail Configuration\",\n    \"send_mail_successfully\": \"Mail sent successfully\",\n    \"setting_updated\": \"Setting updated successfully\",\n    \"select_state\": \"Select state\",\n    \"select_country\": \"Select Country\",\n    \"select_city\": \"Select City\",\n    \"street_1\": \"Street 1\",\n    \"street_2\": \"Street 2\",\n    \"action_failed\": \"Action Failed\",\n    \"retry\": \"Retry\",\n    \"choose_note\": \"Choose Note\",\n    \"no_note_found\": \"No Note Found\",\n    \"insert_note\": \"Insert Note\",\n    \"copied_pdf_url_clipboard\": \"Copied PDF url to clipboard!\",\n    \"copied_url_clipboard\": \"Copied url to clipboard!\",\n    \"docs\": \"Docs\",\n    \"do_you_wish_to_continue\": \"Do you wish to continue?\",\n    \"note\": \"Note\",\n    \"pay_invoice\": \"Pay Invoice\",\n    \"login_successfully\": \"Logged in successfully!\",\n    \"logged_out_successfully\": \"Logged out successfully\",\n    \"mark_as_default\": \"Mark as default\"\n  },\n  \"dashboard\": {\n    \"select_year\": \"Select year\",\n    \"cards\": {\n      \"due_amount\": \"Amount Due\",\n      \"customers\": \"Customers\",\n      \"invoices\": \"Invoices\",\n      \"estimates\": \"Estimates\",\n      \"payments\": \"Payments\"\n    },\n    \"chart_info\": {\n      \"total_sales\": \"Sales\",\n      \"total_receipts\": \"Receipts\",\n      \"total_expense\": \"Expenses\",\n      \"net_income\": \"Net Income\",\n      \"year\": \"Select year\"\n    },\n    \"monthly_chart\": {\n      \"title\": \"Sales & Expenses\"\n    },\n    \"recent_invoices_card\": {\n      \"title\": \"Due Invoices\",\n      \"due_on\": \"Due On\",\n      \"customer\": \"Customer\",\n      \"amount_due\": \"Amount Due\",\n      \"actions\": \"Actions\",\n      \"view_all\": \"View All\"\n    },\n    \"recent_estimate_card\": {\n      \"title\": \"Recent Estimates\",\n      \"date\": \"Date\",\n      \"customer\": \"Customer\",\n      \"amount_due\": \"Amount Due\",\n      \"actions\": \"Actions\",\n      \"view_all\": \"View All\"\n    }\n  },\n  \"tax_types\": {\n    \"name\": \"Name\",\n    \"description\": \"Description\",\n    \"percent\": \"Percent\",\n    \"compound_tax\": \"Compound Tax\"\n  },\n  \"global_search\": {\n    \"search\": \"Search...\",\n    \"customers\": \"Customers\",\n    \"users\": \"Users\",\n    \"no_results_found\": \"No Results Found\"\n  },\n  \"company_switcher\": {\n    \"label\": \"SWITCH COMPANY\",\n    \"no_results_found\": \"No Results Found\",\n    \"add_new_company\": \"Add new company\",\n    \"new_company\": \"New company\",\n    \"created_message\": \"Company created successfully\"\n  },\n  \"dateRange\": {\n    \"today\": \"Today\",\n    \"this_week\": \"This Week\",\n    \"this_month\": \"This Month\",\n    \"this_quarter\": \"This Quarter\",\n    \"this_year\": \"This Year\",\n    \"previous_week\": \"Previous Week\",\n    \"previous_month\": \"Previous Month\",\n    \"previous_quarter\": \"Previous Quarter\",\n    \"previous_year\": \"Previous Year\",\n    \"custom\": \"Custom\"\n  },\n  \"customers\": {\n    \"title\": \"Customers\",\n    \"prefix\": \"Prefix\",\n    \"add_customer\": \"Add Customer\",\n    \"contacts_list\": \"Customer List\",\n    \"name\": \"Name\",\n    \"mail\": \"Mail | Mails\",\n    \"statement\": \"Statement\",\n    \"display_name\": \"Display Name\",\n    \"primary_contact_name\": \"Primary Contact Name\",\n    \"contact_name\": \"Contact Name\",\n    \"amount_due\": \"Amount Due\",\n    \"email\": \"Email\",\n    \"address\": \"Address\",\n    \"phone\": \"Phone\",\n    \"website\": \"Website\",\n    \"overview\": \"Overview\",\n    \"invoice_prefix\": \"Invoice Prefix\",\n    \"estimate_prefix\": \"Estimate Prefix\",\n    \"payment_prefix\": \"Payment Prefix\",\n    \"enable_portal\": \"Enable Portal\",\n    \"country\": \"Country\",\n    \"state\": \"State\",\n    \"city\": \"City\",\n    \"zip_code\": \"Zip Code\",\n    \"added_on\": \"Added On\",\n    \"action\": \"Action\",\n    \"password\": \"Password\",\n    \"confirm_password\": \"Confirm Password\",\n    \"street_number\": \"Street Number\",\n    \"primary_currency\": \"Primary Currency\",\n    \"description\": \"Description\",\n    \"add_new_customer\": \"Add New Customer\",\n    \"save_customer\": \"Save Customer\",\n    \"update_customer\": \"Update Customer\",\n    \"customer\": \"Customer | Customers\",\n    \"new_customer\": \"New Customer\",\n    \"edit_customer\": \"Edit Customer\",\n    \"basic_info\": \"Basic Info\",\n    \"portal_access\": \"Portal Access\",\n    \"portal_access_text\": \"Would you like to allow this customer to login to the Customer Portal?\",\n    \"portal_access_url\": \"Customer Portal Login URL\",\n    \"portal_access_url_help\": \"Please copy & forward the above given URL to your customer for providing access.\",\n    \"billing_address\": \"Billing Address\",\n    \"shipping_address\": \"Shipping Address\",\n    \"copy_billing_address\": \"Copy from Billing\",\n    \"no_customers\": \"No customers yet!\",\n    \"no_customers_found\": \"No customers found!\",\n    \"no_contact\": \"No contact\",\n    \"no_contact_name\": \"No contact name\",\n    \"list_of_customers\": \"This section will contain the list of customers.\",\n    \"primary_display_name\": \"Primary Display Name\",\n    \"select_currency\": \"Select currency\",\n    \"select_a_customer\": \"Select a customer\",\n    \"type_or_click\": \"Type or click to select\",\n    \"new_transaction\": \"New Transaction\",\n    \"no_matching_customers\": \"There are no matching customers!\",\n    \"phone_number\": \"Phone Number\",\n    \"create_date\": \"Create Date\",\n    \"confirm_delete\": \"You will not be able to recover this customer and all the related Invoices, Estimates and Payments. | You will not be able to recover these customers and all the related Invoices, Estimates and Payments.\",\n    \"created_message\": \"Customer created successfully\",\n    \"updated_message\": \"Customer updated successfully\",\n    \"address_updated_message\": \"Address Information Updated succesfully\",\n    \"deleted_message\": \"Customer deleted successfully | Customers deleted successfully\",\n    \"edit_currency_not_allowed\": \"Cannot change currency once transactions created.\"\n  },\n  \"items\": {\n    \"title\": \"Items\",\n    \"items_list\": \"Items List\",\n    \"name\": \"Name\",\n    \"unit\": \"Unit\",\n    \"description\": \"Description\",\n    \"added_on\": \"Added On\",\n    \"price\": \"Price\",\n    \"date_of_creation\": \"Date Of Creation\",\n    \"not_selected\": \"No item selected\",\n    \"action\": \"Action\",\n    \"add_item\": \"Add Item\",\n    \"save_item\": \"Save Item\",\n    \"update_item\": \"Update Item\",\n    \"item\": \"Item | Items\",\n    \"add_new_item\": \"Add New Item\",\n    \"new_item\": \"New Item\",\n    \"edit_item\": \"Edit Item\",\n    \"no_items\": \"No items yet!\",\n    \"list_of_items\": \"This section will contain the list of items.\",\n    \"select_a_unit\": \"select unit\",\n    \"taxes\": \"Taxes\",\n    \"item_attached_message\": \"Cannot delete an item which is already in use\",\n    \"confirm_delete\": \"You will not be able to recover this Item | You will not be able to recover these Items\",\n    \"created_message\": \"Item created successfully\",\n    \"updated_message\": \"Item updated successfully\",\n    \"deleted_message\": \"Item deleted successfully | Items deleted successfully\"\n  },\n  \"estimates\": {\n    \"title\": \"Estimates\",\n    \"accept_estimate\": \"Accept Estimate\",\n    \"reject_estimate\": \"Reject Estimate\",\n    \"estimate\": \"Estimate | Estimates\",\n    \"estimates_list\": \"Estimates List\",\n    \"days\": \"{days} Days\",\n    \"months\": \"{months} Month\",\n    \"years\": \"{years} Year\",\n    \"all\": \"All\",\n    \"paid\": \"Paid\",\n    \"unpaid\": \"Unpaid\",\n    \"customer\": \"CUSTOMER\",\n    \"ref_no\": \"REF NO.\",\n    \"number\": \"NUMBER\",\n    \"amount_due\": \"AMOUNT DUE\",\n    \"partially_paid\": \"Partially Paid\",\n    \"total\": \"Total\",\n    \"discount\": \"Discount\",\n    \"sub_total\": \"Sub Total\",\n    \"estimate_number\": \"Estimate Number\",\n    \"ref_number\": \"Ref Number\",\n    \"contact\": \"Contact\",\n    \"add_item\": \"Add an Item\",\n    \"date\": \"Date\",\n    \"due_date\": \"Due Date\",\n    \"expiry_date\": \"Expiry Date\",\n    \"status\": \"Status\",\n    \"add_tax\": \"Add Tax\",\n    \"amount\": \"Amount\",\n    \"action\": \"Action\",\n    \"notes\": \"Notes\",\n    \"tax\": \"Tax\",\n    \"estimate_template\": \"Template\",\n    \"convert_to_invoice\": \"Convert to Invoice\",\n    \"mark_as_sent\": \"Mark as Sent\",\n    \"send_estimate\": \"Send Estimate\",\n    \"resend_estimate\": \"Resend Estimate\",\n    \"record_payment\": \"Record Payment\",\n    \"add_estimate\": \"Add Estimate\",\n    \"save_estimate\": \"Save Estimate\",\n    \"confirm_conversion\": \"This estimate will be used to create a new Invoice.\",\n    \"conversion_message\": \"Invoice created successful\",\n    \"confirm_send_estimate\": \"This estimate will be sent via email to the customer\",\n    \"confirm_mark_as_sent\": \"This estimate will be marked as sent\",\n    \"confirm_mark_as_accepted\": \"This estimate will be marked as Accepted\",\n    \"confirm_mark_as_rejected\": \"This estimate will be marked as Rejected\",\n    \"no_matching_estimates\": \"There are no matching estimates!\",\n    \"mark_as_sent_successfully\": \"Estimate marked as sent successfully\",\n    \"send_estimate_successfully\": \"Estimate sent successfully\",\n    \"errors\": {\n      \"required\": \"Field is required\"\n    },\n    \"accepted\": \"Accepted\",\n    \"rejected\": \"Rejected\",\n    \"expired\": \"Expired\",\n    \"sent\": \"Sent\",\n    \"draft\": \"Draft\",\n    \"viewed\": \"Viewed\",\n    \"declined\": \"Declined\",\n    \"new_estimate\": \"New Estimate\",\n    \"add_new_estimate\": \"Add New Estimate\",\n    \"update_Estimate\": \"Update Estimate\",\n    \"edit_estimate\": \"Edit Estimate\",\n    \"items\": \"items\",\n    \"Estimate\": \"Estimate | Estimates\",\n    \"add_new_tax\": \"Add New Tax\",\n    \"no_estimates\": \"No estimates yet!\",\n    \"list_of_estimates\": \"This section will contain the list of estimates.\",\n    \"mark_as_rejected\": \"Mark as rejected\",\n    \"mark_as_accepted\": \"Mark as accepted\",\n    \"marked_as_accepted_message\": \"Estimate marked as accepted\",\n    \"marked_as_rejected_message\": \"Estimate marked as rejected\",\n    \"confirm_delete\": \"You will not be able to recover this Estimate | You will not be able to recover these Estimates\",\n    \"created_message\": \"Estimate created successfully\",\n    \"updated_message\": \"Estimate updated successfully\",\n    \"deleted_message\": \"Estimate deleted successfully | Estimates deleted successfully\",\n    \"something_went_wrong\": \"something went wrong\",\n    \"item\": {\n      \"title\": \"Item Title\",\n      \"description\": \"Description\",\n      \"quantity\": \"Quantity\",\n      \"price\": \"Price\",\n      \"discount\": \"Discount\",\n      \"total\": \"Total\",\n      \"total_discount\": \"Total Discount\",\n      \"sub_total\": \"Sub Total\",\n      \"tax\": \"Tax\",\n      \"amount\": \"Amount\",\n      \"select_an_item\": \"Type or click to select an item\",\n      \"type_item_description\": \"Type Item Description (optional)\"\n    },\n    \"mark_as_default_estimate_template_description\": \"If enabled, the selected template will be automatically selected for new estimates.\"\n  },\n  \"invoices\": {\n    \"title\": \"Invoices\",\n    \"download\": \"Download\",\n    \"pay_invoice\": \"Pay Invoice\",\n    \"invoices_list\": \"Invoices List\",\n    \"invoice_information\": \"Invoice Information\",\n    \"days\": \"{days} Days\",\n    \"months\": \"{months} Month\",\n    \"years\": \"{years} Year\",\n    \"all\": \"All\",\n    \"paid\": \"Paid\",\n    \"unpaid\": \"Unpaid\",\n    \"viewed\": \"Viewed\",\n    \"overdue\": \"Overdue\",\n    \"completed\": \"Completed\",\n    \"customer\": \"CUSTOMER\",\n    \"paid_status\": \"PAID STATUS\",\n    \"ref_no\": \"REF NO.\",\n    \"number\": \"NUMBER\",\n    \"amount_due\": \"AMOUNT DUE\",\n    \"partially_paid\": \"Partially Paid\",\n    \"total\": \"Total\",\n    \"discount\": \"Discount\",\n    \"sub_total\": \"Sub Total\",\n    \"invoice\": \"Invoice | Invoices\",\n    \"invoice_number\": \"Invoice Number\",\n    \"ref_number\": \"Ref Number\",\n    \"contact\": \"Contact\",\n    \"add_item\": \"Add an Item\",\n    \"date\": \"Date\",\n    \"due_date\": \"Due Date\",\n    \"status\": \"Status\",\n    \"add_tax\": \"Add Tax\",\n    \"amount\": \"Amount\",\n    \"action\": \"Action\",\n    \"notes\": \"Notes\",\n    \"view\": \"View\",\n    \"send_invoice\": \"Send Invoice\",\n    \"resend_invoice\": \"Resend Invoice\",\n    \"invoice_template\": \"Invoice Template\",\n    \"conversion_message\": \"Invoice cloned successful\",\n    \"template\": \"Select Template\",\n    \"mark_as_sent\": \"Mark as sent\",\n    \"confirm_send_invoice\": \"This invoice will be sent via email to the customer\",\n    \"invoice_mark_as_sent\": \"This invoice will be marked as sent\",\n    \"confirm_mark_as_accepted\": \"This invoice will be marked as Accepted\",\n    \"confirm_mark_as_rejected\": \"This invoice will be marked as Rejected\",\n    \"confirm_send\": \"This invoice will be sent via email to the customer\",\n    \"invoice_date\": \"Invoice Date\",\n    \"record_payment\": \"Record Payment\",\n    \"add_new_invoice\": \"Add New Invoice\",\n    \"update_expense\": \"Update Expense\",\n    \"edit_invoice\": \"Edit Invoice\",\n    \"new_invoice\": \"New Invoice\",\n    \"save_invoice\": \"Save Invoice\",\n    \"update_invoice\": \"Update Invoice\",\n    \"add_new_tax\": \"Add New Tax\",\n    \"no_invoices\": \"No Invoices yet!\",\n    \"mark_as_rejected\": \"Mark as rejected\",\n    \"mark_as_accepted\": \"Mark as accepted\",\n    \"list_of_invoices\": \"This section will contain the list of invoices.\",\n    \"select_invoice\": \"Select Invoice\",\n    \"no_matching_invoices\": \"There are no matching invoices!\",\n    \"mark_as_sent_successfully\": \"Invoice marked as sent successfully\",\n    \"invoice_sent_successfully\": \"Invoice sent successfully\",\n    \"cloned_successfully\": \"Invoice cloned successfully\",\n    \"clone_invoice\": \"Clone Invoice\",\n    \"confirm_clone\": \"This invoice will be cloned into a new Invoice\",\n    \"item\": {\n      \"title\": \"Item Title\",\n      \"description\": \"Description\",\n      \"quantity\": \"Quantity\",\n      \"price\": \"Price\",\n      \"discount\": \"Discount\",\n      \"total\": \"Total\",\n      \"total_discount\": \"Total Discount\",\n      \"sub_total\": \"Sub Total\",\n      \"tax\": \"Tax\",\n      \"amount\": \"Amount\",\n      \"select_an_item\": \"Type or click to select an item\",\n      \"type_item_description\": \"Type Item Description (optional)\"\n    },\n    \"payment_attached_message\": \"One of the selected invoices already have a payment attached to it. Make sure to delete the attached payments first in order to go ahead with the removal\",\n    \"confirm_delete\": \"You will not be able to recover this Invoice | You will not be able to recover these Invoices\",\n    \"created_message\": \"Invoice created successfully\",\n    \"updated_message\": \"Invoice updated successfully\",\n    \"deleted_message\": \"Invoice deleted successfully | Invoices deleted successfully\",\n    \"marked_as_sent_message\": \"Invoice marked as sent successfully\",\n    \"something_went_wrong\": \"something went wrong\",\n    \"invalid_due_amount_message\": \"Total Invoice amount cannot be less than total paid amount for this Invoice. Please update the invoice or delete the associated payments to continue.\",\n    \"mark_as_default_invoice_template_description\": \"If enabled, the selected template will be automatically selected for new invoices.\"\n  },\n  \"recurring_invoices\": {\n    \"title\": \"Recurring Invoices\",\n    \"invoices_list\": \"Recurring Invoices List\",\n    \"days\": \"{days} Days\",\n    \"months\": \"{months} Month\",\n    \"years\": \"{years} Year\",\n    \"all\": \"All\",\n    \"paid\": \"Paid\",\n    \"unpaid\": \"Unpaid\",\n    \"viewed\": \"Viewed\",\n    \"overdue\": \"Overdue\",\n    \"active\": \"Active\",\n    \"completed\": \"Completed\",\n    \"customer\": \"CUSTOMER\",\n    \"paid_status\": \"PAID STATUS\",\n    \"ref_no\": \"REF NO.\",\n    \"number\": \"NUMBER\",\n    \"amount_due\": \"AMOUNT DUE\",\n    \"partially_paid\": \"Partially Paid\",\n    \"total\": \"Total\",\n    \"discount\": \"Discount\",\n    \"sub_total\": \"Sub Total\",\n    \"invoice\": \"Recurring Invoice | Recurring Invoices\",\n    \"invoice_number\": \"Recurring Invoice Number\",\n    \"next_invoice_date\": \"Next Invoice Date\",\n    \"ref_number\": \"Ref Number\",\n    \"contact\": \"Contact\",\n    \"add_item\": \"Add an Item\",\n    \"date\": \"Date\",\n    \"limit_by\": \"Limit by\",\n    \"limit_date\": \"Limit Date\",\n    \"limit_count\": \"Limit Count\",\n    \"count\": \"Count\",\n    \"status\": \"Status\",\n    \"select_a_status\": \"Select a status\",\n    \"working\": \"Working\",\n    \"on_hold\": \"On Hold\",\n    \"complete\": \"Completed\",\n    \"add_tax\": \"Add Tax\",\n    \"amount\": \"Amount\",\n    \"action\": \"Action\",\n    \"notes\": \"Notes\",\n    \"view\": \"View\",\n    \"basic_info\": \"Basic Info\",\n    \"send_invoice\": \"Send Recurring Invoice\",\n    \"auto_send\": \"Auto Send\",\n    \"resend_invoice\": \"Resend Recurring Invoice\",\n    \"invoice_template\": \"Recurring Invoice Template\",\n    \"conversion_message\": \"Recurring Invoice cloned successful\",\n    \"template\": \"Template\",\n    \"mark_as_sent\": \"Mark as sent\",\n    \"confirm_send_invoice\": \"This recurring invoice will be sent via email to the customer\",\n    \"invoice_mark_as_sent\": \"This recurring invoice will be marked as sent\",\n    \"confirm_send\": \"This recurring invoice will be sent via email to the customer\",\n    \"starts_at\": \"Start Date\",\n    \"due_date\": \"Invoice Due Date\",\n    \"record_payment\": \"Record Payment\",\n    \"add_new_invoice\": \"Add New Recurring Invoice\",\n    \"update_expense\": \"Update Expense\",\n    \"edit_invoice\": \"Edit Recurring Invoice\",\n    \"new_invoice\": \"New Recurring Invoice\",\n    \"send_automatically\": \"Send Automatically\",\n    \"send_automatically_desc\": \"Enable this, if you would like to send the invoice automatically to the customer when its created.\",\n    \"save_invoice\": \"Save Recurring Invoice\",\n    \"update_invoice\": \"Update Recurring Invoice\",\n    \"add_new_tax\": \"Add New Tax\",\n    \"no_invoices\": \"No Recurring Invoices yet!\",\n    \"mark_as_rejected\": \"Mark as rejected\",\n    \"mark_as_accepted\": \"Mark as accepted\",\n    \"list_of_invoices\": \"This section will contain the list of recurring invoices.\",\n    \"select_invoice\": \"Select Invoice\",\n    \"no_matching_invoices\": \"There are no matching recurring invoices!\",\n    \"mark_as_sent_successfully\": \"Recurring Invoice marked as sent successfully\",\n    \"invoice_sent_successfully\": \"Recurring Invoice sent successfully\",\n    \"cloned_successfully\": \"Recurring Invoice cloned successfully\",\n    \"clone_invoice\": \"Clone Recurring Invoice\",\n    \"confirm_clone\": \"This recurring invoice will be cloned into a new Recurring Invoice\",\n    \"add_customer_email\": \"Please add an email address for this customer to send invoices automatically.\",\n    \"item\": {\n      \"title\": \"Item Title\",\n      \"description\": \"Description\",\n      \"quantity\": \"Quantity\",\n      \"price\": \"Price\",\n      \"discount\": \"Discount\",\n      \"total\": \"Total\",\n      \"total_discount\": \"Total Discount\",\n      \"sub_total\": \"Sub Total\",\n      \"tax\": \"Tax\",\n      \"amount\": \"Amount\",\n      \"select_an_item\": \"Type or click to select an item\",\n      \"type_item_description\": \"Type Item Description (optional)\"\n    },\n    \"frequency\": {\n      \"title\": \"Frequency\",\n      \"select_frequency\": \"Select Frequency\",\n      \"minute\": \"Minute\",\n      \"hour\": \"Hour\",\n      \"day_month\": \"Day of month\",\n      \"month\": \"Month\",\n      \"day_week\": \"Day of week\"\n    },\n    \"confirm_delete\": \"You will not be able to recover this Invoice | You will not be able to recover these Invoices\",\n    \"created_message\": \"Recurring Invoice created successfully\",\n    \"updated_message\": \"Recurring Invoice updated successfully\",\n    \"deleted_message\": \"Recurring Invoice deleted successfully | Recurring Invoices deleted successfully\",\n    \"marked_as_sent_message\": \"Recurring Invoice marked as sent successfully\",\n    \"user_email_does_not_exist\": \"User email does not exist\",\n    \"something_went_wrong\": \"something went wrong\",\n    \"invalid_due_amount_message\": \"Total Recurring Invoice amount cannot be less than total paid amount for this Recurring Invoice. Please update the invoice or delete the associated payments to continue.\"\n  },\n  \"payments\": {\n    \"title\": \"Payments\",\n    \"payments_list\": \"Payments List\",\n    \"record_payment\": \"Record Payment\",\n    \"customer\": \"Customer\",\n    \"date\": \"Date\",\n    \"amount\": \"Amount\",\n    \"action\": \"Action\",\n    \"payment_number\": \"Payment Number\",\n    \"payment_mode\": \"Payment Mode\",\n    \"invoice\": \"Invoice\",\n    \"note\": \"Note\",\n    \"add_payment\": \"Add Payment\",\n    \"new_payment\": \"New Payment\",\n    \"edit_payment\": \"Edit Payment\",\n    \"view_payment\": \"View Payment\",\n    \"add_new_payment\": \"Add New Payment\",\n    \"send_payment_receipt\": \"Send Payment Receipt\",\n    \"send_payment\": \"Send Payment\",\n    \"save_payment\": \"Save Payment\",\n    \"update_payment\": \"Update Payment\",\n    \"payment\": \"Payment | Payments\",\n    \"no_payments\": \"No payments yet!\",\n    \"not_selected\": \"Not selected\",\n    \"no_invoice\": \"No invoice\",\n    \"no_matching_payments\": \"There are no matching payments!\",\n    \"list_of_payments\": \"This section will contain the list of payments.\",\n    \"select_payment_mode\": \"Select payment mode\",\n    \"confirm_mark_as_sent\": \"This estimate will be marked as sent\",\n    \"confirm_send_payment\": \"This payment will be sent via email to the customer\",\n    \"send_payment_successfully\": \"Payment sent successfully\",\n    \"something_went_wrong\": \"something went wrong\",\n    \"confirm_delete\": \"You will not be able to recover this Payment | You will not be able to recover these Payments\",\n    \"created_message\": \"Payment created successfully\",\n    \"updated_message\": \"Payment updated successfully\",\n    \"deleted_message\": \"Payment deleted successfully | Payments deleted successfully\",\n    \"invalid_amount_message\": \"Payment amount is invalid\"\n  },\n  \"expenses\": {\n    \"title\": \"Expenses\",\n    \"expenses_list\": \"Expenses List\",\n    \"select_a_customer\": \"Select a customer\",\n    \"expense_title\": \"Title\",\n    \"customer\": \"Customer\",\n    \"currency\": \"Currency\",\n    \"contact\": \"Contact\",\n    \"category\": \"Category\",\n    \"from_date\": \"From Date\",\n    \"to_date\": \"To Date\",\n    \"expense_date\": \"Date\",\n    \"description\": \"Description\",\n    \"receipt\": \"Receipt\",\n    \"amount\": \"Amount\",\n    \"action\": \"Action\",\n    \"not_selected\": \"Not selected\",\n    \"note\": \"Note\",\n    \"category_id\": \"Category Id\",\n    \"date\": \"Date\",\n    \"add_expense\": \"Add Expense\",\n    \"add_new_expense\": \"Add New Expense\",\n    \"save_expense\": \"Save Expense\",\n    \"update_expense\": \"Update Expense\",\n    \"download_receipt\": \"Download Receipt\",\n    \"edit_expense\": \"Edit Expense\",\n    \"new_expense\": \"New Expense\",\n    \"expense\": \"Expense | Expenses\",\n    \"no_expenses\": \"No expenses yet!\",\n    \"list_of_expenses\": \"This section will contain the list of expenses.\",\n    \"confirm_delete\": \"You will not be able to recover this Expense | You will not be able to recover these Expenses\",\n    \"created_message\": \"Expense created successfully\",\n    \"updated_message\": \"Expense updated successfully\",\n    \"deleted_message\": \"Expense deleted successfully | Expenses deleted successfully\",\n    \"categories\": {\n      \"categories_list\": \"Categories List\",\n      \"title\": \"Title\",\n      \"name\": \"Name\",\n      \"description\": \"Description\",\n      \"amount\": \"Amount\",\n      \"actions\": \"Actions\",\n      \"add_category\": \"Add Category\",\n      \"new_category\": \"New Category\",\n      \"category\": \"Category | Categories\",\n      \"select_a_category\": \"Select a category\"\n    }\n  },\n  \"login\": {\n    \"email\": \"Email\",\n    \"password\": \"Password\",\n    \"forgot_password\": \"Forgot Password?\",\n    \"or_signIn_with\": \"or Sign in with\",\n    \"login\": \"Login\",\n    \"register\": \"Register\",\n    \"reset_password\": \"Reset Password\",\n    \"password_reset_successfully\": \"Password Reset Successfully\",\n    \"enter_email\": \"Enter email\",\n    \"enter_password\": \"Enter Password\",\n    \"retype_password\": \"Retype Password\"\n  },\n  \"modules\": {\n    \"buy_now\": \"Buy Now\",\n    \"install\": \"Install\",\n    \"price\": \"Price\",\n    \"download_zip_file\": \"Download ZIP file\",\n    \"unzipping_package\": \"Unzipping Package\",\n    \"copying_files\": \"Copying Files\",\n    \"deleting_files\": \"Deleting Unused files\",\n    \"completing_installation\": \"Completing Installation\",\n    \"update_failed\": \"Update Failed\",\n    \"install_success\": \"Module has been installed successfully!\",\n    \"customer_reviews\": \"Reviews\",\n    \"license\": \"License\",\n    \"faq\": \"FAQ\",\n    \"monthly\": \"Monthly\",\n    \"yearly\": \"Yearly\",\n    \"updated\": \"Updated\",\n    \"version\": \"Version\",\n    \"disable\": \"Disable\",\n    \"module_disabled\": \"Module Disabled\",\n    \"enable\": \"Enable\",\n    \"module_enabled\": \"Module Enabled\",\n    \"update_to\": \"Update To\",\n    \"module_updated\": \"Module Updated Successfully!\",\n    \"title\": \"Modules\",\n    \"module\": \"Module | Modules\",\n    \"api_token\": \"API token\",\n    \"invalid_api_token\": \"Invalid API Token.\",\n    \"other_modules\": \"Other Modules\",\n    \"view_all\": \"View All\",\n    \"no_reviews_found\": \"There are no reviews for this module yet!\",\n    \"module_not_purchased\": \"Module Not Purchased\",\n    \"module_not_found\": \"Module Not Found\",\n    \"version_not_supported\": \"The minimum required version for this module does not match. Please upgrade your crater app to version: {version} to proceed.\",\n    \"last_updated\": \"Last Updated On\",\n    \"connect_installation\": \"Connect your installation\",\n    \"api_token_description\": \"Login to {url} and connect this installation by entering the API Token. Your purchased modules will show up here after the connection is established.\",\n    \"view_module\": \"View Module\",\n    \"update_available\": \"Update Available\",\n    \"purchased\": \"Purchased\",\n    \"installed\": \"Installed\",\n    \"no_modules_installed\": \"No Modules Installed Yet!\",\n    \"disable_warning\": \"All the settings for this particular will be reverted.\",\n    \"what_you_get\": \"What you get\"\n  },\n  \"users\": {\n    \"title\": \"Users\",\n    \"users_list\": \"Users List\",\n    \"name\": \"Name\",\n    \"description\": \"Description\",\n    \"added_on\": \"Added On\",\n    \"date_of_creation\": \"Date Of Creation\",\n    \"action\": \"Action\",\n    \"add_user\": \"Add User\",\n    \"save_user\": \"Save User\",\n    \"update_user\": \"Update User\",\n    \"user\": \"User | Users\",\n    \"add_new_user\": \"Add New User\",\n    \"new_user\": \"New User\",\n    \"edit_user\": \"Edit User\",\n    \"no_users\": \"No users yet!\",\n    \"list_of_users\": \"This section will contain the list of users.\",\n    \"email\": \"Email\",\n    \"phone\": \"Phone\",\n    \"password\": \"Password\",\n    \"user_attached_message\": \"Cannot delete an item which is already in use\",\n    \"confirm_delete\": \"You will not be able to recover this User | You will not be able to recover these Users\",\n    \"created_message\": \"User created successfully\",\n    \"updated_message\": \"User updated successfully\",\n    \"deleted_message\": \"User deleted successfully | Users deleted successfully\",\n    \"select_company_role\": \"Select Role for {company}\",\n    \"companies\": \"Companies\"\n  },\n  \"reports\": {\n    \"title\": \"Report\",\n    \"from_date\": \"From Date\",\n    \"to_date\": \"To Date\",\n    \"status\": \"Status\",\n    \"paid\": \"Paid\",\n    \"unpaid\": \"Unpaid\",\n    \"download_pdf\": \"Download PDF\",\n    \"view_pdf\": \"View PDF\",\n    \"update_report\": \"Update Report\",\n    \"report\": \"Report | Reports\",\n    \"profit_loss\": {\n      \"profit_loss\": \"Profit & Loss\",\n      \"to_date\": \"To Date\",\n      \"from_date\": \"From Date\",\n      \"date_range\": \"Select Date Range\"\n    },\n    \"sales\": {\n      \"sales\": \"Sales\",\n      \"date_range\": \"Select Date Range\",\n      \"to_date\": \"To Date\",\n      \"from_date\": \"From Date\",\n      \"report_type\": \"Report Type\"\n    },\n    \"taxes\": {\n      \"taxes\": \"Taxes\",\n      \"to_date\": \"To Date\",\n      \"from_date\": \"From Date\",\n      \"date_range\": \"Select Date Range\"\n    },\n    \"errors\": {\n      \"required\": \"Field is required\"\n    },\n    \"invoices\": {\n      \"invoice\": \"Invoice\",\n      \"invoice_date\": \"Invoice Date\",\n      \"due_date\": \"Due Date\",\n      \"amount\": \"Amount\",\n      \"contact_name\": \"Contact Name\",\n      \"status\": \"Status\"\n    },\n    \"estimates\": {\n      \"estimate\": \"Estimate\",\n      \"estimate_date\": \"Estimate Date\",\n      \"due_date\": \"Due Date\",\n      \"estimate_number\": \"Estimate Number\",\n      \"ref_number\": \"Ref Number\",\n      \"amount\": \"Amount\",\n      \"contact_name\": \"Contact Name\",\n      \"status\": \"Status\"\n    },\n    \"expenses\": {\n      \"expenses\": \"Expenses\",\n      \"category\": \"Category\",\n      \"date\": \"Date\",\n      \"amount\": \"Amount\",\n      \"to_date\": \"To Date\",\n      \"from_date\": \"From Date\",\n      \"date_range\": \"Select Date Range\"\n    }\n  },\n  \"settings\": {\n    \"menu_title\": {\n      \"account_settings\": \"Account Settings\",\n      \"company_information\": \"Company Information\",\n      \"customization\": \"Customization\",\n      \"preferences\": \"Preferences\",\n      \"notifications\": \"Notifications\",\n      \"tax_types\": \"Tax Types\",\n      \"expense_category\": \"Expense Categories\",\n      \"update_app\": \"Update App\",\n      \"backup\": \"Backup\",\n      \"file_disk\": \"File Disk\",\n      \"custom_fields\": \"Custom Fields\",\n      \"payment_modes\": \"Payment Modes\",\n      \"notes\": \"Notes\",\n      \"exchange_rate\": \"Exchange Rate\",\n      \"address_information\": \"Address Information\"\n    },\n    \"address_information\": {\n      \"section_description\": \"  You can update Your Address information using form below.\"\n    },\n    \"title\": \"Settings\",\n    \"setting\": \"Settings | Settings\",\n    \"general\": \"General\",\n    \"language\": \"Language\",\n    \"primary_currency\": \"Primary Currency\",\n    \"timezone\": \"Time Zone\",\n    \"date_format\": \"Date Format\",\n    \"currencies\": {\n      \"title\": \"Currencies\",\n      \"currency\": \"Currency | Currencies\",\n      \"currencies_list\": \"Currencies List\",\n      \"select_currency\": \"Select Currency\",\n      \"name\": \"Name\",\n      \"code\": \"Code\",\n      \"symbol\": \"Symbol\",\n      \"precision\": \"Precision\",\n      \"thousand_separator\": \"Thousand Separator\",\n      \"decimal_separator\": \"Decimal Separator\",\n      \"position\": \"Position\",\n      \"position_of_symbol\": \"Position Of Symbol\",\n      \"right\": \"Right\",\n      \"left\": \"Left\",\n      \"action\": \"Action\",\n      \"add_currency\": \"Add Currency\"\n    },\n    \"mail\": {\n      \"host\": \"Mail Host\",\n      \"port\": \"Mail Port\",\n      \"driver\": \"Mail Driver\",\n      \"secret\": \"Secret\",\n      \"mailgun_secret\": \"Mailgun Secret\",\n      \"mailgun_domain\": \"Domain\",\n      \"mailgun_endpoint\": \"Mailgun Endpoint\",\n      \"ses_secret\": \"SES Secret\",\n      \"ses_key\": \"SES Key\",\n      \"password\": \"Mail Password\",\n      \"username\": \"Mail Username\",\n      \"mail_config\": \"Mail Configuration\",\n      \"from_name\": \"From Mail Name\",\n      \"from_mail\": \"From Mail Address\",\n      \"encryption\": \"Mail Encryption\",\n      \"mail_config_desc\": \"Below is the form for Configuring Email driver for sending emails from the app. You can also configure third party providers like Sendgrid, SES etc.\"\n    },\n    \"pdf\": {\n      \"title\": \"PDF Setting\",\n      \"footer_text\": \"Footer Text\",\n      \"pdf_layout\": \"PDF Layout\"\n    },\n    \"company_info\": {\n      \"company_info\": \"Company info\",\n      \"company_name\": \"Company Name\",\n      \"company_logo\": \"Company Logo\",\n      \"section_description\": \"Information about your company that will be displayed on invoices, estimates and other documents created by Crater.\",\n      \"phone\": \"Phone\",\n      \"country\": \"Country\",\n      \"state\": \"State\",\n      \"city\": \"City\",\n      \"address\": \"Address\",\n      \"zip\": \"Zip\",\n      \"save\": \"Save\",\n      \"delete\": \"Delete\",\n      \"updated_message\": \"Company information updated successfully\",\n      \"delete_company\": \"Delete Company\",\n      \"delete_company_description\": \"Once you delete your company, you will lose all the data and files associated with it permanently.\",\n      \"are_you_absolutely_sure\": \"Are you absolutely sure?\",\n      \"delete_company_modal_desc\": \"This action cannot be undone. This will permanently delete {company} and all of its associated data.\",\n      \"delete_company_modal_label\": \"Please type {company} to confirm\"\n    },\n    \"custom_fields\": {\n      \"title\": \"Custom Fields\",\n      \"section_description\": \"Customize your Invoices, Estimates & Payment Receipts with your own fields. Make sure to use the below added fields on the address formats on Customization settings page.\",\n      \"add_custom_field\": \"Add Custom Field\",\n      \"edit_custom_field\": \"Edit Custom Field\",\n      \"field_name\": \"Field Name\",\n      \"label\": \"Label\",\n      \"type\": \"Type\",\n      \"name\": \"Name\",\n      \"slug\": \"Slug\",\n      \"required\": \"Required\",\n      \"placeholder\": \"Placeholder\",\n      \"help_text\": \"Help Text\",\n      \"default_value\": \"Default Value\",\n      \"prefix\": \"Prefix\",\n      \"starting_number\": \"Starting Number\",\n      \"model\": \"Model\",\n      \"help_text_description\": \"Enter some text to help users understand the purpose of this custom field.\",\n      \"suffix\": \"Suffix\",\n      \"yes\": \"Yes\",\n      \"no\": \"No\",\n      \"order\": \"Order\",\n      \"custom_field_confirm_delete\": \"You will not be able to recover this Custom Field\",\n      \"already_in_use\": \"Custom Field is already in use\",\n      \"deleted_message\": \"Custom Field deleted successfully\",\n      \"options\": \"options\",\n      \"add_option\": \"Add Options\",\n      \"add_another_option\": \"Add another option\",\n      \"sort_in_alphabetical_order\": \"Sort in Alphabetical Order\",\n      \"add_options_in_bulk\": \"Add options in bulk\",\n      \"use_predefined_options\": \"Use Predefined Options\",\n      \"select_custom_date\": \"Select Custom Date\",\n      \"select_relative_date\": \"Select Relative Date\",\n      \"ticked_by_default\": \"Ticked by default\",\n      \"updated_message\": \"Custom Field updated successfully\",\n      \"added_message\": \"Custom Field added successfully\",\n      \"press_enter_to_add\": \"Press enter to add new option\",\n      \"model_in_use\": \"Cannot update model for fields which are already in use.\",\n      \"type_in_use\": \"Cannot update type for fields which are already in use.\"\n    },\n    \"customization\": {\n      \"customization\": \"customization\",\n      \"updated_message\": \"Company information updated successfully\",\n      \"save\": \"Save\",\n      \"insert_fields\": \"Insert Fields\",\n      \"learn_custom_format\": \"Learn how to use custom format\",\n      \"add_new_component\": \"Add New Component\",\n      \"component\": \"Component\",\n      \"Parameter\": \"Parameter\",\n      \"series\": \"Series\",\n      \"series_description\": \"To set a static prefix/postfix like 'INV' across your company. It supports character length of up to 6 chars.\",\n      \"series_param_label\": \"Series Value\",\n      \"delimiter\": \"Delimiter\",\n      \"delimiter_description\": \"Single character for specifying the boundary between 2 separate components. By default its set to -\",\n      \"delimiter_param_label\": \"Delimiter Value\",\n      \"date_format\": \"Date Format\",\n      \"date_format_description\": \"A local date and time field which accepts a format parameter. The default format: 'Y' renders the current year.\",\n      \"date_format_param_label\": \"Format\",\n      \"sequence\": \"Sequence\",\n      \"sequence_description\": \"Consecutive sequence of numbers across your company. You can specify the length on the given parameter.\",\n      \"sequence_param_label\": \"Sequence Length\",\n      \"customer_series\": \"Customer Series\",\n      \"customer_series_description\": \"To set a different prefix/postfix for each customer.\",\n      \"customer_sequence\": \"Customer Sequence\",\n      \"customer_sequence_description\": \"Consecutive sequence of numbers for each of your customer.\",\n      \"customer_sequence_param_label\": \"Sequence Length\",\n      \"random_sequence\": \"Random Sequence\",\n      \"random_sequence_description\": \"Random alphanumeric string. You can specify the length on the given parameter.\",\n      \"random_sequence_param_label\": \"Sequence Length\",\n      \"invoices\": {\n        \"title\": \"Invoices\",\n        \"invoice_number_format\": \"Invoice Number Format\",\n        \"invoice_number_format_description\": \"Customize how your invoice number gets generated automatically when you create a new invoice.\",\n        \"preview_invoice_number\": \"Preview Invoice Number\",\n        \"due_date\": \"Due Date\",\n        \"due_date_description\": \"Specify how due date is automatically set when you create an invoice.\",\n        \"due_date_days\": \"Invoice Due after days\",\n        \"set_due_date_automatically\": \"Set Due Date Automatically\",\n        \"set_due_date_automatically_description\": \"Enable this if you wish to set due date automatically when you create a new invoice.\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on invoice creation.\",\n        \"default_invoice_email_body\": \"Default Invoice Email Body\",\n        \"company_address_format\": \"Company Address Format\",\n        \"shipping_address_format\": \"Shipping Address Format\",\n        \"billing_address_format\": \"Billing Address Format\",\n        \"invoice_email_attachment\": \"Send invoices as attachments\",\n        \"invoice_email_attachment_setting_description\": \"Enable this if you want to send invoices as email attachment. Please note that 'View Invoice' button in emails will not be displayed anymore when enabled.\",\n        \"invoice_settings_updated\": \"Invoice Settings updated successfully\",\n        \"retrospective_edits\": \"Retrospective Edits\",\n        \"allow\": \"Allow\",\n        \"disable_on_invoice_partial_paid\": \"Disable after partial payment is recorded\",\n        \"disable_on_invoice_paid\": \"Disable after full payment is recorded\",\n        \"disable_on_invoice_sent\": \"Disable after invoice is sent\",\n        \"retrospective_edits_description\": \" Based on your country's laws or your preference, you can restrict users from editing finalised invoices.\"\n      },\n      \"estimates\": {\n        \"title\": \"Estimates\",\n        \"estimate_number_format\": \"Estimate Number Format\",\n        \"estimate_number_format_description\": \"Customize how your estimate number gets generated automatically when you create a new estimate.\",\n        \"preview_estimate_number\": \"Preview Estimate Number\",\n        \"expiry_date\": \"Expiry Date\",\n        \"expiry_date_description\": \"Specify how expiry date is automatically set when you create an estimate.\",\n        \"expiry_date_days\": \"Estimate Expires after days\",\n        \"set_expiry_date_automatically\": \"Set Expiry Date Automatically\",\n        \"set_expiry_date_automatically_description\": \"Enable this if you wish to set expiry date automatically when you create a new estimate.\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on estimate creation.\",\n        \"default_estimate_email_body\": \"Default Estimate Email Body\",\n        \"company_address_format\": \"Company Address Format\",\n        \"shipping_address_format\": \"Shipping Address Format\",\n        \"billing_address_format\": \"Billing Address Format\",\n        \"estimate_email_attachment\": \"Send estimates as attachments\",\n        \"estimate_email_attachment_setting_description\": \"Enable this if you want to send the estimates as an email attachment. Please note that 'View Estimate' button in emails will not be displayed anymore when enabled.\",\n        \"estimate_settings_updated\": \"Estimate Settings updated successfully\",\n        \"convert_estimate_options\": \"Estimate Convert Action\",\n        \"convert_estimate_description\": \"Specify what happens to the estimate after it gets converted to an invoice.\",\n        \"no_action\": \"No action\",\n        \"delete_estimate\": \"Delete estimate\",\n        \"mark_estimate_as_accepted\": \"Mark estimate as accepted\"\n      },\n      \"payments\": {\n        \"title\": \"Payments\",\n        \"payment_number_format\": \"Payment Number Format\",\n        \"payment_number_format_description\": \"Customize how your payment number gets generated automatically when you create a new payment.\",\n        \"preview_payment_number\": \"Preview Payment Number\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on payment creation.\",\n        \"default_payment_email_body\": \"Default Payment Email Body\",\n        \"company_address_format\": \"Company Address Format\",\n        \"from_customer_address_format\": \"From Customer Address Format\",\n        \"payment_email_attachment\": \"Send payments as attachments\",\n        \"payment_email_attachment_setting_description\": \"Enable this if you want to send the payment receipts as an email attachment. Please note that 'View Payment' button in emails will not be displayed anymore when enabled.\",\n        \"payment_settings_updated\": \"Payment Settings updated successfully\"\n      },\n      \"items\": {\n        \"title\": \"Items\",\n        \"units\": \"Units\",\n        \"add_item_unit\": \"Add Item Unit\",\n        \"edit_item_unit\": \"Edit Item Unit\",\n        \"unit_name\": \"Unit Name\",\n        \"item_unit_added\": \"Item Unit Added\",\n        \"item_unit_updated\": \"Item Unit Updated\",\n        \"item_unit_confirm_delete\": \"You will not be able to recover this Item unit\",\n        \"already_in_use\": \"Item Unit is already in use\",\n        \"deleted_message\": \"Item Unit deleted successfully\"\n      },\n      \"notes\": {\n        \"title\": \"Notes\",\n        \"description\": \"Save time by creating notes and reusing them on your invoices, estimates & payments.\",\n        \"notes\": \"Notes\",\n        \"type\": \"Type\",\n        \"add_note\": \"Add Note\",\n        \"add_new_note\": \"Add New Note\",\n        \"name\": \"Name\",\n        \"edit_note\": \"Edit Note\",\n        \"note_added\": \"Note added successfully\",\n        \"note_updated\": \"Note Updated successfully\",\n        \"note_confirm_delete\": \"You will not be able to recover this Note\",\n        \"already_in_use\": \"Note is already in use\",\n        \"deleted_message\": \"Note deleted successfully\"\n      }\n    },\n    \"account_settings\": {\n      \"profile_picture\": \"Profile Picture\",\n      \"name\": \"Name\",\n      \"email\": \"Email\",\n      \"password\": \"Password\",\n      \"confirm_password\": \"Confirm Password\",\n      \"account_settings\": \"Account Settings\",\n      \"save\": \"Save\",\n      \"section_description\": \"You can update your name, email & password using the form below.\",\n      \"updated_message\": \"Account Settings updated successfully\"\n    },\n    \"user_profile\": {\n      \"name\": \"Name\",\n      \"email\": \"Email\",\n      \"password\": \"Password\",\n      \"confirm_password\": \"Confirm Password\"\n    },\n    \"notification\": {\n      \"title\": \"Notifications\",\n      \"email\": \"Send Notifications to\",\n      \"description\": \"Which email notifications would you like to receive when something changes?\",\n      \"invoice_viewed\": \"Invoice viewed\",\n      \"invoice_viewed_desc\": \"When your customer views the invoice sent via crater dashboard.\",\n      \"estimate_viewed\": \"Estimate viewed\",\n      \"estimate_viewed_desc\": \"When your customer views the estimate sent via crater dashboard.\",\n      \"save\": \"Save\",\n      \"email_save_message\": \"Email saved successfully\",\n      \"please_enter_email\": \"Please Enter Email\"\n    },\n    \"roles\": {\n      \"title\": \"Roles\",\n      \"description\": \"Manage the roles & permissions of this company\",\n      \"save\": \"Save\",\n      \"add_new_role\": \"Add New Role\",\n      \"role_name\": \"Role Name\",\n      \"added_on\": \"Added on\",\n      \"add_role\": \"Add Role\",\n      \"edit_role\": \"Edit Role\",\n      \"name\": \"Name\",\n      \"permission\": \"Permission | Permissions\",\n      \"select_all\": \"Select All\",\n      \"none\": \"None\",\n      \"confirm_delete\": \"You will not be able to recover this Role\",\n      \"created_message\": \"Role created successfully\",\n      \"updated_message\": \"Role updated successfully\",\n      \"deleted_message\": \"Role deleted successfully\",\n      \"already_in_use\": \"Role is already in use\"\n    },\n    \"exchange_rate\": {\n      \"exchange_rate\": \"Exchange Rate\",\n      \"title\": \"Fix Currency Exchange issues\",\n      \"description\": \"Please enter exchange rate of all the currencies mentioned below to help Crater properly calculate the amounts in {currency}.\",\n      \"drivers\": \"Drivers\",\n      \"new_driver\": \"Add New Provider\",\n      \"edit_driver\": \"Edit Provider\",\n      \"select_driver\": \"Select Driver\",\n      \"update\": \"select exchange rate \",\n      \"providers_description\": \"Configure your exchange rate providers here to automatically fetch the latest exchange rate on transactions.\",\n      \"key\": \"API Key\",\n      \"name\": \"Name\",\n      \"driver\": \"Driver\",\n      \"is_default\": \"IS DEFAULT\",\n      \"currency\": \"Currencies\",\n      \"exchange_rate_confirm_delete\": \"You will not be able to recover this driver\",\n      \"created_message\": \"Provider Created successfully\",\n      \"updated_message\": \"Provider Updated Successfully\",\n      \"deleted_message\": \"Provider Deleted Successfully\",\n      \"error\": \" You cannot Delete Active Driver\",\n      \"default_currency_error\": \"This currency is already used in one of the Active Provider\",\n      \"exchange_help_text\": \"Enter exchange rate to convert from {currency} to {baseCurrency}\",\n      \"currency_freak\": \"Currency Freak\",\n      \"currency_layer\": \"Currency Layer\",\n      \"open_exchange_rate\": \"Open Exchange Rate\",\n      \"currency_converter\": \"Currency Converter\",\n      \"server\": \"Server\",\n      \"url\": \"URL\",\n      \"active\": \"Active\",\n      \"currency_help_text\": \"This provider will only be used on above selected currencies\",\n      \"currency_in_used\": \"The following currencies are already active on another provider. Please remove these currencies from selection to activate this provider again.\"\n    },\n    \"tax_types\": {\n      \"title\": \"Tax Types\",\n      \"add_tax\": \"Add Tax\",\n      \"edit_tax\": \"Edit Tax\",\n      \"description\": \"You can add or Remove Taxes as you please. Crater supports Taxes on Individual Items as well as on the invoice.\",\n      \"add_new_tax\": \"Add New Tax\",\n      \"tax_settings\": \"Tax Settings\",\n      \"tax_per_item\": \"Tax Per Item\",\n      \"tax_name\": \"Tax Name\",\n      \"compound_tax\": \"Compound Tax\",\n      \"percent\": \"Percent\",\n      \"action\": \"Action\",\n      \"tax_setting_description\": \"Enable this if you want to add taxes to individual invoice items. By default, taxes are added directly to the invoice.\",\n      \"created_message\": \"Tax type created successfully\",\n      \"updated_message\": \"Tax type updated successfully\",\n      \"deleted_message\": \"Tax type deleted successfully\",\n      \"confirm_delete\": \"You will not be able to recover this Tax Type\",\n      \"already_in_use\": \"Tax is already in use\"\n    },\n    \"payment_modes\": {\n      \"title\": \"Payment Modes\",\n      \"description\": \"Modes of transaction for payments\",\n      \"add_payment_mode\": \"Add Payment Mode\",\n      \"edit_payment_mode\": \"Edit Payment Mode\",\n      \"mode_name\": \"Mode Name\",\n      \"payment_mode_added\": \"Payment Mode Added\",\n      \"payment_mode_updated\": \"Payment Mode Updated\",\n      \"payment_mode_confirm_delete\": \"You will not be able to recover this Payment Mode\",\n      \"payments_attached\": \"This payment method is already attached to payments. Please delete the attached payments to proceed with deletion.\",\n      \"expenses_attached\": \"This payment method is already attached to expenses. Please delete the attached expenses to proceed with deletion.\",\n      \"deleted_message\": \"Payment Mode deleted successfully\"\n    },\n    \"expense_category\": {\n      \"title\": \"Expense Categories\",\n      \"action\": \"Action\",\n      \"description\": \"Categories are required for adding expense entries. You can Add or Remove these categories according to your preference.\",\n      \"add_new_category\": \"Add New Category\",\n      \"add_category\": \"Add Category\",\n      \"edit_category\": \"Edit Category\",\n      \"category_name\": \"Category Name\",\n      \"category_description\": \"Description\",\n      \"created_message\": \"Expense Category created successfully\",\n      \"deleted_message\": \"Expense category deleted successfully\",\n      \"updated_message\": \"Expense category updated successfully\",\n      \"confirm_delete\": \"You will not be able to recover this Expense Category\",\n      \"already_in_use\": \"Category is already in use\"\n    },\n    \"preferences\": {\n      \"currency\": \"Currency\",\n      \"default_language\": \"Default Language\",\n      \"time_zone\": \"Time Zone\",\n      \"fiscal_year\": \"Financial Year\",\n      \"date_format\": \"Date Format\",\n      \"discount_setting\": \"Discount Setting\",\n      \"discount_per_item\": \"Discount Per Item \",\n      \"discount_setting_description\": \"Enable this if you want to add Discount to individual invoice items. By default, Discount is added directly to the invoice.\",\n      \"expire_public_links\": \"Automatically Expire Public Links\",\n      \"expire_setting_description\": \"Specify whether you would like to expire all the links sent by application to view invoices, estimates & payments, etc after a specified duration.\",\n      \"save\": \"Save\",\n      \"preference\": \"Preference | Preferences\",\n      \"general_settings\": \"Default preferences for the system.\",\n      \"updated_message\": \"Preferences updated successfully\",\n      \"select_language\": \"Select Language\",\n      \"select_time_zone\": \"Select Time Zone\",\n      \"select_date_format\": \"Select Date Format\",\n      \"select_financial_year\": \"Select Financial Year\",\n      \"recurring_invoice_status\": \"Recurring Invoice Status\",\n      \"create_status\": \"Create Status\",\n      \"active\": \"Active\",\n      \"on_hold\": \"On Hold\",\n      \"update_status\": \"Update Status\",\n      \"completed\": \"Completed\",\n      \"company_currency_unchangeable\": \"Company currency cannot be changed\"\n    },\n    \"update_app\": {\n      \"title\": \"Update App\",\n      \"description\": \"You can easily update Crater by checking for a new update by clicking the button below\",\n      \"check_update\": \"Check for updates\",\n      \"avail_update\": \"New Update available\",\n      \"next_version\": \"Next version\",\n      \"requirements\": \"Requirements\",\n      \"update\": \"Update Now\",\n      \"update_progress\": \"Update in progress...\",\n      \"progress_text\": \"It will just take a few minutes. Please do not refresh the screen or close the window before the update finishes\",\n      \"update_success\": \"App has been updated! Please wait while your browser window gets reloaded automatically.\",\n      \"latest_message\": \"No update available! You are on the latest version.\",\n      \"current_version\": \"Current Version\",\n      \"download_zip_file\": \"Download ZIP file\",\n      \"unzipping_package\": \"Unzipping Package\",\n      \"copying_files\": \"Copying Files\",\n      \"deleting_files\": \"Deleting Unused files\",\n      \"running_migrations\": \"Running Migrations\",\n      \"finishing_update\": \"Finishing Update\",\n      \"update_failed\": \"Update Failed\",\n      \"update_failed_text\": \"Sorry! Your update failed on : {step} step\",\n      \"update_warning\": \"All of the application files and default template files will be overwritten when you update the application using this utility. Please take a backup of your templates & database before updating.\"\n    },\n    \"backup\": {\n      \"title\": \"Backup | Backups\",\n      \"description\": \"The backup is a zipfile that contains all files in the directories you specify along with a dump of your database\",\n      \"new_backup\": \"Add New Backup\",\n      \"create_backup\": \"Create Backup\",\n      \"select_backup_type\": \"Select Backup Type\",\n      \"backup_confirm_delete\": \"You will not be able to recover this Backup\",\n      \"path\": \"path\",\n      \"new_disk\": \"New Disk\",\n      \"created_at\": \"created at\",\n      \"size\": \"size\",\n      \"dropbox\": \"dropbox\",\n      \"local\": \"local\",\n      \"healthy\": \"healthy\",\n      \"amount_of_backups\": \"amount of backups\",\n      \"newest_backups\": \"newest backups\",\n      \"used_storage\": \"used storage\",\n      \"select_disk\": \"Select Disk\",\n      \"action\": \"Action\",\n      \"deleted_message\": \"Backup deleted successfully\",\n      \"created_message\": \"Backup created successfully\",\n      \"invalid_disk_credentials\": \"Invalid credential of selected disk\"\n    },\n    \"disk\": {\n      \"title\": \"File Disk | File Disks\",\n      \"description\": \"By default, Crater will use your local disk for saving backups, avatar and other image files. You can configure more than one disk drivers like DigitalOcean, S3 and Dropbox according to your preference.\",\n      \"created_at\": \"created at\",\n      \"dropbox\": \"dropbox\",\n      \"name\": \"Name\",\n      \"driver\": \"Driver\",\n      \"disk_type\": \"Type\",\n      \"disk_name\": \"Disk Name\",\n      \"new_disk\": \"Add New Disk\",\n      \"filesystem_driver\": \"Filesystem Driver\",\n      \"local_driver\": \"local Driver\",\n      \"local_root\": \"local Root\",\n      \"public_driver\": \"Public Driver\",\n      \"public_root\": \"Public Root\",\n      \"public_url\": \"Public URL\",\n      \"public_visibility\": \"Public Visibility\",\n      \"media_driver\": \"Media Driver\",\n      \"media_root\": \"Media Root\",\n      \"aws_driver\": \"AWS Driver\",\n      \"aws_key\": \"AWS Key\",\n      \"aws_secret\": \"AWS Secret\",\n      \"aws_region\": \"AWS Region\",\n      \"aws_bucket\": \"AWS Bucket\",\n      \"aws_root\": \"AWS Root\",\n      \"do_spaces_type\": \"Do Spaces type\",\n      \"do_spaces_key\": \"Do Spaces key\",\n      \"do_spaces_secret\": \"Do Spaces Secret\",\n      \"do_spaces_region\": \"Do Spaces Region\",\n      \"do_spaces_bucket\": \"Do Spaces Bucket\",\n      \"do_spaces_endpoint\": \"Do Spaces Endpoint\",\n      \"do_spaces_root\": \"Do Spaces Root\",\n      \"dropbox_type\": \"Dropbox Type\",\n      \"dropbox_token\": \"Dropbox Token\",\n      \"dropbox_key\": \"Dropbox Key\",\n      \"dropbox_secret\": \"Dropbox Secret\",\n      \"dropbox_app\": \"Dropbox App\",\n      \"dropbox_root\": \"Dropbox Root\",\n      \"default_driver\": \"Default Driver\",\n      \"is_default\": \"IS DEFAULT\",\n      \"set_default_disk\": \"Set Default Disk\",\n      \"set_default_disk_confirm\": \"This disk will be set as default and all the new PDFs will be saved on this disk\",\n      \"success_set_default_disk\": \"Disk set as default successfully\",\n      \"save_pdf_to_disk\": \"Save PDFs to Disk\",\n      \"disk_setting_description\": \" Enable this, if you wish to save a copy of each Invoice, Estimate & Payment Receipt PDF on your default disk automatically. Turning this option will decrease the load-time when viewing the PDFs.\",\n      \"select_disk\": \"Select Disk\",\n      \"disk_settings\": \"Disk Settings\",\n      \"confirm_delete\": \"Your existing files & folders in the specified disk will not be affected but your disk configuration will be deleted from Crater\",\n      \"action\": \"Action\",\n      \"edit_file_disk\": \"Edit File Disk\",\n      \"success_create\": \"Disk added successfully\",\n      \"success_update\": \"Disk updated successfully\",\n      \"error\": \"Disk addition failed\",\n      \"deleted_message\": \"File Disk deleted successfully\",\n      \"disk_variables_save_successfully\": \"Disk Configured Successfully\",\n      \"disk_variables_save_error\": \"Disk configuration failed.\",\n      \"invalid_disk_credentials\": \"Invalid credential of selected disk\"\n    },\n    \"taxations\": {\n      \"add_billing_address\": \"Enter Billing Address\",\n      \"add_shipping_address\": \"Enter Shipping Address\",\n      \"add_company_address\": \"Enter Company Address\",\n      \"modal_description\": \"The information below is required in order to fetch sales tax.\",\n      \"add_address\": \"Add Address for fetching sales tax.\",\n      \"address_placeholder\": \"Example: 123, My Street\",\n      \"city_placeholder\": \"Example: Los Angeles\",\n      \"state_placeholder\": \"Example: CA\",\n      \"zip_placeholder\": \"Example: 90024\",\n      \"invalid_address\": \"Please provide valid address details.\"\n    }\n  },\n  \"wizard\": {\n    \"account_info\": \"Account Information\",\n    \"account_info_desc\": \"Below details will be used to create the main Administrator account. Also you can change the details anytime after logging in.\",\n    \"name\": \"Name\",\n    \"email\": \"Email\",\n    \"password\": \"Password\",\n    \"confirm_password\": \"Confirm Password\",\n    \"save_cont\": \"Save & Continue\",\n    \"company_info\": \"Company Information\",\n    \"company_info_desc\": \"This information will be displayed on invoices. Note that you can edit this later on settings page.\",\n    \"company_name\": \"Company Name\",\n    \"company_logo\": \"Company Logo\",\n    \"logo_preview\": \"Logo Preview\",\n    \"preferences\": \"Company Preferences\",\n    \"preferences_desc\": \"Specify the default preferences for this company.\",\n    \"currency_set_alert\": \"The company's currency cannot be changed later.\",\n    \"country\": \"Country\",\n    \"state\": \"State\",\n    \"city\": \"City\",\n    \"address\": \"Address\",\n    \"street\": \"Street1 | Street2\",\n    \"phone\": \"Phone\",\n    \"zip_code\": \"Zip Code\",\n    \"go_back\": \"Go Back\",\n    \"currency\": \"Currency\",\n    \"language\": \"Language\",\n    \"time_zone\": \"Time Zone\",\n    \"fiscal_year\": \"Financial Year\",\n    \"date_format\": \"Date Format\",\n    \"from_address\": \"From Address\",\n    \"username\": \"Username\",\n    \"next\": \"Next\",\n    \"continue\": \"Continue\",\n    \"skip\": \"Skip\",\n    \"database\": {\n      \"database\": \"Site URL & Database\",\n      \"connection\": \"Database Connection\",\n      \"host\": \"Database Host\",\n      \"port\": \"Database Port\",\n      \"password\": \"Database Password\",\n      \"app_url\": \"App URL\",\n      \"app_domain\": \"App Domain\",\n      \"username\": \"Database Username\",\n      \"db_name\": \"Database Name\",\n      \"db_path\": \"Database Path\",\n      \"desc\": \"Create a database on your server and set the credentials using the form below.\"\n    },\n    \"permissions\": {\n      \"permissions\": \"Permissions\",\n      \"permission_confirm_title\": \"Are you sure you want to continue?\",\n      \"permission_confirm_desc\": \"Folder permission check failed\",\n      \"permission_desc\": \"Below is the list of folder permissions which are required in order for the app to work. If the permission check fails, make sure to update your folder permissions.\"\n    },\n    \"verify_domain\": {\n      \"title\": \"Domain Verification\",\n      \"desc\": \"Crater uses Session based authentication which requires domain verification for security purposes. Please enter the domain on which you will be accessing your web application.\",\n      \"app_domain\": \"App Domain\",\n      \"verify_now\": \"Verify Now\",\n      \"success\": \"Domain Verify Successfully.\",\n      \"failed\": \"Domain verification failed. Please enter valid domain name.\",\n      \"verify_and_continue\": \"Verify And Continue\"\n    },\n    \"mail\": {\n      \"host\": \"Mail Host\",\n      \"port\": \"Mail Port\",\n      \"driver\": \"Mail Driver\",\n      \"secret\": \"Secret\",\n      \"mailgun_secret\": \"Mailgun Secret\",\n      \"mailgun_domain\": \"Domain\",\n      \"mailgun_endpoint\": \"Mailgun Endpoint\",\n      \"ses_secret\": \"SES Secret\",\n      \"ses_key\": \"SES Key\",\n      \"password\": \"Mail Password\",\n      \"username\": \"Mail Username\",\n      \"mail_config\": \"Mail Configuration\",\n      \"from_name\": \"From Mail Name\",\n      \"from_mail\": \"From Mail Address\",\n      \"encryption\": \"Mail Encryption\",\n      \"mail_config_desc\": \"Below is the form for Configuring Email driver for sending emails from the app. You can also configure third party providers like Sendgrid, SES etc.\"\n    },\n    \"req\": {\n      \"system_req\": \"System Requirements\",\n      \"php_req_version\": \"Php (version {version} required)\",\n      \"check_req\": \"Check Requirements\",\n      \"system_req_desc\": \"Crater has a few server requirements. Make sure that your server has the required php version and all the extensions mentioned below.\"\n    },\n    \"errors\": {\n      \"migrate_failed\": \"Migrate Failed\",\n      \"database_variables_save_error\": \"Cannot write configuration to .env file. Please check its file permissions\",\n      \"mail_variables_save_error\": \"Email configuration failed.\",\n      \"connection_failed\": \"Database connection failed\",\n      \"database_should_be_empty\": \"Database should be empty\"\n    },\n    \"success\": {\n      \"mail_variables_save_successfully\": \"Email configured successfully\",\n      \"database_variables_save_successfully\": \"Database configured successfully.\"\n    }\n  },\n  \"validation\": {\n    \"invalid_phone\": \"Invalid Phone Number\",\n    \"invalid_url\": \"Invalid url (ex: http://www.craterapp.com)\",\n    \"invalid_domain_url\": \"Invalid url (ex: craterapp.com)\",\n    \"required\": \"Field is required\",\n    \"email_incorrect\": \"Incorrect Email.\",\n    \"email_already_taken\": \"The email has already been taken.\",\n    \"email_does_not_exist\": \"User with given email doesn't exist\",\n    \"item_unit_already_taken\": \"This item unit name has already been taken\",\n    \"payment_mode_already_taken\": \"This payment mode name has already been taken\",\n    \"send_reset_link\": \"Send Reset Link\",\n    \"not_yet\": \"Not yet? Send it again\",\n    \"password_min_length\": \"Password must contain {count} characters\",\n    \"name_min_length\": \"Name must have at least {count} letters.\",\n    \"prefix_min_length\": \"Prefix must have at least {count} letters.\",\n    \"enter_valid_tax_rate\": \"Enter valid tax rate\",\n    \"numbers_only\": \"Numbers Only.\",\n    \"characters_only\": \"Characters Only.\",\n    \"password_incorrect\": \"Passwords must be identical\",\n    \"password_length\": \"Password must be {count} character long.\",\n    \"qty_must_greater_than_zero\": \"Quantity must be greater than zero.\",\n    \"price_greater_than_zero\": \"Price must be greater than zero.\",\n    \"payment_greater_than_zero\": \"Payment must be greater than zero.\",\n    \"payment_greater_than_due_amount\": \"Entered Payment is more than due amount of this invoice.\",\n    \"quantity_maxlength\": \"Quantity should not be greater than 20 digits.\",\n    \"price_maxlength\": \"Price should not be greater than 20 digits.\",\n    \"price_minvalue\": \"Price should be greater than 0.\",\n    \"amount_maxlength\": \"Amount should not be greater than 20 digits.\",\n    \"amount_minvalue\": \"Amount should be greater than 0.\",\n    \"discount_maxlength\": \"Discount should not be greater than max discount\",\n    \"description_maxlength\": \"Description should not be greater than 255 characters.\",\n    \"subject_maxlength\": \"Subject should not be greater than 100 characters.\",\n    \"message_maxlength\": \"Message should not be greater than 255 characters.\",\n    \"maximum_options_error\": \"Maximum  of {max} options selected. First remove a selected option to select another.\",\n    \"notes_maxlength\": \"Notes should not be greater than 65,000 characters.\",\n    \"address_maxlength\": \"Address should not be greater than 255 characters.\",\n    \"ref_number_maxlength\": \"Ref Number should not be greater than 255 characters.\",\n    \"prefix_maxlength\": \"Prefix should not be greater than 5 characters.\",\n    \"something_went_wrong\": \"something went wrong\",\n    \"number_length_minvalue\": \"Number length should be greater than 0\",\n    \"at_least_one_ability\": \"Please select atleast one Permission.\",\n    \"valid_driver_key\": \"Please enter a valid {driver} key.\",\n    \"valid_exchange_rate\": \"Please enter a valid exchange rate.\",\n    \"company_name_not_same\": \"Company name must match with given name.\"\n  },\n  \"errors\": {\n    \"starter_plan\": \"This feature is available on Starter plan and onwards!\",\n    \"invalid_provider_key\": \"Please Enter Valid Provider API Key.\",\n    \"estimate_number_used\": \"The estimate number has already been taken.\",\n    \"invoice_number_used\": \"The invoice number has already been taken.\",\n    \"payment_attached\": \"This invoice already has a payment attached to it. Make sure to delete the attached payments first in order to go ahead with the removal.\",\n    \"payment_number_used\": \"The payment number has already been taken.\",\n    \"name_already_taken\": \"The name has already been taken.\",\n    \"receipt_does_not_exist\": \"Receipt does not exist.\",\n    \"customer_cannot_be_changed_after_payment_is_added\": \"Customer cannot be change after payment is added\",\n    \"invalid_credentials\": \"Invalid  Credentials.\",\n    \"not_allowed\": \"Not Allowed\",\n    \"login_invalid_credentials\": \"These credentials do not match our records.\",\n    \"enter_valid_cron_format\": \"Please enter a valid cron format\",\n    \"email_could_not_be_sent\": \"Email could not be sent to this email address.\",\n    \"invalid_address\": \"Please enter a valid address.\",\n    \"invalid_key\": \"Please enter valid key.\",\n    \"invalid_state\": \"Please enter a valid state.\",\n    \"invalid_city\": \"Please enter a valid city.\",\n    \"invalid_postal_code\": \"Please enter a valid zip.\",\n    \"invalid_format\": \"Please enter valid query string format.\",\n    \"api_error\": \"Server not responding.\",\n    \"feature_not_enabled\": \"Feature not enabled.\",\n    \"request_limit_met\": \"Api request limit exceeded.\",\n    \"address_incomplete\": \"Incomplete Address\"\n  },\n  \"pdf_estimate_label\": \"Estimate\",\n  \"pdf_estimate_number\": \"Estimate Number\",\n  \"pdf_estimate_date\": \"Estimate Date\",\n  \"pdf_estimate_expire_date\": \"Expiry Date\",\n  \"pdf_invoice_label\": \"Invoice\",\n  \"pdf_invoice_number\": \"Invoice Number\",\n  \"pdf_invoice_date\": \"Invoice Date\",\n  \"pdf_invoice_due_date\": \"Due date\",\n  \"pdf_notes\": \"Notes\",\n  \"pdf_items_label\": \"Items\",\n  \"pdf_quantity_label\": \"Quantity\",\n  \"pdf_price_label\": \"Price\",\n  \"pdf_discount_label\": \"Discount\",\n  \"pdf_amount_label\": \"Amount\",\n  \"pdf_subtotal\": \"Subtotal\",\n  \"pdf_total\": \"Total\",\n  \"pdf_payment_label\": \"Payment\",\n  \"pdf_payment_receipt_label\": \"PAYMENT RECEIPT\",\n  \"pdf_payment_date\": \"Payment Date\",\n  \"pdf_payment_number\": \"Payment Number\",\n  \"pdf_payment_mode\": \"Payment Mode\",\n  \"pdf_payment_amount_received_label\": \"Amount Received\",\n  \"pdf_expense_report_label\": \"EXPENSES REPORT\",\n  \"pdf_total_expenses_label\": \"TOTAL EXPENSE\",\n  \"pdf_profit_loss_label\": \"PROFIT & LOSS REPORT\",\n  \"pdf_sales_customers_label\": \"Sales Customer Report\",\n  \"pdf_sales_items_label\": \"Sales Item Report\",\n  \"pdf_tax_summery_label\": \"Tax Summary Report\",\n  \"pdf_income_label\": \"INCOME\",\n  \"pdf_net_profit_label\": \"NET PROFIT\",\n  \"pdf_customer_sales_report\": \"Sales Report: By Customer\",\n  \"pdf_total_sales_label\": \"TOTAL SALES\",\n  \"pdf_item_sales_label\": \"Sales Report: By Item\",\n  \"pdf_tax_report_label\": \"TAX REPORT\",\n  \"pdf_total_tax_label\": \"TOTAL TAX\",\n  \"pdf_tax_types_label\": \"Tax Types\",\n  \"pdf_expenses_label\": \"Expenses\",\n  \"pdf_bill_to\": \"Bill to,\",\n  \"pdf_ship_to\": \"Ship to,\",\n  \"pdf_received_from\": \"Received from:\",\n  \"pdf_tax_label\": \"Tax\"\n}\n"
  },
  {
    "path": "resources/scripts/locales/es.json",
    "content": "{\n  \"navigation\": {\n    \"dashboard\": \"Tablero\",\n    \"customers\": \"Clientes\",\n    \"items\": \"Artículos\",\n    \"invoices\": \"Facturas\",\n    \"recurring-invoices\": \"Facturas recurrentes\",\n    \"expenses\": \"Gastos\",\n    \"estimates\": \"Presupuestos\",\n    \"payments\": \"Pagos\",\n    \"reports\": \"Informes\",\n    \"settings\": \"Ajustes\",\n    \"logout\": \"Cerrar sesión\",\n    \"users\": \"Usuarios\",\n    \"modules\": \"Módulos\"\n  },\n  \"general\": {\n    \"add_company\": \"Añadir empresa\",\n    \"view_pdf\": \"Ver PDF\",\n    \"copy_pdf_url\": \"Copiar dirección URL del archivo PDF\",\n    \"download_pdf\": \"Descargar PDF\",\n    \"save\": \"Guardar\",\n    \"create\": \"Crear\",\n    \"cancel\": \"Cancelar\",\n    \"update\": \"Actualizar\",\n    \"deselect\": \"Deseleccionar\",\n    \"download\": \"Descargar\",\n    \"from_date\": \"Desde la fecha\",\n    \"to_date\": \"Hasta la fecha\",\n    \"from\": \"De\",\n    \"to\": \"A\",\n    \"ok\": \"De acuerdo\",\n    \"yes\": \"Sí\",\n    \"no\": \"No\",\n    \"sort_by\": \"Ordenar por\",\n    \"ascending\": \"Ascendente\",\n    \"descending\": \"Descendente\",\n    \"subject\": \"Asunto\",\n    \"body\": \"Cuerpo\",\n    \"message\": \"Mensaje\",\n    \"send\": \"Enviar\",\n    \"preview\": \"Previsualizar\",\n    \"go_back\": \"Volver\",\n    \"back_to_login\": \"¿Volver al inicio de sesión?\",\n    \"home\": \"Inicio\",\n    \"filter\": \"Filtrar\",\n    \"delete\": \"Eliminar\",\n    \"edit\": \"Editar\",\n    \"view\": \"Ver\",\n    \"add_new_item\": \"Agregar ítem nuevo\",\n    \"clear_all\": \"Limpiar todo\",\n    \"showing\": \"Mostrar\",\n    \"of\": \"de\",\n    \"actions\": \"Acciones\",\n    \"subtotal\": \"SUBTOTAL\",\n    \"discount\": \"DESCUENTO\",\n    \"fixed\": \"Fijo\",\n    \"percentage\": \"Porcentaje\",\n    \"tax\": \"IMPUESTO\",\n    \"total_amount\": \"VALOR TOTAL\",\n    \"bill_to\": \"Cobrar a\",\n    \"ship_to\": \"Enviar a\",\n    \"due\": \"Debido\",\n    \"draft\": \"Borrador\",\n    \"sent\": \"Enviado\",\n    \"all\": \"Todas\",\n    \"select_all\": \"Seleccionar todo\",\n    \"select_template\": \"Seleccionar plantilla\",\n    \"choose_file\": \"Haga clic aquí para elegir un archivo\",\n    \"choose_template\": \"Elige una plantilla\",\n    \"choose\": \"Escoger\",\n    \"remove\": \"Eliminar\",\n    \"select_a_status\": \"Selecciona un estado\",\n    \"select_a_tax\": \"Selecciona un impuesto\",\n    \"search\": \"Buscar\",\n    \"are_you_sure\": \"¿Estás seguro?\",\n    \"list_is_empty\": \"La lista esta vacía.\",\n    \"no_tax_found\": \"¡No se encontraron impuestos!\",\n    \"four_zero_four\": \"404\",\n    \"you_got_lost\": \"Whoops! ¡Te perdiste!\",\n    \"go_home\": \"Volver al Inicio\",\n    \"test_mail_conf\": \"Probar configuración de correo\",\n    \"send_mail_successfully\": \"El correo enviado con éxito\",\n    \"setting_updated\": \"Configuración actualizada con éxito\",\n    \"select_state\": \"Seleccionar estado\",\n    \"select_country\": \"Seleccionar país\",\n    \"select_city\": \"Seleccionar ciudad\",\n    \"street_1\": \"Calle 1\",\n    \"street_2\": \"Calle 2\",\n    \"action_failed\": \"Accion Fallida\",\n    \"retry\": \"Procesar de nuevo\",\n    \"choose_note\": \"Elegir nota\",\n    \"no_note_found\": \"No se encontró ninguna nota\",\n    \"insert_note\": \"Insertar una nota\",\n    \"copied_pdf_url_clipboard\": \"Copiar Url al portapapeles\",\n    \"copied_url_clipboard\": \"¡URL copiada al portapapeles!\",\n    \"docs\": \"Documentación\",\n    \"do_you_wish_to_continue\": \"¿Deseas continuar?\",\n    \"note\": \"Nota\",\n    \"pay_invoice\": \"Pagar factura\",\n    \"login_successfully\": \"Logeado Satisfactoriamente!\",\n    \"logged_out_successfully\": \"Logeado Satisfactoriamente\",\n    \"mark_as_default\": \"Marcar como predeterminado\"\n  },\n  \"dashboard\": {\n    \"select_year\": \"Seleccionar año\",\n    \"cards\": {\n      \"due_amount\": \"Importe pendiente\",\n      \"customers\": \"Clientes\",\n      \"invoices\": \"Facturas\",\n      \"estimates\": \"Presupuestos\",\n      \"payments\": \"Ver Medios de Pago\"\n    },\n    \"chart_info\": {\n      \"total_sales\": \"Ventas\",\n      \"total_receipts\": \"Ingresos\",\n      \"total_expense\": \"Gastos\",\n      \"net_income\": \"Ingresos netos\",\n      \"year\": \"Seleccione año\"\n    },\n    \"monthly_chart\": {\n      \"title\": \"Gastos de venta\"\n    },\n    \"recent_invoices_card\": {\n      \"title\": \"Facturas adeudadas\",\n      \"due_on\": \"Debido a\",\n      \"customer\": \"Cliente\",\n      \"amount_due\": \"Importe pendiente\",\n      \"actions\": \"Acciones\",\n      \"view_all\": \"Ver todo\"\n    },\n    \"recent_estimate_card\": {\n      \"title\": \"Presupuestos recientes\",\n      \"date\": \"Fecha\",\n      \"customer\": \"Cliente\",\n      \"amount_due\": \"Importe pendiente\",\n      \"actions\": \"Acciones\",\n      \"view_all\": \"Ver todo\"\n    }\n  },\n  \"tax_types\": {\n    \"name\": \"Nombre\",\n    \"description\": \"Descripción\",\n    \"percent\": \"Por ciento\",\n    \"compound_tax\": \"Impuesto compuesto\"\n  },\n  \"global_search\": {\n    \"search\": \"Buscar...\",\n    \"customers\": \"Clientes\",\n    \"users\": \"Usuarios\",\n    \"no_results_found\": \"No se encontraron resultados\"\n  },\n  \"company_switcher\": {\n    \"label\": \"CAMBIAR EMPRESA\",\n    \"no_results_found\": \"No se encontraron resultados\",\n    \"add_new_company\": \"Añadir nueva empresa\",\n    \"new_company\": \"Nueva empresa\",\n    \"created_message\": \"Empresa creada satisfactoriamente\"\n  },\n  \"dateRange\": {\n    \"today\": \"Hoy\",\n    \"this_week\": \"Esta semana\",\n    \"this_month\": \"Este mes\",\n    \"this_quarter\": \"Este trimestre\",\n    \"this_year\": \"Año actual\",\n    \"previous_week\": \"Semana pasada\",\n    \"previous_month\": \"Mes pasado\",\n    \"previous_quarter\": \"Trimestre pasado\",\n    \"previous_year\": \"Año pasado\",\n    \"custom\": \"Personalizado\"\n  },\n  \"customers\": {\n    \"title\": \"Clientes\",\n    \"prefix\": \"Prefijo\",\n    \"add_customer\": \"Agregar cliente\",\n    \"contacts_list\": \"Lista de clientes\",\n    \"name\": \"Nombre\",\n    \"mail\": \"Correo | Correos\",\n    \"statement\": \"Declaración\",\n    \"display_name\": \"Nombre para mostrar\",\n    \"primary_contact_name\": \"Nombre de contacto primario\",\n    \"contact_name\": \"Nombre de contacto\",\n    \"amount_due\": \"Importe pendiente\",\n    \"email\": \"Correo electrónico\",\n    \"address\": \"Dirección\",\n    \"phone\": \"Teléfono\",\n    \"website\": \"Sitio web\",\n    \"overview\": \"Descripción general\",\n    \"invoice_prefix\": \"Prefijo de la factura\",\n    \"estimate_prefix\": \"Prefijo de los presupuestos\",\n    \"payment_prefix\": \"Prefijo de pago\",\n    \"enable_portal\": \"Habilitar Portal\",\n    \"country\": \"País\",\n    \"state\": \"Estado\",\n    \"city\": \"Ciudad\",\n    \"zip_code\": \"Código postal\",\n    \"added_on\": \"Añadido el\",\n    \"action\": \"Acción\",\n    \"password\": \"Contraseña\",\n    \"confirm_password\": \"Confirmar contraseña\",\n    \"street_number\": \"Número de calle\",\n    \"primary_currency\": \"Moneda primaria\",\n    \"description\": \"Descripción\",\n    \"add_new_customer\": \"Agregar nuevo cliente\",\n    \"save_customer\": \"Guardar cliente\",\n    \"update_customer\": \"Actualizar cliente\",\n    \"customer\": \"Cliente | Clientes\",\n    \"new_customer\": \"Nuevo cliente\",\n    \"edit_customer\": \"Editar cliente\",\n    \"basic_info\": \"Información básica\",\n    \"portal_access\": \"Acceso al portal\",\n    \"portal_access_text\": \"¿Le gustaría permitir que este cliente inicie sesión en el Portal del Cliente?\",\n    \"portal_access_url\": \"Portal URL del cliente\",\n    \"portal_access_url_help\": \"Por favor, copie y reenvíe la URL anterior a su cliente para proporcionar acceso.\",\n    \"billing_address\": \"Dirección de Facturación\",\n    \"shipping_address\": \"Dirección de Envío\",\n    \"copy_billing_address\": \"Copia de facturación\",\n    \"no_customers\": \"¡Aún no hay clientes!\",\n    \"no_customers_found\": \"¡No se encontraron clientes!\",\n    \"no_contact\": \"No hay contactos\",\n    \"no_contact_name\": \"No hay nombres de contactos\",\n    \"list_of_customers\": \"Esta sección contendrá la lista de clientes.\",\n    \"primary_display_name\": \"Nombre de visualización principal\",\n    \"select_currency\": \"Seleccione el tipo de moneda\",\n    \"select_a_customer\": \"Selecciona un cliente\",\n    \"type_or_click\": \"Escriba o haga clic para seleccionar\",\n    \"new_transaction\": \"Nueva transacción\",\n    \"no_matching_customers\": \"¡No hay clientes coincidentes!\",\n    \"phone_number\": \"Número de teléfono\",\n    \"create_date\": \"Fecha de Creación\",\n    \"confirm_delete\": \"No podrá recuperar este cliente y todas las facturas, estimaciones y pagos relacionados. | No podrá recuperar estos clientes y todas las facturas, estimaciones y pagos relacionados.\",\n    \"created_message\": \"Cliente creado con éxito\",\n    \"updated_message\": \"Cliente actualizado con éxito\",\n    \"address_updated_message\": \"Información del domicilio actualizado correctamente\",\n    \"deleted_message\": \"Cliente eliminado correctamente | Clientes eliminados exitosamente\",\n    \"edit_currency_not_allowed\": \"No se puede cambiar la divisa una vez creadas las transacciones.\"\n  },\n  \"items\": {\n    \"title\": \"Artículos\",\n    \"items_list\": \"Lista de artículos\",\n    \"name\": \"Nombre\",\n    \"unit\": \"Unidad\",\n    \"description\": \"Descripción\",\n    \"added_on\": \"Añadido\",\n    \"price\": \"Precio\",\n    \"date_of_creation\": \"Fecha de creación\",\n    \"not_selected\": \"Ningún elemento seleccionado\",\n    \"action\": \"Acción\",\n    \"add_item\": \"Añadir artículo\",\n    \"save_item\": \"Guardar artículo\",\n    \"update_item\": \"Actualizar elemento\",\n    \"item\": \"Artículo | Artículos\",\n    \"add_new_item\": \"Agregar ítem nuevo\",\n    \"new_item\": \"Nuevo artículo\",\n    \"edit_item\": \"Editar elemento\",\n    \"no_items\": \"¡Aún no hay artículos!\",\n    \"list_of_items\": \"Esta sección contendrá la lista de artículos.\",\n    \"select_a_unit\": \"seleccionar unidad\",\n    \"taxes\": \"Impuestos\",\n    \"item_attached_message\": \"No se puede eliminar un elemento que ya está en uso.\",\n    \"confirm_delete\": \"No podrá recuperar este artículo | No podrás recuperar estos elementos\",\n    \"created_message\": \"Artículo creado con éxito\",\n    \"updated_message\": \"Artículo actualizado con éxito\",\n    \"deleted_message\": \"Elemento eliminado con éxito | Elementos eliminados correctamente\"\n  },\n  \"estimates\": {\n    \"title\": \"Presupuestos\",\n    \"accept_estimate\": \"Aceptar cotización\",\n    \"reject_estimate\": \"Rechazar cotización\",\n    \"estimate\": \"Presupuesto | Presupuestos\",\n    \"estimates_list\": \"Lista de presupuestos\",\n    \"days\": \"{días} Días\",\n    \"months\": \"{meses} Mes\",\n    \"years\": \"{años} Año\",\n    \"all\": \"Todas\",\n    \"paid\": \"Pagada\",\n    \"unpaid\": \"No pagado\",\n    \"customer\": \"CLIENTE\",\n    \"ref_no\": \"NÚMERO DE REFERENCIA.\",\n    \"number\": \"NÚMERO\",\n    \"amount_due\": \"IMPORTE PENDIENTE\",\n    \"partially_paid\": \"Parcialmente pagado\",\n    \"total\": \"Total\",\n    \"discount\": \"Descuento\",\n    \"sub_total\": \"Subtotal\",\n    \"estimate_number\": \"Número de Presupuesto\",\n    \"ref_number\": \"Número de referencia\",\n    \"contact\": \"Contacto\",\n    \"add_item\": \"Agregar un artículo\",\n    \"date\": \"Fecha\",\n    \"due_date\": \"Fecha de vencimiento\",\n    \"expiry_date\": \"Fecha de caducidad\",\n    \"status\": \"Estado\",\n    \"add_tax\": \"Agregar impuesto\",\n    \"amount\": \"Cantidad\",\n    \"action\": \"Acción\",\n    \"notes\": \"Notas\",\n    \"tax\": \"Impuesto\",\n    \"estimate_template\": \"Plantilla de presupuesto\",\n    \"convert_to_invoice\": \"Convertir a factura\",\n    \"mark_as_sent\": \"Marcar como enviado\",\n    \"send_estimate\": \"Enviar presupuesto\",\n    \"resend_estimate\": \"Reenviar estimado\",\n    \"record_payment\": \"Registro de pago\",\n    \"add_estimate\": \"Agregar presupuesto\",\n    \"save_estimate\": \"Guardar presupuesto\",\n    \"confirm_conversion\": \"¿Quiere convertir este presupuesto en una factura?\",\n    \"conversion_message\": \"Conversión exitosa\",\n    \"confirm_send_estimate\": \"Este presupuesto se enviará por correo electrónico al cliente\",\n    \"confirm_mark_as_sent\": \"Este presupuesto se marcará como enviado\",\n    \"confirm_mark_as_accepted\": \"Este presupuesto se marcará como Aceptado\",\n    \"confirm_mark_as_rejected\": \"Este presupuesto se marcará como Rechazado\",\n    \"no_matching_estimates\": \"¡No hay presupuestos coincidentes!\",\n    \"mark_as_sent_successfully\": \"Presupuesto marcado como enviado correctamente\",\n    \"send_estimate_successfully\": \"Presupuesto enviado con éxito\",\n    \"errors\": {\n      \"required\": \"Se requiere campo\"\n    },\n    \"accepted\": \"Aceptado\",\n    \"rejected\": \"Rechazado\",\n    \"expired\": \"Caducado\",\n    \"sent\": \"Enviado\",\n    \"draft\": \"Borrador\",\n    \"viewed\": \"Visto\",\n    \"declined\": \"Rechazado\",\n    \"new_estimate\": \"Nuevo presupuesto\",\n    \"add_new_estimate\": \"Añadir nuevo presupuesto\",\n    \"update_Estimate\": \"Actualizar presupuesto\",\n    \"edit_estimate\": \"Editar presupuesto\",\n    \"items\": \"artículos\",\n    \"Estimate\": \"Presupuestos | Presupuestos\",\n    \"add_new_tax\": \"Agregar nuevo impuesto\",\n    \"no_estimates\": \"¡Aún no hay presupuestos!\",\n    \"list_of_estimates\": \"Esta sección contendrá la lista de presupuestos.\",\n    \"mark_as_rejected\": \"Marcar como rechazado\",\n    \"mark_as_accepted\": \"Marcar como aceptado\",\n    \"marked_as_accepted_message\": \"Presupuesto marcado como aceptado\",\n    \"marked_as_rejected_message\": \"Presupuesto marcado como rechazado\",\n    \"confirm_delete\": \"No podrá recuperar este presupuesto | No podrá recuperar estos presupuestos\",\n    \"created_message\": \"Presupuesto creada con éxito\",\n    \"updated_message\": \"Presupuesto actualizada con éxito\",\n    \"deleted_message\": \"Presupuesto eliminada con éxito | Presupuestos eliminadas exitosamente\",\n    \"something_went_wrong\": \"Algo fue mal\",\n    \"item\": {\n      \"title\": \"Título del artículo\",\n      \"description\": \"Descripción\",\n      \"quantity\": \"Cantidad\",\n      \"price\": \"Precio\",\n      \"discount\": \"Descuento\",\n      \"total\": \"Total\",\n      \"total_discount\": \"Descuento total\",\n      \"sub_total\": \"Subtotal\",\n      \"tax\": \"Impuesto\",\n      \"amount\": \"Cantidad\",\n      \"select_an_item\": \"Escriba o haga clic para seleccionar un elemento\",\n      \"type_item_description\": \"Descripción del tipo de elemento(opcional)\"\n    },\n    \"mark_as_default_estimate_template_description\": \"Si se activa, esta plantilla se selccionará automáticamente para nuevos presupuestos. \"\n  },\n  \"invoices\": {\n    \"title\": \"Facturas\",\n    \"download\": \"Descargar\",\n    \"pay_invoice\": \"Pagar factura\",\n    \"invoices_list\": \"Lista de facturas\",\n    \"invoice_information\": \"Información de la factura\",\n    \"days\": \"{días} Días\",\n    \"months\": \"{meses} Mes\",\n    \"years\": \"{años} Año\",\n    \"all\": \"Todas\",\n    \"paid\": \"Pagada\",\n    \"unpaid\": \"No pagado\",\n    \"viewed\": \"Visto\",\n    \"overdue\": \"Vencido\",\n    \"completed\": \"Completado\",\n    \"customer\": \"CLIENTE\",\n    \"paid_status\": \"ESTADO PAGADO\",\n    \"ref_no\": \"NÚMERO DE REFERENCIA.\",\n    \"number\": \"NÚMERO\",\n    \"amount_due\": \"IMPORTE PENDIENTE\",\n    \"partially_paid\": \"Parcialmente pagado\",\n    \"total\": \"Total\",\n    \"discount\": \"Descuento\",\n    \"sub_total\": \"Subtotal\",\n    \"invoice\": \"Factura | Facturas\",\n    \"invoice_number\": \"Numero de factura\",\n    \"ref_number\": \"Número de referencia\",\n    \"contact\": \"Contacto\",\n    \"add_item\": \"Agregar un artículo\",\n    \"date\": \"Fecha\",\n    \"due_date\": \"Fecha de vencimiento\",\n    \"status\": \"Estado\",\n    \"add_tax\": \"Agregar impuesto\",\n    \"amount\": \"Cantidad\",\n    \"action\": \"Acción\",\n    \"notes\": \"Notas\",\n    \"view\": \"Ver\",\n    \"send_invoice\": \"Enviar la factura\",\n    \"resend_invoice\": \"Reenviar factura\",\n    \"invoice_template\": \"Plantilla de factura\",\n    \"conversion_message\": \"Factura clonada correctamente\",\n    \"template\": \"Modelo\",\n    \"mark_as_sent\": \"Marcar como enviada\",\n    \"confirm_send_invoice\": \"Esta factura será enviada por email al cliente\",\n    \"invoice_mark_as_sent\": \"Esta factura se marcará como enviada\",\n    \"confirm_mark_as_accepted\": \"Esta factura se marcará como aceptada\",\n    \"confirm_mark_as_rejected\": \"Esta factura se marcará como rechazada\",\n    \"confirm_send\": \"Estas facturas se enviarán por correo electrónico al cliente.\",\n    \"invoice_date\": \"Fecha de la factura\",\n    \"record_payment\": \"Registro de pago\",\n    \"add_new_invoice\": \"Añadir nueva factura\",\n    \"update_expense\": \"Actualizar gasto\",\n    \"edit_invoice\": \"Editar factura\",\n    \"new_invoice\": \"Nueva factura\",\n    \"save_invoice\": \"Guardar factura\",\n    \"update_invoice\": \"Actualizar factura\",\n    \"add_new_tax\": \"Agregar nuevo impuesto\",\n    \"no_invoices\": \"¡Aún no hay facturas!\",\n    \"mark_as_rejected\": \"Marcar como rechazado\",\n    \"mark_as_accepted\": \"Marcar como aceptado\",\n    \"list_of_invoices\": \"Esta sección contendrá la lista de facturas.\",\n    \"select_invoice\": \"Seleccionar factura\",\n    \"no_matching_invoices\": \"¡No hay facturas coincidentes con la selección!\",\n    \"mark_as_sent_successfully\": \"Factura marcada como enviada con éxito\",\n    \"invoice_sent_successfully\": \"Factura enviada satisfactoriamente\",\n    \"cloned_successfully\": \"Factura clonada correctamente\",\n    \"clone_invoice\": \"Clonar factura\",\n    \"confirm_clone\": \"Esta factura se clonará en una nueva factura.\",\n    \"item\": {\n      \"title\": \"Título del artículo\",\n      \"description\": \"Descripción\",\n      \"quantity\": \"Cantidad\",\n      \"price\": \"Precio\",\n      \"discount\": \"Descuento\",\n      \"total\": \"Total\",\n      \"total_discount\": \"Descuento total\",\n      \"sub_total\": \"Subtotal\",\n      \"tax\": \"Impuesto\",\n      \"amount\": \"Cantidad\",\n      \"select_an_item\": \"Escriba o haga clic para seleccionar un elemento\",\n      \"type_item_description\": \"Descripción del tipo de elemento (opcional)\"\n    },\n    \"payment_attached_message\": \"Una de las facturas seleccionadas ya tiene un pago adjunto. Asegúrese de eliminar primero los pagos adjuntos para continuar con la eliminación\",\n    \"confirm_delete\": \"No podrá recuperar esta factura | No podrá recuperar estas facturas\",\n    \"created_message\": \"Factura creada exitosamente\",\n    \"updated_message\": \"Factura actualizada exitosamente\",\n    \"deleted_message\": \"Factura eliminada con éxito | Facturas borradas exitosamente\",\n    \"marked_as_sent_message\": \"Factura marcada como enviada con éxito\",\n    \"something_went_wrong\": \"Algo fue mal\",\n    \"invalid_due_amount_message\": \"El pago introducido es mayor que el importe total pendiente de esta factura. Por favor, verificalo y vuelve a intentarlo.\",\n    \"mark_as_default_invoice_template_description\": \"Si se activa, esta plantilla se seleccionará automáticamente para nuevas facturas. \"\n  },\n  \"recurring_invoices\": {\n    \"title\": \"Facturas recurrentes\",\n    \"invoices_list\": \"Lista de facturas recurrentes\",\n    \"days\": \"{days} Días\",\n    \"months\": \"{months} Mes/es\",\n    \"years\": \"{years} Año/s\",\n    \"all\": \"Todas\",\n    \"paid\": \"Pagada\",\n    \"unpaid\": \"No pagada\",\n    \"viewed\": \"Vista\",\n    \"overdue\": \"Vencido\",\n    \"active\": \"Activo\",\n    \"completed\": \"Completado\",\n    \"customer\": \"CLIENTE\",\n    \"paid_status\": \"ESTADO DE PAGO\",\n    \"ref_no\": \"NÚM. DE REFERENCIA.\",\n    \"number\": \"NÚMERO\",\n    \"amount_due\": \"IMPORTE PENDIENTE\",\n    \"partially_paid\": \"Parcialmente pagada\",\n    \"total\": \"Total\",\n    \"discount\": \"Descuento\",\n    \"sub_total\": \"Subtotal\",\n    \"invoice\": \"Factura recurrente | Facturas recurrentes\",\n    \"invoice_number\": \"Número de factura recurrente\",\n    \"next_invoice_date\": \"Fecha de la próxima factura\",\n    \"ref_number\": \"Número de referencia\",\n    \"contact\": \"Contacto\",\n    \"add_item\": \"Añadir un elemento\",\n    \"date\": \"Fecha\",\n    \"limit_by\": \"Limitar por\",\n    \"limit_date\": \"Fecha límite\",\n    \"limit_count\": \"Número de Límites\",\n    \"count\": \"Recuento\",\n    \"status\": \"Estado\",\n    \"select_a_status\": \"Selecciona un estado\",\n    \"working\": \"Trabajando\",\n    \"on_hold\": \"En espera\",\n    \"complete\": \"Completado\",\n    \"add_tax\": \"Agregar impuesto\",\n    \"amount\": \"Cantidad\",\n    \"action\": \"Acción\",\n    \"notes\": \"Notas\",\n    \"view\": \"Ver\",\n    \"basic_info\": \"Información básica\",\n    \"send_invoice\": \"Enviar factura recurrente\",\n    \"auto_send\": \"Autoenviar\",\n    \"resend_invoice\": \"Reenviar factura recurrente\",\n    \"invoice_template\": \"Plantilla de la factura recurrente\",\n    \"conversion_message\": \"Factura recurrente clonada con éxito\",\n    \"template\": \"Plantilla\",\n    \"mark_as_sent\": \"Marcar como enviada\",\n    \"confirm_send_invoice\": \"Esta factura recurrente se enviará por correo electrónico al cliente\",\n    \"invoice_mark_as_sent\": \"Esta factura recurrente se marcará como enviada\",\n    \"confirm_send\": \"Esta factura recurrente se enviará por correo electrónico al cliente\",\n    \"starts_at\": \"Fecha de inicio\",\n    \"due_date\": \"Fecha límite de la factura\",\n    \"record_payment\": \"Registrar pago\",\n    \"add_new_invoice\": \"Añadir nueva factura recurrente\",\n    \"update_expense\": \"Actualizar gasto\",\n    \"edit_invoice\": \"Editar factura recurrente\",\n    \"new_invoice\": \"Nueva factura recurrente\",\n    \"send_automatically\": \"Enviar automáticamente\",\n    \"send_automatically_desc\": \"Habilite esto, si desea enviar la factura automáticamente al cliente cuando se haya creado.\",\n    \"save_invoice\": \"Guardar factura recurrente\",\n    \"update_invoice\": \"Actualizar factura recurrente\",\n    \"add_new_tax\": \"Agregar nuevo impuesto\",\n    \"no_invoices\": \"¡Aún no hay facturas recurrentes!\",\n    \"mark_as_rejected\": \"Marcar como rechazado\",\n    \"mark_as_accepted\": \"Marcar como aceptado\",\n    \"list_of_invoices\": \"Esta sección contiene la lista de facturas recurrentes.\",\n    \"select_invoice\": \"Seleccionar factura\",\n    \"no_matching_invoices\": \"¡No hay facturas recurrentes que coincidan!\",\n    \"mark_as_sent_successfully\": \"Factura recurrente marcada como enviada correctamente\",\n    \"invoice_sent_successfully\": \"Factura recurrente enviada correctamente\",\n    \"cloned_successfully\": \"Factura recurrente clonada con éxito\",\n    \"clone_invoice\": \"Clonar factura recurrente\",\n    \"confirm_clone\": \"Esta factura recurrente será clonada en una nueva factura recurrente\",\n    \"add_customer_email\": \"Por favor, agregue una dirección de correo electrónico para que este cliente envíe las facturas automáticamente.\",\n    \"item\": {\n      \"title\": \"Título del artículo\",\n      \"description\": \"Descripción\",\n      \"quantity\": \"Cantidad\",\n      \"price\": \"Precio\",\n      \"discount\": \"Descuento\",\n      \"total\": \"Total\",\n      \"total_discount\": \"Descuento total\",\n      \"sub_total\": \"Subtotal\",\n      \"tax\": \"Impuesto\",\n      \"amount\": \"Cantidad\",\n      \"select_an_item\": \"Escribe o haz clic para seleccionar un elemento\",\n      \"type_item_description\": \"Descripción del tipo de elemento(opcional)\"\n    },\n    \"frequency\": {\n      \"title\": \"Frecuencia\",\n      \"select_frequency\": \"Seleccionar frecuencia\",\n      \"minute\": \"Minuto\",\n      \"hour\": \"Hora\",\n      \"day_month\": \"Día del mes\",\n      \"month\": \"Mes\",\n      \"day_week\": \"Día de la semana\"\n    },\n    \"confirm_delete\": \"No podrá recuperar esta factura | No podrás recuperar estas facturas\",\n    \"created_message\": \"Factura recurrente creada con éxito\",\n    \"updated_message\": \"Factura recurrente actualizada correctamente\",\n    \"deleted_message\": \"Factura recurrente eliminada correctamente | Facturas recurrentes eliminadas correctamente\",\n    \"marked_as_sent_message\": \"Factura recurrente marcada como enviada con éxito\",\n    \"user_email_does_not_exist\": \"El email del usuario no existe\",\n    \"something_went_wrong\": \"algo ha ido mal\",\n    \"invalid_due_amount_message\": \"La cantidad total de la factura recurrente no puede ser menor a la cantidad total pagada. Por favor, actualiza la factura o elimina los pagos asociados para continuar.\"\n  },\n  \"payments\": {\n    \"title\": \"Pagos\",\n    \"payments_list\": \"Lista de pagos\",\n    \"record_payment\": \"Registro de pago\",\n    \"customer\": \"Cliente\",\n    \"date\": \"Fecha\",\n    \"amount\": \"Cantidad\",\n    \"action\": \"Acción\",\n    \"payment_number\": \"Numero de pago\",\n    \"payment_mode\": \"Modo de pago\",\n    \"invoice\": \"Factura\",\n    \"note\": \"Nota\",\n    \"add_payment\": \"Agregar pago\",\n    \"new_payment\": \"Nuevo pago\",\n    \"edit_payment\": \"Editar pago\",\n    \"view_payment\": \"Ver pago\",\n    \"add_new_payment\": \"Agregar nuevo pago\",\n    \"send_payment_receipt\": \"Enviar recibo de pago\",\n    \"send_payment\": \"Enviar pago\",\n    \"save_payment\": \"Guardar pago\",\n    \"update_payment\": \"Actualizar pago\",\n    \"payment\": \"Pago | Pagos\",\n    \"no_payments\": \"¡Aún no hay pagos!\",\n    \"not_selected\": \"No seleccionado\",\n    \"no_invoice\": \"Sin facturas\",\n    \"no_matching_payments\": \"¡No hay pagos equivalentes!\",\n    \"list_of_payments\": \"Esta sección contendrá la lista de pagos.\",\n    \"select_payment_mode\": \"Seleccionar modo de pago\",\n    \"confirm_mark_as_sent\": \"Este presupuesto se marcará como enviado\",\n    \"confirm_send_payment\": \"Este pago se enviará por correo electrónico al cliente\",\n    \"send_payment_successfully\": \"Pago enviado correctamente\",\n    \"something_went_wrong\": \"Algo fue mal\",\n    \"confirm_delete\": \"No podrá recuperar este pago | No podrá recuperar estos pagos\",\n    \"created_message\": \"Pago creado con éxito\",\n    \"updated_message\": \"Pago actualizado con éxito\",\n    \"deleted_message\": \"Pago eliminado con éxito | Pagos eliminados exitosamente\",\n    \"invalid_amount_message\": \"El importe del pago no es válido.\"\n  },\n  \"expenses\": {\n    \"title\": \"Gastos\",\n    \"expenses_list\": \"Lista de gastos\",\n    \"select_a_customer\": \"Selecciona un cliente\",\n    \"expense_title\": \"Título\",\n    \"customer\": \"Cliente\",\n    \"currency\": \"Divisa\",\n    \"contact\": \"Contacto\",\n    \"category\": \"Categoría\",\n    \"from_date\": \"Desde la fecha\",\n    \"to_date\": \"Hasta la fecha\",\n    \"expense_date\": \"Fecha\",\n    \"description\": \"Descripción\",\n    \"receipt\": \"Recibo\",\n    \"amount\": \"Cantidad\",\n    \"action\": \"Acción\",\n    \"not_selected\": \"Sin seleccionar\",\n    \"note\": \"Nota\",\n    \"category_id\": \"Categoria ID\",\n    \"date\": \"Fecha de gastos\",\n    \"add_expense\": \"Añadir gastos\",\n    \"add_new_expense\": \"Añadir nuevo gasto\",\n    \"save_expense\": \"Guardar gasto\",\n    \"update_expense\": \"Actualizar gasto\",\n    \"download_receipt\": \"Descargar recibo\",\n    \"edit_expense\": \"Editar gasto\",\n    \"new_expense\": \"Nuevo gasto\",\n    \"expense\": \"Gastos | Gastos\",\n    \"no_expenses\": \"¡No hay gastos todavía!\",\n    \"list_of_expenses\": \"Esta sección contendrá la lista de gastos.\",\n    \"confirm_delete\": \"No podrá recuperar este gasto | No podrá recuperar estos gastos\",\n    \"created_message\": \"Gastos creados exitosamente\",\n    \"updated_message\": \"Gastos actualizados con éxito\",\n    \"deleted_message\": \"Gastos eliminados con éxito | Gastos eliminados exitosamente\",\n    \"categories\": {\n      \"categories_list\": \"Lista de categorías\",\n      \"title\": \"Título\",\n      \"name\": \"Nombre\",\n      \"description\": \"Descripción\",\n      \"amount\": \"Cantidad\",\n      \"actions\": \"Comportamiento\",\n      \"add_category\": \"añadir categoría\",\n      \"new_category\": \"Nueva categoría\",\n      \"category\": \"Categoría | Categorias\",\n      \"select_a_category\": \"Seleccione una categoría\"\n    }\n  },\n  \"login\": {\n    \"email\": \"Correo electrónico\",\n    \"password\": \"Contraseña\",\n    \"forgot_password\": \"¿Olvidaste tu contraseña?\",\n    \"or_signIn_with\": \"o Inicia sesión con\",\n    \"login\": \"Iniciar sesión\",\n    \"register\": \"Registro\",\n    \"reset_password\": \"Restablecer la contraseña\",\n    \"password_reset_successfully\": \"Contraseña reestablecida con éxito\",\n    \"enter_email\": \"Escriba el correo electrónico\",\n    \"enter_password\": \"Escriba la contraseña\",\n    \"retype_password\": \"Reescriba la contraseña\"\n  },\n  \"modules\": {\n    \"buy_now\": \"Comprar ahora\",\n    \"install\": \"Instalar\",\n    \"price\": \"Precio\",\n    \"download_zip_file\": \"Descargar archivo ZIP\",\n    \"unzipping_package\": \"Descomprimir paquete\",\n    \"copying_files\": \"Copiando archivos\",\n    \"deleting_files\": \"Eliminando archivos no usados\",\n    \"completing_installation\": \"Completando la instalación\",\n    \"update_failed\": \"Falló la actualización\",\n    \"install_success\": \"¡El módulo se ha instalado correctamente!\",\n    \"customer_reviews\": \"Reseñas\",\n    \"license\": \"Licencia\",\n    \"faq\": \"Preguntas Frecuentes (FAQ)\",\n    \"monthly\": \"Mensual\",\n    \"yearly\": \"Anual\",\n    \"updated\": \"Actualizado\",\n    \"version\": \"Versión\",\n    \"disable\": \"Deshabilitar\",\n    \"module_disabled\": \"Módulo desactivado\",\n    \"enable\": \"Habilitar\",\n    \"module_enabled\": \"Módulo habilitado\",\n    \"update_to\": \"Actualizar a\",\n    \"module_updated\": \"¡Módulo actualizado correctamente!\",\n    \"title\": \"Módulos\",\n    \"module\": \"Módulo | Módulos\",\n    \"api_token\": \"API token\",\n    \"invalid_api_token\": \"API Token inválido.\",\n    \"other_modules\": \"Otros módulos\",\n    \"view_all\": \"Ver todo\",\n    \"no_reviews_found\": \"¡Este módulo aún no tiene reseñas!\",\n    \"module_not_purchased\": \"Módulo no comprado\",\n    \"module_not_found\": \"Módulo no encontrado\",\n    \"version_not_supported\": \"This module version doesn't support the current version of Crater\",\n    \"last_updated\": \"Actualizado\",\n    \"connect_installation\": \"Conecte su instalación\",\n    \"api_token_description\": \"Inicie sesión en {url} y conecte esta instalación introduciendo el token de API. Los módulos comprados aparecerán aquí después de establecer la conexión.\",\n    \"view_module\": \"Ver módulo\",\n    \"update_available\": \"Actualización disponible\",\n    \"purchased\": \"Comprado\",\n    \"installed\": \"Instalado\",\n    \"no_modules_installed\": \"¡No hay módulos instalados todavía!\",\n    \"disable_warning\": \"Se revertirán todos los ajustes para este particular.\",\n    \"what_you_get\": \"Beneficios que obtiene\"\n  },\n  \"users\": {\n    \"title\": \"Usuarios\",\n    \"users_list\": \"Lista de usuarios\",\n    \"name\": \"Nombre\",\n    \"description\": \"Descripción\",\n    \"added_on\": \"Añadido\",\n    \"date_of_creation\": \"Fecha de creación\",\n    \"action\": \"Acción\",\n    \"add_user\": \"Agregar usuario\",\n    \"save_user\": \"Guardar usuario\",\n    \"update_user\": \"Actualizar usuario\",\n    \"user\": \"Usuario | Usuarios\",\n    \"add_new_user\": \"Agregar Nuevo Usuario\",\n    \"new_user\": \"Nuevo usuario\",\n    \"edit_user\": \"Editar usuario\",\n    \"no_users\": \"¡Aún no hay usuarios!\",\n    \"list_of_users\": \"Esta sección contendrá la lista de usuarios.\",\n    \"email\": \"Correo\",\n    \"phone\": \"Teléfono\",\n    \"password\": \"Contraseña\",\n    \"user_attached_message\": \"No se puede eliminar un elemento que ya está en uso.\",\n    \"confirm_delete\": \"No podrá recuperar este Usuario | No podrá recuperar estos Usuarios\",\n    \"created_message\": \"Usuario creado satisfactoriamente\",\n    \"updated_message\": \"Usuario actualizado satisfactoriamente\",\n    \"deleted_message\": \"Usuario eliminado exitosamente | Usuario eliminado correctamente\",\n    \"select_company_role\": \"Seleccionar rol para {company}\",\n    \"companies\": \"Empresas\"\n  },\n  \"reports\": {\n    \"title\": \"Informe\",\n    \"from_date\": \"A partir de la fecha\",\n    \"to_date\": \"Hasta la fecha\",\n    \"status\": \"Estado\",\n    \"paid\": \"Pagada\",\n    \"unpaid\": \"No pagado\",\n    \"download_pdf\": \"Descargar PDF\",\n    \"view_pdf\": \"Ver PDF\",\n    \"update_report\": \"Informe de actualización\",\n    \"report\": \"Informe | Informes\",\n    \"profit_loss\": {\n      \"profit_loss\": \"Pérdida de beneficios\",\n      \"to_date\": \"Hasta la fecha\",\n      \"from_date\": \"A partir de la fecha\",\n      \"date_range\": \"Seleccionar rango de fechas\"\n    },\n    \"sales\": {\n      \"sales\": \"Ventas\",\n      \"date_range\": \"Seleccionar rango de fechas\",\n      \"to_date\": \"Hasta la fecha\",\n      \"from_date\": \"A partir de la fecha\",\n      \"report_type\": \"Tipo de informe\"\n    },\n    \"taxes\": {\n      \"taxes\": \"Impuestos\",\n      \"to_date\": \"Hasta la fecha\",\n      \"from_date\": \"A partir de la fecha\",\n      \"date_range\": \"Seleccionar rango de fechas\"\n    },\n    \"errors\": {\n      \"required\": \"Se requiere campo\"\n    },\n    \"invoices\": {\n      \"invoice\": \"Factura\",\n      \"invoice_date\": \"Fecha de la factura\",\n      \"due_date\": \"Fecha de vencimiento\",\n      \"amount\": \"Cantidad\",\n      \"contact_name\": \"Nombre de contacto\",\n      \"status\": \"Estado\"\n    },\n    \"estimates\": {\n      \"estimate\": \"Presupuestar\",\n      \"estimate_date\": \"Fecha presupuesto\",\n      \"due_date\": \"Fecha de vencimiento\",\n      \"estimate_number\": \"Número de Presupuesto\",\n      \"ref_number\": \"Número de referencia\",\n      \"amount\": \"Cantidad\",\n      \"contact_name\": \"Nombre de contacto\",\n      \"status\": \"Estado\"\n    },\n    \"expenses\": {\n      \"expenses\": \"Gastos\",\n      \"category\": \"Categoría\",\n      \"date\": \"Fecha\",\n      \"amount\": \"Cantidad\",\n      \"to_date\": \"Hasta la fecha\",\n      \"from_date\": \"A partir de la fecha\",\n      \"date_range\": \"Seleccionar rango de fechas\"\n    }\n  },\n  \"settings\": {\n    \"menu_title\": {\n      \"account_settings\": \"Configuraciones de la cuenta\",\n      \"company_information\": \"Información de la empresa\",\n      \"customization\": \"Personalización\",\n      \"preferences\": \"Preferencias\",\n      \"notifications\": \"Notificaciones\",\n      \"tax_types\": \"Tipos de impuestos\",\n      \"expense_category\": \"Categorías de gastos\",\n      \"update_app\": \"Actualizar aplicación\",\n      \"backup\": \"Copias de seguridad\",\n      \"file_disk\": \"Disco de archivo\",\n      \"custom_fields\": \"Campos Personalizados\",\n      \"payment_modes\": \"Formas de pago\",\n      \"notes\": \"Notas\",\n      \"exchange_rate\": \"Tasa de cambio\",\n      \"address_information\": \"Información de dirección\"\n    },\n    \"address_information\": {\n      \"section_description\": \"Puede actualizar la información de su dirección utilizando el siguiente formulario.\"\n    },\n    \"title\": \"Configuraciones\",\n    \"setting\": \"Configuraciones | Configuraciones\",\n    \"general\": \"General\",\n    \"language\": \"Idioma\",\n    \"primary_currency\": \"Moneda primaria\",\n    \"timezone\": \"Zona horaria\",\n    \"date_format\": \"Formato de fecha\",\n    \"currencies\": {\n      \"title\": \"Monedas\",\n      \"currency\": \"Moneda | Monedas\",\n      \"currencies_list\": \"Lista de monedas\",\n      \"select_currency\": \"Seleccione el tipo de moneda\",\n      \"name\": \"Nombre\",\n      \"code\": \"Código\",\n      \"symbol\": \"Símbolo\",\n      \"precision\": \"Precisión\",\n      \"thousand_separator\": \"Separador de miles\",\n      \"decimal_separator\": \"Separador decimal\",\n      \"position\": \"Posición\",\n      \"position_of_symbol\": \"Posición del símbolo\",\n      \"right\": \"Derecho\",\n      \"left\": \"Izquierda\",\n      \"action\": \"Acción\",\n      \"add_currency\": \"Agregar moneda\"\n    },\n    \"mail\": {\n      \"host\": \"Host de correo\",\n      \"port\": \"Puerto de correo\",\n      \"driver\": \"Conductor de correo\",\n      \"secret\": \"Secreto\",\n      \"mailgun_secret\": \"Mailgun Secreto\",\n      \"mailgun_domain\": \"Domino\",\n      \"mailgun_endpoint\": \"Mailgun endpoint\",\n      \"ses_secret\": \"Secreto SES\",\n      \"ses_key\": \"Clave SES\",\n      \"password\": \"Contraseña de correo\",\n      \"username\": \"Nombre de usuario de correo\",\n      \"mail_config\": \"Configuración de correo\",\n      \"from_name\": \"Del nombre del correo\",\n      \"from_mail\": \"Desde la dirección de correo\",\n      \"encryption\": \"Cifrado de correo\",\n      \"mail_config_desc\": \"Los detalles a continuación se utilizarán para actualizar el entorno de correo. También puede cambiar los detalles en cualquier momento después de iniciar sesión.\"\n    },\n    \"pdf\": {\n      \"title\": \"Configuración de PDF\",\n      \"footer_text\": \"Texto de pie de página\",\n      \"pdf_layout\": \"Diseño PDF\"\n    },\n    \"company_info\": {\n      \"company_info\": \"Información de la compañía\",\n      \"company_name\": \"Nombre de Empresa\",\n      \"company_logo\": \"Logo de la compañía\",\n      \"section_description\": \"Información sobre su empresa que se mostrará en las facturas, presupuestos y otros documentos creados por Crater.\",\n      \"phone\": \"Teléfono\",\n      \"country\": \"País\",\n      \"state\": \"Estado\",\n      \"city\": \"Ciudad\",\n      \"address\": \"Dirección\",\n      \"zip\": \"Código Postal\",\n      \"save\": \"Guardar\",\n      \"delete\": \"Eliminar\",\n      \"updated_message\": \"Información de la empresa actualizada con éxito\",\n      \"delete_company\": \"Eliminar empresa\",\n      \"delete_company_description\": \"Una vez que elimines tu empresa, perderás todos los datos y archivos asociados a ella permanentemente.\",\n      \"are_you_absolutely_sure\": \"¿Estás realmente seguro?\",\n      \"delete_company_modal_desc\": \"Est acción no se puede deshacer. Se eliminará de manera permanente {company} y todos sus datos asociados.\",\n      \"delete_company_modal_label\": \"Por favor escribe {company} para confirmar\"\n    },\n    \"custom_fields\": {\n      \"title\": \"Campos Personalizados\",\n      \"section_description\": \"Personalice sus facturas, estimaciones y recibos de pago en sus propios campos. Asegúrese de usar los siguientes campos añadidos en los formatos de dirección de la página de configuración de personalización.\",\n      \"add_custom_field\": \"Agregar campo personalizado\",\n      \"edit_custom_field\": \"Editar campo personalizado\",\n      \"field_name\": \"Nombre del campo\",\n      \"label\": \"Etiqueta\",\n      \"type\": \"Tipo\",\n      \"name\": \"Nombre\",\n      \"slug\": \"Slug\",\n      \"required\": \"Necesaria\",\n      \"placeholder\": \"Marcador de posición\",\n      \"help_text\": \"texto de ayuda\",\n      \"default_value\": \"Valor por defecto\",\n      \"prefix\": \"Prefijo\",\n      \"starting_number\": \"Número inicial\",\n      \"model\": \"Modelo\",\n      \"help_text_description\": \"Ingrese un texto para ayudar a los usuarios a comprender el propósito de este campo personalizado.\",\n      \"suffix\": \"Sufijo\",\n      \"yes\": \"si\",\n      \"no\": \"No\",\n      \"order\": \"Orden\",\n      \"custom_field_confirm_delete\": \"No podrá recuperar este campo personalizado\",\n      \"already_in_use\": \"El campo personalizado ya está en uso\",\n      \"deleted_message\": \"Campo personalizado eliminado correctamente\",\n      \"options\": \"opciones\",\n      \"add_option\": \"Agregar opciones\",\n      \"add_another_option\": \"Agregar otra opción\",\n      \"sort_in_alphabetical_order\": \"Ordenar en orden alfabético\",\n      \"add_options_in_bulk\": \"Agregar opciones a granel\",\n      \"use_predefined_options\": \"Usar opciones predefinidas\",\n      \"select_custom_date\": \"Seleccionar fecha personalizada\",\n      \"select_relative_date\": \"Seleccionar fecha relativa\",\n      \"ticked_by_default\": \"Marcada por defecto\",\n      \"updated_message\": \"Campo personalizado actualizado correctamente\",\n      \"added_message\": \"Campo personalizado agregado correctamente\",\n      \"press_enter_to_add\": \"Presiona Enter para añadir una nueva opción\",\n      \"model_in_use\": \"No se puede actualizar el modelo para los campos que ya están en uso.\",\n      \"type_in_use\": \"No se puede actualizar el tipo de los campos que ya están en uso.\"\n    },\n    \"customization\": {\n      \"customization\": \"Personalización\",\n      \"updated_message\": \"Información de la empresa actualizada con éxito\",\n      \"save\": \"Guardar\",\n      \"insert_fields\": \"Insertar campos\",\n      \"learn_custom_format\": \"Aprende a utilizar el formato personalizado\",\n      \"add_new_component\": \"Añadir nuevo componente\",\n      \"component\": \"Componente\",\n      \"Parameter\": \"Parámetro\",\n      \"series\": \"Series\",\n      \"series_description\": \"Para establecer un prefijo/sufijo fijo como por ejemplo 'INV' para las facturas de tu empresa. El número máximo de caracteres permitidos es 4.\",\n      \"series_param_label\": \"Valor de series\",\n      \"delimiter\": \"Delimitador\",\n      \"delimiter_description\": \"Carácter único para especificar el límite entre 2 componentes separados. Por defecto está configurado en -\",\n      \"delimiter_param_label\": \"Valor delimitador\",\n      \"date_format\": \"Formato de fecha\",\n      \"date_format_description\": \"Un campo de fecha y hora local que acepta un parámetro de formato. El formato predeterminado: 'Y' representa el año actual.\",\n      \"date_format_param_label\": \"Formato\",\n      \"sequence\": \"Secuencia\",\n      \"sequence_description\": \"Secuencia consecutiva de números en su empresa. Puede especificar la longitud en el parámetro dado.\",\n      \"sequence_param_label\": \"Longitud de la secuencia\",\n      \"customer_series\": \"Series de clientes\",\n      \"customer_series_description\": \"Establecer un prefijo/postfijo diferente para cada cliente.\",\n      \"customer_sequence\": \"Secuencia de cliente\",\n      \"customer_sequence_description\": \"Secuencia consecutiva de números para cada uno de sus clientes.\",\n      \"customer_sequence_param_label\": \"Longitud de la secuencia\",\n      \"random_sequence\": \"Secuencia aleatoria\",\n      \"random_sequence_description\": \"Cadena alfanumérica aleatoria. Puedes especificar la longitud en el parámetro dado.\",\n      \"random_sequence_param_label\": \"Longitud de la secuencia\",\n      \"invoices\": {\n        \"title\": \"Facturas\",\n        \"invoice_number_format\": \"Formato de número de factura\",\n        \"invoice_number_format_description\": \"Personalice cómo se genera automáticamente su número de factura cuando crea una nueva factura.\",\n        \"preview_invoice_number\": \"Previsualizar número de factura\",\n        \"due_date\": \"Fecha de vencimiento\",\n        \"due_date_description\": \"Especifique cómo se establece automáticamente la fecha de vencimiento cuando crea una factura.\",\n        \"due_date_days\": \"Factura vence después de días\",\n        \"set_due_date_automatically\": \"Establecer fecha de vencimiento automáticamente\",\n        \"set_due_date_automatically_description\": \"Habilite esto si desea establecer la fecha de vencimiento automáticamente cuando crea una nueva factura.\",\n        \"default_formats\": \"Formatos por defecto\",\n        \"default_formats_description\": \"Los formatos dados a continuación se utilizan para completar los campos automáticamente en la creación de la factura.\",\n        \"default_invoice_email_body\": \"Cuerpo predeterminado del correo electrónico de la factura\",\n        \"company_address_format\": \"Formato de dirección de la empresa\",\n        \"shipping_address_format\": \"Formato de la dirección de envío\",\n        \"billing_address_format\": \"Formato de dirección de facturación\",\n        \"invoice_email_attachment\": \"Enviar cotización como adjunto\",\n        \"invoice_email_attachment_setting_description\": \"Activa esto si quieres enviar facturas como archivo adjunto de correo electrónico. Tenga en cuenta que el botón 'Ver factura' en los correos electrónicos ya no se mostrará cuando esté habilitado.\",\n        \"invoice_settings_updated\": \"La configuración de facturas se ha actualizado correctamente\",\n        \"retrospective_edits\": \"Ediciones retrospectivas\",\n        \"allow\": \"Permitir\",\n        \"disable_on_invoice_partial_paid\": \"Desactivar después de que se registre un pago parcial\",\n        \"disable_on_invoice_paid\": \"Desactivar después de que se registre el pago completo\",\n        \"disable_on_invoice_sent\": \"Desactivar después de enviar la factura\",\n        \"retrospective_edits_description\": \" Según las leyes de su país o sus preferencias, puede restringir que los usuarios editen las facturas finalizadas.\"\n      },\n      \"estimates\": {\n        \"title\": \"Estimaciones\",\n        \"estimate_number_format\": \"Formato de número de estimación\",\n        \"estimate_number_format_description\": \"Personalice cómo se genera automáticamente su número de presupuesto cuando crea un nuevo presupuesto.\",\n        \"preview_estimate_number\": \"Vista previa del número de presupuesto\",\n        \"expiry_date\": \"Fecha de vencimiento\",\n        \"expiry_date_description\": \"Especifique cómo se establece automáticamente la fecha de caducidad cuando crea un presupuesto.\",\n        \"expiry_date_days\": \"Estimación Caduca después de días\",\n        \"set_expiry_date_automatically\": \"Establecer fecha de expiración automáticamente\",\n        \"set_expiry_date_automatically_description\": \"Habilite esto si desea establecer la fecha de vencimiento automáticamente cuando crea un nuevo presupuesto.\",\n        \"default_formats\": \"Formatos por defecto\",\n        \"default_formats_description\": \"Los formatos dados a continuación se utilizan para completar los campos automáticamente en la creación del presupuesto.\",\n        \"default_estimate_email_body\": \"Cuerpo predeterminado estimado del correo electrónico\",\n        \"company_address_format\": \"Formato de dirección de la empresa\",\n        \"shipping_address_format\": \"Formato de dirección de envío\",\n        \"billing_address_format\": \"Formato de la dirección de facturación\",\n        \"estimate_email_attachment\": \"Enviar cotización como adjunto\",\n        \"estimate_email_attachment_setting_description\": \"Activa esto si quieres enviar facturas como archivo adjunto de correo electrónico. Tenga en cuenta que el botón 'Ver factura' en los correos electrónicos ya no se mostrará cuando esté habilitado.\",\n        \"estimate_settings_updated\": \"Ajustes de presupuesto actualizados con éxito\",\n        \"convert_estimate_options\": \"Acción de conversión de presupuesto\",\n        \"convert_estimate_description\": \"Especifique lo que sucede con el presupuesto una vez que se convierte en una factura.\",\n        \"no_action\": \"No hacer nada\",\n        \"delete_estimate\": \"Eliminar presupuesto\",\n        \"mark_estimate_as_accepted\": \"Marcar presupuesto como aceptado\"\n      },\n      \"payments\": {\n        \"title\": \"Pagos\",\n        \"payment_number_format\": \"Formato del número de pago\",\n        \"payment_number_format_description\": \"Personalice cómo se genera automáticamente su número de pago cuando crea un nuevo pago.\",\n        \"preview_payment_number\": \"Previsualizar número de pago\",\n        \"default_formats\": \"Formatos predeterminados\",\n        \"default_formats_description\": \"Los formatos dados a continuación se utilizan para completar los campos automáticamente en la creación del pago.\",\n        \"default_payment_email_body\": \"Cuerpo predeterminado del correo electrónico del pago\",\n        \"company_address_format\": \"Formato de dirección de la empresa\",\n        \"from_customer_address_format\": \"Desde el formato de dirección del cliente\",\n        \"payment_email_attachment\": \"Enviar pagos como adjunto\",\n        \"payment_email_attachment_setting_description\": \"Activa esto si quieres enviar los pagos como archivo adjunto de correo electrónico. Tenga en cuenta que el botón 'Ver pago' en los correos electrónicos ya no se mostrará cuando esté habilitado.\",\n        \"payment_settings_updated\": \"Los métodos de pago se han actualizado correctamente\"\n      },\n      \"items\": {\n        \"title\": \"Artículos\",\n        \"units\": \"unidades\",\n        \"add_item_unit\": \"Agregar unidad de artículo\",\n        \"edit_item_unit\": \"Editar unidad de artículo\",\n        \"unit_name\": \"Nombre de la unidad\",\n        \"item_unit_added\": \"Unidad de artículo agregada\",\n        \"item_unit_updated\": \"Unidad de artículo actualizada\",\n        \"item_unit_confirm_delete\": \"No podrás recuperar esta unidad de artículo\",\n        \"already_in_use\": \"Unidad de artículo ya está en uso\",\n        \"deleted_message\": \"Unidad de elemento eliminada correctamente\"\n      },\n      \"notes\": {\n        \"title\": \"Notas\",\n        \"description\": \"Ahorre tiempo creando notas y reutilizándolas en sus facturas, cálculos y pagos.\",\n        \"notes\": \"Notas\",\n        \"type\": \"Tipo\",\n        \"add_note\": \"Agregar nota\",\n        \"add_new_note\": \"Agregar nueva nota\",\n        \"name\": \"Nombre\",\n        \"edit_note\": \"Editar nota\",\n        \"note_added\": \"Nota agregada correctamente\",\n        \"note_updated\": \"Nota actualizada correctamente\",\n        \"note_confirm_delete\": \"No podrá recuperar esta nota\",\n        \"already_in_use\": \"Nota ya está en uso\",\n        \"deleted_message\": \"Nota eliminada correctamente\"\n      }\n    },\n    \"account_settings\": {\n      \"profile_picture\": \"Foto de perfil\",\n      \"name\": \"Nombre\",\n      \"email\": \"Correo electrónico\",\n      \"password\": \"Contraseña\",\n      \"confirm_password\": \"Confirmar contraseña\",\n      \"account_settings\": \"Configuraciones de la cuenta\",\n      \"save\": \"Guardar\",\n      \"section_description\": \"Puede actualizar su nombre, correo electrónico y contraseña utilizando el siguiente formulario.\",\n      \"updated_message\": \"Configuración de la cuenta actualizada correctamente\"\n    },\n    \"user_profile\": {\n      \"name\": \"Nombre\",\n      \"email\": \"Correo electrónico\",\n      \"password\": \"Contraseña\",\n      \"confirm_password\": \"Confirmar contraseña\"\n    },\n    \"notification\": {\n      \"title\": \"Notificación\",\n      \"email\": \"Enviar notificaciones a\",\n      \"description\": \"¿Qué notificaciones por correo electrónico le gustaría recibir cuando algo cambia?\",\n      \"invoice_viewed\": \"Factura vista\",\n      \"invoice_viewed_desc\": \"Cuando su cliente vio la factura enviada a través del panel de control de Crater.\",\n      \"estimate_viewed\": \"Presupuesto visto\",\n      \"estimate_viewed_desc\": \"Cuando su cliente vio el presupuesto enviado a través del panel de control de Crater.\",\n      \"save\": \"Guardar\",\n      \"email_save_message\": \"Correo electrónico guardado con éxito\",\n      \"please_enter_email\": \"Por favor, introduzca su correo electrónico\"\n    },\n    \"roles\": {\n      \"title\": \"Roles\",\n      \"description\": \"Configura los roles y permisos de esta empresa\",\n      \"save\": \"Guardar\",\n      \"add_new_role\": \"Añadir nuevo rol\",\n      \"role_name\": \"Nombre del rol\",\n      \"added_on\": \"Añadido el\",\n      \"add_role\": \"Añadir rol\",\n      \"edit_role\": \"Editar rol\",\n      \"name\": \"Nombre\",\n      \"permission\": \"Permiso | Permisos\",\n      \"select_all\": \"Seleccionar todo\",\n      \"none\": \"Ninguno\",\n      \"confirm_delete\": \"No podrá recuperar este Rol\",\n      \"created_message\": \"Rol creado correctamente\",\n      \"updated_message\": \"Rol actualizado correctamente\",\n      \"deleted_message\": \"Rol eliminado correctamente\",\n      \"already_in_use\": \"El rol ya está en uso\"\n    },\n    \"exchange_rate\": {\n      \"exchange_rate\": \"Tasa de cambio\",\n      \"title\": \"Solucionar problemas de cambio de moneda\",\n      \"description\": \"Por favor, selecciona un tipo de cambio para todas las monedas mencionadas a continuación para ayudar a Crater a calcular correctamente las cantidades en {currency}.\",\n      \"drivers\": \"Controladores\",\n      \"new_driver\": \"Añadir nuevo proveedor\",\n      \"edit_driver\": \"Editar proveedor\",\n      \"select_driver\": \"Seleccione un controlador\",\n      \"update\": \"selecciona un tipo de cambio \",\n      \"providers_description\": \"Configure sus proveedores de tipos de cambio aquí para obtener automáticamente el tipo de cambio más reciente en las transacciones.\",\n      \"key\": \"Clave API\",\n      \"name\": \"Nombre\",\n      \"driver\": \"Controlador\",\n      \"is_default\": \"Usar por defecto\",\n      \"currency\": \"Divisas\",\n      \"exchange_rate_confirm_delete\": \"No podrá recuperar este controlador\",\n      \"created_message\": \"Proveedor creado correctamente\",\n      \"updated_message\": \"Proveedor actualizado correctamente\",\n      \"deleted_message\": \"Proveedor eliminado correctamente\",\n      \"error\": \" No puede eliminar el controlador activo\",\n      \"default_currency_error\": \"Esta moneda ya se usa en uno de los proveedores activos\",\n      \"exchange_help_text\": \"Ingrese el tipo de cambio para convertir de {currency} a {baseCurrency}\",\n      \"currency_freak\": \"Moneda\",\n      \"currency_layer\": \"Capa de moneda\",\n      \"open_exchange_rate\": \"Tasa de cambio\",\n      \"currency_converter\": \"Conversor de moneda\",\n      \"server\": \"Servidor\",\n      \"url\": \"URL\",\n      \"active\": \"Activo\",\n      \"currency_help_text\": \"Este proveedor solo se utilizará en las monedas seleccionadas anteriormente\",\n      \"currency_in_used\": \"Las siguientes monedas ya están activas en otro proveedor. Elimine estas monedas de la selección para volver a activar este proveedor.\"\n    },\n    \"tax_types\": {\n      \"title\": \"Tipos de impuestos\",\n      \"add_tax\": \"Agregar impuesto\",\n      \"edit_tax\": \"Editar impuesto\",\n      \"description\": \"Puede agregar o eliminar impuestos a su gusto. Crater admite impuestos sobre artículos individuales, así como sobre la factura.\",\n      \"add_new_tax\": \"Agregar nuevo impuesto\",\n      \"tax_settings\": \"Configuraciones de impuestos\",\n      \"tax_per_item\": \"Impuesto por artículo\",\n      \"tax_name\": \"Nombre del impuesto\",\n      \"compound_tax\": \"Impuesto compuesto\",\n      \"percent\": \"Porcentaje\",\n      \"action\": \"Acción\",\n      \"tax_setting_description\": \"Habilítelo si desea agregar impuestos a artículos de factura de forma individual. Por defecto, los impuestos se agregan directamente a la factura.\",\n      \"created_message\": \"Tipo de impuesto creado con éxito\",\n      \"updated_message\": \"Tipo de impuesto actualizado correctamente\",\n      \"deleted_message\": \"Tipo de impuesto eliminado correctamente\",\n      \"confirm_delete\": \"No podrá recuperar este tipo de impuesto\",\n      \"already_in_use\": \"El impuesto ya está en uso.\"\n    },\n    \"payment_modes\": {\n      \"title\": \"Formas de pago\",\n      \"description\": \"Modos de transacción para pagos\",\n      \"add_payment_mode\": \"Agregar modo de pago\",\n      \"edit_payment_mode\": \"Editar modo de pago\",\n      \"mode_name\": \"Nombre del modo\",\n      \"payment_mode_added\": \"Forma de pago añadida\",\n      \"payment_mode_updated\": \"Forma de pago actualizada\",\n      \"payment_mode_confirm_delete\": \"No podrás recuperar este Modo de Pago\",\n      \"payments_attached\": \"Esta forma de pago ya está vinculada a los pagos. Por favor, elimine los pagos adjuntos para proceder con la eliminación.\",\n      \"expenses_attached\": \"Esta forma de pago ya está adjunta a los gastos. Por favor, elimine los gastos adjuntos para proceder con la eliminación.\",\n      \"deleted_message\": \"Método de pago eliminado correctamente\"\n    },\n    \"expense_category\": {\n      \"title\": \"Categorías de gastos\",\n      \"action\": \"Acción\",\n      \"description\": \"Se requieren categorías para agregar entradas de gastos. Puede Agregar o Eliminar estas categorías según su preferencia.\",\n      \"add_new_category\": \"Añadir nueva categoria\",\n      \"add_category\": \"Añadir categoría\",\n      \"edit_category\": \"Editar categoria\",\n      \"category_name\": \"nombre de la categoría\",\n      \"category_description\": \"Descripción\",\n      \"created_message\": \"Categoría de gastos creada con éxito\",\n      \"deleted_message\": \"Categoría de gastos eliminada correctamente\",\n      \"updated_message\": \"Categoría de gastos actualizada con éxito\",\n      \"confirm_delete\": \"No podrá recuperar esta categoría de gastos\",\n      \"already_in_use\": \"La categoría ya está en uso.\"\n    },\n    \"preferences\": {\n      \"currency\": \"Moneda\",\n      \"default_language\": \"Idioma predeterminado\",\n      \"time_zone\": \"Zona horaria\",\n      \"fiscal_year\": \"Año financiero\",\n      \"date_format\": \"Formato de fecha\",\n      \"discount_setting\": \"Ajuste de descuento\",\n      \"discount_per_item\": \"Descuento por artículo\",\n      \"discount_setting_description\": \"Habilítelo si desea agregar Descuento a artículos de factura individuales. Por defecto, los descuentos se agregan directamente a la factura.\",\n      \"expire_public_links\": \"Expirar automáticamente enlaces públicos\",\n      \"expire_setting_description\": \"Especifique si desea expirar todos los enlaces enviados por la aplicación para ver facturas, estimaciones y pagos, etc. después de una duración especificada.\",\n      \"save\": \"Guardar\",\n      \"preference\": \"Preferencia | Preferencias\",\n      \"general_settings\": \"Preferencias predeterminadas para el sistema.\",\n      \"updated_message\": \"Preferencias actualizadas exitosamente\",\n      \"select_language\": \"seleccione el idioma\",\n      \"select_time_zone\": \"selecciona la zona horaria\",\n      \"select_date_format\": \"Seleccionar formato de fecha\",\n      \"select_financial_year\": \"seleccione año financiero\",\n      \"recurring_invoice_status\": \"Estado de la factura recurrente\",\n      \"create_status\": \"Crear estado\",\n      \"active\": \"Activo\",\n      \"on_hold\": \"En espera\",\n      \"update_status\": \"Actualizar estado\",\n      \"completed\": \"Completado\",\n      \"company_currency_unchangeable\": \"No se puede cambiar la divisa de la empresa\"\n    },\n    \"update_app\": {\n      \"title\": \"Actualizar aplicación\",\n      \"description\": \"Puedes actualizar Crater fácilmente comprobando si existe una nueva actualización haciendo clic en el botón de abajo\",\n      \"check_update\": \"Buscar actualizaciones\",\n      \"avail_update\": \"Nueva actualización disponible\",\n      \"next_version\": \"Próxima versión\",\n      \"requirements\": \"Requisitos\",\n      \"update\": \"Actualizar\",\n      \"update_progress\": \"Actualización en progreso...\",\n      \"progress_text\": \"Solo tomará unos minutos. No actualice la pantalla ni cierre la ventana antes de que finalice la actualización.\",\n      \"update_success\": \"¡La aplicación ha sido actualizada! Espere mientras la ventana de su navegador se vuelve a cargar automáticamente.\",\n      \"latest_message\": \"¡Actualización no disponible! Estás en la última versión.\",\n      \"current_version\": \"Versión actual\",\n      \"download_zip_file\": \"Descargar archivo ZIP\",\n      \"unzipping_package\": \"Descomprimir paquete\",\n      \"copying_files\": \"Copiando documentos\",\n      \"deleting_files\": \"Eliminando archivos no usados\",\n      \"running_migrations\": \"Ejecutar migraciones\",\n      \"finishing_update\": \"Actualización final\",\n      \"update_failed\": \"Actualización fallida\",\n      \"update_failed_text\": \"¡Lo siento! Su actualización falló el: {step} paso\",\n      \"update_warning\": \"Todos los archivos y temas predeterminados se sobreescribirán cuando actualice la aplicación a través de esta utilidad. Por favor, cree una copia de seguridad de sus temas y base de datos antes de actualizar.\"\n    },\n    \"backup\": {\n      \"title\": \"Copia de seguridad | Copias de seguridad\",\n      \"description\": \"La copia de seguridad es un archivo comprimido zip que contiene todos los archivos en los directorios que especifiques junto con tu base de datos\",\n      \"new_backup\": \"Agregar nueva copia de seguridad\",\n      \"create_backup\": \"Crear copia de seguridad\",\n      \"select_backup_type\": \"Seleccione Tipo de Copia de Seguridad\",\n      \"backup_confirm_delete\": \"No podrá recuperar esta copia de seguridad\",\n      \"path\": \"ruta\",\n      \"new_disk\": \"Nuevo Disco\",\n      \"created_at\": \"creado el\",\n      \"size\": \"tamaño\",\n      \"dropbox\": \"dropbox\",\n      \"local\": \"local\",\n      \"healthy\": \"saludable\",\n      \"amount_of_backups\": \"cantidad de copias de seguridad\",\n      \"newest_backups\": \"copias de seguridad más recientes\",\n      \"used_storage\": \"almacenamiento utilizado\",\n      \"select_disk\": \"Seleccionar Disco\",\n      \"action\": \"Acción\",\n      \"deleted_message\": \"Copia de seguridad eliminada exitosamente\",\n      \"created_message\": \"Copia de seguridad creada satisfactoriamente\",\n      \"invalid_disk_credentials\": \"Credencial no válida del disco seleccionado\"\n    },\n    \"disk\": {\n      \"title\": \"Disco de archivos | Discos de archivos\",\n      \"description\": \"Por defecto, Crater utilizará su disco local para guardar copias de seguridad, avatar y otros archivos de imagen. Puede configurar varios controladores de disco como DigitalOcean, S3 y Dropbox según sus preferencias.\",\n      \"created_at\": \"creado el\",\n      \"dropbox\": \"dropbox\",\n      \"name\": \"Nombre\",\n      \"driver\": \"Controlador\",\n      \"disk_type\": \"Tipo\",\n      \"disk_name\": \"Nombre del disco\",\n      \"new_disk\": \"Agregar nuevo disco\",\n      \"filesystem_driver\": \"Controlador del sistema de archivos\",\n      \"local_driver\": \"controlador local\",\n      \"local_root\": \"raíz local\",\n      \"public_driver\": \"Controlador público\",\n      \"public_root\": \"Raíz pública\",\n      \"public_url\": \"URL pública\",\n      \"public_visibility\": \"Visibilidad pública\",\n      \"media_driver\": \"Controlador multimedia\",\n      \"media_root\": \"Raíz multimedia\",\n      \"aws_driver\": \"Controlador AWS\",\n      \"aws_key\": \"Clave AWS\",\n      \"aws_secret\": \"Secreto AWS\",\n      \"aws_region\": \"Región de AWS\",\n      \"aws_bucket\": \"Cubo AWS\",\n      \"aws_root\": \"Raíz AWS\",\n      \"do_spaces_type\": \"Hacer Espacios tipo\",\n      \"do_spaces_key\": \"Disponer espacios\",\n      \"do_spaces_secret\": \"Disponer espacios secretos\",\n      \"do_spaces_region\": \"Disponer región de espacios\",\n      \"do_spaces_bucket\": \"Disponer espacios\",\n      \"do_spaces_endpoint\": \"Disponer espacios extremos\",\n      \"do_spaces_root\": \"Disponer espacios en la raíz\",\n      \"dropbox_type\": \"Tipo de Dropbox\",\n      \"dropbox_token\": \"Token de DropBox\",\n      \"dropbox_key\": \"Clave Dropbox\",\n      \"dropbox_secret\": \"Dropbox Secret\",\n      \"dropbox_app\": \"Aplicación Dropbox\",\n      \"dropbox_root\": \"Raíz Dropbox\",\n      \"default_driver\": \"Controlador por defecto\",\n      \"is_default\": \"Usar por defecto\",\n      \"set_default_disk\": \"Establecer disco predeterminado\",\n      \"set_default_disk_confirm\": \"Este disco se establecerá por defecto y todos los nuevos PDFs se guardarán en este disco\",\n      \"success_set_default_disk\": \"Disco establecido correctamente como predeterminado\",\n      \"save_pdf_to_disk\": \"Guardar PDFs a disco\",\n      \"disk_setting_description\": \" Habilite esto, si desea guardar automáticamente una copia en formato pdf de cada factura, cálculo y recibo de pago en su disco predeterminado. Al activar esta opción, se reducirá el tiempo de carga al visualizar los archivos PDFs.\",\n      \"select_disk\": \"Seleccionar Disco\",\n      \"disk_settings\": \"Configuración del disco\",\n      \"confirm_delete\": \"Los archivos y carpetas existentes en el disco especificado no se verán afectados, pero su configuración de disco será eliminada de Crater\",\n      \"action\": \"Acción\",\n      \"edit_file_disk\": \"Editar disco de ficheros\",\n      \"success_create\": \"Disco añadido satisfactoriamente\",\n      \"success_update\": \"Disco actualizado satisfactoriamente\",\n      \"error\": \"Error al añadir disco\",\n      \"deleted_message\": \"Disco de archivo borrado correctamente\",\n      \"disk_variables_save_successfully\": \"Disco configurado correctamente\",\n      \"disk_variables_save_error\": \"La configuración del disco ha fallado.\",\n      \"invalid_disk_credentials\": \"Credencial no válida del disco seleccionado\"\n    },\n    \"taxations\": {\n      \"add_billing_address\": \"Introduzca su dirección de facturación\",\n      \"add_shipping_address\": \"Introduzca la dirección de envío\",\n      \"add_company_address\": \"Introduzca la dirección de la empresa\",\n      \"modal_description\": \"La siguiente información es requerida para obtener el impuesto de venta.\",\n      \"add_address\": \"Añadir dirección para obtener impuestos de venta.\",\n      \"address_placeholder\": \"Ejemplo: 123, Mi Calle\",\n      \"city_placeholder\": \"Ejemplo: Los Angeles\",\n      \"state_placeholder\": \"Ejemplo: CA\",\n      \"zip_placeholder\": \"Ejemplo: 90024\",\n      \"invalid_address\": \"Proporciona una dirección válida.\"\n    }\n  },\n  \"wizard\": {\n    \"account_info\": \"Información de la cuenta\",\n    \"account_info_desc\": \"Los detalles a continuación se utilizarán para crear la cuenta principal de administrador. También puede cambiar los detalles en cualquier momento después de iniciar sesión.\",\n    \"name\": \"Nombre\",\n    \"email\": \"Correo\",\n    \"password\": \"Contraseña\",\n    \"confirm_password\": \"Confirmar contraseña\",\n    \"save_cont\": \"Guardar y continuar\",\n    \"company_info\": \"Información de la empresa\",\n    \"company_info_desc\": \"Esta información se mostrará en las facturas. Tenga en cuenta que puede editar esto más adelante en la página de configuración.\",\n    \"company_name\": \"nombre de empresa\",\n    \"company_logo\": \"Logo de la compañía\",\n    \"logo_preview\": \"Vista previa del logotipo\",\n    \"preferences\": \"Preferencias\",\n    \"preferences_desc\": \"Preferencias predeterminadas para el sistema.\",\n    \"currency_set_alert\": \"La moneda de la empresa no se puede cambiar más tarde.\",\n    \"country\": \"País\",\n    \"state\": \"Estado\",\n    \"city\": \"Ciudad\",\n    \"address\": \"Dirección\",\n    \"street\": \"Calle1 | Calle2\",\n    \"phone\": \"Teléfono\",\n    \"zip_code\": \"Código postal\",\n    \"go_back\": \"Regresa\",\n    \"currency\": \"Moneda\",\n    \"language\": \"Idioma\",\n    \"time_zone\": \"Zona horaria\",\n    \"fiscal_year\": \"Año financiero\",\n    \"date_format\": \"Formato de fecha\",\n    \"from_address\": \"Desde la Dirección\",\n    \"username\": \"Nombre de usuario\",\n    \"next\": \"Siguiente\",\n    \"continue\": \"Continuar\",\n    \"skip\": \"Saltar\",\n    \"database\": {\n      \"database\": \"URL del sitio y base de datose\",\n      \"connection\": \"Conexión de base de datos\",\n      \"host\": \"Host de la base de datos\",\n      \"port\": \"Puerto de la base de datos\",\n      \"password\": \"Contraseña de la base de datos\",\n      \"app_url\": \"URL de la aplicación\",\n      \"app_domain\": \"Dominio\",\n      \"username\": \"Nombre de usuario de la base de datos\",\n      \"db_name\": \"Nombre de la base de datos\",\n      \"db_path\": \"Ruta de la base de datos\",\n      \"desc\": \"Cree una base de datos en su servidor y establezca las credenciales utilizando el siguiente formulario.\"\n    },\n    \"permissions\": {\n      \"permissions\": \"Permisos\",\n      \"permission_confirm_title\": \"¿Estás seguro de que quieres continuar?\",\n      \"permission_confirm_desc\": \"Error de verificación de permisos de carpeta\",\n      \"permission_desc\": \"A continuación se muestra la lista de permisos de carpeta necesarios para que la aplicación funcione. Si la verificación de permisos falla, asegúrese de actualizar los permisos de su carpeta.\"\n    },\n    \"verify_domain\": {\n      \"title\": \"Verificación de dominio\",\n      \"desc\": \"Crater utiliza la autenticación basada en Sesión que requiere verificación de dominio por motivos de seguridad. Por favor, introduzca el dominio en el que accederá a su aplicación web.\",\n      \"app_domain\": \"Dominio de aplicación\",\n      \"verify_now\": \"Verificar ahora\",\n      \"success\": \"Dominio verificado correctamente.\",\n      \"failed\": \"La verificación del dominio falló. Ingrese un nombre de dominio válido.\",\n      \"verify_and_continue\": \"Verificar y continuar\"\n    },\n    \"mail\": {\n      \"host\": \"Host de correo\",\n      \"port\": \"Puerto de correo\",\n      \"driver\": \"Conductor de correo\",\n      \"secret\": \"Secreto\",\n      \"mailgun_secret\": \"Mailgun Secreto\",\n      \"mailgun_domain\": \"Dominio\",\n      \"mailgun_endpoint\": \"Mailgun endpoint\",\n      \"ses_secret\": \"Secreto SES\",\n      \"ses_key\": \"Clave SES\",\n      \"password\": \"Contraseña de correo\",\n      \"username\": \"Nombre de usuario de correo\",\n      \"mail_config\": \"Configuración de correo\",\n      \"from_name\": \"Del nombre del correo\",\n      \"from_mail\": \"Desde la dirección de correo\",\n      \"encryption\": \"Cifrado de correo\",\n      \"mail_config_desc\": \"Los detalles a continuación se utilizarán para actualizar el entorno de correo. También puede cambiar los detalles en cualquier momento después de iniciar sesión.\"\n    },\n    \"req\": {\n      \"system_req\": \"Requisitos del sistema\",\n      \"php_req_version\": \"Php (versión {version} necesario)\",\n      \"check_req\": \"Consultar requisitos\",\n      \"system_req_desc\": \"Crater tiene algunos requisitos de servidor. Asegúrese de que su servidor tenga la versión de php requerida y todas las extensiones mencionadas a continuación.\"\n    },\n    \"errors\": {\n      \"migrate_failed\": \"La migración falló\",\n      \"database_variables_save_error\": \"No se puede conectar a la base de datos con los valores proporcionados.\",\n      \"mail_variables_save_error\": \"La configuración del correo electrónico ha fallado.\",\n      \"connection_failed\": \"Conexión de base de datos fallida\",\n      \"database_should_be_empty\": \"La base de datos debe estar vacía\"\n    },\n    \"success\": {\n      \"mail_variables_save_successfully\": \"Correo electrónico configurado correctamente\",\n      \"database_variables_save_successfully\": \"Base de datos configurada con éxito.\"\n    }\n  },\n  \"validation\": {\n    \"invalid_phone\": \"Numero de telefono invalido\",\n    \"invalid_url\": \"URL no válida (por ejemplo, http://www.crater.com)\",\n    \"invalid_domain_url\": \"URL no válida (por ejemplo, crater.com)\",\n    \"required\": \"Se requiere campo\",\n    \"email_incorrect\": \"Email incorrecto.\",\n    \"email_already_taken\": \"Este email ya está en uso\",\n    \"email_does_not_exist\": \"El usuario con el correo electrónico dado no existe\",\n    \"item_unit_already_taken\": \"El nombre de la unidad ya está en uso\",\n    \"payment_mode_already_taken\": \"El modo de pago ya ha sido tomado\",\n    \"send_reset_link\": \"Enviar enlace de restablecimiento\",\n    \"not_yet\": \"¿Aún no? Envíalo de nuevo\",\n    \"password_min_length\": \"La contraseña debe contener {count} caracteres\",\n    \"name_min_length\": \"El nombre debe tener al menos {count} letras.\",\n    \"prefix_min_length\": \"El prefijo debe tener al menos {count} letras.\",\n    \"enter_valid_tax_rate\": \"Ingrese una tasa impositiva válida\",\n    \"numbers_only\": \"Solo números.\",\n    \"characters_only\": \"Solo caracteres.\",\n    \"password_incorrect\": \"Las contraseñas deben ser idénticas\",\n    \"password_length\": \"La contraseña debe tener 5 caracteres de longitud.\",\n    \"qty_must_greater_than_zero\": \"La cantidad debe ser mayor que cero.\",\n    \"price_greater_than_zero\": \"El precio debe ser mayor que cero.\",\n    \"payment_greater_than_zero\": \"El pago debe ser mayor que cero.\",\n    \"payment_greater_than_due_amount\": \"El pago introducido es mayor que el importe pendiente de esta factura.\",\n    \"quantity_maxlength\": \"La cantidad no debe ser mayor de 20 dígitos.\",\n    \"price_maxlength\": \"El precio no debe ser mayor de 20 dígitos.\",\n    \"price_minvalue\": \"El precio debe ser mayor que 0 dígitos\",\n    \"amount_maxlength\": \"La cantidad no debe ser mayor de 20 dígitos.\",\n    \"amount_minvalue\": \"La cantidad debe ser mayor que 0 dígitos\",\n    \"discount_maxlength\": \"El descuento no debe ser mayor que el descuento máximo\",\n    \"description_maxlength\": \"La descripción no debe tener más de 255 caracteres.\",\n    \"subject_maxlength\": \"El asunto no debe tener más de 100 caracteres.\",\n    \"message_maxlength\": \"El mensaje no debe tener más de 255 caracteres.\",\n    \"maximum_options_error\": \"Máximo de {max} opciones seleccionadas. Primero elimine una opción seleccionada para seleccionar otra.\",\n    \"notes_maxlength\": \"Las notas no deben tener más de 255 caracteres.\",\n    \"address_maxlength\": \"La dirección no debe tener más de 255 caracteres.\",\n    \"ref_number_maxlength\": \"El número de referencia no debe tener más de 255 caracteres.\",\n    \"prefix_maxlength\": \"El prefijo no debe tener más de 5 caracteres.\",\n    \"something_went_wrong\": \"Algo fue mal\",\n    \"number_length_minvalue\": \"La cantidad debe ser mayor que 0\",\n    \"at_least_one_ability\": \"Por favor, selecciona al menos un permiso.\",\n    \"valid_driver_key\": \"Por favor, introduza una clave {driver} válida.\",\n    \"valid_exchange_rate\": \"Por favor, introduce una tasa de cambio válida.\",\n    \"company_name_not_same\": \"El nombre de la empresa debe coincidir con el nombre indicado.\"\n  },\n  \"errors\": {\n    \"starter_plan\": \"¡Esta función está disponible en el plan Starter y en adelante!\",\n    \"invalid_provider_key\": \"Por favor, introduzca un proveedor de claves API válido.\",\n    \"estimate_number_used\": \"El número de estimación ya se ha tomado.\",\n    \"invoice_number_used\": \"El número de factura ya está en uso.\",\n    \"payment_attached\": \"Esta factura ya tiene un pago adjunto. Asegúrese de eliminar primero los pagos adjuntos para continuar con la eliminación.\",\n    \"payment_number_used\": \"El número de pago ya está en uso.\",\n    \"name_already_taken\": \"El nombre ya está en uso.\",\n    \"receipt_does_not_exist\": \"No existe el recibo.\",\n    \"customer_cannot_be_changed_after_payment_is_added\": \"El cliente no puede ser modificado después de agregar el pago\",\n    \"invalid_credentials\": \"Credenciales inválidas.\",\n    \"not_allowed\": \"No permitido\",\n    \"login_invalid_credentials\": \"Estas credenciales no coinciden con nuestros registros.\",\n    \"enter_valid_cron_format\": \"Por favor, introduzca un formato cron válido\",\n    \"email_could_not_be_sent\": \"No se pudo enviar el correo a esta dirección de correo electrónico.\",\n    \"invalid_address\": \"Por favor, introduzca una dirección válida.\",\n    \"invalid_key\": \"Por favor, introduzca una clave válida.\",\n    \"invalid_state\": \"Por favor, introduzca un estado válido.\",\n    \"invalid_city\": \"Por favor, introduzca una ciudad válida.\",\n    \"invalid_postal_code\": \"Por favor, introduzca un código postal válido.\",\n    \"invalid_format\": \"Por favor, introduzca un formato de consulta válido.\",\n    \"api_error\": \"El servidor no responde.\",\n    \"feature_not_enabled\": \"Característica no habilitada.\",\n    \"request_limit_met\": \"Ha alcanzado el límite de solicitudes.\",\n    \"address_incomplete\": \"Dirección incompleta\"\n  },\n  \"pdf_estimate_label\": \"Presupuestar\",\n  \"pdf_estimate_number\": \"Número de Presupuesto\",\n  \"pdf_estimate_date\": \"Fecha presupuesto\",\n  \"pdf_estimate_expire_date\": \"Fecha de caducidad\",\n  \"pdf_invoice_label\": \"Factura\",\n  \"pdf_invoice_number\": \"Numero de factura\",\n  \"pdf_invoice_date\": \"Fecha de la factura\",\n  \"pdf_invoice_due_date\": \"Fecha final\",\n  \"pdf_notes\": \"Notas\",\n  \"pdf_items_label\": \"Artículos\",\n  \"pdf_quantity_label\": \"Cantidad\",\n  \"pdf_price_label\": \"Precio\",\n  \"pdf_discount_label\": \"Descuento\",\n  \"pdf_amount_label\": \"Cantidad\",\n  \"pdf_subtotal\": \"Subtotal\",\n  \"pdf_total\": \"Total\",\n  \"pdf_payment_label\": \"Pagos\",\n  \"pdf_payment_receipt_label\": \"RECIBO DE PAGO\",\n  \"pdf_payment_date\": \"Fecha de pago\",\n  \"pdf_payment_number\": \"Numero de pago\",\n  \"pdf_payment_mode\": \"Modo de pago\",\n  \"pdf_payment_amount_received_label\": \"Importe recibido\",\n  \"pdf_expense_report_label\": \"INFORME DE GASTOS\",\n  \"pdf_total_expenses_label\": \"GASTO TOTAL\",\n  \"pdf_profit_loss_label\": \"INFORME PERDIDAS & GANANCIAS\",\n  \"pdf_sales_customers_label\": \"Informe de ventas por cliente\",\n  \"pdf_sales_items_label\": \"Informe de ventas por ítem\",\n  \"pdf_tax_summery_label\": \"Informe de ventas impuestos\",\n  \"pdf_income_label\": \"INGRESO\",\n  \"pdf_net_profit_label\": \"GANANCIA NETA\",\n  \"pdf_customer_sales_report\": \"Informe de ventas: Por cliente\",\n  \"pdf_total_sales_label\": \"VENTAS TOTALES\",\n  \"pdf_item_sales_label\": \"Informe de ventas: por artículo\",\n  \"pdf_tax_report_label\": \"INFORME DE IMPUESTOS\",\n  \"pdf_total_tax_label\": \"TOTAL IMPUESTOS\",\n  \"pdf_tax_types_label\": \"Tipos de impuestos\",\n  \"pdf_expenses_label\": \"Gastos\",\n  \"pdf_bill_to\": \"Cobrar a,\",\n  \"pdf_ship_to\": \"Enviar a,\",\n  \"pdf_received_from\": \"Recibido desde:\",\n  \"pdf_tax_label\": \"Impuesto\"\n}\n"
  },
  {
    "path": "resources/scripts/locales/fa.json",
    "content": "{\n  \"navigation\": {\n    \"dashboard\": \"پیشخوان\",\n    \"customers\": \"مشتریان\",\n    \"items\": \"آیتم ها\",\n    \"invoices\": \"صورت حساب‌ها\",\n    \"recurring-invoices\": \"Recurring Invoices\",\n    \"expenses\": \"هزینه ها\",\n    \"estimates\": \"برآوردها\",\n    \"payments\": \"پرداخت‌ها\",\n    \"reports\": \"گزارشات\",\n    \"settings\": \"تنظیمات\",\n    \"logout\": \"خروج از حساب\",\n    \"users\": \"کاربران\",\n    \"modules\": \"Modules\"\n  },\n  \"general\": {\n    \"add_company\": \"افزودن شرکت\",\n    \"view_pdf\": \"مشاهده نسخه PDF\",\n    \"copy_pdf_url\": \"کپی لینک PDF\",\n    \"download_pdf\": \"دانلود PDF\",\n    \"save\": \"ذخیره\",\n    \"create\": \"ایجاد\",\n    \"cancel\": \"لغو\",\n    \"update\": \"به‌روز رسانی\",\n    \"deselect\": \"لغو انتخاب\",\n    \"download\": \"دانلود\",\n    \"from_date\": \"از تاریخ\",\n    \"to_date\": \"تا تاریخ\",\n    \"from\": \"از\",\n    \"to\": \"به\",\n    \"ok\": \"تایید\",\n    \"yes\": \"بله\",\n    \"no\": \"خیر\",\n    \"sort_by\": \"مرتب سازی بر اساس\",\n    \"ascending\": \"صعودی\",\n    \"descending\": \"نزولی\",\n    \"subject\": \"موضوع\",\n    \"body\": \"متن ایمیل\",\n    \"message\": \"پیام\",\n    \"send\": \"ارسال\",\n    \"preview\": \"پیش‌نمایش\",\n    \"go_back\": \"برگشت\",\n    \"back_to_login\": \"بازگشت به صفحه ورود؟\",\n    \"home\": \"صفحه اصلی\",\n    \"filter\": \"فیلتر\",\n    \"delete\": \"حذف\",\n    \"edit\": \"ويرايش\",\n    \"view\": \"مشاهده\",\n    \"add_new_item\": \"افزودن مورد جدید\",\n    \"clear_all\": \"پاک کردن همه\",\n    \"showing\": \"نمایش داده شده\",\n    \"of\": \"از\",\n    \"actions\": \"اقدامات\",\n    \"subtotal\": \"ریز کل\",\n    \"discount\": \"تخفیف\",\n    \"fixed\": \"ثابت\",\n    \"percentage\": \"درصد\",\n    \"tax\": \"مالیات\",\n    \"total_amount\": \"مبلغ کل\",\n    \"bill_to\": \"پرداخت کننده\",\n    \"ship_to\": \"ارسال به\",\n    \"due\": \"سر رسید\",\n    \"draft\": \"پیش‌نویس\",\n    \"sent\": \"ارسال شده\",\n    \"all\": \"همه\",\n    \"select_all\": \"انتخاب همه\",\n    \"select_template\": \"انتخاب قالب\",\n    \"choose_file\": \"برای انتخاب فایل کلیک کنید\",\n    \"choose_template\": \"انتخاب قالب\",\n    \"choose\": \"انتخاب\",\n    \"remove\": \"حذف\",\n    \"select_a_status\": \"انتخاب وضعیت\",\n    \"select_a_tax\": \"انتخاب مالیات\",\n    \"search\": \"جستجو\",\n    \"are_you_sure\": \"آیا مطمئن هستید?\",\n    \"list_is_empty\": \"فهرست خالی است.\",\n    \"no_tax_found\": \"مالیاتی یافت نشد!\",\n    \"four_zero_four\": \"۴۰۴\",\n    \"you_got_lost\": \"اوپس! مثل اینکه گم شدید!\",\n    \"go_home\": \"به خانه برو\",\n    \"test_mail_conf\": \"تست تنظیمات ایمیل\",\n    \"send_mail_successfully\": \"ایمیل با موفقیت ارسال شد\",\n    \"setting_updated\": \"تنظیمات با موفقیت به روز رسانی شد\",\n    \"select_state\": \"انتخاب استان\",\n    \"select_country\": \"انتخاب کشور\",\n    \"select_city\": \"انتخاب شهر\",\n    \"street_1\": \"خیابان ۱\",\n    \"street_2\": \"خیابان 2\",\n    \"action_failed\": \"عملیات ناموفق بود\",\n    \"retry\": \"تلاش دوباره\",\n    \"choose_note\": \"انتخاب یادداشت\",\n    \"no_note_found\": \"یادداشتی پیدا نشد\",\n    \"insert_note\": \"درج یادداشت\",\n    \"copied_pdf_url_clipboard\": \"لینک PDF در حافظه کپی شد!\",\n    \"copied_url_clipboard\": \"Copied url to clipboard!\",\n    \"docs\": \"مستندات\",\n    \"do_you_wish_to_continue\": \"مایلید ادامه دهید؟\",\n    \"note\": \"یادداشت\",\n    \"pay_invoice\": \"Pay Invoice\",\n    \"login_successfully\": \"Logged in successfully!\",\n    \"logged_out_successfully\": \"Logged out successfully\",\n    \"mark_as_default\": \"Mark as default\"\n  },\n  \"dashboard\": {\n    \"select_year\": \"انتخاب سال\",\n    \"cards\": {\n      \"due_amount\": \"مبلغ قابل پرداخت\",\n      \"customers\": \"مشتریان\",\n      \"invoices\": \"صورت حساب‌ها\",\n      \"estimates\": \"برآوردها\",\n      \"payments\": \"Payments\"\n    },\n    \"chart_info\": {\n      \"total_sales\": \"فروش ها\",\n      \"total_receipts\": \"رسیدها\",\n      \"total_expense\": \"هزینه ها\",\n      \"net_income\": \"درآمد خالص\",\n      \"year\": \"انتخاب سال\"\n    },\n    \"monthly_chart\": {\n      \"title\": \"فروش و هزینه‌ها\"\n    },\n    \"recent_invoices_card\": {\n      \"title\": \"فاکتورهای قابل پرداخت\",\n      \"due_on\": \"قابل پرداخت در\",\n      \"customer\": \"مشتری\",\n      \"amount_due\": \"مبلغ قابل پرداخت\",\n      \"actions\": \"اقدامات\",\n      \"view_all\": \"نمایش همه\"\n    },\n    \"recent_estimate_card\": {\n      \"title\": \"آخرین تخمین‌ها\",\n      \"date\": \"تاریخ\",\n      \"customer\": \"مشتری\",\n      \"amount_due\": \"مبلغ قابل پرداخت\",\n      \"actions\": \"اقدامات\",\n      \"view_all\": \"مشاهده همه\"\n    }\n  },\n  \"tax_types\": {\n    \"name\": \"نام\",\n    \"description\": \"توضیح\",\n    \"percent\": \"درصد\",\n    \"compound_tax\": \"مالیات ترکیبی\"\n  },\n  \"global_search\": {\n    \"search\": \"جستجو...\",\n    \"customers\": \"مشتریان\",\n    \"users\": \"کاربران\",\n    \"no_results_found\": \"نتیجه‌ای یافت نشد\"\n  },\n  \"company_switcher\": {\n    \"label\": \"SWITCH COMPANY\",\n    \"no_results_found\": \"نتیجه‌ای یافت نشد\",\n    \"add_new_company\": \"افزودن شرکت جدید\",\n    \"new_company\": \"شرکت جدید\",\n    \"created_message\": \"شرکت ایجاد شد.\"\n  },\n  \"dateRange\": {\n    \"today\": \"امروز\",\n    \"this_week\": \"هفته جاری\",\n    \"this_month\": \"ماه جاری\",\n    \"this_quarter\": \"سه ماهه جاری\",\n    \"this_year\": \"امسال\",\n    \"previous_week\": \"هفته قبل\",\n    \"previous_month\": \"ماه قبل\",\n    \"previous_quarter\": \"سه ماهه قبل\",\n    \"previous_year\": \"سال قبل\",\n    \"custom\": \"سفارشی\"\n  },\n  \"customers\": {\n    \"title\": \"مشتریان\",\n    \"prefix\": \"پيشوند\",\n    \"add_customer\": \"افزودن مشتری\",\n    \"contacts_list\": \"لیست مشتریان\",\n    \"name\": \"نام\",\n    \"mail\": \"ایمیل\",\n    \"statement\": \"شرح\",\n    \"display_name\": \"نمایش نام\",\n    \"primary_contact_name\": \"اطلاعات تماس اصلی\",\n    \"contact_name\": \"نام مخاطب\",\n    \"amount_due\": \"مبلغ قابل پرداخت\",\n    \"email\": \"ایمیل\",\n    \"address\": \"آدرس\",\n    \"phone\": \"تلفن\",\n    \"website\": \"وب سایت\",\n    \"overview\": \"نمای کلی\",\n    \"invoice_prefix\": \"پیشوند صورتحساب\",\n    \"estimate_prefix\": \"Estimate Prefix\",\n    \"payment_prefix\": \"Payment Prefix\",\n    \"enable_portal\": \"فعال کردن پرتال\",\n    \"country\": \"كشور\",\n    \"state\": \"استان/ایالت\",\n    \"city\": \"شهر\",\n    \"zip_code\": \"کدپستی\",\n    \"added_on\": \"افزوده شده در\",\n    \"action\": \"عملیات\",\n    \"password\": \"رمز عبور\",\n    \"confirm_password\": \"Confirm Password\",\n    \"street_number\": \"خیابان و پلاک\",\n    \"primary_currency\": \"واحد پول اصلی\",\n    \"description\": \"توضیح\",\n    \"add_new_customer\": \"افزودن مشتری جدید\",\n    \"save_customer\": \"ذخیره‌ی مشتری\",\n    \"update_customer\": \"بروز رسانی مشتری\",\n    \"customer\": \"مشتری | مشتریان\",\n    \"new_customer\": \"مشتری جدید\",\n    \"edit_customer\": \"ویرایش مشتری\",\n    \"basic_info\": \"اطلاعات پایه\",\n    \"portal_access\": \"Portal Access\",\n    \"portal_access_text\": \"Would you like to allow this customer to login to the Customer Portal?\",\n    \"portal_access_url\": \"Customer Portal Login URL\",\n    \"portal_access_url_help\": \"Please copy & forward the above given URL to your customer for providing access.\",\n    \"billing_address\": \"آدرس صورت حساب\",\n    \"shipping_address\": \"نشانی ارسال\",\n    \"copy_billing_address\": \"کپی از صورت حساب\",\n    \"no_customers\": \"هنوز مشتریی موجود نیست!\",\n    \"no_customers_found\": \"هیچ مشتری یافت نشد!\",\n    \"no_contact\": \"بدون مخاطب\",\n    \"no_contact_name\": \"بدون نام مشتری\",\n    \"list_of_customers\": \"این قسمت شامل لیست مشتریان است.\",\n    \"primary_display_name\": \"نام قابل نمایش\",\n    \"select_currency\": \"انتخاب واحد پول\",\n    \"select_a_customer\": \"انتخاب مشتری\",\n    \"type_or_click\": \"برای انتخاب تایپ و یا انتخاب کنید\",\n    \"new_transaction\": \"تراکنش جدید\",\n    \"no_matching_customers\": \"هیچ مشتری منطبقی وجود ندارد!\",\n    \"phone_number\": \"شماره تلفن\",\n    \"create_date\": \"تاریخ ایجاد\",\n    \"confirm_delete\": \"شما قادر به بازیابی این مشتری و کلیه فاکتورها ، برآورد ها و پرداخت های مربوطه نخواهید بود. | شما قادر به بازیابی این مشتریان و کلیه فاکتورها ، برآورد ها و پرداخت های مربوطه نخواهید بود.\",\n    \"created_message\": \"مشتری با موفقیت ایجاد شد\",\n    \"updated_message\": \"مشتری با موفقیت بروزرسانی شد\",\n    \"address_updated_message\": \"Address Information Updated succesfully\",\n    \"deleted_message\": \"مشتری با موفقیت حذف شد | مشتریان با موفقیت حذف شدند\",\n    \"edit_currency_not_allowed\": \"Cannot change currency once transactions created.\"\n  },\n  \"items\": {\n    \"title\": \"آیتم ها\",\n    \"items_list\": \"لیست اقلام\",\n    \"name\": \"نام\",\n    \"unit\": \"واحد\",\n    \"description\": \"توضیح\",\n    \"added_on\": \"افزوده شده در\",\n    \"price\": \"قیمت\",\n    \"date_of_creation\": \"تاریخ ایجاد\",\n    \"not_selected\": \"آیتمی انتخاب نشده است\",\n    \"action\": \"عملیات\",\n    \"add_item\": \"افزودن آیتم\",\n    \"save_item\": \"ذخیره آیتم\",\n    \"update_item\": \"بروزرسانی آیتم\",\n    \"item\": \"آیتم | آیتم ها\",\n    \"add_new_item\": \"افزودن آیتم جدید\",\n    \"new_item\": \"آیتم جدید\",\n    \"edit_item\": \"بروزرسانی آیتم\",\n    \"no_items\": \"هیچ آیتمی انتخاب نشده است!\",\n    \"list_of_items\": \"این قسمت شامل لیست آیتم ها می باشد.\",\n    \"select_a_unit\": \"واحد را انتخاب کنید\",\n    \"taxes\": \"مالیات\",\n    \"item_attached_message\": \"این آیتم در حال استفاده می باشد،امکان پاک کردن این آیتم نیست\",\n    \"confirm_delete\": \"شما نمی توانید این آیتم را بازیابی کنید | شما نمی توانید این آیتم ها را بازیابی کنید\",\n    \"created_message\": \"آیتم با موفقیت ایجاد شد\",\n    \"updated_message\": \"آیتم با موفقیت بروزرسانی شد\",\n    \"deleted_message\": \"آیتم با موفقیت حذف شد | آیتم ها با موفقیت حذف شد\"\n  },\n  \"estimates\": {\n    \"title\": \"برآوردها\",\n    \"accept_estimate\": \"Accept Estimate\",\n    \"reject_estimate\": \"Reject Estimate\",\n    \"estimate\": \"برآورد | برآوردها\",\n    \"estimates_list\": \"لیست برآوردها\",\n    \"days\": \"{days} روز\",\n    \"months\": \"{months} ماه\",\n    \"years\": \"{years} سال\",\n    \"all\": \"همه موارد\",\n    \"paid\": \"پرداخت شده\",\n    \"unpaid\": \"پرداخت نشده\",\n    \"customer\": \"مشتری\",\n    \"ref_no\": \"شماره مرجع.\",\n    \"number\": \"شماره\",\n    \"amount_due\": \"مبلغ پرداختی\",\n    \"partially_paid\": \"پرداخت ناقص\",\n    \"total\": \"جمع کل\",\n    \"discount\": \"تخفیف\",\n    \"sub_total\": \"مجموع آیتم های فاکتور\",\n    \"estimate_number\": \"شماره برآورد\",\n    \"ref_number\": \"شماره مرجع\",\n    \"contact\": \"مخاطب\",\n    \"add_item\": \"افزودن یک آیتم\",\n    \"date\": \"تاریخ\",\n    \"due_date\": \"تاریخ سررسید\",\n    \"expiry_date\": \"تاریخ انقضا\",\n    \"status\": \"وضعیت\",\n    \"add_tax\": \"افزودن مالیات\",\n    \"amount\": \"مقدار\",\n    \"action\": \"عملیات\",\n    \"notes\": \"یادداشت ها\",\n    \"tax\": \"مالیات\",\n    \"estimate_template\": \"قالب\",\n    \"convert_to_invoice\": \"تبدیل به صورت حساب\",\n    \"mark_as_sent\": \"علامت گذاری به عنوان ارسال شده\",\n    \"send_estimate\": \"ارسال برآورد هزینه\",\n    \"resend_estimate\": \"ارسال مجدد برآورد هزینه\",\n    \"record_payment\": \"ثبت پرداخت\",\n    \"add_estimate\": \"اضافه کردن برآورد هزینه\",\n    \"save_estimate\": \"ذخیره برآورد هزینه\",\n    \"confirm_conversion\": \"از اطلاعات این برآورد برای ایجاد یک فاکتور جدید استفاده خواهد شد.\",\n    \"conversion_message\": \"فاکتور با موفقیت ایجاد شد\",\n    \"confirm_send_estimate\": \"این برآورد از طریق ایمیل برای مشتری ارسال می شود\",\n    \"confirm_mark_as_sent\": \"وضعیت این برآورد به ارسال شده تغییر پیدا می کند\",\n    \"confirm_mark_as_accepted\": \"وضعیت این برآورد به تایید شده تغییر پیدا می کند\",\n    \"confirm_mark_as_rejected\": \"وضعیت این برآورد به عدم تایید تغییر پیدا می کند\",\n    \"no_matching_estimates\": \"هیچ برآورد منطبقی وجود ندارد!\",\n    \"mark_as_sent_successfully\": \"وضعیت این برآورد به ارسال شده تغییر پیدا می کند\",\n    \"send_estimate_successfully\": \"برآورد با موفقیت ارسال شد\",\n    \"errors\": {\n      \"required\": \"فیلد مورد نیاز است\"\n    },\n    \"accepted\": \"تأیید شد\",\n    \"rejected\": \"رد شده\",\n    \"expired\": \"Expired\",\n    \"sent\": \"فرستاده شد\",\n    \"draft\": \"پیش‌نویس\",\n    \"viewed\": \"Viewed\",\n    \"declined\": \"پذیرفته نشد\",\n    \"new_estimate\": \"New Estimate\",\n    \"add_new_estimate\": \"Add New Estimate\",\n    \"update_Estimate\": \"Update Estimate\",\n    \"edit_estimate\": \"Edit Estimate\",\n    \"items\": \"items\",\n    \"Estimate\": \"Estimate | Estimates\",\n    \"add_new_tax\": \"Add New Tax\",\n    \"no_estimates\": \"No estimates yet!\",\n    \"list_of_estimates\": \"This section will contain the list of estimates.\",\n    \"mark_as_rejected\": \"Mark as rejected\",\n    \"mark_as_accepted\": \"Mark as accepted\",\n    \"marked_as_accepted_message\": \"Estimate marked as accepted\",\n    \"marked_as_rejected_message\": \"Estimate marked as rejected\",\n    \"confirm_delete\": \"You will not be able to recover this Estimate | You will not be able to recover these Estimates\",\n    \"created_message\": \"Estimate created successfully\",\n    \"updated_message\": \"Estimate updated successfully\",\n    \"deleted_message\": \"Estimate deleted successfully | Estimates deleted successfully\",\n    \"something_went_wrong\": \"something went wrong\",\n    \"item\": {\n      \"title\": \"Item Title\",\n      \"description\": \"توضیحات\",\n      \"quantity\": \"Quantity\",\n      \"price\": \"Price\",\n      \"discount\": \"Discount\",\n      \"total\": \"Total\",\n      \"total_discount\": \"Total Discount\",\n      \"sub_total\": \"Sub Total\",\n      \"tax\": \"Tax\",\n      \"amount\": \"Amount\",\n      \"select_an_item\": \"Type or click to select an item\",\n      \"type_item_description\": \"Type Item Description (optional)\"\n    },\n    \"mark_as_default_estimate_template_description\": \"If enabled, the selected template will be automatically selected for new estimates.\"\n  },\n  \"invoices\": {\n    \"title\": \"Invoices\",\n    \"download\": \"Download\",\n    \"pay_invoice\": \"Pay Invoice\",\n    \"invoices_list\": \"Invoices List\",\n    \"invoice_information\": \"Invoice Information\",\n    \"days\": \"{days} Days\",\n    \"months\": \"{months} Month\",\n    \"years\": \"{years} Year\",\n    \"all\": \"همه\",\n    \"paid\": \"پرداخت شده\",\n    \"unpaid\": \"پرداخت نشده\",\n    \"viewed\": \"Viewed\",\n    \"overdue\": \"Overdue\",\n    \"completed\": \"Completed\",\n    \"customer\": \"مشتری\",\n    \"paid_status\": \"PAID STATUS\",\n    \"ref_no\": \"REF NO.\",\n    \"number\": \"NUMBER\",\n    \"amount_due\": \"AMOUNT DUE\",\n    \"partially_paid\": \"Partially Paid\",\n    \"total\": \"جمع کل\",\n    \"discount\": \"تخفیف\",\n    \"sub_total\": \"Sub Total\",\n    \"invoice\": \"Invoice | Invoices\",\n    \"invoice_number\": \"Invoice Number\",\n    \"ref_number\": \"Ref Number\",\n    \"contact\": \"Contact\",\n    \"add_item\": \"Add an Item\",\n    \"date\": \"Date\",\n    \"due_date\": \"Due Date\",\n    \"status\": \"Status\",\n    \"add_tax\": \"Add Tax\",\n    \"amount\": \"Amount\",\n    \"action\": \"Action\",\n    \"notes\": \"یادداشت‌ها\",\n    \"view\": \"View\",\n    \"send_invoice\": \"ارسال صورت‌حساب\",\n    \"resend_invoice\": \"ارسال مجدد صورت‌حساب\",\n    \"invoice_template\": \"قالب صورت‌حساب\",\n    \"conversion_message\": \"Invoice cloned successful\",\n    \"template\": \"انتخاب قالب\",\n    \"mark_as_sent\": \"علامت‌گذاری به عنوان ارسال‌شده\",\n    \"confirm_send_invoice\": \"این صورت‌حساب از طریق پست الکترونیک (ایمیل) برای مشتری ارسال خواهد شد\",\n    \"invoice_mark_as_sent\": \"وضعیت این صورت‌حساب به ارسال شده تغییر پیدا خواهد کرد\",\n    \"confirm_mark_as_accepted\": \"وضعیت این صورت‌حساب به تایید شده تغییر پیدا خواهد کرد\",\n    \"confirm_mark_as_rejected\": \"وضعیت این صورت‌حساب به عدم تایید تغییر پیدا خواهد کرد\",\n    \"confirm_send\": \"این صورت‌حساب از طریق پست الکترونیک (ایمیل) برای مشتری ارسال خواهد شد\",\n    \"invoice_date\": \"تاریخ صورتحساب\",\n    \"record_payment\": \"Record Payment\",\n    \"add_new_invoice\": \"افزودن صورت‌حساب جدید\",\n    \"update_expense\": \"بروزرسانی هزینه\",\n    \"edit_invoice\": \"ویرایش صورت‌حساب\",\n    \"new_invoice\": \"صورت‌حساب جدید\",\n    \"save_invoice\": \"Save Invoice\",\n    \"update_invoice\": \"Update Invoice\",\n    \"add_new_tax\": \"افزودن مالیات جدید\",\n    \"no_invoices\": \"No Invoices yet!\",\n    \"mark_as_rejected\": \"علامت‌گذاری به عنوان رد شده\",\n    \"mark_as_accepted\": \"علامت‌گذاری به عنوان تایید شده\",\n    \"list_of_invoices\": \"این قسمت شامل لیست صورت‌حساب‌ها است.\",\n    \"select_invoice\": \"انتخاب صورت‌حساب\",\n    \"no_matching_invoices\": \"There are no matching invoices!\",\n    \"mark_as_sent_successfully\": \"Invoice marked as sent successfully\",\n    \"invoice_sent_successfully\": \"Invoice sent successfully\",\n    \"cloned_successfully\": \"Invoice cloned successfully\",\n    \"clone_invoice\": \"Clone Invoice\",\n    \"confirm_clone\": \"This invoice will be cloned into a new Invoice\",\n    \"item\": {\n      \"title\": \"Item Title\",\n      \"description\": \"Description\",\n      \"quantity\": \"Quantity\",\n      \"price\": \"Price\",\n      \"discount\": \"Discount\",\n      \"total\": \"Total\",\n      \"total_discount\": \"Total Discount\",\n      \"sub_total\": \"Sub Total\",\n      \"tax\": \"Tax\",\n      \"amount\": \"Amount\",\n      \"select_an_item\": \"Type or click to select an item\",\n      \"type_item_description\": \"Type Item Description (optional)\"\n    },\n    \"payment_attached_message\": \"One of the selected invoices already have a payment attached to it. Make sure to delete the attached payments first in order to go ahead with the removal\",\n    \"confirm_delete\": \"You will not be able to recover this Invoice | You will not be able to recover these Invoices\",\n    \"created_message\": \"Invoice created successfully\",\n    \"updated_message\": \"Invoice updated successfully\",\n    \"deleted_message\": \"Invoice deleted successfully | Invoices deleted successfully\",\n    \"marked_as_sent_message\": \"Invoice marked as sent successfully\",\n    \"something_went_wrong\": \"something went wrong\",\n    \"invalid_due_amount_message\": \"Total Invoice amount cannot be less than total paid amount for this Invoice. Please update the invoice or delete the associated payments to continue.\",\n    \"mark_as_default_invoice_template_description\": \"If enabled, the selected template will be automatically selected for new invoices.\"\n  },\n  \"recurring_invoices\": {\n    \"title\": \"Recurring Invoices\",\n    \"invoices_list\": \"Recurring Invoices List\",\n    \"days\": \"{days} Days\",\n    \"months\": \"{months} Month\",\n    \"years\": \"{years} Year\",\n    \"all\": \"All\",\n    \"paid\": \"Paid\",\n    \"unpaid\": \"Unpaid\",\n    \"viewed\": \"Viewed\",\n    \"overdue\": \"Overdue\",\n    \"active\": \"Active\",\n    \"completed\": \"Completed\",\n    \"customer\": \"CUSTOMER\",\n    \"paid_status\": \"PAID STATUS\",\n    \"ref_no\": \"REF NO.\",\n    \"number\": \"NUMBER\",\n    \"amount_due\": \"AMOUNT DUE\",\n    \"partially_paid\": \"Partially Paid\",\n    \"total\": \"Total\",\n    \"discount\": \"Discount\",\n    \"sub_total\": \"Sub Total\",\n    \"invoice\": \"Recurring Invoice | Recurring Invoices\",\n    \"invoice_number\": \"Recurring Invoice Number\",\n    \"next_invoice_date\": \"Next Invoice Date\",\n    \"ref_number\": \"Ref Number\",\n    \"contact\": \"Contact\",\n    \"add_item\": \"Add an Item\",\n    \"date\": \"Date\",\n    \"limit_by\": \"Limit by\",\n    \"limit_date\": \"Limit Date\",\n    \"limit_count\": \"Limit Count\",\n    \"count\": \"Count\",\n    \"status\": \"Status\",\n    \"select_a_status\": \"Select a status\",\n    \"working\": \"Working\",\n    \"on_hold\": \"On Hold\",\n    \"complete\": \"Completed\",\n    \"add_tax\": \"Add Tax\",\n    \"amount\": \"Amount\",\n    \"action\": \"Action\",\n    \"notes\": \"Notes\",\n    \"view\": \"View\",\n    \"basic_info\": \"Basic Info\",\n    \"send_invoice\": \"Send Recurring Invoice\",\n    \"auto_send\": \"Auto Send\",\n    \"resend_invoice\": \"Resend Recurring Invoice\",\n    \"invoice_template\": \"Recurring Invoice Template\",\n    \"conversion_message\": \"Recurring Invoice cloned successful\",\n    \"template\": \"Template\",\n    \"mark_as_sent\": \"Mark as sent\",\n    \"confirm_send_invoice\": \"This recurring invoice will be sent via email to the customer\",\n    \"invoice_mark_as_sent\": \"This recurring invoice will be marked as sent\",\n    \"confirm_send\": \"This recurring invoice will be sent via email to the customer\",\n    \"starts_at\": \"Start Date\",\n    \"due_date\": \"Invoice Due Date\",\n    \"record_payment\": \"Record Payment\",\n    \"add_new_invoice\": \"Add New Recurring Invoice\",\n    \"update_expense\": \"Update Expense\",\n    \"edit_invoice\": \"Edit Recurring Invoice\",\n    \"new_invoice\": \"New Recurring Invoice\",\n    \"send_automatically\": \"Send Automatically\",\n    \"send_automatically_desc\": \"Enable this, if you would like to send the invoice automatically to the customer when its created.\",\n    \"save_invoice\": \"Save Recurring Invoice\",\n    \"update_invoice\": \"Update Recurring Invoice\",\n    \"add_new_tax\": \"Add New Tax\",\n    \"no_invoices\": \"No Recurring Invoices yet!\",\n    \"mark_as_rejected\": \"Mark as rejected\",\n    \"mark_as_accepted\": \"Mark as accepted\",\n    \"list_of_invoices\": \"This section will contain the list of recurring invoices.\",\n    \"select_invoice\": \"Select Invoice\",\n    \"no_matching_invoices\": \"There are no matching recurring invoices!\",\n    \"mark_as_sent_successfully\": \"Recurring Invoice marked as sent successfully\",\n    \"invoice_sent_successfully\": \"Recurring Invoice sent successfully\",\n    \"cloned_successfully\": \"Recurring Invoice cloned successfully\",\n    \"clone_invoice\": \"Clone Recurring Invoice\",\n    \"confirm_clone\": \"This recurring invoice will be cloned into a new Recurring Invoice\",\n    \"add_customer_email\": \"Please add an email address for this customer to send invoices automatically.\",\n    \"item\": {\n      \"title\": \"Item Title\",\n      \"description\": \"Description\",\n      \"quantity\": \"Quantity\",\n      \"price\": \"Price\",\n      \"discount\": \"Discount\",\n      \"total\": \"Total\",\n      \"total_discount\": \"Total Discount\",\n      \"sub_total\": \"Sub Total\",\n      \"tax\": \"Tax\",\n      \"amount\": \"Amount\",\n      \"select_an_item\": \"Type or click to select an item\",\n      \"type_item_description\": \"Type Item Description (optional)\"\n    },\n    \"frequency\": {\n      \"title\": \"Frequency\",\n      \"select_frequency\": \"Select Frequency\",\n      \"minute\": \"Minute\",\n      \"hour\": \"Hour\",\n      \"day_month\": \"Day of month\",\n      \"month\": \"Month\",\n      \"day_week\": \"Day of week\"\n    },\n    \"confirm_delete\": \"You will not be able to recover this Invoice | You will not be able to recover these Invoices\",\n    \"created_message\": \"Recurring Invoice created successfully\",\n    \"updated_message\": \"Recurring Invoice updated successfully\",\n    \"deleted_message\": \"Recurring Invoice deleted successfully | Recurring Invoices deleted successfully\",\n    \"marked_as_sent_message\": \"Recurring Invoice marked as sent successfully\",\n    \"user_email_does_not_exist\": \"User email does not exist\",\n    \"something_went_wrong\": \"something went wrong\",\n    \"invalid_due_amount_message\": \"Total Recurring Invoice amount cannot be less than total paid amount for this Recurring Invoice. Please update the invoice or delete the associated payments to continue.\"\n  },\n  \"payments\": {\n    \"title\": \"Payments\",\n    \"payments_list\": \"Payments List\",\n    \"record_payment\": \"Record Payment\",\n    \"customer\": \"Customer\",\n    \"date\": \"Date\",\n    \"amount\": \"Amount\",\n    \"action\": \"Action\",\n    \"payment_number\": \"Payment Number\",\n    \"payment_mode\": \"Payment Mode\",\n    \"invoice\": \"Invoice\",\n    \"note\": \"Note\",\n    \"add_payment\": \"Add Payment\",\n    \"new_payment\": \"New Payment\",\n    \"edit_payment\": \"Edit Payment\",\n    \"view_payment\": \"View Payment\",\n    \"add_new_payment\": \"Add New Payment\",\n    \"send_payment_receipt\": \"Send Payment Receipt\",\n    \"send_payment\": \"Send Payment\",\n    \"save_payment\": \"Save Payment\",\n    \"update_payment\": \"Update Payment\",\n    \"payment\": \"Payment | Payments\",\n    \"no_payments\": \"No payments yet!\",\n    \"not_selected\": \"Not selected\",\n    \"no_invoice\": \"No invoice\",\n    \"no_matching_payments\": \"There are no matching payments!\",\n    \"list_of_payments\": \"This section will contain the list of payments.\",\n    \"select_payment_mode\": \"Select payment mode\",\n    \"confirm_mark_as_sent\": \"This estimate will be marked as sent\",\n    \"confirm_send_payment\": \"This payment will be sent via email to the customer\",\n    \"send_payment_successfully\": \"Payment sent successfully\",\n    \"something_went_wrong\": \"something went wrong\",\n    \"confirm_delete\": \"You will not be able to recover this Payment | You will not be able to recover these Payments\",\n    \"created_message\": \"Payment created successfully\",\n    \"updated_message\": \"Payment updated successfully\",\n    \"deleted_message\": \"Payment deleted successfully | Payments deleted successfully\",\n    \"invalid_amount_message\": \"Payment amount is invalid\"\n  },\n  \"expenses\": {\n    \"title\": \"Expenses\",\n    \"expenses_list\": \"Expenses List\",\n    \"select_a_customer\": \"Select a customer\",\n    \"expense_title\": \"Title\",\n    \"customer\": \"Customer\",\n    \"currency\": \"Currency\",\n    \"contact\": \"Contact\",\n    \"category\": \"Category\",\n    \"from_date\": \"From Date\",\n    \"to_date\": \"To Date\",\n    \"expense_date\": \"Date\",\n    \"description\": \"Description\",\n    \"receipt\": \"Receipt\",\n    \"amount\": \"Amount\",\n    \"action\": \"Action\",\n    \"not_selected\": \"Not selected\",\n    \"note\": \"Note\",\n    \"category_id\": \"Category Id\",\n    \"date\": \"Date\",\n    \"add_expense\": \"Add Expense\",\n    \"add_new_expense\": \"Add New Expense\",\n    \"save_expense\": \"Save Expense\",\n    \"update_expense\": \"Update Expense\",\n    \"download_receipt\": \"Download Receipt\",\n    \"edit_expense\": \"Edit Expense\",\n    \"new_expense\": \"New Expense\",\n    \"expense\": \"Expense | Expenses\",\n    \"no_expenses\": \"No expenses yet!\",\n    \"list_of_expenses\": \"This section will contain the list of expenses.\",\n    \"confirm_delete\": \"You will not be able to recover this Expense | You will not be able to recover these Expenses\",\n    \"created_message\": \"Expense created successfully\",\n    \"updated_message\": \"Expense updated successfully\",\n    \"deleted_message\": \"Expense deleted successfully | Expenses deleted successfully\",\n    \"categories\": {\n      \"categories_list\": \"Categories List\",\n      \"title\": \"Title\",\n      \"name\": \"Name\",\n      \"description\": \"Description\",\n      \"amount\": \"Amount\",\n      \"actions\": \"Actions\",\n      \"add_category\": \"Add Category\",\n      \"new_category\": \"New Category\",\n      \"category\": \"Category | Categories\",\n      \"select_a_category\": \"Select a category\"\n    }\n  },\n  \"login\": {\n    \"email\": \"Email\",\n    \"password\": \"Password\",\n    \"forgot_password\": \"Forgot Password?\",\n    \"or_signIn_with\": \"or Sign in with\",\n    \"login\": \"Login\",\n    \"register\": \"Register\",\n    \"reset_password\": \"Reset Password\",\n    \"password_reset_successfully\": \"Password Reset Successfully\",\n    \"enter_email\": \"Enter email\",\n    \"enter_password\": \"Enter Password\",\n    \"retype_password\": \"Retype Password\"\n  },\n  \"modules\": {\n    \"buy_now\": \"Buy Now\",\n    \"install\": \"Install\",\n    \"price\": \"Price\",\n    \"download_zip_file\": \"Download ZIP file\",\n    \"unzipping_package\": \"Unzipping Package\",\n    \"copying_files\": \"Copying Files\",\n    \"deleting_files\": \"Deleting Unused files\",\n    \"completing_installation\": \"Completing Installation\",\n    \"update_failed\": \"Update Failed\",\n    \"install_success\": \"Module has been installed successfully!\",\n    \"customer_reviews\": \"Reviews\",\n    \"license\": \"License\",\n    \"faq\": \"FAQ\",\n    \"monthly\": \"Monthly\",\n    \"yearly\": \"Yearly\",\n    \"updated\": \"Updated\",\n    \"version\": \"Version\",\n    \"disable\": \"Disable\",\n    \"module_disabled\": \"Module Disabled\",\n    \"enable\": \"Enable\",\n    \"module_enabled\": \"Module Enabled\",\n    \"update_to\": \"Update To\",\n    \"module_updated\": \"Module Updated Successfully!\",\n    \"title\": \"Modules\",\n    \"module\": \"Module | Modules\",\n    \"api_token\": \"API token\",\n    \"invalid_api_token\": \"Invalid API Token.\",\n    \"other_modules\": \"Other Modules\",\n    \"view_all\": \"View All\",\n    \"no_reviews_found\": \"There are no reviews for this module yet!\",\n    \"module_not_purchased\": \"Module Not Purchased\",\n    \"module_not_found\": \"Module Not Found\",\n    \"version_not_supported\": \"This module version doesn't support the current version of Crater\",\n    \"last_updated\": \"Last Updated On\",\n    \"connect_installation\": \"Connect your installation\",\n    \"api_token_description\": \"Login to {url} and connect this installation by entering the API Token. Your purchased modules will show up here after the connection is established.\",\n    \"view_module\": \"View Module\",\n    \"update_available\": \"Update Available\",\n    \"purchased\": \"Purchased\",\n    \"installed\": \"Installed\",\n    \"no_modules_installed\": \"No Modules Installed Yet!\",\n    \"disable_warning\": \"All the settings for this particular will be reverted.\",\n    \"what_you_get\": \"What you get\"\n  },\n  \"users\": {\n    \"title\": \"Users\",\n    \"users_list\": \"Users List\",\n    \"name\": \"Name\",\n    \"description\": \"Description\",\n    \"added_on\": \"Added On\",\n    \"date_of_creation\": \"Date Of Creation\",\n    \"action\": \"Action\",\n    \"add_user\": \"Add User\",\n    \"save_user\": \"Save User\",\n    \"update_user\": \"Update User\",\n    \"user\": \"User | Users\",\n    \"add_new_user\": \"Add New User\",\n    \"new_user\": \"New User\",\n    \"edit_user\": \"Edit User\",\n    \"no_users\": \"No users yet!\",\n    \"list_of_users\": \"This section will contain the list of users.\",\n    \"email\": \"Email\",\n    \"phone\": \"Phone\",\n    \"password\": \"Password\",\n    \"user_attached_message\": \"Cannot delete an item which is already in use\",\n    \"confirm_delete\": \"You will not be able to recover this User | You will not be able to recover these Users\",\n    \"created_message\": \"User created successfully\",\n    \"updated_message\": \"User updated successfully\",\n    \"deleted_message\": \"User deleted successfully | Users deleted successfully\",\n    \"select_company_role\": \"Select Role for {company}\",\n    \"companies\": \"Companies\"\n  },\n  \"reports\": {\n    \"title\": \"Report\",\n    \"from_date\": \"From Date\",\n    \"to_date\": \"To Date\",\n    \"status\": \"Status\",\n    \"paid\": \"Paid\",\n    \"unpaid\": \"Unpaid\",\n    \"download_pdf\": \"Download PDF\",\n    \"view_pdf\": \"View PDF\",\n    \"update_report\": \"Update Report\",\n    \"report\": \"Report | Reports\",\n    \"profit_loss\": {\n      \"profit_loss\": \"Profit & Loss\",\n      \"to_date\": \"To Date\",\n      \"from_date\": \"From Date\",\n      \"date_range\": \"Select Date Range\"\n    },\n    \"sales\": {\n      \"sales\": \"Sales\",\n      \"date_range\": \"Select Date Range\",\n      \"to_date\": \"To Date\",\n      \"from_date\": \"From Date\",\n      \"report_type\": \"Report Type\"\n    },\n    \"taxes\": {\n      \"taxes\": \"Taxes\",\n      \"to_date\": \"To Date\",\n      \"from_date\": \"From Date\",\n      \"date_range\": \"Select Date Range\"\n    },\n    \"errors\": {\n      \"required\": \"Field is required\"\n    },\n    \"invoices\": {\n      \"invoice\": \"Invoice\",\n      \"invoice_date\": \"Invoice Date\",\n      \"due_date\": \"Due Date\",\n      \"amount\": \"Amount\",\n      \"contact_name\": \"Contact Name\",\n      \"status\": \"Status\"\n    },\n    \"estimates\": {\n      \"estimate\": \"Estimate\",\n      \"estimate_date\": \"Estimate Date\",\n      \"due_date\": \"Due Date\",\n      \"estimate_number\": \"Estimate Number\",\n      \"ref_number\": \"Ref Number\",\n      \"amount\": \"Amount\",\n      \"contact_name\": \"Contact Name\",\n      \"status\": \"Status\"\n    },\n    \"expenses\": {\n      \"expenses\": \"Expenses\",\n      \"category\": \"Category\",\n      \"date\": \"Date\",\n      \"amount\": \"Amount\",\n      \"to_date\": \"To Date\",\n      \"from_date\": \"From Date\",\n      \"date_range\": \"Select Date Range\"\n    }\n  },\n  \"settings\": {\n    \"menu_title\": {\n      \"account_settings\": \"Account Settings\",\n      \"company_information\": \"Company Information\",\n      \"customization\": \"Customization\",\n      \"preferences\": \"Preferences\",\n      \"notifications\": \"Notifications\",\n      \"tax_types\": \"Tax Types\",\n      \"expense_category\": \"Expense Categories\",\n      \"update_app\": \"Update App\",\n      \"backup\": \"Backup\",\n      \"file_disk\": \"File Disk\",\n      \"custom_fields\": \"Custom Fields\",\n      \"payment_modes\": \"Payment Modes\",\n      \"notes\": \"Notes\",\n      \"exchange_rate\": \"Exchange Rate\",\n      \"address_information\": \"Address Information\"\n    },\n    \"address_information\": {\n      \"section_description\": \"  You can update Your Address information using form below.\"\n    },\n    \"title\": \"Settings\",\n    \"setting\": \"Settings | Settings\",\n    \"general\": \"General\",\n    \"language\": \"Language\",\n    \"primary_currency\": \"Primary Currency\",\n    \"timezone\": \"Time Zone\",\n    \"date_format\": \"Date Format\",\n    \"currencies\": {\n      \"title\": \"Currencies\",\n      \"currency\": \"Currency | Currencies\",\n      \"currencies_list\": \"Currencies List\",\n      \"select_currency\": \"Select Currency\",\n      \"name\": \"Name\",\n      \"code\": \"Code\",\n      \"symbol\": \"Symbol\",\n      \"precision\": \"Precision\",\n      \"thousand_separator\": \"Thousand Separator\",\n      \"decimal_separator\": \"Decimal Separator\",\n      \"position\": \"Position\",\n      \"position_of_symbol\": \"Position Of Symbol\",\n      \"right\": \"Right\",\n      \"left\": \"Left\",\n      \"action\": \"Action\",\n      \"add_currency\": \"Add Currency\"\n    },\n    \"mail\": {\n      \"host\": \"Mail Host\",\n      \"port\": \"Mail Port\",\n      \"driver\": \"Mail Driver\",\n      \"secret\": \"Secret\",\n      \"mailgun_secret\": \"Mailgun Secret\",\n      \"mailgun_domain\": \"Domain\",\n      \"mailgun_endpoint\": \"Mailgun Endpoint\",\n      \"ses_secret\": \"SES Secret\",\n      \"ses_key\": \"SES Key\",\n      \"password\": \"Mail Password\",\n      \"username\": \"Mail Username\",\n      \"mail_config\": \"Mail Configuration\",\n      \"from_name\": \"From Mail Name\",\n      \"from_mail\": \"From Mail Address\",\n      \"encryption\": \"Mail Encryption\",\n      \"mail_config_desc\": \"Below is the form for Configuring Email driver for sending emails from the app. You can also configure third party providers like Sendgrid, SES etc.\"\n    },\n    \"pdf\": {\n      \"title\": \"PDF Setting\",\n      \"footer_text\": \"Footer Text\",\n      \"pdf_layout\": \"PDF Layout\"\n    },\n    \"company_info\": {\n      \"company_info\": \"Company info\",\n      \"company_name\": \"Company Name\",\n      \"company_logo\": \"Company Logo\",\n      \"section_description\": \"Information about your company that will be displayed on invoices, estimates and other documents created by Crater.\",\n      \"phone\": \"Phone\",\n      \"country\": \"Country\",\n      \"state\": \"State\",\n      \"city\": \"City\",\n      \"address\": \"Address\",\n      \"zip\": \"Zip\",\n      \"save\": \"Save\",\n      \"delete\": \"Delete\",\n      \"updated_message\": \"Company information updated successfully\",\n      \"delete_company\": \"Delete Company\",\n      \"delete_company_description\": \"Once you delete your company, you will lose all the data and files associated with it permanently.\",\n      \"are_you_absolutely_sure\": \"Are you absolutely sure?\",\n      \"delete_company_modal_desc\": \"This action cannot be undone. This will permanently delete {company} and all of its associated data.\",\n      \"delete_company_modal_label\": \"Please type {company} to confirm\"\n    },\n    \"custom_fields\": {\n      \"title\": \"Custom Fields\",\n      \"section_description\": \"Customize your Invoices, Estimates & Payment Receipts with your own fields. Make sure to use the below added fields on the address formats on Customization settings page.\",\n      \"add_custom_field\": \"Add Custom Field\",\n      \"edit_custom_field\": \"Edit Custom Field\",\n      \"field_name\": \"Field Name\",\n      \"label\": \"Label\",\n      \"type\": \"Type\",\n      \"name\": \"Name\",\n      \"slug\": \"Slug\",\n      \"required\": \"Required\",\n      \"placeholder\": \"Placeholder\",\n      \"help_text\": \"Help Text\",\n      \"default_value\": \"Default Value\",\n      \"prefix\": \"Prefix\",\n      \"starting_number\": \"Starting Number\",\n      \"model\": \"Model\",\n      \"help_text_description\": \"Enter some text to help users understand the purpose of this custom field.\",\n      \"suffix\": \"Suffix\",\n      \"yes\": \"Yes\",\n      \"no\": \"No\",\n      \"order\": \"Order\",\n      \"custom_field_confirm_delete\": \"You will not be able to recover this Custom Field\",\n      \"already_in_use\": \"Custom Field is already in use\",\n      \"deleted_message\": \"Custom Field deleted successfully\",\n      \"options\": \"options\",\n      \"add_option\": \"Add Options\",\n      \"add_another_option\": \"Add another option\",\n      \"sort_in_alphabetical_order\": \"Sort in Alphabetical Order\",\n      \"add_options_in_bulk\": \"Add options in bulk\",\n      \"use_predefined_options\": \"Use Predefined Options\",\n      \"select_custom_date\": \"Select Custom Date\",\n      \"select_relative_date\": \"Select Relative Date\",\n      \"ticked_by_default\": \"Ticked by default\",\n      \"updated_message\": \"Custom Field updated successfully\",\n      \"added_message\": \"Custom Field added successfully\",\n      \"press_enter_to_add\": \"Press enter to add new option\",\n      \"model_in_use\": \"Cannot update model for fields which are already in use.\",\n      \"type_in_use\": \"Cannot update type for fields which are already in use.\"\n    },\n    \"customization\": {\n      \"customization\": \"customization\",\n      \"updated_message\": \"Company information updated successfully\",\n      \"save\": \"Save\",\n      \"insert_fields\": \"Insert Fields\",\n      \"learn_custom_format\": \"Learn how to use custom format\",\n      \"add_new_component\": \"Add New Component\",\n      \"component\": \"Component\",\n      \"Parameter\": \"Parameter\",\n      \"series\": \"Series\",\n      \"series_description\": \"To set a static prefix/postfix like 'INV' across your company. It supports character length of up to 6 chars.\",\n      \"series_param_label\": \"Series Value\",\n      \"delimiter\": \"Delimiter\",\n      \"delimiter_description\": \"Single character for specifying the boundary between 2 separate components. By default its set to -\",\n      \"delimiter_param_label\": \"Delimiter Value\",\n      \"date_format\": \"Date Format\",\n      \"date_format_description\": \"A local date and time field which accepts a format parameter. The default format: 'Y' renders the current year.\",\n      \"date_format_param_label\": \"Format\",\n      \"sequence\": \"Sequence\",\n      \"sequence_description\": \"Consecutive sequence of numbers across your company. You can specify the length on the given parameter.\",\n      \"sequence_param_label\": \"Sequence Length\",\n      \"customer_series\": \"Customer Series\",\n      \"customer_series_description\": \"To set a different prefix/postfix for each customer.\",\n      \"customer_sequence\": \"Customer Sequence\",\n      \"customer_sequence_description\": \"Consecutive sequence of numbers for each of your customer.\",\n      \"customer_sequence_param_label\": \"Sequence Length\",\n      \"random_sequence\": \"Random Sequence\",\n      \"random_sequence_description\": \"Random alphanumeric string. You can specify the length on the given parameter.\",\n      \"random_sequence_param_label\": \"Sequence Length\",\n      \"invoices\": {\n        \"title\": \"Invoices\",\n        \"invoice_number_format\": \"Invoice Number Format\",\n        \"invoice_number_format_description\": \"Customize how your invoice number gets generated automatically when you create a new invoice.\",\n        \"preview_invoice_number\": \"Preview Invoice Number\",\n        \"due_date\": \"Due Date\",\n        \"due_date_description\": \"Specify how due date is automatically set when you create an invoice.\",\n        \"due_date_days\": \"Invoice Due after days\",\n        \"set_due_date_automatically\": \"Set Due Date Automatically\",\n        \"set_due_date_automatically_description\": \"Enable this if you wish to set due date automatically when you create a new invoice.\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on invoice creation.\",\n        \"default_invoice_email_body\": \"Default Invoice Email Body\",\n        \"company_address_format\": \"Company Address Format\",\n        \"shipping_address_format\": \"Shipping Address Format\",\n        \"billing_address_format\": \"Billing Address Format\",\n        \"invoice_email_attachment\": \"Send invoices as attachments\",\n        \"invoice_email_attachment_setting_description\": \"Enable this if you want to send invoices as email attachment. Please note that 'View Invoice' button in emails will not be displayed anymore when enabled.\",\n        \"invoice_settings_updated\": \"Invoice Settings updated successfully\",\n        \"retrospective_edits\": \"Retrospective Edits\",\n        \"allow\": \"Allow\",\n        \"disable_on_invoice_partial_paid\": \"Disable after partial payment is recorded\",\n        \"disable_on_invoice_paid\": \"Disable after full payment is recorded\",\n        \"disable_on_invoice_sent\": \"Disable after invoice is sent\",\n        \"retrospective_edits_description\": \" Based on your country's laws or your preference, you can restrict users from editing finalised invoices.\"\n      },\n      \"estimates\": {\n        \"title\": \"Estimates\",\n        \"estimate_number_format\": \"Estimate Number Format\",\n        \"estimate_number_format_description\": \"Customize how your estimate number gets generated automatically when you create a new estimate.\",\n        \"preview_estimate_number\": \"Preview Estimate Number\",\n        \"expiry_date\": \"Expiry Date\",\n        \"expiry_date_description\": \"Specify how expiry date is automatically set when you create an estimate.\",\n        \"expiry_date_days\": \"Estimate Expires after days\",\n        \"set_expiry_date_automatically\": \"Set Expiry Date Automatically\",\n        \"set_expiry_date_automatically_description\": \"Enable this if you wish to set expiry date automatically when you create a new estimate.\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on estimate creation.\",\n        \"default_estimate_email_body\": \"Default Estimate Email Body\",\n        \"company_address_format\": \"Company Address Format\",\n        \"shipping_address_format\": \"Shipping Address Format\",\n        \"billing_address_format\": \"Billing Address Format\",\n        \"estimate_email_attachment\": \"Send estimates as attachments\",\n        \"estimate_email_attachment_setting_description\": \"Enable this if you want to send the estimates as an email attachment. Please note that 'View Estimate' button in emails will not be displayed anymore when enabled.\",\n        \"estimate_settings_updated\": \"Estimate Settings updated successfully\",\n        \"convert_estimate_options\": \"Estimate Convert Action\",\n        \"convert_estimate_description\": \"Specify what happens to the estimate after it gets converted to an invoice.\",\n        \"no_action\": \"No action\",\n        \"delete_estimate\": \"Delete estimate\",\n        \"mark_estimate_as_accepted\": \"Mark estimate as accepted\"\n      },\n      \"payments\": {\n        \"title\": \"Payments\",\n        \"payment_number_format\": \"Payment Number Format\",\n        \"payment_number_format_description\": \"Customize how your payment number gets generated automatically when you create a new payment.\",\n        \"preview_payment_number\": \"Preview Payment Number\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on payment creation.\",\n        \"default_payment_email_body\": \"Default Payment Email Body\",\n        \"company_address_format\": \"Company Address Format\",\n        \"from_customer_address_format\": \"From Customer Address Format\",\n        \"payment_email_attachment\": \"Send payments as attachments\",\n        \"payment_email_attachment_setting_description\": \"Enable this if you want to send the payment receipts as an email attachment. Please note that 'View Payment' button in emails will not be displayed anymore when enabled.\",\n        \"payment_settings_updated\": \"Payment Settings updated successfully\"\n      },\n      \"items\": {\n        \"title\": \"Items\",\n        \"units\": \"Units\",\n        \"add_item_unit\": \"Add Item Unit\",\n        \"edit_item_unit\": \"Edit Item Unit\",\n        \"unit_name\": \"Unit Name\",\n        \"item_unit_added\": \"Item Unit Added\",\n        \"item_unit_updated\": \"Item Unit Updated\",\n        \"item_unit_confirm_delete\": \"You will not be able to recover this Item unit\",\n        \"already_in_use\": \"Item Unit is already in use\",\n        \"deleted_message\": \"Item Unit deleted successfully\"\n      },\n      \"notes\": {\n        \"title\": \"Notes\",\n        \"description\": \"Save time by creating notes and reusing them on your invoices, estimates & payments.\",\n        \"notes\": \"Notes\",\n        \"type\": \"Type\",\n        \"add_note\": \"Add Note\",\n        \"add_new_note\": \"Add New Note\",\n        \"name\": \"Name\",\n        \"edit_note\": \"Edit Note\",\n        \"note_added\": \"Note added successfully\",\n        \"note_updated\": \"Note Updated successfully\",\n        \"note_confirm_delete\": \"You will not be able to recover this Note\",\n        \"already_in_use\": \"Note is already in use\",\n        \"deleted_message\": \"Note deleted successfully\"\n      }\n    },\n    \"account_settings\": {\n      \"profile_picture\": \"Profile Picture\",\n      \"name\": \"Name\",\n      \"email\": \"Email\",\n      \"password\": \"Password\",\n      \"confirm_password\": \"Confirm Password\",\n      \"account_settings\": \"Account Settings\",\n      \"save\": \"Save\",\n      \"section_description\": \"You can update your name, email & password using the form below.\",\n      \"updated_message\": \"Account Settings updated successfully\"\n    },\n    \"user_profile\": {\n      \"name\": \"Name\",\n      \"email\": \"Email\",\n      \"password\": \"Password\",\n      \"confirm_password\": \"Confirm Password\"\n    },\n    \"notification\": {\n      \"title\": \"Notifications\",\n      \"email\": \"Send Notifications to\",\n      \"description\": \"Which email notifications would you like to receive when something changes?\",\n      \"invoice_viewed\": \"Invoice viewed\",\n      \"invoice_viewed_desc\": \"When your customer views the invoice sent via crater dashboard.\",\n      \"estimate_viewed\": \"Estimate viewed\",\n      \"estimate_viewed_desc\": \"When your customer views the estimate sent via crater dashboard.\",\n      \"save\": \"Save\",\n      \"email_save_message\": \"Email saved successfully\",\n      \"please_enter_email\": \"Please Enter Email\"\n    },\n    \"roles\": {\n      \"title\": \"Roles\",\n      \"description\": \"Manage the roles & permissions of this company\",\n      \"save\": \"Save\",\n      \"add_new_role\": \"Add New Role\",\n      \"role_name\": \"Role Name\",\n      \"added_on\": \"Added on\",\n      \"add_role\": \"Add Role\",\n      \"edit_role\": \"Edit Role\",\n      \"name\": \"Name\",\n      \"permission\": \"Permission | Permissions\",\n      \"select_all\": \"Select All\",\n      \"none\": \"None\",\n      \"confirm_delete\": \"You will not be able to recover this Role\",\n      \"created_message\": \"Role created successfully\",\n      \"updated_message\": \"Role updated successfully\",\n      \"deleted_message\": \"Role deleted successfully\",\n      \"already_in_use\": \"Role is already in use\"\n    },\n    \"exchange_rate\": {\n      \"exchange_rate\": \"Exchange Rate\",\n      \"title\": \"Fix Currency Exchange issues\",\n      \"description\": \"Please enter exchange rate of all the currencies mentioned below to help Crater properly calculate the amounts in {currency}.\",\n      \"drivers\": \"Drivers\",\n      \"new_driver\": \"Add New Provider\",\n      \"edit_driver\": \"Edit Provider\",\n      \"select_driver\": \"Select Driver\",\n      \"update\": \"select exchange rate \",\n      \"providers_description\": \"Configure your exchange rate providers here to automatically fetch the latest exchange rate on transactions.\",\n      \"key\": \"API Key\",\n      \"name\": \"Name\",\n      \"driver\": \"Driver\",\n      \"is_default\": \"IS DEFAULT\",\n      \"currency\": \"Currencies\",\n      \"exchange_rate_confirm_delete\": \"You will not be able to recover this driver\",\n      \"created_message\": \"Provider Created successfully\",\n      \"updated_message\": \"Provider Updated Successfully\",\n      \"deleted_message\": \"Provider Deleted Successfully\",\n      \"error\": \" You cannot Delete Active Driver\",\n      \"default_currency_error\": \"This currency is already used in one of the Active Provider\",\n      \"exchange_help_text\": \"Enter exchange rate to convert from {currency} to {baseCurrency}\",\n      \"currency_freak\": \"Currency Freak\",\n      \"currency_layer\": \"Currency Layer\",\n      \"open_exchange_rate\": \"Open Exchange Rate\",\n      \"currency_converter\": \"Currency Converter\",\n      \"server\": \"Server\",\n      \"url\": \"URL\",\n      \"active\": \"Active\",\n      \"currency_help_text\": \"This provider will only be used on above selected currencies\",\n      \"currency_in_used\": \"The following currencies are already active on another provider. Please remove these currencies from selection to activate this provider again.\"\n    },\n    \"tax_types\": {\n      \"title\": \"Tax Types\",\n      \"add_tax\": \"Add Tax\",\n      \"edit_tax\": \"Edit Tax\",\n      \"description\": \"You can add or Remove Taxes as you please. Crater supports Taxes on Individual Items as well as on the invoice.\",\n      \"add_new_tax\": \"Add New Tax\",\n      \"tax_settings\": \"Tax Settings\",\n      \"tax_per_item\": \"Tax Per Item\",\n      \"tax_name\": \"Tax Name\",\n      \"compound_tax\": \"Compound Tax\",\n      \"percent\": \"Percent\",\n      \"action\": \"Action\",\n      \"tax_setting_description\": \"Enable this if you want to add taxes to individual invoice items. By default, taxes are added directly to the invoice.\",\n      \"created_message\": \"Tax type created successfully\",\n      \"updated_message\": \"Tax type updated successfully\",\n      \"deleted_message\": \"Tax type deleted successfully\",\n      \"confirm_delete\": \"You will not be able to recover this Tax Type\",\n      \"already_in_use\": \"Tax is already in use\"\n    },\n    \"payment_modes\": {\n      \"title\": \"Payment Modes\",\n      \"description\": \"Modes of transaction for payments\",\n      \"add_payment_mode\": \"Add Payment Mode\",\n      \"edit_payment_mode\": \"Edit Payment Mode\",\n      \"mode_name\": \"Mode Name\",\n      \"payment_mode_added\": \"Payment Mode Added\",\n      \"payment_mode_updated\": \"Payment Mode Updated\",\n      \"payment_mode_confirm_delete\": \"You will not be able to recover this Payment Mode\",\n      \"payments_attached\": \"This payment method is already attached to payments. Please delete the attached payments to proceed with deletion.\",\n      \"expenses_attached\": \"This payment method is already attached to expenses. Please delete the attached expenses to proceed with deletion.\",\n      \"deleted_message\": \"Payment Mode deleted successfully\"\n    },\n    \"expense_category\": {\n      \"title\": \"Expense Categories\",\n      \"action\": \"Action\",\n      \"description\": \"Categories are required for adding expense entries. You can Add or Remove these categories according to your preference.\",\n      \"add_new_category\": \"Add New Category\",\n      \"add_category\": \"Add Category\",\n      \"edit_category\": \"Edit Category\",\n      \"category_name\": \"Category Name\",\n      \"category_description\": \"Description\",\n      \"created_message\": \"Expense Category created successfully\",\n      \"deleted_message\": \"Expense category deleted successfully\",\n      \"updated_message\": \"Expense category updated successfully\",\n      \"confirm_delete\": \"You will not be able to recover this Expense Category\",\n      \"already_in_use\": \"Category is already in use\"\n    },\n    \"preferences\": {\n      \"currency\": \"Currency\",\n      \"default_language\": \"Default Language\",\n      \"time_zone\": \"Time Zone\",\n      \"fiscal_year\": \"Financial Year\",\n      \"date_format\": \"Date Format\",\n      \"discount_setting\": \"Discount Setting\",\n      \"discount_per_item\": \"Discount Per Item \",\n      \"discount_setting_description\": \"Enable this if you want to add Discount to individual invoice items. By default, Discount is added directly to the invoice.\",\n      \"expire_public_links\": \"Automatically Expire Public Links\",\n      \"expire_setting_description\": \"Specify whether you would like to expire all the links sent by application to view invoices, estimates & payments, etc after a specified duration.\",\n      \"save\": \"Save\",\n      \"preference\": \"Preference | Preferences\",\n      \"general_settings\": \"Default preferences for the system.\",\n      \"updated_message\": \"Preferences updated successfully\",\n      \"select_language\": \"Select Language\",\n      \"select_time_zone\": \"Select Time Zone\",\n      \"select_date_format\": \"Select Date Format\",\n      \"select_financial_year\": \"Select Financial Year\",\n      \"recurring_invoice_status\": \"Recurring Invoice Status\",\n      \"create_status\": \"Create Status\",\n      \"active\": \"Active\",\n      \"on_hold\": \"On Hold\",\n      \"update_status\": \"Update Status\",\n      \"completed\": \"Completed\",\n      \"company_currency_unchangeable\": \"Company currency cannot be changed\"\n    },\n    \"update_app\": {\n      \"title\": \"Update App\",\n      \"description\": \"You can easily update Crater by checking for a new update by clicking the button below\",\n      \"check_update\": \"Check for updates\",\n      \"avail_update\": \"New Update available\",\n      \"next_version\": \"Next version\",\n      \"requirements\": \"Requirements\",\n      \"update\": \"Update Now\",\n      \"update_progress\": \"Update in progress...\",\n      \"progress_text\": \"It will just take a few minutes. Please do not refresh the screen or close the window before the update finishes\",\n      \"update_success\": \"App has been updated! Please wait while your browser window gets reloaded automatically.\",\n      \"latest_message\": \"No update available! You are on the latest version.\",\n      \"current_version\": \"Current Version\",\n      \"download_zip_file\": \"Download ZIP file\",\n      \"unzipping_package\": \"Unzipping Package\",\n      \"copying_files\": \"Copying Files\",\n      \"deleting_files\": \"Deleting Unused files\",\n      \"running_migrations\": \"Running Migrations\",\n      \"finishing_update\": \"Finishing Update\",\n      \"update_failed\": \"Update Failed\",\n      \"update_failed_text\": \"Sorry! Your update failed on : {step} step\",\n      \"update_warning\": \"All of the application files and default template files will be overwritten when you update the application using this utility. Please take a backup of your templates & database before updating.\"\n    },\n    \"backup\": {\n      \"title\": \"Backup | Backups\",\n      \"description\": \"The backup is a zipfile that contains all files in the directories you specify along with a dump of your database\",\n      \"new_backup\": \"Add New Backup\",\n      \"create_backup\": \"Create Backup\",\n      \"select_backup_type\": \"Select Backup Type\",\n      \"backup_confirm_delete\": \"You will not be able to recover this Backup\",\n      \"path\": \"path\",\n      \"new_disk\": \"New Disk\",\n      \"created_at\": \"created at\",\n      \"size\": \"size\",\n      \"dropbox\": \"dropbox\",\n      \"local\": \"local\",\n      \"healthy\": \"healthy\",\n      \"amount_of_backups\": \"amount of backups\",\n      \"newest_backups\": \"newest backups\",\n      \"used_storage\": \"used storage\",\n      \"select_disk\": \"Select Disk\",\n      \"action\": \"Action\",\n      \"deleted_message\": \"Backup deleted successfully\",\n      \"created_message\": \"Backup created successfully\",\n      \"invalid_disk_credentials\": \"Invalid credential of selected disk\"\n    },\n    \"disk\": {\n      \"title\": \"File Disk | File Disks\",\n      \"description\": \"By default, Crater will use your local disk for saving backups, avatar and other image files. You can configure more than one disk drivers like DigitalOcean, S3 and Dropbox according to your preference.\",\n      \"created_at\": \"created at\",\n      \"dropbox\": \"dropbox\",\n      \"name\": \"Name\",\n      \"driver\": \"Driver\",\n      \"disk_type\": \"Type\",\n      \"disk_name\": \"Disk Name\",\n      \"new_disk\": \"Add New Disk\",\n      \"filesystem_driver\": \"Filesystem Driver\",\n      \"local_driver\": \"local Driver\",\n      \"local_root\": \"local Root\",\n      \"public_driver\": \"Public Driver\",\n      \"public_root\": \"Public Root\",\n      \"public_url\": \"Public URL\",\n      \"public_visibility\": \"Public Visibility\",\n      \"media_driver\": \"Media Driver\",\n      \"media_root\": \"Media Root\",\n      \"aws_driver\": \"AWS Driver\",\n      \"aws_key\": \"AWS Key\",\n      \"aws_secret\": \"AWS Secret\",\n      \"aws_region\": \"AWS Region\",\n      \"aws_bucket\": \"AWS Bucket\",\n      \"aws_root\": \"AWS Root\",\n      \"do_spaces_type\": \"Do Spaces type\",\n      \"do_spaces_key\": \"Do Spaces key\",\n      \"do_spaces_secret\": \"Do Spaces Secret\",\n      \"do_spaces_region\": \"Do Spaces Region\",\n      \"do_spaces_bucket\": \"Do Spaces Bucket\",\n      \"do_spaces_endpoint\": \"Do Spaces Endpoint\",\n      \"do_spaces_root\": \"Do Spaces Root\",\n      \"dropbox_type\": \"Dropbox Type\",\n      \"dropbox_token\": \"Dropbox Token\",\n      \"dropbox_key\": \"Dropbox Key\",\n      \"dropbox_secret\": \"Dropbox Secret\",\n      \"dropbox_app\": \"Dropbox App\",\n      \"dropbox_root\": \"Dropbox Root\",\n      \"default_driver\": \"Default Driver\",\n      \"is_default\": \"IS DEFAULT\",\n      \"set_default_disk\": \"Set Default Disk\",\n      \"set_default_disk_confirm\": \"This disk will be set as default and all the new PDFs will be saved on this disk\",\n      \"success_set_default_disk\": \"Disk set as default successfully\",\n      \"save_pdf_to_disk\": \"Save PDFs to Disk\",\n      \"disk_setting_description\": \" Enable this, if you wish to save a copy of each Invoice, Estimate & Payment Receipt PDF on your default disk automatically. Turning this option will decrease the load-time when viewing the PDFs.\",\n      \"select_disk\": \"Select Disk\",\n      \"disk_settings\": \"Disk Settings\",\n      \"confirm_delete\": \"Your existing files & folders in the specified disk will not be affected but your disk configuration will be deleted from Crater\",\n      \"action\": \"Action\",\n      \"edit_file_disk\": \"Edit File Disk\",\n      \"success_create\": \"Disk added successfully\",\n      \"success_update\": \"Disk updated successfully\",\n      \"error\": \"Disk addition failed\",\n      \"deleted_message\": \"File Disk deleted successfully\",\n      \"disk_variables_save_successfully\": \"Disk Configured Successfully\",\n      \"disk_variables_save_error\": \"Disk configuration failed.\",\n      \"invalid_disk_credentials\": \"Invalid credential of selected disk\"\n    },\n    \"taxations\": {\n      \"add_billing_address\": \"Enter Billing Address\",\n      \"add_shipping_address\": \"Enter Shipping Address\",\n      \"add_company_address\": \"Enter Company Address\",\n      \"modal_description\": \"The information below is required in order to fetch sales tax.\",\n      \"add_address\": \"Add Address for fetching sales tax.\",\n      \"address_placeholder\": \"Example: 123, My Street\",\n      \"city_placeholder\": \"Example: Los Angeles\",\n      \"state_placeholder\": \"Example: CA\",\n      \"zip_placeholder\": \"Example: 90024\",\n      \"invalid_address\": \"Please provide valid address details.\"\n    }\n  },\n  \"wizard\": {\n    \"account_info\": \"Account Information\",\n    \"account_info_desc\": \"Below details will be used to create the main Administrator account. Also you can change the details anytime after logging in.\",\n    \"name\": \"Name\",\n    \"email\": \"Email\",\n    \"password\": \"Password\",\n    \"confirm_password\": \"Confirm Password\",\n    \"save_cont\": \"Save & Continue\",\n    \"company_info\": \"Company Information\",\n    \"company_info_desc\": \"This information will be displayed on invoices. Note that you can edit this later on settings page.\",\n    \"company_name\": \"Company Name\",\n    \"company_logo\": \"Company Logo\",\n    \"logo_preview\": \"Logo Preview\",\n    \"preferences\": \"Company Preferences\",\n    \"preferences_desc\": \"Specify the default preferences for this company.\",\n    \"currency_set_alert\": \"The company's currency cannot be changed later.\",\n    \"country\": \"Country\",\n    \"state\": \"State\",\n    \"city\": \"City\",\n    \"address\": \"Address\",\n    \"street\": \"Street1 | Street2\",\n    \"phone\": \"Phone\",\n    \"zip_code\": \"Zip Code\",\n    \"go_back\": \"Go Back\",\n    \"currency\": \"Currency\",\n    \"language\": \"Language\",\n    \"time_zone\": \"Time Zone\",\n    \"fiscal_year\": \"Financial Year\",\n    \"date_format\": \"Date Format\",\n    \"from_address\": \"From Address\",\n    \"username\": \"Username\",\n    \"next\": \"Next\",\n    \"continue\": \"Continue\",\n    \"skip\": \"Skip\",\n    \"database\": {\n      \"database\": \"Site URL & Database\",\n      \"connection\": \"Database Connection\",\n      \"host\": \"Database Host\",\n      \"port\": \"Database Port\",\n      \"password\": \"Database Password\",\n      \"app_url\": \"App URL\",\n      \"app_domain\": \"App Domain\",\n      \"username\": \"Database Username\",\n      \"db_name\": \"Database Name\",\n      \"db_path\": \"Database Path\",\n      \"desc\": \"Create a database on your server and set the credentials using the form below.\"\n    },\n    \"permissions\": {\n      \"permissions\": \"Permissions\",\n      \"permission_confirm_title\": \"Are you sure you want to continue?\",\n      \"permission_confirm_desc\": \"Folder permission check failed\",\n      \"permission_desc\": \"Below is the list of folder permissions which are required in order for the app to work. If the permission check fails, make sure to update your folder permissions.\"\n    },\n    \"verify_domain\": {\n      \"title\": \"Domain Verification\",\n      \"desc\": \"Crater uses Session based authentication which requires domain verification for security purposes. Please enter the domain on which you will be accessing your web application.\",\n      \"app_domain\": \"App Domain\",\n      \"verify_now\": \"Verify Now\",\n      \"success\": \"Domain Verify Successfully.\",\n      \"failed\": \"Domain verification failed. Please enter valid domain name.\",\n      \"verify_and_continue\": \"Verify And Continue\"\n    },\n    \"mail\": {\n      \"host\": \"Mail Host\",\n      \"port\": \"Mail Port\",\n      \"driver\": \"Mail Driver\",\n      \"secret\": \"Secret\",\n      \"mailgun_secret\": \"Mailgun Secret\",\n      \"mailgun_domain\": \"Domain\",\n      \"mailgun_endpoint\": \"Mailgun Endpoint\",\n      \"ses_secret\": \"SES Secret\",\n      \"ses_key\": \"SES Key\",\n      \"password\": \"Mail Password\",\n      \"username\": \"Mail Username\",\n      \"mail_config\": \"Mail Configuration\",\n      \"from_name\": \"From Mail Name\",\n      \"from_mail\": \"From Mail Address\",\n      \"encryption\": \"Mail Encryption\",\n      \"mail_config_desc\": \"Below is the form for Configuring Email driver for sending emails from the app. You can also configure third party providers like Sendgrid, SES etc.\"\n    },\n    \"req\": {\n      \"system_req\": \"System Requirements\",\n      \"php_req_version\": \"Php (version {version} required)\",\n      \"check_req\": \"Check Requirements\",\n      \"system_req_desc\": \"Crater has a few server requirements. Make sure that your server has the required php version and all the extensions mentioned below.\"\n    },\n    \"errors\": {\n      \"migrate_failed\": \"Migrate Failed\",\n      \"database_variables_save_error\": \"Cannot write configuration to .env file. Please check its file permissions\",\n      \"mail_variables_save_error\": \"Email configuration failed.\",\n      \"connection_failed\": \"Database connection failed\",\n      \"database_should_be_empty\": \"Database should be empty\"\n    },\n    \"success\": {\n      \"mail_variables_save_successfully\": \"Email configured successfully\",\n      \"database_variables_save_successfully\": \"Database configured successfully.\"\n    }\n  },\n  \"validation\": {\n    \"invalid_phone\": \"Invalid Phone Number\",\n    \"invalid_url\": \"Invalid url (ex: http://www.craterapp.com)\",\n    \"invalid_domain_url\": \"Invalid url (ex: craterapp.com)\",\n    \"required\": \"Field is required\",\n    \"email_incorrect\": \"Incorrect Email.\",\n    \"email_already_taken\": \"The email has already been taken.\",\n    \"email_does_not_exist\": \"User with given email doesn't exist\",\n    \"item_unit_already_taken\": \"This item unit name has already been taken\",\n    \"payment_mode_already_taken\": \"This payment mode name has already been taken\",\n    \"send_reset_link\": \"Send Reset Link\",\n    \"not_yet\": \"Not yet? Send it again\",\n    \"password_min_length\": \"Password must contain {count} characters\",\n    \"name_min_length\": \"Name must have at least {count} letters.\",\n    \"prefix_min_length\": \"Prefix must have at least {count} letters.\",\n    \"enter_valid_tax_rate\": \"Enter valid tax rate\",\n    \"numbers_only\": \"Numbers Only.\",\n    \"characters_only\": \"Characters Only.\",\n    \"password_incorrect\": \"Passwords must be identical\",\n    \"password_length\": \"Password must be {count} character long.\",\n    \"qty_must_greater_than_zero\": \"Quantity must be greater than zero.\",\n    \"price_greater_than_zero\": \"Price must be greater than zero.\",\n    \"payment_greater_than_zero\": \"Payment must be greater than zero.\",\n    \"payment_greater_than_due_amount\": \"Entered Payment is more than due amount of this invoice.\",\n    \"quantity_maxlength\": \"Quantity should not be greater than 20 digits.\",\n    \"price_maxlength\": \"Price should not be greater than 20 digits.\",\n    \"price_minvalue\": \"Price should be greater than 0.\",\n    \"amount_maxlength\": \"Amount should not be greater than 20 digits.\",\n    \"amount_minvalue\": \"Amount should be greater than 0.\",\n    \"discount_maxlength\": \"Discount should not be greater than max discount\",\n    \"description_maxlength\": \"Description should not be greater than 255 characters.\",\n    \"subject_maxlength\": \"Subject should not be greater than 100 characters.\",\n    \"message_maxlength\": \"Message should not be greater than 255 characters.\",\n    \"maximum_options_error\": \"Maximum  of {max} options selected. First remove a selected option to select another.\",\n    \"notes_maxlength\": \"Notes should not be greater than 65,000 characters.\",\n    \"address_maxlength\": \"Address should not be greater than 255 characters.\",\n    \"ref_number_maxlength\": \"Ref Number should not be greater than 255 characters.\",\n    \"prefix_maxlength\": \"Prefix should not be greater than 5 characters.\",\n    \"something_went_wrong\": \"something went wrong\",\n    \"number_length_minvalue\": \"Number length should be greater than 0\",\n    \"at_least_one_ability\": \"Please select atleast one Permission.\",\n    \"valid_driver_key\": \"Please enter a valid {driver} key.\",\n    \"valid_exchange_rate\": \"Please enter a valid exchange rate.\",\n    \"company_name_not_same\": \"Company name must match with given name.\"\n  },\n  \"errors\": {\n    \"starter_plan\": \"This feature is available on Starter plan and onwards!\",\n    \"invalid_provider_key\": \"Please Enter Valid Provider API Key.\",\n    \"estimate_number_used\": \"The estimate number has already been taken.\",\n    \"invoice_number_used\": \"The invoice number has already been taken.\",\n    \"payment_attached\": \"This invoice already has a payment attached to it. Make sure to delete the attached payments first in order to go ahead with the removal.\",\n    \"payment_number_used\": \"The payment number has already been taken.\",\n    \"name_already_taken\": \"The name has already been taken.\",\n    \"receipt_does_not_exist\": \"Receipt does not exist.\",\n    \"customer_cannot_be_changed_after_payment_is_added\": \"Customer cannot be change after payment is added\",\n    \"invalid_credentials\": \"Invalid  Credentials.\",\n    \"not_allowed\": \"Not Allowed\",\n    \"login_invalid_credentials\": \"These credentials do not match our records.\",\n    \"enter_valid_cron_format\": \"Please enter a valid cron format\",\n    \"email_could_not_be_sent\": \"Email could not be sent to this email address.\",\n    \"invalid_address\": \"Please enter a valid address.\",\n    \"invalid_key\": \"Please enter valid key.\",\n    \"invalid_state\": \"Please enter a valid state.\",\n    \"invalid_city\": \"Please enter a valid city.\",\n    \"invalid_postal_code\": \"Please enter a valid zip.\",\n    \"invalid_format\": \"Please enter valid query string format.\",\n    \"api_error\": \"Server not responding.\",\n    \"feature_not_enabled\": \"Feature not enabled.\",\n    \"request_limit_met\": \"Api request limit exceeded.\",\n    \"address_incomplete\": \"Incomplete Address\"\n  },\n  \"pdf_estimate_label\": \"Estimate\",\n  \"pdf_estimate_number\": \"Estimate Number\",\n  \"pdf_estimate_date\": \"Estimate Date\",\n  \"pdf_estimate_expire_date\": \"Expiry date\",\n  \"pdf_invoice_label\": \"Invoice\",\n  \"pdf_invoice_number\": \"Invoice Number\",\n  \"pdf_invoice_date\": \"Invoice Date\",\n  \"pdf_invoice_due_date\": \"Due date\",\n  \"pdf_notes\": \"Notes\",\n  \"pdf_items_label\": \"Items\",\n  \"pdf_quantity_label\": \"Quantity\",\n  \"pdf_price_label\": \"Price\",\n  \"pdf_discount_label\": \"Discount\",\n  \"pdf_amount_label\": \"Amount\",\n  \"pdf_subtotal\": \"Subtotal\",\n  \"pdf_total\": \"Total\",\n  \"pdf_payment_label\": \"Payment\",\n  \"pdf_payment_receipt_label\": \"PAYMENT RECEIPT\",\n  \"pdf_payment_date\": \"Payment Date\",\n  \"pdf_payment_number\": \"Payment Number\",\n  \"pdf_payment_mode\": \"Payment Mode\",\n  \"pdf_payment_amount_received_label\": \"Amount Received\",\n  \"pdf_expense_report_label\": \"EXPENSES REPORT\",\n  \"pdf_total_expenses_label\": \"TOTAL EXPENSE\",\n  \"pdf_profit_loss_label\": \"PROFIT & LOSS REPORT\",\n  \"pdf_sales_customers_label\": \"Sales Customer Report\",\n  \"pdf_sales_items_label\": \"Sales Item Report\",\n  \"pdf_tax_summery_label\": \"Tax Summary Report\",\n  \"pdf_income_label\": \"INCOME\",\n  \"pdf_net_profit_label\": \"NET PROFIT\",\n  \"pdf_customer_sales_report\": \"Sales Report: By Customer\",\n  \"pdf_total_sales_label\": \"TOTAL SALES\",\n  \"pdf_item_sales_label\": \"Sales Report: By Item\",\n  \"pdf_tax_report_label\": \"TAX REPORT\",\n  \"pdf_total_tax_label\": \"TOTAL TAX\",\n  \"pdf_tax_types_label\": \"Tax Types\",\n  \"pdf_expenses_label\": \"Expenses\",\n  \"pdf_bill_to\": \"Bill to,\",\n  \"pdf_ship_to\": \"Ship to,\",\n  \"pdf_received_from\": \"Received from:\",\n  \"pdf_tax_label\": \"Tax\"\n}\n"
  },
  {
    "path": "resources/scripts/locales/fi.json",
    "content": "{\n  \"navigation\": {\n    \"dashboard\": \"Yhteenveto\",\n    \"customers\": \"Asiakkaat\",\n    \"items\": \"Tuotteet\",\n    \"invoices\": \"Laskut\",\n    \"recurring-invoices\": \"Toistuvat laskut\",\n    \"expenses\": \"Kulut\",\n    \"estimates\": \"Tarjoukset\",\n    \"payments\": \"Maksut\",\n    \"reports\": \"Raportit\",\n    \"settings\": \"Asetukset\",\n    \"logout\": \"Kirjaudu ulos\",\n    \"users\": \"Käyttäjät\",\n    \"modules\": \"Moduulit\"\n  },\n  \"general\": {\n    \"add_company\": \"Lisää Yritys\",\n    \"view_pdf\": \"Esikatsele PDF tiedostoa\",\n    \"copy_pdf_url\": \"Kopioi PDF tiedoston linkki\",\n    \"download_pdf\": \"Lataa PDF tiedosto\",\n    \"save\": \"Tallenna\",\n    \"create\": \"Luo\",\n    \"cancel\": \"Peruuta\",\n    \"update\": \"Päivitä\",\n    \"deselect\": \"Poista valinta\",\n    \"download\": \"Lataa\",\n    \"from_date\": \"Päivästä\",\n    \"to_date\": \"Päivään\",\n    \"from\": \"Lähettäjä\",\n    \"to\": \"Vastaanottaja\",\n    \"ok\": \"OK\",\n    \"yes\": \"Kyllä\",\n    \"no\": \"Ei\",\n    \"sort_by\": \"Järjestä\",\n    \"ascending\": \"Nouseva\",\n    \"descending\": \"Laskeva\",\n    \"subject\": \"Aihe\",\n    \"body\": \"Sisältö\",\n    \"message\": \"Viesti\",\n    \"send\": \"Lähetä\",\n    \"preview\": \"Esikatselu\",\n    \"go_back\": \"Palaa takaisin\",\n    \"back_to_login\": \"Takaisin sisäänkirjautumiseen?\",\n    \"home\": \"Koti\",\n    \"filter\": \"Suodatin\",\n    \"delete\": \"Poista\",\n    \"edit\": \"Muokkaa\",\n    \"view\": \"Katsele\",\n    \"add_new_item\": \"Lisää uusi tuote\",\n    \"clear_all\": \"Tyhjennä kaikki\",\n    \"showing\": \"Näytetään\",\n    \"of\": \"/\",\n    \"actions\": \"Toiminnot\",\n    \"subtotal\": \"VÄLISUMMA\",\n    \"discount\": \"ALENNUS\",\n    \"fixed\": \"Kiinteä\",\n    \"percentage\": \"Prosentti\",\n    \"tax\": \"VERO\",\n    \"total_amount\": \"KOKONAIS SUMMA\",\n    \"bill_to\": \"Laskutusosoite\",\n    \"ship_to\": \"Toimitusosoite\",\n    \"due\": \"Erääntyy\",\n    \"draft\": \"Luonnos\",\n    \"sent\": \"Lähetetty\",\n    \"all\": \"Kaikki\",\n    \"select_all\": \"Valitse kaikki\",\n    \"select_template\": \"Valitse Malli\",\n    \"choose_file\": \"Klikkaa tästä valitaksesi tiedoston\",\n    \"choose_template\": \"Valitse pohja\",\n    \"choose\": \"Valitse\",\n    \"remove\": \"Poista\",\n    \"select_a_status\": \"Valitse tila\",\n    \"select_a_tax\": \"Valitse verokanta\",\n    \"search\": \"Etsi\",\n    \"are_you_sure\": \"Oletko varma?\",\n    \"list_is_empty\": \"Lista on tyhjä.\",\n    \"no_tax_found\": \"Verokantoja ei löytynyt!\",\n    \"four_zero_four\": \"404 - Sivua ei löydy\",\n    \"you_got_lost\": \"Oho! Taisit eksyä!\",\n    \"go_home\": \"Palaa kotisivulle\",\n    \"test_mail_conf\": \"Testi sähköposti asetukset\",\n    \"send_mail_successfully\": \"Sähköposti lähetettiin onnistuneesti\",\n    \"setting_updated\": \"Asetukset päivitettiin onnistuneesti\",\n    \"select_state\": \"Valitse osavaltio\",\n    \"select_country\": \"Valitse maa\",\n    \"select_city\": \"Valitse kaupunki\",\n    \"street_1\": \"Osoite 1\",\n    \"street_2\": \"Osoite 2\",\n    \"action_failed\": \"Toiminta epäonnistui\",\n    \"retry\": \"Uudestaan\",\n    \"choose_note\": \"Valitse viesti\",\n    \"no_note_found\": \"Viestejä ei löytynyt\",\n    \"insert_note\": \"Lisää viesti\",\n    \"copied_pdf_url_clipboard\": \"Kopioitu PDF url leikepöydälle!\",\n    \"copied_url_clipboard\": \"URL-osoite kopioitu leikepöydälle!\",\n    \"docs\": \"Asiakirjat\",\n    \"do_you_wish_to_continue\": \"Haluatko jatkaa?\",\n    \"note\": \"Viesti\",\n    \"pay_invoice\": \"Maksa Lasku\",\n    \"login_successfully\": \"Logged in successfully!\",\n    \"logged_out_successfully\": \"Logged out successfully\",\n    \"mark_as_default\": \"Mark as default\"\n  },\n  \"dashboard\": {\n    \"select_year\": \"Valitse vuosi\",\n    \"cards\": {\n      \"due_amount\": \"Avoin summa\",\n      \"customers\": \"Asiakkaat\",\n      \"invoices\": \"Laskut\",\n      \"estimates\": \"Tarjoukset\",\n      \"payments\": \"Payments\"\n    },\n    \"chart_info\": {\n      \"total_sales\": \"Myynti\",\n      \"total_receipts\": \"Suoritukset\",\n      \"total_expense\": \"Kulut\",\n      \"net_income\": \"Netto tulo\",\n      \"year\": \"Valitse vuosi\"\n    },\n    \"monthly_chart\": {\n      \"title\": \"Myynti & Kulut\"\n    },\n    \"recent_invoices_card\": {\n      \"title\": \"Erääntyvät laskut\",\n      \"due_on\": \"Erääntyy\",\n      \"customer\": \"Asiakas\",\n      \"amount_due\": \"Avoin summa\",\n      \"actions\": \"Toiminnot\",\n      \"view_all\": \"Katso kaikki\"\n    },\n    \"recent_estimate_card\": {\n      \"title\": \"Viimeisimmät Tarjoukset\",\n      \"date\": \"Päiväys\",\n      \"customer\": \"Asiakas\",\n      \"amount_due\": \"Avoin summa\",\n      \"actions\": \"Toiminnot\",\n      \"view_all\": \"Katso kaikki\"\n    }\n  },\n  \"tax_types\": {\n    \"name\": \"Nimi\",\n    \"description\": \"Kuvaus\",\n    \"percent\": \"Prosentti\",\n    \"compound_tax\": \"Yhdistetty vero\"\n  },\n  \"global_search\": {\n    \"search\": \"Etsi...\",\n    \"customers\": \"Asiakkaat\",\n    \"users\": \"Henkilöt\",\n    \"no_results_found\": \"Ei löytynyt vastaavuuksia\"\n  },\n  \"company_switcher\": {\n    \"label\": \"SWITCH COMPANY\",\n    \"no_results_found\": \"No Results Found\",\n    \"add_new_company\": \"Add new company\",\n    \"new_company\": \"New company\",\n    \"created_message\": \"Company created successfully\"\n  },\n  \"dateRange\": {\n    \"today\": \"Today\",\n    \"this_week\": \"This Week\",\n    \"this_month\": \"This Month\",\n    \"this_quarter\": \"This Quarter\",\n    \"this_year\": \"This Year\",\n    \"previous_week\": \"Previous Week\",\n    \"previous_month\": \"Previous Month\",\n    \"previous_quarter\": \"Previous Quarter\",\n    \"previous_year\": \"Previous Year\",\n    \"custom\": \"Custom\"\n  },\n  \"customers\": {\n    \"title\": \"Asiakkaat\",\n    \"prefix\": \"Prefix\",\n    \"add_customer\": \"Lisää Asiakas\",\n    \"contacts_list\": \"Asiakasluettelo\",\n    \"name\": \"Nimi\",\n    \"mail\": \"Sähköposti | Sähköpostit\",\n    \"statement\": \"Lausunto\",\n    \"display_name\": \"Näyttönimi\",\n    \"primary_contact_name\": \"Ensisijainen yhteyshenkilö\",\n    \"contact_name\": \"Yhteyshenkilö\",\n    \"amount_due\": \"Avoin saatava\",\n    \"email\": \"Sähköposti\",\n    \"address\": \"Osoite\",\n    \"phone\": \"Puhelin\",\n    \"website\": \"Websivu\",\n    \"overview\": \"Yleiskatsaus\",\n    \"invoice_prefix\": \"Invoice Prefix\",\n    \"estimate_prefix\": \"Estimate Prefix\",\n    \"payment_prefix\": \"Payment Prefix\",\n    \"enable_portal\": \"Ota portaali käyttöön\",\n    \"country\": \"Maa\",\n    \"state\": \"Osavaltio\",\n    \"city\": \"Kaupunki\",\n    \"zip_code\": \"Postinumero\",\n    \"added_on\": \"Lisätty\",\n    \"action\": \"Toiminta\",\n    \"password\": \"Salasana\",\n    \"confirm_password\": \"Confirm Password\",\n    \"street_number\": \"Katunumero\",\n    \"primary_currency\": \"Ensisijainen valuutta\",\n    \"description\": \"Kuvaus\",\n    \"add_new_customer\": \"Lisää uusi Asiakas\",\n    \"save_customer\": \"Tallenna Asiakas\",\n    \"update_customer\": \"Päivitä Asiakas\",\n    \"customer\": \"Asiakas | Asiakkaat\",\n    \"new_customer\": \"Uusi Asiakas\",\n    \"edit_customer\": \"Muokkaa Asiakasta\",\n    \"basic_info\": \"Perustiedot\",\n    \"portal_access\": \"Portal Access\",\n    \"portal_access_text\": \"Would you like to allow this customer to login to the Customer Portal?\",\n    \"portal_access_url\": \"Customer Portal Login URL\",\n    \"portal_access_url_help\": \"Please copy & forward the above given URL to your customer for providing access.\",\n    \"billing_address\": \"Laskutusosoite\",\n    \"shipping_address\": \"Toimitusosoite\",\n    \"copy_billing_address\": \"Kopioi laskutusosoitteesta\",\n    \"no_customers\": \"Ei tallennettuja asiakkaita!\",\n    \"no_customers_found\": \"Asiakkaita ei löytynyt!\",\n    \"no_contact\": \"No contact\",\n    \"no_contact_name\": \"No contact name\",\n    \"list_of_customers\": \"Tämä osio sisältää asiakasluettelon.\",\n    \"primary_display_name\": \"Ensisijainen näyttönimi\",\n    \"select_currency\": \"Valitse valuutta\",\n    \"select_a_customer\": \"Valitse asiakas\",\n    \"type_or_click\": \"Kirjoita tai klikkaa valitaksesi\",\n    \"new_transaction\": \"Uusi transaktio\",\n    \"no_matching_customers\": \"Asiakas vastaavuuksia ei löytynyt!\",\n    \"phone_number\": \"Puhelinnumero\",\n    \"create_date\": \"Luontipäivä\",\n    \"confirm_delete\": \"Et voi palauttaa tätä asiakasta ja liittyviä laskuja, tarjouksia ja maksuja. | Et voi palauttaa näitä asiakkaita ja liittyviä laskuja, tarjouksia ja maksuja.\",\n    \"created_message\": \"Asiakas luotiin onnistuneesti\",\n    \"updated_message\": \"Asiakastiedot päivitettiin onnistuneesti\",\n    \"address_updated_message\": \"Address Information Updated succesfully\",\n    \"deleted_message\": \"Asiakas poistettiin onnistuneesti | Asiakkaat poistettiin onnistuneesti\",\n    \"edit_currency_not_allowed\": \"Cannot change currency once transactions created.\"\n  },\n  \"items\": {\n    \"title\": \"Tuotteet\",\n    \"items_list\": \"Tuoteluettelo\",\n    \"name\": \"Tuotenimi\",\n    \"unit\": \"Yksikkö\",\n    \"description\": \"Kuvaus\",\n    \"added_on\": \"Lisätty\",\n    \"price\": \"Hinta\",\n    \"date_of_creation\": \"Luontipäivä\",\n    \"not_selected\": \"No item selected\",\n    \"action\": \"Toiminta\",\n    \"add_item\": \"Lisää tuote\",\n    \"save_item\": \"Tallenna tuote\",\n    \"update_item\": \"Päivitä tuote\",\n    \"item\": \"Tuote | Tuotteet\",\n    \"add_new_item\": \"Lisää uusi tuote\",\n    \"new_item\": \"Uusi tuote\",\n    \"edit_item\": \"Muokkaa tuotettä\",\n    \"no_items\": \"Ei tallennettuja tuotteita!\",\n    \"list_of_items\": \"Tämä osio sisältää luettelon tuotteista.\",\n    \"select_a_unit\": \"Valitse yksikkö\",\n    \"taxes\": \"Verot\",\n    \"item_attached_message\": \"Tuotettä joka on käytössä ei voi poistaa\",\n    \"confirm_delete\": \"Et voi palauttaa tätä tuotetta | Et voi palauttaa näitä tuotteita\",\n    \"created_message\": \"Tuote luotiin onnistuneesti\",\n    \"updated_message\": \"Tuote päivitettiin onnistuneesti\",\n    \"deleted_message\": \"Tuote poistettiin onnistuneesti | Tuotteet poistettiin onnistuneesti\"\n  },\n  \"estimates\": {\n    \"title\": \"Tarjoukset\",\n    \"accept_estimate\": \"Accept Estimate\",\n    \"reject_estimate\": \"Reject Estimate\",\n    \"estimate\": \"Tarjous | Tarjoukset\",\n    \"estimates_list\": \"Tarjousluettelo\",\n    \"days\": \"{days} Päiviä\",\n    \"months\": \"{months} Kuukausi\",\n    \"years\": \"{years} Vuosi\",\n    \"all\": \"Kaikki\",\n    \"paid\": \"Maksetut\",\n    \"unpaid\": \"Maksamattomat\",\n    \"customer\": \"Asiakas\",\n    \"ref_no\": \"Viitteemme\",\n    \"number\": \"NUMERO\",\n    \"amount_due\": \"AVOIN SAATAVA\",\n    \"partially_paid\": \"Osittain maksettu\",\n    \"total\": \"Yhteensä\",\n    \"discount\": \"Alennus\",\n    \"sub_total\": \"Välisumma\",\n    \"estimate_number\": \"Tarjous numero\",\n    \"ref_number\": \"Asiakkaan viite\",\n    \"contact\": \"Yhteyshenkilö\",\n    \"add_item\": \"Lisää tuote\",\n    \"date\": \"Päiväys\",\n    \"due_date\": \"Eräpäivä\",\n    \"expiry_date\": \"Voimassaolo päivä\",\n    \"status\": \"Tila\",\n    \"add_tax\": \"Lisää Verokanta\",\n    \"amount\": \"Summa\",\n    \"action\": \"Toiminta\",\n    \"notes\": \"Viesti\",\n    \"tax\": \"ALV\",\n    \"estimate_template\": \"Malli\",\n    \"convert_to_invoice\": \"Konvertoi laskuksi\",\n    \"mark_as_sent\": \"Merkitse lähetetyksi\",\n    \"send_estimate\": \"Lähetä tarjous\",\n    \"resend_estimate\": \"Uudelleenlähetä tarjous\",\n    \"record_payment\": \"Kirjaa maksu\",\n    \"add_estimate\": \"Lisää Tarjous\",\n    \"save_estimate\": \"Tallenna Tarjous\",\n    \"confirm_conversion\": \"Tätä tarjousta käytetään laskun luomiseksi.\",\n    \"conversion_message\": \"Lasku luotiin onnistuneesti\",\n    \"confirm_send_estimate\": \"Tämä tarjous lähetetään sähköpostitse asiakkaalle\",\n    \"confirm_mark_as_sent\": \"Tämä tarjous merkitään lähetetyksi\",\n    \"confirm_mark_as_accepted\": \"Tämä tarjous merkitään hyväksytyksi\",\n    \"confirm_mark_as_rejected\": \"Tämä tarjous merkitään hylätyksi\",\n    \"no_matching_estimates\": \"Vastaavia tarjouksia ei löytynyt!\",\n    \"mark_as_sent_successfully\": \"Tarjous merkittiin onnistuneesti lähetetyksi\",\n    \"send_estimate_successfully\": \"Tarjous lähetettiin onnistuneesti\",\n    \"errors\": {\n      \"required\": \"Kenttä on pakollinen\"\n    },\n    \"accepted\": \"Hyväksytty\",\n    \"rejected\": \"Rejected\",\n    \"expired\": \"Expired\",\n    \"sent\": \"Lähetetty\",\n    \"draft\": \"Luonnos\",\n    \"viewed\": \"Viewed\",\n    \"declined\": \"Hylätty\",\n    \"new_estimate\": \"Uusi Tarjous\",\n    \"add_new_estimate\": \"Lisää uusi tarjous\",\n    \"update_Estimate\": \"Päivitä tarjous\",\n    \"edit_estimate\": \"Muokkaa tarjousta\",\n    \"items\": \"Tuotteet\",\n    \"Estimate\": \"Tarjous | Tarjoukset\",\n    \"add_new_tax\": \"Lisää uusi verokanta\",\n    \"no_estimates\": \"Ei tallennettuja tarjouksia!\",\n    \"list_of_estimates\": \"Tämä osio sisältää luettelon tarjouksista.\",\n    \"mark_as_rejected\": \"Merkitse hylätyksi\",\n    \"mark_as_accepted\": \"Merkitse hyväksytyksi\",\n    \"marked_as_accepted_message\": \"Tarjous merkittiin hyväksytyksi\",\n    \"marked_as_rejected_message\": \"Tarjous merkittiin hylätyksi\",\n    \"confirm_delete\": \"Et voi palauttaa tätä tarjousta | Et voi palauttaa näitä tarjouksia\",\n    \"created_message\": \"Tarjous luotiin onnistuneesti\",\n    \"updated_message\": \"Tarjous päivitettiin onnistuneesti\",\n    \"deleted_message\": \"Tarjous poistettiin onnistuneesti | Tarjoukset poistettiin onnistuneesti\",\n    \"something_went_wrong\": \"jotain meni vikaan\",\n    \"item\": {\n      \"title\": \"Nikkeen otsikko\",\n      \"description\": \"Kuvaus\",\n      \"quantity\": \"Määrä\",\n      \"price\": \"Hinta\",\n      \"discount\": \"Alennus\",\n      \"total\": \"Yhteensä\",\n      \"total_discount\": \"Kokonaisalennus\",\n      \"sub_total\": \"Välisumma\",\n      \"tax\": \"ALV\",\n      \"amount\": \"Yhteensä veroton\",\n      \"select_an_item\": \"Kirjoita tai klikkaa valitaksesi tuotteen\",\n      \"type_item_description\": \"Kirjoita tuotteen kuvaus (valinnainen)\"\n    },\n    \"mark_as_default_estimate_template_description\": \"If enabled, the selected template will be automatically selected for new estimates.\"\n  },\n  \"invoices\": {\n    \"title\": \"Laskut\",\n    \"download\": \"Download\",\n    \"pay_invoice\": \"Pay Invoice\",\n    \"invoices_list\": \"Laskuluettelo\",\n    \"invoice_information\": \"Invoice Information\",\n    \"days\": \"{days} Päivä\",\n    \"months\": \"{months} Kuukausi\",\n    \"years\": \"{years} Vuosi\",\n    \"all\": \"Kaikki\",\n    \"paid\": \"Maksetut\",\n    \"unpaid\": \"Maksamattomat\",\n    \"viewed\": \"Viewed\",\n    \"overdue\": \"Overdue\",\n    \"completed\": \"Completed\",\n    \"customer\": \"Asiakas\",\n    \"paid_status\": \"MAKSUN TILA\",\n    \"ref_no\": \"Viitteemme\",\n    \"number\": \"NUMERO\",\n    \"amount_due\": \"AVOIN SUMMA\",\n    \"partially_paid\": \"Osittain maksettu\",\n    \"total\": \"Yhteensä\",\n    \"discount\": \"Alennus\",\n    \"sub_total\": \"Välisumma\",\n    \"invoice\": \"Lasku | Laskut\",\n    \"invoice_number\": \"Laskunumero\",\n    \"ref_number\": \"Asiakkaan viite\",\n    \"contact\": \"Yhteyshenkilö\",\n    \"add_item\": \"Lisää tuote\",\n    \"date\": \"Päiväys\",\n    \"due_date\": \"Eräpäivä\",\n    \"status\": \"Tila\",\n    \"add_tax\": \"Lisää verokanta\",\n    \"amount\": \"Yhteensä veroton\",\n    \"action\": \"Toiminta\",\n    \"notes\": \"Viesti\",\n    \"view\": \"Esikatsele\",\n    \"send_invoice\": \"Lähetä lasku\",\n    \"resend_invoice\": \"Uudelleen lähetä lasku\",\n    \"invoice_template\": \"Laskumalli\",\n    \"conversion_message\": \"Invoice cloned successful\",\n    \"template\": \"Malli\",\n    \"mark_as_sent\": \"Merkitse lähetetyksi\",\n    \"confirm_send_invoice\": \"Tämä lasku lähetetään sähköpostitse asiakkaalle\",\n    \"invoice_mark_as_sent\": \"Tämä lasku merkitään lähetetyksi\",\n    \"confirm_mark_as_accepted\": \"This invoice will be marked as Accepted\",\n    \"confirm_mark_as_rejected\": \"This invoice will be marked as Rejected\",\n    \"confirm_send\": \"Tämä lasku lähetetään sähköpostitse asiakkaalle\",\n    \"invoice_date\": \"Laskun päivämäärä\",\n    \"record_payment\": \"Kirjaa maksu\",\n    \"add_new_invoice\": \"Lisää uusi lasku\",\n    \"update_expense\": \"Päivitä kulut\",\n    \"edit_invoice\": \"Muokkaa laskua\",\n    \"new_invoice\": \"Uusi lasku\",\n    \"save_invoice\": \"Tallenna lasku\",\n    \"update_invoice\": \"Päivitä lasku\",\n    \"add_new_tax\": \"Lisää uusi verokanta\",\n    \"no_invoices\": \"Ei tallennettuja laskuja!\",\n    \"mark_as_rejected\": \"Mark as rejected\",\n    \"mark_as_accepted\": \"Mark as accepted\",\n    \"list_of_invoices\": \"Tämä osio sisältää luottelon laskuista.\",\n    \"select_invoice\": \"Valitse lasku\",\n    \"no_matching_invoices\": \"Vastaavia laskuja ei ole!\",\n    \"mark_as_sent_successfully\": \"Lasku merkitty lähetetyksi onnistuneesti\",\n    \"invoice_sent_successfully\": \"Lasku lähetettiin onnistuneesti\",\n    \"cloned_successfully\": \"Lasku kopioitu onnistuneesti\",\n    \"clone_invoice\": \"Kopioi lasku\",\n    \"confirm_clone\": \"Tämä lasku kopioidaan uudeksi laskuksi\",\n    \"item\": {\n      \"title\": \"Nimikkeen Otsikko\",\n      \"description\": \"Kuvaus\",\n      \"quantity\": \"Määrä\",\n      \"price\": \"Hinta\",\n      \"discount\": \"Alennus\",\n      \"total\": \"Yhteensä\",\n      \"total_discount\": \"Alennus yhteensä\",\n      \"sub_total\": \"Välisumma\",\n      \"tax\": \"ALV\",\n      \"amount\": \"Yhteensä veroton\",\n      \"select_an_item\": \"Kirjoita tai klikkaa valitaksesi tuotteen\",\n      \"type_item_description\": \"Kirjoita tuotteen lisäkuvaus (valinnainen)\"\n    },\n    \"payment_attached_message\": \"Yksi valituista laskuista on linkitetty maksusuoritukseen. Varmista, että poistat maksusuorituksen ensin, tämän jälkeen voit poistaa varsinaisen laskun\",\n    \"confirm_delete\": \"Et voi palauttaa tätä laskua | Et voi palauttaa näitä laskuja\",\n    \"created_message\": \"Lasku luotiin onnistuneesti\",\n    \"updated_message\": \"Lasku päivitettiin onnistuneesti\",\n    \"deleted_message\": \"Lasku poistettiin onnistuneesti | Laskut poistettiin onnistuneesti\",\n    \"marked_as_sent_message\": \"Lasku merkittiin lähetetyksi onnistuneesti\",\n    \"something_went_wrong\": \"jotain meni vikaan\",\n    \"invalid_due_amount_message\": \"Laskun summa ei voi olla pienempi kuin maksettu summa laskusta. Päivitä lasku tai poista linkitetty maksusuoritus jatkaaksesi.\",\n    \"mark_as_default_invoice_template_description\": \"Jos käytössä, valittu malli valitaan automaattisesti uusille laskuille.\"\n  },\n  \"recurring_invoices\": {\n    \"title\": \"Toistuvat laskut\",\n    \"invoices_list\": \"Toistuvien laskujen luettelo\",\n    \"days\": \"{days} Päivät\",\n    \"months\": \"{months} Kuukaudet\",\n    \"years\": \"{years} Vuodet\",\n    \"all\": \"Kaikki\",\n    \"paid\": \"Maksettu\",\n    \"unpaid\": \"Maksamattomat\",\n    \"viewed\": \"Katsottu\",\n    \"overdue\": \"Erääntyneet\",\n    \"active\": \"Aktiivinen\",\n    \"completed\": \"Valmis\",\n    \"customer\": \"Asiakas\",\n    \"paid_status\": \"MAKSUN TILA\",\n    \"ref_no\": \"Viitteemme\",\n    \"number\": \"NUMERO\",\n    \"amount_due\": \"AVOIN SAATAVA\",\n    \"partially_paid\": \"Osittain maksettu\",\n    \"total\": \"Yhteensä\",\n    \"discount\": \"Alennus\",\n    \"sub_total\": \"Välisumma\",\n    \"invoice\": \"Toistuva Lasku - Toistuvat Laskut\",\n    \"invoice_number\": \"Toistuva Laskun Numero\",\n    \"next_invoice_date\": \"Seuraava Laskun Päivämäärä\",\n    \"ref_number\": \"Asiakkaan viite\",\n    \"contact\": \"Yhteyshenkilö\",\n    \"add_item\": \"Lisää tuote\",\n    \"date\": \"Päiväys\",\n    \"limit_by\": \"Rajoita\",\n    \"limit_date\": \"Rajoita Päivämäärä\",\n    \"limit_count\": \"Rajoita määrää\",\n    \"count\": \"Määrä\",\n    \"status\": \"Tila\",\n    \"select_a_status\": \"Valitse tila\",\n    \"working\": \"Käynnissä\",\n    \"on_hold\": \"Pidossa\",\n    \"complete\": \"Valmis\",\n    \"add_tax\": \"Lisää Verokanta\",\n    \"amount\": \"Määrä\",\n    \"action\": \"Toiminta\",\n    \"notes\": \"Viesti\",\n    \"view\": \"Katsele\",\n    \"basic_info\": \"Perustiedot\",\n    \"send_invoice\": \"Lähetä Toistuva Lasku\",\n    \"auto_send\": \"Automaattinen Lähetys\",\n    \"resend_invoice\": \"Lähetä Uudelleen Toistuva Lasku\",\n    \"invoice_template\": \"Toistuva Laskun Malli\",\n    \"conversion_message\": \"Toistuva lasku kopioitu onnistuneesti\",\n    \"template\": \"Template\",\n    \"mark_as_sent\": \"Mark as sent\",\n    \"confirm_send_invoice\": \"This recurring invoice will be sent via email to the customer\",\n    \"invoice_mark_as_sent\": \"This recurring invoice will be marked as sent\",\n    \"confirm_send\": \"This recurring invoice will be sent via email to the customer\",\n    \"starts_at\": \"Start Date\",\n    \"due_date\": \"Invoice Due Date\",\n    \"record_payment\": \"Record Payment\",\n    \"add_new_invoice\": \"Add New Recurring Invoice\",\n    \"update_expense\": \"Update Expense\",\n    \"edit_invoice\": \"Edit Recurring Invoice\",\n    \"new_invoice\": \"New Recurring Invoice\",\n    \"send_automatically\": \"Send Automatically\",\n    \"send_automatically_desc\": \"Enable this, if you would like to send the invoice automatically to the customer when its created.\",\n    \"save_invoice\": \"Save Recurring Invoice\",\n    \"update_invoice\": \"Update Recurring Invoice\",\n    \"add_new_tax\": \"Add New Tax\",\n    \"no_invoices\": \"No Recurring Invoices yet!\",\n    \"mark_as_rejected\": \"Mark as rejected\",\n    \"mark_as_accepted\": \"Mark as accepted\",\n    \"list_of_invoices\": \"This section will contain the list of recurring invoices.\",\n    \"select_invoice\": \"Select Invoice\",\n    \"no_matching_invoices\": \"There are no matching recurring invoices!\",\n    \"mark_as_sent_successfully\": \"Recurring Invoice marked as sent successfully\",\n    \"invoice_sent_successfully\": \"Recurring Invoice sent successfully\",\n    \"cloned_successfully\": \"Recurring Invoice cloned successfully\",\n    \"clone_invoice\": \"Clone Recurring Invoice\",\n    \"confirm_clone\": \"This recurring invoice will be cloned into a new Recurring Invoice\",\n    \"add_customer_email\": \"Ole hyvä ja lisää sähköpostiosoite tälle asiakkaalle voidaksesi lähettää laskut automaattisesti.\",\n    \"item\": {\n      \"title\": \"Item Title\",\n      \"description\": \"Description\",\n      \"quantity\": \"Quantity\",\n      \"price\": \"Price\",\n      \"discount\": \"Discount\",\n      \"total\": \"Total\",\n      \"total_discount\": \"Total Discount\",\n      \"sub_total\": \"Sub Total\",\n      \"tax\": \"Tax\",\n      \"amount\": \"Amount\",\n      \"select_an_item\": \"Type or click to select an item\",\n      \"type_item_description\": \"Type Item Description (optional)\"\n    },\n    \"frequency\": {\n      \"title\": \"Frequency\",\n      \"select_frequency\": \"Select Frequency\",\n      \"minute\": \"Minute\",\n      \"hour\": \"Hour\",\n      \"day_month\": \"Day of month\",\n      \"month\": \"Month\",\n      \"day_week\": \"Day of week\"\n    },\n    \"confirm_delete\": \"You will not be able to recover this Invoice | You will not be able to recover these Invoices\",\n    \"created_message\": \"Recurring Invoice created successfully\",\n    \"updated_message\": \"Recurring Invoice updated successfully\",\n    \"deleted_message\": \"Toistuva lasku poistettiin onnistuneesti. Toistuvien laskujen poistaminen onnistui\",\n    \"marked_as_sent_message\": \"Toistuva lasku merkitty lähetetyksi onnistuneesti\",\n    \"user_email_does_not_exist\": \"Käyttäjän sähköposti ei ole määritetty\",\n    \"something_went_wrong\": \"jotain meni vikaan\",\n    \"invalid_due_amount_message\": \"Toistuvan laskun kokonaissumma ei voi olla pienempi kuin tälle toistuvalle laskulle maksettu summa. Päivitä lasku tai poista niihin liittyvät maksut jatkaaksesi.\"\n  },\n  \"payments\": {\n    \"title\": \"Maksut\",\n    \"payments_list\": \"Maksuluettelo\",\n    \"record_payment\": \"Kirjaa maksu\",\n    \"customer\": \"Asiakas\",\n    \"date\": \"Päivämäärä\",\n    \"amount\": \"Summa\",\n    \"action\": \"Toiminta\",\n    \"payment_number\": \"Maksunumero\",\n    \"payment_mode\": \"Maksutapa\",\n    \"invoice\": \"Lasku\",\n    \"note\": \"Viesti\",\n    \"add_payment\": \"Lisää maksu\",\n    \"new_payment\": \"Uusi maksu\",\n    \"edit_payment\": \"Muokkaa maksua\",\n    \"view_payment\": \"Katso maksua\",\n    \"add_new_payment\": \"Lisää uusi maksu\",\n    \"send_payment_receipt\": \"Lähetä maksukuitti\",\n    \"send_payment\": \"Lähetä maksukuitti\",\n    \"save_payment\": \"Tallenna maksu\",\n    \"update_payment\": \"Päivitä maksu\",\n    \"payment\": \"Maksu | Maksut\",\n    \"no_payments\": \"Ei tallennettuja maksuja!\",\n    \"not_selected\": \"Ei valittu\",\n    \"no_invoice\": \"Ei laskua\",\n    \"no_matching_payments\": \"Vastaavia maksuja ei ole!\",\n    \"list_of_payments\": \"Tämä osio sisältää luettelon maksuista.\",\n    \"select_payment_mode\": \"Valitse maksutapa\",\n    \"confirm_mark_as_sent\": \"Tämä tarjous merkitään lähetetyksi\",\n    \"confirm_send_payment\": \"Tämä maksu lähetetään sähköpostilla asiakkaalle\",\n    \"send_payment_successfully\": \"Maksu lähetettiin onnistuneesti\",\n    \"something_went_wrong\": \"jotain meni vikaan\",\n    \"confirm_delete\": \"Et voi palauttaa tätä maksua | Et voi palauttaa näitä maksuja\",\n    \"created_message\": \"Maksu luotiin onnistuneesti\",\n    \"updated_message\": \"Maksu päivitettiin onnistuneesti\",\n    \"deleted_message\": \"Maksu poistettiin onnistuneesti | Maksut poistettiin onnistuneesti\",\n    \"invalid_amount_message\": \"Maksun summa ei ole oikein\"\n  },\n  \"expenses\": {\n    \"title\": \"Kulut\",\n    \"expenses_list\": \"Kululuettelo\",\n    \"select_a_customer\": \"Valitse asiakas\",\n    \"expense_title\": \"Otsikko\",\n    \"customer\": \"Asiakas\",\n    \"currency\": \"Valuutta\",\n    \"contact\": \"Yhteyshenkilö\",\n    \"category\": \"Luokka\",\n    \"from_date\": \"Päivästä\",\n    \"to_date\": \"Päivään\",\n    \"expense_date\": \"Päivämäärä\",\n    \"description\": \"Kuvaus\",\n    \"receipt\": \"Kuitti\",\n    \"amount\": \"Summa\",\n    \"action\": \"Toiminta\",\n    \"not_selected\": \"Ei valittu\",\n    \"note\": \"viesti\",\n    \"category_id\": \"Luokan tunnus\",\n    \"date\": \"Päivämäärä\",\n    \"add_expense\": \"Lisää kulu\",\n    \"add_new_expense\": \"Lisää uusi kulu\",\n    \"save_expense\": \"Tallenna kulu\",\n    \"update_expense\": \"Päivitä kulu\",\n    \"download_receipt\": \"Lataa kuitti\",\n    \"edit_expense\": \"Muokkaa kulua\",\n    \"new_expense\": \"Uusi kulu\",\n    \"expense\": \"Kulu | Kulut\",\n    \"no_expenses\": \"Ei tallennettuja kuluja!\",\n    \"list_of_expenses\": \"Tämä osio sisältää listan kuluista.\",\n    \"confirm_delete\": \"Et voi palauttaa tätä kulua | Et voi palauttaa näitä kuluja\",\n    \"created_message\": \"Kulu luotiin onnistuneesti\",\n    \"updated_message\": \"Kulu päivitettiin onnistuneesti\",\n    \"deleted_message\": \"Kulu poistettiin onistuneesti | Kulut poistettiin onnistuneesti\",\n    \"categories\": {\n      \"categories_list\": \"Luokatluettelo\",\n      \"title\": \"Otsikko\",\n      \"name\": \"Nimi\",\n      \"description\": \"Kuvaus\",\n      \"amount\": \"Summa\",\n      \"actions\": \"Toiminnot\",\n      \"add_category\": \"Lisää luokka\",\n      \"new_category\": \"Uusi luokka\",\n      \"category\": \"Luokka | Luokat\",\n      \"select_a_category\": \"Valitse luokka\"\n    }\n  },\n  \"login\": {\n    \"email\": \"Sähköposti\",\n    \"password\": \"Salasana\",\n    \"forgot_password\": \"Unohditko salasanan?\",\n    \"or_signIn_with\": \"Tai kirjaudu sisään\",\n    \"login\": \"Kirjaudu\",\n    \"register\": \"Rekisteröidy\",\n    \"reset_password\": \"Resetoi salasana\",\n    \"password_reset_successfully\": \"Salasana resetoitiin onnistuneesti\",\n    \"enter_email\": \"Syötä sähköposti\",\n    \"enter_password\": \"Syötä salasana\",\n    \"retype_password\": \"Kirjoita salasana uudelleen\"\n  },\n  \"modules\": {\n    \"buy_now\": \"Osta Nyt\",\n    \"install\": \"Asenna\",\n    \"price\": \"Hinta\",\n    \"download_zip_file\": \"Lataa ZIP tiedosto\",\n    \"unzipping_package\": \"Puretaan pakettia\",\n    \"copying_files\": \"Kopioidaan tiedostoja\",\n    \"deleting_files\": \"Käyttämättömiä tiedostoja poistetaan\",\n    \"completing_installation\": \"Viimeistellään Asennusta\",\n    \"update_failed\": \"Päivitys epäonnistui\",\n    \"install_success\": \"Moduuli on asennettu onnistuneesti!\",\n    \"customer_reviews\": \"Arvostelut\",\n    \"license\": \"Lisenssi\",\n    \"faq\": \"UKK\",\n    \"monthly\": \"Kuukausittain\",\n    \"yearly\": \"Vuosittain\",\n    \"updated\": \"Päivitetty\",\n    \"version\": \"Versio\",\n    \"disable\": \"Poista käytöstä\",\n    \"module_disabled\": \"Moduuli poistettu käytöstä\",\n    \"enable\": \"Ota käyttöön\",\n    \"module_enabled\": \"Moduuli on käytössä\",\n    \"update_to\": \"Päivitä ohjelma\",\n    \"module_updated\": \"Moduulin päivitys onnistui!\",\n    \"title\": \"Moduulit\",\n    \"module\": \"Moduuli · Moduulit\",\n    \"api_token\": \"API tunnus\",\n    \"invalid_api_token\": \"Virheellinen API-tunnus.\",\n    \"other_modules\": \"Muut Moduulit\",\n    \"view_all\": \"Näytä kaikki\",\n    \"no_reviews_found\": \"Tällä modulilla ei ole vielä arvosteluita!\",\n    \"module_not_purchased\": \"Moduulia ei ostettu\",\n    \"module_not_found\": \"Moduulia ei löydy\",\n    \"version_not_supported\": \"This module version doesn't support the current version of Crater\",\n    \"last_updated\": \"Viimeksi päivitetty\",\n    \"connect_installation\": \"Yhdistä asennuksesi\",\n    \"api_token_description\": \"Kirjaudu sisään {url} ja yhdistä tämä asennus syöttämällä API tunnus. Ostetut moduulit näkyvät täällä kun yhteys on luotu.\",\n    \"view_module\": \"Näytä Moduuli\",\n    \"update_available\": \"Päivitys saatavilla\",\n    \"purchased\": \"Ostetut\",\n    \"installed\": \"Asennetut\",\n    \"no_modules_installed\": \"Ei Asennettuja Moduuleja!\",\n    \"disable_warning\": \"Kaikki tämän nimenomaisen asetuksen tiedot peruutetaan.\",\n    \"what_you_get\": \"What you get\"\n  },\n  \"users\": {\n    \"title\": \"Käyttäjät\",\n    \"users_list\": \"Käyttäjäluettelo\",\n    \"name\": \"Nimi\",\n    \"description\": \"Kuvaus\",\n    \"added_on\": \"Lisätty\",\n    \"date_of_creation\": \"Luontipäivä\",\n    \"action\": \"Toiminta\",\n    \"add_user\": \"Lisää käyttäjä\",\n    \"save_user\": \"Tallenna käyttäjä\",\n    \"update_user\": \"Päivitä käyttäjä\",\n    \"user\": \"Käyttäjä | Käyttäjät\",\n    \"add_new_user\": \"Lisää uusi käyttäjä\",\n    \"new_user\": \"Uusi käyttäjä\",\n    \"edit_user\": \"Muokkaa käyttäjää\",\n    \"no_users\": \"Ei tallennettuja käyttäjiä!\",\n    \"list_of_users\": \"Tämä osio sisältää listan käyttäjistä.\",\n    \"email\": \"Sähköposti\",\n    \"phone\": \"Puhelin\",\n    \"password\": \"Salasana\",\n    \"user_attached_message\": \"Käytössä olevaa käyttäjää ei voi poistaa\",\n    \"confirm_delete\": \"Et voi palauttaa tätä käyttäjää | Et voi palauttaa näitä käyttäjiä\",\n    \"created_message\": \"Käyttäjä luotiin onnistuneesti\",\n    \"updated_message\": \"Käyttäjä päivitettiin onnistuneesti\",\n    \"deleted_message\": \"Käyttäjä poistettiin onnistuneesti | Käyttäjä poistettiin onnistuneesti\",\n    \"select_company_role\": \"Select Role for {company}\",\n    \"companies\": \"Companies\"\n  },\n  \"reports\": {\n    \"title\": \"Raportti\",\n    \"from_date\": \"Päivästä\",\n    \"to_date\": \"Päivään\",\n    \"status\": \"Tila\",\n    \"paid\": \"Maksettu\",\n    \"unpaid\": \"Maksamattomat\",\n    \"download_pdf\": \"Lataa PDF\",\n    \"view_pdf\": \"Katso PDF\",\n    \"update_report\": \"Päivitä Raportti\",\n    \"report\": \"Raportti | Raportit\",\n    \"profit_loss\": {\n      \"profit_loss\": \"Tuloslaskelma\",\n      \"to_date\": \"Päivään\",\n      \"from_date\": \"Päivästä\",\n      \"date_range\": \"Valitse päivämäärä alue\"\n    },\n    \"sales\": {\n      \"sales\": \"Myynti\",\n      \"date_range\": \"Valitse päivämäärä alue\",\n      \"to_date\": \"Päivään\",\n      \"from_date\": \"Päivästä\",\n      \"report_type\": \"Raporttityyppi\"\n    },\n    \"taxes\": {\n      \"taxes\": \"Verot\",\n      \"to_date\": \"Päivään\",\n      \"from_date\": \"Päivästä\",\n      \"date_range\": \"Valitse päivämäärä alue\"\n    },\n    \"errors\": {\n      \"required\": \"Kenttä on pakollinen\"\n    },\n    \"invoices\": {\n      \"invoice\": \"Lasku\",\n      \"invoice_date\": \"Laskun päivämäärä\",\n      \"due_date\": \"Eräpäivä\",\n      \"amount\": \"Summa\",\n      \"contact_name\": \"Yhteyshenkilö\",\n      \"status\": \"Tila\"\n    },\n    \"estimates\": {\n      \"estimate\": \"Tarjous\",\n      \"estimate_date\": \"Tarjouksen päivämäärä\",\n      \"due_date\": \"Eräpäivä\",\n      \"estimate_number\": \"Tarjousnumero\",\n      \"ref_number\": \"Asiakkaan viite\",\n      \"amount\": \"Summa\",\n      \"contact_name\": \"Yhteyshenkilö\",\n      \"status\": \"Tila\"\n    },\n    \"expenses\": {\n      \"expenses\": \"Kulut\",\n      \"category\": \"Luokka\",\n      \"date\": \"Päiväys\",\n      \"amount\": \"Summa\",\n      \"to_date\": \"Päivään\",\n      \"from_date\": \"Päivästä\",\n      \"date_range\": \"Valitse päivämäärä alue\"\n    }\n  },\n  \"settings\": {\n    \"menu_title\": {\n      \"account_settings\": \"Tiliasetukset\",\n      \"company_information\": \"Yritystiedot\",\n      \"customization\": \"Räätälöinti\",\n      \"preferences\": \"Suositukset\",\n      \"notifications\": \"Ilmoitukset\",\n      \"tax_types\": \"Verokannat\",\n      \"expense_category\": \"Kululuokat\",\n      \"update_app\": \"Päivitä ohjelma\",\n      \"backup\": \"Varmuuskopio\",\n      \"file_disk\": \"Levytiedosto\",\n      \"custom_fields\": \"Räätälöidyt kentät\",\n      \"payment_modes\": \"Maksutavat\",\n      \"notes\": \"Viestit\",\n      \"exchange_rate\": \"Exchange Rate\",\n      \"address_information\": \"Address Information\"\n    },\n    \"address_information\": {\n      \"section_description\": \"  You can update Your Address information using form below.\"\n    },\n    \"title\": \"Asetukset\",\n    \"setting\": \"Asetus | Asetukset\",\n    \"general\": \"Yleiset\",\n    \"language\": \"Kieli\",\n    \"primary_currency\": \"Ensisijainen valuutta\",\n    \"timezone\": \"Aikavyöhyke\",\n    \"date_format\": \"Päivämäärä muoto\",\n    \"currencies\": {\n      \"title\": \"Valuutat\",\n      \"currency\": \"Valuutta | Valuutat\",\n      \"currencies_list\": \"Valuuttaluettelo\",\n      \"select_currency\": \"Valitse valuutta\",\n      \"name\": \"Nimi\",\n      \"code\": \"Koodi\",\n      \"symbol\": \"Symboli\",\n      \"precision\": \"Tarkkuus\",\n      \"thousand_separator\": \"Tuhaterotin\",\n      \"decimal_separator\": \"Desimaalierotin\",\n      \"position\": \"Paikka\",\n      \"position_of_symbol\": \"Symbolin paikka\",\n      \"right\": \"Oikealla\",\n      \"left\": \"Vasemmalla\",\n      \"action\": \"Toiminta\",\n      \"add_currency\": \"Lisää valuutta\"\n    },\n    \"mail\": {\n      \"host\": \"Sähköpostipalvelimen Host nimi\",\n      \"port\": \"Sähköpostipalvelimen portti\",\n      \"driver\": \"Sähköpostiajuri\",\n      \"secret\": \"Salaus\",\n      \"mailgun_secret\": \"Mailgun salaus\",\n      \"mailgun_domain\": \"Verkkotunnus\",\n      \"mailgun_endpoint\": \"Mailgun päätepiste\",\n      \"ses_secret\": \"SES salaus\",\n      \"ses_key\": \"SES avain\",\n      \"password\": \"Sähköpostin salasana\",\n      \"username\": \"Sähköpostin käyttäjänimi\",\n      \"mail_config\": \"Sähköposti asetukset\",\n      \"from_name\": \"Lähettäjän sähköposti nimi\",\n      \"from_mail\": \"Lähettäjän sähköpostiosoite\",\n      \"encryption\": \"Sähköposti salaus\",\n      \"mail_config_desc\": \"Alla olevalla lomakkeella luodaan sähköpostiasetukset sähköpostien lähettämistä varten. Voit myös asettaa kolmansien osapuolien palvelut käyttöön, kuten Sendgrid, SES jne.\"\n    },\n    \"pdf\": {\n      \"title\": \"PDF Asetukset\",\n      \"footer_text\": \"Alaotsikko teksti\",\n      \"pdf_layout\": \"PDF asettelu\"\n    },\n    \"company_info\": {\n      \"company_info\": \"Yritystiedot\",\n      \"company_name\": \"Yrityksen nimi\",\n      \"company_logo\": \"Yrityksen logo\",\n      \"section_description\": \"Yrityksesi tiedot jotka näytetään laskulla, tarjouksella ja muilla dokumenteilla luotuna Crater:in toimesta.\",\n      \"phone\": \"Puhelin\",\n      \"country\": \"Maa\",\n      \"state\": \"Osavaltio\",\n      \"city\": \"Kaupunki\",\n      \"address\": \"Osoite\",\n      \"zip\": \"Postinumero\",\n      \"save\": \"Tallenna\",\n      \"delete\": \"Delete\",\n      \"updated_message\": \"Yrityksen tiedot päivitettiin onnistuneesti\",\n      \"delete_company\": \"Delete Company\",\n      \"delete_company_description\": \"Once you delete your company, you will lose all the data and files associated with it permanently.\",\n      \"are_you_absolutely_sure\": \"Are you absolutely sure?\",\n      \"delete_company_modal_desc\": \"This action cannot be undone. This will permanently delete {company} and all of its associated data.\",\n      \"delete_company_modal_label\": \"Please type {company} to confirm\"\n    },\n    \"custom_fields\": {\n      \"title\": \"Räätälöidyt kentät\",\n      \"section_description\": \"Räätälöi laskut, tarjoukset ja maksukuitit omilla kentillä. Varmista, että käytät allaolevia kenttiä osoite muotoilussa räätälöinti asetus sivulla.\",\n      \"add_custom_field\": \"Lisää räätälöity kenttä\",\n      \"edit_custom_field\": \"Muokkaa räätälöityä kenttää\",\n      \"field_name\": \"Kentän nimi\",\n      \"label\": \"Otsake\",\n      \"type\": \"Tyyppi\",\n      \"name\": \"Nimi\",\n      \"slug\": \"Slug\",\n      \"required\": \"Vaaditaan\",\n      \"placeholder\": \"Paikanpitäjä\",\n      \"help_text\": \"Vihje teksti\",\n      \"default_value\": \"Oletusarvo\",\n      \"prefix\": \"Etuliite\",\n      \"starting_number\": \"Aloitusnumero\",\n      \"model\": \"Malli\",\n      \"help_text_description\": \"Lisää tekstiä helpottamaan käyttäjää ymmärtämään räätälöidyn kentän tarkoitus.\",\n      \"suffix\": \"Liite\",\n      \"yes\": \"Kyllä\",\n      \"no\": \"Ei\",\n      \"order\": \"Järjestys\",\n      \"custom_field_confirm_delete\": \"Et voi palauttaa tätä räätälöityä kenttää\",\n      \"already_in_use\": \"Räätälöity kenttä on jo käytössä\",\n      \"deleted_message\": \"Räätälöity kenttä poistettiin onnistuneesti\",\n      \"options\": \"Vaihtoehdot\",\n      \"add_option\": \"Lisää vaihtoehtoja\",\n      \"add_another_option\": \"Lisää toinen vaihtoehto\",\n      \"sort_in_alphabetical_order\": \"Järjestä aakkosittain\",\n      \"add_options_in_bulk\": \"Lisää vaihtoehtoja kerralla\",\n      \"use_predefined_options\": \"Käytä määriteltyjä vaihtoehtoja\",\n      \"select_custom_date\": \"Valitse mukautettu päivämäärä\",\n      \"select_relative_date\": \"Valitse suhteellinen päivämäärä\",\n      \"ticked_by_default\": \"Valittu oletuksena\",\n      \"updated_message\": \"Räätälöity kenttä päivitettiin onnistuneesti\",\n      \"added_message\": \"räätälöity kenttä lisättiin onnistuneesti\",\n      \"press_enter_to_add\": \"Press enter to add new option\",\n      \"model_in_use\": \"Cannot update model for fields which are already in use.\",\n      \"type_in_use\": \"Cannot update type for fields which are already in use.\"\n    },\n    \"customization\": {\n      \"customization\": \"räätälöinti\",\n      \"updated_message\": \"Yrityksen tiedot päivitettiin onnistuneesti\",\n      \"save\": \"Tallenna\",\n      \"insert_fields\": \"Insert Fields\",\n      \"learn_custom_format\": \"Learn how to use custom format\",\n      \"add_new_component\": \"Add New Component\",\n      \"component\": \"Component\",\n      \"Parameter\": \"Parameter\",\n      \"series\": \"Series\",\n      \"series_description\": \"To set a static prefix/postfix like 'INV' across your company. It supports character length of up to 6 chars.\",\n      \"series_param_label\": \"Series Value\",\n      \"delimiter\": \"Delimiter\",\n      \"delimiter_description\": \"Single character for specifying the boundary between 2 separate components. By default its set to -\",\n      \"delimiter_param_label\": \"Delimiter Value\",\n      \"date_format\": \"Date Format\",\n      \"date_format_description\": \"A local date and time field which accepts a format parameter. The default format: 'Y' renders the current year.\",\n      \"date_format_param_label\": \"Format\",\n      \"sequence\": \"Sequence\",\n      \"sequence_description\": \"Consecutive sequence of numbers across your company. You can specify the length on the given parameter.\",\n      \"sequence_param_label\": \"Sequence Length\",\n      \"customer_series\": \"Customer Series\",\n      \"customer_series_description\": \"To set a different prefix/postfix for each customer.\",\n      \"customer_sequence\": \"Customer Sequence\",\n      \"customer_sequence_description\": \"Consecutive sequence of numbers for each of your customer.\",\n      \"customer_sequence_param_label\": \"Sequence Length\",\n      \"random_sequence\": \"Random Sequence\",\n      \"random_sequence_description\": \"Random alphanumeric string. You can specify the length on the given parameter.\",\n      \"random_sequence_param_label\": \"Sequence Length\",\n      \"invoices\": {\n        \"title\": \"Laskut\",\n        \"invoice_number_format\": \"Invoice Number Format\",\n        \"invoice_number_format_description\": \"Customize how your invoice number gets generated automatically when you create a new invoice.\",\n        \"preview_invoice_number\": \"Preview Invoice Number\",\n        \"due_date\": \"Due Date\",\n        \"due_date_description\": \"Specify how due date is automatically set when you create an invoice.\",\n        \"due_date_days\": \"Invoice Due after days\",\n        \"set_due_date_automatically\": \"Set Due Date Automatically\",\n        \"set_due_date_automatically_description\": \"Enable this if you wish to set due date automatically when you create a new invoice.\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on invoice creation.\",\n        \"default_invoice_email_body\": \"Vakioteksti sähköpostiin laskulle\",\n        \"company_address_format\": \"Yrityksen osoite muoto\",\n        \"shipping_address_format\": \"Toimitusosoitteen muoto\",\n        \"billing_address_format\": \"Laskutusosoitteen muoto\",\n        \"invoice_email_attachment\": \"Send invoices as attachments\",\n        \"invoice_email_attachment_setting_description\": \"Enable this if you want to send invoices as email attachment. Please note that 'View Invoice' button in emails will not be displayed anymore when enabled.\",\n        \"invoice_settings_updated\": \"Invoice Settings updated successfully\",\n        \"retrospective_edits\": \"Retrospective Edits\",\n        \"allow\": \"Allow\",\n        \"disable_on_invoice_partial_paid\": \"Disable after partial payment is recorded\",\n        \"disable_on_invoice_paid\": \"Disable after full payment is recorded\",\n        \"disable_on_invoice_sent\": \"Disable after invoice is sent\",\n        \"retrospective_edits_description\": \" Based on your country's laws or your preference, you can restrict users from editing finalised invoices.\"\n      },\n      \"estimates\": {\n        \"title\": \"Tarjoukset\",\n        \"estimate_number_format\": \"Estimate Number Format\",\n        \"estimate_number_format_description\": \"Customize how your estimate number gets generated automatically when you create a new estimate.\",\n        \"preview_estimate_number\": \"Preview Estimate Number\",\n        \"expiry_date\": \"Expiry Date\",\n        \"expiry_date_description\": \"Specify how expiry date is automatically set when you create an estimate.\",\n        \"expiry_date_days\": \"Estimate Expires after days\",\n        \"set_expiry_date_automatically\": \"Set Expiry Date Automatically\",\n        \"set_expiry_date_automatically_description\": \"Enable this if you wish to set expiry date automatically when you create a new estimate.\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on estimate creation.\",\n        \"default_estimate_email_body\": \"Vakioteksti sähköpostiin tarjoukselle\",\n        \"company_address_format\": \"Yrityksen osoite muoto\",\n        \"shipping_address_format\": \"Toimitusosoitteen muoto\",\n        \"billing_address_format\": \"Laskutusosoiteen muoto\",\n        \"estimate_email_attachment\": \"Send estimates as attachments\",\n        \"estimate_email_attachment_setting_description\": \"Enable this if you want to send the estimates as an email attachment. Please note that 'View Estimate' button in emails will not be displayed anymore when enabled.\",\n        \"estimate_settings_updated\": \"Estimate Settings updated successfully\",\n        \"convert_estimate_options\": \"Estimate Convert Action\",\n        \"convert_estimate_description\": \"Specify what happens to the estimate after it gets converted to an invoice.\",\n        \"no_action\": \"No action\",\n        \"delete_estimate\": \"Delete estimate\",\n        \"mark_estimate_as_accepted\": \"Mark estimate as accepted\"\n      },\n      \"payments\": {\n        \"title\": \"Maksut\",\n        \"payment_number_format\": \"Payment Number Format\",\n        \"payment_number_format_description\": \"Customize how your payment number gets generated automatically when you create a new payment.\",\n        \"preview_payment_number\": \"Preview Payment Number\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on payment creation.\",\n        \"default_payment_email_body\": \"Vakioteksti sähköpostiin suoritukselle\",\n        \"company_address_format\": \"Yrityksen osoite muoto\",\n        \"from_customer_address_format\": \"Vastaanottajan osoitetieto kentät\",\n        \"payment_email_attachment\": \"Send payments as attachments\",\n        \"payment_email_attachment_setting_description\": \"Enable this if you want to send the payment receipts as an email attachment. Please note that 'View Payment' button in emails will not be displayed anymore when enabled.\",\n        \"payment_settings_updated\": \"Payment Settings updated successfully\"\n      },\n      \"items\": {\n        \"title\": \"Tuotteet\",\n        \"units\": \"Yksiköt\",\n        \"add_item_unit\": \"Lisää tuotteen yksikkö\",\n        \"edit_item_unit\": \"Muokkaa tuotteen yksikköä\",\n        \"unit_name\": \"Yksikön nimi\",\n        \"item_unit_added\": \"Nimikkeen yksikkö lisätty\",\n        \"item_unit_updated\": \"Nimikkeen yksikkö päivitetty\",\n        \"item_unit_confirm_delete\": \"Et voi palauttaa tätä tuotteen yksikköä\",\n        \"already_in_use\": \"Nimikkeen yksikkö on jo käytössä\",\n        \"deleted_message\": \"Nimikkeen yksikkö poistettiin onnistuneesti\"\n      },\n      \"notes\": {\n        \"title\": \"Viestit\",\n        \"description\": \"Säästä aikaa luomalla viestejä, joita voit käyttää laskuilla, tarjouksilla ja maksuissa.\",\n        \"notes\": \"Viestit\",\n        \"type\": \"Tyyppi\",\n        \"add_note\": \"Lisää viesti\",\n        \"add_new_note\": \"Lisää uusi viesti\",\n        \"name\": \"Nimi\",\n        \"edit_note\": \"Muokkaa viestiä\",\n        \"note_added\": \"Viesti lisätty onnistuneesti\",\n        \"note_updated\": \"Viesti päivitetty onnistuneesti\",\n        \"note_confirm_delete\": \"Et voi palauttaa tätä viestiä\",\n        \"already_in_use\": \"Viesti on jo käytössä\",\n        \"deleted_message\": \"Viesti poistettiin onnistuneesti\"\n      }\n    },\n    \"account_settings\": {\n      \"profile_picture\": \"Profiili kuva\",\n      \"name\": \"Nimi\",\n      \"email\": \"Sähköposti\",\n      \"password\": \"Salasana\",\n      \"confirm_password\": \"Vahvista salasana\",\n      \"account_settings\": \"Tilin asetukset\",\n      \"save\": \"Tallenna\",\n      \"section_description\": \"Voit päivittää nimen, sähköpostin ja salasanan käyttäen allaolevaa lomaketta.\",\n      \"updated_message\": \"Tili asetukset päivitetty onnistuneesti\"\n    },\n    \"user_profile\": {\n      \"name\": \"Nimi\",\n      \"email\": \"Sähköposti\",\n      \"password\": \"Salasana\",\n      \"confirm_password\": \"Vahvista salasana\"\n    },\n    \"notification\": {\n      \"title\": \"Ilmoitus\",\n      \"email\": \"Lähetä ilmoitus vastaanottajalle\",\n      \"description\": \"Mitkä sähköposti ilmoitukset haluat vastaanottaa jos joku muuttuu?\",\n      \"invoice_viewed\": \"Lasku katsottu\",\n      \"invoice_viewed_desc\": \"Kun asiakas katsoo laskun, joka on lähetetty crater ohjauspanelin kautta.\",\n      \"estimate_viewed\": \"Tarjous katsottu\",\n      \"estimate_viewed_desc\": \"Kun asiakas katsoo tarjouksen, joka on lähetetty crater ohjauspanelin kautta.\",\n      \"save\": \"Tallenna\",\n      \"email_save_message\": \"Sähköposti tallennettu onnistuneesti\",\n      \"please_enter_email\": \"Syötä sähköpostiosoite\"\n    },\n    \"roles\": {\n      \"title\": \"Roles\",\n      \"description\": \"Manage the roles & permissions of this company\",\n      \"save\": \"Save\",\n      \"add_new_role\": \"Add New Role\",\n      \"role_name\": \"Role Name\",\n      \"added_on\": \"Added on\",\n      \"add_role\": \"Add Role\",\n      \"edit_role\": \"Edit Role\",\n      \"name\": \"Name\",\n      \"permission\": \"Permission | Permissions\",\n      \"select_all\": \"Select All\",\n      \"none\": \"None\",\n      \"confirm_delete\": \"You will not be able to recover this Role\",\n      \"created_message\": \"Role created successfully\",\n      \"updated_message\": \"Role updated successfully\",\n      \"deleted_message\": \"Role deleted successfully\",\n      \"already_in_use\": \"Role is already in use\"\n    },\n    \"exchange_rate\": {\n      \"exchange_rate\": \"Exchange Rate\",\n      \"title\": \"Fix Currency Exchange issues\",\n      \"description\": \"Please enter exchange rate of all the currencies mentioned below to help Crater properly calculate the amounts in {currency}.\",\n      \"drivers\": \"Drivers\",\n      \"new_driver\": \"Add New Provider\",\n      \"edit_driver\": \"Edit Provider\",\n      \"select_driver\": \"Select Driver\",\n      \"update\": \"select exchange rate \",\n      \"providers_description\": \"Configure your exchange rate providers here to automatically fetch the latest exchange rate on transactions.\",\n      \"key\": \"API Key\",\n      \"name\": \"Name\",\n      \"driver\": \"Driver\",\n      \"is_default\": \"IS DEFAULT\",\n      \"currency\": \"Currencies\",\n      \"exchange_rate_confirm_delete\": \"You will not be able to recover this driver\",\n      \"created_message\": \"Provider Created successfully\",\n      \"updated_message\": \"Provider Updated Successfully\",\n      \"deleted_message\": \"Provider Deleted Successfully\",\n      \"error\": \" You cannot Delete Active Driver\",\n      \"default_currency_error\": \"This currency is already used in one of the Active Provider\",\n      \"exchange_help_text\": \"Enter exchange rate to convert from {currency} to {baseCurrency}\",\n      \"currency_freak\": \"Currency Freak\",\n      \"currency_layer\": \"Currency Layer\",\n      \"open_exchange_rate\": \"Open Exchange Rate\",\n      \"currency_converter\": \"Currency Converter\",\n      \"server\": \"Server\",\n      \"url\": \"URL\",\n      \"active\": \"Active\",\n      \"currency_help_text\": \"This provider will only be used on above selected currencies\",\n      \"currency_in_used\": \"The following currencies are already active on another provider. Please remove these currencies from selection to activate this provider again.\"\n    },\n    \"tax_types\": {\n      \"title\": \"ALV Verokannat\",\n      \"add_tax\": \"Lisää ALV verokanta\",\n      \"edit_tax\": \"Muokkaa ALV verokantaa\",\n      \"description\": \"Voit luoda tai poistaa ALV verokantoja tarvittaessa. Crater tukee laskurivikohtaista ALV:n esittämistä yhtä hyvin kuin näyttämistä koko laskulle.\",\n      \"add_new_tax\": \"Lisää uusi ALV verokanta\",\n      \"tax_settings\": \"ALV Verokanta asetukset\",\n      \"tax_per_item\": \"ALV per tuote\",\n      \"tax_name\": \"ALV Verokannan nimi\",\n      \"compound_tax\": \"Yhdistetty vero\",\n      \"percent\": \"Prosentti\",\n      \"action\": \"Toiminta\",\n      \"tax_setting_description\": \"Aktivoi tämä jos haluat näyttää ALV:n laskurivikohtaisesti. Oletuksena, verot lisätään suoraan loppusummaan.\",\n      \"created_message\": \"ALV Verokanta luotiin onnistuneesti\",\n      \"updated_message\": \"ALV Verokanta päivitettiin onnistuneesti\",\n      \"deleted_message\": \"ALV Verokanta poistettiin onnistuneesti\",\n      \"confirm_delete\": \"Et voi palauttaa tätä ALV verokantaa\",\n      \"already_in_use\": \"ALV Verokanta on jo käytössä\"\n    },\n    \"payment_modes\": {\n      \"title\": \"Payment Modes\",\n      \"description\": \"Modes of transaction for payments\",\n      \"add_payment_mode\": \"Add Payment Mode\",\n      \"edit_payment_mode\": \"Edit Payment Mode\",\n      \"mode_name\": \"Mode Name\",\n      \"payment_mode_added\": \"Payment Mode Added\",\n      \"payment_mode_updated\": \"Payment Mode Updated\",\n      \"payment_mode_confirm_delete\": \"You will not be able to recover this Payment Mode\",\n      \"payments_attached\": \"This payment method is already attached to payments. Please delete the attached payments to proceed with deletion.\",\n      \"expenses_attached\": \"This payment method is already attached to expenses. Please delete the attached expenses to proceed with deletion.\",\n      \"deleted_message\": \"Payment Mode deleted successfully\"\n    },\n    \"expense_category\": {\n      \"title\": \"Kululuokat\",\n      \"action\": \"Toiminta\",\n      \"description\": \"Luokkia tarvitaan kulujen syöttöön. Voit lisätä tai poistaa luokkia tarpeen mukaan.\",\n      \"add_new_category\": \"Lisää uusi luokka\",\n      \"add_category\": \"Lisää luokka\",\n      \"edit_category\": \"Muokkaa luokkaa\",\n      \"category_name\": \"Luokan nimi\",\n      \"category_description\": \"Kuvaus\",\n      \"created_message\": \"Kululuokka luotu onnistuneesti\",\n      \"deleted_message\": \"Kululuokka poistettiin onnistuneesti\",\n      \"updated_message\": \"Kululuokka päivitettiin onnistuneesti\",\n      \"confirm_delete\": \"Et voi palauttaa tätä kululuokkaa\",\n      \"already_in_use\": \"Luokka on jo käytössä\"\n    },\n    \"preferences\": {\n      \"currency\": \"Valuutta\",\n      \"default_language\": \"Oletuskieli\",\n      \"time_zone\": \"Aikavyöhyke\",\n      \"fiscal_year\": \"Tilikausi\",\n      \"date_format\": \"Päivämäärä formaatti\",\n      \"discount_setting\": \"Alennusten määritys\",\n      \"discount_per_item\": \"Alennus per tuote \",\n      \"discount_setting_description\": \"Aktivoi tämä jos haluat lisätä alennuksen rivikohtaisesti. Oletuksena, Alennus lisätään suoraan laskun kokonaissummaan.\",\n      \"expire_public_links\": \"Automatically Expire Public Links\",\n      \"expire_setting_description\": \"Specify whether you would like to expire all the links sent by application to view invoices, estimates & payments, etc after a specified duration.\",\n      \"save\": \"Tallenna\",\n      \"preference\": \"Suositus | Suositukset\",\n      \"general_settings\": \"Oletus suositus järjestelmälle.\",\n      \"updated_message\": \"Suositukset päivitettiin onnistuneesti\",\n      \"select_language\": \"Valitse kieli\",\n      \"select_time_zone\": \"Valitse aikavyöhyke\",\n      \"select_date_format\": \"Valitse päivämäärä formaatti\",\n      \"select_financial_year\": \"Valitse tilikausi\",\n      \"recurring_invoice_status\": \"Recurring Invoice Status\",\n      \"create_status\": \"Create Status\",\n      \"active\": \"Active\",\n      \"on_hold\": \"On Hold\",\n      \"update_status\": \"Update Status\",\n      \"completed\": \"Completed\",\n      \"company_currency_unchangeable\": \"Company currency cannot be changed\"\n    },\n    \"update_app\": {\n      \"title\": \"Päivitä ohjelma\",\n      \"description\": \"Voit helposti päivittää Crater ohjelman uuteen versioon klikkaamalla allaolevaa painiketta\",\n      \"check_update\": \"Tarkista uudet päivitykset\",\n      \"avail_update\": \"Uusi päivitys saatavilla\",\n      \"next_version\": \"Seuraava versio\",\n      \"requirements\": \"Vaatimukset\",\n      \"update\": \"Päivitä nyt\",\n      \"update_progress\": \"Päivitys menossa...\",\n      \"progress_text\": \"Se ottaa ainoastaan muutaman minuutin. Älä päivitä näyttöä tai sulje ikkunaa ennenkuin päivitys on valmis\",\n      \"update_success\": \"Ohjelma on päivitetty! Odota kunnes selaimen ikkuna päivittyy automaattisesti.\",\n      \"latest_message\": \"Ei päivitystä saatavilla! Sinulla on viimeisin versio.\",\n      \"current_version\": \"Nykyinen versio\",\n      \"download_zip_file\": \"Lataa ZIP tiedosto\",\n      \"unzipping_package\": \"Puretaan pakettia\",\n      \"copying_files\": \"Kopioi tiedostoja\",\n      \"deleting_files\": \"Deleting Unused files\",\n      \"running_migrations\": \"Suoritetaan migraatio\",\n      \"finishing_update\": \"Lopetetaan päivitys\",\n      \"update_failed\": \"Päivitys epäonnistui\",\n      \"update_failed_text\": \"Sorry! Päivityksesi epäonnistui : {step} vaiheessa\",\n      \"update_warning\": \"All of the application files and default template files will be overwritten when you update the application using this utility. Please take a backup of your templates & database before updating.\"\n    },\n    \"backup\": {\n      \"title\": \"Varmuuskopio | Varmuuskopiot\",\n      \"description\": \"Varmuuskopio on ZIP-tiedosto, joka sisältää kaikki tiedostot hakemistoista jotka määrittelet tietokanta määrityksen mukana\",\n      \"new_backup\": \"Lisää uusi varmuuskopio\",\n      \"create_backup\": \"Luo Varmuuskopio\",\n      \"select_backup_type\": \"Valitse varmuuskopio tyyppi\",\n      \"backup_confirm_delete\": \"Et voi palauttaa tätä varmuuskopiota\",\n      \"path\": \"polku\",\n      \"new_disk\": \"Uusi levy\",\n      \"created_at\": \"luotu\",\n      \"size\": \"koko\",\n      \"dropbox\": \"Dropbox\",\n      \"local\": \"paikallinen\",\n      \"healthy\": \"kunto\",\n      \"amount_of_backups\": \"Varmuuskopioiden määrä\",\n      \"newest_backups\": \"uusimmat varmuuskopiot\",\n      \"used_storage\": \"käytetty tila\",\n      \"select_disk\": \"Valitse asema\",\n      \"action\": \"Toiminta\",\n      \"deleted_message\": \"Varmuuskopio poistettiin onnistuneesti\",\n      \"created_message\": \"Varmuuskopio luotiin onnistuneesti\",\n      \"invalid_disk_credentials\": \"Väärät käyttäjäasetukset valitulle levylle\"\n    },\n    \"disk\": {\n      \"title\": \"Tiedostolevy | Tiedostolevyt\",\n      \"description\": \"Oletuksena, Crater käyttää paikallisia levyjä varmuuskopioiden, profiilikuvien ja muiden kuvien tallentamiseen. Voit määrittää useamman kuin yhden tallennus vaihtoehdoista, kuten DigitalOcean, S3 ja Dropbox mieltymystesi mukaan.\",\n      \"created_at\": \"luotu\",\n      \"dropbox\": \"Dropbox\",\n      \"name\": \"Nimi\",\n      \"driver\": \"Ohjain\",\n      \"disk_type\": \"Tyyppi\",\n      \"disk_name\": \"Levy nimi\",\n      \"new_disk\": \"Lisää uusi levy\",\n      \"filesystem_driver\": \"Tiedostojärjestelmä ohjain\",\n      \"local_driver\": \"paikallinen ohjain\",\n      \"local_root\": \"paikallinen juurihakemisto\",\n      \"public_driver\": \"Julkinen Ajuri\",\n      \"public_root\": \"Julkinen juurihakemisto\",\n      \"public_url\": \"Julkinen URL-osoite\",\n      \"public_visibility\": \"Julkinen Näkyvyys\",\n      \"media_driver\": \"Median Ajuri\",\n      \"media_root\": \"Median juurihakemisto\",\n      \"aws_driver\": \"AWS Ajuri\",\n      \"aws_key\": \"AWS avain\",\n      \"aws_secret\": \"AWS salaus\",\n      \"aws_region\": \"AWS regioona\",\n      \"aws_bucket\": \"AWS hakemisto\",\n      \"aws_root\": \"AWS juurihakemisto\",\n      \"do_spaces_type\": \"Do Spaces tyyppi\",\n      \"do_spaces_key\": \"Do Spaces avain\",\n      \"do_spaces_secret\": \"Do Spaces salaus\",\n      \"do_spaces_region\": \"Do Spaces regioona\",\n      \"do_spaces_bucket\": \"Do Spaces hakemisto\",\n      \"do_spaces_endpoint\": \"Do Spaces päätepiste\",\n      \"do_spaces_root\": \"Do Spaces juurihakemisto\",\n      \"dropbox_type\": \"Dropbox tyyppi\",\n      \"dropbox_token\": \"Dropbox tunnus\",\n      \"dropbox_key\": \"Dropbox avain\",\n      \"dropbox_secret\": \"Dropbox salaus\",\n      \"dropbox_app\": \"Dropbox sovellus\",\n      \"dropbox_root\": \"Dropbox juurihakemisto\",\n      \"default_driver\": \"Oletus Ajuri\",\n      \"is_default\": \"OLETUS\",\n      \"set_default_disk\": \"Aseta oletuslevy\",\n      \"set_default_disk_confirm\": \"This disk will be set as default and all the new PDFs will be saved on this disk\",\n      \"success_set_default_disk\": \"Levy määritettiin oletukseksi onnistuneesti\",\n      \"save_pdf_to_disk\": \"Tallenna PDF tiedostot levylle\",\n      \"disk_setting_description\": \" Aktivoi tämä, jos haluat tallentaa PDF kopiot laskuista, tarjouksista & maksukuiteista oletus leveylle automaattisesti. Käyttämällä tätä vaihtoehtoa tiedostojen latausaika nopeutuu kun esikatsellaan PDF tiedostoja.\",\n      \"select_disk\": \"Valitse levy\",\n      \"disk_settings\": \"Levyasetukset\",\n      \"confirm_delete\": \"Tämä ei vaikuta olemassaoleviin tiedostoihin & kansioihin valitulla levyllä, mutta leveymääritykset poistetaan Craterista\",\n      \"action\": \"Toiminta\",\n      \"edit_file_disk\": \"Muokkaa tiedostolevyä\",\n      \"success_create\": \"Levy lisättiin onistuneesti\",\n      \"success_update\": \"Levy päivitettiin onnistuneesti\",\n      \"error\": \"Levyn lisäys epäonnistui\",\n      \"deleted_message\": \"Tiedostolevy poistettiin onnistuneesti\",\n      \"disk_variables_save_successfully\": \"Levy määritettiin onnistuneesti\",\n      \"disk_variables_save_error\": \"Levyn määritys epäonnistui.\",\n      \"invalid_disk_credentials\": \"Virheelliset tunnistetiedot valitulle levylle\"\n    },\n    \"taxations\": {\n      \"add_billing_address\": \"Enter Billing Address\",\n      \"add_shipping_address\": \"Enter Shipping Address\",\n      \"add_company_address\": \"Enter Company Address\",\n      \"modal_description\": \"The information below is required in order to fetch sales tax.\",\n      \"add_address\": \"Add Address for fetching sales tax.\",\n      \"address_placeholder\": \"Example: 123, My Street\",\n      \"city_placeholder\": \"Example: Los Angeles\",\n      \"state_placeholder\": \"Example: CA\",\n      \"zip_placeholder\": \"Example: 90024\",\n      \"invalid_address\": \"Please provide valid address details.\"\n    }\n  },\n  \"wizard\": {\n    \"account_info\": \"Tilitiedot\",\n    \"account_info_desc\": \"Alla olevia tietoja käytetään pääkäyttäjän (Administraattori) luomiseksi. Voit päivittää tietoja koska tahansa sisäänkirjautumisen jälkeen.\",\n    \"name\": \"Nimi\",\n    \"email\": \"Sähköposti\",\n    \"password\": \"Salasana\",\n    \"confirm_password\": \"Varmista salasana\",\n    \"save_cont\": \"Tallenna & Jatka\",\n    \"company_info\": \"Yritystiedot\",\n    \"company_info_desc\": \"Tämä informaatio esitetään laskulla. Huomioi, että voit editoida näitä myöhemmin asetuksissa.\",\n    \"company_name\": \"Yrityksen nimi\",\n    \"company_logo\": \"Yrityksen logo\",\n    \"logo_preview\": \"Logon esikatselu\",\n    \"preferences\": \"Asetukset\",\n    \"preferences_desc\": \"Oletusasetukset järjestelmälle.\",\n    \"currency_set_alert\": \"The company's currency cannot be changed later.\",\n    \"country\": \"Maa\",\n    \"state\": \"Osavaltio\",\n    \"city\": \"Kaupunki\",\n    \"address\": \"Osoite\",\n    \"street\": \"Katuosoite1 | Katuosoite2\",\n    \"phone\": \"Puhelin\",\n    \"zip_code\": \"Postinumero\",\n    \"go_back\": \"Palaa takaisin\",\n    \"currency\": \"Valuutta\",\n    \"language\": \"Kieli\",\n    \"time_zone\": \"Aikavyöhyke\",\n    \"fiscal_year\": \"Tilikausi\",\n    \"date_format\": \"päivämäärä formaatti\",\n    \"from_address\": \"Lähettäjän osoite\",\n    \"username\": \"Käyttäjänimi\",\n    \"next\": \"Seuraava\",\n    \"continue\": \"Jatka\",\n    \"skip\": \"Ohita\",\n    \"database\": {\n      \"database\": \"Sivuston URL-osoite & Tietokanta\",\n      \"connection\": \"Tietokantayhteys\",\n      \"host\": \"Tietokannan Host nimi\",\n      \"port\": \"Tietokannan porttinumero\",\n      \"password\": \"tietokannan salasana\",\n      \"app_url\": \"Ohjelman URL-osoite\",\n      \"app_domain\": \"Ohjelman Domain nimi\",\n      \"username\": \"Tietokannan käyttäjä nimi\",\n      \"db_name\": \"Tietokannan nimi\",\n      \"db_path\": \"tietokannan hakemistopolku\",\n      \"desc\": \"Luo tietokanta serverillesi ja aseta käyttäjätiedot allaolevaan lomakkeeseen.\"\n    },\n    \"permissions\": {\n      \"permissions\": \"Käyttöoikeudet\",\n      \"permission_confirm_title\": \"Oletko varma, että haluat jatkaa?\",\n      \"permission_confirm_desc\": \"Hakemiston oikeuksien tarkistus epäonnistui\",\n      \"permission_desc\": \"Alla on luettelo kansion käyttöoikeuksista joita tarvitaan, että ohejlma toimisi. Jos käyttöoikeus tarkistus epäonnistui, varmista toimivuus päivittämällä hakemiston käyttöoikeudet.\"\n    },\n    \"verify_domain\": {\n      \"title\": \"Domain Verification\",\n      \"desc\": \"Crater uses Session based authentication which requires domain verification for security purposes. Please enter the domain on which you will be accessing your web application.\",\n      \"app_domain\": \"App Domain\",\n      \"verify_now\": \"Verify Now\",\n      \"success\": \"Domain Verify Successfully.\",\n      \"failed\": \"Domain verification failed. Please enter valid domain name.\",\n      \"verify_and_continue\": \"Verify And Continue\"\n    },\n    \"mail\": {\n      \"host\": \"Sähköpostiserverin Host nimi\",\n      \"port\": \"Sähköpostiserverin Portti numero\",\n      \"driver\": \"Sähköpostiajuri\",\n      \"secret\": \"Salaus\",\n      \"mailgun_secret\": \"Mailgun salaus\",\n      \"mailgun_domain\": \"Domain nimi\",\n      \"mailgun_endpoint\": \"Mailgun päätepiste\",\n      \"ses_secret\": \"SES salaus\",\n      \"ses_key\": \"SES avain\",\n      \"password\": \"Sähköpostin salasana\",\n      \"username\": \"Sähköpostin käyttäjänimi\",\n      \"mail_config\": \"Sähköpostimääritys\",\n      \"from_name\": \"Lähettäjän sähköposti nimi\",\n      \"from_mail\": \"Lähettäjän sähköpostiosoite\",\n      \"encryption\": \"Sähköpostin salaus\",\n      \"mail_config_desc\": \"Alla on lomake sähköpostiajurin määrittelyyn, että ohjelma voi lähettää sähköposteja. Voit myös määrittää kolmansien osapuolien tarjojien, SES jne.\"\n    },\n    \"req\": {\n      \"system_req\": \"Systeemivaatimukset\",\n      \"php_req_version\": \"Php (versio {version} vaaditaan)\",\n      \"check_req\": \"Tarkista vaatimukset\",\n      \"system_req_desc\": \"Craterissa on muutamia palvelimen vaatimuksia. Varmista, että palvelimellasi on vaadittu php versio ja kaikki liitännäiset mainittuna alla.\"\n    },\n    \"errors\": {\n      \"migrate_failed\": \"Migraatio epäonnistui\",\n      \"database_variables_save_error\": \"Määrityksiä ei voitu kirjoittaa .env tiedostoon. Tarkista tiedoston käyttöoikeudet\",\n      \"mail_variables_save_error\": \"Sähköposti määritys epäonnistui.\",\n      \"connection_failed\": \"Tietokantayhteys epäonnistui\",\n      \"database_should_be_empty\": \"Tietokannan pitäisi olla tyhjä\"\n    },\n    \"success\": {\n      \"mail_variables_save_successfully\": \"Sähköposti määritettiin onnistuneesti\",\n      \"database_variables_save_successfully\": \"Tietokanta määritettiin onnistuneesti.\"\n    }\n  },\n  \"validation\": {\n    \"invalid_phone\": \"Puhelinnumeron muoto ei ole oikea\",\n    \"invalid_url\": \"Väärä www osoite (esim.: http://www.crater.com)\",\n    \"invalid_domain_url\": \"Väärä www osoite (ex: crater.com)\",\n    \"required\": \"Kenttä on pakollinen\",\n    \"email_incorrect\": \"Väärä sähköpostin muoto.\",\n    \"email_already_taken\": \"Tämä sähköposti on jo käytössä.\",\n    \"email_does_not_exist\": \"Käyttäjää tällä sähköpostiosoiteella ei löydy\",\n    \"item_unit_already_taken\": \"Tämä tuotteen yksikön nimi on jo käytössä\",\n    \"payment_mode_already_taken\": \"Tämä maksutavan nimi on jo käytössä\",\n    \"send_reset_link\": \"Lähetä resetointi linkki\",\n    \"not_yet\": \"Eikö tullut? Lähetä uudestaan\",\n    \"password_min_length\": \"Salasanan pitää sisältää {count} merkkiä\",\n    \"name_min_length\": \"Nimen pitää olla vähintäin {count} kirjainta.\",\n    \"prefix_min_length\": \"Prefix must have at least {count} letters.\",\n    \"enter_valid_tax_rate\": \"Syötä validi veroprosentti\",\n    \"numbers_only\": \"Numeroita ainoastaan.\",\n    \"characters_only\": \"Kirjaimia ainoastaan.\",\n    \"password_incorrect\": \"Salasanojen pitää olla identtiset\",\n    \"password_length\": \"Salasanan pitää olla vähintään {count} merkkiä pitkä.\",\n    \"qty_must_greater_than_zero\": \"Määrän pitää olla suurempi kuin 0.\",\n    \"price_greater_than_zero\": \"Hinnan pitää olla suurempi kuin 0.\",\n    \"payment_greater_than_zero\": \"Maksun pitää olla suurempi kuin 0.\",\n    \"payment_greater_than_due_amount\": \"Syötetty maksu on suurempi kuin tämän laskun avoin summa.\",\n    \"quantity_maxlength\": \"Määrän ei pitäisi olla suurempi kuin 20 numeroa.\",\n    \"price_maxlength\": \"Hinnan ei pitäisi olla suurempi kuin 20 numeroa.\",\n    \"price_minvalue\": \"Hinnan pitäisi olla suurempi kuin 0.\",\n    \"amount_maxlength\": \"Määrän ei pitäisi olla suurempi kuin 20 numeroa.\",\n    \"amount_minvalue\": \"Määrän pitäisi olla suurempi kuin 0.\",\n    \"discount_maxlength\": \"Discount should not be greater than max discount\",\n    \"description_maxlength\": \"Description should not be greater than 255 characters.\",\n    \"subject_maxlength\": \"Viestin otsikon ei pitäisi olla enemmän kuin 100 merkkiä.\",\n    \"message_maxlength\": \"Viesti ei saisi olla pidempi kuin 255 merkkiä.\",\n    \"maximum_options_error\": \"Maksimi määrä {max} valinnointa valittuna. Poista ensi valittu optio valitaksesi toisen.\",\n    \"notes_maxlength\": \"Notes should not be greater than 65,000 characters.\",\n    \"address_maxlength\": \"Osoiterivin pituus ei saisi ylittää 255 merkkiä.\",\n    \"ref_number_maxlength\": \"Asiakkaan viitteen pituus ei saisi ylittää 255 merkkiä.\",\n    \"prefix_maxlength\": \"Etuliitten pituus ei saisi ylittää 5 merkkiä.\",\n    \"something_went_wrong\": \"jotain meni pieleen\",\n    \"number_length_minvalue\": \"Number length should be greater than 0\",\n    \"at_least_one_ability\": \"Please select atleast one Permission.\",\n    \"valid_driver_key\": \"Please enter a valid {driver} key.\",\n    \"valid_exchange_rate\": \"Please enter a valid exchange rate.\",\n    \"company_name_not_same\": \"Company name must match with given name.\"\n  },\n  \"errors\": {\n    \"starter_plan\": \"This feature is available on Starter plan and onwards!\",\n    \"invalid_provider_key\": \"Please Enter Valid Provider API Key.\",\n    \"estimate_number_used\": \"The estimate number has already been taken.\",\n    \"invoice_number_used\": \"The invoice number has already been taken.\",\n    \"payment_attached\": \"This invoice already has a payment attached to it. Make sure to delete the attached payments first in order to go ahead with the removal.\",\n    \"payment_number_used\": \"The payment number has already been taken.\",\n    \"name_already_taken\": \"The name has already been taken.\",\n    \"receipt_does_not_exist\": \"Receipt does not exist.\",\n    \"customer_cannot_be_changed_after_payment_is_added\": \"Customer cannot be change after payment is added\",\n    \"invalid_credentials\": \"Invalid  Credentials.\",\n    \"not_allowed\": \"Not Allowed\",\n    \"login_invalid_credentials\": \"These credentials do not match our records.\",\n    \"enter_valid_cron_format\": \"Please enter a valid cron format\",\n    \"email_could_not_be_sent\": \"Email could not be sent to this email address.\",\n    \"invalid_address\": \"Please enter a valid address.\",\n    \"invalid_key\": \"Please enter valid key.\",\n    \"invalid_state\": \"Please enter a valid state.\",\n    \"invalid_city\": \"Please enter a valid city.\",\n    \"invalid_postal_code\": \"Please enter a valid zip.\",\n    \"invalid_format\": \"Please enter valid query string format.\",\n    \"api_error\": \"Server not responding.\",\n    \"feature_not_enabled\": \"Feature not enabled.\",\n    \"request_limit_met\": \"Api request limit exceeded.\",\n    \"address_incomplete\": \"Incomplete Address\"\n  },\n  \"pdf_estimate_label\": \"Tarjous\",\n  \"pdf_estimate_number\": \"Tarjousnumero\",\n  \"pdf_estimate_date\": \"Tarjouksen päiväys\",\n  \"pdf_estimate_expire_date\": \"Voimassaolo päivä\",\n  \"pdf_invoice_label\": \"Lasku\",\n  \"pdf_invoice_number\": \"Laskunumero\",\n  \"pdf_invoice_date\": \"Laskun päiväys\",\n  \"pdf_invoice_due_date\": \"Eräpäivä\",\n  \"pdf_notes\": \"Viesti\",\n  \"pdf_items_label\": \"Tuotenimi\",\n  \"pdf_quantity_label\": \"Määrä\",\n  \"pdf_price_label\": \"Hinta\",\n  \"pdf_discount_label\": \"Alennus\",\n  \"pdf_amount_label\": \"Yhteensä veroton\",\n  \"pdf_subtotal\": \"Välisumma\",\n  \"pdf_total\": \"Yhteensä\",\n  \"pdf_payment_label\": \"Payment\",\n  \"pdf_payment_receipt_label\": \"SUORITUKSEN KUITTI\",\n  \"pdf_payment_date\": \"Maksupäivä\",\n  \"pdf_payment_number\": \"Maksunumero\",\n  \"pdf_payment_mode\": \"Maksutapa\",\n  \"pdf_payment_amount_received_label\": \"Maksettu määrä\",\n  \"pdf_expense_report_label\": \"KULURAPORTTI\",\n  \"pdf_total_expenses_label\": \"KULUT YHTEENSÄ\",\n  \"pdf_profit_loss_label\": \"TULOSLASKELMA\",\n  \"pdf_sales_customers_label\": \"Sales Customer Report\",\n  \"pdf_sales_items_label\": \"Sales Item Report\",\n  \"pdf_tax_summery_label\": \"Tax Summary Report\",\n  \"pdf_income_label\": \"TULOT\",\n  \"pdf_net_profit_label\": \"NETTOTULO\",\n  \"pdf_customer_sales_report\": \"Myyntiraportti: Asiakkaittain\",\n  \"pdf_total_sales_label\": \"KOKONAISMYYNTI\",\n  \"pdf_item_sales_label\": \"Myyntiraportti: Nimikkeittäin\",\n  \"pdf_tax_report_label\": \"ALV RAPORTTI\",\n  \"pdf_total_tax_label\": \"ALV YHTEENSÄ\",\n  \"pdf_tax_types_label\": \"ALV Verokannat\",\n  \"pdf_expenses_label\": \"Kulut\",\n  \"pdf_bill_to\": \"Laskutetaan,\",\n  \"pdf_ship_to\": \"Toimitetaan,\",\n  \"pdf_received_from\": \"Vastaanotettu:\",\n  \"pdf_tax_label\": \"Tax\"\n}\n"
  },
  {
    "path": "resources/scripts/locales/fr.json",
    "content": "{\n  \"navigation\": {\n    \"dashboard\": \"Tableau de bord\",\n    \"customers\": \"Clients\",\n    \"items\": \"Articles\",\n    \"invoices\": \"Factures\",\n    \"recurring-invoices\": \"Factures récurrentes\",\n    \"expenses\": \"Dépenses\",\n    \"estimates\": \"Devis\",\n    \"payments\": \"Paiements\",\n    \"reports\": \"Rapports\",\n    \"settings\": \"Paramètres\",\n    \"logout\": \"Déconnexion\",\n    \"users\": \"Utilisateurs\",\n    \"modules\": \"Modules\"\n  },\n  \"general\": {\n    \"add_company\": \"Ajouter une entreprise\",\n    \"view_pdf\": \"Afficher le PDF\",\n    \"copy_pdf_url\": \"Copier l'URL du PDF\",\n    \"download_pdf\": \"Télécharger le PDF\",\n    \"save\": \"Enregistrer\",\n    \"create\": \"Créer\",\n    \"cancel\": \"Annuler\",\n    \"update\": \"Mettre à jour\",\n    \"deselect\": \"Enlever\",\n    \"download\": \"Télécharger\",\n    \"from_date\": \"Du\",\n    \"to_date\": \"Au\",\n    \"from\": \"Du\",\n    \"to\": \"Au\",\n    \"ok\": \"Ok\",\n    \"yes\": \"Oui\",\n    \"no\": \"Non\",\n    \"sort_by\": \"Trier par\",\n    \"ascending\": \"Ascendant\",\n    \"descending\": \"Descendant\",\n    \"subject\": \"Objet\",\n    \"body\": \"Message\",\n    \"message\": \"Message\",\n    \"send\": \"Envoyer\",\n    \"preview\": \"Aperçu\",\n    \"go_back\": \"Retourner\",\n    \"back_to_login\": \"Revenir à la page de connexion ?\",\n    \"home\": \"Tableau de bord\",\n    \"filter\": \"Filtrer\",\n    \"delete\": \"Supprimer\",\n    \"edit\": \"Modifier\",\n    \"view\": \"Afficher\",\n    \"add_new_item\": \"Ajouter une ligne\",\n    \"clear_all\": \"Tout supprimer\",\n    \"showing\": \"Affichage \",\n    \"of\": \"sur\",\n    \"actions\": \"Actions\",\n    \"subtotal\": \"SOUS-TOTAL\",\n    \"discount\": \"REMISE\",\n    \"fixed\": \"Fixe\",\n    \"percentage\": \"Pourcentage\",\n    \"tax\": \"TAXE\",\n    \"total_amount\": \"TOTAL \",\n    \"bill_to\": \"Facturer à\",\n    \"ship_to\": \"Expédier à\",\n    \"due\": \"En cours\",\n    \"draft\": \"Brouillon\",\n    \"sent\": \"Envoyée\",\n    \"all\": \"Tout\",\n    \"select_all\": \"Tout sélectionner\",\n    \"select_template\": \"Modèle\",\n    \"choose_file\": \"Cliquez ici pour choisir un fichier\",\n    \"choose_template\": \"Choisissez un modèle\",\n    \"choose\": \"Choisir\",\n    \"remove\": \"Supprimer\",\n    \"select_a_status\": \"Sélectionnez un statut\",\n    \"select_a_tax\": \"Sélectionnez une taxe\",\n    \"search\": \"Rechercher\",\n    \"are_you_sure\": \"Êtes-vous sûr ?\",\n    \"list_is_empty\": \"La liste est vide.\",\n    \"no_tax_found\": \"Aucune taxe trouvée !\",\n    \"four_zero_four\": \"404\",\n    \"you_got_lost\": \"Oups! Vous vous êtes perdus!\",\n    \"go_home\": \"Retour au tableau de bord\",\n    \"test_mail_conf\": \"Envoyer un email de test\",\n    \"send_mail_successfully\": \"Email envoyé\",\n    \"setting_updated\": \"Paramètres mis à jour\",\n    \"select_state\": \"Sélectionnez l'état\",\n    \"select_country\": \"Choisissez le pays\",\n    \"select_city\": \"Sélectionnez une ville\",\n    \"street_1\": \"Rue, voie, boite postale\",\n    \"street_2\": \"Bâtiment, étage, lieu-dit, complément,...\",\n    \"action_failed\": \"Action : échoué\",\n    \"retry\": \"Réessayez\",\n    \"choose_note\": \"Choisissez une note de bas de page\",\n    \"no_note_found\": \"Aucune note de bas de page trouvée\",\n    \"insert_note\": \"Insérer une note\",\n    \"copied_pdf_url_clipboard\": \"L'adresse du PDF a été copiée.\",\n    \"copied_url_clipboard\": \"URL copiée vers le presse-papier!\",\n    \"docs\": \"Documents\",\n    \"do_you_wish_to_continue\": \"Voulez-vous continuer ?\",\n    \"note\": \"Note de bas de page\",\n    \"pay_invoice\": \"Payer facture\",\n    \"login_successfully\": \"Identifié avec succès!\",\n    \"logged_out_successfully\": \"Déconnecté avec succès\",\n    \"mark_as_default\": \"Marquer par défaut\"\n  },\n  \"dashboard\": {\n    \"select_year\": \"Sélectionnez l'année\",\n    \"cards\": {\n      \"due_amount\": \"Encours clients\",\n      \"customers\": \"Clients\",\n      \"invoices\": \"Factures\",\n      \"estimates\": \"Devis\",\n      \"payments\": \"Paiements\"\n    },\n    \"chart_info\": {\n      \"total_sales\": \"Ventes\",\n      \"total_receipts\": \"Recettes\",\n      \"total_expense\": \"Dépenses\",\n      \"net_income\": \"Résultat\",\n      \"year\": \"Sélectionnez l'année\"\n    },\n    \"monthly_chart\": {\n      \"title\": \"Recettes et dépenses\"\n    },\n    \"recent_invoices_card\": {\n      \"title\": \"Factures en cours\",\n      \"due_on\": \"Échéance\",\n      \"customer\": \"Client\",\n      \"amount_due\": \"Montant\",\n      \"actions\": \"Actions\",\n      \"view_all\": \"Tout afficher\"\n    },\n    \"recent_estimate_card\": {\n      \"title\": \"Devis récents\",\n      \"date\": \"Expiration\",\n      \"customer\": \"Client\",\n      \"amount_due\": \"Montant\",\n      \"actions\": \"Actions\",\n      \"view_all\": \"Tout afficher\"\n    }\n  },\n  \"tax_types\": {\n    \"name\": \"Nom\",\n    \"description\": \"Description\",\n    \"percent\": \"Pourcentage\",\n    \"compound_tax\": \"Taxe composée\"\n  },\n  \"global_search\": {\n    \"search\": \"Rechercher\",\n    \"customers\": \"Clients\",\n    \"users\": \"Utilisateurs\",\n    \"no_results_found\": \"Aucun résultat\"\n  },\n  \"company_switcher\": {\n    \"label\": \"CHANGER DE SOCIÉTÉ\",\n    \"no_results_found\": \"Aucun résultat\",\n    \"add_new_company\": \"Ajouter une société\",\n    \"new_company\": \"Nouvelle société\",\n    \"created_message\": \"Société créée\"\n  },\n  \"dateRange\": {\n    \"today\": \"Aujourd'hui\",\n    \"this_week\": \"Cette semaine\",\n    \"this_month\": \"Ce mois\",\n    \"this_quarter\": \"Ce trimestre\",\n    \"this_year\": \"Cette année\",\n    \"previous_week\": \"Semaine précédente\",\n    \"previous_month\": \"Mois précédent\",\n    \"previous_quarter\": \"Trimestre précédent\",\n    \"previous_year\": \"Année précédente\",\n    \"custom\": \"Personnalisée\"\n  },\n  \"customers\": {\n    \"title\": \"Clients\",\n    \"prefix\": \"Code client\",\n    \"add_customer\": \"Ajouter un client\",\n    \"contacts_list\": \"Liste de clients\",\n    \"name\": \"Nom\",\n    \"mail\": \"Email | Emails\",\n    \"statement\": \"Déclaration\",\n    \"display_name\": \"Nom\",\n    \"primary_contact_name\": \"Contact principal\",\n    \"contact_name\": \"Contact\",\n    \"amount_due\": \"Montant dû\",\n    \"email\": \"Email\",\n    \"address\": \"Adresse\",\n    \"phone\": \"Téléphone\",\n    \"website\": \"Site Internet\",\n    \"overview\": \"Aperçu\",\n    \"invoice_prefix\": \"Préfixe de facture\",\n    \"estimate_prefix\": \"Préfixe des devis\",\n    \"payment_prefix\": \"Préfixe de paiement\",\n    \"enable_portal\": \"Activer le portail\",\n    \"country\": \"Pays\",\n    \"state\": \"État\",\n    \"city\": \"Ville\",\n    \"zip_code\": \"Code postal\",\n    \"added_on\": \"Ajouté le\",\n    \"action\": \"Action\",\n    \"password\": \"Mot de passe\",\n    \"confirm_password\": \"Confirmez le mot de passe\",\n    \"street_number\": \"Numéro de rue\",\n    \"primary_currency\": \"Devise principale\",\n    \"description\": \"Description\",\n    \"add_new_customer\": \"Ajouter un client\",\n    \"save_customer\": \"Enregistrer\",\n    \"update_customer\": \"Enregistrer\",\n    \"customer\": \"Client | Clients\",\n    \"new_customer\": \"Nouveau client\",\n    \"edit_customer\": \"Modifier le client\",\n    \"basic_info\": \"Informations de base\",\n    \"portal_access\": \"Accès Portail\",\n    \"portal_access_text\": \"Souhaitez vous autoriser ce client à se connecter au Portail Client ?\",\n    \"portal_access_url\": \"URL de connexion Portail Client\",\n    \"portal_access_url_help\": \"Veuillez copiez et envoyez le lien ci-dessus au client pour lui fournir l'accès au portail.\",\n    \"billing_address\": \"Adresse de facturation\",\n    \"shipping_address\": \"Adresse de livraison\",\n    \"copy_billing_address\": \"Copier depuis l'adresse de facturation\",\n    \"no_customers\": \"Vous n’avez pas encore de clients !\",\n    \"no_customers_found\": \"Aucun client\",\n    \"no_contact\": \"-\",\n    \"no_contact_name\": \"-\",\n    \"list_of_customers\": \"Ajoutez des clients et retrouvez-les ici.\",\n    \"primary_display_name\": \"Nom d'affichage principal\",\n    \"select_currency\": \"Sélectionnez la devise\",\n    \"select_a_customer\": \"Sélectionnez un client\",\n    \"type_or_click\": \"Sélectionnez un article\",\n    \"new_transaction\": \"Ajouter une opération\",\n    \"no_matching_customers\": \"Il n'y a aucun client correspondant !\",\n    \"phone_number\": \"Numéro de téléphone\",\n    \"create_date\": \"Date de création\",\n    \"confirm_delete\": \"Vous ne pourrez pas récupérer ce client et les devis, factures et paiements associés. | Vous ne serez pas en mesure de récupérer ces clients et les devis, factures et paiements associés.\",\n    \"created_message\": \"Client créé\",\n    \"updated_message\": \"Client mis à jour\",\n    \"address_updated_message\": \"Adresse mise à jour avec succès\",\n    \"deleted_message\": \"Client supprimé | Clients supprimés\",\n    \"edit_currency_not_allowed\": \"Impossible de changer de devise une fois les transactions créées.\"\n  },\n  \"items\": {\n    \"title\": \"Articles\",\n    \"items_list\": \"Liste d'articles\",\n    \"name\": \"Nom\",\n    \"unit\": \"Unité\",\n    \"description\": \"Description\",\n    \"added_on\": \"Ajouté le\",\n    \"price\": \"Prix\",\n    \"date_of_creation\": \"Date de création\",\n    \"not_selected\": \"Aucun article sélectionné\",\n    \"action\": \"Action\",\n    \"add_item\": \"Nouvel article\",\n    \"save_item\": \"Enregistrer\",\n    \"update_item\": \"Enregistrer\",\n    \"item\": \"Article | Articles\",\n    \"add_new_item\": \"Ajouter un article\",\n    \"new_item\": \"Nouvel article\",\n    \"edit_item\": \"Modifier cet article\",\n    \"no_items\": \"Aucun article\",\n    \"list_of_items\": \"Ajoutez des articles et retrouvez-les ici\",\n    \"select_a_unit\": \"Sélectionnez l'unité\",\n    \"taxes\": \"Taxes\",\n    \"item_attached_message\": \"Impossible de supprimer un article déjà utilisé\",\n    \"confirm_delete\": \"Vous ne pourrez pas récupérer cet article | Vous ne pourrez pas récupérer ces objets\",\n    \"created_message\": \"Article créé\",\n    \"updated_message\": \"Article mis à jour\",\n    \"deleted_message\": \"Article supprimé avec succès | Articles supprimés avec succès\"\n  },\n  \"estimates\": {\n    \"title\": \"Devis\",\n    \"accept_estimate\": \"Accepter devis\",\n    \"reject_estimate\": \"Rejeter devis\",\n    \"estimate\": \"Devis | Devis\",\n    \"estimates_list\": \"Liste des devis\",\n    \"days\": \"{days} jours\",\n    \"months\": \"{months} mois\",\n    \"years\": \"{years} Année\",\n    \"all\": \"Tous\",\n    \"paid\": \"Payé\",\n    \"unpaid\": \"Non payé\",\n    \"customer\": \"Client\",\n    \"ref_no\": \"Réf.\",\n    \"number\": \"N°\",\n    \"amount_due\": \"MONTANT\",\n    \"partially_paid\": \"Partiellement payé\",\n    \"total\": \"Total\",\n    \"discount\": \"Remise\",\n    \"sub_total\": \"Sous-total\",\n    \"estimate_number\": \"N°\",\n    \"ref_number\": \"Référence\",\n    \"contact\": \"Contact\",\n    \"add_item\": \"Ajouter un article\",\n    \"date\": \"Date\",\n    \"due_date\": \"Date d'échéance\",\n    \"expiry_date\": \"Date d'expiration\",\n    \"status\": \"Statut\",\n    \"add_tax\": \"Ajouter une taxe\",\n    \"amount\": \"Montant\",\n    \"action\": \"Action\",\n    \"notes\": \"Notes de bas de page\",\n    \"tax\": \"Taxe\",\n    \"estimate_template\": \"Modèle de devis\",\n    \"convert_to_invoice\": \"Convertir en facture\",\n    \"mark_as_sent\": \"Marquer comme envoyé\",\n    \"send_estimate\": \"Envoyer par email\",\n    \"resend_estimate\": \"Renvoyer le devis\",\n    \"record_payment\": \"Enregistrer un paiement\",\n    \"add_estimate\": \"Nouveau devis\",\n    \"save_estimate\": \"Enregistrer\",\n    \"confirm_conversion\": \"Ce devis sera utilisé pour créer une nouvelle facture.\",\n    \"conversion_message\": \"Conversion réussie\",\n    \"confirm_send_estimate\": \"Ce devis sera envoyée par email au client\",\n    \"confirm_mark_as_sent\": \"Ce devis sera marqué comme envoyé\",\n    \"confirm_mark_as_accepted\": \"Ce devis sera marqué comme accepté\",\n    \"confirm_mark_as_rejected\": \"Ce devis sera marqué comme rejeté\",\n    \"no_matching_estimates\": \"Aucune estimation correspondante !\",\n    \"mark_as_sent_successfully\": \"Devis marqué comme envoyé\",\n    \"send_estimate_successfully\": \"Devis envoyé\",\n    \"errors\": {\n      \"required\": \"Champ requis\"\n    },\n    \"accepted\": \"Accepté\",\n    \"rejected\": \"Refusé\",\n    \"expired\": \"Expiré\",\n    \"sent\": \"Envoyé\",\n    \"draft\": \"Brouillon\",\n    \"viewed\": \"Consultée\",\n    \"declined\": \"Refusé\",\n    \"new_estimate\": \"Nouveau devis\",\n    \"add_new_estimate\": \"Nouveau devis\",\n    \"update_Estimate\": \"Enregistrer\",\n    \"edit_estimate\": \"Modifier ce devis\",\n    \"items\": \"articles\",\n    \"Estimate\": \"Devis | Devis\",\n    \"add_new_tax\": \"Ajouter une taxe\",\n    \"no_estimates\": \"Aucun devis\",\n    \"list_of_estimates\": \"Ajoutez des clients et retrouvez-les ici\",\n    \"mark_as_rejected\": \"Marquer comme rejeté\",\n    \"mark_as_accepted\": \"Marquer comme accepté\",\n    \"marked_as_accepted_message\": \"Devis marqué comme accepté\",\n    \"marked_as_rejected_message\": \"Devis marqué comme rejeté\",\n    \"confirm_delete\": \"Vous ne pourrez pas récupérer ce devis | Vous ne pourrez pas récupérer ces devis\",\n    \"created_message\": \"Devis créé\",\n    \"updated_message\": \"Devis mise à jour\",\n    \"deleted_message\": \"Devis supprimé | Devis supprimés\",\n    \"something_went_wrong\": \"quelque chose a mal tourné\",\n    \"item\": {\n      \"title\": \"Titre de l'article\",\n      \"description\": \"Description\",\n      \"quantity\": \"Quantité\",\n      \"price\": \"Prix\",\n      \"discount\": \"Remise\",\n      \"total\": \"Total\",\n      \"total_discount\": \"Remise totale\",\n      \"sub_total\": \"Sous-total\",\n      \"tax\": \"Taxe\",\n      \"amount\": \"Montant\",\n      \"select_an_item\": \"Sélectionnez un article\",\n      \"type_item_description\": \"Taper la description de l'article (facultatif)\"\n    },\n    \"mark_as_default_estimate_template_description\": \"If enabled, the selected template will be automatically selected for new estimates.\"\n  },\n  \"invoices\": {\n    \"title\": \"Factures\",\n    \"download\": \"Télécharger\",\n    \"pay_invoice\": \"Payer facture\",\n    \"invoices_list\": \"Liste des factures\",\n    \"invoice_information\": \"Informations sur la facture\",\n    \"days\": \"{days} jours\",\n    \"months\": \"{months} mois\",\n    \"years\": \"{years} années\",\n    \"all\": \"Toutes\",\n    \"paid\": \"Payée\",\n    \"unpaid\": \"Non payée\",\n    \"viewed\": \"Consultée\",\n    \"overdue\": \"En retard\",\n    \"completed\": \"Payée\",\n    \"customer\": \"CLIENT\",\n    \"paid_status\": \"État du paiement\",\n    \"ref_no\": \"Réf.\",\n    \"number\": \"N°\",\n    \"amount_due\": \"MONTANT\",\n    \"partially_paid\": \"Partiellement payée\",\n    \"total\": \"Total\",\n    \"discount\": \"Remise\",\n    \"sub_total\": \"Sous-total\",\n    \"invoice\": \"Facture | Factures\",\n    \"invoice_number\": \"N°\",\n    \"ref_number\": \"Référence\",\n    \"contact\": \"Contact\",\n    \"add_item\": \"Nouvel article\",\n    \"date\": \"Date\",\n    \"due_date\": \"Date d'échéance\",\n    \"status\": \"Statut\",\n    \"add_tax\": \"Ajouter une taxe\",\n    \"amount\": \"Montant\",\n    \"action\": \"Action\",\n    \"notes\": \"Notes de bas de page\",\n    \"view\": \"Afficher\",\n    \"send_invoice\": \"Envoyer par email\",\n    \"resend_invoice\": \"Renvoyer la facture\",\n    \"invoice_template\": \"Modèle de facture\",\n    \"conversion_message\": \"Facture clonée\",\n    \"template\": \"Modèle\",\n    \"mark_as_sent\": \"Marquer comme envoyée\",\n    \"confirm_send_invoice\": \"Cette facture sera envoyée par email au client\",\n    \"invoice_mark_as_sent\": \"Cette facture sera marquée comme envoyé\",\n    \"confirm_mark_as_accepted\": \"Cette facture sera marquée comme acceptée\",\n    \"confirm_mark_as_rejected\": \"Cette facture sera marquée comme rejetée\",\n    \"confirm_send\": \"Cette facture sera envoyée par email au client\",\n    \"invoice_date\": \"Date\",\n    \"record_payment\": \"Enregistrer un paiement\",\n    \"add_new_invoice\": \"Nouvelle facture\",\n    \"update_expense\": \"Enregistrer la dépense\",\n    \"edit_invoice\": \"Modifier cette facture\",\n    \"new_invoice\": \"Nouvelle facture\",\n    \"save_invoice\": \"Enregistrer\",\n    \"update_invoice\": \"Enregistrer\",\n    \"add_new_tax\": \"Ajouter une taxe\",\n    \"no_invoices\": \"Aucune facture\",\n    \"mark_as_rejected\": \"Marquer comme rejetée\",\n    \"mark_as_accepted\": \"Marquer comme acceptée\",\n    \"list_of_invoices\": \"Ajoutez des factures et retrouvez-les ici\",\n    \"select_invoice\": \"Sélectionnez facture\",\n    \"no_matching_invoices\": \"Aucune facture correspondante !\",\n    \"mark_as_sent_successfully\": \"Facture marquée comme envoyée\",\n    \"invoice_sent_successfully\": \"Facture envoyée\",\n    \"cloned_successfully\": \"Facture clonée\",\n    \"clone_invoice\": \"Dupliquer\",\n    \"confirm_clone\": \"Cette facture sera dupliquée dans une nouvelle facture\",\n    \"item\": {\n      \"title\": \"Titre de l'article\",\n      \"description\": \"Description\",\n      \"quantity\": \"Quantité\",\n      \"price\": \"Prix\",\n      \"discount\": \"Remise\",\n      \"total\": \"Total\",\n      \"total_discount\": \"Remise totale\",\n      \"sub_total\": \"Sous-total\",\n      \"tax\": \"Taxe\",\n      \"amount\": \"Montant\",\n      \"select_an_item\": \"Sélectionnez un article\",\n      \"type_item_description\": \"Saisissez une description (facultatif)\"\n    },\n    \"payment_attached_message\": \"Un paiement est lié à l'une des factures sélectionnées. Veuillez d'abord les supprimer, puis réessayez\",\n    \"confirm_delete\": \"Vous ne pourrez pas récupérer cette facture | Vous ne pourrez pas récupérer ces factures\",\n    \"created_message\": \"Facture créée\",\n    \"updated_message\": \"Facture mise à jour\",\n    \"deleted_message\": \"La facture a été supprimée | Les factures ont été supprimées\",\n    \"marked_as_sent_message\": \"Facture supprimée | Factures supprimées\",\n    \"something_went_wrong\": \"quelque chose a mal tourné\",\n    \"invalid_due_amount_message\": \"Le paiement entré est supérieur au montant total dû pour cette facture. Veuillez vérifier et réessayer.\",\n    \"mark_as_default_invoice_template_description\": \"If enabled, the selected template will be automatically selected for new invoices.\"\n  },\n  \"recurring_invoices\": {\n    \"title\": \"Factures récurrentes\",\n    \"invoices_list\": \"Liste des factures récurrentes\",\n    \"days\": \"{days} jours\",\n    \"months\": \"{months} mois\",\n    \"years\": \"{years} ans\",\n    \"all\": \"Toutes\",\n    \"paid\": \"Payée\",\n    \"unpaid\": \"Non payée\",\n    \"viewed\": \"Consultée\",\n    \"overdue\": \"En retard\",\n    \"active\": \"Active\",\n    \"completed\": \"Payée\",\n    \"customer\": \"CLIENT\",\n    \"paid_status\": \"ÉTAT DU PAIEMENT\",\n    \"ref_no\": \"N° de REF.\",\n    \"number\": \"N°\",\n    \"amount_due\": \"MONTANT DÛ\",\n    \"partially_paid\": \"Partiellement payée\",\n    \"total\": \"Total\",\n    \"discount\": \"Remise\",\n    \"sub_total\": \"Sous-total\",\n    \"invoice\": \"Facture récurrente | Factures récurrentes\",\n    \"invoice_number\": \"N°\",\n    \"next_invoice_date\": \"Prochaine date de facturation\",\n    \"ref_number\": \"N° de référence\",\n    \"contact\": \"Contact\",\n    \"add_item\": \"Ajouter un article\",\n    \"date\": \"Date\",\n    \"limit_by\": \"Limiter par\",\n    \"limit_date\": \"Date limite\",\n    \"limit_count\": \"Nombre limite\",\n    \"count\": \"Nombre\",\n    \"status\": \"Statut\",\n    \"select_a_status\": \"Sélectionnez un statut\",\n    \"working\": \"Active\",\n    \"on_hold\": \"Suspendue\",\n    \"complete\": \"Payée\",\n    \"add_tax\": \"Ajouter une taxe\",\n    \"amount\": \"Montant\",\n    \"action\": \"Action\",\n    \"notes\": \"Notes de bas de page\",\n    \"view\": \"Afficher\",\n    \"basic_info\": \"Informations générales\",\n    \"send_invoice\": \"Envoyer la facture récurrente\",\n    \"auto_send\": \"Envoi automatique\",\n    \"resend_invoice\": \"Renvoyer la facture récurrente\",\n    \"invoice_template\": \"Modèle de facture récurrente\",\n    \"conversion_message\": \"Facture récurrente clonée\",\n    \"template\": \"Modèle\",\n    \"mark_as_sent\": \"Marquer comme envoyée\",\n    \"confirm_send_invoice\": \"Cette facture récurrente sera envoyée par email au client\",\n    \"invoice_mark_as_sent\": \"Cette facture récurrente sera marquée comme envoyée\",\n    \"confirm_send\": \"Cette facture récurrente sera envoyée par email au client\",\n    \"starts_at\": \"Date de début\",\n    \"due_date\": \"Date d'échéance\",\n    \"record_payment\": \"Enregister un paiement\",\n    \"add_new_invoice\": \"Nouvelle facture récurrente\",\n    \"update_expense\": \"Mettre à jour les dépenses\",\n    \"edit_invoice\": \"Modifier cette facture récurrente\",\n    \"new_invoice\": \"Nouvelle facture récurrente\",\n    \"send_automatically\": \"Envoyer automatiquement\",\n    \"send_automatically_desc\": \"Activez ceci si vous souhaitez envoyer la facture automatiquement au client lorsque celle-ci est créée.\",\n    \"save_invoice\": \"Enregistrer\",\n    \"update_invoice\": \"Modifier la facture récurrente\",\n    \"add_new_tax\": \"Ajouter une taxe\",\n    \"no_invoices\": \"Aucune facture récurrente pour le moment !\",\n    \"mark_as_rejected\": \"Marquer comme rejetée\",\n    \"mark_as_accepted\": \"Marquer comme accepté\",\n    \"list_of_invoices\": \"Ajoutez des factures récurrentes et retrouvez-les ici\",\n    \"select_invoice\": \"Sélectionnez la facture\",\n    \"no_matching_invoices\": \"Aucune facture récurrente correspondante\",\n    \"mark_as_sent_successfully\": \"Facture récurrente marquée comme envoyée\",\n    \"invoice_sent_successfully\": \"Facture récurrente envoyée\",\n    \"cloned_successfully\": \"Facture récurrente clonée\",\n    \"clone_invoice\": \"Dupliquer\",\n    \"confirm_clone\": \"Cette facture récurrente sera clonée dans une nouvelle facture récurrente\",\n    \"add_customer_email\": \"Please add an email address for this customer to send invoices automatically.\",\n    \"item\": {\n      \"title\": \"Nom\",\n      \"description\": \"Description\",\n      \"quantity\": \"Quantité\",\n      \"price\": \"Prix\",\n      \"discount\": \"Remise\",\n      \"total\": \"Total\",\n      \"total_discount\": \"Remise totale\",\n      \"sub_total\": \"Sous-total\",\n      \"tax\": \"Taxe\",\n      \"amount\": \"Montant\",\n      \"select_an_item\": \"Tapez ou cliquez pour sélectionner un article\",\n      \"type_item_description\": \"Description de l'article (facultatif)\"\n    },\n    \"frequency\": {\n      \"title\": \"Fréquence\",\n      \"select_frequency\": \"Sélectionner la fréquence\",\n      \"minute\": \"Minute\",\n      \"hour\": \"Heure\",\n      \"day_month\": \"Jour du mois\",\n      \"month\": \"Mois\",\n      \"day_week\": \"Jour de la semaine\"\n    },\n    \"confirm_delete\": \"Vous ne pourrez pas récupérer cette facture | Vous ne pourrez pas récupérer ces factures\",\n    \"created_message\": \"Facture récurrente créée\",\n    \"updated_message\": \"Facture récurrente mise à jour\",\n    \"deleted_message\": \"Facture récurrente supprimée\",\n    \"marked_as_sent_message\": \"Facture récurrente envoyée\",\n    \"user_email_does_not_exist\": \"L'email de l'utilisateur n'existe pas\",\n    \"something_went_wrong\": \"une erreur s’est produite\",\n    \"invalid_due_amount_message\": \"Le montant total de la facture récurrente ne peut pas être inférieur au montant total payé pour cette facture récurrente. Veuillez mettre à jour la facture ou supprimer les paiements associés pour continuer.\"\n  },\n  \"payments\": {\n    \"title\": \"Paiements\",\n    \"payments_list\": \"Liste de paiements\",\n    \"record_payment\": \"Enregistrer un paiement\",\n    \"customer\": \"Client\",\n    \"date\": \"Date\",\n    \"amount\": \"Montant\",\n    \"action\": \"Action\",\n    \"payment_number\": \"N°\",\n    \"payment_mode\": \"Mode de paiement\",\n    \"invoice\": \"Facture\",\n    \"note\": \"Description\",\n    \"add_payment\": \"Nouveau paiement\",\n    \"new_payment\": \"Nouveau paiement\",\n    \"edit_payment\": \"Modifier ce paiement\",\n    \"view_payment\": \"Afficher le paiement\",\n    \"add_new_payment\": \"Nouveau paiement\",\n    \"send_payment_receipt\": \"Envoyer le reçu\",\n    \"send_payment\": \"Envoyer par email\",\n    \"save_payment\": \"Enregistrer\",\n    \"update_payment\": \"Enregistrer\",\n    \"payment\": \"Paiement | Paiements\",\n    \"no_payments\": \"Aucun paiement\",\n    \"not_selected\": \"-\",\n    \"no_invoice\": \"Aucune facture\",\n    \"no_matching_payments\": \"Il n'y a aucun paiement correspondant !\",\n    \"list_of_payments\": \"Ajoutez des paiements et retrouvez-les ici\",\n    \"select_payment_mode\": \"Sélectionnez le mode de paiement\",\n    \"confirm_mark_as_sent\": \"Ce devis sera marqué comme envoyé\",\n    \"confirm_send_payment\": \"Ce paiement sera envoyé par email au client\",\n    \"send_payment_successfully\": \"Paiement envoyé\",\n    \"something_went_wrong\": \"quelque chose a mal tourné\",\n    \"confirm_delete\": \"Vous ne pourrez pas récupérer ce paiement | Vous ne pourrez pas récupérer ces paiements\",\n    \"created_message\": \"Paiement créé\",\n    \"updated_message\": \"Paiement mis à jour\",\n    \"deleted_message\": \"Paiement supprimé | Paiements supprimés\",\n    \"invalid_amount_message\": \"Le montant du paiement est invalide\"\n  },\n  \"expenses\": {\n    \"title\": \"Dépenses\",\n    \"expenses_list\": \"Liste des dépenses\",\n    \"select_a_customer\": \"Sélectionnez un client\",\n    \"expense_title\": \"Titre\",\n    \"customer\": \"Client\",\n    \"currency\": \"Devise\",\n    \"contact\": \"Contact\",\n    \"category\": \"Catégorie\",\n    \"from_date\": \"Du\",\n    \"to_date\": \"Au\",\n    \"expense_date\": \"Date\",\n    \"description\": \"Description\",\n    \"receipt\": \"Reçu\",\n    \"amount\": \"Montant\",\n    \"action\": \"Action\",\n    \"not_selected\": \"-\",\n    \"note\": \"Description\",\n    \"category_id\": \"Identifiant de catégorie\",\n    \"date\": \"Date\",\n    \"add_expense\": \"Nouvelle dépense\",\n    \"add_new_expense\": \"Nouvelle dépense\",\n    \"save_expense\": \"Enregistrer\",\n    \"update_expense\": \"Enregistrer\",\n    \"download_receipt\": \"Télécharger le reçu\",\n    \"edit_expense\": \"Modifier cette dépense\",\n    \"new_expense\": \"Nouvelle dépense\",\n    \"expense\": \"Dépense | Dépenses\",\n    \"no_expenses\": \"Aucune dépense\",\n    \"list_of_expenses\": \"Ajoutez des dépenses et retrouvez-les ici\",\n    \"confirm_delete\": \"Vous ne pourrez pas récupérer cette dépense | Vous ne pourrez pas récupérer ces dépenses\",\n    \"created_message\": \"Dépense créée\",\n    \"updated_message\": \"Dépense mise à jour\",\n    \"deleted_message\": \"Dépense supprimée | Dépenses supprimées\",\n    \"categories\": {\n      \"categories_list\": \"Liste des catégories\",\n      \"title\": \"Titre\",\n      \"name\": \"Nom\",\n      \"description\": \"Description\",\n      \"amount\": \"Montant\",\n      \"actions\": \"Actions\",\n      \"add_category\": \"Nouvelle catégorie\",\n      \"new_category\": \"Nouvelle catégorie\",\n      \"category\": \"Catégorie | Catégories\",\n      \"select_a_category\": \"Choisissez une catégorie\"\n    }\n  },\n  \"login\": {\n    \"email\": \"Email\",\n    \"password\": \"Mot de passe\",\n    \"forgot_password\": \"Mot de passe oublié ?\",\n    \"or_signIn_with\": \"ou connectez-vous avec\",\n    \"login\": \"Se connecter\",\n    \"register\": \"S'inscrire\",\n    \"reset_password\": \"Réinitialiser le mot de passe\",\n    \"password_reset_successfully\": \"Réinitialisation du mot de passe réussie\",\n    \"enter_email\": \"Entrez votre email\",\n    \"enter_password\": \"Entrer le mot de passe\",\n    \"retype_password\": \"Retaper le mot de passe\"\n  },\n  \"modules\": {\n    \"buy_now\": \"Acheter maintenant\",\n    \"install\": \"Installer\",\n    \"price\": \"Prix\",\n    \"download_zip_file\": \"Télécharger le fichier ZIP\",\n    \"unzipping_package\": \"Décompresser le fichier\",\n    \"copying_files\": \"Copie de fichiers en cours\",\n    \"deleting_files\": \"Supprimer les fichiers inutilisés\",\n    \"completing_installation\": \"Terminer l'installation\",\n    \"update_failed\": \"Échec de la mise à jour\",\n    \"install_success\": \"Votre module a été correctement installé !\",\n    \"customer_reviews\": \"Évaluations\",\n    \"license\": \"License\",\n    \"faq\": \"FAQ\",\n    \"monthly\": \"Mensuel\",\n    \"yearly\": \"Annuel\",\n    \"updated\": \"Mis à jour\",\n    \"version\": \"Version\",\n    \"disable\": \"Désactiver\",\n    \"module_disabled\": \"Module désactivé\",\n    \"enable\": \"Activer\",\n    \"module_enabled\": \"Module activé\",\n    \"update_to\": \"Mise à jour vers\",\n    \"module_updated\": \"Le module a bien été mis à jour !\",\n    \"title\": \"Modules\",\n    \"module\": \"Module | Modules\",\n    \"api_token\": \"Jeton API\",\n    \"invalid_api_token\": \"Jeton API invalide.\",\n    \"other_modules\": \"Autres modules\",\n    \"view_all\": \"Tout afficher\",\n    \"no_reviews_found\": \"Il n'y a pas encore d'avis pour ce module !\",\n    \"module_not_purchased\": \"Module non acheté\",\n    \"module_not_found\": \"Module non trouvé\",\n    \"version_not_supported\": \"This module version doesn't support the current version of Crater\",\n    \"last_updated\": \"Mis à jour le\",\n    \"connect_installation\": \"Connectez votre installation\",\n    \"api_token_description\": \"Rendez-vous à {url} et connectez votre application en entrant le jeton d'API. Vos modules achetés apparaîtront ici une fois la connexion établie.\",\n    \"view_module\": \"Afficher le module\",\n    \"update_available\": \"Mise à jour disponible\",\n    \"purchased\": \"Acheté\",\n    \"installed\": \"Installé\",\n    \"no_modules_installed\": \"Aucun module installé !\",\n    \"disable_warning\": \"Tous les paramètres de ce module seront réinitialisés.\",\n    \"what_you_get\": \"Ce que vous obtenez\"\n  },\n  \"users\": {\n    \"title\": \"Utilisateurs\",\n    \"users_list\": \"Liste des utilisateurs\",\n    \"name\": \"Nom\",\n    \"description\": \"Description\",\n    \"added_on\": \"Ajouté le\",\n    \"date_of_creation\": \"Date de création\",\n    \"action\": \"Action\",\n    \"add_user\": \"Nouvel utilisateur\",\n    \"save_user\": \"Enregistrer l'utilisateur\",\n    \"update_user\": \"Enregistrer\",\n    \"user\": \"Utilisateur | Utilisateurs\",\n    \"add_new_user\": \"Nouvel utilisateur\",\n    \"new_user\": \"Nouvel utilisateur\",\n    \"edit_user\": \"Modifier cet utilisateur\",\n    \"no_users\": \"Aucun utilisateur\",\n    \"list_of_users\": \"Ajoutez des utilisateurs et retrouvez-les ici\",\n    \"email\": \"Email\",\n    \"phone\": \"Téléphone\",\n    \"password\": \"Mot de passe\",\n    \"user_attached_message\": \"Impossible de supprimer un élément déjà utilisé\",\n    \"confirm_delete\": \"Vous ne pourrez pas récupérer cet utilisateur | Vous ne pourrez pas récupérer ces utilisateurs\",\n    \"created_message\": \"Utilisateur créé\",\n    \"updated_message\": \"Utilisateur mis à jour\",\n    \"deleted_message\": \"Utilisateur supprimé | Utilisateurs supprimés\",\n    \"select_company_role\": \"Sélectionner un rôle pour {company}\",\n    \"companies\": \"Sociétés\"\n  },\n  \"reports\": {\n    \"title\": \"Rapport\",\n    \"from_date\": \"Du\",\n    \"to_date\": \"Au\",\n    \"status\": \"Statut\",\n    \"paid\": \"Payé\",\n    \"unpaid\": \"Non payé\",\n    \"download_pdf\": \"Télécharger le PDF\",\n    \"view_pdf\": \"Afficher le PDF\",\n    \"update_report\": \"Actualiser\",\n    \"report\": \"Rapport | Rapports\",\n    \"profit_loss\": {\n      \"profit_loss\": \"Balance\",\n      \"to_date\": \"Au\",\n      \"from_date\": \"Du\",\n      \"date_range\": \"Période\"\n    },\n    \"sales\": {\n      \"sales\": \"Ventes\",\n      \"date_range\": \"Période\",\n      \"to_date\": \"Au\",\n      \"from_date\": \"Du\",\n      \"report_type\": \"Trier\"\n    },\n    \"taxes\": {\n      \"taxes\": \"Taxes\",\n      \"to_date\": \"Au\",\n      \"from_date\": \"Du\",\n      \"date_range\": \"Période\"\n    },\n    \"errors\": {\n      \"required\": \"Champ requis\"\n    },\n    \"invoices\": {\n      \"invoice\": \"Facture\",\n      \"invoice_date\": \"Date\",\n      \"due_date\": \"Date déchéance\",\n      \"amount\": \"Montant \",\n      \"contact_name\": \"Contact\",\n      \"status\": \"Statut\"\n    },\n    \"estimates\": {\n      \"estimate\": \"Devis\",\n      \"estimate_date\": \"Date\",\n      \"due_date\": \"Date d'échéance\",\n      \"estimate_number\": \"N°\",\n      \"ref_number\": \"Référence\",\n      \"amount\": \"Montant\",\n      \"contact_name\": \"Contact\",\n      \"status\": \"Statut\"\n    },\n    \"expenses\": {\n      \"expenses\": \"Dépenses\",\n      \"category\": \"Nom\",\n      \"date\": \"Date\",\n      \"amount\": \"Montant\",\n      \"to_date\": \"Au\",\n      \"from_date\": \"Du\",\n      \"date_range\": \"Période\"\n    }\n  },\n  \"settings\": {\n    \"menu_title\": {\n      \"account_settings\": \"Profil\",\n      \"company_information\": \"Coordonnées de la société\",\n      \"customization\": \"Personnalisation\",\n      \"preferences\": \"Préférences\",\n      \"notifications\": \"Notifications\",\n      \"tax_types\": \"Taxes\",\n      \"expense_category\": \"Catégories de dépense\",\n      \"update_app\": \"Mise à jour\",\n      \"backup\": \"Sauvegarde\",\n      \"file_disk\": \"Stockage\",\n      \"custom_fields\": \"Champs personnalisés\",\n      \"payment_modes\": \"Modes de paiement\",\n      \"notes\": \"Notes de bas de page\",\n      \"exchange_rate\": \"Taux de change\",\n      \"address_information\": \"Information d'adresse\"\n    },\n    \"address_information\": {\n      \"section_description\": \"  Vous pouvez mettre à jour vos informations d'adresse via le formulaire ci dessous.\"\n    },\n    \"title\": \"Paramètres\",\n    \"setting\": \"Paramètres | Paramètres\",\n    \"general\": \"Paramètres généraux\",\n    \"language\": \"Langue\",\n    \"primary_currency\": \"Devise principale\",\n    \"timezone\": \"Fuseau horaire\",\n    \"date_format\": \"Format de date\",\n    \"currencies\": {\n      \"title\": \"Devises\",\n      \"currency\": \"Devise | Devises\",\n      \"currencies_list\": \"Liste des devises\",\n      \"select_currency\": \"Sélectionnez la devise\",\n      \"name\": \"Nom\",\n      \"code\": \"Code \",\n      \"symbol\": \"Symbole\",\n      \"precision\": \"Précision\",\n      \"thousand_separator\": \"Séparateur de milliers\",\n      \"decimal_separator\": \"Séparateur décimal\",\n      \"position\": \"Position\",\n      \"position_of_symbol\": \"Position du symbole\",\n      \"right\": \"Droite\",\n      \"left\": \"Gauche\",\n      \"action\": \"Action\",\n      \"add_currency\": \"Ajouter une devise\"\n    },\n    \"mail\": {\n      \"host\": \"Adresse du serveur\",\n      \"port\": \"Port\",\n      \"driver\": \"Fournisseur\",\n      \"secret\": \"Secret\",\n      \"mailgun_secret\": \"Secret Mailgun\",\n      \"mailgun_domain\": \"Domaine\",\n      \"mailgun_endpoint\": \"Mailgun Endpoint\",\n      \"ses_secret\": \"SES Secret\",\n      \"ses_key\": \"SES Key\",\n      \"password\": \"Mot de passe\",\n      \"username\": \"Nom d'utilisateur\",\n      \"mail_config\": \"Envoi d'emails\",\n      \"from_name\": \"Nom de l'expéditeur\",\n      \"from_mail\": \"Email de l'expéditeur\",\n      \"encryption\": \"Chiffrement\",\n      \"mail_config_desc\": \"Saisissez ici les paramètres d'envoi de votre boîte email, afin que l'application puisse envoyer des messages. Vous pouvez également utiliser un service tiers, comme Sendgrid par exemple.\"\n    },\n    \"pdf\": {\n      \"title\": \"Paramètre PDF\",\n      \"footer_text\": \"Pied de page\",\n      \"pdf_layout\": \"Mise en page PDF\"\n    },\n    \"company_info\": {\n      \"company_info\": \"Coordonnées de la société\",\n      \"company_name\": \"Nom\",\n      \"company_logo\": \"Logo\",\n      \"section_description\": \"Saisissez ici les coordonnées de votre entreprise qui s'afficheront sur tous vos documents.\",\n      \"phone\": \"Téléphone\",\n      \"country\": \"Pays\",\n      \"state\": \"État\",\n      \"city\": \"Ville\",\n      \"address\": \"Adresse\",\n      \"zip\": \"Code postal\",\n      \"save\": \"Enregistrer\",\n      \"delete\": \"Supprimer\",\n      \"updated_message\": \"Informations sur la société mises à jour\",\n      \"delete_company\": \"Supprimer la société\",\n      \"delete_company_description\": \"Une fois votre société supprimée, vous perdrez définitivement toutes les données et fichiers qui lui sont associés.\",\n      \"are_you_absolutely_sure\": \"En êtes vous vraiment sûr?\",\n      \"delete_company_modal_desc\": \"Cette action ne peut pas être annulée. Cela supprimera définitivement {company} et toutes les données associées.\",\n      \"delete_company_modal_label\": \"Veuillez saisir {company} pour confirmer\"\n    },\n    \"custom_fields\": {\n      \"title\": \"Champs personnalisés\",\n      \"section_description\": \"Personnalisez vos factures, devis et reçus de paiement avec vos propres champs. Vous pouvez les utiliser dans les formats d'adresse ou dans les notes de bas de page.\",\n      \"add_custom_field\": \"Ajouter un champ personnalisé\",\n      \"edit_custom_field\": \"Modifier ce champ personnalisé\",\n      \"field_name\": \"Nom du champs\",\n      \"label\": \"Étiquette\",\n      \"type\": \"Type \",\n      \"name\": \"Nom\",\n      \"slug\": \"Jeton\",\n      \"required\": \"Obligatoire\",\n      \"placeholder\": \"Indication\",\n      \"help_text\": \"Texte d'aide\",\n      \"default_value\": \"Valeur par défaut\",\n      \"prefix\": \"Préfixe\",\n      \"starting_number\": \"Numéro de départ\",\n      \"model\": \"Appliquer à\",\n      \"help_text_description\": \"Saisissez du texte pour aider les utilisateurs à comprendre l'objectif de ce champ personnalisé.\",\n      \"suffix\": \"Suffixe\",\n      \"yes\": \"Oui\",\n      \"no\": \"Non\",\n      \"order\": \"Ordre\",\n      \"custom_field_confirm_delete\": \"Vous ne pourrez pas récupérer ce champ personnalisé\",\n      \"already_in_use\": \"Le champ personnalisé est déjà utilisé\",\n      \"deleted_message\": \"Champ personnalisé supprimé\",\n      \"options\": \"les options\",\n      \"add_option\": \"Ajouter des options\",\n      \"add_another_option\": \"Ajouter une autre option\",\n      \"sort_in_alphabetical_order\": \"Trier par ordre alphabétique\",\n      \"add_options_in_bulk\": \"Ajouter des options en masse\",\n      \"use_predefined_options\": \"Utiliser des options prédéfinies\",\n      \"select_custom_date\": \"Sélectionnez une date personnalisée\",\n      \"select_relative_date\": \"Sélectionnez la date relative\",\n      \"ticked_by_default\": \"Coché par défaut\",\n      \"updated_message\": \"Champ personnalisé mis à jour\",\n      \"added_message\": \"Champ personnalisé ajouté\",\n      \"press_enter_to_add\": \"Appuyez sur Entrée pour ajouter une nouvelle option\",\n      \"model_in_use\": \"Impossible de mettre à jour le modèle pour les champs qui sont déjà utilisés.\",\n      \"type_in_use\": \"Impossible de mettre à jour le type des champs déjà utilisés.\"\n    },\n    \"customization\": {\n      \"customization\": \"Personnalisation\",\n      \"updated_message\": \"Informations la société mises à jour\",\n      \"save\": \"Enregistrer\",\n      \"insert_fields\": \"Insérer des champs\",\n      \"learn_custom_format\": \"Apprenez à utiliser le format personnalisé\",\n      \"add_new_component\": \"Ajouter un composant\",\n      \"component\": \"Composant\",\n      \"Parameter\": \"Paramètre\",\n      \"series\": \"Texte\",\n      \"series_description\": \"Un texte statique qui peut faire jusqu'à quatre caractères.\",\n      \"series_param_label\": \"Texte\",\n      \"delimiter\": \"Séparateur\",\n      \"delimiter_description\": \"Un caractère servant à séparer deux composants. Par exemple, un trait d'union\",\n      \"delimiter_param_label\": \"Caractère\",\n      \"date_format\": \"Date\",\n      \"date_format_description\": \"Une date qui peut formatée. Par exemple, \\\"Y\\\" affichera l'année en cours.\",\n      \"date_format_param_label\": \"Format\",\n      \"sequence\": \"Suite\",\n      \"sequence_description\": \"Génère un numéro de facture unique. Vous pouvez indiquer le nombre de chiffres à utiliser.\",\n      \"sequence_param_label\": \"Longueur\",\n      \"customer_series\": \"Code client\",\n      \"customer_series_description\": \"Un code unique à chaque client, qui peut être indiqué dans les paramètres du client.\",\n      \"customer_sequence\": \"Numéro client\",\n      \"customer_sequence_description\": \"Un numéro de client unique.\",\n      \"customer_sequence_param_label\": \"Longueur\",\n      \"random_sequence\": \"Suite aléatoire\",\n      \"random_sequence_description\": \"Suite alphanumérique aléatoire.\\nVous pouvez spécifier le nombre de caractère.\",\n      \"random_sequence_param_label\": \"Longueur\",\n      \"invoices\": {\n        \"title\": \"Factures\",\n        \"invoice_number_format\": \"Format de numéro\",\n        \"invoice_number_format_description\": \"Personnalisez la structure de vos numéros de facture.\",\n        \"preview_invoice_number\": \"Aperçu\",\n        \"due_date\": \"Date d'échéance\",\n        \"due_date_description\": \"Indiquez si la date d'échéance doit être automatiquement définie lorsque vous créez une facture.\",\n        \"due_date_days\": \"Nombre de jours avant l'échéance de la facture\",\n        \"set_due_date_automatically\": \"Remplir automatiquement la date d'échéance\",\n        \"set_due_date_automatically_description\": \"Activez cette option si vous souhaitez définir automatiquement la date d'échéance lors de la création d'une facture.\",\n        \"default_formats\": \"Modèles\",\n        \"default_formats_description\": \"Modifiez ci-dessous les formats d'adresse ou l'email utilisé lors de la création d'une facture.\",\n        \"default_invoice_email_body\": \"Modèle d'email\",\n        \"company_address_format\": \"Adresse de la société\",\n        \"shipping_address_format\": \"Adresse d'expédition\",\n        \"billing_address_format\": \"Adresse de facturation\",\n        \"invoice_email_attachment\": \"Envoyer les factures en pièces jointes\",\n        \"invoice_email_attachment_setting_description\": \"Activez cette option si vous souhaitez envoyer les factures en pièces jointes. Le bouton \\\"Afficher la facture\\\" n'apparaîtra plus dans l'email.\",\n        \"invoice_settings_updated\": \"Paramètres de facturation mis à jour\",\n        \"retrospective_edits\": \"Édition à postériori\",\n        \"allow\": \"Autoriser\",\n        \"disable_on_invoice_partial_paid\": \"Désactiver après l'enregistrement d'un paiement partiel\",\n        \"disable_on_invoice_paid\": \"Désactiver après l'enregistrement du paiement intégral\",\n        \"disable_on_invoice_sent\": \"Désactiver après l'envoi de la facture\",\n        \"retrospective_edits_description\": \"Vous pouvez empêcher la modification de factures lorsque un paiement est effectué, pour être en conformité avec la loi de certains pays.\"\n      },\n      \"estimates\": {\n        \"title\": \"Devis\",\n        \"estimate_number_format\": \"Format de numéro\",\n        \"estimate_number_format_description\": \"Personnalisez la structure de vos numéros de devis.\",\n        \"preview_estimate_number\": \"Aperçu\",\n        \"expiry_date\": \"Date d'expiration\",\n        \"expiry_date_description\": \"Indiquez si la date d'échéance doit être automatiquement définie lorsque vous créez un devis.\",\n        \"expiry_date_days\": \"Le devis expire après les jours\",\n        \"set_expiry_date_automatically\": \"Définir automatiquement la date d'expiration\",\n        \"set_expiry_date_automatically_description\": \"Activez cette option si vous souhaitez définir automatiquement la date d'échéance lors de la création d'un devis.\",\n        \"default_formats\": \"Formats par défaut\",\n        \"default_formats_description\": \"Modifiez ci-dessous les formats d'adresse ou l'email utilisé lors de la création d'un devis.\",\n        \"default_estimate_email_body\": \"Modèle d'email\",\n        \"company_address_format\": \"Adresse de la société\",\n        \"shipping_address_format\": \"Adresse d'expédition\",\n        \"billing_address_format\": \"Adresse de facturation\",\n        \"estimate_email_attachment\": \"Envoyer les devis en pièces jointes\",\n        \"estimate_email_attachment_setting_description\": \"Activez cette option si vous souhaitez envoyer les devis en pièces jointes. Le bouton \\\"Afficher le devis\\\" n'apparaîtra plus dans l'email.\",\n        \"estimate_settings_updated\": \"Paramètres de devis mis à jour\",\n        \"convert_estimate_options\": \"Conversion du devis\",\n        \"convert_estimate_description\": \"Indiquez quoi faire du devis après sa conversion en facture.\",\n        \"no_action\": \"Ne rien faire\",\n        \"delete_estimate\": \"Supprimer le devis\",\n        \"mark_estimate_as_accepted\": \"Marquer le devis comme accepté\"\n      },\n      \"payments\": {\n        \"title\": \"Paiements\",\n        \"payment_number_format\": \"Format de numéro\",\n        \"payment_number_format_description\": \"Personnalisez la structure de vos numéros de reçu de paiement.\",\n        \"preview_payment_number\": \"Aperçu\",\n        \"default_formats\": \"Formats par défaut\",\n        \"default_formats_description\": \"Modifiez ci-dessous les formats d'adresse ou l'email utilisé lors de la création d'un reçu de paiement.\",\n        \"default_payment_email_body\": \"Modèle d'email\",\n        \"company_address_format\": \"Adresse de la société\",\n        \"from_customer_address_format\": \"Adresse de facturation\",\n        \"payment_email_attachment\": \"Envoyer les reçus de paiement en pièces jointes\",\n        \"payment_email_attachment_setting_description\": \"Activez cette option si vous souhaitez envoyer les devis en pièces jointes. Le bouton \\\"Afficher le reçu de paiement\\\" n'apparaîtra plus dans l'email.\",\n        \"payment_settings_updated\": \"Paramètres mis à jour\"\n      },\n      \"items\": {\n        \"title\": \"Articles\",\n        \"units\": \"Unités\",\n        \"add_item_unit\": \"Ajouter une unité\",\n        \"edit_item_unit\": \"Modifier cette unité\",\n        \"unit_name\": \"Nom\",\n        \"item_unit_added\": \"Unité ajoutée\",\n        \"item_unit_updated\": \"Unité mis à jour\",\n        \"item_unit_confirm_delete\": \"Êtes-vous sur de supprimer cette unité ?\",\n        \"already_in_use\": \"Cette unité existe déjà\",\n        \"deleted_message\": \"Unité supprimée\"\n      },\n      \"notes\": {\n        \"title\": \"Notes de bas de page\",\n        \"description\": \"Créez des notes de bas de page réutilisable sur vos factures, devis et paiements.\",\n        \"notes\": \"Note de bas de page\",\n        \"type\": \"Type \",\n        \"add_note\": \"Nouvelle note de bas de page\",\n        \"add_new_note\": \"Ajouter une note de bas de page\",\n        \"name\": \"Nom\",\n        \"edit_note\": \"Modifier cette note de bas de page\",\n        \"note_added\": \"Note de bas de page ajoutée\",\n        \"note_updated\": \"Note de bas de page mise à jour\",\n        \"note_confirm_delete\": \"Vous ne pourrez pas récupérer cette note de bas de page\",\n        \"already_in_use\": \"La note de bas de page est déjà utilisée\",\n        \"deleted_message\": \"Note de bas de page supprimée\"\n      }\n    },\n    \"account_settings\": {\n      \"profile_picture\": \"Image de profil\",\n      \"name\": \"Nom\",\n      \"email\": \"Email\",\n      \"password\": \"Mot de passe\",\n      \"confirm_password\": \"Confirmez le mot de passe\",\n      \"account_settings\": \"Profil\",\n      \"save\": \"Enregistrer\",\n      \"section_description\": \"Mettez à jour ici vos paramètres de compte, tels que votre nom, votre email ou votre mot de passe.\",\n      \"updated_message\": \"Profil mis à jour\"\n    },\n    \"user_profile\": {\n      \"name\": \"Nom\",\n      \"email\": \"Email\",\n      \"password\": \"Mot de passe\",\n      \"confirm_password\": \"Confirmez le mot de passe\"\n    },\n    \"notification\": {\n      \"title\": \"Notifications\",\n      \"email\": \"Envoyer des notifications à\",\n      \"description\": \"Définissez ici les notifications que vous souhaitez recevoir par email.\",\n      \"invoice_viewed\": \"Facture consultée\",\n      \"invoice_viewed_desc\": \"Lorsque le client visualise la facture envoyée via le tableau de bord de Neptune.\",\n      \"estimate_viewed\": \"Devis consulté\",\n      \"estimate_viewed_desc\": \"Lorsque le client visualise le devis envoyé via le tableau de bord de Neptune.\",\n      \"save\": \"Enregistrer\",\n      \"email_save_message\": \"Email enregistré\",\n      \"please_enter_email\": \"Veuillez entrer un email\"\n    },\n    \"roles\": {\n      \"title\": \"Rôles\",\n      \"description\": \"Gérer les rôles & autorisations de cette société\",\n      \"save\": \"Enregistrer\",\n      \"add_new_role\": \"Ajouter un rôle\",\n      \"role_name\": \"Nom\",\n      \"added_on\": \"Ajouté le\",\n      \"add_role\": \"Ajouter un rôle\",\n      \"edit_role\": \"Modifier ce rôle\",\n      \"name\": \"Nom\",\n      \"permission\": \"Autorisation | Autorisations\",\n      \"select_all\": \"Tout sélectionner\",\n      \"none\": \"Aucun\",\n      \"confirm_delete\": \"Vous ne pourrez pas récupérer ce rôle\",\n      \"created_message\": \"Rôle créé\",\n      \"updated_message\": \"Rôle mis à jour\",\n      \"deleted_message\": \"Rôle supprimé\",\n      \"already_in_use\": \"Le rôle est déjà utilisé\"\n    },\n    \"exchange_rate\": {\n      \"exchange_rate\": \"Taux de change\",\n      \"title\": \"Résoudre les problèmes de taux de change\",\n      \"description\": \"Veuillez entrez le taux de change pour toutes les devises mentionnées ci-dessous pour calculer les totaux en {currency}.\",\n      \"drivers\": \"Fournisseurs\",\n      \"new_driver\": \"Ajouter un fournisseur\",\n      \"edit_driver\": \"Modifier ce fournisseur\",\n      \"select_driver\": \"Sélectionner un fournisseur\",\n      \"update\": \"sélectionner le taux de change \",\n      \"providers_description\": \"Configurez vos fournisseurs de taux de change ici pour récupérer automatiquement le dernier taux de change sur les transactions.\",\n      \"key\": \"Clé d'API\",\n      \"name\": \"Nom\",\n      \"driver\": \"Fournisseur\",\n      \"is_default\": \"PAR DÉFAUT\",\n      \"currency\": \"Devises\",\n      \"exchange_rate_confirm_delete\": \"Vous ne pourrez pas récupérer ce fournisseur\",\n      \"created_message\": \"Fournisseur créé\",\n      \"updated_message\": \"Fournisseur mis à jour\",\n      \"deleted_message\": \"Fournisseur supprimé\",\n      \"error\": \"Vous ne pouvez pas supprimer le fournisseur actif\",\n      \"default_currency_error\": \"Cette devise est déjà affectée à un fournisseur\",\n      \"exchange_help_text\": \"Veuillez entrer le taux de change pour convertir {currency} en {baseCurrency}\",\n      \"currency_freak\": \"Currency Freak\",\n      \"currency_layer\": \"Currency Layer\",\n      \"open_exchange_rate\": \"Open Exchange Rate\",\n      \"currency_converter\": \"Currency Converter\",\n      \"server\": \"Serveur\",\n      \"url\": \"URL\",\n      \"active\": \"Actif\",\n      \"currency_help_text\": \"Ce fournisseur ne sera utilisé que pour les devises sélectionnées ci-dessus\",\n      \"currency_in_used\": \"Les devises suivantes sont déjà affectées à un autre fournisseur. Veuillez désélectionner ces devises pour réactiver ce fournisseur.\"\n    },\n    \"tax_types\": {\n      \"title\": \"Taxes\",\n      \"add_tax\": \"Ajouter une taxe\",\n      \"edit_tax\": \"Modifier cette taxe\",\n      \"description\": \"Ajoutez ou supprimez ici des taxes, et choisissez si elles s'appliquent individuellement aux articles ou au montant total.\",\n      \"add_new_tax\": \"Nouvelle taxe\",\n      \"tax_settings\": \"Paramètres de taxe\",\n      \"tax_per_item\": \"Taxe par article\",\n      \"tax_name\": \"Nom\",\n      \"compound_tax\": \"Taxe empilée\",\n      \"percent\": \"Pourcentage\",\n      \"action\": \"action\",\n      \"tax_setting_description\": \"Activez cette option si vous souhaitez ajouter des taxes à des postes de facture individuels. Par défaut, les taxes sont ajoutées directement à la facture.\",\n      \"created_message\": \"Taxe créée\",\n      \"updated_message\": \"Taxe mise à jour\",\n      \"deleted_message\": \"Taxe supprimée\",\n      \"confirm_delete\": \"Vous ne pourrez pas récupérer ce type de taxe\",\n      \"already_in_use\": \"La taxe est déjà utilisée\"\n    },\n    \"payment_modes\": {\n      \"title\": \"Moyens de paiement\",\n      \"description\": \"Indiquez les différents moyen de paiement que vous utilisez\",\n      \"add_payment_mode\": \"Ajouter un mode de paiement\",\n      \"edit_payment_mode\": \"Modifier le mode de paiement\",\n      \"mode_name\": \"Nom\",\n      \"payment_mode_added\": \"Mode de paiement ajouté\",\n      \"payment_mode_updated\": \"Mode de paiement mis à jour\",\n      \"payment_mode_confirm_delete\": \"Vous ne pourrez pas récupérer ce mode de paiement\",\n      \"payments_attached\": \"This payment method is already attached to payments. Please delete the attached payments to proceed with deletion.\",\n      \"expenses_attached\": \"This payment method is already attached to expenses. Please delete the attached expenses to proceed with deletion.\",\n      \"deleted_message\": \"Mode de paiement supprimé\"\n    },\n    \"expense_category\": {\n      \"title\": \"Catégories de dépense\",\n      \"action\": \"action\",\n      \"description\": \"Ajoutez ou supprimez ici des catégories de dépense.\",\n      \"add_new_category\": \"Ajouter une catégorie\",\n      \"add_category\": \"Nouvelle catégorie\",\n      \"edit_category\": \"Modifier cette catégorie\",\n      \"category_name\": \"Nom\",\n      \"category_description\": \"Description\",\n      \"created_message\": \"Catégorie de dépenses créée\",\n      \"deleted_message\": \"Catégorie de dépenses supprimée\",\n      \"updated_message\": \"Catégorie de dépenses mise à jour\",\n      \"confirm_delete\": \"Vous ne pourrez pas récupérer cette catégorie de dépenses\",\n      \"already_in_use\": \"La catégorie est déjà utilisée\"\n    },\n    \"preferences\": {\n      \"currency\": \"Devise\",\n      \"default_language\": \"Langue par défaut\",\n      \"time_zone\": \"Fuseau horaire\",\n      \"fiscal_year\": \"Exercice fiscal\",\n      \"date_format\": \"Format de date\",\n      \"discount_setting\": \"Réglage de remise\",\n      \"discount_per_item\": \"Remise par article\",\n      \"discount_setting_description\": \"Activez cette option si vous souhaitez détailler les remises par article. Par défaut, les remises sont ajoutées au sous-total.\",\n      \"expire_public_links\": \"Expiration automatique des liens publics\",\n      \"expire_setting_description\": \"Spécifiez si vous souhaitez faire expirer tous les liens publiques envoyés par l'application pour consulter les factures, devis, paiements,... après une durée spécifique.\",\n      \"save\": \"Enregistrer\",\n      \"preference\": \"Préférence | Préférences\",\n      \"general_settings\": \"Modifiez ici les paramètres globaux de Crater.\",\n      \"updated_message\": \"Préférences mises à jour\",\n      \"select_language\": \"Choisir la langue\",\n      \"select_time_zone\": \"Sélectionnez le fuseau horaire\",\n      \"select_date_format\": \"Sélectionnez le format de date\",\n      \"select_financial_year\": \"Exercice fiscal\",\n      \"recurring_invoice_status\": \"Statut de la facture récurrente\",\n      \"create_status\": \"Créer un statut\",\n      \"active\": \"Actif\",\n      \"on_hold\": \"En attente\",\n      \"update_status\": \"Mettre à jour le statut\",\n      \"completed\": \"Terminé\",\n      \"company_currency_unchangeable\": \"La devise de la société ne peut pas être modifiée\"\n    },\n    \"update_app\": {\n      \"title\": \"Mise à jour\",\n      \"description\": \"Mettez simplement Crater à jour en cliquant sur le bouton ci-dessous.\",\n      \"check_update\": \"Rechercher des mises à jour\",\n      \"avail_update\": \"Nouvelle mise à jour disponible\",\n      \"next_version\": \"Version suivante\",\n      \"requirements\": \"Spécifications requises\",\n      \"update\": \"Mettre à jour maintenant\",\n      \"update_progress\": \"Mise à jour en cours...\",\n      \"progress_text\": \"Cela ne prendra que quelques minutes. Veuillez ne pas actualiser ou fermer la fenêtre avant la fin de la mise à jour\",\n      \"update_success\": \"L'application a été mise à jour. Veuillez patienter pendant le rechargement de la fenêtre de votre navigateur.\",\n      \"latest_message\": \"Bravo, vous êtes à jour.\",\n      \"current_version\": \"Version actuelle\",\n      \"download_zip_file\": \"Télécharger le fichier ZIP\",\n      \"unzipping_package\": \"Dézipper le package\",\n      \"copying_files\": \"Copie de fichiers en cours\",\n      \"deleting_files\": \"Supprimer les fichiers inutilisés\",\n      \"running_migrations\": \"Migrations en cours\",\n      \"finishing_update\": \"Finalisation de la mise à jour\",\n      \"update_failed\": \"Échec de la mise à jour\",\n      \"update_failed_text\": \"Désolé ! Votre mise à jour a échoué à: {step} étape\",\n      \"update_warning\": \"Cet utilitaire va écraser tous les fichiers et templates de l'application. Veuillez faire une sauvegarde de vos templates et de la base de donnée avant de faire la mise à jour.\"\n    },\n    \"backup\": {\n      \"title\": \"Sauvegarde | Sauvegardes\",\n      \"description\": \"Gérez ici vos sauvegardes. Crater créée un fichiez ZIP contenant vos fichiers et un export de la base de données.\",\n      \"new_backup\": \"Faire une sauvegarde\",\n      \"create_backup\": \"Créer une sauvegarde\",\n      \"select_backup_type\": \"Type de sauvegarde\",\n      \"backup_confirm_delete\": \"Vous ne pourrez pas récupérer cette sauvegarde\",\n      \"path\": \"chemin\",\n      \"new_disk\": \"Nouveau stockage\",\n      \"created_at\": \"créé à\",\n      \"size\": \"taille\",\n      \"dropbox\": \"dropbox\",\n      \"local\": \"local\",\n      \"healthy\": \"en bonne santé\",\n      \"amount_of_backups\": \"nombre de sauvegardes\",\n      \"newest_backups\": \"dernières sauvegardes\",\n      \"used_storage\": \"Stockage utilisé\",\n      \"select_disk\": \"Emplacement\",\n      \"action\": \"Action\",\n      \"deleted_message\": \"Sauvegarde supprimée\",\n      \"created_message\": \"Sauvegarde créée\",\n      \"invalid_disk_credentials\": \"Informations d'identification invalides de l'espace de stockage\"\n    },\n    \"disk\": {\n      \"title\": \"Stockage | Stockages\",\n      \"description\": \"Crater utilise par défaut votre disque local pour stocker les sauvegardes, les avatar et d'autres fichiers image. Vous pouvez configurer d'autres comptes de stockage, comme DigitalOcean, S3 et Dropbox.\",\n      \"created_at\": \"créé à\",\n      \"dropbox\": \"dropbox\",\n      \"name\": \"Nom\",\n      \"driver\": \"Compte de stockage\",\n      \"disk_type\": \"Type \",\n      \"disk_name\": \"Nom\",\n      \"new_disk\": \"Ajouter un espace de stockage\",\n      \"filesystem_driver\": \"Fournisseur\",\n      \"local_driver\": \"stockage local\",\n      \"local_root\": \"répertoire local\",\n      \"public_driver\": \"Stockage public\",\n      \"public_root\": \"Répertoire public\",\n      \"public_url\": \"URL publique\",\n      \"public_visibility\": \"Visibilité publique\",\n      \"media_driver\": \"Stockage multimédia\",\n      \"media_root\": \"Répertoire média\",\n      \"aws_driver\": \"AWS\",\n      \"aws_key\": \"AWS Key\",\n      \"aws_secret\": \"AWS Secret\",\n      \"aws_region\": \"Région AWS\",\n      \"aws_bucket\": \"Bucket\",\n      \"aws_root\": \"Répertoire\",\n      \"do_spaces_type\": \"Type\",\n      \"do_spaces_key\": \"Key\",\n      \"do_spaces_secret\": \"Secret\",\n      \"do_spaces_region\": \"Région\",\n      \"do_spaces_bucket\": \"Bucket\",\n      \"do_spaces_endpoint\": \"Endpoint\",\n      \"do_spaces_root\": \"Répertoire\",\n      \"dropbox_type\": \"Type\",\n      \"dropbox_token\": \"Token\",\n      \"dropbox_key\": \"Key\",\n      \"dropbox_secret\": \"Secret\",\n      \"dropbox_app\": \"Application\",\n      \"dropbox_root\": \"Répertoire\",\n      \"default_driver\": \"Fournisseur par défaut\",\n      \"is_default\": \"Par défaut\",\n      \"set_default_disk\": \"Définir l'espace par défaut\",\n      \"set_default_disk_confirm\": \"Cet espace sera utilisé par défaut pour l'enregistrement des PDF\",\n      \"success_set_default_disk\": \"Stockage par défaut mis à jour\",\n      \"save_pdf_to_disk\": \"Enregistrer les PDF sur le disque\",\n      \"disk_setting_description\": \"Activez cette option si vous souhaitez enregistrer automatiquement une copie de chaque facture, devis et reçu de paiement PDF sur votre disque par défaut. L'activation de cette option réduira le temps de chargement lors de l'affichage des PDF.\",\n      \"select_disk\": \"Emplacement\",\n      \"disk_settings\": \"Paramètres de stockage\",\n      \"confirm_delete\": \"Vos fichiers et dossiers existants sur le disque spécifié ne seront pas affectés, mais la configuration de votre disque sera supprimée de Crater\",\n      \"action\": \"Action\",\n      \"edit_file_disk\": \"Modifier cet espace de stockage\",\n      \"success_create\": \"Stockage ajouté\",\n      \"success_update\": \"Stockage mis à jour\",\n      \"error\": \"L'ajout de disque a échoué\",\n      \"deleted_message\": \"Stockage supprimé\",\n      \"disk_variables_save_successfully\": \"Stockage configuré\",\n      \"disk_variables_save_error\": \"La configuration du stockage a échoué.\",\n      \"invalid_disk_credentials\": \"Informations d'identification non valides du stockage sélectionné\"\n    },\n    \"taxations\": {\n      \"add_billing_address\": \"Entrez l'adresse de facturation\",\n      \"add_shipping_address\": \"Entrez l'adresse de livraison\",\n      \"add_company_address\": \"Entrez l'adresse de la société\",\n      \"modal_description\": \"Les informations ci-dessous sont requises afin de récupérer les taxes de vente.\",\n      \"add_address\": \"Ajoutez une adresse pour récupérer les taxes de vente.\",\n      \"address_placeholder\": \"Exemple: 123, My Street\",\n      \"city_placeholder\": \"Exemple: Los Angeles\",\n      \"state_placeholder\": \"Exemple: CA\",\n      \"zip_placeholder\": \"Exemple: 90024\",\n      \"invalid_address\": \"Veuillez fournir une adresse valide.\"\n    }\n  },\n  \"wizard\": {\n    \"account_info\": \"Information du compte\",\n    \"account_info_desc\": \"Les détails ci-dessous seront utilisés pour créer le compte administrateur principal. Aussi, vous pouvez modifier les détails à tout moment après la connexion.\",\n    \"name\": \"Nom\",\n    \"email\": \"Email\",\n    \"password\": \"Mot de passe\",\n    \"confirm_password\": \"Confirmez le mot de passe\",\n    \"save_cont\": \"Enregistrer et poursuivre\",\n    \"company_info\": \"Coordonnées de la société\",\n    \"company_info_desc\": \"Ces informations seront affichées sur les factures. Notez que vous pouvez éditer ceci plus tard sur la page des paramètres.\",\n    \"company_name\": \"Nom\",\n    \"company_logo\": \"Logo\",\n    \"logo_preview\": \"Aperçu\",\n    \"preferences\": \"Préférences\",\n    \"preferences_desc\": \"Préférences par défaut du système.\",\n    \"currency_set_alert\": \"La devise ne pourra pas être changé.\",\n    \"country\": \"Pays\",\n    \"state\": \"État\",\n    \"city\": \"Ville\",\n    \"address\": \"Adresse\",\n    \"street\": \"Rue 1 | Rue 2\",\n    \"phone\": \"Téléphone\",\n    \"zip_code\": \"Code postal\",\n    \"go_back\": \"Revenir\",\n    \"currency\": \"Devise\",\n    \"language\": \"Langue\",\n    \"time_zone\": \"Fuseau horaire\",\n    \"fiscal_year\": \"Exercice fiscal\",\n    \"date_format\": \"Format de date\",\n    \"from_address\": \"De l'adresse\",\n    \"username\": \"Nom d'utilisateur\",\n    \"next\": \"Suivant\",\n    \"continue\": \"Poursuivre\",\n    \"skip\": \"Ignorer\",\n    \"database\": {\n      \"database\": \"URL du site et base de données\",\n      \"connection\": \"Connexion à la base de données\",\n      \"host\": \"Serveur de la base de données\",\n      \"port\": \"Port de la base de données\",\n      \"password\": \"Mot de passe de la base de données\",\n      \"app_url\": \"Application URL\",\n      \"app_domain\": \"Nom de domaine\",\n      \"username\": \"Nom d'utilisateur de la base de données\",\n      \"db_name\": \"Nom de la base de données\",\n      \"db_path\": \"Emplacement de la base de données\",\n      \"desc\": \"Créez une base de données sur votre serveur et définissez les informations d'identification à l'aide du formulaire ci-dessous.\"\n    },\n    \"permissions\": {\n      \"permissions\": \"Permissions\",\n      \"permission_confirm_title\": \"Êtes-vous certain de vouloir continuer ?\",\n      \"permission_confirm_desc\": \"La vérification des permissions du dossier a échoué\",\n      \"permission_desc\": \"Vous trouverez ci-dessous la liste des permissions de dossier requises pour le fonctionnement de l'application. Si la vérification des permissions échoue, veillez mettre à jour vos permissions de dossier.\"\n    },\n    \"verify_domain\": {\n      \"title\": \"Vérification du domaine\",\n      \"desc\": \"Crater utilise l'authentification basée sur la session qui nécessite une vérification du domaine pour des raisons de sécurité. Veuillez saisir le domaine sur lequel vous allez accéder à votre application web.\",\n      \"app_domain\": \"Domaine de l'application\",\n      \"verify_now\": \"Vérifier maintenant\",\n      \"success\": \"Vérification du domaine réussie.\",\n      \"failed\": \"La vérification du domaine a échoué. Veuillez entrer un nom de domaine valide.\",\n      \"verify_and_continue\": \"Vérifier et continuer\"\n    },\n    \"mail\": {\n      \"host\": \"Serveur email\",\n      \"port\": \"Port\",\n      \"driver\": \"Fournisseur d'email\",\n      \"secret\": \"Secret\",\n      \"mailgun_secret\": \"Secret\",\n      \"mailgun_domain\": \"Nom de domaine\",\n      \"mailgun_endpoint\": \"Endpoint\",\n      \"ses_secret\": \"Secret\",\n      \"ses_key\": \"Key\",\n      \"password\": \"Mot de passe\",\n      \"username\": \"Nom d'utilisateur\",\n      \"mail_config\": \"Envoi d'emails\",\n      \"from_name\": \"Nom de messagerie\",\n      \"from_mail\": \"Email de l'expéditeur\",\n      \"encryption\": \"Chiffrement des emails\",\n      \"mail_config_desc\": \"Les détails ci-dessous seront utilisés pour mettre à jour le fournisseur de messagerie. Vous pourrez modifier ceux-ci à tout moment après la connexion.\"\n    },\n    \"req\": {\n      \"system_req\": \"Configuration requise\",\n      \"php_req_version\": \"Php (version {version} nécessaire)\",\n      \"check_req\": \"Vérifier les prérequis\",\n      \"system_req_desc\": \"Crater a quelques prérequis. Assurez-vous que votre serveur dispose de la version Php requise et de toutes les extensions mentionnées ci-dessous.\"\n    },\n    \"errors\": {\n      \"migrate_failed\": \"Échec de la migration\",\n      \"database_variables_save_error\": \"Impossible de créer le fichier de configuration. Veuillez vérifier les permissions du répertoire\",\n      \"mail_variables_save_error\": \"La configuration du courrier électronique a échoué.\",\n      \"connection_failed\": \"La connexion à la base de données a échoué\",\n      \"database_should_be_empty\": \"La base de données devrait être vide\"\n    },\n    \"success\": {\n      \"mail_variables_save_successfully\": \"Email configuré\",\n      \"database_variables_save_successfully\": \"Base de données configurée.\"\n    }\n  },\n  \"validation\": {\n    \"invalid_phone\": \"Numéro de téléphone invalide\",\n    \"invalid_url\": \"URL invalide (ex: http://www.crater.com)\",\n    \"invalid_domain_url\": \"URL invalide (ex: crater.com)\",\n    \"required\": \"Champ requis\",\n    \"email_incorrect\": \"Adresse Email incorrecte.\",\n    \"email_already_taken\": \"Un compte est déjà associé à cette adresse email.\",\n    \"email_does_not_exist\": \"Cet utilisateur n'existe pas\",\n    \"item_unit_already_taken\": \"Cette unité est déjà été utilisée\",\n    \"payment_mode_already_taken\": \"Ce moyen de paiement est déjà utilisé\",\n    \"send_reset_link\": \"Envoyer le lien de réinitialisation\",\n    \"not_yet\": \"Pas encore reçu ? Réessayer\",\n    \"password_min_length\": \"Le mot de passe doit contenir au moins {count} caractères\",\n    \"name_min_length\": \"Le nom doit comporter au moins {count} lettres.\",\n    \"prefix_min_length\": \"Le préfixe doit faire au moins {count} lettres.\",\n    \"enter_valid_tax_rate\": \"Entrez un taux de taxe valide\",\n    \"numbers_only\": \"Chiffres uniquement.\",\n    \"characters_only\": \"Caractères seulement.\",\n    \"password_incorrect\": \"Les mots de passe doivent être identiques\",\n    \"password_length\": \"Le mot de passe doit comporter au moins {count} caractères.\",\n    \"qty_must_greater_than_zero\": \"La quantité doit être supérieure à zéro.\",\n    \"price_greater_than_zero\": \"Le prix doit être supérieur à zéro.\",\n    \"payment_greater_than_zero\": \"Le paiement doit être supérieur à zéro.\",\n    \"payment_greater_than_due_amount\": \"Le paiement saisi est plus élevé que le montant dû de cette facture.\",\n    \"quantity_maxlength\": \"La quantité ne doit pas dépasser 20 chiffres.\",\n    \"price_maxlength\": \"Le prix ne doit pas dépasser 20 chiffres.\",\n    \"price_minvalue\": \"Le prix doit être supérieur à 0.\",\n    \"amount_maxlength\": \"Le montant ne doit pas dépasser 20 chiffres.\",\n    \"amount_minvalue\": \"Le montant doit être supérieur à 0.\",\n    \"discount_maxlength\": \"La remise ne doit pas être supérieure à la remise maximale\",\n    \"description_maxlength\": \"La description ne doit pas dépasser 255 caractères.\",\n    \"subject_maxlength\": \"L'objet ne doit pas dépasser 100 caractères.\",\n    \"message_maxlength\": \"Le message ne doit pas dépasser 255 caractères.\",\n    \"maximum_options_error\": \"Maximum de {max} options sélectionnées. Commencez par supprimer une option sélectionnée pour en sélectionner une autre.\",\n    \"notes_maxlength\": \"Les notes de bas de page ne doivent pas dépasser 255 caractères.\",\n    \"address_maxlength\": \"L'adresse ne doit pas dépasser 255 caractères.\",\n    \"ref_number_maxlength\": \"Le numéro de référence ne doit pas dépasser 255 caractères.\",\n    \"prefix_maxlength\": \"Le préfixe ne doit pas dépasser 5 caractères.\",\n    \"something_went_wrong\": \"quelque chose a mal tourné\",\n    \"number_length_minvalue\": \"Ce nombre doit être supérieur à 0\",\n    \"at_least_one_ability\": \"Veuillez sélectionner au moins une autorisation.\",\n    \"valid_driver_key\": \"Veuillez saisir une clé {driver} valide.\",\n    \"valid_exchange_rate\": \"Veuillez saisir un taux de change valide.\",\n    \"company_name_not_same\": \"Le nom de la société doit correspondre au nom fourni.\"\n  },\n  \"errors\": {\n    \"starter_plan\": \"Cette fonctionnalité est disponible à partir du plan Starter.\",\n    \"invalid_provider_key\": \"Veuillez entrer une clé d'API valide du fournisseur.\",\n    \"estimate_number_used\": \"Ce numéro de devis est déjà utilisé.\",\n    \"invoice_number_used\": \"Ce numéro de facture est déjà utilisé.\",\n    \"payment_attached\": \"Cette facture est liée à un reçu de paiement. Veuillez d'abord le supprimer avant de poursuivre.\",\n    \"payment_number_used\": \"Ce numéro de paiement est déjà utilisé.\",\n    \"name_already_taken\": \"Ce nom est déjà pris.\",\n    \"receipt_does_not_exist\": \"Le reçu n'existe pas.\",\n    \"customer_cannot_be_changed_after_payment_is_added\": \"Le client ne peut pas être modifié après l'ajout du paiement\",\n    \"invalid_credentials\": \"Identifiants invalides.\",\n    \"not_allowed\": \"Non autorisé\",\n    \"login_invalid_credentials\": \"Ces identifiants ne correspondent pas à nos enregistrements.\",\n    \"enter_valid_cron_format\": \"Veuillez entrer une tâche Cron valide\",\n    \"email_could_not_be_sent\": \"L'Email n'a pas pu être envoyé vers cette adresse email.\",\n    \"invalid_address\": \"Veuillez spécifier une adresse valide.\",\n    \"invalid_key\": \"Veuillez spécifier une clé valide.\",\n    \"invalid_state\": \"Veuillez spécifier un état valide.\",\n    \"invalid_city\": \"Veuillez spécifier une ville valide.\",\n    \"invalid_postal_code\": \"Veuillez spécifier un code postal valide.\",\n    \"invalid_format\": \"Veuillez spécifier un format de requête valide.\",\n    \"api_error\": \"Le serveur ne répond plus.\",\n    \"feature_not_enabled\": \"Fonctionnalité inactive.\",\n    \"request_limit_met\": \"Limite de requêtes API dépassée.\",\n    \"address_incomplete\": \"Adresse incomplète\"\n  },\n  \"pdf_estimate_label\": \"Devis\",\n  \"pdf_estimate_number\": \"N°\",\n  \"pdf_estimate_date\": \"Date\",\n  \"pdf_estimate_expire_date\": \"Date d'expiration\",\n  \"pdf_invoice_label\": \"Facture\",\n  \"pdf_invoice_number\": \"Numéro\",\n  \"pdf_invoice_date\": \"Date\",\n  \"pdf_invoice_due_date\": \"Date d’échéance\",\n  \"pdf_notes\": \"Notes de bas de page\",\n  \"pdf_items_label\": \"Articles\",\n  \"pdf_quantity_label\": \"Quantité\",\n  \"pdf_price_label\": \"Prix\",\n  \"pdf_discount_label\": \"Remise\",\n  \"pdf_amount_label\": \"Montant\",\n  \"pdf_subtotal\": \"Sous-total\",\n  \"pdf_total\": \"Total TTC\",\n  \"pdf_payment_label\": \"Paiement\",\n  \"pdf_payment_receipt_label\": \"Reçu de paiement\",\n  \"pdf_payment_date\": \"Date de paiement\",\n  \"pdf_payment_number\": \"Numéro\",\n  \"pdf_payment_mode\": \"Moyen de paiement\",\n  \"pdf_payment_amount_received_label\": \"Montant reçu\",\n  \"pdf_expense_report_label\": \"RAPPORT DE DÉPENSES\",\n  \"pdf_total_expenses_label\": \"TOTAL DES DÉPENSES\",\n  \"pdf_profit_loss_label\": \"RECETTES ET DÉPENSES\",\n  \"pdf_sales_customers_label\": \"Rapport de vente client\",\n  \"pdf_sales_items_label\": \"Rapport de vente par articles\",\n  \"pdf_tax_summery_label\": \"Rapport de résumé fiscal\",\n  \"pdf_income_label\": \"REVENU\",\n  \"pdf_net_profit_label\": \"RÉSULTAT\",\n  \"pdf_customer_sales_report\": \"Rapport de ventes : par client\",\n  \"pdf_total_sales_label\": \"TOTAL DES VENTES\",\n  \"pdf_item_sales_label\": \"Rapport des ventes : par article\",\n  \"pdf_tax_report_label\": \"TAXES\",\n  \"pdf_total_tax_label\": \"TOTAL\",\n  \"pdf_tax_types_label\": \"Taxe\",\n  \"pdf_expenses_label\": \"Dépenses\",\n  \"pdf_bill_to\": \"Facturer à\",\n  \"pdf_ship_to\": \"Expédier à\",\n  \"pdf_received_from\": \"Reçu de :\",\n  \"pdf_tax_label\": \"Taxe\"\n}\n"
  },
  {
    "path": "resources/scripts/locales/hi.json",
    "content": "{\n  \"navigation\": {\n    \"dashboard\": \"डैशबोर्ड\",\n    \"customers\": \"ग्राहक\",\n    \"items\": \"चीज़ें\",\n    \"invoices\": \"चालान\",\n    \"recurring-invoices\": \"आवर्ती बिल\",\n    \"expenses\": \"लागत\",\n    \"estimates\": \"अनुमान\",\n    \"payments\": \"भुगतान\",\n    \"reports\": \"रिपोर्ट\",\n    \"settings\": \"समायोजन\",\n    \"logout\": \"लॉग आउट\",\n    \"users\": \"कर्मचारी\",\n    \"modules\": \"मॉड्यूल\"\n  },\n  \"general\": {\n    \"add_company\": \"कंपनी जोड़ें\",\n    \"view_pdf\": \"पीडीएफ देखें\",\n    \"copy_pdf_url\": \"पीडीएफ यूआरएल कॉपी करें\",\n    \"download_pdf\": \"पीडीऍफ़ डाउनलोड करें\",\n    \"save\": \"सुरक्षित करें\",\n    \"create\": \"बनाएँ\",\n    \"cancel\": \"रद्द\",\n    \"update\": \"अपडेट करें\",\n    \"deselect\": \"अचयनित\",\n    \"download\": \"डाउनलोड\",\n    \"from_date\": \"इस तारीख से\",\n    \"to_date\": \"इस तारीख तक\",\n    \"from\": \"से\",\n    \"to\": \"के लिये\",\n    \"ok\": \"ठीक\",\n    \"yes\": \"हां\",\n    \"no\": \"नहीं\",\n    \"sort_by\": \"इसके अनुसार क्रमबद्ध करें\",\n    \"ascending\": \"आरोही\",\n    \"descending\": \"उतरते\",\n    \"subject\": \"विषय\",\n    \"body\": \"बॉडी\",\n    \"message\": \"संदेश\",\n    \"send\": \"भेजे\",\n    \"preview\": \"पूर्व दर्शन\",\n    \"go_back\": \"पिचे जाओ\",\n    \"back_to_login\": \"लॉगिन पर वापस जाएं\",\n    \"home\": \"होम\",\n    \"filter\": \"फिल्टर\",\n    \"delete\": \"हटाए\",\n    \"edit\": \"संपादित\",\n    \"view\": \"देखे\",\n    \"add_new_item\": \"नए सामान को जोड़ो\",\n    \"clear_all\": \"सभी साफ करें\",\n    \"showing\": \"दिखाना\",\n    \"of\": \"का\",\n    \"actions\": \"क्रियाएँ\",\n    \"subtotal\": \"उप कुल\",\n    \"discount\": \"छूट\",\n    \"fixed\": \"तय\",\n    \"percentage\": \"प्रतिशत\",\n    \"tax\": \"कर\",\n    \"total_amount\": \"कुल राशि\",\n    \"bill_to\": \"के नाम बिल करें:\",\n    \"ship_to\": \"यहां भेजें\",\n    \"due\": \"बाकी\",\n    \"draft\": \"प्रारूप\",\n    \"sent\": \"भेजा गया\",\n    \"all\": \"सभी\",\n    \"select_all\": \"सभी चुनें\",\n    \"select_template\": \"टेंपलेट चुने\",\n    \"choose_file\": \"फ़ाइल चुनने के लिए यहां क्लिक करें\",\n    \"choose_template\": \"एक टेम्पलेट चुनें\",\n    \"choose\": \"चुनें\",\n    \"remove\": \"निकालें\",\n    \"select_a_status\": \"स्टेटस चुनें\",\n    \"select_a_tax\": \"एक टैक्स चुनें\",\n    \"search\": \"खोजें\",\n    \"are_you_sure\": \"क्या आप सुनिश्चित हैं?\",\n    \"list_is_empty\": \"सूची खाली है...\",\n    \"no_tax_found\": \"कोई टैक्स नहीं मिला!\",\n    \"four_zero_four\": \"४0४\",\n    \"you_got_lost\": \"ओह! आप खो गए!\",\n    \"go_home\": \"मुख्य पृष्ठ पर जाएँ\",\n    \"test_mail_conf\": \"मेल विन्यास\",\n    \"send_mail_successfully\": \"सफलतापूर्वक प्रेषित\",\n    \"setting_updated\": \"सेटिंग सफलतापूर्वक अपडेट की गई\",\n    \"select_state\": \"राज्य चुनें...\",\n    \"select_country\": \"देश चुनें\",\n    \"select_city\": \"शहर चुनें\",\n    \"street_1\": \"स्ट्रीट 1\",\n    \"street_2\": \"स्ट्रीट 2\",\n    \"action_failed\": \"क्रिया: विफल रही है\",\n    \"retry\": \"पुन: प्रयास करें\",\n    \"choose_note\": \"नोट चुनें\",\n    \"no_note_found\": \"कोई नोट नहीं मिला\",\n    \"insert_note\": \"टिप्पणी डालें...\",\n    \"copied_pdf_url_clipboard\": \"पीडीएफ यूआरएल\\nको क्लिपबोर्ड पर कॉपी किया गया!\",\n    \"copied_url_clipboard\": \"यूआरएल को क्लिपबोर्ड पर कॉपी किया गया!\",\n    \"docs\": \"डॉक्स\",\n    \"do_you_wish_to_continue\": \"क्या आप जारी रखना चाहते हैं?\",\n    \"note\": \"ध्यान दें\",\n    \"pay_invoice\": \"बिल का भुगतान करो\",\n    \"login_successfully\": \"सफलतापूर्वक लॉगिन किया गया\",\n    \"logged_out_successfully\": \"सफलतापूर्वक लॉग आउट किया गया\",\n    \"mark_as_default\": \"डिफ़ॉल्ट के रूप में चिह्नित करें\"\n  },\n  \"dashboard\": {\n    \"select_year\": \"वर्ष चुनें\",\n    \"cards\": {\n      \"due_amount\": \"देय राशि\",\n      \"customers\": \"ग्राहक\",\n      \"invoices\": \"चालान\",\n      \"estimates\": \"अनुमान\",\n      \"payments\": \"भुगतान\"\n    },\n    \"chart_info\": {\n      \"total_sales\": \"बिक्री\",\n      \"total_receipts\": \"रसीदें\",\n      \"total_expense\": \"खर्चे\",\n      \"net_income\": \"शुद्ध आय\",\n      \"year\": \"वर्ष चुनें\"\n    },\n    \"monthly_chart\": {\n      \"title\": \"बिक्री और व्यय\"\n    },\n    \"recent_invoices_card\": {\n      \"title\": \"देय चालान\",\n      \"due_on\": \"को देय\",\n      \"customer\": \"ग्राहक\",\n      \"amount_due\": \"देय राशि\",\n      \"actions\": \"क्रियाएँ\",\n      \"view_all\": \"सभी देखें\"\n    },\n    \"recent_estimate_card\": {\n      \"title\": \"हाली के अनुमान\",\n      \"date\": \"दिनांक\",\n      \"customer\": \"ग्राहक\",\n      \"amount_due\": \"देय राशि\",\n      \"actions\": \"क्रियाएँ\",\n      \"view_all\": \"सभी देखें\"\n    }\n  },\n  \"tax_types\": {\n    \"name\": \"नाम\",\n    \"description\": \"विवरण\",\n    \"percent\": \"प्रतिशत\",\n    \"compound_tax\": \"यौगिक कर\"\n  },\n  \"global_search\": {\n    \"search\": \"खोज़े...\",\n    \"customers\": \"ग्राहक\",\n    \"users\": \"कर्मचारी\",\n    \"no_results_found\": \"कोई परिणाम नहीं मिला\"\n  },\n  \"company_switcher\": {\n    \"label\": \"स्विच कंपनी\",\n    \"no_results_found\": \"कोई परिणाम नहीं मिला\",\n    \"add_new_company\": \"नई कंपनी जोड़ें\",\n    \"new_company\": \"नई कंपनी\",\n    \"created_message\": \"कंपनी सफलतापूर्वक बनाई गई\"\n  },\n  \"dateRange\": {\n    \"today\": \"आज\",\n    \"this_week\": \"इस सप्ताह\",\n    \"this_month\": \"इस महीने\",\n    \"this_quarter\": \"इस तिमाही\",\n    \"this_year\": \"इस वर्ष\",\n    \"previous_week\": \"पिछला सप्ताह\",\n    \"previous_month\": \"पिछला महीना\",\n    \"previous_quarter\": \"पिछली तिमाही\",\n    \"previous_year\": \"पिछला साल\",\n    \"custom\": \"कस्टम\"\n  },\n  \"customers\": {\n    \"title\": \"ग्राहक\",\n    \"prefix\": \"प्रीफ़िक्स\",\n    \"add_customer\": \"ग्राहक जोड़ें\",\n    \"contacts_list\": \"ग्राहक सूची\",\n    \"name\": \"नाम\",\n    \"mail\": \"संदेश | संदेशों\",\n    \"statement\": \"बयान\",\n    \"display_name\": \"प्रदर्शित होने वाला नाम\",\n    \"primary_contact_name\": \"प्राथमिक संपर्क नाम\",\n    \"contact_name\": \"संपर्क नाम\",\n    \"amount_due\": \"देय राशि\",\n    \"email\": \"ईमेल\",\n    \"address\": \"पता\",\n    \"phone\": \"फ़ोन\",\n    \"website\": \"वेबसाइट\",\n    \"overview\": \"अवलोकन\",\n    \"invoice_prefix\": \"बिल उपसर्ग\",\n    \"estimate_prefix\": \"अनुमान उपसर्ग\",\n    \"payment_prefix\": \"भुगतान उपसर्ग\",\n    \"enable_portal\": \"पोर्टल सक्षम करें\",\n    \"country\": \"देश\",\n    \"state\": \"राज्य\",\n    \"city\": \"शहर\",\n    \"zip_code\": \"पिन कोड\",\n    \"added_on\": \"पर जोड़ा\",\n    \"action\": \"कार्य\",\n    \"password\": \"पासवर्ड\",\n    \"confirm_password\": \"पासवर्ड की पुष्टि करें\",\n    \"street_number\": \"गली संख्या\",\n    \"primary_currency\": \"प्राथमिक मुद्रा\",\n    \"description\": \"विवरण\",\n    \"add_new_customer\": \"ग्राहक जोड़ें\",\n    \"save_customer\": \"ग्राहक संचित करे\",\n    \"update_customer\": \"ग्राहक अद्यतन करे\",\n    \"customer\": \"ग्राहक | ग्राहकों\",\n    \"new_customer\": \"नए ग्राहक\",\n    \"edit_customer\": \"ग्राहक संपादित करें\",\n    \"basic_info\": \"आधारभूत जानकारी\",\n    \"portal_access\": \"पोर्टल एक्सेस\",\n    \"portal_access_text\": \"क्या आप इस ग्राहक को ग्राहक पोर्टल में लॉगिन करने की अनुमति देना चाहेंगे?\",\n    \"portal_access_url\": \"ग्राहक पोर्टल लॉगिन URL\",\n    \"portal_access_url_help\": \"कृपया ऊपर दिए गए URL को कॉपी करके अपने ग्राहक को एक्सेस प्रदान करने के लिए अग्रेषित करें।\",\n    \"billing_address\": \"बिल भेजने का पता\",\n    \"shipping_address\": \"शिपिंग पता\",\n    \"copy_billing_address\": \"बिलिंग से प्रतिलिपि\",\n    \"no_customers\": \"अभी तक ग्राहक नहीं हैं\",\n    \"no_customers_found\": \"अभी तक कोई ग्राहक नहीं मिला\",\n    \"no_contact\": \"कोई संपर्क नहीं\",\n    \"no_contact_name\": \"कोई संपर्क नाम नहीं\",\n    \"list_of_customers\": \"इस खंड में वस्तुओं की सूची होगी।\",\n    \"primary_display_name\": \"प्राथमिक प्रदर्शन नाम\",\n    \"select_currency\": \"मुद्रा चुनें\",\n    \"select_a_customer\": \"एक ग्राहक चुनें\",\n    \"type_or_click\": \"चुनने के लिए टाइप करें या क्लिक करें\",\n    \"new_transaction\": \"नया लेनदेन\",\n    \"no_matching_customers\": \"कोई मेल खाने वाले ग्राहक नहीं हैं!\",\n    \"phone_number\": \"फोन नंबर\",\n    \"create_date\": \"निर्माण तिथि\",\n    \"confirm_delete\": \"आप इस ग्राहक और सभी संबंधित चालानों, अनुमानों और भुगतानों को पुनर्प्राप्त नहीं कर पाएंगे। | आप इन ग्राहकों और सभी संबंधित चालानों, अनुमानों और भुगतानों को पुनर्प्राप्त नहीं कर पाएंगे।\",\n    \"created_message\": \"सफलतापूर्वक प्रेषित\",\n    \"updated_message\": \"सफलतापूर्वक प्रेषित\",\n    \"address_updated_message\": \"पते की जानकारी सफलतापूर्वक अपडेट की गई\",\n    \"deleted_message\": \"ग्राहक सफलतापूर्वक हटा दिया गया | ग्राहक सफलतापूर्वक हटा दिए गए\",\n    \"edit_currency_not_allowed\": \"एक बार लेन-देन करने के बाद मुद्रा नहीं बदल सकते।\"\n  },\n  \"items\": {\n    \"title\": \"चीज़ें\",\n    \"items_list\": \"आइटम सूची\",\n    \"name\": \"नाम\",\n    \"unit\": \"यूनिट\",\n    \"description\": \"विवरण\",\n    \"added_on\": \"पर जोड़ा\",\n    \"price\": \"मूल्य\",\n    \"date_of_creation\": \"निर्माण की तारीख\",\n    \"not_selected\": \"कोई आइटम नहीं चुना गया\",\n    \"action\": \"कार्रवाई\",\n    \"add_item\": \"वस्तु जोड़ें\",\n    \"save_item\": \"आइटम सहेजें\",\n    \"update_item\": \"अद्यतन आइटम\",\n    \"item\": \"मद | आइटम\",\n    \"add_new_item\": \"नए सामान को जोड़ो\",\n    \"new_item\": \"नई वस्तु!\",\n    \"edit_item\": \"आइटम संपादित करें\",\n    \"no_items\": \"अभी तक कोई आइटम नहीं!\",\n    \"list_of_items\": \"इस खंड में वस्तुओं की सूची होगी।\",\n    \"select_a_unit\": \"इकाई का चयन करें\",\n    \"taxes\": \"करों\",\n    \"item_attached_message\": \"पहले से उपयोग में आने वाली वस्तु को हटा नहीं सकता\",\n    \"confirm_delete\": \"आप इस मद को पुनर्प्राप्त नहीं कर पाएंगे | आप इन वस्तुओं को पुनर्प्राप्त नहीं कर पाएंगे\",\n    \"created_message\": \"सफलतापूर्वक प्रेषित किया गया है\",\n    \"updated_message\": \"अद्यतन सफलतापूर्ण हो गया\",\n    \"deleted_message\": \"ग्राहक सफलतापूर्वक हटा दिया गया | ग्राहक सफलतापूर्वक हटा दिए गए\"\n  },\n  \"estimates\": {\n    \"title\": \"अनुमान\",\n    \"accept_estimate\": \"अनुमान स्वीकार करें\",\n    \"reject_estimate\": \"अनुमान अस्वीकार करें\",\n    \"estimate\": \"अनुमान | अनुमान\",\n    \"estimates_list\": \"अनुमान सूची\",\n    \"days\": \"{days} दिनों\",\n    \"months\": \"{months} महीने\",\n    \"years\": \"{years} साल\",\n    \"all\": \"सब\",\n    \"paid\": \"प्रदत्त\",\n    \"unpaid\": \"अवैतनिक\",\n    \"customer\": \"ग्राहक\",\n    \"ref_no\": \"प्रसंग संख्या\",\n    \"number\": \"संख्या\",\n    \"amount_due\": \"देय राशि\",\n    \"partially_paid\": \"आंशिक रूप से भुगतान किया\",\n    \"total\": \"कुल\",\n    \"discount\": \"छूट\",\n    \"sub_total\": \"उप योग\",\n    \"estimate_number\": \"अनुमान संख्या\",\n    \"ref_number\": \"प्रसंग संख्या\",\n    \"contact\": \"संपर्क\",\n    \"add_item\": \"आइटम जोड़ें\",\n    \"date\": \"दिनांक\",\n    \"due_date\": \"नियत तारीख\",\n    \"expiry_date\": \"समाप्ति तिथि\",\n    \"status\": \"स्थिति\",\n    \"add_tax\": \"कर जोड़ें\",\n    \"amount\": \"राशि\",\n    \"action\": \"कार्य\",\n    \"notes\": \"नोट्स\",\n    \"tax\": \"कर\",\n    \"estimate_template\": \"टेम्प्लेट\",\n    \"convert_to_invoice\": \"चालान में कनवर्ट करें\",\n    \"mark_as_sent\": \"पढ़ा चिह्नित करें\",\n    \"send_estimate\": \"अनुमान भेजें\",\n    \"resend_estimate\": \"अनुमान फिर से भेजें\",\n    \"record_payment\": \"रिकॉर्ड भुगतान\",\n    \"add_estimate\": \"अनुमान जोड़ें\",\n    \"save_estimate\": \"अनुमान बचाएं\",\n    \"confirm_conversion\": \"इस अनुमान का उपयोग एक नया चालान बनाने के लिए किया जाएगा।\",\n    \"conversion_message\": \"चालान सफल बनाया गया\",\n    \"confirm_send_estimate\": \"यह अनुमान ग्राहक को ईमेल के माध्यम से भेजा जाएगा\",\n    \"confirm_mark_as_sent\": \"इस अनुमान को भेजा गया के रूप में चिह्नित किया जाएगा\",\n    \"confirm_mark_as_accepted\": \"इस अनुमान को स्वीकृत के रूप में चिह्नित किया जाएगा\",\n    \"confirm_mark_as_rejected\": \"इस अनुमान को अस्वीकृत के रूप में चिह्नित किया जाएगा\",\n    \"no_matching_estimates\": \"कोई मिलान अनुमान नहीं हैं!\",\n    \"mark_as_sent_successfully\": \"अनुमान को सफलतापूर्वक भेजा गया के रूप में चिह्नित किया गया\",\n    \"send_estimate_successfully\": \"अनुमान सफलतापूर्वक भेजा गया\",\n    \"errors\": {\n      \"required\": \"यह जानकारी जरुरी है\"\n    },\n    \"accepted\": \"स्वीकृत\",\n    \"rejected\": \"अस्वीकृत\",\n    \"expired\": \"समाप्त हुआ\",\n    \"sent\": \"भेजा गया\",\n    \"draft\": \"प्रारूप\",\n    \"viewed\": \"देखा गया\",\n    \"declined\": \"नामंज़ूर किया गया\",\n    \"new_estimate\": \"नया अनुमान\",\n    \"add_new_estimate\": \"नया अनुमान जोड़ें\",\n    \"update_Estimate\": \"अद्यतन अनुमान\",\n    \"edit_estimate\": \"अनुमान संपादित करें\",\n    \"items\": \"चीज़ें\",\n    \"Estimate\": \"अनुमान | अनुमान\",\n    \"add_new_tax\": \"नया टैक्स जोड़ें\",\n    \"no_estimates\": \"अभी तक कोई अनुमान नहीं!\",\n    \"list_of_estimates\": \"इस खंड में अनुमानों की सूची होगी।\",\n    \"mark_as_rejected\": \"अस्वीकृत के रूप में चिह्नित करें\",\n    \"mark_as_accepted\": \"पूर्ण के रूप में चिह्नित करें\",\n    \"marked_as_accepted_message\": \"अनुमान स्वीकृत के रूप में चिह्नित\",\n    \"marked_as_rejected_message\": \"अनुमान को अस्वीकृत के रूप में चिह्नित किया गया\",\n    \"confirm_delete\": \"आप इस अनुमान की वसूली नहीं कर पाएंगे | आप इन अनुमानों को पुनर्प्राप्त नहीं कर पाएंगे\",\n    \"created_message\": \"अनुमान सफलतापूर्वक बनाया गया\",\n    \"updated_message\": \"अनुमान सफलतापूर्वक अपडेट किया गया\",\n    \"deleted_message\": \"अनुमान सफलतापूर्वक हटाया गया | अनुमान सफलतापूर्वक हटा दिए गए\",\n    \"something_went_wrong\": \"कुछ गलत हो गया\",\n    \"item\": {\n      \"title\": \"मद शीर्षक\",\n      \"description\": \"विवरण\",\n      \"quantity\": \"मात्रा\",\n      \"price\": \"मूल्य\",\n      \"discount\": \"छूट\",\n      \"total\": \"कुल\",\n      \"total_discount\": \"कुल छूट\",\n      \"sub_total\": \"उप राशि\",\n      \"tax\": \"टॅक्स\",\n      \"amount\": \"राशि\",\n      \"select_an_item\": \"चुनने के लिए टाइप करें या क्लिक करें\",\n      \"type_item_description\": \"आइटम विवरण टाइप करें (वैकल्पिक)\"\n    },\n    \"mark_as_default_estimate_template_description\": \"यदि सक्षम किया गया है, तो चयनित टेम्पलेट स्वचालित रूप से नए अनुमानों के लिए चयनित हो जाएगा।\"\n  },\n  \"invoices\": {\n    \"title\": \"चालान\",\n    \"download\": \"डाउनलोड\",\n    \"pay_invoice\": \"रसीद का भुगतान करो\",\n    \"invoices_list\": \"चालान सूची\",\n    \"invoice_information\": \"चालान जानकारी\",\n    \"days\": \"{days} दिनों\",\n    \"months\": \"{months} महीने\",\n    \"years\": \"{years} साल\",\n    \"all\": \"सभी\",\n    \"paid\": \"प्रदत्त\",\n    \"unpaid\": \"अवैतनिक\",\n    \"viewed\": \"देखा गया\",\n    \"overdue\": \"अतिदेय\",\n    \"completed\": \"पूर्ण\",\n    \"customer\": \"ग्राहक\",\n    \"paid_status\": \"भुगतान की स्थिति\",\n    \"ref_no\": \"प्रसंग संख्या।\",\n    \"number\": \"संख्या\",\n    \"amount_due\": \"देय राशि\",\n    \"partially_paid\": \"आंशिक रूप से भुगतान किया\",\n    \"total\": \"कुल\",\n    \"discount\": \"छूट\",\n    \"sub_total\": \"उप राशि\",\n    \"invoice\": \"चालान | चालान\",\n    \"invoice_number\": \"इनवॉयस संख्या:\",\n    \"ref_number\": \"प्रसंग संख्या\",\n    \"contact\": \"संपर्क\",\n    \"add_item\": \"आइटम जोड़ें\",\n    \"date\": \"दिनांक\",\n    \"due_date\": \"अन्तिम तिथि\",\n    \"status\": \"स्थिति\",\n    \"add_tax\": \"कर जोड़ें\",\n    \"amount\": \"राशि\",\n    \"action\": \"कार्य\",\n    \"notes\": \"नोट्स\",\n    \"view\": \"देखे\",\n    \"send_invoice\": \"चालान भेजें\",\n    \"resend_invoice\": \"चालान फिर से भेजें\",\n    \"invoice_template\": \"चालान टेम्पलेट\",\n    \"conversion_message\": \"बिल क्लोन सफल\",\n    \"template\": \"टेम्प्लेट\",\n    \"mark_as_sent\": \"भेजे गए के रूप में चिह्नित करें\",\n    \"confirm_send_invoice\": \"यह चालान ग्राहक को ईमेल के माध्यम से भेजा जाएगा\",\n    \"invoice_mark_as_sent\": \"यह चालान भेजा के रूप में चिह्नित किया जाएगा\",\n    \"confirm_mark_as_accepted\": \"इस बिल को स्वीकृत के रूप में चिह्नित किया जाएगा\",\n    \"confirm_mark_as_rejected\": \"इस बिल को अस्वीकृत के रूप में चिह्नित किया जाएगा\",\n    \"confirm_send\": \"यह चालान ग्राहक को ईमेल के माध्यम से भेजा जाएगा\",\n    \"invoice_date\": \"चालान की तारीख\",\n    \"record_payment\": \"रिकॉर्ड भुगतान\",\n    \"add_new_invoice\": \"नया चालान\",\n    \"update_expense\": \"अद्यतन व्यय\",\n    \"edit_invoice\": \"चालान संपादित करें\",\n    \"new_invoice\": \"नया चालान\",\n    \"save_invoice\": \"चालान सहेजें\",\n    \"update_invoice\": \"चालान संपादित करें\",\n    \"add_new_tax\": \"नया टैक्स जोड़ें\",\n    \"no_invoices\": \"अभी तक कोई चालान नहीं!\",\n    \"mark_as_rejected\": \"अस्वीकृत के रूप में चिह्नित करें\",\n    \"mark_as_accepted\": \"स्वीकृत के रूप में चिह्नित करें\",\n    \"list_of_invoices\": \"इस खंड में वस्तुओं की सूची होगी।\",\n    \"select_invoice\": \"चालान का चयन करें\",\n    \"no_matching_invoices\": \"कोई मेल खाने वाले ग्राहक नहीं हैं!\",\n    \"mark_as_sent_successfully\": \"चालान को सफलतापूर्वक भेजा गया के रूप में चिह्नित किया गया\",\n    \"invoice_sent_successfully\": \"चालान सफलतापूर्वक भेजा गया\",\n    \"cloned_successfully\": \"चालान सफलतापूर्वक क्लोन किया गया\",\n    \"clone_invoice\": \"क्लोन चालान\",\n    \"confirm_clone\": \"यह चालान एक नए चालान में क्लोन किया जाएगा\",\n    \"item\": {\n      \"title\": \"मद शीर्षक\",\n      \"description\": \"विवरण\",\n      \"quantity\": \"मात्रा\",\n      \"price\": \"मूल्य\",\n      \"discount\": \"छूट\",\n      \"total\": \"कुल\",\n      \"total_discount\": \"कुल बचत\",\n      \"sub_total\": \"उप राशि\",\n      \"tax\": \"टॅक्स\",\n      \"amount\": \"राशि\",\n      \"select_an_item\": \"चुनने के लिए टाइप करें या क्लिक करें\",\n      \"type_item_description\": \"आइटम विवरण टाइप करें (वैकल्पिक)\"\n    },\n    \"payment_attached_message\": \"चयनित चालानों में से एक में पहले से ही भुगतान संलग्न है। निष्कासन के साथ आगे बढ़ने के लिए पहले संलग्न भुगतानों को हटाना सुनिश्चित करें\",\n    \"confirm_delete\": \"आप इस चालान को पुनर्प्राप्त नहीं कर पाएंगे | आप इन चालानों को पुनर्प्राप्त नहीं कर पाएंगे\",\n    \"created_message\": \"चालान सफलतापूर्वक बनाया गया\",\n    \"updated_message\": \"चालान सफलतापूर्वक अपडेट किया गया\",\n    \"deleted_message\": \"चालान सफलतापूर्वक हटाया गया | चालान सफलतापूर्वक हटा दिए गए\",\n    \"marked_as_sent_message\": \"अनुमान को सफलतापूर्वक भेजा गया के रूप में चिह्नित किया गया\",\n    \"something_went_wrong\": \"कुछ गलत हो गया\",\n    \"invalid_due_amount_message\": \"कुल चालान राशि इस चालान के लिए कुल भुगतान की गई राशि से कम नहीं हो सकती है। जारी रखने के लिए कृपया इनवॉइस अपडेट करें या संबद्ध भुगतानों को हटा दें।\",\n    \"mark_as_default_invoice_template_description\": \"यदि सक्षम किया गया है, तो चयनित टेम्पलेट स्वचालित रूप से नए चालानों के लिए चयनित हो जाएगा।\"\n  },\n  \"recurring_invoices\": {\n    \"title\": \"आवर्ती बिल\",\n    \"invoices_list\": \"आवर्ती बिल सूची\",\n    \"days\": \"{days} दिन\",\n    \"months\": \"{months} महीना\",\n    \"years\": \"{years} वर्ष\",\n    \"all\": \"सभी\",\n    \"paid\": \"भुगतान किया गया\",\n    \"unpaid\": \"अवैतनिक\",\n    \"viewed\": \"देखा गया\",\n    \"overdue\": \"अतिदेय\",\n    \"active\": \"सक्रिय\",\n    \"completed\": \"पूर्ण\",\n    \"customer\": \"ग्राहक\",\n    \"paid_status\": \"भुगतान की स्थिति\",\n    \"ref_no\": \"प्रसंग संख्या\",\n    \"number\": \"संख्या\",\n    \"amount_due\": \"देय राशि\",\n    \"partially_paid\": \"आंशिक रूप से भुगतान किया\",\n    \"total\": \"संपूर्ण\",\n    \"discount\": \"छूट\",\n    \"sub_total\": \"उप-योग\",\n    \"invoice\": \"आवर्ती बिल\",\n    \"invoice_number\": \"आवर्ती बिल संख्या\",\n    \"next_invoice_date\": \"अगली बिल तिथि\",\n    \"ref_number\": \"संदर्भ संख्या\",\n    \"contact\": \"संपर्क\",\n    \"add_item\": \"आइटम जोड़ें\",\n    \"date\": \"दिनांक\",\n    \"limit_by\": \"द्वारा सीमित करें\",\n    \"limit_date\": \"सीमा तिथि\",\n    \"limit_count\": \"सीमा गिनती\",\n    \"count\": \"गिनती\",\n    \"status\": \"स्थिति\",\n    \"select_a_status\": \"स्टेटस चुनें\",\n    \"working\": \"काम कर रहा है\",\n    \"on_hold\": \"रुका हुआ है\",\n    \"complete\": \"पूर्ण\",\n    \"add_tax\": \"कर जोड़ें\",\n    \"amount\": \"मात्रा\",\n    \"action\": \"कार्य\",\n    \"notes\": \"नोट्स\",\n    \"view\": \"देखे\",\n    \"basic_info\": \"आधारभूत जानकारी\",\n    \"send_invoice\": \"आवर्ती चालान भेजें\",\n    \"auto_send\": \"ऑटो भेजें\",\n    \"resend_invoice\": \"आवर्ती चालान फिर से भेजें\",\n    \"invoice_template\": \"आवर्ती चालान टेम्पलेट\",\n    \"conversion_message\": \"आवर्ती चालान क्लोन सफल\",\n    \"template\": \"टेम्प्लेट\",\n    \"mark_as_sent\": \"भेजे गए के रूप में चिह्नित करें\",\n    \"confirm_send_invoice\": \"यह आवर्ती चालान ग्राहक को ईमेल के माध्यम से भेजा जाएगा\",\n    \"invoice_mark_as_sent\": \"यह आवर्ती चालान भेजा गया के रूप में चिह्नित किया जाएगा\",\n    \"confirm_send\": \"यह आवर्ती चालान ग्राहक को ईमेल के माध्यम से भेजा जाएगा\",\n    \"starts_at\": \"आरंभ करने की तिथि\",\n    \"due_date\": \"बिल की देय तिथि\",\n    \"record_payment\": \"भुगतान रिकॉर्ड करें\",\n    \"add_new_invoice\": \"आवर्ती बिल फिर से भेजें\",\n    \"update_expense\": \"Update Expense\",\n    \"edit_invoice\": \"Edit Recurring Invoice\",\n    \"new_invoice\": \"New Recurring Invoice\",\n    \"send_automatically\": \"Send Automatically\",\n    \"send_automatically_desc\": \"Enable this, if you would like to send the invoice automatically to the customer when its created.\",\n    \"save_invoice\": \"Save Recurring Invoice\",\n    \"update_invoice\": \"Update Recurring Invoice\",\n    \"add_new_tax\": \"Add New Tax\",\n    \"no_invoices\": \"No Recurring Invoices yet!\",\n    \"mark_as_rejected\": \"Mark as rejected\",\n    \"mark_as_accepted\": \"Mark as accepted\",\n    \"list_of_invoices\": \"This section will contain the list of recurring invoices.\",\n    \"select_invoice\": \"Select Invoice\",\n    \"no_matching_invoices\": \"There are no matching recurring invoices!\",\n    \"mark_as_sent_successfully\": \"Recurring Invoice marked as sent successfully\",\n    \"invoice_sent_successfully\": \"Recurring Invoice sent successfully\",\n    \"cloned_successfully\": \"Recurring Invoice cloned successfully\",\n    \"clone_invoice\": \"Clone Recurring Invoice\",\n    \"confirm_clone\": \"This recurring invoice will be cloned into a new Recurring Invoice\",\n    \"add_customer_email\": \"Please add an email address for this customer to send invoices automatically.\",\n    \"item\": {\n      \"title\": \"Item Title\",\n      \"description\": \"Description\",\n      \"quantity\": \"Quantity\",\n      \"price\": \"Price\",\n      \"discount\": \"Discount\",\n      \"total\": \"Total\",\n      \"total_discount\": \"Total Discount\",\n      \"sub_total\": \"Sub Total\",\n      \"tax\": \"Tax\",\n      \"amount\": \"Amount\",\n      \"select_an_item\": \"Type or click to select an item\",\n      \"type_item_description\": \"Type Item Description (optional)\"\n    },\n    \"frequency\": {\n      \"title\": \"Frequency\",\n      \"select_frequency\": \"Select Frequency\",\n      \"minute\": \"Minute\",\n      \"hour\": \"Hour\",\n      \"day_month\": \"Day of month\",\n      \"month\": \"Month\",\n      \"day_week\": \"Day of week\"\n    },\n    \"confirm_delete\": \"You will not be able to recover this Invoice | You will not be able to recover these Invoices\",\n    \"created_message\": \"Recurring Invoice created successfully\",\n    \"updated_message\": \"Recurring Invoice updated successfully\",\n    \"deleted_message\": \"Recurring Invoice deleted successfully | Recurring Invoices deleted successfully\",\n    \"marked_as_sent_message\": \"Recurring Invoice marked as sent successfully\",\n    \"user_email_does_not_exist\": \"User email does not exist\",\n    \"something_went_wrong\": \"something went wrong\",\n    \"invalid_due_amount_message\": \"Total Recurring Invoice amount cannot be less than total paid amount for this Recurring Invoice. Please update the invoice or delete the associated payments to continue.\"\n  },\n  \"payments\": {\n    \"title\": \"भुगतान\",\n    \"payments_list\": \"भुगतान सूची\",\n    \"record_payment\": \"रिकॉर्ड भुगतान\",\n    \"customer\": \"ग्राहक\",\n    \"date\": \"दिनांक\",\n    \"amount\": \"राशि\",\n    \"action\": \"कार्य\",\n    \"payment_number\": \"भुगतान संख्या\",\n    \"payment_mode\": \"भुगतान का प्रकार\",\n    \"invoice\": \"चालान\",\n    \"note\": \"नोट\",\n    \"add_payment\": \"भुगतान जोड़ें\",\n    \"new_payment\": \"नया भुगतान\",\n    \"edit_payment\": \"भुगतान संपादित करें\",\n    \"view_payment\": \"भुगतान देखें\",\n    \"add_new_payment\": \"नया भुगतान जोड़ें\",\n    \"send_payment_receipt\": \"भुगतान रसीद भेजें\",\n    \"send_payment\": \"भुगतान भेजें\",\n    \"save_payment\": \"भुगतान सहेजें\",\n    \"update_payment\": \"भुगतान संपादित करें\",\n    \"payment\": \"भुगतान | भुगतान\",\n    \"no_payments\": \"अभी तक कोई भुगतान नहीं!\",\n    \"not_selected\": \"नहीं चुने गए\",\n    \"no_invoice\": \"कोई चालान नहीं\",\n    \"no_matching_payments\": \"कोई मिलान भुगतान नहीं हैं!\",\n    \"list_of_payments\": \"इस खंड में भुगतान की सूची होगी।\",\n    \"select_payment_mode\": \"भुगतान मोड चुनें\",\n    \"confirm_mark_as_sent\": \"This estimate will be marked as sent\",\n    \"confirm_send_payment\": \"यह भुगतान ग्राहक को ईमेल के माध्यम से भेजा जाएगा\",\n    \"send_payment_successfully\": \"भुगतान सफलतापूर्वक भेजा गया\",\n    \"something_went_wrong\": \"कुछ गलत हो गया\",\n    \"confirm_delete\": \"आप इस भुगतान को पुनर्प्राप्त नहीं कर पाएंगे | आप इन भुगतानों को पुनर्प्राप्त नहीं कर पाएंगे\",\n    \"created_message\": \"भुगतान सफलतापूर्वक बनाया गया\",\n    \"updated_message\": \"भुगतान सफलतापूर्वक अपडेट किया गया\",\n    \"deleted_message\": \"भुगतान सफलतापूर्वक हटाया गया | भुगतान सफलतापूर्वक हटा दिए गए\",\n    \"invalid_amount_message\": \"भुगतान राशि अमान्य है\"\n  },\n  \"expenses\": {\n    \"title\": \"व्यय\",\n    \"expenses_list\": \"व्यय सूची\",\n    \"select_a_customer\": \"एक ग्राहक चुनें\",\n    \"expense_title\": \"शीर्षक\",\n    \"customer\": \"ग्राहक\",\n    \"currency\": \"Currency\",\n    \"contact\": \"संपर्क\",\n    \"category\": \"वर्ग\",\n    \"from_date\": \"इस तारीख से\",\n    \"to_date\": \"इस तारीख तक\",\n    \"expense_date\": \"दिनांक\",\n    \"description\": \"विवरण\",\n    \"receipt\": \"रसीद\",\n    \"amount\": \"राशि\",\n    \"action\": \"कार्य\",\n    \"not_selected\": \"नहीं चुने गए\",\n    \"note\": \"ध्यान दें\",\n    \"category_id\": \"वर्ग आइडी\",\n    \"date\": \"दिनांक\",\n    \"add_expense\": \"खर्च जोड़ें\",\n    \"add_new_expense\": \"नया खर्च जोड़ें\",\n    \"save_expense\": \"खर्च बचाएं\",\n    \"update_expense\": \"अद्यतन व्यय\",\n    \"download_receipt\": \"रसीद डाउनलोड करें\",\n    \"edit_expense\": \"व्यय संपादित करें\",\n    \"new_expense\": \"नया खर्च\",\n    \"expense\": \"व्यय | व्यय\",\n    \"no_expenses\": \"अभी तक कोई खर्च नहीं!\",\n    \"list_of_expenses\": \"इस खंड में खर्चों की सूची होगी।\",\n    \"confirm_delete\": \"आप इस खर्चे की वसूली नहीं कर पाएंगे | आप इन खर्चों की वसूली नहीं कर पाएंगे\",\n    \"created_message\": \"व्यय सफलतापूर्वक बनाया गया\",\n    \"updated_message\": \"व्यय सफलतापूर्वक अपडेट किया गया\",\n    \"deleted_message\": \"व्यय सफलतापूर्वक हटाया गया | खर्चे सफलतापूर्वक मिटाए गए\",\n    \"categories\": {\n      \"categories_list\": \"श्रेणियाँ सूची\",\n      \"title\": \"शीर्षक\",\n      \"name\": \"नाम\",\n      \"description\": \"विवरण\",\n      \"amount\": \"राशि\",\n      \"actions\": \"कार्रवाई\",\n      \"add_category\": \"वर्ग जोड़ें\",\n      \"new_category\": \"नया वर्ग\",\n      \"category\": \"श्रेणी | श्रेणियाँ\",\n      \"select_a_category\": \"एक श्रेणी चुनें\"\n    }\n  },\n  \"login\": {\n    \"email\": \"ईमेल\",\n    \"password\": \"पासवर्ड\",\n    \"forgot_password\": \"पासवर्ड भूल गए?\",\n    \"or_signIn_with\": \"या इसके साथ साइन इन करें\",\n    \"login\": \"प्रवेश\",\n    \"register\": \"रजिस्टर करें\",\n    \"reset_password\": \"पासवर्ड रीसेट करें\",\n    \"password_reset_successfully\": \"पासवर्ड रीसेट सफलतापूर्वक\",\n    \"enter_email\": \"ईमेल दर्ज करें\",\n    \"enter_password\": \"पासवर्ड दर्ज करें\",\n    \"retype_password\": \"पासवर्ड पुन: लिखें\"\n  },\n  \"modules\": {\n    \"buy_now\": \"Buy Now\",\n    \"install\": \"इंस्टॉल\",\n    \"price\": \"मूल्य\",\n    \"download_zip_file\": \"ज़िप डाउनलोड करे\",\n    \"unzipping_package\": \"पैकेज खोल रहा है\",\n    \"copying_files\": \"फ़ाइलें कॉपी हो रही है\",\n    \"deleting_files\": \"अप्रयुक्त फाइलों को हटाना\",\n    \"completing_installation\": \"स्थापना पूर्ण करना\",\n    \"update_failed\": \"अद्यतनीकरण असफल रहा\",\n    \"install_success\": \"मॉड्यूल सफलतापूर्वक स्थापित किया गया है!\",\n    \"customer_reviews\": \"समीक्षा\",\n    \"license\": \"लाइसेन्स\",\n    \"faq\": \"हमेशा पूछे जाने वाले प्रश्न\",\n    \"monthly\": \"महीने के\",\n    \"yearly\": \"हर वर्ष\",\n    \"updated\": \"अपडेट किया गया\",\n    \"version\": \"वर्ज़न\",\n    \"disable\": \"अक्षम करें\",\n    \"module_disabled\": \"मॉड्यूल अक्षम\",\n    \"enable\": \"सक्षम\",\n    \"module_enabled\": \"मॉड्यूल सक्षम\",\n    \"update_to\": \"अपडेट करें\",\n    \"module_updated\": \"मॉड्यूल सफलतापूर्वक अपडेट किया गया!\",\n    \"title\": \"मॉड्यूल\",\n    \"module\": \"मॉड्यूल | मॉड्यूल\",\n    \"api_token\": \"एपीआई टोकन\",\n    \"invalid_api_token\": \"अमान्य एपीआई टोकन।\",\n    \"other_modules\": \"अन्य मॉड्यूल\",\n    \"view_all\": \"सभी को देखें\",\n    \"no_reviews_found\": \"इस मॉड्युल के लिए अभी तक वहां कोई समीक्षा नहीं है!\",\n    \"module_not_purchased\": \"मॉड्यूल खरीदा नहीं गया\",\n    \"module_not_found\": \"मॉड्यूल नहीं मिला\",\n    \"version_not_supported\": \"This module version doesn't support the current version of Crater\",\n    \"last_updated\": \"अंतिम बार अद्यतन किया गया\",\n    \"connect_installation\": \"अपनी स्थापना कनेक्ट करें\",\n    \"api_token_description\": \"{url} में लॉग इन करें और API टोकन दर्ज करके इस इंस्टॉलेशन को कनेक्ट करें। कनेक्शन स्थापित होने के बाद आपके खरीदे गए मॉड्यूल यहां दिखाई देंगे।\",\n    \"view_module\": \"मॉड्यूल देखें\",\n    \"update_available\": \"उपलब्ध अद्यतन\",\n    \"purchased\": \"खरीदी\",\n    \"installed\": \"इंस्टॉल हुआ।\",\n    \"no_modules_installed\": \"अभी तक कोई मॉड्यूल स्थापित नहीं है!\",\n    \"disable_warning\": \"All the settings for this particular will be reverted.\",\n    \"what_you_get\": \"What you get\"\n  },\n  \"users\": {\n    \"title\": \"उपयोगकर्ताओं\",\n    \"users_list\": \"उपयोगकर्ता सूची\",\n    \"name\": \"नाम\",\n    \"description\": \"विवरण\",\n    \"added_on\": \"पर जोड़ा\",\n    \"date_of_creation\": \"निर्माण की तारीख\",\n    \"action\": \"कार्य\",\n    \"add_user\": \"उपयोगकर्ता जोड़ें\",\n    \"save_user\": \"उपयोगकर्ता को सहेजें\",\n    \"update_user\": \"अद्यतन उपयोगकर्ता\",\n    \"user\": \"उपयोगकर्ता | उपयोगकर्ताओं\",\n    \"add_new_user\": \"नए उपयोगकर्ता को जोड़ें\",\n    \"new_user\": \"नया उपयोगकर्ता\",\n    \"edit_user\": \"यूजर को संपादित करो\",\n    \"no_users\": \"अभी तक कोई उपयोगकर्ता नहीं!\",\n    \"list_of_users\": \"इस खंड में वस्तुओं की सूची होगी।\",\n    \"email\": \"ईमेल\",\n    \"phone\": \"फ़ोन\",\n    \"password\": \"पासवर्ड\",\n    \"user_attached_message\": \"पहले से उपयोग में आने वाली वस्तु को हटा नहीं सकता\",\n    \"confirm_delete\": \"आप इस उपयोगकर्ता को पुनर्प्राप्त नहीं कर पाएंगे | आप इन उपयोगकर्ताओं को पुनर्प्राप्त नहीं कर पाएंगे\",\n    \"created_message\": \"उपयोगकर्ता सफलतापूर्वक बनाया गया\",\n    \"updated_message\": \"उपयोगकर्ता सफलतापूर्वक अपडेट किया गया\",\n    \"deleted_message\": \"उपयोगकर्ता सफलतापूर्वक हटाया गया | उपयोगकर्ता सफलतापूर्वक हटा दिया गया\",\n    \"select_company_role\": \"Select Role for {company}\",\n    \"companies\": \"Companies\"\n  },\n  \"reports\": {\n    \"title\": \"रिपोर्ट\",\n    \"from_date\": \"इस तारीख से\",\n    \"to_date\": \"इस तारीख तक\",\n    \"status\": \"स्थिति\",\n    \"paid\": \"भुगतान किया\",\n    \"unpaid\": \"अवैतनिक\",\n    \"download_pdf\": \"पीडीऍफ़ डाउनलोड करें\",\n    \"view_pdf\": \"पीडीएफ देखें\",\n    \"update_report\": \"रिपोर्ट अपडेट करें\",\n    \"report\": \"रिपोर्ट | रिपोर्टों\",\n    \"profit_loss\": {\n      \"profit_loss\": \"लाभ हानि\",\n      \"to_date\": \"इस तारीख तक\",\n      \"from_date\": \"इस तारीख से\",\n      \"date_range\": \"दिनांक सीमा चुनें\"\n    },\n    \"sales\": {\n      \"sales\": \"बिक्री\",\n      \"date_range\": \"दिनांक सीमा चुनें\",\n      \"to_date\": \"इस तारीख तक\",\n      \"from_date\": \"इस तारीख से\",\n      \"report_type\": \"रिपोर्ट का प्रकार\"\n    },\n    \"taxes\": {\n      \"taxes\": \"करों\",\n      \"to_date\": \"इस तारीख तक\",\n      \"from_date\": \"इस तारीख से\",\n      \"date_range\": \"दिनांक सीमा चुनें\"\n    },\n    \"errors\": {\n      \"required\": \"यह जानकारी जरुरी है\"\n    },\n    \"invoices\": {\n      \"invoice\": \"चालान\",\n      \"invoice_date\": \"चालान की तारीख\",\n      \"due_date\": \"नियत तारीख\",\n      \"amount\": \"राशि\",\n      \"contact_name\": \"संपर्क नाम\",\n      \"status\": \"स्थिति\"\n    },\n    \"estimates\": {\n      \"estimate\": \"अनुमान\",\n      \"estimate_date\": \"अनुमान तिथि\",\n      \"due_date\": \"नियत तारीख\",\n      \"estimate_number\": \"अनुमान संख्या\",\n      \"ref_number\": \"प्रसंग संख्या\",\n      \"amount\": \"राशि\",\n      \"contact_name\": \"संपर्क नाम\",\n      \"status\": \"स्थिति\"\n    },\n    \"expenses\": {\n      \"expenses\": \"लागत\",\n      \"category\": \"वर्ग\",\n      \"date\": \"दिनांक\",\n      \"amount\": \"राशि\",\n      \"to_date\": \"इस तारीख तक\",\n      \"from_date\": \"इस तारीख से\",\n      \"date_range\": \"दिनांक सीमा चुनें\"\n    }\n  },\n  \"settings\": {\n    \"menu_title\": {\n      \"account_settings\": \"खाता सेटिंग\",\n      \"company_information\": \"कंपनी जानकारी\",\n      \"customization\": \"अनुकूलन\",\n      \"preferences\": \"प्राथमिकतायें\",\n      \"notifications\": \"सूचनाएँ\",\n      \"tax_types\": \"कर प्रकार\",\n      \"expense_category\": \"व्यय श्रेणियां\",\n      \"update_app\": \"ऐप अपडेट करें\",\n      \"backup\": \"बैकअप\",\n      \"file_disk\": \"फ़ाइल डिस्क\",\n      \"custom_fields\": \"कस्टम फील्ड्स\",\n      \"payment_modes\": \"भुगतान के प्रकार\",\n      \"notes\": \"नोट्स\",\n      \"exchange_rate\": \"Exchange Rate\",\n      \"address_information\": \"Address Information\"\n    },\n    \"address_information\": {\n      \"section_description\": \"  You can update Your Address information using form below.\"\n    },\n    \"title\": \"समायोजन\",\n    \"setting\": \"सेटिंग्स | समायोजन\",\n    \"general\": \"सामान्य\",\n    \"language\": \"भाषा\",\n    \"primary_currency\": \"Primary Currency\",\n    \"timezone\": \"Time Zone\",\n    \"date_format\": \"Date Format\",\n    \"currencies\": {\n      \"title\": \"Currencies\",\n      \"currency\": \"Currency | Currencies\",\n      \"currencies_list\": \"Currencies List\",\n      \"select_currency\": \"Select Currency\",\n      \"name\": \"Name\",\n      \"code\": \"Code\",\n      \"symbol\": \"Symbol\",\n      \"precision\": \"Precision\",\n      \"thousand_separator\": \"Thousand Separator\",\n      \"decimal_separator\": \"Decimal Separator\",\n      \"position\": \"Position\",\n      \"position_of_symbol\": \"Position Of Symbol\",\n      \"right\": \"Right\",\n      \"left\": \"Left\",\n      \"action\": \"Action\",\n      \"add_currency\": \"Add Currency\"\n    },\n    \"mail\": {\n      \"host\": \"Mail Host\",\n      \"port\": \"Mail Port\",\n      \"driver\": \"Mail Driver\",\n      \"secret\": \"Secret\",\n      \"mailgun_secret\": \"Mailgun Secret\",\n      \"mailgun_domain\": \"Domain\",\n      \"mailgun_endpoint\": \"Mailgun Endpoint\",\n      \"ses_secret\": \"SES Secret\",\n      \"ses_key\": \"SES Key\",\n      \"password\": \"Mail Password\",\n      \"username\": \"Mail Username\",\n      \"mail_config\": \"Mail Configuration\",\n      \"from_name\": \"From Mail Name\",\n      \"from_mail\": \"From Mail Address\",\n      \"encryption\": \"Mail Encryption\",\n      \"mail_config_desc\": \"Below is the form for Configuring Email driver for sending emails from the app. You can also configure third party providers like Sendgrid, SES etc.\"\n    },\n    \"pdf\": {\n      \"title\": \"PDF Setting\",\n      \"footer_text\": \"Footer Text\",\n      \"pdf_layout\": \"PDF Layout\"\n    },\n    \"company_info\": {\n      \"company_info\": \"Company info\",\n      \"company_name\": \"Company Name\",\n      \"company_logo\": \"Company Logo\",\n      \"section_description\": \"Information about your company that will be displayed on invoices, estimates and other documents created by Crater.\",\n      \"phone\": \"Phone\",\n      \"country\": \"Country\",\n      \"state\": \"State\",\n      \"city\": \"City\",\n      \"address\": \"Address\",\n      \"zip\": \"Zip\",\n      \"save\": \"Save\",\n      \"delete\": \"Delete\",\n      \"updated_message\": \"Company information updated successfully\",\n      \"delete_company\": \"Delete Company\",\n      \"delete_company_description\": \"Once you delete your company, you will lose all the data and files associated with it permanently.\",\n      \"are_you_absolutely_sure\": \"Are you absolutely sure?\",\n      \"delete_company_modal_desc\": \"This action cannot be undone. This will permanently delete {company} and all of its associated data.\",\n      \"delete_company_modal_label\": \"Please type {company} to confirm\"\n    },\n    \"custom_fields\": {\n      \"title\": \"Custom Fields\",\n      \"section_description\": \"Customize your Invoices, Estimates & Payment Receipts with your own fields. Make sure to use the below added fields on the address formats on Customization settings page.\",\n      \"add_custom_field\": \"Add Custom Field\",\n      \"edit_custom_field\": \"Edit Custom Field\",\n      \"field_name\": \"Field Name\",\n      \"label\": \"Label\",\n      \"type\": \"Type\",\n      \"name\": \"Name\",\n      \"slug\": \"Slug\",\n      \"required\": \"Required\",\n      \"placeholder\": \"Placeholder\",\n      \"help_text\": \"Help Text\",\n      \"default_value\": \"Default Value\",\n      \"prefix\": \"Prefix\",\n      \"starting_number\": \"Starting Number\",\n      \"model\": \"Model\",\n      \"help_text_description\": \"Enter some text to help users understand the purpose of this custom field.\",\n      \"suffix\": \"Suffix\",\n      \"yes\": \"Yes\",\n      \"no\": \"No\",\n      \"order\": \"Order\",\n      \"custom_field_confirm_delete\": \"You will not be able to recover this Custom Field\",\n      \"already_in_use\": \"Custom Field is already in use\",\n      \"deleted_message\": \"Custom Field deleted successfully\",\n      \"options\": \"options\",\n      \"add_option\": \"Add Options\",\n      \"add_another_option\": \"Add another option\",\n      \"sort_in_alphabetical_order\": \"Sort in Alphabetical Order\",\n      \"add_options_in_bulk\": \"Add options in bulk\",\n      \"use_predefined_options\": \"Use Predefined Options\",\n      \"select_custom_date\": \"Select Custom Date\",\n      \"select_relative_date\": \"Select Relative Date\",\n      \"ticked_by_default\": \"Ticked by default\",\n      \"updated_message\": \"Custom Field updated successfully\",\n      \"added_message\": \"Custom Field added successfully\",\n      \"press_enter_to_add\": \"Press enter to add new option\",\n      \"model_in_use\": \"Cannot update model for fields which are already in use.\",\n      \"type_in_use\": \"Cannot update type for fields which are already in use.\"\n    },\n    \"customization\": {\n      \"customization\": \"customization\",\n      \"updated_message\": \"Company information updated successfully\",\n      \"save\": \"Save\",\n      \"insert_fields\": \"Insert Fields\",\n      \"learn_custom_format\": \"Learn how to use custom format\",\n      \"add_new_component\": \"Add New Component\",\n      \"component\": \"Component\",\n      \"Parameter\": \"Parameter\",\n      \"series\": \"Series\",\n      \"series_description\": \"To set a static prefix/postfix like 'INV' across your company. It supports character length of up to 6 chars.\",\n      \"series_param_label\": \"Series Value\",\n      \"delimiter\": \"Delimiter\",\n      \"delimiter_description\": \"Single character for specifying the boundary between 2 separate components. By default its set to -\",\n      \"delimiter_param_label\": \"Delimiter Value\",\n      \"date_format\": \"Date Format\",\n      \"date_format_description\": \"A local date and time field which accepts a format parameter. The default format: 'Y' renders the current year.\",\n      \"date_format_param_label\": \"Format\",\n      \"sequence\": \"Sequence\",\n      \"sequence_description\": \"Consecutive sequence of numbers across your company. You can specify the length on the given parameter.\",\n      \"sequence_param_label\": \"Sequence Length\",\n      \"customer_series\": \"Customer Series\",\n      \"customer_series_description\": \"To set a different prefix/postfix for each customer.\",\n      \"customer_sequence\": \"Customer Sequence\",\n      \"customer_sequence_description\": \"Consecutive sequence of numbers for each of your customer.\",\n      \"customer_sequence_param_label\": \"Sequence Length\",\n      \"random_sequence\": \"Random Sequence\",\n      \"random_sequence_description\": \"Random alphanumeric string. You can specify the length on the given parameter.\",\n      \"random_sequence_param_label\": \"Sequence Length\",\n      \"invoices\": {\n        \"title\": \"Invoices\",\n        \"invoice_number_format\": \"Invoice Number Format\",\n        \"invoice_number_format_description\": \"Customize how your invoice number gets generated automatically when you create a new invoice.\",\n        \"preview_invoice_number\": \"Preview Invoice Number\",\n        \"due_date\": \"Due Date\",\n        \"due_date_description\": \"Specify how due date is automatically set when you create an invoice.\",\n        \"due_date_days\": \"Invoice Due after days\",\n        \"set_due_date_automatically\": \"Set Due Date Automatically\",\n        \"set_due_date_automatically_description\": \"Enable this if you wish to set due date automatically when you create a new invoice.\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on invoice creation.\",\n        \"default_invoice_email_body\": \"Default Invoice Email Body\",\n        \"company_address_format\": \"Company Address Format\",\n        \"shipping_address_format\": \"Shipping Address Format\",\n        \"billing_address_format\": \"Billing Address Format\",\n        \"invoice_email_attachment\": \"Send invoices as attachments\",\n        \"invoice_email_attachment_setting_description\": \"Enable this if you want to send invoices as email attachment. Please note that 'View Invoice' button in emails will not be displayed anymore when enabled.\",\n        \"invoice_settings_updated\": \"Invoice Settings updated successfully\",\n        \"retrospective_edits\": \"Retrospective Edits\",\n        \"allow\": \"Allow\",\n        \"disable_on_invoice_partial_paid\": \"Disable after partial payment is recorded\",\n        \"disable_on_invoice_paid\": \"Disable after full payment is recorded\",\n        \"disable_on_invoice_sent\": \"Disable after invoice is sent\",\n        \"retrospective_edits_description\": \" Based on your country's laws or your preference, you can restrict users from editing finalised invoices.\"\n      },\n      \"estimates\": {\n        \"title\": \"Estimates\",\n        \"estimate_number_format\": \"Estimate Number Format\",\n        \"estimate_number_format_description\": \"Customize how your estimate number gets generated automatically when you create a new estimate.\",\n        \"preview_estimate_number\": \"Preview Estimate Number\",\n        \"expiry_date\": \"Expiry Date\",\n        \"expiry_date_description\": \"Specify how expiry date is automatically set when you create an estimate.\",\n        \"expiry_date_days\": \"Estimate Expires after days\",\n        \"set_expiry_date_automatically\": \"Set Expiry Date Automatically\",\n        \"set_expiry_date_automatically_description\": \"Enable this if you wish to set expiry date automatically when you create a new estimate.\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on estimate creation.\",\n        \"default_estimate_email_body\": \"Default Estimate Email Body\",\n        \"company_address_format\": \"Company Address Format\",\n        \"shipping_address_format\": \"Shipping Address Format\",\n        \"billing_address_format\": \"Billing Address Format\",\n        \"estimate_email_attachment\": \"Send estimates as attachments\",\n        \"estimate_email_attachment_setting_description\": \"Enable this if you want to send the estimates as an email attachment. Please note that 'View Estimate' button in emails will not be displayed anymore when enabled.\",\n        \"estimate_settings_updated\": \"Estimate Settings updated successfully\",\n        \"convert_estimate_options\": \"Estimate Convert Action\",\n        \"convert_estimate_description\": \"Specify what happens to the estimate after it gets converted to an invoice.\",\n        \"no_action\": \"No action\",\n        \"delete_estimate\": \"Delete estimate\",\n        \"mark_estimate_as_accepted\": \"Mark estimate as accepted\"\n      },\n      \"payments\": {\n        \"title\": \"Payments\",\n        \"payment_number_format\": \"Payment Number Format\",\n        \"payment_number_format_description\": \"Customize how your payment number gets generated automatically when you create a new payment.\",\n        \"preview_payment_number\": \"Preview Payment Number\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on payment creation.\",\n        \"default_payment_email_body\": \"Default Payment Email Body\",\n        \"company_address_format\": \"Company Address Format\",\n        \"from_customer_address_format\": \"From Customer Address Format\",\n        \"payment_email_attachment\": \"Send payments as attachments\",\n        \"payment_email_attachment_setting_description\": \"Enable this if you want to send the payment receipts as an email attachment. Please note that 'View Payment' button in emails will not be displayed anymore when enabled.\",\n        \"payment_settings_updated\": \"Payment Settings updated successfully\"\n      },\n      \"items\": {\n        \"title\": \"Items\",\n        \"units\": \"Units\",\n        \"add_item_unit\": \"Add Item Unit\",\n        \"edit_item_unit\": \"Edit Item Unit\",\n        \"unit_name\": \"Unit Name\",\n        \"item_unit_added\": \"Item Unit Added\",\n        \"item_unit_updated\": \"Item Unit Updated\",\n        \"item_unit_confirm_delete\": \"You will not be able to recover this Item unit\",\n        \"already_in_use\": \"Item Unit is already in use\",\n        \"deleted_message\": \"Item Unit deleted successfully\"\n      },\n      \"notes\": {\n        \"title\": \"Notes\",\n        \"description\": \"Save time by creating notes and reusing them on your invoices, estimates & payments.\",\n        \"notes\": \"Notes\",\n        \"type\": \"Type\",\n        \"add_note\": \"Add Note\",\n        \"add_new_note\": \"Add New Note\",\n        \"name\": \"Name\",\n        \"edit_note\": \"Edit Note\",\n        \"note_added\": \"Note added successfully\",\n        \"note_updated\": \"Note Updated successfully\",\n        \"note_confirm_delete\": \"You will not be able to recover this Note\",\n        \"already_in_use\": \"Note is already in use\",\n        \"deleted_message\": \"Note deleted successfully\"\n      }\n    },\n    \"account_settings\": {\n      \"profile_picture\": \"Profile Picture\",\n      \"name\": \"Name\",\n      \"email\": \"Email\",\n      \"password\": \"Password\",\n      \"confirm_password\": \"Confirm Password\",\n      \"account_settings\": \"Account Settings\",\n      \"save\": \"Save\",\n      \"section_description\": \"You can update your name, email & password using the form below.\",\n      \"updated_message\": \"Account Settings updated successfully\"\n    },\n    \"user_profile\": {\n      \"name\": \"Name\",\n      \"email\": \"Email\",\n      \"password\": \"Password\",\n      \"confirm_password\": \"Confirm Password\"\n    },\n    \"notification\": {\n      \"title\": \"Notifications\",\n      \"email\": \"Send Notifications to\",\n      \"description\": \"Which email notifications would you like to receive when something changes?\",\n      \"invoice_viewed\": \"Invoice viewed\",\n      \"invoice_viewed_desc\": \"When your customer views the invoice sent via crater dashboard.\",\n      \"estimate_viewed\": \"Estimate viewed\",\n      \"estimate_viewed_desc\": \"When your customer views the estimate sent via crater dashboard.\",\n      \"save\": \"Save\",\n      \"email_save_message\": \"Email saved successfully\",\n      \"please_enter_email\": \"Please Enter Email\"\n    },\n    \"roles\": {\n      \"title\": \"Roles\",\n      \"description\": \"Manage the roles & permissions of this company\",\n      \"save\": \"Save\",\n      \"add_new_role\": \"Add New Role\",\n      \"role_name\": \"Role Name\",\n      \"added_on\": \"Added on\",\n      \"add_role\": \"Add Role\",\n      \"edit_role\": \"Edit Role\",\n      \"name\": \"Name\",\n      \"permission\": \"Permission | Permissions\",\n      \"select_all\": \"Select All\",\n      \"none\": \"None\",\n      \"confirm_delete\": \"You will not be able to recover this Role\",\n      \"created_message\": \"Role created successfully\",\n      \"updated_message\": \"Role updated successfully\",\n      \"deleted_message\": \"Role deleted successfully\",\n      \"already_in_use\": \"Role is already in use\"\n    },\n    \"exchange_rate\": {\n      \"exchange_rate\": \"Exchange Rate\",\n      \"title\": \"Fix Currency Exchange issues\",\n      \"description\": \"Please enter exchange rate of all the currencies mentioned below to help Crater properly calculate the amounts in {currency}.\",\n      \"drivers\": \"Drivers\",\n      \"new_driver\": \"Add New Provider\",\n      \"edit_driver\": \"Edit Provider\",\n      \"select_driver\": \"Select Driver\",\n      \"update\": \"select exchange rate \",\n      \"providers_description\": \"Configure your exchange rate providers here to automatically fetch the latest exchange rate on transactions.\",\n      \"key\": \"API Key\",\n      \"name\": \"Name\",\n      \"driver\": \"Driver\",\n      \"is_default\": \"IS DEFAULT\",\n      \"currency\": \"Currencies\",\n      \"exchange_rate_confirm_delete\": \"You will not be able to recover this driver\",\n      \"created_message\": \"Provider Created successfully\",\n      \"updated_message\": \"Provider Updated Successfully\",\n      \"deleted_message\": \"Provider Deleted Successfully\",\n      \"error\": \" You cannot Delete Active Driver\",\n      \"default_currency_error\": \"This currency is already used in one of the Active Provider\",\n      \"exchange_help_text\": \"Enter exchange rate to convert from {currency} to {baseCurrency}\",\n      \"currency_freak\": \"Currency Freak\",\n      \"currency_layer\": \"Currency Layer\",\n      \"open_exchange_rate\": \"Open Exchange Rate\",\n      \"currency_converter\": \"Currency Converter\",\n      \"server\": \"Server\",\n      \"url\": \"URL\",\n      \"active\": \"Active\",\n      \"currency_help_text\": \"This provider will only be used on above selected currencies\",\n      \"currency_in_used\": \"The following currencies are already active on another provider. Please remove these currencies from selection to activate this provider again.\"\n    },\n    \"tax_types\": {\n      \"title\": \"Tax Types\",\n      \"add_tax\": \"Add Tax\",\n      \"edit_tax\": \"Edit Tax\",\n      \"description\": \"You can add or Remove Taxes as you please. Crater supports Taxes on Individual Items as well as on the invoice.\",\n      \"add_new_tax\": \"Add New Tax\",\n      \"tax_settings\": \"Tax Settings\",\n      \"tax_per_item\": \"Tax Per Item\",\n      \"tax_name\": \"Tax Name\",\n      \"compound_tax\": \"Compound Tax\",\n      \"percent\": \"Percent\",\n      \"action\": \"Action\",\n      \"tax_setting_description\": \"Enable this if you want to add taxes to individual invoice items. By default, taxes are added directly to the invoice.\",\n      \"created_message\": \"Tax type created successfully\",\n      \"updated_message\": \"Tax type updated successfully\",\n      \"deleted_message\": \"Tax type deleted successfully\",\n      \"confirm_delete\": \"You will not be able to recover this Tax Type\",\n      \"already_in_use\": \"Tax is already in use\"\n    },\n    \"payment_modes\": {\n      \"title\": \"Payment Modes\",\n      \"description\": \"Modes of transaction for payments\",\n      \"add_payment_mode\": \"Add Payment Mode\",\n      \"edit_payment_mode\": \"Edit Payment Mode\",\n      \"mode_name\": \"Mode Name\",\n      \"payment_mode_added\": \"Payment Mode Added\",\n      \"payment_mode_updated\": \"Payment Mode Updated\",\n      \"payment_mode_confirm_delete\": \"You will not be able to recover this Payment Mode\",\n      \"payments_attached\": \"This payment method is already attached to payments. Please delete the attached payments to proceed with deletion.\",\n      \"expenses_attached\": \"This payment method is already attached to expenses. Please delete the attached expenses to proceed with deletion.\",\n      \"deleted_message\": \"Payment Mode deleted successfully\"\n    },\n    \"expense_category\": {\n      \"title\": \"Expense Categories\",\n      \"action\": \"Action\",\n      \"description\": \"Categories are required for adding expense entries. You can Add or Remove these categories according to your preference.\",\n      \"add_new_category\": \"Add New Category\",\n      \"add_category\": \"Add Category\",\n      \"edit_category\": \"Edit Category\",\n      \"category_name\": \"Category Name\",\n      \"category_description\": \"Description\",\n      \"created_message\": \"Expense Category created successfully\",\n      \"deleted_message\": \"Expense category deleted successfully\",\n      \"updated_message\": \"Expense category updated successfully\",\n      \"confirm_delete\": \"You will not be able to recover this Expense Category\",\n      \"already_in_use\": \"Category is already in use\"\n    },\n    \"preferences\": {\n      \"currency\": \"Currency\",\n      \"default_language\": \"Default Language\",\n      \"time_zone\": \"Time Zone\",\n      \"fiscal_year\": \"Financial Year\",\n      \"date_format\": \"Date Format\",\n      \"discount_setting\": \"Discount Setting\",\n      \"discount_per_item\": \"Discount Per Item \",\n      \"discount_setting_description\": \"Enable this if you want to add Discount to individual invoice items. By default, Discount is added directly to the invoice.\",\n      \"expire_public_links\": \"Automatically Expire Public Links\",\n      \"expire_setting_description\": \"Specify whether you would like to expire all the links sent by application to view invoices, estimates & payments, etc after a specified duration.\",\n      \"save\": \"Save\",\n      \"preference\": \"Preference | Preferences\",\n      \"general_settings\": \"Default preferences for the system.\",\n      \"updated_message\": \"Preferences updated successfully\",\n      \"select_language\": \"Select Language\",\n      \"select_time_zone\": \"Select Time Zone\",\n      \"select_date_format\": \"Select Date Format\",\n      \"select_financial_year\": \"Select Financial Year\",\n      \"recurring_invoice_status\": \"Recurring Invoice Status\",\n      \"create_status\": \"Create Status\",\n      \"active\": \"Active\",\n      \"on_hold\": \"On Hold\",\n      \"update_status\": \"Update Status\",\n      \"completed\": \"Completed\",\n      \"company_currency_unchangeable\": \"Company currency cannot be changed\"\n    },\n    \"update_app\": {\n      \"title\": \"Update App\",\n      \"description\": \"You can easily update Crater by checking for a new update by clicking the button below\",\n      \"check_update\": \"Check for updates\",\n      \"avail_update\": \"New Update available\",\n      \"next_version\": \"Next version\",\n      \"requirements\": \"Requirements\",\n      \"update\": \"Update Now\",\n      \"update_progress\": \"Update in progress...\",\n      \"progress_text\": \"It will just take a few minutes. Please do not refresh the screen or close the window before the update finishes\",\n      \"update_success\": \"App has been updated! Please wait while your browser window gets reloaded automatically.\",\n      \"latest_message\": \"No update available! You are on the latest version.\",\n      \"current_version\": \"Current Version\",\n      \"download_zip_file\": \"Download ZIP file\",\n      \"unzipping_package\": \"Unzipping Package\",\n      \"copying_files\": \"Copying Files\",\n      \"deleting_files\": \"Deleting Unused files\",\n      \"running_migrations\": \"Running Migrations\",\n      \"finishing_update\": \"Finishing Update\",\n      \"update_failed\": \"Update Failed\",\n      \"update_failed_text\": \"Sorry! Your update failed on : {step} step\",\n      \"update_warning\": \"All of the application files and default template files will be overwritten when you update the application using this utility. Please take a backup of your templates & database before updating.\"\n    },\n    \"backup\": {\n      \"title\": \"Backup | Backups\",\n      \"description\": \"The backup is a zipfile that contains all files in the directories you specify along with a dump of your database\",\n      \"new_backup\": \"Add New Backup\",\n      \"create_backup\": \"Create Backup\",\n      \"select_backup_type\": \"Select Backup Type\",\n      \"backup_confirm_delete\": \"You will not be able to recover this Backup\",\n      \"path\": \"path\",\n      \"new_disk\": \"New Disk\",\n      \"created_at\": \"created at\",\n      \"size\": \"size\",\n      \"dropbox\": \"dropbox\",\n      \"local\": \"local\",\n      \"healthy\": \"healthy\",\n      \"amount_of_backups\": \"amount of backups\",\n      \"newest_backups\": \"newest backups\",\n      \"used_storage\": \"used storage\",\n      \"select_disk\": \"Select Disk\",\n      \"action\": \"Action\",\n      \"deleted_message\": \"Backup deleted successfully\",\n      \"created_message\": \"Backup created successfully\",\n      \"invalid_disk_credentials\": \"Invalid credential of selected disk\"\n    },\n    \"disk\": {\n      \"title\": \"File Disk | File Disks\",\n      \"description\": \"By default, Crater will use your local disk for saving backups, avatar and other image files. You can configure more than one disk drivers like DigitalOcean, S3 and Dropbox according to your preference.\",\n      \"created_at\": \"created at\",\n      \"dropbox\": \"dropbox\",\n      \"name\": \"Name\",\n      \"driver\": \"Driver\",\n      \"disk_type\": \"Type\",\n      \"disk_name\": \"Disk Name\",\n      \"new_disk\": \"Add New Disk\",\n      \"filesystem_driver\": \"Filesystem Driver\",\n      \"local_driver\": \"local Driver\",\n      \"local_root\": \"local Root\",\n      \"public_driver\": \"Public Driver\",\n      \"public_root\": \"Public Root\",\n      \"public_url\": \"Public URL\",\n      \"public_visibility\": \"Public Visibility\",\n      \"media_driver\": \"Media Driver\",\n      \"media_root\": \"Media Root\",\n      \"aws_driver\": \"AWS Driver\",\n      \"aws_key\": \"AWS Key\",\n      \"aws_secret\": \"AWS Secret\",\n      \"aws_region\": \"AWS Region\",\n      \"aws_bucket\": \"AWS Bucket\",\n      \"aws_root\": \"AWS Root\",\n      \"do_spaces_type\": \"Do Spaces type\",\n      \"do_spaces_key\": \"Do Spaces key\",\n      \"do_spaces_secret\": \"Do Spaces Secret\",\n      \"do_spaces_region\": \"Do Spaces Region\",\n      \"do_spaces_bucket\": \"Do Spaces Bucket\",\n      \"do_spaces_endpoint\": \"Do Spaces Endpoint\",\n      \"do_spaces_root\": \"Do Spaces Root\",\n      \"dropbox_type\": \"Dropbox Type\",\n      \"dropbox_token\": \"Dropbox Token\",\n      \"dropbox_key\": \"Dropbox Key\",\n      \"dropbox_secret\": \"Dropbox Secret\",\n      \"dropbox_app\": \"Dropbox App\",\n      \"dropbox_root\": \"Dropbox Root\",\n      \"default_driver\": \"Default Driver\",\n      \"is_default\": \"IS DEFAULT\",\n      \"set_default_disk\": \"Set Default Disk\",\n      \"set_default_disk_confirm\": \"This disk will be set as default and all the new PDFs will be saved on this disk\",\n      \"success_set_default_disk\": \"Disk set as default successfully\",\n      \"save_pdf_to_disk\": \"Save PDFs to Disk\",\n      \"disk_setting_description\": \" Enable this, if you wish to save a copy of each Invoice, Estimate & Payment Receipt PDF on your default disk automatically. Turning this option will decrease the load-time when viewing the PDFs.\",\n      \"select_disk\": \"Select Disk\",\n      \"disk_settings\": \"Disk Settings\",\n      \"confirm_delete\": \"Your existing files & folders in the specified disk will not be affected but your disk configuration will be deleted from Crater\",\n      \"action\": \"Action\",\n      \"edit_file_disk\": \"Edit File Disk\",\n      \"success_create\": \"Disk added successfully\",\n      \"success_update\": \"Disk updated successfully\",\n      \"error\": \"Disk addition failed\",\n      \"deleted_message\": \"File Disk deleted successfully\",\n      \"disk_variables_save_successfully\": \"Disk Configured Successfully\",\n      \"disk_variables_save_error\": \"Disk configuration failed.\",\n      \"invalid_disk_credentials\": \"Invalid credential of selected disk\"\n    },\n    \"taxations\": {\n      \"add_billing_address\": \"Enter Billing Address\",\n      \"add_shipping_address\": \"Enter Shipping Address\",\n      \"add_company_address\": \"Enter Company Address\",\n      \"modal_description\": \"The information below is required in order to fetch sales tax.\",\n      \"add_address\": \"Add Address for fetching sales tax.\",\n      \"address_placeholder\": \"Example: 123, My Street\",\n      \"city_placeholder\": \"Example: Los Angeles\",\n      \"state_placeholder\": \"Example: CA\",\n      \"zip_placeholder\": \"Example: 90024\",\n      \"invalid_address\": \"Please provide valid address details.\"\n    }\n  },\n  \"wizard\": {\n    \"account_info\": \"Account Information\",\n    \"account_info_desc\": \"Below details will be used to create the main Administrator account. Also you can change the details anytime after logging in.\",\n    \"name\": \"Name\",\n    \"email\": \"Email\",\n    \"password\": \"Password\",\n    \"confirm_password\": \"Confirm Password\",\n    \"save_cont\": \"Save & Continue\",\n    \"company_info\": \"Company Information\",\n    \"company_info_desc\": \"This information will be displayed on invoices. Note that you can edit this later on settings page.\",\n    \"company_name\": \"Company Name\",\n    \"company_logo\": \"Company Logo\",\n    \"logo_preview\": \"Logo Preview\",\n    \"preferences\": \"Company Preferences\",\n    \"preferences_desc\": \"Specify the default preferences for this company.\",\n    \"currency_set_alert\": \"The company's currency cannot be changed later.\",\n    \"country\": \"Country\",\n    \"state\": \"State\",\n    \"city\": \"City\",\n    \"address\": \"Address\",\n    \"street\": \"Street1 | Street2\",\n    \"phone\": \"Phone\",\n    \"zip_code\": \"Zip Code\",\n    \"go_back\": \"Go Back\",\n    \"currency\": \"Currency\",\n    \"language\": \"Language\",\n    \"time_zone\": \"Time Zone\",\n    \"fiscal_year\": \"Financial Year\",\n    \"date_format\": \"Date Format\",\n    \"from_address\": \"From Address\",\n    \"username\": \"Username\",\n    \"next\": \"Next\",\n    \"continue\": \"Continue\",\n    \"skip\": \"Skip\",\n    \"database\": {\n      \"database\": \"Site URL & Database\",\n      \"connection\": \"Database Connection\",\n      \"host\": \"Database Host\",\n      \"port\": \"Database Port\",\n      \"password\": \"Database Password\",\n      \"app_url\": \"App URL\",\n      \"app_domain\": \"App Domain\",\n      \"username\": \"Database Username\",\n      \"db_name\": \"Database Name\",\n      \"db_path\": \"Database Path\",\n      \"desc\": \"Create a database on your server and set the credentials using the form below.\"\n    },\n    \"permissions\": {\n      \"permissions\": \"Permissions\",\n      \"permission_confirm_title\": \"Are you sure you want to continue?\",\n      \"permission_confirm_desc\": \"Folder permission check failed\",\n      \"permission_desc\": \"Below is the list of folder permissions which are required in order for the app to work. If the permission check fails, make sure to update your folder permissions.\"\n    },\n    \"verify_domain\": {\n      \"title\": \"Domain Verification\",\n      \"desc\": \"Crater uses Session based authentication which requires domain verification for security purposes. Please enter the domain on which you will be accessing your web application.\",\n      \"app_domain\": \"App Domain\",\n      \"verify_now\": \"Verify Now\",\n      \"success\": \"Domain Verify Successfully.\",\n      \"failed\": \"Domain verification failed. Please enter valid domain name.\",\n      \"verify_and_continue\": \"Verify And Continue\"\n    },\n    \"mail\": {\n      \"host\": \"Mail Host\",\n      \"port\": \"Mail Port\",\n      \"driver\": \"Mail Driver\",\n      \"secret\": \"Secret\",\n      \"mailgun_secret\": \"Mailgun Secret\",\n      \"mailgun_domain\": \"Domain\",\n      \"mailgun_endpoint\": \"Mailgun Endpoint\",\n      \"ses_secret\": \"SES Secret\",\n      \"ses_key\": \"SES Key\",\n      \"password\": \"Mail Password\",\n      \"username\": \"Mail Username\",\n      \"mail_config\": \"Mail Configuration\",\n      \"from_name\": \"From Mail Name\",\n      \"from_mail\": \"From Mail Address\",\n      \"encryption\": \"Mail Encryption\",\n      \"mail_config_desc\": \"Below is the form for Configuring Email driver for sending emails from the app. You can also configure third party providers like Sendgrid, SES etc.\"\n    },\n    \"req\": {\n      \"system_req\": \"System Requirements\",\n      \"php_req_version\": \"Php (version {version} required)\",\n      \"check_req\": \"Check Requirements\",\n      \"system_req_desc\": \"Crater has a few server requirements. Make sure that your server has the required php version and all the extensions mentioned below.\"\n    },\n    \"errors\": {\n      \"migrate_failed\": \"Migrate Failed\",\n      \"database_variables_save_error\": \"Cannot write configuration to .env file. Please check its file permissions\",\n      \"mail_variables_save_error\": \"Email configuration failed.\",\n      \"connection_failed\": \"Database connection failed\",\n      \"database_should_be_empty\": \"Database should be empty\"\n    },\n    \"success\": {\n      \"mail_variables_save_successfully\": \"Email configured successfully\",\n      \"database_variables_save_successfully\": \"Database configured successfully.\"\n    }\n  },\n  \"validation\": {\n    \"invalid_phone\": \"Invalid Phone Number\",\n    \"invalid_url\": \"Invalid url (ex: http://www.craterapp.com)\",\n    \"invalid_domain_url\": \"Invalid url (ex: craterapp.com)\",\n    \"required\": \"Field is required\",\n    \"email_incorrect\": \"Incorrect Email.\",\n    \"email_already_taken\": \"The email has already been taken.\",\n    \"email_does_not_exist\": \"User with given email doesn't exist\",\n    \"item_unit_already_taken\": \"This item unit name has already been taken\",\n    \"payment_mode_already_taken\": \"This payment mode name has already been taken\",\n    \"send_reset_link\": \"Send Reset Link\",\n    \"not_yet\": \"Not yet? Send it again\",\n    \"password_min_length\": \"Password must contain {count} characters\",\n    \"name_min_length\": \"Name must have at least {count} letters.\",\n    \"prefix_min_length\": \"Prefix must have at least {count} letters.\",\n    \"enter_valid_tax_rate\": \"Enter valid tax rate\",\n    \"numbers_only\": \"केवल आंकड़े।\",\n    \"characters_only\": \"केवल वर्ण।\",\n    \"password_incorrect\": \"पासवर्ड एक जैसे होना चाहिए\",\n    \"password_length\": \"पासवर्ड कम से कम {count} अक्षर लंबा होना चाहिए!\",\n    \"qty_must_greater_than_zero\": \"मात्रा शून्य से अधिक होनी चाहिए।\",\n    \"price_greater_than_zero\": \"मात्रा शून्य से अधिक होनी चाहिए।\",\n    \"payment_greater_than_zero\": \"भुगतान शून्य से अधिक होना चाहिए।\",\n    \"payment_greater_than_due_amount\": \"दर्ज किया गया भुगतान इस चालान की देय राशि से अधिक है।\",\n    \"quantity_maxlength\": \"मात्रा 20 अंकों से अधिक नहीं होनी चाहिए।\",\n    \"price_maxlength\": \"मात्रा 20 अंकों से अधिक नहीं होनी चाहिए।\",\n    \"price_minvalue\": \"मात्रा शून्य से अधिक होनी चाहिए।\",\n    \"amount_maxlength\": \"राशि 20 अंकों से अधिक नहीं होनी चाहिए।\",\n    \"amount_minvalue\": \"राशि शून्य से अधिक होनी चाहिए।\",\n    \"discount_maxlength\": \"Discount should not be greater than max discount\",\n    \"description_maxlength\": \"Description should not be greater than 255 characters.\",\n    \"subject_maxlength\": \"Subject should not be greater than 100 characters.\",\n    \"message_maxlength\": \"Message should not be greater than 255 characters.\",\n    \"maximum_options_error\": \"Maximum  of {max} options selected. First remove a selected option to select another.\",\n    \"notes_maxlength\": \"Notes should not be greater than 255 characters.\",\n    \"address_maxlength\": \"Address should not be greater than 255 characters.\",\n    \"ref_number_maxlength\": \"Ref Number should not be greater than 255 characters.\",\n    \"prefix_maxlength\": \"Prefix should not be greater than 5 characters.\",\n    \"something_went_wrong\": \"something went wrong\",\n    \"number_length_minvalue\": \"Number length should be greater than 0\",\n    \"at_least_one_ability\": \"Please select atleast one Permission.\",\n    \"valid_driver_key\": \"Please enter a valid {driver} key.\",\n    \"valid_exchange_rate\": \"Please enter a valid exchange rate.\",\n    \"company_name_not_same\": \"Company name must match with given name.\"\n  },\n  \"errors\": {\n    \"starter_plan\": \"This feature is available on Starter plan and onwards!\",\n    \"invalid_provider_key\": \"Please Enter Valid Provider API Key.\",\n    \"estimate_number_used\": \"The estimate number has already been taken.\",\n    \"invoice_number_used\": \"The invoice number has already been taken.\",\n    \"payment_attached\": \"This invoice already has a payment attached to it. Make sure to delete the attached payments first in order to go ahead with the removal.\",\n    \"payment_number_used\": \"The payment number has already been taken.\",\n    \"name_already_taken\": \"The name has already been taken.\",\n    \"receipt_does_not_exist\": \"Receipt does not exist.\",\n    \"customer_cannot_be_changed_after_payment_is_added\": \"Customer cannot be change after payment is added\",\n    \"invalid_credentials\": \"Invalid  Credentials.\",\n    \"not_allowed\": \"Not Allowed\",\n    \"login_invalid_credentials\": \"These credentials do not match our records.\",\n    \"enter_valid_cron_format\": \"Please enter a valid cron format\",\n    \"email_could_not_be_sent\": \"Email could not be sent to this email address.\",\n    \"invalid_address\": \"Please enter a valid address.\",\n    \"invalid_key\": \"Please enter valid key.\",\n    \"invalid_state\": \"Please enter a valid state.\",\n    \"invalid_city\": \"Please enter a valid city.\",\n    \"invalid_postal_code\": \"Please enter a valid zip.\",\n    \"invalid_format\": \"Please enter valid query string format.\",\n    \"api_error\": \"Server not responding.\",\n    \"feature_not_enabled\": \"Feature not enabled.\",\n    \"request_limit_met\": \"Api request limit exceeded.\",\n    \"address_incomplete\": \"Incomplete Address\"\n  },\n  \"pdf_estimate_label\": \"Estimate\",\n  \"pdf_estimate_number\": \"Estimate Number\",\n  \"pdf_estimate_date\": \"Estimate Date\",\n  \"pdf_estimate_expire_date\": \"Expiry date\",\n  \"pdf_invoice_label\": \"Invoice\",\n  \"pdf_invoice_number\": \"Invoice Number\",\n  \"pdf_invoice_date\": \"Invoice Date\",\n  \"pdf_invoice_due_date\": \"Due date\",\n  \"pdf_notes\": \"Notes\",\n  \"pdf_items_label\": \"Items\",\n  \"pdf_quantity_label\": \"Quantity\",\n  \"pdf_price_label\": \"Price\",\n  \"pdf_discount_label\": \"Discount\",\n  \"pdf_amount_label\": \"Amount\",\n  \"pdf_subtotal\": \"Subtotal\",\n  \"pdf_total\": \"Total\",\n  \"pdf_payment_label\": \"Payment\",\n  \"pdf_payment_receipt_label\": \"PAYMENT RECEIPT\",\n  \"pdf_payment_date\": \"Payment Date\",\n  \"pdf_payment_number\": \"Payment Number\",\n  \"pdf_payment_mode\": \"Payment Mode\",\n  \"pdf_payment_amount_received_label\": \"Amount Received\",\n  \"pdf_expense_report_label\": \"EXPENSES REPORT\",\n  \"pdf_total_expenses_label\": \"TOTAL EXPENSE\",\n  \"pdf_profit_loss_label\": \"PROFIT & LOSS REPORT\",\n  \"pdf_sales_customers_label\": \"Sales Customer Report\",\n  \"pdf_sales_items_label\": \"Sales Item Report\",\n  \"pdf_tax_summery_label\": \"Tax Summary Report\",\n  \"pdf_income_label\": \"INCOME\",\n  \"pdf_net_profit_label\": \"NET PROFIT\",\n  \"pdf_customer_sales_report\": \"Sales Report: By Customer\",\n  \"pdf_total_sales_label\": \"TOTAL SALES\",\n  \"pdf_item_sales_label\": \"Sales Report: By Item\",\n  \"pdf_tax_report_label\": \"TAX REPORT\",\n  \"pdf_total_tax_label\": \"TOTAL TAX\",\n  \"pdf_tax_types_label\": \"Tax Types\",\n  \"pdf_expenses_label\": \"Expenses\",\n  \"pdf_bill_to\": \"Bill to,\",\n  \"pdf_ship_to\": \"Ship to,\",\n  \"pdf_received_from\": \"Received from:\",\n  \"pdf_tax_label\": \"Tax\"\n}\n"
  },
  {
    "path": "resources/scripts/locales/hr.json",
    "content": "{\n  \"navigation\": {\n    \"dashboard\": \"Upravljačka Ploča\",\n    \"customers\": \"Klijenti\",\n    \"items\": \"Stavke\",\n    \"invoices\": \"Fakture\",\n    \"recurring-invoices\": \"Recurring Invoices\",\n    \"expenses\": \"Rashodi\",\n    \"estimates\": \"Ponude\",\n    \"payments\": \"Uplate\",\n    \"reports\": \"Izvještaji\",\n    \"settings\": \"Postavke\",\n    \"logout\": \"Odjava\",\n    \"users\": \"Korisnici\",\n    \"modules\": \"Modules\"\n  },\n  \"general\": {\n    \"add_company\": \"Dodaj tvrtku\",\n    \"view_pdf\": \"Pogledaj PDF\",\n    \"copy_pdf_url\": \"Kopiraj PDF link\",\n    \"download_pdf\": \"Preuzmi PDF\",\n    \"save\": \"Spremi\",\n    \"create\": \"Kreiraj\",\n    \"cancel\": \"Otkaži\",\n    \"update\": \"Ažuriraj\",\n    \"deselect\": \"Poništi izbor\",\n    \"download\": \"Preuzmi\",\n    \"from_date\": \"Od Datuma\",\n    \"to_date\": \"Do Datuma\",\n    \"from\": \"Pošiljatelj\",\n    \"to\": \"Primatelj\",\n    \"ok\": \"Ok\",\n    \"yes\": \"Yes\",\n    \"no\": \"No\",\n    \"sort_by\": \"Posloži Po\",\n    \"ascending\": \"Rastuće\",\n    \"descending\": \"Padajuće\",\n    \"subject\": \"Predmet\",\n    \"body\": \"Tijelo\",\n    \"message\": \"Poruka\",\n    \"send\": \"Pošalji\",\n    \"preview\": \"Preview\",\n    \"go_back\": \"Natrag\",\n    \"back_to_login\": \"Natrag na prijavu?\",\n    \"home\": \"Početna\",\n    \"filter\": \"Filter\",\n    \"delete\": \"Obriši\",\n    \"edit\": \"Izmjeni\",\n    \"view\": \"Pogledaj\",\n    \"add_new_item\": \"Dodaj novu stavku\",\n    \"clear_all\": \"Izbriši sve\",\n    \"showing\": \"Prikazujem\",\n    \"of\": \"od\",\n    \"actions\": \"Radnje\",\n    \"subtotal\": \"UKUPNO\",\n    \"discount\": \"POPUST\",\n    \"fixed\": \"Fiksno\",\n    \"percentage\": \"Postotak\",\n    \"tax\": \"POREZ\",\n    \"total_amount\": \"UKUPAN IZNOS\",\n    \"bill_to\": \"Dokument za\",\n    \"ship_to\": \"Isporučiti za\",\n    \"due\": \"Dužan\",\n    \"draft\": \"U izradi\",\n    \"sent\": \"Poslano\",\n    \"all\": \"Sve\",\n    \"select_all\": \"Izaberi sve\",\n    \"select_template\": \"Select Template\",\n    \"choose_file\": \"Klikni ovdje da izabereš fajl\",\n    \"choose_template\": \"Izaberi predložak\",\n    \"choose\": \"Izaberi\",\n    \"remove\": \"Ukloni\",\n    \"select_a_status\": \"Izaberi status\",\n    \"select_a_tax\": \"Izaberi porez\",\n    \"search\": \"Pretraga\",\n    \"are_you_sure\": \"Jeste li sigurni?\",\n    \"list_is_empty\": \"Popis je prazna.\",\n    \"no_tax_found\": \"Porez nije pronađen!\",\n    \"four_zero_four\": \"404\",\n    \"you_got_lost\": \"Ups! Izgubio si se!\",\n    \"go_home\": \"Idi na početnu stranicu\",\n    \"test_mail_conf\": \"Testiraj postavke Pošte\",\n    \"send_mail_successfully\": \"Pošta uspješno poslana\",\n    \"setting_updated\": \"Postavke uspješno ažurirane\",\n    \"select_state\": \"Odaberi saveznu državu\",\n    \"select_country\": \"Odaberi državu\",\n    \"select_city\": \"Odaberi grad\",\n    \"street_1\": \"Adresa 1\",\n    \"street_2\": \"Adresa 2\",\n    \"action_failed\": \"Radnja nije uspjela\",\n    \"retry\": \"Pokušaj ponovo\",\n    \"choose_note\": \"Odaberi napomenu\",\n    \"no_note_found\": \"Ne postoje spremljene napomene\",\n    \"insert_note\": \"Unesi bilješku\",\n    \"copied_pdf_url_clipboard\": \"Link do PDF fajla kopiran!\",\n    \"copied_url_clipboard\": \"Copied url to clipboard!\",\n    \"docs\": \"Docs\",\n    \"do_you_wish_to_continue\": \"Do you wish to continue?\",\n    \"note\": \"Note\",\n    \"pay_invoice\": \"Pay Invoice\",\n    \"login_successfully\": \"Logged in successfully!\",\n    \"logged_out_successfully\": \"Logged out successfully\",\n    \"mark_as_default\": \"Postavi kao zadano\"\n  },\n  \"dashboard\": {\n    \"select_year\": \"Odaberi godinu\",\n    \"cards\": {\n      \"due_amount\": \"Dužan iznos\",\n      \"customers\": \"Klijenti\",\n      \"invoices\": \"Računi\",\n      \"estimates\": \"Ponude\",\n      \"payments\": \"Payments\"\n    },\n    \"chart_info\": {\n      \"total_sales\": \"Prodaja\",\n      \"total_receipts\": \"Računi\",\n      \"total_expense\": \"Rashodi\",\n      \"net_income\": \"Prihod NETO\",\n      \"year\": \"Odaberi godinu\"\n    },\n    \"monthly_chart\": {\n      \"title\": \"Prodaja & Rashodi\"\n    },\n    \"recent_invoices_card\": {\n      \"title\": \"Dospijele fakture\",\n      \"due_on\": \"Datum dospijeća\",\n      \"customer\": \"Klijent\",\n      \"amount_due\": \"Iznos dospijeća\",\n      \"actions\": \"Akcije\",\n      \"view_all\": \"Pogledaj sve\"\n    },\n    \"recent_estimate_card\": {\n      \"title\": \"Nedavne ponude\",\n      \"date\": \"Datum\",\n      \"customer\": \"Klijent\",\n      \"amount_due\": \"Iznos dospijeća\",\n      \"actions\": \"Akcije\",\n      \"view_all\": \"Pogledaj sve\"\n    }\n  },\n  \"tax_types\": {\n    \"name\": \"Naziv\",\n    \"description\": \"Opis\",\n    \"percent\": \"Postotak\",\n    \"compound_tax\": \"Složeni porez\"\n  },\n  \"global_search\": {\n    \"search\": \"Pretraga...\",\n    \"customers\": \"Klijenti\",\n    \"users\": \"Korisnici\",\n    \"no_results_found\": \"Nema rezultata\"\n  },\n  \"company_switcher\": {\n    \"label\": \"SWITCH COMPANY\",\n    \"no_results_found\": \"No Results Found\",\n    \"add_new_company\": \"Add new company\",\n    \"new_company\": \"New company\",\n    \"created_message\": \"Company created successfully\"\n  },\n  \"dateRange\": {\n    \"today\": \"Today\",\n    \"this_week\": \"This Week\",\n    \"this_month\": \"This Month\",\n    \"this_quarter\": \"This Quarter\",\n    \"this_year\": \"This Year\",\n    \"previous_week\": \"Previous Week\",\n    \"previous_month\": \"Previous Month\",\n    \"previous_quarter\": \"Previous Quarter\",\n    \"previous_year\": \"Previous Year\",\n    \"custom\": \"Custom\"\n  },\n  \"customers\": {\n    \"title\": \"Klijenti\",\n    \"prefix\": \"Prefix\",\n    \"add_customer\": \"Dodaj Klijenta\",\n    \"contacts_list\": \"Popis klijenata\",\n    \"name\": \"Naziv\",\n    \"mail\": \"Mail | Mail-ovi\",\n    \"statement\": \"Izjava\",\n    \"display_name\": \"Naziv koji se prikazuje\",\n    \"primary_contact_name\": \"Primarna kontakt osoba\",\n    \"contact_name\": \"Naziv kontakt osobe\",\n    \"amount_due\": \"Iznos dospijeća\",\n    \"email\": \"Email\",\n    \"address\": \"Adresa\",\n    \"phone\": \"Telefon\",\n    \"website\": \"Web stranica\",\n    \"overview\": \"Pregled\",\n    \"invoice_prefix\": \"Invoice Prefix\",\n    \"estimate_prefix\": \"Estimate Prefix\",\n    \"payment_prefix\": \"Payment Prefix\",\n    \"enable_portal\": \"Uključi portal\",\n    \"country\": \"Država\",\n    \"state\": \"Županija\",\n    \"city\": \"Grad\",\n    \"zip_code\": \"Poštanski broj\",\n    \"added_on\": \"Datum dodavanja\",\n    \"action\": \"Radnja\",\n    \"password\": \"Lozinka\",\n    \"confirm_password\": \"Confirm Password\",\n    \"street_number\": \"Broj ulice\",\n    \"primary_currency\": \"Primarna valuta\",\n    \"description\": \"Opis\",\n    \"add_new_customer\": \"Dodaj Novog Klijenta\",\n    \"save_customer\": \"Spremi klijenta\",\n    \"update_customer\": \"Ažuriraj klijenta\",\n    \"customer\": \"Klijent | Klijenti\",\n    \"new_customer\": \"Novi klijent\",\n    \"edit_customer\": \"Izmjeni klijenta\",\n    \"basic_info\": \"Osnovne informacije\",\n    \"portal_access\": \"Portal Access\",\n    \"portal_access_text\": \"Would you like to allow this customer to login to the Customer Portal?\",\n    \"portal_access_url\": \"Customer Portal Login URL\",\n    \"portal_access_url_help\": \"Please copy & forward the above given URL to your customer for providing access.\",\n    \"billing_address\": \"Adresa za naplatu\",\n    \"shipping_address\": \"Adresa za dostavu\",\n    \"copy_billing_address\": \"Kopiraj iz adrese za naplatu\",\n    \"no_customers\": \"Još uvijek nema klijenata!\",\n    \"no_customers_found\": \"Klijenti nisu pronađeni!\",\n    \"no_contact\": \"Nema kontakta\",\n    \"no_contact_name\": \"Nema imena kontakta\",\n    \"list_of_customers\": \"Sekcija sadrži popis klijenata.\",\n    \"primary_display_name\": \"Primarni naziv koji se prikazuje\",\n    \"select_currency\": \"Odaberi valutu\",\n    \"select_a_customer\": \"Odaberi klijenta\",\n    \"type_or_click\": \"Unesi tekst ili klikni za odabir\",\n    \"new_transaction\": \"Nova transakcija\",\n    \"no_matching_customers\": \"Nije pronađeno!\",\n    \"phone_number\": \"Broj telefona\",\n    \"create_date\": \"Datum kreiranja\",\n    \"confirm_delete\": \"Nećete moći vratiti klijenta, sve njegove Fakture, Ponude i Uplate. | Nećete moći vratiti odabrane klijente, sve njihove Fakture, Ponude i Uplate.\",\n    \"created_message\": \"Klijent uspješno kreiran\",\n    \"updated_message\": \"Klijent uspješno ažuriran\",\n    \"address_updated_message\": \"Address Information Updated succesfully\",\n    \"deleted_message\": \"Klijent uspješno obrisan | Klijenti uspješno obrisani\",\n    \"edit_currency_not_allowed\": \"Cannot change currency once transactions created.\"\n  },\n  \"items\": {\n    \"title\": \"Stavke\",\n    \"items_list\": \"Popis stavki\",\n    \"name\": \"Naziv\",\n    \"unit\": \"Jedinica\",\n    \"description\": \"Opis\",\n    \"added_on\": \"Datum dodavanja\",\n    \"price\": \"Cijena\",\n    \"date_of_creation\": \"Datum kreiranja\",\n    \"not_selected\": \"Nema odabrane stavke\",\n    \"action\": \"Radnje\",\n    \"add_item\": \"Dodaj Stavku\",\n    \"save_item\": \"Spremi Stavku\",\n    \"update_item\": \"Ažuriraj Stavku\",\n    \"item\": \"Stavka | Stavke\",\n    \"add_new_item\": \"Dodaj novu stavku\",\n    \"new_item\": \"Nova stavka\",\n    \"edit_item\": \"Izmjeni stavku\",\n    \"no_items\": \"Još uvijek nema stavki!\",\n    \"list_of_items\": \"Ova sekcija sadrži popis stavki.\",\n    \"select_a_unit\": \"odaberi jedinicu\",\n    \"taxes\": \"Porezi\",\n    \"item_attached_message\": \"Nije dozvoljeno brisanje stavke koja se koristi\",\n    \"confirm_delete\": \"Nećeš moći vratiti ovu Stavku | Nećeš moći vratiti ove Stavke\",\n    \"created_message\": \"Stavka uspješno kreirana\",\n    \"updated_message\": \"Stavka uspješno ažurirana\",\n    \"deleted_message\": \"Stavka uspješno obrisana | Stavke uspješno obrisane\"\n  },\n  \"estimates\": {\n    \"title\": \"Ponude\",\n    \"accept_estimate\": \"Accept Estimate\",\n    \"reject_estimate\": \"Reject Estimate\",\n    \"estimate\": \"Ponuda | Ponude\",\n    \"estimates_list\": \"Popis ponuda\",\n    \"days\": \"{days} Dan\",\n    \"months\": \"{months} Mjesec\",\n    \"years\": \"{years} Godina\",\n    \"all\": \"Sve\",\n    \"paid\": \"Plaćeno\",\n    \"unpaid\": \"Neplaćeno\",\n    \"customer\": \"KLIJENT\",\n    \"ref_no\": \"POZIV NA BROJ\",\n    \"number\": \"BROJ\",\n    \"amount_due\": \"IZNOS DOSPIJEĆA\",\n    \"partially_paid\": \"Djelomično Plaćeno\",\n    \"total\": \"Ukupno za plaćanje\",\n    \"discount\": \"Popust\",\n    \"sub_total\": \"Osnovica za obračun PDV-a\",\n    \"estimate_number\": \"Broj ponude\",\n    \"ref_number\": \"Poziv na broj\",\n    \"contact\": \"Kontakt\",\n    \"add_item\": \"Dodaj stavku\",\n    \"date\": \"Datum\",\n    \"due_date\": \"Datum Dospijeća\",\n    \"expiry_date\": \"Datum Isteka\",\n    \"status\": \"Status\",\n    \"add_tax\": \"Dodaj Porez\",\n    \"amount\": \"Iznos\",\n    \"action\": \"Radnja\",\n    \"notes\": \"Napomena\",\n    \"tax\": \"Porez\",\n    \"estimate_template\": \"Predložak\",\n    \"convert_to_invoice\": \"Pretvori u Fakturu\",\n    \"mark_as_sent\": \"Označi kao Poslano\",\n    \"send_estimate\": \"Pošalji Ponudu\",\n    \"resend_estimate\": \"Ponovo pošalji Ponudu\",\n    \"record_payment\": \"Unesi uplatu\",\n    \"add_estimate\": \"Dodaj Ponudu\",\n    \"save_estimate\": \"Spremi Ponudu\",\n    \"confirm_conversion\": \"Detalji ove Ponude će biti iskorišteni za pravljenje Fakture.\",\n    \"conversion_message\": \"Faktura uspješno kreirana\",\n    \"confirm_send_estimate\": \"Ova Ponuda će biti poslana putem Email-a klijentu\",\n    \"confirm_mark_as_sent\": \"Ova Ponuda će biti označena kao Poslana\",\n    \"confirm_mark_as_accepted\": \"Ova Ponuda će biti označena kao Prihvaćena\",\n    \"confirm_mark_as_rejected\": \"Ova Ponuda će biti označena kao Odbijena\",\n    \"no_matching_estimates\": \"Ne postoji odgovarajuća ponuda!\",\n    \"mark_as_sent_successfully\": \"Ponuda uspješno označena kao Poslana\",\n    \"send_estimate_successfully\": \"Ponuda uspješno poslana\",\n    \"errors\": {\n      \"required\": \"Obvezno polje!\"\n    },\n    \"accepted\": \"Prihvaćeno\",\n    \"rejected\": \"Odbijeno\",\n    \"expired\": \"Expired\",\n    \"sent\": \"Poslano\",\n    \"draft\": \"U izradi\",\n    \"viewed\": \"Viewed\",\n    \"declined\": \"Odbijeno\",\n    \"new_estimate\": \"Nova Ponuda\",\n    \"add_new_estimate\": \"Dodaj novu Ponudu\",\n    \"update_Estimate\": \"Ažuriraj Ponudu\",\n    \"edit_estimate\": \"Izmjeni Ponudu\",\n    \"items\": \"stavke\",\n    \"Estimate\": \"Ponuda | Ponude\",\n    \"add_new_tax\": \"Dodaj novi Porez\",\n    \"no_estimates\": \"Još uvijek nema Ponuda!\",\n    \"list_of_estimates\": \"Ova sekcija sadrži popis Ponuda.\",\n    \"mark_as_rejected\": \"Označi kao odbijeno\",\n    \"mark_as_accepted\": \"Označi kao prihvaćeno\",\n    \"marked_as_accepted_message\": \"Ponuda označena kao prihvaćena\",\n    \"marked_as_rejected_message\": \"Ponuda označena kao odbijena\",\n    \"confirm_delete\": \"Nećeš moći vratiti ovu Ponudu | Nećeš moći vratiti ove Ponude\",\n    \"created_message\": \"Ponuda uspješno kreirana\",\n    \"updated_message\": \"Ponuda uspješno ažurirana\",\n    \"deleted_message\": \"Ponuda uspješno obrisana | Ponude uspješno obrisane\",\n    \"something_went_wrong\": \"nešto je krenulo naopako\",\n    \"item\": {\n      \"title\": \"Naziv stavke\",\n      \"description\": \"Opis\",\n      \"quantity\": \"Količina\",\n      \"price\": \"Cijena\",\n      \"discount\": \"Popust\",\n      \"total\": \"Ukupno za plaćanje\",\n      \"total_discount\": \"Ukupan popust\",\n      \"sub_total\": \"Ukupno\",\n      \"tax\": \"Porez\",\n      \"amount\": \"Iznos\",\n      \"select_an_item\": \"Unesi tekst ili klikni da izabereš\",\n      \"type_item_description\": \"Unesi opis Stavke (nije obavezno)\"\n    },\n    \"mark_as_default_estimate_template_description\": \"Ako je omogućeno, izabrani predložak biti će automatski izabran za nove predračune.\"\n  },\n  \"invoices\": {\n    \"title\": \"Fakture\",\n    \"download\": \"Download\",\n    \"pay_invoice\": \"Pay Invoice\",\n    \"invoices_list\": \"Popis Faktura\",\n    \"invoice_information\": \"Invoice Information\",\n    \"days\": \"{days} dan\",\n    \"months\": \"{months} Mjesec\",\n    \"years\": \"{years} Godina\",\n    \"all\": \"Sve\",\n    \"paid\": \"Plaćeno\",\n    \"unpaid\": \"Neplaćeno\",\n    \"viewed\": \"Pregledano\",\n    \"overdue\": \"Zakašnjenje\",\n    \"completed\": \"Izvršeno\",\n    \"customer\": \"KLIJENT\",\n    \"paid_status\": \"STATUS UPLATE\",\n    \"ref_no\": \"POZIV NA BROJ\",\n    \"number\": \"BROJ\",\n    \"amount_due\": \"IZNOS DOSPIJEĆA\",\n    \"partially_paid\": \"Djelomično plaćeno\",\n    \"total\": \"Ukupno za plaćanje\",\n    \"discount\": \"Popust\",\n    \"sub_total\": \"Osnovica za obračun PDV-a\",\n    \"invoice\": \"Faktura | Fakture\",\n    \"invoice_number\": \"Broj Fakture\",\n    \"ref_number\": \"Poziv na broj\",\n    \"contact\": \"Kontakt\",\n    \"add_item\": \"Dodaj Stavku\",\n    \"date\": \"Datum\",\n    \"due_date\": \"Datum Dospijeća\",\n    \"status\": \"Status\",\n    \"add_tax\": \"Dodaj Porez\",\n    \"amount\": \"Iznos\",\n    \"action\": \"Radnja\",\n    \"notes\": \"Napomena\",\n    \"view\": \"Pogledaj\",\n    \"send_invoice\": \"Pošalji Fakturu\",\n    \"resend_invoice\": \"Ponovo pošalji Fakturu\",\n    \"invoice_template\": \"Predložak Fakture\",\n    \"conversion_message\": \"Invoice cloned successful\",\n    \"template\": \"Predložak\",\n    \"mark_as_sent\": \"Označi kao Poslano\",\n    \"confirm_send_invoice\": \"Ova Faktura će biti poslana putem Email-a klijentu\",\n    \"invoice_mark_as_sent\": \"Ova Faktura će biti označena kao poslana\",\n    \"confirm_mark_as_accepted\": \"This invoice will be marked as Accepted\",\n    \"confirm_mark_as_rejected\": \"This invoice will be marked as Rejected\",\n    \"confirm_send\": \"Ova Faktura će biti poslana putem Email-a klijentu\",\n    \"invoice_date\": \"Datum Fakture\",\n    \"record_payment\": \"Unesi Uplatu\",\n    \"add_new_invoice\": \"Dodaj novu Fakturu\",\n    \"update_expense\": \"Ažuriraj Rashod\",\n    \"edit_invoice\": \"Izmjeni Fakturu\",\n    \"new_invoice\": \"Nova Faktura\",\n    \"save_invoice\": \"Spremi Fakturu\",\n    \"update_invoice\": \"Ažuriraj Fakturu\",\n    \"add_new_tax\": \"Dodaj novi Porez\",\n    \"no_invoices\": \"Još uvijek nema Faktura!\",\n    \"mark_as_rejected\": \"Mark as rejected\",\n    \"mark_as_accepted\": \"Mark as accepted\",\n    \"list_of_invoices\": \"Ova sekcija sadrži popis Faktura.\",\n    \"select_invoice\": \"Odaberi Fakturu\",\n    \"no_matching_invoices\": \"Ne postoje Fakture koje odgovaraju pretrazi!\",\n    \"mark_as_sent_successfully\": \"Faktura uspješno označena kao Poslana\",\n    \"invoice_sent_successfully\": \"Faktura uspješno poslana\",\n    \"cloned_successfully\": \"Uspješno napravljen duplikat Fakture\",\n    \"clone_invoice\": \"Napravi duplikat\",\n    \"confirm_clone\": \"Ova Faktura će biti duplikat nove Fakture\",\n    \"item\": {\n      \"title\": \"Naziv Stavke\",\n      \"description\": \"Opis\",\n      \"quantity\": \"Količina\",\n      \"price\": \"Cijena\",\n      \"discount\": \"Popust\",\n      \"total\": \"Ukupno za plaćanje\",\n      \"total_discount\": \"Ukupan popust\",\n      \"sub_total\": \"Ukupno\",\n      \"tax\": \"Porez\",\n      \"amount\": \"Iznos\",\n      \"select_an_item\": \"Unesi tekst ili klikni da izabereš\",\n      \"type_item_description\": \"Unesi opis Stavke (nije obavezno)\"\n    },\n    \"payment_attached_message\": \"One of the selected invoices already have a payment attached to it. Make sure to delete the attached payments first in order to go ahead with the removal\",\n    \"confirm_delete\": \"Nećeš moći vratiti ovu Fakturu | Nećeš moći vratiti ove Fakture\",\n    \"created_message\": \"Faktura uspješno kreirana\",\n    \"updated_message\": \"Faktura uspješno ažurirana\",\n    \"deleted_message\": \"Faktura uspješno obrisana | Fakture uspješno obrisane\",\n    \"marked_as_sent_message\": \"Faktura označena kao uspješno poslana\",\n    \"something_went_wrong\": \"nešto je krenulo naopako\",\n    \"invalid_due_amount_message\": \"Ukupan iznos za plaćanje na fakturi ne može biti manji od iznosa uplate za ovu fakturu. Molim Vas ažurirajte fakturu ili obrišite uplate koje su povezane sa ovom fakturom da bi nastavili.\",\n    \"mark_as_default_invoice_template_description\": \"Ako je omogućeno, izabrani predložak biti će automatski izabran za nove račune.\"\n  },\n  \"recurring_invoices\": {\n    \"title\": \"Recurring Invoices\",\n    \"invoices_list\": \"Recurring Invoices List\",\n    \"days\": \"{days} Days\",\n    \"months\": \"{months} Month\",\n    \"years\": \"{years} Year\",\n    \"all\": \"All\",\n    \"paid\": \"Paid\",\n    \"unpaid\": \"Unpaid\",\n    \"viewed\": \"Viewed\",\n    \"overdue\": \"Overdue\",\n    \"active\": \"Active\",\n    \"completed\": \"Completed\",\n    \"customer\": \"CUSTOMER\",\n    \"paid_status\": \"PAID STATUS\",\n    \"ref_no\": \"REF NO.\",\n    \"number\": \"NUMBER\",\n    \"amount_due\": \"AMOUNT DUE\",\n    \"partially_paid\": \"Partially Paid\",\n    \"total\": \"Total\",\n    \"discount\": \"Discount\",\n    \"sub_total\": \"Sub Total\",\n    \"invoice\": \"Recurring Invoice | Recurring Invoices\",\n    \"invoice_number\": \"Recurring Invoice Number\",\n    \"next_invoice_date\": \"Next Invoice Date\",\n    \"ref_number\": \"Ref Number\",\n    \"contact\": \"Contact\",\n    \"add_item\": \"Add an Item\",\n    \"date\": \"Date\",\n    \"limit_by\": \"Limit by\",\n    \"limit_date\": \"Limit Date\",\n    \"limit_count\": \"Limit Count\",\n    \"count\": \"Count\",\n    \"status\": \"Status\",\n    \"select_a_status\": \"Select a status\",\n    \"working\": \"Working\",\n    \"on_hold\": \"On Hold\",\n    \"complete\": \"Completed\",\n    \"add_tax\": \"Add Tax\",\n    \"amount\": \"Amount\",\n    \"action\": \"Action\",\n    \"notes\": \"Notes\",\n    \"view\": \"View\",\n    \"basic_info\": \"Basic Info\",\n    \"send_invoice\": \"Send Recurring Invoice\",\n    \"auto_send\": \"Auto Send\",\n    \"resend_invoice\": \"Resend Recurring Invoice\",\n    \"invoice_template\": \"Recurring Invoice Template\",\n    \"conversion_message\": \"Recurring Invoice cloned successful\",\n    \"template\": \"Template\",\n    \"mark_as_sent\": \"Mark as sent\",\n    \"confirm_send_invoice\": \"This recurring invoice will be sent via email to the customer\",\n    \"invoice_mark_as_sent\": \"This recurring invoice will be marked as sent\",\n    \"confirm_send\": \"This recurring invoice will be sent via email to the customer\",\n    \"starts_at\": \"Start Date\",\n    \"due_date\": \"Invoice Due Date\",\n    \"record_payment\": \"Record Payment\",\n    \"add_new_invoice\": \"Add New Recurring Invoice\",\n    \"update_expense\": \"Update Expense\",\n    \"edit_invoice\": \"Edit Recurring Invoice\",\n    \"new_invoice\": \"New Recurring Invoice\",\n    \"send_automatically\": \"Send Automatically\",\n    \"send_automatically_desc\": \"Enable this, if you would like to send the invoice automatically to the customer when its created.\",\n    \"save_invoice\": \"Save Recurring Invoice\",\n    \"update_invoice\": \"Update Recurring Invoice\",\n    \"add_new_tax\": \"Add New Tax\",\n    \"no_invoices\": \"No Recurring Invoices yet!\",\n    \"mark_as_rejected\": \"Mark as rejected\",\n    \"mark_as_accepted\": \"Mark as accepted\",\n    \"list_of_invoices\": \"This section will contain the list of recurring invoices.\",\n    \"select_invoice\": \"Select Invoice\",\n    \"no_matching_invoices\": \"There are no matching recurring invoices!\",\n    \"mark_as_sent_successfully\": \"Recurring Invoice marked as sent successfully\",\n    \"invoice_sent_successfully\": \"Recurring Invoice sent successfully\",\n    \"cloned_successfully\": \"Recurring Invoice cloned successfully\",\n    \"clone_invoice\": \"Clone Recurring Invoice\",\n    \"confirm_clone\": \"This recurring invoice will be cloned into a new Recurring Invoice\",\n    \"add_customer_email\": \"Please add an email address for this customer to send invoices automatically.\",\n    \"item\": {\n      \"title\": \"Item Title\",\n      \"description\": \"Description\",\n      \"quantity\": \"Quantity\",\n      \"price\": \"Price\",\n      \"discount\": \"Discount\",\n      \"total\": \"Total\",\n      \"total_discount\": \"Total Discount\",\n      \"sub_total\": \"Sub Total\",\n      \"tax\": \"Tax\",\n      \"amount\": \"Amount\",\n      \"select_an_item\": \"Type or click to select an item\",\n      \"type_item_description\": \"Type Item Description (optional)\"\n    },\n    \"frequency\": {\n      \"title\": \"Frequency\",\n      \"select_frequency\": \"Select Frequency\",\n      \"minute\": \"Minute\",\n      \"hour\": \"Hour\",\n      \"day_month\": \"Day of month\",\n      \"month\": \"Month\",\n      \"day_week\": \"Day of week\"\n    },\n    \"confirm_delete\": \"You will not be able to recover this Invoice | You will not be able to recover these Invoices\",\n    \"created_message\": \"Recurring Invoice created successfully\",\n    \"updated_message\": \"Recurring Invoice updated successfully\",\n    \"deleted_message\": \"Recurring Invoice deleted successfully | Recurring Invoices deleted successfully\",\n    \"marked_as_sent_message\": \"Recurring Invoice marked as sent successfully\",\n    \"user_email_does_not_exist\": \"User email does not exist\",\n    \"something_went_wrong\": \"something went wrong\",\n    \"invalid_due_amount_message\": \"Total Recurring Invoice amount cannot be less than total paid amount for this Recurring Invoice. Please update the invoice or delete the associated payments to continue.\"\n  },\n  \"payments\": {\n    \"title\": \"Uplate\",\n    \"payments_list\": \"Popis uplata\",\n    \"record_payment\": \"Unesi Uplatu\",\n    \"customer\": \"Klijent\",\n    \"date\": \"Datum\",\n    \"amount\": \"Iznos\",\n    \"action\": \"Radnja\",\n    \"payment_number\": \"Broj uplate\",\n    \"payment_mode\": \"Način plaćanja\",\n    \"invoice\": \"Faktura\",\n    \"note\": \"Napomena\",\n    \"add_payment\": \"Dodaj Uplatu\",\n    \"new_payment\": \"Nova Uplata\",\n    \"edit_payment\": \"Izmjeni Uplatu\",\n    \"view_payment\": \"Pogledaj Uplatu\",\n    \"add_new_payment\": \"Dodaj Novu Uplatu\",\n    \"send_payment_receipt\": \"Pošalji potvrdu o uplati\",\n    \"send_payment\": \"Pošalji Uplatu\",\n    \"save_payment\": \"Spremi Uplatu\",\n    \"update_payment\": \"Ažuriraj Uplatu\",\n    \"payment\": \"Uplata | Uplate\",\n    \"no_payments\": \"Još uvijek nema uplata!\",\n    \"not_selected\": \"Nije odabrano\",\n    \"no_invoice\": \"Nema fakture\",\n    \"no_matching_payments\": \"Ne postoje uplate koje odgovaraju pretrazi!\",\n    \"list_of_payments\": \"Ova sekcija sadrži popis uplata.\",\n    \"select_payment_mode\": \"Odaberi način plaćanja\",\n    \"confirm_mark_as_sent\": \"Ovo plaćanje će biti označeno kao Poslano\",\n    \"confirm_send_payment\": \"Ovo plaćanje će biti poslano putem Email-a klijentu\",\n    \"send_payment_successfully\": \"Plaćanje uspješno poslano\",\n    \"something_went_wrong\": \"nešto je krenulo naopako\",\n    \"confirm_delete\": \"Nećeš moći vratiti ovu Uplatu | Nećeš moći vratiti ove Uplate\",\n    \"created_message\": \"Uplata uspješno kreirana\",\n    \"updated_message\": \"Uplata uspješno ažurirana\",\n    \"deleted_message\": \"Uplata uspješno obrisana | Uplate uspješno obrisane\",\n    \"invalid_amount_message\": \"Iznos Uplate je pogrešan\"\n  },\n  \"expenses\": {\n    \"title\": \"Rashodi\",\n    \"expenses_list\": \"Popis Rashoda\",\n    \"select_a_customer\": \"Odaberi klijenta\",\n    \"expense_title\": \"Naslov\",\n    \"customer\": \"Klijent\",\n    \"currency\": \"Currency\",\n    \"contact\": \"Kontakt\",\n    \"category\": \"Kategorija\",\n    \"from_date\": \"Datum od\",\n    \"to_date\": \"Datum do\",\n    \"expense_date\": \"Datum\",\n    \"description\": \"Opis\",\n    \"receipt\": \"Račun\",\n    \"amount\": \"Iznos\",\n    \"action\": \"Radnja\",\n    \"not_selected\": \"Nije odabrano\",\n    \"note\": \"Napomena\",\n    \"category_id\": \"ID kategorije\",\n    \"date\": \"Datum\",\n    \"add_expense\": \"Dodaj Rashod\",\n    \"add_new_expense\": \"Dodaj Novi Rashod\",\n    \"save_expense\": \"Spremi Rashod\",\n    \"update_expense\": \"Ažuriraj Rashod\",\n    \"download_receipt\": \"Preuzmi Račun\",\n    \"edit_expense\": \"Izmjeni Rashod\",\n    \"new_expense\": \"Novi Rashod\",\n    \"expense\": \"Rashod | Rashodi\",\n    \"no_expenses\": \"Još uvijek nema rashoda!\",\n    \"list_of_expenses\": \"Ova sekcija sadrži popis rashoda.\",\n    \"confirm_delete\": \"Nećeš moći vratiti ovaj Rashod | Nećeš moći vratiti ove Rashode\",\n    \"created_message\": \"Rashod uspješno kreiran\",\n    \"updated_message\": \"Rashod uspješno ažuriran\",\n    \"deleted_message\": \"Rashod uspješno obrisan | Rashodi uspješno obrisani\",\n    \"categories\": {\n      \"categories_list\": \"Popis Kategorija\",\n      \"title\": \"Naslov\",\n      \"name\": \"Naziv\",\n      \"description\": \"Opis\",\n      \"amount\": \"Iznos\",\n      \"actions\": \"Radnje\",\n      \"add_category\": \"Dodaj Kategoriju\",\n      \"new_category\": \"Nova Kategorija\",\n      \"category\": \"Kategorija | Kategorije\",\n      \"select_a_category\": \"Izaberi kategoriju\"\n    }\n  },\n  \"login\": {\n    \"email\": \"Email\",\n    \"password\": \"Lozinka\",\n    \"forgot_password\": \"Zaboravili ste lozinku?\",\n    \"or_signIn_with\": \"ili se prijavite sa\",\n    \"login\": \"Prijava\",\n    \"register\": \"Registracija\",\n    \"reset_password\": \"Resetiraj lozinku\",\n    \"password_reset_successfully\": \"Lozinka Uspješno Resetiranja\",\n    \"enter_email\": \"Unesi email\",\n    \"enter_password\": \"Unesi lozinku\",\n    \"retype_password\": \"Ponovo unesi lozinku\"\n  },\n  \"modules\": {\n    \"buy_now\": \"Buy Now\",\n    \"install\": \"Install\",\n    \"price\": \"Price\",\n    \"download_zip_file\": \"Download ZIP file\",\n    \"unzipping_package\": \"Unzipping Package\",\n    \"copying_files\": \"Copying Files\",\n    \"deleting_files\": \"Deleting Unused files\",\n    \"completing_installation\": \"Completing Installation\",\n    \"update_failed\": \"Update Failed\",\n    \"install_success\": \"Module has been installed successfully!\",\n    \"customer_reviews\": \"Reviews\",\n    \"license\": \"License\",\n    \"faq\": \"FAQ\",\n    \"monthly\": \"Monthly\",\n    \"yearly\": \"Yearly\",\n    \"updated\": \"Updated\",\n    \"version\": \"Version\",\n    \"disable\": \"Disable\",\n    \"module_disabled\": \"Module Disabled\",\n    \"enable\": \"Enable\",\n    \"module_enabled\": \"Module Enabled\",\n    \"update_to\": \"Update To\",\n    \"module_updated\": \"Module Updated Successfully!\",\n    \"title\": \"Modules\",\n    \"module\": \"Module | Modules\",\n    \"api_token\": \"API token\",\n    \"invalid_api_token\": \"Invalid API Token.\",\n    \"other_modules\": \"Other Modules\",\n    \"view_all\": \"View All\",\n    \"no_reviews_found\": \"There are no reviews for this module yet!\",\n    \"module_not_purchased\": \"Module Not Purchased\",\n    \"module_not_found\": \"Module Not Found\",\n    \"version_not_supported\": \"The minimum required version for this module does not match. Please upgrade your crater app to version: {version} to proceed.\",\n    \"last_updated\": \"Last Updated On\",\n    \"connect_installation\": \"Connect your installation\",\n    \"api_token_description\": \"Login to {url} and connect this installation by entering the API Token. Your purchased modules will show up here after the connection is established.\",\n    \"view_module\": \"View Module\",\n    \"update_available\": \"Update Available\",\n    \"purchased\": \"Purchased\",\n    \"installed\": \"Installed\",\n    \"no_modules_installed\": \"No Modules Installed Yet!\",\n    \"disable_warning\": \"All the settings for this particular will be reverted.\",\n    \"what_you_get\": \"What you get\"\n  },\n  \"users\": {\n    \"title\": \"Korisnici\",\n    \"users_list\": \"Popis korisnika\",\n    \"name\": \"Ime i prezime\",\n    \"description\": \"Opis\",\n    \"added_on\": \"Datum dodavanja\",\n    \"date_of_creation\": \"Datum kreiranja\",\n    \"action\": \"Radnja\",\n    \"add_user\": \"Dodaj Korisnika\",\n    \"save_user\": \"Spremi Korisnika\",\n    \"update_user\": \"Ažuriraj Korisnika\",\n    \"user\": \"Korisnik | Korisnici\",\n    \"add_new_user\": \"Dodaj novog korisnika\",\n    \"new_user\": \"Novi Korisnik\",\n    \"edit_user\": \"Izmjeni Korisnika\",\n    \"no_users\": \"Još uvijek nema korisnika!\",\n    \"list_of_users\": \"Ova sekcija sadrži popis korisnika.\",\n    \"email\": \"Email\",\n    \"phone\": \"Broj telefona\",\n    \"password\": \"Lozinka\",\n    \"user_attached_message\": \"Ne možete obrisati stavku koja je već u upotrebi\",\n    \"confirm_delete\": \"Nećeš moći vratiti ovog Korisnika | Nećeš moći vratiti ove Korisnike\",\n    \"created_message\": \"Korisnik uspješno napravljen\",\n    \"updated_message\": \"Korisnik uspješno ažuriran\",\n    \"deleted_message\": \"Korisnik uspješno obrisan | Korisnici uspješno obrisani\",\n    \"select_company_role\": \"Select Role for {company}\",\n    \"companies\": \"Companies\"\n  },\n  \"reports\": {\n    \"title\": \"Izvještaj\",\n    \"from_date\": \"Datum od\",\n    \"to_date\": \"Datum do\",\n    \"status\": \"Status\",\n    \"paid\": \"Plaćeno\",\n    \"unpaid\": \"Neplaćeno\",\n    \"download_pdf\": \"Preuzmi PDF\",\n    \"view_pdf\": \"Pogledaj PDF\",\n    \"update_report\": \"Ažuriraj Izvještaj\",\n    \"report\": \"Izvještaj | Izvještaji\",\n    \"profit_loss\": {\n      \"profit_loss\": \"Prihod & Rashod\",\n      \"to_date\": \"Datum do\",\n      \"from_date\": \"Datum od\",\n      \"date_range\": \"Izaberi raspon datuma\"\n    },\n    \"sales\": {\n      \"sales\": \"Prodaja\",\n      \"date_range\": \"Izaberi raspon datuma\",\n      \"to_date\": \"Datum do\",\n      \"from_date\": \"Datum od\",\n      \"report_type\": \"Vrsta Izveštaja\"\n    },\n    \"taxes\": {\n      \"taxes\": \"Porezi\",\n      \"to_date\": \"Datum do\",\n      \"from_date\": \"Datum od\",\n      \"date_range\": \"Izaberi raspon datuma\"\n    },\n    \"errors\": {\n      \"required\": \"Polje je obavezno\"\n    },\n    \"invoices\": {\n      \"invoice\": \"Faktura\",\n      \"invoice_date\": \"Datum Fakture\",\n      \"due_date\": \"Datum Dospijeća\",\n      \"amount\": \"Iznos\",\n      \"contact_name\": \"Ime Kontakta\",\n      \"status\": \"Status\"\n    },\n    \"estimates\": {\n      \"estimate\": \"Ponuda\",\n      \"estimate_date\": \"Datum Ponude\",\n      \"due_date\": \"Datum Dospijeća\",\n      \"estimate_number\": \"Broj Ponude\",\n      \"ref_number\": \"Poziv na broj\",\n      \"amount\": \"Iznos\",\n      \"contact_name\": \"Ime Kontakta\",\n      \"status\": \"Status\"\n    },\n    \"expenses\": {\n      \"expenses\": \"Rashodi\",\n      \"category\": \"Kategorija\",\n      \"date\": \"Datum\",\n      \"amount\": \"Iznos\",\n      \"to_date\": \"Datum do\",\n      \"from_date\": \"Datum od\",\n      \"date_range\": \"Izaberi raspon datuma\"\n    }\n  },\n  \"settings\": {\n    \"menu_title\": {\n      \"account_settings\": \"Postavke Naloga\",\n      \"company_information\": \"Podaci o firmi\",\n      \"customization\": \"Prilagođavanje\",\n      \"preferences\": \"Preference\",\n      \"notifications\": \"Obavještenja\",\n      \"tax_types\": \"Vrste Poreza\",\n      \"expense_category\": \"Kategorije Rashoda\",\n      \"update_app\": \"Ažuriraj Aplikaciju\",\n      \"backup\": \"Backup\",\n      \"file_disk\": \"File Disk\",\n      \"custom_fields\": \"Prilagođena polja\",\n      \"payment_modes\": \"Način plaćanja\",\n      \"notes\": \"Napomene\",\n      \"exchange_rate\": \"Exchange Rate\",\n      \"address_information\": \"Address Information\"\n    },\n    \"address_information\": {\n      \"section_description\": \"  You can update Your Address information using form below.\"\n    },\n    \"title\": \"Postavke\",\n    \"setting\": \"Postavke | Postavke\",\n    \"general\": \"Opće\",\n    \"language\": \"Jezik\",\n    \"primary_currency\": \"Primarna Valuta\",\n    \"timezone\": \"Vremenska Zona\",\n    \"date_format\": \"Format Datuma\",\n    \"currencies\": {\n      \"title\": \"Valute\",\n      \"currency\": \"Valuta | Valute\",\n      \"currencies_list\": \"Popis Valuta\",\n      \"select_currency\": \"Odaberi Valutu\",\n      \"name\": \"Naziv\",\n      \"code\": \"Kod\",\n      \"symbol\": \"Simbol\",\n      \"precision\": \"Preciznost\",\n      \"thousand_separator\": \"Separator za tisuće\",\n      \"decimal_separator\": \"Separator za decimale\",\n      \"position\": \"Pozicija\",\n      \"position_of_symbol\": \"Pozicija simbola\",\n      \"right\": \"Desno\",\n      \"left\": \"Lijevo\",\n      \"action\": \"Radnja\",\n      \"add_currency\": \"Dodaj Valutu\"\n    },\n    \"mail\": {\n      \"host\": \"Mail Host\",\n      \"port\": \"Mail Port\",\n      \"driver\": \"Mail Driver\",\n      \"secret\": \"Lozinka\",\n      \"mailgun_secret\": \"Mailgun Lozinka\",\n      \"mailgun_domain\": \"Domain\",\n      \"mailgun_endpoint\": \"Mailgun Endpoint\",\n      \"ses_secret\": \"SES Lozinka\",\n      \"ses_key\": \"SES Ključ\",\n      \"password\": \"Mail Lozinka\",\n      \"username\": \"Mail Korisničko Ime\",\n      \"mail_config\": \"Mail Postavke\",\n      \"from_name\": \"Naziv pošiljaoca\",\n      \"from_mail\": \"E-mail adresa pošiljaoca\",\n      \"encryption\": \"E-mail enkripcija\",\n      \"mail_config_desc\": \"Ispod se nalazi forma za podešavanje E-mail drajvera za slanje pošte iz aplikacije. Takođe možete podesiti provajdere treće strane kao Sendgrid, SES itd.\"\n    },\n    \"pdf\": {\n      \"title\": \"PDF Postavke\",\n      \"footer_text\": \"Tekstualno zaglavlje na dnu strane\",\n      \"pdf_layout\": \"PDF Raspored\"\n    },\n    \"company_info\": {\n      \"company_info\": \"Podaci o firmi\",\n      \"company_name\": \"Naziv firme\",\n      \"company_logo\": \"Logo firme\",\n      \"section_description\": \"Informacije o Vašoj firmi će biti prikazane na fakturama, ponudama i drugim dokumentima koji se prave u ovoj aplikaciji.\",\n      \"phone\": \"Telefon\",\n      \"country\": \"Država\",\n      \"state\": \"Županija\",\n      \"city\": \"Grad\",\n      \"address\": \"Adresa\",\n      \"zip\": \"Poštanski broj\",\n      \"save\": \"Spremi\",\n      \"delete\": \"Delete\",\n      \"updated_message\": \"Podaci o firmi uspješno spremljeni\",\n      \"delete_company\": \"Delete Company\",\n      \"delete_company_description\": \"Once you delete your company, you will lose all the data and files associated with it permanently.\",\n      \"are_you_absolutely_sure\": \"Are you absolutely sure?\",\n      \"delete_company_modal_desc\": \"This action cannot be undone. This will permanently delete {company} and all of its associated data.\",\n      \"delete_company_modal_label\": \"Please type {company} to confirm\"\n    },\n    \"custom_fields\": {\n      \"title\": \"Prilagođena polja\",\n      \"section_description\": \"Prilagodite vaše Fakture, Ponude i Uplate sa svojim poljima. Koristite polja navedena niže na formatu adrese na stranici Postavke/Prilagođavanje.\",\n      \"add_custom_field\": \"Dodaj prilagođeno polje\",\n      \"edit_custom_field\": \"Izmjeni prilagođeno polje\",\n      \"field_name\": \"Naziv polja\",\n      \"label\": \"Oznaka\",\n      \"type\": \"Vrsta\",\n      \"name\": \"Naziv\",\n      \"slug\": \"Slug\",\n      \"required\": \"Obavezno\",\n      \"placeholder\": \"Opis polja (Placeholder)\",\n      \"help_text\": \"Pomoćni tekst\",\n      \"default_value\": \"Zadana vrijednost\",\n      \"prefix\": \"Prefiks\",\n      \"starting_number\": \"Početni broj\",\n      \"model\": \"Model\",\n      \"help_text_description\": \"Unesite opis koji će pomoći korisnicima razumjeti svrhu ovog prilagođenog polja.\",\n      \"suffix\": \"Sufiks\",\n      \"yes\": \"Da\",\n      \"no\": \"Ne\",\n      \"order\": \"Redosljed\",\n      \"custom_field_confirm_delete\": \"Nećeš moći vratiti ovo prilagođeno polje\",\n      \"already_in_use\": \"Prilagođeno polje je već u uporabi\",\n      \"deleted_message\": \"Prilagođeno polje je uspješno obrisano\",\n      \"options\": \"opcije\",\n      \"add_option\": \"Dodaj opcije\",\n      \"add_another_option\": \"Dodaj još jednu opciju\",\n      \"sort_in_alphabetical_order\": \"Poredaj po Abecedi\",\n      \"add_options_in_bulk\": \"Grupno dodavanje opcija\",\n      \"use_predefined_options\": \"Koristi predefinirane opcije\",\n      \"select_custom_date\": \"Odaberi datum\",\n      \"select_relative_date\": \"Odaberi relativan datum\",\n      \"ticked_by_default\": \"Zadano odabrano\",\n      \"updated_message\": \"Prilagođeno polje uspješno ažurirano\",\n      \"added_message\": \"Prilagođeno polje uspješno dodato\",\n      \"press_enter_to_add\": \"Press enter to add new option\",\n      \"model_in_use\": \"Cannot update model for fields which are already in use.\",\n      \"type_in_use\": \"Cannot update type for fields which are already in use.\"\n    },\n    \"customization\": {\n      \"customization\": \"prilagođavanje\",\n      \"updated_message\": \"Podaci o firmi su uspješno ažurirani\",\n      \"save\": \"Spremi\",\n      \"insert_fields\": \"Insert Fields\",\n      \"learn_custom_format\": \"Learn how to use custom format\",\n      \"add_new_component\": \"Add New Component\",\n      \"component\": \"Component\",\n      \"Parameter\": \"Parameter\",\n      \"series\": \"Series\",\n      \"series_description\": \"To set a static prefix/postfix like 'INV' across your company. It supports character length of up to 6 chars.\",\n      \"series_param_label\": \"Series Value\",\n      \"delimiter\": \"Delimiter\",\n      \"delimiter_description\": \"Single character for specifying the boundary between 2 separate components. By default its set to -\",\n      \"delimiter_param_label\": \"Delimiter Value\",\n      \"date_format\": \"Date Format\",\n      \"date_format_description\": \"A local date and time field which accepts a format parameter. The default format: 'Y' renders the current year.\",\n      \"date_format_param_label\": \"Format\",\n      \"sequence\": \"Sequence\",\n      \"sequence_description\": \"Consecutive sequence of numbers across your company. You can specify the length on the given parameter.\",\n      \"sequence_param_label\": \"Sequence Length\",\n      \"customer_series\": \"Customer Series\",\n      \"customer_series_description\": \"To set a different prefix/postfix for each customer.\",\n      \"customer_sequence\": \"Customer Sequence\",\n      \"customer_sequence_description\": \"Consecutive sequence of numbers for each of your customer.\",\n      \"customer_sequence_param_label\": \"Sequence Length\",\n      \"random_sequence\": \"Random Sequence\",\n      \"random_sequence_description\": \"Random alphanumeric string. You can specify the length on the given parameter.\",\n      \"random_sequence_param_label\": \"Sequence Length\",\n      \"invoices\": {\n        \"title\": \"Fakture\",\n        \"invoice_number_format\": \"Invoice Number Format\",\n        \"invoice_number_format_description\": \"Customize how your invoice number gets generated automatically when you create a new invoice.\",\n        \"preview_invoice_number\": \"Preview Invoice Number\",\n        \"due_date\": \"Due Date\",\n        \"due_date_description\": \"Specify how due date is automatically set when you create an invoice.\",\n        \"due_date_days\": \"Invoice Due after days\",\n        \"set_due_date_automatically\": \"Set Due Date Automatically\",\n        \"set_due_date_automatically_description\": \"Enable this if you wish to set due date automatically when you create a new invoice.\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on invoice creation.\",\n        \"default_invoice_email_body\": \"Zadani sadržaj email-a za Fakture\",\n        \"company_address_format\": \"Format adrese firme\",\n        \"shipping_address_format\": \"Format adrese za dostavu firme\",\n        \"billing_address_format\": \"Format adrese za naplatu firme\",\n        \"invoice_email_attachment\": \"Send invoices as attachments\",\n        \"invoice_email_attachment_setting_description\": \"Enable this if you want to send invoices as email attachment. Please note that 'View Invoice' button in emails will not be displayed anymore when enabled.\",\n        \"invoice_settings_updated\": \"Postavke fakture uspješno spremljene\",\n        \"retrospective_edits\": \"Retrospective Edits\",\n        \"allow\": \"Allow\",\n        \"disable_on_invoice_partial_paid\": \"Disable after partial payment is recorded\",\n        \"disable_on_invoice_paid\": \"Disable after full payment is recorded\",\n        \"disable_on_invoice_sent\": \"Disable after invoice is sent\",\n        \"retrospective_edits_description\": \" Based on your country's laws or your preference, you can restrict users from editing finalised invoices.\"\n      },\n      \"estimates\": {\n        \"title\": \"Ponude\",\n        \"estimate_number_format\": \"Estimate Number Format\",\n        \"estimate_number_format_description\": \"Customize how your estimate number gets generated automatically when you create a new estimate.\",\n        \"preview_estimate_number\": \"Preview Estimate Number\",\n        \"expiry_date\": \"Expiry Date\",\n        \"expiry_date_description\": \"Specify how expiry date is automatically set when you create an estimate.\",\n        \"expiry_date_days\": \"Estimate Expires after days\",\n        \"set_expiry_date_automatically\": \"Set Expiry Date Automatically\",\n        \"set_expiry_date_automatically_description\": \"Enable this if you wish to set expiry date automatically when you create a new estimate.\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on estimate creation.\",\n        \"default_estimate_email_body\": \"Zadani sadržaj email-a za Ponude\",\n        \"company_address_format\": \"Format adrese firme\",\n        \"shipping_address_format\": \"Format adrese za dostavu firme\",\n        \"billing_address_format\": \"Format adrese za naplatu firme\",\n        \"estimate_email_attachment\": \"Send estimates as attachments\",\n        \"estimate_email_attachment_setting_description\": \"Enable this if you want to send the estimates as an email attachment. Please note that 'View Estimate' button in emails will not be displayed anymore when enabled.\",\n        \"estimate_settings_updated\": \"Estimate Settings updated successfully\",\n        \"convert_estimate_options\": \"Estimate Convert Action\",\n        \"convert_estimate_description\": \"Specify what happens to the estimate after it gets converted to an invoice.\",\n        \"no_action\": \"No action\",\n        \"delete_estimate\": \"Delete estimate\",\n        \"mark_estimate_as_accepted\": \"Mark estimate as accepted\"\n      },\n      \"payments\": {\n        \"title\": \"Uplate\",\n        \"payment_number_format\": \"Payment Number Format\",\n        \"payment_number_format_description\": \"Customize how your payment number gets generated automatically when you create a new payment.\",\n        \"preview_payment_number\": \"Preview Payment Number\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on payment creation.\",\n        \"default_payment_email_body\": \"Zadani sadržaj email-a za potvrdu o plaćanju (račun)\",\n        \"company_address_format\": \"Format adrese firme\",\n        \"from_customer_address_format\": \"Format adrese klijenta\",\n        \"payment_email_attachment\": \"Send payments as attachments\",\n        \"payment_email_attachment_setting_description\": \"Enable this if you want to send the payment receipts as an email attachment. Please note that 'View Payment' button in emails will not be displayed anymore when enabled.\",\n        \"payment_settings_updated\": \"Payment Settings updated successfully\"\n      },\n      \"items\": {\n        \"title\": \"Stavke\",\n        \"units\": \"Jedinice\",\n        \"add_item_unit\": \"Dodaj jedinicu stavke\",\n        \"edit_item_unit\": \"Izmjeni jedinicu stavke\",\n        \"unit_name\": \"Naziv jedinice\",\n        \"item_unit_added\": \"Jedinica stavke dodana\",\n        \"item_unit_updated\": \"Jedinica stavke ažurirana\",\n        \"item_unit_confirm_delete\": \"Nećeš moći vratiti ovu jedinicu stavke\",\n        \"already_in_use\": \"Jedinica stavke se već koristi\",\n        \"deleted_message\": \"Jedinica stavke uspješno obrisana\"\n      },\n      \"notes\": {\n        \"title\": \"Napomene\",\n        \"description\": \"Uštedite vrijeme praveći napomene i koristeći ih na fakturama, ponudama i uplatama.\",\n        \"notes\": \"Napomene\",\n        \"type\": \"Vrsta\",\n        \"add_note\": \"Dodaj Napomenu\",\n        \"add_new_note\": \"Dodaj novu Napomenu\",\n        \"name\": \"Naziv\",\n        \"edit_note\": \"Izmjeni Napomenu\",\n        \"note_added\": \"Napomena uspješno dodana\",\n        \"note_updated\": \"Napomena uspješno ažurirana\",\n        \"note_confirm_delete\": \"Nećeš moći vratiti ovu Napomenu\",\n        \"already_in_use\": \"Napomena se već koristi\",\n        \"deleted_message\": \"Napomena uspješno obrisana\"\n      }\n    },\n    \"account_settings\": {\n      \"profile_picture\": \"Profilna slika\",\n      \"name\": \"Ime i prezime\",\n      \"email\": \"Email\",\n      \"password\": \"Lozinka\",\n      \"confirm_password\": \"Potvrdi lozinku\",\n      \"account_settings\": \"Postavke računa\",\n      \"save\": \"Spremi\",\n      \"section_description\": \"Možete ažurirati Vaše ime i prezime, email i lozinku koristeći formu niže.\",\n      \"updated_message\": \"Postavke računa uspješno ažurirane\"\n    },\n    \"user_profile\": {\n      \"name\": \"Ime i prezime\",\n      \"email\": \"Email\",\n      \"password\": \"Lozinka\",\n      \"confirm_password\": \"Potvrdi lozinku\"\n    },\n    \"notification\": {\n      \"title\": \"Obavijesti\",\n      \"email\": \"Šalji obavijesti na\",\n      \"description\": \"Koje email obavijesti želite dobiti kada se nešto promijeni?\",\n      \"invoice_viewed\": \"Faktura pogledana\",\n      \"invoice_viewed_desc\": \"Kada klijent pogleda fakturu koja je poslana putem ove aplikacije.\",\n      \"estimate_viewed\": \"Ponuda gledana\",\n      \"estimate_viewed_desc\": \"Kada klijent pogleda ponudu koja je poslana putem ove aplikacije.\",\n      \"save\": \"Spremi\",\n      \"email_save_message\": \"Email uspješno sačuvan\",\n      \"please_enter_email\": \"Molim Vas unesite E-mail\"\n    },\n    \"roles\": {\n      \"title\": \"Roles\",\n      \"description\": \"Manage the roles & permissions of this company\",\n      \"save\": \"Save\",\n      \"add_new_role\": \"Add New Role\",\n      \"role_name\": \"Role Name\",\n      \"added_on\": \"Added on\",\n      \"add_role\": \"Add Role\",\n      \"edit_role\": \"Edit Role\",\n      \"name\": \"Name\",\n      \"permission\": \"Permission | Permissions\",\n      \"select_all\": \"Select All\",\n      \"none\": \"None\",\n      \"confirm_delete\": \"You will not be able to recover this Role\",\n      \"created_message\": \"Role created successfully\",\n      \"updated_message\": \"Role updated successfully\",\n      \"deleted_message\": \"Role deleted successfully\",\n      \"already_in_use\": \"Role is already in use\"\n    },\n    \"exchange_rate\": {\n      \"exchange_rate\": \"Exchange Rate\",\n      \"title\": \"Fix Currency Exchange issues\",\n      \"description\": \"Please enter exchange rate of all the currencies mentioned below to help Crater properly calculate the amounts in {currency}.\",\n      \"drivers\": \"Drivers\",\n      \"new_driver\": \"Add New Provider\",\n      \"edit_driver\": \"Edit Provider\",\n      \"select_driver\": \"Select Driver\",\n      \"update\": \"select exchange rate \",\n      \"providers_description\": \"Configure your exchange rate providers here to automatically fetch the latest exchange rate on transactions.\",\n      \"key\": \"API Key\",\n      \"name\": \"Name\",\n      \"driver\": \"Driver\",\n      \"is_default\": \"IS DEFAULT\",\n      \"currency\": \"Currencies\",\n      \"exchange_rate_confirm_delete\": \"You will not be able to recover this driver\",\n      \"created_message\": \"Provider Created successfully\",\n      \"updated_message\": \"Provider Updated Successfully\",\n      \"deleted_message\": \"Provider Deleted Successfully\",\n      \"error\": \" You cannot Delete Active Driver\",\n      \"default_currency_error\": \"This currency is already used in one of the Active Provider\",\n      \"exchange_help_text\": \"Enter exchange rate to convert from {currency} to {baseCurrency}\",\n      \"currency_freak\": \"Currency Freak\",\n      \"currency_layer\": \"Currency Layer\",\n      \"open_exchange_rate\": \"Open Exchange Rate\",\n      \"currency_converter\": \"Currency Converter\",\n      \"server\": \"Server\",\n      \"url\": \"URL\",\n      \"active\": \"Active\",\n      \"currency_help_text\": \"This provider will only be used on above selected currencies\",\n      \"currency_in_used\": \"The following currencies are already active on another provider. Please remove these currencies from selection to activate this provider again.\"\n    },\n    \"tax_types\": {\n      \"title\": \"Vrste Poreza\",\n      \"add_tax\": \"Dodaj Porez\",\n      \"edit_tax\": \"Izmjeni Porez\",\n      \"description\": \"Možete dodati ili ukloniti porez. Ova aplikacija podržava porez, kako na individualnim stavkama tako i na fakturi/ponudi.\",\n      \"add_new_tax\": \"Dodaj Novi Porez\",\n      \"tax_settings\": \"Postavke Poreza\",\n      \"tax_per_item\": \"Porez po Stavkama\",\n      \"tax_name\": \"Naziv Poreza\",\n      \"compound_tax\": \"Složeni Porez\",\n      \"percent\": \"Postotak\",\n      \"action\": \"Radnja\",\n      \"tax_setting_description\": \"Izaberite ovo ako želite dodati porez na individualne stavke. Zadano ponašanje je da je porez dodan direktno na fakturu.\",\n      \"created_message\": \"Vrsta poreza uspješno kreirana\",\n      \"updated_message\": \"Vrsta poreza uspješno ažurirana\",\n      \"deleted_message\": \"Vrsta poreza uspješno obrisana\",\n      \"confirm_delete\": \"Nećete moći vratiti Vrstu Poreza\",\n      \"already_in_use\": \"Porez se već koristi\"\n    },\n    \"payment_modes\": {\n      \"title\": \"Payment Modes\",\n      \"description\": \"Modes of transaction for payments\",\n      \"add_payment_mode\": \"Add Payment Mode\",\n      \"edit_payment_mode\": \"Edit Payment Mode\",\n      \"mode_name\": \"Mode Name\",\n      \"payment_mode_added\": \"Payment Mode Added\",\n      \"payment_mode_updated\": \"Payment Mode Updated\",\n      \"payment_mode_confirm_delete\": \"You will not be able to recover this Payment Mode\",\n      \"payments_attached\": \"This payment method is already attached to payments. Please delete the attached payments to proceed with deletion.\",\n      \"expenses_attached\": \"This payment method is already attached to expenses. Please delete the attached expenses to proceed with deletion.\",\n      \"deleted_message\": \"Payment Mode deleted successfully\"\n    },\n    \"expense_category\": {\n      \"title\": \"Kategorija Rashoda\",\n      \"action\": \"Radnja\",\n      \"description\": \"Kategorije su obavezne za dodavanje rashoda. Možeš dodati ili obrisati kategorije.\",\n      \"add_new_category\": \"Dodaj novu kategoriju\",\n      \"add_category\": \"Dodaj kategoriju\",\n      \"edit_category\": \"Izmjeni kategoriju\",\n      \"category_name\": \"Naziv kategorije\",\n      \"category_description\": \"Opis\",\n      \"created_message\": \"Kategorija rashoda je uspješno kreirana\",\n      \"deleted_message\": \"Kategorija rashoda je uspješno izbrisana\",\n      \"updated_message\": \"Kategorija rashoda je uspješno ažurirana\",\n      \"confirm_delete\": \"Nećeš moći vratiti ovu kategoriju rashoda\",\n      \"already_in_use\": \"Kategorija se već koristi\"\n    },\n    \"preferences\": {\n      \"currency\": \"Valuta\",\n      \"default_language\": \"Jezik\",\n      \"time_zone\": \"Vremenska Zona\",\n      \"fiscal_year\": \"Financijska Godina\",\n      \"date_format\": \"Format datuma\",\n      \"discount_setting\": \"Postavke popusta\",\n      \"discount_per_item\": \"Popust po stavkama\",\n      \"discount_setting_description\": \"Izaberite ovo ako želite dodati Popust na individualne stavke. Zadana vrijednost je da je Popust dodan direktno na fakturu.\",\n      \"expire_public_links\": \"Automatically Expire Public Links\",\n      \"expire_setting_description\": \"Specify whether you would like to expire all the links sent by application to view invoices, estimates & payments, etc after a specified duration.\",\n      \"save\": \"Spremi\",\n      \"preference\": \"Preferencija | Preferencije\",\n      \"general_settings\": \"Zadane postavke za sistem\",\n      \"updated_message\": \"Preferencije uspješno ažurirane\",\n      \"select_language\": \"Izaberi Jezik\",\n      \"select_time_zone\": \"Izaberi Vremensku Zonu\",\n      \"select_date_format\": \"Izaberi Format Datuma\",\n      \"select_financial_year\": \"Izaberi Financijsku Godinu\",\n      \"recurring_invoice_status\": \"Recurring Invoice Status\",\n      \"create_status\": \"Create Status\",\n      \"active\": \"Active\",\n      \"on_hold\": \"On Hold\",\n      \"update_status\": \"Update Status\",\n      \"completed\": \"Completed\",\n      \"company_currency_unchangeable\": \"Company currency cannot be changed\"\n    },\n    \"update_app\": {\n      \"title\": \"Ažuriraj aplikaciju\",\n      \"description\": \"Lako možeš ažurirati Crater tako da napraviš provjeru novih verzija klikom na polje ispod\",\n      \"check_update\": \"Provjeri ažuriranost\",\n      \"avail_update\": \"Dostupna je nova verzija\",\n      \"next_version\": \"Sljedeća verzija\",\n      \"requirements\": \"Zahtjevi\",\n      \"update\": \"Ažuriraj sada\",\n      \"update_progress\": \"Ažuriranje je u toku...\",\n      \"progress_text\": \"Trajanje je svega par minuta. Nemojte osviježavati ili zatvoriti stranicu dok ažuriranje ne bude gotovo\",\n      \"update_success\": \"Aplikacija je ažurirana! Molim Vas pričekajte da se stranica automatski osvježi.\",\n      \"latest_message\": \"Nema nove verzije! Ažurirana posljednja verzija.\",\n      \"current_version\": \"Trenutna verzija\",\n      \"download_zip_file\": \"Preuzmi ZIP paket\",\n      \"unzipping_package\": \"Raspakiranje paketa\",\n      \"copying_files\": \"Kopiranje datoteka\",\n      \"deleting_files\": \"Brisanje fajlova koji nisu u upotrebi\",\n      \"running_migrations\": \"Migracije u toku\",\n      \"finishing_update\": \"Završavanje ažuriranja\",\n      \"update_failed\": \"Neuspešno ažuriranje\",\n      \"update_failed_text\": \"Žao mi je! Tvoje ažuriranje nije uspelo na koraku broj: {step} korak\",\n      \"update_warning\": \"All of the application files and default template files will be overwritten when you update the application using this utility. Please take a backup of your templates & database before updating.\"\n    },\n    \"backup\": {\n      \"title\": \"Sigurnosna kopija | Sigurnosne kopije\",\n      \"description\": \"Backup je zip arhiv koji sadrži sve fajlove iz foldera koje ste naveli, također sadrži sigurnosnu kopiju baze podataka.\",\n      \"new_backup\": \"Dodaj novi Backup\",\n      \"create_backup\": \"Napravi Backup\",\n      \"select_backup_type\": \"Izaberi tip Backupa\",\n      \"backup_confirm_delete\": \"Nećeš moći vratiti ovaj Backup\",\n      \"path\": \"putanja\",\n      \"new_disk\": \"Novi Disk\",\n      \"created_at\": \"datum kreiranja\",\n      \"size\": \"veličina\",\n      \"dropbox\": \"dropbox\",\n      \"local\": \"lokalni\",\n      \"healthy\": \"zdrav\",\n      \"amount_of_backups\": \"broj backupa\",\n      \"newest_backups\": \"najnoviji backupi\",\n      \"used_storage\": \"korišteno skladište\",\n      \"select_disk\": \"Izaberi Disk\",\n      \"action\": \"Radnja\",\n      \"deleted_message\": \"Backup uspješno obrisan\",\n      \"created_message\": \"Backup uspješno napravljen\",\n      \"invalid_disk_credentials\": \"Pogrešne akreditacije za odabrani disk\"\n    },\n    \"disk\": {\n      \"title\": \"File Disk | File Disks\",\n      \"description\": \"Zadano ponašanje je da Crater koristi lokalni disk za čuvanje backupa, avatara i ostalih slika. Možete podesiti više od jednog disk drajvera od provajdera poput DigitalOcean, S3 i Dropbox po vašoj želji.\",\n      \"created_at\": \"datum kreiranja\",\n      \"dropbox\": \"dropbox\",\n      \"name\": \"Naziv\",\n      \"driver\": \"Drajver\",\n      \"disk_type\": \"Vrsta\",\n      \"disk_name\": \"Naziv Diska\",\n      \"new_disk\": \"Dodaj novi Disk\",\n      \"filesystem_driver\": \"Filesystem Driver\",\n      \"local_driver\": \"lokalni Drajver\",\n      \"local_root\": \"local Root\",\n      \"public_driver\": \"Public Driver\",\n      \"public_root\": \"Public Root\",\n      \"public_url\": \"Public URL\",\n      \"public_visibility\": \"Public Visibility\",\n      \"media_driver\": \"Media Driver\",\n      \"media_root\": \"Media Root\",\n      \"aws_driver\": \"AWS Driver\",\n      \"aws_key\": \"AWS Key\",\n      \"aws_secret\": \"AWS Secret\",\n      \"aws_region\": \"AWS Region\",\n      \"aws_bucket\": \"AWS Bucket\",\n      \"aws_root\": \"AWS Root\",\n      \"do_spaces_type\": \"Do Spaces type\",\n      \"do_spaces_key\": \"Do Spaces key\",\n      \"do_spaces_secret\": \"Do Spaces Secret\",\n      \"do_spaces_region\": \"Do Spaces Region\",\n      \"do_spaces_bucket\": \"Do Spaces Bucket\",\n      \"do_spaces_endpoint\": \"Do Spaces Endpoint\",\n      \"do_spaces_root\": \"Do Spaces Root\",\n      \"dropbox_type\": \"Dropbox Type\",\n      \"dropbox_token\": \"Dropbox Token\",\n      \"dropbox_key\": \"Dropbox Key\",\n      \"dropbox_secret\": \"Dropbox Secret\",\n      \"dropbox_app\": \"Dropbox App\",\n      \"dropbox_root\": \"Dropbox Root\",\n      \"default_driver\": \"Zadani Drajver\",\n      \"is_default\": \"DA LI JE ZADAN\",\n      \"set_default_disk\": \"Postavi zadani Disk\",\n      \"set_default_disk_confirm\": \"Ovaj disk će biti postavljen kao zadani i svi novi PDF fajlovi će biti sačuvani na ovom disku\",\n      \"success_set_default_disk\": \"Disk je uspješno postavljen kao zadani\",\n      \"save_pdf_to_disk\": \"Spremi PDF fajlove na Disk\",\n      \"disk_setting_description\": \" Uključite ovo ako želite da spremite kopiju PDF fajla svake Fakture, Ponude i Uplate na vaš zadani disk automatski. Uključivanjem ove opcije smanjujete vrijeme učitavanja pregleda PDF fajlova.\",\n      \"select_disk\": \"Izaberi Disk\",\n      \"disk_settings\": \"Disk Postavke\",\n      \"confirm_delete\": \"Ovo neće utjecati na vaše postojeće fajlove i foldere na navedenom disku, ali će se konfiguracija vašeg diska izbrisati iz Cratera.\",\n      \"action\": \"Radnja\",\n      \"edit_file_disk\": \"Izmjeni File Disk\",\n      \"success_create\": \"Disk uspješno dodan\",\n      \"success_update\": \"Disk uspješno ažuriran\",\n      \"error\": \"Dodavanje diska nije uspelo\",\n      \"deleted_message\": \"File Disk uspješno obrisan\",\n      \"disk_variables_save_successfully\": \"Disk uspješno podešen\",\n      \"disk_variables_save_error\": \"Postavljanje diska nije uspjelo.\",\n      \"invalid_disk_credentials\": \"Pogrešne akreditacije za navedeni disk\"\n    },\n    \"taxations\": {\n      \"add_billing_address\": \"Enter Billing Address\",\n      \"add_shipping_address\": \"Enter Shipping Address\",\n      \"add_company_address\": \"Enter Company Address\",\n      \"modal_description\": \"The information below is required in order to fetch sales tax.\",\n      \"add_address\": \"Add Address for fetching sales tax.\",\n      \"address_placeholder\": \"Example: 123, My Street\",\n      \"city_placeholder\": \"Example: Los Angeles\",\n      \"state_placeholder\": \"Example: CA\",\n      \"zip_placeholder\": \"Example: 90024\",\n      \"invalid_address\": \"Please provide valid address details.\"\n    }\n  },\n  \"wizard\": {\n    \"account_info\": \"Informacije o računu\",\n    \"account_info_desc\": \"Detalji u nastavku koriste se za kreiranje glavnog administratorskog računa. Moguće ih je izmjeniti u bilo kada nakon prijavljivanja.\",\n    \"name\": \"Naziv\",\n    \"email\": \"E-mail\",\n    \"password\": \"Lozinka\",\n    \"confirm_password\": \"Potvrdi lozinku\",\n    \"save_cont\": \"Spremi & Nastavi\",\n    \"company_info\": \"Informacije o firmi\",\n    \"company_info_desc\": \"Ove informacije će biti prikazane na fakturama. Moguće ih je izmjeniti kasnije u postavkama.\",\n    \"company_name\": \"Naziv firme\",\n    \"company_logo\": \"Logo firme\",\n    \"logo_preview\": \"Pregled logotipa\",\n    \"preferences\": \"Preference\",\n    \"preferences_desc\": \"Zadane Preference za sistem\",\n    \"currency_set_alert\": \"The company's currency cannot be changed later.\",\n    \"country\": \"Država\",\n    \"state\": \"Županija\",\n    \"city\": \"Grad\",\n    \"address\": \"Adresa\",\n    \"street\": \"Ulica1 | Ulica2\",\n    \"phone\": \"Telefon\",\n    \"zip_code\": \"Poštanski broj\",\n    \"go_back\": \"Vrati se nazad\",\n    \"currency\": \"Valuta\",\n    \"language\": \"Jezik\",\n    \"time_zone\": \"Vremenska zona\",\n    \"fiscal_year\": \"Financijska godina\",\n    \"date_format\": \"Format datuma\",\n    \"from_address\": \"Adresa pošiljaoca\",\n    \"username\": \"Korisničko ime\",\n    \"next\": \"Sljedeće\",\n    \"continue\": \"Nastavi\",\n    \"skip\": \"Preskoči\",\n    \"database\": {\n      \"database\": \"URL stranice & baze podataka\",\n      \"connection\": \"Veza baze podataka\",\n      \"host\": \"Host baze podataka\",\n      \"port\": \"Port baze podataka\",\n      \"password\": \"Lozinka baze podataka\",\n      \"app_url\": \"URL aplikacije\",\n      \"app_domain\": \"Domen aplikacije\",\n      \"username\": \"Korisničko ime baze podataka\",\n      \"db_name\": \"Naziv baze podataka\",\n      \"db_path\": \"Putanja do baze\",\n      \"desc\": \"Kreiraj bazu podataka na svom serveru i postavi akreditacije prateći obrazac u nastavku.\"\n    },\n    \"permissions\": {\n      \"permissions\": \"Dozvole\",\n      \"permission_confirm_title\": \"Da li ste sigurni da želite nastaviti?\",\n      \"permission_confirm_desc\": \"Provjera dozvola za foldere nije uspjela\",\n      \"permission_desc\": \"U nastavku se nalazi popis dozvola za foldere koji su nužni kako bi alikacija radila. Ukoliko provjera dozvola ne uspije, ažuriraj svoj popis dozvola za te foldere.\"\n    },\n    \"verify_domain\": {\n      \"title\": \"Domain Verification\",\n      \"desc\": \"Crater uses Session based authentication which requires domain verification for security purposes. Please enter the domain on which you will be accessing your web application.\",\n      \"app_domain\": \"App Domain\",\n      \"verify_now\": \"Verify Now\",\n      \"success\": \"Domain Verify Successfully.\",\n      \"failed\": \"Domain verification failed. Please enter valid domain name.\",\n      \"verify_and_continue\": \"Verify And Continue\"\n    },\n    \"mail\": {\n      \"host\": \"Mail Host\",\n      \"port\": \"Mail Port\",\n      \"driver\": \"Mail drajver\",\n      \"secret\": \"Lozinka\",\n      \"mailgun_secret\": \"Mailgun Lozinka\",\n      \"mailgun_domain\": \"Domen\",\n      \"mailgun_endpoint\": \"Mailgun Endpoint\",\n      \"ses_secret\": \"SES Lozinka\",\n      \"ses_key\": \"SES Ključ\",\n      \"password\": \"Lozinka za e-mail\",\n      \"username\": \"Koristničko ime za e-mail\",\n      \"mail_config\": \"E-mail konfiguracija\",\n      \"from_name\": \"Naziv pošiljatelja\",\n      \"from_mail\": \"E-mail adresa pošiljatelja\",\n      \"encryption\": \"E-mail enkripcija\",\n      \"mail_config_desc\": \"Ispod se nalazi forma za postavljanje E-mail drajvera za slanje pošte iz aplikacije. Također možete podesiti provajdere treće strane kao Sendgrid, SES itd.\"\n    },\n    \"req\": {\n      \"system_req\": \"Sistemski zahtjevi\",\n      \"php_req_version\": \"Zahtjeva PHP verziju {version} \",\n      \"check_req\": \"Provjeri zahtjeve\",\n      \"system_req_desc\": \"Crater ima nekoliko zahtjeva za server. Provjeri da li tvoj server ima potrebnu verziju PHP-a i sva navedena proširenja navedena u nastavku\"\n    },\n    \"errors\": {\n      \"migrate_failed\": \"Neuspješno migriranje\",\n      \"database_variables_save_error\": \"Konfiguraciju nije moguće zapisati u .env datoteku. Provjeri dozvole za datoteku\",\n      \"mail_variables_save_error\": \"E-mail konfiguracija neuspješna\",\n      \"connection_failed\": \"Neuspješno povezivanje s bazom podataka\",\n      \"database_should_be_empty\": \"Baza podataka treba biti prazna\"\n    },\n    \"success\": {\n      \"mail_variables_save_successfully\": \"E-mail je uspješno konfiguriran\",\n      \"database_variables_save_successfully\": \"Baza podataka je uspješno konfigurirana\"\n    }\n  },\n  \"validation\": {\n    \"invalid_phone\": \"Pogrešan Broj Telefona\",\n    \"invalid_url\": \"Nevažeći URL (primer: http://www.craterapp.com)\",\n    \"invalid_domain_url\": \"Pogrešan URL (primjer: craterapp.com)\",\n    \"required\": \"Obavezno polje\",\n    \"email_incorrect\": \"Pogrešan E-mail\",\n    \"email_already_taken\": \"Navedeni E-mail je zauzet\",\n    \"email_does_not_exist\": \"Korisnik sa navedenom e-mail adresom ne postoji\",\n    \"item_unit_already_taken\": \"Naziv ove jedinice stavke je zauzet\",\n    \"payment_mode_already_taken\": \"Naziv ovog načina plaćanja je zauzet\",\n    \"send_reset_link\": \"Pošalji link za reset\",\n    \"not_yet\": \"Još uvijek ništa? Pošalji ponovno\",\n    \"password_min_length\": \"Lozinka mora imati {count} znakova\",\n    \"name_min_length\": \"Naziv mora imati najmanje {count} slova\",\n    \"prefix_min_length\": \"Prefix must have at least {count} letters.\",\n    \"enter_valid_tax_rate\": \"Unesite odgovarajuću poreznu stopu\",\n    \"numbers_only\": \"Mogu se unositi samo brojevi\",\n    \"characters_only\": \"Mogu se unositi samo znakovi\",\n    \"password_incorrect\": \"Lozinka mora biti identična\",\n    \"password_length\": \"Lozinka mora imati {count} znakova\",\n    \"qty_must_greater_than_zero\": \"Količina mora biti veća od 0.\",\n    \"price_greater_than_zero\": \"Cijena mora biti veća od 0\",\n    \"payment_greater_than_zero\": \"Uplata mora biti veća od 0\",\n    \"payment_greater_than_due_amount\": \"Unesena uplata je veća od dospijeća iznosa ove fakture\",\n    \"quantity_maxlength\": \"Količina ne može imati više od 20 znakova\",\n    \"price_maxlength\": \"Cijena ne može imati više od 20 znakova\",\n    \"price_minvalue\": \"Cijena mora biti veća od 0\",\n    \"amount_maxlength\": \"Iznos ne može da ima više od 20 znakova\",\n    \"amount_minvalue\": \"Iznos mora biti veći od 0\",\n    \"discount_maxlength\": \"Discount should not be greater than max discount\",\n    \"description_maxlength\": \"Opis ne može imati više od 65,000 znakova\",\n    \"subject_maxlength\": \"Predmet ne može imati više od 100 znakova\",\n    \"message_maxlength\": \"Poruka ne može imati više od 255 znakova\",\n    \"maximum_options_error\": \"Maksimalan broj opcija je izabran. Prvo uklonite izabranu opciju da bi izabrali drugu\",\n    \"notes_maxlength\": \"Napomena ne može imati više od 65,000 znakova\",\n    \"address_maxlength\": \"Adresa ne može imati više od 255 znakova\",\n    \"ref_number_maxlength\": \"Poziv na broj ne može imati više od 225 znakova\",\n    \"prefix_maxlength\": \"Prefiks ne može imati više od 5 znakova\",\n    \"something_went_wrong\": \"nešto je krenulo naopako\",\n    \"number_length_minvalue\": \"Number length should be greater than 0\",\n    \"at_least_one_ability\": \"Please select atleast one Permission.\",\n    \"valid_driver_key\": \"Please enter a valid {driver} key.\",\n    \"valid_exchange_rate\": \"Please enter a valid exchange rate.\",\n    \"company_name_not_same\": \"Company name must match with given name.\"\n  },\n  \"errors\": {\n    \"starter_plan\": \"This feature is available on Starter plan and onwards!\",\n    \"invalid_provider_key\": \"Please Enter Valid Provider API Key.\",\n    \"estimate_number_used\": \"The estimate number has already been taken.\",\n    \"invoice_number_used\": \"The invoice number has already been taken.\",\n    \"payment_attached\": \"This invoice already has a payment attached to it. Make sure to delete the attached payments first in order to go ahead with the removal.\",\n    \"payment_number_used\": \"The payment number has already been taken.\",\n    \"name_already_taken\": \"The name has already been taken.\",\n    \"receipt_does_not_exist\": \"Receipt does not exist.\",\n    \"customer_cannot_be_changed_after_payment_is_added\": \"Customer cannot be change after payment is added\",\n    \"invalid_credentials\": \"Invalid  Credentials.\",\n    \"not_allowed\": \"Not Allowed\",\n    \"login_invalid_credentials\": \"These credentials do not match our records.\",\n    \"enter_valid_cron_format\": \"Please enter a valid cron format\",\n    \"email_could_not_be_sent\": \"Email could not be sent to this email address.\",\n    \"invalid_address\": \"Please enter a valid address.\",\n    \"invalid_key\": \"Please enter valid key.\",\n    \"invalid_state\": \"Please enter a valid state.\",\n    \"invalid_city\": \"Please enter a valid city.\",\n    \"invalid_postal_code\": \"Please enter a valid zip.\",\n    \"invalid_format\": \"Please enter valid query string format.\",\n    \"api_error\": \"Server not responding.\",\n    \"feature_not_enabled\": \"Feature not enabled.\",\n    \"request_limit_met\": \"Api request limit exceeded.\",\n    \"address_incomplete\": \"Incomplete Address\"\n  },\n  \"pdf_estimate_label\": \"Ponuda\",\n  \"pdf_estimate_number\": \"Broj Ponude\",\n  \"pdf_estimate_date\": \"Datum Ponude\",\n  \"pdf_estimate_expire_date\": \"Datum isteka Ponude\",\n  \"pdf_invoice_label\": \"Faktura\",\n  \"pdf_invoice_number\": \"Broj Fakture\",\n  \"pdf_invoice_date\": \"Datum Fakture\",\n  \"pdf_invoice_due_date\": \"Datum dospijeća Fakture\",\n  \"pdf_notes\": \"Napomena\",\n  \"pdf_items_label\": \"Stavke\",\n  \"pdf_quantity_label\": \"Količina\",\n  \"pdf_price_label\": \"Cijena\",\n  \"pdf_discount_label\": \"Popust\",\n  \"pdf_amount_label\": \"Iznos\",\n  \"pdf_subtotal\": \"Osnovica za obračun PDV-a\",\n  \"pdf_total\": \"Ukupan iznos\",\n  \"pdf_payment_label\": \"Plaćanje\",\n  \"pdf_payment_receipt_label\": \"POTVRDA O UPLATI\",\n  \"pdf_payment_date\": \"Datum Uplate\",\n  \"pdf_payment_number\": \"Broj Uplate\",\n  \"pdf_payment_mode\": \"Način Plaćanja\",\n  \"pdf_payment_amount_received_label\": \"Iznos Uplate\",\n  \"pdf_expense_report_label\": \"IZVJEŠTAJ O RASHODIMA\",\n  \"pdf_total_expenses_label\": \"RASHODI UKUPNO\",\n  \"pdf_profit_loss_label\": \"IZVEJŠTAJ O PRIHODIMA I RASHODIMA\",\n  \"pdf_sales_customers_label\": \"Izvještaj Prodaje po Strankama\",\n  \"pdf_sales_items_label\": \"Izvještaj Prodaje po Stavkama\",\n  \"pdf_tax_summery_label\": \"Izvještaj Poreza\",\n  \"pdf_income_label\": \"PRIHOD\",\n  \"pdf_net_profit_label\": \"NETO PROFIT\",\n  \"pdf_customer_sales_report\": \"Izvještaj o Prodaji: Po Klijentu\",\n  \"pdf_total_sales_label\": \"PRODAJA UKUPNO\",\n  \"pdf_item_sales_label\": \"Izvještaj o Prodaji: Po Stavci\",\n  \"pdf_tax_report_label\": \"IZVEŠTAJ O POREZIMA\",\n  \"pdf_total_tax_label\": \"UKUPNO POREZ\",\n  \"pdf_tax_types_label\": \"Vrsta Poreza\",\n  \"pdf_expenses_label\": \"Rashodi\",\n  \"pdf_bill_to\": \"Račun za,\",\n  \"pdf_ship_to\": \"Isporučiti za,\",\n  \"pdf_received_from\": \"Poslat od strane:\",\n  \"pdf_tax_label\": \"Porez\"\n}\n"
  },
  {
    "path": "resources/scripts/locales/id.json",
    "content": "{\n  \"navigation\": {\n    \"dashboard\": \"Dasbor\",\n    \"customers\": \"Pelanggan\",\n    \"items\": \"Barang\",\n    \"invoices\": \"Faktur\",\n    \"recurring-invoices\": \"Faktur Langganan\",\n    \"expenses\": \"Pengeluaran\",\n    \"estimates\": \"Perkiraan\",\n    \"payments\": \"Pembayaran\",\n    \"reports\": \"Laporan\",\n    \"settings\": \"Pengaturan\",\n    \"logout\": \"Keluar\",\n    \"users\": \"Pengguna\",\n    \"modules\": \"Modul\"\n  },\n  \"general\": {\n    \"add_company\": \"Tambahkan Perusahaan\",\n    \"view_pdf\": \"Lihat PDF\",\n    \"copy_pdf_url\": \"Salin URL PDF\",\n    \"download_pdf\": \"Unduh PDF\",\n    \"save\": \"Simpan\",\n    \"create\": \"Buat\",\n    \"cancel\": \"Batal\",\n    \"update\": \"Perbarui\",\n    \"deselect\": \"Hapus pilihan\",\n    \"download\": \"Unduh\",\n    \"from_date\": \"Dari tanggal\",\n    \"to_date\": \"Sampai tanggal\",\n    \"from\": \"Dari\",\n    \"to\": \"Untuk\",\n    \"ok\": \"Oke\",\n    \"yes\": \"Ya\",\n    \"no\": \"Tidak\",\n    \"sort_by\": \"Urutkan Berdasarkan\",\n    \"ascending\": \"Sortir naik\",\n    \"descending\": \"Sortir turun\",\n    \"subject\": \"Perihal\",\n    \"body\": \"Body\",\n    \"message\": \"Pesan\",\n    \"send\": \"Kirim\",\n    \"preview\": \"Pratinjau\",\n    \"go_back\": \"Kembali\",\n    \"back_to_login\": \"Kembali untuk masuk?\",\n    \"home\": \"Beranda\",\n    \"filter\": \"Sortir\",\n    \"delete\": \"Hapus\",\n    \"edit\": \"Ubah\",\n    \"view\": \"Tampilan\",\n    \"add_new_item\": \"Tambahkan Item Baru\",\n    \"clear_all\": \"Hapus semua\",\n    \"showing\": \"Menampilkan\",\n    \"of\": \"dari\",\n    \"actions\": \"Aksi\",\n    \"subtotal\": \"Subtotal\",\n    \"discount\": \"Potongan\",\n    \"fixed\": \"Tetap\",\n    \"percentage\": \"Persentase\",\n    \"tax\": \"Pajak\",\n    \"total_amount\": \"Jumlah Total\",\n    \"bill_to\": \"Ditagih kepada\",\n    \"ship_to\": \"Dikirim ke\",\n    \"due\": \"Batas Waktu\",\n    \"draft\": \"Draf\",\n    \"sent\": \"Kirim\",\n    \"all\": \"Semuanya\",\n    \"select_all\": \"Pilih Semua\",\n    \"select_template\": \"Pilih Template\",\n    \"choose_file\": \"Klik disini untuk memilih file\",\n    \"choose_template\": \"Pilih template\",\n    \"choose\": \"Pilih\",\n    \"remove\": \"Hapus\",\n    \"select_a_status\": \"Pilih status\",\n    \"select_a_tax\": \"Pilih pajak\",\n    \"search\": \"Cari\",\n    \"are_you_sure\": \"Apakah Anda yakin?\",\n    \"list_is_empty\": \"Daftar kosong.\",\n    \"no_tax_found\": \"Tidak ada pajak!\",\n    \"four_zero_four\": \"404\",\n    \"you_got_lost\": \"Whoops! Kamu akan kehilangan kesempatan ini!\",\n    \"go_home\": \"Kembali ke Beranda\",\n    \"test_mail_conf\": \"Pengujian konfigurasi email\",\n    \"send_mail_successfully\": \"Email berhasil dikirim\",\n    \"setting_updated\": \"Pengaturan berhasil disimpan\",\n    \"select_state\": \"Pilih Provinsi\",\n    \"select_country\": \"Pilih Negara\",\n    \"select_city\": \"Pilih kota\",\n    \"street_1\": \"Jalan 1\",\n    \"street_2\": \"Jalan 2\",\n    \"action_failed\": \"Aksi gagal\",\n    \"retry\": \"Coba lagi\",\n    \"choose_note\": \"Pilih catatan\",\n    \"no_note_found\": \"Tidak ada catatan yang ditemukan\",\n    \"insert_note\": \"Sisipkan Catatan\",\n    \"copied_pdf_url_clipboard\": \"URL file PDF disalin ke clipboard!\",\n    \"copied_url_clipboard\": \"Disalin ke clipboard!\",\n    \"docs\": \"Dokumen\",\n    \"do_you_wish_to_continue\": \"Apakah anda ingin melanjutkan?\",\n    \"note\": \"Catatan\",\n    \"pay_invoice\": \"Bayar tagihan\",\n    \"login_successfully\": \"Login berhasil!\",\n    \"logged_out_successfully\": \"Berhasil keluar\",\n    \"mark_as_default\": \"Tandai sebagai default\"\n  },\n  \"dashboard\": {\n    \"select_year\": \"Pilih tahun\",\n    \"cards\": {\n      \"due_amount\": \"Jumlah yang harus dibayar\",\n      \"customers\": \"Pelanggan\",\n      \"invoices\": \"Faktur\",\n      \"estimates\": \"Perkiraan\",\n      \"payments\": \"Pembayaran\"\n    },\n    \"chart_info\": {\n      \"total_sales\": \"Penjualan\",\n      \"total_receipts\": \"Tanda terima\",\n      \"total_expense\": \"Pengeluaran\",\n      \"net_income\": \"Pemasukan Bersih\",\n      \"year\": \"Pilih tahun\"\n    },\n    \"monthly_chart\": {\n      \"title\": \"Penjualan & Pengeluaran\"\n    },\n    \"recent_invoices_card\": {\n      \"title\": \"Tagihan Jatuh Tempo\",\n      \"due_on\": \"Jatuh Tempo\",\n      \"customer\": \"Pelanggan\",\n      \"amount_due\": \"Jumlah yang harus dibayar\",\n      \"actions\": \"Aksi\",\n      \"view_all\": \"Lihat semua\"\n    },\n    \"recent_estimate_card\": {\n      \"title\": \"Perkiraan\",\n      \"date\": \"Tanggal\",\n      \"customer\": \"Pelanggan\",\n      \"amount_due\": \"Jumlah yang harus dibayar\",\n      \"actions\": \"Aksi\",\n      \"view_all\": \"Lihat semua\"\n    }\n  },\n  \"tax_types\": {\n    \"name\": \"Nama\",\n    \"description\": \"Deskripsi\",\n    \"percent\": \"Persen\",\n    \"compound_tax\": \"Pajak majemuk\"\n  },\n  \"global_search\": {\n    \"search\": \"Cari...\",\n    \"customers\": \"Pelanggan\",\n    \"users\": \"Pengguna\",\n    \"no_results_found\": \"Hasil Tidak Ditemukan\"\n  },\n  \"company_switcher\": {\n    \"label\": \"Ganti Perusahaan\",\n    \"no_results_found\": \"Hasil Tidak Ditemukan\",\n    \"add_new_company\": \"Tambah perusahaan baru\",\n    \"new_company\": \"Perusahaan baru\",\n    \"created_message\": \"Perusahaan telah berhasil dibuat\"\n  },\n  \"dateRange\": {\n    \"today\": \"Hari Ini\",\n    \"this_week\": \"Minggu Ini\",\n    \"this_month\": \"Bulan Ini\",\n    \"this_quarter\": \"Kuartal Ini\",\n    \"this_year\": \"Tahun Ini\",\n    \"previous_week\": \"Minggu Sebelumnya\",\n    \"previous_month\": \"Bulan Sebelumnya\",\n    \"previous_quarter\": \"Kuartal Sebelumnya\",\n    \"previous_year\": \"Tahun Sebelumnya\",\n    \"custom\": \"Kustom\"\n  },\n  \"customers\": {\n    \"title\": \"Pelanggan\",\n    \"prefix\": \"Awalan\",\n    \"add_customer\": \"Tambah Pelanggan\",\n    \"contacts_list\": \"Daftar Pelanggan\",\n    \"name\": \"Nama\",\n    \"mail\": \"Surel | Surel\",\n    \"statement\": \"Pernyataan\",\n    \"display_name\": \"Nama yang Ditampilkan\",\n    \"primary_contact_name\": \"Nama Kontak Utama\",\n    \"contact_name\": \"Nama Kontak\",\n    \"amount_due\": \"Jumlah yang harus dibayar\",\n    \"email\": \"Email\",\n    \"address\": \"Alamat\",\n    \"phone\": \"Telepon\",\n    \"website\": \"Situs Web\",\n    \"overview\": \"Tinjauan\",\n    \"invoice_prefix\": \"Awalan Pajak\",\n    \"estimate_prefix\": \"Awalan Perkiraan\",\n    \"payment_prefix\": \"Awalan Pembayaran\",\n    \"enable_portal\": \"Mengaktifkan Portal\",\n    \"country\": \"Negara\",\n    \"state\": \"Provinsi\",\n    \"city\": \"Kota\",\n    \"zip_code\": \"Kode Pos\",\n    \"added_on\": \"Ditambahkan Pada\",\n    \"action\": \"Aksi\",\n    \"password\": \"Kata Sandi\",\n    \"confirm_password\": \"Konfirmasi Kata Sandi\",\n    \"street_number\": \"Nomor jalan\",\n    \"primary_currency\": \"Mata Uang Utama\",\n    \"description\": \"Deskripsi\",\n    \"add_new_customer\": \"Tambah Pelanggan Baru\",\n    \"save_customer\": \"Simpan Pelanggan\",\n    \"update_customer\": \"Perbarui Pelanggan\",\n    \"customer\": \"Pelanggan\",\n    \"new_customer\": \"Pelanggan Baru\",\n    \"edit_customer\": \"Ubah Pelanggan\",\n    \"basic_info\": \"Info dasar\",\n    \"portal_access\": \"Akses Portal\",\n    \"portal_access_text\": \"Apakah Anda ingin mengizinkan pelanggan ini untuk masuk ke Portal Pelanggan?\",\n    \"portal_access_url\": \"URL Masuk Portal Pelanggan\",\n    \"portal_access_url_help\": \"Harap salin & teruskan URL yang diberikan di atas kepada pelanggan Anda untuk memberikan akses.\",\n    \"billing_address\": \"Alamat Tagihan\",\n    \"shipping_address\": \"Alamat Pengiriman\",\n    \"copy_billing_address\": \"Menyalin dari Tagihan\",\n    \"no_customers\": \"Belum ada pelanggan!\",\n    \"no_customers_found\": \"Pelanggan tidak ditemukan!\",\n    \"no_contact\": \"Tidak ada kontak\",\n    \"no_contact_name\": \"Tidak ada nama kontak\",\n    \"list_of_customers\": \"Bagian ini akan memuat daftar pelanggan.\",\n    \"primary_display_name\": \"Tampilan nama utama\",\n    \"select_currency\": \"Pilih mata uang\",\n    \"select_a_customer\": \"Pilih pelanggan\",\n    \"type_or_click\": \"Ketik atau klik untuk memilih\",\n    \"new_transaction\": \"Transaksi Baru\",\n    \"no_matching_customers\": \"Pelanggan tidak ditemukan!\",\n    \"phone_number\": \"Nomor Telepon\",\n    \"create_date\": \"Buat Tanggal\",\n    \"confirm_delete\": \"Anda tidak akan dapat mengembalikan pelanggan dan semua tagihan terkait. | Anda tidak akan dapat mengembalikan pelanggan dan semua Tagihan terkait, Penawaran dan Pembayaran.\",\n    \"created_message\": \"Pelanggan berhasil dibuat\",\n    \"updated_message\": \"Pelanggan berhasil diperbarui\",\n    \"address_updated_message\": \"Informasi Alamat Berhasil Diperbarui\",\n    \"deleted_message\": \"Pelanggan berhasil dihapus\",\n    \"edit_currency_not_allowed\": \"Ketika transaksi telah dibuat, mata uang tidak dapat dirubah.\"\n  },\n  \"items\": {\n    \"title\": \"Barang\",\n    \"items_list\": \"Daftar Barang\",\n    \"name\": \"Nama\",\n    \"unit\": \"Satuan\",\n    \"description\": \"Deskripsi\",\n    \"added_on\": \"Ditambahkan Pada\",\n    \"price\": \"Harga\",\n    \"date_of_creation\": \"Tanggal pembuatan\",\n    \"not_selected\": \"Tidak ada barang yang dipilih\",\n    \"action\": \"Aksi\",\n    \"add_item\": \"Tambah Barang\",\n    \"save_item\": \"Simpan Barang\",\n    \"update_item\": \"Perbarui Barang\",\n    \"item\": \"Barang\",\n    \"add_new_item\": \"Tambahkan Item Baru\",\n    \"new_item\": \"Item Baru\",\n    \"edit_item\": \"Sunting Item\",\n    \"no_items\": \"Belum ada item!\",\n    \"list_of_items\": \"Bagian ini akan memuat daftar item.\",\n    \"select_a_unit\": \"pilih unit\",\n    \"taxes\": \"Pajak\",\n    \"item_attached_message\": \"Item yang sudah digunakan tidak dapat dihapus\",\n    \"confirm_delete\": \"Anda tidak dapat mengembalikan item ini | Anda tidak dapat mengembalikan item ini\",\n    \"created_message\": \"Item berhasil dibuat\",\n    \"updated_message\": \"Item berhasil diperbarui\",\n    \"deleted_message\": \"Item berhasil dihapus | Item berhasil dihapus\"\n  },\n  \"estimates\": {\n    \"title\": \"Perkiraan\",\n    \"accept_estimate\": \"Perkiraan\",\n    \"reject_estimate\": \"Tolak Perkiraan\",\n    \"estimate\": \"Estimasi\",\n    \"estimates_list\": \"Daftar Penawaran\",\n    \"days\": \"{days} Hari\",\n    \"months\": \"{months} Bulan\",\n    \"years\": \"{years} Tahun\",\n    \"all\": \"Semuanya\",\n    \"paid\": \"Lunas\",\n    \"unpaid\": \"Belum lunas\",\n    \"customer\": \"PELANGGAN\",\n    \"ref_no\": \"NO. REF.\",\n    \"number\": \"NOMOR\",\n    \"amount_due\": \"Jumlah yang harus dibayar\",\n    \"partially_paid\": \"Pembayaran Sebagian\",\n    \"total\": \"Total\",\n    \"discount\": \"Diskon\",\n    \"sub_total\": \"Sub Total\",\n    \"estimate_number\": \"Nomor Penawaran\",\n    \"ref_number\": \"Nomor Ref\",\n    \"contact\": \"Kontak\",\n    \"add_item\": \"Tambah Barang\",\n    \"date\": \"Tanggal\",\n    \"due_date\": \"Tanggal Jatuh Tempo\",\n    \"expiry_date\": \"Tanggal Kadaluarsa\",\n    \"status\": \"Status\",\n    \"add_tax\": \"Tambah Pajak\",\n    \"amount\": \"Jumlah\",\n    \"action\": \"Aksi\",\n    \"notes\": \"Catatan\",\n    \"tax\": \"Pajak\",\n    \"estimate_template\": \"Template\",\n    \"convert_to_invoice\": \"Ubah menjadi faktur\",\n    \"mark_as_sent\": \"Tandai sebagai Terkirim\",\n    \"send_estimate\": \"Kirim Penawaran\",\n    \"resend_estimate\": \"Kirim Ulang Penawaran\",\n    \"record_payment\": \"Rekam Pembayaran\",\n    \"add_estimate\": \"Tambah Penawaran\",\n    \"save_estimate\": \"Simpan Penawaran\",\n    \"confirm_conversion\": \"Penawaran ini akan dibuat menjadi faktur baru.\",\n    \"conversion_message\": \"Faktur berhasil dibuat\",\n    \"confirm_send_estimate\": \"Penawaran ini akan dikirim ke pelanggam melalui email\",\n    \"confirm_mark_as_sent\": \"Penawaran ini akan ditandai telah dikirim\",\n    \"confirm_mark_as_accepted\": \"Penawaran ini akan ditandai telah diterima\",\n    \"confirm_mark_as_rejected\": \"Penawaran ini akan ditandai telah ditolak\",\n    \"no_matching_estimates\": \"Penawaran tidak ditemukan!\",\n    \"mark_as_sent_successfully\": \"Tandai Faktur berhasil dikirim\",\n    \"send_estimate_successfully\": \"Penawaran berhasil dikirim\",\n    \"errors\": {\n      \"required\": \"Wajib diisi\"\n    },\n    \"accepted\": \"Diterima\",\n    \"rejected\": \"Ditolak\",\n    \"expired\": \"Kadaluarsa\",\n    \"sent\": \"Terkirim\",\n    \"draft\": \"Draf\",\n    \"viewed\": \"Dilihat\",\n    \"declined\": \"Ditolak\",\n    \"new_estimate\": \"Penawaran Baru\",\n    \"add_new_estimate\": \"Tambah Penawaran Baru\",\n    \"update_Estimate\": \"Perbarui Penawaran\",\n    \"edit_estimate\": \"Sunting Penawaran\",\n    \"items\": \"barang\",\n    \"Estimate\": \"Estimasi\",\n    \"add_new_tax\": \"Tambah Pajak Baru\",\n    \"no_estimates\": \"Belum Ada Penawaran!\",\n    \"list_of_estimates\": \"Bagian ini akan memuat daftar penawaran.\",\n    \"mark_as_rejected\": \"Ditandai telah ditolak\",\n    \"mark_as_accepted\": \"Ditandai telah diterima\",\n    \"marked_as_accepted_message\": \"Tandai Penawaran diterima\",\n    \"marked_as_rejected_message\": \"Tandai Penawaran ditolak\",\n    \"confirm_delete\": \"Anda tidak dapat mengembalikan penawaran ini | Anda tidak dapat mengembalikan penawaran ini\",\n    \"created_message\": \"Penawaran berhasil dibuat\",\n    \"updated_message\": \"Penawaran berhasil diperbarui\",\n    \"deleted_message\": \"Penawaran berhasil dihapus | Penawaran berhasil dihapus\",\n    \"something_went_wrong\": \"terjadi kesalahan\",\n    \"item\": {\n      \"title\": \"Judul item\",\n      \"description\": \"Deskripsi\",\n      \"quantity\": \"Kuantitas\",\n      \"price\": \"Harga\",\n      \"discount\": \"Diskon\",\n      \"total\": \"Total\",\n      \"total_discount\": \"Total Diskon\",\n      \"sub_total\": \"Sub Total\",\n      \"tax\": \"Pajak\",\n      \"amount\": \"Jumlah\",\n      \"select_an_item\": \"Ketik atau klik untuk memilih\",\n      \"type_item_description\": \"Ketik Deskripsi Item (opsional)\"\n    },\n    \"mark_as_default_estimate_template_description\": \"Jika diaktifkan, template terpilih akan secara otomatis digunakan saat pembuatan estimate baru.\"\n  },\n  \"invoices\": {\n    \"title\": \"Faktur\",\n    \"download\": \"Unduh\",\n    \"pay_invoice\": \"Bayar tagihan\",\n    \"invoices_list\": \"Daftar Faktur\",\n    \"invoice_information\": \"Informasi tagihan\",\n    \"days\": \"{days} Hari\",\n    \"months\": \"{months} Bulan\",\n    \"years\": \"{years} Tahun\",\n    \"all\": \"Semuanya\",\n    \"paid\": \"Lunas\",\n    \"unpaid\": \"Belum lunas\",\n    \"viewed\": \"Dilihat\",\n    \"overdue\": \"Lewat jatuh tempo\",\n    \"completed\": \"Selesai\",\n    \"customer\": \"PELANGGAN\",\n    \"paid_status\": \"STATUS PEMBAYARAN\",\n    \"ref_no\": \"NO. REF.\",\n    \"number\": \"NOMOR\",\n    \"amount_due\": \"Jumlah yang harus dibayar\",\n    \"partially_paid\": \"Pembayaran Sebagian\",\n    \"total\": \"Total\",\n    \"discount\": \"Diskon\",\n    \"sub_total\": \"Sub Total\",\n    \"invoice\": \"Faktur | Faktur\",\n    \"invoice_number\": \"Nomor Faktur\",\n    \"ref_number\": \"Nomor Ref\",\n    \"contact\": \"Kontak\",\n    \"add_item\": \"Tambah Barang\",\n    \"date\": \"Tanggal\",\n    \"due_date\": \"Tanggal Jatuh Tempo\",\n    \"status\": \"Status\",\n    \"add_tax\": \"Tambah Pajak\",\n    \"amount\": \"Jumlah\",\n    \"action\": \"Aksi\",\n    \"notes\": \"Catatan\",\n    \"view\": \"Tampilan\",\n    \"send_invoice\": \"Kirim Faktur\",\n    \"resend_invoice\": \"Kirim ulang faktur\",\n    \"invoice_template\": \"Template Faktur\",\n    \"conversion_message\": \"Faktur berhasil digandakan\",\n    \"template\": \"Pilih Template\",\n    \"mark_as_sent\": \"Tandai sebagai Terkirim\",\n    \"confirm_send_invoice\": \"Penawaran ini akan dikirim ke pelanggam melalui email\",\n    \"invoice_mark_as_sent\": \"Penawaran ini akan ditandai telah dikirim\",\n    \"confirm_mark_as_accepted\": \"Penawaran ini akan ditandai telah diterima\",\n    \"confirm_mark_as_rejected\": \"Penawaran ini akan ditandai telah ditolak\",\n    \"confirm_send\": \"Faktur ini akan dikirim ke pelanggam melalui email\",\n    \"invoice_date\": \"Tanggal Faktur\",\n    \"record_payment\": \"Rekam Pembayaran\",\n    \"add_new_invoice\": \"Tambah Faktur Baru\",\n    \"update_expense\": \"Memperbarui Biaya\",\n    \"edit_invoice\": \"Sunting Faktur\",\n    \"new_invoice\": \"Faktur Baru\",\n    \"save_invoice\": \"Simpan Faktur\",\n    \"update_invoice\": \"Sunting Faktur\",\n    \"add_new_tax\": \"Tambah Pajak Baru\",\n    \"no_invoices\": \"Belum Ada Faktur!\",\n    \"mark_as_rejected\": \"Ditandai telah ditolak\",\n    \"mark_as_accepted\": \"Ditandai telah diterima\",\n    \"list_of_invoices\": \"Bagian ini akan memuat daftar Faktur.\",\n    \"select_invoice\": \"Pilih Faktur\",\n    \"no_matching_invoices\": \"Faktur tidak ditemukan!\",\n    \"mark_as_sent_successfully\": \"Tandai Faktur berhasil dikirim\",\n    \"invoice_sent_successfully\": \"Faktur berhasil dikirim\",\n    \"cloned_successfully\": \"Faktur berhasil digandakan\",\n    \"clone_invoice\": \"Gandakan Faktur\",\n    \"confirm_clone\": \"Faktur ini akan dikloning menjadi Faktur Faktur baru\",\n    \"item\": {\n      \"title\": \"Judul item\",\n      \"description\": \"Deskripsi\",\n      \"quantity\": \"Kuantitas\",\n      \"price\": \"Harga\",\n      \"discount\": \"Diskon\",\n      \"total\": \"Total\",\n      \"total_discount\": \"Total Diskon\",\n      \"sub_total\": \"Sub Total\",\n      \"tax\": \"Pajak\",\n      \"amount\": \"Jumlah\",\n      \"select_an_item\": \"Ketik atau klik untuk memilih\",\n      \"type_item_description\": \"Ketik Deskripsi Item (opsional)\"\n    },\n    \"payment_attached_message\": \"Salah satu faktur yang dipilih sudah memiliki pembayaran yang menyertainya. Pastikan untuk menghapus pembayaran terlampir terlebih dahulu untuk melanjutkan penghapusan\",\n    \"confirm_delete\": \"Anda tidak akan dapat memulihkan Faktur ini | Anda tidak akan dapat memulihkan Faktur ini\",\n    \"created_message\": \"Faktur berhasil dibuat\",\n    \"updated_message\": \"Faktur berhasil diperbarui\",\n    \"deleted_message\": \"Faktur berhasil dihapus | Faktur berhasil dihapus\",\n    \"marked_as_sent_message\": \"Tandai Faktur sudah dikirim\",\n    \"something_went_wrong\": \"terjadi kesalahan\",\n    \"invalid_due_amount_message\": \"Jumlah Total Faktur tidak boleh kurang dari jumlah total yang dibayarkan untuk Faktur ini. Harap perbarui faktur atau hapus pembayaran terkait untuk melanjutkan.\",\n    \"mark_as_default_invoice_template_description\": \"Jika diaktifkan, template terpilih akan secara otomatis digunakan saat pembuatan estimate baru.\"\n  },\n  \"recurring_invoices\": {\n    \"title\": \"Tagihan-Tagihan Berulang\",\n    \"invoices_list\": \"Daftar Faktur Berulang\",\n    \"days\": \"{days} Hari\",\n    \"months\": \"{months} Bulan\",\n    \"years\": \"{years} Tahun\",\n    \"all\": \"Semuanya\",\n    \"paid\": \"Lunas\",\n    \"unpaid\": \"Belum lunas\",\n    \"viewed\": \"Dilihat\",\n    \"overdue\": \"Lewat jatuh tempo\",\n    \"active\": \"Aktif\",\n    \"completed\": \"Selesai\",\n    \"customer\": \"PELANGGAN\",\n    \"paid_status\": \"STATUS PEMBAYARAN\",\n    \"ref_no\": \"NO. REF.\",\n    \"number\": \"NOMOR\",\n    \"amount_due\": \"Jumlah yang harus dibayar\",\n    \"partially_paid\": \"Angsuran\",\n    \"total\": \"Total\",\n    \"discount\": \"Diskon\",\n    \"sub_total\": \"Sub Total\",\n    \"invoice\": \"Faktur Berulang | Faktur Berulang\",\n    \"invoice_number\": \"Nomor Faktur Berulang\",\n    \"next_invoice_date\": \"Tanggal Faktur Berikutnya\",\n    \"ref_number\": \"Nomor Referensi\",\n    \"contact\": \"Kontak\",\n    \"add_item\": \"Tambah Barang\",\n    \"date\": \"Tanggal\",\n    \"limit_by\": \"Batasi oleh\",\n    \"limit_date\": \"Batas Tanggal\",\n    \"limit_count\": \"Batas Jumlah\",\n    \"count\": \"Hitung\",\n    \"status\": \"Status\",\n    \"select_a_status\": \"Pilih status\",\n    \"working\": \"Sedang mengerjakan\",\n    \"on_hold\": \"Ditangguhkan\",\n    \"complete\": \"Selesai\",\n    \"add_tax\": \"Tambah Pajak\",\n    \"amount\": \"Jumlah\",\n    \"action\": \"Aksi\",\n    \"notes\": \"Catatan\",\n    \"view\": \"Tampilan\",\n    \"basic_info\": \"Informasi dasar\",\n    \"send_invoice\": \"Kirim Ulang Faktur Berulang\",\n    \"auto_send\": \"Kirim Otomatis\",\n    \"resend_invoice\": \"Kirim Ulang Faktur Berulang\",\n    \"invoice_template\": \"Nomor Faktur Berulang\",\n    \"conversion_message\": \"Faktur Berulang berhasil dikloning\",\n    \"template\": \"Template\",\n    \"mark_as_sent\": \"Tandai sebagai terkirim\",\n    \"confirm_send_invoice\": \"Faktur berulang ini akan dikirim melalui email ke pelanggan\",\n    \"invoice_mark_as_sent\": \"Faktur berulang ini akan ditandai sebagai terkirim\",\n    \"confirm_send\": \"Faktur berulang ini akan dikirim melalui email ke pelanggan\",\n    \"starts_at\": \"Tanggal Mulai\",\n    \"due_date\": \"Tanggal Jatuh Tempo Faktur\",\n    \"record_payment\": \"Rekam Pembayaran\",\n    \"add_new_invoice\": \"Tambahkan Faktur Berulang Baru\",\n    \"update_expense\": \"Perbarui Biaya\",\n    \"edit_invoice\": \"Edit Recurring Invoice\",\n    \"new_invoice\": \"New Recurring Invoice\",\n    \"send_automatically\": \"Send Automatically\",\n    \"send_automatically_desc\": \"Enable this, if you would like to send the invoice automatically to the customer when its created.\",\n    \"save_invoice\": \"Save Recurring Invoice\",\n    \"update_invoice\": \"Perbarui Faktur Berulang\",\n    \"add_new_tax\": \"Tambah Pajak Baru\",\n    \"no_invoices\": \"Belum ada Faktur Berulang!\",\n    \"mark_as_rejected\": \"Ditandai telah ditolak\",\n    \"mark_as_accepted\": \"Ditandai telah diterima\",\n    \"list_of_invoices\": \"Bagian ini akan memuat daftar Faktur Berulang.\",\n    \"select_invoice\": \"Pilih Faktur\",\n    \"no_matching_invoices\": \"Faktur Berulang tidak ditemukan!\",\n    \"mark_as_sent_successfully\": \"Tandai Faktur Berulang sebagai berhasil dikirim\",\n    \"invoice_sent_successfully\": \"Faktur Berulang berhasil dikirim\",\n    \"cloned_successfully\": \"Faktur Berulang berhasil digandakan\",\n    \"clone_invoice\": \"Gandakan Faktur Berulang\",\n    \"confirm_clone\": \"Faktur Berulang ini akan digandakan menjadi Faktur Berulang yang baru\",\n    \"add_customer_email\": \"Tambahkan alamat email pelanggan untuk mengirimkan tagihan secara otomatis.\",\n    \"item\": {\n      \"title\": \"Judul item\",\n      \"description\": \"Deskripsi\",\n      \"quantity\": \"Kuantitas\",\n      \"price\": \"Harga\",\n      \"discount\": \"Diskon\",\n      \"total\": \"Total\",\n      \"total_discount\": \"Total Diskon\",\n      \"sub_total\": \"Sub Total\",\n      \"tax\": \"Pajak\",\n      \"amount\": \"Jumlah\",\n      \"select_an_item\": \"Ketik atau klik untuk memilih item\",\n      \"type_item_description\": \"Deskripsi permintaan (opsional)\"\n    },\n    \"frequency\": {\n      \"title\": \"Frekuensi\",\n      \"select_frequency\": \"Pilih Frekuensi\",\n      \"minute\": \"Menit\",\n      \"hour\": \"Jam\",\n      \"day_month\": \"Hari dalam bulan\",\n      \"month\": \"Bulan\",\n      \"day_week\": \"Hari dalam minggu\"\n    },\n    \"confirm_delete\": \"Anda tidak akan dapat memulihkan Faktur ini | Anda tidak akan dapat memulihkan Faktur ini\",\n    \"created_message\": \"Faktur Berulang berhasil dibuat\",\n    \"updated_message\": \"Faktur Berulang berhasil diperbaharui\",\n    \"deleted_message\": \"Faktur Berulang berhasil dihapus | Faktur Berulang berhasil dihapus\",\n    \"marked_as_sent_message\": \"Tandai Faktur Berulang sudah dikirim\",\n    \"user_email_does_not_exist\": \"Email pengguna tidak ada\",\n    \"something_went_wrong\": \"terjadi kesalahan\",\n    \"invalid_due_amount_message\": \"Jumlah Total Faktur Berulang tidak boleh kurang dari jumlah total yang dibayarkan untuk Faktur Berulang ini. Harap perbarui faktur atau hapus pembayaran terkait untuk melanjutkan.\"\n  },\n  \"payments\": {\n    \"title\": \"Pembayaran\",\n    \"payments_list\": \"Daftar Pembayaran\",\n    \"record_payment\": \"Rekam Pembayaran\",\n    \"customer\": \"Pelanggan\",\n    \"date\": \"Tanggal\",\n    \"amount\": \"Jumlah\",\n    \"action\": \"Aksi\",\n    \"payment_number\": \"Nomor Pembayaran\",\n    \"payment_mode\": \"Mode Pembayaran\",\n    \"invoice\": \"Faktur\",\n    \"note\": \"Catatan\",\n    \"add_payment\": \"Tambah Pembayaran\",\n    \"new_payment\": \"Pembayaran Baru\",\n    \"edit_payment\": \"Edit Pembayaran\",\n    \"view_payment\": \"Lihat Pembayaran\",\n    \"add_new_payment\": \"Tambahkan Pembayaran Baru\",\n    \"send_payment_receipt\": \"Kirim Tanda Terima Pembayaran\",\n    \"send_payment\": \"Kirim Pembayaran\",\n    \"save_payment\": \"Simpan Pembayaran\",\n    \"update_payment\": \"Perbaharui Pembayaran\",\n    \"payment\": \"Pembayaran\",\n    \"no_payments\": \"Belum ada pembayaran!\",\n    \"not_selected\": \"Tidak dipilih\",\n    \"no_invoice\": \"Tidak ada faktur\",\n    \"no_matching_payments\": \"Tidak ada pembayaran yang cocok!\",\n    \"list_of_payments\": \"Bagian ini akan berisi daftar pembayaran.\",\n    \"select_payment_mode\": \"Pilih mode pembayaran\",\n    \"confirm_mark_as_sent\": \"Penawaran ini akan ditandai telah dikirim\",\n    \"confirm_send_payment\": \"Pembayaran ini akan dikirim melalui email ke pelanggan\",\n    \"send_payment_successfully\": \"Pembayaran berhasil dikirim\",\n    \"something_went_wrong\": \"terjadi kesalahan\",\n    \"confirm_delete\": \"Anda tidak akan dapat memulihkan Pembayaran ini | Anda tidak akan dapat memulihkan Pembayaran ini\",\n    \"created_message\": \"Pembayaran berhasil dibuat\",\n    \"updated_message\": \"Pembayaran berhasil diperbaharui\",\n    \"deleted_message\": \"Pembayaran berhasil dihapus | Pembayaran berhasil dihapus\",\n    \"invalid_amount_message\": \"Jumlah pembayaran tidak valid\"\n  },\n  \"expenses\": {\n    \"title\": \"Pengeluaran\",\n    \"expenses_list\": \"Daftar Pengeluaran\",\n    \"select_a_customer\": \"Pilih pelanggan\",\n    \"expense_title\": \"Judul\",\n    \"customer\": \"Pelanggan\",\n    \"currency\": \"Mata Uang\",\n    \"contact\": \"Kontak\",\n    \"category\": \"Kategori\",\n    \"from_date\": \"Dari Tanggal\",\n    \"to_date\": \"Sampai Tanggal\",\n    \"expense_date\": \"Tanggal\",\n    \"description\": \"Deskripsi\",\n    \"receipt\": \"Tanda Terima\",\n    \"amount\": \"Jumlah\",\n    \"action\": \"Aksi\",\n    \"not_selected\": \"Tidak dipilih\",\n    \"note\": \"Catatan\",\n    \"category_id\": \"Id kategori\",\n    \"date\": \"Tanggal\",\n    \"add_expense\": \"Tambahkan pengeluaran\",\n    \"add_new_expense\": \"Tambah Pengeluaran Baru\",\n    \"save_expense\": \"Simpan Pengeluaran\",\n    \"update_expense\": \"Edit Pengeluaran\",\n    \"download_receipt\": \"Unduh Tanda Terima\",\n    \"edit_expense\": \"Edit Pengeluaran\",\n    \"new_expense\": \"Pengeluaran Baru\",\n    \"expense\": \"Biaya | Pengeluaran\",\n    \"no_expenses\": \"Belum ada pengeluaran!\",\n    \"list_of_expenses\": \"Bagian ini akan berisi daftar pengeluaran.\",\n    \"confirm_delete\": \"Anda tidak akan dapat memulihkan Pengeluaran ini | Anda tidak akan dapat memulihkan Pengeluaran ini\",\n    \"created_message\": \"Pengeluaran berhasil dibuat\",\n    \"updated_message\": \"Pengeluaran berhasil diperbaharui\",\n    \"deleted_message\": \"Pengeluaran berhasil dihapus | Pengeluaran berhasil dihapus\",\n    \"categories\": {\n      \"categories_list\": \"Daftar Kategori\",\n      \"title\": \"Title\",\n      \"name\": \"Name\",\n      \"description\": \"Description\",\n      \"amount\": \"Amount\",\n      \"actions\": \"Actions\",\n      \"add_category\": \"Add Category\",\n      \"new_category\": \"New Category\",\n      \"category\": \"Category | Categories\",\n      \"select_a_category\": \"Select a category\"\n    }\n  },\n  \"login\": {\n    \"email\": \"Email\",\n    \"password\": \"Password\",\n    \"forgot_password\": \"Forgot Password?\",\n    \"or_signIn_with\": \"or Sign in with\",\n    \"login\": \"Masuk\",\n    \"register\": \"Daftar\",\n    \"reset_password\": \"Atur Ulang Kata Sandi\",\n    \"password_reset_successfully\": \"Password Reset Successfully\",\n    \"enter_email\": \"Masukkan email\",\n    \"enter_password\": \"Masukkan Kata Sandi\",\n    \"retype_password\": \"Retype Password\"\n  },\n  \"modules\": {\n    \"buy_now\": \"Buy Now\",\n    \"install\": \"Install\",\n    \"price\": \"Price\",\n    \"download_zip_file\": \"Download ZIP file\",\n    \"unzipping_package\": \"Unzipping Package\",\n    \"copying_files\": \"Copying Files\",\n    \"deleting_files\": \"Deleting Unused files\",\n    \"completing_installation\": \"Completing Installation\",\n    \"update_failed\": \"Update Failed\",\n    \"install_success\": \"Module has been installed successfully!\",\n    \"customer_reviews\": \"Reviews\",\n    \"license\": \"License\",\n    \"faq\": \"FAQ\",\n    \"monthly\": \"Monthly\",\n    \"yearly\": \"Yearly\",\n    \"updated\": \"Updated\",\n    \"version\": \"Version\",\n    \"disable\": \"Disable\",\n    \"module_disabled\": \"Module Disabled\",\n    \"enable\": \"Enable\",\n    \"module_enabled\": \"Module Enabled\",\n    \"update_to\": \"Update To\",\n    \"module_updated\": \"Module Updated Successfully!\",\n    \"title\": \"Modules\",\n    \"module\": \"Module | Modules\",\n    \"api_token\": \"API token\",\n    \"invalid_api_token\": \"Invalid API Token.\",\n    \"other_modules\": \"Other Modules\",\n    \"view_all\": \"View All\",\n    \"no_reviews_found\": \"There are no reviews for this module yet!\",\n    \"module_not_purchased\": \"Module Not Purchased\",\n    \"module_not_found\": \"Module Not Found\",\n    \"version_not_supported\": \"This module version doesn't support the current version of Crater\",\n    \"last_updated\": \"Last Updated On\",\n    \"connect_installation\": \"Connect your installation\",\n    \"api_token_description\": \"Login to {url} and connect this installation by entering the API Token. Your purchased modules will show up here after the connection is established.\",\n    \"view_module\": \"Lihat Module\",\n    \"update_available\": \"Pembaruan Tersedia\",\n    \"purchased\": \"Pembelian\",\n    \"installed\": \"Terinstal\",\n    \"no_modules_installed\": \"Belum Ada Modul yang Terpasang!\",\n    \"disable_warning\": \"Semua pengaturan untuk saat ini akan dikembalikan.\",\n    \"what_you_get\": \"Apa yang bisa Anda dapatkan\"\n  },\n  \"users\": {\n    \"title\": \"Pengguna\",\n    \"users_list\": \"Daftar Pengguna\",\n    \"name\": \"Nama\",\n    \"description\": \"Deskripsi\",\n    \"added_on\": \"Ditambahkan Pada\",\n    \"date_of_creation\": \"Tanggal pembuatan\",\n    \"action\": \"Aksi\",\n    \"add_user\": \"Tambah Pengguna\",\n    \"save_user\": \"Simpan Pengguna\",\n    \"update_user\": \"Edit Pengguna\",\n    \"user\": \"Pengguna | Pengguna\",\n    \"add_new_user\": \"Tambahkan pengguna baru\",\n    \"new_user\": \"Pengguna baru\",\n    \"edit_user\": \"Edit Pengguna\",\n    \"no_users\": \"Belum ada pengguna!\",\n    \"list_of_users\": \"Bagian ini akan berisi daftar pengguna.\",\n    \"email\": \"Email\",\n    \"phone\": \"Telepon\",\n    \"password\": \"Kata Sandi\",\n    \"user_attached_message\": \"Tidak dapat menghapus item yang sudah digunakan\",\n    \"confirm_delete\": \"Anda tidak akan dapat memulihkan Pengguna ini | Anda tidak akan dapat memulihkan Pengguna ini\",\n    \"created_message\": \"Pengguna berhasil dibuat\",\n    \"updated_message\": \"Pengguna berhasil diedit\",\n    \"deleted_message\": \"Pengguna berhasil dihapus | Pengguna berhasil dihapus\",\n    \"select_company_role\": \"Pilih Peran untuk {company}\",\n    \"companies\": \"Perusahaan\"\n  },\n  \"reports\": {\n    \"title\": \"Laporan\",\n    \"from_date\": \"Dari tanggal\",\n    \"to_date\": \"Sampai tanggal\",\n    \"status\": \"Status\",\n    \"paid\": \"Lunas\",\n    \"unpaid\": \"Belum dibayar\",\n    \"download_pdf\": \"Download PDF\",\n    \"view_pdf\": \"Lihat PDF\",\n    \"update_report\": \"Update Laporan\",\n    \"report\": \"Laporan | Laporan\",\n    \"profit_loss\": {\n      \"profit_loss\": \"Laba rugi\",\n      \"to_date\": \"Sampai tanggal\",\n      \"from_date\": \"Dari tanggal\",\n      \"date_range\": \"Pilih Rentang Tanggal\"\n    },\n    \"sales\": {\n      \"sales\": \"Penjualan\",\n      \"date_range\": \"Pilih Rentang Tanggal\",\n      \"to_date\": \"Sampai tanggal\",\n      \"from_date\": \"Dari tanggal\",\n      \"report_type\": \"Jenis laporan\"\n    },\n    \"taxes\": {\n      \"taxes\": \"Taxes\",\n      \"to_date\": \"To Date\",\n      \"from_date\": \"From Date\",\n      \"date_range\": \"Select Date Range\"\n    },\n    \"errors\": {\n      \"required\": \"Field is required\"\n    },\n    \"invoices\": {\n      \"invoice\": \"Invoice\",\n      \"invoice_date\": \"Invoice Date\",\n      \"due_date\": \"Due Date\",\n      \"amount\": \"Amount\",\n      \"contact_name\": \"Contact Name\",\n      \"status\": \"Status\"\n    },\n    \"estimates\": {\n      \"estimate\": \"Estimate\",\n      \"estimate_date\": \"Estimate Date\",\n      \"due_date\": \"Due Date\",\n      \"estimate_number\": \"Estimate Number\",\n      \"ref_number\": \"Ref Number\",\n      \"amount\": \"Amount\",\n      \"contact_name\": \"Contact Name\",\n      \"status\": \"Status\"\n    },\n    \"expenses\": {\n      \"expenses\": \"Expenses\",\n      \"category\": \"Category\",\n      \"date\": \"Date\",\n      \"amount\": \"Amount\",\n      \"to_date\": \"To Date\",\n      \"from_date\": \"From Date\",\n      \"date_range\": \"Select Date Range\"\n    }\n  },\n  \"settings\": {\n    \"menu_title\": {\n      \"account_settings\": \"Account Settings\",\n      \"company_information\": \"Company Information\",\n      \"customization\": \"Customization\",\n      \"preferences\": \"Preferences\",\n      \"notifications\": \"Notifications\",\n      \"tax_types\": \"Tax Types\",\n      \"expense_category\": \"Expense Categories\",\n      \"update_app\": \"Update App\",\n      \"backup\": \"Backup\",\n      \"file_disk\": \"File Disk\",\n      \"custom_fields\": \"Custom Fields\",\n      \"payment_modes\": \"Payment Modes\",\n      \"notes\": \"Notes\",\n      \"exchange_rate\": \"Exchange Rate\",\n      \"address_information\": \"Address Information\"\n    },\n    \"address_information\": {\n      \"section_description\": \"  You can update Your Address information using form below.\"\n    },\n    \"title\": \"Settings\",\n    \"setting\": \"Settings | Settings\",\n    \"general\": \"General\",\n    \"language\": \"Language\",\n    \"primary_currency\": \"Primary Currency\",\n    \"timezone\": \"Time Zone\",\n    \"date_format\": \"Date Format\",\n    \"currencies\": {\n      \"title\": \"Currencies\",\n      \"currency\": \"Currency | Currencies\",\n      \"currencies_list\": \"Currencies List\",\n      \"select_currency\": \"Select Currency\",\n      \"name\": \"Name\",\n      \"code\": \"Code\",\n      \"symbol\": \"Symbol\",\n      \"precision\": \"Precision\",\n      \"thousand_separator\": \"Thousand Separator\",\n      \"decimal_separator\": \"Decimal Separator\",\n      \"position\": \"Position\",\n      \"position_of_symbol\": \"Position Of Symbol\",\n      \"right\": \"Right\",\n      \"left\": \"Left\",\n      \"action\": \"Action\",\n      \"add_currency\": \"Add Currency\"\n    },\n    \"mail\": {\n      \"host\": \"Mail Host\",\n      \"port\": \"Mail Port\",\n      \"driver\": \"Mail Driver\",\n      \"secret\": \"Secret\",\n      \"mailgun_secret\": \"Mailgun Secret\",\n      \"mailgun_domain\": \"Domain\",\n      \"mailgun_endpoint\": \"Mailgun Endpoint\",\n      \"ses_secret\": \"SES Secret\",\n      \"ses_key\": \"SES Key\",\n      \"password\": \"Mail Password\",\n      \"username\": \"Mail Username\",\n      \"mail_config\": \"Mail Configuration\",\n      \"from_name\": \"From Mail Name\",\n      \"from_mail\": \"From Mail Address\",\n      \"encryption\": \"Mail Encryption\",\n      \"mail_config_desc\": \"Below is the form for Configuring Email driver for sending emails from the app. You can also configure third party providers like Sendgrid, SES etc.\"\n    },\n    \"pdf\": {\n      \"title\": \"PDF Setting\",\n      \"footer_text\": \"Footer Text\",\n      \"pdf_layout\": \"PDF Layout\"\n    },\n    \"company_info\": {\n      \"company_info\": \"Company info\",\n      \"company_name\": \"Company Name\",\n      \"company_logo\": \"Company Logo\",\n      \"section_description\": \"Information about your company that will be displayed on invoices, estimates and other documents created by Crater.\",\n      \"phone\": \"Phone\",\n      \"country\": \"Country\",\n      \"state\": \"State\",\n      \"city\": \"City\",\n      \"address\": \"Address\",\n      \"zip\": \"Zip\",\n      \"save\": \"Save\",\n      \"delete\": \"Delete\",\n      \"updated_message\": \"Company information updated successfully\",\n      \"delete_company\": \"Delete Company\",\n      \"delete_company_description\": \"Once you delete your company, you will lose all the data and files associated with it permanently.\",\n      \"are_you_absolutely_sure\": \"Are you absolutely sure?\",\n      \"delete_company_modal_desc\": \"This action cannot be undone. This will permanently delete {company} and all of its associated data.\",\n      \"delete_company_modal_label\": \"Please type {company} to confirm\"\n    },\n    \"custom_fields\": {\n      \"title\": \"Custom Fields\",\n      \"section_description\": \"Customize your Invoices, Estimates & Payment Receipts with your own fields. Make sure to use the below added fields on the address formats on Customization settings page.\",\n      \"add_custom_field\": \"Add Custom Field\",\n      \"edit_custom_field\": \"Edit Custom Field\",\n      \"field_name\": \"Field Name\",\n      \"label\": \"Label\",\n      \"type\": \"Type\",\n      \"name\": \"Name\",\n      \"slug\": \"Slug\",\n      \"required\": \"Required\",\n      \"placeholder\": \"Placeholder\",\n      \"help_text\": \"Help Text\",\n      \"default_value\": \"Default Value\",\n      \"prefix\": \"Prefix\",\n      \"starting_number\": \"Starting Number\",\n      \"model\": \"Model\",\n      \"help_text_description\": \"Enter some text to help users understand the purpose of this custom field.\",\n      \"suffix\": \"Suffix\",\n      \"yes\": \"Yes\",\n      \"no\": \"No\",\n      \"order\": \"Order\",\n      \"custom_field_confirm_delete\": \"You will not be able to recover this Custom Field\",\n      \"already_in_use\": \"Custom Field is already in use\",\n      \"deleted_message\": \"Custom Field deleted successfully\",\n      \"options\": \"options\",\n      \"add_option\": \"Add Options\",\n      \"add_another_option\": \"Add another option\",\n      \"sort_in_alphabetical_order\": \"Sort in Alphabetical Order\",\n      \"add_options_in_bulk\": \"Add options in bulk\",\n      \"use_predefined_options\": \"Use Predefined Options\",\n      \"select_custom_date\": \"Select Custom Date\",\n      \"select_relative_date\": \"Select Relative Date\",\n      \"ticked_by_default\": \"Ticked by default\",\n      \"updated_message\": \"Custom Field updated successfully\",\n      \"added_message\": \"Custom Field added successfully\",\n      \"press_enter_to_add\": \"Press enter to add new option\",\n      \"model_in_use\": \"Cannot update model for fields which are already in use.\",\n      \"type_in_use\": \"Cannot update type for fields which are already in use.\"\n    },\n    \"customization\": {\n      \"customization\": \"customization\",\n      \"updated_message\": \"Company information updated successfully\",\n      \"save\": \"Save\",\n      \"insert_fields\": \"Insert Fields\",\n      \"learn_custom_format\": \"Learn how to use custom format\",\n      \"add_new_component\": \"Add New Component\",\n      \"component\": \"Component\",\n      \"Parameter\": \"Parameter\",\n      \"series\": \"Series\",\n      \"series_description\": \"To set a static prefix/postfix like 'INV' across your company. It supports character length of up to 6 chars.\",\n      \"series_param_label\": \"Series Value\",\n      \"delimiter\": \"Delimiter\",\n      \"delimiter_description\": \"Single character for specifying the boundary between 2 separate components. By default its set to -\",\n      \"delimiter_param_label\": \"Delimiter Value\",\n      \"date_format\": \"Date Format\",\n      \"date_format_description\": \"A local date and time field which accepts a format parameter. The default format: 'Y' renders the current year.\",\n      \"date_format_param_label\": \"Format\",\n      \"sequence\": \"Sequence\",\n      \"sequence_description\": \"Consecutive sequence of numbers across your company. You can specify the length on the given parameter.\",\n      \"sequence_param_label\": \"Sequence Length\",\n      \"customer_series\": \"Customer Series\",\n      \"customer_series_description\": \"To set a different prefix/postfix for each customer.\",\n      \"customer_sequence\": \"Customer Sequence\",\n      \"customer_sequence_description\": \"Consecutive sequence of numbers for each of your customer.\",\n      \"customer_sequence_param_label\": \"Sequence Length\",\n      \"random_sequence\": \"Random Sequence\",\n      \"random_sequence_description\": \"Random alphanumeric string. You can specify the length on the given parameter.\",\n      \"random_sequence_param_label\": \"Sequence Length\",\n      \"invoices\": {\n        \"title\": \"Invoices\",\n        \"invoice_number_format\": \"Invoice Number Format\",\n        \"invoice_number_format_description\": \"Customize how your invoice number gets generated automatically when you create a new invoice.\",\n        \"preview_invoice_number\": \"Preview Invoice Number\",\n        \"due_date\": \"Due Date\",\n        \"due_date_description\": \"Specify how due date is automatically set when you create an invoice.\",\n        \"due_date_days\": \"Invoice Due after days\",\n        \"set_due_date_automatically\": \"Set Due Date Automatically\",\n        \"set_due_date_automatically_description\": \"Enable this if you wish to set due date automatically when you create a new invoice.\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on invoice creation.\",\n        \"default_invoice_email_body\": \"Default Invoice Email Body\",\n        \"company_address_format\": \"Company Address Format\",\n        \"shipping_address_format\": \"Shipping Address Format\",\n        \"billing_address_format\": \"Billing Address Format\",\n        \"invoice_email_attachment\": \"Send invoices as attachments\",\n        \"invoice_email_attachment_setting_description\": \"Enable this if you want to send invoices as email attachment. Please note that 'View Invoice' button in emails will not be displayed anymore when enabled.\",\n        \"invoice_settings_updated\": \"Invoice Settings updated successfully\",\n        \"retrospective_edits\": \"Retrospective Edits\",\n        \"allow\": \"Allow\",\n        \"disable_on_invoice_partial_paid\": \"Disable after partial payment is recorded\",\n        \"disable_on_invoice_paid\": \"Disable after full payment is recorded\",\n        \"disable_on_invoice_sent\": \"Disable after invoice is sent\",\n        \"retrospective_edits_description\": \" Based on your country's laws or your preference, you can restrict users from editing finalised invoices.\"\n      },\n      \"estimates\": {\n        \"title\": \"Estimates\",\n        \"estimate_number_format\": \"Estimate Number Format\",\n        \"estimate_number_format_description\": \"Customize how your estimate number gets generated automatically when you create a new estimate.\",\n        \"preview_estimate_number\": \"Preview Estimate Number\",\n        \"expiry_date\": \"Expiry Date\",\n        \"expiry_date_description\": \"Specify how expiry date is automatically set when you create an estimate.\",\n        \"expiry_date_days\": \"Estimate Expires after days\",\n        \"set_expiry_date_automatically\": \"Set Expiry Date Automatically\",\n        \"set_expiry_date_automatically_description\": \"Enable this if you wish to set expiry date automatically when you create a new estimate.\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on estimate creation.\",\n        \"default_estimate_email_body\": \"Default Estimate Email Body\",\n        \"company_address_format\": \"Company Address Format\",\n        \"shipping_address_format\": \"Shipping Address Format\",\n        \"billing_address_format\": \"Billing Address Format\",\n        \"estimate_email_attachment\": \"Send estimates as attachments\",\n        \"estimate_email_attachment_setting_description\": \"Enable this if you want to send the estimates as an email attachment. Please note that 'View Estimate' button in emails will not be displayed anymore when enabled.\",\n        \"estimate_settings_updated\": \"Estimate Settings updated successfully\",\n        \"convert_estimate_options\": \"Estimate Convert Action\",\n        \"convert_estimate_description\": \"Specify what happens to the estimate after it gets converted to an invoice.\",\n        \"no_action\": \"No action\",\n        \"delete_estimate\": \"Delete estimate\",\n        \"mark_estimate_as_accepted\": \"Mark estimate as accepted\"\n      },\n      \"payments\": {\n        \"title\": \"Payments\",\n        \"payment_number_format\": \"Payment Number Format\",\n        \"payment_number_format_description\": \"Customize how your payment number gets generated automatically when you create a new payment.\",\n        \"preview_payment_number\": \"Preview Payment Number\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on payment creation.\",\n        \"default_payment_email_body\": \"Default Payment Email Body\",\n        \"company_address_format\": \"Company Address Format\",\n        \"from_customer_address_format\": \"From Customer Address Format\",\n        \"payment_email_attachment\": \"Send payments as attachments\",\n        \"payment_email_attachment_setting_description\": \"Enable this if you want to send the payment receipts as an email attachment. Please note that 'View Payment' button in emails will not be displayed anymore when enabled.\",\n        \"payment_settings_updated\": \"Payment Settings updated successfully\"\n      },\n      \"items\": {\n        \"title\": \"Items\",\n        \"units\": \"Units\",\n        \"add_item_unit\": \"Add Item Unit\",\n        \"edit_item_unit\": \"Edit Item Unit\",\n        \"unit_name\": \"Unit Name\",\n        \"item_unit_added\": \"Item Unit Added\",\n        \"item_unit_updated\": \"Item Unit Updated\",\n        \"item_unit_confirm_delete\": \"You will not be able to recover this Item unit\",\n        \"already_in_use\": \"Item Unit is already in use\",\n        \"deleted_message\": \"Item Unit deleted successfully\"\n      },\n      \"notes\": {\n        \"title\": \"Notes\",\n        \"description\": \"Save time by creating notes and reusing them on your invoices, estimates & payments.\",\n        \"notes\": \"Notes\",\n        \"type\": \"Type\",\n        \"add_note\": \"Add Note\",\n        \"add_new_note\": \"Add New Note\",\n        \"name\": \"Name\",\n        \"edit_note\": \"Edit Note\",\n        \"note_added\": \"Note added successfully\",\n        \"note_updated\": \"Note Updated successfully\",\n        \"note_confirm_delete\": \"You will not be able to recover this Note\",\n        \"already_in_use\": \"Note is already in use\",\n        \"deleted_message\": \"Note deleted successfully\"\n      }\n    },\n    \"account_settings\": {\n      \"profile_picture\": \"Profile Picture\",\n      \"name\": \"Name\",\n      \"email\": \"Email\",\n      \"password\": \"Password\",\n      \"confirm_password\": \"Confirm Password\",\n      \"account_settings\": \"Account Settings\",\n      \"save\": \"Save\",\n      \"section_description\": \"You can update your name, email & password using the form below.\",\n      \"updated_message\": \"Account Settings updated successfully\"\n    },\n    \"user_profile\": {\n      \"name\": \"Name\",\n      \"email\": \"Email\",\n      \"password\": \"Password\",\n      \"confirm_password\": \"Confirm Password\"\n    },\n    \"notification\": {\n      \"title\": \"Notifications\",\n      \"email\": \"Send Notifications to\",\n      \"description\": \"Which email notifications would you like to receive when something changes?\",\n      \"invoice_viewed\": \"Invoice viewed\",\n      \"invoice_viewed_desc\": \"When your customer views the invoice sent via crater dashboard.\",\n      \"estimate_viewed\": \"Estimate viewed\",\n      \"estimate_viewed_desc\": \"When your customer views the estimate sent via crater dashboard.\",\n      \"save\": \"Save\",\n      \"email_save_message\": \"Email saved successfully\",\n      \"please_enter_email\": \"Please Enter Email\"\n    },\n    \"roles\": {\n      \"title\": \"Roles\",\n      \"description\": \"Manage the roles & permissions of this company\",\n      \"save\": \"Save\",\n      \"add_new_role\": \"Add New Role\",\n      \"role_name\": \"Role Name\",\n      \"added_on\": \"Added on\",\n      \"add_role\": \"Add Role\",\n      \"edit_role\": \"Edit Role\",\n      \"name\": \"Name\",\n      \"permission\": \"Permission | Permissions\",\n      \"select_all\": \"Select All\",\n      \"none\": \"None\",\n      \"confirm_delete\": \"You will not be able to recover this Role\",\n      \"created_message\": \"Role created successfully\",\n      \"updated_message\": \"Role updated successfully\",\n      \"deleted_message\": \"Role deleted successfully\",\n      \"already_in_use\": \"Role is already in use\"\n    },\n    \"exchange_rate\": {\n      \"exchange_rate\": \"Exchange Rate\",\n      \"title\": \"Fix Currency Exchange issues\",\n      \"description\": \"Please enter exchange rate of all the currencies mentioned below to help Crater properly calculate the amounts in {currency}.\",\n      \"drivers\": \"Drivers\",\n      \"new_driver\": \"Add New Provider\",\n      \"edit_driver\": \"Edit Provider\",\n      \"select_driver\": \"Select Driver\",\n      \"update\": \"select exchange rate \",\n      \"providers_description\": \"Configure your exchange rate providers here to automatically fetch the latest exchange rate on transactions.\",\n      \"key\": \"API Key\",\n      \"name\": \"Name\",\n      \"driver\": \"Driver\",\n      \"is_default\": \"IS DEFAULT\",\n      \"currency\": \"Currencies\",\n      \"exchange_rate_confirm_delete\": \"You will not be able to recover this driver\",\n      \"created_message\": \"Provider Created successfully\",\n      \"updated_message\": \"Provider Updated Successfully\",\n      \"deleted_message\": \"Provider Deleted Successfully\",\n      \"error\": \" You cannot Delete Active Driver\",\n      \"default_currency_error\": \"This currency is already used in one of the Active Provider\",\n      \"exchange_help_text\": \"Enter exchange rate to convert from {currency} to {baseCurrency}\",\n      \"currency_freak\": \"Currency Freak\",\n      \"currency_layer\": \"Currency Layer\",\n      \"open_exchange_rate\": \"Open Exchange Rate\",\n      \"currency_converter\": \"Currency Converter\",\n      \"server\": \"Server\",\n      \"url\": \"URL\",\n      \"active\": \"Active\",\n      \"currency_help_text\": \"This provider will only be used on above selected currencies\",\n      \"currency_in_used\": \"The following currencies are already active on another provider. Please remove these currencies from selection to activate this provider again.\"\n    },\n    \"tax_types\": {\n      \"title\": \"Tax Types\",\n      \"add_tax\": \"Add Tax\",\n      \"edit_tax\": \"Edit Tax\",\n      \"description\": \"You can add or Remove Taxes as you please. Crater supports Taxes on Individual Items as well as on the invoice.\",\n      \"add_new_tax\": \"Add New Tax\",\n      \"tax_settings\": \"Tax Settings\",\n      \"tax_per_item\": \"Tax Per Item\",\n      \"tax_name\": \"Tax Name\",\n      \"compound_tax\": \"Compound Tax\",\n      \"percent\": \"Percent\",\n      \"action\": \"Action\",\n      \"tax_setting_description\": \"Enable this if you want to add taxes to individual invoice items. By default, taxes are added directly to the invoice.\",\n      \"created_message\": \"Tax type created successfully\",\n      \"updated_message\": \"Tax type updated successfully\",\n      \"deleted_message\": \"Tax type deleted successfully\",\n      \"confirm_delete\": \"You will not be able to recover this Tax Type\",\n      \"already_in_use\": \"Tax is already in use\"\n    },\n    \"payment_modes\": {\n      \"title\": \"Payment Modes\",\n      \"description\": \"Modes of transaction for payments\",\n      \"add_payment_mode\": \"Add Payment Mode\",\n      \"edit_payment_mode\": \"Edit Payment Mode\",\n      \"mode_name\": \"Mode Name\",\n      \"payment_mode_added\": \"Payment Mode Added\",\n      \"payment_mode_updated\": \"Payment Mode Updated\",\n      \"payment_mode_confirm_delete\": \"You will not be able to recover this Payment Mode\",\n      \"payments_attached\": \"This payment method is already attached to payments. Please delete the attached payments to proceed with deletion.\",\n      \"expenses_attached\": \"This payment method is already attached to expenses. Please delete the attached expenses to proceed with deletion.\",\n      \"deleted_message\": \"Payment Mode deleted successfully\"\n    },\n    \"expense_category\": {\n      \"title\": \"Expense Categories\",\n      \"action\": \"Action\",\n      \"description\": \"Categories are required for adding expense entries. You can Add or Remove these categories according to your preference.\",\n      \"add_new_category\": \"Add New Category\",\n      \"add_category\": \"Add Category\",\n      \"edit_category\": \"Edit Category\",\n      \"category_name\": \"Category Name\",\n      \"category_description\": \"Description\",\n      \"created_message\": \"Expense Category created successfully\",\n      \"deleted_message\": \"Expense category deleted successfully\",\n      \"updated_message\": \"Expense category updated successfully\",\n      \"confirm_delete\": \"You will not be able to recover this Expense Category\",\n      \"already_in_use\": \"Category is already in use\"\n    },\n    \"preferences\": {\n      \"currency\": \"Currency\",\n      \"default_language\": \"Default Language\",\n      \"time_zone\": \"Time Zone\",\n      \"fiscal_year\": \"Financial Year\",\n      \"date_format\": \"Date Format\",\n      \"discount_setting\": \"Discount Setting\",\n      \"discount_per_item\": \"Discount Per Item \",\n      \"discount_setting_description\": \"Enable this if you want to add Discount to individual invoice items. By default, Discount is added directly to the invoice.\",\n      \"expire_public_links\": \"Automatically Expire Public Links\",\n      \"expire_setting_description\": \"Specify whether you would like to expire all the links sent by application to view invoices, estimates & payments, etc after a specified duration.\",\n      \"save\": \"Save\",\n      \"preference\": \"Preference | Preferences\",\n      \"general_settings\": \"Default preferences for the system.\",\n      \"updated_message\": \"Preferences updated successfully\",\n      \"select_language\": \"Select Language\",\n      \"select_time_zone\": \"Select Time Zone\",\n      \"select_date_format\": \"Select Date Format\",\n      \"select_financial_year\": \"Select Financial Year\",\n      \"recurring_invoice_status\": \"Recurring Invoice Status\",\n      \"create_status\": \"Create Status\",\n      \"active\": \"Active\",\n      \"on_hold\": \"On Hold\",\n      \"update_status\": \"Update Status\",\n      \"completed\": \"Completed\",\n      \"company_currency_unchangeable\": \"Company currency cannot be changed\"\n    },\n    \"update_app\": {\n      \"title\": \"Update App\",\n      \"description\": \"You can easily update Crater by checking for a new update by clicking the button below\",\n      \"check_update\": \"Check for updates\",\n      \"avail_update\": \"New Update available\",\n      \"next_version\": \"Next version\",\n      \"requirements\": \"Requirements\",\n      \"update\": \"Update Now\",\n      \"update_progress\": \"Update in progress...\",\n      \"progress_text\": \"It will just take a few minutes. Please do not refresh the screen or close the window before the update finishes\",\n      \"update_success\": \"App has been updated! Please wait while your browser window gets reloaded automatically.\",\n      \"latest_message\": \"No update available! You are on the latest version.\",\n      \"current_version\": \"Current Version\",\n      \"download_zip_file\": \"Download ZIP file\",\n      \"unzipping_package\": \"Unzipping Package\",\n      \"copying_files\": \"Copying Files\",\n      \"deleting_files\": \"Deleting Unused files\",\n      \"running_migrations\": \"Running Migrations\",\n      \"finishing_update\": \"Finishing Update\",\n      \"update_failed\": \"Update Failed\",\n      \"update_failed_text\": \"Sorry! Your update failed on : {step} step\",\n      \"update_warning\": \"All of the application files and default template files will be overwritten when you update the application using this utility. Please take a backup of your templates & database before updating.\"\n    },\n    \"backup\": {\n      \"title\": \"Backup | Backups\",\n      \"description\": \"The backup is a zipfile that contains all files in the directories you specify along with a dump of your database\",\n      \"new_backup\": \"Add New Backup\",\n      \"create_backup\": \"Create Backup\",\n      \"select_backup_type\": \"Select Backup Type\",\n      \"backup_confirm_delete\": \"You will not be able to recover this Backup\",\n      \"path\": \"path\",\n      \"new_disk\": \"New Disk\",\n      \"created_at\": \"created at\",\n      \"size\": \"size\",\n      \"dropbox\": \"dropbox\",\n      \"local\": \"local\",\n      \"healthy\": \"healthy\",\n      \"amount_of_backups\": \"amount of backups\",\n      \"newest_backups\": \"newest backups\",\n      \"used_storage\": \"used storage\",\n      \"select_disk\": \"Select Disk\",\n      \"action\": \"Action\",\n      \"deleted_message\": \"Backup deleted successfully\",\n      \"created_message\": \"Backup created successfully\",\n      \"invalid_disk_credentials\": \"Invalid credential of selected disk\"\n    },\n    \"disk\": {\n      \"title\": \"File Disk | File Disks\",\n      \"description\": \"By default, Crater will use your local disk for saving backups, avatar and other image files. You can configure more than one disk drivers like DigitalOcean, S3 and Dropbox according to your preference.\",\n      \"created_at\": \"created at\",\n      \"dropbox\": \"dropbox\",\n      \"name\": \"Name\",\n      \"driver\": \"Driver\",\n      \"disk_type\": \"Type\",\n      \"disk_name\": \"Disk Name\",\n      \"new_disk\": \"Add New Disk\",\n      \"filesystem_driver\": \"Filesystem Driver\",\n      \"local_driver\": \"local Driver\",\n      \"local_root\": \"local Root\",\n      \"public_driver\": \"Public Driver\",\n      \"public_root\": \"Public Root\",\n      \"public_url\": \"Public URL\",\n      \"public_visibility\": \"Public Visibility\",\n      \"media_driver\": \"Media Driver\",\n      \"media_root\": \"Media Root\",\n      \"aws_driver\": \"AWS Driver\",\n      \"aws_key\": \"AWS Key\",\n      \"aws_secret\": \"AWS Secret\",\n      \"aws_region\": \"AWS Region\",\n      \"aws_bucket\": \"AWS Bucket\",\n      \"aws_root\": \"AWS Root\",\n      \"do_spaces_type\": \"Do Spaces type\",\n      \"do_spaces_key\": \"Do Spaces key\",\n      \"do_spaces_secret\": \"Do Spaces Secret\",\n      \"do_spaces_region\": \"Do Spaces Region\",\n      \"do_spaces_bucket\": \"Do Spaces Bucket\",\n      \"do_spaces_endpoint\": \"Do Spaces Endpoint\",\n      \"do_spaces_root\": \"Do Spaces Root\",\n      \"dropbox_type\": \"Dropbox Type\",\n      \"dropbox_token\": \"Dropbox Token\",\n      \"dropbox_key\": \"Dropbox Key\",\n      \"dropbox_secret\": \"Dropbox Secret\",\n      \"dropbox_app\": \"Dropbox App\",\n      \"dropbox_root\": \"Dropbox Root\",\n      \"default_driver\": \"Default Driver\",\n      \"is_default\": \"IS DEFAULT\",\n      \"set_default_disk\": \"Set Default Disk\",\n      \"set_default_disk_confirm\": \"This disk will be set as default and all the new PDFs will be saved on this disk\",\n      \"success_set_default_disk\": \"Disk set as default successfully\",\n      \"save_pdf_to_disk\": \"Save PDFs to Disk\",\n      \"disk_setting_description\": \" Enable this, if you wish to save a copy of each Invoice, Estimate & Payment Receipt PDF on your default disk automatically. Turning this option will decrease the load-time when viewing the PDFs.\",\n      \"select_disk\": \"Select Disk\",\n      \"disk_settings\": \"Disk Settings\",\n      \"confirm_delete\": \"Your existing files & folders in the specified disk will not be affected but your disk configuration will be deleted from Crater\",\n      \"action\": \"Action\",\n      \"edit_file_disk\": \"Edit File Disk\",\n      \"success_create\": \"Disk added successfully\",\n      \"success_update\": \"Disk updated successfully\",\n      \"error\": \"Disk addition failed\",\n      \"deleted_message\": \"File Disk deleted successfully\",\n      \"disk_variables_save_successfully\": \"Disk Configured Successfully\",\n      \"disk_variables_save_error\": \"Disk configuration failed.\",\n      \"invalid_disk_credentials\": \"Invalid credential of selected disk\"\n    },\n    \"taxations\": {\n      \"add_billing_address\": \"Enter Billing Address\",\n      \"add_shipping_address\": \"Enter Shipping Address\",\n      \"add_company_address\": \"Enter Company Address\",\n      \"modal_description\": \"The information below is required in order to fetch sales tax.\",\n      \"add_address\": \"Add Address for fetching sales tax.\",\n      \"address_placeholder\": \"Example: 123, My Street\",\n      \"city_placeholder\": \"Example: Los Angeles\",\n      \"state_placeholder\": \"Example: CA\",\n      \"zip_placeholder\": \"Example: 90024\",\n      \"invalid_address\": \"Please provide valid address details.\"\n    }\n  },\n  \"wizard\": {\n    \"account_info\": \"Account Information\",\n    \"account_info_desc\": \"Below details will be used to create the main Administrator account. Also you can change the details anytime after logging in.\",\n    \"name\": \"Name\",\n    \"email\": \"Email\",\n    \"password\": \"Password\",\n    \"confirm_password\": \"Confirm Password\",\n    \"save_cont\": \"Save & Continue\",\n    \"company_info\": \"Company Information\",\n    \"company_info_desc\": \"This information will be displayed on invoices. Note that you can edit this later on settings page.\",\n    \"company_name\": \"Company Name\",\n    \"company_logo\": \"Company Logo\",\n    \"logo_preview\": \"Logo Preview\",\n    \"preferences\": \"Company Preferences\",\n    \"preferences_desc\": \"Specify the default preferences for this company.\",\n    \"currency_set_alert\": \"The company's currency cannot be changed later.\",\n    \"country\": \"Country\",\n    \"state\": \"State\",\n    \"city\": \"City\",\n    \"address\": \"Address\",\n    \"street\": \"Street1 | Street2\",\n    \"phone\": \"Phone\",\n    \"zip_code\": \"Zip Code\",\n    \"go_back\": \"Go Back\",\n    \"currency\": \"Currency\",\n    \"language\": \"Language\",\n    \"time_zone\": \"Time Zone\",\n    \"fiscal_year\": \"Financial Year\",\n    \"date_format\": \"Date Format\",\n    \"from_address\": \"From Address\",\n    \"username\": \"Username\",\n    \"next\": \"Next\",\n    \"continue\": \"Continue\",\n    \"skip\": \"Skip\",\n    \"database\": {\n      \"database\": \"Site URL & Database\",\n      \"connection\": \"Database Connection\",\n      \"host\": \"Database Host\",\n      \"port\": \"Database Port\",\n      \"password\": \"Database Password\",\n      \"app_url\": \"App URL\",\n      \"app_domain\": \"App Domain\",\n      \"username\": \"Database Username\",\n      \"db_name\": \"Database Name\",\n      \"db_path\": \"Database Path\",\n      \"desc\": \"Create a database on your server and set the credentials using the form below.\"\n    },\n    \"permissions\": {\n      \"permissions\": \"Permissions\",\n      \"permission_confirm_title\": \"Are you sure you want to continue?\",\n      \"permission_confirm_desc\": \"Folder permission check failed\",\n      \"permission_desc\": \"Below is the list of folder permissions which are required in order for the app to work. If the permission check fails, make sure to update your folder permissions.\"\n    },\n    \"verify_domain\": {\n      \"title\": \"Domain Verification\",\n      \"desc\": \"Crater uses Session based authentication which requires domain verification for security purposes. Please enter the domain on which you will be accessing your web application.\",\n      \"app_domain\": \"App Domain\",\n      \"verify_now\": \"Verify Now\",\n      \"success\": \"Domain Verify Successfully.\",\n      \"failed\": \"Domain verification failed. Please enter valid domain name.\",\n      \"verify_and_continue\": \"Verify And Continue\"\n    },\n    \"mail\": {\n      \"host\": \"Mail Host\",\n      \"port\": \"Mail Port\",\n      \"driver\": \"Mail Driver\",\n      \"secret\": \"Secret\",\n      \"mailgun_secret\": \"Mailgun Secret\",\n      \"mailgun_domain\": \"Domain\",\n      \"mailgun_endpoint\": \"Mailgun Endpoint\",\n      \"ses_secret\": \"SES Secret\",\n      \"ses_key\": \"SES Key\",\n      \"password\": \"Mail Password\",\n      \"username\": \"Mail Username\",\n      \"mail_config\": \"Mail Configuration\",\n      \"from_name\": \"From Mail Name\",\n      \"from_mail\": \"From Mail Address\",\n      \"encryption\": \"Mail Encryption\",\n      \"mail_config_desc\": \"Below is the form for Configuring Email driver for sending emails from the app. You can also configure third party providers like Sendgrid, SES etc.\"\n    },\n    \"req\": {\n      \"system_req\": \"System Requirements\",\n      \"php_req_version\": \"Php (version {version} required)\",\n      \"check_req\": \"Check Requirements\",\n      \"system_req_desc\": \"Crater has a few server requirements. Make sure that your server has the required php version and all the extensions mentioned below.\"\n    },\n    \"errors\": {\n      \"migrate_failed\": \"Migrate Failed\",\n      \"database_variables_save_error\": \"Cannot write configuration to .env file. Please check its file permissions\",\n      \"mail_variables_save_error\": \"Email configuration failed.\",\n      \"connection_failed\": \"Database connection failed\",\n      \"database_should_be_empty\": \"Database should be empty\"\n    },\n    \"success\": {\n      \"mail_variables_save_successfully\": \"Email configured successfully\",\n      \"database_variables_save_successfully\": \"Database configured successfully.\"\n    }\n  },\n  \"validation\": {\n    \"invalid_phone\": \"Invalid Phone Number\",\n    \"invalid_url\": \"Invalid url (ex: http://www.craterapp.com)\",\n    \"invalid_domain_url\": \"Invalid url (ex: craterapp.com)\",\n    \"required\": \"Field is required\",\n    \"email_incorrect\": \"Incorrect Email.\",\n    \"email_already_taken\": \"The email has already been taken.\",\n    \"email_does_not_exist\": \"User with given email doesn't exist\",\n    \"item_unit_already_taken\": \"This item unit name has already been taken\",\n    \"payment_mode_already_taken\": \"This payment mode name has already been taken\",\n    \"send_reset_link\": \"Send Reset Link\",\n    \"not_yet\": \"Not yet? Send it again\",\n    \"password_min_length\": \"Password must contain {count} characters\",\n    \"name_min_length\": \"Name must have at least {count} letters.\",\n    \"prefix_min_length\": \"Prefix must have at least {count} letters.\",\n    \"enter_valid_tax_rate\": \"Enter valid tax rate\",\n    \"numbers_only\": \"Numbers Only.\",\n    \"characters_only\": \"Characters Only.\",\n    \"password_incorrect\": \"Passwords must be identical\",\n    \"password_length\": \"Password must be {count} character long.\",\n    \"qty_must_greater_than_zero\": \"Quantity must be greater than zero.\",\n    \"price_greater_than_zero\": \"Price must be greater than zero.\",\n    \"payment_greater_than_zero\": \"Payment must be greater than zero.\",\n    \"payment_greater_than_due_amount\": \"Entered Payment is more than due amount of this invoice.\",\n    \"quantity_maxlength\": \"Quantity should not be greater than 20 digits.\",\n    \"price_maxlength\": \"Price should not be greater than 20 digits.\",\n    \"price_minvalue\": \"Price should be greater than 0.\",\n    \"amount_maxlength\": \"Amount should not be greater than 20 digits.\",\n    \"amount_minvalue\": \"Amount should be greater than 0.\",\n    \"discount_maxlength\": \"Discount should not be greater than max discount\",\n    \"description_maxlength\": \"Description should not be greater than 255 characters.\",\n    \"subject_maxlength\": \"Subject should not be greater than 100 characters.\",\n    \"message_maxlength\": \"Message should not be greater than 255 characters.\",\n    \"maximum_options_error\": \"Maximum  of {max} options selected. First remove a selected option to select another.\",\n    \"notes_maxlength\": \"Notes should not be greater than 65,000 characters.\",\n    \"address_maxlength\": \"Address should not be greater than 255 characters.\",\n    \"ref_number_maxlength\": \"Ref Number should not be greater than 255 characters.\",\n    \"prefix_maxlength\": \"Prefix should not be greater than 5 characters.\",\n    \"something_went_wrong\": \"something went wrong\",\n    \"number_length_minvalue\": \"Number length should be greater than 0\",\n    \"at_least_one_ability\": \"Please select atleast one Permission.\",\n    \"valid_driver_key\": \"Please enter a valid {driver} key.\",\n    \"valid_exchange_rate\": \"Please enter a valid exchange rate.\",\n    \"company_name_not_same\": \"Company name must match with given name.\"\n  },\n  \"errors\": {\n    \"starter_plan\": \"This feature is available on Starter plan and onwards!\",\n    \"invalid_provider_key\": \"Please Enter Valid Provider API Key.\",\n    \"estimate_number_used\": \"The estimate number has already been taken.\",\n    \"invoice_number_used\": \"The invoice number has already been taken.\",\n    \"payment_attached\": \"This invoice already has a payment attached to it. Make sure to delete the attached payments first in order to go ahead with the removal.\",\n    \"payment_number_used\": \"The payment number has already been taken.\",\n    \"name_already_taken\": \"The name has already been taken.\",\n    \"receipt_does_not_exist\": \"Receipt does not exist.\",\n    \"customer_cannot_be_changed_after_payment_is_added\": \"Customer cannot be change after payment is added\",\n    \"invalid_credentials\": \"Invalid  Credentials.\",\n    \"not_allowed\": \"Not Allowed\",\n    \"login_invalid_credentials\": \"These credentials do not match our records.\",\n    \"enter_valid_cron_format\": \"Please enter a valid cron format\",\n    \"email_could_not_be_sent\": \"Email could not be sent to this email address.\",\n    \"invalid_address\": \"Please enter a valid address.\",\n    \"invalid_key\": \"Please enter valid key.\",\n    \"invalid_state\": \"Please enter a valid state.\",\n    \"invalid_city\": \"Please enter a valid city.\",\n    \"invalid_postal_code\": \"Please enter a valid zip.\",\n    \"invalid_format\": \"Please enter valid query string format.\",\n    \"api_error\": \"Server not responding.\",\n    \"feature_not_enabled\": \"Feature not enabled.\",\n    \"request_limit_met\": \"Api request limit exceeded.\",\n    \"address_incomplete\": \"Incomplete Address\"\n  },\n  \"pdf_estimate_label\": \"Estimate\",\n  \"pdf_estimate_number\": \"Estimate Number\",\n  \"pdf_estimate_date\": \"Estimate Date\",\n  \"pdf_estimate_expire_date\": \"Expiry date\",\n  \"pdf_invoice_label\": \"Invoice\",\n  \"pdf_invoice_number\": \"Invoice Number\",\n  \"pdf_invoice_date\": \"Invoice Date\",\n  \"pdf_invoice_due_date\": \"Due date\",\n  \"pdf_notes\": \"Notes\",\n  \"pdf_items_label\": \"Items\",\n  \"pdf_quantity_label\": \"Quantity\",\n  \"pdf_price_label\": \"Price\",\n  \"pdf_discount_label\": \"Discount\",\n  \"pdf_amount_label\": \"Amount\",\n  \"pdf_subtotal\": \"Subtotal\",\n  \"pdf_total\": \"Total\",\n  \"pdf_payment_label\": \"Payment\",\n  \"pdf_payment_receipt_label\": \"PAYMENT RECEIPT\",\n  \"pdf_payment_date\": \"Payment Date\",\n  \"pdf_payment_number\": \"Payment Number\",\n  \"pdf_payment_mode\": \"Payment Mode\",\n  \"pdf_payment_amount_received_label\": \"Amount Received\",\n  \"pdf_expense_report_label\": \"EXPENSES REPORT\",\n  \"pdf_total_expenses_label\": \"TOTAL EXPENSE\",\n  \"pdf_profit_loss_label\": \"PROFIT & LOSS REPORT\",\n  \"pdf_sales_customers_label\": \"Sales Customer Report\",\n  \"pdf_sales_items_label\": \"Sales Item Report\",\n  \"pdf_tax_summery_label\": \"Tax Summary Report\",\n  \"pdf_income_label\": \"INCOME\",\n  \"pdf_net_profit_label\": \"NET PROFIT\",\n  \"pdf_customer_sales_report\": \"Sales Report: By Customer\",\n  \"pdf_total_sales_label\": \"TOTAL SALES\",\n  \"pdf_item_sales_label\": \"Sales Report: By Item\",\n  \"pdf_tax_report_label\": \"TAX REPORT\",\n  \"pdf_total_tax_label\": \"TOTAL TAX\",\n  \"pdf_tax_types_label\": \"Tax Types\",\n  \"pdf_expenses_label\": \"Expenses\",\n  \"pdf_bill_to\": \"Bill to,\",\n  \"pdf_ship_to\": \"Ship to,\",\n  \"pdf_received_from\": \"Received from:\",\n  \"pdf_tax_label\": \"Tax\"\n}\n"
  },
  {
    "path": "resources/scripts/locales/it.json",
    "content": "{\n  \"navigation\": {\n    \"dashboard\": \"Pannello di controllo\",\n    \"customers\": \"Clienti\",\n    \"items\": \"Commesse\",\n    \"invoices\": \"Fatture\",\n    \"recurring-invoices\": \"Fatture ricorrenti\",\n    \"expenses\": \"Spese\",\n    \"estimates\": \"Preventivi\",\n    \"payments\": \"Pagamenti\",\n    \"reports\": \"Rapporti\",\n    \"settings\": \"Configurazione\",\n    \"logout\": \"Disconnessione\",\n    \"users\": \"Utenti\",\n    \"modules\": \"Moduli\"\n  },\n  \"general\": {\n    \"add_company\": \"Aggiungi azienda\",\n    \"view_pdf\": \"Vedi PDF\",\n    \"copy_pdf_url\": \"Copia URL PDF\",\n    \"download_pdf\": \"Scarica PDF\",\n    \"save\": \"Salva\",\n    \"create\": \"Crea\",\n    \"cancel\": \"Elimina\",\n    \"update\": \"Aggiorna\",\n    \"deselect\": \"Deseleziona\",\n    \"download\": \"Scarica\",\n    \"from_date\": \"Dalla Data\",\n    \"to_date\": \"Alla Data\",\n    \"from\": \"Da\",\n    \"to\": \"A\",\n    \"ok\": \"Ok\",\n    \"yes\": \"Sì\",\n    \"no\": \"No\",\n    \"sort_by\": \"Ordina per\",\n    \"ascending\": \"Crescente\",\n    \"descending\": \"Decrescente\",\n    \"subject\": \"Oggetto\",\n    \"body\": \"Corpo\",\n    \"message\": \"Messaggio\",\n    \"send\": \"Invia\",\n    \"preview\": \"Anteprima\",\n    \"go_back\": \"Torna indietro\",\n    \"back_to_login\": \"Torna al Login?\",\n    \"home\": \"Home\",\n    \"filter\": \"Filtro\",\n    \"delete\": \"Elimina\",\n    \"edit\": \"Modifica\",\n    \"view\": \"Visualizza\",\n    \"add_new_item\": \"Aggiungi nuova Commessa\",\n    \"clear_all\": \"Pulisci tutto\",\n    \"showing\": \"Visualizzo\",\n    \"of\": \"di\",\n    \"actions\": \"Azioni\",\n    \"subtotal\": \"SUBTOTALE\",\n    \"discount\": \"SCONTO\",\n    \"fixed\": \"Fissato\",\n    \"percentage\": \"Percentuale\",\n    \"tax\": \"TASSA\",\n    \"total_amount\": \"AMMONTARE TOTALE\",\n    \"bill_to\": \"Fattura a\",\n    \"ship_to\": \"Invia a\",\n    \"due\": \"Dovuto\",\n    \"draft\": \"Bozza\",\n    \"sent\": \"Inviata\",\n    \"all\": \"Tutte\",\n    \"select_all\": \"Seleziona tutto\",\n    \"select_template\": \"Seleziona Template\",\n    \"choose_file\": \"Clicca per selezionare un file\",\n    \"choose_template\": \"Scegli un modello\",\n    \"choose\": \"Scegli\",\n    \"remove\": \"Rimuovi\",\n    \"select_a_status\": \"Seleziona uno Stato\",\n    \"select_a_tax\": \"Seleziona imposta\",\n    \"search\": \"Cerca\",\n    \"are_you_sure\": \"Sei sicuro/a?\",\n    \"list_is_empty\": \"La lista è vuota.\",\n    \"no_tax_found\": \"Nessuna imposta trovata!\",\n    \"four_zero_four\": \"404\",\n    \"you_got_lost\": \"Hoops! Ti sei perso\",\n    \"go_home\": \"Vai alla Home\",\n    \"test_mail_conf\": \"Configurazione della mail di test\",\n    \"send_mail_successfully\": \"Mail inviata con successo\",\n    \"setting_updated\": \"Configurazioni aggiornate con successo\",\n    \"select_state\": \"Seleziona lo Stato\",\n    \"select_country\": \"Seleziona Paese\",\n    \"select_city\": \"Seleziona Città\",\n    \"street_1\": \"Indirizzo 1\",\n    \"street_2\": \"Indirizzo 2\",\n    \"action_failed\": \"Errore\",\n    \"retry\": \"Riprova\",\n    \"choose_note\": \"Scegli Nota\",\n    \"no_note_found\": \"Nessuna Nota Trovata\",\n    \"insert_note\": \"Inserisci Nota\",\n    \"copied_pdf_url_clipboard\": \"Url PDF copiato negli appunti!\",\n    \"copied_url_clipboard\": \"URL copiato negli appunti!\",\n    \"docs\": \"Documenti\",\n    \"do_you_wish_to_continue\": \"Vuoi continuare?\",\n    \"note\": \"Nota\",\n    \"pay_invoice\": \"Paga Fattura\",\n    \"login_successfully\": \"Accesso effettuato con successo!\",\n    \"logged_out_successfully\": \"Disconnessione riuscita\",\n    \"mark_as_default\": \"Contrassegna come predefinito\"\n  },\n  \"dashboard\": {\n    \"select_year\": \"Seleziona anno\",\n    \"cards\": {\n      \"due_amount\": \"Somma dovuta\",\n      \"customers\": \"Clienti\",\n      \"invoices\": \"Fatture\",\n      \"estimates\": \"Preventivi\",\n      \"payments\": \"Pagamenti\"\n    },\n    \"chart_info\": {\n      \"total_sales\": \"Vendite\",\n      \"total_receipts\": \"Ricevute\",\n      \"total_expense\": \"Uscite\",\n      \"net_income\": \"Guadagno netto\",\n      \"year\": \"Seleziona anno\"\n    },\n    \"monthly_chart\": {\n      \"title\": \"Entrate & Uscite\"\n    },\n    \"recent_invoices_card\": {\n      \"title\": \"Fatture insolute\",\n      \"due_on\": \"Data di scadenza\",\n      \"customer\": \"Cliente\",\n      \"amount_due\": \"Ammontare dovuto\",\n      \"actions\": \"Azioni\",\n      \"view_all\": \"Vedi tutto\"\n    },\n    \"recent_estimate_card\": {\n      \"title\": \"Preventivi recenti\",\n      \"date\": \"Data\",\n      \"customer\": \"Cliente\",\n      \"amount_due\": \"Ammontare dovuto\",\n      \"actions\": \"Azioni\",\n      \"view_all\": \"Vedi tutto\"\n    }\n  },\n  \"tax_types\": {\n    \"name\": \"Nome\",\n    \"description\": \"Descrizione\",\n    \"percent\": \"Percento\",\n    \"compound_tax\": \"Imposta composta\"\n  },\n  \"global_search\": {\n    \"search\": \"Cerca...\",\n    \"customers\": \"Clienti\",\n    \"users\": \"Utenti\",\n    \"no_results_found\": \"Nessun Risultato Trovato\"\n  },\n  \"company_switcher\": {\n    \"label\": \"CAMBIA AZIENDA\",\n    \"no_results_found\": \"Nessun Risultato Trovato\",\n    \"add_new_company\": \"Aggiungi una nuova azienda\",\n    \"new_company\": \"Nuova Azienda\",\n    \"created_message\": \"Azienda creata con successo\"\n  },\n  \"dateRange\": {\n    \"today\": \"Oggi\",\n    \"this_week\": \"Questa Settimana\",\n    \"this_month\": \"Questo mese\",\n    \"this_quarter\": \"Questo Trimestre\",\n    \"this_year\": \"Anno corrente\",\n    \"previous_week\": \"Settimana precedente\",\n    \"previous_month\": \"Mese precedente\",\n    \"previous_quarter\": \"Trimestre Precedente\",\n    \"previous_year\": \"Anno Precedente\",\n    \"custom\": \"Personalizzato\"\n  },\n  \"customers\": {\n    \"title\": \"Clienti\",\n    \"prefix\": \"Prefisso\",\n    \"add_customer\": \"Aggiungi cliente\",\n    \"contacts_list\": \"Lista clienti\",\n    \"name\": \"Nome\",\n    \"mail\": \"Mail | Mails\",\n    \"statement\": \"Dichiarazione\",\n    \"display_name\": \"Nome Visibile\",\n    \"primary_contact_name\": \"Riferimento\",\n    \"contact_name\": \"Nome Contatto\",\n    \"amount_due\": \"Ammontare dovuto\",\n    \"email\": \"Email\",\n    \"address\": \"Indirizzo\",\n    \"phone\": \"Telefono\",\n    \"website\": \"Sito web\",\n    \"overview\": \"Panoramica\",\n    \"invoice_prefix\": \"Prefisso Fattura\",\n    \"estimate_prefix\": \"Prefisso Preventivi\",\n    \"payment_prefix\": \"Prefisso Pagamento\",\n    \"enable_portal\": \"Abilita Portale\",\n    \"country\": \"Paese\",\n    \"state\": \"Provincia\",\n    \"city\": \"Città\",\n    \"zip_code\": \"Codice Postale\",\n    \"added_on\": \"Aggiunto il\",\n    \"action\": \"Azione\",\n    \"password\": \"Password\",\n    \"confirm_password\": \"Conferma Password\",\n    \"street_number\": \"Numero Civico\",\n    \"primary_currency\": \"Valùta Principale\",\n    \"description\": \"Descrizione\",\n    \"add_new_customer\": \"Aggiungi nuovo Cliente\",\n    \"save_customer\": \"Salva Cliente\",\n    \"update_customer\": \"Aggiorna Cliente\",\n    \"customer\": \"Cliente | Clienti\",\n    \"new_customer\": \"Nuovo cliente\",\n    \"edit_customer\": \"Modifica Cliente\",\n    \"basic_info\": \"Informazioni\",\n    \"portal_access\": \"Accesso al Portale\",\n    \"portal_access_text\": \"Vuoi consentire a questo cliente di accedere al Portale Clienti?\",\n    \"portal_access_url\": \"URL Login Portale Cliente\",\n    \"portal_access_url_help\": \"Copia e inoltra l'URL sopra indicato al tuo cliente per fornire l'accesso.\",\n    \"billing_address\": \"Indirizzo di Fatturazione\",\n    \"shipping_address\": \"Indirizzo di Spedizione\",\n    \"copy_billing_address\": \"Copia da Fatturazione\",\n    \"no_customers\": \"Ancora nessun Cliente!\",\n    \"no_customers_found\": \"Nessun cliente trovato!\",\n    \"no_contact\": \"Nessun contatto\",\n    \"no_contact_name\": \"Nessun nome del contatto\",\n    \"list_of_customers\": \"Qui ci sarà la lista dei tuoi clienti\",\n    \"primary_display_name\": \"Mostra il Nome Principale\",\n    \"select_currency\": \"Selezione Valùta\",\n    \"select_a_customer\": \"Seleziona Cliente\",\n    \"type_or_click\": \"Scrivi o clicca per selezionare\",\n    \"new_transaction\": \"Nuova transazione\",\n    \"no_matching_customers\": \"Non ci sono clienti corrispondenti!\",\n    \"phone_number\": \"Numero di telefono\",\n    \"create_date\": \"Crea data\",\n    \"confirm_delete\": \"Non sarai in grado di recuperare questo cliente e tutte le relative fatture, stime e pagamenti. | Non sarai in grado di recuperare questi clienti e tutte le relative fatture, stime e pagamenti.\",\n    \"created_message\": \"Cliente creato con successo\",\n    \"updated_message\": \"Cliente aggiornato con successo\",\n    \"address_updated_message\": \"Indirizzo aggiornato con successo\",\n    \"deleted_message\": \"Cliente cancellato con successo | Clienti cancellati con successo\",\n    \"edit_currency_not_allowed\": \"Impossibile cambiare valuta, dopo aver creato transazioni.\"\n  },\n  \"items\": {\n    \"title\": \"Commesse\",\n    \"items_list\": \"Lista Commesse\",\n    \"name\": \"Nome\",\n    \"unit\": \"Unità/Tipo\",\n    \"description\": \"Descrizione\",\n    \"added_on\": \"Aggiunto il\",\n    \"price\": \"Prezzo\",\n    \"date_of_creation\": \"Data di creazione\",\n    \"not_selected\": \"Nessun elemento selezionato\",\n    \"action\": \"Azione\",\n    \"add_item\": \"Aggiungi Commessa\",\n    \"save_item\": \"Salva\",\n    \"update_item\": \"Aggiorna\",\n    \"item\": \"Commessa | Commesse\",\n    \"add_new_item\": \"Aggiungi nuova Commessa\",\n    \"new_item\": \"Nuova Commessa\",\n    \"edit_item\": \"Modifica Commessa\",\n    \"no_items\": \"Ancora nessuna commessa!\",\n    \"list_of_items\": \"Qui ci sarà la lista delle commesse.\",\n    \"select_a_unit\": \"Seleziona\",\n    \"taxes\": \"Imposte\",\n    \"item_attached_message\": \"Non puoi eliminare una Commessa che è già attiva\",\n    \"confirm_delete\": \"Non potrai ripristinare la Commessa | Non potrai ripristinare le Commesse\",\n    \"created_message\": \"Commessa creata con successo\",\n    \"updated_message\": \"Commessa aggiornata con successo\",\n    \"deleted_message\": \"Commessa eliminata con successo | Commesse eliminate con successo\"\n  },\n  \"estimates\": {\n    \"title\": \"Preventivi\",\n    \"accept_estimate\": \"Accetta Preventivo\",\n    \"reject_estimate\": \"Rifiuta Preventivo\",\n    \"estimate\": \"Preventivo | Preventivi\",\n    \"estimates_list\": \"Lista Preventivi\",\n    \"days\": \"{days} Giorni\",\n    \"months\": \"{months} Mese\",\n    \"years\": \"{years} Anno\",\n    \"all\": \"Tutti\",\n    \"paid\": \"Pagato\",\n    \"unpaid\": \"Non pagato\",\n    \"customer\": \"CLIENTE\",\n    \"ref_no\": \"RIF N.\",\n    \"number\": \"NUMERO\",\n    \"amount_due\": \"AMMONTARE DOVUTO\",\n    \"partially_paid\": \"Pagamento Parziale\",\n    \"total\": \"Totale\",\n    \"discount\": \"Sconto\",\n    \"sub_total\": \"Sub Totale\",\n    \"estimate_number\": \"Preventivo Numero\",\n    \"ref_number\": \"Numero di Rif.\",\n    \"contact\": \"Contatto\",\n    \"add_item\": \"Aggiungi un item\",\n    \"date\": \"Data\",\n    \"due_date\": \"Data di pagamento\",\n    \"expiry_date\": \"Data di scadenza\",\n    \"status\": \"Stato\",\n    \"add_tax\": \"Aggiungi Imposta\",\n    \"amount\": \"Ammontare\",\n    \"action\": \"Azione\",\n    \"notes\": \"Note\",\n    \"tax\": \"Imposta\",\n    \"estimate_template\": \"Modello\",\n    \"convert_to_invoice\": \"Converti in Fattura\",\n    \"mark_as_sent\": \"Segna come Inviata\",\n    \"send_estimate\": \"Invia preventivo\",\n    \"resend_estimate\": \"Reinvia Preventivo\",\n    \"record_payment\": \"Registra Pagamento\",\n    \"add_estimate\": \"Aggiungi Preventivo\",\n    \"save_estimate\": \"Salva Preventivo\",\n    \"confirm_conversion\": \"Questo preventivo verrà usato per generare una nuova fattura.\",\n    \"conversion_message\": \"Fattura creata\",\n    \"confirm_send_estimate\": \"Questo preventivo verrà inviato al cliente via mail\",\n    \"confirm_mark_as_sent\": \"Questo preventivo verrà contrassegnato come inviato\",\n    \"confirm_mark_as_accepted\": \"Questo preventivo verrà contrassegnato come Accettato\",\n    \"confirm_mark_as_rejected\": \"Questo preventivo verrà contrassegnato come Rifiutato\",\n    \"no_matching_estimates\": \"Nessun preventivo trovato!\",\n    \"mark_as_sent_successfully\": \"Preventivo contrassegnato come inviato con successo\",\n    \"send_estimate_successfully\": \"Preventivo inviato con successo\",\n    \"errors\": {\n      \"required\": \"Campo obbligatorio\"\n    },\n    \"accepted\": \"Accettato\",\n    \"rejected\": \"Rifiutato\",\n    \"expired\": \"Scaduto\",\n    \"sent\": \"Inviato\",\n    \"draft\": \"Bozza\",\n    \"viewed\": \"Visualizzato\",\n    \"declined\": \"Rifiutato\",\n    \"new_estimate\": \"Nuovo Preventivo\",\n    \"add_new_estimate\": \"Crea Nuovo Preventivo\",\n    \"update_Estimate\": \"Aggiorna preventivo\",\n    \"edit_estimate\": \"Modifica Preventivo\",\n    \"items\": \"Commesse\",\n    \"Estimate\": \"Preventivo | Preventivi\",\n    \"add_new_tax\": \"Aggiungi una nuova tassa/imposta\",\n    \"no_estimates\": \"Ancora nessun preventivo!\",\n    \"list_of_estimates\": \"Questa sezione conterrà la lista dei preventivi.\",\n    \"mark_as_rejected\": \"Segna come Rifiutato\",\n    \"mark_as_accepted\": \"Segna come Accettato\",\n    \"marked_as_accepted_message\": \"Preventivo contrassegnato come accettato\",\n    \"marked_as_rejected_message\": \"Preventivo contrassegnato come rifiutato\",\n    \"confirm_delete\": \"Non potrai più recuperare questo preventivo | Non potrai più recuperare questi preventivi\",\n    \"created_message\": \"Preventivo creato con successo\",\n    \"updated_message\": \"Preventivo modificato con successo\",\n    \"deleted_message\": \"Preventivo eliminato con successo | Preventivi eliminati con successo\",\n    \"something_went_wrong\": \"Si è verificato un errore\",\n    \"item\": {\n      \"title\": \"Titolo Commessa\",\n      \"description\": \"Descrizione\",\n      \"quantity\": \"Quantità\",\n      \"price\": \"Prezzo\",\n      \"discount\": \"Sconto\",\n      \"total\": \"Totale\",\n      \"total_discount\": \"Sconto Totale\",\n      \"sub_total\": \"Sub Totale\",\n      \"tax\": \"Tasse\",\n      \"amount\": \"Ammontare\",\n      \"select_an_item\": \"Scrivi o clicca per selezionare un item\",\n      \"type_item_description\": \"Scrivi una Descrizione (opzionale)\"\n    },\n    \"mark_as_default_estimate_template_description\": \"Se abilitato, il modello selezionato verrà selezionato automaticamente per i nuovi preventivi.\"\n  },\n  \"invoices\": {\n    \"title\": \"Fatture\",\n    \"download\": \"Scarica\",\n    \"pay_invoice\": \"Paga Fattura\",\n    \"invoices_list\": \"Lista Fatture\",\n    \"invoice_information\": \"Informazioni Fattura\",\n    \"days\": \"{days} Giorni\",\n    \"months\": \"{months} Mese\",\n    \"years\": \"{years} Anno\",\n    \"all\": \"Tutti\",\n    \"paid\": \"Pagato\",\n    \"unpaid\": \"Insoluta\",\n    \"viewed\": \"Visualizzato\",\n    \"overdue\": \"Scaduta\",\n    \"completed\": \"Completata\",\n    \"customer\": \"CLIENTE\",\n    \"paid_status\": \"STATO DI PAGAMENTO\",\n    \"ref_no\": \"RIF N.\",\n    \"number\": \"NUMERO\",\n    \"amount_due\": \"AMMONTARE DOVUTO\",\n    \"partially_paid\": \"Parzialmente Pagata\",\n    \"total\": \"Totale\",\n    \"discount\": \"Sconto\",\n    \"sub_total\": \"Sub Totale\",\n    \"invoice\": \"Fattura | Fatture\",\n    \"invoice_number\": \"Numero Fattura\",\n    \"ref_number\": \"Rif Numero\",\n    \"contact\": \"Contatto\",\n    \"add_item\": \"Aggiungi Commessa/Item\",\n    \"date\": \"Data\",\n    \"due_date\": \"Data di pagamento\",\n    \"status\": \"Stato\",\n    \"add_tax\": \"Aggiungi Imposta\",\n    \"amount\": \"Ammontare\",\n    \"action\": \"Azione\",\n    \"notes\": \"Note\",\n    \"view\": \"Vedi\",\n    \"send_invoice\": \"Invia Fattura\",\n    \"resend_invoice\": \"Reinvia Fattura\",\n    \"invoice_template\": \"Modello Fattura\",\n    \"conversion_message\": \"Fattura duplicata con successo\",\n    \"template\": \"Modello\",\n    \"mark_as_sent\": \"Segna come inviata\",\n    \"confirm_send_invoice\": \"Questa fattura sarà inviata via Mail al Cliente\",\n    \"invoice_mark_as_sent\": \"Questa fattura sarà contrassegnata come inviata\",\n    \"confirm_mark_as_accepted\": \"Questa fattura verrà contrassegnata come Accettata\",\n    \"confirm_mark_as_rejected\": \"Questa fattura sarà contrassegnata come Rifiutata\",\n    \"confirm_send\": \"Questa fattura sarà inviata via Mail al Cliente\",\n    \"invoice_date\": \"Data fattura\",\n    \"record_payment\": \"Registra Pagamento\",\n    \"add_new_invoice\": \"Aggiungi nuova Fattura\",\n    \"update_expense\": \"Aggiorna Costo\",\n    \"edit_invoice\": \"Modifica Fattura\",\n    \"new_invoice\": \"Nuova Fattura\",\n    \"save_invoice\": \"Salva fattura\",\n    \"update_invoice\": \"Aggiorna Fattura\",\n    \"add_new_tax\": \"Aggiungi tassa/imposta\",\n    \"no_invoices\": \"Ancora nessuna fattura!\",\n    \"mark_as_rejected\": \"Segna come rifiutata\",\n    \"mark_as_accepted\": \"Segna come accettata\",\n    \"list_of_invoices\": \"Questa sezione conterrà la lista delle Fatture.\",\n    \"select_invoice\": \"Seleziona Fattura\",\n    \"no_matching_invoices\": \"Nessuna fattura trovata!\",\n    \"mark_as_sent_successfully\": \"Fattura contassegnata come inviata con successo\",\n    \"invoice_sent_successfully\": \"Fattura inviata correttamente\",\n    \"cloned_successfully\": \"Fattura copiata con successo\",\n    \"clone_invoice\": \"Clona Fattura\",\n    \"confirm_clone\": \"Questa fattura verrà clonata in una nuova fattura\",\n    \"item\": {\n      \"title\": \"Titolo Commessa\",\n      \"description\": \"Descrizione\",\n      \"quantity\": \"Quantità\",\n      \"price\": \"Prezzo\",\n      \"discount\": \"Sconto\",\n      \"total\": \"Totale\",\n      \"total_discount\": \"Sconto Totale\",\n      \"sub_total\": \"Sub Totale\",\n      \"tax\": \"Tassa\",\n      \"amount\": \"Ammontare\",\n      \"select_an_item\": \"Scrivi o clicca per selezionare un item\",\n      \"type_item_description\": \"Scrivi una descrizione (opzionale)\"\n    },\n    \"payment_attached_message\": \"Una delle fatture selezionate ha già associato un pagamento. Assicurati di eliminare il pagamento associato prima di procedere con la rimozione\",\n    \"confirm_delete\": \"Non potrai recuperare la Fattura cancellata | Non potrai recuperare le Fatture cancellate\",\n    \"created_message\": \"Fattura creata con successo\",\n    \"updated_message\": \"Fattura aggiornata con successo\",\n    \"deleted_message\": \"Fattura cancellata con successo | Fatture cancellate con successo\",\n    \"marked_as_sent_message\": \"Fattura contrassegnata come inviata con successo\",\n    \"something_went_wrong\": \"Si è verificato un errore\",\n    \"invalid_due_amount_message\": \"L'ammontare totale della fattura non può essere inferiore all'ammontare totale pagato per questa fattura. Modifica la fattura o cancella i pagamenti associati per continuare.\",\n    \"mark_as_default_invoice_template_description\": \"Se abilitata, il modello selezionato verrà selezionato automaticamente per le nuove fatture.\"\n  },\n  \"recurring_invoices\": {\n    \"title\": \"Fatture ricorrenti\",\n    \"invoices_list\": \"Elenco Fatture ricorrenti\",\n    \"days\": \"{days} Giorni\",\n    \"months\": \"{months} Mese\",\n    \"years\": \"{years} Anno\",\n    \"all\": \"Tutte\",\n    \"paid\": \"Pagata\",\n    \"unpaid\": \"Non Pagata\",\n    \"viewed\": \"Vista\",\n    \"overdue\": \"In ritardo\",\n    \"active\": \"Attiva\",\n    \"completed\": \"Completata\",\n    \"customer\": \"CLIENTE\",\n    \"paid_status\": \"STATO DI PAGAMENTO\",\n    \"ref_no\": \"Riferimento #\",\n    \"number\": \"NUMERO\",\n    \"amount_due\": \"AMMONTARE DOVUTO\",\n    \"partially_paid\": \"Parzialmente Pagata\",\n    \"total\": \"Totale\",\n    \"discount\": \"Sconto\",\n    \"sub_total\": \"Totale Parziale\",\n    \"invoice\": \"Fattura Ricorrente | Fatture Ricorrenti\",\n    \"invoice_number\": \"Numero Della Fattura Ricorrente\",\n    \"next_invoice_date\": \"Data Prossima Fattura\",\n    \"ref_number\": \"Numero di Rif.\",\n    \"contact\": \"Contatto\",\n    \"add_item\": \"Aggiungi un elemento\",\n    \"date\": \"Data\",\n    \"limit_by\": \"Limita per\",\n    \"limit_date\": \"Data limite\",\n    \"limit_count\": \"Conteggio Limite\",\n    \"count\": \"Conteggio\",\n    \"status\": \"Stato\",\n    \"select_a_status\": \"Seleziona uno Stato\",\n    \"working\": \"Elaborando\",\n    \"on_hold\": \"In sospeso\",\n    \"complete\": \"Completate\",\n    \"add_tax\": \"Aggiungi imposta\",\n    \"amount\": \"Quantità\",\n    \"action\": \"Azione\",\n    \"notes\": \"Note\",\n    \"view\": \"Visualizza\",\n    \"basic_info\": \"Info Di Base\",\n    \"send_invoice\": \"Invia Fattura Ricorrente\",\n    \"auto_send\": \"Invio automatico\",\n    \"resend_invoice\": \"Reinvia Fattura Ricorrente\",\n    \"invoice_template\": \"Template Fattura Ricorrente\",\n    \"conversion_message\": \"Fattura duplicata con successo\",\n    \"template\": \"Template\",\n    \"mark_as_sent\": \"Segna come inviata\",\n    \"confirm_send_invoice\": \"Questa fattura ricorrente verrà inviata via email al cliente\",\n    \"invoice_mark_as_sent\": \"Questa fattura sarà contrassegnata come inviata\",\n    \"confirm_send\": \"Questa fattura ricorrente verrà inviata via e-mail al cliente\",\n    \"starts_at\": \"Data Inzio\",\n    \"due_date\": \"Data di scadenza fattura\",\n    \"record_payment\": \"Registra Pagamento\",\n    \"add_new_invoice\": \"Nuova Fattura ricorrente\",\n    \"update_expense\": \"Aggiorna Spesa\",\n    \"edit_invoice\": \"Modifica Fattura Ricorrente\",\n    \"new_invoice\": \"Nuova Fattura Ricorrente\",\n    \"send_automatically\": \"Invia automaticamente\",\n    \"send_automatically_desc\": \"Abilitare questa opzione, se si desidera inviare automaticamente la fattura al cliente quando viene creata.\",\n    \"save_invoice\": \"Salva Fattura Ricorrente\",\n    \"update_invoice\": \"Aggiorna Fattura Ricorrente\",\n    \"add_new_tax\": \"Aggiungi una nuova tassa/imposta\",\n    \"no_invoices\": \"Ancora nessuna Fattura Ricorrente!\",\n    \"mark_as_rejected\": \"Segna come rifiutata\",\n    \"mark_as_accepted\": \"Segna come accettata\",\n    \"list_of_invoices\": \"Questa sezione conterrà l'elenco delle fatture ricorrenti.\",\n    \"select_invoice\": \"Seleziona Fattura\",\n    \"no_matching_invoices\": \"Nessuna fattura trovata!\",\n    \"mark_as_sent_successfully\": \"Fattura contassegnata come inviata con successo\",\n    \"invoice_sent_successfully\": \"Fattura inviata con successo\",\n    \"cloned_successfully\": \"Fattura copiata con successo\",\n    \"clone_invoice\": \"Duplica Fattura Ricorrente\",\n    \"confirm_clone\": \"Questa fattura ricorrente verrà clonata in una nuova fattura ricorrente\",\n    \"add_customer_email\": \"Inserisci una E-Mail per inviare automaticamente fatture al cliente.\",\n    \"item\": {\n      \"title\": \"Titolo Articolo\",\n      \"description\": \"Descrizione\",\n      \"quantity\": \"Quantità\",\n      \"price\": \"Prezzo\",\n      \"discount\": \"Sconto\",\n      \"total\": \"Totale\",\n      \"total_discount\": \"Sconto Totale\",\n      \"sub_total\": \"Totale Parziale\",\n      \"tax\": \"Tassa\",\n      \"amount\": \"Importo\",\n      \"select_an_item\": \"Digita o clicca per selezionare un elemento\",\n      \"type_item_description\": \"Tipo Descrizione Articolo (Opzionale)\"\n    },\n    \"frequency\": {\n      \"title\": \"Frequenza\",\n      \"select_frequency\": \"Seleziona Frequenza\",\n      \"minute\": \"Minuto\",\n      \"hour\": \"Ora\",\n      \"day_month\": \"Giorno del mese\",\n      \"month\": \"Mese\",\n      \"day_week\": \"Giorno della settimana\"\n    },\n    \"confirm_delete\": \"Non sarai in grado di recuperare questa fattura | Non sarai in grado di recuperare queste fatture\",\n    \"created_message\": \"Fattura ricorrente creata con successo\",\n    \"updated_message\": \"Fattura ricorrente aggiornata correttamente\",\n    \"deleted_message\": \"Fattura ricorrente eliminata con successo | Fatture ricorrenti eliminate con successo\",\n    \"marked_as_sent_message\": \"Fattura ricorrente contrassegnata come inviata correttamente\",\n    \"user_email_does_not_exist\": \"L'e-mail dell'utente non esiste\",\n    \"something_went_wrong\": \"qualcosa è andato storto\",\n    \"invalid_due_amount_message\": \"L'importo totale delle fatture ricorrenti non può essere inferiore all'importo totale pagato per questa fattura ricorrente. Si prega di aggiornare la fattura o eliminare i pagamenti associati per continuare.\"\n  },\n  \"payments\": {\n    \"title\": \"Pagamenti\",\n    \"payments_list\": \"Lista Pagamenti\",\n    \"record_payment\": \"Registra Pagamento\",\n    \"customer\": \"Cliente\",\n    \"date\": \"Data\",\n    \"amount\": \"Ammontare\",\n    \"action\": \"Azione\",\n    \"payment_number\": \"Numero di pagamento\",\n    \"payment_mode\": \"Modalità di Pagamento\",\n    \"invoice\": \"Fattura\",\n    \"note\": \"Nota\",\n    \"add_payment\": \"Aggiungi Pagamento\",\n    \"new_payment\": \"Nuovo Pagamento\",\n    \"edit_payment\": \"Modifica Pagamento\",\n    \"view_payment\": \"Vedi Pagamento\",\n    \"add_new_payment\": \"Aggiungi nuovo pagamento\",\n    \"send_payment_receipt\": \"Invia ricevuta di pagamento\",\n    \"send_payment\": \"Inviare il pagamento\",\n    \"save_payment\": \"Salva pagamento\",\n    \"update_payment\": \"Aggiorna pagamento\",\n    \"payment\": \"Pagamento | Pagamenti\",\n    \"no_payments\": \"Ancora nessun pagamento!\",\n    \"not_selected\": \"Non Selezionato\",\n    \"no_invoice\": \"Nessuna fattura\",\n    \"no_matching_payments\": \"Non ci sono pagamenti!\",\n    \"list_of_payments\": \"Questa sezione conterrà la lista dei pagamenti.\",\n    \"select_payment_mode\": \"Seleziona modalità di pagamento\",\n    \"confirm_mark_as_sent\": \"Questo preventivo verrà contrassegnato come inviato\",\n    \"confirm_send_payment\": \"Questo pagamento verrà inviato via email al cliente\",\n    \"send_payment_successfully\": \"Pagamento inviato con successo\",\n    \"something_went_wrong\": \"si è verificato un errore\",\n    \"confirm_delete\": \"Non potrai recuperare questo pagamento | Non potrai recuperare questi pagamenti\",\n    \"created_message\": \"Pagamento creato con successo\",\n    \"updated_message\": \"Pagamento aggiornato con successo\",\n    \"deleted_message\": \"Pagamento cancellato con successo | Pagamenti cancellati con successo\",\n    \"invalid_amount_message\": \"L'ammontare del pagamento non è valido\"\n  },\n  \"expenses\": {\n    \"title\": \"Spese\",\n    \"expenses_list\": \"Lista Costi\",\n    \"select_a_customer\": \"Seleziona Cliente\",\n    \"expense_title\": \"Titolo\",\n    \"customer\": \"Cliente\",\n    \"currency\": \"Valuta\",\n    \"contact\": \"Contatto\",\n    \"category\": \"Categoria\",\n    \"from_date\": \"Dalla Data\",\n    \"to_date\": \"Alla Data\",\n    \"expense_date\": \"Data\",\n    \"description\": \"Descrizione\",\n    \"receipt\": \"Ricevuta\",\n    \"amount\": \"Ammontare\",\n    \"action\": \"Azione\",\n    \"not_selected\": \"Non selezionata\",\n    \"note\": \"Nota\",\n    \"category_id\": \"Id categoria\",\n    \"date\": \"Data Spesa\",\n    \"add_expense\": \"Aggiungi Spesa\",\n    \"add_new_expense\": \"Aggiungi nuova Spesa\",\n    \"save_expense\": \"Salva la Spesa\",\n    \"update_expense\": \"Aggiorna Spesa\",\n    \"download_receipt\": \"Scarica la Ricevuta\",\n    \"edit_expense\": \"Modifica Spesa\",\n    \"new_expense\": \"Nuova Spesa\",\n    \"expense\": \"Spesa | Spese\",\n    \"no_expenses\": \"Ancora nessuna spesa!\",\n    \"list_of_expenses\": \"Questa sezione conterrà la lista delle Spese.\",\n    \"confirm_delete\": \"Non potrai recuperare questa spesa | Non potrai recuperare queste spese\",\n    \"created_message\": \"Spesa creata con successo\",\n    \"updated_message\": \"Spesa modificata con successo\",\n    \"deleted_message\": \"Spesa cancellata con successo | Spese cancellate con successo\",\n    \"categories\": {\n      \"categories_list\": \"Lista categorie\",\n      \"title\": \"Titolo\",\n      \"name\": \"Nome\",\n      \"description\": \"Descrizione\",\n      \"amount\": \"Ammontare\",\n      \"actions\": \"Azioni\",\n      \"add_category\": \"Aggiungi Categoria\",\n      \"new_category\": \"Nuova Categoria\",\n      \"category\": \"Categoria | Categorie\",\n      \"select_a_category\": \"Seleziona Categoria\"\n    }\n  },\n  \"login\": {\n    \"email\": \"Email\",\n    \"password\": \"Password\",\n    \"forgot_password\": \"Password dimenticata?\",\n    \"or_signIn_with\": \"o fai login con\",\n    \"login\": \"Accedi\",\n    \"register\": \"Registrati\",\n    \"reset_password\": \"Resetta Password\",\n    \"password_reset_successfully\": \"Password Resettata con successo\",\n    \"enter_email\": \"Inserisci email\",\n    \"enter_password\": \"Inserisci Password\",\n    \"retype_password\": \"Ridigita Password\"\n  },\n  \"modules\": {\n    \"buy_now\": \"Acquista Ora\",\n    \"install\": \"Installa\",\n    \"price\": \"Prezzo\",\n    \"download_zip_file\": \"Scarica il file zip\",\n    \"unzipping_package\": \"Decompressione del pacchetto in corso\",\n    \"copying_files\": \"Copia dei file in corso\",\n    \"deleting_files\": \"Eliminazione dei file inutilizzati\",\n    \"completing_installation\": \"Finalizzando l'installazione\",\n    \"update_failed\": \"Aggiornamento non riuscito\",\n    \"install_success\": \"Modulo installato con successo!\",\n    \"customer_reviews\": \"Recensioni\",\n    \"license\": \"Licenza\",\n    \"faq\": \"FAQ\",\n    \"monthly\": \"Mensile\",\n    \"yearly\": \"Annuale\",\n    \"updated\": \"Aggiornato\",\n    \"version\": \"Versione\",\n    \"disable\": \"Disabilita\",\n    \"module_disabled\": \"Modulo disabilitato\",\n    \"enable\": \"Attiva\",\n    \"module_enabled\": \"Modulo attivato\",\n    \"update_to\": \"Aggiorna a\",\n    \"module_updated\": \"Modulo aggiornato con successo!\",\n    \"title\": \"Moduli\",\n    \"module\": \"Modulo | Moduli\",\n    \"api_token\": \"Token API\",\n    \"invalid_api_token\": \"Token API non valido.\",\n    \"other_modules\": \"Altri Moduli\",\n    \"view_all\": \"Visualizza tutto\",\n    \"no_reviews_found\": \"Non ci sono ancora recensioni per questo modulo!\",\n    \"module_not_purchased\": \"Modulo non acquistato\",\n    \"module_not_found\": \"Modulo non trovato\",\n    \"version_not_supported\": \"This module version doesn't support the current version of Crater\",\n    \"last_updated\": \"Ultimo aggiornamento il\",\n    \"connect_installation\": \"Collega la tua installazione\",\n    \"api_token_description\": \"Accedi a {url} e collega questa installazione inserendo l'API Token. I moduli acquistati verranno visualizzati qui dopo aver stabilito la connessione.\",\n    \"view_module\": \"Mostra Modulo\",\n    \"update_available\": \"Aggiornamento disponibile\",\n    \"purchased\": \"Acquistato\",\n    \"installed\": \"Installato\",\n    \"no_modules_installed\": \"Nessun modulo installato ancora!\",\n    \"disable_warning\": \"Tutte le impostazioni per questo particolare verranno ripristinate.\",\n    \"what_you_get\": \"Cosa puoi ottenere\"\n  },\n  \"users\": {\n    \"title\": \"Utenti\",\n    \"users_list\": \"Lista Utenti\",\n    \"name\": \"Nome\",\n    \"description\": \"Descrizione\",\n    \"added_on\": \"Aggiunto il\",\n    \"date_of_creation\": \"Data di creazione\",\n    \"action\": \"Azione\",\n    \"add_user\": \"Aggiungi Utente\",\n    \"save_user\": \"Salva Utente\",\n    \"update_user\": \"Aggiorna Utente\",\n    \"user\": \"Utente | Utenti\",\n    \"add_new_user\": \"Aggiungi Nuovo Utente\",\n    \"new_user\": \"Nuovo Utente\",\n    \"edit_user\": \"Modifica Utente\",\n    \"no_users\": \"Ancora nessun utente!\",\n    \"list_of_users\": \"Questa sezione conterrà l'elenco degli utenti.\",\n    \"email\": \"Email\",\n    \"phone\": \"Telefono\",\n    \"password\": \"Password\",\n    \"user_attached_message\": \"Non puoi eliminare una Commessa che è già attiva\",\n    \"confirm_delete\": \"Non sarai in grado di recuperare questo utente | Non sarai in grado di recuperare questi utenti\",\n    \"created_message\": \"Utente creato correttamente\",\n    \"updated_message\": \"Utente aggiornato correttamente\",\n    \"deleted_message\": \"Utente eliminato con successo | Utenti eliminati con successo\",\n    \"select_company_role\": \"Seleziona ruolo per {company}\",\n    \"companies\": \"Aziende\"\n  },\n  \"reports\": {\n    \"title\": \"Segnala\",\n    \"from_date\": \"Da\",\n    \"to_date\": \"A\",\n    \"status\": \"Stato\",\n    \"paid\": \"Pagato\",\n    \"unpaid\": \"Non pagato\",\n    \"download_pdf\": \"Scarica PDF\",\n    \"view_pdf\": \"Vedi PDF\",\n    \"update_report\": \"Aggiorna Report\",\n    \"report\": \"Segnalazione | Segnalazioni\",\n    \"profit_loss\": {\n      \"profit_loss\": \"Guadagni & Perdite\",\n      \"to_date\": \"A\",\n      \"from_date\": \"Da\",\n      \"date_range\": \"Seleziona intervallo date\"\n    },\n    \"sales\": {\n      \"sales\": \"Vendite\",\n      \"date_range\": \"Seleziona intervallo date\",\n      \"to_date\": \"A\",\n      \"from_date\": \"Da\",\n      \"report_type\": \"Tipo di report\"\n    },\n    \"taxes\": {\n      \"taxes\": \"Tasse\",\n      \"to_date\": \"Alla data\",\n      \"from_date\": \"Dalla data\",\n      \"date_range\": \"Seleziona intervallo date\"\n    },\n    \"errors\": {\n      \"required\": \"Campo obbligatorio\"\n    },\n    \"invoices\": {\n      \"invoice\": \"Fattura\",\n      \"invoice_date\": \"Data fattura\",\n      \"due_date\": \"Data di pagamento\",\n      \"amount\": \"Ammontare\",\n      \"contact_name\": \"Nome contatto\",\n      \"status\": \"Stato\"\n    },\n    \"estimates\": {\n      \"estimate\": \"Preventivo\",\n      \"estimate_date\": \"Data preventivo\",\n      \"due_date\": \"Data di pagamento\",\n      \"estimate_number\": \"Numero di preventivo\",\n      \"ref_number\": \"Numero di Rif.\",\n      \"amount\": \"Ammontare\",\n      \"contact_name\": \"Nome contatto\",\n      \"status\": \"Stato\"\n    },\n    \"expenses\": {\n      \"expenses\": \"Spese\",\n      \"category\": \"Categoria\",\n      \"date\": \"Data\",\n      \"amount\": \"Ammontare\",\n      \"to_date\": \"Alla data\",\n      \"from_date\": \"Dalla data\",\n      \"date_range\": \"Seleziona intervallo date\"\n    }\n  },\n  \"settings\": {\n    \"menu_title\": {\n      \"account_settings\": \"Impostazioni Account\",\n      \"company_information\": \"Informazioni Azienda\",\n      \"customization\": \"Personalizzazione\",\n      \"preferences\": \"Opzioni\",\n      \"notifications\": \"Notifiche\",\n      \"tax_types\": \"Tipi di Imposte\",\n      \"expense_category\": \"Categorie di spesa\",\n      \"update_app\": \"Aggiorna App\",\n      \"backup\": \"Backup\",\n      \"file_disk\": \"Disco File\",\n      \"custom_fields\": \"Campi personalizzati\",\n      \"payment_modes\": \"Modalità di Pagamento\",\n      \"notes\": \"Note\",\n      \"exchange_rate\": \"Tasso di cambio\",\n      \"address_information\": \"Indirizzo\"\n    },\n    \"address_information\": {\n      \"section_description\": \"  Puoi aggiornare le informazioni sul tuo indirizzo utilizzando il modulo sottostante.\"\n    },\n    \"title\": \"Impostazioni\",\n    \"setting\": \"Opzione | Impostazioni\",\n    \"general\": \"Generale\",\n    \"language\": \"Lingua\",\n    \"primary_currency\": \"Valuta Principale\",\n    \"timezone\": \"Fuso Orario\",\n    \"date_format\": \"Formato data\",\n    \"currencies\": {\n      \"title\": \"Valute\",\n      \"currency\": \"Valùta | Valute\",\n      \"currencies_list\": \"Lista valute\",\n      \"select_currency\": \"Seleziona Valùta\",\n      \"name\": \"Nome\",\n      \"code\": \"Codice\",\n      \"symbol\": \"Simbolo\",\n      \"precision\": \"Precisione\",\n      \"thousand_separator\": \"Separatore migliaia\",\n      \"decimal_separator\": \"Separatore decimali\",\n      \"position\": \"Posizione\",\n      \"position_of_symbol\": \"Posizione del Simbolo\",\n      \"right\": \"Destra\",\n      \"left\": \"Sinistra\",\n      \"action\": \"Azione\",\n      \"add_currency\": \"Aggiungi Valùta\"\n    },\n    \"mail\": {\n      \"host\": \"Host Mail\",\n      \"port\": \"Mail - Porta\",\n      \"driver\": \"Driver Mail\",\n      \"secret\": \"Segreto\",\n      \"mailgun_secret\": \"Segreto Mailgun\",\n      \"mailgun_domain\": \"Dominio\",\n      \"mailgun_endpoint\": \"Endpoint Mailgun\",\n      \"ses_secret\": \"Segreto SES\",\n      \"ses_key\": \"Chiave SES\",\n      \"password\": \"Password Email\",\n      \"username\": \"Nome Utente Email\",\n      \"mail_config\": \"Configurazione Mail\",\n      \"from_name\": \"Nome Mittente Mail\",\n      \"from_mail\": \"Indirizzo Mittente Mail\",\n      \"encryption\": \"Tipo di cifratura Mail\",\n      \"mail_config_desc\": \"Form per Configurazione Driver Mail per invio mail dall'App. Puoi anche configurare providers di terze parti come Sendgrid, SES, etc..\"\n    },\n    \"pdf\": {\n      \"title\": \"Configurazione PDF\",\n      \"footer_text\": \"Testo Footer\",\n      \"pdf_layout\": \"Layout PDF\"\n    },\n    \"company_info\": {\n      \"company_info\": \"Info azienda\",\n      \"company_name\": \"Nome azienda\",\n      \"company_logo\": \"Logo azienda\",\n      \"section_description\": \"Informazioni sulla tua azienda che saranno mostrate in fattura, preventivi ed altri documenti creati dell'applicazione.\",\n      \"phone\": \"Telefono\",\n      \"country\": \"Paese\",\n      \"state\": \"Provincia\",\n      \"city\": \"Città\",\n      \"address\": \"Indirizzo\",\n      \"zip\": \"CAP\",\n      \"save\": \"Salva\",\n      \"delete\": \"Elimina\",\n      \"updated_message\": \"Informazioni Azienda aggiornate con successo.\",\n      \"delete_company\": \"Elimina Azienda\",\n      \"delete_company_description\": \"Una volta eliminata la tua azienda, perderai tutti i dati e i file associati in modo permanente.\",\n      \"are_you_absolutely_sure\": \"Sei assolutamente sicuro?\",\n      \"delete_company_modal_desc\": \"Questa azione non può essere annullata. Questo eliminerà definitivamente {company} e tutti i suoi dati associati.\",\n      \"delete_company_modal_label\": \"Digita {company} per confermare\"\n    },\n    \"custom_fields\": {\n      \"title\": \"Campi personalizzati\",\n      \"section_description\": \"Personalizza le tue fatture, preventivi e ricevute di pagamento con i tuoi campi. Assicurati di utilizzare i campi aggiunti qui sotto nei campi della pagina Personalizzazione delle impostazioni.\",\n      \"add_custom_field\": \"Aggiungi campo personalizzato\",\n      \"edit_custom_field\": \"Modifica campo personalizzato\",\n      \"field_name\": \"Nome campo\",\n      \"label\": \"Etichetta\",\n      \"type\": \"genere\",\n      \"name\": \"Nome\",\n      \"slug\": \"URL personalizzato\",\n      \"required\": \"Necessaria\",\n      \"placeholder\": \"segnaposto\",\n      \"help_text\": \"Testo guida\",\n      \"default_value\": \"Valore predefinito\",\n      \"prefix\": \"Prefisso\",\n      \"starting_number\": \"Numero iniziale\",\n      \"model\": \"Modella\",\n      \"help_text_description\": \"Inserisci del testo per aiutare gli utenti a comprendere lo scopo di questo campo personalizzato.\",\n      \"suffix\": \"Suffisso\",\n      \"yes\": \"sì\",\n      \"no\": \"No\",\n      \"order\": \"Ordine\",\n      \"custom_field_confirm_delete\": \"Non sarai in grado di recuperare questo campo personalizzato\",\n      \"already_in_use\": \"Il campo personalizzato è già in uso\",\n      \"deleted_message\": \"Campo personalizzato eliminato correttamente\",\n      \"options\": \"opzioni\",\n      \"add_option\": \"Aggiungi opzioni\",\n      \"add_another_option\": \"Aggiungi un'altra opzione\",\n      \"sort_in_alphabetical_order\": \"Ordina in ordine alfabetico\",\n      \"add_options_in_bulk\": \"Aggiungi opzioni in blocco\",\n      \"use_predefined_options\": \"Usa opzioni predefinite\",\n      \"select_custom_date\": \"Seleziona la data personalizzata\",\n      \"select_relative_date\": \"Seleziona la data relativa\",\n      \"ticked_by_default\": \"Contrassegnato per impostazione predefinita\",\n      \"updated_message\": \"Campo personalizzato aggiornato correttamente\",\n      \"added_message\": \"Campo personalizzato aggiunto correttamente\",\n      \"press_enter_to_add\": \"Premi Invio per aggiungere una nuova opzione\",\n      \"model_in_use\": \"Impossibile aggiornare il modello per i campi già in uso.\",\n      \"type_in_use\": \"Impossibile aggiornare il tipo per i campi già in uso.\"\n    },\n    \"customization\": {\n      \"customization\": \"personalizzazione\",\n      \"updated_message\": \"Info azienda aggiornate con successo\",\n      \"save\": \"Salva\",\n      \"insert_fields\": \"Inserisci Campi\",\n      \"learn_custom_format\": \"Impara come utilizzare il formato personalizzato\",\n      \"add_new_component\": \"Aggiungi un componente\",\n      \"component\": \"Componente\",\n      \"Parameter\": \"Parametro\",\n      \"series\": \"Serie\",\n      \"series_description\": \"Per impostare un prefisso statico / postfix come 'INV' attraverso la tua azienda. Supporta la lunghezza del personaggio fino a 4 caratteri.\",\n      \"series_param_label\": \"Valore Serie\",\n      \"delimiter\": \"Delimitatore\",\n      \"delimiter_description\": \"Singolo carattere per specificare il confine tra 2 componenti separati. Per impostazione predefinita è impostato a -\",\n      \"delimiter_param_label\": \"Valore Delimitatore\",\n      \"date_format\": \"Formato data\",\n      \"date_format_description\": \"Un campo di data e ora locale che accetta un parametro di formato. Il formato predefinito: 'Y' rende l'anno corrente.\",\n      \"date_format_param_label\": \"Formato\",\n      \"sequence\": \"Sequenza\",\n      \"sequence_description\": \"Sequenza numerica nella tua azienda. Puoi specificare la lunghezza sul parametro specificato.\",\n      \"sequence_param_label\": \"Lunghezza Sequenza\",\n      \"customer_series\": \"Serie Cliente\",\n      \"customer_series_description\": \"Per impostare un prefisso/postfix diverso per ogni cliente.\",\n      \"customer_sequence\": \"Sequenza Cliente\",\n      \"customer_sequence_description\": \"Sequenza consecutiva di numeri per ogni vostro cliente.\",\n      \"customer_sequence_param_label\": \"Lunghezza Sequenza\",\n      \"random_sequence\": \"Sequenza Casuale\",\n      \"random_sequence_description\": \"Stringa alfanumerica casuale. Puoi specificare la lunghezza sul parametro dato.\",\n      \"random_sequence_param_label\": \"Lunghezza Sequenza\",\n      \"invoices\": {\n        \"title\": \"Fatture\",\n        \"invoice_number_format\": \"Formato Numero Fattura\",\n        \"invoice_number_format_description\": \"Personalizza il modo in cui il numero di fattura viene generato automaticamente quando crei una nuova fattura.\",\n        \"preview_invoice_number\": \"Anteprima Numero Fattura\",\n        \"due_date\": \"Data di pagamento\",\n        \"due_date_description\": \"Specificare come la data di scadenza viene impostata automaticamente quando si crea una fattura.\",\n        \"due_date_days\": \"Scadenza dopo (giorni)\",\n        \"set_due_date_automatically\": \"Imposta Data Di Scadenza Automaticamente\",\n        \"set_due_date_automatically_description\": \"Abilita questa opzione se vuoi impostare automaticamente la data di scadenza quando crei una nuova fattura.\",\n        \"default_formats\": \"Formato predefinito\",\n        \"default_formats_description\": \"Sotto i formati dati vengono utilizzati per riempire automaticamente i campi alla creazione della fattura.\",\n        \"default_invoice_email_body\": \"Corpo Email Fattura Predefinito\",\n        \"company_address_format\": \"Formato Indirizzo Azienda\",\n        \"shipping_address_format\": \"Formato Indirizzo Di Spedizione\",\n        \"billing_address_format\": \"Formato Indirizzo Fatturazione\",\n        \"invoice_email_attachment\": \"Invia fatture come allegati\",\n        \"invoice_email_attachment_setting_description\": \"Abilita questa opzione se vuoi inviare fatture come allegati email. Si prega di notare che il pulsante 'Visualizza fattura' nelle email non verrà più visualizzato quando ciò viene abilitato.\",\n        \"invoice_settings_updated\": \"Impostazioni fatture aggiornate con successo\",\n        \"retrospective_edits\": \"Modifica Retrospettiva\",\n        \"allow\": \"Permetti\",\n        \"disable_on_invoice_partial_paid\": \"Disabilita dopo la registrazione del pagamento parziale\",\n        \"disable_on_invoice_paid\": \"Disabilita dopo la registrazione del pagamento parziale\",\n        \"disable_on_invoice_sent\": \"Disabilita dopo l'invio della fattura\",\n        \"retrospective_edits_description\": \" In base alle leggi del tuo paese o alle tue preferenze, puoi limitare gli utenti dalla modifica delle fatture finalizzate.\"\n      },\n      \"estimates\": {\n        \"title\": \"Preventivi\",\n        \"estimate_number_format\": \"Formato del Numero di Serie\",\n        \"estimate_number_format_description\": \"Personalizza il modo in cui il numero di fattura viene generato automaticamente quando crei una nuova fattura.\",\n        \"preview_estimate_number\": \"Anteprima Numero Preventivo\",\n        \"expiry_date\": \"Data di scadenza\",\n        \"expiry_date_description\": \"Specificare come la data di scadenza viene impostata automaticamente quando si crea una fattura.\",\n        \"expiry_date_days\": \"Stima Scade dopo giorni\",\n        \"set_expiry_date_automatically\": \"Imposta Data Di Scadenza Automaticamente\",\n        \"set_expiry_date_automatically_description\": \"Abilita questa opzione se vuoi impostare automaticamente la data di scadenza quando crei una nuova fattura.\",\n        \"default_formats\": \"Formato predefinito\",\n        \"default_formats_description\": \"Sotto i formati dati vengono utilizzati per riempire automaticamente i campi alla creazione della fattura.\",\n        \"default_estimate_email_body\": \"Corpo Email Preventivo Predefinito\",\n        \"company_address_format\": \"Formato Indirizzo Azienda\",\n        \"shipping_address_format\": \"Formato Indirizzo Spedizione\",\n        \"billing_address_format\": \"Formato Indirizzo Fatturazione\",\n        \"estimate_email_attachment\": \"Invia stime come allegati\",\n        \"estimate_email_attachment_setting_description\": \"Abilita questa opzione se vuoi inviare fatture come allegati email. Si prega di notare che il pulsante 'Visualizza fattura' nelle email non verrà più visualizzato quando ciò viene abilitato.\",\n        \"estimate_settings_updated\": \"Impostazioni preventivi aggiornate con successo\",\n        \"convert_estimate_options\": \"Preventivo Converti Azione\",\n        \"convert_estimate_description\": \"Specificare cosa succede al preventivo dopo che viene convertito in una fattura.\",\n        \"no_action\": \"Nessuna azione\",\n        \"delete_estimate\": \"Elimina preventivo\",\n        \"mark_estimate_as_accepted\": \"Segna preventivo come accettato\"\n      },\n      \"payments\": {\n        \"title\": \"Pagamenti\",\n        \"payment_number_format\": \"Formato Numero Pagamento\",\n        \"payment_number_format_description\": \"Personalizza il modo in cui il numero di fattura viene generato automaticamente quando crei una nuova fattura.\",\n        \"preview_payment_number\": \"Anteprima Numero Di Pagamento\",\n        \"default_formats\": \"Formato predefinito\",\n        \"default_formats_description\": \"Sotto i formati dati vengono utilizzati per riempire automaticamente i campi alla creazione della fattura.\",\n        \"default_payment_email_body\": \"Corpo Email Pagamento Predefinito\",\n        \"company_address_format\": \"Formato Indirizzo Azienda\",\n        \"from_customer_address_format\": \"Dal Formato Indirizzo Cliente\",\n        \"payment_email_attachment\": \"Invia stime come allegati\",\n        \"payment_email_attachment_setting_description\": \"Abilita questa opzione se vuoi inviare fatture come allegati email. Si prega di notare che il pulsante 'Visualizza fattura' nelle email non verrà più visualizzato quando ciò viene abilitato.\",\n        \"payment_settings_updated\": \"Impostazioni di pagamento aggiornate con successo\"\n      },\n      \"items\": {\n        \"title\": \"Commesse\",\n        \"units\": \"unità\",\n        \"add_item_unit\": \"Aggiungi Unità Item\",\n        \"edit_item_unit\": \"Modifica unità articolo\",\n        \"unit_name\": \"Nome\",\n        \"item_unit_added\": \"Unità aggiunta\",\n        \"item_unit_updated\": \"Unità aggiornata\",\n        \"item_unit_confirm_delete\": \"Non potrai ripristinare questa unità Item\",\n        \"already_in_use\": \"Unità Item già in uso\",\n        \"deleted_message\": \"Unità item eliminata con successo\"\n      },\n      \"notes\": {\n        \"title\": \"Note\",\n        \"description\": \"Risparmia tempo creando note e riutilizzandole sulle tue fatture, preventivi e pagamenti.\",\n        \"notes\": \"Note\",\n        \"type\": \"genere\",\n        \"add_note\": \"Aggiungi Nota\",\n        \"add_new_note\": \"Aggiungi nuova nota\",\n        \"name\": \"Nome\",\n        \"edit_note\": \"Modifica nota\",\n        \"note_added\": \"Nota aggiunta correttamente\",\n        \"note_updated\": \"Nota aggiornata correttamente\",\n        \"note_confirm_delete\": \"Non sarà possibile recuperare questa nota\",\n        \"already_in_use\": \"Nota già in uso\",\n        \"deleted_message\": \"Nota eliminata con successo\"\n      }\n    },\n    \"account_settings\": {\n      \"profile_picture\": \"Immagine profilo\",\n      \"name\": \"Nome\",\n      \"email\": \"Email\",\n      \"password\": \"Password\",\n      \"confirm_password\": \"Conferma Password\",\n      \"account_settings\": \"Impostazioni Account\",\n      \"save\": \"Salva\",\n      \"section_description\": \"Puoi aggiornare nome email e password utilizzando il form qui sotto.\",\n      \"updated_message\": \"Impostazioni account aggiornate con successo\"\n    },\n    \"user_profile\": {\n      \"name\": \"Nome\",\n      \"email\": \"Email\",\n      \"password\": \"Password\",\n      \"confirm_password\": \"Conferma Password\"\n    },\n    \"notification\": {\n      \"title\": \"Notifica\",\n      \"email\": \"Invia notifiche a\",\n      \"description\": \"Quali notifiche email vorresti ricevere quando qualcosa cambia?\",\n      \"invoice_viewed\": \"Fattura visualizzata\",\n      \"invoice_viewed_desc\": \"Quando il cliente visualizza la fattura inviata via dashboard applicazione.\",\n      \"estimate_viewed\": \"Preventivo visualizzato\",\n      \"estimate_viewed_desc\": \"Quando il cliente visualizza il preventivo inviato dall'applicazione.\",\n      \"save\": \"Salva\",\n      \"email_save_message\": \"Email salvata con successo\",\n      \"please_enter_email\": \"Inserisci Email\"\n    },\n    \"roles\": {\n      \"title\": \"Ruoli\",\n      \"description\": \"Gestisci i ruoli e i permessi di questa azienda\",\n      \"save\": \"Salva\",\n      \"add_new_role\": \"Aggiungi Nuovo Ruolo\",\n      \"role_name\": \"Nome Ruolo\",\n      \"added_on\": \"Aggiunto il\",\n      \"add_role\": \"Aggiungi Ruolo\",\n      \"edit_role\": \"Modifica Ruolo\",\n      \"name\": \"Nome\",\n      \"permission\": \"Permesso | Permessi\",\n      \"select_all\": \"Seleziona tutto\",\n      \"none\": \"Nessuno\",\n      \"confirm_delete\": \"Non sarai in grado di recuperare questo ruolo\",\n      \"created_message\": \"Utente creato correttamente\",\n      \"updated_message\": \"Ruolo aggiornato correttamente\",\n      \"deleted_message\": \"Ruolo eliminato con successo\",\n      \"already_in_use\": \"Ruolo già in uso\"\n    },\n    \"exchange_rate\": {\n      \"exchange_rate\": \"Tasso di cambio\",\n      \"title\": \"Correggi i problemi di cambio valuta\",\n      \"description\": \"Inserisci il tasso di cambio di tutte le valute menzionate di seguito per aiutare il Cratere a calcolare correttamente gli importi in {currency}.\",\n      \"drivers\": \"Drivers\",\n      \"new_driver\": \"Aggiungi Nuovo Fornitore\",\n      \"edit_driver\": \"Modifica Fornitore\",\n      \"select_driver\": \"Seleziona Driver\",\n      \"update\": \"seleziona il tasso di cambio \",\n      \"providers_description\": \"Configura qui i tuoi fornitori di tassi di cambio per recuperare automaticamente l'ultimo tasso di cambio sulle transazioni.\",\n      \"key\": \"Chiave API\",\n      \"name\": \"Nome\",\n      \"driver\": \"Driver\",\n      \"is_default\": \"É PREDEFINITO\",\n      \"currency\": \"Valute\",\n      \"exchange_rate_confirm_delete\": \"Non sarà possibile recuperare questo driver\",\n      \"created_message\": \"Fornitore creato con successo\",\n      \"updated_message\": \"Provider Aggiornato Con Successo\",\n      \"deleted_message\": \"Provider Eliminato Con Successo\",\n      \"error\": \" Impossibile Eliminare Il Driver Attivo\",\n      \"default_currency_error\": \"Questa valuta è già utilizzata in uno dei Provider Attivi\",\n      \"exchange_help_text\": \"Inserisci il tasso di cambio da {currency} a {baseCurrency}\",\n      \"currency_freak\": \"Valuta Freak\",\n      \"currency_layer\": \"Livello Valuta\",\n      \"open_exchange_rate\": \"Tasso Di Cambio Aperto\",\n      \"currency_converter\": \"Convertitore Valuta\",\n      \"server\": \"Server\",\n      \"url\": \"Indirizzo\",\n      \"active\": \"Attivo\",\n      \"currency_help_text\": \"Questo provider sarà utilizzato solo sulle valute sopra selezionate\",\n      \"currency_in_used\": \"Le seguenti valute sono già attive su un altro provider. Si prega di rimuovere queste valute dalla selezione per attivare nuovamente questo provider.\"\n    },\n    \"tax_types\": {\n      \"title\": \"Tipi di Imposte\",\n      \"add_tax\": \"Aggiungi Imposta\",\n      \"edit_tax\": \"Modifica imposta\",\n      \"description\": \"Puoi aggiongere e rimuovere imposte a piacimento. Vengono supportate Tasse differenti per prodotti/servizi specifici esattamento come per le fatture.\",\n      \"add_new_tax\": \"Aggiungi nuova imposta\",\n      \"tax_settings\": \"Impostazioni Imposte\",\n      \"tax_per_item\": \"Tassa per prodotto/servizio\",\n      \"tax_name\": \"Nome imposta\",\n      \"compound_tax\": \"Imposta composta\",\n      \"percent\": \"Percento\",\n      \"action\": \"Azione\",\n      \"tax_setting_description\": \"Abilita se vuoi aggiungere imposte specifiche per prodotti o servizi. Di default le imposte sono aggiunte direttamente alla fattura.\",\n      \"created_message\": \"Tipo di imposta creato con successo\",\n      \"updated_message\": \"Tipo di imposta aggiornato con successo\",\n      \"deleted_message\": \"Tipo di imposta eliminato con successo\",\n      \"confirm_delete\": \"Non potrai ripristinare questo tipo di imposta\",\n      \"already_in_use\": \"Imposta già in uso\"\n    },\n    \"payment_modes\": {\n      \"title\": \"Modalità di pagamento\",\n      \"description\": \"Modalità di transazione per i pagamenti\",\n      \"add_payment_mode\": \"Aggiungi modalità di pagamento\",\n      \"edit_payment_mode\": \"Modifica modalità di pagamento\",\n      \"mode_name\": \"Nome modalità\",\n      \"payment_mode_added\": \"Modalità di pagamento aggiunta\",\n      \"payment_mode_updated\": \"Modalità di pagamento aggiornata\",\n      \"payment_mode_confirm_delete\": \"Non potrai ripristinare la modalità di pagamento\",\n      \"payments_attached\": \"Questo metodo di pagamento è già allegato ai pagamenti. Si prega di eliminare i pagamenti allegati per procedere con la cancellazione.\",\n      \"expenses_attached\": \"Questo metodo di pagamento è già allegato alle spese. Si prega di eliminare le spese allegate per procedere alla cancellazione.\",\n      \"deleted_message\": \"Modalità di pagamento eliminata con successo\"\n    },\n    \"expense_category\": {\n      \"title\": \"Categorie di spesa\",\n      \"action\": \"Azione\",\n      \"description\": \"Le categorie sono necessarie per aggiungere delle voci di spesa. Puoi aggiungere o eliminare queste categorie in base alle tue preferenze.\",\n      \"add_new_category\": \"Aggiungi nuova categoria\",\n      \"add_category\": \"Aggiungi categoria\",\n      \"edit_category\": \"Modifica categoria\",\n      \"category_name\": \"Nome Categoria\",\n      \"category_description\": \"Descrizione\",\n      \"created_message\": \"Categoria di spesa creata con successo\",\n      \"deleted_message\": \"Categoria di spesa eliminata con successo\",\n      \"updated_message\": \"Categoria di spesa aggiornata con successo\",\n      \"confirm_delete\": \"Non potrai ripristinare questa categoria di spesa\",\n      \"already_in_use\": \"Categoria già in uso\"\n    },\n    \"preferences\": {\n      \"currency\": \"Valùta\",\n      \"default_language\": \"Lingua predefinita\",\n      \"time_zone\": \"Fuso Orario\",\n      \"fiscal_year\": \"Anno finanziario\",\n      \"date_format\": \"Formato Data\",\n      \"discount_setting\": \"Impostazione Sconto\",\n      \"discount_per_item\": \"Sconto Per Item \",\n      \"discount_setting_description\": \"Abilita se vuoi aggiungere uno sconto ad uno specifica fattura. Di default, lo sconto è aggiunto direttamente in fattura.\",\n      \"expire_public_links\": \"Scadenza Automatica dei Link Pubblici\",\n      \"expire_setting_description\": \"Specifica se si vuole far scadere tutti i link inviati dall'applicazione per visualizzare fatture, preventivi e pagamenti, ecc. dopo una durata specificata.\",\n      \"save\": \"Salva\",\n      \"preference\": \"Preferenza | Preferenze\",\n      \"general_settings\": \"Impostazioni di default del sistema.\",\n      \"updated_message\": \"Preferenze aggiornate con successo\",\n      \"select_language\": \"seleziona lingua\",\n      \"select_time_zone\": \"Seleziona Time Zone\",\n      \"select_date_format\": \"Seleziona Formato Data\",\n      \"select_financial_year\": \"Seleziona anno finanziario\",\n      \"recurring_invoice_status\": \"Stato Fattura Ricorrente\",\n      \"create_status\": \"Crea stato\",\n      \"active\": \"Attivo\",\n      \"on_hold\": \"In sospeso\",\n      \"update_status\": \"Aggiorna stato\",\n      \"completed\": \"Completato\",\n      \"company_currency_unchangeable\": \"La valuta dell'azienda non può essere cambiata\"\n    },\n    \"update_app\": {\n      \"title\": \"Aggiorna App\",\n      \"description\": \"Puoi facilmente aggiornare l'app. Aggiorna cliccando sul bottone qui sotto\",\n      \"check_update\": \"Controllo aggiornamenti\",\n      \"avail_update\": \"Aggiornamento disponibile\",\n      \"next_version\": \"Versione successiva\",\n      \"requirements\": \"Requisiti\",\n      \"update\": \"Aggiorna ora\",\n      \"update_progress\": \"Aggiornamento in corso...\",\n      \"progress_text\": \"Sarà necessario qualche minuto. Per favore non aggiornare la pagina e non chiudere la finestra prima che l'aggiornamento sia completato\",\n      \"update_success\": \"L'App è aggiornata! Attendi che la pagina venga ricaricata automaticamente.\",\n      \"latest_message\": \"Nessun aggiornamneto disponibile! Sei già alla versione più recente.\",\n      \"current_version\": \"Versione corrente\",\n      \"download_zip_file\": \"Scarica il file ZIP\",\n      \"unzipping_package\": \"Pacchetto di decompressione\",\n      \"copying_files\": \"Copia dei file\",\n      \"deleting_files\": \"Eliminazione dei file inutilizzati\",\n      \"running_migrations\": \"Esecuzione delle migrazioni\",\n      \"finishing_update\": \"Aggiornamento di finitura\",\n      \"update_failed\": \"Aggiornamento non riuscito\",\n      \"update_failed_text\": \"Scusate! L'aggiornamento non è riuscito il: passaggio {step}\",\n      \"update_warning\": \"Tutti i file dell'applicazione e i file di modello predefiniti verranno sovrascritti quando si aggiorna l'applicazione utilizzando questa utility. Si prega di fare un backup dei modelli e del database prima di aggiornare.\"\n    },\n    \"backup\": {\n      \"title\": \"Backup | Backups\",\n      \"description\": \"Il backup è un file zip che contiene tutti i file nelle cartelle specificate con un dump del vostro database\",\n      \"new_backup\": \"Nuovo Backup\",\n      \"create_backup\": \"Crea Backup\",\n      \"select_backup_type\": \"Scegli tipo di backup\",\n      \"backup_confirm_delete\": \"Non sarà possibile recuperare questo backup\",\n      \"path\": \"percorso\",\n      \"new_disk\": \"Nuovo Disco\",\n      \"created_at\": \"creato il\",\n      \"size\": \"dimensioni\",\n      \"dropbox\": \"dropbox\",\n      \"local\": \"locale\",\n      \"healthy\": \"sano\",\n      \"amount_of_backups\": \"quantità di backup\",\n      \"newest_backups\": \"backup più recenti\",\n      \"used_storage\": \"spazio utilizzato\",\n      \"select_disk\": \"Seleziona Disco\",\n      \"action\": \"Azione\",\n      \"deleted_message\": \"Backup eliminato con successo\",\n      \"created_message\": \"Backup creato con successo\",\n      \"invalid_disk_credentials\": \"Credenziali del disco selezionato non valide\"\n    },\n    \"disk\": {\n      \"title\": \"Disco File | Dischi File\",\n      \"description\": \"Per impostazione predefinita, Crater utilizzerà il disco locale per salvare backup, avatar e altri file di immagine. Puoi configurare più di un driver disco come DigitalOcean, S3 e Dropbox in base alle tue preferenze.\",\n      \"created_at\": \"creato il\",\n      \"dropbox\": \"dropbox\",\n      \"name\": \"Nome\",\n      \"driver\": \"Driver\",\n      \"disk_type\": \"genere\",\n      \"disk_name\": \"Nome Disco\",\n      \"new_disk\": \"Aggiungi Nuovo Disco\",\n      \"filesystem_driver\": \"Driver Filesystem\",\n      \"local_driver\": \"driver locale\",\n      \"local_root\": \"radice locale\",\n      \"public_driver\": \"Driver Pubblico\",\n      \"public_root\": \"Root Pubblica\",\n      \"public_url\": \"Url Pubblico\",\n      \"public_visibility\": \"Visibilità Pubblica\",\n      \"media_driver\": \"Driver Media\",\n      \"media_root\": \"Media Root\",\n      \"aws_driver\": \"Driver AWS\",\n      \"aws_key\": \"Chiave AWS\",\n      \"aws_secret\": \"Segreto AWS\",\n      \"aws_region\": \"Regione AWS\",\n      \"aws_bucket\": \"Bucket AWS\",\n      \"aws_root\": \"Root AWS\",\n      \"do_spaces_type\": \"tipo Do Spaces\",\n      \"do_spaces_key\": \"chiave Do Spaces\",\n      \"do_spaces_secret\": \"segreto Do Spaces\",\n      \"do_spaces_region\": \"regione Do Spaces\",\n      \"do_spaces_bucket\": \"bucket Do Spaces\",\n      \"do_spaces_endpoint\": \"endpoint Do Spaces\",\n      \"do_spaces_root\": \"root Do Spaces\",\n      \"dropbox_type\": \"Tipo Dropbox\",\n      \"dropbox_token\": \"Token Dropbox\",\n      \"dropbox_key\": \"Chiave Dropbox\",\n      \"dropbox_secret\": \"Segreto Dropbox\",\n      \"dropbox_app\": \"App Dropbox\",\n      \"dropbox_root\": \"Root Dropbox\",\n      \"default_driver\": \"Driver Predefinito\",\n      \"is_default\": \"È DEFAULT\",\n      \"set_default_disk\": \"Imposta Disco Predefinito\",\n      \"set_default_disk_confirm\": \"Questo disco sarà impostato come predefinito e tutti i nuovi PDF saranno salvati su questo disco\",\n      \"success_set_default_disk\": \"Disco impostato come predefinito correttamente\",\n      \"save_pdf_to_disk\": \"Salva i PDF su disco\",\n      \"disk_setting_description\": \" Abilita questa opzione, se vuoi salvare automaticamente una copia di ogni PDF Fattura, Preventivo e Ricevuta di Pagamento sul tuo disco predefinito. Attivare questa opzione diminuirà il tempo di caricamento durante la visualizzazione dei PDF.\",\n      \"select_disk\": \"Seleziona Disco\",\n      \"disk_settings\": \"Impostazioni Disco\",\n      \"confirm_delete\": \"I file e le cartelle esistenti nel disco specificato non saranno toccati, ma la configurazione del disco sarà eliminata dal Crater\",\n      \"action\": \"Azione\",\n      \"edit_file_disk\": \"Modifica Disco File\",\n      \"success_create\": \"Disco aggiunto correttamente\",\n      \"success_update\": \"Disco aggiornato correttamente\",\n      \"error\": \"Aggiunta del disco fallita\",\n      \"deleted_message\": \"Disco file eliminato con successo\",\n      \"disk_variables_save_successfully\": \"Disco Configurato Con successo\",\n      \"disk_variables_save_error\": \"Configurazione disco fallita.\",\n      \"invalid_disk_credentials\": \"Credenziali del disco selezionato non valide\"\n    },\n    \"taxations\": {\n      \"add_billing_address\": \"Inserisci l'indirizzo di Fatturazione\",\n      \"add_shipping_address\": \"Inserisci l'indirizzo di Spedizione\",\n      \"add_company_address\": \"Inserisci l'indirizzo aziendale\",\n      \"modal_description\": \"Le informazioni di seguito sono richieste per recuperare l'imposta sulle vendite.\",\n      \"add_address\": \"Aggiungi indirizzo per recuperare l'imposta sulle vendite.\",\n      \"address_placeholder\": \"Esempio: Via Garibaldi, 123\",\n      \"city_placeholder\": \"Esempio: Roma\",\n      \"state_placeholder\": \"Esempio: RM\",\n      \"zip_placeholder\": \"Esempio: 00100\",\n      \"invalid_address\": \"Fornisci un indirizzo valido.\"\n    }\n  },\n  \"wizard\": {\n    \"account_info\": \"Informazioni Account\",\n    \"account_info_desc\": \"I dettagli qui sotto verranno usati per creare l'account principale dell'Amministratore. Puoi modificarli in qualsiasi momento dopo esserti loggato come Amministratore.\",\n    \"name\": \"Nome\",\n    \"email\": \"Email\",\n    \"password\": \"Password\",\n    \"confirm_password\": \"Conferma Password\",\n    \"save_cont\": \"Salva & Continua\",\n    \"company_info\": \"Informazioni Azienda\",\n    \"company_info_desc\": \"Questa informazione verrà mostrata nelle fatture. Puoi modificare queste informazione in un momento successivo dalla pagina delle impostazioni.\",\n    \"company_name\": \"Nome Azienda\",\n    \"company_logo\": \"Logo Azienda\",\n    \"logo_preview\": \"Anteprima Logo\",\n    \"preferences\": \"Impostazioni\",\n    \"preferences_desc\": \"Impostazioni di default del sistema.\",\n    \"currency_set_alert\": \"La valuta dell'azienda non può essere modificata più tardi.\",\n    \"country\": \"Paese\",\n    \"state\": \"Provincia\",\n    \"city\": \"Città\",\n    \"address\": \"Indirizzo\",\n    \"street\": \"Indirizzo1 | Indirizzo2\",\n    \"phone\": \"Telefono\",\n    \"zip_code\": \"CAP/Zip Code\",\n    \"go_back\": \"Torna indietro\",\n    \"currency\": \"Valùta\",\n    \"language\": \"Lingua\",\n    \"time_zone\": \"Fuso Orario\",\n    \"fiscal_year\": \"Anno Finanziario\",\n    \"date_format\": \"Formato Date\",\n    \"from_address\": \"Indirizzo - Da\",\n    \"username\": \"Nome utente\",\n    \"next\": \"Successivo\",\n    \"continue\": \"Continua\",\n    \"skip\": \"Salta\",\n    \"database\": {\n      \"database\": \"URL del sito & database\",\n      \"connection\": \"Connessione Database\",\n      \"host\": \"Host Database\",\n      \"port\": \"Database - Porta\",\n      \"password\": \"Password Database\",\n      \"app_url\": \"URL dell'App\",\n      \"app_domain\": \"Dominio App\",\n      \"username\": \"Nome Utente del Database\",\n      \"db_name\": \"Database Nome\",\n      \"db_path\": \"Percorso del database\",\n      \"desc\": \"Crea un database sul tuo server e setta le credenziali usando il form qui sotto.\"\n    },\n    \"permissions\": {\n      \"permissions\": \"Permessi\",\n      \"permission_confirm_title\": \"Sei sicuro di voler continuare?\",\n      \"permission_confirm_desc\": \"Controllo sui permessi Cartelle, fallito\",\n      \"permission_desc\": \"Qui sotto la lista dei permessi richiesti per far funzionare correttamente l'App. Se il controllo dei permessi fallisce, assicurati di aggiornare/modificare i permessi sulle cartelle.\"\n    },\n    \"verify_domain\": {\n      \"title\": \"Verifica Dominio\",\n      \"desc\": \"Crater utilizza l'autenticazione basata su sessione, che richiede la verifica del dominio per scopi di sicurezza. Inserisci il dominio su cui accederai alla tua applicazione web.\",\n      \"app_domain\": \"Dominio App\",\n      \"verify_now\": \"Verifica Ora\",\n      \"success\": \"Dominio Verificato Con Successo.\",\n      \"failed\": \"Verifica del dominio fallita. Inserisci un nome di dominio valido.\",\n      \"verify_and_continue\": \"Verifica e continua\"\n    },\n    \"mail\": {\n      \"host\": \"Host Mail\",\n      \"port\": \"Mail - Porta\",\n      \"driver\": \"Driver Mail\",\n      \"secret\": \"Segreto\",\n      \"mailgun_secret\": \"Segreto Mailgun\",\n      \"mailgun_domain\": \"Dominio\",\n      \"mailgun_endpoint\": \"Endpoint Mailgun\",\n      \"ses_secret\": \"Segreto SES\",\n      \"ses_key\": \"Chiave SES\",\n      \"password\": \"Password Email\",\n      \"username\": \"Nome Utente Email\",\n      \"mail_config\": \"Configurazione Mail\",\n      \"from_name\": \"Nome mittente mail\",\n      \"from_mail\": \"Indirizzo mittente mail\",\n      \"encryption\": \"Tipo di cifratura Mail\",\n      \"mail_config_desc\": \"Form per configurazione del 'driver mail' per inviare emails dall'App. Puoi anche configurare servizi di terze parti come Sendgrid, SES, ecc..\"\n    },\n    \"req\": {\n      \"system_req\": \"Requisiti di Sistema\",\n      \"php_req_version\": \"Php (versione {version} richiesta)\",\n      \"check_req\": \"Controllo Requisiti\",\n      \"system_req_desc\": \"Crater ha alcuni requisiti di sistema. Assicurati che il server ha la versione di php richiesta e tutte le estensioni necessarie.\"\n    },\n    \"errors\": {\n      \"migrate_failed\": \"Migrazione Fallita\",\n      \"database_variables_save_error\": \"Impossibile scrivere la configurazione nel file .env. Si prega di controllare i permessi dei file\",\n      \"mail_variables_save_error\": \"Configurazione email fallita.\",\n      \"connection_failed\": \"Connessione al Database fallita\",\n      \"database_should_be_empty\": \"Il database dovrebbe essere vuoto\"\n    },\n    \"success\": {\n      \"mail_variables_save_successfully\": \"Email configurata con successo\",\n      \"database_variables_save_successfully\": \"Database configurato con successo.\"\n    }\n  },\n  \"validation\": {\n    \"invalid_phone\": \"Numero di telefono invalido\",\n    \"invalid_url\": \"URL non valido (es: http://www.crater.com)\",\n    \"invalid_domain_url\": \"URL non valido (es: crater.com)\",\n    \"required\": \"Campo obbligatorio\",\n    \"email_incorrect\": \"Email non corretta.\",\n    \"email_already_taken\": \"Email già in uso.\",\n    \"email_does_not_exist\": \"L'utente con questa email non esiste\",\n    \"item_unit_already_taken\": \"Questo nome item è già utilizzato\",\n    \"payment_mode_already_taken\": \"Questa modalità di pagamento è già stata inserita.\",\n    \"send_reset_link\": \"Invia Link di Reset\",\n    \"not_yet\": \"Non ancora? Invia di nuovo\",\n    \"password_min_length\": \"La password deve contenere {count} caratteri\",\n    \"name_min_length\": \"Il nome deve avere almeno {count} lettere.\",\n    \"prefix_min_length\": \"Il prefisso deve contenere almeno {count} lettere.\",\n    \"enter_valid_tax_rate\": \"Inserisci un tasso di imposta valido\",\n    \"numbers_only\": \"Solo numeri.\",\n    \"characters_only\": \"Solo caratteri.\",\n    \"password_incorrect\": \"La Password deve essere identica\",\n    \"password_length\": \"La password deve essere lunga {count} caratteri.\",\n    \"qty_must_greater_than_zero\": \"La quantità deve essere maggiore di zero.\",\n    \"price_greater_than_zero\": \"Il prezzo deve essere maggiore di zero.\",\n    \"payment_greater_than_zero\": \"Il pagamento deve essere maggiore di zero.\",\n    \"payment_greater_than_due_amount\": \"Il pagamento inserito è maggiore di quello indicato in fattura.\",\n    \"quantity_maxlength\": \"La Quantità non può essere maggiore di 20 cifre.\",\n    \"price_maxlength\": \"Il prezzo non può contenere più di 20 cifre.\",\n    \"price_minvalue\": \"Il prezzo deve essere maggiore di 0.\",\n    \"amount_maxlength\": \"La somma non deve contenere più di 20 cifre.\",\n    \"amount_minvalue\": \"La somma deve essere maggiore di 0.\",\n    \"discount_maxlength\": \"Lo sconto non deve essere superiore allo sconto massimo\",\n    \"description_maxlength\": \"La Descrizione non deve superare i 255 caratteri.\",\n    \"subject_maxlength\": \"L'Oggetto non deve superare i 100 caratter.\",\n    \"message_maxlength\": \"Il messaggio non può superare i 255 caratteri.\",\n    \"maximum_options_error\": \"Massimo di {max} opzioni selezionate. Per selezionare un'altra opzione deseleziona prima una opzione.\",\n    \"notes_maxlength\": \"Le note non possono superare i 255 caratteri.\",\n    \"address_maxlength\": \"L'Indirizzo non può eccedere i 255 caratteri.\",\n    \"ref_number_maxlength\": \"Il Numero di Riferimento non può superare i 255 caratteri.\",\n    \"prefix_maxlength\": \"Il Prefisso non può superare i 5 caratteri.\",\n    \"something_went_wrong\": \"Si è verificato un errore\",\n    \"number_length_minvalue\": \"La lunghezza del numero deve essere maggiore di 0\",\n    \"at_least_one_ability\": \"Seleziona almeno un permesso.\",\n    \"valid_driver_key\": \"Inserisci una chiave {driver} valida.\",\n    \"valid_exchange_rate\": \"Inserisci un tasso di cambio valido.\",\n    \"company_name_not_same\": \"Il nome dell'azienda deve corrispondere al nome indicato.\"\n  },\n  \"errors\": {\n    \"starter_plan\": \"Questa funzione è disponibile dal piano Starter, in poi!\",\n    \"invalid_provider_key\": \"Inserisci una API Key valida per il Fornitore.\",\n    \"estimate_number_used\": \"Il numero stimato è già stato preso.\",\n    \"invoice_number_used\": \"Il numero della fattura è già stato utilizzato.\",\n    \"payment_attached\": \"Una delle fatture selezionate ha già associato un pagamento. Assicurati di eliminare il pagamento associato prima di procedere con la rimozione.\",\n    \"payment_number_used\": \"Questa modalità di pagamento è già stata inserita.\",\n    \"name_already_taken\": \"Questo Nome esiste giá.\",\n    \"receipt_does_not_exist\": \"La ricevuta non esiste.\",\n    \"customer_cannot_be_changed_after_payment_is_added\": \"Il cliente non può essere modificato dopo aver aggiunto il pagamento\",\n    \"invalid_credentials\": \"Credenziali non valide\",\n    \"not_allowed\": \"Non Consentito\",\n    \"login_invalid_credentials\": \"Queste credenziali non corrispondono ai nostri record.\",\n    \"enter_valid_cron_format\": \"Inserisci un formato cron valido\",\n    \"email_could_not_be_sent\": \"Impossibile inviare l'email a questo indirizzo email.\",\n    \"invalid_address\": \"Inserisci un indirizzo valido.\",\n    \"invalid_key\": \"Inserisci una chiave valida.\",\n    \"invalid_state\": \"Inserisci una provincia valida.\",\n    \"invalid_city\": \"Inserisci una città valida.\",\n    \"invalid_postal_code\": \"Inserisci un CAP valido.\",\n    \"invalid_format\": \"Inserisci un formato di query string valido.\",\n    \"api_error\": \"Il server non risponde.\",\n    \"feature_not_enabled\": \"Funzionalità non abilitata.\",\n    \"request_limit_met\": \"Limite richiesta API superato.\",\n    \"address_incomplete\": \"Indirizzo incompleto\"\n  },\n  \"pdf_estimate_label\": \"Preventivo\",\n  \"pdf_estimate_number\": \"Preventivo Numero\",\n  \"pdf_estimate_date\": \"Data preventivo\",\n  \"pdf_estimate_expire_date\": \"Data di scadenza\",\n  \"pdf_invoice_label\": \"Fattura\",\n  \"pdf_invoice_number\": \"Numero Fattura\",\n  \"pdf_invoice_date\": \"Data fattura\",\n  \"pdf_invoice_due_date\": \"Data di pagamento\",\n  \"pdf_notes\": \"Note\",\n  \"pdf_items_label\": \"Commesse\",\n  \"pdf_quantity_label\": \"Quantità\",\n  \"pdf_price_label\": \"Prezzo\",\n  \"pdf_discount_label\": \"Sconto\",\n  \"pdf_amount_label\": \"Ammontare\",\n  \"pdf_subtotal\": \"Parziale\",\n  \"pdf_total\": \"Totale\",\n  \"pdf_payment_label\": \"Pagamento\",\n  \"pdf_payment_receipt_label\": \"RICEVUTA DI PAGAMENTO\",\n  \"pdf_payment_date\": \"Data di pagamento\",\n  \"pdf_payment_number\": \"Numero di pagamento\",\n  \"pdf_payment_mode\": \"Modalità di Pagamento\",\n  \"pdf_payment_amount_received_label\": \"Importo Ricevuto\",\n  \"pdf_expense_report_label\": \"RELAZIONE SPESE\",\n  \"pdf_total_expenses_label\": \"TOTALE SPESE\",\n  \"pdf_profit_loss_label\": \"RELAZIONE PROFITTO E PERDITE\",\n  \"pdf_sales_customers_label\": \"Report Vendite Clienti\",\n  \"pdf_sales_items_label\": \"Rapporto vendite\",\n  \"pdf_tax_summery_label\": \"Rapporto Riepilogo Tasse\",\n  \"pdf_income_label\": \"REDDITO\",\n  \"pdf_net_profit_label\": \"PROFITTO NETTO\",\n  \"pdf_customer_sales_report\": \"Relazione Vendite: Per Cliente\",\n  \"pdf_total_sales_label\": \"TOTALE VENDITE\",\n  \"pdf_item_sales_label\": \"Relazione Vendite: Per Articolo\",\n  \"pdf_tax_report_label\": \"RELAZIONE FISCALE\",\n  \"pdf_total_tax_label\": \"TOTALE IMPOSTA\",\n  \"pdf_tax_types_label\": \"Tipi di Imposta\",\n  \"pdf_expenses_label\": \"Uscite\",\n  \"pdf_bill_to\": \"Fattura a,\",\n  \"pdf_ship_to\": \"Invia a,\",\n  \"pdf_received_from\": \"Ricevuto da:\",\n  \"pdf_tax_label\": \"Tassa\"\n}\n"
  },
  {
    "path": "resources/scripts/locales/ja.json",
    "content": "{\n  \"navigation\": {\n    \"dashboard\": \"Dashboard\",\n    \"customers\": \"Customers\",\n    \"items\": \"Items\",\n    \"invoices\": \"Invoices\",\n    \"recurring-invoices\": \"Recurring Invoices\",\n    \"expenses\": \"Expenses\",\n    \"estimates\": \"Estimates\",\n    \"payments\": \"Payments\",\n    \"reports\": \"Reports\",\n    \"settings\": \"Settings\",\n    \"logout\": \"Logout\",\n    \"users\": \"Users\",\n    \"modules\": \"Modules\"\n  },\n  \"general\": {\n    \"add_company\": \"Add Company\",\n    \"view_pdf\": \"View PDF\",\n    \"copy_pdf_url\": \"Copy PDF Url\",\n    \"download_pdf\": \"Download PDF\",\n    \"save\": \"Save\",\n    \"create\": \"Create\",\n    \"cancel\": \"Cancel\",\n    \"update\": \"Update\",\n    \"deselect\": \"Deselect\",\n    \"download\": \"Download\",\n    \"from_date\": \"From Date\",\n    \"to_date\": \"To Date\",\n    \"from\": \"From\",\n    \"to\": \"To\",\n    \"ok\": \"Ok\",\n    \"yes\": \"Yes\",\n    \"no\": \"No\",\n    \"sort_by\": \"Sort By\",\n    \"ascending\": \"Ascending\",\n    \"descending\": \"Descending\",\n    \"subject\": \"Subject\",\n    \"body\": \"Body\",\n    \"message\": \"Message\",\n    \"send\": \"Send\",\n    \"preview\": \"Preview\",\n    \"go_back\": \"Go Back\",\n    \"back_to_login\": \"Back to Login?\",\n    \"home\": \"Home\",\n    \"filter\": \"Filter\",\n    \"delete\": \"Delete\",\n    \"edit\": \"Edit\",\n    \"view\": \"View\",\n    \"add_new_item\": \"Add New Item\",\n    \"clear_all\": \"Clear All\",\n    \"showing\": \"Showing\",\n    \"of\": \"of\",\n    \"actions\": \"Actions\",\n    \"subtotal\": \"SUBTOTAL\",\n    \"discount\": \"DISCOUNT\",\n    \"fixed\": \"Fixed\",\n    \"percentage\": \"Percentage\",\n    \"tax\": \"TAX\",\n    \"total_amount\": \"TOTAL AMOUNT\",\n    \"bill_to\": \"Bill to\",\n    \"ship_to\": \"Ship to\",\n    \"due\": \"Due\",\n    \"draft\": \"Draft\",\n    \"sent\": \"Sent\",\n    \"all\": \"All\",\n    \"select_all\": \"Select All\",\n    \"select_template\": \"Select Template\",\n    \"choose_file\": \"Click here to choose a file\",\n    \"choose_template\": \"Choose a template\",\n    \"choose\": \"Choose\",\n    \"remove\": \"Remove\",\n    \"select_a_status\": \"Select a status\",\n    \"select_a_tax\": \"Select a tax\",\n    \"search\": \"Search\",\n    \"are_you_sure\": \"Are you sure?\",\n    \"list_is_empty\": \"List is empty.\",\n    \"no_tax_found\": \"No tax found!\",\n    \"four_zero_four\": \"404\",\n    \"you_got_lost\": \"Whoops! You got Lost!\",\n    \"go_home\": \"Go Home\",\n    \"test_mail_conf\": \"Test Mail Configuration\",\n    \"send_mail_successfully\": \"Mail sent successfully\",\n    \"setting_updated\": \"Setting updated successfully\",\n    \"select_state\": \"Select state\",\n    \"select_country\": \"Select Country\",\n    \"select_city\": \"Select City\",\n    \"street_1\": \"Street 1\",\n    \"street_2\": \"Street 2\",\n    \"action_failed\": \"Action Failed\",\n    \"retry\": \"Retry\",\n    \"choose_note\": \"Choose Note\",\n    \"no_note_found\": \"No Note Found\",\n    \"insert_note\": \"Insert Note\",\n    \"copied_pdf_url_clipboard\": \"Copied PDF url to clipboard!\",\n    \"copied_url_clipboard\": \"Copied url to clipboard!\",\n    \"docs\": \"Docs\",\n    \"do_you_wish_to_continue\": \"Do you wish to continue?\",\n    \"note\": \"Note\",\n    \"pay_invoice\": \"Pay Invoice\",\n    \"login_successfully\": \"Logged in successfully!\",\n    \"logged_out_successfully\": \"Logged out successfully\",\n    \"mark_as_default\": \"Mark as default\"\n  },\n  \"dashboard\": {\n    \"select_year\": \"Select year\",\n    \"cards\": {\n      \"due_amount\": \"Amount Due\",\n      \"customers\": \"Customers\",\n      \"invoices\": \"Invoices\",\n      \"estimates\": \"Estimates\",\n      \"payments\": \"Payments\"\n    },\n    \"chart_info\": {\n      \"total_sales\": \"Sales\",\n      \"total_receipts\": \"Receipts\",\n      \"total_expense\": \"Expenses\",\n      \"net_income\": \"Net Income\",\n      \"year\": \"Select year\"\n    },\n    \"monthly_chart\": {\n      \"title\": \"Sales & Expenses\"\n    },\n    \"recent_invoices_card\": {\n      \"title\": \"Due Invoices\",\n      \"due_on\": \"Due On\",\n      \"customer\": \"Customer\",\n      \"amount_due\": \"Amount Due\",\n      \"actions\": \"Actions\",\n      \"view_all\": \"View All\"\n    },\n    \"recent_estimate_card\": {\n      \"title\": \"Recent Estimates\",\n      \"date\": \"Date\",\n      \"customer\": \"Customer\",\n      \"amount_due\": \"Amount Due\",\n      \"actions\": \"Actions\",\n      \"view_all\": \"View All\"\n    }\n  },\n  \"tax_types\": {\n    \"name\": \"Name\",\n    \"description\": \"Description\",\n    \"percent\": \"Percent\",\n    \"compound_tax\": \"Compound Tax\"\n  },\n  \"global_search\": {\n    \"search\": \"Search...\",\n    \"customers\": \"Customers\",\n    \"users\": \"Users\",\n    \"no_results_found\": \"No Results Found\"\n  },\n  \"company_switcher\": {\n    \"label\": \"SWITCH COMPANY\",\n    \"no_results_found\": \"No Results Found\",\n    \"add_new_company\": \"Add new company\",\n    \"new_company\": \"New company\",\n    \"created_message\": \"Company created successfully\"\n  },\n  \"dateRange\": {\n    \"today\": \"Today\",\n    \"this_week\": \"This Week\",\n    \"this_month\": \"This Month\",\n    \"this_quarter\": \"This Quarter\",\n    \"this_year\": \"This Year\",\n    \"previous_week\": \"Previous Week\",\n    \"previous_month\": \"Previous Month\",\n    \"previous_quarter\": \"Previous Quarter\",\n    \"previous_year\": \"Previous Year\",\n    \"custom\": \"Custom\"\n  },\n  \"customers\": {\n    \"title\": \"Customers\",\n    \"prefix\": \"Prefix\",\n    \"add_customer\": \"Add Customer\",\n    \"contacts_list\": \"Customer List\",\n    \"name\": \"Name\",\n    \"mail\": \"Mail | Mails\",\n    \"statement\": \"Statement\",\n    \"display_name\": \"Display Name\",\n    \"primary_contact_name\": \"Primary Contact Name\",\n    \"contact_name\": \"Contact Name\",\n    \"amount_due\": \"Amount Due\",\n    \"email\": \"Email\",\n    \"address\": \"Address\",\n    \"phone\": \"Phone\",\n    \"website\": \"Website\",\n    \"overview\": \"Overview\",\n    \"invoice_prefix\": \"Invoice Prefix\",\n    \"estimate_prefix\": \"Estimate Prefix\",\n    \"payment_prefix\": \"Payment Prefix\",\n    \"enable_portal\": \"Enable Portal\",\n    \"country\": \"Country\",\n    \"state\": \"State\",\n    \"city\": \"City\",\n    \"zip_code\": \"Zip Code\",\n    \"added_on\": \"Added On\",\n    \"action\": \"Action\",\n    \"password\": \"Password\",\n    \"confirm_password\": \"Confirm Password\",\n    \"street_number\": \"Street Number\",\n    \"primary_currency\": \"Primary Currency\",\n    \"description\": \"Description\",\n    \"add_new_customer\": \"Add New Customer\",\n    \"save_customer\": \"Save Customer\",\n    \"update_customer\": \"Update Customer\",\n    \"customer\": \"Customer | Customers\",\n    \"new_customer\": \"New Customer\",\n    \"edit_customer\": \"Edit Customer\",\n    \"basic_info\": \"Basic Info\",\n    \"portal_access\": \"Portal Access\",\n    \"portal_access_text\": \"Would you like to allow this customer to login to the Customer Portal?\",\n    \"portal_access_url\": \"Customer Portal Login URL\",\n    \"portal_access_url_help\": \"Please copy & forward the above given URL to your customer for providing access.\",\n    \"billing_address\": \"Billing Address\",\n    \"shipping_address\": \"Shipping Address\",\n    \"copy_billing_address\": \"Copy from Billing\",\n    \"no_customers\": \"No customers yet!\",\n    \"no_customers_found\": \"No customers found!\",\n    \"no_contact\": \"No contact\",\n    \"no_contact_name\": \"No contact name\",\n    \"list_of_customers\": \"This section will contain the list of customers.\",\n    \"primary_display_name\": \"Primary Display Name\",\n    \"select_currency\": \"Select currency\",\n    \"select_a_customer\": \"Select a customer\",\n    \"type_or_click\": \"Type or click to select\",\n    \"new_transaction\": \"New Transaction\",\n    \"no_matching_customers\": \"There are no matching customers!\",\n    \"phone_number\": \"Phone Number\",\n    \"create_date\": \"Create Date\",\n    \"confirm_delete\": \"You will not be able to recover this customer and all the related Invoices, Estimates and Payments. | You will not be able to recover these customers and all the related Invoices, Estimates and Payments.\",\n    \"created_message\": \"Customer created successfully\",\n    \"updated_message\": \"Customer updated successfully\",\n    \"address_updated_message\": \"Address Information Updated succesfully\",\n    \"deleted_message\": \"Customer deleted successfully | Customers deleted successfully\",\n    \"edit_currency_not_allowed\": \"Cannot change currency once transactions created.\"\n  },\n  \"items\": {\n    \"title\": \"Items\",\n    \"items_list\": \"Items List\",\n    \"name\": \"Name\",\n    \"unit\": \"Unit\",\n    \"description\": \"Description\",\n    \"added_on\": \"Added On\",\n    \"price\": \"Price\",\n    \"date_of_creation\": \"Date Of Creation\",\n    \"not_selected\": \"No item selected\",\n    \"action\": \"Action\",\n    \"add_item\": \"Add Item\",\n    \"save_item\": \"Save Item\",\n    \"update_item\": \"Update Item\",\n    \"item\": \"Item | Items\",\n    \"add_new_item\": \"Add New Item\",\n    \"new_item\": \"New Item\",\n    \"edit_item\": \"Edit Item\",\n    \"no_items\": \"No items yet!\",\n    \"list_of_items\": \"This section will contain the list of items.\",\n    \"select_a_unit\": \"select unit\",\n    \"taxes\": \"Taxes\",\n    \"item_attached_message\": \"Cannot delete an item which is already in use\",\n    \"confirm_delete\": \"You will not be able to recover this Item | You will not be able to recover these Items\",\n    \"created_message\": \"Item created successfully\",\n    \"updated_message\": \"Item updated successfully\",\n    \"deleted_message\": \"Item deleted successfully | Items deleted successfully\"\n  },\n  \"estimates\": {\n    \"title\": \"Estimates\",\n    \"accept_estimate\": \"Accept Estimate\",\n    \"reject_estimate\": \"Reject Estimate\",\n    \"estimate\": \"Estimate | Estimates\",\n    \"estimates_list\": \"Estimates List\",\n    \"days\": \"{days} Days\",\n    \"months\": \"{months} Month\",\n    \"years\": \"{years} Year\",\n    \"all\": \"All\",\n    \"paid\": \"Paid\",\n    \"unpaid\": \"Unpaid\",\n    \"customer\": \"CUSTOMER\",\n    \"ref_no\": \"REF NO.\",\n    \"number\": \"NUMBER\",\n    \"amount_due\": \"AMOUNT DUE\",\n    \"partially_paid\": \"Partially Paid\",\n    \"total\": \"Total\",\n    \"discount\": \"Discount\",\n    \"sub_total\": \"Sub Total\",\n    \"estimate_number\": \"Estimate Number\",\n    \"ref_number\": \"Ref Number\",\n    \"contact\": \"Contact\",\n    \"add_item\": \"Add an Item\",\n    \"date\": \"Date\",\n    \"due_date\": \"Due Date\",\n    \"expiry_date\": \"Expiry Date\",\n    \"status\": \"Status\",\n    \"add_tax\": \"Add Tax\",\n    \"amount\": \"Amount\",\n    \"action\": \"Action\",\n    \"notes\": \"Notes\",\n    \"tax\": \"Tax\",\n    \"estimate_template\": \"Template\",\n    \"convert_to_invoice\": \"Convert to Invoice\",\n    \"mark_as_sent\": \"Mark as Sent\",\n    \"send_estimate\": \"Send Estimate\",\n    \"resend_estimate\": \"Resend Estimate\",\n    \"record_payment\": \"Record Payment\",\n    \"add_estimate\": \"Add Estimate\",\n    \"save_estimate\": \"Save Estimate\",\n    \"confirm_conversion\": \"This estimate will be used to create a new Invoice.\",\n    \"conversion_message\": \"Invoice created successful\",\n    \"confirm_send_estimate\": \"This estimate will be sent via email to the customer\",\n    \"confirm_mark_as_sent\": \"This estimate will be marked as sent\",\n    \"confirm_mark_as_accepted\": \"This estimate will be marked as Accepted\",\n    \"confirm_mark_as_rejected\": \"This estimate will be marked as Rejected\",\n    \"no_matching_estimates\": \"There are no matching estimates!\",\n    \"mark_as_sent_successfully\": \"Estimate marked as sent successfully\",\n    \"send_estimate_successfully\": \"Estimate sent successfully\",\n    \"errors\": {\n      \"required\": \"Field is required\"\n    },\n    \"accepted\": \"Accepted\",\n    \"rejected\": \"Rejected\",\n    \"expired\": \"Expired\",\n    \"sent\": \"Sent\",\n    \"draft\": \"Draft\",\n    \"viewed\": \"Viewed\",\n    \"declined\": \"Declined\",\n    \"new_estimate\": \"New Estimate\",\n    \"add_new_estimate\": \"Add New Estimate\",\n    \"update_Estimate\": \"Update Estimate\",\n    \"edit_estimate\": \"Edit Estimate\",\n    \"items\": \"items\",\n    \"Estimate\": \"Estimate | Estimates\",\n    \"add_new_tax\": \"Add New Tax\",\n    \"no_estimates\": \"No estimates yet!\",\n    \"list_of_estimates\": \"This section will contain the list of estimates.\",\n    \"mark_as_rejected\": \"Mark as rejected\",\n    \"mark_as_accepted\": \"Mark as accepted\",\n    \"marked_as_accepted_message\": \"Estimate marked as accepted\",\n    \"marked_as_rejected_message\": \"Estimate marked as rejected\",\n    \"confirm_delete\": \"You will not be able to recover this Estimate | You will not be able to recover these Estimates\",\n    \"created_message\": \"Estimate created successfully\",\n    \"updated_message\": \"Estimate updated successfully\",\n    \"deleted_message\": \"Estimate deleted successfully | Estimates deleted successfully\",\n    \"something_went_wrong\": \"something went wrong\",\n    \"item\": {\n      \"title\": \"Item Title\",\n      \"description\": \"Description\",\n      \"quantity\": \"Quantity\",\n      \"price\": \"Price\",\n      \"discount\": \"Discount\",\n      \"total\": \"Total\",\n      \"total_discount\": \"Total Discount\",\n      \"sub_total\": \"Sub Total\",\n      \"tax\": \"Tax\",\n      \"amount\": \"Amount\",\n      \"select_an_item\": \"Type or click to select an item\",\n      \"type_item_description\": \"Type Item Description (optional)\"\n    },\n    \"mark_as_default_estimate_template_description\": \"If enabled, the selected template will be automatically selected for new estimates.\"\n  },\n  \"invoices\": {\n    \"title\": \"Invoices\",\n    \"download\": \"Download\",\n    \"pay_invoice\": \"Pay Invoice\",\n    \"invoices_list\": \"Invoices List\",\n    \"invoice_information\": \"Invoice Information\",\n    \"days\": \"{days} Days\",\n    \"months\": \"{months} Month\",\n    \"years\": \"{years} Year\",\n    \"all\": \"All\",\n    \"paid\": \"Paid\",\n    \"unpaid\": \"Unpaid\",\n    \"viewed\": \"Viewed\",\n    \"overdue\": \"Overdue\",\n    \"completed\": \"Completed\",\n    \"customer\": \"CUSTOMER\",\n    \"paid_status\": \"PAID STATUS\",\n    \"ref_no\": \"REF NO.\",\n    \"number\": \"NUMBER\",\n    \"amount_due\": \"AMOUNT DUE\",\n    \"partially_paid\": \"Partially Paid\",\n    \"total\": \"Total\",\n    \"discount\": \"Discount\",\n    \"sub_total\": \"Sub Total\",\n    \"invoice\": \"Invoice | Invoices\",\n    \"invoice_number\": \"Invoice Number\",\n    \"ref_number\": \"Ref Number\",\n    \"contact\": \"Contact\",\n    \"add_item\": \"Add an Item\",\n    \"date\": \"Date\",\n    \"due_date\": \"Due Date\",\n    \"status\": \"Status\",\n    \"add_tax\": \"Add Tax\",\n    \"amount\": \"Amount\",\n    \"action\": \"Action\",\n    \"notes\": \"Notes\",\n    \"view\": \"View\",\n    \"send_invoice\": \"Send Invoice\",\n    \"resend_invoice\": \"Resend Invoice\",\n    \"invoice_template\": \"Invoice Template\",\n    \"conversion_message\": \"Invoice cloned successful\",\n    \"template\": \"Select Template\",\n    \"mark_as_sent\": \"Mark as sent\",\n    \"confirm_send_invoice\": \"This invoice will be sent via email to the customer\",\n    \"invoice_mark_as_sent\": \"This invoice will be marked as sent\",\n    \"confirm_mark_as_accepted\": \"This invoice will be marked as Accepted\",\n    \"confirm_mark_as_rejected\": \"This invoice will be marked as Rejected\",\n    \"confirm_send\": \"This invoice will be sent via email to the customer\",\n    \"invoice_date\": \"Invoice Date\",\n    \"record_payment\": \"Record Payment\",\n    \"add_new_invoice\": \"Add New Invoice\",\n    \"update_expense\": \"Update Expense\",\n    \"edit_invoice\": \"Edit Invoice\",\n    \"new_invoice\": \"New Invoice\",\n    \"save_invoice\": \"Save Invoice\",\n    \"update_invoice\": \"Update Invoice\",\n    \"add_new_tax\": \"Add New Tax\",\n    \"no_invoices\": \"No Invoices yet!\",\n    \"mark_as_rejected\": \"Mark as rejected\",\n    \"mark_as_accepted\": \"Mark as accepted\",\n    \"list_of_invoices\": \"This section will contain the list of invoices.\",\n    \"select_invoice\": \"Select Invoice\",\n    \"no_matching_invoices\": \"There are no matching invoices!\",\n    \"mark_as_sent_successfully\": \"Invoice marked as sent successfully\",\n    \"invoice_sent_successfully\": \"Invoice sent successfully\",\n    \"cloned_successfully\": \"Invoice cloned successfully\",\n    \"clone_invoice\": \"Clone Invoice\",\n    \"confirm_clone\": \"This invoice will be cloned into a new Invoice\",\n    \"item\": {\n      \"title\": \"Item Title\",\n      \"description\": \"Description\",\n      \"quantity\": \"Quantity\",\n      \"price\": \"Price\",\n      \"discount\": \"Discount\",\n      \"total\": \"Total\",\n      \"total_discount\": \"Total Discount\",\n      \"sub_total\": \"Sub Total\",\n      \"tax\": \"Tax\",\n      \"amount\": \"Amount\",\n      \"select_an_item\": \"Type or click to select an item\",\n      \"type_item_description\": \"Type Item Description (optional)\"\n    },\n    \"payment_attached_message\": \"One of the selected invoices already have a payment attached to it. Make sure to delete the attached payments first in order to go ahead with the removal\",\n    \"confirm_delete\": \"You will not be able to recover this Invoice | You will not be able to recover these Invoices\",\n    \"created_message\": \"Invoice created successfully\",\n    \"updated_message\": \"Invoice updated successfully\",\n    \"deleted_message\": \"Invoice deleted successfully | Invoices deleted successfully\",\n    \"marked_as_sent_message\": \"Invoice marked as sent successfully\",\n    \"something_went_wrong\": \"something went wrong\",\n    \"invalid_due_amount_message\": \"Total Invoice amount cannot be less than total paid amount for this Invoice. Please update the invoice or delete the associated payments to continue.\",\n    \"mark_as_default_invoice_template_description\": \"If enabled, the selected template will be automatically selected for new invoices.\"\n  },\n  \"recurring_invoices\": {\n    \"title\": \"Recurring Invoices\",\n    \"invoices_list\": \"Recurring Invoices List\",\n    \"days\": \"{days} Days\",\n    \"months\": \"{months} Month\",\n    \"years\": \"{years} Year\",\n    \"all\": \"All\",\n    \"paid\": \"Paid\",\n    \"unpaid\": \"Unpaid\",\n    \"viewed\": \"Viewed\",\n    \"overdue\": \"Overdue\",\n    \"active\": \"Active\",\n    \"completed\": \"Completed\",\n    \"customer\": \"CUSTOMER\",\n    \"paid_status\": \"PAID STATUS\",\n    \"ref_no\": \"REF NO.\",\n    \"number\": \"NUMBER\",\n    \"amount_due\": \"AMOUNT DUE\",\n    \"partially_paid\": \"Partially Paid\",\n    \"total\": \"Total\",\n    \"discount\": \"Discount\",\n    \"sub_total\": \"Sub Total\",\n    \"invoice\": \"Recurring Invoice | Recurring Invoices\",\n    \"invoice_number\": \"Recurring Invoice Number\",\n    \"next_invoice_date\": \"Next Invoice Date\",\n    \"ref_number\": \"Ref Number\",\n    \"contact\": \"Contact\",\n    \"add_item\": \"Add an Item\",\n    \"date\": \"Date\",\n    \"limit_by\": \"Limit by\",\n    \"limit_date\": \"Limit Date\",\n    \"limit_count\": \"Limit Count\",\n    \"count\": \"Count\",\n    \"status\": \"Status\",\n    \"select_a_status\": \"Select a status\",\n    \"working\": \"Working\",\n    \"on_hold\": \"On Hold\",\n    \"complete\": \"Completed\",\n    \"add_tax\": \"Add Tax\",\n    \"amount\": \"Amount\",\n    \"action\": \"Action\",\n    \"notes\": \"Notes\",\n    \"view\": \"View\",\n    \"basic_info\": \"Basic Info\",\n    \"send_invoice\": \"Send Recurring Invoice\",\n    \"auto_send\": \"Auto Send\",\n    \"resend_invoice\": \"Resend Recurring Invoice\",\n    \"invoice_template\": \"Recurring Invoice Template\",\n    \"conversion_message\": \"Recurring Invoice cloned successful\",\n    \"template\": \"Template\",\n    \"mark_as_sent\": \"Mark as sent\",\n    \"confirm_send_invoice\": \"This recurring invoice will be sent via email to the customer\",\n    \"invoice_mark_as_sent\": \"This recurring invoice will be marked as sent\",\n    \"confirm_send\": \"This recurring invoice will be sent via email to the customer\",\n    \"starts_at\": \"Start Date\",\n    \"due_date\": \"Invoice Due Date\",\n    \"record_payment\": \"Record Payment\",\n    \"add_new_invoice\": \"Add New Recurring Invoice\",\n    \"update_expense\": \"Update Expense\",\n    \"edit_invoice\": \"Edit Recurring Invoice\",\n    \"new_invoice\": \"New Recurring Invoice\",\n    \"send_automatically\": \"Send Automatically\",\n    \"send_automatically_desc\": \"Enable this, if you would like to send the invoice automatically to the customer when its created.\",\n    \"save_invoice\": \"Save Recurring Invoice\",\n    \"update_invoice\": \"Update Recurring Invoice\",\n    \"add_new_tax\": \"Add New Tax\",\n    \"no_invoices\": \"No Recurring Invoices yet!\",\n    \"mark_as_rejected\": \"Mark as rejected\",\n    \"mark_as_accepted\": \"Mark as accepted\",\n    \"list_of_invoices\": \"This section will contain the list of recurring invoices.\",\n    \"select_invoice\": \"Select Invoice\",\n    \"no_matching_invoices\": \"There are no matching recurring invoices!\",\n    \"mark_as_sent_successfully\": \"Recurring Invoice marked as sent successfully\",\n    \"invoice_sent_successfully\": \"Recurring Invoice sent successfully\",\n    \"cloned_successfully\": \"Recurring Invoice cloned successfully\",\n    \"clone_invoice\": \"Clone Recurring Invoice\",\n    \"confirm_clone\": \"This recurring invoice will be cloned into a new Recurring Invoice\",\n    \"add_customer_email\": \"Please add an email address for this customer to send invoices automatically.\",\n    \"item\": {\n      \"title\": \"Item Title\",\n      \"description\": \"Description\",\n      \"quantity\": \"Quantity\",\n      \"price\": \"Price\",\n      \"discount\": \"Discount\",\n      \"total\": \"Total\",\n      \"total_discount\": \"Total Discount\",\n      \"sub_total\": \"Sub Total\",\n      \"tax\": \"Tax\",\n      \"amount\": \"Amount\",\n      \"select_an_item\": \"Type or click to select an item\",\n      \"type_item_description\": \"Type Item Description (optional)\"\n    },\n    \"frequency\": {\n      \"title\": \"Frequency\",\n      \"select_frequency\": \"Select Frequency\",\n      \"minute\": \"Minute\",\n      \"hour\": \"Hour\",\n      \"day_month\": \"Day of month\",\n      \"month\": \"Month\",\n      \"day_week\": \"Day of week\"\n    },\n    \"confirm_delete\": \"You will not be able to recover this Invoice | You will not be able to recover these Invoices\",\n    \"created_message\": \"Recurring Invoice created successfully\",\n    \"updated_message\": \"Recurring Invoice updated successfully\",\n    \"deleted_message\": \"Recurring Invoice deleted successfully | Recurring Invoices deleted successfully\",\n    \"marked_as_sent_message\": \"Recurring Invoice marked as sent successfully\",\n    \"user_email_does_not_exist\": \"User email does not exist\",\n    \"something_went_wrong\": \"something went wrong\",\n    \"invalid_due_amount_message\": \"Total Recurring Invoice amount cannot be less than total paid amount for this Recurring Invoice. Please update the invoice or delete the associated payments to continue.\"\n  },\n  \"payments\": {\n    \"title\": \"Payments\",\n    \"payments_list\": \"Payments List\",\n    \"record_payment\": \"Record Payment\",\n    \"customer\": \"Customer\",\n    \"date\": \"Date\",\n    \"amount\": \"Amount\",\n    \"action\": \"Action\",\n    \"payment_number\": \"Payment Number\",\n    \"payment_mode\": \"Payment Mode\",\n    \"invoice\": \"Invoice\",\n    \"note\": \"Note\",\n    \"add_payment\": \"Add Payment\",\n    \"new_payment\": \"New Payment\",\n    \"edit_payment\": \"Edit Payment\",\n    \"view_payment\": \"View Payment\",\n    \"add_new_payment\": \"Add New Payment\",\n    \"send_payment_receipt\": \"Send Payment Receipt\",\n    \"send_payment\": \"Send Payment\",\n    \"save_payment\": \"Save Payment\",\n    \"update_payment\": \"Update Payment\",\n    \"payment\": \"Payment | Payments\",\n    \"no_payments\": \"No payments yet!\",\n    \"not_selected\": \"Not selected\",\n    \"no_invoice\": \"No invoice\",\n    \"no_matching_payments\": \"There are no matching payments!\",\n    \"list_of_payments\": \"This section will contain the list of payments.\",\n    \"select_payment_mode\": \"Select payment mode\",\n    \"confirm_mark_as_sent\": \"This estimate will be marked as sent\",\n    \"confirm_send_payment\": \"This payment will be sent via email to the customer\",\n    \"send_payment_successfully\": \"Payment sent successfully\",\n    \"something_went_wrong\": \"something went wrong\",\n    \"confirm_delete\": \"You will not be able to recover this Payment | You will not be able to recover these Payments\",\n    \"created_message\": \"Payment created successfully\",\n    \"updated_message\": \"Payment updated successfully\",\n    \"deleted_message\": \"Payment deleted successfully | Payments deleted successfully\",\n    \"invalid_amount_message\": \"Payment amount is invalid\"\n  },\n  \"expenses\": {\n    \"title\": \"Expenses\",\n    \"expenses_list\": \"Expenses List\",\n    \"select_a_customer\": \"Select a customer\",\n    \"expense_title\": \"Title\",\n    \"customer\": \"Customer\",\n    \"currency\": \"Currency\",\n    \"contact\": \"Contact\",\n    \"category\": \"Category\",\n    \"from_date\": \"From Date\",\n    \"to_date\": \"To Date\",\n    \"expense_date\": \"Date\",\n    \"description\": \"Description\",\n    \"receipt\": \"Receipt\",\n    \"amount\": \"Amount\",\n    \"action\": \"Action\",\n    \"not_selected\": \"Not selected\",\n    \"note\": \"Note\",\n    \"category_id\": \"Category Id\",\n    \"date\": \"Date\",\n    \"add_expense\": \"Add Expense\",\n    \"add_new_expense\": \"Add New Expense\",\n    \"save_expense\": \"Save Expense\",\n    \"update_expense\": \"Update Expense\",\n    \"download_receipt\": \"Download Receipt\",\n    \"edit_expense\": \"Edit Expense\",\n    \"new_expense\": \"New Expense\",\n    \"expense\": \"Expense | Expenses\",\n    \"no_expenses\": \"No expenses yet!\",\n    \"list_of_expenses\": \"This section will contain the list of expenses.\",\n    \"confirm_delete\": \"You will not be able to recover this Expense | You will not be able to recover these Expenses\",\n    \"created_message\": \"Expense created successfully\",\n    \"updated_message\": \"Expense updated successfully\",\n    \"deleted_message\": \"Expense deleted successfully | Expenses deleted successfully\",\n    \"categories\": {\n      \"categories_list\": \"Categories List\",\n      \"title\": \"Title\",\n      \"name\": \"Name\",\n      \"description\": \"Description\",\n      \"amount\": \"Amount\",\n      \"actions\": \"Actions\",\n      \"add_category\": \"Add Category\",\n      \"new_category\": \"New Category\",\n      \"category\": \"Category | Categories\",\n      \"select_a_category\": \"Select a category\"\n    }\n  },\n  \"login\": {\n    \"email\": \"Email\",\n    \"password\": \"Password\",\n    \"forgot_password\": \"Forgot Password?\",\n    \"or_signIn_with\": \"or Sign in with\",\n    \"login\": \"Login\",\n    \"register\": \"Register\",\n    \"reset_password\": \"Reset Password\",\n    \"password_reset_successfully\": \"Password Reset Successfully\",\n    \"enter_email\": \"Enter email\",\n    \"enter_password\": \"Enter Password\",\n    \"retype_password\": \"Retype Password\"\n  },\n  \"modules\": {\n    \"buy_now\": \"Buy Now\",\n    \"install\": \"Install\",\n    \"price\": \"Price\",\n    \"download_zip_file\": \"Download ZIP file\",\n    \"unzipping_package\": \"Unzipping Package\",\n    \"copying_files\": \"Copying Files\",\n    \"deleting_files\": \"Deleting Unused files\",\n    \"completing_installation\": \"Completing Installation\",\n    \"update_failed\": \"Update Failed\",\n    \"install_success\": \"Module has been installed successfully!\",\n    \"customer_reviews\": \"Reviews\",\n    \"license\": \"License\",\n    \"faq\": \"FAQ\",\n    \"monthly\": \"Monthly\",\n    \"yearly\": \"Yearly\",\n    \"updated\": \"Updated\",\n    \"version\": \"Version\",\n    \"disable\": \"Disable\",\n    \"module_disabled\": \"Module Disabled\",\n    \"enable\": \"Enable\",\n    \"module_enabled\": \"Module Enabled\",\n    \"update_to\": \"Update To\",\n    \"module_updated\": \"Module Updated Successfully!\",\n    \"title\": \"Modules\",\n    \"module\": \"Module | Modules\",\n    \"api_token\": \"API token\",\n    \"invalid_api_token\": \"Invalid API Token.\",\n    \"other_modules\": \"Other Modules\",\n    \"view_all\": \"View All\",\n    \"no_reviews_found\": \"There are no reviews for this module yet!\",\n    \"module_not_purchased\": \"Module Not Purchased\",\n    \"module_not_found\": \"Module Not Found\",\n    \"version_not_supported\": \"This module version doesn't support the current version of Crater\",\n    \"last_updated\": \"Last Updated On\",\n    \"connect_installation\": \"Connect your installation\",\n    \"api_token_description\": \"Login to {url} and connect this installation by entering the API Token. Your purchased modules will show up here after the connection is established.\",\n    \"view_module\": \"View Module\",\n    \"update_available\": \"Update Available\",\n    \"purchased\": \"Purchased\",\n    \"installed\": \"Installed\",\n    \"no_modules_installed\": \"No Modules Installed Yet!\",\n    \"disable_warning\": \"All the settings for this particular will be reverted.\",\n    \"what_you_get\": \"What you get\"\n  },\n  \"users\": {\n    \"title\": \"Users\",\n    \"users_list\": \"Users List\",\n    \"name\": \"Name\",\n    \"description\": \"Description\",\n    \"added_on\": \"Added On\",\n    \"date_of_creation\": \"Date Of Creation\",\n    \"action\": \"Action\",\n    \"add_user\": \"Add User\",\n    \"save_user\": \"Save User\",\n    \"update_user\": \"Update User\",\n    \"user\": \"User | Users\",\n    \"add_new_user\": \"Add New User\",\n    \"new_user\": \"New User\",\n    \"edit_user\": \"Edit User\",\n    \"no_users\": \"No users yet!\",\n    \"list_of_users\": \"This section will contain the list of users.\",\n    \"email\": \"Email\",\n    \"phone\": \"Phone\",\n    \"password\": \"Password\",\n    \"user_attached_message\": \"Cannot delete an item which is already in use\",\n    \"confirm_delete\": \"You will not be able to recover this User | You will not be able to recover these Users\",\n    \"created_message\": \"User created successfully\",\n    \"updated_message\": \"User updated successfully\",\n    \"deleted_message\": \"User deleted successfully | Users deleted successfully\",\n    \"select_company_role\": \"Select Role for {company}\",\n    \"companies\": \"Companies\"\n  },\n  \"reports\": {\n    \"title\": \"Report\",\n    \"from_date\": \"From Date\",\n    \"to_date\": \"To Date\",\n    \"status\": \"Status\",\n    \"paid\": \"Paid\",\n    \"unpaid\": \"Unpaid\",\n    \"download_pdf\": \"Download PDF\",\n    \"view_pdf\": \"View PDF\",\n    \"update_report\": \"Update Report\",\n    \"report\": \"Report | Reports\",\n    \"profit_loss\": {\n      \"profit_loss\": \"Profit & Loss\",\n      \"to_date\": \"To Date\",\n      \"from_date\": \"From Date\",\n      \"date_range\": \"Select Date Range\"\n    },\n    \"sales\": {\n      \"sales\": \"Sales\",\n      \"date_range\": \"Select Date Range\",\n      \"to_date\": \"To Date\",\n      \"from_date\": \"From Date\",\n      \"report_type\": \"Report Type\"\n    },\n    \"taxes\": {\n      \"taxes\": \"Taxes\",\n      \"to_date\": \"To Date\",\n      \"from_date\": \"From Date\",\n      \"date_range\": \"Select Date Range\"\n    },\n    \"errors\": {\n      \"required\": \"Field is required\"\n    },\n    \"invoices\": {\n      \"invoice\": \"Invoice\",\n      \"invoice_date\": \"Invoice Date\",\n      \"due_date\": \"Due Date\",\n      \"amount\": \"Amount\",\n      \"contact_name\": \"Contact Name\",\n      \"status\": \"Status\"\n    },\n    \"estimates\": {\n      \"estimate\": \"Estimate\",\n      \"estimate_date\": \"Estimate Date\",\n      \"due_date\": \"Due Date\",\n      \"estimate_number\": \"Estimate Number\",\n      \"ref_number\": \"Ref Number\",\n      \"amount\": \"Amount\",\n      \"contact_name\": \"Contact Name\",\n      \"status\": \"Status\"\n    },\n    \"expenses\": {\n      \"expenses\": \"Expenses\",\n      \"category\": \"Category\",\n      \"date\": \"Date\",\n      \"amount\": \"Amount\",\n      \"to_date\": \"To Date\",\n      \"from_date\": \"From Date\",\n      \"date_range\": \"Select Date Range\"\n    }\n  },\n  \"settings\": {\n    \"menu_title\": {\n      \"account_settings\": \"Account Settings\",\n      \"company_information\": \"Company Information\",\n      \"customization\": \"Customization\",\n      \"preferences\": \"Preferences\",\n      \"notifications\": \"Notifications\",\n      \"tax_types\": \"Tax Types\",\n      \"expense_category\": \"Expense Categories\",\n      \"update_app\": \"Update App\",\n      \"backup\": \"Backup\",\n      \"file_disk\": \"File Disk\",\n      \"custom_fields\": \"Custom Fields\",\n      \"payment_modes\": \"Payment Modes\",\n      \"notes\": \"Notes\",\n      \"exchange_rate\": \"Exchange Rate\",\n      \"address_information\": \"Address Information\"\n    },\n    \"address_information\": {\n      \"section_description\": \"  You can update Your Address information using form below.\"\n    },\n    \"title\": \"Settings\",\n    \"setting\": \"Settings | Settings\",\n    \"general\": \"General\",\n    \"language\": \"Language\",\n    \"primary_currency\": \"Primary Currency\",\n    \"timezone\": \"Time Zone\",\n    \"date_format\": \"Date Format\",\n    \"currencies\": {\n      \"title\": \"Currencies\",\n      \"currency\": \"Currency | Currencies\",\n      \"currencies_list\": \"Currencies List\",\n      \"select_currency\": \"Select Currency\",\n      \"name\": \"Name\",\n      \"code\": \"Code\",\n      \"symbol\": \"Symbol\",\n      \"precision\": \"Precision\",\n      \"thousand_separator\": \"Thousand Separator\",\n      \"decimal_separator\": \"Decimal Separator\",\n      \"position\": \"Position\",\n      \"position_of_symbol\": \"Position Of Symbol\",\n      \"right\": \"Right\",\n      \"left\": \"Left\",\n      \"action\": \"Action\",\n      \"add_currency\": \"Add Currency\"\n    },\n    \"mail\": {\n      \"host\": \"Mail Host\",\n      \"port\": \"Mail Port\",\n      \"driver\": \"Mail Driver\",\n      \"secret\": \"Secret\",\n      \"mailgun_secret\": \"Mailgun Secret\",\n      \"mailgun_domain\": \"Domain\",\n      \"mailgun_endpoint\": \"Mailgun Endpoint\",\n      \"ses_secret\": \"SES Secret\",\n      \"ses_key\": \"SES Key\",\n      \"password\": \"Mail Password\",\n      \"username\": \"Mail Username\",\n      \"mail_config\": \"Mail Configuration\",\n      \"from_name\": \"From Mail Name\",\n      \"from_mail\": \"From Mail Address\",\n      \"encryption\": \"Mail Encryption\",\n      \"mail_config_desc\": \"Below is the form for Configuring Email driver for sending emails from the app. You can also configure third party providers like Sendgrid, SES etc.\"\n    },\n    \"pdf\": {\n      \"title\": \"PDF Setting\",\n      \"footer_text\": \"Footer Text\",\n      \"pdf_layout\": \"PDF Layout\"\n    },\n    \"company_info\": {\n      \"company_info\": \"Company info\",\n      \"company_name\": \"Company Name\",\n      \"company_logo\": \"Company Logo\",\n      \"section_description\": \"Information about your company that will be displayed on invoices, estimates and other documents created by Crater.\",\n      \"phone\": \"Phone\",\n      \"country\": \"Country\",\n      \"state\": \"State\",\n      \"city\": \"City\",\n      \"address\": \"Address\",\n      \"zip\": \"Zip\",\n      \"save\": \"Save\",\n      \"delete\": \"Delete\",\n      \"updated_message\": \"Company information updated successfully\",\n      \"delete_company\": \"Delete Company\",\n      \"delete_company_description\": \"Once you delete your company, you will lose all the data and files associated with it permanently.\",\n      \"are_you_absolutely_sure\": \"Are you absolutely sure?\",\n      \"delete_company_modal_desc\": \"This action cannot be undone. This will permanently delete {company} and all of its associated data.\",\n      \"delete_company_modal_label\": \"Please type {company} to confirm\"\n    },\n    \"custom_fields\": {\n      \"title\": \"Custom Fields\",\n      \"section_description\": \"Customize your Invoices, Estimates & Payment Receipts with your own fields. Make sure to use the below added fields on the address formats on Customization settings page.\",\n      \"add_custom_field\": \"Add Custom Field\",\n      \"edit_custom_field\": \"Edit Custom Field\",\n      \"field_name\": \"Field Name\",\n      \"label\": \"Label\",\n      \"type\": \"Type\",\n      \"name\": \"Name\",\n      \"slug\": \"Slug\",\n      \"required\": \"Required\",\n      \"placeholder\": \"Placeholder\",\n      \"help_text\": \"Help Text\",\n      \"default_value\": \"Default Value\",\n      \"prefix\": \"Prefix\",\n      \"starting_number\": \"Starting Number\",\n      \"model\": \"Model\",\n      \"help_text_description\": \"Enter some text to help users understand the purpose of this custom field.\",\n      \"suffix\": \"Suffix\",\n      \"yes\": \"Yes\",\n      \"no\": \"No\",\n      \"order\": \"Order\",\n      \"custom_field_confirm_delete\": \"You will not be able to recover this Custom Field\",\n      \"already_in_use\": \"Custom Field is already in use\",\n      \"deleted_message\": \"Custom Field deleted successfully\",\n      \"options\": \"options\",\n      \"add_option\": \"Add Options\",\n      \"add_another_option\": \"Add another option\",\n      \"sort_in_alphabetical_order\": \"Sort in Alphabetical Order\",\n      \"add_options_in_bulk\": \"Add options in bulk\",\n      \"use_predefined_options\": \"Use Predefined Options\",\n      \"select_custom_date\": \"Select Custom Date\",\n      \"select_relative_date\": \"Select Relative Date\",\n      \"ticked_by_default\": \"Ticked by default\",\n      \"updated_message\": \"Custom Field updated successfully\",\n      \"added_message\": \"Custom Field added successfully\",\n      \"press_enter_to_add\": \"Press enter to add new option\",\n      \"model_in_use\": \"Cannot update model for fields which are already in use.\",\n      \"type_in_use\": \"Cannot update type for fields which are already in use.\"\n    },\n    \"customization\": {\n      \"customization\": \"customization\",\n      \"updated_message\": \"Company information updated successfully\",\n      \"save\": \"Save\",\n      \"insert_fields\": \"Insert Fields\",\n      \"learn_custom_format\": \"Learn how to use custom format\",\n      \"add_new_component\": \"Add New Component\",\n      \"component\": \"Component\",\n      \"Parameter\": \"Parameter\",\n      \"series\": \"Series\",\n      \"series_description\": \"To set a static prefix/postfix like 'INV' across your company. It supports character length of up to 6 chars.\",\n      \"series_param_label\": \"Series Value\",\n      \"delimiter\": \"Delimiter\",\n      \"delimiter_description\": \"Single character for specifying the boundary between 2 separate components. By default its set to -\",\n      \"delimiter_param_label\": \"Delimiter Value\",\n      \"date_format\": \"Date Format\",\n      \"date_format_description\": \"A local date and time field which accepts a format parameter. The default format: 'Y' renders the current year.\",\n      \"date_format_param_label\": \"Format\",\n      \"sequence\": \"Sequence\",\n      \"sequence_description\": \"Consecutive sequence of numbers across your company. You can specify the length on the given parameter.\",\n      \"sequence_param_label\": \"Sequence Length\",\n      \"customer_series\": \"Customer Series\",\n      \"customer_series_description\": \"To set a different prefix/postfix for each customer.\",\n      \"customer_sequence\": \"Customer Sequence\",\n      \"customer_sequence_description\": \"Consecutive sequence of numbers for each of your customer.\",\n      \"customer_sequence_param_label\": \"Sequence Length\",\n      \"random_sequence\": \"Random Sequence\",\n      \"random_sequence_description\": \"Random alphanumeric string. You can specify the length on the given parameter.\",\n      \"random_sequence_param_label\": \"Sequence Length\",\n      \"invoices\": {\n        \"title\": \"Invoices\",\n        \"invoice_number_format\": \"Invoice Number Format\",\n        \"invoice_number_format_description\": \"Customize how your invoice number gets generated automatically when you create a new invoice.\",\n        \"preview_invoice_number\": \"Preview Invoice Number\",\n        \"due_date\": \"Due Date\",\n        \"due_date_description\": \"Specify how due date is automatically set when you create an invoice.\",\n        \"due_date_days\": \"Invoice Due after days\",\n        \"set_due_date_automatically\": \"Set Due Date Automatically\",\n        \"set_due_date_automatically_description\": \"Enable this if you wish to set due date automatically when you create a new invoice.\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on invoice creation.\",\n        \"default_invoice_email_body\": \"Default Invoice Email Body\",\n        \"company_address_format\": \"Company Address Format\",\n        \"shipping_address_format\": \"Shipping Address Format\",\n        \"billing_address_format\": \"Billing Address Format\",\n        \"invoice_email_attachment\": \"Send invoices as attachments\",\n        \"invoice_email_attachment_setting_description\": \"Enable this if you want to send invoices as email attachment. Please note that 'View Invoice' button in emails will not be displayed anymore when enabled.\",\n        \"invoice_settings_updated\": \"Invoice Settings updated successfully\",\n        \"retrospective_edits\": \"Retrospective Edits\",\n        \"allow\": \"Allow\",\n        \"disable_on_invoice_partial_paid\": \"Disable after partial payment is recorded\",\n        \"disable_on_invoice_paid\": \"Disable after full payment is recorded\",\n        \"disable_on_invoice_sent\": \"Disable after invoice is sent\",\n        \"retrospective_edits_description\": \" Based on your country's laws or your preference, you can restrict users from editing finalised invoices.\"\n      },\n      \"estimates\": {\n        \"title\": \"Estimates\",\n        \"estimate_number_format\": \"Estimate Number Format\",\n        \"estimate_number_format_description\": \"Customize how your estimate number gets generated automatically when you create a new estimate.\",\n        \"preview_estimate_number\": \"Preview Estimate Number\",\n        \"expiry_date\": \"Expiry Date\",\n        \"expiry_date_description\": \"Specify how expiry date is automatically set when you create an estimate.\",\n        \"expiry_date_days\": \"Estimate Expires after days\",\n        \"set_expiry_date_automatically\": \"Set Expiry Date Automatically\",\n        \"set_expiry_date_automatically_description\": \"Enable this if you wish to set expiry date automatically when you create a new estimate.\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on estimate creation.\",\n        \"default_estimate_email_body\": \"Default Estimate Email Body\",\n        \"company_address_format\": \"Company Address Format\",\n        \"shipping_address_format\": \"Shipping Address Format\",\n        \"billing_address_format\": \"Billing Address Format\",\n        \"estimate_email_attachment\": \"Send estimates as attachments\",\n        \"estimate_email_attachment_setting_description\": \"Enable this if you want to send the estimates as an email attachment. Please note that 'View Estimate' button in emails will not be displayed anymore when enabled.\",\n        \"estimate_settings_updated\": \"Estimate Settings updated successfully\",\n        \"convert_estimate_options\": \"Estimate Convert Action\",\n        \"convert_estimate_description\": \"Specify what happens to the estimate after it gets converted to an invoice.\",\n        \"no_action\": \"No action\",\n        \"delete_estimate\": \"Delete estimate\",\n        \"mark_estimate_as_accepted\": \"Mark estimate as accepted\"\n      },\n      \"payments\": {\n        \"title\": \"Payments\",\n        \"payment_number_format\": \"Payment Number Format\",\n        \"payment_number_format_description\": \"Customize how your payment number gets generated automatically when you create a new payment.\",\n        \"preview_payment_number\": \"Preview Payment Number\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on payment creation.\",\n        \"default_payment_email_body\": \"Default Payment Email Body\",\n        \"company_address_format\": \"Company Address Format\",\n        \"from_customer_address_format\": \"From Customer Address Format\",\n        \"payment_email_attachment\": \"Send payments as attachments\",\n        \"payment_email_attachment_setting_description\": \"Enable this if you want to send the payment receipts as an email attachment. Please note that 'View Payment' button in emails will not be displayed anymore when enabled.\",\n        \"payment_settings_updated\": \"Payment Settings updated successfully\"\n      },\n      \"items\": {\n        \"title\": \"Items\",\n        \"units\": \"Units\",\n        \"add_item_unit\": \"Add Item Unit\",\n        \"edit_item_unit\": \"Edit Item Unit\",\n        \"unit_name\": \"Unit Name\",\n        \"item_unit_added\": \"Item Unit Added\",\n        \"item_unit_updated\": \"Item Unit Updated\",\n        \"item_unit_confirm_delete\": \"You will not be able to recover this Item unit\",\n        \"already_in_use\": \"Item Unit is already in use\",\n        \"deleted_message\": \"Item Unit deleted successfully\"\n      },\n      \"notes\": {\n        \"title\": \"Notes\",\n        \"description\": \"Save time by creating notes and reusing them on your invoices, estimates & payments.\",\n        \"notes\": \"Notes\",\n        \"type\": \"Type\",\n        \"add_note\": \"Add Note\",\n        \"add_new_note\": \"Add New Note\",\n        \"name\": \"Name\",\n        \"edit_note\": \"Edit Note\",\n        \"note_added\": \"Note added successfully\",\n        \"note_updated\": \"Note Updated successfully\",\n        \"note_confirm_delete\": \"You will not be able to recover this Note\",\n        \"already_in_use\": \"Note is already in use\",\n        \"deleted_message\": \"Note deleted successfully\"\n      }\n    },\n    \"account_settings\": {\n      \"profile_picture\": \"Profile Picture\",\n      \"name\": \"Name\",\n      \"email\": \"Email\",\n      \"password\": \"Password\",\n      \"confirm_password\": \"Confirm Password\",\n      \"account_settings\": \"Account Settings\",\n      \"save\": \"Save\",\n      \"section_description\": \"You can update your name, email & password using the form below.\",\n      \"updated_message\": \"Account Settings updated successfully\"\n    },\n    \"user_profile\": {\n      \"name\": \"Name\",\n      \"email\": \"Email\",\n      \"password\": \"Password\",\n      \"confirm_password\": \"Confirm Password\"\n    },\n    \"notification\": {\n      \"title\": \"Notifications\",\n      \"email\": \"Send Notifications to\",\n      \"description\": \"Which email notifications would you like to receive when something changes?\",\n      \"invoice_viewed\": \"Invoice viewed\",\n      \"invoice_viewed_desc\": \"When your customer views the invoice sent via crater dashboard.\",\n      \"estimate_viewed\": \"Estimate viewed\",\n      \"estimate_viewed_desc\": \"When your customer views the estimate sent via crater dashboard.\",\n      \"save\": \"Save\",\n      \"email_save_message\": \"Email saved successfully\",\n      \"please_enter_email\": \"Please Enter Email\"\n    },\n    \"roles\": {\n      \"title\": \"Roles\",\n      \"description\": \"Manage the roles & permissions of this company\",\n      \"save\": \"Save\",\n      \"add_new_role\": \"Add New Role\",\n      \"role_name\": \"Role Name\",\n      \"added_on\": \"Added on\",\n      \"add_role\": \"Add Role\",\n      \"edit_role\": \"Edit Role\",\n      \"name\": \"Name\",\n      \"permission\": \"Permission | Permissions\",\n      \"select_all\": \"Select All\",\n      \"none\": \"None\",\n      \"confirm_delete\": \"You will not be able to recover this Role\",\n      \"created_message\": \"Role created successfully\",\n      \"updated_message\": \"Role updated successfully\",\n      \"deleted_message\": \"Role deleted successfully\",\n      \"already_in_use\": \"Role is already in use\"\n    },\n    \"exchange_rate\": {\n      \"exchange_rate\": \"Exchange Rate\",\n      \"title\": \"Fix Currency Exchange issues\",\n      \"description\": \"Please enter exchange rate of all the currencies mentioned below to help Crater properly calculate the amounts in {currency}.\",\n      \"drivers\": \"Drivers\",\n      \"new_driver\": \"Add New Provider\",\n      \"edit_driver\": \"Edit Provider\",\n      \"select_driver\": \"Select Driver\",\n      \"update\": \"select exchange rate \",\n      \"providers_description\": \"Configure your exchange rate providers here to automatically fetch the latest exchange rate on transactions.\",\n      \"key\": \"API Key\",\n      \"name\": \"Name\",\n      \"driver\": \"Driver\",\n      \"is_default\": \"IS DEFAULT\",\n      \"currency\": \"Currencies\",\n      \"exchange_rate_confirm_delete\": \"You will not be able to recover this driver\",\n      \"created_message\": \"Provider Created successfully\",\n      \"updated_message\": \"Provider Updated Successfully\",\n      \"deleted_message\": \"Provider Deleted Successfully\",\n      \"error\": \" You cannot Delete Active Driver\",\n      \"default_currency_error\": \"This currency is already used in one of the Active Provider\",\n      \"exchange_help_text\": \"Enter exchange rate to convert from {currency} to {baseCurrency}\",\n      \"currency_freak\": \"Currency Freak\",\n      \"currency_layer\": \"Currency Layer\",\n      \"open_exchange_rate\": \"Open Exchange Rate\",\n      \"currency_converter\": \"Currency Converter\",\n      \"server\": \"Server\",\n      \"url\": \"URL\",\n      \"active\": \"Active\",\n      \"currency_help_text\": \"This provider will only be used on above selected currencies\",\n      \"currency_in_used\": \"The following currencies are already active on another provider. Please remove these currencies from selection to activate this provider again.\"\n    },\n    \"tax_types\": {\n      \"title\": \"Tax Types\",\n      \"add_tax\": \"Add Tax\",\n      \"edit_tax\": \"Edit Tax\",\n      \"description\": \"You can add or Remove Taxes as you please. Crater supports Taxes on Individual Items as well as on the invoice.\",\n      \"add_new_tax\": \"Add New Tax\",\n      \"tax_settings\": \"Tax Settings\",\n      \"tax_per_item\": \"Tax Per Item\",\n      \"tax_name\": \"Tax Name\",\n      \"compound_tax\": \"Compound Tax\",\n      \"percent\": \"Percent\",\n      \"action\": \"Action\",\n      \"tax_setting_description\": \"Enable this if you want to add taxes to individual invoice items. By default, taxes are added directly to the invoice.\",\n      \"created_message\": \"Tax type created successfully\",\n      \"updated_message\": \"Tax type updated successfully\",\n      \"deleted_message\": \"Tax type deleted successfully\",\n      \"confirm_delete\": \"You will not be able to recover this Tax Type\",\n      \"already_in_use\": \"Tax is already in use\"\n    },\n    \"payment_modes\": {\n      \"title\": \"Payment Modes\",\n      \"description\": \"Modes of transaction for payments\",\n      \"add_payment_mode\": \"Add Payment Mode\",\n      \"edit_payment_mode\": \"Edit Payment Mode\",\n      \"mode_name\": \"Mode Name\",\n      \"payment_mode_added\": \"Payment Mode Added\",\n      \"payment_mode_updated\": \"Payment Mode Updated\",\n      \"payment_mode_confirm_delete\": \"You will not be able to recover this Payment Mode\",\n      \"payments_attached\": \"This payment method is already attached to payments. Please delete the attached payments to proceed with deletion.\",\n      \"expenses_attached\": \"This payment method is already attached to expenses. Please delete the attached expenses to proceed with deletion.\",\n      \"deleted_message\": \"Payment Mode deleted successfully\"\n    },\n    \"expense_category\": {\n      \"title\": \"Expense Categories\",\n      \"action\": \"Action\",\n      \"description\": \"Categories are required for adding expense entries. You can Add or Remove these categories according to your preference.\",\n      \"add_new_category\": \"Add New Category\",\n      \"add_category\": \"Add Category\",\n      \"edit_category\": \"Edit Category\",\n      \"category_name\": \"Category Name\",\n      \"category_description\": \"Description\",\n      \"created_message\": \"Expense Category created successfully\",\n      \"deleted_message\": \"Expense category deleted successfully\",\n      \"updated_message\": \"Expense category updated successfully\",\n      \"confirm_delete\": \"You will not be able to recover this Expense Category\",\n      \"already_in_use\": \"Category is already in use\"\n    },\n    \"preferences\": {\n      \"currency\": \"Currency\",\n      \"default_language\": \"Default Language\",\n      \"time_zone\": \"Time Zone\",\n      \"fiscal_year\": \"Financial Year\",\n      \"date_format\": \"Date Format\",\n      \"discount_setting\": \"Discount Setting\",\n      \"discount_per_item\": \"Discount Per Item \",\n      \"discount_setting_description\": \"Enable this if you want to add Discount to individual invoice items. By default, Discount is added directly to the invoice.\",\n      \"expire_public_links\": \"Automatically Expire Public Links\",\n      \"expire_setting_description\": \"Specify whether you would like to expire all the links sent by application to view invoices, estimates & payments, etc after a specified duration.\",\n      \"save\": \"Save\",\n      \"preference\": \"Preference | Preferences\",\n      \"general_settings\": \"Default preferences for the system.\",\n      \"updated_message\": \"Preferences updated successfully\",\n      \"select_language\": \"Select Language\",\n      \"select_time_zone\": \"Select Time Zone\",\n      \"select_date_format\": \"Select Date Format\",\n      \"select_financial_year\": \"Select Financial Year\",\n      \"recurring_invoice_status\": \"Recurring Invoice Status\",\n      \"create_status\": \"Create Status\",\n      \"active\": \"Active\",\n      \"on_hold\": \"On Hold\",\n      \"update_status\": \"Update Status\",\n      \"completed\": \"Completed\",\n      \"company_currency_unchangeable\": \"Company currency cannot be changed\"\n    },\n    \"update_app\": {\n      \"title\": \"Update App\",\n      \"description\": \"You can easily update Crater by checking for a new update by clicking the button below\",\n      \"check_update\": \"Check for updates\",\n      \"avail_update\": \"New Update available\",\n      \"next_version\": \"Next version\",\n      \"requirements\": \"Requirements\",\n      \"update\": \"Update Now\",\n      \"update_progress\": \"Update in progress...\",\n      \"progress_text\": \"It will just take a few minutes. Please do not refresh the screen or close the window before the update finishes\",\n      \"update_success\": \"App has been updated! Please wait while your browser window gets reloaded automatically.\",\n      \"latest_message\": \"No update available! You are on the latest version.\",\n      \"current_version\": \"Current Version\",\n      \"download_zip_file\": \"Download ZIP file\",\n      \"unzipping_package\": \"Unzipping Package\",\n      \"copying_files\": \"Copying Files\",\n      \"deleting_files\": \"Deleting Unused files\",\n      \"running_migrations\": \"Running Migrations\",\n      \"finishing_update\": \"Finishing Update\",\n      \"update_failed\": \"Update Failed\",\n      \"update_failed_text\": \"Sorry! Your update failed on : {step} step\",\n      \"update_warning\": \"All of the application files and default template files will be overwritten when you update the application using this utility. Please take a backup of your templates & database before updating.\"\n    },\n    \"backup\": {\n      \"title\": \"Backup | Backups\",\n      \"description\": \"The backup is a zipfile that contains all files in the directories you specify along with a dump of your database\",\n      \"new_backup\": \"Add New Backup\",\n      \"create_backup\": \"Create Backup\",\n      \"select_backup_type\": \"Select Backup Type\",\n      \"backup_confirm_delete\": \"You will not be able to recover this Backup\",\n      \"path\": \"path\",\n      \"new_disk\": \"New Disk\",\n      \"created_at\": \"created at\",\n      \"size\": \"size\",\n      \"dropbox\": \"dropbox\",\n      \"local\": \"local\",\n      \"healthy\": \"healthy\",\n      \"amount_of_backups\": \"amount of backups\",\n      \"newest_backups\": \"newest backups\",\n      \"used_storage\": \"used storage\",\n      \"select_disk\": \"Select Disk\",\n      \"action\": \"Action\",\n      \"deleted_message\": \"Backup deleted successfully\",\n      \"created_message\": \"Backup created successfully\",\n      \"invalid_disk_credentials\": \"Invalid credential of selected disk\"\n    },\n    \"disk\": {\n      \"title\": \"File Disk | File Disks\",\n      \"description\": \"By default, Crater will use your local disk for saving backups, avatar and other image files. You can configure more than one disk drivers like DigitalOcean, S3 and Dropbox according to your preference.\",\n      \"created_at\": \"created at\",\n      \"dropbox\": \"dropbox\",\n      \"name\": \"Name\",\n      \"driver\": \"Driver\",\n      \"disk_type\": \"Type\",\n      \"disk_name\": \"Disk Name\",\n      \"new_disk\": \"Add New Disk\",\n      \"filesystem_driver\": \"Filesystem Driver\",\n      \"local_driver\": \"local Driver\",\n      \"local_root\": \"local Root\",\n      \"public_driver\": \"Public Driver\",\n      \"public_root\": \"Public Root\",\n      \"public_url\": \"Public URL\",\n      \"public_visibility\": \"Public Visibility\",\n      \"media_driver\": \"Media Driver\",\n      \"media_root\": \"Media Root\",\n      \"aws_driver\": \"AWS Driver\",\n      \"aws_key\": \"AWS Key\",\n      \"aws_secret\": \"AWS Secret\",\n      \"aws_region\": \"AWS Region\",\n      \"aws_bucket\": \"AWS Bucket\",\n      \"aws_root\": \"AWS Root\",\n      \"do_spaces_type\": \"Do Spaces type\",\n      \"do_spaces_key\": \"Do Spaces key\",\n      \"do_spaces_secret\": \"Do Spaces Secret\",\n      \"do_spaces_region\": \"Do Spaces Region\",\n      \"do_spaces_bucket\": \"Do Spaces Bucket\",\n      \"do_spaces_endpoint\": \"Do Spaces Endpoint\",\n      \"do_spaces_root\": \"Do Spaces Root\",\n      \"dropbox_type\": \"Dropbox Type\",\n      \"dropbox_token\": \"Dropbox Token\",\n      \"dropbox_key\": \"Dropbox Key\",\n      \"dropbox_secret\": \"Dropbox Secret\",\n      \"dropbox_app\": \"Dropbox App\",\n      \"dropbox_root\": \"Dropbox Root\",\n      \"default_driver\": \"Default Driver\",\n      \"is_default\": \"IS DEFAULT\",\n      \"set_default_disk\": \"Set Default Disk\",\n      \"set_default_disk_confirm\": \"This disk will be set as default and all the new PDFs will be saved on this disk\",\n      \"success_set_default_disk\": \"Disk set as default successfully\",\n      \"save_pdf_to_disk\": \"Save PDFs to Disk\",\n      \"disk_setting_description\": \" Enable this, if you wish to save a copy of each Invoice, Estimate & Payment Receipt PDF on your default disk automatically. Turning this option will decrease the load-time when viewing the PDFs.\",\n      \"select_disk\": \"Select Disk\",\n      \"disk_settings\": \"Disk Settings\",\n      \"confirm_delete\": \"Your existing files & folders in the specified disk will not be affected but your disk configuration will be deleted from Crater\",\n      \"action\": \"Action\",\n      \"edit_file_disk\": \"Edit File Disk\",\n      \"success_create\": \"Disk added successfully\",\n      \"success_update\": \"Disk updated successfully\",\n      \"error\": \"Disk addition failed\",\n      \"deleted_message\": \"File Disk deleted successfully\",\n      \"disk_variables_save_successfully\": \"Disk Configured Successfully\",\n      \"disk_variables_save_error\": \"Disk configuration failed.\",\n      \"invalid_disk_credentials\": \"Invalid credential of selected disk\"\n    },\n    \"taxations\": {\n      \"add_billing_address\": \"Enter Billing Address\",\n      \"add_shipping_address\": \"Enter Shipping Address\",\n      \"add_company_address\": \"Enter Company Address\",\n      \"modal_description\": \"The information below is required in order to fetch sales tax.\",\n      \"add_address\": \"Add Address for fetching sales tax.\",\n      \"address_placeholder\": \"Example: 123, My Street\",\n      \"city_placeholder\": \"Example: Los Angeles\",\n      \"state_placeholder\": \"Example: CA\",\n      \"zip_placeholder\": \"Example: 90024\",\n      \"invalid_address\": \"Please provide valid address details.\"\n    }\n  },\n  \"wizard\": {\n    \"account_info\": \"Account Information\",\n    \"account_info_desc\": \"Below details will be used to create the main Administrator account. Also you can change the details anytime after logging in.\",\n    \"name\": \"Name\",\n    \"email\": \"Email\",\n    \"password\": \"Password\",\n    \"confirm_password\": \"Confirm Password\",\n    \"save_cont\": \"Save & Continue\",\n    \"company_info\": \"Company Information\",\n    \"company_info_desc\": \"This information will be displayed on invoices. Note that you can edit this later on settings page.\",\n    \"company_name\": \"Company Name\",\n    \"company_logo\": \"Company Logo\",\n    \"logo_preview\": \"Logo Preview\",\n    \"preferences\": \"Company Preferences\",\n    \"preferences_desc\": \"Specify the default preferences for this company.\",\n    \"currency_set_alert\": \"The company's currency cannot be changed later.\",\n    \"country\": \"Country\",\n    \"state\": \"State\",\n    \"city\": \"City\",\n    \"address\": \"Address\",\n    \"street\": \"Street1 | Street2\",\n    \"phone\": \"Phone\",\n    \"zip_code\": \"Zip Code\",\n    \"go_back\": \"Go Back\",\n    \"currency\": \"Currency\",\n    \"language\": \"Language\",\n    \"time_zone\": \"Time Zone\",\n    \"fiscal_year\": \"Financial Year\",\n    \"date_format\": \"Date Format\",\n    \"from_address\": \"From Address\",\n    \"username\": \"Username\",\n    \"next\": \"Next\",\n    \"continue\": \"Continue\",\n    \"skip\": \"Skip\",\n    \"database\": {\n      \"database\": \"Site URL & Database\",\n      \"connection\": \"Database Connection\",\n      \"host\": \"Database Host\",\n      \"port\": \"Database Port\",\n      \"password\": \"Database Password\",\n      \"app_url\": \"App URL\",\n      \"app_domain\": \"App Domain\",\n      \"username\": \"Database Username\",\n      \"db_name\": \"Database Name\",\n      \"db_path\": \"Database Path\",\n      \"desc\": \"Create a database on your server and set the credentials using the form below.\"\n    },\n    \"permissions\": {\n      \"permissions\": \"Permissions\",\n      \"permission_confirm_title\": \"Are you sure you want to continue?\",\n      \"permission_confirm_desc\": \"Folder permission check failed\",\n      \"permission_desc\": \"Below is the list of folder permissions which are required in order for the app to work. If the permission check fails, make sure to update your folder permissions.\"\n    },\n    \"verify_domain\": {\n      \"title\": \"Domain Verification\",\n      \"desc\": \"Crater uses Session based authentication which requires domain verification for security purposes. Please enter the domain on which you will be accessing your web application.\",\n      \"app_domain\": \"App Domain\",\n      \"verify_now\": \"Verify Now\",\n      \"success\": \"Domain Verify Successfully.\",\n      \"failed\": \"Domain verification failed. Please enter valid domain name.\",\n      \"verify_and_continue\": \"Verify And Continue\"\n    },\n    \"mail\": {\n      \"host\": \"Mail Host\",\n      \"port\": \"Mail Port\",\n      \"driver\": \"Mail Driver\",\n      \"secret\": \"Secret\",\n      \"mailgun_secret\": \"Mailgun Secret\",\n      \"mailgun_domain\": \"Domain\",\n      \"mailgun_endpoint\": \"Mailgun Endpoint\",\n      \"ses_secret\": \"SES Secret\",\n      \"ses_key\": \"SES Key\",\n      \"password\": \"Mail Password\",\n      \"username\": \"Mail Username\",\n      \"mail_config\": \"Mail Configuration\",\n      \"from_name\": \"From Mail Name\",\n      \"from_mail\": \"From Mail Address\",\n      \"encryption\": \"Mail Encryption\",\n      \"mail_config_desc\": \"Below is the form for Configuring Email driver for sending emails from the app. You can also configure third party providers like Sendgrid, SES etc.\"\n    },\n    \"req\": {\n      \"system_req\": \"System Requirements\",\n      \"php_req_version\": \"Php (version {version} required)\",\n      \"check_req\": \"Check Requirements\",\n      \"system_req_desc\": \"Crater has a few server requirements. Make sure that your server has the required php version and all the extensions mentioned below.\"\n    },\n    \"errors\": {\n      \"migrate_failed\": \"Migrate Failed\",\n      \"database_variables_save_error\": \"Cannot write configuration to .env file. Please check its file permissions\",\n      \"mail_variables_save_error\": \"Email configuration failed.\",\n      \"connection_failed\": \"Database connection failed\",\n      \"database_should_be_empty\": \"Database should be empty\"\n    },\n    \"success\": {\n      \"mail_variables_save_successfully\": \"Email configured successfully\",\n      \"database_variables_save_successfully\": \"Database configured successfully.\"\n    }\n  },\n  \"validation\": {\n    \"invalid_phone\": \"Invalid Phone Number\",\n    \"invalid_url\": \"Invalid url (ex: http://www.craterapp.com)\",\n    \"invalid_domain_url\": \"Invalid url (ex: craterapp.com)\",\n    \"required\": \"Field is required\",\n    \"email_incorrect\": \"Incorrect Email.\",\n    \"email_already_taken\": \"The email has already been taken.\",\n    \"email_does_not_exist\": \"User with given email doesn't exist\",\n    \"item_unit_already_taken\": \"This item unit name has already been taken\",\n    \"payment_mode_already_taken\": \"This payment mode name has already been taken\",\n    \"send_reset_link\": \"Send Reset Link\",\n    \"not_yet\": \"Not yet? Send it again\",\n    \"password_min_length\": \"Password must contain {count} characters\",\n    \"name_min_length\": \"Name must have at least {count} letters.\",\n    \"prefix_min_length\": \"Prefix must have at least {count} letters.\",\n    \"enter_valid_tax_rate\": \"Enter valid tax rate\",\n    \"numbers_only\": \"Numbers Only.\",\n    \"characters_only\": \"Characters Only.\",\n    \"password_incorrect\": \"Passwords must be identical\",\n    \"password_length\": \"Password must be {count} character long.\",\n    \"qty_must_greater_than_zero\": \"Quantity must be greater than zero.\",\n    \"price_greater_than_zero\": \"Price must be greater than zero.\",\n    \"payment_greater_than_zero\": \"Payment must be greater than zero.\",\n    \"payment_greater_than_due_amount\": \"Entered Payment is more than due amount of this invoice.\",\n    \"quantity_maxlength\": \"Quantity should not be greater than 20 digits.\",\n    \"price_maxlength\": \"Price should not be greater than 20 digits.\",\n    \"price_minvalue\": \"Price should be greater than 0.\",\n    \"amount_maxlength\": \"Amount should not be greater than 20 digits.\",\n    \"amount_minvalue\": \"Amount should be greater than 0.\",\n    \"discount_maxlength\": \"Discount should not be greater than max discount\",\n    \"description_maxlength\": \"Description should not be greater than 255 characters.\",\n    \"subject_maxlength\": \"Subject should not be greater than 100 characters.\",\n    \"message_maxlength\": \"Message should not be greater than 255 characters.\",\n    \"maximum_options_error\": \"Maximum  of {max} options selected. First remove a selected option to select another.\",\n    \"notes_maxlength\": \"Notes should not be greater than 65,000 characters.\",\n    \"address_maxlength\": \"Address should not be greater than 255 characters.\",\n    \"ref_number_maxlength\": \"Ref Number should not be greater than 255 characters.\",\n    \"prefix_maxlength\": \"Prefix should not be greater than 5 characters.\",\n    \"something_went_wrong\": \"something went wrong\",\n    \"number_length_minvalue\": \"Number length should be greater than 0\",\n    \"at_least_one_ability\": \"Please select atleast one Permission.\",\n    \"valid_driver_key\": \"Please enter a valid {driver} key.\",\n    \"valid_exchange_rate\": \"Please enter a valid exchange rate.\",\n    \"company_name_not_same\": \"Company name must match with given name.\"\n  },\n  \"errors\": {\n    \"starter_plan\": \"This feature is available on Starter plan and onwards!\",\n    \"invalid_provider_key\": \"Please Enter Valid Provider API Key.\",\n    \"estimate_number_used\": \"The estimate number has already been taken.\",\n    \"invoice_number_used\": \"The invoice number has already been taken.\",\n    \"payment_attached\": \"This invoice already has a payment attached to it. Make sure to delete the attached payments first in order to go ahead with the removal.\",\n    \"payment_number_used\": \"The payment number has already been taken.\",\n    \"name_already_taken\": \"The name has already been taken.\",\n    \"receipt_does_not_exist\": \"Receipt does not exist.\",\n    \"customer_cannot_be_changed_after_payment_is_added\": \"Customer cannot be change after payment is added\",\n    \"invalid_credentials\": \"Invalid  Credentials.\",\n    \"not_allowed\": \"Not Allowed\",\n    \"login_invalid_credentials\": \"These credentials do not match our records.\",\n    \"enter_valid_cron_format\": \"Please enter a valid cron format\",\n    \"email_could_not_be_sent\": \"Email could not be sent to this email address.\",\n    \"invalid_address\": \"Please enter a valid address.\",\n    \"invalid_key\": \"Please enter valid key.\",\n    \"invalid_state\": \"Please enter a valid state.\",\n    \"invalid_city\": \"Please enter a valid city.\",\n    \"invalid_postal_code\": \"Please enter a valid zip.\",\n    \"invalid_format\": \"Please enter valid query string format.\",\n    \"api_error\": \"Server not responding.\",\n    \"feature_not_enabled\": \"Feature not enabled.\",\n    \"request_limit_met\": \"Api request limit exceeded.\",\n    \"address_incomplete\": \"Incomplete Address\"\n  },\n  \"pdf_estimate_label\": \"Estimate\",\n  \"pdf_estimate_number\": \"Estimate Number\",\n  \"pdf_estimate_date\": \"Estimate Date\",\n  \"pdf_estimate_expire_date\": \"Expiry date\",\n  \"pdf_invoice_label\": \"Invoice\",\n  \"pdf_invoice_number\": \"Invoice Number\",\n  \"pdf_invoice_date\": \"Invoice Date\",\n  \"pdf_invoice_due_date\": \"Due date\",\n  \"pdf_notes\": \"Notes\",\n  \"pdf_items_label\": \"Items\",\n  \"pdf_quantity_label\": \"Quantity\",\n  \"pdf_price_label\": \"Price\",\n  \"pdf_discount_label\": \"Discount\",\n  \"pdf_amount_label\": \"Amount\",\n  \"pdf_subtotal\": \"Subtotal\",\n  \"pdf_total\": \"Total\",\n  \"pdf_payment_label\": \"Payment\",\n  \"pdf_payment_receipt_label\": \"PAYMENT RECEIPT\",\n  \"pdf_payment_date\": \"Payment Date\",\n  \"pdf_payment_number\": \"Payment Number\",\n  \"pdf_payment_mode\": \"Payment Mode\",\n  \"pdf_payment_amount_received_label\": \"Amount Received\",\n  \"pdf_expense_report_label\": \"EXPENSES REPORT\",\n  \"pdf_total_expenses_label\": \"TOTAL EXPENSE\",\n  \"pdf_profit_loss_label\": \"PROFIT & LOSS REPORT\",\n  \"pdf_sales_customers_label\": \"Sales Customer Report\",\n  \"pdf_sales_items_label\": \"Sales Item Report\",\n  \"pdf_tax_summery_label\": \"Tax Summary Report\",\n  \"pdf_income_label\": \"INCOME\",\n  \"pdf_net_profit_label\": \"NET PROFIT\",\n  \"pdf_customer_sales_report\": \"Sales Report: By Customer\",\n  \"pdf_total_sales_label\": \"TOTAL SALES\",\n  \"pdf_item_sales_label\": \"Sales Report: By Item\",\n  \"pdf_tax_report_label\": \"TAX REPORT\",\n  \"pdf_total_tax_label\": \"TOTAL TAX\",\n  \"pdf_tax_types_label\": \"Tax Types\",\n  \"pdf_expenses_label\": \"Expenses\",\n  \"pdf_bill_to\": \"Bill to,\",\n  \"pdf_ship_to\": \"Ship to,\",\n  \"pdf_received_from\": \"Received from:\",\n  \"pdf_tax_label\": \"Tax\"\n}\n"
  },
  {
    "path": "resources/scripts/locales/ko.json",
    "content": "{\n  \"navigation\": {\n    \"dashboard\": \"계기반\",\n    \"customers\": \"고객\",\n    \"items\": \"아이템\",\n    \"invoices\": \"송장\",\n    \"expenses\": \"경비\",\n    \"estimates\": \"견적\",\n    \"payments\": \"지불\",\n    \"reports\": \"보고서\",\n    \"settings\": \"설정\",\n    \"logout\": \"로그 아웃\",\n    \"users\": \"사용자\"\n  },\n  \"general\": {\n    \"add_company\": \"회사 추가\",\n    \"view_pdf\": \"PDF보기\",\n    \"copy_pdf_url\": \"PDF URL 복사\",\n    \"download_pdf\": \"PDF 다운로드\",\n    \"save\": \"저장\",\n    \"create\": \"창조하다\",\n    \"cancel\": \"취소\",\n    \"update\": \"최신 정보\",\n    \"deselect\": \"선택 취소\",\n    \"download\": \"다운로드\",\n    \"from_date\": \"시작 날짜\",\n    \"to_date\": \"현재까지\",\n    \"from\": \"에서\",\n    \"to\": \"에\",\n    \"sort_by\": \"정렬 기준\",\n    \"ascending\": \"오름차순\",\n    \"descending\": \"내림차순\",\n    \"subject\": \"제목\",\n    \"body\": \"몸\",\n    \"message\": \"메시지\",\n    \"send\": \"보내다\",\n    \"go_back\": \"돌아 가기\",\n    \"back_to_login\": \"로그인으로 돌아가시겠습니까?\",\n    \"home\": \"집\",\n    \"filter\": \"필터\",\n    \"delete\": \"지우다\",\n    \"edit\": \"편집하다\",\n    \"view\": \"전망\",\n    \"add_new_item\": \"새 항목 추가\",\n    \"clear_all\": \"모두 지우기\",\n    \"showing\": \"전시\",\n    \"of\": \"의\",\n    \"actions\": \"행위\",\n    \"subtotal\": \"소계\",\n    \"discount\": \"할인\",\n    \"fixed\": \"결정된\",\n    \"percentage\": \"백분율\",\n    \"tax\": \"세\",\n    \"total_amount\": \"총액\",\n    \"bill_to\": \"청구 대상\",\n    \"ship_to\": \"배송지\",\n    \"due\": \"정당한\",\n    \"draft\": \"초안\",\n    \"sent\": \"보냄\",\n    \"all\": \"모두\",\n    \"select_all\": \"모두 선택\",\n    \"choose_file\": \"파일을 선택하려면 여기를 클릭하십시오\",\n    \"choose_template\": \"템플릿 선택\",\n    \"choose\": \"고르다\",\n    \"remove\": \"없애다\",\n    \"powered_by\": \"제공\",\n    \"bytefury\": \"바이트 퓨리\",\n    \"select_a_status\": \"상태 선택\",\n    \"select_a_tax\": \"세금 선택\",\n    \"search\": \"검색\",\n    \"are_you_sure\": \"확실합니까?\",\n    \"list_is_empty\": \"목록이 비어 있습니다.\",\n    \"no_tax_found\": \"세금이 없습니다!\",\n    \"four_zero_four\": \"404\",\n    \"you_got_lost\": \"이런! 당신은 길을 잃었습니다!\",\n    \"go_home\": \"집에가\",\n    \"test_mail_conf\": \"메일 구성 테스트\",\n    \"send_mail_successfully\": \"메일을 성공적으로 보냈습니다.\",\n    \"setting_updated\": \"설정이 성공적으로 업데이트되었습니다.\",\n    \"select_state\": \"주 선택\",\n    \"select_country\": \"국가 선택\",\n    \"select_city\": \"도시 선택\",\n    \"street_1\": \"거리 1\",\n    \"street_2\": \"거리 2\",\n    \"action_failed\": \"작업 실패\",\n    \"retry\": \"다시 해 보다\",\n    \"choose_note\": \"참고 선택\",\n    \"no_note_found\": \"메모를 찾을 수 없습니다.\",\n    \"insert_note\": \"메모 삽입\",\n    \"copied_pdf_url_clipboard\": \"PDF URL을 클립 보드에 복사했습니다!\"\n  },\n  \"dashboard\": {\n    \"select_year\": \"연도 선택\",\n    \"cards\": {\n      \"due_amount\": \"지불액\",\n      \"customers\": \"고객\",\n      \"invoices\": \"송장\",\n      \"estimates\": \"견적\"\n    },\n    \"chart_info\": {\n      \"total_sales\": \"매상\",\n      \"total_receipts\": \"영수증\",\n      \"total_expense\": \"경비\",\n      \"net_income\": \"순이익\",\n      \"year\": \"연도 선택\"\n    },\n    \"monthly_chart\": {\n      \"title\": \"매상\"\n    },\n    \"recent_invoices_card\": {\n      \"title\": \"만기 송장\",\n      \"due_on\": \"기한\",\n      \"customer\": \"고객\",\n      \"amount_due\": \"지불액\",\n      \"actions\": \"행위\",\n      \"view_all\": \"모두보기\"\n    },\n    \"recent_estimate_card\": {\n      \"title\": \"최근 견적\",\n      \"date\": \"데이트\",\n      \"customer\": \"고객\",\n      \"amount_due\": \"지불액\",\n      \"actions\": \"행위\",\n      \"view_all\": \"모두보기\"\n    }\n  },\n  \"tax_types\": {\n    \"name\": \"이름\",\n    \"description\": \"기술\",\n    \"percent\": \"퍼센트\",\n    \"compound_tax\": \"복합 세\"\n  },\n  \"global_search\": {\n    \"search\": \"검색...\",\n    \"customers\": \"고객\",\n    \"users\": \"사용자\",\n    \"no_results_found\": \"검색 결과가 없습니다\"\n  },\n  \"customers\": {\n    \"title\": \"고객\",\n    \"add_customer\": \"고객 추가\",\n    \"contacts_list\": \"고객 목록\",\n    \"name\": \"이름\",\n    \"mail\": \"메일 | 메일\",\n    \"statement\": \"성명서\",\n    \"display_name\": \"이름 표시하기\",\n    \"primary_contact_name\": \"기본 연락처 이름\",\n    \"contact_name\": \"담당자 이름\",\n    \"amount_due\": \"지불액\",\n    \"email\": \"이메일\",\n    \"address\": \"주소\",\n    \"phone\": \"전화\",\n    \"website\": \"웹 사이트\",\n    \"overview\": \"개요\",\n    \"enable_portal\": \"포털 활성화\",\n    \"country\": \"국가\",\n    \"state\": \"상태\",\n    \"city\": \"시티\",\n    \"zip_code\": \"우편 번호\",\n    \"added_on\": \"추가됨\",\n    \"action\": \"동작\",\n    \"password\": \"암호\",\n    \"street_number\": \"번지\",\n    \"primary_currency\": \"기본 통화\",\n    \"description\": \"기술\",\n    \"add_new_customer\": \"신규 고객 추가\",\n    \"save_customer\": \"고객 저장\",\n    \"update_customer\": \"고객 업데이트\",\n    \"customer\": \"고객 | 고객\",\n    \"new_customer\": \"신규 고객\",\n    \"edit_customer\": \"고객 편집\",\n    \"basic_info\": \"기본 정보\",\n    \"billing_address\": \"청구 지 주소\",\n    \"shipping_address\": \"배송 주소\",\n    \"copy_billing_address\": \"결제에서 복사\",\n    \"no_customers\": \"아직 고객이 없습니다!\",\n    \"no_customers_found\": \"고객이 없습니다!\",\n    \"no_contact\": \"연락처 없음\",\n    \"no_contact_name\": \"연락처 이름이 없습니다.\",\n    \"list_of_customers\": \"이 섹션에는 고객 목록이 포함됩니다.\",\n    \"primary_display_name\": \"기본 표시 이름\",\n    \"select_currency\": \"통화 선택\",\n    \"select_a_customer\": \"고객 선택\",\n    \"type_or_click\": \"입력하거나 클릭하여 선택\",\n    \"new_transaction\": \"새로운 거래\",\n    \"no_matching_customers\": \"일치하는 고객이 없습니다!\",\n    \"phone_number\": \"전화 번호\",\n    \"create_date\": \"날짜 생성\",\n    \"confirm_delete\": \"이 고객과 모든 관련 송장, 견적 및 지불을 복구 할 수 없습니다. | 이러한 고객 및 모든 관련 청구서, 견적 및 지불을 복구 할 수 없습니다.\",\n    \"created_message\": \"고객이 성공적으로 생성되었습니다.\",\n    \"updated_message\": \"고객이 성공적으로 업데이트했습니다.\",\n    \"deleted_message\": \"고객이 성공적으로 삭제되었습니다. | 고객이 성공적으로 삭제되었습니다.\"\n  },\n  \"items\": {\n    \"title\": \"아이템\",\n    \"items_list\": \"품목 목록\",\n    \"name\": \"이름\",\n    \"unit\": \"단위\",\n    \"description\": \"기술\",\n    \"added_on\": \"추가됨\",\n    \"price\": \"가격\",\n    \"date_of_creation\": \"생성 일\",\n    \"not_selected\": \"선택한 항목이 없습니다.\",\n    \"action\": \"동작\",\n    \"add_item\": \"아이템 추가\",\n    \"save_item\": \"항목 저장\",\n    \"update_item\": \"항목 업데이트\",\n    \"item\": \"항목 | 아이템\",\n    \"add_new_item\": \"새 항목 추가\",\n    \"new_item\": \"새로운 물품\",\n    \"edit_item\": \"항목 편집\",\n    \"no_items\": \"아직 항목이 없습니다!\",\n    \"list_of_items\": \"이 섹션에는 항목 목록이 포함됩니다.\",\n    \"select_a_unit\": \"단위 선택\",\n    \"taxes\": \"구실\",\n    \"item_attached_message\": \"이미 사용중인 항목은 삭제할 수 없습니다.\",\n    \"confirm_delete\": \"이 항목을 복구 할 수 없습니다. | 이 항목을 복구 할 수 없습니다.\",\n    \"created_message\": \"항목이 성공적으로 생성되었습니다.\",\n    \"updated_message\": \"항목이 성공적으로 업데이트되었습니다.\",\n    \"deleted_message\": \"항목이 성공적으로 삭제되었습니다. | 항목이 성공적으로 삭제되었습니다.\"\n  },\n  \"estimates\": {\n    \"title\": \"견적\",\n    \"estimate\": \"견적 | 견적\",\n    \"estimates_list\": \"견적 목록\",\n    \"days\": \"{days} 일\",\n    \"months\": \"{months} 개월\",\n    \"years\": \"{years} 년\",\n    \"all\": \"모두\",\n    \"paid\": \"유료\",\n    \"unpaid\": \"미지급\",\n    \"customer\": \"고객\",\n    \"ref_no\": \"참조 번호.\",\n    \"number\": \"번호\",\n    \"amount_due\": \"지불액\",\n    \"partially_paid\": \"부분 지불\",\n    \"total\": \"합계\",\n    \"discount\": \"할인\",\n    \"sub_total\": \"소계\",\n    \"estimate_number\": \"견적 번호\",\n    \"ref_number\": \"참조 번호\",\n    \"contact\": \"접촉\",\n    \"add_item\": \"항목 추가\",\n    \"date\": \"데이트\",\n    \"due_date\": \"마감일\",\n    \"expiry_date\": \"만료일\",\n    \"status\": \"상태\",\n    \"add_tax\": \"세금 추가\",\n    \"amount\": \"양\",\n    \"action\": \"동작\",\n    \"notes\": \"노트\",\n    \"tax\": \"세\",\n    \"estimate_template\": \"주형\",\n    \"convert_to_invoice\": \"송장으로 변환\",\n    \"mark_as_sent\": \"보낸 것으로 표시\",\n    \"send_estimate\": \"견적 보내기\",\n    \"resend_estimate\": \"견적 재전송\",\n    \"record_payment\": \"기록 지불\",\n    \"add_estimate\": \"견적 추가\",\n    \"save_estimate\": \"견적 저장\",\n    \"confirm_conversion\": \"이 견적은 새 인보이스를 만드는 데 사용됩니다.\",\n    \"conversion_message\": \"인보이스가 성공적으로 생성되었습니다.\",\n    \"confirm_send_estimate\": \"이 견적은 이메일을 통해 고객에게 전송됩니다.\",\n    \"confirm_mark_as_sent\": \"이 견적은 전송 된 것으로 표시됩니다.\",\n    \"confirm_mark_as_accepted\": \"이 견적은 수락 됨으로 표시됩니다.\",\n    \"confirm_mark_as_rejected\": \"이 견적은 거부 됨으로 표시됩니다.\",\n    \"no_matching_estimates\": \"일치하는 견적이 없습니다!\",\n    \"mark_as_sent_successfully\": \"성공적으로 전송 된 것으로 표시된 견적\",\n    \"send_estimate_successfully\": \"견적이 성공적으로 전송되었습니다.\",\n    \"errors\": {\n      \"required\": \"필드는 필수입니다\"\n    },\n    \"accepted\": \"수락 됨\",\n    \"rejected\": \"거부 됨\",\n    \"sent\": \"보냄\",\n    \"draft\": \"초안\",\n    \"declined\": \"거부 됨\",\n    \"new_estimate\": \"새로운 견적\",\n    \"add_new_estimate\": \"새로운 견적 추가\",\n    \"update_Estimate\": \"견적 업데이트\",\n    \"edit_estimate\": \"견적 수정\",\n    \"items\": \"항목\",\n    \"Estimate\": \"견적 | 견적\",\n    \"add_new_tax\": \"새 세금 추가\",\n    \"no_estimates\": \"아직 견적이 없습니다!\",\n    \"list_of_estimates\": \"이 섹션에는 견적 목록이 포함됩니다.\",\n    \"mark_as_rejected\": \"거부 됨으로 표시\",\n    \"mark_as_accepted\": \"수락 됨으로 표시\",\n    \"marked_as_accepted_message\": \"수락 된 것으로 표시된 견적\",\n    \"marked_as_rejected_message\": \"거부 된 것으로 표시된 견적\",\n    \"confirm_delete\": \"이 견적을 복구 할 수 없습니다. | 이 견적을 복구 할 수 없습니다.\",\n    \"created_message\": \"견적이 성공적으로 생성되었습니다.\",\n    \"updated_message\": \"견적이 성공적으로 업데이트되었습니다.\",\n    \"deleted_message\": \"예상치가 성공적으로 삭제되었습니다. | 견적이 성공적으로 삭제되었습니다.\",\n    \"something_went_wrong\": \"뭔가 잘못 됐어\",\n    \"item\": {\n      \"title\": \"항목 제목\",\n      \"description\": \"기술\",\n      \"quantity\": \"수량\",\n      \"price\": \"가격\",\n      \"discount\": \"할인\",\n      \"total\": \"합계\",\n      \"total_discount\": \"총 할인\",\n      \"sub_total\": \"소계\",\n      \"tax\": \"세\",\n      \"amount\": \"양\",\n      \"select_an_item\": \"항목을 입력하거나 클릭하여 선택\",\n      \"type_item_description\": \"유형 항목 설명 (선택 사항)\"\n    }\n  },\n  \"invoices\": {\n    \"title\": \"송장\",\n    \"invoices_list\": \"송장 목록\",\n    \"days\": \"{days} 일\",\n    \"months\": \"{months} 개월\",\n    \"years\": \"{years} 년\",\n    \"all\": \"모두\",\n    \"paid\": \"유료\",\n    \"unpaid\": \"미지급\",\n    \"viewed\": \"조회\",\n    \"overdue\": \"연체\",\n    \"completed\": \"완료\",\n    \"customer\": \"고객\",\n    \"paid_status\": \"지불 상태\",\n    \"ref_no\": \"참조 번호.\",\n    \"number\": \"번호\",\n    \"amount_due\": \"지불액\",\n    \"partially_paid\": \"부분 지불\",\n    \"total\": \"합계\",\n    \"discount\": \"할인\",\n    \"sub_total\": \"소계\",\n    \"invoice\": \"송장 | 송장\",\n    \"invoice_number\": \"송장 번호\",\n    \"ref_number\": \"참조 번호\",\n    \"contact\": \"접촉\",\n    \"add_item\": \"항목 추가\",\n    \"date\": \"데이트\",\n    \"due_date\": \"마감일\",\n    \"status\": \"상태\",\n    \"add_tax\": \"세금 추가\",\n    \"amount\": \"양\",\n    \"action\": \"동작\",\n    \"notes\": \"노트\",\n    \"view\": \"전망\",\n    \"send_invoice\": \"송장을 보내다\",\n    \"resend_invoice\": \"인보이스 재전송\",\n    \"invoice_template\": \"송장 템플릿\",\n    \"template\": \"주형\",\n    \"mark_as_sent\": \"보낸 것으로 표시\",\n    \"confirm_send_invoice\": \"이 인보이스는 이메일을 통해 고객에게 발송됩니다.\",\n    \"invoice_mark_as_sent\": \"이 인보이스는 보낸 것으로 표시됩니다.\",\n    \"confirm_send\": \"이 인보이스는 이메일을 통해 고객에게 발송됩니다.\",\n    \"invoice_date\": \"송장 날짜\",\n    \"record_payment\": \"기록 지불\",\n    \"add_new_invoice\": \"새 송장 추가\",\n    \"update_expense\": \"비용 업데이트\",\n    \"edit_invoice\": \"송장 편집\",\n    \"new_invoice\": \"새 송장\",\n    \"save_invoice\": \"송장 저장\",\n    \"update_invoice\": \"송장 업데이트\",\n    \"add_new_tax\": \"새 세금 추가\",\n    \"no_invoices\": \"아직 인보이스가 없습니다!\",\n    \"list_of_invoices\": \"이 섹션에는 송장 목록이 포함됩니다.\",\n    \"select_invoice\": \"송장 선택\",\n    \"no_matching_invoices\": \"일치하는 송장이 없습니다!\",\n    \"mark_as_sent_successfully\": \"성공적으로 발송 된 것으로 표시된 송장\",\n    \"invoice_sent_successfully\": \"인보이스가 성공적으로 전송되었습니다.\",\n    \"cloned_successfully\": \"송장이 성공적으로 복제되었습니다.\",\n    \"clone_invoice\": \"송장 복제\",\n    \"confirm_clone\": \"이 송장은 새 송장에 복제됩니다.\",\n    \"item\": {\n      \"title\": \"항목 제목\",\n      \"description\": \"기술\",\n      \"quantity\": \"수량\",\n      \"price\": \"가격\",\n      \"discount\": \"할인\",\n      \"total\": \"합계\",\n      \"total_discount\": \"총 할인\",\n      \"sub_total\": \"소계\",\n      \"tax\": \"세\",\n      \"amount\": \"양\",\n      \"select_an_item\": \"항목을 입력하거나 클릭하여 선택\",\n      \"type_item_description\": \"유형 항목 설명 (선택 사항)\"\n    },\n    \"confirm_delete\": \"이 인보이스를 복구 할 수 없습니다. | 이러한 인보이스를 복구 할 수 없습니다.\",\n    \"created_message\": \"송장이 성공적으로 생성되었습니다.\",\n    \"updated_message\": \"송장이 성공적으로 업데이트되었습니다.\",\n    \"deleted_message\": \"송장이 성공적으로 삭제되었습니다. | 인보이스가 성공적으로 삭제되었습니다.\",\n    \"marked_as_sent_message\": \"성공적으로 발송 된 것으로 표시된 송장\",\n    \"something_went_wrong\": \"뭔가 잘못 됐어\",\n    \"invalid_due_amount_message\": \"총 송장 금액은이 송장에 대한 총 지불 금액보다 작을 수 없습니다. 계속하려면 인보이스를 업데이트하거나 관련 결제를 삭제하세요.\"\n  },\n  \"payments\": {\n    \"title\": \"지불\",\n    \"payments_list\": \"지불 목록\",\n    \"record_payment\": \"기록 지불\",\n    \"customer\": \"고객\",\n    \"date\": \"데이트\",\n    \"amount\": \"양\",\n    \"action\": \"동작\",\n    \"payment_number\": \"결제 번호\",\n    \"payment_mode\": \"지불 모드\",\n    \"invoice\": \"송장\",\n    \"note\": \"노트\",\n    \"add_payment\": \"지불 추가\",\n    \"new_payment\": \"새로운 지불\",\n    \"edit_payment\": \"결제 수정\",\n    \"view_payment\": \"결제보기\",\n    \"add_new_payment\": \"새 지불 추가\",\n    \"send_payment_receipt\": \"결제 영수증 보내기\",\n    \"send_payment\": \"지불 보내기\",\n    \"save_payment\": \"지불 저장\",\n    \"update_payment\": \"결제 업데이트\",\n    \"payment\": \"지불 | 지불\",\n    \"no_payments\": \"아직 결제가 없습니다!\",\n    \"not_selected\": \"선택되지 않은\",\n    \"no_invoice\": \"송장 없음\",\n    \"no_matching_payments\": \"일치하는 지불이 없습니다!\",\n    \"list_of_payments\": \"이 섹션에는 지불 목록이 포함됩니다.\",\n    \"select_payment_mode\": \"결제 모드 선택\",\n    \"confirm_mark_as_sent\": \"이 견적은 전송 된 것으로 표시됩니다.\",\n    \"confirm_send_payment\": \"이 결제는 이메일을 통해 고객에게 전송됩니다.\",\n    \"send_payment_successfully\": \"지불이 성공적으로 전송되었습니다.\",\n    \"something_went_wrong\": \"뭔가 잘못 됐어\",\n    \"confirm_delete\": \"이 지불금을 복구 할 수 없습니다. | 이 지급금을 복구 할 수 없습니다.\",\n    \"created_message\": \"결제가 성공적으로 생성되었습니다.\",\n    \"updated_message\": \"결제가 성공적으로 업데이트되었습니다.\",\n    \"deleted_message\": \"결제가 성공적으로 삭제되었습니다. | 결제가 성공적으로 삭제되었습니다.\",\n    \"invalid_amount_message\": \"결제 금액이 잘못되었습니다.\"\n  },\n  \"expenses\": {\n    \"title\": \"경비\",\n    \"expenses_list\": \"비용 목록\",\n    \"select_a_customer\": \"고객 선택\",\n    \"expense_title\": \"표제\",\n    \"customer\": \"고객\",\n    \"contact\": \"접촉\",\n    \"category\": \"범주\",\n    \"from_date\": \"시작 날짜\",\n    \"to_date\": \"현재까지\",\n    \"expense_date\": \"데이트\",\n    \"description\": \"기술\",\n    \"receipt\": \"영수증\",\n    \"amount\": \"양\",\n    \"action\": \"동작\",\n    \"not_selected\": \"선택되지 않은\",\n    \"note\": \"노트\",\n    \"category_id\": \"카테고리 ID\",\n    \"date\": \"데이트\",\n    \"add_expense\": \"비용 추가\",\n    \"add_new_expense\": \"신규 비용 추가\",\n    \"save_expense\": \"비용 절감\",\n    \"update_expense\": \"비용 업데이트\",\n    \"download_receipt\": \"영수증 다운로드\",\n    \"edit_expense\": \"비용 편집\",\n    \"new_expense\": \"새로운 비용\",\n    \"expense\": \"비용 | 경비\",\n    \"no_expenses\": \"아직 비용이 없습니다!\",\n    \"list_of_expenses\": \"이 섹션에는 비용 목록이 포함됩니다.\",\n    \"confirm_delete\": \"이 비용을 회수 할 수 없습니다. | 이러한 비용은 회수 할 수 없습니다.\",\n    \"created_message\": \"비용이 성공적으로 생성되었습니다.\",\n    \"updated_message\": \"비용이 성공적으로 업데이트되었습니다.\",\n    \"deleted_message\": \"비용이 성공적으로 삭제되었습니다. | 비용이 성공적으로 삭제되었습니다.\",\n    \"categories\": {\n      \"categories_list\": \"카테고리 목록\",\n      \"title\": \"표제\",\n      \"name\": \"이름\",\n      \"description\": \"기술\",\n      \"amount\": \"양\",\n      \"actions\": \"행위\",\n      \"add_category\": \"카테고리 추가\",\n      \"new_category\": \"새 분류\",\n      \"category\": \"카테고리 | 카테고리\",\n      \"select_a_category\": \"카테고리 선택\"\n    }\n  },\n  \"login\": {\n    \"email\": \"이메일\",\n    \"password\": \"암호\",\n    \"forgot_password\": \"비밀번호를 잊으 셨나요?\",\n    \"or_signIn_with\": \"또는 다음으로 로그인\",\n    \"login\": \"로그인\",\n    \"register\": \"레지스터\",\n    \"reset_password\": \"암호를 재설정\",\n    \"password_reset_successfully\": \"비밀번호 재설정 성공\",\n    \"enter_email\": \"이메일 입력\",\n    \"enter_password\": \"암호를 입력\",\n    \"retype_password\": \"비밀번호 재 입력\"\n  },\n  \"users\": {\n    \"title\": \"사용자\",\n    \"users_list\": \"사용자 목록\",\n    \"name\": \"이름\",\n    \"description\": \"기술\",\n    \"added_on\": \"추가됨\",\n    \"date_of_creation\": \"생성 일\",\n    \"action\": \"동작\",\n    \"add_user\": \"사용자 추가\",\n    \"save_user\": \"사용자 저장\",\n    \"update_user\": \"사용자 업데이트\",\n    \"user\": \"사용자 | 사용자\",\n    \"add_new_user\": \"새 사용자 추가\",\n    \"new_user\": \"새로운 사용자\",\n    \"edit_user\": \"사용자 편집\",\n    \"no_users\": \"아직 사용자가 없습니다!\",\n    \"list_of_users\": \"이 섹션에는 사용자 목록이 포함됩니다.\",\n    \"email\": \"이메일\",\n    \"phone\": \"전화\",\n    \"password\": \"암호\",\n    \"user_attached_message\": \"이미 사용중인 항목은 삭제할 수 없습니다.\",\n    \"confirm_delete\": \"이 사용자를 복구 할 수 없습니다. | 이러한 사용자를 복구 할 수 없습니다.\",\n    \"created_message\": \"사용자가 성공적으로 생성되었습니다.\",\n    \"updated_message\": \"사용자가 성공적으로 업데이트되었습니다.\",\n    \"deleted_message\": \"사용자가 성공적으로 삭제되었습니다. | 사용자가 성공적으로 삭제되었습니다.\"\n  },\n  \"reports\": {\n    \"title\": \"보고서\",\n    \"from_date\": \"시작 날짜\",\n    \"to_date\": \"현재까지\",\n    \"status\": \"상태\",\n    \"paid\": \"유료\",\n    \"unpaid\": \"미지급\",\n    \"download_pdf\": \"PDF 다운로드\",\n    \"view_pdf\": \"PDF보기\",\n    \"update_report\": \"보고서 업데이트\",\n    \"report\": \"신고 | 보고서\",\n    \"profit_loss\": {\n      \"profit_loss\": \"이익\",\n      \"to_date\": \"현재까지\",\n      \"from_date\": \"시작 날짜\",\n      \"date_range\": \"기간 선택\"\n    },\n    \"sales\": {\n      \"sales\": \"매상\",\n      \"date_range\": \"기간 선택\",\n      \"to_date\": \"현재까지\",\n      \"from_date\": \"시작 날짜\",\n      \"report_type\": \"보고서 유형\"\n    },\n    \"taxes\": {\n      \"taxes\": \"구실\",\n      \"to_date\": \"현재까지\",\n      \"from_date\": \"시작 날짜\",\n      \"date_range\": \"기간 선택\"\n    },\n    \"errors\": {\n      \"required\": \"필드는 필수입니다\"\n    },\n    \"invoices\": {\n      \"invoice\": \"송장\",\n      \"invoice_date\": \"송장 날짜\",\n      \"due_date\": \"마감일\",\n      \"amount\": \"양\",\n      \"contact_name\": \"담당자 이름\",\n      \"status\": \"상태\"\n    },\n    \"estimates\": {\n      \"estimate\": \"견적\",\n      \"estimate_date\": \"예상 날짜\",\n      \"due_date\": \"마감일\",\n      \"estimate_number\": \"견적 번호\",\n      \"ref_number\": \"참조 번호\",\n      \"amount\": \"양\",\n      \"contact_name\": \"담당자 이름\",\n      \"status\": \"상태\"\n    },\n    \"expenses\": {\n      \"expenses\": \"경비\",\n      \"category\": \"범주\",\n      \"date\": \"데이트\",\n      \"amount\": \"양\",\n      \"to_date\": \"현재까지\",\n      \"from_date\": \"시작 날짜\",\n      \"date_range\": \"기간 선택\"\n    }\n  },\n  \"settings\": {\n    \"menu_title\": {\n      \"account_settings\": \"계정 설정\",\n      \"company_information\": \"회사 정보\",\n      \"customization\": \"커스터마이징\",\n      \"preferences\": \"환경 설정\",\n      \"notifications\": \"알림\",\n      \"tax_types\": \"세금 유형\",\n      \"expense_category\": \"비용 범주\",\n      \"update_app\": \"앱 업데이트\",\n      \"backup\": \"지원\",\n      \"file_disk\": \"파일 디스크\",\n      \"custom_fields\": \"사용자 정의 필드\",\n      \"payment_modes\": \"지불 모드\",\n      \"notes\": \"노트\"\n    },\n    \"title\": \"설정\",\n    \"setting\": \"설정 | 설정\",\n    \"general\": \"일반\",\n    \"language\": \"언어\",\n    \"primary_currency\": \"기본 통화\",\n    \"timezone\": \"시간대\",\n    \"date_format\": \"날짜 형식\",\n    \"currencies\": {\n      \"title\": \"통화\",\n      \"currency\": \"통화 | 통화\",\n      \"currencies_list\": \"통화 목록\",\n      \"select_currency\": \"통화 선택\",\n      \"name\": \"이름\",\n      \"code\": \"암호\",\n      \"symbol\": \"상징\",\n      \"precision\": \"정도\",\n      \"thousand_separator\": \"천 구분자\",\n      \"decimal_separator\": \"소수점 구분 기호\",\n      \"position\": \"위치\",\n      \"position_of_symbol\": \"기호 위치\",\n      \"right\": \"권리\",\n      \"left\": \"왼쪽\",\n      \"action\": \"동작\",\n      \"add_currency\": \"통화 추가\"\n    },\n    \"mail\": {\n      \"host\": \"메일 호스트\",\n      \"port\": \"메일 포트\",\n      \"driver\": \"메일 드라이버\",\n      \"secret\": \"비밀\",\n      \"mailgun_secret\": \"Mailgun 비밀\",\n      \"mailgun_domain\": \"도메인\",\n      \"mailgun_endpoint\": \"Mailgun 엔드 포인트\",\n      \"ses_secret\": \"SES 비밀\",\n      \"ses_key\": \"SES 키\",\n      \"password\": \"메일 비밀번호\",\n      \"username\": \"메일 사용자 이름\",\n      \"mail_config\": \"메일 구성\",\n      \"from_name\": \"메일 이름에서\",\n      \"from_mail\": \"메일 주소에서\",\n      \"encryption\": \"메일 암호화\",\n      \"mail_config_desc\": \"다음은 앱에서 이메일을 보내기위한 이메일 드라이버 구성 양식입니다. Sendgrid, SES 등과 같은 타사 공급자를 구성 할 수도 있습니다.\"\n    },\n    \"pdf\": {\n      \"title\": \"PDF 설정\",\n      \"footer_text\": \"바닥 글 텍스트\",\n      \"pdf_layout\": \"PDF 레이아웃\"\n    },\n    \"company_info\": {\n      \"company_info\": \"회사 정보\",\n      \"company_name\": \"회사 이름\",\n      \"company_logo\": \"회사 로고\",\n      \"section_description\": \"Crater에서 생성 한 송장, 견적 및 기타 문서에 표시 될 회사에 대한 정보.\",\n      \"phone\": \"전화\",\n      \"country\": \"국가\",\n      \"state\": \"상태\",\n      \"city\": \"시티\",\n      \"address\": \"주소\",\n      \"zip\": \"지퍼\",\n      \"save\": \"저장\",\n      \"updated_message\": \"회사 정보가 성공적으로 업데이트되었습니다.\"\n    },\n    \"custom_fields\": {\n      \"title\": \"사용자 정의 필드\",\n      \"section_description\": \"송장, 견적 사용자 지정\",\n      \"add_custom_field\": \"사용자 정의 필드 추가\",\n      \"edit_custom_field\": \"사용자 정의 필드 편집\",\n      \"field_name\": \"분야 명\",\n      \"label\": \"상표\",\n      \"type\": \"유형\",\n      \"name\": \"이름\",\n      \"required\": \"필수\",\n      \"placeholder\": \"자리 표시 자\",\n      \"help_text\": \"도움말 텍스트\",\n      \"default_value\": \"기본값\",\n      \"prefix\": \"접두사\",\n      \"starting_number\": \"시작 번호\",\n      \"model\": \"모델\",\n      \"help_text_description\": \"사용자가이 사용자 정의 필드의 목적을 이해하는 데 도움이되는 텍스트를 입력하십시오.\",\n      \"suffix\": \"접미사\",\n      \"yes\": \"예\",\n      \"no\": \"아니\",\n      \"order\": \"주문\",\n      \"custom_field_confirm_delete\": \"이 사용자 정의 필드를 복구 할 수 없습니다.\",\n      \"already_in_use\": \"맞춤 입력란이 이미 사용 중입니다.\",\n      \"deleted_message\": \"맞춤 입력란이 성공적으로 삭제되었습니다.\",\n      \"options\": \"옵션\",\n      \"add_option\": \"옵션 추가\",\n      \"add_another_option\": \"다른 옵션 추가\",\n      \"sort_in_alphabetical_order\": \"알파벳순으로 정렬\",\n      \"add_options_in_bulk\": \"일괄 옵션 추가\",\n      \"use_predefined_options\": \"미리 정의 된 옵션 사용\",\n      \"select_custom_date\": \"맞춤 날짜 선택\",\n      \"select_relative_date\": \"상대 날짜 선택\",\n      \"ticked_by_default\": \"기본적으로 선택됨\",\n      \"updated_message\": \"맞춤 입력란이 성공적으로 업데이트되었습니다.\",\n      \"added_message\": \"맞춤 입력란이 성공적으로 추가되었습니다.\"\n    },\n    \"customization\": {\n      \"customization\": \"맞춤화\",\n      \"save\": \"저장\",\n      \"addresses\": {\n        \"title\": \"구애\",\n        \"section_description\": \"고객 청구 주소 및 고객 배송 주소 형식을 설정할 수 있습니다 (PDF로만 표시됨).\",\n        \"customer_billing_address\": \"고객 청구 주소\",\n        \"customer_shipping_address\": \"고객 배송 주소\",\n        \"company_address\": \"회사 주소\",\n        \"insert_fields\": \"필드 삽입\",\n        \"contact\": \"접촉\",\n        \"address\": \"주소\",\n        \"display_name\": \"이름 표시하기\",\n        \"primary_contact_name\": \"기본 연락처 이름\",\n        \"email\": \"이메일\",\n        \"website\": \"웹 사이트\",\n        \"name\": \"이름\",\n        \"country\": \"국가\",\n        \"state\": \"상태\",\n        \"city\": \"시티\",\n        \"company_name\": \"회사 이름\",\n        \"address_street_1\": \"주소 거리 1\",\n        \"address_street_2\": \"주소 Street 2\",\n        \"phone\": \"전화\",\n        \"zip_code\": \"우편 번호\",\n        \"address_setting_updated\": \"주소 설정이 성공적으로 업데이트되었습니다.\"\n      },\n      \"updated_message\": \"회사 정보가 성공적으로 업데이트되었습니다.\",\n      \"invoices\": {\n        \"title\": \"송장\",\n        \"notes\": \"노트\",\n        \"invoice_prefix\": \"송장 접두사\",\n        \"default_invoice_email_body\": \"기본 송장 이메일 본문\",\n        \"invoice_settings\": \"송장 설정\",\n        \"autogenerate_invoice_number\": \"송장 번호 자동 생성\",\n        \"autogenerate_invoice_number_desc\": \"새 인보이스를 생성 할 때마다 인보이스 번호를 자동 생성하지 않으려면이 기능을 비활성화하십시오.\",\n        \"invoice_email_attachment\": \"송장을 첨부 파일로 보내기\",\n        \"invoice_email_attachment_setting_description\": \"인보이스를 이메일 첨부 파일로 보내려면이 옵션을 활성화하십시오. 이메일의 &#39;인보이스보기&#39;버튼이 활성화되면 더 이상 표시되지 않습니다.\",\n        \"enter_invoice_prefix\": \"송장 접두사 입력\",\n        \"terms_and_conditions\": \"이용 약관\",\n        \"company_address_format\": \"회사 주소 형식\",\n        \"shipping_address_format\": \"배송 주소 형식\",\n        \"billing_address_format\": \"청구 지 주소 형식\",\n        \"invoice_settings_updated\": \"인보이스 설정이 성공적으로 업데이트되었습니다.\"\n      },\n      \"estimates\": {\n        \"title\": \"견적\",\n        \"estimate_prefix\": \"접두사 추정\",\n        \"default_estimate_email_body\": \"기본 예상 이메일 본문\",\n        \"estimate_settings\": \"예상 설정\",\n        \"autogenerate_estimate_number\": \"견적 번호 자동 생성\",\n        \"estimate_setting_description\": \"새 견적을 생성 할 때마다 견적 번호를 자동 생성하지 않으려면이 기능을 비활성화하십시오.\",\n        \"estimate_email_attachment\": \"견적을 첨부 파일로 보내기\",\n        \"estimate_email_attachment_setting_description\": \"견적을 이메일 첨부 파일로 보내려면이 옵션을 활성화하십시오. 이메일의 &#39;예상보기&#39;버튼이 활성화되면 더 이상 표시되지 않습니다.\",\n        \"enter_estimate_prefix\": \"견적 접두사 입력\",\n        \"estimate_setting_updated\": \"예상 설정이 성공적으로 업데이트되었습니다.\",\n        \"company_address_format\": \"회사 주소 형식\",\n        \"billing_address_format\": \"청구 지 주소 형식\",\n        \"shipping_address_format\": \"배송 주소 형식\"\n      },\n      \"payments\": {\n        \"title\": \"지불\",\n        \"description\": \"지불을위한 거래 방식\",\n        \"payment_prefix\": \"지불 접두사\",\n        \"default_payment_email_body\": \"기본 결제 이메일 본문\",\n        \"payment_settings\": \"결제 설정\",\n        \"autogenerate_payment_number\": \"결제 번호 자동 생성\",\n        \"payment_setting_description\": \"새 결제를 생성 할 때마다 결제 번호를 자동 생성하지 않으려면이 기능을 비활성화하십시오.\",\n        \"payment_email_attachment\": \"첨부 파일로 지불 보내기\",\n        \"payment_email_attachment_setting_description\": \"결제 영수증을 이메일 첨부 파일로 보내려면이 옵션을 활성화하십시오. 이메일의 &#39;결제보기&#39;버튼이 활성화되면 더 이상 표시되지 않습니다.\",\n        \"enter_payment_prefix\": \"지불 접두사 입력\",\n        \"payment_setting_updated\": \"결제 설정이 성공적으로 업데이트되었습니다.\",\n        \"payment_modes\": \"지불 모드\",\n        \"add_payment_mode\": \"결제 모드 추가\",\n        \"edit_payment_mode\": \"결제 모드 수정\",\n        \"mode_name\": \"모드 이름\",\n        \"payment_mode_added\": \"결제 모드 추가\",\n        \"payment_mode_updated\": \"결제 모드 업데이트\",\n        \"payment_mode_confirm_delete\": \"이 결제 모드를 복구 할 수 없습니다.\",\n        \"already_in_use\": \"결제 모드가 이미 사용 중입니다.\",\n        \"deleted_message\": \"결제 모드가 성공적으로 삭제되었습니다.\",\n        \"company_address_format\": \"회사 주소 형식\",\n        \"from_customer_address_format\": \"고객 주소 형식에서\"\n      },\n      \"items\": {\n        \"title\": \"아이템\",\n        \"units\": \"단위\",\n        \"add_item_unit\": \"항목 단위 추가\",\n        \"edit_item_unit\": \"항목 단위 편집\",\n        \"unit_name\": \"단위 이름\",\n        \"item_unit_added\": \"항목 단위 추가됨\",\n        \"item_unit_updated\": \"항목 단위 업데이트 됨\",\n        \"item_unit_confirm_delete\": \"이 항목 단위를 복구 할 수 없습니다.\",\n        \"already_in_use\": \"항목 단위가 이미 사용 중입니다.\",\n        \"deleted_message\": \"항목 단위가 성공적으로 삭제되었습니다.\"\n      },\n      \"notes\": {\n        \"title\": \"노트\",\n        \"description\": \"메모를 작성하고 송장, 견적서에 재사용하여 시간 절약\",\n        \"notes\": \"노트\",\n        \"type\": \"유형\",\n        \"add_note\": \"메모를 추가\",\n        \"add_new_note\": \"새 메모 추가\",\n        \"name\": \"이름\",\n        \"edit_note\": \"메모 수정\",\n        \"note_added\": \"메모가 성공적으로 추가되었습니다.\",\n        \"note_updated\": \"참고 성공적으로 업데이트되었습니다.\",\n        \"note_confirm_delete\": \"이 메모를 복구 할 수 없습니다.\",\n        \"already_in_use\": \"메모가 이미 사용 중입니다.\",\n        \"deleted_message\": \"메모가 성공적으로 삭제되었습니다.\"\n      }\n    },\n    \"account_settings\": {\n      \"profile_picture\": \"프로필 사진\",\n      \"name\": \"이름\",\n      \"email\": \"이메일\",\n      \"password\": \"암호\",\n      \"confirm_password\": \"비밀번호 확인\",\n      \"account_settings\": \"계정 설정\",\n      \"save\": \"저장\",\n      \"section_description\": \"이름, 이메일을 업데이트 할 수 있습니다.\",\n      \"updated_message\": \"계정 설정이 성공적으로 업데이트되었습니다.\"\n    },\n    \"user_profile\": {\n      \"name\": \"이름\",\n      \"email\": \"이메일\",\n      \"password\": \"암호\",\n      \"confirm_password\": \"비밀번호 확인\"\n    },\n    \"notification\": {\n      \"title\": \"공고\",\n      \"email\": \"알림 보내기\",\n      \"description\": \"변경 사항이있을 때 어떤 이메일 알림을 받으시겠습니까?\",\n      \"invoice_viewed\": \"송장 조회\",\n      \"invoice_viewed_desc\": \"고객이 분화구 대시 보드를 통해 전송 된 송장을 볼 때.\",\n      \"estimate_viewed\": \"본 견적\",\n      \"estimate_viewed_desc\": \"고객이 분화구 대시 보드를 통해 전송 된 견적을 볼 때.\",\n      \"save\": \"저장\",\n      \"email_save_message\": \"이메일이 성공적으로 저장되었습니다.\",\n      \"please_enter_email\": \"이메일을 입력하십시오\"\n    },\n    \"tax_types\": {\n      \"title\": \"세금 유형\",\n      \"add_tax\": \"세금 추가\",\n      \"edit_tax\": \"세금 수정\",\n      \"description\": \"원하는대로 세금을 추가하거나 제거 할 수 있습니다. Crater는 송장뿐만 아니라 개별 품목에 대한 세금을 지원합니다.\",\n      \"add_new_tax\": \"새 세금 추가\",\n      \"tax_settings\": \"세금 설정\",\n      \"tax_per_item\": \"품목 당 세금\",\n      \"tax_name\": \"세금 이름\",\n      \"compound_tax\": \"복합 세\",\n      \"percent\": \"퍼센트\",\n      \"action\": \"동작\",\n      \"tax_setting_description\": \"개별 송장 항목에 세금을 추가하려면이 옵션을 활성화하십시오. 기본적으로 세금은 송장에 직접 추가됩니다.\",\n      \"created_message\": \"세금 유형이 성공적으로 생성되었습니다.\",\n      \"updated_message\": \"세금 유형이 성공적으로 업데이트되었습니다.\",\n      \"deleted_message\": \"세금 유형이 성공적으로 삭제되었습니다.\",\n      \"confirm_delete\": \"이 세금 유형을 복구 할 수 없습니다.\",\n      \"already_in_use\": \"세금이 이미 사용 중입니다.\"\n    },\n    \"expense_category\": {\n      \"title\": \"비용 범주\",\n      \"action\": \"동작\",\n      \"description\": \"비용 항목을 추가하려면 카테고리가 필요합니다. 기본 설정에 따라 이러한 범주를 추가하거나 제거 할 수 있습니다.\",\n      \"add_new_category\": \"새 카테고리 추가\",\n      \"add_category\": \"카테고리 추가\",\n      \"edit_category\": \"카테고리 수정\",\n      \"category_name\": \"카테고리 이름\",\n      \"category_description\": \"기술\",\n      \"created_message\": \"비용 범주가 성공적으로 생성되었습니다.\",\n      \"deleted_message\": \"비용 범주가 성공적으로 삭제되었습니다.\",\n      \"updated_message\": \"비용 범주가 성공적으로 업데이트되었습니다.\",\n      \"confirm_delete\": \"이 비용 범주를 복구 할 수 없습니다.\",\n      \"already_in_use\": \"카테고리가 이미 사용 중입니다.\"\n    },\n    \"preferences\": {\n      \"currency\": \"통화\",\n      \"default_language\": \"기본 언어\",\n      \"time_zone\": \"시간대\",\n      \"fiscal_year\": \"회계 연도\",\n      \"date_format\": \"날짜 형식\",\n      \"discount_setting\": \"할인 설정\",\n      \"discount_per_item\": \"품목별 할인\",\n      \"discount_setting_description\": \"개별 송장 항목에 할인을 추가하려면이 옵션을 활성화하십시오. 기본적으로 할인은 송장에 직접 추가됩니다.\",\n      \"save\": \"저장\",\n      \"preference\": \"선호도 | 환경 설정\",\n      \"general_settings\": \"시스템의 기본 기본 설정입니다.\",\n      \"updated_message\": \"환경 설정이 성공적으로 업데이트되었습니다.\",\n      \"select_language\": \"언어 선택\",\n      \"select_time_zone\": \"시간대 선택\",\n      \"select_date_format\": \"날짜 형식 선택\",\n      \"select_financial_year\": \"회계 연도 선택\"\n    },\n    \"update_app\": {\n      \"title\": \"앱 업데이트\",\n      \"description\": \"아래 버튼을 클릭하여 새로운 업데이트를 확인하여 Crater를 쉽게 업데이트 할 수 있습니다.\",\n      \"check_update\": \"업데이트 확인\",\n      \"avail_update\": \"새로운 업데이트 사용 가능\",\n      \"next_version\": \"다음 버전\",\n      \"requirements\": \"요구 사항\",\n      \"update\": \"지금 업데이트\",\n      \"update_progress\": \"업데이트 진행 중 ...\",\n      \"progress_text\": \"몇 분 정도 걸립니다. 업데이트가 완료되기 전에 화면을 새로 고치거나 창을 닫지 마십시오.\",\n      \"update_success\": \"앱이 업데이트되었습니다! 브라우저 창이 자동으로 다시로드되는 동안 잠시 기다려주십시오.\",\n      \"latest_message\": \"사용 가능한 업데이트가 없습니다! 최신 버전을 사용 중입니다.\",\n      \"current_version\": \"현재 버전\",\n      \"download_zip_file\": \"ZIP 파일 다운로드\",\n      \"unzipping_package\": \"패키지 압축 해제\",\n      \"copying_files\": \"파일 복사\",\n      \"deleting_files\": \"사용하지 않는 파일 삭제\",\n      \"running_migrations\": \"마이그레이션 실행\",\n      \"finishing_update\": \"업데이트 완료\",\n      \"update_failed\": \"업데이트가 실패\",\n      \"update_failed_text\": \"죄송합니다! 업데이트 실패 : {step} 단계\"\n    },\n    \"backup\": {\n      \"title\": \"백업 | 백업\",\n      \"description\": \"백업은 데이터베이스 덤프와 함께 지정한 디렉토리의 모든 파일을 포함하는 zip 파일입니다.\",\n      \"new_backup\": \"새 백업 추가\",\n      \"create_backup\": \"백업 생성\",\n      \"select_backup_type\": \"백업 유형 선택\",\n      \"backup_confirm_delete\": \"이 백업을 복구 할 수 없습니다.\",\n      \"path\": \"통로\",\n      \"new_disk\": \"새 디스크\",\n      \"created_at\": \"에 생성\",\n      \"size\": \"크기\",\n      \"dropbox\": \"드롭 박스\",\n      \"local\": \"현지\",\n      \"healthy\": \"건강한\",\n      \"amount_of_backups\": \"백업 양\",\n      \"newest_backups\": \"최신 백업\",\n      \"used_storage\": \"중고 저장\",\n      \"select_disk\": \"디스크 선택\",\n      \"action\": \"동작\",\n      \"deleted_message\": \"백업이 성공적으로 삭제되었습니다.\",\n      \"created_message\": \"백업이 성공적으로 생성되었습니다.\",\n      \"invalid_disk_credentials\": \"선택한 디스크의 잘못된 자격 증명\"\n    },\n    \"disk\": {\n      \"title\": \"파일 디스크 | 파일 디스크\",\n      \"description\": \"기본적으로 Crater는 백업, 아바타 및 기타 이미지 파일을 저장하기 위해 로컬 디스크를 사용합니다. 선호도에 따라 DigitalOcean, S3 및 Dropbox와 같은 둘 이상의 디스크 드라이버를 구성 할 수 있습니다.\",\n      \"created_at\": \"에 생성\",\n      \"dropbox\": \"드롭 박스\",\n      \"name\": \"이름\",\n      \"driver\": \"운전사\",\n      \"disk_type\": \"유형\",\n      \"disk_name\": \"디스크 이름\",\n      \"new_disk\": \"새 디스크 추가\",\n      \"filesystem_driver\": \"파일 시스템 드라이버\",\n      \"local_driver\": \"로컬 드라이버\",\n      \"local_root\": \"로컬 루트\",\n      \"public_driver\": \"공공 운전자\",\n      \"public_root\": \"공개 루트\",\n      \"public_url\": \"공개 URL\",\n      \"public_visibility\": \"공개 가시성\",\n      \"media_driver\": \"미디어 드라이버\",\n      \"media_root\": \"미디어 루트\",\n      \"aws_driver\": \"AWS 드라이버\",\n      \"aws_key\": \"AWS 키\",\n      \"aws_secret\": \"AWS 비밀\",\n      \"aws_region\": \"AWS 리전\",\n      \"aws_bucket\": \"AWS 버킷\",\n      \"aws_root\": \"AWS 루트\",\n      \"do_spaces_type\": \"Do Spaces 유형\",\n      \"do_spaces_key\": \"Do Spaces 키\",\n      \"do_spaces_secret\": \"스페이스 시크릿\",\n      \"do_spaces_region\": \"Do Spaces 영역\",\n      \"do_spaces_bucket\": \"Do Spaces Bucket\",\n      \"do_spaces_endpoint\": \"Do Spaces 끝점\",\n      \"do_spaces_root\": \"공간 루트 수행\",\n      \"dropbox_type\": \"Dropbox 유형\",\n      \"dropbox_token\": \"Dropbox 토큰\",\n      \"dropbox_key\": \"Dropbox 키\",\n      \"dropbox_secret\": \"Dropbox 비밀\",\n      \"dropbox_app\": \"Dropbox 앱\",\n      \"dropbox_root\": \"Dropbox 루트\",\n      \"default_driver\": \"기본 드라이버\",\n      \"is_default\": \"기본값입니다.\",\n      \"set_default_disk\": \"기본 디스크 설정\",\n      \"set_default_disk_confirm\": \"이 디스크는 기본값으로 설정되며 모든 새 PDF가이 디스크에 저장됩니다.\",\n      \"success_set_default_disk\": \"디스크가 기본값으로 설정되었습니다.\",\n      \"save_pdf_to_disk\": \"PDF를 디스크에 저장\",\n      \"disk_setting_description\": \"각 송장의 사본을 저장하려면 이것을 활성화하십시오.\",\n      \"select_disk\": \"디스크 선택\",\n      \"disk_settings\": \"디스크 설정\",\n      \"confirm_delete\": \"기존 파일\",\n      \"action\": \"동작\",\n      \"edit_file_disk\": \"파일 디스크 편집\",\n      \"success_create\": \"디스크가 성공적으로 추가되었습니다.\",\n      \"success_update\": \"디스크가 성공적으로 업데이트되었습니다.\",\n      \"error\": \"디스크 추가 실패\",\n      \"deleted_message\": \"파일 디스크가 성공적으로 삭제되었습니다.\",\n      \"disk_variables_save_successfully\": \"디스크가 성공적으로 구성되었습니다.\",\n      \"disk_variables_save_error\": \"디스크 구성에 실패했습니다.\",\n      \"invalid_disk_credentials\": \"선택한 디스크의 잘못된 자격 증명\"\n    }\n  },\n  \"wizard\": {\n    \"account_info\": \"계정 정보\",\n    \"account_info_desc\": \"아래 세부 정보는 기본 관리자 계정을 만드는 데 사용됩니다. 또한 로그인 후 언제든지 세부 정보를 변경할 수 있습니다.\",\n    \"name\": \"이름\",\n    \"email\": \"이메일\",\n    \"password\": \"암호\",\n    \"confirm_password\": \"비밀번호 확인\",\n    \"save_cont\": \"저장\",\n    \"company_info\": \"회사 정보\",\n    \"company_info_desc\": \"이 정보는 송장에 표시됩니다. 나중에 설정 페이지에서 수정할 수 있습니다.\",\n    \"company_name\": \"회사 이름\",\n    \"company_logo\": \"회사 로고\",\n    \"logo_preview\": \"로고 미리보기\",\n    \"preferences\": \"환경 설정\",\n    \"preferences_desc\": \"시스템의 기본 기본 설정입니다.\",\n    \"country\": \"국가\",\n    \"state\": \"상태\",\n    \"city\": \"시티\",\n    \"address\": \"주소\",\n    \"street\": \"Street1 | Street2\",\n    \"phone\": \"전화\",\n    \"zip_code\": \"우편 번호\",\n    \"go_back\": \"돌아 가기\",\n    \"currency\": \"통화\",\n    \"language\": \"언어\",\n    \"time_zone\": \"시간대\",\n    \"fiscal_year\": \"회계 연도\",\n    \"date_format\": \"날짜 형식\",\n    \"from_address\": \"주소에서\",\n    \"username\": \"사용자 이름\",\n    \"next\": \"다음\",\n    \"continue\": \"계속하다\",\n    \"skip\": \"건너 뛰기\",\n    \"database\": {\n      \"database\": \"사이트 URL\",\n      \"connection\": \"데이터베이스 연결\",\n      \"host\": \"데이터베이스 호스트\",\n      \"port\": \"데이터베이스 포트\",\n      \"password\": \"데이터베이스 비밀번호\",\n      \"app_url\": \"앱 URL\",\n      \"app_domain\": \"앱 도메인\",\n      \"username\": \"데이터베이스 사용자 이름\",\n      \"db_name\": \"데이터베이스 이름\",\n      \"db_path\": \"데이터베이스 경로\",\n      \"desc\": \"서버에 데이터베이스를 만들고 아래 양식을 사용하여 자격 증명을 설정합니다.\"\n    },\n    \"permissions\": {\n      \"permissions\": \"권한\",\n      \"permission_confirm_title\": \"너 정말 계속하고 싶니?\",\n      \"permission_confirm_desc\": \"폴더 권한 확인 실패\",\n      \"permission_desc\": \"다음은 앱이 작동하는 데 필요한 폴더 권한 목록입니다. 권한 확인에 실패하면 폴더 권한을 업데이트하십시오.\"\n    },\n    \"mail\": {\n      \"host\": \"메일 호스트\",\n      \"port\": \"메일 포트\",\n      \"driver\": \"메일 드라이버\",\n      \"secret\": \"비밀\",\n      \"mailgun_secret\": \"Mailgun 비밀\",\n      \"mailgun_domain\": \"도메인\",\n      \"mailgun_endpoint\": \"Mailgun 엔드 포인트\",\n      \"ses_secret\": \"SES 비밀\",\n      \"ses_key\": \"SES 키\",\n      \"password\": \"메일 비밀번호\",\n      \"username\": \"메일 사용자 이름\",\n      \"mail_config\": \"메일 구성\",\n      \"from_name\": \"메일 이름에서\",\n      \"from_mail\": \"메일 주소에서\",\n      \"encryption\": \"메일 암호화\",\n      \"mail_config_desc\": \"다음은 앱에서 이메일을 보내기위한 이메일 드라이버 구성 양식입니다. Sendgrid, SES 등과 같은 타사 공급자를 구성 할 수도 있습니다.\"\n    },\n    \"req\": {\n      \"system_req\": \"시스템 요구 사항\",\n      \"php_req_version\": \"PHP (버전 {version} 필요)\",\n      \"check_req\": \"요구 사항 확인\",\n      \"system_req_desc\": \"크레이터에는 몇 가지 서버 요구 사항이 있습니다. 서버에 필요한 PHP 버전과 아래에 언급 된 모든 확장이 있는지 확인하십시오.\"\n    },\n    \"errors\": {\n      \"migrate_failed\": \"마이그레이션 실패\",\n      \"database_variables_save_error\": \".env 파일에 구성을 쓸 수 없습니다. 파일 권한을 확인하십시오\",\n      \"mail_variables_save_error\": \"이메일 구성에 실패했습니다.\",\n      \"connection_failed\": \"데이터베이스 연결 실패\",\n      \"database_should_be_empty\": \"데이터베이스는 비어 있어야합니다.\"\n    },\n    \"success\": {\n      \"mail_variables_save_successfully\": \"이메일이 성공적으로 구성되었습니다.\",\n      \"database_variables_save_successfully\": \"데이터베이스가 성공적으로 구성되었습니다.\"\n    }\n  },\n  \"validation\": {\n    \"invalid_phone\": \"유효하지 않은 전화 번호\",\n    \"invalid_url\": \"잘못된 URL (예 : http://www.craterapp.com)\",\n    \"invalid_domain_url\": \"잘못된 URL (예 : craterapp.com)\",\n    \"required\": \"필드는 필수입니다\",\n    \"email_incorrect\": \"잘못된 이메일.\",\n    \"email_already_taken\": \"이메일이 이미 사용되었습니다.\",\n    \"email_does_not_exist\": \"주어진 이메일을 가진 사용자가 존재하지 않습니다\",\n    \"item_unit_already_taken\": \"이 항목 단위 이름은 이미 사용되었습니다.\",\n    \"payment_mode_already_taken\": \"이 결제 모드 이름은 이미 사용되었습니다.\",\n    \"send_reset_link\": \"재설정 링크 보내기\",\n    \"not_yet\": \"아직? 다시 보내줘\",\n    \"password_min_length\": \"비밀번호는 {count}자를 포함해야합니다.\",\n    \"name_min_length\": \"이름은 {count} 자 이상이어야합니다.\",\n    \"enter_valid_tax_rate\": \"유효한 세율을 입력하세요.\",\n    \"numbers_only\": \"숫자 만.\",\n    \"characters_only\": \"문자 만.\",\n    \"password_incorrect\": \"비밀번호는 동일해야합니다.\",\n    \"password_length\": \"비밀번호는 {count} 자 여야합니다.\",\n    \"qty_must_greater_than_zero\": \"수량은 0보다 커야합니다.\",\n    \"price_greater_than_zero\": \"가격은 0보다 커야합니다.\",\n    \"payment_greater_than_zero\": \"결제 금액은 0보다 커야합니다.\",\n    \"payment_greater_than_due_amount\": \"입력 된 결제 금액이이 송장의 만기 금액을 초과합니다.\",\n    \"quantity_maxlength\": \"수량은 20 자리를 초과 할 수 없습니다.\",\n    \"price_maxlength\": \"가격은 20 자리를 초과 할 수 없습니다.\",\n    \"price_minvalue\": \"가격은 0보다 커야합니다.\",\n    \"amount_maxlength\": \"금액은 20 자리를 초과 할 수 없습니다.\",\n    \"amount_minvalue\": \"금액은 0보다 커야합니다.\",\n    \"description_maxlength\": \"설명은 65,000자를 초과 할 수 없습니다.\",\n    \"subject_maxlength\": \"제목은 100 자 이하 여야합니다.\",\n    \"message_maxlength\": \"메시지는 255자를 초과 할 수 없습니다.\",\n    \"maximum_options_error\": \"최대 {max} 개의 옵션이 선택되었습니다. 먼저 선택한 옵션을 제거하여 다른 옵션을 선택하십시오.\",\n    \"notes_maxlength\": \"메모는 65,000자를 초과 할 수 없습니다.\",\n    \"address_maxlength\": \"주소는 255자를 초과 할 수 없습니다.\",\n    \"ref_number_maxlength\": \"참조 번호는 255자를 초과 할 수 없습니다.\",\n    \"prefix_maxlength\": \"접두사는 5 자 이하 여야합니다.\",\n    \"something_went_wrong\": \"뭔가 잘못 됐어\"\n  },\n  \"pdf_estimate_label\": \"견적\",\n  \"pdf_estimate_number\": \"견적 번호\",\n  \"pdf_estimate_date\": \"예상 날짜\",\n  \"pdf_estimate_expire_date\": \"만료일\",\n  \"pdf_invoice_label\": \"송장\",\n  \"pdf_invoice_number\": \"송장 번호\",\n  \"pdf_invoice_date\": \"송장 날짜\",\n  \"pdf_invoice_due_date\": \"마감일\",\n  \"pdf_notes\": \"노트\",\n  \"pdf_items_label\": \"아이템\",\n  \"pdf_quantity_label\": \"수량\",\n  \"pdf_price_label\": \"가격\",\n  \"pdf_discount_label\": \"할인\",\n  \"pdf_amount_label\": \"양\",\n  \"pdf_subtotal\": \"소계\",\n  \"pdf_total\": \"합계\",\n  \"pdf_payment_label\": \"지불\",\n  \"pdf_payment_receipt_label\": \"영수증\",\n  \"pdf_payment_date\": \"결제일\",\n  \"pdf_payment_number\": \"결제 번호\",\n  \"pdf_payment_mode\": \"지불 모드\",\n  \"pdf_payment_amount_received_label\": \"받은 금액\",\n  \"pdf_expense_report_label\": \"비용 보고서\",\n  \"pdf_total_expenses_label\": \"총 비용\",\n  \"pdf_profit_loss_label\": \"이익\",\n  \"pdf_sales_customers_label\": \"판매 고객 보고서\",\n  \"pdf_sales_items_label\": \"판매 품목 보고서\",\n  \"pdf_tax_summery_label\": \"세금 요약 보고서\",\n  \"pdf_income_label\": \"수입\",\n  \"pdf_net_profit_label\": \"순이익\",\n  \"pdf_customer_sales_report\": \"판매 보고서 : 고객 별\",\n  \"pdf_total_sales_label\": \"총 매출\",\n  \"pdf_item_sales_label\": \"판매 보고서 : 품목별\",\n  \"pdf_tax_report_label\": \"세금 보고서\",\n  \"pdf_total_tax_label\": \"총 세금\",\n  \"pdf_tax_types_label\": \"세금 유형\",\n  \"pdf_expenses_label\": \"경비\",\n  \"pdf_bill_to\": \"청구서,\",\n  \"pdf_ship_to\": \"배송지,\",\n  \"pdf_received_from\": \"받은 사람 :\",\n  \"pdf_tax_label\": \"세\"\n}\n"
  },
  {
    "path": "resources/scripts/locales/locales.js",
    "content": "import cs from './cs.json'\nimport en from './en.json'\nimport fr from './fr.json'\nimport es from './es.json'\nimport ar from './ar.json'\nimport de from './de.json'\nimport ja from './ja.json'\nimport pl from './pl.json'\nimport pt_BR from './pt-br.json'\nimport it from './it.json'\nimport sr from './sr.json'\nimport nl from './nl.json'\nimport ko from './ko.json'\nimport lv from './lv.json'\nimport sv from './sv.json'\nimport sk from './sk.json'\nimport vi from './vi.json'\nimport el from './el.json'\nimport hr from './hr.json'\nimport th from './th.json'\n\nexport default {\n  cs,\n  en,\n  fr,\n  es,\n  ar,\n  de,\n  ja,\n  pt_BR,\n  it,\n  sr,\n  nl,\n  ko,\n  lv,\n  sv,\n  sk,\n  vi,\n  pl,\n  el,\n  hr,\n  th\n}\n"
  },
  {
    "path": "resources/scripts/locales/lt.json",
    "content": "{\n  \"navigation\": {\n    \"dashboard\": \"Valdymo panele\",\n    \"customers\": \"Klientai\",\n    \"items\": \"Elementai\",\n    \"invoices\": \"Sąskaitos\",\n    \"recurring-invoices\": \"Pasikartojančios sąskaitos\",\n    \"expenses\": \"Išlaidos\",\n    \"estimates\": \"Įverčiai\",\n    \"payments\": \"Mokėjimai\",\n    \"reports\": \"Ataskaitos\",\n    \"settings\": \"Nustatymai\",\n    \"logout\": \"Atsijungti\",\n    \"users\": \"Vartotojai\",\n    \"modules\": \"Moduliai\"\n  },\n  \"general\": {\n    \"add_company\": \"Pridėti įmonę\",\n    \"view_pdf\": \"Peržiūrėti PDF\",\n    \"copy_pdf_url\": \"Kopijuoti PDF Nuorodą\",\n    \"download_pdf\": \"Atsiųsti PDF\",\n    \"save\": \"Išsaugoti\",\n    \"create\": \"Sukurti\",\n    \"cancel\": \"Atšaukti\",\n    \"update\": \"Atnaujinti\",\n    \"deselect\": \"Atžymėti\",\n    \"download\": \"Atsisiųsti\",\n    \"from_date\": \"Data nuo\",\n    \"to_date\": \"Data iki\",\n    \"from\": \"Nuo\",\n    \"to\": \"Kam\",\n    \"ok\": \"Gerai\",\n    \"yes\": \"Taip\",\n    \"no\": \"Ne\",\n    \"sort_by\": \"Rūšiuoti pagal\",\n    \"ascending\": \"Didėjančia tvarka\",\n    \"descending\": \"Mažėjančia tvarka\",\n    \"subject\": \"Tema\",\n    \"body\": \"Pagrindinė dalis\",\n    \"message\": \"Pranešimas\",\n    \"send\": \"Siųsti\",\n    \"preview\": \"Peržiūra\",\n    \"go_back\": \"Atgal\",\n    \"back_to_login\": \"Grįžti į prisijungimo puslapį?\",\n    \"home\": \"Pagrindinis\",\n    \"filter\": \"Filtras\",\n    \"delete\": \"Ištrinti\",\n    \"edit\": \"Redaguoti\",\n    \"view\": \"Peržiūrėti\",\n    \"add_new_item\": \"Pridėti objektą\",\n    \"clear_all\": \"Viską Išvalyti\",\n    \"showing\": \"Rodoma\",\n    \"of\": \"iš\",\n    \"actions\": \"Veiksmai\",\n    \"subtotal\": \"Viso\",\n    \"discount\": \"NUOLAIDA\",\n    \"fixed\": \"Pataisyta\",\n    \"percentage\": \"Procentas\",\n    \"tax\": \"MOKESTIS\",\n    \"total_amount\": \"VISO\",\n    \"bill_to\": \"Sąskaitos gavėjas\",\n    \"ship_to\": \"Siųsti į\",\n    \"due\": \"Iki\",\n    \"draft\": \"Juodraštis\",\n    \"sent\": \"Išsiųsta\",\n    \"all\": \"Visi\",\n    \"select_all\": \"Pažymėti viską\",\n    \"select_template\": \"Pasirinkti šabloną\",\n    \"choose_file\": \"Spauskite čia, kad pasirinkti failą\",\n    \"choose_template\": \"Pasirinkite šabloną\",\n    \"choose\": \"Pasirinkti\",\n    \"remove\": \"Pašalinti\",\n    \"select_a_status\": \"Pasirinkti būsena\",\n    \"select_a_tax\": \"Pasirinkite mokestį\",\n    \"search\": \"Paieška\",\n    \"are_you_sure\": \"Ar esate tikras?\",\n    \"list_is_empty\": \"Sąrašas yra tuščias.\",\n    \"no_tax_found\": \"Jokio mokesčio nerasta!\",\n    \"four_zero_four\": \"404\",\n    \"you_got_lost\": \"Turbūt pasiklydote!\",\n    \"go_home\": \"Eiti į pradžią\",\n    \"test_mail_conf\": \"Testuojamo Pašto konfigūracija\",\n    \"send_mail_successfully\": \"Laiškas išsiųstas sėkmingai\",\n    \"setting_updated\": \"Nustatymai atnaujinti sėkmingai\",\n    \"select_state\": \"Pasirinkti regioną\",\n    \"select_country\": \"Pasirinkite šalį\",\n    \"select_city\": \"Pasirinkite miestą\",\n    \"street_1\": \"Gatvė 1\",\n    \"street_2\": \"Gatvė 2\",\n    \"action_failed\": \"Nepavyko\",\n    \"retry\": \"Bandyti dar kartą\",\n    \"choose_note\": \"Pasirinkti žinutę\",\n    \"no_note_found\": \"Jokių žinučių nerasta\",\n    \"insert_note\": \"Terpti prierašą\",\n    \"copied_pdf_url_clipboard\": \"Nukopijuotas PDF url į iškarpinę!\",\n    \"copied_url_clipboard\": \"Nuoroda nukopijuota!\",\n    \"docs\": \"Dokumentacija\",\n    \"do_you_wish_to_continue\": \"Ar norite tęsti?\",\n    \"note\": \"Užrašas\",\n    \"pay_invoice\": \"Apmokėti\",\n    \"login_successfully\": \"Prisijungta sėkmingai!\",\n    \"logged_out_successfully\": \"Atsijungta sėkmingai\",\n    \"mark_as_default\": \"Pažymėti kaip numatytąjį\"\n  },\n  \"dashboard\": {\n    \"select_year\": \"Pasirinkite metus\",\n    \"cards\": {\n      \"due_amount\": \"Mokėtina suma\",\n      \"customers\": \"Klientai\",\n      \"invoices\": \"Sąskaitos\",\n      \"estimates\": \"Įverčiai\",\n      \"payments\": \"Mokėjimai\"\n    },\n    \"chart_info\": {\n      \"total_sales\": \"Pardavimai\",\n      \"total_receipts\": \"Kvitai\",\n      \"total_expense\": \"Išlaidos\",\n      \"net_income\": \"Grynasis pelnas\",\n      \"year\": \"Pasirinkite metus\"\n    },\n    \"monthly_chart\": {\n      \"title\": \"Pardavimai ir išlaidos\"\n    },\n    \"recent_invoices_card\": {\n      \"title\": \"Mokėtinos sąskaitos\",\n      \"due_on\": \"Mokėti iki\",\n      \"customer\": \"Klientas\",\n      \"amount_due\": \"Mokėtina suma\",\n      \"actions\": \"Veiksmai\",\n      \"view_all\": \"Rodyti visus\"\n    },\n    \"recent_estimate_card\": {\n      \"title\": \"Naujausi įverčiai\",\n      \"date\": \"Data\",\n      \"customer\": \"Klientas\",\n      \"amount_due\": \"Mokėtina suma\",\n      \"actions\": \"Veiksmai\",\n      \"view_all\": \"Rodyti visus\"\n    }\n  },\n  \"tax_types\": {\n    \"name\": \"Pavadinimas\",\n    \"description\": \"Aprašymas\",\n    \"percent\": \"Procentai\",\n    \"compound_tax\": \"Sudėtinis mokestis\"\n  },\n  \"global_search\": {\n    \"search\": \"Paieška...\",\n    \"customers\": \"Klientai\",\n    \"users\": \"Vartotojai\",\n    \"no_results_found\": \"Rezultatų nerasta\"\n  },\n  \"company_switcher\": {\n    \"label\": \"KEISTI ĮMONĘ\",\n    \"no_results_found\": \"Rezultatų nerasta\",\n    \"add_new_company\": \"Pridėti naują įmonę\",\n    \"new_company\": \"Nauja įmonė\",\n    \"created_message\": \"Kompanija sėkmingai įtraukta\"\n  },\n  \"dateRange\": {\n    \"today\": \"Šiandien\",\n    \"this_week\": \"Šią savaitę\",\n    \"this_month\": \"Šį mėnesį\",\n    \"this_quarter\": \"Šis ketvirtis\",\n    \"this_year\": \"Šiais metais\",\n    \"previous_week\": \"Ankstesnė savaitė\",\n    \"previous_month\": \"Praėjusį mėnesį\",\n    \"previous_quarter\": \"Ankstesnis ketvirtis\",\n    \"previous_year\": \"Praėjusiais metais\",\n    \"custom\": \"Individuali parinktis\"\n  },\n  \"customers\": {\n    \"title\": \"Klientai\",\n    \"prefix\": \"Priešdėlis\",\n    \"add_customer\": \"Pridėti klientą\",\n    \"contacts_list\": \"Klientų sąrašas\",\n    \"name\": \"Vardas\",\n    \"mail\": \"El. pašto adresas\",\n    \"statement\": \"Pareiškimas\",\n    \"display_name\": \"Rodomas vardas\",\n    \"primary_contact_name\": \"Kontakto pavadinimas\",\n    \"contact_name\": \"Kontaktinis vardas\",\n    \"amount_due\": \"Mokėtina suma\",\n    \"email\": \"El. paštas\",\n    \"address\": \"Adresas\",\n    \"phone\": \"Telefonas\",\n    \"website\": \"Svetainė\",\n    \"overview\": \"Apžvalga\",\n    \"invoice_prefix\": \"Sąskaitos serija\",\n    \"estimate_prefix\": \"Pasiūlymo serija\",\n    \"payment_prefix\": \"Mokėjimo serija\",\n    \"enable_portal\": \"Enable Portal\",\n    \"country\": \"Šalis\",\n    \"state\": \"Regionas\",\n    \"city\": \"Miestas\",\n    \"zip_code\": \"Pašto kodas\",\n    \"added_on\": \"Pridėta\",\n    \"action\": \"Veiksmas\",\n    \"password\": \"Slaptažodis\",\n    \"confirm_password\": \"Patvirtinkite slaptažodį\",\n    \"street_number\": \"Gatvės numeris\",\n    \"primary_currency\": \"Pagrindinė valiuta\",\n    \"description\": \"Aprašymas\",\n    \"add_new_customer\": \"Pridėti naują klientą\",\n    \"save_customer\": \"Išsaugoti klientą\",\n    \"update_customer\": \"Atnaujinti klientą\",\n    \"customer\": \"Klientas | Klientai\",\n    \"new_customer\": \"Naujas klientas\",\n    \"edit_customer\": \"Redaguoti klientą\",\n    \"basic_info\": \"Pagrindinė informacija\",\n    \"portal_access\": \"Portal Access\",\n    \"portal_access_text\": \"Would you like to allow this customer to login to the Customer Portal?\",\n    \"portal_access_url\": \"Customer Portal Login URL\",\n    \"portal_access_url_help\": \"Please copy & forward the above given URL to your customer for providing access.\",\n    \"billing_address\": \"Mokėtojo adresas\",\n    \"shipping_address\": \"Pristatymo adresas\",\n    \"copy_billing_address\": \"Copy from Billing\",\n    \"no_customers\": \"Dar nėra klientų!\",\n    \"no_customers_found\": \"Pirkėjų nerasta!\",\n    \"no_contact\": \"No contact\",\n    \"no_contact_name\": \"No contact name\",\n    \"list_of_customers\": \"Šioje skiltyje bus klientų sąrašas.\",\n    \"primary_display_name\": \"Pagrindinis Rodomas Vardas\",\n    \"select_currency\": \"Pasirinkite valiutą\",\n    \"select_a_customer\": \"Pasirinkite klientą\",\n    \"type_or_click\": \"Type or click to select\",\n    \"new_transaction\": \"Nauja operacija\",\n    \"no_matching_customers\": \"Nėra atitinkančių klientų!\",\n    \"phone_number\": \"Telefono numeris\",\n    \"create_date\": \"Sukūrimo data\",\n    \"confirm_delete\": \"You will not be able to recover this customer and all the related Invoices, Estimates and Payments. | You will not be able to recover these customers and all the related Invoices, Estimates and Payments.\",\n    \"created_message\": \"Klientas sukurtas sėkmingai\",\n    \"updated_message\": \"Klientas atnaujintas sėkmingai\",\n    \"address_updated_message\": \"Address Information Updated succesfully\",\n    \"deleted_message\": \"Klientas pašalintas sėkmingai | Klientai pašalinti sėkmingai\",\n    \"edit_currency_not_allowed\": \"Cannot change currency once transactions created.\"\n  },\n  \"items\": {\n    \"title\": \"Elementai\",\n    \"items_list\": \"Items List\",\n    \"name\": \"Pavadinimas\",\n    \"unit\": \"Vienetas\",\n    \"description\": \"Aprašymas\",\n    \"added_on\": \"Pridėta\",\n    \"price\": \"Kaina\",\n    \"date_of_creation\": \"Sukūrimo data\",\n    \"not_selected\": \"No item selected\",\n    \"action\": \"Veiksmas\",\n    \"add_item\": \"Add Item\",\n    \"save_item\": \"Save Item\",\n    \"update_item\": \"Update Item\",\n    \"item\": \"Item | Items\",\n    \"add_new_item\": \"Add New Item\",\n    \"new_item\": \"New Item\",\n    \"edit_item\": \"Edit Item\",\n    \"no_items\": \"No items yet!\",\n    \"list_of_items\": \"This section will contain the list of items.\",\n    \"select_a_unit\": \"pasirinkite vienetą\",\n    \"taxes\": \"Mokesčiai\",\n    \"item_attached_message\": \"Cannot delete an item which is already in use\",\n    \"confirm_delete\": \"You will not be able to recover this Item | You will not be able to recover these Items\",\n    \"created_message\": \"Item created successfully\",\n    \"updated_message\": \"Item updated successfully\",\n    \"deleted_message\": \"Item deleted successfully | Items deleted successfully\"\n  },\n  \"estimates\": {\n    \"title\": \"Pasiūlymai\",\n    \"accept_estimate\": \"Accept Estimate\",\n    \"reject_estimate\": \"Reject Estimate\",\n    \"estimate\": \"Pasiūlymas | Pasiūlymai\",\n    \"estimates_list\": \"Pasiūlymų Sąrašas\",\n    \"days\": \"{days} Days\",\n    \"months\": \"{months} Month\",\n    \"years\": \"{years} Year\",\n    \"all\": \"All\",\n    \"paid\": \"Apmokėta\",\n    \"unpaid\": \"Neapmokėta\",\n    \"customer\": \"KLIENTAS\",\n    \"ref_no\": \"REF NO.\",\n    \"number\": \"NUMERIS\",\n    \"amount_due\": \"AMOUNT DUE\",\n    \"partially_paid\": \"Dalinai apmokėta\",\n    \"total\": \"Iš viso\",\n    \"discount\": \"Nuolaida\",\n    \"sub_total\": \"Tarpinė suma\",\n    \"estimate_number\": \"Pasiūlymo numeris\",\n    \"ref_number\": \"Ref Number\",\n    \"contact\": \"Contact\",\n    \"add_item\": \"Pridėti elementą\",\n    \"date\": \"Data\",\n    \"due_date\": \"Due Date\",\n    \"expiry_date\": \"Galiojimo laikas\",\n    \"status\": \"Status\",\n    \"add_tax\": \"Pridėti mokestį\",\n    \"amount\": \"Amount\",\n    \"action\": \"Veiksmas\",\n    \"notes\": \"Pastabos\",\n    \"tax\": \"PVM\",\n    \"estimate_template\": \"Šablonas\",\n    \"convert_to_invoice\": \"Kovertuoti į Sąskaitą\",\n    \"mark_as_sent\": \"Pažymėti kaip išsiųstą\",\n    \"send_estimate\": \"Siųsti pasiūlymą\",\n    \"resend_estimate\": \"Siųsti pasiūlymą dar kartą\",\n    \"record_payment\": \"Record Payment\",\n    \"add_estimate\": \"Pridėti naują Pasiūlymą\",\n    \"save_estimate\": \"Išsaugoti Pasiūlymą\",\n    \"confirm_conversion\": \"This estimate will be used to create a new Invoice.\",\n    \"conversion_message\": \"Sąskaita sukurta sėkmingai\",\n    \"confirm_send_estimate\": \"Šitas pasiūlymas bus išsiųstas Klientui el. paštu\",\n    \"confirm_mark_as_sent\": \"This estimate will be marked as sent\",\n    \"confirm_mark_as_accepted\": \"This estimate will be marked as Accepted\",\n    \"confirm_mark_as_rejected\": \"This estimate will be marked as Rejected\",\n    \"no_matching_estimates\": \"Nėra atitinkančių pasiūlymų!\",\n    \"mark_as_sent_successfully\": \"Pasiūlymas pažymėtas kaip sėkmingai išsiųstas\",\n    \"send_estimate_successfully\": \"Pasiūlymas išsiųstas sėkmingai\",\n    \"errors\": {\n      \"required\": \"Laukas privalomas\"\n    },\n    \"accepted\": \"Priimtas\",\n    \"rejected\": \"Atmesta\",\n    \"expired\": \"Expired\",\n    \"sent\": \"Išsiųsta\",\n    \"draft\": \"Juodraštis\",\n    \"viewed\": \"Viewed\",\n    \"declined\": \"Declined\",\n    \"new_estimate\": \"Naujas pasiūlymas\",\n    \"add_new_estimate\": \"Pridėti naują pasiūlymą\",\n    \"update_Estimate\": \"Atnaujinti pasiūlymą\",\n    \"edit_estimate\": \"Redaguoti pasiūlymą\",\n    \"items\": \"elementai\",\n    \"Estimate\": \"Estimate | Estimates\",\n    \"add_new_tax\": \"Pridėti naują mokestį\",\n    \"no_estimates\": \"Dar nėra Pasiūlymų!\",\n    \"list_of_estimates\": \"This section will contain the list of estimates.\",\n    \"mark_as_rejected\": \"Pažymėti kaip atmestą\",\n    \"mark_as_accepted\": \"Pažymėti kaip priimtą\",\n    \"marked_as_accepted_message\": \"Estimate marked as accepted\",\n    \"marked_as_rejected_message\": \"Estimate marked as rejected\",\n    \"confirm_delete\": \"You will not be able to recover this Estimate | You will not be able to recover these Estimates\",\n    \"created_message\": \"Estimate created successfully\",\n    \"updated_message\": \"Estimate updated successfully\",\n    \"deleted_message\": \"Estimate deleted successfully | Estimates deleted successfully\",\n    \"something_went_wrong\": \"something went wrong\",\n    \"item\": {\n      \"title\": \"Item Title\",\n      \"description\": \"Aprašymas\",\n      \"quantity\": \"Kiekis\",\n      \"price\": \"Kaina\",\n      \"discount\": \"Nuolaida\",\n      \"total\": \"Iš viso\",\n      \"total_discount\": \"Bendra nuolaida\",\n      \"sub_total\": \"Tarpinė suma\",\n      \"tax\": \"Mokesčiai\",\n      \"amount\": \"Amount\",\n      \"select_an_item\": \"Type or click to select an item\",\n      \"type_item_description\": \"Type Item Description (optional)\"\n    },\n    \"mark_as_default_estimate_template_description\": \"If enabled, the selected template will be automatically selected for new estimates.\"\n  },\n  \"invoices\": {\n    \"title\": \"Sąskaitos\",\n    \"download\": \"Download\",\n    \"pay_invoice\": \"Pay Invoice\",\n    \"invoices_list\": \"Sąskaitų sąrašas\",\n    \"invoice_information\": \"Invoice Information\",\n    \"days\": \"{days} Days\",\n    \"months\": \"{months} Month\",\n    \"years\": \"{years} Year\",\n    \"all\": \"Visi\",\n    \"paid\": \"Apmokėta\",\n    \"unpaid\": \"Neapmokėta\",\n    \"viewed\": \"Peržiūrėta\",\n    \"overdue\": \"Overdue\",\n    \"completed\": \"Completed\",\n    \"customer\": \"KLIENTAS\",\n    \"paid_status\": \"PAID STATUS\",\n    \"ref_no\": \"REF NO.\",\n    \"number\": \"NUMERIS\",\n    \"amount_due\": \"AMOUNT DUE\",\n    \"partially_paid\": \"Dalinai apmokėta\",\n    \"total\": \"Iš viso\",\n    \"discount\": \"Nuolaida\",\n    \"sub_total\": \"Tarpinė suma\",\n    \"invoice\": \"Sąskaita | Sąskaitos\",\n    \"invoice_number\": \"Sąskaitos Numeris\",\n    \"ref_number\": \"Ref Number\",\n    \"contact\": \"Contact\",\n    \"add_item\": \"Pridėti elementą\",\n    \"date\": \"Data\",\n    \"due_date\": \"Due Date\",\n    \"status\": \"Būsena\",\n    \"add_tax\": \"Pridėti mokestį\",\n    \"amount\": \"Amount\",\n    \"action\": \"Veiksmas\",\n    \"notes\": \"Pastabos\",\n    \"view\": \"Peržiūrėti\",\n    \"send_invoice\": \"Siųsti Sąskaitą\",\n    \"resend_invoice\": \"Siųsti Sąskaitą dar kartą\",\n    \"invoice_template\": \"Sąskaitos šablonas\",\n    \"conversion_message\": \"Invoice cloned successful\",\n    \"template\": \"Pasirinkti šabloną\",\n    \"mark_as_sent\": \"Pažymėti kaip išsiųstą\",\n    \"confirm_send_invoice\": \"Šita sąskaita bus išsiųstas Klientui el. paštu\",\n    \"invoice_mark_as_sent\": \"This invoice will be marked as sent\",\n    \"confirm_mark_as_accepted\": \"This invoice will be marked as Accepted\",\n    \"confirm_mark_as_rejected\": \"This invoice will be marked as Rejected\",\n    \"confirm_send\": \"This invoice will be sent via email to the customer\",\n    \"invoice_date\": \"Sąskaitos Data\",\n    \"record_payment\": \"Record Payment\",\n    \"add_new_invoice\": \"Add New Invoice\",\n    \"update_expense\": \"Update Expense\",\n    \"edit_invoice\": \"Redaguoti Sąskaitą\",\n    \"new_invoice\": \"Nauja Sąskaita\",\n    \"save_invoice\": \"Išsaugoti Sąskaitą\",\n    \"update_invoice\": \"Atnaujinti Sąskaitą\",\n    \"add_new_tax\": \"Pridėti naują mokestį\",\n    \"no_invoices\": \"Dar nėra sąskaitų!\",\n    \"mark_as_rejected\": \"Pažymėti kaip atmestą\",\n    \"mark_as_accepted\": \"Pažymėti kaip priimtą\",\n    \"list_of_invoices\": \"Šioje skiltyje bus sąskaitų sąrašas.\",\n    \"select_invoice\": \"Pasirinkti Sąskaitą\",\n    \"no_matching_invoices\": \"Nėra atitinkančių sąskaitų!\",\n    \"mark_as_sent_successfully\": \"Sąskaita pažymėta kaip sėkmingai išsiųsta\",\n    \"invoice_sent_successfully\": \"Sąskaita išsiųsta sėkmingai\",\n    \"cloned_successfully\": \"Invoice cloned successfully\",\n    \"clone_invoice\": \"Clone Invoice\",\n    \"confirm_clone\": \"This invoice will be cloned into a new Invoice\",\n    \"item\": {\n      \"title\": \"Item Title\",\n      \"description\": \"Aprašymas\",\n      \"quantity\": \"Kiekis\",\n      \"price\": \"Kaina\",\n      \"discount\": \"Nuolaida\",\n      \"total\": \"Iš viso\",\n      \"total_discount\": \"Bendra nuolaida\",\n      \"sub_total\": \"Tarpinė suma\",\n      \"tax\": \"Mokesčiai\",\n      \"amount\": \"Amount\",\n      \"select_an_item\": \"Type or click to select an item\",\n      \"type_item_description\": \"Type Item Description (optional)\"\n    },\n    \"payment_attached_message\": \"One of the selected invoices already have a payment attached to it. Make sure to delete the attached payments first in order to go ahead with the removal\",\n    \"confirm_delete\": \"You will not be able to recover this Invoice | You will not be able to recover these Invoices\",\n    \"created_message\": \"Sąskaita sukurta sėkmingai\",\n    \"updated_message\": \"Sąskaita atnaujinta sėkmingai\",\n    \"deleted_message\": \"Sąskaita pašalinta sėkmingai | Sąskaitos pašalintos sėkmingai\",\n    \"marked_as_sent_message\": \"Sąskaita pažymėta kaip sėkmingai išsiųsta\",\n    \"something_went_wrong\": \"įvyko klaida\",\n    \"invalid_due_amount_message\": \"Total Invoice amount cannot be less than total paid amount for this Invoice. Please update the invoice or delete the associated payments to continue.\",\n    \"mark_as_default_invoice_template_description\": \"If enabled, the selected template will be automatically selected for new invoices.\"\n  },\n  \"recurring_invoices\": {\n    \"title\": \"Pasikartojančios sąskaitos\",\n    \"invoices_list\": \"Pasikartojančių sąskaitų sąrašas\",\n    \"days\": \"{days} dienos\",\n    \"months\": \"{months} Month\",\n    \"years\": \"{years} Year\",\n    \"all\": \"Visi\",\n    \"paid\": \"Paid\",\n    \"unpaid\": \"Unpaid\",\n    \"viewed\": \"Viewed\",\n    \"overdue\": \"Overdue\",\n    \"active\": \"Active\",\n    \"completed\": \"Completed\",\n    \"customer\": \"CUSTOMER\",\n    \"paid_status\": \"PAID STATUS\",\n    \"ref_no\": \"REF NO.\",\n    \"number\": \"NUMBER\",\n    \"amount_due\": \"AMOUNT DUE\",\n    \"partially_paid\": \"Partially Paid\",\n    \"total\": \"Total\",\n    \"discount\": \"Discount\",\n    \"sub_total\": \"Sub Total\",\n    \"invoice\": \"Recurring Invoice | Recurring Invoices\",\n    \"invoice_number\": \"Recurring Invoice Number\",\n    \"next_invoice_date\": \"Next Invoice Date\",\n    \"ref_number\": \"Ref Number\",\n    \"contact\": \"Contact\",\n    \"add_item\": \"Add an Item\",\n    \"date\": \"Data\",\n    \"limit_by\": \"Limit by\",\n    \"limit_date\": \"Limit Date\",\n    \"limit_count\": \"Limit Count\",\n    \"count\": \"Kiekis\",\n    \"status\": \"Būsena\",\n    \"select_a_status\": \"Pasirinkti būsena\",\n    \"working\": \"Veikiantys\",\n    \"on_hold\": \"Užlaikytas\",\n    \"complete\": \"Užbaigtas\",\n    \"add_tax\": \"Pridėti mokestį\",\n    \"amount\": \"Kiekis\",\n    \"action\": \"Veiksmas\",\n    \"notes\": \"Pastabos\",\n    \"view\": \"View\",\n    \"basic_info\": \"Basic Info\",\n    \"send_invoice\": \"Send Recurring Invoice\",\n    \"auto_send\": \"Auto Send\",\n    \"resend_invoice\": \"Resend Recurring Invoice\",\n    \"invoice_template\": \"Recurring Invoice Template\",\n    \"conversion_message\": \"Recurring Invoice cloned successful\",\n    \"template\": \"Template\",\n    \"mark_as_sent\": \"Mark as sent\",\n    \"confirm_send_invoice\": \"This recurring invoice will be sent via email to the customer\",\n    \"invoice_mark_as_sent\": \"This recurring invoice will be marked as sent\",\n    \"confirm_send\": \"This recurring invoice will be sent via email to the customer\",\n    \"starts_at\": \"Start Date\",\n    \"due_date\": \"Invoice Due Date\",\n    \"record_payment\": \"Record Payment\",\n    \"add_new_invoice\": \"Add New Recurring Invoice\",\n    \"update_expense\": \"Update Expense\",\n    \"edit_invoice\": \"Edit Recurring Invoice\",\n    \"new_invoice\": \"New Recurring Invoice\",\n    \"send_automatically\": \"Send Automatically\",\n    \"send_automatically_desc\": \"Enable this, if you would like to send the invoice automatically to the customer when its created.\",\n    \"save_invoice\": \"Save Recurring Invoice\",\n    \"update_invoice\": \"Update Recurring Invoice\",\n    \"add_new_tax\": \"Add New Tax\",\n    \"no_invoices\": \"No Recurring Invoices yet!\",\n    \"mark_as_rejected\": \"Mark as rejected\",\n    \"mark_as_accepted\": \"Mark as accepted\",\n    \"list_of_invoices\": \"This section will contain the list of recurring invoices.\",\n    \"select_invoice\": \"Select Invoice\",\n    \"no_matching_invoices\": \"There are no matching recurring invoices!\",\n    \"mark_as_sent_successfully\": \"Recurring Invoice marked as sent successfully\",\n    \"invoice_sent_successfully\": \"Recurring Invoice sent successfully\",\n    \"cloned_successfully\": \"Recurring Invoice cloned successfully\",\n    \"clone_invoice\": \"Clone Recurring Invoice\",\n    \"confirm_clone\": \"This recurring invoice will be cloned into a new Recurring Invoice\",\n    \"add_customer_email\": \"Please add an email address for this customer to send invoices automatically.\",\n    \"item\": {\n      \"title\": \"Item Title\",\n      \"description\": \"Description\",\n      \"quantity\": \"Quantity\",\n      \"price\": \"Price\",\n      \"discount\": \"Discount\",\n      \"total\": \"Total\",\n      \"total_discount\": \"Total Discount\",\n      \"sub_total\": \"Sub Total\",\n      \"tax\": \"Tax\",\n      \"amount\": \"Amount\",\n      \"select_an_item\": \"Type or click to select an item\",\n      \"type_item_description\": \"Type Item Description (optional)\"\n    },\n    \"frequency\": {\n      \"title\": \"Frequency\",\n      \"select_frequency\": \"Select Frequency\",\n      \"minute\": \"Minute\",\n      \"hour\": \"Hour\",\n      \"day_month\": \"Day of month\",\n      \"month\": \"Month\",\n      \"day_week\": \"Day of week\"\n    },\n    \"confirm_delete\": \"You will not be able to recover this Invoice | You will not be able to recover these Invoices\",\n    \"created_message\": \"Recurring Invoice created successfully\",\n    \"updated_message\": \"Recurring Invoice updated successfully\",\n    \"deleted_message\": \"Recurring Invoice deleted successfully | Recurring Invoices deleted successfully\",\n    \"marked_as_sent_message\": \"Recurring Invoice marked as sent successfully\",\n    \"user_email_does_not_exist\": \"User email does not exist\",\n    \"something_went_wrong\": \"something went wrong\",\n    \"invalid_due_amount_message\": \"Total Recurring Invoice amount cannot be less than total paid amount for this Recurring Invoice. Please update the invoice or delete the associated payments to continue.\"\n  },\n  \"payments\": {\n    \"title\": \"Payments\",\n    \"payments_list\": \"Payments List\",\n    \"record_payment\": \"Record Payment\",\n    \"customer\": \"Customer\",\n    \"date\": \"Date\",\n    \"amount\": \"Amount\",\n    \"action\": \"Action\",\n    \"payment_number\": \"Payment Number\",\n    \"payment_mode\": \"Payment Mode\",\n    \"invoice\": \"Invoice\",\n    \"note\": \"Note\",\n    \"add_payment\": \"Add Payment\",\n    \"new_payment\": \"New Payment\",\n    \"edit_payment\": \"Edit Payment\",\n    \"view_payment\": \"View Payment\",\n    \"add_new_payment\": \"Add New Payment\",\n    \"send_payment_receipt\": \"Send Payment Receipt\",\n    \"send_payment\": \"Send Payment\",\n    \"save_payment\": \"Save Payment\",\n    \"update_payment\": \"Update Payment\",\n    \"payment\": \"Payment | Payments\",\n    \"no_payments\": \"No payments yet!\",\n    \"not_selected\": \"Not selected\",\n    \"no_invoice\": \"No invoice\",\n    \"no_matching_payments\": \"There are no matching payments!\",\n    \"list_of_payments\": \"This section will contain the list of payments.\",\n    \"select_payment_mode\": \"Select payment mode\",\n    \"confirm_mark_as_sent\": \"This estimate will be marked as sent\",\n    \"confirm_send_payment\": \"This payment will be sent via email to the customer\",\n    \"send_payment_successfully\": \"Payment sent successfully\",\n    \"something_went_wrong\": \"something went wrong\",\n    \"confirm_delete\": \"You will not be able to recover this Payment | You will not be able to recover these Payments\",\n    \"created_message\": \"Payment created successfully\",\n    \"updated_message\": \"Payment updated successfully\",\n    \"deleted_message\": \"Payment deleted successfully | Payments deleted successfully\",\n    \"invalid_amount_message\": \"Payment amount is invalid\"\n  },\n  \"expenses\": {\n    \"title\": \"Išlaidos\",\n    \"expenses_list\": \"Išlaidų Sąrašas\",\n    \"select_a_customer\": \"Pasirinkite klientą\",\n    \"expense_title\": \"Pavadinimas\",\n    \"customer\": \"Klientas\",\n    \"currency\": \"Currency\",\n    \"contact\": \"Contact\",\n    \"category\": \"Category\",\n    \"from_date\": \"From Date\",\n    \"to_date\": \"To Date\",\n    \"expense_date\": \"Data\",\n    \"description\": \"Aprašymas\",\n    \"receipt\": \"Čekis\",\n    \"amount\": \"Amount\",\n    \"action\": \"Veiksmas\",\n    \"not_selected\": \"Nepasirinktas\",\n    \"note\": \"Pastaba\",\n    \"category_id\": \"Kategorijos Id\",\n    \"date\": \"Data\",\n    \"add_expense\": \"Pridėti išlaidą\",\n    \"add_new_expense\": \"Pridėti Naują Išlaidą\",\n    \"save_expense\": \"Išsaugoti išlaidą\",\n    \"update_expense\": \"Atnaujinti išlaidą\",\n    \"download_receipt\": \"Atsiųsti Išlaidą\",\n    \"edit_expense\": \"Redaguoti išlaidą\",\n    \"new_expense\": \"Nauja išlaida\",\n    \"expense\": \"Išlaida | Išlaidos\",\n    \"no_expenses\": \"Dar nėra išlaidų!\",\n    \"list_of_expenses\": \"This section will contain the list of expenses.\",\n    \"confirm_delete\": \"You will not be able to recover this Expense | You will not be able to recover these Expenses\",\n    \"created_message\": \"Išlaida sukurta sėkmingai\",\n    \"updated_message\": \"Išlaida atnaujinta sėkmingai\",\n    \"deleted_message\": \"Išlaida pašalinta sėkmingai | Išlaidos pašalintos sėkmingai\",\n    \"categories\": {\n      \"categories_list\": \"Kategorijų Sąrašas\",\n      \"title\": \"Pavadinimas\",\n      \"name\": \"Name\",\n      \"description\": \"Description\",\n      \"amount\": \"Amount\",\n      \"actions\": \"Actions\",\n      \"add_category\": \"Pridėti Kategoriją\",\n      \"new_category\": \"Nauja Kategorija\",\n      \"category\": \"Kategorija | Kategorijos\",\n      \"select_a_category\": \"Pasirinkite Kategoriją\"\n    }\n  },\n  \"login\": {\n    \"email\": \"El. paštas\",\n    \"password\": \"Slaptažodis\",\n    \"forgot_password\": \"Pamiršote slaptažodį?\",\n    \"or_signIn_with\": \"arba prisijunkite su\",\n    \"login\": \"Prisijungti\",\n    \"register\": \"Užsiregistruoti\",\n    \"reset_password\": \"Atstatyti slaptažodį\",\n    \"password_reset_successfully\": \"Slaptažodžis atstatytas sėkmingai\",\n    \"enter_email\": \"Įveskite el. pašto adresą\",\n    \"enter_password\": \"Įveskite slaptažodį\",\n    \"retype_password\": \"Įvesikite slaptažodį dar kartą\"\n  },\n  \"modules\": {\n    \"buy_now\": \"Buy Now\",\n    \"install\": \"Install\",\n    \"price\": \"Price\",\n    \"download_zip_file\": \"Download ZIP file\",\n    \"unzipping_package\": \"Unzipping Package\",\n    \"copying_files\": \"Copying Files\",\n    \"deleting_files\": \"Deleting Unused files\",\n    \"completing_installation\": \"Completing Installation\",\n    \"update_failed\": \"Update Failed\",\n    \"install_success\": \"Module has been installed successfully!\",\n    \"customer_reviews\": \"Reviews\",\n    \"license\": \"License\",\n    \"faq\": \"FAQ\",\n    \"monthly\": \"Monthly\",\n    \"yearly\": \"Yearly\",\n    \"updated\": \"Updated\",\n    \"version\": \"Version\",\n    \"disable\": \"Disable\",\n    \"module_disabled\": \"Module Disabled\",\n    \"enable\": \"Enable\",\n    \"module_enabled\": \"Module Enabled\",\n    \"update_to\": \"Update To\",\n    \"module_updated\": \"Module Updated Successfully!\",\n    \"title\": \"Modules\",\n    \"module\": \"Module | Modules\",\n    \"api_token\": \"API token\",\n    \"invalid_api_token\": \"Invalid API Token.\",\n    \"other_modules\": \"Other Modules\",\n    \"view_all\": \"View All\",\n    \"no_reviews_found\": \"There are no reviews for this module yet!\",\n    \"module_not_purchased\": \"Module Not Purchased\",\n    \"module_not_found\": \"Module Not Found\",\n    \"version_not_supported\": \"This module version doesn't support the current version of Crater\",\n    \"last_updated\": \"Last Updated On\",\n    \"connect_installation\": \"Connect your installation\",\n    \"api_token_description\": \"Login to {url} and connect this installation by entering the API Token. Your purchased modules will show up here after the connection is established.\",\n    \"view_module\": \"View Module\",\n    \"update_available\": \"Update Available\",\n    \"purchased\": \"Purchased\",\n    \"installed\": \"Installed\",\n    \"no_modules_installed\": \"No Modules Installed Yet!\",\n    \"disable_warning\": \"All the settings for this particular will be reverted.\",\n    \"what_you_get\": \"What you get\"\n  },\n  \"users\": {\n    \"title\": \"Vartotojai\",\n    \"users_list\": \"Vartotojų sąrašas\",\n    \"name\": \"Name\",\n    \"description\": \"Description\",\n    \"added_on\": \"Added On\",\n    \"date_of_creation\": \"Date Of Creation\",\n    \"action\": \"Action\",\n    \"add_user\": \"Pridėti Vartotoją\",\n    \"save_user\": \"Išsaugoti Vartotoją\",\n    \"update_user\": \"Atnaujinti Vartotoją\",\n    \"user\": \"Vartotojas | Vartotojai\",\n    \"add_new_user\": \"Pridėti Naują Vartotoją\",\n    \"new_user\": \"Naujas Vartotojas\",\n    \"edit_user\": \"Redaguoti Vartotoją\",\n    \"no_users\": \"No users yet!\",\n    \"list_of_users\": \"This section will contain the list of users.\",\n    \"email\": \"El. paštas\",\n    \"phone\": \"Telefonas\",\n    \"password\": \"Slaptažodis\",\n    \"user_attached_message\": \"Cannot delete an item which is already in use\",\n    \"confirm_delete\": \"You will not be able to recover this User | You will not be able to recover these Users\",\n    \"created_message\": \"Vartotojas sukurtas sėkmingai\",\n    \"updated_message\": \"Vartotojas atnaujintas sėkmingai\",\n    \"deleted_message\": \"Vartotojas pašalintas sėkmingai | Vartotojai pašalinti sėkmingai\",\n    \"select_company_role\": \"Select Role for {company}\",\n    \"companies\": \"Įmonės\"\n  },\n  \"reports\": {\n    \"title\": \"Ataskaita\",\n    \"from_date\": \"Data nuo\",\n    \"to_date\": \"Data iki\",\n    \"status\": \"Būsena\",\n    \"paid\": \"Apmokėta\",\n    \"unpaid\": \"Neapmokėta\",\n    \"download_pdf\": \"Atsiųsti PDF\",\n    \"view_pdf\": \"Peržiūrėti PDF\",\n    \"update_report\": \"Atnaujinti Ataskaitą\",\n    \"report\": \"Ataskaita | Ataskaitos\",\n    \"profit_loss\": {\n      \"profit_loss\": \"Profit & Loss\",\n      \"to_date\": \"Data iki\",\n      \"from_date\": \"Data nuo\",\n      \"date_range\": \"Select Date Range\"\n    },\n    \"sales\": {\n      \"sales\": \"Pardavimai\",\n      \"date_range\": \"Select Date Range\",\n      \"to_date\": \"To Date\",\n      \"from_date\": \"From Date\",\n      \"report_type\": \"Report Type\"\n    },\n    \"taxes\": {\n      \"taxes\": \"Taxes\",\n      \"to_date\": \"To Date\",\n      \"from_date\": \"From Date\",\n      \"date_range\": \"Select Date Range\"\n    },\n    \"errors\": {\n      \"required\": \"Field is required\"\n    },\n    \"invoices\": {\n      \"invoice\": \"Invoice\",\n      \"invoice_date\": \"Invoice Date\",\n      \"due_date\": \"Due Date\",\n      \"amount\": \"Amount\",\n      \"contact_name\": \"Contact Name\",\n      \"status\": \"Status\"\n    },\n    \"estimates\": {\n      \"estimate\": \"Estimate\",\n      \"estimate_date\": \"Estimate Date\",\n      \"due_date\": \"Due Date\",\n      \"estimate_number\": \"Estimate Number\",\n      \"ref_number\": \"Ref Number\",\n      \"amount\": \"Amount\",\n      \"contact_name\": \"Contact Name\",\n      \"status\": \"Status\"\n    },\n    \"expenses\": {\n      \"expenses\": \"Expenses\",\n      \"category\": \"Category\",\n      \"date\": \"Date\",\n      \"amount\": \"Amount\",\n      \"to_date\": \"To Date\",\n      \"from_date\": \"From Date\",\n      \"date_range\": \"Select Date Range\"\n    }\n  },\n  \"settings\": {\n    \"menu_title\": {\n      \"account_settings\": \"Account Settings\",\n      \"company_information\": \"Company Information\",\n      \"customization\": \"Customization\",\n      \"preferences\": \"Nustatymai\",\n      \"notifications\": \"Pranešimai\",\n      \"tax_types\": \"Mokesčių tipai\",\n      \"expense_category\": \"Išlaidų Kategorijos\",\n      \"update_app\": \"Update App\",\n      \"backup\": \"Atsarginė kopija\",\n      \"file_disk\": \"File Disk\",\n      \"custom_fields\": \"Papildomai laukai\",\n      \"payment_modes\": \"Mokėjimo būdai\",\n      \"notes\": \"Pastabos\",\n      \"exchange_rate\": \"Valiutų kursas\",\n      \"address_information\": \"Address Information\"\n    },\n    \"address_information\": {\n      \"section_description\": \"  You can update Your Address information using form below.\"\n    },\n    \"title\": \"Nustatymai\",\n    \"setting\": \"Nustatymai | Nustatymai\",\n    \"general\": \"Bendrieji nustatymai\",\n    \"language\": \"Kalba\",\n    \"primary_currency\": \"Pagrindinė valiuta\",\n    \"timezone\": \"Laiko zona\",\n    \"date_format\": \"Datos formatas\",\n    \"currencies\": {\n      \"title\": \"Valiutos\",\n      \"currency\": \"Valiuta | Valiutos\",\n      \"currencies_list\": \"Valiutų sąrašas\",\n      \"select_currency\": \"Pasirinkite valiutą\",\n      \"name\": \"Pavadinimas\",\n      \"code\": \"Kodas\",\n      \"symbol\": \"Simbolis\",\n      \"precision\": \"Tikslumas\",\n      \"thousand_separator\": \"Tūkstančių skyriklis\",\n      \"decimal_separator\": \"Decimal Separator\",\n      \"position\": \"Padėtis\",\n      \"position_of_symbol\": \"Simbolio padėtis\",\n      \"right\": \"Dešinė\",\n      \"left\": \"Kairė\",\n      \"action\": \"Veiksmas\",\n      \"add_currency\": \"Pridėti valiutą\"\n    },\n    \"mail\": {\n      \"host\": \"Mail Host\",\n      \"port\": \"Mail Port\",\n      \"driver\": \"Mail Driver\",\n      \"secret\": \"Secret\",\n      \"mailgun_secret\": \"Mailgun Secret\",\n      \"mailgun_domain\": \"Domenas\",\n      \"mailgun_endpoint\": \"Mailgun Endpoint\",\n      \"ses_secret\": \"SES Secret\",\n      \"ses_key\": \"SES Key\",\n      \"password\": \"Mail Password\",\n      \"username\": \"Mail Username\",\n      \"mail_config\": \"Mail Configuration\",\n      \"from_name\": \"From Mail Name\",\n      \"from_mail\": \"From Mail Address\",\n      \"encryption\": \"Mail Encryption\",\n      \"mail_config_desc\": \"Below is the form for Configuring Email driver for sending emails from the app. You can also configure third party providers like Sendgrid, SES etc.\"\n    },\n    \"pdf\": {\n      \"title\": \"PDF nustatymai\",\n      \"footer_text\": \"Poraštės tekstas\",\n      \"pdf_layout\": \"PDF Išdėstymas\"\n    },\n    \"company_info\": {\n      \"company_info\": \"Company info\",\n      \"company_name\": \"Imonės pavadinimas\",\n      \"company_logo\": \"Įmonės logotipas\",\n      \"section_description\": \"Information about your company that will be displayed on invoices, estimates and other documents created by Crater.\",\n      \"phone\": \"Telefonas\",\n      \"country\": \"Šalis\",\n      \"state\": \"State\",\n      \"city\": \"Miestas\",\n      \"address\": \"Adresas\",\n      \"zip\": \"Pašto kodas\",\n      \"save\": \"Išsaugoti\",\n      \"delete\": \"Ištrinti\",\n      \"updated_message\": \"Company information updated successfully\",\n      \"delete_company\": \"Ištrinti įmonę\",\n      \"delete_company_description\": \"Once you delete your company, you will lose all the data and files associated with it permanently.\",\n      \"are_you_absolutely_sure\": \"Are you absolutely sure?\",\n      \"delete_company_modal_desc\": \"This action cannot be undone. This will permanently delete {company} and all of its associated data.\",\n      \"delete_company_modal_label\": \"Please type {company} to confirm\"\n    },\n    \"custom_fields\": {\n      \"title\": \"Custom Fields\",\n      \"section_description\": \"Customize your Invoices, Estimates & Payment Receipts with your own fields. Make sure to use the below added fields on the address formats on Customization settings page.\",\n      \"add_custom_field\": \"Pridėti pasirinktinį lauką\",\n      \"edit_custom_field\": \"Redaguoti pasirinktinį lauką\",\n      \"field_name\": \"Field Name\",\n      \"label\": \"Žyma\",\n      \"type\": \"Tipas\",\n      \"name\": \"Name\",\n      \"slug\": \"Slug\",\n      \"required\": \"Privalomas\",\n      \"placeholder\": \"Placeholder\",\n      \"help_text\": \"Help Text\",\n      \"default_value\": \"Default Value\",\n      \"prefix\": \"Prefix\",\n      \"starting_number\": \"Starting Number\",\n      \"model\": \"Modelis\",\n      \"help_text_description\": \"Enter some text to help users understand the purpose of this custom field.\",\n      \"suffix\": \"Suffix\",\n      \"yes\": \"Taip\",\n      \"no\": \"Ne\",\n      \"order\": \"Order\",\n      \"custom_field_confirm_delete\": \"You will not be able to recover this Custom Field\",\n      \"already_in_use\": \"Custom Field is already in use\",\n      \"deleted_message\": \"Custom Field deleted successfully\",\n      \"options\": \"options\",\n      \"add_option\": \"Pridėti Pasirinkimus\",\n      \"add_another_option\": \"Add another option\",\n      \"sort_in_alphabetical_order\": \"Sort in Alphabetical Order\",\n      \"add_options_in_bulk\": \"Add options in bulk\",\n      \"use_predefined_options\": \"Use Predefined Options\",\n      \"select_custom_date\": \"Select Custom Date\",\n      \"select_relative_date\": \"Select Relative Date\",\n      \"ticked_by_default\": \"Ticked by default\",\n      \"updated_message\": \"Custom Field updated successfully\",\n      \"added_message\": \"Custom Field added successfully\",\n      \"press_enter_to_add\": \"Press enter to add new option\",\n      \"model_in_use\": \"Cannot update model for fields which are already in use.\",\n      \"type_in_use\": \"Cannot update type for fields which are already in use.\"\n    },\n    \"customization\": {\n      \"customization\": \"customization\",\n      \"updated_message\": \"Company information updated successfully\",\n      \"save\": \"Išsaugoti\",\n      \"insert_fields\": \"Insert Fields\",\n      \"learn_custom_format\": \"Learn how to use custom format\",\n      \"add_new_component\": \"Add New Component\",\n      \"component\": \"Komponentas\",\n      \"Parameter\": \"Parametras\",\n      \"series\": \"Serija\",\n      \"series_description\": \"To set a static prefix/postfix like 'INV' across your company. It supports character length of up to 6 chars.\",\n      \"series_param_label\": \"Series Value\",\n      \"delimiter\": \"Skyriklis\",\n      \"delimiter_description\": \"Single character for specifying the boundary between 2 separate components. By default its set to -\",\n      \"delimiter_param_label\": \"Delimiter Value\",\n      \"date_format\": \"Datos formatas\",\n      \"date_format_description\": \"A local date and time field which accepts a format parameter. The default format: 'Y' renders the current year.\",\n      \"date_format_param_label\": \"Formatas\",\n      \"sequence\": \"Seka\",\n      \"sequence_description\": \"Consecutive sequence of numbers across your company. You can specify the length on the given parameter.\",\n      \"sequence_param_label\": \"Sekos Ilgis\",\n      \"customer_series\": \"Customer Series\",\n      \"customer_series_description\": \"To set a different prefix/postfix for each customer.\",\n      \"customer_sequence\": \"Customer Sequence\",\n      \"customer_sequence_description\": \"Consecutive sequence of numbers for each of your customer.\",\n      \"customer_sequence_param_label\": \"Sekos Ilgis\",\n      \"random_sequence\": \"Random Sequence\",\n      \"random_sequence_description\": \"Random alphanumeric string. You can specify the length on the given parameter.\",\n      \"random_sequence_param_label\": \"Sequence Length\",\n      \"invoices\": {\n        \"title\": \"Sąskaitos\",\n        \"invoice_number_format\": \"Sąskaitos numerio formatas\",\n        \"invoice_number_format_description\": \"Customize how your invoice number gets generated automatically when you create a new invoice.\",\n        \"preview_invoice_number\": \"Preview Invoice Number\",\n        \"due_date\": \"Due Date\",\n        \"due_date_description\": \"Specify how due date is automatically set when you create an invoice.\",\n        \"due_date_days\": \"Invoice Due after days\",\n        \"set_due_date_automatically\": \"Set Due Date Automatically\",\n        \"set_due_date_automatically_description\": \"Enable this if you wish to set due date automatically when you create a new invoice.\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on invoice creation.\",\n        \"default_invoice_email_body\": \"Default Invoice Email Body\",\n        \"company_address_format\": \"Company Address Format\",\n        \"shipping_address_format\": \"Shipping Address Format\",\n        \"billing_address_format\": \"Billing Address Format\",\n        \"invoice_email_attachment\": \"Send invoices as attachments\",\n        \"invoice_email_attachment_setting_description\": \"Enable this if you want to send invoices as email attachment. Please note that 'View Invoice' button in emails will not be displayed anymore when enabled.\",\n        \"invoice_settings_updated\": \"Invoice Settings updated successfully\",\n        \"retrospective_edits\": \"Retrospective Edits\",\n        \"allow\": \"Leisti\",\n        \"disable_on_invoice_partial_paid\": \"Disable after partial payment is recorded\",\n        \"disable_on_invoice_paid\": \"Disable after full payment is recorded\",\n        \"disable_on_invoice_sent\": \"Disable after invoice is sent\",\n        \"retrospective_edits_description\": \" Based on your country's laws or your preference, you can restrict users from editing finalised invoices.\"\n      },\n      \"estimates\": {\n        \"title\": \"Estimates\",\n        \"estimate_number_format\": \"Estimate Number Format\",\n        \"estimate_number_format_description\": \"Customize how your estimate number gets generated automatically when you create a new estimate.\",\n        \"preview_estimate_number\": \"Preview Estimate Number\",\n        \"expiry_date\": \"Galiojimo laikas\",\n        \"expiry_date_description\": \"Specify how expiry date is automatically set when you create an estimate.\",\n        \"expiry_date_days\": \"Estimate Expires after days\",\n        \"set_expiry_date_automatically\": \"Set Expiry Date Automatically\",\n        \"set_expiry_date_automatically_description\": \"Enable this if you wish to set expiry date automatically when you create a new estimate.\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on estimate creation.\",\n        \"default_estimate_email_body\": \"Default Estimate Email Body\",\n        \"company_address_format\": \"Company Address Format\",\n        \"shipping_address_format\": \"Shipping Address Format\",\n        \"billing_address_format\": \"Billing Address Format\",\n        \"estimate_email_attachment\": \"Send estimates as attachments\",\n        \"estimate_email_attachment_setting_description\": \"Enable this if you want to send the estimates as an email attachment. Please note that 'View Estimate' button in emails will not be displayed anymore when enabled.\",\n        \"estimate_settings_updated\": \"Estimate Settings updated successfully\",\n        \"convert_estimate_options\": \"Estimate Convert Action\",\n        \"convert_estimate_description\": \"Specify what happens to the estimate after it gets converted to an invoice.\",\n        \"no_action\": \"Nėra veiksmų\",\n        \"delete_estimate\": \"Ištrinti pasiūlymą\",\n        \"mark_estimate_as_accepted\": \"Mark estimate as accepted\"\n      },\n      \"payments\": {\n        \"title\": \"Mokėjimai\",\n        \"payment_number_format\": \"Payment Number Format\",\n        \"payment_number_format_description\": \"Customize how your payment number gets generated automatically when you create a new payment.\",\n        \"preview_payment_number\": \"Preview Payment Number\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on payment creation.\",\n        \"default_payment_email_body\": \"Default Payment Email Body\",\n        \"company_address_format\": \"Company Address Format\",\n        \"from_customer_address_format\": \"From Customer Address Format\",\n        \"payment_email_attachment\": \"Send payments as attachments\",\n        \"payment_email_attachment_setting_description\": \"Enable this if you want to send the payment receipts as an email attachment. Please note that 'View Payment' button in emails will not be displayed anymore when enabled.\",\n        \"payment_settings_updated\": \"Payment Settings updated successfully\"\n      },\n      \"items\": {\n        \"title\": \"Items\",\n        \"units\": \"Vienetai\",\n        \"add_item_unit\": \"Add Item Unit\",\n        \"edit_item_unit\": \"Edit Item Unit\",\n        \"unit_name\": \"Vieneto pavadinimas\",\n        \"item_unit_added\": \"Item Unit Added\",\n        \"item_unit_updated\": \"Item Unit Updated\",\n        \"item_unit_confirm_delete\": \"You will not be able to recover this Item unit\",\n        \"already_in_use\": \"Item Unit is already in use\",\n        \"deleted_message\": \"Item Unit deleted successfully\"\n      },\n      \"notes\": {\n        \"title\": \"Pastabos\",\n        \"description\": \"Save time by creating notes and reusing them on your invoices, estimates & payments.\",\n        \"notes\": \"Pastabos\",\n        \"type\": \"Tipas\",\n        \"add_note\": \"Pridėti pastabą\",\n        \"add_new_note\": \"Pridėti Naują Pastabą\",\n        \"name\": \"Pavadinimas\",\n        \"edit_note\": \"Redaguoti Pastabą\",\n        \"note_added\": \"Pastaba pridėta sėkmingai\",\n        \"note_updated\": \"Pastaba atnaujinta sėkmingai\",\n        \"note_confirm_delete\": \"Jūs nebegalėsite atkurti šitos Pastabos\",\n        \"already_in_use\": \"Pastaba jau naudojama\",\n        \"deleted_message\": \"Pastaba pašalinta sėkmingai\"\n      }\n    },\n    \"account_settings\": {\n      \"profile_picture\": \"Profilio nuotrauka\",\n      \"name\": \"Vardas\",\n      \"email\": \"El. paštas\",\n      \"password\": \"Slaptažodis\",\n      \"confirm_password\": \"Patvirtinti slaptažodį\",\n      \"account_settings\": \"Paskyros nustatymai\",\n      \"save\": \"Išsaugoti\",\n      \"section_description\": \"You can update your name, email & password using the form below.\",\n      \"updated_message\": \"Account Settings updated successfully\"\n    },\n    \"user_profile\": {\n      \"name\": \"Vardas\",\n      \"email\": \"El. paštas\",\n      \"password\": \"Slaptažodis\",\n      \"confirm_password\": \"Patvirtinti slaptažodį\"\n    },\n    \"notification\": {\n      \"title\": \"Pranešimai\",\n      \"email\": \"Siųsti pranešimus\",\n      \"description\": \"Which email notifications would you like to receive when something changes?\",\n      \"invoice_viewed\": \"Invoice viewed\",\n      \"invoice_viewed_desc\": \"When your customer views the invoice sent via crater dashboard.\",\n      \"estimate_viewed\": \"Estimate viewed\",\n      \"estimate_viewed_desc\": \"When your customer views the estimate sent via crater dashboard.\",\n      \"save\": \"Išsaugoti\",\n      \"email_save_message\": \"El. paštas išsaugotas sėkmingai\",\n      \"please_enter_email\": \"Įveskite el. paštą\"\n    },\n    \"roles\": {\n      \"title\": \"Vaidmenys\",\n      \"description\": \"Manage the roles & permissions of this company\",\n      \"save\": \"Išsaugoti\",\n      \"add_new_role\": \"Pridėti naują vaidmenį\",\n      \"role_name\": \"Vaidmens pavadinimas\",\n      \"added_on\": \"Pridėta\",\n      \"add_role\": \"Pridėti veidmenį\",\n      \"edit_role\": \"Redaguoti vaidmenį\",\n      \"name\": \"Name\",\n      \"permission\": \"Permission | Permissions\",\n      \"select_all\": \"Pažymėti viską\",\n      \"none\": \"None\",\n      \"confirm_delete\": \"You will not be able to recover this Role\",\n      \"created_message\": \"Role created successfully\",\n      \"updated_message\": \"Role updated successfully\",\n      \"deleted_message\": \"Role deleted successfully\",\n      \"already_in_use\": \"Role is already in use\"\n    },\n    \"exchange_rate\": {\n      \"exchange_rate\": \"Valiutų kursas\",\n      \"title\": \"Fix Currency Exchange issues\",\n      \"description\": \"Please enter exchange rate of all the currencies mentioned below to help Crater properly calculate the amounts in {currency}.\",\n      \"drivers\": \"Drivers\",\n      \"new_driver\": \"Add New Provider\",\n      \"edit_driver\": \"Edit Provider\",\n      \"select_driver\": \"Select Driver\",\n      \"update\": \"select exchange rate \",\n      \"providers_description\": \"Configure your exchange rate providers here to automatically fetch the latest exchange rate on transactions.\",\n      \"key\": \"API raktas\",\n      \"name\": \"Pavadinimas\",\n      \"driver\": \"Driver\",\n      \"is_default\": \"IS DEFAULT\",\n      \"currency\": \"Currencies\",\n      \"exchange_rate_confirm_delete\": \"You will not be able to recover this driver\",\n      \"created_message\": \"Provider Created successfully\",\n      \"updated_message\": \"Provider Updated Successfully\",\n      \"deleted_message\": \"Provider Deleted Successfully\",\n      \"error\": \" You cannot Delete Active Driver\",\n      \"default_currency_error\": \"This currency is already used in one of the Active Provider\",\n      \"exchange_help_text\": \"Enter exchange rate to convert from {currency} to {baseCurrency}\",\n      \"currency_freak\": \"Currency Freak\",\n      \"currency_layer\": \"Currency Layer\",\n      \"open_exchange_rate\": \"Open Exchange Rate\",\n      \"currency_converter\": \"Valiutos Skaičiuoklė\",\n      \"server\": \"Serveris\",\n      \"url\": \"URL\",\n      \"active\": \"Aktyvus\",\n      \"currency_help_text\": \"This provider will only be used on above selected currencies\",\n      \"currency_in_used\": \"The following currencies are already active on another provider. Please remove these currencies from selection to activate this provider again.\"\n    },\n    \"tax_types\": {\n      \"title\": \"Mokesčių tipai\",\n      \"add_tax\": \"Pridėti mokestį\",\n      \"edit_tax\": \"Redaguoti mokestį\",\n      \"description\": \"You can add or Remove Taxes as you please. Crater supports Taxes on Individual Items as well as on the invoice.\",\n      \"add_new_tax\": \"Pridėti naują mokestį\",\n      \"tax_settings\": \"Mokesčių nustatymai\",\n      \"tax_per_item\": \"Tax Per Item\",\n      \"tax_name\": \"Mokesčio pavadinimas\",\n      \"compound_tax\": \"Sudėtinis mokestis\",\n      \"percent\": \"Procentai\",\n      \"action\": \"Veiksmas\",\n      \"tax_setting_description\": \"Enable this if you want to add taxes to individual invoice items. By default, taxes are added directly to the invoice.\",\n      \"created_message\": \"Tax type created successfully\",\n      \"updated_message\": \"Tax type updated successfully\",\n      \"deleted_message\": \"Tax type deleted successfully\",\n      \"confirm_delete\": \"You will not be able to recover this Tax Type\",\n      \"already_in_use\": \"Tax is already in use\"\n    },\n    \"payment_modes\": {\n      \"title\": \"Mokėjimo būdai\",\n      \"description\": \"Modes of transaction for payments\",\n      \"add_payment_mode\": \"Pridėti Mokėjimo Būdą\",\n      \"edit_payment_mode\": \"Redaguoti Mokėjimo Būdą\",\n      \"mode_name\": \"Mode Name\",\n      \"payment_mode_added\": \"Mokėjimo Būdas pridėtas\",\n      \"payment_mode_updated\": \"Mokėjimo Būdas atnaujintas\",\n      \"payment_mode_confirm_delete\": \"You will not be able to recover this Payment Mode\",\n      \"payments_attached\": \"This payment method is already attached to payments. Please delete the attached payments to proceed with deletion.\",\n      \"expenses_attached\": \"This payment method is already attached to expenses. Please delete the attached expenses to proceed with deletion.\",\n      \"deleted_message\": \"Mokėjimo Būdas sėkmingai pašalintas\"\n    },\n    \"expense_category\": {\n      \"title\": \"Expense Categories\",\n      \"action\": \"Action\",\n      \"description\": \"Categories are required for adding expense entries. You can Add or Remove these categories according to your preference.\",\n      \"add_new_category\": \"Pridėti naują kategoriją\",\n      \"add_category\": \"Pridėti kategoriją\",\n      \"edit_category\": \"Redaguoti kategoriją\",\n      \"category_name\": \"Kategorijos pavadinimas\",\n      \"category_description\": \"Aprašymas\",\n      \"created_message\": \"Expense Category created successfully\",\n      \"deleted_message\": \"Expense category deleted successfully\",\n      \"updated_message\": \"Expense category updated successfully\",\n      \"confirm_delete\": \"You will not be able to recover this Expense Category\",\n      \"already_in_use\": \"Category is already in use\"\n    },\n    \"preferences\": {\n      \"currency\": \"Valiuta\",\n      \"default_language\": \"Numatyta kalba\",\n      \"time_zone\": \"Laiko zona\",\n      \"fiscal_year\": \"Finansiniai metai\",\n      \"date_format\": \"Datos formatas\",\n      \"discount_setting\": \"Discount Setting\",\n      \"discount_per_item\": \"Discount Per Item \",\n      \"discount_setting_description\": \"Enable this if you want to add Discount to individual invoice items. By default, Discount is added directly to the invoice.\",\n      \"expire_public_links\": \"Automatically Expire Public Links\",\n      \"expire_setting_description\": \"Specify whether you would like to expire all the links sent by application to view invoices, estimates & payments, etc after a specified duration.\",\n      \"save\": \"Išsaugoti\",\n      \"preference\": \"Nustatymas | Nustatymai\",\n      \"general_settings\": \"Default preferences for the system.\",\n      \"updated_message\": \"Nustatymai atnaujinti sėkmingai\",\n      \"select_language\": \"Pasirinkite Kalbą\",\n      \"select_time_zone\": \"Pasirinkite Laiko Zoną\",\n      \"select_date_format\": \"Pasirinkite Datos Formatą\",\n      \"select_financial_year\": \"Select Financial Year\",\n      \"recurring_invoice_status\": \"Recurring Invoice Status\",\n      \"create_status\": \"Sukurti būseną\",\n      \"active\": \"Aktyvus\",\n      \"on_hold\": \"Užlaikytas\",\n      \"update_status\": \"Atnaujinti būseną\",\n      \"completed\": \"Užbaigtas\",\n      \"company_currency_unchangeable\": \"Įmonės valiuta negali būti pakeista\"\n    },\n    \"update_app\": {\n      \"title\": \"Update App\",\n      \"description\": \"You can easily update Crater by checking for a new update by clicking the button below\",\n      \"check_update\": \"Tikrinti, ar yra atnaujinimų\",\n      \"avail_update\": \"Galimas naujas atnaujinimas\",\n      \"next_version\": \"Naujesnė versija\",\n      \"requirements\": \"Reikalavimai\",\n      \"update\": \"Atnaujinti dabar\",\n      \"update_progress\": \"Vyksta atnaujinimas...\",\n      \"progress_text\": \"It will just take a few minutes. Please do not refresh the screen or close the window before the update finishes\",\n      \"update_success\": \"App has been updated! Please wait while your browser window gets reloaded automatically.\",\n      \"latest_message\": \"No update available! You are on the latest version.\",\n      \"current_version\": \"Dabartinė versija\",\n      \"download_zip_file\": \"Atsisiųsti ZIP failą\",\n      \"unzipping_package\": \"Unzipping Package\",\n      \"copying_files\": \"Kopijuojami failai\",\n      \"deleting_files\": \"Deleting Unused files\",\n      \"running_migrations\": \"Running Migrations\",\n      \"finishing_update\": \"Finishing Update\",\n      \"update_failed\": \"Update Failed\",\n      \"update_failed_text\": \"Sorry! Your update failed on : {step} step\",\n      \"update_warning\": \"All of the application files and default template files will be overwritten when you update the application using this utility. Please take a backup of your templates & database before updating.\"\n    },\n    \"backup\": {\n      \"title\": \"Backup | Backups\",\n      \"description\": \"The backup is a zipfile that contains all files in the directories you specify along with a dump of your database\",\n      \"new_backup\": \"Add New Backup\",\n      \"create_backup\": \"Kurti atsarginę kopiją\",\n      \"select_backup_type\": \"Select Backup Type\",\n      \"backup_confirm_delete\": \"You will not be able to recover this Backup\",\n      \"path\": \"path\",\n      \"new_disk\": \"Naujas diskas\",\n      \"created_at\": \"sukurta\",\n      \"size\": \"dydis\",\n      \"dropbox\": \"dropbox\",\n      \"local\": \"local\",\n      \"healthy\": \"healthy\",\n      \"amount_of_backups\": \"amount of backups\",\n      \"newest_backups\": \"newest backups\",\n      \"used_storage\": \"used storage\",\n      \"select_disk\": \"Pasirinkite Diską\",\n      \"action\": \"Veiksmas\",\n      \"deleted_message\": \"Atsarginė kopija sėkmingai ištrinta\",\n      \"created_message\": \"Atsarginė kopija sėkmingai sukurta\",\n      \"invalid_disk_credentials\": \"Invalid credential of selected disk\"\n    },\n    \"disk\": {\n      \"title\": \"File Disk | File Disks\",\n      \"description\": \"By default, Crater will use your local disk for saving backups, avatar and other image files. You can configure more than one disk drivers like DigitalOcean, S3 and Dropbox according to your preference.\",\n      \"created_at\": \"created at\",\n      \"dropbox\": \"dropbox\",\n      \"name\": \"Pavadinimas\",\n      \"driver\": \"Driver\",\n      \"disk_type\": \"Tipas\",\n      \"disk_name\": \"Disk Name\",\n      \"new_disk\": \"Add New Disk\",\n      \"filesystem_driver\": \"Filesystem Driver\",\n      \"local_driver\": \"local Driver\",\n      \"local_root\": \"local Root\",\n      \"public_driver\": \"Public Driver\",\n      \"public_root\": \"Public Root\",\n      \"public_url\": \"Public URL\",\n      \"public_visibility\": \"Public Visibility\",\n      \"media_driver\": \"Media Driver\",\n      \"media_root\": \"Media Root\",\n      \"aws_driver\": \"AWS Driver\",\n      \"aws_key\": \"AWS Key\",\n      \"aws_secret\": \"AWS Secret\",\n      \"aws_region\": \"AWS Region\",\n      \"aws_bucket\": \"AWS Bucket\",\n      \"aws_root\": \"AWS Root\",\n      \"do_spaces_type\": \"Do Spaces type\",\n      \"do_spaces_key\": \"Do Spaces key\",\n      \"do_spaces_secret\": \"Do Spaces Secret\",\n      \"do_spaces_region\": \"Do Spaces Region\",\n      \"do_spaces_bucket\": \"Do Spaces Bucket\",\n      \"do_spaces_endpoint\": \"Do Spaces Endpoint\",\n      \"do_spaces_root\": \"Do Spaces Root\",\n      \"dropbox_type\": \"Dropbox Type\",\n      \"dropbox_token\": \"Dropbox Token\",\n      \"dropbox_key\": \"Dropbox Key\",\n      \"dropbox_secret\": \"Dropbox Secret\",\n      \"dropbox_app\": \"Dropbox App\",\n      \"dropbox_root\": \"Dropbox Root\",\n      \"default_driver\": \"Default Driver\",\n      \"is_default\": \"IS DEFAULT\",\n      \"set_default_disk\": \"Set Default Disk\",\n      \"set_default_disk_confirm\": \"This disk will be set as default and all the new PDFs will be saved on this disk\",\n      \"success_set_default_disk\": \"Disk set as default successfully\",\n      \"save_pdf_to_disk\": \"Save PDFs to Disk\",\n      \"disk_setting_description\": \" Enable this, if you wish to save a copy of each Invoice, Estimate & Payment Receipt PDF on your default disk automatically. Turning this option will decrease the load-time when viewing the PDFs.\",\n      \"select_disk\": \"Select Disk\",\n      \"disk_settings\": \"Disk Settings\",\n      \"confirm_delete\": \"Your existing files & folders in the specified disk will not be affected but your disk configuration will be deleted from Crater\",\n      \"action\": \"Action\",\n      \"edit_file_disk\": \"Edit File Disk\",\n      \"success_create\": \"Disk added successfully\",\n      \"success_update\": \"Disk updated successfully\",\n      \"error\": \"Disk addition failed\",\n      \"deleted_message\": \"File Disk deleted successfully\",\n      \"disk_variables_save_successfully\": \"Disk Configured Successfully\",\n      \"disk_variables_save_error\": \"Disk configuration failed.\",\n      \"invalid_disk_credentials\": \"Invalid credential of selected disk\"\n    },\n    \"taxations\": {\n      \"add_billing_address\": \"Enter Billing Address\",\n      \"add_shipping_address\": \"Enter Shipping Address\",\n      \"add_company_address\": \"Enter Company Address\",\n      \"modal_description\": \"The information below is required in order to fetch sales tax.\",\n      \"add_address\": \"Add Address for fetching sales tax.\",\n      \"address_placeholder\": \"Example: 123, My Street\",\n      \"city_placeholder\": \"Example: Los Angeles\",\n      \"state_placeholder\": \"Example: CA\",\n      \"zip_placeholder\": \"Example: 90024\",\n      \"invalid_address\": \"Please provide valid address details.\"\n    }\n  },\n  \"wizard\": {\n    \"account_info\": \"Paskyros informacija\",\n    \"account_info_desc\": \"Below details will be used to create the main Administrator account. Also you can change the details anytime after logging in.\",\n    \"name\": \"Vardas\",\n    \"email\": \"El. paštas\",\n    \"password\": \"Slaptažodis\",\n    \"confirm_password\": \"Patvirtinti slaptažodį\",\n    \"save_cont\": \"Išsaugoti ir tęsti\",\n    \"company_info\": \"Įmonės informacija\",\n    \"company_info_desc\": \"This information will be displayed on invoices. Note that you can edit this later on settings page.\",\n    \"company_name\": \"Imonės pavadinimas\",\n    \"company_logo\": \"Įmonės logotipas\",\n    \"logo_preview\": \"Logo Preview\",\n    \"preferences\": \"Įmonės Nustatymai\",\n    \"preferences_desc\": \"Specify the default preferences for this company.\",\n    \"currency_set_alert\": \"The company's currency cannot be changed later.\",\n    \"country\": \"Country\",\n    \"state\": \"State\",\n    \"city\": \"City\",\n    \"address\": \"Address\",\n    \"street\": \"Street1 | Street2\",\n    \"phone\": \"Phone\",\n    \"zip_code\": \"Zip Code\",\n    \"go_back\": \"Go Back\",\n    \"currency\": \"Currency\",\n    \"language\": \"Language\",\n    \"time_zone\": \"Time Zone\",\n    \"fiscal_year\": \"Financial Year\",\n    \"date_format\": \"Date Format\",\n    \"from_address\": \"Iš adreso\",\n    \"username\": \"Vartotojo vardas\",\n    \"next\": \"Kitas\",\n    \"continue\": \"Tęsti\",\n    \"skip\": \"Praleisti\",\n    \"database\": {\n      \"database\": \"Site URL & Database\",\n      \"connection\": \"Database Connection\",\n      \"host\": \"Database Host\",\n      \"port\": \"Database Port\",\n      \"password\": \"Database Password\",\n      \"app_url\": \"App URL\",\n      \"app_domain\": \"App Domain\",\n      \"username\": \"Database Username\",\n      \"db_name\": \"Duomenų bazės pavadinimas\",\n      \"db_path\": \"Database Path\",\n      \"desc\": \"Create a database on your server and set the credentials using the form below.\"\n    },\n    \"permissions\": {\n      \"permissions\": \"Prieigos teisės\",\n      \"permission_confirm_title\": \"Ar tikrai norite tęsti?\",\n      \"permission_confirm_desc\": \"Folder permission check failed\",\n      \"permission_desc\": \"Below is the list of folder permissions which are required in order for the app to work. If the permission check fails, make sure to update your folder permissions.\"\n    },\n    \"verify_domain\": {\n      \"title\": \"Domain Verification\",\n      \"desc\": \"Crater uses Session based authentication which requires domain verification for security purposes. Please enter the domain on which you will be accessing your web application.\",\n      \"app_domain\": \"App Domain\",\n      \"verify_now\": \"Patvirtinti dabar\",\n      \"success\": \"Domain Verify Successfully.\",\n      \"failed\": \"Domain verification failed. Please enter valid domain name.\",\n      \"verify_and_continue\": \"Verify And Continue\"\n    },\n    \"mail\": {\n      \"host\": \"Mail Host\",\n      \"port\": \"Mail Port\",\n      \"driver\": \"Mail Driver\",\n      \"secret\": \"Secret\",\n      \"mailgun_secret\": \"Mailgun Secret\",\n      \"mailgun_domain\": \"Domain\",\n      \"mailgun_endpoint\": \"Mailgun Endpoint\",\n      \"ses_secret\": \"SES Secret\",\n      \"ses_key\": \"SES Key\",\n      \"password\": \"Mail Password\",\n      \"username\": \"Mail Username\",\n      \"mail_config\": \"Mail Configuration\",\n      \"from_name\": \"From Mail Name\",\n      \"from_mail\": \"From Mail Address\",\n      \"encryption\": \"Mail Encryption\",\n      \"mail_config_desc\": \"Below is the form for Configuring Email driver for sending emails from the app. You can also configure third party providers like Sendgrid, SES etc.\"\n    },\n    \"req\": {\n      \"system_req\": \"System Requirements\",\n      \"php_req_version\": \"Php (version {version} required)\",\n      \"check_req\": \"Check Requirements\",\n      \"system_req_desc\": \"Crater has a few server requirements. Make sure that your server has the required php version and all the extensions mentioned below.\"\n    },\n    \"errors\": {\n      \"migrate_failed\": \"Migrate Failed\",\n      \"database_variables_save_error\": \"Cannot write configuration to .env file. Please check its file permissions\",\n      \"mail_variables_save_error\": \"Email configuration failed.\",\n      \"connection_failed\": \"Database connection failed\",\n      \"database_should_be_empty\": \"Database should be empty\"\n    },\n    \"success\": {\n      \"mail_variables_save_successfully\": \"Email configured successfully\",\n      \"database_variables_save_successfully\": \"Database configured successfully.\"\n    }\n  },\n  \"validation\": {\n    \"invalid_phone\": \"Invalid Phone Number\",\n    \"invalid_url\": \"Invalid url (ex: http://www.craterapp.com)\",\n    \"invalid_domain_url\": \"Invalid url (ex: craterapp.com)\",\n    \"required\": \"Field is required\",\n    \"email_incorrect\": \"Incorrect Email.\",\n    \"email_already_taken\": \"The email has already been taken.\",\n    \"email_does_not_exist\": \"Nėra vartotojo su tokiu el. pašto adresu\",\n    \"item_unit_already_taken\": \"This item unit name has already been taken\",\n    \"payment_mode_already_taken\": \"This payment mode name has already been taken\",\n    \"send_reset_link\": \"Siųsti atstatymo nuorodą\",\n    \"not_yet\": \"Not yet? Send it again\",\n    \"password_min_length\": \"Password must contain {count} characters\",\n    \"name_min_length\": \"Name must have at least {count} letters.\",\n    \"prefix_min_length\": \"Prefix must have at least {count} letters.\",\n    \"enter_valid_tax_rate\": \"Enter valid tax rate\",\n    \"numbers_only\": \"Numbers Only.\",\n    \"characters_only\": \"Characters Only.\",\n    \"password_incorrect\": \"Slaptažodžiai turi sutapti\",\n    \"password_length\": \"Password must be {count} character long.\",\n    \"qty_must_greater_than_zero\": \"Kiekis turi būti didesnis už nulį.\",\n    \"price_greater_than_zero\": \"Kaina turi būti didesnė už nulį.\",\n    \"payment_greater_than_zero\": \"Payment must be greater than zero.\",\n    \"payment_greater_than_due_amount\": \"Entered Payment is more than due amount of this invoice.\",\n    \"quantity_maxlength\": \"Quantity should not be greater than 20 digits.\",\n    \"price_maxlength\": \"Price should not be greater than 20 digits.\",\n    \"price_minvalue\": \"Kaina turi būti didesnė už nulį.\",\n    \"amount_maxlength\": \"Amount should not be greater than 20 digits.\",\n    \"amount_minvalue\": \"Amount should be greater than 0.\",\n    \"discount_maxlength\": \"Discount should not be greater than max discount\",\n    \"description_maxlength\": \"Description should not be greater than 255 characters.\",\n    \"subject_maxlength\": \"Subject should not be greater than 100 characters.\",\n    \"message_maxlength\": \"Message should not be greater than 255 characters.\",\n    \"maximum_options_error\": \"Maximum  of {max} options selected. First remove a selected option to select another.\",\n    \"notes_maxlength\": \"Notes should not be greater than 65,000 characters.\",\n    \"address_maxlength\": \"Address should not be greater than 255 characters.\",\n    \"ref_number_maxlength\": \"Ref Number should not be greater than 255 characters.\",\n    \"prefix_maxlength\": \"Prefix should not be greater than 5 characters.\",\n    \"something_went_wrong\": \"įvyko klaida\",\n    \"number_length_minvalue\": \"Number length should be greater than 0\",\n    \"at_least_one_ability\": \"Please select atleast one Permission.\",\n    \"valid_driver_key\": \"Please enter a valid {driver} key.\",\n    \"valid_exchange_rate\": \"Please enter a valid exchange rate.\",\n    \"company_name_not_same\": \"Company name must match with given name.\"\n  },\n  \"errors\": {\n    \"starter_plan\": \"This feature is available on Starter plan and onwards!\",\n    \"invalid_provider_key\": \"Please Enter Valid Provider API Key.\",\n    \"estimate_number_used\": \"The estimate number has already been taken.\",\n    \"invoice_number_used\": \"The invoice number has already been taken.\",\n    \"payment_attached\": \"This invoice already has a payment attached to it. Make sure to delete the attached payments first in order to go ahead with the removal.\",\n    \"payment_number_used\": \"The payment number has already been taken.\",\n    \"name_already_taken\": \"The name has already been taken.\",\n    \"receipt_does_not_exist\": \"Receipt does not exist.\",\n    \"customer_cannot_be_changed_after_payment_is_added\": \"Customer cannot be change after payment is added\",\n    \"invalid_credentials\": \"Invalid  Credentials.\",\n    \"not_allowed\": \"Neleidžiama\",\n    \"login_invalid_credentials\": \"These credentials do not match our records.\",\n    \"enter_valid_cron_format\": \"Please enter a valid cron format\",\n    \"email_could_not_be_sent\": \"Email could not be sent to this email address.\",\n    \"invalid_address\": \"Please enter a valid address.\",\n    \"invalid_key\": \"Please enter valid key.\",\n    \"invalid_state\": \"Please enter a valid state.\",\n    \"invalid_city\": \"Please enter a valid city.\",\n    \"invalid_postal_code\": \"Please enter a valid zip.\",\n    \"invalid_format\": \"Please enter valid query string format.\",\n    \"api_error\": \"Server not responding.\",\n    \"feature_not_enabled\": \"Feature not enabled.\",\n    \"request_limit_met\": \"Api request limit exceeded.\",\n    \"address_incomplete\": \"Incomplete Address\"\n  },\n  \"pdf_estimate_label\": \"Pasiūlymas\",\n  \"pdf_estimate_number\": \"Pasiūlymo numeris\",\n  \"pdf_estimate_date\": \"Pasiūlymo data\",\n  \"pdf_estimate_expire_date\": \"Galiojimo laikas\",\n  \"pdf_invoice_label\": \"Sąskaita\",\n  \"pdf_invoice_number\": \"Invoice Number\",\n  \"pdf_invoice_date\": \"Invoice Date\",\n  \"pdf_invoice_due_date\": \"Due date\",\n  \"pdf_notes\": \"Pastabos\",\n  \"pdf_items_label\": \"Items\",\n  \"pdf_quantity_label\": \"Kiekis\",\n  \"pdf_price_label\": \"Kaina\",\n  \"pdf_discount_label\": \"Nuolaida\",\n  \"pdf_amount_label\": \"Amount\",\n  \"pdf_subtotal\": \"Subtotal\",\n  \"pdf_total\": \"Iš viso\",\n  \"pdf_payment_label\": \"Mokėjimas\",\n  \"pdf_payment_receipt_label\": \"PAYMENT RECEIPT\",\n  \"pdf_payment_date\": \"Mokėjimo data\",\n  \"pdf_payment_number\": \"Mokėjimo numeris\",\n  \"pdf_payment_mode\": \"Mokėjimo būdas\",\n  \"pdf_payment_amount_received_label\": \"Amount Received\",\n  \"pdf_expense_report_label\": \"EXPENSES REPORT\",\n  \"pdf_total_expenses_label\": \"TOTAL EXPENSE\",\n  \"pdf_profit_loss_label\": \"PROFIT & LOSS REPORT\",\n  \"pdf_sales_customers_label\": \"Sales Customer Report\",\n  \"pdf_sales_items_label\": \"Sales Item Report\",\n  \"pdf_tax_summery_label\": \"Tax Summary Report\",\n  \"pdf_income_label\": \"PAJAMOS\",\n  \"pdf_net_profit_label\": \"NET PROFIT\",\n  \"pdf_customer_sales_report\": \"Sales Report: By Customer\",\n  \"pdf_total_sales_label\": \"VISI PARDAVIMAI\",\n  \"pdf_item_sales_label\": \"Sales Report: By Item\",\n  \"pdf_tax_report_label\": \"TAX REPORT\",\n  \"pdf_total_tax_label\": \"TOTAL TAX\",\n  \"pdf_tax_types_label\": \"Mokesčių tipai\",\n  \"pdf_expenses_label\": \"Išlaidos\",\n  \"pdf_bill_to\": \"Bill to,\",\n  \"pdf_ship_to\": \"Siųsti į,\",\n  \"pdf_received_from\": \"Gauta nuo:\",\n  \"pdf_tax_label\": \"Tax\"\n}\n"
  },
  {
    "path": "resources/scripts/locales/lv.json",
    "content": "{\n  \"navigation\": {\n    \"dashboard\": \"Informācijas panelis\",\n    \"customers\": \"Klienti\",\n    \"items\": \"Preces\",\n    \"invoices\": \"Rēķini\",\n    \"recurring-invoices\": \"Regulārie rēķini\",\n    \"expenses\": \"Izdevumi\",\n    \"estimates\": \"Aprēķini\",\n    \"payments\": \"Maksājumi\",\n    \"reports\": \"Atskaites\",\n    \"settings\": \"Iestatījumi\",\n    \"logout\": \"Iziet\",\n    \"users\": \"Lietotāji\",\n    \"modules\": \"Modules\"\n  },\n  \"general\": {\n    \"add_company\": \"Pievienot uzņēmumu\",\n    \"view_pdf\": \"Apskatīt PDF\",\n    \"copy_pdf_url\": \"Kopēt PDF saiti\",\n    \"download_pdf\": \"Lejupielādēt PDF\",\n    \"save\": \"Saglabāt\",\n    \"create\": \"Izveidot\",\n    \"cancel\": \"Atcelt\",\n    \"update\": \"Atjaunināt\",\n    \"deselect\": \"Atcelt iezīmēšanu\",\n    \"download\": \"Lejupielādēt\",\n    \"from_date\": \"Datums no\",\n    \"to_date\": \"Datums līdz\",\n    \"from\": \"No\",\n    \"to\": \"Kam\",\n    \"ok\": \"Labi\",\n    \"yes\": \"Jā\",\n    \"no\": \"Nē\",\n    \"sort_by\": \"Kārtot pēc\",\n    \"ascending\": \"Augošā secībā\",\n    \"descending\": \"Dilstošā secībā\",\n    \"subject\": \"Temats\",\n    \"body\": \"Saturs\",\n    \"message\": \"Ziņojums\",\n    \"send\": \"Nosūtīt\",\n    \"preview\": \"Priekšskatītījums\",\n    \"go_back\": \"Atpakaļ\",\n    \"back_to_login\": \"Atpakaļ uz autorizāciju?\",\n    \"home\": \"Sākums\",\n    \"filter\": \"Filtrēt\",\n    \"delete\": \"Dzēst\",\n    \"edit\": \"Labot\",\n    \"view\": \"Skatīt\",\n    \"add_new_item\": \"Pievienot jaunu\",\n    \"clear_all\": \"Notīrīt visu\",\n    \"showing\": \"Rāda\",\n    \"of\": \"no\",\n    \"actions\": \"Darbības\",\n    \"subtotal\": \"KOPĀ\",\n    \"discount\": \"ATLAIDE\",\n    \"fixed\": \"Fiksēts\",\n    \"percentage\": \"Procenti\",\n    \"tax\": \"Nodoklis\",\n    \"total_amount\": \"KOPĀ APMAKSAI\",\n    \"bill_to\": \"Saņēmējs\",\n    \"ship_to\": \"Piegādāt uz\",\n    \"due\": \"Līdz\",\n    \"draft\": \"Melnraksts\",\n    \"sent\": \"Nosūtīts\",\n    \"all\": \"Visi\",\n    \"select_all\": \"Iezīmēt visu\",\n    \"select_template\": \"Izvēlēties veidni\",\n    \"choose_file\": \"Spied šeit, lai izvēlētos failu\",\n    \"choose_template\": \"Izvēlaties sagatavi\",\n    \"choose\": \"Izvēlies\",\n    \"remove\": \"Dzēst\",\n    \"select_a_status\": \"Izvēlieties statusu\",\n    \"select_a_tax\": \"Izvēlēties nodokli\",\n    \"search\": \"Meklēt\",\n    \"are_you_sure\": \"Vai esat pārliecināts?\",\n    \"list_is_empty\": \"Saraksts ir tukšs.\",\n    \"no_tax_found\": \"Nodoklis nav atrasts!\",\n    \"four_zero_four\": \"404\",\n    \"you_got_lost\": \"Opā! Esi apmaldījies!\",\n    \"go_home\": \"Uz Sākumu\",\n    \"test_mail_conf\": \"Jūsu e-pasta uzstādījumu tests\",\n    \"send_mail_successfully\": \"Veiksmīgi nosūtīts\",\n    \"setting_updated\": \"Iestatījumi tika veiksmīgi atjaunināti\",\n    \"select_state\": \"Izvēlieties reģionu\",\n    \"select_country\": \"Izvēlēties valsti\",\n    \"select_city\": \"Izvēlieties pilsētu\",\n    \"street_1\": \"Adrese 1\",\n    \"street_2\": \"Adrese 2\",\n    \"action_failed\": \"Darbība neizdevās\",\n    \"retry\": \"Atkārtot\",\n    \"choose_note\": \"Izvēlieties piezīmi\",\n    \"no_note_found\": \"Piezīmes nav atrastas\",\n    \"insert_note\": \"Ievietot piezīmi\",\n    \"copied_pdf_url_clipboard\": \"Saglabāt PDF saiti!\",\n    \"copied_url_clipboard\": \"Copied url to clipboard!\",\n    \"docs\": \"Dokumenti\",\n    \"do_you_wish_to_continue\": \"Vai vēlies turpināt?\",\n    \"note\": \"Piezīme\",\n    \"pay_invoice\": \"Pay Invoice\",\n    \"login_successfully\": \"Logged in successfully!\",\n    \"logged_out_successfully\": \"Logged out successfully\",\n    \"mark_as_default\": \"Mark as default\"\n  },\n  \"dashboard\": {\n    \"select_year\": \"Izvēlieties gadu\",\n    \"cards\": {\n      \"due_amount\": \"Apmaksas summa\",\n      \"customers\": \"Klienti\",\n      \"invoices\": \"Rēķini\",\n      \"estimates\": \"Aprēķini\",\n      \"payments\": \"Payments\"\n    },\n    \"chart_info\": {\n      \"total_sales\": \"Pārdotais\",\n      \"total_receipts\": \"Čeki\",\n      \"total_expense\": \"Izdevumi\",\n      \"net_income\": \"Peļņa\",\n      \"year\": \"Izvēlieties gadu\"\n    },\n    \"monthly_chart\": {\n      \"title\": \"Pārdotais un Izdevumi\"\n    },\n    \"recent_invoices_card\": {\n      \"title\": \"Pienākošie rēķini\",\n      \"due_on\": \"Termiņš\",\n      \"customer\": \"Klients\",\n      \"amount_due\": \"Apmaksas summa\",\n      \"actions\": \"Darbības\",\n      \"view_all\": \"Skatīt visus\"\n    },\n    \"recent_estimate_card\": {\n      \"title\": \"Nesenie aprēķini\",\n      \"date\": \"Datums\",\n      \"customer\": \"Klients\",\n      \"amount_due\": \"Apmaksas summa\",\n      \"actions\": \"Darbības\",\n      \"view_all\": \"Skatīt visus\"\n    }\n  },\n  \"tax_types\": {\n    \"name\": \"Nosaukums\",\n    \"description\": \"Apraksts\",\n    \"percent\": \"Procenti\",\n    \"compound_tax\": \"Saliktie nodokļi\"\n  },\n  \"global_search\": {\n    \"search\": \"Meklēt...\",\n    \"customers\": \"Klienti\",\n    \"users\": \"Lietotāji\",\n    \"no_results_found\": \"Nav atbilstošu rezultātu\"\n  },\n  \"company_switcher\": {\n    \"label\": \"NOMAINĪT UZŅĒMUMU\",\n    \"no_results_found\": \"Nekas netika atrasts\",\n    \"add_new_company\": \"Pievienot jaunu uzņēmumu\",\n    \"new_company\": \"Jauns uzņēmums\",\n    \"created_message\": \"Uzņēmums veiksmīgi pievienots\"\n  },\n  \"dateRange\": {\n    \"today\": \"Šodien\",\n    \"this_week\": \"Šonedēļ\",\n    \"this_month\": \"Šomēnes\",\n    \"this_quarter\": \"Ceturksnī\",\n    \"this_year\": \"Šogad\",\n    \"previous_week\": \"Iepriekšējā nedēļa\",\n    \"previous_month\": \"Iepriekšējā mēnesī\",\n    \"previous_quarter\": \"Iepriekšējā ceturksnī\",\n    \"previous_year\": \"Iepriekšējā gadā\",\n    \"custom\": \"Pielāgots\"\n  },\n  \"customers\": {\n    \"title\": \"Klienti\",\n    \"prefix\": \"Prefikss\",\n    \"add_customer\": \"Pievienot klientu\",\n    \"contacts_list\": \"Klientu saraksts\",\n    \"name\": \"Vārds\",\n    \"mail\": \"Pasts\",\n    \"statement\": \"Paziņojums\",\n    \"display_name\": \"Nosaukums\",\n    \"primary_contact_name\": \"Galvenā kontakta vārds\",\n    \"contact_name\": \"Kontaktpersonas vārds\",\n    \"amount_due\": \"Kopā\",\n    \"email\": \"E-pasts\",\n    \"address\": \"Adrese\",\n    \"phone\": \"Telefona numurs\",\n    \"website\": \"Mājaslapa\",\n    \"overview\": \"Pārskats\",\n    \"invoice_prefix\": \"Rēķina prefikss\",\n    \"estimate_prefix\": \"Aprēķinu prefikss\",\n    \"payment_prefix\": \"Maksājuma prefikss\",\n    \"enable_portal\": \"Aktivizēt portālu\",\n    \"country\": \"Valsts\",\n    \"state\": \"Reģions\",\n    \"city\": \"Pilsēta\",\n    \"zip_code\": \"Pasta indekss\",\n    \"added_on\": \"Pievienots\",\n    \"action\": \"Darbība\",\n    \"password\": \"Parole\",\n    \"confirm_password\": \"Apstipriniet paroli\",\n    \"street_number\": \"Adrese\",\n    \"primary_currency\": \"Primārā valūta\",\n    \"description\": \"Apraksts\",\n    \"add_new_customer\": \"Pievienot jaunu klientu\",\n    \"save_customer\": \"Saglabāt klientu\",\n    \"update_customer\": \"Atjaunināt klientu\",\n    \"customer\": \"Klients | Klienti\",\n    \"new_customer\": \"Jauns klients\",\n    \"edit_customer\": \"Rediģēt klientu\",\n    \"basic_info\": \"Pamatinformācija\",\n    \"portal_access\": \"Portal Access\",\n    \"portal_access_text\": \"Would you like to allow this customer to login to the Customer Portal?\",\n    \"portal_access_url\": \"Customer Portal Login URL\",\n    \"portal_access_url_help\": \"Please copy & forward the above given URL to your customer for providing access.\",\n    \"billing_address\": \"Juridiskā adrese\",\n    \"shipping_address\": \"Piegādes adrese\",\n    \"copy_billing_address\": \"Kopēt no juridiskās adreses\",\n    \"no_customers\": \"Pagaidām nav klientu!\",\n    \"no_customers_found\": \"Klienti netika atrasti!\",\n    \"no_contact\": \"Nav kontaktu\",\n    \"no_contact_name\": \"Nav kontaktvārda\",\n    \"list_of_customers\": \"Šajā sadaļā būs klientu saraksts.\",\n    \"primary_display_name\": \"Klienta nosaukums\",\n    \"select_currency\": \"Izvēlieties valūtu\",\n    \"select_a_customer\": \"Izvēlēties klientu\",\n    \"type_or_click\": \"Rakstīt vai spiest, lai izvēlētos\",\n    \"new_transaction\": \"Jauns darījums\",\n    \"no_matching_customers\": \"Netika atrasts neviens klients!\",\n    \"phone_number\": \"Telefona numurs\",\n    \"create_date\": \"Izveidošanas datums\",\n    \"confirm_delete\": \"Jūs nevarēsit atgūt šo klientu un visus saistītos rēķinus, aprēķinus un maksājumus.\",\n    \"created_message\": \"Klients izveidots veiksmīgi\",\n    \"updated_message\": \"Klients atjaunināts veiksmīgi\",\n    \"address_updated_message\": \"Address Information Updated succesfully\",\n    \"deleted_message\": \"Klients veiksmīgi izdzēsts\",\n    \"edit_currency_not_allowed\": \"Nevar izmainīt valūtu, ja maksājums ir veikts.\"\n  },\n  \"items\": {\n    \"title\": \"Preces\",\n    \"items_list\": \"Preču saraksts\",\n    \"name\": \"Nosaukums\",\n    \"unit\": \"Vienība\",\n    \"description\": \"Apraksts\",\n    \"added_on\": \"Pievienots\",\n    \"price\": \"Cena\",\n    \"date_of_creation\": \"Izveidošanas datums\",\n    \"not_selected\": \"Nekas netika izvēlēts\",\n    \"action\": \"Darbība\",\n    \"add_item\": \"Pievienot\",\n    \"save_item\": \"Saglabāt\",\n    \"update_item\": \"Atjaunināt\",\n    \"item\": \"Prece | Preces\",\n    \"add_new_item\": \"Pievienot jaunu preci\",\n    \"new_item\": \"Jauna prece\",\n    \"edit_item\": \"Rediģēt preci\",\n    \"no_items\": \"Nav preču!\",\n    \"list_of_items\": \"Šajā sadaļā būs preču/pakalpojumu saraksts.\",\n    \"select_a_unit\": \"atlasiet vienību\",\n    \"taxes\": \"Nodokļi\",\n    \"item_attached_message\": \"Nevar dzēst preci, kura tiek izmantota\",\n    \"confirm_delete\": \"Jūs nevarēsiet atgūt šo preci\",\n    \"created_message\": \"Prece izveidota veiksmīgi\",\n    \"updated_message\": \"Prece atjaunināta veiksmīgi\",\n    \"deleted_message\": \"Prece veiksmīgi izdzēsta\"\n  },\n  \"estimates\": {\n    \"title\": \"Aprēķini\",\n    \"accept_estimate\": \"Accept Estimate\",\n    \"reject_estimate\": \"Reject Estimate\",\n    \"estimate\": \"Aprēķins | Aprēķini\",\n    \"estimates_list\": \"Aprēķinu saraksts\",\n    \"days\": \"{days} Dienas\",\n    \"months\": \"{months} Mēnesis\",\n    \"years\": \"{years} Gads\",\n    \"all\": \"Visi\",\n    \"paid\": \"Apmaksāts\",\n    \"unpaid\": \"Neapmaksāts\",\n    \"customer\": \"KLIENTS\",\n    \"ref_no\": \"REF NR.\",\n    \"number\": \"NUMURS\",\n    \"amount_due\": \"Summa apmaksai\",\n    \"partially_paid\": \"Daļēji apmaksāts\",\n    \"total\": \"Kopā\",\n    \"discount\": \"Atlaide\",\n    \"sub_total\": \"Starpsumma\",\n    \"estimate_number\": \"Aprēķina numurs\",\n    \"ref_number\": \"Ref numurs\",\n    \"contact\": \"Kontakti\",\n    \"add_item\": \"Pievienot preci\",\n    \"date\": \"Datums\",\n    \"due_date\": \"Apmaksas termiņš\",\n    \"expiry_date\": \"Termiņa beigu datums\",\n    \"status\": \"Status\",\n    \"add_tax\": \"Pievienot nodokli\",\n    \"amount\": \"Summa\",\n    \"action\": \"Darbība\",\n    \"notes\": \"Piezīmes\",\n    \"tax\": \"Nodoklis\",\n    \"estimate_template\": \"Sagatave\",\n    \"convert_to_invoice\": \"Pārveidot par rēķinu\",\n    \"mark_as_sent\": \"Atzīmēt kā nosūtītu\",\n    \"send_estimate\": \"Nosūtīt aprēķinu\",\n    \"resend_estimate\": \"Atkārtoti nosūtīt aprēķinu\",\n    \"record_payment\": \"Izveidot maksājumu\",\n    \"add_estimate\": \"Pievienot aprēķinu\",\n    \"save_estimate\": \"Saglabāt aprēķinu\",\n    \"confirm_conversion\": \"Šis aprēķins tiks izmantots, lai izveidotu jaunu rēķinu.\",\n    \"conversion_message\": \"Rēķins izveidots veiksmīgi\",\n    \"confirm_send_estimate\": \"Šis aprēķins tiks nosūtīts klientam e-pastā\",\n    \"confirm_mark_as_sent\": \"Aprēķins tiks atzīmēts kā nosūtīts\",\n    \"confirm_mark_as_accepted\": \"Aprēķins tiks atzīmēts kā apstiprināts\",\n    \"confirm_mark_as_rejected\": \"Aprēķins tiks atzīmēts kā noraidīts\",\n    \"no_matching_estimates\": \"Netika atrasts neviens aprēķins!\",\n    \"mark_as_sent_successfully\": \"Aprēķins atzīmēts kā veiksmīgi nosūtīts\",\n    \"send_estimate_successfully\": \"Aprēķins veiksmīgi nosūtīts\",\n    \"errors\": {\n      \"required\": \"Šis lauks ir obligāts\"\n    },\n    \"accepted\": \"Apstiprināts\",\n    \"rejected\": \"Noraidīts\",\n    \"expired\": \"Expired\",\n    \"sent\": \"Nosūtīts\",\n    \"draft\": \"Melnraksts\",\n    \"viewed\": \"Viewed\",\n    \"declined\": \"Noraidīts\",\n    \"new_estimate\": \"Jauns aprēķins\",\n    \"add_new_estimate\": \"Pievienot jaunu aprēķinu\",\n    \"update_Estimate\": \"Atjaunināt aprēķinu\",\n    \"edit_estimate\": \"Labot aprēķinu\",\n    \"items\": \"preces\",\n    \"Estimate\": \"Aprēķins | Aprēķini\",\n    \"add_new_tax\": \"Pievienot jaunu nodokli\",\n    \"no_estimates\": \"Vēl nav aprēķinu!\",\n    \"list_of_estimates\": \"Šajā sadaļā būs aprēķinu saraksts.\",\n    \"mark_as_rejected\": \"Atzīmēt kā noraidītu\",\n    \"mark_as_accepted\": \"Atzīmēt kā apstiprinātu\",\n    \"marked_as_accepted_message\": \"Aprēķins atzīmēts kā apstiprināts\",\n    \"marked_as_rejected_message\": \"Aprēķins atzīmēts kā noraidīts\",\n    \"confirm_delete\": \"Jūs nevarēsiet atgūt šo aprēķinu | Jūs nevarēsiet atgūt šo aprēķinus\",\n    \"created_message\": \"Aprēķins izveidots veiksmīgi\",\n    \"updated_message\": \"Aprēķins atjaunināts veiksmīgi\",\n    \"deleted_message\": \"Aprēķins veiksmīgi izdzēsts | Aprēķini veiksmīgi izdzēsti\",\n    \"something_went_wrong\": \"kaut kas nogāja greizi\",\n    \"item\": {\n      \"title\": \"Preces nosaukums\",\n      \"description\": \"Apraksts\",\n      \"quantity\": \"Daudzums\",\n      \"price\": \"Cena\",\n      \"discount\": \"Atlaide\",\n      \"total\": \"Kopā\",\n      \"total_discount\": \"Kopējā atlaide\",\n      \"sub_total\": \"Starpsumma\",\n      \"tax\": \"Nodoklis\",\n      \"amount\": \"Summa\",\n      \"select_an_item\": \"Rakstīt vai spiest, lai izvēlētos\",\n      \"type_item_description\": \"Ievadiet preces/pakalpojuma aprakstu (nav obligāti)\"\n    },\n    \"mark_as_default_estimate_template_description\": \"If enabled, the selected template will be automatically selected for new estimates.\"\n  },\n  \"invoices\": {\n    \"title\": \"Rēķini\",\n    \"download\": \"Download\",\n    \"pay_invoice\": \"Pay Invoice\",\n    \"invoices_list\": \"Rēķinu saraksts\",\n    \"invoice_information\": \"Invoice Information\",\n    \"days\": \"{days} Dienas\",\n    \"months\": \"{months} Mēnesis\",\n    \"years\": \"{years} Gads\",\n    \"all\": \"Visi\",\n    \"paid\": \"Apmaksāts\",\n    \"unpaid\": \"Neapmaksāts\",\n    \"viewed\": \"Apskatīts\",\n    \"overdue\": \"Kavēts\",\n    \"completed\": \"Pabeigts\",\n    \"customer\": \"KLIENTS\",\n    \"paid_status\": \"APMAKSAS STATUS\",\n    \"ref_no\": \"REF NR.\",\n    \"number\": \"NUMURS\",\n    \"amount_due\": \"SUMMA APMAKSAI\",\n    \"partially_paid\": \"Daļēji apmaksāts\",\n    \"total\": \"Kopā\",\n    \"discount\": \"Atlaide\",\n    \"sub_total\": \"Starpsumma\",\n    \"invoice\": \"Rēķins | Rēķini\",\n    \"invoice_number\": \"Rēķina numurs\",\n    \"ref_number\": \"Ref numurs\",\n    \"contact\": \"Kontakti\",\n    \"add_item\": \"Pievienot preci\",\n    \"date\": \"Datums\",\n    \"due_date\": \"Apmaksas termiņš\",\n    \"status\": \"Status\",\n    \"add_tax\": \"Pievienot nodokli\",\n    \"amount\": \"Summa\",\n    \"action\": \"Darbība\",\n    \"notes\": \"Piezīmes\",\n    \"view\": \"Skatīt\",\n    \"send_invoice\": \"Nosūtīt rēķinu\",\n    \"resend_invoice\": \"Nosūtīt rēķinu atkārtoti\",\n    \"invoice_template\": \"Rēķina sagatave\",\n    \"conversion_message\": \"Rēķins ir veiksmīgi nokopēts\",\n    \"template\": \"Sagatave\",\n    \"mark_as_sent\": \"Atzīmēt kā nosūtītu\",\n    \"confirm_send_invoice\": \"Šis rēķins tiks nosūtīts klientam e-pastā\",\n    \"invoice_mark_as_sent\": \"Rēķins tiks atzīmēts kā nosūtīts\",\n    \"confirm_mark_as_accepted\": \"Rēķins tiks atzīmēts kā apstiprināts\",\n    \"confirm_mark_as_rejected\": \"Rēķins tiks atzīmēts kā noraidīts\",\n    \"confirm_send\": \"Šis rēķins tiks nosūtīts klientam e-pastā\",\n    \"invoice_date\": \"Rēķina datums\",\n    \"record_payment\": \"Izveidot maksājumu\",\n    \"add_new_invoice\": \"Jauns rēķins\",\n    \"update_expense\": \"Atjaunināt izdevumu\",\n    \"edit_invoice\": \"Rediģēt rēķinu\",\n    \"new_invoice\": \"Jauns rēķins\",\n    \"save_invoice\": \"Saglabāt rēķinu\",\n    \"update_invoice\": \"Atjaunināt rēķinu\",\n    \"add_new_tax\": \"Pievienot jaunu nodokli\",\n    \"no_invoices\": \"Vēl nav rēķinu!\",\n    \"mark_as_rejected\": \"Atzīmēt kā noraidītu\",\n    \"mark_as_accepted\": \"Atzīmēt kā apstiprinātu\",\n    \"list_of_invoices\": \"Šajā sadaļā būs rēķinu saraksts.\",\n    \"select_invoice\": \"Izvēlaties rēķinu\",\n    \"no_matching_invoices\": \"Netika atrasts neviens rēķins!\",\n    \"mark_as_sent_successfully\": \"Rēķins atzīmēts kā veiksmīgi nosūtīts\",\n    \"invoice_sent_successfully\": \"Rēķins ir veiksmīgi nosūtīts\",\n    \"cloned_successfully\": \"Rēķins ir veiksmīgi nokopēts\",\n    \"clone_invoice\": \"Kopēt rēķinu\",\n    \"confirm_clone\": \"Šis rēķins tiks nokopēts kā jauns rēķins\",\n    \"item\": {\n      \"title\": \"Preces nosaukums\",\n      \"description\": \"Apraksts\",\n      \"quantity\": \"Daudzums\",\n      \"price\": \"Cena\",\n      \"discount\": \"Atlaide\",\n      \"total\": \"Kopā\",\n      \"total_discount\": \"Kopējā atlaide\",\n      \"sub_total\": \"Starpsumma\",\n      \"tax\": \"Nodoklis\",\n      \"amount\": \"Summa\",\n      \"select_an_item\": \"Rakstīt vai spiest, lai izvēlētos\",\n      \"type_item_description\": \"Ievadiet preces/pakalpojuma aprakstu (nav obligāti)\"\n    },\n    \"payment_attached_message\": \"Vienam no atzīmētajiem rēķiniem jau ir pievienots maksājums. Pārliecinieties, ka pievienoti maksājumi ir izdzēsti\",\n    \"confirm_delete\": \"Jūs nevarēsiet atgūt šo rēķinu | Jūs nevarēsiet atgūt šos rēķinus\",\n    \"created_message\": \"Rēķins izveidots veiksmīgi\",\n    \"updated_message\": \"Rēķins ir veiksmīgi atjaunināts\",\n    \"deleted_message\": \"Rēķins veiksmīgi izdzēsts | Rēķini veiksmīgi izdzēsti\",\n    \"marked_as_sent_message\": \"Rēķins atzīmēts kā veiksmīgi nosūtīts\",\n    \"something_went_wrong\": \"kaut kas nogāja greizi\",\n    \"invalid_due_amount_message\": \"Rēķina kopējā summa nevar būt mazāka par kopējo apmaksāto summu. Lūdzu atjauniniet rēķinu vai dzēsiet piesaistītos maksājumus, lai turpinātu.\",\n    \"mark_as_default_invoice_template_description\": \"If enabled, the selected template will be automatically selected for new invoices.\"\n  },\n  \"recurring_invoices\": {\n    \"title\": \"Regulārie rēķini\",\n    \"invoices_list\": \"Regulāro rēķinu saraksts\",\n    \"days\": \"{days} Dienas\",\n    \"months\": \"{months} Month\",\n    \"years\": \"{years} Year\",\n    \"all\": \"All\",\n    \"paid\": \"Paid\",\n    \"unpaid\": \"Unpaid\",\n    \"viewed\": \"Viewed\",\n    \"overdue\": \"Overdue\",\n    \"active\": \"Active\",\n    \"completed\": \"Completed\",\n    \"customer\": \"CUSTOMER\",\n    \"paid_status\": \"PAID STATUS\",\n    \"ref_no\": \"REF NO.\",\n    \"number\": \"NUMBER\",\n    \"amount_due\": \"AMOUNT DUE\",\n    \"partially_paid\": \"Partially Paid\",\n    \"total\": \"Total\",\n    \"discount\": \"Discount\",\n    \"sub_total\": \"Sub Total\",\n    \"invoice\": \"Recurring Invoice | Recurring Invoices\",\n    \"invoice_number\": \"Recurring Invoice Number\",\n    \"next_invoice_date\": \"Next Invoice Date\",\n    \"ref_number\": \"Ref Number\",\n    \"contact\": \"Contact\",\n    \"add_item\": \"Add an Item\",\n    \"date\": \"Date\",\n    \"limit_by\": \"Limit by\",\n    \"limit_date\": \"Limit Date\",\n    \"limit_count\": \"Limit Count\",\n    \"count\": \"Count\",\n    \"status\": \"Status\",\n    \"select_a_status\": \"Select a status\",\n    \"working\": \"Working\",\n    \"on_hold\": \"On Hold\",\n    \"complete\": \"Completed\",\n    \"add_tax\": \"Add Tax\",\n    \"amount\": \"Amount\",\n    \"action\": \"Action\",\n    \"notes\": \"Notes\",\n    \"view\": \"View\",\n    \"basic_info\": \"Basic Info\",\n    \"send_invoice\": \"Send Recurring Invoice\",\n    \"auto_send\": \"Auto Send\",\n    \"resend_invoice\": \"Resend Recurring Invoice\",\n    \"invoice_template\": \"Recurring Invoice Template\",\n    \"conversion_message\": \"Recurring Invoice cloned successful\",\n    \"template\": \"Template\",\n    \"mark_as_sent\": \"Mark as sent\",\n    \"confirm_send_invoice\": \"This recurring invoice will be sent via email to the customer\",\n    \"invoice_mark_as_sent\": \"This recurring invoice will be marked as sent\",\n    \"confirm_send\": \"This recurring invoice will be sent via email to the customer\",\n    \"starts_at\": \"Sākuma datums\",\n    \"due_date\": \"Rēķina apmaksas datumu\",\n    \"record_payment\": \"Izveidot maksājumu\",\n    \"add_new_invoice\": \"Pievienot jaunu regulāro rēķinu\",\n    \"update_expense\": \"Update Expense\",\n    \"edit_invoice\": \"Edit Recurring Invoice\",\n    \"new_invoice\": \"New Recurring Invoice\",\n    \"send_automatically\": \"Send Automatically\",\n    \"send_automatically_desc\": \"Enable this, if you would like to send the invoice automatically to the customer when its created.\",\n    \"save_invoice\": \"Save Recurring Invoice\",\n    \"update_invoice\": \"Update Recurring Invoice\",\n    \"add_new_tax\": \"Add New Tax\",\n    \"no_invoices\": \"No Recurring Invoices yet!\",\n    \"mark_as_rejected\": \"Mark as rejected\",\n    \"mark_as_accepted\": \"Mark as accepted\",\n    \"list_of_invoices\": \"This section will contain the list of recurring invoices.\",\n    \"select_invoice\": \"Select Invoice\",\n    \"no_matching_invoices\": \"There are no matching recurring invoices!\",\n    \"mark_as_sent_successfully\": \"Recurring Invoice marked as sent successfully\",\n    \"invoice_sent_successfully\": \"Recurring Invoice sent successfully\",\n    \"cloned_successfully\": \"Recurring Invoice cloned successfully\",\n    \"clone_invoice\": \"Clone Recurring Invoice\",\n    \"confirm_clone\": \"This recurring invoice will be cloned into a new Recurring Invoice\",\n    \"add_customer_email\": \"Please add an email address for this customer to send invoices automatically.\",\n    \"item\": {\n      \"title\": \"Item Title\",\n      \"description\": \"Description\",\n      \"quantity\": \"Quantity\",\n      \"price\": \"Price\",\n      \"discount\": \"Discount\",\n      \"total\": \"Total\",\n      \"total_discount\": \"Total Discount\",\n      \"sub_total\": \"Sub Total\",\n      \"tax\": \"Tax\",\n      \"amount\": \"Amount\",\n      \"select_an_item\": \"Type or click to select an item\",\n      \"type_item_description\": \"Type Item Description (optional)\"\n    },\n    \"frequency\": {\n      \"title\": \"Frequency\",\n      \"select_frequency\": \"Select Frequency\",\n      \"minute\": \"Minute\",\n      \"hour\": \"Hour\",\n      \"day_month\": \"Day of month\",\n      \"month\": \"Month\",\n      \"day_week\": \"Day of week\"\n    },\n    \"confirm_delete\": \"You will not be able to recover this Invoice | You will not be able to recover these Invoices\",\n    \"created_message\": \"Recurring Invoice created successfully\",\n    \"updated_message\": \"Recurring Invoice updated successfully\",\n    \"deleted_message\": \"Recurring Invoice deleted successfully | Recurring Invoices deleted successfully\",\n    \"marked_as_sent_message\": \"Recurring Invoice marked as sent successfully\",\n    \"user_email_does_not_exist\": \"User email does not exist\",\n    \"something_went_wrong\": \"something went wrong\",\n    \"invalid_due_amount_message\": \"Total Recurring Invoice amount cannot be less than total paid amount for this Recurring Invoice. Please update the invoice or delete the associated payments to continue.\"\n  },\n  \"payments\": {\n    \"title\": \"Maksājumi\",\n    \"payments_list\": \"Maksājumu saraksts\",\n    \"record_payment\": \"Izveidot maksājumu\",\n    \"customer\": \"Klients\",\n    \"date\": \"Datums\",\n    \"amount\": \"Summa\",\n    \"action\": \"Darbība\",\n    \"payment_number\": \"Maksājuma numurs\",\n    \"payment_mode\": \"Apmaksas veids\",\n    \"invoice\": \"Rēķins\",\n    \"note\": \"Piezīme\",\n    \"add_payment\": \"Pievienot maksājumu\",\n    \"new_payment\": \"Jauns maksājums\",\n    \"edit_payment\": \"Labot maksājumu\",\n    \"view_payment\": \"Skatīt maksājumu\",\n    \"add_new_payment\": \"Pievienot jaunu maksājumu\",\n    \"send_payment_receipt\": \"Nosūtīt maksājuma izdruku\",\n    \"send_payment\": \"Nosūtīt maksājumu\",\n    \"save_payment\": \"Saglabāt maksājumu\",\n    \"update_payment\": \"Labot maksājumu\",\n    \"payment\": \"Maksājums | Maksājumi\",\n    \"no_payments\": \"Nav pievienotu maksājumu!\",\n    \"not_selected\": \"Not selected\",\n    \"no_invoice\": \"No invoice\",\n    \"no_matching_payments\": \"Netika atrasts neviens maksājums!\",\n    \"list_of_payments\": \"Šajā sadaļā būs maksājumu saraksts.\",\n    \"select_payment_mode\": \"Izvēlēties maksājuma veidu\",\n    \"confirm_mark_as_sent\": \"Aprēķins tiks atzīmēts kā nosūtīts\",\n    \"confirm_send_payment\": \"Šis maksājums tiks nosūtīts klientam e-pastā\",\n    \"send_payment_successfully\": \"Maksājums veiksmīgi nosūtīts\",\n    \"something_went_wrong\": \"kaut kas nogāja greizi\",\n    \"confirm_delete\": \"Jūs nevarēsiet atgūt šo maksājumu | Jūs nevarēsiet atgūt šos maksājumus\",\n    \"created_message\": \"Maksājums veiksmīgi izveidots\",\n    \"updated_message\": \"Maksājums veiksmīgi labots\",\n    \"deleted_message\": \"Maksājums veiksmīgi izdzēsts | Maksājumi veiksmīgi izdzēsti\",\n    \"invalid_amount_message\": \"Maksājuma summa nav pareiza\"\n  },\n  \"expenses\": {\n    \"title\": \"Izdevumi\",\n    \"expenses_list\": \"Izdevumu saraksts\",\n    \"select_a_customer\": \"Izvēlēties klientu\",\n    \"expense_title\": \"Nosaukums\",\n    \"customer\": \"Klients\",\n    \"currency\": \"Currency\",\n    \"contact\": \"Kontakti\",\n    \"category\": \"Kategorija\",\n    \"from_date\": \"Datums no\",\n    \"to_date\": \"Datums līdz\",\n    \"expense_date\": \"Datums\",\n    \"description\": \"Apraksts\",\n    \"receipt\": \"Čeks\",\n    \"amount\": \"Summa\",\n    \"action\": \"Darbība\",\n    \"not_selected\": \"Not selected\",\n    \"note\": \"Piezīme\",\n    \"category_id\": \"Kategorijas Id\",\n    \"date\": \"Datums\",\n    \"add_expense\": \"Pievienot izdevumu\",\n    \"add_new_expense\": \"Pievienot jaunu izdevumu\",\n    \"save_expense\": \"Saglabāt izdevumu\",\n    \"update_expense\": \"Atjaunināt izdevumu\",\n    \"download_receipt\": \"Lejupielādēt čeku\",\n    \"edit_expense\": \"Labot izdevumu\",\n    \"new_expense\": \"Jauns izdevums\",\n    \"expense\": \"Izdevums | Izdevumi\",\n    \"no_expenses\": \"Vēl nav izdevumu!\",\n    \"list_of_expenses\": \"Šajā sadaļā būs izdevumu saraksts.\",\n    \"confirm_delete\": \"Jūs nevarēsiet atgūt šo izdevumu | Jūs nevarēsiet atgūt šos izdevumus\",\n    \"created_message\": \"Izdevums izveidots veiksmīgi\",\n    \"updated_message\": \"Izdevums atjaunināts veiksmīgi\",\n    \"deleted_message\": \"Izdevums veiksmīgi izdzēsts | Izdevumi veiksmīgi izdzēsti\",\n    \"categories\": {\n      \"categories_list\": \"Kategoriju saraksts\",\n      \"title\": \"Nosaukums\",\n      \"name\": \"Vārds\",\n      \"description\": \"Apraksts\",\n      \"amount\": \"Summa\",\n      \"actions\": \"Darbības\",\n      \"add_category\": \"Pievienot kategoriju\",\n      \"new_category\": \"Jauna Kategorija\",\n      \"category\": \"Kategorija | Kategorijas\",\n      \"select_a_category\": \"Izvēlieties kategoriju\"\n    }\n  },\n  \"login\": {\n    \"email\": \"E-pasts\",\n    \"password\": \"Parole\",\n    \"forgot_password\": \"Aizmirsi paroli?\",\n    \"or_signIn_with\": \"vai pierakstīties ar\",\n    \"login\": \"Ielogoties\",\n    \"register\": \"Reģistrēties\",\n    \"reset_password\": \"Atjaunot paroli\",\n    \"password_reset_successfully\": \"Parole atjaunota veiksmīgi\",\n    \"enter_email\": \"Ievadiet e-pastu\",\n    \"enter_password\": \"Ievadiet paroli\",\n    \"retype_password\": \"Atkārtoti ievadiet paroli\"\n  },\n  \"modules\": {\n    \"buy_now\": \"Buy Now\",\n    \"install\": \"Install\",\n    \"price\": \"Price\",\n    \"download_zip_file\": \"Download ZIP file\",\n    \"unzipping_package\": \"Unzipping Package\",\n    \"copying_files\": \"Copying Files\",\n    \"deleting_files\": \"Deleting Unused files\",\n    \"completing_installation\": \"Completing Installation\",\n    \"update_failed\": \"Update Failed\",\n    \"install_success\": \"Module has been installed successfully!\",\n    \"customer_reviews\": \"Reviews\",\n    \"license\": \"License\",\n    \"faq\": \"FAQ\",\n    \"monthly\": \"Monthly\",\n    \"yearly\": \"Yearly\",\n    \"updated\": \"Updated\",\n    \"version\": \"Version\",\n    \"disable\": \"Disable\",\n    \"module_disabled\": \"Module Disabled\",\n    \"enable\": \"Enable\",\n    \"module_enabled\": \"Module Enabled\",\n    \"update_to\": \"Update To\",\n    \"module_updated\": \"Module Updated Successfully!\",\n    \"title\": \"Modules\",\n    \"module\": \"Module | Modules\",\n    \"api_token\": \"API token\",\n    \"invalid_api_token\": \"Invalid API Token.\",\n    \"other_modules\": \"Other Modules\",\n    \"view_all\": \"View All\",\n    \"no_reviews_found\": \"There are no reviews for this module yet!\",\n    \"module_not_purchased\": \"Module Not Purchased\",\n    \"module_not_found\": \"Module Not Found\",\n    \"version_not_supported\": \"This module version doesn't support the current version of Crater\",\n    \"last_updated\": \"Last Updated On\",\n    \"connect_installation\": \"Connect your installation\",\n    \"api_token_description\": \"Login to {url} and connect this installation by entering the API Token. Your purchased modules will show up here after the connection is established.\",\n    \"view_module\": \"View Module\",\n    \"update_available\": \"Update Available\",\n    \"purchased\": \"Purchased\",\n    \"installed\": \"Installed\",\n    \"no_modules_installed\": \"No Modules Installed Yet!\",\n    \"disable_warning\": \"All the settings for this particular will be reverted.\",\n    \"what_you_get\": \"What you get\"\n  },\n  \"users\": {\n    \"title\": \"Lietotāji\",\n    \"users_list\": \"Lietotāju saraksts\",\n    \"name\": \"Vārds\",\n    \"description\": \"Apraksts\",\n    \"added_on\": \"Pievienots\",\n    \"date_of_creation\": \"Izveidošanas datums\",\n    \"action\": \"Darbība\",\n    \"add_user\": \"Pievienot lietotāju\",\n    \"save_user\": \"Saglabāt lietotāju\",\n    \"update_user\": \"Atjaunināt lietotāju\",\n    \"user\": \"Lietotājs | Lietotāji\",\n    \"add_new_user\": \"Pievienot jaunu lietotāju\",\n    \"new_user\": \"Jauns lietotājs\",\n    \"edit_user\": \"Rediģēt lietotāju\",\n    \"no_users\": \"Pagaidām nav lietotāju!\",\n    \"list_of_users\": \"Šajā sadaļā būs lietotāju saraksts.\",\n    \"email\": \"E-pasts\",\n    \"phone\": \"Telefona numurs\",\n    \"password\": \"Parole\",\n    \"user_attached_message\": \"Nevar dzēst preci, kura tiek izmantota\",\n    \"confirm_delete\": \"Jūs nevarēsiet atgūt šo lietotāju | Jūs nevarēsiet atgūt šos lietotājus\",\n    \"created_message\": \"Lietotājs veiksmīgi izveidots\",\n    \"updated_message\": \"Lietotājs veiksmīgi labots\",\n    \"deleted_message\": \"Lietotājs veiksmīgi izdzēsts\",\n    \"select_company_role\": \"Select Role for {company}\",\n    \"companies\": \"Companies\"\n  },\n  \"reports\": {\n    \"title\": \"Atskaite\",\n    \"from_date\": \"Datums no\",\n    \"to_date\": \"Datums līdz\",\n    \"status\": \"Status\",\n    \"paid\": \"Apmaksāts\",\n    \"unpaid\": \"Neapmaksāts\",\n    \"download_pdf\": \"Lejupielādēt PDF\",\n    \"view_pdf\": \"Apskatīt PDF\",\n    \"update_report\": \"Labot atskaiti\",\n    \"report\": \"Atskaite | Atskaites\",\n    \"profit_loss\": {\n      \"profit_loss\": \"Peļņa & Zaudējumi\",\n      \"to_date\": \"Datums līdz\",\n      \"from_date\": \"Datums no\",\n      \"date_range\": \"Izvēlēties datumus\"\n    },\n    \"sales\": {\n      \"sales\": \"Pārdotais\",\n      \"date_range\": \"Izvēlēties datumus\",\n      \"to_date\": \"Datums līdz\",\n      \"from_date\": \"Datums no\",\n      \"report_type\": \"Atskaites veids\"\n    },\n    \"taxes\": {\n      \"taxes\": \"Nodokļi\",\n      \"to_date\": \"Datums līdz\",\n      \"from_date\": \"Datums no\",\n      \"date_range\": \"Izvēlēties datumus\"\n    },\n    \"errors\": {\n      \"required\": \"Šis lauks ir obligāts\"\n    },\n    \"invoices\": {\n      \"invoice\": \"Rēķins\",\n      \"invoice_date\": \"Rēķina datums\",\n      \"due_date\": \"Apmaksas termiņš\",\n      \"amount\": \"Summa\",\n      \"contact_name\": \"Kontaktpersonas vārds\",\n      \"status\": \"Status\"\n    },\n    \"estimates\": {\n      \"estimate\": \"Aprēķins\",\n      \"estimate_date\": \"Aprēķina datums\",\n      \"due_date\": \"Termiņš\",\n      \"estimate_number\": \"Aprēķina numurs\",\n      \"ref_number\": \"Ref numurs\",\n      \"amount\": \"Summa\",\n      \"contact_name\": \"Kontaktpersonas vārds\",\n      \"status\": \"Status\"\n    },\n    \"expenses\": {\n      \"expenses\": \"Izdevumi\",\n      \"category\": \"Kategorija\",\n      \"date\": \"Datums\",\n      \"amount\": \"Summa\",\n      \"to_date\": \"Datums līdz\",\n      \"from_date\": \"Datums no\",\n      \"date_range\": \"Izvēlēties datumus\"\n    }\n  },\n  \"settings\": {\n    \"menu_title\": {\n      \"account_settings\": \"Konta iestatījumi\",\n      \"company_information\": \"Uzņēmuma informācija\",\n      \"customization\": \"Pielāgošana\",\n      \"preferences\": \"Iestatījumi\",\n      \"notifications\": \"Paziņojumi\",\n      \"tax_types\": \"Nodokļu veidi\",\n      \"expense_category\": \"Izdevumu kategorijas\",\n      \"update_app\": \"Atjaunināt App\",\n      \"backup\": \"Rezerves kopija\",\n      \"file_disk\": \"Disks\",\n      \"custom_fields\": \"Pielāgotie lauki\",\n      \"payment_modes\": \"Apmaksas veidi\",\n      \"notes\": \"Piezīmes\",\n      \"exchange_rate\": \"Exchange Rate\",\n      \"address_information\": \"Address Information\"\n    },\n    \"address_information\": {\n      \"section_description\": \"  You can update Your Address information using form below.\"\n    },\n    \"title\": \"Iestatījumi\",\n    \"setting\": \"Iestatījumi | Iestatījumi\",\n    \"general\": \"Vispārīgi\",\n    \"language\": \"Valoda\",\n    \"primary_currency\": \"Primārā valūta\",\n    \"timezone\": \"Laika josla\",\n    \"date_format\": \"Datuma formāts\",\n    \"currencies\": {\n      \"title\": \"Valūtas\",\n      \"currency\": \"Valūta | Valūtas\",\n      \"currencies_list\": \"Valūtu saraksts\",\n      \"select_currency\": \"Izvēleties valūtu\",\n      \"name\": \"Nosaukums\",\n      \"code\": \"Kods\",\n      \"symbol\": \"Simbols\",\n      \"precision\": \"Precizitāte\",\n      \"thousand_separator\": \"Tūkstošu atdalītājs\",\n      \"decimal_separator\": \"Decimāldaļu atdalītājs\",\n      \"position\": \"Pozīcija\",\n      \"position_of_symbol\": \"Pozīcijas simbols\",\n      \"right\": \"Pa labi\",\n      \"left\": \"Pa kreisi\",\n      \"action\": \"Darbība\",\n      \"add_currency\": \"Pievienot valūtu\"\n    },\n    \"mail\": {\n      \"host\": \"E-pasta serveris\",\n      \"port\": \"E-pasta ports\",\n      \"driver\": \"E-pasta draiveris\",\n      \"secret\": \"Secret\",\n      \"mailgun_secret\": \"Mailgun Secret\",\n      \"mailgun_domain\": \"Domēns\",\n      \"mailgun_endpoint\": \"Mailgun Endpoint\",\n      \"ses_secret\": \"SES Secret\",\n      \"ses_key\": \"SES Key\",\n      \"password\": \"E-pasta parole\",\n      \"username\": \"E-pasta lietotājvārds\",\n      \"mail_config\": \"E-pasta konfigurācija\",\n      \"from_name\": \"E-pasts no\",\n      \"from_mail\": \"E-pasta adrese no kuras sūtīt\",\n      \"encryption\": \"E-pasta šifrēšana\",\n      \"mail_config_desc\": \"Zemāk ir e-pasta konfigurēšanas forma. Jūs varat konfigurēt arī trešās puses servisus kā Sendgrid, SES u.c.\"\n    },\n    \"pdf\": {\n      \"title\": \"PDF uzstādījumi\",\n      \"footer_text\": \"Kājenes teksts\",\n      \"pdf_layout\": \"PDF izkārtojums\"\n    },\n    \"company_info\": {\n      \"company_info\": \"Uzņēmuma informācija\",\n      \"company_name\": \"Uzņēmuma nosaukums\",\n      \"company_logo\": \"Uzņēmuma logo\",\n      \"section_description\": \"Informācija par uzņēmumu kura tiks uzrādīta rēķinos, aprēķinos un citos dokumentos kurus veidosiet Crater sistēmā.\",\n      \"phone\": \"Telefona numurs\",\n      \"country\": \"Valsts\",\n      \"state\": \"Reģions\",\n      \"city\": \"Pilsēta\",\n      \"address\": \"Adrese\",\n      \"zip\": \"Pasta indekss\",\n      \"save\": \"Saglabāt\",\n      \"delete\": \"Delete\",\n      \"updated_message\": \"Uzņēmuma informācija veiksmīgi saglabāta\",\n      \"delete_company\": \"Delete Company\",\n      \"delete_company_description\": \"Once you delete your company, you will lose all the data and files associated with it permanently.\",\n      \"are_you_absolutely_sure\": \"Are you absolutely sure?\",\n      \"delete_company_modal_desc\": \"This action cannot be undone. This will permanently delete {company} and all of its associated data.\",\n      \"delete_company_modal_label\": \"Please type {company} to confirm\"\n    },\n    \"custom_fields\": {\n      \"title\": \"Pielāgotie lauki\",\n      \"section_description\": \"Customize your Invoices, Estimates & Payment Receipts with your own fields. Make sure to use the below added fields on the address formats on Customization settings page.\",\n      \"add_custom_field\": \"Add Custom Field\",\n      \"edit_custom_field\": \"Edit Custom Field\",\n      \"field_name\": \"Field Name\",\n      \"label\": \"Label\",\n      \"type\": \"Type\",\n      \"name\": \"Name\",\n      \"slug\": \"Slug\",\n      \"required\": \"Required\",\n      \"placeholder\": \"Placeholder\",\n      \"help_text\": \"Help Text\",\n      \"default_value\": \"Noklusējuma vērtība\",\n      \"prefix\": \"Prefikss\",\n      \"starting_number\": \"Sākuma numurs\",\n      \"model\": \"Modelis\",\n      \"help_text_description\": \"Enter some text to help users understand the purpose of this custom field.\",\n      \"suffix\": \"Suffix\",\n      \"yes\": \"Jā\",\n      \"no\": \"Nē\",\n      \"order\": \"Order\",\n      \"custom_field_confirm_delete\": \"You will not be able to recover this Custom Field\",\n      \"already_in_use\": \"Custom Field is already in use\",\n      \"deleted_message\": \"Custom Field deleted successfully\",\n      \"options\": \"options\",\n      \"add_option\": \"Add Options\",\n      \"add_another_option\": \"Add another option\",\n      \"sort_in_alphabetical_order\": \"Sort in Alphabetical Order\",\n      \"add_options_in_bulk\": \"Add options in bulk\",\n      \"use_predefined_options\": \"Use Predefined Options\",\n      \"select_custom_date\": \"Select Custom Date\",\n      \"select_relative_date\": \"Select Relative Date\",\n      \"ticked_by_default\": \"Ticked by default\",\n      \"updated_message\": \"Custom Field updated successfully\",\n      \"added_message\": \"Custom Field added successfully\",\n      \"press_enter_to_add\": \"Press enter to add new option\",\n      \"model_in_use\": \"Cannot update model for fields which are already in use.\",\n      \"type_in_use\": \"Cannot update type for fields which are already in use.\"\n    },\n    \"customization\": {\n      \"customization\": \"pielāgošana\",\n      \"updated_message\": \"Uzņēmuma informācija veiksmīgi saglabāta\",\n      \"save\": \"Saglabāt\",\n      \"insert_fields\": \"Insert Fields\",\n      \"learn_custom_format\": \"Learn how to use custom format\",\n      \"add_new_component\": \"Add New Component\",\n      \"component\": \"Component\",\n      \"Parameter\": \"Parameter\",\n      \"series\": \"Series\",\n      \"series_description\": \"To set a static prefix/postfix like 'INV' across your company. It supports character length of up to 6 chars.\",\n      \"series_param_label\": \"Series Value\",\n      \"delimiter\": \"Delimiter\",\n      \"delimiter_description\": \"Single character for specifying the boundary between 2 separate components. By default its set to -\",\n      \"delimiter_param_label\": \"Delimiter Value\",\n      \"date_format\": \"Date Format\",\n      \"date_format_description\": \"A local date and time field which accepts a format parameter. The default format: 'Y' renders the current year.\",\n      \"date_format_param_label\": \"Format\",\n      \"sequence\": \"Sequence\",\n      \"sequence_description\": \"Consecutive sequence of numbers across your company. You can specify the length on the given parameter.\",\n      \"sequence_param_label\": \"Sequence Length\",\n      \"customer_series\": \"Customer Series\",\n      \"customer_series_description\": \"To set a different prefix/postfix for each customer.\",\n      \"customer_sequence\": \"Customer Sequence\",\n      \"customer_sequence_description\": \"Consecutive sequence of numbers for each of your customer.\",\n      \"customer_sequence_param_label\": \"Sequence Length\",\n      \"random_sequence\": \"Random Sequence\",\n      \"random_sequence_description\": \"Random alphanumeric string. You can specify the length on the given parameter.\",\n      \"random_sequence_param_label\": \"Sequence Length\",\n      \"invoices\": {\n        \"title\": \"Rēķini\",\n        \"invoice_number_format\": \"Invoice Number Format\",\n        \"invoice_number_format_description\": \"Customize how your invoice number gets generated automatically when you create a new invoice.\",\n        \"preview_invoice_number\": \"Preview Invoice Number\",\n        \"due_date\": \"Due Date\",\n        \"due_date_description\": \"Specify how due date is automatically set when you create an invoice.\",\n        \"due_date_days\": \"Invoice Due after days\",\n        \"set_due_date_automatically\": \"Set Due Date Automatically\",\n        \"set_due_date_automatically_description\": \"Enable this if you wish to set due date automatically when you create a new invoice.\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on invoice creation.\",\n        \"default_invoice_email_body\": \"Default Invoice Email Body\",\n        \"company_address_format\": \"Uzņēmuma adreses formāts\",\n        \"shipping_address_format\": \"Piegādes adreses formāts\",\n        \"billing_address_format\": \"Maksātāja / Uzņēmuma adreses formāts\",\n        \"invoice_email_attachment\": \"Send invoices as attachments\",\n        \"invoice_email_attachment_setting_description\": \"Enable this if you want to send invoices as email attachment. Please note that 'View Invoice' button in emails will not be displayed anymore when enabled.\",\n        \"invoice_settings_updated\": \"Invoice Settings updated successfully\",\n        \"retrospective_edits\": \"Retrospective Edits\",\n        \"allow\": \"Allow\",\n        \"disable_on_invoice_partial_paid\": \"Disable after partial payment is recorded\",\n        \"disable_on_invoice_paid\": \"Disable after full payment is recorded\",\n        \"disable_on_invoice_sent\": \"Disable after invoice is sent\",\n        \"retrospective_edits_description\": \" Based on your country's laws or your preference, you can restrict users from editing finalised invoices.\"\n      },\n      \"estimates\": {\n        \"title\": \"Aprēķini\",\n        \"estimate_number_format\": \"Estimate Number Format\",\n        \"estimate_number_format_description\": \"Customize how your estimate number gets generated automatically when you create a new estimate.\",\n        \"preview_estimate_number\": \"Preview Estimate Number\",\n        \"expiry_date\": \"Expiry Date\",\n        \"expiry_date_description\": \"Specify how expiry date is automatically set when you create an estimate.\",\n        \"expiry_date_days\": \"Estimate Expires after days\",\n        \"set_expiry_date_automatically\": \"Set Expiry Date Automatically\",\n        \"set_expiry_date_automatically_description\": \"Enable this if you wish to set expiry date automatically when you create a new estimate.\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on estimate creation.\",\n        \"default_estimate_email_body\": \"Noklusējamais Aprēķina e-pasta saturs\",\n        \"company_address_format\": \"Uzņēmuma adreses formāts\",\n        \"shipping_address_format\": \"Piegādes adreses formāts\",\n        \"billing_address_format\": \"Maksātāja / Uzņēmuma adreses formāts\",\n        \"estimate_email_attachment\": \"Send estimates as attachments\",\n        \"estimate_email_attachment_setting_description\": \"Enable this if you want to send the estimates as an email attachment. Please note that 'View Estimate' button in emails will not be displayed anymore when enabled.\",\n        \"estimate_settings_updated\": \"Estimate Settings updated successfully\",\n        \"convert_estimate_options\": \"Estimate Convert Action\",\n        \"convert_estimate_description\": \"Specify what happens to the estimate after it gets converted to an invoice.\",\n        \"no_action\": \"No action\",\n        \"delete_estimate\": \"Delete estimate\",\n        \"mark_estimate_as_accepted\": \"Mark estimate as accepted\"\n      },\n      \"payments\": {\n        \"title\": \"Maksājumi\",\n        \"payment_number_format\": \"Payment Number Format\",\n        \"payment_number_format_description\": \"Customize how your payment number gets generated automatically when you create a new payment.\",\n        \"preview_payment_number\": \"Preview Payment Number\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on payment creation.\",\n        \"default_payment_email_body\": \"Noklusējamais Maksājuma e-pasta saturs\",\n        \"company_address_format\": \"Uzņēmuma adreses formāts\",\n        \"from_customer_address_format\": \"No Klienta adreses formāts\",\n        \"payment_email_attachment\": \"Send payments as attachments\",\n        \"payment_email_attachment_setting_description\": \"Enable this if you want to send the payment receipts as an email attachment. Please note that 'View Payment' button in emails will not be displayed anymore when enabled.\",\n        \"payment_settings_updated\": \"Payment Settings updated successfully\"\n      },\n      \"items\": {\n        \"title\": \"Preces\",\n        \"units\": \"Vienības\",\n        \"add_item_unit\": \"Pievienot Preces vienību\",\n        \"edit_item_unit\": \"Labot Preces vienību\",\n        \"unit_name\": \"Vienības nosaukums\",\n        \"item_unit_added\": \"Preces vienība pievienota\",\n        \"item_unit_updated\": \"Preces vienība atjaunota\",\n        \"item_unit_confirm_delete\": \"Jums nebūs iespējas atgūt šo Preces vienību\",\n        \"already_in_use\": \"Preces vienība jau tiek izmantota\",\n        \"deleted_message\": \"Preces vienība veiksmīgi izdzēsta\"\n      },\n      \"notes\": {\n        \"title\": \"Piezīmes\",\n        \"description\": \"Save time by creating notes and reusing them on your invoices, estimates & payments.\",\n        \"notes\": \"Notes\",\n        \"type\": \"Type\",\n        \"add_note\": \"Add Note\",\n        \"add_new_note\": \"Add New Note\",\n        \"name\": \"Name\",\n        \"edit_note\": \"Edit Note\",\n        \"note_added\": \"Note added successfully\",\n        \"note_updated\": \"Note Updated successfully\",\n        \"note_confirm_delete\": \"You will not be able to recover this Note\",\n        \"already_in_use\": \"Note is already in use\",\n        \"deleted_message\": \"Note deleted successfully\"\n      }\n    },\n    \"account_settings\": {\n      \"profile_picture\": \"Profile Picture\",\n      \"name\": \"Name\",\n      \"email\": \"Email\",\n      \"password\": \"Password\",\n      \"confirm_password\": \"Confirm Password\",\n      \"account_settings\": \"Account Settings\",\n      \"save\": \"Save\",\n      \"section_description\": \"You can update your name, email & password using the form below.\",\n      \"updated_message\": \"Account Settings updated successfully\"\n    },\n    \"user_profile\": {\n      \"name\": \"Name\",\n      \"email\": \"Email\",\n      \"password\": \"Password\",\n      \"confirm_password\": \"Confirm Password\"\n    },\n    \"notification\": {\n      \"title\": \"Notifications\",\n      \"email\": \"Send Notifications to\",\n      \"description\": \"Which email notifications would you like to receive when something changes?\",\n      \"invoice_viewed\": \"Invoice viewed\",\n      \"invoice_viewed_desc\": \"When your customer views the invoice sent via crater dashboard.\",\n      \"estimate_viewed\": \"Estimate viewed\",\n      \"estimate_viewed_desc\": \"When your customer views the estimate sent via crater dashboard.\",\n      \"save\": \"Save\",\n      \"email_save_message\": \"Email saved successfully\",\n      \"please_enter_email\": \"Please Enter Email\"\n    },\n    \"roles\": {\n      \"title\": \"Roles\",\n      \"description\": \"Manage the roles & permissions of this company\",\n      \"save\": \"Save\",\n      \"add_new_role\": \"Add New Role\",\n      \"role_name\": \"Role Name\",\n      \"added_on\": \"Added on\",\n      \"add_role\": \"Add Role\",\n      \"edit_role\": \"Edit Role\",\n      \"name\": \"Name\",\n      \"permission\": \"Permission | Permissions\",\n      \"select_all\": \"Select All\",\n      \"none\": \"None\",\n      \"confirm_delete\": \"You will not be able to recover this Role\",\n      \"created_message\": \"Role created successfully\",\n      \"updated_message\": \"Role updated successfully\",\n      \"deleted_message\": \"Role deleted successfully\",\n      \"already_in_use\": \"Role is already in use\"\n    },\n    \"exchange_rate\": {\n      \"exchange_rate\": \"Exchange Rate\",\n      \"title\": \"Fix Currency Exchange issues\",\n      \"description\": \"Please enter exchange rate of all the currencies mentioned below to help Crater properly calculate the amounts in {currency}.\",\n      \"drivers\": \"Drivers\",\n      \"new_driver\": \"Add New Provider\",\n      \"edit_driver\": \"Edit Provider\",\n      \"select_driver\": \"Select Driver\",\n      \"update\": \"select exchange rate \",\n      \"providers_description\": \"Configure your exchange rate providers here to automatically fetch the latest exchange rate on transactions.\",\n      \"key\": \"API Key\",\n      \"name\": \"Name\",\n      \"driver\": \"Driver\",\n      \"is_default\": \"IS DEFAULT\",\n      \"currency\": \"Currencies\",\n      \"exchange_rate_confirm_delete\": \"You will not be able to recover this driver\",\n      \"created_message\": \"Provider Created successfully\",\n      \"updated_message\": \"Provider Updated Successfully\",\n      \"deleted_message\": \"Provider Deleted Successfully\",\n      \"error\": \" You cannot Delete Active Driver\",\n      \"default_currency_error\": \"This currency is already used in one of the Active Provider\",\n      \"exchange_help_text\": \"Enter exchange rate to convert from {currency} to {baseCurrency}\",\n      \"currency_freak\": \"Currency Freak\",\n      \"currency_layer\": \"Currency Layer\",\n      \"open_exchange_rate\": \"Open Exchange Rate\",\n      \"currency_converter\": \"Currency Converter\",\n      \"server\": \"Server\",\n      \"url\": \"URL\",\n      \"active\": \"Active\",\n      \"currency_help_text\": \"This provider will only be used on above selected currencies\",\n      \"currency_in_used\": \"The following currencies are already active on another provider. Please remove these currencies from selection to activate this provider again.\"\n    },\n    \"tax_types\": {\n      \"title\": \"Tax Types\",\n      \"add_tax\": \"Add Tax\",\n      \"edit_tax\": \"Edit Tax\",\n      \"description\": \"You can add or Remove Taxes as you please. Crater supports Taxes on Individual Items as well as on the invoice.\",\n      \"add_new_tax\": \"Add New Tax\",\n      \"tax_settings\": \"Tax Settings\",\n      \"tax_per_item\": \"Tax Per Item\",\n      \"tax_name\": \"Tax Name\",\n      \"compound_tax\": \"Compound Tax\",\n      \"percent\": \"Percent\",\n      \"action\": \"Action\",\n      \"tax_setting_description\": \"Enable this if you want to add taxes to individual invoice items. By default, taxes are added directly to the invoice.\",\n      \"created_message\": \"Tax type created successfully\",\n      \"updated_message\": \"Tax type updated successfully\",\n      \"deleted_message\": \"Tax type deleted successfully\",\n      \"confirm_delete\": \"Jums nebūs iespējas atgūt šo Nodokļa veidu\",\n      \"already_in_use\": \"Nodoklis jau tiek izmantots\"\n    },\n    \"payment_modes\": {\n      \"title\": \"Payment Modes\",\n      \"description\": \"Modes of transaction for payments\",\n      \"add_payment_mode\": \"Add Payment Mode\",\n      \"edit_payment_mode\": \"Edit Payment Mode\",\n      \"mode_name\": \"Mode Name\",\n      \"payment_mode_added\": \"Payment Mode Added\",\n      \"payment_mode_updated\": \"Payment Mode Updated\",\n      \"payment_mode_confirm_delete\": \"You will not be able to recover this Payment Mode\",\n      \"payments_attached\": \"This payment method is already attached to payments. Please delete the attached payments to proceed with deletion.\",\n      \"expenses_attached\": \"This payment method is already attached to expenses. Please delete the attached expenses to proceed with deletion.\",\n      \"deleted_message\": \"Payment Mode deleted successfully\"\n    },\n    \"expense_category\": {\n      \"title\": \"Izdevumu kategorijas\",\n      \"action\": \"Darbība\",\n      \"description\": \"Kategorijas ir obligātas, lai pievienotu Izdevumus.\",\n      \"add_new_category\": \"Pievienot jaunu kategoriju\",\n      \"add_category\": \"Pievienot kategoriju\",\n      \"edit_category\": \"Rediģēt kategoriju\",\n      \"category_name\": \"Kategorijas nosaukums\",\n      \"category_description\": \"Apraksts\",\n      \"created_message\": \"Izdevumu kategorija izveidota veiksmīgi\",\n      \"deleted_message\": \"Izdevumu kategorija veiksmīgi izdzēsta\",\n      \"updated_message\": \"Izdevumu kategorija atjaunināta veiksmīgi\",\n      \"confirm_delete\": \"Jums nebūs iespējas atgūt šo Izdevumu kategoriju\",\n      \"already_in_use\": \"Kategorija jau tiek izmantota\"\n    },\n    \"preferences\": {\n      \"currency\": \"Valūta\",\n      \"default_language\": \"Noklusējuma valoda\",\n      \"time_zone\": \"Laika josla\",\n      \"fiscal_year\": \"Finanšu gads\",\n      \"date_format\": \"Datuma formāts\",\n      \"discount_setting\": \"Atlaižu iestatījumi\",\n      \"discount_per_item\": \"Atlaide par preci/pakalpojumu \",\n      \"discount_setting_description\": \"Iespējot šo, lai piešķirtu atlaides individuālām rēķina precēm. Pēc noklusējuma, atlaide tiek piemērota rēķinam.\",\n      \"expire_public_links\": \"Automatically Expire Public Links\",\n      \"expire_setting_description\": \"Specify whether you would like to expire all the links sent by application to view invoices, estimates & payments, etc after a specified duration.\",\n      \"save\": \"Saglabāt\",\n      \"preference\": \"Iestatījumi | Iestatījumi\",\n      \"general_settings\": \"Noklusējamie iestatījumi sistēmai.\",\n      \"updated_message\": \"Iestatījumi atjaunināti veiksmīgi\",\n      \"select_language\": \"Izvēlieties valodu\",\n      \"select_time_zone\": \"Izvēlaties laika joslu\",\n      \"select_date_format\": \"Izvēlaties datuma formātu\",\n      \"select_financial_year\": \"Izvēlaties finanšu gadu\",\n      \"recurring_invoice_status\": \"Recurring Invoice Status\",\n      \"create_status\": \"Create Status\",\n      \"active\": \"Active\",\n      \"on_hold\": \"On Hold\",\n      \"update_status\": \"Update Status\",\n      \"completed\": \"Completed\",\n      \"company_currency_unchangeable\": \"Company currency cannot be changed\"\n    },\n    \"update_app\": {\n      \"title\": \"Atjaunināt App\",\n      \"description\": \"Jūs varat atjaunināt Crater sistēmas versiju pavisam vienkārši - spiežot uz pogas zemāk\",\n      \"check_update\": \"Meklēt atjauninājumus\",\n      \"avail_update\": \"Pieejami jauni atjauninājumi\",\n      \"next_version\": \"Nākamā versija\",\n      \"requirements\": \"Prasības\",\n      \"update\": \"Atjaunināt tagad\",\n      \"update_progress\": \"Notiek atjaunināšana...\",\n      \"progress_text\": \"Tas prasīs tikai dažas minūtes. Pirms atjaunināšanas beigām, lūdzu, neatsvaidziniet ekrānu un neaizveriet logu\",\n      \"update_success\": \"Sistēma ir atjaunināta! Lūdzu, uzgaidiet, kamēr pārlūkprogrammas logs tiks automātiski ielādēts.\",\n      \"latest_message\": \"Atjauninājumi nav pieejami! Jums ir jaunākā versija.\",\n      \"current_version\": \"Versija\",\n      \"download_zip_file\": \"Lejupielādēt ZIP failu\",\n      \"unzipping_package\": \"Atarhivē Zip failu\",\n      \"copying_files\": \"Notiek failu kopēšana\",\n      \"deleting_files\": \"Deleting Unused files\",\n      \"running_migrations\": \"Notiek migrācijas\",\n      \"finishing_update\": \"Pabeidz atjauninājumu\",\n      \"update_failed\": \"Atjaunināšana neizdevās\",\n      \"update_failed_text\": \"Atvainojiet! Jūsu atjauninājuma laikā notika kļūda: {step}. solī\",\n      \"update_warning\": \"All of the application files and default template files will be overwritten when you update the application using this utility. Please take a backup of your templates & database before updating.\"\n    },\n    \"backup\": {\n      \"title\": \"Backup | Backups\",\n      \"description\": \"The backup is a zipfile that contains all files in the directories you specify along with a dump of your database\",\n      \"new_backup\": \"Add New Backup\",\n      \"create_backup\": \"Create Backup\",\n      \"select_backup_type\": \"Select Backup Type\",\n      \"backup_confirm_delete\": \"You will not be able to recover this Backup\",\n      \"path\": \"path\",\n      \"new_disk\": \"New Disk\",\n      \"created_at\": \"created at\",\n      \"size\": \"size\",\n      \"dropbox\": \"dropbox\",\n      \"local\": \"local\",\n      \"healthy\": \"healthy\",\n      \"amount_of_backups\": \"amount of backups\",\n      \"newest_backups\": \"newest backups\",\n      \"used_storage\": \"used storage\",\n      \"select_disk\": \"Select Disk\",\n      \"action\": \"Action\",\n      \"deleted_message\": \"Backup deleted successfully\",\n      \"created_message\": \"Backup created successfully\",\n      \"invalid_disk_credentials\": \"Invalid credential of selected disk\"\n    },\n    \"disk\": {\n      \"title\": \"File Disk | File Disks\",\n      \"description\": \"By default, Crater will use your local disk for saving backups, avatar and other image files. You can configure more than one disk drivers like DigitalOcean, S3 and Dropbox according to your preference.\",\n      \"created_at\": \"created at\",\n      \"dropbox\": \"dropbox\",\n      \"name\": \"Name\",\n      \"driver\": \"Driver\",\n      \"disk_type\": \"Type\",\n      \"disk_name\": \"Disk Name\",\n      \"new_disk\": \"Add New Disk\",\n      \"filesystem_driver\": \"Filesystem Driver\",\n      \"local_driver\": \"local Driver\",\n      \"local_root\": \"local Root\",\n      \"public_driver\": \"Public Driver\",\n      \"public_root\": \"Public Root\",\n      \"public_url\": \"Public URL\",\n      \"public_visibility\": \"Public Visibility\",\n      \"media_driver\": \"Media Driver\",\n      \"media_root\": \"Media Root\",\n      \"aws_driver\": \"AWS Driver\",\n      \"aws_key\": \"AWS Key\",\n      \"aws_secret\": \"AWS Secret\",\n      \"aws_region\": \"AWS Region\",\n      \"aws_bucket\": \"AWS Bucket\",\n      \"aws_root\": \"AWS Root\",\n      \"do_spaces_type\": \"Do Spaces type\",\n      \"do_spaces_key\": \"Do Spaces key\",\n      \"do_spaces_secret\": \"Do Spaces Secret\",\n      \"do_spaces_region\": \"Do Spaces Region\",\n      \"do_spaces_bucket\": \"Do Spaces Bucket\",\n      \"do_spaces_endpoint\": \"Do Spaces Endpoint\",\n      \"do_spaces_root\": \"Do Spaces Root\",\n      \"dropbox_type\": \"Dropbox Type\",\n      \"dropbox_token\": \"Dropbox Token\",\n      \"dropbox_key\": \"Dropbox Key\",\n      \"dropbox_secret\": \"Dropbox Secret\",\n      \"dropbox_app\": \"Dropbox App\",\n      \"dropbox_root\": \"Dropbox Root\",\n      \"default_driver\": \"Default Driver\",\n      \"is_default\": \"IR NOKLUSĒJAMS\",\n      \"set_default_disk\": \"Iestatiet noklusējuma disku\",\n      \"set_default_disk_confirm\": \"This disk will be set as default and all the new PDFs will be saved on this disk\",\n      \"success_set_default_disk\": \"Disks ir veiksmīgi iestatīts kā noklusējums\",\n      \"save_pdf_to_disk\": \"Saglabāt PDF uz diska\",\n      \"disk_setting_description\": \" Iespējot šo, ja vēlaties lai katru rēķina, aprēķina un maksājuma izdrukas PDF kopiju saglabātu diskā. Šī opcija samazinās ielādēšanas laiku, kad apskatīsiet PDF.\",\n      \"select_disk\": \"Izvēlieties disku\",\n      \"disk_settings\": \"Diska uzstādījumi\",\n      \"confirm_delete\": \"Jūsu esošie faili un mapes norādītajā diskā netiks ietekmēti, bet diska konfigurācija tiks izdzēsta no Crater sistēmas\",\n      \"action\": \"Darbība\",\n      \"edit_file_disk\": \"Labot failu disku\",\n      \"success_create\": \"Disks tika pievienots veiksmīgi\",\n      \"success_update\": \"Disks atjaunināts veiksmīgi\",\n      \"error\": \"Diska pievienošanas kļūda\",\n      \"deleted_message\": \"Failu disks veiksmīgi izdzēsts\",\n      \"disk_variables_save_successfully\": \"Disks konfigurēts veiksmīgi\",\n      \"disk_variables_save_error\": \"Diska konfigurācija neveiksmīga.\",\n      \"invalid_disk_credentials\": \"Nepareizi pieejas dati atzīmētajam diskam\"\n    },\n    \"taxations\": {\n      \"add_billing_address\": \"Enter Billing Address\",\n      \"add_shipping_address\": \"Enter Shipping Address\",\n      \"add_company_address\": \"Enter Company Address\",\n      \"modal_description\": \"The information below is required in order to fetch sales tax.\",\n      \"add_address\": \"Add Address for fetching sales tax.\",\n      \"address_placeholder\": \"Example: 123, My Street\",\n      \"city_placeholder\": \"Example: Los Angeles\",\n      \"state_placeholder\": \"Example: CA\",\n      \"zip_placeholder\": \"Example: 90024\",\n      \"invalid_address\": \"Please provide valid address details.\"\n    }\n  },\n  \"wizard\": {\n    \"account_info\": \"Konta informācija\",\n    \"account_info_desc\": \"Zemāk sniegtā informācija tiks izmantota galvenā administratora konta izveidei. Jūs varēsiet mainīt informāciju jebkurā laikā pēc ielogošanās.\",\n    \"name\": \"Vārds\",\n    \"email\": \"E-pasts\",\n    \"password\": \"Parole\",\n    \"confirm_password\": \"Apstipriniet paroli\",\n    \"save_cont\": \"Saglabāt un turpināt\",\n    \"company_info\": \"Uzņēmuma informācija\",\n    \"company_info_desc\": \"Šī informācija tiks parādīta rēķinos. Ņemiet vērā, ka vēlāk to var rediģēt iestatījumu lapā.\",\n    \"company_name\": \"Uzņēmuma nosaukums\",\n    \"company_logo\": \"Uzņēmuma logo\",\n    \"logo_preview\": \"Logo\",\n    \"preferences\": \"Iestatījumi\",\n    \"preferences_desc\": \"Noklusējamie iestatījumi sistēmai.\",\n    \"currency_set_alert\": \"The company's currency cannot be changed later.\",\n    \"country\": \"Valsts\",\n    \"state\": \"Reģions\",\n    \"city\": \"Pilsēta\",\n    \"address\": \"Adrese\",\n    \"street\": \"Adrese1 | Adrese2\",\n    \"phone\": \"Telefona numurs\",\n    \"zip_code\": \"Pasta indekss\",\n    \"go_back\": \"Atpakaļ\",\n    \"currency\": \"Valūta\",\n    \"language\": \"Valoda\",\n    \"time_zone\": \"Time Zone\",\n    \"fiscal_year\": \"Financial Year\",\n    \"date_format\": \"Date Format\",\n    \"from_address\": \"From Address\",\n    \"username\": \"Username\",\n    \"next\": \"Next\",\n    \"continue\": \"Continue\",\n    \"skip\": \"Skip\",\n    \"database\": {\n      \"database\": \"Site URL & Database\",\n      \"connection\": \"Database Connection\",\n      \"host\": \"Database Host\",\n      \"port\": \"Database Port\",\n      \"password\": \"Database Password\",\n      \"app_url\": \"App URL\",\n      \"app_domain\": \"App Domain\",\n      \"username\": \"Database Username\",\n      \"db_name\": \"Database Name\",\n      \"db_path\": \"Database Path\",\n      \"desc\": \"Create a database on your server and set the credentials using the form below.\"\n    },\n    \"permissions\": {\n      \"permissions\": \"Permissions\",\n      \"permission_confirm_title\": \"Are you sure you want to continue?\",\n      \"permission_confirm_desc\": \"Folder permission check failed\",\n      \"permission_desc\": \"Below is the list of folder permissions which are required in order for the app to work. If the permission check fails, make sure to update your folder permissions.\"\n    },\n    \"verify_domain\": {\n      \"title\": \"Domain Verification\",\n      \"desc\": \"Crater uses Session based authentication which requires domain verification for security purposes. Please enter the domain on which you will be accessing your web application.\",\n      \"app_domain\": \"App Domain\",\n      \"verify_now\": \"Verify Now\",\n      \"success\": \"Domain Verify Successfully.\",\n      \"failed\": \"Domain verification failed. Please enter valid domain name.\",\n      \"verify_and_continue\": \"Verify And Continue\"\n    },\n    \"mail\": {\n      \"host\": \"Mail Host\",\n      \"port\": \"Mail Port\",\n      \"driver\": \"Mail Driver\",\n      \"secret\": \"Secret\",\n      \"mailgun_secret\": \"Mailgun Secret\",\n      \"mailgun_domain\": \"Domain\",\n      \"mailgun_endpoint\": \"Mailgun Endpoint\",\n      \"ses_secret\": \"SES Secret\",\n      \"ses_key\": \"SES Key\",\n      \"password\": \"Mail Password\",\n      \"username\": \"Mail Username\",\n      \"mail_config\": \"Mail Configuration\",\n      \"from_name\": \"From Mail Name\",\n      \"from_mail\": \"From Mail Address\",\n      \"encryption\": \"Mail Encryption\",\n      \"mail_config_desc\": \"Below is the form for Configuring Email driver for sending emails from the app. You can also configure third party providers like Sendgrid, SES etc.\"\n    },\n    \"req\": {\n      \"system_req\": \"System Requirements\",\n      \"php_req_version\": \"Php (version {version} required)\",\n      \"check_req\": \"Pārbaudīt prasības\",\n      \"system_req_desc\": \"Crater sistēmai ir dažas servera prasības. Pārliecinieties, ka jūsu serverim ir vajadzīgā php versija un visi tālāk minētie paplašinājumi.\"\n    },\n    \"errors\": {\n      \"migrate_failed\": \"Migrācija neizdevās\",\n      \"database_variables_save_error\": \"Nevarēja konfigurēt .env failu. Lūdzu pārbaudiet faila pieejas\",\n      \"mail_variables_save_error\": \"E-pasta konfigurācija neveiksmīga.\",\n      \"connection_failed\": \"Datubāzes savienojums neveiksmīgs\",\n      \"database_should_be_empty\": \"Datubāzei jābūt tukšai\"\n    },\n    \"success\": {\n      \"mail_variables_save_successfully\": \"E-pasts konfigurēts veiksmīgi\",\n      \"database_variables_save_successfully\": \"Database configured successfully.\"\n    }\n  },\n  \"validation\": {\n    \"invalid_phone\": \"Invalid Phone Number\",\n    \"invalid_url\": \"Invalid url (ex: http://www.craterapp.com)\",\n    \"invalid_domain_url\": \"Invalid url (ex: craterapp.com)\",\n    \"required\": \"Field is required\",\n    \"email_incorrect\": \"Incorrect Email.\",\n    \"email_already_taken\": \"The email has already been taken.\",\n    \"email_does_not_exist\": \"User with given email doesn't exist\",\n    \"item_unit_already_taken\": \"This item unit name has already been taken\",\n    \"payment_mode_already_taken\": \"This payment mode name has already been taken\",\n    \"send_reset_link\": \"Send Reset Link\",\n    \"not_yet\": \"Not yet? Send it again\",\n    \"password_min_length\": \"Password must contain {count} characters\",\n    \"name_min_length\": \"Name must have at least {count} letters.\",\n    \"prefix_min_length\": \"Prefix must have at least {count} letters.\",\n    \"enter_valid_tax_rate\": \"Enter valid tax rate\",\n    \"numbers_only\": \"Numbers Only.\",\n    \"characters_only\": \"Characters Only.\",\n    \"password_incorrect\": \"Passwords must be identical\",\n    \"password_length\": \"Password must be {count} character long.\",\n    \"qty_must_greater_than_zero\": \"Quantity must be greater than zero.\",\n    \"price_greater_than_zero\": \"Price must be greater than zero.\",\n    \"payment_greater_than_zero\": \"Payment must be greater than zero.\",\n    \"payment_greater_than_due_amount\": \"Entered Payment is more than due amount of this invoice.\",\n    \"quantity_maxlength\": \"Quantity should not be greater than 20 digits.\",\n    \"price_maxlength\": \"Price should not be greater than 20 digits.\",\n    \"price_minvalue\": \"Price should be greater than 0.\",\n    \"amount_maxlength\": \"Amount should not be greater than 20 digits.\",\n    \"amount_minvalue\": \"Amount should be greater than 0.\",\n    \"discount_maxlength\": \"Discount should not be greater than max discount\",\n    \"description_maxlength\": \"Description should not be greater than 255 characters.\",\n    \"subject_maxlength\": \"Subject should not be greater than 100 characters.\",\n    \"message_maxlength\": \"Message should not be greater than 255 characters.\",\n    \"maximum_options_error\": \"Maximum  of {max} options selected. First remove a selected option to select another.\",\n    \"notes_maxlength\": \"Notes should not be greater than 255 characters.\",\n    \"address_maxlength\": \"Address should not be greater than 255 characters.\",\n    \"ref_number_maxlength\": \"Ref Number should not be greater than 255 characters.\",\n    \"prefix_maxlength\": \"Prefix should not be greater than 5 characters.\",\n    \"something_went_wrong\": \"something went wrong\",\n    \"number_length_minvalue\": \"Number length should be greater than 0\",\n    \"at_least_one_ability\": \"Please select atleast one Permission.\",\n    \"valid_driver_key\": \"Please enter a valid {driver} key.\",\n    \"valid_exchange_rate\": \"Please enter a valid exchange rate.\",\n    \"company_name_not_same\": \"Company name must match with given name.\"\n  },\n  \"errors\": {\n    \"starter_plan\": \"This feature is available on Starter plan and onwards!\",\n    \"invalid_provider_key\": \"Please Enter Valid Provider API Key.\",\n    \"estimate_number_used\": \"The estimate number has already been taken.\",\n    \"invoice_number_used\": \"The invoice number has already been taken.\",\n    \"payment_attached\": \"This invoice already has a payment attached to it. Make sure to delete the attached payments first in order to go ahead with the removal.\",\n    \"payment_number_used\": \"The payment number has already been taken.\",\n    \"name_already_taken\": \"The name has already been taken.\",\n    \"receipt_does_not_exist\": \"Receipt does not exist.\",\n    \"customer_cannot_be_changed_after_payment_is_added\": \"Customer cannot be change after payment is added\",\n    \"invalid_credentials\": \"Invalid  Credentials.\",\n    \"not_allowed\": \"Not Allowed\",\n    \"login_invalid_credentials\": \"These credentials do not match our records.\",\n    \"enter_valid_cron_format\": \"Please enter a valid cron format\",\n    \"email_could_not_be_sent\": \"Email could not be sent to this email address.\",\n    \"invalid_address\": \"Please enter a valid address.\",\n    \"invalid_key\": \"Please enter valid key.\",\n    \"invalid_state\": \"Please enter a valid state.\",\n    \"invalid_city\": \"Please enter a valid city.\",\n    \"invalid_postal_code\": \"Please enter a valid zip.\",\n    \"invalid_format\": \"Please enter valid query string format.\",\n    \"api_error\": \"Server not responding.\",\n    \"feature_not_enabled\": \"Feature not enabled.\",\n    \"request_limit_met\": \"Api request limit exceeded.\",\n    \"address_incomplete\": \"Incomplete Address\"\n  },\n  \"pdf_estimate_label\": \"Aprēķins\",\n  \"pdf_estimate_number\": \"Aprēķina numurs\",\n  \"pdf_estimate_date\": \"Aprēķina datums\",\n  \"pdf_estimate_expire_date\": \"Derīgs līdz\",\n  \"pdf_invoice_label\": \"Rēķins\",\n  \"pdf_invoice_number\": \"Rēķina numurs\",\n  \"pdf_invoice_date\": \"Rēķina datums\",\n  \"pdf_invoice_due_date\": \"Apmaksas termiņš\",\n  \"pdf_notes\": \"Notes\",\n  \"pdf_items_label\": \"Nosaukums\",\n  \"pdf_quantity_label\": \"Daudzums\",\n  \"pdf_price_label\": \"Cena\",\n  \"pdf_discount_label\": \"Atlaide\",\n  \"pdf_amount_label\": \"Summa\",\n  \"pdf_subtotal\": \"Starpsumma\",\n  \"pdf_total\": \"Kopā\",\n  \"pdf_payment_label\": \"Payment\",\n  \"pdf_payment_receipt_label\": \"MAKSĀJUMA IZDRUKA\",\n  \"pdf_payment_date\": \"Maksājuma datums\",\n  \"pdf_payment_number\": \"Maksājuma numurs\",\n  \"pdf_payment_mode\": \"Apmaksas veids\",\n  \"pdf_payment_amount_received_label\": \"Saņemtā summa\",\n  \"pdf_expense_report_label\": \"IZDEVUMU ATSKAITE\",\n  \"pdf_total_expenses_label\": \"KOPĀ IZDEVUMI\",\n  \"pdf_profit_loss_label\": \"PEĻŅAS & IZDEVUMU ATSKAITE\",\n  \"pdf_sales_customers_label\": \"Sales Customer Report\",\n  \"pdf_sales_items_label\": \"Sales Item Report\",\n  \"pdf_tax_summery_label\": \"Tax Summary Report\",\n  \"pdf_income_label\": \"IENĀKUMI\",\n  \"pdf_net_profit_label\": \"PEĻŅA\",\n  \"pdf_customer_sales_report\": \"Atskaite par pārdoto: Pēc lietotāja\",\n  \"pdf_total_sales_label\": \"KOPĀ PĀRDOTAIS\",\n  \"pdf_item_sales_label\": \"Atskaite par pārdoto: Pēc preces/pakalpojuma\",\n  \"pdf_tax_report_label\": \"NODOKĻU ATSKAITE\",\n  \"pdf_total_tax_label\": \"NODOKĻI KOPĀ\",\n  \"pdf_tax_types_label\": \"Nodokļu veidi\",\n  \"pdf_expenses_label\": \"Izdevumi\",\n  \"pdf_bill_to\": \"Saņēmējs,\",\n  \"pdf_ship_to\": \"Piegādes adrese,\",\n  \"pdf_received_from\": \"Saņemts no:\",\n  \"pdf_tax_label\": \"Tax\"\n}\n"
  },
  {
    "path": "resources/scripts/locales/nl.json",
    "content": "{\n  \"navigation\": {\n    \"dashboard\": \"Overzicht\",\n    \"customers\": \"Klanten\",\n    \"items\": \"Artikelen\",\n    \"invoices\": \"Facturen\",\n    \"recurring-invoices\": \"Periodieke factuur\",\n    \"expenses\": \"Uitgaven\",\n    \"estimates\": \"Offertes\",\n    \"payments\": \"Betalingen\",\n    \"reports\": \"Rapporten\",\n    \"settings\": \"Instellingen\",\n    \"logout\": \"Uitloggen\",\n    \"users\": \"Gebruikers\",\n    \"modules\": \"Modules\"\n  },\n  \"general\": {\n    \"add_company\": \"Bedrijf toevoegen\",\n    \"view_pdf\": \"Bekijk PDF\",\n    \"copy_pdf_url\": \"Kopieer PDF-URL\",\n    \"download_pdf\": \"Download PDF\",\n    \"save\": \"Opslaan\",\n    \"create\": \"Maak\",\n    \"cancel\": \"Annuleren\",\n    \"update\": \"Bijwerken\",\n    \"deselect\": \"Deselecteren\",\n    \"download\": \"Download\",\n    \"from_date\": \"Vanaf datum\",\n    \"to_date\": \"T/m datum\",\n    \"from\": \"Vanaf\",\n    \"to\": \"Naar.\",\n    \"ok\": \"Oké.\",\n    \"yes\": \"Ja.\",\n    \"no\": \"Nee.\",\n    \"sort_by\": \"Sorteer op\",\n    \"ascending\": \"Oplopend\",\n    \"descending\": \"Aflopend\",\n    \"subject\": \"Onderwerp\",\n    \"body\": \"Inhoud\",\n    \"message\": \"Bericht.\",\n    \"send\": \"Verstuur\",\n    \"preview\": \"Voorbeeld\",\n    \"go_back\": \"Ga terug\",\n    \"back_to_login\": \"Terug naar Inloggen?\",\n    \"home\": \"Home\",\n    \"filter\": \"Filter\",\n    \"delete\": \"Verwijderen\",\n    \"edit\": \"Bewerken\",\n    \"view\": \"Bekijken\",\n    \"add_new_item\": \"Voeg een nieuw item toe\",\n    \"clear_all\": \"Wis alles\",\n    \"showing\": \"Weergegeven\",\n    \"of\": \"van\",\n    \"actions\": \"Acties\",\n    \"subtotal\": \"SUBTOTAAL\",\n    \"discount\": \"KORTING\",\n    \"fixed\": \"Gemaakt\",\n    \"percentage\": \"Percentage\",\n    \"tax\": \"BELASTING\",\n    \"total_amount\": \"TOTAALBEDRAG\",\n    \"bill_to\": \"Factuur aan\",\n    \"ship_to\": \"Verzend naar\",\n    \"due\": \"Openstaand\",\n    \"draft\": \"Concept\",\n    \"sent\": \"Verzonden\",\n    \"all\": \"Alles\",\n    \"select_all\": \"Selecteer alles\",\n    \"select_template\": \"Sjabloon selecteren\",\n    \"choose_file\": \"Klik hier om een bestand te kiezen\",\n    \"choose_template\": \"Kies een sjabloon\",\n    \"choose\": \"Kiezen\",\n    \"remove\": \"Verwijderen\",\n    \"select_a_status\": \"Selecteer een status\",\n    \"select_a_tax\": \"Selecteer een belasting\",\n    \"search\": \"Zoeken\",\n    \"are_you_sure\": \"Weet je het zeker?\",\n    \"list_is_empty\": \"Lijst is leeg.\",\n    \"no_tax_found\": \"Geen belasting gevonden!\",\n    \"four_zero_four\": \"404\",\n    \"you_got_lost\": \"Oeps! Je bent verdwaald!\",\n    \"go_home\": \"Ga naar home\",\n    \"test_mail_conf\": \"E-mailconfiguratie testen\",\n    \"send_mail_successfully\": \"Mail is succesvol verzonden\",\n    \"setting_updated\": \"Instelling succesvol bijgewerkt\",\n    \"select_state\": \"Selecteer staat\",\n    \"select_country\": \"Selecteer land\",\n    \"select_city\": \"Selecteer stad\",\n    \"street_1\": \"straat 1\",\n    \"street_2\": \"Straat # 2\",\n    \"action_failed\": \"Actie: mislukt\",\n    \"retry\": \"Retr\",\n    \"choose_note\": \"Kies notitie\",\n    \"no_note_found\": \"Geen notitie gevonden\",\n    \"insert_note\": \"Notitie invoegen\",\n    \"copied_pdf_url_clipboard\": \"PDF link naar klembord gekopieerd!\",\n    \"copied_url_clipboard\": \"URL naar klembord gekopieerd!\",\n    \"docs\": \"Documenten\",\n    \"do_you_wish_to_continue\": \"Wilt u Doorgaan?\",\n    \"note\": \"Notitie\",\n    \"pay_invoice\": \"Betaal factuur\",\n    \"login_successfully\": \"Succesvol ingelogd!\",\n    \"logged_out_successfully\": \"Succesvol afgemeld\",\n    \"mark_as_default\": \"Markeren als standaard\"\n  },\n  \"dashboard\": {\n    \"select_year\": \"Selecteer jaar\",\n    \"cards\": {\n      \"due_amount\": \"Openstaand bedrag\",\n      \"customers\": \"Klanten\",\n      \"invoices\": \"Facturen\",\n      \"estimates\": \"Offertes\",\n      \"payments\": \"Betalingen\"\n    },\n    \"chart_info\": {\n      \"total_sales\": \"Verkoop\",\n      \"total_receipts\": \"Inkomsten\",\n      \"total_expense\": \"Uitgaven\",\n      \"net_income\": \"Netto inkomen\",\n      \"year\": \"Selecteer jaar\"\n    },\n    \"monthly_chart\": {\n      \"title\": \"Verkoop en kosten\"\n    },\n    \"recent_invoices_card\": {\n      \"title\": \"Openstaande facturen\",\n      \"due_on\": \"Openstaand op\",\n      \"customer\": \"Klant\",\n      \"amount_due\": \"Openstaand bedrag\",\n      \"actions\": \"Acties\",\n      \"view_all\": \"Toon alles\"\n    },\n    \"recent_estimate_card\": {\n      \"title\": \"Recente offertes\",\n      \"date\": \"Datum\",\n      \"customer\": \"Klant\",\n      \"amount_due\": \"Openstaand bedrag\",\n      \"actions\": \"Acties\",\n      \"view_all\": \"Toon alles\"\n    }\n  },\n  \"tax_types\": {\n    \"name\": \"Naam\",\n    \"description\": \"Omschrijving\",\n    \"percent\": \"Procent\",\n    \"compound_tax\": \"Verbinding Ta\"\n  },\n  \"global_search\": {\n    \"search\": \"Zoeken...\",\n    \"customers\": \"Klanten\",\n    \"users\": \"Gebruikers\",\n    \"no_results_found\": \"Geen zoekresultaten\"\n  },\n  \"company_switcher\": {\n    \"label\": \"VERANDER BEDRIJF\",\n    \"no_results_found\": \"Geen resultaten gevonden\",\n    \"add_new_company\": \"Nieuw bedrijf toevoegen\",\n    \"new_company\": \"Nieuw bedrijf\",\n    \"created_message\": \"Bedrijf met succes aangemaakt\"\n  },\n  \"dateRange\": {\n    \"today\": \"Vandaag\",\n    \"this_week\": \"Deze week\",\n    \"this_month\": \"Deze maand\",\n    \"this_quarter\": \"Dit kwartaal\",\n    \"this_year\": \"Dit jaar\",\n    \"previous_week\": \"Vorige week\",\n    \"previous_month\": \"Vorige maand\",\n    \"previous_quarter\": \"Vorig kwartaal\",\n    \"previous_year\": \"Vorig jaar\",\n    \"custom\": \"Aangepast\"\n  },\n  \"customers\": {\n    \"title\": \"Klanten\",\n    \"prefix\": \"Voorvoegsel\",\n    \"add_customer\": \"Klant toevoegen\",\n    \"contacts_list\": \"Klantenlijst\",\n    \"name\": \"Naam\",\n    \"mail\": \"Mail | Mails\",\n    \"statement\": \"Verklaring\",\n    \"display_name\": \"Weergavenaam\",\n    \"primary_contact_name\": \"Naam primaire contactpersoon\",\n    \"contact_name\": \"Contactnaam\",\n    \"amount_due\": \"Openstaand bedrag\",\n    \"email\": \"E-mail\",\n    \"address\": \"Adres\",\n    \"phone\": \"Telefoon\",\n    \"website\": \"Website\",\n    \"overview\": \"Overzicht\",\n    \"invoice_prefix\": \"Factuurvoorvoegsel\",\n    \"estimate_prefix\": \"Schatting voorvoegsel\",\n    \"payment_prefix\": \"Betalingsvoorvoegsel\",\n    \"enable_portal\": \"Activeer Portaal\",\n    \"country\": \"Land\",\n    \"state\": \"Provincie\",\n    \"city\": \"Stad\",\n    \"zip_code\": \"Postcode\",\n    \"added_on\": \"Toegevoegd\",\n    \"action\": \"Actie\",\n    \"password\": \"Wachtwoord\",\n    \"confirm_password\": \"Bevestig wachtwoord\",\n    \"street_number\": \"Huisnummer\",\n    \"primary_currency\": \"Primaire valuta\",\n    \"description\": \"Omschrijving\",\n    \"add_new_customer\": \"Nieuwe klant toevoegen\",\n    \"save_customer\": \"Klant opslaan\",\n    \"update_customer\": \"Klant bijwerken\",\n    \"customer\": \"Klant | Klanten\",\n    \"new_customer\": \"Nieuwe klant\",\n    \"edit_customer\": \"Klant bewerken\",\n    \"basic_info\": \"Basis informatie\",\n    \"portal_access\": \"Portaaltoegang\",\n    \"portal_access_text\": \"Wilt u deze klant toestaan om in te loggen op het Klantenportaal?\",\n    \"portal_access_url\": \"Klantenportaal login URL\",\n    \"portal_access_url_help\": \"Kopieer & stuur de bovenstaande URL door naar uw klant om toegang te geven.\",\n    \"billing_address\": \"factuur adres\",\n    \"shipping_address\": \"Verzendingsadres\",\n    \"copy_billing_address\": \"Kopiëren van facturering\",\n    \"no_customers\": \"Nog geen klanten!\",\n    \"no_customers_found\": \"Geen klanten gevonden!\",\n    \"no_contact\": \"Geen contact\",\n    \"no_contact_name\": \"Geen contactnaam\",\n    \"list_of_customers\": \"Hier vind je jouw klanten terug.\",\n    \"primary_display_name\": \"Primaire weergavenaam\",\n    \"select_currency\": \"Selecteer valuta\",\n    \"select_a_customer\": \"Selecteer een klant\",\n    \"type_or_click\": \"Typ of klik om te selecteren\",\n    \"new_transaction\": \"Nieuwe transactie\",\n    \"no_matching_customers\": \"Er zijn geen overeenkomende klanten!\",\n    \"phone_number\": \"Telefoonnummer\",\n    \"create_date\": \"Aangemaakt op\",\n    \"confirm_delete\": \"Deze klant en alle gerelateerde facturen, offertes en betalingen worden permanent verwijderd. | Deze klanten en alle gerelateerde facturen, offertes en betalingen worden permanent verwijderd.\",\n    \"created_message\": \"Klant succesvol aangemaakt\",\n    \"updated_message\": \"Klant succesvol geüpdatet\",\n    \"address_updated_message\": \"Adresinformatie succesvol bijgewerkt\",\n    \"deleted_message\": \"Klant succesvol verwijderd | Klanten zijn succesvol verwijderd\",\n    \"edit_currency_not_allowed\": \"Kan valuta niet wijzigen zodra de transacties zijn aangemaakt.\"\n  },\n  \"items\": {\n    \"title\": \"Artikelen\",\n    \"items_list\": \"Lijst met items\",\n    \"name\": \"Naam\",\n    \"unit\": \"Eenheid\",\n    \"description\": \"Omschrijving\",\n    \"added_on\": \"Toegevoegd\",\n    \"price\": \"Prijs\",\n    \"date_of_creation\": \"Datum van creatie\",\n    \"not_selected\": \"Geen item geselecteerd\",\n    \"action\": \"Actie\",\n    \"add_item\": \"Voeg item toe\",\n    \"save_item\": \"Item opslaan\",\n    \"update_item\": \"Item bijwerken\",\n    \"item\": \"Artikel | Artikelen\",\n    \"add_new_item\": \"Voeg een nieuw item toe\",\n    \"new_item\": \"Nieuw item\",\n    \"edit_item\": \"Item bewerken\",\n    \"no_items\": \"Nog geen items!\",\n    \"list_of_items\": \"Hier vind je jouw artikelen terug.\",\n    \"select_a_unit\": \"selecteer eenheid\",\n    \"taxes\": \"Belastingen\",\n    \"item_attached_message\": \"Kan een item dat al in gebruik is niet verwijderen\",\n    \"confirm_delete\": \"U kunt dit item | niet herstellen U kunt deze items niet herstellen\",\n    \"created_message\": \"Item succesvol aangemaakt\",\n    \"updated_message\": \"Item succesvol bijgewerkt\",\n    \"deleted_message\": \"Item succesvol verwijderd | Items zijn verwijderd\"\n  },\n  \"estimates\": {\n    \"title\": \"Offertes\",\n    \"accept_estimate\": \"Offerte accepteren\",\n    \"reject_estimate\": \"Offerte afwijzen\",\n    \"estimate\": \"Offerte | Offertes\",\n    \"estimates_list\": \"Lijst met offertes\",\n    \"days\": \"{dagen} dagen\",\n    \"months\": \"{months} Maand\",\n    \"years\": \"{jaar} jaar\",\n    \"all\": \"Allemaal\",\n    \"paid\": \"Betaald\",\n    \"unpaid\": \"Onbetaald\",\n    \"customer\": \"Klant\",\n    \"ref_no\": \"Ref Nr.\",\n    \"number\": \"Aantal\",\n    \"amount_due\": \"Bedrag\",\n    \"partially_paid\": \"Gedeeltelijk betaald\",\n    \"total\": \"Totaal\",\n    \"discount\": \"Korting\",\n    \"sub_total\": \"Subtotaal\",\n    \"estimate_number\": \"Offerte nummer\",\n    \"ref_number\": \"Referentie nummer\",\n    \"contact\": \"Contact\",\n    \"add_item\": \"Voeg een item toe\",\n    \"date\": \"Datum\",\n    \"due_date\": \"Vervaldatum\",\n    \"expiry_date\": \"Vervaldatum\",\n    \"status\": \"Status\",\n    \"add_tax\": \"Belasting toevoegen\",\n    \"amount\": \"Bedrag\",\n    \"action\": \"Actie\",\n    \"notes\": \"Opmerkingen\",\n    \"tax\": \"Belasting\",\n    \"estimate_template\": \"Sjabloon\",\n    \"convert_to_invoice\": \"Converteren naar factuur\",\n    \"mark_as_sent\": \"Markeren als verzonden\",\n    \"send_estimate\": \"Verzend offerte\",\n    \"resend_estimate\": \"Offerte opnieuw verzenden\",\n    \"record_payment\": \"Betaling registreren\",\n    \"add_estimate\": \"Offerte toevoegen\",\n    \"save_estimate\": \"Bewaar offerte\",\n    \"confirm_conversion\": \"Deze offerte wordt gebruikt om een nieuwe factuur te maken.\",\n    \"conversion_message\": \"Factuur gemaakt\",\n    \"confirm_send_estimate\": \"Deze offerte wordt via e-mail naar de klant gestuurd\",\n    \"confirm_mark_as_sent\": \"Deze offerte wordt gemarkeerd als verzonden\",\n    \"confirm_mark_as_accepted\": \"Deze offerte wordt gemarkeerd als Geaccepteerd\",\n    \"confirm_mark_as_rejected\": \"Deze offerte wordt gemarkeerd als Afgewezen\",\n    \"no_matching_estimates\": \"Er zijn geen overeenkomende offertes!\",\n    \"mark_as_sent_successfully\": \"Offerte gemarkeerd als succesvol verzonden\",\n    \"send_estimate_successfully\": \"Offerte succesvol verzonden\",\n    \"errors\": {\n      \"required\": \"Veld is vereist\"\n    },\n    \"accepted\": \"Geaccepteerd\",\n    \"rejected\": \"Afgewezen\",\n    \"expired\": \"Verlopen\",\n    \"sent\": \"Verzonden\",\n    \"draft\": \"Concept\",\n    \"viewed\": \"Bekeken\",\n    \"declined\": \"Geweigerd\",\n    \"new_estimate\": \"Nieuwe offerte\",\n    \"add_new_estimate\": \"Offerte toevoegen\",\n    \"update_Estimate\": \"Offerte bijwerken\",\n    \"edit_estimate\": \"Offerte bewerken\",\n    \"items\": \"artikelen\",\n    \"Estimate\": \"Offerte | Offertes\",\n    \"add_new_tax\": \"Nieuwe belasting toevoegen\",\n    \"no_estimates\": \"Nog geen offertes!\",\n    \"list_of_estimates\": \"Hier vind je jouw offertes terug.\",\n    \"mark_as_rejected\": \"Markeer als afgewezen\",\n    \"mark_as_accepted\": \"Markeer als geaccepteerd\",\n    \"marked_as_accepted_message\": \"Offerte gemarkeerd als geaccepteerd\",\n    \"marked_as_rejected_message\": \"Offerte gemarkeerd als afgewezen\",\n    \"confirm_delete\": \"U kunt deze offerte | niet herstellen U kunt deze offertes niet herstellen\",\n    \"created_message\": \"Offerte is gemaakt\",\n    \"updated_message\": \"Offerte succesvol bijgewerkt\",\n    \"deleted_message\": \"Offerte succesvol verwijderd | Offertes zijn succesvol verwijderd\",\n    \"something_went_wrong\": \"Er is iets fout gegaan\",\n    \"item\": {\n      \"title\": \"Titel van het item\",\n      \"description\": \"Omschrijving\",\n      \"quantity\": \"Aantal stuks\",\n      \"price\": \"Prijs\",\n      \"discount\": \"Korting\",\n      \"total\": \"Totaal\",\n      \"total_discount\": \"Totale korting\",\n      \"sub_total\": \"Subtotaal\",\n      \"tax\": \"Belasting\",\n      \"amount\": \"Bedrag\",\n      \"select_an_item\": \"Typ of klik om een item te selecteren\",\n      \"type_item_description\": \"Type Item Beschrijving (optioneel)\"\n    },\n    \"mark_as_default_estimate_template_description\": \"Indien ingeschakeld, zal het geselecteerde sjabloon automatisch worden gekozen voor nieuwe offertes.\"\n  },\n  \"invoices\": {\n    \"title\": \"Facturen\",\n    \"download\": \"Download\",\n    \"pay_invoice\": \"Betaal factuur\",\n    \"invoices_list\": \"Facturenlijst\",\n    \"invoice_information\": \"Factuurgegevens\",\n    \"days\": \"{dagen} dagen\",\n    \"months\": \"{months} Maand\",\n    \"years\": \"{jaar} jaar\",\n    \"all\": \"Allemaal\",\n    \"paid\": \"Betaald\",\n    \"unpaid\": \"Onbetaald\",\n    \"viewed\": \"Bekeken\",\n    \"overdue\": \"Over tijd\",\n    \"completed\": \"Voltooid\",\n    \"customer\": \"Klant\",\n    \"paid_status\": \"Betaling\",\n    \"ref_no\": \"REF NR.\",\n    \"number\": \"AANTAL\",\n    \"amount_due\": \"BEDRAG\",\n    \"partially_paid\": \"Gedeeltelijk betaald\",\n    \"total\": \"Totaal\",\n    \"discount\": \"Korting\",\n    \"sub_total\": \"Subtotaal\",\n    \"invoice\": \"Factuur | Facturen\",\n    \"invoice_number\": \"Factuurnummer\",\n    \"ref_number\": \"Referentie nummer\",\n    \"contact\": \"Contact\",\n    \"add_item\": \"Voeg een item toe\",\n    \"date\": \"Datum\",\n    \"due_date\": \"Vervaldatum\",\n    \"status\": \"Status\",\n    \"add_tax\": \"Belasting toevoegen\",\n    \"amount\": \"Bedrag\",\n    \"action\": \"Actie\",\n    \"notes\": \"Opmerkingen\",\n    \"view\": \"Bekijken\",\n    \"send_invoice\": \"Factuur verzenden\",\n    \"resend_invoice\": \"Factuur opnieuw verzenden\",\n    \"invoice_template\": \"Factuursjabloon\",\n    \"conversion_message\": \"Factuur succesvol gekloond\",\n    \"template\": \"Sjabloon\",\n    \"mark_as_sent\": \"Markeer als verzonden\",\n    \"confirm_send_invoice\": \"Deze factuur wordt via e-mail naar de klant gestuurd\",\n    \"invoice_mark_as_sent\": \"Deze factuur wordt gemarkeerd als verzonden\",\n    \"confirm_mark_as_accepted\": \"Deze offerte wordt gemarkeerd als Geaccepteerd\",\n    \"confirm_mark_as_rejected\": \"Deze factuur wordt gemarkeerd als Afgewezen\",\n    \"confirm_send\": \"Deze factuur wordt via e-mail naar de klant gestuurd\",\n    \"invoice_date\": \"Factuur datum\",\n    \"record_payment\": \"Betaling registreren\",\n    \"add_new_invoice\": \"Nieuwe factuur toevoegen\",\n    \"update_expense\": \"Onkosten bijwerken\",\n    \"edit_invoice\": \"Factuur bewerken\",\n    \"new_invoice\": \"Nieuwe factuur\",\n    \"save_invoice\": \"Factuur opslaan\",\n    \"update_invoice\": \"Factuur bijwerken\",\n    \"add_new_tax\": \"Nieuwe belasting toevoegen\",\n    \"no_invoices\": \"Nog geen facturen!\",\n    \"mark_as_rejected\": \"Markeer als afgewezen\",\n    \"mark_as_accepted\": \"Markeer als geaccepteerd\",\n    \"list_of_invoices\": \"Hier vind je jouw facturen terug.\",\n    \"select_invoice\": \"Selecteer Factuur\",\n    \"no_matching_invoices\": \"Er zijn geen overeenkomende facturen!\",\n    \"mark_as_sent_successfully\": \"Factuur gemarkeerd als succesvol verzonden\",\n    \"invoice_sent_successfully\": \"Factuur succesvol verzonden\",\n    \"cloned_successfully\": \"Factuur succesvol gekloond\",\n    \"clone_invoice\": \"Factuur klonen\",\n    \"confirm_clone\": \"Deze factuur wordt gekloond in een nieuwe factuur\",\n    \"item\": {\n      \"title\": \"Titel van het item\",\n      \"description\": \"Omschrijving\",\n      \"quantity\": \"Aantal stuks\",\n      \"price\": \"Prijs\",\n      \"discount\": \"Korting\",\n      \"total\": \"Totaal\",\n      \"total_discount\": \"Totale korting\",\n      \"sub_total\": \"Subtotaal\",\n      \"tax\": \"Belasting\",\n      \"amount\": \"Bedrag\",\n      \"select_an_item\": \"Typ of klik om een item te selecteren\",\n      \"type_item_description\": \"Type Item Beschrijving (optioneel)\"\n    },\n    \"payment_attached_message\": \"Aan een van de geselecteerde facturen is al een betaling gekoppeld. Zorg ervoor dat u eerst de bijgevoegde betalingen verwijdert om door te gaan met de verwijdering\",\n    \"confirm_delete\": \"Deze factuur wordt permanent verwijderd | Deze facturen worden permanent verwijderd\",\n    \"created_message\": \"Factuur succesvol aangemaakt\",\n    \"updated_message\": \"Factuur succesvol bijgewerkt\",\n    \"deleted_message\": \"Factuur succesvol verwijderd | Facturen succesvol verwijderd\",\n    \"marked_as_sent_message\": \"Factuur gemarkeerd als succesvol verzonden\",\n    \"something_went_wrong\": \"Er is iets fout gegaan\",\n    \"invalid_due_amount_message\": \"Het totale factuurbedrag mag niet lager zijn dan het totale betaalde bedrag voor deze factuur. Werk de factuur bij of verwijder de bijbehorende betalingen om door te gaan.\",\n    \"mark_as_default_invoice_template_description\": \"Indien ingeschakeld, zal het geselecteerde sjabloon automatisch worden gekozen voor nieuwe offertes.\"\n  },\n  \"recurring_invoices\": {\n    \"title\": \"Periodieke facturen\",\n    \"invoices_list\": \"Periodieke facturen lijst\",\n    \"days\": \"{days} dagen\",\n    \"months\": \"{months} maanden\",\n    \"years\": \"{years} jaar\",\n    \"all\": \"Alles\",\n    \"paid\": \"Betaald\",\n    \"unpaid\": \"Onbetaald\",\n    \"viewed\": \"Bekeken\",\n    \"overdue\": \"Achterstallig\",\n    \"active\": \"Actief\",\n    \"completed\": \"Voltooid\",\n    \"customer\": \"KLANT\",\n    \"paid_status\": \"BETAALD STATUS\",\n    \"ref_no\": \"REF NR.\",\n    \"number\": \"NUMMER\",\n    \"amount_due\": \"Bedrag\",\n    \"partially_paid\": \"Gedeeltelijk betaald\",\n    \"total\": \"Totaal\",\n    \"discount\": \"Korting\",\n    \"sub_total\": \"Subtotaal\",\n    \"invoice\": \"Periodieke factuur / Periodieke facturen\",\n    \"invoice_number\": \"Periodieke facturen\",\n    \"next_invoice_date\": \"Volgende factuurdatum\",\n    \"ref_number\": \"Referentie nummer\",\n    \"contact\": \"Contact\",\n    \"add_item\": \"Item toevoegen\",\n    \"date\": \"Datum\",\n    \"limit_by\": \"Beperken door\",\n    \"limit_date\": \"Uiterste datum\",\n    \"limit_count\": \"Limiet aantal\",\n    \"count\": \"Aantal\",\n    \"status\": \"Status\",\n    \"select_a_status\": \"Selecteer een status\",\n    \"working\": \"Bezig\",\n    \"on_hold\": \"Niet actief\",\n    \"complete\": \"Voltooid\",\n    \"add_tax\": \"Belasting toevoegen\",\n    \"amount\": \"Bedrag\",\n    \"action\": \"Actie\",\n    \"notes\": \"Opmerkingen\",\n    \"view\": \"Bekijken\",\n    \"basic_info\": \"Basis informatie\",\n    \"send_invoice\": \"Verstuur periodieke factuur\",\n    \"auto_send\": \"Automatisch verzenden\",\n    \"resend_invoice\": \"Verstuur periodieke factuur opnieuw\",\n    \"invoice_template\": \"Periodieke factuur sjabloon\",\n    \"conversion_message\": \"Periodieke factuur succesvol gekopieerd\",\n    \"template\": \"Sjabloon\",\n    \"mark_as_sent\": \"Markeer als verzonden\",\n    \"confirm_send_invoice\": \"Deze periodieke factuur wordt via e-mail naar de klant gestuurd\",\n    \"invoice_mark_as_sent\": \"Deze periodieke factuur wordt gemarkeerd als verzonden\",\n    \"confirm_send\": \"Deze terugkerende factuur wordt via e-mail naar de klant gestuurd\",\n    \"starts_at\": \"Startdatum\",\n    \"due_date\": \"Vervaldatum factuur\",\n    \"record_payment\": \"Betaling registreren\",\n    \"add_new_invoice\": \"Nieuwe periodieke factuur toevoegen\",\n    \"update_expense\": \"Onkosten bijwerken\",\n    \"edit_invoice\": \"Periodieke factuur bewerken\",\n    \"new_invoice\": \"Nieuwe periodieke factuur toevoegen\",\n    \"send_automatically\": \"Automatisch verzenden\",\n    \"send_automatically_desc\": \"Schakel dit in als u de factuur automatisch aan de klant wilt sturen wanneer deze is aangemaakt.\",\n    \"save_invoice\": \"Bewaar periodieke factuur\",\n    \"update_invoice\": \"Periodieke factuur bewerken\",\n    \"add_new_tax\": \"Nieuwe btw toevoegen\",\n    \"no_invoices\": \"Nog geen periodieke facturen!\",\n    \"mark_as_rejected\": \"Markeer als afgewezen\",\n    \"mark_as_accepted\": \"Markeer als geaccepteerd\",\n    \"list_of_invoices\": \"Hier vind je de periodieke facturen terug.\",\n    \"select_invoice\": \"Selecteer Factuur\",\n    \"no_matching_invoices\": \"Er zijn geen overeenkomende periodieke facturen!\",\n    \"mark_as_sent_successfully\": \"Periodieke factuur gemarkeerd als succesvol verzonden\",\n    \"invoice_sent_successfully\": \"Periodieke factuur succesvol verzonden\",\n    \"cloned_successfully\": \"Terugkerende factuur succesvol gekopieerd\",\n    \"clone_invoice\": \"Kopieer periodieke factuur\",\n    \"confirm_clone\": \"Deze periodieke factuur wordt gekopieerd naar een nieuwe periodieke factuur\",\n    \"add_customer_email\": \"Voeg een e-mailadres aan deze klant toe, zodat facturen automatisch verzonden kunnen worden.\",\n    \"item\": {\n      \"title\": \"Item titel\",\n      \"description\": \"Beschrijving\",\n      \"quantity\": \"Aantal\",\n      \"price\": \"Prijs\",\n      \"discount\": \"Korting\",\n      \"total\": \"Totaal\",\n      \"total_discount\": \"Totale korting\",\n      \"sub_total\": \"Subtotaal\",\n      \"tax\": \"Btw\",\n      \"amount\": \"Bedrag\",\n      \"select_an_item\": \"Typ of klik om een item te selecteren\",\n      \"type_item_description\": \"Type item beschrijving (optioneel)\"\n    },\n    \"frequency\": {\n      \"title\": \"Frequentie\",\n      \"select_frequency\": \"Frequentie selecteren\",\n      \"minute\": \"Minuut\",\n      \"hour\": \"Uur\",\n      \"day_month\": \"Dag van de maand\",\n      \"month\": \"Maand\",\n      \"day_week\": \"Dag van de week\"\n    },\n    \"confirm_delete\": \"Deze factuur wordt permanent verwijderd | Deze facturen worden permanent verwijderd\",\n    \"created_message\": \"Terugkerende factuur succesvol gecreëerd\",\n    \"updated_message\": \"Terugkerende factuur succesvol bijgewerkt\",\n    \"deleted_message\": \"Periodieke factuur succesvol verwijderd | Periodieke facturen succesvol verwijderd\",\n    \"marked_as_sent_message\": \"Periodieke factuur gemarkeerd als succesvol verzonden\",\n    \"user_email_does_not_exist\": \"E-mailadres van gebruiker bestaat niet\",\n    \"something_went_wrong\": \"er is iets fout gegaan\",\n    \"invalid_due_amount_message\": \"Het totale factuurbedrag mag niet lager zijn dan het totale betaalde bedrag voor deze factuur. Werk de factuur bij of verwijder de bijbehorende betalingen om door te gaan.\"\n  },\n  \"payments\": {\n    \"title\": \"Betalingen\",\n    \"payments_list\": \"Betalingslijst\",\n    \"record_payment\": \"Bestaling registreren\",\n    \"customer\": \"Klant\",\n    \"date\": \"Datum\",\n    \"amount\": \"Bedrag\",\n    \"action\": \"Actie\",\n    \"payment_number\": \"Betalingsnummer\",\n    \"payment_mode\": \"Betaalmethode\",\n    \"invoice\": \"Factuur\",\n    \"note\": \"Notitie\",\n    \"add_payment\": \"Betaling toevoegen\",\n    \"new_payment\": \"Nieuwe betaling\",\n    \"edit_payment\": \"Betaling bewerken\",\n    \"view_payment\": \"Bekijk betaling\",\n    \"add_new_payment\": \"Nieuwe betaling toevoegen\",\n    \"send_payment_receipt\": \"Betaalbewijs verzenden\",\n    \"send_payment\": \"Verstuur betaling\",\n    \"save_payment\": \"Betaling opslaan\",\n    \"update_payment\": \"Betaling bijwerken\",\n    \"payment\": \"Betaling | Betalingen\",\n    \"no_payments\": \"Nog geen betalingen!\",\n    \"not_selected\": \"Niet geselecteerd\",\n    \"no_invoice\": \"Geen factuur\",\n    \"no_matching_payments\": \"Er zijn geen overeenkomende betalingen!\",\n    \"list_of_payments\": \"Hier vind je jouw betalingen terug.\",\n    \"select_payment_mode\": \"Selecteer betalingswijze\",\n    \"confirm_mark_as_sent\": \"Deze offerte wordt gemarkeerd als verzonden\",\n    \"confirm_send_payment\": \"Deze betaling wordt via e-mail naar de klant gestuurd\",\n    \"send_payment_successfully\": \"Betaling succesvol verzonden\",\n    \"something_went_wrong\": \"Er is iets fout gegaan\",\n    \"confirm_delete\": \"Deze betaling wordt permanent verwijderd | Deze betalingen worden permanent verwijderd\",\n    \"created_message\": \"De betaling is succesvol aangemaakt\",\n    \"updated_message\": \"Betaling succesvol bijgewerkt\",\n    \"deleted_message\": \"Betaling succesvol verwijderd | Betalingen zijn verwijderd\",\n    \"invalid_amount_message\": \"Het bedrag van de betaling is ongeldig\"\n  },\n  \"expenses\": {\n    \"title\": \"Uitgaven\",\n    \"expenses_list\": \"Uitgavenlijst\",\n    \"select_a_customer\": \"Selecteer een klant\",\n    \"expense_title\": \"Titel\",\n    \"customer\": \"Klant\",\n    \"currency\": \"Valuta\",\n    \"contact\": \"Contact\",\n    \"category\": \"Categorie\",\n    \"from_date\": \"Van datum\",\n    \"to_date\": \"Tot datum\",\n    \"expense_date\": \"Datum\",\n    \"description\": \"Omschrijving\",\n    \"receipt\": \"Bon\",\n    \"amount\": \"Bedrag\",\n    \"action\": \"Actie\",\n    \"not_selected\": \"Niet geselecteerd\",\n    \"note\": \"Notitie\",\n    \"category_id\": \"Categorie ID\",\n    \"date\": \"Uitgavendatum\",\n    \"add_expense\": \"Kosten toevoegen\",\n    \"add_new_expense\": \"Kosten toevoegen\",\n    \"save_expense\": \"Kosten opslaan\",\n    \"update_expense\": \"Onkosten bijwerken\",\n    \"download_receipt\": \"Ontvangstbewijs downloaden\",\n    \"edit_expense\": \"Uitgaven bewerken\",\n    \"new_expense\": \"Kosten toevoegen\",\n    \"expense\": \"Uitgaven | Uitgaven\",\n    \"no_expenses\": \"Nog geen kosten!\",\n    \"list_of_expenses\": \"Hier vind je jouw uitgaven terug.\",\n    \"confirm_delete\": \"Deze uitgave wordt permanent verwijderd | Deze kosten worden permanent verwijderd\",\n    \"created_message\": \"Kosten succesvol gemaakt\",\n    \"updated_message\": \"Kosten succesvol bijgewerkt\",\n    \"deleted_message\": \"Kosten succesvol verwijderd | Uitgaven zijn verwijderd\",\n    \"categories\": {\n      \"categories_list\": \"Categorieënlijst\",\n      \"title\": \"Titel\",\n      \"name\": \"Naam\",\n      \"description\": \"Omschrijving\",\n      \"amount\": \"Bedrag\",\n      \"actions\": \"Acties\",\n      \"add_category\": \"categorie toevoegen\",\n      \"new_category\": \"Nieuwe categorie\",\n      \"category\": \"Categorie | Categorieën\",\n      \"select_a_category\": \"Selecteer een categorie\"\n    }\n  },\n  \"login\": {\n    \"email\": \"E-mail\",\n    \"password\": \"Wachtwoord\",\n    \"forgot_password\": \"Wachtwoord vergeten?\",\n    \"or_signIn_with\": \"of Log in met\",\n    \"login\": \"Log in\",\n    \"register\": \"Registreren\",\n    \"reset_password\": \"Wachtwoord opnieuw instellen\",\n    \"password_reset_successfully\": \"Wachtwoord opnieuw ingesteld\",\n    \"enter_email\": \"Voer email in\",\n    \"enter_password\": \"Voer wachtwoord in\",\n    \"retype_password\": \"Geef nogmaals het wachtwoord\"\n  },\n  \"modules\": {\n    \"buy_now\": \"Nu kopen\",\n    \"install\": \"Installeer\",\n    \"price\": \"Prijs\",\n    \"download_zip_file\": \"Download ZIP-bestand\",\n    \"unzipping_package\": \"Pakket uitpakken\",\n    \"copying_files\": \"Bestanden kopiëren\",\n    \"deleting_files\": \"Ongebruikte bestanden verwijderen\",\n    \"completing_installation\": \"Installatie voltooien\",\n    \"update_failed\": \"Update mislukt\",\n    \"install_success\": \"Module is succesvol geïnstalleerd!\",\n    \"customer_reviews\": \"Beoordelingen\",\n    \"license\": \"Licentie\",\n    \"faq\": \"Veelgestelde vragen\",\n    \"monthly\": \"Maandelijks\",\n    \"yearly\": \"Jaarlijks\",\n    \"updated\": \"Bijgewerkt\",\n    \"version\": \"Versie\",\n    \"disable\": \"Uitschakelen\",\n    \"module_disabled\": \"Module uitgeschakeld\",\n    \"enable\": \"Inschakelen\",\n    \"module_enabled\": \"Module ingeschakeld\",\n    \"update_to\": \"Update naar\",\n    \"module_updated\": \"Module succesvol bijgewerkt!\",\n    \"title\": \"Modules\",\n    \"module\": \"Module | Modules\",\n    \"api_token\": \"API-token\",\n    \"invalid_api_token\": \"Ongeldig API-token.\",\n    \"other_modules\": \"Andere modules\",\n    \"view_all\": \"Toon alles\",\n    \"no_reviews_found\": \"Er zijn nog geen beoordelingen voor deze module!\",\n    \"module_not_purchased\": \"Module niet gekocht\",\n    \"module_not_found\": \"Module niet gevonden\",\n    \"version_not_supported\": \"This module version doesn't support the current version of Crater\",\n    \"last_updated\": \"Laatst bijgewerkt op\",\n    \"connect_installation\": \"Verbind uw installatie\",\n    \"api_token_description\": \"Log in op {url} en verbind deze installatie door het API Token in te voeren. Uw gekochte modules zullen hier verschijnen nadat de verbinding is gemaakt.\",\n    \"view_module\": \"Bekijk Module\",\n    \"update_available\": \"Update beschikbaar\",\n    \"purchased\": \"Gekocht\",\n    \"installed\": \"Geïnstalleerd\",\n    \"no_modules_installed\": \"Nog geen modules geïnstalleerd!\",\n    \"disable_warning\": \"Alle instellingen voor dit specifiek zullen worden teruggedraaid.\",\n    \"what_you_get\": \"Wat je krijgt\"\n  },\n  \"users\": {\n    \"title\": \"Gebruikers\",\n    \"users_list\": \"Gebruikerslijst\",\n    \"name\": \"Naam\",\n    \"description\": \"Omschrijving\",\n    \"added_on\": \"Toegevoegd\",\n    \"date_of_creation\": \"Datum van creatie\",\n    \"action\": \"Actie\",\n    \"add_user\": \"Gebruiker toevoegen\",\n    \"save_user\": \"Gebruiker opslaan\",\n    \"update_user\": \"Gebruiker bijwerken\",\n    \"user\": \"Gebruiker | Gebruikers\",\n    \"add_new_user\": \"Nieuwe gebruiker toevoegen\",\n    \"new_user\": \"Nieuwe gebruiker\",\n    \"edit_user\": \"Gebruiker bewerken\",\n    \"no_users\": \"Nog geen gebruikers!\",\n    \"list_of_users\": \"Deze sectie zal de lijst met gebruikers bevatten.\",\n    \"email\": \"E-mail\",\n    \"phone\": \"Telefoon\",\n    \"password\": \"Wachtwoord\",\n    \"user_attached_message\": \"Kan een item dat al in gebruik is niet verwijderen\",\n    \"confirm_delete\": \"Je kunt deze gebruiker later niet herstellen | Je kunt deze gebruikers later niet herstellen\",\n    \"created_message\": \"Gebruiker succesvol aangemaakt\",\n    \"updated_message\": \"Gebruiker met succes bijgewerkt\",\n    \"deleted_message\": \"Gebruiker succesvol verwijderd | Gebruikers succesvol verwijderd\",\n    \"select_company_role\": \"Selecteer rol voor {company}\",\n    \"companies\": \"Bedrijven\"\n  },\n  \"reports\": {\n    \"title\": \"Verslag doen van\",\n    \"from_date\": \"Van datum\",\n    \"to_date\": \"Tot datum\",\n    \"status\": \"Status\",\n    \"paid\": \"Betaald\",\n    \"unpaid\": \"Onbetaald\",\n    \"download_pdf\": \"Download PDF\",\n    \"view_pdf\": \"Bekijk PDF\",\n    \"update_report\": \"Rapport bijwerken\",\n    \"report\": \"Verslag | Rapporten\",\n    \"profit_loss\": {\n      \"profit_loss\": \"Verlies\",\n      \"to_date\": \"Tot datum\",\n      \"from_date\": \"Van datum\",\n      \"date_range\": \"Selecteer Datumbereik\"\n    },\n    \"sales\": {\n      \"sales\": \"Verkoop\",\n      \"date_range\": \"Selecteer datumbereik\",\n      \"to_date\": \"Tot datum\",\n      \"from_date\": \"Van datum\",\n      \"report_type\": \"Rapporttype\"\n    },\n    \"taxes\": {\n      \"taxes\": \"Belastingen\",\n      \"to_date\": \"Tot datum\",\n      \"from_date\": \"Van datum\",\n      \"date_range\": \"Selecteer Datumbereik\"\n    },\n    \"errors\": {\n      \"required\": \"Veld is vereist\"\n    },\n    \"invoices\": {\n      \"invoice\": \"Factuur\",\n      \"invoice_date\": \"Factuur datum\",\n      \"due_date\": \"Vervaldatum\",\n      \"amount\": \"Bedrag\",\n      \"contact_name\": \"Contactnaam\",\n      \"status\": \"Status\"\n    },\n    \"estimates\": {\n      \"estimate\": \"Offerte\",\n      \"estimate_date\": \"Offerte Datum\",\n      \"due_date\": \"Vervaldatum\",\n      \"estimate_number\": \"Offerte nummer\",\n      \"ref_number\": \"Referentie nummer\",\n      \"amount\": \"Bedrag\",\n      \"contact_name\": \"Contactnaam\",\n      \"status\": \"Status\"\n    },\n    \"expenses\": {\n      \"expenses\": \"Uitgaven\",\n      \"category\": \"Categorie\",\n      \"date\": \"Datum\",\n      \"amount\": \"Bedrag\",\n      \"to_date\": \"Tot datum\",\n      \"from_date\": \"Van datum\",\n      \"date_range\": \"Selecteer Datumbereik\"\n    }\n  },\n  \"settings\": {\n    \"menu_title\": {\n      \"account_settings\": \"Account instellingen\",\n      \"company_information\": \"Bedrijfsinformatie\",\n      \"customization\": \"Aanpassen\",\n      \"preferences\": \"Voorkeuren\",\n      \"notifications\": \"Kennisgevingen\",\n      \"tax_types\": \"Belastingtypen\",\n      \"expense_category\": \"Onkostencategorieën\",\n      \"update_app\": \"App bijwerken\",\n      \"backup\": \"Back-up\",\n      \"file_disk\": \"Bestandsopslag\",\n      \"custom_fields\": \"Aangepaste velden\",\n      \"payment_modes\": \"Betaalmethodes\",\n      \"notes\": \"Opmerkingen\",\n      \"exchange_rate\": \"Wisselkoers\",\n      \"address_information\": \"Adresgegevens\"\n    },\n    \"address_information\": {\n      \"section_description\": \"  U kunt uw adresgegevens bijwerken via het onderstaande formulier.\"\n    },\n    \"title\": \"Instellingen\",\n    \"setting\": \"Instellingen | Instellingen\",\n    \"general\": \"Algemeen\",\n    \"language\": \"Taal\",\n    \"primary_currency\": \"Primaire valuta\",\n    \"timezone\": \"Tijdzone\",\n    \"date_format\": \"Datumnotatie\",\n    \"currencies\": {\n      \"title\": \"Valuta's\",\n      \"currency\": \"Valuta | Valuta's\",\n      \"currencies_list\": \"Lijst van valuta's\",\n      \"select_currency\": \"selecteer valuta\",\n      \"name\": \"Naam\",\n      \"code\": \"Code\",\n      \"symbol\": \"Symbool\",\n      \"precision\": \"Precisie\",\n      \"thousand_separator\": \"Duizend scheidingsteken\",\n      \"decimal_separator\": \"Decimaalscheidingsteken\",\n      \"position\": \"Positie\",\n      \"position_of_symbol\": \"Positie van symbool\",\n      \"right\": \"Rechtsaf\",\n      \"left\": \"Links\",\n      \"action\": \"Actie\",\n      \"add_currency\": \"Valuta toevoegen\"\n    },\n    \"mail\": {\n      \"host\": \"Mail host\",\n      \"port\": \"E-mail poort\",\n      \"driver\": \"Mail-stuurprogramma\",\n      \"secret\": \"Geheim\",\n      \"mailgun_secret\": \"Mailgun geheim\",\n      \"mailgun_domain\": \"Domein\",\n      \"mailgun_endpoint\": \"Mailgun-eindpunt\",\n      \"ses_secret\": \"SES geheim\",\n      \"ses_key\": \"SES-sleutel\",\n      \"password\": \"Mail wachtwoord\",\n      \"username\": \"Mail gebruikersnaam\",\n      \"mail_config\": \"E-mailconfiguratie\",\n      \"from_name\": \"Van Mail Name\",\n      \"from_mail\": \"Van e-mailadres\",\n      \"encryption\": \"E-mailversleuteling\",\n      \"mail_config_desc\": \"Hieronder vindt u het formulier voor het configureren van het e-mailstuurprogramma voor het verzenden van e-mails vanuit de app. U kunt ook externe providers zoals Sendgrid, SES enz. Configureren.\"\n    },\n    \"pdf\": {\n      \"title\": \"PDF-instelling\",\n      \"footer_text\": \"Voettekst\",\n      \"pdf_layout\": \"PDF indeling\"\n    },\n    \"company_info\": {\n      \"company_info\": \"Bedrijfsinfo\",\n      \"company_name\": \"Bedrijfsnaam\",\n      \"company_logo\": \"Bedrijfslogo\",\n      \"section_description\": \"Informatie over uw bedrijf die wordt weergegeven op facturen, offertes en andere documenten die door Crater zijn gemaakt.\",\n      \"phone\": \"Telefoon\",\n      \"country\": \"Land\",\n      \"state\": \"Provincie\",\n      \"city\": \"Stad\",\n      \"address\": \"Adres\",\n      \"zip\": \"Postcode\",\n      \"save\": \"Opslaan\",\n      \"delete\": \"Verwijderen\",\n      \"updated_message\": \"Bedrijfsinformatie succesvol bijgewerkt\",\n      \"delete_company\": \"Bedrijf verwijderen\",\n      \"delete_company_description\": \"Zodra u uw bedrijf verwijdert, verliest u alle gegevens en bestanden die eraan gekoppeld zijn.\",\n      \"are_you_absolutely_sure\": \"Weet u het zeker?\",\n      \"delete_company_modal_desc\": \"Deze actie kan niet ongedaan worden gemaakt. Dit zal {company} en alle bijbehorende gegevens permanent verwijderen.\",\n      \"delete_company_modal_label\": \"Typ {company} om te bevestigen\"\n    },\n    \"custom_fields\": {\n      \"title\": \"Aangepaste velden\",\n      \"section_description\": \"Uw facturen, offertes & betalingsbewijzen aanpassen met uw eigen velden. Gebruik onderstaande velden op het adres format op de Customization instellings pagina.\",\n      \"add_custom_field\": \"Extra veld toevoegen\",\n      \"edit_custom_field\": \"Veld wijzigen\",\n      \"field_name\": \"Veld naam\",\n      \"label\": \"Label\",\n      \"type\": \"Type\",\n      \"name\": \"Naam\",\n      \"slug\": \"Slug\",\n      \"required\": \"Verplicht\",\n      \"placeholder\": \"Tijdelijke plaatshouder\",\n      \"help_text\": \"Hulp Text\",\n      \"default_value\": \"Standaard waarde\",\n      \"prefix\": \"Voorvoegsel\",\n      \"starting_number\": \"Startnummer\",\n      \"model\": \"Model\",\n      \"help_text_description\": \"Voer tekst in om gebruikers te helpen het doel van dit aangepaste veld te begrijpen.\",\n      \"suffix\": \"Achtervoegsel\",\n      \"yes\": \"Ja\",\n      \"no\": \"Nee\",\n      \"order\": \"Volgorde\",\n      \"custom_field_confirm_delete\": \"U kunt dit veld niet herstellen\",\n      \"already_in_use\": \"Aangepast veld is al in gebruik\",\n      \"deleted_message\": \"Aangepast veld is succesvol verwijderd\",\n      \"options\": \"opties\",\n      \"add_option\": \"Optie toevoegen\",\n      \"add_another_option\": \"Nog een optie toevoegen\",\n      \"sort_in_alphabetical_order\": \"Sorteer op alfabetische volgorde\",\n      \"add_options_in_bulk\": \"Voeg opties toe in bulk\",\n      \"use_predefined_options\": \"Gebruik voorgedefinieerde opties\",\n      \"select_custom_date\": \"Selecteer een aangepaste datum\",\n      \"select_relative_date\": \"Selecteer relatieve datum\",\n      \"ticked_by_default\": \"Standaard aangevinkt\",\n      \"updated_message\": \"Aangepast veld is succesvol aangepast\",\n      \"added_message\": \"Aangepast veld is succesvol toegevoegd\",\n      \"press_enter_to_add\": \"Druk op Enter om een nieuwe optie toe te voegen\",\n      \"model_in_use\": \"Kan model niet bijwerken voor velden die al in gebruik zijn.\",\n      \"type_in_use\": \"Kan type niet bijwerken voor velden die al in gebruik zijn.\"\n    },\n    \"customization\": {\n      \"customization\": \"aanpassen\",\n      \"updated_message\": \"Bedrijfsinformatie succesvol bijgewerkt\",\n      \"save\": \"Opslaan\",\n      \"insert_fields\": \"Velden invoegen\",\n      \"learn_custom_format\": \"Leer hoe je een aangepast formaat kunt gebruiken\",\n      \"add_new_component\": \"Component toevoegen\",\n      \"component\": \"Component\",\n      \"Parameter\": \"Parameter\",\n      \"series\": \"Reeksen\",\n      \"series_description\": \"Om een statische voorvoegsel/postfix zoals 'INV' in uw hele bedrijf in te stellen. Het ondersteunt tekenlengte tot 4 tekens.\",\n      \"series_param_label\": \"Serie Waarde\",\n      \"delimiter\": \"Scheidingsteken\",\n      \"delimiter_description\": \"Enkel teken voor het opgeven van de grens tussen 2 verschillende componenten. Standaard is het ingesteld op -\",\n      \"delimiter_param_label\": \"Scheidingsteken waarde\",\n      \"date_format\": \"Datumformaat\",\n      \"date_format_description\": \"Een lokaal datum- en tijdveld dat een formaatparameter accepteert. Het standaardformaat: 'Y' geeft het huidige jaar weer.\",\n      \"date_format_param_label\": \"Formaat\",\n      \"sequence\": \"Volgnummer\",\n      \"sequence_description\": \"Opeenvolgende nummering voor uw bedrijf. U kunt de lengte opgeven op de aangegeven parameter.\",\n      \"sequence_param_label\": \"Volgnummerlengte\",\n      \"customer_series\": \"Voorvoegsel\",\n      \"customer_series_description\": \"Om een andere voor- of achtervoegsel voor elke klant in te stellen.\",\n      \"customer_sequence\": \"Klantnummer\",\n      \"customer_sequence_description\": \"Een volgnummer voor elk van uw klanten.\",\n      \"customer_sequence_param_label\": \"Klantnummerlengte\",\n      \"random_sequence\": \"Willekeurige reeks\",\n      \"random_sequence_description\": \"Willekeurige alfanumerieke tekenreeks. U kunt de lengte opgeven op de aangegeven parameters.\",\n      \"random_sequence_param_label\": \"Volgnummerlengte\",\n      \"invoices\": {\n        \"title\": \"Facturen\",\n        \"invoice_number_format\": \"Factuurnummer indeling\",\n        \"invoice_number_format_description\": \"Wijzig hoe uw factuurnummer automatisch wordt gegenereerd bij het aanmaken van een nieuwe factuur.\",\n        \"preview_invoice_number\": \"Voorbeeldweergave factuurnummer indeling\",\n        \"due_date\": \"Vervaldatum\",\n        \"due_date_description\": \"Geef aan hoe de vervaldatum automatisch wordt ingesteld wanneer u een factuur aanmaakt.\",\n        \"due_date_days\": \"Factuur verlopen na dagen\",\n        \"set_due_date_automatically\": \"Vervaldatum automatisch vullen\",\n        \"set_due_date_automatically_description\": \"Schakel dit in als u automatisch een vervaldatum wilt instellen wanneer u een nieuwe factuur aanmaakt.\",\n        \"default_formats\": \"Standaard opmaak\",\n        \"default_formats_description\": \"Onderstaand formaat wordt gebruikt om de velden automatisch in te vullen bij het aanmaken van facturen.\",\n        \"default_invoice_email_body\": \"Standaard factuur email text\",\n        \"company_address_format\": \"Bedrijfsadres format\",\n        \"shipping_address_format\": \"Verzendadres format\",\n        \"billing_address_format\": \"Factuuradres format\",\n        \"invoice_email_attachment\": \"Stuur factuur als bijlage\",\n        \"invoice_email_attachment_setting_description\": \"Schakel dit in als u facturen als e-mailbijlage wilt verzenden. Houd er rekening mee dat de knop 'Factuur bekijken' in e-mails niet meer wordt weergegeven wanneer deze is ingeschakeld.\",\n        \"invoice_settings_updated\": \"Factuurinstelling succesvol bijgewerkt\",\n        \"retrospective_edits\": \"Retrospectieve bewerkingen\",\n        \"allow\": \"Toestaan\",\n        \"disable_on_invoice_partial_paid\": \"Uitschakelen nadat gedeeltelijke betaling is opgeslagen\",\n        \"disable_on_invoice_paid\": \"Uitschakelen nadat volledige betaling is opgenomen\",\n        \"disable_on_invoice_sent\": \"Uitschakelen nadat factuur is verzonden\",\n        \"retrospective_edits_description\": \" Op basis van de wetten van uw land of uw voorkeur, kunt u gebruikers beperken om afgeronde facturen te bewerken.\"\n      },\n      \"estimates\": {\n        \"title\": \"Offertes\",\n        \"estimate_number_format\": \"Offerte nummer formaat\",\n        \"estimate_number_format_description\": \"Aanpassen hoe uw offertes nummer automatisch wordt gegenereerd als u een nieuwe offerte aanmaakt.\",\n        \"preview_estimate_number\": \"Voorbeeld offertes nummer\",\n        \"expiry_date\": \"Vervaldatum\",\n        \"expiry_date_description\": \"Geef aan hoe de vervaldatum automatisch wordt ingesteld wanneer u een offerte aanmaakt.\",\n        \"expiry_date_days\": \"Offerte vervalt over dagen\",\n        \"set_expiry_date_automatically\": \"Automatisch vervaldatum instellen\",\n        \"set_expiry_date_automatically_description\": \"Schakel dit in als u automatisch de vervaldatum wilt instellen wanneer u een nieuwe schatting maakt.\",\n        \"default_formats\": \"Standaardformaat\",\n        \"default_formats_description\": \"Onderstaand formaten wordt gebruikt om de velden automatisch in te vullen bij het aanmaken van offerte.\",\n        \"default_estimate_email_body\": \"Standaard offerte email text\",\n        \"company_address_format\": \"Bedrijfsadres format\",\n        \"shipping_address_format\": \"Verzendadres format\",\n        \"billing_address_format\": \"Factuuradres Format\",\n        \"estimate_email_attachment\": \"Stuur offerte als bijlage\",\n        \"estimate_email_attachment_setting_description\": \"Schakel dit in als u de offertes als e-mailbijlage wilt verzenden. Houd er rekening mee dat de knop 'Bekijk offerte' in e-mails niet meer wordt weergegeven wanneer deze is ingeschakeld.\",\n        \"estimate_settings_updated\": \"Instelling Offerte succesvol bijgewerkt\",\n        \"convert_estimate_options\": \"Offerte omzetten actie\",\n        \"convert_estimate_description\": \"Specificeer wat er gebeurt met de offerte nadat deze omgezet is naar een factuur.\",\n        \"no_action\": \"Geen handeling\",\n        \"delete_estimate\": \"Schatting verwijderen\",\n        \"mark_estimate_as_accepted\": \"Markeren offerte als geaccepteerd\"\n      },\n      \"payments\": {\n        \"title\": \"Betalingen\",\n        \"payment_number_format\": \"Betalingnummer formaat\",\n        \"payment_number_format_description\": \"Aanpassen hoe uw offertes nummer automatisch wordt gegenereerd als u een nieuwe offerte aanmaakt.\",\n        \"preview_payment_number\": \"Bekijk betalingsnummer\",\n        \"default_formats\": \"Standaard formaten\",\n        \"default_formats_description\": \"Onderstaande formaten worden gebruikt om de velden automatisch in te vullen bij het maken van betalingen.\",\n        \"default_payment_email_body\": \"Standaard format betalingsmail\",\n        \"company_address_format\": \"Bedrijfsadres format\",\n        \"from_customer_address_format\": \"Van klant adres formaat\",\n        \"payment_email_attachment\": \"Stuur betaalbewijs als bijlage\",\n        \"payment_email_attachment_setting_description\": \"Schakel dit in als u de betalingsbewijzen als e-mailbijlage wilt verzenden. Houd er rekening mee dat de knop 'Betaling bekijken' in e-mails niet meer wordt weergegeven wanneer deze is ingeschakeld.\",\n        \"payment_settings_updated\": \"Betalingsinstelling geüpdatet\"\n      },\n      \"items\": {\n        \"title\": \"Artikelen\",\n        \"units\": \"eenheden\",\n        \"add_item_unit\": \"Itemeenheid toevoegen\",\n        \"edit_item_unit\": \"Itemeenheid bewerken\",\n        \"unit_name\": \"Naam eenheid\",\n        \"item_unit_added\": \"Item Eenheid toegevoegd\",\n        \"item_unit_updated\": \"Artikeleenheid bijgewerkt\",\n        \"item_unit_confirm_delete\": \"U kunt dit item niet terughalen\",\n        \"already_in_use\": \"Item Unit is al in gebruik\",\n        \"deleted_message\": \"Artikeleenheid succesvol verwijderd\"\n      },\n      \"notes\": {\n        \"title\": \"Opmerkingen\",\n        \"description\": \"Bespaar tijd door notities te maken en ze opnieuw te gebruiken op uw facturen, ramingen en betalingen.\",\n        \"notes\": \"Opmerkingen\",\n        \"type\": \"Type\",\n        \"add_note\": \"Notitie toevoegen\",\n        \"add_new_note\": \"Voeg een nieuwe notitie toe\",\n        \"name\": \"Naam\",\n        \"edit_note\": \"Notitie bewerken\",\n        \"note_added\": \"Notitie toegevoegd\",\n        \"note_updated\": \"Notitie bijgewerkt\",\n        \"note_confirm_delete\": \"U kunt deze notitie niet terughalen\",\n        \"already_in_use\": \"Notitie is reeds in gebruik\",\n        \"deleted_message\": \"Notitie verwijderd\"\n      }\n    },\n    \"account_settings\": {\n      \"profile_picture\": \"Profielfoto\",\n      \"name\": \"Naam\",\n      \"email\": \"E-mail\",\n      \"password\": \"Wachtwoord\",\n      \"confirm_password\": \"bevestig wachtwoord\",\n      \"account_settings\": \"Account instellingen\",\n      \"save\": \"Opslaan\",\n      \"section_description\": \"U kunt uw naam, e-mailadres en wachtwoord bijwerken via onderstaand formulier.\",\n      \"updated_message\": \"Accountinstellingen succesvol bijgewerkt\"\n    },\n    \"user_profile\": {\n      \"name\": \"Naam\",\n      \"email\": \"E-mail\",\n      \"password\": \"Wachtwoord\",\n      \"confirm_password\": \"Bevestig wachtwoord\"\n    },\n    \"notification\": {\n      \"title\": \"Kennisgeving\",\n      \"email\": \"Stuur meldingen naar\",\n      \"description\": \"Welke e-mailmeldingen wilt u ontvangen als er iets verandert?\",\n      \"invoice_viewed\": \"Factuur bekeken\",\n      \"invoice_viewed_desc\": \"Wanneer uw klant de factuur bekijkt die via het kraterdashboard is verzonden.\",\n      \"estimate_viewed\": \"Offerte bekeken\",\n      \"estimate_viewed_desc\": \"Wanneer uw klant de offerte bekijkt die via het kraterdashboard is verzonden.\",\n      \"save\": \"Opslaan\",\n      \"email_save_message\": \"E-mail succesvol opgeslagen\",\n      \"please_enter_email\": \"Voer e-mailadres in\"\n    },\n    \"roles\": {\n      \"title\": \"Rollen\",\n      \"description\": \"Beheer de rollen en machtigingen van dit bedrijf\",\n      \"save\": \"Opslaan\",\n      \"add_new_role\": \"Nieuwe rol toevoegen\",\n      \"role_name\": \"Rol naam\",\n      \"added_on\": \"Toegevoegd op\",\n      \"add_role\": \"Rol toevoegen\",\n      \"edit_role\": \"Rol bewerken\",\n      \"name\": \"Naam\",\n      \"permission\": \"Machtiging Machtigingen\",\n      \"select_all\": \"Selecteer alles\",\n      \"none\": \"Geen\",\n      \"confirm_delete\": \"Dit rol wordt permanent verwijderd\",\n      \"created_message\": \"Rol succesvol gemaakt\",\n      \"updated_message\": \"Rol succesvol bijgewerkt\",\n      \"deleted_message\": \"Rol succesvol verwijderd\",\n      \"already_in_use\": \"Rol is reeds in gebruik\"\n    },\n    \"exchange_rate\": {\n      \"exchange_rate\": \"Wisselkoers\",\n      \"title\": \"Problemen met wisselkoersen oplossen\",\n      \"description\": \"Voer de wisselkoers in van alle onderstaande valuta's om Crater te helpen de bedragen in {currency} goed te berekenen.\",\n      \"drivers\": \"Stuurprogramma 's\",\n      \"new_driver\": \"Voeg nieuwe provider toe\",\n      \"edit_driver\": \"Provider bewerken\",\n      \"select_driver\": \"Selecteer stuurprogramma\",\n      \"update\": \"selecteer wisselkoers \",\n      \"providers_description\": \"Configureer hier uw wisselkoersaanbieders om de laatste wisselkoers voor transacties automatisch op te halen.\",\n      \"key\": \"API sleutel\",\n      \"name\": \"Naam\",\n      \"driver\": \"Stuurprogramma\",\n      \"is_default\": \"IS STANDAARD\",\n      \"currency\": \"Valuta's\",\n      \"exchange_rate_confirm_delete\": \"Dit stuurprogramma wordt permanent verwijderd\",\n      \"created_message\": \"Provider succesvol aangemaakt\",\n      \"updated_message\": \"Provider succesvol bijgewerkt\",\n      \"deleted_message\": \"Provider succesvol verwijderd\",\n      \"error\": \" U kunt de actieve stuurprogramma niet verwijderen\",\n      \"default_currency_error\": \"Deze valuta wordt al gebruikt in een van de Actieve Provider\",\n      \"exchange_help_text\": \"Voer de wisselkoers in om te converteren van {currency} naar {baseCurrency}\",\n      \"currency_freak\": \"Valuta Freak\",\n      \"currency_layer\": \"Valuta-laag\",\n      \"open_exchange_rate\": \"Open Exchange Rate\",\n      \"currency_converter\": \"Valuta omzetter\",\n      \"server\": \"Server\",\n      \"url\": \"URL\",\n      \"active\": \"Actief\",\n      \"currency_help_text\": \"This provider will only be used on above selected currencies\",\n      \"currency_in_used\": \"The following currencies are already active on another provider. Please remove these currencies from selection to activate this provider again.\"\n    },\n    \"tax_types\": {\n      \"title\": \"Belastingtypen\",\n      \"add_tax\": \"Belasting toevoegen\",\n      \"edit_tax\": \"Belasting bewerken\",\n      \"description\": \"U kunt naar believen belastingen toevoegen of verwijderen. Crater ondersteunt belastingen op individuele items en op de factuur.\",\n      \"add_new_tax\": \"Nieuwe belasting toevoegen\",\n      \"tax_settings\": \"Belastinginstellingen\",\n      \"tax_per_item\": \"Belasting per item\",\n      \"tax_name\": \"Belastingnaam\",\n      \"compound_tax\": \"Samengestelde belasting\",\n      \"percent\": \"Procent\",\n      \"action\": \"Actie\",\n      \"tax_setting_description\": \"Schakel dit in als u belastingen wilt toevoegen aan afzonderlijke factuuritems. Standaard worden belastingen rechtstreeks aan de factuur toegevoegd.\",\n      \"created_message\": \"Belastingtype is gemaakt\",\n      \"updated_message\": \"Belastingtype succesvol bijgewerkt\",\n      \"deleted_message\": \"Belastingtype succesvol verwijderd\",\n      \"confirm_delete\": \"Dit belastingtype wordt permanent verwijderd\",\n      \"already_in_use\": \"Belasting al in gebruik\"\n    },\n    \"payment_modes\": {\n      \"title\": \"Betaalmethodes\",\n      \"description\": \"Modes of transaction for payments\",\n      \"add_payment_mode\": \"Add Payment Mode\",\n      \"edit_payment_mode\": \"Edit Payment Mode\",\n      \"mode_name\": \"Mode Name\",\n      \"payment_mode_added\": \"Betaalwijze toegevoegd\",\n      \"payment_mode_updated\": \"Payment Mode Updated\",\n      \"payment_mode_confirm_delete\": \"You will not be able to recover this Payment Mode\",\n      \"payments_attached\": \"This payment method is already attached to payments. Please delete the attached payments to proceed with deletion.\",\n      \"expenses_attached\": \"This payment method is already attached to expenses. Please delete the attached expenses to proceed with deletion.\",\n      \"deleted_message\": \"Payment Mode deleted successfully\"\n    },\n    \"expense_category\": {\n      \"title\": \"Onkostencategorieën\",\n      \"action\": \"Actie\",\n      \"description\": \"Categorieën zijn vereist voor het toevoegen van onkostenposten. U kunt deze categorieën naar wens toevoegen of verwijderen.\",\n      \"add_new_category\": \"Voeg een nieuwe categorie toe\",\n      \"add_category\": \"categorie toevoegen\",\n      \"edit_category\": \"Categorie bewerken\",\n      \"category_name\": \"categorie naam\",\n      \"category_description\": \"Omschrijving\",\n      \"created_message\": \"Onkostencategorie succesvol aangemaakt\",\n      \"deleted_message\": \"Uitgavencategorie is verwijderd\",\n      \"updated_message\": \"Uitgavencategorie is bijgewerkt\",\n      \"confirm_delete\": \"U kunt deze uitgavencategorie niet herstellen\",\n      \"already_in_use\": \"Categorie al in gebruik\"\n    },\n    \"preferences\": {\n      \"currency\": \"Valuta\",\n      \"default_language\": \"Standaard taal\",\n      \"time_zone\": \"Tijdzone\",\n      \"fiscal_year\": \"Financieel jaar\",\n      \"date_format\": \"Datumnotatie\",\n      \"discount_setting\": \"Kortingsinstelling\",\n      \"discount_per_item\": \"Korting per item\",\n      \"discount_setting_description\": \"Schakel dit in als u korting wilt toevoegen aan afzonderlijke factuuritems. Standaard wordt korting rechtstreeks aan de factuur toegevoegd.\",\n      \"expire_public_links\": \"Automatically Expire Public Links\",\n      \"expire_setting_description\": \"Specify whether you would like to expire all the links sent by application to view invoices, estimates & payments, etc after a specified duration.\",\n      \"save\": \"Opslaan\",\n      \"preference\": \"Voorkeur | Voorkeuren\",\n      \"general_settings\": \"Standaardvoorkeuren voor het systeem.\",\n      \"updated_message\": \"Voorkeuren succesvol bijgewerkt\",\n      \"select_language\": \"Selecteer taal\",\n      \"select_time_zone\": \"Selecteer Tijdzone\",\n      \"select_date_format\": \"Selecteer datum/tijdindeling\",\n      \"select_financial_year\": \"Selecteer financieel ja\",\n      \"recurring_invoice_status\": \"Recurring Invoice Status\",\n      \"create_status\": \"Create Status\",\n      \"active\": \"Active\",\n      \"on_hold\": \"In wacht\",\n      \"update_status\": \"Updatestatus\",\n      \"completed\": \"Voltooid\",\n      \"company_currency_unchangeable\": \"Bedrijfsvaluta kan niet worden gewijzigd\"\n    },\n    \"update_app\": {\n      \"title\": \"App bijwerken\",\n      \"description\": \"U kunt Crater eenvoudig bijwerken door te controleren op een nieuwe update door op de onderstaande knop te klikken\",\n      \"check_update\": \"Controleer op updates\",\n      \"avail_update\": \"Nieuwe update beschikbaar\",\n      \"next_version\": \"Volgende versie\",\n      \"requirements\": \"Vereisten\",\n      \"update\": \"Nu updaten\",\n      \"update_progress\": \"Update wordt uitgevoerd...\",\n      \"progress_text\": \"Het duurt maar een paar minuten. Vernieuw het scherm niet en sluit het venster niet voordat de update is voltooid\",\n      \"update_success\": \"App is bijgewerkt! Een ogenblik geduld, uw browservenster wordt automatisch opnieuw geladen.\",\n      \"latest_message\": \"Geen update beschikbaar! U gebruikt de nieuwste versie.\",\n      \"current_version\": \"Huidige versie\",\n      \"download_zip_file\": \"Download ZIP-bestand\",\n      \"unzipping_package\": \"Pakket uitpakken\",\n      \"copying_files\": \"Bestanden kopiëren\",\n      \"deleting_files\": \"Ongebruikte bestanden verwijderen\",\n      \"running_migrations\": \"Migraties uitvoeren\",\n      \"finishing_update\": \"Afwerking Update\",\n      \"update_failed\": \"Update mislukt\",\n      \"update_failed_text\": \"Sorry! Je update is mislukt op: {step} step \",\n      \"update_warning\": \"All of the application files and default template files will be overwritten when you update the application using this utility. Please take a backup of your templates & database before updating.\"\n    },\n    \"backup\": {\n      \"title\": \"Backup | Backups\",\n      \"description\": \"De back-up is een zipfile met alle bestanden in de mappen die je opgeeft samen met een dump van je database\",\n      \"new_backup\": \"Nieuwe back-up\",\n      \"create_backup\": \"Backup maken\",\n      \"select_backup_type\": \"Backup-type selecteren\",\n      \"backup_confirm_delete\": \"U kunt deze back-up niet terughalen\",\n      \"path\": \"pad\",\n      \"new_disk\": \"Nieuwe schijf\",\n      \"created_at\": \"aangemaakt op\",\n      \"size\": \"grootte\",\n      \"dropbox\": \"dropbox\",\n      \"local\": \"lokaal\",\n      \"healthy\": \"gezond\",\n      \"amount_of_backups\": \"aantal back-ups\",\n      \"newest_backups\": \"nieuwste back-ups\",\n      \"used_storage\": \"gebruikte opslag\",\n      \"select_disk\": \"Selecteer Disk\",\n      \"action\": \"Actie\",\n      \"deleted_message\": \"Back-up is succesvol verwijderd\",\n      \"created_message\": \"Back-up successvol gemaakt\",\n      \"invalid_disk_credentials\": \"Ongeldige inloggegevens voor geselecteerde schijf\"\n    },\n    \"disk\": {\n      \"title\": \"Bestandsschijf | Bestandsschijven\",\n      \"description\": \"Standaard gebruikt Crater uw lokale schijf om back-ups, avatars en andere afbeeldingen op te slaan. U kunt indien gewenst meer dan één opslaglocatie configureren zoals DigitalOcean, S3 en Dropbox.\",\n      \"created_at\": \"aangemaakt op\",\n      \"dropbox\": \"dropbox\",\n      \"name\": \"Naam\",\n      \"driver\": \"Stuurprogramma\",\n      \"disk_type\": \"Type\",\n      \"disk_name\": \"Naam van de schijf\",\n      \"new_disk\": \"Nieuwe schijf toevoegen\",\n      \"filesystem_driver\": \"Bestandssysteem locatie\",\n      \"local_driver\": \"lokaal besturingsprogramma\",\n      \"local_root\": \"locale schijf\",\n      \"public_driver\": \"Publiek besturingsprogramma\",\n      \"public_root\": \"Openbare schijf\",\n      \"public_url\": \"Publieke URL\",\n      \"public_visibility\": \"Publieke zichtbaarheid\",\n      \"media_driver\": \"Media stuurprogramma\",\n      \"media_root\": \"Media schijf\",\n      \"aws_driver\": \"AWS Stuurprogramma\",\n      \"aws_key\": \"AWS Sleutel\",\n      \"aws_secret\": \"AWS-geheim\",\n      \"aws_region\": \"AWS Regio\",\n      \"aws_bucket\": \"AWS Bucket\",\n      \"aws_root\": \"AWS Root\",\n      \"do_spaces_type\": \"Do Spaces type\",\n      \"do_spaces_key\": \"Do Spaces Key\",\n      \"do_spaces_secret\": \"Do Spaces Secret\",\n      \"do_spaces_region\": \"Do Spaces Regio\",\n      \"do_spaces_bucket\": \"Do Spaces Bucket\",\n      \"do_spaces_endpoint\": \"Do Spaces Endpoint\",\n      \"do_spaces_root\": \"Do Spaces hoofdmap\",\n      \"dropbox_type\": \"Dropbox Type\",\n      \"dropbox_token\": \"Dropbox Token\",\n      \"dropbox_key\": \"Dropbox Sleutel\",\n      \"dropbox_secret\": \"Dropbox Geheim\",\n      \"dropbox_app\": \"Dropbox App\",\n      \"dropbox_root\": \"Dropbox Hoofdmap\",\n      \"default_driver\": \"Standaard stuurprogramma\",\n      \"is_default\": \"IS STANDAARD\",\n      \"set_default_disk\": \"Standaardschijf instellen\",\n      \"set_default_disk_confirm\": \"Deze schijf zal als standaard worden ingesteld en alle nieuwe PDF's worden opgeslagen op deze schijf\",\n      \"success_set_default_disk\": \"Standaardschijf ingesteld\",\n      \"save_pdf_to_disk\": \"PDF's opslaan op schijf\",\n      \"disk_setting_description\": \" Schakel dit in als je een kopie van elke factuur, raming en betalingsbewijs automatisch op je standaard schijf wilt opslaan. Het inschakelen van deze optie zal de laadtijd verminderen wanneer de PDF's worden bekeken.\",\n      \"select_disk\": \"Selecteer Schijf\",\n      \"disk_settings\": \"Schijfinstellingen\",\n      \"confirm_delete\": \"Uw bestaande bestanden en mappen in de opgegeven schijf worden niet beïnvloed, maar uw schijfconfiguratie wordt uit Crater verwijderd\",\n      \"action\": \"Actie\",\n      \"edit_file_disk\": \"Bestandsschijf bewerken\",\n      \"success_create\": \"Schijf toegevoegd\",\n      \"success_update\": \"Schijf bijgewerkt\",\n      \"error\": \"Schijf niet toegevoegd\",\n      \"deleted_message\": \"Bestandsschijf verwijderd\",\n      \"disk_variables_save_successfully\": \"Schijf geconfigureerd\",\n      \"disk_variables_save_error\": \"Schijfconfiguratie mislukt.\",\n      \"invalid_disk_credentials\": \"Ongeldige inloggegevens voor geselecteerde schijf\"\n    },\n    \"taxations\": {\n      \"add_billing_address\": \"Vul factuuradres in\",\n      \"add_shipping_address\": \"Vul bezorgadres in\",\n      \"add_company_address\": \"Vul bedrijfsadres in\",\n      \"modal_description\": \"De onderstaande informatie is vereist om de verkoopbelasting op te halen.\",\n      \"add_address\": \"Voeg adres toe voor het ophalen van verkoopbelasting.\",\n      \"address_placeholder\": \"Voorbeeld: 123, Mijn Straat\",\n      \"city_placeholder\": \"Voorbeeld: Amsterdam\",\n      \"state_placeholder\": \"Voorbeeld: Noord-Holland\",\n      \"zip_placeholder\": \"Voorbeeld: 1234 AB\",\n      \"invalid_address\": \"Vul een geldig adres in a.u.b.\"\n    }\n  },\n  \"wizard\": {\n    \"account_info\": \"Account Informatie\",\n    \"account_info_desc\": \"Onderstaande gegevens worden gebruikt om het hoofdbeheerdersaccount te maken. Ook kunt u de gegevens op elk moment wijzigen na inloggen.\",\n    \"name\": \"Naam\",\n    \"email\": \"E-mail\",\n    \"password\": \"Wachtwoord\",\n    \"confirm_password\": \"bevestig wachtwoord\",\n    \"save_cont\": \"Opslaan doorgaan\",\n    \"company_info\": \"Bedrijfsinformatie\",\n    \"company_info_desc\": \"Deze informatie wordt weergegeven op facturen. Merk op dat u dit later op de instellingenpagina kunt bewerken.\",\n    \"company_name\": \"Bedrijfsnaam\",\n    \"company_logo\": \"Bedrijfslogo\",\n    \"logo_preview\": \"Logo Voorbeeld\",\n    \"preferences\": \"Voorkeuren\",\n    \"preferences_desc\": \"Standaardvoorkeuren voor het systeem.\",\n    \"currency_set_alert\": \"De valuta van het bedrijf kan later niet worden gewijzigd.\",\n    \"country\": \"Land\",\n    \"state\": \"Provincie\",\n    \"city\": \"Stad\",\n    \"address\": \"Adres\",\n    \"street\": \"Straat1 | Straat # 2\",\n    \"phone\": \"Telefoon\",\n    \"zip_code\": \"Postcode\",\n    \"go_back\": \"Ga terug\",\n    \"currency\": \"Valuta\",\n    \"language\": \"Taal\",\n    \"time_zone\": \"Tijdzone\",\n    \"fiscal_year\": \"Financieel jaar\",\n    \"date_format\": \"Datumnotatie\",\n    \"from_address\": \"Van adres\",\n    \"username\": \"Gebruikersnaam\",\n    \"next\": \"De volgende\",\n    \"continue\": \"Doorgaan met\",\n    \"skip\": \"Overslaan\",\n    \"database\": {\n      \"database\": \"Site-URL en database\",\n      \"connection\": \"Database verbinding\",\n      \"host\": \"Database host\",\n      \"port\": \"Databasepoort\",\n      \"password\": \"Database wachtwoord\",\n      \"app_url\": \"App-URL\",\n      \"app_domain\": \"App Domein\",\n      \"username\": \"Database gebruikersnaam\",\n      \"db_name\": \"Database naam\",\n      \"db_path\": \"Databankpad\",\n      \"desc\": \"Maak een database op uw server en stel de referenties in via het onderstaande formulier.\"\n    },\n    \"permissions\": {\n      \"permissions\": \"Rechten\",\n      \"permission_confirm_title\": \"Weet je zeker dat je door wilt gaan?\",\n      \"permission_confirm_desc\": \"Controle van maprechten is mislukt\",\n      \"permission_desc\": \"Hieronder vindt u de lijst met mapmachtigingen die vereist zijn om de app te laten werken. Als de machtigingscontrole mislukt, moet u de mapmachtigingen bijwerken.\"\n    },\n    \"verify_domain\": {\n      \"title\": \"Menselijke Verificatie\",\n      \"desc\": \"Crater maakt gebruik van sessie gebaseerde authenticatie die domeinverificatie vereist voor veiligheidsdoeleinden. Voer het domein in waarop u toegang zult krijgen tot uw webapplicatie.\",\n      \"app_domain\": \"App Domein\",\n      \"verify_now\": \"Nu verifiëren\",\n      \"success\": \"E-mailadres succesvol geverifieerd.\",\n      \"failed\": \"Domeinverificatie is mislukt. Voer een geldige domeinnaam in.\",\n      \"verify_and_continue\": \"Verifiëren en doorgaan\"\n    },\n    \"mail\": {\n      \"host\": \"E-mail server\",\n      \"port\": \"E-mail Poort\",\n      \"driver\": \"Mail-stuurprogramma\",\n      \"secret\": \"Geheim\",\n      \"mailgun_secret\": \"Mailgun geheim\",\n      \"mailgun_domain\": \"Domein\",\n      \"mailgun_endpoint\": \"Mailgun-eindpunt\",\n      \"ses_secret\": \"SES geheim\",\n      \"ses_key\": \"SES-sleutel\",\n      \"password\": \"Mail wachtwoord\",\n      \"username\": \"Mail gebruikersnaam\",\n      \"mail_config\": \"E-mailconfiguratie\",\n      \"from_name\": \"Van Mail Name\",\n      \"from_mail\": \"Van e-mailadres\",\n      \"encryption\": \"E-mailversleuteling\",\n      \"mail_config_desc\": \"Hieronder vindt u het formulier voor het configureren van het e-mailstuurprogramma voor het verzenden van e-mails vanuit de app. U kunt ook externe providers zoals Sendgrid, SES enz. Configureren.\"\n    },\n    \"req\": {\n      \"system_req\": \"systeem vereisten\",\n      \"php_req_version\": \"PHP (versie {versie} vereist))\",\n      \"check_req\": \"Controleer vereisten\",\n      \"system_req_desc\": \"Crater heeft een paar serververeisten. Zorg ervoor dat uw server de vereiste php-versie heeft en alle onderstaande extensies.\"\n    },\n    \"errors\": {\n      \"migrate_failed\": \"Migreren mislukt\",\n      \"database_variables_save_error\": \"Kan configuratie niet schrijven naar .env-bestand. Controleer de bestandsrechten\",\n      \"mail_variables_save_error\": \"E-mailconfiguratie is mislukt.\",\n      \"connection_failed\": \"Databaseverbinding mislukt\",\n      \"database_should_be_empty\": \"Database moet leeg zijn\"\n    },\n    \"success\": {\n      \"mail_variables_save_successfully\": \"E-mail succesvol geconfigureerd\",\n      \"database_variables_save_successfully\": \"Database succesvol geconfigureerd.\"\n    }\n  },\n  \"validation\": {\n    \"invalid_phone\": \"Ongeldig Telefoonnummer\",\n    \"invalid_url\": \"Ongeldige URL (bijvoorbeeld: http://www.crater.com))\",\n    \"invalid_domain_url\": \"Ongeldige URL (bijvoorbeeld: crater.com))\",\n    \"required\": \"Veld is verplicht\",\n    \"email_incorrect\": \"Incorrecte Email.\",\n    \"email_already_taken\": \"De email is al in gebruik.\",\n    \"email_does_not_exist\": \"Gebruiker met opgegeven e-mailadres bestaat niet\",\n    \"item_unit_already_taken\": \"De naam van dit item is al in gebruik\",\n    \"payment_mode_already_taken\": \"Deze naam voor de betalingsmodus is al in gebruik\",\n    \"send_reset_link\": \"Stuur resetlink\",\n    \"not_yet\": \"Nog niet? Stuur het opnieuw\",\n    \"password_min_length\": \"Wachtwoord moet {count} tekens bevatten\",\n    \"name_min_length\": \"Naam moet minimaal {count} letters bevatten.\",\n    \"prefix_min_length\": \"Voorvoegsel moet minstens {count} letters bevatten.\",\n    \"enter_valid_tax_rate\": \"Voer een geldig belastingtarief in\",\n    \"numbers_only\": \"Alleen nummers.\",\n    \"characters_only\": \"Alleen tekens.\",\n    \"password_incorrect\": \"Wachtwoorden moeten identiek zijn\",\n    \"password_length\": \"Wachtwoord moet {count} tekens lang zijn.\",\n    \"qty_must_greater_than_zero\": \"Hoeveelheid moet groter zijn dan nul.\",\n    \"price_greater_than_zero\": \"Prijs moet groter zijn dan nul.\",\n    \"payment_greater_than_zero\": \"De betaling moet hoger zijn dan nul.\",\n    \"payment_greater_than_due_amount\": \"Ingevoerde betaling is meer dan het openstaande bedrag van deze factuur.\",\n    \"quantity_maxlength\": \"Het aantal mag niet groter zijn dan 20 cijfers.\",\n    \"price_maxlength\": \"Prijs mag niet groter zijn dan 20 cijfers.\",\n    \"price_minvalue\": \"Prijs moet hoger zijn dan 0.\",\n    \"amount_maxlength\": \"Bedrag mag niet groter zijn dan 20 cijfers.\",\n    \"amount_minvalue\": \"Bedrag moet groter zijn dan 0.\",\n    \"discount_maxlength\": \"Korting mag niet meer zijn dan maximale korting\",\n    \"description_maxlength\": \"De beschrijving mag niet meer dan 255 tekens bevatten.\",\n    \"subject_maxlength\": \"Het onderwerp mag niet meer dan 100 tekens bevatten.\",\n    \"message_maxlength\": \"Bericht mag niet groter zijn dan 255 tekens.\",\n    \"maximum_options_error\": \"Maximaal {max} opties geselecteerd. Verwijder eerst een geselecteerde optie om een andere te selecteren.\",\n    \"notes_maxlength\": \"Notities mogen niet langer zijn dan 255 tekens.\",\n    \"address_maxlength\": \"Adres mag niet groter zijn dan 255 tekens.\",\n    \"ref_number_maxlength\": \"Ref-nummer mag niet groter zijn dan 255 tekens.\",\n    \"prefix_maxlength\": \"Het voorvoegsel mag niet meer dan 5 tekens bevatten.\",\n    \"something_went_wrong\": \"Er is iets fout gegaan\",\n    \"number_length_minvalue\": \"Het getal moet groter zijn dan 0\",\n    \"at_least_one_ability\": \"Selecteer minstens één machtiging.\",\n    \"valid_driver_key\": \"Voer een geldige {driver} sleutel in.\",\n    \"valid_exchange_rate\": \"Voer a.u.b. een geldige wisselkoers in.\",\n    \"company_name_not_same\": \"Bedrijfsnaam moet overeenkomen met de opgegeven naam.\"\n  },\n  \"errors\": {\n    \"starter_plan\": \"Deze functie is beschikbaar vanaf het Starter abonnement!\",\n    \"invalid_provider_key\": \"Voer een geldige API-sleutel in.\",\n    \"estimate_number_used\": \"Dit offertenummer is reeds in gebruik.\",\n    \"invoice_number_used\": \"Dit factuurnummer is reeds in gebruik.\",\n    \"payment_attached\": \"Deze factuur heeft al een betaling gekoppeld. Zorg ervoor dat u de bijgevoegde betalingen eerst verwijdert om door te gaan met de verwijdering.\",\n    \"payment_number_used\": \"Dit factuurnummer is reeds in gebruik.\",\n    \"name_already_taken\": \"Deze naam is reeds in gebruik.\",\n    \"receipt_does_not_exist\": \"Kwitantie bestaat niet.\",\n    \"customer_cannot_be_changed_after_payment_is_added\": \"Klant kan niet worden gewijzigd nadat een betaling is toegevoegd\",\n    \"invalid_credentials\": \"Inloggegevens ongeldig.\",\n    \"not_allowed\": \"Niet toegestaan\",\n    \"login_invalid_credentials\": \"Deze gegevens zijn niet correct.\",\n    \"enter_valid_cron_format\": \"Voer een geldig cron-formaat in\",\n    \"email_could_not_be_sent\": \"E-mail kon niet naar dit e-mailadres worden verzonden.\",\n    \"invalid_address\": \"Vul een geldig adres in.\",\n    \"invalid_key\": \"Vul een geldige sleutel in.\",\n    \"invalid_state\": \"Vul een geldige provincie in.\",\n    \"invalid_city\": \"Vul een geldige woonplaats in.\",\n    \"invalid_postal_code\": \"Vul een geldige postcode in.\",\n    \"invalid_format\": \"Vul een geldig query-string-formaat in.\",\n    \"api_error\": \"Server reageert niet.\",\n    \"feature_not_enabled\": \"Functie niet ingeschakeld.\",\n    \"request_limit_met\": \"API-verzoeklimiet overschreden.\",\n    \"address_incomplete\": \"Onvolledig adres\"\n  },\n  \"pdf_estimate_label\": \"Offerte\",\n  \"pdf_estimate_number\": \"Offerte nummer\",\n  \"pdf_estimate_date\": \"Offerte Datum\",\n  \"pdf_estimate_expire_date\": \"Vervaldatum\",\n  \"pdf_invoice_label\": \"Factuur\",\n  \"pdf_invoice_number\": \"Factuurnummer\",\n  \"pdf_invoice_date\": \"Factuur datum\",\n  \"pdf_invoice_due_date\": \"Vervaldatum\",\n  \"pdf_notes\": \"Opmerkingen\",\n  \"pdf_items_label\": \"Artikelen\",\n  \"pdf_quantity_label\": \"Aantal stuks\",\n  \"pdf_price_label\": \"Prijs\",\n  \"pdf_discount_label\": \"Korting\",\n  \"pdf_amount_label\": \"Bedrag\",\n  \"pdf_subtotal\": \"Subtotaal\",\n  \"pdf_total\": \"Totaal\",\n  \"pdf_payment_label\": \"Betaling\",\n  \"pdf_payment_receipt_label\": \"Betalingsafschrift\",\n  \"pdf_payment_date\": \"Betalingsdatum\",\n  \"pdf_payment_number\": \"Betalingsnummer\",\n  \"pdf_payment_mode\": \"Betaalmethode\",\n  \"pdf_payment_amount_received_label\": \"Ontvangen bedrag\",\n  \"pdf_expense_report_label\": \"UITGAVEN RAPPORT\",\n  \"pdf_total_expenses_label\": \"TOTALE UITGAVEN\",\n  \"pdf_profit_loss_label\": \"WINST & VERLIES RAPPORT\",\n  \"pdf_sales_customers_label\": \"Klant verkoop rapport\",\n  \"pdf_sales_items_label\": \"Artikel verkooprapport\",\n  \"pdf_tax_summery_label\": \"Belastingoverzicht\",\n  \"pdf_income_label\": \"INKOMEN\",\n  \"pdf_net_profit_label\": \"NETTO WINST\",\n  \"pdf_customer_sales_report\": \"Verkooprapport: per klant\",\n  \"pdf_total_sales_label\": \"TOTALE VERKOPEN\",\n  \"pdf_item_sales_label\": \"Verkooprapport: Per Item\",\n  \"pdf_tax_report_label\": \"BELASTINGEN RAPPORT\",\n  \"pdf_total_tax_label\": \"TOTALE BELASTINGEN\",\n  \"pdf_tax_types_label\": \"Belastingtypen\",\n  \"pdf_expenses_label\": \"Uitgaven\",\n  \"pdf_bill_to\": \"Rekening naar,\",\n  \"pdf_ship_to\": \"Verzend naar,\",\n  \"pdf_received_from\": \"Ontvangen van:\",\n  \"pdf_tax_label\": \"Btw\"\n}\n"
  },
  {
    "path": "resources/scripts/locales/pl.json",
    "content": "{\n  \"navigation\": {\n    \"dashboard\": \"Pulpit\",\n    \"customers\": \"Kontrahenci\",\n    \"items\": \"Pozycje\",\n    \"invoices\": \"Faktury\",\n    \"recurring-invoices\": \"Faktury cykliczne\",\n    \"expenses\": \"Wydatki\",\n    \"estimates\": \"Oferty\",\n    \"payments\": \"Płatności\",\n    \"reports\": \"Raporty\",\n    \"settings\": \"Ustawienia\",\n    \"logout\": \"Wyloguj\",\n    \"users\": \"Użytkownicy\",\n    \"modules\": \"Moduły\"\n  },\n  \"general\": {\n    \"add_company\": \"Dodaj firmę\",\n    \"view_pdf\": \"Podgląd PDF\",\n    \"copy_pdf_url\": \"Kopiuj adres URL PDF\",\n    \"download_pdf\": \"Pobierz PDF\",\n    \"save\": \"Zapisz\",\n    \"create\": \"Stwórz\",\n    \"cancel\": \"Anuluj\",\n    \"update\": \"Zaktualizuj\",\n    \"deselect\": \"Odznacz\",\n    \"download\": \"Pobierz\",\n    \"from_date\": \"Od daty\",\n    \"to_date\": \"Do daty\",\n    \"from\": \"Od\",\n    \"to\": \"Do\",\n    \"ok\": \"Ok\",\n    \"yes\": \"Tak\",\n    \"no\": \"Nie\",\n    \"sort_by\": \"Sortuj według\",\n    \"ascending\": \"Rosnąco\",\n    \"descending\": \"Malejąco\",\n    \"subject\": \"Temat\",\n    \"body\": \"Treść\",\n    \"message\": \"Wiadomość\",\n    \"send\": \"Wyślij\",\n    \"preview\": \"Podgląd\",\n    \"go_back\": \"Wstecz\",\n    \"back_to_login\": \"Wróć do logowania?\",\n    \"home\": \"Strona główna\",\n    \"filter\": \"Filtr\",\n    \"delete\": \"Usuń\",\n    \"edit\": \"Edytuj\",\n    \"view\": \"Widok\",\n    \"add_new_item\": \"Dodaj nową pozycję\",\n    \"clear_all\": \"Wyczyść wszystko\",\n    \"showing\": \"Wyświetlanie\",\n    \"of\": \"z\",\n    \"actions\": \"Akcje\",\n    \"subtotal\": \"SUMA CZĘŚCIOWA\",\n    \"discount\": \"RABAT\",\n    \"fixed\": \"Stały\",\n    \"percentage\": \"Procentowo\",\n    \"tax\": \"PODATEK\",\n    \"total_amount\": \"ŁĄCZNA KWOTA\",\n    \"bill_to\": \"Płatnik\",\n    \"ship_to\": \"Wyślij do\",\n    \"due\": \"Należność\",\n    \"draft\": \"Wersja robocza\",\n    \"sent\": \"Wysłano\",\n    \"all\": \"Wszystko\",\n    \"select_all\": \"Zaznacz wszystkie\",\n    \"select_template\": \"Wybierz Szablon\",\n    \"choose_file\": \"Kliknij tutaj, aby wybrać plik\",\n    \"choose_template\": \"Wybierz szablon\",\n    \"choose\": \"Wybierz\",\n    \"remove\": \"Usuń\",\n    \"select_a_status\": \"Wybierz status\",\n    \"select_a_tax\": \"Wybierz podatek\",\n    \"search\": \"Wyszukaj\",\n    \"are_you_sure\": \"Czy jesteś pewien?\",\n    \"list_is_empty\": \"Lista jest pusta.\",\n    \"no_tax_found\": \"Nie znaleziono podatku!\",\n    \"four_zero_four\": \"404\",\n    \"you_got_lost\": \"Ups! Zgubiłeś się!\",\n    \"go_home\": \"Wróć do strony głównej\",\n    \"test_mail_conf\": \"Test konfiguracji poczty\",\n    \"send_mail_successfully\": \"Wiadomość wysłana pomyślnie\",\n    \"setting_updated\": \"Ustawienia zostały zaktualizowane\",\n    \"select_state\": \"Wybierz województwo\",\n    \"select_country\": \"Wybierz kraj\",\n    \"select_city\": \"Wybierz miasto\",\n    \"street_1\": \"Adres 1\",\n    \"street_2\": \"Adres 2\",\n    \"action_failed\": \"Niepowodzenie\",\n    \"retry\": \"Spróbuj ponownie\",\n    \"choose_note\": \"Wybierz notatkę\",\n    \"no_note_found\": \"Nie znaleziono notatki\",\n    \"insert_note\": \"Wstaw notatkę\",\n    \"copied_pdf_url_clipboard\": \"Skopiowano adres URL pliku PDF do schowka!\",\n    \"copied_url_clipboard\": \"Skopiowano adres URL do schowka!\",\n    \"docs\": \"Dokumentacja\",\n    \"do_you_wish_to_continue\": \"Czy chcesz kontynuować?\",\n    \"note\": \"Uwaga\",\n    \"pay_invoice\": \"Zapłać Fakturę\",\n    \"login_successfully\": \"Zalogowano pomyślnie!\",\n    \"logged_out_successfully\": \"Wylogowano pomyślnie\",\n    \"mark_as_default\": \"Mark as default\"\n  },\n  \"dashboard\": {\n    \"select_year\": \"Wybierz rok\",\n    \"cards\": {\n      \"due_amount\": \"Do zapłaty\",\n      \"customers\": \"Kontrahenci\",\n      \"invoices\": \"Faktury\",\n      \"estimates\": \"Oferty\",\n      \"payments\": \"Płatności\"\n    },\n    \"chart_info\": {\n      \"total_sales\": \"Sprzedaż\",\n      \"total_receipts\": \"Przychody\",\n      \"total_expense\": \"Wydatki\",\n      \"net_income\": \"Dochód netto\",\n      \"year\": \"Wybierz rok\"\n    },\n    \"monthly_chart\": {\n      \"title\": \"Sprzedaż i wydatki\"\n    },\n    \"recent_invoices_card\": {\n      \"title\": \"Należne faktury\",\n      \"due_on\": \"Termin płatności\",\n      \"customer\": \"Kontrahent\",\n      \"amount_due\": \"Do zapłaty\",\n      \"actions\": \"Akcje\",\n      \"view_all\": \"Zobacz wszsytkie\"\n    },\n    \"recent_estimate_card\": {\n      \"title\": \"Najnowsze oferty\",\n      \"date\": \"Data\",\n      \"customer\": \"Klient\",\n      \"amount_due\": \"Do zapłaty\",\n      \"actions\": \"Akcje\",\n      \"view_all\": \"Zobacz wszystkie\"\n    }\n  },\n  \"tax_types\": {\n    \"name\": \"Nazwa\",\n    \"description\": \"Opis\",\n    \"percent\": \"Procent\",\n    \"compound_tax\": \"Podatek złożony\"\n  },\n  \"global_search\": {\n    \"search\": \"Szukaj...\",\n    \"customers\": \"Klienci\",\n    \"users\": \"Użytkownicy\",\n    \"no_results_found\": \"Nie znaleziono wyników\"\n  },\n  \"company_switcher\": {\n    \"label\": \"PRZEŁĄCZ FIRMĘ\",\n    \"no_results_found\": \"Nie Znaleziono Wyników\",\n    \"add_new_company\": \"Dodaj nową firmę\",\n    \"new_company\": \"Nowa firma\",\n    \"created_message\": \"Firma utworzona pomyślnie\"\n  },\n  \"dateRange\": {\n    \"today\": \"Dzisiaj\",\n    \"this_week\": \"Ten tydzień\",\n    \"this_month\": \"Ten miesiąc\",\n    \"this_quarter\": \"Ten kwartał\",\n    \"this_year\": \"Ten rok\",\n    \"previous_week\": \"Poprzedni Tydzień\",\n    \"previous_month\": \"Poprzedni miesiąc\",\n    \"previous_quarter\": \"Poprzedni kwartał\",\n    \"previous_year\": \"Poprzedni Rok\",\n    \"custom\": \"Niestandardowy\"\n  },\n  \"customers\": {\n    \"title\": \"Klienci\",\n    \"prefix\": \"Przedrostek\",\n    \"add_customer\": \"Dodaj klienta\",\n    \"contacts_list\": \"Lista klientów\",\n    \"name\": \"Nazwa\",\n    \"mail\": \"Poczta | Poczta\",\n    \"statement\": \"Komunikat\",\n    \"display_name\": \"Nazwa wyświetlana\",\n    \"primary_contact_name\": \"Główna osoba kontaktowa\",\n    \"contact_name\": \"Nazwa kontaktu\",\n    \"amount_due\": \"Do zapłaty\",\n    \"email\": \"E-mail\",\n    \"address\": \"Adres\",\n    \"phone\": \"Telefon\",\n    \"website\": \"Strona internetowa\",\n    \"overview\": \"Przegląd\",\n    \"invoice_prefix\": \"Przedrostek Faktury\",\n    \"estimate_prefix\": \"Przedrostek Oferty\",\n    \"payment_prefix\": \"Przedrostek Płatności\",\n    \"enable_portal\": \"Włącz portal\",\n    \"country\": \"Kraj\",\n    \"state\": \"Województwo\",\n    \"city\": \"Miasto\",\n    \"zip_code\": \"Kod pocztowy\",\n    \"added_on\": \"Dodano dnia\",\n    \"action\": \"Akcja\",\n    \"password\": \"Hasło\",\n    \"confirm_password\": \"Potwierdź Hasło\",\n    \"street_number\": \"Numer ulicy\",\n    \"primary_currency\": \"Waluta główna\",\n    \"description\": \"Opis\",\n    \"add_new_customer\": \"Dodaj nowego klienta\",\n    \"save_customer\": \"Zapisz klienta\",\n    \"update_customer\": \"Aktualizuj klienta\",\n    \"customer\": \"Klient | Klienci\",\n    \"new_customer\": \"Nowy klient\",\n    \"edit_customer\": \"Edytuj klienta\",\n    \"basic_info\": \"Podstawowe informacje\",\n    \"portal_access\": \"Panel Klienta\",\n    \"portal_access_text\": \"Czy chcesz zezwolić temu klientowi na logowanie do Panelu Klienta?\",\n    \"portal_access_url\": \"Adres URL Panelu Klienta\",\n    \"portal_access_url_help\": \"Skopiuj i prześlij powyższy adres URL do klienta w celu zapewnienia dostępu.\",\n    \"billing_address\": \"Adres do faktury\",\n    \"shipping_address\": \"Adres dostawy\",\n    \"copy_billing_address\": \"Kopiuj z rachunku\",\n    \"no_customers\": \"Brak klientów!\",\n    \"no_customers_found\": \"Nie znaleziono klientów!\",\n    \"no_contact\": \"Brak kontaktu\",\n    \"no_contact_name\": \"Brak nazwy kontaktu\",\n    \"list_of_customers\": \"Ta sekcja będzie zawierać listę klientów.\",\n    \"primary_display_name\": \"Główna nazwa wyświetlana\",\n    \"select_currency\": \"Wybierz walutę\",\n    \"select_a_customer\": \"Wybierz klienta\",\n    \"type_or_click\": \"Wpisz lub kliknij aby wybrać\",\n    \"new_transaction\": \"Nowa transakcja\",\n    \"no_matching_customers\": \"Brak pasujących klientów!\",\n    \"phone_number\": \"Numer telefonu\",\n    \"create_date\": \"Data utworzenia\",\n    \"confirm_delete\": \"Nie będziesz w stanie odzyskać tego klienta i wszystkich powiązanych faktur, ofert i płatności. | Nie będziesz w stanie odzyskać tych klientów i wszystkich powiązanych faktur, ofert i płatności.\",\n    \"created_message\": \"Klient został utworzony poprawnie\",\n    \"updated_message\": \"Klient został zaktualizowany poprawnie\",\n    \"address_updated_message\": \"Pomyślnie zaktualizowano informacje adresowe\",\n    \"deleted_message\": \"Klient został usunięty pomyślnie | Klienci zostali usunięci pomyślnie\",\n    \"edit_currency_not_allowed\": \"Nie można zmienić waluty po utworzeniu transakcji.\"\n  },\n  \"items\": {\n    \"title\": \"Pozycje\",\n    \"items_list\": \"Lista pozycji\",\n    \"name\": \"Nazwa\",\n    \"unit\": \"Jednostka\",\n    \"description\": \"Opis\",\n    \"added_on\": \"Dodano\",\n    \"price\": \"Cena\",\n    \"date_of_creation\": \"Data utworzenia\",\n    \"not_selected\": \"Nie wybrano elementów\",\n    \"action\": \"Akcja\",\n    \"add_item\": \"Dodaj pozycję\",\n    \"save_item\": \"Zapisz przedmiot\",\n    \"update_item\": \"Aktualizuj element\",\n    \"item\": \"Pozycja | Pozycje\",\n    \"add_new_item\": \"Dodaj nową pozycję\",\n    \"new_item\": \"Nowy produkt\",\n    \"edit_item\": \"Edytuj element\",\n    \"no_items\": \"Brak elementów!\",\n    \"list_of_items\": \"Ta sekcja będzie zawierać listę pozycji.\",\n    \"select_a_unit\": \"wybierz jednostkę\",\n    \"taxes\": \"Podatki\",\n    \"item_attached_message\": \"Nie można usunąć elementu, który jest już używany\",\n    \"confirm_delete\": \"Nie będziesz w stanie odzyskać tej pozycji | Nie będziesz w stanie odzyskać tych pozycji\",\n    \"created_message\": \"Element został pomyślnie zaktualizowany\",\n    \"updated_message\": \"Element został pomyślnie zaktualizowany\",\n    \"deleted_message\": \"Pozycja usunięta pomyślnie | Pozycje usunięte pomyślnie\"\n  },\n  \"estimates\": {\n    \"title\": \"Oferty\",\n    \"accept_estimate\": \"Zaakceptuj Ofertę\",\n    \"reject_estimate\": \"Odrzuć Ofertę\",\n    \"estimate\": \"Oferta | Oferty\",\n    \"estimates_list\": \"Lista ofert\",\n    \"days\": \"{days} Dni\",\n    \"months\": \"{months} Miesiąc\",\n    \"years\": \"{years} Rok\",\n    \"all\": \"Wszystkie\",\n    \"paid\": \"Zapłacone\",\n    \"unpaid\": \"Niezapłacone\",\n    \"customer\": \"KLIENT\",\n    \"ref_no\": \"NR REF.\",\n    \"number\": \"NUMER\",\n    \"amount_due\": \"DO ZAPŁATY\",\n    \"partially_paid\": \"Częściowo opłacona\",\n    \"total\": \"Razem\",\n    \"discount\": \"Rabat\",\n    \"sub_total\": \"Podsumowanie\",\n    \"estimate_number\": \"Numer oferty\",\n    \"ref_number\": \"Numer referencyjny\",\n    \"contact\": \"Kontakt\",\n    \"add_item\": \"Dodaj pozycję\",\n    \"date\": \"Data\",\n    \"due_date\": \"Data ważności\",\n    \"expiry_date\": \"Data wygaśnięcia\",\n    \"status\": \"Status\",\n    \"add_tax\": \"Dodaj podatek\",\n    \"amount\": \"Kwota\",\n    \"action\": \"Akcja\",\n    \"notes\": \"Notatki\",\n    \"tax\": \"Podatek\",\n    \"estimate_template\": \"Szablon\",\n    \"convert_to_invoice\": \"Konwertuj do faktury\",\n    \"mark_as_sent\": \"Oznacz jako wysłane\",\n    \"send_estimate\": \"Wyślij ofertę\",\n    \"resend_estimate\": \"Wyślij ponownie ofertę\",\n    \"record_payment\": \"Zarejestruj płatność\",\n    \"add_estimate\": \"Dodaj ofertę\",\n    \"save_estimate\": \"Zapisz ofertę\",\n    \"confirm_conversion\": \"Ta oferta zostanie użyta do utworzenia nowej faktury.\",\n    \"conversion_message\": \"Faktura została utworzona pomyślnie\",\n    \"confirm_send_estimate\": \"Ta oferta zostanie wysłana pocztą elektroniczną do kontrahenta\",\n    \"confirm_mark_as_sent\": \"Ta oferta zostanie oznaczona jako wysłana\",\n    \"confirm_mark_as_accepted\": \"Ta oferta zostanie oznaczona jako zatwierdzona\",\n    \"confirm_mark_as_rejected\": \"Ta oferta zostanie oznaczona jako odrzucona\",\n    \"no_matching_estimates\": \"Brak pasujących ofert!\",\n    \"mark_as_sent_successfully\": \"Oferta oznaczona jako wysłana pomyślnie\",\n    \"send_estimate_successfully\": \"Kalkulacja wysłana pomyślnie\",\n    \"errors\": {\n      \"required\": \"To pole jest wymagane\"\n    },\n    \"accepted\": \"Zaakceptowano\",\n    \"rejected\": \"Odrzucono\",\n    \"expired\": \"Wygasła\",\n    \"sent\": \"Wysłano\",\n    \"draft\": \"Wersja robocza\",\n    \"viewed\": \"Wyświetlona\",\n    \"declined\": \"Odrzucona\",\n    \"new_estimate\": \"Nowa oferta\",\n    \"add_new_estimate\": \"Dodaj nową ofertę\",\n    \"update_Estimate\": \"Zaktualizuj ofertę\",\n    \"edit_estimate\": \"Edytuj ofertę\",\n    \"items\": \"pozycje\",\n    \"Estimate\": \"Oferta | Oferty\",\n    \"add_new_tax\": \"Dodaj nowy podatek\",\n    \"no_estimates\": \"Nie ma jeszcze ofert!\",\n    \"list_of_estimates\": \"Ta sekcja będzie zawierała listę ofert.\",\n    \"mark_as_rejected\": \"Oznacz jako odrzuconą\",\n    \"mark_as_accepted\": \"Oznacz jako zaakceptowaną\",\n    \"marked_as_accepted_message\": \"Oferty oznaczone jako zaakceptowane\",\n    \"marked_as_rejected_message\": \"Oferty oznaczone jako odrzucone\",\n    \"confirm_delete\": \"Nie będziesz w stanie odzyskać tej oferty | Nie będziesz w stanie odzyskać tych ofert\",\n    \"created_message\": \"Oferta utworzona pomyślnie\",\n    \"updated_message\": \"Oferta zaktualizowana pomyślnie\",\n    \"deleted_message\": \"Oferta usunięta pomyślnie | Oferty usunięte pomyślnie\",\n    \"something_went_wrong\": \"coś poszło nie tak\",\n    \"item\": {\n      \"title\": \"Tytuł pozycji\",\n      \"description\": \"Opis\",\n      \"quantity\": \"Ilość\",\n      \"price\": \"Cena\",\n      \"discount\": \"Rabat\",\n      \"total\": \"Razem\",\n      \"total_discount\": \"Rabat łącznie\",\n      \"sub_total\": \"Podsumowanie\",\n      \"tax\": \"Podatek\",\n      \"amount\": \"Kwota\",\n      \"select_an_item\": \"Wpisz lub kliknij aby wybrać element\",\n      \"type_item_description\": \"Opis pozycji (opcjonalnie)\"\n    },\n    \"mark_as_default_estimate_template_description\": \"If enabled, the selected template will be automatically selected for new estimates.\"\n  },\n  \"invoices\": {\n    \"title\": \"Faktury\",\n    \"download\": \"Pobierz\",\n    \"pay_invoice\": \"Zapłać Fakturę\",\n    \"invoices_list\": \"Lista faktur\",\n    \"invoice_information\": \"Informacje o Fakturze\",\n    \"days\": \"{days} Dni\",\n    \"months\": \"{months} Miesiąc\",\n    \"years\": \"{years} Rok\",\n    \"all\": \"Wszystko\",\n    \"paid\": \"Zapłacono\",\n    \"unpaid\": \"Nie zapłacono\",\n    \"viewed\": \"Przejrzane\",\n    \"overdue\": \"Zaległe\",\n    \"completed\": \"Ukończone\",\n    \"customer\": \"KLIENT\",\n    \"paid_status\": \"STATUS PŁATNOŚCI\",\n    \"ref_no\": \"NR REF.\",\n    \"number\": \"NUMER\",\n    \"amount_due\": \"DO ZAPŁATY\",\n    \"partially_paid\": \"Częściowo opłacona\",\n    \"total\": \"Razem\",\n    \"discount\": \"Rabat\",\n    \"sub_total\": \"Podsumowanie\",\n    \"invoice\": \"Faktura | Faktury\",\n    \"invoice_number\": \"Numer faktury\",\n    \"ref_number\": \"Numer referencyjny\",\n    \"contact\": \"Kontakt\",\n    \"add_item\": \"Dodaj pozycję\",\n    \"date\": \"Data\",\n    \"due_date\": \"Termin płatności\",\n    \"status\": \"Status\",\n    \"add_tax\": \"Dodaj podatek\",\n    \"amount\": \"Kwota\",\n    \"action\": \"Akcja\",\n    \"notes\": \"Notatki\",\n    \"view\": \"Widok\",\n    \"send_invoice\": \"Wyślij fakturę\",\n    \"resend_invoice\": \"Wyślij fakturę ponownie\",\n    \"invoice_template\": \"Szablon faktury\",\n    \"conversion_message\": \"Faktura sklonowana pomyślnie\",\n    \"template\": \"Szablon\",\n    \"mark_as_sent\": \"Oznacz jako wysłane\",\n    \"confirm_send_invoice\": \"Ta faktura zostanie wysłana pocztą elektroniczną do kontrahenta\",\n    \"invoice_mark_as_sent\": \"Ta faktura zostanie oznaczona jako wysłana\",\n    \"confirm_mark_as_accepted\": \"Ta faktura zostanie oznaczona jako Zaakceptowana\",\n    \"confirm_mark_as_rejected\": \"Ta faktura zostanie oznaczona jako Odrzucona\",\n    \"confirm_send\": \"Ta faktura zostanie wysłana pocztą elektroniczną do kontrahenta\",\n    \"invoice_date\": \"Data faktury\",\n    \"record_payment\": \"Zarejestruj płatność\",\n    \"add_new_invoice\": \"Dodaj nową fakturę\",\n    \"update_expense\": \"Zaktualizuj wydatki\",\n    \"edit_invoice\": \"Edytuj fakturę\",\n    \"new_invoice\": \"Nowa faktura\",\n    \"save_invoice\": \"Zapisz fakturę\",\n    \"update_invoice\": \"Zaktualizuj fakturę\",\n    \"add_new_tax\": \"Dodaj nowy podatek\",\n    \"no_invoices\": \"Brak faktur!\",\n    \"mark_as_rejected\": \"Oznacz jako odrzuconą\",\n    \"mark_as_accepted\": \"Oznacz jako zaakceptowaną\",\n    \"list_of_invoices\": \"Ta sekcja będzie zawierać listę faktur.\",\n    \"select_invoice\": \"Wybierz fakturę\",\n    \"no_matching_invoices\": \"Brak pasujących faktur!\",\n    \"mark_as_sent_successfully\": \"Faktura oznaczona jako wysłana pomyślnie\",\n    \"invoice_sent_successfully\": \"Faktura wysłana pomyślnie\",\n    \"cloned_successfully\": \"Faktura sklonowana pomyślnie\",\n    \"clone_invoice\": \"Sklonuj fakturę\",\n    \"confirm_clone\": \"Ta faktura zostanie sklonowana do nowej faktury\",\n    \"item\": {\n      \"title\": \"Tytuł pozycji\",\n      \"description\": \"Opis\",\n      \"quantity\": \"Ilość\",\n      \"price\": \"Cena\",\n      \"discount\": \"Rabat\",\n      \"total\": \"Razem\",\n      \"total_discount\": \"Rabat łącznie\",\n      \"sub_total\": \"Podsumowanie\",\n      \"tax\": \"Podatek\",\n      \"amount\": \"Kwota\",\n      \"select_an_item\": \"Wpisz lub kliknij aby wybrać element\",\n      \"type_item_description\": \"Opis pozycji (opcjonalnie)\"\n    },\n    \"payment_attached_message\": \"Jedna z wybranych faktur ma dołączoną płatność. Upewnij się, że najpierw usuniesz załączone płatności, aby kontynuować usuwanie\",\n    \"confirm_delete\": \"Nie będziesz w stanie odzyskać tej faktury | Nie będziesz w stanie odzyskać tych faktur\",\n    \"created_message\": \"Faktura została utworzona pomyślnie\",\n    \"updated_message\": \"Faktura została pomyślnie zaktualizowana\",\n    \"deleted_message\": \"Faktura usunięta pomyślnie | Faktury usunięte pomyślnie\",\n    \"marked_as_sent_message\": \"Faktura oznaczona jako wysłana pomyślnie\",\n    \"something_went_wrong\": \"coś poszło nie tak\",\n    \"invalid_due_amount_message\": \"Całkowita kwota faktury nie może być mniejsza niż całkowita kwota zapłacona za tę fakturę. Proszę zaktualizować fakturę lub usunąć powiązane płatności, aby kontynuować.\",\n    \"mark_as_default_invoice_template_description\": \"If enabled, the selected template will be automatically selected for new invoices.\"\n  },\n  \"recurring_invoices\": {\n    \"title\": \"Faktury cykliczne\",\n    \"invoices_list\": \"Lista Faktur Cyklicznych\",\n    \"days\": \"{days} Dni\",\n    \"months\": \"{months} Miesięcy\",\n    \"years\": \"{years} Lat\",\n    \"all\": \"Wszystkie\",\n    \"paid\": \"Zapłacone\",\n    \"unpaid\": \"Niezapłacone\",\n    \"viewed\": \"Przeglądane\",\n    \"overdue\": \"Zaległe\",\n    \"active\": \"Aktywne\",\n    \"completed\": \"Ukończone\",\n    \"customer\": \"KLIENT\",\n    \"paid_status\": \"STATUS PŁATNOŚCI\",\n    \"ref_no\": \"NR REF.\",\n    \"number\": \"NUMER\",\n    \"amount_due\": \"DO ZAPŁATY\",\n    \"partially_paid\": \"Częściowo Opłacona\",\n    \"total\": \"Razem\",\n    \"discount\": \"Rabat\",\n    \"sub_total\": \"Suma Pośrednia\",\n    \"invoice\": \"Faktura Cykliczna | Faktury Cykliczne\",\n    \"invoice_number\": \"Numer Faktury Cyklicznej\",\n    \"next_invoice_date\": \"Data następnej Faktury\",\n    \"ref_number\": \"Numer ref.\",\n    \"contact\": \"Kontakt\",\n    \"add_item\": \"Dodaj pozycję\",\n    \"date\": \"Data\",\n    \"limit_by\": \"Ogranicz przez\",\n    \"limit_date\": \"Data ostateczna\",\n    \"limit_count\": \"Limit ilości\",\n    \"count\": \"Liczba\",\n    \"status\": \"Status\",\n    \"select_a_status\": \"Wybierz status\",\n    \"working\": \"Pracuję\",\n    \"on_hold\": \"Wstrzymane\",\n    \"complete\": \"Ukończone\",\n    \"add_tax\": \"Dodaj podatek\",\n    \"amount\": \"Kwota\",\n    \"action\": \"Akcja\",\n    \"notes\": \"Notatki\",\n    \"view\": \"Podgląd\",\n    \"basic_info\": \"Podstawowe informacje\",\n    \"send_invoice\": \"Wyślij Fakturę Cykliczną\",\n    \"auto_send\": \"Automatyczna Wysyłka\",\n    \"resend_invoice\": \"Wyślij ponownie Fakturę Cykliczną\",\n    \"invoice_template\": \"Szablon Faktury Cyklicznej\",\n    \"conversion_message\": \"Faktura Cykliczna sklonowana pomyślnie\",\n    \"template\": \"Szablon\",\n    \"mark_as_sent\": \"Oznacz jako wysłane\",\n    \"confirm_send_invoice\": \"Ta faktura cykliczna zostanie wysłana pocztą elektroniczną do klienta\",\n    \"invoice_mark_as_sent\": \"Ta faktura cykliczna zostanie oznaczona jako wysłana\",\n    \"confirm_send\": \"Ta faktura cykliczna zostanie wysłana pocztą elektroniczną do klienta\",\n    \"starts_at\": \"Data wystawienia\",\n    \"due_date\": \"Termin płatności faktury\",\n    \"record_payment\": \"Zarejestruj płatność\",\n    \"add_new_invoice\": \"Dodaj nową fakturę cykliczną\",\n    \"update_expense\": \"Zaktualizuj wydatek\",\n    \"edit_invoice\": \"Edytuj fakturę cykliczną\",\n    \"new_invoice\": \"Nowa Faktura Cykliczna\",\n    \"send_automatically\": \"Wysyłaj automatycznie\",\n    \"send_automatically_desc\": \"Włącz to, jeśli chcesz automatycznie wysłać fakturę do klienta po jej utworzeniu.\",\n    \"save_invoice\": \"Zapisz Fakturę Cykliczną\",\n    \"update_invoice\": \"Zaktualizuj Fakturę Cykliczną\",\n    \"add_new_tax\": \"Dodaj Nowy Podatek\",\n    \"no_invoices\": \"Brak faktur cyklicznych!\",\n    \"mark_as_rejected\": \"Oznacz jako odrzucona\",\n    \"mark_as_accepted\": \"Oznacz jako zaakceptowana\",\n    \"list_of_invoices\": \"Ta sekcja będzie zawierać listę faktur cyklicznych.\",\n    \"select_invoice\": \"Wybierz fakturę\",\n    \"no_matching_invoices\": \"Brak pasujących faktur cyklicznych!\",\n    \"mark_as_sent_successfully\": \"Faktura Cykliczna oznaczona jako wysłana pomyślnie\",\n    \"invoice_sent_successfully\": \"Faktura Cykliczna wysłana pomyślnie\",\n    \"cloned_successfully\": \"Faktura Cykliczna sklonowana pomyślnie\",\n    \"clone_invoice\": \"Klonuj Fakturę Cykliczną\",\n    \"confirm_clone\": \"Ta faktura cykliczna zostanie sklonowana do nowej faktury cyklicznej\",\n    \"add_customer_email\": \"Please add an email address for this customer to send invoices automatically.\",\n    \"item\": {\n      \"title\": \"Tytuł pozycji\",\n      \"description\": \"Opis\",\n      \"quantity\": \"Ilość\",\n      \"price\": \"Cena\",\n      \"discount\": \"Rabat\",\n      \"total\": \"Razem\",\n      \"total_discount\": \"Rabat łącznie\",\n      \"sub_total\": \"Podsumowanie\",\n      \"tax\": \"Podatek\",\n      \"amount\": \"Kwota\",\n      \"select_an_item\": \"Wpisz lub kliknij aby wybrać element\",\n      \"type_item_description\": \"Opis pozycji (opcjonalnie)\"\n    },\n    \"frequency\": {\n      \"title\": \"Częstotliwość\",\n      \"select_frequency\": \"Wybierz częstotliwość\",\n      \"minute\": \"Minuta\",\n      \"hour\": \"Godzina\",\n      \"day_month\": \"Dzień miesiąca\",\n      \"month\": \"Miesiąc\",\n      \"day_week\": \"Dzień tygodnia\"\n    },\n    \"confirm_delete\": \"Nie będziesz w stanie odzyskać tej faktury | Nie będziesz w stanie odzyskać tych faktur\",\n    \"created_message\": \"Faktura Cykliczna utworzona pomyślnie\",\n    \"updated_message\": \"Faktura Cykliczna zaktualizowana pomyślnie\",\n    \"deleted_message\": \"Faktura Cykliczna usunięta pomyślnie | Faktury Cykliczne usunięte pomyślnie\",\n    \"marked_as_sent_message\": \"Faktura Cykliczna oznaczona jako wysłana pomyślnie\",\n    \"user_email_does_not_exist\": \"E-mail użytkownika nie istnieje\",\n    \"something_went_wrong\": \"coś poszło nie tak\",\n    \"invalid_due_amount_message\": \"Całkowita kwota faktury cyklicznej nie może być mniejsza niż całkowita kwota zapłacona za tę fakturę cykliczną. Proszę zaktualizować fakturę lub usunąć powiązane płatności, aby kontynuować.\"\n  },\n  \"payments\": {\n    \"title\": \"Płatności\",\n    \"payments_list\": \"Lista płatności\",\n    \"record_payment\": \"Zarejestruj płatność\",\n    \"customer\": \"Kontrahent\",\n    \"date\": \"Data\",\n    \"amount\": \"Kwota\",\n    \"action\": \"Akcja\",\n    \"payment_number\": \"Numer płatności\",\n    \"payment_mode\": \"Metoda płatności\",\n    \"invoice\": \"Faktura\",\n    \"note\": \"Notatka\",\n    \"add_payment\": \"Dodaj płatność\",\n    \"new_payment\": \"Nowa płatność\",\n    \"edit_payment\": \"Edytuj płatność\",\n    \"view_payment\": \"Wyświetl płatność\",\n    \"add_new_payment\": \"Dodaj nową płatność\",\n    \"send_payment_receipt\": \"Wyślij potwierdzenie płatności\",\n    \"send_payment\": \"Wyślij płatność\",\n    \"save_payment\": \"Zapisz płatność\",\n    \"update_payment\": \"Zaktualizuj płatność\",\n    \"payment\": \"Płatność | Płatności\",\n    \"no_payments\": \"Nie ma jeszcze płatności!\",\n    \"not_selected\": \"Nie wybrano\",\n    \"no_invoice\": \"Brak faktury\",\n    \"no_matching_payments\": \"Brak pasujących płatności!\",\n    \"list_of_payments\": \"Ta sekcja będzie zawierać listę płatności.\",\n    \"select_payment_mode\": \"Wybierz sposób płatności\",\n    \"confirm_mark_as_sent\": \"Ta oferta zostanie oznaczona jako wysłana\",\n    \"confirm_send_payment\": \"Ta płatność zostanie wysłana e-mailem do kontrahenta\",\n    \"send_payment_successfully\": \"Płatność wysłana pomyślnie\",\n    \"something_went_wrong\": \"coś poszło nie tak\",\n    \"confirm_delete\": \"Nie będziesz w stanie odzyskać tej płatności | Nie będziesz w stanie odzyskać tych płatności\",\n    \"created_message\": \"Płatność została pomyślnie utworzona\",\n    \"updated_message\": \"Płatność została pomyślnie zaktualizowana\",\n    \"deleted_message\": \"Płatność usunięta pomyślnie | Płatności usunięte pomyślnie\",\n    \"invalid_amount_message\": \"Kwota płatności jest nieprawidłowa\"\n  },\n  \"expenses\": {\n    \"title\": \"Wydatki\",\n    \"expenses_list\": \"Lista wydatków\",\n    \"select_a_customer\": \"Wybierz kontrahenta\",\n    \"expense_title\": \"Tytuł\",\n    \"customer\": \"Kontrahent\",\n    \"currency\": \"Waluta\",\n    \"contact\": \"Kontakt\",\n    \"category\": \"Kategoria\",\n    \"from_date\": \"Od daty\",\n    \"to_date\": \"Do daty\",\n    \"expense_date\": \"Data\",\n    \"description\": \"Opis\",\n    \"receipt\": \"Potwierdzenie\",\n    \"amount\": \"Kwota\",\n    \"action\": \"Akcja\",\n    \"not_selected\": \"Nie wybrano\",\n    \"note\": \"Notatka\",\n    \"category_id\": \"Identyfikator kategorii\",\n    \"date\": \"Data\",\n    \"add_expense\": \"Dodaj wydatek\",\n    \"add_new_expense\": \"Dodaj nowy wydatek\",\n    \"save_expense\": \"Zapisz wydatek\",\n    \"update_expense\": \"Zaktualizuj wydatek\",\n    \"download_receipt\": \"Pobierz potwierdzenie wpłaty\",\n    \"edit_expense\": \"Edytuj wydatek\",\n    \"new_expense\": \"Nowy wydatek\",\n    \"expense\": \"Wydatek | Wydatki\",\n    \"no_expenses\": \"Nie ma jeszcze wydatków!\",\n    \"list_of_expenses\": \"Ta sekcja będzie zawierała listę wydatków.\",\n    \"confirm_delete\": \"Nie będziesz w stanie odzyskać tego wydatku | Nie będziesz w stanie odzyskać tych wydatków\",\n    \"created_message\": \"Wydatek utworzony pomyślnie\",\n    \"updated_message\": \"Wydatek zaktualizowany pomyślnie\",\n    \"deleted_message\": \"Wydatek usunięty pomyślnie | Wydatki usunięte pomyślnie\",\n    \"categories\": {\n      \"categories_list\": \"Lista kategorii\",\n      \"title\": \"Tytuł\",\n      \"name\": \"Nazwa\",\n      \"description\": \"Opis\",\n      \"amount\": \"Kwota\",\n      \"actions\": \"Akcje\",\n      \"add_category\": \"Dodaj kategorię\",\n      \"new_category\": \"Nowa kategoria\",\n      \"category\": \"Kategoria | Kategorie\",\n      \"select_a_category\": \"Wybierz kategorię\"\n    }\n  },\n  \"login\": {\n    \"email\": \"E-mail\",\n    \"password\": \"Hasło\",\n    \"forgot_password\": \"Nie pamiętasz hasła?\",\n    \"or_signIn_with\": \"lub zaloguj się przez\",\n    \"login\": \"Logowanie\",\n    \"register\": \"Rejestracja\",\n    \"reset_password\": \"Resetuj hasło\",\n    \"password_reset_successfully\": \"Hasło zostało pomyślnie zresetowane\",\n    \"enter_email\": \"Wprowadź adres e-mail\",\n    \"enter_password\": \"Wprowadź hasło\",\n    \"retype_password\": \"Wprowadź hasło ponownie\"\n  },\n  \"modules\": {\n    \"buy_now\": \"Kup teraz\",\n    \"install\": \"Instaluj\",\n    \"price\": \"Cena\",\n    \"download_zip_file\": \"Pobierz plik ZIP\",\n    \"unzipping_package\": \"Rozpakowywanie pakietu\",\n    \"copying_files\": \"Kopiowanie plików\",\n    \"deleting_files\": \"Usuwanie nieużywanych plików\",\n    \"completing_installation\": \"Kończenie instalacji\",\n    \"update_failed\": \"Aktualizacja nie powiodła się\",\n    \"install_success\": \"Pomyślnie zainstalowano Moduł!\",\n    \"customer_reviews\": \"Opinie\",\n    \"license\": \"Licencja\",\n    \"faq\": \"Najczęściej zadawane pytania (FAQ)\",\n    \"monthly\": \"Miesięcznie\",\n    \"yearly\": \"Rocznie\",\n    \"updated\": \"Zaktualizowano\",\n    \"version\": \"Wersja\",\n    \"disable\": \"Wyłacz\",\n    \"module_disabled\": \"Moduł Wyłączony\",\n    \"enable\": \"Włącz\",\n    \"module_enabled\": \"Moduł Włączony\",\n    \"update_to\": \"Aktualizuj do\",\n    \"module_updated\": \"Moduł zaktualizowany pomyślnie!\",\n    \"title\": \"Moduły\",\n    \"module\": \"Moduł | Moduły\",\n    \"api_token\": \"Token API\",\n    \"invalid_api_token\": \"Nieprawidłowy token API.\",\n    \"other_modules\": \"Pozostałe Moduły\",\n    \"view_all\": \"Zobacz Wszystkie\",\n    \"no_reviews_found\": \"Brak opinii dla tego Modułu!\",\n    \"module_not_purchased\": \"Moduł niezakupiony\",\n    \"module_not_found\": \"Nie znaleziono modułu\",\n    \"version_not_supported\": \"Ta wersja modułu nie obsługuje bieżącej wersji Aplikacji\",\n    \"last_updated\": \"Ostatnio aktualizowany\",\n    \"connect_installation\": \"Połącz swoją instalację\",\n    \"api_token_description\": \"Zaloguj się do {url} i podłącz tę instalację wprowadzając token API. Zakupione moduły pojawią się tutaj po nawiązaniu połączenia.\",\n    \"view_module\": \"Zobacz moduł\",\n    \"update_available\": \"Aktualizacja Dostępna\",\n    \"purchased\": \"Zakupiono\",\n    \"installed\": \"Zainstalowano\",\n    \"no_modules_installed\": \"Brak zainstalowanych modułów!\",\n    \"disable_warning\": \"Wszystkie ustawienia dla tego konkretnego zostaną przywrócone.\",\n    \"what_you_get\": \"Co otrzymasz\"\n  },\n  \"users\": {\n    \"title\": \"Użytkownicy\",\n    \"users_list\": \"Lista użytkowników\",\n    \"name\": \"Nazwa\",\n    \"description\": \"Opis\",\n    \"added_on\": \"Dodano dnia\",\n    \"date_of_creation\": \"Data utworzenia\",\n    \"action\": \"Akcja\",\n    \"add_user\": \"Dodaj użytkownika\",\n    \"save_user\": \"Zapisz użytkownika\",\n    \"update_user\": \"Zaktualizuj użytkownika\",\n    \"user\": \"Użytkownik | Użytkownicy\",\n    \"add_new_user\": \"Dodaj nowego użytkownika\",\n    \"new_user\": \"Nowy użytkownik\",\n    \"edit_user\": \"Edytuj użytkownika\",\n    \"no_users\": \"Brak użytkowników!\",\n    \"list_of_users\": \"Ta sekcja będzie zawierała listę użytkowników.\",\n    \"email\": \"Email\",\n    \"phone\": \"Telefon\",\n    \"password\": \"Hasło\",\n    \"user_attached_message\": \"Nie można usunąć elementu, który jest już w użyciu\",\n    \"confirm_delete\": \"Nie będziesz w stanie odzyskać tego użytkownika | Nie będziesz w stanie odzyskać tych użytkowników\",\n    \"created_message\": \"Użytkownik został utworzony pomyślnie\",\n    \"updated_message\": \"Użytkownik został zaktualizowany pomyślnie\",\n    \"deleted_message\": \"Użytkownik usunięty pomyślnie | Użytkownicy usunięci pomyślnie\",\n    \"select_company_role\": \"Wybierz Rolę dla {company}\",\n    \"companies\": \"Firmy\"\n  },\n  \"reports\": {\n    \"title\": \"Raport\",\n    \"from_date\": \"Od daty\",\n    \"to_date\": \"Do daty\",\n    \"status\": \"Status\",\n    \"paid\": \"Zapłacono\",\n    \"unpaid\": \"Nie zapłacono\",\n    \"download_pdf\": \"Pobierz plik PDF\",\n    \"view_pdf\": \"Podgląd PDF\",\n    \"update_report\": \"Aktualizuj raport\",\n    \"report\": \"Raport | Raporty\",\n    \"profit_loss\": {\n      \"profit_loss\": \"Zyski i straty\",\n      \"to_date\": \"Do daty\",\n      \"from_date\": \"Od daty\",\n      \"date_range\": \"Wybierz zakres dat\"\n    },\n    \"sales\": {\n      \"sales\": \"Sprzedaż\",\n      \"date_range\": \"Wybierz zakres dat\",\n      \"to_date\": \"Do daty\",\n      \"from_date\": \"Od daty\",\n      \"report_type\": \"Typ raportu\"\n    },\n    \"taxes\": {\n      \"taxes\": \"Podatki\",\n      \"to_date\": \"Do daty\",\n      \"from_date\": \"Od daty\",\n      \"date_range\": \"Wybierz zakres dat\"\n    },\n    \"errors\": {\n      \"required\": \"To pole jest wymagane\"\n    },\n    \"invoices\": {\n      \"invoice\": \"Faktura\",\n      \"invoice_date\": \"Data faktury\",\n      \"due_date\": \"Termin płatności\",\n      \"amount\": \"Kwota\",\n      \"contact_name\": \"Nazwa kontaktu\",\n      \"status\": \"Status\"\n    },\n    \"estimates\": {\n      \"estimate\": \"Oferta\",\n      \"estimate_date\": \"Data oferty\",\n      \"due_date\": \"Data ważności\",\n      \"estimate_number\": \"Numer oferty\",\n      \"ref_number\": \"Numer referencyjny\",\n      \"amount\": \"Kwota\",\n      \"contact_name\": \"Nazwa kontaktu\",\n      \"status\": \"Status\"\n    },\n    \"expenses\": {\n      \"expenses\": \"Wydatki\",\n      \"category\": \"Kategoria\",\n      \"date\": \"Data\",\n      \"amount\": \"Kwota\",\n      \"to_date\": \"Do daty\",\n      \"from_date\": \"Od daty\",\n      \"date_range\": \"Wybierz zakres dat\"\n    }\n  },\n  \"settings\": {\n    \"menu_title\": {\n      \"account_settings\": \"Ustawienia konta\",\n      \"company_information\": \"Informacje o firmie\",\n      \"customization\": \"Dostosowywanie\",\n      \"preferences\": \"Opcje\",\n      \"notifications\": \"Powiadomienia\",\n      \"tax_types\": \"Rodzaje podatku\",\n      \"expense_category\": \"Kategorie wydatku\",\n      \"update_app\": \"Aktualizuj aplikację\",\n      \"backup\": \"Kopia zapasowa\",\n      \"file_disk\": \"Dysk plików\",\n      \"custom_fields\": \"Pola niestandardowe\",\n      \"payment_modes\": \"Rodzaje płatności\",\n      \"notes\": \"Notatki\",\n      \"exchange_rate\": \"Kurs wymiany\",\n      \"address_information\": \"Informacje Adresowe\"\n    },\n    \"address_information\": {\n      \"section_description\": \"  Możesz zaktualizować informacje o adresie za pomocą poniższego formularza.\"\n    },\n    \"title\": \"Ustawienia\",\n    \"setting\": \"Ustawienia | Ustawienia\",\n    \"general\": \"Ogólne\",\n    \"language\": \"Język\",\n    \"primary_currency\": \"Waluta główna\",\n    \"timezone\": \"Strefa czasowa\",\n    \"date_format\": \"Format daty\",\n    \"currencies\": {\n      \"title\": \"Waluty\",\n      \"currency\": \"Waluta | Waluty\",\n      \"currencies_list\": \"Lista walut\",\n      \"select_currency\": \"Wybierz walutę\",\n      \"name\": \"Nazwa\",\n      \"code\": \"Kod\",\n      \"symbol\": \"Symbol\",\n      \"precision\": \"Dokładność\",\n      \"thousand_separator\": \"Separator tysięcy\",\n      \"decimal_separator\": \"Separator dziesiętny\",\n      \"position\": \"Pozycja\",\n      \"position_of_symbol\": \"Położenie symbolu\",\n      \"right\": \"Do prawej\",\n      \"left\": \"Do lewej\",\n      \"action\": \"Akcja\",\n      \"add_currency\": \"Dodaj walutę\"\n    },\n    \"mail\": {\n      \"host\": \"Adres hosta poczty\",\n      \"port\": \"Port poczty\",\n      \"driver\": \"Sterownik poczty\",\n      \"secret\": \"Tajny klucz\",\n      \"mailgun_secret\": \"Mailgun Secret\",\n      \"mailgun_domain\": \"Domena\",\n      \"mailgun_endpoint\": \"Punkt dostępowy Mailgun\",\n      \"ses_secret\": \"Tajny klucz SES\",\n      \"ses_key\": \"Klucz SES\",\n      \"password\": \"Hasło poczty\",\n      \"username\": \"Nazwa użytkownika poczty\",\n      \"mail_config\": \"Konfiguracja poczty\",\n      \"from_name\": \"Nazwa nadawcy\",\n      \"from_mail\": \"Adres e-mail nadawcy\",\n      \"encryption\": \"Szyfrowanie poczty\",\n      \"mail_config_desc\": \"Poniżej znajduje się formularz konfiguracji sterownika poczty e-mail do wysyłania wiadomości e-mail z aplikacji. Możesz również skonfigurować zewnętrznych dostawców takich jak Sendgrid, SES itp.\"\n    },\n    \"pdf\": {\n      \"title\": \"Ustawienia PDF\",\n      \"footer_text\": \"Teks stopki\",\n      \"pdf_layout\": \"Szablon PDF\"\n    },\n    \"company_info\": {\n      \"company_info\": \"Dane firmy\",\n      \"company_name\": \"Nazwa firmy\",\n      \"company_logo\": \"Logo firmy\",\n      \"section_description\": \"Informacje o Twojej firmie, które będą wyświetlane na fakturach, ofertach i innych dokumentach stworzonych przez Crater.\",\n      \"phone\": \"Telefon\",\n      \"country\": \"Kraj\",\n      \"state\": \"Województwo\",\n      \"city\": \"Miasto\",\n      \"address\": \"Adres\",\n      \"zip\": \"Kod pocztowy\",\n      \"save\": \"Zapisz\",\n      \"delete\": \"Usuń\",\n      \"updated_message\": \"Informacje o firmie zostały pomyślnie zaktualizowane\",\n      \"delete_company\": \"Usuń firmę\",\n      \"delete_company_description\": \"Po usunięciu firmy stracisz na stałe wszystkie dane i pliki z nią powiązane.\",\n      \"are_you_absolutely_sure\": \"Czy jesteś absolutnie pewien?\",\n      \"delete_company_modal_desc\": \"Tej akcji nie można cofnąć. Spowoduje to trwałe usunięcie {company} i wszystkich powiązanych z nią danych.\",\n      \"delete_company_modal_label\": \"Wpisz {company} aby potwierdzić\"\n    },\n    \"custom_fields\": {\n      \"title\": \"Pola niestandardowe\",\n      \"section_description\": \"Dostosuj swoje faktury, oferty i wpływy płatności własnymi polami. Upewnij się, że używasz poniższych pól w formatach adresowych na stronie ustawień dostosowywania.\",\n      \"add_custom_field\": \"Dodaj pole niestandardowe\",\n      \"edit_custom_field\": \"Edytuj pole niestandardowe\",\n      \"field_name\": \"Nazwa pola\",\n      \"label\": \"Etykieta\",\n      \"type\": \"Typ\",\n      \"name\": \"Nazwa\",\n      \"slug\": \"Przyjazny link\",\n      \"required\": \"Wymagane\",\n      \"placeholder\": \"Symbol zastępczy\",\n      \"help_text\": \"Tekst pomocy\",\n      \"default_value\": \"Wartość domyślna\",\n      \"prefix\": \"Prefiks\",\n      \"starting_number\": \"Numer początkowy\",\n      \"model\": \"Model\",\n      \"help_text_description\": \"Wprowadź jakiś tekst, aby pomóc użytkownikom zrozumieć cel tego pola niestandardowego.\",\n      \"suffix\": \"Sufiks\",\n      \"yes\": \"Tak\",\n      \"no\": \"Nie\",\n      \"order\": \"Zamówienie\",\n      \"custom_field_confirm_delete\": \"Nie będziesz w stanie odzyskać tego niestandardowego pola\",\n      \"already_in_use\": \"Pole niestandardowe jest już w użyciu\",\n      \"deleted_message\": \"Pole niestandardowe zostało usunięte pomyślnie\",\n      \"options\": \"opcje\",\n      \"add_option\": \"Dodaj opcje\",\n      \"add_another_option\": \"Dodaj inną opcję\",\n      \"sort_in_alphabetical_order\": \"Sortuj według kolejności alfabetycznej\",\n      \"add_options_in_bulk\": \"Dodaj opcje zbiorcze\",\n      \"use_predefined_options\": \"Użyj predefiniowanych opcji\",\n      \"select_custom_date\": \"Wybierz niestandardową datę\",\n      \"select_relative_date\": \"Wybierz datę względną\",\n      \"ticked_by_default\": \"Zaznaczone domyślnie\",\n      \"updated_message\": \"Pole niestandardowe zostało zaktualizowane pomyślnie\",\n      \"added_message\": \"Pole niestandardowe zostało dodane pomyślnie\",\n      \"press_enter_to_add\": \"Naciśnij Enter, aby dodać nową opcję\",\n      \"model_in_use\": \"Nie można zaktualizować modelu dla pól, które są już używane.\",\n      \"type_in_use\": \"Nie można zaktualizować typu dla pól, które są już używane.\"\n    },\n    \"customization\": {\n      \"customization\": \"dostosowywanie\",\n      \"updated_message\": \"Informacje o firmie zostały pomyślnie zaktualizowane\",\n      \"save\": \"Zapisz\",\n      \"insert_fields\": \"Wstaw pola\",\n      \"learn_custom_format\": \"Dowiedz się, jak używać niestandardowego formatu\",\n      \"add_new_component\": \"Dodaj składnik\",\n      \"component\": \"Składnik\",\n      \"Parameter\": \"Parametr\",\n      \"series\": \"Serie\",\n      \"series_description\": \"Aby ustawić statyczny przedrostek / przyrostek, taki jak 'INV' dla całej firmy. Obsługiwana długość do 6 znaków.\",\n      \"series_param_label\": \"Wartość serii\",\n      \"delimiter\": \"Separator\",\n      \"delimiter_description\": \"Pojedynczy znak do określenia granicy pomiędzy 2 oddzielnymi składnikami. Domyślnie ustawiony na -\",\n      \"delimiter_param_label\": \"Wartość separatora\",\n      \"date_format\": \"Format daty\",\n      \"date_format_description\": \"Pole daty i czasu lokalnego, które akceptuje parametr formatu. Domyślny format: 'Y' renderuje bieżący rok.\",\n      \"date_format_param_label\": \"Format\",\n      \"sequence\": \"Sekwencja\",\n      \"sequence_description\": \"Ciągła sekwencja numerów w firmie. Możesz określić długość podanego parametru.\",\n      \"sequence_param_label\": \"Długość sekwencji\",\n      \"customer_series\": \"Seria klientów\",\n      \"customer_series_description\": \"Aby ustawić inny przedrostek / przyrostek dla każdego klienta.\",\n      \"customer_sequence\": \"Sekwencja Klienta\",\n      \"customer_sequence_description\": \"Ciągła sekwencja numerów dla każdego klienta.\",\n      \"customer_sequence_param_label\": \"Długość sekwencji\",\n      \"random_sequence\": \"Losowa sekwencja\",\n      \"random_sequence_description\": \"Losowy ciąg alfanumeryczny. Możesz określić długość podanego parametru.\",\n      \"random_sequence_param_label\": \"Długość sekwencji\",\n      \"invoices\": {\n        \"title\": \"Faktury\",\n        \"invoice_number_format\": \"Format Numer Faktury\",\n        \"invoice_number_format_description\": \"Dostosuj sposób generowania numeru faktury podczas tworzenia nowej faktury.\",\n        \"preview_invoice_number\": \"Podgląd Numer faktury\",\n        \"due_date\": \"Termin płatności\",\n        \"due_date_description\": \"Określ, w jaki sposób termin płatności jest ustawiany automatycznie podczas tworzenia faktury.\",\n        \"due_date_days\": \"Faktura do zapłaty po dniach\",\n        \"set_due_date_automatically\": \"Ustaw termin płatności automatycznie\",\n        \"set_due_date_automatically_description\": \"Włącz tę opcję, jeśli chcesz ustawić termin płatności automatycznie podczas tworzenia nowej faktury.\",\n        \"default_formats\": \"Formaty domyślne\",\n        \"default_formats_description\": \"Poniżej podane formaty są używane do automatycznego wypełniania pól przy tworzeniu faktury.\",\n        \"default_invoice_email_body\": \"Domyślny nagłówek e-maila faktury\",\n        \"company_address_format\": \"Format adresu firmy\",\n        \"shipping_address_format\": \"Format adresu dostawy\",\n        \"billing_address_format\": \"Format adresu do faktury\",\n        \"invoice_email_attachment\": \"Wyślij faktury jako załączniki\",\n        \"invoice_email_attachment_setting_description\": \"Włącz to, jeśli chcesz wysyłać faktury jako załącznik e-mail. Pamiętaj, że przycisk 'Zobacz fakturę' w wiadomościach e-mail nie będzie już wyświetlany, gdy jest włączony.\",\n        \"invoice_settings_updated\": \"Ustawienia faktury zostały pomyślnie zaktualizowane\",\n        \"retrospective_edits\": \"Edycje Wsteczne\",\n        \"allow\": \"Zezwól\",\n        \"disable_on_invoice_partial_paid\": \"Wyłącz po zarejestrowaniu płatności częściowej\",\n        \"disable_on_invoice_paid\": \"Wyłącz po zarejestrowaniu całej płatności\",\n        \"disable_on_invoice_sent\": \"Wyłącz po wysłaniu faktury\",\n        \"retrospective_edits_description\": \" Na podstawie prawa krajowego lub twoich preferencji, możesz ograniczyć użytkowników do edycji ukończonych faktur.\"\n      },\n      \"estimates\": {\n        \"title\": \"Oferty\",\n        \"estimate_number_format\": \"Format Numeru Oferty\",\n        \"estimate_number_format_description\": \"Dostosuj sposób generowania numeru oferty podczas tworzenia nowej oferty.\",\n        \"preview_estimate_number\": \"Podgląd Numeru Oferty\",\n        \"expiry_date\": \"Data wygaśnięcia\",\n        \"expiry_date_description\": \"Określ, w jaki sposób data wygaśnięcia jest ustawiana automatycznie podczas tworzenia oferty.\",\n        \"expiry_date_days\": \"Oferta wygasa po dniach\",\n        \"set_expiry_date_automatically\": \"Ustaw automatycznie datę wygaśnięcia\",\n        \"set_expiry_date_automatically_description\": \"Włącz to, jeśli chcesz ustawić automatycznie datę wygaśnięcia, gdy tworzysz nową ofertę.\",\n        \"default_formats\": \"Formaty domyślne\",\n        \"default_formats_description\": \"Poniżej podane formaty są używane do automatycznego wypełniania pól przy tworzeniu oferty.\",\n        \"default_estimate_email_body\": \"Domyślny nagłówek e-maila oferty\",\n        \"company_address_format\": \"Format adresu firmy\",\n        \"shipping_address_format\": \"Format adresu dostawy\",\n        \"billing_address_format\": \"Format adresu do faktury\",\n        \"estimate_email_attachment\": \"Wyślij oferty jako załączniki\",\n        \"estimate_email_attachment_setting_description\": \"Włącz to, jeśli chcesz wysyłać oferty jako załącznik e-mail. Pamiętaj, że przycisk 'Zobacz ofertę' w wiadomościach e-mail nie będzie już wyświetlany, gdy jest włączony.\",\n        \"estimate_settings_updated\": \"Ustawienia oferty zostały pomyślnie zaktualizowane\",\n        \"convert_estimate_options\": \"Akcja konwersji Oferty\",\n        \"convert_estimate_description\": \"Określ co dzieje się z ofertą po przekonwertowaniu jej w fakturę.\",\n        \"no_action\": \"Brak akcji\",\n        \"delete_estimate\": \"Usuń ofertę\",\n        \"mark_estimate_as_accepted\": \"Oznacz jako zaakceptowaną\"\n      },\n      \"payments\": {\n        \"title\": \"Płatności\",\n        \"payment_number_format\": \"Format Numeru Płatności\",\n        \"payment_number_format_description\": \"Dostosuj sposób generowania numeru płatności podczas tworzenia nowej płatności.\",\n        \"preview_payment_number\": \"Podgląd Numeru Płatności\",\n        \"default_formats\": \"Formaty domyślne\",\n        \"default_formats_description\": \"Poniżej podane formaty są używane do automatycznego wypełniania pól przy tworzeniu płatności.\",\n        \"default_payment_email_body\": \"Domyślny nagłówek e-maila płatności\",\n        \"company_address_format\": \"Format adresu firmy\",\n        \"from_customer_address_format\": \"Format adresu nadawcy\",\n        \"payment_email_attachment\": \"Wyślij płatności jako załączniki\",\n        \"payment_email_attachment_setting_description\": \"Włącz to, jeśli chcesz wysyłać płatności jako załącznik e-mail. Pamiętaj, że przycisk 'Zobacz płatność' w wiadomościach e-mail nie będzie już wyświetlany, gdy jest włączony.\",\n        \"payment_settings_updated\": \"Ustawienia płatności zostały pomyślnie zaktualizowane\"\n      },\n      \"items\": {\n        \"title\": \"Pozycje\",\n        \"units\": \"Jednostki\",\n        \"add_item_unit\": \"Dodaj jednostkę\",\n        \"edit_item_unit\": \"Edytuj jednostkę\",\n        \"unit_name\": \"Nazwa jednostki\",\n        \"item_unit_added\": \"Dodano jednostkę\",\n        \"item_unit_updated\": \"Zaktualizowano jednostkę\",\n        \"item_unit_confirm_delete\": \"Nie będziesz w stanie odzyskać tej jednostki przedmiotu\",\n        \"already_in_use\": \"Jednostka pozycji jest już w użyciu\",\n        \"deleted_message\": \"Jednostka pozycji została usunięta pomyślnie\"\n      },\n      \"notes\": {\n        \"title\": \"Notatki\",\n        \"description\": \"Oszczędzaj czas, tworząc notatki i ponownie używając ich na fakturach, ofertach i płatnościach.\",\n        \"notes\": \"Notatki\",\n        \"type\": \"Typ\",\n        \"add_note\": \"Dodaj notatkę\",\n        \"add_new_note\": \"Dodaj nową notatkę\",\n        \"name\": \"Nazwa\",\n        \"edit_note\": \"Edytuj notatkę\",\n        \"note_added\": \"Notatka została dodana pomyślnie\",\n        \"note_updated\": \"Notatka zaktualizowana pomyślnie\",\n        \"note_confirm_delete\": \"Nie będziesz w stanie odzyskać tej notatki\",\n        \"already_in_use\": \"Notatka jest już w użyciu\",\n        \"deleted_message\": \"Notatka została usunięta pomyślnie\"\n      }\n    },\n    \"account_settings\": {\n      \"profile_picture\": \"Zdjęcie profilowe\",\n      \"name\": \"Nazwa\",\n      \"email\": \"Email\",\n      \"password\": \"Hasło\",\n      \"confirm_password\": \"Potwierdź hasło\",\n      \"account_settings\": \"Ustawienia konta\",\n      \"save\": \"Zapisz\",\n      \"section_description\": \"Możesz zaktualizować swoje imię, e-mail i hasło używając poniższego formularza.\",\n      \"updated_message\": \"Ustawienia konta zostały pomyślnie zaktualizowane\"\n    },\n    \"user_profile\": {\n      \"name\": \"Nazwa\",\n      \"email\": \"Email\",\n      \"password\": \"Hasło\",\n      \"confirm_password\": \"Potwierdź hasło\"\n    },\n    \"notification\": {\n      \"title\": \"Powiadomienie\",\n      \"email\": \"Wyślij powiadomienie do\",\n      \"description\": \"Które powiadomienia e-mail chcesz otrzymywać kiedy coś się zmieni?\",\n      \"invoice_viewed\": \"Faktura wyświetlona\",\n      \"invoice_viewed_desc\": \"Kiedy klient wyświetli fakturę wysłaną za pośrednictwem kokpitu Cratera.\",\n      \"estimate_viewed\": \"Oferta wyświetlona\",\n      \"estimate_viewed_desc\": \"Kiedy klient wyświetli ofertę wysłaną za pośrednictwem kokpitu Cratera.\",\n      \"save\": \"Zapisz\",\n      \"email_save_message\": \"Wiadomość zapisana pomyślnie\",\n      \"please_enter_email\": \"Proszę wpisać adres e-mail\"\n    },\n    \"roles\": {\n      \"title\": \"Role\",\n      \"description\": \"Zarządzaj rolami i uprawnieniami tej firmy\",\n      \"save\": \"Zapisz\",\n      \"add_new_role\": \"Dodaj nową Rolę\",\n      \"role_name\": \"Nazwa Roli\",\n      \"added_on\": \"Dodano\",\n      \"add_role\": \"Dodaj Rolę\",\n      \"edit_role\": \"Edytuj Rolę\",\n      \"name\": \"Nazwa\",\n      \"permission\": \"Uprawnienie | Uprawnienia\",\n      \"select_all\": \"Zaznacz Wszystko\",\n      \"none\": \"Żadne\",\n      \"confirm_delete\": \"Nie będziesz w stanie odzyskać tej Roli\",\n      \"created_message\": \"Rola utworzona pomyślnie\",\n      \"updated_message\": \"Rola pomyślnie zaktualizowana\",\n      \"deleted_message\": \"Rola pomyślnie usunięta\",\n      \"already_in_use\": \"Rola jest już w użyciu\"\n    },\n    \"exchange_rate\": {\n      \"exchange_rate\": \"Kurs wymiany\",\n      \"title\": \"Napraw problemy wymiany walut\",\n      \"description\": \"Wprowadź kurs wymiany wszystkich walut wymienionych poniżej, aby pomóc Aplikacji we właściwym obliczeniu kwot w {currency}.\",\n      \"drivers\": \"Sterowniki\",\n      \"new_driver\": \"Dodaj nowego dostawcę\",\n      \"edit_driver\": \"Edytuj dostawcę\",\n      \"select_driver\": \"Wybierz sterownik\",\n      \"update\": \"wybierz kurs wymiany \",\n      \"providers_description\": \"Skonfiguruj dostawców kursu wymiany walut, aby automatycznie pobierać najnowszy kurs wymiany walut.\",\n      \"key\": \"Klucz API\",\n      \"name\": \"Nazwa\",\n      \"driver\": \"Sterownik\",\n      \"is_default\": \"JEST DOMYŚLNY\",\n      \"currency\": \"Waluty\",\n      \"exchange_rate_confirm_delete\": \"Nie będziesz w stanie odzyskać tego sterownika\",\n      \"created_message\": \"Dostawca utworzony pomyślnie\",\n      \"updated_message\": \"Dostawca zaktualizowany pomyślnie\",\n      \"deleted_message\": \"Dostawca usunięty pomyślnie\",\n      \"error\": \" Nie można usunąć aktywnego sterownika\",\n      \"default_currency_error\": \"Ta waluta jest już używana w jednym z aktywnych dostawców\",\n      \"exchange_help_text\": \"Wprowadź kurs wymiany walut, aby przeliczyć z {currency} na {baseCurrency}\",\n      \"currency_freak\": \"Currency Freak\",\n      \"currency_layer\": \"Currency Layer\",\n      \"open_exchange_rate\": \"Open Exchange Rate\",\n      \"currency_converter\": \"Przelicznik walut\",\n      \"server\": \"Serwer\",\n      \"url\": \"Adres URL\",\n      \"active\": \"Aktywny\",\n      \"currency_help_text\": \"Ten dostawca będzie używany tylko dla wybranych walut\",\n      \"currency_in_used\": \"Następujące waluty są już aktywne u innego dostawcy. Usuń te waluty z wyboru, aby ponownie aktywować tego dostawcę.\"\n    },\n    \"tax_types\": {\n      \"title\": \"Rodzaje opodatkowania\",\n      \"add_tax\": \"Dodaj podatek\",\n      \"edit_tax\": \"Edytuj podatek\",\n      \"description\": \"Możesz dodawać lub usuwać podatki. Crater obsługuje podatki od poszczególnych produktów, jak również na fakturze.\",\n      \"add_new_tax\": \"Dodaj nowy podatek\",\n      \"tax_settings\": \"Ustawienia podatku\",\n      \"tax_per_item\": \"Podatek na produkt\",\n      \"tax_name\": \"Nazwa podatku\",\n      \"compound_tax\": \"Podatek złożony\",\n      \"percent\": \"Procent\",\n      \"action\": \"Akcja\",\n      \"tax_setting_description\": \"Włącz to, jeśli chcesz dodać podatki do poszczególnych elementów faktury. Domyślnie podatki są dodawane bezpośrednio do całej faktury.\",\n      \"created_message\": \"Typ podatku został pomyślnie utworzony\",\n      \"updated_message\": \"Typ podatku został pomyślnie zaktualizowany\",\n      \"deleted_message\": \"Typ podatku został pomyślnie usunięty\",\n      \"confirm_delete\": \"Nie będziesz w stanie odzyskać tego typu podatku\",\n      \"already_in_use\": \"Ten podatek jest w użyciu\"\n    },\n    \"payment_modes\": {\n      \"title\": \"Metody Płatności\",\n      \"description\": \"Sposoby transakcji dla płatności\",\n      \"add_payment_mode\": \"Dodaj metodę płatności\",\n      \"edit_payment_mode\": \"Edytuj metodę płatności\",\n      \"mode_name\": \"Nazwa metody\",\n      \"payment_mode_added\": \"Dodano metodę płatności\",\n      \"payment_mode_updated\": \"Zaktualizowano metodę płatności\",\n      \"payment_mode_confirm_delete\": \"Nie będziesz w stanie odzyskać tej metody płatności\",\n      \"payments_attached\": \"Ta metoda płatności jest już dołączona do płatności. Proszę usunąć załączone płatności, aby kontynuować usuwanie.\",\n      \"expenses_attached\": \"Ta metoda płatności jest już dołączona do wydatków. Proszę usunąć załączone wydatki, aby kontynuować usuwanie.\",\n      \"deleted_message\": \"Metoda płatności została pomyślnie usunięta\"\n    },\n    \"expense_category\": {\n      \"title\": \"Kategorie wydatków\",\n      \"action\": \"Akcja\",\n      \"description\": \"Kategorie są wymagane do dodawania wpisów wydatków. Możesz dodać lub usunąć te kategorie zgodnie ze swoimi preferencjami.\",\n      \"add_new_category\": \"Dodaj nową kategorię\",\n      \"add_category\": \"Dodaj kategorię\",\n      \"edit_category\": \"Edytuj kategorię\",\n      \"category_name\": \"Nazwa kategorii\",\n      \"category_description\": \"Opis\",\n      \"created_message\": \"Kategoria wydatków została utworzona pomyślnie\",\n      \"deleted_message\": \"Kategoria wydatków została usunięta pomyślnie\",\n      \"updated_message\": \"Kategoria wydatków zaktualizowana pomyślnie\",\n      \"confirm_delete\": \"Nie będziesz w stanie odzyskać tej kategorii wydatków\",\n      \"already_in_use\": \"Kategoria jest już w użyciu\"\n    },\n    \"preferences\": {\n      \"currency\": \"Waluta\",\n      \"default_language\": \"Domyślny język\",\n      \"time_zone\": \"Strefa czasowa\",\n      \"fiscal_year\": \"Rok finansowy\",\n      \"date_format\": \"Format daty\",\n      \"discount_setting\": \"Ustawienia rabatu\",\n      \"discount_per_item\": \"Rabat na produkt \",\n      \"discount_setting_description\": \"Włącz to, jeśli chcesz dodać rabat do poszczególnych elementów faktury. Domyślnie rabat jest dodawany bezpośrednio do całej faktury.\",\n      \"expire_public_links\": \"Automatycznie wygasaj linki publiczne\",\n      \"expire_setting_description\": \"Określ czy chcesz wygaszać wszystkie linki wysłane przez aplikację w celu przeglądania faktur, ofert i płatności itp. po określonym czasie.\",\n      \"save\": \"Zapisz\",\n      \"preference\": \"Preferencje | Preferencje\",\n      \"general_settings\": \"Domyślne ustawienia systemu.\",\n      \"updated_message\": \"Preferencje pomyślnie zaktualizowane\",\n      \"select_language\": \"Wybierz język\",\n      \"select_time_zone\": \"Ustaw strefę czasową\",\n      \"select_date_format\": \"Wybierz format daty\",\n      \"select_financial_year\": \"Wybierz rok podatkowy\",\n      \"recurring_invoice_status\": \"Status Faktury Cyklicznej\",\n      \"create_status\": \"Utwórz status\",\n      \"active\": \"Aktywne\",\n      \"on_hold\": \"Wstrzymane\",\n      \"update_status\": \"Aktualizuj status\",\n      \"completed\": \"Ukończone\",\n      \"company_currency_unchangeable\": \"Nie można zmienić waluty firmy\"\n    },\n    \"update_app\": {\n      \"title\": \"Aktualizuj aplikację\",\n      \"description\": \"Możesz łatwo zaktualizować Cratera poprzez kliknięcie przycisku poniżej\",\n      \"check_update\": \"Sprawdź czy są dostępne nowe aktualizacje\",\n      \"avail_update\": \"Dostępna nowa aktualizacja\",\n      \"next_version\": \"Nowa wersja\",\n      \"requirements\": \"Wymagania\",\n      \"update\": \"Aktualizuj teraz\",\n      \"update_progress\": \"Aktualizacja w toku...\",\n      \"progress_text\": \"To zajmie tylko kilka minut. Proszę nie odświeżać ekranu ani zamykać okna przed zakończeniem aktualizacji\",\n      \"update_success\": \"Aplikacja została zaktualizowana! Proszę czekać, aż okno przeglądarki zostanie automatycznie przeładowane.\",\n      \"latest_message\": \"Brak dostępnych aktualizacji! Posiadasz najnowszą wersję.\",\n      \"current_version\": \"Aktualna wersja\",\n      \"download_zip_file\": \"Pobierz plik ZIP\",\n      \"unzipping_package\": \"Rozpakuj pakiet\",\n      \"copying_files\": \"Kopiowanie plików\",\n      \"deleting_files\": \"Usuwanie nieużywanych plików\",\n      \"running_migrations\": \"Uruchamianie migracji\",\n      \"finishing_update\": \"Kończenie aktualizacji\",\n      \"update_failed\": \"Aktualizacja nie powiodła się\",\n      \"update_failed_text\": \"Przepraszamy! Twoja aktualizacja nie powiodła się w kroku: {step}\",\n      \"update_warning\": \"Wszystkie pliki aplikacji i domyślne pliki szablonu zostaną nadpisane podczas aktualizacji aplikacji przy użyciu tego narzędzia. Przed aktualizacją wykonaj kopię zapasową szablonów i bazy danych.\"\n    },\n    \"backup\": {\n      \"title\": \"Kopia zapasowa | Kopie zapasowe\",\n      \"description\": \"Kopia zapasowa jest plikiem zipfile zawierającym wszystkie pliki w katalogach które podasz wraz z zrzutem bazy danych\",\n      \"new_backup\": \"Dodaj nową kopię zapasową\",\n      \"create_backup\": \"Utwórz kopię zapasową\",\n      \"select_backup_type\": \"Wybierz typ kopii zapasowej\",\n      \"backup_confirm_delete\": \"Nie będziesz w stanie odzyskać tej kopii zapasowej\",\n      \"path\": \"ścieżka\",\n      \"new_disk\": \"Nowy dysk\",\n      \"created_at\": \"utworzono w\",\n      \"size\": \"rozmiar\",\n      \"dropbox\": \"dropbox\",\n      \"local\": \"lokalny\",\n      \"healthy\": \"zdrowy\",\n      \"amount_of_backups\": \"liczba kopii zapasowych\",\n      \"newest_backups\": \"najnowsza kopia zapasowa\",\n      \"used_storage\": \"zużyta pamięć\",\n      \"select_disk\": \"Wybierz dysk\",\n      \"action\": \"Akcja\",\n      \"deleted_message\": \"Kopia zapasowa usunięta pomyślnie\",\n      \"created_message\": \"Kopia zapasowa utworzona pomyślnie\",\n      \"invalid_disk_credentials\": \"Nieprawidłowe dane uwierzytelniające wybranego dysku\"\n    },\n    \"disk\": {\n      \"title\": \"Dysk plików | Dyski plików\",\n      \"description\": \"Domyślnie Crater użyje twojego lokalnego dysku do zapisywania kopii zapasowych, awatara i innych plików obrazu. Możesz skonfigurować więcej niż jeden serwer dysku, taki jak DigitalOcean, S3 i Dropbox, zgodnie z Twoimi preferencjami.\",\n      \"created_at\": \"utworzono w\",\n      \"dropbox\": \"dropbox\",\n      \"name\": \"Nazwa\",\n      \"driver\": \"Sterownik\",\n      \"disk_type\": \"Typ\",\n      \"disk_name\": \"Nazwa dysku\",\n      \"new_disk\": \"Dodaj nowy dysk\",\n      \"filesystem_driver\": \"Sterownik systemu plików\",\n      \"local_driver\": \"lokalny sterownik\",\n      \"local_root\": \"główny katalog lokalny\",\n      \"public_driver\": \"Publiczny sterownik\",\n      \"public_root\": \"Publiczny główny katalog\",\n      \"public_url\": \"Publiczny URL\",\n      \"public_visibility\": \"Widoczność publiczna\",\n      \"media_driver\": \"Media Driver\",\n      \"media_root\": \"Media Root\",\n      \"aws_driver\": \"Sterownik AWS\",\n      \"aws_key\": \"Klucz AWS\",\n      \"aws_secret\": \"Tajny klucz AWS\",\n      \"aws_region\": \"Region AWS\",\n      \"aws_bucket\": \"Zasobnik AWS\",\n      \"aws_root\": \"Katalog główny AWS\",\n      \"do_spaces_type\": \"Typ Do Spaces\",\n      \"do_spaces_key\": \"Klucz Do Spaces\",\n      \"do_spaces_secret\": \"Tajny klucz Do Spaces\",\n      \"do_spaces_region\": \"Region Do Spaces\",\n      \"do_spaces_bucket\": \"Zasobnik Do Spaces\",\n      \"do_spaces_endpoint\": \"Punkt dostępowy Do Spaces\",\n      \"do_spaces_root\": \"Katalog główny Do Spaces\",\n      \"dropbox_type\": \"Typ Dropbox\",\n      \"dropbox_token\": \"Token Dropbox\",\n      \"dropbox_key\": \"Klucz Dropbox\",\n      \"dropbox_secret\": \"Tajny klucz Dropbox\",\n      \"dropbox_app\": \"Aplikacja Dropbox\",\n      \"dropbox_root\": \"Root Dropbox\",\n      \"default_driver\": \"Domyślny sterownik\",\n      \"is_default\": \"JEST DOMYŚLNY\",\n      \"set_default_disk\": \"Ustaw domyślny dysk\",\n      \"set_default_disk_confirm\": \"Ten dysk zostanie ustawiony jako domyślny, a wszystkie nowe pliki PDF zostaną zapisane na tym dysku\",\n      \"success_set_default_disk\": \"Dysk został pomyślnie ustawiony jako domyślny\",\n      \"save_pdf_to_disk\": \"Zapisz pliki PDF na dysku\",\n      \"disk_setting_description\": \" Włącz tę opcję, jeśli chcesz automatycznie zapisać kopię każdej faktury, oferty i potwierdzenia płatności PDF na swoim domyślnym dysku. Włączenie tej opcji spowoduje skrócenie czasu ładowania podczas przeglądania PDF.\",\n      \"select_disk\": \"Wybierz dysk\",\n      \"disk_settings\": \"Ustawienia dysku\",\n      \"confirm_delete\": \"Twoje istniejące pliki i foldery na określonym dysku nie zostaną zmienione, ale konfiguracja twojego dysku zostanie usunięta z Cratera\",\n      \"action\": \"Akcja\",\n      \"edit_file_disk\": \"Edytuj dysk plków\",\n      \"success_create\": \"Dysk dodany pomyślnie\",\n      \"success_update\": \"Dysk zaktualizowany pomyślnie\",\n      \"error\": \"Błąd dodawania dysku\",\n      \"deleted_message\": \"Dysk plików został usunięty pomyślnie\",\n      \"disk_variables_save_successfully\": \"Dysk skonfigurowany pomyślnie\",\n      \"disk_variables_save_error\": \"Konfiguracja dysku nieudana.\",\n      \"invalid_disk_credentials\": \"Nieprawidłowe dane uwierzytelniające wybranego dysku\"\n    },\n    \"taxations\": {\n      \"add_billing_address\": \"Wprowadź adres do faktury\",\n      \"add_shipping_address\": \"Wprowadź adres do wysyłki\",\n      \"add_company_address\": \"Wprowadź adres firmy\",\n      \"modal_description\": \"Poniższe informacje są wymagane do pobrania podatku od sprzedaży.\",\n      \"add_address\": \"Dodaj adres do pobierania podatku od sprzedaży.\",\n      \"address_placeholder\": \"Przykład: 123, Moja ulica\",\n      \"city_placeholder\": \"Przykład: Los Angeles\",\n      \"state_placeholder\": \"Przykład: CA\",\n      \"zip_placeholder\": \"Przykład: 90024\",\n      \"invalid_address\": \"Podaj poprawne dane adresowe.\"\n    }\n  },\n  \"wizard\": {\n    \"account_info\": \"Informacje o koncie\",\n    \"account_info_desc\": \"Poniższe szczegóły zostaną użyte do utworzenia głównego konta administratora. Możesz także zmienić szczegóły w dowolnym momencie po zalogowaniu.\",\n    \"name\": \"Nazwa\",\n    \"email\": \"E-mail\",\n    \"password\": \"Hasło\",\n    \"confirm_password\": \"Potwierdź hasło\",\n    \"save_cont\": \"Zapisz i kontynuuj\",\n    \"company_info\": \"Informacje o firmie\",\n    \"company_info_desc\": \"Ta informacja będzie wyświetlana na fakturach. Pamiętaj, że możesz to później edytować na stronie ustawień.\",\n    \"company_name\": \"Nazwa firmy\",\n    \"company_logo\": \"Logo firmy\",\n    \"logo_preview\": \"Podgląd loga\",\n    \"preferences\": \"Preferencje\",\n    \"preferences_desc\": \"Domyślne preferencje dla systemu.\",\n    \"currency_set_alert\": \"Nie można później zmienić waluty firmy.\",\n    \"country\": \"Kraj\",\n    \"state\": \"Województwo\",\n    \"city\": \"Miasto\",\n    \"address\": \"Adres\",\n    \"street\": \"Ulica1 | Ulica2\",\n    \"phone\": \"Telefon\",\n    \"zip_code\": \"Kod pocztowy\",\n    \"go_back\": \"Wstecz\",\n    \"currency\": \"Waluta\",\n    \"language\": \"Język\",\n    \"time_zone\": \"Strefa czasowa\",\n    \"fiscal_year\": \"Rok finansowy\",\n    \"date_format\": \"Format daty\",\n    \"from_address\": \"Adres nadawcy\",\n    \"username\": \"Nazwa użytkownika\",\n    \"next\": \"Następny\",\n    \"continue\": \"Kontynuuj\",\n    \"skip\": \"Pomiń\",\n    \"database\": {\n      \"database\": \"Adres URL witryny i baza danych\",\n      \"connection\": \"Połączenie z bazą danych\",\n      \"host\": \"Host bazy danych\",\n      \"port\": \"Port bazy danych\",\n      \"password\": \"Hasło bazy danych\",\n      \"app_url\": \"Adres aplikacji\",\n      \"app_domain\": \"Domena aplikacji\",\n      \"username\": \"Nazwa użytkownika bazy danych\",\n      \"db_name\": \"Nazwa bazy danych\",\n      \"db_path\": \"Ścieżka do bazy danych\",\n      \"desc\": \"Utwórz bazę danych na swoim serwerze i ustaw dane logowania za pomocą poniższego formularza.\"\n    },\n    \"permissions\": {\n      \"permissions\": \"Uprawnienia\",\n      \"permission_confirm_title\": \"Czy na pewno chcesz kontynuować?\",\n      \"permission_confirm_desc\": \"Sprawdzanie uprawnień do katalogu nie powiodło się\",\n      \"permission_desc\": \"Poniżej znajduje się lista uprawnień folderów, które są wymagane do działania aplikacji. Jeśli sprawdzenie uprawnień nie powiedzie się, upewnij się, że zaktualizujesz uprawnienia folderu.\"\n    },\n    \"verify_domain\": {\n      \"title\": \"Weryfikacja domeny\",\n      \"desc\": \"Crater używa uwierzytelniania opartego na sesji, które wymaga weryfikacji domeny dla celów bezpieczeństwa. Wprowadź domenę, na której będziesz mieć dostęp do swojej aplikacji internetowej.\",\n      \"app_domain\": \"Domena aplikacji\",\n      \"verify_now\": \"Potwierdź teraz\",\n      \"success\": \"Pomyślnie zweryfikowano domenę.\",\n      \"failed\": \"Weryfikacja domeny nie powiodła się. Podaj prawidłową nazwę domeny.\",\n      \"verify_and_continue\": \"Weryfikuj i kontynuuj\"\n    },\n    \"mail\": {\n      \"host\": \"Adres hosta poczty\",\n      \"port\": \"Port poczty\",\n      \"driver\": \"Sposób wysyłania wiadomości e-mail\",\n      \"secret\": \"Tajny klucz\",\n      \"mailgun_secret\": \"Mailgun Secret\",\n      \"mailgun_domain\": \"Domena\",\n      \"mailgun_endpoint\": \"Punkt dostępowy Mailgun\",\n      \"ses_secret\": \"Tajny klucz SES\",\n      \"ses_key\": \"Klucz SES\",\n      \"password\": \"Hasło poczty\",\n      \"username\": \"Nazwa użytkownika poczty\",\n      \"mail_config\": \"Konfiguracja poczty\",\n      \"from_name\": \"Nazwa nadawcy\",\n      \"from_mail\": \"Adres e-mail nadawcy\",\n      \"encryption\": \"Szyfrowanie poczty\",\n      \"mail_config_desc\": \"Poniżej znajduje się formularz konfiguracji sterownika poczty e-mail do wysyłania wiadomości e-mail z aplikacji. Możesz również skonfigurować zewnętrznych dostawców takich jak Sendgrid, SES itp.\"\n    },\n    \"req\": {\n      \"system_req\": \"Wymagania systemowe\",\n      \"php_req_version\": \"Minimalna wersja Php (wymagana wersja {version})\",\n      \"check_req\": \"Sprawdź wymagania\",\n      \"system_req_desc\": \"Crater posiada kilka wymagań serwera. Upewnij się, że Twój serwer ma wymaganą wersję php oraz wszystkie rozszerzenia wymienione poniżej.\"\n    },\n    \"errors\": {\n      \"migrate_failed\": \"Migracja nie powiodła się\",\n      \"database_variables_save_error\": \"Nie można zapisać konfiguracji do pliku .env. Proszę sprawdzić jego uprawnienia\",\n      \"mail_variables_save_error\": \"Konfiguracja email nie powiodła się.\",\n      \"connection_failed\": \"Błąd połączenia z bazą danych\",\n      \"database_should_be_empty\": \"Baza danych powinna być pusta\"\n    },\n    \"success\": {\n      \"mail_variables_save_successfully\": \"Email został skonfigurowany pomyślnie\",\n      \"database_variables_save_successfully\": \"Baza danych została skonfigurowana poprawnie.\"\n    }\n  },\n  \"validation\": {\n    \"invalid_phone\": \"Nieprawidłowy numer telefonu\",\n    \"invalid_url\": \"Nieprawidłowy adres url (np. http://www.crater.com)\",\n    \"invalid_domain_url\": \"Nieprawidłowy adres url (np. crater.com)\",\n    \"required\": \"Pole jest wymagane\",\n    \"email_incorrect\": \"Niepoprawny email.\",\n    \"email_already_taken\": \"Ten adres e-mail jest już zajęty.\",\n    \"email_does_not_exist\": \"Użytkownik z podanym adresem email nie istnieje\",\n    \"item_unit_already_taken\": \"Ta nazwa jednostki została już zajęta\",\n    \"payment_mode_already_taken\": \"Ta nazwa trybu płatności została już zajęta\",\n    \"send_reset_link\": \"Wyślij link do resetowania hasła\",\n    \"not_yet\": \"Jeszcze nie? Wyślij ponownie\",\n    \"password_min_length\": \"Hasło musi zawierać co najmniej {count} znaków\",\n    \"name_min_length\": \"Nazwa użytkownika musi zawierać co najmniej {count} znaków.\",\n    \"prefix_min_length\": \"Przedrostek musi mieć co najmniej {count} liter.\",\n    \"enter_valid_tax_rate\": \"Wprowadź poprawną stawkę podatku\",\n    \"numbers_only\": \"Tylko liczby.\",\n    \"characters_only\": \"Tylko znaki.\",\n    \"password_incorrect\": \"Hasła muszą być identyczne\",\n    \"password_length\": \"Hasło musi zawierać {count} znaków.\",\n    \"qty_must_greater_than_zero\": \"Ilość musi być większa niż zero.\",\n    \"price_greater_than_zero\": \"Cena musi być większa niż zero.\",\n    \"payment_greater_than_zero\": \"Płatność musi być większa niż zero.\",\n    \"payment_greater_than_due_amount\": \"Wprowadzona płatność to więcej niż należna kwota tej faktury.\",\n    \"quantity_maxlength\": \"Ilość nie powinna być większa niż 20 cyfr.\",\n    \"price_maxlength\": \"Cena nie powinna być większa niż 20 cyfr.\",\n    \"price_minvalue\": \"Cena powinna być większa niż 0.\",\n    \"amount_maxlength\": \"Kwota nie powinna być większa niż 20 cyfr.\",\n    \"amount_minvalue\": \"Kwota powinna być większa niż 0.\",\n    \"discount_maxlength\": \"Rabat nie powinien być większy niż maksymalny rabat\",\n    \"description_maxlength\": \"Opis nie powinien przekraczać 65 000 znaków.\",\n    \"subject_maxlength\": \"Temat nie powinien być dłuższy niż 100 znaków.\",\n    \"message_maxlength\": \"Wiadomość nie powinna być dłuższa niż 255 znaków.\",\n    \"maximum_options_error\": \"Wybrano maksymalnie {max} opcji. Najpierw usuń wybraną opcję, aby wybrać inną.\",\n    \"notes_maxlength\": \"Notatki nie powinny być większe niż 65 000 znaków.\",\n    \"address_maxlength\": \"Adres nie powinien mieć więcej niż 255 znaków.\",\n    \"ref_number_maxlength\": \"Numer referencyjny nie może być dłuższy niż 255 znaków.\",\n    \"prefix_maxlength\": \"Prefiks nie powinien być dłuższy niż 5 znaków.\",\n    \"something_went_wrong\": \"coś poszło nie tak\",\n    \"number_length_minvalue\": \"Długość numeru powinna być większa niż 0\",\n    \"at_least_one_ability\": \"Wybierz co najmniej jedno Uprawnienie.\",\n    \"valid_driver_key\": \"Wprowadź prawidłowy klucz {driver}.\",\n    \"valid_exchange_rate\": \"Wprowadź prawidłowy kurs wymiany.\",\n    \"company_name_not_same\": \"Nazwa firmy musi się zgadzać z podaną nazwą.\"\n  },\n  \"errors\": {\n    \"starter_plan\": \"Ta funkcja jest dostępna w abonamencie Starter i wyższych!\",\n    \"invalid_provider_key\": \"Wprowadź poprawny klucz API dostawcy.\",\n    \"estimate_number_used\": \"Numer oferty jest już użyty.\",\n    \"invoice_number_used\": \"Numer faktury jest już użyty.\",\n    \"payment_attached\": \"Ta faktura ma już dołączoną płatność. Najpierw usuń załączone płatności, aby kontynuować usuwanie.\",\n    \"payment_number_used\": \"Numer płatności jest już użyty.\",\n    \"name_already_taken\": \"Nazwa jest już użyta.\",\n    \"receipt_does_not_exist\": \"Potwierdzenie nie istnieje.\",\n    \"customer_cannot_be_changed_after_payment_is_added\": \"Klient nie może być zmieniony po dodaniu płatności\",\n    \"invalid_credentials\": \"Nieprawidłowe dane.\",\n    \"not_allowed\": \"Niedozwolone\",\n    \"login_invalid_credentials\": \"Wprowadzone poświadczenia są nieprawidłowe.\",\n    \"enter_valid_cron_format\": \"Wprowadź prawidłowy format cron\",\n    \"email_could_not_be_sent\": \"Nie można wysłać wiadomości na ten adres e-mail.\",\n    \"invalid_address\": \"Wprowadź prawidłowy adres.\",\n    \"invalid_key\": \"Wprowadź prawidłowy klucz.\",\n    \"invalid_state\": \"Wprowadź poprawny stan/województwo.\",\n    \"invalid_city\": \"Wprowadź prawidłową nazwę miasta.\",\n    \"invalid_postal_code\": \"Wprowadź prawidłowy kod pocztowy.\",\n    \"invalid_format\": \"Wprowadź prawidłowy format ciągu.\",\n    \"api_error\": \"Serwer nie odpowiada.\",\n    \"feature_not_enabled\": \"Funkcja nie jest włączona.\",\n    \"request_limit_met\": \"Przekroczono limit żądania API.\",\n    \"address_incomplete\": \"Niekompletny adres\"\n  },\n  \"pdf_estimate_label\": \"Oferta\",\n  \"pdf_estimate_number\": \"Numer oferty\",\n  \"pdf_estimate_date\": \"Data oferty\",\n  \"pdf_estimate_expire_date\": \"Termin ważności\",\n  \"pdf_invoice_label\": \"Faktura\",\n  \"pdf_invoice_number\": \"Numer faktury\",\n  \"pdf_invoice_date\": \"Data faktury\",\n  \"pdf_invoice_due_date\": \"Termin\",\n  \"pdf_notes\": \"Notatki\",\n  \"pdf_items_label\": \"Pozycje\",\n  \"pdf_quantity_label\": \"Ilość\",\n  \"pdf_price_label\": \"Cena\",\n  \"pdf_discount_label\": \"Rabat\",\n  \"pdf_amount_label\": \"Kwota\",\n  \"pdf_subtotal\": \"Suma częściowa\",\n  \"pdf_total\": \"Razem\",\n  \"pdf_payment_label\": \"Płatność\",\n  \"pdf_payment_receipt_label\": \"POTWIERDZENIE PŁATNOŚCI\",\n  \"pdf_payment_date\": \"Data płatności\",\n  \"pdf_payment_number\": \"Numer płatności\",\n  \"pdf_payment_mode\": \"Metoda płatności\",\n  \"pdf_payment_amount_received_label\": \"Kwota otrzymana\",\n  \"pdf_expense_report_label\": \"SPRAWOZDANIE Z WYDATKÓW\",\n  \"pdf_total_expenses_label\": \"WYDATKI OGÓŁEM\",\n  \"pdf_profit_loss_label\": \"RAPORT ZYSKÓW I STRAT\",\n  \"pdf_sales_customers_label\": \"Raport sprzedaży obsługi kontrahenta\",\n  \"pdf_sales_items_label\": \"Raport dotyczący przedmiotu sprzedaży\",\n  \"pdf_tax_summery_label\": \"Raport podsumowania podatku\",\n  \"pdf_income_label\": \"PRZYCHÓD\",\n  \"pdf_net_profit_label\": \"ZYSK NETTO\",\n  \"pdf_customer_sales_report\": \"Raport sprzedaży: Według Kontrahenta\",\n  \"pdf_total_sales_label\": \"CAŁKOWITA SPRZEDAŻ\",\n  \"pdf_item_sales_label\": \"Raport sprzedaży: Według produktu\",\n  \"pdf_tax_report_label\": \"RAPORT PODATKOWY\",\n  \"pdf_total_tax_label\": \"CAŁKOWITY PODATEK\",\n  \"pdf_tax_types_label\": \"Rodzaje podatku\",\n  \"pdf_expenses_label\": \"Wydatki\",\n  \"pdf_bill_to\": \"Wystawiono dla\",\n  \"pdf_ship_to\": \"Wysyłka do\",\n  \"pdf_received_from\": \"Otrzymane od:\",\n  \"pdf_tax_label\": \"Podatek\"\n}\n"
  },
  {
    "path": "resources/scripts/locales/pt-br.json",
    "content": "{\n  \"navigation\": {\n    \"dashboard\": \"Painel\",\n    \"customers\": \"Clientes\",\n    \"items\": \"Itens\",\n    \"invoices\": \"Faturas\",\n    \"expenses\": \"Despesas\",\n    \"estimates\": \"Orçamentos\",\n    \"payments\": \"Pagamentos\",\n    \"reports\": \"Relatórios\",\n    \"settings\": \"Configurações\",\n    \"logout\": \"Encerrar sessão\"\n  },\n  \"general\": {\n    \"view_pdf\": \"Ver PDF\",\n    \"download_pdf\": \"Baixar PDF\",\n    \"save\": \"Salvar\",\n    \"cancel\": \"Cancelar\",\n    \"update\": \"Atualizar\",\n    \"deselect\": \"Desmarcar\",\n    \"download\": \"Baixar\",\n    \"from_date\": \"A partir da Data\",\n    \"to_date\": \"Até a Data\",\n    \"from\": \"De\",\n    \"to\": \"Para\",\n    \"sort_by\": \"Ordenar por\",\n    \"ascending\": \"Crescente\",\n    \"descending\": \"Descendente\",\n    \"subject\": \"Sujeita\",\n    \"body\": \"Corpo\",\n    \"message\": \"Mensagem\",\n    \"go_back\": \"Voltar\",\n    \"back_to_login\": \"Voltar ao Login\",\n    \"home\": \"Home\",\n    \"filter\": \"Filtrar\",\n    \"delete\": \"Excluir\",\n    \"edit\": \"Editar\",\n    \"view\": \"Ver\",\n    \"add_new_item\": \"Adicionar novo item\",\n    \"clear_all\": \"Limpar tudo\",\n    \"showing\": \"Mostrando\",\n    \"of\": \"de\",\n    \"actions\": \"Ações\",\n    \"subtotal\": \"Total parcial\",\n    \"discount\": \"Desconto\",\n    \"fixed\": \"Fixado\",\n    \"percentage\": \"Porcentagem\",\n    \"tax\": \"Imposto\",\n    \"total_amount\": \"Quantidade Total\",\n    \"bill_to\": \"Cobrar a\",\n    \"ship_to\": \"Envie a\",\n    \"due\": \"Vencida\",\n    \"draft\": \"Rascunho\",\n    \"sent\": \"Enviado\",\n    \"all\": \"Todos\",\n    \"select_all\": \"Selecionar tudo\",\n    \"choose_file\": \"Escolha um arquivo.\",\n    \"choose_template\": \"Escolha um modelo\",\n    \"choose\": \"Escolher\",\n    \"remove\": \"Excluir\",\n    \"powered_by\": \"Distribuído por\",\n    \"bytefury\": \"Bytefury\",\n    \"select_a_status\": \"Selecione um status\",\n    \"select_a_tax\": \"Selecione um Imposto\",\n    \"search\": \"Buscar\",\n    \"are_you_sure\": \"Tem certeza?\",\n    \"list_is_empty\": \"Lista está vazia.\",\n    \"no_tax_found\": \"Imposto não encontrado!\",\n    \"four_zero_four\": \"404\",\n    \"you_got_lost\": \"Ops! Se perdeu!\",\n    \"go_home\": \"Ir para Home\",\n    \"test_mail_conf\": \"Testar configuração de email\",\n    \"send_mail_successfully\": \"Correio enviado com sucesso\",\n    \"setting_updated\": \"Configuração atualizada com sucesso\",\n    \"select_state\": \"Selecione Estado\",\n    \"select_country\": \"Selecionar pais\",\n    \"select_city\": \"Selecionar cidade\",\n    \"street_1\": \"Rua 1\",\n    \"street_2\": \"Rua # 2\",\n    \"action_failed\": \"Ação: Falhou\",\n    \"retry\": \"Atualização falhou\"\n  },\n  \"dashboard\": {\n    \"select_year\": \"Selecione Ano\",\n    \"cards\": {\n      \"due_amount\": \"Montante devido\",\n      \"customers\": \"Clientes\",\n      \"invoices\": \"Faturas\",\n      \"estimates\": \"Orçamentos\"\n    },\n    \"chart_info\": {\n      \"total_sales\": \"Vendas\",\n      \"total_receipts\": \"Receitas\",\n      \"total_expense\": \"Despesas\",\n      \"net_income\": \"Resultado líquido\",\n      \"year\": \"Selecione Ano\"\n    },\n    \"monthly_chart\": {\n      \"title\": \"Vendas e Despesas\"\n    },\n    \"recent_invoices_card\": {\n      \"title\": \"Faturas vencidas\",\n      \"due_on\": \"vencido em\",\n      \"customer\": \"Cliente\",\n      \"amount_due\": \"Valor Devido\",\n      \"actions\": \"Ações\",\n      \"view_all\": \"Ver todos\"\n    },\n    \"recent_estimate_card\": {\n      \"title\": \"Orçamentos Recentes\",\n      \"date\": \"Data\",\n      \"customer\": \"Cliente\",\n      \"amount_due\": \"Valor Devido\",\n      \"actions\": \"Ações\",\n      \"view_all\": \"Ver todos\"\n    }\n  },\n  \"tax_types\": {\n    \"name\": \"Nome\",\n    \"description\": \"Descrição\",\n    \"percent\": \"Porcentagem\",\n    \"compound_tax\": \"Imposto compuesto\"\n  },\n  \"customers\": {\n    \"title\": \"Clientes\",\n    \"add_customer\": \"Adicionar cliente\",\n    \"contacts_list\": \"Lista de clientes\",\n    \"name\": \"Nome\",\n    \"display_name\": \"Nome de exibição\",\n    \"primary_contact_name\": \"Nome do contato principal\",\n    \"contact_name\": \"Nome de Contato\",\n    \"amount_due\": \"Valor Devido\",\n    \"email\": \"Email\",\n    \"address\": \"Endereço\",\n    \"phone\": \"Telefone\",\n    \"website\": \"Site\",\n    \"country\": \"Pais\",\n    \"state\": \"Estado\",\n    \"city\": \"Cidade\",\n    \"zip_code\": \"Código postal\",\n    \"added_on\": \"Adicionado\",\n    \"action\": \"Ação\",\n    \"password\": \"Senha\",\n    \"street_number\": \"Número\",\n    \"primary_currency\": \"Moeda principal\",\n    \"add_new_customer\": \"Adicionar novo cliente\",\n    \"save_customer\": \"Salvar cliente\",\n    \"update_customer\": \"Atualizar cliente\",\n    \"customer\": \"Cliente | Clientes\",\n    \"new_customer\": \"Novo cliente\",\n    \"edit_customer\": \"Editar cliente\",\n    \"basic_info\": \"Informação basica\",\n    \"billing_address\": \"Endereço de cobrança\",\n    \"shipping_address\": \"Endereço de entrega\",\n    \"copy_billing_address\": \"Cópia de faturamento\",\n    \"no_customers\": \"Ainda não há clientes!\",\n    \"no_customers_found\": \"Clientes não encontrados!\",\n    \"no_contact\": \"No contact\",\n    \"no_contact_name\": \"No contact name\",\n    \"list_of_customers\": \"Esta seção conterá a lista de clientes.\",\n    \"primary_display_name\": \"Nome de exibição principal\",\n    \"select_currency\": \"Selecione o tipo de moeda\",\n    \"select_a_customer\": \"Selecione um cliente\",\n    \"type_or_click\": \"Digite ou clique para selecionar\",\n    \"new_transaction\": \"Nova transação\",\n    \"no_matching_customers\": \"Não há clientes correspondentes!\",\n    \"phone_number\": \"Número de telefone\",\n    \"create_date\": \"Criar Data\",\n    \"confirm_delete\": \"Você não poderá recuperar este cliente e todas as faturas, estimativas e pagamentos relacionados. | Você não poderá recuperar esses clientes e todas as faturas, estimativas e pagamentos relacionados.\",\n    \"created_message\": \"Cliente criado com sucesso\",\n    \"updated_message\": \"Cliente atualizado com sucesso\",\n    \"deleted_message\": \"Cliente excluído com sucesso | Clientes excluídos com sucesso\"\n  },\n  \"items\": {\n    \"title\": \"Itens\",\n    \"items_list\": \"Lista de Itens\",\n    \"name\": \"Nome\",\n    \"unit\": \"Unidade\",\n    \"description\": \"Descrição\",\n    \"added_on\": \"Adicionado\",\n    \"price\": \"Preço\",\n    \"date_of_creation\": \"Data de criação\",\n    \"not_selected\": \"No item selected\",\n    \"action\": \"Ação\",\n    \"add_item\": \"Adicionar item\",\n    \"save_item\": \"Salvar item\",\n    \"update_item\": \"Atualizar item\",\n    \"item\": \"Item | Itens\",\n    \"add_new_item\": \"Adicionar novo item\",\n    \"new_item\": \"Novo item\",\n    \"edit_item\": \"Editar item\",\n    \"no_items\": \"Ainda não existe itens\",\n    \"list_of_items\": \"Esta seção conterá a lista de itens.\",\n    \"select_a_unit\": \"Seleciona unidade\",\n    \"taxes\": \"Impostos\",\n    \"item_attached_message\": \"Não é possível excluir um item que já está em uso.\",\n    \"confirm_delete\": \"Você não poderá recuperar este item | Você não poderá recuperar esses itens\",\n    \"created_message\": \"Item criado com sucesso\",\n    \"updated_message\": \"Item atualizado com sucesso\",\n    \"deleted_message\": \"Item excluído com sucesso | Itens Excluídos com sucesso\"\n  },\n  \"estimates\": {\n    \"title\": \"Orçamentos\",\n    \"estimate\": \"Orçamento | Orçamentos\",\n    \"estimates_list\": \"Lista de orçamentos\",\n    \"days\": \"{dias} dias\",\n    \"months\": \"{meses} Mês\",\n    \"years\": \"{Anos} Ano\",\n    \"all\": \"Todos\",\n    \"paid\": \"Pago\",\n    \"unpaid\": \"Não pago\",\n    \"customer\": \"CLIENTE\",\n    \"ref_no\": \"NÚMERO DE REFERÊNCIA.\",\n    \"number\": \"NÚMERO\",\n    \"amount_due\": \"Valor Devido\",\n    \"partially_paid\": \"Pago parcialmente\",\n    \"total\": \"Total\",\n    \"discount\": \"Desconto\",\n    \"sub_total\": \"Subtotal\",\n    \"estimate_number\": \"Numero do Orçamento\",\n    \"ref_number\": \"Referência\",\n    \"contact\": \"Contato\",\n    \"add_item\": \"Adicionar Item\",\n    \"date\": \"Data\",\n    \"due_date\": \"Data de Vencimento\",\n    \"expiry_date\": \"Data de expiração\",\n    \"status\": \"Status\",\n    \"add_tax\": \"Adicionar Imposto\",\n    \"amount\": \"Montante\",\n    \"action\": \"Ação\",\n    \"notes\": \"Observações\",\n    \"tax\": \"Imposto\",\n    \"estimate_template\": \"Modelo de orçamento\",\n    \"convert_to_invoice\": \"Converter em fatura\",\n    \"mark_as_sent\": \"Marcar como enviado\",\n    \"send_estimate\": \"Enviar orçamento\",\n    \"record_payment\": \"Registro de pago\",\n    \"add_estimate\": \"Adicionar orçamento\",\n    \"save_estimate\": \"Salvar Orçamento\",\n    \"confirm_conversion\": \"Deseja converter este orçamento em uma fatura?\",\n    \"conversion_message\": \"Converção realizada com sucesso\",\n    \"confirm_send_estimate\": \"Este orçamento será enviado por email ao cliente\",\n    \"confirm_mark_as_sent\": \"Este orçamento será marcado como enviado\",\n    \"confirm_mark_as_accepted\": \"Este orçamento será marcado como Aceito\",\n    \"confirm_mark_as_rejected\": \"Este orçamento será marcado como Rejeitado\",\n    \"no_matching_estimates\": \"Não há orçamentos correspondentes!\",\n    \"mark_as_sent_successfully\": \"Orçamento como marcado como enviado com sucesso\",\n    \"send_estimate_successfully\": \"Orçamento enviado com sucesso\",\n    \"errors\": {\n      \"required\": \"Campo obrigatório\"\n    },\n    \"accepted\": \"Aceito\",\n    \"rejected\": \"Rejected\",\n    \"sent\": \"Enviado\",\n    \"draft\": \"Rascunho\",\n    \"declined\": \"Rejeitado\",\n    \"new_estimate\": \"Novo orçamento\",\n    \"add_new_estimate\": \"Adicionar novo orçamento\",\n    \"update_Estimate\": \"Atualizar orçamento\",\n    \"edit_estimate\": \"Editar orçamento\",\n    \"items\": \"artículos\",\n    \"Estimate\": \"Orçamento | Orçamentos\",\n    \"add_new_tax\": \"Adicionar novo imposto\",\n    \"no_estimates\": \"Ainda não há orcamentos\",\n    \"list_of_estimates\": \"Esta seção contém a lista de orçamentos.\",\n    \"mark_as_rejected\": \"Marcar como rejeitado\",\n    \"mark_as_accepted\": \"Marcar como aceito\",\n    \"marked_as_accepted_message\": \"Orçamento marcado como aceito\",\n    \"marked_as_rejected_message\": \"Orçamento marcado como rejeitado\",\n    \"confirm_delete\": \"Não poderá recuperar este orçamento | Não poderá recuperar estes orçamentos\",\n    \"created_message\": \"Orçamento criado com sucesso\",\n    \"updated_message\": \"Orçamento atualizado com sucesso\",\n    \"deleted_message\": \"Orçamento excluído com sucesso | Orçamentos excluídos com sucesso\",\n    \"something_went_wrong\": \"Algo deu errado\",\n    \"item\": {\n      \"title\": \"Titulo do item\",\n      \"description\": \"Descrição\",\n      \"quantity\": \"Quantidade\",\n      \"price\": \"Preço\",\n      \"discount\": \"Desconto\",\n      \"total\": \"Total\",\n      \"total_discount\": \"Desconto total\",\n      \"sub_total\": \"Subtotal\",\n      \"tax\": \"Imposto\",\n      \"amount\": \"Montante\",\n      \"select_an_item\": \"Escreva ou clique para selecionar um item\",\n      \"type_item_description\": \"Tipo Item Descrição (opcional)\"\n    }\n  },\n  \"invoices\": {\n    \"title\": \"Faturas\",\n    \"invoices_list\": \"Lista de faturas\",\n    \"days\": \"{dias} dias\",\n    \"months\": \"{meses} Mês\",\n    \"years\": \"{anos} Ano\",\n    \"all\": \"Todas\",\n    \"paid\": \"Paga\",\n    \"unpaid\": \"Não Paga\",\n    \"viewed\": \"Viewed\",\n    \"overdue\": \"Overdue\",\n    \"completed\": \"Completed\",\n    \"customer\": \"CLIENTE\",\n    \"paid_status\": \"STATUS PAGAMENTO\",\n    \"ref_no\": \"REFERÊNCIA\",\n    \"number\": \"NÚMERO\",\n    \"amount_due\": \"VALOR DEVIDO\",\n    \"partially_paid\": \"Parcialmente pago\",\n    \"total\": \"Total\",\n    \"discount\": \"Desconto\",\n    \"sub_total\": \"Subtotal\",\n    \"invoice\": \"Fatura | Faturas\",\n    \"invoice_number\": \"Número da fatura\",\n    \"ref_number\": \"Referência\",\n    \"contact\": \"Contato\",\n    \"add_item\": \"Adicionar um item\",\n    \"date\": \"Data\",\n    \"due_date\": \"Data de Vencimento\",\n    \"status\": \"Status\",\n    \"add_tax\": \"Adicionar imposto\",\n    \"amount\": \"Montante\",\n    \"action\": \"Ação\",\n    \"notes\": \"Observações\",\n    \"view\": \"Ver\",\n    \"send_invoice\": \"Enviar Fatura\",\n    \"invoice_template\": \"Modelo da Fatura\",\n    \"template\": \"Modelo\",\n    \"mark_as_sent\": \"Marcar como enviada\",\n    \"confirm_send_invoice\": \"Esta fatura será enviada por e-mail ao cliente\",\n    \"invoice_mark_as_sent\": \"Esta fatura será marcada como enviada\",\n    \"confirm_send\": \"Esta fatura será enviada por e-mail ao cliente\",\n    \"invoice_date\": \"Data da Fatura\",\n    \"record_payment\": \"Gravar Pagamento\",\n    \"add_new_invoice\": \"Adicionar Nova Fatura\",\n    \"update_expense\": \"Atualizar Despesa\",\n    \"edit_invoice\": \"Editar Fatura\",\n    \"new_invoice\": \"Nova Fatura\",\n    \"save_invoice\": \"Salvar Fatura\",\n    \"update_invoice\": \"Atualizar Fatura\",\n    \"add_new_tax\": \"Adicionar novo Imposto\",\n    \"no_invoices\": \"Ainda não há faturas!\",\n    \"list_of_invoices\": \"Esta seção conterá a lista de faturas.\",\n    \"select_invoice\": \"Selecionar Fatura\",\n    \"no_matching_invoices\": \"Não há faturas correspondentes!\",\n    \"mark_as_sent_successfully\": \"Fatura marcada como enviada com sucesso\",\n    \"invoice_sent_successfully\": \"Fatura enviada com sucesso\",\n    \"cloned_successfully\": \"Fatura clonada com sucesso\",\n    \"clone_invoice\": \"Clonar fatura\",\n    \"confirm_clone\": \"Esta fatura será clonada em uma nova fatura\",\n    \"item\": {\n      \"title\": \"Titulo do Item\",\n      \"description\": \"Descrição\",\n      \"quantity\": \"Quantidade\",\n      \"price\": \"Preço\",\n      \"discount\": \"Desconto\",\n      \"total\": \"Total\",\n      \"total_discount\": \"Desconto Total\",\n      \"sub_total\": \"SubTotal\",\n      \"tax\": \"Imposto\",\n      \"amount\": \"Montante\",\n      \"select_an_item\": \"Digite ou clique para selecionar um item\",\n      \"type_item_description\": \"Tipo Descrição do item (opcional)\"\n    },\n    \"confirm_delete\": \"Você não poderá recuperar esta fatura | Você não poderá recuperar essas faturas\",\n    \"created_message\": \"Fatura criada com sucesso\",\n    \"updated_message\": \"Fatura atualizada com sucesso\",\n    \"deleted_message\": \"Fatura excluída com sucesso | Faturas excluídas com sucesso\",\n    \"marked_as_sent_message\": \"Fatura marcada como enviada com sucesso\",\n    \"something_went_wrong\": \"Algo deu errado\",\n    \"invalid_due_amount_message\": \"O valor total da fatura não pode ser menor que o valor total pago para esta fatura. Atualize a fatura ou exclua os pagamentos associados para continuar.\"\n  },\n  \"payments\": {\n    \"title\": \"Pagamentos\",\n    \"payments_list\": \"Lista de Pagamentos\",\n    \"record_payment\": \"Gravar Pagamento\",\n    \"customer\": \"Cliente\",\n    \"date\": \"Data\",\n    \"amount\": \"Montante\",\n    \"action\": \"Ação\",\n    \"payment_number\": \"Número do Pagamento\",\n    \"payment_mode\": \"Forma de Pagamento\",\n    \"invoice\": \"Fatura\",\n    \"note\": \"Observação\",\n    \"add_payment\": \"Adicionar Pagamento\",\n    \"new_payment\": \"Novo Pagamento\",\n    \"edit_payment\": \"Editar Pagamento\",\n    \"view_payment\": \"Ver Pagamento\",\n    \"add_new_payment\": \"Adicionar novo Pagamento\",\n    \"send_payment_receipt\": \"Enviar recibo de pagamento\",\n    \"save_payment\": \"Salvar Pagamento\",\n    \"send_payment\": \"Mande o pagamento\",\n    \"update_payment\": \"Atualizar Pagamento\",\n    \"payment\": \"Pagamento | Pagamentos\",\n    \"no_payments\": \"Ainda sem pagamentos!\",\n    \"not_selected\": \"Not selected\",\n    \"no_invoice\": \"No invoice\",\n    \"no_matching_payments\": \"Não há pagamentos correspondentes!\",\n    \"list_of_payments\": \"Esta seção conterá a lista de pagamentos.\",\n    \"select_payment_mode\": \"Selecione a forma de pagamento\",\n    \"confirm_delete\": \"Você não poderá recuperar este Pagamento | Você não poderá recuperar esses Pagamentos\",\n    \"created_message\": \"Pagamento criado com sucesso\",\n    \"updated_message\": \"Pagamento atualizado com sucesso\",\n    \"deleted_message\": \"Pagamento excluído com sucesso | Pagamentos excluídos com sucesso\",\n    \"invalid_amount_message\": \"O valor do pagamento é inválido\"\n  },\n  \"expenses\": {\n    \"title\": \"Despesas\",\n    \"expenses_list\": \"Lista de Despesas\",\n    \"expense_title\": \"Título\",\n    \"contact\": \"Contato\",\n    \"category\": \"Categoria\",\n    \"customer\": \"Cliente\",\n    \"from_date\": \"A partir da Data\",\n    \"to_date\": \"Até a Data\",\n    \"expense_date\": \"Data\",\n    \"description\": \"Descrição\",\n    \"receipt\": \"Receita\",\n    \"amount\": \"Montante\",\n    \"action\": \"Ação\",\n    \"not_selected\": \"Not selected\",\n    \"note\": \"Observação\",\n    \"category_id\": \"Categoria\",\n    \"date\": \"Data da Despesa\",\n    \"add_expense\": \"Adicionar Despesa\",\n    \"add_new_expense\": \"Adicionar Nova Despesa\",\n    \"save_expense\": \"Salvar Despesa\",\n    \"update_expense\": \"Atualizar Despesa\",\n    \"download_receipt\": \"Baixar Receita\",\n    \"edit_expense\": \"Editar Despesa\",\n    \"new_expense\": \"Nova Despesa\",\n    \"expense\": \"Despesa | Despesas\",\n    \"no_expenses\": \"Ainda sem Despesas!\",\n    \"list_of_expenses\": \"Esta seção conterá a lista de despesas.\",\n    \"confirm_delete\": \"Você não poderá recuperar esta despesa | Você não poderá recuperar essas despesas\",\n    \"created_message\": \"Despesa criada com sucesso\",\n    \"updated_message\": \"Despesa atualizada com sucesso\",\n    \"deleted_message\": \"Despesas excluídas com sucesso | Despesas excluídas com sucesso\",\n    \"categories\": {\n      \"categories_list\": \"Lista de Categorias\",\n      \"title\": \"Título\",\n      \"name\": \"Nome\",\n      \"description\": \"Descrição\",\n      \"amount\": \"Montante\",\n      \"actions\": \"Ações\",\n      \"add_category\": \"Adicionar Categoria\",\n      \"new_category\": \"Nova Categoria\",\n      \"category\": \"Categoria | Categorias\",\n      \"select_a_category\": \"Selecionar uma Categoria\"\n    }\n  },\n  \"login\": {\n    \"email\": \"Email\",\n    \"password\": \"Senha\",\n    \"forgot_password\": \"Esqueceu a senha?\",\n    \"or_signIn_with\": \"ou Entre com\",\n    \"login\": \"Entrar\",\n    \"register\": \"Registre-se\",\n    \"reset_password\": \"Resetar Senha\",\n    \"password_reset_successfully\": \"Senha redefinida com sucesso\",\n    \"enter_email\": \"Digite email\",\n    \"enter_password\": \"Digite a senha\",\n    \"retype_password\": \"Confirme a Senha\"\n  },\n  \"reports\": {\n    \"title\": \"Relatório\",\n    \"from_date\": \"A partir da Data\",\n    \"to_date\": \"Até a Data\",\n    \"status\": \"Status\",\n    \"paid\": \"Pago\",\n    \"unpaid\": \"Não Pago\",\n    \"download_pdf\": \"Baixar PDF\",\n    \"view_pdf\": \"Ver PDF\",\n    \"update_report\": \"Atualizar Relatório\",\n    \"report\": \"Relatório | Relatórios\",\n    \"profit_loss\": {\n      \"profit_loss\": \"Perda de lucro\",\n      \"to_date\": \"Até a Data\",\n      \"from_date\": \"A partir da Data\",\n      \"date_range\": \"Selecionar período\"\n    },\n    \"sales\": {\n      \"sales\": \"Vendas\",\n      \"date_range\": \"Selecionar período\",\n      \"to_date\": \"Até a Data\",\n      \"from_date\": \"A partir da Data\",\n      \"report_type\": \"Tipo de Relatório\"\n    },\n    \"taxes\": {\n      \"taxes\": \"Impostos\",\n      \"to_date\": \"Até a Data\",\n      \"from_date\": \"A partir da Data\",\n      \"date_range\": \"Selecionar período\"\n    },\n    \"errors\": {\n      \"required\": \"Campo obrigatório\"\n    },\n    \"invoices\": {\n      \"invoice\": \"Fatura\",\n      \"invoice_date\": \"Data da Fatura\",\n      \"due_date\": \"Data de Vencimento\",\n      \"amount\": \"Montante\",\n      \"contact_name\": \"Nome de Contato\",\n      \"status\": \"Status\"\n    },\n    \"estimates\": {\n      \"estimate\": \"Orçamento\",\n      \"estimate_date\": \"Data do Orçamento\",\n      \"due_date\": \"Data de Vencimento\",\n      \"estimate_number\": \"Número do Orçamento\",\n      \"ref_number\": \"Referência\",\n      \"amount\": \"Montante\",\n      \"contact_name\": \"Nome de Contato\",\n      \"status\": \"Status\"\n    },\n    \"expenses\": {\n      \"expenses\": \"Despesas\",\n      \"category\": \"Categoria\",\n      \"date\": \"Data\",\n      \"amount\": \"Montante\",\n      \"to_date\": \"Até a Data\",\n      \"from_date\": \"A partir da Data\",\n      \"date_range\": \"Selecionar período\"\n    }\n  },\n  \"settings\": {\n    \"menu_title\": {\n      \"account_settings\": \"Configurações da conta\",\n      \"company_information\": \"Informações da Empresa\",\n      \"customization\": \"Personalizar\",\n      \"preferences\": \"Preferências\",\n      \"notifications\": \"Notificações\",\n      \"tax_types\": \"Tipos de Impostos\",\n      \"expense_category\": \"Categorias de Despesas\",\n      \"update_app\": \"Atualizar Aplicativo\",\n      \"custom_fields\": \"Os campos personalizados\"\n    },\n    \"title\": \"Configurações\",\n    \"setting\": \"Configuração | Configurações\",\n    \"general\": \"Geral\",\n    \"language\": \"Idioma\",\n    \"primary_currency\": \"Moéda Principal\",\n    \"timezone\": \"Fuso horário\",\n    \"date_format\": \"Formato de data\",\n    \"currencies\": {\n      \"title\": \"Moedas\",\n      \"currency\": \"Moeda | Moedas\",\n      \"currencies_list\": \"Moedas\",\n      \"select_currency\": \"Selecione uma Moeda\",\n      \"name\": \"Nome\",\n      \"code\": \"Código\",\n      \"symbol\": \"Símbolo\",\n      \"precision\": \"Precisão\",\n      \"thousand_separator\": \"Separador de Milhar\",\n      \"decimal_separator\": \"Separador Decimal\",\n      \"position\": \"Posição\",\n      \"position_of_symbol\": \"Posição do Símbolo\",\n      \"right\": \"Direita\",\n      \"left\": \"Esquerda\",\n      \"action\": \"Ação\",\n      \"add_currency\": \"Adicionar Moeda\"\n    },\n    \"mail\": {\n      \"host\": \"Host de Email\",\n      \"port\": \"Porta de Email\",\n      \"driver\": \"Mail Driver\",\n      \"secret\": \"Segredo\",\n      \"mailgun_secret\": \"Mailgun Segredo\",\n      \"mailgun_domain\": \"Domínio\",\n      \"mailgun_endpoint\": \"Mailgun Endpoint\",\n      \"ses_secret\": \"SES Segredo\",\n      \"ses_key\": \"SES Chave\",\n      \"password\": \"Senha do Email\",\n      \"username\": \"Nome de Usuário do Email\",\n      \"mail_config\": \"Configuração de Email\",\n      \"from_name\": \"Do Nome de Email\",\n      \"from_mail\": \"Do Endereço de Email\",\n      \"encryption\": \"Criptografia de Email\",\n      \"mail_config_desc\": \"Abaixo está o formulário para configurar o driver de email para enviar emails do aplicativo. Você também pode configurar provedores de terceiros como Sendgrid, SES etc.\"\n    },\n    \"pdf\": {\n      \"title\": \"Configurações de PDF\",\n      \"footer_text\": \"Texto do Rodapé\",\n      \"pdf_layout\": \"Layout de PDF\"\n    },\n    \"company_info\": {\n      \"company_info\": \"Informação da Empresa\",\n      \"company_name\": \"Nome da Empresa\",\n      \"company_logo\": \"Logotipo da Empresa\",\n      \"section_description\": \"Informações sobre sua empresa que serão exibidas em Faturas, Orçamentos e outros documentos criados pela Crater.\",\n      \"phone\": \"Telefone\",\n      \"country\": \"Pais\",\n      \"state\": \"Estado\",\n      \"city\": \"Cidade\",\n      \"address\": \"Endereço\",\n      \"zip\": \"CEP\",\n      \"save\": \"Salvar\",\n      \"updated_message\": \"Informações da Empresa atualizadas com sucesso\"\n    },\n    \"custom_fields\": {\n      \"title\": \"Os campos personalizados\",\n      \"add_custom_field\": \"Adicionar campo personalizado\",\n      \"edit_custom_field\": \"Editar campo personalizado\",\n      \"field_name\": \"Nome do campo\",\n      \"type\": \"Tipo\",\n      \"name\": \"Nome\",\n      \"required\": \"Requeridas\",\n      \"label\": \"Rótulo\",\n      \"placeholder\": \"Placeholder\",\n      \"help_text\": \"Texto de ajuda\",\n      \"default_value\": \"Valor padrão\",\n      \"prefix\": \"Prefixo\",\n      \"starting_number\": \"Número inicial\",\n      \"model\": \"Modelo\",\n      \"help_text_description\": \"Digite algum texto para ajudar os usuários a entender a finalidade desse campo personalizado.\",\n      \"suffix\": \"Sufixo\",\n      \"yes\": \"sim\",\n      \"no\": \"Não\",\n      \"order\": \"Ordem\",\n      \"custom_field_confirm_delete\": \"Você não poderá recuperar este campo personalizado\",\n      \"already_in_use\": \"O campo personalizado já está em uso\",\n      \"deleted_message\": \"Campo personalizado excluído com sucesso\",\n      \"options\": \"opções\",\n      \"add_option\": \"Adicionar opções\",\n      \"add_another_option\": \"Adicione outra opção\",\n      \"sort_in_alphabetical_order\": \"Classificar em ordem alfabética\",\n      \"add_options_in_bulk\": \"Adicionar opções em massa\",\n      \"use_predefined_options\": \"Use Predefined Options\",\n      \"select_custom_date\": \"Selecionar data personalizada\",\n      \"select_relative_date\": \"Selecionar data relativa\",\n      \"ticked_by_default\": \"Marcado por padrão\",\n      \"updated_message\": \"Campo personalizado atualizado com sucesso\",\n      \"added_message\": \"Campo personalizado adicionado com sucesso\"\n    },\n    \"customization\": {\n      \"customization\": \"Personalizar\",\n      \"save\": \"Salvar\",\n      \"addresses\": {\n        \"title\": \"Endereço\",\n        \"section_description\": \"Você pode definir o endereço de cobrança do cliente e o formato do endereço de entrega do cliente (exibido apenas em PDF).\",\n        \"customer_billing_address\": \"Endereço de Cobrança do Cliente\",\n        \"customer_shipping_address\": \"Endereço de Entrega do Cliente\",\n        \"company_address\": \"Endereço da Empresa\",\n        \"insert_fields\": \"Inserir Campos\",\n        \"contact\": \"Contato\",\n        \"address\": \"Endereço\",\n        \"display_name\": \"Nome em Exibição\",\n        \"primary_contact_name\": \"Nome do Contato Principal\",\n        \"email\": \"Email\",\n        \"website\": \"Website\",\n        \"name\": \"Nome\",\n        \"country\": \"Pais\",\n        \"state\": \"Estado\",\n        \"city\": \"Cidade\",\n        \"company_name\": \"Nome da Empresa\",\n        \"address_street_1\": \"Endereço Rua 1\",\n        \"address_street_2\": \"Endereço Rua 2\",\n        \"phone\": \"Telefone\",\n        \"zip_code\": \"CEP\",\n        \"address_setting_updated\": \"Configuração de Endereço Atualizada com Sucesso\"\n      },\n      \"updated_message\": \"Informações da Empresa atualizadas com sucesso\",\n      \"invoices\": {\n        \"title\": \"Faturas\",\n        \"notes\": \"Notas\",\n        \"invoice_prefix\": \"Fatura Prefixo\",\n        \"invoice_settings\": \"Configrações da Fatura\",\n        \"autogenerate_invoice_number\": \"Gerar automaticamente o número da Fatura\",\n        \"autogenerate_invoice_number_desc\": \"Desative isso, se você não deseja gerar automaticamente números da Fatura sempre que criar uma nova.\",\n        \"enter_invoice_prefix\": \"Digite o prefixo da Fatura\",\n        \"terms_and_conditions\": \"Termos e Condições\",\n        \"invoice_settings_updated\": \"Configuração da Fatura atualizada com sucesso\"\n      },\n      \"estimates\": {\n        \"title\": \"Orçamentos\",\n        \"estimate_prefix\": \"Orçamento Prefixo\",\n        \"estimate_settings\": \"Configurações do Orçamento\",\n        \"autogenerate_estimate_number\": \"Gerar automaticamente o número do Orçamento\",\n        \"estimate_setting_description\": \"Desative isso, se você não deseja gerar automaticamente números do Orçamento sempre que criar um novo.\",\n        \"enter_estimate_prefix\": \"Digite o prefixo do Orçamento\",\n        \"estimate_setting_updated\": \"Configuração do Orçamento atualizada com sucesso\"\n      },\n      \"payments\": {\n        \"title\": \"Pagamentos\",\n        \"payment_prefix\": \"Pagamento Prefixo\",\n        \"payment_settings\": \"Configurações de Pagamento\",\n        \"autogenerate_payment_number\": \"Gerar automaticamente número do Pagamento\",\n        \"payment_setting_description\": \"Desative isso, se você não deseja gerar automaticamente números do Pagamento sempre que criar um novo.\",\n        \"enter_payment_prefix\": \"Digite o Prefixo do Pagamento\",\n        \"payment_setting_updated\": \"Configurações de Pagamento atualizada com sucesso\",\n        \"payment_mode\": \"Modo de pagamento\",\n        \"add_payment_mode\": \"Adicionar modo de pagamento\",\n        \"edit_payment_mode\": \"Editar modo de pagamento\",\n        \"mode_name\": \"Nome do modo\",\n        \"payment_mode_added\": \"Modo de pagamento adicionado\",\n        \"payment_mode_updated\": \"Modo de pagamento atualizado\",\n        \"payment_mode_confirm_delete\": \"Você não poderá recuperar este modo de pagamento\",\n        \"already_in_use\": \"O modo de pagamento já está em uso\",\n        \"deleted_message\": \"Modo de pagamento excluído com sucesso\"\n      },\n      \"items\": {\n        \"title\": \"Itens\",\n        \"units\": \"unidades\",\n        \"add_item_unit\": \"Adicionar unidade de item\",\n        \"edit_item_unit\": \"Editar unidade de item\",\n        \"unit_name\": \"Nome da unidade\",\n        \"item_unit_added\": \"Item Unit Added\",\n        \"item_unit_updated\": \"Item Unit Updated\",\n        \"item_unit_confirm_delete\": \"Você não poderá recuperar esta unidade de item\",\n        \"already_in_use\": \"A unidade do item já está em uso\",\n        \"deleted_message\": \"Unidade de item excluída com sucesso\"\n      }\n    },\n    \"account_settings\": {\n      \"profile_picture\": \"Foto do Perfil\",\n      \"name\": \"Nome\",\n      \"email\": \"Email\",\n      \"password\": \"Senha\",\n      \"confirm_password\": \"Confirmar Senha\",\n      \"account_settings\": \"Configurações da conta\",\n      \"save\": \"Salvar\",\n      \"section_description\": \"Você pode atualizar seu nome, email e senha usando o formulário abaixo.\",\n      \"updated_message\": \"Configurações da conta atualizadas com sucesso\"\n    },\n    \"user_profile\": {\n      \"name\": \"Nome\",\n      \"email\": \"Email\",\n      \"password\": \"Password\",\n      \"confirm_password\": \"Confirmar Senha\"\n    },\n    \"notification\": {\n      \"title\": \"Notificação\",\n      \"email\": \"Enviar Notificações para\",\n      \"description\": \"Quais notificações por email você gostaria de receber quando algo mudar?\",\n      \"invoice_viewed\": \"Fatura Visualizada\",\n      \"invoice_viewed_desc\": \"Quando o seu cliente visualiza uma Fatura enviada pelo painel do Crater.\",\n      \"estimate_viewed\": \"Orçamento Visualizado\",\n      \"estimate_viewed_desc\": \"Quando o seu cliente visualiza um Orçamento enviada pelo painel do Crater.\",\n      \"save\": \"Salvar\",\n      \"email_save_message\": \"E-mail salvo com sucesso\",\n      \"please_enter_email\": \"Por favor digite um E-mail\"\n    },\n    \"tax_types\": {\n      \"title\": \"Tipos de Impostos\",\n      \"add_tax\": \"Adicionar Imposto\",\n      \"edit_tax\": \"Editar imposto\",\n      \"description\": \"Você pode adicionar ou remover impostos conforme desejar. O Crater suporta impostos sobre itens individuais e também na Fatura.\",\n      \"add_new_tax\": \"Adicionar Novo Imposto\",\n      \"tax_settings\": \"Configurações de Impostos\",\n      \"tax_per_item\": \"Imposto por Item\",\n      \"tax_name\": \"Nome do Imposto\",\n      \"compound_tax\": \"Imposto Composto\",\n      \"percent\": \"Porcentagem\",\n      \"action\": \"Ação\",\n      \"tax_setting_description\": \"Habilite isso se desejar adicionar Impostos a itens da Fatura Idividualmente. Por padrão, os impostos são adicionados diretamente à Fatura.\",\n      \"created_message\": \"Tipo de Imposto criado com sucesso\",\n      \"updated_message\": \"Tipo de Imposto Atualizado com sucesso\",\n      \"deleted_message\": \"Tipo de Imposto Deletado com sucesso\",\n      \"confirm_delete\": \"Você não poderá recuperar este tipo de Imposto\",\n      \"already_in_use\": \"O Imposto já está em uso\"\n    },\n    \"expense_category\": {\n      \"title\": \"Categoria de Despesa\",\n      \"action\": \"Ação\",\n      \"description\": \"As Categorias são necessárias para adicionar entradas de Despesas. Você pode adicionar ou remover essas Categorias de acordo com sua preferência.\",\n      \"add_new_category\": \"Adicionar Nova Categoria\",\n      \"add_category\": \"Adicionar categoria\",\n      \"edit_category\": \"Editar categoria\",\n      \"category_name\": \"Nome da Categoria\",\n      \"category_description\": \"Descrição\",\n      \"created_message\": \"Categoria de Despesa criada com sucesso\",\n      \"deleted_message\": \"Categoria de Despesa excluída com sucesso\",\n      \"updated_message\": \"Categoria de Despesa atualizada com sucesso\",\n      \"confirm_delete\": \"Você não poderá recuperar esta Categoria de Despesa\",\n      \"already_in_use\": \"A categoria já está em uso\"\n    },\n    \"preferences\": {\n      \"currency\": \"Moeda\",\n      \"language\": \"Idioma\",\n      \"time_zone\": \"Fuso Horário\",\n      \"fiscal_year\": \"Ano Financeiro\",\n      \"date_format\": \"Formato da Data\",\n      \"discount_setting\": \"Configuração de Desconto\",\n      \"discount_per_item\": \"Desconto por Item \",\n      \"discount_setting_description\": \"Habilite isso se desejar adicionar desconto a itens de Fatura individualmente. Por padrão, o desconto é adicionado diretamente à Fatura.\",\n      \"save\": \"Salvar\",\n      \"preference\": \"Preferência | Preferências\",\n      \"general_settings\": \"Preferências padrão para o sistema.\",\n      \"updated_message\": \"Preferências atualizadas com sucesso\",\n      \"select_language\": \"Selecione um Idioma\",\n      \"select_time_zone\": \"Selecione um fuso horário\",\n      \"select_date_formate\": \"Selecione um formato de data\",\n      \"select_financial_year\": \"Selecione o ano financeiro\"\n    },\n    \"update_app\": {\n      \"title\": \"Atualizar Aplicativo\",\n      \"description\": \"Você pode atualizar facilmente o Crater, verifique se hà novas atualizações, clicando no botão abaixo\",\n      \"check_update\": \"Verifique se há atualizações\",\n      \"avail_update\": \"Nova atualização disponível\",\n      \"next_version\": \"Próxima versão\",\n      \"update\": \"Atualizar agora\",\n      \"update_progress\": \"Atualização em progresso...\",\n      \"progress_text\": \"Levará apenas alguns minutos. Não atualize a tela ou feche a janela antes que a atualização seja concluída\",\n      \"update_success\": \"O aplicativo foi atualizado! Aguarde enquanto a janela do navegador é recarregada automaticamente.\",\n      \"latest_message\": \"Nenhuma atualização disponível! Você está na versão mais recente.\",\n      \"current_version\": \"Versão Atual\",\n      \"download_zip_file\": \"Baixar arquivo ZIP\",\n      \"unzipping_package\": \"Descompactando o pacote\",\n      \"copying_files\": \"Copiando arquivos\",\n      \"running_migrations\": \"Executando migrações\",\n      \"finishing_update\": \"Atualização de acabamento\",\n      \"update_failed\": \"Atualização falhou\",\n      \"update_failed_text\": \"Desculpa! Sua atualização falhou em: {step} step\"\n    }\n  },\n  \"wizard\": {\n    \"account_info\": \"Informação da conta\",\n    \"account_info_desc\": \"Os detalhes abaixo serão usados para criar a conta principal do administrador. Além disso, você pode alterar os detalhes a qualquer momento após o login.\",\n    \"name\": \"Nome\",\n    \"email\": \"Email\",\n    \"password\": \"Senha\",\n    \"confirm_password\": \"Confirmar Senha\",\n    \"save_cont\": \"Salvar e Continuar\",\n    \"company_info\": \"Informação da Empresa\",\n    \"company_info_desc\": \"Esta informação será exibida nas Faturas. Observe que você pode editar isso mais tarde na página de configurações.\",\n    \"company_name\": \"Nome da Empresa\",\n    \"company_logo\": \"Logotipo da Empresa\",\n    \"logo_preview\": \"Previsualizar Logotipo\",\n    \"preferences\": \"Preferências\",\n    \"preferences_desc\": \"Preferências padrão para o sistema.\",\n    \"country\": \"Pais\",\n    \"state\": \"Estado\",\n    \"city\": \"Cidade\",\n    \"address\": \"Endereço\",\n    \"street\": \"Rua 1 | Rua 2\",\n    \"phone\": \"Telefone\",\n    \"zip_code\": \"CEP\",\n    \"go_back\": \"Voltar\",\n    \"currency\": \"Moeda\",\n    \"language\": \"Idioma\",\n    \"time_zone\": \"Fuso Horário\",\n    \"fiscal_year\": \"Ano Financeiro\",\n    \"date_format\": \"Formato de Data\",\n    \"from_address\": \"Do Endereço\",\n    \"username\": \"Nome de Usuário\",\n    \"next\": \"Próximo\",\n    \"continue\": \"Continuar\",\n    \"skip\": \"Pular\",\n    \"database\": {\n      \"database\": \"URL do Site e Base de Dados\",\n      \"connection\": \"Conexão da Base de Dados\",\n      \"host\": \"Host da Base de Dados\",\n      \"port\": \"Porta da Base de Dados\",\n      \"password\": \"Senha da Base de Dados\",\n      \"app_url\": \"URL do Aplicativo\",\n      \"username\": \"Usuário da Base de Dados\",\n      \"db_name\": \"Nome da Base de Dados\",\n      \"desc\": \"Crie um Banco de Dados no seu servidor e defina as credenciais usando o formulário abaixo.\"\n    },\n    \"permissions\": {\n      \"permissions\": \"Permissões\",\n      \"permission_confirm_title\": \"Você tem certeza que quer continuar?\",\n      \"permission_confirm_desc\": \"Falha na verificação de permissão da pasta\",\n      \"permission_desc\": \"Abaixo está a lista de permissões de pasta que são necessárias para que o aplicativo funcione. Se a verificação da permissão falhar, atualize as permissões da pasta.\"\n    },\n    \"mail\": {\n      \"host\": \"Host do email\",\n      \"port\": \"Porta do email\",\n      \"driver\": \"Driver do email\",\n      \"secret\": \"Segredo\",\n      \"mailgun_secret\": \"Segredo do Mailgun\",\n      \"mailgun_domain\": \"Domínio\",\n      \"mailgun_endpoint\": \"Endpoint do Mailgun\",\n      \"ses_secret\": \"Segredo do SES\",\n      \"ses_key\": \"Chave SES\",\n      \"password\": \"Senha do email\",\n      \"username\": \"Nome do Usuário do email\",\n      \"mail_config\": \"Configuração de email\",\n      \"from_name\": \"Nome do email\",\n      \"from_mail\": \"Endereço de email\",\n      \"encryption\": \"Criptografia de email\",\n      \"mail_config_desc\": \"Abaixo está o formulário para configurar o driver de email que será usado para enviar emails do aplicativo. Você também pode configurar provedores de terceiros como Sendgrid, SES etc.\"\n    },\n    \"req\": {\n      \"system_req\": \"Requisitos de Sistema\",\n      \"php_req_version\": \"PHP (versão {version} obrigatória)\",\n      \"check_req\": \"Verificar Requisitos\",\n      \"system_req_desc\": \"O Crater tem alguns requisitos de servidor. Verifique se o seu servidor possui a versão do PHP necessária e todas as extensões mencionadas abaixo.\"\n    },\n    \"errors\": {\n      \"migrate_failed\": \"Falha na migração\",\n      \"database_variables_save_error\": \"Não é possível gravar a configuração no arquivo .env. Por favor, verifique suas permissões de arquivo\",\n      \"mail_variables_save_error\": \"A configuração do email falhou.\",\n      \"connection_failed\": \"Falha na conexão com o banco de dados\",\n      \"database_should_be_empty\": \"O banco de dados deve estar vazio\"\n    },\n    \"success\": {\n      \"mail_variables_save_successfully\": \"Email configurado com sucesso\",\n      \"database_variables_save_successfully\": \"Banco de dados configurado com sucesso.\"\n    }\n  },\n  \"validation\": {\n    \"invalid_phone\": \"Número de telefone inválido\",\n    \"invalid_url\": \"url inválidas (ex: http://www.craterapp.com)\",\n    \"required\": \"Campo obrigatório\",\n    \"email_incorrect\": \"E-mail incorreto\",\n    \"email_already_taken\": \"O email já foi recebido.\",\n    \"email_does_not_exist\": \"O usuário com determinado email não existe\",\n    \"send_reset_link\": \"Enviar link de redefinição\",\n    \"not_yet\": \"Ainda não? Envie novamente\",\n    \"password_min_length\": \"A senha deve conter {count} caracteres\",\n    \"name_min_length\": \"O nome deve ter pelo menos {count} letras.\",\n    \"enter_valid_tax_rate\": \"Insira uma taxa de imposto válida\",\n    \"numbers_only\": \"Apenas Números.\",\n    \"characters_only\": \"Apenas Caracteres.\",\n    \"password_incorrect\": \"As senhas devem ser idênticas\",\n    \"password_length\": \"A senha deve ter {count} caracteres.\",\n    \"qty_must_greater_than_zero\": \"A quantidade deve ser maior que zero.\",\n    \"price_greater_than_zero\": \"O preço deve ser maior que zero.\",\n    \"payment_greater_than_zero\": \"O pagamento deve ser maior que zero.\",\n    \"payment_greater_than_due_amount\": \"O pagamento inserido é mais do que o valor devido desta fatura.\",\n    \"quantity_maxlength\": \"A quantidade não deve exceder 20 dígitos.\",\n    \"price_maxlength\": \"O preço não deve ser superior a 20 dígitos.\",\n    \"price_minvalue\": \"O preço deve ser maior que 0.\",\n    \"amount_maxlength\": \"Montante não deve ser superior a 20 dígitos.\",\n    \"amount_minvalue\": \"Montante deve ser maior que zero\",\n    \"description_maxlength\": \"A descrição não deve ter mais que 255 caracteres.\",\n    \"maximum_options_error\": \"Máximo de {max} opções selecionadas. Primeiro remova uma opção selecionada para selecionar outra.\",\n    \"notes_maxlength\": \"As anotações não devem ter mais que 255 caracteres.\",\n    \"address_maxlength\": \"O endereço não deve ter mais que 255 caracteres.\",\n    \"ref_number_maxlength\": \"O número de referência não deve ter mais que 255 caracteres.\",\n    \"prefix_maxlength\": \"O prefixo não deve ter mais que 5 caracteres.\"\n  }\n}\n"
  },
  {
    "path": "resources/scripts/locales/pt.json",
    "content": "{\n  \"navigation\": {\n    \"dashboard\": \"Painel\",\n    \"customers\": \"Clientes\",\n    \"items\": \"Itens\",\n    \"invoices\": \"Faturas\",\n    \"recurring-invoices\": \"Faturas Recorrentes\",\n    \"expenses\": \"Despesas\",\n    \"estimates\": \"Orçamentos\",\n    \"payments\": \"Pagamentos\",\n    \"reports\": \"Relatórios\",\n    \"settings\": \"Configurações\",\n    \"logout\": \"Encerrar sessão\",\n    \"users\": \"Usuários\",\n    \"modules\": \"Navegação → módulos\"\n  },\n  \"general\": {\n    \"add_company\": \"Adicionar Empresa\",\n    \"view_pdf\": \"Ver PDF\",\n    \"copy_pdf_url\": \"Copiar URL do PDF\",\n    \"download_pdf\": \"Baixar PDF\",\n    \"save\": \"Salvar\",\n    \"create\": \"Criar\",\n    \"cancel\": \"Cancelar\",\n    \"update\": \"Atualizar\",\n    \"deselect\": \"Desmarcar\",\n    \"download\": \"Baixar\",\n    \"from_date\": \"A partir da Data\",\n    \"to_date\": \"Até a Data\",\n    \"from\": \"De\",\n    \"to\": \"Para\",\n    \"ok\": \"Geral → Ok\",\n    \"yes\": \"Sim\",\n    \"no\": \"Não\",\n    \"sort_by\": \"Ordenar por\",\n    \"ascending\": \"Crescente\",\n    \"descending\": \"Descendente\",\n    \"subject\": \"Sujeita\",\n    \"body\": \"Corpo\",\n    \"message\": \"Mensagem\",\n    \"send\": \"Enviar\",\n    \"preview\": \"Pré-visualizar\",\n    \"go_back\": \"Voltar\",\n    \"back_to_login\": \"Voltar ao Login?\",\n    \"home\": \"Painel\",\n    \"filter\": \"Filtrar\",\n    \"delete\": \"Excluir\",\n    \"edit\": \"Editar\",\n    \"view\": \"Ver\",\n    \"add_new_item\": \"Adicionar novo item\",\n    \"clear_all\": \"Limpar tudo\",\n    \"showing\": \"Mostrando\",\n    \"of\": \"de\",\n    \"actions\": \"Ações\",\n    \"subtotal\": \"Total parcial\",\n    \"discount\": \"Desconto\",\n    \"fixed\": \"Fixado\",\n    \"percentage\": \"Porcentagem\",\n    \"tax\": \"Imposto\",\n    \"total_amount\": \"Quantidade Total\",\n    \"bill_to\": \"Cobrar a\",\n    \"ship_to\": \"Envie a\",\n    \"due\": \"Vencida\",\n    \"draft\": \"Rascunho\",\n    \"sent\": \"Enviado\",\n    \"all\": \"Todos\",\n    \"select_all\": \"Selecionar tudo\",\n    \"select_template\": \"Selecionar modelo\",\n    \"choose_file\": \"Clique aqui para escolher um arquivo\",\n    \"choose_template\": \"Escolha um modelo\",\n    \"choose\": \"Escolher\",\n    \"remove\": \"Excluir\",\n    \"select_a_status\": \"Selecione um status\",\n    \"select_a_tax\": \"Selecione um Imposto\",\n    \"search\": \"Buscar\",\n    \"are_you_sure\": \"Tem certeza?\",\n    \"list_is_empty\": \"Lista está vazia.\",\n    \"no_tax_found\": \"Imposto não encontrado!\",\n    \"four_zero_four\": \"Geral → 404\",\n    \"you_got_lost\": \"Ops! Se perdeu!\",\n    \"go_home\": \"Ir para Home\",\n    \"test_mail_conf\": \"Testar configuração de email\",\n    \"send_mail_successfully\": \"Correio enviado com sucesso\",\n    \"setting_updated\": \"Configuração atualizada com sucesso\",\n    \"select_state\": \"Selecione Estado\",\n    \"select_country\": \"Selecionar pais\",\n    \"select_city\": \"Selecionar cidade\",\n    \"street_1\": \"Rua 1\",\n    \"street_2\": \"Rua # 2\",\n    \"action_failed\": \"Ação: Falhou\",\n    \"retry\": \"Atualização falhou\",\n    \"choose_note\": \"Escolher Nota\",\n    \"no_note_found\": \"Nenhuma Nota Encontrada\",\n    \"insert_note\": \"Inserir Nota\",\n    \"copied_pdf_url_clipboard\": \"URL do PDF copiado para área de transferência!\",\n    \"copied_url_clipboard\": \"Geral → Copiado para área de transferência!\",\n    \"docs\": \"Documentos\",\n    \"do_you_wish_to_continue\": \"Você deseja continuar?\",\n    \"note\": \"Observação\",\n    \"pay_invoice\": \"Geral → pagar cobrança\",\n    \"login_successfully\": \"Geral → logado com sucesso!\",\n    \"logged_out_successfully\": \"Geral → saiu com sucesso\",\n    \"mark_as_default\": \"Geral → Marcar como padrão\"\n  },\n  \"dashboard\": {\n    \"select_year\": \"Selecione Ano\",\n    \"cards\": {\n      \"due_amount\": \"Total Vencido\",\n      \"customers\": \"Clientes\",\n      \"invoices\": \"Faturas\",\n      \"estimates\": \"Orçamentos\",\n      \"payments\": \"Dashboard → Cartões → Pagamentos\"\n    },\n    \"chart_info\": {\n      \"total_sales\": \"Vendas\",\n      \"total_receipts\": \"Receitas\",\n      \"total_expense\": \"Despesas\",\n      \"net_income\": \"Resultado líquido\",\n      \"year\": \"Selecione Ano\"\n    },\n    \"monthly_chart\": {\n      \"title\": \"Vendas e Despesas\"\n    },\n    \"recent_invoices_card\": {\n      \"title\": \"Faturas vencidas\",\n      \"due_on\": \"Vencido em\",\n      \"customer\": \"Cliente\",\n      \"amount_due\": \"Valor Devido\",\n      \"actions\": \"Ações\",\n      \"view_all\": \"Ver todos\"\n    },\n    \"recent_estimate_card\": {\n      \"title\": \"Orçamentos Recentes\",\n      \"date\": \"Data\",\n      \"customer\": \"Cliente\",\n      \"amount_due\": \"Valor Devido\",\n      \"actions\": \"Ações\",\n      \"view_all\": \"Ver todos\"\n    }\n  },\n  \"tax_types\": {\n    \"name\": \"Nome\",\n    \"description\": \"Descrição\",\n    \"percent\": \"Porcentagem\",\n    \"compound_tax\": \"Imposto Composto\"\n  },\n  \"global_search\": {\n    \"search\": \"Buscar...\",\n    \"customers\": \"Clientes\",\n    \"users\": \"Usuários\",\n    \"no_results_found\": \"Nenhum Resultado Encontrado\"\n  },\n  \"company_switcher\": {\n    \"label\": \"TROCAR EMPRESA\",\n    \"no_results_found\": \"Nenhum Resultado Encontrado\",\n    \"add_new_company\": \"Adicionar nova empresa\",\n    \"new_company\": \"Nova Empresa\",\n    \"created_message\": \"Empresa criada com sucesso\"\n  },\n  \"dateRange\": {\n    \"today\": \"Hoje\",\n    \"this_week\": \"Esta Semana\",\n    \"this_month\": \"Este mês\",\n    \"this_quarter\": \"Este trimestre\",\n    \"this_year\": \"Este ano\",\n    \"previous_week\": \"Semana anterior\",\n    \"previous_month\": \"Mês anterior\",\n    \"previous_quarter\": \"Trimestre anterior\",\n    \"previous_year\": \"Ano Anterior\",\n    \"custom\": \"Personalizado\"\n  },\n  \"customers\": {\n    \"title\": \"Clientes\",\n    \"prefix\": \"Prefixo\",\n    \"add_customer\": \"Adicionar cliente\",\n    \"contacts_list\": \"Lista de clientes\",\n    \"name\": \"Nome\",\n    \"mail\": \"Email | Emails\",\n    \"statement\": \"Declaração\",\n    \"display_name\": \"Nome de exibição\",\n    \"primary_contact_name\": \"Nome do contato principal\",\n    \"contact_name\": \"Nome de Contato\",\n    \"amount_due\": \"Valor Devido\",\n    \"email\": \"Clientes → E-mail\",\n    \"address\": \"Endereço\",\n    \"phone\": \"Telefone\",\n    \"website\": \"Site\",\n    \"overview\": \"Visão Geral\",\n    \"invoice_prefix\": \"Prefixo da fatura\",\n    \"estimate_prefix\": \"Orçamento Prefixo\",\n    \"payment_prefix\": \"Pagamento Prefixo\",\n    \"enable_portal\": \"Habilitar Portal\",\n    \"country\": \"Pais\",\n    \"state\": \"Estado\",\n    \"city\": \"Cidade\",\n    \"zip_code\": \"CEP\",\n    \"added_on\": \"Adicionado em\",\n    \"action\": \"Ação\",\n    \"password\": \"Senha\",\n    \"confirm_password\": \"Confirmar Senha\",\n    \"street_number\": \"Número\",\n    \"primary_currency\": \"Moeda principal\",\n    \"description\": \"Descrição\",\n    \"add_new_customer\": \"Adicionar novo cliente\",\n    \"save_customer\": \"Salvar cliente\",\n    \"update_customer\": \"Atualizar cliente\",\n    \"customer\": \"Cliente | Clientes\",\n    \"new_customer\": \"Novo Cliente\",\n    \"edit_customer\": \"Editar Cliente\",\n    \"basic_info\": \"Informação Básica\",\n    \"portal_access\": \"Clientes → Acessar portal\",\n    \"portal_access_text\": \"Clientes→ Texto do portal de acesso?\",\n    \"portal_access_url\": \"Customer Portal Login URL\",\n    \"portal_access_url_help\": \"Please copy & forward the above given URL to your customer for providing access.\",\n    \"billing_address\": \"Endereço de cobrança\",\n    \"shipping_address\": \"Endereço de entrega\",\n    \"copy_billing_address\": \"Copiar Endereço de Faturamento\",\n    \"no_customers\": \"Ainda não há clientes!\",\n    \"no_customers_found\": \"Clientes não encontrados!\",\n    \"no_contact\": \"Nenhum contato\",\n    \"no_contact_name\": \"Sem nome de contato\",\n    \"list_of_customers\": \"Esta seção conterá a lista de clientes.\",\n    \"primary_display_name\": \"Nome de exibição principal\",\n    \"select_currency\": \"Selecione o tipo de moeda\",\n    \"select_a_customer\": \"Selecione um cliente\",\n    \"type_or_click\": \"Digite ou clique para selecionar\",\n    \"new_transaction\": \"Nova transação\",\n    \"no_matching_customers\": \"Não há clientes correspondentes!\",\n    \"phone_number\": \"Número de telefone\",\n    \"create_date\": \"Criar Data\",\n    \"confirm_delete\": \"Você não poderá recuperar este cliente e todas as faturas, orçamentos e pagamentos relacionados. | Você não poderá recuperar esses clientes e todas as faturas, estimativas e pagamentos relacionados.\",\n    \"created_message\": \"Cliente criado com sucesso\",\n    \"updated_message\": \"Cliente atualizado com sucesso\",\n    \"address_updated_message\": \"Address Information Updated succesfully\",\n    \"deleted_message\": \"Cliente excluído com sucesso | Clientes excluídos com sucesso\",\n    \"edit_currency_not_allowed\": \"Não é possível alterar a moeda depois de criar transações.\"\n  },\n  \"items\": {\n    \"title\": \"Itens\",\n    \"items_list\": \"Lista de Itens\",\n    \"name\": \"Nome\",\n    \"unit\": \"Unidade\",\n    \"description\": \"Descrição\",\n    \"added_on\": \"Adicionado\",\n    \"price\": \"Preço\",\n    \"date_of_creation\": \"Data de criação\",\n    \"not_selected\": \"Nenhum item selecionado\",\n    \"action\": \"Ação\",\n    \"add_item\": \"Adicionar item\",\n    \"save_item\": \"Salvar item\",\n    \"update_item\": \"Atualizar item\",\n    \"item\": \"Item | Itens\",\n    \"add_new_item\": \"Adicionar novo item\",\n    \"new_item\": \"Novo item\",\n    \"edit_item\": \"Editar item\",\n    \"no_items\": \"Ainda não existe itens!\",\n    \"list_of_items\": \"Esta seção conterá a lista de itens.\",\n    \"select_a_unit\": \"selecionar unidade\",\n    \"taxes\": \"Impostos\",\n    \"item_attached_message\": \"Não é possível excluir um item que já está em uso\",\n    \"confirm_delete\": \"Você não poderá recuperar este item | Você não poderá recuperar esses itens\",\n    \"created_message\": \"Item criado com sucesso\",\n    \"updated_message\": \"Item atualizado com sucesso\",\n    \"deleted_message\": \"Item excluído com sucesso | Itens Excluídos com sucesso\"\n  },\n  \"estimates\": {\n    \"title\": \"Orçamentos\",\n    \"accept_estimate\": \"Accept Estimate\",\n    \"reject_estimate\": \"Reject Estimate\",\n    \"estimate\": \"Orçamento | Orçamentos\",\n    \"estimates_list\": \"Lista de orçamentos\",\n    \"days\": \"{days} Dias\",\n    \"months\": \"{months} Mês\",\n    \"years\": \"{years} Ano\",\n    \"all\": \"Todos\",\n    \"paid\": \"Pago\",\n    \"unpaid\": \"Não pago\",\n    \"customer\": \"CLIENTE\",\n    \"ref_no\": \"NÚMERO DE REFERÊNCIA.\",\n    \"number\": \"NÚMERO\",\n    \"amount_due\": \"Valor Devido\",\n    \"partially_paid\": \"Pago parcialmente\",\n    \"total\": \"Total\",\n    \"discount\": \"Desconto\",\n    \"sub_total\": \"Subtotal\",\n    \"estimate_number\": \"Numero do Orçamento\",\n    \"ref_number\": \"Referência\",\n    \"contact\": \"Contato\",\n    \"add_item\": \"Adicionar Item\",\n    \"date\": \"Data\",\n    \"due_date\": \"Data de Vencimento\",\n    \"expiry_date\": \"Data de expiração\",\n    \"status\": \"Status\",\n    \"add_tax\": \"Adicionar Imposto\",\n    \"amount\": \"Valor\",\n    \"action\": \"Ação\",\n    \"notes\": \"Observações\",\n    \"tax\": \"Imposto\",\n    \"estimate_template\": \"Modelo de orçamento\",\n    \"convert_to_invoice\": \"Converter em fatura\",\n    \"mark_as_sent\": \"Marcar como enviado\",\n    \"send_estimate\": \"Enviar orçamento\",\n    \"resend_estimate\": \"Reenviar Orçamento\",\n    \"record_payment\": \"Registro de pago\",\n    \"add_estimate\": \"Adicionar orçamento\",\n    \"save_estimate\": \"Salvar Orçamento\",\n    \"confirm_conversion\": \"Esse orçamento será usado para criar uma nova Fatura.\",\n    \"conversion_message\": \"Fatura criada com sucesso\",\n    \"confirm_send_estimate\": \"Este orçamento será enviado por email ao cliente\",\n    \"confirm_mark_as_sent\": \"Este orçamento será marcado como enviado\",\n    \"confirm_mark_as_accepted\": \"Este orçamento será marcado como Aceito\",\n    \"confirm_mark_as_rejected\": \"Este orçamento será marcado como Rejeitado\",\n    \"no_matching_estimates\": \"Não há orçamentos correspondentes!\",\n    \"mark_as_sent_successfully\": \"Orçamento como marcado como enviado com sucesso\",\n    \"send_estimate_successfully\": \"Orçamento enviado com sucesso\",\n    \"errors\": {\n      \"required\": \"Campo obrigatório\"\n    },\n    \"accepted\": \"Aceito\",\n    \"rejected\": \"Rejeitado\",\n    \"expired\": \"Expired\",\n    \"sent\": \"Enviado\",\n    \"draft\": \"Rascunho\",\n    \"viewed\": \"Viewed\",\n    \"declined\": \"Rejeitado\",\n    \"new_estimate\": \"Novo orçamento\",\n    \"add_new_estimate\": \"Adicionar novo orçamento\",\n    \"update_Estimate\": \"Atualizar orçamento\",\n    \"edit_estimate\": \"Editar orçamento\",\n    \"items\": \"itens\",\n    \"Estimate\": \"Orçamento | Orçamentos\",\n    \"add_new_tax\": \"Adicionar novo imposto\",\n    \"no_estimates\": \"Ainda não há orçamentos ainda!\",\n    \"list_of_estimates\": \"Esta seção contém a lista de orçamentos.\",\n    \"mark_as_rejected\": \"Marcar como rejeitado\",\n    \"mark_as_accepted\": \"Marcar como aceito\",\n    \"marked_as_accepted_message\": \"Orçamento marcado como aceito\",\n    \"marked_as_rejected_message\": \"Orçamento marcado como rejeitado\",\n    \"confirm_delete\": \"Não poderá recuperar este orçamento | Não poderá recuperar estes orçamentos\",\n    \"created_message\": \"Orçamento criado com sucesso\",\n    \"updated_message\": \"Orçamento atualizado com sucesso\",\n    \"deleted_message\": \"Orçamento excluído com sucesso | Orçamentos excluídos com sucesso\",\n    \"something_went_wrong\": \"algo deu errado\",\n    \"item\": {\n      \"title\": \"Titulo do item\",\n      \"description\": \"Descrição\",\n      \"quantity\": \"Quantidade\",\n      \"price\": \"Preço\",\n      \"discount\": \"Desconto\",\n      \"total\": \"Total\",\n      \"total_discount\": \"Desconto total\",\n      \"sub_total\": \"Subtotal\",\n      \"tax\": \"Imposto\",\n      \"amount\": \"Valor\",\n      \"select_an_item\": \"Escreva ou clique para selecionar um item\",\n      \"type_item_description\": \"Descrição do Item (opcional)\"\n    },\n    \"mark_as_default_estimate_template_description\": \"If enabled, the selected template will be automatically selected for new estimates.\"\n  },\n  \"invoices\": {\n    \"title\": \"Faturas\",\n    \"download\": \"Download\",\n    \"pay_invoice\": \"Pay Invoice\",\n    \"invoices_list\": \"Lista de faturas\",\n    \"invoice_information\": \"Invoice Information\",\n    \"days\": \"{days} dias\",\n    \"months\": \"{months} Mês\",\n    \"years\": \"{years} Ano\",\n    \"all\": \"Todas\",\n    \"paid\": \"Paga\",\n    \"unpaid\": \"Não Paga\",\n    \"viewed\": \"Visualizado\",\n    \"overdue\": \"Atrasado\",\n    \"completed\": \"Concluído\",\n    \"customer\": \"CLIENTE\",\n    \"paid_status\": \"STATUS PAGAMENTO\",\n    \"ref_no\": \"REF NO.\",\n    \"number\": \"NÚMERO\",\n    \"amount_due\": \"VALOR DEVIDO\",\n    \"partially_paid\": \"Parcialmente Pago\",\n    \"total\": \"Total\",\n    \"discount\": \"Desconto\",\n    \"sub_total\": \"Subtotal\",\n    \"invoice\": \"Fatura | Faturas\",\n    \"invoice_number\": \"Número da fatura\",\n    \"ref_number\": \"Referência\",\n    \"contact\": \"Contato\",\n    \"add_item\": \"Adicionar um Item\",\n    \"date\": \"Data\",\n    \"due_date\": \"Data de Vencimento\",\n    \"status\": \"Status\",\n    \"add_tax\": \"Adicionar imposto\",\n    \"amount\": \"Valor\",\n    \"action\": \"Ação\",\n    \"notes\": \"Observações\",\n    \"view\": \"Ver\",\n    \"send_invoice\": \"Enviar Fatura\",\n    \"resend_invoice\": \"Reenviar Fatura\",\n    \"invoice_template\": \"Modelo da Fatura\",\n    \"conversion_message\": \"Fatura clonada com sucesso\",\n    \"template\": \"Modelo\",\n    \"mark_as_sent\": \"Marcar como enviada\",\n    \"confirm_send_invoice\": \"Esta fatura será enviada por e-mail ao cliente\",\n    \"invoice_mark_as_sent\": \"Esta fatura será marcada como enviada\",\n    \"confirm_mark_as_accepted\": \"Esta fatura será marcada como Aceita\",\n    \"confirm_mark_as_rejected\": \"Esta fatura será marcada como Rejeitado\",\n    \"confirm_send\": \"Esta fatura será enviada por e-mail ao cliente\",\n    \"invoice_date\": \"Data da Fatura\",\n    \"record_payment\": \"Gravar Pagamento\",\n    \"add_new_invoice\": \"Adicionar Nova Fatura\",\n    \"update_expense\": \"Atualizar Despesa\",\n    \"edit_invoice\": \"Editar Fatura\",\n    \"new_invoice\": \"Nova Fatura\",\n    \"save_invoice\": \"Salvar Fatura\",\n    \"update_invoice\": \"Atualizar Fatura\",\n    \"add_new_tax\": \"Adicionar novo Imposto\",\n    \"no_invoices\": \"Ainda não há faturas!\",\n    \"mark_as_rejected\": \"Marcada como rejeitada\",\n    \"mark_as_accepted\": \"Marcar como aceita\",\n    \"list_of_invoices\": \"Esta seção conterá a lista de faturas.\",\n    \"select_invoice\": \"Selecionar Fatura\",\n    \"no_matching_invoices\": \"Não há faturas correspondentes!\",\n    \"mark_as_sent_successfully\": \"Fatura marcada como enviada com sucesso\",\n    \"invoice_sent_successfully\": \"Fatura enviada com sucesso\",\n    \"cloned_successfully\": \"Fatura clonada com sucesso\",\n    \"clone_invoice\": \"Clonar fatura\",\n    \"confirm_clone\": \"Esta fatura será clonada em uma nova fatura\",\n    \"item\": {\n      \"title\": \"Titulo do Item\",\n      \"description\": \"Descrição\",\n      \"quantity\": \"Quantidade\",\n      \"price\": \"Preço\",\n      \"discount\": \"Desconto\",\n      \"total\": \"Total\",\n      \"total_discount\": \"Desconto Total\",\n      \"sub_total\": \"Subtotal\",\n      \"tax\": \"Imposto\",\n      \"amount\": \"Valor\",\n      \"select_an_item\": \"Digite ou clique para selecionar um item\",\n      \"type_item_description\": \"Descrição do item (opcional)\"\n    },\n    \"payment_attached_message\": \"Uma das faturas selecionadas já possui um pagamento anexado. Certifique-se de excluir os pagamentos anexados primeiro, para continuar com a exclusão\",\n    \"confirm_delete\": \"Você não poderá recuperar esta fatura | Você não poderá recuperar essas faturas\",\n    \"created_message\": \"Fatura criada com sucesso\",\n    \"updated_message\": \"Fatura atualizada com sucesso\",\n    \"deleted_message\": \"Fatura excluída com sucesso | Faturas excluídas com sucesso\",\n    \"marked_as_sent_message\": \"Fatura marcada como enviada com sucesso\",\n    \"something_went_wrong\": \"algo deu errado\",\n    \"invalid_due_amount_message\": \"O valor total da fatura não pode ser menor que o valor total pago para esta fatura. Atualize a fatura ou exclua os pagamentos associados para continuar.\",\n    \"mark_as_default_invoice_template_description\": \"If enabled, the selected template will be automatically selected for new invoices.\"\n  },\n  \"recurring_invoices\": {\n    \"title\": \"Faturas Recorrentes\",\n    \"invoices_list\": \"Lista de Faturas Recorrentes\",\n    \"days\": \"{days} Dias\",\n    \"months\": \"{months} Mês\",\n    \"years\": \"{years} Ano\",\n    \"all\": \"Todos\",\n    \"paid\": \"Pago\",\n    \"unpaid\": \"Não pago\",\n    \"viewed\": \"Visualizado\",\n    \"overdue\": \"Atrasado\",\n    \"active\": \"Ativo\",\n    \"completed\": \"Concluído\",\n    \"customer\": \"CLIENTE\",\n    \"paid_status\": \"STATUS PAGAMENTO\",\n    \"ref_no\": \"REF NO.\",\n    \"number\": \"NUMBER\",\n    \"amount_due\": \"AMOUNT DUE\",\n    \"partially_paid\": \"Partially Paid\",\n    \"total\": \"Total\",\n    \"discount\": \"Discount\",\n    \"sub_total\": \"Sub Total\",\n    \"invoice\": \"Recurring Invoice | Recurring Invoices\",\n    \"invoice_number\": \"Recurring Invoice Number\",\n    \"next_invoice_date\": \"Next Invoice Date\",\n    \"ref_number\": \"Ref Number\",\n    \"contact\": \"Contact\",\n    \"add_item\": \"Add an Item\",\n    \"date\": \"Date\",\n    \"limit_by\": \"Limit by\",\n    \"limit_date\": \"Limit Date\",\n    \"limit_count\": \"Limit Count\",\n    \"count\": \"Count\",\n    \"status\": \"Status\",\n    \"select_a_status\": \"Select a status\",\n    \"working\": \"Working\",\n    \"on_hold\": \"On Hold\",\n    \"complete\": \"Completed\",\n    \"add_tax\": \"Add Tax\",\n    \"amount\": \"Amount\",\n    \"action\": \"Action\",\n    \"notes\": \"Notes\",\n    \"view\": \"View\",\n    \"basic_info\": \"Basic Info\",\n    \"send_invoice\": \"Send Recurring Invoice\",\n    \"auto_send\": \"Auto Send\",\n    \"resend_invoice\": \"Resend Recurring Invoice\",\n    \"invoice_template\": \"Recurring Invoice Template\",\n    \"conversion_message\": \"Recurring Invoice cloned successful\",\n    \"template\": \"Template\",\n    \"mark_as_sent\": \"Mark as sent\",\n    \"confirm_send_invoice\": \"This recurring invoice will be sent via email to the customer\",\n    \"invoice_mark_as_sent\": \"This recurring invoice will be marked as sent\",\n    \"confirm_send\": \"This recurring invoice will be sent via email to the customer\",\n    \"starts_at\": \"Start Date\",\n    \"due_date\": \"Invoice Due Date\",\n    \"record_payment\": \"Record Payment\",\n    \"add_new_invoice\": \"Add New Recurring Invoice\",\n    \"update_expense\": \"Update Expense\",\n    \"edit_invoice\": \"Edit Recurring Invoice\",\n    \"new_invoice\": \"New Recurring Invoice\",\n    \"send_automatically\": \"Send Automatically\",\n    \"send_automatically_desc\": \"Enable this, if you would like to send the invoice automatically to the customer when its created.\",\n    \"save_invoice\": \"Save Recurring Invoice\",\n    \"update_invoice\": \"Update Recurring Invoice\",\n    \"add_new_tax\": \"Adicionar Novo Imposto\",\n    \"no_invoices\": \"Não há faturas recorrentes ainda!\",\n    \"mark_as_rejected\": \"Marcar como rejeitada\",\n    \"mark_as_accepted\": \"Marcar como aceito\",\n    \"list_of_invoices\": \"Esta seção conterá a lista de faturas recorrentes.\",\n    \"select_invoice\": \"Selecionar Fatura\",\n    \"no_matching_invoices\": \"Não há faturas recorrentes correspondentes!\",\n    \"mark_as_sent_successfully\": \"Fatura recorrente marcada como enviada com sucesso\",\n    \"invoice_sent_successfully\": \"Recurring Invoice sent successfully\",\n    \"cloned_successfully\": \"Recurring Invoice cloned successfully\",\n    \"clone_invoice\": \"Clone Recurring Invoice\",\n    \"confirm_clone\": \"This recurring invoice will be cloned into a new Recurring Invoice\",\n    \"add_customer_email\": \"Please add an email address for this customer to send invoices automatically.\",\n    \"item\": {\n      \"title\": \"Item Title\",\n      \"description\": \"Description\",\n      \"quantity\": \"Quantity\",\n      \"price\": \"Price\",\n      \"discount\": \"Discount\",\n      \"total\": \"Total\",\n      \"total_discount\": \"Total Discount\",\n      \"sub_total\": \"Sub Total\",\n      \"tax\": \"Tax\",\n      \"amount\": \"Amount\",\n      \"select_an_item\": \"Type or click to select an item\",\n      \"type_item_description\": \"Type Item Description (optional)\"\n    },\n    \"frequency\": {\n      \"title\": \"Frequency\",\n      \"select_frequency\": \"Select Frequency\",\n      \"minute\": \"Minute\",\n      \"hour\": \"Hour\",\n      \"day_month\": \"Day of month\",\n      \"month\": \"Month\",\n      \"day_week\": \"Day of week\"\n    },\n    \"confirm_delete\": \"You will not be able to recover this Invoice | You will not be able to recover these Invoices\",\n    \"created_message\": \"Recurring Invoice created successfully\",\n    \"updated_message\": \"Recurring Invoice updated successfully\",\n    \"deleted_message\": \"Recurring Invoice deleted successfully | Recurring Invoices deleted successfully\",\n    \"marked_as_sent_message\": \"Recurring Invoice marked as sent successfully\",\n    \"user_email_does_not_exist\": \"User email does not exist\",\n    \"something_went_wrong\": \"something went wrong\",\n    \"invalid_due_amount_message\": \"Total Recurring Invoice amount cannot be less than total paid amount for this Recurring Invoice. Please update the invoice or delete the associated payments to continue.\"\n  },\n  \"payments\": {\n    \"title\": \"Pagamentos\",\n    \"payments_list\": \"Lista de Pagamentos\",\n    \"record_payment\": \"Gravar Pagamento\",\n    \"customer\": \"Cliente\",\n    \"date\": \"Data\",\n    \"amount\": \"Valor\",\n    \"action\": \"Ação\",\n    \"payment_number\": \"Número de Pagamento\",\n    \"payment_mode\": \"Forma de Pagamento\",\n    \"invoice\": \"Fatura\",\n    \"note\": \"Observação\",\n    \"add_payment\": \"Adicionar Pagamento\",\n    \"new_payment\": \"Novo Pagamento\",\n    \"edit_payment\": \"Editar Pagamento\",\n    \"view_payment\": \"Ver Pagamento\",\n    \"add_new_payment\": \"Adicionar novo Pagamento\",\n    \"send_payment_receipt\": \"Enviar recibo de pagamento\",\n    \"send_payment\": \"Enviar Pagamento\",\n    \"save_payment\": \"Salvar Pagamento\",\n    \"update_payment\": \"Atualizar Pagamento\",\n    \"payment\": \"Pagamento | Pagamentos\",\n    \"no_payments\": \"Não há pagamentos ainda!\",\n    \"not_selected\": \"Não selecionado\",\n    \"no_invoice\": \"Nenhuma fatura\",\n    \"no_matching_payments\": \"Não há pagamentos correspondentes!\",\n    \"list_of_payments\": \"Esta seção conterá a lista de pagamentos.\",\n    \"select_payment_mode\": \"Selecione a forma de pagamento\",\n    \"confirm_mark_as_sent\": \"Este orçamento será marcado como enviado\",\n    \"confirm_send_payment\": \"Este pagamento será enviado por e-mail para o cliente\",\n    \"send_payment_successfully\": \"Pagamento enviado com sucesso\",\n    \"something_went_wrong\": \"algo deu errado\",\n    \"confirm_delete\": \"Você não poderá recuperar este Pagamento | Você não poderá recuperar esses Pagamentos\",\n    \"created_message\": \"Pagamento criado com sucesso\",\n    \"updated_message\": \"Pagamento atualizado com sucesso\",\n    \"deleted_message\": \"Pagamento excluído com sucesso | Pagamentos excluídos com sucesso\",\n    \"invalid_amount_message\": \"O valor do pagamento é inválido\"\n  },\n  \"expenses\": {\n    \"title\": \"Despesas\",\n    \"expenses_list\": \"Lista de Despesas\",\n    \"select_a_customer\": \"Selecione um cliente\",\n    \"expense_title\": \"Título\",\n    \"customer\": \"Cliente\",\n    \"currency\": \"Currency\",\n    \"contact\": \"Contato\",\n    \"category\": \"Categoria\",\n    \"from_date\": \"A partir da Data\",\n    \"to_date\": \"Até a Data\",\n    \"expense_date\": \"Data\",\n    \"description\": \"Descrição\",\n    \"receipt\": \"Recibo\",\n    \"amount\": \"Valor\",\n    \"action\": \"Ação\",\n    \"not_selected\": \"Não selecionado\",\n    \"note\": \"Observação\",\n    \"category_id\": \"Categoria\",\n    \"date\": \"Data da Despesa\",\n    \"add_expense\": \"Adicionar Despesa\",\n    \"add_new_expense\": \"Adicionar Nova Despesa\",\n    \"save_expense\": \"Salvar Despesa\",\n    \"update_expense\": \"Atualizar Despesa\",\n    \"download_receipt\": \"Baixar Recibo\",\n    \"edit_expense\": \"Editar Despesa\",\n    \"new_expense\": \"Nova Despesa\",\n    \"expense\": \"Despesa | Despesas\",\n    \"no_expenses\": \"Ainda sem Despesas!\",\n    \"list_of_expenses\": \"Esta seção conterá a lista de despesas.\",\n    \"confirm_delete\": \"Você não poderá recuperar esta despesa | Você não poderá recuperar essas despesas\",\n    \"created_message\": \"Despesa criada com sucesso\",\n    \"updated_message\": \"Despesa atualizada com sucesso\",\n    \"deleted_message\": \"Despesas excluídas com sucesso | Despesas excluídas com sucesso\",\n    \"categories\": {\n      \"categories_list\": \"Lista de Categorias\",\n      \"title\": \"Título\",\n      \"name\": \"Nome\",\n      \"description\": \"Descrição\",\n      \"amount\": \"Valor\",\n      \"actions\": \"Ações\",\n      \"add_category\": \"Adicionar Categoria\",\n      \"new_category\": \"Nova Categoria\",\n      \"category\": \"Categoria | Categorias\",\n      \"select_a_category\": \"Selecionar uma Categoria\"\n    }\n  },\n  \"login\": {\n    \"email\": \"Email\",\n    \"password\": \"Senha\",\n    \"forgot_password\": \"Esqueceu a senha?\",\n    \"or_signIn_with\": \"ou Entre com\",\n    \"login\": \"Entrar\",\n    \"register\": \"Cadastre-se\",\n    \"reset_password\": \"Redefinir Senha\",\n    \"password_reset_successfully\": \"Senha redefinida com sucesso\",\n    \"enter_email\": \"Digite email\",\n    \"enter_password\": \"Digite a senha\",\n    \"retype_password\": \"Confirme a Senha\"\n  },\n  \"modules\": {\n    \"buy_now\": \"Buy Now\",\n    \"install\": \"Install\",\n    \"price\": \"Price\",\n    \"download_zip_file\": \"Download ZIP file\",\n    \"unzipping_package\": \"Unzipping Package\",\n    \"copying_files\": \"Copying Files\",\n    \"deleting_files\": \"Deleting Unused files\",\n    \"completing_installation\": \"Completing Installation\",\n    \"update_failed\": \"Update Failed\",\n    \"install_success\": \"Module has been installed successfully!\",\n    \"customer_reviews\": \"Reviews\",\n    \"license\": \"License\",\n    \"faq\": \"FAQ\",\n    \"monthly\": \"Monthly\",\n    \"yearly\": \"Yearly\",\n    \"updated\": \"Updated\",\n    \"version\": \"Version\",\n    \"disable\": \"Disable\",\n    \"module_disabled\": \"Module Disabled\",\n    \"enable\": \"Enable\",\n    \"module_enabled\": \"Module Enabled\",\n    \"update_to\": \"Update To\",\n    \"module_updated\": \"Module Updated Successfully!\",\n    \"title\": \"Modules\",\n    \"module\": \"Module | Modules\",\n    \"api_token\": \"API token\",\n    \"invalid_api_token\": \"Invalid API Token.\",\n    \"other_modules\": \"Other Modules\",\n    \"view_all\": \"View All\",\n    \"no_reviews_found\": \"There are no reviews for this module yet!\",\n    \"module_not_purchased\": \"Module Not Purchased\",\n    \"module_not_found\": \"Module Not Found\",\n    \"version_not_supported\": \"This module version doesn't support the current version of Crater\",\n    \"last_updated\": \"Last Updated On\",\n    \"connect_installation\": \"Connect your installation\",\n    \"api_token_description\": \"Login to {url} and connect this installation by entering the API Token. Your purchased modules will show up here after the connection is established.\",\n    \"view_module\": \"View Module\",\n    \"update_available\": \"Update Available\",\n    \"purchased\": \"Purchased\",\n    \"installed\": \"Installed\",\n    \"no_modules_installed\": \"No Modules Installed Yet!\",\n    \"disable_warning\": \"All the settings for this particular will be reverted.\",\n    \"what_you_get\": \"What you get\"\n  },\n  \"users\": {\n    \"title\": \"Usuários\",\n    \"users_list\": \"Lista de Usuários\",\n    \"name\": \"Nome\",\n    \"description\": \"Descrição\",\n    \"added_on\": \"Adicionado\",\n    \"date_of_creation\": \"Data de criação\",\n    \"action\": \"Ação\",\n    \"add_user\": \"Adicionar Usuário\",\n    \"save_user\": \"Salvar Usuário\",\n    \"update_user\": \"Atualizar Usuário\",\n    \"user\": \"Usuário | Usuários\",\n    \"add_new_user\": \"Adicionar Novo Usuário\",\n    \"new_user\": \"Novo Usuário\",\n    \"edit_user\": \"Editar Usuário\",\n    \"no_users\": \"Nenhum usuário ainda!\",\n    \"list_of_users\": \"Esta seção conterá a lista de usuários.\",\n    \"email\": \"Email\",\n    \"phone\": \"Telefone\",\n    \"password\": \"Senha\",\n    \"user_attached_message\": \"Não é possível excluir um item que já está em uso\",\n    \"confirm_delete\": \"Você não poderá recuperar este Usuário | Você não poderá recuperar esses Usuários\",\n    \"created_message\": \"Usuário criado com sucesso\",\n    \"updated_message\": \"Usuário atualizado com sucesso\",\n    \"deleted_message\": \"Usuário excluído com sucesso | Usuários excluídos com sucesso\",\n    \"select_company_role\": \"Select Role for {company}\",\n    \"companies\": \"Companies\"\n  },\n  \"reports\": {\n    \"title\": \"Relatório\",\n    \"from_date\": \"A partir da Data\",\n    \"to_date\": \"Até a Data\",\n    \"status\": \"Status\",\n    \"paid\": \"Pago\",\n    \"unpaid\": \"Não Pago\",\n    \"download_pdf\": \"Baixar PDF\",\n    \"view_pdf\": \"Ver PDF\",\n    \"update_report\": \"Atualizar Relatório\",\n    \"report\": \"Relatório | Relatórios\",\n    \"profit_loss\": {\n      \"profit_loss\": \"Lucro & Perda\",\n      \"to_date\": \"Até a Data\",\n      \"from_date\": \"A partir da Data\",\n      \"date_range\": \"Selecionar período\"\n    },\n    \"sales\": {\n      \"sales\": \"Vendas\",\n      \"date_range\": \"Selecionar período\",\n      \"to_date\": \"Até a Data\",\n      \"from_date\": \"A partir da Data\",\n      \"report_type\": \"Tipo de Relatório\"\n    },\n    \"taxes\": {\n      \"taxes\": \"Impostos\",\n      \"to_date\": \"Até a Data\",\n      \"from_date\": \"A partir da Data\",\n      \"date_range\": \"Selecionar período\"\n    },\n    \"errors\": {\n      \"required\": \"Campo obrigatório\"\n    },\n    \"invoices\": {\n      \"invoice\": \"Fatura\",\n      \"invoice_date\": \"Data da Fatura\",\n      \"due_date\": \"Data de Vencimento\",\n      \"amount\": \"Valor\",\n      \"contact_name\": \"Nome de Contato\",\n      \"status\": \"Status\"\n    },\n    \"estimates\": {\n      \"estimate\": \"Orçamento\",\n      \"estimate_date\": \"Data do Orçamento\",\n      \"due_date\": \"Data de Vencimento\",\n      \"estimate_number\": \"Número do Orçamento\",\n      \"ref_number\": \"Referência\",\n      \"amount\": \"Valor\",\n      \"contact_name\": \"Nome de Contato\",\n      \"status\": \"Status\"\n    },\n    \"expenses\": {\n      \"expenses\": \"Despesas\",\n      \"category\": \"Categoria\",\n      \"date\": \"Data\",\n      \"amount\": \"Valor\",\n      \"to_date\": \"Até a Data\",\n      \"from_date\": \"A partir da Data\",\n      \"date_range\": \"Selecionar período\"\n    }\n  },\n  \"settings\": {\n    \"menu_title\": {\n      \"account_settings\": \"Configurações da conta\",\n      \"company_information\": \"Informações da Empresa\",\n      \"customization\": \"Personalizar\",\n      \"preferences\": \"Preferências\",\n      \"notifications\": \"Notificações\",\n      \"tax_types\": \"Tipos de Impostos\",\n      \"expense_category\": \"Categorias de Despesas\",\n      \"update_app\": \"Atualizar Aplicativo\",\n      \"backup\": \"Backup\",\n      \"file_disk\": \"Disco de Arquivos\",\n      \"custom_fields\": \"Os campos personalizados\",\n      \"payment_modes\": \"Meios de Pagamento\",\n      \"notes\": \"Observações\",\n      \"exchange_rate\": \"Exchange Rate\",\n      \"address_information\": \"Address Information\"\n    },\n    \"address_information\": {\n      \"section_description\": \"  You can update Your Address information using form below.\"\n    },\n    \"title\": \"Configurações\",\n    \"setting\": \"Configuração | Configurações\",\n    \"general\": \"Geral\",\n    \"language\": \"Idioma\",\n    \"primary_currency\": \"Moeda Principal\",\n    \"timezone\": \"Fuso horário\",\n    \"date_format\": \"Formato de data\",\n    \"currencies\": {\n      \"title\": \"Moedas\",\n      \"currency\": \"Moeda | Moedas\",\n      \"currencies_list\": \"Moedas\",\n      \"select_currency\": \"Selecione uma Moeda\",\n      \"name\": \"Nome\",\n      \"code\": \"Código\",\n      \"symbol\": \"Símbolo\",\n      \"precision\": \"Precisão\",\n      \"thousand_separator\": \"Separador de Milhar\",\n      \"decimal_separator\": \"Separador Decimal\",\n      \"position\": \"Posição\",\n      \"position_of_symbol\": \"Posição do Símbolo\",\n      \"right\": \"Direita\",\n      \"left\": \"Esquerda\",\n      \"action\": \"Ação\",\n      \"add_currency\": \"Adicionar Moeda\"\n    },\n    \"mail\": {\n      \"host\": \"Host de Email\",\n      \"port\": \"Porta de Email\",\n      \"driver\": \"Driver do email\",\n      \"secret\": \"Senha\",\n      \"mailgun_secret\": \"Senha Mailgun\",\n      \"mailgun_domain\": \"Domínio\",\n      \"mailgun_endpoint\": \"Endpoint do Mailgun\",\n      \"ses_secret\": \"Senha SES\",\n      \"ses_key\": \"Chave SES\",\n      \"password\": \"Senha do Email\",\n      \"username\": \"Nome de Usuário do Email\",\n      \"mail_config\": \"Configuração de Email\",\n      \"from_name\": \"Nome do Remetente\",\n      \"from_mail\": \"Endereço Email do Remetente\",\n      \"encryption\": \"Criptografia de Email\",\n      \"mail_config_desc\": \"Abaixo está o formulário para configurar o driver de email para enviar emails do aplicativo. Você também pode configurar provedores de terceiros como Sendgrid, SES etc.\"\n    },\n    \"pdf\": {\n      \"title\": \"Configurações de PDF\",\n      \"footer_text\": \"Texto do Rodapé\",\n      \"pdf_layout\": \"Layout de PDF\"\n    },\n    \"company_info\": {\n      \"company_info\": \"Informação da Empresa\",\n      \"company_name\": \"Nome da Empresa\",\n      \"company_logo\": \"Logotipo da Empresa\",\n      \"section_description\": \"Informações sobre sua empresa que serão exibidas em Faturas, Orçamentos e outros documentos criados pela Crater.\",\n      \"phone\": \"Telefone\",\n      \"country\": \"Pais\",\n      \"state\": \"Estado\",\n      \"city\": \"Cidade\",\n      \"address\": \"Endereço\",\n      \"zip\": \"CEP\",\n      \"save\": \"Salvar\",\n      \"delete\": \"Delete\",\n      \"updated_message\": \"Informações da Empresa atualizadas com sucesso\",\n      \"delete_company\": \"Delete Company\",\n      \"delete_company_description\": \"Once you delete your company, you will lose all the data and files associated with it permanently.\",\n      \"are_you_absolutely_sure\": \"Are you absolutely sure?\",\n      \"delete_company_modal_desc\": \"This action cannot be undone. This will permanently delete {company} and all of its associated data.\",\n      \"delete_company_modal_label\": \"Please type {company} to confirm\"\n    },\n    \"custom_fields\": {\n      \"title\": \"Os campos personalizados\",\n      \"section_description\": \"Personalize as suas Faturas, Orçamentos & Recibos de Pagamento com seus próprios campos. Certifique-se de usar os campos adicionais abaixo nos formatos de endereço na página de Configurações de Personalização.\",\n      \"add_custom_field\": \"Adicionar campo personalizado\",\n      \"edit_custom_field\": \"Editar campo personalizado\",\n      \"field_name\": \"Nome do campo\",\n      \"label\": \"Rótulo\",\n      \"type\": \"Tipo\",\n      \"name\": \"Nome\",\n      \"slug\": \"Slug\",\n      \"required\": \"Requeridas\",\n      \"placeholder\": \"Dica de Preenchimento\",\n      \"help_text\": \"Texto de ajuda\",\n      \"default_value\": \"Valor padrão\",\n      \"prefix\": \"Prefixo\",\n      \"starting_number\": \"Número inicial\",\n      \"model\": \"Modelo\",\n      \"help_text_description\": \"Digite algum texto para ajudar os usuários a entender a finalidade desse campo personalizado.\",\n      \"suffix\": \"Sufixo\",\n      \"yes\": \"Sim\",\n      \"no\": \"Não\",\n      \"order\": \"Ordem\",\n      \"custom_field_confirm_delete\": \"Você não poderá recuperar este campo personalizado\",\n      \"already_in_use\": \"O campo personalizado já está em uso\",\n      \"deleted_message\": \"Campo personalizado excluído com sucesso\",\n      \"options\": \"opções\",\n      \"add_option\": \"Adicionar opções\",\n      \"add_another_option\": \"Adicione outra opção\",\n      \"sort_in_alphabetical_order\": \"Classificar em ordem alfabética\",\n      \"add_options_in_bulk\": \"Adicionar opções em massa\",\n      \"use_predefined_options\": \"Usar Opções Predefinidas\",\n      \"select_custom_date\": \"Selecionar data personalizada\",\n      \"select_relative_date\": \"Selecionar data relativa\",\n      \"ticked_by_default\": \"Marcado por padrão\",\n      \"updated_message\": \"Campo personalizado atualizado com sucesso\",\n      \"added_message\": \"Campo personalizado adicionado com sucesso\",\n      \"press_enter_to_add\": \"Press enter to add new option\",\n      \"model_in_use\": \"Cannot update model for fields which are already in use.\",\n      \"type_in_use\": \"Cannot update type for fields which are already in use.\"\n    },\n    \"customization\": {\n      \"customization\": \"personalização\",\n      \"updated_message\": \"Informações da Empresa atualizadas com sucesso\",\n      \"save\": \"Salvar\",\n      \"insert_fields\": \"Insert Fields\",\n      \"learn_custom_format\": \"Learn how to use custom format\",\n      \"add_new_component\": \"Add New Component\",\n      \"component\": \"Component\",\n      \"Parameter\": \"Parameter\",\n      \"series\": \"Series\",\n      \"series_description\": \"To set a static prefix/postfix like 'INV' across your company. It supports character length of up to 6 chars.\",\n      \"series_param_label\": \"Series Value\",\n      \"delimiter\": \"Delimiter\",\n      \"delimiter_description\": \"Single character for specifying the boundary between 2 separate components. By default its set to -\",\n      \"delimiter_param_label\": \"Delimiter Value\",\n      \"date_format\": \"Date Format\",\n      \"date_format_description\": \"A local date and time field which accepts a format parameter. The default format: 'Y' renders the current year.\",\n      \"date_format_param_label\": \"Format\",\n      \"sequence\": \"Sequence\",\n      \"sequence_description\": \"Consecutive sequence of numbers across your company. You can specify the length on the given parameter.\",\n      \"sequence_param_label\": \"Sequence Length\",\n      \"customer_series\": \"Customer Series\",\n      \"customer_series_description\": \"To set a different prefix/postfix for each customer.\",\n      \"customer_sequence\": \"Customer Sequence\",\n      \"customer_sequence_description\": \"Consecutive sequence of numbers for each of your customer.\",\n      \"customer_sequence_param_label\": \"Sequence Length\",\n      \"random_sequence\": \"Random Sequence\",\n      \"random_sequence_description\": \"Random alphanumeric string. You can specify the length on the given parameter.\",\n      \"random_sequence_param_label\": \"Sequence Length\",\n      \"invoices\": {\n        \"title\": \"Faturas\",\n        \"invoice_number_format\": \"Invoice Number Format\",\n        \"invoice_number_format_description\": \"Customize how your invoice number gets generated automatically when you create a new invoice.\",\n        \"preview_invoice_number\": \"Preview Invoice Number\",\n        \"due_date\": \"Due Date\",\n        \"due_date_description\": \"Specify how due date is automatically set when you create an invoice.\",\n        \"due_date_days\": \"Invoice Due after days\",\n        \"set_due_date_automatically\": \"Set Due Date Automatically\",\n        \"set_due_date_automatically_description\": \"Enable this if you wish to set due date automatically when you create a new invoice.\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on invoice creation.\",\n        \"default_invoice_email_body\": \"Corpo Padrão de Email de Fatura\",\n        \"company_address_format\": \"Formato de Endereço de Empresa\",\n        \"shipping_address_format\": \"Formato de Endereço de Envio\",\n        \"billing_address_format\": \"Formato de Endereço de Faturamento\",\n        \"invoice_email_attachment\": \"Enviar faturas como anexos\",\n        \"invoice_email_attachment_setting_description\": \"Ative esta opção se quiser anexar faturas no e-mail. Lembrando que quando habilitado, o botão 'Ver fatura' nos e-mails não será mais exibido.\",\n        \"invoice_settings_updated\": \"Invoice Settings updated successfully\",\n        \"retrospective_edits\": \"Retrospective Edits\",\n        \"allow\": \"Allow\",\n        \"disable_on_invoice_partial_paid\": \"Disable after partial payment is recorded\",\n        \"disable_on_invoice_paid\": \"Disable after full payment is recorded\",\n        \"disable_on_invoice_sent\": \"Disable after invoice is sent\",\n        \"retrospective_edits_description\": \" Based on your country's laws or your preference, you can restrict users from editing finalised invoices.\"\n      },\n      \"estimates\": {\n        \"title\": \"Orçamentos\",\n        \"estimate_number_format\": \"Estimate Number Format\",\n        \"estimate_number_format_description\": \"Customize how your estimate number gets generated automatically when you create a new estimate.\",\n        \"preview_estimate_number\": \"Preview Estimate Number\",\n        \"expiry_date\": \"Expiry Date\",\n        \"expiry_date_description\": \"Specify how expiry date is automatically set when you create an estimate.\",\n        \"expiry_date_days\": \"Estimate Expires after days\",\n        \"set_expiry_date_automatically\": \"Set Expiry Date Automatically\",\n        \"set_expiry_date_automatically_description\": \"Enable this if you wish to set expiry date automatically when you create a new estimate.\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on estimate creation.\",\n        \"default_estimate_email_body\": \"Corpo Padrão de Email de Orçamento\",\n        \"company_address_format\": \"Formato de Endereço de Empresa\",\n        \"shipping_address_format\": \"Formato de Endereço de Envio\",\n        \"billing_address_format\": \"Formato de Endereço de Faturamento\",\n        \"estimate_email_attachment\": \"Enviar orçamentos como anexos\",\n        \"estimate_email_attachment_setting_description\": \"Ative esta opção se quiser anexar orçamentos no e-mail. Lembrando que quando habilitado, o botão 'Ver orçamento' nos e-mails não será mais exibido.\",\n        \"estimate_settings_updated\": \"Estimate Settings updated successfully\",\n        \"convert_estimate_options\": \"Estimate Convert Action\",\n        \"convert_estimate_description\": \"Specify what happens to the estimate after it gets converted to an invoice.\",\n        \"no_action\": \"No action\",\n        \"delete_estimate\": \"Delete estimate\",\n        \"mark_estimate_as_accepted\": \"Mark estimate as accepted\"\n      },\n      \"payments\": {\n        \"title\": \"Pagamentos\",\n        \"payment_number_format\": \"Payment Number Format\",\n        \"payment_number_format_description\": \"Customize how your payment number gets generated automatically when you create a new payment.\",\n        \"preview_payment_number\": \"Preview Payment Number\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on payment creation.\",\n        \"default_payment_email_body\": \"Corpo Padrão de Email de Pagamento\",\n        \"company_address_format\": \"Formato de Endereço de Empresa\",\n        \"from_customer_address_format\": \"Formato de Endereço de Cliente Remetente\",\n        \"payment_email_attachment\": \"Enviar pagamentos como anexos\",\n        \"payment_email_attachment_setting_description\": \"Ative esta opção se quiser enviar em anexo os recibos de pagamento no e-mail. Lembrando que quando habilitado, o botão 'Ver Pagamento' nos e-mails não será mais exibido.\",\n        \"payment_settings_updated\": \"Payment Settings updated successfully\"\n      },\n      \"items\": {\n        \"title\": \"Itens\",\n        \"units\": \"Unidades\",\n        \"add_item_unit\": \"Adicionar unidade de item\",\n        \"edit_item_unit\": \"Editar unidade de item\",\n        \"unit_name\": \"Nome da unidade\",\n        \"item_unit_added\": \"Unidade de Item Adicionada\",\n        \"item_unit_updated\": \"Unidade de Item Atualizada\",\n        \"item_unit_confirm_delete\": \"Você não poderá recuperar esta unidade de item\",\n        \"already_in_use\": \"A unidade do item já está em uso\",\n        \"deleted_message\": \"Unidade de item excluída com sucesso\"\n      },\n      \"notes\": {\n        \"title\": \"Observações\",\n        \"description\": \"Economize tempo criando notas e reutilizando-as nas suas faturas, orçamentos e pagamentos.\",\n        \"notes\": \"Notas\",\n        \"type\": \"Tipo\",\n        \"add_note\": \"Adicionar Nota\",\n        \"add_new_note\": \"Adicionar Nova Nota\",\n        \"name\": \"Nome\",\n        \"edit_note\": \"Editar Nota\",\n        \"note_added\": \"Nota adicionada com sucesso\",\n        \"note_updated\": \"Nota atualizada com sucesso\",\n        \"note_confirm_delete\": \"Você não poderá recuperar essa nota\",\n        \"already_in_use\": \"A nota já está em uso\",\n        \"deleted_message\": \"Nota excluída com sucesso\"\n      }\n    },\n    \"account_settings\": {\n      \"profile_picture\": \"Foto do Perfil\",\n      \"name\": \"Nome\",\n      \"email\": \"Email\",\n      \"password\": \"Senha\",\n      \"confirm_password\": \"Confirmar Senha\",\n      \"account_settings\": \"Configurações da conta\",\n      \"save\": \"Salvar\",\n      \"section_description\": \"Você pode atualizar seu nome, email e senha usando o formulário abaixo.\",\n      \"updated_message\": \"Configurações da conta atualizadas com sucesso\"\n    },\n    \"user_profile\": {\n      \"name\": \"Nome\",\n      \"email\": \"Email\",\n      \"password\": \"Senha\",\n      \"confirm_password\": \"Confirmar Senha\"\n    },\n    \"notification\": {\n      \"title\": \"Notificação\",\n      \"email\": \"Enviar Notificações para\",\n      \"description\": \"Quais notificações por email você gostaria de receber quando algo mudar?\",\n      \"invoice_viewed\": \"Fatura Visualizada\",\n      \"invoice_viewed_desc\": \"Quando o seu cliente visualiza uma Fatura enviada pelo painel do Crater.\",\n      \"estimate_viewed\": \"Orçamento Visualizado\",\n      \"estimate_viewed_desc\": \"Quando o seu cliente visualiza um Orçamento enviada pelo painel do Crater.\",\n      \"save\": \"Salvar\",\n      \"email_save_message\": \"E-mail salvo com sucesso\",\n      \"please_enter_email\": \"Por favor digite um E-mail\"\n    },\n    \"roles\": {\n      \"title\": \"Roles\",\n      \"description\": \"Manage the roles & permissions of this company\",\n      \"save\": \"Save\",\n      \"add_new_role\": \"Add New Role\",\n      \"role_name\": \"Role Name\",\n      \"added_on\": \"Added on\",\n      \"add_role\": \"Add Role\",\n      \"edit_role\": \"Edit Role\",\n      \"name\": \"Name\",\n      \"permission\": \"Permission | Permissions\",\n      \"select_all\": \"Select All\",\n      \"none\": \"None\",\n      \"confirm_delete\": \"You will not be able to recover this Role\",\n      \"created_message\": \"Role created successfully\",\n      \"updated_message\": \"Role updated successfully\",\n      \"deleted_message\": \"Role deleted successfully\",\n      \"already_in_use\": \"Role is already in use\"\n    },\n    \"exchange_rate\": {\n      \"exchange_rate\": \"Exchange Rate\",\n      \"title\": \"Fix Currency Exchange issues\",\n      \"description\": \"Please enter exchange rate of all the currencies mentioned below to help Crater properly calculate the amounts in {currency}.\",\n      \"drivers\": \"Drivers\",\n      \"new_driver\": \"Add New Provider\",\n      \"edit_driver\": \"Edit Provider\",\n      \"select_driver\": \"Select Driver\",\n      \"update\": \"select exchange rate \",\n      \"providers_description\": \"Configure your exchange rate providers here to automatically fetch the latest exchange rate on transactions.\",\n      \"key\": \"API Key\",\n      \"name\": \"Name\",\n      \"driver\": \"Driver\",\n      \"is_default\": \"IS DEFAULT\",\n      \"currency\": \"Currencies\",\n      \"exchange_rate_confirm_delete\": \"You will not be able to recover this driver\",\n      \"created_message\": \"Provider Created successfully\",\n      \"updated_message\": \"Provider Updated Successfully\",\n      \"deleted_message\": \"Provider Deleted Successfully\",\n      \"error\": \" You cannot Delete Active Driver\",\n      \"default_currency_error\": \"This currency is already used in one of the Active Provider\",\n      \"exchange_help_text\": \"Enter exchange rate to convert from {currency} to {baseCurrency}\",\n      \"currency_freak\": \"Currency Freak\",\n      \"currency_layer\": \"Currency Layer\",\n      \"open_exchange_rate\": \"Open Exchange Rate\",\n      \"currency_converter\": \"Currency Converter\",\n      \"server\": \"Server\",\n      \"url\": \"URL\",\n      \"active\": \"Active\",\n      \"currency_help_text\": \"This provider will only be used on above selected currencies\",\n      \"currency_in_used\": \"The following currencies are already active on another provider. Please remove these currencies from selection to activate this provider again.\"\n    },\n    \"tax_types\": {\n      \"title\": \"Tipos de Impostos\",\n      \"add_tax\": \"Adicionar Imposto\",\n      \"edit_tax\": \"Editar imposto\",\n      \"description\": \"Você pode adicionar ou remover impostos conforme desejar. O Crater suporta impostos sobre itens individuais e também na Fatura.\",\n      \"add_new_tax\": \"Adicionar Novo Imposto\",\n      \"tax_settings\": \"Configurações de Impostos\",\n      \"tax_per_item\": \"Imposto por Item\",\n      \"tax_name\": \"Nome do Imposto\",\n      \"compound_tax\": \"Imposto Composto\",\n      \"percent\": \"Porcentagem\",\n      \"action\": \"Ação\",\n      \"tax_setting_description\": \"Habilite isso se desejar adicionar Impostos a itens da Fatura Individualmente. Por padrão, os impostos são adicionados diretamente à Fatura.\",\n      \"created_message\": \"Tipo de Imposto criado com sucesso\",\n      \"updated_message\": \"Tipo de Imposto Atualizado com sucesso\",\n      \"deleted_message\": \"Tipo de Imposto Deletado com sucesso\",\n      \"confirm_delete\": \"Você não poderá recuperar este tipo de Imposto\",\n      \"already_in_use\": \"O Imposto já está em uso\"\n    },\n    \"payment_modes\": {\n      \"title\": \"Payment Modes\",\n      \"description\": \"Modes of transaction for payments\",\n      \"add_payment_mode\": \"Add Payment Mode\",\n      \"edit_payment_mode\": \"Edit Payment Mode\",\n      \"mode_name\": \"Mode Name\",\n      \"payment_mode_added\": \"Payment Mode Added\",\n      \"payment_mode_updated\": \"Payment Mode Updated\",\n      \"payment_mode_confirm_delete\": \"You will not be able to recover this Payment Mode\",\n      \"payments_attached\": \"This payment method is already attached to payments. Please delete the attached payments to proceed with deletion.\",\n      \"expenses_attached\": \"This payment method is already attached to expenses. Please delete the attached expenses to proceed with deletion.\",\n      \"deleted_message\": \"Payment Mode deleted successfully\"\n    },\n    \"expense_category\": {\n      \"title\": \"Categoria de Despesa\",\n      \"action\": \"Ação\",\n      \"description\": \"As Categorias são necessárias para adicionar entradas de Despesas. Você pode adicionar ou remover essas Categorias de acordo com sua preferência.\",\n      \"add_new_category\": \"Adicionar Nova Categoria\",\n      \"add_category\": \"Adicionar categoria\",\n      \"edit_category\": \"Editar categoria\",\n      \"category_name\": \"Nome da Categoria\",\n      \"category_description\": \"Descrição\",\n      \"created_message\": \"Categoria de Despesa criada com sucesso\",\n      \"deleted_message\": \"Categoria de Despesa excluída com sucesso\",\n      \"updated_message\": \"Categoria de Despesa atualizada com sucesso\",\n      \"confirm_delete\": \"Você não poderá recuperar esta Categoria de Despesa\",\n      \"already_in_use\": \"A categoria já está em uso\"\n    },\n    \"preferences\": {\n      \"currency\": \"Moeda\",\n      \"default_language\": \"Idioma padrão\",\n      \"time_zone\": \"Fuso Horário\",\n      \"fiscal_year\": \"Ano Financeiro\",\n      \"date_format\": \"Formato da Data\",\n      \"discount_setting\": \"Configuração de Desconto\",\n      \"discount_per_item\": \"Desconto por Item \",\n      \"discount_setting_description\": \"Habilite isso se desejar adicionar desconto a itens de Fatura individualmente. Por padrão, o desconto é adicionado diretamente à Fatura.\",\n      \"expire_public_links\": \"Automatically Expire Public Links\",\n      \"expire_setting_description\": \"Specify whether you would like to expire all the links sent by application to view invoices, estimates & payments, etc after a specified duration.\",\n      \"save\": \"Salvar\",\n      \"preference\": \"Preferência | Preferências\",\n      \"general_settings\": \"Preferências padrão para o sistema.\",\n      \"updated_message\": \"Preferências atualizadas com sucesso\",\n      \"select_language\": \"Selecione um Idioma\",\n      \"select_time_zone\": \"Selecione um fuso horário\",\n      \"select_date_format\": \"Selecionar um Formato de Data\",\n      \"select_financial_year\": \"Selecione o ano financeiro\",\n      \"recurring_invoice_status\": \"Recurring Invoice Status\",\n      \"create_status\": \"Create Status\",\n      \"active\": \"Active\",\n      \"on_hold\": \"On Hold\",\n      \"update_status\": \"Update Status\",\n      \"completed\": \"Completed\",\n      \"company_currency_unchangeable\": \"Company currency cannot be changed\"\n    },\n    \"update_app\": {\n      \"title\": \"Atualizar Aplicativo\",\n      \"description\": \"Você pode atualizar facilmente o Crater, verifique se há novas atualizações, clicando no botão abaixo\",\n      \"check_update\": \"Verifique se há atualizações\",\n      \"avail_update\": \"Nova atualização disponível\",\n      \"next_version\": \"Próxima versão\",\n      \"requirements\": \"Requisitos\",\n      \"update\": \"Atualizar agora\",\n      \"update_progress\": \"Atualização em progresso...\",\n      \"progress_text\": \"Levará apenas alguns minutos. Não atualize a tela ou feche a janela antes que a atualização seja concluída\",\n      \"update_success\": \"O aplicativo foi atualizado! Aguarde enquanto a janela do navegador é recarregada automaticamente.\",\n      \"latest_message\": \"Nenhuma atualização disponível! Você está na versão mais recente.\",\n      \"current_version\": \"Versão Atual\",\n      \"download_zip_file\": \"Baixar arquivo ZIP\",\n      \"unzipping_package\": \"Descompactando o pacote\",\n      \"copying_files\": \"Copiando arquivos\",\n      \"deleting_files\": \"Excluindo arquivos não utilizados\",\n      \"running_migrations\": \"Executando migrações\",\n      \"finishing_update\": \"Acabando a Atualização\",\n      \"update_failed\": \"Atualização falhou\",\n      \"update_failed_text\": \"Desculpa! Sua atualização falhou no passo: {step}\",\n      \"update_warning\": \"All of the application files and default template files will be overwritten when you update the application using this utility. Please take a backup of your templates & database before updating.\"\n    },\n    \"backup\": {\n      \"title\": \"Backup | Backups\",\n      \"description\": \"O backup é um arquivo zip que contém todos os arquivos nas pastas que você especificou juntamente com um arquivo de backup de sua base de dados\",\n      \"new_backup\": \"Adicionar Novo Backup\",\n      \"create_backup\": \"Criar Backup\",\n      \"select_backup_type\": \"Selecionar Tipo de Backup\",\n      \"backup_confirm_delete\": \"Você não poderá recuperar este backup\",\n      \"path\": \"caminho\",\n      \"new_disk\": \"Novo disco\",\n      \"created_at\": \"criado em\",\n      \"size\": \"tamanho\",\n      \"dropbox\": \"dropbox\",\n      \"local\": \"local\",\n      \"healthy\": \"sem erros\",\n      \"amount_of_backups\": \"quantidade de backups\",\n      \"newest_backups\": \"backups mais recentes\",\n      \"used_storage\": \"armazenamento utilizado\",\n      \"select_disk\": \"Selecionar Disco\",\n      \"action\": \"Ação\",\n      \"deleted_message\": \"Backup excluído com sucesso\",\n      \"created_message\": \"Backup criado com sucesso\",\n      \"invalid_disk_credentials\": \"Credencial inválida para o disco selecionado\"\n    },\n    \"disk\": {\n      \"title\": \"Disco de Arquivo | Discos de Arquivo\",\n      \"description\": \"Por padrão, o Crater usará o seu disco local para salvar os backups, avatar e outros arquivos de imagem. Você pode configurar mais de um drivers de disco como DigitalOcean, S3 e Dropbox de acordo com sua preferência.\",\n      \"created_at\": \"criado em\",\n      \"dropbox\": \"dropbox\",\n      \"name\": \"Nome\",\n      \"driver\": \"Driver\",\n      \"disk_type\": \"Tipo\",\n      \"disk_name\": \"Nome do disco\",\n      \"new_disk\": \"Adicionar novo disco\",\n      \"filesystem_driver\": \"Driver de Sistema de Arquivo\",\n      \"local_driver\": \"Driver local\",\n      \"local_root\": \"Root local\",\n      \"public_driver\": \"Driver Público\",\n      \"public_root\": \"Root Público\",\n      \"public_url\": \"URL Pública\",\n      \"public_visibility\": \"Visibilidade Pública\",\n      \"media_driver\": \"Driver de Mídia\",\n      \"media_root\": \"Root de Mídia\",\n      \"aws_driver\": \"Driver AWS\",\n      \"aws_key\": \"Chave AWS\",\n      \"aws_secret\": \"Senha AWS\",\n      \"aws_region\": \"Região AWS\",\n      \"aws_bucket\": \"Bucket AWS\",\n      \"aws_root\": \"Root AWS\",\n      \"do_spaces_type\": \"Tipo de Spaces Do\",\n      \"do_spaces_key\": \"Chave de Spaces Do\",\n      \"do_spaces_secret\": \"Senha de Spaces Do\",\n      \"do_spaces_region\": \"Região de Spaces Do\",\n      \"do_spaces_bucket\": \"Bucket de Spaces Do\",\n      \"do_spaces_endpoint\": \"Endpoint de Spaces Do\",\n      \"do_spaces_root\": \"Root de Spaces Do\",\n      \"dropbox_type\": \"Tipo de Dropbox\",\n      \"dropbox_token\": \"Token Dropbox\",\n      \"dropbox_key\": \"Chave Dropbox\",\n      \"dropbox_secret\": \"Senha Dropbox\",\n      \"dropbox_app\": \"Aplicativo Dropbox\",\n      \"dropbox_root\": \"Root Dropbox\",\n      \"default_driver\": \"Driver Padrão\",\n      \"is_default\": \"ESTÁ PADRÃO\",\n      \"set_default_disk\": \"Definir Disco Padrão\",\n      \"set_default_disk_confirm\": \"Este disco será definido como padrão e todos os novos PDFs serão salvos neste disco\",\n      \"success_set_default_disk\": \"Disco definido como padrão com sucesso\",\n      \"save_pdf_to_disk\": \"Salvar PDFs no Disco\",\n      \"disk_setting_description\": \" Ative isso, se você deseja salvar uma cópia de cada PDF das Faturas, Orçamentos e Recibos de Pagamento em seu disco padrão, automaticamente. Habilitar esta opção diminuirá o tempo de carregamento ao visualizar os PDFs.\",\n      \"select_disk\": \"Selecionar Disco\",\n      \"disk_settings\": \"Configurações de Disco\",\n      \"confirm_delete\": \"Seus arquivos e pastas existentes no disco especificado não serão afetados, mas sua configuração de disco será excluída do Crater\",\n      \"action\": \"Ação\",\n      \"edit_file_disk\": \"Editar Disco de Arquivos\",\n      \"success_create\": \"Disco adicionado com sucesso\",\n      \"success_update\": \"Disco atualizado com sucesso\",\n      \"error\": \"Falha na adição de disco\",\n      \"deleted_message\": \"Disco de arquivo excluído com sucesso\",\n      \"disk_variables_save_successfully\": \"Disco configurado com sucesso\",\n      \"disk_variables_save_error\": \"Configuração do disco falhou.\",\n      \"invalid_disk_credentials\": \"Credencial inválida para o disco selecionado\"\n    },\n    \"taxations\": {\n      \"add_billing_address\": \"Enter Billing Address\",\n      \"add_shipping_address\": \"Enter Shipping Address\",\n      \"add_company_address\": \"Enter Company Address\",\n      \"modal_description\": \"The information below is required in order to fetch sales tax.\",\n      \"add_address\": \"Add Address for fetching sales tax.\",\n      \"address_placeholder\": \"Example: 123, My Street\",\n      \"city_placeholder\": \"Example: Los Angeles\",\n      \"state_placeholder\": \"Example: CA\",\n      \"zip_placeholder\": \"Example: 90024\",\n      \"invalid_address\": \"Please provide valid address details.\"\n    }\n  },\n  \"wizard\": {\n    \"account_info\": \"Informação da conta\",\n    \"account_info_desc\": \"Os detalhes abaixo serão usados para criar a conta principal do administrador. Além disso, você pode alterar os detalhes a qualquer momento após o login.\",\n    \"name\": \"Nome\",\n    \"email\": \"Email\",\n    \"password\": \"Senha\",\n    \"confirm_password\": \"Confirmar Senha\",\n    \"save_cont\": \"Salvar e Continuar\",\n    \"company_info\": \"Informação da Empresa\",\n    \"company_info_desc\": \"Esta informação será exibida nas Faturas. Observe que você pode editar isso mais tarde na página de configurações.\",\n    \"company_name\": \"Nome da Empresa\",\n    \"company_logo\": \"Logotipo da Empresa\",\n    \"logo_preview\": \"Pré-visualizar Logotipo\",\n    \"preferences\": \"Preferências\",\n    \"preferences_desc\": \"Preferências padrão para o sistema.\",\n    \"currency_set_alert\": \"The company's currency cannot be changed later.\",\n    \"country\": \"País\",\n    \"state\": \"Estado\",\n    \"city\": \"Cidade\",\n    \"address\": \"Endereço\",\n    \"street\": \"Rua 1 | Rua 2\",\n    \"phone\": \"Telefone\",\n    \"zip_code\": \"CEP\",\n    \"go_back\": \"Voltar\",\n    \"currency\": \"Moeda\",\n    \"language\": \"Idioma\",\n    \"time_zone\": \"Fuso Horário\",\n    \"fiscal_year\": \"Ano Financeiro\",\n    \"date_format\": \"Formato de Data\",\n    \"from_address\": \"Do Endereço\",\n    \"username\": \"Nome de Usuário\",\n    \"next\": \"Próximo\",\n    \"continue\": \"Continuar\",\n    \"skip\": \"Pular\",\n    \"database\": {\n      \"database\": \"URL do Site e Base de Dados\",\n      \"connection\": \"Conexão da Base de Dados\",\n      \"host\": \"Host da Base de Dados\",\n      \"port\": \"Porta da Base de Dados\",\n      \"password\": \"Senha da Base de Dados\",\n      \"app_url\": \"URL do Aplicativo\",\n      \"app_domain\": \"Domínio do Aplicativo\",\n      \"username\": \"Usuário da Base de Dados\",\n      \"db_name\": \"Nome da Base de Dados\",\n      \"db_path\": \"Pasta do Banco de Dados\",\n      \"desc\": \"Crie um Banco de Dados no seu servidor e defina as credenciais usando o formulário abaixo.\"\n    },\n    \"permissions\": {\n      \"permissions\": \"Permissões\",\n      \"permission_confirm_title\": \"Você tem certeza que quer continuar?\",\n      \"permission_confirm_desc\": \"Falha na verificação de permissão da pasta\",\n      \"permission_desc\": \"Abaixo está a lista de permissões de pasta que são necessárias para que o aplicativo funcione. Se a verificação da permissão falhar, atualize as permissões da pasta.\"\n    },\n    \"verify_domain\": {\n      \"title\": \"Verificação de Domínio\",\n      \"desc\": \"O Cratera usa a autenticação baseada na sessão que requer verificação de domínio para fins de segurança. Por favor, insira o domínio no qual você vai acessar seu aplicativo web.\",\n      \"app_domain\": \"Domínio do Aplicativo\",\n      \"verify_now\": \"Verificar Agora\",\n      \"success\": \"Domínio Verificado com Sucesso.\",\n      \"failed\": \"Domain verification failed. Please enter valid domain name.\",\n      \"verify_and_continue\": \"Verificar e Continuar\"\n    },\n    \"mail\": {\n      \"host\": \"Host do email\",\n      \"port\": \"Porta do email\",\n      \"driver\": \"Driver do email\",\n      \"secret\": \"Senha\",\n      \"mailgun_secret\": \"Senha do Mailgun\",\n      \"mailgun_domain\": \"Domínio\",\n      \"mailgun_endpoint\": \"Endpoint do Mailgun\",\n      \"ses_secret\": \"Senha do SES\",\n      \"ses_key\": \"Chave SES\",\n      \"password\": \"Senha do email\",\n      \"username\": \"Nome do Usuário do email\",\n      \"mail_config\": \"Configuração de email\",\n      \"from_name\": \"Nome do email\",\n      \"from_mail\": \"Endereço de email\",\n      \"encryption\": \"Criptografia de email\",\n      \"mail_config_desc\": \"Abaixo está o formulário para configurar o driver de email que será usado para enviar emails do aplicativo. Você também pode configurar provedores de terceiros como Sendgrid, SES etc.\"\n    },\n    \"req\": {\n      \"system_req\": \"Requisitos de Sistema\",\n      \"php_req_version\": \"PHP (versão {version} obrigatória)\",\n      \"check_req\": \"Verificar Requisitos\",\n      \"system_req_desc\": \"O Crater tem alguns requisitos de servidor. Verifique se o seu servidor possui a versão do PHP necessária e todas as extensões mencionadas abaixo.\"\n    },\n    \"errors\": {\n      \"migrate_failed\": \"Falha na migração\",\n      \"database_variables_save_error\": \"Não é possível gravar a configuração no arquivo .env. Por favor, verifique suas permissões de arquivo\",\n      \"mail_variables_save_error\": \"A configuração do email falhou.\",\n      \"connection_failed\": \"Falha na conexão com o banco de dados\",\n      \"database_should_be_empty\": \"O banco de dados deve estar vazio\"\n    },\n    \"success\": {\n      \"mail_variables_save_successfully\": \"Email configurado com sucesso\",\n      \"database_variables_save_successfully\": \"Banco de dados configurado com sucesso.\"\n    }\n  },\n  \"validation\": {\n    \"invalid_phone\": \"Número de telefone inválido\",\n    \"invalid_url\": \"URL inválida (ex: http://www.crater.com)\",\n    \"invalid_domain_url\": \"URL inválida (ex: crater.com)\",\n    \"required\": \"Campo obrigatório\",\n    \"email_incorrect\": \"E-mail incorreto.\",\n    \"email_already_taken\": \"O email já está em uso.\",\n    \"email_does_not_exist\": \"O usuário com determinado email não existe\",\n    \"item_unit_already_taken\": \"Este nome de unidade de item já está em uso\",\n    \"payment_mode_already_taken\": \"Este meio de pagamento já foi utilizado\",\n    \"send_reset_link\": \"Enviar link de redefinição\",\n    \"not_yet\": \"Ainda não? Envie novamente\",\n    \"password_min_length\": \"A senha deve ter {count} caracteres\",\n    \"name_min_length\": \"O nome deve ter pelo menos {count} letras.\",\n    \"prefix_min_length\": \"Prefix must have at least {count} letters.\",\n    \"enter_valid_tax_rate\": \"Insira uma taxa de imposto válida\",\n    \"numbers_only\": \"Apenas Números.\",\n    \"characters_only\": \"Apenas Caracteres.\",\n    \"password_incorrect\": \"As senhas devem ser idênticas\",\n    \"password_length\": \"A senha deve ter {count} caracteres.\",\n    \"qty_must_greater_than_zero\": \"A quantidade deve ser maior que zero.\",\n    \"price_greater_than_zero\": \"O preço deve ser maior que zero.\",\n    \"payment_greater_than_zero\": \"O pagamento deve ser maior que zero.\",\n    \"payment_greater_than_due_amount\": \"O pagamento inserido é mais do que o valor devido desta fatura.\",\n    \"quantity_maxlength\": \"A quantidade não deve exceder 20 dígitos.\",\n    \"price_maxlength\": \"O preço não deve ser superior a 20 dígitos.\",\n    \"price_minvalue\": \"O preço deve ser maior que 0.\",\n    \"amount_maxlength\": \"Valor não deve ter mais de 20 dígitos.\",\n    \"amount_minvalue\": \"O valor deve ser maior que 0.\",\n    \"discount_maxlength\": \"Discount should not be greater than max discount\",\n    \"description_maxlength\": \"A descrição não deve ter mais que 255 caracteres.\",\n    \"subject_maxlength\": \"O assunto não deve ter mais que 100 caracteres.\",\n    \"message_maxlength\": \"A mensagem não deve ter mais que 255 caracteres.\",\n    \"maximum_options_error\": \"Máximo de {max} opções selecionadas. Primeiro remova uma opção selecionada para selecionar outra.\",\n    \"notes_maxlength\": \"As anotações não devem ter mais que 255 caracteres.\",\n    \"address_maxlength\": \"O endereço não deve ter mais que 255 caracteres.\",\n    \"ref_number_maxlength\": \"O número de referência não deve ter mais que 255 caracteres.\",\n    \"prefix_maxlength\": \"O prefixo não deve ter mais que 5 caracteres.\",\n    \"something_went_wrong\": \"algo deu errado\",\n    \"number_length_minvalue\": \"O valor deve ser maior que 0\",\n    \"at_least_one_ability\": \"Please select atleast one Permission.\",\n    \"valid_driver_key\": \"Please enter a valid {driver} key.\",\n    \"valid_exchange_rate\": \"Please enter a valid exchange rate.\",\n    \"company_name_not_same\": \"Company name must match with given name.\"\n  },\n  \"errors\": {\n    \"starter_plan\": \"This feature is available on Starter plan and onwards!\",\n    \"invalid_provider_key\": \"Please Enter Valid Provider API Key.\",\n    \"estimate_number_used\": \"The estimate number has already been taken.\",\n    \"invoice_number_used\": \"The invoice number has already been taken.\",\n    \"payment_attached\": \"This invoice already has a payment attached to it. Make sure to delete the attached payments first in order to go ahead with the removal.\",\n    \"payment_number_used\": \"The payment number has already been taken.\",\n    \"name_already_taken\": \"The name has already been taken.\",\n    \"receipt_does_not_exist\": \"Receipt does not exist.\",\n    \"customer_cannot_be_changed_after_payment_is_added\": \"Customer cannot be change after payment is added\",\n    \"invalid_credentials\": \"Invalid  Credentials.\",\n    \"not_allowed\": \"Not Allowed\",\n    \"login_invalid_credentials\": \"These credentials do not match our records.\",\n    \"enter_valid_cron_format\": \"Please enter a valid cron format\",\n    \"email_could_not_be_sent\": \"Email could not be sent to this email address.\",\n    \"invalid_address\": \"Please enter a valid address.\",\n    \"invalid_key\": \"Please enter valid key.\",\n    \"invalid_state\": \"Please enter a valid state.\",\n    \"invalid_city\": \"Please enter a valid city.\",\n    \"invalid_postal_code\": \"Please enter a valid zip.\",\n    \"invalid_format\": \"Please enter valid query string format.\",\n    \"api_error\": \"Server not responding.\",\n    \"feature_not_enabled\": \"Feature not enabled.\",\n    \"request_limit_met\": \"Api request limit exceeded.\",\n    \"address_incomplete\": \"Incomplete Address\"\n  },\n  \"pdf_estimate_label\": \"Orçamento\",\n  \"pdf_estimate_number\": \"Numero do Orçamento\",\n  \"pdf_estimate_date\": \"Data do Orçamento\",\n  \"pdf_estimate_expire_date\": \"Data de expiração\",\n  \"pdf_invoice_label\": \"Fatura\",\n  \"pdf_invoice_number\": \"Número da fatura\",\n  \"pdf_invoice_date\": \"Data da Fatura\",\n  \"pdf_invoice_due_date\": \"Data de Vencimento\",\n  \"pdf_notes\": \"Observações\",\n  \"pdf_items_label\": \"Itens\",\n  \"pdf_quantity_label\": \"Quantidade\",\n  \"pdf_price_label\": \"Preço\",\n  \"pdf_discount_label\": \"Desconto\",\n  \"pdf_amount_label\": \"Valor\",\n  \"pdf_subtotal\": \"Subtotal\",\n  \"pdf_total\": \"Total\",\n  \"pdf_payment_label\": \"Pagamento\",\n  \"pdf_payment_receipt_label\": \"RECIBO DE PAGAMENTO\",\n  \"pdf_payment_date\": \"Data de Pagamento\",\n  \"pdf_payment_number\": \"Número do Pagamento\",\n  \"pdf_payment_mode\": \"Forma de Pagamento\",\n  \"pdf_payment_amount_received_label\": \"Valor Recebido\",\n  \"pdf_expense_report_label\": \"RELATÓRIO DE DESPESAS\",\n  \"pdf_total_expenses_label\": \"TOTAL DESPESAS\",\n  \"pdf_profit_loss_label\": \"RELATÓRIO LUCRO & PERDA\",\n  \"pdf_sales_customers_label\": \"Relatório de vendas cliente\",\n  \"pdf_sales_items_label\": \"Relatório de venda de itens\",\n  \"pdf_tax_summery_label\": \"Relatório resumido de imposto\",\n  \"pdf_income_label\": \"RENDA\",\n  \"pdf_net_profit_label\": \"LUCRO LÍQUIDO\",\n  \"pdf_customer_sales_report\": \"Relatório de Vendas: Por Cliente\",\n  \"pdf_total_sales_label\": \"VENDAS TOTAIS\",\n  \"pdf_item_sales_label\": \"Relatório de Vendas: Por Item\",\n  \"pdf_tax_report_label\": \"RELATÓRIO DE IMPOSTOS\",\n  \"pdf_total_tax_label\": \"IMPOSTOS TOTAIS\",\n  \"pdf_tax_types_label\": \"Tipos de Impostos\",\n  \"pdf_expenses_label\": \"Despesas\",\n  \"pdf_bill_to\": \"Cobrar a,\",\n  \"pdf_ship_to\": \"Envie a,\",\n  \"pdf_received_from\": \"Remetente:\",\n  \"pdf_tax_label\": \"Tax\"\n}\n"
  },
  {
    "path": "resources/scripts/locales/ro.json",
    "content": "{\n  \"navigation\": {\n    \"dashboard\": \"Tablou de bord\",\n    \"customers\": \"Clienţi\",\n    \"items\": \"Obiecte\",\n    \"invoices\": \"Facturi\",\n    \"recurring-invoices\": \"Facturi recurente\",\n    \"expenses\": \"Cheltuieli\",\n    \"estimates\": \"Estimări\",\n    \"payments\": \"Plaţi\",\n    \"reports\": \"Rapoarte\",\n    \"settings\": \"Setări\",\n    \"logout\": \"Deconectare\",\n    \"users\": \"Utilizatori\",\n    \"modules\": \"Modules\"\n  },\n  \"general\": {\n    \"add_company\": \"Adaugă firmă\",\n    \"view_pdf\": \"Vizualizare PDF\",\n    \"copy_pdf_url\": \"Copiază URL-ul PDF\",\n    \"download_pdf\": \"Descarcă PDF-ul\",\n    \"save\": \"Salvează\",\n    \"create\": \"Crează\",\n    \"cancel\": \"Anulează\",\n    \"update\": \"Actualizează\",\n    \"deselect\": \"Deselectează\",\n    \"download\": \"Descarcă\",\n    \"from_date\": \"De la Data\",\n    \"to_date\": \"Până la Data\",\n    \"from\": \"De la\",\n    \"to\": \"Până la\",\n    \"ok\": \"Ok\",\n    \"yes\": \"Da\",\n    \"no\": \"Nu\",\n    \"sort_by\": \"Sortează după\",\n    \"ascending\": \"Crescător\",\n    \"descending\": \"Descrescător\",\n    \"subject\": \"Subiect\",\n    \"body\": \"Conţinut\",\n    \"message\": \"Mesaj\",\n    \"send\": \"Trimite\",\n    \"preview\": \"Previzualizare\",\n    \"go_back\": \"Înapoi\",\n    \"back_to_login\": \"Înapoi la Autentificare?\",\n    \"home\": \"Acasă\",\n    \"filter\": \"Filtrează\",\n    \"delete\": \"Șterge\",\n    \"edit\": \"Editează\",\n    \"view\": \"Vizualizează\",\n    \"add_new_item\": \"Adaugă element nou\",\n    \"clear_all\": \"Șterge Tot\",\n    \"showing\": \"Afișare\",\n    \"of\": \"din\",\n    \"actions\": \"Acţiuni\",\n    \"subtotal\": \"SUBTOTAL\",\n    \"discount\": \"REDUCERE\",\n    \"fixed\": \"Fix\",\n    \"percentage\": \"Procentaj\",\n    \"tax\": \"IMPOZIT\",\n    \"total_amount\": \"SUMA TOTALĂ\",\n    \"bill_to\": \"Client\",\n    \"ship_to\": \"Livrează la\",\n    \"due\": \"Scadență\",\n    \"draft\": \"Schiţă\",\n    \"sent\": \"Trimis\",\n    \"all\": \"Toate\",\n    \"select_all\": \"Selectaţi tot\",\n    \"select_template\": \"Selectați șablonul\",\n    \"choose_file\": \"Faceţi clic aici pentru a alege un fişier\",\n    \"choose_template\": \"Alegeți un șablon\",\n    \"choose\": \"Alegeți\",\n    \"remove\": \"Ștergeți\",\n    \"select_a_status\": \"Selectaţi un status\",\n    \"select_a_tax\": \"Selectați o taxă\",\n    \"search\": \"Caută\",\n    \"are_you_sure\": \"Sunteți sigur?\",\n    \"list_is_empty\": \"Lista este goală.\",\n    \"no_tax_found\": \"Nicio taxă găsită!\",\n    \"four_zero_four\": \"Mesaj de eroare 404\",\n    \"you_got_lost\": \"Hopa! Te-ai pierdut!\",\n    \"go_home\": \"Du-te la pagina principală\",\n    \"test_mail_conf\": \"Testează configurarea e-mailului\",\n    \"send_mail_successfully\": \"E-Mail trimis cu succes\",\n    \"setting_updated\": \"Setările au fost actualizate\",\n    \"select_state\": \"Selectează județul\",\n    \"select_country\": \"Selectează țara\",\n    \"select_city\": \"Selectează orașul\",\n    \"street_1\": \"Strada\",\n    \"street_2\": \"Strada (optional)\",\n    \"action_failed\": \"Acțiune eșuată\",\n    \"retry\": \"Reîncercați\",\n    \"choose_note\": \"Alegeți nota\",\n    \"no_note_found\": \"Nu s-a găsit nicio notă\",\n    \"insert_note\": \"Adaugă o notă\",\n    \"copied_pdf_url_clipboard\": \"URL-ul PDF copiat în clipboard!\",\n    \"copied_url_clipboard\": \"Copied url to clipboard!\",\n    \"docs\": \"Documentație\",\n    \"do_you_wish_to_continue\": \"Doriţi să continuaţi?\",\n    \"note\": \"Note\",\n    \"pay_invoice\": \"Pay Invoice\",\n    \"login_successfully\": \"Logged in successfully!\",\n    \"logged_out_successfully\": \"Logged out successfully\",\n    \"mark_as_default\": \"Mark as default\"\n  },\n  \"dashboard\": {\n    \"select_year\": \"Selectați anul\",\n    \"cards\": {\n      \"due_amount\": \"Suma datorată\",\n      \"customers\": \"Clienţi\",\n      \"invoices\": \"Facturi\",\n      \"estimates\": \"Estimări\",\n      \"payments\": \"Payments\"\n    },\n    \"chart_info\": {\n      \"total_sales\": \"Vânzări\",\n      \"total_receipts\": \"Chitanţe\",\n      \"total_expense\": \"Cheltuieli\",\n      \"net_income\": \"Venit net\",\n      \"year\": \"Selectați anul\"\n    },\n    \"monthly_chart\": {\n      \"title\": \"Vânzări & Cheltuieli\"\n    },\n    \"recent_invoices_card\": {\n      \"title\": \"Facturi scadente\",\n      \"due_on\": \"Scadent pe\",\n      \"customer\": \"Client\",\n      \"amount_due\": \"Suma datorată\",\n      \"actions\": \"Acţiuni\",\n      \"view_all\": \"Vezi tot\"\n    },\n    \"recent_estimate_card\": {\n      \"title\": \"Estimări recente\",\n      \"date\": \"Dată\",\n      \"customer\": \"Client\",\n      \"amount_due\": \"Suma datorată\",\n      \"actions\": \"Acţiuni\",\n      \"view_all\": \"Vezi tot\"\n    }\n  },\n  \"tax_types\": {\n    \"name\": \"Nume\",\n    \"description\": \"Descriere\",\n    \"percent\": \"Procent\",\n    \"compound_tax\": \"Impozite combinate\"\n  },\n  \"global_search\": {\n    \"search\": \"Caută...\",\n    \"customers\": \"Clienţi\",\n    \"users\": \"Utilizatori\",\n    \"no_results_found\": \"Nu au fost găsite rezultate\"\n  },\n  \"company_switcher\": {\n    \"label\": \"Schimbare Companie\",\n    \"no_results_found\": \"Nu au fost găsite rezultate\",\n    \"add_new_company\": \"Adăugați companie nouă\",\n    \"new_company\": \"Companie nouă\",\n    \"created_message\": \"Companie creată cu succes\"\n  },\n  \"dateRange\": {\n    \"today\": \"Astăzi\",\n    \"this_week\": \"Săptămâna aceasta\",\n    \"this_month\": \"Luna aceasta\",\n    \"this_quarter\": \"Acest trimestru\",\n    \"this_year\": \"Acest an\",\n    \"previous_week\": \"Saptamana trecută\",\n    \"previous_month\": \"Luna trecută\",\n    \"previous_quarter\": \"Trimestrul precedent\",\n    \"previous_year\": \"Anul trecut\",\n    \"custom\": \"Particularizat\"\n  },\n  \"customers\": {\n    \"title\": \"Clienţi\",\n    \"prefix\": \"Prefix\",\n    \"add_customer\": \"Adauga client\",\n    \"contacts_list\": \"Lista clienti\",\n    \"name\": \"Nume\",\n    \"mail\": \"Mail | E-mailuri\",\n    \"statement\": \"Declaraţie\",\n    \"display_name\": \"Nume afişat\",\n    \"primary_contact_name\": \"Nume persoană de contact principală\",\n    \"contact_name\": \"Nume persoană de contact\",\n    \"amount_due\": \"Suma datorată\",\n    \"email\": \"E-mail\",\n    \"address\": \"Adresă\",\n    \"phone\": \"Telefon\",\n    \"website\": \"Site web\",\n    \"overview\": \"Prezentare generală\",\n    \"invoice_prefix\": \"Prefix factură\",\n    \"estimate_prefix\": \"Prefix factură estimată\",\n    \"payment_prefix\": \"Prefix plată\",\n    \"enable_portal\": \"Activează Portal\",\n    \"country\": \"Țara\",\n    \"state\": \"Județ\",\n    \"city\": \"Oraș/Localitate\",\n    \"zip_code\": \"Cod Poştal\",\n    \"added_on\": \"Adăugat pe\",\n    \"action\": \"Acţiune\",\n    \"password\": \"Parola\",\n    \"confirm_password\": \"Confirmați parola\",\n    \"street_number\": \"Număr stradă\",\n    \"primary_currency\": \"Moneda principală\",\n    \"description\": \"Descriere\",\n    \"add_new_customer\": \"Adaugă un client nou\",\n    \"save_customer\": \"Salvare client\",\n    \"update_customer\": \"Actualizare client\",\n    \"customer\": \"Client | Clienți\",\n    \"new_customer\": \"Client Nou\",\n    \"edit_customer\": \"Modificare client\",\n    \"basic_info\": \"Informaţii de bază\",\n    \"portal_access\": \"Portal Access\",\n    \"portal_access_text\": \"Would you like to allow this customer to login to the Customer Portal?\",\n    \"portal_access_url\": \"Customer Portal Login URL\",\n    \"portal_access_url_help\": \"Please copy & forward the above given URL to your customer for providing access.\",\n    \"billing_address\": \"Adresa de facturare\",\n    \"shipping_address\": \"Adresă de livrare\",\n    \"copy_billing_address\": \"Copiază de la datele de facturare\",\n    \"no_customers\": \"Nici un client momentan!\",\n    \"no_customers_found\": \"Nu a fost găsit nici un client!\",\n    \"no_contact\": \"Fără date de contact\",\n    \"no_contact_name\": \"Fără nume de contact\",\n    \"list_of_customers\": \"Această secţiune va conţine lista clienţilor.\",\n    \"primary_display_name\": \"Nume principal afișat\",\n    \"select_currency\": \"Selectați o moneda\",\n    \"select_a_customer\": \"Selectați un client\",\n    \"type_or_click\": \"Tastați sau faceți clic pentru a selecta\",\n    \"new_transaction\": \"Tranzacție nouă\",\n    \"no_matching_customers\": \"Nu există clienți corespunzători!\",\n    \"phone_number\": \"Număr de telefon\",\n    \"create_date\": \"Data creării\",\n    \"confirm_delete\": \"You will not be able to recover this customer and all the related Invoices, Estimates and Payments. | You will not be able to recover these customers and all the related Invoices, Estimates and Payments.\",\n    \"created_message\": \"Customer created successfully\",\n    \"updated_message\": \"Customer updated successfully\",\n    \"address_updated_message\": \"Address Information Updated succesfully\",\n    \"deleted_message\": \"Customer deleted successfully | Customers deleted successfully\",\n    \"edit_currency_not_allowed\": \"Cannot change currency once transactions created.\"\n  },\n  \"items\": {\n    \"title\": \"Articole\",\n    \"items_list\": \"Lista de articole\",\n    \"name\": \"Nume\",\n    \"unit\": \"Unitate\",\n    \"description\": \"Descriere\",\n    \"added_on\": \"Adăugat pe\",\n    \"price\": \"Preț\",\n    \"date_of_creation\": \"Data Creării\",\n    \"not_selected\": \"Niciun articol nu este selectat\",\n    \"action\": \"Acţiune\",\n    \"add_item\": \"Adăugaţi articol\",\n    \"save_item\": \"Save Item\",\n    \"update_item\": \"Update Item\",\n    \"item\": \"Item | Items\",\n    \"add_new_item\": \"Add New Item\",\n    \"new_item\": \"New Item\",\n    \"edit_item\": \"Edit Item\",\n    \"no_items\": \"No items yet!\",\n    \"list_of_items\": \"This section will contain the list of items.\",\n    \"select_a_unit\": \"select unit\",\n    \"taxes\": \"Taxes\",\n    \"item_attached_message\": \"Cannot delete an item which is already in use\",\n    \"confirm_delete\": \"You will not be able to recover this Item | You will not be able to recover these Items\",\n    \"created_message\": \"Item created successfully\",\n    \"updated_message\": \"Item updated successfully\",\n    \"deleted_message\": \"Item deleted successfully | Items deleted successfully\"\n  },\n  \"estimates\": {\n    \"title\": \"Estimări\",\n    \"accept_estimate\": \"Accept Estimate\",\n    \"reject_estimate\": \"Reject Estimate\",\n    \"estimate\": \"Estimate | Estimates\",\n    \"estimates_list\": \"Listă Estimări\",\n    \"days\": \"{days} Days\",\n    \"months\": \"{months} Month\",\n    \"years\": \"{years} Year\",\n    \"all\": \"Toate\",\n    \"paid\": \"Plătit\",\n    \"unpaid\": \"Neplătit\",\n    \"customer\": \"CLIENT\",\n    \"ref_no\": \"NR. REF\",\n    \"number\": \"NUMĂR\",\n    \"amount_due\": \"SUMA DE INCASAT\",\n    \"partially_paid\": \"Parțial plătit\",\n    \"total\": \"Total\",\n    \"discount\": \"Reducere\",\n    \"sub_total\": \"Subtotal\",\n    \"estimate_number\": \"Estimate Number\",\n    \"ref_number\": \"Ref Number\",\n    \"contact\": \"Contact\",\n    \"add_item\": \"Add an Item\",\n    \"date\": \"Date\",\n    \"due_date\": \"Due Date\",\n    \"expiry_date\": \"Expiry Date\",\n    \"status\": \"Status\",\n    \"add_tax\": \"Add Tax\",\n    \"amount\": \"Amount\",\n    \"action\": \"Action\",\n    \"notes\": \"Notes\",\n    \"tax\": \"Tax\",\n    \"estimate_template\": \"Template\",\n    \"convert_to_invoice\": \"Convert to Invoice\",\n    \"mark_as_sent\": \"Mark as Sent\",\n    \"send_estimate\": \"Send Estimate\",\n    \"resend_estimate\": \"Resend Estimate\",\n    \"record_payment\": \"Record Payment\",\n    \"add_estimate\": \"Add Estimate\",\n    \"save_estimate\": \"Save Estimate\",\n    \"confirm_conversion\": \"This estimate will be used to create a new Invoice.\",\n    \"conversion_message\": \"Invoice created successful\",\n    \"confirm_send_estimate\": \"This estimate will be sent via email to the customer\",\n    \"confirm_mark_as_sent\": \"This estimate will be marked as sent\",\n    \"confirm_mark_as_accepted\": \"This estimate will be marked as Accepted\",\n    \"confirm_mark_as_rejected\": \"This estimate will be marked as Rejected\",\n    \"no_matching_estimates\": \"There are no matching estimates!\",\n    \"mark_as_sent_successfully\": \"Estimate marked as sent successfully\",\n    \"send_estimate_successfully\": \"Estimate sent successfully\",\n    \"errors\": {\n      \"required\": \"Field is required\"\n    },\n    \"accepted\": \"Accepted\",\n    \"rejected\": \"Rejected\",\n    \"expired\": \"Expired\",\n    \"sent\": \"Sent\",\n    \"draft\": \"Draft\",\n    \"viewed\": \"Viewed\",\n    \"declined\": \"Declined\",\n    \"new_estimate\": \"New Estimate\",\n    \"add_new_estimate\": \"Add New Estimate\",\n    \"update_Estimate\": \"Update Estimate\",\n    \"edit_estimate\": \"Edit Estimate\",\n    \"items\": \"items\",\n    \"Estimate\": \"Estimate | Estimates\",\n    \"add_new_tax\": \"Add New Tax\",\n    \"no_estimates\": \"No estimates yet!\",\n    \"list_of_estimates\": \"This section will contain the list of estimates.\",\n    \"mark_as_rejected\": \"Mark as rejected\",\n    \"mark_as_accepted\": \"Mark as accepted\",\n    \"marked_as_accepted_message\": \"Estimate marked as accepted\",\n    \"marked_as_rejected_message\": \"Estimate marked as rejected\",\n    \"confirm_delete\": \"You will not be able to recover this Estimate | You will not be able to recover these Estimates\",\n    \"created_message\": \"Estimate created successfully\",\n    \"updated_message\": \"Estimate updated successfully\",\n    \"deleted_message\": \"Estimate deleted successfully | Estimates deleted successfully\",\n    \"something_went_wrong\": \"something went wrong\",\n    \"item\": {\n      \"title\": \"Item Title\",\n      \"description\": \"Description\",\n      \"quantity\": \"Quantity\",\n      \"price\": \"Price\",\n      \"discount\": \"Discount\",\n      \"total\": \"Total\",\n      \"total_discount\": \"Total Discount\",\n      \"sub_total\": \"Sub Total\",\n      \"tax\": \"Tax\",\n      \"amount\": \"Amount\",\n      \"select_an_item\": \"Type or click to select an item\",\n      \"type_item_description\": \"Type Item Description (optional)\"\n    },\n    \"mark_as_default_estimate_template_description\": \"If enabled, the selected template will be automatically selected for new estimates.\"\n  },\n  \"invoices\": {\n    \"title\": \"Invoices\",\n    \"download\": \"Download\",\n    \"pay_invoice\": \"Pay Invoice\",\n    \"invoices_list\": \"Invoices List\",\n    \"invoice_information\": \"Invoice Information\",\n    \"days\": \"{days} Days\",\n    \"months\": \"{months} Month\",\n    \"years\": \"{years} Year\",\n    \"all\": \"All\",\n    \"paid\": \"Paid\",\n    \"unpaid\": \"Unpaid\",\n    \"viewed\": \"Viewed\",\n    \"overdue\": \"Overdue\",\n    \"completed\": \"Completed\",\n    \"customer\": \"CUSTOMER\",\n    \"paid_status\": \"PAID STATUS\",\n    \"ref_no\": \"REF NO.\",\n    \"number\": \"NUMBER\",\n    \"amount_due\": \"AMOUNT DUE\",\n    \"partially_paid\": \"Partially Paid\",\n    \"total\": \"Total\",\n    \"discount\": \"Discount\",\n    \"sub_total\": \"Sub Total\",\n    \"invoice\": \"Invoice | Invoices\",\n    \"invoice_number\": \"Invoice Number\",\n    \"ref_number\": \"Ref Number\",\n    \"contact\": \"Contact\",\n    \"add_item\": \"Add an Item\",\n    \"date\": \"Date\",\n    \"due_date\": \"Due Date\",\n    \"status\": \"Status\",\n    \"add_tax\": \"Add Tax\",\n    \"amount\": \"Amount\",\n    \"action\": \"Action\",\n    \"notes\": \"Notes\",\n    \"view\": \"View\",\n    \"send_invoice\": \"Send Invoice\",\n    \"resend_invoice\": \"Resend Invoice\",\n    \"invoice_template\": \"Invoice Template\",\n    \"conversion_message\": \"Invoice cloned successful\",\n    \"template\": \"Select Template\",\n    \"mark_as_sent\": \"Mark as sent\",\n    \"confirm_send_invoice\": \"This invoice will be sent via email to the customer\",\n    \"invoice_mark_as_sent\": \"This invoice will be marked as sent\",\n    \"confirm_mark_as_accepted\": \"This invoice will be marked as Accepted\",\n    \"confirm_mark_as_rejected\": \"This invoice will be marked as Rejected\",\n    \"confirm_send\": \"This invoice will be sent via email to the customer\",\n    \"invoice_date\": \"Invoice Date\",\n    \"record_payment\": \"Record Payment\",\n    \"add_new_invoice\": \"Add New Invoice\",\n    \"update_expense\": \"Update Expense\",\n    \"edit_invoice\": \"Edit Invoice\",\n    \"new_invoice\": \"New Invoice\",\n    \"save_invoice\": \"Save Invoice\",\n    \"update_invoice\": \"Update Invoice\",\n    \"add_new_tax\": \"Add New Tax\",\n    \"no_invoices\": \"No Invoices yet!\",\n    \"mark_as_rejected\": \"Mark as rejected\",\n    \"mark_as_accepted\": \"Mark as accepted\",\n    \"list_of_invoices\": \"This section will contain the list of invoices.\",\n    \"select_invoice\": \"Select Invoice\",\n    \"no_matching_invoices\": \"There are no matching invoices!\",\n    \"mark_as_sent_successfully\": \"Invoice marked as sent successfully\",\n    \"invoice_sent_successfully\": \"Invoice sent successfully\",\n    \"cloned_successfully\": \"Invoice cloned successfully\",\n    \"clone_invoice\": \"Clone Invoice\",\n    \"confirm_clone\": \"This invoice will be cloned into a new Invoice\",\n    \"item\": {\n      \"title\": \"Item Title\",\n      \"description\": \"Description\",\n      \"quantity\": \"Quantity\",\n      \"price\": \"Price\",\n      \"discount\": \"Discount\",\n      \"total\": \"Total\",\n      \"total_discount\": \"Total Discount\",\n      \"sub_total\": \"Sub Total\",\n      \"tax\": \"Tax\",\n      \"amount\": \"Amount\",\n      \"select_an_item\": \"Type or click to select an item\",\n      \"type_item_description\": \"Type Item Description (optional)\"\n    },\n    \"payment_attached_message\": \"One of the selected invoices already have a payment attached to it. Make sure to delete the attached payments first in order to go ahead with the removal\",\n    \"confirm_delete\": \"You will not be able to recover this Invoice | You will not be able to recover these Invoices\",\n    \"created_message\": \"Invoice created successfully\",\n    \"updated_message\": \"Invoice updated successfully\",\n    \"deleted_message\": \"Invoice deleted successfully | Invoices deleted successfully\",\n    \"marked_as_sent_message\": \"Invoice marked as sent successfully\",\n    \"something_went_wrong\": \"something went wrong\",\n    \"invalid_due_amount_message\": \"Total Invoice amount cannot be less than total paid amount for this Invoice. Please update the invoice or delete the associated payments to continue.\",\n    \"mark_as_default_invoice_template_description\": \"If enabled, the selected template will be automatically selected for new invoices.\"\n  },\n  \"recurring_invoices\": {\n    \"title\": \"Recurring Invoices\",\n    \"invoices_list\": \"Recurring Invoices List\",\n    \"days\": \"{days} Days\",\n    \"months\": \"{months} Month\",\n    \"years\": \"{years} Year\",\n    \"all\": \"All\",\n    \"paid\": \"Paid\",\n    \"unpaid\": \"Unpaid\",\n    \"viewed\": \"Viewed\",\n    \"overdue\": \"Overdue\",\n    \"active\": \"Active\",\n    \"completed\": \"Completed\",\n    \"customer\": \"CUSTOMER\",\n    \"paid_status\": \"PAID STATUS\",\n    \"ref_no\": \"REF NO.\",\n    \"number\": \"NUMBER\",\n    \"amount_due\": \"AMOUNT DUE\",\n    \"partially_paid\": \"Partially Paid\",\n    \"total\": \"Total\",\n    \"discount\": \"Discount\",\n    \"sub_total\": \"Sub Total\",\n    \"invoice\": \"Recurring Invoice | Recurring Invoices\",\n    \"invoice_number\": \"Recurring Invoice Number\",\n    \"next_invoice_date\": \"Next Invoice Date\",\n    \"ref_number\": \"Ref Number\",\n    \"contact\": \"Contact\",\n    \"add_item\": \"Add an Item\",\n    \"date\": \"Date\",\n    \"limit_by\": \"Limit by\",\n    \"limit_date\": \"Limit Date\",\n    \"limit_count\": \"Limit Count\",\n    \"count\": \"Count\",\n    \"status\": \"Status\",\n    \"select_a_status\": \"Select a status\",\n    \"working\": \"Working\",\n    \"on_hold\": \"On Hold\",\n    \"complete\": \"Completed\",\n    \"add_tax\": \"Add Tax\",\n    \"amount\": \"Amount\",\n    \"action\": \"Action\",\n    \"notes\": \"Notes\",\n    \"view\": \"View\",\n    \"basic_info\": \"Basic Info\",\n    \"send_invoice\": \"Send Recurring Invoice\",\n    \"auto_send\": \"Auto Send\",\n    \"resend_invoice\": \"Resend Recurring Invoice\",\n    \"invoice_template\": \"Recurring Invoice Template\",\n    \"conversion_message\": \"Recurring Invoice cloned successful\",\n    \"template\": \"Template\",\n    \"mark_as_sent\": \"Mark as sent\",\n    \"confirm_send_invoice\": \"This recurring invoice will be sent via email to the customer\",\n    \"invoice_mark_as_sent\": \"This recurring invoice will be marked as sent\",\n    \"confirm_send\": \"This recurring invoice will be sent via email to the customer\",\n    \"starts_at\": \"Start Date\",\n    \"due_date\": \"Invoice Due Date\",\n    \"record_payment\": \"Record Payment\",\n    \"add_new_invoice\": \"Add New Recurring Invoice\",\n    \"update_expense\": \"Update Expense\",\n    \"edit_invoice\": \"Edit Recurring Invoice\",\n    \"new_invoice\": \"New Recurring Invoice\",\n    \"send_automatically\": \"Send Automatically\",\n    \"send_automatically_desc\": \"Enable this, if you would like to send the invoice automatically to the customer when its created.\",\n    \"save_invoice\": \"Save Recurring Invoice\",\n    \"update_invoice\": \"Update Recurring Invoice\",\n    \"add_new_tax\": \"Add New Tax\",\n    \"no_invoices\": \"No Recurring Invoices yet!\",\n    \"mark_as_rejected\": \"Mark as rejected\",\n    \"mark_as_accepted\": \"Mark as accepted\",\n    \"list_of_invoices\": \"This section will contain the list of recurring invoices.\",\n    \"select_invoice\": \"Select Invoice\",\n    \"no_matching_invoices\": \"There are no matching recurring invoices!\",\n    \"mark_as_sent_successfully\": \"Recurring Invoice marked as sent successfully\",\n    \"invoice_sent_successfully\": \"Recurring Invoice sent successfully\",\n    \"cloned_successfully\": \"Recurring Invoice cloned successfully\",\n    \"clone_invoice\": \"Clone Recurring Invoice\",\n    \"confirm_clone\": \"This recurring invoice will be cloned into a new Recurring Invoice\",\n    \"add_customer_email\": \"Please add an email address for this customer to send invoices automatically.\",\n    \"item\": {\n      \"title\": \"Item Title\",\n      \"description\": \"Description\",\n      \"quantity\": \"Quantity\",\n      \"price\": \"Price\",\n      \"discount\": \"Discount\",\n      \"total\": \"Total\",\n      \"total_discount\": \"Total Discount\",\n      \"sub_total\": \"Sub Total\",\n      \"tax\": \"Tax\",\n      \"amount\": \"Amount\",\n      \"select_an_item\": \"Type or click to select an item\",\n      \"type_item_description\": \"Type Item Description (optional)\"\n    },\n    \"frequency\": {\n      \"title\": \"Frequency\",\n      \"select_frequency\": \"Select Frequency\",\n      \"minute\": \"Minute\",\n      \"hour\": \"Hour\",\n      \"day_month\": \"Day of month\",\n      \"month\": \"Month\",\n      \"day_week\": \"Day of week\"\n    },\n    \"confirm_delete\": \"You will not be able to recover this Invoice | You will not be able to recover these Invoices\",\n    \"created_message\": \"Recurring Invoice created successfully\",\n    \"updated_message\": \"Recurring Invoice updated successfully\",\n    \"deleted_message\": \"Recurring Invoice deleted successfully | Recurring Invoices deleted successfully\",\n    \"marked_as_sent_message\": \"Recurring Invoice marked as sent successfully\",\n    \"user_email_does_not_exist\": \"User email does not exist\",\n    \"something_went_wrong\": \"something went wrong\",\n    \"invalid_due_amount_message\": \"Total Recurring Invoice amount cannot be less than total paid amount for this Recurring Invoice. Please update the invoice or delete the associated payments to continue.\"\n  },\n  \"payments\": {\n    \"title\": \"Payments\",\n    \"payments_list\": \"Payments List\",\n    \"record_payment\": \"Record Payment\",\n    \"customer\": \"Customer\",\n    \"date\": \"Date\",\n    \"amount\": \"Amount\",\n    \"action\": \"Action\",\n    \"payment_number\": \"Payment Number\",\n    \"payment_mode\": \"Payment Mode\",\n    \"invoice\": \"Invoice\",\n    \"note\": \"Note\",\n    \"add_payment\": \"Add Payment\",\n    \"new_payment\": \"New Payment\",\n    \"edit_payment\": \"Edit Payment\",\n    \"view_payment\": \"View Payment\",\n    \"add_new_payment\": \"Add New Payment\",\n    \"send_payment_receipt\": \"Send Payment Receipt\",\n    \"send_payment\": \"Send Payment\",\n    \"save_payment\": \"Save Payment\",\n    \"update_payment\": \"Update Payment\",\n    \"payment\": \"Payment | Payments\",\n    \"no_payments\": \"No payments yet!\",\n    \"not_selected\": \"Not selected\",\n    \"no_invoice\": \"No invoice\",\n    \"no_matching_payments\": \"There are no matching payments!\",\n    \"list_of_payments\": \"This section will contain the list of payments.\",\n    \"select_payment_mode\": \"Select payment mode\",\n    \"confirm_mark_as_sent\": \"This estimate will be marked as sent\",\n    \"confirm_send_payment\": \"This payment will be sent via email to the customer\",\n    \"send_payment_successfully\": \"Payment sent successfully\",\n    \"something_went_wrong\": \"something went wrong\",\n    \"confirm_delete\": \"You will not be able to recover this Payment | You will not be able to recover these Payments\",\n    \"created_message\": \"Payment created successfully\",\n    \"updated_message\": \"Payment updated successfully\",\n    \"deleted_message\": \"Payment deleted successfully | Payments deleted successfully\",\n    \"invalid_amount_message\": \"Payment amount is invalid\"\n  },\n  \"expenses\": {\n    \"title\": \"Expenses\",\n    \"expenses_list\": \"Expenses List\",\n    \"select_a_customer\": \"Select a customer\",\n    \"expense_title\": \"Title\",\n    \"customer\": \"Customer\",\n    \"currency\": \"Currency\",\n    \"contact\": \"Contact\",\n    \"category\": \"Category\",\n    \"from_date\": \"From Date\",\n    \"to_date\": \"To Date\",\n    \"expense_date\": \"Date\",\n    \"description\": \"Description\",\n    \"receipt\": \"Receipt\",\n    \"amount\": \"Amount\",\n    \"action\": \"Action\",\n    \"not_selected\": \"Not selected\",\n    \"note\": \"Note\",\n    \"category_id\": \"Category Id\",\n    \"date\": \"Date\",\n    \"add_expense\": \"Add Expense\",\n    \"add_new_expense\": \"Add New Expense\",\n    \"save_expense\": \"Save Expense\",\n    \"update_expense\": \"Update Expense\",\n    \"download_receipt\": \"Download Receipt\",\n    \"edit_expense\": \"Edit Expense\",\n    \"new_expense\": \"New Expense\",\n    \"expense\": \"Expense | Expenses\",\n    \"no_expenses\": \"No expenses yet!\",\n    \"list_of_expenses\": \"This section will contain the list of expenses.\",\n    \"confirm_delete\": \"You will not be able to recover this Expense | You will not be able to recover these Expenses\",\n    \"created_message\": \"Expense created successfully\",\n    \"updated_message\": \"Expense updated successfully\",\n    \"deleted_message\": \"Expense deleted successfully | Expenses deleted successfully\",\n    \"categories\": {\n      \"categories_list\": \"Categories List\",\n      \"title\": \"Title\",\n      \"name\": \"Name\",\n      \"description\": \"Description\",\n      \"amount\": \"Amount\",\n      \"actions\": \"Actions\",\n      \"add_category\": \"Add Category\",\n      \"new_category\": \"New Category\",\n      \"category\": \"Category | Categories\",\n      \"select_a_category\": \"Select a category\"\n    }\n  },\n  \"login\": {\n    \"email\": \"Email\",\n    \"password\": \"Password\",\n    \"forgot_password\": \"Forgot Password?\",\n    \"or_signIn_with\": \"or Sign in with\",\n    \"login\": \"Login\",\n    \"register\": \"Register\",\n    \"reset_password\": \"Reset Password\",\n    \"password_reset_successfully\": \"Password Reset Successfully\",\n    \"enter_email\": \"Enter email\",\n    \"enter_password\": \"Enter Password\",\n    \"retype_password\": \"Retype Password\"\n  },\n  \"modules\": {\n    \"buy_now\": \"Buy Now\",\n    \"install\": \"Install\",\n    \"price\": \"Price\",\n    \"download_zip_file\": \"Download ZIP file\",\n    \"unzipping_package\": \"Unzipping Package\",\n    \"copying_files\": \"Copying Files\",\n    \"deleting_files\": \"Deleting Unused files\",\n    \"completing_installation\": \"Completing Installation\",\n    \"update_failed\": \"Update Failed\",\n    \"install_success\": \"Module has been installed successfully!\",\n    \"customer_reviews\": \"Reviews\",\n    \"license\": \"License\",\n    \"faq\": \"FAQ\",\n    \"monthly\": \"Monthly\",\n    \"yearly\": \"Yearly\",\n    \"updated\": \"Updated\",\n    \"version\": \"Version\",\n    \"disable\": \"Disable\",\n    \"module_disabled\": \"Module Disabled\",\n    \"enable\": \"Enable\",\n    \"module_enabled\": \"Module Enabled\",\n    \"update_to\": \"Update To\",\n    \"module_updated\": \"Module Updated Successfully!\",\n    \"title\": \"Modules\",\n    \"module\": \"Module | Modules\",\n    \"api_token\": \"API token\",\n    \"invalid_api_token\": \"Invalid API Token.\",\n    \"other_modules\": \"Other Modules\",\n    \"view_all\": \"View All\",\n    \"no_reviews_found\": \"There are no reviews for this module yet!\",\n    \"module_not_purchased\": \"Module Not Purchased\",\n    \"module_not_found\": \"Module Not Found\",\n    \"version_not_supported\": \"This module version doesn't support the current version of Crater\",\n    \"last_updated\": \"Last Updated On\",\n    \"connect_installation\": \"Connect your installation\",\n    \"api_token_description\": \"Login to {url} and connect this installation by entering the API Token. Your purchased modules will show up here after the connection is established.\",\n    \"view_module\": \"View Module\",\n    \"update_available\": \"Update Available\",\n    \"purchased\": \"Purchased\",\n    \"installed\": \"Installed\",\n    \"no_modules_installed\": \"No Modules Installed Yet!\",\n    \"disable_warning\": \"All the settings for this particular will be reverted.\",\n    \"what_you_get\": \"What you get\"\n  },\n  \"users\": {\n    \"title\": \"Users\",\n    \"users_list\": \"Users List\",\n    \"name\": \"Name\",\n    \"description\": \"Description\",\n    \"added_on\": \"Added On\",\n    \"date_of_creation\": \"Date Of Creation\",\n    \"action\": \"Action\",\n    \"add_user\": \"Add User\",\n    \"save_user\": \"Save User\",\n    \"update_user\": \"Update User\",\n    \"user\": \"User | Users\",\n    \"add_new_user\": \"Add New User\",\n    \"new_user\": \"New User\",\n    \"edit_user\": \"Edit User\",\n    \"no_users\": \"No users yet!\",\n    \"list_of_users\": \"This section will contain the list of users.\",\n    \"email\": \"Email\",\n    \"phone\": \"Phone\",\n    \"password\": \"Password\",\n    \"user_attached_message\": \"Cannot delete an item which is already in use\",\n    \"confirm_delete\": \"You will not be able to recover this User | You will not be able to recover these Users\",\n    \"created_message\": \"User created successfully\",\n    \"updated_message\": \"User updated successfully\",\n    \"deleted_message\": \"User deleted successfully | Users deleted successfully\",\n    \"select_company_role\": \"Select Role for {company}\",\n    \"companies\": \"Companies\"\n  },\n  \"reports\": {\n    \"title\": \"Report\",\n    \"from_date\": \"From Date\",\n    \"to_date\": \"To Date\",\n    \"status\": \"Status\",\n    \"paid\": \"Paid\",\n    \"unpaid\": \"Unpaid\",\n    \"download_pdf\": \"Download PDF\",\n    \"view_pdf\": \"View PDF\",\n    \"update_report\": \"Update Report\",\n    \"report\": \"Report | Reports\",\n    \"profit_loss\": {\n      \"profit_loss\": \"Profit & Loss\",\n      \"to_date\": \"To Date\",\n      \"from_date\": \"From Date\",\n      \"date_range\": \"Select Date Range\"\n    },\n    \"sales\": {\n      \"sales\": \"Sales\",\n      \"date_range\": \"Select Date Range\",\n      \"to_date\": \"To Date\",\n      \"from_date\": \"From Date\",\n      \"report_type\": \"Report Type\"\n    },\n    \"taxes\": {\n      \"taxes\": \"Taxes\",\n      \"to_date\": \"To Date\",\n      \"from_date\": \"From Date\",\n      \"date_range\": \"Select Date Range\"\n    },\n    \"errors\": {\n      \"required\": \"Field is required\"\n    },\n    \"invoices\": {\n      \"invoice\": \"Invoice\",\n      \"invoice_date\": \"Invoice Date\",\n      \"due_date\": \"Due Date\",\n      \"amount\": \"Amount\",\n      \"contact_name\": \"Contact Name\",\n      \"status\": \"Status\"\n    },\n    \"estimates\": {\n      \"estimate\": \"Estimate\",\n      \"estimate_date\": \"Estimate Date\",\n      \"due_date\": \"Due Date\",\n      \"estimate_number\": \"Estimate Number\",\n      \"ref_number\": \"Ref Number\",\n      \"amount\": \"Amount\",\n      \"contact_name\": \"Contact Name\",\n      \"status\": \"Status\"\n    },\n    \"expenses\": {\n      \"expenses\": \"Expenses\",\n      \"category\": \"Category\",\n      \"date\": \"Date\",\n      \"amount\": \"Amount\",\n      \"to_date\": \"To Date\",\n      \"from_date\": \"From Date\",\n      \"date_range\": \"Select Date Range\"\n    }\n  },\n  \"settings\": {\n    \"menu_title\": {\n      \"account_settings\": \"Account Settings\",\n      \"company_information\": \"Company Information\",\n      \"customization\": \"Customization\",\n      \"preferences\": \"Preferences\",\n      \"notifications\": \"Notifications\",\n      \"tax_types\": \"Tax Types\",\n      \"expense_category\": \"Expense Categories\",\n      \"update_app\": \"Update App\",\n      \"backup\": \"Backup\",\n      \"file_disk\": \"File Disk\",\n      \"custom_fields\": \"Custom Fields\",\n      \"payment_modes\": \"Payment Modes\",\n      \"notes\": \"Notes\",\n      \"exchange_rate\": \"Exchange Rate\",\n      \"address_information\": \"Address Information\"\n    },\n    \"address_information\": {\n      \"section_description\": \"  You can update Your Address information using form below.\"\n    },\n    \"title\": \"Settings\",\n    \"setting\": \"Settings | Settings\",\n    \"general\": \"General\",\n    \"language\": \"Language\",\n    \"primary_currency\": \"Primary Currency\",\n    \"timezone\": \"Time Zone\",\n    \"date_format\": \"Date Format\",\n    \"currencies\": {\n      \"title\": \"Currencies\",\n      \"currency\": \"Currency | Currencies\",\n      \"currencies_list\": \"Currencies List\",\n      \"select_currency\": \"Select Currency\",\n      \"name\": \"Name\",\n      \"code\": \"Code\",\n      \"symbol\": \"Symbol\",\n      \"precision\": \"Precision\",\n      \"thousand_separator\": \"Thousand Separator\",\n      \"decimal_separator\": \"Decimal Separator\",\n      \"position\": \"Position\",\n      \"position_of_symbol\": \"Position Of Symbol\",\n      \"right\": \"Right\",\n      \"left\": \"Left\",\n      \"action\": \"Action\",\n      \"add_currency\": \"Add Currency\"\n    },\n    \"mail\": {\n      \"host\": \"Mail Host\",\n      \"port\": \"Mail Port\",\n      \"driver\": \"Mail Driver\",\n      \"secret\": \"Secret\",\n      \"mailgun_secret\": \"Mailgun Secret\",\n      \"mailgun_domain\": \"Domain\",\n      \"mailgun_endpoint\": \"Mailgun Endpoint\",\n      \"ses_secret\": \"SES Secret\",\n      \"ses_key\": \"SES Key\",\n      \"password\": \"Mail Password\",\n      \"username\": \"Mail Username\",\n      \"mail_config\": \"Mail Configuration\",\n      \"from_name\": \"From Mail Name\",\n      \"from_mail\": \"From Mail Address\",\n      \"encryption\": \"Mail Encryption\",\n      \"mail_config_desc\": \"Below is the form for Configuring Email driver for sending emails from the app. You can also configure third party providers like Sendgrid, SES etc.\"\n    },\n    \"pdf\": {\n      \"title\": \"PDF Setting\",\n      \"footer_text\": \"Footer Text\",\n      \"pdf_layout\": \"PDF Layout\"\n    },\n    \"company_info\": {\n      \"company_info\": \"Company info\",\n      \"company_name\": \"Company Name\",\n      \"company_logo\": \"Company Logo\",\n      \"section_description\": \"Information about your company that will be displayed on invoices, estimates and other documents created by Crater.\",\n      \"phone\": \"Phone\",\n      \"country\": \"Country\",\n      \"state\": \"State\",\n      \"city\": \"City\",\n      \"address\": \"Address\",\n      \"zip\": \"Zip\",\n      \"save\": \"Save\",\n      \"delete\": \"Delete\",\n      \"updated_message\": \"Company information updated successfully\",\n      \"delete_company\": \"Delete Company\",\n      \"delete_company_description\": \"Once you delete your company, you will lose all the data and files associated with it permanently.\",\n      \"are_you_absolutely_sure\": \"Are you absolutely sure?\",\n      \"delete_company_modal_desc\": \"This action cannot be undone. This will permanently delete {company} and all of its associated data.\",\n      \"delete_company_modal_label\": \"Please type {company} to confirm\"\n    },\n    \"custom_fields\": {\n      \"title\": \"Custom Fields\",\n      \"section_description\": \"Customize your Invoices, Estimates & Payment Receipts with your own fields. Make sure to use the below added fields on the address formats on Customization settings page.\",\n      \"add_custom_field\": \"Add Custom Field\",\n      \"edit_custom_field\": \"Edit Custom Field\",\n      \"field_name\": \"Field Name\",\n      \"label\": \"Label\",\n      \"type\": \"Type\",\n      \"name\": \"Name\",\n      \"slug\": \"Slug\",\n      \"required\": \"Required\",\n      \"placeholder\": \"Placeholder\",\n      \"help_text\": \"Help Text\",\n      \"default_value\": \"Default Value\",\n      \"prefix\": \"Prefix\",\n      \"starting_number\": \"Starting Number\",\n      \"model\": \"Model\",\n      \"help_text_description\": \"Enter some text to help users understand the purpose of this custom field.\",\n      \"suffix\": \"Suffix\",\n      \"yes\": \"Yes\",\n      \"no\": \"No\",\n      \"order\": \"Order\",\n      \"custom_field_confirm_delete\": \"You will not be able to recover this Custom Field\",\n      \"already_in_use\": \"Custom Field is already in use\",\n      \"deleted_message\": \"Custom Field deleted successfully\",\n      \"options\": \"options\",\n      \"add_option\": \"Add Options\",\n      \"add_another_option\": \"Add another option\",\n      \"sort_in_alphabetical_order\": \"Sort in Alphabetical Order\",\n      \"add_options_in_bulk\": \"Add options in bulk\",\n      \"use_predefined_options\": \"Use Predefined Options\",\n      \"select_custom_date\": \"Select Custom Date\",\n      \"select_relative_date\": \"Select Relative Date\",\n      \"ticked_by_default\": \"Ticked by default\",\n      \"updated_message\": \"Custom Field updated successfully\",\n      \"added_message\": \"Custom Field added successfully\",\n      \"press_enter_to_add\": \"Press enter to add new option\",\n      \"model_in_use\": \"Cannot update model for fields which are already in use.\",\n      \"type_in_use\": \"Cannot update type for fields which are already in use.\"\n    },\n    \"customization\": {\n      \"customization\": \"customization\",\n      \"updated_message\": \"Company information updated successfully\",\n      \"save\": \"Save\",\n      \"insert_fields\": \"Insert Fields\",\n      \"learn_custom_format\": \"Learn how to use custom format\",\n      \"add_new_component\": \"Add New Component\",\n      \"component\": \"Component\",\n      \"Parameter\": \"Parameter\",\n      \"series\": \"Series\",\n      \"series_description\": \"To set a static prefix/postfix like 'INV' across your company. It supports character length of up to 6 chars.\",\n      \"series_param_label\": \"Series Value\",\n      \"delimiter\": \"Delimiter\",\n      \"delimiter_description\": \"Single character for specifying the boundary between 2 separate components. By default its set to -\",\n      \"delimiter_param_label\": \"Delimiter Value\",\n      \"date_format\": \"Date Format\",\n      \"date_format_description\": \"A local date and time field which accepts a format parameter. The default format: 'Y' renders the current year.\",\n      \"date_format_param_label\": \"Format\",\n      \"sequence\": \"Sequence\",\n      \"sequence_description\": \"Consecutive sequence of numbers across your company. You can specify the length on the given parameter.\",\n      \"sequence_param_label\": \"Sequence Length\",\n      \"customer_series\": \"Customer Series\",\n      \"customer_series_description\": \"To set a different prefix/postfix for each customer.\",\n      \"customer_sequence\": \"Customer Sequence\",\n      \"customer_sequence_description\": \"Consecutive sequence of numbers for each of your customer.\",\n      \"customer_sequence_param_label\": \"Sequence Length\",\n      \"random_sequence\": \"Random Sequence\",\n      \"random_sequence_description\": \"Random alphanumeric string. You can specify the length on the given parameter.\",\n      \"random_sequence_param_label\": \"Sequence Length\",\n      \"invoices\": {\n        \"title\": \"Invoices\",\n        \"invoice_number_format\": \"Invoice Number Format\",\n        \"invoice_number_format_description\": \"Customize how your invoice number gets generated automatically when you create a new invoice.\",\n        \"preview_invoice_number\": \"Preview Invoice Number\",\n        \"due_date\": \"Due Date\",\n        \"due_date_description\": \"Specify how due date is automatically set when you create an invoice.\",\n        \"due_date_days\": \"Invoice Due after days\",\n        \"set_due_date_automatically\": \"Set Due Date Automatically\",\n        \"set_due_date_automatically_description\": \"Enable this if you wish to set due date automatically when you create a new invoice.\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on invoice creation.\",\n        \"default_invoice_email_body\": \"Default Invoice Email Body\",\n        \"company_address_format\": \"Company Address Format\",\n        \"shipping_address_format\": \"Shipping Address Format\",\n        \"billing_address_format\": \"Billing Address Format\",\n        \"invoice_email_attachment\": \"Send invoices as attachments\",\n        \"invoice_email_attachment_setting_description\": \"Enable this if you want to send invoices as email attachment. Please note that 'View Invoice' button in emails will not be displayed anymore when enabled.\",\n        \"invoice_settings_updated\": \"Invoice Settings updated successfully\",\n        \"retrospective_edits\": \"Retrospective Edits\",\n        \"allow\": \"Allow\",\n        \"disable_on_invoice_partial_paid\": \"Disable after partial payment is recorded\",\n        \"disable_on_invoice_paid\": \"Disable after full payment is recorded\",\n        \"disable_on_invoice_sent\": \"Disable after invoice is sent\",\n        \"retrospective_edits_description\": \" Based on your country's laws or your preference, you can restrict users from editing finalised invoices.\"\n      },\n      \"estimates\": {\n        \"title\": \"Estimates\",\n        \"estimate_number_format\": \"Estimate Number Format\",\n        \"estimate_number_format_description\": \"Customize how your estimate number gets generated automatically when you create a new estimate.\",\n        \"preview_estimate_number\": \"Preview Estimate Number\",\n        \"expiry_date\": \"Expiry Date\",\n        \"expiry_date_description\": \"Specify how expiry date is automatically set when you create an estimate.\",\n        \"expiry_date_days\": \"Estimate Expires after days\",\n        \"set_expiry_date_automatically\": \"Set Expiry Date Automatically\",\n        \"set_expiry_date_automatically_description\": \"Enable this if you wish to set expiry date automatically when you create a new estimate.\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on estimate creation.\",\n        \"default_estimate_email_body\": \"Default Estimate Email Body\",\n        \"company_address_format\": \"Company Address Format\",\n        \"shipping_address_format\": \"Shipping Address Format\",\n        \"billing_address_format\": \"Billing Address Format\",\n        \"estimate_email_attachment\": \"Send estimates as attachments\",\n        \"estimate_email_attachment_setting_description\": \"Enable this if you want to send the estimates as an email attachment. Please note that 'View Estimate' button in emails will not be displayed anymore when enabled.\",\n        \"estimate_settings_updated\": \"Estimate Settings updated successfully\",\n        \"convert_estimate_options\": \"Estimate Convert Action\",\n        \"convert_estimate_description\": \"Specify what happens to the estimate after it gets converted to an invoice.\",\n        \"no_action\": \"No action\",\n        \"delete_estimate\": \"Delete estimate\",\n        \"mark_estimate_as_accepted\": \"Mark estimate as accepted\"\n      },\n      \"payments\": {\n        \"title\": \"Payments\",\n        \"payment_number_format\": \"Payment Number Format\",\n        \"payment_number_format_description\": \"Customize how your payment number gets generated automatically when you create a new payment.\",\n        \"preview_payment_number\": \"Preview Payment Number\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on payment creation.\",\n        \"default_payment_email_body\": \"Default Payment Email Body\",\n        \"company_address_format\": \"Company Address Format\",\n        \"from_customer_address_format\": \"From Customer Address Format\",\n        \"payment_email_attachment\": \"Send payments as attachments\",\n        \"payment_email_attachment_setting_description\": \"Enable this if you want to send the payment receipts as an email attachment. Please note that 'View Payment' button in emails will not be displayed anymore when enabled.\",\n        \"payment_settings_updated\": \"Payment Settings updated successfully\"\n      },\n      \"items\": {\n        \"title\": \"Items\",\n        \"units\": \"Units\",\n        \"add_item_unit\": \"Add Item Unit\",\n        \"edit_item_unit\": \"Edit Item Unit\",\n        \"unit_name\": \"Unit Name\",\n        \"item_unit_added\": \"Item Unit Added\",\n        \"item_unit_updated\": \"Item Unit Updated\",\n        \"item_unit_confirm_delete\": \"You will not be able to recover this Item unit\",\n        \"already_in_use\": \"Item Unit is already in use\",\n        \"deleted_message\": \"Item Unit deleted successfully\"\n      },\n      \"notes\": {\n        \"title\": \"Notes\",\n        \"description\": \"Save time by creating notes and reusing them on your invoices, estimates & payments.\",\n        \"notes\": \"Notes\",\n        \"type\": \"Type\",\n        \"add_note\": \"Add Note\",\n        \"add_new_note\": \"Add New Note\",\n        \"name\": \"Name\",\n        \"edit_note\": \"Edit Note\",\n        \"note_added\": \"Note added successfully\",\n        \"note_updated\": \"Note Updated successfully\",\n        \"note_confirm_delete\": \"You will not be able to recover this Note\",\n        \"already_in_use\": \"Note is already in use\",\n        \"deleted_message\": \"Note deleted successfully\"\n      }\n    },\n    \"account_settings\": {\n      \"profile_picture\": \"Profile Picture\",\n      \"name\": \"Name\",\n      \"email\": \"Email\",\n      \"password\": \"Password\",\n      \"confirm_password\": \"Confirm Password\",\n      \"account_settings\": \"Account Settings\",\n      \"save\": \"Save\",\n      \"section_description\": \"You can update your name, email & password using the form below.\",\n      \"updated_message\": \"Account Settings updated successfully\"\n    },\n    \"user_profile\": {\n      \"name\": \"Name\",\n      \"email\": \"Email\",\n      \"password\": \"Password\",\n      \"confirm_password\": \"Confirm Password\"\n    },\n    \"notification\": {\n      \"title\": \"Notifications\",\n      \"email\": \"Send Notifications to\",\n      \"description\": \"Which email notifications would you like to receive when something changes?\",\n      \"invoice_viewed\": \"Invoice viewed\",\n      \"invoice_viewed_desc\": \"When your customer views the invoice sent via crater dashboard.\",\n      \"estimate_viewed\": \"Estimate viewed\",\n      \"estimate_viewed_desc\": \"When your customer views the estimate sent via crater dashboard.\",\n      \"save\": \"Save\",\n      \"email_save_message\": \"Email saved successfully\",\n      \"please_enter_email\": \"Please Enter Email\"\n    },\n    \"roles\": {\n      \"title\": \"Roles\",\n      \"description\": \"Manage the roles & permissions of this company\",\n      \"save\": \"Save\",\n      \"add_new_role\": \"Add New Role\",\n      \"role_name\": \"Role Name\",\n      \"added_on\": \"Added on\",\n      \"add_role\": \"Add Role\",\n      \"edit_role\": \"Edit Role\",\n      \"name\": \"Name\",\n      \"permission\": \"Permission | Permissions\",\n      \"select_all\": \"Select All\",\n      \"none\": \"None\",\n      \"confirm_delete\": \"You will not be able to recover this Role\",\n      \"created_message\": \"Role created successfully\",\n      \"updated_message\": \"Role updated successfully\",\n      \"deleted_message\": \"Role deleted successfully\",\n      \"already_in_use\": \"Role is already in use\"\n    },\n    \"exchange_rate\": {\n      \"exchange_rate\": \"Exchange Rate\",\n      \"title\": \"Fix Currency Exchange issues\",\n      \"description\": \"Please enter exchange rate of all the currencies mentioned below to help Crater properly calculate the amounts in {currency}.\",\n      \"drivers\": \"Drivers\",\n      \"new_driver\": \"Add New Provider\",\n      \"edit_driver\": \"Edit Provider\",\n      \"select_driver\": \"Select Driver\",\n      \"update\": \"select exchange rate \",\n      \"providers_description\": \"Configure your exchange rate providers here to automatically fetch the latest exchange rate on transactions.\",\n      \"key\": \"API Key\",\n      \"name\": \"Name\",\n      \"driver\": \"Driver\",\n      \"is_default\": \"IS DEFAULT\",\n      \"currency\": \"Currencies\",\n      \"exchange_rate_confirm_delete\": \"You will not be able to recover this driver\",\n      \"created_message\": \"Provider Created successfully\",\n      \"updated_message\": \"Provider Updated Successfully\",\n      \"deleted_message\": \"Provider Deleted Successfully\",\n      \"error\": \" You cannot Delete Active Driver\",\n      \"default_currency_error\": \"This currency is already used in one of the Active Provider\",\n      \"exchange_help_text\": \"Enter exchange rate to convert from {currency} to {baseCurrency}\",\n      \"currency_freak\": \"Currency Freak\",\n      \"currency_layer\": \"Currency Layer\",\n      \"open_exchange_rate\": \"Open Exchange Rate\",\n      \"currency_converter\": \"Currency Converter\",\n      \"server\": \"Server\",\n      \"url\": \"URL\",\n      \"active\": \"Active\",\n      \"currency_help_text\": \"This provider will only be used on above selected currencies\",\n      \"currency_in_used\": \"The following currencies are already active on another provider. Please remove these currencies from selection to activate this provider again.\"\n    },\n    \"tax_types\": {\n      \"title\": \"Tax Types\",\n      \"add_tax\": \"Add Tax\",\n      \"edit_tax\": \"Edit Tax\",\n      \"description\": \"You can add or Remove Taxes as you please. Crater supports Taxes on Individual Items as well as on the invoice.\",\n      \"add_new_tax\": \"Add New Tax\",\n      \"tax_settings\": \"Tax Settings\",\n      \"tax_per_item\": \"Tax Per Item\",\n      \"tax_name\": \"Tax Name\",\n      \"compound_tax\": \"Compound Tax\",\n      \"percent\": \"Percent\",\n      \"action\": \"Action\",\n      \"tax_setting_description\": \"Enable this if you want to add taxes to individual invoice items. By default, taxes are added directly to the invoice.\",\n      \"created_message\": \"Tax type created successfully\",\n      \"updated_message\": \"Tax type updated successfully\",\n      \"deleted_message\": \"Tax type deleted successfully\",\n      \"confirm_delete\": \"You will not be able to recover this Tax Type\",\n      \"already_in_use\": \"Tax is already in use\"\n    },\n    \"payment_modes\": {\n      \"title\": \"Payment Modes\",\n      \"description\": \"Modes of transaction for payments\",\n      \"add_payment_mode\": \"Add Payment Mode\",\n      \"edit_payment_mode\": \"Edit Payment Mode\",\n      \"mode_name\": \"Mode Name\",\n      \"payment_mode_added\": \"Payment Mode Added\",\n      \"payment_mode_updated\": \"Payment Mode Updated\",\n      \"payment_mode_confirm_delete\": \"You will not be able to recover this Payment Mode\",\n      \"payments_attached\": \"This payment method is already attached to payments. Please delete the attached payments to proceed with deletion.\",\n      \"expenses_attached\": \"This payment method is already attached to expenses. Please delete the attached expenses to proceed with deletion.\",\n      \"deleted_message\": \"Payment Mode deleted successfully\"\n    },\n    \"expense_category\": {\n      \"title\": \"Expense Categories\",\n      \"action\": \"Action\",\n      \"description\": \"Categories are required for adding expense entries. You can Add or Remove these categories according to your preference.\",\n      \"add_new_category\": \"Add New Category\",\n      \"add_category\": \"Add Category\",\n      \"edit_category\": \"Edit Category\",\n      \"category_name\": \"Category Name\",\n      \"category_description\": \"Description\",\n      \"created_message\": \"Expense Category created successfully\",\n      \"deleted_message\": \"Expense category deleted successfully\",\n      \"updated_message\": \"Expense category updated successfully\",\n      \"confirm_delete\": \"You will not be able to recover this Expense Category\",\n      \"already_in_use\": \"Category is already in use\"\n    },\n    \"preferences\": {\n      \"currency\": \"Currency\",\n      \"default_language\": \"Default Language\",\n      \"time_zone\": \"Time Zone\",\n      \"fiscal_year\": \"Financial Year\",\n      \"date_format\": \"Date Format\",\n      \"discount_setting\": \"Discount Setting\",\n      \"discount_per_item\": \"Discount Per Item \",\n      \"discount_setting_description\": \"Enable this if you want to add Discount to individual invoice items. By default, Discount is added directly to the invoice.\",\n      \"expire_public_links\": \"Automatically Expire Public Links\",\n      \"expire_setting_description\": \"Specify whether you would like to expire all the links sent by application to view invoices, estimates & payments, etc after a specified duration.\",\n      \"save\": \"Save\",\n      \"preference\": \"Preference | Preferences\",\n      \"general_settings\": \"Default preferences for the system.\",\n      \"updated_message\": \"Preferences updated successfully\",\n      \"select_language\": \"Select Language\",\n      \"select_time_zone\": \"Select Time Zone\",\n      \"select_date_format\": \"Select Date Format\",\n      \"select_financial_year\": \"Select Financial Year\",\n      \"recurring_invoice_status\": \"Recurring Invoice Status\",\n      \"create_status\": \"Create Status\",\n      \"active\": \"Active\",\n      \"on_hold\": \"On Hold\",\n      \"update_status\": \"Update Status\",\n      \"completed\": \"Completed\",\n      \"company_currency_unchangeable\": \"Company currency cannot be changed\"\n    },\n    \"update_app\": {\n      \"title\": \"Update App\",\n      \"description\": \"You can easily update Crater by checking for a new update by clicking the button below\",\n      \"check_update\": \"Check for updates\",\n      \"avail_update\": \"New Update available\",\n      \"next_version\": \"Next version\",\n      \"requirements\": \"Requirements\",\n      \"update\": \"Update Now\",\n      \"update_progress\": \"Update in progress...\",\n      \"progress_text\": \"It will just take a few minutes. Please do not refresh the screen or close the window before the update finishes\",\n      \"update_success\": \"App has been updated! Please wait while your browser window gets reloaded automatically.\",\n      \"latest_message\": \"No update available! You are on the latest version.\",\n      \"current_version\": \"Current Version\",\n      \"download_zip_file\": \"Download ZIP file\",\n      \"unzipping_package\": \"Unzipping Package\",\n      \"copying_files\": \"Copying Files\",\n      \"deleting_files\": \"Deleting Unused files\",\n      \"running_migrations\": \"Running Migrations\",\n      \"finishing_update\": \"Finishing Update\",\n      \"update_failed\": \"Update Failed\",\n      \"update_failed_text\": \"Sorry! Your update failed on : {step} step\",\n      \"update_warning\": \"All of the application files and default template files will be overwritten when you update the application using this utility. Please take a backup of your templates & database before updating.\"\n    },\n    \"backup\": {\n      \"title\": \"Backup | Backups\",\n      \"description\": \"The backup is a zipfile that contains all files in the directories you specify along with a dump of your database\",\n      \"new_backup\": \"Add New Backup\",\n      \"create_backup\": \"Create Backup\",\n      \"select_backup_type\": \"Select Backup Type\",\n      \"backup_confirm_delete\": \"You will not be able to recover this Backup\",\n      \"path\": \"path\",\n      \"new_disk\": \"New Disk\",\n      \"created_at\": \"created at\",\n      \"size\": \"size\",\n      \"dropbox\": \"dropbox\",\n      \"local\": \"local\",\n      \"healthy\": \"healthy\",\n      \"amount_of_backups\": \"amount of backups\",\n      \"newest_backups\": \"newest backups\",\n      \"used_storage\": \"used storage\",\n      \"select_disk\": \"Select Disk\",\n      \"action\": \"Action\",\n      \"deleted_message\": \"Backup deleted successfully\",\n      \"created_message\": \"Backup created successfully\",\n      \"invalid_disk_credentials\": \"Invalid credential of selected disk\"\n    },\n    \"disk\": {\n      \"title\": \"File Disk | File Disks\",\n      \"description\": \"By default, Crater will use your local disk for saving backups, avatar and other image files. You can configure more than one disk drivers like DigitalOcean, S3 and Dropbox according to your preference.\",\n      \"created_at\": \"created at\",\n      \"dropbox\": \"dropbox\",\n      \"name\": \"Name\",\n      \"driver\": \"Driver\",\n      \"disk_type\": \"Type\",\n      \"disk_name\": \"Disk Name\",\n      \"new_disk\": \"Add New Disk\",\n      \"filesystem_driver\": \"Filesystem Driver\",\n      \"local_driver\": \"local Driver\",\n      \"local_root\": \"local Root\",\n      \"public_driver\": \"Public Driver\",\n      \"public_root\": \"Public Root\",\n      \"public_url\": \"Public URL\",\n      \"public_visibility\": \"Public Visibility\",\n      \"media_driver\": \"Media Driver\",\n      \"media_root\": \"Media Root\",\n      \"aws_driver\": \"AWS Driver\",\n      \"aws_key\": \"AWS Key\",\n      \"aws_secret\": \"AWS Secret\",\n      \"aws_region\": \"AWS Region\",\n      \"aws_bucket\": \"AWS Bucket\",\n      \"aws_root\": \"AWS Root\",\n      \"do_spaces_type\": \"Do Spaces type\",\n      \"do_spaces_key\": \"Do Spaces key\",\n      \"do_spaces_secret\": \"Do Spaces Secret\",\n      \"do_spaces_region\": \"Do Spaces Region\",\n      \"do_spaces_bucket\": \"Do Spaces Bucket\",\n      \"do_spaces_endpoint\": \"Do Spaces Endpoint\",\n      \"do_spaces_root\": \"Do Spaces Root\",\n      \"dropbox_type\": \"Dropbox Type\",\n      \"dropbox_token\": \"Dropbox Token\",\n      \"dropbox_key\": \"Dropbox Key\",\n      \"dropbox_secret\": \"Dropbox Secret\",\n      \"dropbox_app\": \"Dropbox App\",\n      \"dropbox_root\": \"Dropbox Root\",\n      \"default_driver\": \"Default Driver\",\n      \"is_default\": \"IS DEFAULT\",\n      \"set_default_disk\": \"Set Default Disk\",\n      \"set_default_disk_confirm\": \"This disk will be set as default and all the new PDFs will be saved on this disk\",\n      \"success_set_default_disk\": \"Disk set as default successfully\",\n      \"save_pdf_to_disk\": \"Save PDFs to Disk\",\n      \"disk_setting_description\": \" Enable this, if you wish to save a copy of each Invoice, Estimate & Payment Receipt PDF on your default disk automatically. Turning this option will decrease the load-time when viewing the PDFs.\",\n      \"select_disk\": \"Select Disk\",\n      \"disk_settings\": \"Disk Settings\",\n      \"confirm_delete\": \"Your existing files & folders in the specified disk will not be affected but your disk configuration will be deleted from Crater\",\n      \"action\": \"Action\",\n      \"edit_file_disk\": \"Edit File Disk\",\n      \"success_create\": \"Disk added successfully\",\n      \"success_update\": \"Disk updated successfully\",\n      \"error\": \"Disk addition failed\",\n      \"deleted_message\": \"File Disk deleted successfully\",\n      \"disk_variables_save_successfully\": \"Disk Configured Successfully\",\n      \"disk_variables_save_error\": \"Disk configuration failed.\",\n      \"invalid_disk_credentials\": \"Invalid credential of selected disk\"\n    },\n    \"taxations\": {\n      \"add_billing_address\": \"Enter Billing Address\",\n      \"add_shipping_address\": \"Enter Shipping Address\",\n      \"add_company_address\": \"Enter Company Address\",\n      \"modal_description\": \"The information below is required in order to fetch sales tax.\",\n      \"add_address\": \"Add Address for fetching sales tax.\",\n      \"address_placeholder\": \"Example: 123, My Street\",\n      \"city_placeholder\": \"Example: Los Angeles\",\n      \"state_placeholder\": \"Example: CA\",\n      \"zip_placeholder\": \"Example: 90024\",\n      \"invalid_address\": \"Please provide valid address details.\"\n    }\n  },\n  \"wizard\": {\n    \"account_info\": \"Account Information\",\n    \"account_info_desc\": \"Below details will be used to create the main Administrator account. Also you can change the details anytime after logging in.\",\n    \"name\": \"Name\",\n    \"email\": \"Email\",\n    \"password\": \"Password\",\n    \"confirm_password\": \"Confirm Password\",\n    \"save_cont\": \"Save & Continue\",\n    \"company_info\": \"Company Information\",\n    \"company_info_desc\": \"This information will be displayed on invoices. Note that you can edit this later on settings page.\",\n    \"company_name\": \"Company Name\",\n    \"company_logo\": \"Company Logo\",\n    \"logo_preview\": \"Logo Preview\",\n    \"preferences\": \"Company Preferences\",\n    \"preferences_desc\": \"Specify the default preferences for this company.\",\n    \"currency_set_alert\": \"The company's currency cannot be changed later.\",\n    \"country\": \"Country\",\n    \"state\": \"State\",\n    \"city\": \"City\",\n    \"address\": \"Address\",\n    \"street\": \"Street1 | Street2\",\n    \"phone\": \"Phone\",\n    \"zip_code\": \"Zip Code\",\n    \"go_back\": \"Go Back\",\n    \"currency\": \"Currency\",\n    \"language\": \"Language\",\n    \"time_zone\": \"Time Zone\",\n    \"fiscal_year\": \"Financial Year\",\n    \"date_format\": \"Date Format\",\n    \"from_address\": \"From Address\",\n    \"username\": \"Username\",\n    \"next\": \"Next\",\n    \"continue\": \"Continue\",\n    \"skip\": \"Skip\",\n    \"database\": {\n      \"database\": \"Site URL & Database\",\n      \"connection\": \"Database Connection\",\n      \"host\": \"Database Host\",\n      \"port\": \"Database Port\",\n      \"password\": \"Database Password\",\n      \"app_url\": \"App URL\",\n      \"app_domain\": \"App Domain\",\n      \"username\": \"Database Username\",\n      \"db_name\": \"Database Name\",\n      \"db_path\": \"Database Path\",\n      \"desc\": \"Create a database on your server and set the credentials using the form below.\"\n    },\n    \"permissions\": {\n      \"permissions\": \"Permissions\",\n      \"permission_confirm_title\": \"Are you sure you want to continue?\",\n      \"permission_confirm_desc\": \"Folder permission check failed\",\n      \"permission_desc\": \"Below is the list of folder permissions which are required in order for the app to work. If the permission check fails, make sure to update your folder permissions.\"\n    },\n    \"verify_domain\": {\n      \"title\": \"Domain Verification\",\n      \"desc\": \"Crater uses Session based authentication which requires domain verification for security purposes. Please enter the domain on which you will be accessing your web application.\",\n      \"app_domain\": \"App Domain\",\n      \"verify_now\": \"Verify Now\",\n      \"success\": \"Domain Verify Successfully.\",\n      \"failed\": \"Domain verification failed. Please enter valid domain name.\",\n      \"verify_and_continue\": \"Verify And Continue\"\n    },\n    \"mail\": {\n      \"host\": \"Mail Host\",\n      \"port\": \"Mail Port\",\n      \"driver\": \"Mail Driver\",\n      \"secret\": \"Secret\",\n      \"mailgun_secret\": \"Mailgun Secret\",\n      \"mailgun_domain\": \"Domain\",\n      \"mailgun_endpoint\": \"Mailgun Endpoint\",\n      \"ses_secret\": \"SES Secret\",\n      \"ses_key\": \"SES Key\",\n      \"password\": \"Mail Password\",\n      \"username\": \"Mail Username\",\n      \"mail_config\": \"Mail Configuration\",\n      \"from_name\": \"From Mail Name\",\n      \"from_mail\": \"From Mail Address\",\n      \"encryption\": \"Mail Encryption\",\n      \"mail_config_desc\": \"Below is the form for Configuring Email driver for sending emails from the app. You can also configure third party providers like Sendgrid, SES etc.\"\n    },\n    \"req\": {\n      \"system_req\": \"System Requirements\",\n      \"php_req_version\": \"Php (version {version} required)\",\n      \"check_req\": \"Check Requirements\",\n      \"system_req_desc\": \"Crater has a few server requirements. Make sure that your server has the required php version and all the extensions mentioned below.\"\n    },\n    \"errors\": {\n      \"migrate_failed\": \"Migrate Failed\",\n      \"database_variables_save_error\": \"Cannot write configuration to .env file. Please check its file permissions\",\n      \"mail_variables_save_error\": \"Email configuration failed.\",\n      \"connection_failed\": \"Database connection failed\",\n      \"database_should_be_empty\": \"Database should be empty\"\n    },\n    \"success\": {\n      \"mail_variables_save_successfully\": \"Email configured successfully\",\n      \"database_variables_save_successfully\": \"Database configured successfully.\"\n    }\n  },\n  \"validation\": {\n    \"invalid_phone\": \"Invalid Phone Number\",\n    \"invalid_url\": \"Invalid url (ex: http://www.craterapp.com)\",\n    \"invalid_domain_url\": \"Invalid url (ex: craterapp.com)\",\n    \"required\": \"Field is required\",\n    \"email_incorrect\": \"Incorrect Email.\",\n    \"email_already_taken\": \"The email has already been taken.\",\n    \"email_does_not_exist\": \"User with given email doesn't exist\",\n    \"item_unit_already_taken\": \"This item unit name has already been taken\",\n    \"payment_mode_already_taken\": \"This payment mode name has already been taken\",\n    \"send_reset_link\": \"Send Reset Link\",\n    \"not_yet\": \"Not yet? Send it again\",\n    \"password_min_length\": \"Password must contain {count} characters\",\n    \"name_min_length\": \"Name must have at least {count} letters.\",\n    \"prefix_min_length\": \"Prefix must have at least {count} letters.\",\n    \"enter_valid_tax_rate\": \"Enter valid tax rate\",\n    \"numbers_only\": \"Numbers Only.\",\n    \"characters_only\": \"Characters Only.\",\n    \"password_incorrect\": \"Passwords must be identical\",\n    \"password_length\": \"Password must be {count} character long.\",\n    \"qty_must_greater_than_zero\": \"Quantity must be greater than zero.\",\n    \"price_greater_than_zero\": \"Price must be greater than zero.\",\n    \"payment_greater_than_zero\": \"Payment must be greater than zero.\",\n    \"payment_greater_than_due_amount\": \"Entered Payment is more than due amount of this invoice.\",\n    \"quantity_maxlength\": \"Quantity should not be greater than 20 digits.\",\n    \"price_maxlength\": \"Price should not be greater than 20 digits.\",\n    \"price_minvalue\": \"Price should be greater than 0.\",\n    \"amount_maxlength\": \"Amount should not be greater than 20 digits.\",\n    \"amount_minvalue\": \"Amount should be greater than 0.\",\n    \"discount_maxlength\": \"Discount should not be greater than max discount\",\n    \"description_maxlength\": \"Description should not be greater than 255 characters.\",\n    \"subject_maxlength\": \"Subject should not be greater than 100 characters.\",\n    \"message_maxlength\": \"Message should not be greater than 255 characters.\",\n    \"maximum_options_error\": \"Maximum  of {max} options selected. First remove a selected option to select another.\",\n    \"notes_maxlength\": \"Notes should not be greater than 65,000 characters.\",\n    \"address_maxlength\": \"Address should not be greater than 255 characters.\",\n    \"ref_number_maxlength\": \"Ref Number should not be greater than 255 characters.\",\n    \"prefix_maxlength\": \"Prefix should not be greater than 5 characters.\",\n    \"something_went_wrong\": \"something went wrong\",\n    \"number_length_minvalue\": \"Number length should be greater than 0\",\n    \"at_least_one_ability\": \"Please select atleast one Permission.\",\n    \"valid_driver_key\": \"Please enter a valid {driver} key.\",\n    \"valid_exchange_rate\": \"Please enter a valid exchange rate.\",\n    \"company_name_not_same\": \"Company name must match with given name.\"\n  },\n  \"errors\": {\n    \"starter_plan\": \"This feature is available on Starter plan and onwards!\",\n    \"invalid_provider_key\": \"Please Enter Valid Provider API Key.\",\n    \"estimate_number_used\": \"The estimate number has already been taken.\",\n    \"invoice_number_used\": \"The invoice number has already been taken.\",\n    \"payment_attached\": \"This invoice already has a payment attached to it. Make sure to delete the attached payments first in order to go ahead with the removal.\",\n    \"payment_number_used\": \"The payment number has already been taken.\",\n    \"name_already_taken\": \"The name has already been taken.\",\n    \"receipt_does_not_exist\": \"Receipt does not exist.\",\n    \"customer_cannot_be_changed_after_payment_is_added\": \"Customer cannot be change after payment is added\",\n    \"invalid_credentials\": \"Invalid  Credentials.\",\n    \"not_allowed\": \"Not Allowed\",\n    \"login_invalid_credentials\": \"These credentials do not match our records.\",\n    \"enter_valid_cron_format\": \"Please enter a valid cron format\",\n    \"email_could_not_be_sent\": \"Email could not be sent to this email address.\",\n    \"invalid_address\": \"Please enter a valid address.\",\n    \"invalid_key\": \"Please enter valid key.\",\n    \"invalid_state\": \"Please enter a valid state.\",\n    \"invalid_city\": \"Please enter a valid city.\",\n    \"invalid_postal_code\": \"Please enter a valid zip.\",\n    \"invalid_format\": \"Please enter valid query string format.\",\n    \"api_error\": \"Server not responding.\",\n    \"feature_not_enabled\": \"Feature not enabled.\",\n    \"request_limit_met\": \"Api request limit exceeded.\",\n    \"address_incomplete\": \"Incomplete Address\"\n  },\n  \"pdf_estimate_label\": \"Estimate\",\n  \"pdf_estimate_number\": \"Estimate Number\",\n  \"pdf_estimate_date\": \"Estimate Date\",\n  \"pdf_estimate_expire_date\": \"Expiry date\",\n  \"pdf_invoice_label\": \"Invoice\",\n  \"pdf_invoice_number\": \"Invoice Number\",\n  \"pdf_invoice_date\": \"Invoice Date\",\n  \"pdf_invoice_due_date\": \"Due date\",\n  \"pdf_notes\": \"Notes\",\n  \"pdf_items_label\": \"Items\",\n  \"pdf_quantity_label\": \"Quantity\",\n  \"pdf_price_label\": \"Price\",\n  \"pdf_discount_label\": \"Discount\",\n  \"pdf_amount_label\": \"Amount\",\n  \"pdf_subtotal\": \"Subtotal\",\n  \"pdf_total\": \"Total\",\n  \"pdf_payment_label\": \"Payment\",\n  \"pdf_payment_receipt_label\": \"PAYMENT RECEIPT\",\n  \"pdf_payment_date\": \"Payment Date\",\n  \"pdf_payment_number\": \"Payment Number\",\n  \"pdf_payment_mode\": \"Payment Mode\",\n  \"pdf_payment_amount_received_label\": \"Amount Received\",\n  \"pdf_expense_report_label\": \"EXPENSES REPORT\",\n  \"pdf_total_expenses_label\": \"TOTAL EXPENSE\",\n  \"pdf_profit_loss_label\": \"PROFIT & LOSS REPORT\",\n  \"pdf_sales_customers_label\": \"Sales Customer Report\",\n  \"pdf_sales_items_label\": \"Sales Item Report\",\n  \"pdf_tax_summery_label\": \"Tax Summary Report\",\n  \"pdf_income_label\": \"INCOME\",\n  \"pdf_net_profit_label\": \"NET PROFIT\",\n  \"pdf_customer_sales_report\": \"Sales Report: By Customer\",\n  \"pdf_total_sales_label\": \"TOTAL SALES\",\n  \"pdf_item_sales_label\": \"Sales Report: By Item\",\n  \"pdf_tax_report_label\": \"TAX REPORT\",\n  \"pdf_total_tax_label\": \"TOTAL TAX\",\n  \"pdf_tax_types_label\": \"Tax Types\",\n  \"pdf_expenses_label\": \"Expenses\",\n  \"pdf_bill_to\": \"Bill to,\",\n  \"pdf_ship_to\": \"Ship to,\",\n  \"pdf_received_from\": \"Received from:\",\n  \"pdf_tax_label\": \"Tax\"\n}\n"
  },
  {
    "path": "resources/scripts/locales/ru.json",
    "content": "{\n  \"navigation\": {\n    \"dashboard\": \"Главная\",\n    \"customers\": \"Клиенты\",\n    \"items\": \"Товары\",\n    \"invoices\": \"Счет-фактуры\",\n    \"recurring-invoices\": \"Recurring Invoices\",\n    \"expenses\": \"Расходы\",\n    \"estimates\": \"Заказы\",\n    \"payments\": \"Платежи\",\n    \"reports\": \"Отчёты\",\n    \"settings\": \"Настройки\",\n    \"logout\": \"Выйти\",\n    \"users\": \"Пользователи\",\n    \"modules\": \"Инструменты\"\n  },\n  \"general\": {\n    \"add_company\": \"Добавить компанию\",\n    \"view_pdf\": \"Просмотр PDF\",\n    \"copy_pdf_url\": \"Скопировать ссылку на PDF\",\n    \"download_pdf\": \"Скачать PDF\",\n    \"save\": \"Сохранить\",\n    \"create\": \"Создать\",\n    \"cancel\": \"Отмена\",\n    \"update\": \"Обновить\",\n    \"deselect\": \"Очистить\",\n    \"download\": \"Скачать\",\n    \"from_date\": \"От даты\",\n    \"to_date\": \"До даты\",\n    \"from\": \"Отправитель\",\n    \"to\": \"Получатель\",\n    \"ok\": \"Ок\",\n    \"yes\": \"Да\",\n    \"no\": \"Нет\",\n    \"sort_by\": \"Сортировать\",\n    \"ascending\": \"По возрастанию\",\n    \"descending\": \"По убыванию\",\n    \"subject\": \"Тема\",\n    \"body\": \"Содержание\",\n    \"message\": \"Сообщение\",\n    \"send\": \"Отправить\",\n    \"preview\": \"Предпросмотр\",\n    \"go_back\": \"Назад\",\n    \"back_to_login\": \"Вернуться к логину?\",\n    \"home\": \"Домой\",\n    \"filter\": \"Фильтр\",\n    \"delete\": \"Удалить\",\n    \"edit\": \"Редактировать\",\n    \"view\": \"Показать\",\n    \"add_new_item\": \"Добавить\",\n    \"clear_all\": \"Очистить\",\n    \"showing\": \"Показано\",\n    \"of\": \"из\",\n    \"actions\": \"Действия\",\n    \"subtotal\": \"ПРОМЕЖУТОЧНЫЙ ИТОГ\",\n    \"discount\": \"СКИДКА\",\n    \"fixed\": \"Фиксированный\",\n    \"percentage\": \"Проценты\",\n    \"tax\": \"НАЛОГ\",\n    \"total_amount\": \"ИТОГО\",\n    \"bill_to\": \"Выставить счёт\",\n    \"ship_to\": \"Доставить\",\n    \"due\": \"К оплате\",\n    \"draft\": \"Черновик\",\n    \"sent\": \"Отправлено\",\n    \"all\": \"Все\",\n    \"select_all\": \"Выбрать всё\",\n    \"select_template\": \"Выбрать шаблон\",\n    \"choose_file\": \"Нажмите сюда чтобы выбрать файлы\",\n    \"choose_template\": \"Выберите шаблон\",\n    \"choose\": \"Выбор\",\n    \"remove\": \"Удалить\",\n    \"select_a_status\": \"Выбрать статус\",\n    \"select_a_tax\": \"Выбрать налог\",\n    \"search\": \"Поиск\",\n    \"are_you_sure\": \"Вы уверены?\",\n    \"list_is_empty\": \"Список пуст.\",\n    \"no_tax_found\": \"Налоги не найдены!\",\n    \"four_zero_four\": \"Ошибка 404\",\n    \"you_got_lost\": \"Упс! Мы потерялись!\",\n    \"go_home\": \"Домой\",\n    \"test_mail_conf\": \"Настройки тестового письма\",\n    \"send_mail_successfully\": \"Письмо отправлено\",\n    \"setting_updated\": \"Настройки сохранены\",\n    \"select_state\": \"Выберите область\",\n    \"select_country\": \"Выберите страну\",\n    \"select_city\": \"Выберите город\",\n    \"street_1\": \"Улица 1\",\n    \"street_2\": \"Улица 2\",\n    \"action_failed\": \"Действие закончилось неудачей!\",\n    \"retry\": \"Повторить\",\n    \"choose_note\": \"Выберите заметку\",\n    \"no_note_found\": \"Заметка не найдена\",\n    \"insert_note\": \"Вставить заметку\",\n    \"copied_pdf_url_clipboard\": \"Ссылка на PDF скопирована в буфер обмена!\",\n    \"copied_url_clipboard\": \"Ссылка скопирована!\",\n    \"docs\": \"Docs\",\n    \"do_you_wish_to_continue\": \"Хотите продолжить?\",\n    \"note\": \"Note\",\n    \"pay_invoice\": \"Оплатить счет\",\n    \"login_successfully\": \"Вход выполнен!\",\n    \"logged_out_successfully\": \"Вы успешно вышли\",\n    \"mark_as_default\": \"Установить по умолчанию\"\n  },\n  \"dashboard\": {\n    \"select_year\": \"Выберите год\",\n    \"cards\": {\n      \"due_amount\": \"Сумма\",\n      \"customers\": \"Клиенты\",\n      \"invoices\": \"Счет-фактуры\",\n      \"estimates\": \"Заказы\",\n      \"payments\": \"Платежи\"\n    },\n    \"chart_info\": {\n      \"total_sales\": \"Продажи\",\n      \"total_receipts\": \"Счета\",\n      \"total_expense\": \"Расходы\",\n      \"net_income\": \"Чистый доход\",\n      \"year\": \"Выберите год\"\n    },\n    \"monthly_chart\": {\n      \"title\": \"Доходы и расходы\"\n    },\n    \"recent_invoices_card\": {\n      \"title\": \"Счета к оплате\",\n      \"due_on\": \"Дата\",\n      \"customer\": \"Клиент\",\n      \"amount_due\": \"Сумма к оплате\",\n      \"actions\": \"Действия\",\n      \"view_all\": \"Показать всё\"\n    },\n    \"recent_estimate_card\": {\n      \"title\": \"Ожидающие заказы\",\n      \"date\": \"Дата\",\n      \"customer\": \"Клиент\",\n      \"amount_due\": \"Сумма\",\n      \"actions\": \"Действия\",\n      \"view_all\": \"Показать всё\"\n    }\n  },\n  \"tax_types\": {\n    \"name\": \"Название\",\n    \"description\": \"Описание\",\n    \"percent\": \"Проценты\",\n    \"compound_tax\": \"Комплексный налог\"\n  },\n  \"global_search\": {\n    \"search\": \"Поиск...\",\n    \"customers\": \"Клиенты\",\n    \"users\": \"Пользователи\",\n    \"no_results_found\": \"Ничего не найдено\"\n  },\n  \"company_switcher\": {\n    \"label\": \"СМЕНИТЬ КОМПАНИЮ\",\n    \"no_results_found\": \"Результаты не найдены\",\n    \"add_new_company\": \"Добавить новую компанию\",\n    \"new_company\": \"Новая компания\",\n    \"created_message\": \"Компания создана успешно\"\n  },\n  \"dateRange\": {\n    \"today\": \"Сегодня\",\n    \"this_week\": \"На этой неделе\",\n    \"this_month\": \"В этом месяце\",\n    \"this_quarter\": \"Текущий квартал\",\n    \"this_year\": \"В этом году\",\n    \"previous_week\": \"Предыдущая неделя\",\n    \"previous_month\": \"Предыдущий месяц\",\n    \"previous_quarter\": \"Предыдущий квартал\",\n    \"previous_year\": \"Предыдущий год\",\n    \"custom\": \"Выбор\"\n  },\n  \"customers\": {\n    \"title\": \"Клиенты\",\n    \"prefix\": \"Префикс\",\n    \"add_customer\": \"Добавить клиента\",\n    \"contacts_list\": \"Список клиентов\",\n    \"name\": \"Имя\",\n    \"mail\": \"Письмо | Письма\",\n    \"statement\": \"Ведомость\",\n    \"display_name\": \"Отображать как\",\n    \"primary_contact_name\": \"Основной контакт\",\n    \"contact_name\": \"Имя контакта\",\n    \"amount_due\": \"Сумма\",\n    \"email\": \"Эл. почта\",\n    \"address\": \"Адрес\",\n    \"phone\": \"Телефон\",\n    \"website\": \"Сайт\",\n    \"overview\": \"Обзор\",\n    \"invoice_prefix\": \"Префикс счета\",\n    \"estimate_prefix\": \"Estimate Prefix\",\n    \"payment_prefix\": \"Префикс платежа\",\n    \"enable_portal\": \"Разрешить портал\",\n    \"country\": \"Страна\",\n    \"state\": \"Область\",\n    \"city\": \"Город\",\n    \"zip_code\": \"Почтовый индекс\",\n    \"added_on\": \"Добавлено\",\n    \"action\": \"Действие\",\n    \"password\": \"Пароль\",\n    \"confirm_password\": \"Подтвердить пароль\",\n    \"street_number\": \"Номер дома\",\n    \"primary_currency\": \"Основная валюта\",\n    \"description\": \"Описание\",\n    \"add_new_customer\": \"Добавить клиента\",\n    \"save_customer\": \"Сохранить клиента\",\n    \"update_customer\": \"Сохранить клиента\",\n    \"customer\": \"Клиент | Клиенты\",\n    \"new_customer\": \"New Клиент\",\n    \"edit_customer\": \"Редактировать клиента\",\n    \"basic_info\": \"Основное\",\n    \"portal_access\": \"Доступ к порталу\",\n    \"portal_access_text\": \"Хотите ли вы разрешить данному клиенту доступ к порталу для клиентов?\",\n    \"portal_access_url\": \"URL для входа на портал клиента\",\n    \"portal_access_url_help\": \"Пожалуйста, скопируйте и перешлите вышеуказанный URL вашему клиенту для предоставления доступа.\",\n    \"billing_address\": \"Адрес плательщика\",\n    \"shipping_address\": \"Адрес доставки\",\n    \"copy_billing_address\": \"Скопировать из биллинга\",\n    \"no_customers\": \"Список клиентов пуст!\",\n    \"no_customers_found\": \"Клиенты не найдены!\",\n    \"no_contact\": \"Контакт не указан\",\n    \"no_contact_name\": \"Пустое контактное имя\",\n    \"list_of_customers\": \"Этот раздел содержит список клиентов.\",\n    \"primary_display_name\": \"Основное имя\",\n    \"select_currency\": \"Выберите валюту\",\n    \"select_a_customer\": \"Выберите клиента\",\n    \"type_or_click\": \"Выберите клиента\",\n    \"new_transaction\": \"Новый перевод\",\n    \"no_matching_customers\": \"Клиенты не найдены!\",\n    \"phone_number\": \"Номер телефона\",\n    \"create_date\": \"Дата создания\",\n    \"confirm_delete\": \"Восстановление клиента вместе со всеми его оплатами, сметами и счетами-фактурами будет невозможно. | Восстановление клиентов вместе со всеми их оплатами, сметами и счетами-фактурами будет невозможно.\",\n    \"created_message\": \"Клиент добавлен\",\n    \"updated_message\": \"Клиент обновлён\",\n    \"address_updated_message\": \"Информация об адресе успешно обновлена\",\n    \"deleted_message\": \"Клиент удалён | Клиенты удалены\",\n    \"edit_currency_not_allowed\": \"Невозможно изменить валюту после создания транзакций.\"\n  },\n  \"items\": {\n    \"title\": \"Товары\",\n    \"items_list\": \"Список товаров\",\n    \"name\": \"Название\",\n    \"unit\": \"Ед.измерения\",\n    \"description\": \"Описание\",\n    \"added_on\": \"Добавлено\",\n    \"price\": \"Цена\",\n    \"date_of_creation\": \"Дата создания\",\n    \"not_selected\": \"Товар не выбран\",\n    \"action\": \"Действие\",\n    \"add_item\": \"Добавить товар\",\n    \"save_item\": \"Сохранить\",\n    \"update_item\": \"Сохранить\",\n    \"item\": \"Товар | Товары\",\n    \"add_new_item\": \"Добавить товар\",\n    \"new_item\": \"Новый товар\",\n    \"edit_item\": \"Редактировать\",\n    \"no_items\": \"Список пуст!\",\n    \"list_of_items\": \"Этот раздел содержит список товаров.\",\n    \"select_a_unit\": \"выберите товар\",\n    \"taxes\": \"Налоги\",\n    \"item_attached_message\": \"Нельзя удалить товар который используется\",\n    \"confirm_delete\": \"Восстановление товара будет невозможно | Восстановление товаров будет невозможно\",\n    \"created_message\": \"Товар создан\",\n    \"updated_message\": \"Товар обновлен\",\n    \"deleted_message\": \"Товар удален | Товары удалены\"\n  },\n  \"estimates\": {\n    \"title\": \"Заказы\",\n    \"accept_estimate\": \"Принять заказ\",\n    \"reject_estimate\": \"Отклонить заказ\",\n    \"estimate\": \"Заказ | Заказы\",\n    \"estimates_list\": \"Список заказов\",\n    \"days\": \"{days} дней\",\n    \"months\": \"{months} месяцев\",\n    \"years\": \"{years} годиков\",\n    \"all\": \"Все\",\n    \"paid\": \"Оплачено\",\n    \"unpaid\": \"Не оплачено\",\n    \"customer\": \"КЛИЕНТ\",\n    \"ref_no\": \"СЕРИЙНИК\",\n    \"number\": \"НОМЕР\",\n    \"amount_due\": \"К ОПЛАТЕ\",\n    \"partially_paid\": \"Частично оплачен\",\n    \"total\": \"Итого\",\n    \"discount\": \"Скидка\",\n    \"sub_total\": \"Промежуточный итог\",\n    \"estimate_number\": \"Номер заказа\",\n    \"ref_number\": \"Серийный номер\",\n    \"contact\": \"Контакт\",\n    \"add_item\": \"Добавить\",\n    \"date\": \"Дата\",\n    \"due_date\": \"Дата создания\",\n    \"expiry_date\": \"Истекает\",\n    \"status\": \"Статус\",\n    \"add_tax\": \"Добавить налог\",\n    \"amount\": \"Сумма\",\n    \"action\": \"Действие\",\n    \"notes\": \"Заметки\",\n    \"tax\": \"Налог\",\n    \"estimate_template\": \"Шаблон\",\n    \"convert_to_invoice\": \"Конвертировать в счет\",\n    \"mark_as_sent\": \"Пометить как Отправленный\",\n    \"send_estimate\": \"Отправить заказ\",\n    \"resend_estimate\": \"Переотправить заказ\",\n    \"record_payment\": \"Добавить платёж\",\n    \"add_estimate\": \"Добавить заказ\",\n    \"save_estimate\": \"Сохранить заказ\",\n    \"confirm_conversion\": \"Эта смета будет использоваться для создания нового счета-фактуры.\",\n    \"conversion_message\": \"Счет-фактура успешно создан\",\n    \"confirm_send_estimate\": \"Эта смета будет отправлена клиенту по электронной почте\",\n    \"confirm_mark_as_sent\": \"Эта смета будет помечена как отправленная\",\n    \"confirm_mark_as_accepted\": \"Эта смета будет помечена как Принятая\",\n    \"confirm_mark_as_rejected\": \"Эта смета будет помечена как Отклоненная\",\n    \"no_matching_estimates\": \"Нет соответствующих смет!\",\n    \"mark_as_sent_successfully\": \"Смета помечена как успешно отправленная\",\n    \"send_estimate_successfully\": \"Смета успешно отправлена\",\n    \"errors\": {\n      \"required\": \"Обязательное поле\"\n    },\n    \"accepted\": \"Принято\",\n    \"rejected\": \"Отклонено\",\n    \"expired\": \"Истёк\",\n    \"sent\": \"Отправлено\",\n    \"draft\": \"Черновик\",\n    \"viewed\": \"Просмотрено\",\n    \"declined\": \"Отказано\",\n    \"new_estimate\": \"Новый заказ\",\n    \"add_new_estimate\": \"Добавить новый заказ\",\n    \"update_Estimate\": \"Обновить заказ\",\n    \"edit_estimate\": \"Редактировать заказ\",\n    \"items\": \"товары\",\n    \"Estimate\": \"Заказ | Заказы\",\n    \"add_new_tax\": \"Добавить новый налог\",\n    \"no_estimates\": \"Пока заказов нет!\",\n    \"list_of_estimates\": \"Этот раздел содержит список заказов.\",\n    \"mark_as_rejected\": \"Пометить как отклонённый\",\n    \"mark_as_accepted\": \"Пометить как принятый\",\n    \"marked_as_accepted_message\": \"Помечен как принятый\",\n    \"marked_as_rejected_message\": \"Помечен как отклонённый\",\n    \"confirm_delete\": \"Вы не сможете восстановить эту смету | Вы не сможете восстановить эти сметы\",\n    \"created_message\": \"Заказ успешно создан\",\n    \"updated_message\": \"Заказ успешно сохранён\",\n    \"deleted_message\": \"Заказ успешно удалён | Заказы успешно удалены\",\n    \"something_went_wrong\": \"что-то пошло не так\",\n    \"item\": {\n      \"title\": \"Название товара\",\n      \"description\": \"Описание\",\n      \"quantity\": \"Кол-во\",\n      \"price\": \"Цена\",\n      \"discount\": \"Скидка\",\n      \"total\": \"Итого\",\n      \"total_discount\": \"Общая скидка\",\n      \"sub_total\": \"Промежуточный итог\",\n      \"tax\": \"Налог\",\n      \"amount\": \"Сумма\",\n      \"select_an_item\": \"Выберите товар\",\n      \"type_item_description\": \"Описание товара (необязательно)\"\n    },\n    \"mark_as_default_estimate_template_description\": \"Если включено, выбранный шаблон будет автоматически выбираться для новых заказов.\"\n  },\n  \"invoices\": {\n    \"title\": \"Счет-фактуры\",\n    \"download\": \"Загрузить\",\n    \"pay_invoice\": \"Оплатить счет\",\n    \"invoices_list\": \"Список счетов\",\n    \"invoice_information\": \"Информация о счете\",\n    \"days\": \"{days} дн.\",\n    \"months\": \"{months} мес.\",\n    \"years\": \"{years} г.\",\n    \"all\": \"Все\",\n    \"paid\": \"Оплачен\",\n    \"unpaid\": \"Неоплачен\",\n    \"viewed\": \"Просмотрен\",\n    \"overdue\": \"Просрочен\",\n    \"completed\": \"Выполнен\",\n    \"customer\": \"КЛИЕНТ\",\n    \"paid_status\": \"СТАТУС ПЛАТЕЖА\",\n    \"ref_no\": \"КОД.\",\n    \"number\": \"НОМЕР\",\n    \"amount_due\": \"К ОПЛАТЕ\",\n    \"partially_paid\": \"Частично оплачен\",\n    \"total\": \"Итого\",\n    \"discount\": \"Скидка\",\n    \"sub_total\": \"Промежуточный итог\",\n    \"invoice\": \"Счет-фактура | Счета\",\n    \"invoice_number\": \"Номер счета-фактуры\",\n    \"ref_number\": \"Серийный номер\",\n    \"contact\": \"Контакт\",\n    \"add_item\": \"Добавить элемент\",\n    \"date\": \"Дата\",\n    \"due_date\": \"Дата к оплате\",\n    \"status\": \"Статус\",\n    \"add_tax\": \"Добавить налог\",\n    \"amount\": \"Сумма\",\n    \"action\": \"Действие\",\n    \"notes\": \"Примечания\",\n    \"view\": \"Просмотр\",\n    \"send_invoice\": \"Отправить счёт\",\n    \"resend_invoice\": \"Повторно отправить счет\",\n    \"invoice_template\": \"Шаблон счета\",\n    \"conversion_message\": \"Счет успешно скопирован\",\n    \"template\": \"Шаблон\",\n    \"mark_as_sent\": \"Пометить как отправленное\",\n    \"confirm_send_invoice\": \"Этот счет будет отправлен клиенту по электронной почте\",\n    \"invoice_mark_as_sent\": \"Этот счет будет помечен как отправленный\",\n    \"confirm_mark_as_accepted\": \"Данный счет будет помечен как принятый\",\n    \"confirm_mark_as_rejected\": \"Данный счет будет помечен как отклоненный\",\n    \"confirm_send\": \"Этот счет будет отправлен клиенту по электронной почте\",\n    \"invoice_date\": \"Дата счета-фактуры\",\n    \"record_payment\": \"Добавить платёж\",\n    \"add_new_invoice\": \"Добавить новый счёт\",\n    \"update_expense\": \"Обновить расходы\",\n    \"edit_invoice\": \"Редактировать счет-фактуру\",\n    \"new_invoice\": \"Новый счет-фактура\",\n    \"save_invoice\": \"Сохранить счет\",\n    \"update_invoice\": \"Обновить счет\",\n    \"add_new_tax\": \"Добавить новый налог\",\n    \"no_invoices\": \"Пока нет счетов!\",\n    \"mark_as_rejected\": \"Пометить как отклонённый\",\n    \"mark_as_accepted\": \"Пометить как принятый\",\n    \"list_of_invoices\": \"Этот раздел будет содержать список счетов-фактур.\",\n    \"select_invoice\": \"Выберите счет\",\n    \"no_matching_invoices\": \"Нет соответствующих счетов!\",\n    \"mark_as_sent_successfully\": \"Счет помечен как успешно отправленный\",\n    \"invoice_sent_successfully\": \"Счет-фактура успешно отправлен\",\n    \"cloned_successfully\": \"Счет успешно клонирован\",\n    \"clone_invoice\": \"Клонировать счет\",\n    \"confirm_clone\": \"Этот счет будет клонирован в новый счет\",\n    \"item\": {\n      \"title\": \"Название товара\",\n      \"description\": \"Описание\",\n      \"quantity\": \"Кол-во\",\n      \"price\": \"Цена\",\n      \"discount\": \"Скидка\",\n      \"total\": \"Итого\",\n      \"total_discount\": \"Общая скидка\",\n      \"sub_total\": \"Промежуточный итог\",\n      \"tax\": \"Налог\",\n      \"amount\": \"Сумма\",\n      \"select_an_item\": \"Выберите товар\",\n      \"type_item_description\": \"Описание товара (необязательно)\"\n    },\n    \"payment_attached_message\": \"К одному из выбранных счетов уже прикреплен платеж. Для удаления сначала удалите прикрепленные платежи\",\n    \"confirm_delete\": \"Восстановление данного счета будет невозможно | Восстановление данного счета будет невозможно\",\n    \"created_message\": \"Счет-фактура успешно создан\",\n    \"updated_message\": \"Счет-фактура успешно обновлен\",\n    \"deleted_message\": \"Счет успешно удален | Счета успешно удалены\",\n    \"marked_as_sent_message\": \"Счет помечен как успешно отправленный\",\n    \"something_went_wrong\": \"что-то пошло не так\",\n    \"invalid_due_amount_message\": \"Итоговая сумма счета не может быть меньше оплаченной суммы по данному счету. Пожалуйста, обновите счет или удалите связанные с ним платежи, чтобы продолжить.\",\n    \"mark_as_default_invoice_template_description\": \"Если включено, выбранный шаблон будет автоматически выбираться для новых счетов.\"\n  },\n  \"recurring_invoices\": {\n    \"title\": \"Recurring Invoices\",\n    \"invoices_list\": \"Recurring Invoices List\",\n    \"days\": \"{days} Дней\",\n    \"months\": \"{months} Месяц\",\n    \"years\": \"{years} Год\",\n    \"all\": \"Все\",\n    \"paid\": \"Оплачено\",\n    \"unpaid\": \"Не оплачено\",\n    \"viewed\": \"Просмотрено\",\n    \"overdue\": \"Просрочен\",\n    \"active\": \"Активный\",\n    \"completed\": \"Выполнен\",\n    \"customer\": \"КЛИЕНТ\",\n    \"paid_status\": \"СТАТУС ПЛАТЕЖА\",\n    \"ref_no\": \"REF NO.\",\n    \"number\": \"НОМЕР\",\n    \"amount_due\": \"К ОПЛАТЕ\",\n    \"partially_paid\": \"Частично оплачен\",\n    \"total\": \"Итого\",\n    \"discount\": \"Скидка\",\n    \"sub_total\": \"Промежуточный итог\",\n    \"invoice\": \"Recurring Invoice | Recurring Invoices\",\n    \"invoice_number\": \"Recurring Invoice Number\",\n    \"next_invoice_date\": \"Дата следующего счета\",\n    \"ref_number\": \"Ref Number\",\n    \"contact\": \"Контакты\",\n    \"add_item\": \"Добавить элемент\",\n    \"date\": \"Дата\",\n    \"limit_by\": \"Limit by\",\n    \"limit_date\": \"Limit Date\",\n    \"limit_count\": \"Limit Count\",\n    \"count\": \"Количество\",\n    \"status\": \"Статус\",\n    \"select_a_status\": \"Выбрать статус\",\n    \"working\": \"В процессе\",\n    \"on_hold\": \"На удержании\",\n    \"complete\": \"Завершено\",\n    \"add_tax\": \"Добавить налог\",\n    \"amount\": \"Сумма\",\n    \"action\": \"Действие\",\n    \"notes\": \"Заметки\",\n    \"view\": \"Просмотр\",\n    \"basic_info\": \"Общая информация\",\n    \"send_invoice\": \"Send Recurring Invoice\",\n    \"auto_send\": \"Автоотправка\",\n    \"resend_invoice\": \"Resend Recurring Invoice\",\n    \"invoice_template\": \"Recurring Invoice Template\",\n    \"conversion_message\": \"Recurring Invoice cloned successful\",\n    \"template\": \"Шаблон\",\n    \"mark_as_sent\": \"Пометить как отправленное\",\n    \"confirm_send_invoice\": \"This recurring invoice will be sent via email to the customer\",\n    \"invoice_mark_as_sent\": \"This recurring invoice will be marked as sent\",\n    \"confirm_send\": \"This recurring invoice will be sent via email to the customer\",\n    \"starts_at\": \"Дата начала\",\n    \"due_date\": \"Срок оплаты счёта\",\n    \"record_payment\": \"Добавить платёж\",\n    \"add_new_invoice\": \"Добавить новый повторяющийся счет\",\n    \"update_expense\": \"Update Expense\",\n    \"edit_invoice\": \"Edit Recurring Invoice\",\n    \"new_invoice\": \"New Recurring Invoice\",\n    \"send_automatically\": \"Send Automatically\",\n    \"send_automatically_desc\": \"Enable this, if you would like to send the invoice automatically to the customer when its created.\",\n    \"save_invoice\": \"Save Recurring Invoice\",\n    \"update_invoice\": \"Update Recurring Invoice\",\n    \"add_new_tax\": \"Add New Tax\",\n    \"no_invoices\": \"No Recurring Invoices yet!\",\n    \"mark_as_rejected\": \"Mark as rejected\",\n    \"mark_as_accepted\": \"Mark as accepted\",\n    \"list_of_invoices\": \"This section will contain the list of recurring invoices.\",\n    \"select_invoice\": \"Select Invoice\",\n    \"no_matching_invoices\": \"There are no matching recurring invoices!\",\n    \"mark_as_sent_successfully\": \"Recurring Invoice marked as sent successfully\",\n    \"invoice_sent_successfully\": \"Recurring Invoice sent successfully\",\n    \"cloned_successfully\": \"Recurring Invoice cloned successfully\",\n    \"clone_invoice\": \"Clone Recurring Invoice\",\n    \"confirm_clone\": \"This recurring invoice will be cloned into a new Recurring Invoice\",\n    \"add_customer_email\": \"Пожалуйста, добавьте адрес электронной почты для этого клиента, чтобы отправлять счета автоматически.\",\n    \"item\": {\n      \"title\": \"Название товара\",\n      \"description\": \"Описание\",\n      \"quantity\": \"Кол-во\",\n      \"price\": \"Цена\",\n      \"discount\": \"Скидка\",\n      \"total\": \"Итого\",\n      \"total_discount\": \"Total Discount\",\n      \"sub_total\": \"Sub Total\",\n      \"tax\": \"Tax\",\n      \"amount\": \"Amount\",\n      \"select_an_item\": \"Type or click to select an item\",\n      \"type_item_description\": \"Type Item Description (optional)\"\n    },\n    \"frequency\": {\n      \"title\": \"Frequency\",\n      \"select_frequency\": \"Select Frequency\",\n      \"minute\": \"Minute\",\n      \"hour\": \"Hour\",\n      \"day_month\": \"Day of month\",\n      \"month\": \"Месяц\",\n      \"day_week\": \"День недели\"\n    },\n    \"confirm_delete\": \"You will not be able to recover this Invoice | You will not be able to recover these Invoices\",\n    \"created_message\": \"Recurring Invoice created successfully\",\n    \"updated_message\": \"Recurring Invoice updated successfully\",\n    \"deleted_message\": \"Recurring Invoice deleted successfully | Recurring Invoices deleted successfully\",\n    \"marked_as_sent_message\": \"Recurring Invoice marked as sent successfully\",\n    \"user_email_does_not_exist\": \"Адрес электронной почты пользователя не найден\",\n    \"something_went_wrong\": \"что-то пошло не так\",\n    \"invalid_due_amount_message\": \"Total Recurring Invoice amount cannot be less than total paid amount for this Recurring Invoice. Please update the invoice or delete the associated payments to continue.\"\n  },\n  \"payments\": {\n    \"title\": \"Платежи\",\n    \"payments_list\": \"Список платежей\",\n    \"record_payment\": \"Добавить платёж\",\n    \"customer\": \"Клиент\",\n    \"date\": \"Дата\",\n    \"amount\": \"Сумма\",\n    \"action\": \"Действие\",\n    \"payment_number\": \"Номер платежа\",\n    \"payment_mode\": \"Режим платежа\",\n    \"invoice\": \"Счет-фактура\",\n    \"note\": \"Примечание\",\n    \"add_payment\": \"Добавить платеж\",\n    \"new_payment\": \"Новый платеж\",\n    \"edit_payment\": \"Редактировать платеж\",\n    \"view_payment\": \"Показать платеж\",\n    \"add_new_payment\": \"Добавить новый платеж\",\n    \"send_payment_receipt\": \"Отправить квитанцию на оплату\",\n    \"send_payment\": \"Отправить платеж\",\n    \"save_payment\": \"Сохранить платеж\",\n    \"update_payment\": \"Обновить платеж\",\n    \"payment\": \"Платеж | Платежи\",\n    \"no_payments\": \"Пока платежей нет!\",\n    \"not_selected\": \"Ничего не выбрано\",\n    \"no_invoice\": \"Нет счета-фактуры\",\n    \"no_matching_payments\": \"Нет совпадающих платежей!\",\n    \"list_of_payments\": \"В этом разделе будет показан список платежей.\",\n    \"select_payment_mode\": \"Выберите способ оплаты\",\n    \"confirm_mark_as_sent\": \"Эта смета будет помечена как отправленная\",\n    \"confirm_send_payment\": \"Этот платеж будет отправлен клиенту по электронной почте\",\n    \"send_payment_successfully\": \"Платеж успешно отправлен\",\n    \"something_went_wrong\": \"Упс... что-то пошло не так\",\n    \"confirm_delete\": \"Вы не сможете восстановить этот платеж | Вы не сможете восстановить эти платежи\",\n    \"created_message\": \"Платеж успешно создан\",\n    \"updated_message\": \"Платеж успешно обновлен\",\n    \"deleted_message\": \"Платеж успешно удален | Платежи успешно удалены\",\n    \"invalid_amount_message\": \"Некорректная сумма платежа\"\n  },\n  \"expenses\": {\n    \"title\": \"Расходы\",\n    \"expenses_list\": \"Список расходов\",\n    \"select_a_customer\": \"Выберите клиента\",\n    \"expense_title\": \"Заголовок\",\n    \"customer\": \"Клиент\",\n    \"currency\": \"Валюта\",\n    \"contact\": \"Контакт\",\n    \"category\": \"Категория\",\n    \"from_date\": \"От даты\",\n    \"to_date\": \"До даты\",\n    \"expense_date\": \"Дата\",\n    \"description\": \"Описание\",\n    \"receipt\": \"Квитанция\",\n    \"amount\": \"Сумма\",\n    \"action\": \"Действие\",\n    \"not_selected\": \"Не выбрано\",\n    \"note\": \"Примечание\",\n    \"category_id\": \"Id категории\",\n    \"date\": \"Дата\",\n    \"add_expense\": \"Добавить расход\",\n    \"add_new_expense\": \"Добавить новый расход\",\n    \"save_expense\": \"Сохранить расход\",\n    \"update_expense\": \"Обновить расход\",\n    \"download_receipt\": \"Скачать чек\",\n    \"edit_expense\": \"Редактировать расход\",\n    \"new_expense\": \"Новый расход\",\n    \"expense\": \"Расход | Расходы\",\n    \"no_expenses\": \"No expenses yet!\",\n    \"list_of_expenses\": \"В этом разделе будет содержаться список расходов.\",\n    \"confirm_delete\": \"You will not be able to recover this Expense | You will not be able to recover these Expenses\",\n    \"created_message\": \"Расход создан успешно\",\n    \"updated_message\": \"Расход успешно обновлен\",\n    \"deleted_message\": \"Расход успешно удален | Расходы успешно удалены\",\n    \"categories\": {\n      \"categories_list\": \"Список категорий\",\n      \"title\": \"Заголовок\",\n      \"name\": \"Название\",\n      \"description\": \"Описание\",\n      \"amount\": \"Сумма\",\n      \"actions\": \"Действия\",\n      \"add_category\": \"Добавить категорию\",\n      \"new_category\": \"Новая категория\",\n      \"category\": \"Категория | Категории\",\n      \"select_a_category\": \"Выберите категорию\"\n    }\n  },\n  \"login\": {\n    \"email\": \"Эл. почта\",\n    \"password\": \"Пароль\",\n    \"forgot_password\": \"Забыли пароль?\",\n    \"or_signIn_with\": \"или войдите с помощью\",\n    \"login\": \"Вход\",\n    \"register\": \"Регистрация\",\n    \"reset_password\": \"Сброс пароля\",\n    \"password_reset_successfully\": \"Пароль успешно обновлен\",\n    \"enter_email\": \"Введите адрес электронной почты\",\n    \"enter_password\": \"Пароль\",\n    \"retype_password\": \"Повторите пароль\"\n  },\n  \"modules\": {\n    \"buy_now\": \"Купить\",\n    \"install\": \"Установить\",\n    \"price\": \"Цена\",\n    \"download_zip_file\": \"Скачать ZIP-файл\",\n    \"unzipping_package\": \"Распаковка пакета\",\n    \"copying_files\": \"Копирование файлов\",\n    \"deleting_files\": \"Удаление неиспользуемых файлов\",\n    \"completing_installation\": \"Завершение установки\",\n    \"update_failed\": \"Не удалось обновить\",\n    \"install_success\": \"Модуль успешно установлен!\",\n    \"customer_reviews\": \"Отзывы\",\n    \"license\": \"Лицензия\",\n    \"faq\": \"Часто задаваемые вопросы\",\n    \"monthly\": \"Ежемесячно\",\n    \"yearly\": \"Ежегодно\",\n    \"updated\": \"Обновлено\",\n    \"version\": \"Версия\",\n    \"disable\": \"Отключить\",\n    \"module_disabled\": \"Модуль отключен\",\n    \"enable\": \"Включить\",\n    \"module_enabled\": \"Модуль включен\",\n    \"update_to\": \"Обновить до\",\n    \"module_updated\": \"Модуль успешно обновлен!\",\n    \"title\": \"Модули\",\n    \"module\": \"Модуль | Модули\",\n    \"api_token\": \"API-токен\",\n    \"invalid_api_token\": \"Неверный API-токен.\",\n    \"other_modules\": \"Другие модули\",\n    \"view_all\": \"Показать всё\",\n    \"no_reviews_found\": \"Для данного модуля пока нет отзывов!\",\n    \"module_not_purchased\": \"Модуль не приобретен\",\n    \"module_not_found\": \"Модуль не найден\",\n    \"version_not_supported\": \"This module version doesn't support the current version of Crater\",\n    \"last_updated\": \"Последнее обновление\",\n    \"connect_installation\": \"Connect your installation\",\n    \"api_token_description\": \"Login to {url} and connect this installation by entering the API Token. Your purchased modules will show up here after the connection is established.\",\n    \"view_module\": \"View Module\",\n    \"update_available\": \"Update Available\",\n    \"purchased\": \"Purchased\",\n    \"installed\": \"Installed\",\n    \"no_modules_installed\": \"No Modules Installed Yet!\",\n    \"disable_warning\": \"All the settings for this particular will be reverted.\",\n    \"what_you_get\": \"What you get\"\n  },\n  \"users\": {\n    \"title\": \"Пользователи\",\n    \"users_list\": \"Список пользователей\",\n    \"name\": \"Имя\",\n    \"description\": \"Описание\",\n    \"added_on\": \"Добавлен\",\n    \"date_of_creation\": \"Дата создания\",\n    \"action\": \"Действие\",\n    \"add_user\": \"Добавить пользователя\",\n    \"save_user\": \"Сохранить пользователя\",\n    \"update_user\": \"Обновить пользователя\",\n    \"user\": \"User | Пользователи\",\n    \"add_new_user\": \"Добавить нового пользователя\",\n    \"new_user\": \"Новый пользователь\",\n    \"edit_user\": \"Редактировать пользователя\",\n    \"no_users\": \"Еще нет пользователей!\",\n    \"list_of_users\": \"Этот раздел будет содержать список пользователей.\",\n    \"email\": \"Эл. почта\",\n    \"phone\": \"Телефон\",\n    \"password\": \"Пароль\",\n    \"user_attached_message\": \"Нельзя удалить элемент, который уже используется\",\n    \"confirm_delete\": \"Вы не сможете восстановить этого пользователя | Вы не сможете восстановить этих пользователей\",\n    \"created_message\": \"Пользователь успешно создан\",\n    \"updated_message\": \"Пользователь успешно обновлен\",\n    \"deleted_message\": \"Пользователь успешно удален | Пользователи успешно удалены\",\n    \"select_company_role\": \"Select Role for {company}\",\n    \"companies\": \"Компании\"\n  },\n  \"reports\": {\n    \"title\": \"Отчёт\",\n    \"from_date\": \"От даты\",\n    \"to_date\": \"До даты\",\n    \"status\": \"Статус\",\n    \"paid\": \"Оплачен\",\n    \"unpaid\": \"Неоплачен\",\n    \"download_pdf\": \"Скачать PDF\",\n    \"view_pdf\": \"Показать PDF\",\n    \"update_report\": \"Обновить отчёт\",\n    \"report\": \"Отчёт | Отчёты\",\n    \"profit_loss\": {\n      \"profit_loss\": \"Доходы и расходы\",\n      \"to_date\": \"До даты\",\n      \"from_date\": \"От даты\",\n      \"date_range\": \"Выберите диапазон дат\"\n    },\n    \"sales\": {\n      \"sales\": \"Продажи\",\n      \"date_range\": \"Выберите диапазон дат\",\n      \"to_date\": \"До даты\",\n      \"from_date\": \"От даты\",\n      \"report_type\": \"Тип отчёта\"\n    },\n    \"taxes\": {\n      \"taxes\": \"Налоги\",\n      \"to_date\": \"До даты\",\n      \"from_date\": \"От даты\",\n      \"date_range\": \"Выберите диапазон дат\"\n    },\n    \"errors\": {\n      \"required\": \"Обязательное поле\"\n    },\n    \"invoices\": {\n      \"invoice\": \"Счет-фактура\",\n      \"invoice_date\": \"Дата счета-фактуры\",\n      \"due_date\": \"Дата к оплате\",\n      \"amount\": \"Сумма\",\n      \"contact_name\": \"Контактное лицо\",\n      \"status\": \"Статус\"\n    },\n    \"estimates\": {\n      \"estimate\": \"Заказ\",\n      \"estimate_date\": \"Дата заказа\",\n      \"due_date\": \"Дата к оплате\",\n      \"estimate_number\": \"Номер заказа\",\n      \"ref_number\": \"Серийный номер\",\n      \"amount\": \"Сумма\",\n      \"contact_name\": \"Контактное лицо\",\n      \"status\": \"Статус\"\n    },\n    \"expenses\": {\n      \"expenses\": \"Расходы\",\n      \"category\": \"Категория\",\n      \"date\": \"Дата\",\n      \"amount\": \"Сумма\",\n      \"to_date\": \"До даты\",\n      \"from_date\": \"От даты\",\n      \"date_range\": \"Выберите диапазон дат\"\n    }\n  },\n  \"settings\": {\n    \"menu_title\": {\n      \"account_settings\": \"Настройки учётной записи\",\n      \"company_information\": \"Информация о компании\",\n      \"customization\": \"Настройки\",\n      \"preferences\": \"Установки\",\n      \"notifications\": \"Уведомления\",\n      \"tax_types\": \"Виды налогов\",\n      \"expense_category\": \"Категории расходов\",\n      \"update_app\": \"Обновить приложение\",\n      \"backup\": \"Резервное копирование\",\n      \"file_disk\": \"Диск\",\n      \"custom_fields\": \"Пользовательские поля\",\n      \"payment_modes\": \"Формы оплаты\",\n      \"notes\": \"Заметки\",\n      \"exchange_rate\": \"Exchange Rate\",\n      \"address_information\": \"Address Information\"\n    },\n    \"address_information\": {\n      \"section_description\": \"  You can update Your Address information using form below.\"\n    },\n    \"title\": \"Настройки\",\n    \"setting\": \"Настройки | Настройки\",\n    \"general\": \"Общая информация\",\n    \"language\": \"Язык\",\n    \"primary_currency\": \"Основная валюта\",\n    \"timezone\": \"Часовой пояс\",\n    \"date_format\": \"Формат даты\",\n    \"currencies\": {\n      \"title\": \"Валюты\",\n      \"currency\": \"Валюта | Валюты\",\n      \"currencies_list\": \"Список валют\",\n      \"select_currency\": \"Выберите валюту\",\n      \"name\": \"Название\",\n      \"code\": \"Код\",\n      \"symbol\": \"Символ\",\n      \"precision\": \"Округление\",\n      \"thousand_separator\": \"Разделитель тысяч\",\n      \"decimal_separator\": \"Десятичный разделитель\",\n      \"position\": \"Расположение\",\n      \"position_of_symbol\": \"Расположение символа\",\n      \"right\": \"Справа\",\n      \"left\": \"Слева\",\n      \"action\": \"Действие\",\n      \"add_currency\": \"Добавить валюту\"\n    },\n    \"mail\": {\n      \"host\": \"Почтовый сервер\",\n      \"port\": \"Порт\",\n      \"driver\": \"Сервис отправки почты\",\n      \"secret\": \"Secret\",\n      \"mailgun_secret\": \"Mailgun Secret\",\n      \"mailgun_domain\": \"Domain\",\n      \"mailgun_endpoint\": \"Mailgun Endpoint\",\n      \"ses_secret\": \"SES Secret\",\n      \"ses_key\": \"SES Key\",\n      \"password\": \"Пароль\",\n      \"username\": \"Имя пользователя\",\n      \"mail_config\": \"Настройки почты\",\n      \"from_name\": \"От имени\",\n      \"from_mail\": \"От адреса\",\n      \"encryption\": \"Тип шифрования\",\n      \"mail_config_desc\": \"Ниже приведена форма настройки электронной почты для отправки писем из приложения. Вы также можете настроить сторонние сервисы отправки почты, такие как Sendgrid, SES и т.д. \"\n    },\n    \"pdf\": {\n      \"title\": \"Настройки PDF\",\n      \"footer_text\": \"Текст нижнего колонтитула\",\n      \"pdf_layout\": \"Формат PDF\"\n    },\n    \"company_info\": {\n      \"company_info\": \"Информация о компании\",\n      \"company_name\": \"Название компании\",\n      \"company_logo\": \"Символ компании\",\n      \"section_description\": \"Информация о вашей компании, которая будет отображаться на счетах, сметах и других документах, созданных системой Crater.\",\n      \"phone\": \"Телефон\",\n      \"country\": \"Страна\",\n      \"state\": \"Область\",\n      \"city\": \"Город\",\n      \"address\": \"Адрес\",\n      \"zip\": \"Индекс\",\n      \"save\": \"Сохранить\",\n      \"delete\": \"Удалить\",\n      \"updated_message\": \"Информация о компании успешно обновлена\",\n      \"delete_company\": \"Удалить компанию\",\n      \"delete_company_description\": \"Once you delete your company, you will lose all the data and files associated with it permanently.\",\n      \"are_you_absolutely_sure\": \"Вы уверены?\",\n      \"delete_company_modal_desc\": \"This action cannot be undone. This will permanently delete {company} and all of its associated data.\",\n      \"delete_company_modal_label\": \"Пожалуйста, введите {company} для подтверждения\"\n    },\n    \"custom_fields\": {\n      \"title\": \"Пользовательские поля\",\n      \"section_description\": \"Customize your Invoices, Estimates & Payment Receipts with your own fields. Make sure to use the below added fields on the address formats on Customization settings page.\",\n      \"add_custom_field\": \"Add Custom Field\",\n      \"edit_custom_field\": \"Edit Custom Field\",\n      \"field_name\": \"Field Name\",\n      \"label\": \"Метка\",\n      \"type\": \"Тип\",\n      \"name\": \"Название\",\n      \"slug\": \"Slug\",\n      \"required\": \"Обязательно для заполнения\",\n      \"placeholder\": \"Placeholder\",\n      \"help_text\": \"Справка\",\n      \"default_value\": \"Default Value\",\n      \"prefix\": \"Prefix\",\n      \"starting_number\": \"Starting Number\",\n      \"model\": \"Model\",\n      \"help_text_description\": \"Enter some text to help users understand the purpose of this custom field.\",\n      \"suffix\": \"Suffix\",\n      \"yes\": \"Да\",\n      \"no\": \"Нет\",\n      \"order\": \"Order\",\n      \"custom_field_confirm_delete\": \"You will not be able to recover this Custom Field\",\n      \"already_in_use\": \"Custom Field is already in use\",\n      \"deleted_message\": \"Custom Field deleted successfully\",\n      \"options\": \"параметры\",\n      \"add_option\": \"Add Options\",\n      \"add_another_option\": \"Add another option\",\n      \"sort_in_alphabetical_order\": \"Sort in Alphabetical Order\",\n      \"add_options_in_bulk\": \"Add options in bulk\",\n      \"use_predefined_options\": \"Use Predefined Options\",\n      \"select_custom_date\": \"Выберите произвольную дату\",\n      \"select_relative_date\": \"Выберите относительную дату\",\n      \"ticked_by_default\": \"Отмечен по умолчанию\",\n      \"updated_message\": \"Пользовательское поле успешно обновлено\",\n      \"added_message\": \"Пользовательское поле успешно добавлено\",\n      \"press_enter_to_add\": \"Нажмите ввод для добавления новой опции\",\n      \"model_in_use\": \"Невозможно обновить модель для полей, которые уже используются.\",\n      \"type_in_use\": \"Невозможно обновить тип для полей, которые уже используются.\"\n    },\n    \"customization\": {\n      \"customization\": \"персонализация\",\n      \"updated_message\": \"Информация о компании успешно обновлена\",\n      \"save\": \"Сохранить\",\n      \"insert_fields\": \"Вставить поля\",\n      \"learn_custom_format\": \"Learn how to use custom format\",\n      \"add_new_component\": \"Добавить компонент\",\n      \"component\": \"Компонент\",\n      \"Parameter\": \"Параметр\",\n      \"series\": \"Series\",\n      \"series_description\": \"To set a static prefix/postfix like 'INV' across your company. It supports character length of up to 6 chars.\",\n      \"series_param_label\": \"Series Value\",\n      \"delimiter\": \"Разделитель\",\n      \"delimiter_description\": \"Символ для обозначения границы между двумя компонентами. По умолчанию имеет значение -\",\n      \"delimiter_param_label\": \"Разделитель\",\n      \"date_format\": \"Формат даты\",\n      \"date_format_description\": \"A local date and time field which accepts a format parameter. The default format: 'Y' renders the current year.\",\n      \"date_format_param_label\": \"Формат\",\n      \"sequence\": \"Последовательность\",\n      \"sequence_description\": \"Consecutive sequence of numbers across your company. You can specify the length on the given parameter.\",\n      \"sequence_param_label\": \"Длина последовательности\",\n      \"customer_series\": \"Customer Series\",\n      \"customer_series_description\": \"Установить отдельный префикс/постфикс для каждого клиента.\",\n      \"customer_sequence\": \"Customer Sequence\",\n      \"customer_sequence_description\": \"Consecutive sequence of numbers for each of your customer.\",\n      \"customer_sequence_param_label\": \"Длина последовательности\",\n      \"random_sequence\": \"Случайная последовательность\",\n      \"random_sequence_description\": \"Произвольная буквенно-цифровая строка. Вы можете указать длину в качестве параметра.\",\n      \"random_sequence_param_label\": \"Длина последовательности\",\n      \"invoices\": {\n        \"title\": \"Счет-фактуры\",\n        \"invoice_number_format\": \"Формат номера счета\",\n        \"invoice_number_format_description\": \"Customize how your invoice number gets generated automatically when you create a new invoice.\",\n        \"preview_invoice_number\": \"Предосмотр номера счета\",\n        \"due_date\": \"Due Date\",\n        \"due_date_description\": \"Specify how due date is automatically set when you create an invoice.\",\n        \"due_date_days\": \"Invoice Due after days\",\n        \"set_due_date_automatically\": \"Set Due Date Automatically\",\n        \"set_due_date_automatically_description\": \"Enable this if you wish to set due date automatically when you create a new invoice.\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on invoice creation.\",\n        \"default_invoice_email_body\": \"Тело письма счета по умолчанию\",\n        \"company_address_format\": \"Формат адреса компании\",\n        \"shipping_address_format\": \"Формат адреса доставки\",\n        \"billing_address_format\": \"Формат адреса для выставления счетов\",\n        \"invoice_email_attachment\": \"Отправить счета-фактуры как вложения\",\n        \"invoice_email_attachment_setting_description\": \"Включите, если вы хотите отправлять счета-фактуры как вложение по электронной почте. Пожалуйста, обратите внимание, что кнопка «Просмотр счета» в письмах больше не будет отображаться, если включено.\",\n        \"invoice_settings_updated\": \"Invoice Settings updated successfully\",\n        \"retrospective_edits\": \"Retrospective Edits\",\n        \"allow\": \"Разрешить\",\n        \"disable_on_invoice_partial_paid\": \"Disable after partial payment is recorded\",\n        \"disable_on_invoice_paid\": \"Disable after full payment is recorded\",\n        \"disable_on_invoice_sent\": \"Disable after invoice is sent\",\n        \"retrospective_edits_description\": \" Based on your country's laws or your preference, you can restrict users from editing finalised invoices.\"\n      },\n      \"estimates\": {\n        \"title\": \"Сметы\",\n        \"estimate_number_format\": \"Estimate Number Format\",\n        \"estimate_number_format_description\": \"Customize how your estimate number gets generated automatically when you create a new estimate.\",\n        \"preview_estimate_number\": \"Preview Estimate Number\",\n        \"expiry_date\": \"Expiry Date\",\n        \"expiry_date_description\": \"Specify how expiry date is automatically set when you create an estimate.\",\n        \"expiry_date_days\": \"Estimate Expires after days\",\n        \"set_expiry_date_automatically\": \"Set Expiry Date Automatically\",\n        \"set_expiry_date_automatically_description\": \"Enable this if you wish to set expiry date automatically when you create a new estimate.\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on estimate creation.\",\n        \"default_estimate_email_body\": \"Тело письма сметы по умолчанию\",\n        \"company_address_format\": \"Company Address Format\",\n        \"shipping_address_format\": \"Shipping Address Format\",\n        \"billing_address_format\": \"Billing Address Format\",\n        \"estimate_email_attachment\": \"Send estimates as attachments\",\n        \"estimate_email_attachment_setting_description\": \"Enable this if you want to send the estimates as an email attachment. Please note that 'View Estimate' button in emails will not be displayed anymore when enabled.\",\n        \"estimate_settings_updated\": \"Estimate Settings updated successfully\",\n        \"convert_estimate_options\": \"Estimate Convert Action\",\n        \"convert_estimate_description\": \"Specify what happens to the estimate after it gets converted to an invoice.\",\n        \"no_action\": \"No action\",\n        \"delete_estimate\": \"Delete estimate\",\n        \"mark_estimate_as_accepted\": \"Mark estimate as accepted\"\n      },\n      \"payments\": {\n        \"title\": \"Платежи\",\n        \"payment_number_format\": \"Payment Number Format\",\n        \"payment_number_format_description\": \"Customize how your payment number gets generated automatically when you create a new payment.\",\n        \"preview_payment_number\": \"Preview Payment Number\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on payment creation.\",\n        \"default_payment_email_body\": \"Default Payment Email Body\",\n        \"company_address_format\": \"Формат адреса компании\",\n        \"from_customer_address_format\": \"From Customer Address Format\",\n        \"payment_email_attachment\": \"Send payments as attachments\",\n        \"payment_email_attachment_setting_description\": \"Enable this if you want to send the payment receipts as an email attachment. Please note that 'View Payment' button in emails will not be displayed anymore when enabled.\",\n        \"payment_settings_updated\": \"Payment Settings updated successfully\"\n      },\n      \"items\": {\n        \"title\": \"Товары\",\n        \"units\": \"Единицы измерения\",\n        \"add_item_unit\": \"Add Item Unit\",\n        \"edit_item_unit\": \"Edit Item Unit\",\n        \"unit_name\": \"Unit Name\",\n        \"item_unit_added\": \"Item Unit Added\",\n        \"item_unit_updated\": \"Item Unit Updated\",\n        \"item_unit_confirm_delete\": \"You will not be able to recover this Item unit\",\n        \"already_in_use\": \"Item Unit is already in use\",\n        \"deleted_message\": \"Item Unit deleted successfully\"\n      },\n      \"notes\": {\n        \"title\": \"Заметки\",\n        \"description\": \"Save time by creating notes and reusing them on your invoices, estimates & payments.\",\n        \"notes\": \"Заметки\",\n        \"type\": \"Тип\",\n        \"add_note\": \"Add Note\",\n        \"add_new_note\": \"Add New Note\",\n        \"name\": \"Название\",\n        \"edit_note\": \"Edit Note\",\n        \"note_added\": \"Note added successfully\",\n        \"note_updated\": \"Note Updated successfully\",\n        \"note_confirm_delete\": \"You will not be able to recover this Note\",\n        \"already_in_use\": \"Note is already in use\",\n        \"deleted_message\": \"Note deleted successfully\"\n      }\n    },\n    \"account_settings\": {\n      \"profile_picture\": \"Profile Picture\",\n      \"name\": \"Имя\",\n      \"email\": \"Email\",\n      \"password\": \"Пароль\",\n      \"confirm_password\": \"Confirm Пароль\",\n      \"account_settings\": \"Account Settings\",\n      \"save\": \"Сохранить\",\n      \"section_description\": \"You can update your name, email & password using the form below.\",\n      \"updated_message\": \"Account Settings updated successfully\"\n    },\n    \"user_profile\": {\n      \"name\": \"Имя\",\n      \"email\": \"Email\",\n      \"password\": \"Пароль\",\n      \"confirm_password\": \"Подтвердить пароль\"\n    },\n    \"notification\": {\n      \"title\": \"Notifications\",\n      \"email\": \"Send Notifications to\",\n      \"description\": \"Which email notifications would you like to receive when something changes?\",\n      \"invoice_viewed\": \"Счет просмотрен\",\n      \"invoice_viewed_desc\": \"Когда клиент просматривает счет, отправленный через панель управления.\",\n      \"estimate_viewed\": \"Estimate viewed\",\n      \"estimate_viewed_desc\": \"When your customer views the estimate sent via crater dashboard.\",\n      \"save\": \"Сохранить\",\n      \"email_save_message\": \"Email saved successfully\",\n      \"please_enter_email\": \"Введите Email\"\n    },\n    \"roles\": {\n      \"title\": \"Roles\",\n      \"description\": \"Manage the roles & permissions of this company\",\n      \"save\": \"Save\",\n      \"add_new_role\": \"Add New Role\",\n      \"role_name\": \"Role Name\",\n      \"added_on\": \"Added on\",\n      \"add_role\": \"Add Role\",\n      \"edit_role\": \"Edit Role\",\n      \"name\": \"Name\",\n      \"permission\": \"Permission | Permissions\",\n      \"select_all\": \"Select All\",\n      \"none\": \"None\",\n      \"confirm_delete\": \"You will not be able to recover this Role\",\n      \"created_message\": \"Role created successfully\",\n      \"updated_message\": \"Role updated successfully\",\n      \"deleted_message\": \"Role deleted successfully\",\n      \"already_in_use\": \"Role is already in use\"\n    },\n    \"exchange_rate\": {\n      \"exchange_rate\": \"Exchange Rate\",\n      \"title\": \"Fix Currency Exchange issues\",\n      \"description\": \"Please enter exchange rate of all the currencies mentioned below to help Crater properly calculate the amounts in {currency}.\",\n      \"drivers\": \"Drivers\",\n      \"new_driver\": \"Add New Provider\",\n      \"edit_driver\": \"Edit Provider\",\n      \"select_driver\": \"Select Driver\",\n      \"update\": \"select exchange rate \",\n      \"providers_description\": \"Configure your exchange rate providers here to automatically fetch the latest exchange rate on transactions.\",\n      \"key\": \"API Key\",\n      \"name\": \"Name\",\n      \"driver\": \"Driver\",\n      \"is_default\": \"IS DEFAULT\",\n      \"currency\": \"Currencies\",\n      \"exchange_rate_confirm_delete\": \"You will not be able to recover this driver\",\n      \"created_message\": \"Provider Created successfully\",\n      \"updated_message\": \"Provider Updated Successfully\",\n      \"deleted_message\": \"Provider Deleted Successfully\",\n      \"error\": \" You cannot Delete Active Driver\",\n      \"default_currency_error\": \"This currency is already used in one of the Active Provider\",\n      \"exchange_help_text\": \"Enter exchange rate to convert from {currency} to {baseCurrency}\",\n      \"currency_freak\": \"Currency Freak\",\n      \"currency_layer\": \"Currency Layer\",\n      \"open_exchange_rate\": \"Open Exchange Rate\",\n      \"currency_converter\": \"Currency Converter\",\n      \"server\": \"Сервер\",\n      \"url\": \"URL-адрес\",\n      \"active\": \"Активный\",\n      \"currency_help_text\": \"This provider will only be used on above selected currencies\",\n      \"currency_in_used\": \"The following currencies are already active on another provider. Please remove these currencies from selection to activate this provider again.\"\n    },\n    \"tax_types\": {\n      \"title\": \"Типы налогов\",\n      \"add_tax\": \"Добавить налог\",\n      \"edit_tax\": \"Редактировать налог\",\n      \"description\": \"You can add or Remove Taxes as you please. Crater supports Taxes on Individual Items as well as on the invoice.\",\n      \"add_new_tax\": \"Добавить новый налог\",\n      \"tax_settings\": \"Настройки налога\",\n      \"tax_per_item\": \"Налог за единицу\",\n      \"tax_name\": \"Название налога\",\n      \"compound_tax\": \"Compound Tax\",\n      \"percent\": \"Процент\",\n      \"action\": \"Действие\",\n      \"tax_setting_description\": \"Enable this if you want to add taxes to individual invoice items. By default, taxes are added directly to the invoice.\",\n      \"created_message\": \"Tax type created successfully\",\n      \"updated_message\": \"Tax type updated successfully\",\n      \"deleted_message\": \"Tax type deleted successfully\",\n      \"confirm_delete\": \"Восстановление типа налога будет невозможна\",\n      \"already_in_use\": \"Налог используется\"\n    },\n    \"payment_modes\": {\n      \"title\": \"Payment Modes\",\n      \"description\": \"Modes of transaction for payments\",\n      \"add_payment_mode\": \"Add Payment Mode\",\n      \"edit_payment_mode\": \"Edit Payment Mode\",\n      \"mode_name\": \"Mode Name\",\n      \"payment_mode_added\": \"Payment Mode Added\",\n      \"payment_mode_updated\": \"Payment Mode Updated\",\n      \"payment_mode_confirm_delete\": \"You will not be able to recover this Payment Mode\",\n      \"payments_attached\": \"This payment method is already attached to payments. Please delete the attached payments to proceed with deletion.\",\n      \"expenses_attached\": \"This payment method is already attached to expenses. Please delete the attached expenses to proceed with deletion.\",\n      \"deleted_message\": \"Payment Mode deleted successfully\"\n    },\n    \"expense_category\": {\n      \"title\": \"Категории расходов\",\n      \"action\": \"Действие\",\n      \"description\": \"Categories are required for adding expense entries. You can Add or Remove these categories according to your preference.\",\n      \"add_new_category\": \"Добавить новую категорию\",\n      \"add_category\": \"Добавить категорию\",\n      \"edit_category\": \"Редактировать категорию\",\n      \"category_name\": \"Название категории\",\n      \"category_description\": \"Описание\",\n      \"created_message\": \"Категория расходов создана\",\n      \"deleted_message\": \"Категория расходов удалена\",\n      \"updated_message\": \"Категория расходов обновлена\",\n      \"confirm_delete\": \"Восстановление категории расходов будет невозможна\",\n      \"already_in_use\": \"Категория расходов используется\"\n    },\n    \"preferences\": {\n      \"currency\": \"Валюта\",\n      \"default_language\": \"Default Language\",\n      \"time_zone\": \"Часовой пояс\",\n      \"fiscal_year\": \"Financial Year\",\n      \"date_format\": \"Date Format\",\n      \"discount_setting\": \"Discount Setting\",\n      \"discount_per_item\": \"Discount Per Item \",\n      \"discount_setting_description\": \"Enable this if you want to add Discount to individual invoice items. By default, Discount is added directly to the invoice.\",\n      \"expire_public_links\": \"Automatically Expire Public Links\",\n      \"expire_setting_description\": \"Specify whether you would like to expire all the links sent by application to view invoices, estimates & payments, etc after a specified duration.\",\n      \"save\": \"Сохранить\",\n      \"preference\": \"Preference | Preferences\",\n      \"general_settings\": \"Default preferences for the system.\",\n      \"updated_message\": \"Preferences updated successfully\",\n      \"select_language\": \"Select Language\",\n      \"select_time_zone\": \"Выберите часовой пояс\",\n      \"select_date_format\": \"Select Date Format\",\n      \"select_financial_year\": \"Select Financial Year\",\n      \"recurring_invoice_status\": \"Recurring Invoice Status\",\n      \"create_status\": \"Create Status\",\n      \"active\": \"Active\",\n      \"on_hold\": \"On Hold\",\n      \"update_status\": \"Update Status\",\n      \"completed\": \"Completed\",\n      \"company_currency_unchangeable\": \"Company currency cannot be changed\"\n    },\n    \"update_app\": {\n      \"title\": \"Update App\",\n      \"description\": \"You can easily update Crater by checking for a new update by clicking the button below\",\n      \"check_update\": \"Check for updates\",\n      \"avail_update\": \"New Update available\",\n      \"next_version\": \"Next version\",\n      \"requirements\": \"Requirements\",\n      \"update\": \"Update Now\",\n      \"update_progress\": \"Update in progress...\",\n      \"progress_text\": \"It will just take a few minutes. Please do not refresh the screen or close the window before the update finishes\",\n      \"update_success\": \"App has been updated! Please wait while your browser window gets reloaded automatically.\",\n      \"latest_message\": \"No update available! You are on the latest version.\",\n      \"current_version\": \"Current Version\",\n      \"download_zip_file\": \"Download ZIP file\",\n      \"unzipping_package\": \"Unzipping Package\",\n      \"copying_files\": \"Copying Files\",\n      \"deleting_files\": \"Deleting Unused files\",\n      \"running_migrations\": \"Running Migrations\",\n      \"finishing_update\": \"Finishing Update\",\n      \"update_failed\": \"Update Failed\",\n      \"update_failed_text\": \"Sorry! Your update failed on : {step} step\",\n      \"update_warning\": \"All of the application files and default template files will be overwritten when you update the application using this utility. Please take a backup of your templates & database before updating.\"\n    },\n    \"backup\": {\n      \"title\": \"Backup | Backups\",\n      \"description\": \"The backup is a zipfile that contains all files in the directories you specify along with a dump of your database\",\n      \"new_backup\": \"Add New Backup\",\n      \"create_backup\": \"Create Backup\",\n      \"select_backup_type\": \"Select Backup Type\",\n      \"backup_confirm_delete\": \"You will not be able to recover this Backup\",\n      \"path\": \"path\",\n      \"new_disk\": \"New Disk\",\n      \"created_at\": \"created at\",\n      \"size\": \"size\",\n      \"dropbox\": \"dropbox\",\n      \"local\": \"local\",\n      \"healthy\": \"healthy\",\n      \"amount_of_backups\": \"amount of backups\",\n      \"newest_backups\": \"newest backups\",\n      \"used_storage\": \"used storage\",\n      \"select_disk\": \"Select Disk\",\n      \"action\": \"Действие\",\n      \"deleted_message\": \"Backup deleted successfully\",\n      \"created_message\": \"Backup created successfully\",\n      \"invalid_disk_credentials\": \"Invalid credential of selected disk\"\n    },\n    \"disk\": {\n      \"title\": \"File Disk | File Disks\",\n      \"description\": \"By default, Crater will use your local disk for saving backups, avatar and other image files. You can configure more than one disk drivers like DigitalOcean, S3 and Dropbox according to your preference.\",\n      \"created_at\": \"created at\",\n      \"dropbox\": \"dropbox\",\n      \"name\": \"Имя\",\n      \"driver\": \"Driver\",\n      \"disk_type\": \"Тип\",\n      \"disk_name\": \"Disk Name\",\n      \"new_disk\": \"Add New Disk\",\n      \"filesystem_driver\": \"Filesystem Driver\",\n      \"local_driver\": \"local Driver\",\n      \"local_root\": \"local Root\",\n      \"public_driver\": \"Public Driver\",\n      \"public_root\": \"Public Root\",\n      \"public_url\": \"Public URL\",\n      \"public_visibility\": \"Public Visibility\",\n      \"media_driver\": \"Media Driver\",\n      \"media_root\": \"Media Root\",\n      \"aws_driver\": \"AWS Driver\",\n      \"aws_key\": \"AWS Key\",\n      \"aws_secret\": \"AWS Secret\",\n      \"aws_region\": \"AWS Region\",\n      \"aws_bucket\": \"AWS Bucket\",\n      \"aws_root\": \"AWS Root\",\n      \"do_spaces_type\": \"Do Spaces type\",\n      \"do_spaces_key\": \"Do Spaces key\",\n      \"do_spaces_secret\": \"Do Spaces Secret\",\n      \"do_spaces_region\": \"Do Spaces Region\",\n      \"do_spaces_bucket\": \"Do Spaces Bucket\",\n      \"do_spaces_endpoint\": \"Do Spaces Endpoint\",\n      \"do_spaces_root\": \"Do Spaces Root\",\n      \"dropbox_type\": \"Dropbox Type\",\n      \"dropbox_token\": \"Dropbox Token\",\n      \"dropbox_key\": \"Dropbox Key\",\n      \"dropbox_secret\": \"Dropbox Secret\",\n      \"dropbox_app\": \"Dropbox App\",\n      \"dropbox_root\": \"Dropbox Root\",\n      \"default_driver\": \"Default Driver\",\n      \"is_default\": \"IS DEFAULT\",\n      \"set_default_disk\": \"Set Default Disk\",\n      \"set_default_disk_confirm\": \"This disk will be set as default and all the new PDFs will be saved on this disk\",\n      \"success_set_default_disk\": \"Disk set as default successfully\",\n      \"save_pdf_to_disk\": \"Save PDFs to Disk\",\n      \"disk_setting_description\": \" Enable this, if you wish to save a copy of each Invoice, Estimate & Payment Receipt PDF on your default disk automatically. Turning this option will decrease the load-time when viewing the PDFs.\",\n      \"select_disk\": \"Select Disk\",\n      \"disk_settings\": \"Disk Settings\",\n      \"confirm_delete\": \"Your existing files & folders in the specified disk will not be affected but your disk configuration will be deleted from Crater\",\n      \"action\": \"Действие\",\n      \"edit_file_disk\": \"Edit File Disk\",\n      \"success_create\": \"Disk added successfully\",\n      \"success_update\": \"Disk updated successfully\",\n      \"error\": \"Disk addition failed\",\n      \"deleted_message\": \"File Disk deleted successfully\",\n      \"disk_variables_save_successfully\": \"Disk Configured Successfully\",\n      \"disk_variables_save_error\": \"Disk configuration failed.\",\n      \"invalid_disk_credentials\": \"Invalid credential of selected disk\"\n    },\n    \"taxations\": {\n      \"add_billing_address\": \"Enter Billing Address\",\n      \"add_shipping_address\": \"Enter Shipping Address\",\n      \"add_company_address\": \"Enter Company Address\",\n      \"modal_description\": \"The information below is required in order to fetch sales tax.\",\n      \"add_address\": \"Add Address for fetching sales tax.\",\n      \"address_placeholder\": \"Example: 123, My Street\",\n      \"city_placeholder\": \"Example: Los Angeles\",\n      \"state_placeholder\": \"Example: CA\",\n      \"zip_placeholder\": \"Example: 90024\",\n      \"invalid_address\": \"Please provide valid address details.\"\n    }\n  },\n  \"wizard\": {\n    \"account_info\": \"Инфо по аккаунту\",\n    \"account_info_desc\": \"Below details will be used to create the main Administrator account. Also you can change the details anytime after logging in.\",\n    \"name\": \"Имя\",\n    \"email\": \"Email\",\n    \"password\": \"Пароль\",\n    \"confirm_password\": \"Подтверждение пароля\",\n    \"save_cont\": \"Сохранить и продолжить\",\n    \"company_info\": \"О компании\",\n    \"company_info_desc\": \"This information will be displayed on invoices. Note that you can edit this later on settings page.\",\n    \"company_name\": \"Название компании\",\n    \"company_logo\": \"Логотип компании\",\n    \"logo_preview\": \"Предпросмотр\",\n    \"preferences\": \"Настройки\",\n    \"preferences_desc\": \"Настройки системы по-умолчанию.\",\n    \"currency_set_alert\": \"The company's currency cannot be changed later.\",\n    \"country\": \"Страна\",\n    \"state\": \"Область\",\n    \"city\": \"Город\",\n    \"address\": \"Адрес\",\n    \"street\": \"Улица1 | Улица2\",\n    \"phone\": \"Телефон\",\n    \"zip_code\": \"Почтовый индекс\",\n    \"go_back\": \"Назад\",\n    \"currency\": \"Валюта\",\n    \"language\": \"Language\",\n    \"time_zone\": \"Часовой пояс\",\n    \"fiscal_year\": \"Финансовый год\",\n    \"date_format\": \"Формат даты\",\n    \"from_address\": \"Адрес\",\n    \"username\": \"Имя пользователя\",\n    \"next\": \"Далее\",\n    \"continue\": \"Продолжить\",\n    \"skip\": \"Пропустить\",\n    \"database\": {\n      \"database\": \"Site URL & Database\",\n      \"connection\": \"Database Connection\",\n      \"host\": \"Database Host\",\n      \"port\": \"Database Port\",\n      \"password\": \"Пароль к БД\",\n      \"app_url\": \"App URL\",\n      \"app_domain\": \"App Domain\",\n      \"username\": \"Database Username\",\n      \"db_name\": \"Database Name\",\n      \"db_path\": \"Database Path\",\n      \"desc\": \"Create a database on your server and set the credentials using the form below.\"\n    },\n    \"permissions\": {\n      \"permissions\": \"Permissions\",\n      \"permission_confirm_title\": \"Точно продолжить?\",\n      \"permission_confirm_desc\": \"Folder permission check failed\",\n      \"permission_desc\": \"Below is the list of folder permissions which are required in order for the app to work. If the permission check fails, make sure to update your folder permissions.\"\n    },\n    \"verify_domain\": {\n      \"title\": \"Domain Verification\",\n      \"desc\": \"Crater uses Session based authentication which requires domain verification for security purposes. Please enter the domain on which you will be accessing your web application.\",\n      \"app_domain\": \"App Domain\",\n      \"verify_now\": \"Verify Now\",\n      \"success\": \"Domain Verify Successfully.\",\n      \"failed\": \"Domain verification failed. Please enter valid domain name.\",\n      \"verify_and_continue\": \"Verify And Continue\"\n    },\n    \"mail\": {\n      \"host\": \"Mail Host\",\n      \"port\": \"Mail Port\",\n      \"driver\": \"Mail Driver\",\n      \"secret\": \"Secret\",\n      \"mailgun_secret\": \"Mailgun Secret\",\n      \"mailgun_domain\": \"Domain\",\n      \"mailgun_endpoint\": \"Mailgun Endpoint\",\n      \"ses_secret\": \"SES Secret\",\n      \"ses_key\": \"SES Key\",\n      \"password\": \"Mail Password\",\n      \"username\": \"Mail Username\",\n      \"mail_config\": \"Mail Configuration\",\n      \"from_name\": \"From Mail Name\",\n      \"from_mail\": \"From Mail Address\",\n      \"encryption\": \"Mail Encryption\",\n      \"mail_config_desc\": \"Below is the form for Configuring Email driver for sending emails from the app. You can also configure third party providers like Sendgrid, SES etc.\"\n    },\n    \"req\": {\n      \"system_req\": \"System Requirements\",\n      \"php_req_version\": \"Php (version {version} required)\",\n      \"check_req\": \"Check Requirements\",\n      \"system_req_desc\": \"Crater has a few server requirements. Make sure that your server has the required php version and all the extensions mentioned below.\"\n    },\n    \"errors\": {\n      \"migrate_failed\": \"Ошибка миграции\",\n      \"database_variables_save_error\": \"Cannot write configuration to .env file. Please check its file permissions\",\n      \"mail_variables_save_error\": \"Email configuration failed.\",\n      \"connection_failed\": \"Database connection failed\",\n      \"database_should_be_empty\": \"Database should be empty\"\n    },\n    \"success\": {\n      \"mail_variables_save_successfully\": \"Email configured successfully\",\n      \"database_variables_save_successfully\": \"Database configured successfully.\"\n    }\n  },\n  \"validation\": {\n    \"invalid_phone\": \"Неправильный номер телефона\",\n    \"invalid_url\": \"Неправильный url (ex: http://www.crater.com)\",\n    \"invalid_domain_url\": \"Неправильный домен (ex: crater.com)\",\n    \"required\": \"Обязательное поле\",\n    \"email_incorrect\": \"Неправильный Email.\",\n    \"email_already_taken\": \"Email уже существует.\",\n    \"email_does_not_exist\": \"User with given email doesn't exist\",\n    \"item_unit_already_taken\": \"This item unit name has already been taken\",\n    \"payment_mode_already_taken\": \"This payment mode name has already been taken\",\n    \"send_reset_link\": \"Выслать ссылку для восстановления\",\n    \"not_yet\": \"Not yet? Send it again\",\n    \"password_min_length\": \"Password must contain {count} characters\",\n    \"name_min_length\": \"Name must have at least {count} letters.\",\n    \"prefix_min_length\": \"Prefix must have at least {count} letters.\",\n    \"enter_valid_tax_rate\": \"Неправильное значение налога\",\n    \"numbers_only\": \"Только цифры.\",\n    \"characters_only\": \"Только буквы.\",\n    \"password_incorrect\": \"Пароли должны совпадать\",\n    \"password_length\": \"Пароль должен быть {count} символов минимум.\",\n    \"qty_must_greater_than_zero\": \"Quantity must be greater than zero.\",\n    \"price_greater_than_zero\": \"Price must be greater than zero.\",\n    \"payment_greater_than_zero\": \"Payment must be greater than zero.\",\n    \"payment_greater_than_due_amount\": \"Entered Payment is more than due amount of this invoice.\",\n    \"quantity_maxlength\": \"Quantity should not be greater than 20 digits.\",\n    \"price_maxlength\": \"Price should not be greater than 20 digits.\",\n    \"price_minvalue\": \"Price should be greater than 0.\",\n    \"amount_maxlength\": \"Amount should not be greater than 20 digits.\",\n    \"amount_minvalue\": \"Amount should be greater than 0.\",\n    \"discount_maxlength\": \"Discount should not be greater than max discount\",\n    \"description_maxlength\": \"Description should not be greater than 255 characters.\",\n    \"subject_maxlength\": \"Тема должна быть не более 100 символов.\",\n    \"message_maxlength\": \"Message should not be greater than 255 characters.\",\n    \"maximum_options_error\": \"Maximum  of {max} options selected. First remove a selected option to select another.\",\n    \"notes_maxlength\": \"Notes should not be greater than 65,000 characters.\",\n    \"address_maxlength\": \"Address should not be greater than 255 characters.\",\n    \"ref_number_maxlength\": \"Серийный номер should not be greater than 255 characters.\",\n    \"prefix_maxlength\": \"Prefix should not be greater than 5 characters.\",\n    \"something_went_wrong\": \"something went wrong\",\n    \"number_length_minvalue\": \"Number length should be greater than 0\",\n    \"at_least_one_ability\": \"Please select atleast one Permission.\",\n    \"valid_driver_key\": \"Please enter a valid {driver} key.\",\n    \"valid_exchange_rate\": \"Please enter a valid exchange rate.\",\n    \"company_name_not_same\": \"Company name must match with given name.\"\n  },\n  \"errors\": {\n    \"starter_plan\": \"This feature is available on Starter plan and onwards!\",\n    \"invalid_provider_key\": \"Please Enter Valid Provider API Key.\",\n    \"estimate_number_used\": \"The estimate number has already been taken.\",\n    \"invoice_number_used\": \"The invoice number has already been taken.\",\n    \"payment_attached\": \"This invoice already has a payment attached to it. Make sure to delete the attached payments first in order to go ahead with the removal.\",\n    \"payment_number_used\": \"The payment number has already been taken.\",\n    \"name_already_taken\": \"The name has already been taken.\",\n    \"receipt_does_not_exist\": \"Receipt does not exist.\",\n    \"customer_cannot_be_changed_after_payment_is_added\": \"Customer cannot be change after payment is added\",\n    \"invalid_credentials\": \"Invalid  Credentials.\",\n    \"not_allowed\": \"Not Allowed\",\n    \"login_invalid_credentials\": \"These credentials do not match our records.\",\n    \"enter_valid_cron_format\": \"Please enter a valid cron format\",\n    \"email_could_not_be_sent\": \"Email could not be sent to this email address.\",\n    \"invalid_address\": \"Please enter a valid address.\",\n    \"invalid_key\": \"Please enter valid key.\",\n    \"invalid_state\": \"Please enter a valid state.\",\n    \"invalid_city\": \"Please enter a valid city.\",\n    \"invalid_postal_code\": \"Please enter a valid zip.\",\n    \"invalid_format\": \"Please enter valid query string format.\",\n    \"api_error\": \"Server not responding.\",\n    \"feature_not_enabled\": \"Feature not enabled.\",\n    \"request_limit_met\": \"Api request limit exceeded.\",\n    \"address_incomplete\": \"Incomplete Address\"\n  },\n  \"pdf_estimate_label\": \"Заказ\",\n  \"pdf_estimate_number\": \"Номер заказа\",\n  \"pdf_estimate_date\": \"Дата заказа\",\n  \"pdf_estimate_expire_date\": \"Истекает\",\n  \"pdf_invoice_label\": \"Счет-фактура\",\n  \"pdf_invoice_number\": \"Номер счета-фактуры\",\n  \"pdf_invoice_date\": \"Дата счета-фактуры\",\n  \"pdf_invoice_due_date\": \"Дата к оплате\",\n  \"pdf_notes\": \"Заметки\",\n  \"pdf_items_label\": \"Записи\",\n  \"pdf_quantity_label\": \"Кол-во\",\n  \"pdf_price_label\": \"Цена\",\n  \"pdf_discount_label\": \"Скидка\",\n  \"pdf_amount_label\": \"Сумма\",\n  \"pdf_subtotal\": \"Промежуточный итог\",\n  \"pdf_total\": \"Итого\",\n  \"pdf_payment_label\": \"Платёж\",\n  \"pdf_payment_receipt_label\": \"КВИТАНЦИЯ ПЛАТЕЖА\",\n  \"pdf_payment_date\": \"Дата платежа\",\n  \"pdf_payment_number\": \"Номер платежа\",\n  \"pdf_payment_mode\": \"Режим платежа\",\n  \"pdf_payment_amount_received_label\": \"Сумма поступления\",\n  \"pdf_expense_report_label\": \"ОТЧЁТ РАСХОДОВ\",\n  \"pdf_total_expenses_label\": \"ВСЕГО РАСХОДОВ\",\n  \"pdf_profit_loss_label\": \"ОТЧЁТ ПО ДОХОДАМ И РАСХОДАМ\",\n  \"pdf_sales_customers_label\": \"Продажи по клиентам\",\n  \"pdf_sales_items_label\": \"Отчёт по продажам товаров\",\n  \"pdf_tax_summery_label\": \"Отчёт по налогам\",\n  \"pdf_income_label\": \"ДОХОД\",\n  \"pdf_net_profit_label\": \"ЧИСТЫЙ ДОХОД\",\n  \"pdf_customer_sales_report\": \"Отчёт продаж: По клиентам\",\n  \"pdf_total_sales_label\": \"ВСЕГО ПРОДАЖ\",\n  \"pdf_item_sales_label\": \"Отчёт продаж: По товарам\",\n  \"pdf_tax_report_label\": \"ОТЧЁТ ПО НАЛОГАМ\",\n  \"pdf_total_tax_label\": \"ВСЕГО НАЛОГОВ\",\n  \"pdf_tax_types_label\": \"Типы налогов\",\n  \"pdf_expenses_label\": \"Расходы\",\n  \"pdf_bill_to\": \"Адрес счёта,\",\n  \"pdf_ship_to\": \"Адрес доставки,\",\n  \"pdf_received_from\": \"Получено от:\",\n  \"pdf_tax_label\": \"Tax\"\n}\n"
  },
  {
    "path": "resources/scripts/locales/sk.json",
    "content": "{\n  \"navigation\": {\n    \"dashboard\": \"Hlavný Panel\",\n    \"customers\": \"Zákazníci\",\n    \"items\": \"Položky\",\n    \"invoices\": \"Faktúry\",\n    \"recurring-invoices\": \"Recurring Invoices\",\n    \"expenses\": \"Výdaje\",\n    \"estimates\": \"Cenové odhady\",\n    \"payments\": \"Platby\",\n    \"reports\": \"Reporty\",\n    \"settings\": \"Nastavenia\",\n    \"logout\": \"Odhlásiť sa\",\n    \"users\": \"Uživatelia\",\n    \"modules\": \"Modules\"\n  },\n  \"general\": {\n    \"add_company\": \"Pridať firmu\",\n    \"view_pdf\": \"Zobraziť PDF\",\n    \"copy_pdf_url\": \"Kopírovať PDF adresu\",\n    \"download_pdf\": \"Stiahnuť PDF\",\n    \"save\": \"Uložiť\",\n    \"create\": \"Vytvoriť\",\n    \"cancel\": \"Zrušiť\",\n    \"update\": \"Aktualizovať\",\n    \"deselect\": \"Zrušiť výber\",\n    \"download\": \"Stiahnuť\",\n    \"from_date\": \"Od dátumu\",\n    \"to_date\": \"Do dátumu\",\n    \"from\": \"Od\",\n    \"to\": \"Pre\",\n    \"ok\": \"Ok\",\n    \"yes\": \"Yes\",\n    \"no\": \"No\",\n    \"sort_by\": \"Zoradiť podľa\",\n    \"ascending\": \"Vzostupne\",\n    \"descending\": \"Zostupne\",\n    \"subject\": \"Predmet\",\n    \"body\": \"Telo textu\",\n    \"message\": \"Správa\",\n    \"send\": \"Odoslať\",\n    \"preview\": \"Preview\",\n    \"go_back\": \"Späť\",\n    \"back_to_login\": \"Späť na prihlásenie?\",\n    \"home\": \"Domov\",\n    \"filter\": \"Filtrovať\",\n    \"delete\": \"Odstrániť\",\n    \"edit\": \"Upraviť\",\n    \"view\": \"Zobraziť\",\n    \"add_new_item\": \"Pridať novú položku\",\n    \"clear_all\": \"Vyčistiť všetko\",\n    \"showing\": \"Zobrazuje sa\",\n    \"of\": \"z\",\n    \"actions\": \"Akcie\",\n    \"subtotal\": \"MEDZISÚČET\",\n    \"discount\": \"ZĽAVA\",\n    \"fixed\": \"Pevné\",\n    \"percentage\": \"Percento\",\n    \"tax\": \"DAŇ\",\n    \"total_amount\": \"SUMA SPOLU\",\n    \"bill_to\": \"Fakturačná adresa\",\n    \"ship_to\": \"Adresa doručenia\",\n    \"due\": \"Termín\",\n    \"draft\": \"Koncept\",\n    \"sent\": \"Odoslané\",\n    \"all\": \"Všetko\",\n    \"select_all\": \"Vybrať všetky\",\n    \"select_template\": \"Select Template\",\n    \"choose_file\": \"Kliknite sem pre vybratie súboru\",\n    \"choose_template\": \"Vybrať vzhľad\",\n    \"choose\": \"Vybrať\",\n    \"remove\": \"Odstrániť\",\n    \"select_a_status\": \"Vyberte stav\",\n    \"select_a_tax\": \"Vyberte daň\",\n    \"search\": \"Hľadať\",\n    \"are_you_sure\": \"Ste si istý?\",\n    \"list_is_empty\": \"Zoznam je prázdny.\",\n    \"no_tax_found\": \"Žiadna daň nebola nájdená!\",\n    \"four_zero_four\": \"404\",\n    \"you_got_lost\": \"Ups! Stratili ste sa!\",\n    \"go_home\": \"Ísť domov\",\n    \"test_mail_conf\": \"Otestovať e-mailovú konfiguráciu\",\n    \"send_mail_successfully\": \"E-Mail odoslaný úspešne\",\n    \"setting_updated\": \"Nastavenia boli úspešne aktualizované\",\n    \"select_state\": \"Vyberte štát\",\n    \"select_country\": \"Vyberte krajinu\",\n    \"select_city\": \"Vyberte mesto\",\n    \"street_1\": \"Prvý riadok ulice\",\n    \"street_2\": \"Druhý riadok ulice\",\n    \"action_failed\": \"Akcia neúspešná\",\n    \"retry\": \"Skúsiť znova\",\n    \"choose_note\": \"Vyberte poznámku\",\n    \"no_note_found\": \"Neboli nájdené žiadne poznámky\",\n    \"insert_note\": \"Vlož poznámku\",\n    \"copied_pdf_url_clipboard\": \"Copied PDF url to clipboard!\",\n    \"copied_url_clipboard\": \"Copied url to clipboard!\",\n    \"docs\": \"Docs\",\n    \"do_you_wish_to_continue\": \"Do you wish to continue?\",\n    \"note\": \"Note\",\n    \"pay_invoice\": \"Pay Invoice\",\n    \"login_successfully\": \"Logged in successfully!\",\n    \"logged_out_successfully\": \"Logged out successfully\",\n    \"mark_as_default\": \"Mark as default\"\n  },\n  \"dashboard\": {\n    \"select_year\": \"Vyberte rok\",\n    \"cards\": {\n      \"due_amount\": \"Čiastka k zaplateniu\",\n      \"customers\": \"Zákazníci\",\n      \"invoices\": \"Faktúry\",\n      \"estimates\": \"Cenové odhady\",\n      \"payments\": \"Payments\"\n    },\n    \"chart_info\": {\n      \"total_sales\": \"Predaje\",\n      \"total_receipts\": \"Doklady o zaplatení\",\n      \"total_expense\": \"Výdaje\",\n      \"net_income\": \"Čistý príjem\",\n      \"year\": \"Vyberte rok\"\n    },\n    \"monthly_chart\": {\n      \"title\": \"Predaje a Výdaje\"\n    },\n    \"recent_invoices_card\": {\n      \"title\": \"Splatné faktúry\",\n      \"due_on\": \"Termín splatenia\",\n      \"customer\": \"Zákazník\",\n      \"amount_due\": \"Čiastka k zaplateniu\",\n      \"actions\": \"Akcie\",\n      \"view_all\": \"Zobraziť všetko\"\n    },\n    \"recent_estimate_card\": {\n      \"title\": \"Nedávne cenové odhady\",\n      \"date\": \"Dátum\",\n      \"customer\": \"Zákazník\",\n      \"amount_due\": \"Cena\",\n      \"actions\": \"Akcie\",\n      \"view_all\": \"Zobraziť všetky\"\n    }\n  },\n  \"tax_types\": {\n    \"name\": \"Meno\",\n    \"description\": \"Popis\",\n    \"percent\": \"Percento\",\n    \"compound_tax\": \"Zložená daň\"\n  },\n  \"global_search\": {\n    \"search\": \"Hľadať...\",\n    \"customers\": \"Zákazníci\",\n    \"users\": \"Uživatelia\",\n    \"no_results_found\": \"Neboli nájdené žiadne výsledky\"\n  },\n  \"company_switcher\": {\n    \"label\": \"SWITCH COMPANY\",\n    \"no_results_found\": \"No Results Found\",\n    \"add_new_company\": \"Add new company\",\n    \"new_company\": \"New company\",\n    \"created_message\": \"Company created successfully\"\n  },\n  \"dateRange\": {\n    \"today\": \"Today\",\n    \"this_week\": \"This Week\",\n    \"this_month\": \"This Month\",\n    \"this_quarter\": \"This Quarter\",\n    \"this_year\": \"This Year\",\n    \"previous_week\": \"Previous Week\",\n    \"previous_month\": \"Previous Month\",\n    \"previous_quarter\": \"Previous Quarter\",\n    \"previous_year\": \"Previous Year\",\n    \"custom\": \"Custom\"\n  },\n  \"customers\": {\n    \"title\": \"Zákazníci\",\n    \"prefix\": \"Prefix\",\n    \"add_customer\": \"Pridať Zákazníka\",\n    \"contacts_list\": \"Zoznam zákazníkov\",\n    \"name\": \"Meno\",\n    \"mail\": \"E-mail | E-maily\",\n    \"statement\": \"Výpis\",\n    \"display_name\": \"Zobrazované meno\",\n    \"primary_contact_name\": \"Meno Primárneho Kontaktu\",\n    \"contact_name\": \"Meno Kontaktu\",\n    \"amount_due\": \"Čiastka k zaplateniu\",\n    \"email\": \"E-mail\",\n    \"address\": \"Adresa\",\n    \"phone\": \"Telefón\",\n    \"website\": \"Webové stránky\",\n    \"overview\": \"Prehľad\",\n    \"invoice_prefix\": \"Invoice Prefix\",\n    \"estimate_prefix\": \"Estimate Prefix\",\n    \"payment_prefix\": \"Payment Prefix\",\n    \"enable_portal\": \"Aktivovať portál\",\n    \"country\": \"Krajina\",\n    \"state\": \"Štát\",\n    \"city\": \"Mesto\",\n    \"zip_code\": \"PSČ\",\n    \"added_on\": \"Pridané Dňa\",\n    \"action\": \"Akcia\",\n    \"password\": \"Heslo\",\n    \"confirm_password\": \"Confirm Password\",\n    \"street_number\": \"Číslo Ulice\",\n    \"primary_currency\": \"Hlavná Mena\",\n    \"description\": \"Popis\",\n    \"add_new_customer\": \"Pridať Nového Zákazníka\",\n    \"save_customer\": \"Uložiť Zákazníka\",\n    \"update_customer\": \"Aktualizovať Zakázníka\",\n    \"customer\": \"Zákazník | Zákazníci\",\n    \"new_customer\": \"Nový Zákazník\",\n    \"edit_customer\": \"Upraviť Zákazníka\",\n    \"basic_info\": \"Základné Informácie\",\n    \"portal_access\": \"Portal Access\",\n    \"portal_access_text\": \"Would you like to allow this customer to login to the Customer Portal?\",\n    \"portal_access_url\": \"Customer Portal Login URL\",\n    \"portal_access_url_help\": \"Please copy & forward the above given URL to your customer for providing access.\",\n    \"billing_address\": \"Fakturačná Adresa\",\n    \"shipping_address\": \"Doručovacia Adresa\",\n    \"copy_billing_address\": \"Kopírovať podľa Fakturačnej adresy\",\n    \"no_customers\": \"Zatiaľ nebol pridaný žiadny zákazník!\",\n    \"no_customers_found\": \"Nenájdení žiadni zákazníci!\",\n    \"no_contact\": \"No contact\",\n    \"no_contact_name\": \"No contact name\",\n    \"list_of_customers\": \"Táto sekcia bude obsahovať zoznam zákazníkov.\",\n    \"primary_display_name\": \"Hlavné meno pre zobrazenie\",\n    \"select_currency\": \"Vyberte menu\",\n    \"select_a_customer\": \"Vyberte zákazníka\",\n    \"type_or_click\": \"Začnite písať alebo kliknite pre vybratie\",\n    \"new_transaction\": \"Nová Transakcia\",\n    \"no_matching_customers\": \"Nenašli sa žiadny zákazníci spĺňajúce Vaše podmienky!\",\n    \"phone_number\": \"Telefónne Číslo\",\n    \"create_date\": \"Dátum Vytvorenia\",\n    \"confirm_delete\": \"Nebudete môcť obnoviť tohto zákazníka ani žiadne faktúry, cenové odhady alebo platby s ním spojené. | Nebudete môcť obnoviť týchto zákazníkov ani žiadne faktúry, cenové odhady alebo platby s nimi spojené.\",\n    \"created_message\": \"Zákazník úspešne vytvorený\",\n    \"updated_message\": \"Zákazník úspešne aktualizovaný\",\n    \"address_updated_message\": \"Address Information Updated succesfully\",\n    \"deleted_message\": \"Zákazník úspešne odstránený | Zákazníci úspešne odstránení\",\n    \"edit_currency_not_allowed\": \"Cannot change currency once transactions created.\"\n  },\n  \"items\": {\n    \"title\": \"Položky\",\n    \"items_list\": \"Zoznam Položiek\",\n    \"name\": \"Meno\",\n    \"unit\": \"Jednotka\",\n    \"description\": \"Popis\",\n    \"added_on\": \"Pridané Dňa\",\n    \"price\": \"Cena\",\n    \"date_of_creation\": \"Dátum Vytvorenia\",\n    \"not_selected\": \"No item selected\",\n    \"action\": \"Akcia\",\n    \"add_item\": \"Pridať Položku\",\n    \"save_item\": \"Uložiť Položku\",\n    \"update_item\": \"Aktualizovať Položku\",\n    \"item\": \"Položka | Položky\",\n    \"add_new_item\": \"Pridať Novú Položku\",\n    \"new_item\": \"Nová položka\",\n    \"edit_item\": \"Upraviť Položku\",\n    \"no_items\": \"Zatiaľ žiadné položky!\",\n    \"list_of_items\": \"Táto sekcia bude obsahovať zoznam zákazníkov.\",\n    \"select_a_unit\": \"vyberte jednotku\",\n    \"taxes\": \"Dane\",\n    \"item_attached_message\": \"Nie je možné vymazať položku, ktorá sa používa\",\n    \"confirm_delete\": \"Nebudete môcť obnoviť túto Položku | Nebudete môcť obnoviť tieto Položky\",\n    \"created_message\": \"Položka úspešne vytvorená\",\n    \"updated_message\": \"Položka úspešne aktualizovaná\",\n    \"deleted_message\": \"Položka úspešne odstránená | Položky úspešne odstránené\"\n  },\n  \"estimates\": {\n    \"title\": \"Cenové odhady\",\n    \"accept_estimate\": \"Accept Estimate\",\n    \"reject_estimate\": \"Reject Estimate\",\n    \"estimate\": \"Cenový odhad | Cenové odhady\",\n    \"estimates_list\": \"Zoznam Cenových odhadov\",\n    \"days\": \"{days} Dní\",\n    \"months\": \"{months} Mesiac\",\n    \"years\": \"{years} Rok\",\n    \"all\": \"Všetko\",\n    \"paid\": \"Zaplatené\",\n    \"unpaid\": \"Nezaplatené\",\n    \"customer\": \"ZÁKAZNÍK\",\n    \"ref_no\": \"REF Č.\",\n    \"number\": \"ČÍSLO\",\n    \"amount_due\": \"Dlžná suma\",\n    \"partially_paid\": \"Čiastočne Zaplatené\",\n    \"total\": \"Spolu\",\n    \"discount\": \"Zľava\",\n    \"sub_total\": \"Medzisúčet\",\n    \"estimate_number\": \"Číslo Cenového odhadu\",\n    \"ref_number\": \"Ref. Číslo\",\n    \"contact\": \"Kontakt\",\n    \"add_item\": \"Pridať Položku\",\n    \"date\": \"Dátum\",\n    \"due_date\": \"Dátum Splatnosti\",\n    \"expiry_date\": \"Dátum Ukončenia Platnosti\",\n    \"status\": \"Stav\",\n    \"add_tax\": \"Pridať Daň\",\n    \"amount\": \"Suma\",\n    \"action\": \"Akcia\",\n    \"notes\": \"Poznámky\",\n    \"tax\": \"Daň\",\n    \"estimate_template\": \"Vzhľad\",\n    \"convert_to_invoice\": \"Konvertovať do Faktúry\",\n    \"mark_as_sent\": \"Označiť ako odoslané\",\n    \"send_estimate\": \"Odoslať Cenový odhad\",\n    \"resend_estimate\": \"Znovu Odoslať Cenový odhad\",\n    \"record_payment\": \"Zaznamenať Platbu\",\n    \"add_estimate\": \"Vytvoriť Cenový odhad\",\n    \"save_estimate\": \"Uložiť Cenový odhad\",\n    \"confirm_conversion\": \"Tento cenový odhad bude použitý k vytvoreniu novej Faktúry.\",\n    \"conversion_message\": \"Faktúra úspešne vytvorená\",\n    \"confirm_send_estimate\": \"Tento Cenový odhad bude odoslaný zákazníkovi prostredníctvom e-mailu\",\n    \"confirm_mark_as_sent\": \"Tento Cenový odhad bude označený ako odoslaný\",\n    \"confirm_mark_as_accepted\": \"Tento Cenový odhad bude označený ako Prijatý\",\n    \"confirm_mark_as_rejected\": \"Tento Cenový odhad bude označený ako Odmietnutý\",\n    \"no_matching_estimates\": \"Nenašli sa žiadne Cenové odhady spĺňajúce Vaše podmienky!\",\n    \"mark_as_sent_successfully\": \"Cenový odhad úspešne označený ako odoslaný\",\n    \"send_estimate_successfully\": \"Cenový odhad úspešne odoslaný\",\n    \"errors\": {\n      \"required\": \"Pole je povinné\"\n    },\n    \"accepted\": \"Prijátá\",\n    \"rejected\": \"Rejected\",\n    \"expired\": \"Expired\",\n    \"sent\": \"Odoslaná\",\n    \"draft\": \"Koncept\",\n    \"viewed\": \"Viewed\",\n    \"declined\": \"Zrušený\",\n    \"new_estimate\": \"Nový Cenový odhad\",\n    \"add_new_estimate\": \"Pridať nový Cenový odhad\",\n    \"update_Estimate\": \"Aktualizovať Cenový odhad\",\n    \"edit_estimate\": \"Upraviť Cenový odhad\",\n    \"items\": \"položky\",\n    \"Estimate\": \"Cenový odhad | Cenové odhady\",\n    \"add_new_tax\": \"Pridať Novú Daň\",\n    \"no_estimates\": \"Zatiaľ žiadne cenové odhady\",\n    \"list_of_estimates\": \"Táto sekcia bude obsahovať zoznam cenových odhadov.\",\n    \"mark_as_rejected\": \"Označiť ako odmietnutú\",\n    \"mark_as_accepted\": \"Označený ako prijatú\",\n    \"marked_as_accepted_message\": \"Cenový odhad označený ako schválený\",\n    \"marked_as_rejected_message\": \"Cenový odhad označený ako odmietnutý\",\n    \"confirm_delete\": \"Nebude možné obnoviť cenový odhad | Nebude možné obnoviť cenové odhady\",\n    \"created_message\": \"Cenový odhad úspešné vytvorený\",\n    \"updated_message\": \"Cenový odhad úspešné aktualizovaný\",\n    \"deleted_message\": \"Cenový odhad úspešné vymazaný | Cenové odhady úspešné vymazané\",\n    \"something_went_wrong\": \"Niečo neprebehlo v poriadku, odskúšajte prosím znova.\",\n    \"item\": {\n      \"title\": \"Názov Položky\",\n      \"description\": \"Popis\",\n      \"quantity\": \"Množstvo\",\n      \"price\": \"Cena\",\n      \"discount\": \"Zľava\",\n      \"total\": \"Celkom\",\n      \"total_discount\": \"Celková zľava\",\n      \"sub_total\": \"Medzisúčet\",\n      \"tax\": \"Daň\",\n      \"amount\": \"Suma\",\n      \"select_an_item\": \"Začnite písať alebo kliknite pre vybratie položky\",\n      \"type_item_description\": \"Zadajte Popis Položky (voliteľné)\"\n    },\n    \"mark_as_default_estimate_template_description\": \"If enabled, the selected template will be automatically selected for new estimates.\"\n  },\n  \"invoices\": {\n    \"title\": \"Faktúry\",\n    \"download\": \"Download\",\n    \"pay_invoice\": \"Pay Invoice\",\n    \"invoices_list\": \"Zoznam Faktúr\",\n    \"invoice_information\": \"Invoice Information\",\n    \"days\": \"{days} Ďeň\",\n    \"months\": \"{months} Mesiac\",\n    \"years\": \"{years} Rok\",\n    \"all\": \"Všetko\",\n    \"paid\": \"Zaplatené\",\n    \"unpaid\": \"Nezaplatené\",\n    \"viewed\": \"Viewed\",\n    \"overdue\": \"Overdue\",\n    \"completed\": \"Completed\",\n    \"customer\": \"ZÁKAZNÍK\",\n    \"paid_status\": \"Stav platby\",\n    \"ref_no\": \"REF Č.\",\n    \"number\": \"ČÍSLO\",\n    \"amount_due\": \"Dlžná suma\",\n    \"partially_paid\": \"Čiastočne Zaplatené\",\n    \"total\": \"Spolu\",\n    \"discount\": \"Zľava\",\n    \"sub_total\": \"Medzisúčet\",\n    \"invoice\": \"Faktúra | Faktúry\",\n    \"invoice_number\": \"Číslo Faktúry\",\n    \"ref_number\": \"Ref. Číslo\",\n    \"contact\": \"Kontakt\",\n    \"add_item\": \"Pridať Položku\",\n    \"date\": \"Dátum\",\n    \"due_date\": \"Dátum Splatnosti\",\n    \"status\": \"Stav\",\n    \"add_tax\": \"Pridať Daň\",\n    \"amount\": \"Suma\",\n    \"action\": \"Akcia\",\n    \"notes\": \"Poznámky\",\n    \"view\": \"Zobraziť\",\n    \"send_invoice\": \"Odoslať Faktúru\",\n    \"resend_invoice\": \"Odoslať Faktúru Znovu\",\n    \"invoice_template\": \"Vzhľad faktúry\",\n    \"conversion_message\": \"Invoice cloned successful\",\n    \"template\": \"Vzhľad\",\n    \"mark_as_sent\": \"Označiť ako odoslanú\",\n    \"confirm_send_invoice\": \"Táto faktúra bude odoslaná zákazníkovi prostredníctvom e-mailu\",\n    \"invoice_mark_as_sent\": \"Táto faktúra bude označená ako odoslaná\",\n    \"confirm_mark_as_accepted\": \"This invoice will be marked as Accepted\",\n    \"confirm_mark_as_rejected\": \"This invoice will be marked as Rejected\",\n    \"confirm_send\": \"Táto faktúra bude odoslaná zákazníkovi prostredníctvom e-mailu\",\n    \"invoice_date\": \"Dátum Vystavenia\",\n    \"record_payment\": \"Zaznamenať Platbu\",\n    \"add_new_invoice\": \"Nová Faktúra\",\n    \"update_expense\": \"Update Expense\",\n    \"edit_invoice\": \"Upraviť Faktúru\",\n    \"new_invoice\": \"Nová Faktúra\",\n    \"save_invoice\": \"Uložiť Faktúru\",\n    \"update_invoice\": \"Upraviť Faktúru\",\n    \"add_new_tax\": \"Pridať Novú Daň\",\n    \"no_invoices\": \"Zatiaľ nemáte žiadné faktúry!\",\n    \"mark_as_rejected\": \"Mark as rejected\",\n    \"mark_as_accepted\": \"Mark as accepted\",\n    \"list_of_invoices\": \"Táto sekcia bude obsahovať zoznam faktúr\",\n    \"select_invoice\": \"Vybrať Faktúru\",\n    \"no_matching_invoices\": \"Nenašli sa žiadne faktúry!\",\n    \"mark_as_sent_successfully\": \"Faktúra označená ako úspešne odoslaná\",\n    \"invoice_sent_successfully\": \"Invoice sent successfully\",\n    \"cloned_successfully\": \"Faktúra bola úspešne okopírovaná\",\n    \"clone_invoice\": \"Kopírovať faktúru\",\n    \"confirm_clone\": \"Faktúra bude okopírovaná do novej\",\n    \"item\": {\n      \"title\": \"Názov položky\",\n      \"description\": \"Popis\",\n      \"quantity\": \"Množstvo\",\n      \"price\": \"Cena\",\n      \"discount\": \"Zľava\",\n      \"total\": \"Celkom\",\n      \"total_discount\": \"Celková zľava\",\n      \"sub_total\": \"Medzisúčet\",\n      \"tax\": \"Daň\",\n      \"amount\": \"Čiastka\",\n      \"select_an_item\": \"Napíšte alebo vyberte položku\",\n      \"type_item_description\": \"Popis položky (voliteľné)\"\n    },\n    \"payment_attached_message\": \"K jednej z vybraných faktúr už je pripojená platba. Nezabudnite najskôr vymazať priložené platby, aby ste mohli pokračovať v odstránení\",\n    \"confirm_delete\": \"Túto faktúru nebude možné obnoviť | Tieto faktúry nebude možné obnoviť\",\n    \"created_message\": \"Faktúra úspešne vytvorená\",\n    \"updated_message\": \"Faktúra úspešne aktualizovaná\",\n    \"deleted_message\": \"Faktúra úspešne vymazaná | Faktúry úspešne vymazané\",\n    \"marked_as_sent_message\": \"Faktúra úspešne označená ako odoslaná\",\n    \"something_went_wrong\": \"Niečo neprebehlo v poriadku, odskúšajte prosím znova.\",\n    \"invalid_due_amount_message\": \"Celková suma faktúry nemôže byť nižšia ako celková suma zaplatená za túto faktúru. Ak chcete pokračovať, aktualizujte faktúru alebo odstráňte súvisiace platby.\",\n    \"mark_as_default_invoice_template_description\": \"If enabled, the selected template will be automatically selected for new invoices.\"\n  },\n  \"recurring_invoices\": {\n    \"title\": \"Recurring Invoices\",\n    \"invoices_list\": \"Recurring Invoices List\",\n    \"days\": \"{days} Days\",\n    \"months\": \"{months} Month\",\n    \"years\": \"{years} Year\",\n    \"all\": \"All\",\n    \"paid\": \"Paid\",\n    \"unpaid\": \"Unpaid\",\n    \"viewed\": \"Viewed\",\n    \"overdue\": \"Overdue\",\n    \"active\": \"Active\",\n    \"completed\": \"Completed\",\n    \"customer\": \"CUSTOMER\",\n    \"paid_status\": \"PAID STATUS\",\n    \"ref_no\": \"REF NO.\",\n    \"number\": \"NUMBER\",\n    \"amount_due\": \"AMOUNT DUE\",\n    \"partially_paid\": \"Partially Paid\",\n    \"total\": \"Total\",\n    \"discount\": \"Discount\",\n    \"sub_total\": \"Sub Total\",\n    \"invoice\": \"Recurring Invoice | Recurring Invoices\",\n    \"invoice_number\": \"Recurring Invoice Number\",\n    \"next_invoice_date\": \"Next Invoice Date\",\n    \"ref_number\": \"Ref Number\",\n    \"contact\": \"Contact\",\n    \"add_item\": \"Add an Item\",\n    \"date\": \"Date\",\n    \"limit_by\": \"Limit by\",\n    \"limit_date\": \"Limit Date\",\n    \"limit_count\": \"Limit Count\",\n    \"count\": \"Count\",\n    \"status\": \"Status\",\n    \"select_a_status\": \"Select a status\",\n    \"working\": \"Working\",\n    \"on_hold\": \"On Hold\",\n    \"complete\": \"Completed\",\n    \"add_tax\": \"Add Tax\",\n    \"amount\": \"Amount\",\n    \"action\": \"Action\",\n    \"notes\": \"Notes\",\n    \"view\": \"View\",\n    \"basic_info\": \"Basic Info\",\n    \"send_invoice\": \"Send Recurring Invoice\",\n    \"auto_send\": \"Auto Send\",\n    \"resend_invoice\": \"Resend Recurring Invoice\",\n    \"invoice_template\": \"Recurring Invoice Template\",\n    \"conversion_message\": \"Recurring Invoice cloned successful\",\n    \"template\": \"Template\",\n    \"mark_as_sent\": \"Mark as sent\",\n    \"confirm_send_invoice\": \"This recurring invoice will be sent via email to the customer\",\n    \"invoice_mark_as_sent\": \"This recurring invoice will be marked as sent\",\n    \"confirm_send\": \"This recurring invoice will be sent via email to the customer\",\n    \"starts_at\": \"Start Date\",\n    \"due_date\": \"Invoice Due Date\",\n    \"record_payment\": \"Record Payment\",\n    \"add_new_invoice\": \"Add New Recurring Invoice\",\n    \"update_expense\": \"Update Expense\",\n    \"edit_invoice\": \"Edit Recurring Invoice\",\n    \"new_invoice\": \"New Recurring Invoice\",\n    \"send_automatically\": \"Send Automatically\",\n    \"send_automatically_desc\": \"Enable this, if you would like to send the invoice automatically to the customer when its created.\",\n    \"save_invoice\": \"Save Recurring Invoice\",\n    \"update_invoice\": \"Update Recurring Invoice\",\n    \"add_new_tax\": \"Add New Tax\",\n    \"no_invoices\": \"No Recurring Invoices yet!\",\n    \"mark_as_rejected\": \"Mark as rejected\",\n    \"mark_as_accepted\": \"Mark as accepted\",\n    \"list_of_invoices\": \"This section will contain the list of recurring invoices.\",\n    \"select_invoice\": \"Select Invoice\",\n    \"no_matching_invoices\": \"There are no matching recurring invoices!\",\n    \"mark_as_sent_successfully\": \"Recurring Invoice marked as sent successfully\",\n    \"invoice_sent_successfully\": \"Recurring Invoice sent successfully\",\n    \"cloned_successfully\": \"Recurring Invoice cloned successfully\",\n    \"clone_invoice\": \"Clone Recurring Invoice\",\n    \"confirm_clone\": \"This recurring invoice will be cloned into a new Recurring Invoice\",\n    \"add_customer_email\": \"Please add an email address for this customer to send invoices automatically.\",\n    \"item\": {\n      \"title\": \"Item Title\",\n      \"description\": \"Description\",\n      \"quantity\": \"Quantity\",\n      \"price\": \"Price\",\n      \"discount\": \"Discount\",\n      \"total\": \"Total\",\n      \"total_discount\": \"Total Discount\",\n      \"sub_total\": \"Sub Total\",\n      \"tax\": \"Tax\",\n      \"amount\": \"Amount\",\n      \"select_an_item\": \"Type or click to select an item\",\n      \"type_item_description\": \"Type Item Description (optional)\"\n    },\n    \"frequency\": {\n      \"title\": \"Frequency\",\n      \"select_frequency\": \"Select Frequency\",\n      \"minute\": \"Minute\",\n      \"hour\": \"Hour\",\n      \"day_month\": \"Day of month\",\n      \"month\": \"Month\",\n      \"day_week\": \"Day of week\"\n    },\n    \"confirm_delete\": \"You will not be able to recover this Invoice | You will not be able to recover these Invoices\",\n    \"created_message\": \"Recurring Invoice created successfully\",\n    \"updated_message\": \"Recurring Invoice updated successfully\",\n    \"deleted_message\": \"Recurring Invoice deleted successfully | Recurring Invoices deleted successfully\",\n    \"marked_as_sent_message\": \"Recurring Invoice marked as sent successfully\",\n    \"user_email_does_not_exist\": \"User email does not exist\",\n    \"something_went_wrong\": \"something went wrong\",\n    \"invalid_due_amount_message\": \"Total Recurring Invoice amount cannot be less than total paid amount for this Recurring Invoice. Please update the invoice or delete the associated payments to continue.\"\n  },\n  \"payments\": {\n    \"title\": \"Platby\",\n    \"payments_list\": \"Zoznam Platieb\",\n    \"record_payment\": \"Zaznamenať Platbu\",\n    \"customer\": \"Zákazník\",\n    \"date\": \"Dátum\",\n    \"amount\": \"Suma\",\n    \"action\": \"Akcia\",\n    \"payment_number\": \"Číslo Platby\",\n    \"payment_mode\": \"Spôsob Platby\",\n    \"invoice\": \"Faktúra\",\n    \"note\": \"Poznámka\",\n    \"add_payment\": \"Pridať Platbu\",\n    \"new_payment\": \"Nová Platba\",\n    \"edit_payment\": \"Úpraviť Platbu\",\n    \"view_payment\": \"Zobraziť Platbu\",\n    \"add_new_payment\": \"Nová Platba\",\n    \"send_payment_receipt\": \"Poslať Doklad o Zaplatení\",\n    \"send_payment\": \"Odoslať Platbu\",\n    \"save_payment\": \"Uložiť Platbu\",\n    \"update_payment\": \"Úpraviť Platbu\",\n    \"payment\": \"Platba | Platby\",\n    \"no_payments\": \"Zatiaľ nemáte žiadne platby!\",\n    \"not_selected\": \"Not selected\",\n    \"no_invoice\": \"No invoice\",\n    \"no_matching_payments\": \"Nenašli sa žiadne platby spĺňajúce Vaše podmienky!\",\n    \"list_of_payments\": \"Táto sekcia bude obsahovať zoznam platieb.\",\n    \"select_payment_mode\": \"Vyberte spôsob platby\",\n    \"confirm_mark_as_sent\": \"Tento cenový odhad bude označený ako odoslaný\",\n    \"confirm_send_payment\": \"Tento cenový odhad bude odoslaný zákazníkovi prostredníctvom e-mailu\",\n    \"send_payment_successfully\": \"Platba úspešne odoslaná\",\n    \"something_went_wrong\": \"Niečo neprebehlo v poriadku, odskúšajte prosím znova.\",\n    \"confirm_delete\": \"Nebudete môcť obnoviť túto Platbu | Nebudete môcť obnoviť tieto Platby\",\n    \"created_message\": \"Platba úspešne vytvorená\",\n    \"updated_message\": \"Platba úspešne upravena\",\n    \"deleted_message\": \"Platba úspešne odstránená | Platby úspešne odstránené\",\n    \"invalid_amount_message\": \"Suma platby nie je správna\"\n  },\n  \"expenses\": {\n    \"title\": \"Výdaje\",\n    \"expenses_list\": \"Zoznam Výdajov\",\n    \"select_a_customer\": \"Vyberte zákazníka\",\n    \"expense_title\": \"Nadpis\",\n    \"customer\": \"Zákazník\",\n    \"currency\": \"Currency\",\n    \"contact\": \"Kontakt\",\n    \"category\": \"Kategória\",\n    \"from_date\": \"Od dátumu\",\n    \"to_date\": \"Do dátumu\",\n    \"expense_date\": \"Dátum\",\n    \"description\": \"Popis\",\n    \"receipt\": \"Doklad o zaplatení\",\n    \"amount\": \"Suma\",\n    \"action\": \"Akcia\",\n    \"not_selected\": \"Not selected\",\n    \"note\": \"Poznámka\",\n    \"category_id\": \"ID kategórie\",\n    \"date\": \"Dátum\",\n    \"add_expense\": \"Pridať Výdaj\",\n    \"add_new_expense\": \"Pridať Nový Výdaj\",\n    \"save_expense\": \"Uložiť Výdaj\",\n    \"update_expense\": \"Aktualizovať Výdaj\",\n    \"download_receipt\": \"Stiahnuť doklad o zaplatení\",\n    \"edit_expense\": \"Upraviť Výdaj\",\n    \"new_expense\": \"Nový Výdaj\",\n    \"expense\": \"Výdaj | Výdaje\",\n    \"no_expenses\": \"Zatiaľ nemáte žiadne výdaje!\",\n    \"list_of_expenses\": \"Táto sekcia bude obsahovať zoznam výdajov.\",\n    \"confirm_delete\": \"Nebudete môcť obnoviť tento Výdaj | Nebudete môcť obnoviť tieto Výdaje\",\n    \"created_message\": \"Výdaj úspešne vytvorený\",\n    \"updated_message\": \"Výdaj úspešne aktualizovaný\",\n    \"deleted_message\": \"Výdaj úspešne odstránený | Výdaje úspešne odstránené\",\n    \"categories\": {\n      \"categories_list\": \"Zoznam kategórií\",\n      \"title\": \"Nadpis\",\n      \"name\": \"Názov\",\n      \"description\": \"Popis\",\n      \"amount\": \"Suma\",\n      \"actions\": \"Akcie\",\n      \"add_category\": \"Pridať Kategóriu\",\n      \"new_category\": \"Nová Kategória\",\n      \"category\": \"Kategória | Kategórie\",\n      \"select_a_category\": \"Vyberte kategóriu\"\n    }\n  },\n  \"login\": {\n    \"email\": \"E-mail\",\n    \"password\": \"Heslo\",\n    \"forgot_password\": \"Zabudol som heslo\",\n    \"or_signIn_with\": \"alebo sa prihlásiť pomocou\",\n    \"login\": \"Prihlásiť sa\",\n    \"register\": \"Registrovať sa\",\n    \"reset_password\": \"Obnoviť heslo\",\n    \"password_reset_successfully\": \"Heslo Úspešne Obnovené\",\n    \"enter_email\": \"Zadajte e-mail\",\n    \"enter_password\": \"Zadajte heslo\",\n    \"retype_password\": \"Znova zadajte heslo\"\n  },\n  \"modules\": {\n    \"buy_now\": \"Buy Now\",\n    \"install\": \"Install\",\n    \"price\": \"Price\",\n    \"download_zip_file\": \"Download ZIP file\",\n    \"unzipping_package\": \"Unzipping Package\",\n    \"copying_files\": \"Copying Files\",\n    \"deleting_files\": \"Deleting Unused files\",\n    \"completing_installation\": \"Completing Installation\",\n    \"update_failed\": \"Update Failed\",\n    \"install_success\": \"Module has been installed successfully!\",\n    \"customer_reviews\": \"Reviews\",\n    \"license\": \"License\",\n    \"faq\": \"FAQ\",\n    \"monthly\": \"Monthly\",\n    \"yearly\": \"Yearly\",\n    \"updated\": \"Updated\",\n    \"version\": \"Version\",\n    \"disable\": \"Disable\",\n    \"module_disabled\": \"Module Disabled\",\n    \"enable\": \"Enable\",\n    \"module_enabled\": \"Module Enabled\",\n    \"update_to\": \"Update To\",\n    \"module_updated\": \"Module Updated Successfully!\",\n    \"title\": \"Modules\",\n    \"module\": \"Module | Modules\",\n    \"api_token\": \"API token\",\n    \"invalid_api_token\": \"Invalid API Token.\",\n    \"other_modules\": \"Other Modules\",\n    \"view_all\": \"View All\",\n    \"no_reviews_found\": \"There are no reviews for this module yet!\",\n    \"module_not_purchased\": \"Module Not Purchased\",\n    \"module_not_found\": \"Module Not Found\",\n    \"version_not_supported\": \"This module version doesn't support the current version of Crater\",\n    \"last_updated\": \"Last Updated On\",\n    \"connect_installation\": \"Connect your installation\",\n    \"api_token_description\": \"Login to {url} and connect this installation by entering the API Token. Your purchased modules will show up here after the connection is established.\",\n    \"view_module\": \"View Module\",\n    \"update_available\": \"Update Available\",\n    \"purchased\": \"Purchased\",\n    \"installed\": \"Installed\",\n    \"no_modules_installed\": \"No Modules Installed Yet!\",\n    \"disable_warning\": \"All the settings for this particular will be reverted.\",\n    \"what_you_get\": \"What you get\"\n  },\n  \"users\": {\n    \"title\": \"Uživatelia\",\n    \"users_list\": \"Zoznam Užívateľov\",\n    \"name\": \"Meno\",\n    \"description\": \"Popis\",\n    \"added_on\": \"Pridané Dňa\",\n    \"date_of_creation\": \"Dátum Vytvorenia\",\n    \"action\": \"Akcia\",\n    \"add_user\": \"Pridať používateľa\",\n    \"save_user\": \"Uložiť používateľa\",\n    \"update_user\": \"Aktualizovať používateľa\",\n    \"user\": \"Užívateľ | Užívatelia\",\n    \"add_new_user\": \"Pridať Nového Užívateľa\",\n    \"new_user\": \"Nový užívateľ\",\n    \"edit_user\": \"Upraviť Užívateľa\",\n    \"no_users\": \"Zatiaľ nebol pridaný žiadny užívateľ!\",\n    \"list_of_users\": \"Táto sekcia bude obsahovať zoznam užívateľov.\",\n    \"email\": \"E-mail\",\n    \"phone\": \"Telefón\",\n    \"password\": \"Heslo\",\n    \"user_attached_message\": \"Nie je možné vymazať aktívneho užívateľa\",\n    \"confirm_delete\": \"Nebude možné obnoviť tohto používateľa | Nebude možné obnoviť týchto používateľov\",\n    \"created_message\": \"Užívateľ úspešne vytvorený\",\n    \"updated_message\": \"Užívateľ úspešne aktualizovaná\",\n    \"deleted_message\": \"Užívateľ úspešne odstránený | Užívatelia úspešne odstránení\",\n    \"select_company_role\": \"Select Role for {company}\",\n    \"companies\": \"Companies\"\n  },\n  \"reports\": {\n    \"title\": \"Reporty\",\n    \"from_date\": \"Od dátumu\",\n    \"to_date\": \"Do dátumu\",\n    \"status\": \"Stav\",\n    \"paid\": \"Zaplatená\",\n    \"unpaid\": \"Nezaplatená\",\n    \"download_pdf\": \"Stiahnuť PDF\",\n    \"view_pdf\": \"Zobraziť PDF\",\n    \"update_report\": \"Aktualizovať Report\",\n    \"report\": \"Report | Reporty\",\n    \"profit_loss\": {\n      \"profit_loss\": \"Ziskt a Straty\",\n      \"to_date\": \"Do dátumu\",\n      \"from_date\": \"Od dátumu\",\n      \"date_range\": \"Vybrať rozsah dátumu\"\n    },\n    \"sales\": {\n      \"sales\": \"Predaje\",\n      \"date_range\": \"Vybrať rozsah dátumu\",\n      \"to_date\": \"Do dátumu\",\n      \"from_date\": \"Od dátumu\",\n      \"report_type\": \"Typ Reportu\"\n    },\n    \"taxes\": {\n      \"taxes\": \"Dane\",\n      \"to_date\": \"Do dátumu\",\n      \"from_date\": \"Od dátumu\",\n      \"date_range\": \"Vybrať Rozsah Dátumu\"\n    },\n    \"errors\": {\n      \"required\": \"Pole je povinné\"\n    },\n    \"invoices\": {\n      \"invoice\": \"Faktúra\",\n      \"invoice_date\": \"Dátum Vystavenia\",\n      \"due_date\": \"Dátum Splatnosti\",\n      \"amount\": \"Suma\",\n      \"contact_name\": \"Kontaktná Osoba\",\n      \"status\": \"Stav\"\n    },\n    \"estimates\": {\n      \"estimate\": \"Cenový odhad\",\n      \"estimate_date\": \"Dátum cenového odhadu\",\n      \"due_date\": \"Dátum platnosti cenového odhadu\",\n      \"estimate_number\": \"Číslo cenového odhadu\",\n      \"ref_number\": \"Ref. Číslo\",\n      \"amount\": \"Suma\",\n      \"contact_name\": \"Kontaktná Osoba\",\n      \"status\": \"Stav\"\n    },\n    \"expenses\": {\n      \"expenses\": \"Výdaje\",\n      \"category\": \"Kategória\",\n      \"date\": \"Dátum\",\n      \"amount\": \"Suma\",\n      \"to_date\": \"Do dátumu\",\n      \"from_date\": \"Od dátumu\",\n      \"date_range\": \"Vybrať Rozsah Dátumu\"\n    }\n  },\n  \"settings\": {\n    \"menu_title\": {\n      \"account_settings\": \"Nastavenia účtu\",\n      \"company_information\": \"Informácie o Firme\",\n      \"customization\": \"Prispôsobenie\",\n      \"preferences\": \"Preferencie\",\n      \"notifications\": \"Upozornenia\",\n      \"tax_types\": \"Typy Daní\",\n      \"expense_category\": \"Kategórie cenových odhadov\",\n      \"update_app\": \"Aktualizovať Aplikáciu\",\n      \"backup\": \"Záloha\",\n      \"file_disk\": \"Súborový disk\",\n      \"custom_fields\": \"Vlastné Polia\",\n      \"payment_modes\": \"Spôsoby Platby\",\n      \"notes\": \"Poznámky\",\n      \"exchange_rate\": \"Exchange Rate\",\n      \"address_information\": \"Address Information\"\n    },\n    \"address_information\": {\n      \"section_description\": \"  You can update Your Address information using form below.\"\n    },\n    \"title\": \"Nastavenia\",\n    \"setting\": \"Nastavenia | Nastavenia\",\n    \"general\": \"Všeobecné\",\n    \"language\": \"Jazyk\",\n    \"primary_currency\": \"Hlavná Mena\",\n    \"timezone\": \"Časové Pásmo\",\n    \"date_format\": \"Formát Dátumu\",\n    \"currencies\": {\n      \"title\": \"Meny\",\n      \"currency\": \"Mena | Meny\",\n      \"currencies_list\": \"Zoznam Mien\",\n      \"select_currency\": \"Vyberte Menu\",\n      \"name\": \"Meno\",\n      \"code\": \"Kód\",\n      \"symbol\": \"Symbol\",\n      \"precision\": \"Presnosť\",\n      \"thousand_separator\": \"Oddelovač Tisíciek\",\n      \"decimal_separator\": \"Oddelovač Desatinných Miest\",\n      \"position\": \"Pozícia\",\n      \"position_of_symbol\": \"Pozícia Symbolu\",\n      \"right\": \"Vpravo\",\n      \"left\": \"Vľavo\",\n      \"action\": \"Akcia\",\n      \"add_currency\": \"Pridať novú Menu\"\n    },\n    \"mail\": {\n      \"host\": \"Host E-mailu\",\n      \"port\": \"Port E-mailu\",\n      \"driver\": \"Driver E-mailu\",\n      \"secret\": \"Tajný Kľúč (secret)\",\n      \"mailgun_secret\": \"Tajný kľúč Mailgun (secret)\",\n      \"mailgun_domain\": \"Doména\",\n      \"mailgun_endpoint\": \"Endpoint Mailgun\",\n      \"ses_secret\": \"SES Tajný Kľúč (secret)\",\n      \"ses_key\": \"SES kľúč (key)\",\n      \"password\": \"E-mailové heslo\",\n      \"username\": \"E-mailové meno (username)\",\n      \"mail_config\": \"Konfigurácia E-mailov\",\n      \"from_name\": \"Meno odosielateľa\",\n      \"from_mail\": \"E-mail odosielateľa\",\n      \"encryption\": \"E-mailová Enkrypcia\",\n      \"mail_config_desc\": \"Nižšie nájdete konfiguráciu E-mailu použitého k odosielaniu E-mailov z aplikácie Crater. Môžete taktiež nastaviť spojenie so službami tretích strán ako napríklad Sendgrid, SES a pod.\"\n    },\n    \"pdf\": {\n      \"title\": \"Nastavenia PDF\",\n      \"footer_text\": \"Text v pätičke\",\n      \"pdf_layout\": \"Rozloženie PDF\"\n    },\n    \"company_info\": {\n      \"company_info\": \"Informácie o spoločnosti\",\n      \"company_name\": \"Názov spoločnosti\",\n      \"company_logo\": \"Logo spoločnosti\",\n      \"section_description\": \"Informácie o Vašej firme, ktoré budú zobrazené na faktúrach, cenových odhadoch a iných dokumentoch vytvorených vďaka Creater.\",\n      \"phone\": \"Telefón\",\n      \"country\": \"Krajina\",\n      \"state\": \"Štát\",\n      \"city\": \"Mesto\",\n      \"address\": \"Adresa\",\n      \"zip\": \"PSČ\",\n      \"save\": \"Uložiť\",\n      \"delete\": \"Delete\",\n      \"updated_message\": \"Informácie o firme úspešne aktualizované\",\n      \"delete_company\": \"Delete Company\",\n      \"delete_company_description\": \"Once you delete your company, you will lose all the data and files associated with it permanently.\",\n      \"are_you_absolutely_sure\": \"Are you absolutely sure?\",\n      \"delete_company_modal_desc\": \"This action cannot be undone. This will permanently delete {company} and all of its associated data.\",\n      \"delete_company_modal_label\": \"Please type {company} to confirm\"\n    },\n    \"custom_fields\": {\n      \"title\": \"Vlastné Polia\",\n      \"section_description\": \"Personalizujte si Faktúry, Cenové Odhady a Potvrdenia o platbe pomocou vlastných polí. Uistite sa, že ste nižšie vytvorené polia použili v formáte adresy na stránke nastavení personalizácie.\",\n      \"add_custom_field\": \"Pridať Vlastné Pole\",\n      \"edit_custom_field\": \"Upraviť Vlastné Pole\",\n      \"field_name\": \"Meno Poľa\",\n      \"label\": \"Značka\",\n      \"type\": \"Typ\",\n      \"name\": \"Názov\",\n      \"slug\": \"Slug\",\n      \"required\": \"Povinné\",\n      \"placeholder\": \"Umiestnenie\",\n      \"help_text\": \"Pomocný Text\",\n      \"default_value\": \"Predvolená hodnota\",\n      \"prefix\": \"Predpona\",\n      \"starting_number\": \"Počiatočné Číslo\",\n      \"model\": \"Model\",\n      \"help_text_description\": \"Napíšte popis aby užívatelia lepšie pochopili význam tohto poľa.\",\n      \"suffix\": \"Prípona\",\n      \"yes\": \"Áno\",\n      \"no\": \"Nie\",\n      \"order\": \"Objednať\",\n      \"custom_field_confirm_delete\": \"Nebudete môcť obnovit toto vlastné pole\",\n      \"already_in_use\": \"Toto vlastne pole sa už používa\",\n      \"deleted_message\": \"Vlastné pole úspešne vymazané\",\n      \"options\": \"možnosti\",\n      \"add_option\": \"Pridať Možnosti\",\n      \"add_another_option\": \"Pridať ďaľšiu možnostť\",\n      \"sort_in_alphabetical_order\": \"Zoradiť v abecednom poradí\",\n      \"add_options_in_bulk\": \"Pridať hromadné možnosti\",\n      \"use_predefined_options\": \"Použiť predvolené možnosti\",\n      \"select_custom_date\": \"Vybrat vlastný dátum\",\n      \"select_relative_date\": \"Vybrať Relatívny Dátum\",\n      \"ticked_by_default\": \"Predvolene označené\",\n      \"updated_message\": \"Vlastné pole úspešne aktualizované\",\n      \"added_message\": \"Vlastne pole úspešne pridané\",\n      \"press_enter_to_add\": \"Press enter to add new option\",\n      \"model_in_use\": \"Cannot update model for fields which are already in use.\",\n      \"type_in_use\": \"Cannot update type for fields which are already in use.\"\n    },\n    \"customization\": {\n      \"customization\": \"Prispôsobenie\",\n      \"updated_message\": \"Informácie o firme úspešne aktualizované\",\n      \"save\": \"Uložiť\",\n      \"insert_fields\": \"Insert Fields\",\n      \"learn_custom_format\": \"Learn how to use custom format\",\n      \"add_new_component\": \"Add New Component\",\n      \"component\": \"Component\",\n      \"Parameter\": \"Parameter\",\n      \"series\": \"Series\",\n      \"series_description\": \"To set a static prefix/postfix like 'INV' across your company. It supports character length of up to 6 chars.\",\n      \"series_param_label\": \"Series Value\",\n      \"delimiter\": \"Delimiter\",\n      \"delimiter_description\": \"Single character for specifying the boundary between 2 separate components. By default its set to -\",\n      \"delimiter_param_label\": \"Delimiter Value\",\n      \"date_format\": \"Date Format\",\n      \"date_format_description\": \"A local date and time field which accepts a format parameter. The default format: 'Y' renders the current year.\",\n      \"date_format_param_label\": \"Format\",\n      \"sequence\": \"Sequence\",\n      \"sequence_description\": \"Consecutive sequence of numbers across your company. You can specify the length on the given parameter.\",\n      \"sequence_param_label\": \"Sequence Length\",\n      \"customer_series\": \"Customer Series\",\n      \"customer_series_description\": \"To set a different prefix/postfix for each customer.\",\n      \"customer_sequence\": \"Customer Sequence\",\n      \"customer_sequence_description\": \"Consecutive sequence of numbers for each of your customer.\",\n      \"customer_sequence_param_label\": \"Sequence Length\",\n      \"random_sequence\": \"Random Sequence\",\n      \"random_sequence_description\": \"Random alphanumeric string. You can specify the length on the given parameter.\",\n      \"random_sequence_param_label\": \"Sequence Length\",\n      \"invoices\": {\n        \"title\": \"Faktúry\",\n        \"invoice_number_format\": \"Invoice Number Format\",\n        \"invoice_number_format_description\": \"Customize how your invoice number gets generated automatically when you create a new invoice.\",\n        \"preview_invoice_number\": \"Preview Invoice Number\",\n        \"due_date\": \"Due Date\",\n        \"due_date_description\": \"Specify how due date is automatically set when you create an invoice.\",\n        \"due_date_days\": \"Invoice Due after days\",\n        \"set_due_date_automatically\": \"Set Due Date Automatically\",\n        \"set_due_date_automatically_description\": \"Enable this if you wish to set due date automatically when you create a new invoice.\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on invoice creation.\",\n        \"default_invoice_email_body\": \"Prednastavené telo e-mailu faktúry\",\n        \"company_address_format\": \"Formát firemnej adresy\",\n        \"shipping_address_format\": \"Formát doručovacej adresy\",\n        \"billing_address_format\": \"Formát fakturačnej adresy\",\n        \"invoice_email_attachment\": \"Send invoices as attachments\",\n        \"invoice_email_attachment_setting_description\": \"Enable this if you want to send invoices as email attachment. Please note that 'View Invoice' button in emails will not be displayed anymore when enabled.\",\n        \"invoice_settings_updated\": \"Invoice Settings updated successfully\",\n        \"retrospective_edits\": \"Retrospective Edits\",\n        \"allow\": \"Allow\",\n        \"disable_on_invoice_partial_paid\": \"Disable after partial payment is recorded\",\n        \"disable_on_invoice_paid\": \"Disable after full payment is recorded\",\n        \"disable_on_invoice_sent\": \"Disable after invoice is sent\",\n        \"retrospective_edits_description\": \" Based on your country's laws or your preference, you can restrict users from editing finalised invoices.\"\n      },\n      \"estimates\": {\n        \"title\": \"Cenový odhad\",\n        \"estimate_number_format\": \"Estimate Number Format\",\n        \"estimate_number_format_description\": \"Customize how your estimate number gets generated automatically when you create a new estimate.\",\n        \"preview_estimate_number\": \"Preview Estimate Number\",\n        \"expiry_date\": \"Expiry Date\",\n        \"expiry_date_description\": \"Specify how expiry date is automatically set when you create an estimate.\",\n        \"expiry_date_days\": \"Estimate Expires after days\",\n        \"set_expiry_date_automatically\": \"Set Expiry Date Automatically\",\n        \"set_expiry_date_automatically_description\": \"Enable this if you wish to set expiry date automatically when you create a new estimate.\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on estimate creation.\",\n        \"default_estimate_email_body\": \"Prednastavené telo e-mailu cenového dohadu\",\n        \"company_address_format\": \"Formát firemnej adresy\",\n        \"shipping_address_format\": \"Formát fakturačnej adresy\",\n        \"billing_address_format\": \"Formát fakturačnej adresy\",\n        \"estimate_email_attachment\": \"Send estimates as attachments\",\n        \"estimate_email_attachment_setting_description\": \"Enable this if you want to send the estimates as an email attachment. Please note that 'View Estimate' button in emails will not be displayed anymore when enabled.\",\n        \"estimate_settings_updated\": \"Estimate Settings updated successfully\",\n        \"convert_estimate_options\": \"Estimate Convert Action\",\n        \"convert_estimate_description\": \"Specify what happens to the estimate after it gets converted to an invoice.\",\n        \"no_action\": \"No action\",\n        \"delete_estimate\": \"Delete estimate\",\n        \"mark_estimate_as_accepted\": \"Mark estimate as accepted\"\n      },\n      \"payments\": {\n        \"title\": \"Platby\",\n        \"payment_number_format\": \"Payment Number Format\",\n        \"payment_number_format_description\": \"Customize how your payment number gets generated automatically when you create a new payment.\",\n        \"preview_payment_number\": \"Preview Payment Number\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on payment creation.\",\n        \"default_payment_email_body\": \"Prednastavené telo e-mailu platby\",\n        \"company_address_format\": \"Formát firemnej adresy\",\n        \"from_customer_address_format\": \"Z formátu adresy zákazníka\",\n        \"payment_email_attachment\": \"Send payments as attachments\",\n        \"payment_email_attachment_setting_description\": \"Enable this if you want to send the payment receipts as an email attachment. Please note that 'View Payment' button in emails will not be displayed anymore when enabled.\",\n        \"payment_settings_updated\": \"Payment Settings updated successfully\"\n      },\n      \"items\": {\n        \"title\": \"Položky\",\n        \"units\": \"Jednotky\",\n        \"add_item_unit\": \"Pridať Jednotku\",\n        \"edit_item_unit\": \"Upraviť Jednotku\",\n        \"unit_name\": \"Názov Jednotky\",\n        \"item_unit_added\": \"Jednotka úspešne pridaná\",\n        \"item_unit_updated\": \"Jednotka úspešne aktualizovaná\",\n        \"item_unit_confirm_delete\": \"Nebudete môcť obnoviť túto Jednotku\",\n        \"already_in_use\": \"Jednotká sa práve používa\",\n        \"deleted_message\": \"Jednotka úspešne odstránena\"\n      },\n      \"notes\": {\n        \"title\": \"Poznámky\",\n        \"description\": \"Ušetrite čas vytváraním poznámok a ich opätovným použitím vo svojich faktúrach, odhadoch a platbách.\",\n        \"notes\": \"Poznámky\",\n        \"type\": \"Typ\",\n        \"add_note\": \"Pridať poznámku\",\n        \"add_new_note\": \"Pridať Novú Poznámku\",\n        \"name\": \"Názov\",\n        \"edit_note\": \"Upraviť poznámku\",\n        \"note_added\": \"Poznámka úspešne pridaná\",\n        \"note_updated\": \"Poznámka úspešne aktualizovaná\",\n        \"note_confirm_delete\": \"Nebudete môcť obnoviť túto Poznámku\",\n        \"already_in_use\": \"Poznámka sa práve používa\",\n        \"deleted_message\": \"Poznámka úspešne odstránena\"\n      }\n    },\n    \"account_settings\": {\n      \"profile_picture\": \"Profilová Fotka\",\n      \"name\": \"Meno\",\n      \"email\": \"Email\",\n      \"password\": \"Heslo\",\n      \"confirm_password\": \"Potvrdiť heslo\",\n      \"account_settings\": \"Nastavenie účtu\",\n      \"save\": \"Uložiť\",\n      \"section_description\": \"Svoje meno, e-mail a heslo môžete aktualizovať pomocou formulára nižšie.\",\n      \"updated_message\": \"Nastavenia účtu boli úspešne aktualizované\"\n    },\n    \"user_profile\": {\n      \"name\": \"Meno\",\n      \"email\": \"Email\",\n      \"password\": \"Heslo\",\n      \"confirm_password\": \"Potvrdiť heslo\"\n    },\n    \"notification\": {\n      \"title\": \"Upozornenia\",\n      \"email\": \"Odoslať upozornenie\",\n      \"description\": \"Ktoré e-mailové upozornenia chcete dostávať keď sa niečo zmení?\",\n      \"invoice_viewed\": \"Faktúra zobrazená\",\n      \"invoice_viewed_desc\": \"Keď si váš zákazník prezerá faktúru odoslanú cez Hlavný Panel.\",\n      \"estimate_viewed\": \"Cenový odhad zobrazený\",\n      \"estimate_viewed_desc\": \"Keď si váš zákazník prezerá cenový odhad odoslaný cez Hlavný Panel.\",\n      \"save\": \"Uložiť\",\n      \"email_save_message\": \"E-mail bol úspešne uložený\",\n      \"please_enter_email\": \"Zadajte e-mail\"\n    },\n    \"roles\": {\n      \"title\": \"Roles\",\n      \"description\": \"Manage the roles & permissions of this company\",\n      \"save\": \"Save\",\n      \"add_new_role\": \"Add New Role\",\n      \"role_name\": \"Role Name\",\n      \"added_on\": \"Added on\",\n      \"add_role\": \"Add Role\",\n      \"edit_role\": \"Edit Role\",\n      \"name\": \"Name\",\n      \"permission\": \"Permission | Permissions\",\n      \"select_all\": \"Select All\",\n      \"none\": \"None\",\n      \"confirm_delete\": \"You will not be able to recover this Role\",\n      \"created_message\": \"Role created successfully\",\n      \"updated_message\": \"Role updated successfully\",\n      \"deleted_message\": \"Role deleted successfully\",\n      \"already_in_use\": \"Role is already in use\"\n    },\n    \"exchange_rate\": {\n      \"exchange_rate\": \"Exchange Rate\",\n      \"title\": \"Fix Currency Exchange issues\",\n      \"description\": \"Please enter exchange rate of all the currencies mentioned below to help Crater properly calculate the amounts in {currency}.\",\n      \"drivers\": \"Drivers\",\n      \"new_driver\": \"Add New Provider\",\n      \"edit_driver\": \"Edit Provider\",\n      \"select_driver\": \"Select Driver\",\n      \"update\": \"select exchange rate \",\n      \"providers_description\": \"Configure your exchange rate providers here to automatically fetch the latest exchange rate on transactions.\",\n      \"key\": \"API Key\",\n      \"name\": \"Name\",\n      \"driver\": \"Driver\",\n      \"is_default\": \"IS DEFAULT\",\n      \"currency\": \"Currencies\",\n      \"exchange_rate_confirm_delete\": \"You will not be able to recover this driver\",\n      \"created_message\": \"Provider Created successfully\",\n      \"updated_message\": \"Provider Updated Successfully\",\n      \"deleted_message\": \"Provider Deleted Successfully\",\n      \"error\": \" You cannot Delete Active Driver\",\n      \"default_currency_error\": \"This currency is already used in one of the Active Provider\",\n      \"exchange_help_text\": \"Enter exchange rate to convert from {currency} to {baseCurrency}\",\n      \"currency_freak\": \"Currency Freak\",\n      \"currency_layer\": \"Currency Layer\",\n      \"open_exchange_rate\": \"Open Exchange Rate\",\n      \"currency_converter\": \"Currency Converter\",\n      \"server\": \"Server\",\n      \"url\": \"URL\",\n      \"active\": \"Active\",\n      \"currency_help_text\": \"This provider will only be used on above selected currencies\",\n      \"currency_in_used\": \"The following currencies are already active on another provider. Please remove these currencies from selection to activate this provider again.\"\n    },\n    \"tax_types\": {\n      \"title\": \"Typ daní\",\n      \"add_tax\": \"Pridať daň\",\n      \"edit_tax\": \"Upraviť Daň\",\n      \"description\": \"Môžete pridať alebo odobrať dane. Crater podporuje dane jednotlivých položiek aj na faktúre.\",\n      \"add_new_tax\": \"Pridať Novú Daň\",\n      \"tax_settings\": \"Nastavenia daní\",\n      \"tax_per_item\": \"Daň pre každú Položku zvlášť\",\n      \"tax_name\": \"Názov Dane\",\n      \"compound_tax\": \"Zložená daň\",\n      \"percent\": \"Percento\",\n      \"action\": \"Akcia\",\n      \"tax_setting_description\": \"Túto možnosť povoľte, ak chcete pridať dane k jednotlivým položkám faktúr. Štandardne sa dane pripočítavajú priamo k faktúre.\",\n      \"created_message\": \"Daň úspešne vytvorená\",\n      \"updated_message\": \"Daň úspešne aktualizovaná\",\n      \"deleted_message\": \"Daň úspešne odstránená\",\n      \"confirm_delete\": \"Nebudete môcť obnoviť daň\",\n      \"already_in_use\": \"Daň už sa už požíva\"\n    },\n    \"payment_modes\": {\n      \"title\": \"Payment Modes\",\n      \"description\": \"Modes of transaction for payments\",\n      \"add_payment_mode\": \"Add Payment Mode\",\n      \"edit_payment_mode\": \"Edit Payment Mode\",\n      \"mode_name\": \"Mode Name\",\n      \"payment_mode_added\": \"Payment Mode Added\",\n      \"payment_mode_updated\": \"Payment Mode Updated\",\n      \"payment_mode_confirm_delete\": \"You will not be able to recover this Payment Mode\",\n      \"payments_attached\": \"This payment method is already attached to payments. Please delete the attached payments to proceed with deletion.\",\n      \"expenses_attached\": \"This payment method is already attached to expenses. Please delete the attached expenses to proceed with deletion.\",\n      \"deleted_message\": \"Payment Mode deleted successfully\"\n    },\n    \"expense_category\": {\n      \"title\": \"Kategórie výdajov\",\n      \"action\": \"Akcia\",\n      \"description\": \"Na pridanie položiek výdavkov sú povinné kategórie. Tieto kategórie môžete pridať alebo odstrániť podľa svojich preferencií.\",\n      \"add_new_category\": \"Pridať Novú Kategóriu\",\n      \"add_category\": \"Pridať Kategóriu\",\n      \"edit_category\": \"Upraviť Kategóriu\",\n      \"category_name\": \"Názov Kategórie\",\n      \"category_description\": \"Popis\",\n      \"created_message\": \"Kategória cenového odhadu úspešne vytvorená\",\n      \"deleted_message\": \"Kategória cenového odhadu úspešne odstránena\",\n      \"updated_message\": \"Kategória cenového odhadu úspešne aktualizovaná\",\n      \"confirm_delete\": \"Nebudete môcť obnoviť túto kategóriu cenových odhadov\",\n      \"already_in_use\": \"Kategória sa už používa\"\n    },\n    \"preferences\": {\n      \"currency\": \"Mena\",\n      \"default_language\": \"Predvolený Jazyk\",\n      \"time_zone\": \"Časové Pásmo\",\n      \"fiscal_year\": \"Fiškálny Rok\",\n      \"date_format\": \"Formát Dátumu\",\n      \"discount_setting\": \"Nastavenia Zľavy\",\n      \"discount_per_item\": \"Zľava pre každú Položku zvlášť \",\n      \"discount_setting_description\": \"Túto možnosť povoľte, ak chcete pridať zľavu k jednotlivým položkám faktúry. Štandardne sa zľava pripočítava priamo k faktúre.\",\n      \"expire_public_links\": \"Automatically Expire Public Links\",\n      \"expire_setting_description\": \"Specify whether you would like to expire all the links sent by application to view invoices, estimates & payments, etc after a specified duration.\",\n      \"save\": \"Uložiť\",\n      \"preference\": \"Preferencie | Preferencie\",\n      \"general_settings\": \"Systémovo predvolené preferencie.\",\n      \"updated_message\": \"Preferencie úspešne aktualizované\",\n      \"select_language\": \"Vyberte Jazyk\",\n      \"select_time_zone\": \"Vyberte Časové Pásmo\",\n      \"select_date_format\": \"Vybrať Formát Dátumu\",\n      \"select_financial_year\": \"Vyberte Fiškálny Rok\",\n      \"recurring_invoice_status\": \"Recurring Invoice Status\",\n      \"create_status\": \"Create Status\",\n      \"active\": \"Active\",\n      \"on_hold\": \"On Hold\",\n      \"update_status\": \"Update Status\",\n      \"completed\": \"Completed\",\n      \"company_currency_unchangeable\": \"Company currency cannot be changed\"\n    },\n    \"update_app\": {\n      \"title\": \"Aktualizovať Aplikáciu\",\n      \"description\": \"Aplikáciu môžte jednoducho aktualizovať tlačitkom nižšie\",\n      \"check_update\": \"Skontrolovať Aktualizácie\",\n      \"avail_update\": \"Nová aktualizácia je k dispozícii\",\n      \"next_version\": \"Ďalšia Verzia\",\n      \"requirements\": \"Požiadavky\",\n      \"update\": \"Aktualizovať\",\n      \"update_progress\": \"Aktualizácia prebieha...\",\n      \"progress_text\": \"Bude to trvať len pár minút. Pred dokončením aktualizácie neobnovujte obrazovku ani nezatvárajte okno.\",\n      \"update_success\": \"App bola aktualizovaná! Počkajte, kým sa okno vášho prehliadača načíta automaticky.\",\n      \"latest_message\": \"Nie je k dispozícii žiadna aktualizácia! Používate najnovšiu verziu.\",\n      \"current_version\": \"Aktuálna verzia\",\n      \"download_zip_file\": \"Stiahnuť ZIP súbor\",\n      \"unzipping_package\": \"Rozbaliť balík\",\n      \"copying_files\": \"Kopírovanie súborov\",\n      \"deleting_files\": \"Deleting Unused files\",\n      \"running_migrations\": \"Prebieha Migrácia\",\n      \"finishing_update\": \"Ukončovanie Aktualizácie\",\n      \"update_failed\": \"Aktualizácia zlyhala!\",\n      \"update_failed_text\": \"Aktualizácia zlyhala na : {step} kroku\",\n      \"update_warning\": \"All of the application files and default template files will be overwritten when you update the application using this utility. Please take a backup of your templates & database before updating.\"\n    },\n    \"backup\": {\n      \"title\": \"Záloha | Zálohy\",\n      \"description\": \"Záloha je vo formáte zip ktorý obsahuje všetky súbory v adresároch vrátane výpisu z databázy.\",\n      \"new_backup\": \"Vytvoriť zálohu\",\n      \"create_backup\": \"Vytvoriť zálohu\",\n      \"select_backup_type\": \"Vybrať typ zálohy\",\n      \"backup_confirm_delete\": \"Nebude možné obnoviť túto zálohu\",\n      \"path\": \"cesta\",\n      \"new_disk\": \"Nový Disk\",\n      \"created_at\": \"vytvorené\",\n      \"size\": \"velkost\",\n      \"dropbox\": \"dropbox\",\n      \"local\": \"local\",\n      \"healthy\": \"v poriadku\",\n      \"amount_of_backups\": \"počet záloh\",\n      \"newest_backups\": \"najnovšie zálohy\",\n      \"used_storage\": \"využité miesto na disku\",\n      \"select_disk\": \"Vybrať disk\",\n      \"action\": \"Akcia\",\n      \"deleted_message\": \"Záloha úspešne vymazaná\",\n      \"created_message\": \"Záloha úspešne vytvorená\",\n      \"invalid_disk_credentials\": \"Nesprávne prihlasovacie údaje na disk\"\n    },\n    \"disk\": {\n      \"title\": \"File Disk | File Disks\",\n      \"description\": \"V predvolenom nastavení použije Crater váš lokálny disk na ukladanie záloh, avatarov a iných obrazových súborov. Môžete nakonfigurovať viac ako jeden disku ako napr. DigitalOcean, S3 a Dropbox podľa vašich preferencií.\",\n      \"created_at\": \"vytvorené\",\n      \"dropbox\": \"Dropbox\",\n      \"name\": \"Názov\",\n      \"driver\": \"Driver\",\n      \"disk_type\": \"Typ\",\n      \"disk_name\": \"Názov Disku\",\n      \"new_disk\": \"Pridať Nový Disk\",\n      \"filesystem_driver\": \"Driver systémových súborov\",\n      \"local_driver\": \"lokálny Driver\",\n      \"local_root\": \"Lokálka Cesta (root)\",\n      \"public_driver\": \"Verejný Driver\",\n      \"public_root\": \"Verejná Cesta (root)\",\n      \"public_url\": \"Verejná URL\",\n      \"public_visibility\": \"Viditeľné pre Verejnosť\",\n      \"media_driver\": \"Driver médií\",\n      \"media_root\": \"Root médií\",\n      \"aws_driver\": \"AWS Driver\",\n      \"aws_key\": \"AWS Kľúč (key)\",\n      \"aws_secret\": \"AWS Tajný Kľúč (secret)\",\n      \"aws_region\": \"AWS Región\",\n      \"aws_bucket\": \"AWP Bucket\",\n      \"aws_root\": \"AWP Cesta (root)\",\n      \"do_spaces_type\": \"Do Spaces type\",\n      \"do_spaces_key\": \"Do Spaces key\",\n      \"do_spaces_secret\": \"Do Spaces Secret\",\n      \"do_spaces_region\": \"Do Spaces Region\",\n      \"do_spaces_bucket\": \"Do Spaces Bucket\",\n      \"do_spaces_endpoint\": \"Do Spaces Endpoint\",\n      \"do_spaces_root\": \"Do Spaces Root\",\n      \"dropbox_type\": \"Dropbox Type\",\n      \"dropbox_token\": \"Dropbox Token\",\n      \"dropbox_key\": \"Dropbox Key\",\n      \"dropbox_secret\": \"Dropbox Secret\",\n      \"dropbox_app\": \"Dropbox App\",\n      \"dropbox_root\": \"Dropbox Root\",\n      \"default_driver\": \"Predvolený Driver\",\n      \"is_default\": \"Je predvolený\",\n      \"set_default_disk\": \"Nastaviť predvolený disk\",\n      \"set_default_disk_confirm\": \"This disk will be set as default and all the new PDFs will be saved on this disk\",\n      \"success_set_default_disk\": \"Disk úspešne nastavený ako predvolený\",\n      \"save_pdf_to_disk\": \"Ulož PDFs na Disk\",\n      \"disk_setting_description\": \"Túto možnosť povoľte ak si chcete automaticky uložiť kópiu každého súboru PDF s fakturami, odhadmi a príjmami na predvolený disk. Použitím tejto možnosti skrátite dobu načítania pri prezeraní súborov PDF.\",\n      \"select_disk\": \"Vybrať Disk\",\n      \"disk_settings\": \"Nastavenie Disku\",\n      \"confirm_delete\": \"Vaše existujúce súbory a priečinky na zadanom disku nebudú ovplyvnené ale konfigurácia vášho disku bude odstránená z Crateru\",\n      \"action\": \"Akcia\",\n      \"edit_file_disk\": \"Upravit Disk\",\n      \"success_create\": \"Disk úspešne pridaný\",\n      \"success_update\": \"Disk úspešne aktualizovaný\",\n      \"error\": \"Pridanie disku zlyhalo\",\n      \"deleted_message\": \"Disk bol úspešne odstránený\",\n      \"disk_variables_save_successfully\": \"Disk bol úspešne pridaný\",\n      \"disk_variables_save_error\": \"Konfigurácia disku zlyhala.\",\n      \"invalid_disk_credentials\": \"Neplatné prihlasovacie údaje pre Disk\"\n    },\n    \"taxations\": {\n      \"add_billing_address\": \"Enter Billing Address\",\n      \"add_shipping_address\": \"Enter Shipping Address\",\n      \"add_company_address\": \"Enter Company Address\",\n      \"modal_description\": \"The information below is required in order to fetch sales tax.\",\n      \"add_address\": \"Add Address for fetching sales tax.\",\n      \"address_placeholder\": \"Example: 123, My Street\",\n      \"city_placeholder\": \"Example: Los Angeles\",\n      \"state_placeholder\": \"Example: CA\",\n      \"zip_placeholder\": \"Example: 90024\",\n      \"invalid_address\": \"Please provide valid address details.\"\n    }\n  },\n  \"wizard\": {\n    \"account_info\": \"Informácie o účte\",\n    \"account_info_desc\": \"Nižšie uvedené podrobnosti sa použijú na vytvorenie hlavného účtu správcu. Tie môžete kedykoľvek zmeniť po prihlásení.\",\n    \"name\": \"Meno\",\n    \"email\": \"Email\",\n    \"password\": \"Heslo\",\n    \"confirm_password\": \"Potvrdiť heslo\",\n    \"save_cont\": \"Uložiť a pokračovať\",\n    \"company_info\": \"Firemné údaje\",\n    \"company_info_desc\": \"Tieto informácie sa zobrazia na faktúrach. Neskôr ich však môžete upraviť.\",\n    \"company_name\": \"Názov firmy\",\n    \"company_logo\": \"Firemné logo\",\n    \"logo_preview\": \"Náhľad loga\",\n    \"preferences\": \"Preferencie\",\n    \"preferences_desc\": \"Predvolené nastavenie systému.\",\n    \"currency_set_alert\": \"The company's currency cannot be changed later.\",\n    \"country\": \"Krajina\",\n    \"state\": \"Štát\",\n    \"city\": \"Mesto\",\n    \"address\": \"Adresa\",\n    \"street\": \"Ulica1 | Ulica2\",\n    \"phone\": \"Telefón\",\n    \"zip_code\": \"PSČ\",\n    \"go_back\": \"Naspäť\",\n    \"currency\": \"Mena\",\n    \"language\": \"Jazyk\",\n    \"time_zone\": \"Časové pásmo\",\n    \"fiscal_year\": \"Fiškálny rok\",\n    \"date_format\": \"Formát dátumu\",\n    \"from_address\": \"Z adresy\",\n    \"username\": \"Prihlasovacie meno\",\n    \"next\": \"Ďaľší\",\n    \"continue\": \"Pokračovať\",\n    \"skip\": \"Vynechať\",\n    \"database\": {\n      \"database\": \"URL Adresa Aplikácie a Databáza\",\n      \"connection\": \"Pripojenie k databáze\",\n      \"host\": \"Databáza - Host\",\n      \"port\": \"Databáza - Port\",\n      \"password\": \"Heslo do databázy\",\n      \"app_url\": \"URL Adresa Aplikácie\",\n      \"app_domain\": \"Doména aplikácie\",\n      \"username\": \"Prihlasovacie meno do databázy\",\n      \"db_name\": \"Názov databázy\",\n      \"db_path\": \"Databázá - cesta (path)\",\n      \"desc\": \"Vytvorte databázu na svojom serveri a pomocou nasledujúceho formulára nastavte poverenia.\"\n    },\n    \"permissions\": {\n      \"permissions\": \"Oprávnenia\",\n      \"permission_confirm_title\": \"Ste si istý že chcete pokračovať?\",\n      \"permission_confirm_desc\": \"Nedostatočné oprávnenia na priečinky inštalácie\",\n      \"permission_desc\": \"Nižšie je uvedený zoznam povolení priečinkov ktoré sú potrebné na fungovanie aplikácie. Ak kontrola povolení zlyhá nezabudnite aktualizovať povolenia priečinka.\"\n    },\n    \"verify_domain\": {\n      \"title\": \"Domain Verification\",\n      \"desc\": \"Crater uses Session based authentication which requires domain verification for security purposes. Please enter the domain on which you will be accessing your web application.\",\n      \"app_domain\": \"App Domain\",\n      \"verify_now\": \"Verify Now\",\n      \"success\": \"Domain Verify Successfully.\",\n      \"failed\": \"Domain verification failed. Please enter valid domain name.\",\n      \"verify_and_continue\": \"Verify And Continue\"\n    },\n    \"mail\": {\n      \"host\": \"Mail Host\",\n      \"port\": \"Mail Port\",\n      \"driver\": \"Mail Driver\",\n      \"secret\": \"Secret\",\n      \"mailgun_secret\": \"Mailgun Secret\",\n      \"mailgun_domain\": \"Domain\",\n      \"mailgun_endpoint\": \"Mailgun Endpoint\",\n      \"ses_secret\": \"SES Secret\",\n      \"ses_key\": \"SES Key\",\n      \"password\": \"Mail Password\",\n      \"username\": \"Mail Username\",\n      \"mail_config\": \"Mail Configuration\",\n      \"from_name\": \"From Mail Name\",\n      \"from_mail\": \"From Mail Address\",\n      \"encryption\": \"Mail Encryption\",\n      \"mail_config_desc\": \"Nižšie je uvedený formulár na konfiguráciu ovládača e-mailu na odosielanie e-mailov z aplikácie. Môžete tiež nakonfigurovať aj externých poskytovateľov napríklad Sendgrid apod.\"\n    },\n    \"req\": {\n      \"system_req\": \"Systémové požiadavky\",\n      \"php_req_version\": \"Php (verzia {version} požadovaná)\",\n      \"check_req\": \"Skontrolujte požiadavky\",\n      \"system_req_desc\": \"Crater má niekoľko požiadaviek na server. Skontrolujte či má váš server požadovanú verziu php a všetky moduly uvedené nižšie.\"\n    },\n    \"errors\": {\n      \"migrate_failed\": \"Migráci zlyhala\",\n      \"database_variables_save_error\": \"Nie je možné zapísať konfiguráciu do .env file. Skontrolujte oprávnenia\",\n      \"mail_variables_save_error\": \"Konfigurácia emailu zlyhala.\",\n      \"connection_failed\": \"Pripojenie k databáze zlyhalo\",\n      \"database_should_be_empty\": \"Databáza musí byť prázdna\"\n    },\n    \"success\": {\n      \"mail_variables_save_successfully\": \"Email úspešne nakonfigurovaný\",\n      \"database_variables_save_successfully\": \"Databáza úspešne nakonfigurovaná.\"\n    }\n  },\n  \"validation\": {\n    \"invalid_phone\": \"Zlé telefónné číslo\",\n    \"invalid_url\": \"Nesprávna URL adresa (ex: http://www.crater.com)\",\n    \"invalid_domain_url\": \"Nesprávna URL (ex: crater.com)\",\n    \"required\": \"Povinné pole\",\n    \"email_incorrect\": \"Zlý email.\",\n    \"email_already_taken\": \"Email sa uz používa.\",\n    \"email_does_not_exist\": \"Používateľ s týmto emailom neexistuje.\",\n    \"item_unit_already_taken\": \"Názov tejto položky sa už používa\",\n    \"payment_mode_already_taken\": \"Názov tohto typu platby sa už používa\",\n    \"send_reset_link\": \"Odoslať resetovací link\",\n    \"not_yet\": \"Email ešte neprišiel? Znova odoslať\",\n    \"password_min_length\": \"Heslo musí obsahovať {count} znaky\",\n    \"name_min_length\": \"Meno musí mať minimálne {count} písmen.\",\n    \"prefix_min_length\": \"Prefix must have at least {count} letters.\",\n    \"enter_valid_tax_rate\": \"Zadajte platnú sadzbu dane\",\n    \"numbers_only\": \"Iba čísla.\",\n    \"characters_only\": \"Iba znaky.\",\n    \"password_incorrect\": \"Heslá musia byť rovnaké\",\n    \"password_length\": \"Heslo musi obsahovať minimálne {count} znakov.\",\n    \"qty_must_greater_than_zero\": \"Množstvo musí byť viac ako 0.\",\n    \"price_greater_than_zero\": \"Cena musí byť viac ako 0.\",\n    \"payment_greater_than_zero\": \"Platba musí byť viac ako   0.\",\n    \"payment_greater_than_due_amount\": \"Zadaná platba je vyššia ako suma na faktúre.\",\n    \"quantity_maxlength\": \"Množstvo by nemalo obsahovať ako 20 číslic.\",\n    \"price_maxlength\": \"Cena by nemala obsahovať viac ako 20 číslic.\",\n    \"price_minvalue\": \"Suma musi byť vyššia ako 0.\",\n    \"amount_maxlength\": \"Čiastka by nemala obsahovať viac ako 20 číslic.\",\n    \"amount_minvalue\": \"Čiastka musí byť vačšia ako 0.\",\n    \"discount_maxlength\": \"Discount should not be greater than max discount\",\n    \"description_maxlength\": \"Popis nesmie obsahovať viac ako 255 znaokv.\",\n    \"subject_maxlength\": \"Predmet nesmie obsahovať viac ako 100 znakov.\",\n    \"message_maxlength\": \"Správa nesmie obsahovať viac ako 255 znakov.\",\n    \"maximum_options_error\": \"Maximálny počet z {max} možnosti vybraný. Najprv odstránte aspoň jednu možnost a následne vyberte inú.\",\n    \"notes_maxlength\": \"Poznámky nesmú obsahovať viac ako 100 znakov.\",\n    \"address_maxlength\": \"Adresa nesmie obsahovať viac ako 255 znakov\",\n    \"ref_number_maxlength\": \"Referenčné čislo nesmie obsahovať viac ako 255 znakov\",\n    \"prefix_maxlength\": \"Predpona nesmie mať viac ako 5 znakov.\",\n    \"something_went_wrong\": \"Niečo neprebehlo v poriadku, odskúšajte prosím znova.\",\n    \"number_length_minvalue\": \"Number length should be greater than 0\",\n    \"at_least_one_ability\": \"Please select atleast one Permission.\",\n    \"valid_driver_key\": \"Please enter a valid {driver} key.\",\n    \"valid_exchange_rate\": \"Please enter a valid exchange rate.\",\n    \"company_name_not_same\": \"Company name must match with given name.\"\n  },\n  \"errors\": {\n    \"starter_plan\": \"This feature is available on Starter plan and onwards!\",\n    \"invalid_provider_key\": \"Please Enter Valid Provider API Key.\",\n    \"estimate_number_used\": \"The estimate number has already been taken.\",\n    \"invoice_number_used\": \"The invoice number has already been taken.\",\n    \"payment_attached\": \"This invoice already has a payment attached to it. Make sure to delete the attached payments first in order to go ahead with the removal.\",\n    \"payment_number_used\": \"The payment number has already been taken.\",\n    \"name_already_taken\": \"The name has already been taken.\",\n    \"receipt_does_not_exist\": \"Receipt does not exist.\",\n    \"customer_cannot_be_changed_after_payment_is_added\": \"Customer cannot be change after payment is added\",\n    \"invalid_credentials\": \"Invalid  Credentials.\",\n    \"not_allowed\": \"Not Allowed\",\n    \"login_invalid_credentials\": \"These credentials do not match our records.\",\n    \"enter_valid_cron_format\": \"Please enter a valid cron format\",\n    \"email_could_not_be_sent\": \"Email could not be sent to this email address.\",\n    \"invalid_address\": \"Please enter a valid address.\",\n    \"invalid_key\": \"Please enter valid key.\",\n    \"invalid_state\": \"Please enter a valid state.\",\n    \"invalid_city\": \"Please enter a valid city.\",\n    \"invalid_postal_code\": \"Please enter a valid zip.\",\n    \"invalid_format\": \"Please enter valid query string format.\",\n    \"api_error\": \"Server not responding.\",\n    \"feature_not_enabled\": \"Feature not enabled.\",\n    \"request_limit_met\": \"Api request limit exceeded.\",\n    \"address_incomplete\": \"Incomplete Address\"\n  },\n  \"pdf_estimate_label\": \"Cenový odhad\",\n  \"pdf_estimate_number\": \"Číslo cenového odhadu\",\n  \"pdf_estimate_date\": \"Dátum cenového odhadu\",\n  \"pdf_estimate_expire_date\": \"Platnosť cenového odhadu\",\n  \"pdf_invoice_label\": \"Faktúra\",\n  \"pdf_invoice_number\": \"Číslo faktúry\",\n  \"pdf_invoice_date\": \"Dátum vystavenia\",\n  \"pdf_invoice_due_date\": \"Dátum splatnosti\",\n  \"pdf_notes\": \"Poznámky\",\n  \"pdf_items_label\": \"Položky\",\n  \"pdf_quantity_label\": \"Počet\",\n  \"pdf_price_label\": \"Cena\",\n  \"pdf_discount_label\": \"Zľava\",\n  \"pdf_amount_label\": \"Celkom\",\n  \"pdf_subtotal\": \"Medzisúčet\",\n  \"pdf_total\": \"Súčet\",\n  \"pdf_payment_label\": \"Payment\",\n  \"pdf_payment_receipt_label\": \"Doklad o zaplatení\",\n  \"pdf_payment_date\": \"Dátum platby\",\n  \"pdf_payment_number\": \"Číslo platby\",\n  \"pdf_payment_mode\": \"Spôsob platby\",\n  \"pdf_payment_amount_received_label\": \"Prijatá suma\",\n  \"pdf_expense_report_label\": \"Report výdajov\",\n  \"pdf_total_expenses_label\": \"Celkové výdaje\",\n  \"pdf_profit_loss_label\": \"Zisky a straty\",\n  \"pdf_sales_customers_label\": \"Sales Customer Report\",\n  \"pdf_sales_items_label\": \"Sales Item Report\",\n  \"pdf_tax_summery_label\": \"Tax Summary Report\",\n  \"pdf_income_label\": \"Príjem\",\n  \"pdf_net_profit_label\": \"Čistý príjem\",\n  \"pdf_customer_sales_report\": \"Report predajov: Podľa zákazníkov\",\n  \"pdf_total_sales_label\": \"Celkové predaje\",\n  \"pdf_item_sales_label\": \"Report predajov: Podľa položky\",\n  \"pdf_tax_report_label\": \"Report daní\",\n  \"pdf_total_tax_label\": \"Celkové dane\",\n  \"pdf_tax_types_label\": \"Typy daní\",\n  \"pdf_expenses_label\": \"Výdaje\",\n  \"pdf_bill_to\": \"Fakturovať,\",\n  \"pdf_ship_to\": \"Doručiť,\",\n  \"pdf_received_from\": \"Prijaté od:\",\n  \"pdf_tax_label\": \"Tax\"\n}\n"
  },
  {
    "path": "resources/scripts/locales/sl.json",
    "content": "{\n  \"navigation\": {\n    \"dashboard\": \"Nadzorna plošča\",\n    \"customers\": \"Stranke\",\n    \"items\": \"Izdelki\",\n    \"invoices\": \"Računi\",\n    \"recurring-invoices\": \"Ponavljajoči računi\",\n    \"expenses\": \"Stroški\",\n    \"estimates\": \"Predvideno\",\n    \"payments\": \"Plačila\",\n    \"reports\": \"Poročila\",\n    \"settings\": \"Nastavitve\",\n    \"logout\": \"Odjava\",\n    \"users\": \"Uporabniki\",\n    \"modules\": \"Modules\"\n  },\n  \"general\": {\n    \"add_company\": \"Dodaj Podjetje\",\n    \"view_pdf\": \"Poglej PDF\",\n    \"copy_pdf_url\": \"Kopiraj PDF Url\",\n    \"download_pdf\": \"Naloži PDF\",\n    \"save\": \"Shrani\",\n    \"create\": \"Ustvari\",\n    \"cancel\": \"Prekliči\",\n    \"update\": \"Posodobi\",\n    \"deselect\": \"Prekliči izbor\",\n    \"download\": \"Prenesi\",\n    \"from_date\": \"Datum od\",\n    \"to_date\": \"Do datuma\",\n    \"from\": \"Od\",\n    \"to\": \"Do\",\n    \"ok\": \"V redu\",\n    \"yes\": \"Da\",\n    \"no\": \"Ne\",\n    \"sort_by\": \"Razvrsti po\",\n    \"ascending\": \"Naraščajoče\",\n    \"descending\": \"Padajoče\",\n    \"subject\": \"Naslov\",\n    \"body\": \"Vsebina\",\n    \"message\": \"Sporočilo\",\n    \"send\": \"Pošlji\",\n    \"preview\": \"Predogled\",\n    \"go_back\": \"Pojdi nazaj\",\n    \"back_to_login\": \"Nazaj na prijavo?\",\n    \"home\": \"Domov\",\n    \"filter\": \"Filter\",\n    \"delete\": \"Izbriši\",\n    \"edit\": \"Uredi\",\n    \"view\": \"Pogled\",\n    \"add_new_item\": \"Dodaj nov element\",\n    \"clear_all\": \"Počisti vse\",\n    \"showing\": \"Prikazujem\",\n    \"of\": \"od\",\n    \"actions\": \"Dejanja\",\n    \"subtotal\": \"SUBTOTAL\",\n    \"discount\": \"POPUST\",\n    \"fixed\": \"Fixed\",\n    \"percentage\": \"Procent\",\n    \"tax\": \"Davek\",\n    \"total_amount\": \"SKUPNI ZNESEK\",\n    \"bill_to\": \"Račun na\",\n    \"ship_to\": \"Poslano na\",\n    \"due\": \"Zapadlost\",\n    \"draft\": \"Osnutek\",\n    \"sent\": \"Poslano\",\n    \"all\": \"Vse\",\n    \"select_all\": \"Izberi vse\",\n    \"select_template\": \"Izberi predlogo\",\n    \"choose_file\": \"Kliknite tukaj, da izberete datoteko\",\n    \"choose_template\": \"Izberi predlogo\",\n    \"choose\": \"Izberi\",\n    \"remove\": \"Odstrani\",\n    \"select_a_status\": \"Izberite stanje\",\n    \"select_a_tax\": \"Izberi davek\",\n    \"search\": \"Išči\",\n    \"are_you_sure\": \"Ali ste prepričani?\",\n    \"list_is_empty\": \"Seznam je prazen.\",\n    \"no_tax_found\": \"Davka ni bilo mogoče najti!\",\n    \"four_zero_four\": \"404\",\n    \"you_got_lost\": \"Ups! Izgubili ste se!\",\n    \"go_home\": \"Pojdi domov\",\n    \"test_mail_conf\": \"Preskusite konfiguracijo e-pošte\",\n    \"send_mail_successfully\": \"E-pošta uspešno poslana\",\n    \"setting_updated\": \"Nastavitve uspešno posodobljene\",\n    \"select_state\": \"Izberite zvezno državo\",\n    \"select_country\": \"Izberite državo\",\n    \"select_city\": \"Izberite mesto\",\n    \"street_1\": \"Ulica 1\",\n    \"street_2\": \"Ulica 2\",\n    \"action_failed\": \"Postopek ni uspel\",\n    \"retry\": \"Poizkusi znova\",\n    \"choose_note\": \"Izberite Opombo\",\n    \"no_note_found\": \"Opomba ni bila najdena\",\n    \"insert_note\": \"Vstavi opombo\",\n    \"copied_pdf_url_clipboard\": \"Copied PDF url to clipboard!\",\n    \"copied_url_clipboard\": \"Copied url to clipboard!\",\n    \"docs\": \"Docs\",\n    \"do_you_wish_to_continue\": \"Do you wish to continue?\",\n    \"note\": \"Note\",\n    \"pay_invoice\": \"Pay Invoice\",\n    \"login_successfully\": \"Logged in successfully!\",\n    \"logged_out_successfully\": \"Logged out successfully\",\n    \"mark_as_default\": \"Mark as default\"\n  },\n  \"dashboard\": {\n    \"select_year\": \"Izberite leto\",\n    \"cards\": {\n      \"due_amount\": \"Amount Due\",\n      \"customers\": \"Stranke\",\n      \"invoices\": \"Računi\",\n      \"estimates\": \"Estimates\",\n      \"payments\": \"Payments\"\n    },\n    \"chart_info\": {\n      \"total_sales\": \"Sales\",\n      \"total_receipts\": \"Receipts\",\n      \"total_expense\": \"Stroški\",\n      \"net_income\": \"Neto prihodki\",\n      \"year\": \"Izberite leto\"\n    },\n    \"monthly_chart\": {\n      \"title\": \"Sales & Expenses\"\n    },\n    \"recent_invoices_card\": {\n      \"title\": \"Due Invoices\",\n      \"due_on\": \"Due On\",\n      \"customer\": \"Stranka\",\n      \"amount_due\": \"Amount Due\",\n      \"actions\": \"Dejanja\",\n      \"view_all\": \"Prikaži vse\"\n    },\n    \"recent_estimate_card\": {\n      \"title\": \"Recent Estimates\",\n      \"date\": \"Date\",\n      \"customer\": \"Stranka\",\n      \"amount_due\": \"Amount Due\",\n      \"actions\": \"Actions\",\n      \"view_all\": \"Prikaži vse\"\n    }\n  },\n  \"tax_types\": {\n    \"name\": \"Name\",\n    \"description\": \"Description\",\n    \"percent\": \"Percent\",\n    \"compound_tax\": \"Compound Tax\"\n  },\n  \"global_search\": {\n    \"search\": \"Search...\",\n    \"customers\": \"Stranke\",\n    \"users\": \"Users\",\n    \"no_results_found\": \"No Results Found\"\n  },\n  \"company_switcher\": {\n    \"label\": \"SWITCH COMPANY\",\n    \"no_results_found\": \"No Results Found\",\n    \"add_new_company\": \"Add new company\",\n    \"new_company\": \"New company\",\n    \"created_message\": \"Company created successfully\"\n  },\n  \"dateRange\": {\n    \"today\": \"Today\",\n    \"this_week\": \"This Week\",\n    \"this_month\": \"This Month\",\n    \"this_quarter\": \"This Quarter\",\n    \"this_year\": \"This Year\",\n    \"previous_week\": \"Previous Week\",\n    \"previous_month\": \"Previous Month\",\n    \"previous_quarter\": \"Previous Quarter\",\n    \"previous_year\": \"Predhodnje Leto\",\n    \"custom\": \"Po meri\"\n  },\n  \"customers\": {\n    \"title\": \"Stranke\",\n    \"prefix\": \"Predznak\",\n    \"add_customer\": \"Dodajte uporabnika\",\n    \"contacts_list\": \"Seznam uporabnikov\",\n    \"name\": \"Ime\",\n    \"mail\": \"E-pošta\",\n    \"statement\": \"Izjava\",\n    \"display_name\": \"Prikazano ime\",\n    \"primary_contact_name\": \"Glavni naziv\",\n    \"contact_name\": \"Naziv\",\n    \"amount_due\": \"Zapadli znesek\",\n    \"email\": \"E-pošta\",\n    \"address\": \"Naslov\",\n    \"phone\": \"Telefon\",\n    \"website\": \"Spletna stran\",\n    \"overview\": \"Pregled\",\n    \"invoice_prefix\": \"Predpona računa\",\n    \"estimate_prefix\": \"Predpona ocene\",\n    \"payment_prefix\": \"Predpona plačila\",\n    \"enable_portal\": \"Omogoči portal\",\n    \"country\": \"Država\",\n    \"state\": \"Območje\",\n    \"city\": \"Mesto\",\n    \"zip_code\": \"Poštna številka\",\n    \"added_on\": \"Dodano na\",\n    \"action\": \"Dejanje\",\n    \"password\": \"Geslo\",\n    \"confirm_password\": \"Potrdi geslo\",\n    \"street_number\": \"Številka ulice\",\n    \"primary_currency\": \"Primarna valuta\",\n    \"description\": \"Opis\",\n    \"add_new_customer\": \"Dodajte uporabnika\",\n    \"save_customer\": \"Shrani uporabnika\",\n    \"update_customer\": \"Posodobi uporabnika\",\n    \"customer\": \"Uporabnik | Uporabniki\",\n    \"new_customer\": \"Nov uporabnik\",\n    \"edit_customer\": \"Urejanje uporabnika\",\n    \"basic_info\": \"Osnovne informacije\",\n    \"portal_access\": \"Portal Access\",\n    \"portal_access_text\": \"Would you like to allow this customer to login to the Customer Portal?\",\n    \"portal_access_url\": \"Customer Portal Login URL\",\n    \"portal_access_url_help\": \"Please copy & forward the above given URL to your customer for providing access.\",\n    \"billing_address\": \"Naslov prejemnika računa\",\n    \"shipping_address\": \"Naslov za dostavo\",\n    \"copy_billing_address\": \"Kopiraj iz računa\",\n    \"no_customers\": \"Strank še ni!\",\n    \"no_customers_found\": \"Strank še ni!\",\n    \"no_contact\": \"Ni stikov\",\n    \"no_contact_name\": \"Ni kontaktnega imena\",\n    \"list_of_customers\": \"Ta razdelek bo vseboval seznam strank.\",\n    \"primary_display_name\": \"Primarno prikazano ime\",\n    \"select_currency\": \"Izberi valuto\",\n    \"select_a_customer\": \"Izberi stranko\",\n    \"type_or_click\": \"Type or click to select\",\n    \"new_transaction\": \"New Transaction\",\n    \"no_matching_customers\": \"There are no matching customers!\",\n    \"phone_number\": \"Phone Number\",\n    \"create_date\": \"Ustvarjeno dne\",\n    \"confirm_delete\": \"You will not be able to recover this customer and all the related Invoices, Estimates and Payments. | You will not be able to recover these customers and all the related Invoices, Estimates and Payments.\",\n    \"created_message\": \"Customer created successfully\",\n    \"updated_message\": \"Customer updated successfully\",\n    \"address_updated_message\": \"Address Information Updated succesfully\",\n    \"deleted_message\": \"Customer deleted successfully | Customers deleted successfully\",\n    \"edit_currency_not_allowed\": \"Cannot change currency once transactions created.\"\n  },\n  \"items\": {\n    \"title\": \"Items\",\n    \"items_list\": \"Items List\",\n    \"name\": \"Name\",\n    \"unit\": \"Unit\",\n    \"description\": \"Description\",\n    \"added_on\": \"Added On\",\n    \"price\": \"Price\",\n    \"date_of_creation\": \"Date Of Creation\",\n    \"not_selected\": \"No item selected\",\n    \"action\": \"Action\",\n    \"add_item\": \"Add Item\",\n    \"save_item\": \"Save Item\",\n    \"update_item\": \"Update Item\",\n    \"item\": \"Item | Items\",\n    \"add_new_item\": \"Add New Item\",\n    \"new_item\": \"New Item\",\n    \"edit_item\": \"Edit Item\",\n    \"no_items\": \"No items yet!\",\n    \"list_of_items\": \"This section will contain the list of items.\",\n    \"select_a_unit\": \"select unit\",\n    \"taxes\": \"Taxes\",\n    \"item_attached_message\": \"Cannot delete an item which is already in use\",\n    \"confirm_delete\": \"You will not be able to recover this Item | You will not be able to recover these Items\",\n    \"created_message\": \"Item created successfully\",\n    \"updated_message\": \"Item updated successfully\",\n    \"deleted_message\": \"Item deleted successfully | Items deleted successfully\"\n  },\n  \"estimates\": {\n    \"title\": \"Estimates\",\n    \"accept_estimate\": \"Accept Estimate\",\n    \"reject_estimate\": \"Reject Estimate\",\n    \"estimate\": \"Estimate | Estimates\",\n    \"estimates_list\": \"Estimates List\",\n    \"days\": \"{days} Days\",\n    \"months\": \"{months} Month\",\n    \"years\": \"{years} Year\",\n    \"all\": \"All\",\n    \"paid\": \"Paid\",\n    \"unpaid\": \"Unpaid\",\n    \"customer\": \"CUSTOMER\",\n    \"ref_no\": \"REF NO.\",\n    \"number\": \"NUMBER\",\n    \"amount_due\": \"AMOUNT DUE\",\n    \"partially_paid\": \"Delno plačano\",\n    \"total\": \"Skupaj\",\n    \"discount\": \"Popust\",\n    \"sub_total\": \"Vse skupaj\",\n    \"estimate_number\": \"Ocenjena vrednost\",\n    \"ref_number\": \"Referenčna številka\",\n    \"contact\": \"Kontakt\",\n    \"add_item\": \"Dodaj nov element\",\n    \"date\": \"Datum\",\n    \"due_date\": \"Datum zapadlosti\",\n    \"expiry_date\": \"Datum poteka\",\n    \"status\": \"Stanje\",\n    \"add_tax\": \"Dodaj davek\",\n    \"amount\": \"Količina\",\n    \"action\": \"Dejanje\",\n    \"notes\": \"Zapiski\",\n    \"tax\": \"Davek\",\n    \"estimate_template\": \"Predloga\",\n    \"convert_to_invoice\": \"Pretvori v račun\",\n    \"mark_as_sent\": \"Označi kot poslano\",\n    \"send_estimate\": \"Pošlji oceno\",\n    \"resend_estimate\": \"Ponovno pošlji oceno\",\n    \"record_payment\": \"Zapisno plačilo\",\n    \"add_estimate\": \"Dodaj oceno\",\n    \"save_estimate\": \"Shrani oceno\",\n    \"confirm_conversion\": \"Ta ocena bo uporabljena za ustvarjanje novega računa.\",\n    \"conversion_message\": \"Račun uspešno ustvarjen\",\n    \"confirm_send_estimate\": \"Ta ocena bo poslana po e-pošti stranki\",\n    \"confirm_mark_as_sent\": \"Ta ocena bo označena kot poslana\",\n    \"confirm_mark_as_accepted\": \"Ta ocena bo označena kot sprejeta\",\n    \"confirm_mark_as_rejected\": \"Ta ocena bo označena kot zavrnjena\",\n    \"no_matching_estimates\": \"Ni ustreznih ocen!\",\n    \"mark_as_sent_successfully\": \"Ocena je označena kot uspešno poslana\",\n    \"send_estimate_successfully\": \"Ocena uspešno poslana\",\n    \"errors\": {\n      \"required\": \"Polje je obvezno\"\n    },\n    \"accepted\": \"Sprejeto\",\n    \"rejected\": \"Zavrnjen\",\n    \"expired\": \"Expired\",\n    \"sent\": \"Poslano\",\n    \"draft\": \"Osnutek\",\n    \"viewed\": \"Viewed\",\n    \"declined\": \"Zavrnjeno\",\n    \"new_estimate\": \"Nova ocena\",\n    \"add_new_estimate\": \"Dodaj novo oceno\",\n    \"update_Estimate\": \"Posodobi oceno\",\n    \"edit_estimate\": \"Uredi oceno\",\n    \"items\": \"izdelki\",\n    \"Estimate\": \"Ocena | Ocene\",\n    \"add_new_tax\": \"Dodaj nov davek\",\n    \"no_estimates\": \"Ocene še ni!\",\n    \"list_of_estimates\": \"Ta razdelek bo vseboval seznam ocen.\",\n    \"mark_as_rejected\": \"Označi kot zavrnjeno\",\n    \"mark_as_accepted\": \"Mark as accepted\",\n    \"marked_as_accepted_message\": \"Estimate marked as accepted\",\n    \"marked_as_rejected_message\": \"Estimate marked as rejected\",\n    \"confirm_delete\": \"You will not be able to recover this Estimate | You will not be able to recover these Estimates\",\n    \"created_message\": \"Estimate created successfully\",\n    \"updated_message\": \"Estimate updated successfully\",\n    \"deleted_message\": \"Estimate deleted successfully | Estimates deleted successfully\",\n    \"something_went_wrong\": \"something went wrong\",\n    \"item\": {\n      \"title\": \"Item Title\",\n      \"description\": \"Description\",\n      \"quantity\": \"Quantity\",\n      \"price\": \"Price\",\n      \"discount\": \"Discount\",\n      \"total\": \"Total\",\n      \"total_discount\": \"Total Discount\",\n      \"sub_total\": \"Sub Total\",\n      \"tax\": \"Tax\",\n      \"amount\": \"Amount\",\n      \"select_an_item\": \"Type or click to select an item\",\n      \"type_item_description\": \"Type Item Description (optional)\"\n    },\n    \"mark_as_default_estimate_template_description\": \"If enabled, the selected template will be automatically selected for new estimates.\"\n  },\n  \"invoices\": {\n    \"title\": \"Invoices\",\n    \"download\": \"Download\",\n    \"pay_invoice\": \"Pay Invoice\",\n    \"invoices_list\": \"Invoices List\",\n    \"invoice_information\": \"Invoice Information\",\n    \"days\": \"{days} Days\",\n    \"months\": \"{months} Month\",\n    \"years\": \"{years} Year\",\n    \"all\": \"All\",\n    \"paid\": \"Paid\",\n    \"unpaid\": \"Unpaid\",\n    \"viewed\": \"Ogledno\",\n    \"overdue\": \"Overdue\",\n    \"completed\": \"Completed\",\n    \"customer\": \"CUSTOMER\",\n    \"paid_status\": \"PAID STATUS\",\n    \"ref_no\": \"REF NO.\",\n    \"number\": \"NUMBER\",\n    \"amount_due\": \"AMOUNT DUE\",\n    \"partially_paid\": \"Partially Paid\",\n    \"total\": \"Total\",\n    \"discount\": \"Discount\",\n    \"sub_total\": \"Sub Total\",\n    \"invoice\": \"Invoice | Invoices\",\n    \"invoice_number\": \"Invoice Number\",\n    \"ref_number\": \"Ref Number\",\n    \"contact\": \"Contact\",\n    \"add_item\": \"Add an Item\",\n    \"date\": \"Date\",\n    \"due_date\": \"Due Date\",\n    \"status\": \"Status\",\n    \"add_tax\": \"Add Tax\",\n    \"amount\": \"Amount\",\n    \"action\": \"Action\",\n    \"notes\": \"Notes\",\n    \"view\": \"Poglej\",\n    \"send_invoice\": \"Pošlji račun\",\n    \"resend_invoice\": \"Resend Invoice\",\n    \"invoice_template\": \"Invoice Template\",\n    \"conversion_message\": \"Invoice cloned successful\",\n    \"template\": \"Select Template\",\n    \"mark_as_sent\": \"Mark as sent\",\n    \"confirm_send_invoice\": \"This invoice will be sent via email to the customer\",\n    \"invoice_mark_as_sent\": \"This invoice will be marked as sent\",\n    \"confirm_mark_as_accepted\": \"This invoice will be marked as Accepted\",\n    \"confirm_mark_as_rejected\": \"This invoice will be marked as Rejected\",\n    \"confirm_send\": \"This invoice will be sent via email to the customer\",\n    \"invoice_date\": \"Invoice Date\",\n    \"record_payment\": \"Record Payment\",\n    \"add_new_invoice\": \"Add New Invoice\",\n    \"update_expense\": \"Update Expense\",\n    \"edit_invoice\": \"Edit Invoice\",\n    \"new_invoice\": \"New Invoice\",\n    \"save_invoice\": \"Save Invoice\",\n    \"update_invoice\": \"Update Invoice\",\n    \"add_new_tax\": \"Add New Tax\",\n    \"no_invoices\": \"No Invoices yet!\",\n    \"mark_as_rejected\": \"Mark as rejected\",\n    \"mark_as_accepted\": \"Mark as accepted\",\n    \"list_of_invoices\": \"This section will contain the list of invoices.\",\n    \"select_invoice\": \"Select Invoice\",\n    \"no_matching_invoices\": \"There are no matching invoices!\",\n    \"mark_as_sent_successfully\": \"Invoice marked as sent successfully\",\n    \"invoice_sent_successfully\": \"Invoice sent successfully\",\n    \"cloned_successfully\": \"Invoice cloned successfully\",\n    \"clone_invoice\": \"Clone Invoice\",\n    \"confirm_clone\": \"This invoice will be cloned into a new Invoice\",\n    \"item\": {\n      \"title\": \"Item Title\",\n      \"description\": \"Description\",\n      \"quantity\": \"Quantity\",\n      \"price\": \"Price\",\n      \"discount\": \"Discount\",\n      \"total\": \"Total\",\n      \"total_discount\": \"Total Discount\",\n      \"sub_total\": \"Sub Total\",\n      \"tax\": \"Tax\",\n      \"amount\": \"Amount\",\n      \"select_an_item\": \"Type or click to select an item\",\n      \"type_item_description\": \"Type Item Description (optional)\"\n    },\n    \"payment_attached_message\": \"One of the selected invoices already have a payment attached to it. Make sure to delete the attached payments first in order to go ahead with the removal\",\n    \"confirm_delete\": \"You will not be able to recover this Invoice | You will not be able to recover these Invoices\",\n    \"created_message\": \"Invoice created successfully\",\n    \"updated_message\": \"Invoice updated successfully\",\n    \"deleted_message\": \"Invoice deleted successfully | Invoices deleted successfully\",\n    \"marked_as_sent_message\": \"Invoice marked as sent successfully\",\n    \"something_went_wrong\": \"something went wrong\",\n    \"invalid_due_amount_message\": \"Total Invoice amount cannot be less than total paid amount for this Invoice. Please update the invoice or delete the associated payments to continue.\",\n    \"mark_as_default_invoice_template_description\": \"If enabled, the selected template will be automatically selected for new invoices.\"\n  },\n  \"recurring_invoices\": {\n    \"title\": \"Recurring Invoices\",\n    \"invoices_list\": \"Recurring Invoices List\",\n    \"days\": \"{days} Days\",\n    \"months\": \"{months} Month\",\n    \"years\": \"{years} Year\",\n    \"all\": \"All\",\n    \"paid\": \"Paid\",\n    \"unpaid\": \"Unpaid\",\n    \"viewed\": \"Ogledno\",\n    \"overdue\": \"Overdue\",\n    \"active\": \"Active\",\n    \"completed\": \"Completed\",\n    \"customer\": \"CUSTOMER\",\n    \"paid_status\": \"PAID STATUS\",\n    \"ref_no\": \"REF NO.\",\n    \"number\": \"NUMBER\",\n    \"amount_due\": \"AMOUNT DUE\",\n    \"partially_paid\": \"Partially Paid\",\n    \"total\": \"Total\",\n    \"discount\": \"Discount\",\n    \"sub_total\": \"Sub Total\",\n    \"invoice\": \"Recurring Invoice | Recurring Invoices\",\n    \"invoice_number\": \"Recurring Invoice Number\",\n    \"next_invoice_date\": \"Next Invoice Date\",\n    \"ref_number\": \"Ref Number\",\n    \"contact\": \"Contact\",\n    \"add_item\": \"Add an Item\",\n    \"date\": \"Date\",\n    \"limit_by\": \"Limit by\",\n    \"limit_date\": \"Limit Date\",\n    \"limit_count\": \"Limit Count\",\n    \"count\": \"Count\",\n    \"status\": \"Status\",\n    \"select_a_status\": \"Select a status\",\n    \"working\": \"Working\",\n    \"on_hold\": \"On Hold\",\n    \"complete\": \"Completed\",\n    \"add_tax\": \"Add Tax\",\n    \"amount\": \"Amount\",\n    \"action\": \"Action\",\n    \"notes\": \"Notes\",\n    \"view\": \"Poglej\",\n    \"basic_info\": \"Basic Info\",\n    \"send_invoice\": \"Send Recurring Invoice\",\n    \"auto_send\": \"Auto Send\",\n    \"resend_invoice\": \"Resend Recurring Invoice\",\n    \"invoice_template\": \"Recurring Invoice Template\",\n    \"conversion_message\": \"Recurring Invoice cloned successful\",\n    \"template\": \"Template\",\n    \"mark_as_sent\": \"Mark as sent\",\n    \"confirm_send_invoice\": \"This recurring invoice will be sent via email to the customer\",\n    \"invoice_mark_as_sent\": \"This recurring invoice will be marked as sent\",\n    \"confirm_send\": \"This recurring invoice will be sent via email to the customer\",\n    \"starts_at\": \"Start Date\",\n    \"due_date\": \"Invoice Due Date\",\n    \"record_payment\": \"Record Payment\",\n    \"add_new_invoice\": \"Add New Recurring Invoice\",\n    \"update_expense\": \"Update Expense\",\n    \"edit_invoice\": \"Edit Recurring Invoice\",\n    \"new_invoice\": \"New Recurring Invoice\",\n    \"send_automatically\": \"Send Automatically\",\n    \"send_automatically_desc\": \"Enable this, if you would like to send the invoice automatically to the customer when its created.\",\n    \"save_invoice\": \"Save Recurring Invoice\",\n    \"update_invoice\": \"Update Recurring Invoice\",\n    \"add_new_tax\": \"Add New Tax\",\n    \"no_invoices\": \"No Recurring Invoices yet!\",\n    \"mark_as_rejected\": \"Mark as rejected\",\n    \"mark_as_accepted\": \"Mark as accepted\",\n    \"list_of_invoices\": \"This section will contain the list of recurring invoices.\",\n    \"select_invoice\": \"Select Invoice\",\n    \"no_matching_invoices\": \"There are no matching recurring invoices!\",\n    \"mark_as_sent_successfully\": \"Recurring Invoice marked as sent successfully\",\n    \"invoice_sent_successfully\": \"Recurring Invoice sent successfully\",\n    \"cloned_successfully\": \"Recurring Invoice cloned successfully\",\n    \"clone_invoice\": \"Clone Recurring Invoice\",\n    \"confirm_clone\": \"This recurring invoice will be cloned into a new Recurring Invoice\",\n    \"add_customer_email\": \"Please add an email address for this customer to send invoices automatically.\",\n    \"item\": {\n      \"title\": \"Item Title\",\n      \"description\": \"Description\",\n      \"quantity\": \"Quantity\",\n      \"price\": \"Price\",\n      \"discount\": \"Discount\",\n      \"total\": \"Total\",\n      \"total_discount\": \"Total Discount\",\n      \"sub_total\": \"Sub Total\",\n      \"tax\": \"Tax\",\n      \"amount\": \"Amount\",\n      \"select_an_item\": \"Type or click to select an item\",\n      \"type_item_description\": \"Type Item Description (optional)\"\n    },\n    \"frequency\": {\n      \"title\": \"Frequency\",\n      \"select_frequency\": \"Select Frequency\",\n      \"minute\": \"Minute\",\n      \"hour\": \"Hour\",\n      \"day_month\": \"Day of month\",\n      \"month\": \"Month\",\n      \"day_week\": \"Day of week\"\n    },\n    \"confirm_delete\": \"You will not be able to recover this Invoice | You will not be able to recover these Invoices\",\n    \"created_message\": \"Recurring Invoice created successfully\",\n    \"updated_message\": \"Recurring Invoice updated successfully\",\n    \"deleted_message\": \"Recurring Invoice deleted successfully | Recurring Invoices deleted successfully\",\n    \"marked_as_sent_message\": \"Recurring Invoice marked as sent successfully\",\n    \"user_email_does_not_exist\": \"User email does not exist\",\n    \"something_went_wrong\": \"something went wrong\",\n    \"invalid_due_amount_message\": \"Total Recurring Invoice amount cannot be less than total paid amount for this Recurring Invoice. Please update the invoice or delete the associated payments to continue.\"\n  },\n  \"payments\": {\n    \"title\": \"Payments\",\n    \"payments_list\": \"Payments List\",\n    \"record_payment\": \"Record Payment\",\n    \"customer\": \"Customer\",\n    \"date\": \"Date\",\n    \"amount\": \"Amount\",\n    \"action\": \"Action\",\n    \"payment_number\": \"Payment Number\",\n    \"payment_mode\": \"Payment Mode\",\n    \"invoice\": \"Invoice\",\n    \"note\": \"Note\",\n    \"add_payment\": \"Add Payment\",\n    \"new_payment\": \"New Payment\",\n    \"edit_payment\": \"Edit Payment\",\n    \"view_payment\": \"Prikaži plačilo\",\n    \"add_new_payment\": \"Add New Payment\",\n    \"send_payment_receipt\": \"Send Payment Receipt\",\n    \"send_payment\": \"Send Payment\",\n    \"save_payment\": \"Save Payment\",\n    \"update_payment\": \"Update Payment\",\n    \"payment\": \"Payment | Payments\",\n    \"no_payments\": \"No payments yet!\",\n    \"not_selected\": \"Not selected\",\n    \"no_invoice\": \"No invoice\",\n    \"no_matching_payments\": \"There are no matching payments!\",\n    \"list_of_payments\": \"This section will contain the list of payments.\",\n    \"select_payment_mode\": \"Select payment mode\",\n    \"confirm_mark_as_sent\": \"This estimate will be marked as sent\",\n    \"confirm_send_payment\": \"This payment will be sent via email to the customer\",\n    \"send_payment_successfully\": \"Payment sent successfully\",\n    \"something_went_wrong\": \"something went wrong\",\n    \"confirm_delete\": \"You will not be able to recover this Payment | You will not be able to recover these Payments\",\n    \"created_message\": \"Payment created successfully\",\n    \"updated_message\": \"Payment updated successfully\",\n    \"deleted_message\": \"Payment deleted successfully | Payments deleted successfully\",\n    \"invalid_amount_message\": \"Payment amount is invalid\"\n  },\n  \"expenses\": {\n    \"title\": \"Expenses\",\n    \"expenses_list\": \"Expenses List\",\n    \"select_a_customer\": \"Select a customer\",\n    \"expense_title\": \"Title\",\n    \"customer\": \"Customer\",\n    \"currency\": \"Currency\",\n    \"contact\": \"Contact\",\n    \"category\": \"Category\",\n    \"from_date\": \"From Date\",\n    \"to_date\": \"To Date\",\n    \"expense_date\": \"Date\",\n    \"description\": \"Description\",\n    \"receipt\": \"Receipt\",\n    \"amount\": \"Amount\",\n    \"action\": \"Action\",\n    \"not_selected\": \"Not selected\",\n    \"note\": \"Note\",\n    \"category_id\": \"Category Id\",\n    \"date\": \"Date\",\n    \"add_expense\": \"Add Expense\",\n    \"add_new_expense\": \"Add New Expense\",\n    \"save_expense\": \"Save Expense\",\n    \"update_expense\": \"Update Expense\",\n    \"download_receipt\": \"Download Receipt\",\n    \"edit_expense\": \"Edit Expense\",\n    \"new_expense\": \"New Expense\",\n    \"expense\": \"Expense | Expenses\",\n    \"no_expenses\": \"No expenses yet!\",\n    \"list_of_expenses\": \"This section will contain the list of expenses.\",\n    \"confirm_delete\": \"You will not be able to recover this Expense | You will not be able to recover these Expenses\",\n    \"created_message\": \"Expense created successfully\",\n    \"updated_message\": \"Expense updated successfully\",\n    \"deleted_message\": \"Expense deleted successfully | Expenses deleted successfully\",\n    \"categories\": {\n      \"categories_list\": \"Categories List\",\n      \"title\": \"Title\",\n      \"name\": \"Name\",\n      \"description\": \"Description\",\n      \"amount\": \"Amount\",\n      \"actions\": \"Actions\",\n      \"add_category\": \"Add Category\",\n      \"new_category\": \"New Category\",\n      \"category\": \"Category | Categories\",\n      \"select_a_category\": \"Select a category\"\n    }\n  },\n  \"login\": {\n    \"email\": \"Email\",\n    \"password\": \"Password\",\n    \"forgot_password\": \"Forgot Password?\",\n    \"or_signIn_with\": \"or Sign in with\",\n    \"login\": \"Login\",\n    \"register\": \"Register\",\n    \"reset_password\": \"Reset Password\",\n    \"password_reset_successfully\": \"Password Reset Successfully\",\n    \"enter_email\": \"Enter email\",\n    \"enter_password\": \"Enter Password\",\n    \"retype_password\": \"Retype Password\"\n  },\n  \"modules\": {\n    \"buy_now\": \"Buy Now\",\n    \"install\": \"Install\",\n    \"price\": \"Price\",\n    \"download_zip_file\": \"Download ZIP file\",\n    \"unzipping_package\": \"Unzipping Package\",\n    \"copying_files\": \"Copying Files\",\n    \"deleting_files\": \"Deleting Unused files\",\n    \"completing_installation\": \"Completing Installation\",\n    \"update_failed\": \"Update Failed\",\n    \"install_success\": \"Module has been installed successfully!\",\n    \"customer_reviews\": \"Reviews\",\n    \"license\": \"License\",\n    \"faq\": \"FAQ\",\n    \"monthly\": \"Monthly\",\n    \"yearly\": \"Yearly\",\n    \"updated\": \"Updated\",\n    \"version\": \"Version\",\n    \"disable\": \"Disable\",\n    \"module_disabled\": \"Module Disabled\",\n    \"enable\": \"Enable\",\n    \"module_enabled\": \"Module Enabled\",\n    \"update_to\": \"Update To\",\n    \"module_updated\": \"Module Updated Successfully!\",\n    \"title\": \"Modules\",\n    \"module\": \"Module | Modules\",\n    \"api_token\": \"API token\",\n    \"invalid_api_token\": \"Invalid API Token.\",\n    \"other_modules\": \"Other Modules\",\n    \"view_all\": \"View All\",\n    \"no_reviews_found\": \"There are no reviews for this module yet!\",\n    \"module_not_purchased\": \"Module Not Purchased\",\n    \"module_not_found\": \"Module Not Found\",\n    \"version_not_supported\": \"This module version doesn't support the current version of Crater\",\n    \"last_updated\": \"Last Updated On\",\n    \"connect_installation\": \"Connect your installation\",\n    \"api_token_description\": \"Login to {url} and connect this installation by entering the API Token. Your purchased modules will show up here after the connection is established.\",\n    \"view_module\": \"View Module\",\n    \"update_available\": \"Update Available\",\n    \"purchased\": \"Purchased\",\n    \"installed\": \"Installed\",\n    \"no_modules_installed\": \"No Modules Installed Yet!\",\n    \"disable_warning\": \"All the settings for this particular will be reverted.\",\n    \"what_you_get\": \"What you get\"\n  },\n  \"users\": {\n    \"title\": \"Users\",\n    \"users_list\": \"Users List\",\n    \"name\": \"Name\",\n    \"description\": \"Description\",\n    \"added_on\": \"Added On\",\n    \"date_of_creation\": \"Date Of Creation\",\n    \"action\": \"Action\",\n    \"add_user\": \"Add User\",\n    \"save_user\": \"Save User\",\n    \"update_user\": \"Update User\",\n    \"user\": \"User | Users\",\n    \"add_new_user\": \"Add New User\",\n    \"new_user\": \"New User\",\n    \"edit_user\": \"Edit User\",\n    \"no_users\": \"No users yet!\",\n    \"list_of_users\": \"This section will contain the list of users.\",\n    \"email\": \"Email\",\n    \"phone\": \"Phone\",\n    \"password\": \"Password\",\n    \"user_attached_message\": \"Cannot delete an item which is already in use\",\n    \"confirm_delete\": \"You will not be able to recover this User | You will not be able to recover these Users\",\n    \"created_message\": \"User created successfully\",\n    \"updated_message\": \"User updated successfully\",\n    \"deleted_message\": \"User deleted successfully | Users deleted successfully\",\n    \"select_company_role\": \"Select Role for {company}\",\n    \"companies\": \"Companies\"\n  },\n  \"reports\": {\n    \"title\": \"Report\",\n    \"from_date\": \"From Date\",\n    \"to_date\": \"To Date\",\n    \"status\": \"Status\",\n    \"paid\": \"Paid\",\n    \"unpaid\": \"Unpaid\",\n    \"download_pdf\": \"Download PDF\",\n    \"view_pdf\": \"Poglej PDF\",\n    \"update_report\": \"Update Report\",\n    \"report\": \"Report | Reports\",\n    \"profit_loss\": {\n      \"profit_loss\": \"Profit & Loss\",\n      \"to_date\": \"To Date\",\n      \"from_date\": \"From Date\",\n      \"date_range\": \"Select Date Range\"\n    },\n    \"sales\": {\n      \"sales\": \"Sales\",\n      \"date_range\": \"Select Date Range\",\n      \"to_date\": \"To Date\",\n      \"from_date\": \"From Date\",\n      \"report_type\": \"Report Type\"\n    },\n    \"taxes\": {\n      \"taxes\": \"Taxes\",\n      \"to_date\": \"To Date\",\n      \"from_date\": \"From Date\",\n      \"date_range\": \"Select Date Range\"\n    },\n    \"errors\": {\n      \"required\": \"Field is required\"\n    },\n    \"invoices\": {\n      \"invoice\": \"Invoice\",\n      \"invoice_date\": \"Invoice Date\",\n      \"due_date\": \"Due Date\",\n      \"amount\": \"Amount\",\n      \"contact_name\": \"Contact Name\",\n      \"status\": \"Status\"\n    },\n    \"estimates\": {\n      \"estimate\": \"Estimate\",\n      \"estimate_date\": \"Estimate Date\",\n      \"due_date\": \"Due Date\",\n      \"estimate_number\": \"Estimate Number\",\n      \"ref_number\": \"Ref Number\",\n      \"amount\": \"Amount\",\n      \"contact_name\": \"Contact Name\",\n      \"status\": \"Status\"\n    },\n    \"expenses\": {\n      \"expenses\": \"Expenses\",\n      \"category\": \"Category\",\n      \"date\": \"Date\",\n      \"amount\": \"Amount\",\n      \"to_date\": \"To Date\",\n      \"from_date\": \"From Date\",\n      \"date_range\": \"Select Date Range\"\n    }\n  },\n  \"settings\": {\n    \"menu_title\": {\n      \"account_settings\": \"Account Settings\",\n      \"company_information\": \"Company Information\",\n      \"customization\": \"Customization\",\n      \"preferences\": \"Preferences\",\n      \"notifications\": \"Notifications\",\n      \"tax_types\": \"Tax Types\",\n      \"expense_category\": \"Expense Categories\",\n      \"update_app\": \"Update App\",\n      \"backup\": \"Backup\",\n      \"file_disk\": \"File Disk\",\n      \"custom_fields\": \"Custom Fields\",\n      \"payment_modes\": \"Payment Modes\",\n      \"notes\": \"Notes\",\n      \"exchange_rate\": \"Exchange Rate\",\n      \"address_information\": \"Address Information\"\n    },\n    \"address_information\": {\n      \"section_description\": \"  You can update Your Address information using form below.\"\n    },\n    \"title\": \"Settings\",\n    \"setting\": \"Settings | Settings\",\n    \"general\": \"General\",\n    \"language\": \"Language\",\n    \"primary_currency\": \"Primary Currency\",\n    \"timezone\": \"Time Zone\",\n    \"date_format\": \"Date Format\",\n    \"currencies\": {\n      \"title\": \"Currencies\",\n      \"currency\": \"Currency | Currencies\",\n      \"currencies_list\": \"Currencies List\",\n      \"select_currency\": \"Select Currency\",\n      \"name\": \"Name\",\n      \"code\": \"Code\",\n      \"symbol\": \"Symbol\",\n      \"precision\": \"Precision\",\n      \"thousand_separator\": \"Thousand Separator\",\n      \"decimal_separator\": \"Decimal Separator\",\n      \"position\": \"Position\",\n      \"position_of_symbol\": \"Position Of Symbol\",\n      \"right\": \"Right\",\n      \"left\": \"Left\",\n      \"action\": \"Action\",\n      \"add_currency\": \"Add Currency\"\n    },\n    \"mail\": {\n      \"host\": \"Mail Host\",\n      \"port\": \"Mail Port\",\n      \"driver\": \"Mail Driver\",\n      \"secret\": \"Secret\",\n      \"mailgun_secret\": \"Mailgun Secret\",\n      \"mailgun_domain\": \"Domain\",\n      \"mailgun_endpoint\": \"Mailgun Endpoint\",\n      \"ses_secret\": \"SES Secret\",\n      \"ses_key\": \"SES Key\",\n      \"password\": \"Mail Password\",\n      \"username\": \"Mail Username\",\n      \"mail_config\": \"Mail Configuration\",\n      \"from_name\": \"From Mail Name\",\n      \"from_mail\": \"From Mail Address\",\n      \"encryption\": \"Mail Encryption\",\n      \"mail_config_desc\": \"Below is the form for Configuring Email driver for sending emails from the app. You can also configure third party providers like Sendgrid, SES etc.\"\n    },\n    \"pdf\": {\n      \"title\": \"PDF Setting\",\n      \"footer_text\": \"Footer Text\",\n      \"pdf_layout\": \"PDF Layout\"\n    },\n    \"company_info\": {\n      \"company_info\": \"Company info\",\n      \"company_name\": \"Company Name\",\n      \"company_logo\": \"Company Logo\",\n      \"section_description\": \"Information about your company that will be displayed on invoices, estimates and other documents created by Crater.\",\n      \"phone\": \"Phone\",\n      \"country\": \"Country\",\n      \"state\": \"State\",\n      \"city\": \"City\",\n      \"address\": \"Address\",\n      \"zip\": \"Zip\",\n      \"save\": \"Save\",\n      \"delete\": \"Delete\",\n      \"updated_message\": \"Company information updated successfully\",\n      \"delete_company\": \"Delete Company\",\n      \"delete_company_description\": \"Once you delete your company, you will lose all the data and files associated with it permanently.\",\n      \"are_you_absolutely_sure\": \"Are you absolutely sure?\",\n      \"delete_company_modal_desc\": \"This action cannot be undone. This will permanently delete {company} and all of its associated data.\",\n      \"delete_company_modal_label\": \"Please type {company} to confirm\"\n    },\n    \"custom_fields\": {\n      \"title\": \"Custom Fields\",\n      \"section_description\": \"Customize your Invoices, Estimates & Payment Receipts with your own fields. Make sure to use the below added fields on the address formats on Customization settings page.\",\n      \"add_custom_field\": \"Add Custom Field\",\n      \"edit_custom_field\": \"Edit Custom Field\",\n      \"field_name\": \"Field Name\",\n      \"label\": \"Label\",\n      \"type\": \"Type\",\n      \"name\": \"Name\",\n      \"slug\": \"Slug\",\n      \"required\": \"Required\",\n      \"placeholder\": \"Placeholder\",\n      \"help_text\": \"Help Text\",\n      \"default_value\": \"Default Value\",\n      \"prefix\": \"Prefix\",\n      \"starting_number\": \"Starting Number\",\n      \"model\": \"Model\",\n      \"help_text_description\": \"Enter some text to help users understand the purpose of this custom field.\",\n      \"suffix\": \"Suffix\",\n      \"yes\": \"Yes\",\n      \"no\": \"No\",\n      \"order\": \"Order\",\n      \"custom_field_confirm_delete\": \"You will not be able to recover this Custom Field\",\n      \"already_in_use\": \"Custom Field is already in use\",\n      \"deleted_message\": \"Custom Field deleted successfully\",\n      \"options\": \"options\",\n      \"add_option\": \"Add Options\",\n      \"add_another_option\": \"Add another option\",\n      \"sort_in_alphabetical_order\": \"Sort in Alphabetical Order\",\n      \"add_options_in_bulk\": \"Add options in bulk\",\n      \"use_predefined_options\": \"Use Predefined Options\",\n      \"select_custom_date\": \"Select Custom Date\",\n      \"select_relative_date\": \"Select Relative Date\",\n      \"ticked_by_default\": \"Ticked by default\",\n      \"updated_message\": \"Custom Field updated successfully\",\n      \"added_message\": \"Custom Field added successfully\",\n      \"press_enter_to_add\": \"Press enter to add new option\",\n      \"model_in_use\": \"Cannot update model for fields which are already in use.\",\n      \"type_in_use\": \"Cannot update type for fields which are already in use.\"\n    },\n    \"customization\": {\n      \"customization\": \"customization\",\n      \"updated_message\": \"Company information updated successfully\",\n      \"save\": \"Save\",\n      \"insert_fields\": \"Insert Fields\",\n      \"learn_custom_format\": \"Learn how to use custom format\",\n      \"add_new_component\": \"Add New Component\",\n      \"component\": \"Component\",\n      \"Parameter\": \"Parameter\",\n      \"series\": \"Series\",\n      \"series_description\": \"To set a static prefix/postfix like 'INV' across your company. It supports character length of up to 6 chars.\",\n      \"series_param_label\": \"Series Value\",\n      \"delimiter\": \"Delimiter\",\n      \"delimiter_description\": \"Single character for specifying the boundary between 2 separate components. By default its set to -\",\n      \"delimiter_param_label\": \"Delimiter Value\",\n      \"date_format\": \"Date Format\",\n      \"date_format_description\": \"A local date and time field which accepts a format parameter. The default format: 'Y' renders the current year.\",\n      \"date_format_param_label\": \"Format\",\n      \"sequence\": \"Sequence\",\n      \"sequence_description\": \"Consecutive sequence of numbers across your company. You can specify the length on the given parameter.\",\n      \"sequence_param_label\": \"Sequence Length\",\n      \"customer_series\": \"Customer Series\",\n      \"customer_series_description\": \"To set a different prefix/postfix for each customer.\",\n      \"customer_sequence\": \"Customer Sequence\",\n      \"customer_sequence_description\": \"Consecutive sequence of numbers for each of your customer.\",\n      \"customer_sequence_param_label\": \"Sequence Length\",\n      \"random_sequence\": \"Random Sequence\",\n      \"random_sequence_description\": \"Random alphanumeric string. You can specify the length on the given parameter.\",\n      \"random_sequence_param_label\": \"Sequence Length\",\n      \"invoices\": {\n        \"title\": \"Invoices\",\n        \"invoice_number_format\": \"Invoice Number Format\",\n        \"invoice_number_format_description\": \"Customize how your invoice number gets generated automatically when you create a new invoice.\",\n        \"preview_invoice_number\": \"Predogled številke računa\",\n        \"due_date\": \"Due Date\",\n        \"due_date_description\": \"Specify how due date is automatically set when you create an invoice.\",\n        \"due_date_days\": \"Invoice Due after days\",\n        \"set_due_date_automatically\": \"Set Due Date Automatically\",\n        \"set_due_date_automatically_description\": \"Enable this if you wish to set due date automatically when you create a new invoice.\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on invoice creation.\",\n        \"default_invoice_email_body\": \"Default Invoice Email Body\",\n        \"company_address_format\": \"Company Address Format\",\n        \"shipping_address_format\": \"Shipping Address Format\",\n        \"billing_address_format\": \"Billing Address Format\",\n        \"invoice_email_attachment\": \"Send invoices as attachments\",\n        \"invoice_email_attachment_setting_description\": \"Enable this if you want to send invoices as email attachment. Please note that 'View Invoice' button in emails will not be displayed anymore when enabled.\",\n        \"invoice_settings_updated\": \"Invoice Settings updated successfully\",\n        \"retrospective_edits\": \"Retrospective Edits\",\n        \"allow\": \"Allow\",\n        \"disable_on_invoice_partial_paid\": \"Disable after partial payment is recorded\",\n        \"disable_on_invoice_paid\": \"Disable after full payment is recorded\",\n        \"disable_on_invoice_sent\": \"Disable after invoice is sent\",\n        \"retrospective_edits_description\": \" Based on your country's laws or your preference, you can restrict users from editing finalised invoices.\"\n      },\n      \"estimates\": {\n        \"title\": \"Estimates\",\n        \"estimate_number_format\": \"Estimate Number Format\",\n        \"estimate_number_format_description\": \"Customize how your estimate number gets generated automatically when you create a new estimate.\",\n        \"preview_estimate_number\": \"Preview Estimate Number\",\n        \"expiry_date\": \"Expiry Date\",\n        \"expiry_date_description\": \"Specify how expiry date is automatically set when you create an estimate.\",\n        \"expiry_date_days\": \"Estimate Expires after days\",\n        \"set_expiry_date_automatically\": \"Set Expiry Date Automatically\",\n        \"set_expiry_date_automatically_description\": \"Enable this if you wish to set expiry date automatically when you create a new estimate.\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on estimate creation.\",\n        \"default_estimate_email_body\": \"Default Estimate Email Body\",\n        \"company_address_format\": \"Company Address Format\",\n        \"shipping_address_format\": \"Shipping Address Format\",\n        \"billing_address_format\": \"Billing Address Format\",\n        \"estimate_email_attachment\": \"Send estimates as attachments\",\n        \"estimate_email_attachment_setting_description\": \"Enable this if you want to send the estimates as an email attachment. Please note that 'View Estimate' button in emails will not be displayed anymore when enabled.\",\n        \"estimate_settings_updated\": \"Estimate Settings updated successfully\",\n        \"convert_estimate_options\": \"Estimate Convert Action\",\n        \"convert_estimate_description\": \"Specify what happens to the estimate after it gets converted to an invoice.\",\n        \"no_action\": \"No action\",\n        \"delete_estimate\": \"Delete estimate\",\n        \"mark_estimate_as_accepted\": \"Mark estimate as accepted\"\n      },\n      \"payments\": {\n        \"title\": \"Payments\",\n        \"payment_number_format\": \"Payment Number Format\",\n        \"payment_number_format_description\": \"Customize how your payment number gets generated automatically when you create a new payment.\",\n        \"preview_payment_number\": \"Preview Payment Number\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on payment creation.\",\n        \"default_payment_email_body\": \"Default Payment Email Body\",\n        \"company_address_format\": \"Company Address Format\",\n        \"from_customer_address_format\": \"From Customer Address Format\",\n        \"payment_email_attachment\": \"Send payments as attachments\",\n        \"payment_email_attachment_setting_description\": \"Enable this if you want to send the payment receipts as an email attachment. Please note that 'View Payment' button in emails will not be displayed anymore when enabled.\",\n        \"payment_settings_updated\": \"Payment Settings updated successfully\"\n      },\n      \"items\": {\n        \"title\": \"Items\",\n        \"units\": \"Units\",\n        \"add_item_unit\": \"Add Item Unit\",\n        \"edit_item_unit\": \"Edit Item Unit\",\n        \"unit_name\": \"Unit Name\",\n        \"item_unit_added\": \"Item Unit Added\",\n        \"item_unit_updated\": \"Item Unit Updated\",\n        \"item_unit_confirm_delete\": \"You will not be able to recover this Item unit\",\n        \"already_in_use\": \"Item Unit is already in use\",\n        \"deleted_message\": \"Item Unit deleted successfully\"\n      },\n      \"notes\": {\n        \"title\": \"Notes\",\n        \"description\": \"Save time by creating notes and reusing them on your invoices, estimates & payments.\",\n        \"notes\": \"Notes\",\n        \"type\": \"Type\",\n        \"add_note\": \"Add Note\",\n        \"add_new_note\": \"Add New Note\",\n        \"name\": \"Name\",\n        \"edit_note\": \"Edit Note\",\n        \"note_added\": \"Note added successfully\",\n        \"note_updated\": \"Note Updated successfully\",\n        \"note_confirm_delete\": \"You will not be able to recover this Note\",\n        \"already_in_use\": \"Note is already in use\",\n        \"deleted_message\": \"Note deleted successfully\"\n      }\n    },\n    \"account_settings\": {\n      \"profile_picture\": \"Profile Picture\",\n      \"name\": \"Name\",\n      \"email\": \"Email\",\n      \"password\": \"Password\",\n      \"confirm_password\": \"Confirm Password\",\n      \"account_settings\": \"Account Settings\",\n      \"save\": \"Save\",\n      \"section_description\": \"You can update your name, email & password using the form below.\",\n      \"updated_message\": \"Account Settings updated successfully\"\n    },\n    \"user_profile\": {\n      \"name\": \"Name\",\n      \"email\": \"Email\",\n      \"password\": \"Password\",\n      \"confirm_password\": \"Confirm Password\"\n    },\n    \"notification\": {\n      \"title\": \"Notifications\",\n      \"email\": \"Send Notifications to\",\n      \"description\": \"Which email notifications would you like to receive when something changes?\",\n      \"invoice_viewed\": \"Invoice viewed\",\n      \"invoice_viewed_desc\": \"When your customer views the invoice sent via crater dashboard.\",\n      \"estimate_viewed\": \"Estimate viewed\",\n      \"estimate_viewed_desc\": \"When your customer views the estimate sent via crater dashboard.\",\n      \"save\": \"Save\",\n      \"email_save_message\": \"Email saved successfully\",\n      \"please_enter_email\": \"Please Enter Email\"\n    },\n    \"roles\": {\n      \"title\": \"Roles\",\n      \"description\": \"Manage the roles & permissions of this company\",\n      \"save\": \"Save\",\n      \"add_new_role\": \"Add New Role\",\n      \"role_name\": \"Role Name\",\n      \"added_on\": \"Added on\",\n      \"add_role\": \"Add Role\",\n      \"edit_role\": \"Edit Role\",\n      \"name\": \"Name\",\n      \"permission\": \"Permission | Permissions\",\n      \"select_all\": \"Select All\",\n      \"none\": \"None\",\n      \"confirm_delete\": \"You will not be able to recover this Role\",\n      \"created_message\": \"Role created successfully\",\n      \"updated_message\": \"Role updated successfully\",\n      \"deleted_message\": \"Role deleted successfully\",\n      \"already_in_use\": \"Role is already in use\"\n    },\n    \"exchange_rate\": {\n      \"exchange_rate\": \"Exchange Rate\",\n      \"title\": \"Fix Currency Exchange issues\",\n      \"description\": \"Please enter exchange rate of all the currencies mentioned below to help Crater properly calculate the amounts in {currency}.\",\n      \"drivers\": \"Drivers\",\n      \"new_driver\": \"Add New Provider\",\n      \"edit_driver\": \"Edit Provider\",\n      \"select_driver\": \"Select Driver\",\n      \"update\": \"select exchange rate \",\n      \"providers_description\": \"Configure your exchange rate providers here to automatically fetch the latest exchange rate on transactions.\",\n      \"key\": \"API Key\",\n      \"name\": \"Name\",\n      \"driver\": \"Driver\",\n      \"is_default\": \"IS DEFAULT\",\n      \"currency\": \"Currencies\",\n      \"exchange_rate_confirm_delete\": \"You will not be able to recover this driver\",\n      \"created_message\": \"Provider Created successfully\",\n      \"updated_message\": \"Provider Updated Successfully\",\n      \"deleted_message\": \"Provider Deleted Successfully\",\n      \"error\": \" You cannot Delete Active Driver\",\n      \"default_currency_error\": \"This currency is already used in one of the Active Provider\",\n      \"exchange_help_text\": \"Enter exchange rate to convert from {currency} to {baseCurrency}\",\n      \"currency_freak\": \"Currency Freak\",\n      \"currency_layer\": \"Currency Layer\",\n      \"open_exchange_rate\": \"Open Exchange Rate\",\n      \"currency_converter\": \"Currency Converter\",\n      \"server\": \"Server\",\n      \"url\": \"URL\",\n      \"active\": \"Active\",\n      \"currency_help_text\": \"This provider will only be used on above selected currencies\",\n      \"currency_in_used\": \"The following currencies are already active on another provider. Please remove these currencies from selection to activate this provider again.\"\n    },\n    \"tax_types\": {\n      \"title\": \"Tax Types\",\n      \"add_tax\": \"Add Tax\",\n      \"edit_tax\": \"Edit Tax\",\n      \"description\": \"You can add or Remove Taxes as you please. Crater supports Taxes on Individual Items as well as on the invoice.\",\n      \"add_new_tax\": \"Add New Tax\",\n      \"tax_settings\": \"Tax Settings\",\n      \"tax_per_item\": \"Tax Per Item\",\n      \"tax_name\": \"Tax Name\",\n      \"compound_tax\": \"Compound Tax\",\n      \"percent\": \"Percent\",\n      \"action\": \"Action\",\n      \"tax_setting_description\": \"Enable this if you want to add taxes to individual invoice items. By default, taxes are added directly to the invoice.\",\n      \"created_message\": \"Tax type created successfully\",\n      \"updated_message\": \"Tax type updated successfully\",\n      \"deleted_message\": \"Tax type deleted successfully\",\n      \"confirm_delete\": \"You will not be able to recover this Tax Type\",\n      \"already_in_use\": \"Tax is already in use\"\n    },\n    \"payment_modes\": {\n      \"title\": \"Payment Modes\",\n      \"description\": \"Modes of transaction for payments\",\n      \"add_payment_mode\": \"Add Payment Mode\",\n      \"edit_payment_mode\": \"Edit Payment Mode\",\n      \"mode_name\": \"Mode Name\",\n      \"payment_mode_added\": \"Payment Mode Added\",\n      \"payment_mode_updated\": \"Payment Mode Updated\",\n      \"payment_mode_confirm_delete\": \"You will not be able to recover this Payment Mode\",\n      \"payments_attached\": \"This payment method is already attached to payments. Please delete the attached payments to proceed with deletion.\",\n      \"expenses_attached\": \"This payment method is already attached to expenses. Please delete the attached expenses to proceed with deletion.\",\n      \"deleted_message\": \"Payment Mode deleted successfully\"\n    },\n    \"expense_category\": {\n      \"title\": \"Expense Categories\",\n      \"action\": \"Action\",\n      \"description\": \"Categories are required for adding expense entries. You can Add or Remove these categories according to your preference.\",\n      \"add_new_category\": \"Add New Category\",\n      \"add_category\": \"Add Category\",\n      \"edit_category\": \"Edit Category\",\n      \"category_name\": \"Category Name\",\n      \"category_description\": \"Description\",\n      \"created_message\": \"Expense Category created successfully\",\n      \"deleted_message\": \"Expense category deleted successfully\",\n      \"updated_message\": \"Expense category updated successfully\",\n      \"confirm_delete\": \"You will not be able to recover this Expense Category\",\n      \"already_in_use\": \"Category is already in use\"\n    },\n    \"preferences\": {\n      \"currency\": \"Currency\",\n      \"default_language\": \"Default Language\",\n      \"time_zone\": \"Time Zone\",\n      \"fiscal_year\": \"Financial Year\",\n      \"date_format\": \"Date Format\",\n      \"discount_setting\": \"Discount Setting\",\n      \"discount_per_item\": \"Discount Per Item \",\n      \"discount_setting_description\": \"Enable this if you want to add Discount to individual invoice items. By default, Discount is added directly to the invoice.\",\n      \"expire_public_links\": \"Automatically Expire Public Links\",\n      \"expire_setting_description\": \"Specify whether you would like to expire all the links sent by application to view invoices, estimates & payments, etc after a specified duration.\",\n      \"save\": \"Save\",\n      \"preference\": \"Preference | Preferences\",\n      \"general_settings\": \"Default preferences for the system.\",\n      \"updated_message\": \"Preferences updated successfully\",\n      \"select_language\": \"Select Language\",\n      \"select_time_zone\": \"Select Time Zone\",\n      \"select_date_format\": \"Select Date Format\",\n      \"select_financial_year\": \"Select Financial Year\",\n      \"recurring_invoice_status\": \"Recurring Invoice Status\",\n      \"create_status\": \"Create Status\",\n      \"active\": \"Active\",\n      \"on_hold\": \"On Hold\",\n      \"update_status\": \"Update Status\",\n      \"completed\": \"Completed\",\n      \"company_currency_unchangeable\": \"Company currency cannot be changed\"\n    },\n    \"update_app\": {\n      \"title\": \"Update App\",\n      \"description\": \"You can easily update Crater by checking for a new update by clicking the button below\",\n      \"check_update\": \"Check for updates\",\n      \"avail_update\": \"New Update available\",\n      \"next_version\": \"Next version\",\n      \"requirements\": \"Requirements\",\n      \"update\": \"Update Now\",\n      \"update_progress\": \"Update in progress...\",\n      \"progress_text\": \"It will just take a few minutes. Please do not refresh the screen or close the window before the update finishes\",\n      \"update_success\": \"App has been updated! Please wait while your browser window gets reloaded automatically.\",\n      \"latest_message\": \"No update available! You are on the latest version.\",\n      \"current_version\": \"Current Version\",\n      \"download_zip_file\": \"Download ZIP file\",\n      \"unzipping_package\": \"Unzipping Package\",\n      \"copying_files\": \"Copying Files\",\n      \"deleting_files\": \"Deleting Unused files\",\n      \"running_migrations\": \"Running Migrations\",\n      \"finishing_update\": \"Finishing Update\",\n      \"update_failed\": \"Update Failed\",\n      \"update_failed_text\": \"Sorry! Your update failed on : {step} step\",\n      \"update_warning\": \"All of the application files and default template files will be overwritten when you update the application using this utility. Please take a backup of your templates & database before updating.\"\n    },\n    \"backup\": {\n      \"title\": \"Backup | Backups\",\n      \"description\": \"The backup is a zipfile that contains all files in the directories you specify along with a dump of your database\",\n      \"new_backup\": \"Add New Backup\",\n      \"create_backup\": \"Create Backup\",\n      \"select_backup_type\": \"Select Backup Type\",\n      \"backup_confirm_delete\": \"You will not be able to recover this Backup\",\n      \"path\": \"path\",\n      \"new_disk\": \"New Disk\",\n      \"created_at\": \"created at\",\n      \"size\": \"size\",\n      \"dropbox\": \"dropbox\",\n      \"local\": \"local\",\n      \"healthy\": \"healthy\",\n      \"amount_of_backups\": \"amount of backups\",\n      \"newest_backups\": \"newest backups\",\n      \"used_storage\": \"used storage\",\n      \"select_disk\": \"Select Disk\",\n      \"action\": \"Action\",\n      \"deleted_message\": \"Backup deleted successfully\",\n      \"created_message\": \"Backup created successfully\",\n      \"invalid_disk_credentials\": \"Invalid credential of selected disk\"\n    },\n    \"disk\": {\n      \"title\": \"File Disk | File Disks\",\n      \"description\": \"By default, Crater will use your local disk for saving backups, avatar and other image files. You can configure more than one disk drivers like DigitalOcean, S3 and Dropbox according to your preference.\",\n      \"created_at\": \"created at\",\n      \"dropbox\": \"dropbox\",\n      \"name\": \"Name\",\n      \"driver\": \"Driver\",\n      \"disk_type\": \"Type\",\n      \"disk_name\": \"Disk Name\",\n      \"new_disk\": \"Add New Disk\",\n      \"filesystem_driver\": \"Filesystem Driver\",\n      \"local_driver\": \"local Driver\",\n      \"local_root\": \"local Root\",\n      \"public_driver\": \"Public Driver\",\n      \"public_root\": \"Public Root\",\n      \"public_url\": \"Public URL\",\n      \"public_visibility\": \"Public Visibility\",\n      \"media_driver\": \"Media Driver\",\n      \"media_root\": \"Media Root\",\n      \"aws_driver\": \"AWS Driver\",\n      \"aws_key\": \"AWS Key\",\n      \"aws_secret\": \"AWS Secret\",\n      \"aws_region\": \"AWS Region\",\n      \"aws_bucket\": \"AWS Bucket\",\n      \"aws_root\": \"AWS Root\",\n      \"do_spaces_type\": \"Do Spaces type\",\n      \"do_spaces_key\": \"Do Spaces key\",\n      \"do_spaces_secret\": \"Do Spaces Secret\",\n      \"do_spaces_region\": \"Do Spaces Region\",\n      \"do_spaces_bucket\": \"Do Spaces Bucket\",\n      \"do_spaces_endpoint\": \"Do Spaces Endpoint\",\n      \"do_spaces_root\": \"Do Spaces Root\",\n      \"dropbox_type\": \"Dropbox Type\",\n      \"dropbox_token\": \"Dropbox Token\",\n      \"dropbox_key\": \"Dropbox Key\",\n      \"dropbox_secret\": \"Dropbox Secret\",\n      \"dropbox_app\": \"Dropbox App\",\n      \"dropbox_root\": \"Dropbox Root\",\n      \"default_driver\": \"Default Driver\",\n      \"is_default\": \"IS DEFAULT\",\n      \"set_default_disk\": \"Set Default Disk\",\n      \"set_default_disk_confirm\": \"This disk will be set as default and all the new PDFs will be saved on this disk\",\n      \"success_set_default_disk\": \"Disk set as default successfully\",\n      \"save_pdf_to_disk\": \"Save PDFs to Disk\",\n      \"disk_setting_description\": \" Enable this, if you wish to save a copy of each Invoice, Estimate & Payment Receipt PDF on your default disk automatically. Turning this option will decrease the load-time when viewing the PDFs.\",\n      \"select_disk\": \"Select Disk\",\n      \"disk_settings\": \"Disk Settings\",\n      \"confirm_delete\": \"Your existing files & folders in the specified disk will not be affected but your disk configuration will be deleted from Crater\",\n      \"action\": \"Action\",\n      \"edit_file_disk\": \"Edit File Disk\",\n      \"success_create\": \"Disk added successfully\",\n      \"success_update\": \"Disk updated successfully\",\n      \"error\": \"Disk addition failed\",\n      \"deleted_message\": \"File Disk deleted successfully\",\n      \"disk_variables_save_successfully\": \"Disk Configured Successfully\",\n      \"disk_variables_save_error\": \"Disk configuration failed.\",\n      \"invalid_disk_credentials\": \"Invalid credential of selected disk\"\n    },\n    \"taxations\": {\n      \"add_billing_address\": \"Enter Billing Address\",\n      \"add_shipping_address\": \"Enter Shipping Address\",\n      \"add_company_address\": \"Enter Company Address\",\n      \"modal_description\": \"The information below is required in order to fetch sales tax.\",\n      \"add_address\": \"Add Address for fetching sales tax.\",\n      \"address_placeholder\": \"Example: 123, My Street\",\n      \"city_placeholder\": \"Example: Los Angeles\",\n      \"state_placeholder\": \"Example: CA\",\n      \"zip_placeholder\": \"Example: 90024\",\n      \"invalid_address\": \"Please provide valid address details.\"\n    }\n  },\n  \"wizard\": {\n    \"account_info\": \"Account Information\",\n    \"account_info_desc\": \"Below details will be used to create the main Administrator account. Also you can change the details anytime after logging in.\",\n    \"name\": \"Name\",\n    \"email\": \"Email\",\n    \"password\": \"Password\",\n    \"confirm_password\": \"Confirm Password\",\n    \"save_cont\": \"Save & Continue\",\n    \"company_info\": \"Company Information\",\n    \"company_info_desc\": \"This information will be displayed on invoices. Note that you can edit this later on settings page.\",\n    \"company_name\": \"Company Name\",\n    \"company_logo\": \"Company Logo\",\n    \"logo_preview\": \"Logo Preview\",\n    \"preferences\": \"Company Preferences\",\n    \"preferences_desc\": \"Specify the default preferences for this company.\",\n    \"currency_set_alert\": \"The company's currency cannot be changed later.\",\n    \"country\": \"Country\",\n    \"state\": \"State\",\n    \"city\": \"City\",\n    \"address\": \"Address\",\n    \"street\": \"Street1 | Street2\",\n    \"phone\": \"Phone\",\n    \"zip_code\": \"Zip Code\",\n    \"go_back\": \"Go Back\",\n    \"currency\": \"Currency\",\n    \"language\": \"Language\",\n    \"time_zone\": \"Time Zone\",\n    \"fiscal_year\": \"Financial Year\",\n    \"date_format\": \"Date Format\",\n    \"from_address\": \"From Address\",\n    \"username\": \"Username\",\n    \"next\": \"Next\",\n    \"continue\": \"Continue\",\n    \"skip\": \"Skip\",\n    \"database\": {\n      \"database\": \"Site URL & Database\",\n      \"connection\": \"Database Connection\",\n      \"host\": \"Database Host\",\n      \"port\": \"Database Port\",\n      \"password\": \"Database Password\",\n      \"app_url\": \"App URL\",\n      \"app_domain\": \"App Domain\",\n      \"username\": \"Database Username\",\n      \"db_name\": \"Database Name\",\n      \"db_path\": \"Database Path\",\n      \"desc\": \"Create a database on your server and set the credentials using the form below.\"\n    },\n    \"permissions\": {\n      \"permissions\": \"Permissions\",\n      \"permission_confirm_title\": \"Are you sure you want to continue?\",\n      \"permission_confirm_desc\": \"Folder permission check failed\",\n      \"permission_desc\": \"Below is the list of folder permissions which are required in order for the app to work. If the permission check fails, make sure to update your folder permissions.\"\n    },\n    \"verify_domain\": {\n      \"title\": \"Domain Verification\",\n      \"desc\": \"Crater uses Session based authentication which requires domain verification for security purposes. Please enter the domain on which you will be accessing your web application.\",\n      \"app_domain\": \"App Domain\",\n      \"verify_now\": \"Verify Now\",\n      \"success\": \"Domain Verify Successfully.\",\n      \"failed\": \"Domain verification failed. Please enter valid domain name.\",\n      \"verify_and_continue\": \"Verify And Continue\"\n    },\n    \"mail\": {\n      \"host\": \"Mail Host\",\n      \"port\": \"Mail Port\",\n      \"driver\": \"Mail Driver\",\n      \"secret\": \"Secret\",\n      \"mailgun_secret\": \"Mailgun Secret\",\n      \"mailgun_domain\": \"Domain\",\n      \"mailgun_endpoint\": \"Mailgun Endpoint\",\n      \"ses_secret\": \"SES Secret\",\n      \"ses_key\": \"SES Key\",\n      \"password\": \"Mail Password\",\n      \"username\": \"Mail Username\",\n      \"mail_config\": \"Mail Configuration\",\n      \"from_name\": \"From Mail Name\",\n      \"from_mail\": \"From Mail Address\",\n      \"encryption\": \"Mail Encryption\",\n      \"mail_config_desc\": \"Below is the form for Configuring Email driver for sending emails from the app. You can also configure third party providers like Sendgrid, SES etc.\"\n    },\n    \"req\": {\n      \"system_req\": \"System Requirements\",\n      \"php_req_version\": \"Php (version {version} required)\",\n      \"check_req\": \"Check Requirements\",\n      \"system_req_desc\": \"Crater has a few server requirements. Make sure that your server has the required php version and all the extensions mentioned below.\"\n    },\n    \"errors\": {\n      \"migrate_failed\": \"Migrate Failed\",\n      \"database_variables_save_error\": \"Cannot write configuration to .env file. Please check its file permissions\",\n      \"mail_variables_save_error\": \"Email configuration failed.\",\n      \"connection_failed\": \"Database connection failed\",\n      \"database_should_be_empty\": \"Database should be empty\"\n    },\n    \"success\": {\n      \"mail_variables_save_successfully\": \"Email configured successfully\",\n      \"database_variables_save_successfully\": \"Database configured successfully.\"\n    }\n  },\n  \"validation\": {\n    \"invalid_phone\": \"Invalid Phone Number\",\n    \"invalid_url\": \"Invalid url (ex: http://www.craterapp.com)\",\n    \"invalid_domain_url\": \"Invalid url (ex: craterapp.com)\",\n    \"required\": \"Field is required\",\n    \"email_incorrect\": \"Incorrect Email.\",\n    \"email_already_taken\": \"The email has already been taken.\",\n    \"email_does_not_exist\": \"User with given email doesn't exist\",\n    \"item_unit_already_taken\": \"This item unit name has already been taken\",\n    \"payment_mode_already_taken\": \"This payment mode name has already been taken\",\n    \"send_reset_link\": \"Send Reset Link\",\n    \"not_yet\": \"Not yet? Send it again\",\n    \"password_min_length\": \"Password must contain {count} characters\",\n    \"name_min_length\": \"Name must have at least {count} letters.\",\n    \"prefix_min_length\": \"Prefix must have at least {count} letters.\",\n    \"enter_valid_tax_rate\": \"Enter valid tax rate\",\n    \"numbers_only\": \"Numbers Only.\",\n    \"characters_only\": \"Characters Only.\",\n    \"password_incorrect\": \"Passwords must be identical\",\n    \"password_length\": \"Password must be {count} character long.\",\n    \"qty_must_greater_than_zero\": \"Quantity must be greater than zero.\",\n    \"price_greater_than_zero\": \"Price must be greater than zero.\",\n    \"payment_greater_than_zero\": \"Payment must be greater than zero.\",\n    \"payment_greater_than_due_amount\": \"Entered Payment is more than due amount of this invoice.\",\n    \"quantity_maxlength\": \"Quantity should not be greater than 20 digits.\",\n    \"price_maxlength\": \"Price should not be greater than 20 digits.\",\n    \"price_minvalue\": \"Price should be greater than 0.\",\n    \"amount_maxlength\": \"Amount should not be greater than 20 digits.\",\n    \"amount_minvalue\": \"Amount should be greater than 0.\",\n    \"discount_maxlength\": \"Discount should not be greater than max discount\",\n    \"description_maxlength\": \"Description should not be greater than 255 characters.\",\n    \"subject_maxlength\": \"Subject should not be greater than 100 characters.\",\n    \"message_maxlength\": \"Message should not be greater than 255 characters.\",\n    \"maximum_options_error\": \"Maximum  of {max} options selected. First remove a selected option to select another.\",\n    \"notes_maxlength\": \"Notes should not be greater than 65,000 characters.\",\n    \"address_maxlength\": \"Address should not be greater than 255 characters.\",\n    \"ref_number_maxlength\": \"Ref Number should not be greater than 255 characters.\",\n    \"prefix_maxlength\": \"Prefix should not be greater than 5 characters.\",\n    \"something_went_wrong\": \"something went wrong\",\n    \"number_length_minvalue\": \"Number length should be greater than 0\",\n    \"at_least_one_ability\": \"Please select atleast one Permission.\",\n    \"valid_driver_key\": \"Please enter a valid {driver} key.\",\n    \"valid_exchange_rate\": \"Please enter a valid exchange rate.\",\n    \"company_name_not_same\": \"Company name must match with given name.\"\n  },\n  \"errors\": {\n    \"starter_plan\": \"This feature is available on Starter plan and onwards!\",\n    \"invalid_provider_key\": \"Please Enter Valid Provider API Key.\",\n    \"estimate_number_used\": \"The estimate number has already been taken.\",\n    \"invoice_number_used\": \"The invoice number has already been taken.\",\n    \"payment_attached\": \"This invoice already has a payment attached to it. Make sure to delete the attached payments first in order to go ahead with the removal.\",\n    \"payment_number_used\": \"The payment number has already been taken.\",\n    \"name_already_taken\": \"The name has already been taken.\",\n    \"receipt_does_not_exist\": \"Receipt does not exist.\",\n    \"customer_cannot_be_changed_after_payment_is_added\": \"Customer cannot be change after payment is added\",\n    \"invalid_credentials\": \"Invalid  Credentials.\",\n    \"not_allowed\": \"Not Allowed\",\n    \"login_invalid_credentials\": \"These credentials do not match our records.\",\n    \"enter_valid_cron_format\": \"Please enter a valid cron format\",\n    \"email_could_not_be_sent\": \"Email could not be sent to this email address.\",\n    \"invalid_address\": \"Please enter a valid address.\",\n    \"invalid_key\": \"Please enter valid key.\",\n    \"invalid_state\": \"Please enter a valid state.\",\n    \"invalid_city\": \"Please enter a valid city.\",\n    \"invalid_postal_code\": \"Please enter a valid zip.\",\n    \"invalid_format\": \"Please enter valid query string format.\",\n    \"api_error\": \"Server not responding.\",\n    \"feature_not_enabled\": \"Feature not enabled.\",\n    \"request_limit_met\": \"Api request limit exceeded.\",\n    \"address_incomplete\": \"Incomplete Address\"\n  },\n  \"pdf_estimate_label\": \"Estimate\",\n  \"pdf_estimate_number\": \"Estimate Number\",\n  \"pdf_estimate_date\": \"Estimate Date\",\n  \"pdf_estimate_expire_date\": \"Expiry date\",\n  \"pdf_invoice_label\": \"Invoice\",\n  \"pdf_invoice_number\": \"Invoice Number\",\n  \"pdf_invoice_date\": \"Invoice Date\",\n  \"pdf_invoice_due_date\": \"Due date\",\n  \"pdf_notes\": \"Notes\",\n  \"pdf_items_label\": \"Items\",\n  \"pdf_quantity_label\": \"Quantity\",\n  \"pdf_price_label\": \"Price\",\n  \"pdf_discount_label\": \"Discount\",\n  \"pdf_amount_label\": \"Amount\",\n  \"pdf_subtotal\": \"Subtotal\",\n  \"pdf_total\": \"Total\",\n  \"pdf_payment_label\": \"Payment\",\n  \"pdf_payment_receipt_label\": \"PAYMENT RECEIPT\",\n  \"pdf_payment_date\": \"Payment Date\",\n  \"pdf_payment_number\": \"Payment Number\",\n  \"pdf_payment_mode\": \"Payment Mode\",\n  \"pdf_payment_amount_received_label\": \"Amount Received\",\n  \"pdf_expense_report_label\": \"EXPENSES REPORT\",\n  \"pdf_total_expenses_label\": \"TOTAL EXPENSE\",\n  \"pdf_profit_loss_label\": \"PROFIT & LOSS REPORT\",\n  \"pdf_sales_customers_label\": \"Sales Customer Report\",\n  \"pdf_sales_items_label\": \"Sales Item Report\",\n  \"pdf_tax_summery_label\": \"Tax Summary Report\",\n  \"pdf_income_label\": \"INCOME\",\n  \"pdf_net_profit_label\": \"NET PROFIT\",\n  \"pdf_customer_sales_report\": \"Sales Report: By Customer\",\n  \"pdf_total_sales_label\": \"TOTAL SALES\",\n  \"pdf_item_sales_label\": \"Sales Report: By Item\",\n  \"pdf_tax_report_label\": \"TAX REPORT\",\n  \"pdf_total_tax_label\": \"TOTAL TAX\",\n  \"pdf_tax_types_label\": \"Tax Types\",\n  \"pdf_expenses_label\": \"Expenses\",\n  \"pdf_bill_to\": \"Bill to,\",\n  \"pdf_ship_to\": \"Ship to,\",\n  \"pdf_received_from\": \"Received from:\",\n  \"pdf_tax_label\": \"Tax\"\n}\n"
  },
  {
    "path": "resources/scripts/locales/sr.json",
    "content": "{\n  \"navigation\": {\n    \"dashboard\": \"Komandna tabla\",\n    \"customers\": \"Klijenti\",\n    \"items\": \"Stavke\",\n    \"invoices\": \"Fakture\",\n    \"recurring-invoices\": \"Recurring Invoices\",\n    \"expenses\": \"Rashodi\",\n    \"estimates\": \"Profakture\",\n    \"payments\": \"Uplate\",\n    \"reports\": \"Izveštaji\",\n    \"settings\": \"Podešavanja\",\n    \"logout\": \"Odjavi se\",\n    \"users\": \"Korisnici\",\n    \"modules\": \"Modules\"\n  },\n  \"general\": {\n    \"add_company\": \"Dodaj kompaniju\",\n    \"view_pdf\": \"Pogledaj PDF\",\n    \"copy_pdf_url\": \"Kopiraj PDF link\",\n    \"download_pdf\": \"Preuzmi PDF\",\n    \"save\": \"Sačuvaj\",\n    \"create\": \"Napravi\",\n    \"cancel\": \"Otkaži\",\n    \"update\": \"Ažuriraj\",\n    \"deselect\": \"Poništi izbor\",\n    \"download\": \"Preuzmi\",\n    \"from_date\": \"Od Datuma\",\n    \"to_date\": \"Do Datuma\",\n    \"from\": \"Pošiljalac\",\n    \"to\": \"Primalac\",\n    \"ok\": \"Ok\",\n    \"yes\": \"Yes\",\n    \"no\": \"No\",\n    \"sort_by\": \"Rasporedi Po\",\n    \"ascending\": \"Rastuće\",\n    \"descending\": \"Opadajuće\",\n    \"subject\": \"Predmet\",\n    \"body\": \"Telo\",\n    \"message\": \"Poruka\",\n    \"send\": \"Pošalji\",\n    \"preview\": \"Preview\",\n    \"go_back\": \"Idi nazad\",\n    \"back_to_login\": \"Nazad na prijavu?\",\n    \"home\": \"Početna\",\n    \"filter\": \"Filter\",\n    \"delete\": \"Obriši\",\n    \"edit\": \"Izmeni\",\n    \"view\": \"Pogledaj\",\n    \"add_new_item\": \"Dodaj novu stavku\",\n    \"clear_all\": \"Izbriši sve\",\n    \"showing\": \"Prikazivanje\",\n    \"of\": \"od\",\n    \"actions\": \"Akcije\",\n    \"subtotal\": \"UKUPNO\",\n    \"discount\": \"POPUST\",\n    \"fixed\": \"Fiksno\",\n    \"percentage\": \"Procenat\",\n    \"tax\": \"POREZ\",\n    \"total_amount\": \"UKUPAN IZNOS\",\n    \"bill_to\": \"Račun za\",\n    \"ship_to\": \"Isporučiti za\",\n    \"due\": \"Dužan\",\n    \"draft\": \"U izradi\",\n    \"sent\": \"Poslato\",\n    \"all\": \"Sve\",\n    \"select_all\": \"Izaberi sve\",\n    \"select_template\": \"Select Template\",\n    \"choose_file\": \"Klikni ovde da izabereš fajl\",\n    \"choose_template\": \"Izaberi šablon\",\n    \"choose\": \"Izaberi\",\n    \"remove\": \"Ukloni\",\n    \"select_a_status\": \"Izaberi status\",\n    \"select_a_tax\": \"Izaberi porez\",\n    \"search\": \"Pretraga\",\n    \"are_you_sure\": \"Da li ste sigurni?\",\n    \"list_is_empty\": \"Lista je prazna.\",\n    \"no_tax_found\": \"Porez nije pronađen!\",\n    \"four_zero_four\": \"404\",\n    \"you_got_lost\": \"Ups! Izgubio si se!\",\n    \"go_home\": \"Idi na početnu stranicu\",\n    \"test_mail_conf\": \"Testiraj podešavanje Pošte\",\n    \"send_mail_successfully\": \"Pošta uspešno poslata\",\n    \"setting_updated\": \"Podešavanje uspešno ažurirano\",\n    \"select_state\": \"Odaberi saveznu državu\",\n    \"select_country\": \"Odaberi državu\",\n    \"select_city\": \"Odaberi grad\",\n    \"street_1\": \"Adresa 1\",\n    \"street_2\": \"Adresa 2\",\n    \"action_failed\": \"Akcija nije uspela\",\n    \"retry\": \"Pokušaj ponovo\",\n    \"choose_note\": \"Odaberi napomenu\",\n    \"no_note_found\": \"Ne postoje sačuvane napomene\",\n    \"insert_note\": \"Unesi belešku\",\n    \"copied_pdf_url_clipboard\": \"Link do PDF fajla kopiran!\",\n    \"copied_url_clipboard\": \"Copied url to clipboard!\",\n    \"docs\": \"Docs\",\n    \"do_you_wish_to_continue\": \"Do you wish to continue?\",\n    \"note\": \"Note\",\n    \"pay_invoice\": \"Pay Invoice\",\n    \"login_successfully\": \"Logged in successfully!\",\n    \"logged_out_successfully\": \"Logged out successfully\",\n    \"mark_as_default\": \"Mark as default\"\n  },\n  \"dashboard\": {\n    \"select_year\": \"Odaberi godinu\",\n    \"cards\": {\n      \"due_amount\": \"Dužan iznos\",\n      \"customers\": \"Klijenti\",\n      \"invoices\": \"Fakture\",\n      \"estimates\": \"Profakture\",\n      \"payments\": \"Payments\"\n    },\n    \"chart_info\": {\n      \"total_sales\": \"Prodaja\",\n      \"total_receipts\": \"Računi\",\n      \"total_expense\": \"Rashodi\",\n      \"net_income\": \"Prihod NETO\",\n      \"year\": \"Odaberi godinu\"\n    },\n    \"monthly_chart\": {\n      \"title\": \"Prodaja & Rashodi\"\n    },\n    \"recent_invoices_card\": {\n      \"title\": \"Dospele fakture\",\n      \"due_on\": \"Datum dospevanja\",\n      \"customer\": \"Klijent\",\n      \"amount_due\": \"Iznos dospeća\",\n      \"actions\": \"Akcije\",\n      \"view_all\": \"Pogledaj sve\"\n    },\n    \"recent_estimate_card\": {\n      \"title\": \"Nedavne profakture\",\n      \"date\": \"Datum\",\n      \"customer\": \"Klijent\",\n      \"amount_due\": \"Iznos dospeća\",\n      \"actions\": \"Akcije\",\n      \"view_all\": \"Pogledaj sve\"\n    }\n  },\n  \"tax_types\": {\n    \"name\": \"Naziv\",\n    \"description\": \"Opis\",\n    \"percent\": \"Procenat\",\n    \"compound_tax\": \"Složeni porez\"\n  },\n  \"global_search\": {\n    \"search\": \"Pretraga...\",\n    \"customers\": \"Klijenti\",\n    \"users\": \"Korisnici\",\n    \"no_results_found\": \"Nema rezultata\"\n  },\n  \"company_switcher\": {\n    \"label\": \"SWITCH COMPANY\",\n    \"no_results_found\": \"No Results Found\",\n    \"add_new_company\": \"Add new company\",\n    \"new_company\": \"New company\",\n    \"created_message\": \"Company created successfully\"\n  },\n  \"dateRange\": {\n    \"today\": \"Today\",\n    \"this_week\": \"This Week\",\n    \"this_month\": \"This Month\",\n    \"this_quarter\": \"This Quarter\",\n    \"this_year\": \"This Year\",\n    \"previous_week\": \"Previous Week\",\n    \"previous_month\": \"Previous Month\",\n    \"previous_quarter\": \"Previous Quarter\",\n    \"previous_year\": \"Previous Year\",\n    \"custom\": \"Custom\"\n  },\n  \"customers\": {\n    \"title\": \"Klijenti\",\n    \"prefix\": \"Prefix\",\n    \"add_customer\": \"Dodaj Klijenta\",\n    \"contacts_list\": \"Lista klijenata\",\n    \"name\": \"Naziv\",\n    \"mail\": \"Mail | Mail-ovi\",\n    \"statement\": \"Izjava\",\n    \"display_name\": \"Naziv koji se prikazuje\",\n    \"primary_contact_name\": \"Primarna kontakt osoba\",\n    \"contact_name\": \"Naziv kontakt osobe\",\n    \"amount_due\": \"Iznos dospeća\",\n    \"email\": \"E-mail\",\n    \"address\": \"Adresa\",\n    \"phone\": \"Telefon\",\n    \"website\": \"Veb stranica\",\n    \"overview\": \"Pregled\",\n    \"invoice_prefix\": \"Invoice Prefix\",\n    \"estimate_prefix\": \"Estimate Prefix\",\n    \"payment_prefix\": \"Payment Prefix\",\n    \"enable_portal\": \"Uključi portal\",\n    \"country\": \"Država\",\n    \"state\": \"Savezna država\",\n    \"city\": \"Grad\",\n    \"zip_code\": \"Poštanski broj\",\n    \"added_on\": \"Datum dodavanja\",\n    \"action\": \"Akcija\",\n    \"password\": \"Šifra\",\n    \"confirm_password\": \"Confirm Password\",\n    \"street_number\": \"Broj ulice\",\n    \"primary_currency\": \"Primarna valuta\",\n    \"description\": \"Opis\",\n    \"add_new_customer\": \"Dodaj novog klijenta\",\n    \"save_customer\": \"Sačuvaj klijenta\",\n    \"update_customer\": \"Ažuriraj klijenta\",\n    \"customer\": \"Klijent | Klijenti\",\n    \"new_customer\": \"Nov klijent\",\n    \"edit_customer\": \"Izmeni klijenta\",\n    \"basic_info\": \"Osnovne informacije\",\n    \"portal_access\": \"Portal Access\",\n    \"portal_access_text\": \"Would you like to allow this customer to login to the Customer Portal?\",\n    \"portal_access_url\": \"Customer Portal Login URL\",\n    \"portal_access_url_help\": \"Please copy & forward the above given URL to your customer for providing access.\",\n    \"billing_address\": \"Adresa za naplatu\",\n    \"shipping_address\": \"Adresa za dostavu\",\n    \"copy_billing_address\": \"Kopiraj iz adrese za naplatu\",\n    \"no_customers\": \"Još uvek nema klijenata!\",\n    \"no_customers_found\": \"Klijenti nisu pronađeni!\",\n    \"no_contact\": \"Nema kontakta\",\n    \"no_contact_name\": \"Nema naziva kontakta\",\n    \"list_of_customers\": \"Ova sekcija će da sadrži spisak klijenata.\",\n    \"primary_display_name\": \"Primarni naziv koji se prikazuje\",\n    \"select_currency\": \"Odaberi valutu\",\n    \"select_a_customer\": \"Odaberi klijenta\",\n    \"type_or_click\": \"Unesi tekst ili klikni da izabereš\",\n    \"new_transaction\": \"Nova transakcija\",\n    \"no_matching_customers\": \"Ne postoje klijenti koji odgovaraju pretrazi!\",\n    \"phone_number\": \"Broj telefona\",\n    \"create_date\": \"Datum kreiranja\",\n    \"confirm_delete\": \"Nećeš moći da povratiš ovog klijenta i sve njegove Fakture, Profakture i Uplate. | Nećeš moći da povratiš ove klijente i njihove Fakture, Profakture i Uplate.\",\n    \"created_message\": \"Klijent uspešno kreiran\",\n    \"updated_message\": \"Klijent uspešno ažuriran\",\n    \"address_updated_message\": \"Address Information Updated succesfully\",\n    \"deleted_message\": \"Klijent uspešno obrisan | Klijenti uspešno obrisani\",\n    \"edit_currency_not_allowed\": \"Cannot change currency once transactions created.\"\n  },\n  \"items\": {\n    \"title\": \"Stavke\",\n    \"items_list\": \"Lista stavki\",\n    \"name\": \"Naziv\",\n    \"unit\": \"Jedinica\",\n    \"description\": \"Opis\",\n    \"added_on\": \"Datum dodavanja\",\n    \"price\": \"Cena\",\n    \"date_of_creation\": \"Datum kreiranja\",\n    \"not_selected\": \"Nije odabrana niti jedna stavka\",\n    \"action\": \"Akcije\",\n    \"add_item\": \"Dodaj Stavku\",\n    \"save_item\": \"Sačuvaj Stavku\",\n    \"update_item\": \"Ažuriraj Stavku\",\n    \"item\": \"Stavka | Stavke\",\n    \"add_new_item\": \"Dodaj novu stavku\",\n    \"new_item\": \"Nova stavka\",\n    \"edit_item\": \"Izmeni stavku\",\n    \"no_items\": \"Još uvek nema stavki!\",\n    \"list_of_items\": \"Ova sekcija će da sadrži spisak stavki.\",\n    \"select_a_unit\": \"odaberi jedinicu\",\n    \"taxes\": \"Porezi\",\n    \"item_attached_message\": \"Nije dozvoljeno brisanje stavke koje se koristi\",\n    \"confirm_delete\": \"Nećeš moći da povratiš ovu Stavku | Nećeš moći da povratiš ove Stavke\",\n    \"created_message\": \"Stavka uspešno kreirana\",\n    \"updated_message\": \"Stavka uspešno ažurirana\",\n    \"deleted_message\": \"Stavka uspešno obrisana | Stavke uspešno obrisane\"\n  },\n  \"estimates\": {\n    \"title\": \"Profakture\",\n    \"accept_estimate\": \"Accept Estimate\",\n    \"reject_estimate\": \"Reject Estimate\",\n    \"estimate\": \"Profaktura | Profakture\",\n    \"estimates_list\": \"Lista profaktura\",\n    \"days\": \"{days} Dan\",\n    \"months\": \"{months} Mesec\",\n    \"years\": \"{years} Godina\",\n    \"all\": \"Sve\",\n    \"paid\": \"Plaćeno\",\n    \"unpaid\": \"Neplaćeno\",\n    \"customer\": \"KLIJENT\",\n    \"ref_no\": \"POZIV NA BROJ\",\n    \"number\": \"BROJ\",\n    \"amount_due\": \"IZNOS DOSPEĆA\",\n    \"partially_paid\": \"Delimično Plaćeno\",\n    \"total\": \"Ukupno za plaćanje\",\n    \"discount\": \"Popust\",\n    \"sub_total\": \"Osnovica za obračun PDV-a\",\n    \"estimate_number\": \"Broj profakture\",\n    \"ref_number\": \"Poziv na broj\",\n    \"contact\": \"Kontakt\",\n    \"add_item\": \"Dodaj stavku\",\n    \"date\": \"Datum\",\n    \"due_date\": \"Datum Dospeća\",\n    \"expiry_date\": \"Datum Isteka\",\n    \"status\": \"Status\",\n    \"add_tax\": \"Dodaj Porez\",\n    \"amount\": \"Iznos\",\n    \"action\": \"Akcija\",\n    \"notes\": \"Napomena\",\n    \"tax\": \"Porez\",\n    \"estimate_template\": \"Šablon\",\n    \"convert_to_invoice\": \"Pretvori u Fakturu\",\n    \"mark_as_sent\": \"Označi kao Poslato\",\n    \"send_estimate\": \"Pošalji Profakturu\",\n    \"resend_estimate\": \"Ponovo pošalji Profakturu\",\n    \"record_payment\": \"Unesi uplatu\",\n    \"add_estimate\": \"Dodaj Profakturu\",\n    \"save_estimate\": \"Sačuvaj Profakturu\",\n    \"confirm_conversion\": \"Detalji ove Profakture će biti iskorišćeni za pravljenje Fakture.\",\n    \"conversion_message\": \"Faktura uspešno kreirana\",\n    \"confirm_send_estimate\": \"Ova Profaktura će biti poslata putem Email-a klijentu\",\n    \"confirm_mark_as_sent\": \"Ova Profaktura će biti označena kao Poslata\",\n    \"confirm_mark_as_accepted\": \"Ova Profaktura će biti označena kao Prihvaćena\",\n    \"confirm_mark_as_rejected\": \"Ova Profaktura će biti označena kao Odbijena\",\n    \"no_matching_estimates\": \"Ne postoji odgovarajuća profaktura!\",\n    \"mark_as_sent_successfully\": \"Profaktura uspešno označena kao Poslata\",\n    \"send_estimate_successfully\": \"Profaktura uspešno poslata\",\n    \"errors\": {\n      \"required\": \"Polje je obavezno\"\n    },\n    \"accepted\": \"Prihvaćeno\",\n    \"rejected\": \"Odbijeno\",\n    \"expired\": \"Expired\",\n    \"sent\": \"Poslato\",\n    \"draft\": \"U izradi\",\n    \"viewed\": \"Viewed\",\n    \"declined\": \"Odbijeno\",\n    \"new_estimate\": \"Nova Profaktura\",\n    \"add_new_estimate\": \"Dodaj novu Profakturu\",\n    \"update_Estimate\": \"Ažuriraj Profakturu\",\n    \"edit_estimate\": \"Izmeni Profakturu\",\n    \"items\": \"stavke\",\n    \"Estimate\": \"Profaktura | Profakture\",\n    \"add_new_tax\": \"Dodaj nov Porez\",\n    \"no_estimates\": \"Još uvek nema Profaktura!\",\n    \"list_of_estimates\": \"Ova sekcija će da sadrži spisak Profaktura.\",\n    \"mark_as_rejected\": \"Označi kao odbijeno\",\n    \"mark_as_accepted\": \"Označi kao prihvaćeno\",\n    \"marked_as_accepted_message\": \"Profaktura označena kao prihvaćena\",\n    \"marked_as_rejected_message\": \"Profaktura označena kao odbijena\",\n    \"confirm_delete\": \"Nećeš moći da povratiš ovu Profakturu | Nećeš moći da povratiš ove Profakture\",\n    \"created_message\": \"Profaktura uspešno kreirana\",\n    \"updated_message\": \"Profaktura uspešno ažurirana\",\n    \"deleted_message\": \"Profaktura uspešno obrisana | Profakture uspešno obrisane\",\n    \"something_went_wrong\": \"nešto je krenulo naopako\",\n    \"item\": {\n      \"title\": \"Naziv stavke\",\n      \"description\": \"Opis\",\n      \"quantity\": \"Količina\",\n      \"price\": \"Cena\",\n      \"discount\": \"Popust\",\n      \"total\": \"Ukupno za plaćanje\",\n      \"total_discount\": \"Ukupan popust\",\n      \"sub_total\": \"Ukupno\",\n      \"tax\": \"Porez\",\n      \"amount\": \"Iznos\",\n      \"select_an_item\": \"Unesi tekst ili klikni da izabereš\",\n      \"type_item_description\": \"Unesi opis Stavke (nije obavezno)\"\n    },\n    \"mark_as_default_estimate_template_description\": \"If enabled, the selected template will be automatically selected for new estimates.\"\n  },\n  \"invoices\": {\n    \"title\": \"Fakture\",\n    \"download\": \"Download\",\n    \"pay_invoice\": \"Pay Invoice\",\n    \"invoices_list\": \"List Faktura\",\n    \"invoice_information\": \"Invoice Information\",\n    \"days\": \"{days} dan\",\n    \"months\": \"{months} Mesec\",\n    \"years\": \"{years} Godina\",\n    \"all\": \"Sve\",\n    \"paid\": \"Plaćeno\",\n    \"unpaid\": \"Neplaćeno\",\n    \"viewed\": \"Pogledano\",\n    \"overdue\": \"Nepodmireno\",\n    \"completed\": \"Završeno\",\n    \"customer\": \"KLIJENT\",\n    \"paid_status\": \"STATUS UPLATE\",\n    \"ref_no\": \"POZIV NA BROJ\",\n    \"number\": \"BROJ\",\n    \"amount_due\": \"IZNOS DOSPEĆA\",\n    \"partially_paid\": \"Delimično plaćeno\",\n    \"total\": \"Ukupno za plaćanje\",\n    \"discount\": \"Popust\",\n    \"sub_total\": \"Osnovica za obračun PDV-a\",\n    \"invoice\": \"Faktura | Fakture\",\n    \"invoice_number\": \"Broj Fakture\",\n    \"ref_number\": \"Poziv na broj\",\n    \"contact\": \"Kontakt\",\n    \"add_item\": \"Dodaj Stavku\",\n    \"date\": \"Datum\",\n    \"due_date\": \"Datum Dospeća\",\n    \"status\": \"Status\",\n    \"add_tax\": \"Dodaj Porez\",\n    \"amount\": \"Iznos\",\n    \"action\": \"Akcija\",\n    \"notes\": \"Napomena\",\n    \"view\": \"Pogledaj\",\n    \"send_invoice\": \"Pošalji Fakturu\",\n    \"resend_invoice\": \"Ponovo pošalji Fakturu\",\n    \"invoice_template\": \"Šablon Fakture\",\n    \"conversion_message\": \"Invoice cloned successful\",\n    \"template\": \"Šablon\",\n    \"mark_as_sent\": \"Označi kao Poslato\",\n    \"confirm_send_invoice\": \"Ova Faktura će biti poslata putem Email-a klijentu\",\n    \"invoice_mark_as_sent\": \"Ova Faktura će biti označena kao poslata\",\n    \"confirm_mark_as_accepted\": \"This invoice will be marked as Accepted\",\n    \"confirm_mark_as_rejected\": \"This invoice will be marked as Rejected\",\n    \"confirm_send\": \"Ova Faktura će biti poslata putem Email-a klijentu\",\n    \"invoice_date\": \"Datum Fakture\",\n    \"record_payment\": \"Unesi Uplatu\",\n    \"add_new_invoice\": \"Dodaj novu Fakturu\",\n    \"update_expense\": \"Ažuriraj Rashod\",\n    \"edit_invoice\": \"Izmeni Fakturu\",\n    \"new_invoice\": \"Nova Faktura\",\n    \"save_invoice\": \"Sačuvaj Fakturu\",\n    \"update_invoice\": \"Ažuriraj Fakturu\",\n    \"add_new_tax\": \"Dodaj nov Porez\",\n    \"no_invoices\": \"Još uvek nema Faktura!\",\n    \"mark_as_rejected\": \"Mark as rejected\",\n    \"mark_as_accepted\": \"Mark as accepted\",\n    \"list_of_invoices\": \"Ova sekcija će da sadrži spisak Faktura.\",\n    \"select_invoice\": \"Odaberi Fakturu\",\n    \"no_matching_invoices\": \"Ne postoje Fakture koje odgovaraju pretrazi!\",\n    \"mark_as_sent_successfully\": \"Faktura uspešno označena kao Poslata\",\n    \"invoice_sent_successfully\": \"Invoice sent successfully\",\n    \"cloned_successfully\": \"Uspešno napravljen duplikat Fakture\",\n    \"clone_invoice\": \"Napravi duplikat\",\n    \"confirm_clone\": \"Ova Faktura će biti duplikat nove Fakture\",\n    \"item\": {\n      \"title\": \"Naziv Stavke\",\n      \"description\": \"Opis\",\n      \"quantity\": \"Količina\",\n      \"price\": \"Cena\",\n      \"discount\": \"Popust\",\n      \"total\": \"Ukupno za plaćanje\",\n      \"total_discount\": \"Ukupan popust\",\n      \"sub_total\": \"Ukupno\",\n      \"tax\": \"Porez\",\n      \"amount\": \"Iznos\",\n      \"select_an_item\": \"Unesi tekst ili klikni da izabereš\",\n      \"type_item_description\": \"Unesi opis Stavke (nije obavezno)\"\n    },\n    \"payment_attached_message\": \"Jedna od odabranih faktura već ima uplatu povezanu sa njom. Obrišite prvo povezane uplate da bi nastavili sa brisanjem\",\n    \"confirm_delete\": \"Nećeš moći da povratiš ovu Fakturu | Nećeš moći da povratiš ove Fakture\",\n    \"created_message\": \"Faktura uspešno kreirana\",\n    \"updated_message\": \"Faktura uspešno ažurirana\",\n    \"deleted_message\": \"Faktura uspešno obrisana | Fakture uspešno obrisane\",\n    \"marked_as_sent_message\": \"Faktura označena kao uspešno poslata\",\n    \"something_went_wrong\": \"nešto je krenulo naopako\",\n    \"invalid_due_amount_message\": \"Ukupan iznos za plaćanje u fakturi ne može biti manji od iznosa uplate za ovu fakturu. Molim Vas ažurirajte fakturu ili obrišite uplate koje su povezane sa ovom fakturom da bi nastavili.\",\n    \"mark_as_default_invoice_template_description\": \"If enabled, the selected template will be automatically selected for new invoices.\"\n  },\n  \"recurring_invoices\": {\n    \"title\": \"Recurring Invoices\",\n    \"invoices_list\": \"Recurring Invoices List\",\n    \"days\": \"{days} Days\",\n    \"months\": \"{months} Month\",\n    \"years\": \"{years} Year\",\n    \"all\": \"All\",\n    \"paid\": \"Paid\",\n    \"unpaid\": \"Unpaid\",\n    \"viewed\": \"Viewed\",\n    \"overdue\": \"Overdue\",\n    \"active\": \"Active\",\n    \"completed\": \"Completed\",\n    \"customer\": \"CUSTOMER\",\n    \"paid_status\": \"PAID STATUS\",\n    \"ref_no\": \"REF NO.\",\n    \"number\": \"NUMBER\",\n    \"amount_due\": \"AMOUNT DUE\",\n    \"partially_paid\": \"Partially Paid\",\n    \"total\": \"Total\",\n    \"discount\": \"Discount\",\n    \"sub_total\": \"Sub Total\",\n    \"invoice\": \"Recurring Invoice | Recurring Invoices\",\n    \"invoice_number\": \"Recurring Invoice Number\",\n    \"next_invoice_date\": \"Next Invoice Date\",\n    \"ref_number\": \"Ref Number\",\n    \"contact\": \"Contact\",\n    \"add_item\": \"Add an Item\",\n    \"date\": \"Date\",\n    \"limit_by\": \"Limit by\",\n    \"limit_date\": \"Limit Date\",\n    \"limit_count\": \"Limit Count\",\n    \"count\": \"Count\",\n    \"status\": \"Status\",\n    \"select_a_status\": \"Select a status\",\n    \"working\": \"Working\",\n    \"on_hold\": \"On Hold\",\n    \"complete\": \"Completed\",\n    \"add_tax\": \"Add Tax\",\n    \"amount\": \"Amount\",\n    \"action\": \"Action\",\n    \"notes\": \"Notes\",\n    \"view\": \"View\",\n    \"basic_info\": \"Basic Info\",\n    \"send_invoice\": \"Send Recurring Invoice\",\n    \"auto_send\": \"Auto Send\",\n    \"resend_invoice\": \"Resend Recurring Invoice\",\n    \"invoice_template\": \"Recurring Invoice Template\",\n    \"conversion_message\": \"Recurring Invoice cloned successful\",\n    \"template\": \"Template\",\n    \"mark_as_sent\": \"Mark as sent\",\n    \"confirm_send_invoice\": \"This recurring invoice will be sent via email to the customer\",\n    \"invoice_mark_as_sent\": \"This recurring invoice will be marked as sent\",\n    \"confirm_send\": \"This recurring invoice will be sent via email to the customer\",\n    \"starts_at\": \"Start Date\",\n    \"due_date\": \"Invoice Due Date\",\n    \"record_payment\": \"Record Payment\",\n    \"add_new_invoice\": \"Add New Recurring Invoice\",\n    \"update_expense\": \"Update Expense\",\n    \"edit_invoice\": \"Edit Recurring Invoice\",\n    \"new_invoice\": \"New Recurring Invoice\",\n    \"send_automatically\": \"Send Automatically\",\n    \"send_automatically_desc\": \"Enable this, if you would like to send the invoice automatically to the customer when its created.\",\n    \"save_invoice\": \"Save Recurring Invoice\",\n    \"update_invoice\": \"Update Recurring Invoice\",\n    \"add_new_tax\": \"Add New Tax\",\n    \"no_invoices\": \"No Recurring Invoices yet!\",\n    \"mark_as_rejected\": \"Mark as rejected\",\n    \"mark_as_accepted\": \"Mark as accepted\",\n    \"list_of_invoices\": \"This section will contain the list of recurring invoices.\",\n    \"select_invoice\": \"Select Invoice\",\n    \"no_matching_invoices\": \"There are no matching recurring invoices!\",\n    \"mark_as_sent_successfully\": \"Recurring Invoice marked as sent successfully\",\n    \"invoice_sent_successfully\": \"Recurring Invoice sent successfully\",\n    \"cloned_successfully\": \"Recurring Invoice cloned successfully\",\n    \"clone_invoice\": \"Clone Recurring Invoice\",\n    \"confirm_clone\": \"This recurring invoice will be cloned into a new Recurring Invoice\",\n    \"add_customer_email\": \"Please add an email address for this customer to send invoices automatically.\",\n    \"item\": {\n      \"title\": \"Item Title\",\n      \"description\": \"Description\",\n      \"quantity\": \"Quantity\",\n      \"price\": \"Price\",\n      \"discount\": \"Discount\",\n      \"total\": \"Total\",\n      \"total_discount\": \"Total Discount\",\n      \"sub_total\": \"Sub Total\",\n      \"tax\": \"Tax\",\n      \"amount\": \"Amount\",\n      \"select_an_item\": \"Type or click to select an item\",\n      \"type_item_description\": \"Type Item Description (optional)\"\n    },\n    \"frequency\": {\n      \"title\": \"Frequency\",\n      \"select_frequency\": \"Select Frequency\",\n      \"minute\": \"Minute\",\n      \"hour\": \"Hour\",\n      \"day_month\": \"Day of month\",\n      \"month\": \"Month\",\n      \"day_week\": \"Day of week\"\n    },\n    \"confirm_delete\": \"You will not be able to recover this Invoice | You will not be able to recover these Invoices\",\n    \"created_message\": \"Recurring Invoice created successfully\",\n    \"updated_message\": \"Recurring Invoice updated successfully\",\n    \"deleted_message\": \"Recurring Invoice deleted successfully | Recurring Invoices deleted successfully\",\n    \"marked_as_sent_message\": \"Recurring Invoice marked as sent successfully\",\n    \"user_email_does_not_exist\": \"User email does not exist\",\n    \"something_went_wrong\": \"something went wrong\",\n    \"invalid_due_amount_message\": \"Total Recurring Invoice amount cannot be less than total paid amount for this Recurring Invoice. Please update the invoice or delete the associated payments to continue.\"\n  },\n  \"payments\": {\n    \"title\": \"Uplate\",\n    \"payments_list\": \"Lista uplata\",\n    \"record_payment\": \"Unesi Uplatu\",\n    \"customer\": \"Klijent\",\n    \"date\": \"Datum\",\n    \"amount\": \"Iznos\",\n    \"action\": \"Akcija\",\n    \"payment_number\": \"Broj uplate\",\n    \"payment_mode\": \"Način plaćanja\",\n    \"invoice\": \"Faktura\",\n    \"note\": \"Napomena\",\n    \"add_payment\": \"Dodaj Uplatu\",\n    \"new_payment\": \"Nova Uplata\",\n    \"edit_payment\": \"Izmeni Uplatu\",\n    \"view_payment\": \"Vidi Uplatu\",\n    \"add_new_payment\": \"Dodaj Novu Uplatu\",\n    \"send_payment_receipt\": \"Pošalji potvrdu o uplati\",\n    \"send_payment\": \"Pošalji Uplatu\",\n    \"save_payment\": \"Sačuvaj Uplatu\",\n    \"update_payment\": \"Ažuriraj Uplatu\",\n    \"payment\": \"Uplata | Uplate\",\n    \"no_payments\": \"Još uvek nema uplata!\",\n    \"not_selected\": \"Nema odabranih\",\n    \"no_invoice\": \"Nema računa\",\n    \"no_matching_payments\": \"Ne postoje uplate koje odgovaraju pretrazi!\",\n    \"list_of_payments\": \"Ova sekcija će da sadrži listu uplata.\",\n    \"select_payment_mode\": \"Odaberi način plaćanja\",\n    \"confirm_mark_as_sent\": \"Ovo plaćanje će biti označena kao Poslata\",\n    \"confirm_send_payment\": \"Ovo plaćanje će biti poslato putem Email-a klijentu\",\n    \"send_payment_successfully\": \"Plaćanje uspešno poslato\",\n    \"something_went_wrong\": \"nešto je krenulo naopako\",\n    \"confirm_delete\": \"Nećeš moći da povratiš ovu Uplatu | Nećeš moći da povratiš ove Uplate\",\n    \"created_message\": \"Uplata uspešno kreirana\",\n    \"updated_message\": \"Uplata uspešno ažurirana\",\n    \"deleted_message\": \"Uplata uspešno obrisana | Uplate uspešno obrisane\",\n    \"invalid_amount_message\": \"Iznos Uplate je pogrešan\"\n  },\n  \"expenses\": {\n    \"title\": \"Rashodi\",\n    \"expenses_list\": \"Lista Rashoda\",\n    \"select_a_customer\": \"Odaberi klijenta\",\n    \"expense_title\": \"Naslov\",\n    \"customer\": \"Klijent\",\n    \"currency\": \"Currency\",\n    \"contact\": \"Kontakt\",\n    \"category\": \"Kategorija\",\n    \"from_date\": \"Datum od\",\n    \"to_date\": \"Datum do\",\n    \"expense_date\": \"Datum\",\n    \"description\": \"Opis\",\n    \"receipt\": \"Račun\",\n    \"amount\": \"Iznos\",\n    \"action\": \"Akcija\",\n    \"not_selected\": \"Nije odabrano\",\n    \"note\": \"Napomena\",\n    \"category_id\": \"ID kategorije\",\n    \"date\": \"Datum\",\n    \"add_expense\": \"Dodaj Rashod\",\n    \"add_new_expense\": \"Dodaj Novi Rashod\",\n    \"save_expense\": \"Sačuvaj Rashod\",\n    \"update_expense\": \"Ažuriraj Rashod\",\n    \"download_receipt\": \"Preuzmi Račun\",\n    \"edit_expense\": \"Izmeni Rashod\",\n    \"new_expense\": \"Novi Rashod\",\n    \"expense\": \"Rashod | Rashodi\",\n    \"no_expenses\": \"Još uvek nema rashoda!\",\n    \"list_of_expenses\": \"Ova sekcija će da sadrži listu rashoda.\",\n    \"confirm_delete\": \"Nećeš moći da povratiš ovaj Rashod | Nećeš moći da povratiš ove Rashode\",\n    \"created_message\": \"Rashod uspešno kreiran\",\n    \"updated_message\": \"Rashod uspešno ažuriran\",\n    \"deleted_message\": \"Rashod uspešno obrisan | Rashodi uspešno obrisani\",\n    \"categories\": {\n      \"categories_list\": \"Lista Kategorija\",\n      \"title\": \"Naslov\",\n      \"name\": \"Naziv\",\n      \"description\": \"Opis\",\n      \"amount\": \"Iznos\",\n      \"actions\": \"Akcije\",\n      \"add_category\": \"Dodaj Kategoriju\",\n      \"new_category\": \"Nova Kategorija\",\n      \"category\": \"Kategorija | Kategorije\",\n      \"select_a_category\": \"Izaberi kategoriju\"\n    }\n  },\n  \"login\": {\n    \"email\": \"E-mail\",\n    \"password\": \"Šifra\",\n    \"forgot_password\": \"Zaboravili ste šifru?\",\n    \"or_signIn_with\": \"ili se prijavite sa\",\n    \"login\": \"Prijava\",\n    \"register\": \"Registracija\",\n    \"reset_password\": \"Restujte šifru\",\n    \"password_reset_successfully\": \"Šifra Uspešno Resetovana\",\n    \"enter_email\": \"Unesi email\",\n    \"enter_password\": \"Unesi šifru\",\n    \"retype_password\": \"Ponovo unesi šifru\"\n  },\n  \"modules\": {\n    \"buy_now\": \"Buy Now\",\n    \"install\": \"Install\",\n    \"price\": \"Price\",\n    \"download_zip_file\": \"Download ZIP file\",\n    \"unzipping_package\": \"Unzipping Package\",\n    \"copying_files\": \"Copying Files\",\n    \"deleting_files\": \"Deleting Unused files\",\n    \"completing_installation\": \"Completing Installation\",\n    \"update_failed\": \"Update Failed\",\n    \"install_success\": \"Module has been installed successfully!\",\n    \"customer_reviews\": \"Reviews\",\n    \"license\": \"License\",\n    \"faq\": \"FAQ\",\n    \"monthly\": \"Monthly\",\n    \"yearly\": \"Yearly\",\n    \"updated\": \"Updated\",\n    \"version\": \"Version\",\n    \"disable\": \"Disable\",\n    \"module_disabled\": \"Module Disabled\",\n    \"enable\": \"Enable\",\n    \"module_enabled\": \"Module Enabled\",\n    \"update_to\": \"Update To\",\n    \"module_updated\": \"Module Updated Successfully!\",\n    \"title\": \"Modules\",\n    \"module\": \"Module | Modules\",\n    \"api_token\": \"API token\",\n    \"invalid_api_token\": \"Invalid API Token.\",\n    \"other_modules\": \"Other Modules\",\n    \"view_all\": \"View All\",\n    \"no_reviews_found\": \"There are no reviews for this module yet!\",\n    \"module_not_purchased\": \"Module Not Purchased\",\n    \"module_not_found\": \"Module Not Found\",\n    \"version_not_supported\": \"This module version doesn't support the current version of Crater\",\n    \"last_updated\": \"Last Updated On\",\n    \"connect_installation\": \"Connect your installation\",\n    \"api_token_description\": \"Login to {url} and connect this installation by entering the API Token. Your purchased modules will show up here after the connection is established.\",\n    \"view_module\": \"View Module\",\n    \"update_available\": \"Update Available\",\n    \"purchased\": \"Purchased\",\n    \"installed\": \"Installed\",\n    \"no_modules_installed\": \"No Modules Installed Yet!\",\n    \"disable_warning\": \"All the settings for this particular will be reverted.\",\n    \"what_you_get\": \"What you get\"\n  },\n  \"users\": {\n    \"title\": \"Korisnici\",\n    \"users_list\": \"Lista korisnika\",\n    \"name\": \"Ime i prezime\",\n    \"description\": \"Opis\",\n    \"added_on\": \"Datum dodavanja\",\n    \"date_of_creation\": \"Datum kreiranja\",\n    \"action\": \"Akcija\",\n    \"add_user\": \"Dodaj Korisnika\",\n    \"save_user\": \"Sačuvaj Korisnika\",\n    \"update_user\": \"Ažuriraj Korisnika\",\n    \"user\": \"Korisnik | Korisnici\",\n    \"add_new_user\": \"Dodaj novog korisnika\",\n    \"new_user\": \"Nov Korisnik\",\n    \"edit_user\": \"Izmeni Korisnika\",\n    \"no_users\": \"Još uvek nema korisnika!\",\n    \"list_of_users\": \"Ova sekcija će da sadrži listu korisnika.\",\n    \"email\": \"E-mail\",\n    \"phone\": \"Broj telefona\",\n    \"password\": \"Šifra\",\n    \"user_attached_message\": \"Ne možete obrisati stavku koja je već u upotrebi\",\n    \"confirm_delete\": \"Nećeš moći da povratiš ovog Korisnika | Nećeš moći da povratiš ove Korisnike\",\n    \"created_message\": \"Korisnik uspešno napravljen\",\n    \"updated_message\": \"Korisnik uspešno ažuriran\",\n    \"deleted_message\": \"Korisnik uspešno obrisan | Korisnici uspešno obrisani\",\n    \"select_company_role\": \"Select Role for {company}\",\n    \"companies\": \"Companies\"\n  },\n  \"reports\": {\n    \"title\": \"Izveštaj\",\n    \"from_date\": \"Datum od\",\n    \"to_date\": \"Datum do\",\n    \"status\": \"Status\",\n    \"paid\": \"Plaćeno\",\n    \"unpaid\": \"Neplaćeno\",\n    \"download_pdf\": \"Preuzmi PDF\",\n    \"view_pdf\": \"Pogledaj PDF\",\n    \"update_report\": \"Ažuriraj Izveštaj\",\n    \"report\": \"Izveštaj | Izveštaji\",\n    \"profit_loss\": {\n      \"profit_loss\": \"Prihod & Rashod\",\n      \"to_date\": \"Datum do\",\n      \"from_date\": \"Datum od\",\n      \"date_range\": \"Izaberi opseg datuma\"\n    },\n    \"sales\": {\n      \"sales\": \"Prodaja\",\n      \"date_range\": \"Izaberi opseg datuma\",\n      \"to_date\": \"Datum do\",\n      \"from_date\": \"Datum od\",\n      \"report_type\": \"Tip Izveštaja\"\n    },\n    \"taxes\": {\n      \"taxes\": \"Porezi\",\n      \"to_date\": \"Datum do\",\n      \"from_date\": \"Datum od\",\n      \"date_range\": \"Izaberi opseg datuma\"\n    },\n    \"errors\": {\n      \"required\": \"Polje je obavezno\"\n    },\n    \"invoices\": {\n      \"invoice\": \"Faktura\",\n      \"invoice_date\": \"Datum Fakture\",\n      \"due_date\": \"Datum Dospeća\",\n      \"amount\": \"Iznos\",\n      \"contact_name\": \"Ime Kontakta\",\n      \"status\": \"Status\"\n    },\n    \"estimates\": {\n      \"estimate\": \"Profaktura\",\n      \"estimate_date\": \"Datum Profakture\",\n      \"due_date\": \"Datum Dospeća\",\n      \"estimate_number\": \"Broj Profakture\",\n      \"ref_number\": \"Poziv na broj\",\n      \"amount\": \"Iznos\",\n      \"contact_name\": \"Ime Kontakta\",\n      \"status\": \"Status\"\n    },\n    \"expenses\": {\n      \"expenses\": \"Rashodi\",\n      \"category\": \"Kategorija\",\n      \"date\": \"Datum\",\n      \"amount\": \"Iznos\",\n      \"to_date\": \"Datum do\",\n      \"from_date\": \"Datum od\",\n      \"date_range\": \"Izaberi opseg datuma\"\n    }\n  },\n  \"settings\": {\n    \"menu_title\": {\n      \"account_settings\": \"Podešavanje Naloga\",\n      \"company_information\": \"Podaci o firmi\",\n      \"customization\": \"Prilagođavanje\",\n      \"preferences\": \"Preferencija\",\n      \"notifications\": \"Obaveštenja\",\n      \"tax_types\": \"Tipovi Poreza\",\n      \"expense_category\": \"Kategorije Rashoda\",\n      \"update_app\": \"Ažuriraj Aplikaciju\",\n      \"backup\": \"Bekap\",\n      \"file_disk\": \"File Disk\",\n      \"custom_fields\": \"Prilagođena polja\",\n      \"payment_modes\": \"Način plaćanja\",\n      \"notes\": \"Napomene\",\n      \"exchange_rate\": \"Exchange Rate\",\n      \"address_information\": \"Address Information\"\n    },\n    \"address_information\": {\n      \"section_description\": \"  You can update Your Address information using form below.\"\n    },\n    \"title\": \"Podešavanja\",\n    \"setting\": \"Podešavanje | Podešavanja\",\n    \"general\": \"Opšte\",\n    \"language\": \"Jezik\",\n    \"primary_currency\": \"Primarna Valuta\",\n    \"timezone\": \"Vremenska Zona\",\n    \"date_format\": \"Format Datuma\",\n    \"currencies\": {\n      \"title\": \"Valute\",\n      \"currency\": \"Valuta | Valute\",\n      \"currencies_list\": \"Lista Valuta\",\n      \"select_currency\": \"Odaberi Valutu\",\n      \"name\": \"Naziv\",\n      \"code\": \"Kod\",\n      \"symbol\": \"Simbol\",\n      \"precision\": \"Preciznost\",\n      \"thousand_separator\": \"Separator za hiljade\",\n      \"decimal_separator\": \"Separator za decimale\",\n      \"position\": \"Pozicija\",\n      \"position_of_symbol\": \"Pozicija simbola\",\n      \"right\": \"Desno\",\n      \"left\": \"Levo\",\n      \"action\": \"Akcija\",\n      \"add_currency\": \"Dodaj Valutu\"\n    },\n    \"mail\": {\n      \"host\": \"Mail Host\",\n      \"port\": \"Mail Port\",\n      \"driver\": \"Mail drajver\",\n      \"secret\": \"Šifra\",\n      \"mailgun_secret\": \"Mailgun Šifra\",\n      \"mailgun_domain\": \"Domen\",\n      \"mailgun_endpoint\": \"Mailgun Endpoint\",\n      \"ses_secret\": \"SES Šifra\",\n      \"ses_key\": \"SES Ključ\",\n      \"password\": \"Mail Šifra\",\n      \"username\": \"Mail Korisničko Ime\",\n      \"mail_config\": \"Mail Podešavanje\",\n      \"from_name\": \"Naziv pošiljaoca\",\n      \"from_mail\": \"E-mail adresa pošiljaoca\",\n      \"encryption\": \"E-mail enkripcija\",\n      \"mail_config_desc\": \"Ispod se nalazi forma za podešavanje E-mail drajvera za slanje pošte iz aplikacije. Takođe možete podesiti provajdere treće strane kao Sendgrid, SES itd.\"\n    },\n    \"pdf\": {\n      \"title\": \"PDF Podešavanje\",\n      \"footer_text\": \"Tekstualno zaglavlje na dnu strane\",\n      \"pdf_layout\": \"PDF Raspored\"\n    },\n    \"company_info\": {\n      \"company_info\": \"Podaci o firmi\",\n      \"company_name\": \"Naziv firme\",\n      \"company_logo\": \"Logo firme\",\n      \"section_description\": \"Informacije o Vašoj firmi će biti prikazane na fakturama, profakturama i drugim dokumentima koji se prave u ovoj aplikaciji.\",\n      \"phone\": \"Telefon\",\n      \"country\": \"Država\",\n      \"state\": \"Savezna Država\",\n      \"city\": \"Grad\",\n      \"address\": \"Adresa\",\n      \"zip\": \"Poštanski broj\",\n      \"save\": \"Sačuvaj\",\n      \"delete\": \"Delete\",\n      \"updated_message\": \"Podaci o firmi uspešno sačuvani\",\n      \"delete_company\": \"Delete Company\",\n      \"delete_company_description\": \"Once you delete your company, you will lose all the data and files associated with it permanently.\",\n      \"are_you_absolutely_sure\": \"Are you absolutely sure?\",\n      \"delete_company_modal_desc\": \"This action cannot be undone. This will permanently delete {company} and all of its associated data.\",\n      \"delete_company_modal_label\": \"Please type {company} to confirm\"\n    },\n    \"custom_fields\": {\n      \"title\": \"Prilagođena polja\",\n      \"section_description\": \"Prilagodite vaše Fakture, Profakture i Uplate (priznanice) sa svojim poljima. Postarajte se da koristite polja navedena ispod na formatu adrese na stranici Podešavanja/Prilagođavanje.\",\n      \"add_custom_field\": \"Dodaj prilagođeno polje\",\n      \"edit_custom_field\": \"Izmeni prilagođeno polje\",\n      \"field_name\": \"Naziv polja\",\n      \"label\": \"Oznaka\",\n      \"type\": \"Tip\",\n      \"name\": \"Naziv\",\n      \"slug\": \"Slug\",\n      \"required\": \"Obavezno\",\n      \"placeholder\": \"Opis polja (Placeholder)\",\n      \"help_text\": \"Pomoćni tekst\",\n      \"default_value\": \"Podrazumevana vrednost\",\n      \"prefix\": \"Prefiks\",\n      \"starting_number\": \"Početni broj\",\n      \"model\": \"Model\",\n      \"help_text_description\": \"Unesite opis koji će pomoći korisnicima da razumeju svrhu ovog prilagođenog polja.\",\n      \"suffix\": \"Sufiks\",\n      \"yes\": \"Da\",\n      \"no\": \"Ne\",\n      \"order\": \"Redosled\",\n      \"custom_field_confirm_delete\": \"Nećeš moći da povratiš ovo prilagođeno polje\",\n      \"already_in_use\": \"Prilagođeno polje je već u upotrebi\",\n      \"deleted_message\": \"Prilagođeno polje je uspešno obrisano\",\n      \"options\": \"opcije\",\n      \"add_option\": \"Dodaj opcije\",\n      \"add_another_option\": \"Dodaj još jednu opciju\",\n      \"sort_in_alphabetical_order\": \"Poređaj po Abecedi\",\n      \"add_options_in_bulk\": \"Grupno dodavanje opcija\",\n      \"use_predefined_options\": \"Koristi predefinisane opcije\",\n      \"select_custom_date\": \"Odaberi datum\",\n      \"select_relative_date\": \"Odaberi relativan datum\",\n      \"ticked_by_default\": \"Podrazumevano odabrano\",\n      \"updated_message\": \"Prilagođeno polje uspešno ažurirano\",\n      \"added_message\": \"Prilagođeno polje uspešno dodato\",\n      \"press_enter_to_add\": \"Press enter to add new option\",\n      \"model_in_use\": \"Cannot update model for fields which are already in use.\",\n      \"type_in_use\": \"Cannot update type for fields which are already in use.\"\n    },\n    \"customization\": {\n      \"customization\": \"prilagođavanje\",\n      \"updated_message\": \"Podaci o firmi su uspešno ažurirani\",\n      \"save\": \"Sačuvaj\",\n      \"insert_fields\": \"Insert Fields\",\n      \"learn_custom_format\": \"Learn how to use custom format\",\n      \"add_new_component\": \"Add New Component\",\n      \"component\": \"Component\",\n      \"Parameter\": \"Parameter\",\n      \"series\": \"Series\",\n      \"series_description\": \"To set a static prefix/postfix like 'INV' across your company. It supports character length of up to 6 chars.\",\n      \"series_param_label\": \"Series Value\",\n      \"delimiter\": \"Delimiter\",\n      \"delimiter_description\": \"Single character for specifying the boundary between 2 separate components. By default its set to -\",\n      \"delimiter_param_label\": \"Delimiter Value\",\n      \"date_format\": \"Date Format\",\n      \"date_format_description\": \"A local date and time field which accepts a format parameter. The default format: 'Y' renders the current year.\",\n      \"date_format_param_label\": \"Format\",\n      \"sequence\": \"Sequence\",\n      \"sequence_description\": \"Consecutive sequence of numbers across your company. You can specify the length on the given parameter.\",\n      \"sequence_param_label\": \"Sequence Length\",\n      \"customer_series\": \"Customer Series\",\n      \"customer_series_description\": \"To set a different prefix/postfix for each customer.\",\n      \"customer_sequence\": \"Customer Sequence\",\n      \"customer_sequence_description\": \"Consecutive sequence of numbers for each of your customer.\",\n      \"customer_sequence_param_label\": \"Sequence Length\",\n      \"random_sequence\": \"Random Sequence\",\n      \"random_sequence_description\": \"Random alphanumeric string. You can specify the length on the given parameter.\",\n      \"random_sequence_param_label\": \"Sequence Length\",\n      \"invoices\": {\n        \"title\": \"Fakture\",\n        \"invoice_number_format\": \"Invoice Number Format\",\n        \"invoice_number_format_description\": \"Customize how your invoice number gets generated automatically when you create a new invoice.\",\n        \"preview_invoice_number\": \"Preview Invoice Number\",\n        \"due_date\": \"Due Date\",\n        \"due_date_description\": \"Specify how due date is automatically set when you create an invoice.\",\n        \"due_date_days\": \"Invoice Due after days\",\n        \"set_due_date_automatically\": \"Set Due Date Automatically\",\n        \"set_due_date_automatically_description\": \"Enable this if you wish to set due date automatically when you create a new invoice.\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on invoice creation.\",\n        \"default_invoice_email_body\": \"Podrazumevan sadržaj email-a za Fakture\",\n        \"company_address_format\": \"Format adrese firme\",\n        \"shipping_address_format\": \"Format adrese za dostavu firme\",\n        \"billing_address_format\": \"Format adrese za naplatu firme\",\n        \"invoice_email_attachment\": \"Pošalji račun kao prilog\",\n        \"invoice_email_attachment_setting_description\": \"Omogućite ovo ako želite da šaljete fakture kao prilog e-pošte. Imajte na umu da dugme 'Prikaži fakturu' u e-porukama više neće biti prikazano kada je omogućeno.\",\n        \"invoice_settings_updated\": \"Invoice Settings updated successfully\",\n        \"retrospective_edits\": \"Retrospective Edits\",\n        \"allow\": \"Allow\",\n        \"disable_on_invoice_partial_paid\": \"Disable after partial payment is recorded\",\n        \"disable_on_invoice_paid\": \"Disable after full payment is recorded\",\n        \"disable_on_invoice_sent\": \"Disable after invoice is sent\",\n        \"retrospective_edits_description\": \" Based on your country's laws or your preference, you can restrict users from editing finalised invoices.\"\n      },\n      \"estimates\": {\n        \"title\": \"Profakture\",\n        \"estimate_number_format\": \"Estimate Number Format\",\n        \"estimate_number_format_description\": \"Customize how your estimate number gets generated automatically when you create a new estimate.\",\n        \"preview_estimate_number\": \"Preview Estimate Number\",\n        \"expiry_date\": \"Expiry Date\",\n        \"expiry_date_description\": \"Specify how expiry date is automatically set when you create an estimate.\",\n        \"expiry_date_days\": \"Estimate Expires after days\",\n        \"set_expiry_date_automatically\": \"Set Expiry Date Automatically\",\n        \"set_expiry_date_automatically_description\": \"Enable this if you wish to set expiry date automatically when you create a new estimate.\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on estimate creation.\",\n        \"default_estimate_email_body\": \"Podrazumevan sadržaj email-a za Profakture\",\n        \"company_address_format\": \"Format adrese firme\",\n        \"shipping_address_format\": \"Format adrese za dostavu firme\",\n        \"billing_address_format\": \"Format adrese za naplatu firme\",\n        \"estimate_email_attachment\": \"Pošaljite procjene kao priloge\",\n        \"estimate_email_attachment_setting_description\": \"Omogućite ovo ako želite da pošaljete procjene kao prilog e-pošte. Imajte na umu da dugme 'Prikaži procjenu' u e-porukama više neće biti prikazano kada je omogućeno.\",\n        \"estimate_settings_updated\": \"Estimate Settings updated successfully\",\n        \"convert_estimate_options\": \"Estimate Convert Action\",\n        \"convert_estimate_description\": \"Specify what happens to the estimate after it gets converted to an invoice.\",\n        \"no_action\": \"No action\",\n        \"delete_estimate\": \"Delete estimate\",\n        \"mark_estimate_as_accepted\": \"Mark estimate as accepted\"\n      },\n      \"payments\": {\n        \"title\": \"Uplate\",\n        \"payment_number_format\": \"Payment Number Format\",\n        \"payment_number_format_description\": \"Customize how your payment number gets generated automatically when you create a new payment.\",\n        \"preview_payment_number\": \"Preview Payment Number\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on payment creation.\",\n        \"default_payment_email_body\": \"Podrazumevan sadržaj email-a za potvrdu o plaćanju (račun)\",\n        \"company_address_format\": \"Format adrese firme\",\n        \"from_customer_address_format\": \"Format adrese klijenta\",\n        \"payment_email_attachment\": \"Pošaljite uplate kao priloge\",\n        \"payment_email_attachment_setting_description\": \"Enable this if you want to send the payment receipts as an email attachment. Please note that 'View Payment' button in emails will not be displayed anymore when enabled.\",\n        \"payment_settings_updated\": \"Payment Settings updated successfully\"\n      },\n      \"items\": {\n        \"title\": \"Stavke\",\n        \"units\": \"Jedinice\",\n        \"add_item_unit\": \"Dodaj jedinicu stavke\",\n        \"edit_item_unit\": \"Izmeni jedinicu stavke\",\n        \"unit_name\": \"Naziv jedinice\",\n        \"item_unit_added\": \"Jedinica stavke dodata\",\n        \"item_unit_updated\": \"Jedinica stavke ažurirana\",\n        \"item_unit_confirm_delete\": \"Nećeš moći da povratiš ovu jedinicu stavke\",\n        \"already_in_use\": \"Jedinica stavke se već koristi\",\n        \"deleted_message\": \"Jedinica stavke uspešno obrisana\"\n      },\n      \"notes\": {\n        \"title\": \"Napomene\",\n        \"description\": \"Uštedite vreme pravljeći napomene i koristeći ih na fakturama, profakturama i uplatama.\",\n        \"notes\": \"Napomene\",\n        \"type\": \"Tip\",\n        \"add_note\": \"Dodaj Napomenu\",\n        \"add_new_note\": \"Dodaj novu Napomenu\",\n        \"name\": \"Naziv\",\n        \"edit_note\": \"Izmeni Napomenu\",\n        \"note_added\": \"Napomena uspešno dodata\",\n        \"note_updated\": \"Napomena uspešno ažurirana\",\n        \"note_confirm_delete\": \"Nećeš moći da povratiš ovu Napomenu\",\n        \"already_in_use\": \"Napomena se već koristi\",\n        \"deleted_message\": \"Napomena uspešno obrisana\"\n      }\n    },\n    \"account_settings\": {\n      \"profile_picture\": \"Profilna slika\",\n      \"name\": \"Ime i prezime\",\n      \"email\": \"Email\",\n      \"password\": \"Šifra\",\n      \"confirm_password\": \"Potvrdi šifru\",\n      \"account_settings\": \"Podešavanje naloga\",\n      \"save\": \"Sačuvaj\",\n      \"section_description\": \"Možete ažurirati Vaše ime i prezime, email, šifru koristeći formu ispod.\",\n      \"updated_message\": \"Podešavanje naloga uspešno ažurirano\"\n    },\n    \"user_profile\": {\n      \"name\": \"Ime i prezime\",\n      \"email\": \"Email\",\n      \"password\": \"Šifra\",\n      \"confirm_password\": \"Potvrdi šifru\"\n    },\n    \"notification\": {\n      \"title\": \"Obaveštenje\",\n      \"email\": \"Šalji obaveštenja na\",\n      \"description\": \"Koja email obaveštenja bi želeli da dobijate kada se nešto promeni?\",\n      \"invoice_viewed\": \"Faktura gledana\",\n      \"invoice_viewed_desc\": \"Kada klijent pogleda fakturu koja je poslata putem ove aplikacije.\",\n      \"estimate_viewed\": \"Profaktura gledana\",\n      \"estimate_viewed_desc\": \"Kada klijent pogleda profakturu koja je poslata putem ove aplikacije.\",\n      \"save\": \"Sačuvaj\",\n      \"email_save_message\": \"Email uspešno sačuvan\",\n      \"please_enter_email\": \"Molim Vas unesite E-mail\"\n    },\n    \"roles\": {\n      \"title\": \"Roles\",\n      \"description\": \"Manage the roles & permissions of this company\",\n      \"save\": \"Save\",\n      \"add_new_role\": \"Add New Role\",\n      \"role_name\": \"Role Name\",\n      \"added_on\": \"Added on\",\n      \"add_role\": \"Add Role\",\n      \"edit_role\": \"Edit Role\",\n      \"name\": \"Name\",\n      \"permission\": \"Permission | Permissions\",\n      \"select_all\": \"Select All\",\n      \"none\": \"None\",\n      \"confirm_delete\": \"You will not be able to recover this Role\",\n      \"created_message\": \"Role created successfully\",\n      \"updated_message\": \"Role updated successfully\",\n      \"deleted_message\": \"Role deleted successfully\",\n      \"already_in_use\": \"Role is already in use\"\n    },\n    \"exchange_rate\": {\n      \"exchange_rate\": \"Exchange Rate\",\n      \"title\": \"Fix Currency Exchange issues\",\n      \"description\": \"Please enter exchange rate of all the currencies mentioned below to help Crater properly calculate the amounts in {currency}.\",\n      \"drivers\": \"Drivers\",\n      \"new_driver\": \"Add New Provider\",\n      \"edit_driver\": \"Edit Provider\",\n      \"select_driver\": \"Select Driver\",\n      \"update\": \"select exchange rate \",\n      \"providers_description\": \"Configure your exchange rate providers here to automatically fetch the latest exchange rate on transactions.\",\n      \"key\": \"API Key\",\n      \"name\": \"Name\",\n      \"driver\": \"Driver\",\n      \"is_default\": \"IS DEFAULT\",\n      \"currency\": \"Currencies\",\n      \"exchange_rate_confirm_delete\": \"You will not be able to recover this driver\",\n      \"created_message\": \"Provider Created successfully\",\n      \"updated_message\": \"Provider Updated Successfully\",\n      \"deleted_message\": \"Provider Deleted Successfully\",\n      \"error\": \" You cannot Delete Active Driver\",\n      \"default_currency_error\": \"This currency is already used in one of the Active Provider\",\n      \"exchange_help_text\": \"Enter exchange rate to convert from {currency} to {baseCurrency}\",\n      \"currency_freak\": \"Currency Freak\",\n      \"currency_layer\": \"Currency Layer\",\n      \"open_exchange_rate\": \"Open Exchange Rate\",\n      \"currency_converter\": \"Currency Converter\",\n      \"server\": \"Server\",\n      \"url\": \"URL\",\n      \"active\": \"Active\",\n      \"currency_help_text\": \"This provider will only be used on above selected currencies\",\n      \"currency_in_used\": \"The following currencies are already active on another provider. Please remove these currencies from selection to activate this provider again.\"\n    },\n    \"tax_types\": {\n      \"title\": \"Tipovi Poreza\",\n      \"add_tax\": \"Dodaj Porez\",\n      \"edit_tax\": \"Izmeni Porez\",\n      \"description\": \"Možete dodavati ili uklanjati poreze kako želite. Ova aplikacija podržava porez kako na individualnim stavkama tako i na fakturi.\",\n      \"add_new_tax\": \"Dodaj Nov Porez\",\n      \"tax_settings\": \"Podešavanje Poreza\",\n      \"tax_per_item\": \"Porez po Stavki\",\n      \"tax_name\": \"Naziv Poreza\",\n      \"compound_tax\": \"Složen Porez\",\n      \"percent\": \"Procenat\",\n      \"action\": \"Akcija\",\n      \"tax_setting_description\": \"Izaberite ovo ako želite da dodajete porez na individualne stavke. Podrazumevano ponašanje je da je porez dodat direktno na fakturu.\",\n      \"created_message\": \"Tip poreza uspešno kreiran\",\n      \"updated_message\": \"Tip poreza uspešno ažuriran\",\n      \"deleted_message\": \"Tip poreza uspešno obrisan\",\n      \"confirm_delete\": \"Nećete moći da povratite ovaj Tip Poreza\",\n      \"already_in_use\": \"Porez se već koristi\"\n    },\n    \"payment_modes\": {\n      \"title\": \"Payment Modes\",\n      \"description\": \"Modes of transaction for payments\",\n      \"add_payment_mode\": \"Add Payment Mode\",\n      \"edit_payment_mode\": \"Edit Payment Mode\",\n      \"mode_name\": \"Mode Name\",\n      \"payment_mode_added\": \"Payment Mode Added\",\n      \"payment_mode_updated\": \"Payment Mode Updated\",\n      \"payment_mode_confirm_delete\": \"You will not be able to recover this Payment Mode\",\n      \"payments_attached\": \"This payment method is already attached to payments. Please delete the attached payments to proceed with deletion.\",\n      \"expenses_attached\": \"This payment method is already attached to expenses. Please delete the attached expenses to proceed with deletion.\",\n      \"deleted_message\": \"Payment Mode deleted successfully\"\n    },\n    \"expense_category\": {\n      \"title\": \"Kategorija Rashoda\",\n      \"action\": \"Akcija\",\n      \"description\": \"Kategorije su obavezne za dodavanje rashoda. Možeš da dodaš ili obrišeš ove kategorije po svojoj želji.\",\n      \"add_new_category\": \"Dodaj novu kategoriju\",\n      \"add_category\": \"Dodaj kategoriju\",\n      \"edit_category\": \"Izmeni kategoriju\",\n      \"category_name\": \"Naziv kategorije\",\n      \"category_description\": \"Opis\",\n      \"created_message\": \"Kagetorija rashoda je uspešno kreirana\",\n      \"deleted_message\": \"Kategorija rashoda je uspešno izbrisana\",\n      \"updated_message\": \"Kategorija rashoda je uspešno ažurirana\",\n      \"confirm_delete\": \"Nećeš moći da povratiš ovu kategoriju rashoda\",\n      \"already_in_use\": \"Kategorija se već koristi\"\n    },\n    \"preferences\": {\n      \"currency\": \"Valuta\",\n      \"default_language\": \"Jezik\",\n      \"time_zone\": \"Vremenska Zona\",\n      \"fiscal_year\": \"Finansijska Godina\",\n      \"date_format\": \"Format datuma\",\n      \"discount_setting\": \"Podešavanja za popuste\",\n      \"discount_per_item\": \"Popust po stavci\",\n      \"discount_setting_description\": \"Izaberite ovo ako želite da dodajete Popust na individualne stavke. Podrazumevano ponašanje je da je Popust dodat direktno na fakturu.\",\n      \"expire_public_links\": \"Automatically Expire Public Links\",\n      \"expire_setting_description\": \"Specify whether you would like to expire all the links sent by application to view invoices, estimates & payments, etc after a specified duration.\",\n      \"save\": \"Sačuvaj\",\n      \"preference\": \"Preferencija | Preferencije\",\n      \"general_settings\": \"Podrazumevane preferencije za sistem\",\n      \"updated_message\": \"Preferencije su uspešno ažurirane\",\n      \"select_language\": \"Izaberi Jezik\",\n      \"select_time_zone\": \"Izaberi Vremensku Zonu\",\n      \"select_date_format\": \"Izaberi Format Datuma\",\n      \"select_financial_year\": \"Izaberi Finansijsku Godinu\",\n      \"recurring_invoice_status\": \"Recurring Invoice Status\",\n      \"create_status\": \"Create Status\",\n      \"active\": \"Active\",\n      \"on_hold\": \"On Hold\",\n      \"update_status\": \"Update Status\",\n      \"completed\": \"Completed\",\n      \"company_currency_unchangeable\": \"Company currency cannot be changed\"\n    },\n    \"update_app\": {\n      \"title\": \"Ažuriraj aplikaciju\",\n      \"description\": \"Lako možeš da ažuriraš Crater tako što ćeš uraditi proveru novih verzija klikom na polje ispod\",\n      \"check_update\": \"Proveri ažuriranost\",\n      \"avail_update\": \"Dostupna je nova verzija\",\n      \"next_version\": \"Sledeća verzija\",\n      \"requirements\": \"Zahtevi\",\n      \"update\": \"Ažuriraj sad\",\n      \"update_progress\": \"Ažuriranje je u toku...\",\n      \"progress_text\": \"Trajaće svega par minuta. Nemojte osvežavati ili zatvoriti stranicu dok ažuriranje ne bude gotovo\",\n      \"update_success\": \"Aplikacija je ažurirana! Molim Vas Sačekajte da se stranica osveži automatski.\",\n      \"latest_message\": \"Nema nove verzije! Ažurirana poslednja verzija.\",\n      \"current_version\": \"Trenutna verzija\",\n      \"download_zip_file\": \"Preuzmi ZIP paket\",\n      \"unzipping_package\": \"Raspakivanje paketa\",\n      \"copying_files\": \"Kopiranje datoteka\",\n      \"deleting_files\": \"Brisanje fajlova koji nisu u upotrebi\",\n      \"running_migrations\": \"Migracije u toku\",\n      \"finishing_update\": \"Završavanje ažuriranja\",\n      \"update_failed\": \"Neuspešno ažuriranje\",\n      \"update_failed_text\": \"Žao mi je! Tvoje ažuriranje nije uspelo na koraku broj: {step} korak\",\n      \"update_warning\": \"All of the application files and default template files will be overwritten when you update the application using this utility. Please take a backup of your templates & database before updating.\"\n    },\n    \"backup\": {\n      \"title\": \"Bekap | Bekapi\",\n      \"description\": \"Bekap je zip arhiva koja sadrži sve fajlove iz foldera koje ste specificirali, takođe sadrži bekap baze.\",\n      \"new_backup\": \"Dodaj novi Bekap\",\n      \"create_backup\": \"Napravi Bekap\",\n      \"select_backup_type\": \"Izaberi tip Bekapa\",\n      \"backup_confirm_delete\": \"Nećeš moći da povratiš ovaj Bekap\",\n      \"path\": \"putanja\",\n      \"new_disk\": \"Novi Disk\",\n      \"created_at\": \"datum kreiranja\",\n      \"size\": \"veličina\",\n      \"dropbox\": \"dropbox\",\n      \"local\": \"lokalni\",\n      \"healthy\": \"zdrav\",\n      \"amount_of_backups\": \"broj bekapa\",\n      \"newest_backups\": \"najnoviji bekapi\",\n      \"used_storage\": \"korišćeno skladište\",\n      \"select_disk\": \"Izaberi Disk\",\n      \"action\": \"Akcija\",\n      \"deleted_message\": \"Bekap uspešno obrisan\",\n      \"created_message\": \"Bekap uspešno napravljen\",\n      \"invalid_disk_credentials\": \"Pogrešni kredencijali za odabrani disk\"\n    },\n    \"disk\": {\n      \"title\": \"File Disk | File Disks\",\n      \"description\": \"Podrazumevano ponašanje je da Crater koristi lokalni disk za čuvanje bekapa, avatara i ostalih slika. Možete podesiti više od jednog disk drajvera od provajdera poput DigitalOcean, S3 i Dropbox po vašoj želji.\",\n      \"created_at\": \"datum kreiranja\",\n      \"dropbox\": \"dropbox\",\n      \"name\": \"Naziv\",\n      \"driver\": \"Drajver\",\n      \"disk_type\": \"Tip\",\n      \"disk_name\": \"Naziv Diska\",\n      \"new_disk\": \"Dodaj novi Disk\",\n      \"filesystem_driver\": \"Filesystem Driver\",\n      \"local_driver\": \"lokalni Drajver\",\n      \"local_root\": \"local Root\",\n      \"public_driver\": \"Public Driver\",\n      \"public_root\": \"Public Root\",\n      \"public_url\": \"Public URL\",\n      \"public_visibility\": \"Public Visibility\",\n      \"media_driver\": \"Media Driver\",\n      \"media_root\": \"Media Root\",\n      \"aws_driver\": \"AWS Driver\",\n      \"aws_key\": \"AWS Key\",\n      \"aws_secret\": \"AWS Secret\",\n      \"aws_region\": \"AWS Region\",\n      \"aws_bucket\": \"AWS Bucket\",\n      \"aws_root\": \"AWS Root\",\n      \"do_spaces_type\": \"Do Spaces type\",\n      \"do_spaces_key\": \"Do Spaces key\",\n      \"do_spaces_secret\": \"Do Spaces Secret\",\n      \"do_spaces_region\": \"Do Spaces Region\",\n      \"do_spaces_bucket\": \"Do Spaces Bucket\",\n      \"do_spaces_endpoint\": \"Do Spaces Endpoint\",\n      \"do_spaces_root\": \"Do Spaces Root\",\n      \"dropbox_type\": \"Dropbox Type\",\n      \"dropbox_token\": \"Dropbox Token\",\n      \"dropbox_key\": \"Dropbox Key\",\n      \"dropbox_secret\": \"Dropbox Secret\",\n      \"dropbox_app\": \"Dropbox App\",\n      \"dropbox_root\": \"Dropbox Root\",\n      \"default_driver\": \"Podrazumevani Drajver\",\n      \"is_default\": \"DA LI JE PODRAZUMEVAN\",\n      \"set_default_disk\": \"Postavi Podrazumevani Disk\",\n      \"set_default_disk_confirm\": \"Ovaj disk će biti postavljen kao podrazumevan i svi novi PDF fajlovi će biti sačuvani na ovom disku\",\n      \"success_set_default_disk\": \"Disk je uspešno postavljen kao podrazumevan\",\n      \"save_pdf_to_disk\": \"Sačuvaj PDF fajlove na Disk\",\n      \"disk_setting_description\": \" Uključite ovo ako želite da sačuvate kopiju PDF fajla svake Fakture, Profakture i Uplate na vaš podrazumevani disk automatski. Uključivanjem ove opcije ćete smanjiti vreme učitavanja pri pregledu PDF fajlova.\",\n      \"select_disk\": \"Izaberi Disk\",\n      \"disk_settings\": \"Disk Podešavanja\",\n      \"confirm_delete\": \"Ovo neće uticati na vaše postojeće fajlove i foldere na navedenom disku, ali će se konfiguracija vašeg diska izbrisati iz Cratera.\",\n      \"action\": \"Akcija\",\n      \"edit_file_disk\": \"Izmeni File Disk\",\n      \"success_create\": \"Disk uspešno dodat\",\n      \"success_update\": \"Disk uspešno ažuriran\",\n      \"error\": \"Dodavanje diska nije uspelo\",\n      \"deleted_message\": \"File Disk uspešno obrisan\",\n      \"disk_variables_save_successfully\": \"Disk uspešno podešen\",\n      \"disk_variables_save_error\": \"Podešavanje diska nije uspelo.\",\n      \"invalid_disk_credentials\": \"Pogrešan kredencijal za disk koji je naveden\"\n    },\n    \"taxations\": {\n      \"add_billing_address\": \"Enter Billing Address\",\n      \"add_shipping_address\": \"Enter Shipping Address\",\n      \"add_company_address\": \"Enter Company Address\",\n      \"modal_description\": \"The information below is required in order to fetch sales tax.\",\n      \"add_address\": \"Add Address for fetching sales tax.\",\n      \"address_placeholder\": \"Example: 123, My Street\",\n      \"city_placeholder\": \"Example: Los Angeles\",\n      \"state_placeholder\": \"Example: CA\",\n      \"zip_placeholder\": \"Example: 90024\",\n      \"invalid_address\": \"Please provide valid address details.\"\n    }\n  },\n  \"wizard\": {\n    \"account_info\": \"Informacije o nalogu\",\n    \"account_info_desc\": \"Detalji u nastavku će se koristiti za kreiranje glavnog administratorskog naloga. Moguće ih je izmeniti u bilo kom trenutku nakon prijavljivanja.\",\n    \"name\": \"Naziv\",\n    \"email\": \"E-mail\",\n    \"password\": \"Šifra\",\n    \"confirm_password\": \"Potvrdi šifru\",\n    \"save_cont\": \"Sačuvaj & Nastavi\",\n    \"company_info\": \"Informacije o firmi\",\n    \"company_info_desc\": \"Ove informacije će biti prikazane na fakturama. Moguće ih je izmeniti kasnije u podešavanjima.\",\n    \"company_name\": \"Naziv firme\",\n    \"company_logo\": \"Logo firme\",\n    \"logo_preview\": \"Pregled logoa\",\n    \"preferences\": \"Preference\",\n    \"preferences_desc\": \"Podrazumevane Preference za sistem\",\n    \"currency_set_alert\": \"The company's currency cannot be changed later.\",\n    \"country\": \"Država\",\n    \"state\": \"Savezna Država\",\n    \"city\": \"Grad\",\n    \"address\": \"Adresa\",\n    \"street\": \"Ulica1 | Ulica2\",\n    \"phone\": \"Telefon\",\n    \"zip_code\": \"Poštanski broj\",\n    \"go_back\": \"Vrati se nazad\",\n    \"currency\": \"Valuta\",\n    \"language\": \"Jezik\",\n    \"time_zone\": \"Vremenska zona\",\n    \"fiscal_year\": \"Finansijska godina\",\n    \"date_format\": \"Format datuma\",\n    \"from_address\": \"Adresa pošiljaoca\",\n    \"username\": \"Korisničko ime\",\n    \"next\": \"Sledeće\",\n    \"continue\": \"Nastavi\",\n    \"skip\": \"Preskoči\",\n    \"database\": {\n      \"database\": \"URL stranice & baze podataka\",\n      \"connection\": \"Veza baze podataka\",\n      \"host\": \"Host baze podataka\",\n      \"port\": \"Port baze podataka\",\n      \"password\": \"Šifra baze podataka\",\n      \"app_url\": \"URL aplikacije\",\n      \"app_domain\": \"Domen aplikacije\",\n      \"username\": \"Korisničko ime baze podataka\",\n      \"db_name\": \"Naziv baze podataka\",\n      \"db_path\": \"Putanja do baze\",\n      \"desc\": \"Kreiraj bazu podataka na svom serveru i postavi kredencijale prateći obrazac u nastavku.\"\n    },\n    \"permissions\": {\n      \"permissions\": \"Dozvole\",\n      \"permission_confirm_title\": \"Da li ste sigurni da želite da nastavite?\",\n      \"permission_confirm_desc\": \"Provera dozvola za foldere nije uspela\",\n      \"permission_desc\": \"U nastavku se nalazi lista dozvola za foldere koji su neophodni kako bi alikacija radila. Ukoliko provera dozvola ne uspe, ažuriraj svoju listu dozvola za te foldere.\"\n    },\n    \"verify_domain\": {\n      \"title\": \"Domain Verification\",\n      \"desc\": \"Crater uses Session based authentication which requires domain verification for security purposes. Please enter the domain on which you will be accessing your web application.\",\n      \"app_domain\": \"App Domain\",\n      \"verify_now\": \"Verify Now\",\n      \"success\": \"Domain Verify Successfully.\",\n      \"failed\": \"Domain verification failed. Please enter valid domain name.\",\n      \"verify_and_continue\": \"Verify And Continue\"\n    },\n    \"mail\": {\n      \"host\": \"Mail Host\",\n      \"port\": \"Mail Port\",\n      \"driver\": \"Mail drajver\",\n      \"secret\": \"Šifra\",\n      \"mailgun_secret\": \"Mailgun Šifra\",\n      \"mailgun_domain\": \"Domen\",\n      \"mailgun_endpoint\": \"Mailgun Endpoint\",\n      \"ses_secret\": \"SES Šifra\",\n      \"ses_key\": \"SES Ključ\",\n      \"password\": \"Šifra za e-mail\",\n      \"username\": \"Koristničko ime za e-mail\",\n      \"mail_config\": \"E-mail konfigurisanje\",\n      \"from_name\": \"Naziv pošiljaoca\",\n      \"from_mail\": \"E-mail adresa pošiljaoca\",\n      \"encryption\": \"E-mail enkripcija\",\n      \"mail_config_desc\": \"Ispod se nalazi forma za podešavanje E-mail drajvera za slanje pošte iz aplikacije. Takođe možete podesiti provajdere treće strane kao Sendgrid, SES itd.\"\n    },\n    \"req\": {\n      \"system_req\": \"Sistemski zahtevi\",\n      \"php_req_version\": \"Zahteva se PHP verzija {version} \",\n      \"check_req\": \"Proveri zahteve\",\n      \"system_req_desc\": \"Crater ima nekoliko zahteva za server. Proveri da li tvoj server ima potrebnu verziju PHP-a i sva navedena proširenja navedena u nastavku\"\n    },\n    \"errors\": {\n      \"migrate_failed\": \"Neuspešno migriranje\",\n      \"database_variables_save_error\": \"Konfiguraciju nije moguće zapisati u .env datoteku. Proveri dozvole za datoteku\",\n      \"mail_variables_save_error\": \"E-mail konfigurisanje je neuspešno\",\n      \"connection_failed\": \"Neuspešna konekcija sa bazom podataka\",\n      \"database_should_be_empty\": \"Baza podataka treba da bude prazna\"\n    },\n    \"success\": {\n      \"mail_variables_save_successfully\": \"E-mail je uspešno konfigurisan\",\n      \"database_variables_save_successfully\": \"Baza podataka je uspešno konfigurisana\"\n    }\n  },\n  \"validation\": {\n    \"invalid_phone\": \"Pogrešan Broj Telefona\",\n    \"invalid_url\": \"Nevažeći URL (primer: http://www.crater.com)\",\n    \"invalid_domain_url\": \"Pogrešan URL (primer: crater.com)\",\n    \"required\": \"Obavezno polje\",\n    \"email_incorrect\": \"Pogrešan E-mail\",\n    \"email_already_taken\": \"Navedeni E-mail je zauzet\",\n    \"email_does_not_exist\": \"Korisnik sa navedenom e-mail adresom ne postoji\",\n    \"item_unit_already_taken\": \"Naziv ove jedinice stavke je zauzet\",\n    \"payment_mode_already_taken\": \"Naziv ovog načina plaćanja je zauzet\",\n    \"send_reset_link\": \"Pošalji link za resetovanje\",\n    \"not_yet\": \"Još uvek ništa? Pošalji ponovo\",\n    \"password_min_length\": \"Šifra mora imati {count} karaktera\",\n    \"name_min_length\": \"Naziv mora imati najmanje {count} slova\",\n    \"prefix_min_length\": \"Prefix must have at least {count} letters.\",\n    \"enter_valid_tax_rate\": \"Unesite odgovarajuću poresku stopu\",\n    \"numbers_only\": \"Mogu se unositi samo brojevi\",\n    \"characters_only\": \"Mogu se unositi samo karakteri\",\n    \"password_incorrect\": \"Šifra mora biti identična\",\n    \"password_length\": \"Šifra mora imati {count} karaktera\",\n    \"qty_must_greater_than_zero\": \"Količina mora biti veća od 0.\",\n    \"price_greater_than_zero\": \"Cena mora biti veća od 0\",\n    \"payment_greater_than_zero\": \"Uplata mora biti veća od 0\",\n    \"payment_greater_than_due_amount\": \"Uneta uplata je veća od dospelog iznosa ove fakture\",\n    \"quantity_maxlength\": \"Količina ne može imati više od 20 cifara\",\n    \"price_maxlength\": \"Cena ne može imati više od 20 cifara\",\n    \"price_minvalue\": \"Cena mora biti veća od 0\",\n    \"amount_maxlength\": \"Iznos ne može da ima više od 20 cifara\",\n    \"amount_minvalue\": \"Iznos mora biti veći od 0\",\n    \"discount_maxlength\": \"Discount should not be greater than max discount\",\n    \"description_maxlength\": \"Opis ne može da ima više od 65,000 karaktera\",\n    \"subject_maxlength\": \"Predmet ne može da ima više od 100 karaktera\",\n    \"message_maxlength\": \"Poruka ne može da ima više od 255 karaktera\",\n    \"maximum_options_error\": \"Maksimalan broj opcija je izabran. Prvo uklonite izabranu opciju da biste izabrali drugu\",\n    \"notes_maxlength\": \"Napomena ne može da ima više od 65,000 karaktera\",\n    \"address_maxlength\": \"Adresa ne može da ima više od 255 karaktera\",\n    \"ref_number_maxlength\": \"Poziv na broj ne može da ima više od 225 karaktera\",\n    \"prefix_maxlength\": \"Prefiks ne može da ima više od 5 karaktera\",\n    \"something_went_wrong\": \"nešto je krenulo naopako\",\n    \"number_length_minvalue\": \"Number length should be greater than 0\",\n    \"at_least_one_ability\": \"Please select atleast one Permission.\",\n    \"valid_driver_key\": \"Please enter a valid {driver} key.\",\n    \"valid_exchange_rate\": \"Please enter a valid exchange rate.\",\n    \"company_name_not_same\": \"Company name must match with given name.\"\n  },\n  \"errors\": {\n    \"starter_plan\": \"This feature is available on Starter plan and onwards!\",\n    \"invalid_provider_key\": \"Please Enter Valid Provider API Key.\",\n    \"estimate_number_used\": \"The estimate number has already been taken.\",\n    \"invoice_number_used\": \"The invoice number has already been taken.\",\n    \"payment_attached\": \"This invoice already has a payment attached to it. Make sure to delete the attached payments first in order to go ahead with the removal.\",\n    \"payment_number_used\": \"The payment number has already been taken.\",\n    \"name_already_taken\": \"The name has already been taken.\",\n    \"receipt_does_not_exist\": \"Receipt does not exist.\",\n    \"customer_cannot_be_changed_after_payment_is_added\": \"Customer cannot be change after payment is added\",\n    \"invalid_credentials\": \"Invalid  Credentials.\",\n    \"not_allowed\": \"Not Allowed\",\n    \"login_invalid_credentials\": \"These credentials do not match our records.\",\n    \"enter_valid_cron_format\": \"Please enter a valid cron format\",\n    \"email_could_not_be_sent\": \"Email could not be sent to this email address.\",\n    \"invalid_address\": \"Please enter a valid address.\",\n    \"invalid_key\": \"Please enter valid key.\",\n    \"invalid_state\": \"Please enter a valid state.\",\n    \"invalid_city\": \"Please enter a valid city.\",\n    \"invalid_postal_code\": \"Please enter a valid zip.\",\n    \"invalid_format\": \"Please enter valid query string format.\",\n    \"api_error\": \"Server not responding.\",\n    \"feature_not_enabled\": \"Feature not enabled.\",\n    \"request_limit_met\": \"Api request limit exceeded.\",\n    \"address_incomplete\": \"Incomplete Address\"\n  },\n  \"pdf_estimate_label\": \"Profaktura\",\n  \"pdf_estimate_number\": \"Broj Profakture\",\n  \"pdf_estimate_date\": \"Datum Profakture\",\n  \"pdf_estimate_expire_date\": \"Datum isteka Profakture\",\n  \"pdf_invoice_label\": \"Faktura\",\n  \"pdf_invoice_number\": \"Broj Fakture\",\n  \"pdf_invoice_date\": \"Datum Fakture\",\n  \"pdf_invoice_due_date\": \"Datum dospeća Fakture\",\n  \"pdf_notes\": \"Napomena\",\n  \"pdf_items_label\": \"Stavke\",\n  \"pdf_quantity_label\": \"Količina\",\n  \"pdf_price_label\": \"Cena\",\n  \"pdf_discount_label\": \"Popust\",\n  \"pdf_amount_label\": \"Iznos\",\n  \"pdf_subtotal\": \"Osnovica za obračun PDV-a\",\n  \"pdf_total\": \"Ukupan iznos\",\n  \"pdf_payment_label\": \"Payment\",\n  \"pdf_payment_receipt_label\": \"POTVRDA O UPLATI\",\n  \"pdf_payment_date\": \"Datum Uplate\",\n  \"pdf_payment_number\": \"Broj Uplate\",\n  \"pdf_payment_mode\": \"Način Uplate\",\n  \"pdf_payment_amount_received_label\": \"Iznos Uplate\",\n  \"pdf_expense_report_label\": \"IZVEŠTAJ O RASHODIMA\",\n  \"pdf_total_expenses_label\": \"RASHODI UKUPNO\",\n  \"pdf_profit_loss_label\": \"IZVEŠTAJ O PRIHODIMA I RASHODIMA\",\n  \"pdf_sales_customers_label\": \"Sales Customer Report\",\n  \"pdf_sales_items_label\": \"Sales Item Report\",\n  \"pdf_tax_summery_label\": \"Tax Summary Report\",\n  \"pdf_income_label\": \"PRIHOD\",\n  \"pdf_net_profit_label\": \"NETO PROFIT\",\n  \"pdf_customer_sales_report\": \"Izveštaj o Prodaji: Po Klijentu\",\n  \"pdf_total_sales_label\": \"PRODAJA UKUPNO\",\n  \"pdf_item_sales_label\": \"Izveštaj o Prodaji: Po Stavci\",\n  \"pdf_tax_report_label\": \"IZVEŠTAJ O POREZIMA\",\n  \"pdf_total_tax_label\": \"UKUPNO POREZ\",\n  \"pdf_tax_types_label\": \"Tipovi Poreza\",\n  \"pdf_expenses_label\": \"Rashodi\",\n  \"pdf_bill_to\": \"Račun za,\",\n  \"pdf_ship_to\": \"Isporučiti za,\",\n  \"pdf_received_from\": \"Poslat od strane:\",\n  \"pdf_tax_label\": \"Tax\"\n}\n"
  },
  {
    "path": "resources/scripts/locales/sv.json",
    "content": "{\n  \"navigation\": {\n    \"dashboard\": \"Översikt\",\n    \"customers\": \"Kunder\",\n    \"items\": \"Artiklar\",\n    \"invoices\": \"Fakturor\",\n    \"recurring-invoices\": \"Återkommande fakturor\",\n    \"expenses\": \"Utgifter\",\n    \"estimates\": \"Kostnadsförslag\",\n    \"payments\": \"Betalningar\",\n    \"reports\": \"Rapporter\",\n    \"settings\": \"Inställningar\",\n    \"logout\": \"Logga ut\",\n    \"users\": \"Användare\",\n    \"modules\": \"Modules\"\n  },\n  \"general\": {\n    \"add_company\": \"Skapa företag\",\n    \"view_pdf\": \"Visa PDF\",\n    \"copy_pdf_url\": \"Kopiera adress till PDF\",\n    \"download_pdf\": \"Ladda ner PDF\",\n    \"save\": \"Spara\",\n    \"create\": \"Skapa\",\n    \"cancel\": \"Avbryt\",\n    \"update\": \"Uppdatera\",\n    \"deselect\": \"Avmarkera\",\n    \"download\": \"Ladda ner\",\n    \"from_date\": \"Från datum\",\n    \"to_date\": \"Till datum\",\n    \"from\": \"Från\",\n    \"to\": \"Till\",\n    \"ok\": \"Ok\",\n    \"yes\": \"Ja\",\n    \"no\": \"Nej\",\n    \"sort_by\": \"Sortera på\",\n    \"ascending\": \"Stigande\",\n    \"descending\": \"Fallande\",\n    \"subject\": \"Ämne\",\n    \"body\": \"Innehåll\",\n    \"message\": \"Meddelande\",\n    \"send\": \"Skicka\",\n    \"preview\": \"Förhandsgranska\",\n    \"go_back\": \"Tillbaka\",\n    \"back_to_login\": \"Till inloggningssidan?\",\n    \"home\": \"Hem\",\n    \"filter\": \"Filter\",\n    \"delete\": \"Ta bort\",\n    \"edit\": \"Editera\",\n    \"view\": \"Visa\",\n    \"add_new_item\": \"Skapa artikel\",\n    \"clear_all\": \"Rensa alla\",\n    \"showing\": \"Visar\",\n    \"of\": \"av\",\n    \"actions\": \"Funktioner\",\n    \"subtotal\": \"DELSUMMA\",\n    \"discount\": \"RABATT\",\n    \"fixed\": \"Fast\",\n    \"percentage\": \"Procent\",\n    \"tax\": \"MOMS\",\n    \"total_amount\": \"TOTALSUMMA\",\n    \"bill_to\": \"Faktureras till\",\n    \"ship_to\": \"Levereras till\",\n    \"due\": \"Förfallen\",\n    \"draft\": \"Förslag\",\n    \"sent\": \"Skickat\",\n    \"all\": \"Alla\",\n    \"select_all\": \"Välj alla\",\n    \"select_template\": \"Välj mall\",\n    \"choose_file\": \"Klicka här för att välja fil\",\n    \"choose_template\": \"Välj mall\",\n    \"choose\": \"Välj\",\n    \"remove\": \"Ta bort\",\n    \"select_a_status\": \"Välj status\",\n    \"select_a_tax\": \"Välj moms\",\n    \"search\": \"Sök\",\n    \"are_you_sure\": \"Är du säker?\",\n    \"list_is_empty\": \"Listan är tom.\",\n    \"no_tax_found\": \"Hittade inte moms!\",\n    \"four_zero_four\": \"404\",\n    \"you_got_lost\": \"Hoppsan! Nu är du vilse!\",\n    \"go_home\": \"Gå hem\",\n    \"test_mail_conf\": \"Testa epostinställningar\",\n    \"send_mail_successfully\": \"Lyckades skicka epost\",\n    \"setting_updated\": \"Inställningar uppdaterades\",\n    \"select_state\": \"Välj kommun\",\n    \"select_country\": \"Välj land\",\n    \"select_city\": \"Välj stad\",\n    \"street_1\": \"Gatuadress 1\",\n    \"street_2\": \"Gatuadress 2\",\n    \"action_failed\": \"Försök misslyckades\",\n    \"retry\": \"Försök igen\",\n    \"choose_note\": \"Välj notering\",\n    \"no_note_found\": \"Inga noteringar hittades\",\n    \"insert_note\": \"Lägg till notering\",\n    \"copied_pdf_url_clipboard\": \"Url till PDF kopierades till urklipp!\",\n    \"copied_url_clipboard\": \"Copied url to clipboard!\",\n    \"docs\": \"Dokumentation\",\n    \"do_you_wish_to_continue\": \"Vill du fortsätta?\",\n    \"note\": \"Notering\",\n    \"pay_invoice\": \"Pay Invoice\",\n    \"login_successfully\": \"Logged in successfully!\",\n    \"logged_out_successfully\": \"Logged out successfully\",\n    \"mark_as_default\": \"Mark as default\"\n  },\n  \"dashboard\": {\n    \"select_year\": \"Välj år\",\n    \"cards\": {\n      \"due_amount\": \"Förfallet belopp\",\n      \"customers\": \"Kunder\",\n      \"invoices\": \"Fakturor\",\n      \"estimates\": \"Kostnadsförslag\",\n      \"payments\": \"Payments\"\n    },\n    \"chart_info\": {\n      \"total_sales\": \"Försäljning\",\n      \"total_receipts\": \"Kvitton\",\n      \"total_expense\": \"Utgifter\",\n      \"net_income\": \"Nettoinkomst\",\n      \"year\": \"Välj år\"\n    },\n    \"monthly_chart\": {\n      \"title\": \"Försäljning och utgifter\"\n    },\n    \"recent_invoices_card\": {\n      \"title\": \"Förfallna fakturor\",\n      \"due_on\": \"Förfaller den\",\n      \"customer\": \"Kund\",\n      \"amount_due\": \"Förfallet belopp\",\n      \"actions\": \"Handlingar\",\n      \"view_all\": \"Visa alla\"\n    },\n    \"recent_estimate_card\": {\n      \"title\": \"Senaste kostnadsförslag\",\n      \"date\": \"Datum\",\n      \"customer\": \"Kund\",\n      \"amount_due\": \"Förfallet belopp\",\n      \"actions\": \"Handlingar\",\n      \"view_all\": \"Visa alla\"\n    }\n  },\n  \"tax_types\": {\n    \"name\": \"Namn\",\n    \"description\": \"Beskrivning\",\n    \"percent\": \"Provent\",\n    \"compound_tax\": \"Sammansatt moms\"\n  },\n  \"global_search\": {\n    \"search\": \"Sök...\",\n    \"customers\": \"Kunder\",\n    \"users\": \"Användare\",\n    \"no_results_found\": \"Hittade inga resultat\"\n  },\n  \"company_switcher\": {\n    \"label\": \"Byt företag\",\n    \"no_results_found\": \"Inga resultat hittades\",\n    \"add_new_company\": \"Lägg till nytt företag\",\n    \"new_company\": \"Nytt företag\",\n    \"created_message\": \"Företaget har skapats\"\n  },\n  \"dateRange\": {\n    \"today\": \"Idag\",\n    \"this_week\": \"Denna vecka\",\n    \"this_month\": \"Denna månad\",\n    \"this_quarter\": \"Detta kvartal\",\n    \"this_year\": \"I år\",\n    \"previous_week\": \"Föregående vecka\",\n    \"previous_month\": \"Föregående månad\",\n    \"previous_quarter\": \"Föregående kvartal\",\n    \"previous_year\": \"Föregående år\",\n    \"custom\": \"Anpassad\"\n  },\n  \"customers\": {\n    \"title\": \"Kunder\",\n    \"prefix\": \"Prefix\",\n    \"add_customer\": \"Lägg till kund\",\n    \"contacts_list\": \"Kundlista\",\n    \"name\": \"Namn\",\n    \"mail\": \"Epost | Epost\",\n    \"statement\": \"Påstående\",\n    \"display_name\": \"Visningsnamn\",\n    \"primary_contact_name\": \"Primär kontakts namn\",\n    \"contact_name\": \"Kontaktnamn\",\n    \"amount_due\": \"Förfallet belopp\",\n    \"email\": \"Epost\",\n    \"address\": \"Adress\",\n    \"phone\": \"Telefon\",\n    \"website\": \"Hemsida\",\n    \"overview\": \"Översikt\",\n    \"invoice_prefix\": \"Prefix för fakturor\",\n    \"estimate_prefix\": \"Prefix för kostnadsförslag\",\n    \"payment_prefix\": \"Prefix för betalningar\",\n    \"enable_portal\": \"Aktivera portal\",\n    \"country\": \"Land\",\n    \"state\": \"Kommun\",\n    \"city\": \"Stad\",\n    \"zip_code\": \"Postnummer\",\n    \"added_on\": \"Tillagd den\",\n    \"action\": \"Handling\",\n    \"password\": \"Lösenord\",\n    \"confirm_password\": \"Bekräfta lösenord\",\n    \"street_number\": \"Gatnummer\",\n    \"primary_currency\": \"Huvudvaluta\",\n    \"description\": \"Beskrivning\",\n    \"add_new_customer\": \"Lägg till ny kund\",\n    \"save_customer\": \"Spara kund\",\n    \"update_customer\": \"Uppdatera kund\",\n    \"customer\": \"Kund | Kunder\",\n    \"new_customer\": \"Ny kund\",\n    \"edit_customer\": \"Ändra kund\",\n    \"basic_info\": \"Information\",\n    \"portal_access\": \"Portal Access\",\n    \"portal_access_text\": \"Would you like to allow this customer to login to the Customer Portal?\",\n    \"portal_access_url\": \"Customer Portal Login URL\",\n    \"portal_access_url_help\": \"Please copy & forward the above given URL to your customer for providing access.\",\n    \"billing_address\": \"Fakturaadress\",\n    \"shipping_address\": \"Leveransadress\",\n    \"copy_billing_address\": \"Kopiera från faktura\",\n    \"no_customers\": \"Inga kunder än!\",\n    \"no_customers_found\": \"Hittade inga kunder!\",\n    \"no_contact\": \"Inga kontakter\",\n    \"no_contact_name\": \"Kontaktnamn\",\n    \"list_of_customers\": \"Här kommer det finnas en lista med kunder.\",\n    \"primary_display_name\": \"Visningsnamn\",\n    \"select_currency\": \"Välj valuta\",\n    \"select_a_customer\": \"Välj kund\",\n    \"type_or_click\": \"Skriv eller klicka för att välja\",\n    \"new_transaction\": \"Ny transaktion\",\n    \"no_matching_customers\": \"Matchade inte med någon kund!\",\n    \"phone_number\": \"Telefonnummer\",\n    \"create_date\": \"Skapandedatum\",\n    \"confirm_delete\": \"Du kommer inte kunna återställa denna kund eller några relaterade fakturor, kostnadsförslag eller betalningar. | Du kommer inte kunna återställa dessa kunder eller några relaterade fakturor, kostnadsförslag eller betalningar.\",\n    \"created_message\": \"Kund skapades\",\n    \"updated_message\": \"Kund uppdaterades\",\n    \"address_updated_message\": \"Address Information Updated succesfully\",\n    \"deleted_message\": \"Kund raderades | Kunder raderades\",\n    \"edit_currency_not_allowed\": \"Kan inte ändra valuta när transaktioner har skapats.\"\n  },\n  \"items\": {\n    \"title\": \"Artiklar\",\n    \"items_list\": \"Artikellista\",\n    \"name\": \"Namn\",\n    \"unit\": \"Enhet\",\n    \"description\": \"Beskrivning\",\n    \"added_on\": \"Tillagd den\",\n    \"price\": \"Pris\",\n    \"date_of_creation\": \"Skapandedatum\",\n    \"not_selected\": \"Inga poster valda\",\n    \"action\": \"Handling\",\n    \"add_item\": \"Skapa artikel\",\n    \"save_item\": \"Spara artikel\",\n    \"update_item\": \"Uppdatera artiklar\",\n    \"item\": \"Artikel | Artiklar\",\n    \"add_new_item\": \"Skapa ny artikel\",\n    \"new_item\": \"Ny artikel\",\n    \"edit_item\": \"Ändra artikel\",\n    \"no_items\": \"Inga artiklar än!\",\n    \"list_of_items\": \"Här kommer lista över artiklar vara.\",\n    \"select_a_unit\": \"välj enhet\",\n    \"taxes\": \"Moms\",\n    \"item_attached_message\": \"Kan inte radera en artikel som används\",\n    \"confirm_delete\": \"Du kommer inte kunna återställa denna artikel | Du kommer inte kunna återställa dessa artiklar\",\n    \"created_message\": \"Artikel skapades\",\n    \"updated_message\": \"Artikel uppdaterades\",\n    \"deleted_message\": \"Artikel raderades | Artiklar raderades\"\n  },\n  \"estimates\": {\n    \"title\": \"Kostnadsförslag\",\n    \"accept_estimate\": \"Accept Estimate\",\n    \"reject_estimate\": \"Reject Estimate\",\n    \"estimate\": \"Kostnadsförslag | Kostnadsförslag\",\n    \"estimates_list\": \"Lista med kostnadsförslag\",\n    \"days\": \"{days} dagar\",\n    \"months\": \"{months} månader\",\n    \"years\": \"{years} år\",\n    \"all\": \"Alla\",\n    \"paid\": \"Betalda\",\n    \"unpaid\": \"Obetalda\",\n    \"customer\": \"KUND\",\n    \"ref_no\": \"REF NR.\",\n    \"number\": \"NUMMER\",\n    \"amount_due\": \"FÖRFALLET BELOPP\",\n    \"partially_paid\": \"Delbetald\",\n    \"total\": \"Summa\",\n    \"discount\": \"Rabatt\",\n    \"sub_total\": \"Delsumma\",\n    \"estimate_number\": \"Kostnadsförslagsnummer\",\n    \"ref_number\": \"Ref Nummer\",\n    \"contact\": \"Kontakt\",\n    \"add_item\": \"Lägg till artikel\",\n    \"date\": \"Datum\",\n    \"due_date\": \"Förfallodatum\",\n    \"expiry_date\": \"Utgångsdatum\",\n    \"status\": \"Status\",\n    \"add_tax\": \"Lägg till moms\",\n    \"amount\": \"Belopp\",\n    \"action\": \"Handling\",\n    \"notes\": \"Noteringar\",\n    \"tax\": \"Moms\",\n    \"estimate_template\": \"Mall\",\n    \"convert_to_invoice\": \"Konvertera till faktura\",\n    \"mark_as_sent\": \"Markerade som skickad\",\n    \"send_estimate\": \"Skicka kostnadsförslag\",\n    \"resend_estimate\": \"Skicka kostnadsförslag igen\",\n    \"record_payment\": \"Registrera betalning\",\n    \"add_estimate\": \"Lägg till kostnadsförslag\",\n    \"save_estimate\": \"Spara kostnadsförslag\",\n    \"confirm_conversion\": \"Detta kostnadsförslag används för att skapa ny faktura.\",\n    \"conversion_message\": \"Faktura skapades\",\n    \"confirm_send_estimate\": \"Detta kostnadsförslag skickas via epost till kund\",\n    \"confirm_mark_as_sent\": \"Detta kostnadsförslag markeras som skickat\",\n    \"confirm_mark_as_accepted\": \"Detta kostnadsförslag markeras som accepterad\",\n    \"confirm_mark_as_rejected\": \"Detta kostnadsförslag markeras som avvisad\",\n    \"no_matching_estimates\": \"Inga matchande kostnadsförslag!\",\n    \"mark_as_sent_successfully\": \"Kostnadsförslag markerat som skickat\",\n    \"send_estimate_successfully\": \"Kostnadsförslag skickades\",\n    \"errors\": {\n      \"required\": \"Fältet är tvingande\"\n    },\n    \"accepted\": \"Accepterad\",\n    \"rejected\": \"Avvisad\",\n    \"expired\": \"Expired\",\n    \"sent\": \"Skickat\",\n    \"draft\": \"Utkast\",\n    \"viewed\": \"Viewed\",\n    \"declined\": \"Avvisad\",\n    \"new_estimate\": \"Nytt kostnadsförslag\",\n    \"add_new_estimate\": \"Skapa nytt kostnadsförslag\",\n    \"update_Estimate\": \"Uppdatera kostnadsförslag\",\n    \"edit_estimate\": \"Ändra kostnadsförslag\",\n    \"items\": \"artiklar\",\n    \"Estimate\": \"Kostnadsförslag | Kostnadsförslag\",\n    \"add_new_tax\": \"Skapa ny momssats\",\n    \"no_estimates\": \"Inga kostnadsförslag än!\",\n    \"list_of_estimates\": \"Här kommer det finnas kostnadsförslag.\",\n    \"mark_as_rejected\": \"Markera som avvisad\",\n    \"mark_as_accepted\": \"Markera som godkänd\",\n    \"marked_as_accepted_message\": \"Kostnadsförslag markerad som godkänd\",\n    \"marked_as_rejected_message\": \"Kostnadsförslag markerad som avvisad\",\n    \"confirm_delete\": \"Du kommer inte kunna återställa detta kostnadsförslag | Du kommer inte kunna återställa dessa kostnadsförslag\",\n    \"created_message\": \"Kostnadsförslag skapades\",\n    \"updated_message\": \"Kostnadsförslag ändrades\",\n    \"deleted_message\": \"Kostnadsförslag raderades | Kostnadsförslag raderades\",\n    \"something_went_wrong\": \"något gick fel\",\n    \"item\": {\n      \"title\": \"Artikelnamn\",\n      \"description\": \"Beskrivning\",\n      \"quantity\": \"Antal\",\n      \"price\": \"Pris\",\n      \"discount\": \"Rabatt\",\n      \"total\": \"Summa\",\n      \"total_discount\": \"Rabattsumma\",\n      \"sub_total\": \"Delsumma\",\n      \"tax\": \"Moms\",\n      \"amount\": \"Summa\",\n      \"select_an_item\": \"Skriv eller klicka för att välja artikel\",\n      \"type_item_description\": \"Skriv in artikelns beskrivning (frivilligt)\"\n    },\n    \"mark_as_default_estimate_template_description\": \"If enabled, the selected template will be automatically selected for new estimates.\"\n  },\n  \"invoices\": {\n    \"title\": \"Fakturor\",\n    \"download\": \"Download\",\n    \"pay_invoice\": \"Pay Invoice\",\n    \"invoices_list\": \"Fakturor\",\n    \"invoice_information\": \"Invoice Information\",\n    \"days\": \"{days} dagar\",\n    \"months\": \"{months} månader\",\n    \"years\": \"{years} år\",\n    \"all\": \"Alla\",\n    \"paid\": \"Betalda\",\n    \"unpaid\": \"Obetalda\",\n    \"viewed\": \"Visade\",\n    \"overdue\": \"Förfallna\",\n    \"completed\": \"Slutförda\",\n    \"customer\": \"KUNDER\",\n    \"paid_status\": \"BETALSTATUS\",\n    \"ref_no\": \"REF NR.\",\n    \"number\": \"NUMMER\",\n    \"amount_due\": \"FÖRFALLET BELOPP\",\n    \"partially_paid\": \"Delbetald\",\n    \"total\": \"Summa\",\n    \"discount\": \"Rabatt\",\n    \"sub_total\": \"Delsumma\",\n    \"invoice\": \"Faktura | Fakturor\",\n    \"invoice_number\": \"Fakturanummer\",\n    \"ref_number\": \"Ref Nummer\",\n    \"contact\": \"Kontakt\",\n    \"add_item\": \"Lägg till artikel\",\n    \"date\": \"Datum\",\n    \"due_date\": \"Förfallodatum\",\n    \"status\": \"Status\",\n    \"add_tax\": \"Lägg till moms\",\n    \"amount\": \"Summa\",\n    \"action\": \"Handling\",\n    \"notes\": \"Noteringar\",\n    \"view\": \"Visa\",\n    \"send_invoice\": \"Skicka faktura\",\n    \"resend_invoice\": \"Skicka faktura igen\",\n    \"invoice_template\": \"Fakturamall\",\n    \"conversion_message\": \"Fakturan kopierades\",\n    \"template\": \"Mall\",\n    \"mark_as_sent\": \"Markera som skickad\",\n    \"confirm_send_invoice\": \"Denna faktura skickas via epost till kunden\",\n    \"invoice_mark_as_sent\": \"Denna faktura markeras som skickad\",\n    \"confirm_mark_as_accepted\": \"Denna faktura kommer att markeras som Godkänd\",\n    \"confirm_mark_as_rejected\": \"Denna faktura kommer att markeras som Avvisad\",\n    \"confirm_send\": \"Denna faktura skickas via epost till kunden\",\n    \"invoice_date\": \"Fakturadatum\",\n    \"record_payment\": \"Registrera betalning\",\n    \"add_new_invoice\": \"Lägg till ny faktura\",\n    \"update_expense\": \"Ändra utgifter\",\n    \"edit_invoice\": \"Editera faktura\",\n    \"new_invoice\": \"Ny faktura\",\n    \"save_invoice\": \"Spara faktura\",\n    \"update_invoice\": \"Uppdatera faktura\",\n    \"add_new_tax\": \"Lägg till ny momssats\",\n    \"no_invoices\": \"Inga fakturor än!\",\n    \"mark_as_rejected\": \"Markera som avvisad\",\n    \"mark_as_accepted\": \"Markera som godkänd\",\n    \"list_of_invoices\": \"Här kommer det vara en lista med fakturor.\",\n    \"select_invoice\": \"Välj faktura\",\n    \"no_matching_invoices\": \"Inga matchande fakturor!\",\n    \"mark_as_sent_successfully\": \"Fakturans status ändrad till skickad\",\n    \"invoice_sent_successfully\": \"Fakturan skickades\",\n    \"cloned_successfully\": \"Fakturan kopierades\",\n    \"clone_invoice\": \"Kopiera faktura\",\n    \"confirm_clone\": \"Denna faktura kopieras till en ny faktura\",\n    \"item\": {\n      \"title\": \"Artikelnamn\",\n      \"description\": \"Beskvirning\",\n      \"quantity\": \"Antal\",\n      \"price\": \"Pris\",\n      \"discount\": \"Rabatt\",\n      \"total\": \"Summa\",\n      \"total_discount\": \"Totalsumma\",\n      \"sub_total\": \"Delsumma\",\n      \"tax\": \"Moms\",\n      \"amount\": \"Summa\",\n      \"select_an_item\": \"Skriv eller klicka för att välja artikel\",\n      \"type_item_description\": \"Artikeltypsbeskrivning (frivillig)\"\n    },\n    \"payment_attached_message\": \"En av dom valda fakturorna har redan en betalning kopplad till sig. Du måste radera dom kopplade betalningarna först för att kunna fortsätta raderingen\",\n    \"confirm_delete\": \"Du kommer inte kunna återställa denna faktura | Du kommer inte kunna återställa dessa fakturor\",\n    \"created_message\": \"Faktura skapades\",\n    \"updated_message\": \"Faktura uppdaterades\",\n    \"deleted_message\": \"Faktura raderades | fakturor raderades\",\n    \"marked_as_sent_message\": \"Faktura markerad som skickad\",\n    \"something_went_wrong\": \"något blev fel\",\n    \"invalid_due_amount_message\": \"Totalsumman för fakturan kan inte vara lägra än den betalda summan. Vänligen uppdatera fakturan eller radera dom kopplade betalningarna.\",\n    \"mark_as_default_invoice_template_description\": \"If enabled, the selected template will be automatically selected for new invoices.\"\n  },\n  \"recurring_invoices\": {\n    \"title\": \"Återkommande fakturor\",\n    \"invoices_list\": \"Återkommande fakturor\",\n    \"days\": \"{days} Dagar\",\n    \"months\": \"{months} Månader\",\n    \"years\": \"{years} År\",\n    \"all\": \"Alla\",\n    \"paid\": \"Betalda\",\n    \"unpaid\": \"Obetalda\",\n    \"viewed\": \"Visade\",\n    \"overdue\": \"Försenade\",\n    \"active\": \"Aktiva\",\n    \"completed\": \"Slutförda\",\n    \"customer\": \"KUND\",\n    \"paid_status\": \"BETALSTATUS\",\n    \"ref_no\": \"REF NR.\",\n    \"number\": \"NUMMER\",\n    \"amount_due\": \"FÖRFALLET BELOPP\",\n    \"partially_paid\": \"Delbetald\",\n    \"total\": \"Summa\",\n    \"discount\": \"Rabatt\",\n    \"sub_total\": \"Delsumma\",\n    \"invoice\": \"Recurring Invoice | Recurring Invoices\",\n    \"invoice_number\": \"Recurring Invoice Number\",\n    \"next_invoice_date\": \"Next Invoice Date\",\n    \"ref_number\": \"Ref Number\",\n    \"contact\": \"Contact\",\n    \"add_item\": \"Add an Item\",\n    \"date\": \"Date\",\n    \"limit_by\": \"Limit by\",\n    \"limit_date\": \"Limit Date\",\n    \"limit_count\": \"Limit Count\",\n    \"count\": \"Count\",\n    \"status\": \"Status\",\n    \"select_a_status\": \"Select a status\",\n    \"working\": \"Working\",\n    \"on_hold\": \"On Hold\",\n    \"complete\": \"Completed\",\n    \"add_tax\": \"Add Tax\",\n    \"amount\": \"Amount\",\n    \"action\": \"Action\",\n    \"notes\": \"Notes\",\n    \"view\": \"View\",\n    \"basic_info\": \"Basic Info\",\n    \"send_invoice\": \"Send Recurring Invoice\",\n    \"auto_send\": \"Auto Send\",\n    \"resend_invoice\": \"Resend Recurring Invoice\",\n    \"invoice_template\": \"Recurring Invoice Template\",\n    \"conversion_message\": \"Recurring Invoice cloned successful\",\n    \"template\": \"Template\",\n    \"mark_as_sent\": \"Mark as sent\",\n    \"confirm_send_invoice\": \"This recurring invoice will be sent via email to the customer\",\n    \"invoice_mark_as_sent\": \"This recurring invoice will be marked as sent\",\n    \"confirm_send\": \"This recurring invoice will be sent via email to the customer\",\n    \"starts_at\": \"Start Date\",\n    \"due_date\": \"Invoice Due Date\",\n    \"record_payment\": \"Record Payment\",\n    \"add_new_invoice\": \"Add New Recurring Invoice\",\n    \"update_expense\": \"Update Expense\",\n    \"edit_invoice\": \"Edit Recurring Invoice\",\n    \"new_invoice\": \"New Recurring Invoice\",\n    \"send_automatically\": \"Send Automatically\",\n    \"send_automatically_desc\": \"Enable this, if you would like to send the invoice automatically to the customer when its created.\",\n    \"save_invoice\": \"Save Recurring Invoice\",\n    \"update_invoice\": \"Update Recurring Invoice\",\n    \"add_new_tax\": \"Add New Tax\",\n    \"no_invoices\": \"No Recurring Invoices yet!\",\n    \"mark_as_rejected\": \"Mark as rejected\",\n    \"mark_as_accepted\": \"Mark as accepted\",\n    \"list_of_invoices\": \"This section will contain the list of recurring invoices.\",\n    \"select_invoice\": \"Select Invoice\",\n    \"no_matching_invoices\": \"There are no matching recurring invoices!\",\n    \"mark_as_sent_successfully\": \"Recurring Invoice marked as sent successfully\",\n    \"invoice_sent_successfully\": \"Recurring Invoice sent successfully\",\n    \"cloned_successfully\": \"Recurring Invoice cloned successfully\",\n    \"clone_invoice\": \"Clone Recurring Invoice\",\n    \"confirm_clone\": \"This recurring invoice will be cloned into a new Recurring Invoice\",\n    \"add_customer_email\": \"Please add an email address for this customer to send invoices automatically.\",\n    \"item\": {\n      \"title\": \"Item Title\",\n      \"description\": \"Description\",\n      \"quantity\": \"Quantity\",\n      \"price\": \"Price\",\n      \"discount\": \"Discount\",\n      \"total\": \"Total\",\n      \"total_discount\": \"Total Discount\",\n      \"sub_total\": \"Sub Total\",\n      \"tax\": \"Tax\",\n      \"amount\": \"Amount\",\n      \"select_an_item\": \"Type or click to select an item\",\n      \"type_item_description\": \"Type Item Description (optional)\"\n    },\n    \"frequency\": {\n      \"title\": \"Frequency\",\n      \"select_frequency\": \"Select Frequency\",\n      \"minute\": \"Minute\",\n      \"hour\": \"Hour\",\n      \"day_month\": \"Day of month\",\n      \"month\": \"Month\",\n      \"day_week\": \"Day of week\"\n    },\n    \"confirm_delete\": \"You will not be able to recover this Invoice | You will not be able to recover these Invoices\",\n    \"created_message\": \"Recurring Invoice created successfully\",\n    \"updated_message\": \"Recurring Invoice updated successfully\",\n    \"deleted_message\": \"Recurring Invoice deleted successfully | Recurring Invoices deleted successfully\",\n    \"marked_as_sent_message\": \"Recurring Invoice marked as sent successfully\",\n    \"user_email_does_not_exist\": \"User email does not exist\",\n    \"something_went_wrong\": \"something went wrong\",\n    \"invalid_due_amount_message\": \"Total Recurring Invoice amount cannot be less than total paid amount for this Recurring Invoice. Please update the invoice or delete the associated payments to continue.\"\n  },\n  \"payments\": {\n    \"title\": \"Betalningar\",\n    \"payments_list\": \"Lista med betalningar\",\n    \"record_payment\": \"Registrera betalning\",\n    \"customer\": \"Kund\",\n    \"date\": \"Datum\",\n    \"amount\": \"Summa\",\n    \"action\": \"Handling\",\n    \"payment_number\": \"Betalningsnummer\",\n    \"payment_mode\": \"Betalningssätt\",\n    \"invoice\": \"Faktura\",\n    \"note\": \"Notering\",\n    \"add_payment\": \"Skapa betalning\",\n    \"new_payment\": \"Ny betalning\",\n    \"edit_payment\": \"Ändra betalning\",\n    \"view_payment\": \"Visa betalning\",\n    \"add_new_payment\": \"Skapa ny betalning\",\n    \"send_payment_receipt\": \"Skicka kvitto på betalning\",\n    \"send_payment\": \"Skicka betalning\",\n    \"save_payment\": \"Spara betalning\",\n    \"update_payment\": \"Uppdatera betalning\",\n    \"payment\": \"Betalning | Betalningar\",\n    \"no_payments\": \"Inga betalningar än!\",\n    \"not_selected\": \"Ej markerad\",\n    \"no_invoice\": \"Ingen faktura\",\n    \"no_matching_payments\": \"Inga matchande betalningar!\",\n    \"list_of_payments\": \"Här kommer listan med betalningar finnas.\",\n    \"select_payment_mode\": \"Välj betalningssätt\",\n    \"confirm_mark_as_sent\": \"Detta kostnadsförslag markeras som skickat\",\n    \"confirm_send_payment\": \"Denna betalning skickas till kunden via epost\",\n    \"send_payment_successfully\": \"Betalningen skickades\",\n    \"something_went_wrong\": \"något gick fel\",\n    \"confirm_delete\": \"Du kommer inte kunna återställa denna betalning | Du kommer inte kunna återställa dessa betalningar\",\n    \"created_message\": \"Betalning skapades\",\n    \"updated_message\": \"Betalning uppdaterades\",\n    \"deleted_message\": \"Betalning raderades | Betalningar raderades\",\n    \"invalid_amount_message\": \"Betalsumman är ogiltig\"\n  },\n  \"expenses\": {\n    \"title\": \"Utgifter\",\n    \"expenses_list\": \"Lista med utgifter\",\n    \"select_a_customer\": \"Välj en kund\",\n    \"expense_title\": \"Titel\",\n    \"customer\": \"Kund\",\n    \"currency\": \"Currency\",\n    \"contact\": \"Kontakt\",\n    \"category\": \"Kategori\",\n    \"from_date\": \"Från datum\",\n    \"to_date\": \"Till datum\",\n    \"expense_date\": \"Datum\",\n    \"description\": \"Beskrivning\",\n    \"receipt\": \"Kvitto\",\n    \"amount\": \"Summa\",\n    \"action\": \"Handling\",\n    \"not_selected\": \"Ej markerad\",\n    \"note\": \"Notering\",\n    \"category_id\": \"Kategorins ID\",\n    \"date\": \"Datum\",\n    \"add_expense\": \"Lägg till utgift\",\n    \"add_new_expense\": \"Lägg till ny utgift\",\n    \"save_expense\": \"Spara utgift\",\n    \"update_expense\": \"Uppdatera utgift\",\n    \"download_receipt\": \"Ladda ner kvitto\",\n    \"edit_expense\": \"Ändra utgift\",\n    \"new_expense\": \"Ny utgift\",\n    \"expense\": \"Utgift | Utgifter\",\n    \"no_expenses\": \"Inga utgifter än!\",\n    \"list_of_expenses\": \"Här kommer utgifterna finnas.\",\n    \"confirm_delete\": \"Du kommer inte kunna återställa denna utgift | Du kommer inte kunna återställa dessa utgifter\",\n    \"created_message\": \"Utgift skapades\",\n    \"updated_message\": \"Utgift ändrades\",\n    \"deleted_message\": \"Utgift raderades | utgifterna raderades\",\n    \"categories\": {\n      \"categories_list\": \"Kategorier\",\n      \"title\": \"Titel\",\n      \"name\": \"Namn\",\n      \"description\": \"Beskrivning\",\n      \"amount\": \"Summa\",\n      \"actions\": \"Handlingar\",\n      \"add_category\": \"Lägg till kategori\",\n      \"new_category\": \"Ny kategori\",\n      \"category\": \"Kategori | Kategorier\",\n      \"select_a_category\": \"Välj en kategori\"\n    }\n  },\n  \"login\": {\n    \"email\": \"Epost\",\n    \"password\": \"Lösenord\",\n    \"forgot_password\": \"Glömt lösenord?\",\n    \"or_signIn_with\": \"eller logga in med\",\n    \"login\": \"Logga in\",\n    \"register\": \"Registrera\",\n    \"reset_password\": \"Återställ lösenord\",\n    \"password_reset_successfully\": \"Lösenord återställt\",\n    \"enter_email\": \"Skriv in epost\",\n    \"enter_password\": \"Skriv in lösenord\",\n    \"retype_password\": \"Skriv lösenordet igen\"\n  },\n  \"modules\": {\n    \"buy_now\": \"Buy Now\",\n    \"install\": \"Install\",\n    \"price\": \"Price\",\n    \"download_zip_file\": \"Download ZIP file\",\n    \"unzipping_package\": \"Unzipping Package\",\n    \"copying_files\": \"Copying Files\",\n    \"deleting_files\": \"Deleting Unused files\",\n    \"completing_installation\": \"Completing Installation\",\n    \"update_failed\": \"Update Failed\",\n    \"install_success\": \"Module has been installed successfully!\",\n    \"customer_reviews\": \"Reviews\",\n    \"license\": \"License\",\n    \"faq\": \"FAQ\",\n    \"monthly\": \"Monthly\",\n    \"yearly\": \"Yearly\",\n    \"updated\": \"Updated\",\n    \"version\": \"Version\",\n    \"disable\": \"Disable\",\n    \"module_disabled\": \"Module Disabled\",\n    \"enable\": \"Enable\",\n    \"module_enabled\": \"Module Enabled\",\n    \"update_to\": \"Update To\",\n    \"module_updated\": \"Module Updated Successfully!\",\n    \"title\": \"Modules\",\n    \"module\": \"Module | Modules\",\n    \"api_token\": \"API token\",\n    \"invalid_api_token\": \"Invalid API Token.\",\n    \"other_modules\": \"Other Modules\",\n    \"view_all\": \"View All\",\n    \"no_reviews_found\": \"There are no reviews for this module yet!\",\n    \"module_not_purchased\": \"Module Not Purchased\",\n    \"module_not_found\": \"Module Not Found\",\n    \"version_not_supported\": \"This module version doesn't support the current version of Crater\",\n    \"last_updated\": \"Last Updated On\",\n    \"connect_installation\": \"Connect your installation\",\n    \"api_token_description\": \"Login to {url} and connect this installation by entering the API Token. Your purchased modules will show up here after the connection is established.\",\n    \"view_module\": \"View Module\",\n    \"update_available\": \"Update Available\",\n    \"purchased\": \"Purchased\",\n    \"installed\": \"Installed\",\n    \"no_modules_installed\": \"No Modules Installed Yet!\",\n    \"disable_warning\": \"All the settings for this particular will be reverted.\",\n    \"what_you_get\": \"What you get\"\n  },\n  \"users\": {\n    \"title\": \"Användare\",\n    \"users_list\": \"Användare\",\n    \"name\": \"Namn\",\n    \"description\": \"Beskrivning\",\n    \"added_on\": \"Tillagd den\",\n    \"date_of_creation\": \"Datum skapad\",\n    \"action\": \"Handling\",\n    \"add_user\": \"Lägg till användare\",\n    \"save_user\": \"Spara användare\",\n    \"update_user\": \"Uppdatera användare\",\n    \"user\": \"Användare | Användare\",\n    \"add_new_user\": \"Lägg till ny användare\",\n    \"new_user\": \"Ny användare\",\n    \"edit_user\": \"Ändra användare\",\n    \"no_users\": \"Inga användare än!\",\n    \"list_of_users\": \"Här kommer man se alla användare.\",\n    \"email\": \"Epost\",\n    \"phone\": \"Telefon\",\n    \"password\": \"Lösenord\",\n    \"user_attached_message\": \"Kan inte ta bort ett objeckt som används\",\n    \"confirm_delete\": \"Du kommer inte kunna återställa denna användare | Du kommer inte kunna återställa dessa användare\",\n    \"created_message\": \"Användare skapades\",\n    \"updated_message\": \"Användare uppdaterades\",\n    \"deleted_message\": \"Användaren raderades | Användarna raderades\",\n    \"select_company_role\": \"Select Role for {company}\",\n    \"companies\": \"Companies\"\n  },\n  \"reports\": {\n    \"title\": \"Rapport\",\n    \"from_date\": \"Från datum\",\n    \"to_date\": \"Till datum\",\n    \"status\": \"Status\",\n    \"paid\": \"Betald\",\n    \"unpaid\": \"Obetald\",\n    \"download_pdf\": \"Ladda ner PDF\",\n    \"view_pdf\": \"Visa PDF\",\n    \"update_report\": \"Uppdatera rapport\",\n    \"report\": \"Rapport | Rapporter\",\n    \"profit_loss\": {\n      \"profit_loss\": \"Inkomst och utgifter\",\n      \"to_date\": \"Till datum\",\n      \"from_date\": \"Från datum\",\n      \"date_range\": \"Välj datumintervall\"\n    },\n    \"sales\": {\n      \"sales\": \"Försäljningar\",\n      \"date_range\": \"Välj datumintervall\",\n      \"to_date\": \"Till datum\",\n      \"from_date\": \"Från datum\",\n      \"report_type\": \"Rapporttyp\"\n    },\n    \"taxes\": {\n      \"taxes\": \"Momssatser\",\n      \"to_date\": \"Till datum\",\n      \"from_date\": \"Från datum\",\n      \"date_range\": \"Välj datumintervall\"\n    },\n    \"errors\": {\n      \"required\": \"Fältet är tvingande\"\n    },\n    \"invoices\": {\n      \"invoice\": \"Faktura\",\n      \"invoice_date\": \"Fakturadatum\",\n      \"due_date\": \"Förfallodatum\",\n      \"amount\": \"Summa\",\n      \"contact_name\": \"Kontaktnamn\",\n      \"status\": \"Status\"\n    },\n    \"estimates\": {\n      \"estimate\": \"Kostnadsförslag\",\n      \"estimate_date\": \"Kostnadsförslagsdatum\",\n      \"due_date\": \"Förfallodatum\",\n      \"estimate_number\": \"Kostnadsförslagsnummer\",\n      \"ref_number\": \"Ref Nummer\",\n      \"amount\": \"Summa\",\n      \"contact_name\": \"Kontaktnamn\",\n      \"status\": \"Status\"\n    },\n    \"expenses\": {\n      \"expenses\": \"Utgifter\",\n      \"category\": \"Kategori\",\n      \"date\": \"Datum\",\n      \"amount\": \"Summa\",\n      \"to_date\": \"Till datum\",\n      \"from_date\": \"Från datum\",\n      \"date_range\": \"Välj datumintervall\"\n    }\n  },\n  \"settings\": {\n    \"menu_title\": {\n      \"account_settings\": \"Kontoinställningar\",\n      \"company_information\": \"Företagsinformation\",\n      \"customization\": \"Anpassning\",\n      \"preferences\": \"Inställningar\",\n      \"notifications\": \"Notifieringar\",\n      \"tax_types\": \"Momssatser\",\n      \"expense_category\": \"Utgiftskategorier\",\n      \"update_app\": \"Uppdatera appen\",\n      \"backup\": \"Backup\",\n      \"file_disk\": \"File Disk\",\n      \"custom_fields\": \"Anpassade fält\",\n      \"payment_modes\": \"Betalmetoder\",\n      \"notes\": \"Noteringar\",\n      \"exchange_rate\": \"Exchange Rate\",\n      \"address_information\": \"Address Information\"\n    },\n    \"address_information\": {\n      \"section_description\": \"  You can update Your Address information using form below.\"\n    },\n    \"title\": \"Inställningar\",\n    \"setting\": \"Inställningar | Inställningar\",\n    \"general\": \"Allmän\",\n    \"language\": \"Språk\",\n    \"primary_currency\": \"Primär valuta\",\n    \"timezone\": \"Tidszon\",\n    \"date_format\": \"Datumformat\",\n    \"currencies\": {\n      \"title\": \"Valutor\",\n      \"currency\": \"Valuta | Valutor\",\n      \"currencies_list\": \"Lista med valutor\",\n      \"select_currency\": \"Välj valuta\",\n      \"name\": \"Namn\",\n      \"code\": \"Kod\",\n      \"symbol\": \"Symbol\",\n      \"precision\": \"Precision\",\n      \"thousand_separator\": \"Tusenavgränsare\",\n      \"decimal_separator\": \"Decimalavgränsare\",\n      \"position\": \"Position\",\n      \"position_of_symbol\": \"Symbolens position\",\n      \"right\": \"Höger\",\n      \"left\": \"Vänster\",\n      \"action\": \"Handling\",\n      \"add_currency\": \"Lägg till valuta\"\n    },\n    \"mail\": {\n      \"host\": \"Värdadress\",\n      \"port\": \"Port\",\n      \"driver\": \"Typ\",\n      \"secret\": \"Hemlighet\",\n      \"mailgun_secret\": \"Mailgun Secret\",\n      \"mailgun_domain\": \"Domän\",\n      \"mailgun_endpoint\": \"Mailgun Endpoint\",\n      \"ses_secret\": \"SES Secret\",\n      \"ses_key\": \"SES Key\",\n      \"password\": \"Lösenord\",\n      \"username\": \"Användarnamn\",\n      \"mail_config\": \"Epostinställningar\",\n      \"from_name\": \"Från namn\",\n      \"from_mail\": \"Från adress\",\n      \"encryption\": \"Kryptering\",\n      \"mail_config_desc\": \"Nedan formulär används för att konfigurera vilket sätt som ska användar för att skicka epost. Du kan också använda tredjepartsleverantör som Sendgrid, SES o.s.v.\"\n    },\n    \"pdf\": {\n      \"title\": \"PDF-inställningar\",\n      \"footer_text\": \"Sidfotstext\",\n      \"pdf_layout\": \"PDF-layout\"\n    },\n    \"company_info\": {\n      \"company_info\": \"Företagsinfo\",\n      \"company_name\": \"Företagsnamn\",\n      \"company_logo\": \"Företagslogga\",\n      \"section_description\": \"Information om ditt företags som kommer visas på fakturor, kostnadsförslag och andra dokument skapade av Crater.\",\n      \"phone\": \"Telefon\",\n      \"country\": \"Land\",\n      \"state\": \"Kommun\",\n      \"city\": \"Stad\",\n      \"address\": \"Adress\",\n      \"zip\": \"Postnr\",\n      \"save\": \"Spara\",\n      \"delete\": \"Delete\",\n      \"updated_message\": \"Företagsinformation uppdaterad\",\n      \"delete_company\": \"Delete Company\",\n      \"delete_company_description\": \"Once you delete your company, you will lose all the data and files associated with it permanently.\",\n      \"are_you_absolutely_sure\": \"Are you absolutely sure?\",\n      \"delete_company_modal_desc\": \"This action cannot be undone. This will permanently delete {company} and all of its associated data.\",\n      \"delete_company_modal_label\": \"Please type {company} to confirm\"\n    },\n    \"custom_fields\": {\n      \"title\": \"Anpassade fält\",\n      \"section_description\": \"Anpassa fakturor, kostnadsförslag och kvitton med dina egna fält. Använd nedanstående fält i adressforamteringen på anpassningarnas inställningssida.\",\n      \"add_custom_field\": \"Lägg till anpassat fält\",\n      \"edit_custom_field\": \"Ändra anpassade fält\",\n      \"field_name\": \"Fältnamn\",\n      \"label\": \"Etikett\",\n      \"type\": \"Typ\",\n      \"name\": \"Namn\",\n      \"slug\": \"Slug\",\n      \"required\": \"Tvingad\",\n      \"placeholder\": \"Placeholder\",\n      \"help_text\": \"Hjälptext\",\n      \"default_value\": \"Standardvärde\",\n      \"prefix\": \"Prefix\",\n      \"starting_number\": \"Startnummer\",\n      \"model\": \"Modell\",\n      \"help_text_description\": \"Skriv in text som hjälper användaren förstå vad det anpassade fältet används för.\",\n      \"suffix\": \"Suffix\",\n      \"yes\": \"Ja\",\n      \"no\": \"Nej\",\n      \"order\": \"Ordning\",\n      \"custom_field_confirm_delete\": \"Du kommer inte kunna återställa detta anpassade fält\",\n      \"already_in_use\": \"Det anpassade fältet används\",\n      \"deleted_message\": \"Det anpassade fältet raderades\",\n      \"options\": \"val\",\n      \"add_option\": \"Lägg till val\",\n      \"add_another_option\": \"Lägg till ett till val\",\n      \"sort_in_alphabetical_order\": \"Sortera i alfabetisk ordning\",\n      \"add_options_in_bulk\": \"Lägg till flera val\",\n      \"use_predefined_options\": \"Använd förinställda val\",\n      \"select_custom_date\": \"Välj anpassat datum\",\n      \"select_relative_date\": \"Välj relativt datum\",\n      \"ticked_by_default\": \"Ikryssad från start\",\n      \"updated_message\": \"Anpassat fält uppdaterades\",\n      \"added_message\": \"Anpassat fält skapat\",\n      \"press_enter_to_add\": \"Press enter to add new option\",\n      \"model_in_use\": \"Cannot update model for fields which are already in use.\",\n      \"type_in_use\": \"Cannot update type for fields which are already in use.\"\n    },\n    \"customization\": {\n      \"customization\": \"Anpassning\",\n      \"updated_message\": \"Företagsinformation uppdaterades\",\n      \"save\": \"Spara\",\n      \"insert_fields\": \"Insert Fields\",\n      \"learn_custom_format\": \"Learn how to use custom format\",\n      \"add_new_component\": \"Add New Component\",\n      \"component\": \"Component\",\n      \"Parameter\": \"Parameter\",\n      \"series\": \"Series\",\n      \"series_description\": \"To set a static prefix/postfix like 'INV' across your company. It supports character length of up to 6 chars.\",\n      \"series_param_label\": \"Series Value\",\n      \"delimiter\": \"Delimiter\",\n      \"delimiter_description\": \"Single character for specifying the boundary between 2 separate components. By default its set to -\",\n      \"delimiter_param_label\": \"Delimiter Value\",\n      \"date_format\": \"Date Format\",\n      \"date_format_description\": \"A local date and time field which accepts a format parameter. The default format: 'Y' renders the current year.\",\n      \"date_format_param_label\": \"Format\",\n      \"sequence\": \"Sequence\",\n      \"sequence_description\": \"Consecutive sequence of numbers across your company. You can specify the length on the given parameter.\",\n      \"sequence_param_label\": \"Sequence Length\",\n      \"customer_series\": \"Customer Series\",\n      \"customer_series_description\": \"To set a different prefix/postfix for each customer.\",\n      \"customer_sequence\": \"Customer Sequence\",\n      \"customer_sequence_description\": \"Consecutive sequence of numbers for each of your customer.\",\n      \"customer_sequence_param_label\": \"Sequence Length\",\n      \"random_sequence\": \"Random Sequence\",\n      \"random_sequence_description\": \"Random alphanumeric string. You can specify the length on the given parameter.\",\n      \"random_sequence_param_label\": \"Sequence Length\",\n      \"invoices\": {\n        \"title\": \"Fakturor\",\n        \"invoice_number_format\": \"Invoice Number Format\",\n        \"invoice_number_format_description\": \"Customize how your invoice number gets generated automatically when you create a new invoice.\",\n        \"preview_invoice_number\": \"Preview Invoice Number\",\n        \"due_date\": \"Due Date\",\n        \"due_date_description\": \"Specify how due date is automatically set when you create an invoice.\",\n        \"due_date_days\": \"Invoice Due after days\",\n        \"set_due_date_automatically\": \"Set Due Date Automatically\",\n        \"set_due_date_automatically_description\": \"Enable this if you wish to set due date automatically when you create a new invoice.\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on invoice creation.\",\n        \"default_invoice_email_body\": \"Standardtext för faktura\",\n        \"company_address_format\": \"Formatering av företagsadress\",\n        \"shipping_address_format\": \"Formatering av leveransadress\",\n        \"billing_address_format\": \"Formatering av fakturaadress\",\n        \"invoice_email_attachment\": \"Skicka fakturor som bilagor\",\n        \"invoice_email_attachment_setting_description\": \"Aktivera detta om du vill skicka fakturor som e-postbilaga. Observera att knappen \\\"Visa faktura\\\" i e-post inte längre kommer att visas när den är aktiverad.\",\n        \"invoice_settings_updated\": \"Invoice Settings updated successfully\",\n        \"retrospective_edits\": \"Retrospective Edits\",\n        \"allow\": \"Allow\",\n        \"disable_on_invoice_partial_paid\": \"Disable after partial payment is recorded\",\n        \"disable_on_invoice_paid\": \"Disable after full payment is recorded\",\n        \"disable_on_invoice_sent\": \"Disable after invoice is sent\",\n        \"retrospective_edits_description\": \" Based on your country's laws or your preference, you can restrict users from editing finalised invoices.\"\n      },\n      \"estimates\": {\n        \"title\": \"Kostnadsförslag\",\n        \"estimate_number_format\": \"Estimate Number Format\",\n        \"estimate_number_format_description\": \"Customize how your estimate number gets generated automatically when you create a new estimate.\",\n        \"preview_estimate_number\": \"Preview Estimate Number\",\n        \"expiry_date\": \"Expiry Date\",\n        \"expiry_date_description\": \"Specify how expiry date is automatically set when you create an estimate.\",\n        \"expiry_date_days\": \"Estimate Expires after days\",\n        \"set_expiry_date_automatically\": \"Set Expiry Date Automatically\",\n        \"set_expiry_date_automatically_description\": \"Enable this if you wish to set expiry date automatically when you create a new estimate.\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on estimate creation.\",\n        \"default_estimate_email_body\": \"Standardtext för kostnadsförslag\",\n        \"company_address_format\": \"Formatering av företagsadress\",\n        \"shipping_address_format\": \"Formatering av leveransadress\",\n        \"billing_address_format\": \"Formatering av fakturaadress\",\n        \"estimate_email_attachment\": \"Send estimates as attachments\",\n        \"estimate_email_attachment_setting_description\": \"Aktivera detta om du vill skicka offerterna som en e-postbilaga. Observera att knappen \\\"Visa offert\\\" i e-post inte längre kommer att visas när den är aktiverad.\",\n        \"estimate_settings_updated\": \"Estimate Settings updated successfully\",\n        \"convert_estimate_options\": \"Estimate Convert Action\",\n        \"convert_estimate_description\": \"Specify what happens to the estimate after it gets converted to an invoice.\",\n        \"no_action\": \"No action\",\n        \"delete_estimate\": \"Delete estimate\",\n        \"mark_estimate_as_accepted\": \"Mark estimate as accepted\"\n      },\n      \"payments\": {\n        \"title\": \"Betalningar\",\n        \"payment_number_format\": \"Payment Number Format\",\n        \"payment_number_format_description\": \"Customize how your payment number gets generated automatically when you create a new payment.\",\n        \"preview_payment_number\": \"Preview Payment Number\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on payment creation.\",\n        \"default_payment_email_body\": \"Standardtext för betalningar\",\n        \"company_address_format\": \"Format för företagsadress\",\n        \"from_customer_address_format\": \"Format för kundens från-adress\",\n        \"payment_email_attachment\": \"Skicka betalningar som bilagor\",\n        \"payment_email_attachment_setting_description\": \"Aktivera detta om du vill skicka betalningskvitton som en e-postbilaga. Observera att knappen \\\"Visa betalning\\\" i e-post inte längre kommer att visas när den är aktiverad.\",\n        \"payment_settings_updated\": \"Payment Settings updated successfully\"\n      },\n      \"items\": {\n        \"title\": \"Artiklar\",\n        \"units\": \"Enheter\",\n        \"add_item_unit\": \"Lägg till artikelenhet\",\n        \"edit_item_unit\": \"Editera artikelenhet\",\n        \"unit_name\": \"Enhets namn\",\n        \"item_unit_added\": \"Artikelenhet tillagd\",\n        \"item_unit_updated\": \"Artikelenhet uppdaterad\",\n        \"item_unit_confirm_delete\": \"Du kommer inte kunna återställa denna artikelenhet\",\n        \"already_in_use\": \"Artikelenhet används\",\n        \"deleted_message\": \"Artikelenhet raderades\"\n      },\n      \"notes\": {\n        \"title\": \"Noteringar\",\n        \"description\": \"Spara tid genom att skapa noteringar som kan återanvändas på fakturor, betalningsförslag, och betalningar.\",\n        \"notes\": \"Noteringar\",\n        \"type\": \"Typ\",\n        \"add_note\": \"Lägg till notering\",\n        \"add_new_note\": \"Lägg till ny notering\",\n        \"name\": \"Namn\",\n        \"edit_note\": \"Editera notering\",\n        \"note_added\": \"Notering skapades\",\n        \"note_updated\": \"Notering uppdaterades\",\n        \"note_confirm_delete\": \"Du kommer inte kunna återställa denna notering\",\n        \"already_in_use\": \"Notering används\",\n        \"deleted_message\": \"Notering raderades\"\n      }\n    },\n    \"account_settings\": {\n      \"profile_picture\": \"Profilbild\",\n      \"name\": \"Namn\",\n      \"email\": \"Epost\",\n      \"password\": \"Lösenord\",\n      \"confirm_password\": \"Bekräfta lösenord\",\n      \"account_settings\": \"Kontoinställningar\",\n      \"save\": \"Spara\",\n      \"section_description\": \"Du kan uppdatera namn, epost och lösenord med hjälp av formuläret nedan.\",\n      \"updated_message\": \"Kontoinställningar uppdaterades\"\n    },\n    \"user_profile\": {\n      \"name\": \"Namn\",\n      \"email\": \"Epost\",\n      \"password\": \"Lösenord\",\n      \"confirm_password\": \"Bekräfta lösenord\"\n    },\n    \"notification\": {\n      \"title\": \"Notifieringar\",\n      \"email\": \"Skicka notifiering till\",\n      \"description\": \"Vilka notifieringar vill du ha via epost när något ändras?\",\n      \"invoice_viewed\": \"Faktura kollad\",\n      \"invoice_viewed_desc\": \"När din kund kollar fakturan via craters översikt.\",\n      \"estimate_viewed\": \"Betalförslag kollad\",\n      \"estimate_viewed_desc\": \"När din kund kollar betalförslag via craters översikt.\",\n      \"save\": \"Spara\",\n      \"email_save_message\": \"Epost sparades\",\n      \"please_enter_email\": \"Skriv in epostadress\"\n    },\n    \"roles\": {\n      \"title\": \"Roles\",\n      \"description\": \"Manage the roles & permissions of this company\",\n      \"save\": \"Save\",\n      \"add_new_role\": \"Add New Role\",\n      \"role_name\": \"Role Name\",\n      \"added_on\": \"Added on\",\n      \"add_role\": \"Add Role\",\n      \"edit_role\": \"Edit Role\",\n      \"name\": \"Name\",\n      \"permission\": \"Permission | Permissions\",\n      \"select_all\": \"Select All\",\n      \"none\": \"None\",\n      \"confirm_delete\": \"You will not be able to recover this Role\",\n      \"created_message\": \"Role created successfully\",\n      \"updated_message\": \"Role updated successfully\",\n      \"deleted_message\": \"Role deleted successfully\",\n      \"already_in_use\": \"Role is already in use\"\n    },\n    \"exchange_rate\": {\n      \"exchange_rate\": \"Exchange Rate\",\n      \"title\": \"Fix Currency Exchange issues\",\n      \"description\": \"Please enter exchange rate of all the currencies mentioned below to help Crater properly calculate the amounts in {currency}.\",\n      \"drivers\": \"Drivers\",\n      \"new_driver\": \"Add New Provider\",\n      \"edit_driver\": \"Edit Provider\",\n      \"select_driver\": \"Select Driver\",\n      \"update\": \"select exchange rate \",\n      \"providers_description\": \"Configure your exchange rate providers here to automatically fetch the latest exchange rate on transactions.\",\n      \"key\": \"API Key\",\n      \"name\": \"Name\",\n      \"driver\": \"Driver\",\n      \"is_default\": \"IS DEFAULT\",\n      \"currency\": \"Currencies\",\n      \"exchange_rate_confirm_delete\": \"You will not be able to recover this driver\",\n      \"created_message\": \"Provider Created successfully\",\n      \"updated_message\": \"Provider Updated Successfully\",\n      \"deleted_message\": \"Provider Deleted Successfully\",\n      \"error\": \" You cannot Delete Active Driver\",\n      \"default_currency_error\": \"This currency is already used in one of the Active Provider\",\n      \"exchange_help_text\": \"Enter exchange rate to convert from {currency} to {baseCurrency}\",\n      \"currency_freak\": \"Currency Freak\",\n      \"currency_layer\": \"Currency Layer\",\n      \"open_exchange_rate\": \"Open Exchange Rate\",\n      \"currency_converter\": \"Currency Converter\",\n      \"server\": \"Server\",\n      \"url\": \"URL\",\n      \"active\": \"Active\",\n      \"currency_help_text\": \"This provider will only be used on above selected currencies\",\n      \"currency_in_used\": \"The following currencies are already active on another provider. Please remove these currencies from selection to activate this provider again.\"\n    },\n    \"tax_types\": {\n      \"title\": \"Momssatser\",\n      \"add_tax\": \"Lägg till moms\",\n      \"edit_tax\": \"Ändra moms\",\n      \"description\": \"Du kan lägga till och ta bort momssatser som du vill. Crater har stöd för moms per artikel men även per faktura.\",\n      \"add_new_tax\": \"Lägg till ny momssats\",\n      \"tax_settings\": \"Momssattsinställningar\",\n      \"tax_per_item\": \"Moms per artikel\",\n      \"tax_name\": \"Namn\",\n      \"compound_tax\": \"Sammansatt moms\",\n      \"percent\": \"Procent\",\n      \"action\": \"Handling\",\n      \"tax_setting_description\": \"Aktivera detta om du vill lägga till momssats på individuella fakturaartiklar. Som standard sätts moms direkt på fakturan.\",\n      \"created_message\": \"Momssats skapades\",\n      \"updated_message\": \"Momssats uppdaterades\",\n      \"deleted_message\": \"Momssats raderades\",\n      \"confirm_delete\": \"Du kommer inte kunna återställa denna Momssats\",\n      \"already_in_use\": \"Momssats används\"\n    },\n    \"payment_modes\": {\n      \"title\": \"Payment Modes\",\n      \"description\": \"Modes of transaction for payments\",\n      \"add_payment_mode\": \"Add Payment Mode\",\n      \"edit_payment_mode\": \"Edit Payment Mode\",\n      \"mode_name\": \"Mode Name\",\n      \"payment_mode_added\": \"Payment Mode Added\",\n      \"payment_mode_updated\": \"Payment Mode Updated\",\n      \"payment_mode_confirm_delete\": \"You will not be able to recover this Payment Mode\",\n      \"payments_attached\": \"This payment method is already attached to payments. Please delete the attached payments to proceed with deletion.\",\n      \"expenses_attached\": \"This payment method is already attached to expenses. Please delete the attached expenses to proceed with deletion.\",\n      \"deleted_message\": \"Payment Mode deleted successfully\"\n    },\n    \"expense_category\": {\n      \"title\": \"Kategorier för utgifter\",\n      \"action\": \"Handling\",\n      \"description\": \"Kategorier krävs för att lägga till utgifter. Du kan lägga till och ta bort dessa kategorier som du vill\",\n      \"add_new_category\": \"Lägg till ny kategori\",\n      \"add_category\": \"Lägg till kategori\",\n      \"edit_category\": \"Ändra kategori\",\n      \"category_name\": \"Kategorinamn\",\n      \"category_description\": \"Beskrivning\",\n      \"created_message\": \"Utgiftskategori skapades\",\n      \"deleted_message\": \"Utgiftskategori raderades\",\n      \"updated_message\": \"Utgiftskategori uppdaterades\",\n      \"confirm_delete\": \"Du kommer inte kunna återställa denna utgiftskategori\",\n      \"already_in_use\": \"Kategorin används\"\n    },\n    \"preferences\": {\n      \"currency\": \"Valuta\",\n      \"default_language\": \"Standardspråk\",\n      \"time_zone\": \"Tidszon\",\n      \"fiscal_year\": \"Räkenskapsår\",\n      \"date_format\": \"Datumformattering\",\n      \"discount_setting\": \"Rabattinställningar\",\n      \"discount_per_item\": \"Rabatt per artikel \",\n      \"discount_setting_description\": \"Aktivera detta om du vill kunna lägga rabatt på enskilda fakturaartiklar. Rabatt ges som standard på hela fakturan.\",\n      \"expire_public_links\": \"Automatically Expire Public Links\",\n      \"expire_setting_description\": \"Specify whether you would like to expire all the links sent by application to view invoices, estimates & payments, etc after a specified duration.\",\n      \"save\": \"Spara\",\n      \"preference\": \"Preferens | Preferenser\",\n      \"general_settings\": \"Standardpreferenser för systemet.\",\n      \"updated_message\": \"Preferenser uppdaterades\",\n      \"select_language\": \"Välj språk\",\n      \"select_time_zone\": \"Välj tidszon\",\n      \"select_date_format\": \"Välj datumformat\",\n      \"select_financial_year\": \"Välj räkenskapsår\",\n      \"recurring_invoice_status\": \"Recurring Invoice Status\",\n      \"create_status\": \"Create Status\",\n      \"active\": \"Active\",\n      \"on_hold\": \"On Hold\",\n      \"update_status\": \"Update Status\",\n      \"completed\": \"Completed\",\n      \"company_currency_unchangeable\": \"Company currency cannot be changed\"\n    },\n    \"update_app\": {\n      \"title\": \"Uppdatera applikationen\",\n      \"description\": \"Du kan enkelt uppdatera Crater genom att söka efter uppdateringar via knappen nedan\",\n      \"check_update\": \"Sök efter uppdateringar\",\n      \"avail_update\": \"Uppdatering är tillgänglig\",\n      \"next_version\": \"Nästa version\",\n      \"requirements\": \"Krav\",\n      \"update\": \"Uppdatera nu\",\n      \"update_progress\": \"Uppdaterar...\",\n      \"progress_text\": \"Det kommer bara ta några minuter. Stäng eller uppdatera inte webläsaren förrän uppdateringen är färdig.\",\n      \"update_success\": \"Applikationen har uppdaterats! Vänta så kommer fönstret laddas om automatiskt..\",\n      \"latest_message\": \"Ingen uppdatering tillgänglig! Du har den senaste versionen.\",\n      \"current_version\": \"Nuvarande version\",\n      \"download_zip_file\": \"Ladda ner ZIP-fil\",\n      \"unzipping_package\": \"Zippar upp paket\",\n      \"copying_files\": \"Kopierar filer\",\n      \"deleting_files\": \"Tar bort oanvända filer\",\n      \"running_migrations\": \"Kör migreringar\",\n      \"finishing_update\": \"Avslutar uppdateringen\",\n      \"update_failed\": \"Uppdatering misslyckades\",\n      \"update_failed_text\": \"Uppdateringen misslyckades på steg : {step} step\",\n      \"update_warning\": \"All of the application files and default template files will be overwritten when you update the application using this utility. Please take a backup of your templates & database before updating.\"\n    },\n    \"backup\": {\n      \"title\": \"Säkerhetskopiering | Säkerhetskopieringar\",\n      \"description\": \"Säkerhetskopian är en zip-fil som innehåller alla filer i katalogerna du väljer samt en kopia av databasen\",\n      \"new_backup\": \"Skapa ny säkerhetskopia\",\n      \"create_backup\": \"Skapa säkerhetskopia\",\n      \"select_backup_type\": \"Välj typ av säkerhetskopia\",\n      \"backup_confirm_delete\": \"Du kommer inte kunna återställa denna säkerhetskopia\",\n      \"path\": \"sökväg\",\n      \"new_disk\": \"Ny disk\",\n      \"created_at\": \"skapad den\",\n      \"size\": \"storlek\",\n      \"dropbox\": \"dropbox\",\n      \"local\": \"lokal\",\n      \"healthy\": \"hälsosam\",\n      \"amount_of_backups\": \"antal säkerhetskopior\",\n      \"newest_backups\": \"senaste säkerhetskopiorna\",\n      \"used_storage\": \"använt utrymme\",\n      \"select_disk\": \"Välj disk\",\n      \"action\": \"Handling\",\n      \"deleted_message\": \"Säkerhetskopia raderad\",\n      \"created_message\": \"Säkerhetskopia skapades\",\n      \"invalid_disk_credentials\": \"Ogiltiga autentiseringsuppgifter för den valda disken\"\n    },\n    \"disk\": {\n      \"title\": \"Lagring | Lagringar\",\n      \"description\": \"Crater använder din lokala disk som standard för att spara säkerhetskopior, avatarer och andra bildfiler. Du kan ställa in fler lagringsenheter såsom DigitalOcean, S3 och Dropbox beroende av ditt behov.\",\n      \"created_at\": \"skapad den\",\n      \"dropbox\": \"dropbox\",\n      \"name\": \"Namn\",\n      \"driver\": \"Plats\",\n      \"disk_type\": \"Typ\",\n      \"disk_name\": \"Lagringsenhetsnamn\",\n      \"new_disk\": \"Lägg till ny lagringsenhet\",\n      \"filesystem_driver\": \"Enhetsplats\",\n      \"local_driver\": \"Lokal enhet\",\n      \"local_root\": \"Sökväg på lokal enhet\",\n      \"public_driver\": \"Offentlig drivrutin\",\n      \"public_root\": \"Offentlig rot\",\n      \"public_url\": \"Offentlig URL\",\n      \"public_visibility\": \"Offentlig synlighet\",\n      \"media_driver\": \"Mediaenhet\",\n      \"media_root\": \"Media Root\",\n      \"aws_driver\": \"AWS\",\n      \"aws_key\": \"Nyckel\",\n      \"aws_secret\": \"Lösenord\",\n      \"aws_region\": \"Region\",\n      \"aws_bucket\": \"Bucket\",\n      \"aws_root\": \"Sökväg\",\n      \"do_spaces_type\": \"Do Spaces type\",\n      \"do_spaces_key\": \"Nyckel\",\n      \"do_spaces_secret\": \"Lösenord\",\n      \"do_spaces_region\": \"Region\",\n      \"do_spaces_bucket\": \"Bucket\",\n      \"do_spaces_endpoint\": \"Endpoint\",\n      \"do_spaces_root\": \"Sökväg\",\n      \"dropbox_type\": \"Typ\",\n      \"dropbox_token\": \"Token\",\n      \"dropbox_key\": \"Nyckel\",\n      \"dropbox_secret\": \"Lösenord\",\n      \"dropbox_app\": \"App\",\n      \"dropbox_root\": \"Sökväg\",\n      \"default_driver\": \"Standard\",\n      \"is_default\": \"Är standard\",\n      \"set_default_disk\": \"Välj som standard\",\n      \"set_default_disk_confirm\": \"Denna disk kommer bli standard och alla nya PFDer blir sparade här\",\n      \"success_set_default_disk\": \"Disk vald som standard\",\n      \"save_pdf_to_disk\": \"Spara PDFer till disk\",\n      \"disk_setting_description\": \"Aktivera detta om du vill ha en kopia av varje faktura, kostnadsförslag, och betalningskvitto som PDF på din standard disk automatiskt.Aktiverar du denna funktion så kommer laddtiderna för visning av PDFer minskas.\",\n      \"select_disk\": \"Välj Disk\",\n      \"disk_settings\": \"Diskinställningar\",\n      \"confirm_delete\": \"Dina existerande filer och kataloger på den valda disken kommer inte påverkas men inställningarna för disken raderas från Crater\",\n      \"action\": \"Handling\",\n      \"edit_file_disk\": \"Ändra disk\",\n      \"success_create\": \"Disk skapades\",\n      \"success_update\": \"Disk uppdaterades\",\n      \"error\": \"Fel vid skapande av disk\",\n      \"deleted_message\": \"Disk raderades\",\n      \"disk_variables_save_successfully\": \"Diskinställningar sparades\",\n      \"disk_variables_save_error\": \"Något gick fel vid sparning av diskinställningar\",\n      \"invalid_disk_credentials\": \"Felaktiga uppgifter vid val av disk\"\n    },\n    \"taxations\": {\n      \"add_billing_address\": \"Enter Billing Address\",\n      \"add_shipping_address\": \"Enter Shipping Address\",\n      \"add_company_address\": \"Enter Company Address\",\n      \"modal_description\": \"The information below is required in order to fetch sales tax.\",\n      \"add_address\": \"Add Address for fetching sales tax.\",\n      \"address_placeholder\": \"Example: 123, My Street\",\n      \"city_placeholder\": \"Example: Los Angeles\",\n      \"state_placeholder\": \"Example: CA\",\n      \"zip_placeholder\": \"Example: 90024\",\n      \"invalid_address\": \"Please provide valid address details.\"\n    }\n  },\n  \"wizard\": {\n    \"account_info\": \"Kontoinformation\",\n    \"account_info_desc\": \"Nedan detaljer används för att skapa huvudadministratörskonto. Du kan ändra detta i efterhand.\",\n    \"name\": \"Namn\",\n    \"email\": \"Epost\",\n    \"password\": \"Lösenord\",\n    \"confirm_password\": \"Bekräfta lösenord\",\n    \"save_cont\": \"Spara och fortsätt\",\n    \"company_info\": \"Företagsinformation\",\n    \"company_info_desc\": \"Denna information visas på fakturor. Du kan ändra detta i efterhand på sidan för inställningar.\",\n    \"company_name\": \"Företagsnamn\",\n    \"company_logo\": \"Företagslogga\",\n    \"logo_preview\": \"Förhandsvisning av logga\",\n    \"preferences\": \"Inställningar\",\n    \"preferences_desc\": \"Standardinställningar för systemet.\",\n    \"currency_set_alert\": \"The company's currency cannot be changed later.\",\n    \"country\": \"Land\",\n    \"state\": \"Kommun\",\n    \"city\": \"Stad\",\n    \"address\": \"Adress\",\n    \"street\": \"Gatuadress1 | Gatuadress2\",\n    \"phone\": \"Telefon\",\n    \"zip_code\": \"Postnr\",\n    \"go_back\": \"Tillbaka\",\n    \"currency\": \"Valuta\",\n    \"language\": \"Språk\",\n    \"time_zone\": \"Tidszon\",\n    \"fiscal_year\": \"Räkenskapsår\",\n    \"date_format\": \"Datumformat\",\n    \"from_address\": \"Från adress\",\n    \"username\": \"Användarnamn\",\n    \"next\": \"Nästa\",\n    \"continue\": \"Fortsätt\",\n    \"skip\": \"Hoppa över\",\n    \"database\": {\n      \"database\": \"Sidans URL & Databas\",\n      \"connection\": \"Databasanslutning\",\n      \"host\": \"Värdadress till databasen\",\n      \"port\": \"Port till databasen\",\n      \"password\": \"Lösenord till databasen\",\n      \"app_url\": \"Appens URL\",\n      \"app_domain\": \"Appens Domän\",\n      \"username\": \"Användarnamn till databasen\",\n      \"db_name\": \"Databasens namn\",\n      \"db_path\": \"Databasens sökväg\",\n      \"desc\": \"Skapa en database på din server och ställ in autentiseringsuppgifter i formuläret nedan.\"\n    },\n    \"permissions\": {\n      \"permissions\": \"Behörigheter\",\n      \"permission_confirm_title\": \"Är du säker på att du vill fortsätta?\",\n      \"permission_confirm_desc\": \"Fel behörigheter vid kontroll på katalogen\",\n      \"permission_desc\": \"Nedan är en lista på katalogrättigheter som krävs för att denna app ska fungera. Om behörighetskontrollen misslyckas, uppdatera behörigheterna för katalogerna.\"\n    },\n    \"verify_domain\": {\n      \"title\": \"Domain Verification\",\n      \"desc\": \"Crater uses Session based authentication which requires domain verification for security purposes. Please enter the domain on which you will be accessing your web application.\",\n      \"app_domain\": \"App Domain\",\n      \"verify_now\": \"Verify Now\",\n      \"success\": \"Domain Verify Successfully.\",\n      \"failed\": \"Domain verification failed. Please enter valid domain name.\",\n      \"verify_and_continue\": \"Verify And Continue\"\n    },\n    \"mail\": {\n      \"host\": \"Värdadress till epost\",\n      \"port\": \"Port till epost\",\n      \"driver\": \"Typ\",\n      \"secret\": \"Hemlighet\",\n      \"mailgun_secret\": \"Hemlighet\",\n      \"mailgun_domain\": \"Domän\",\n      \"mailgun_endpoint\": \"Endpoint\",\n      \"ses_secret\": \"Hemlighet\",\n      \"ses_key\": \"Nyckel\",\n      \"password\": \"Lösenord\",\n      \"username\": \"Användarnamn\",\n      \"mail_config\": \"Epostinställningar\",\n      \"from_name\": \"Namn som står vid utgående epost\",\n      \"from_mail\": \"Epostadress som används som returadress vid utgående epost\",\n      \"encryption\": \"Epostkryptering\",\n      \"mail_config_desc\": \"Nedan formulär används för att konfigurera vilket sätt som ska användar för att skicka epost. Du kan också använda tredjepartsleverantör som Sendgrid, SES o.s.v.\"\n    },\n    \"req\": {\n      \"system_req\": \"Systemkrav\",\n      \"php_req_version\": \"Php (version {version} krävs)\",\n      \"check_req\": \"Kontrollera krav\",\n      \"system_req_desc\": \"Crater har några krav på din server. Kontrollera att din server har den nödvändiga versionen av PHP och alla tillägg som nämns nedan.\"\n    },\n    \"errors\": {\n      \"migrate_failed\": \"Migration misslyckades\",\n      \"database_variables_save_error\": \"Kan inte skriva till .env-filen. Kontrollera dina behörigheter till filen\",\n      \"mail_variables_save_error\": \"Epostinställningar misslyckades.\",\n      \"connection_failed\": \"Databasanslutning misslyckades\",\n      \"database_should_be_empty\": \"Databasen måste vara tom\"\n    },\n    \"success\": {\n      \"mail_variables_save_successfully\": \"Epostinställningar sparades.\",\n      \"database_variables_save_successfully\": \"Databasinställningar sparades.\"\n    }\n  },\n  \"validation\": {\n    \"invalid_phone\": \"Felaktigt telefonnummer\",\n    \"invalid_url\": \"Felaktig url (ex: http://www.crater.com)\",\n    \"invalid_domain_url\": \"Felaktig url (ex: crater.com)\",\n    \"required\": \"Fältet är tvingande\",\n    \"email_incorrect\": \"Felaktig epostadress.\",\n    \"email_already_taken\": \"Denna epostadress finns redan.\",\n    \"email_does_not_exist\": \"Användare med den epostadressen finns inte\",\n    \"item_unit_already_taken\": \"Detta artikelenhetsnamn finns redan\",\n    \"payment_mode_already_taken\": \"Betalningsmetodsnamnet finns redan\",\n    \"send_reset_link\": \"Skicka länk för återställning\",\n    \"not_yet\": \"Inte än? Skicka igen\",\n    \"password_min_length\": \"Lösenordet måste innehålla {count} tecken\",\n    \"name_min_length\": \"Namn måste ha minst {count} bokstäver.\",\n    \"prefix_min_length\": \"Prefix must have at least {count} letters.\",\n    \"enter_valid_tax_rate\": \"Skriv in tillåten momssats\",\n    \"numbers_only\": \"Endast siffror.\",\n    \"characters_only\": \"Endast bokstäver.\",\n    \"password_incorrect\": \"Lösenorden måste överensstämma\",\n    \"password_length\": \"Lösenordet måste vara minst {count} tecken.\",\n    \"qty_must_greater_than_zero\": \"Antal måste vara större än noll.\",\n    \"price_greater_than_zero\": \"Pris måste vara större än noll.\",\n    \"payment_greater_than_zero\": \"Betalningen måste vara större än   noll.\",\n    \"payment_greater_than_due_amount\": \"Inslagen betalning är större än summan på denna faktura.\",\n    \"quantity_maxlength\": \"Antal kan inte vara större än 20 siffror.\",\n    \"price_maxlength\": \"Pris kan inte vara större än 20 siffror.\",\n    \"price_minvalue\": \"Pris måste vara större än 0.\",\n    \"amount_maxlength\": \"Belopp kan inte vara större än 20 siffror.\",\n    \"amount_minvalue\": \"Belopp måste vara större än 9.\",\n    \"discount_maxlength\": \"Discount should not be greater than max discount\",\n    \"description_maxlength\": \"Beskrivning får inte innehålla fler än 255 tecken.\",\n    \"subject_maxlength\": \"Ämne får inte innehålla fler än 100 tecken.\",\n    \"message_maxlength\": \"Meddelande får inte innehålla fler än 255 tecken.\",\n    \"maximum_options_error\": \"Högst {max} val. Ta bort ett val för att kunna lägga till ett annat.\",\n    \"notes_maxlength\": \"Noteringar kan inte vara större än 255 tecken.\",\n    \"address_maxlength\": \"Adress kan inte vara större än 255 tecken.\",\n    \"ref_number_maxlength\": \"Referensnummer kan inte vara större än 255 tecken.\",\n    \"prefix_maxlength\": \"Prefix kan inte vara större än 5 tecken.\",\n    \"something_went_wrong\": \"något blev fel\",\n    \"number_length_minvalue\": \"Number length should be greater than 0\",\n    \"at_least_one_ability\": \"Please select atleast one Permission.\",\n    \"valid_driver_key\": \"Please enter a valid {driver} key.\",\n    \"valid_exchange_rate\": \"Please enter a valid exchange rate.\",\n    \"company_name_not_same\": \"Company name must match with given name.\"\n  },\n  \"errors\": {\n    \"starter_plan\": \"This feature is available on Starter plan and onwards!\",\n    \"invalid_provider_key\": \"Please Enter Valid Provider API Key.\",\n    \"estimate_number_used\": \"The estimate number has already been taken.\",\n    \"invoice_number_used\": \"The invoice number has already been taken.\",\n    \"payment_attached\": \"This invoice already has a payment attached to it. Make sure to delete the attached payments first in order to go ahead with the removal.\",\n    \"payment_number_used\": \"The payment number has already been taken.\",\n    \"name_already_taken\": \"The name has already been taken.\",\n    \"receipt_does_not_exist\": \"Receipt does not exist.\",\n    \"customer_cannot_be_changed_after_payment_is_added\": \"Customer cannot be change after payment is added\",\n    \"invalid_credentials\": \"Invalid  Credentials.\",\n    \"not_allowed\": \"Not Allowed\",\n    \"login_invalid_credentials\": \"These credentials do not match our records.\",\n    \"enter_valid_cron_format\": \"Please enter a valid cron format\",\n    \"email_could_not_be_sent\": \"Email could not be sent to this email address.\",\n    \"invalid_address\": \"Please enter a valid address.\",\n    \"invalid_key\": \"Please enter valid key.\",\n    \"invalid_state\": \"Please enter a valid state.\",\n    \"invalid_city\": \"Please enter a valid city.\",\n    \"invalid_postal_code\": \"Please enter a valid zip.\",\n    \"invalid_format\": \"Please enter valid query string format.\",\n    \"api_error\": \"Server not responding.\",\n    \"feature_not_enabled\": \"Feature not enabled.\",\n    \"request_limit_met\": \"Api request limit exceeded.\",\n    \"address_incomplete\": \"Incomplete Address\"\n  },\n  \"pdf_estimate_label\": \"Kostnadsförslag\",\n  \"pdf_estimate_number\": \"Kostnadsförslagsnummer\",\n  \"pdf_estimate_date\": \"Kostnadsförslagsdatum\",\n  \"pdf_estimate_expire_date\": \"Utgångsdatum\",\n  \"pdf_invoice_label\": \"Faktura\",\n  \"pdf_invoice_number\": \"Fakturanummer\",\n  \"pdf_invoice_date\": \"Fakturadatum\",\n  \"pdf_invoice_due_date\": \"Inbetalningsdatum\",\n  \"pdf_notes\": \"Noteringar\",\n  \"pdf_items_label\": \"Artiklar\",\n  \"pdf_quantity_label\": \"Antal\",\n  \"pdf_price_label\": \"Kostnad\",\n  \"pdf_discount_label\": \"Rabatt\",\n  \"pdf_amount_label\": \"Belopp\",\n  \"pdf_subtotal\": \"Delsumma\",\n  \"pdf_total\": \"Summa\",\n  \"pdf_payment_label\": \"Payment\",\n  \"pdf_payment_receipt_label\": \"Betalningskvitto\",\n  \"pdf_payment_date\": \"Betalningsdatum\",\n  \"pdf_payment_number\": \"Betalningsnummer\",\n  \"pdf_payment_mode\": \"Betalningstyp\",\n  \"pdf_payment_amount_received_label\": \"Belopp mottaget\",\n  \"pdf_expense_report_label\": \"Kostnadsrapport\",\n  \"pdf_total_expenses_label\": \"Totalkostnad\",\n  \"pdf_profit_loss_label\": \"Resultat- och förlustrapport\",\n  \"pdf_sales_customers_label\": \"Sales Customer Report\",\n  \"pdf_sales_items_label\": \"Sales Item Report\",\n  \"pdf_tax_summery_label\": \"Tax Summary Report\",\n  \"pdf_income_label\": \"Inkomst\",\n  \"pdf_net_profit_label\": \"Nettoförtjänst\",\n  \"pdf_customer_sales_report\": \"Försäljningsrapport: Per kund\",\n  \"pdf_total_sales_label\": \"SUMMA FÖRSÄLJNINGAR\",\n  \"pdf_item_sales_label\": \"Försäljningsrapport: Per artikel\",\n  \"pdf_tax_report_label\": \"Momsrapport\",\n  \"pdf_total_tax_label\": \"SUMMA MOMS\",\n  \"pdf_tax_types_label\": \"Momssatser\",\n  \"pdf_expenses_label\": \"Utgifter\",\n  \"pdf_bill_to\": \"Faktureras till,\",\n  \"pdf_ship_to\": \"Skickas till,\",\n  \"pdf_received_from\": \"Från:\",\n  \"pdf_tax_label\": \"Tax\"\n}\n"
  },
  {
    "path": "resources/scripts/locales/th.json",
    "content": "{\n  \"navigation\": {\n    \"dashboard\": \"แดชบอร์ด\",\n    \"customers\": \"ลูกค้า\",\n    \"items\": \"บริการ\",\n    \"invoices\": \"ใบวางบิล\",\n    \"recurring-invoices\": \"ใบวางบิลประจำ\",\n    \"expenses\": \"ค่าใช้จ่าย\",\n    \"estimates\": \"ใบเสนอราคา\",\n    \"payments\": \"การชำระเงิน\",\n    \"reports\": \"รายงาน\",\n    \"settings\": \"การตั้งค่า\",\n    \"logout\": \"ออกจากระบบ\",\n    \"users\": \"ผู้ใช้งาน\",\n    \"modules\": \"โมดูล\"\n  },\n  \"general\": {\n    \"add_company\": \"เพิ่มบริษัท\",\n    \"view_pdf\": \"ดูไฟล์ PDF\",\n    \"copy_pdf_url\": \"คัดลอก URL PDF\",\n    \"download_pdf\": \"ดาวน์โหลดไฟล์ PDF\",\n    \"save\": \"บันทึก\",\n    \"create\": \"สร้าง\",\n    \"cancel\": \"ยกเลิก\",\n    \"update\": \"อัพเดต\",\n    \"deselect\": \"ยกเลิกการเลือก\",\n    \"download\": \"ดาวน์โหลด\",\n    \"from_date\": \"จากวันที่\",\n    \"to_date\": \"ถึงวันที่\",\n    \"from\": \"จาก\",\n    \"to\": \"ถึง\",\n    \"ok\": \"ตกลง\",\n    \"yes\": \"ใช่\",\n    \"no\": \"ไม่\",\n    \"sort_by\": \"เรียงตาม\",\n    \"ascending\": \"จากน้อยไปมาก\",\n    \"descending\": \"จากมากไปน้อย\",\n    \"subject\": \"เรื่อง\",\n    \"body\": \"บอดี้\",\n    \"message\": \"ข้อความ\",\n    \"send\": \"ส่ง\",\n    \"preview\": \"ดูตัวอย่าง\",\n    \"go_back\": \"กลับไป\",\n    \"back_to_login\": \"กลับไปที่ล็อกอิน?\",\n    \"home\": \"หน้าหลัก\",\n    \"filter\": \"กรอง\",\n    \"delete\": \"ลบ\",\n    \"edit\": \"แก้ไข\",\n    \"view\": \"ดู\",\n    \"add_new_item\": \"เพิ่มรายการใหม่\",\n    \"clear_all\": \"ล้างทั้งหมด\",\n    \"showing\": \"การแสดง\",\n    \"of\": \"ของ\",\n    \"actions\": \"จัดการ\",\n    \"subtotal\": \"รวมเงิน\",\n    \"discount\": \"ส่วนลด\",\n    \"fixed\": \"คงที่\",\n    \"percentage\": \"เปอร์เซ็นต์\",\n    \"tax\": \"ภาษี\",\n    \"total_amount\": \"จำนวนเงินทั้งหมด\",\n    \"bill_to\": \"ที่อยู่เรียกเก็บเงิน\",\n    \"ship_to\": \"ที่อยู่สำหรับจัดส่ง\",\n    \"due\": \"ครบกำหนด\",\n    \"draft\": \"แบบร่าง\",\n    \"sent\": \"ส่งแล้ว\",\n    \"all\": \"ทั้งหมด\",\n    \"select_all\": \"เลือกทั้งหมด\",\n    \"select_template\": \"เลือกเทมเพลต\",\n    \"choose_file\": \"คลิกที่นี่เพื่อเลือกไฟล์\",\n    \"choose_template\": \"เลือกแม่แบบ\",\n    \"choose\": \"เลือก\",\n    \"remove\": \"ลบออก\",\n    \"select_a_status\": \"เลือกสถานะ\",\n    \"select_a_tax\": \"เลือกภาษี\",\n    \"search\": \"ค้นหา\",\n    \"are_you_sure\": \"คุณแน่ใจนะ\",\n    \"list_is_empty\": \"รายการว่างเปล่า\",\n    \"no_tax_found\": \"ไม่พบภาษี!\",\n    \"four_zero_four\": \"404\",\n    \"you_got_lost\": \"วู้๊ปส์!คุณหลงทาง!\",\n    \"go_home\": \"กลับบ้าน\",\n    \"test_mail_conf\": \"ทดสอบการตั้งค่าคอนฟิกจดหมาย\",\n    \"send_mail_successfully\": \"จดหมายที่ส่งเรียบร้อยแล้ว\",\n    \"setting_updated\": \"การตั้งค่าที่อัปเดตเรียบร้อยแล้ว\",\n    \"select_state\": \"เลือกสถานะ\",\n    \"select_country\": \"เลือกประเทศ\",\n    \"select_city\": \"เลือกจังหวัด\",\n    \"street_1\": \"ที่อยู่บรรทัด 1\",\n    \"street_2\": \"ที่อยู่บรรทัด  2\",\n    \"action_failed\": \"การดำเนินการล้มเหลว\",\n    \"retry\": \"ลองใหม่\",\n    \"choose_note\": \"เลือกหมายเหตุ\",\n    \"no_note_found\": \"ไม่พบหมายเหตุ\",\n    \"insert_note\": \"แทรกหมายเหตุ\",\n    \"copied_pdf_url_clipboard\": \"คัดลอกไฟล์ PDF URL ไปยังคลิปบอร์ด!\",\n    \"copied_url_clipboard\": \"คัดลอกURL ไปยังคลิปบอร์ด!\",\n    \"docs\": \"เอกสาร\",\n    \"do_you_wish_to_continue\": \"คุณต้องการที่จะดำเนินการต่อ?\",\n    \"note\": \"หมายเหตุ\",\n    \"pay_invoice\": \"ชำระใบวางบิล\",\n    \"login_successfully\": \"เข้าสู่ระบบเรียบร้อยแล้ว!\",\n    \"logged_out_successfully\": \"ออกจากระบบเรียบร้อยแล้ว\"\n  },\n  \"dashboard\": {\n    \"select_year\": \"เลือกปี\",\n    \"cards\": {\n      \"due_amount\": \"จำนวนเงินค้างชำระ\",\n      \"customers\": \"ลูกค้า\",\n      \"invoices\": \"ใบวางบิล\",\n      \"estimates\": \"ใบเสนอราคา\",\n      \"payments\": \"การชำระเงิน\"\n    },\n    \"chart_info\": {\n      \"total_sales\": \"การขาย\",\n      \"total_receipts\": \"ใบเสร็จรับเงิน\",\n      \"total_expense\": \"ค่าใช้จ่าย\",\n      \"net_income\": \"รายได้สุทธิ\",\n      \"year\": \"เลือกปี\"\n    },\n    \"monthly_chart\": {\n      \"title\": \"การขายและค่าใช้จ่าย\"\n    },\n    \"recent_invoices_card\": {\n      \"title\": \"ใบวางบิลครบกำหนด\",\n      \"due_on\": \"ครบกำหนดเปิด\",\n      \"customer\": \"ลูกค้า\",\n      \"amount_due\": \"จำนวนเงินค้างชำระ\",\n      \"actions\": \"จัดการ\",\n      \"view_all\": \"ดูทั้งหมด\"\n    },\n    \"recent_estimate_card\": {\n      \"title\": \"ใบเสนอราคาล่าสุด\",\n      \"date\": \"วันที่\",\n      \"customer\": \"ลูกค้า\",\n      \"amount_due\": \"จำนวนเงินค้างชำระ\",\n      \"actions\": \"จัดการ\",\n      \"view_all\": \"ดูทั้งหมด\"\n    }\n  },\n  \"tax_types\": {\n    \"name\": \"ชื่อ\",\n    \"description\": \"คำอธิบาย\",\n    \"percent\": \"เปอร์เซ็นต์\",\n    \"compound_tax\": \"ภาษีมูลค่าเพิ่ม\"\n  },\n  \"global_search\": {\n    \"search\": \"ค้นหา...\",\n    \"customers\": \"ลูกค้า\",\n    \"users\": \"ผู้ใช้งาน\",\n    \"no_results_found\": \"ไม่พบผลลัพธ์\"\n  },\n  \"company_switcher\": {\n    \"label\": \"บริษัทสลับ\",\n    \"no_results_found\": \"ไม่พบผลลัพธ์\",\n    \"add_new_company\": \"เพิ่มบริษัทใหม่\",\n    \"new_company\": \"บริษัทใหม่\",\n    \"created_message\": \"บริษัทสร้างสำเร็จ\"\n  },\n  \"dateRange\": {\n    \"today\": \"วันนี้\",\n    \"this_week\": \"สัปดาห์นี้\",\n    \"this_month\": \"เดือนนี้\",\n    \"this_quarter\": \"ไตรมาสนี้\",\n    \"this_year\": \"ปีนี้\",\n    \"previous_week\": \"สัปดาห์ก่อนหน้า\",\n    \"previous_month\": \"เดือนก่อนหน้า\",\n    \"previous_quarter\": \"ไตรมาสก่อนหน้า\",\n    \"previous_year\": \"ปีที่แล้ว\",\n    \"custom\": \"กำหนดเอง\"\n  },\n  \"customers\": {\n    \"title\": \"ลูกค้า\",\n    \"prefix\": \"Prefix\",\n    \"add_customer\": \"เพิ่มลูกค้า\",\n    \"contacts_list\": \"รายชื่อลูกค้า\",\n    \"name\": \"ชื่อ\",\n    \"mail\": \"จดหมาย | อีเมล\",\n    \"statement\": \"คำแถลง\",\n    \"display_name\": \"ชื่อที่แสดง\",\n    \"primary_contact_name\": \"ชื่อผู้ติดต่อหลัก\",\n    \"contact_name\": \"ชื่อผู้ติดต่อ\",\n    \"amount_due\": \"จำนวนเงินค้างชำระ\",\n    \"email\": \"อีเมล์\",\n    \"address\": \"ที่อยู่\",\n    \"phone\": \"โทรศัพท์\",\n    \"website\": \"เว็บไซต์\",\n    \"overview\": \"ภาพรวม\",\n    \"invoice_prefix\": \"Prefix ใบวางบิล\",\n    \"estimate_prefix\": \"Prefix ใบเสนอราคา\",\n    \"payment_prefix\": \"Prefix การชำระเงิน\",\n    \"enable_portal\": \"เปิดใช้พอร์ทัล\",\n    \"country\": \"ประเทศ\",\n    \"state\": \"เขต/อำเภอ\",\n    \"city\": \"จังหวัด\",\n    \"zip_code\": \"รหัสไปรษณีย์\",\n    \"added_on\": \"วันที่สร้าง\",\n    \"action\": \"จัดการ\",\n    \"password\": \"รหัสผ่าน\",\n    \"confirm_password\": \"ยืนยันรหัสผ่าน\",\n    \"street_number\": \"หมายเลขถนน\",\n    \"primary_currency\": \"สกุลเงินหลัก\",\n    \"description\": \"คำอธิบาย\",\n    \"add_new_customer\": \"เพิ่มลูกค้าใหม่\",\n    \"save_customer\": \"บันทึก\",\n    \"update_customer\": \"อัปเดต\",\n    \"customer\": \"ลูกค้า | ลูกค้า\",\n    \"new_customer\": \"ลูกค้าใหม่\",\n    \"edit_customer\": \"แก้ไขลูกค้า\",\n    \"basic_info\": \"ข้อมูลพื้นฐาน\",\n    \"portal_access\": \"การเข้าถึงพอร์ทัล\",\n    \"portal_access_text\": \"คุณต้องการอนุญาตให้ลูกค้ารายนี้เข้าสู่ระบบพอร์ทัลลูกค้าหรือไม่?\",\n    \"portal_access_url\": \"URL เข้าสู่ระบบพอร์ทัลลูกค้า\",\n    \"portal_access_url_help\": \"กรุณาคัดลอก และส่งต่อ URL ที่ระบุข้างต้นให้กับลูกค้าของคุณเพื่อให้การเข้าถึง\",\n    \"billing_address\": \"ที่อยู่เรียกเก็บเงิน\",\n    \"shipping_address\": \"ที่อยู่สำหรับจัดส่ง\",\n    \"copy_billing_address\": \"คัดลอกจากที่อยู่เรียกเก็บเงิน\",\n    \"no_customers\": \"ยังไม่มีลูกค้า!\",\n    \"no_customers_found\": \"ไม่พบลูกค้า!\",\n    \"no_contact\": \"ไม่มีผู้ติดต่อ\",\n    \"no_contact_name\": \"ไม่มีชื่อผู้ติดต่อ\",\n    \"list_of_customers\": \"ส่วนนี้จะประกอบด้วยรายชื่อลูกค้า\",\n    \"primary_display_name\": \"ชื่อที่แสดงหลัก\",\n    \"select_currency\": \"เลือกสกุลเงิน\",\n    \"select_a_customer\": \"เลือกลูกค้า\",\n    \"type_or_click\": \"พิมพ์หรือคลิกเพื่อเลือก\",\n    \"new_transaction\": \"ธุรกรรมใหม่\",\n    \"no_matching_customers\": \"ไม่มีลูกค้าที่ตรงกัน!\",\n    \"phone_number\": \"หมายเลขโทรศัพท์\",\n    \"create_date\": \"สร้างวันที่\",\n    \"confirm_delete\": \"คุณจะไม่สามารถกู้คืนลูกค้ารายนี้และใบวางบิลใบเสนอราคาและการชำระเงินที่เกี่ยวข้องทั้งหมด | คุณจะไม่สามารถกู้คืนลูกค้าเหล่านี้และใบวางบิลใบเสนอราคาและการชำระเงินที่เกี่ยวข้องทั้งหมด\",\n    \"created_message\": \"ลูกค้าสร้างเสร็จเรียบร้อยแล้ว\",\n    \"updated_message\": \"ลูกค้าได้รับการอัพเดตเรียบร้อยแล้ว\",\n    \"address_updated_message\": \"ข้อมูลที่อยู่ได้รับการอัปเดตเรียบร้อยแล้ว\",\n    \"deleted_message\": \"ลบลูกค้าเรียบร้อยแล้ว | ลบลูกค้าเรียบร้อยแล้ว\",\n    \"edit_currency_not_allowed\": \"ไม่สามารถเปลี่ยนสกุลเงินเมื่อสร้างธุรกรรมแล้ว\"\n  },\n  \"items\": {\n    \"title\": \"บริการ\",\n    \"items_list\": \"รายการบริการ\",\n    \"name\": \"ชื่อ\",\n    \"unit\": \"หน่วย\",\n    \"description\": \"คำอธิบาย\",\n    \"added_on\": \"วันที่สร้าง\",\n    \"price\": \"ราคา\",\n    \"date_of_creation\": \"วันที่สร้าง\",\n    \"not_selected\": \"ยังไม่มีบริการที่เลือก\",\n    \"action\": \"จัดการ\",\n    \"add_item\": \"เพิ่มบริการ\",\n    \"save_item\": \"บันทึก\",\n    \"update_item\": \"อัปเดต\",\n    \"item\": \"บริการ | บริการ\",\n    \"add_new_item\": \"เพิ่มบริการใหม่\",\n    \"new_item\": \"บริการใหม่\",\n    \"edit_item\": \"แก้ไขบริการ\",\n    \"no_items\": \"ยังไม่มีสินค้า!\",\n    \"list_of_items\": \"ส่วนนี้จะประกอบด้วยรายการของบริการ\",\n    \"select_a_unit\": \"เลือกหน่วย\",\n    \"taxes\": \"ภาษี\",\n    \"item_attached_message\": \"ไม่สามารถลบบริการที่ใช้อยู่แล้ว\",\n    \"confirm_delete\": \"คุณจะไม่สามารถกู้คืนไอเท็มนี้ได้ | คุณจะไม่สามารถกู้คืนไอเท็มเหล่านี้ได้\",\n    \"created_message\": \"สร้างบริการสำเร็จแล้ว\",\n    \"updated_message\": \"อัพเดตบริการเรียบร้อยแล้ว\",\n    \"deleted_message\": \"บริการที่ถูกลบเรียบร้อยแล้ว | บริการที่ถูกลบเรียบร้อยแล้ว\"\n  },\n  \"estimates\": {\n    \"title\": \"ใบเสนอราคา\",\n    \"accept_estimate\": \"ยอมรับใบเสนอราคา\",\n    \"reject_estimate\": \"ปฏิเสธใบเสนอราคา\",\n    \"estimate\": \"ใบเสนอราคา | ใบเสนอราคา\",\n    \"estimates_list\": \"รายการใบเสนอราคา\",\n    \"days\": \"{days} วัน\",\n    \"months\": \"{months} เดือน\",\n    \"years\": \"{years} ปี\",\n    \"all\": \"ทั้งหมด\",\n    \"paid\": \"จ่ายแล้ว\",\n    \"unpaid\": \"ยังไม่ได้ชำระ\",\n    \"customer\": \"ลูกค้า\",\n    \"ref_no\": \"โทษไม่.\",\n    \"number\": \"เลขที่\",\n    \"amount_due\": \"จำนวนเงินค้างชำระ\",\n    \"partially_paid\": \"ชำระเงินบางส่วน\",\n    \"total\": \"จำนวนเงินสุทธิ\",\n    \"discount\": \"ส่วนลด\",\n    \"sub_total\": \"รวมเงิน\",\n    \"estimate_number\": \"เลขที่ใบเสนอราคา\",\n    \"ref_number\": \"หมายเลขอ้างอิง\",\n    \"contact\": \"ติดต่อเรา\",\n    \"add_item\": \"เพิ่มรายการ\",\n    \"date\": \"วันที่\",\n    \"due_date\": \"วันครบกำหนด\",\n    \"expiry_date\": \"วันหมดอายุ\",\n    \"status\": \"สถานะ\",\n    \"add_tax\": \"เพิ่มภาษี\",\n    \"amount\": \"จำนวนเงิน (บาท)\",\n    \"action\": \"จัดการ\",\n    \"notes\": \"หมายเหตุ\",\n    \"tax\": \"ภาษี\",\n    \"estimate_template\": \"แม่แบบ\",\n    \"convert_to_invoice\": \"แปลงเป็นใบวางบิล\",\n    \"mark_as_sent\": \"ทำเครื่องหมายว่าส่งแล้ว\",\n    \"send_estimate\": \"ส่งใบเสนอราคา\",\n    \"resend_estimate\": \"ส่งใบเสนอราคา\",\n    \"record_payment\": \"บันทึกการชำระเงิน\",\n    \"add_estimate\": \"เพิ่มค่าใบเสนอราคา\",\n    \"save_estimate\": \"บันทึกใบเสนอราคา\",\n    \"confirm_conversion\": \"ใบเสนอราคานี้จะใช้ในการสร้างใบวางบิลใหม่\",\n    \"conversion_message\": \"ใบวางบิลที่สร้างเสร็จสมบูรณ์\",\n    \"confirm_send_estimate\": \"ใบเสนอราคานี้จะถูกส่งผ่านทางอีเมลถึงลูกค้า\",\n    \"confirm_mark_as_sent\": \"ใบเสนอราคานี้จะถูกทำเครื่องหมายว่าส่ง\",\n    \"confirm_mark_as_accepted\": \"ใบเสนอราคานี้จะถูกทำเครื่องหมายว่าเป็นที่ยอมรับ\",\n    \"confirm_mark_as_rejected\": \"ใบเสนอราคานี้จะถูกทำเครื่องหมายว่าปฏิเสธ\",\n    \"no_matching_estimates\": \"ไม่มีใบเสนอราคาที่ตรงกัน!\",\n    \"mark_as_sent_successfully\": \"ใบเสนอราคาที่ทำเครื่องหมายว่าส่งเรียบร้อยแล้ว\",\n    \"send_estimate_successfully\": \"ใบเสนอราคาส่งเรียบร้อยแล้ว\",\n    \"errors\": {\n      \"required\": \"ต้องกรอกข้อมูล\"\n    },\n    \"accepted\": \"ได้รับการยอมรับ\",\n    \"rejected\": \"ถูกปฏิเสธ\",\n    \"expired\": \"หมดอายุ\",\n    \"sent\": \"ส่งแล้ว\",\n    \"draft\": \"แบบร่าง\",\n    \"viewed\": \"ดูแล้ว\",\n    \"declined\": \"ปฏิเสธ\",\n    \"new_estimate\": \"ใบเสนอราคาใหม่\",\n    \"add_new_estimate\": \"เพิ่มใบเสนอราคาใหม่\",\n    \"update_Estimate\": \"อัพเดตใบเสนอราคา\",\n    \"edit_estimate\": \"แก้ไขใบเสนอราคา\",\n    \"items\": \"สิ่งของ\",\n    \"Estimate\": \"ใบเสนอราคา | ใบเสนอราคา\",\n    \"add_new_tax\": \"เพิ่มภาษีใหม่\",\n    \"no_estimates\": \"ยังไม่มีใบเสนอราคา!\",\n    \"list_of_estimates\": \"ส่วนนี้จะประกอบด้วยรายการใบเสนอราคา\",\n    \"mark_as_rejected\": \"ทำเครื่องหมายว่าถูกปฏิเสธ\",\n    \"mark_as_accepted\": \"ทำเครื่องหมายว่าเป็นที่ยอมรับ\",\n    \"marked_as_accepted_message\": \"ใบเสนอราคาที่ทำเครื่องหมายเป็นที่ยอมรับ\",\n    \"marked_as_rejected_message\": \"ใบเสนอราคาที่ทำเครื่องหมายว่าถูกปฏิเสธ\",\n    \"confirm_delete\": \"คุณจะไม่สามารถกู้คืนค่าประมาณนี้ได้ | คุณจะไม่สามารถกู้คืนค่าประมาณเหล่านี้ได้\",\n    \"created_message\": \"ใบเสนอราคาสร้างเสร็จเรียบร้อยแล้ว\",\n    \"updated_message\": \"อัพเดตใบเสนอราคาเรียบร้อยแล้ว\",\n    \"deleted_message\": \"ใบเสนอราคาลบเรียบร้อยแล้ว | ใบเสนอราคาลบเรียบร้อยแล้ว\",\n    \"something_went_wrong\": \"มีบางอย่างผิดพลาด\",\n    \"item\": {\n      \"title\": \"ชื่อรายการ\",\n      \"description\": \"คำอธิบาย\",\n      \"quantity\": \"จำนวน\",\n      \"price\": \"ราคา\",\n      \"discount\": \"ส่วนลด\",\n      \"total\": \"จำนวนเงินสุทธิ\",\n      \"total_discount\": \"ส่วนลดทั้งหมด\",\n      \"sub_total\": \"รวมเงิน\",\n      \"tax\": \"ภาษี\",\n      \"amount\": \"จำนวนเงิน (บาท)\",\n      \"select_an_item\": \"พิมพ์หรือคลิกเพื่อเลือกรายการ\",\n      \"type_item_description\": \"คำอธิบาย (ไม่จำเป็น)\"\n    }\n  },\n  \"invoices\": {\n    \"title\": \"ใบวางบิล\",\n    \"download\": \"ดาวน์โหลด\",\n    \"pay_invoice\": \"ชำระใบวางบิล\",\n    \"invoices_list\": \"รายการใบวางบิล\",\n    \"invoice_information\": \"ข้อมูลใบวางบิล\",\n    \"days\": \"{days} วัน\",\n    \"months\": \"{months} เดือน\",\n    \"years\": \"{years} ปี\",\n    \"all\": \"ทั้งหมด\",\n    \"paid\": \"จ่ายแล้ว\",\n    \"unpaid\": \"ยังไม่ได้ชำระ\",\n    \"viewed\": \"ดูแล้ว\",\n    \"overdue\": \"ค้างชำระ\",\n    \"completed\": \"เสร็จสมบูรณ์\",\n    \"customer\": \"ลูกค้า\",\n    \"paid_status\": \"สถานะการชำระเงิน\",\n    \"ref_no\": \"โทษไม่.\",\n    \"number\": \"เลขที่\",\n    \"amount_due\": \"จำนวนเงินค้างชำระ\",\n    \"partially_paid\": \"ชำระเงินบางส่วน\",\n    \"total\": \"จำนวนเงินสุทธิ\",\n    \"discount\": \"ส่วนลด\",\n    \"sub_total\": \"รวมเงิน\",\n    \"invoice\": \"ใบวางบิล | ใบวางบิล\",\n    \"invoice_number\": \"เลขที่ใบวางบิล\",\n    \"ref_number\": \"หมายเลขอ้างอิง\",\n    \"contact\": \"ติดต่อเรา\",\n    \"add_item\": \"เพิ่มรายการ\",\n    \"date\": \"วันที่\",\n    \"due_date\": \"วันครบกำหนด\",\n    \"status\": \"สถานะ\",\n    \"add_tax\": \"เพิ่มภาษี\",\n    \"amount\": \"จำนวนเงิน (บาท)\",\n    \"action\": \"จัดการ\",\n    \"notes\": \"หมายเหตุ\",\n    \"view\": \"ดู\",\n    \"send_invoice\": \"ส่งใบวางบิล\",\n    \"resend_invoice\": \"ส่งใบวางบิลอีกครั้ง\",\n    \"invoice_template\": \"แม่แบบใบวางบิล\",\n    \"conversion_message\": \"ใบวางบิลที่โคลนเสร็จสมบูรณ์\",\n    \"template\": \"เลือกเทมเพลต\",\n    \"mark_as_sent\": \"ทำเครื่องหมายว่าส่งแล้ว\",\n    \"confirm_send_invoice\": \"ใบวางบิลนี้จะถูกส่งทางอีเมลถึงลูกค้า\",\n    \"invoice_mark_as_sent\": \"ใบวางบิลนี้จะถูกทำเครื่องหมายว่าส่ง\",\n    \"confirm_mark_as_accepted\": \"ใบวางบิลนี้จะถูกทำเครื่องหมายเป็น Accepted\",\n    \"confirm_mark_as_rejected\": \"ใบวางบิลนี้จะถูกทำเครื่องหมายว่าถูกปฏิเสธ\",\n    \"confirm_send\": \"ใบวางบิลนี้จะถูกส่งทางอีเมลถึงลูกค้า\",\n    \"invoice_date\": \"วันที่ใบวางบิล\",\n    \"record_payment\": \"บันทึกการชำระเงิน\",\n    \"add_new_invoice\": \"เพิ่มใบวางบิลใหม่\",\n    \"update_expense\": \"อัพเดตค่าใช้จ่าย\",\n    \"edit_invoice\": \"แก้ไขใบวางบิล\",\n    \"new_invoice\": \"ใบวางบิลใหม่\",\n    \"save_invoice\": \"บันทึกใบวางบิล\",\n    \"update_invoice\": \"อัพเดตใบวางบิล\",\n    \"add_new_tax\": \"เพิ่มภาษีใหม่\",\n    \"no_invoices\": \"ยังไม่มีใบวางบิล\",\n    \"mark_as_rejected\": \"ทำเครื่องหมายว่าถูกปฏิเสธ\",\n    \"mark_as_accepted\": \"ทำเครื่องหมายว่าเป็นที่ยอมรับ\",\n    \"list_of_invoices\": \"ส่วนนี้จะประกอบด้วยรายการของใบวางบิล\",\n    \"select_invoice\": \"เลือกใบวางบิล\",\n    \"no_matching_invoices\": \"ไม่มีใบวางบิลที่ตรงกัน!\",\n    \"mark_as_sent_successfully\": \"ใบวางบิลที่ทำเครื่องหมายว่าส่งเรียบร้อยแล้ว\",\n    \"invoice_sent_successfully\": \"ใบวางบิลที่ส่งเรียบร้อยแล้ว\",\n    \"cloned_successfully\": \"ทำสำเนาใบวางบิลเสร็จเรียบร้อยแล้ว\",\n    \"clone_invoice\": \"ทำสำเนาใบวางบิล\",\n    \"confirm_clone\": \"ใบวางบิลนี้จะถูกคัดลอกลงในใบวางบิลใหม่\",\n    \"item\": {\n      \"title\": \"ชื่อรายการ\",\n      \"description\": \"คำอธิบาย\",\n      \"quantity\": \"จำนวน\",\n      \"price\": \"ราคา\",\n      \"discount\": \"ส่วนลด\",\n      \"total\": \"จำนวนเงินสุทธิ\",\n      \"total_discount\": \"ส่วนลดทั้งหมด\",\n      \"sub_total\": \"รวมเงิน\",\n      \"tax\": \"ภาษี\",\n      \"amount\": \"จำนวนเงิน (บาท)\",\n      \"select_an_item\": \"พิมพ์หรือคลิกเพื่อเลือกรายการ\",\n      \"type_item_description\": \"คำอธิบาย (ไม่จำเป็น)\"\n    },\n    \"payment_attached_message\": \"หนึ่งในใบวางบิลที่เลือกมีการชำระเงินที่แนบมากับใบวางบิลแล้วตรวจสอบให้แน่ใจว่าได้ลบการชำระเงินที่แนบมาก่อนเพื่อดำเนินการต่อด้วยการลบ\",\n    \"confirm_delete\": \"คุณจะไม่สามารถกู้คืนใบวางบิลนี้ได้ | คุณจะไม่สามารถกู้คืนใบวางบิลเหล่านี้ได้\",\n    \"created_message\": \"สร้างใบวางบิลเรียบร้อยแล้ว\",\n    \"updated_message\": \"อัพเดตใบวางบิลเรียบร้อยแล้ว\",\n    \"deleted_message\": \"ลบใบวางบิลเรียบร้อยแล้ว | ลบใบวางบิลเรียบร้อยแล้ว\",\n    \"marked_as_sent_message\": \"ใบวางบิลที่ทำเครื่องหมายว่าส่งเรียบร้อยแล้ว\",\n    \"something_went_wrong\": \"มีบางอย่างผิดพลาด\",\n    \"invalid_due_amount_message\": \"จำนวนใบวางบิลทั้งหมดต้องไม่น้อยกว่าจำนวนเงินที่ชำระทั้งหมดสำหรับใบวางบิลนี้โปรดอัปเดตใบวางบิลหรือลบการชำระเงินที่เกี่ยวข้องเพื่อดำเนินการต่อ\"\n  },\n  \"recurring_invoices\": {\n    \"title\": \"ใบวางบิลประจำ\",\n    \"invoices_list\": \"รายการใบวางบิลประจำ\",\n    \"days\": \"{days} วัน\",\n    \"months\": \"{months} เดือน\",\n    \"years\": \"{years} ปี\",\n    \"all\": \"ทั้งหมด\",\n    \"paid\": \"จ่ายแล้ว\",\n    \"unpaid\": \"ยังไม่ได้ชำระ\",\n    \"viewed\": \"ดูแล้ว\",\n    \"overdue\": \"ค้างชำระ\",\n    \"active\": \"แอคทีฟ\",\n    \"completed\": \"เสร็จสมบูรณ์\",\n    \"customer\": \"ลูกค้า\",\n    \"paid_status\": \"สถานะการชำระเงิน\",\n    \"ref_no\": \"โทษไม่.\",\n    \"number\": \"เลขที่\",\n    \"amount_due\": \"จำนวนเงินค้างชำระ\",\n    \"partially_paid\": \"ชำระเงินบางส่วน\",\n    \"total\": \"จำนวนเงินสุทธิ\",\n    \"discount\": \"ส่วนลด\",\n    \"sub_total\": \"รวมเงิน\",\n    \"invoice\": \"ใบวางบิลประจำ | ใบวางบิลประจำ\",\n    \"invoice_number\": \"เลขที่ใบวางบิลประจำ\",\n    \"next_invoice_date\": \"วันที่ใบวางบิลถัดไป\",\n    \"ref_number\": \"หมายเลขอ้างอิง\",\n    \"contact\": \"ติดต่อเรา\",\n    \"add_item\": \"เพิ่มรายการ\",\n    \"date\": \"วันที่\",\n    \"limit_by\": \"กำหนดรอบบิลโดย\",\n    \"limit_date\": \"วันที่สิ้นสุด\",\n    \"limit_count\": \"จำกัดจำนวน\",\n    \"count\": \"จำนวนครั้ง\",\n    \"status\": \"สถานะ\",\n    \"select_a_status\": \"เลือกสถานะ\",\n    \"working\": \"การทำงาน\",\n    \"on_hold\": \"พักไว้\",\n    \"complete\": \"เสร็จสมบูรณ์\",\n    \"add_tax\": \"เพิ่มภาษี\",\n    \"amount\": \"จำนวนเงิน (บาท)\",\n    \"action\": \"จัดการ\",\n    \"notes\": \"หมายเหตุ\",\n    \"view\": \"ดู\",\n    \"basic_info\": \"ข้อมูลพื้นฐาน\",\n    \"send_invoice\": \"ส่งใบวางบิลประจำ\",\n    \"auto_send\": \"ส่งอัตโนมัติ\",\n    \"resend_invoice\": \"ส่งใบวางบิลประจำอีกครั้ง\",\n    \"invoice_template\": \"แม่แบบใบวางบิลประจำ\",\n    \"conversion_message\": \"ทำสำเนาใบวางบิลประจำเสร็จเรียบร้อย\",\n    \"template\": \"แม่แบบ\",\n    \"mark_as_sent\": \"ทำเครื่องหมายว่าส่งแล้ว\",\n    \"confirm_send_invoice\": \"ใบวางบิลประจำนี้จะถูกส่งทางอีเมลถึงลูกค้า\",\n    \"invoice_mark_as_sent\": \"ใบวางบิลประจำนี้จะถูกทำเครื่องหมายเป็นส่งแล้ว\",\n    \"confirm_send\": \"ใบวางบิลประจำนี้จะถูกส่งทางอีเมลถึงลูกค้า\",\n    \"starts_at\": \"วันที่เริ่มต้น\",\n    \"due_date\": \"วันที่ครบกำหนดใบวางบิล\",\n    \"record_payment\": \"บันทึกการชำระเงิน\",\n    \"add_new_invoice\": \"เพิ่มใบวางบิลประจำใหม่\",\n    \"update_expense\": \"อัพเดตค่าใช้จ่าย\",\n    \"edit_invoice\": \"แก้ไขใบวางบิลประจำ\",\n    \"new_invoice\": \"ใบวางบิลประจำใหม่\",\n    \"send_automatically\": \"ส่งอัตโนมัติ\",\n    \"send_automatically_desc\": \"เปิดใช้งานนี้, หากคุณต้องการส่งใบวางบิลโดยอัตโนมัติให้กับลูกค้าเมื่อสร้างขึ้น.\",\n    \"save_invoice\": \"บันทึกใบวางบิลประจำ\",\n    \"update_invoice\": \"อัพเดตใบวางบิลประจำ\",\n    \"add_new_tax\": \"เพิ่มภาษีใหม่\",\n    \"no_invoices\": \"ยังไม่มีใบวางบิลประจำ!\",\n    \"mark_as_rejected\": \"ทำเครื่องหมายว่าถูกปฏิเสธ\",\n    \"mark_as_accepted\": \"ทำเครื่องหมายว่าเป็นที่ยอมรับ\",\n    \"list_of_invoices\": \"ส่วนนี้จะประกอบด้วยรายการของใบวางบิลประจำ\",\n    \"select_invoice\": \"เลือกใบวางบิล\",\n    \"no_matching_invoices\": \"ไม่มีใบวางบิลประจำที่ตรงกัน!\",\n    \"mark_as_sent_successfully\": \"ใบวางบิลประจำทำเครื่องหมายว่าส่งเรียบร้อยแล้ว\",\n    \"invoice_sent_successfully\": \"ใบวางบิลประจำส่งเรียบร้อยแล้ว\",\n    \"cloned_successfully\": \"ทำสำเนาใบวางบิลประจำเสร็จเรียบร้อยแล้ว\",\n    \"clone_invoice\": \"ทำสำเนาใบวางบิลประจำ\",\n    \"confirm_clone\": \"ใบวางบิลประจำนี้จะถูกคัดลอกลงในใบวางบิลประจำใหม่\",\n    \"item\": {\n      \"title\": \"ชื่อรายการ\",\n      \"description\": \"คำอธิบาย\",\n      \"quantity\": \"จำนวน\",\n      \"price\": \"ราคา\",\n      \"discount\": \"ส่วนลด\",\n      \"total\": \"จำนวนเงินสุทธิ\",\n      \"total_discount\": \"ส่วนลดทั้งหมด\",\n      \"sub_total\": \"รวมเงิน\",\n      \"tax\": \"ภาษี\",\n      \"amount\": \"จำนวนเงิน (บาท)\",\n      \"select_an_item\": \"พิมพ์หรือคลิกเพื่อเลือกรายการ\",\n      \"type_item_description\": \"คำอธิบาย (ไม่จำเป็น)\"\n    },\n    \"frequency\": {\n      \"title\": \"ระยะเวลา\",\n      \"select_frequency\": \"กำหนดระยะเวลารอบบิล\",\n      \"minute\": \"นาที\",\n      \"hour\": \"ชั่วโมง\",\n      \"day_month\": \"วันของเดือน\",\n      \"month\": \"เดือน\",\n      \"day_week\": \"วันในสัปดาห์\"\n    },\n    \"confirm_delete\": \"คุณจะไม่สามารถกู้คืนใบวางบิลนี้ได้ | คุณจะไม่สามารถกู้คืนใบวางบิลเหล่านี้ได้\",\n    \"created_message\": \"สร้างใบวางบิลประจำเรียบร้อยแล้ว\",\n    \"updated_message\": \"อัพเดตใบวางบิลประจำเรียบร้อยแล้ว\",\n    \"deleted_message\": \"ลบใบวางบิลประจำเรียบร้อยแล้ว | ลบใบวางบิลประจำเรียบร้อยแล้ว\",\n    \"marked_as_sent_message\": \"ใบวางบิลประจำทำเครื่องหมายว่าส่งเรียบร้อยแล้ว\",\n    \"user_email_does_not_exist\": \"ไม่มีอีเมลของผู้ใช้\",\n    \"something_went_wrong\": \"มีบางอย่างผิดพลาด\",\n    \"invalid_due_amount_message\": \"จำนวนใบวางบิลประจำทั้งหมดต้องไม่น้อยกว่าจำนวนเงินที่จ่ายทั้งหมดสำหรับใบวางบิลประจำนี้โปรดอัปเดตใบวางบิลหรือลบการชำระเงินที่เกี่ยวข้องเพื่อดำเนินการต่อ\"\n  },\n  \"payments\": {\n    \"title\": \"การชำระเงิน\",\n    \"payments_list\": \"รายการชำระเงิน\",\n    \"record_payment\": \"บันทึกการชำระเงิน\",\n    \"customer\": \"ลูกค้า\",\n    \"date\": \"วันที่\",\n    \"amount\": \"จำนวนเงิน (บาท)\",\n    \"action\": \"จัดการ\",\n    \"payment_number\": \"เลขที่การชำระเงิน\",\n    \"payment_mode\": \"วิธีการชำระเงิน\",\n    \"invoice\": \"ใบวางบิล\",\n    \"note\": \"หมายเหตุ\",\n    \"add_payment\": \"เพิ่มการชำระเงิน\",\n    \"new_payment\": \"การชำระเงินใหม่\",\n    \"edit_payment\": \"แก้ไขการชำระเงิน\",\n    \"view_payment\": \"ดูการชำระเงิน\",\n    \"add_new_payment\": \"เพิ่มการชำระเงินใหม่\",\n    \"send_payment_receipt\": \"ส่งใบเสร็จรับเงิน\",\n    \"send_payment\": \"ส่งการชำระเงิน\",\n    \"save_payment\": \"บันทึกการชำระเงิน\",\n    \"update_payment\": \"อัปเดตการชำระเงิน\",\n    \"payment\": \"การชำระเงิน | การชำระเงิน\",\n    \"no_payments\": \"ยังไม่มีการชำระเงิน!\",\n    \"not_selected\": \"ไม่ได้เลือก\",\n    \"no_invoice\": \"ไม่มีใบวางบิล\",\n    \"no_matching_payments\": \"ไม่มีการชำระเงินที่ตรงกัน!\",\n    \"list_of_payments\": \"ส่วนนี้จะประกอบด้วยรายการของการชำระเงิน.\",\n    \"select_payment_mode\": \"เลือกวิธีการชำระเงิน\",\n    \"confirm_mark_as_sent\": \"ใบเสนอราคานี้จะถูกทำเครื่องหมายว่าส่ง\",\n    \"confirm_send_payment\": \"การชำระเงินนี้จะถูกส่งทางอีเมลถึงลูกค้า\",\n    \"send_payment_successfully\": \"การชำระเงินส่งเรียบร้อยแล้ว\",\n    \"something_went_wrong\": \"มีบางอย่างผิดพลาด\",\n    \"confirm_delete\": \"คุณจะไม่สามารถกู้คืนการชำระเงินนี้ได้ | คุณจะไม่สามารถกู้คืนการชำระเงินเหล่านี้ได้\",\n    \"created_message\": \"สร้างการชำระเงินเรียบร้อยแล้ว\",\n    \"updated_message\": \"อัพเดตการชำระเงินเรียบร้อยแล้ว\",\n    \"deleted_message\": \"การชำระเงินถูกลบเรียบร้อยแล้ว | การชำระเงินถูกลบเรียบร้อยแล้ว\",\n    \"invalid_amount_message\": \"จำนวนเงินที่ชำระไม่ถูกต้อง\"\n  },\n  \"expenses\": {\n    \"title\": \"ค่าใช้จ่าย\",\n    \"expenses_list\": \"รายการค่าใช้จ่าย\",\n    \"select_a_customer\": \"เลือกลูกค้า\",\n    \"expense_title\": \"ชื่อเรื่อง\",\n    \"customer\": \"ลูกค้า\",\n    \"currency\": \"สกุลเงิน\",\n    \"contact\": \"ติดต่อเรา\",\n    \"category\": \"ประเภท\",\n    \"from_date\": \"จากวันที่\",\n    \"to_date\": \"ถึงวันที่\",\n    \"expense_date\": \"วันที่\",\n    \"description\": \"คำอธิบาย\",\n    \"receipt\": \"ใบเสร็จ\",\n    \"amount\": \"จำนวนเงิน (บาท)\",\n    \"action\": \"จัดการ\",\n    \"not_selected\": \"ไม่ได้เลือก\",\n    \"note\": \"หมายเหตุ\",\n    \"category_id\": \"รหัสหมวดหมู่\",\n    \"date\": \"วันที่\",\n    \"add_expense\": \"เพิ่มค่าใช้จ่าย\",\n    \"add_new_expense\": \"เพิ่มค่าใช้จ่ายใหม่\",\n    \"save_expense\": \"ประหยัดค่าใช้จ่าย\",\n    \"update_expense\": \"อัพเดตค่าใช้จ่าย\",\n    \"download_receipt\": \"ดาวน์โหลดใบเสร็จรับเงิน\",\n    \"edit_expense\": \"แก้ไขค่าใช้จ่าย\",\n    \"new_expense\": \"ค่าใช้จ่ายใหม่\",\n    \"expense\": \"ค่าใช้จ่าย | ค่าใช้จ่าย\",\n    \"no_expenses\": \"ยังไม่มีค่าใช้จ่าย!\",\n    \"list_of_expenses\": \"ส่วนนี้จะประกอบด้วยรายการค่าใช้จ่าย\",\n    \"confirm_delete\": \"คุณจะไม่สามารถกู้คืนค่าใช้จ่ายนี้ได้ | คุณจะไม่สามารถกู้คืนค่าใช้จ่ายเหล่านี้ได้\",\n    \"created_message\": \"ค่าใช้จ่ายที่สร้างเสร็จเรียบร้อยแล้ว\",\n    \"updated_message\": \"อัพเดตค่าใช้จ่ายเรียบร้อยแล้ว\",\n    \"deleted_message\": \"ลบค่าใช้จ่ายเรียบร้อยแล้ว | ลบค่าใช้จ่ายเรียบร้อยแล้ว\",\n    \"categories\": {\n      \"categories_list\": \"รายการหมวดหมู่\",\n      \"title\": \"ชื่อเรื่อง\",\n      \"name\": \"ชื่อ\",\n      \"description\": \"คำอธิบาย\",\n      \"amount\": \"จำนวนเงิน (บาท)\",\n      \"actions\": \"จัดการ\",\n      \"add_category\": \"เพิ่มหมวดหมู่\",\n      \"new_category\": \"หมวดหมู่ใหม่\",\n      \"category\": \"หมวดหมู่ | หมวดหมู่\",\n      \"select_a_category\": \"เลือกประเภท\"\n    }\n  },\n  \"login\": {\n    \"email\": \"อีเมล์\",\n    \"password\": \"รหัสผ่าน\",\n    \"forgot_password\": \"ลืมรหัสผ่าน\",\n    \"or_signIn_with\": \"หรือลงชื่อเข้าใช้ด้วย\",\n    \"login\": \"ล็อกอิน\",\n    \"register\": \"สมัครสมาชิก\",\n    \"reset_password\": \"รีเซ็ตรหัสผ่าน\",\n    \"password_reset_successfully\": \"รีเซ็ตรหัสผ่านเรียบร้อยแล้ว\",\n    \"enter_email\": \"ใส่อีเมล\",\n    \"enter_password\": \"ป้อนรหัสผ่าน\",\n    \"retype_password\": \"พิมพ์รหัสผ่านใหม่\"\n  },\n  \"modules\": {\n    \"buy_now\": \"ซื้อเดี๋ยวนี้\",\n    \"install\": \"ติดตั้ง\",\n    \"price\": \"ราคา\",\n    \"download_zip_file\": \"ดาวน์โหลดไฟล์ ZIP\",\n    \"unzipping_package\": \"แตกไฟล์แพ็คเกจ\",\n    \"copying_files\": \"การคัดลอกแฟ้ม\",\n    \"deleting_files\": \"การลบแฟ้มที่ไม่ได้ใช้\",\n    \"completing_installation\": \"การติดตั้งเสร็จสมบูรณ์\",\n    \"update_failed\": \"การอัพเดทล้มเหลว\",\n    \"install_success\": \"โมดูลได้รับการติดตั้งเรียบร้อยแล้ว!\",\n    \"customer_reviews\": \"รีวิว\",\n    \"license\": \"ใบอนุญาต\",\n    \"faq\": \"คำถามที่พบบ่อย\",\n    \"monthly\": \"รายเดือน\",\n    \"yearly\": \"รายปี\",\n    \"updated\": \"อัพเดตแล้ว\",\n    \"version\": \"เวอร์ชั่น\",\n    \"disable\": \"ปิดการใช้งาน\",\n    \"module_disabled\": \"โมดูลถูกปิดใช้งาน\",\n    \"enable\": \"เปิดใช้งาน\",\n    \"module_enabled\": \"โมดูลที่เปิดใช้งานแล้ว\",\n    \"update_to\": \"อัปเดตเป็น\",\n    \"module_updated\": \"อัพเดตโมดูลเรียบร้อยแล้ว!\",\n    \"title\": \"โมดูล\",\n    \"module\": \"โมดูล | โมดูล\",\n    \"api_token\": \"โทเค็น API\",\n    \"invalid_api_token\": \"โทเค็น API ไม่ถูกต้อง\",\n    \"other_modules\": \"โมดูลอื่น ๆ\",\n    \"view_all\": \"ดูทั้งหมด\",\n    \"no_reviews_found\": \"ยังไม่มีรีวิวสำหรับโมดุลนี้!\",\n    \"module_not_purchased\": \"ไม่ได้ซื้อโมดูล\",\n    \"module_not_found\": \"ไม่พบโมดูล\",\n    \"version_not_supported\": \"รุ่นขั้นต่ำที่จำเป็นสำหรับโมดูลนี้ไม่ตรงกันโปรดอัปเกรดแอพของคุณเป็นเวอร์ชั่น: {version} เพื่อดำเนินการต่อ\",\n    \"last_updated\": \"อัปเดตล่าสุดเมื่อ\",\n    \"connect_installation\": \"เชื่อมต่อการติดตั้งของคุณ\",\n    \"api_token_description\": \"ล็อกอินเข้าสู่ {url} และเชื่อมต่อการติดตั้งนี้โดยป้อน API Tokenโมดุลที่คุณซื้อจะแสดงขึ้นที่นี่หลังจากที่การเชื่อมต่อได้รับการจัดตั้งขึ้น\",\n    \"view_module\": \"ดูโมดูล\",\n    \"update_available\": \"อัปเดตพร้อมใช้งาน\",\n    \"purchased\": \"ซื้อแล้ว\",\n    \"installed\": \"ติดตั้งแล้ว\",\n    \"no_modules_installed\": \"ยังไม่มีการติดตั้งโมดูล!\",\n    \"disable_warning\": \"การตั้งค่าทั้งหมดสำหรับเรื่องนี้จะถูกย้อนกลับ\",\n    \"what_you_get\": \"สิ่งที่คุณได้รับ\"\n  },\n  \"users\": {\n    \"title\": \"ผู้ใช้งาน\",\n    \"users_list\": \"รายชื่อผู้ใช้\",\n    \"name\": \"ชื่อ\",\n    \"description\": \"คำอธิบาย\",\n    \"added_on\": \"วันที่สร้าง\",\n    \"date_of_creation\": \"วันที่สร้าง\",\n    \"action\": \"จัดการ\",\n    \"add_user\": \"เพิ่มผู้ใช้\",\n    \"save_user\": \"บันทึกผู้ใช้\",\n    \"update_user\": \"อัพเดตผู้ใช้\",\n    \"user\": \"ผู้ใช้ | ผู้ใช้\",\n    \"add_new_user\": \"เพิ่มผู้ใช้ใหม่\",\n    \"new_user\": \"ผู้ใช้ใหม่\",\n    \"edit_user\": \"แก้ไขผู้ใช้\",\n    \"no_users\": \"ยังไม่มีผู้ใช้!\",\n    \"list_of_users\": \"ส่วนนี้จะประกอบด้วยรายชื่อของผู้ใช้\",\n    \"email\": \"อีเมล์\",\n    \"phone\": \"โทรศัพท์\",\n    \"password\": \"รหัสผ่าน\",\n    \"user_attached_message\": \"ไม่สามารถลบรายการที่ใช้อยู่แล้ว\",\n    \"confirm_delete\": \"คุณจะไม่สามารถกู้คืนผู้ใช้นี้ได้ | คุณจะไม่สามารถกู้คืนผู้ใช้เหล่านี้ได้\",\n    \"created_message\": \"ผู้ใช้สร้างเสร็จเรียบร้อยแล้ว\",\n    \"updated_message\": \"อัพเดตผู้ใช้เรียบร้อยแล้ว\",\n    \"deleted_message\": \"ผู้ใช้ลบเรียบร้อยแล้ว | ผู้ใช้ลบเรียบร้อยแล้ว\",\n    \"select_company_role\": \"เลือกบทบาทสำหรับ {company}\",\n    \"companies\": \"บริษัท\"\n  },\n  \"reports\": {\n    \"title\": \"รายงาน\",\n    \"from_date\": \"จากวันที่\",\n    \"to_date\": \"ถึงวันที่\",\n    \"status\": \"สถานะ\",\n    \"paid\": \"จ่ายแล้ว\",\n    \"unpaid\": \"ยังไม่ได้ชำระ\",\n    \"download_pdf\": \"ดาวน์โหลดไฟล์ PDF\",\n    \"view_pdf\": \"ดูไฟล์ PDF\",\n    \"update_report\": \"รายงานการอัพเดต\",\n    \"report\": \"รายงาน | รายงาน\",\n    \"profit_loss\": {\n      \"profit_loss\": \"กำไรขาดทุน\",\n      \"to_date\": \"ถึงวันที่\",\n      \"from_date\": \"จากวันที่\",\n      \"date_range\": \"เลือกช่วงวันที่\"\n    },\n    \"sales\": {\n      \"sales\": \"การขาย\",\n      \"date_range\": \"เลือกช่วงวันที่\",\n      \"to_date\": \"ถึงวันที่\",\n      \"from_date\": \"จากวันที่\",\n      \"report_type\": \"ประเภทรายงาน\"\n    },\n    \"taxes\": {\n      \"taxes\": \"ภาษี\",\n      \"to_date\": \"ถึงวันที่\",\n      \"from_date\": \"จากวันที่\",\n      \"date_range\": \"เลือกช่วงวันที่\"\n    },\n    \"errors\": {\n      \"required\": \"ต้องกรอกข้อมูล\"\n    },\n    \"invoices\": {\n      \"invoice\": \"ใบวางบิล\",\n      \"invoice_date\": \"วันที่ใบวางบิล\",\n      \"due_date\": \"วันครบกำหนด\",\n      \"amount\": \"จำนวนเงิน (บาท)\",\n      \"contact_name\": \"ชื่อผู้ติดต่อ\",\n      \"status\": \"สถานะ\"\n    },\n    \"estimates\": {\n      \"estimate\": \"ใบเสนอราคา\",\n      \"estimate_date\": \"วันที่ใบเสนอราคา\",\n      \"due_date\": \"วันครบกำหนด\",\n      \"estimate_number\": \"เลขที่ใบเสนอราคา\",\n      \"ref_number\": \"หมายเลขอ้างอิง\",\n      \"amount\": \"จำนวนเงิน (บาท)\",\n      \"contact_name\": \"ชื่อผู้ติดต่อ\",\n      \"status\": \"สถานะ\"\n    },\n    \"expenses\": {\n      \"expenses\": \"ค่าใช้จ่าย\",\n      \"category\": \"ประเภท\",\n      \"date\": \"วันที่\",\n      \"amount\": \"จำนวนเงิน (บาท)\",\n      \"to_date\": \"ถึงวันที่\",\n      \"from_date\": \"จากวันที่\",\n      \"date_range\": \"เลือกช่วงวันที่\"\n    }\n  },\n  \"settings\": {\n    \"menu_title\": {\n      \"account_settings\": \"การตั้งค่าบัญชี\",\n      \"company_information\": \"ข้อมูลบริษัท\",\n      \"customization\": \"การปรับแต่ง\",\n      \"preferences\": \"การกำหนดค่า\",\n      \"notifications\": \"การแจ้งเตือน\",\n      \"tax_types\": \"ประเภทภาษี\",\n      \"expense_category\": \"ประเภทค่าใช้จ่าย\",\n      \"update_app\": \"อัพเดทแอพ\",\n      \"backup\": \"การสำรองข้อมูล\",\n      \"file_disk\": \"ดิสก์แฟ้ม\",\n      \"custom_fields\": \"เขตข้อมูลที่กำหนดเอง\",\n      \"payment_modes\": \"วิธีการชำระเงิน\",\n      \"notes\": \"หมายเหตุ\",\n      \"exchange_rate\": \"อัตราแลกเปลี่ยน\",\n      \"address_information\": \"ข้อมูลที่อยู่\"\n    },\n    \"address_information\": {\n      \"section_description\": \"  คุณสามารถอัปเดตข้อมูลที่อยู่ของคุณโดยใช้แบบฟอร์มด้านล่าง\"\n    },\n    \"title\": \"การตั้งค่า\",\n    \"setting\": \"การตั้งค่า | การตั้งค่า\",\n    \"general\": \"ทั่วไป\",\n    \"language\": \"ภาษา\",\n    \"primary_currency\": \"สกุลเงินหลัก\",\n    \"timezone\": \"เขตเวลา\",\n    \"date_format\": \"รูปแบบวันที่\",\n    \"currencies\": {\n      \"title\": \"สกุลเงิน\",\n      \"currency\": \"สกุลเงิน | สกุลเงิน\",\n      \"currencies_list\": \"รายการสกุลเงิน\",\n      \"select_currency\": \"เลือกสกุลเงิน\",\n      \"name\": \"ชื่อ\",\n      \"code\": \"รหัส\",\n      \"symbol\": \"สัญลักษณ์\",\n      \"precision\": \"ความแม่นยำ\",\n      \"thousand_separator\": \"พันคั่น\",\n      \"decimal_separator\": \"ตัวคั่นทศนิยม\",\n      \"position\": \"ตำแหน่ง\",\n      \"position_of_symbol\": \"ตำแหน่งสัญลักษณ์\",\n      \"right\": \"ขวา\",\n      \"left\": \"ซ้าย\",\n      \"action\": \"จัดการ\",\n      \"add_currency\": \"เพิ่มสกุลเงิน\"\n    },\n    \"mail\": {\n      \"host\": \"โฮสต์จดหมาย\",\n      \"port\": \"พอร์ตเมล\",\n      \"driver\": \"โปรแกรมควบคุมจดหมาย\",\n      \"secret\": \"ความลับ\",\n      \"mailgun_secret\": \"ความลับปืนพกปืน\",\n      \"mailgun_domain\": \"โดเมน\",\n      \"mailgun_endpoint\": \"ปลายทาง Mailgun\",\n      \"ses_secret\": \"SES ซีเคร็ต\",\n      \"ses_key\": \"SES คีย์\",\n      \"password\": \"รหัสผ่านจดหมาย\",\n      \"username\": \"ชื่อผู้ใช้จดหมาย\",\n      \"mail_config\": \"การกำหนดค่าจดหมาย\",\n      \"from_name\": \"จากชื่อจดหมาย\",\n      \"from_mail\": \"จากที่อยู่อีเมล\",\n      \"encryption\": \"การเข้ารหัสจดหมาย\",\n      \"mail_config_desc\": \"ด้านล่างเป็นรูปแบบสำหรับการกำหนดค่าไดรเวอร์อีเมลสำหรับการส่งอีเมลจาก appนอกจากนี้คุณยังสามารถกำหนดค่าผู้ให้บริการของบุคคลที่สามเช่น Sendgrid, SES ฯลฯ\"\n    },\n    \"pdf\": {\n      \"title\": \"การตั้งค่า PDF\",\n      \"footer_text\": \"ข้อความท้ายกระดาษ\",\n      \"pdf_layout\": \"รูปแบบไฟล์ PDF\"\n    },\n    \"company_info\": {\n      \"company_info\": \"ข้อมูลบริษัท\",\n      \"company_name\": \"ชื่อบริษัท\",\n      \"company_logo\": \"โลโก้บริษัท\",\n      \"section_description\": \"ข้อมูลเกี่ยวกับ บริษัท ของคุณที่จะแสดงในใบวางบิล, ใบเสนอราคาและเอกสารอื่น ๆ\",\n      \"phone\": \"โทรศัพท์\",\n      \"country\": \"ประเทศ\",\n      \"state\": \"เขต/อำเภอ\",\n      \"city\": \"จังหวัด\",\n      \"address\": \"ที่อยู่\",\n      \"zip\": \"รหัสไปรษณีย์\",\n      \"save\": \"บันทึก\",\n      \"delete\": \"ลบ\",\n      \"updated_message\": \"ข้อมูลบริษัทได้รับการอัพเดตเรียบร้อยแล้ว\",\n      \"delete_company\": \"ลบบริษัท\",\n      \"delete_company_description\": \"เมื่อคุณลบ บริษัท ของคุณคุณจะสูญเสียข้อมูลและไฟล์ทั้งหมดที่เชื่อมโยงกับมันอย่างถาวร\",\n      \"are_you_absolutely_sure\": \"คุณแน่ใจจริงๆ?\",\n      \"delete_company_modal_desc\": \"การกระทำนี้ไม่สามารถยกเลิกได้การดำเนินการนี้จะลบ {company} และข้อมูลที่เกี่ยวข้องทั้งหมดอย่างถาวร\",\n      \"delete_company_modal_label\": \"กรุณาพิมพ์ {company} เพื่อยืนยัน\"\n    },\n    \"custom_fields\": {\n      \"title\": \"เขตข้อมูลที่กำหนดเอง\",\n      \"section_description\": \"ปรับแต่งใบวางบิล ใบเสนอราคา และใบเสร็จรับเงิน ด้วยช่องของคุณเองตรวจสอบให้แน่ใจว่าได้ใช้ฟิลด์ที่เพิ่มด้านล่างในรูปแบบที่อยู่บนหน้าการตั้งค่าที่กำหนดเอง\",\n      \"add_custom_field\": \"เพิ่มฟิลด์ที่กำหนดเอง\",\n      \"edit_custom_field\": \"แก้ไขฟิลด์ที่กำหนดเอง\",\n      \"field_name\": \"ชื่อเขตข้อมูล\",\n      \"label\": \"ฉลาก\",\n      \"type\": \"ประเภท\",\n      \"name\": \"ชื่อ\",\n      \"slug\": \"บุ้ง\",\n      \"required\": \"จำเป็นต้องใช้\",\n      \"placeholder\": \"ตัวยึด\",\n      \"help_text\": \"ข้อความช่วยเหลือ\",\n      \"default_value\": \"ค่าดีฟอลต์\",\n      \"prefix\": \"Prefix\",\n      \"starting_number\": \"หมายเลขเริ่มต้น\",\n      \"model\": \"แบบจำลอง\",\n      \"help_text_description\": \"ป้อนข้อความบางส่วนเพื่อช่วยให้ผู้ใช้เข้าใจวัตถุประสงค์ของฟิลด์ที่กำหนดเองนี้\",\n      \"suffix\": \"คำต่อท้าย\",\n      \"yes\": \"ใช่\",\n      \"no\": \"ไม่\",\n      \"order\": \"การสั่งซื้อ\",\n      \"custom_field_confirm_delete\": \"คุณจะไม่สามารถกู้คืนฟิลด์ที่กำหนดเองนี้ได้\",\n      \"already_in_use\": \"ฟิลด์ที่กำหนดเองที่มีอยู่แล้วในการใช้งาน\",\n      \"deleted_message\": \"ลบฟิลด์ที่กำหนดเองเรียบร้อยแล้ว\",\n      \"options\": \"ตัวเลือก\",\n      \"add_option\": \"เพิ่มตัวเลือก\",\n      \"add_another_option\": \"เพิ่มตัวเลือกอื่น\",\n      \"sort_in_alphabetical_order\": \"เรียงลำดับตามตัวอักษร\",\n      \"add_options_in_bulk\": \"เพิ่มตัวเลือกเป็นกลุ่ม\",\n      \"use_predefined_options\": \"ใช้ตัวเลือกที่กำหนดไว้ล่วงหน้า\",\n      \"select_custom_date\": \"เลือกวันที่กำหนดเอง\",\n      \"select_relative_date\": \"เลือกวันที่สัมพัทธ์\",\n      \"ticked_by_default\": \"เลือกตามค่าเริ่มต้น\",\n      \"updated_message\": \"อัพเดตฟิลด์ที่กำหนดเองเรียบร้อยแล้ว\",\n      \"added_message\": \"ฟิลด์ที่กำหนดเองเพิ่มเรียบร้อยแล้ว\",\n      \"press_enter_to_add\": \"กด Enter เพื่อเพิ่มตัวเลือกใหม่\",\n      \"model_in_use\": \"ไม่สามารถอัพเดตรูปแบบสำหรับเขตข้อมูลที่มีอยู่แล้วในการใช้งาน\",\n      \"type_in_use\": \"ไม่สามารถอัพเดตชนิดสำหรับเขตข้อมูลที่มีอยู่แล้วในการใช้งาน\"\n    },\n    \"customization\": {\n      \"customization\": \"การปรับแต่ง\",\n      \"updated_message\": \"อัพเดตข้อมูลบริษัทเรียบร้อยแล้ว\",\n      \"save\": \"บันทึก\",\n      \"insert_fields\": \"แทรกข้อมูล\",\n      \"learn_custom_format\": \"เรียนรู้วิธีใช้รูปแบบที่กำหนดเอง\",\n      \"add_new_component\": \"เพิ่มคอมโพเนนต์ใหม่\",\n      \"component\": \"ส่วนประกอบ\",\n      \"Parameter\": \"พารามิเตอร์\",\n      \"series\": \"Prefix\",\n      \"series_description\": \"การตั้งค่า Prefix แบบคงที่/Postfix เช่น 'INV' ทั่ว บริษัท ของคุณมันสนับสนุนความยาวตัวอักษรได้ถึง 6 ตัวอักษร\",\n      \"series_param_label\": \"Prefix\",\n      \"delimiter\": \"ตัวคั่น\",\n      \"delimiter_description\": \"ตัวอักษรตัวเดียวสำหรับการระบุเขตแดนระหว่าง 2 องค์ประกอบที่แยกต่างหากโดยค่าเริ่มต้นตั้งค่าเป็น -\",\n      \"delimiter_param_label\": \"ตัวคั่น\",\n      \"date_format\": \"รูปแบบวันที่\",\n      \"date_format_description\": \"วันที่และเวลาท้องถิ่นฟิลด์ซึ่งยอมรับพารามิเตอร์รูปแบบรูปแบบเริ่มต้น: 'Y' วาทกรรมในปีปัจจุบัน\",\n      \"date_format_param_label\": \"รูปแบบ\",\n      \"sequence\": \"ลำดับ\",\n      \"sequence_description\": \"ลำดับต่อเนื่องของเลขที่ทั่วทั้งบริษัทของคุณคุณสามารถระบุความยาวในพารามิเตอร์ที่กำหนด\",\n      \"sequence_param_label\": \"ความยาว\",\n      \"customer_series\": \"ซีรีย์ลูกค้า\",\n      \"customer_series_description\": \"ในการตั้งค่า Prefix /postfix ที่แตกต่างกันสำหรับลูกค้าแต่ละราย\",\n      \"customer_sequence\": \"ลำดับลูกค้า\",\n      \"customer_sequence_description\": \"ลำดับต่อเนื่องของเลขที่สำหรับแต่ละลูกค้าของคุณ\",\n      \"customer_sequence_param_label\": \"ความยาวลำดับ\",\n      \"random_sequence\": \"ลำดับสุ่ม\",\n      \"random_sequence_description\": \"สตริงตัวอักษรและเลขที่แบบสุ่มคุณสามารถระบุความยาวในพารามิเตอร์ที่กำหนด\",\n      \"random_sequence_param_label\": \"ความยาวลำดับ\",\n      \"invoices\": {\n        \"title\": \"ใบวางบิล\",\n        \"invoice_number_format\": \"รูปแบบเลขที่ใบวางบิล\",\n        \"invoice_number_format_description\": \"กำหนดวิธีสร้างเลขที่ใบวางบิลของคุณโดยอัตโนมัติเมื่อคุณสร้างใบวางบิลใหม่\",\n        \"preview_invoice_number\": \"ตัวอย่างเลขที่ใบวางบิล\",\n        \"due_date\": \"วันครบกำหนด\",\n        \"due_date_description\": \"ระบุวิธีการตั้งค่าวันที่ครบกำหนดโดยอัตโนมัติเมื่อคุณสร้างใบวางบิล\",\n        \"due_date_days\": \"ใบวางบิลครบกำหนดหลังจากวัน\",\n        \"set_due_date_automatically\": \"ตั้งค่าวันครบกำหนดโดยอัตโนมัติ\",\n        \"set_due_date_automatically_description\": \"เปิดใช้งานตัวเลือกนี้ หากคุณต้องการตั้งค่าวันครบกำหนดโดยอัตโนมัติเมื่อคุณสร้างใบวางบิลใหม่\",\n        \"default_formats\": \"รูปแบบเริ่มต้น\",\n        \"default_formats_description\": \"รูปแบบด้านล่างที่กำหนดจะใช้ในการกรอกข้อมูลฟิลด์โดยอัตโนมัติในการสร้างใบวางบิล\",\n        \"default_invoice_email_body\": \"เนื้อความอีเมลใบวางบิลเริ่มต้น\",\n        \"company_address_format\": \"รูปแบบที่อยู่บริษัท\",\n        \"shipping_address_format\": \"รูปแบบที่อยู่สำหรับการจัดส่ง\",\n        \"billing_address_format\": \"รูปแบบที่อยู่สำหรับการเรียกเก็บเงิน\",\n        \"invoice_email_attachment\": \"ส่งใบวางบิลเป็นสิ่งที่แนบมา\",\n        \"invoice_email_attachment_setting_description\": \"เปิดใช้งานตัวเลือกนี้หากคุณต้องการส่งใบวางบิลเป็นสิ่งที่แนบมากับอีเมลโปรดทราบว่าปุ่ม 'ดูใบวางบิล' ในอีเมลจะไม่แสดงอีกต่อไปเมื่อเปิดใช้งาน\",\n        \"invoice_settings_updated\": \"อัพเดตการตั้งค่าใบวางบิลเรียบร้อยแล้ว\",\n        \"retrospective_edits\": \"การแก้ไขย้อนหลัง\",\n        \"allow\": \"อนุญาต\",\n        \"disable_on_invoice_partial_paid\": \"ปิดการใช้งานหลังจากบันทึกการชำระเงินบางส่วน\",\n        \"disable_on_invoice_paid\": \"ปิดการใช้งานหลังจากบันทึกการชำระเงินเต็มจำนวน\",\n        \"disable_on_invoice_sent\": \"ปิดการใช้งานหลังจากส่งใบวางบิล\",\n        \"retrospective_edits_description\": \" ขึ้นอยู่กับกฎหมายของประเทศของคุณหรือความต้องการของคุณ คุณสามารถจำกัดผู้ใช้จากการแก้ไขใบวางบิลฉบับสุดท้ายได้\"\n      },\n      \"estimates\": {\n        \"title\": \"ใบเสนอราคา\",\n        \"estimate_number_format\": \"รูปแบบเลขที่โดยประมาณ\",\n        \"estimate_number_format_description\": \"กำหนดวิธีการสร้างหมายเลขประมาณของคุณโดยอัตโนมัติเมื่อคุณสร้างค่าประมาณใหม่\",\n        \"preview_estimate_number\": \"ตัวอย่างเลขที่ใบเสนอราคา\",\n        \"expiry_date\": \"วันหมดอายุ\",\n        \"expiry_date_description\": \"ระบุวิธีการตั้งค่าวันหมดอายุโดยอัตโนมัติเมื่อคุณสร้างการใบเสนอราคา\",\n        \"expiry_date_days\": \"ใบเสนอราคาหมดอายุหลังจากวัน\",\n        \"set_expiry_date_automatically\": \"ตั้งวันหมดอายุโดยอัตโนมัติ\",\n        \"set_expiry_date_automatically_description\": \"เปิดใช้งานตัวเลือกนี้ หากคุณต้องการตั้งค่าวันหมดอายุโดยอัตโนมัติเมื่อคุณสร้างค่าประมาณใหม่\",\n        \"default_formats\": \"รูปแบบเริ่มต้น\",\n        \"default_formats_description\": \"รูปแบบด้านล่างที่กำหนดจะใช้ในการกรอกเขตข้อมูลโดยอัตโนมัติในการสร้างใบเสนอราคา\",\n        \"default_estimate_email_body\": \"ประมาณค่าเริ่มต้น ร่างกายอีเมล\",\n        \"company_address_format\": \"รูปแบบที่อยู่บริษัท\",\n        \"shipping_address_format\": \"รูปแบบที่อยู่สำหรับการจัดส่ง\",\n        \"billing_address_format\": \"รูปแบบที่อยู่สำหรับการเรียกเก็บเงิน\",\n        \"estimate_email_attachment\": \"ส่งใบเสนอราคาเป็นสิ่งที่แนบมา\",\n        \"estimate_email_attachment_setting_description\": \"เปิดใช้งานตัวเลือกนี้หากคุณต้องการส่งค่าประมาณเป็นสิ่งที่แนบมากับอีเมลโปรดทราบว่าปุ่ม 'ดูการประเมิน' ในอีเมลจะไม่แสดงอีกต่อไปเมื่อเปิดใช้งาน\",\n        \"estimate_settings_updated\": \"อัพเดตการตั้งค่าใบเสนอราคาเรียบร้อยแล้ว\",\n        \"convert_estimate_options\": \"ใบเสนอราคาแปลงการกระทำ\",\n        \"convert_estimate_description\": \"ระบุสิ่งที่เกิดขึ้นกับการใบเสนอราคาหลังจากที่ได้รับการแปลงเป็นใบวางบิล\",\n        \"no_action\": \"ไม่มีการกระทำ\",\n        \"delete_estimate\": \"ลบค่าใบเสนอราคา\",\n        \"mark_estimate_as_accepted\": \"ทำเครื่องหมายใบเสนอราคาเป็นที่ยอมรับ\"\n      },\n      \"payments\": {\n        \"title\": \"การชำระเงิน\",\n        \"payment_number_format\": \"รูปแบบเลขที่การชำระเงิน\",\n        \"payment_number_format_description\": \"กำหนดวิธีสร้างเลขที่การชำระเงินของคุณโดยอัตโนมัติเมื่อคุณสร้างการชำระเงินใหม่\",\n        \"preview_payment_number\": \"ดูตัวอย่างเลขที่การชำระเงิน\",\n        \"default_formats\": \"รูปแบบเริ่มต้น\",\n        \"default_formats_description\": \"รูปแบบด้านล่างที่กำหนดจะใช้ในการกรอกข้อมูลฟิลด์โดยอัตโนมัติในการสร้างการชำระเงิน\",\n        \"default_payment_email_body\": \"เนื้อความอีเมล์การชำระเงินเริ่มต้น\",\n        \"company_address_format\": \"รูปแบบที่อยู่บริษัท\",\n        \"from_customer_address_format\": \"จากรูปแบบที่อยู่ของลูกค้า\",\n        \"payment_email_attachment\": \"ส่งการชำระเงินเป็นไฟล์แนบ\",\n        \"payment_email_attachment_setting_description\": \"เปิดใช้งานตัวเลือกนี้ หากคุณต้องการส่งใบเสร็จการชำระเงินเป็นสิ่งที่แนบมากับอีเมลโปรดทราบว่าปุ่ม 'ดูการชำระเงิน' ในอีเมลจะไม่แสดงอีกต่อไปเมื่อเปิดใช้งาน\",\n        \"payment_settings_updated\": \"อัพเดตการตั้งค่าการชำระเงินเรียบร้อยแล้ว\"\n      },\n      \"items\": {\n        \"title\": \"รายการ\",\n        \"units\": \"ยูนิต\",\n        \"add_item_unit\": \"เพิ่มหน่วยใหม่\",\n        \"edit_item_unit\": \"แก้ไขหน่วยรายการ\",\n        \"unit_name\": \"ชื่อหน่วย\",\n        \"item_unit_added\": \"หน่วยรายการที่เพิ่มเข้ามา\",\n        \"item_unit_updated\": \"อัพเดตหน่วยรายการ\",\n        \"item_unit_confirm_delete\": \"คุณจะไม่สามารถกู้คืนยูนิตไอเท็มนี้ได้\",\n        \"already_in_use\": \"หน่วยรายการที่มีอยู่แล้วในการใช้งาน\",\n        \"deleted_message\": \"หน่วยรายการถูกลบเรียบร้อยแล้ว\"\n      },\n      \"notes\": {\n        \"title\": \"หมายเหตุ\",\n        \"description\": \"ประหยัดเวลาด้วยการสร้างหมายเหตุและนำกลับมาใช้ใหม่ในใบวางบิล ใบเสนอราคาและการชำระเงิน\",\n        \"notes\": \"หมายเหตุ\",\n        \"type\": \"ประเภท\",\n        \"add_note\": \"เพิ่มโน้ต\",\n        \"add_new_note\": \"เพิ่มหมายเหตุใหม่\",\n        \"name\": \"ชื่อ\",\n        \"edit_note\": \"แก้ไขโน้ต\",\n        \"note_added\": \"หมายเหตุเพิ่มเสร็จเรียบร้อยแล้ว\",\n        \"note_updated\": \"หมายเหตุ:อัพเดตเสร็จเรียบร้อยแล้ว\",\n        \"note_confirm_delete\": \"คุณจะไม่สามารถกู้คืนหมายเหตุนี้ได้\",\n        \"already_in_use\": \"หมายเหตุมีอยู่แล้วในการใช้งาน\",\n        \"deleted_message\": \"หมายเหตุถูกลบเรียบร้อยแล้ว\"\n      }\n    },\n    \"account_settings\": {\n      \"profile_picture\": \"รูปโปรไฟล์\",\n      \"name\": \"ชื่อ\",\n      \"email\": \"อีเมล์\",\n      \"password\": \"รหัสผ่าน\",\n      \"confirm_password\": \"ยืนยันรหัสผ่าน\",\n      \"account_settings\": \"การตั้งค่าบัญชี\",\n      \"save\": \"บันทึก\",\n      \"section_description\": \"คุณสามารถอัปเดตชื่อ อีเมล และรหัสผ่านของคุณโดยใช้แบบฟอร์มด้านล่าง\",\n      \"updated_message\": \"อัพเดตการตั้งค่าบัญชีเรียบร้อยแล้ว\"\n    },\n    \"user_profile\": {\n      \"name\": \"ชื่อ\",\n      \"email\": \"อีเมล์\",\n      \"password\": \"รหัสผ่าน\",\n      \"confirm_password\": \"ยืนยันรหัสผ่าน\"\n    },\n    \"notification\": {\n      \"title\": \"การแจ้งเตือน\",\n      \"email\": \"ส่งการแจ้งเตือนไปยัง\",\n      \"description\": \"คุณต้องการรับการแจ้งเตือนทางอีเมลใดบ้างเมื่อมีบางอย่างเปลี่ยนแปลง\",\n      \"invoice_viewed\": \"ดูใบวางบิล\",\n      \"invoice_viewed_desc\": \"เมื่อลูกค้าของคุณดูใบวางบิลที่ส่งผ่านแดชบอร์ด\",\n      \"estimate_viewed\": \"ใบเสนอราคาดู\",\n      \"estimate_viewed_desc\": \"เมื่อลูกค้าของคุณดูใบเสนอราคาที่ส่งผ่านแดชบอร์ด\",\n      \"save\": \"บันทึก\",\n      \"email_save_message\": \"อีเมลที่บันทึกเรียบร้อยแล้ว\",\n      \"please_enter_email\": \"กรุณากรอกอีเมล์\"\n    },\n    \"roles\": {\n      \"title\": \"บทบาท\",\n      \"description\": \"จัดการบทบาทและสิทธิ์ของ บริษัท นี้\",\n      \"save\": \"บันทึก\",\n      \"add_new_role\": \"เพิ่มบทบาทใหม่\",\n      \"role_name\": \"ชื่อบทบาท\",\n      \"added_on\": \"เพิ่มใน\",\n      \"add_role\": \"เพิ่มบทบาท\",\n      \"edit_role\": \"แก้ไขบทบาท\",\n      \"name\": \"ชื่อ\",\n      \"permission\": \"การอนุญาต | การอนุญาต\",\n      \"select_all\": \"เลือกทั้งหมด\",\n      \"none\": \"ไม่มี\",\n      \"confirm_delete\": \"คุณจะไม่สามารถกู้คืนบทบาทนี้ได้\",\n      \"created_message\": \"บทบาทที่สร้างเสร็จเรียบร้อยแล้ว\",\n      \"updated_message\": \"อัพเดตบทบาทเรียบร้อยแล้ว\",\n      \"deleted_message\": \"ลบบทบาท สำเร็จ\",\n      \"already_in_use\": \"บทบาทที่มีอยู่แล้วในการใช้งาน\"\n    },\n    \"exchange_rate\": {\n      \"exchange_rate\": \"อัตราแลกเปลี่ยน\",\n      \"title\": \"แก้ไขปัญหาการแลกเปลี่ยนเงินตรา\",\n      \"description\": \"กรุณากรอกอัตราแลกเปลี่ยนของสกุลเงินทั้งหมดที่กล่าวถึงด้านล่างเพื่อช่วยให้ระบบคำนวณจำนวนเงินใน {currency}\",\n      \"drivers\": \"ไดร์เวอร์\",\n      \"new_driver\": \"เพิ่มผู้ให้บริการใหม่\",\n      \"edit_driver\": \"แก้ไขผู้ให้บริการ\",\n      \"select_driver\": \"เลือกไดร์เวอร์\",\n      \"update\": \"เลือกอัตราแลกเปลี่ยน \",\n      \"providers_description\": \"กำหนดค่าผู้ให้บริการอัตราแลกเปลี่ยนของคุณที่นี่เพื่อดึงข้อมูลอัตราแลกเปลี่ยนล่าสุดในการทำธุรกรรมโดยอัตโนมัติ\",\n      \"key\": \"คีย์ API\",\n      \"name\": \"ชื่อ\",\n      \"driver\": \"คนขับรถ\",\n      \"is_default\": \"เป็นค่าเริ่มต้น\",\n      \"currency\": \"สกุลเงิน\",\n      \"exchange_rate_confirm_delete\": \"คุณจะไม่สามารถกู้คืนไดรเวอร์นี้ได้\",\n      \"created_message\": \"ผู้ให้บริการสร้างเสร็จเรียบร้อยแล้ว\",\n      \"updated_message\": \"ผู้ให้บริการอัปเดตเรียบร้อยแล้ว\",\n      \"deleted_message\": \"ผู้ให้บริการถูกลบเรียบร้อยแล้ว\",\n      \"error\": \" คุณไม่สามารถลบโปรแกรมควบคุมที่ใช้งานอยู่\",\n      \"default_currency_error\": \"สกุลเงินนี้มีใช้อยู่แล้วในหนึ่งในผู้ให้บริการที่ใช้งานอยู่\",\n      \"exchange_help_text\": \"ป้อนอัตราแลกเปลี่ยนเพื่อแปลงจาก {currency} เป็น {baseCurrency}\",\n      \"currency_freak\": \"สกุลเงินประหลาด\",\n      \"currency_layer\": \"เลเยอร์เงินตรา\",\n      \"open_exchange_rate\": \"เปิดอัตราแลกเปลี่ยน\",\n      \"currency_converter\": \"แปลงสกุลเงิน\",\n      \"server\": \"เซิร์ฟเวอร์\",\n      \"url\": \"URL\",\n      \"active\": \"แอคทีฟ\",\n      \"currency_help_text\": \"ผู้ให้บริการรายนี้จะใช้กับสกุลเงินที่เลือกไว้ข้างต้นเท่านั้น\",\n      \"currency_in_used\": \"สกุลเงินต่อไปนี้มีการใช้งานอยู่แล้วในผู้ให้บริการรายอื่นโปรดลบสกุลเงินเหล่านี้ออกจากการเลือกเพื่อเปิดใช้งานผู้ให้บริการนี้อีกครั้ง\"\n    },\n    \"tax_types\": {\n      \"title\": \"ประเภทภาษี\",\n      \"add_tax\": \"เพิ่มภาษี\",\n      \"edit_tax\": \"แก้ไขภาษี\",\n      \"description\": \"คุณสามารถเพิ่มหรือลบภาษีได้ตามที่คุณต้องการ ระบบสนับสนุนภาษีในแต่ละรายการเช่นเดียวกับในใบวางบิล\",\n      \"add_new_tax\": \"เพิ่มภาษีใหม่\",\n      \"tax_settings\": \"การตั้งค่าภาษี\",\n      \"tax_per_item\": \"ภาษีต่อรายการ\",\n      \"tax_name\": \"ชื่อภาษี\",\n      \"compound_tax\": \"ภาษีมูลค่าเพิ่ม\",\n      \"percent\": \"เปอร์เซ็นต์\",\n      \"action\": \"จัดการ\",\n      \"tax_setting_description\": \"เปิดใช้งานนี้ถ้าคุณต้องการเพิ่มภาษีให้กับรายการใบวางบิลแต่ละรายการโดยค่าเริ่มต้นภาษีจะถูกเพิ่มลงในใบวางบิลโดยตรง\",\n      \"created_message\": \"สร้างประเภทภาษีเรียบร้อยแล้ว\",\n      \"updated_message\": \"อัพเดตประเภทภาษีเรียบร้อยแล้ว\",\n      \"deleted_message\": \"ประเภทภาษีที่ถูกลบเรียบร้อยแล้ว\",\n      \"confirm_delete\": \"คุณจะไม่สามารถกู้คืนภาษีประเภทนี้ได้\",\n      \"already_in_use\": \"ภาษีมีอยู่แล้วในการใช้งาน\"\n    },\n    \"payment_modes\": {\n      \"title\": \"วิธีการชำระเงิน\",\n      \"description\": \"รูปแบบการทำธุรกรรมสำหรับการชำระเงิน\",\n      \"add_payment_mode\": \"เพิ่มวิธีการชำระเงิน\",\n      \"edit_payment_mode\": \"แก้ไขวิธีการชำระเงิน\",\n      \"mode_name\": \"ชื่อโหมด\",\n      \"payment_mode_added\": \"เพิ่มวิธีการชำระเงิน\",\n      \"payment_mode_updated\": \"อัปเดตวิธีการชำระเงิน\",\n      \"payment_mode_confirm_delete\": \"คุณจะไม่สามารถกู้คืนวิธีการชำระเงินนี้ได้\",\n      \"payments_attached\": \"วิธีการชำระเงินนี้ได้แนบกับการชำระเงินแล้วกรุณาลบการชำระเงินที่แนบมาเพื่อดำเนินการลบ\",\n      \"expenses_attached\": \"วิธีการชำระเงินนี้แนบมากับค่าใช้จ่ายแล้วกรุณาลบค่าใช้จ่ายที่แนบมาเพื่อดำเนินการลบ\",\n      \"deleted_message\": \"ลบวิธีการชำระเงินเรียบร้อยแล้ว\"\n    },\n    \"expense_category\": {\n      \"title\": \"ประเภทค่าใช้จ่าย\",\n      \"action\": \"จัดการ\",\n      \"description\": \"หมวดหมู่ที่จำเป็นสำหรับการเพิ่มรายการค่าใช้จ่ายคุณสามารถเพิ่มหรือลบหมวดหมู่เหล่านี้ได้ตามความชอบของคุณ\",\n      \"add_new_category\": \"เพิ่มหมวดหมู่ใหม่\",\n      \"add_category\": \"เพิ่มหมวดหมู่\",\n      \"edit_category\": \"แก้ไขหมวดหมู่\",\n      \"category_name\": \"ชื่อหมวดหมู่\",\n      \"category_description\": \"คำอธิบาย\",\n      \"created_message\": \"สร้างหมวดหมู่ค่าใช้จ่ายเรียบร้อยแล้ว\",\n      \"deleted_message\": \"หมวดหมู่ค่าใช้จ่ายที่ถูกลบเรียบร้อยแล้ว\",\n      \"updated_message\": \"อัพเดตหมวดหมู่ค่าใช้จ่ายเรียบร้อยแล้ว\",\n      \"confirm_delete\": \"คุณจะไม่สามารถกู้คืนหมวดหมู่ค่าใช้จ่ายนี้ได้\",\n      \"already_in_use\": \"หมวดหมู่ที่มีอยู่แล้วในการใช้งาน\"\n    },\n    \"preferences\": {\n      \"currency\": \"สกุลเงิน\",\n      \"default_language\": \"ภาษาเริ่มต้น\",\n      \"time_zone\": \"เขตเวลา\",\n      \"fiscal_year\": \"ปีงบการเงิน\",\n      \"date_format\": \"รูปแบบวันที่\",\n      \"discount_setting\": \"การตั้งค่าส่วนลด\",\n      \"discount_per_item\": \"ส่วนลดต่อรายการ \",\n      \"discount_setting_description\": \"เปิดใช้งานตัวเลือกนี้หากคุณต้องการเพิ่มส่วนลดให้กับรายการใบวางบิลแต่ละรายการโดยค่าเริ่มต้นส่วนลดจะถูกเพิ่มโดยตรงไปยังใบวางบิล\",\n      \"expire_public_links\": \"ลิงก์สาธารณะหมดอายุโดยอัตโนมัติ\",\n      \"expire_setting_description\": \"ระบุว่าคุณต้องการให้ลิงก์ทั้งหมดที่ส่งมาออกจากแอปพลิเคชันนี้หมดอายุอัตโนมัติ เพื่อให้สามารถดูใบแจ้งหนี้ การประมาณการ & การชำระเงิน ฯลฯ หลังจากระยะเวลาที่กำหนด\",\n      \"save\": \"บันทึก\",\n      \"preference\": \"การตั้งค่า | การตั้งค่า\",\n      \"general_settings\": \"การตั้งค่าเริ่มต้นสำหรับระบบ\",\n      \"updated_message\": \"อัพเดตการปรับแต่งเรียบร้อยแล้ว\",\n      \"select_language\": \"เลือกภาษา\",\n      \"select_time_zone\": \"เลือกโซนเวลา\",\n      \"select_date_format\": \"เลือกรูปแบบวันที่\",\n      \"select_financial_year\": \"เลือกปีการเงิน\",\n      \"recurring_invoice_status\": \"สถานะใบวางบิลประจำ\",\n      \"create_status\": \"สร้างสถานะ\",\n      \"active\": \"แอคทีฟ\",\n      \"on_hold\": \"พักไว้\",\n      \"update_status\": \"สถานะการอัพเดต\",\n      \"completed\": \"เสร็จสมบูรณ์\",\n      \"company_currency_unchangeable\": \"สกุลเงินของบริษัทไม่สามารถเปลี่ยนแปลงได้\"\n    },\n    \"update_app\": {\n      \"title\": \"อัพเดทแอพ\",\n      \"description\": \"คุณสามารถอัปเดตระบบได้ง่ายๆ โดยการตรวจหาการอัปเดตใหม่โดยคลิกที่ปุ่มด้านล่าง\",\n      \"check_update\": \"ตรวจหาการอัพเดต\",\n      \"avail_update\": \"อัปเดตใหม่พร้อมใช้งาน\",\n      \"next_version\": \"รุ่นถัดไป\",\n      \"requirements\": \"ข้อกำหนด\",\n      \"update\": \"อัปเดตเดี๋ยวนี้\",\n      \"update_progress\": \"กำลังอัพเดตอยู่...\",\n      \"progress_text\": \"มันจะใช้เวลาไม่กี่นาทีกรุณาอย่ารีเฟรชหน้าจอหรือปิดหน้าต่างก่อนที่การอัพเดตจะเสร็จสิ้น\",\n      \"update_success\": \"App ได้รับการอัพเดต!โปรดรอสักครู่ในขณะที่หน้าต่างเบราว์เซอร์ของคุณได้รับการโหลดใหม่โดยอัตโนมัติ\",\n      \"latest_message\": \"ไม่มีการอัพเดต!คุณอยู่ในรุ่นล่าสุด.\",\n      \"current_version\": \"เวอร์ชันปัจจุบัน\",\n      \"download_zip_file\": \"ดาวน์โหลดไฟล์ ZIP\",\n      \"unzipping_package\": \"แตกไฟล์แพ็คเกจ\",\n      \"copying_files\": \"การคัดลอกแฟ้ม\",\n      \"deleting_files\": \"การลบแฟ้มที่ไม่ได้ใช้\",\n      \"running_migrations\": \"กำลังทำงานโยกย้าย\",\n      \"finishing_update\": \"การอัพเดตเสร็จแล้ว\",\n      \"update_failed\": \"การอัพเดทล้มเหลว\",\n      \"update_failed_text\": \"โทษที!การอัปเดตของคุณล้มเหลวใน: ขั้นตอน {step}\",\n      \"update_warning\": \"ไฟล์แอปพลิเคชันและไฟล์แม่แบบเริ่มต้นทั้งหมดจะถูกเขียนทับเมื่อคุณอัปเดตแอปพลิเคชันโดยใช้ยูทิลิตีนี้โปรดใช้การสำรองข้อมูลของแม่แบบและฐานข้อมูลของคุณก่อนที่จะอัพเดต\"\n    },\n    \"backup\": {\n      \"title\": \"การสำรองข้อมูล | ข้อมูลสำรอง\",\n      \"description\": \"การสำรองข้อมูลเป็น zipfile ที่มีไฟล์ทั้งหมดในไดเรกทอรีที่คุณระบุพร้อมกับการถ่ายโอนข้อมูลของฐานข้อมูลของคุณ\",\n      \"new_backup\": \"เพิ่มข้อมูลสำรองใหม่\",\n      \"create_backup\": \"สร้างข้อมูลสำรอง\",\n      \"select_backup_type\": \"เลือกประเภทการสำรองข้อมูล\",\n      \"backup_confirm_delete\": \"คุณจะไม่สามารถกู้คืนข้อมูลสำรองนี้ได้\",\n      \"path\": \"เส้นทาง\",\n      \"new_disk\": \"ดิสก์ใหม่\",\n      \"created_at\": \"สร้างที่\",\n      \"size\": \"ขนาด\",\n      \"dropbox\": \"ดรอบ็อกซ์\",\n      \"local\": \"ท้องถิ่น\",\n      \"healthy\": \"แข็งแรง\",\n      \"amount_of_backups\": \"จำนวนการสำรองข้อมูล\",\n      \"newest_backups\": \"การสำรองข้อมูลใหม่ล่าสุด\",\n      \"used_storage\": \"ที่เก็บข้อมูลที่ใช้แล้ว\",\n      \"select_disk\": \"เลือกดิสก์\",\n      \"action\": \"จัดการ\",\n      \"deleted_message\": \"การสำรองข้อมูลถูกลบเรียบร้อยแล้ว\",\n      \"created_message\": \"สร้างการสำรองข้อมูลเรียบร้อยแล้ว\",\n      \"invalid_disk_credentials\": \"ข้อมูลประจำตัวของดิสก์ที่เลือกไม่ถูกต้อง\"\n    },\n    \"disk\": {\n      \"title\": \"ดิสก์แฟ้ม | ไฟล์ดิสก์\",\n      \"description\": \"โดยค่าเริ่มต้น Crater จะใช้ดิสก์ภายในเครื่องของคุณสำหรับการบันทึกข้อมูลสำรอง, avatar และไฟล์ภาพอื่น ๆคุณสามารถกำหนดค่าไดร์เวอร์ดิสก์ได้มากกว่าหนึ่งรายการ เช่น DigitalOcean, S3 และ Dropbox ตามความต้องการของคุณ\",\n      \"created_at\": \"สร้างที่\",\n      \"dropbox\": \"ดรอบ็อกซ์\",\n      \"name\": \"ชื่อ\",\n      \"driver\": \"คนขับรถ\",\n      \"disk_type\": \"ประเภท\",\n      \"disk_name\": \"ชื่อดิสก์\",\n      \"new_disk\": \"เพิ่มดิสก์ใหม่\",\n      \"filesystem_driver\": \"โปรแกรมควบคุมระบบแฟ้ม\",\n      \"local_driver\": \"คนขับรถท้องถิ่น\",\n      \"local_root\": \"รากท้องถิ่น\",\n      \"public_driver\": \"คนขับรถสาธารณะ\",\n      \"public_root\": \"รากสาธารณะ\",\n      \"public_url\": \"URL สาธารณะ\",\n      \"public_visibility\": \"ทัศนวิสัยของสาธารณชน\",\n      \"media_driver\": \"โปรแกรมควบคุมสื่อ\",\n      \"media_root\": \"รากสื่อ\",\n      \"aws_driver\": \"ไดรเวอร์ AWS\",\n      \"aws_key\": \"คีย์ AWS\",\n      \"aws_secret\": \"AWS ซีเคร็ต\",\n      \"aws_region\": \"ภูมิภาค AWS\",\n      \"aws_bucket\": \"AWS บัคเก็ต\",\n      \"aws_root\": \"รากของ AWS\",\n      \"do_spaces_type\": \"ประเภท Do Space\",\n      \"do_spaces_key\": \"ปุ่มเว้นวรรค\",\n      \"do_spaces_secret\": \"ทำช่องว่างลับ\",\n      \"do_spaces_region\": \"ทำพื้นที่ภูมิภาค\",\n      \"do_spaces_bucket\": \"ทำถังเว้นวรรค\",\n      \"do_spaces_endpoint\": \"ทำช่องว่างปลายทาง\",\n      \"do_spaces_root\": \"รูทช่องว่าง\",\n      \"dropbox_type\": \"ประเภทของ Dropbox\",\n      \"dropbox_token\": \"โทเค็น Dropbox\",\n      \"dropbox_key\": \"ปุ่ม Dropbox\",\n      \"dropbox_secret\": \"Dropbox Secret\",\n      \"dropbox_app\": \"แอป Dropbox\",\n      \"dropbox_root\": \"รูทของ Dropbox\",\n      \"default_driver\": \"โปรแกรมควบคุมเริ่มต้น\",\n      \"is_default\": \"เป็นค่าเริ่มต้น\",\n      \"set_default_disk\": \"ตั้งค่าดิสก์เริ่มต้น\",\n      \"set_default_disk_confirm\": \"ดิสก์นี้จะถูกตั้งค่าเป็นค่าเริ่มต้นและไฟล์ PDF ใหม่ทั้งหมดจะถูกบันทึกไว้ในดิสก์นี้\",\n      \"success_set_default_disk\": \"ตั้งค่าดิสก์เป็นค่าเริ่มต้นเรียบร้อยแล้ว\",\n      \"save_pdf_to_disk\": \"บันทึกไฟล์ PDF ลงในดิสก์\",\n      \"disk_setting_description\": \" เปิดใช้งานนี้, หากคุณต้องการบันทึกสำเนาของแต่ละใบวางบิล, ใบเสนอราคาและการชำระเงินใบเสร็จรับเงิน PDF บนดิสก์เริ่มต้นของคุณโดยอัตโนมัติ.การเปิดใช้ตัวเลือกนี้จะลดเวลาในการโหลดเมื่อดูไฟล์ PDF\",\n      \"select_disk\": \"เลือกดิสก์\",\n      \"disk_settings\": \"การตั้งค่าดิสก์\",\n      \"confirm_delete\": \"ไฟล์และโฟลเดอร์ที่มีอยู่ในดิสก์ที่ระบุจะไม่ได้รับผลกระทบ แต่การกำหนดค่าดิสก์ของคุณจะถูกลบออกจาก Crater\",\n      \"action\": \"จัดการ\",\n      \"edit_file_disk\": \"แก้ไขดิสก์แฟ้ม\",\n      \"success_create\": \"ดิสก์ที่เพิ่มเรียบร้อยแล้ว\",\n      \"success_update\": \"อัพเดตดิสก์เรียบร้อยแล้ว\",\n      \"error\": \"การเพิ่มดิสก์ล้มเหลว\",\n      \"deleted_message\": \"ดิสก์แฟ้มถูกลบเรียบร้อยแล้ว\",\n      \"disk_variables_save_successfully\": \"ดิสก์กำหนดค่าเรียบร้อยแล้ว\",\n      \"disk_variables_save_error\": \"การกำหนดค่าดิสก์ล้มเหลว\",\n      \"invalid_disk_credentials\": \"ข้อมูลประจำตัวของดิสก์ที่เลือกไม่ถูกต้อง\"\n    },\n    \"taxations\": {\n      \"add_billing_address\": \"ป้อนที่อยู่สำหรับเรียกเก็บเงิน\",\n      \"add_shipping_address\": \"ป้อนที่อยู่จัดส่ง\",\n      \"add_company_address\": \"ใส่ที่อยู่บริษัท\",\n      \"modal_description\": \"ข้อมูลด้านล่างเป็นสิ่งจำเป็นเพื่อที่จะดึงข้อมูลภาษีการขาย\",\n      \"add_address\": \"เพิ่มที่อยู่สำหรับการเรียกภาษีการขาย\",\n      \"address_placeholder\": \"ตัวอย่าง: 123 ถนนของฉัน\",\n      \"city_placeholder\": \"ตัวอย่าง: ลอสแอนเจลิส\",\n      \"state_placeholder\": \"ตัวอย่าง: CA\",\n      \"zip_placeholder\": \"ตัวอย่าง: 90024\",\n      \"invalid_address\": \"โปรดระบุรายละเอียดที่อยู่ที่ถูกต้อง\"\n    }\n  },\n  \"wizard\": {\n    \"account_info\": \"ข้อมูลบัญชี\",\n    \"account_info_desc\": \"รายละเอียดด้านล่างจะถูกใช้ในการสร้างบัญชีผู้ดูแลระบบหลักนอกจากนี้คุณสามารถเปลี่ยนรายละเอียดได้ตลอดเวลาหลังจากเข้าสู่ระบบ\",\n    \"name\": \"ชื่อ\",\n    \"email\": \"อีเมล์\",\n    \"password\": \"รหัสผ่าน\",\n    \"confirm_password\": \"ยืนยันรหัสผ่าน\",\n    \"save_cont\": \"บันทึกและดำเนินการต่อ\",\n    \"company_info\": \"ข้อมูลบริษัท\",\n    \"company_info_desc\": \"ข้อมูลนี้จะถูกแสดงในใบวางบิลโปรดทราบว่าคุณสามารถแก้ไขได้ในภายหลังในหน้าการตั้งค่า\",\n    \"company_name\": \"ชื่อบริษัท\",\n    \"company_logo\": \"โลโก้บริษัท\",\n    \"logo_preview\": \"แสดงตัวอย่างโลโก้\",\n    \"preferences\": \"การกำหนดลักษณะบริษัท\",\n    \"preferences_desc\": \"ระบุการตั้งค่าเริ่มต้นสำหรับ บริษัท นี้\",\n    \"currency_set_alert\": \"สกุลเงินของบริษัทไม่สามารถเปลี่ยนแปลงได้ในภายหลัง\",\n    \"country\": \"ประเทศ\",\n    \"state\": \"เขต/อำเภอ\",\n    \"city\": \"จังหวัด\",\n    \"address\": \"ที่อยู่\",\n    \"street\": \"ที่อยู่บรรทัด 1 | ที่อยู่บรรทัด  2\",\n    \"phone\": \"โทรศัพท์\",\n    \"zip_code\": \"รหัสไปรษณีย์\",\n    \"go_back\": \"กลับไป\",\n    \"currency\": \"สกุลเงิน\",\n    \"language\": \"ภาษา\",\n    \"time_zone\": \"เขตเวลา\",\n    \"fiscal_year\": \"ปีงบการเงิน\",\n    \"date_format\": \"รูปแบบวันที่\",\n    \"from_address\": \"จากที่อยู่\",\n    \"username\": \"ชื่อผู้ใช้\",\n    \"next\": \"ถัดไป\",\n    \"continue\": \"ดำเนินการต่อ\",\n    \"skip\": \"ข้าม\",\n    \"database\": {\n      \"database\": \"URL ของไซต์และฐานข้อมูล\",\n      \"connection\": \"การเชื่อมต่อฐานข้อมูล\",\n      \"host\": \"โฮสต์ฐานข้อมูล\",\n      \"port\": \"พอร์ตฐานข้อมูล\",\n      \"password\": \"รหัสผ่านฐานข้อมูล\",\n      \"app_url\": \"URL ของแอป\",\n      \"app_domain\": \"โดเมนของแอป\",\n      \"username\": \"ชื่อผู้ใช้ฐานข้อมูล\",\n      \"db_name\": \"ชื่อฐานข้อมูล\",\n      \"db_path\": \"เส้นทางฐานข้อมูล\",\n      \"desc\": \"สร้างฐานข้อมูลบนเซิร์ฟเวอร์ของคุณและตั้งค่าข้อมูลประจำตัวโดยใช้แบบฟอร์มด้านล่าง\"\n    },\n    \"permissions\": {\n      \"permissions\": \"การอนุญาต\",\n      \"permission_confirm_title\": \"คุณแน่ใจเหรอว่าอยากจะทำต่อ\",\n      \"permission_confirm_desc\": \"การตรวจสอบสิทธิ์ของโฟลเดอร์ล้มเหลว\",\n      \"permission_desc\": \"ด้านล่างนี้คือรายการสิทธิ์ของโฟลเดอร์ที่จำเป็นเพื่อให้แอปทำงานได้หากการตรวจสอบสิทธิ์ล้มเหลว โปรดตรวจสอบให้แน่ใจว่าคุณได้ทำการอัพเดตสิทธิ์การเข้าถึงของโฟลเดอร์เรียบร้อยแล้ว\"\n    },\n    \"verify_domain\": {\n      \"title\": \"การยืนยันโดเมน\",\n      \"desc\": \"ระบบใช้การรับรองความถูกต้องตามเซสชันซึ่งต้องมีการตรวจสอบโดเมนเพื่อวัตถุประสงค์ด้านความปลอดภัยโปรดป้อนโดเมนที่คุณจะเข้าถึงเว็บแอปพลิเคชันของคุณ\",\n      \"app_domain\": \"โดเมนของแอป\",\n      \"verify_now\": \"ตรวจสอบเดี๋ยวนี้\",\n      \"success\": \"ตรวจสอบโดเมนเรียบร้อยแล้ว\",\n      \"failed\": \"การตรวจสอบโดเมนล้มเหลวโปรดป้อนชื่อโดเมนที่ถูกต้อง\",\n      \"verify_and_continue\": \"ยืนยันและดำเนินการต่อ\"\n    },\n    \"mail\": {\n      \"host\": \"โฮสต์จดหมาย\",\n      \"port\": \"พอร์ตเมล\",\n      \"driver\": \"โปรแกรมควบคุมจดหมาย\",\n      \"secret\": \"ความลับ\",\n      \"mailgun_secret\": \"ความลับปืนพกปืน\",\n      \"mailgun_domain\": \"โดเมน\",\n      \"mailgun_endpoint\": \"ปลายทาง Mailgun\",\n      \"ses_secret\": \"SES ซีเคร็ต\",\n      \"ses_key\": \"SES คีย์\",\n      \"password\": \"รหัสผ่านจดหมาย\",\n      \"username\": \"ชื่อผู้ใช้จดหมาย\",\n      \"mail_config\": \"การกำหนดค่าจดหมาย\",\n      \"from_name\": \"จากชื่อจดหมาย\",\n      \"from_mail\": \"จากที่อยู่อีเมล\",\n      \"encryption\": \"การเข้ารหัสจดหมาย\",\n      \"mail_config_desc\": \"ด้านล่างเป็นรูปแบบสำหรับการกำหนดค่าไดรเวอร์อีเมลสำหรับการส่งอีเมลจาก appนอกจากนี้คุณยังสามารถกำหนดค่าผู้ให้บริการของบุคคลที่สามเช่น Sendgrid, SES ฯลฯ\"\n    },\n    \"req\": {\n      \"system_req\": \"ความต้องการของระบบ\",\n      \"php_req_version\": \"PHP (เวอร์ชัน {version} จำเป็นต้องใช้)\",\n      \"check_req\": \"ตรวจสอบความต้องการ\",\n      \"system_req_desc\": \"ระบบมีความต้องการเซิร์ฟเวอร์ไม่กี่ตรวจสอบให้แน่ใจว่าเซิร์ฟเวอร์ของคุณมีเวอร์ชัน PHP ที่จำเป็นและส่วนขยายทั้งหมดที่กล่าวถึงด้านล่าง\"\n    },\n    \"errors\": {\n      \"migrate_failed\": \"การโยกย้ายล้มเหลว\",\n      \"database_variables_save_error\": \"ไม่สามารถเขียนการกำหนดค่าไปยังแฟ้ม.envกรุณาตรวจสอบสิทธิ์ของไฟล์\",\n      \"mail_variables_save_error\": \"การกำหนดค่าอีเมลล้มเหลว\",\n      \"connection_failed\": \"การเชื่อมต่อฐานข้อมูลล้มเหลว\",\n      \"database_should_be_empty\": \"ฐานข้อมูลควรจะว่างเปล่า\"\n    },\n    \"success\": {\n      \"mail_variables_save_successfully\": \"การกำหนดค่าอีเมลเรียบร้อยแล้ว\",\n      \"database_variables_save_successfully\": \"ฐานข้อมูลการกำหนดค่าเรียบร้อยแล้ว\"\n    }\n  },\n  \"validation\": {\n    \"invalid_phone\": \"หมายเลขโทรศัพท์ไม่ถูกต้อง\",\n    \"invalid_url\": \"URL ไม่ถูกต้อง (เช่น http://www.craterapp.com)\",\n    \"invalid_domain_url\": \"URL ไม่ถูกต้อง (เช่น: craterapp.com)\",\n    \"required\": \"ต้องกรอกข้อมูล\",\n    \"email_incorrect\": \"อีเมลไม่ถูกต้อง\",\n    \"email_already_taken\": \"อีเมลถูกถ่ายไปแล้ว\",\n    \"email_does_not_exist\": \"ผู้ใช้ที่มีอีเมลที่ระบุไม่มีอยู่\",\n    \"item_unit_already_taken\": \"ชื่อหน่วยรายการนี้ได้รับการถ่ายแล้ว\",\n    \"payment_mode_already_taken\": \"ชื่อวิธีการชำระเงินนี้ได้รับการดำเนินการแล้ว\",\n    \"send_reset_link\": \"ส่งลิงก์รีเซ็ต\",\n    \"not_yet\": \"ยังงั้นเหรอส่งอีกครั้ง\",\n    \"password_min_length\": \"รหัสผ่านต้องประกอบด้วยอักขระ {count}\",\n    \"name_min_length\": \"ชื่อต้องมีตัวอักษรอย่างน้อย {count}\",\n    \"prefix_min_length\": \"Prefix ต้องมีตัวอักษรอย่างน้อย {count}\",\n    \"enter_valid_tax_rate\": \"ป้อนอัตราภาษีที่ถูกต้อง\",\n    \"numbers_only\": \"เลขที่เท่านั้น\",\n    \"characters_only\": \"อักขระเท่านั้น\",\n    \"password_incorrect\": \"รหัสผ่านต้องเหมือนกัน\",\n    \"password_length\": \"รหัสผ่านต้องมีความยาว {count} อักขระ\",\n    \"qty_must_greater_than_zero\": \"ปริมาณต้องมากกว่าศูนย์\",\n    \"price_greater_than_zero\": \"ราคาต้องมากกว่าศูนย์\",\n    \"payment_greater_than_zero\": \"การชำระเงินต้องมากกว่าศูนย์\",\n    \"payment_greater_than_due_amount\": \"การชำระเงินที่ป้อนเป็นมากกว่าจำนวนเงินค้างชำระของใบวางบิลนี้\",\n    \"quantity_maxlength\": \"จำนวนไม่ควรเกิน 20 หลัก\",\n    \"price_maxlength\": \"ราคาไม่ควรเกิน 20 หลัก\",\n    \"price_minvalue\": \"ราคาควรมากกว่า 0\",\n    \"amount_maxlength\": \"จำนวนเงินที่ไม่ควรมากกว่า 20 หลัก\",\n    \"amount_minvalue\": \"จำนวนเงินที่ควรจะมากกว่า 0\",\n    \"discount_maxlength\": \"ส่วนลดไม่ควรเกินส่วนลดสูงสุด\",\n    \"description_maxlength\": \"คำอธิบายไม่ควรเกิน 255 ตัวอักษร\",\n    \"subject_maxlength\": \"เรื่องไม่ควรเกิน 100 ตัวอักษร\",\n    \"message_maxlength\": \"ข้อความไม่ควรเกิน 255 ตัวอักษร\",\n    \"maximum_options_error\": \"เลือกตัวเลือก {max} ได้สูงสุดขั้นแรกให้ลบตัวเลือกที่เลือกเพื่อเลือกตัวเลือกอื่น\",\n    \"notes_maxlength\": \"หมายเหตุไม่ควรเกิน 65,000 ตัวอักษร\",\n    \"address_maxlength\": \"ที่อยู่ไม่ควรเกิน 255 ตัวอักษร\",\n    \"ref_number_maxlength\": \"หมายเลขอ้างอิง ไม่ควรเกิน 255 ตัวอักษร\",\n    \"prefix_maxlength\": \"Prefix ไม่ควรเกิน 5 ตัวอักษร\",\n    \"something_went_wrong\": \"มีบางอย่างผิดพลาด\",\n    \"number_length_minvalue\": \"ความยาวจำนวนควรมากกว่า 0\",\n    \"at_least_one_ability\": \"โปรดเลือกอย่างน้อยหนึ่งสิทธิ์\",\n    \"valid_driver_key\": \"โปรดป้อนคีย์ {driver} ที่ถูกต้อง\",\n    \"valid_exchange_rate\": \"กรุณากรอกอัตราแลกเปลี่ยนที่ถูกต้อง\",\n    \"company_name_not_same\": \"ชื่อ บริษัท ต้องตรงกับชื่อที่กำหนด\"\n  },\n  \"errors\": {\n    \"starter_plan\": \"คุณสมบัตินี้สามารถใช้ได้ในแผน Starter และเป็นต้นไป!\",\n    \"invalid_provider_key\": \"โปรดป้อนคีย์ API ของผู้ให้บริการที่ถูกต้อง\",\n    \"estimate_number_used\": \"เลขที่ใบเสนอราคาได้ถูกใช้ไปแล้ว\",\n    \"invoice_number_used\": \"เลขที่ใบวางบิลได้ถูกนำไปใช้แล้ว\",\n    \"payment_attached\": \"ใบวางบิลนี้มีการชำระเงินที่แนบมากับใบวางบิลแล้วตรวจสอบให้แน่ใจว่าได้ลบการชำระเงินที่แนบมาก่อนเพื่อที่จะดำเนินการลบต่อไป\",\n    \"payment_number_used\": \"เลขที่การชำระเงินได้รับการดำเนินการแล้ว\",\n    \"name_already_taken\": \"ชื่อได้ถูกนำไปแล้ว\",\n    \"receipt_does_not_exist\": \"ไม่มีใบเสร็จรับเงิน\",\n    \"customer_cannot_be_changed_after_payment_is_added\": \"ลูกค้าไม่สามารถเปลี่ยนแปลงได้หลังจากเพิ่มการชำระเงินแล้ว\",\n    \"invalid_credentials\": \"ข้อมูลประจำตัวไม่ถูกต้อง\",\n    \"not_allowed\": \"ไม่อนุญาต\",\n    \"login_invalid_credentials\": \"ข้อมูลประจำตัวเหล่านี้ไม่ตรงกับบันทึกของเรา\",\n    \"enter_valid_cron_format\": \"โปรดป้อนรูปแบบ cron ที่ถูกต้อง\",\n    \"email_could_not_be_sent\": \"ไม่สามารถส่งอีเมลไปยังที่อยู่อีเมลนี้ได้\",\n    \"invalid_address\": \"โปรดป้อนที่อยู่ที่ถูกต้อง\",\n    \"invalid_key\": \"โปรดป้อนรหัสที่ถูกต้อง\",\n    \"invalid_state\": \"โปรดป้อนสถานะที่ถูกต้อง\",\n    \"invalid_city\": \"โปรดป้อนจังหวัดที่ถูกต้อง\",\n    \"invalid_postal_code\": \"กรุณาป้อนรหัสไปรษณีย์ที่ถูกต้อง.\",\n    \"invalid_format\": \"โปรดป้อนรูปแบบสตริงแบบสอบถามที่ถูกต้อง\",\n    \"api_error\": \"เซิร์ฟเวอร์ไม่ตอบสนอง\",\n    \"feature_not_enabled\": \"ไม่ได้เปิดใช้งานฟีเจอร์\",\n    \"request_limit_met\": \"เกินขีด จำกัด การร้องขอ API\",\n    \"address_incomplete\": \"ที่อยู่ไม่สมบูรณ์\"\n  },\n  \"pdf_estimate_label\": \"ใบเสนอราคา\",\n  \"pdf_estimate_number\": \"เลขที่\",\n  \"pdf_estimate_date\": \"วันที่\",\n  \"pdf_estimate_expire_date\": \"วันหมดอายุ\",\n  \"pdf_invoice_label\": \"ใบวางบิล\",\n  \"pdf_invoice_number\": \"เลขที่ใบวางบิล\",\n  \"pdf_invoice_date\": \"วันที่ใบวางบิล\",\n  \"pdf_invoice_due_date\": \"วันครบกำหนด\",\n  \"pdf_notes\": \"หมายเหตุ\",\n  \"pdf_items_label\": \"บริการ\",\n  \"pdf_quantity_label\": \"หน่วย\",\n  \"pdf_price_label\": \"ราคาต่อหน่วย\",\n  \"pdf_discount_label\": \"ส่วนลด\",\n  \"pdf_amount_label\": \"จำนวนเงิน (บาท)\",\n  \"pdf_subtotal\": \"ยอดรวม\",\n  \"pdf_total\": \"จำนวนเงินทั้งสิ้น\",\n  \"pdf_payment_label\": \"การชำระเงิน\",\n  \"pdf_payment_receipt_label\": \"ใบเสร็จรับเงิน\",\n  \"pdf_payment_date\": \"วันที่ชำระเงิน\",\n  \"pdf_payment_number\": \"เลขที่การชำระเงิน\",\n  \"pdf_payment_mode\": \"วิธีการชำระเงิน\",\n  \"pdf_payment_amount_received_label\": \"จำนวนเงินที่ได้รับ\",\n  \"pdf_expense_report_label\": \"รายงานค่าใช้จ่าย\",\n  \"pdf_total_expenses_label\": \"ค่าใช้จ่ายทั้งหมด\",\n  \"pdf_profit_loss_label\": \"รายงานผลกำไรขาดทุน\",\n  \"pdf_sales_customers_label\": \"รายงานลูกค้าฝ่ายขาย\",\n  \"pdf_sales_items_label\": \"รายงานรายการขาย\",\n  \"pdf_tax_summery_label\": \"รายงานสรุปภาษี\",\n  \"pdf_income_label\": \"เงินได้\",\n  \"pdf_net_profit_label\": \"กำไรสุทธิ\",\n  \"pdf_customer_sales_report\": \"รายงานการขาย: โดยลูกค้า\",\n  \"pdf_total_sales_label\": \"ยอดขายรวม\",\n  \"pdf_item_sales_label\": \"รายงานการขาย: ตามรายการ\",\n  \"pdf_tax_report_label\": \"รายงานภาษี\",\n  \"pdf_total_tax_label\": \"ภาษีทั้งหมด\",\n  \"pdf_tax_types_label\": \"ประเภทภาษี\",\n  \"pdf_expenses_label\": \"ค่าใช้จ่าย\",\n  \"pdf_bill_to\": \"ที่อยู่เรียกเก็บเงิน,\",\n  \"pdf_ship_to\": \"ที่อยู่สำหรับจัดส่ง,\",\n  \"pdf_received_from\": \"ได้รับจาก:\",\n  \"pdf_tax_label\": \"ภาษี\",\n  \"pdf_company_name\": \"ผู้เสนอราคา\",\n  \"pdf_customer\": \"ลูกค้า\",\n  \"pdf_address\": \"ที่อยู่\"\n}\n"
  },
  {
    "path": "resources/scripts/locales/tr.json",
    "content": "{\n  \"navigation\": {\n    \"dashboard\": \"Kontrol paneli\",\n    \"customers\": \"Müşteriler\",\n    \"items\": \"Ürünler\",\n    \"invoices\": \"Faturalar\",\n    \"recurring-invoices\": \"Tekrarlayan Faturalar\",\n    \"expenses\": \"Harcamalar\",\n    \"estimates\": \"Proformalar\",\n    \"payments\": \"Ödemeler\",\n    \"reports\": \"Raporlar\",\n    \"settings\": \"Ayarlar\",\n    \"logout\": \"Çıkış yap\",\n    \"users\": \"Kullanıcılar\",\n    \"modules\": \"Modüller\"\n  },\n  \"general\": {\n    \"add_company\": \"Firma ekle\",\n    \"view_pdf\": \"PDF görüntüle\",\n    \"copy_pdf_url\": \"PDF bağlantısını kopyala\",\n    \"download_pdf\": \"PDF indir\",\n    \"save\": \"Kaydet\",\n    \"create\": \"Oluştur\",\n    \"cancel\": \"İptal\",\n    \"update\": \"Güncelle\",\n    \"deselect\": \"Seçimi kaldır\",\n    \"download\": \"İndir\",\n    \"from_date\": \"Başlangıç tarihi\",\n    \"to_date\": \"Bitiş tarihi\",\n    \"from\": \"Gönderen\",\n    \"to\": \"Alıcı\",\n    \"ok\": \"Tamam\",\n    \"yes\": \"Evet\",\n    \"no\": \"Hayır\",\n    \"sort_by\": \"Sıralama ölçütü\",\n    \"ascending\": \"Artan\",\n    \"descending\": \"Azalan\",\n    \"subject\": \"Konu\",\n    \"body\": \"Gövde\",\n    \"message\": \"Mesaj\",\n    \"send\": \"Gönder\",\n    \"preview\": \"Ön İzleme\",\n    \"go_back\": \"Geri dön\",\n    \"back_to_login\": \"Giriş sayfasına dönülsün mü?\",\n    \"home\": \"Ana sayfa\",\n    \"filter\": \"Filtrele\",\n    \"delete\": \"Sil\",\n    \"edit\": \"Düzenle\",\n    \"view\": \"Görüntüle\",\n    \"add_new_item\": \"Yeni Öğe Ekle\",\n    \"clear_all\": \"Tümünü Sil\",\n    \"showing\": \"Gösteriliyor\",\n    \"of\": \"'un\",\n    \"actions\": \"Eylemler\",\n    \"subtotal\": \"ARA TOPLAM\",\n    \"discount\": \"İSKONTO\",\n    \"fixed\": \"Sabit\",\n    \"percentage\": \"Yüzde\",\n    \"tax\": \"VERGİ\",\n    \"total_amount\": \"TOPLAM\",\n    \"bill_to\": \"Fatura Adresi\",\n    \"ship_to\": \"Sevkiyat Adresi\",\n    \"due\": \"Son Tarih\",\n    \"draft\": \"Taslak\",\n    \"sent\": \"Gönderildi\",\n    \"all\": \"Tümü\",\n    \"select_all\": \"Hepsini Seç\",\n    \"select_template\": \"Şablon Seçin\",\n    \"choose_file\": \"Bir dosya seçmek için buraya tıklayın\",\n    \"choose_template\": \"Bir şablon seçin\",\n    \"choose\": \"Seç\",\n    \"remove\": \"Kaldır\",\n    \"select_a_status\": \"Bir durum seçin\",\n    \"select_a_tax\": \"Vergi Seçiniz\",\n    \"search\": \"Ara\",\n    \"are_you_sure\": \"Emin misiniz?\",\n    \"list_is_empty\": \"Liste boş.\",\n    \"no_tax_found\": \"Vergi bulunmadı!\",\n    \"four_zero_four\": \"404\",\n    \"you_got_lost\": \"Tüh! Kayboldunuz!\",\n    \"go_home\": \"Anasayfa\",\n    \"test_mail_conf\": \"E-posta kurulumunu dene\",\n    \"send_mail_successfully\": \"E-posta başarıyla gönderildi\",\n    \"setting_updated\": \"Ayarlar başarıyla güncellendi\",\n    \"select_state\": \"İl Seçiniz\",\n    \"select_country\": \"Ülke Seçin\",\n    \"select_city\": \"Şehir Seçin\",\n    \"street_1\": \"Adres 1\",\n    \"street_2\": \"Adres 2\",\n    \"action_failed\": \"Eylem Başarısız\",\n    \"retry\": \"Yeniden Dene\",\n    \"choose_note\": \"Not Seçin\",\n    \"no_note_found\": \"Not Bulunamadı\",\n    \"insert_note\": \"Not Ekle\",\n    \"copied_pdf_url_clipboard\": \"PDF bağlantısı panoya kopyalandı!\",\n    \"copied_url_clipboard\": \"URL panoya kopyalandı!\",\n    \"docs\": \"Belgeler\",\n    \"do_you_wish_to_continue\": \"Devam etmek istiyor musunuz?\",\n    \"note\": \"Not\",\n    \"pay_invoice\": \"Fatura ödeme\",\n    \"login_successfully\": \"Başarıyla giriş yapıldı!\",\n    \"logged_out_successfully\": \"Başarıyla çıkış yapıldı\",\n    \"mark_as_default\": \"Varsayılan olarak işaretleyin\"\n  },\n  \"dashboard\": {\n    \"select_year\": \"Yılı seçin\",\n    \"cards\": {\n      \"due_amount\": \"Ödenmesi gereken tutar\",\n      \"customers\": \"Müşteriler\",\n      \"invoices\": \"Faturalar\",\n      \"estimates\": \"Proformalar\",\n      \"payments\": \"Ödemeler\"\n    },\n    \"chart_info\": {\n      \"total_sales\": \"Satışlar\",\n      \"total_receipts\": \"Faturalar\",\n      \"total_expense\": \"Giderler\",\n      \"net_income\": \"Net Gelir\",\n      \"year\": \"Yılı seçin\"\n    },\n    \"monthly_chart\": {\n      \"title\": \"Satışlar ve Giderler\"\n    },\n    \"recent_invoices_card\": {\n      \"title\": \"Ödenecek Faturalar\",\n      \"due_on\": \"Bitiş Tarihi\",\n      \"customer\": \"Müşteri\",\n      \"amount_due\": \"Ödenmesi gereken tutar\",\n      \"actions\": \"Eylemler\",\n      \"view_all\": \"Hepsini görüntüle\"\n    },\n    \"recent_estimate_card\": {\n      \"title\": \"Son proformalar\",\n      \"date\": \"Tarih\",\n      \"customer\": \"Müşteri\",\n      \"amount_due\": \"Ödenmesi gereken tutar\",\n      \"actions\": \"Eylemler\",\n      \"view_all\": \"Hepsini görüntüle\"\n    }\n  },\n  \"tax_types\": {\n    \"name\": \"İsim\",\n    \"description\": \"Açıklama\",\n    \"percent\": \"Yüzde\",\n    \"compound_tax\": \"Vergi dahil\"\n  },\n  \"global_search\": {\n    \"search\": \"Ara...\",\n    \"customers\": \"Müşteriler\",\n    \"users\": \"Kullanıcılar\",\n    \"no_results_found\": \"Hiçbir sonuç bulunamadı\"\n  },\n  \"company_switcher\": {\n    \"label\": \"ŞİRKETİ DEĞİŞTİR\",\n    \"no_results_found\": \"Hiçbir sonuç bulunamadı\",\n    \"add_new_company\": \"Yeni Firma Ekle\",\n    \"new_company\": \"Yeni Şirket\",\n    \"created_message\": \"Firma başarıyla oluşturuldu\"\n  },\n  \"dateRange\": {\n    \"today\": \"Bugün\",\n    \"this_week\": \"Bu Hafta\",\n    \"this_month\": \"Bu Ay\",\n    \"this_quarter\": \"Bu Çeyrek Yıl\",\n    \"this_year\": \"Bu Yıl\",\n    \"previous_week\": \"Önceki Hafta\",\n    \"previous_month\": \"Önceki Ay\",\n    \"previous_quarter\": \"Önceki Çeyrek Yıl\",\n    \"previous_year\": \"Önceki Yıl\",\n    \"custom\": \"Özel\"\n  },\n  \"customers\": {\n    \"title\": \"Müşteriler\",\n    \"prefix\": \"Ön ek\",\n    \"add_customer\": \"Müşteri ekle\",\n    \"contacts_list\": \"Müşteri listesi\",\n    \"name\": \"İsim\",\n    \"mail\": \"E-posta | E-postalar\",\n    \"statement\": \"Durum\",\n    \"display_name\": \"Görünen isim\",\n    \"primary_contact_name\": \"Birincil iletişim kurulacak kişi ismi\",\n    \"contact_name\": \"İletişim kurulacak kişi ismi\",\n    \"amount_due\": \"Ödenmesi gereken tutar\",\n    \"email\": \"E-posta\",\n    \"address\": \"Adres\",\n    \"phone\": \"Telefon\",\n    \"website\": \"Web sitesi\",\n    \"overview\": \"Özet\",\n    \"invoice_prefix\": \"Fatura Öneki\",\n    \"estimate_prefix\": \"Proforma Öneki\",\n    \"payment_prefix\": \"Ödeme öneki\",\n    \"enable_portal\": \"Portalı etkinleştir\",\n    \"country\": \"Ülke\",\n    \"state\": \"İl\",\n    \"city\": \"İlçe\",\n    \"zip_code\": \"Posta kodu\",\n    \"added_on\": \"Eklenme tarihi\",\n    \"action\": \"Eylem\",\n    \"password\": \"Parola\",\n    \"confirm_password\": \"Parolayı Doğrula\",\n    \"street_number\": \"Sokak ve numara\",\n    \"primary_currency\": \"Ana para birimi\",\n    \"description\": \"Açıklama\",\n    \"add_new_customer\": \"Yeni müşteri ekle\",\n    \"save_customer\": \"Müşteriyi kaydet\",\n    \"update_customer\": \"Müşteriyi güncelle\",\n    \"customer\": \"Müşteri | Müşteriler\",\n    \"new_customer\": \"Yeni müşteri\",\n    \"edit_customer\": \"Müşteriyi düzenle\",\n    \"basic_info\": \"Temel bilgiler\",\n    \"portal_access\": \"Portal Erişimi\",\n    \"portal_access_text\": \"Bu müşterinin Müşteri Portalı'na giriş yapmasına izin vermek ister misiniz?\",\n    \"portal_access_url\": \"Müşteri Portal Giriş URL'si\",\n    \"portal_access_url_help\": \"Erişim sağlamak için lütfen yukarıda verilen URL'yi kopyalayıp müşterinize iletin.\",\n    \"billing_address\": \"Fatura Adresi\",\n    \"shipping_address\": \"Teslimat Adresi\",\n    \"copy_billing_address\": \"Faturadan Kopyala\",\n    \"no_customers\": \"Daha müşteri yok!\",\n    \"no_customers_found\": \"Müşteri bulunamadı!\",\n    \"no_contact\": \"Bağlantı yok\",\n    \"no_contact_name\": \"Bağlantı adı yok\",\n    \"list_of_customers\": \"Bu bölüm müşteri listesini bulunduracaktır.\",\n    \"primary_display_name\": \"Ana kullanıcı adı\",\n    \"select_currency\": \"Para birimi seç\",\n    \"select_a_customer\": \"Müşteri seç\",\n    \"type_or_click\": \"Seçmek için yazın veya tıklayın\",\n    \"new_transaction\": \"Yeni İşlem\",\n    \"no_matching_customers\": \"Eşleşen müşteri yok!\",\n    \"phone_number\": \"Telefon numarası\",\n    \"create_date\": \"Oluşturma Tarihi\",\n    \"confirm_delete\": \"Bu müşteri ve ilgili tüm Fatura, Proformalar ve ödemeleri geri getiremeyeceksiniz. | Bu müşteriler ve ilgili tüm Fatura, Proformalar ve ödemeleri geri getiremeyeceksiniz.\",\n    \"created_message\": \"Müşteri başarıyla oluşturuldu\",\n    \"updated_message\": \"Müşteri başarıyla güncellendi\",\n    \"address_updated_message\": \"Adres Bilgileri başarıyla güncellendi\",\n    \"deleted_message\": \"Müşteri başarıyla silindi | Müşteriler başarıyla silindi\",\n    \"edit_currency_not_allowed\": \"İşlemler oluşturulduktan sonra para birimi değiştirilemez.\"\n  },\n  \"items\": {\n    \"title\": \"Öğeler\",\n    \"items_list\": \"Öğe listesi\",\n    \"name\": \"İsim\",\n    \"unit\": \"Birim\",\n    \"description\": \"Açıklama\",\n    \"added_on\": \"Eklenme tarihi\",\n    \"price\": \"Fiyat\",\n    \"date_of_creation\": \"Oluşturma tarihi\",\n    \"not_selected\": \"Seçilmiş öğe yok\",\n    \"action\": \"Eylem\",\n    \"add_item\": \"Öğe ekle\",\n    \"save_item\": \"Öğeyi kaydet\",\n    \"update_item\": \"Öğeleri güncelle\",\n    \"item\": \"Öğe | Öğeler\",\n    \"add_new_item\": \"Yeni Öğe Ekle\",\n    \"new_item\": \"Yeni Öğe\",\n    \"edit_item\": \"Öğeyi Düzenle\",\n    \"no_items\": \"Daha öğe yok!\",\n    \"list_of_items\": \"Bu bölüm öğelerin listesini bulunduracaktır.\",\n    \"select_a_unit\": \"birim seçin\",\n    \"taxes\": \"Vergiler\",\n    \"item_attached_message\": \"Kullanımda bulunan öğe silinemez\",\n    \"confirm_delete\": \"Bu Öğeyi silerseniz geri alamayacaksınız | Bu Öğeleri silerseniz geri alamayacaksınız\",\n    \"created_message\": \"Öğe başarıyla oluşturuldu\",\n    \"updated_message\": \"Öğe başarıyla güncellendi\",\n    \"deleted_message\": \"Öğe başarıyla silindi | Öğeler başarıyla silindi\"\n  },\n  \"estimates\": {\n    \"title\": \"Proformalar\",\n    \"accept_estimate\": \"Proformayı Onayla\",\n    \"reject_estimate\": \"Proformayı Reddet\",\n    \"estimate\": \"Proforma | Proformalar\",\n    \"estimates_list\": \"Proforma Listesi\",\n    \"days\": \"{days} Günler\",\n    \"months\": \"{months} Ay\",\n    \"years\": \"{years} Yıl\",\n    \"all\": \"Tümü\",\n    \"paid\": \"Ödendi\",\n    \"unpaid\": \"Ödenmedi\",\n    \"customer\": \"MÜŞTERİ\",\n    \"ref_no\": \"REF NO.\",\n    \"number\": \"SAYI\",\n    \"amount_due\": \"ÖDENMESİ GEREKEN TUTAR\",\n    \"partially_paid\": \"Kısmen ödendi\",\n    \"total\": \"Toplam\",\n    \"discount\": \"İskonto\",\n    \"sub_total\": \"Ara toplam\",\n    \"estimate_number\": \"Proforma numarası\",\n    \"ref_number\": \"Referans numarası\",\n    \"contact\": \"İletişim\",\n    \"add_item\": \"Öğe ekle\",\n    \"date\": \"Tarih\",\n    \"due_date\": \"Ödeme tarihi\",\n    \"expiry_date\": \"Son geçerlilik tarihi\",\n    \"status\": \"Durum\",\n    \"add_tax\": \"Vergi ekle\",\n    \"amount\": \"Tutar\",\n    \"action\": \"Eylem\",\n    \"notes\": \"Notlar\",\n    \"tax\": \"Vergi\",\n    \"estimate_template\": \"Şablon\",\n    \"convert_to_invoice\": \"Faturaya çevir\",\n    \"mark_as_sent\": \"Gönderildi olarak işaretle\",\n    \"send_estimate\": \"Proformayı gönder\",\n    \"resend_estimate\": \"Proformayı tekrar gönder\",\n    \"record_payment\": \"Ödemeyi kaydet\",\n    \"add_estimate\": \"Proforma ekle\",\n    \"save_estimate\": \"Proformayı kaydet\",\n    \"confirm_conversion\": \"Bu proforma, yeni bir fatura oluşturmak için kullanılacak.\",\n    \"conversion_message\": \"Fatura başarıyla oluşturuldu\",\n    \"confirm_send_estimate\": \"Bu proforma müşteriye e-posta ile gönderilecek\",\n    \"confirm_mark_as_sent\": \"Bu proforma gönderildi olarak işaretlenecek\",\n    \"confirm_mark_as_accepted\": \"Bu proforma \\\"Onaylandı\\\" olarak işaretlenecek\",\n    \"confirm_mark_as_rejected\": \"Bu proforma \\\"Reddedildi\\\" olarak işaretlenecek\",\n    \"no_matching_estimates\": \"Eşleşen proforma yok!\",\n    \"mark_as_sent_successfully\": \"Proforma başarıyla gönderildi olarak işaretlendi\",\n    \"send_estimate_successfully\": \"Proforma başarıyla gönderildi\",\n    \"errors\": {\n      \"required\": \"Bu alan zorunludur\"\n    },\n    \"accepted\": \"Onaylandı\",\n    \"rejected\": \"Reddedildi\",\n    \"expired\": \"Süresi dolmuş\",\n    \"sent\": \"Gönderildi\",\n    \"draft\": \"Taslak\",\n    \"viewed\": \"Görüldü\",\n    \"declined\": \"Reddedildi\",\n    \"new_estimate\": \"Yeni proforma\",\n    \"add_new_estimate\": \"Yeni proforma ekle\",\n    \"update_Estimate\": \"Proformayı güncelle\",\n    \"edit_estimate\": \"Proformayı düzenle\",\n    \"items\": \"ürünler\",\n    \"Estimate\": \"Proforma | Proformalar\",\n    \"add_new_tax\": \"Yeni vergi ekle\",\n    \"no_estimates\": \"Daha proforma yok!\",\n    \"list_of_estimates\": \"Bu bölüm proformaların listesini bulunduracaktır.\",\n    \"mark_as_rejected\": \"Reddedildi olarak işaretle\",\n    \"mark_as_accepted\": \"Kabul edildi olarak işaretle\",\n    \"marked_as_accepted_message\": \"Proformayı kabul edildi olarak işaretle\",\n    \"marked_as_rejected_message\": \"Proforma reddedildi olarak işaretle\",\n    \"confirm_delete\": \"Bu Proformayı geri getiremeyeceksiniz | Bu Proformaları geri getiremeyeceksiniz\",\n    \"created_message\": \"Proforma başarıyla oluşturuldu\",\n    \"updated_message\": \"Proforma başarıyla güncellendi\",\n    \"deleted_message\": \"Proforma başarıyla silindi | Proformalar başarıyla silindi\",\n    \"something_went_wrong\": \"bir şeyler ters gitti\",\n    \"item\": {\n      \"title\": \"Öğe Başlığı\",\n      \"description\": \"Tanım\",\n      \"quantity\": \"Miktar\",\n      \"price\": \"Fiyat\",\n      \"discount\": \"İskonto\",\n      \"total\": \"Toplam\",\n      \"total_discount\": \"Toplam iskonto\",\n      \"sub_total\": \"Ara toplam\",\n      \"tax\": \"Vergi\",\n      \"amount\": \"Tutar\",\n      \"select_an_item\": \"Ürün seçmek için yazın ya da tıklayın\",\n      \"type_item_description\": \"Ürün açıklaması ekleyin (isteğe bağlı)\"\n    },\n    \"mark_as_default_estimate_template_description\": \"Etkinleştirilirse, seçilen şablon yeni proformalar için otomatik olarak seçilecektir.\"\n  },\n  \"invoices\": {\n    \"title\": \"Faturalar\",\n    \"download\": \"İndir\",\n    \"pay_invoice\": \"Fatura Ödeme\",\n    \"invoices_list\": \"Fatura Listesi\",\n    \"invoice_information\": \"Fatura Bilgileri\",\n    \"days\": \"{days} Günler\",\n    \"months\": \"{months} Ay\",\n    \"years\": \"{years} Yıl\",\n    \"all\": \"Tümü\",\n    \"paid\": \"Ödendi\",\n    \"unpaid\": \"Ödenmemiş\",\n    \"viewed\": \"Bakıldı\",\n    \"overdue\": \"Vadesi Geçmiş\",\n    \"completed\": \"Tamamlandı\",\n    \"customer\": \"MÜŞTERİ\",\n    \"paid_status\": \"ÖDEME DURUMU\",\n    \"ref_no\": \"REF NO.\",\n    \"number\": \"SAYI\",\n    \"amount_due\": \"ÖDENMESİ GEREKEN TUTAR\",\n    \"partially_paid\": \"Kısmen ödendi\",\n    \"total\": \"Toplam\",\n    \"discount\": \"İskonto\",\n    \"sub_total\": \"Ara toplam\",\n    \"invoice\": \"Fatura | Faturalar\",\n    \"invoice_number\": \"Fatura numarası\",\n    \"ref_number\": \"Referans numarası\",\n    \"contact\": \"İletişim\",\n    \"add_item\": \"Öğe ekle\",\n    \"date\": \"Tarih\",\n    \"due_date\": \"Ödeme tarihi\",\n    \"status\": \"Durum\",\n    \"add_tax\": \"Vergi ekle\",\n    \"amount\": \"Tutar\",\n    \"action\": \"Eylem\",\n    \"notes\": \"Notlar\",\n    \"view\": \"Görüntüle\",\n    \"send_invoice\": \"Faturayı gönder\",\n    \"resend_invoice\": \"Faturayı tekrar gönder\",\n    \"invoice_template\": \"Fatura şablonu\",\n    \"conversion_message\": \"Fatura başarıyla klonlandı\",\n    \"template\": \"Şablon\",\n    \"mark_as_sent\": \"Gönderildi olarak işaretle\",\n    \"confirm_send_invoice\": \"Bu fatura müşteriye e-posta ile gönderilecek\",\n    \"invoice_mark_as_sent\": \"Bu fatura gönderildi olarak işaretlenecek\",\n    \"confirm_mark_as_accepted\": \"Bu fatura Kabul edildi olarak işaretlenecek\",\n    \"confirm_mark_as_rejected\": \"Bu fatura Reddedildi olarak işaretlenecek\",\n    \"confirm_send\": \"Bu fatura müşteriye e-posta ile gönderilecek\",\n    \"invoice_date\": \"Fatura tarihi\",\n    \"record_payment\": \"Ödeme ekle\",\n    \"add_new_invoice\": \"Yeni fatura ekle\",\n    \"update_expense\": \"Harcamayı güncelle\",\n    \"edit_invoice\": \"Faturayı düzenle\",\n    \"new_invoice\": \"Yeni fatura\",\n    \"save_invoice\": \"Faturayı kaydet\",\n    \"update_invoice\": \"Faturayı güncelle\",\n    \"add_new_tax\": \"Yeni vergi ekle\",\n    \"no_invoices\": \"Henüz fatura yok!\",\n    \"mark_as_rejected\": \"Reddedildi olarak işaretle\",\n    \"mark_as_accepted\": \"Kabul edildi olarak işaretle\",\n    \"list_of_invoices\": \"Bu bölümde faturaların listesi bulunmaktadır.\",\n    \"select_invoice\": \"Faturayı seç\",\n    \"no_matching_invoices\": \"Eşleşen fatura yok!\",\n    \"mark_as_sent_successfully\": \"Fatura başarıyla gönderildi olarak işaretlendi\",\n    \"invoice_sent_successfully\": \"Fatura başarıyla gönderildi\",\n    \"cloned_successfully\": \"Fatura başarıyla klonlandı\",\n    \"clone_invoice\": \"Faturayı klonla\",\n    \"confirm_clone\": \"Bu fatura yeni bir fatura olarak klonlanacak\",\n    \"item\": {\n      \"title\": \"Ürün başlığı\",\n      \"description\": \"Açıklama\",\n      \"quantity\": \"Miktar\",\n      \"price\": \"Fiyat\",\n      \"discount\": \"İskonto\",\n      \"total\": \"Toplam\",\n      \"total_discount\": \"Toplam iskonto\",\n      \"sub_total\": \"Ara toplam\",\n      \"tax\": \"Vergi\",\n      \"amount\": \"Tutar\",\n      \"select_an_item\": \"Ürün seçmek için yazın ya da tıklayın\",\n      \"type_item_description\": \"Ürün açıklaması ekleyin (isteğe bağlı)\"\n    },\n    \"payment_attached_message\": \"Halihazırda seçilen faturalardan biri ile ilişkili bir ödeme var. Kaldırmaya devam etmeden önce ilişkili ödemenin silindiğinden emin olun\",\n    \"confirm_delete\": \"Bu Faturayı silerseniz geri alamayacaksınız | Bu Faturaları silerseniz geri alamayacaksınız\",\n    \"created_message\": \"Fatura başarıyla oluşturuldu\",\n    \"updated_message\": \"Fatura başarıyla güncellendi\",\n    \"deleted_message\": \"Fatura başarıyla silindi | Faturalar başarıyla silindi\",\n    \"marked_as_sent_message\": \"Fatura başarıyla gönderildi olarak işaretlendi\",\n    \"something_went_wrong\": \"bir şeyler ters gitti\",\n    \"invalid_due_amount_message\": \"Toplam Fatura bedeli bu fatura için olan toplam ödemeden az olamaz. Lütfen devam etmek için faturayı güncelleyin veya ilişkili ödemeyi silin.\",\n    \"mark_as_default_invoice_template_description\": \"Etkinleştirilirse, seçilen şablon yeni faturalar için otomatik olarak seçilecektir.\"\n  },\n  \"recurring_invoices\": {\n    \"title\": \"Tekrarlayan Faturalar\",\n    \"invoices_list\": \"Tekrarlayan Fatura Listesi\",\n    \"days\": \"{days} Günler\",\n    \"months\": \"{months} Ay\",\n    \"years\": \"{years} Yıl\",\n    \"all\": \"Tümü\",\n    \"paid\": \"Ödendi\",\n    \"unpaid\": \"Ödenmedi\",\n    \"viewed\": \"Görüldü\",\n    \"overdue\": \"Vadesi geçmiş\",\n    \"active\": \"Aktif\",\n    \"completed\": \"Tamamlandı\",\n    \"customer\": \"MÜŞTERİ\",\n    \"paid_status\": \"ÖDEME DURUMU\",\n    \"ref_no\": \"REF NO.\",\n    \"number\": \"SAYI\",\n    \"amount_due\": \"ALACAK MİKTARI\",\n    \"partially_paid\": \"Kısmen Ödendi\",\n    \"total\": \"Toplam\",\n    \"discount\": \"İskonto\",\n    \"sub_total\": \"Ara Toplam\",\n    \"invoice\": \"Yinelenen Fatura | Yinelenen Faturalar\",\n    \"invoice_number\": \"Yinelenen Fatura Numarası\",\n    \"next_invoice_date\": \"Sonraki Fatura Tarihi\",\n    \"ref_number\": \"Ref. Numarası\",\n    \"contact\": \"İletişim\",\n    \"add_item\": \"Öğe ekle\",\n    \"date\": \"Tarih\",\n    \"limit_by\": \"Şuna göre sınırla\",\n    \"limit_date\": \"Sınır Tarihi\",\n    \"limit_count\": \"Sınır Sayısı\",\n    \"count\": \"Count\",\n    \"status\": \"Status\",\n    \"select_a_status\": \"Select a status\",\n    \"working\": \"Working\",\n    \"on_hold\": \"On Hold\",\n    \"complete\": \"Completed\",\n    \"add_tax\": \"Add Tax\",\n    \"amount\": \"Amount\",\n    \"action\": \"Action\",\n    \"notes\": \"Notlar\",\n    \"view\": \"Görüntüle\",\n    \"basic_info\": \"Temel Bilgiler\",\n    \"send_invoice\": \"Yinelenen Fatura Gönder\",\n    \"auto_send\": \"Otamatik Gönder\",\n    \"resend_invoice\": \"Yinelenen Fatura Gönder\",\n    \"invoice_template\": \"Yinelenen Fatura Şablonu\",\n    \"conversion_message\": \"Yinelenen Fatura başarılı bir şekilde klonlandı\",\n    \"template\": \"Şablon\",\n    \"mark_as_sent\": \"Gönderildi olarak işaretle\",\n    \"confirm_send_invoice\": \"Bu yineleyen fatura müşteriye e-posta ile gönderilecek\",\n    \"invoice_mark_as_sent\": \"Bu yineleyen fatura gönderildi olarak işaretlenecek\",\n    \"confirm_send\": \"Bu yinelenen fatura müşteriye e-posta yoluyla gönderilecektir\",\n    \"starts_at\": \"Başlangıç Tarihi\",\n    \"due_date\": \"Fatura Ödeme Tarihi\",\n    \"record_payment\": \"Ödemeyi Kaydet\",\n    \"add_new_invoice\": \"Yinelenen Yeni Fatura Oluştur\",\n    \"update_expense\": \"Masrafı Güncelle\",\n    \"edit_invoice\": \"Edit Recurring Invoice\",\n    \"new_invoice\": \"New Recurring Invoice\",\n    \"send_automatically\": \"Send Automatically\",\n    \"send_automatically_desc\": \"Enable this, if you would like to send the invoice automatically to the customer when its created.\",\n    \"save_invoice\": \"Save Recurring Invoice\",\n    \"update_invoice\": \"Update Recurring Invoice\",\n    \"add_new_tax\": \"Add New Tax\",\n    \"no_invoices\": \"No Recurring Invoices yet!\",\n    \"mark_as_rejected\": \"Mark as rejected\",\n    \"mark_as_accepted\": \"Mark as accepted\",\n    \"list_of_invoices\": \"This section will contain the list of recurring invoices.\",\n    \"select_invoice\": \"Select Invoice\",\n    \"no_matching_invoices\": \"There are no matching recurring invoices!\",\n    \"mark_as_sent_successfully\": \"Recurring Invoice marked as sent successfully\",\n    \"invoice_sent_successfully\": \"Recurring Invoice sent successfully\",\n    \"cloned_successfully\": \"Recurring Invoice cloned successfully\",\n    \"clone_invoice\": \"Clone Recurring Invoice\",\n    \"confirm_clone\": \"This recurring invoice will be cloned into a new Recurring Invoice\",\n    \"add_customer_email\": \"Please add an email address for this customer to send invoices automatically.\",\n    \"item\": {\n      \"title\": \"Item Title\",\n      \"description\": \"Description\",\n      \"quantity\": \"Quantity\",\n      \"price\": \"Price\",\n      \"discount\": \"Discount\",\n      \"total\": \"Total\",\n      \"total_discount\": \"Total Discount\",\n      \"sub_total\": \"Sub Total\",\n      \"tax\": \"Tax\",\n      \"amount\": \"Amount\",\n      \"select_an_item\": \"Type or click to select an item\",\n      \"type_item_description\": \"Type Item Description (optional)\"\n    },\n    \"frequency\": {\n      \"title\": \"Frequency\",\n      \"select_frequency\": \"Select Frequency\",\n      \"minute\": \"Minute\",\n      \"hour\": \"Hour\",\n      \"day_month\": \"Day of month\",\n      \"month\": \"Month\",\n      \"day_week\": \"Day of week\"\n    },\n    \"confirm_delete\": \"You will not be able to recover this Invoice | You will not be able to recover these Invoices\",\n    \"created_message\": \"Recurring Invoice created successfully\",\n    \"updated_message\": \"Recurring Invoice updated successfully\",\n    \"deleted_message\": \"Recurring Invoice deleted successfully | Recurring Invoices deleted successfully\",\n    \"marked_as_sent_message\": \"Recurring Invoice marked as sent successfully\",\n    \"user_email_does_not_exist\": \"User email does not exist\",\n    \"something_went_wrong\": \"something went wrong\",\n    \"invalid_due_amount_message\": \"Total Recurring Invoice amount cannot be less than total paid amount for this Recurring Invoice. Please update the invoice or delete the associated payments to continue.\"\n  },\n  \"payments\": {\n    \"title\": \"Ödemeler\",\n    \"payments_list\": \"Ödeme listesi\",\n    \"record_payment\": \"Ödeme ekle\",\n    \"customer\": \"Müşteri\",\n    \"date\": \"Tarih\",\n    \"amount\": \"Tutar\",\n    \"action\": \"Eylem\",\n    \"payment_number\": \"Ödeme numarası\",\n    \"payment_mode\": \"Ödeme Yöntemi\",\n    \"invoice\": \"Fatura\",\n    \"note\": \"Not\",\n    \"add_payment\": \"Ödeme Ekle\",\n    \"new_payment\": \"Yeni Ödeme\",\n    \"edit_payment\": \"Ödemeyi düzenle\",\n    \"view_payment\": \"Ödemeyi Göster\",\n    \"add_new_payment\": \"Ödeme Ekle\",\n    \"send_payment_receipt\": \"Ödeme Fişi Gönder\",\n    \"send_payment\": \"Ödemeyi Gönder\",\n    \"save_payment\": \"Ödemeyi Kaydet\",\n    \"update_payment\": \"Ödemeyi Güncelle\",\n    \"payment\": \"Ödeme | Ödemeler\",\n    \"no_payments\": \"Henüz ödeme yok!\",\n    \"not_selected\": \"Seçili değil\",\n    \"no_invoice\": \"Fatura yok\",\n    \"no_matching_payments\": \"Eşleşen ödeme yok!\",\n    \"list_of_payments\": \"Bu bölüm ödemelerin listesini bulunduracaktır.\",\n    \"select_payment_mode\": \"Ödeme yöntemini seçin\",\n    \"confirm_mark_as_sent\": \"Bu proforma gönderildi olarak işaretlenecek\",\n    \"confirm_send_payment\": \"Bu ödeme müşteriye e-postayla gönderilecek\",\n    \"send_payment_successfully\": \"Ödeme başarıyla gönderildi\",\n    \"something_went_wrong\": \"bir şeyler ters gitti\",\n    \"confirm_delete\": \"Bu ödemeyi silerseniz geri alamayacaksınız | Bu ödemeleri silerseniz geri alamayacaksınız\",\n    \"created_message\": \"Ödeme başarıyla oluşturuldu\",\n    \"updated_message\": \"Ödeme başarıyla güncellendi\",\n    \"deleted_message\": \"Ödeme başarıyla silindi | Ödemeler başarıyla silindi\",\n    \"invalid_amount_message\": \"Ödeme tutarı geçersiz\"\n  },\n  \"expenses\": {\n    \"title\": \"Harcamalar\",\n    \"expenses_list\": \"Harcama listesi\",\n    \"select_a_customer\": \"Müşteri seç\",\n    \"expense_title\": \"Başlık\",\n    \"customer\": \"Müşteri\",\n    \"currency\": \"Currency\",\n    \"contact\": \"İletişim\",\n    \"category\": \"Kategori\",\n    \"from_date\": \"Başlangıç tarihi\",\n    \"to_date\": \"Bitiş tarihi\",\n    \"expense_date\": \"Tarih\",\n    \"description\": \"Açıklama\",\n    \"receipt\": \"Makbuz\",\n    \"amount\": \"Tutar\",\n    \"action\": \"Eylem\",\n    \"not_selected\": \"Seçili değil\",\n    \"note\": \"Not\",\n    \"category_id\": \"Kategori ID\",\n    \"date\": \"Tarih\",\n    \"add_expense\": \"Harcama ekle\",\n    \"add_new_expense\": \"Yeni harcama ekle\",\n    \"save_expense\": \"Harcamayı kaydet\",\n    \"update_expense\": \"Harcamayı güncelle\",\n    \"download_receipt\": \"Makbuzu indir\",\n    \"edit_expense\": \"Harcamayı düzenle\",\n    \"new_expense\": \"Yeni harcama\",\n    \"expense\": \"Harcama | Harcamalar\",\n    \"no_expenses\": \"Henüz harcama yok!\",\n    \"list_of_expenses\": \"Bu bölümde harcamaların listesi bulunmaktadır.\",\n    \"confirm_delete\": \"Bu harcamayı silerseniz geri alamayacaksınız | Bu harcamaları silerseniz geri alamayacaksınız\",\n    \"created_message\": \"Harcama başarıyla oluşturuldu\",\n    \"updated_message\": \"Harcama başarıyla güncellendi\",\n    \"deleted_message\": \"Harcama başarıyla silindi | Harcamalar başarıyla silindi\",\n    \"categories\": {\n      \"categories_list\": \"Kategori listesi\",\n      \"title\": \"Başlık\",\n      \"name\": \"İsim\",\n      \"description\": \"Açıklama\",\n      \"amount\": \"Tutar\",\n      \"actions\": \"Eylemler\",\n      \"add_category\": \"Kategori ekle\",\n      \"new_category\": \"Yeni kategori\",\n      \"category\": \"Kategori | Kategoriler\",\n      \"select_a_category\": \"Kategori seç\"\n    }\n  },\n  \"login\": {\n    \"email\": \"E-posta\",\n    \"password\": \"Parola\",\n    \"forgot_password\": \"Parolanızı mı Unuttunuz?\",\n    \"or_signIn_with\": \"ya da şununla oturum aç\",\n    \"login\": \"Giriş Yap\",\n    \"register\": \"Kayıt Ol\",\n    \"reset_password\": \"Parolayı sıfırla\",\n    \"password_reset_successfully\": \"Parola Sıfırlama Başarılı\",\n    \"enter_email\": \"E-posta girin\",\n    \"enter_password\": \"Parola Girin\",\n    \"retype_password\": \"Parolanızı Yeniden Girin\"\n  },\n  \"modules\": {\n    \"buy_now\": \"Buy Now\",\n    \"install\": \"Install\",\n    \"price\": \"Price\",\n    \"download_zip_file\": \"Download ZIP file\",\n    \"unzipping_package\": \"Unzipping Package\",\n    \"copying_files\": \"Copying Files\",\n    \"deleting_files\": \"Deleting Unused files\",\n    \"completing_installation\": \"Completing Installation\",\n    \"update_failed\": \"Update Failed\",\n    \"install_success\": \"Module has been installed successfully!\",\n    \"customer_reviews\": \"Reviews\",\n    \"license\": \"License\",\n    \"faq\": \"FAQ\",\n    \"monthly\": \"Monthly\",\n    \"yearly\": \"Yearly\",\n    \"updated\": \"Updated\",\n    \"version\": \"Version\",\n    \"disable\": \"Disable\",\n    \"module_disabled\": \"Module Disabled\",\n    \"enable\": \"Enable\",\n    \"module_enabled\": \"Module Enabled\",\n    \"update_to\": \"Update To\",\n    \"module_updated\": \"Module Updated Successfully!\",\n    \"title\": \"Modules\",\n    \"module\": \"Module | Modules\",\n    \"api_token\": \"API token\",\n    \"invalid_api_token\": \"Invalid API Token.\",\n    \"other_modules\": \"Other Modules\",\n    \"view_all\": \"View All\",\n    \"no_reviews_found\": \"There are no reviews for this module yet!\",\n    \"module_not_purchased\": \"Module Not Purchased\",\n    \"module_not_found\": \"Module Not Found\",\n    \"version_not_supported\": \"This module version doesn't support the current version of Crater\",\n    \"last_updated\": \"Last Updated On\",\n    \"connect_installation\": \"Connect your installation\",\n    \"api_token_description\": \"Login to {url} and connect this installation by entering the API Token. Your purchased modules will show up here after the connection is established.\",\n    \"view_module\": \"View Module\",\n    \"update_available\": \"Update Available\",\n    \"purchased\": \"Purchased\",\n    \"installed\": \"Installed\",\n    \"no_modules_installed\": \"No Modules Installed Yet!\",\n    \"disable_warning\": \"All the settings for this particular will be reverted.\",\n    \"what_you_get\": \"What you get\"\n  },\n  \"users\": {\n    \"title\": \"Kullanıcılar\",\n    \"users_list\": \"Kullanıcı Listesi\",\n    \"name\": \"İsim\",\n    \"description\": \"Tanım\",\n    \"added_on\": \"Eklendiği tarih\",\n    \"date_of_creation\": \"Oluşturma tarihi\",\n    \"action\": \"Eylem\",\n    \"add_user\": \"Kullanıcı Ekle\",\n    \"save_user\": \"Kullanıcıyı Kaydet\",\n    \"update_user\": \"Kullanıcı Güncelle\",\n    \"user\": \"Kullanıcı | Kullanıcılar\",\n    \"add_new_user\": \"Yeni Kullanıcı Ekle\",\n    \"new_user\": \"Yeni Kullanıcı\",\n    \"edit_user\": \"Kullanıcıyı Düzenle\",\n    \"no_users\": \"Henüz kullanıcı yok!\",\n    \"list_of_users\": \"Bu bölüm kullanıcıların listesini bulunduracaktır.\",\n    \"email\": \"Eposta\",\n    \"phone\": \"Telefon\",\n    \"password\": \"Parola\",\n    \"user_attached_message\": \"Kullanımda bulunan öğe silinemez\",\n    \"confirm_delete\": \"Bu kullanıcıyı geri getiremeyeceksiniz | Bu kullanıcıları geri getiremeyeceksiniz\",\n    \"created_message\": \"Kullanıcı başarıyla oluşturuldu\",\n    \"updated_message\": \"Kullanıcı başarıyla güncellendi\",\n    \"deleted_message\": \"Kullanıcı başarıyla silindi | Kullanıcılar başarıyla silindi\",\n    \"select_company_role\": \"Select Role for {company}\",\n    \"companies\": \"Companies\"\n  },\n  \"reports\": {\n    \"title\": \"Bildir\",\n    \"from_date\": \"Başlangıç tarihi\",\n    \"to_date\": \"Bitiş tarihi\",\n    \"status\": \"Durum\",\n    \"paid\": \"Ödendi\",\n    \"unpaid\": \"Ödenmemiş\",\n    \"download_pdf\": \"PDF indir\",\n    \"view_pdf\": \"PDF Görüntüle\",\n    \"update_report\": \"Raporu Güncelle\",\n    \"report\": \"Rapor | Raporlar\",\n    \"profit_loss\": {\n      \"profit_loss\": \"Kar ve zarar\",\n      \"to_date\": \"Bitiş tarihi\",\n      \"from_date\": \"Başlangıç tarihi\",\n      \"date_range\": \"Tarih aralığı seç\"\n    },\n    \"sales\": {\n      \"sales\": \"Satışlar\",\n      \"date_range\": \"Tarih aralığı seç\",\n      \"to_date\": \"Bitiş tarihi\",\n      \"from_date\": \"Başlangıç tarihi\",\n      \"report_type\": \"Rapor türü\"\n    },\n    \"taxes\": {\n      \"taxes\": \"Vergiler\",\n      \"to_date\": \"Bitiş tarihi\",\n      \"from_date\": \"Başlangıç tarihi\",\n      \"date_range\": \"Tarih aralığı seç\"\n    },\n    \"errors\": {\n      \"required\": \"Bu alan zorunludur\"\n    },\n    \"invoices\": {\n      \"invoice\": \"Fatura\",\n      \"invoice_date\": \"Fatura tarihi\",\n      \"due_date\": \"Ödeme tarihi\",\n      \"amount\": \"Tutar\",\n      \"contact_name\": \"İletişim kurulacak kişi\",\n      \"status\": \"Durum\"\n    },\n    \"estimates\": {\n      \"estimate\": \"Proforma\",\n      \"estimate_date\": \"Proforma tarihi\",\n      \"due_date\": \"Ödeme tarihi\",\n      \"estimate_number\": \"Proforma numarası\",\n      \"ref_number\": \"Referans numarası\",\n      \"amount\": \"Tutar\",\n      \"contact_name\": \"İletişim kurulacak kişi\",\n      \"status\": \"Durum\"\n    },\n    \"expenses\": {\n      \"expenses\": \"Harcamalar\",\n      \"category\": \"Kategori\",\n      \"date\": \"Tarih\",\n      \"amount\": \"Tutar\",\n      \"to_date\": \"Bitiş tarihi\",\n      \"from_date\": \"Başlangıç tarihi\",\n      \"date_range\": \"Tarih aralığı seç\"\n    }\n  },\n  \"settings\": {\n    \"menu_title\": {\n      \"account_settings\": \"Hesap ayarları\",\n      \"company_information\": \"Şirket bilgileri\",\n      \"customization\": \"Özelleştirme\",\n      \"preferences\": \"Tercihler\",\n      \"notifications\": \"Bildirimler\",\n      \"tax_types\": \"Vergi türleri\",\n      \"expense_category\": \"Harcama kategorileri\",\n      \"update_app\": \"Uygulamayı güncelle\",\n      \"backup\": \"Yedekleme\",\n      \"file_disk\": \"Dosya diski\",\n      \"custom_fields\": \"Özel alanlar\",\n      \"payment_modes\": \"Ödeme yöntemleri\",\n      \"notes\": \"Notlar\",\n      \"exchange_rate\": \"Exchange Rate\",\n      \"address_information\": \"Address Information\"\n    },\n    \"address_information\": {\n      \"section_description\": \"  You can update Your Address information using form below.\"\n    },\n    \"title\": \"Ayarlar\",\n    \"setting\": \"Ayarlar | Ayarlar\",\n    \"general\": \"Genel\",\n    \"language\": \"Dil\",\n    \"primary_currency\": \"Ana para birimi\",\n    \"timezone\": \"Zaman dilimi\",\n    \"date_format\": \"Tarih Biçimi\",\n    \"currencies\": {\n      \"title\": \"Para Birimleri\",\n      \"currency\": \"Para birimi | Para birimleri\",\n      \"currencies_list\": \"Para birimleri Listesi\",\n      \"select_currency\": \"Para Birimini Seçin\",\n      \"name\": \"Ad\",\n      \"code\": \"Kod\",\n      \"symbol\": \"Sembol\",\n      \"precision\": \"Hassasiyet\",\n      \"thousand_separator\": \"Binlik Ayracı\",\n      \"decimal_separator\": \"Ondalık Ayracı\",\n      \"position\": \"Konum\",\n      \"position_of_symbol\": \"Simgelerin Konumları\",\n      \"right\": \"Sağ\",\n      \"left\": \"Sol\",\n      \"action\": \"Eylem\",\n      \"add_currency\": \"Para birimi Ekle\"\n    },\n    \"mail\": {\n      \"host\": \"Posta Sunucusu\",\n      \"port\": \"Posta Sunucu Portu\",\n      \"driver\": \"Posta Sürücüsü\",\n      \"secret\": \"Sır\",\n      \"mailgun_secret\": \"Mailgun Sırrı\",\n      \"mailgun_domain\": \"Alan Adı\",\n      \"mailgun_endpoint\": \"Mailgun Uçnoktası\",\n      \"ses_secret\": \"SES Sırrı\",\n      \"ses_key\": \"Ses Anahtarı\",\n      \"password\": \"Posta Parolası\",\n      \"username\": \"Posta Kullanıcı Adı\",\n      \"mail_config\": \"Posta Konfigürasyonu\",\n      \"from_name\": \"Gönderen Mail Adı\",\n      \"from_mail\": \"Gönderen Posta Adresi\",\n      \"encryption\": \"Mail Şifrelemesi\",\n      \"mail_config_desc\": \"Uygulamadan E-posta göndermek için E-posta sürücüsünü yapılandırma formu aşağıdadır. Sendgrid, SES vb. gibi üçüncü taraf sağlayıcıları da yapılandırabilirsiniz.\"\n    },\n    \"pdf\": {\n      \"title\": \"PDF Ayarları\",\n      \"footer_text\": \"Altbilgi Metni\",\n      \"pdf_layout\": \"PDF Biçimi\"\n    },\n    \"company_info\": {\n      \"company_info\": \"Şirket bilgileri\",\n      \"company_name\": \"Firma Adı\",\n      \"company_logo\": \"Şirket logosu\",\n      \"section_description\": \"Crater tarafından oluşturulacak faturaların, proformaların ve diğer evrakların üzerinde görünecek şirket bilgileriniz.\",\n      \"phone\": \"Telefon\",\n      \"country\": \"Ülke\",\n      \"state\": \"Eyalet\",\n      \"city\": \"Şehir\",\n      \"address\": \"Adres\",\n      \"zip\": \"Posta Numarası\",\n      \"save\": \"Kaydet\",\n      \"delete\": \"Delete\",\n      \"updated_message\": \"Şirket bilgileri başarıyla güncellendi\",\n      \"delete_company\": \"Delete Company\",\n      \"delete_company_description\": \"Once you delete your company, you will lose all the data and files associated with it permanently.\",\n      \"are_you_absolutely_sure\": \"Are you absolutely sure?\",\n      \"delete_company_modal_desc\": \"This action cannot be undone. This will permanently delete {company} and all of its associated data.\",\n      \"delete_company_modal_label\": \"Please type {company} to confirm\"\n    },\n    \"custom_fields\": {\n      \"title\": \"Özel alanlar\",\n      \"section_description\": \"Faturalarınızı, Tahminlerinizi & Ödeme Makbuzlarınızı kendi alanlarınızla özelleştirin. Özelleştirme ayarları sayfasındaki adres biçimlerinde aşağıda eklenen alanları kullandığınızdan emin olun.\",\n      \"add_custom_field\": \"Özel alan ekle\",\n      \"edit_custom_field\": \"Özel alanı düzenle\",\n      \"field_name\": \"Alan ismi\",\n      \"label\": \"Etiket\",\n      \"type\": \"Tür\",\n      \"name\": \"İsim\",\n      \"slug\": \"Slug\",\n      \"required\": \"Zorunlu\",\n      \"placeholder\": \"Yer tutucu\",\n      \"help_text\": \"Yardım metni\",\n      \"default_value\": \"Varsayılan değer\",\n      \"prefix\": \"Ön ek\",\n      \"starting_number\": \"Başlangıç no\",\n      \"model\": \"Model\",\n      \"help_text_description\": \"Kullanıcıların bu alanın ne işe yaradığını anlayabilmeleri için bir şeyler yazın.\",\n      \"suffix\": \"Son ek\",\n      \"yes\": \"Evet\",\n      \"no\": \"Hayır\",\n      \"order\": \"Sıralama\",\n      \"custom_field_confirm_delete\": \"Eğer bu özel alanı silerseniz geri alamayacaksınız\",\n      \"already_in_use\": \"Özel alan zaten kullanılıyor\",\n      \"deleted_message\": \"Özel alan başarıyla silindi\",\n      \"options\": \"seçenekler\",\n      \"add_option\": \"Seçenek ekle\",\n      \"add_another_option\": \"Başka bir seçenek ekle\",\n      \"sort_in_alphabetical_order\": \"Alfabetik olarak sırala\",\n      \"add_options_in_bulk\": \"Toplu seçenek ekle\",\n      \"use_predefined_options\": \"Önceden tanımlanmış seçenekleri kullan\",\n      \"select_custom_date\": \"Özel tarih seç\",\n      \"select_relative_date\": \"Bağıntılı Tarih Seçin\",\n      \"ticked_by_default\": \"Varsayılan olarak işaretli\",\n      \"updated_message\": \"Özel alan başarıyla güncellendi\",\n      \"added_message\": \"Özel alan başarıyla eklendi\",\n      \"press_enter_to_add\": \"Press enter to add new option\",\n      \"model_in_use\": \"Cannot update model for fields which are already in use.\",\n      \"type_in_use\": \"Cannot update type for fields which are already in use.\"\n    },\n    \"customization\": {\n      \"customization\": \"özelleştirme\",\n      \"updated_message\": \"Şirket bilgileri başarıyla güncellendi\",\n      \"save\": \"Kaydet\",\n      \"insert_fields\": \"Insert Fields\",\n      \"learn_custom_format\": \"Learn how to use custom format\",\n      \"add_new_component\": \"Add New Component\",\n      \"component\": \"Component\",\n      \"Parameter\": \"Parameter\",\n      \"series\": \"Series\",\n      \"series_description\": \"To set a static prefix/postfix like 'INV' across your company. It supports character length of up to 6 chars.\",\n      \"series_param_label\": \"Series Value\",\n      \"delimiter\": \"Delimiter\",\n      \"delimiter_description\": \"Single character for specifying the boundary between 2 separate components. By default its set to -\",\n      \"delimiter_param_label\": \"Delimiter Value\",\n      \"date_format\": \"Date Format\",\n      \"date_format_description\": \"A local date and time field which accepts a format parameter. The default format: 'Y' renders the current year.\",\n      \"date_format_param_label\": \"Format\",\n      \"sequence\": \"Sequence\",\n      \"sequence_description\": \"Consecutive sequence of numbers across your company. You can specify the length on the given parameter.\",\n      \"sequence_param_label\": \"Sequence Length\",\n      \"customer_series\": \"Customer Series\",\n      \"customer_series_description\": \"To set a different prefix/postfix for each customer.\",\n      \"customer_sequence\": \"Customer Sequence\",\n      \"customer_sequence_description\": \"Consecutive sequence of numbers for each of your customer.\",\n      \"customer_sequence_param_label\": \"Sequence Length\",\n      \"random_sequence\": \"Random Sequence\",\n      \"random_sequence_description\": \"Random alphanumeric string. You can specify the length on the given parameter.\",\n      \"random_sequence_param_label\": \"Sequence Length\",\n      \"invoices\": {\n        \"title\": \"Faturalar\",\n        \"invoice_number_format\": \"Invoice Number Format\",\n        \"invoice_number_format_description\": \"Customize how your invoice number gets generated automatically when you create a new invoice.\",\n        \"preview_invoice_number\": \"Preview Invoice Number\",\n        \"due_date\": \"Due Date\",\n        \"due_date_description\": \"Specify how due date is automatically set when you create an invoice.\",\n        \"due_date_days\": \"Invoice Due after days\",\n        \"set_due_date_automatically\": \"Set Due Date Automatically\",\n        \"set_due_date_automatically_description\": \"Enable this if you wish to set due date automatically when you create a new invoice.\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on invoice creation.\",\n        \"default_invoice_email_body\": \"Varsayılan Fatura E-posta Gövdesi\",\n        \"company_address_format\": \"Firma Adres Formatı\",\n        \"shipping_address_format\": \"Gönderim Adres Formatı\",\n        \"billing_address_format\": \"Fatura Adres Formatı\",\n        \"invoice_email_attachment\": \"Faturaları ek olarak gönderin\",\n        \"invoice_email_attachment_setting_description\": \"Faturaları e-posta eki olarak göndermek istiyorsanız bunu etkinleştirin. Lütfen, etkinleştirildiğinde e-postalardaki 'Faturayı Görüntüle' düğmesinin artık görüntülenmeyeceğini unutmayın.\",\n        \"invoice_settings_updated\": \"Invoice Settings updated successfully\",\n        \"retrospective_edits\": \"Retrospective Edits\",\n        \"allow\": \"Allow\",\n        \"disable_on_invoice_partial_paid\": \"Disable after partial payment is recorded\",\n        \"disable_on_invoice_paid\": \"Disable after full payment is recorded\",\n        \"disable_on_invoice_sent\": \"Disable after invoice is sent\",\n        \"retrospective_edits_description\": \" Based on your country's laws or your preference, you can restrict users from editing finalised invoices.\"\n      },\n      \"estimates\": {\n        \"title\": \"Proformalar\",\n        \"estimate_number_format\": \"Estimate Number Format\",\n        \"estimate_number_format_description\": \"Customize how your estimate number gets generated automatically when you create a new estimate.\",\n        \"preview_estimate_number\": \"Preview Estimate Number\",\n        \"expiry_date\": \"Expiry Date\",\n        \"expiry_date_description\": \"Specify how expiry date is automatically set when you create an estimate.\",\n        \"expiry_date_days\": \"Estimate Expires after days\",\n        \"set_expiry_date_automatically\": \"Set Expiry Date Automatically\",\n        \"set_expiry_date_automatically_description\": \"Enable this if you wish to set expiry date automatically when you create a new estimate.\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on estimate creation.\",\n        \"default_estimate_email_body\": \"Varsayılan Proforma E-posta Gövdesi\",\n        \"company_address_format\": \"Firma Adres Formatı\",\n        \"shipping_address_format\": \"Gönderim Adres Formatı\",\n        \"billing_address_format\": \"Fatura Adres Formatı\",\n        \"estimate_email_attachment\": \"Proformaları ek olarak gönderin\",\n        \"estimate_email_attachment_setting_description\": \"Proformaları e-posta eki olarak göndermek istiyorsanız bunu etkinleştirin. Lütfen, etkinleştirildiğinde e-postalardaki 'Proformayı Görüntüle' düğmesinin artık görüntülenmeyeceğini unutmayın.\",\n        \"estimate_settings_updated\": \"Estimate Settings updated successfully\",\n        \"convert_estimate_options\": \"Estimate Convert Action\",\n        \"convert_estimate_description\": \"Specify what happens to the estimate after it gets converted to an invoice.\",\n        \"no_action\": \"No action\",\n        \"delete_estimate\": \"Delete estimate\",\n        \"mark_estimate_as_accepted\": \"Mark estimate as accepted\"\n      },\n      \"payments\": {\n        \"title\": \"Ödemeler\",\n        \"payment_number_format\": \"Payment Number Format\",\n        \"payment_number_format_description\": \"Customize how your payment number gets generated automatically when you create a new payment.\",\n        \"preview_payment_number\": \"Preview Payment Number\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on payment creation.\",\n        \"default_payment_email_body\": \"Varsayılan Ödeme E-posta Gövdesi\",\n        \"company_address_format\": \"Firma adresi biçimi\",\n        \"from_customer_address_format\": \"Müşteri Adres Formatı\",\n        \"payment_email_attachment\": \"Ödemeleri ek olarak gönderin\",\n        \"payment_email_attachment_setting_description\": \"Ödemeleri e-posta eki olarak göndermek istiyorsanız bunu etkinleştirin. Lütfen, etkinleştirildiğinde e-postalardaki 'Ödemeyi Görüntüle' düğmesinin artık görüntülenmeyeceğini unutmayın.\",\n        \"payment_settings_updated\": \"Payment Settings updated successfully\"\n      },\n      \"items\": {\n        \"title\": \"Ürünler\",\n        \"units\": \"Birimler\",\n        \"add_item_unit\": \"Birim ekle\",\n        \"edit_item_unit\": \"Birimleri düzenle\",\n        \"unit_name\": \"Birim adı\",\n        \"item_unit_added\": \"Birim eklendi\",\n        \"item_unit_updated\": \"Birim güncellendi\",\n        \"item_unit_confirm_delete\": \"Eğer bu birimi silerseniz geri alamayacaksınız\",\n        \"already_in_use\": \"Birim zaten mevcut\",\n        \"deleted_message\": \"Birim başarıyla silindi\"\n      },\n      \"notes\": {\n        \"title\": \"Notlar\",\n        \"description\": \"Notlar oluşturarak ve faturalar, proformalar & ödemeler üzerinde tekrar kullanarak zamandan kazanın.\",\n        \"notes\": \"Notlar\",\n        \"type\": \"Tür\",\n        \"add_note\": \"Not ekle\",\n        \"add_new_note\": \"Yeni not ekle\",\n        \"name\": \"İsim\",\n        \"edit_note\": \"Notu düzenle\",\n        \"note_added\": \"Not başarıyla eklendi\",\n        \"note_updated\": \"Not başarıyla güncellendi\",\n        \"note_confirm_delete\": \"Eğer bu notu silerseniz geri alamayacaksınız\",\n        \"already_in_use\": \"Not zaten mevcut\",\n        \"deleted_message\": \"Not başarıyla silindi\"\n      }\n    },\n    \"account_settings\": {\n      \"profile_picture\": \"Profil resmi\",\n      \"name\": \"İsim\",\n      \"email\": \"E-posta\",\n      \"password\": \"Parola\",\n      \"confirm_password\": \"Parolayı doğrula\",\n      \"account_settings\": \"Hesap ayarları\",\n      \"save\": \"Kaydet\",\n      \"section_description\": \"Aşağıdaki formdan isminizi, e-postanızı ve parolanızı güncelleyebilirsiniz.\",\n      \"updated_message\": \"Hesap ayarları başarıyla güncellendi\"\n    },\n    \"user_profile\": {\n      \"name\": \"İsim\",\n      \"email\": \"E-posta\",\n      \"password\": \"Parola\",\n      \"confirm_password\": \"Parolayı doğrula\"\n    },\n    \"notification\": {\n      \"title\": \"Bildirim\",\n      \"email\": \"Bildirimleri şuna gönder:\",\n      \"description\": \"Bir değişiklik olduğunda hangi e-posta bildirimlerini almak istersiniz?\",\n      \"invoice_viewed\": \"Fatura görüntülendi\",\n      \"invoice_viewed_desc\": \"Müşteriniz crater panosu aracılığıyla gönderilen faturayı görüntülediğinde.\",\n      \"estimate_viewed\": \"Proforma görüntülendi\",\n      \"estimate_viewed_desc\": \"Müşteriniz crater panosu aracılığıyla gönderilen proformayı görüntülediğinde.\",\n      \"save\": \"Kaydet\",\n      \"email_save_message\": \"E-posta başarıyla kaydedildi\",\n      \"please_enter_email\": \"Lütfen E-posta Adresi Girin\"\n    },\n    \"roles\": {\n      \"title\": \"Roles\",\n      \"description\": \"Manage the roles & permissions of this company\",\n      \"save\": \"Save\",\n      \"add_new_role\": \"Add New Role\",\n      \"role_name\": \"Role Name\",\n      \"added_on\": \"Added on\",\n      \"add_role\": \"Add Role\",\n      \"edit_role\": \"Edit Role\",\n      \"name\": \"Name\",\n      \"permission\": \"Permission | Permissions\",\n      \"select_all\": \"Select All\",\n      \"none\": \"None\",\n      \"confirm_delete\": \"You will not be able to recover this Role\",\n      \"created_message\": \"Role created successfully\",\n      \"updated_message\": \"Role updated successfully\",\n      \"deleted_message\": \"Role deleted successfully\",\n      \"already_in_use\": \"Role is already in use\"\n    },\n    \"exchange_rate\": {\n      \"exchange_rate\": \"Exchange Rate\",\n      \"title\": \"Fix Currency Exchange issues\",\n      \"description\": \"Please enter exchange rate of all the currencies mentioned below to help Crater properly calculate the amounts in {currency}.\",\n      \"drivers\": \"Drivers\",\n      \"new_driver\": \"Add New Provider\",\n      \"edit_driver\": \"Edit Provider\",\n      \"select_driver\": \"Select Driver\",\n      \"update\": \"select exchange rate \",\n      \"providers_description\": \"Configure your exchange rate providers here to automatically fetch the latest exchange rate on transactions.\",\n      \"key\": \"API Key\",\n      \"name\": \"Name\",\n      \"driver\": \"Driver\",\n      \"is_default\": \"IS DEFAULT\",\n      \"currency\": \"Currencies\",\n      \"exchange_rate_confirm_delete\": \"You will not be able to recover this driver\",\n      \"created_message\": \"Provider Created successfully\",\n      \"updated_message\": \"Provider Updated Successfully\",\n      \"deleted_message\": \"Provider Deleted Successfully\",\n      \"error\": \" You cannot Delete Active Driver\",\n      \"default_currency_error\": \"This currency is already used in one of the Active Provider\",\n      \"exchange_help_text\": \"Enter exchange rate to convert from {currency} to {baseCurrency}\",\n      \"currency_freak\": \"Currency Freak\",\n      \"currency_layer\": \"Currency Layer\",\n      \"open_exchange_rate\": \"Open Exchange Rate\",\n      \"currency_converter\": \"Currency Converter\",\n      \"server\": \"Server\",\n      \"url\": \"URL\",\n      \"active\": \"Active\",\n      \"currency_help_text\": \"This provider will only be used on above selected currencies\",\n      \"currency_in_used\": \"The following currencies are already active on another provider. Please remove these currencies from selection to activate this provider again.\"\n    },\n    \"tax_types\": {\n      \"title\": \"Vergi Türleri\",\n      \"add_tax\": \"Vergi Ekle\",\n      \"edit_tax\": \"Vergi Düzenle\",\n      \"description\": \"Vergileri istediğiniz gibi ekleyebilir veya kaldırabilirsiniz. Crater, Faturanın yanı sıra Bireysel Öğelerdeki Vergileri de destekler.\",\n      \"add_new_tax\": \"Yeni Vergi Ekle\",\n      \"tax_settings\": \"Vergi Ayarları\",\n      \"tax_per_item\": \"Öğe Başı Vergi\",\n      \"tax_name\": \"Vergi Adı\",\n      \"compound_tax\": \"Bileşik Vergi\",\n      \"percent\": \"Yüzde\",\n      \"action\": \"Eylem\",\n      \"tax_setting_description\": \"Bireysel fatura kalemlerine vergi eklemek istiyorsanız bunu etkinleştirin. Varsayılan olarak vergiler doğrudan faturaya eklenir.\",\n      \"created_message\": \"Vergi tipi başarıyla oluşturuldu\",\n      \"updated_message\": \"Vergi tipi başarıyla güncellendi\",\n      \"deleted_message\": \"Vergi tipi başarıyla silindi\",\n      \"confirm_delete\": \"Bu Vergi Tipini geri alamayacaksın\",\n      \"already_in_use\": \"Vergi zaten kullanımda\"\n    },\n    \"payment_modes\": {\n      \"title\": \"Payment Modes\",\n      \"description\": \"Modes of transaction for payments\",\n      \"add_payment_mode\": \"Add Payment Mode\",\n      \"edit_payment_mode\": \"Edit Payment Mode\",\n      \"mode_name\": \"Mode Name\",\n      \"payment_mode_added\": \"Payment Mode Added\",\n      \"payment_mode_updated\": \"Payment Mode Updated\",\n      \"payment_mode_confirm_delete\": \"You will not be able to recover this Payment Mode\",\n      \"payments_attached\": \"This payment method is already attached to payments. Please delete the attached payments to proceed with deletion.\",\n      \"expenses_attached\": \"This payment method is already attached to expenses. Please delete the attached expenses to proceed with deletion.\",\n      \"deleted_message\": \"Payment Mode deleted successfully\"\n    },\n    \"expense_category\": {\n      \"title\": \"Gider Kategorileri\",\n      \"action\": \"Eylem\",\n      \"description\": \"Gider girdileri oluşturmak için kategoriler gereklidir. Tercihinize göre bu kategorileri ekleyebilir veya silebilirsiniz.\",\n      \"add_new_category\": \"Yeni Kategori Ekle\",\n      \"add_category\": \"Kategori Ekle\",\n      \"edit_category\": \"Kategori Düzenle\",\n      \"category_name\": \"Kategori Adı\",\n      \"category_description\": \"Açıklama\",\n      \"created_message\": \"Gider Kategorisi başarıyla oluşturuldu\",\n      \"deleted_message\": \"Gider Kategorisi kategorisi başarıyla silindi\",\n      \"updated_message\": \"Gider Kategorisi başarıyla güncellendi\",\n      \"confirm_delete\": \"Bu Gider Kategorisini geri alamayacaksın\",\n      \"already_in_use\": \"Kategori zaten kullanımda\"\n    },\n    \"preferences\": {\n      \"currency\": \"Para Birimi\",\n      \"default_language\": \"Varsayılan Dil\",\n      \"time_zone\": \"Zaman Dilimi\",\n      \"fiscal_year\": \"Finansal Yıl\",\n      \"date_format\": \"Tarih Biçimi\",\n      \"discount_setting\": \"İndirim Ayarı\",\n      \"discount_per_item\": \"Öğe Başı İndirim \",\n      \"discount_setting_description\": \"Bireysel fatura kalemlerine İndirim eklemek istiyorsanız bunu etkinleştirin. Varsayılan olarak, İndirim doğrudan faturaya eklenir.\",\n      \"expire_public_links\": \"Automatically Expire Public Links\",\n      \"expire_setting_description\": \"Specify whether you would like to expire all the links sent by application to view invoices, estimates & payments, etc after a specified duration.\",\n      \"save\": \"Kaydet\",\n      \"preference\": \"Tercih | Tercihler\",\n      \"general_settings\": \"Sistem için varsayılan tercihler.\",\n      \"updated_message\": \"Tercihler başarıyla güncellendi\",\n      \"select_language\": \"Dil Seçin\",\n      \"select_time_zone\": \"Saat Dilimini Seçin\",\n      \"select_date_format\": \"Tarih Biçimini Seçin\",\n      \"select_financial_year\": \"Finansal Yılı Seçin\",\n      \"recurring_invoice_status\": \"Recurring Invoice Status\",\n      \"create_status\": \"Create Status\",\n      \"active\": \"Active\",\n      \"on_hold\": \"On Hold\",\n      \"update_status\": \"Update Status\",\n      \"completed\": \"Completed\",\n      \"company_currency_unchangeable\": \"Company currency cannot be changed\"\n    },\n    \"update_app\": {\n      \"title\": \"Uygulamayı Güncelle\",\n      \"description\": \"Aşağıdaki butona tıklayarak yeni bir güncelleme olup olmadığını kontrol ederek Crater'ı kolayca güncelleyebilirsiniz\",\n      \"check_update\": \"Güncellemeleri kontrol et\",\n      \"avail_update\": \"Yeni Güncelleştirme Mevcut\",\n      \"next_version\": \"Sonraki versiyon\",\n      \"requirements\": \"Gereksinimler\",\n      \"update\": \"Şimdi Güncelleştir\",\n      \"update_progress\": \"Güncelleme sürüyor...\",\n      \"progress_text\": \"Sadece birkaç dakika sürecek. Lütfen güncelleştirme bitmeden ekranı yenilemeyin veya pencereyi kapatmayın\",\n      \"update_success\": \"Uygulama güncellendi! Tarayıcı pencereniz otomatik olarak yeniden yüklenirken lütfen bekleyin.\",\n      \"latest_message\": \"Mevcut güncelleştirme yok! En son sürümü kullanıyorsunuz.\",\n      \"current_version\": \"Şu Anki Sürüm\",\n      \"download_zip_file\": \"ZIP dosyasını indir\",\n      \"unzipping_package\": \"ZIP Paketi açılıyor\",\n      \"copying_files\": \"Dosyalar Kopyalanıyor\",\n      \"deleting_files\": \"Kullanılmayan dosyalar siliniyor\",\n      \"running_migrations\": \"Migration'lar çalıştırılıyor\",\n      \"finishing_update\": \"Güncelleme tamamlanıyor\",\n      \"update_failed\": \"Güncelleştirme Başarısız\",\n      \"update_failed_text\": \"Üzgünüz! Güncelleştirmeniz :{step} adımında başarısız oldu\",\n      \"update_warning\": \"All of the application files and default template files will be overwritten when you update the application using this utility. Please take a backup of your templates & database before updating.\"\n    },\n    \"backup\": {\n      \"title\": \"Yedek | Yedekler\",\n      \"description\": \"Yedekleme, veritabanınızın dökümü ile birlikte belirttiğiniz dizinlerdeki tüm dosyaları içeren bir ZIP dosyasıdır\",\n      \"new_backup\": \"Yeni Yedek Ekle\",\n      \"create_backup\": \"Yedek Oluştur\",\n      \"select_backup_type\": \"Yedek Tipini Seçin\",\n      \"backup_confirm_delete\": \"Bu Yedeği geri alamayacaksın\",\n      \"path\": \"yol\",\n      \"new_disk\": \"Yeni Disk\",\n      \"created_at\": \"oluşturulma tarihi\",\n      \"size\": \"boyut\",\n      \"dropbox\": \"dosya Yönetimi\",\n      \"local\": \"lokal\",\n      \"healthy\": \"sağlıklı\",\n      \"amount_of_backups\": \"yedekleme miktarı\",\n      \"newest_backups\": \"en son yedek\",\n      \"used_storage\": \"kullanılan depolama\",\n      \"select_disk\": \"Diski Seçin\",\n      \"action\": \"Eylem\",\n      \"deleted_message\": \"Yedekleme, başarılı bir şekilde kaldırıldı\",\n      \"created_message\": \"Yedekleme, başarılı bir şekilde oluşturuldu\",\n      \"invalid_disk_credentials\": \"Seçili diskin kimlik bilgisi geçersiz\"\n    },\n    \"disk\": {\n      \"title\": \"Dosya Diski | Dosya Diskleri\",\n      \"description\": \"By default, Crater will use your local disk for saving backups, avatar and other image files. You can configure more than one disk drivers like DigitalOcean, S3 and Dropbox according to your preference.\",\n      \"created_at\": \"oluşturulma tarihi\",\n      \"dropbox\": \"dropbox\",\n      \"name\": \"Ad\",\n      \"driver\": \"Driver\",\n      \"disk_type\": \"Tip\",\n      \"disk_name\": \"Disk İsmi\",\n      \"new_disk\": \"Yeni Disk Ekle\",\n      \"filesystem_driver\": \"Filesystem Driver\",\n      \"local_driver\": \"local Driver\",\n      \"local_root\": \"local Root\",\n      \"public_driver\": \"Public Driver\",\n      \"public_root\": \"Public Root\",\n      \"public_url\": \"Public URL\",\n      \"public_visibility\": \"Public Visibility\",\n      \"media_driver\": \"Media Driver\",\n      \"media_root\": \"Media Root\",\n      \"aws_driver\": \"AWS Driver\",\n      \"aws_key\": \"AWS Key\",\n      \"aws_secret\": \"AWS Secret\",\n      \"aws_region\": \"AWS Region\",\n      \"aws_bucket\": \"AWS Bucket\",\n      \"aws_root\": \"AWS Root\",\n      \"do_spaces_type\": \"Do Spaces type\",\n      \"do_spaces_key\": \"Do Spaces key\",\n      \"do_spaces_secret\": \"Do Spaces Secret\",\n      \"do_spaces_region\": \"Do Spaces Region\",\n      \"do_spaces_bucket\": \"Do Spaces Bucket\",\n      \"do_spaces_endpoint\": \"Do Spaces Endpoint\",\n      \"do_spaces_root\": \"Do Spaces Root\",\n      \"dropbox_type\": \"Dropbox Type\",\n      \"dropbox_token\": \"Dropbox Token\",\n      \"dropbox_key\": \"Dropbox Key\",\n      \"dropbox_secret\": \"Dropbox Secret\",\n      \"dropbox_app\": \"Dropbox App\",\n      \"dropbox_root\": \"Dropbox Root\",\n      \"default_driver\": \"Varsayılan Sürücü\",\n      \"is_default\": \"VARSAYILAN\",\n      \"set_default_disk\": \"Varsayılan Diski Ayarla\",\n      \"set_default_disk_confirm\": \"Bu disk varsayılan olarak ayarlanacak ve tüm yeni PDF'ler bu diske kaydedilecek\",\n      \"success_set_default_disk\": \"Disk başarıyla varsayılan olarak ayarlandı\",\n      \"save_pdf_to_disk\": \"PDF'leri Diske kaydet\",\n      \"disk_setting_description\": \" Her Fatura, Tahmin & Ödeme Makbuzu PDF'sinin bir kopyasını varsayılan diskinize otomatik olarak kaydetmek istiyorsanız bunu etkinleştirin. Bu seçeneğin aktif edilmesi, PDF'leri görüntülerken yükleme süresini azaltacaktır.\",\n      \"select_disk\": \"Diski Seçin\",\n      \"disk_settings\": \"Disk Ayarları\",\n      \"confirm_delete\": \"Belirtilen diskteki mevcut dosya ve klasörleriniz etkilenmeyecek ancak disk yapılandırmanız Crater'den silinecek\",\n      \"action\": \"Eylem\",\n      \"edit_file_disk\": \"Dosya Diskini Düzenle\",\n      \"success_create\": \"Disk başarıyla eklendi\",\n      \"success_update\": \"Disk başarıyla güncellendi\",\n      \"error\": \"Disk ekleme başarısız\",\n      \"deleted_message\": \"Dosya Diski başarıyla silindi\",\n      \"disk_variables_save_successfully\": \"Disk Başarıyla Konfigüre Edildi\",\n      \"disk_variables_save_error\": \"Disk konfigürasyonu başarısız.\",\n      \"invalid_disk_credentials\": \"Seçili diskin geçersiz kimlik bilgisi\"\n    },\n    \"taxations\": {\n      \"add_billing_address\": \"Enter Billing Address\",\n      \"add_shipping_address\": \"Enter Shipping Address\",\n      \"add_company_address\": \"Enter Company Address\",\n      \"modal_description\": \"The information below is required in order to fetch sales tax.\",\n      \"add_address\": \"Add Address for fetching sales tax.\",\n      \"address_placeholder\": \"Example: 123, My Street\",\n      \"city_placeholder\": \"Example: Los Angeles\",\n      \"state_placeholder\": \"Example: CA\",\n      \"zip_placeholder\": \"Example: 90024\",\n      \"invalid_address\": \"Please provide valid address details.\"\n    }\n  },\n  \"wizard\": {\n    \"account_info\": \"Hesap Bilgisi\",\n    \"account_info_desc\": \"Ana Yönetici hesabını oluşturmak için aşağıdaki ayrıntılar kullanılacaktır. Ayrıca, giriş yaptıktan sonra ayrıntıları istediğiniz zaman değiştirebilirsiniz.\",\n    \"name\": \"İsim\",\n    \"email\": \"E-posta\",\n    \"password\": \"Parola\",\n    \"confirm_password\": \"Parolayı doğrula\",\n    \"save_cont\": \"Kaydet ve Devam et\",\n    \"company_info\": \"Şirket Bilgileri\",\n    \"company_info_desc\": \"Bu bilgiler faturalarda gösterilecektir. Bunu daha sonra ayarlar sayfasında düzenleyebileceğinizi unutmayın.\",\n    \"company_name\": \"Şirket Adı\",\n    \"company_logo\": \"Şirket Logosu\",\n    \"logo_preview\": \"Logo Önizlemesi\",\n    \"preferences\": \"Tercihler\",\n    \"preferences_desc\": \"Sistem için varsayılan tercihler.\",\n    \"currency_set_alert\": \"The company's currency cannot be changed later.\",\n    \"country\": \"Ülke\",\n    \"state\": \"Eyalet\",\n    \"city\": \"İl\",\n    \"address\": \"Adres\",\n    \"street\": \"Sokak1 | Sokak2\",\n    \"phone\": \"Telefon\",\n    \"zip_code\": \"Posta Kodu\",\n    \"go_back\": \"Geri Git\",\n    \"currency\": \"Para Birimi\",\n    \"language\": \"Dil\",\n    \"time_zone\": \"Zaman Dilimi\",\n    \"fiscal_year\": \"Finansal Yıl\",\n    \"date_format\": \"Tarih Biçimi\",\n    \"from_address\": \"Gönderen Adresi\",\n    \"username\": \"Kullanıcı Adı\",\n    \"next\": \"Next\",\n    \"continue\": \"Continue\",\n    \"skip\": \"Skip\",\n    \"database\": {\n      \"database\": \"Site URL & Database\",\n      \"connection\": \"Database Connection\",\n      \"host\": \"Database Host\",\n      \"port\": \"Database Port\",\n      \"password\": \"Veritabanı Parolası\",\n      \"app_url\": \"App URL\",\n      \"app_domain\": \"App Domain\",\n      \"username\": \"Database Username\",\n      \"db_name\": \"Database Name\",\n      \"db_path\": \"Database Path\",\n      \"desc\": \"Create a database on your server and set the credentials using the form below.\"\n    },\n    \"permissions\": {\n      \"permissions\": \"Permissions\",\n      \"permission_confirm_title\": \"Are you sure you want to continue?\",\n      \"permission_confirm_desc\": \"Folder permission check failed\",\n      \"permission_desc\": \"Below is the list of folder permissions which are required in order for the app to work. If the permission check fails, make sure to update your folder permissions.\"\n    },\n    \"verify_domain\": {\n      \"title\": \"Domain Doğrulaması\",\n      \"desc\": \"Crater uses Session based authentication which requires domain verification for security purposes. Please enter the domain on which you will be accessing your web application.\",\n      \"app_domain\": \"App Domain\",\n      \"verify_now\": \"Verify Now\",\n      \"success\": \"Domain Doğrulaması Başarılı.\",\n      \"failed\": \"Domain verification failed. Please enter valid domain name.\",\n      \"verify_and_continue\": \"Doğrula ve Devam Et\"\n    },\n    \"mail\": {\n      \"host\": \"Mail Host\",\n      \"port\": \"Mail Port\",\n      \"driver\": \"Mail Driver\",\n      \"secret\": \"Gizli\",\n      \"mailgun_secret\": \"Mailgun Secret\",\n      \"mailgun_domain\": \"Domain\",\n      \"mailgun_endpoint\": \"Mailgun Endpoint\",\n      \"ses_secret\": \"SES Secret\",\n      \"ses_key\": \"SES Key\",\n      \"password\": \"Posta Parolası\",\n      \"username\": \"Mail Username\",\n      \"mail_config\": \"Mail Configuration\",\n      \"from_name\": \"From Mail Name\",\n      \"from_mail\": \"From Mail Address\",\n      \"encryption\": \"Mail Encryption\",\n      \"mail_config_desc\": \"Below is the form for Configuring Email driver for sending emails from the app. You can also configure third party providers like Sendgrid, SES etc.\"\n    },\n    \"req\": {\n      \"system_req\": \"System Requirements\",\n      \"php_req_version\": \"Php (version {version} required)\",\n      \"check_req\": \"Check Requirements\",\n      \"system_req_desc\": \"Crater has a few server requirements. Make sure that your server has the required php version and all the extensions mentioned below.\"\n    },\n    \"errors\": {\n      \"migrate_failed\": \"Migrate Failed\",\n      \"database_variables_save_error\": \"Cannot write configuration to .env file. Please check its file permissions\",\n      \"mail_variables_save_error\": \"Email configuration failed.\",\n      \"connection_failed\": \"Veri tabanı bağlantısı başarısız\",\n      \"database_should_be_empty\": \"Veritabanı boş olmalı\"\n    },\n    \"success\": {\n      \"mail_variables_save_successfully\": \"E-posta başarıyla konfigüre edildi\",\n      \"database_variables_save_successfully\": \"Veritabanı başarıyla konfigüre edildi.\"\n    }\n  },\n  \"validation\": {\n    \"invalid_phone\": \"Invalid Phone Number\",\n    \"invalid_url\": \"Invalid url (ex: http://www.craterapp.com)\",\n    \"invalid_domain_url\": \"Invalid url (ex: craterapp.com)\",\n    \"required\": \"Field is required\",\n    \"email_incorrect\": \"Yanlış Email.\",\n    \"email_already_taken\": \"The email has already been taken.\",\n    \"email_does_not_exist\": \"User with given email doesn't exist\",\n    \"item_unit_already_taken\": \"This item unit name has already been taken\",\n    \"payment_mode_already_taken\": \"This payment mode name has already been taken\",\n    \"send_reset_link\": \"Send Reset Link\",\n    \"not_yet\": \"Not yet? Send it again\",\n    \"password_min_length\": \"Parola en az {count} karakter içermelidir\",\n    \"name_min_length\": \"Name must have at least {count} letters.\",\n    \"prefix_min_length\": \"Prefix must have at least {count} letters.\",\n    \"enter_valid_tax_rate\": \"Enter valid tax rate\",\n    \"numbers_only\": \"Numbers Only.\",\n    \"characters_only\": \"Characters Only.\",\n    \"password_incorrect\": \"Parola ile onayı aynı olmalı\",\n    \"password_length\": \"Parola en az {count} karakter uzunluğunda olmalıdır.\",\n    \"qty_must_greater_than_zero\": \"Quantity must be greater than zero.\",\n    \"price_greater_than_zero\": \"Price must be greater than zero.\",\n    \"payment_greater_than_zero\": \"Payment must be greater than zero.\",\n    \"payment_greater_than_due_amount\": \"Entered Payment is more than due amount of this invoice.\",\n    \"quantity_maxlength\": \"Quantity should not be greater than 20 digits.\",\n    \"price_maxlength\": \"Price should not be greater than 20 digits.\",\n    \"price_minvalue\": \"Price should be greater than 0.\",\n    \"amount_maxlength\": \"Amount should not be greater than 20 digits.\",\n    \"amount_minvalue\": \"Amount should be greater than 0.\",\n    \"discount_maxlength\": \"Discount should not be greater than max discount\",\n    \"description_maxlength\": \"Description should not be greater than 255 characters.\",\n    \"subject_maxlength\": \"Subject should not be greater than 100 characters.\",\n    \"message_maxlength\": \"Message should not be greater than 255 characters.\",\n    \"maximum_options_error\": \"Maximum  of {max} options selected. First remove a selected option to select another.\",\n    \"notes_maxlength\": \"Notes should not be greater than 65,000 characters.\",\n    \"address_maxlength\": \"Address should not be greater than 255 characters.\",\n    \"ref_number_maxlength\": \"Ref Number should not be greater than 255 characters.\",\n    \"prefix_maxlength\": \"Prefix should not be greater than 5 characters.\",\n    \"something_went_wrong\": \"something went wrong\",\n    \"number_length_minvalue\": \"Number length should be greater than 0\",\n    \"at_least_one_ability\": \"Please select atleast one Permission.\",\n    \"valid_driver_key\": \"Please enter a valid {driver} key.\",\n    \"valid_exchange_rate\": \"Please enter a valid exchange rate.\",\n    \"company_name_not_same\": \"Company name must match with given name.\"\n  },\n  \"errors\": {\n    \"starter_plan\": \"This feature is available on Starter plan and onwards!\",\n    \"invalid_provider_key\": \"Please Enter Valid Provider API Key.\",\n    \"estimate_number_used\": \"The estimate number has already been taken.\",\n    \"invoice_number_used\": \"The invoice number has already been taken.\",\n    \"payment_attached\": \"This invoice already has a payment attached to it. Make sure to delete the attached payments first in order to go ahead with the removal.\",\n    \"payment_number_used\": \"The payment number has already been taken.\",\n    \"name_already_taken\": \"The name has already been taken.\",\n    \"receipt_does_not_exist\": \"Receipt does not exist.\",\n    \"customer_cannot_be_changed_after_payment_is_added\": \"Customer cannot be change after payment is added\",\n    \"invalid_credentials\": \"Invalid  Credentials.\",\n    \"not_allowed\": \"Not Allowed\",\n    \"login_invalid_credentials\": \"These credentials do not match our records.\",\n    \"enter_valid_cron_format\": \"Please enter a valid cron format\",\n    \"email_could_not_be_sent\": \"Email could not be sent to this email address.\",\n    \"invalid_address\": \"Please enter a valid address.\",\n    \"invalid_key\": \"Please enter valid key.\",\n    \"invalid_state\": \"Please enter a valid state.\",\n    \"invalid_city\": \"Please enter a valid city.\",\n    \"invalid_postal_code\": \"Please enter a valid zip.\",\n    \"invalid_format\": \"Please enter valid query string format.\",\n    \"api_error\": \"Server not responding.\",\n    \"feature_not_enabled\": \"Feature not enabled.\",\n    \"request_limit_met\": \"Api request limit exceeded.\",\n    \"address_incomplete\": \"Incomplete Address\"\n  },\n  \"pdf_estimate_label\": \"Estimate\",\n  \"pdf_estimate_number\": \"Estimate Number\",\n  \"pdf_estimate_date\": \"Estimate Date\",\n  \"pdf_estimate_expire_date\": \"Expiry date\",\n  \"pdf_invoice_label\": \"Invoice\",\n  \"pdf_invoice_number\": \"Invoice Number\",\n  \"pdf_invoice_date\": \"Invoice Date\",\n  \"pdf_invoice_due_date\": \"Due date\",\n  \"pdf_notes\": \"Notes\",\n  \"pdf_items_label\": \"Items\",\n  \"pdf_quantity_label\": \"Quantity\",\n  \"pdf_price_label\": \"Price\",\n  \"pdf_discount_label\": \"Discount\",\n  \"pdf_amount_label\": \"Amount\",\n  \"pdf_subtotal\": \"Subtotal\",\n  \"pdf_total\": \"Total\",\n  \"pdf_payment_label\": \"Payment\",\n  \"pdf_payment_receipt_label\": \"PAYMENT RECEIPT\",\n  \"pdf_payment_date\": \"Payment Date\",\n  \"pdf_payment_number\": \"Payment Number\",\n  \"pdf_payment_mode\": \"Payment Mode\",\n  \"pdf_payment_amount_received_label\": \"Amount Received\",\n  \"pdf_expense_report_label\": \"EXPENSES REPORT\",\n  \"pdf_total_expenses_label\": \"TOTAL EXPENSE\",\n  \"pdf_profit_loss_label\": \"PROFIT & LOSS REPORT\",\n  \"pdf_sales_customers_label\": \"Sales Customer Report\",\n  \"pdf_sales_items_label\": \"Sales Item Report\",\n  \"pdf_tax_summery_label\": \"Tax Summary Report\",\n  \"pdf_income_label\": \"INCOME\",\n  \"pdf_net_profit_label\": \"NET PROFIT\",\n  \"pdf_customer_sales_report\": \"Sales Report: By Customer\",\n  \"pdf_total_sales_label\": \"TOTAL SALES\",\n  \"pdf_item_sales_label\": \"Sales Report: By Item\",\n  \"pdf_tax_report_label\": \"TAX REPORT\",\n  \"pdf_total_tax_label\": \"TOTAL TAX\",\n  \"pdf_tax_types_label\": \"Tax Types\",\n  \"pdf_expenses_label\": \"Expenses\",\n  \"pdf_bill_to\": \"Bill to,\",\n  \"pdf_ship_to\": \"Ship to,\",\n  \"pdf_received_from\": \"Received from:\",\n  \"pdf_tax_label\": \"Tax\"\n}\n"
  },
  {
    "path": "resources/scripts/locales/vi.json",
    "content": "{\n  \"navigation\": {\n    \"dashboard\": \"Bảng điều khiển\",\n    \"customers\": \"Khách hàng\",\n    \"items\": \"Mặt hàng\",\n    \"invoices\": \"Hóa đơn\",\n    \"recurring-invoices\": \"Hóa đơn định kỳ\",\n    \"expenses\": \"Chi phí\",\n    \"estimates\": \"Ước tính\",\n    \"payments\": \"Thanh toán\",\n    \"reports\": \"Báo cáo\",\n    \"settings\": \"Cài đặt\",\n    \"logout\": \"Đăng xuất\",\n    \"users\": \"Người dùng\",\n    \"modules\": \"Modules\"\n  },\n  \"general\": {\n    \"add_company\": \"Thêm công ty\",\n    \"view_pdf\": \"Xem PDF\",\n    \"copy_pdf_url\": \"Sao chép Url PDF\",\n    \"download_pdf\": \"tải PDF\",\n    \"save\": \"Tiết kiệm\",\n    \"create\": \"Tạo nên\",\n    \"cancel\": \"Huỷ bỏ\",\n    \"update\": \"Cập nhật\",\n    \"deselect\": \"Bỏ chọn\",\n    \"download\": \"Tải xuống\",\n    \"from_date\": \"Từ ngày\",\n    \"to_date\": \"Đến nay\",\n    \"from\": \"Từ\",\n    \"to\": \"Đến\",\n    \"ok\": \"OK\",\n    \"yes\": \"Đúng\",\n    \"no\": \"Không\",\n    \"sort_by\": \"Sắp xếp theo\",\n    \"ascending\": \"Tăng dần\",\n    \"descending\": \"Giảm dần\",\n    \"subject\": \"Môn học\",\n    \"body\": \"Thân hình\",\n    \"message\": \"Thông điệp\",\n    \"send\": \"Gửi\",\n    \"preview\": \"Xem trước\",\n    \"go_back\": \"Quay lại\",\n    \"back_to_login\": \"Quay lại đăng nhập?\",\n    \"home\": \"Trang Chủ\",\n    \"filter\": \"Bộ lọc\",\n    \"delete\": \"Xóa bỏ\",\n    \"edit\": \"Biên tập\",\n    \"view\": \"Lượt xem\",\n    \"add_new_item\": \"Thêm mục mới\",\n    \"clear_all\": \"Làm sạch tất cả\",\n    \"showing\": \"Hiển thị\",\n    \"of\": \"của\",\n    \"actions\": \"Hành động\",\n    \"subtotal\": \"TIÊU ĐỀ\",\n    \"discount\": \"GIẢM GIÁ\",\n    \"fixed\": \"đã sửa\",\n    \"percentage\": \"Phần trăm\",\n    \"tax\": \"THUẾ\",\n    \"total_amount\": \"TỔNG CỘNG\",\n    \"bill_to\": \"Hoa đơn để\",\n    \"ship_to\": \"Tàu\",\n    \"due\": \"Đến hạn\",\n    \"draft\": \"Bản nháp\",\n    \"sent\": \"Gởi\",\n    \"all\": \"Tất cả\",\n    \"select_all\": \"Chọn tất cả\",\n    \"select_template\": \"Chọn Template\",\n    \"choose_file\": \"Bấm vào đây để chọn một tập tin\",\n    \"choose_template\": \"Chọn một mẫu\",\n    \"choose\": \"Chọn\",\n    \"remove\": \"Tẩy\",\n    \"select_a_status\": \"Chọn một trạng thái\",\n    \"select_a_tax\": \"Chọn thuế\",\n    \"search\": \"Tìm kiếm\",\n    \"are_you_sure\": \"Bạn có chắc không?\",\n    \"list_is_empty\": \"Danh sách trống.\",\n    \"no_tax_found\": \"Không tìm thấy thuế!\",\n    \"four_zero_four\": \"404\",\n    \"you_got_lost\": \"Rất tiếc! Bạn bị lạc rồi!\",\n    \"go_home\": \"Về nhà\",\n    \"test_mail_conf\": \"Kiểm tra cấu hình thư\",\n    \"send_mail_successfully\": \"Thư đã được gửi thành công\",\n    \"setting_updated\": \"Đã cập nhật cài đặt thành công\",\n    \"select_state\": \"Chọn trạng thái\",\n    \"select_country\": \"Chọn quốc gia\",\n    \"select_city\": \"Lựa chọn thành phố\",\n    \"street_1\": \"đường số 1\",\n    \"street_2\": \"Đường 2\",\n    \"action_failed\": \"Diễn: Đã thất bại\",\n    \"retry\": \"Thử lại\",\n    \"choose_note\": \"Chọn Ghi chú\",\n    \"no_note_found\": \"Không tìm thấy ghi chú\",\n    \"insert_note\": \"Chèn ghi chú\",\n    \"copied_pdf_url_clipboard\": \"Đã sao chép url PDF vào khay nhớ tạm!\",\n    \"copied_url_clipboard\": \"Copied url to clipboard!\",\n    \"docs\": \"Tài liệu\",\n    \"do_you_wish_to_continue\": \"Bạn có muốn tiếp tục không?\",\n    \"note\": \"Ghi chú\",\n    \"pay_invoice\": \"Pay Invoice\",\n    \"login_successfully\": \"Logged in successfully!\",\n    \"logged_out_successfully\": \"Logged out successfully\",\n    \"mark_as_default\": \"Đánh dấu mặc định\"\n  },\n  \"dashboard\": {\n    \"select_year\": \"Chọn năm\",\n    \"cards\": {\n      \"due_amount\": \"Số tiền đến hạn\",\n      \"customers\": \"Khách hàng\",\n      \"invoices\": \"Hóa đơn\",\n      \"estimates\": \"Ước tính\",\n      \"payments\": \"Payments\"\n    },\n    \"chart_info\": {\n      \"total_sales\": \"Bán hàng\",\n      \"total_receipts\": \"Biên lai\",\n      \"total_expense\": \"Chi phí\",\n      \"net_income\": \"Thu nhập ròng\",\n      \"year\": \"Chọn năm\"\n    },\n    \"monthly_chart\": {\n      \"title\": \"Bán hàng\"\n    },\n    \"recent_invoices_card\": {\n      \"title\": \"Hóa đơn đến hạn\",\n      \"due_on\": \"Đến hạn vào\",\n      \"customer\": \"khách hàng\",\n      \"amount_due\": \"Số tiền đến hạn\",\n      \"actions\": \"Hành động\",\n      \"view_all\": \"Xem tất cả\"\n    },\n    \"recent_estimate_card\": {\n      \"title\": \"Các ước tính gần đây\",\n      \"date\": \"Ngày\",\n      \"customer\": \"khách hàng\",\n      \"amount_due\": \"Số tiền đến hạn\",\n      \"actions\": \"Hành động\",\n      \"view_all\": \"Xem tất cả\"\n    }\n  },\n  \"tax_types\": {\n    \"name\": \"Tên\",\n    \"description\": \"Sự miêu tả\",\n    \"percent\": \"Phần trăm\",\n    \"compound_tax\": \"Thuế tổng hợp\"\n  },\n  \"global_search\": {\n    \"search\": \"Tìm kiếm...\",\n    \"customers\": \"Khách hàng\",\n    \"users\": \"Người dùng\",\n    \"no_results_found\": \"Không tìm thấy kết quả nào\"\n  },\n  \"company_switcher\": {\n    \"label\": \"Đổi doanh nghiệp\",\n    \"no_results_found\": \"Không tìm thấy kết quả nào\",\n    \"add_new_company\": \"Thêm doanh nghiệp\",\n    \"new_company\": \"Doanh nghiệp mới\",\n    \"created_message\": \"Khởi tạo doanh nghiệp thành công\"\n  },\n  \"dateRange\": {\n    \"today\": \"Hôm nay\",\n    \"this_week\": \"Tuần này\",\n    \"this_month\": \"Tháng này\",\n    \"this_quarter\": \"Quý này\",\n    \"this_year\": \"Năm nay\",\n    \"previous_week\": \"Tuần trước\",\n    \"previous_month\": \"Tháng trước\",\n    \"previous_quarter\": \"Quý trước\",\n    \"previous_year\": \"Năm trước\",\n    \"custom\": \"Tuỳ chỉnh\"\n  },\n  \"customers\": {\n    \"title\": \"Khách hàng\",\n    \"prefix\": \"Tiền tố\",\n    \"add_customer\": \"Thêm khách hàng\",\n    \"contacts_list\": \"Danh sách khách hàng\",\n    \"name\": \"Tên\",\n    \"mail\": \"Thư tín | Thư\",\n    \"statement\": \"Tuyên bố\",\n    \"display_name\": \"Tên hiển thị\",\n    \"primary_contact_name\": \"Tên liên hệ chính\",\n    \"contact_name\": \"Tên Liên lạc\",\n    \"amount_due\": \"Số tiền đến hạn\",\n    \"email\": \"E-mail\",\n    \"address\": \"Địa chỉ\",\n    \"phone\": \"Điện thoại\",\n    \"website\": \"Trang mạng\",\n    \"overview\": \"Tổng quat\",\n    \"invoice_prefix\": \"Tiền tố hóa đơn\",\n    \"estimate_prefix\": \"Tiền tố ước tính\",\n    \"payment_prefix\": \"Tiền tố thanh toán\",\n    \"enable_portal\": \"Bật Cổng thông tin\",\n    \"country\": \"Quốc gia\",\n    \"state\": \"Tiểu bang\",\n    \"city\": \"Tp.\",\n    \"zip_code\": \"Mã Bưu Chính\",\n    \"added_on\": \"Đã thêm vào\",\n    \"action\": \"Hoạt động\",\n    \"password\": \"Mật khẩu\",\n    \"confirm_password\": \"Xác nhận mật khẩu\",\n    \"street_number\": \"Số đường\",\n    \"primary_currency\": \"Tiền tệ chính\",\n    \"description\": \"Sự miêu tả\",\n    \"add_new_customer\": \"Thêm khách hàng mới\",\n    \"save_customer\": \"Lưu khách hàng\",\n    \"update_customer\": \"Cập nhật khách hàng\",\n    \"customer\": \"Khách hàng | Khách hàng\",\n    \"new_customer\": \"Khách hàng mới\",\n    \"edit_customer\": \"Chỉnh sửa khách hàng\",\n    \"basic_info\": \"Thông tin cơ bản\",\n    \"portal_access\": \"Portal Access\",\n    \"portal_access_text\": \"Would you like to allow this customer to login to the Customer Portal?\",\n    \"portal_access_url\": \"Customer Portal Login URL\",\n    \"portal_access_url_help\": \"Please copy & forward the above given URL to your customer for providing access.\",\n    \"billing_address\": \"Địa chỉ thanh toán\",\n    \"shipping_address\": \"Địa chỉ giao hàng\",\n    \"copy_billing_address\": \"Sao chép từ thanh toán\",\n    \"no_customers\": \"Chưa có khách hàng!\",\n    \"no_customers_found\": \"Không tìm thấy khách hàng nào!\",\n    \"no_contact\": \"Không có liên lạc\",\n    \"no_contact_name\": \"Không có tên liên hệ\",\n    \"list_of_customers\": \"Phần này sẽ chứa danh sách các khách hàng.\",\n    \"primary_display_name\": \"Tên hiển thị chính\",\n    \"select_currency\": \"Chọn đơn vị tiền tệ\",\n    \"select_a_customer\": \"Chọn một khách hàng\",\n    \"type_or_click\": \"Nhập hoặc nhấp để chọn\",\n    \"new_transaction\": \"Giao dịch mới\",\n    \"no_matching_customers\": \"Không có khách hàng phù hợp!\",\n    \"phone_number\": \"Số điện thoại\",\n    \"create_date\": \"Tạo ngày\",\n    \"confirm_delete\": \"Bạn sẽ không thể khôi phục khách hàng này và tất cả các Hóa đơn, Ước tính và Thanh toán có liên quan. | Bạn sẽ không thể khôi phục những khách hàng này và tất cả các Hóa đơn, Ước tính và Thanh toán có liên quan.\",\n    \"created_message\": \"Khách hàng được tạo thành công\",\n    \"updated_message\": \"Đã cập nhật khách hàng thành công\",\n    \"address_updated_message\": \"Address Information Updated succesfully\",\n    \"deleted_message\": \"Đã xóa khách hàng thành công | Đã xóa khách hàng thành công\",\n    \"edit_currency_not_allowed\": \"Không thể đổi tiền tệ khi bản dịch đã được tạo.\"\n  },\n  \"items\": {\n    \"title\": \"Mặt hàng\",\n    \"items_list\": \"Danh sách mặt hàng\",\n    \"name\": \"Tên\",\n    \"unit\": \"Đơn vị\",\n    \"description\": \"Sự miêu tả\",\n    \"added_on\": \"Đã thêm vào\",\n    \"price\": \"Giá bán\",\n    \"date_of_creation\": \"Ngày tạo\",\n    \"not_selected\": \"Không có mục nào được chọn\",\n    \"action\": \"Hoạt động\",\n    \"add_item\": \"Thêm mặt hàng\",\n    \"save_item\": \"Lưu mục\",\n    \"update_item\": \"Cập nhật mặt hàng\",\n    \"item\": \"Mặt hàng | Mặt hàng\",\n    \"add_new_item\": \"Thêm mục mới\",\n    \"new_item\": \"Vật phẩm mới\",\n    \"edit_item\": \"Chỉnh sửa mục\",\n    \"no_items\": \"Chưa có mặt hàng nào!\",\n    \"list_of_items\": \"Phần này sẽ chứa danh sách các mục.\",\n    \"select_a_unit\": \"chọn đơn vị\",\n    \"taxes\": \"Thuế\",\n    \"item_attached_message\": \"Không thể xóa một mục đã được sử dụng\",\n    \"confirm_delete\": \"Bạn sẽ không thể khôi phục Vật phẩm này | Bạn sẽ không thể khôi phục các Mục này\",\n    \"created_message\": \"Mục được tạo thành công\",\n    \"updated_message\": \"Đã cập nhật mặt hàng thành công\",\n    \"deleted_message\": \"Đã xóa mục thành công | Các mục đã được xóa thành công\"\n  },\n  \"estimates\": {\n    \"title\": \"Ước tính\",\n    \"accept_estimate\": \"Accept Estimate\",\n    \"reject_estimate\": \"Reject Estimate\",\n    \"estimate\": \"Ước tính | Ước tính\",\n    \"estimates_list\": \"Danh sách ước tính\",\n    \"days\": \"{days} Ngày\",\n    \"months\": \"{tháng} tháng\",\n    \"years\": \"{năm} Năm\",\n    \"all\": \"Tất cả\",\n    \"paid\": \"Đã thanh toán\",\n    \"unpaid\": \"Chưa thanh toán\",\n    \"customer\": \"KHÁCH HÀNG\",\n    \"ref_no\": \"REF KHÔNG.\",\n    \"number\": \"CON SỐ\",\n    \"amount_due\": \"SỐ TIỀN ĐÚNG\",\n    \"partially_paid\": \"Thanh toán một phần\",\n    \"total\": \"Toàn bộ\",\n    \"discount\": \"Giảm giá\",\n    \"sub_total\": \"Tổng phụ\",\n    \"estimate_number\": \"Số ước tính\",\n    \"ref_number\": \"Số REF\",\n    \"contact\": \"Tiếp xúc\",\n    \"add_item\": \"Thêm một mặt hàng\",\n    \"date\": \"Ngày\",\n    \"due_date\": \"Ngày đáo hạn\",\n    \"expiry_date\": \"Ngày hết hạn\",\n    \"status\": \"Trạng thái\",\n    \"add_tax\": \"Thêm thuế\",\n    \"amount\": \"Số tiền\",\n    \"action\": \"Hoạt động\",\n    \"notes\": \"Ghi chú\",\n    \"tax\": \"Thuế\",\n    \"estimate_template\": \"Bản mẫu\",\n    \"convert_to_invoice\": \"Chuyển đổi sang hóa đơn\",\n    \"mark_as_sent\": \"Đánh dấu là Đã gửi\",\n    \"send_estimate\": \"Gửi ước tính\",\n    \"resend_estimate\": \"Gửi lại ước tính\",\n    \"record_payment\": \"Ghi lại Thanh toán\",\n    \"add_estimate\": \"Thêm ước tính\",\n    \"save_estimate\": \"Lưu ước tính\",\n    \"confirm_conversion\": \"Ước tính này sẽ được sử dụng để tạo Hóa đơn mới.\",\n    \"conversion_message\": \"Hóa đơn được tạo thành công\",\n    \"confirm_send_estimate\": \"Ước tính này sẽ được gửi qua email cho khách hàng\",\n    \"confirm_mark_as_sent\": \"Ước tính này sẽ được đánh dấu là đã gửi\",\n    \"confirm_mark_as_accepted\": \"Ước tính này sẽ được đánh dấu là Đã chấp nhận\",\n    \"confirm_mark_as_rejected\": \"Ước tính này sẽ được đánh dấu là Bị từ chối\",\n    \"no_matching_estimates\": \"Không có ước tính phù hợp!\",\n    \"mark_as_sent_successfully\": \"Ước tính được đánh dấu là đã gửi thành công\",\n    \"send_estimate_successfully\": \"Ước tính đã được gửi thành công\",\n    \"errors\": {\n      \"required\": \"Lĩnh vực được yêu cầu\"\n    },\n    \"accepted\": \"Đã được chấp nhận\",\n    \"rejected\": \"Từ chối\",\n    \"expired\": \"Expired\",\n    \"sent\": \"Gởi\",\n    \"draft\": \"Bản nháp\",\n    \"viewed\": \"Viewed\",\n    \"declined\": \"Suy giảm\",\n    \"new_estimate\": \"Ước tính mới\",\n    \"add_new_estimate\": \"Thêm ước tính mới\",\n    \"update_Estimate\": \"Cập nhật ước tính\",\n    \"edit_estimate\": \"Chỉnh sửa ước tính\",\n    \"items\": \"mặt hàng\",\n    \"Estimate\": \"Ước tính | Ước tính\",\n    \"add_new_tax\": \"Thêm thuế mới\",\n    \"no_estimates\": \"Chưa có ước tính nào!\",\n    \"list_of_estimates\": \"Phần này sẽ chứa danh sách các ước tính.\",\n    \"mark_as_rejected\": \"Đánh dấu là bị từ chối\",\n    \"mark_as_accepted\": \"Đánh dấu là đã chấp nhận\",\n    \"marked_as_accepted_message\": \"Ước tính được đánh dấu là được chấp nhận\",\n    \"marked_as_rejected_message\": \"Ước tính được đánh dấu là bị từ chối\",\n    \"confirm_delete\": \"Bạn sẽ không thể khôi phục Ước tính này | Bạn sẽ không thể khôi phục các Ước tính này\",\n    \"created_message\": \"Ước tính được tạo thành công\",\n    \"updated_message\": \"Đã cập nhật ước tính thành công\",\n    \"deleted_message\": \"Đã xóa ước tính thành công | Đã xóa ước tính thành công\",\n    \"something_went_wrong\": \"có gì đó không ổn\",\n    \"item\": {\n      \"title\": \"Danh mục\",\n      \"description\": \"Sự miêu tả\",\n      \"quantity\": \"Định lượng\",\n      \"price\": \"Giá bán\",\n      \"discount\": \"Giảm giá\",\n      \"total\": \"Toàn bộ\",\n      \"total_discount\": \"Tổng khấu trừ\",\n      \"sub_total\": \"Tổng phụ\",\n      \"tax\": \"Thuế\",\n      \"amount\": \"Số tiền\",\n      \"select_an_item\": \"Nhập hoặc nhấp để chọn một mục\",\n      \"type_item_description\": \"Loại Mục Mô tả (tùy chọn)\"\n    },\n    \"mark_as_default_estimate_template_description\": \"Nếu bật, mẫu đang chọn sẽ được tự động áp dụng cho ước tính mới.\"\n  },\n  \"invoices\": {\n    \"title\": \"Hóa đơn\",\n    \"download\": \"Download\",\n    \"pay_invoice\": \"Pay Invoice\",\n    \"invoices_list\": \"Danh sách hóa đơn\",\n    \"invoice_information\": \"Invoice Information\",\n    \"days\": \"{days} Ngày\",\n    \"months\": \"{tháng} tháng\",\n    \"years\": \"{năm} Năm\",\n    \"all\": \"Tất cả\",\n    \"paid\": \"Đã thanh toán\",\n    \"unpaid\": \"Chưa thanh toán\",\n    \"viewed\": \"Đã xem\",\n    \"overdue\": \"Quá hạn\",\n    \"completed\": \"Đã hoàn thành\",\n    \"customer\": \"KHÁCH HÀNG\",\n    \"paid_status\": \"TRẠNG THÁI ĐÃ TRẢ TIỀN\",\n    \"ref_no\": \"REF KHÔNG.\",\n    \"number\": \"CON SỐ\",\n    \"amount_due\": \"SỐ TIỀN ĐÚNG\",\n    \"partially_paid\": \"Thanh toán một phần\",\n    \"total\": \"Toàn bộ\",\n    \"discount\": \"Giảm giá\",\n    \"sub_total\": \"Tổng phụ\",\n    \"invoice\": \"Hóa đơn | Hóa đơn\",\n    \"invoice_number\": \"Số hóa đơn\",\n    \"ref_number\": \"Số REF\",\n    \"contact\": \"Tiếp xúc\",\n    \"add_item\": \"Thêm một mặt hàng\",\n    \"date\": \"Ngày\",\n    \"due_date\": \"Ngày đáo hạn\",\n    \"status\": \"Trạng thái\",\n    \"add_tax\": \"Thêm thuế\",\n    \"amount\": \"Số tiền\",\n    \"action\": \"Hoạt động\",\n    \"notes\": \"Ghi chú\",\n    \"view\": \"Lượt xem\",\n    \"send_invoice\": \"Gửi hóa đơn\",\n    \"resend_invoice\": \"Gửi lại hóa đơn\",\n    \"invoice_template\": \"Mẫu hóa đơn\",\n    \"conversion_message\": \"Hóa đơn được sao chép thành công\",\n    \"template\": \"Bản mẫu\",\n    \"mark_as_sent\": \"Đánh dấu là đã gửi\",\n    \"confirm_send_invoice\": \"Hóa đơn này sẽ được gửi qua email cho khách hàng\",\n    \"invoice_mark_as_sent\": \"Hóa đơn này sẽ được đánh dấu là đã gửi\",\n    \"confirm_mark_as_accepted\": \"Hóa đơn này sẽ được đánh dấu là Đã chấp nhận\",\n    \"confirm_mark_as_rejected\": \"Hóa đơn này sẽ được đánh dấu là Đã từ chối\",\n    \"confirm_send\": \"Hóa đơn này sẽ được gửi qua email cho khách hàng\",\n    \"invoice_date\": \"Ngày lập hóa đơn\",\n    \"record_payment\": \"Ghi lại Thanh toán\",\n    \"add_new_invoice\": \"Thêm hóa đơn mới\",\n    \"update_expense\": \"Cập nhật chi phí\",\n    \"edit_invoice\": \"Chỉnh sửa hóa đơn\",\n    \"new_invoice\": \"Hóa đơn mới\",\n    \"save_invoice\": \"Lưu hóa đơn\",\n    \"update_invoice\": \"Cập nhật hóa đơn\",\n    \"add_new_tax\": \"Thêm thuế mới\",\n    \"no_invoices\": \"Chưa có hóa đơn!\",\n    \"mark_as_rejected\": \"Đánh dấu là bị từ chối\",\n    \"mark_as_accepted\": \"Đánh dấu là đã chấp nhận\",\n    \"list_of_invoices\": \"Phần này sẽ chứa danh sách các hóa đơn.\",\n    \"select_invoice\": \"Chọn hóa đơn\",\n    \"no_matching_invoices\": \"Không có hóa đơn phù hợp!\",\n    \"mark_as_sent_successfully\": \"Hóa đơn được đánh dấu là đã gửi thành công\",\n    \"invoice_sent_successfully\": \"Hóa đơn đã được gửi thành công\",\n    \"cloned_successfully\": \"Hóa đơn được sao chép thành công\",\n    \"clone_invoice\": \"Hóa đơn nhân bản\",\n    \"confirm_clone\": \"Hóa đơn này sẽ được sao chép vào một Hóa đơn mới\",\n    \"item\": {\n      \"title\": \"Danh mục\",\n      \"description\": \"Sự miêu tả\",\n      \"quantity\": \"Định lượng\",\n      \"price\": \"Giá bán\",\n      \"discount\": \"Giảm giá\",\n      \"total\": \"Toàn bộ\",\n      \"total_discount\": \"Tổng khấu trừ\",\n      \"sub_total\": \"Tổng phụ\",\n      \"tax\": \"Thuế\",\n      \"amount\": \"Số tiền\",\n      \"select_an_item\": \"Nhập hoặc nhấp để chọn một mục\",\n      \"type_item_description\": \"Loại Mục Mô tả (tùy chọn)\"\n    },\n    \"payment_attached_message\": \"Một trong các hóa đơn được chọn đã có một khoản thanh toán được đính kèm. Đảm bảo xóa các khoản thanh toán đính kèm trước để tiếp tục xóa\",\n    \"confirm_delete\": \"Bạn sẽ không thể khôi phục Hóa đơn này | Bạn sẽ không thể khôi phục các Hóa đơn này\",\n    \"created_message\": \"Hóa đơn đã được tạo thành công\",\n    \"updated_message\": \"Đã cập nhật hóa đơn thành công\",\n    \"deleted_message\": \"Hóa đơn đã được xóa thành công | Hóa đơn đã được xóa thành công\",\n    \"marked_as_sent_message\": \"Hóa đơn được đánh dấu là đã gửi thành công\",\n    \"something_went_wrong\": \"có gì đó không ổn\",\n    \"invalid_due_amount_message\": \"Tổng số tiền trên Hóa đơn không được nhỏ hơn tổng số tiền đã thanh toán cho Hóa đơn này. Vui lòng cập nhật hóa đơn hoặc xóa các khoản thanh toán liên quan để tiếp tục.\",\n    \"mark_as_default_invoice_template_description\": \"Nếu bật, mẫu đang chọn sẽ được tự động áp dụng cho hóa đơn mới.\"\n  },\n  \"recurring_invoices\": {\n    \"title\": \"Hóa đơn định kỳ\",\n    \"invoices_list\": \"Hóa đơn định kỳ\",\n    \"days\": \"{days} Ngày\",\n    \"months\": \"{months} Tháng\",\n    \"years\": \"{years} Năm\",\n    \"all\": \"Tất cả\",\n    \"paid\": \"Đã thanh toán\",\n    \"unpaid\": \"Chưa thanh toán\",\n    \"viewed\": \"Đã xem\",\n    \"overdue\": \"Quá hạn\",\n    \"active\": \"Hoạt động\",\n    \"completed\": \"Hoàn thành\",\n    \"customer\": \"KHÁCH HÀNG\",\n    \"paid_status\": \"PAID STATUS\",\n    \"ref_no\": \"REF NO.\",\n    \"number\": \"NUMBER\",\n    \"amount_due\": \"AMOUNT DUE\",\n    \"partially_paid\": \"Partially Paid\",\n    \"total\": \"Total\",\n    \"discount\": \"Discount\",\n    \"sub_total\": \"Sub Total\",\n    \"invoice\": \"Recurring Invoice | Recurring Invoices\",\n    \"invoice_number\": \"Recurring Invoice Number\",\n    \"next_invoice_date\": \"Next Invoice Date\",\n    \"ref_number\": \"Ref Number\",\n    \"contact\": \"Contact\",\n    \"add_item\": \"Add an Item\",\n    \"date\": \"Date\",\n    \"limit_by\": \"Limit by\",\n    \"limit_date\": \"Limit Date\",\n    \"limit_count\": \"Limit Count\",\n    \"count\": \"Count\",\n    \"status\": \"Status\",\n    \"select_a_status\": \"Select a status\",\n    \"working\": \"Working\",\n    \"on_hold\": \"On Hold\",\n    \"complete\": \"Completed\",\n    \"add_tax\": \"Add Tax\",\n    \"amount\": \"Amount\",\n    \"action\": \"Action\",\n    \"notes\": \"Notes\",\n    \"view\": \"View\",\n    \"basic_info\": \"Basic Info\",\n    \"send_invoice\": \"Send Recurring Invoice\",\n    \"auto_send\": \"Auto Send\",\n    \"resend_invoice\": \"Resend Recurring Invoice\",\n    \"invoice_template\": \"Recurring Invoice Template\",\n    \"conversion_message\": \"Recurring Invoice cloned successful\",\n    \"template\": \"Template\",\n    \"mark_as_sent\": \"Mark as sent\",\n    \"confirm_send_invoice\": \"This recurring invoice will be sent via email to the customer\",\n    \"invoice_mark_as_sent\": \"This recurring invoice will be marked as sent\",\n    \"confirm_send\": \"This recurring invoice will be sent via email to the customer\",\n    \"starts_at\": \"Start Date\",\n    \"due_date\": \"Invoice Due Date\",\n    \"record_payment\": \"Record Payment\",\n    \"add_new_invoice\": \"Add New Recurring Invoice\",\n    \"update_expense\": \"Update Expense\",\n    \"edit_invoice\": \"Edit Recurring Invoice\",\n    \"new_invoice\": \"New Recurring Invoice\",\n    \"send_automatically\": \"Send Automatically\",\n    \"send_automatically_desc\": \"Enable this, if you would like to send the invoice automatically to the customer when its created.\",\n    \"save_invoice\": \"Save Recurring Invoice\",\n    \"update_invoice\": \"Cập nhật Hóa đơn định kỳ\",\n    \"add_new_tax\": \"Thêm thuế mới\",\n    \"no_invoices\": \"Chưa có Hóa đơn định kỳ nào!\",\n    \"mark_as_rejected\": \"Đánh dấu là bị từ chối\",\n    \"mark_as_accepted\": \"Đánh dấu là đã chấp nhận\",\n    \"list_of_invoices\": \"This section will contain the list of recurring invoices.\",\n    \"select_invoice\": \"Select Invoice\",\n    \"no_matching_invoices\": \"There are no matching recurring invoices!\",\n    \"mark_as_sent_successfully\": \"Recurring Invoice marked as sent successfully\",\n    \"invoice_sent_successfully\": \"Recurring Invoice sent successfully\",\n    \"cloned_successfully\": \"Recurring Invoice cloned successfully\",\n    \"clone_invoice\": \"Clone Recurring Invoice\",\n    \"confirm_clone\": \"This recurring invoice will be cloned into a new Recurring Invoice\",\n    \"add_customer_email\": \"Thêm một địa chỉ email cho khách hàng này để gửi hóa đơn tự động.\",\n    \"item\": {\n      \"title\": \"Item Title\",\n      \"description\": \"Description\",\n      \"quantity\": \"Quantity\",\n      \"price\": \"Price\",\n      \"discount\": \"Discount\",\n      \"total\": \"Total\",\n      \"total_discount\": \"Total Discount\",\n      \"sub_total\": \"Sub Total\",\n      \"tax\": \"Tax\",\n      \"amount\": \"Amount\",\n      \"select_an_item\": \"Type or click to select an item\",\n      \"type_item_description\": \"Type Item Description (optional)\"\n    },\n    \"frequency\": {\n      \"title\": \"Frequency\",\n      \"select_frequency\": \"Select Frequency\",\n      \"minute\": \"Minute\",\n      \"hour\": \"Hour\",\n      \"day_month\": \"Day of month\",\n      \"month\": \"Month\",\n      \"day_week\": \"Day of week\"\n    },\n    \"confirm_delete\": \"You will not be able to recover this Invoice | You will not be able to recover these Invoices\",\n    \"created_message\": \"Recurring Invoice created successfully\",\n    \"updated_message\": \"Recurring Invoice updated successfully\",\n    \"deleted_message\": \"Recurring Invoice deleted successfully | Recurring Invoices deleted successfully\",\n    \"marked_as_sent_message\": \"Recurring Invoice marked as sent successfully\",\n    \"user_email_does_not_exist\": \"User email does not exist\",\n    \"something_went_wrong\": \"something went wrong\",\n    \"invalid_due_amount_message\": \"Total Recurring Invoice amount cannot be less than total paid amount for this Recurring Invoice. Please update the invoice or delete the associated payments to continue.\"\n  },\n  \"payments\": {\n    \"title\": \"Thanh toán\",\n    \"payments_list\": \"Danh sách thanh toán\",\n    \"record_payment\": \"Ghi lại Thanh toán\",\n    \"customer\": \"khách hàng\",\n    \"date\": \"Ngày\",\n    \"amount\": \"Số tiền\",\n    \"action\": \"Hoạt động\",\n    \"payment_number\": \"Số tiền phải trả\",\n    \"payment_mode\": \"Phương thức thanh toán\",\n    \"invoice\": \"Hóa đơn\",\n    \"note\": \"Ghi chú\",\n    \"add_payment\": \"Thêm thanh toán\",\n    \"new_payment\": \"Thanh toán mới\",\n    \"edit_payment\": \"Chỉnh sửa Thanh toán\",\n    \"view_payment\": \"Xem thanh toán\",\n    \"add_new_payment\": \"Thêm thanh toán mới\",\n    \"send_payment_receipt\": \"Gửi biên lai thanh toán\",\n    \"send_payment\": \"Gửi hóa đơn\",\n    \"save_payment\": \"Lưu thanh toán\",\n    \"update_payment\": \"Cập nhật thanh toán\",\n    \"payment\": \"Thanh toán | Thanh toán\",\n    \"no_payments\": \"Chưa có khoản thanh toán nào!\",\n    \"not_selected\": \"Không được chọn\",\n    \"no_invoice\": \"Không có hóa đơn\",\n    \"no_matching_payments\": \"Không có khoản thanh toán nào phù hợp!\",\n    \"list_of_payments\": \"Phần này sẽ chứa danh sách các khoản thanh toán.\",\n    \"select_payment_mode\": \"Chọn phương thức thanh toán\",\n    \"confirm_mark_as_sent\": \"Ước tính này sẽ được đánh dấu là đã gửi\",\n    \"confirm_send_payment\": \"Khoản thanh toán này sẽ được gửi qua email cho khách hàng\",\n    \"send_payment_successfully\": \"Thanh toán đã được gửi thành công\",\n    \"something_went_wrong\": \"có gì đó không ổn\",\n    \"confirm_delete\": \"Bạn sẽ không thể khôi phục Thanh toán này | Bạn sẽ không thể khôi phục các Khoản thanh toán này\",\n    \"created_message\": \"Thanh toán được tạo thành công\",\n    \"updated_message\": \"Đã cập nhật thanh toán thành công\",\n    \"deleted_message\": \"Đã xóa thanh toán thành công | Thanh toán đã được xóa thành công\",\n    \"invalid_amount_message\": \"Số tiền thanh toán không hợp lệ\"\n  },\n  \"expenses\": {\n    \"title\": \"Chi phí\",\n    \"expenses_list\": \"Danh sách chi phí\",\n    \"select_a_customer\": \"Chọn một khách hàng\",\n    \"expense_title\": \"Tiêu đề\",\n    \"customer\": \"khách hàng\",\n    \"currency\": \"Currency\",\n    \"contact\": \"Tiếp xúc\",\n    \"category\": \"thể loại\",\n    \"from_date\": \"Từ ngày\",\n    \"to_date\": \"Đến nay\",\n    \"expense_date\": \"Ngày\",\n    \"description\": \"Sự miêu tả\",\n    \"receipt\": \"Biên lai\",\n    \"amount\": \"Số tiền\",\n    \"action\": \"Hoạt động\",\n    \"not_selected\": \"Không được chọn\",\n    \"note\": \"Ghi chú\",\n    \"category_id\": \"Thể loại ID\",\n    \"date\": \"Ngày\",\n    \"add_expense\": \"Thêm chi phí\",\n    \"add_new_expense\": \"Thêm chi phí mới\",\n    \"save_expense\": \"Tiết kiệm chi phí\",\n    \"update_expense\": \"Cập nhật chi phí\",\n    \"download_receipt\": \"Biên nhận tải xuống\",\n    \"edit_expense\": \"Chỉnh sửa chi phí\",\n    \"new_expense\": \"Chi phí mới\",\n    \"expense\": \"Chi phí | Chi phí\",\n    \"no_expenses\": \"Chưa có chi phí!\",\n    \"list_of_expenses\": \"Phần này sẽ chứa danh sách các chi phí.\",\n    \"confirm_delete\": \"Bạn sẽ không thể thu hồi Khoản chi phí này | Bạn sẽ không thể thu hồi các Khoản chi phí này\",\n    \"created_message\": \"Đã tạo thành công chi phí\",\n    \"updated_message\": \"Đã cập nhật chi phí thành công\",\n    \"deleted_message\": \"Đã xóa thành công chi phí | Đã xóa thành công chi phí\",\n    \"categories\": {\n      \"categories_list\": \"Danh sách hạng mục\",\n      \"title\": \"Tiêu đề\",\n      \"name\": \"Tên\",\n      \"description\": \"Sự miêu tả\",\n      \"amount\": \"Số tiền\",\n      \"actions\": \"Hành động\",\n      \"add_category\": \"thêm thể loại\",\n      \"new_category\": \"Danh mục mới\",\n      \"category\": \"Thể loại | Thể loại\",\n      \"select_a_category\": \"Chọn một danh mục\"\n    }\n  },\n  \"login\": {\n    \"email\": \"E-mail\",\n    \"password\": \"Mật khẩu\",\n    \"forgot_password\": \"Quên mật khẩu?\",\n    \"or_signIn_with\": \"hoặc Đăng nhập bằng\",\n    \"login\": \"Đăng nhập\",\n    \"register\": \"Đăng ký\",\n    \"reset_password\": \"Đặt lại mật khẩu\",\n    \"password_reset_successfully\": \"Đặt lại mật khẩu thành công\",\n    \"enter_email\": \"Nhập email\",\n    \"enter_password\": \"Nhập mật khẩu\",\n    \"retype_password\": \"Gõ lại mật khẩu\"\n  },\n  \"modules\": {\n    \"buy_now\": \"Buy Now\",\n    \"install\": \"Install\",\n    \"price\": \"Price\",\n    \"download_zip_file\": \"Download ZIP file\",\n    \"unzipping_package\": \"Unzipping Package\",\n    \"copying_files\": \"Copying Files\",\n    \"deleting_files\": \"Deleting Unused files\",\n    \"completing_installation\": \"Completing Installation\",\n    \"update_failed\": \"Update Failed\",\n    \"install_success\": \"Module has been installed successfully!\",\n    \"customer_reviews\": \"Reviews\",\n    \"license\": \"License\",\n    \"faq\": \"FAQ\",\n    \"monthly\": \"Monthly\",\n    \"yearly\": \"Yearly\",\n    \"updated\": \"Updated\",\n    \"version\": \"Version\",\n    \"disable\": \"Disable\",\n    \"module_disabled\": \"Module Disabled\",\n    \"enable\": \"Enable\",\n    \"module_enabled\": \"Module Enabled\",\n    \"update_to\": \"Update To\",\n    \"module_updated\": \"Module Updated Successfully!\",\n    \"title\": \"Modules\",\n    \"module\": \"Module | Modules\",\n    \"api_token\": \"API token\",\n    \"invalid_api_token\": \"Invalid API Token.\",\n    \"other_modules\": \"Other Modules\",\n    \"view_all\": \"View All\",\n    \"no_reviews_found\": \"There are no reviews for this module yet!\",\n    \"module_not_purchased\": \"Module Not Purchased\",\n    \"module_not_found\": \"Module Not Found\",\n    \"version_not_supported\": \"This module version doesn't support the current version of Crater\",\n    \"last_updated\": \"Last Updated On\",\n    \"connect_installation\": \"Connect your installation\",\n    \"api_token_description\": \"Login to {url} and connect this installation by entering the API Token. Your purchased modules will show up here after the connection is established.\",\n    \"view_module\": \"View Module\",\n    \"update_available\": \"Update Available\",\n    \"purchased\": \"Purchased\",\n    \"installed\": \"Installed\",\n    \"no_modules_installed\": \"No Modules Installed Yet!\",\n    \"disable_warning\": \"All the settings for this particular will be reverted.\",\n    \"what_you_get\": \"What you get\"\n  },\n  \"users\": {\n    \"title\": \"Người dùng\",\n    \"users_list\": \"Danh sách người dùng\",\n    \"name\": \"Tên\",\n    \"description\": \"Sự miêu tả\",\n    \"added_on\": \"Đã thêm vào\",\n    \"date_of_creation\": \"Ngày tạo\",\n    \"action\": \"Hoạt động\",\n    \"add_user\": \"Thêm người dùng\",\n    \"save_user\": \"Lưu người dùng\",\n    \"update_user\": \"Cập nhật người dùng\",\n    \"user\": \"Người dùng | Người dùng\",\n    \"add_new_user\": \"Thêm người dùng mới\",\n    \"new_user\": \"Người dùng mới\",\n    \"edit_user\": \"Người dùng biên tập\",\n    \"no_users\": \"Chưa có người dùng nào!\",\n    \"list_of_users\": \"Phần này sẽ chứa danh sách người dùng.\",\n    \"email\": \"E-mail\",\n    \"phone\": \"Điện thoại\",\n    \"password\": \"Mật khẩu\",\n    \"user_attached_message\": \"Không thể xóa một mục đã được sử dụng\",\n    \"confirm_delete\": \"Bạn sẽ không thể khôi phục Người dùng này | Bạn sẽ không thể khôi phục những Người dùng này\",\n    \"created_message\": \"Người dùng đã được tạo thành công\",\n    \"updated_message\": \"Đã cập nhật người dùng thành công\",\n    \"deleted_message\": \"Đã xóa người dùng thành công | Đã xóa người dùng thành công\",\n    \"select_company_role\": \"Select Role for {company}\",\n    \"companies\": \"Companies\"\n  },\n  \"reports\": {\n    \"title\": \"Báo cáo\",\n    \"from_date\": \"Từ ngày\",\n    \"to_date\": \"Đến nay\",\n    \"status\": \"Trạng thái\",\n    \"paid\": \"Đã thanh toán\",\n    \"unpaid\": \"Chưa thanh toán\",\n    \"download_pdf\": \"tải PDF\",\n    \"view_pdf\": \"Xem PDF\",\n    \"update_report\": \"Cập nhật báo cáo\",\n    \"report\": \"Báo cáo | Báo cáo\",\n    \"profit_loss\": {\n      \"profit_loss\": \"Lợi nhuận\",\n      \"to_date\": \"Đến nay\",\n      \"from_date\": \"Từ ngày\",\n      \"date_range\": \"Chọn phạm vi ngày\"\n    },\n    \"sales\": {\n      \"sales\": \"Bán hàng\",\n      \"date_range\": \"Chọn phạm vi ngày\",\n      \"to_date\": \"Đến nay\",\n      \"from_date\": \"Từ ngày\",\n      \"report_type\": \"Loại báo cáo\"\n    },\n    \"taxes\": {\n      \"taxes\": \"Thuế\",\n      \"to_date\": \"Đến nay\",\n      \"from_date\": \"Từ ngày\",\n      \"date_range\": \"Chọn phạm vi ngày\"\n    },\n    \"errors\": {\n      \"required\": \"Lĩnh vực được yêu cầu\"\n    },\n    \"invoices\": {\n      \"invoice\": \"Hóa đơn\",\n      \"invoice_date\": \"Ngày lập hóa đơn\",\n      \"due_date\": \"Ngày đáo hạn\",\n      \"amount\": \"Số tiền\",\n      \"contact_name\": \"Tên Liên lạc\",\n      \"status\": \"Trạng thái\"\n    },\n    \"estimates\": {\n      \"estimate\": \"Ước tính\",\n      \"estimate_date\": \"Ngày ước tính\",\n      \"due_date\": \"Ngày đáo hạn\",\n      \"estimate_number\": \"Số ước tính\",\n      \"ref_number\": \"Số REF\",\n      \"amount\": \"Số tiền\",\n      \"contact_name\": \"Tên Liên lạc\",\n      \"status\": \"Trạng thái\"\n    },\n    \"expenses\": {\n      \"expenses\": \"Chi phí\",\n      \"category\": \"thể loại\",\n      \"date\": \"Ngày\",\n      \"amount\": \"Số tiền\",\n      \"to_date\": \"Đến nay\",\n      \"from_date\": \"Từ ngày\",\n      \"date_range\": \"Chọn phạm vi ngày\"\n    }\n  },\n  \"settings\": {\n    \"menu_title\": {\n      \"account_settings\": \"Cài đặt tài khoản\",\n      \"company_information\": \"Thông tin công ty\",\n      \"customization\": \"Tùy biến\",\n      \"preferences\": \"Sở thích\",\n      \"notifications\": \"Thông báo\",\n      \"tax_types\": \"Các loại thuế\",\n      \"expense_category\": \"Hạng mục Chi phí\",\n      \"update_app\": \"Cập nhật ứng dụng\",\n      \"backup\": \"Sao lưu\",\n      \"file_disk\": \"Đĩa tệp\",\n      \"custom_fields\": \"Trường tùy chỉnh\",\n      \"payment_modes\": \"Phương thức thanh toán\",\n      \"notes\": \"Ghi chú\",\n      \"exchange_rate\": \"Exchange Rate\",\n      \"address_information\": \"Address Information\"\n    },\n    \"address_information\": {\n      \"section_description\": \"  You can update Your Address information using form below.\"\n    },\n    \"title\": \"Cài đặt\",\n    \"setting\": \"Cài đặt | Cài đặt\",\n    \"general\": \"Chung\",\n    \"language\": \"Ngôn ngữ\",\n    \"primary_currency\": \"Tiền tệ chính\",\n    \"timezone\": \"Múi giờ\",\n    \"date_format\": \"Định dạng ngày tháng\",\n    \"currencies\": {\n      \"title\": \"Tiền tệ\",\n      \"currency\": \"Tiền tệ | Tiền tệ\",\n      \"currencies_list\": \"Danh sách tiền tệ\",\n      \"select_currency\": \"Chọn tiền tệ\",\n      \"name\": \"Tên\",\n      \"code\": \"Mã\",\n      \"symbol\": \"Biểu tượng\",\n      \"precision\": \"Độ chính xác\",\n      \"thousand_separator\": \"Hàng ngàn máy tách\",\n      \"decimal_separator\": \"Phân số thập phân\",\n      \"position\": \"Chức vụ\",\n      \"position_of_symbol\": \"Vị trí của biểu tượng\",\n      \"right\": \"Đúng\",\n      \"left\": \"Trái\",\n      \"action\": \"Hoạt động\",\n      \"add_currency\": \"Thêm tiền tệ\"\n    },\n    \"mail\": {\n      \"host\": \"Máy chủ Thư\",\n      \"port\": \"Cổng thư\",\n      \"driver\": \"Trình điều khiển Thư\",\n      \"secret\": \"Bí mật\",\n      \"mailgun_secret\": \"Bí mật Mailgun\",\n      \"mailgun_domain\": \"Miền\",\n      \"mailgun_endpoint\": \"Điểm cuối của Mailgun\",\n      \"ses_secret\": \"Bí mật SES\",\n      \"ses_key\": \"Khóa SES\",\n      \"password\": \"Mật khẩu thư\",\n      \"username\": \"Tên người dùng thư\",\n      \"mail_config\": \"Cấu hình thư\",\n      \"from_name\": \"Từ tên thư\",\n      \"from_mail\": \"Từ địa chỉ thư\",\n      \"encryption\": \"Mã hóa Thư\",\n      \"mail_config_desc\": \"Dưới đây là biểu mẫu Định cấu hình trình điều khiển Email để gửi email từ ứng dụng. Bạn cũng có thể định cấu hình các nhà cung cấp bên thứ ba như Sendgrid, SES, v.v.\"\n    },\n    \"pdf\": {\n      \"title\": \"Cài đặt PDF\",\n      \"footer_text\": \"Văn bản chân trang\",\n      \"pdf_layout\": \"Bố cục PDF\"\n    },\n    \"company_info\": {\n      \"company_info\": \"Thông tin công ty\",\n      \"company_name\": \"Tên công ty\",\n      \"company_logo\": \"Logo công ty\",\n      \"section_description\": \"Thông tin về công ty của bạn sẽ được hiển thị trên hóa đơn, ước tính và các tài liệu khác do Crater tạo.\",\n      \"phone\": \"Điện thoại\",\n      \"country\": \"Quốc gia\",\n      \"state\": \"Tiểu bang\",\n      \"city\": \"Tp.\",\n      \"address\": \"Địa chỉ\",\n      \"zip\": \"Zip\",\n      \"save\": \"Tiết kiệm\",\n      \"delete\": \"Delete\",\n      \"updated_message\": \"Thông tin công ty được cập nhật thành công\",\n      \"delete_company\": \"Delete Company\",\n      \"delete_company_description\": \"Once you delete your company, you will lose all the data and files associated with it permanently.\",\n      \"are_you_absolutely_sure\": \"Are you absolutely sure?\",\n      \"delete_company_modal_desc\": \"This action cannot be undone. This will permanently delete {company} and all of its associated data.\",\n      \"delete_company_modal_label\": \"Please type {company} to confirm\"\n    },\n    \"custom_fields\": {\n      \"title\": \"Trường tùy chỉnh\",\n      \"section_description\": \"Tùy chỉnh hóa đơn, ước tính của bạn\",\n      \"add_custom_field\": \"Thêm trường tùy chỉnh\",\n      \"edit_custom_field\": \"Chỉnh sửa trường tùy chỉnh\",\n      \"field_name\": \"Tên trường\",\n      \"label\": \"Nhãn\",\n      \"type\": \"Kiểu\",\n      \"name\": \"Tên\",\n      \"slug\": \"Slug\",\n      \"required\": \"Cần thiết\",\n      \"placeholder\": \"Trình giữ chỗ\",\n      \"help_text\": \"Văn bản trợ giúp\",\n      \"default_value\": \"Giá trị mặc định\",\n      \"prefix\": \"Tiếp đầu ngữ\",\n      \"starting_number\": \"Số bắt đầu\",\n      \"model\": \"Mô hình\",\n      \"help_text_description\": \"Nhập một số văn bản để giúp người dùng hiểu mục đích của trường tùy chỉnh này.\",\n      \"suffix\": \"Hậu tố\",\n      \"yes\": \"Đúng\",\n      \"no\": \"Không\",\n      \"order\": \"Đặt hàng\",\n      \"custom_field_confirm_delete\": \"Bạn sẽ không thể khôi phục Trường tùy chỉnh này\",\n      \"already_in_use\": \"Trường tùy chỉnh đã được sử dụng\",\n      \"deleted_message\": \"Trường Tùy chỉnh đã được xóa thành công\",\n      \"options\": \"các tùy chọn\",\n      \"add_option\": \"Thêm tùy chọn\",\n      \"add_another_option\": \"Thêm một tùy chọn khác\",\n      \"sort_in_alphabetical_order\": \"Sắp xếp theo thứ tự bảng chữ cái\",\n      \"add_options_in_bulk\": \"Thêm hàng loạt tùy chọn\",\n      \"use_predefined_options\": \"Sử dụng các tùy chọn được xác định trước\",\n      \"select_custom_date\": \"Chọn ngày tùy chỉnh\",\n      \"select_relative_date\": \"Chọn ngày tương đối\",\n      \"ticked_by_default\": \"Được đánh dấu theo mặc định\",\n      \"updated_message\": \"Đã cập nhật trường tùy chỉnh thành công\",\n      \"added_message\": \"Trường tùy chỉnh đã được thêm thành công\",\n      \"press_enter_to_add\": \"Press enter to add new option\",\n      \"model_in_use\": \"Cannot update model for fields which are already in use.\",\n      \"type_in_use\": \"Cannot update type for fields which are already in use.\"\n    },\n    \"customization\": {\n      \"customization\": \"sự tùy biến\",\n      \"updated_message\": \"Thông tin công ty được cập nhật thành công\",\n      \"save\": \"Tiết kiệm\",\n      \"insert_fields\": \"Insert Fields\",\n      \"learn_custom_format\": \"Learn how to use custom format\",\n      \"add_new_component\": \"Add New Component\",\n      \"component\": \"Component\",\n      \"Parameter\": \"Parameter\",\n      \"series\": \"Series\",\n      \"series_description\": \"To set a static prefix/postfix like 'INV' across your company. It supports character length of up to 6 chars.\",\n      \"series_param_label\": \"Series Value\",\n      \"delimiter\": \"Delimiter\",\n      \"delimiter_description\": \"Single character for specifying the boundary between 2 separate components. By default its set to -\",\n      \"delimiter_param_label\": \"Delimiter Value\",\n      \"date_format\": \"Date Format\",\n      \"date_format_description\": \"A local date and time field which accepts a format parameter. The default format: 'Y' renders the current year.\",\n      \"date_format_param_label\": \"Format\",\n      \"sequence\": \"Sequence\",\n      \"sequence_description\": \"Consecutive sequence of numbers across your company. You can specify the length on the given parameter.\",\n      \"sequence_param_label\": \"Sequence Length\",\n      \"customer_series\": \"Customer Series\",\n      \"customer_series_description\": \"To set a different prefix/postfix for each customer.\",\n      \"customer_sequence\": \"Customer Sequence\",\n      \"customer_sequence_description\": \"Consecutive sequence of numbers for each of your customer.\",\n      \"customer_sequence_param_label\": \"Sequence Length\",\n      \"random_sequence\": \"Random Sequence\",\n      \"random_sequence_description\": \"Random alphanumeric string. You can specify the length on the given parameter.\",\n      \"random_sequence_param_label\": \"Sequence Length\",\n      \"invoices\": {\n        \"title\": \"Hóa đơn\",\n        \"invoice_number_format\": \"Invoice Number Format\",\n        \"invoice_number_format_description\": \"Customize how your invoice number gets generated automatically when you create a new invoice.\",\n        \"preview_invoice_number\": \"Preview Invoice Number\",\n        \"due_date\": \"Due Date\",\n        \"due_date_description\": \"Specify how due date is automatically set when you create an invoice.\",\n        \"due_date_days\": \"Invoice Due after days\",\n        \"set_due_date_automatically\": \"Set Due Date Automatically\",\n        \"set_due_date_automatically_description\": \"Enable this if you wish to set due date automatically when you create a new invoice.\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on invoice creation.\",\n        \"default_invoice_email_body\": \"Nội dung email hóa đơn mặc định\",\n        \"company_address_format\": \"Định dạng địa chỉ công ty\",\n        \"shipping_address_format\": \"Định dạng địa chỉ giao hàng\",\n        \"billing_address_format\": \"Định dạng địa chỉ thanh toán\",\n        \"invoice_email_attachment\": \"Gửi hóa đơn dưới dạng tệp đính kèm\",\n        \"invoice_email_attachment_setting_description\": \"Bật tính năng này nếu bạn muốn gửi hóa đơn dưới dạng tệp đính kèm email. Xin lưu ý rằng nút &#39;Xem Hóa đơn&#39; trong email sẽ không được hiển thị nữa khi được bật.\",\n        \"invoice_settings_updated\": \"Invoice Settings updated successfully\",\n        \"retrospective_edits\": \"Retrospective Edits\",\n        \"allow\": \"Allow\",\n        \"disable_on_invoice_partial_paid\": \"Disable after partial payment is recorded\",\n        \"disable_on_invoice_paid\": \"Disable after full payment is recorded\",\n        \"disable_on_invoice_sent\": \"Disable after invoice is sent\",\n        \"retrospective_edits_description\": \" Based on your country's laws or your preference, you can restrict users from editing finalised invoices.\"\n      },\n      \"estimates\": {\n        \"title\": \"Ước tính\",\n        \"estimate_number_format\": \"Estimate Number Format\",\n        \"estimate_number_format_description\": \"Customize how your estimate number gets generated automatically when you create a new estimate.\",\n        \"preview_estimate_number\": \"Preview Estimate Number\",\n        \"expiry_date\": \"Expiry Date\",\n        \"expiry_date_description\": \"Specify how expiry date is automatically set when you create an estimate.\",\n        \"expiry_date_days\": \"Estimate Expires after days\",\n        \"set_expiry_date_automatically\": \"Set Expiry Date Automatically\",\n        \"set_expiry_date_automatically_description\": \"Enable this if you wish to set expiry date automatically when you create a new estimate.\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on estimate creation.\",\n        \"default_estimate_email_body\": \"Nội dung Email Ước tính Mặc định\",\n        \"company_address_format\": \"Định dạng địa chỉ công ty\",\n        \"shipping_address_format\": \"Định dạng địa chỉ giao hàng\",\n        \"billing_address_format\": \"Định dạng địa chỉ thanh toán\",\n        \"estimate_email_attachment\": \"Gửi ước tính dưới dạng tệp đính kèm\",\n        \"estimate_email_attachment_setting_description\": \"Bật tính năng này nếu bạn muốn gửi ước tính dưới dạng tệp đính kèm email. Xin lưu ý rằng nút &#39;Xem Ước tính&#39; trong email sẽ không được hiển thị nữa khi được bật.\",\n        \"estimate_settings_updated\": \"Estimate Settings updated successfully\",\n        \"convert_estimate_options\": \"Estimate Convert Action\",\n        \"convert_estimate_description\": \"Specify what happens to the estimate after it gets converted to an invoice.\",\n        \"no_action\": \"No action\",\n        \"delete_estimate\": \"Delete estimate\",\n        \"mark_estimate_as_accepted\": \"Mark estimate as accepted\"\n      },\n      \"payments\": {\n        \"title\": \"Thanh toán\",\n        \"payment_number_format\": \"Payment Number Format\",\n        \"payment_number_format_description\": \"Customize how your payment number gets generated automatically when you create a new payment.\",\n        \"preview_payment_number\": \"Preview Payment Number\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on payment creation.\",\n        \"default_payment_email_body\": \"Nội dung Email Thanh toán Mặc định\",\n        \"company_address_format\": \"Định dạng địa chỉ công ty\",\n        \"from_customer_address_format\": \"Từ định dạng địa chỉ khách hàng\",\n        \"payment_email_attachment\": \"Gửi thanh toán dưới dạng tệp đính kèm\",\n        \"payment_email_attachment_setting_description\": \"Bật tính năng này nếu bạn muốn gửi biên nhận thanh toán dưới dạng tệp đính kèm email. Xin lưu ý rằng nút &#39;Xem Thanh toán&#39; trong email sẽ không được hiển thị nữa khi được bật.\",\n        \"payment_settings_updated\": \"Payment Settings updated successfully\"\n      },\n      \"items\": {\n        \"title\": \"Mặt hàng\",\n        \"units\": \"Các đơn vị\",\n        \"add_item_unit\": \"Thêm đơn vị mặt hàng\",\n        \"edit_item_unit\": \"Chỉnh sửa đơn vị mặt hàng\",\n        \"unit_name\": \"Tên bài\",\n        \"item_unit_added\": \"Đơn vị mặt hàng đã được thêm\",\n        \"item_unit_updated\": \"Đã cập nhật đơn vị mặt hàng\",\n        \"item_unit_confirm_delete\": \"Bạn sẽ không thể khôi phục đơn vị Mặt hàng này\",\n        \"already_in_use\": \"Đơn vị vật phẩm đã được sử dụng\",\n        \"deleted_message\": \"Đơn vị mặt hàng đã được xóa thành công\"\n      },\n      \"notes\": {\n        \"title\": \"Ghi chú\",\n        \"description\": \"Tiết kiệm thời gian bằng cách tạo ghi chú và sử dụng lại chúng trên hóa đơn, ước tính của bạn\",\n        \"notes\": \"Ghi chú\",\n        \"type\": \"Kiểu\",\n        \"add_note\": \"Thêm ghi chú\",\n        \"add_new_note\": \"Thêm ghi chú mới\",\n        \"name\": \"Tên\",\n        \"edit_note\": \"Chỉnh sửa ghi chú\",\n        \"note_added\": \"Đã thêm ghi chú thành công\",\n        \"note_updated\": \"Đã cập nhật ghi chú thành công\",\n        \"note_confirm_delete\": \"Bạn sẽ không thể khôi phục Ghi chú này\",\n        \"already_in_use\": \"Ghi chú đã được sử dụng\",\n        \"deleted_message\": \"Đã xóa ghi chú thành công\"\n      }\n    },\n    \"account_settings\": {\n      \"profile_picture\": \"Ảnh đại diện\",\n      \"name\": \"Tên\",\n      \"email\": \"E-mail\",\n      \"password\": \"Mật khẩu\",\n      \"confirm_password\": \"Xác nhận mật khẩu\",\n      \"account_settings\": \"Cài đặt tài khoản\",\n      \"save\": \"Tiết kiệm\",\n      \"section_description\": \"Bạn có thể cập nhật tên, email của mình\",\n      \"updated_message\": \"Đã cập nhật cài đặt tài khoản thành công\"\n    },\n    \"user_profile\": {\n      \"name\": \"Tên\",\n      \"email\": \"E-mail\",\n      \"password\": \"Mật khẩu\",\n      \"confirm_password\": \"Xác nhận mật khẩu\"\n    },\n    \"notification\": {\n      \"title\": \"Thông báo\",\n      \"email\": \"Gửi thông báo tới\",\n      \"description\": \"Bạn muốn nhận thông báo email nào khi có điều gì đó thay đổi?\",\n      \"invoice_viewed\": \"Hóa đơn đã xem\",\n      \"invoice_viewed_desc\": \"Khi khách hàng của bạn xem hóa đơn được gửi qua bảng điều khiển miệng núi lửa.\",\n      \"estimate_viewed\": \"Ước tính đã xem\",\n      \"estimate_viewed_desc\": \"Khi khách hàng của bạn xem ước tính được gửi qua bảng điều khiển miệng núi lửa.\",\n      \"save\": \"Tiết kiệm\",\n      \"email_save_message\": \"Email đã được lưu thành công\",\n      \"please_enter_email\": \"Vui lòng nhập Email\"\n    },\n    \"roles\": {\n      \"title\": \"Roles\",\n      \"description\": \"Manage the roles & permissions of this company\",\n      \"save\": \"Save\",\n      \"add_new_role\": \"Add New Role\",\n      \"role_name\": \"Role Name\",\n      \"added_on\": \"Added on\",\n      \"add_role\": \"Add Role\",\n      \"edit_role\": \"Edit Role\",\n      \"name\": \"Name\",\n      \"permission\": \"Permission | Permissions\",\n      \"select_all\": \"Select All\",\n      \"none\": \"None\",\n      \"confirm_delete\": \"You will not be able to recover this Role\",\n      \"created_message\": \"Role created successfully\",\n      \"updated_message\": \"Role updated successfully\",\n      \"deleted_message\": \"Role deleted successfully\",\n      \"already_in_use\": \"Role is already in use\"\n    },\n    \"exchange_rate\": {\n      \"exchange_rate\": \"Exchange Rate\",\n      \"title\": \"Fix Currency Exchange issues\",\n      \"description\": \"Please enter exchange rate of all the currencies mentioned below to help Crater properly calculate the amounts in {currency}.\",\n      \"drivers\": \"Drivers\",\n      \"new_driver\": \"Add New Provider\",\n      \"edit_driver\": \"Edit Provider\",\n      \"select_driver\": \"Select Driver\",\n      \"update\": \"select exchange rate \",\n      \"providers_description\": \"Configure your exchange rate providers here to automatically fetch the latest exchange rate on transactions.\",\n      \"key\": \"API Key\",\n      \"name\": \"Name\",\n      \"driver\": \"Driver\",\n      \"is_default\": \"IS DEFAULT\",\n      \"currency\": \"Currencies\",\n      \"exchange_rate_confirm_delete\": \"You will not be able to recover this driver\",\n      \"created_message\": \"Provider Created successfully\",\n      \"updated_message\": \"Provider Updated Successfully\",\n      \"deleted_message\": \"Provider Deleted Successfully\",\n      \"error\": \" You cannot Delete Active Driver\",\n      \"default_currency_error\": \"This currency is already used in one of the Active Provider\",\n      \"exchange_help_text\": \"Enter exchange rate to convert from {currency} to {baseCurrency}\",\n      \"currency_freak\": \"Currency Freak\",\n      \"currency_layer\": \"Currency Layer\",\n      \"open_exchange_rate\": \"Open Exchange Rate\",\n      \"currency_converter\": \"Currency Converter\",\n      \"server\": \"Server\",\n      \"url\": \"URL\",\n      \"active\": \"Active\",\n      \"currency_help_text\": \"This provider will only be used on above selected currencies\",\n      \"currency_in_used\": \"The following currencies are already active on another provider. Please remove these currencies from selection to activate this provider again.\"\n    },\n    \"tax_types\": {\n      \"title\": \"Các loại thuế\",\n      \"add_tax\": \"Thêm thuế\",\n      \"edit_tax\": \"Chỉnh sửa thuế\",\n      \"description\": \"Bạn có thể thêm hoặc bớt thuế tùy ý. Crater hỗ trợ Thuế đối với các mặt hàng riêng lẻ cũng như trên hóa đơn.\",\n      \"add_new_tax\": \"Thêm thuế mới\",\n      \"tax_settings\": \"Cài đặt thuế\",\n      \"tax_per_item\": \"Thuế mỗi mặt hàng\",\n      \"tax_name\": \"Tên thuế\",\n      \"compound_tax\": \"Thuế tổng hợp\",\n      \"percent\": \"Phần trăm\",\n      \"action\": \"Hoạt động\",\n      \"tax_setting_description\": \"Bật tính năng này nếu bạn muốn thêm thuế vào các mục hóa đơn riêng lẻ. Theo mặc định, thuế được thêm trực tiếp vào hóa đơn.\",\n      \"created_message\": \"Loại thuế đã được tạo thành công\",\n      \"updated_message\": \"Đã cập nhật thành công loại thuế\",\n      \"deleted_message\": \"Đã xóa thành công loại thuế\",\n      \"confirm_delete\": \"Bạn sẽ không thể khôi phục Loại thuế này\",\n      \"already_in_use\": \"Thuế đã được sử dụng\"\n    },\n    \"payment_modes\": {\n      \"title\": \"Payment Modes\",\n      \"description\": \"Modes of transaction for payments\",\n      \"add_payment_mode\": \"Add Payment Mode\",\n      \"edit_payment_mode\": \"Edit Payment Mode\",\n      \"mode_name\": \"Mode Name\",\n      \"payment_mode_added\": \"Payment Mode Added\",\n      \"payment_mode_updated\": \"Payment Mode Updated\",\n      \"payment_mode_confirm_delete\": \"You will not be able to recover this Payment Mode\",\n      \"payments_attached\": \"This payment method is already attached to payments. Please delete the attached payments to proceed with deletion.\",\n      \"expenses_attached\": \"This payment method is already attached to expenses. Please delete the attached expenses to proceed with deletion.\",\n      \"deleted_message\": \"Payment Mode deleted successfully\"\n    },\n    \"expense_category\": {\n      \"title\": \"Hạng mục Chi phí\",\n      \"action\": \"Hoạt động\",\n      \"description\": \"Các danh mục được yêu cầu để thêm các mục chi phí. Bạn có thể Thêm hoặc Xóa các danh mục này tùy theo sở thích của mình.\",\n      \"add_new_category\": \"Thêm danh mục mới\",\n      \"add_category\": \"thêm thể loại\",\n      \"edit_category\": \"Chỉnh sửa danh mục\",\n      \"category_name\": \"tên danh mục\",\n      \"category_description\": \"Sự miêu tả\",\n      \"created_message\": \"Danh mục Chi phí đã được tạo thành công\",\n      \"deleted_message\": \"Đã xóa thành công danh mục chi phí\",\n      \"updated_message\": \"Đã cập nhật danh mục chi phí thành công\",\n      \"confirm_delete\": \"Bạn sẽ không thể khôi phục Danh mục Chi phí này\",\n      \"already_in_use\": \"Danh mục đã được sử dụng\"\n    },\n    \"preferences\": {\n      \"currency\": \"Tiền tệ\",\n      \"default_language\": \"Ngôn ngữ mặc định\",\n      \"time_zone\": \"Múi giờ\",\n      \"fiscal_year\": \"Năm tài chính\",\n      \"date_format\": \"Định dạng ngày tháng\",\n      \"discount_setting\": \"Cài đặt chiết khấu\",\n      \"discount_per_item\": \"Giảm giá cho mỗi mặt hàng\",\n      \"discount_setting_description\": \"Bật tính năng này nếu bạn muốn thêm Giảm giá vào các mặt hàng hóa đơn riêng lẻ. Theo mặc định, Giảm giá được thêm trực tiếp vào hóa đơn.\",\n      \"expire_public_links\": \"Automatically Expire Public Links\",\n      \"expire_setting_description\": \"Specify whether you would like to expire all the links sent by application to view invoices, estimates & payments, etc after a specified duration.\",\n      \"save\": \"Tiết kiệm\",\n      \"preference\": \"Sở thích | Sở thích\",\n      \"general_settings\": \"Tùy chọn mặc định cho hệ thống.\",\n      \"updated_message\": \"Đã cập nhật thành công các tùy chọn\",\n      \"select_language\": \"Chọn ngôn ngữ\",\n      \"select_time_zone\": \"Chọn múi giờ\",\n      \"select_date_format\": \"Chọn định dạng ngày\",\n      \"select_financial_year\": \"Chọn năm tài chính\",\n      \"recurring_invoice_status\": \"Recurring Invoice Status\",\n      \"create_status\": \"Create Status\",\n      \"active\": \"Active\",\n      \"on_hold\": \"On Hold\",\n      \"update_status\": \"Update Status\",\n      \"completed\": \"Completed\",\n      \"company_currency_unchangeable\": \"Company currency cannot be changed\"\n    },\n    \"update_app\": {\n      \"title\": \"Cập nhật ứng dụng\",\n      \"description\": \"Bạn có thể dễ dàng cập nhật Crater bằng cách kiểm tra bản cập nhật mới bằng cách nhấp vào nút bên dưới\",\n      \"check_update\": \"Kiểm tra cập nhật\",\n      \"avail_update\": \"Cập nhật mới có sẵn\",\n      \"next_version\": \"Phiên bản tiếp theo\",\n      \"requirements\": \"Yêu cầu\",\n      \"update\": \"Cập nhật bây giờ\",\n      \"update_progress\": \"Đang cập nhật ...\",\n      \"progress_text\": \"Nó sẽ chỉ mất một vài phút. Vui lòng không làm mới màn hình hoặc đóng cửa sổ trước khi cập nhật kết thúc\",\n      \"update_success\": \"Ứng dụng đã được cập nhật! Vui lòng đợi trong khi cửa sổ trình duyệt của bạn được tải lại tự động.\",\n      \"latest_message\": \"Không có bản cập nhật nào! Bạn đang sử dụng phiên bản mới nhất.\",\n      \"current_version\": \"Phiên bản hiện tại\",\n      \"download_zip_file\": \"Tải xuống tệp ZIP\",\n      \"unzipping_package\": \"Gói giải nén\",\n      \"copying_files\": \"Sao chép các tập tin\",\n      \"deleting_files\": \"Xóa các tệp không sử dụng\",\n      \"running_migrations\": \"Chạy di cư\",\n      \"finishing_update\": \"Cập nhật kết thúc\",\n      \"update_failed\": \"Cập nhật không thành công\",\n      \"update_failed_text\": \"Lấy làm tiếc! Cập nhật của bạn không thành công vào: bước {step}\",\n      \"update_warning\": \"All of the application files and default template files will be overwritten when you update the application using this utility. Please take a backup of your templates & database before updating.\"\n    },\n    \"backup\": {\n      \"title\": \"Sao lưu | Sao lưu\",\n      \"description\": \"Bản sao lưu là một tệp zip chứa tất cả các tệp trong thư mục bạn chỉ định cùng với một kết xuất cơ sở dữ liệu của bạn\",\n      \"new_backup\": \"Thêm bản sao lưu mới\",\n      \"create_backup\": \"Tạo bản sao\",\n      \"select_backup_type\": \"Chọn loại sao lưu\",\n      \"backup_confirm_delete\": \"Bạn sẽ không thể khôi phục Bản sao lưu này\",\n      \"path\": \"con đường\",\n      \"new_disk\": \"Đĩa mới\",\n      \"created_at\": \"được tạo ra tại\",\n      \"size\": \"kích thước\",\n      \"dropbox\": \"dropbox\",\n      \"local\": \"địa phương\",\n      \"healthy\": \"khỏe mạnh\",\n      \"amount_of_backups\": \"lượng sao lưu\",\n      \"newest_backups\": \"bản sao lưu mới nhất\",\n      \"used_storage\": \"lưu trữ đã sử dụng\",\n      \"select_disk\": \"Chọn đĩa\",\n      \"action\": \"Hoạt động\",\n      \"deleted_message\": \"Đã xóa bản sao lưu thành công\",\n      \"created_message\": \"Đã tạo thành công bản sao lưu\",\n      \"invalid_disk_credentials\": \"Thông tin đăng nhập không hợp lệ của đĩa đã chọn\"\n    },\n    \"disk\": {\n      \"title\": \"Đĩa tập tin | Đĩa Tệp\",\n      \"description\": \"Theo mặc định, Crater sẽ sử dụng đĩa cục bộ của bạn để lưu các bản sao lưu, ảnh đại diện và các tệp hình ảnh khác. Bạn có thể định cấu hình nhiều hơn một trình điều khiển đĩa như DigitalOcean, S3 và Dropbox theo sở thích của mình.\",\n      \"created_at\": \"được tạo ra tại\",\n      \"dropbox\": \"dropbox\",\n      \"name\": \"Tên\",\n      \"driver\": \"Người lái xe\",\n      \"disk_type\": \"Kiểu\",\n      \"disk_name\": \"Tên đĩa\",\n      \"new_disk\": \"Thêm đĩa mới\",\n      \"filesystem_driver\": \"Trình điều khiển hệ thống tập tin\",\n      \"local_driver\": \"Trình điều khiển địa phương\",\n      \"local_root\": \"Gốc cục bộ\",\n      \"public_driver\": \"Tài xế công cộng\",\n      \"public_root\": \"Gốc công khai\",\n      \"public_url\": \"URL công khai\",\n      \"public_visibility\": \"Hiển thị công khai\",\n      \"media_driver\": \"Trình điều khiển phương tiện\",\n      \"media_root\": \"Gốc phương tiện\",\n      \"aws_driver\": \"Trình điều khiển AWS\",\n      \"aws_key\": \"Khóa AWS\",\n      \"aws_secret\": \"Bí mật AWS\",\n      \"aws_region\": \"Khu vực AWS\",\n      \"aws_bucket\": \"Nhóm AWS\",\n      \"aws_root\": \"Gốc AWS\",\n      \"do_spaces_type\": \"Làm kiểu Spaces\",\n      \"do_spaces_key\": \"Do phím Spaces\",\n      \"do_spaces_secret\": \"Làm bí mật về không gian\",\n      \"do_spaces_region\": \"Do Spaces Region\",\n      \"do_spaces_bucket\": \"Do Spaces Bucket\",\n      \"do_spaces_endpoint\": \"Do Spaces Endpoint\",\n      \"do_spaces_root\": \"Do Spaces Root\",\n      \"dropbox_type\": \"Loại hộp chứa\",\n      \"dropbox_token\": \"Mã thông báo Dropbox\",\n      \"dropbox_key\": \"Khóa Dropbox\",\n      \"dropbox_secret\": \"Bí mật Dropbox\",\n      \"dropbox_app\": \"Ứng dụng Dropbox\",\n      \"dropbox_root\": \"Gốc Dropbox\",\n      \"default_driver\": \"Trình điều khiển mặc định\",\n      \"is_default\": \"LÀ ĐỊNH NGHĨA\",\n      \"set_default_disk\": \"Đặt đĩa mặc định\",\n      \"set_default_disk_confirm\": \"Đĩa này sẽ được đặt làm mặc định và tất cả các tệp PDF mới sẽ được lưu trên đĩa này\",\n      \"success_set_default_disk\": \"Đĩa được đặt làm mặc định thành công\",\n      \"save_pdf_to_disk\": \"Lưu PDF vào đĩa\",\n      \"disk_setting_description\": \"Bật tính năng này, nếu bạn muốn lưu một bản sao của mỗi Hóa đơn, Ước tính\",\n      \"select_disk\": \"Chọn đĩa\",\n      \"disk_settings\": \"Cài đặt đĩa\",\n      \"confirm_delete\": \"Tệp hiện có của bạn\",\n      \"action\": \"Hoạt động\",\n      \"edit_file_disk\": \"Chỉnh sửa Đĩa Tệp\",\n      \"success_create\": \"Đã thêm đĩa thành công\",\n      \"success_update\": \"Đã cập nhật đĩa thành công\",\n      \"error\": \"Thêm đĩa không thành công\",\n      \"deleted_message\": \"Đĩa Tệp đã được xóa thành công\",\n      \"disk_variables_save_successfully\": \"Đã cấu hình đĩa thành công\",\n      \"disk_variables_save_error\": \"Cấu hình đĩa không thành công.\",\n      \"invalid_disk_credentials\": \"Thông tin đăng nhập không hợp lệ của đĩa đã chọn\"\n    },\n    \"taxations\": {\n      \"add_billing_address\": \"Enter Billing Address\",\n      \"add_shipping_address\": \"Enter Shipping Address\",\n      \"add_company_address\": \"Enter Company Address\",\n      \"modal_description\": \"The information below is required in order to fetch sales tax.\",\n      \"add_address\": \"Add Address for fetching sales tax.\",\n      \"address_placeholder\": \"Example: 123, My Street\",\n      \"city_placeholder\": \"Example: Los Angeles\",\n      \"state_placeholder\": \"Example: CA\",\n      \"zip_placeholder\": \"Example: 90024\",\n      \"invalid_address\": \"Please provide valid address details.\"\n    }\n  },\n  \"wizard\": {\n    \"account_info\": \"thông tin tài khoản\",\n    \"account_info_desc\": \"Thông tin chi tiết dưới đây sẽ được sử dụng để tạo tài khoản Quản trị viên chính. Ngoài ra, bạn có thể thay đổi thông tin chi tiết bất cứ lúc nào sau khi đăng nhập.\",\n    \"name\": \"Tên\",\n    \"email\": \"E-mail\",\n    \"password\": \"Mật khẩu\",\n    \"confirm_password\": \"Xác nhận mật khẩu\",\n    \"save_cont\": \"Tiết kiệm\",\n    \"company_info\": \"Thông tin công ty\",\n    \"company_info_desc\": \"Thông tin này sẽ được hiển thị trên hóa đơn. Lưu ý rằng bạn có thể chỉnh sửa điều này sau trên trang cài đặt.\",\n    \"company_name\": \"Tên công ty\",\n    \"company_logo\": \"Logo công ty\",\n    \"logo_preview\": \"Xem trước Logo\",\n    \"preferences\": \"Sở thích\",\n    \"preferences_desc\": \"Tùy chọn mặc định cho hệ thống.\",\n    \"currency_set_alert\": \"The company's currency cannot be changed later.\",\n    \"country\": \"Quốc gia\",\n    \"state\": \"Tiểu bang\",\n    \"city\": \"Tp.\",\n    \"address\": \"Địa chỉ\",\n    \"street\": \"Phố1 | Street2\",\n    \"phone\": \"Điện thoại\",\n    \"zip_code\": \"Mã Bưu Chính\",\n    \"go_back\": \"Quay lại\",\n    \"currency\": \"Tiền tệ\",\n    \"language\": \"Ngôn ngữ\",\n    \"time_zone\": \"Múi giờ\",\n    \"fiscal_year\": \"Năm tài chính\",\n    \"date_format\": \"Định dạng ngày tháng\",\n    \"from_address\": \"Từ địa chỉ\",\n    \"username\": \"tên tài khoản\",\n    \"next\": \"Kế tiếp\",\n    \"continue\": \"Tiếp tục\",\n    \"skip\": \"Nhảy\",\n    \"database\": {\n      \"database\": \"URL trang web\",\n      \"connection\": \"Kết nối cơ sở dữ liệu\",\n      \"host\": \"Máy chủ cơ sở dữ liệu\",\n      \"port\": \"Cổng cơ sở dữ liệu\",\n      \"password\": \"Mật khẩu cơ sở dữ liệu\",\n      \"app_url\": \"URL ứng dụng\",\n      \"app_domain\": \"Miền ứng dụng\",\n      \"username\": \"Tên người dùng cơ sở dữ liệu\",\n      \"db_name\": \"Tên cơ sở dữ liệu\",\n      \"db_path\": \"Đường dẫn cơ sở dữ liệu\",\n      \"desc\": \"Tạo cơ sở dữ liệu trên máy chủ của bạn và đặt thông tin đăng nhập bằng biểu mẫu bên dưới.\"\n    },\n    \"permissions\": {\n      \"permissions\": \"Quyền\",\n      \"permission_confirm_title\": \"Bạn có chắc chắn muốn tiếp tục không?\",\n      \"permission_confirm_desc\": \"Kiểm tra quyền thư mục không thành công\",\n      \"permission_desc\": \"Dưới đây là danh sách các quyền đối với thư mục được yêu cầu để ứng dụng hoạt động. Nếu kiểm tra quyền không thành công, hãy đảm bảo cập nhật quyền thư mục của bạn.\"\n    },\n    \"verify_domain\": {\n      \"title\": \"Domain Verification\",\n      \"desc\": \"Crater uses Session based authentication which requires domain verification for security purposes. Please enter the domain on which you will be accessing your web application.\",\n      \"app_domain\": \"App Domain\",\n      \"verify_now\": \"Verify Now\",\n      \"success\": \"Domain Verify Successfully.\",\n      \"failed\": \"Domain verification failed. Please enter valid domain name.\",\n      \"verify_and_continue\": \"Verify And Continue\"\n    },\n    \"mail\": {\n      \"host\": \"Máy chủ Thư\",\n      \"port\": \"Cổng thư\",\n      \"driver\": \"Trình điều khiển Thư\",\n      \"secret\": \"Bí mật\",\n      \"mailgun_secret\": \"Bí mật Mailgun\",\n      \"mailgun_domain\": \"Miền\",\n      \"mailgun_endpoint\": \"Điểm cuối của Mailgun\",\n      \"ses_secret\": \"Bí mật SES\",\n      \"ses_key\": \"Khóa SES\",\n      \"password\": \"Mật khẩu thư\",\n      \"username\": \"Tên người dùng thư\",\n      \"mail_config\": \"Cấu hình thư\",\n      \"from_name\": \"Từ tên thư\",\n      \"from_mail\": \"Từ địa chỉ thư\",\n      \"encryption\": \"Mã hóa Thư\",\n      \"mail_config_desc\": \"Dưới đây là biểu mẫu Định cấu hình trình điều khiển Email để gửi email từ ứng dụng. Bạn cũng có thể định cấu hình các nhà cung cấp bên thứ ba như Sendgrid, SES, v.v.\"\n    },\n    \"req\": {\n      \"system_req\": \"yêu cầu hệ thống\",\n      \"php_req_version\": \"Php (bắt buộc phải có phiên bản {version})\",\n      \"check_req\": \"Kiểm tra yêu cầu\",\n      \"system_req_desc\": \"Crater có một số yêu cầu máy chủ. Đảm bảo rằng máy chủ của bạn có phiên bản php bắt buộc và tất cả các phần mở rộng được đề cập bên dưới.\"\n    },\n    \"errors\": {\n      \"migrate_failed\": \"Di chuyển không thành công\",\n      \"database_variables_save_error\": \"Không thể ghi cấu hình vào tệp .env. Vui lòng kiểm tra quyền đối với tệp của nó\",\n      \"mail_variables_save_error\": \"Cấu hình email không thành công.\",\n      \"connection_failed\": \"Kết nối cơ sở dữ liệu không thành công\",\n      \"database_should_be_empty\": \"Cơ sở dữ liệu phải trống\"\n    },\n    \"success\": {\n      \"mail_variables_save_successfully\": \"Email được định cấu hình thành công\",\n      \"database_variables_save_successfully\": \"Đã cấu hình thành công cơ sở dữ liệu.\"\n    }\n  },\n  \"validation\": {\n    \"invalid_phone\": \"Số điện thoại không hợp lệ\",\n    \"invalid_url\": \"Url không hợp lệ (ví dụ: http://www.crater.com)\",\n    \"invalid_domain_url\": \"Url không hợp lệ (ví dụ: crater.com)\",\n    \"required\": \"Lĩnh vực được yêu cầu\",\n    \"email_incorrect\": \"Email không chính xác.\",\n    \"email_already_taken\": \"Lá thư đã được lấy đi.\",\n    \"email_does_not_exist\": \"Người dùng có email đã cho không tồn tại\",\n    \"item_unit_already_taken\": \"Tên đơn vị mặt hàng này đã được sử dụng\",\n    \"payment_mode_already_taken\": \"Tên phương thức thanh toán này đã được sử dụng\",\n    \"send_reset_link\": \"Gửi liên kết đặt lại\",\n    \"not_yet\": \"Chưa? Gửi lại\",\n    \"password_min_length\": \"Mật khẩu phải chứa {count} ký tự\",\n    \"name_min_length\": \"Tên phải có ít nhất {count} chữ cái.\",\n    \"prefix_min_length\": \"Prefix must have at least {count} letters.\",\n    \"enter_valid_tax_rate\": \"Nhập thuế suất hợp lệ\",\n    \"numbers_only\": \"Chỉ số.\",\n    \"characters_only\": \"Chỉ nhân vật.\",\n    \"password_incorrect\": \"Mật khẩu phải giống hệt nhau\",\n    \"password_length\": \"Mật khẩu phải dài {count} ký tự.\",\n    \"qty_must_greater_than_zero\": \"Số lượng phải lớn hơn không.\",\n    \"price_greater_than_zero\": \"Giá phải lớn hơn 0.\",\n    \"payment_greater_than_zero\": \"Khoản thanh toán phải lớn hơn 0.\",\n    \"payment_greater_than_due_amount\": \"Thanh toán đã nhập nhiều hơn số tiền đến hạn của hóa đơn này.\",\n    \"quantity_maxlength\": \"Số lượng không được lớn hơn 20 chữ số.\",\n    \"price_maxlength\": \"Giá không được lớn hơn 20 chữ số.\",\n    \"price_minvalue\": \"Giá phải lớn hơn 0.\",\n    \"amount_maxlength\": \"Số tiền không được lớn hơn 20 chữ số.\",\n    \"amount_minvalue\": \"Số tiền phải lớn hơn 0.\",\n    \"discount_maxlength\": \"Discount should not be greater than max discount\",\n    \"description_maxlength\": \"Mô tả không được lớn hơn 65.000 ký tự.\",\n    \"subject_maxlength\": \"Chủ đề không được lớn hơn 100 ký tự.\",\n    \"message_maxlength\": \"Tin nhắn không được lớn hơn 255 ký tự.\",\n    \"maximum_options_error\": \"Đã chọn tối đa {max} tùy chọn. Đầu tiên, hãy xóa một tùy chọn đã chọn để chọn một tùy chọn khác.\",\n    \"notes_maxlength\": \"Ghi chú không được lớn hơn 65.000 ký tự.\",\n    \"address_maxlength\": \"Địa chỉ không được lớn hơn 255 ký tự.\",\n    \"ref_number_maxlength\": \"Số tham chiếu không được lớn hơn 255 ký tự.\",\n    \"prefix_maxlength\": \"Tiền tố không được lớn hơn 5 ký tự.\",\n    \"something_went_wrong\": \"có gì đó không ổn\",\n    \"number_length_minvalue\": \"Number length should be greater than 0\",\n    \"at_least_one_ability\": \"Please select atleast one Permission.\",\n    \"valid_driver_key\": \"Please enter a valid {driver} key.\",\n    \"valid_exchange_rate\": \"Please enter a valid exchange rate.\",\n    \"company_name_not_same\": \"Company name must match with given name.\"\n  },\n  \"errors\": {\n    \"starter_plan\": \"This feature is available on Starter plan and onwards!\",\n    \"invalid_provider_key\": \"Please Enter Valid Provider API Key.\",\n    \"estimate_number_used\": \"The estimate number has already been taken.\",\n    \"invoice_number_used\": \"The invoice number has already been taken.\",\n    \"payment_attached\": \"This invoice already has a payment attached to it. Make sure to delete the attached payments first in order to go ahead with the removal.\",\n    \"payment_number_used\": \"The payment number has already been taken.\",\n    \"name_already_taken\": \"The name has already been taken.\",\n    \"receipt_does_not_exist\": \"Receipt does not exist.\",\n    \"customer_cannot_be_changed_after_payment_is_added\": \"Customer cannot be change after payment is added\",\n    \"invalid_credentials\": \"Invalid  Credentials.\",\n    \"not_allowed\": \"Not Allowed\",\n    \"login_invalid_credentials\": \"These credentials do not match our records.\",\n    \"enter_valid_cron_format\": \"Please enter a valid cron format\",\n    \"email_could_not_be_sent\": \"Email could not be sent to this email address.\",\n    \"invalid_address\": \"Please enter a valid address.\",\n    \"invalid_key\": \"Please enter valid key.\",\n    \"invalid_state\": \"Please enter a valid state.\",\n    \"invalid_city\": \"Please enter a valid city.\",\n    \"invalid_postal_code\": \"Please enter a valid zip.\",\n    \"invalid_format\": \"Please enter valid query string format.\",\n    \"api_error\": \"Server not responding.\",\n    \"feature_not_enabled\": \"Feature not enabled.\",\n    \"request_limit_met\": \"Api request limit exceeded.\",\n    \"address_incomplete\": \"Incomplete Address\"\n  },\n  \"pdf_estimate_label\": \"Ước tính\",\n  \"pdf_estimate_number\": \"Số ước tính\",\n  \"pdf_estimate_date\": \"Ngày ước tính\",\n  \"pdf_estimate_expire_date\": \"Ngày hết hạn\",\n  \"pdf_invoice_label\": \"Hóa đơn\",\n  \"pdf_invoice_number\": \"Số hóa đơn\",\n  \"pdf_invoice_date\": \"Ngày lập hóa đơn\",\n  \"pdf_invoice_due_date\": \"Ngày đáo hạn\",\n  \"pdf_notes\": \"Ghi chú\",\n  \"pdf_items_label\": \"Mặt hàng\",\n  \"pdf_quantity_label\": \"Định lượng\",\n  \"pdf_price_label\": \"Giá bán\",\n  \"pdf_discount_label\": \"Giảm giá\",\n  \"pdf_amount_label\": \"Số tiền\",\n  \"pdf_subtotal\": \"Tổng phụ\",\n  \"pdf_total\": \"Toàn bộ\",\n  \"pdf_payment_label\": \"Thanh toán\",\n  \"pdf_payment_receipt_label\": \"HÓA ĐƠN THANH TOÁN\",\n  \"pdf_payment_date\": \"Ngày thanh toán\",\n  \"pdf_payment_number\": \"Số tiền phải trả\",\n  \"pdf_payment_mode\": \"Phương thức thanh toán\",\n  \"pdf_payment_amount_received_label\": \"Số tiền nhận được\",\n  \"pdf_expense_report_label\": \"BÁO CÁO CHI PHÍ\",\n  \"pdf_total_expenses_label\": \"TỔNG CHI PHÍ\",\n  \"pdf_profit_loss_label\": \"LỢI NHUẬN\",\n  \"pdf_sales_customers_label\": \"Báo cáo khách hàng bán hàng\",\n  \"pdf_sales_items_label\": \"Báo cáo mặt hàng bán hàng\",\n  \"pdf_tax_summery_label\": \"Báo cáo Tóm tắt Thuế\",\n  \"pdf_income_label\": \"THU NHẬP = EARNINGS\",\n  \"pdf_net_profit_label\": \"LỢI NHUẬN RÒNG\",\n  \"pdf_customer_sales_report\": \"Báo cáo bán hàng: Bởi khách hàng\",\n  \"pdf_total_sales_label\": \"TỔNG DOANH SỐ BÁN HÀNG\",\n  \"pdf_item_sales_label\": \"Báo cáo bán hàng: Theo mặt hàng\",\n  \"pdf_tax_report_label\": \"BÁO CÁO THUẾ\",\n  \"pdf_total_tax_label\": \"TỔNG THUẾ\",\n  \"pdf_tax_types_label\": \"Các loại thuế\",\n  \"pdf_expenses_label\": \"Chi phí\",\n  \"pdf_bill_to\": \"Hoa đơn để,\",\n  \"pdf_ship_to\": \"Tàu,\",\n  \"pdf_received_from\": \"Nhận được tư:\",\n  \"pdf_tax_label\": \"Tax\"\n}\n"
  },
  {
    "path": "resources/scripts/locales/zh.json",
    "content": "{\n  \"navigation\": {\n    \"dashboard\": \"控制面板\",\n    \"customers\": \"客户\",\n    \"items\": \"商品\",\n    \"invoices\": \"發票\",\n    \"recurring-invoices\": \"定期發票\",\n    \"expenses\": \"支出\",\n    \"estimates\": \"報價\",\n    \"payments\": \"付款\",\n    \"reports\": \"報告\",\n    \"settings\": \"設定\",\n    \"logout\": \"登出\",\n    \"users\": \"使用者\",\n    \"modules\": \"Modules\"\n  },\n  \"general\": {\n    \"add_company\": \"新增公司\",\n    \"view_pdf\": \"查閱PDF\",\n    \"copy_pdf_url\": \"複製PDF位址\",\n    \"download_pdf\": \"下載 PDF\",\n    \"save\": \"儲存\",\n    \"create\": \"新增\",\n    \"cancel\": \"取消\",\n    \"update\": \"更新\",\n    \"deselect\": \"取消選取\",\n    \"download\": \"下載\",\n    \"from_date\": \"啟始日\",\n    \"to_date\": \"終止日\",\n    \"from\": \"從\",\n    \"to\": \"至\",\n    \"ok\": \"好\",\n    \"yes\": \"確定\",\n    \"no\": \"否\",\n    \"sort_by\": \"排序方式\",\n    \"ascending\": \"遞增\",\n    \"descending\": \"遞減\",\n    \"subject\": \"主題\",\n    \"body\": \"內文\",\n    \"message\": \"訊息\",\n    \"send\": \"傳送\",\n    \"preview\": \"預覽\",\n    \"go_back\": \"返回\",\n    \"back_to_login\": \"返回登入?\",\n    \"home\": \"首頁\",\n    \"filter\": \"篩選\",\n    \"delete\": \"刪除\",\n    \"edit\": \"編輯\",\n    \"view\": \"瀏覽\",\n    \"add_new_item\": \"新增商品\",\n    \"clear_all\": \"全部清除\",\n    \"showing\": \"顯示\",\n    \"of\": \"的\",\n    \"actions\": \"操作\",\n    \"subtotal\": \"小計\",\n    \"discount\": \"折扣\",\n    \"fixed\": \"固定\",\n    \"percentage\": \"百分比\",\n    \"tax\": \"稅項\",\n    \"total_amount\": \"總額\",\n    \"bill_to\": \"帳單地址\",\n    \"ship_to\": \"配送地址\",\n    \"due\": \"到期\",\n    \"draft\": \"草稿\",\n    \"sent\": \"已傳送\",\n    \"all\": \"全部\",\n    \"select_all\": \"選擇全部\",\n    \"select_template\": \"選擇範本\",\n    \"choose_file\": \"點擊這此選擇檔案\",\n    \"choose_template\": \"選擇模板\",\n    \"choose\": \"選擇\",\n    \"remove\": \"移除\",\n    \"select_a_status\": \"選擇狀態\",\n    \"select_a_tax\": \"選擇稅項\",\n    \"search\": \"搜尋\",\n    \"are_you_sure\": \"是否確定？\",\n    \"list_is_empty\": \"清單為空.\",\n    \"no_tax_found\": \"沒有找到稅項!\",\n    \"four_zero_four\": \"404\",\n    \"you_got_lost\": \"不好! 發生問題了!\",\n    \"go_home\": \"返回首頁\",\n    \"test_mail_conf\": \"測試郵寄配置\",\n    \"send_mail_successfully\": \"郵件傳送成功\",\n    \"setting_updated\": \"成功更新設定\",\n    \"select_state\": \"請選擇市區\",\n    \"select_country\": \"請選國家\",\n    \"select_city\": \"選擇城市\",\n    \"street_1\": \"街道1\",\n    \"street_2\": \"街道2\",\n    \"action_failed\": \"操作失敗\",\n    \"retry\": \"重試\",\n    \"choose_note\": \"選擇備註\",\n    \"no_note_found\": \"沒有找到備註\",\n    \"insert_note\": \"插入備註\",\n    \"copied_pdf_url_clipboard\": \"複製PDF位址到剪貼簿!\",\n    \"copied_url_clipboard\": \"Copied url to clipboard!\",\n    \"docs\": \"文檔\",\n    \"do_you_wish_to_continue\": \"你確定要繼續？\",\n    \"note\": \"備註\",\n    \"pay_invoice\": \"Pay Invoice\",\n    \"login_successfully\": \"Logged in successfully!\",\n    \"logged_out_successfully\": \"Logged out successfully\",\n    \"mark_as_default\": \"Mark as default\"\n  },\n  \"dashboard\": {\n    \"select_year\": \"選擇年份\",\n    \"cards\": {\n      \"due_amount\": \"應付金額\",\n      \"customers\": \"客户\",\n      \"invoices\": \"發票\",\n      \"estimates\": \"報價\",\n      \"payments\": \"Payments\"\n    },\n    \"chart_info\": {\n      \"total_sales\": \"銷售\",\n      \"total_receipts\": \"收據\",\n      \"total_expense\": \"支出\",\n      \"net_income\": \"淨收入\",\n      \"year\": \"選擇年份\"\n    },\n    \"monthly_chart\": {\n      \"title\": \"銷售及支出\"\n    },\n    \"recent_invoices_card\": {\n      \"title\": \"逾期發票\",\n      \"due_on\": \"到期時間\",\n      \"customer\": \"客户\",\n      \"amount_due\": \"應付金額\",\n      \"actions\": \"操作\",\n      \"view_all\": \"檢視全部\"\n    },\n    \"recent_estimate_card\": {\n      \"title\": \"最近報價\",\n      \"date\": \"日期\",\n      \"customer\": \"客户\",\n      \"amount_due\": \"應付金額\",\n      \"actions\": \"操作\",\n      \"view_all\": \"檢視全部\"\n    }\n  },\n  \"tax_types\": {\n    \"name\": \"名稱\",\n    \"description\": \"詳情\",\n    \"percent\": \"百分比\",\n    \"compound_tax\": \"複合稅\"\n  },\n  \"global_search\": {\n    \"search\": \"搜尋...\",\n    \"customers\": \"客户\",\n    \"users\": \"使用者\",\n    \"no_results_found\": \"找不到相符的結果\"\n  },\n  \"company_switcher\": {\n    \"label\": \"切換至其他公司\",\n    \"no_results_found\": \"未找到結果\",\n    \"add_new_company\": \"新增公司\",\n    \"new_company\": \"新公司\",\n    \"created_message\": \"新增公司成功。\"\n  },\n  \"dateRange\": {\n    \"today\": \"今天\",\n    \"this_week\": \"這週\",\n    \"this_month\": \"這個月\",\n    \"this_quarter\": \"本季度\",\n    \"this_year\": \"今年\",\n    \"previous_week\": \"上一週\",\n    \"previous_month\": \"上個月\",\n    \"previous_quarter\": \"上一季\",\n    \"previous_year\": \"去年\",\n    \"custom\": \"自訂\"\n  },\n  \"customers\": {\n    \"title\": \"客户\",\n    \"prefix\": \"前置字串\",\n    \"add_customer\": \"新增客户\",\n    \"contacts_list\": \"客户列表\",\n    \"name\": \"名稱\",\n    \"mail\": \"電郵\",\n    \"statement\": \"對帳單\",\n    \"display_name\": \"顯示名稱\",\n    \"primary_contact_name\": \"主要聯絡人\",\n    \"contact_name\": \"聯絡人名稱\",\n    \"amount_due\": \"應付金額\",\n    \"email\": \"電子郵件\",\n    \"address\": \"地址\",\n    \"phone\": \"電話\",\n    \"website\": \"網址\",\n    \"overview\": \"概述\",\n    \"invoice_prefix\": \"發票號碼前綴\",\n    \"estimate_prefix\": \"估價前輟\",\n    \"payment_prefix\": \"付款前輟\",\n    \"enable_portal\": \"啟用傳送門\",\n    \"country\": \"國家\",\n    \"state\": \"州\",\n    \"city\": \"城市\",\n    \"zip_code\": \"郵遞區號\",\n    \"added_on\": \"增加於\",\n    \"action\": \"操作\",\n    \"password\": \"密碼\",\n    \"confirm_password\": \"確認密碼\",\n    \"street_number\": \"街道編號\",\n    \"primary_currency\": \"主要貨幣\",\n    \"description\": \"詳情\",\n    \"add_new_customer\": \"增加新的客戶\",\n    \"save_customer\": \"保存客戶\",\n    \"update_customer\": \"更新客戶\",\n    \"customer\": \"客戶|客戶\",\n    \"new_customer\": \"新客戶\",\n    \"edit_customer\": \"編輯客戶\",\n    \"basic_info\": \"基本資料\",\n    \"portal_access\": \"Portal Access\",\n    \"portal_access_text\": \"Would you like to allow this customer to login to the Customer Portal?\",\n    \"portal_access_url\": \"Customer Portal Login URL\",\n    \"portal_access_url_help\": \"Please copy & forward the above given URL to your customer for providing access.\",\n    \"billing_address\": \"帳單地址\",\n    \"shipping_address\": \"送貨地址\",\n    \"copy_billing_address\": \"由帳單複製\",\n    \"no_customers\": \"沒有設定客戶!\",\n    \"no_customers_found\": \"找不到客戶!\",\n    \"no_contact\": \"沒有聯絡人\",\n    \"no_contact_name\": \"沒有聯絡人名稱\",\n    \"list_of_customers\": \"這部份包含客戶列表\",\n    \"primary_display_name\": \"主要顯示名稱\",\n    \"select_currency\": \"選擇貨幣\",\n    \"select_a_customer\": \"選擇客戶\",\n    \"type_or_click\": \"輸入或點擊去選擇\",\n    \"new_transaction\": \"新交易\",\n    \"no_matching_customers\": \"沒有符合的客戶!\",\n    \"phone_number\": \"電話號碼\",\n    \"create_date\": \"建立日期\",\n    \"confirm_delete\": \"你將不能夠還原此客戶, 以及此客戶相關的發票, 報價及付款. | 你將不能夠還原此客戶, 以及此客戶相關的發票, 報價及付款.\",\n    \"created_message\": \"成功新增客戶\",\n    \"updated_message\": \"成功更新客戶\",\n    \"address_updated_message\": \"Address Information Updated succesfully\",\n    \"deleted_message\": \"成功刪除客戶 | 成功刪除客戶\",\n    \"edit_currency_not_allowed\": \"交易一旦創建後就不能改變貨幣!\"\n  },\n  \"items\": {\n    \"title\": \"商品\",\n    \"items_list\": \"商品列表\",\n    \"name\": \"名稱\",\n    \"unit\": \"單位\",\n    \"description\": \"詳情\",\n    \"added_on\": \"增加於\",\n    \"price\": \"價格\",\n    \"date_of_creation\": \"創建日期\",\n    \"not_selected\": \"未選擇任何商品\",\n    \"action\": \"操作\",\n    \"add_item\": \"新增商品\",\n    \"save_item\": \"保存商品\",\n    \"update_item\": \"更新商品\",\n    \"item\": \"商品 | 商品\",\n    \"add_new_item\": \"新增商品\",\n    \"new_item\": \"新商品\",\n    \"edit_item\": \"編輯商品\",\n    \"no_items\": \"沒有設置商品!\",\n    \"list_of_items\": \"這部份包含商品列表.\",\n    \"select_a_unit\": \"選擇單位\",\n    \"taxes\": \"税\",\n    \"item_attached_message\": \"已使用的商品不允許刪除.\",\n    \"confirm_delete\": \"你將不能夠還原此商品 | 你將不能夠還原此商品\",\n    \"created_message\": \"成功刪除商品\",\n    \"updated_message\": \"成功更新商品\",\n    \"deleted_message\": \"成功刪除商品 | 成功刪除商品\"\n  },\n  \"estimates\": {\n    \"title\": \"報價\",\n    \"accept_estimate\": \"Accept Estimate\",\n    \"reject_estimate\": \"Reject Estimate\",\n    \"estimate\": \"報價 | 報價\",\n    \"estimates_list\": \"報價列表\",\n    \"days\": \"{days} 天\",\n    \"months\": \"{months} 月\",\n    \"years\": \"{years} 年\",\n    \"all\": \"全部\",\n    \"paid\": \"已付款\",\n    \"unpaid\": \"未付款\",\n    \"customer\": \"客戶\",\n    \"ref_no\": \"相關號碼\",\n    \"number\": \"數字\",\n    \"amount_due\": \"應付金額\",\n    \"partially_paid\": \"部分支付\",\n    \"total\": \"總共\",\n    \"discount\": \"折扣\",\n    \"sub_total\": \"小計\",\n    \"estimate_number\": \"報價單\",\n    \"ref_number\": \"相關號碼\",\n    \"contact\": \"聯絡\",\n    \"add_item\": \"加入商品\",\n    \"date\": \"日期\",\n    \"due_date\": \"截止日期\",\n    \"expiry_date\": \"到期日\",\n    \"status\": \"狀態\",\n    \"add_tax\": \"新增稅項\",\n    \"amount\": \"總額\",\n    \"action\": \"操作\",\n    \"notes\": \"備註\",\n    \"tax\": \"稅\",\n    \"estimate_template\": \"模板\",\n    \"convert_to_invoice\": \"轉移成發票\",\n    \"mark_as_sent\": \"標記為已傳送\",\n    \"send_estimate\": \"傳送報價\",\n    \"resend_estimate\": \"重新傳送報價\",\n    \"record_payment\": \"紀錄付款\",\n    \"add_estimate\": \"新增報價\",\n    \"save_estimate\": \"保存報價\",\n    \"confirm_conversion\": \"此報價會用作建立新的發票\",\n    \"conversion_message\": \"成功新增發票\",\n    \"confirm_send_estimate\": \"此報價將會由電郵發送到客戶\",\n    \"confirm_mark_as_sent\": \"此報價將會標示為已傳送\",\n    \"confirm_mark_as_accepted\": \"此報價將會標示為接受\",\n    \"confirm_mark_as_rejected\": \"此報價將會標示為不接受\",\n    \"no_matching_estimates\": \"沒有符合的報價!\",\n    \"mark_as_sent_successfully\": \"報價已標示為成功傳送\",\n    \"send_estimate_successfully\": \"成功傳送報價\",\n    \"errors\": {\n      \"required\": \"此欄位為必需\"\n    },\n    \"accepted\": \"已接受\",\n    \"rejected\": \"已拒絕\",\n    \"expired\": \"Expired\",\n    \"sent\": \"傳送\",\n    \"draft\": \"草稿\",\n    \"viewed\": \"Viewed\",\n    \"declined\": \"拒絕\",\n    \"new_estimate\": \"新報價\",\n    \"add_new_estimate\": \"新增報價\",\n    \"update_Estimate\": \"更新報價\",\n    \"edit_estimate\": \"編輯報價\",\n    \"items\": \"商品\",\n    \"Estimate\": \"報價 | 報價\",\n    \"add_new_tax\": \"新增稅項\",\n    \"no_estimates\": \"沒有價價!\",\n    \"list_of_estimates\": \"這部份包含報價列表\",\n    \"mark_as_rejected\": \"標記為已拒絕\",\n    \"mark_as_accepted\": \"標記為已接受\",\n    \"marked_as_accepted_message\": \"報價標記為已接受\",\n    \"marked_as_rejected_message\": \"報價標記為已拒絕\",\n    \"confirm_delete\": \"你將不能夠還原此報價 | 你將不能夠還原這些報價\",\n    \"created_message\": \"成功新增報價\",\n    \"updated_message\": \"成功更新報價\",\n    \"deleted_message\": \"成功刪除報價 | 成功刪除報價\",\n    \"something_went_wrong\": \"有地方出錯了\",\n    \"item\": {\n      \"title\": \"商品標題\",\n      \"description\": \"詳情\",\n      \"quantity\": \"數量\",\n      \"price\": \"價格\",\n      \"discount\": \"折扣\",\n      \"total\": \"總共\",\n      \"total_discount\": \"總折扣\",\n      \"sub_total\": \"小計\",\n      \"tax\": \"稅\",\n      \"amount\": \"總額\",\n      \"select_an_item\": \"輸入或點擊去選擇商品\",\n      \"type_item_description\": \"商品詳情(可選)\"\n    },\n    \"mark_as_default_estimate_template_description\": \"If enabled, the selected template will be automatically selected for new estimates.\"\n  },\n  \"invoices\": {\n    \"title\": \"發票\",\n    \"download\": \"Download\",\n    \"pay_invoice\": \"Pay Invoice\",\n    \"invoices_list\": \"發票列表\",\n    \"invoice_information\": \"Invoice Information\",\n    \"days\": \"{days} 天\",\n    \"months\": \"{months} 月\",\n    \"years\": \"{years} 年\",\n    \"all\": \"全部\",\n    \"paid\": \"已付款\",\n    \"unpaid\": \"未付款\",\n    \"viewed\": \"已查看\",\n    \"overdue\": \"逾期\",\n    \"completed\": \"已完成\",\n    \"customer\": \"客戶\",\n    \"paid_status\": \"付款狀態\",\n    \"ref_no\": \"相關號碼\",\n    \"number\": \"數字\",\n    \"amount_due\": \"應付金額\",\n    \"partially_paid\": \"部分支付\",\n    \"total\": \"總共\",\n    \"discount\": \"折扣\",\n    \"sub_total\": \"小計\",\n    \"invoice\": \"發票 | 發票\",\n    \"invoice_number\": \"發票號碼\",\n    \"ref_number\": \"相關號碼\",\n    \"contact\": \"聯絡\",\n    \"add_item\": \"加入商品\",\n    \"date\": \"日期\",\n    \"due_date\": \"截止日期\",\n    \"status\": \"狀態\",\n    \"add_tax\": \"加入稅項\",\n    \"amount\": \"總額\",\n    \"action\": \"操作\",\n    \"notes\": \"備註\",\n    \"view\": \"瀏覽\",\n    \"send_invoice\": \"傳送發票\",\n    \"resend_invoice\": \"重新傳送發票\",\n    \"invoice_template\": \"發票範本\",\n    \"conversion_message\": \"成功複製發票\",\n    \"template\": \"範本\",\n    \"mark_as_sent\": \"標記為已傳送\",\n    \"confirm_send_invoice\": \"此發票將會由電郵發送到客戶\",\n    \"invoice_mark_as_sent\": \"此發票將會標示為已傳送\",\n    \"confirm_mark_as_accepted\": \"此發票將會標示為已接受\",\n    \"confirm_mark_as_rejected\": \"此發票將會標示為已拒絕\",\n    \"confirm_send\": \"此發票將會由電郵發送到客戶\",\n    \"invoice_date\": \"發票日期\",\n    \"record_payment\": \"紀錄付款\",\n    \"add_new_invoice\": \"新增發票\",\n    \"update_expense\": \"更新支出\",\n    \"edit_invoice\": \"編輯發票\",\n    \"new_invoice\": \"新發票\",\n    \"save_invoice\": \"保存發票\",\n    \"update_invoice\": \"更新發票\",\n    \"add_new_tax\": \"新增稅項\",\n    \"no_invoices\": \"沒有發票!\",\n    \"mark_as_rejected\": \"標記為已拒絕\",\n    \"mark_as_accepted\": \"標記為已接受\",\n    \"list_of_invoices\": \"這部份包含發票列表.\",\n    \"select_invoice\": \"選擇發票\",\n    \"no_matching_invoices\": \"沒有符合的發票!\",\n    \"mark_as_sent_successfully\": \"發票已標示為成功傳送\",\n    \"invoice_sent_successfully\": \"成功傳送發票\",\n    \"cloned_successfully\": \"成功複製發票\",\n    \"clone_invoice\": \"複製發票\",\n    \"confirm_clone\": \"此發票將會複製到新的發票\",\n    \"item\": {\n      \"title\": \"商品標題\",\n      \"description\": \"詳情\",\n      \"quantity\": \"數量\",\n      \"price\": \"價格\",\n      \"discount\": \"折扣\",\n      \"total\": \"總共\",\n      \"total_discount\": \"總折扣\",\n      \"sub_total\": \"小計\",\n      \"tax\": \"稅\",\n      \"amount\": \"總額\",\n      \"select_an_item\": \"輸入或點擊去選擇商品\",\n      \"type_item_description\": \"輸入商品描述 (可選)\"\n    },\n    \"payment_attached_message\": \"有發票已經付支. 請先將關連的支付刪除, 然後再執行一次.\",\n    \"confirm_delete\": \"你將不能夠還原此發票 | 你將不能夠還原這些發票\",\n    \"created_message\": \"成功新增發票\",\n    \"updated_message\": \"成功更新發票\",\n    \"deleted_message\": \"成功刪除發票 | 成功刪除發票\",\n    \"marked_as_sent_message\": \"發票已標示為成功傳送\",\n    \"something_went_wrong\": \"出現錯誤\",\n    \"invalid_due_amount_message\": \"發票總額不能少於支付總額. 請更新發票或刪除相關支付再繼續.\",\n    \"mark_as_default_invoice_template_description\": \"If enabled, the selected template will be automatically selected for new invoices.\"\n  },\n  \"recurring_invoices\": {\n    \"title\": \"定期發票\",\n    \"invoices_list\": \"定期發票表\",\n    \"days\": \"{days} 天\",\n    \"months\": \"{months} 月\",\n    \"years\": \"{years} 年\",\n    \"all\": \"全選\",\n    \"paid\": \"已付款\",\n    \"unpaid\": \"未付款\",\n    \"viewed\": \"已查看\",\n    \"overdue\": \"逾期\",\n    \"active\": \"生效\",\n    \"completed\": \"已完成\",\n    \"customer\": \"客戶\",\n    \"paid_status\": \"付款狀態\",\n    \"ref_no\": \"REF NO.\",\n    \"number\": \"NUMBER\",\n    \"amount_due\": \"AMOUNT DUE\",\n    \"partially_paid\": \"Partially Paid\",\n    \"total\": \"Total\",\n    \"discount\": \"Discount\",\n    \"sub_total\": \"Sub Total\",\n    \"invoice\": \"Recurring Invoice | Recurring Invoices\",\n    \"invoice_number\": \"Recurring Invoice Number\",\n    \"next_invoice_date\": \"Next Invoice Date\",\n    \"ref_number\": \"Ref Number\",\n    \"contact\": \"Contact\",\n    \"add_item\": \"Add an Item\",\n    \"date\": \"Date\",\n    \"limit_by\": \"Limit by\",\n    \"limit_date\": \"Limit Date\",\n    \"limit_count\": \"Limit Count\",\n    \"count\": \"Count\",\n    \"status\": \"Status\",\n    \"select_a_status\": \"Select a status\",\n    \"working\": \"Working\",\n    \"on_hold\": \"On Hold\",\n    \"complete\": \"Completed\",\n    \"add_tax\": \"Add Tax\",\n    \"amount\": \"Amount\",\n    \"action\": \"Action\",\n    \"notes\": \"Notes\",\n    \"view\": \"View\",\n    \"basic_info\": \"Basic Info\",\n    \"send_invoice\": \"Send Recurring Invoice\",\n    \"auto_send\": \"Auto Send\",\n    \"resend_invoice\": \"Resend Recurring Invoice\",\n    \"invoice_template\": \"Recurring Invoice Template\",\n    \"conversion_message\": \"Recurring Invoice cloned successful\",\n    \"template\": \"Template\",\n    \"mark_as_sent\": \"Mark as sent\",\n    \"confirm_send_invoice\": \"This recurring invoice will be sent via email to the customer\",\n    \"invoice_mark_as_sent\": \"This recurring invoice will be marked as sent\",\n    \"confirm_send\": \"This recurring invoice will be sent via email to the customer\",\n    \"starts_at\": \"Start Date\",\n    \"due_date\": \"Invoice Due Date\",\n    \"record_payment\": \"Record Payment\",\n    \"add_new_invoice\": \"Add New Recurring Invoice\",\n    \"update_expense\": \"Update Expense\",\n    \"edit_invoice\": \"Edit Recurring Invoice\",\n    \"new_invoice\": \"New Recurring Invoice\",\n    \"send_automatically\": \"Send Automatically\",\n    \"send_automatically_desc\": \"Enable this, if you would like to send the invoice automatically to the customer when its created.\",\n    \"save_invoice\": \"Save Recurring Invoice\",\n    \"update_invoice\": \"Update Recurring Invoice\",\n    \"add_new_tax\": \"Add New Tax\",\n    \"no_invoices\": \"No Recurring Invoices yet!\",\n    \"mark_as_rejected\": \"Mark as rejected\",\n    \"mark_as_accepted\": \"Mark as accepted\",\n    \"list_of_invoices\": \"This section will contain the list of recurring invoices.\",\n    \"select_invoice\": \"Select Invoice\",\n    \"no_matching_invoices\": \"There are no matching recurring invoices!\",\n    \"mark_as_sent_successfully\": \"Recurring Invoice marked as sent successfully\",\n    \"invoice_sent_successfully\": \"Recurring Invoice sent successfully\",\n    \"cloned_successfully\": \"Recurring Invoice cloned successfully\",\n    \"clone_invoice\": \"Clone Recurring Invoice\",\n    \"confirm_clone\": \"This recurring invoice will be cloned into a new Recurring Invoice\",\n    \"add_customer_email\": \"Please add an email address for this customer to send invoices automatically.\",\n    \"item\": {\n      \"title\": \"Item Title\",\n      \"description\": \"Description\",\n      \"quantity\": \"Quantity\",\n      \"price\": \"Price\",\n      \"discount\": \"Discount\",\n      \"total\": \"Total\",\n      \"total_discount\": \"Total Discount\",\n      \"sub_total\": \"Sub Total\",\n      \"tax\": \"Tax\",\n      \"amount\": \"Amount\",\n      \"select_an_item\": \"Type or click to select an item\",\n      \"type_item_description\": \"Type Item Description (optional)\"\n    },\n    \"frequency\": {\n      \"title\": \"Frequency\",\n      \"select_frequency\": \"Select Frequency\",\n      \"minute\": \"Minute\",\n      \"hour\": \"Hour\",\n      \"day_month\": \"Day of month\",\n      \"month\": \"Month\",\n      \"day_week\": \"Day of week\"\n    },\n    \"confirm_delete\": \"You will not be able to recover this Invoice | You will not be able to recover these Invoices\",\n    \"created_message\": \"Recurring Invoice created successfully\",\n    \"updated_message\": \"Recurring Invoice updated successfully\",\n    \"deleted_message\": \"Recurring Invoice deleted successfully | Recurring Invoices deleted successfully\",\n    \"marked_as_sent_message\": \"Recurring Invoice marked as sent successfully\",\n    \"user_email_does_not_exist\": \"User email does not exist\",\n    \"something_went_wrong\": \"something went wrong\",\n    \"invalid_due_amount_message\": \"Total Recurring Invoice amount cannot be less than total paid amount for this Recurring Invoice. Please update the invoice or delete the associated payments to continue.\"\n  },\n  \"payments\": {\n    \"title\": \"付款\",\n    \"payments_list\": \"付款清單\",\n    \"record_payment\": \"紀錄付款\",\n    \"customer\": \"客户\",\n    \"date\": \"日期\",\n    \"amount\": \"總額\",\n    \"action\": \"操作\",\n    \"payment_number\": \"付款號碼\",\n    \"payment_mode\": \"支付模式\",\n    \"invoice\": \"發票\",\n    \"note\": \"備註\",\n    \"add_payment\": \"加入付款\",\n    \"new_payment\": \"新付款\",\n    \"edit_payment\": \"編輯付款\",\n    \"view_payment\": \"檢視付款\",\n    \"add_new_payment\": \"新增付款\",\n    \"send_payment_receipt\": \"傳送付款收據\",\n    \"send_payment\": \"發送付款\",\n    \"save_payment\": \"保存付款\",\n    \"update_payment\": \"更新付款\",\n    \"payment\": \"付款 | 付款\",\n    \"no_payments\": \"沒有付款\",\n    \"not_selected\": \"未選取\",\n    \"no_invoice\": \"沒有發票\",\n    \"no_matching_payments\": \"沒有符合的付款!\",\n    \"list_of_payments\": \"這部份包含付款列表.\",\n    \"select_payment_mode\": \"選擇付款模式\",\n    \"confirm_mark_as_sent\": \"此報價將會標示為已傳送\",\n    \"confirm_send_payment\": \"此付款將會由電郵發送到客戶\",\n    \"send_payment_successfully\": \"成功傳送付款\",\n    \"something_went_wrong\": \"出現錯誤\",\n    \"confirm_delete\": \"你將不能夠還原此付款 | 你將不能夠還原這些付款\",\n    \"created_message\": \"成功新增付款\",\n    \"updated_message\": \"成功更新付款\",\n    \"deleted_message\": \"成功刪除付款 | 成功刪除付款\",\n    \"invalid_amount_message\": \"付款金額有誤\"\n  },\n  \"expenses\": {\n    \"title\": \"支出\",\n    \"expenses_list\": \"支出列表\",\n    \"select_a_customer\": \"選擇客戶\",\n    \"expense_title\": \"標題\",\n    \"customer\": \"客戶\",\n    \"currency\": \"Currency\",\n    \"contact\": \"聯絡\",\n    \"category\": \"分類\",\n    \"from_date\": \"啟始日\",\n    \"to_date\": \"終止日\",\n    \"expense_date\": \"日期\",\n    \"description\": \"詳情\",\n    \"receipt\": \"收據\",\n    \"amount\": \"總額\",\n    \"action\": \"操作\",\n    \"not_selected\": \"未選取\",\n    \"note\": \"備註\",\n    \"category_id\": \"分類 Id\",\n    \"date\": \"日期\",\n    \"add_expense\": \"加入支出\",\n    \"add_new_expense\": \"新增支出\",\n    \"save_expense\": \"保存支出\",\n    \"update_expense\": \"更新支出\",\n    \"download_receipt\": \"下載收據\",\n    \"edit_expense\": \"編輯支出\",\n    \"new_expense\": \"新支出\",\n    \"expense\": \"支出 | 支出\",\n    \"no_expenses\": \"沒有支出!\",\n    \"list_of_expenses\": \"這部份包含支出列表\",\n    \"confirm_delete\": \"你將不能夠還原此支出 | 你將不能夠還原這些支出\",\n    \"created_message\": \"成功新增支出\",\n    \"updated_message\": \"成功更新支出\",\n    \"deleted_message\": \"成功刪除支出 | 成功刪除支出\",\n    \"categories\": {\n      \"categories_list\": \"分類列表\",\n      \"title\": \"標題\",\n      \"name\": \"名稱\",\n      \"description\": \"詳情\",\n      \"amount\": \"總額\",\n      \"actions\": \"操作\",\n      \"add_category\": \"加入分類\",\n      \"new_category\": \"新分類\",\n      \"category\": \"分類 | 分類\",\n      \"select_a_category\": \"選擇一個分類\"\n    }\n  },\n  \"login\": {\n    \"email\": \"電郵\",\n    \"password\": \"密碼\",\n    \"forgot_password\": \"忘記密碼？\",\n    \"or_signIn_with\": \"或登錄\",\n    \"login\": \"登入\",\n    \"register\": \"註冊\",\n    \"reset_password\": \"重設密碼\",\n    \"password_reset_successfully\": \"密碼已成功重設。\",\n    \"enter_email\": \"輸入電郵\",\n    \"enter_password\": \"輸入密碼\",\n    \"retype_password\": \"重新輸入密碼\"\n  },\n  \"modules\": {\n    \"buy_now\": \"Buy Now\",\n    \"install\": \"Install\",\n    \"price\": \"Price\",\n    \"download_zip_file\": \"Download ZIP file\",\n    \"unzipping_package\": \"Unzipping Package\",\n    \"copying_files\": \"Copying Files\",\n    \"deleting_files\": \"Deleting Unused files\",\n    \"completing_installation\": \"Completing Installation\",\n    \"update_failed\": \"Update Failed\",\n    \"install_success\": \"Module has been installed successfully!\",\n    \"customer_reviews\": \"Reviews\",\n    \"license\": \"License\",\n    \"faq\": \"FAQ\",\n    \"monthly\": \"Monthly\",\n    \"yearly\": \"Yearly\",\n    \"updated\": \"Updated\",\n    \"version\": \"Version\",\n    \"disable\": \"Disable\",\n    \"module_disabled\": \"Module Disabled\",\n    \"enable\": \"Enable\",\n    \"module_enabled\": \"Module Enabled\",\n    \"update_to\": \"Update To\",\n    \"module_updated\": \"Module Updated Successfully!\",\n    \"title\": \"Modules\",\n    \"module\": \"Module | Modules\",\n    \"api_token\": \"API token\",\n    \"invalid_api_token\": \"Invalid API Token.\",\n    \"other_modules\": \"Other Modules\",\n    \"view_all\": \"View All\",\n    \"no_reviews_found\": \"There are no reviews for this module yet!\",\n    \"module_not_purchased\": \"Module Not Purchased\",\n    \"module_not_found\": \"Module Not Found\",\n    \"version_not_supported\": \"This module version doesn't support the current version of Crater\",\n    \"last_updated\": \"Last Updated On\",\n    \"connect_installation\": \"Connect your installation\",\n    \"api_token_description\": \"Login to {url} and connect this installation by entering the API Token. Your purchased modules will show up here after the connection is established.\",\n    \"view_module\": \"View Module\",\n    \"update_available\": \"Update Available\",\n    \"purchased\": \"Purchased\",\n    \"installed\": \"Installed\",\n    \"no_modules_installed\": \"No Modules Installed Yet!\",\n    \"disable_warning\": \"All the settings for this particular will be reverted.\",\n    \"what_you_get\": \"What you get\"\n  },\n  \"users\": {\n    \"title\": \"用戶\",\n    \"users_list\": \"用戶列表\",\n    \"name\": \"名稱\",\n    \"description\": \"詳情\",\n    \"added_on\": \"增加於\",\n    \"date_of_creation\": \"創建日期\",\n    \"action\": \"操作\",\n    \"add_user\": \"加入用戶\",\n    \"save_user\": \"保存用戶\",\n    \"update_user\": \"更新用戶\",\n    \"user\": \"用戶 | 用戶\",\n    \"add_new_user\": \"新增用戶\",\n    \"new_user\": \"新用戶\",\n    \"edit_user\": \"編輯用戶\",\n    \"no_users\": \"沒有用戶\",\n    \"list_of_users\": \"這部份包含用戶列表.\",\n    \"email\": \"電郵\",\n    \"phone\": \"電話\",\n    \"password\": \"密碼\",\n    \"user_attached_message\": \"已使用的商品不允許刪除.\",\n    \"confirm_delete\": \"你將不能夠還原此用戶 | 你將不能夠還原這些用戶\",\n    \"created_message\": \"成功刪除用戶\",\n    \"updated_message\": \"成功更新用戶\",\n    \"deleted_message\": \"成功刪除用戶 | 成功刪除用戶\",\n    \"select_company_role\": \"Select Role for {company}\",\n    \"companies\": \"Companies\"\n  },\n  \"reports\": {\n    \"title\": \"報告\",\n    \"from_date\": \"啟始日\",\n    \"to_date\": \"終止日\",\n    \"status\": \"狀態\",\n    \"paid\": \"已付款\",\n    \"unpaid\": \"未付款\",\n    \"download_pdf\": \"下載 PDF\",\n    \"view_pdf\": \"查閱PDF\",\n    \"update_report\": \"更新報告\",\n    \"report\": \"報告 | 報告\",\n    \"profit_loss\": {\n      \"profit_loss\": \"營利及虧損\",\n      \"to_date\": \"終止日\",\n      \"from_date\": \"啟始日\",\n      \"date_range\": \"請選擇日期範圍\"\n    },\n    \"sales\": {\n      \"sales\": \"銷售\",\n      \"date_range\": \"請選擇日期範圍\",\n      \"to_date\": \"終止日\",\n      \"from_date\": \"啟始日\",\n      \"report_type\": \"報告類型\"\n    },\n    \"taxes\": {\n      \"taxes\": \"税項\",\n      \"to_date\": \"終止日\",\n      \"from_date\": \"啟始日\",\n      \"date_range\": \"請選擇日期範圍\"\n    },\n    \"errors\": {\n      \"required\": \"此欄位為必需\"\n    },\n    \"invoices\": {\n      \"invoice\": \"發票\",\n      \"invoice_date\": \"發票日期\",\n      \"due_date\": \"截止日期\",\n      \"amount\": \"總額\",\n      \"contact_name\": \"聯絡人名稱\",\n      \"status\": \"狀態\"\n    },\n    \"estimates\": {\n      \"estimate\": \"報價\",\n      \"estimate_date\": \"報價日期\",\n      \"due_date\": \"截止日期\",\n      \"estimate_number\": \"報價單\",\n      \"ref_number\": \"相關號碼\",\n      \"amount\": \"總額\",\n      \"contact_name\": \"聯絡人名稱\",\n      \"status\": \"狀態\"\n    },\n    \"expenses\": {\n      \"expenses\": \"支出\",\n      \"category\": \"分類\",\n      \"date\": \"日期\",\n      \"amount\": \"總額\",\n      \"to_date\": \"終止日\",\n      \"from_date\": \"啟始日\",\n      \"date_range\": \"請選擇日期範圍\"\n    }\n  },\n  \"settings\": {\n    \"menu_title\": {\n      \"account_settings\": \"帳戶設定\",\n      \"company_information\": \"公司資料\",\n      \"customization\": \"個人化\",\n      \"preferences\": \"偏好設定\",\n      \"notifications\": \"通知\",\n      \"tax_types\": \"稅收類型\",\n      \"expense_category\": \"支出類別\",\n      \"update_app\": \"更新 App\",\n      \"backup\": \"備份\",\n      \"file_disk\": \"檔案磁碟\",\n      \"custom_fields\": \"自定欄位\",\n      \"payment_modes\": \"付款方式\",\n      \"notes\": \"備註\",\n      \"exchange_rate\": \"Exchange Rate\",\n      \"address_information\": \"Address Information\"\n    },\n    \"address_information\": {\n      \"section_description\": \"  You can update Your Address information using form below.\"\n    },\n    \"title\": \"設定\",\n    \"setting\": \"設定 | 設定\",\n    \"general\": \"一般\",\n    \"language\": \"語言\",\n    \"primary_currency\": \"主要貨幣\",\n    \"timezone\": \"時區\",\n    \"date_format\": \"日期格式\",\n    \"currencies\": {\n      \"title\": \"貨幣\",\n      \"currency\": \"貨幣 | 貨幣\",\n      \"currencies_list\": \"貨幣列表\",\n      \"select_currency\": \"選擇貨幣\",\n      \"name\": \"名稱\",\n      \"code\": \"碼\",\n      \"symbol\": \"符號\",\n      \"precision\": \"精確度\",\n      \"thousand_separator\": \"千位分隔符\",\n      \"decimal_separator\": \"小數分隔符\",\n      \"position\": \"位置\",\n      \"position_of_symbol\": \"符號位置\",\n      \"right\": \"右\",\n      \"left\": \"左\",\n      \"action\": \"操作\",\n      \"add_currency\": \"加入貨幣\"\n    },\n    \"mail\": {\n      \"host\": \"電郵主機\",\n      \"port\": \"電郵端口\",\n      \"driver\": \"電郵驅動\",\n      \"secret\": \"金鑰\",\n      \"mailgun_secret\": \"Mailgun 金鑰\",\n      \"mailgun_domain\": \"網域\",\n      \"mailgun_endpoint\": \"Mailgun \\bendpoint\",\n      \"ses_secret\": \"SES 金鑰\",\n      \"ses_key\": \"SES 匙\",\n      \"password\": \"郵件密碼\",\n      \"username\": \"郵件登入名稱\",\n      \"mail_config\": \"郵件設定\",\n      \"from_name\": \"郵件傳送名稱\",\n      \"from_mail\": \"郵件傳送地址\",\n      \"encryption\": \"郵件加密\",\n      \"mail_config_desc\": \"下列可以設定外送郵件設置. 你亦可使用第三方的郵件服務如Sendgrid, SES 等.\"\n    },\n    \"pdf\": {\n      \"title\": \"PDF設定\",\n      \"footer_text\": \"頁尾文字\",\n      \"pdf_layout\": \"PDF \\b佈局\"\n    },\n    \"company_info\": {\n      \"company_info\": \"公司資訊\",\n      \"company_name\": \"公司名稱\",\n      \"company_logo\": \"公司Logo\",\n      \"section_description\": \"公司的資料會顯示在發票, 報價及其他文件上.\",\n      \"phone\": \"電話\",\n      \"country\": \"國家\",\n      \"state\": \"縣/市\",\n      \"city\": \"城市\",\n      \"address\": \"地址\",\n      \"zip\": \"郵遞區號\",\n      \"save\": \"儲存\",\n      \"delete\": \"Delete\",\n      \"updated_message\": \"成功更新公司資料\",\n      \"delete_company\": \"Delete Company\",\n      \"delete_company_description\": \"Once you delete your company, you will lose all the data and files associated with it permanently.\",\n      \"are_you_absolutely_sure\": \"Are you absolutely sure?\",\n      \"delete_company_modal_desc\": \"This action cannot be undone. This will permanently delete {company} and all of its associated data.\",\n      \"delete_company_modal_label\": \"Please type {company} to confirm\"\n    },\n    \"custom_fields\": {\n      \"title\": \"自定欄位\",\n      \"section_description\": \"自訂你的發票, 報價及付款收據欄位. 請確定以下在自訂欄位頁裡新增的欄位是地址格式.\",\n      \"add_custom_field\": \"加入自訂欄位\",\n      \"edit_custom_field\": \"編輯自訂欄位\",\n      \"field_name\": \"欄位名稱\",\n      \"label\": \"標籤\",\n      \"type\": \"類型\",\n      \"name\": \"名稱\",\n      \"slug\": \"Slug\",\n      \"required\": \"必填\",\n      \"placeholder\": \"Placeholder\",\n      \"help_text\": \"說明文字\",\n      \"default_value\": \"默認值\",\n      \"prefix\": \"前置\",\n      \"starting_number\": \"起始號碼\",\n      \"model\": \"模式\",\n      \"help_text_description\": \"請為此欄位輸入幫助說明.\",\n      \"suffix\": \"後綴名\",\n      \"yes\": \"是\",\n      \"no\": \"否\",\n      \"order\": \"訂單\",\n      \"custom_field_confirm_delete\": \"你將無法恢復此欄位\",\n      \"already_in_use\": \"此自訂欄位已在使用\",\n      \"deleted_message\": \"成功刪除自訂欄位\",\n      \"options\": \"選項\",\n      \"add_option\": \"加入選項\",\n      \"add_another_option\": \"加入另一個選項\",\n      \"sort_in_alphabetical_order\": \"以字母作排序\",\n      \"add_options_in_bulk\": \"批量加入選項\",\n      \"use_predefined_options\": \"使用預定義選項\",\n      \"select_custom_date\": \"選擇自訂日期\",\n      \"select_relative_date\": \"選擇相關日期\",\n      \"ticked_by_default\": \"預設已選擇\",\n      \"updated_message\": \"成功更新自訂欄位\",\n      \"added_message\": \"成功新增自訂欄位\",\n      \"press_enter_to_add\": \"Press enter to add new option\",\n      \"model_in_use\": \"Cannot update model for fields which are already in use.\",\n      \"type_in_use\": \"Cannot update type for fields which are already in use.\"\n    },\n    \"customization\": {\n      \"customization\": \"個人化\",\n      \"updated_message\": \"成功更新公司資料\",\n      \"save\": \"儲存\",\n      \"insert_fields\": \"Insert Fields\",\n      \"learn_custom_format\": \"Learn how to use custom format\",\n      \"add_new_component\": \"Add New Component\",\n      \"component\": \"Component\",\n      \"Parameter\": \"Parameter\",\n      \"series\": \"Series\",\n      \"series_description\": \"To set a static prefix/postfix like 'INV' across your company. It supports character length of up to 6 chars.\",\n      \"series_param_label\": \"Series Value\",\n      \"delimiter\": \"Delimiter\",\n      \"delimiter_description\": \"Single character for specifying the boundary between 2 separate components. By default its set to -\",\n      \"delimiter_param_label\": \"Delimiter Value\",\n      \"date_format\": \"Date Format\",\n      \"date_format_description\": \"A local date and time field which accepts a format parameter. The default format: 'Y' renders the current year.\",\n      \"date_format_param_label\": \"Format\",\n      \"sequence\": \"Sequence\",\n      \"sequence_description\": \"Consecutive sequence of numbers across your company. You can specify the length on the given parameter.\",\n      \"sequence_param_label\": \"Sequence Length\",\n      \"customer_series\": \"Customer Series\",\n      \"customer_series_description\": \"To set a different prefix/postfix for each customer.\",\n      \"customer_sequence\": \"Customer Sequence\",\n      \"customer_sequence_description\": \"Consecutive sequence of numbers for each of your customer.\",\n      \"customer_sequence_param_label\": \"Sequence Length\",\n      \"random_sequence\": \"Random Sequence\",\n      \"random_sequence_description\": \"Random alphanumeric string. You can specify the length on the given parameter.\",\n      \"random_sequence_param_label\": \"Sequence Length\",\n      \"invoices\": {\n        \"title\": \"發票\",\n        \"invoice_number_format\": \"Invoice Number Format\",\n        \"invoice_number_format_description\": \"Customize how your invoice number gets generated automatically when you create a new invoice.\",\n        \"preview_invoice_number\": \"Preview Invoice Number\",\n        \"due_date\": \"Due Date\",\n        \"due_date_description\": \"Specify how due date is automatically set when you create an invoice.\",\n        \"due_date_days\": \"Invoice Due after days\",\n        \"set_due_date_automatically\": \"Set Due Date Automatically\",\n        \"set_due_date_automatically_description\": \"Enable this if you wish to set due date automatically when you create a new invoice.\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on invoice creation.\",\n        \"default_invoice_email_body\": \"預設發票電郵內容\",\n        \"company_address_format\": \"公司地址格式\",\n        \"shipping_address_format\": \"送貨地址格式\",\n        \"billing_address_format\": \"帳單地址格式\",\n        \"invoice_email_attachment\": \"以附件形式傳送發票\",\n        \"invoice_email_attachment_setting_description\": \"啟用此項, 如果你要以附件形式傳送發票. 如選擇此項, 「檢視發票」按扭將不會在電郵中顯示.\",\n        \"invoice_settings_updated\": \"Invoice Settings updated successfully\",\n        \"retrospective_edits\": \"Retrospective Edits\",\n        \"allow\": \"Allow\",\n        \"disable_on_invoice_partial_paid\": \"Disable after partial payment is recorded\",\n        \"disable_on_invoice_paid\": \"Disable after full payment is recorded\",\n        \"disable_on_invoice_sent\": \"Disable after invoice is sent\",\n        \"retrospective_edits_description\": \" Based on your country's laws or your preference, you can restrict users from editing finalised invoices.\"\n      },\n      \"estimates\": {\n        \"title\": \"報價\",\n        \"estimate_number_format\": \"Estimate Number Format\",\n        \"estimate_number_format_description\": \"Customize how your estimate number gets generated automatically when you create a new estimate.\",\n        \"preview_estimate_number\": \"Preview Estimate Number\",\n        \"expiry_date\": \"Expiry Date\",\n        \"expiry_date_description\": \"Specify how expiry date is automatically set when you create an estimate.\",\n        \"expiry_date_days\": \"Estimate Expires after days\",\n        \"set_expiry_date_automatically\": \"Set Expiry Date Automatically\",\n        \"set_expiry_date_automatically_description\": \"Enable this if you wish to set expiry date automatically when you create a new estimate.\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on estimate creation.\",\n        \"default_estimate_email_body\": \"預設報價電郵內容\",\n        \"company_address_format\": \"公司地址格式\",\n        \"shipping_address_format\": \"送貨地址格式\",\n        \"billing_address_format\": \"帳單地址格式\",\n        \"estimate_email_attachment\": \"以附件形式傳送報價\",\n        \"estimate_email_attachment_setting_description\": \"啟用此項, 如果你要以附件形式傳送報價. 如選擇此項, 「檢視報價」按扭將不會在電郵中顯示.\",\n        \"estimate_settings_updated\": \"Estimate Settings updated successfully\",\n        \"convert_estimate_options\": \"Estimate Convert Action\",\n        \"convert_estimate_description\": \"Specify what happens to the estimate after it gets converted to an invoice.\",\n        \"no_action\": \"No action\",\n        \"delete_estimate\": \"Delete estimate\",\n        \"mark_estimate_as_accepted\": \"Mark estimate as accepted\"\n      },\n      \"payments\": {\n        \"title\": \"付款\",\n        \"payment_number_format\": \"Payment Number Format\",\n        \"payment_number_format_description\": \"Customize how your payment number gets generated automatically when you create a new payment.\",\n        \"preview_payment_number\": \"Preview Payment Number\",\n        \"default_formats\": \"Default Formats\",\n        \"default_formats_description\": \"Below given formats are used to fill up the fields automatically on payment creation.\",\n        \"default_payment_email_body\": \"預設付款電郵內容\",\n        \"company_address_format\": \"公司地址格式\",\n        \"from_customer_address_format\": \"客戶地址格式\",\n        \"payment_email_attachment\": \"以附件形式傳送付款\",\n        \"payment_email_attachment_setting_description\": \"啟用此項, 如果你要以附件形式傳送付款收據. 如選擇此項, 「檢視付款」按扭將不會在電郵中顯示.\",\n        \"payment_settings_updated\": \"Payment Settings updated successfully\"\n      },\n      \"items\": {\n        \"title\": \"商品\",\n        \"units\": \"單位\",\n        \"add_item_unit\": \"加入商品單位\",\n        \"edit_item_unit\": \"編輯商品單位\",\n        \"unit_name\": \"單位名稱\",\n        \"item_unit_added\": \"已新增商品單位\",\n        \"item_unit_updated\": \"已更新商品單位\",\n        \"item_unit_confirm_delete\": \"你將無法恢復此商品單位\",\n        \"already_in_use\": \"商品單位已在使用\",\n        \"deleted_message\": \"成功刪除商品單位\"\n      },\n      \"notes\": {\n        \"title\": \"備註\",\n        \"description\": \"保存備註可在發票, 報價和付款上重覆使用.\",\n        \"notes\": \"備註\",\n        \"type\": \"類型\",\n        \"add_note\": \"加入備註\",\n        \"add_new_note\": \"新增備註\",\n        \"name\": \"名稱\",\n        \"edit_note\": \"編輯備註\",\n        \"note_added\": \"成功加入備註\",\n        \"note_updated\": \"成功更新備註\",\n        \"note_confirm_delete\": \"你將無法恢復此備註\",\n        \"already_in_use\": \"此備註已在使用\",\n        \"deleted_message\": \"成功刪除備註\"\n      }\n    },\n    \"account_settings\": {\n      \"profile_picture\": \"用戶個人相片\",\n      \"name\": \"名稱\",\n      \"email\": \"電郵\",\n      \"password\": \"密碼\",\n      \"confirm_password\": \"確認密碼\",\n      \"account_settings\": \"帳戶設定\",\n      \"save\": \"儲存\",\n      \"section_description\": \"你可在以下更新你的名稱, 電郵及密碼.\",\n      \"updated_message\": \"成功更新帳戶設定\"\n    },\n    \"user_profile\": {\n      \"name\": \"名稱\",\n      \"email\": \"電郵\",\n      \"password\": \"密碼\",\n      \"confirm_password\": \"確認密碼\"\n    },\n    \"notification\": {\n      \"title\": \"通知\",\n      \"email\": \"發送通知給\",\n      \"description\": \"請輸入接收通知的電郵\",\n      \"invoice_viewed\": \"已檢視的發票\",\n      \"invoice_viewed_desc\": \"客戶於何時閱讀發票\",\n      \"estimate_viewed\": \"報價已讀\",\n      \"estimate_viewed_desc\": \"客戶於何時閱讀報價\",\n      \"save\": \"儲存\",\n      \"email_save_message\": \"成功保存郵件\",\n      \"please_enter_email\": \"請輸入電郵\"\n    },\n    \"roles\": {\n      \"title\": \"Roles\",\n      \"description\": \"Manage the roles & permissions of this company\",\n      \"save\": \"Save\",\n      \"add_new_role\": \"Add New Role\",\n      \"role_name\": \"Role Name\",\n      \"added_on\": \"Added on\",\n      \"add_role\": \"Add Role\",\n      \"edit_role\": \"Edit Role\",\n      \"name\": \"Name\",\n      \"permission\": \"Permission | Permissions\",\n      \"select_all\": \"Select All\",\n      \"none\": \"None\",\n      \"confirm_delete\": \"You will not be able to recover this Role\",\n      \"created_message\": \"Role created successfully\",\n      \"updated_message\": \"Role updated successfully\",\n      \"deleted_message\": \"Role deleted successfully\",\n      \"already_in_use\": \"Role is already in use\"\n    },\n    \"exchange_rate\": {\n      \"exchange_rate\": \"Exchange Rate\",\n      \"title\": \"Fix Currency Exchange issues\",\n      \"description\": \"Please enter exchange rate of all the currencies mentioned below to help Crater properly calculate the amounts in {currency}.\",\n      \"drivers\": \"Drivers\",\n      \"new_driver\": \"Add New Provider\",\n      \"edit_driver\": \"Edit Provider\",\n      \"select_driver\": \"Select Driver\",\n      \"update\": \"select exchange rate \",\n      \"providers_description\": \"Configure your exchange rate providers here to automatically fetch the latest exchange rate on transactions.\",\n      \"key\": \"API Key\",\n      \"name\": \"Name\",\n      \"driver\": \"Driver\",\n      \"is_default\": \"IS DEFAULT\",\n      \"currency\": \"Currencies\",\n      \"exchange_rate_confirm_delete\": \"You will not be able to recover this driver\",\n      \"created_message\": \"Provider Created successfully\",\n      \"updated_message\": \"Provider Updated Successfully\",\n      \"deleted_message\": \"Provider Deleted Successfully\",\n      \"error\": \" You cannot Delete Active Driver\",\n      \"default_currency_error\": \"This currency is already used in one of the Active Provider\",\n      \"exchange_help_text\": \"Enter exchange rate to convert from {currency} to {baseCurrency}\",\n      \"currency_freak\": \"Currency Freak\",\n      \"currency_layer\": \"Currency Layer\",\n      \"open_exchange_rate\": \"Open Exchange Rate\",\n      \"currency_converter\": \"Currency Converter\",\n      \"server\": \"Server\",\n      \"url\": \"URL\",\n      \"active\": \"Active\",\n      \"currency_help_text\": \"This provider will only be used on above selected currencies\",\n      \"currency_in_used\": \"The following currencies are already active on another provider. Please remove these currencies from selection to activate this provider again.\"\n    },\n    \"tax_types\": {\n      \"title\": \"稅收類型\",\n      \"add_tax\": \"加入稅項\",\n      \"edit_tax\": \"編輯稅項\",\n      \"description\": \"你可以新增或移除稅項. Crater支持獨立稅項.\",\n      \"add_new_tax\": \"新增稅項\",\n      \"tax_settings\": \"稅項設定\",\n      \"tax_per_item\": \"商品稅項\",\n      \"tax_name\": \"稅項名稱\",\n      \"compound_tax\": \"複合稅\",\n      \"percent\": \"百分比\",\n      \"action\": \"操作\",\n      \"tax_setting_description\": \"啟用此項, 如果你要將稅項以每個獨立商品計算. 預設稅項以整單發票計算.\",\n      \"created_message\": \"成功新增稅項類型\",\n      \"updated_message\": \"成功更新稅項類型\",\n      \"deleted_message\": \"成功刪除稅項類型\",\n      \"confirm_delete\": \"你將無法恢復此稅項類型\",\n      \"already_in_use\": \"此稅項已在使用\"\n    },\n    \"payment_modes\": {\n      \"title\": \"Payment Modes\",\n      \"description\": \"Modes of transaction for payments\",\n      \"add_payment_mode\": \"Add Payment Mode\",\n      \"edit_payment_mode\": \"Edit Payment Mode\",\n      \"mode_name\": \"Mode Name\",\n      \"payment_mode_added\": \"Payment Mode Added\",\n      \"payment_mode_updated\": \"Payment Mode Updated\",\n      \"payment_mode_confirm_delete\": \"You will not be able to recover this Payment Mode\",\n      \"payments_attached\": \"This payment method is already attached to payments. Please delete the attached payments to proceed with deletion.\",\n      \"expenses_attached\": \"This payment method is already attached to expenses. Please delete the attached expenses to proceed with deletion.\",\n      \"deleted_message\": \"Payment Mode deleted successfully\"\n    },\n    \"expense_category\": {\n      \"title\": \"支出類別\",\n      \"action\": \"操作\",\n      \"description\": \"新增支出需要類別. 請先新增或移除類別.\",\n      \"add_new_category\": \"新增類別\",\n      \"add_category\": \"加入分類\",\n      \"edit_category\": \"編輯分類\",\n      \"category_name\": \"分類名稱\",\n      \"category_description\": \"詳情\",\n      \"created_message\": \"成功新增支出分類\",\n      \"deleted_message\": \"成功刪除支出分類\",\n      \"updated_message\": \"成功更新支出分類\",\n      \"confirm_delete\": \"你將無法恢復此支出分類\",\n      \"already_in_use\": \"此分類已在使用\"\n    },\n    \"preferences\": {\n      \"currency\": \"貨幣\",\n      \"default_language\": \"預設語言\",\n      \"time_zone\": \"時區\",\n      \"fiscal_year\": \"財政年度\",\n      \"date_format\": \"日期格式\",\n      \"discount_setting\": \"折扣設定\",\n      \"discount_per_item\": \"商品折扣\",\n      \"discount_setting_description\": \"啟用此項, 如果你要將折扣以每個獨立商品計算. 預設折扣以整單發票計算.\",\n      \"expire_public_links\": \"Automatically Expire Public Links\",\n      \"expire_setting_description\": \"Specify whether you would like to expire all the links sent by application to view invoices, estimates & payments, etc after a specified duration.\",\n      \"save\": \"儲存\",\n      \"preference\": \"偏好設定 | 偏好設定\",\n      \"general_settings\": \"系統預設偏好設定\",\n      \"updated_message\": \"成功更新偏好設定\",\n      \"select_language\": \"選取語言\",\n      \"select_time_zone\": \"選取時區\",\n      \"select_date_format\": \"選擇日期格式\",\n      \"select_financial_year\": \"選擇財政年度\",\n      \"recurring_invoice_status\": \"Recurring Invoice Status\",\n      \"create_status\": \"Create Status\",\n      \"active\": \"Active\",\n      \"on_hold\": \"On Hold\",\n      \"update_status\": \"Update Status\",\n      \"completed\": \"Completed\",\n      \"company_currency_unchangeable\": \"Company currency cannot be changed\"\n    },\n    \"update_app\": {\n      \"title\": \"更新 App\",\n      \"description\": \"你可以點擊下方按鈕更新Crater\",\n      \"check_update\": \"檢查更新\",\n      \"avail_update\": \"有新更新可用\",\n      \"next_version\": \"下一版本\",\n      \"requirements\": \"要求\",\n      \"update\": \"立即更新\",\n      \"update_progress\": \"正在更新。。。\",\n      \"progress_text\": \"這會花費數分鐘. 請不要刷新螢幕或關閉視窗, 請耐心等待直至更新完成.\",\n      \"update_success\": \"App 已完成更新! 請等待直至你的視窗自動刷新.\",\n      \"latest_message\": \"沒有可用的更新。您正執行最新版的程式。\",\n      \"current_version\": \"當前版本\",\n      \"download_zip_file\": \"下載ZIP檔案\",\n      \"unzipping_package\": \"解壓檔案\",\n      \"copying_files\": \"複製文件\",\n      \"deleting_files\": \"刪除沒用文件中\",\n      \"running_migrations\": \"正在執行整合\",\n      \"finishing_update\": \"正完成更新\",\n      \"update_failed\": \"更新失敗\",\n      \"update_failed_text\": \"抱歉! 你的更新在這步驟中失敗: {step} step\",\n      \"update_warning\": \"All of the application files and default template files will be overwritten when you update the application using this utility. Please take a backup of your templates & database before updating.\"\n    },\n    \"backup\": {\n      \"title\": \"備份 | 備份\",\n      \"description\": \"此備份是ZIP壓縮檔, 包含所有檔案及數據庫資料\",\n      \"new_backup\": \"新增備份\",\n      \"create_backup\": \"建立備份\",\n      \"select_backup_type\": \"選擇備份類型\",\n      \"backup_confirm_delete\": \"你將無法恢復此備份\",\n      \"path\": \"路徑\",\n      \"new_disk\": \"新碰碟\",\n      \"created_at\": \"建立於\",\n      \"size\": \"大小\",\n      \"dropbox\": \"Dropbox\",\n      \"local\": \"本地\",\n      \"healthy\": \"健康\",\n      \"amount_of_backups\": \"備份大小\",\n      \"newest_backups\": \"最新的備份\",\n      \"used_storage\": \"使用的空間\",\n      \"select_disk\": \"選擇磁碟\",\n      \"action\": \"操作\",\n      \"deleted_message\": \"成功刪除備份\",\n      \"created_message\": \"成功新增備份\",\n      \"invalid_disk_credentials\": \"選擇的磁碟權限有誤\"\n    },\n    \"disk\": {\n      \"title\": \"檔案磁碟 | 檔案磁碟\",\n      \"description\": \"預設Crater會使用你本機作為資料備份. 你可設定多於一個磁碟如DigialOcean, S3 及 Dropbox.\",\n      \"created_at\": \"建立於\",\n      \"dropbox\": \"Dropbox\",\n      \"name\": \"名稱\",\n      \"driver\": \"驅動\",\n      \"disk_type\": \"類型\",\n      \"disk_name\": \"磁碟名稱\",\n      \"new_disk\": \"加入新的磁碟\",\n      \"filesystem_driver\": \"檔案系統驅動\",\n      \"local_driver\": \"本地驅動\",\n      \"local_root\": \"本地Root\",\n      \"public_driver\": \"公共驅動\",\n      \"public_root\": \"公共Root\",\n      \"public_url\": \"公共URL\",\n      \"public_visibility\": \"公共可見\",\n      \"media_driver\": \"媒體驅動\",\n      \"media_root\": \"媒體Root\",\n      \"aws_driver\": \"AWS驅動\",\n      \"aws_key\": \"AWS匙\",\n      \"aws_secret\": \"AWS金鑰\",\n      \"aws_region\": \"AWS區域\",\n      \"aws_bucket\": \"AWS Bucket\",\n      \"aws_root\": \"AWS Root\",\n      \"do_spaces_type\": \"Do Space 類型\",\n      \"do_spaces_key\": \"Do Space 匙\",\n      \"do_spaces_secret\": \"Do Spaces 金鑰\",\n      \"do_spaces_region\": \"Do Spaces 區域\",\n      \"do_spaces_bucket\": \"Do Spaces Bucket\",\n      \"do_spaces_endpoint\": \"Do Spaces 端點\",\n      \"do_spaces_root\": \"Do Spaces Root\",\n      \"dropbox_type\": \"Dropbox 類型\",\n      \"dropbox_token\": \"Dropbox 令牌\",\n      \"dropbox_key\": \"Dropbox 匙\",\n      \"dropbox_secret\": \"Dropbox 金鑰\",\n      \"dropbox_app\": \"Dropbox應用\",\n      \"dropbox_root\": \"Dropbox Root\",\n      \"default_driver\": \"預設驅動\",\n      \"is_default\": \"是預設\",\n      \"set_default_disk\": \"設為預設磁碟\",\n      \"set_default_disk_confirm\": \"此磁碟將會設為預設, 所有PDF將會保存到此磁碟\",\n      \"success_set_default_disk\": \"成功預設磁碟\",\n      \"save_pdf_to_disk\": \"保存PDF到磁碟\",\n      \"disk_setting_description\": \"啟動此項, 如果你想自動保存發票, 報價及付款收據的PDF備份到你預設的磁碟. 啟用此選項將會減慢你打開檢視PDF的速度.\",\n      \"select_disk\": \"選擇磁碟\",\n      \"disk_settings\": \"磁碟設定\",\n      \"confirm_delete\": \"你原來的檔案及資料夾將不受影響, 但你磁碟的設定將會刪除\",\n      \"action\": \"操作\",\n      \"edit_file_disk\": \"編輯檔案磁碟\",\n      \"success_create\": \"成功新增磁碟\",\n      \"success_update\": \"成功更新磁碟\",\n      \"error\": \"新增磁碟失敗\",\n      \"deleted_message\": \"成功刪除磁碟\",\n      \"disk_variables_save_successfully\": \"成功設定磁碟\",\n      \"disk_variables_save_error\": \"設定磁碟失敗\",\n      \"invalid_disk_credentials\": \"選擇的磁碟權限有誤\"\n    },\n    \"taxations\": {\n      \"add_billing_address\": \"Enter Billing Address\",\n      \"add_shipping_address\": \"Enter Shipping Address\",\n      \"add_company_address\": \"Enter Company Address\",\n      \"modal_description\": \"The information below is required in order to fetch sales tax.\",\n      \"add_address\": \"Add Address for fetching sales tax.\",\n      \"address_placeholder\": \"Example: 123, My Street\",\n      \"city_placeholder\": \"Example: Los Angeles\",\n      \"state_placeholder\": \"Example: CA\",\n      \"zip_placeholder\": \"Example: 90024\",\n      \"invalid_address\": \"Please provide valid address details.\"\n    }\n  },\n  \"wizard\": {\n    \"account_info\": \"帳號資料\",\n    \"account_info_desc\": \"以下詳情將會用作建立主要管理員帳戶. 你可以在登入後隨時修改.\",\n    \"name\": \"名稱\",\n    \"email\": \"電郵\",\n    \"password\": \"密碼\",\n    \"confirm_password\": \"確認密碼\",\n    \"save_cont\": \"儲存並繼續\",\n    \"company_info\": \"公司資料\",\n    \"company_info_desc\": \"此資料會在發票上顯示. 你可以稍後在設定頁修改.\",\n    \"company_name\": \"公司名稱\",\n    \"company_logo\": \"公司Logo\",\n    \"logo_preview\": \"預覽 Logo\",\n    \"preferences\": \"偏好設定\",\n    \"preferences_desc\": \"系統預設偏好設定\",\n    \"currency_set_alert\": \"The company's currency cannot be changed later.\",\n    \"country\": \"國家\",\n    \"state\": \"縣/市\",\n    \"city\": \"城市\",\n    \"address\": \"地址\",\n    \"street\": \"地址1 | 地址2\",\n    \"phone\": \"電話\",\n    \"zip_code\": \"郵遞區號\",\n    \"go_back\": \"返回\",\n    \"currency\": \"貨幣\",\n    \"language\": \"語言\",\n    \"time_zone\": \"時區\",\n    \"fiscal_year\": \"財政年度\",\n    \"date_format\": \"日期格式\",\n    \"from_address\": \"寄件人地址\",\n    \"username\": \"使用者名稱\",\n    \"next\": \"下一個\",\n    \"continue\": \"繼續\",\n    \"skip\": \"略過\",\n    \"database\": {\n      \"database\": \"網址及數據庫\",\n      \"connection\": \"資料庫連線\",\n      \"host\": \"數據庫伺服器\\b\",\n      \"port\": \"數據庫伺服器端口\",\n      \"password\": \"資料庫密碼\",\n      \"app_url\": \"App 網址\",\n      \"app_domain\": \"App 網域名稱\",\n      \"username\": \"數據庫用戶名\",\n      \"db_name\": \"資料庫名稱\",\n      \"db_path\": \"資料庫位置\",\n      \"desc\": \"在以下伺服器上建立數據庫及設定信用\"\n    },\n    \"permissions\": {\n      \"permissions\": \"權限\",\n      \"permission_confirm_title\": \"你確定要繼續嗎?\",\n      \"permission_confirm_desc\": \"資料夾權限檢測失敗\",\n      \"permission_desc\": \"請開放以下資料夾的權限讓App繼續. 如果\\b檢測失敗, 請更新資料夾權限.\"\n    },\n    \"verify_domain\": {\n      \"title\": \"域名驗證\",\n      \"desc\": \"Crater使用的會話驗證因安全考量需要域名\\b核實. 請輸入你的域名以便你存取你應用.\",\n      \"app_domain\": \"App 網域名稱\",\n      \"verify_now\": \"立即檢驗\",\n      \"success\": \"成功驗證域名\",\n      \"failed\": \"Domain verification failed. Please enter valid domain name.\",\n      \"verify_and_continue\": \"驗證及繼續\"\n    },\n    \"mail\": {\n      \"host\": \"電郵主機\",\n      \"port\": \"電郵端口\",\n      \"driver\": \"電郵驅動\",\n      \"secret\": \"金鑰\",\n      \"mailgun_secret\": \"Mailgun 金鑰\",\n      \"mailgun_domain\": \"網域\",\n      \"mailgun_endpoint\": \"Mailgun \\bendpoint\",\n      \"ses_secret\": \"SES 金鑰\",\n      \"ses_key\": \"SES 匙\",\n      \"password\": \"郵件密碼\",\n      \"username\": \"郵件登入名稱\",\n      \"mail_config\": \"郵件設定\",\n      \"from_name\": \"郵件傳送名稱\",\n      \"from_mail\": \"郵件傳送地址\",\n      \"encryption\": \"郵件加密\",\n      \"mail_config_desc\": \"下列可以設定外送郵件設置. 你亦可使用第三方的郵件服務如Sendgrid, SES 等.\"\n    },\n    \"req\": {\n      \"system_req\": \"系統需求\",\n      \"php_req_version\": \"最小的php版本(需要{version})\",\n      \"check_req\": \"檢查需求\",\n      \"system_req_desc\": \"Crater對伺服器有少許需求. 請檢查以下的php版本及\\b擴展是否吻合.\"\n    },\n    \"errors\": {\n      \"migrate_failed\": \"遷移失敗\",\n      \"database_variables_save_error\": \"未能寫入設定到 .env 檔案. 請檢查檔案權限\",\n      \"mail_variables_save_error\": \"電郵設定失敗\",\n      \"connection_failed\": \"數據庫連接失敗\",\n      \"database_should_be_empty\": \"數據庫應為空\"\n    },\n    \"success\": {\n      \"mail_variables_save_successfully\": \"成功設定電郵\",\n      \"database_variables_save_successfully\": \"成功設定數據庫\"\n    }\n  },\n  \"validation\": {\n    \"invalid_phone\": \"無效的電話號碼\",\n    \"invalid_url\": \"無較URL(ex: http://www.crater.com)\",\n    \"invalid_domain_url\": \"無較URL(ex: crater.com)\",\n    \"required\": \"此欄位為必需\",\n    \"email_incorrect\": \"電郵錯誤\",\n    \"email_already_taken\": \"此電郵已被使用\",\n    \"email_does_not_exist\": \"沒有使用此電子郵件的用戶\",\n    \"item_unit_already_taken\": \"此商品單位已經被使用.\",\n    \"payment_mode_already_taken\": \"此付款方式名稱已經被使用.\",\n    \"send_reset_link\": \"發送重設連結\",\n    \"not_yet\": \"沒有收到? 再次傳送\",\n    \"password_min_length\": \"密碼必須包含 {count} 字元\",\n    \"name_min_length\": \"名稱必須包含 {count} 字元\",\n    \"prefix_min_length\": \"Prefix must have at least {count} letters.\",\n    \"enter_valid_tax_rate\": \"輸入正確稅率\",\n    \"numbers_only\": \"只可使用數字\",\n    \"characters_only\": \"只可使用字母\",\n    \"password_incorrect\": \"密碼必須相同\",\n    \"password_length\": \"密碼必須至少為 {count} 個字元長度\",\n    \"qty_must_greater_than_zero\": \"數量必須是大於零\",\n    \"price_greater_than_zero\": \"價格必須大於零\",\n    \"payment_greater_than_zero\": \"付款必須大於零\",\n    \"payment_greater_than_due_amount\": \"輸入的付款大於發票的總額\",\n    \"quantity_maxlength\": \"數量不應大於20個位\",\n    \"price_maxlength\": \"單價不應大於20個位\",\n    \"price_minvalue\": \"單價應大於零\",\n    \"amount_maxlength\": \"總額不應大於20個位\",\n    \"amount_minvalue\": \"總額應大於零\",\n    \"discount_maxlength\": \"Discount should not be greater than max discount\",\n    \"description_maxlength\": \"詳情不應大於65000個字元\",\n    \"subject_maxlength\": \"主題不應大於100個字元\",\n    \"message_maxlength\": \"訊息不應大於255個字元\",\n    \"maximum_options_error\": \"超過最多可使用的 {max} 選項. 請先移除一些選項再選.\",\n    \"notes_maxlength\": \"備註不應大於65,000個字元\",\n    \"address_maxlength\": \"地址不應大於255個字元\",\n    \"ref_number_maxlength\": \"相關號碼不應大於255個字元\",\n    \"prefix_maxlength\": \"前輟不應大於5個字元\",\n    \"something_went_wrong\": \"出現錯誤\",\n    \"number_length_minvalue\": \"數值必須大於0\",\n    \"at_least_one_ability\": \"Please select atleast one Permission.\",\n    \"valid_driver_key\": \"Please enter a valid {driver} key.\",\n    \"valid_exchange_rate\": \"Please enter a valid exchange rate.\",\n    \"company_name_not_same\": \"Company name must match with given name.\"\n  },\n  \"errors\": {\n    \"starter_plan\": \"This feature is available on Starter plan and onwards!\",\n    \"invalid_provider_key\": \"Please Enter Valid Provider API Key.\",\n    \"estimate_number_used\": \"The estimate number has already been taken.\",\n    \"invoice_number_used\": \"The invoice number has already been taken.\",\n    \"payment_attached\": \"This invoice already has a payment attached to it. Make sure to delete the attached payments first in order to go ahead with the removal.\",\n    \"payment_number_used\": \"The payment number has already been taken.\",\n    \"name_already_taken\": \"The name has already been taken.\",\n    \"receipt_does_not_exist\": \"Receipt does not exist.\",\n    \"customer_cannot_be_changed_after_payment_is_added\": \"Customer cannot be change after payment is added\",\n    \"invalid_credentials\": \"Invalid  Credentials.\",\n    \"not_allowed\": \"Not Allowed\",\n    \"login_invalid_credentials\": \"These credentials do not match our records.\",\n    \"enter_valid_cron_format\": \"Please enter a valid cron format\",\n    \"email_could_not_be_sent\": \"Email could not be sent to this email address.\",\n    \"invalid_address\": \"Please enter a valid address.\",\n    \"invalid_key\": \"Please enter valid key.\",\n    \"invalid_state\": \"Please enter a valid state.\",\n    \"invalid_city\": \"Please enter a valid city.\",\n    \"invalid_postal_code\": \"Please enter a valid zip.\",\n    \"invalid_format\": \"Please enter valid query string format.\",\n    \"api_error\": \"Server not responding.\",\n    \"feature_not_enabled\": \"Feature not enabled.\",\n    \"request_limit_met\": \"Api request limit exceeded.\",\n    \"address_incomplete\": \"Incomplete Address\"\n  },\n  \"pdf_estimate_label\": \"報價\",\n  \"pdf_estimate_number\": \"報價單號\",\n  \"pdf_estimate_date\": \"報價日期\",\n  \"pdf_estimate_expire_date\": \"有效日期\",\n  \"pdf_invoice_label\": \"發票\",\n  \"pdf_invoice_number\": \"發票號碼\",\n  \"pdf_invoice_date\": \"發票日期\",\n  \"pdf_invoice_due_date\": \"截止日期\",\n  \"pdf_notes\": \"備註\",\n  \"pdf_items_label\": \"商品\",\n  \"pdf_quantity_label\": \"數量\",\n  \"pdf_price_label\": \"價格\",\n  \"pdf_discount_label\": \"折扣\",\n  \"pdf_amount_label\": \"總額\",\n  \"pdf_subtotal\": \"小計\",\n  \"pdf_total\": \"總共\",\n  \"pdf_payment_label\": \"付款\",\n  \"pdf_payment_receipt_label\": \"付款收據\",\n  \"pdf_payment_date\": \"付款日期\",\n  \"pdf_payment_number\": \"付款號碼\",\n  \"pdf_payment_mode\": \"付款方式\",\n  \"pdf_payment_amount_received_label\": \"收到的金額\",\n  \"pdf_expense_report_label\": \"支出報告\",\n  \"pdf_total_expenses_label\": \"支出總額\",\n  \"pdf_profit_loss_label\": \"營利及虧損報告\",\n  \"pdf_sales_customers_label\": \"銷售客戶報告\",\n  \"pdf_sales_items_label\": \"銷售商品報告\",\n  \"pdf_tax_summery_label\": \"稅項總結報告\",\n  \"pdf_income_label\": \"收入\",\n  \"pdf_net_profit_label\": \"淨收入\",\n  \"pdf_customer_sales_report\": \"銷售報告: 以客戶\",\n  \"pdf_total_sales_label\": \"總銷售\",\n  \"pdf_item_sales_label\": \"銷售報告: 以商品\",\n  \"pdf_tax_report_label\": \"稅項報告\",\n  \"pdf_total_tax_label\": \"稅項總額\",\n  \"pdf_tax_types_label\": \"稅收類型\",\n  \"pdf_expenses_label\": \"支出\",\n  \"pdf_bill_to\": \"帳單地址,\",\n  \"pdf_ship_to\": \"送貨地址,\",\n  \"pdf_received_from\": \"接收自\",\n  \"pdf_tax_label\": \"Tax\"\n}\n"
  },
  {
    "path": "resources/scripts/main.js",
    "content": "import '../sass/crater.scss'\nimport 'v-tooltip/dist/v-tooltip.css'\nimport '@/scripts/plugins/axios.js'\nimport * as VueRouter from 'vue-router'\nimport router from '@/scripts/router/index'\nimport * as pinia from 'pinia'\nimport * as Vue from 'vue'\nimport * as Vuelidate from '@vuelidate/core'\n\nwindow.pinia = pinia\nwindow.Vuelidate = Vuelidate\n\nimport Crater from './Crater'\n\nwindow.Vue = Vue\nwindow.router = router\nwindow.VueRouter = VueRouter\n\nwindow.Crater = new Crater()\n"
  },
  {
    "path": "resources/scripts/plugins/axios.js",
    "content": "import axios from 'axios'\nimport Ls from '@/scripts/services/ls.js'\n\nwindow.Ls = Ls\nwindow.axios = axios\naxios.defaults.withCredentials = true\n\naxios.defaults.headers.common = {\n  'X-Requested-With': 'XMLHttpRequest',\n}\n\n/**\n * Interceptors\n */\n\naxios.interceptors.request.use(function (config) {\n  // Pass selected company to header on all requests\n  const companyId = Ls.get('selectedCompany')\n\n  const authToken = Ls.get('auth.token')\n\n  if (authToken) {\n    config.headers.common.Authorization = authToken\n  }\n\n  if (companyId) {\n    config.headers.common['company'] = companyId\n  }\n\n  return config\n})\n"
  },
  {
    "path": "resources/scripts/plugins/i18n.js",
    "content": "import { createI18n } from 'vue-i18n'\n\nexport default (messages) => {\n  return createI18n({\n    locale: 'en',\n    fallbackLocale: 'en',\n    messages\n  })\n}\n"
  },
  {
    "path": "resources/scripts/router/index.js",
    "content": "import { createRouter, createWebHistory } from 'vue-router'\nimport { useUserStore } from '@/scripts/admin/stores/user'\nimport { useGlobalStore } from '@/scripts/admin/stores/global'\n\n//admin routes\nimport AdminRoutes from '@/scripts/admin/admin-router'\n//  Customers routes\nimport CustomerRoutes from '@/scripts/customer/customer-router'\n//Payment Routes\n\nlet routes = []\nroutes = routes.concat(AdminRoutes, CustomerRoutes)\n\nconst router = createRouter({\n  history: createWebHistory(),\n  linkActiveClass: 'active',\n  routes,\n})\n\nrouter.beforeEach((to, from, next) => {\n  const userStore = useUserStore()\n  const globalStore = useGlobalStore()\n  let ability = to.meta.ability\n  const { isAppLoaded } = globalStore\n\n  if (ability && isAppLoaded && to.meta.requiresAuth) {\n    if (userStore.hasAbilities(ability)) {\n      next()\n    } else next({ name: 'account.settings' })\n  } else if (to.meta.isOwner && isAppLoaded) {\n    if (userStore.currentUser.is_owner) {\n      next()\n    } else next({ name: 'dashboard' })\n  } else {\n    next()\n  }\n})\n\nexport default router\n"
  },
  {
    "path": "resources/scripts/services/ls.js",
    "content": "export default {\n  get(key) {\n    return localStorage.getItem(key) ? localStorage.getItem(key) : null\n  },\n\n  set(key, val) {\n    localStorage.setItem(key, val)\n  },\n\n  remove(key) {\n    localStorage.removeItem(key)\n  },\n}\n"
  },
  {
    "path": "resources/scripts/shims-vue.d.ts",
    "content": "// This is required for Visual Studio Code to recognize\n// imported .vue files\ndeclare module '*.vue' {\n  import { DefineComponent } from 'vue'\n  const component: DefineComponent<{}, {}, any>\n  export default component\n}\n"
  },
  {
    "path": "resources/scripts/stores/dialog.js",
    "content": "import { defineStore } from 'pinia'\n\nexport const useDialogStore = (useWindow = false) => {\n  const defineStoreFunc = useWindow ? window.pinia.defineStore : defineStore\n  const { global } = window.i18n\n\n  return defineStoreFunc({\n    id: 'dialog',\n    state: () => ({\n      active: false,\n      title: '',\n      message: '',\n      size: 'md',\n      data: null,\n      variant: 'danger', // primary || danger\n      yesLabel: global.t('settings.custom_fields.yes'),\n      noLabel: global.t('settings.custom_fields.no'),\n      noLabel: 'No',\n      resolve: null,\n      hideNoButton: false,\n    }),\n    actions: {\n      openDialog(data) {\n        this.active = true\n        this.title = data.title\n        this.message = data.message\n        this.size = data.size\n        this.data = data.data\n        this.variant = data.variant\n        this.yesLabel = data.yesLabel\n        this.noLabel = data.noLabel\n        this.hideNoButton = data.hideNoButton\n\n        return new Promise((resolve, reject) => {\n          this.resolve = resolve\n        })\n      },\n      closeDialog() {\n        this.active = false\n\n        setTimeout(() => {\n          this.title = ''\n          this.message = ''\n          this.data = null\n        }, 300)\n      },\n    },\n  })()\n}\n"
  },
  {
    "path": "resources/scripts/stores/modal.js",
    "content": "import { defineStore } from 'pinia'\n\nexport const useModalStore = (useWindow = false) => {\n  const defineStoreFunc = useWindow ? window.pinia.defineStore : defineStore\n  const { global } = window.i18n\n\n  return defineStoreFunc({\n    id: 'modal',\n\n    state: () => ({\n      active: false,\n      content: '',\n      title: '',\n      componentName: '',\n      id: '',\n      size: 'md',\n      data: null,\n      refreshData: null,\n      variant: '',\n    }),\n\n    getters: {\n      isEdit() {\n        return (this.id ? true : false)\n      }\n    },\n\n    actions: {\n      openModal(payload) {\n        this.componentName = payload.componentName\n        this.active = true\n\n        if (payload.id) {\n          this.id = payload.id\n        }\n\n        this.title = payload.title\n        if (payload.content) {\n          this.content = payload.content\n        }\n\n        if (payload.data) {\n          this.data = payload.data\n        }\n\n        if (payload.refreshData) {\n          this.refreshData = payload.refreshData\n        }\n\n        if (payload.variant) {\n          this.variant = payload.variant\n        }\n\n        if (payload.size) {\n          this.size = payload.size\n        }\n      },\n\n      resetModalData() {\n        this.content = ''\n        this.title = ''\n        this.componentName = ''\n        this.id = ''\n        this.data = null\n        this.refreshData = null\n      },\n\n      closeModal() {\n        this.active = false\n\n        setTimeout(() => {\n          this.resetModalData()\n        }, 300)\n      }\n    }\n  })()\n}\n"
  },
  {
    "path": "resources/scripts/stores/notification.js",
    "content": "import { defineStore } from 'pinia'\n\nexport const useNotificationStore = (useWindow = false) => {\n  const defineStoreFunc = useWindow ? window.pinia.defineStore : defineStore\n\n  return defineStoreFunc({\n    id: 'notification',\n\n    state: () => ({\n      active: false,\n      autoHide: true,\n      notifications: [],\n    }),\n\n    actions: {\n      showNotification(notification) {\n        this.notifications.push({\n          ...notification,\n          id: (Math.random().toString(36) + Date.now().toString(36)).substr(2),\n        })\n      },\n\n      hideNotification(data) {\n        this.notifications = this.notifications.filter((notification) => {\n          return notification.id != data.id\n        })\n      }\n    }\n  })()\n}\n"
  },
  {
    "path": "resources/views/app/pdf/estimate/estimate1.blade.php",
    "content": "<!DOCTYPE html>\n<html>\n\n<head>\n    <title>@lang('pdf_estimate_label') - {{ $estimate->estimate_number }}</title>\n    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n\n    <style type=\"text/css\">\n        /* -- Base -- */\n        body {\n            font-family: \"DejaVu Sans\";\n        }\n\n        html {\n            margin: 0px;\n            padding: 0px;\n            margin-top: 50px;\n        }\n\n        table {\n            border-collapse: collapse;\n        }\n\n        hr {\n            margin: 0 30px 0 30px;\n            color: rgba(0, 0, 0, 0.2);\n            border: 0.5px solid #EAF1FB;\n        }\n\n        /* -- Header -- */\n\n        .header-container {\n            position: absolute;\n            width: 100%;\n            height: 90px;\n            left: 0px;\n            top: -50px;\n        }\n\n        .header-bottom-divider {\n            color: rgba(0, 0, 0, 0.2);\n            position: absolute;\n            top: 90px;\n            left: 0px;\n            width: 100%;\n        }\n\n        .header-logo {\n\n            margin-top: 20px;\n            text-transform: capitalize;\n            color: #817AE3;\n        }\n\n        .header {\n            font-size: 20px;\n            color: rgba(0, 0, 0, 0.7);\n        }\n\n        .wrapper {\n            display: block;\n            margin-top: 0px;\n            padding-top: 16px;\n            padding-bottom: 20px;\n        }\n\n        /* -- Company Details -- */\n\n        .company-details-container {\n            padding-top: 30px;\n        }\n\n        .company-address-container {\n            padding-top: 15px;\n            float: left;\n            padding-left: 30px;\n            width: 30%;\n            text-transform: capitalize;\n            margin-bottom: 2px;\n        }\n\n        .company-address-container {\n            padding-left: 30px;\n            float: left;\n            width: 30%;\n            text-transform: capitalize;\n            margin-bottom: 2px;\n        }\n\n        .company-address-container h1 {\n            font-size: 15px;\n            line-height: 22px;\n            letter-spacing: 0.05em;\n            margin-bottom: 0px;\n            margin-top: 10px;\n        }\n\n        .company-address {\n            margin-top: 2px;\n            text-align: left;\n            font-size: 12px;\n            line-height: 15px;\n            color: #595959;\n            width: 280px;\n            word-wrap: break-word;\n        }\n\n        .estimate-details-container {\n            float: right;\n            padding: 10px 30px 0 0;\n        }\n\n        .attribute-label {\n            font-size: 12px;\n            line-height: 18px;\n            padding-right: 40px;\n            text-align: left;\n            color: #55547A\n        }\n\n        .attribute-value {\n            font-size: 12px;\n            line-height: 18px;\n            text-align: right;\n        }\n\n        /* -- Customer Address -- */\n\n        .customer-address-container {\n            width: 45%;\n            padding: 0px 0 0 0px;\n        }\n\n        /* -- Shipping -- */\n\n        .shipping-address-container {\n            float: right;\n            padding-left: 40px;\n            width: 160px;\n        }\n\n        .shipping-address-container--left {\n            float: left;\n            padding-left: 0px;\n        }\n\n        .shipping-address-label {\n            font-size: 12px;\n            line-height: 18px;\n            padding: 0px;\n            margin-top: 27px;\n            margin-bottom: 0px;\n        }\n\n        .shipping-address-name {\n            max-width: 160px;\n            font-size: 15px;\n            line-height: 22px;\n            padding: 0px;\n            margin: 0px;\n        }\n\n        .shipping-address {\n            font-size: 12px;\n            line-height: 15px;\n            color: #595959;\n            padding-top: 45px;\n            padding-left: 40px;\n            margin: 0px;\n            width: 160px;\n            word-wrap: break-word;\n        }\n\n        /* -- Billing -- */\n\n        .billing-address-container {\n            padding-top: 50px;\n            float: left;\n            padding-left: 30px;\n        }\n\n        .billing-address-label {\n            font-size: 12px;\n            line-height: 18px;\n            padding: 0px;\n            margin-top: 27px;\n            margin-bottom: 0px;\n        }\n\n        .billing-address-name {\n            max-width: 160px;\n            font-size: 15px;\n            line-height: 22px;\n            padding: 0px;\n            margin: 0px;\n        }\n\n        .billing-address {\n            font-size: 12px;\n            line-height: 15px;\n            color: #595959;\n            padding: 45px 0px 0px 30px;\n            margin: 0px;\n            width: 160px;\n            word-wrap: break-word;\n        }\n\n        /* -- Items Table -- */\n\n        .items-table {\n            margin-top: 35px;\n            padding: 0px 30px 10px 30px;\n            page-break-before: avoid;\n            page-break-after: auto;\n        }\n\n        .items-table hr {\n            height: 0.1px;\n        }\n\n        .item-table-heading {\n            font-size: 13.5;\n            text-align: center;\n            color: rgba(0, 0, 0, 0.85);\n            padding: 5px;\n            padding-bottom: 10px;\n        }\n\n        tr.item-table-heading-row th {\n            border-bottom: 0.620315px solid #E8E8E8;\n            font-size: 12px;\n            line-height: 18px;\n        }\n\n        .item-table-heading-row {\n            margin-bottom: 10px;\n        }\n\n        tr.item-row td {\n            font-size: 12px;\n            line-height: 18px;\n        }\n\n        .item-cell {\n            font-size: 13;\n            color: #040405;\n            text-align: center;\n            padding: 5px;\n            padding-top: 10px;\n            border-color: #d9d9d9;\n        }\n\n        .item-description {\n            color: #595959;\n            font-size: 9px;\n            line-height: 12px;\n        }\n\n        /* -- Total Display Table -- */\n\n        .total-display-container {\n            padding: 0 25px;\n\n        }\n\n        .total-display-table {\n            border-top: none;\n            box-sizing: border-box;\n            page-break-inside: avoid;\n            page-break-before: auto;\n            page-break-after: auto;\n            margin-top: 20px;\n            float: right;\n            width: auto;\n\n        }\n\n        .total-table-attribute-label {\n            font-size: 12px;\n            color: #55547A;\n            text-align: left;\n            padding-left: 10px;\n        }\n\n        .total-table-attribute-value {\n            font-weight: bold;\n            text-align: right;\n            font-size: 12px;\n            color: #040405;\n            padding-right: 10px;\n            padding-top: 2px;\n            padding-bottom: 2px;\n        }\n\n        .total-border-left {\n            border: 1px solid #E8E8E8 !important;\n            border-right: 0px !important;\n            padding-top: 0px;\n            padding: 8px !important;\n        }\n\n        .total-border-right {\n            border: 1px solid #E8E8E8 !important;\n            border-left: 0px !important;\n            padding-top: 0px;\n            padding: 8px !important;\n        }\n\n        /* -- Notes -- */\n\n        .notes {\n            font-size: 12px;\n            color: #595959;\n            margin-top: 80px;\n            margin-left: 30px;\n            width: 442px;\n            text-align: left;\n            page-break-inside: avoid;\n        }\n\n        .notes-label {\n            font-size: 15px;\n            line-height: 22px;\n            letter-spacing: 0.05em;\n            color: #040405;\n            width: 108px;\n            white-space: nowrap;\n            height: 19.87px;\n            padding-bottom: 10px;\n        }\n\n        /* -- Helpers -- */\n\n        .text-primary {\n            color: #5851DB;\n        }\n\n        .text-center {\n            text-align: center\n        }\n\n        table .text-left {\n            text-align: left;\n        }\n\n        table .text-right {\n            text-align: right;\n        }\n\n        .border-0 {\n            border: none;\n        }\n\n        .py-2 {\n            padding-top: 2px;\n            padding-bottom: 2px;\n        }\n\n        .py-8 {\n            padding-top: 8px;\n            padding-bottom: 8px;\n        }\n\n        .py-3 {\n            padding: 3px 0;\n        }\n\n        .pr-20 {\n            padding-right: 20px;\n        }\n\n        .pr-10 {\n            padding-right: 10px;\n        }\n\n        .pl-20 {\n            padding-left: 20px;\n        }\n\n        .pl-10 {\n            padding-left: 10px;\n        }\n\n        .pl-0 {\n            padding-left: 0;\n        }\n\n    </style>\n\n    @if (App::isLocale('th'))\n        @include('app.pdf.locale.th')\n    @endif\n</head>\n\n<body>\n    <div class=\"header-container\">\n        <table width=\"100%\">\n            <tr>\n                <td class=\"text-center\">\n                    @if ($logo)\n                        <img class=\"header-logo\" style=\"height: 50px;\" src=\"{{ $logo }}\" alt=\"Company Logo\">\n                    @else\n                        @if ($estimate->customer->company)\n                            <h2 class=\"header-logo\"> {{ $estimate->customer->company->name }} </h2>\n                        @endif\n                    @endif\n                </td>\n            </tr>\n        </table>\n        <hr class=\"header-bottom-divider\" />\n    </div>\n\n    <div class=\"wrapper\">\n        <div class=\"company-details-container\">\n            <div class=\"company-address-container company-address\">\n                {!! $company_address !!}\n            </div>\n\n            <div class=\"estimate-details-container\">\n                <table class=\"estimate-details-table\">\n                    <tr>\n                        <td class=\"attribute-label\">@lang('pdf_estimate_number')</td>\n                        <td class=\"attribute-value\"> &nbsp;{{ $estimate->estimate_number }}</td>\n                    </tr>\n                    <tr>\n                        <td class=\"attribute-label\">@lang('pdf_estimate_date')</td>\n                        <td class=\"attribute-value\"> &nbsp;{{ $estimate->formattedEstimateDate }}</td>\n                    </tr>\n                    <tr>\n                        <td class=\"attribute-label\">@lang('pdf_estimate_expire_date')</td>\n                        <td class=\"attribute-value\"> &nbsp;{{ $estimate->formattedExpiryDate }}</td>\n                    </tr>\n                </table>\n            </div>\n            <div style=\"clear: both;\"></div>\n        </div>\n\n        <div class=\"customer-address-container\">\n            @if ($billing_address !== '</br>')\n                <div class=\"billing-address-container billing-address\">\n                    @if ($billing_address)\n                        <b>@lang('pdf_bill_to')</b> <br>\n                        {!! $billing_address !!}\n                    @endif\n                </div>\n            @endif\n\n\n            <div @if ($billing_address !== '</br>') class=\"shipping-address-container shipping-address\" @else class=\"shipping-address-container--left shipping-address\" style=\"padding-left:30px;\" @endif>\n\n                @if ($shipping_address)\n                    <b>@lang('pdf_ship_to') </b> <br>\n                    {!! $shipping_address !!}\n                @endif\n            </div>\n\n            <div style=\"clear: both;\"></div>\n        </div>\n\n        <div style=\"position:relative\">\n            @include('app.pdf.estimate.partials.table')\n        </div>\n\n        <div class=\"notes\">\n            @if ($notes)\n                <div class=\"notes-label\">\n                    @lang('pdf_notes')\n                </div>\n\n                {!! $notes !!}\n            @endif\n        </div>\n    </div>\n</body>\n\n</html>\n"
  },
  {
    "path": "resources/views/app/pdf/estimate/estimate2.blade.php",
    "content": "<!DOCTYPE html>\n<html>\n\n<head>\n    <title>@lang('pdf_estimate_label') - {{ $estimate->estimate_number }}</title>\n    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n    <style type=\"text/css\">\n        /* -- Base -- */\n        body {\n            font-family: \"DejaVu Sans\";\n        }\n\n        html {\n            margin: 0px;\n            padding: 0px;\n            margin-top: 50px;\n        }\n\n        table {\n            border-collapse: collapse;\n        }\n\n        hr {\n            color: rgba(0, 0, 0, 0.2);\n            border: 0.5px solid #EAF1FB;\n        }\n\n        /* -- Header -- */\n\n        .header-container {\n            background: #817AE3;\n            position: absolute;\n            width: 100%;\n            height: 141px;\n            left: 0px;\n            top: -60px;\n        }\n\n        .header-section-left {\n            padding-top: 45px;\n            padding-bottom: 45px;\n            padding-left: 30px;\n            display: inline-block;\n            width: 30%;\n        }\n\n        .header-logo {\n            position: absolute;\n\n            text-transform: capitalize;\n            color: #fff;\n        }\n\n        .header-section-right {\n            display: inline-block;\n            width: 35%;\n            float: right;\n            padding: 20px 30px 20px 0px;\n            text-align: right;\n            color: white;\n        }\n\n        .header {\n            font-size: 20px;\n            color: rgba(0, 0, 0, 0.7);\n        }\n\n        /* -- Estimate Details -- */\n\n        .estimate-details-container {\n            text-align: center;\n            width: 40%;\n        }\n\n        .estimate-details-container h1 {\n            margin: 0;\n            font-size: 24px;\n            line-height: 36px;\n            text-align: right;\n            font-family: \"DejaVu Sans\";\n        }\n\n        .estimate-details-container h4 {\n            margin: 0;\n            font-size: 10px;\n            line-height: 15px;\n            text-align: right;\n        }\n\n        .estimate-details-container h3 {\n            margin-bottom: 1px;\n            margin-top: 0;\n        }\n\n        /* -- Address -- */\n\n        .content-wrapper {\n            display: block;\n            margin-top: 60px;\n            padding-bottom: 20px;\n        }\n\n        .address-container {\n            display: block;\n            padding-top: 20px;\n            margin-top: 10px;\n        }\n\n        /* -- Company Address -- */\n\n        .company-address-container {\n            padding: 0 0 0 30px;\n            display: inline;\n            float: left;\n            width: 30%;\n        }\n\n        .company-address-container {\n            padding-left: 30px;\n            float: left;\n            width: 30%;\n            text-transform: capitalize;\n            margin-bottom: 2px;\n        }\n\n        .company-address-container h1 {\n            font-size: 15px;\n            line-height: 22px;\n            letter-spacing: 0.05em;\n            margin-bottom: 0px;\n        }\n\n        .company-address {\n            margin-top: 2px;\n            text-align: left;\n            word-wrap: break-word;\n            font-size: 12px;\n            line-height: 15px;\n            color: #595959;\n        }\n\n        /* -- Billing -- */\n\n        .billing-address-container {\n            display: block;\n            /* position: absolute; */\n            float: right;\n            padding: 0 40px 0 0;\n        }\n\n        .billing-address-label {\n            font-size: 12px;\n            line-height: 18px;\n            padding: 0px;\n            margin-bottom: 0px;\n        }\n\n        .billing-address-name {\n            max-width: 160px;\n            font-size: 15px;\n            line-height: 22px;\n            padding: 0px;\n            margin-top: 0px;\n            margin-bottom: 0px;\n        }\n\n        .billing-address {\n            font-size: 10px;\n            line-height: 15px;\n            color: #595959;\n            padding: 0px;\n            margin: 0px;\n            width: 170px;\n            word-wrap: break-word;\n        }\n\n        /* -- Shipping -- */\n\n        .shipping-address-container {\n            display: block;\n            float: right;\n            padding: 0 30px 0 0;\n        }\n\n        .shipping-address-label {\n            font-size: 12px;\n            line-height: 18px;\n            padding: 0px;\n            margin-bottom: 0px;\n        }\n\n        .shipping-address-name {\n            max-width: 160px;\n            font-size: 15px;\n            line-height: 22px;\n            padding: 0px;\n            margin-top: 0px;\n            margin-bottom: 0px;\n        }\n\n        .shipping-address {\n            font-size: 10px;\n            line-height: 15px;\n            color: #595959;\n            padding: 0px 30px 0px 20px;\n            margin: 0px;\n            width: 170px;\n            word-wrap: break-word;\n        }\n\n        .attribute-label {\n            font-size: 12;\n            font-weight: bold;\n            line-height: 22px;\n            color: rgba(0, 0, 0, 0.8);\n        }\n\n        .attribute-value {\n            font-size: 12;\n            line-height: 22px;\n            color: rgba(0, 0, 0, 0.7);\n        }\n\n        /* -- Items Table -- */\n\n        .items-table {\n            padding: 30px 30px 10px 30px;\n            page-break-before: avoid;\n            page-break-after: auto;\n        }\n\n        .items-table hr {\n            height: 0.1px;\n            margin: 0 30px;\n        }\n\n        .item-table-heading {\n            font-size: 13.5;\n            text-align: center;\n            color: rgba(0, 0, 0, 0.85);\n            padding: 5px;\n        }\n\n        .item-table-heading-row td {\n            padding: 5px;\n            padding-bottom: 10px;\n        }\n\n        .item-table-heading-row {\n            border-bottom: 1px solid red;\n        }\n\n        tr.item-table-heading-row th {\n            border-bottom: 0.620315px solid #E8E8E8;\n            font-size: 12px;\n            line-height: 18px;\n        }\n\n        tr.item-row td {\n            font-size: 12px;\n            line-height: 18px;\n        }\n\n        .item-cell {\n            font-size: 13;\n            color: #040405;\n            text-align: center;\n            padding: 5px;\n            padding-top: 10px;\n        }\n\n        .item-description {\n            color: #595959;\n            font-size: 9px;\n            line-height: 12px;\n            page-break-inside: avoid;\n        }\n\n        /* -- Total Display Table -- */\n\n\n        .total-display-container {\n            padding: 0 25px;\n        }\n\n        .item-cell-table-hr {\n            margin: 0 25px 0 30px;\n        }\n\n        .total-display-table {\n            box-sizing: border-box;\n            page-break-inside: avoid;\n            page-break-before: auto;\n            page-break-after: auto;\n            margin-top: 20px;\n            float: right;\n            width: auto;\n        }\n\n        .total-table-attribute-label {\n            font-size: 12px;\n            color: #55547A;\n            text-align: left;\n            padding-left: 10px;\n        }\n\n        .total-table-attribute-value {\n            font-weight: bold;\n            text-align: right;\n            font-size: 12px;\n            color: #040405;\n            padding-right: 10px;\n            padding-top: 2px;\n            padding-bottom: 2px;\n        }\n\n        .total-border-left {\n            border: 1px solid #E8E8E8 !important;\n            border-right: 0px !important;\n            padding-top: 0px;\n            padding: 8px !important;\n        }\n\n        .total-border-right {\n            border: 1px solid #E8E8E8 !important;\n            border-left: 0px !important;\n            padding-top: 0px;\n            padding: 8px !important;\n        }\n\n        /* -- Notes -- */\n\n        .notes {\n            font-size: 12px;\n            color: #595959;\n            margin-top: 80px;\n            margin-left: 30px;\n            width: 442px;\n            text-align: left;\n            page-break-inside: avoid;\n        }\n\n        .notes-label {\n            font-size: 15px;\n            line-height: 22px;\n            letter-spacing: 0.05em;\n            color: #040405;\n            width: 108px;\n            white-space: nowrap;\n            height: 19.87px;\n            padding-bottom: 10px;\n        }\n\n        /* -- Helpers -- */\n\n        .text-primary {\n            color: #5851DB;\n        }\n\n        .text-center {\n            text-align: center\n        }\n\n        table .text-left {\n            text-align: left;\n        }\n\n        table .text-right {\n            text-align: right;\n        }\n\n        .border-0 {\n            border: none;\n        }\n\n        .py-2 {\n            padding-top: 2px;\n            padding-bottom: 2px;\n        }\n\n        .py-8 {\n            padding-top: 8px;\n            padding-bottom: 8px;\n        }\n\n        .py-3 {\n            padding: 3px 0;\n        }\n\n        .pr-20 {\n            padding-right: 20px;\n        }\n\n        .pr-10 {\n            padding-right: 10px;\n        }\n\n        .pl-20 {\n            padding-left: 20px;\n        }\n\n        .pl-10 {\n            padding-left: 10px;\n        }\n\n        .pl-0 {\n            padding-left: 0;\n        }\n\n    </style>\n\n    @if (App::isLocale('th'))\n        @include('app.pdf.locale.th')\n    @endif\n</head>\n\n<body>\n    <div class=\"header-container\">\n        <table width=\"100%\">\n            <tr>\n                @if ($logo)\n                    <td width=\"60%\" class=\"header-section-left\">\n                        <img class=\"header-logo\" style=\"height: 50px;\" src=\"{{ $logo }}\" alt=\"Company Logo\">\n                    </td>\n                @else\n                    <td width=\"60%\" class=\"header-section-left\" style=\"padding-top: 0px;\">\n                        @if ($estimate->customer->company)\n                            <h1 class=\"header-logo\"> {{ $estimate->customer->company->name }} </h1>\n                        @endif\n                    </td>\n                @endif\n                <td width=\"40%\" class=\"header-section-right estimate-details-container\">\n                    <h1>@lang('pdf_estimate_label')</h1>\n                    <h4>{{ $estimate->estimate_number }}</h4>\n                    <h4>{{ $estimate->formattedEstimateDate }}</h4>\n                </td>\n            </tr>\n        </table>\n    </div>\n    <hr>\n    <div class=\"content-wrapper\">\n        <div class=\"address-container\">\n            <div class=\"company-address-container company-address\">\n                {!! $company_address !!}\n            </div>\n\n            @if ($shipping_address !== '</br>')\n                <div class=\"shipping-address-container shipping-address\">\n                    @if ($shipping_address)\n                        <b>@lang('pdf_ship_to')</b> <br>\n                        {!! $shipping_address !!}\n                    @endif\n                </div>\n            @endif\n\n            <div class=\"billing-address-container billing-address\" @if ($shipping_address === '</br>') style=\"float:right; margin-right:30px;\" @endif>\n                @if ($billing_address)\n                    <b>@lang('pdf_bill_to')</b> <br>\n                    {!! $billing_address !!}\n                @endif\n            </div>\n            <div style=\"clear: both;\"></div>\n        </div>\n\n        @include('app.pdf.estimate.partials.table')\n\n        <div class=\"notes\">\n            @if ($notes)\n                <div class=\"notes-label\">\n                    @lang('pdf_notes')\n                </div>\n                {!! $notes !!}\n            @endif\n        </div>\n    </div>\n</body>\n\n</html>\n"
  },
  {
    "path": "resources/views/app/pdf/estimate/estimate3.blade.php",
    "content": "<!DOCTYPE html>\n<html>\n\n<head>\n    <title>@lang('pdf_estimate_label') - {{ $estimate->estimate_number }}</title>\n    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n\n    <style type=\"text/css\">\n        /* -- Base -- */\n        body {\n            font-family: \"DejaVu Sans\";\n        }\n\n        html {\n            margin: 0px;\n            padding: 0px;\n            margin-top: 50px;\n        }\n\n        table {\n            border-collapse: collapse;\n        }\n\n        hr {\n            color: rgba(0, 0, 0, 0.2);\n            border: 0.5px solid #EAF1FB;\n        }\n\n        /* -- Header -- */\n\n        .header-container {\n            margin-top: -30px;\n            width: 100%;\n            padding: 0px 30px;\n        }\n\n        .header-logo {\n\n            text-transform: capitalize;\n            color: #817AE3;\n            padding-top: 0px;\n        }\n\n        /* -- Company Address -- */\n\n        .company-address-container {\n            width: 50%;\n            text-transform: capitalize;\n            padding-right: 60px;\n            margin-bottom: 2px;\n\n        }\n\n        .company-address {\n            margin-top: 12px;\n            font-size: 12px;\n            line-height: 15px;\n            color: #595959;\n            word-wrap: break-word;\n        }\n\n        /* -- Content Wrapper -- */\n\n        .wrapper {\n            display: block;\n            padding-top: 0px;\n            padding-bottom: 20px;\n        }\n\n        .customer-address-container {\n            display: block;\n            float: left;\n            width: 45%;\n            padding: 10px 0 0 30px;\n        }\n\n        /* -- Shipping -- */\n\n        .shipping-address-container {\n            float: right;\n            display: block;\n        }\n\n        .shipping-address-container--left {\n            float: left;\n            display: block;\n            padding-left: 0;\n        }\n\n        .shipping-address-label {\n            padding-top: 5px;\n            font-size: 12px;\n            line-height: 18px;\n            margin-bottom: 0px;\n        }\n\n        .shipping-address-name {\n            padding: 0px;\n            font-size: 15px;\n            line-height: 22px;\n            margin: 0px;\n            max-width: 160px;\n        }\n\n        .shipping-address {\n            font-size: 10px;\n            line-height: 15px;\n            color: #595959;\n            margin-top: 5px;\n            width: 160px;\n            word-wrap: break-word;\n        }\n\n        /* -- Billing -- */\n\n        .billing-address-container {\n            display: block;\n            float: left;\n        }\n\n        .billing-address-label {\n            padding-top: 5px;\n            font-size: 12px;\n            line-height: 18px;\n            margin-bottom: 0px;\n        }\n\n        .billing-address-name {\n            padding: 0px;\n            font-size: 15px;\n            line-height: 22px;\n            margin: 0px;\n            max-width: 160px;\n        }\n\n        .billing-address {\n            font-size: 10px;\n            line-height: 15px;\n            color: #595959;\n            margin-top: 5px;\n            width: 160px;\n            word-wrap: break-word;\n        }\n\n        /* -- Estimate Details -- */\n\n        .estimate-details-container {\n            display: block;\n            float: right;\n            padding: 10px 30px 0 0;\n        }\n\n        .attribute-label {\n            font-size: 12px;\n            line-height: 18px;\n            text-align: left;\n            color: #55547A\n        }\n\n        .attribute-value {\n            font-size: 12px;\n            line-height: 18px;\n            text-align: right;\n        }\n\n        /* -- Items Table -- */\n\n        .items-table {\n            padding: 30px 30px 10px 30px;\n            page-break-before: avoid;\n            page-break-after: auto;\n        }\n\n        .items-table hr {\n            height: 0.1px;\n            margin: 0 30px;\n        }\n\n        .item-table-heading {\n            font-size: 13.5;\n            text-align: center;\n            color: rgba(0, 0, 0, 0.85);\n            padding: 5px;\n            padding-bottom: 10px;\n        }\n\n        tr.item-table-heading-row th {\n            border-bottom: 0.620315px solid #E8E8E8;\n            font-size: 12px;\n            line-height: 18px;\n        }\n\n        .item-table-heading-row {\n            margin-bottom: 10px;\n        }\n\n        tr.item-row td {\n            font-size: 12px;\n            line-height: 18px;\n        }\n\n        .item-cell {\n            font-size: 13;\n            color: #040405;\n            text-align: center;\n            padding: 5px;\n            padding-top: 10px;\n            border-color: #d9d9d9;\n        }\n\n        .item-description {\n            color: #595959;\n            font-size: 9px;\n            line-height: 12px;\n        }\n\n        .item-cell-table-hr {\n            margin: 0 30px 0 30px;\n        }\n\n        /* -- Total Display Table -- */\n\n        .total-display-container {\n            padding: 0 25px;\n        }\n\n        .total-display-table {\n            box-sizing: border-box;\n            page-break-inside: avoid;\n            page-break-before: auto;\n            page-break-after: auto;\n            margin-top: 20px;\n            float: right;\n            width: auto;\n\n        }\n\n        .total-table-attribute-label {\n            font-size: 12px;\n            color: #55547A;\n            text-align: left;\n            padding-left: 10px;\n        }\n\n        .total-table-attribute-value {\n            font-weight: bold;\n            text-align: right;\n            font-size: 12px;\n            color: #040405;\n            padding-right: 10px;\n            padding-top: 2px;\n            padding-bottom: 2px;\n        }\n\n        .total-border-left {\n            border: 1px solid #E8E8E8 !important;\n            border-right: 0px !important;\n            padding-top: 0px;\n            padding: 8px !important;\n        }\n\n        .total-border-right {\n            border: 1px solid #E8E8E8 !important;\n            border-left: 0px !important;\n            padding-top: 0px;\n            padding: 8px !important;\n        }\n\n        /* -- Notes -- */\n\n        .notes {\n            font-size: 12px;\n            color: #595959;\n            margin-top: 80px;\n            margin-left: 30px;\n            width: 442px;\n            text-align: left;\n            page-break-inside: avoid;\n        }\n\n        .notes-label {\n            font-size: 15px;\n            line-height: 22px;\n            letter-spacing: 0.05em;\n            color: #040405;\n            width: 108px;\n            white-space: nowrap;\n            height: 19.87px;\n            padding-bottom: 10px;\n        }\n\n        /* -- Helpers -- */\n\n        .text-primary {\n            color: #5851DB;\n        }\n\n        .text-center {\n            text-align: center\n        }\n\n        table .text-left {\n            text-align: left;\n        }\n\n        table .text-right {\n            text-align: right;\n        }\n\n        .border-0 {\n            border: none;\n        }\n\n        .py-2 {\n            padding-top: 2px;\n            padding-bottom: 2px;\n        }\n\n        .py-8 {\n            padding-top: 8px;\n            padding-bottom: 8px;\n        }\n\n        .py-3 {\n            padding: 3px 0;\n        }\n\n        .pr-20 {\n            padding-right: 20px;\n        }\n\n        .pr-10 {\n            padding-right: 10px;\n        }\n\n        .pl-20 {\n            padding-left: 20px;\n        }\n\n        .pl-10 {\n            padding-left: 10px;\n        }\n\n        .pl-0 {\n            padding-left: 0;\n        }\n\n    </style>\n\n    @if (App::isLocale('th'))\n        @include('app.pdf.locale.th')\n    @endif\n</head>\n\n<body>\n    <div class=\"header-container\">\n        <table width=\"100%\">\n            <tr>\n                <td width=\"50%\" class=\"header-section-left\">\n                    @if ($logo)\n                        <img class=\"header-logo\" style=\"height: 50px;\" src=\"{{ $logo }}\" alt=\"Company Logo\">\n                    @else\n                        <h1 class=\"header-logo\"> {{ $estimate->customer->company->name }} </h1>\n                    @endif\n                </td>\n                <td width=\"50%\" class=\"text-right company-address-container company-address\">\n                    {!! $company_address !!}\n                </td>\n            </tr>\n        </table>\n    </div>\n\n    <hr class=\"header-bottom-divider\">\n\n    <div class=\"wrapper\">\n        <div class=\"main-content\">\n            <div class=\"customer-address-container\">\n                <div class=\"billing-address-container billing-address\">\n                    @if ($billing_address)\n                        <b>@lang('pdf_bill_to')</b> <br>\n                        {!! $billing_address !!}\n                    @endif\n                </div>\n\n                <div @if ($estimate->customer->billingaddress) class=\"shipping-address-container shipping-address\" @else class=\"shipping-address-container--left shipping-address\" @endif>\n                    @if ($shipping_address)\n                        <b>@lang('pdf_ship_to')</b> <br>\n                        {!! $shipping_address !!}\n                    @endif\n                </div>\n\n                <div style=\"clear: both;\"></div>\n            </div>\n\n            <div class=\"estimate-details-container\">\n                <table>\n                    <tr>\n                        <td class=\"attribute-label\">@lang('pdf_estimate_number')</td>\n                        <td class=\"attribute-value\"> &nbsp;{{ $estimate->estimate_number }}</td>\n                    </tr>\n                    <tr>\n                        <td class=\"attribute-label\">@lang('pdf_estimate_date') </td>\n                        <td class=\"attribute-value\"> &nbsp;{{ $estimate->formattedEstimateDate }}</td>\n                    </tr>\n                    <tr>\n                        <td class=\"attribute-label\">@lang('pdf_estimate_expire_date')</td>\n                        <td class=\"attribute-value\"> &nbsp;{{ $estimate->formattedExpiryDate }}</td>\n                    </tr>\n                </table>\n            </div>\n            <div style=\"clear: both;\"></div>\n\n            @include('app.pdf.estimate.partials.table')\n\n            <div class=\"notes\">\n                @if ($notes)\n                    <div class=\"notes-label\">\n                        @lang('pdf_notes')\n                    </div>\n                    {!! $notes !!}\n                @endif\n            </div>\n        </div>\n    </div>\n</body>\n\n</html>\n"
  },
  {
    "path": "resources/views/app/pdf/estimate/partials/table.blade.php",
    "content": "<table width=\"100%\" class=\"items-table\" cellspacing=\"0\" border=\"0\">\n    <tr class=\"item-table-heading-row\">\n        <th width=\"2%\" class=\"pr-20 text-right item-table-heading\">#</th>\n        <th width=\"40%\" class=\"pl-0 text-left item-table-heading\">@lang('pdf_items_label')</th>\n        @foreach($customFields as $field)\n            <th class=\"text-right item-table-heading\">{{ $field->label }}</th>\n        @endforeach\n        <th class=\"pr-20 text-right item-table-heading\">@lang('pdf_quantity_label')</th>\n        <th class=\"pr-20 text-right item-table-heading\">@lang('pdf_price_label')</th>\n        @if($estimate->discount_per_item === 'YES')\n        <th class=\"pl-10 text-right item-table-heading\">@lang('pdf_discount_label')</th>\n        @endif\n        <th class=\"text-right item-table-heading\">@lang('pdf_amount_label')</th>\n    </tr>\n    @php\n        $index = 1\n    @endphp\n    @foreach ($estimate->items as $item)\n        <tr class=\"item-row\">\n            <td\n                class=\"pr-20 text-right item-cell\"\n                style=\"vertical-align: top;\"\n            >\n                {{$index}}\n            </td>\n            <td\n                class=\"pl-0 text-left item-cell\"\n            >\n                <span>{{ $item->name }}</span><br>\n                <span\n                    class=\"item-description\"\n                >\n                    {!! nl2br(htmlspecialchars($item->description)) !!}\n                </span>\n            </td>\n            @foreach($customFields as $field)\n                <td class=\"text-right item-cell\" style=\"vertical-align: top;\">\n                    {{ $item->getCustomFieldValueBySlug($field->slug) }}\n                </td>\n            @endforeach\n            <td\n                class=\"pr-20 text-right item-cell\"\n                style=\"vertical-align: top;\"\n            >\n                {{$item->quantity}} @if($item->unit_name) {{$item->unit_name}} @endif\n            </td>\n            <td\n                class=\"pr-20 text-right item-cell\"\n                style=\"vertical-align: top;\"\n            >\n                {!! format_money_pdf($item->price, $estimate->customer->currency) !!}\n            </td>\n            @if($estimate->discount_per_item === 'YES')\n                <td class=\"pl-10 text-right item-cell\" style=\"vertical-align: top;\">\n                    @if($item->discount_type === 'fixed')\n                        {!! format_money_pdf($item->discount_val, $estimate->customer->currency) !!}\n                    @endif\n                    @if($item->discount_type === 'percentage')\n                        {{$item->discount}}%\n                    @endif\n                </td>\n            @endif\n            <td class=\"text-right item-cell\" style=\"vertical-align: top;\">\n                {!! format_money_pdf($item->total, $estimate->customer->currency) !!}\n            </td>\n        </tr>\n        @php\n            $index += 1\n        @endphp\n    @endforeach\n</table>\n\n<hr class=\"item-cell-table-hr\">\n\n<div class=\"total-display-container\">\n    <table width=\"100%\" cellspacing=\"0px\" border=\"0\" class=\"total-display-table @if(count($estimate->items) > 12) page-break @endif\">\n        <tr>\n            <td class=\"border-0 total-table-attribute-label\">@lang('pdf_subtotal')</td>\n            <td class=\"border-0 item-cell total-table-attribute-value \">{!! format_money_pdf($estimate->sub_total, $estimate->customer->currency) !!}</td>\n        </tr>\n\n        @if($estimate->discount > 0)\n            @if ($estimate->discount_per_item === 'NO')\n                <tr>\n                    <td class=\"pl-10 border-0 total-table-attribute-label\">\n                        @if($estimate->discount_type === 'fixed')\n                            @lang('pdf_discount_label')\n                        @endif\n                        @if($estimate->discount_type === 'percentage')\n                            @lang('pdf_discount_label') ({{$estimate->discount}}%)\n                        @endif\n                    </td>\n                    <td class=\"text-right border-0 item-cell total-table-attribute-value\">\n                        @if($estimate->discount_type === 'fixed')\n                            {!! format_money_pdf($estimate->discount_val, $estimate->customer->currency) !!}\n                        @endif\n                        @if($estimate->discount_type === 'percentage')\n                            {!! format_money_pdf($estimate->discount_val, $estimate->customer->currency) !!}\n                        @endif\n                    </td>\n                </tr>\n            @endif\n        @endif\n        \n        @if ($estimate->tax_per_item === 'YES')\n            @foreach ($taxes as $tax)\n                <tr>\n                    <td class=\"border-0 total-table-attribute-label\">\n                        {{$tax->name.' ('.$tax->percent.'%)'}}\n                    </td>\n                    <td class=\"py-2 border-0 item-cell total-table-attribute-value\">\n                        {!! format_money_pdf($tax->amount, $estimate->customer->currency) !!}\n                    </td>\n                </tr>\n            @endforeach\n        @else\n            @foreach ($estimate->taxes as $tax)\n                <tr>\n                    <td class=\"border-0 total-table-attribute-label\">\n                        {{$tax->name.' ('.$tax->percent.'%)'}}\n                    </td>\n                    <td class=\"border-0 item-cell total-table-attribute-value\" >\n                        {!! format_money_pdf($tax->amount, $estimate->customer->currency) !!}\n                    </td>\n                </tr>\n            @endforeach\n        @endif\n        \n        <tr>\n            <td class=\"py-3\"></td>\n            <td class=\"py-3\"></td>\n        </tr>\n        <tr>\n            <td class=\"border-0 total-border-left total-table-attribute-label\">@lang('pdf_total')</td>\n            <td class=\"py-8 border-0 total-border-right item-cell total-table-attribute-value\" style=\"color: #5851D8\">\n                {!! format_money_pdf($estimate->total, $estimate->customer->currency)!!}\n            </td>\n        </tr>\n    </table>\n</div>\n"
  },
  {
    "path": "resources/views/app/pdf/invoice/invoice1.blade.php",
    "content": "<!DOCTYPE html>\n<html>\n\n<head>\n    <title>@lang('pdf_invoice_label') - {{ $invoice->invoice_number }}</title>\n    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n\n    <style type=\"text/css\">\n        /* -- Base -- */\n        body {\n            font-family: \"DejaVu Sans\";\n        }\n\n        html {\n            margin: 0px;\n            padding: 0px;\n            margin-top: 50px;\n        }\n\n        .text-center {\n            text-align: center;\n        }\n\n        hr {\n            margin: 0 30px 0 30px;\n            color: rgba(0, 0, 0, 0.2);\n            border: 0.5px solid #EAF1FB;\n        }\n\n        /* -- Header -- */\n\n        .header-bottom-divider {\n            color: rgba(0, 0, 0, 0.2);\n            top: 90px;\n            left: 0px;\n            width: 100%;\n            margin-left: 0%;\n        }\n\n        .header-container {\n            position: absolute;\n            width: 100%;\n            height: 90px;\n            left: 0px;\n            top: -50px;\n        }\n\n        .header-logo {\n            margin-top: 20px;\n            padding-bottom: 20px;\n            text-transform: capitalize;\n            color: #817AE3;\n        }\n\n        .content-wrapper {\n            display: block;\n            margin-top: 0px;\n            padding-top: 16px;\n            padding-bottom: 20px;\n        }\n\n        .company-address-container {\n            padding-top: 15px;\n            padding-left: 30px;\n            float: left;\n            width: 30%;\n            margin-bottom: 2px;\n        }\n\n        .company-address-container h1 {\n            font-size: 15px;\n            line-height: 22px;\n            letter-spacing: 0.05em;\n            margin-bottom: 0px;\n            margin-top: 10px;\n        }\n\n        .company-address {\n            margin-top: 16px;\n            text-align: left;\n            font-size: 12px;\n            line-height: 15px;\n            color: #595959;\n            width: 280px;\n            word-wrap: break-word;\n        }\n\n        .invoice-details-container {\n            float: right;\n            padding: 10px 30px 0 0;\n            margin-top: 18px;\n        }\n\n        .attribute-label {\n            font-size: 12px;\n            line-height: 18px;\n            padding-right: 40px;\n            text-align: left;\n            color: #55547A;\n        }\n\n        .attribute-value {\n            font-size: 12px;\n            line-height: 18px;\n            text-align: right;\n        }\n\n        /* -- Shipping -- */\n\n        .shipping-address-container {\n            float: right;\n            padding-left: 40px;\n            width: 160px;\n        }\n\n        .shipping-address {\n            font-size: 12px;\n            line-height: 15px;\n            color: #595959;\n            padding: 45px 0px 0px 40px;\n            margin: 0px;\n            width: 160px;\n            word-wrap: break-word;\n        }\n\n        /* -- Billing -- */\n\n        .billing-address-container {\n            padding-top: 50px;\n            float: left;\n            padding-left: 30px;\n        }\n\n        .billing-address-label {\n            font-size: 12px;\n            line-height: 18px;\n            padding: 0px;\n            margin-top: 27px;\n            margin-bottom: 0px;\n        }\n\n        .billing-address-name {\n            max-width: 160px;\n            font-size: 15px;\n            line-height: 22px;\n            padding: 0px;\n            margin: 0px;\n        }\n\n        .billing-address {\n            font-size: 12px;\n            line-height: 15px;\n            color: #595959;\n            padding: 45px 0px 0px 30px;\n            margin: 0px;\n            width: 160px;\n            word-wrap: break-word;\n        }\n\n        /* -- Items Table -- */\n\n        .items-table {\n            margin-top: 35px;\n            padding: 0px 30px 10px 30px;\n            page-break-before: avoid;\n            page-break-after: auto;\n        }\n\n        .items-table hr {\n            height: 0.1px;\n        }\n\n        .item-table-heading {\n            font-size: 13.5;\n            text-align: center;\n            color: rgba(0, 0, 0, 0.85);\n            padding: 5px;\n            color: #55547A;\n        }\n\n        tr.item-table-heading-row th {\n            border-bottom: 0.620315px solid #E8E8E8;\n            font-size: 12px;\n            line-height: 18px;\n        }\n\n        tr.item-row td {\n            font-size: 12px;\n            line-height: 18px;\n        }\n\n        .item-cell {\n            font-size: 13;\n            text-align: center;\n            padding: 5px;\n            padding-top: 10px;\n            color: #040405;\n        }\n\n        .item-description {\n            color: #595959;\n            font-size: 9px;\n            line-height: 12px;\n        }\n\n        /* -- Total Display Table -- */\n\n        .total-display-container {\n            padding: 0 25px;\n        }\n\n        .total-display-table {\n            border-top: none;\n            page-break-inside: avoid;\n            page-break-before: auto;\n            page-break-after: auto;\n            margin-top: 20px;\n            float: right;\n            width: auto;\n        }\n\n        .total-table-attribute-label {\n            font-size: 13px;\n            color: #55547A;\n            text-align: left;\n            padding-left: 10px;\n        }\n\n        .total-table-attribute-value {\n            font-weight: bold;\n            text-align: right;\n            font-size: 13px;\n            color: #040405;\n            padding-right: 10px;\n            padding-top: 2px;\n            padding-bottom: 2px;\n        }\n\n        .total-border-left {\n            border: 1px solid #E8E8E8 !important;\n            border-right: 0px !important;\n            padding-top: 0px;\n            padding: 8px !important;\n        }\n\n        .total-border-right {\n            border: 1px solid #E8E8E8 !important;\n            border-left: 0px !important;\n            padding-top: 0px;\n            padding: 8px !important;\n        }\n\n        /* -- Notes -- */\n\n        .notes {\n            font-size: 12px;\n            color: #595959;\n            margin-top: 15px;\n            margin-left: 30px;\n            width: 442px;\n            text-align: left;\n            page-break-inside: avoid;\n        }\n\n        .notes-label {\n            font-size: 15px;\n            line-height: 22px;\n            letter-spacing: 0.05em;\n            color: #040405;\n            width: 108px;\n            white-space: nowrap;\n            height: 19.87px;\n            padding-bottom: 10px;\n        }\n\n        /* -- Helpers -- */\n\n        .text-primary {\n            color: #5851DB;\n        }\n\n\n        table .text-left {\n            text-align: left;\n        }\n\n        table .text-right {\n            text-align: right;\n        }\n\n        .border-0 {\n            border: none;\n        }\n\n        .py-2 {\n            padding-top: 2px;\n            padding-bottom: 2px;\n        }\n\n        .py-8 {\n            padding-top: 8px;\n            padding-bottom: 8px;\n        }\n\n        .py-3 {\n            padding: 3px 0;\n        }\n\n        .pr-20 {\n            padding-right: 20px;\n        }\n\n        .pr-10 {\n            padding-right: 10px;\n        }\n\n        .pl-20 {\n            padding-left: 20px;\n        }\n\n        .pl-10 {\n            padding-left: 10px;\n        }\n\n        .pl-0 {\n            padding-left: 0;\n        }\n\n    </style>\n\n    @if (App::isLocale('th'))\n        @include('app.pdf.locale.th')\n    @endif\n</head>\n\n<body>\n    <div class=\"header-container\">\n        <table width=\"100%\">\n            <tr>\n                <td class=\"text-center\">\n                    @if ($logo)\n                        <img class=\"header-logo\" style=\"height:50px\" src=\"{{ $logo }}\" alt=\"Company Logo\">\n                    @else\n                        @if ($invoice->customer->company)\n                            <h2 class=\"header-logo\"> {{ $invoice->customer->company->name }}</h2>\n                        @endif\n                    @endif\n                </td>\n            </tr>\n        </table>\n        <hr class=\"header-bottom-divider\" style=\"border: 0.620315px solid #E8E8E8;\" />\n    </div>\n\n\n    <div class=\"content-wrapper\">\n        <div style=\"padding-top: 30px\">\n            <div class=\"company-address-container company-address\">\n                {!! $company_address !!}\n            </div>\n\n            <div class=\"invoice-details-container\">\n                <table>\n                    <tr>\n                        <td class=\"attribute-label\">@lang('pdf_invoice_number')</td>\n                        <td class=\"attribute-value\"> &nbsp;{{ $invoice->invoice_number }}</td>\n                    </tr>\n                    <tr>\n                        <td class=\"attribute-label\">@lang('pdf_invoice_date')</td>\n                        <td class=\"attribute-value\"> &nbsp;{{ $invoice->formattedInvoiceDate }}</td>\n                    </tr>\n                    <tr>\n                        <td class=\"attribute-label\">@lang('pdf_invoice_due_date')</td>\n                        <td class=\"attribute-value\"> &nbsp;{{ $invoice->formattedDueDate }}</td>\n                    </tr>\n                </table>\n            </div>\n\n            <div style=\"clear: both;\"></div>\n        </div>\n\n        <div class=\"billing-address-container billing-address\">\n            @if ($billing_address)\n                <b>@lang('pdf_bill_to')</b> <br>\n\n                {!! $billing_address !!}\n            @endif\n        </div>\n\n        <div class=\"shipping-address-container shipping-address\" @if ($billing_address !== '</br>') style=\"float:left;\" @else style=\"display:block; float:left: padding-left: 0px;\" @endif>\n            @if ($shipping_address)\n                <b>@lang('pdf_ship_to')</b> <br>\n\n                {!! $shipping_address !!}\n            @endif\n        </div>\n\n        <div style=\"position: relative; clear: both;\">\n            @include('app.pdf.invoice.partials.table')\n        </div>\n\n        <div class=\"notes\">\n            @if ($notes)\n                <div class=\"notes-label\">\n                    @lang('pdf_notes')\n                </div>\n\n                {!! $notes !!}\n            @endif\n        </div>\n    </div>\n</body>\n\n</html>\n"
  },
  {
    "path": "resources/views/app/pdf/invoice/invoice2.blade.php",
    "content": "<!DOCTYPE html>\n<html>\n\n<head>\n    <title>@lang('pdf_invoice_label') - {{ $invoice->invoice_number }}</title>\n    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n    <style type=\"text/css\">\n        /* -- Base -- */\n        body {\n            font-family: \"DejaVu Sans\";\n        }\n\n        html {\n            margin: 0px;\n            padding: 0px;\n            margin-top: 50px;\n            margin-bottom: 25px;\n        }\n\n        table {\n            border-collapse: collapse;\n        }\n\n        hr {\n            margin: 0 30px 0 30px;\n            color: rgba(0, 0, 0, 0.2);\n            border: 0.5px solid #EAF1FB;\n        }\n\n        /* -- Header -- */\n\n        .header-container {\n            background: #817AE3;\n            position: absolute;\n            width: 100%;\n            height: 141px;\n            left: 0px;\n            top: -60px;\n        }\n\n        .header-section-left {\n            padding-bottom: 45px;\n            padding-left: 30px;\n            display: inline-block;\n            width: 30%;\n        }\n\n        .header-logo {\n            padding-top: 45px;\n            position: absolute;\n            text-transform: capitalize;\n            color: #fff;\n\n        }\n\n        .header-section-right {\n            display: inline-block;\n            width: 35%;\n            float: right;\n            padding: 20px 30px 20px 0px;\n            text-align: right;\n            color: white;\n        }\n\n        .header {\n            font-size: 20px;\n            color: rgba(0, 0, 0, 0.7);\n        }\n\n        /*  -- Estimate Details -- */\n\n        .invoice-details-container {\n            text-align: center;\n            width: 40%;\n        }\n\n        .invoice-details-container h1 {\n            margin: 0;\n            font-size: 24px;\n            line-height: 36px;\n            text-align: right;\n        }\n\n        .invoice-details-container h4 {\n            margin: 0;\n            font-size: 10px;\n            line-height: 15px;\n            text-align: right;\n        }\n\n        .invoice-details-container h3 {\n            margin-bottom: 1px;\n            margin-top: 0;\n        }\n\n        /* -- Content Wrapper -- */\n\n        .content-wrapper {\n            display: block;\n            margin-top: 60px;\n            padding-bottom: 20px;\n        }\n\n        .address-container {\n            display: block;\n            padding-top: 20px;\n            margin-top: 18px;\n        }\n\n        /* -- Company -- */\n\n        .company-address-container {\n            padding: 0 0 0 30px;\n            display: inline;\n            float: left;\n            width: 30%;\n        }\n\n        .company-address-container h1 {\n            font-weight: bold;\n            font-size: 15px;\n            letter-spacing: 0.05em;\n            margin-bottom: 0;\n            /* margin-top: 18px; */\n        }\n\n        .company-address {\n            font-size: 10px;\n            line-height: 15px;\n            color: #595959;\n            margin-top: 0px;\n            word-wrap: break-word;\n        }\n\n        /* -- Billing -- */\n\n        .billing-address-container {\n            display: block;\n            /* position: absolute; */\n            float: right;\n            padding: 0 40px 0 0;\n        }\n\n        .billing-address-label {\n            font-size: 12px;\n            line-height: 18px;\n            padding: 0px;\n            margin-bottom: 0px;\n        }\n\n        .billing-address-name {\n            max-width: 250px;\n            font-size: 15px;\n            line-height: 22px;\n            padding: 0px;\n            margin-top: 0px;\n            margin-bottom: 0px;\n        }\n\n        .billing-address {\n            font-size: 10px;\n            line-height: 15px;\n            color: #595959;\n            padding: 0px;\n            margin: 0px;\n            width: 170px;\n            word-wrap: break-word;\n        }\n\n        /* -- Shipping -- */\n\n        .shipping-address-container {\n            display: block;\n            float: right;\n            padding: 0 30px 0 0;\n        }\n\n        .shipping-address-label {\n            font-size: 12px;\n            line-height: 18px;\n            padding: 0px;\n            margin-bottom: 0px;\n        }\n\n        .shipping-address-name {\n            max-width: 250px;\n            font-size: 15px;\n            line-height: 22px;\n            padding: 0px;\n            margin-top: 0px;\n            margin-bottom: 0px;\n        }\n\n        .shipping-address {\n            font-size: 10px;\n            line-height: 15px;\n            color: #595959;\n            padding: 0px 30px 0px 30px;\n            width: 170px;\n            word-wrap: break-word;\n        }\n\n        /* -- Items Table -- */\n\n        .items-table {\n            margin-top: 35px;\n            padding: 0px 30px 10px 30px;\n            page-break-before: avoid;\n            page-break-after: auto;\n        }\n\n        .items-table hr {\n            height: 0.1px;\n        }\n\n        .item-table-heading {\n            font-size: 13.5;\n            text-align: center;\n            color: rgba(0, 0, 0, 0.85);\n            padding: 5px;\n            color: #55547A;\n        }\n\n        tr.item-table-heading-row th {\n            border-bottom: 0.620315px solid #E8E8E8;\n            font-size: 12px;\n            line-height: 18px;\n        }\n\n        tr.item-row td {\n            font-size: 12px;\n            line-height: 18px;\n        }\n\n        .item-cell {\n            font-size: 13;\n            text-align: center;\n            padding: 5px;\n            padding-top: 10px;\n            color: #040405;\n        }\n\n        .item-description {\n            color: #595959;\n            font-size: 9px;\n            line-height: 12px;\n        }\n\n        /* -- Total Display Table -- */\n\n        .total-display-container {\n            padding: 0 25px;\n        }\n\n        .item-cell-table-hr {\n            margin: 0 25px 0 30px;\n        }\n\n        .total-display-table {\n            border-top: none;\n            page-break-inside: avoid;\n            page-break-before: auto;\n            page-break-after: auto;\n            margin-top: 20px;\n            float: right;\n            width: auto;\n        }\n\n        .total-table-attribute-label {\n            font-size: 12px;\n            color: #55547A;\n            text-align: left;\n            padding-left: 10px;\n        }\n\n        .total-table-attribute-value {\n            font-weight: bold;\n            text-align: right;\n            font-size: 12px;\n            color: #040405;\n            padding-right: 10px;\n            padding-top: 2px;\n            padding-bottom: 2px;\n        }\n\n        .total-border-left {\n            border: 1px solid #E8E8E8 !important;\n            border-right: 0px !important;\n            padding-top: 0px;\n            padding: 8px !important;\n        }\n\n        .total-border-right {\n            border: 1px solid #E8E8E8 !important;\n            border-left: 0px !important;\n            padding-top: 0px;\n            padding: 8px !important;\n        }\n\n        /* -- Notes -- */\n\n        .notes {\n            font-size: 12px;\n            color: #595959;\n            margin-top: 15px;\n            margin-left: 30px;\n            width: 442px;\n            text-align: left;\n            page-break-inside: avoid;\n        }\n\n        .notes-label {\n            font-size: 15px;\n            line-height: 22px;\n            letter-spacing: 0.05em;\n            color: #040405;\n            width: 108px;\n            white-space: nowrap;\n            height: 19.87px;\n            padding-bottom: 10px;\n        }\n\n        /* -- Helpers -- */\n\n        .text-primary {\n            color: #5851DB;\n        }\n\n        .text-center {\n            text-align: center\n        }\n\n        table .text-left {\n            text-align: left;\n        }\n\n        table .text-right {\n            text-align: right;\n        }\n\n        .border-0 {\n            border: none;\n        }\n\n        .py-2 {\n            padding-top: 2px;\n            padding-bottom: 2px;\n        }\n\n        .py-8 {\n            padding-top: 8px;\n            padding-bottom: 8px;\n        }\n\n        .py-3 {\n            padding: 3px 0;\n        }\n\n        .pr-20 {\n            padding-right: 20px;\n        }\n\n        .pr-10 {\n            padding-right: 10px;\n        }\n\n        .pl-20 {\n            padding-left: 20px;\n        }\n\n        .pl-10 {\n            padding-left: 10px;\n        }\n\n        .pl-0 {\n            padding-left: 0;\n        }\n\n    </style>\n\n    @if (App::isLocale('th'))\n        @include('app.pdf.locale.th')\n    @endif\n</head>\n\n<body>\n    <div class=\"header-container\">\n        <table width=\"100%\">\n            <tr>\n                <td width=\"60%\" class=\"header-section-left\">\n                    @if ($logo)\n                        <img class=\"header-logo\" src=\"{{ $logo }}\" alt=\"Company Logo\" style=\"height: 50px;\">\n                    @elseif ($invoice->customer->company)\n                        <h1 class=\"header-logo\" style=\"padding-top: 0px;\">\n                            {{ $invoice->customer->company->name }}\n                        </h1>\n                    @endif\n                </td>\n\n                <td width=\"40%\" class=\"header-section-right invoice-details-container\">\n                    <h1>@lang('pdf_invoice_label')</h1>\n                    <h4>{{ $invoice->invoice_number }}</h4>\n                    <h4>{{ $invoice->formattedInvoiceDate }}</h4>\n                </td>\n            </tr>\n        </table>\n    </div>\n\n    <hr>\n\n    <div class=\"content-wrapper\">\n        <div class=\"address-container\">\n            <div class=\"company-address-container company-address\">\n                {!! $company_address !!}\n            </div>\n\n            @if ($shipping_address !== '</br>')\n                <div class=\"shipping-address-container shipping-address\">\n                    @if ($shipping_address)\n                        <b>@lang('pdf_ship_to')</b> <br>\n                        {!! $shipping_address !!}\n                    @endif\n                </div>\n            @endif\n\n\n            <div class=\"billing-address-container billing-address\" @if ($shipping_address === '</br>') style=\"float:right; margin-right:30px;\" @endif>\n                @if ($billing_address)\n                    <b>@lang('pdf_bill_to')</b> <br>\n                    {!! $billing_address !!}\n                @endif\n            </div>\n\n            <div style=\"clear: both;\"></div>\n        </div>\n\n        @include('app.pdf.invoice.partials.table')\n\n        <div class=\"notes\">\n            @if ($notes)\n                <div class=\"notes-label\">\n                    @lang('pdf_notes')\n                </div>\n\n                {!! $notes !!}\n            @endif\n        </div>\n    </div>\n</body>\n\n</html>\n"
  },
  {
    "path": "resources/views/app/pdf/invoice/invoice3.blade.php",
    "content": "<!DOCTYPE html>\n<html>\n\n<head>\n    <title>@lang('pdf_invoice_label') - {{ $invoice->invoice_number }}</title>\n    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n\n    <style type=\"text/css\">\n        /* -- Base -- */\n\n        body {\n            font-family: \"DejaVu Sans\";\n        }\n\n        html {\n            margin: 0px;\n            padding: 0px;\n            margin-top: 50px;\n        }\n\n        table {\n            border-collapse: collapse;\n        }\n\n        hr {\n            color: rgba(0, 0, 0, 0.2);\n            border: 0.5px solid #EAF1FB;\n        }\n\n        /* -- Header -- */\n\n        .header-container {\n            margin-top: -30px;\n            width: 100%;\n            padding: 0px 30px;\n        }\n\n        .header-logo {\n\n            text-transform: capitalize;\n            color: #817AE3;\n            padding-top: 0px;\n        }\n\n        .company-address-container {\n            width: 50%;\n            margin-bottom: 2px;\n            padding-right: 60px;\n        }\n\n        .company-address {\n            margin-top: 12px;\n            font-size: 12px;\n            line-height: 15px;\n            color: #595959;\n            word-wrap: break-word;\n        }\n\n        /* -- Content Wrapper  */\n\n        .content-wrapper {\n            display: block;\n            padding-top: 0px;\n            padding-bottom: 20px;\n        }\n\n        .customer-address-container {\n            display: block;\n            float: left;\n            width: 45%;\n            padding: 10px 0 0 30px;\n        }\n\n        /* -- Shipping -- */\n        .shipping-address-container {\n            float: right;\n            display: block;\n        }\n\n        .shipping-address-container--left {\n            float: left;\n            display: block;\n            padding-left: 0;\n        }\n\n        .shipping-address {\n            font-size: 10px;\n            line-height: 15px;\n            color: #595959;\n            margin-top: 5px;\n            width: 160px;\n            word-wrap: break-word;\n        }\n\n        /* -- Billing -- */\n\n        .billing-address-container {\n            display: block;\n            float: left;\n        }\n\n        .billing-address {\n            font-size: 10px;\n            line-height: 15px;\n            color: #595959;\n            margin-top: 5px;\n            width: 160px;\n            word-wrap: break-word;\n        }\n\n        /*  -- Estimate Details -- */\n\n        .invoice-details-container {\n            display: block;\n            float: right;\n            padding: 10px 30px 0 0;\n        }\n\n        .attribute-label {\n            font-size: 12px;\n            line-height: 18px;\n            text-align: left;\n            color: #55547A\n        }\n\n        .attribute-value {\n            font-size: 12px;\n            line-height: 18px;\n            text-align: right;\n        }\n\n        /* -- Items Table -- */\n\n        .items-table {\n            margin-top: 35px;\n            padding: 0px 30px 10px 30px;\n            page-break-before: avoid;\n            page-break-after: auto;\n        }\n\n        .items-table hr {\n            height: 0.1px;\n        }\n\n        .item-table-heading {\n            font-size: 13.5;\n            text-align: center;\n            color: rgba(0, 0, 0, 0.85);\n            padding: 5px;\n            color: #55547A;\n        }\n\n        tr.item-table-heading-row th {\n            border-bottom: 0.620315px solid #E8E8E8;\n            font-size: 12px;\n            line-height: 18px;\n        }\n\n        tr.item-row td {\n            font-size: 12px;\n            line-height: 18px;\n        }\n\n        .item-cell {\n            font-size: 13;\n            text-align: center;\n            padding: 5px;\n            padding-top: 10px;\n            color: #040405;\n        }\n\n        .item-description {\n            color: #595959;\n            font-size: 9px;\n            line-height: 12px;\n        }\n\n        .item-cell-table-hr {\n            margin: 0 30px 0 30px;\n        }\n\n        /* -- Total Display Table -- */\n\n        .total-display-container {\n            padding: 0 25px;\n        }\n\n\n        .total-display-table {\n            border-top: none;\n            page-break-inside: avoid;\n            page-break-before: auto;\n            page-break-after: auto;\n            margin-top: 20px;\n            float: right;\n            width: auto;\n        }\n\n        .total-table-attribute-label {\n            font-size: 12px;\n            color: #55547A;\n            text-align: left;\n            padding-left: 10px;\n        }\n\n        .total-table-attribute-value {\n            font-weight: bold;\n            text-align: right;\n            font-size: 12px;\n            color: #040405;\n            padding-right: 10px;\n            padding-top: 2px;\n            padding-bottom: 2px;\n        }\n\n        .total-border-left {\n            border: 1px solid #E8E8E8 !important;\n            border-right: 0px !important;\n            padding-top: 0px;\n            padding: 8px !important;\n        }\n\n        .total-border-right {\n            border: 1px solid #E8E8E8 !important;\n            border-left: 0px !important;\n            padding-top: 0px;\n            padding: 8px !important;\n        }\n\n        /* -- Notes -- */\n        .notes {\n            font-size: 12px;\n            color: #595959;\n            margin-top: 15px;\n            margin-left: 30px;\n            width: 442px;\n            text-align: left;\n            page-break-inside: avoid;\n        }\n\n        .notes-label {\n            font-size: 15px;\n            line-height: 22px;\n            letter-spacing: 0.05em;\n            color: #040405;\n            width: 108px;\n            white-space: nowrap;\n            height: 19.87px;\n            padding-bottom: 10px;\n        }\n\n        /* -- Helpers -- */\n\n        .text-primary {\n            color: #5851DB;\n        }\n\n        .text-center {\n            text-align: center\n        }\n\n        table .text-left {\n            text-align: left;\n        }\n\n        table .text-right {\n            text-align: right;\n        }\n\n        .border-0 {\n            border: none;\n        }\n\n        .py-2 {\n            padding-top: 2px;\n            padding-bottom: 2px;\n        }\n\n        .py-8 {\n            padding-top: 8px;\n            padding-bottom: 8px;\n        }\n\n        .py-3 {\n            padding: 3px 0;\n        }\n\n        .pr-20 {\n            padding-right: 20px;\n        }\n\n        .pr-10 {\n            padding-right: 10px;\n        }\n\n        .pl-20 {\n            padding-left: 20px;\n        }\n\n        .pl-10 {\n            padding-left: 10px;\n        }\n\n        .pl-0 {\n            padding-left: 0;\n        }\n\n    </style>\n\n    @if (App::isLocale('th'))\n        @include('app.pdf.locale.th')\n    @endif\n</head>\n\n<body>\n    <div class=\"header-container\">\n        <table width=\"100%\">\n            <tr>\n                <td width=\"50%\" class=\"header-section-left\">\n                    @if ($logo)\n                        <img class=\"header-logo\" style=\"height: 50px;\" src=\"{{ $logo }}\" alt=\"Company Logo\">\n                    @else\n                        <h1 class=\"header-logo\"> {{ $invoice->customer->company->name }} </h1>\n                    @endif\n                </td>\n                <td width=\"50%\" class=\"text-right company-address-container company-address\">\n                    {!! $company_address !!}\n                </td>\n            </tr>\n        </table>\n    </div>\n\n    <hr class=\"header-bottom-divider\">\n\n    <div class=\"content-wrapper\">\n        <div class=\"main-content\">\n            <div class=\"customer-address-container\">\n                <div class=\"billing-address-container billing-address\">\n                    @if ($billing_address)\n                        <b>@lang('pdf_bill_to')</b> <br>\n                        {!! $billing_address !!}\n                    @endif\n                </div>\n\n                <div @if ($billing_address !== '</br>') class=\"shipping-address-container shipping-address\" @else class=\"shipping-address-container--left shipping-address\" @endif>\n                    @if ($shipping_address)\n                        <b>@lang('pdf_ship_to')</b> <br>\n                        {!! $shipping_address !!}\n                    @endif\n                </div>\n                <div style=\"clear: both;\"></div>\n            </div>\n\n            <div class=\"invoice-details-container\">\n                <table>\n                    <tr>\n                        <td class=\"attribute-label\">@lang('pdf_invoice_number')</td>\n                        <td class=\"attribute-value\"> &nbsp;{{ $invoice->invoice_number }}</td>\n                    </tr>\n                    <tr>\n                        <td class=\"attribute-label\">@lang('pdf_invoice_date')</td>\n                        <td class=\"attribute-value\"> &nbsp;{{ $invoice->formattedInvoiceDate }}</td>\n                    </tr>\n                    <tr>\n                        <td class=\"attribute-label\">@lang('pdf_invoice_due_date')</td>\n                        <td class=\"attribute-value\"> &nbsp;{{ $invoice->formattedDueDate }}</td>\n                    </tr>\n                </table>\n            </div>\n            <div style=\"clear: both;\"></div>\n        </div>\n\n        @include('app.pdf.invoice.partials.table')\n\n        <div class=\"notes\">\n            @if ($notes)\n                <div class=\"notes-label\">\n                    @lang('pdf_notes')\n                </div>\n\n                {!! $notes !!}\n            @endif\n        </div>\n    </div>\n</body>\n\n</html>\n"
  },
  {
    "path": "resources/views/app/pdf/invoice/partials/table.blade.php",
    "content": "<table width=\"100%\" class=\"items-table\" cellspacing=\"0\" border=\"0\">\n    <tr class=\"item-table-heading-row\">\n        <th width=\"2%\" class=\"pr-20 text-right item-table-heading\">#</th>\n        <th width=\"40%\" class=\"pl-0 text-left item-table-heading\">@lang('pdf_items_label')</th>\n        @foreach($customFields as $field)\n            <th class=\"text-right item-table-heading\">{{ $field->label }}</th>\n        @endforeach\n        <th class=\"pr-20 text-right item-table-heading\">@lang('pdf_quantity_label')</th>\n        <th class=\"pr-20 text-right item-table-heading\">@lang('pdf_price_label')</th>\n        @if($invoice->discount_per_item === 'YES')\n        <th class=\"pl-10 text-right item-table-heading\">@lang('pdf_discount_label')</th>\n        @endif\n        @if($invoice->tax_per_item === 'YES')\n        <th class=\"pl-10 text-right item-table-heading\">@lang('pdf_tax_label')</th>\n        @endif\n        <th class=\"text-right item-table-heading\">@lang('pdf_amount_label')</th>\n    </tr>\n    @php\n        $index = 1\n    @endphp\n    @foreach ($invoice->items as $item)\n        <tr class=\"item-row\">\n            <td\n                class=\"pr-20 text-right item-cell\"\n                style=\"vertical-align: top;\"\n            >\n                {{$index}}\n            </td>\n            <td\n                class=\"pl-0 text-left item-cell\"\n                style=\"vertical-align: top;\"\n            >\n                <span>{{ $item->name }}</span><br>\n                <span class=\"item-description\">{!! nl2br(htmlspecialchars($item->description)) !!}</span>\n            </td>\n            @foreach($customFields as $field)\n                <td class=\"text-right item-cell\" style=\"vertical-align: top;\">\n                    {{ $item->getCustomFieldValueBySlug($field->slug) }}\n                </td>\n            @endforeach\n            <td\n                class=\"pr-20 text-right item-cell\"\n                style=\"vertical-align: top;\"\n            >\n                {{$item->quantity}} @if($item->unit_name) {{$item->unit_name}} @endif\n            </td>\n            <td\n                class=\"pr-20 text-right item-cell\"\n                style=\"vertical-align: top;\"\n            >\n                {!! format_money_pdf($item->price, $invoice->customer->currency) !!}\n            </td>\n\n            @if($invoice->discount_per_item === 'YES')\n                <td\n                    class=\"pl-10 text-right item-cell\"\n                    style=\"vertical-align: top;\"\n                >\n                    @if($item->discount_type === 'fixed')\n                            {!! format_money_pdf($item->discount_val, $invoice->customer->currency) !!}\n                        @endif\n                        @if($item->discount_type === 'percentage')\n                            {{$item->discount}}%\n                        @endif\n                </td>\n            @endif\n\n            @if($invoice->tax_per_item === 'YES')\n                <td\n                    class=\"pl-10 text-right item-cell\"\n                    style=\"vertical-align: top;\"\n                >\n                    {!! format_money_pdf($item->tax, $invoice->customer->currency) !!}\n                </td>\n            @endif\n\n            <td\n                class=\"text-right item-cell\"\n                style=\"vertical-align: top;\"\n            >\n                {!! format_money_pdf($item->total, $invoice->customer->currency) !!}\n            </td>\n        </tr>\n        @php\n            $index += 1\n        @endphp\n    @endforeach\n</table>\n\n<hr class=\"item-cell-table-hr\">\n\n<div class=\"total-display-container\">\n    <table width=\"100%\" cellspacing=\"0px\" border=\"0\" class=\"total-display-table @if(count($invoice->items) > 12) page-break @endif\">\n        <tr>\n            <td class=\"border-0 total-table-attribute-label\">@lang('pdf_subtotal')</td>\n            <td class=\"py-2 border-0 item-cell total-table-attribute-value\">\n                {!! format_money_pdf($invoice->sub_total, $invoice->customer->currency) !!}\n            </td>\n        </tr>\n\n        @if($invoice->discount > 0)\n            @if ($invoice->discount_per_item === 'NO')\n                <tr>\n                    <td class=\"border-0 total-table-attribute-label\">\n                        @if($invoice->discount_type === 'fixed')\n                            @lang('pdf_discount_label')\n                        @endif\n                        @if($invoice->discount_type === 'percentage')\n                            @lang('pdf_discount_label') ({{$invoice->discount}}%)\n                        @endif\n                    </td>\n                    <td class=\"py-2 border-0 item-cell total-table-attribute-value\" >\n                        @if($invoice->discount_type === 'fixed')\n                            {!! format_money_pdf($invoice->discount_val, $invoice->customer->currency) !!}\n                        @endif\n                        @if($invoice->discount_type === 'percentage')\n                            {!! format_money_pdf($invoice->discount_val, $invoice->customer->currency) !!}\n                        @endif\n                    </td>\n                </tr>\n            @endif\n        @endif\n\n        @if ($invoice->tax_per_item === 'YES')\n            @foreach ($taxes as $tax)\n                <tr>\n                    <td class=\"border-0 total-table-attribute-label\">\n                        {{$tax->name.' ('.$tax->percent.'%)'}}\n                    </td>\n                    <td class=\"py-2 border-0 item-cell total-table-attribute-value\">\n                        {!! format_money_pdf($tax->amount, $invoice->customer->currency) !!}\n                    </td>\n                </tr>\n            @endforeach\n        @else\n            @foreach ($invoice->taxes as $tax)\n                <tr>\n                    <td class=\"border-0 total-table-attribute-label\">\n                        {{$tax->name.' ('.$tax->percent.'%)'}}\n                    </td>\n                    <td class=\"py-2 border-0 item-cell total-table-attribute-value\">\n                        {!! format_money_pdf($tax->amount, $invoice->customer->currency) !!}\n                    </td>\n                </tr>\n            @endforeach\n        @endif\n\n        <tr>\n            <td class=\"py-3\"></td>\n            <td class=\"py-3\"></td>\n        </tr>\n        <tr>\n            <td class=\"border-0 total-border-left total-table-attribute-label\">\n                @lang('pdf_total')\n            </td>\n            <td\n                class=\"py-8 border-0 total-border-right item-cell total-table-attribute-value\"\n                style=\"color: #5851D8\"\n            >\n                {!! format_money_pdf($invoice->total, $invoice->customer->currency)!!}\n            </td>\n        </tr>\n    </table>\n</div>\n"
  },
  {
    "path": "resources/views/app/pdf/locale/th.blade.php",
    "content": "<style type=\"text/css\">\n    @font-face {\n        font-family: 'THSarabunNew';\n        font-style: normal;\n        font-weight: normal;\n        src: url(\"{{ resource_path('static/fonts/THSarabunNew.ttf') }}\") format('truetype');\n    }\n\n    @font-face {\n        font-family: 'THSarabunNew';\n        font-style: normal;\n        font-weight: bold;\n        src: url(\"{{ resource_path('static/fonts/THSarabunNew-Bold.ttf') }}\") format('truetype');\n    }\n\n    @font-face {\n        font-family: 'THSarabunNew';\n        font-style: italic;\n        font-weight: normal;\n        src: url(\"{{ resource_path('static/fonts/THSarabunNew-Italic.ttf') }}\") format('truetype');\n    }\n\n    @font-face {\n        font-family: 'THSarabunNew';\n        font-style: italic;\n        font-weight: bold;\n        src: url(\"{{ resource_path('static/fonts/THSarabunNew-BoldItalic.ttf') }}\") format('truetype');\n    }\n\n    body {\n        font-family: \"THSarabunNew\", sans-serif !important;\n    }\n\n</style>\n"
  },
  {
    "path": "resources/views/app/pdf/payment/payment.blade.php",
    "content": "<!DOCTYPE html>\n<html>\n\n<head>\n    <title>@lang('pdf_payment_label') - {{ $payment->payment_number }}</title>\n    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n\n    <style type=\"text/css\">\n        /* -- Base -- */\n        body {\n            font-family: \"DejaVu Sans\";\n        }\n\n        html {\n            margin: 0px;\n            padding: 0px;\n            margin-top: 50px;\n            margin-bottom: 50px;\n        }\n\n        table {\n            border-collapse: collapse;\n        }\n\n        hr {\n            color: rgba(0, 0, 0, 0.2);\n            border: 0.5px solid #EAF1FB;\n            margin: 50px 0px;\n        }\n\n        /* -- Heeader -- */\n\n        .header-container {\n            /* position: absolute; */\n            width: 100%;\n            padding: 0 30px;\n            margin-bottom: 50px;\n            /* height: 150px;\n            left: 0px;\n            top: -60px; */\n        }\n\n        /* .header-section-left {\n            padding-top: 45px;\n            padding-bottom: 45px;\n            padding-left: 30px;\n            display:inline-block;\n            width:30%;\n        } */\n\n        .header-logo {\n            /* position: absolute; */\n            text-transform: capitalize;\n            color: #817AE3;\n            padding-top: 0px;\n        }\n\n        .company-address-container {\n            width: 50%;\n            text-transform: capitalize;\n            padding-left: 80px;\n            margin-bottom: 2px;\n        }\n\n        /* .header-section-right {\n            display: inline-block;\n            position: absolute;\n            right: 0;\n            padding: 15px 30px 15px 0px;\n            float: right;\n        } */\n\n        .header-section-right {\n            text-align: right;\n        }\n\n        .header {\n            font-size: 20px;\n            color: rgba(0, 0, 0, 0.7);\n        }\n\n        /* -- Company Address -- */\n\n        .company-details h1 {\n            margin: 0;\n\n            font-weight: bold;\n            font-size: 15px;\n            line-height: 22px;\n            letter-spacing: 0.05em;\n            text-align: left;\n            max-width: 220px;\n        }\n\n        .company-address {\n            margin-top: 0px;\n            font-size: 12px;\n            line-height: 15px;\n            padding-right: 60px;\n            color: #595959;\n            word-wrap: break-word;\n        }\n\n        .content-wrapper {\n            display: block;\n            height: 200px;\n        }\n\n        .main-content {\n            display: inline-block;\n            padding-top: 20px\n        }\n\n        /* -- Customer Address -- */\n        .customer-address-container {\n            display: block;\n            float: left;\n            width: 40%;\n            padding: 0 0 0 30px;\n        }\n\n        /* -- Shipping -- */\n\n        .shipping-address-label {\n            padding-top: 5px;\n            font-size: 12px;\n            line-height: 18px;\n            margin-bottom: 0px;\n        }\n\n        .shipping-address-name {\n            padding: 0px;\n            font-size: 15px;\n            line-height: 22px;\n            margin: 0px;\n        }\n\n        .shipping-address {\n            font-size: 10px;\n            line-height: 15px;\n            color: #595959;\n            margin: 0px;\n            width: 160px;\n        }\n\n        /* -- Billing -- */\n\n        .billing-address-container {\n            display: block;\n            float: left;\n        }\n\n        .billing-address-container--right {\n            float: right;\n        }\n\n        .billing-address-label {\n            padding-top: 5px;\n            font-size: 12px;\n            line-height: 18px;\n            margin-bottom: 0px;\n            color: #55547A;\n        }\n\n        .billing-address-name {\n            padding: 0px;\n            font-size: 15px;\n            line-height: 22px;\n            margin: 0px;\n        }\n\n        .billing-address {\n            font-size: 10px;\n            line-height: 15px;\n            color: #595959;\n            margin: 0px;\n            width: 180px;\n            word-wrap: break-word;\n        }\n\n        /* -- Payment Details -- */\n\n        .payment-details-container {\n            display: inline;\n            position: absolute;\n            width: 40%;\n            height: 120px;\n            left: 440px;\n            padding: 5px 10px 0 0;\n        }\n\n        .attribute-label {\n            font-size: 12px;\n            line-height: 18px;\n            text-align: left;\n            color: #55547A\n        }\n\n        .attribute-value {\n            font-size: 12px;\n            line-height: 18px;\n            text-align: right;\n        }\n\n        /* -- Notes -- */\n\n        .notes {\n            font-size: 12px;\n            color: #595959;\n            margin-top: 100px;\n            margin-left: 30px;\n            width: 90%;\n            text-align: left;\n            page-break-before: avoid;\n        }\n\n        .notes-label {\n            font-size: 15px;\n            line-height: 22px;\n            letter-spacing: 0.05em;\n            color: #040405;\n            width: 108px;\n            white-space: nowrap;\n            height: 19.87px;\n            padding-bottom: 10px;\n        }\n\n        .content-heading {\n            margin-top: 10px;\n            width: 100%;\n            text-align: center;\n        }\n\n        p {\n            padding: 0 0 0 0;\n            margin: 0 0 0 0;\n        }\n\n        .content-heading span {\n            font-weight: normal;\n            font-size: 14px;\n            line-height: 25px;\n            padding-bottom: 5px;\n            border-bottom: 1px solid #B9C1D1;\n        }\n\n        /* -- Total Display Box -- */\n\n        .total-display-box {\n            min-width: 315px;\n            display: block;\n            margin-right: 30px;\n            background: #F9FBFF;\n            border: 1px solid #EAF1FB;\n            box-sizing: border-box;\n            float: right;\n            padding: 12px 15px 15px 15px;\n        }\n\n        .total-display-label {\n            display: inline;\n            font-weight: bold;\n            font-size: 14px;\n            line-height: 21px;\n            color: #595959;\n        }\n\n        .total-display-box .amount {\n            float: right;\n            font-weight: bold;\n            font-size: 14px;\n            line-height: 21px;\n            text-align: right;\n            color: #5851D8;\n            margin-left: 150px;\n        }\n\n    </style>\n\n    @if (App::isLocale('th'))\n        @include('app.pdf.locale.th')\n    @endif\n</head>\n\n<body>\n    <div class=\"header-container\">\n        <table width=\"100%\">\n            <tr>\n                @if ($logo)\n                    <td width=\"50%\" class=\"header-section-left\">\n                        <img style=\"height: 50px;\" class=\"header-logo\" src=\"{{ $logo }}\" alt=\"Company Logo\">\n                    @else\n                        @if ($payment->customer)\n                    <td class=\"header-section-left\" style=\"padding-top:0px;\">\n                        <h1 class=\"header-logo\"> {{ $payment->customer->company->name }} </h1>\n                @endif\n                @endif\n                </td>\n                <td width=\"50%\" class=\"header-section-right company-details company-address\">\n                    {!! $company_address !!}\n                </td>\n            </tr>\n        </table>\n    </div>\n\n    <hr style=\"border: 0.620315px solid #E8E8E8;\">\n\n    <p class=\"content-heading\">\n        <span>@lang('pdf_payment_receipt_label')</span>\n    </p>\n\n    <div class=\"content-wrapper\">\n        <div class=\"main-content\">\n            <div class=\"customer-address-container\">\n                <div class=\"billing-address-container billing-address\">\n                    @if ($billing_address)\n                        @lang('pdf_received_from')\n                        {!! $billing_address !!}\n                    @endif\n                </div>\n                <div class=\"billing-address-container--right\">\n                </div>\n                <div style=\"clear: both;\"></div>\n            </div>\n\n            <div class=\"payment-details-container\">\n                <table width=\"100%\">\n                    <tr>\n                        <td class=\"attribute-label\">@lang('pdf_payment_date')</td>\n                        <td class=\"attribute-value\"> &nbsp;{{ $payment->formattedPaymentDate }}</td>\n                    </tr>\n                    <tr>\n                        <td class=\"attribute-label\">@lang('pdf_payment_number')</td>\n                        <td class=\"attribute-value\"> &nbsp;{{ $payment->payment_number }}</td>\n                    </tr>\n                    <tr>\n                        <td class=\"attribute-label\">@lang('pdf_payment_mode')</td>\n                        <td class=\"attribute-value\">\n                            &nbsp;{{ $payment->paymentMethod ? $payment->paymentMethod->name : '-' }}</td>\n                    </tr>\n                    @if ($payment->invoice && $payment->invoice->invoice_number)\n                        <tr>\n                            <td class=\"attribute-label\">@lang('pdf_invoice_label')</td>\n                            <td class=\"attribute-value\"> &nbsp;{{ $payment->invoice->invoice_number }}</td>\n                        </tr>\n                    @endif\n                </table>\n            </div>\n        </div>\n        <div style=\"clear: both;\"></div>\n    </div>\n    <div class=\"total-display-box\">\n        <p class=\"total-display-label\">@lang('pdf_payment_amount_received_label')</p>\n        <span class=\"amount\">{!! format_money_pdf($payment->amount, $payment->customer->currency) !!}</span>\n    </div>\n    <div class=\"notes\">\n        @if ($notes)\n            <div class=\"notes-label\">\n                @lang('pdf_notes')\n            </div>\n            {!! $notes !!}\n        @endif\n    </div>\n</body>\n\n</html>\n"
  },
  {
    "path": "resources/views/app/pdf/reports/expenses.blade.php",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n    <title>@lang('pdf_expense_report_label')</title>\n    <style type=\"text/css\">\n        body {\n            font-family: \"DejaVu Sans\";\n        }\n\n        table {\n            border-collapse: collapse;\n        }\n\n        .sub-container {\n            padding: 0px 20px;\n        }\n\n        .report-header {\n            width: 100%;\n        }\n\n        .heading-text {\n            font-weight: bold;\n            font-size: 24px;\n            color: #5851D8;\n            width: 100%;\n            text-align: left;\n            padding: 0px;\n            margin: 0px;\n        }\n\n        .heading-date-range {\n            font-weight: normal;\n            font-size: 15px;\n            color: #A5ACC1;\n            width: 100%;\n            text-align: right;\n            padding: 0px;\n            margin: 0px;\n        }\n\n        .sub-heading-text {\n            font-weight: normal;\n            font-size: 16px;\n            color: #595959;\n            padding: 0px;\n            margin: 0px;\n            margin-top: 6px;\n        }\n\n        .expenses-title {\n            margin-top: 60px;\n            padding-left: 3px;\n            font-size: 16px;\n            line-height: 21px;\n            color: #040405;\n        }\n\n        .expenses-table-container {\n            padding-left: 10px;\n        }\n\n        .expenses-table {\n            width: 100%;\n            padding-bottom: 10px;\n        }\n\n        .expense-title {\n            padding: 0px;\n            margin: 0px;\n            font-size: 14px;\n            line-height: 21px;\n            color: #595959;\n        }\n\n        .expense-amount {\n            padding: 0px;\n            margin: 0px;\n            font-size: 14px;\n            line-height: 21px;\n            text-align: right;\n            color: #595959;\n        }\n\n        .expense-total-table {\n            border-top: 1px solid #EAF1FB;\n            width: 100%;\n        }\n\n        .expense-total-cell {\n            padding-right: 20px;\n            padding-top: 10px;\n        }\n\n        .expense-total {\n            padding-top: 10px;\n            padding-right: 30px;\n            padding: 0px;\n            margin: 0px;\n            text-align: right;\n            font-weight: bold;\n            font-size: 16px;\n            line-height: 21px;\n            text-align: right;\n            color: #040405;\n        }\n\n        .report-footer {\n            width: 100%;\n            margin-top: 40px;\n            padding: 15px 20px;\n            background: #F9FBFF;\n            box-sizing: border-box;\n        }\n\n        .report-footer-label {\n            padding: 0px;\n            margin: 0px;\n            text-align: left;\n            font-weight: bold;\n            font-size: 16px;\n            line-height: 21px;\n            color: #595959;\n        }\n\n        .report-footer-value {\n            padding: 0px;\n            margin: 0px;\n            text-align: right;\n            font-weight: bold;\n            font-size: 20px;\n            line-height: 21px;\n            color: #5851D8;\n        }\n    </style>\n\n    @if (App::isLocale('th'))\n    @include('app.pdf.locale.th')\n    @endif\n</head>\n\n<body>\n    <div class=\"sub-container\">\n        <table class=\"report-header\">\n            <tr>\n                <td>\n                    <p class=\"heading-text\">{{ $company->name }}</p>\n                </td>\n                <td>\n                    <p class=\"heading-date-range\">{{ $from_date }} - {{ $to_date }}</p>\n                </td>\n            </tr>\n            <tr>\n                <td colspan=\"2\">\n                    <p class=\"sub-heading-text\">@lang('pdf_expense_report_label')</p>\n                </td>\n            </tr>\n        </table>\n        <p class=\"expenses-title\">@lang('pdf_expenses_label')</p>\n        <div class=\"expenses-table-container\">\n            <table class=\"expenses-table\">\n                @foreach ($expenseCategories as $expenseCategory)\n                <tr>\n                    <td>\n                        <p class=\"expense-title\">\n                            {{ $expenseCategory->category->name }}\n                        </p>\n                    </td>\n                    <td>\n                        <p class=\"expense-amount\">\n                            {!! format_money_pdf($expenseCategory->total_amount, $currency) !!}\n                        </p>\n                    </td>\n                </tr>\n                @endforeach\n            </table>\n        </div>\n    </div>\n\n    <table class=\"expense-total-table\">\n        <tr>\n            <td class=\"expense-total-cell\">\n                <p class=\"expense-total\">{!! format_money_pdf($totalExpense, $currency) !!}</p>\n            </td>\n        </tr>\n    </table>\n    <table class=\"report-footer\">\n        <tr>\n            <td>\n                <p class=\"report-footer-label\">@lang('pdf_total_expenses_label')</p>\n            </td>\n            <td>\n                <p class=\"report-footer-value\">{!! format_money_pdf($totalExpense, $currency) !!}</p>\n            </td>\n        </tr>\n    </table>\n</body>\n\n</html>"
  },
  {
    "path": "resources/views/app/pdf/reports/profit-loss.blade.php",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n    <title>@lang('pdf_profit_loss_label')</title>\n    <style type=\"text/css\">\n        body {\n            font-family: \"DejaVu Sans\";\n        }\n\n        table {\n            border-collapse: collapse;\n        }\n\n        .sub-container {\n            padding: 0px 20px;\n        }\n\n        .report-header {\n            width: 100%;\n        }\n\n        .heading-text {\n            font-weight: bold;\n            font-size: 24px;\n            color: #5851D8;\n            width: 100%;\n            text-align: left;\n            padding: 0px;\n            margin: 0px;\n        }\n\n        .heading-date-range {\n            font-weight: normal;\n            font-size: 15px;\n            color: #A5ACC1;\n            width: 100%;\n            text-align: right;\n            padding: 0px;\n            margin: 0px;\n        }\n\n        .sub-heading-text {\n            font-weight: normal;\n            font-size: 16px;\n            color: #595959;\n            padding: 0px;\n            margin: 0px;\n            margin-top: 6px;\n        }\n\n        .income-table {\n            margin-top: 53px;\n            width: 100%;\n        }\n\n        .income-title {\n            padding: 0px;\n            margin: 0px;\n            font-size: 16px;\n            line-height: 21px;\n            color: #040405;\n            text-align: left;\n        }\n\n        .income-amount {\n            padding: 0px;\n            margin: 0px;\n            font-weight: bold;\n            font-size: 16px;\n            line-height: 21px;\n            text-align: right;\n            color: #040405;\n            text-align: right;\n        }\n\n        .expenses-title {\n            margin-top: 20px;\n            padding-left: 3px;\n            font-size: 16px;\n            line-height: 21px;\n            color: #040405;\n        }\n\n        .expenses-table-container {\n            padding-left: 10px;\n        }\n\n        .expenses-table {\n            width: 100%;\n            padding-bottom: 10px;\n        }\n\n        .expense-title {\n            padding: 0px;\n            margin: 0px;\n            font-size: 14px;\n            line-height: 21px;\n            color: #595959;\n        }\n\n        .expense-amount {\n            padding: 0px;\n            margin: 0px;\n            font-size: 14px;\n            line-height: 21px;\n            text-align: right;\n            color: #595959;\n        }\n\n        .expense-total-indicator-table {\n            border-top: 1px solid #EAF1FB;\n            width: 100%;\n        }\n\n        .expense-total-cell {\n            padding-right: 20px;\n            padding-top: 10px;\n        }\n\n        .expense-total {\n            padding-top: 10px;\n            padding-right: 30px;\n            padding: 0px;\n            margin: 0px;\n            text-align: right;\n            font-weight: bold;\n            font-size: 16px;\n            line-height: 21px;\n            text-align: right;\n            color: #040405;\n        }\n\n        .report-footer {\n            width: 100%;\n            margin-top: 40px;\n            padding: 15px 20px;\n            background: #F9FBFF;\n            box-sizing: border-box;\n        }\n\n        .report-footer-label {\n            padding: 0px;\n            margin: 0px;\n            text-align: left;\n            font-weight: bold;\n            font-size: 16px;\n            line-height: 21px;\n            color: #595959;\n        }\n\n        .report-footer-value {\n            padding: 0px;\n            margin: 0px;\n            text-align: right;\n            font-weight: bold;\n            font-size: 20px;\n            line-height: 21px;\n            color: #5851D8;\n        }\n    </style>\n\n    @if (App::isLocale('th'))\n    @include('app.pdf.locale.th')\n    @endif\n</head>\n\n<body>\n    <div class=\"sub-container\">\n        <table class=\"report-header\">\n            <tr>\n                <td>\n                    <p class=\"heading-text\">{{ $company->name }}</p>\n                </td>\n                <td>\n                    <p class=\"heading-date-range\">{{ $from_date }} - {{ $to_date }}</p>\n                </td>\n            </tr>\n            <tr>\n                <td colspan=\"2\">\n                    <p class=\"sub-heading-text\">@lang('pdf_profit_loss_label')</p>\n                </td>\n            </tr>\n        </table>\n\n        <table class=\"income-table\">\n            <tr>\n                <td>\n                    <p class=\"income-title\">@lang(\"pdf_income_label\")</p>\n                </td>\n                <td>\n                    <p class=\"income-amount\">{!! format_money_pdf($income, $currency) !!}</p>\n                </td>\n            </tr>\n        </table>\n        <p class=\"expenses-title\">@lang('pdf_expenses_label')</p>\n        <div class=\"expenses-table-container\">\n            <table class=\"expenses-table\">\n                @foreach ($expenseCategories as $expenseCategory)\n                <tr>\n                    <td>\n                        <p class=\"expense-title\">\n                            {{ $expenseCategory->category->name }}\n                        </p>\n                    </td>\n                    <td>\n                        <p class=\"expense-amount\">\n                            {!! format_money_pdf($expenseCategory->total_amount, $currency) !!}\n                        </p>\n                    </td>\n                </tr>\n                @endforeach\n\n            </table>\n        </div>\n    </div>\n\n    <table class=\"expense-total-indicator-table\">\n        <tr>\n            <td class=\"expense-total-cell\">\n                <p class=\"expense-total\">{!! format_money_pdf($totalExpense, $currency) !!}</p>\n            </td>\n        </tr>\n    </table>\n    <table class=\"report-footer\">\n        <tr>\n            <td>\n                <p class=\"report-footer-label\">@lang(\"pdf_net_profit_label\")</p>\n            </td>\n            <td>\n                <p class=\"report-footer-value\">{!! format_money_pdf($income - $totalExpense, $currency) !!}</p>\n            </td>\n        </tr>\n    </table>\n</body>\n\n</html>"
  },
  {
    "path": "resources/views/app/pdf/reports/sales-customers.blade.php",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n    <title>@lang('pdf_sales_customers_label')</title>\n    <style type=\"text/css\">\n        body {\n            font-family: \"DejaVu Sans\";\n        }\n\n        table {\n            border-collapse: collapse;\n        }\n\n        .sub-container {\n            padding: 0px 20px;\n        }\n\n        .report-header {\n            width: 100%;\n        }\n\n        .heading-text {\n            font-weight: bold;\n            font-size: 24px;\n            color: #5851D8;\n            width: 100%;\n            text-align: left;\n            padding: 0px;\n            margin: 0px;\n        }\n\n        .heading-date-range {\n            font-weight: normal;\n            font-size: 15px;\n            color: #A5ACC1;\n            width: 100%;\n            text-align: right;\n            padding: 0px;\n            margin: 0px;\n        }\n\n        .sub-heading-text {\n            font-weight: bold;\n            font-size: 16px;\n            line-height: 21px;\n            color: #595959;\n            padding: 0px;\n            margin: 0px;\n            margin-top: 30px;\n        }\n\n        .sales-customer-name {\n            margin-top: 20px;\n            padding-left: 3px;\n            font-size: 16px;\n            line-height: 21px;\n            color: #040405;\n        }\n\n        .sales-table-container {\n            padding-left: 10px;\n        }\n\n        .sales-table {\n            width: 100%;\n            padding-bottom: 10px;\n        }\n\n        .sales-information-text {\n            padding: 0px;\n            margin: 0px;\n            font-size: 14px;\n            line-height: 21px;\n            color: #595959;\n        }\n\n        .sales-amount {\n            padding: 0px;\n            margin: 0px;\n            font-size: 14px;\n            line-height: 21px;\n            text-align: right;\n            color: #595959;\n        }\n\n        .sales-total-indicator-table {\n            border-top: 1px solid #EAF1FB;\n            width: 100%;\n        }\n\n        .sales-total-cell {\n            padding-top: 10px;\n        }\n\n        .sales-total-amount {\n            padding-top: 10px;\n            padding-right: 30px;\n            padding: 0px;\n            margin: 0px;\n            text-align: right;\n            font-weight: bold;\n            font-size: 16px;\n            line-height: 21px;\n            text-align: right;\n            color: #040405;\n        }\n\n        .report-footer {\n            width: 100%;\n            margin-top: 40px;\n            padding: 15px 20px;\n            background: #F9FBFF;\n            box-sizing: border-box;\n        }\n\n        .report-footer-label {\n            padding: 0px;\n            margin: 0px;\n            text-align: left;\n            font-weight: bold;\n            font-size: 16px;\n            line-height: 21px;\n            color: #595959;\n        }\n\n        .report-footer-value {\n            padding: 0px;\n            margin: 0px;\n            text-align: right;\n            font-weight: bold;\n            font-size: 20px;\n            line-height: 21px;\n            color: #5851D8;\n        }\n\n        .text-center {\n            text-align: center;\n        }\n    </style>\n\n    @if (App::isLocale('th'))\n    @include('app.pdf.locale.th')\n    @endif\n</head>\n\n<body>\n    <div class=\"sub-container\">\n        <table class=\"report-header\">\n            <tr>\n                <td>\n                    <p class=\"heading-text\">{{ $company->name }}</p>\n                </td>\n                <td>\n                    <p class=\"heading-date-range\">{{ $from_date }} - {{ $to_date }}</p>\n                </td>\n            </tr>\n            <tr>\n                <td colspan=\"2\">\n                    <p class=\"sub-heading-text text-center\">@lang('pdf_customer_sales_report')</p>\n                </td>\n            </tr>\n        </table>\n\n        @foreach ($customers as $customer)\n        <p class=\"sales-customer-name\">{{ $customer->name }}</p>\n        <div class=\"sales-table-container\">\n            <table class=\"sales-table\">\n                @foreach ($customer->invoices as $invoice)\n                <tr>\n                    <td>\n                        <p class=\"sales-information-text\">\n                            {{ $invoice->formattedInvoiceDate }} ({{ $invoice->invoice_number }})\n                        </p>\n                    </td>\n                    <td>\n                        <p class=\"sales-amount\">\n                            {!! format_money_pdf($invoice->base_total, $currency) !!}\n                        </p>\n                    </td>\n                </tr>\n                @endforeach\n            </table>\n        </div>\n        <table class=\"sales-total-indicator-table\">\n            <tr>\n                <td class=\"sales-total-cell\">\n                    <p class=\"sales-total-amount\">\n                        {!! format_money_pdf($customer->totalAmount, $currency) !!}\n                    </p>\n                </td>\n            </tr>\n        </table>\n        @endforeach\n    </div>\n\n\n    <table class=\"report-footer\">\n        <tr>\n            <td>\n                <p class=\"report-footer-label\">@lang('pdf_total_sales_label')</p>\n            </td>\n            <td>\n                <p class=\"report-footer-value\">\n                    {!! format_money_pdf($totalAmount, $currency) !!}\n                </p>\n            </td>\n        </tr>\n    </table>\n</body>\n\n</html>"
  },
  {
    "path": "resources/views/app/pdf/reports/sales-items.blade.php",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n    <title>@lang('pdf_sales_items_label')</title>\n    <style type=\"text/css\">\n        body {\n            font-family: \"DejaVu Sans\";\n        }\n\n        table {\n            border-collapse: collapse;\n        }\n\n        .sub-container {\n            padding: 0px 20px;\n        }\n\n        .report-header {\n            width: 100%;\n        }\n\n        .heading-text {\n            font-weight: bold;\n            font-size: 24px;\n            color: #5851D8;\n            width: 100%;\n            text-align: left;\n            padding: 0px;\n            margin: 0px;\n        }\n\n        .heading-date-range {\n            font-weight: normal;\n            font-size: 15px;\n            color: #A5ACC1;\n            width: 100%;\n            text-align: right;\n            padding: 0px;\n            margin: 0px;\n        }\n\n        .sub-heading-text {\n            font-weight: bold;\n            font-size: 16px;\n            line-height: 21px;\n            color: #595959;\n            padding: 0px;\n            margin: 0px;\n            margin-top: 30px;\n        }\n\n        .sales-items-title {\n            margin-top: 20px;\n            padding-left: 3px;\n            font-size: 16px;\n            line-height: 21px;\n            color: #040405;\n        }\n\n        .items-table-container {\n            padding-left: 10px;\n        }\n\n        .items-table {\n            width: 100%;\n            padding-bottom: 10px;\n        }\n\n        .item-title {\n            padding: 0px;\n            margin: 0px;\n            font-size: 14px;\n            line-height: 21px;\n            color: #595959;\n        }\n\n        .item-sales-amount {\n            padding: 0px;\n            margin: 0px;\n            font-size: 14px;\n            line-height: 21px;\n            text-align: right;\n            color: #595959;\n        }\n\n        .sales-total-indicator-table {\n            border-top: 1px solid #EAF1FB;\n            width: 100%;\n        }\n\n        .sales-total-cell {\n            padding-top: 10px;\n        }\n\n        .sales-total-amount {\n            padding-top: 10px;\n            padding-right: 30px;\n            padding: 0px;\n            margin: 0px;\n            text-align: right;\n            font-weight: bold;\n            font-size: 16px;\n            line-height: 21px;\n            text-align: right;\n            color: #040405;\n        }\n\n        .report-footer {\n            width: 100%;\n            margin-top: 40px;\n            padding: 15px 20px;\n            background: #F9FBFF;\n            box-sizing: border-box;\n        }\n\n        .report-footer-label {\n            padding: 0px;\n            margin: 0px;\n            text-align: left;\n            font-weight: bold;\n            font-size: 16px;\n            line-height: 21px;\n            color: #595959;\n        }\n\n        .report-footer-value {\n            padding: 0px;\n            margin: 0px;\n            text-align: right;\n            font-weight: bold;\n            font-size: 20px;\n            line-height: 21px;\n            color: #5851D8;\n        }\n\n        .text-center {\n            text-align: center;\n        }\n    </style>\n\n    @if (App::isLocale('th'))\n    @include('app.pdf.locale.th')\n    @endif\n</head>\n\n<body>\n    <div class=\"sub-container\">\n        <table class=\"report-header\">\n            <tr>\n                <td>\n                    <p class=\"heading-text\">{{ $company->name }}</p>\n                </td>\n                <td>\n                    <p class=\"heading-date-range\">{{ $from_date }} - {{ $to_date }}</p>\n                </td>\n            </tr>\n            <tr>\n                <td colspan=\"2\">\n                    <p class=\"sub-heading-text text-center\">@lang('pdf_item_sales_label')</p>\n                </td>\n            </tr>\n        </table>\n\n        <p class=\"sales-items-title\">@lang('pdf_items_label')</p>\n        @foreach ($items as $item)\n        <div class=\"items-table-container\">\n            <table class=\"items-table\">\n                <tr>\n                    <td>\n                        <p class=\"item-title\">\n                            {{ $item->name }}\n                        </p>\n                    </td>\n                    <td>\n                        <p class=\"item-sales-amount\">\n                            {!! format_money_pdf($item->total_amount, $currency) !!}\n                        </p>\n                    </td>\n                </tr>\n            </table>\n        </div>\n        @endforeach\n\n        <table class=\"sales-total-indicator-table\">\n            <tr>\n                <td class=\"sales-total-cell\">\n                    <p class=\"sales-total-amount\">\n                        {!! format_money_pdf($totalAmount, $currency) !!}\n                    </p>\n                </td>\n            </tr>\n        </table>\n    </div>\n\n\n    <table class=\"report-footer\">\n        <tr>\n            <td>\n                <p class=\"report-footer-label\">@lang('pdf_total_sales_label')</p>\n            </td>\n            <td>\n                <p class=\"report-footer-value\">\n                    {!! format_money_pdf($totalAmount, $currency) !!}\n                </p>\n            </td>\n        </tr>\n    </table>\n</body>\n\n</html>"
  },
  {
    "path": "resources/views/app/pdf/reports/tax-summary.blade.php",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n    <title>@lang('pdf_tax_summery_label')</title>\n    <style type=\"text/css\">\n        body {\n            font-family: \"DejaVu Sans\";\n        }\n\n        table {\n            border-collapse: collapse;\n        }\n\n        .sub-container {\n            padding: 0px 20px;\n        }\n\n        .report-header {\n            width: 100%;\n            margin-bottom: 60px\n        }\n\n        .heading-text {\n            font-weight: bold;\n            font-size: 24px;\n            color: #5851D8;\n            width: 100%;\n            text-align: left;\n            padding: 0px;\n            margin: 0px;\n        }\n\n        .heading-date-range {\n            font-weight: normal;\n            font-size: 15px;\n            color: #A5ACC1;\n            width: 100%;\n            text-align: right;\n            padding: 0px;\n            margin: 0px;\n        }\n\n        .sub-heading-text {\n            font-weight: bold;\n            font-size: 16px;\n            color: #595959;\n            padding: 0px;\n            margin: 0px;\n            margin-top: 6px;\n        }\n\n        .tax-types-title {\n            margin-top: 20px;\n            padding-left: 3px;\n            font-size: 16px;\n            line-height: 21px;\n            color: #040405;\n        }\n\n        .tax-table-container {\n            padding-left: 10px;\n        }\n\n        .tax-table {\n            width: 100%;\n            padding-bottom: 10px;\n        }\n\n        .tax-title {\n            padding: 0px;\n            margin: 0px;\n            font-size: 14px;\n            line-height: 21px;\n            color: #595959;\n        }\n\n        .tax-amount {\n            padding: 0px;\n            margin: 0px;\n            font-size: 14px;\n            line-height: 21px;\n            text-align: right;\n            color: #595959;\n        }\n\n        .tax-total-table {\n            border-top: 1px solid #EAF1FB;\n            width: 100%;\n        }\n\n        .tax-total-cell {\n            padding-right: 20px;\n            padding-top: 10px;\n        }\n\n        .tax-total {\n            padding-top: 10px;\n            padding-right: 30px;\n            padding: 0px;\n            margin: 0px;\n            text-align: right;\n            font-weight: bold;\n            font-size: 16px;\n            line-height: 21px;\n            text-align: right;\n            color: #040405;\n        }\n\n        .report-footer {\n            width: 100%;\n            margin-top: 40px;\n            padding: 15px 20px;\n            background: #F9FBFF;\n            box-sizing: border-box;\n        }\n\n        .report-footer-label {\n            padding: 0px;\n            margin: 0px;\n            text-align: left;\n            font-weight: bold;\n            font-size: 16px;\n            line-height: 21px;\n            color: #595959;\n        }\n\n        .report-footer-value {\n            padding: 0px;\n            margin: 0px;\n            text-align: right;\n            font-weight: bold;\n            font-size: 20px;\n            line-height: 21px;\n            color: #5851D8;\n        }\n    </style>\n\n    @if (App::isLocale('th'))\n    @include('app.pdf.locale.th')\n    @endif\n</head>\n\n<body>\n    <div class=\"sub-container\">\n        <table class=\"report-header\">\n            <tr>\n                <td>\n                    <p class=\"heading-text\">\n                        {{ $company->name }}\n                    </p>\n                </td>\n                <td>\n                    <p class=\"heading-date-range\">\n                        {{ $from_date }} - {{ $to_date }}\n                    </p>\n                </td>\n            </tr>\n            <tr>\n                <td colspan=\"2\">\n                    <p class=\"sub-heading-text\">@lang('pdf_tax_report_label')</p>\n                </td>\n            </tr>\n        </table>\n        <p class=\"tax-types-title\">@lang('pdf_tax_types_label')</p>\n        <div class=\"tax-table-container\">\n            <table class=\"tax-table\">\n                @foreach ($taxTypes as $tax)\n                <tr>\n                    <td>\n                        <p class=\"tax-title\">\n                            {{ $tax->taxType->name }}\n                        </p>\n                    </td>\n                    <td>\n                        <p class=\"tax-amount\">\n                            {!! format_money_pdf($tax->total_tax_amount, $currency) !!}\n                        </p>\n                    </td>\n                </tr>\n                @endforeach\n\n            </table>\n        </div>\n    </div>\n\n    <table class=\"tax-total-table\">\n        <tr>\n            <td class=\"tax-total-cell\">\n                <p class=\"tax-total\">\n                    {!! format_money_pdf($totalTaxAmount, $currency) !!}\n                </p>\n            </td>\n        </tr>\n    </table>\n    <table class=\"report-footer\">\n        <tr>\n            <td>\n                <p class=\"report-footer-label\">@lang('pdf_total_tax_label')</p>\n            </td>\n            <td>\n                <p class=\"report-footer-value\">\n                    {!! format_money_pdf($totalTaxAmount, $currency) !!}\n                </p>\n            </td>\n        </tr>\n    </table>\n</body>\n\n</html>"
  },
  {
    "path": "resources/views/app.blade.php",
    "content": "<!DOCTYPE html>\n<html lang=\"{{ str_replace('_', '-', app()->getLocale()) }}\">\n\n<head>\n    <meta charset=\"utf-8\">\n    <title>{{ get_page_title(!Request::header('company')) }}</title>\n    <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n    <link rel=\"apple-touch-icon\" sizes=\"180x180\" href=\"/favicons/apple-touch-icon.png\">\n    <link rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/favicons/favicon-32x32.png\">\n    <link rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/favicons/favicon-16x16.png\">\n    <link rel=\"manifest\" href=\"/favicons/site.webmanifest\">\n    <link rel=\"mask-icon\" href=\"/favicons/safari-pinned-tab.svg\" color=\"#5851d8\">\n    <link rel=\"shortcut icon\" href=\"/favicons/favicon.ico\">\n    <meta name=\"msapplication-TileColor\" content=\"#ffffff\">\n    <meta name=\"msapplication-config\" content=\"/favicons/browserconfig.xml\">\n    <meta name=\"theme-color\" content=\"#ffffff\">\n    <meta name=\"csrf-token\" content=\"{{ csrf_token() }}\">\n\n    <!-- Module Styles -->\n    @foreach(\\Crater\\Services\\Module\\ModuleFacade::allStyles() as $name => $path)\n        <link rel=\"stylesheet\" href=\"/modules/styles/{{ $name }}\">\n    @endforeach\n\n    @vite\n</head>\n\n<body\n    class=\"h-full overflow-hidden bg-gray-100 font-base\n    @if(isset($current_theme)) theme-{{ $current_theme }} @else theme-{{get_app_setting('admin_portal_theme') ?? 'crater'}} @endif \">\n\n    <!-- Module Scripts -->\n    @foreach (\\Crater\\Services\\Module\\ModuleFacade::allScripts() as $name => $path)\n        @if (\\Illuminate\\Support\\Str::startsWith($path, ['http://', 'https://']))\n            <script type=\"module\" src=\"{!! $path !!}\"></script>\n        @else\n            <script type=\"module\" src=\"/modules/scripts/{{ $name }}\"></script>\n        @endif\n    @endforeach\n\n    <script type=\"module\">\n        @if(isset($customer_logo))\n\n        window.customer_logo = \"/storage/{{$customer_logo}}\"\n\n        @endif\n        @if(isset($login_page_logo))\n\n        window.login_page_logo = \"/storage/{{$login_page_logo}}\"\n\n        @endif\n        @if(isset($login_page_heading))\n\n        window.login_page_heading = \"{{$login_page_heading}}\"\n\n        @endif\n        @if(isset($login_page_description))\n\n        window.login_page_description = \"{{$login_page_description}}\"\n\n        @endif     \n        @if(isset($copyright_text))\n\n        window.copyright_text = \"{{$copyright_text}}\"\n\n        @endif    \n\n        window.Crater.start()\n    </script>\n</body>\n\n</html>\n"
  },
  {
    "path": "resources/views/emails/send/estimate.blade.php",
    "content": "@component('mail::layout')\n    {{-- Header --}}\n    @slot('header')\n        @component('mail::header', ['url' => ''])\n        @if($data['company']['logo'])\n            <img class=\"header-logo\" src=\"{{asset($data['company']['logo'])}}\" alt=\"{{$data['company']['name']}}\">\n        @else\n            {{$data['company']['name']}}\n        @endif\n        @endcomponent\n    @endslot\n\n    {{-- Body --}}\n    <!-- Body here -->\n\n    {{-- Subcopy --}}\n    @slot('subcopy')\n        @component('mail::subcopy')\n            {!! $data['body'] !!}\n            @if(!$data['attach']['data'])\n                @component('mail::button', ['url' => $data['url']])\n                    View Estimate\n                @endcomponent\n            @endif\n        @endcomponent\n    @endslot\n\n    {{-- Footer --}}\n    @slot('footer')\n        @component('mail::footer')\n            Powered by <a class=\"footer-link\" href=\"https://craterapp.com\">Crater</a>\n        @endcomponent\n    @endslot\n@endcomponent\n\n"
  },
  {
    "path": "resources/views/emails/send/invoice.blade.php",
    "content": "    @component('mail::layout')\n    {{-- Header --}}\n    @slot('header')\n        @component('mail::header', ['url' => ''])\n        @if($data['company']['logo'])\n            <img class=\"header-logo\" src=\"{{asset($data['company']['logo'])}}\" alt=\"{{$data['company']['name']}}\">\n        @else\n            {{$data['company']['name']}}\n        @endif\n        @endcomponent\n    @endslot\n\n    {{-- Body --}}\n    <!-- Body here -->\n\n    {{-- Subcopy --}}\n    @slot('subcopy')\n        @component('mail::subcopy')\n            {!! $data['body'] !!}\n            @if(!$data['attach']['data'])\n                @component('mail::button', ['url' => $data['url']])\n                    View Invoice\n                @endcomponent\n            @endif\n        @endcomponent\n    @endslot\n\n    {{-- Footer --}}\n    @slot('footer')\n        @component('mail::footer')\n            Powered by <a class=\"footer-link\" href=\"https://craterapp.com\">Crater</a>\n        @endcomponent\n    @endslot\n@endcomponent\n"
  },
  {
    "path": "resources/views/emails/send/payment.blade.php",
    "content": "@component('mail::layout')\n    {{-- Header --}}\n    @slot('header')\n        @component('mail::header', ['url' => ''])\n        @if($data['company']['logo'])\n            <img class=\"header-logo\" src=\"{{asset($data['company']['logo'])}}\" alt=\"{{$data['company']['name']}}\">\n        @else\n            {{$data['company']['name']}}\n        @endif\n        @endcomponent\n    @endslot\n\n    {{-- Body --}}\n    <!-- Body here -->\n\n    {{-- Subcopy --}}\n    @slot('subcopy')\n        @component('mail::subcopy')\n            {!! $data['body'] !!}\n            @if(!$data['attach']['data'])\n                @component('mail::button', ['url' => $data['url']])\n                    View Payment\n                @endcomponent\n            @endif\n        @endcomponent\n    @endslot\n\n    {{-- Footer --}}\n    @slot('footer')\n        @component('mail::footer')\n            Powered by <a class=\"footer-link\" href=\"https://craterapp.com\">Crater</a>\n        @endcomponent\n    @endslot\n@endcomponent\n"
  },
  {
    "path": "resources/views/emails/test.blade.php",
    "content": "@component('mail::message')\n# Test Email from Crater\n\n{{ $my_message }}\n\n@endcomponent\n"
  },
  {
    "path": "resources/views/emails/viewed/estimate.blade.php",
    "content": "@component('mail::message')\n{{ $data['user']['name'] }} viewed this Estimate.\n\n@component('mail::button', ['url' => url('/admin/estimates/'.$data['estimate']['id'].'/view')])\nView Estimate\n@endcomponent\n\nThanks,<br>\n{{ config('app.name') }}\n@endcomponent\n"
  },
  {
    "path": "resources/views/emails/viewed/invoice.blade.php",
    "content": "@component('mail::message')\n{{ $data['user']['name'] }} viewed this Invoice.\n\n@component('mail::button', ['url' => url('/admin/invoices/'.$data['invoice']['id'].'/view')])\nView Invoice\n@endcomponent\n\nThanks,<br>\n{{ config('app.name') }}\n@endcomponent\n"
  },
  {
    "path": "resources/views/vendor/laravel-menu/bootstrap-navbar-items.blade.php",
    "content": "@foreach($items as $item)\n  <li @lm_attrs($item) @if($item->hasChildren()) class=\"nav-item dropdown\" @endif @lm_endattrs>\n    @if($item->link) <a @lm_attrs($item->link) @if($item->hasChildren()) class=\"nav-link dropdown-toggle\" role=\"button\" @data_toggle_attribute=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\" @else class=\"nav-link\" @endif @lm_endattrs href=\"{!! $item->url() !!}\">\n      {!! $item->title !!}\n      @if($item->hasChildren()) <b class=\"caret\"></b> @endif\n    </a>\n    @else\n      <span class=\"navbar-text\">{!! $item->title !!}</span>\n    @endif\n    @if($item->hasChildren())\n      <ul class=\"dropdown-menu\">\n        @include(config('laravel-menu.views.bootstrap-items'),\narray('items' => $item->children()))\n      </ul>\n    @endif\n  </li>\n  @if($item->divider)\n  \t<li{!! Lavary\\Menu\\Builder::attributes($item->divider) !!}></li>\n  @endif\n@endforeach\n"
  },
  {
    "path": "resources/views/vendor/mail/html/button.blade.php",
    "content": "<table class=\"action\" align=\"center\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\">\n    <tr>\n        <td align=\"center\">\n            <table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\">\n                <tr>\n                    <td align=\"center\">\n                        <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\">\n                            <tr>\n                                <td>\n                                    <a href=\"{{ $url }}\" class=\"button button-{{ $color ?? 'primary' }}\" target=\"_blank\">{{ $slot }}</a>\n                                </td>\n                            </tr>\n                        </table>\n                    </td>\n                </tr>\n            </table>\n        </td>\n    </tr>\n</table>\n"
  },
  {
    "path": "resources/views/vendor/mail/html/footer.blade.php",
    "content": "<tr>\n    <td>\n        <table class=\"footer\" align=\"center\" width=\"570\" cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\">\n            <tr>\n                <td class=\"content-cell\" align=\"center\">\n                    {{ Illuminate\\Mail\\Markdown::parse($slot) }}\n                </td>\n            </tr>\n        </table>\n    </td>\n</tr>\n"
  },
  {
    "path": "resources/views/vendor/mail/html/header.blade.php",
    "content": "<tr>\n    <td class=\"header\">\n        {{-- <a href=\"#\"> --}}\n            {{ $slot }}\n        {{-- </a> --}}\n    </td>\n</tr>\n"
  },
  {
    "path": "resources/views/vendor/mail/html/layout.blade.php",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n</head>\n<body>\n    <style>\n        @media only screen and (max-width: 600px) {\n            .inner-body {\n                width: 100% !important;\n            }\n\n            .footer {\n                width: 100% !important;\n            }\n        }\n\n        @media only screen and (max-width: 500px) {\n            .button {\n                width: 100% !important;\n            }\n        }\n    </style>\n\n    <table class=\"wrapper\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\">\n        <tr>\n            <td align=\"center\">\n                <table class=\"content\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\">\n                    {{ $header ?? '' }}\n\n                    <!-- Email Body -->\n                    <tr>\n                        <td class=\"body\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\">\n                            <table class=\"inner-body\" align=\"center\" width=\"570\" cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\">\n                                <!-- Body content -->\n                                <tr>\n                                    <td class=\"content-cell\">\n                                        {{ Illuminate\\Mail\\Markdown::parse($slot) }}\n\n                                        {{ $subcopy ?? '' }}\n                                    </td>\n                                </tr>\n                            </table>\n                        </td>\n                    </tr>\n\n                    {{ $footer ?? '' }}\n                </table>\n            </td>\n        </tr>\n    </table>\n</body>\n</html>\n"
  },
  {
    "path": "resources/views/vendor/mail/html/message.blade.php",
    "content": "@component('mail::layout')\n    {{-- Header --}}\n    @slot('header')\n        @component('mail::header', ['url' => config('app.url')])\n            {{ config('app.name') }}\n        @endcomponent\n    @endslot\n\n    {{-- Body --}}\n    {{ $slot }}\n\n    {{-- Subcopy --}}\n    @isset($subcopy)\n        @slot('subcopy')\n            @component('mail::subcopy')\n                {{ $subcopy }}\n            @endcomponent\n        @endslot\n    @endisset\n\n    {{-- Footer --}}\n    @slot('footer')\n        @component('mail::footer')\n            © {{ date('Y') }} {{ config('app.name') }}. @lang('All rights reserved.')\n        @endcomponent\n    @endslot\n@endcomponent\n"
  },
  {
    "path": "resources/views/vendor/mail/html/panel.blade.php",
    "content": "<table class=\"panel\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\">\n    <tr>\n        <td class=\"panel-content\">\n            <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\">\n                <tr>\n                    <td class=\"panel-item\">\n                        {{ Illuminate\\Mail\\Markdown::parse($slot) }}\n                    </td>\n                </tr>\n            </table>\n        </td>\n    </tr>\n</table>\n"
  },
  {
    "path": "resources/views/vendor/mail/html/promotion/button.blade.php",
    "content": "<table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\">\n    <tr>\n        <td align=\"center\">\n            <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\">\n                <tr>\n                    <td>\n                        <a href=\"{{ $url }}\" class=\"button button-green\" target=\"_blank\">{{ $slot }}</a>\n                    </td>\n                </tr>\n            </table>\n        </td>\n    </tr>\n</table>\n"
  },
  {
    "path": "resources/views/vendor/mail/html/promotion.blade.php",
    "content": "<table class=\"promotion\" align=\"center\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\">\n    <tr>\n        <td align=\"center\">\n            {{ Illuminate\\Mail\\Markdown::parse($slot) }}\n        </td>\n    </tr>\n</table>\n"
  },
  {
    "path": "resources/views/vendor/mail/html/subcopy.blade.php",
    "content": "<table class=\"subcopy\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\">\n    <tr>\n        <td>\n            {{ Illuminate\\Mail\\Markdown::parse($slot) }}\n        </td>\n    </tr>\n</table>\n"
  },
  {
    "path": "resources/views/vendor/mail/html/table.blade.php",
    "content": "<div class=\"table\">\n{{ Illuminate\\Mail\\Markdown::parse($slot) }}\n</div>\n"
  },
  {
    "path": "resources/views/vendor/mail/html/themes/default.css",
    "content": "/* Base */\n\nbody,\nbody *:not(html):not(style):not(br):not(tr):not(code) {\n    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif,\n        'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';\n    box-sizing: border-box;\n}\n\nbody {\n    background-color: #f8fafc;\n    color: #74787e;\n    height: 100%;\n    hyphens: auto;\n    line-height: 1.4;\n    margin: 0;\n    -moz-hyphens: auto;\n    -ms-word-break: break-all;\n    width: 100% !important;\n    -webkit-hyphens: auto;\n    -webkit-text-size-adjust: none;\n    word-break: break-all;\n    word-break: break-word;\n}\n\np,\nul,\nol,\nblockquote {\n    line-height: 1.4;\n    text-align: left;\n}\n\na {\n    color: #3869d4;\n}\n\na img {\n    border: none;\n}\n\n/* Typography */\n\nh1 {\n    color: #3d4852;\n    font-size: 19px;\n    font-weight: bold;\n    margin-top: 0;\n    text-align: left;\n}\n\nh2 {\n    color: #3d4852;\n    font-size: 16px;\n    font-weight: bold;\n    margin-top: 0;\n    text-align: left;\n}\n\nh3 {\n    color: #3d4852;\n    font-size: 14px;\n    font-weight: bold;\n    margin-top: 0;\n    text-align: left;\n}\n\np {\n    color: #3d4852;\n    font-size: 16px;\n    line-height: 1.5em;\n    margin-top: 0;\n    text-align: left;\n}\n\np.sub {\n    font-size: 12px;\n}\n\nimg {\n    max-width: 100%;\n}\n\n/* Layout */\n\n.wrapper {\n    background-color: #f8fafc;\n    margin: 0;\n    padding: 0;\n    width: 100%;\n    -premailer-cellpadding: 0;\n    -premailer-cellspacing: 0;\n    -premailer-width: 100%;\n}\n\n.content {\n    margin: 0;\n    padding: 0;\n    width: 100%;\n    -premailer-cellpadding: 0;\n    -premailer-cellspacing: 0;\n    -premailer-width: 100%;\n}\n\n/* Header */\n\n.header {\n    padding: 25px 0;\n    text-align: center;\n}\n\n.header {\n    color: #bbbfc3;\n    font-size: 25px;\n    font-weight: 400;\n    text-transform: capitalize;\n    text-decoration: none;\n    text-shadow: 0 1px 0 white;\n}\n\n.header-logo {\n    height: 50px;\n}\n\n/* Body */\n\n.body {\n    background-color: #ffffff;\n    border-bottom: 1px solid #edeff2;\n    border-top: 1px solid #edeff2;\n    margin: 0;\n    padding: 0;\n    width: 100%;\n    -premailer-cellpadding: 0;\n    -premailer-cellspacing: 0;\n    -premailer-width: 100%;\n}\n.company-name {\n    font-weight: 500;\n    margin-left: 4px;\n}\n\n.inner-body {\n    background-color: #ffffff;\n    margin: 0 auto;\n    padding: 0;\n    width: 570px;\n    -premailer-cellpadding: 0;\n    -premailer-cellspacing: 0;\n    -premailer-width: 570px;\n}\n\n/* Subcopy */\n\n.subcopy {\n    margin-top: 25px;\n    padding-top: 25px;\n}\n\n.subcopy p {\n    text-align: center;\n    font-size: 20px;\n}\n\n/* Footer */\n\n.footer {\n    margin: 0 auto;\n    padding: 0;\n    text-align: center;\n    width: 570px;\n    -premailer-cellpadding: 0;\n    -premailer-cellspacing: 0;\n    -premailer-width: 570px;\n}\n\n.footer p {\n    color: #aeaeae;\n    font-size: 12px;\n    text-align: center;\n}\n\n.footer-link {\n    text-decoration: none;\n    color: #5851D8;\n}\n/* Tables */\n\n.table table {\n    margin: 30px auto;\n    width: 100%;\n    -premailer-cellpadding: 0;\n    -premailer-cellspacing: 0;\n    -premailer-width: 100%;\n}\n\n.table th {\n    border-bottom: 1px solid #edeff2;\n    padding-bottom: 8px;\n    margin: 0;\n}\n\n.table td {\n    color: #74787e;\n    font-size: 15px;\n    line-height: 18px;\n    padding: 10px 0;\n    margin: 0;\n}\n\n.content-cell {\n    padding: 35px;\n}\n\n/* Buttons */\n\n.action {\n    margin: 30px auto;\n    padding: 0;\n    text-align: center;\n    width: 100%;\n    -premailer-cellpadding: 0;\n    -premailer-cellspacing: 0;\n    -premailer-width: 100%;\n}\n\n.button {\n    border-radius: 3px;\n    box-shadow: 0 2px 3px rgba(0, 0, 0, 0.16);\n    color: #fff;\n    display: inline-block;\n    text-decoration: none;\n    -webkit-text-size-adjust: none;\n}\n\n.button-blue,\n.button-primary {\n    background-color: #5851D8;\n    border-top: 10px solid #5851D8;\n    border-right: 18px solid #5851D8;\n    border-bottom: 10px solid #5851D8;\n    border-left: 18px solid #5851D8;\n}\n\n.button-green,\n.button-success {\n    background-color: #38c172;\n    border-top: 10px solid #38c172;\n    border-right: 18px solid #38c172;\n    border-bottom: 10px solid #38c172;\n    border-left: 18px solid #38c172;\n}\n\n.button-red,\n.button-error {\n    background-color: #e3342f;\n    border-top: 10px solid #e3342f;\n    border-right: 18px solid #e3342f;\n    border-bottom: 10px solid #e3342f;\n    border-left: 18px solid #e3342f;\n}\n\n/* Panels */\n\n.panel {\n    margin: 0 0 21px;\n}\n\n.panel-content {\n    background-color: #f1f5f8;\n    padding: 16px;\n}\n\n.panel-item {\n    padding: 0;\n}\n\n.panel-item p:last-of-type {\n    margin-bottom: 0;\n    padding-bottom: 0;\n}\n\n/* Promotions */\n\n.promotion {\n    background-color: #ffffff;\n    border: 2px dashed #9ba2ab;\n    margin: 0;\n    margin-bottom: 25px;\n    margin-top: 25px;\n    padding: 24px;\n    width: 100%;\n    -premailer-cellpadding: 0;\n    -premailer-cellspacing: 0;\n    -premailer-width: 100%;\n}\n\n.promotion h1 {\n    text-align: center;\n}\n\n.promotion p {\n    font-size: 15px;\n    text-align: center;\n}\n"
  },
  {
    "path": "resources/views/vendor/mail/text/button.blade.php",
    "content": "{{ $slot }}: {{ $url }}\n"
  },
  {
    "path": "resources/views/vendor/mail/text/footer.blade.php",
    "content": "{{ $slot }}\n"
  },
  {
    "path": "resources/views/vendor/mail/text/header.blade.php",
    "content": "[{{ $slot }}]({{ $url }})\n"
  },
  {
    "path": "resources/views/vendor/mail/text/layout.blade.php",
    "content": "{!! strip_tags($header) !!}\n\n{!! strip_tags($slot) !!}\n@isset($subcopy)\n\n{!! strip_tags($subcopy) !!}\n@endisset\n\n{!! strip_tags($footer) !!}\n"
  },
  {
    "path": "resources/views/vendor/mail/text/message.blade.php",
    "content": "@component('mail::layout')\n    {{-- Header --}}\n    @slot('header')\n        @component('mail::header', ['url' => config('app.url')])\n            {{ config('app.name') }}\n        @endcomponent\n    @endslot\n\n    {{-- Body --}}\n    {{ $slot }}\n\n    {{-- Subcopy --}}\n    @isset($subcopy)\n        @slot('subcopy')\n            @component('mail::subcopy')\n                {{ $subcopy }}\n            @endcomponent\n        @endslot\n    @endisset\n\n    {{-- Footer --}}\n    @slot('footer')\n        @component('mail::footer')\n            © {{ date('Y') }} {{ config('app.name') }}. @lang('All rights reserved.')\n        @endcomponent\n    @endslot\n@endcomponent\n"
  },
  {
    "path": "resources/views/vendor/mail/text/panel.blade.php",
    "content": "{{ $slot }}\n"
  },
  {
    "path": "resources/views/vendor/mail/text/promotion/button.blade.php",
    "content": "[{{ $slot }}]({{ $url }})\n"
  },
  {
    "path": "resources/views/vendor/mail/text/promotion.blade.php",
    "content": "{{ $slot }}\n"
  },
  {
    "path": "resources/views/vendor/mail/text/subcopy.blade.php",
    "content": "{{ $slot }}\n"
  },
  {
    "path": "resources/views/vendor/mail/text/table.blade.php",
    "content": "{{ $slot }}\n"
  },
  {
    "path": "resources/views/vendor/media-library/image.blade.php",
    "content": "<img{!! $attributeString !!} loading=\"{{ $loadingAttributeValue }}\" src=\"{{ $media->getUrl($conversion) }}\" alt=\"{{ $media->name }}\">"
  },
  {
    "path": "resources/views/vendor/media-library/placeholderSvg.blade.php",
    "content": "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n<svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" xml:space=\"preserve\" x=\"0\"\n y=\"0\" viewBox=\"0 0 {{ $originalImageWidth }} {{ $originalImageHeight }}\">\n\t<image width=\"{{ $originalImageWidth }}\" height=\"{{ $originalImageHeight }}\" xlink:href=\"{{ $tinyImageBase64 }}\">\n\t</image>\n</svg>"
  },
  {
    "path": "resources/views/vendor/media-library/responsiveImage.blade.php",
    "content": "<img{!! $attributeString !!} loading=\"{{ $loadingAttributeValue }}\" srcset=\"{{ $media->getSrcset($conversion) }}\" src=\"{{ $media->getUrl($conversion) }}\" width=\"{{ $width }}\">"
  },
  {
    "path": "resources/views/vendor/media-library/responsiveImageWithPlaceholder.blade.php",
    "content": "<img{!! $attributeString !!} loading=\"{{ $loadingAttributeValue }}\" srcset=\"{{ $media->getSrcset($conversion) }}\" onload=\"if(!(width=this.getBoundingClientRect().width))return;this.onload=null;this.sizes=Math.ceil(width/window.innerWidth*100)+'vw';\" sizes=\"1px\" src=\"{{ $media->getUrl($conversion) }}\" width=\"{{ $width }}\">"
  },
  {
    "path": "routes/api.php",
    "content": "<?php\n\nuse Crater\\Http\\Controllers\\AppVersionController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Auth\\ForgotPasswordController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Auth\\ResetPasswordController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Backup\\BackupsController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Backup\\DownloadBackupController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Company\\CompaniesController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Company\\CompanyController as AdminCompanyController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Customer\\CustomersController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Customer\\CustomerStatsController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\CustomField\\CustomFieldsController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Dashboard\\DashboardController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Estimate\\ChangeEstimateStatusController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Estimate\\ConvertEstimateController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Estimate\\EstimatesController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Estimate\\EstimateTemplatesController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Estimate\\SendEstimateController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Estimate\\SendEstimatePreviewController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\ExchangeRate\\ExchangeRateProviderController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\ExchangeRate\\GetActiveProviderController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\ExchangeRate\\GetExchangeRateController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\ExchangeRate\\GetSupportedCurrenciesController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\ExchangeRate\\GetUsedCurrenciesController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Expense\\ExpenseCategoriesController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Expense\\ExpensesController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Expense\\ShowReceiptController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Expense\\UploadReceiptController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\General\\BootstrapController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\General\\BulkExchangeRateController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\General\\ConfigController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\General\\CountriesController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\General\\CurrenciesController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\General\\DateFormatsController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\General\\GetAllUsedCurrenciesController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\General\\NextNumberController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\General\\NotesController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\General\\NumberPlaceholdersController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\General\\SearchController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\General\\SearchUsersController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\General\\TimezonesController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Invoice\\ChangeInvoiceStatusController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Invoice\\CloneInvoiceController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Invoice\\InvoicesController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Invoice\\InvoiceTemplatesController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Invoice\\SendInvoiceController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Invoice\\SendInvoicePreviewController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Item\\ItemsController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Item\\UnitsController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Mobile\\AuthController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Modules\\ApiTokenController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Modules\\CompleteModuleInstallationController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Modules\\CopyModuleController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Modules\\DisableModuleController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Modules\\DownloadModuleController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Modules\\EnableModuleController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Modules\\ModuleController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Modules\\ModulesController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Modules\\UnzipModuleController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Modules\\UploadModuleController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Payment\\PaymentMethodsController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Payment\\PaymentsController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Payment\\SendPaymentController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Payment\\SendPaymentPreviewController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\RecurringInvoice\\RecurringInvoiceController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\RecurringInvoice\\RecurringInvoiceFrequencyController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Role\\AbilitiesController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Role\\RolesController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Settings\\CompanyController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Settings\\CompanyCurrencyCheckTransactionsController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Settings\\DiskController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Settings\\GetCompanyMailConfigurationController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Settings\\GetCompanySettingsController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Settings\\GetSettingsController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Settings\\GetUserSettingsController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Settings\\MailConfigurationController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Settings\\TaxTypesController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Settings\\UpdateCompanySettingsController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Settings\\UpdateSettingsController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Settings\\UpdateUserSettingsController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Update\\CheckVersionController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Update\\CopyFilesController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Update\\DeleteFilesController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Update\\DownloadUpdateController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Update\\FinishUpdateController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Update\\MigrateUpdateController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Update\\UnzipUpdateController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Users\\UsersController;\nuse Crater\\Http\\Controllers\\V1\\Customer\\Auth\\ForgotPasswordController as AuthForgotPasswordController;\nuse Crater\\Http\\Controllers\\V1\\Customer\\Auth\\ResetPasswordController as AuthResetPasswordController;\nuse Crater\\Http\\Controllers\\V1\\Customer\\Estimate\\AcceptEstimateController as CustomerAcceptEstimateController;\nuse Crater\\Http\\Controllers\\V1\\Customer\\Estimate\\EstimatesController as CustomerEstimatesController;\nuse Crater\\Http\\Controllers\\V1\\Customer\\Expense\\ExpensesController as CustomerExpensesController;\nuse Crater\\Http\\Controllers\\V1\\Customer\\General\\BootstrapController as CustomerBootstrapController;\nuse Crater\\Http\\Controllers\\V1\\Customer\\General\\DashboardController as CustomerDashboardController;\nuse Crater\\Http\\Controllers\\V1\\Customer\\General\\ProfileController as CustomerProfileController;\nuse Crater\\Http\\Controllers\\V1\\Customer\\Invoice\\InvoicesController as CustomerInvoicesController;\nuse Crater\\Http\\Controllers\\V1\\Customer\\Payment\\PaymentMethodController;\nuse Crater\\Http\\Controllers\\V1\\Customer\\Payment\\PaymentsController as CustomerPaymentsController;\nuse Crater\\Http\\Controllers\\V1\\Installation\\AppDomainController;\nuse Crater\\Http\\Controllers\\V1\\Installation\\DatabaseConfigurationController;\nuse Crater\\Http\\Controllers\\V1\\Installation\\FilePermissionsController;\nuse Crater\\Http\\Controllers\\V1\\Installation\\FinishController;\nuse Crater\\Http\\Controllers\\V1\\Installation\\LoginController;\nuse Crater\\Http\\Controllers\\V1\\Installation\\OnboardingWizardController;\nuse Crater\\Http\\Controllers\\V1\\Installation\\RequirementsController;\nuse Crater\\Http\\Controllers\\V1\\Webhook\\CronJobController;\nuse Illuminate\\Support\\Facades\\Route;\n\n/*\n|--------------------------------------------------------------------------\n| API Routes\n|--------------------------------------------------------------------------\n|\n| Here is where you can register API routes for your application. These\n| routes are loaded by the RouteServiceProvider within a group which\n| is assigned the \"api\" middleware group. Enjoy building your API!\n|\n*/\n\n\n// ping\n//----------------------------------\n\nRoute::get('ping', function () {\n    return response()->json([\n        'success' => 'crater-self-hosted',\n    ]);\n})->name('ping');\n\n\n// Version 1 endpoints\n// --------------------------------------\nRoute::prefix('/v1')->group(function () {\n\n\n    // App version\n    // ----------------------------------\n\n    Route::get('/app/version', AppVersionController::class);\n\n\n    // Authentication & Password Reset\n    //----------------------------------\n\n    Route::group(['prefix' => 'auth'], function () {\n        Route::post('login', [AuthController::class, 'login']);\n\n        Route::post('logout', [AuthController::class, 'logout'])->middleware('auth:sanctum');\n\n        // Send reset password mail\n        Route::post('password/email', [ForgotPasswordController::class, 'sendResetLinkEmail'])->middleware(\"throttle:10,2\");\n\n        // handle reset password form process\n        Route::post('reset/password', [ResetPasswordController::class, 'reset']);\n    });\n\n\n    // Countries\n    //----------------------------------\n\n    Route::get('/countries', CountriesController::class);\n\n\n    // Onboarding\n    //----------------------------------\n\n    Route::middleware(['redirect-if-installed'])->prefix('installation')->group(function () {\n        Route::get('/wizard-step', [OnboardingWizardController::class, 'getStep']);\n\n        Route::post('/wizard-step', [OnboardingWizardController::class, 'updateStep']);\n\n        Route::get('/requirements', [RequirementsController::class, 'requirements']);\n\n        Route::get('/permissions', [FilePermissionsController::class, 'permissions']);\n\n        Route::post('/database/config', [DatabaseConfigurationController::class, 'saveDatabaseEnvironment']);\n\n        Route::get('/database/config', [DatabaseConfigurationController::class, 'getDatabaseEnvironment']);\n\n        Route::put('/set-domain', AppDomainController::class);\n\n        Route::post('/login', LoginController::class);\n\n        Route::post('/finish', FinishController::class);\n    });\n\n\n    Route::middleware(['auth:sanctum', 'company'])->group(function () {\n        Route::middleware(['bouncer'])->group(function () {\n\n            // Bootstrap\n            //----------------------------------\n\n            Route::get('/bootstrap', BootstrapController::class);\n\n            // Currencies\n            //----------------------------------\n\n            Route::prefix('/currencies')->group(function () {\n                Route::get('/used', GetAllUsedCurrenciesController::class);\n\n                Route::post('/bulk-update-exchange-rate', BulkExchangeRateController::class);\n            });\n\n\n            // Dashboard\n            //----------------------------------\n\n            Route::get('/dashboard', DashboardController::class);\n\n\n            // Auth check\n            //----------------------------------\n\n            Route::get('/auth/check', [AuthController::class, 'check']);\n\n\n            // Search users\n            //----------------------------------\n\n            Route::get('/search', SearchController::class);\n\n            Route::get('/search/user', SearchUsersController::class);\n\n\n            // MISC\n            //----------------------------------\n\n            Route::get('/config', ConfigController::class);\n\n            Route::get('/currencies', CurrenciesController::class);\n\n            Route::get('/timezones', TimezonesController::class);\n\n            Route::get('/date/formats', DateFormatsController::class);\n\n            Route::get('/next-number', NextNumberController::class);\n\n            Route::get('/number-placeholders', NumberPlaceholdersController::class);\n\n            Route::get('/current-company', AdminCompanyController::class);\n\n\n            // Customers\n            //----------------------------------\n\n            Route::post('/customers/delete', [CustomersController::class, 'delete']);\n\n            Route::get('customers/{customer}/stats', CustomerStatsController::class);\n\n            Route::resource('customers', CustomersController::class);\n\n\n            // Items\n            //----------------------------------\n\n            Route::post('/items/delete', [ItemsController::class, 'delete']);\n\n            Route::resource('items', ItemsController::class);\n\n            Route::resource('units', UnitsController::class);\n\n\n            // Invoices\n            //-------------------------------------------------\n\n            Route::get('/invoices/{invoice}/send/preview', SendInvoicePreviewController::class);\n\n            Route::post('/invoices/{invoice}/send', SendInvoiceController::class);\n\n            Route::post('/invoices/{invoice}/clone', CloneInvoiceController::class);\n\n            Route::post('/invoices/{invoice}/status', ChangeInvoiceStatusController::class);\n\n            Route::post('/invoices/delete', [InvoicesController::class, 'delete']);\n\n            Route::get('/invoices/templates', InvoiceTemplatesController::class);\n\n            Route::apiResource('invoices', InvoicesController::class);\n\n\n            // Recurring Invoice\n            //-------------------------------------------------\n\n            Route::get('/recurring-invoice-frequency', RecurringInvoiceFrequencyController::class);\n\n            Route::post('/recurring-invoices/delete', [RecurringInvoiceController::class, 'delete']);\n\n            Route::apiResource('recurring-invoices', RecurringInvoiceController::class);\n\n\n            // Estimates\n            //-------------------------------------------------\n\n            Route::get('/estimates/{estimate}/send/preview', SendEstimatePreviewController::class);\n\n            Route::post('/estimates/{estimate}/send', SendEstimateController::class);\n\n            Route::post('/estimates/{estimate}/status', ChangeEstimateStatusController::class);\n\n            Route::post('/estimates/{estimate}/convert-to-invoice', ConvertEstimateController::class);\n\n            Route::get('/estimates/templates', EstimateTemplatesController::class);\n\n            Route::post('/estimates/delete', [EstimatesController::class, 'delete']);\n\n            Route::apiResource('estimates', EstimatesController::class);\n\n\n            // Expenses\n            //----------------------------------\n\n            Route::get('/expenses/{expense}/show/receipt', ShowReceiptController::class);\n\n            Route::post('/expenses/{expense}/upload/receipts', UploadReceiptController::class);\n\n            Route::post('/expenses/delete', [ExpensesController::class, 'delete']);\n\n            Route::apiResource('expenses', ExpensesController::class);\n\n            Route::apiResource('categories', ExpenseCategoriesController::class);\n\n\n            // Payments\n            //----------------------------------\n\n            Route::get('/payments/{payment}/send/preview', SendPaymentPreviewController::class);\n\n            Route::post('/payments/{payment}/send', SendPaymentController::class);\n\n            Route::post('/payments/delete', [PaymentsController::class, 'delete']);\n\n            Route::apiResource('payments', PaymentsController::class);\n\n            Route::apiResource('payment-methods', PaymentMethodsController::class);\n\n\n            // Custom fields\n            //----------------------------------\n\n            Route::resource('custom-fields', CustomFieldsController::class);\n\n\n            // Backup & Disk\n            //----------------------------------\n\n            Route::apiResource('backups', BackupsController::class);\n\n            Route::apiResource('/disks', DiskController::class);\n\n            Route::get('download-backup', DownloadBackupController::class);\n\n            Route::get('/disk/drivers', [DiskController::class, 'getDiskDrivers']);\n\n\n            // Exchange Rate\n            //----------------------------------\n\n            Route::get('/currencies/{currency}/exchange-rate', GetExchangeRateController::class);\n\n            Route::get('/currencies/{currency}/active-provider', GetActiveProviderController::class);\n\n            Route::get('/used-currencies', GetUsedCurrenciesController::class);\n\n            Route::get('/supported-currencies', GetSupportedCurrenciesController::class);\n\n            Route::apiResource('exchange-rate-providers', ExchangeRateProviderController::class);\n\n\n            // Settings\n            //----------------------------------\n\n\n            Route::get('/me', [CompanyController::class, 'getUser']);\n\n            Route::put('/me', [CompanyController::class, 'updateProfile']);\n\n            Route::get('/me/settings', GetUserSettingsController::class);\n\n            Route::put('/me/settings', UpdateUserSettingsController::class);\n\n            Route::post('/me/upload-avatar', [CompanyController::class, 'uploadAvatar']);\n\n\n            Route::put('/company', [CompanyController::class, 'updateCompany']);\n\n            Route::post('/company/upload-logo', [CompanyController::class, 'uploadCompanyLogo']);\n\n            Route::get('/company/settings', GetCompanySettingsController::class);\n\n            Route::post('/company/settings', UpdateCompanySettingsController::class);\n\n            Route::get('/settings', GetSettingsController::class);\n\n            Route::post('/settings', UpdateSettingsController::class);\n\n            Route::get('/company/has-transactions', CompanyCurrencyCheckTransactionsController::class);\n\n\n            // Mails\n            //----------------------------------\n\n            Route::get('/mail/drivers', [MailConfigurationController::class, 'getMailDrivers']);\n\n            Route::get('/mail/config', [MailConfigurationController::class, 'getMailEnvironment']);\n\n            Route::post('/mail/config', [MailConfigurationController::class, 'saveMailEnvironment']);\n\n            Route::post('/mail/test', [MailConfigurationController::class, 'testEmailConfig']);\n\n            Route::get('/company/mail/config', GetCompanyMailConfigurationController::class);\n\n            Route::apiResource('notes', NotesController::class);\n\n\n            // Tax Types\n            //----------------------------------\n\n            Route::apiResource('tax-types', TaxTypesController::class);\n\n\n            // Roles\n            //----------------------------------\n\n            Route::get('abilities', AbilitiesController::class);\n\n            Route::apiResource('roles', RolesController::class);\n        });\n\n\n        // Self Update\n        //----------------------------------\n\n        Route::get('/check/update', CheckVersionController::class);\n\n        Route::post('/update/download', DownloadUpdateController::class);\n\n        Route::post('/update/unzip', UnzipUpdateController::class);\n\n        Route::post('/update/copy', CopyFilesController::class);\n\n        Route::post('/update/delete', DeleteFilesController::class);\n\n        Route::post('/update/migrate', MigrateUpdateController::class);\n\n        Route::post('/update/finish', FinishUpdateController::class);\n\n        // Companies\n        //-------------------------------------------------\n\n        Route::post('companies', [CompaniesController::class, 'store']);\n\n        Route::post('/transfer/ownership/{user}', [CompaniesController::class, 'transferOwnership']);\n\n        Route::post('companies/delete', [CompaniesController::class, 'destroy']);\n\n        Route::get('companies', [CompaniesController::class, 'getUserCompanies']);\n\n\n        // Users\n        //----------------------------------\n\n        Route::post('/users/delete', [UsersController::class, 'delete']);\n\n        Route::apiResource('/users', UsersController::class);\n\n\n        // Modules\n        //----------------------------------\n\n        Route::prefix('/modules')->group(function () {\n            Route::get('/', ModulesController::class);\n\n            Route::get('/check', ApiTokenController::class);\n\n            Route::get('/{module}', ModuleController::class);\n\n            Route::post('/{module}/enable', EnableModuleController::class);\n\n            Route::post('/{module}/disable', DisableModuleController::class);\n\n            Route::post('/download', DownloadModuleController::class);\n\n            Route::post('/upload', UploadModuleController::class);\n\n            Route::post('/unzip', UnzipModuleController::class);\n\n            Route::post('/copy', CopyModuleController::class);\n\n            Route::post('/complete', CompleteModuleInstallationController::class);\n        });\n    });\n\n\n    Route::prefix('/{company:slug}/customer')->group(function () {\n\n\n        // Authentication & Password Reset\n        //----------------------------------\n\n        Route::group(['prefix' => 'auth'], function () {\n\n            // Send reset password mail\n            Route::post('password/email', [AuthForgotPasswordController::class, 'sendResetLinkEmail']);\n\n            // handle reset password form process\n            Route::post('reset/password', [AuthResetPasswordController::class, 'reset'])->name('customer.password.reset');\n        });\n\n\n        // Invoices, Estimates, Payments and Expenses endpoints\n        //-------------------------------------------------------\n\n        Route::middleware(['auth:customer', 'customer-portal'])->group(function () {\n            Route::get('/bootstrap', CustomerBootstrapController::class);\n\n            Route::get('/dashboard', CustomerDashboardController::class);\n\n            Route::get('invoices', [CustomerInvoicesController::class, 'index']);\n\n            Route::get('invoices/{id}', [CustomerInvoicesController::class, 'show']);\n\n            Route::post('/estimate/{estimate}/status', CustomerAcceptEstimateController::class);\n\n            Route::get('estimates', [ CustomerEstimatesController::class, 'index']);\n\n            Route::get('estimates/{id}', [CustomerEstimatesController::class, 'show']);\n\n            Route::get('payments', [CustomerPaymentsController::class, 'index']);\n\n            Route::get('payments/{id}', [CustomerPaymentsController::class, 'show']);\n\n            Route::get('/payment-method', PaymentMethodController::class);\n\n            Route::get('expenses', [CustomerExpensesController::class, 'index']);\n\n            Route::get('expenses/{id}', [CustomerExpensesController::class, 'show']);\n\n            Route::post('/profile', [CustomerProfileController::class, 'updateProfile']);\n\n            Route::get('/me', [CustomerProfileController::class, 'getUser']);\n\n            Route::get('/countries', CountriesController::class);\n        });\n    });\n});\n\nRoute::get('/cron', CronJobController::class)->middleware('cron-job');\n"
  },
  {
    "path": "routes/channels.php",
    "content": "<?php\n\nuse Illuminate\\Support\\Facades\\Broadcast;\n\nBroadcast::channel('conversation.{cid}', function ($user, $cid) {\n    return true; //(int) $user->conversation_id === (int) $cid\n});\n\nBroadcast::channel('user.{uid}', function () {\n    return true; //(int) $user->conversation_id === (int) $cid\n});\n\nBroadcast::channel('company.{companyId}', function ($user, $companyId) {\n    return ['id' => $user->id, 'name' => $user->name];\n});\n"
  },
  {
    "path": "routes/console.php",
    "content": "<?php\n\nuse Illuminate\\Foundation\\Inspiring;\nuse Illuminate\\Support\\Facades\\Artisan;\n\n/*\n|--------------------------------------------------------------------------\n| Console Routes\n|--------------------------------------------------------------------------\n|\n| This file is where you may define all of your Closure based console\n| commands. Each Closure is bound to a command instance allowing a\n| simple approach to interacting with each command's IO methods.\n|\n*/\n\nArtisan::command('inspire', function () {\n    $this->comment(Inspiring::quote());\n})->describe('Display an inspiring quote');\n"
  },
  {
    "path": "routes/web.php",
    "content": "<?php\n\nuse Crater\\Http\\Controllers\\V1\\Admin\\Auth\\LoginController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Expense\\ShowReceiptController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Report\\CustomerSalesReportController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Report\\ExpensesReportController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Report\\ItemSalesReportController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Report\\ProfitLossReportController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Report\\TaxSummaryReportController;\nuse Crater\\Http\\Controllers\\V1\\Customer\\Auth\\LoginController as CustomerLoginController;\nuse Crater\\Http\\Controllers\\V1\\Customer\\EstimatePdfController as CustomerEstimatePdfController;\nuse Crater\\Http\\Controllers\\V1\\Customer\\InvoicePdfController as CustomerInvoicePdfController;\nuse Crater\\Http\\Controllers\\V1\\Customer\\PaymentPdfController as CustomerPaymentPdfController;\nuse Crater\\Http\\Controllers\\V1\\Modules\\ScriptController;\nuse Crater\\Http\\Controllers\\V1\\Modules\\StyleController;\nuse Crater\\Http\\Controllers\\V1\\PDF\\DownloadReceiptController;\nuse Crater\\Http\\Controllers\\V1\\PDF\\EstimatePdfController;\nuse Crater\\Http\\Controllers\\V1\\PDF\\InvoicePdfController;\nuse Crater\\Http\\Controllers\\V1\\PDF\\PaymentPdfController;\nuse Crater\\Models\\Company;\nuse Illuminate\\Support\\Facades\\Route;\n\n// Module Asset Includes\n// ----------------------------------------------\n\nRoute::get('/modules/styles/{style}', StyleController::class);\n\nRoute::get('/modules/scripts/{script}', ScriptController::class);\n\n\n// Admin Auth\n// ----------------------------------------------\n\nRoute::post('login', [LoginController::class, 'login']);\n\nRoute::post('auth/logout', function () {\n    Auth::guard('web')->logout();\n});\n\n\n// Customer auth\n// ----------------------------------------------\n\nRoute::post('/{company:slug}/customer/login', CustomerLoginController::class);\n\nRoute::post('/{company:slug}/customer/logout', function () {\n    Auth::guard('customer')->logout();\n});\n\n\n// Report PDF & Expense Endpoints\n// ----------------------------------------------\n\nRoute::middleware('auth:sanctum')->prefix('reports')->group(function () {\n\n    // sales report by customer\n    //----------------------------------\n    Route::get('/sales/customers/{hash}', CustomerSalesReportController::class);\n\n    // sales report by items\n    //----------------------------------\n    Route::get('/sales/items/{hash}', ItemSalesReportController::class);\n\n    // report for expenses\n    //----------------------------------\n    Route::get('/expenses/{hash}', ExpensesReportController::class);\n\n    // report for tax summary\n    //----------------------------------\n    Route::get('/tax-summary/{hash}', TaxSummaryReportController::class);\n\n    // report for profit and loss\n    //----------------------------------\n    Route::get('/profit-loss/{hash}', ProfitLossReportController::class);\n\n\n    // download expense receipt\n    // -------------------------------------------------\n    Route::get('/expenses/{expense}/download-receipt', DownloadReceiptController::class);\n    Route::get('/expenses/{expense}/receipt', ShowReceiptController::class);\n});\n\n\n// PDF Endpoints\n// ----------------------------------------------\n\nRoute::middleware('pdf-auth')->group(function () {\n\n    //  invoice pdf\n    // -------------------------------------------------\n    Route::get('/invoices/pdf/{invoice:unique_hash}', InvoicePdfController::class);\n\n    // estimate pdf\n    // -------------------------------------------------\n    Route::get('/estimates/pdf/{estimate:unique_hash}', EstimatePdfController::class);\n\n    // payment pdf\n    // -------------------------------------------------\n    Route::get('/payments/pdf/{payment:unique_hash}', PaymentPdfController::class);\n});\n\n\n// customer pdf endpoints for invoice, estimate and Payment\n// -------------------------------------------------\n\nRoute::prefix('/customer')->group(function () {\n    Route::get('/invoices/{email_log:token}', [CustomerInvoicePdfController::class, 'getInvoice']);\n    Route::get('/invoices/view/{email_log:token}', [CustomerInvoicePdfController::class, 'getPdf'])->name('invoice');\n\n    Route::get('/estimates/{email_log:token}', [CustomerEstimatePdfController::class, 'getEstimate']);\n    Route::get('/estimates/view/{email_log:token}', [CustomerEstimatePdfController::class, 'getPdf'])->name('estimate');\n\n    Route::get('/payments/{email_log:token}', [CustomerPaymentPdfController::class, 'getPayment']);\n    Route::get('/payments/view/{email_log:token}', [CustomerPaymentPdfController::class, 'getPdf'])->name('payment');\n});\n\n\n// Setup for installation of app\n// ----------------------------------------------\n\nRoute::get('/installation', function () {\n    return view('app');\n})->name('install')->middleware('redirect-if-installed');\n\n\n// Move other http requests to the Vue App\n// -------------------------------------------------\n\nRoute::get('/admin/{vue?}', function () {\n    return view('app');\n})->where('vue', '[\\/\\w\\.-]*')->name('admin.dashboard')->middleware(['install', 'redirect-if-unauthenticated']);\n\nRoute::get('{company:slug}/customer/{vue?}', function (Company $company) {\n    return view('app')->with([\n        'customer_logo' => get_company_setting('customer_portal_logo', $company->id),\n        'current_theme' => get_company_setting('customer_portal_theme', $company->id),\n        'customer_page_title' => get_company_setting('customer_portal_page_title', $company->id)\n    ]);\n})->where('vue', '[\\/\\w\\.-]*')->name('customer.dashboard')->middleware(['install']);\n\nRoute::get('/', function () {\n    return view('app');\n})->where('vue', '[\\/\\w\\.-]*')->name('home')->middleware(['install', 'guest']);\n\nRoute::get('/reset-password/{token}', function () {\n    return view('app');\n})->where('vue', '[\\/\\w\\.-]*')->name('reset-password')->middleware(['install', 'guest']);\n\nRoute::get('/forgot-password', function () {\n    return view('app');\n})->where('vue', '[\\/\\w\\.-]*')->name('forgot-password')->middleware(['install', 'guest']);\n\nRoute::get('/login', function () {\n    return view('app');\n})->where('vue', '[\\/\\w\\.-]*')->name('login')->middleware(['install', 'guest']);\n"
  },
  {
    "path": "server.php",
    "content": "<?php\n\n/**\n * Laravel - A PHP Framework For Web Artisans\n *\n * @package  Laravel\n * @author   Taylor Otwell <taylor@laravel.com>\n */\n\n$uri = urldecode(\n    parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH)\n);\n\n// This file allows us to emulate Apache's \"mod_rewrite\" functionality from the\n// built-in PHP web server. This provides a convenient way to test a Laravel\n// application without having installed a \"real\" web server software here.\nif ($uri !== '/' && file_exists(__DIR__.'/public'.$uri)) {\n    return false;\n}\n\nrequire_once __DIR__.'/public/index.php';\n"
  },
  {
    "path": "storage/app/.gitignore",
    "content": "*\n!public/\n!.gitignore\n"
  },
  {
    "path": "storage/fonts/.gitkeep",
    "content": ""
  },
  {
    "path": "storage/framework/.gitignore",
    "content": "config.php\nroutes.php\nschedule-*\ncompiled.php\nservices.json\nevents.scanned.php\nroutes.scanned.php\ndown\n"
  },
  {
    "path": "storage/framework/cache/.gitignore",
    "content": "*\n!.gitignore\n"
  },
  {
    "path": "storage/framework/sessions/.gitignore",
    "content": "*\n!.gitignore\n"
  },
  {
    "path": "storage/framework/views/.gitignore",
    "content": "*\n!.gitignore\n"
  },
  {
    "path": "storage/logs/.gitignore",
    "content": "*\n!.gitignore\n"
  },
  {
    "path": "tailwind.config.js",
    "content": "const colors = require('tailwindcss/colors')\nconst svgToDataUri = require('mini-svg-data-uri')\n\nfunction withOpacityValue(cssVariable) {\n  return ({ opacityVariable, opacityValue }) => {\n    if (opacityValue !== undefined) {\n      return `rgba(var(${cssVariable}), ${opacityValue})`;\n    }\n    if (opacityVariable !== undefined) {\n      return `rgba(var(${cssVariable}), var(${opacityVariable}, 1))`;\n    }\n    return `rgb(var(${cssVariable}))`;\n  };\n}\n\nmodule.exports = {\n  content: [\n    './resources/views/**/*.php',\n    './resources/scripts/**/*.js',\n    './resources/scripts/**/*.vue',\n  ],\n  theme: {\n    extend: {\n      colors: {\n        primary: {\n          50: withOpacityValue('--color-primary-50'),\n          100: withOpacityValue('--color-primary-100'),\n          200: withOpacityValue('--color-primary-200'),\n          300: withOpacityValue('--color-primary-300'),\n          400: withOpacityValue('--color-primary-400'),\n          500: withOpacityValue('--color-primary-500'),\n          600: withOpacityValue('--color-primary-600'),\n          700: withOpacityValue('--color-primary-700'),\n          800: withOpacityValue('--color-primary-800'),\n          900: withOpacityValue('--color-primary-900'),\n        },\n        black: '#040405',\n        red: colors.red,\n        teal: colors.teal,\n        gray: colors.slate,\n      },\n      spacing: {\n        88: '22rem',\n      },\n      backgroundImage: (theme) => ({\n        'multiselect-caret': `url(\"${svgToDataUri(\n          `<svg xmlns=\"http://www.w3.org/2000/svg\" class=\"h-5 w-5\" viewBox=\"0 0 20 20\" fill=\"currentColor\">\n  <path fill-rule=\"evenodd\" d=\"M10 3a1 1 0 01.707.293l3 3a1 1 0 01-1.414 1.414L10 5.414 7.707 7.707a1 1 0 01-1.414-1.414l3-3A1 1 0 0110 3zm-3.707 9.293a1 1 0 011.414 0L10 14.586l2.293-2.293a1 1 0 011.414 1.414l-3 3a1 1 0 01-1.414 0l-3-3a1 1 0 010-1.414z\" clip-rule=\"evenodd\" />\n</svg>`\n        )}\")`,\n        'multiselect-spinner': `url(\"${svgToDataUri(\n          `<svg viewBox=\"0 0 512 512\" fill=\"${theme(\n            'colors.primary.500'\n          )}\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M456.433 371.72l-27.79-16.045c-7.192-4.152-10.052-13.136-6.487-20.636 25.82-54.328 23.566-118.602-6.768-171.03-30.265-52.529-84.802-86.621-144.76-91.424C262.35 71.922 256 64.953 256 56.649V24.56c0-9.31 7.916-16.609 17.204-15.96 81.795 5.717 156.412 51.902 197.611 123.408 41.301 71.385 43.99 159.096 8.042 232.792-4.082 8.369-14.361 11.575-22.424 6.92z\"></path></svg>`\n        )}\")`,\n        'multiselect-remove': `url(\"${svgToDataUri(\n          `<svg viewBox=\"0 0 320 512\" fill=\"${theme(\n            'colors.white'\n          )}\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M207.6 256l107.72-107.72c6.23-6.23 6.23-16.34 0-22.58l-25.03-25.03c-6.23-6.23-16.34-6.23-22.58 0L160 208.4 52.28 100.68c-6.23-6.23-16.34-6.23-22.58 0L4.68 125.7c-6.23 6.23-6.23 16.34 0 22.58L112.4 256 4.68 363.72c-6.23 6.23-6.23 16.34 0 22.58l25.03 25.03c6.23 6.23 16.34 6.23 22.58 0L160 303.6l107.72 107.72c6.23 6.23 16.34 6.23 22.58 0l25.03-25.03c6.23-6.23 6.23-16.34 0-22.58L207.6 256z\"></path></svg>`\n        )}\")`,\n      }),\n    },\n\n    fontFamily: {\n      base: ['Poppins', 'sans-serif'],\n    },\n  },\n  plugins: [\n    require('@tailwindcss/forms'),\n    require('@tailwindcss/typography'),\n    require('@tailwindcss/aspect-ratio'),\n    require('tailwind-scrollbar'),\n    require('@rvxlab/tailwind-plugin-ios-full-height'),\n    require('@tailwindcss/line-clamp'),\n  ],\n}\n"
  },
  {
    "path": "tests/CreatesApplication.php",
    "content": "<?php\n\nnamespace Tests;\n\nuse Illuminate\\Contracts\\Console\\Kernel;\n\ntrait CreatesApplication\n{\n    /**\n     * Creates the application.\n     *\n     * @return \\Illuminate\\Foundation\\Application\n     */\n    public function createApplication()\n    {\n        $app = require __DIR__.'/../bootstrap/app.php';\n\n        $app->make(Kernel::class)->bootstrap();\n\n        return $app;\n    }\n}\n"
  },
  {
    "path": "tests/Feature/Admin/BackupTest.php",
    "content": "<?php\n\nuse Crater\\Jobs\\CreateBackupJob;\nuse Crater\\Models\\FileDisk;\nuse Crater\\Models\\User;\nuse Illuminate\\Support\\Facades\\Artisan;\nuse Illuminate\\Support\\Facades\\Queue;\nuse Laravel\\Sanctum\\Sanctum;\nuse function Pest\\Laravel\\getJson;\nuse function Pest\\Laravel\\postJson;\n\nbeforeEach(function () {\n    Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);\n    Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);\n\n    $user = User::find(1);\n    $this->withHeaders([\n        'company' => $user->companies()->first()->id,\n    ]);\n    Sanctum::actingAs(\n        $user,\n        ['*']\n    );\n});\n\ntest('get backups', function () {\n    $disk = FileDisk::factory()->create([\n        'set_as_default' => true,\n    ]);\n\n    $response = getJson(\"/api/v1/backups?disk={$disk->driver}&&file_disk_id={$disk->id}\");\n\n    $response->assertOk();\n});\n\ntest('create backup', function () {\n    Queue::fake();\n\n    $disk = FileDisk::factory()->create();\n\n    $data = [\n        'option' => 'full',\n        'file_disk_id' => $disk->id,\n    ];\n\n    $response = postJson(\"/api/v1/backups\", $data);\n\n    Queue::assertPushed(CreateBackupJob::class);\n\n    $response = getJson(\"/api/v1/backups?disk={$disk->driver}&&file_disk_id={$disk->id}\");\n\n    $response->assertStatus(200)->assertJson([\n        \"disks\" => [\n            \"local\",\n        ],\n    ]);\n});\n"
  },
  {
    "path": "tests/Feature/Admin/CompanySettingTest.php",
    "content": "<?php\n\nuse Crater\\Http\\Controllers\\V1\\Admin\\Settings\\CompanyController;\nuse Crater\\Http\\Requests\\CompanyRequest;\nuse Crater\\Http\\Requests\\ProfileRequest;\nuse Crater\\Models\\Invoice;\nuse Crater\\Models\\InvoiceItem;\nuse Crater\\Models\\Tax;\nuse Crater\\Models\\User;\nuse Illuminate\\Support\\Facades\\Artisan;\nuse Laravel\\Sanctum\\Sanctum;\nuse function Pest\\Laravel\\getJson;\nuse function Pest\\Laravel\\postJson;\nuse function Pest\\Laravel\\putJson;\n\nbeforeEach(function () {\n    Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);\n    Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);\n\n    $user = User::find(1);\n    $this->withHeaders([\n        'company' => $user->companies()->first()->id,\n    ]);\n    Sanctum::actingAs(\n        $user,\n        ['*']\n    );\n});\n\ntest('get profile', function () {\n    getJson('api/v1/me')\n        ->assertOk();\n});\n\n\ntest('update profile using a form request', function () {\n    $this->assertActionUsesFormRequest(\n        CompanyController::class,\n        'updateProfile',\n        ProfileRequest::class\n    );\n});\n\ntest('update profile', function () {\n    $user = [\n        'name' => 'John Doe',\n        'password' => 'admin@123',\n        'email' => 'admin@crater.in',\n    ];\n\n    $response = putJson('api/v1/me', $user);\n\n    $response->assertOk();\n\n    $this->assertDatabaseHas('users', [\n        'name' => $user['name'],\n        'email' => $user['email'],\n    ]);\n});\n\ntest('update company using a form request', function () {\n    $this->assertActionUsesFormRequest(\n        CompanyController::class,\n        'updateCompany',\n        CompanyRequest::class\n    );\n});\n\ntest('update company', function () {\n    $company = [\n        'name' => 'XYZ',\n        'country_id' => 2,\n        'state' => 'city',\n        'city' => 'state',\n        'address_street_1' => 'test1',\n        'address_street_2' => 'test2',\n        'phone' => '1234567890',\n        'zip' => '112233',\n        'address' => [\n            'country_id' => 2\n        ]\n    ];\n\n    putJson('api/v1/company', $company)\n        ->assertOk();\n\n    $this->assertDatabaseHas('companies', [\n        'name' => $company['name'],\n    ]);\n\n    $this->assertDatabaseHas('addresses', [\n        'country_id' => $company['country_id'],\n    ]);\n});\n\ntest('update settings', function () {\n    $settings = [\n        'currency' => 1,\n        'time_zone' => 'Asia/Kolkata',\n        'language' => 'en',\n        'fiscal_year' => '1-12',\n        'carbon_date_format' => 'Y/m/d',\n        'moment_date_format' => 'YYYY/MM/DD',\n        'notification_email' => 'noreply@crater.in',\n        'notify_invoice_viewed' => 'YES',\n        'notify_estimate_viewed' => 'YES',\n        'tax_per_item' => 'YES',\n        'discount_per_item' => 'YES',\n    ];\n\n    $response = postJson('/api/v1/company/settings', ['settings' => $settings]);\n\n    $response->assertOk()\n        ->assertJson([\n            'success' => true,\n        ]);\n\n    foreach ($settings as $key => $value) {\n        $this->assertDatabaseHas('company_settings', [\n            'option' => $key,\n            'value' => $value,\n        ]);\n    }\n});\n\ntest('update settings without currency setting', function () {\n    $settings = [\n        'notification_email' => 'noreply@crater.in',\n    ];\n\n    $response = postJson('/api/v1/company/settings', ['settings' => $settings]);\n\n    $response->assertOk()\n        ->assertJson([\n            'success' => true,\n        ]);\n\n    foreach ($settings as $key => $value) {\n        $this->assertDatabaseHas('company_settings', [\n            'option' => $key,\n            'value' => $value,\n        ]);\n    }\n});\n\ntest('update currency settings after company has currency and transactions is not allowed', function () {\n    $settings = [\n        'currency' => 1,\n    ];\n\n    $response = postJson('/api/v1/company/settings', ['settings' => $settings]);\n\n    $response->assertOk()\n        ->assertJson([\n            'success' => true,\n        ]);\n\n    Invoice::factory()\n        ->raw([\n            'taxes' => [Tax::factory()->raw()],\n            'items' => [InvoiceItem::factory()->raw()],\n        ]);\n\n    $settings = [\n        'currency' => 2,\n    ];\n\n    $response = postJson('/api/v1/company/settings', ['settings' => $settings]);\n\n    $response->assertOK()\n        ->assertJson([\n            'success' => false,\n            'message' => 'Cannot update company currency after transactions are created.'\n        ]);\n\n\n    $this->assertDatabaseHas('company_settings', [\n        'option' => 'currency',\n        'value' => 1,\n    ]);\n});\n\ntest('get notification email settings', function () {\n    $data['settings'] = [\n        'currency',\n        'time_zone',\n        'language',\n        'fiscal_year',\n        'carbon_date_format',\n        'moment_date_format',\n        'notification_email',\n        'notify_invoice_viewed',\n        'notify_estimate_viewed',\n        'tax_per_item',\n        'discount_per_item',\n    ];\n\n    $response = getJson('/api/v1/company/settings?'.http_build_query($data));\n\n    $response->assertOk();\n});\n"
  },
  {
    "path": "tests/Feature/Admin/CompanyTest.php",
    "content": "<?php\n\nuse Crater\\Http\\Controllers\\V1\\Admin\\Company\\CompaniesController;\nuse Crater\\Http\\Requests\\CompaniesRequest;\nuse Crater\\Models\\Company;\nuse Crater\\Models\\User;\nuse Illuminate\\Support\\Facades\\Artisan;\nuse Laravel\\Sanctum\\Sanctum;\nuse function Pest\\Laravel\\getJson;\nuse function Pest\\Laravel\\postJson;\n\nbeforeEach(function () {\n    Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);\n    Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);\n\n    $user = User::find(1);\n    $this->withHeaders([\n        'company' => $user->companies()->first()->id,\n    ]);\n    Sanctum::actingAs(\n        $user,\n        ['*']\n    );\n});\n\ntest('store user using a form request', function () {\n    $this->assertActionUsesFormRequest(\n        CompaniesController::class,\n        'store',\n        CompaniesRequest::class\n    );\n});\n\ntest('store company', function () {\n    $company = Company::factory()->raw([\n        'currency' => 12,\n        'address' => [\n            'country_id' => 12\n        ]\n    ]);\n\n    postJson('/api/v1/companies', $company)\n        ->assertStatus(201);\n\n    $company = collect($company)\n        ->only([\n            'name'\n        ])\n        ->toArray();\n\n    $this->assertDatabaseHas('companies', $company);\n});\n\ntest('delete company', function () {\n    postJson('/api/v1/companies/delete', [\"xyz\"])\n        ->assertStatus(422);\n});\n\ntest('transfer ownership', function () {\n    $company = Company::factory()->create();\n\n    $user = User::factory()->create();\n\n    postJson('/api/v1/transfer/ownership/'.$user->id)\n        ->assertOk();\n});\n\ntest('get companies', function () {\n    getJson('/api/v1/companies')\n        ->assertOk();\n});\n"
  },
  {
    "path": "tests/Feature/Admin/ConfigTest.php",
    "content": "<?php\n\nuse Crater\\Models\\User;\nuse Illuminate\\Support\\Facades\\Artisan;\nuse Laravel\\Sanctum\\Sanctum;\nuse function Pest\\Laravel\\getJson;\n\nbeforeEach(function () {\n    Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);\n    Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);\n\n    $user = User::find(1);\n    $this->withHeaders([\n        'company' => $user->companies()->first()->id,\n    ]);\n    Sanctum::actingAs(\n        $user,\n        ['*']\n    );\n});\n\ntest('get all languages', function () {\n    $key = 'languages';\n\n    getJson('api/v1/config?key='.$key)\n        ->assertOk();\n});\n\ntest('get all fiscal years', function () {\n    $key = 'fiscal_years';\n\n    getJson('api/v1/config?key='.$key)\n        ->assertOk();\n});\n\ntest('get all convert estimate options', function () {\n    $key = 'convert_estimate_options';\n\n    getJson('api/v1/config?key='.$key)\n        ->assertOk();\n});\n\ntest('get all retrospective edits', function () {\n    $key = 'retrospective_edits';\n\n    getJson('api/v1/config?key='.$key)\n        ->assertOk();\n});\n\ntest('get all currency converter servers', function () {\n    $key = 'currency_converter_servers';\n\n    getJson('api/v1/config?key='.$key)\n        ->assertOk();\n});\n\ntest('get all exchange rate drivers', function () {\n    $key = 'exchange_rate_drivers';\n\n    getJson('api/v1/config?key='.$key)\n        ->assertOk();\n});\n\ntest('get all custom field models', function () {\n    $key = 'custom_field_models';\n\n    getJson('api/v1/config?key='.$key)\n        ->assertOk();\n});\n"
  },
  {
    "path": "tests/Feature/Admin/CurrenciesTest.php",
    "content": "<?php\n\nuse Crater\\Models\\User;\nuse Illuminate\\Support\\Facades\\Artisan;\nuse Laravel\\Sanctum\\Sanctum;\nuse function Pest\\Laravel\\getJson;\n\nbeforeEach(function () {\n    Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);\n    Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);\n\n    $user = User::find(1);\n    $this->withHeaders([\n        'company' => $user->companies()->first()->id,\n    ]);\n    Sanctum::actingAs(\n        $user,\n        ['*']\n    );\n});\n\ntest('get all used currencies', function () {\n    getJson(\"/api/v1/currencies/used\")\n        ->assertOk();\n});\n"
  },
  {
    "path": "tests/Feature/Admin/CustomFieldTest.php",
    "content": "<?php\n\nuse Crater\\Http\\Controllers\\V1\\Admin\\CustomField\\CustomFieldsController;\nuse Crater\\Http\\Requests\\CustomFieldRequest;\nuse Crater\\Models\\CustomField;\nuse Crater\\Models\\User;\nuse Illuminate\\Support\\Facades\\Artisan;\nuse Laravel\\Sanctum\\Sanctum;\nuse function Pest\\Laravel\\deleteJson;\nuse function Pest\\Laravel\\getJson;\nuse function Pest\\Laravel\\postJson;\nuse function Pest\\Laravel\\putJson;\n\nbeforeEach(function () {\n    Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);\n    Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);\n\n    $user = User::find(1);\n    $this->withHeaders([\n        'company' => $user->companies()->first()->id,\n    ]);\n    Sanctum::actingAs(\n        $user,\n        ['*']\n    );\n});\n\ntest('get custom fields', function () {\n    $response = getJson('api/v1/custom-fields?page=1');\n\n    $response->assertOk();\n});\n\ntest('create custom field', function () {\n    $data = CustomField::factory()->raw();\n\n    postJson('api/v1/custom-fields', $data)\n        ->assertStatus(201);\n\n    $this->assertDatabaseHas('custom_fields', [\n        'name' => $data['name'],\n        'label' => $data['label'],\n        'type' => $data['type'],\n        'model_type' => $data['model_type'],\n        'is_required' => $data['is_required'],\n    ]);\n});\n\ntest('store validates using a form request', function () {\n    $this->assertActionUsesFormRequest(\n        CustomFieldsController::class,\n        'store',\n        CustomFieldRequest::class\n    );\n});\n\ntest('update custom field', function () {\n    $customField = CustomField::factory()->create();\n\n    $newCustomField = CustomField::factory()->raw([\n        'is_required' => false,\n    ]);\n\n    putJson('api/v1/custom-fields/'.$customField->id, $newCustomField)\n        ->assertStatus(200);\n\n    $this->assertDatabaseHas('custom_fields', [\n        'id' => $customField->id,\n        'name' => $newCustomField['name'],\n        'label' => $newCustomField['label'],\n        'type' => $newCustomField['type'],\n        'model_type' => $newCustomField['model_type'],\n    ]);\n});\n\ntest('update validates using a form request', function () {\n    $this->assertActionUsesFormRequest(\n        CustomFieldsController::class,\n        'update',\n        CustomFieldRequest::class\n    );\n});\n\ntest('delete custom field', function () {\n    $customField = CustomField::factory()->create();\n\n    $response = deleteJson('api/v1/custom-fields/'.$customField->id);\n\n    $response\n        ->assertOk()\n        ->assertJson([\n            'success' => true,\n        ]);\n\n    $this->assertDeleted($customField);\n});\n"
  },
  {
    "path": "tests/Feature/Admin/CustomerTest.php",
    "content": "<?php\n\nuse Crater\\Http\\Controllers\\V1\\Admin\\Customer\\CustomersController;\nuse Crater\\Http\\Requests\\CustomerRequest;\nuse Crater\\Models\\Customer;\nuse Crater\\Models\\Invoice;\nuse Crater\\Models\\User;\nuse Illuminate\\Support\\Facades\\Artisan;\nuse Laravel\\Sanctum\\Sanctum;\nuse function Pest\\Laravel\\getJson;\nuse function Pest\\Laravel\\postJson;\nuse function Pest\\Laravel\\putJson;\n\nbeforeEach(function () {\n    Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);\n    Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);\n\n    $user = User::find(1);\n    $this->withHeaders([\n        'company' => $user->companies()->first()->id,\n    ]);\n    Sanctum::actingAs(\n        $user,\n        ['*']\n    );\n});\n\ntest('get customers', function () {\n    $response = getJson('api/v1/customers?page=1');\n\n    $response->assertOk();\n});\n\ntest('customer stats', function () {\n    $customer = Customer::factory()->create();\n\n    $invoice = Invoice::factory()->create([\n        'customer_id' => $customer->id,\n    ]);\n\n    $response = getJson(\"api/v1/customers/{$customer->id}/stats\");\n\n    $response->assertStatus(200);\n});\n\ntest('create customer', function () {\n    $customer = Customer::factory()->raw([\n        'shipping' => [\n            'name' => 'newName',\n            'address_street_1' => 'address'\n        ],\n        'billing' => [\n            'name' => 'newName',\n            'address_street_1' => 'address'\n        ]\n    ]);\n\n    postJson('api/v1/customers', $customer)\n        ->assertOk();\n\n    $this->assertDatabaseHas('customers', [\n        'name' => $customer['name'],\n        'email' => $customer['email']\n    ]);\n});\n\ntest('store validates using a form request', function () {\n    $this->assertActionUsesFormRequest(\n        CustomersController::class,\n        'store',\n        CustomerRequest::class\n    );\n});\n\ntest('get customer', function () {\n    $customer = Customer::factory()->create();\n\n    $response = getJson(\"api/v1/customers/{$customer->id}\");\n\n    $this->assertDatabaseHas('customers', [\n        'id' => $customer->id,\n        'name' => $customer['name'],\n        'email' => $customer['email']\n    ]);\n\n    $response->assertOk();\n});\n\ntest('update customer', function () {\n    $customer = Customer::factory()->create();\n\n    $customer1 = Customer::factory()->raw([\n        'shipping' => [\n            'name' => 'newName',\n            'address_street_1' => 'address'\n        ],\n        'billing' => [\n            'name' => 'newName',\n            'address_street_1' => 'address'\n        ]\n    ]);\n\n    $response = putJson('api/v1/customers/'.$customer->id, $customer1);\n\n    $customer1 = collect($customer1)\n        ->only([\n            'email'\n        ])\n        ->merge([\n            'creator_id' => Auth::id()\n        ])\n        ->toArray();\n\n    $response->assertOk();\n\n    $this->assertDatabaseHas('customers', $customer1);\n});\n\ntest('update validates using a form request', function () {\n    $this->assertActionUsesFormRequest(\n        CustomersController::class,\n        'update',\n        CustomerRequest::class\n    );\n});\n\ntest('search customers', function () {\n    $filters = [\n        'page' => 1,\n        'limit' => 15,\n        'search' => 'doe',\n        'email' => '.com',\n    ];\n\n    $queryString = http_build_query($filters, '', '&');\n\n    $response = getJson('api/v1/customers?'.$queryString);\n\n    $response->assertOk();\n});\n\ntest('delete multiple customer', function () {\n    $customers = Customer::factory()->count(4)->create();\n\n    $ids = $customers->pluck('id');\n\n    $data = [\n        'ids' => $ids,\n    ];\n\n    $response = postJson('api/v1/customers/delete', $data);\n\n    $response\n        ->assertOk()\n        ->assertJson([\n            'success' => true,\n        ]);\n});\n"
  },
  {
    "path": "tests/Feature/Admin/DashboardTest.php",
    "content": "<?php\n\nuse Crater\\Models\\User;\nuse Illuminate\\Support\\Facades\\Artisan;\nuse Laravel\\Sanctum\\Sanctum;\nuse function Pest\\Laravel\\getJson;\n\nbeforeEach(function () {\n    Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);\n    Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);\n\n    $user = User::find(1);\n    $this->withHeaders([\n        'company' => $user->companies()->first()->id,\n    ]);\n    Sanctum::actingAs(\n        $user,\n        ['*']\n    );\n});\n\ngetJson('api/v1/dashboard')->assertOk();\n\ngetJson('api/v1/search?name=ab')->assertOk();\n"
  },
  {
    "path": "tests/Feature/Admin/EstimateTest.php",
    "content": "<?php\n\nuse Crater\\Http\\Controllers\\V1\\Admin\\Estimate\\EstimatesController;\nuse Crater\\Http\\Controllers\\V1\\Admin\\Estimate\\SendEstimateController;\nuse Crater\\Http\\Requests\\DeleteEstimatesRequest;\nuse Crater\\Http\\Requests\\EstimatesRequest;\nuse Crater\\Http\\Requests\\SendEstimatesRequest;\nuse Crater\\Mail\\SendEstimateMail;\nuse Crater\\Models\\Estimate;\nuse Crater\\Models\\EstimateItem;\nuse Crater\\Models\\Tax;\nuse Crater\\Models\\User;\nuse Illuminate\\Support\\Facades\\Artisan;\nuse Laravel\\Sanctum\\Sanctum;\n\nuse function Pest\\Laravel\\getJson;\nuse function Pest\\Laravel\\postJson;\nuse function Pest\\Laravel\\putJson;\n\nbeforeEach(function () {\n    Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);\n    Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);\n\n    $user = User::find(1);\n    $this->withHeaders([\n        'company' => $user->companies()->first()->id,\n    ]);\n    Sanctum::actingAs(\n        $user,\n        ['*']\n    );\n});\n\ntest('get estimates', function () {\n    $response = getJson('api/v1/estimates?page=1');\n\n    $response->assertOk();\n});\n\ntest('create estimate', function () {\n    $estimate = Estimate::factory()->raw([\n        'estimate_number' => 'EST-000006',\n        'items' => [\n            EstimateItem::factory()->raw(),\n        ],\n        'taxes' => [\n            Tax::factory()->raw(),\n        ],\n    ]);\n\n    postJson('api/v1/estimates', $estimate)\n        ->assertStatus(201);\n\n    $this->assertDatabaseHas('estimates', [\n        'template_name' => $estimate['template_name'],\n        'estimate_number' => $estimate['estimate_number'],\n        'discount_type' => $estimate['discount_type'],\n        'discount_val' => $estimate['discount_val'],\n        'sub_total' => $estimate['sub_total'],\n        'discount' => $estimate['discount'],\n        'customer_id' => $estimate['customer_id'],\n        'total' => $estimate['total'],\n        'notes' => $estimate['notes'],\n        'tax' => $estimate['tax'],\n    ]);\n});\n\ntest('store validates using a form request', function () {\n    $this->assertActionUsesFormRequest(\n        EstimatesController::class,\n        'store',\n        EstimatesRequest::class\n    );\n});\n\ntest('update estimate', function () {\n    $estimate = Estimate::factory()\n        ->hasItems(1)\n        ->hasTaxes(1)\n        ->create([\n            'estimate_date' => '1988-07-18',\n            'expiry_date' => '1988-08-18',\n        ]);\n\n    $estimate2 = Estimate::factory()->raw([\n        'items' => [\n            EstimateItem::factory()->raw([\n                'estimate_id' => $estimate->id\n            ]),\n        ],\n        'taxes' => [\n            Tax::factory()->raw([\n                'tax_type_id' => $estimate->taxes[0]->tax_type_id,\n            ]),\n        ],\n    ]);\n\n    $response = putJson('api/v1/estimates/'.$estimate->id, $estimate2);\n\n    $this->assertDatabaseHas('estimates', [\n        'template_name' => $estimate2['template_name'],\n        'estimate_number' => $estimate2['estimate_number'],\n        'discount_type' => $estimate2['discount_type'],\n        'discount_val' => $estimate2['discount_val'],\n        'sub_total' => $estimate2['sub_total'],\n        'discount' => $estimate2['discount'],\n        'customer_id' => $estimate2['customer_id'],\n        'total' => $estimate2['total'],\n        'notes' => $estimate2['notes'],\n        'tax' => $estimate2['tax'],\n    ]);\n\n    $this->assertDatabaseHas('estimate_items', [\n        'estimate_id' => $estimate2['items'][0]['estimate_id'],\n    ]);\n\n    $response->assertStatus(200);\n});\n\ntest('update validates using a form request', function () {\n    $this->assertActionUsesFormRequest(\n        EstimatesController::class,\n        'update',\n        EstimatesRequest::class\n    );\n});\n\ntest('search estimates', function () {\n    $filters = [\n        'page' => 1,\n        'limit' => 15,\n        'search' => 'doe',\n        'from_date' => '2020-07-18',\n        'to_date' => '2020-07-20',\n        'estimate_number' => '000003',\n    ];\n\n    $queryString = http_build_query($filters, '', '&');\n\n    $response = getJson('api/v1/estimates?'.$queryString);\n\n    $response->assertStatus(200);\n});\n\ntest('send estimate using a form request', function () {\n    $this->assertActionUsesFormRequest(\n        SendEstimateController::class,\n        '__invoke',\n        SendEstimatesRequest::class\n    );\n});\n\ntest('send estimate to customer', function () {\n    Mail::fake();\n\n    $estimate = Estimate::factory()->create([\n        'estimate_date' => '1988-07-18',\n        'expiry_date' => '1988-08-18',\n    ]);\n\n    $data = [\n        'subject' => 'test',\n        'body' => 'test',\n        'from' => 'john@example.com',\n        'to' => 'doe@example.com',\n    ];\n\n    postJson(\"api/v1/estimates/{$estimate->id}/send\", $data)\n        ->assertStatus(200)\n        ->assertJson([\n            'success' => true,\n        ]);\n\n    Mail::assertSent(SendEstimateMail::class);\n});\n\ntest('estimate mark as accepted', function () {\n    $estimate = Estimate::factory()->create([\n        'estimate_date' => '1988-07-18',\n        'expiry_date' => '1988-08-18',\n    ]);\n\n    $data = [\n        'status' => Estimate::STATUS_ACCEPTED,\n    ];\n\n    $response = postJson(\"api/v1/estimates/{$estimate->id}/status\", $data);\n\n    $response\n        ->assertOk()\n        ->assertJson([\n            'success' => true,\n        ]);\n\n    $estimate2 = Estimate::find($estimate->id);\n    $this->assertEquals($estimate2->status, Estimate::STATUS_ACCEPTED);\n});\n\ntest('estimate mark as rejected', function () {\n    $estimate = Estimate::factory()->create([\n        'estimate_date' => '1988-07-18',\n        'expiry_date' => '1988-08-18',\n    ]);\n\n    $data = [\n        'status' => Estimate::STATUS_REJECTED,\n    ];\n\n    $response = postJson(\"api/v1/estimates/{$estimate->id}/status\", $data);\n\n    $response\n        ->assertOk()\n        ->assertJson([\n            'success' => true,\n        ]);\n\n    $estimate2 = Estimate::find($estimate->id);\n    $this->assertEquals($estimate2->status, Estimate::STATUS_REJECTED);\n});\n\ntest('create invoice from estimate', function () {\n    $estimate = Estimate::factory()->create([\n        'estimate_date' => '1988-07-18',\n        'expiry_date' => '1988-08-18',\n    ]);\n\n    $response = postJson(\"api/v1/estimates/{$estimate->id}/convert-to-invoice\")\n        ->assertStatus(200);\n});\n\ntest('delete multiple estimates using a form request', function () {\n    $this->assertActionUsesFormRequest(\n        EstimatesController::class,\n        'delete',\n        DeleteEstimatesRequest::class\n    );\n});\n\ntest('delete multiple estimates', function () {\n    $estimates = Estimate::factory()\n        ->count(3)\n        ->create([\n            'estimate_date' => '1988-07-18',\n            'expiry_date' => '1988-08-18',\n        ]);\n\n    $ids = $estimates->pluck('id');\n\n    $data = [\n        'ids' => $ids,\n    ];\n\n    $response = postJson('api/v1/estimates/delete', $data);\n\n    $response\n        ->assertStatus(200)\n        ->assertJson([\n            'success' => true,\n        ]);\n\n    foreach ($estimates as $estimate) {\n        $this->assertDeleted($estimate);\n    }\n});\n\ntest('get estimate templates', function () {\n    getJson('api/v1/estimates/templates')->assertStatus(200);\n});\n\ntest('create estimate with tax per item', function () {\n    $estimate = Estimate::factory()->raw([\n        'estimate_number' => 'EST-000006',\n        'tax_per_item' => 'YES',\n        'items' => [\n            EstimateItem::factory()->raw([\n                'taxes' => [Tax::factory()->raw()],\n            ]),\n            EstimateItem::factory()->raw([\n                'taxes' => [Tax::factory()->raw()],\n            ]),\n        ],\n    ]);\n\n    postJson('api/v1/estimates', $estimate)\n        ->assertStatus(201);\n\n    $this->assertDatabaseHas('estimates', [\n        'template_name' => $estimate['template_name'],\n        'estimate_number' => $estimate['estimate_number'],\n        'discount_type' => $estimate['discount_type'],\n        'discount_val' => $estimate['discount_val'],\n        'sub_total' => $estimate['sub_total'],\n        'discount' => $estimate['discount'],\n        'customer_id' => $estimate['customer_id'],\n        'total' => $estimate['total'],\n        'notes' => $estimate['notes'],\n        'tax' => $estimate['tax'],\n    ]);\n\n    $this->assertDatabaseHas('estimate_items', [\n        'name' => $estimate['items'][0]['name'],\n    ]);\n\n    $this->assertDatabaseHas('taxes', [\n        'tax_type_id' => $estimate['items'][0]['taxes'][0]['tax_type_id']\n    ]);\n});\n\ntest('create estimate with EUR currency', function () {\n    $estimate = Estimate::factory()\n        ->raw([\n            'discount_type' => 'fixed',\n            'discount_val' => 20,\n            'sub_total' => 200,\n            'total' => 189,\n            'tax' => 9,\n            'exchange_rate' => 86.403538,\n            'base_discount_val' => 1728.07,\n            'base_sub_total' => 17280.71,\n            'base_total' => 16330.27,\n            'base_tax' => 777.63,\n            'taxes' => [Tax::factory()->raw([\n                'amount' => 9,\n                'percent' => 5,\n                'exchange_rate' => 86.403538,\n                'base_amount' => 777.63,\n            ])],\n            'items' => [EstimateItem::factory()->raw([\n                'discount_type' => 'fixed',\n                'quantity' => 1,\n                'discount' => 0,\n                'discount_val' => 0,\n                'price' => 200,\n                'tax' => 0,\n                'total' => 200,\n                'exchange_rate' => 86.403538,\n                'base_discount_val' => 0,\n                'base_price' => 17280.71,\n                'base_tax' => 777.63,\n                'base_total' => 17280.71,\n            ])],\n        ]);\n\n    $response = postJson('api/v1/estimates', $estimate)->assertStatus(201);\n\n    $this->assertDatabaseHas('estimates', [\n        'template_name' => $estimate['template_name'],\n        'estimate_number' => $estimate['estimate_number'],\n        'discount_type' => $estimate['discount_type'],\n        'discount_val' => $estimate['discount_val'],\n        'sub_total' => $estimate['sub_total'],\n        'discount' => $estimate['discount'],\n        'customer_id' => $estimate['customer_id'],\n        'total' => $estimate['total'],\n        'notes' => $estimate['notes'],\n        'tax' => $estimate['tax'],\n    ]);\n\n    $this->assertDatabaseHas('taxes', [\n        'tax_type_id' => $estimate['taxes'][0]['tax_type_id'],\n        'amount' => $estimate['tax']\n    ]);\n\n    $this->assertDatabaseHas('estimate_items', [\n        'item_id' => $estimate['items'][0]['item_id'],\n        'name' => $estimate['items'][0]['name']\n    ]);\n});\n\ntest('update estimate with EUR currency', function () {\n    $estimate = Estimate::factory()\n        ->hasItems(1)\n        ->hasTaxes(1)\n        ->create([\n            'estimate_date' => '1988-07-18',\n            'expiry_date' => '1988-08-18',\n        ]);\n\n    $estimate2 = Estimate::factory()\n        ->raw([\n            'id' => $estimate->id,\n            'discount_type' => 'fixed',\n            'discount_val' => 20,\n            'sub_total' => 200,\n            'total' => 189,\n            'tax' => 9,\n            'exchange_rate' => 86.403538,\n            'base_discount_val' => 1728.07076,\n            'base_sub_total' => 17280.7076,\n            'base_total' => 16330.268682,\n            'base_tax' => 777.631842,\n            'taxes' => [Tax::factory()->raw([\n                'tax_type_id' => $estimate->taxes[0]->tax_type_id,\n                'amount' => 9,\n                'percent' => 5,\n                'exchange_rate' => 86.403538,\n                'base_amount' => 777.631842,\n            ])],\n            'items' => [EstimateItem::factory()->raw([\n                'estimate_id' => $estimate->id,\n                'discount_type' => 'fixed',\n                'quantity' => 1,\n                'discount' => 0,\n                'discount_val' => 0,\n                'price' => 200,\n                'tax' => 0,\n                'total' => 200,\n                'exchange_rate' => 86.403538,\n                'base_discount_val' => 0,\n                'base_price' => 17280.7076,\n                'base_tax' => 777.631842,\n                'base_total' => 17280.7076,\n            ])],\n        ]);\n\n    $response = putJson('api/v1/estimates/'.$estimate->id, $estimate2);\n\n    $this->assertDatabaseHas('estimates', [\n        'id' => $estimate['id'],\n        'template_name' => $estimate2['template_name'],\n        'estimate_number' => $estimate2['estimate_number'],\n        'discount_type' => $estimate2['discount_type'],\n        'discount_val' => $estimate2['discount_val'],\n        'sub_total' => $estimate2['sub_total'],\n        'discount' => $estimate2['discount'],\n        'customer_id' => $estimate2['customer_id'],\n        'total' => $estimate2['total'],\n        'tax' => $estimate2['tax'],\n        'exchange_rate' => $estimate2['exchange_rate'],\n        'base_discount_val' => $estimate2['base_discount_val'],\n        'base_sub_total' => $estimate2['base_sub_total'],\n        'base_total' => $estimate2['base_total'],\n        'base_tax' => $estimate2['base_tax'],\n    ]);\n\n    $this->assertDatabaseHas('estimate_items', [\n        'estimate_id' => $estimate2['items'][0]['estimate_id'],\n        'exchange_rate' => $estimate2['items'][0]['exchange_rate'],\n        'base_price' => $estimate2['items'][0]['base_price'],\n        'base_discount_val' => $estimate2['items'][0]['base_discount_val'],\n        'base_tax' => $estimate2['items'][0]['base_tax'],\n        'base_total' => $estimate2['items'][0]['base_total'],\n    ]);\n\n    $response->assertStatus(200);\n});\n"
  },
  {
    "path": "tests/Feature/Admin/ExpenseCategoryTest.php",
    "content": "<?php\n\nuse Crater\\Http\\Controllers\\V1\\Admin\\Expense\\ExpenseCategoriesController;\nuse Crater\\Http\\Requests\\ExpenseCategoryRequest;\nuse Crater\\Models\\ExpenseCategory;\nuse Crater\\Models\\User;\nuse Illuminate\\Support\\Facades\\Artisan;\nuse Laravel\\Sanctum\\Sanctum;\nuse function Pest\\Laravel\\deleteJson;\nuse function Pest\\Laravel\\getJson;\nuse function Pest\\Laravel\\postJson;\nuse function Pest\\Laravel\\putJson;\n\nbeforeEach(function () {\n    Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);\n    Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);\n\n    $user = User::find(1);\n    $this->withHeaders([\n        'company' => $user->companies()->first()->id,\n    ]);\n    Sanctum::actingAs(\n        $user,\n        ['*']\n    );\n});\n\ntest('get categories', function () {\n    $response = getJson('api/v1/categories');\n\n    $response->assertOk();\n});\n\ntest('create category', function () {\n    $category = ExpenseCategory::factory()->raw();\n\n    $response = postJson('api/v1/categories', $category);\n\n    $response->assertStatus(201);\n\n    $this->assertDatabaseHas('expense_categories', [\n        'name' => $category['name'],\n        'description' => $category['description'],\n    ]);\n});\n\ntest('store validates using a form request', function () {\n    $this->assertActionUsesFormRequest(\n        ExpenseCategoriesController::class,\n        'store',\n        ExpenseCategoryRequest::class\n    );\n});\n\ntest('get category', function () {\n    $category = ExpenseCategory::factory()->create();\n\n    getJson(\"api/v1/categories/{$category->id}\")->assertOk();\n});\n\ntest('update category', function () {\n    $category = ExpenseCategory::factory()->create();\n\n    $category2 = ExpenseCategory::factory()->raw();\n\n    putJson('api/v1/categories/'.$category->id, $category2)->assertOk();\n\n    $this->assertDatabaseHas('expense_categories', [\n        'id' => $category->id,\n        'name' => $category2['name'],\n        'description' => $category2['description'],\n    ]);\n});\n\ntest('update validates using a form request', function () {\n    $this->assertActionUsesFormRequest(\n        ExpenseCategoriesController::class,\n        'update',\n        ExpenseCategoryRequest::class\n    );\n});\n\ntest('delete category', function () {\n    $category = ExpenseCategory::factory()->create();\n\n    deleteJson('api/v1/categories/'.$category->id)\n        ->assertOk()\n        ->assertJson([\n            'success' => true,\n        ]);\n\n    $this->assertDeleted($category);\n});\n"
  },
  {
    "path": "tests/Feature/Admin/ExpenseTest.php",
    "content": "<?php\n\nuse Crater\\Http\\Controllers\\V1\\Admin\\Expense\\ExpensesController;\nuse Crater\\Http\\Requests\\ExpenseRequest;\nuse Crater\\Models\\Expense;\nuse Crater\\Models\\User;\nuse Illuminate\\Support\\Facades\\Artisan;\nuse Laravel\\Sanctum\\Sanctum;\nuse function Pest\\Laravel\\getJson;\nuse function Pest\\Laravel\\postJson;\nuse function Pest\\Laravel\\putJson;\n\nbeforeEach(function () {\n    Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);\n    Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);\n\n    $user = User::find(1);\n    $this->withHeaders([\n        'company' => $user->companies()->first()->id,\n    ]);\n    Sanctum::actingAs(\n        $user,\n        ['*']\n    );\n});\n\ntest('get expenses', function () {\n    getJson('api/v1/expenses?page=1')->assertOk();\n});\n\ntest('create expense', function () {\n    $expense = Expense::factory()->raw([\n        'amount' => 150,\n        'exchange_rate' => 76.217498,\n        'base_amount' => 11432.6247,\n    ]);\n\n    postJson('api/v1/expenses', $expense)->assertStatus(201);\n\n    $this->assertDatabaseHas('expenses', [\n        'notes' => $expense['notes'],\n        'expense_category_id' => $expense['expense_category_id'],\n        'amount' => $expense['amount'],\n        'exchange_rate' => $expense['exchange_rate'],\n        'base_amount' => $expense['base_amount'],\n    ]);\n});\n\ntest('store validates using a form request', function () {\n    $this->assertActionUsesFormRequest(\n        ExpensesController::class,\n        'store',\n        ExpenseRequest::class\n    );\n});\n\ntest('get expense data', function () {\n    $expense = Expense::factory()->create([\n        'expense_date' => '2019-02-05',\n    ]);\n\n    getJson(\"api/v1/expenses/{$expense->id}\")->assertOk();\n\n    $this->assertDatabaseHas('expenses', [\n        'id' => $expense->id,\n        'notes' => $expense['notes'],\n        'expense_category_id' => $expense['expense_category_id'],\n        'amount' => $expense['amount'],\n    ]);\n});\n\ntest('update expense', function () {\n    $expense = Expense::factory()->create([\n        'expense_date' => '2019-02-05',\n    ]);\n\n    $expense2 = Expense::factory()->raw();\n\n    putJson('api/v1/expenses/'.$expense->id, $expense2)->assertOk();\n\n    $this->assertDatabaseHas('expenses', [\n        'id' => $expense->id,\n        'notes' => $expense2['notes'],\n        'expense_category_id' => $expense2['expense_category_id'],\n        'amount' => $expense2['amount'],\n    ]);\n});\n\ntest('update validates using a form request', function () {\n    $this->assertActionUsesFormRequest(\n        ExpensesController::class,\n        'update',\n        ExpenseRequest::class\n    );\n});\n\ntest('search expenses', function () {\n    $filters = [\n        'page' => 1,\n        'limit' => 15,\n        'expense_category_id' => 1,\n        'search' => 'cate',\n        'from_date' => '2020-07-18',\n        'to_date' => '2020-07-20',\n    ];\n\n    $queryString = http_build_query($filters, '', '&');\n\n    $response = getJson('api/v1/expenses?'.$queryString);\n\n    $response->assertOk();\n});\n\ntest('delete multiple expenses', function () {\n    $expenses = Expense::factory()->count(3)->create([\n        'expense_date' => '2019-02-05',\n    ]);\n\n    $data = [\n        'ids' => $expenses->pluck('id'),\n    ];\n\n    $response = postJson('api/v1/expenses/delete', $data);\n\n    $response\n        ->assertOk()\n        ->assertJson([\n            'success' => true,\n        ]);\n\n    foreach ($expenses as $expense) {\n        $this->assertDeleted($expense);\n    }\n});\n\ntest('update expense with EUR currency', function () {\n    $expense = Expense::factory()->create([\n        'expense_date' => '2019-02-05',\n    ]);\n\n    $expense2 = Expense::factory()->raw([\n        'amount' => 150,\n        'exchange_rate' => 76.217498,\n        'base_amount' => 11432.6247,\n    ]);\n\n    putJson('api/v1/expenses/'.$expense->id, $expense2)->assertOk();\n\n    $this->assertDatabaseHas('expenses', [\n        'id' => $expense->id,\n        'expense_category_id' => $expense2['expense_category_id'],\n        'amount' => $expense2['amount'],\n        'exchange_rate' => $expense2['exchange_rate'],\n        'base_amount' => $expense2['base_amount'],\n    ]);\n});\n"
  },
  {
    "path": "tests/Feature/Admin/FileDiskTest.php",
    "content": "<?php\n\nuse Crater\\Models\\FileDisk;\nuse Crater\\Models\\User;\nuse Illuminate\\Support\\Facades\\Artisan;\nuse Laravel\\Sanctum\\Sanctum;\nuse function Pest\\Laravel\\getJson;\nuse function Pest\\Laravel\\postJson;\nuse function Pest\\Laravel\\putJson;\n\nbeforeEach(function () {\n    Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);\n    Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);\n\n    $user = User::find(1);\n    $this->withHeaders([\n        'company' => $user->companies()->first()->id,\n    ]);\n    Sanctum::actingAs(\n        $user,\n        ['*']\n    );\n});\n\ntest('get file disks', function () {\n    $response = getJson('/api/v1/disks');\n\n    $response->assertOk();\n});\n\ntest('create file disk', function () {\n    $disk = FileDisk::factory()->raw();\n\n    $response = postJson('/api/v1/disks', $disk);\n\n    $disk['credentials'] = json_encode($disk['credentials']);\n    $this->assertDatabaseHas('file_disks', $disk);\n});\n\n\ntest('update file disk', function () {\n    $disk = FileDisk::factory()->create();\n\n    $disk2 = FileDisk::factory()->raw();\n\n    $response = putJson(\"/api/v1/disks/{$disk->id}\", $disk2)->assertStatus(200);\n\n    $disk2['credentials'] = json_encode($disk2['credentials']);\n\n    $this->assertDatabaseHas('file_disks', $disk2);\n});\n\n\ntest('get disk', function () {\n    $disk = FileDisk::factory()->create();\n\n    $response = getJson(\"/api/v1/disks/{$disk->driver}\");\n\n    $response->assertStatus(200);\n});\n\ntest('get drivers', function () {\n    $response = getJson(\"/api/v1/disk/drivers\");\n\n    $response->assertStatus(200);\n});\n"
  },
  {
    "path": "tests/Feature/Admin/InvoiceTest.php",
    "content": "<?php\n\nuse Crater\\Http\\Controllers\\V1\\Admin\\Invoice\\InvoicesController;\nuse Crater\\Http\\Requests\\InvoicesRequest;\nuse Crater\\Mail\\SendInvoiceMail;\nuse Crater\\Models\\Invoice;\nuse Crater\\Models\\InvoiceItem;\nuse Crater\\Models\\Tax;\nuse Crater\\Models\\User;\nuse Illuminate\\Support\\Facades\\Artisan;\nuse Laravel\\Sanctum\\Sanctum;\n\nuse function Pest\\Laravel\\getJson;\nuse function Pest\\Laravel\\postJson;\nuse function Pest\\Laravel\\putJson;\n\nbeforeEach(function () {\n    Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);\n    Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);\n\n    $user = User::find(1);\n    $this->withHeaders([\n        'company' => $user->companies()->first()->id,\n    ]);\n    Sanctum::actingAs(\n        $user,\n        ['*']\n    );\n});\n\ntest('testGetInvoices', function () {\n    $response = getJson('api/v1/invoices?page=1&type=OVERDUE&limit=20');\n\n    $response->assertOk();\n});\n\ntest('create invoice', function () {\n    $invoice = Invoice::factory()\n        ->raw([\n            'taxes' => [Tax::factory()->raw()],\n            'items' => [InvoiceItem::factory()->raw()],\n        ]);\n\n    $response = postJson('api/v1/invoices', $invoice);\n\n    $response->assertOk();\n\n    $this->assertDatabaseHas('invoices', [\n        'template_name' => $invoice['template_name'],\n        'invoice_number' => $invoice['invoice_number'],\n        'sub_total' => $invoice['sub_total'],\n        'discount' => $invoice['discount'],\n        'customer_id' => $invoice['customer_id'],\n        'total' => $invoice['total'],\n        'tax' => $invoice['tax'],\n    ]);\n\n    $this->assertDatabaseHas('invoice_items', [\n        'item_id' => $invoice['items'][0]['item_id'],\n        'name' => $invoice['items'][0]['name']\n    ]);\n});\n\ntest('create invoice as sent', function () {\n    $invoice = Invoice::factory()\n        ->raw([\n            'taxes' => [Tax::factory()->raw()],\n            'items' => [InvoiceItem::factory()->raw()],\n        ]);\n\n    $response = postJson('api/v1/invoices', $invoice);\n\n    $response->assertOk();\n\n    $this->assertDatabaseHas('invoices', [\n        'invoice_number' => $invoice['invoice_number'],\n        'sub_total' => $invoice['sub_total'],\n        'total' => $invoice['total'],\n        'tax' => $invoice['tax'],\n        'discount' => $invoice['discount'],\n        'customer_id' => $invoice['customer_id'],\n        'template_name' => $invoice['template_name'],\n    ]);\n\n    $this->assertDatabaseHas('invoice_items', [\n        'item_id' => $invoice['items'][0]['item_id'],\n        'name' => $invoice['items'][0]['name']\n    ]);\n});\n\ntest('store validates using a form request', function () {\n    $this->assertActionUsesFormRequest(\n        InvoicesController::class,\n        'store',\n        InvoicesRequest::class\n    );\n});\n\ntest('update invoice', function () {\n    $invoice = Invoice::factory()->create([\n        'invoice_date' => '1988-07-18',\n        'due_date' => '1988-08-18',\n    ]);\n\n    $invoice2 = Invoice::factory()\n        ->raw([\n            'taxes' => [Tax::factory()->raw()],\n            'items' => [InvoiceItem::factory()->raw()],\n        ]);\n\n    putJson('api/v1/invoices/'.$invoice->id, $invoice2)->assertOk();\n\n    $this->assertDatabaseHas('invoices', [\n        'invoice_number' => $invoice2['invoice_number'],\n        'sub_total' => $invoice2['sub_total'],\n        'total' => $invoice2['total'],\n        'tax' => $invoice2['tax'],\n        'discount' => $invoice2['discount'],\n        'customer_id' => $invoice2['customer_id'],\n        'template_name' => $invoice2['template_name'],\n    ]);\n\n    $this->assertDatabaseHas('invoice_items', [\n        'item_id' => $invoice2['items'][0]['item_id'],\n        'name' => $invoice2['items'][0]['name']\n    ]);\n});\n\ntest('update validates using a form request', function () {\n    $this->assertActionUsesFormRequest(\n        InvoicesController::class,\n        'update',\n        InvoicesRequest::class\n    );\n});\n\ntest('send invoice to customer', function () {\n    Mail::fake();\n\n    $invoices = Invoice::factory()->create([\n        'invoice_date' => '1988-07-18',\n        'due_date' => '1988-08-18',\n    ]);\n\n    $data = [\n        'from' => 'john@example.com',\n        'to' => 'doe@example.com',\n        'subject' => 'email subject',\n        'body' => 'email body',\n    ];\n\n    $response = postJson('api/v1/invoices/'.$invoices->id.'/send', $data);\n\n    $response\n        ->assertOk()\n        ->assertJson([\n            'success' => true,\n        ]);\n\n    $invoice2 = Invoice::find($invoices->id);\n\n    $this->assertEquals($invoice2->status, Invoice::STATUS_SENT);\n    Mail::assertSent(SendInvoiceMail::class);\n});\n\ntest('invoice mark as paid', function () {\n    $invoice = Invoice::factory()->create([\n        'invoice_date' => '1988-07-18',\n        'due_date' => '1988-08-18',\n    ]);\n\n    $data = [\n        'status' => Invoice::STATUS_COMPLETED,\n    ];\n\n    $response = postJson('api/v1/invoices/'.$invoice->id.'/status', $data);\n\n    $response\n        ->assertOk()\n        ->assertJson([\n            'success' => true,\n        ]);\n\n    $this->assertEquals(Invoice::find($invoice->id)->paid_status, Invoice::STATUS_PAID);\n});\n\ntest('invoice mark as sent', function () {\n    $invoice = Invoice::factory()->create([\n        'invoice_date' => '1988-07-18',\n        'due_date' => '1988-08-18',\n    ]);\n\n    $data = [\n        'status' => Invoice::STATUS_SENT,\n    ];\n\n    $response = postJson('api/v1/invoices/'.$invoice->id.'/status', $data);\n\n    $response\n        ->assertOk()\n        ->assertJson([\n            'success' => true,\n        ]);\n\n    $this->assertEquals(Invoice::find($invoice->id)->status, Invoice::STATUS_SENT);\n});\n\ntest('search invoices', function () {\n    $filters = [\n        'page' => 1,\n        'limit' => 15,\n        'search' => 'doe',\n        'status' => Invoice::STATUS_DRAFT,\n        'from_date' => '2019-01-20',\n        'to_date' => '2019-01-27',\n        'invoice_number' => '000012',\n    ];\n\n    $queryString = http_build_query($filters, '', '&');\n\n    $response = getJson('api/v1/invoices?'.$queryString);\n\n    $response->assertOk();\n});\n\ntest('delete multiple invoices', function () {\n    $invoices = Invoice::factory()->count(3)->create([\n        'invoice_date' => '1988-07-18',\n        'due_date' => '1988-08-18',\n    ]);\n\n    $ids = $invoices->pluck('id');\n\n    $data = [\n        'ids' => $ids,\n    ];\n\n    postJson('api/v1/invoices/delete', $data)\n        ->assertOk()\n        ->assertJson([\n            'success' => true,\n        ]);\n\n    foreach ($invoices as $invoice) {\n        $this->assertDeleted($invoice);\n    }\n});\n\ntest('clone invoice', function () {\n    $invoices = Invoice::factory()->create([\n        'invoice_date' => '1988-07-18',\n        'due_date' => '1988-08-18',\n    ]);\n\n    postJson(\"api/v1/invoices/{$invoices->id}/clone\")\n        ->assertStatus(201);\n});\n\ntest('create invoice with negative tax', function () {\n    $invoice = Invoice::factory()\n        ->raw([\n            'taxes' => [Tax::factory()->raw([\n                'percent' => -9.99\n            ])],\n            'items' => [InvoiceItem::factory()->raw()],\n        ]);\n\n    $response = postJson('api/v1/invoices', $invoice);\n\n    $response->assertOk();\n\n    $this->assertDatabaseHas('invoices', [\n        'invoice_number' => $invoice['invoice_number'],\n        'sub_total' => $invoice['sub_total'],\n        'total' => $invoice['total'],\n        'tax' => $invoice['tax'],\n        'discount' => $invoice['discount'],\n        'customer_id' => $invoice['customer_id'],\n    ]);\n\n    $this->assertDatabaseHas('invoice_items', [\n        'name' => $invoice['items'][0]['name'],\n    ]);\n\n    $this->assertDatabaseHas('taxes', [\n        'tax_type_id' => $invoice['taxes'][0]['tax_type_id']\n    ]);\n});\n\ntest('create invoice with tax per item', function () {\n    $invoice = Invoice::factory()\n        ->raw([\n                'tax_per_item' => 'YES',\n                'items' => [\n                    InvoiceItem::factory()->raw([\n                        'taxes' => [Tax::factory()->raw()],\n                    ]),\n                    InvoiceItem::factory()->raw([\n                        'taxes' => [Tax::factory()->raw()],\n                    ]),\n                ],\n            ]);\n\n    $response = postJson('api/v1/invoices', $invoice);\n\n    $response->assertOk();\n\n    $this->assertDatabaseHas('invoices', [\n        'invoice_number' => $invoice['invoice_number'],\n        'sub_total' => $invoice['sub_total'],\n        'total' => $invoice['total'],\n        'tax' => $invoice['tax'],\n        'discount' => $invoice['discount'],\n        'customer_id' => $invoice['customer_id'],\n    ]);\n\n    $this->assertDatabaseHas('invoice_items', [\n        'name' => $invoice['items'][0]['name'],\n    ]);\n\n    $this->assertDatabaseHas('taxes', [\n        'tax_type_id' => $invoice['items'][0]['taxes'][0]['tax_type_id']\n    ]);\n});\n\ntest('create invoice with EUR currency', function () {\n    $invoice = Invoice::factory()\n        ->raw([\n            'discount_type' => 'fixed',\n            'discount_val' => 20,\n            'sub_total' => 100,\n            'total' => 84,\n            'tax' => 4,\n            'due_amount' => 84,\n            'exchange_rate' => 86.403538,\n            'base_discount_val' => 1728.07,\n            'base_sub_total' => 8640.35,\n            'base_total' => 7257.90,\n            'base_tax' => 345.61,\n            'base_due_amount' => 7257.90,\n            'taxes' => [Tax::factory()->raw([\n                'amount' => 4,\n                'percent' => 5,\n                'base_amount' => 345.61,\n            ])],\n            'items' => [InvoiceItem::factory()->raw([\n                'discount_type' => 'fixed',\n                'price' => 100,\n                'quantity' => 1,\n                'discount' => 0,\n                'discount_val' => 0,\n                'tax' => 0,\n                'total' => 100,\n                'base_price' => 8640.35,\n                'exchange_rate' => 86.403538,\n                'base_discount_val' => 0,\n                'base_tax' => 0,\n                'base_total' => 8640.35,\n            ])],\n        ]);\n\n    $response = postJson('api/v1/invoices', $invoice)->assertOk();\n\n    $this->assertDatabaseHas('invoices', [\n        'template_name' => $invoice['template_name'],\n        'invoice_number' => $invoice['invoice_number'],\n        'sub_total' => $invoice['sub_total'],\n        'discount' => $invoice['discount'],\n        'customer_id' => $invoice['customer_id'],\n        'total' => $invoice['total'],\n        'tax' => $invoice['tax'],\n    ]);\n\n    $this->assertDatabaseHas('taxes', [\n        'tax_type_id' => $invoice['taxes'][0]['tax_type_id'],\n        'amount' => $invoice['tax']\n    ]);\n\n    $this->assertDatabaseHas('invoice_items', [\n        'item_id' => $invoice['items'][0]['item_id'],\n        'name' => $invoice['items'][0]['name']\n    ]);\n});\n\ntest('update invoice with EUR currency', function () {\n    $invoice = Invoice::factory()\n        ->hasItems(1)\n        ->hasTaxes(1)\n        ->create([\n        'invoice_date' => '1988-07-18',\n        'due_date' => '1988-08-18',\n    ]);\n\n    $invoice2 = Invoice::factory()\n        ->raw([\n            'id' => $invoice['id'],\n            'discount_type' => 'fixed',\n            'discount_val' => 20,\n            'sub_total' => 100,\n            'total' => 84,\n            'tax' => 4,\n            'due_amount' => 84,\n            'exchange_rate' => 86.403538,\n            'base_discount_val' => 1728.07,\n            'base_sub_total' => 8640.35,\n            'base_total' => 7257.897192,\n            'base_tax' => 345.614152,\n            'base_due_amount' => 7257.897192,\n            'taxes' => [Tax::factory()->raw([\n                'tax_type_id' => $invoice->taxes[0]->tax_type_id,\n                'amount' => 4,\n                'percent' => 5,\n                'base_amount' => 345.614152,\n            ])],\n            'items' => [InvoiceItem::factory()->raw([\n                'invoice_id' => $invoice->id,\n                'discount_type' => 'fixed',\n                'price' => 100,\n                'quantity' => 1,\n                'discount' => 0,\n                'discount_val' => 0,\n                'tax' => 0,\n                'total' => 100,\n                'base_price' => 8640.3538,\n                'exchange_rate' => 86.403538,\n                'base_discount_val' => 0,\n                'base_tax' => 0,\n                'base_total' => 8640.3538,\n            ])],\n        ]);\n\n    putJson('api/v1/invoices/'.$invoice->id, $invoice2)->assertOk();\n\n    $this->assertDatabaseHas('invoices', [\n        'id' => $invoice['id'],\n        'invoice_number' => $invoice2['invoice_number'],\n        'sub_total' => $invoice2['sub_total'],\n        'total' => $invoice2['total'],\n        'tax' => $invoice2['tax'],\n        'discount' => $invoice2['discount'],\n        'customer_id' => $invoice2['customer_id'],\n        'template_name' => $invoice2['template_name'],\n        'exchange_rate' => $invoice2['exchange_rate'],\n        'base_total' => $invoice2['base_total'],\n    ]);\n\n    $this->assertDatabaseHas('invoice_items', [\n        'invoice_id' => $invoice2['items'][0]['invoice_id'],\n        'item_id' => $invoice2['items'][0]['item_id'],\n        'name' => $invoice2['items'][0]['name'],\n        'exchange_rate' => $invoice2['items'][0]['exchange_rate'],\n        'base_price' => $invoice2['items'][0]['base_price'],\n        'base_total' => $invoice2['items'][0]['base_total'],\n    ]);\n\n    $this->assertDatabaseHas('taxes', [\n        'amount' => $invoice2['taxes'][0]['amount'],\n        'name' => $invoice2['taxes'][0]['name'],\n        'base_amount' => $invoice2['taxes'][0]['base_amount'],\n    ]);\n});\n"
  },
  {
    "path": "tests/Feature/Admin/ItemTest.php",
    "content": "<?php\n\nuse Crater\\Http\\Controllers\\V1\\Admin\\Item\\ItemsController;\nuse Crater\\Http\\Requests\\ItemsRequest;\nuse Crater\\Models\\Item;\nuse Crater\\Models\\Tax;\nuse Crater\\Models\\User;\nuse Illuminate\\Support\\Facades\\Artisan;\nuse Laravel\\Sanctum\\Sanctum;\nuse function Pest\\Laravel\\getJson;\nuse function Pest\\Laravel\\postJson;\nuse function Pest\\Laravel\\putJson;\n\nbeforeEach(function () {\n    Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);\n    Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);\n\n    $user = User::find(1);\n    $this->withHeaders([\n        'company' => $user->companies()->first()->id,\n    ]);\n    Sanctum::actingAs(\n        $user,\n        ['*']\n    );\n});\n\ntest('get items', function () {\n    $response = getJson('api/v1/items?page=1');\n\n    $response->assertOk();\n});\n\ntest('create item', function () {\n    $item = Item::factory()->raw([\n        'taxes' => [\n            Tax::factory()->raw(),\n            Tax::factory()->raw(),\n        ],\n    ]);\n\n    $response = postJson('api/v1/items', $item);\n\n    $this->assertDatabaseHas('items', [\n        'name' => $item['name'],\n        'description' => $item['description'],\n        'price' => $item['price'],\n        'company_id' => $item['company_id'],\n    ]);\n\n    $this->assertDatabaseHas('taxes', [\n        'item_id' => $response->getData()->data->id,\n    ]);\n\n    $response->assertOk();\n});\n\ntest('store validates using a form request', function () {\n    $this->assertActionUsesFormRequest(\n        ItemsController::class,\n        'store',\n        ItemsRequest::class\n    );\n});\n\ntest('get item', function () {\n    $item = Item::factory()->create();\n\n    $response = getJson(\"api/v1/items/{$item->id}\");\n\n    $response->assertOk();\n\n    $this->assertDatabaseHas('items', [\n        'name' => $item['name'],\n        'description' => $item['description'],\n        'price' => $item['price'],\n        'company_id' => $item['company_id'],\n    ]);\n});\n\ntest('update item', function () {\n    $item = Item::factory()->create();\n\n    $update_item = Item::factory()->raw([\n        'taxes' => [\n            Tax::factory()->raw(),\n        ],\n    ]);\n\n    $response = putJson('api/v1/items/'.$item->id, $update_item);\n\n    $response->assertOk();\n\n    $this->assertDatabaseHas('items', [\n        'name' => $update_item['name'],\n        'description' => $update_item['description'],\n        'price' => $update_item['price'],\n        'company_id' => $update_item['company_id'],\n    ]);\n\n    $this->assertDatabaseHas('taxes', [\n        'item_id' => $item->id,\n    ]);\n});\n\ntest('update validates using a form request', function () {\n    $this->assertActionUsesFormRequest(\n        ItemsController::class,\n        'update',\n        ItemsRequest::class\n    );\n});\n\ntest('delete multiple items', function () {\n    $items = Item::factory()->count(5)->create();\n\n    $data = [\n        'ids' => $items->pluck('id'),\n    ];\n\n    postJson(\"/api/v1/items/delete\", $data)->assertOk();\n\n    foreach ($items as $item) {\n        $this->assertDeleted($item);\n    }\n});\n\ntest('search items', function () {\n    $filters = [\n        'page' => 1,\n        'limit' => 15,\n        'search' => 'doe',\n        'price' => 6,\n        'unit' => 'kg',\n    ];\n\n    $queryString = http_build_query($filters, '', '&');\n\n    $response = getJson('api/v1/items?'.$queryString);\n\n    $response->assertOk();\n});\n"
  },
  {
    "path": "tests/Feature/Admin/LocationTest.php",
    "content": "<?php\n\nuse Crater\\Models\\User;\nuse Illuminate\\Support\\Facades\\Artisan;\nuse Laravel\\Sanctum\\Sanctum;\nuse function Pest\\Laravel\\getJson;\n\nbeforeEach(function () {\n    Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);\n    Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);\n\n    $user = User::find(1);\n    $this->withHeaders([\n        'company' => $user->companies()->first()->id,\n    ]);\n    Sanctum::actingAs(\n        $user,\n        ['*']\n    );\n});\n\ntest('get countries', function () {\n    $response = getJson('api/v1/countries');\n\n    $response->assertOk();\n});\n"
  },
  {
    "path": "tests/Feature/Admin/NextNumberTest.php",
    "content": "<?php\n\nuse Crater\\Models\\User;\nuse Illuminate\\Support\\Facades\\Artisan;\nuse Laravel\\Sanctum\\Sanctum;\nuse function Pest\\Laravel\\{getJson};\n\nbeforeEach(function () {\n    Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);\n    Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);\n\n    $user = User::find(1);\n    $this->withHeaders([\n        'company' => $user->companies()->first()->id,\n    ]);\n\n    Sanctum::actingAs(\n        $user,\n        ['*']\n    );\n});\n\ntest('next number', function () {\n    $key = 'invoice';\n\n    $response = getJson('api/v1/next-number?key='.$key);\n\n    $response->assertStatus(200)->assertJson([\n        'nextNumber' => 'INV-000001',\n    ]);\n\n    $key = 'estimate';\n\n    $response = getJson('api/v1/next-number?key='.$key);\n\n    $response->assertStatus(200)->assertJson([\n        'nextNumber' => 'EST-000001',\n    ]);\n\n    $key = 'payment';\n\n    $response = getJson('api/v1/next-number?key='.$key);\n\n    $response->assertStatus(200)->assertJson([\n        'nextNumber' => 'PAY-000001',\n    ]);\n});\n"
  },
  {
    "path": "tests/Feature/Admin/NotesTest.php",
    "content": "<?php\n\nuse Crater\\Models\\Note;\nuse Crater\\Models\\User;\nuse Illuminate\\Support\\Facades\\Artisan;\nuse Laravel\\Sanctum\\Sanctum;\nuse function Pest\\Laravel\\deleteJson;\nuse function Pest\\Laravel\\getJson;\nuse function Pest\\Laravel\\postJson;\nuse function Pest\\Laravel\\putJson;\n\nbeforeEach(function () {\n    Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);\n    Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);\n\n    $user = User::find(1);\n    $this->withHeaders([\n        'company' => $user->companies()->first()->id,\n    ]);\n    Sanctum::actingAs(\n        $user,\n        ['*']\n    );\n});\n\ntest('retrieve notes', function () {\n    getJson('/api/v1/notes')->assertStatus(200);\n});\n\ntest('create note', function () {\n    $note = Note::factory()->raw();\n\n    postJson('/api/v1/notes', $note)->assertStatus(201);\n\n    $this->assertDatabaseHas('notes', $note);\n});\n\ntest('retrieve note', function () {\n    $note = Note::factory()->create();\n\n    getJson(\"/api/v1/notes/{$note->id}\")\n        ->assertStatus(200);\n});\n\ntest('update note', function () {\n    $note = Note::factory()->create();\n\n    $data = Note::factory()->raw();\n\n    putJson(\"/api/v1/notes/{$note->id}\", $data)\n        ->assertStatus(200);\n\n    $this->assertDatabaseHas('notes', $data);\n});\n\ntest('delete note', function () {\n    $note = Note::factory()->create();\n\n    deleteJson(\"/api/v1/notes/{$note->id}\")\n        ->assertStatus(200)\n        ->assertJson([\n            'success' => true,\n        ]);\n\n    $this->assertDeleted($note);\n});\n"
  },
  {
    "path": "tests/Feature/Admin/PaymentMethodTest.php",
    "content": "<?php\n\nuse Crater\\Http\\Controllers\\V1\\Admin\\Payment\\PaymentMethodsController;\nuse Crater\\Http\\Requests\\PaymentMethodRequest;\nuse Crater\\Models\\PaymentMethod;\nuse Crater\\Models\\User;\nuse Illuminate\\Support\\Facades\\Artisan;\nuse Laravel\\Sanctum\\Sanctum;\nuse function Pest\\Laravel\\deleteJson;\nuse function Pest\\Laravel\\getJson;\nuse function Pest\\Laravel\\postJson;\nuse function Pest\\Laravel\\putJson;\n\nbeforeEach(function () {\n    Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);\n    Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);\n\n    $user = User::find(1);\n    $this->withHeaders([\n        'company' => $user->companies()->first()->id,\n    ]);\n    Sanctum::actingAs(\n        $user,\n        ['*']\n    );\n});\n\ntest('get payment methods', function () {\n    $response = getJson('api/v1/payment-methods?page=1');\n\n    $response->assertOk();\n});\n\ntest('create payment method', function () {\n    $data = [\n        'name' => 'demo name',\n        'company_id' => User::find(1)->companies()->first()->id,\n    ];\n\n    $response = postJson('api/v1/payment-methods', $data);\n\n    $response->assertStatus(201);\n\n    $this->assertDatabaseHas('payment_methods', [\n        'name' => $data['name'],\n        'company_id' => $data['company_id'],\n    ]);\n});\n\ntest('store validates using a form request', function () {\n    $this->assertActionUsesFormRequest(\n        PaymentMethodsController::class,\n        'store',\n        PaymentMethodRequest::class\n    );\n});\n\ntest('get payment method', function () {\n    $method = PaymentMethod::factory()->create();\n\n    $response = getJson(\"api/v1/payment-methods/{$method->id}\");\n\n    $response->assertOk();\n\n    $this->assertDatabaseHas('payment_methods', [\n        'id' => $method->id,\n        'name' => $method['name'],\n        'company_id' => $method['company_id'],\n    ]);\n});\n\ntest('update payment method', function () {\n    $method = PaymentMethod::factory()->create();\n\n    $data = [\n        'name' => 'updated name',\n    ];\n\n    $response = putJson(\"api/v1/payment-methods/{$method->id}\", $data);\n\n    $response->assertOk();\n\n    $this->assertDatabaseHas('payment_methods', [\n        'id' => $method->id,\n        'name' => $data['name'],\n    ]);\n});\n\ntest('update validates using a form request', function () {\n    $this->assertActionUsesFormRequest(\n        PaymentMethodsController::class,\n        'update',\n        PaymentMethodRequest::class\n    );\n});\n\ntest('delete payment method', function () {\n    $method = PaymentMethod::factory()->create();\n\n    $response = deleteJson('api/v1/payment-methods/'.$method->id);\n\n    $response->assertOk();\n\n    $this->assertDeleted($method);\n});\n"
  },
  {
    "path": "tests/Feature/Admin/PaymentTest.php",
    "content": "<?php\n\nuse Crater\\Http\\Controllers\\V1\\Admin\\Payment\\PaymentsController;\nuse Crater\\Http\\Requests\\PaymentRequest;\nuse Crater\\Mail\\SendPaymentMail;\nuse Crater\\Models\\Invoice;\nuse Crater\\Models\\Payment;\nuse Crater\\Models\\User;\nuse Illuminate\\Support\\Facades\\Artisan;\nuse Laravel\\Sanctum\\Sanctum;\n\nuse function Pest\\Laravel\\getJson;\nuse function Pest\\Laravel\\postJson;\nuse function Pest\\Laravel\\putJson;\n\nbeforeEach(function () {\n    Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);\n    Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);\n\n    $user = User::find(1);\n    $this->withHeaders([\n        'company' => $user->companies()->first()->id,\n    ]);\n    Sanctum::actingAs(\n        $user,\n        ['*']\n    );\n});\n\ntest('get payments', function () {\n    $response = getJson('api/v1/payments?page=1');\n\n    $response->assertOk();\n});\n\ntest('get payment', function () {\n    $payment = Payment::factory()->create();\n\n    $response = getJson(\"api/v1/payments/{$payment->id}\");\n\n    $response->assertStatus(200);\n});\n\ntest('create payment', function () {\n    $invoice = Invoice::factory()->create([\n        'due_amount' => 100,\n        'exchange_rate' => 1\n    ]);\n\n    $payment = Payment::factory()->raw([\n        'invoice_id' => $invoice->id,\n        'payment_number' => \"PAY-000001\",\n        'amount' => $invoice->due_amount,\n        'exchange_rate' => 1\n    ]);\n\n    $response = postJson('api/v1/payments', $payment);\n\n    $response->assertOk();\n\n    $this->assertDatabaseHas('payments', [\n        'payment_number' => $payment['payment_number'],\n        'customer_id' => $payment['customer_id'],\n        'amount' => $payment['amount'],\n        'company_id' => $payment['company_id'],\n    ]);\n});\n\ntest('store validates using a form request', function () {\n    $this->assertActionUsesFormRequest(\n        PaymentsController::class,\n        'store',\n        PaymentRequest::class\n    );\n});\n\ntest('update payment', function () {\n    $invoice = Invoice::factory()->create();\n\n    $payment = Payment::factory()->create([\n        'payment_date' => '1988-08-18',\n        'invoice_id' => $invoice->id,\n        'exchange_rate' => 1\n    ]);\n\n    $payment2 = Payment::factory()->raw([\n        'invoice_id' => $invoice->id,\n        'exchange_rate' => 1\n    ]);\n\n    putJson(\"api/v1/payments/{$payment->id}\", $payment2)\n        ->assertOk();\n\n    $this->assertDatabaseHas('payments', [\n        'id' => $payment->id,\n        'payment_number' => $payment2['payment_number'],\n        'customer_id' => $payment2['customer_id'],\n        'amount' => $payment2['amount'],\n    ]);\n});\n\ntest('update validates using a form request', function () {\n    $this->assertActionUsesFormRequest(\n        PaymentsController::class,\n        'update',\n        PaymentRequest::class\n    );\n});\n\ntest('search payments', function () {\n    $filters = [\n        'page' => 1,\n        'limit' => 15,\n        'search' => 'doe',\n        'payment_number' => 'PAY-000001',\n        'payment_mode' => 'OTHER',\n    ];\n\n    $queryString = http_build_query($filters, '', '&');\n\n    $response = getJson('api/v1/payments?'.$queryString);\n\n    $response->assertOk();\n});\n\ntest('send payment to customer', function () {\n    Mail::fake();\n\n    $payment = Payment::factory()->create();\n\n    $data = [\n        'subject' => 'test',\n        'body' => 'test',\n        'from' => 'john@example.com',\n        'to' => 'doe@example.com',\n    ];\n\n    $response = postJson(\"api/v1/payments/{$payment->id}/send\", $data);\n\n    $response->assertJson([\n        'success' => true,\n    ]);\n\n    Mail::assertSent(SendPaymentMail::class);\n});\n\ntest('delete payment', function () {\n    $payments = Payment::factory()->count(5)->create();\n\n    $ids = $payments->pluck('id');\n\n    $data = [\n        'ids' => $ids,\n    ];\n\n    $response = postJson('api/v1/payments/delete', $data);\n\n    $response->assertJson([\n        'success' => true,\n    ]);\n});\n\ntest('create payment without invoice', function () {\n    $payment = Payment::factory()->raw([\n        'payment_number' => \"PAY-000001\",\n        'exchange_rate' => 1\n    ]);\n\n    postJson('api/v1/payments', $payment)->assertOk();\n\n    $this->assertDatabaseHas('payments', [\n        'payment_number' => $payment['payment_number'],\n        'customer_id' => $payment['customer_id'],\n        'amount' => $payment['amount'],\n        'company_id' => $payment['company_id'],\n    ]);\n});\n\ntest('create payment with invoice', function () {\n    $payment = Payment::factory()->raw([\n        'payment_number' => \"PAY-000001\",\n    ]);\n\n    $invoice = Invoice::factory()->create();\n\n    $payment = Payment::factory()->raw([\n        'invoice_id' => $invoice->id,\n        'amount' => $invoice->due_amount,\n        'exchange_rate' => 1\n    ]);\n\n    postJson('api/v1/payments', $payment)->assertOk();\n\n    $this->assertDatabaseHas('payments', [\n        'payment_number' => $payment['payment_number'],\n        'customer_id' => $payment['customer_id'],\n        'invoice_id' => $payment['invoice_id'],\n        'amount' => $payment['amount'],\n        'company_id' => $payment['company_id'],\n    ]);\n});\n\ntest('create payment with partially paid', function () {\n    $invoice = Invoice::factory()->create([\n        'sub_total' => 100,\n        'total' => 100,\n        'due_amount' => 100,\n        'exchange_rate' => 1,\n        'base_discount_val' => 100,\n        'base_sub_total' => 100,\n        'base_total' => 100,\n        'base_tax' => 100,\n        'base_due_amount' => 100,\n    ]);\n\n    $payment = Payment::factory()->raw([\n        'invoice_id' => $invoice->id,\n        'customer_id' => $invoice->customer_id,\n        'exchange_rate' => $invoice->exchange_rate,\n        'amount' => 100,\n        'currency_id' => $invoice->currency_id\n    ]);\n\n    $response = postJson(\"api/v1/payments\", $payment)->assertOk();\n\n    $this->assertDatabaseHas('payments', [\n        'payment_number' => $payment['payment_number'],\n        'customer_id' => (string)$payment['customer_id'],\n        'amount' => (string)$payment['amount'],\n    ]);\n\n    $this->assertDatabaseHas('invoices', [\n        'id' => $invoice['id'],\n        'invoice_number' => $response['data']['invoice']['invoice_number'],\n        'total' => $response['data']['invoice']['total'],\n        'customer_id' => $response['data']['invoice']['customer_id'],\n        'exchange_rate' => $response['data']['invoice']['exchange_rate'],\n        'base_total' => $response['data']['invoice']['base_total'],\n        'paid_status' => $response['data']['invoice']['paid_status'],\n    ]);\n});\n"
  },
  {
    "path": "tests/Feature/Admin/RecurringInvoiceTest.php",
    "content": "<?php\n\nuse Carbon\\Carbon;\nuse Crater\\Http\\Controllers\\V1\\Admin\\RecurringInvoice\\RecurringInvoiceController;\nuse Crater\\Http\\Requests\\RecurringInvoiceRequest;\nuse Crater\\Models\\InvoiceItem;\nuse Crater\\Models\\RecurringInvoice;\nuse Crater\\Models\\User;\nuse Illuminate\\Support\\Facades\\Artisan;\nuse Laravel\\Sanctum\\Sanctum;\nuse function Pest\\Laravel\\getJson;\nuse function Pest\\Laravel\\postJson;\nuse function Pest\\Laravel\\putJson;\n\nbeforeEach(function () {\n    Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);\n    Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);\n\n    $user = User::find(1);\n    $this->withHeaders([\n        'company' => $user->companies()->first()->id,\n    ]);\n    Sanctum::actingAs(\n        $user,\n        ['*']\n    );\n});\n\ntest('get recurring invoices', function () {\n    RecurringInvoice::factory()->create();\n\n    getJson('api/v1/recurring-invoices?page=1')\n        ->assertOk();\n});\n\ntest('store user using a form request', function () {\n    $this->assertActionUsesFormRequest(\n        RecurringInvoiceController::class,\n        'store',\n        RecurringInvoiceRequest::class\n    );\n});\n\ntest('store recurring invoice', function () {\n    $recurringInvoice = RecurringInvoice::factory()->raw();\n    $recurringInvoice['items'] = [\n        InvoiceItem::factory()->raw()\n    ];\n\n    postJson('api/v1/recurring-invoices', $recurringInvoice)\n        ->assertStatus(201);\n\n    $recurringInvoice = collect($recurringInvoice)\n        ->only([\n            'frequency',\n        ])\n        ->toArray();\n\n    $this->assertDatabaseHas('recurring_invoices', $recurringInvoice);\n});\n\ntest('get recurring invoice', function () {\n    $recurringInvoice = RecurringInvoice::factory()->create();\n\n    getJson(\"api/v1/recurring-invoices/{$recurringInvoice->id}\")\n        ->assertOk();\n});\n\ntest('update user using a form request', function () {\n    $this->assertActionUsesFormRequest(\n        RecurringInvoiceController::class,\n        'update',\n        RecurringInvoiceRequest::class\n    );\n});\n\ntest('update recurring invoice', function () {\n    $recurringInvoice = RecurringInvoice::factory()->create();\n    $recurringInvoice['items'] = [\n        InvoiceItem::factory()->raw()\n    ];\n\n    $new_recurringInvoice = RecurringInvoice::factory()->raw();\n    $new_recurringInvoice['items'] = [\n        InvoiceItem::factory()->raw()\n    ];\n\n    putJson(\"api/v1/recurring-invoices/{$recurringInvoice->id}\", $new_recurringInvoice)\n        ->assertOk();\n\n    $new_recurringInvoice = collect($new_recurringInvoice)\n        ->only([\n            'frequency',\n        ])\n        ->toArray();\n\n    $this->assertDatabaseHas('recurring_invoices', $new_recurringInvoice);\n});\n\ntest('delete multiple recurring invoice', function () {\n    $recurringInvoices = RecurringInvoice::factory()->count(3)->create();\n\n    $data = [\n        'ids' => $recurringInvoices->pluck('id'),\n    ];\n\n    postJson('api/v1/recurring-invoices/delete', $data)\n        ->assertOk()\n        ->assertJson([\n            'success' => true,\n        ]);\n\n    foreach ($recurringInvoices as $recurringInvoice) {\n        $this->assertDeleted($recurringInvoice);\n    }\n});\n\ntest('calculate frequency for recurring invoice', function () {\n    $data = [\n        'frequency' => '* * 2 * *',\n        'starts_at' => Carbon::now()->format('Y-m-d')\n    ];\n\n    $queryString = http_build_query($data, '', '&');\n\n    getJson(\"api/v1/recurring-invoice-frequency?\".$queryString)\n        ->assertOk();\n});\n"
  },
  {
    "path": "tests/Feature/Admin/RoleTest.php",
    "content": "<?php\n\nuse Crater\\Models\\User;\nuse Illuminate\\Support\\Facades\\Artisan;\nuse Laravel\\Sanctum\\Sanctum;\nuse function Pest\\Laravel\\postJson;\n\nbeforeEach(function () {\n    Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);\n    Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);\n\n    $user = User::find(1);\n    $this->withHeaders([\n        'company' => $user->companies()->first()->id,\n    ]);\n    Sanctum::actingAs(\n        $user,\n        ['*']\n    );\n});\n\ntest('create super admin role', function () {\n    $data = [\n        \"email\" => \"loremipsum@gmail.com\",\n        \"name\" => \"lorem\",\n        \"password\" => \"lorem@123\"\n    ];\n    $data['companies'] = [\n        [\n            \"role\" => \"super admin\",\n            \"id\" => 1\n        ]\n    ];\n\n    postJson('api/v1/users', $data)\n        ->assertStatus(201);\n\n    $data = collect($data)\n        ->only([\n            'email',\n            'name',\n        ])\n        ->toArray();\n\n    $this->assertDatabaseHas('users', $data);\n});\n"
  },
  {
    "path": "tests/Feature/Admin/TaxTypeTest.php",
    "content": "<?php\n\nuse Crater\\Http\\Controllers\\V1\\Admin\\Settings\\TaxTypesController;\nuse Crater\\Http\\Requests\\TaxTypeRequest;\nuse Crater\\Models\\TaxType;\nuse Crater\\Models\\User;\nuse Illuminate\\Support\\Facades\\Artisan;\nuse Laravel\\Sanctum\\Sanctum;\n\nuse function Pest\\Laravel\\deleteJson;\nuse function Pest\\Laravel\\getJson;\nuse function Pest\\Laravel\\postJson;\nuse function Pest\\Laravel\\putJson;\n\nbeforeEach(function () {\n    Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);\n    Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);\n\n    $user = User::find(1);\n    $this->withHeaders([\n        'company' => $user->companies()->first()->id,\n    ]);\n    Sanctum::actingAs(\n        $user,\n        ['*']\n    );\n});\n\ntest('get tax types', function () {\n    $response = getJson('api/v1/tax-types');\n\n    $response->assertOk();\n});\n\ntest('create tax type', function () {\n    $taxType = TaxType::factory()->raw();\n\n    postJson('api/v1/tax-types', $taxType);\n\n    $this->assertDatabaseHas('tax_types', $taxType);\n});\n\ntest('store validates using a form request', function () {\n    $this->assertActionUsesFormRequest(\n        TaxTypesController::class,\n        'store',\n        TaxTypeRequest::class\n    );\n});\n\ntest('get tax type', function () {\n    $taxType = TaxType::factory()->create();\n\n    $response = getJson('api/v1/tax-types/'.$taxType->id);\n\n    $response->assertOk();\n});\n\ntest('update tax type', function () {\n    $taxType = TaxType::factory()->create();\n\n    $taxType1 = TaxType::factory()->raw();\n\n    $response = putJson('api/v1/tax-types/'.$taxType->id, $taxType1);\n\n    $response->assertOk();\n});\n\ntest('update validates using a form request', function () {\n    $this->assertActionUsesFormRequest(\n        TaxTypesController::class,\n        'update',\n        TaxTypeRequest::class\n    );\n});\n\ntest('delete tax type', function () {\n    $taxType = TaxType::factory()->create();\n\n    $response = deleteJson('api/v1/tax-types/'.$taxType->id);\n\n    $response->assertOk()\n        ->assertJson([\n            'success' => true,\n        ]);\n\n    $this->assertDeleted($taxType);\n});\n\n\ntest('create negative tax type', function () {\n    $taxType = TaxType::factory()->raw([\n        'percent' => -9.99\n    ]);\n\n    postJson('api/v1/tax-types', $taxType)\n        ->assertStatus(201);\n\n    $this->assertDatabaseHas('tax_types', $taxType);\n});\n"
  },
  {
    "path": "tests/Feature/Admin/UnitTest.php",
    "content": "<?php\n\nuse Crater\\Http\\Controllers\\V1\\Admin\\Item\\UnitsController;\nuse Crater\\Http\\Requests\\UnitRequest;\nuse Crater\\Models\\Unit;\nuse Crater\\Models\\User;\nuse Illuminate\\Support\\Facades\\Artisan;\nuse Laravel\\Sanctum\\Sanctum;\nuse function Pest\\Laravel\\deleteJson;\nuse function Pest\\Laravel\\getJson;\nuse function Pest\\Laravel\\postJson;\nuse function Pest\\Laravel\\putJson;\n\nbeforeEach(function () {\n    Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);\n    Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);\n\n    $user = User::find(1);\n    $this->withHeaders([\n        'company' => $user->companies()->first()->id,\n    ]);\n    Sanctum::actingAs(\n        $user,\n        ['*']\n    );\n});\n\ntest('get units', function () {\n    $response = getJson('api/v1/units?page=1');\n\n    $response->assertOk();\n});\n\ntest('create unit', function () {\n    $data = [\n        'name' => 'unit name',\n        'company_id' => User::find(1)->companies()->first()->id,\n    ];\n\n    $response = postJson('api/v1/units', $data);\n\n    $response->assertStatus(201);\n\n    $this->assertDatabaseHas('units', $data);\n});\n\ntest('store validates using a form request', function () {\n    $this->assertActionUsesFormRequest(\n        UnitsController::class,\n        'store',\n        UnitRequest::class\n    );\n});\n\ntest('get unit', function () {\n    $unit = Unit::factory()->create();\n\n    $response = getJson(\"api/v1/units/{$unit->id}\");\n\n    $response->assertOk();\n\n    $this->assertDatabaseHas('units', [\n        'id' => $unit->id,\n        'name' => $unit['name'],\n    ]);\n});\n\ntest('update unit', function () {\n    $unit = Unit::factory()->create();\n\n    $update_unit = [\n        'name' => 'new name',\n    ];\n\n    $response = putJson(\"api/v1/units/{$unit->id}\", $update_unit);\n\n    $response->assertOk();\n\n    $this->assertDatabaseHas('units', [\n        'id' => $unit->id,\n        'name' => $update_unit['name'],\n    ]);\n});\n\ntest('update validates using a form request', function () {\n    $this->assertActionUsesFormRequest(\n        UnitsController::class,\n        'update',\n        UnitRequest::class\n    );\n});\n\ntest('delete unit', function () {\n    $unit = Unit::factory()->create();\n\n    $response = deleteJson(\"api/v1/units/{$unit->id}\");\n\n    $response->assertOk();\n\n    $this->assertDeleted($unit);\n});\n"
  },
  {
    "path": "tests/Feature/Admin/UserTest.php",
    "content": "<?php\n\nuse Crater\\Http\\Controllers\\V1\\Admin\\Users\\UsersController;\nuse Crater\\Http\\Requests\\UserRequest;\nuse Crater\\Models\\User;\nuse Laravel\\Sanctum\\Sanctum;\nuse function Pest\\Faker\\faker;\nuse function Pest\\Laravel\\getJson;\nuse function Pest\\Laravel\\postJson;\nuse function Pest\\Laravel\\putJson;\n\nbeforeEach(function () {\n    Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);\n    Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);\n\n    $user = User::where('role', 'super admin')->first();\n\n    $this->withHeaders([\n        'company' => $user->companies()->first()->id,\n    ]);\n\n    Sanctum::actingAs(\n        $user,\n        ['*']\n    );\n});\n\ngetJson('/api/v1/users')->assertOk();\n\ntest('store user using a form request', function () {\n    $this->assertActionUsesFormRequest(\n        UsersController::class,\n        'store',\n        UserRequest::class\n    );\n});\n\n// test('store user', function () {\n//     $data = [\n//         'name' => faker()->name,\n//         'email' => faker()->unique()->safeEmail,\n//         'phone' => faker()->phoneNumber,\n//         'password' => faker()->password\n//     ];\n\n//     postJson('/api/v1/users', $data)->assertOk();\n\n//     $this->assertDatabaseHas('users', [\n//         'name' => $data['name'],\n//         'email' => $data['email'],\n//         'phone' => $data['phone'],\n//     ]);\n// });\n\ntest('get user', function () {\n    $user = User::factory()->create();\n\n    getJson(\"/api/v1/users/{$user->id}\")->assertOk();\n});\n\ntest('update user using a form request', function () {\n    $this->assertActionUsesFormRequest(\n        UsersController::class,\n        'update',\n        UserRequest::class\n    );\n});\n\n// test('update user', function () {\n//     $user = User::factory()->create();\n\n//     $data = [\n//         'name' => faker()->name,\n//         'email' => faker()->unique()->safeEmail,\n//         'phone' => faker()->phoneNumber,\n//         'password' => faker()->password\n//     ];\n\n//     putJson(\"/api/v1/users/{$user->id}\", $data)->assertOk();\n\n//     $this->assertDatabaseHas('users', [\n//         'name' => $data['name'],\n//         'email' => $data['email'],\n//         'phone' => $data['phone'],\n//     ]);\n// });\n\n// test('delete users', function () {\n//     $user = User::factory()->create();\n//     $data['users'] = [$user->id];\n\n//     postJson(\"/api/v1/users/delete\", $data)\n//         ->assertOk();\n\n//     $this->assertDeleted($user);\n// });\n"
  },
  {
    "path": "tests/Feature/Customer/DashboardTest.php",
    "content": "<?php\n\nnamespace Tests\\Feature\\Customer;\n\nuse Crater\\Models\\Customer;\nuse Illuminate\\Support\\Facades\\Artisan;\nuse Illuminate\\Support\\Facades\\Auth;\nuse Laravel\\Sanctum\\Sanctum;\nuse function Pest\\Laravel\\getJson;\n\nbeforeEach(function () {\n    Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);\n    Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);\n\n    $customer = Customer::factory()->create();\n\n    Sanctum::actingAs(\n        $customer,\n        ['*'],\n        'customer'\n    );\n});\n\ntest('customer dashboard', function () {\n    $customer = Auth::guard('customer')->user();\n\n    getJson(\"api/v1/{$customer->company->slug}/customer/dashboard\")->assertOk();\n});\n"
  },
  {
    "path": "tests/Feature/Customer/EstimateTest.php",
    "content": "<?php\n\nnamespace Tests\\Feature\\Customer;\n\nuse Crater\\Models\\Customer;\nuse Crater\\Models\\Estimate;\nuse Illuminate\\Support\\Facades\\Artisan;\nuse Illuminate\\Support\\Facades\\Auth;\nuse Laravel\\Sanctum\\Sanctum;\nuse function Pest\\Laravel\\getJson;\nuse function Pest\\Laravel\\postJson;\n\nbeforeEach(function () {\n    Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);\n    Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);\n\n    $customer = Customer::factory()->create();\n\n    Sanctum::actingAs(\n        $customer,\n        ['*'],\n        'customer'\n    );\n});\n\ntest('get customer estimates', function () {\n    $customer = Auth::guard('customer')->user();\n\n    getJson(\"api/v1/{$customer->company->slug}/customer/estimates?page=1\")->assertOk();\n});\n\ntest('get customer estimate', function () {\n    $customer = Auth::guard('customer')->user();\n\n    $estimate = Estimate::factory()->create([\n        'customer_id' => $customer->id\n    ]);\n\n    getJson(\"/api/v1/{$customer->company->slug}/customer/estimates/{$estimate->id}\")\n        ->assertOk();\n});\n\ntest('customer estimate mark as accepted', function () {\n    $customer = Auth::guard('customer')->user();\n\n    $estimate = Estimate::factory()->create([\n        'estimate_date' => '1988-07-18',\n        'expiry_date' => '1988-08-18',\n        'customer_id' => $customer->id\n    ]);\n\n    $status = [\n        'status' => Estimate::STATUS_ACCEPTED\n    ];\n\n    $response = postJson(\"api/v1/{$customer->company->slug}/customer/estimate/{$estimate->id}/status\", $status)\n        ->assertOk();\n\n    $this->assertEquals($response->json()['data']['status'], Estimate::STATUS_ACCEPTED);\n});\n\ntest('customer estimate mark as rejected', function () {\n    $customer = Auth::guard('customer')->user();\n\n    $estimate = Estimate::factory()->create([\n        'estimate_date' => '1988-07-18',\n        'expiry_date' => '1988-08-18',\n        'customer_id' => $customer->id\n    ]);\n\n    $status = [\n        'status' => Estimate::STATUS_REJECTED\n    ];\n\n    $response = postJson(\"api/v1/{$customer->company->slug}/customer/estimate/{$estimate->id}/status\", $status)\n        ->assertOk();\n\n    $this->assertEquals($response->json()['data']['status'], Estimate::STATUS_REJECTED);\n});\n"
  },
  {
    "path": "tests/Feature/Customer/ExpenseTest.php",
    "content": "<?php\n\nnamespace Tests\\Feature\\Customer;\n\nuse Crater\\Models\\Customer;\nuse Crater\\Models\\Expense;\nuse Illuminate\\Support\\Facades\\Artisan;\nuse Illuminate\\Support\\Facades\\Auth;\nuse Laravel\\Sanctum\\Sanctum;\nuse function Pest\\Laravel\\getJson;\n\nbeforeEach(function () {\n    Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);\n    Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);\n\n    $customer = Customer::factory()->create();\n\n    Sanctum::actingAs(\n        $customer,\n        ['*'],\n        'customer'\n    );\n});\n\ntest('get customer expenses', function () {\n    $customer = Auth::guard('customer')->user();\n\n    getJson(\"api/v1/{$customer->company->slug}/customer/expenses?page=1\")->assertOk();\n});\n\ntest('get customer expense', function () {\n    $customer = Auth::guard('customer')->user();\n\n    $expense = Expense::factory()->create([\n        'customer_id' => $customer->id,\n        'company_id' => $customer->company->id\n    ]);\n\n    getJson(\"/api/v1/{$customer->company->slug}/customer/expenses/{$expense->id}\")\n        ->assertOk();\n});\n"
  },
  {
    "path": "tests/Feature/Customer/InvoiceTest.php",
    "content": "<?php\n\nnamespace Tests\\Feature\\Customer;\n\nuse Crater\\Models\\Customer;\nuse Crater\\Models\\Invoice;\nuse Illuminate\\Support\\Facades\\Artisan;\nuse Illuminate\\Support\\Facades\\Auth;\nuse Laravel\\Sanctum\\Sanctum;\nuse function Pest\\Laravel\\getJson;\n\nbeforeEach(function () {\n    Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);\n    Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);\n\n    $customer = Customer::factory()->create();\n\n    Sanctum::actingAs(\n        $customer,\n        ['*'],\n        'customer'\n    );\n});\n\ntest('get customer invoices', function () {\n    $customer = Auth::guard('customer')->user();\n\n    getJson(\"api/v1/{$customer->company->slug}/customer/invoices?page=1\")->assertOk();\n});\n\ntest('get customer invoice', function () {\n    $customer = Auth::guard('customer')->user();\n\n    $invoice = Invoice::factory()->create([\n        'customer_id' => $customer->id\n    ]);\n\n    getJson(\"/api/v1/{$customer->company->slug}/customer/invoices/{$invoice->id}\")->assertOk();\n\n    $this->assertDatabaseHas('invoices', [\n        'template_name' => $invoice['template_name'],\n        'invoice_number' => $invoice['invoice_number'],\n        'sub_total' => $invoice['sub_total'],\n        'discount' => $invoice['discount'],\n        'customer_id' => $invoice['customer_id'],\n        'total' => $invoice['total'],\n        'tax' => $invoice['tax'],\n    ]);\n});\n"
  },
  {
    "path": "tests/Feature/Customer/PaymentTest.php",
    "content": "<?php\n\nnamespace Tests\\Feature\\Customer;\n\nuse Crater\\Models\\Customer;\nuse Crater\\Models\\Payment;\nuse Illuminate\\Support\\Facades\\Artisan;\nuse Illuminate\\Support\\Facades\\Auth;\nuse Laravel\\Sanctum\\Sanctum;\nuse function Pest\\Laravel\\getJson;\n\nbeforeEach(function () {\n    Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);\n    Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);\n\n    $customer = Customer::factory()->create();\n\n    Sanctum::actingAs(\n        $customer,\n        ['*'],\n        'customer'\n    );\n});\n\ntest('get customer payments', function () {\n    $customer = Auth::guard('customer')->user();\n\n    getJson(\"api/v1/{$customer->company->slug}/customer/payments?page=1\")->assertOk();\n});\n\ntest('get customer payment', function () {\n    $customer = Auth::guard('customer')->user();\n\n    $payment = Payment::factory()->create([\n        'customer_id' => $customer->id\n    ]);\n\n    getJson(\"/api/v1/{$customer->company->slug}/customer/payments/{$payment->id}\")->assertOk();\n});\n"
  },
  {
    "path": "tests/Feature/Customer/ProfileTest.php",
    "content": "<?php\n\nnamespace Tests\\Feature\\Customer;\n\nuse Crater\\Http\\Controllers\\V1\\Customer\\General\\ProfileController;\nuse Crater\\Http\\Requests\\Customer\\CustomerProfileRequest;\nuse Crater\\Models\\Customer;\nuse Illuminate\\Support\\Facades\\Artisan;\nuse Illuminate\\Support\\Facades\\Auth;\nuse Laravel\\Sanctum\\Sanctum;\nuse function Pest\\Laravel\\getJson;\nuse function Pest\\Laravel\\postJson;\n\nbeforeEach(function () {\n    Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);\n    Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);\n\n    $customer = Customer::factory()->create();\n\n    Sanctum::actingAs(\n        $customer,\n        ['*'],\n        'customer'\n    );\n});\n\ntest('update customer profile using a form request', function () {\n    $this->assertActionUsesFormRequest(\n        ProfileController::class,\n        'updateProfile',\n        CustomerProfileRequest::class\n    );\n});\n\ntest('update customer profile', function () {\n    $customer = Auth::guard('customer')->user();\n\n    $newCustomer = Customer::factory()->raw([\n        'shipping' => [\n            'name' => 'newName',\n            'address_street_1' => 'address'\n        ],\n        'billing' => [\n            'name' => 'newName',\n            'address_street_1' => 'address'\n        ]\n    ]);\n\n    postJson(\"api/v1/{$customer->company->slug}/customer/profile\", $newCustomer)->assertOk();\n\n    $this->assertDatabaseHas('customers', [\n        'name' => $customer['name'],\n        'email' => $customer['email']\n    ]);\n});\n\ntest('get customer', function () {\n    $customer = Auth::guard('customer')->user();\n\n    getJson(\"api/v1/{$customer->company->slug}/customer/me\")->assertOk();\n});\n"
  },
  {
    "path": "tests/Helpers.php",
    "content": "<?php\n\nnamespace Tests;\n\n/**\n * A basic assert example.\n */\nfunction assertExample(): void\n{\n    test()->assertTrue(true);\n}\n"
  },
  {
    "path": "tests/Pest.php",
    "content": "<?php\n\nuse Illuminate\\Foundation\\Testing\\RefreshDatabase;\nuse Tests\\TestCase;\n\nuses(TestCase::class, RefreshDatabase::class)->in('Feature');\nuses(TestCase::class, RefreshDatabase::class)->in('Unit');\n"
  },
  {
    "path": "tests/TestCase.php",
    "content": "<?php\n\nnamespace Tests;\n\nuse Illuminate\\Database\\Eloquent\\Factories\\Factory;\nuse Illuminate\\Foundation\\Testing\\TestCase as BaseTestCase;\nuse Illuminate\\Support\\Str;\nuse JMac\\Testing\\Traits\\AdditionalAssertions;\n\nabstract class TestCase extends BaseTestCase\n{\n    use CreatesApplication;\n    use AdditionalAssertions;\n\n    protected function setUp(): void\n    {\n        parent::setUp();\n\n        Factory::guessFactoryNamesUsing(function (string $modelName) {\n            // We can also customise where our factories live too if we want:\n            $namespace = 'Database\\\\Factories\\\\';\n\n            // Here we are getting the model name from the class namespace\n            $modelName = Str::afterLast($modelName, '\\\\');\n\n            // Finally we'll build up the full class path where\n            // Laravel will find our model factory\n            return $namespace.$modelName.'Factory';\n        });\n    }\n}\n"
  },
  {
    "path": "tests/Unit/AddressTest.php",
    "content": "<?php\n\nuse Crater\\Models\\Address;\nuse Illuminate\\Support\\Facades\\Artisan;\n\nbeforeEach(function () {\n    Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);\n    Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);\n});\n\ntest('an address belongs to user', function () {\n    $address = Address::factory()->forUser()->create();\n\n    $this->assertTrue($address->user->exists());\n});\n\ntest('an address belongs to country', function () {\n    $address = Address::factory()->create();\n\n    $this->assertTrue($address->country->exists());\n});\n\ntest('an address belongs to customer', function () {\n    $address = Address::factory()->forCustomer()->create();\n\n    $this->assertTrue($address->customer()->exists());\n});\n"
  },
  {
    "path": "tests/Unit/CompanySettingTest.php",
    "content": "<?php\n\nuse Crater\\Models\\Company;\nuse Crater\\Models\\CompanySetting;\nuse Illuminate\\Support\\Facades\\Artisan;\nuse function Pest\\Faker\\faker;\n\nbeforeEach(function () {\n    Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);\n    Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);\n});\n\ntest('company setting belongs to company', function () {\n    $setting = CompanySetting::factory()->create();\n\n    $this->assertTrue($setting->company()->exists());\n});\n\ntest('set settings', function () {\n    $key = faker()->name;\n\n    $value = faker()->word;\n\n    $company = Company::factory()->create();\n\n    CompanySetting::setSettings([$key => $value], $company->id);\n\n    $response = CompanySetting::getSetting($key, $company->id);\n\n    $this->assertEquals($value, $response);\n});\n\ntest('get settings', function () {\n    $key = faker()->name;\n\n    $value = faker()->word;\n\n    $company = Company::factory()->create();\n\n    CompanySetting::setSettings([$key => $value], $company->id);\n\n    $response = CompanySetting::getSettings([$key], $company->id);\n\n    $this->assertEquals([$key => $value], $response->toArray());\n});\n"
  },
  {
    "path": "tests/Unit/CompanyTest.php",
    "content": "<?php\n\nuse Crater\\Models\\Company;\nuse Illuminate\\Support\\Facades\\Artisan;\n\nbeforeEach(function () {\n    Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);\n    Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);\n});\n\ntest('company has many customers', function () {\n    $company = Company::factory()->hasCustomers()->create();\n\n    $this->assertTrue($company->customers()->exists());\n});\n\ntest('company has many company settings', function () {\n    $company = Company::factory()->hasSettings(5)->create();\n\n    $this->assertCount(5, $company->settings);\n\n    $this->assertTrue($company->settings()->exists());\n});\n\ntest('a company belongs to many users', function () {\n    $company = Company::factory()->hasUsers(5)->create();\n\n    $this->assertInstanceOf('Illuminate\\Database\\Eloquent\\Collection', $company->users);\n});\n"
  },
  {
    "path": "tests/Unit/CountryTest.php",
    "content": "<?php\n\nuse Crater\\Models\\Address;\nuse Crater\\Models\\Country;\nuse Illuminate\\Support\\Facades\\Artisan;\n\nbeforeEach(function () {\n    Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);\n    Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);\n});\n\ntest('country has many addresses', function () {\n    $country = Country::find(1);\n\n    $address = Address::factory()->count(5)->create([\n        'country_id' => $country->id,\n    ]);\n\n    $this->assertTrue($country->address()->exists());\n});\n"
  },
  {
    "path": "tests/Unit/CustomFieldTest.php",
    "content": "<?php\n\nuse Crater\\Models\\CustomField;\nuse Illuminate\\Support\\Facades\\Artisan;\n\nbeforeEach(function () {\n    Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);\n    Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);\n});\n\ntest('custom field belongs to company', function () {\n    $customField = CustomField::factory()->create();\n\n    $this->assertTrue($customField->company()->exists());\n});\n\ntest('custom field has many custom field value', function () {\n    $customField = CustomField::factory()->hasCustomFieldValues(5)->create();\n\n    $this->assertCount(5, $customField->customFieldValues);\n\n    $this->assertTrue($customField->customFieldValues()->exists());\n});\n"
  },
  {
    "path": "tests/Unit/CustomFieldValueTest.php",
    "content": "<?php\n\nuse Crater\\Models\\CustomFieldValue;\nuse Illuminate\\Support\\Facades\\Artisan;\n\nbeforeEach(function () {\n    Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);\n    Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);\n});\n\ntest('custom field value belongs to company', function () {\n    $fieldValue = CustomFieldValue::factory()->create();\n\n    $this->assertTrue($fieldValue->company()->exists());\n});\n\ntest('custom field value belongs to custom field', function () {\n    $fieldValue = CustomFieldValue::factory()->forCustomField()->create();\n\n    $this->assertTrue($fieldValue->customField()->exists());\n});\n"
  },
  {
    "path": "tests/Unit/CustomerTest.php",
    "content": "<?php\n\nuse Crater\\Models\\Address;\nuse Crater\\Models\\Customer;\nuse Illuminate\\Support\\Facades\\Artisan;\n\nbeforeEach(function () {\n    Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);\n    Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);\n});\n\ntest('customer has many estimates', function () {\n    $customer = Customer::factory()->hasEstimates(5)->create();\n\n    $this->assertCount(5, $customer->estimates);\n\n    $this->assertTrue($customer->estimates()->exists());\n});\n\ntest('customer has many expenses', function () {\n    $customer = Customer::factory()->hasExpenses(5)->create();\n\n    $this->assertCount(5, $customer->expenses);\n\n    $this->assertTrue($customer->expenses()->exists());\n});\n\ntest('customer has many invoices', function () {\n    $customer = Customer::factory()->hasInvoices(5)->create();\n\n    $this->assertCount(5, $customer->invoices);\n\n    $this->assertTrue($customer->invoices()->exists());\n});\n\ntest('customer has many payments', function () {\n    $customer = Customer::factory()->hasPayments(5)->create();\n\n    $this->assertCount(5, $customer->payments);\n\n    $this->assertTrue($customer->payments()->exists());\n});\n\ntest('customer has many addresses', function () {\n    $customer = Customer::factory()->hasAddresses(5)->create();\n\n    $this->assertCount(5, $customer->addresses);\n\n    $this->assertTrue($customer->addresses()->exists());\n});\n\ntest('customer belongs to currency', function () {\n    $customer = Customer::factory()->create();\n\n    $this->assertTrue($customer->currency()->exists());\n});\n\ntest('customer belongs to company', function () {\n    $customer = Customer::factory()->forCompany()->create();\n\n    $this->assertTrue($customer->company()->exists());\n});\n\nit('customer has one billing address', function () {\n    $customer = Customer::factory()->has(Address::factory()->state([\n        'type' => Address::BILLING_TYPE,\n    ]))->create();\n\n    $this->assertTrue($customer->billingAddress()->exists());\n});\n\nit('customer has one shipping address', function () {\n    $customer = Customer::factory()->has(Address::factory()->state([\n        'type' => Address::SHIPPING_TYPE,\n    ]))->create();\n\n    $this->assertTrue($customer->shippingAddress()->exists());\n});\n"
  },
  {
    "path": "tests/Unit/EstimateItemTest.php",
    "content": "<?php\n\nuse Crater\\Models\\Estimate;\nuse Crater\\Models\\EstimateItem;\nuse Crater\\Models\\Item;\nuse Illuminate\\Support\\Facades\\Artisan;\n\nbeforeEach(function () {\n    Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);\n    Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);\n});\n\ntest('estimate item belongs to estimate', function () {\n    $estimateItem = EstimateItem::factory()->forEstimate()->create();\n\n    $this->assertTrue($estimateItem->estimate()->exists());\n});\n\ntest('estimate item belongs to item', function () {\n    $estimateItem = EstimateItem::factory()->create([\n        'item_id' => Item::factory(),\n        'estimate_id' => Estimate::factory(),\n    ]);\n\n    $this->assertTrue($estimateItem->item()->exists());\n});\n\n\ntest('estimate item has many taxes', function () {\n    $estimateItem = EstimateItem::factory()->hasTaxes(5)->create([\n        'estimate_id' => Estimate::factory(),\n    ]);\n\n    $this->assertCount(5, $estimateItem->taxes);\n\n    $this->assertTrue($estimateItem->taxes()->exists());\n});\n"
  },
  {
    "path": "tests/Unit/EstimateTest.php",
    "content": "<?php\n\nuse Crater\\Http\\Requests\\EstimatesRequest;\nuse Crater\\Models\\Estimate;\nuse Crater\\Models\\EstimateItem;\nuse Crater\\Models\\Tax;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\Artisan;\n\nbeforeEach(function () {\n    Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);\n    Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);\n});\n\ntest('estimate has many estimate items', function () {\n    $estimate = Estimate::factory()->create();\n\n    $estimate = Estimate::factory()->hasItems(5)->create();\n\n    $this->assertCount(5, $estimate->items);\n\n    $this->assertTrue($estimate->items()->exists());\n});\n\ntest('estimate belongs to customer', function () {\n    $estimate = Estimate::factory()->forCustomer()->create();\n\n    $this->assertTrue($estimate->customer()->exists());\n});\n\ntest('estimate has many taxes', function () {\n    $estimate = Estimate::factory()->hasTaxes(5)->create();\n\n    $this->assertCount(5, $estimate->taxes);\n\n    $this->assertTrue($estimate->taxes()->exists());\n});\n\ntest('create estimate', function () {\n    $estimate = Estimate::factory()->raw();\n\n    $item = EstimateItem::factory()->raw();\n\n    $estimate['items'] = [];\n    array_push($estimate['items'], $item);\n\n    $estimate['taxes'] = [];\n    array_push($estimate['taxes'], Tax::factory()->raw());\n\n    $request = new EstimatesRequest();\n\n    $request->replace($estimate);\n\n    $response = Estimate::createEstimate($request);\n\n    $this->assertDatabaseHas('estimate_items', [\n        'estimate_id' => $response->id,\n        'name' => $item['name'],\n        'description' => $item['description'],\n        'price' => $item['price'],\n        'quantity' => $item['quantity'],\n        'total' => $item['total'],\n    ]);\n\n    $this->assertDatabaseHas('estimates', [\n        'estimate_number' => $estimate['estimate_number'],\n        'customer_id' => $estimate['customer_id'],\n        'template_name' => $estimate['template_name'],\n        'sub_total' => $estimate['sub_total'],\n        'total' => $estimate['total'],\n        'discount' => $estimate['discount'],\n        'discount_type' => $estimate['discount_type'],\n        'discount_val' => $estimate['discount_val'],\n        'tax' => $estimate['tax'],\n        'notes' => $estimate['notes'],\n    ]);\n});\n\ntest('update estimate', function () {\n    $estimate = Estimate::factory()->hasItems()->hasTaxes()->create();\n\n    $newEstimate = Estimate::factory()->raw();\n\n    $item = EstimateItem::factory()->raw([\n        'estimate_id' => $estimate->id,\n    ]);\n\n    $newEstimate['items'] = [];\n    $newEstimate['taxes'] = [];\n\n    array_push($newEstimate['items'], $item);\n    array_push($newEstimate['taxes'], Tax::factory()->raw());\n\n    $request = new EstimatesRequest();\n\n    $request->replace($newEstimate);\n\n    $estimate_number = explode(\"-\", $newEstimate['estimate_number']);\n\n    $number_attributes['estimate_number'] = $estimate_number[0].'-'.sprintf('%06d', intval($estimate_number[1]));\n\n    $estimate->updateEstimate($request);\n\n    $this->assertDatabaseHas('estimate_items', [\n        'estimate_id' => $estimate->id,\n        'name' => $item['name'],\n        'description' => $item['description'],\n        'price' => $item['price'],\n        'total' => $item['total'],\n        'quantity' => $item['quantity'],\n    ]);\n\n    $this->assertDatabaseHas('estimates', [\n        'estimate_number' => $newEstimate['estimate_number'],\n        'customer_id' => $newEstimate['customer_id'],\n        'template_name' => $newEstimate['template_name'],\n        'sub_total' => $newEstimate['sub_total'],\n        'total' => $newEstimate['total'],\n        'discount' => $newEstimate['discount'],\n        'discount_type' => $newEstimate['discount_type'],\n        'discount_val' => $newEstimate['discount_val'],\n        'tax' => $newEstimate['tax'],\n        'notes' => $newEstimate['notes'],\n    ]);\n});\n\ntest('create items', function () {\n    $estimate = Estimate::factory()->create();\n\n    $items = [];\n\n    $item = EstimateItem::factory()->raw([\n        'invoice_id' => $estimate->id,\n    ]);\n\n    array_push($items, $item);\n\n    $request = new Request();\n\n    $request->replace(['items' => $items ]);\n\n    Estimate::createItems($estimate, $request, $estimate->exchange_rate);\n\n    $this->assertDatabaseHas('estimate_items', [\n        'estimate_id' => $estimate->id,\n        'description' => $item['description'],\n        'price' => $item['price'],\n        'tax' => $item['tax'],\n        'quantity' => $item['quantity'],\n        'total' => $item['total'],\n    ]);\n\n    $this->assertCount(1, $estimate->items);\n});\n\ntest('create taxes', function () {\n    $estimate = Estimate::factory()->create();\n    $taxes = [];\n\n    $tax1 = Tax::factory()->raw([\n        'estimate_id' => $estimate->id,\n    ]);\n\n    $tax2 = Tax::factory()->raw([\n        'estimate_id' => $estimate->id,\n    ]);\n\n    array_push($taxes, $tax1);\n    array_push($taxes, $tax2);\n\n    $request = new Request();\n\n    $request->replace(['taxes' => $taxes ]);\n\n    Estimate::createTaxes($estimate, $request, $estimate->exchange_rate);\n\n    $this->assertCount(2, $estimate->taxes);\n\n    $this->assertDatabaseHas('taxes', [\n        'estimate_id' => $estimate->id,\n        'name' => $tax1['name'],\n        'amount' => $tax1['amount'],\n    ]);\n});\n"
  },
  {
    "path": "tests/Unit/ExchangeRateLogTest.php",
    "content": "<?php\n\nuse Crater\\Models\\ExchangeRateLog;\nuse Crater\\Models\\Expense;\n\nbeforeEach(function () {\n    Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);\n    Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);\n});\n\ntest('an exchange rate log belongs to company', function () {\n    $exchangeRateLog = ExchangeRateLog::factory()->forCompany()->create();\n\n    $this->assertTrue($exchangeRateLog->company->exists());\n});\n\ntest('add exchange rate log', function () {\n    $expense = Expense::factory()->create();\n    $response = ExchangeRateLog::addExchangeRateLog($expense);\n\n    $this->assertDatabaseHas('exchange_Rate_logs', [\n        'exchange_rate' => $response->exchange_rate,\n        'base_currency_id' => $response->base_currency_id,\n        'currency_id' => $response->currency_id,\n    ]);\n});\n"
  },
  {
    "path": "tests/Unit/ExpenseCategoryTest.php",
    "content": "<?php\n\nuse Crater\\Models\\ExpenseCategory;\nuse Illuminate\\Support\\Facades\\Artisan;\n\nbeforeEach(function () {\n    Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);\n    Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);\n});\n\ntest('expense category has many expenses', function () {\n    $category = ExpenseCategory::factory()->hasExpenses(5)->create();\n\n    $this->assertCount(5, $category->expenses);\n    $this->assertTrue($category->expenses()->exists());\n});\n"
  },
  {
    "path": "tests/Unit/ExpenseTest.php",
    "content": "<?php\n\nuse Crater\\Models\\Expense;\nuse Illuminate\\Support\\Facades\\Artisan;\n\nbeforeEach(function () {\n    Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);\n    Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);\n});\n\ntest('expense belongs to category', function () {\n    $expense = Expense::factory()->forCategory()->create();\n\n    $this->assertTrue($expense->category()->exists());\n});\n\ntest('expense belongs to customer', function () {\n    $expense = Expense::factory()->forCustomer()->create();\n\n    $this->assertTrue($expense->customer()->exists());\n});\n\ntest('expense belongs to company', function () {\n    $expense = Expense::factory()->forCompany()->create();\n\n    $this->assertTrue($expense->company()->exists());\n});\n"
  },
  {
    "path": "tests/Unit/InvoiceItemTest.php",
    "content": "<?php\n\nuse Crater\\Models\\Invoice;\nuse Crater\\Models\\InvoiceItem;\nuse Crater\\Models\\Item;\nuse Illuminate\\Support\\Facades\\Artisan;\n\nbeforeEach(function () {\n    Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);\n    Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);\n});\n\ntest('invoice item belongs to invoice', function () {\n    $invoiceItem = InvoiceItem::factory()->forInvoice()->create();\n\n    $this->assertTrue($invoiceItem->invoice()->exists());\n});\n\ntest('invoice item belongs to item', function () {\n    $invoiceItem = InvoiceItem::factory()->create([\n        'item_id' => Item::factory(),\n        'invoice_id' => Invoice::factory(),\n    ]);\n\n    $this->assertTrue($invoiceItem->item()->exists());\n});\n\n\ntest('invoice item has many taxes', function () {\n    $invoiceItem = InvoiceItem::factory()->hasTaxes(5)->create([\n        'invoice_id' => Invoice::factory(),\n    ]);\n\n    $this->assertCount(5, $invoiceItem->taxes);\n\n    $this->assertTrue($invoiceItem->taxes()->exists());\n});\n"
  },
  {
    "path": "tests/Unit/InvoiceTest.php",
    "content": "<?php\n\nuse Crater\\Http\\Requests\\InvoicesRequest;\nuse Crater\\Models\\Invoice;\nuse Crater\\Models\\InvoiceItem;\nuse Crater\\Models\\Tax;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\Artisan;\n\nbeforeEach(function () {\n    Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);\n    Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);\n});\n\ntest('invoice has many invoice items', function () {\n    $invoice = Invoice::factory()->hasItems(5)->create();\n\n    $this->assertCount(5, $invoice->items);\n\n    $this->assertTrue($invoice->items()->exists());\n});\n\ntest('invoice has many taxes', function () {\n    $invoice = Invoice::factory()->hasTaxes(5)->create();\n\n    $this->assertCount(5, $invoice->taxes);\n\n    $this->assertTrue($invoice->taxes()->exists());\n});\n\ntest('invoice has many payments', function () {\n    $invoice = Invoice::factory()->hasPayments(5)->create();\n\n    $this->assertCount(5, $invoice->payments);\n\n    $this->assertTrue($invoice->payments()->exists());\n});\n\ntest('invoice belongs to customer', function () {\n    $invoice = Invoice::factory()->forCustomer()->create();\n\n    $this->assertTrue($invoice->customer()->exists());\n});\n\ntest('get previous status', function () {\n    $invoice = Invoice::factory()->create();\n\n    $status = $invoice->getPreviousStatus();\n\n    $this->assertEquals('DRAFT', $status);\n});\n\n\ntest('create invoice', function () {\n    $invoice = Invoice::factory()->raw();\n\n    $item = InvoiceItem::factory()->raw();\n\n    $invoice['items'] = [];\n    array_push($invoice['items'], $item);\n\n    $invoice['taxes'] = [];\n    array_push($invoice['taxes'], Tax::factory()->raw());\n\n    $request = new InvoicesRequest();\n\n    $request->replace($invoice);\n\n    $invoice_number = explode(\"-\", $invoice['invoice_number']);\n    $number_attributes['invoice_number'] = $invoice_number[0].'-'.sprintf('%06d', intval($invoice_number[1]));\n\n    $response = Invoice::createInvoice($request);\n\n    $this->assertDatabaseHas('invoice_items', [\n        'invoice_id' => $response->id,\n        'name' => $item['name'],\n        'description' => $item['description'],\n        'total' => $item['total'],\n        'quantity' => $item['quantity'],\n        'discount' => $item['discount'],\n        'price' => $item['price'],\n    ]);\n\n    $this->assertDatabaseHas('invoices', [\n        'invoice_number' => $invoice['invoice_number'],\n        'sub_total' => $invoice['sub_total'],\n        'total' => $invoice['total'],\n        'tax' => $invoice['tax'],\n        'discount' => $invoice['discount'],\n        'notes' => $invoice['notes'],\n        'customer_id' => $invoice['customer_id'],\n        'template_name' => $invoice['template_name'],\n    ]);\n});\n\ntest('update invoice', function () {\n    $invoice = Invoice::factory()->create();\n\n    $newInvoice = Invoice::factory()->raw();\n\n    $item = InvoiceItem::factory()->raw([\n        'invoice_id' => $invoice->id,\n    ]);\n\n    $tax = Tax::factory()->raw([\n        'invoice_id' => $invoice->id,\n    ]);\n\n    $newInvoice['items'] = [];\n    $newInvoice['taxes'] = [];\n\n    array_push($newInvoice['items'], $item);\n    array_push($newInvoice['taxes'], $tax);\n\n    $request = new InvoicesRequest();\n\n    $request->replace($newInvoice);\n\n    $invoice_number = explode(\"-\", $newInvoice['invoice_number']);\n\n    $number_attributes['invoice_number'] = $invoice_number[0].'-'.sprintf('%06d', intval($invoice_number[1]));\n\n    $response = $invoice->updateInvoice($request);\n\n    $this->assertDatabaseHas('invoice_items', [\n        'invoice_id' => $response->id,\n        'name' => $item['name'],\n        'description' => $item['description'],\n        'total' => $item['total'],\n        'quantity' => $item['quantity'],\n        'discount' => $item['discount'],\n        'price' => $item['price'],\n    ]);\n\n    $this->assertDatabaseHas('invoices', [\n        'invoice_number' => $newInvoice['invoice_number'],\n        'sub_total' => $newInvoice['sub_total'],\n        'total' => $newInvoice['total'],\n        'tax' => $newInvoice['tax'],\n        'discount' => $newInvoice['discount'],\n        'notes' => $newInvoice['notes'],\n        'customer_id' => $newInvoice['customer_id'],\n        'template_name' => $newInvoice['template_name'],\n    ]);\n});\n\ntest('create items', function () {\n    $invoice = Invoice::factory()->create();\n\n    $items = [];\n\n    $item = InvoiceItem::factory()->raw([\n        'invoice_id' => $invoice->id,\n    ]);\n\n    array_push($items, $item);\n\n    $request = new InvoicesRequest();\n\n    $request->replace(['items' => $items ]);\n\n    Invoice::createItems($invoice, $request->items);\n\n    $this->assertDatabaseHas('invoice_items', [\n        'invoice_id' => $invoice->id,\n        'description' => $item['description'],\n        'price' => $item['price'],\n        'tax' => $item['tax'],\n        'quantity' => $item['quantity'],\n        'total' => $item['total'],\n    ]);\n});\n\ntest('create taxes', function () {\n    $invoice = Invoice::factory()->create();\n\n    $taxes = [];\n\n    $tax = Tax::factory()->raw([\n        'invoice_id' => $invoice->id,\n    ]);\n\n    array_push($taxes, $tax);\n\n    $request = new Request();\n\n    $request->replace(['taxes' => $taxes ]);\n\n    Invoice::createTaxes($invoice, $request->taxes);\n\n    $this->assertDatabaseHas('taxes', [\n        'invoice_id' => $invoice->id,\n        'name' => $tax['name'],\n        'amount' => $tax['amount'],\n    ]);\n});\n"
  },
  {
    "path": "tests/Unit/ItemTest.php",
    "content": "<?php\n\nuse Crater\\Models\\Estimate;\nuse Crater\\Models\\EstimateItem;\nuse Crater\\Models\\Invoice;\nuse Crater\\Models\\InvoiceItem;\nuse Crater\\Models\\Item;\nuse Illuminate\\Support\\Facades\\Artisan;\n\nbeforeEach(function () {\n    Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);\n    Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);\n});\n\ntest('an item belongs to unit', function () {\n    $item = Item::factory()->forUnit()->create();\n\n    $this->assertTrue($item->unit()->exists());\n});\n\ntest('an item has many taxes', function () {\n    $item = Item::factory()->hasTaxes(5)->create();\n\n    $this->assertCount(5, $item->taxes);\n    $this->assertTrue($item->taxes()->exists());\n});\n\ntest('an item has many invoice items', function () {\n    $item = Item::factory()->has(InvoiceItem::factory()->count(5)->state([\n        'invoice_id' => Invoice::factory(),\n    ]))->create();\n\n    $this->assertCount(5, $item->invoiceItems);\n\n    $this->assertTrue($item->invoiceItems()->exists());\n});\n\ntest('an item has many estimate items', function () {\n    $item = Item::factory()->has(EstimateItem::factory()\n        ->count(5)\n        ->state([\n            'estimate_id' => Estimate::factory(),\n        ]))\n        ->create();\n\n    $this->assertCount(5, $item->estimateItems);\n\n    $this->assertTrue($item->estimateItems()->exists());\n});\n"
  },
  {
    "path": "tests/Unit/PaymentMethodTest.php",
    "content": "<?php\n\nuse Crater\\Models\\PaymentMethod;\nuse Illuminate\\Support\\Facades\\Artisan;\n\nbeforeEach(function () {\n    Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);\n    Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);\n});\n\ntest('payment method has many payment', function () {\n    $method = PaymentMethod::factory()->hasPayments(5)->create();\n\n    $this->assertCount(5, $method->payments);\n\n    $this->assertTrue($method->payments()->exists());\n});\n\ntest('payment method belongs to company', function () {\n    $method = PaymentMethod::factory()->create();\n\n    $this->assertTrue($method->company()->exists());\n});\n"
  },
  {
    "path": "tests/Unit/PaymentTest.php",
    "content": "<?php\n\nuse Crater\\Models\\Payment;\nuse Illuminate\\Support\\Facades\\Artisan;\n\nbeforeEach(function () {\n    Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);\n    Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);\n});\n\ntest('payment belongs to invoice', function () {\n    $payment = Payment::factory()->forInvoice()->create();\n\n    $this->assertTrue($payment->invoice()->exists());\n});\n\ntest('payment belongs to customer', function () {\n    $payment = Payment::factory()->forCustomer()->create();\n\n    $this->assertTrue($payment->customer()->exists());\n});\n\ntest('payment belongs to payment method', function () {\n    $payment = Payment::factory()->forPaymentMethod()->create();\n\n    $this->assertTrue($payment->paymentMethod()->exists());\n});\n"
  },
  {
    "path": "tests/Unit/RecurringInvoiceTest.php",
    "content": "<?php\n\nuse Crater\\Models\\RecurringInvoice;\nuse Illuminate\\Support\\Facades\\Artisan;\n\nbeforeEach(function () {\n    Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);\n    Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);\n});\n\ntest('recurring invoice has many invoices', function () {\n    $recurringInvoice = RecurringInvoice::factory()->hasInvoices(5)->create();\n\n    $this->assertCount(5, $recurringInvoice->invoices);\n\n    $this->assertTrue($recurringInvoice->invoices()->exists());\n});\n\ntest('recurring invoice has many invoice items', function () {\n    $recurringInvoice = RecurringInvoice::factory()->hasItems(5)->create();\n\n    $this->assertCount(5, $recurringInvoice->items);\n\n    $this->assertTrue($recurringInvoice->items()->exists());\n});\n\ntest('recurring invoice has many taxes', function () {\n    $recurringInvoice = RecurringInvoice::factory()->hasTaxes(5)->create();\n\n    $this->assertCount(5, $recurringInvoice->taxes);\n\n    $this->assertTrue($recurringInvoice->taxes()->exists());\n});\n\ntest('recurring invoice belongs to customer', function () {\n    $recurringInvoice = RecurringInvoice::factory()->forCustomer()->create();\n\n    $this->assertTrue($recurringInvoice->customer()->exists());\n});\n"
  },
  {
    "path": "tests/Unit/SettingTest.php",
    "content": "<?php\n\nuse Crater\\Models\\Setting;\nuse Illuminate\\Support\\Facades\\Artisan;\nuse function Pest\\Faker\\faker;\n\nbeforeEach(function () {\n    Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);\n    Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);\n});\n\ntest('set setting', function () {\n    $key = faker()->name;\n\n    $value = faker()->word;\n\n    Setting::setSetting($key, $value);\n\n    $response = Setting::getSetting($key);\n\n    $this->assertEquals($value, $response);\n});\n"
  },
  {
    "path": "tests/Unit/TaxTest.php",
    "content": "<?php\n\nuse Crater\\Models\\Estimate;\nuse Crater\\Models\\EstimateItem;\nuse Crater\\Models\\Invoice;\nuse Crater\\Models\\InvoiceItem;\nuse Crater\\Models\\Tax;\nuse Illuminate\\Support\\Facades\\Artisan;\n\nbeforeEach(function () {\n    Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);\n    Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);\n});\n\ntest('tax belongs to tax type', function () {\n    $tax = Tax::factory()->create();\n\n    $this->assertTrue($tax->taxType->exists());\n});\n\ntest('tax belongs to invoice', function () {\n    $tax = Tax::factory()->forInvoice()->create();\n\n    $this->assertTrue($tax->invoice()->exists());\n});\n\ntest('tax belongs to recurring invoice', function () {\n    $tax = Tax::factory()->forRecurringInvoice()->create();\n\n    $this->assertTrue($tax->recurringInvoice()->exists());\n});\n\ntest('tax belongs to estimate', function () {\n    $tax = Tax::factory()->forEstimate()->create();\n\n    $this->assertTrue($tax->estimate()->exists());\n});\n\ntest('tax belongs to invoice item', function () {\n    $tax = Tax::factory()->for(InvoiceItem::factory()->state([\n        'invoice_id' => Invoice::factory(),\n    ]))->create();\n\n    $this->assertTrue($tax->invoiceItem()->exists());\n});\n\ntest('tax belongs to estimate item', function () {\n    $tax = Tax::factory()->for(EstimateItem::factory()->state([\n        'estimate_id' => Estimate::factory(),\n    ]))->create();\n\n    $this->assertTrue($tax->estimateItem()->exists());\n});\n\ntest('tax belongs to item', function () {\n    $tax = Tax::factory()->forItem()->create();\n\n    $this->assertTrue($tax->item()->exists());\n});\n"
  },
  {
    "path": "tests/Unit/TaxTypeTest.php",
    "content": "<?php\n\nuse Crater\\Models\\TaxType;\nuse Illuminate\\Support\\Facades\\Artisan;\n\nbeforeEach(function () {\n    Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);\n    Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);\n});\n\ntest('tax type has many taxes', function () {\n    $taxtype = TaxType::factory()->hasTaxes(4)->create();\n\n    $this->assertCount(4, $taxtype->taxes);\n    $this->assertTrue($taxtype->taxes()->exists());\n});\n"
  },
  {
    "path": "tests/Unit/UnitTest.php",
    "content": "<?php\n\nuse Crater\\Models\\Unit;\nuse Crater\\Models\\User;\nuse Illuminate\\Support\\Facades\\Artisan;\nuse Laravel\\Sanctum\\Sanctum;\n\nbeforeEach(function () {\n    Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);\n    Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);\n\n    $user = User::where('role', 'super admin')->first();\n    $this->withHeaders([\n        'company' => $user->companies()->first()->id,\n    ]);\n    Sanctum::actingAs(\n        $user,\n        ['*']\n    );\n});\n\ntest('unit has many items', function () {\n    $unit = Unit::factory()->hasItems(5)->create();\n\n    $this->assertTrue($unit->items()->exists());\n});\n\ntest('unit belongs to company', function () {\n    $unit = Unit::factory()->create();\n\n    $this->assertTrue($unit->company()->exists());\n});\n"
  },
  {
    "path": "tests/Unit/UserTest.php",
    "content": "<?php\n\nuse Crater\\Models\\User;\nuse Illuminate\\Support\\Facades\\Artisan;\n\nbeforeEach(function () {\n    Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);\n    Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);\n});\n\ntest('user belongs to currency', function () {\n    $user = User::factory()->create();\n\n    $this->assertTrue($user->currency()->exists());\n});\n\ntest('user belongs to many companies', function () {\n    $user = User::factory()->hasCompanies(5)->create();\n\n    $this->assertInstanceOf('Illuminate\\Database\\Eloquent\\Collection', $user->companies);\n});\n"
  },
  {
    "path": "tsconfig.json",
    "content": "{\n    \"compilerOptions\": {\n        \"target\": \"esnext\",\n        \"module\": \"esnext\",\n        \"moduleResolution\": \"node\",\n        \"strict\": true,\n        \"jsx\": \"preserve\",\n        \"sourceMap\": true,\n        \"resolveJsonModule\": true,\n        \"esModuleInterop\": true,\n        \"lib\": [\n            \"esnext\",\n            \"dom\"\n        ],\n        \"types\": [\n            \"vite/client\"\n        ],\n        \"baseUrl\": \".\",\n        \"paths\": {\n            \"@/*\": [\n                \"resources/*\"\n            ]\n        }\n    },\n    \"include\": [\n        \"resources/**/*\"\n    ]\n}"
  },
  {
    "path": "uffizzi/Dockerfile",
    "content": "FROM php:8.1-fpm\n\n# Install system dependencies\nRUN apt-get update && apt-get install -y \\\n    git \\\n    curl \\\n    libpng-dev \\\n    libonig-dev \\\n    libxml2-dev \\\n    zip \\\n    unzip \\\n    libzip-dev \\\n    libmagickwand-dev \\\n    mariadb-client \\\n    npm\n\n# Clear cache\nRUN apt-get clean && rm -rf /var/lib/apt/lists/*\n\nRUN pecl install imagick \\\n    && docker-php-ext-enable imagick\n\n# Install PHP extensions\nRUN docker-php-ext-install pdo_mysql mbstring zip exif pcntl bcmath gd\n\n# Get latest Composer\nCOPY --from=composer:latest /usr/bin/composer /usr/bin/composer\n\n# Create system user to run Composer and Artisan Commands\nRUN useradd -G www-data,root -u 1000 -d /home/crater-user crater-user\nRUN mkdir -p /home/crater-user/.composer && \\\n    chown -R crater-user:crater-user /home/crater-user\n\n# Mounted volumes\nCOPY ./ /var/www\nCOPY ./docker-compose/php/uploads.ini /usr/local/etc/php/conf.d/uploads.ini\nCOPY ./uffizzi/.env.example /var/www/.env\n\n# Set working directory\nWORKDIR /var/www\n\nRUN chown -R crater-user:crater-user ./\nRUN chmod -R 775 composer.json composer.lock \\ \n        composer.lock storage/framework/ \\\n        storage/logs/ bootstrap/cache/ /home/crater-user/.composer\nRUN chown -R $(whoami):$(whoami) /var/log/\nRUN chmod -R 775 /var/log\n\n# Cleanup manually generated build files\nRUN rm -rf /var/www/public/build\nRUN npm config set user 0\nRUN npm config set unsafe-perm true\n# Frontend bulding\nRUN sed -i 's/DB_CONNECTION=mysql/DB_CONNECTION=sqlite/g' /var/www/.env\nRUN sed -i 's/DB_DATABASE=crater/DB_DATABASE=\\/tmp\\/crater.sqlite/g' /var/www/.env\nRUN touch /tmp/crater.sqlite\nRUN composer install --no-interaction --prefer-dist\nRUN npm i -f\nRUN npm install --save-dev sass\nRUN export NODE_OPTIONS=\"--max-old-space-size=4096\" && /usr/bin/npx vite build --target=es2020\nRUN sed -i 's/DB_CONNECTION=sqlite/DB_CONNECTION=mysql/g' /var/www/.env\nRUN sed -i 's/DB_DATABASE=\\/tmp\\/crater.sqlite/DB_DATABASE=crater/g' /var/www/.env\n\nUSER crater-user\n"
  },
  {
    "path": "uffizzi/crond/Dockerfile",
    "content": "FROM php:8.1-fpm as build\n\n# Install system dependencies\nRUN apt-get update && apt-get install -y \\\n    git \\\n    curl \\\n    libpng-dev \\\n    libonig-dev \\\n    libxml2-dev \\\n    zip \\\n    unzip \\\n    libzip-dev \\\n    libmagickwand-dev \\\n    mariadb-client\n\n# Clear cache\nRUN apt-get clean && rm -rf /var/lib/apt/lists/*\n\nRUN pecl install imagick \\\n    && docker-php-ext-enable imagick\n\n# Install PHP extensions\nRUN docker-php-ext-install pdo_mysql mbstring zip exif pcntl bcmath gd\n\n# Get latest Composer\nCOPY --from=composer:latest /usr/bin/composer /usr/bin/composer\n\n# Create system user to run Composer and Artisan Commands\nRUN useradd -G www-data,root -u 1000 -d /home/crater-user crater-user\nRUN mkdir -p /home/crater-user/.composer && \\\n    chown -R crater-user:crater-user /home/crater-user\n\n# Mounted volumes\nCOPY ./ /var/www\nCOPY ./docker-compose/php/uploads.ini /usr/local/etc/php/conf.d/uploads.ini\nCOPY ./uffizzi/.env.example /var/www/.env\n\n# Set working directory\nWORKDIR /var/www\n\nRUN chown -R crater-user:crater-user ./\nRUN chmod -R 775 composer.json composer.lock \\ \n        composer.lock storage/framework/ \\\n        storage/logs/ bootstrap/cache/ /home/crater-user/.composer\n\nRUN composer config --no-plugins allow-plugins.pestphp/pest-plugin true && \\\n    composer install --no-interaction --prefer-dist --optimize-autoloader && \\\n    php artisan storage:link || true && \\\n    php artisan key:generate\n\nFROM php:8.0-fpm-alpine\n\nRUN apk add --no-cache \\\n    php8-bcmath\n\nRUN docker-php-ext-install pdo pdo_mysql bcmath\n\nCOPY docker-compose/crontab /etc/crontabs/root\n\n# Mounted volumes\nCOPY --from=build /var/www /var/www\n\nRUN chown -R $(whoami):$(whoami) /var/www/\nRUN chmod -R 775 /var/www/\nRUN chown -R $(whoami):$(whoami) /var/log/\nRUN chmod -R 775 /var/log/\n\nCMD [\"crond\", \"-f\"]\n"
  },
  {
    "path": "uffizzi/docker-compose.uffizzi.yml",
    "content": "version: '3'\n\nx-uffizzi:\n  ingress:\n    service: nginx\n    port: 80\n\nservices:\n  app:\n    image: \"${APP_IMAGE}\"\n    restart: unless-stopped\n    working_dir: /var/www/\n    command: [\"-c\",\"\n            composer config --no-plugins allow-plugins.pestphp/pest-plugin true && \n            composer install --no-interaction --prefer-dist --optimize-autoloader && \n            php artisan storage:link || true && \n            php artisan key:generate --force && \n            php-fpm\",\n            ]\n    entrypoint: /bin/sh\n    depends_on:\n      - db\n    deploy:\n      resources:\n        limits:\n          memory: 1000m\n\n  db:\n    image: mariadb\n    restart: always\n    environment:\n      MYSQL_USER: crater\n      MYSQL_PASSWORD: crater\n      MYSQL_DATABASE: crater\n      MYSQL_ROOT_PASSWORD: crater\n    ports:\n      - '33006:3306'\n    deploy:\n      resources:\n        limits:\n          memory: 500m\n\n  nginx:\n    image: \"${NGINX_IMAGE}\"\n    restart: unless-stopped\n    ports:\n      - 80:80\n    depends_on:\n      - app\n    resources:\n      limits:\n        memory: 500m\n\n  cron:\n    image: \"${CROND_IMAGE}\"\n    restart: always\n    \n\n"
  },
  {
    "path": "uffizzi/nginx/Dockerfile",
    "content": "ARG BASE_IMAGE\n\nFROM $BASE_IMAGE as build\nFROM nginx:1.17-alpine\n\nRUN rm /etc/nginx/conf.d/default.conf\n\nCOPY --from=build /var/www /var/www\nCOPY ./uffizzi/nginx/nginx /etc/nginx/conf.d/\n"
  },
  {
    "path": "uffizzi/nginx/nginx/nginx.conf",
    "content": "server {\n    client_max_body_size 64M;\n    listen 80;\n    index index.php index.html;\n    error_log  /var/log/nginx/error.log;\n    access_log /var/log/nginx/access.log;\n    root /var/www/public;\n    location ~ \\.php$ {\n        try_files $uri =404;\n        fastcgi_split_path_info ^(.+\\.php)(/.+)$;\n        fastcgi_pass localhost:9000;\n        fastcgi_index index.php;\n        include fastcgi_params;\n        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;\n        fastcgi_param PATH_INFO $fastcgi_path_info;\n        fastcgi_read_timeout 300;\n    }\n    location / {\n        try_files $uri $uri/ /index.php?$query_string;\n        gzip_static on;\n    }\n}\n"
  },
  {
    "path": "vite.config.ts",
    "content": "import { defineConfig } from 'laravel-vite'\nimport vue from '@vitejs/plugin-vue'\n\nexport default defineConfig({\n    server: {\n        watch: {\n            ignored: ['**/.env/**'],\n        },\n    },\n    resolve: {\n        alias: {\n            \"vue-i18n\": \"vue-i18n/dist/vue-i18n.cjs.js\"\n        }\n    }\n}).withPlugins(\n    vue\n)\n"
  }
]